{"version":3,"file":"static/js/main.f6980185.js","mappings":"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EAAAA,IAClBA,EAAAA,EAAKxgB,MAAM8O,KAAK0R,EAAAA,iECVvC,SACI,SAAU,SACV,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,UAAW,QACX,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,Q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,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,SAAU,KACV,SAAU,KACV,QAAS,KACT,aAAc,KACd,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,SAAU,KACV,QAAS,KACT,aAAc,KACd,QAAS,KACT,SAAU,KACV,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,SAAU,KACV,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,SAAU,KACV,SAAU,KACV,SAAU,KACV,QAAS,KACT,QAAS,KACT,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,QAAS,KACT,aAAc,KACd,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,QAAS,KACT,aAAc,KACd,aAAc,KACd,cAAe,KACf,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,QAAS,KACT,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,SAAU,KACV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ACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,mBACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,sCACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,mBACT,QAAS,8BACT,QAAS,8BACT,QAAS,sCACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACT,QAAS,8BACTyomB,GAAI,mBACJC,GAAI,mBACJ,SAAU,eACV,QAAS,sCACT,QAAS,eACT,QAAS,eACT,QAAS,eACT,QAAS,eACT,QAAS,eACT,QAAS,eACT,QAAS,eACT,QAAS,8BACT,QAAS,mBACT,QAAS,eACT,QAAS,mBACT,QAAS,eACT,QAAS,eACT,QAAS,mBACT,QAAS,eACT,QAAS,eACT,QAAS,eACT,QAAS,eACT,QAAS,mBACT,QAAS,eACT,QAAS,eACT,QAAS,eACT,QAAS,eACT,QAAS,sCACT,QAAS,eACThokB,GAAI,sCACJiokB,GAAI,sCACJC,IAAK,mBACLC,GAAI,kDACJ,QAAS,4CACTC,GAAI,mBACJ,UAAW,mBACX,aAAc,mBACd,aAAc,mBACd,aAAc,mBACd,aAAc,mBACd,aAAc,mBACd,aAAc,mBACd,aAAc,mBACd,aAAc,mBACd,aAAc,mBACd,aAAc,mBACd,aAAc,mBACd,UAAW,mBACX,aAAc,mBACd,aAAc,mBACd,aAAc,mBACd,aAAc,mBACd,aAAc,mBACd,aAAc,mBACd,a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AYhzsC,EAAOquD,GACxBonN,EAAK697B,YAAYtzsC,EAAOquD,GAC5B,EACAonN,EAAK+77B,aAAarB,GAAO/zgC,MAAQ,SAASp8L,GACtC,IAAIillC,EAAU5ijC,GAAariC,GACvBquD,EAAO2f,EAAQhuE,GACfillC,IAAYxv0B,EAAKm+7B,kBAGrBn+7B,EAAKs87B,UAAU/xsC,EAAOquD,GACtBonN,EAAKo97B,UAAU7ysC,EAAOquD,GACtBonN,EAAKy97B,WAAWlzsC,EAAOquD,GACvBonN,EAAKu9Y,WAAWhzpB,EAAOquD,GAC3B,EACAonN,EAAK+77B,aAAarB,GAAO5ztC,KAAO,SAASyjB,GACrC,IAAIillC,EAAU5ijC,GAAariC,GACvBquD,EAAO2f,EAAQhuE,GACfillC,IAAYxv0B,EAAKm+7B,kBAGrBn+7B,EAAKm87B,UAAU5xsC,EAAOquD,GACtBonN,EAAKu87B,SAAShysC,EAAOquD,GACrBonN,EAAKq97B,SAAS9ysC,EAAOquD,GACzB,EACAonN,EAAKg87B,cAActB,GAAOh4mB,OAAS,SAASn4lB,GAExC,GADAy1Q,EAAK+97B,eACA/97B,EAAKo+7B,gBAAV,CAGA,IAAIxlpC,EAAO2f,EAAQhuE,GACfquD,IACAruD,EAAMwhC,iBACNxhC,EAAM6iC,kBACN4yO,EAAKw87B,WAAWjysC,EAAOquD,GAL3B,CAOJ,EACAonN,EAAKy87B,WAAa,CACdvnsC,IAAK,EAOb,EACAsmsC,0BAA2B,SAASpj4B,GAChC,IAAIp4D,EAAO9nS,KAMX,SAASmvG,IACL24L,EAAK+97B,cACT,CAPA3l4B,EAAW/nG,GAAG,CACVx9M,OAAQw0D,EACRj0F,KAAMi0F,GAMd,EACAtpE,MAAO,WACH7lC,KAAKgkuC,YAAc,KACnBhkuC,KAAKqkuC,WACLrkuC,KAAKwluC,eACLxluC,KAAK6luC,cACT,EACA7/qB,WAAY,SAAS95iB,GACjBlM,KAAK6lC,QACL7lC,KAAK4juC,kBACL5juC,KAAKimuC,mBAAoB78E,EAAAA,EAAAA,IAAYl9oC,EAAQw0V,cAAc,GAC3D1gW,KAAKkmuC,mB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EACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,kEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,sEAIN0hxC,IAAK,CACHX,IAAK,EACL/gxC,OAAQ,CACN,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,iEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE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EAAG31N,KAAM,8BAClB,CAAE21N,MAAO,EAAG31N,KAAM,yBAClB,CAAE21N,MAAO,EAAG31N,KAAM,sCAClB,CACE21N,MAAO,EACP31N,KAAM,gCAER,CAAE21N,MAAO,EAAG31N,KAAM,+BAClB,CAAE21N,MAAO,EAAG31N,KAAM,YAClB,CAAE21N,MAAO,EAAG31N,KAAM,gBAClB,CAAE21N,MAAO,EAAG31N,KAAM,mBAClB,CAAE21N,MAAO,EAAG31N,KAAM,qBAClB,CAAE21N,MAAO,GAAI31N,KAAM,gCACnB,CACE21N,MAAO,GACP31N,KAAM,iGAER,CAAE21N,MAAO,GAAI31N,KAAM,sBACnB,CAAE21N,MAAO,GAAI31N,KAAM,4CACnB,CAAE21N,MAAO,GAAI31N,KAAM,2BACnB,CACE21N,MAAO,GACP31N,KAAM,iFAER,CAAE21N,MAAO,GAAI31N,KAAM,oCAGf6s1C,GAAc,CAClB,CAAEl3nC,MAAO,EAAG31N,KAAM,8BAClB,CAAE21N,MAAO,EAAG31N,KAAM,yBAClB,CAAE21N,MAAO,EAAG31N,KAAM,sCAClB,CACE21N,MAAO,EACP31N,KAAM,gCAER,CAAE21N,MAAO,EAAG31N,KAAM,+BAClB,CAAE21N,MAAO,EAAG31N,KAAM,YAClB,CAAE21N,MAAO,EAAG31N,KAAM,gBAClB,CAAE21N,MAAO,EAAG31N,KAAM,mBAClB,CAAE21N,MAAO,EAAG31N,KAAM,qBAClB,CAAE21N,MAAO,GAAI31N,KAAM,gCACnB,CACE21N,MAAO,GACP31N,KAAM,iGAER,CAAE21N,MAAO,GAAI31N,KAAM,sBACnB,CAAE21N,MAAO,GAAI31N,KAAM,4CACnB,CAAE21N,MAAO,GAAI31N,KAAM,2BACnB,CACE21N,MAAO,GACP31N,KAAM,iFAER,CAAE21N,MAAO,GAAI31N,KAAM,mCACnB,CAAE21N,MAAO,GAAI31N,KAAM,8CACnB,CACE21N,MAAO,GACP31N,KAAM,yDAER,CAAE21N,MAAO,GAAI31N,KAAM,0BACnB,CAAE21N,MAAO,GAAI31N,KAAM,mBACnB,CAAE21N,MAAO,GAAI31N,KAAM,gCAGf8s1C,GAAW,CACf,CAAEn3nC,MAAO,EAAG31N,KAAM,gCAClB,CACE21N,MAAO,EACP31N,KAAM,sDAER,CAAE21N,MAAO,EAAG31N,KAAM,6BAClB,CACE21N,MAAO,EACP31N,KAAM,2DAER,CAAE21N,MAAO,EAAG31N,KAAM,uBAClB,CAAE21N,MAAO,EAAG31N,KAAM,iCAClB,CAAE21N,MAAO,EAAG31N,KAAM,8BAClB,CAAE21N,MAAO,EAAG31N,KAAM,2BAClB,CAAE21N,MAAO,EAAG31N,KAAM,sBAClB,CAAE21N,MAAO,GAAI31N,KAAM,qBACnB,CAAE21N,MAAO,GAAI31N,KAAM,+BACnB,CAAE21N,MAAO,GAAI31N,KAAM,wBACnB,CACE21N,MAAO,GACP31N,KAAM,+BAER,CACE21N,MAAO,GACP31N,KAAM,8CAER,CACE21N,MAAO,GACP31N,KAAM,gDAER,CAAE21N,MAAO,GAAI31N,KAAM,qBACnB,CACE21N,MAAO,GACP31N,KAAM,8EAER,CAAE21N,MAAO,GAAI31N,KAAM,qBACnB,CAAE21N,MAAO,GAAI31N,KAAM,sBACnB,CAAE21N,MAAO,GAAI31N,KAAM,+BACnB,CAAE21N,MAAO,GAAI31N,KAAM,eACnB,CAAE21N,MAAO,GAAI31N,KAAM,eACnB,CACE21N,MAAO,GACP31N,KAAM,qCAER,CACE21N,MAAO,GACP31N,KAAM,yCAER,CAAE21N,MAAO,GAAI31N,KAAM,kBACnB,CAAE21N,MAAO,GAAI31N,KAAM,yBACnB,CAAE21N,MAAO,GAAI31N,KAAM,wBACnB,CAAE21N,MAAO,GAAI31N,KAAM,cACnB,CAAE21N,MAAO,GAAI31N,KAAM,aACnB,CAAE21N,MAAO,GAAI31N,KAAM,2BACnB,CAAE21N,MAAO,GAAI31N,KAAM,gCACnB,CAAE21N,MAAO,GAAI31N,KAAM,eACnB,CAAE21N,MAAO,GAAI31N,KAAM,sBACnB,CAAE21N,MAAO,GAAI31N,KAAM,wBC7Jd,SAAS+s1C,GAAkCx87C,GAChD,OAAOC,EAAAA,EAAAA,IAAqB,sBAAuBD,EACrD,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shC,GAAiBI,KAAKnthC,MACtB+shC,GAAiBK,YAAYpthC,MAkB7B+shC,GAAiBC,cAAchthC,MAC/B+shC,GAAiBE,eAAejthC,MAkBhC+shC,GAAiBI,KAAKnthC,MACtB+shC,GAAiBK,YAAYpthC,MAiB7B+shC,GAAiBC,cAAchthC,MAC/B+shC,GAAiBE,eAAejthC,MAiBhC+shC,GAAiBI,KAAKnthC,MACtB+shC,GAAiBK,YAAYpthC,MAkB7B+shC,GAAiBC,cAAchthC,MAC/B+shC,GAAiBE,eAAejthC,MAkBhC+shC,GAAiBI,KAAKnthC,MACtB+shC,GAAiBK,YAAYpthC,MAiB7B+shC,GAAiBC,cAAchthC,MAC/B+shC,GAAiBE,eAAejthC,MAiBhC+shC,GAAiBI,KAAKnthC,MACtB+shC,GAAiBK,YAAYpthC,MAmCjC+shC,GAAiBI,KAAKnthC,MACtB+shC,GAAiBK,YAAYpthC,MAkBxBhyV,OAAO00B,OAAO401C,IACPA,GAAoB9D,mBAAmBxzhC,MAQ9ChyV,OAAO00B,OljBvaC,CACjB8g8C,KAAM,CAAExjoC,MAAO,EAAG31N,KAAM,QACxBo51C,MAAO,CAAEzjoC,MAAO,EAAG31N,KAAM,gBkjB+arB0ivC,GAAiBI,KAAKnthC,MACtB+shC,GAAiBK,YAAYpthC,MCzbnC,MCKA,GAPmB,CACjBl1M,MAAO,8BACPqgyC,UAAW,uBACXx16C,KDDa,CAUb,CACEuC,KAAM,UACNuU,MAAO,UACPmjW,SAAU,OACVhO,UAAW,UACXj4R,QAAS,CAAC,QACV8h2C,UAAW,OAEb,CACEvz6C,KAAM,OACNuU,MAAO,OACPmjW,SAAU,SACVhO,UAAW,OACXj4R,QAAS,CAAC,QACVztC,OAAQg30C,IAEV,CACEh72C,KAAM,QACNuU,MAAO,aACPmjW,SAAU,SACVhO,UAAW,QACXj4R,QAAS,CAAC,QACVztC,OAAQg30C,IAEV,CACEh72C,KAAM,OACNuU,MAAO,OACPmjW,SAAU,SACVhO,UAAW,OACXj4R,QAAS,CAAC,QACVztC,OAAQg30C,IAEV,CACEh72C,KAAM,QACNuU,MAAO,QACPmjW,SAAU,SACVhO,UAAW,QACXj4R,QAAS,CAAC,QACVztC,OAAQg30C,IAEV,CACEh72C,KAAM,QACNuU,MAAO,aACPmjW,SAAU,SACVhO,UAAW,QACXj4R,QAAS,CAAC,QACVztC,OAAQg30C,IAEV,CACEh72C,KAAM,UACNuU,MAAO,UACPmjW,SAAU,SACVhO,UAAW,UACXj4R,QAAS,CAAC,QACVztC,OAAQg30C,IAEV,CACEh72C,KAAM,SACNuU,MAAO,SACPmjW,SAAU,SACVhO,UAAW,SACXj4R,QAAS,CAAC,QACVztC,OAAQg30C,IAEV,CACEh72C,KAAM,UACNuU,MAAO,eACPmjW,SAAU,SACVhO,UAAW,UACXj4R,QAAS,CAAC,QACVztC,OAAQg30C,IAEV,CACEh72C,KAAM,QACNuU,MAAO,WACPmjW,SAAU,SACVhO,UAAW,QACXj4R,QAAS,CAAC,QACVztC,OAAQg30C,IAEV,CACEh72C,KAAM,OACNuU,MAAO,OACPmjW,SAAU,SACVhO,UAAW,OACXj4R,QAAS,CAAC,QACVztC,OAAQg30C,IAEV,CACEh72C,KAAM,QACNuU,MAAO,QACPmjW,SAAU,SACVhO,UAAW,QACXj4R,QAAS,CAAC,QACVztC,OAAQg30C,IAEV,CACEh72C,KAAM,SACNuU,MAAO,cACPmjW,SAAU,SACVhO,UAAW,SACXj4R,QAAS,CAAC,QACVztC,OAAQg30C,IAEV,CACEh72C,KAAM,qBACNuU,MAAO,iCACPmjW,SAAU,SACVhO,UAAW,qBACXj4R,QAAS,CAAC,QACVztC,OAAQg30C,IAGV,CACEh72C,KAAM,MACNuU,MAAO,WACPmjW,SAAU,SACVhO,UAAW,MACXj4R,QAAS,CAAC,UACV9T,MAAO494C,KACPzh9C,aAAc+zuC,OAAQjtsC,SChIxB8y4C,UAAW,8BCDE,SAAS83C,GAAgBpq9C,GAAiB,IAAhB,UAAE6x6C,GAAW7x6C,EACpD,MAAMsv6C,GAAcj6F,EAAAA,EAAAA,UACd0pG,GAAY1pG,EAAAA,EAAAA,UAElB,OACEpxzC,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,EACE6S,EAAAA,EAAAA,KAAC696C,GAAU,CACTra,WAAYA,GACZ/y6C,IAAKyi7C,EACLzP,YAAaA,KAEfzj6C,EAAAA,EAAAA,KAAC+96C,GAAQ,CACPnL,OAAO,mBACPpP,WAAYA,GACZC,YAAaA,EACbyP,UAAWA,EACXlN,UAAWA,EACXgY,aAAa,EACb5K,kBAAkB,MAI1B,CCzBA,MAcA,GAdwBrn7C,IAEpBiU,EAAAA,EAAAA,KAAA,OACEzM,MAAO,CACLo3B,SAAU,OACVG,WAAY,SACZvC,UAAW,QACXp7B,SAEDpB,IC0OP,GAjOe,CACb,CACEgH,KAAM,KACNuU,MAAO,KACPmjW,SAAU,SACVhO,UAAW,KACXj4R,QAAS,GACT6h2C,cAAc,EACdtv5C,MAAO654C,IAET,CACE795C,KAAM,UACNuU,MAAO,WACPmjW,SAAU,SACVhO,UAAW,UACXj4R,QAAS,CAAC,QACVztD,MAAO654C,IAET,CACE795C,KAAM,uBACNuU,MAAO,kBACPmjW,SAAU,SACVhO,UAAW,uBACXj4R,QAAS,CAAC,QAEVk9C,UAAW,SACXgoO,gBAAgB,EAChB3yU,MAAOi64C,IAGT,CACEj+5C,KAAM,YACNuU,MAAO,2BACPmjW,SAAU,OACVhO,UAAW,YACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,cACNuU,MAAO,uBACPmjW,SAAU,SACVhO,UAAW,cACXj4R,QAAS,CAAC,QACV8w2C,YAAazs7C,OAAO00B,OAAO+t1C,KAE7B,CACEv42C,KAAM,eACNuU,MAAO,4BACPmjW,SAAU,OACVhO,UAAW,eACXj4R,QAAS,CAAC,QAEV6w2C,WAAatq7C,IAAO,OAADA,QAAC,IAADA,OAAC,EAADA,EAAGgB,QAASyy9C,GAAe/4C,GAAiB,OAAD166C,QAAC,IAADA,OAAC,EAADA,EAAGgB,QACjEgrB,MAAO,SAET,CACEhkB,KAAM,kBACNuU,MAAO,gCACPmjW,SAAU,OACVhO,UAAW,kBACXj4R,QAAS,CAAC,QACV8h2C,UAAW,MACXvv5C,MAAOo64C,GACPstB,WAAW,GAEb,CACE1r7C,KAAM,eACNuU,MAAO,gBACPmjW,SAAU,OACVhO,UAAW,eACXj4R,QAAS,CAAC,QACV8h2C,UAAW,MACXvv5C,MAAOo64C,GACPstB,WAAW,GAEb,CACE1r7C,KAAM,YACNuU,MAAO,aACPmjW,SAAU,SACVhO,UAAW,YACXj4R,QAAS,CAAC,QACV8w2C,YAAa7tE,IAEf,CACE102C,KAAM,gBACNuU,MAAO,iBACPmjW,SAAU,SACVhO,UAAW,gBACXj4R,QAAS,CAAC,QACV8w2C,YAAazs7C,OAAO00B,OAAOuv1C,KAE7B,CACE/52C,KAAM,UACNuU,MAAO,oBACPmjW,SAAU,SACVhO,UAAW,UACXj4R,QAAS,CAAC,QACV8w2C,YAAajqE,IAEf,CACEt42C,KAAM,gBACNuU,MAAO,6BACPmjW,SAAU,OACVhO,UAAW,gBACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,gBACNuU,MAAO,sBACPmjW,SAAU,OACVhO,UAAW,gBACXj4R,QAAS,CAAC,QACV8h2C,UAAW,MACXvv5C,MAAOo64C,GACPstB,WAAW,GAEb,CACE1r7C,KAAM,YACNuU,MAAO,yBACPmjW,SAAU,SACVhO,UAAW,YACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,aACNuU,MAAO,wBACPmjW,SAAU,SACVhO,UAAW,aACXj4R,QAAS,CAAC,QACV8w2C,YAAazs7C,OAAO00B,OAAOiw1C,KAE7B,CACEz62C,KAAM,mBACNuU,MAAO,iBACPmjW,SAAU,OACVhO,UAAW,mBACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,sBACNuU,MAAO,4CACPmjW,SAAU,OACVhO,UAAW,sBACXj4R,QAAS,CAAC,QACVgsS,cAAgBzlX,IAAO,OAADA,QAAC,IAADA,OAAC,EAADA,EAAGgB,QAAS056C,GAAiB,OAAD166C,QAAC,IAADA,OAAC,EAADA,EAAGgB,QAEvD,CACEgH,KAAM,aACNuU,MAAO,aACPmjW,SAAU,OACVhO,UAAW,aACXj4R,QAAS,CAAC,QAEVgsS,cAAgBo7Q,GAAag6yB,GAAoB,OAARh6yB,QAAQ,IAARA,OAAQ,EAARA,EAAU7/nB,OAEnDwrV,cAAc,GAEhB,CACExkV,KAAM,QACNuU,MAAO,mBACPmjW,SAAU,OACVhO,UAAW,QACXj4R,QAAS,CAAC,SAIZ,CACEzxE,KAAM,YACNuU,MAAO,UACPmjW,SAAU,SACVhO,UAAW,YACXj4R,QAAS,CAAC,UACV2g2C,gBAAiBqe,GACjBpe,sBAAuB,CAAC,EACxBL,mBAAoBn9D,GAAiBC,cAAchthC,OAErD,CACE9nV,KAAM,UACNuU,MAAO,WACPmjW,SAAU,SACVhO,UAAW,UACXj4R,QAAS,CAAC,WAEZ,CACEzxE,KAAM,cACNuU,MAAO,WACPmjW,SAAU,SACVhO,UAAW,cACXj4R,QAAS,CAAC,UACV9T,MAAO7nE,OAAO00B,OAAO+t1C,KAEvB,CACEv42C,KAAM,gBACNuU,MAAO,iBACPmjW,SAAU,SACVhO,UAAW,gBACXj4R,QAAS,CAAC,UACV9T,MAAO7nE,OAAO00B,OAAOuv1C,KAEvB,CACE/52C,KAAM,WACNuU,MAAO,2BACPmjW,SAAU,SACVhO,UAAW,WACXj4R,QAAS,CAAC,UACV2g2C,gBAAiBqB,GACjBpB,sBAAuB,CAAC,GAE1B,CACEry6C,KAAM,gBACNuU,MAAO,qCACPmjW,SAAU,SACVhO,UAAW,gBACXj4R,QAAS,CAAC,UACV2g2C,gBAAiBqe,IAEnB,CACEzw7C,KAAM,eACNuU,MAAO,yBACPmjW,SAAU,OACVhO,UAAW,eACXj4R,QAAS,CAAC,YCxOd,GAPmB,CACjBmhE,MAAO,uBACPqgyC,UAAW,YACXx16C,KAAMm1vC,GACN8gL,UAAW,+BCSE,SAASg4C,GAAatq9C,GAKjC,IALkC,UACpC6x6C,EAAS,mBACThkxC,EAAkB,aAClBk7yC,EAAY,YACZz5B,GACDtv6C,EACC,MAAMum8C,GAAiBlxH,EAAAA,EAAAA,UACjB0pG,GAAY1pG,EAAAA,EAAAA,UACZuxH,GAAwBvxH,EAAAA,EAAAA,UACxBk1I,GAAoBl1I,EAAAA,EAAAA,UACpB4xH,GAA8B5xH,EAAAA,EAAAA,UAgB9B6pG,EAAqB,EACzBrz6C,EAAAA,EAAAA,KAACsrS,GAAAA,OAAM,CAEL5/D,KAAM,YACNj/N,KAAK,OACLsjF,QAASs9X,UAAc,IAAD0u+B,EAAA4iB,GACgB,IAAhC5z9C,EAAE8hM,IAAIhkH,KAAK+14C,kBAkBD,OAAdlkB,QAAc,IAAdA,GAAuB,QAATqB,EAAdrB,EAAgBn67C,eAAO,IAAAw77C,GAAvBA,EAAyBvuC,aACX,OAAdktC,QAAc,IAAdA,GAAuB,QAATikB,EAAdjkB,EAAgBn67C,eAAO,IAAAo+8C,GAAvBA,EAAyBr2C,iBAAgB,GACzC1zD,GAAelvzB,QAAQ,CACrBn3U,OAAQ,OACR10N,IAAK,+BACLgvD,KAAM,CACJ/7E,GAAI/B,EAAE8hM,IAAI1jM,OAGX4sJ,MAAM81F,IAAS,IAADgzuC,EAAAC,EACb53C,GAAWr7rC,EAAIhjK,MACD,OAAd6x3C,QAAc,IAAdA,GAAuB,QAATmkB,EAAdnkB,EAAgBn67C,eAAO,IAAAs+8C,GAAvBA,EAAyBt2C,cAAc,IAClC18rC,EAAIhjK,KAAKA,KACZu03C,MAAOx8N,SAEK,OAAd85N,QAAc,IAAdA,GAAuB,QAATokB,EAAdpkB,EAAgBn67C,eAAO,IAAAu+8C,GAAvBA,EAAyBx2C,iBAAgB,EAAM,IAEhD/9wC,OAAOz8I,IACNo55C,GAAWp55C,EAAMsnG,SAASvsC,MAC1BgY,QAAQT,IAAItyE,EAAM,KApCpBy55C,GAAMz55C,MACJ,oKACA,CACEvW,SAAU,YACViw6C,UAAW,IACXC,iBAAiB,EACjBtjlC,cAAc,EACdujlC,cAAc,EACd/twC,WAAW,EACX2T,cAAUt7K,EACV+V,MAAO,WA2BT,GA1CF,YA6CN/H,EAAAA,EAAAA,KAACsrS,GAAAA,OAAM,CAEL5/D,KAAM,gBACNj/N,KAAM,eACNsjF,QAASs9X,UAAc,IAADox+B,EAAAxmsB,EAAA8mtB,EACC,OAArBhkB,QAAqB,IAArBA,GAA8B,QAAT0D,EAArB1D,EAAuBx67C,eAAO,IAAAk+7C,GAA9BA,EAAgCjxC,WAAY,OAADzi6C,QAAC,IAADA,GAAM,QAALktwB,EAADltwB,EAAG8hM,WAAG,IAAAorkB,GAAM,QAAN8mtB,EAAN9mtB,EAAQpvrB,YAAI,IAAAk24C,OAAX,EAADA,EAAcjrB,QAAQ,GAJ/D,iBAON9z7C,EAAAA,EAAAA,KAACsrS,GAAAA,OAAM,CAEL5/D,KAAM,mDACNj/N,KAAM,QACNsjF,QAASs9X,UAAc,IAAD8u+B,EAAAnksB,EAAAgntB,EACO,OAA3B5jB,QAA2B,IAA3BA,GAAoC,QAATe,EAA3Bf,EAA6B767C,eAAO,IAAA477C,GAApCA,EAAsC3uC,WAAY,OAADzi6C,QAAC,IAADA,GAAM,QAALitwB,EAADjtwB,EAAG8hM,WAAG,IAAAmrkB,GAAM,QAANgntB,EAANhntB,EAAQnvrB,YAAI,IAAAm24C,OAAX,EAADA,EAAclrB,QAAQ,GAJrE,uBASR,OACE176C,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,EACE6S,EAAAA,EAAAA,KAAC696C,GAAU,CACTra,WAAYy7C,GACZxu9C,IAAKyi7C,EACLzP,YAAaA,KAEfzj6C,EAAAA,EAAAA,KAAC+96C,GAAQ,CACPnL,OAAO,gBACPpP,WAAYy7C,GACZx7C,YAAaA,EACbyP,UAAWA,EAEX8K,aAAa,EACbhY,UAAWA,EACXtx5C,OAAQ,OACR2+5C,mBAAoBA,EACpB4K,sBAAsB,EACtBj8xC,mBAAoBA,EACpBwxxC,gBAAgB,EAChBkrC,kBAAmBA,EACnBngC,mBA5FsBxz7C,IACR,SAAdA,EAAEywW,UAAkD,IAA5BzwW,EAAE89E,KAAK+14C,mBACjC7z9C,EAAEm4a,WAAW3va,MAAMk1B,gBAAkB,UACvC,KA2FEzoB,EAAAA,EAAAA,KAACi97C,GAAa,CACZxs8C,IAAKiq8C,EACL10B,UAAWA,EACXvC,YAAaA,EACby5B,aAAcA,KAEhBl97C,EAAAA,EAAAA,KAACk67C,GAAkB,CACjBzp8C,IAAKsq8C,EACL/0B,UAAWA,EACXx3hC,YAAY,EACZ+rjC,eAAe,EACf92B,YAAaA,KAEfzj6C,EAAAA,EAAAA,KAAC+r8C,GAAkB,CACjBt78C,IAAKiu9C,EACL14C,UAAWA,EACXvC,YAAaA,KAEfzj6C,EAAAA,EAAAA,KAAC887C,GAAwB,CACvBrs8C,IAAK2q8C,EACLp1B,UAAWA,EAEXvC,YAAaA,MAMrB,CC/IA,MAqRA,GArRe,CACb,CACE1w6C,KAAM,UACNuU,MAAO,WACPmjW,SAAU,SACVhO,UAAW,UACXj4R,QAAS,CAAC,QACVztD,MAAO654C,IAGT,CACE795C,KAAM,YACNuU,MAAO,2BACPmjW,SAAU,OACVhO,UAAW,YACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,eACNuU,MAAO,4BACPmjW,SAAU,OACVhO,UAAW,eACXj4R,QAAS,CAAC,QAEV6w2C,WAAatq7C,IAAO,OAADA,QAAC,IAADA,OAAC,EAADA,EAAGgB,QAASyy9C,GAAe/4C,GAAiB,OAAD166C,QAAC,IAADA,OAAC,EAADA,EAAGgB,QACjEgrB,MAAO,SAET,CACEhkB,KAAM,kBACNuU,MAAO,gCACPmjW,SAAU,OACVhO,UAAW,kBACXj4R,QAAS,CAAC,QACVztD,MAAOo64C,IAET,CACEp+5C,KAAM,eACNuU,MAAO,gBACPmjW,SAAU,OACVhO,UAAW,eACXj4R,QAAS,CAAC,QACVztD,MAAOo64C,GACPstB,WAAW,GAEb,CACE1r7C,KAAM,YACNuU,MAAO,aACPmjW,SAAU,SACVhO,UAAW,YACXj4R,QAAS,CAAC,QACV8w2C,YAAa7tE,IAEf,CACE102C,KAAM,gBACNuU,MAAO,iBACPmjW,SAAU,SACVhO,UAAW,gBACXj4R,QAAS,CAAC,QACV8w2C,YAAazs7C,OAAO00B,OAAOuv1C,KAE7B,CACE/52C,KAAM,cACNuU,MAAO,uBACPmjW,SAAU,SACVhO,UAAW,cACXj4R,QAAS,CAAC,QACV8w2C,YAAazs7C,OAAO00B,OAAO+t1C,KAE7B,CACEv42C,KAAM,UACNuU,MAAO,oBACPmjW,SAAU,SACVhO,UAAW,UACXj4R,QAAS,CAAC,QACV8w2C,YAAajqE,IAEf,CACEt42C,KAAM,gBACNuU,MAAO,6BACPmjW,SAAU,OACVhO,UAAW,gBACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,gBACNuU,MAAO,sBACPmjW,SAAU,OACVhO,UAAW,gBACXj4R,QAAS,CAAC,QACVztD,MAAOo64C,IAET,CACEp+5C,KAAM,YACNuU,MAAO,yBACPmjW,SAAU,SACVhO,UAAW,YACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,mBACNuU,MAAO,kBACPmjW,SAAU,SACVhO,UAAW,mBACXj4R,QAAS,CAAC,QACV8w2C,YAAazs7C,OAAO00B,OAAO0w1C,KAS7B,CACEl72C,KAAM,mBACNuU,MAAO,iBACPmjW,SAAU,OACVhO,UAAW,mBACXj4R,QAAS,CAAC,SAUZ,CACEzxE,KAAM,aACNuU,MAAO,aACPmjW,SAAU,OACVhO,UAAW,aACXj4R,QAAS,CAAC,QAEVgsS,cAAgBo7Q,GAAag6yB,GAAoB,OAARh6yB,QAAQ,IAARA,OAAQ,EAARA,EAAU7/nB,OACnDwrV,cAAc,GAEhB,CACExkV,KAAM,WACNuU,MAAO,sBACPmjW,SAAU,OACVhO,UAAW,WACXj4R,QAAS,CAAC,QACVgsS,cAAgBzlX,IAAO,OAADA,QAAC,IAADA,OAAC,EAADA,EAAGgB,QAAS056C,GAAiB,OAAD166C,QAAC,IAADA,OAAC,EAADA,EAAGgB,OACrDgrB,MAAO,SAET,CACEhkB,KAAM,mBACNuU,MAAO,oBACPmjW,SAAU,OACVhO,UAAW,mBACXj4R,QAAS,CAAC,QACV8h2C,UAAW,QAEb,CACEvz6C,KAAM,qBACNuU,MAAO,2BACPmjW,SAAU,SACVhO,UAAW,qBACXj4R,QAAS,CAAC,QACVztD,MAAO654C,IAET,CACE795C,KAAM,QACNuU,MAAO,mBACPmjW,SAAU,SACVhO,UAAW,QACXj4R,QAAS,CAAC,SAIZ,CACEzxE,KAAM,SACNuU,MAAO,gCACPmjW,SAAU,OACVhO,UAAW,SACXj4R,QAAS,CAAC,WAEZ,CACEzxE,KAAM,SACNuU,MAAO,oBACPmjW,SAAU,OACVhO,UAAW,SACXj4R,QAAS,CAAC,WAEZ,CACEzxE,KAAM,UACNuU,MAAO,WACPmjW,SAAU,SACVhO,UAAW,UACXj4R,QAAS,CAAC,WAEZ,CACEzxE,KAAM,cACNuU,MAAO,WACPmjW,SAAU,SACVhO,UAAW,cACXj4R,QAAS,CAAC,UACV9T,MAAO7nE,OAAO00B,OAAO+t1C,KAEvB,CACEv42C,KAAM,SACNuU,MAAO,2BACPmjW,SAAU,OACVhO,UAAW,SACXj4R,QAAS,CAAC,WAGZ,CACEzxE,KAAM,WACNuU,MAAO,4BACPmjW,SAAU,OACVhO,UAAW,WACXj4R,QAAS,CAAC,WAEZ,CACEzxE,KAAM,SACNuU,MAAO,6CACPmjW,SAAU,SACVhO,UAAW,SACXj4R,QAAS,CAAC,UACV33E,cAAc,EACd6jE,MAAO,CACL,CACEmqR,OAAO,EACP31N,KAAM,QAER,CACE21N,OAAO,EACP31N,KAAM,gBAIZ,CACEnyH,KAAM,YACNuU,MAAO,UACPmjW,SAAU,SACVhO,UAAW,YACXj4R,QAAS,CAAC,UACV2g2C,gBAAiBqe,IAEnB,CACEzw7C,KAAM,aACNuU,MAAO,kBACPmjW,SAAU,SACVhO,UAAW,aACXj4R,QAAS,CAAC,UACV9T,MAAO7nE,OAAO00B,OAAO0w1C,IACrBph3C,aAAcoh3C,GAAmBrF,WAAW/thC,OAW9C,CACE9nV,KAAM,gBACNuU,MAAO,iBACPmjW,SAAU,SACVhO,UAAW,gBACXj4R,QAAS,CAAC,UACV9T,MAAO7nE,OAAO00B,OAAOuv1C,KAEvB,CACE/52C,KAAM,eACNuU,MAAO,4BACPmjW,SAAU,OACVhO,UAAW,eACXj4R,QAAS,CAAC,YCtRd,GAPmB,CACjBmhE,MAAO,cACPqgyC,UAAW,YACXx16C,KAAMm1vC,GACN8gL,UAAW,cCGE,SAASy4C,GAAK/q9C,GAAkD,IAAjD,UAAE6x6C,EAAS,mBAAEhkxC,EAAkB,YAAEyhxC,GAAatv6C,EAC1E,MAAM++6C,GAAY1pG,EAAAA,EAAAA,UACZuxH,GAAwBvxH,EAAAA,EAAAA,UACxBg4H,GAAoBh4H,EAAAA,EAAAA,UACpB4xH,GAA8B5xH,EAAAA,EAAAA,UAE9B6pG,EAAqB,EACzBrz6C,EAAAA,EAAAA,KAACsrS,GAAAA,OAAM,CAEL5/D,KAAM,gBACNj/N,KAAM,eACNsjF,QAASs9X,UAAc,IAADox+B,EAAAxmsB,EAAA8mtB,EACC,OAArBhkB,QAAqB,IAArBA,GAA8B,QAAT0D,EAArB1D,EAAuBx67C,eAAO,IAAAk+7C,GAA9BA,EAAgCjxC,WAAY,OAADzi6C,QAAC,IAADA,GAAM,QAALktwB,EAADltwB,EAAG8hM,WAAG,IAAAorkB,GAAM,QAAN8mtB,EAAN9mtB,EAAQpvrB,YAAI,IAAAk24C,OAAX,EAADA,EAAcjrB,QAAQ,GAJ/D,iBAON9z7C,EAAAA,EAAAA,KAACsrS,GAAAA,OAAM,CAEL5/D,KAAK,sBACLj/N,KAAK,eACL+3D,QAAUz5E,GACsB,MAAvBA,EAAE8hM,IAAIhkH,KAAK6q3C,SAEpB3j2C,QAAUhlG,IAAO,IAAD+88C,EACG,OAAjBtG,QAAiB,IAAjBA,GAA0B,QAATsG,EAAjBtG,EAAmBjh8C,eAAO,IAAAun8C,GAA1BA,EAA4Bt6C,WAAWzi6C,EAAE8hM,IAAIhkH,KAAKir3C,QAAQ,GAPxD,aAUN9z7C,EAAAA,EAAAA,KAACsrS,GAAAA,OAAM,CAEL5/D,KAAM,mDACNj/N,KAAM,QACNsjF,QAASs9X,UAAc,IAAD8u+B,EAAAnksB,EAAAgntB,EACO,OAA3B5jB,QAA2B,IAA3BA,GAAoC,QAATe,EAA3Bf,EAA6B767C,eAAO,IAAA477C,GAApCA,EAAsC3uC,WAAY,OAADzi6C,QAAC,IAADA,GAAM,QAALitwB,EAADjtwB,EAAG8hM,WAAG,IAAAmrkB,GAAM,QAANgntB,EAANhntB,EAAQnvrB,YAAI,IAAAm24C,OAAX,EAADA,EAAclrB,QAAQ,GAJrE,uBASR,OACE176C,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,EACE6S,EAAAA,EAAAA,KAAC696C,GAAU,CACTra,WAAY27C,GACZ1u9C,IAAKyi7C,EACLzP,YAAaA,KAEfzj6C,EAAAA,EAAAA,KAAC+96C,GAAQ,CACPnL,OAAO,QACPpP,WAAY27C,GACZ17C,YAAaA,EACbyP,UAAWA,EAEX8K,aAAa,EACbhY,UAAWA,EACXqN,mBAAoBA,EACpB3+5C,OAAQ,OACRup6C,sBAAsB,EACtBj8xC,mBAAoBA,EACpBwxxC,gBAAgB,KAElBxz6C,EAAAA,EAAAA,KAACk67C,GAAkB,CACjBzp8C,IAAKsq8C,EACL/0B,UAAWA,EACXx3hC,YAAY,EACZ+rjC,eAAe,EACf92B,YAAaA,KAEfzj6C,EAAAA,EAAAA,KAAC8i8C,GAAc,CACbry8C,IAAK+w8C,EACLhzjC,YAAY,KAEdxuY,EAAAA,EAAAA,KAAC887C,GAAwB,CACvBrs8C,IAAK2q8C,EACLp1B,UAAWA,EAEXvC,YAAaA,MAIrB,CCnFA,MAOA,GAPmB,CACjB99xC,MAAO,uBACPqgyC,UAAW,YACXx16C,KAAMm1vC,GACN8gL,UAAW,0BCIb,GAVmB,CACjB9gyC,MAAO,8BACPqgyC,UAAW,YACXS,UAAW,mBACXC,aAAc,sBACdC,YAAa,qBACbC,YAAa,qBACbE,YAAa,sBCsBTs4C,GAAoBrh9C,EAAAA,YACxB,CAAA5J,EAA2C1D,KAAS,IAADy36C,EAAA8K,EAAA,IAAlD,UAAEhN,EAAS,YAAEvC,EAAW,aAAEy5B,GAAc/o8C,EACvC,IAAIi/3C,EAAe,CACjBgqE,MAAOx8N,QAKT,MAaM,QACJvl3B,EAAO,KACPtrV,EAAI,YACJ812C,EAAW,aACX2qB,EAAY,aACZ/8B,EAAY,aACZ9znC,EAAY,mBACZ+/pC,EAAkB,MAClB+I,EAAK,QACL/+6C,GACEmi7C,GACFp76C,EACA+y6C,GACAC,EACAuC,EACA5yC,GA5BqBu0C,KAAO,IAAD01B,EAC3B,IAAIvJ,EAAsB,OAAZoJ,QAAY,IAAZA,GAAqB,QAATG,EAAZH,EAAc387C,eAAO,IAAA887C,OAAT,EAAZA,EAAuBvJ,QACrCl/E,GAAel62C,KAAK8s2C,GAAS,mBAAoB,CAC/CssF,QAASA,IACR/9yC,MAAM81F,IAAS,IAADyxtC,EAEH,OAAZJ,QAAY,IAAZA,GAAqB,QAATI,EAAZJ,EAAc387C,eAAO,IAAA+87C,GAArBA,EAAuBzI,aAAa,CAClCf,QAASA,EACTgB,SAAUjptC,EAAIhjK,KAAKA,MACnB,GACF,IAsBE+62C,GAAiBp6G,EAAAA,EAAAA,UACjB+zH,GAA8B/zH,EAAAA,EAAAA,UAC9Bg0H,GAAqBh0H,EAAAA,EAAAA,UACrBuxH,GAAwBvxH,EAAAA,EAAAA,UACxBkxH,GAAiBlxH,EAAAA,EAAAA,UAajB1ztC,EAAW4pzC,EAXQoM,KAAa5n5C,MAAM,CAC1Cm77C,aAAcvzC,KAAat7kC,KAAK,aAAc,CAC5CsN,GAAIkvgC,GAAYpE,WAAW/thC,MAC3B9kM,KAAM+1xC,KAAa974C,WACnBin4C,UAAW6U,KAAaxS,aAE1BmkC,UAAW3xB,KAAa974C,WACxB0t6C,WAAY5xB,KAAa974C,WACzB4p6C,aAAc9tB,KAAa974C,cAKvB2t6C,EACJtilC,EAAQm6kC,sBAAwB,KAC1Bn6kC,EAAQm6kC,yBAAiC,OAAP9r8C,QAAO,IAAPA,GAAa,QAANw+6C,EAAPx+6C,EAASmm2C,YAAI,IAAAq4E,OAAN,EAAPA,EAAep76C,KAGnD8w8C,EAA+D,IAA3B,OAAPl08C,QAAO,IAAPA,GAAa,QAANsp7C,EAAPtp7C,EAASmm2C,YAAI,IAAAmjF,OAAN,EAAPA,EAAeypB,iBAMlD,OACErk7C,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,EACE6S,EAAAA,EAAAA,KAACuj6C,GAAY,CACXxz4C,KAAMA,EACN812C,YAAaA,EACb46B,WAAY,yBAAsB,OAAPpljC,QAAO,IAAPA,OAAO,EAAPA,EAASy4kC,qBACpC5r6C,SAAS,KAAI/6B,UAEb6S,EAAAA,EAAAA,KAACyvT,GAAI,CACH42V,SAAUotuB,EACVrJ,cAAe/ugC,EACfvlQ,SAAUA,EACV5oH,OAAQmd,IAAA,IAAAwz7C,EAAAC,EAAAC,EAAAC,EAAAva,EAAAwa,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,IAAC,aACP5qE,EAAY,KACZx5jC,EAAI,WACJwwjC,EAAU,SACVI,EAAQ,OACRtt2C,EAAM,MACNyQ,EAAK,OACLo8T,GACD//U,EAAA,OACC+N,EAAAA,EAAAA,MAAC4z5C,GAAa,CAAC3lxB,SAAUotuB,EAAatm4C,SAAA,EACpC6S,EAAAA,EAAAA,KAAC6z3C,GAAO,CACNvI,aAAc,CAAE/t2C,QAAQ,GACxB8uR,SAAWriT,IAAW,IAADs08C,GAEL,QAAZA,EAAAt08C,EAAMuzB,cAAM,IAAA+g7C,OAAA,EAAZA,EAAcZ,cAAe1wF,GAAYC,QAAQpyhC,OAEjD5gB,EAAK18E,OAAO,aAAc,MAE5BhgO,EAAOhd,QAAUvW,EAAMuzB,MAAM,KAGjCnF,EAAAA,EAAAA,MAAC0o5C,GAAoB,CAAA3z6C,SAAA,EACnBirB,EAAAA,EAAAA,MAACuz5C,GAAgB,CAAAx+6C,SAAA,EACfirB,EAAAA,EAAAA,MAACi7R,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAEl0B,SAAA,EAgB9B6S,EAAAA,EAAAA,KAACis6C,GAAY,CAAC3k6C,MAAM,QAAQkp5C,aAAcA,EAAarj6C,UACrD6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,QACL0kB,UAAWyt5C,GACXjq5C,UACGwt5C,EAAM6C,SACkB,IAAzBjwjC,EAAQkjlC,cACRZ,OAKN397C,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,6BACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,YACL29D,MAAO7nE,OAAO00B,OAAOwu1C,IACrB1w/B,QAASA,EACT5jW,UAAW2z4C,GACXnw4C,UAAWwt5C,EAAM6C,QAAUqyB,OAI/B397C,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,wBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,aACL29D,MAAO7nE,OAAO00B,OAAOyv1C,IACrB3x/B,QAASA,EACT5jW,UAAW2z4C,GACXnw4C,UAAWwt5C,EAAM6C,QAAUqyB,EAC3Blt8C,IAAK+s8C,EACL9xC,qBAAsB,CACpB1+C,GAAYC,QAAQpyhC,SAChB4tlC,EAAM+1B,UACN,GACA,CACExxF,GAAYG,cAActyhC,MAC1BmyhC,GAAYI,cAAcvyhC,MAC1BmyhC,GAAYM,iBAAiBzyhC,MAC7BmyhC,GAAYO,iBAAiB1yhC,cAKrB,OAAlB2inC,QAAkB,IAAlBA,GAA2B,QAATK,EAAlBL,EAAoBj97C,eAAO,IAAAs97C,OAAT,EAAlBA,EAA6B9x8C,SAC7Bih3C,GAAYI,cAAcvyhC,OAC1BwgC,EAAQqilC,aACN1wF,GAAYI,cAAcvyhC,QACV,OAAlB2inC,QAAkB,IAAlBA,GAA2B,QAATM,EAAlBN,EAAoBj97C,eAAO,IAAAu97C,OAAT,EAAlBA,EAA6B/x8C,SAC3Bih3C,GAAYG,cAActyhC,OAC5BwgC,EAAQqilC,aACN1wF,GAAYG,cAActyhC,QACV,OAAlB2inC,QAAkB,IAAlBA,GAA2B,QAATO,EAAlBP,EAAoBj97C,eAAO,IAAAw97C,OAAT,EAAlBA,EAA6Bhy8C,SAC3Bih3C,GAAYM,iBAAiBzyhC,OAC/BwgC,EAAQqilC,aACN1wF,GAAYM,iBAAiBzyhC,QACb,OAAlB2inC,QAAkB,IAAlBA,GAA2B,QAATQ,EAAlBR,EAAoBj97C,eAAO,IAAAy97C,OAAT,EAAlBA,EAA6Bjy8C,SAC3Bih3C,GAAYO,iBAAiB1yhC,OAC/BwgC,EAAQqilC,aACN1wF,GAAYO,iBAAiB1yhC,SAC/B76U,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,UACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,aACLsoX,QAASA,EACTgwiC,kBAAmB,CACjB0B,WACE,8CACFN,aAAc,CAAC,eACfG,cAAe,KACfI,QAAS,CACP8mC,QAASz4kC,EAAQy4kC,UAGrBr86C,UAAWiy5C,GACXzu5C,UAAWwt5C,EAAM6C,QAAUqyB,UAKnCvl7C,EAAAA,EAAAA,MAACi7R,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAEl0B,SAAA,EAC9B6S,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,qBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,WACLsoX,QAASA,EACT5jW,UAAW+u5C,GACXvr5C,UAAU,OAKdjb,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,sDACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,eACL0kB,UAAW833C,GACXt03C,UACGwt5C,EAAM6C,SACkB,IAAzBjwjC,EAAQkjlC,cACRZ,EAEFnuD,aAAa,OAGjBxv4C,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,uCACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,wBACLsoX,QAASA,EACT5jW,UAAWyt6C,GACXjq6C,UACGwt5C,EAAM6C,QAC4B,MAArB,OAAdsY,QAAc,IAAdA,GAAuB,QAATH,EAAdG,EAAgBrj7C,eAAO,IAAAkj7C,OAAT,EAAdA,EAAyB137C,QACzB4x8C,EAEFroE,SAAUioE,EACVv3B,UAAWA,EACX4d,eAAgBA,aAMxB5j7C,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,QACL0kB,UAAW005C,GACXlx5C,UAAWwt5C,EAAM6C,QAAUqyB,EAC3Br27C,OACoB,OAAlBk27C,QAAkB,IAAlBA,GAA2B,QAATS,EAAlBT,EAAoBj97C,eAAO,IAAA097C,OAAT,EAAlBA,EAA6Bly8C,SAC3Bih3C,GAAYI,cAAcvyhC,QACV,OAAlB2inC,QAAkB,IAAlBA,GAA2B,QAATU,EAAlBV,EAAoBj97C,eAAO,IAAA297C,OAAT,EAAlBA,EAA6Bny8C,SAC3Bih3C,GAAYG,cAActyhC,QACV,OAAlB2inC,QAAkB,IAAlBA,GAA2B,QAATW,EAAlBX,EAAoBj97C,eAAO,IAAA497C,OAAT,EAAlBA,EAA6Bpy8C,SAC3Bih3C,GAAYM,iBAAiBzyhC,QACb,OAAlB2inC,QAAkB,IAAlBA,GAA2B,QAATY,EAAlBZ,EAAoBj97C,eAAO,IAAA697C,OAAT,EAAlBA,EAA6Bry8C,SAC3Bih3C,GAAYO,iBAAiB1yhC,MAC3B,mBACA,QAEN21kC,aAAcA,KAEG,OAAlBgtC,QAAkB,IAAlBA,GAA2B,QAATa,EAAlBb,EAAoBj97C,eAAO,IAAA897C,OAAT,EAAlBA,EAA6Bty8C,SAC5Bih3C,GAAYpE,WAAW/thC,QACvBziU,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,CACGyw8C,GACC597C,EAAAA,EAAAA,KAAAqt5C,EAAAA,SAAA,CAAAlg6C,UACE6S,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,4CACNkp5C,aAAcA,EACdlpxC,UAAW,IACXvwH,MAAO,OAAO5pB,UAEd6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,sBACL0kB,UAAWk74C,GACX134C,UAAWwt5C,EAAM6C,QAAUqyB,EAE3BntC,aAAcA,QAIlB,MACJxw5C,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,eACL0kB,UAAW005C,GACXlx5C,UAAWwt5C,EAAM6C,QAAUqyB,EAC3Br27C,MAAO,sBACPkp5C,aAAcA,WAKtBp44C,EAAAA,EAAAA,MAACqx5C,GAAoB,CACnBl36C,WAAS,EACTkhB,GAAI,CACFyX,eAAgB,iBAChB/9B,SAAA,EAEFirB,EAAAA,EAAAA,MAACi7R,EAAI,CAAAlmT,SAAA,EACH6S,EAAAA,EAAAA,KAAC+87C,GAAkB,CACjBht2C,QAAUhlG,IAAO,IAAD0z8C,EACO,OAArB1D,QAAqB,IAArBA,GAA8B,QAAT0D,EAArB1D,EAAuBx67C,eAAO,IAAAk+7C,GAA9BA,EAAgCjxC,WACvB,OAAPnyiC,QAAO,IAAPA,OAAO,EAAPA,EAASy4kC,QACV,EAEHto7C,UAAW6vW,EAAQ8okC,gBAErBnk7C,EAAAA,EAAAA,KAAC417C,GAAwB,CACvB7l2C,QAAUhlG,IAAO,IAADgx8C,EACA,OAAdrB,QAAc,IAAdA,GAAuB,QAATqB,EAAdrB,EAAgBn67C,eAAO,IAAAw77C,GAAvBA,EAAyBvuC,WAAWnyiC,EAAQy4kC,QAAQ,QAIxD6J,IACA397C,EAAAA,EAAAA,KAAC4q6C,GAAY,CACXnC,MAAOA,EACPxumC,KAAMA,EACNt6D,aAAcA,EACd8qnC,WAAYA,EACZI,SAAUA,EACVigD,YAAaA,KACPji7C,OAAOE,KAAKqhW,GAAQnhW,OAAS,GAC/B484C,GACF,EAEF2qB,aAAcA,SAIN,OAItBxw5C,EAAAA,EAAAA,KAACk67C,GAAkB,CACjBzp8C,IAAKsq8C,EACL/0B,UAAWA,EACXx3hC,YAAY,KAEdxuY,EAAAA,EAAAA,KAACu87C,GAAW,CAAC9r8C,IAAKiq8C,EAAgB8B,WAAW,MAC5C,IAKT,MCxXe,SAAS8iB,GAAiBnr9C,GAKrC,IALsC,UACxC6x6C,EAAS,mBACThkxC,EAAkB,aAClBk7yC,EAAY,YACZz5B,GACDtv6C,EACC,MAAMum8C,GAAiBlxH,EAAAA,EAAAA,UACjB0pG,GAAY1pG,EAAAA,EAAAA,UACZuxH,GAAwBvxH,EAAAA,EAAAA,UACxBk1I,GAAoBl1I,EAAAA,EAAAA,UAEpB6pG,EAAqB,EACzBrz6C,EAAAA,EAAAA,KAACsrS,GAAAA,OAAM,CAEL5/D,KAAM,YACNj/N,KAAK,OACLsjF,QAASs9X,UAAc,IAAD0u+B,EAAA4iB,EACN,OAAdjkB,QAAc,IAAdA,GAAuB,QAATqB,EAAdrB,EAAgBn67C,eAAO,IAAAw77C,GAAvBA,EAAyBvuC,aACX,OAAdktC,QAAc,IAAdA,GAAuB,QAATikB,EAAdjkB,EAAgBn67C,eAAO,IAAAo+8C,GAAvBA,EAAyBr2C,iBAAgB,GACzC1zD,GAAelvzB,QAAQ,CACrBn3U,OAAQ,OACR10N,IAAK,mCACLgvD,KAAM,CACJ/7E,GAAI/B,EAAE8hM,IAAI1jM,OAGX4sJ,MAAM81F,IAAS,IAADgzuC,EAAAC,EACb53C,GAAWr7rC,EAAIhjK,MACD,OAAd6x3C,QAAc,IAAdA,GAAuB,QAATmkB,EAAdnkB,EAAgBn67C,eAAO,IAAAs+8C,GAAvBA,EAAyBt2C,cAAc,IAClC18rC,EAAIhjK,KAAKA,KACZu03C,MAAOx8N,SAEK,OAAd85N,QAAc,IAAdA,GAAuB,QAATokB,EAAdpkB,EAAgBn67C,eAAO,IAAAu+8C,GAAvBA,EAAyBx2C,iBAAgB,EAAM,IAEhD/9wC,OAAOz8I,IACNo55C,GAAWp55C,EAAMsnG,SAASvsC,MAC1BgY,QAAQT,IAAItyE,EAAM,GAClB,GAxBF,YA2BN9N,EAAAA,EAAAA,KAACsrS,GAAAA,OAAM,CAEL5/D,KAAM,gBACNj/N,KAAM,eACNsjF,QAASs9X,UAAc,IAADox+B,EAAAxmsB,EAAA8mtB,EACC,OAArBhkB,QAAqB,IAArBA,GAA8B,QAAT0D,EAArB1D,EAAuBx67C,eAAO,IAAAk+7C,GAA9BA,EAAgCjxC,WAAY,OAADzi6C,QAAC,IAADA,GAAM,QAALktwB,EAADltwB,EAAG8hM,WAAG,IAAAorkB,GAAM,QAAN8mtB,EAAN9mtB,EAAQpvrB,YAAI,IAAAk24C,OAAX,EAADA,EAAcjrB,QAAQ,GAJ/D,iBAON9z7C,EAAAA,EAAAA,KAACsrS,GAAAA,OAAM,CAEL5/D,KAAM,2BACNj/N,KAAM,UACNsjF,QAASs9X,UAAc,IAADky/B,EAAAvntB,EAAAgntB,EACH,OAAjBN,QAAiB,IAAjBA,GAA0B,QAATa,EAAjBb,EAAmBn+8C,eAAO,IAAAg/8C,GAA1BA,EAA4B/xD,WAAY,OAADzi6C,QAAC,IAADA,GAAM,QAALitwB,EAADjtwB,EAAG8hM,WAAG,IAAAmrkB,GAAM,QAANgntB,EAANhntB,EAAQnvrB,YAAI,IAAAm24C,OAAX,EAADA,EAAcQ,MAAM,EAE7Dh74C,QAAUz5E,IAAO,IAAD009C,EAAAC,EACd,OAAQ,OAAD309C,QAAC,IAADA,GAAM,QAAL009C,EAAD109C,EAAG8hM,WAAG,IAAA4yxC,GAAM,QAANC,EAAND,EAAQ524C,YAAI,IAAA624C,OAAX,EAADA,EAAcF,KAAK,GAPxB,gBAYR,OACEpn8C,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,EACE6S,EAAAA,EAAAA,KAAC696C,GAAU,CACTra,WAAYm8C,GACZlv9C,IAAKyi7C,EACLzP,YAAaA,KAEfzj6C,EAAAA,EAAAA,KAAC+96C,GAAQ,CACPnL,OAAO,oBACPpP,WAAYm8C,GACZl8C,YAAaA,EACbyP,UAAWA,EAEX8K,aAAa,EACbhY,UAAWA,EACXtx5C,OAAQ,OACR2+5C,mBAAoBA,EACpB4K,sBAAsB,EACtBj8xC,mBAAoBA,EACpBwxxC,gBAAgB,EAChBkrC,kBAAmBA,KAErB1+8C,EAAAA,EAAAA,KAACo/8C,GAAiB,CAChB3u9C,IAAKiq8C,EACL10B,UAAWA,EACXvC,YAAaA,EACby5B,aAAcA,KAEhBl97C,EAAAA,EAAAA,KAACk67C,GAAkB,CACjBzp8C,IAAKsq8C,EACL/0B,UAAWA,EACXx3hC,YAAY,EACZ+rjC,eAAe,EACf92B,YAAaA,KAEfzj6C,EAAAA,EAAAA,KAAC+r8C,GAAkB,CACjBt78C,IAAKiu9C,EACL14C,UAAWA,EACXvC,YAAaA,MAIrB,CCjHA,MAOA,GAPmB,CACjB99xC,MAAO,cACPqgyC,UAAW,YACXx16C,KAAMm1vC,GACN8gL,UAAW,kBCEE,SAASm5C,GAASzr9C,GAI7B,IAJ8B,UAChC6x6C,EAAS,mBACThkxC,EAAkB,YAClByhxC,GACDtv6C,EACC,MAAM++6C,GAAY1pG,EAAAA,EAAAA,UACZuxH,GAAwBvxH,EAAAA,EAAAA,UACxBg4H,GAAoBh4H,EAAAA,EAAAA,UAEpB6pG,EAAqB,EACzBrz6C,EAAAA,EAAAA,KAACsrS,GAAAA,OAAM,CAEL5/D,KAAM,gBACNj/N,KAAM,eACNsjF,QAASs9X,UAAc,IAADox+B,EAAAxmsB,EAAA8mtB,EACC,OAArBhkB,QAAqB,IAArBA,GAA8B,QAAT0D,EAArB1D,EAAuBx67C,eAAO,IAAAk+7C,GAA9BA,EAAgCjxC,WAAY,OAADzi6C,QAAC,IAADA,GAAM,QAALktwB,EAADltwB,EAAG8hM,WAAG,IAAAorkB,GAAM,QAAN8mtB,EAAN9mtB,EAAQpvrB,YAAI,IAAAk24C,OAAX,EAADA,EAAcjrB,QAAQ,GAJ/D,iBAON9z7C,EAAAA,EAAAA,KAACsrS,GAAAA,OAAM,CAEL5/D,KAAK,sBACLj/N,KAAK,eACL+3D,QAAUz5E,GACsB,MAAvBA,EAAE8hM,IAAIhkH,KAAK6q3C,SAEpB3j2C,QAAUhlG,IAAO,IAAD+88C,EACG,OAAjBtG,QAAiB,IAAjBA,GAA0B,QAATsG,EAAjBtG,EAAmBjh8C,eAAO,IAAAun8C,GAA1BA,EAA4Bt6C,WAAWzi6C,EAAE8hM,IAAIhkH,KAAKir3C,QAAQ,GAPxD,aAYR,OACE176C,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,EACE6S,EAAAA,EAAAA,KAAC696C,GAAU,CACTra,WAAYA,GACZ/y6C,IAAKyi7C,EACLzP,YAAaA,KAEfzj6C,EAAAA,EAAAA,KAAC+96C,GAAQ,CACPnL,OAAO,QACPpP,WAAYA,GACZC,YAAaA,EACbyP,UAAWA,EAEX8K,aAAa,EACbhY,UAAWA,EACXqN,mBAAoBA,EACpB3+5C,OAAQ,OACRup6C,sBAAsB,EACtBj8xC,mBAAoBA,EACpBwxxC,gBAAgB,KAElBxz6C,EAAAA,EAAAA,KAACk67C,GAAkB,CACjBzp8C,IAAKsq8C,EACL/0B,UAAWA,EACXx3hC,YAAY,EACZ+rjC,eAAe,EACf92B,YAAaA,KAEfzj6C,EAAAA,EAAAA,KAAC8i8C,GAAc,CACbry8C,IAAK+w8C,EACLhzjC,YAAY,MAIpB,CC9De,SAASqxkC,GAAQ1r9C,GAAiB,IAAhB,UAAE6x6C,GAAW7x6C,EAC5C,MAAM+o8C,GAAe1zH,EAAAA,EAAAA,UACfi6F,GAAcj6F,EAAAA,EAAAA,UACd9/0C,EAAUqU,EAAAA,WAAiB4x1C,IAE3B3tsC,EAAqB33I,IAA2B,IAA1B,iBAAEixc,GAAkBjxc,EAC9C,GAAIixc,GAAoBA,EAAiB,GAAI,CAC3C,IAAIw4+B,EAAUx4+B,EAAiB,GAAGw4+B,SAEG,IAAjCpq8C,EAAQmm2C,KAAK4sG,gBAEfuC,EAAUlL,EADHtsF,GAAS,oBAIhBw3F,EAAUlL,EADHtsF,GAAS,eAGpB,GAKIw3F,EAAYA,CAAClL,EAASgsB,KAC1BlrG,GAAel62C,KAAKol9C,EAAM,CACxBhsB,QAASA,IACR/9yC,MAAKs3U,gBACA6v+B,EAAa387C,QAAQs07C,aAAa,CACtCf,QAASA,EACTgB,SAAUjptC,EAAIhjK,KAAKA,MACnB,GAGF,EAUJ,OACEzwD,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,EACEirB,EAAAA,EAAAA,MAACwl6C,GAAO,CACN134B,OAAQ,CAAC,uBAAqB,sBAC9Bq34B,iBAXmBA,KACvB2f,EAAa387C,QAAQs07C,aAAa,CAChCf,QAAS,KACTgB,SAAU,MACV,EAOqC3n8C,SAAA,CAElCzD,EAAQmm2C,KAAK4sG,iBACZz87C,EAAAA,EAAAA,KAACs/8C,GAAiB,CAChBt5C,UAAWA,EACXhkxC,mBAAoBA,EACpBk7yC,aAAcA,EACdz5B,YAAaA,KAGfzj6C,EAAAA,EAAAA,KAACy+8C,GAAa,CACZz4C,UAAWA,EACXhkxC,mBAAoBA,EACpBk7yC,aAAcA,EACdz5B,YAAaA,IAGhB/56C,EAAQmm2C,KAAK4sG,iBACZz87C,EAAAA,EAAAA,KAAC4/8C,GAAS,CACR55C,UAAWA,EACXhkxC,mBAAoBA,EACpByhxC,YAAaA,KAGfzj6C,EAAAA,EAAAA,KAACk/8C,GAAK,CACJl5C,UAAWA,EACXhkxC,mBAAoBA,EACpByhxC,YAAaA,QAInBzj6C,EAAAA,EAAAA,KAACm/7C,GAAW,CAAC1u8C,IAAKys8C,EAAcz5B,YAAaA,MAGnD,CChFA,MCDA,GAPmB,CACjB99xC,MAAO,iCACPqgyC,UAAW,wBACXx16C,KDKa,CACb,CACEuC,KAAM,KACNuU,MAAO,WACPmjW,SAAU,SACVhO,UAAW,KACXj4R,QAAS,CAAC,QACV6h2C,cAAc,EACdtv5C,MAAO654C,IAET,CACE795C,KAAM,cACNuU,MAAO,uBACPmjW,SAAU,SACVhO,UAAW,cACXj4R,QAAS,CAAC,QACV8w2C,YAAazs7C,OAAO00B,OAAO+t1C,IAC3Bv01C,MAAO854C,IAET,CACE995C,KAAM,WACNuU,MAAO,sBACPmjW,SAAU,OACVhO,UAAW,WACXj4R,QAAS,CAAC,QACVgsS,cAAgBzlX,IAAO,OAADA,QAAC,IAADA,OAAC,EAADA,EAAGgB,QAAS056C,GAAiB,OAAD166C,QAAC,IAADA,OAAC,EAADA,EAAGgB,OACrDgrB,MAAO+54C,IAET,CACE/95C,KAAM,YACNuU,MAAO,mBACPmjW,SAAU,OACVhO,UAAW,YACXj4R,QAAS,CAAC,QACVztD,MAAO,QACPwv5C,kBAAmB,CACjB,CACEvB,yBAA0B,CACxBp9D,GAAiBI,KAAKnthC,MACtB+shC,GAAiBK,YAAYpthC,MAC7B+shC,GAAiBG,QAAQlthC,UAKjC,CACE9nV,KAAM,yBACNuU,MAAO,sBACPmjW,SAAU,OACVhO,UAAW,yBACXj4R,QAAS,CAAC,QACVztD,MAAO,QACPwv5C,kBAAmB,CACjB,CACEvB,yBAA0B,CACxBp9D,GAAiBI,KAAKnthC,MACtB+shC,GAAiBK,YAAYpthC,MAC7B+shC,GAAiBG,QAAQlthC,UAKjC,CACE9nV,KAAM,qBACNuU,MAAO,mBACPmjW,SAAU,OACVhO,UAAW,qBACXj4R,QAAS,CAAC,SAsBZ,CACEzxE,KAAM,mBACNuU,MAAO,oBACPmjW,SAAU,OACVhO,UAAW,mBACXj4R,QAAS,CAAC,QACV8h2C,UAAW,OACXvv5C,MAAO,SAIT,CACEhkB,KAAM,SACNuU,MAAO,sBACPmjW,SAAU,OACVhO,UAAW,SACXj4R,QAAS,CAAC,WAEZ,CACEzxE,KAAM,SACNuU,MAAO,sBACPmjW,SAAU,OACVhO,UAAW,SACXj4R,QAAS,CAAC,WAEZ,CACEzxE,KAAM,UACNuU,MAAO,WACPmjW,SAAU,SACVhO,UAAW,UACXj4R,QAAS,CAAC,WAEZ,CACEzxE,KAAM,cACNuU,MAAO,WACPmjW,SAAU,SACVhO,UAAW,cACXj4R,QAAS,CAAC,UACV9T,MAAO7nE,OAAO00B,OAAO+t1C,KAEvB,CACEv42C,KAAM,SACNuU,MAAO,mBACPmjW,SAAU,OACVhO,UAAW,SACXj4R,QAAS,CAAC,UACVwg2C,yBAA0B,CACxBp9D,GAAiBI,KAAKnthC,MACtB+shC,GAAiBK,YAAYpthC,MAC7B+shC,GAAiBG,QAAQlthC,QAI7B,CACE9nV,KAAM,WACNuU,MAAO,sBACPmjW,SAAU,OACVhO,UAAW,WACXj4R,QAAS,CAAC,WAEZ,CACEzxE,KAAM,kBACNuU,MAAO,mBACPmjW,SAAU,SACVhO,UAAW,kBACXj4R,QAAS,CAAC,UACV2g2C,gBAAiBqe,GACjBx2B,QAAS,CAAEk8C,UAAU,KChKvBziC,UAAW,2BCCE,SAASs5C,GAAc5r9C,GAAiB,IAAhB,UAAE6x6C,GAAW7x6C,EAClD,MAAMsv6C,GAAcj6F,EAAAA,EAAAA,UACd0pG,GAAY1pG,EAAAA,EAAAA,UACZg4H,GAAoBh4H,EAAAA,EAAAA,UAEpB6pG,EAAqB,CAACo1B,GAAmBjH,IAE/C,OACEpp7C,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,EACE6S,EAAAA,EAAAA,KAAC696C,GAAU,CACTra,WAAYA,GACZ/y6C,IAAKyi7C,EACLzP,YAAaA,KAEfzj6C,EAAAA,EAAAA,KAAC+96C,GAAQ,CACPnL,OAAO,iBACPpP,WAAYA,GACZC,YAAaA,EACbyP,UAAWA,EACXlN,UAAWA,EACXgY,aAAa,EACb3K,mBAAoBA,EACpBG,gBAAgB,KAElBxz6C,EAAAA,EAAAA,KAAC8i8C,GAAc,CACbry8C,IAAK+w8C,EACLhzjC,YAAY,MAIpB,CC3BA,MCFA,GANmB,CACjB7oQ,MAAO,6BACPn1I,KDMa,CACb,CACEuC,KAAM,KACNuU,MAAO,WACPmjW,SAAU,SACVhO,UAAW,KACXj4R,QAAS,CAAC,QACV6h2C,cAAc,EACdtv5C,MAAO654C,IAET,CACE795C,KAAM,cACNuU,MAAO,uBACPmjW,SAAU,SACVhO,UAAW,cACXj4R,QAAS,CAAC,QACV8w2C,YAAazs7C,OAAO00B,OAAO+t1C,IAC3Bv01C,MAAO854C,IAET,CACE995C,KAAM,qBACNuU,MAAO,mBACPmjW,SAAU,OACVhO,UAAW,qBACXj4R,QAAS,CAAC,QACVztD,MAAO,IACPuR,SAAU,KAEZ,CACEv1B,KAAM,wBACNuU,MAAO,kBACPmjW,SAAU,OACVhO,UAAW,wBACXj4R,QAAS,CAAC,QACV8h2C,UAAW,OACXvv5C,MAAOo64C,GACP7o4C,SAAU6o4C,IAEZ,CACEp+5C,KAAM,WACNuU,MAAO,sBACPmjW,SAAU,OACVhO,UAAW,WACXj4R,QAAS,CAAC,QACVgsS,cAAgBzlX,IAAO,OAADA,QAAC,IAADA,OAAC,EAADA,EAAGgB,QAAS056C,GAAiB,OAAD166C,QAAC,IAADA,OAAC,EAADA,EAAGgB,OACrDgrB,MAAOm64C,IAET,CACEn+5C,KAAM,wBACNuU,MAAO,oBACPmjW,SAAU,OACVhO,UAAW,wBACXj4R,QAAS,CAAC,QACVztD,MAAO,QACPuR,SAAU,SAIZ,CACEv1B,KAAM,SACNuU,MAAO,oBACPmjW,SAAU,OACVhO,UAAW,SACXj4R,QAAS,CAAC,WAEZ,CACEzxE,KAAM,SACNuU,MAAO,oBACPmjW,SAAU,OACVhO,UAAW,SACXj4R,QAAS,CAAC,WAEZ,CACEzxE,KAAM,cACNuU,MAAO,WACPmjW,SAAU,SACVhO,UAAW,cACXj4R,QAAS,CAAC,UACV9T,MAAO7nE,OAAO00B,OAAO+t1C,KAEvB,CACEv42C,KAAM,WACNuU,MAAO,sBACPmjW,SAAU,OACVhO,UAAW,WACXj4R,QAAS,CAAC,WAEZ,CACEzxE,KAAM,yBACNuU,MAAO,sBACPmjW,SAAU,OACVhO,UAAW,yBACXj4R,QAAS,CAAC,WAEZ,CACEzxE,KAAM,yBACNuU,MAAO,sBACPmjW,SAAU,OACVhO,UAAW,yBACXj4R,QAAS,CAAC,YCxGZii2C,UAAW,mCCGE,SAASu5C,KACtB,MAAMv8C,GAAcj6F,EAAAA,EAAAA,UACd0pG,GAAY1pG,EAAAA,EAAAA,UACZg4H,GAAoBh4H,EAAAA,EAAAA,UAEpB6pG,EAAqB,CAACo1B,GAAmBjH,IAE/C,OACEpp7C,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,EACE6S,EAAAA,EAAAA,KAAC696C,GAAU,CACTra,WAAYA,GACZ/y6C,IAAKyi7C,EACLzP,YAAaA,KAEfzj6C,EAAAA,EAAAA,KAAC+96C,GAAQ,CACPnL,OAAO,wBACPpP,WAAYA,GACZC,YAAaA,EACbyP,UAAWA,EAEX8K,aAAa,EACb3K,mBAAoBA,EACpBG,gBAAgB,KAElBxz6C,EAAAA,EAAAA,KAAC8i8C,GAAc,CACbry8C,IAAK+w8C,EACLhzjC,YAAY,MAIpB,CC3BA,MCEA,GAXmB,CACjB7oQ,MAAO,mBACPqgyC,UAAW,eACXx16C,KDMa,CACb,CACEuC,KAAM,KACNuU,MAAO,KACPmjW,SAAU,SACVhO,UAAW,KACXj4R,QAAS,CAAC,QACV6h2C,cAAc,EACdtv5C,MAAO654C,IAET,CACE795C,KAAM,YACNuU,MAAO,QACPmjW,SAAU,OACVhO,UAAW,YACXj4R,QAAS,CAAC,QACV+h2C,kBAAmB,CACjB,CACEvB,yBAA0Bp9D,GAAiBG,QAAQlthC,SAIzD,CACE9nV,KAAM,cACNuU,MAAO,mCACPmjW,SAAU,OACVhO,UAAW,cACXj4R,QAAS,CAAC,QACVztD,MAAOg64C,IAET,CACEh+5C,KAAM,OACNuU,MAAO,OACPmjW,SAAU,OACVhO,UAAW,OACXj4R,QAAS,CAAC,QACVztD,MAAOm64C,IAET,CACEn+5C,KAAM,aACNuU,MAAO,cACPmjW,SAAU,OACVhO,UAAW,aACXj4R,QAAS,CAAC,QACVztD,MAAO454C,IAET,CACE595C,KAAM,YACN0pW,UAAW,aACXn1V,MAAO,aACPmjW,SAAU,OACV1zU,OAAQ,QACRytC,QAAS,CAAC,QACVztD,MAAO454C,IAET,CACE595C,KAAM,gBACNuU,MAAO,iBACPmjW,SAAU,OACVhO,UAAW,gBACXj4R,QAAS,CAAC,QACVztD,MAAO454C,IAET,CACE595C,KAAM,QACNuU,MAAO,QACPmjW,SAAU,SACVhO,UAAW,QACXj4R,QAAS,CAAC,QACV8w2C,YAAazs7C,OAAO00B,OAAOgx1C,KAE7B,CACEx72C,KAAM,WACNuU,MAAO,mBACPmjW,SAAU,OACVhO,UAAW,WACXj4R,QAAS,CAAC,QACVztD,MAAOm64C,GACP1gjC,cAAgBzlX,IAAO,OAADA,QAAC,IAADA,OAAC,EAADA,EAAGgB,QAAS056C,GAAiB,OAAD166C,QAAC,IAADA,OAAC,EAADA,EAAGgB,QAEvD,CACEgH,KAAM,WACNuU,MAAO,WACPmjW,SAAU,OACVhO,UAAW,WACXj4R,QAAS,CAAC,QACVztD,MAAOm64C,IAGT,CACEn+5C,KAAM,UACNuU,MAAO,qBACPmjW,SAAU,UACVhO,UAAW,UACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,aACNuU,MAAO,aACPmjW,SAAU,OACVhO,UAAW,aACXj4R,QAAS,CAAC,QACVgsS,cAAgBo7Q,GAAa6j1B,GAAqB,OAAR7j1B,QAAQ,IAARA,OAAQ,EAARA,EAAU7/nB,OACpDwrV,cAAc,GAEhB,CACExkV,KAAM,aACNuU,MAAO,aACPmjW,SAAU,OACVhO,UAAW,aACXj4R,QAAS,CAAC,QAEVgsS,cAAgBo7Q,GAAag6yB,GAAoB,OAARh6yB,QAAQ,IAARA,OAAQ,EAARA,EAAU7/nB,OACnDwrV,cAAc,GAGhB,CACExkV,KAAM,SACNuU,MAAO,wCACPmjW,SAAU,OACVhO,UAAW,SACXj4R,QAAS,CAAC,WAEZ,CACEzxE,KAAM,SACNuU,MAAO,4BACPmjW,SAAU,OACVhO,UAAW,SACXj4R,QAAS,CAAC,WAEZ,CACEzxE,KAAM,SACNuU,MAAO,cACPmjW,SAAU,OACVhO,UAAW,SACXj4R,QAAS,CAAC,UACVwg2C,yBAA0Bp9D,GAAiBG,QAAQlthC,OAErD,CACE9nV,KAAM,QACNuU,MAAO,QACPmjW,SAAU,SACVhO,UAAW,QACXj4R,QAAS,CAAC,UACV9T,MAAO7nE,OAAO00B,OAAOgx1C,IACrB1h3C,aAAc0h3C,GAAWC,UAAU3zhC,QCtJrC4rlC,UAAW,gBACXC,aAAc,mBACdC,YAAa,kBACbC,YAAa,kBACbE,YAAa,mBCNf,IAAe585C,EAAAA,GAAaA,GAAC,EAAclK,EAAAA,EAAAA,KAAK,OAAQ,CACtDtS,EAAG,6MACF,MAAmBsS,EAAAA,EAAAA,KAAK,SAAU,CACnCmJ,GAAI,IACJC,GAAI,KACJC,EAAG,KACF,MAAmBrJ,EAAAA,EAAAA,KAAK,SAAU,CACnCmJ,GAAI,KACJC,GAAI,KACJC,EAAG,KACF,MAAmBrJ,EAAAA,EAAAA,KAAK,OAAQ,CACjCtS,EAAG,6HACF,MAAO,gBCZV,IAAewc,EAAAA,GAAaA,IAAelK,EAAAA,EAAAA,KAAK,OAAQ,CACtDtS,EAAG,2NACD,cCyCJ,GA5C0BqQ,EAAAA,YACxB,CAAA5J,EAAqD1D,KAAS,IAA7D,MAAEM,EAAK,KAAEg3xC,EAAI,MAAEzgxC,EAAK,aAAEza,EAAe,MAAOyxP,GAAMnqP,EACjD,MAAMg53C,EAAet71C,IACfA,EACF9gC,EAAMs7S,SAASx6Q,GAEf9gC,EAAMs7S,SAAS,KACjB,EAQF,OALAtuS,EAAAA,oBAA0BtN,GAAK,MAC7B083C,YAAaA,EACbph4C,MAAOgF,EAAMhF,WAIbiU,EAAAA,EAAAA,KAAC0v4C,GAAS,IACJ3+4C,EACJ0iB,GAAI,CACFsD,MAAO,OACPhmB,MAAO,IACK,OAALA,QAAK,IAALA,GAAAA,EAAOhF,MAA4B,CAAC,EAArB,CAAE8iB,MAAO,UAGjCvH,MAAOA,EACP+kS,SAAWthT,GAAMgG,EAAMs7S,SAASthT,EAAEwc,OAAOxb,OACzCk1B,QAAQ,WACRzwB,KAAK,iBAMLq+4C,gBAAiB,CACfz3uB,QAAQ,GAEVuhuB,WAAY,CAAE192C,SAAUqjO,EAAKrjO,UAC7BnN,MAAOi6wC,EAAKj6wC,OAASi6wC,EAAK4iG,QAC1BikB,WAAY7mH,EAAKj6wC,OAASi6wC,EAAK4iG,QAAU5iG,EAAKj6wC,MAAQ,QAClDwwO,GACJ,ICjBR,GArByBvgP,EAAAA,YACvB,CAAA5J,EAA+B1D,KAAS,IAAvC,UAAEu16C,EAAS,cAAEksB,GAAe/97C,EAC3B,MAAM,KAAE47B,EAAI,YAAE0v4C,GAAgByD,GAAezy6C,GAE7C,OACEuP,EAAAA,EAAAA,KAACuj6C,GAAY,CACXxz4C,KAAMA,EACN812C,YAAa45B,EACbgB,WAAW,uBACXv44C,SAAS,KACTw6zC,WAAW,EAAKv11C,UAEhB6S,EAAAA,EAAAA,KAACwv8C,GAAU,CACTxpC,UAAWA,EACXksB,cAAe,IAAKA,EAAepl8C,GAAIol8C,EAAcpO,aAE1C,ICUfm8B,GAAiBli9C,EAAAA,YAAiB,CAAA5J,EAA6B1D,KAAS,IAADy36C,EAAAg4C,EAAAC,EAAAC,EAAAC,EAAA,IAApC,UAAEr6C,EAAS,YAAEvC,GAAatv6C,EACjE,MAAMyv7C,GAAiBp6G,EAAAA,EAAAA,UACjBy8F,GAAmBz8F,EAAAA,EAAAA,UACnB82I,GAAkB92I,EAAAA,EAAAA,UAClB+2I,GAAqB/2I,EAAAA,EAAAA,UACrBg3I,GAAwBh3I,EAAAA,EAAAA,UACxBi3I,GAAuBj3I,EAAAA,EAAAA,UAEvB4pD,EAAe,CACnBstF,WAAY9/O,OACZ+/O,SAAS,IAIL,QACJtlmC,EAAO,KACPtrV,EAAI,YACJ812C,EAAW,aACX2qB,EAAY,aACZ/8B,EAAY,aACZ9znC,EAAY,mBACZ+/pC,EAAkB,MAClB+I,EAAK,cACLF,GACEsD,GACFp76C,EACA+y6C,GACAC,EACAuC,EACA5yC,EACA,KACA,MASIt9wC,EAAW4pzC,EANQoM,KAAa5n5C,MAAM,CAC1C087C,MAAO90C,KAAa974C,WAEpB8z5C,SAAUhY,KAAa974C,cAKnBsw6C,EAAqBj27C,IAAwC,IAAvC,MAAE/C,EAAK,aAAEkp5C,EAAY,SAAErj6C,GAAUkd,EAC3D,OACErK,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAOA,EACPkp5C,aAAcA,EACdz54C,MAAM,MACNuwH,UAAU,MAAKn6I,SAEdA,GACY,EAGbzD,EAAUqU,EAAAA,WAAiB4x1C,IAE3BkxH,EAAqB,CACzBzjB,MAAc,OAAP/hlC,QAAO,IAAPA,OAAO,EAAPA,EAASylmC,cAChBtoB,SAAiB,OAAPn9kC,QAAO,IAAPA,OAAO,EAAPA,EAASm9kC,SACnB1U,SAAiB,OAAPzokC,QAAO,IAAPA,OAAO,EAAPA,EAASyokC,SACnBg1B,WAAmB,OAAPz9lC,QAAO,IAAPA,OAAO,EAAPA,EAASy9lC,WACrBiI,mBAA2B,OAAPr39C,QAAO,IAAPA,GAAa,QAANw+6C,EAAPx+6C,EAASmm2C,YAAI,IAAAq4E,OAAN,EAAPA,EAAep76C,GACnCyh9C,eACS,OAAPlzlC,QAAO,IAAPA,GAAmB,QAAZ6kmC,EAAP7kmC,EAAS2lmC,kBAAU,IAAAd,OAAZ,EAAPA,EAAqBj39C,QAAS,EAAIoyX,EAAQ2lmC,WAAW,GAAGl09C,GAAK,KAC/D6h9C,kBACS,OAAPtzlC,QAAO,IAAPA,GAAmB,QAAZ8kmC,EAAP9kmC,EAAS2lmC,kBAAU,IAAAb,OAAZ,EAAPA,EAAqBl39C,QAAS,EAC1BoyX,EAAQ2lmC,WAAW,GAAGj7C,YACtB,KACNyoC,cACS,OAAPnzlC,QAAO,IAAPA,GAAmB,QAAZ+kmC,EAAP/kmC,EAASwqjC,kBAAU,IAAAu6C,OAAZ,EAAPA,EAAqBn39C,QAAS,EAAIoyX,EAAQwqjC,WAAW,GAAG/46C,GAAK,KAC/Dm09C,iBACS,OAAP5lmC,QAAO,IAAPA,GAAmB,QAAZglmC,EAAPhlmC,EAASwqjC,kBAAU,IAAAw6C,OAAZ,EAAPA,EAAqBp39C,QAAS,EAAIoyX,EAAQwqjC,WAAW,GAAGkf,QAAU,MAuBhEm8B,EAA0BA,CAACn19C,EAAO8lC,KAClCA,EAASgpT,QAAU0zhC,GAAWE,YAAY5zhC,OAC5C2loC,EAAsBjg9C,QAAQ4s3C,YAC5BozF,EAAmBhg9C,QAAQxU,MAE/B,EAGF,OACEqsB,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,EACE6S,EAAAA,EAAAA,KAACuj6C,GAAY,CACXxz4C,KAAMA,EACN812C,YAAaA,EACb46B,WAAW,qBACXv44C,SAAS,KAAI/6B,UAEb6S,EAAAA,EAAAA,KAACyvT,GAAI,CAEH42V,SAAUotuB,EACVrJ,cAAe/ugC,EACfvlQ,SAAUA,EACV5oH,OAAQkzB,IAAA,IAAAqj6C,EAAAC,EAAAC,EAAA,IAAC,aACPlwD,EAAY,KACZx5jC,EAAI,WACJwwjC,EAAU,SACVI,EAAQ,OACRtt2C,EAAM,MACNyQ,GACD5N,EAAA,OACChI,EAAAA,EAAAA,MAAC4z5C,GAAa,CAAC3lxB,SAAUotuB,EAAatm4C,SAAA,EACpCirB,EAAAA,EAAAA,MAAC0o5C,GAAoB,CAAA3z6C,SAAA,EACnBirB,EAAAA,EAAAA,MAACuz5C,GAAgB,CAAAx+6C,SAAA,EACfirB,EAAAA,EAAAA,MAACi7R,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAEl0B,SAAA,EAC9B6S,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,mBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CAACzkT,UAAQ,EAACzY,KAAK,KAAK0kB,UAAW833C,QAEvCvv4C,EAAAA,EAAAA,KAACis6C,GAAY,CAAC3k6C,MAAM,QAAQkp5C,aAAcA,EAAarj6C,UACrD6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,WACLsoX,QAASA,EACT5jW,UAAW+u5C,GACXvr5C,UAAWwt5C,EAAM6C,OACjBh2C,SAAUsuD,EACV3d,iBAAkBA,OAGtBjm6C,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,mCACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,cACL0kB,UAAW833C,GACXt03C,UAAWwt5C,EAAM6C,eAKvBlz5C,EAAAA,EAAAA,MAACi7R,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAEl0B,SAAA,EAC9B6S,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,cACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,aACL0kB,UAAW0p8C,GACXlm8C,UAAWwt5C,EAAM6C,OACjB766C,IAAK8v9C,OAGTvg9C,EAAAA,EAAAA,KAACis6C,GAAY,CAAC3k6C,MAAM,QAAQkp5C,aAAcA,EAAarj6C,UACrD6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,QACL29D,MAAO7nE,OAAO00B,OAAOgx1C,IACrBlz/B,QAASA,EACT5jW,UAAW2z4C,GACXnw4C,UAAWwt5C,EAAM6C,OACjB77B,cAAeyxE,OAGnBlh9C,EAAAA,EAAAA,KAACis6C,GAAY,CAAC3k6C,MAAM,OAAOkp5C,aAAcA,EAAarj6C,UACpD6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,OACL0kB,UAAWu+6C,GACX/66C,UAAWwt5C,EAAM6C,OACjBj2C,QAAS,UAIfj92C,EAAAA,EAAAA,MAACi7R,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAEl0B,SAAA,EAC9B6S,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,iBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,gBACL0kB,UAAW0p8C,GACXlm8C,UAAWwt5C,EAAM6C,OACjB766C,IAAK+v9C,OAGTxg9C,EAAAA,EAAAA,KAACis6C,GAAY,CAAC3k6C,MAAM,YAAYkp5C,aAAcA,EAAarj6C,UACzD6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJzkT,UAAQ,EACRzY,KAAK,WACL0kB,UAAW833C,QAGfvv4C,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,qCACNkp5C,aAAcA,EACdz54C,MAAM,MACNuwH,UAAU,MAAKn6I,UAEf6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,UACL0kB,UAAWk74C,GACXnn5C,UAAU,aAKlB4M,EAAAA,EAAAA,MAACi7R,EAAI,CAAC9gT,WAAS,EAACqa,UAAU,MAAM0wG,cAAe,EAAEnwH,SAAA,EAC/C6S,EAAAA,EAAAA,KAACqzS,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,GAAIC,GAAI,EAAEj0B,UACvB6S,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,aACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,aACLsoX,QAASA,EACTgwiC,kBAAmB,CACjB0B,WAAY,yBACZN,aAAc,CAAC,WACfG,cAAe,KACfI,QAAS,CACP82B,SACqC,MAArB,OAAdF,QAAc,IAAdA,GAAuB,QAATH,EAAdG,EAAgBrj7C,eAAO,IAAAkj7C,OAAT,EAAdA,EAAyB137C,OACrB,EACc,OAAd637C,QAAc,IAAdA,GAAuB,QAATF,EAAdE,EAAgBrj7C,eAAO,IAAAmj7C,OAAT,EAAdA,EAAyB337C,QAGnC0rB,UAAWiy5C,GACXzu5C,UACGwt5C,EAAM6C,QAA6C,MAArB,OAAdsY,QAAc,IAAdA,GAAuB,QAATD,EAAdC,EAAgBrj7C,eAAO,IAAAoj7C,OAAT,EAAdA,EAAyB537C,OAE5C0E,IAAKw16C,EACL2d,eAAgBA,SAItB5j7C,EAAAA,EAAAA,KAACqzS,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,GAAIC,GAAI,EAAEj0B,UACvB6S,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,aACNkp5C,aAAcA,EACdz54C,MAAM,MACNuwH,UAAU,MAAKn6I,UAEf6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,aACLsoX,QAASA,EACTgwiC,kBAAmB,CACjB0B,WAAY,8BACZN,aAAc,CAAC,eACfG,cAAe,KACfI,QAAS,CACPkf,0BAA0B,IAG9Bz05C,UAAWiy5C,GACXzu5C,UAAWwt5C,EAAM6C,iBAKzBtr6C,EAAAA,EAAAA,KAACsg8C,EAAkB,CACjBh57C,MAAM,WACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,WACL0kB,UAAWu+6C,GACX/66C,UAAWwt5C,EAAM6C,OACjBj2C,QAAS,OAGbr13C,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,WACL0kB,UAAW005C,GACX7k6C,MAAM,mBACNkp5C,aAAcA,EACdv14C,UAAWwt5C,EAAM6C,OACjB/36C,MAAO,CAAEy2B,UAAW,UAGxB5R,EAAAA,EAAAA,MAACqx5C,GAAoB,CACnBh25C,GAAI,CACFyX,eAAgB,iBAChB/9B,SAAA,EAEF6S,EAAAA,EAAAA,KAACqzS,EAAI,CAAAlmT,UACHirB,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,CACGkuX,EAAQ+lmC,SAAW,GAClBph9C,EAAAA,EAAAA,KAACw4pB,GAAa,CACZ3ppB,MAAM,OACNs32C,WAAWnm3C,EAAAA,EAAAA,KAACqh9C,GAAY,IACxBtx3C,QAAUhlG,IAAO,IAADu29C,EACS,QAAvBA,EAAAhB,EAAgB//8C,eAAO,IAAA+g9C,GAAvBA,EAAyB9zD,WAAWnyiC,EAAQ+lmC,SAAS,EAEvD518C,UAAW6vW,EAAQvuX,GAAGK,SACvB,iDAID6S,EAAAA,EAAAA,KAACw4pB,GAAa,CACZ3ppB,MAAM,OACNs32C,WAAWnm3C,EAAAA,EAAAA,KAACqh9C,GAAY,IACxBtx3C,QAAUhlG,IAAO,IAADw29C,EACS,QAAvBA,EAAAjB,EAAgB//8C,eAAO,IAAAgh9C,GAAvBA,EAAyB/zD,WAAW,KAAK,EAE3Chi5C,UAAW6vW,EAAQvuX,GAAGK,SACvB,2CAIH6S,EAAAA,EAAAA,KAAC6w6C,GAAmB,CAClBhi6C,MAAM,SACNs32C,WAAWnm3C,EAAAA,EAAAA,KAACwh9C,GAAU,IACtBzx3C,QAAUhlG,IAAO,IAAD029C,EACc,QAA5BA,EAAAhB,EAAqBlg9C,eAAO,IAAAkh9C,GAA5BA,EAA8Bj0D,YAAY,EAE5Chi5C,UAAW6vW,EAAQvuX,GAAGK,SACvB,+BAKL6S,EAAAA,EAAAA,KAAC4q6C,GAAY,CACXnC,MAAOA,EACPxumC,KAAMA,EACNt6D,aAAcA,EACd8qnC,WAAYA,EACZI,SAAUA,EACVqgD,eAAgB7vjC,EAAQ+lmC,SAAW,EACnC5wD,aAAcA,SAGJ,GAzOd,mBA6ORxw5C,EAAAA,EAAAA,KAACsv8C,GAAY,CACX7+8C,IAAK6v9C,EACLt6C,UAAWA,EACXvC,YAAaA,EACbx56C,MAAO429C,EACPl5C,eAvRwB97rC,IAAS,IAADqhrC,EAAAC,EACqB82B,EAAAC,EAAjC,MAApB7okC,EAAQ+lmC,WAAuB,OAAHv1uC,QAAG,IAAHA,GAAS,QAANqhrC,EAAHrhrC,EAAKhjK,YAAI,IAAAqk1C,GAAM,QAANC,EAATD,EAAWrk1C,YAAI,IAAAsk1C,OAAZ,EAAHA,EAAiBrg6C,IAAK,GACpD8n3C,GAAelvzB,QAAQ,CACrBn3U,OAAQ,OACR10N,IAAK,GAAG2t1C,4BACR3+xC,KAAM,CACJ/7E,GAAIuuX,EAAQvuX,GACZs09C,SAAa,OAAHv1uC,QAAG,IAAHA,GAAS,QAANo4sC,EAAHp4sC,EAAKhjK,YAAI,IAAAo72C,GAAM,QAANC,EAATD,EAAWp72C,YAAI,IAAAq72C,OAAZ,EAAHA,EAAiBp37C,MAG5BipJ,MAAM81F,IAAS,IAADm4rC,EAAAC,EACbsE,EAAc18rC,EAAIhjK,KAAKA,MACZ,OAAX461C,QAAW,IAAXA,GAAoB,QAATO,EAAXP,EAAalj6C,eAAO,IAAAyj6C,GAAU,QAAVC,EAApBD,EAAsBrz6C,gBAAQ,IAAAsz6C,GAA9BA,EAAgCv+0C,SAAS,IAE1C6kE,OAAOz8I,IACN+yE,QAAQT,IAAItyE,EAAM,GAExB,KAwQE9N,EAAAA,EAAAA,KAAC0h9C,GAAgB,CACf17C,UAAWA,EACXv16C,IAAKgw9C,EACLvuB,cAAe72kC,MAEhB,IAGP,MCtWA,GA9BiBlnX,IAAoB,IAAnB,UAAE6x6C,GAAW7x6C,EAC7B,MAAMsv6C,GAAcj6F,EAAAA,EAAAA,UACd0pG,GAAY1pG,EAAAA,EAAAA,UACZ8pG,GAAY9pG,EAAAA,EAAAA,UAElB,OACEpxzC,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,EACE6S,EAAAA,EAAAA,KAAC696C,GAAU,CACTra,WAAYA,GACZ/y6C,IAAKyi7C,EACLzP,YAAaA,KAEfzj6C,EAAAA,EAAAA,KAAC+96C,GAAQ,CACPnL,OAAO,WACPpP,WAAYA,GACZC,YAAaA,EACbyP,UAAWA,EACXI,UAAWA,EACX0K,aAAW,EACXhY,UAAWA,KAEbhm6C,EAAAA,EAAAA,KAACig9C,GAAc,CACbxv9C,IAAK6i7C,EACLtN,UAAWA,EACXvC,YAAaA,MAEd,kBC7BP,MCQA,GATmB,CACjB99xC,MAAO,mCACPqgyC,UAAW,2BACXx16C,KDFa,CACb,CACEuC,KAAM,UACNuU,MAAO,WACPmjW,SAAU,SACVhO,UAAW,UACXj4R,QAAS,CAAC,QACV6h2C,cAAc,EACdtv5C,MAAO654C,GACP0V,UAAW,QAEb,CACEvz6C,KAAM,YACNuU,MAAO,mBACPmjW,SAAU,OACVhO,UAAW,YACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,gBACNuU,MAAO,mBACPmjW,SAAU,OACVhO,UAAW,gBACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,mBACNuU,MAAO,6BACPmjW,SAAU,OACVhO,UAAW,mBACXj4R,QAAS,CAAC,QACVztD,MAAOo64C,IAET,CACEp+5C,KAAM,kBACNuU,MAAO,yCACPmjW,SAAU,OACVhO,UAAW,kBACXj4R,QAAS,CAAC,QACVztD,MAAOo64C,IAGT,CACEp+5C,KAAM,cACNuU,MAAO,0BACPmjW,SAAU,OACVhO,UAAW,cACXj4R,QAAS,CAAC,QACVztD,MAAOo64C,IAIT,CACEp+5C,KAAM,iBACNuU,MAAO,kBACPmjW,SAAU,OACVhO,UAAW,iBACXj4R,QAAS,CAAC,QAEVgsS,cAAgBo7Q,GAAag6yB,GAAoB,OAARh6yB,QAAQ,IAARA,OAAQ,EAARA,EAAU7/nB,OACnDwrV,cAAc,GAKhB,CACExkV,KAAM,UACNuU,MAAO,WACPmjW,SAAU,SACVhO,UAAW,UACXj4R,QAAS,CAAC,WAEZ,CACEzxE,KAAM,eACNuU,MAAO,+BACPmjW,SAAU,OACVhO,UAAW,eACXj4R,QAAS,CAAC,WAEZ,CACEzxE,KAAM,eACNuU,MAAO,+BACPmjW,SAAU,OACVhO,UAAW,eACXj4R,QAAS,CAAC,YCjFZii2C,UAAW,6BCKE,SAASk7C,GAAoBxt9C,GAAiB,IAAhB,UAAE6x6C,GAAW7x6C,EACxD,MAAMsv6C,GAAcj6F,EAAAA,EAAAA,UACd0pG,GAAY1pG,EAAAA,EAAAA,UAEZg4H,GAAoBh4H,EAAAA,EAAAA,UAUpB6pG,EAAqB,EACzBrz6C,EAAAA,EAAAA,KAACsrS,GAAAA,OAAM,CAEL5/D,KAAM,gBACNj/N,KAAM,eACNsjF,QAASs9X,UAAc,IAADy6+B,EACH,OAAjBtG,QAAiB,IAAjBA,GAA0B,QAATsG,EAAjBtG,EAAmBjh8C,eAAO,IAAAun8C,GAA1BA,EAA4Bt6C,WAAWzi6C,EAAE8hM,IAAIhkH,KAAKir3C,QAAQ,GAJxD,iBAQN9z7C,EAAAA,EAAAA,KAACsrS,GAAAA,OAAM,CAEL5/D,KAAM,2CACNj/N,KAAM,QACNsjF,QAASs9X,UACPun5B,GAAelvzB,QAAQ,CACrBn3U,OAAQ,OACR10N,IAAK,GAAG2t1C,qDACR3+xC,KAAM,CACJ/7E,GAAI/B,EAAE8hM,IAAIhkH,KAAKir3C,WAGhB/9yC,MAAKs3U,gBACEo28B,EAAYlj6C,QAAQ5P,SAAS+0F,SAAS,IAE7C6kE,OAAOz8I,IACNo55C,GAAWp55C,EAAMsnG,SAASvsC,KAAK,GAC/B,EAENrE,QAAUz5E,IAEkC,IAAxCA,EAAE8hM,IAAIhkH,KAAK+44C,2BACuB,IAAlC729C,EAAE8hM,IAAIhkH,KAAKg54C,oBArBX,kBAyBN7h9C,EAAAA,EAAAA,KAACsrS,GAAAA,OAAM,CAEL5/D,KAAM,6CACNj/N,KAAM,QACNsjF,QAASs9X,UACPun5B,GAAelvzB,QAAQ,CACrBn3U,OAAQ,OACR10N,IAAK,GAAG2t1C,uDACR3+xC,KAAM,CACJ/7E,GAAI/B,EAAE8hM,IAAIhkH,KAAKir3C,WAGhB/9yC,MAAKs3U,gBACEo28B,EAAYlj6C,QAAQ5P,SAAS+0F,SAAS,IAE7C6kE,OAAOz8I,IACNo55C,GAAWp55C,EAAMsnG,SAASvsC,KAAK,GAC/B,EAENrE,QAAUz5E,IAEkC,IAAxCA,EAAE8hM,IAAIhkH,KAAK+44C,2BACuB,IAAlC729C,EAAE8hM,IAAIhkH,KAAKg54C,oBArBX,oBA2BR,OACEzp8C,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,EACE6S,EAAAA,EAAAA,KAAC696C,GAAU,CACTra,WAAYA,GACZ/y6C,IAAKyi7C,EACLzP,YAAaA,KAEfzj6C,EAAAA,EAAAA,KAAC+96C,GAAQ,CACPnL,OAAO,aACPpP,WAAYA,GACZC,YAAaA,EACbyP,UAAWA,EAEX8K,aAAa,EACbhY,UAAWA,EACXqN,mBAAoBA,EACpBG,gBAAgB,EAChB+K,mBAzFsBxz7C,IACR,SAAdA,EAAEywW,UAA+C,IAAzBzwW,EAAE89E,KAAKi54C,cACjC/29C,EAAEm4a,WAAW3va,MAAMk1B,gBAAkB,UACd,SAAd19B,EAAEywW,UAAoD,IAA9BzwW,EAAE89E,KAAKg54C,qBACxC929C,EAAEm4a,WAAW3va,MAAMk1B,gBAAkB,UACvC,EAqFIw15C,sBAAsB,KAExBj+6C,EAAAA,EAAAA,KAAC8i8C,GAAc,CACbry8C,IAAK+w8C,EACLhzjC,YAAY,EACZwxjC,gBAAkBv8B,MAU1B,iBCxHA,MCAMD,GAAa,CACjB79xC,MAAO,mBACPqgyC,UAAW,uBACXx16C,KDHa,CACb,CACEuC,KAAM,KACNuU,MAAO,KACPmjW,SAAU,SACVhO,UAAW,KACXj4R,QAAS,CAAC,QACV6h2C,cAAc,EACdtv5C,MAAO654C,IAET,CACE795C,KAAM,YACNuU,MAAO,aACPmjW,SAAU,OACVhO,UAAW,YACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,WACNuU,MAAO,iBACPmjW,SAAU,OACVhO,UAAW,WACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,kBACNuU,MAAO,gCACPmjW,SAAU,OACVhO,UAAW,kBACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,cACNuU,MAAO,oBACPmjW,SAAU,OACVhO,UAAW,cACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,WACNuU,MAAO,mBACPmjW,SAAU,OACVhO,UAAW,WACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,QACNuU,MAAO,QACPmjW,SAAU,UACVhO,UAAW,QACXj4R,QAAS,CAAC,SAGZ,CACEzxE,KAAM,YACNuU,MAAO,aACPmjW,SAAU,OACVhO,UAAW,YACXj4R,QAAS,CAAC,WAEZ,CACEzxE,KAAM,WACNuU,MAAO,iBACPmjW,SAAU,OACVhO,UAAW,WACXj4R,QAAS,CAAC,WAEZ,CACEzxE,KAAM,kBACNuU,MAAO,gCACPmjW,SAAU,OACVhO,UAAW,kBACXj4R,QAAS,CAAC,WAEZ,CACEzxE,KAAM,cACNuU,MAAO,oBACPmjW,SAAU,OACVhO,UAAW,cACXj4R,QAAS,CAAC,YC3EZii2C,UAAW,wBACXC,aAAc,2BACdC,YAAa,0BACbC,YAAa,0BACbE,YAAa,2BCRTtD,GAAa,CACjB79xC,MAAO,kBACPqgyC,UAAW,uBACXx16C,KCFa,CACb,CACEuC,KAAM,KACNuU,MAAO,KACPmjW,SAAU,SACVhO,UAAW,KACXj4R,QAAS,CAAC,QACV6h2C,cAAc,EACdtv5C,MAAO654C,IAET,CACE795C,KAAM,WACNuU,MAAO,WACPmjW,SAAU,SACVhO,UAAW,WACXj4R,QAAS,CAAC,QACVztD,MAAO654C,IAET,CACE795C,KAAM,UACNuU,MAAO,UACPmjW,SAAU,SACVhO,UAAW,UACXj4R,QAAS,CAAC,QACV8w2C,YAAazs7C,OAAO00B,OAAO2x1C,KAE7B,CACEn82C,KAAM,UACNuU,MAAO,kBACPmjW,SAAU,SACVhO,UAAW,UACXj4R,QAAS,CAAC,QACV8w2C,YAAazs7C,OAAO00B,OAAO0x1C,KAE7B,CACEl82C,KAAM,cACNuU,MAAO,iCACPmjW,SAAU,OACVhO,UAAW,cACXj4R,QAAS,CAAC,QACVk5T,iBAAkB,CAAC,WAAY,aAAc,aAgB/C,CACE3qY,KAAM,mBACNuU,MAAO,2CACPmjW,SAAU,SACVhO,UAAW,mBACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,mBACNuU,MAAO,2CACPmjW,SAAU,SACVhO,UAAW,mBACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,aACNuU,MAAO,cACPmjW,SAAU,SACVhO,UAAW,aACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,QACNuU,MAAO,cACPmjW,SAAU,OACVhO,UAAW,QACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,WACNuU,MAAO,iBACPmjW,SAAU,SACVhO,UAAW,WACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,YACNuU,MAAO,kBACPmjW,SAAU,SACVhO,UAAW,YACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,kBACNuU,MAAO,oBACPmjW,SAAU,SACVhO,UAAW,kBACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,iBACNuU,MAAO,4BACPmjW,SAAU,OACVhO,UAAW,iBACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,mBACNuU,MAAO,8BACPmjW,SAAU,OACVhO,UAAW,mBACXj4R,QAAS,CAAC,UDlHZii2C,UAAW,uBACXC,aAAc,0BACdC,YAAa,yBACbC,YAAa,yBACbE,YAAa,0BE4Xf,GA9W8B/o6C,EAAAA,YAC5B,CAAA5J,EAUE1D,KACI,IAADy36C,EAAA,IAVH,UACElC,EAAS,YACTvC,EAAW,UACXwwC,EAAS,cACTC,EAAa,YACbjd,EAAW,QACX8qB,EAAO,UACP5N,GACDhg9C,EAGD,MAAMzK,EAAUqU,EAAAA,WAAiB4x1C,IAE3ByjC,EAAe,CACnBilF,OAAO,EACP2J,iBAAkBphP,OAClBmgP,mBAA2B,OAAPr39C,QAAO,IAAPA,GAAa,QAANw+6C,EAAPx+6C,EAASmm2C,YAAI,IAAAq4E,OAAN,EAAPA,EAAep76C,IAG/Bsn9C,GAAmB5qI,EAAAA,EAAAA,UACnBw6G,GAAcx6G,EAAAA,EAAAA,UACdoqI,GAAapqI,EAAAA,EAAAA,UA6CbjszC,GAASiszC,EAAAA,EAAAA,QAAO,MAEtB,IAAIy4I,GAAwBz4I,EAAAA,EAAAA,QAAO,MAC/B04I,GAAsB14I,EAAAA,EAAAA,QAAO,MAEjCy4I,GAAwB,EACxBC,GAAsB,EAEtB,MAcM,QACJ7mmC,EAAO,KACPtrV,EAAI,YACJ812C,EAAW,aACX2qB,EAAY,aACZ/8B,EAAY,aACZ9znC,EAAY,mBACZ+/pC,EAAkB,MAClB+I,EAAK,WACLJ,EAAU,gBACVC,EAAe,MACfH,GACE0D,GACFp76C,EACA+y6C,GACAC,EACAuC,EACA5yC,EACA8gF,GACA,GApFuBpn9C,IACvB,IACIum+B,EADO4je,EAAY127C,QAAQ5P,SAASknX,iBAClBtiS,MAAMz6E,GAAMA,EAAE3R,KAAO2D,IAC3Cu76C,EAAWh1c,EAAWxq5B,MACtBy/1C,GAAgB,EAAM,IAGM/q5C,IAC5B,IAAI827C,EAAcpd,EAAY127C,QAAQ5P,SACnCs+K,OAAO,mBACPj4K,QACH,GAAImx6C,EAAO,CACT,IAAI5qrC,EAAS82tC,EAAY9+3C,MAAMz6E,GAAMA,EAAE3R,KAAOg/6C,IACzC5qrC,IACH82tC,EAAYzp9C,KAAK,CACfzB,IAAKg/6C,EACLt/1C,KAAM,CAAC,EACPr4E,KAAM,WAER+sP,EAAS82tC,EAAY9+3C,MAAMz6E,GAAMA,EAAE3R,KAAOg/6C,KAG5C,IACI90c,EADO4je,EAAY127C,QAAQ5P,SAASknX,iBAClBtiS,MAAMz6E,GAAMA,EAAE3R,KAAOg/6C,IAE3Ct/6C,OAAOE,KAAKsq+B,EAAWxq5B,MAAM9sE,KAAK5S,IAC5Bo0B,EAAOp0B,IAAQkq+B,EAAWxq5B,KAAK1/E,KACjCo0P,EAAO10K,KAAK1/E,GAAOo0B,EAAOp0B,GAC5B,GAEJ,MACEkr9C,EAAYzp9C,KAAK,CACfzB,IAAKupvC,OAAO4hO,aACZzr4C,KAAMtrD,EACN/sB,KAAM,WAIVym8C,EAAY127C,QAAQ5P,SAASs+K,OAAO,kBAAmBolyC,GAEvDxuE,GAAa,GA+Cb,MApCkB0uE,KAClB,GAAqB,kBAAVpsC,EAAqB,CAC9B,IAAIksC,EACFpd,EAAY127C,QAAQ5P,SAASs+K,OAAO,mBACtCgoxC,EAAY127C,QAAQ5P,SAASs+K,OAC3B,kBACAolyC,EAAY3o9C,QAAQoP,GAAMA,EAAE3R,KAAOg/6C,IAEvC,KAAO,CACL,IAAIqsC,EAAKvd,EAAY127C,QAAQ5P,SAASs+K,OAAO,cAC7CklyC,EAAUK,EAAG9o9C,QAAQoP,GAAMA,EAAEhO,IAAMq76C,IACrC,KAuCIryzC,EAAW4pzC,EAVQoM,KAAa5n5C,MAAM,CAC1C8v7C,QAASloC,KAAa974C,WACtBmy7C,OAAQr2C,KAAa974C,WACrB8j7C,QAAShoC,KAAa974C,WACtBoy7C,iBAAkBt2C,KAAa974C,WAC/Bqy7C,iBAAkBv2C,KAAa974C,WAC/Bsy7C,WAAYx2C,KAAa974C,WACzBuy7C,MAAOz2C,KAAa974C,cAKtB,OACEhwB,EAAAA,EAAAA,KAAAqt5C,EAAAA,SAAA,CAAAlg6C,UACE6S,EAAAA,EAAAA,KAACuj6C,GAAY,CACXxz4C,KAAMA,EACN812C,YAAaA,EACb46B,WAAW,2BACXv44C,SAAS,KAAI/6B,UAEb6S,EAAAA,EAAAA,KAACyvT,GAAI,CACH42V,SAAUotuB,EACVrJ,cAAe/ugC,EACfvlQ,SAAUA,EAIV5oH,OAAQmd,IAOD,IAPE,aACPop3C,EAAY,KACZx5jC,EAAI,WACJwwjC,EAAU,SACVI,EAAQ,MACR781C,EACAzQ,OAAQgj7C,GACTl27C,EACC,OACE+N,EAAAA,EAAAA,MAAC4z5C,GAAa,CACZ3lxB,SAAUotuB,EACVlg4C,MAAO,CAAEmhB,OAAQ,SAAUvnB,SAAA,EAE3B6S,EAAAA,EAAAA,KAAC6z3C,GAAO,CACNvI,aAAc,CAAE/t2C,QAAQ,GACxB8uR,SAAWriT,IAAW,IAADw49C,EAAAC,EACnB,IACQ,OAANll8C,QAAM,IAANA,GAAe,QAATil8C,EAANjl8C,EAAQhd,eAAO,IAAAii9C,OAAT,EAANA,EAAiBE,WAAY149C,EAAMuzB,OAAOml8C,WACpC,OAANnl8C,QAAM,IAANA,GAAe,QAATkl8C,EAANll8C,EAAQhd,eAAO,IAAAki9C,OAAT,EAANA,EAAiBH,aAAct49C,EAAMuzB,OAAO+k8C,WAC5C,CACA,IAAIK,EACD349C,EAAMuzB,OAAO+k8C,WAAat49C,EAAMuzB,OAAOml8C,SACxC,IACFzopC,EAAK18E,OAAO,YAAaoluC,GAEzB1opC,EAAK18E,OACH,kBACAoluC,EAAa349C,EAAMuzB,OAAO+k8C,WAE9B,CACA/k8C,EAAOhd,QAAUvW,EAAMuzB,MAAM,KAMjCnF,EAAAA,EAAAA,MAAC0o5C,GAAoB,CAAA3z6C,SAAA,EAEnBirB,EAAAA,EAAAA,MAACi7R,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAEl0B,SAAA,EAC9B6S,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,yBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CAACzkT,UAAQ,EAACzY,KAAK,KAAK0kB,UAAW833C,QAEvCvv4C,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,WACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJzkT,UAAQ,EACRzY,KAAK,WACL0kB,UAAW833C,GAEX1i5C,aAAck19C,OAGlB/h9C,EAAAA,EAAAA,KAACis6C,GAAY,CAAC3k6C,MAAM,UAAUkp5C,aAAcA,EAAarj6C,UACvD6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,UACL29D,MAAO7nE,OAAO00B,OAAO2x1C,IACrB7z/B,QAASA,EACT5jW,UAAW2z4C,GACXnw4C,UAAWwt5C,EAAM6C,OACjB766C,IAAKmj9C,EACLnkE,cAAeA,CAACtooC,EAAKi/pC,KACnBvl1C,QAAQT,IAAI,sBAA6B,OAANgm1C,QAAM,IAANA,OAAM,EAANA,EAAQvrlC,OAC3CqnoC,EAAwC,QAAZ,OAAN97C,QAAM,IAANA,OAAM,EAANA,EAAQvrlC,MAAc,OAIlD76U,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,kBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,UACL29D,MAAO7nE,OAAO00B,OAAO0x1C,IACrB5z/B,QAASA,EACT5jW,UAAW2z4C,GACXnw4C,UAAWwt5C,EAAM6C,OACjB9/5C,UAAW028C,EACXzx9C,IAAKuz7C,EACLv0C,cAAeA,CAACtooC,EAAKi/pC,KACnB67C,EAA0C,QAAZ,OAAN77C,QAAM,IAANA,OAAM,EAANA,EAAQvrlC,MAAc,OAIpD76U,EAAAA,EAAAA,KAACis6C,GAAY,CAAC3k6C,MAAM,aAAOkp5C,aAAcA,EAAarj6C,UACpD6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,SACLsoX,QAASA,EACT5jW,UAAW877C,GACXt47C,UAAWwt5C,EAAM6C,OACjB9/5C,UAAWy28C,EACX3sF,SAAU8+E,EACVpuC,UAAWA,EACXge,YAAaA,EACb4vB,WAAYA,EACZC,cAAe,CAAC,WAAY,WAC5BxnD,WAAY,cACZ5c,cAAeA,CAACtooC,EAAKi/pC,KACT,OAANA,QAAM,IAANA,GAAAA,EAAQvrlC,QAGN,OAAJ5gB,QAAI,IAAJA,GAAAA,EAAM18E,OAAO,cAAqB,OAAN6orC,QAAM,IAANA,OAAM,EAANA,EAAQlhzC,MACtC,OAkBNllH,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,2CACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,mBACL0kB,UAAW626C,GACXrz6C,UAAWwt5C,EAAM6C,OACjBjwjC,QAASA,OAGbr7W,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,2CACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,mBACL0kB,UAAW626C,GACXrz6C,UAAWwt5C,EAAM6C,OACjBjwjC,QAASA,OAGbr7W,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,cACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,aACL0kB,UAAW626C,GACXrz6C,UAAWwt5C,EAAM6C,OACjBjwjC,QAASA,OAIbr7W,EAAAA,EAAAA,KAACis6C,GAAY,CAAC3k6C,MAAM,QAAQkp5C,aAAcA,EAAarj6C,UACrD6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,QACL29D,MAAO7nE,OAAO00B,OAAO8x1C,IACrBh0/B,QAASA,EACT5jW,UAAW2z4C,GACXnw4C,UAAWwt5C,EAAM6C,YAGrBtr6C,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,iBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,WACL0kB,UAAW626C,GACXrz6C,UAAWwt5C,EAAM6C,OACjBjwjC,QAASA,OAIbr7W,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,kBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,YACL0kB,UAAW626C,GACXrz6C,UAAU,EACVogW,QAASA,OAGbr7W,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,qBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,kBACL0kB,UAAW626C,GACXrz6C,UAAU,EACVogW,QAASA,UAKfr7W,EAAAA,EAAAA,KAACyp6C,GAAoB,CAAAt86C,UACnB6S,EAAAA,EAAAA,KAAC4q6C,GAAY,CACXnC,MAAOA,EACPxumC,KAAMA,EACNt6D,aAAcA,EACd8qnC,WAAYA,EACZI,SAAUA,EACV2lC,aAAcA,WAIN,OAKvB,IC/UT,SA7CA,SAAwBr85C,GAMpB,IANqB,UACvB6x6C,EAAS,QACT3qjC,EAAO,YACPoojC,EAAW,cACXywC,EAAa,YACbjd,GACD9i8C,GACmBq10C,EAAAA,EAAAA,UAAlB,MACM/40C,GAAM+40C,EAAAA,EAAAA,WAELirI,EAAQN,IAAa1qI,EAAAA,EAAAA,UAASpu9B,EAAQ69kC,QAE7C/vH,EAAAA,EAAAA,YAAU,KACRgrI,EAAU94lC,EAAQ69kC,MAAM,GACvB,CAAC79kC,IAEJ,MAIMunmC,EAAUpuF,GAAS,MAAMzj4C,MAAMhF,MAErC,OACEqsB,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,EACE6S,EAAAA,EAAAA,KAACi57C,GAAQ,CACP//kB,SAAUsqjB,GAAWhz6C,KACrBg95C,WAVc1g6C,IAClB2D,EAAI8P,QAAQit5C,WAAW1g6C,EAAG,EAUtB4nB,OAAQ,OACRui7C,YAAaA,EACb/o4C,WAAkB,OAANum5C,QAAM,IAANA,EAAAA,EAAU,GACtBnd,UAAU,KAEZt37C,EAAAA,EAAAA,KAAC6i9C,GAAqB,CACpBpy9C,IAAKA,EACLu16C,UAAWA,EACXvC,YAAaA,EACbywC,cAAeA,EACfjd,YAAaA,EACb8qB,QAASa,EACTzO,UAAWA,MAInB,EC8KA,GA3M+Bp28C,EAAAA,YAC7B,CAAA5J,EAA4C1D,KAAS,IAApD,UAAEu16C,EAAS,YAAEvC,EAAW,cAAEywC,GAAe//8C,EACxC,MACM8i8C,GAAcztH,EAAAA,EAAAA,UACd2oH,GAAgB3oH,EAAAA,EAAAA,WAahB,QACJnu9B,EAAO,KACPtrV,EAAI,YACJ812C,EAAW,aACX2qB,EAAY,aACZ/8B,EAAY,aACZ9znC,EAAY,mBACZ+/pC,EAAkB,MAClB+I,EAAK,WACLjb,EAAU,MACV2a,GACE0D,GACFp76C,EACA+y6C,GACAC,EACAuC,EA9BmB,CAAEqyC,OAAO,IAgC5B,KAAO,IAADvD,EAAAC,EACe,QAAnBD,EAAA7d,EAAY127C,eAAO,IAAAu08C,GAAU,QAAVC,EAAnBD,EAAqBnk9C,gBAAQ,IAAAok9C,GAA7BA,EAA+BnomC,gBAAgB,GAEjD,KACA,KACA,MAjC+BrvV,IACtB,IACJA,EACH276C,MAAOjC,EAAY127C,QAAQ5P,SAASknX,iBAAiB97W,KAAK8wL,GACjDA,EAAIhkH,WAwCXitC,EAAW4pzC,EAPQoM,KAAa5n5C,MAAM,CAC1C4+7C,UAAWh3C,KAAa974C,WACxB+y7C,SAAUj3C,KAAa974C,WACvB8o6C,gBAAiBhtB,KAAW974C,WAC5B+i7C,YAAajnC,KAAW974C,cAS1B,OACEhwB,EAAAA,EAAAA,KAAAqt5C,EAAAA,SAAA,CAAAlg6C,UACE6S,EAAAA,EAAAA,KAACuj6C,GAAY,CACXxz4C,KAAMA,EACN812C,YAAaA,EACb46B,WAAW,qBACXv44C,SAAS,KAAI/6B,UAEb6S,EAAAA,EAAAA,KAACyvT,GAAI,CACH42V,SAAUotuB,EACVrJ,cAAe/ugC,EACfvlQ,SAAUA,EACV5oH,OAAQmd,IAAA,IAAC,aACPop3C,EAAY,KACZx5jC,EAAI,WACJwwjC,EAAU,SACVI,EAAQ,OACRtt2C,EAAM,MACNyQ,GACD3jB,EAAA,OACCrK,EAAAA,EAAAA,KAACgs6C,GAAa,CAAC3lxB,SAAUotuB,EAAatm4C,UACpCirB,EAAAA,EAAAA,MAAC0o5C,GAAoB,CAAA3z6C,SAAA,EACnBirB,EAAAA,EAAAA,MAACuz5C,GAAgB,CAAAx+6C,SAAA,EACfirB,EAAAA,EAAAA,MAACi7R,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAEl0B,SAAA,EAC9B6S,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,mBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CAACzkT,UAAQ,EAACzY,KAAK,KAAK0kB,UAAW833C,QAEvCvv4C,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,aACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,YACL0kB,UAAW833C,GACXt03C,UAAWwt5C,EAAM6C,YAGrBtr6C,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,iBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,WACL0kB,UAAW833C,GACXt03C,UAAWwt5C,EAAM6C,eAIvBlz5C,EAAAA,EAAAA,MAACi7R,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAEl0B,SAAA,EAC9B6S,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,gCACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,kBACL0kB,UAAW0p8C,GACXlm8C,UAAWwt5C,EAAM6C,YAGrBtr6C,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,oBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,cACL0kB,UAAW0p8C,GACXlm8C,UAAWwt5C,EAAM6C,YAGrBtr6C,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,mBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,WACL0kB,UAAW833C,GACXt03C,UAAWwt5C,EAAM6C,YAGrBtr6C,EAAAA,EAAAA,KAACis6C,GAAY,CAAC3k6C,MAAM,QAAQkp5C,aAAcA,EAAarj6C,UACrD6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,QACL0kB,UAAWk74C,GACX134C,UAAWwt5C,EAAM6C,kBAKzBlz5C,EAAAA,EAAAA,MAACqx5C,GAAoB,CACnBh25C,GAAI,CACFyX,eAAgB,iBAChB/9B,SAAA,EAEF6S,EAAAA,EAAAA,KAACyx7C,GAAgB,CACfnq7C,MAAO,eACPyoF,QAASA,KAAO,IAAD0i2C,EACA,OAAbN,QAAa,IAAbA,GAAsB,QAATM,EAAbN,EAAe5x7C,eAAO,IAAAky7C,GAAtBA,EAAwBX,WAAW,EAErCtm7C,WAAkB,OAAP6vW,QAAO,IAAPA,GAAAA,EAASvuX,OAEtBkT,EAAAA,EAAAA,KAAC0x7C,GAAU,CACT59mC,MAAO,+BACPrjV,IAAK0h8C,EACLR,aAAc,CAAC,CAAE5+7C,KAAM,KAAMhH,MAAc,OAAPsvX,QAAO,IAAPA,OAAO,EAAPA,EAASvuX,KAE7CuuX,QAASA,EACTgtjC,WAAYA,OACZ3mmC,sBAAuB,CAAC,OAAQ,SAChC++lC,WAAW,eACXmxB,iBAAkBA,KAChBpkC,EAAW2a,EAAM,EAEnB0pB,gBACE,+IAGJ7x7C,EAAAA,EAAAA,KAAC4q6C,GAAY,CACXnC,MAAOA,EACPxumC,KAAMA,EACNt6D,aAAcA,EACd8qnC,WAAYA,EACZI,SAAUA,EACV2lC,aAAcA,QAGlBxw5C,EAAAA,EAAAA,KAAC8g6C,GAAoB,CAAA3z6C,UACnB6S,EAAAA,EAAAA,KAACgj9C,GAAe,CACdh9C,UAAWA,EACX3qjC,QAASA,EACT47kC,YAAaA,EACbxzB,YAAawzB,EACbid,cAAejd,UAKP,OAIrB,ICrLT,SAhCA,SAAyB9i8C,GAAiB,IAAhB,UAAE6x6C,GAAW7x6C,EACrC,MAAMsv6C,GAAcj6F,EAAAA,EAAAA,UACd0pG,GAAY1pG,EAAAA,EAAAA,UACZ8pG,GAAY9pG,EAAAA,EAAAA,UACZ0qI,GAAgB1qI,EAAAA,EAAAA,UAEtB,OACEpxzC,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,EACE6S,EAAAA,EAAAA,KAAC696C,GAAU,CACTra,WAAYA,GACZ/y6C,IAAKyi7C,EACLzP,YAAaA,KAEfzj6C,EAAAA,EAAAA,KAAC+96C,GAAQ,CACPnL,OAAO,mBACPpP,WAAYA,GACZC,YAAaA,EACbyP,UAAWA,EACXI,UAAWA,EACX0K,aAAW,EACXhY,UAAWA,KAEbhm6C,EAAAA,EAAAA,KAACij9C,GAAsB,CACrBxy9C,IAAK6i7C,EACLtN,UAAWA,EACXvC,YAAaA,EACbywC,cAAeA,MAIvB,ECjCe,SAASgP,GAAqB/u9C,GAQzC,IAR0C,UAC5C6x6C,EAAS,QACT3qjC,EAAO,SACPpgW,EAAQ,SACRq62C,EAAQ,MACRvk4C,EAAK,QACLi85C,KACG1uqC,GACJnqP,EACC,OACE6L,EAAAA,EAAAA,KAAAqt5C,EAAAA,SAAA,CAAAlg6C,UACE6S,EAAAA,EAAAA,KAACor5C,GAAqB,CACpB365C,IAAK6k4C,EACLr62C,SAAUA,EACVogW,QAASA,EACTgwiC,kBAAmB,CACjB0B,WAAY,sCACZN,aAAc,CAAC,aACfG,cAAe,KACfI,QAAS,CAAC,EACVX,WAAY,mBAEdt75C,MAAOA,KACHutP,KAIZ,CCxBA,MCHMklrC,GAAa,CACjB79xC,MAAO,UACPqgyC,UAAW,cACXx16C,KDAa,CACb,CACEuC,KAAM,KACNuU,MAAO,KACPmjW,SAAU,SACVhO,UAAW,KACXj4R,QAAS,CAAC,QACV6h2C,cAAc,EACdtv5C,MAAO654C,IAET,CACE795C,KAAM,UACNuU,MAAO,YACPmjW,SAAU,OACVhO,UAAW,UACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,UACNuU,MAAO,gBACPmjW,SAAU,OACVhO,UAAW,UACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,sBACNuU,MAAO,+BACPmjW,SAAU,SACVhO,UAAW,sBACXj4R,QAAS,CAAC,QACV2g2C,gBAAiBqe,IAEnB,CACEzw7C,KAAM,mBACNuU,MAAO,uBACPmjW,SAAU,SACVhO,UAAW,mBACXj4R,QAAS,CAAC,QACV2g2C,gBAAiBqB,IAEnB,CACEzz6C,KAAM,kBACNuU,MAAO,+BACPmjW,SAAU,SACVhO,UAAW,kBACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,oBACNuU,MAAO,gBACPmjW,SAAU,SACVhO,UAAW,oBACXj4R,QAAS,CAAC,QACV2g2C,gBAAiB+9C,IAEnB,CACEnw9C,KAAM,WACNuU,MAAO,mBACPmjW,SAAU,OACVhO,UAAW,WACXj4R,QAAS,CAAC,QACVztD,MAAOg64C,GACPvgjC,cAAgBzlX,IAAO,OAADA,QAAC,IAADA,OAAC,EAADA,EAAGgB,QAAS056C,GAAiB,OAAD166C,QAAC,IAADA,OAAC,EAADA,EAAGgB,QAEvD,CACEgH,KAAM,QACNuU,MAAO,QACPmjW,SAAU,UACVhO,UAAW,QACXj4R,QAAS,CAAC,SAGZ,CACEzxE,KAAM,UACNuU,MAAO,YACPmjW,SAAU,OACVhO,UAAW,UACXj4R,QAAS,CAAC,WAEZ,CACEzxE,KAAM,UACNuU,MAAO,gBACPmjW,SAAU,OACVhO,UAAW,UACXj4R,QAAS,CAAC,WAEZ,CACEzxE,KAAM,mBACNuU,MAAO,+BACPmjW,SAAU,SACVhO,UAAW,mBACXj4R,QAAS,CAAC,UACV2g2C,gBAAiBqe,IAEnB,CACEzw7C,KAAM,gBACNuU,MAAO,uBACPmjW,SAAU,SACVhO,UAAW,gBACXj4R,QAAS,CAAC,UACV2g2C,gBAAiBqB,KCnGnBC,UAAW,eACXC,aAAc,kBACdC,YAAa,iBACbC,YAAa,iBACbE,YAAa,kBAGT6uB,GAAa,CACjBtD,sBAAuB,yBACvBC,kBAAmB,qBACnBS,eAAgB,yBAChBF,gBAAiB,qBACjBH,iBAAkB,uBAGdywB,GACOn6G,GAAWiB,kBAAkBl+2C,MADpCo39C,GAEU,kCAFVA,GAGS,iCAHTA,GAIiB,yBAJjBA,GAKkB,0BCuJxB,GAzJmCpl9C,EAAAA,YAAiB,CAAA5J,EAAkB1D,KAAS,IAADw36C,EAAAC,EAAA,IAAzB,YAAEzE,GAAatv6C,EAClE,MAAM,KAAE47B,EAAI,YAAE0v4C,EAAW,aAAEjP,EAAY,QAAEn1iC,EAAO,WAAEgtjC,GAChDyqB,GAAeri8C,EAAK0y9C,IAEhB1vF,EAAemgE,GACnB,CAAEhtB,YAAau8C,IACf96C,EACA5E,GAGI0kC,GAAe3+H,EAAAA,EAAAA,UACf2oH,GAAgB3oH,EAAAA,EAAAA,UAEhB9/0C,GAAU2U,EAAAA,EAAAA,YAAWsx1C,IACrB84E,EAGH,QAHQR,EACF,OAAPv+6C,QAAO,IAAPA,GAAa,QAANw+6C,EAAPx+6C,EAASmm2C,YAAI,IAAAq4E,OAAN,EAAPA,EAAeQ,SAASnz1C,MACrBz6E,GAAMA,EAAEkr6C,YAAcm9C,YACxB,IAAAl7C,EAAAA,EAAI,CAAC,EAER,OACE7v5C,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,EACE6S,EAAAA,EAAAA,KAACuj6C,GAAY,CACXxz4C,KAAMA,EACN812C,YAAa45B,EACbgB,WAAW,yBACXv44C,SAAS,KACTw6zC,WAAW,EAAKv11C,UAEhB6S,EAAAA,EAAAA,KAACyvT,GAAI,CACH42V,SAAUotuB,EACVrJ,cAAe/ugC,EAEfnuX,OAAQmd,IAAA,IAAC,aACPop3C,EAAY,KACZx5jC,EAAI,WACJwwjC,EAAU,SACVI,EAAQ,OACRtt2C,EAAM,MACNyQ,GACD3jB,EAAA,OACC+N,EAAAA,EAAAA,MAAC4z5C,GAAa,CAAC3lxB,SAAUotuB,EAAatm4C,SAAA,EACpC6S,EAAAA,EAAAA,KAAC8g6C,GAAoB,CAAA3z6C,UACnB6S,EAAAA,EAAAA,KAAC2r6C,GAAgB,CAAAx+6C,UACfirB,EAAAA,EAAAA,MAACi7R,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,GAAGh0B,SAAA,EAChB6S,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,0DACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,qBACL0kB,UAAWyt5C,GACXjq5C,UAAWwt5C,EAAM6C,YAGrBtr6C,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,mCACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,oBACL0kB,UAAW833C,GACXt03C,UAAWwt5C,EAAM6C,OACjB97B,aAAa,OAGjBxv4C,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,8CACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,iBACL0kB,UAAWyt5C,GACXjq5C,UAAWwt5C,EAAM6C,WAGpB5h7C,EAAQmm2C,KAAKyzE,iBACZ17D,GAAiBC,cAAchthC,QAC/B76U,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,mDACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,8BACL0kB,UAAW626C,GACXrz6C,UAAWwt5C,EAAM6C,mBAO7Blz5C,EAAAA,EAAAA,MAACqx5C,GAAoB,CACnBh25C,GAAI,CACFyX,eAAgB,iBAChB/9B,SAAA,EAEF6S,EAAAA,EAAAA,KAACqzS,EAAI,CAAAlmT,UACHirB,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,CACGkuX,EAAQ+3lC,gBACPpz8C,EAAAA,EAAAA,KAAC6w6C,GAAmB,CAClB1qD,WAAWnm3C,EAAAA,EAAAA,KAACqz8C,GAAWA,EAAI,IAC3Btj3C,QAAUhlG,IAAO,IAADu98C,EACF,OAAZH,QAAY,IAAZA,GAAqB,QAATG,EAAZH,EAAc5n8C,eAAO,IAAA+n8C,GAArBA,EAAuB96C,WAAWnyiC,EAAQvuX,GAAG,EAE/C+hB,MAAM,QAAO1hB,SACd,sBAKH6S,EAAAA,EAAAA,KAACyx7C,GAAgB,CACf1h2C,QAASA,KAAO,IAAD0i2C,EACA,OAAbN,QAAa,IAAbA,GAAsB,QAATM,EAAbN,EAAe5x7C,eAAO,IAAAky7C,GAAtBA,EAAwBX,WAAW,EAErCxq7C,MAAM,oCAIZ8Q,EAAAA,EAAAA,MAACi7R,EAAI,CAAAlmT,SAAA,EACH6S,EAAAA,EAAAA,KAACsz7C,GAAU,CACTvj2C,QAAUhlG,IACRkvU,EAAK83jC,QAAQ,KAGjB/x3C,EAAAA,EAAAA,KAAC2q6C,GAAY,CACX560C,QAASA,KACPkqO,EAAKjsS,OAAO,EAEdxiB,SAAUi/2C,GAAcI,YAIhB,OAItB7q3C,EAAAA,EAAAA,KAAC0x7C,GAAU,CACT59mC,MAAOqvoC,GACPxxB,aAAc,CAAC,CAAE5+7C,KAAM,KAAMhH,MAAc,OAAPsvX,QAAO,IAAPA,OAAO,EAAPA,EAASvuX,KAC7C2D,IAAK0h8C,EACL92kC,QAASA,EACTgtjC,WAAYA,KAGdro6C,EAAAA,EAAAA,KAAC4i8C,GAAS,CACRny8C,IAAK038C,EACLxi0C,MAAM,mBACN9rH,IAAKsp8C,OAEN,IClJD7iB,GAAqBns8C,IAAwC,IAAvC,MAAEmT,EAAK,aAAEkp5C,EAAY,SAAErj6C,GAAUgH,EAC3D,OACE6L,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAOA,EACPkp5C,aAAcA,EACdz54C,MAAO,MACPuwH,UAAW,MAAMn6I,SAEhBA,GACY,EAIbi29C,GAAgBrl9C,EAAAA,YAAiB,CAAAsM,EAA6B5Z,KAAS,IAArC,UAAEu16C,EAAS,YAAEvC,GAAap55C,EAChE,MAAM3gB,GAAU2U,EAAAA,EAAAA,YAAWsx1C,IAGrBi0F,GAAiBp6G,EAAAA,EAAAA,UACjB08F,GAAoB18F,EAAAA,EAAAA,WAEpB,QACJnu9B,EAAO,KACPtrV,EAAI,YACJ812C,EAAW,aACX2qB,EAAY,aACZ/8B,EAAY,aACZ9znC,EAAY,mBACZ+/pC,EAAkB,MAClB+I,EAAK,WACLJ,GACEwD,GAAcp76C,EAAK+y6C,GAAYC,EAAauC,EAf3B,CAAEqyC,OAAO,IAiBxBgL,GAAgC75I,EAAAA,EAAAA,UAEhCwmB,EAAWnknC,IACXA,EAAIhjK,KAAKz6D,SACXi65C,GAAY8sC,IAAQ,IAAWA,EAAUllH,KAAMpknC,EAAIhjK,KAAKA,QAAQ,EAQ9DitC,EAAW4pzC,EALQoM,KAAa5n5C,MAAM,CAC1Co/7C,QAASx3C,KAAa974C,WACtBuz7C,QAASz3C,KAAa974C,cAOxB,OACE5X,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,EACE6S,EAAAA,EAAAA,KAACuj6C,GAAY,CACXxz4C,KAAMA,EACN812C,YAAaA,EACb46B,WAAW,YACXv44C,SAAS,KACTw6zC,WAAW,EAAKv11C,UAEhB6S,EAAAA,EAAAA,KAACyvT,GAAI,CACH42V,SAAUotuB,EACVrJ,cAAe/ugC,EACfvlQ,SAAUA,EACV5oH,OAAQkzB,IAAA,IAAA8n5C,EAAAD,EAAA,IAAC,aACPx0C,EAAY,KACZx5jC,EAAI,WACJwwjC,EAAU,SACVI,EAAQ,OACRtt2C,EAAM,MACNyQ,GACD5N,EAAA,OACChI,EAAAA,EAAAA,MAAC4z5C,GAAa,CAAC3lxB,SAAUotuB,EAAatm4C,SAAA,EACpCirB,EAAAA,EAAAA,MAAC0o5C,GAAoB,CAAA3z6C,SAAA,EACnBirB,EAAAA,EAAAA,MAACuz5C,GAAgB,CAAAx+6C,SAAA,EACfirB,EAAAA,EAAAA,MAACi7R,EAAI,CACH5gT,MAAI,EACJ0uB,GAAIk6V,EAAQvuX,GAAK,EAAI,GACrBs0B,GAAIi6V,EAAQvuX,GAAK,EAAI,GACrBu0B,GAAIg6V,EAAQvuX,GAAK,EAAI,GAAGK,SAAA,EAExB6S,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,UACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CAACzkT,UAAQ,EAACzY,KAAK,KAAK0kB,UAAW833C,QAEvCvv4C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,YACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,UACL0kB,UAAW833C,GACXt03C,UAAWwt5C,EAAM6C,YAGrBtr6C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,gBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,UACL0kB,UAAW833C,GACXt03C,UAAWwt5C,EAAM6C,YAGrBtr6C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,uBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,gBACLsoX,QAASA,EACT5jW,UAAW+u5C,GACXvr5C,UAAWwt5C,EAAM6C,OACjBh2C,SAAUsuD,OAGd5j7C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,+BACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,mBACLsoX,QAASA,EACT5jW,UAAW+r6C,GACXvo6C,UAAWwt5C,EAAM6C,OACjBh2C,SAAU4wC,EACV0d,eAAgBA,OAGpB5j7C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,+BACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,kBACL0kB,UAAW626C,GACXrz6C,UAAWwt5C,EAAM6C,YAGrBtr6C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,gBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,iBACLsoX,QAASA,EACT5jW,UAAWyr8C,GACXjo8C,UAAWwt5C,EAAM6C,YAGrBtr6C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,QACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,QACL0kB,UAAWk74C,GACX134C,UAAWwt5C,EAAM6C,cAItBjwjC,EAAQvuX,KACPkT,EAAAA,EAAAA,KAACqzS,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,EAAEh0B,SACbqj6C,GAeAxw5C,EAAAA,EAAAA,KAAC4v5C,GAAQ,CACPn84C,GAAI,CAAEsD,MAAO,OAAQrC,OAAQ,WAf/B1U,EAAAA,EAAAA,KAAC8p8C,GAAc,CACbr27C,GAAI,CACFyU,SAAU,QACVK,UAAW,SAEb8g7C,cACErp8C,EAAAA,EAAAA,KAAC0w5C,GAAU,CAACzv4C,QAAQ,UAAS9zB,SAAC,gBAEhC2mV,MAAM,qBACNq1nC,YAAan5G,EACbo5G,WAAY,0BAAiC,OAAP/tlC,QAAO,IAAPA,OAAO,EAAPA,EAAS40+B,OAC/C0hG,aAAc,CAAC,CAAE5+7C,KAAM,SAAUhH,MAAOsvX,EAAQvuX,aAkB1DkT,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,WACL0kB,UAAW005C,GACXlx5C,UAAWwt5C,EAAM6C,OACjBjwjC,QAASA,EACT/zW,MAAM,+BACNkp5C,aAAcA,QAGlBp44C,EAAAA,EAAAA,MAACqx5C,GAAoB,CACnBh25C,GAAI,CACFyX,eAAgB,iBAChB/9B,SAAA,EAEFirB,EAAAA,EAAAA,MAACi7R,EAAI,CAAAlmT,SAAA,EACH6S,EAAAA,EAAAA,KAACgz7C,GAAa,CACZhmC,QAAS,CACPlg6C,GAAIuuX,EAAQvuX,IAEd2nV,OAAQkhnC,GACR3vB,UAAWA,EACXksB,cAAe72kC,EACf7vW,WAAkB,OAAP6vW,QAAO,IAAPA,GAAAA,EAASvuX,OAEd,OAAPpD,QAAO,IAAPA,GAAa,QAANw+6C,EAAPx+6C,EAASmm2C,YAAI,IAAAq4E,GAEb,QAFaD,EAAbC,EAAeQ,SAASnz1C,MACtBz6E,GAAMA,EAAEkr6C,YAAch9D,GAAWiB,kBAAkBl+2C,eACrD,IAAAk86C,OAFO,EAAPA,EAEEmgC,aACDpo8C,EAAAA,EAAAA,KAAC6w6C,GAAmB,CAClB1qD,WAAWnm3C,EAAAA,EAAAA,KAAC+58C,GAAWA,EAAI,IAC3Bhq3C,QAAUhlG,IAAO,IAADy49C,EACe,OAA7BH,QAA6B,IAA7BA,GAAsC,QAATG,EAA7BH,EAA+B9i9C,eAAO,IAAAij9C,GAAtCA,EAAwCh2D,WACtCnyiC,EAAQvuX,GACT,EAEH+hB,MAAM,SACNrD,WAAkB,OAAP6vW,QAAO,IAAPA,GAAAA,EAASvuX,IAAGK,SACxB,+BAKL6S,EAAAA,EAAAA,KAAC4q6C,GAAY,CACXnC,MAAOA,EACPxumC,KAAMA,EACNt6D,aAAcA,EACd8qnC,WAAYA,EACZI,SAAUA,EACV2lC,aAAcA,SAGJ,OAItBxw5C,EAAAA,EAAAA,KAACyj9C,GAA0B,CACzBhz9C,IAAK4y9C,EACL5/C,YAAaA,MAEd,IAGP,MCtPA,SA9BA,SAAgBtv6C,GAAiB,IAAhB,UAAE6x6C,GAAW7x6C,EAC5B,MAAMsv6C,GAAcj6F,EAAAA,EAAAA,UACd0pG,GAAY1pG,EAAAA,EAAAA,UACZ8pG,GAAY9pG,EAAAA,EAAAA,UAElB,OACEpxzC,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,EACE6S,EAAAA,EAAAA,KAAC696C,GAAU,CACTra,WAAYA,GACZ/y6C,IAAKyi7C,EACLzP,YAAaA,KAEfzj6C,EAAAA,EAAAA,KAAC+96C,GAAQ,CACPnL,OAAO,UACPpP,WAAYA,GACZC,YAAaA,EACbyP,UAAWA,EACXI,UAAWA,EACX0K,aAAW,EACXhY,UAAWA,KAEbhm6C,EAAAA,EAAAA,KAACoj9C,GAAa,CACZ3y9C,IAAK6i7C,EACLtN,UAAWA,EACXvC,YAAaA,MAIrB,EChCMD,GAAa,CACjB79xC,MAAO,oBACPqgyC,UAAW,wBACXx16C,KCKa,CACb,CACEuC,KAAM,KACNuU,MAAO,mBACPmjW,SAAU,SACVhO,UAAW,KACXj4R,QAAS,CAAC,QACV6h2C,cAAc,EACdtv5C,MAAO654C,IAET,CACE795C,KAAM,aACNuU,MAAO,yBACPmjW,SAAU,OACVhO,UAAW,aACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,UACNuU,MAAO,WACPmjW,SAAU,OACVhO,UAAW,UACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,cACNuU,MAAO,oBACPmjW,SAAU,OACVhO,UAAW,cACXj4R,QAAS,CAAC,QACVztC,OAAQ+20C,GACR/21C,MAAO454C,IAET,CACE595C,KAAM,eACNuU,MAAO,kBACPmjW,SAAU,OACVhO,UAAW,eACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,QACNuU,MAAO,QACPmjW,SAAU,OACVhO,UAAW,QACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,YACNuU,MAAO,aACPmjW,SAAU,OACVhO,UAAW,YACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,WACNuU,MAAO,mBACPmjW,SAAU,OACVhO,UAAW,WACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,YACNuU,MAAO,kBACPmjW,SAAU,OACVhO,UAAW,YACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,aACNuU,MAAO,mBACPmjW,SAAU,OACVhO,UAAW,aACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,eACNuU,MAAO,UACPmjW,SAAU,OACVhO,UAAW,eACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,WACNuU,MAAO,WACPmjW,SAAU,OACVhO,UAAW,WACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,sBACNuU,MAAO,4BACPmjW,SAAU,OACVhO,UAAW,sBACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,mBACNuU,MAAO,gCACPm1V,UAAW,mBACXj4R,QAAS,CAAC,QACVimS,SAAU,OACV1zU,OAAQ+20C,GACR/21C,MAAO454C,IAET,CACE595C,KAAM,cACNuU,MAAO,uBACPmjW,SAAU,SACVhO,UAAW,cACXj4R,QAAS,CAAC,QACV8w2C,YAAazs7C,OAAO00B,OAAOq21C,IAC3B2yD,kBAAmB,CACjB,CACEvB,yBAA0B,CACxBp9D,GAAiBI,KAAKnthC,MACtB+shC,GAAiBK,YAAYpthC,MAC7B+shC,GAAiBG,QAAQlthC,UAKjC,CACE9nV,KAAM,QACNuU,MAAO,QACPmjW,SAAU,UACVhO,UAAW,QACXj4R,QAAS,CAAC,SAGZ,CACEzxE,KAAM,aACNuU,MAAO,2BACPmjW,SAAU,OACVhO,UAAW,aACXj4R,QAAS,CAAC,UACVu6U,WAAYqygC,IAEd,CACEr+5C,KAAM,UACNuU,MAAO,WACPmjW,SAAU,OACVhO,UAAW,UACXj4R,QAAS,CAAC,WAEZ,CACEzxE,KAAM,qBACNuU,MAAO,sBACPmjW,SAAU,OACVhO,UAAW,qBACXj4R,QAAS,CAAC,UACV33E,aAAc+zuC,OAAQ9psC,SAAS,EAAG,SAASC,OAAO,eAEpD,CACEhkC,KAAM,qBACNuU,MAAO,sBACPmjW,SAAU,OACVhO,UAAW,qBACXj4R,QAAS,CAAC,UACV33E,aAAc+zuC,OAAQ7psC,OAAO,eAE/B,CACEhkC,KAAM,SACNuU,MAAO,OACPmjW,SAAU,SACVhO,UAAW,SACXj4R,QAAS,CAAC,UACV2g2C,gBAAiB4e,GACjB/e,yBAA0B,CACxBp9D,GAAiBI,KAAKnthC,MACtB+shC,GAAiBK,YAAYpthC,QAGjC,CACE9nV,KAAM,cACNuU,MAAO,uBACPmjW,SAAU,SACVhO,UAAW,cACXj4R,QAAS,CAAC,UACV9T,MAAO7nE,OAAO00B,OAAOq21C,IACrBoxD,yBAA0B,CACxBp9D,GAAiBI,KAAKnthC,MACtB+shC,GAAiBK,YAAYpthC,QAGjC,CACE9nV,KAAM,cACNuU,MAAO,wBACPmjW,SAAU,SACVhO,UAAW,cACXj4R,QAAS,CAAC,UACV2g2C,gBAAiBxS,GACjBqS,yBAA0B,CACxBp9D,GAAiBI,KAAKnthC,MACtB+shC,GAAiBK,YAAYpthC,SDtMjC4rlC,UAAW,yBACXC,aAAc,4BACdC,YAAa,2BACbC,YAAa,2BACbE,YAAa,4BELf,SAAS48C,GAAiBvv9C,GAA0B,IAAzB,UAAE6x6C,EAAS,QAAE3qjC,GAASlnX,EAC/C,MAAMsv6C,GAAcj6F,EAAAA,EAAAA,UAEd8pG,IADY9pG,EAAAA,EAAAA,WACAA,EAAAA,EAAAA,YACXp8+B,EAASwinC,IAAcnmI,EAAAA,EAAAA,WAAS,GAQvC,OANAN,EAAAA,EAAAA,YAAU,KACG,OAAP9t9B,QAAO,IAAPA,GAAAA,EAASvuX,IACX8i9C,GAAW,EACb,GACC,CAAQ,OAAPv0lC,QAAO,IAAPA,OAAO,EAAPA,EAASvuX,MAGXsrB,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,CACGigW,IAAkB,OAAPiuB,QAAO,IAAPA,OAAO,EAAPA,EAASvuX,IAAK,IACxBkT,EAAAA,EAAAA,KAAC+96C,GAAQ,CACPnL,OAAO,oBACPpP,WAAYA,GACZC,YAAaA,EACb6P,UAAWA,EACX0K,aAAW,EACXhY,UAAWA,EACXhZ,QAAS,CAAEyoD,aAAqB,OAAPp6lC,QAAO,IAAPA,OAAO,EAAPA,EAASvuX,IAClCux7C,qBAAqB,EACrB3p6C,OAAO,OACP4p6C,wBAAwB,IAG3BlxlC,IACCptV,EAAAA,EAAAA,KAACi28C,GAAuB,CACtBxl9C,IAAK6i7C,EACLtN,UAAWA,EACXvC,YAAaA,EACb+xC,iBAAkBn6lC,MAK5B,CAGA,SAAet9W,EAAAA,KAAW2l9C,IAAmB,CAAC7hqC,EAAW/3T,KAAe,IAAD+l9C,EAAAC,EAErE,OACmB,QAAjBD,EAAAhupC,EAAUw5D,eAAO,IAAAw0lC,OAAA,EAAjBA,EAAmB/i9C,OAAwB,QAAtBgj9C,EAAKhm9C,EAAUuxX,eAAO,IAAAy0lC,OAAA,EAAjBA,EAAmBhj9C,KAC7C+0T,EAAUmknC,YAAcl86C,EAAUk86C,SAAS,ICtB/C,SAzBA,SAAmC7x6C,GAO/B,IAPgC,UAClC6x6C,EAAS,QACT3qjC,EAAO,SACPpgW,EAAQ,SACRq62C,EAAQ,MACRvk4C,KACGutP,GACJnqP,EACC,OACE6L,EAAAA,EAAAA,KAACor5C,GAAqB,CACpB365C,IAAK6k4C,EACLr62C,SAAUA,EACVogW,QAASA,EACTgwiC,kBAAmB,CACjB0B,WAAY,kCACZN,aAAc,CAAC,cACfG,cAAe,KACfI,QAAS,CAAC,EACVX,WAAY,iBAEdt75C,MAAOA,KACHutP,GAGV,ECxBe,SAASqluC,GAA+Bxv9C,GAOnD,IAPoD,MACtDpD,EAAK,KACLg3xC,EAAI,cACJ0nH,EAAa,SACbjk4C,EAAQ,aACR3e,GAAe,KACZyxP,GACJnqP,EAEC,MAAMyv9C,GACY,IAAhB7y9C,EAAMhF,OAAkC,SAAhBgF,EAAMhF,YAAqCiG,IAAhBjB,EAAMhF,OAAuBc,EAGlF,OACEmT,EAAAA,EAAAA,KAAC4y5C,GAAQ,IACH7h6C,EACH2+B,QAASk07C,EAGVv3qC,SAAUhiS,IAAiB,IAAhB,OAAE9C,GAAQ8C,EACnB,MAAMwnB,EAAWtqB,EAAOmoB,QACxB3+B,EAAMs7S,SAASx6Q,GACf492C,GAAiBA,EAAc592C,EAAS,EAE1CrmB,SAAUA,KACN8yO,GAGV,CChBA,MCZMklrC,GAAa,CACjB79xC,MAAO,aACPqgyC,UAAW,iBACXx16C,KDSa,CACb,CACEuC,KAAM,mBACNuU,MAAO,gCACPmjW,SAAU,OACVhO,UAAW,mBACXj4R,QAAS,CAAC,QACVztC,OAAQ+20C,GACR/21C,MAAO454C,GACP2V,UAAW,QAEb,CACEvz6C,KAAM,KACNuU,MAAO,wBACPmjW,SAAU,SACVhO,UAAW,KACXj4R,QAAS,CAAC,QACV6h2C,cAAc,EACdtv5C,MAAO654C,IAET,CACE795C,KAAM,kBACNuU,MAAO,4BACPmjW,SAAU,OACVhO,UAAW,kBACXj4R,QAAS,CAAC,QACVztC,OAAQ+20C,GACR/21C,MAAO454C,IAET,CACE595C,KAAM,gBACNuU,MAAO,iBACPmjW,SAAU,OACVhO,UAAW,gBACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,QACNuU,MAAO,4BACPmjW,SAAU,SACVhO,UAAW,QACXj4R,QAAS,CAAC,QACV8w2C,YAAazs7C,OAAO00B,OAAOiz1C,KAE7B,CACEz92C,KAAM,OACNuU,MAAO,0BACPmjW,SAAU,SACVhO,UAAW,OACXj4R,QAAS,CAAC,QACV8w2C,YAAazs7C,OAAO00B,OAAO2y1C,KAE7B,CACEn92C,KAAM,kBACNuU,MAAO,wBACPmjW,SAAU,SACVhO,UAAW,kBACXj4R,QAAS,CAAC,QACV8w2C,YAAazs7C,OAAO00B,OAAO2z1C,KAE7B,CACEn+2C,KAAM,qBACNuU,MAAO,8BACPmjW,SAAU,UACVhO,UAAW,qBACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,uBACNuU,MAAO,iDACPmjW,SAAU,OACVhO,UAAW,uBACXj4R,QAAS,CAAC,SAGZ,CACEzxE,KAAM,WACNuU,MAAO,YACPmjW,SAAU,OACVhO,UAAW,WACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,eACNuU,MAAO,kBACPmjW,SAAU,OACVhO,UAAW,eACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,cACNuU,MAAO,oBACPmjW,SAAU,OACVhO,UAAW,cACXj4R,QAAS,CAAC,QACVztC,OAAQ+20C,GACR/21C,MAAO454C,IAET,CACE595C,KAAM,YACNuU,MAAO,WACPmjW,SAAU,OACVhO,UAAW,YACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,uBACNuU,MAAO,4BACPmjW,SAAU,OACVhO,UAAW,uBACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,mBACNuU,MAAO,iBACPmjW,SAAU,OACVhO,UAAW,mBACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,uBACNuU,MAAO,yCACPmjW,SAAU,OACVhO,UAAW,uBACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,cACNuU,MAAO,eACPmjW,SAAU,WACVhO,UAAW,cACXj4R,QAAS,CAAC,SAIZ,CACEzxE,KAAM,KACNuU,MAAO,wBACPmjW,SAAU,SACVhO,UAAW,KACXj4R,QAAS,CAAC,UACV6h2C,cAAc,EACdtv5C,MAAO654C,IAET,CACE795C,KAAM,aACNuU,MAAO,sBACPmjW,SAAU,SACVhO,UAAW,aACXj4R,QAAS,CAAC,UACV2g2C,gBAAiB0+C,IAEnB,CACE9w9C,KAAM,SACNuU,MAAO,8BACPmjW,SAAU,OACVhO,UAAW,SACXj4R,QAAS,CAAC,UACV33E,aAAc+zuC,OAAQ9psC,SAAS,EAAG,SAASC,OAAO,eAEpD,CACEhkC,KAAM,SACNuU,MAAO,8BACPmjW,SAAU,OACVhO,UAAW,SACXj4R,QAAS,CAAC,UACV33E,aAAc+zuC,OAAQp0uC,IAAI,EAAG,SAASuqC,OAAO,eAE/C,CACEhkC,KAAM,QACNuU,MAAO,4BACPmjW,SAAU,SACVhO,UAAW,QACXj4R,QAAS,CAAC,UACV9T,MAAO7nE,OAAO00B,OAAOiz1C,KAEvB,CACEz92C,KAAM,WACNuU,MAAO,YACPmjW,SAAU,SACVhO,UAAW,WACXj4R,QAAS,CAAC,WAEZ,CACEzxE,KAAM,YACNuU,MAAO,qBACPmjW,SAAU,SACVhO,UAAW,YACXj4R,QAAS,CAAC,UACV2g2C,gBAAiBqe,IAEnB,CACEzw7C,KAAM,SACNuU,MAAO,gBACPmjW,SAAU,SACVhO,UAAW,SACXj4R,QAAS,CAAC,UACV2g2C,gBAAiB4e,GACjB/e,yBAA0B,CACxBp9D,GAAiBI,KAAKnthC,MACtB+shC,GAAiBK,YAAYpthC,QAGjC,CACE9nV,KAAM,kBACNuU,MAAO,wBACPmjW,SAAU,SACVhO,UAAW,kBACXj4R,QAAS,CAAC,UACV9T,MAAO7nE,OAAO00B,OAAO2z1C,KAEvB,CACEn+2C,KAAM,cACNuU,MAAO,wDACPmjW,SAAU,SACVhO,UAAW,cACXj4R,QAAS,CAAC,oBACV2g2C,gBAAiBw+C,GACjB929C,cAAc,EACdu46C,sBAAuB,CAAEzq6C,KAAM,SAC/Bqq6C,yBAA0B,CACxBp9D,GAAiBI,KAAKnthC,MACtB+shC,GAAiBK,YAAYpthC,QAGjC,CACE9nV,KAAM,uBACNuU,MAAO,uCACPmjW,SAAU,SACVhO,UAAW,uBACXj4R,QAAS,CAAC,oBACV2g2C,gBAAiBw+C,GACjB929C,cAAc,EACdu46C,sBAAuB,CAAEzq6C,KAAM,SAC/Bqq6C,yBAA0B,CACxBp9D,GAAiBI,KAAKnthC,MACtB+shC,GAAiBK,YAAYpthC,MAC7B+shC,GAAiBG,QAAQlthC,QAG7B,CACE9nV,KAAM,gCACNuU,MAAO,iDACPmjW,SAAU,SACVhO,UAAW,gCACXj4R,QAAS,CAAC,oBACV2g2C,gBAAiBw+C,GACjBv+C,sBAAuB,CAAEzq6C,KAAM,SAC/Bqq6C,yBAA0B,CACxBp9D,GAAiBI,KAAKnthC,MACtB+shC,GAAiBK,YAAYpthC,MAC7B+shC,GAAiBG,QAAQlthC,SCnQ7B4rlC,UAAW,kBACXC,aAAc,qBACdC,YAAa,oBACbC,YAAa,oBACbE,YAAa,oBACbg9C,oBAAqB,4BACrBC,kBAAmB,2BAGfC,GAAoB,CACxBh+C,UAAWh9D,GAAW2B,WAAW5+2C,MACjCsm8C,sBAAuB,4BACvBC,kBAAmB,wBACnBS,eAAgB,4BAChBF,gBAAiB,wBACjBH,iBAAkB,0BCpBb,SAASuxB,GAA0Bxu8C,GACxC,OAAOC,EAAAA,EAAAA,IAAqB,gBAAiBD,EAC/C,CACA,MACA,IAD0BE,EAAAA,EAAsBA,GAAC,gBAAiB,CAAC,OAAQ,SAAU,SAAU,UAAW,QAAS,cCD7GvK,GAAY,CAAC,SAAU,SAAU,YAAa,YAAa,oBAAqB,YAAa,2BAA4B,QAAS,wBAyBlI848C,IAAiBru8C,EAAAA,EAAMA,IAAC,MAAO,CACnC9iB,KAAM,gBACN0iB,KAAM,OACNK,kBAAmBA,CAAC9rB,EAAO+J,KAAWwU,EAAAA,EAAAA,GAAS,CAC7C,CAAC,MAAM478C,GAAkBx+0C,SAAU5xI,EAAO4xI,MAC1C,CAAC,MAAMw+0C,GAAkB1lF,aAAc1q4C,EAAO0q4C,WAC7C1q4C,EAAO4D,OANWke,CAOpB,CACDmB,QAAS,OACTmU,WAAY,SACZ9E,QAAS,KAEL+97C,IAAmBvu8C,EAAAA,EAAMA,IAAC,MAAO,CACrC9iB,KAAM,gBACN0iB,KAAM,SACNK,kBAAmBA,CAAC9rB,EAAO+J,IAAWA,EAAOqz3C,QAHtBvx2C,CAItB,CACDmB,QAAS,OACTtV,KAAM,WACNuoB,YAAa,KAETo67C,IAAmBxu8C,EAAAA,EAAMA,IAAC,MAAO,CACrC9iB,KAAM,gBACN0iB,KAAM,SACNK,kBAAmBA,CAAC9rB,EAAO+J,IAAWA,EAAO8X,QAHtBgK,CAItB,CACDnU,KAAM,WACN2pB,UAAW,aACXrB,WAAY,EACZC,aAAc,EACdC,cAAe,IAEXo67C,IAAoBzu8C,EAAAA,EAAMA,IAAC,MAAO,CACtC9iB,KAAM,gBACN0iB,KAAM,UACNK,kBAAmBA,CAAC9rB,EAAO+J,IAAWA,EAAOy0L,SAHrB3yK,CAIvB,CACDnU,KAAM,aAiIR,GA/HgC3D,EAAAA,YAAiB,SAAoByZ,EAAS/mB,GAC5E,MAAMzG,GAAQogB,EAAAA,EAAAA,GAAgB,CAC5BpgB,MAAOwtB,EACPzkB,KAAM,mBAEF,OACF8Y,EAAM,OACNu72C,EAAM,UACN773C,EAAS,UACTksB,EAAY,MAAK,kBACjB226C,GAAoB,EACpB3vD,UAAW8lF,EAAa,yBACxBC,EACA7+0C,MAAO8+0C,EAAS,qBAChBC,GACE169C,EACJwjB,GAAQC,EAAAA,EAAAA,GAA8BzjB,EAAOohB,IACzC2K,GAAaxN,EAAAA,EAAAA,GAAS,CAAC,EAAGve,EAAO,CACrCytB,YACA226C,sBAEIp26C,EA1EkBjC,KACxB,MAAM,QACJiC,GACEjC,EASJ,OAAOmC,EAAAA,EAAcA,GARP,CACZvgB,KAAM,CAAC,QACPyv3C,OAAQ,CAAC,UACTv72C,OAAQ,CAAC,UACT28K,QAAS,CAAC,WACV7iD,MAAO,CAAC,SACR84vC,UAAW,CAAC,cAEewlF,GAA2Bjs8C,EAAQ,EA8DhDG,CAAkBpC,GAClC,IAAI4vH,EAAQ8+0C,EACC,MAAT9+0C,GAAiBA,EAAMn1I,OAASkg6C,IAAe09B,IACjDzozC,GAAqB3lI,EAAAA,EAAAA,KAAK0w5C,IAAYno5C,EAAAA,EAAAA,GAAS,CAC7C0Y,QAASmm2C,EAAS,QAAU,KAC5B773C,UAAWysB,EAAQ2tH,MACnBluH,UAAW,OACXT,QAAS,SACR0t8C,EAAsB,CACvBv39C,SAAUw4I,MAGd,IAAI84vC,EAAY8lF,EAYhB,OAXiB,MAAb9lF,GAAqBA,EAAUju4C,OAASkg6C,IAAe09B,IACzD3vD,GAAyBz+3C,EAAAA,EAAAA,KAAK0w5C,IAAYno5C,EAAAA,EAAAA,GAAS,CACjD0Y,QAASmm2C,EAAS,QAAU,QAC5B773C,UAAWysB,EAAQym3C,UACnB5v3C,MAAO,iBACP4I,UAAW,OACXT,QAAS,SACRwt8C,EAA0B,CAC3Br39C,SAAUsx4C,OAGMrm3C,EAAAA,EAAAA,MAAM8r8C,IAAgB378C,EAAAA,EAAAA,GAAS,CACjDhd,WAAW8sB,EAAAA,EAAIA,GAACL,EAAQrgB,KAAMpM,GAC9Bsc,GAAI4P,EACJhnB,IAAKA,EACLslB,WAAYA,GACXvI,EAAO,CACRrgB,SAAU,CAACi63C,IAAuBpn3C,EAAAA,EAAAA,KAAKok9C,GAAkB,CACvD749C,UAAWysB,EAAQov2C,OACnBrx2C,WAAYA,EACZ5oB,SAAUi63C,KACKhv2C,EAAAA,EAAAA,MAAMks8C,GAAmB,CACxC/49C,UAAWysB,EAAQwwK,QACnBzyK,WAAYA,EACZ5oB,SAAU,CAACw4I,EAAO84vC,KAChB5y3C,IAAuB7L,EAAAA,EAAAA,KAAKqk9C,GAAkB,CAChD949C,UAAWysB,EAAQnM,OACnBkK,WAAYA,EACZ5oB,SAAU0e,OAGhB,ICnIM235C,GAAa,CACjB79xC,MAAO,eACPqgyC,UAAW,mBACXx16C,KCKa,CACb,CACEuC,KAAM,KACNuU,MAAO,YACPmjW,SAAU,SACVhO,UAAW,KACXj4R,QAAS,CAAC,QACV6h2C,cAAc,EACdtv5C,MAAO654C,IAET,CACE795C,KAAM,eACNuU,MAAO,gBACPmjW,SAAU,OACVhO,UAAW,eACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,WACNuU,MAAO,sBACPmjW,SAAU,SACVhO,UAAW,WACXj4R,QAAS,CAAC,QACV8w2C,YAAazs7C,OAAO00B,OAAOyy1C,KAE7B,CACEj92C,KAAM,aACNuU,MAAO,sCACPmjW,SAAU,OACVhO,UAAW,aACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,cACNuU,MAAO,qBACPmjW,SAAU,SACVhO,UAAW,cACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,gBACNuU,MAAO,cACPmjW,SAAU,OACVhO,UAAW,gBACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,eACNuU,MAAO,gBACPmjW,SAAU,SACVhO,UAAW,eACXj4R,QAAS,CAAC,QACV8w2C,YAAazs7C,OAAO00B,OAAOqy1C,KAE7B,CACE782C,KAAM,YACNuU,MAAO,gBACPmjW,SAAU,OACVhO,UAAW,YACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,WACNuU,MAAO,mBACPmjW,SAAU,OACVhO,UAAW,WACXj4R,QAAS,CAAC,SAUZ,CACEzxE,KAAM,KACNuU,MAAO,YACPmjW,SAAU,SACVhO,UAAW,KACXj4R,QAAS,CAAC,WAEZ,CACEzxE,KAAM,gBACNuU,MAAO,kBACPmjW,SAAU,OACVhO,UAAW,gBACXj4R,QAAS,CAAC,WAEZ,CACEzxE,KAAM,gBACNuU,MAAO,kBACPmjW,SAAU,OACVhO,UAAW,gBACXj4R,QAAS,CAAC,WAEZ,CACEzxE,KAAM,WACNuU,MAAO,sBACPmjW,SAAU,SACVhO,UAAW,WACXj4R,QAAS,CAAC,UACV9T,MAAO7nE,OAAO00B,OAAOyy1C,KAEvB,CACEj92C,KAAM,aACNuU,MAAO,aACPmjW,SAAU,SACVhO,UAAW,aACXj4R,QAAS,CAAC,UACV2g2C,gBAAiB0+C,IAEnB,CACE9w9C,KAAM,eACNuU,MAAO,gBACPmjW,SAAU,SACVhO,UAAW,eACXj4R,QAAS,CAAC,UACV9T,MAAO7nE,OAAO00B,OAAOqy1C,KAEvB,CACE782C,KAAM,SACNuU,MAAO,OACPmjW,SAAU,SACVhO,UAAW,SACXj4R,QAAS,CAAC,UACV2g2C,gBAAiB4e,GACjB3e,sBAAuB,CAAC,EACxBJ,yBAA0B,CACxBp9D,GAAiBI,KAAKnthC,MACtB+shC,GAAiBK,YAAYpthC,QAGjC,CACE9nV,KAAM,cACNuU,MAAO,wBACPmjW,SAAU,SACVhO,UAAW,cACXj4R,QAAS,CAAC,UACV2g2C,gBAAiBxS,GACjBqS,yBAA0B,CACxBp9D,GAAiBI,KAAKnthC,MACtB+shC,GAAiBK,YAAYpthC,SDnJjC4rlC,UAAW,oBACXC,aAAc,uBACdC,YAAa,sBACbC,YAAa,sBACbE,YAAa,sBACb69C,mBAAoB,6BACpBC,8BAA+B,mCAG3BjvB,GAAa,CACjBtD,sBAAuB,yCACvBC,kBAAmB,qCACnBS,eAAgB,yCAChBF,gBAAiB,iCACjBH,iBAAkB,oCAGdmyB,GAAwB,CAC5BxyB,sBAAuB,yCACvBC,kBAAmB,qCACnBS,eAAgB,yCAChBF,gBAAiB,qCACjBH,iBAAkB,oCEzBdlvB,GAAa,CACjB79xC,MAAO,cACPqgyC,UAAW,kBACXx16C,KCHa,CACb,CACEuC,KAAM,KACNuU,MAAO,KACPmjW,SAAU,SACVhO,UAAW,KACXj4R,QAAS,CAAC,QACV6h2C,cAAc,EACdtv5C,MAAO654C,IAET,CACE795C,KAAM,UACNuU,MAAO,kBACPmjW,SAAU,SACVhO,UAAW,UACXj4R,QAAS,CAAC,QACV8w2C,YAAazs7C,OAAO00B,OAAOqx1C,KAE7B,CACE772C,KAAM,sBACNuU,MAAO,4BACPmjW,SAAU,OACVhO,UAAW,sBACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,kBACNuU,MAAO,uCACPmjW,SAAU,SACVhO,UAAW,kBACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,WACNuU,MAAO,mBACPmjW,SAAU,OACVhO,UAAW,WACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,aACNuU,MAAO,cACPmjW,SAAU,SACVhO,UAAW,aACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,WACNuU,MAAO,cACPmjW,SAAU,OACVhO,UAAW,WACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,SACNuU,MAAO,SACPmjW,SAAU,SACVhO,UAAW,SACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,YACNuU,MAAO,cACPmjW,SAAU,SACVhO,UAAW,YACXj4R,QAAS,CAAC,QACV8w2C,YAAazs7C,OAAO00B,OAAOky1C,KAE7B,CACE182C,KAAM,WACNuU,MAAO,iBACPmjW,SAAU,SACVhO,UAAW,WACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,YACNuU,MAAO,kBACPmjW,SAAU,SACVhO,UAAW,YACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,kBACNuU,MAAO,oBACPmjW,SAAU,SACVhO,UAAW,kBACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,eACNuU,MAAO,0BACPmjW,SAAU,SACVhO,UAAW,eACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,gBACNuU,MAAO,2BACPmjW,SAAU,SACVhO,UAAW,gBACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,cACNuU,MAAO,eACPmjW,SAAU,SACVhO,UAAW,cACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,eACNuU,MAAO,4BACPmjW,SAAU,OACVhO,UAAW,eACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,cACNuU,MAAO,oBACPmjW,SAAU,OACVhO,UAAW,cACXj4R,QAAS,CAAC,UDtHZii2C,UAAW,mBACXC,aAAc,sBACdC,YAAa,qBACbC,YAAa,qBACbE,YAAa,qBACbg+C,cEZa,CACb,CACE/x9C,KAAM,KACNuU,MAAO,KACPmjW,SAAU,SACVhO,UAAW,KACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,QACNuU,MAAO,QACPmjW,SAAU,SACVhO,UAAW,QACXj4R,QAAS,CAAC,QACVztC,OAAQ,CAAEvmC,KAAM,aAAck1lB,UAAW,IAE3C,CACE3ylB,KAAM,WACNuU,MAAO,WACPmjW,SAAU,SACVhO,UAAW,WACXj4R,QAAS,CAAC,WClBC,SAASug5C,GAAS5w9C,GAAoB,IAAnB,SAAEhH,EAAQ,GAAEsmB,GAAItf,EAChD,OACE6L,EAAAA,EAAAA,KAACqxS,GAAG,CACF55R,UAAU,UACVhE,GAAI,IACCA,GACHtmB,SAEDA,GAGP,CCDA,MA6DA,GA7D6B4Q,EAAAA,YAC3B,CAAA5J,EAAwD1D,KAAS,IAAhE,UAAEu16C,EAAS,WAAEx3hC,EAAU,cAAE+5hC,EAAa,YAAE9E,GAAatv6C,EACpD,MAAM,KAAE47B,EAAI,YAAE0v4C,EAAW,aAAEjP,EAAY,QAAEn1iC,EAAO,WAAEgtjC,GAChDyqB,GAAeri8C,EAAK,iCAYhBgj4C,EAAemgE,GAAU,CAAC,EAAGvrB,EAAY5E,GAVvB53rC,IACtB08rC,GAAetyD,IACN,IACFA,KAIL,IAKJ,OACEj22C,EAAAA,EAAAA,KAACuj6C,GAAY,CACXxz4C,KAAMA,EACN812C,YAAa45B,EACbgB,WAAW,mBACXv44C,SAAS,KACTw6zC,WAAW,EAAKv11C,UAEhB6S,EAAAA,EAAAA,KAACyvT,GAAI,CACH42V,SAAUotuB,EACVrJ,cAAe/ugC,EAEfnuX,OAAQmd,IAAA,IAAC,aACPop3C,EAAY,KACZx5jC,EAAI,WACJwwjC,EAAU,SACVI,EAAQ,OACRtt2C,EAAM,MACNyQ,GACD3jB,EAAA,OACC+N,EAAAA,EAAAA,MAAC4z5C,GAAa,CAAC3lxB,SAAUotuB,EAAatm4C,SAAA,EACpC6S,EAAAA,EAAAA,KAAC8g6C,GAAoB,CAAA3z6C,UACnB6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,WACL0kB,UAAW005C,GACXlx5C,UAAU,EACVu14C,aAAcA,OAGlBxw5C,EAAAA,EAAAA,KAACyp6C,GAAoB,CAAAt86C,UACnB6S,EAAAA,EAAAA,KAAC4g8C,GAAW,CACV7w2C,QAAUhlG,IACR006C,GAAa,QAIL,KAGP,ICrCfulD,GAAoBjn9C,EAAAA,YACxB,CAAA5J,EAWE1D,KACI,IAADy36C,EAAA8K,EAAAsiB,EAAA2vB,EAAA9qB,EAAAC,EAAA,IAXH,UACEp0B,EAAS,YACTvC,EAAW,cACXywC,EAAa,YACbjd,EAAW,aACXiuB,EAAY,SACZC,EAAQ,iBACRC,EAAgB,UAChBjR,GACDhg9C,EAGD,MAAMzK,EAAUqU,EAAAA,WAAiB4x1C,IAE3ByjC,EAAe,CACnBilF,OAAO,EACP2J,iBAAkBphP,OAClBgrM,YAAahrM,OACbykP,UAAkB,OAAP379C,QAAO,IAAPA,GAAa,QAANw+6C,EAAPx+6C,EAASmm2C,YAAI,IAAAq4E,OAAN,EAAPA,EAAep76C,GAC1Bw49C,gBAAwB,OAAP579C,QAAO,IAAPA,GAAa,QAANsp7C,EAAPtp7C,EAASmm2C,YAAI,IAAAmjF,OAAN,EAAPA,EAAelm7C,GAChCy49C,OAAQ,EACRC,gBAAiBJ,GAGbhR,GAAmB5qI,EAAAA,EAAAA,UACnBw6G,GAAcx6G,EAAAA,EAAAA,UACdoqI,GAAapqI,EAAAA,EAAAA,UACbi8I,GAA0Bj8I,EAAAA,EAAAA,UAC1Bk8I,GAAqBl8I,EAAAA,EAAAA,UA4CrBjszC,GAASiszC,EAAAA,EAAAA,QAAO,MACtB,IAAIm8I,GAAiBn8I,EAAAA,EAAAA,QAAO,MAE5B,MAAMo8I,EACQ,QADoBtwB,EAChC5r8C,EAAQmm2C,YAAI,IAAAylG,GAAwB,QAAxB2vB,EAAZ3vB,EAAckQ,8BAAsB,IAAAyf,OAAxB,EAAZA,EAAsCY,iCAExCF,EAAiBC,EAQjB,MAcM,QACJvqmC,EAAO,KACPtrV,EAAI,YACJ812C,EAAW,aACX2qB,EAAY,aACZ/8B,EAAY,aACZ9znC,EAAY,mBACZ+/pC,EAAkB,MAClB+I,EAAK,WACLJ,EAAU,gBACVC,EAAe,MACfH,GACE0D,GACFp76C,EACA+y6C,GACAC,EACAuC,EACA5yC,EACA8gF,GACA,GAzFuBpn9C,IACvB,IACIum+B,EADO4je,EAAY127C,QAAQ5P,SAASknX,iBAClBtiS,MAAMz6E,GAAMA,EAAE3R,KAAO2D,IAC3Cu76C,EAAWh1c,EAAWxq5B,MACtBy/1C,GAAgB,EAAM,IAGM/q5C,IAC5B,IAAI827C,EAAcpd,EAAY127C,QAAQ5P,SACnCs+K,OAAO,mBACPj4K,QACH,GAAImx6C,EAAO,CACT,IAAI5qrC,EAAS82tC,EAAY9+3C,MAAMz6E,GAAMA,EAAE3R,KAAOg/6C,IACzC5qrC,IACH82tC,EAAYzp9C,KAAK,CACfzB,IAAKg/6C,EACLt/1C,KAAM,CAAC,EACPr4E,KAAM,WAER+sP,EAAS82tC,EAAY9+3C,MAAMz6E,GAAMA,EAAE3R,KAAOg/6C,KAG5C,IACI90c,EADO4je,EAAY127C,QAAQ5P,SAASknX,iBAClBtiS,MAAMz6E,GAAMA,EAAE3R,KAAOg/6C,IAC3Ct/6C,OAAOE,KAAKsq+B,EAAWxq5B,MAAM9sE,KAAK5S,IAC5Bo0B,EAAOp0B,IAAQkq+B,EAAWxq5B,KAAK1/E,KACjCo0P,EAAO10K,KAAK1/E,GAAOo0B,EAAOp0B,GAC5B,GAEJ,MACEkr9C,EAAYzp9C,KAAK,CACfzB,IAAKupvC,OAAO4hO,aACZzr4C,KAAMtrD,EACN/sB,KAAM,WAIVym8C,EAAY127C,QAAQ5P,SAASs+K,OAAO,kBAAmBolyC,GAEvDxuE,GAAa,GAqDb,MApCkB0uE,KAClB,GAAqB,kBAAVpsC,EAAqB,CAC9B,IAAIksC,EACFpd,EAAY127C,QAAQ5P,SAASs+K,OAAO,mBACtCgoxC,EAAY127C,QAAQ5P,SAASs+K,OAC3B,kBACAolyC,EAAY3o9C,QAAQoP,GAAMA,EAAE3R,KAAOg/6C,IAEvC,KAAO,CACL,IAAIqsC,EAAKvd,EAAY127C,QAAQ5P,SAASs+K,OAAO,cAC7CklyC,EAAUK,EAAG9o9C,QAAQoP,GAAMA,EAAEhO,IAAMq76C,IACrC,KA8CI6xB,EAAmBluB,KAAa5n5C,MAAM,IACtCx6B,EAAQmm2C,KAAK4sG,iBAAmB,CAClCqpB,aAAch6C,KAAat7kC,KAAK,UAAW,CACzCsN,GAAKk2mC,GAAYA,GAAsB,GAAXA,EAC5Bj+zC,KAAM+1xC,KAEHtv5C,IACQ,OAAP9yB,QAAO,IAAPA,GAAa,QAANyw8C,EAAPzw8C,EAASmm2C,YAAI,IAAAsqG,OAAN,EAAPA,EAAe4rB,gBACf,sCACO,OAAPr89C,QAAO,IAAPA,GAAa,QAAN0w8C,EAAP1w8C,EAASmm2C,YAAI,IAAAuqG,OAAN,EAAPA,EAAe2rB,iBACf,eAEJ9uD,UAAW6U,QAGfy5C,OAAQz5C,KAAarv5C,IAAI,GACzBu37C,QAASloC,KAAa974C,WACtB8j7C,QAAShoC,KAAa974C,WACtBw17C,gBAAiB15C,KAAa974C,WAC9Bsy7C,WAAYx2C,KAAat7kC,KAAK,UAAW,CACvCsN,GAAKk2mC,GAAYA,GAAsB,GAAXA,EAC5Bj+zC,KAAM+1xC,KAAarv5C,IAAI,GAAK,mDAC5Bw64C,UAAW6U,SAMTh2zC,GAFwBg2zC,KAAa5n5C,MAAM,CAAC,GAEjCw74C,EAAmBs6B,KAE7BgsB,EAA6BC,IAClCx8I,EAAAA,EAAAA,WAAS,IAEJy8I,EAAkBC,IAAuB18I,EAAAA,EAAAA,UAAS,OAElD28I,EAAcC,IAAmB58I,EAAAA,EAAAA,WAAS,IAC1C68I,EAAcC,IAAmB98I,EAAAA,EAAAA,WAAS,IAC1C+8I,EAAaC,IAAkBh9I,EAAAA,EAAAA,WAAS,GAW/C,OATAN,EAAAA,EAAAA,YAAU,IACD,KAELk9I,GAAgB,GAChBE,GAAgB,GAChBE,GAAe,EAAM,GAEtB,KAGDru8C,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,EACE6S,EAAAA,EAAAA,KAACuj6C,GAAY,CACXxz4C,KAAMA,EACN812C,YAAaA,EACb46B,WAAW,sCACXv44C,SAAS,KAAI/6B,UAEb6S,EAAAA,EAAAA,KAACyvT,GAAI,CACH42V,SAAUotuB,EACVrJ,cAAe/ugC,EACfvlQ,SAAUA,EACV5oH,OAAQmd,IAAA,IAAAq88C,EAAAC,EAAAC,EAAA,IAAC,aACPnzF,EAAY,KACZx5jC,EAAI,WACJwwjC,EAAU,SACVI,EAAQ,MACR781C,EACAzQ,OAAQgj7C,GACTl27C,EAAA,OACC+N,EAAAA,EAAAA,MAAC4z5C,GAAa,CACZ3lxB,SAAUotuB,EACVlg4C,MAAO,CAAEmhB,OAAQ,SAAUvnB,SAAA,EAE3B6S,EAAAA,EAAAA,KAAC6z3C,GAAO,CACNvI,aAAc,CAAE/t2C,QAAQ,GACxB8uR,SAAWriT,IAAW,IAADy49C,EAAAoE,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACgC1E,EAA/CjiB,EAAWyT,SAAWplG,GAASG,SAASl0hC,OAC1C5gB,EAAK18E,OACH,sBACM,OAANhgO,QAAM,IAANA,GAAe,QAATil8C,EAANjl8C,EAAQhd,eAAO,IAAAii9C,OAAT,EAANA,EAAiB2E,iBAGrB,MAAMC,GACE,OAAN7p8C,QAAM,IAANA,GAAe,QAATkl8C,EAANll8C,EAAQhd,eAAO,IAAAki9C,OAAT,EAANA,EAAiB4E,iBACjBr99C,EAAMuzB,OAAO8p8C,cACTC,GACE,OAAN/p8C,QAAM,IAANA,GAAe,QAATsp8C,EAANtp8C,EAAQhd,eAAO,IAAAsm9C,OAAT,EAANA,EAAiBf,gBACjB979C,EAAMuzB,OAAOuo8C,aAEf,GACEsB,GACqB,iBAArBlB,GACM,OAAN3o8C,QAAM,IAANA,GAAe,QAATup8C,EAANvp8C,EAAQhd,eAAO,IAAAum9C,GAAfA,EAAiBO,cACjB,CACA,MAAME,EACHv99C,EAAMuzB,OAAO8p8C,eACXr99C,EAAMuzB,OAAO+k8C,WAAat49C,EAAMuzB,OAAOgo8C,QAC1C,IAEFtrpC,EAAK18E,OAAO,eAAgBgquC,GAE5B,MAAMC,GACHx99C,EAAMuzB,OAAO+k8C,WACVt49C,EAAMuzB,OAAO+k8C,WAAat49C,EAAMuzB,OAAOgo8C,OACvC,GAAKv79C,EAAMuzB,OAAO8p8C,cAElBI,EACHD,GACEx99C,EAAMuzB,OAAOml8C,SAAW149C,EAAMuzB,OAAOml8C,SAAW,GACnD,IAEF,IAAIgF,GACA199C,EAAMuzB,OAAO+k8C,WACXt49C,EAAMuzB,OAAO+k8C,WACb,IACDt49C,EAAMuzB,OAAOml8C,SAAW149C,EAAMuzB,OAAOml8C,SAAW,GACnD,KACC149C,EAAMuzB,OAAO+k8C,WAAat49C,EAAMuzB,OAAO+k8C,WAAa,GACvDropC,EAAK18E,OAAO,kBAAmBmquC,GAE/BztpC,EAAK18E,OAAO,YAAakquC,GACzBxtpC,EAAK18E,OACH,cACAiquC,EAAmBC,GAGrBtB,EAAoB,gBACtB,CAIA,GACEmB,GACqB,kBAArBpB,GACM,OAAN3o8C,QAAM,IAANA,GAAe,QAATwp8C,EAANxp8C,EAAQhd,eAAO,IAAAwm9C,GAAfA,EAAiBjB,aACjB,CAAC,IAADxnB,EACA,MAAMqpB,EACH399C,EAAMuzB,OAAO+k8C,WACZt49C,EAAMuzB,OAAOgo8C,OACbv79C,EAAMuzB,OAAOuo8C,aACf,IAEF,IAAI8B,GACW,QAAZtpB,EAAAt08C,EAAMuzB,cAAM,IAAA+g7C,GAAZA,EAAcgkB,WACXt49C,EAAMuzB,OAAO+k8C,WAAat49C,EAAMuzB,OAAOgo8C,OACvC,GAAKoC,EAEPhF,EACDiF,GACE599C,EAAMuzB,OAAOml8C,SAAW149C,EAAMuzB,OAAOml8C,SAAW,GACnD,IACFzopC,EAAK18E,OAAO,YAAaoluC,GAEzB,IAAIkF,GACA799C,EAAMuzB,OAAO+k8C,WACXt49C,EAAMuzB,OAAO+k8C,WACb,IACDt49C,EAAMuzB,OAAOml8C,SAAW149C,EAAMuzB,OAAOml8C,SAAW,GACnD,KACC149C,EAAMuzB,OAAO+k8C,WAAat49C,EAAMuzB,OAAO+k8C,WAAa,GACvDropC,EAAK18E,OAAO,kBAAmBsquC,GAE/B5tpC,EAAK18E,OAAO,cAAeqquC,EAAajF,GAExC1opC,EAAK18E,OAAO,gBAAiBoquC,GAC7BxB,EAAoB,eACtB,CAC8Bn89C,EAAMuzB,OAAO8p8C,cAE3C,IACQ,OAAN9p8C,QAAM,IAANA,GAAe,QAATyp8C,EAANzp8C,EAAQhd,eAAO,IAAAym9C,OAAT,EAANA,EAAiBtE,WAAY149C,EAAMuzB,OAAOml8C,WACpC,OAANnl8C,QAAM,IAANA,GAAe,QAAT0p8C,EAAN1p8C,EAAQhd,eAAO,IAAA0m9C,OAAT,EAANA,EAAiB3E,aAAct49C,EAAMuzB,OAAO+k8C,aACtC,OAAN/k8C,QAAM,IAANA,GAAe,QAAT2p8C,EAAN3p8C,EAAQhd,eAAO,IAAA2m9C,OAAT,EAANA,EAAiB3B,SAAUv79C,EAAMuzB,OAAOgo8C,OACxC,CACA,IAAIuC,GACA999C,EAAMuzB,OAAO+k8C,WACXt49C,EAAMuzB,OAAO+k8C,WAAat49C,EAAMuzB,OAAOgo8C,OACvC,IACDv79C,EAAMuzB,OAAOuo8C,aACV979C,EAAMuzB,OAAOuo8C,aACb,GACN,IACF7rpC,EAAK18E,OAAO,gBAAiBuquC,GAE7B,IAAIF,GACD599C,EAAMuzB,OAAO+k8C,WACVt49C,EAAMuzB,OAAO+k8C,WAAat49C,EAAMuzB,OAAOgo8C,OACvC,GAAKuC,EAEPnF,EACDiF,GACE599C,EAAMuzB,OAAOml8C,SAAW149C,EAAMuzB,OAAOml8C,SAAW,GACnD,IACFzopC,EAAK18E,OAAO,YAAaoluC,GAEzB,IAAIkF,GACA799C,EAAMuzB,OAAO+k8C,WACXt49C,EAAMuzB,OAAO+k8C,WACb,IACDt49C,EAAMuzB,OAAOml8C,SAAW149C,EAAMuzB,OAAOml8C,SAAW,GACnD,KACC149C,EAAMuzB,OAAO+k8C,WAAat49C,EAAMuzB,OAAO+k8C,WAAa,GACvDropC,EAAK18E,OAAO,kBAAmBsquC,GAE/B5tpC,EAAK18E,OAAO,cAAeqquC,EAAajF,EAC1C,CAEApl8C,EAAOhd,QAAUvW,EAAMuzB,MAAM,KAGjCnF,EAAAA,EAAAA,MAAC0o5C,GAAoB,CAAA3z6C,SAAA,EAEnBirB,EAAAA,EAAAA,MAACi7R,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAEl0B,SAAA,EAkB9BirB,EAAAA,EAAAA,MAAC2s8C,GAAS,CACRtx8C,GAAI,CAAEiR,EAAG,EAAGX,aAAc,EAAGyE,QAAS,WAAYr7B,SAAA,EAElDirB,EAAAA,EAAAA,MAAA,OACE7kB,MAAO,CACLyjB,QAAS,OACTkU,eAAgB,gBAChBC,WAAY,UACZh+B,SAAA,EAEF6S,EAAAA,EAAAA,KAAA,KACEzM,MAAO,CAELqP,WAAY,OACZ0pB,UAAW,SACX5qB,KAAM,EACNyoB,WAAY,KACZh9B,SACH,0BAGD6S,EAAAA,EAAAA,KAAA,OACEzM,MAAO,CACLsc,SAAU,OACVjN,WAAY,OACZ0pB,UAAW,SACXn/B,UAEF6S,EAAAA,EAAAA,KAACw4pB,GAAa,CACZ3ppB,MAAM,UAENkhF,QAAUhlG,IAAO,IAADg99C,EAAAC,EACS,OAAvBvC,QAAuB,IAAvBA,GAAgC,QAATsC,EAAvBtC,EAAyBll9C,eAAO,IAAAwn9C,GAAhCA,EAAkCv6D,WAChB,OAAhB4mD,QAAgB,IAAhBA,GAAyB,QAAT4T,EAAhB5T,EAAkB7z8C,eAAO,IAAAyn9C,OAAT,EAAhBA,EAA2Bj89C,MAE5B,EAEHyf,UACuB,QAAb,OAAP6vW,QAAO,IAAPA,OAAO,EAAPA,EAAS8mmC,SACmB,qBAAb,OAAP9mmC,QAAO,IAAPA,OAAO,EAAPA,EAAS8mmC,WACoB,QAArB,OAAhB/N,QAAgB,IAAhBA,GAAyB,QAATsS,EAAhBtS,EAAkB7z8C,eAAO,IAAAmm9C,OAAT,EAAhBA,EAA2B369C,QAE1B,qBADuB,OAAhBqo9C,QAAgB,IAAhBA,GAAyB,QAATuS,EAAhBvS,EAAkB7z8C,eAAO,IAAAom9C,OAAT,EAAhBA,EAA2B569C,QAEG,MAArB,OAAhBqo9C,QAAgB,IAAhBA,GAAyB,QAATwS,EAAhBxS,EAAkB7z8C,eAAO,IAAAqm9C,OAAT,EAAhBA,EAA2B769C,QAC9BoB,SACF,0DAML6S,EAAAA,EAAAA,KAACis6C,GAAY,CAAC3k6C,MAAM,WAAWkp5C,aAAcA,EAAarj6C,UACxD6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,UACL29D,MAAO7nE,OAAO00B,OAAO2x1C,IACrBz31C,UAAW2z4C,GACXnw4C,UAAWwt5C,EAAM6C,OACjB766C,IAAKmj9C,EACLv4lC,QAASA,EACTo0hC,cAAeA,CAACtooC,EAAKi/pC,KACb,OAANA,QAAM,IAANA,GAAAA,EAAQvrlC,MACJ4roC,GAAe,GACfA,GAAe,IAGX,OAANrgD,QAAM,IAANA,OAAM,EAANA,EAAQvrlC,SACRq0hC,GAAiBE,aAAav0hC,MAE1B,OAAJ5gB,QAAI,IAAJA,GAAAA,EAAM18E,OAAO,SAAU6nuC,GAEnB,OAAJnrpC,QAAI,IAAJA,GAAAA,EAAM18E,OAAO,SAAU,EACzB,OAMNv9O,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,kBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,UACL29D,MAAO7nE,OAAO00B,OAAOqx1C,IACrBn31C,UAAW2z4C,GACXnw4C,UAAWwt5C,EAAM6C,QAAiC,OAAvBi1B,EAAWuT,SAAkD,qBAAvBvT,EAAWuT,QAE5Erj9C,IAAKuz7C,EACL3okC,QAASA,EACTo0hC,cAAeA,CAACtooC,EAAKi/pC,MAEX,OAANA,QAAM,IAANA,OAAM,EAANA,EAAQvrlC,SAAU+zhC,GAASG,SAASl0hC,OACpC1zE,IAAQynmC,GAASG,SAASl0hC,QAEtB,OAAJ5gB,QAAI,IAAJA,GAAAA,EAAM18E,OAAO,aAAc,GACvB,OAAJ08E,QAAI,IAAJA,GAAAA,EAAM18E,OAAO,WAAY,MACrB,OAAJ08E,QAAI,IAAJA,GAAAA,EAAM18E,OAAO,WAAY,IAGrB,OAAN6orC,QAAM,IAANA,GAAAA,EAAQvrlC,MACJwroC,GAAgB,GAChBA,GAAgB,GAEpBV,GACQ,OAANv/C,QAAM,IAANA,OAAM,EAANA,EAAQvrlC,SAAU+zhC,GAASG,SAASl0hC,QACH,IAAjC+qoC,CAAqC,MAM5CrlB,EAAWyT,SAAWplG,GAASG,SAASl0hC,OACvC76U,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,4BACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,SACLsoX,QAASA,EACT5jW,UAAW877C,GAEXt47C,UAAWwt5C,EAAM6C,QAAiC,OAAvBi1B,EAAWyT,SAAkD,qBAAvBzT,EAAWyT,QAE5E1+E,SAAU8+E,EACVpuC,UAAWA,EACXge,YAAaA,EACb4vB,WAAYA,EACZC,cAAe,CAAC,WAAY,WAC5BxnD,WAAY,sBACZ5c,cAAeA,CAACtooC,EAAKi/pC,KAAY,IAAD6hD,EAAAC,EAgB5BC,GAfI,OAAN/hD,QAAM,IAANA,GAAAA,EAAQvrlC,MACJ0roC,GAAgB,GAChBA,GAAgB,GAGZ,OAANngD,QAAM,IAANA,GAAAA,EAAQvrlC,OACRqqoC,IACuB,GAAtB3kB,EAAWuT,SACc,IAAvBvT,EAAWuT,SAEV,QADkB,OAAlB4R,QAAkB,IAAlBA,GAA2B,QAATuC,EAAlBvC,EAAoBnl9C,eAAO,IAAA0n9C,OAAT,EAAlBA,EAA6Bl89C,QAGf,qBADW,OAAlB259C,QAAkB,IAAlBA,GAA2B,QAATwC,EAAlBxC,EAAoBnl9C,eAAO,IAAA2n9C,OAAT,EAAlBA,EACHn89C,UACS,IAAjBq69C,IACgB,IAAhBI,IAEA5xG,GAAelvzB,QAAQ,CACrBn3U,OAAQ,OACR10N,IAAK,GAAG2t1C,oCACR3+xC,KAAM,CACJu/4C,OAAQhiD,EAAOvrlC,MACfwtoC,eAAgBnD,EAChBM,gBACoB,OAAlBE,QAAkB,IAAlBA,GAA2B,QAATyC,EAAlBzC,EAAoBnl9C,eAAO,IAAA4n9C,OAAT,EAAlBA,EAA6Bp89C,SAGhCgqJ,MAAM81F,IACiB,OAAlBA,EAAIhjK,KAAKA,MACP,OAAJoxP,QAAI,IAAJA,GAAAA,EAAM18E,OACJ,aACA1R,EAAIhjK,KAAKA,KAAKy54C,YAEZ,OAAJropC,QAAI,IAAJA,GAAAA,EAAM18E,OACJ,WACA1R,EAAIhjK,KAAKA,KAAK054C,OAEZ,OAAJtopC,QAAI,IAAJA,GAAAA,EAAM18E,OACJ,WACA1R,EAAIhjK,KAAKA,KAAK654C,UAGhBiD,EACEC,IAIE,OAAJ3rpC,QAAI,IAAJA,GAAAA,EAAM18E,OAAO,aAAc,GACvB,OAAJ08E,QAAI,IAAJA,GAAAA,EAAM18E,OAAO,WAAY,MACrB,OAAJ08E,QAAI,IAAJA,GAAAA,EAAM18E,OAAO,WAAY,GAEzBoouC,EACEC,EACJ,IAEDr7zC,OAAOz8I,IACNo55C,GAAWp55C,EAAMsnG,SAASvsC,KAAK,GAErC,OAUN7oE,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,kBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,kBACLsoX,QAASA,EACT5jW,UAAW833C,GACXt03C,UAAWwt5C,EAAM6C,WAIA,GAAtBi1B,EAAWuT,QAAe,MACzB9z8C,EAAAA,EAAAA,KAAAqt5C,EAAAA,SAAA,CAAAlg6C,UAQE6S,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,uCACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,kBACLsoX,QAASA,EACT5jW,UAAW626C,GACXrz6C,UAAWwt5C,EAAM6C,OACjBh2C,SAAUowF,EACVn3B,YAAaA,KAAO,IAAD+5B,EAAAC,EASfC,EAPAtD,GACuC,QAArB,OAAlBQ,QAAkB,IAAlBA,GAA2B,QAAT4C,EAAlB5C,EAAoBnl9C,eAAO,IAAA+n9C,OAAT,EAAlBA,EAA6Bv89C,QAE7B,qBADyB,OAAlB259C,QAAkB,IAAlBA,GAA2B,QAAT6C,EAAlB7C,EAAoBnl9C,eAAO,IAAAgo9C,OAAT,EAAlBA,EAA6Bx89C,SAEnB,IAAjBq69C,IACiB,IAAjBE,IACgB,IAAhBE,GAEA5xG,GAAelvzB,QAAQ,CACrBn3U,OAAQ,OACR10N,IAAK,GAAG2t1C,oCACR3+xC,KAAM,CACJu/4C,OACM,OAAJnupC,QAAI,IAAJA,OAAI,EAAJA,EAAM42jC,cAAc,UAAU9k4C,MAChCs89C,eAAgBnD,EAChBM,gBACoB,OAAlBE,QAAkB,IAAlBA,GAA2B,QAAT8C,EAAlB9C,EAAoBnl9C,eAAO,IAAAio9C,OAAT,EAAlBA,EAA6Bz89C,MAC1B6H,QAAQ,IAAK,IACbA,QAAQ,IAAK,OAGnBmiJ,MAAM81F,IACiB,OAAlBA,EAAIhjK,KAAKA,MACP,OAAJoxP,QAAI,IAAJA,GAAAA,EAAM18E,OACJ,aACA1R,EAAIhjK,KAAKA,KAAKy54C,YAEZ,OAAJropC,QAAI,IAAJA,GAAAA,EAAM18E,OACJ,WACA1R,EAAIhjK,KAAKA,KAAK054C,OAEZ,OAAJtopC,QAAI,IAAJA,GAAAA,EAAM18E,OACJ,WACA1R,EAAIhjK,KAAKA,KAAK654C,UAGhBiD,EACEC,IAIE,OAAJ3rpC,QAAI,IAAJA,GAAAA,EAAM18E,OAAO,aAAc,GACvB,OAAJ08E,QAAI,IAAJA,GAAAA,EAAM18E,OAAO,WAAY,MACrB,OAAJ08E,QAAI,IAAJA,GAAAA,EAAM18E,OAAO,WAAY,GAEzBoouC,EACEC,EACJ,IAEDr7zC,OAAOz8I,IACNo55C,GAAWp55C,EAAMsnG,SAASvsC,KAAK,GAErC,SAsEV7oE,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,mBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,WACLsoX,QAASA,EACT7qX,KAAK,OACLinB,UAAWu+6C,GACX/66C,UAAWwt5C,EAAM6C,OACjBj2C,QAAS,EACTtwI,QAAS,UAIf/kvC,EAAAA,EAAAA,KAAA,SACAA,EAAAA,EAAAA,KAAC+k9C,GAAS,CACRtx8C,GAAI,CAAEiR,EAAG,EAAGX,aAAc,EAAGyE,QAAS,WAAYr7B,UAElDirB,EAAAA,EAAAA,MAAA,OAAAjrB,SAAA,EACE6S,EAAAA,EAAAA,KAAA,KACEzM,MAAO,CACLsc,SAAU,QACVjN,WAAY,OACZ0pB,UAAW,UACXn/B,SACH,qBAID6S,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,cACNkp5C,aAAcA,EACd3h5C,MACE455C,EAAM6C,QAAUq6C,EACZ,eACA3z9C,EACL7E,UAED6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,aACL0kB,UAAW626C,GACXrz6C,UAAWwt5C,EAAM6C,OACjBjwjC,QAASA,EACT7vW,UAAWm68C,OAKf3l9C,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,cACNkp5C,aAAcA,EACd3h5C,MACE455C,EAAM6C,QAAUq6C,EACZ,eACA3z9C,EACL7E,UAED6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,WACL29D,MAAO7nE,OAAO00B,OAAO8x1C,IACrBh0/B,QAASA,EACT5jW,UAAW2z4C,GACXnw4C,UAAWwt5C,EAAM6C,OACjB9/5C,UAAWm68C,OAGf3l9C,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,wBACNkp5C,aAAcA,EACd3h5C,MAAO455C,EAAM6C,OAAS,eAAYt56C,EAAU7E,UAE5C6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,SACLsoX,QAASA,EACT5jW,UAAW626C,GACXrz6C,UAAWwt5C,EAAM6C,YAIrBtr6C,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,8BACNkp5C,aAAcA,EACd3h5C,MAAO455C,EAAM6C,OAAS,eAAYt56C,EAAU7E,UAE5C6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,YACL29D,MAAO7nE,OAAO00B,OAAOky1C,IACrBp0/B,QAASA,EACT5jW,UAAW2z4C,GACXnw4C,UAAWwt5C,EAAM6C,YAKrBtr6C,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,iBACNkp5C,aAAcA,EACd3h5C,MACE455C,EAAM6C,QAAUq6C,EACZ,eACA3z9C,EACL7E,UAED6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,WACL0kB,UAAW626C,GACXrz6C,UAAWwt5C,EAAM6C,OACjBjwjC,QAASA,EACT7vW,UAAWm68C,OAMf3l9C,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,kBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,YACL0kB,UAAW626C,GACXrz6C,UAAU,EACVogW,QAASA,OAGbr7W,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,qBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,kBACL0kB,UAAW626C,GACXrz6C,UAAU,EACVogW,QAASA,OAGbr7W,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,0BACNkp5C,aAAcA,EACd3h5C,MAAO455C,EAAM6C,OAAS,eAAYt56C,EAAU7E,UAE5C6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,eACL0kB,UAAW626C,GACXrz6C,UAAWwt5C,EAAM6C,OACjB9v5C,QAASA,KACP2q8C,EAAoB,eAAe,EAErC9qmC,QAASA,OAKbr7W,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,2BACNkp5C,aAAcA,EACd3h5C,MAAO455C,EAAM6C,OAAS,eAAYt56C,EAAU7E,UAE5C6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,gBACL0kB,UAAW626C,GACX9y6C,QAASA,IAAM2q8C,EAAoB,iBACnClr8C,UAAWwt5C,EAAM6C,OACjBjwjC,QAASA,OAGbr7W,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,eACNkp5C,aAAcA,EAChBrj6C,UAEE6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,cACL0kB,UAAW626C,GACXrz6C,UAAU,EACVogW,QAASA,eAOnBr7W,EAAAA,EAAAA,KAACyp6C,GAAoB,CAAAt86C,UACnB6S,EAAAA,EAAAA,KAAC4q6C,GAAY,CACXnC,MAAOA,EACPxumC,KAAMA,EACNt6D,aAAcA,EACd8qnC,WAAYA,EACZI,SAAUA,EACV2lC,aAAcA,EACdua,iBAAkB,oBAClBM,iBAAkB,6BAIV,OAItBrr6C,EAAAA,EAAAA,KAACyo9C,GAAoB,CACnBh49C,IAAKg19C,EACLz/C,UAAWA,EACXx3hC,YAAY,MAEb,IAIT,MC34BA,SAtDA,SAAoBr6Y,GAOhB,IAADu09C,EAAA,IAPkB,UACnB1iD,EAAS,QACT3qjC,EAAO,YACPoojC,EAAW,cACXywC,EAAa,YACbjd,EAAW,iBACXuI,GACDrr8C,GACmBq10C,EAAAA,EAAAA,UAAlB,MACM/40C,GAAM+40C,EAAAA,EAAAA,UACN07I,EAAe1wF,GAAS,gBAAgBzj4C,MAAMhF,MAC9Co59C,EAAW3wF,GAAS,MAAMzj4C,MAAMhF,MAChCy59C,EAAkBhxF,GAAS,mBAAmBzj4C,MAAMhF,OAEnD0o9C,EAAQN,IAAa1qI,EAAAA,EAAAA,UAASpu9B,EAAQ69kC,OAU7C,OARA/vH,EAAAA,EAAAA,YAAU,KACRgrI,EAAU94lC,EAAQ69kC,MAAM,GACvB,CAAC79kC,KAOFjjW,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,EACE6S,EAAAA,EAAAA,KAACi57C,GAAQ,CACP//kB,SAAUsqjB,GAAWhz6C,KACrBg95C,WARc1g6C,IAClB2D,EAAI8P,QAAQit5C,WAAW1g6C,EAAG,EAQtB4nB,OAAQ,OACRui7C,YAAaA,EACb/o4C,WAAkB,OAANum5C,QAAM,IAANA,EAAAA,EAAU,GACtBtd,oBAAsC,QAAnBuxB,EAAErtmC,EAAQstmC,iBAAS,IAAAD,EAAAA,EAAI,GAC1CtxB,kBAAmB5zB,GAAWshD,cAC9B5tB,gBAAiBsI,KAA4B,OAAPnklC,QAAO,IAAPA,GAAAA,EAASvuX,IAC/Cuq8C,iBAAkBmI,EAClBhhB,eAAgB,qBAGlBx+6C,EAAAA,EAAAA,KAACgl9C,GAAiB,CAChBv09C,IAAKA,EACLu16C,UAAWA,EACXvC,YAAaA,EACbywC,cAAeA,EACfjd,YAAaA,EACbiuB,aAAcA,EACdC,SAAUA,EACVC,iBAAkBI,EAClBrR,UAAWA,MAInB,EC8CA,GAzF2Bp28C,EAAAA,YAAiB,CAAA5J,EAAyB1D,KAAS,IAADy36C,EAAA8K,EAAA,IAAhC,mBAAE41C,GAAoBz09C,EACjE,MAAMzK,EAAUqU,EAAAA,WAAiB4x1C,KAC3B,KAAE5/zC,EAAI,YAAE0v4C,GAAgByD,GAAezy6C,GAqBvCup8C,EAAmBluB,KAAa5n5C,MAAM,IACtCx6B,EAAQmm2C,KAAK4sG,iBAAmB,CAClCqpB,aAAch6C,KAEXtv5C,IACQ,OAAP9yB,QAAO,IAAPA,GAAa,QAANw+6C,EAAPx+6C,EAASmm2C,YAAI,IAAAq4E,OAAN,EAAPA,EAAe69C,gBACf,sCACO,OAAPr89C,QAAO,IAAPA,GAAa,QAANsp7C,EAAPtp7C,EAASmm2C,YAAI,IAAAmjF,OAAN,EAAPA,EAAe+yC,iBACf,gBAGND,aAAch6C,KAAatv5C,IAAI,IAAK,qDAGhC,mBAAEkj5C,GAAuBmM,KAEzB/1zC,EAAW4pzC,EAAmBs6B,GAEpC,OACEh67C,EAAAA,EAAAA,KAACuj6C,GAAY,CACXxz4C,KAAMA,EACN812C,YAAa45B,EACbgB,WAAW,sCACXv44C,SAAS,KACTwt4C,eAAe,EACfhzE,WAAW,EAAKv11C,UAEhB6S,EAAAA,EAAAA,KAACyvT,GAAI,CACH42V,SAjCgBx9kB,IACpB+/4C,EAAmB//4C,EAAKi94C,cALxBrmD,GAMgB,EAgCZr1C,cAAe,CAAC,EAChBt0wC,SAAUA,EACV5oH,OAAQmd,IAAA,IAAC,aACPop3C,EAAY,KACZx5jC,EAAI,WACJwwjC,EAAU,SACVI,EAAQ,OACRtt2C,EAAM,MACNyQ,GACD3jB,EAAA,OACC+N,EAAAA,EAAAA,MAAC4z5C,GAAa,CAAC3lxB,SAAUotuB,EAAclg4C,MAAO,CAAEmhB,OAAQ,SAAUvnB,SAAA,EAChE6S,EAAAA,EAAAA,KAAC8g6C,GAAoB,CAAA3z6C,UACnB6S,EAAAA,EAAAA,KAACiwT,GAAK,CAACl9T,KAAK,eAAe0kB,UAAW626C,QAExCl26C,EAAAA,EAAAA,MAACqx5C,GAAoB,CAAAt86C,SAAA,EACnB6S,EAAAA,EAAAA,KAACsz7C,GAAU,CACTvj2C,QAASs9X,gBACDpzJ,EAAK83jC,SAASh8uC,MAAK,KACvB0pxC,GAAa,GACb,EAEJ8zB,eAAgB,YAElBvz7C,EAAAA,EAAAA,KAAC2q6C,GAAY,CACX560C,QAASA,KACPkqO,EAAKjsS,OAAO,EAEdxiB,SAAUi/2C,GAAcI,SAGd,KAGP,IC7DnB,SAnCA,SAA2C123C,GAOvC,IAPwC,UAC1C6x6C,EAAS,QACT3qjC,EAAO,SACPpgW,EAAQ,SACRq62C,EAAQ,MACRvk4C,KACGutP,GACJnqP,EACC,MAAM009C,GAA4Br/I,EAAAA,EAAAA,UAClC,OACEpxzC,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,EACE6S,EAAAA,EAAAA,KAACor5C,GAAqB,CACpB365C,IAAK6k4C,EACLr62C,SAAUA,EACVogW,QAASA,EACTiwiC,gBAAiBu9D,EACjBx9D,kBAAmB,CACjB0B,WAAY,kCACZN,aAAc,CAAC,cACfG,cAAe,KACfI,QAAS,CAAC,EACVX,WAAY,iBAEdt75C,MAAOA,KACHutP,KAENt+O,EAAAA,EAAAA,KAAC8o9C,GAAuB,CACtBr49C,IAAKo49C,EACL7iD,UAAWA,EACXvC,YAAanuC,EACbyzF,WAAY1tmC,MAIpB,iBCjCe,SAAS2tmC,GAAkC709C,GAStD,IATuD,OACzDsgV,EAAM,QACNu4kC,EAAO,MACP1l5C,EAAK,UACL0+5C,EAAS,cACTksB,EAAa,SACb1m7C,EAAQ,eACR0/5C,KACG5srC,GACJnqP,EACC,MAAM809C,GAAgCz/I,EAAAA,EAAAA,UAEtC,OACEpxzC,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,CACG+k8C,EAAcg3B,UACblp9C,EAAAA,EAAAA,KAAC6w6C,GAAmB,CAClB1qD,WAAWnm3C,EAAAA,EAAAA,KAACmp9C,GAAYA,EAAI,IAC5Bp53C,QAASA,KAAA,IAAAq53C,EAAA,OACsB,OAA7BH,QAA6B,IAA7BA,GAAsC,QAATG,EAA7BH,EAA+B1o9C,eAAO,IAAA6o9C,OAAT,EAA7BA,EAAwC57D,WAAW,KAAMR,EAAQ,KAE/D1uqC,EACJ9yO,SAAUA,EACVqD,MAAO,aAIT7O,EAAAA,EAAAA,KAAC6w6C,GAAmB,CAClB1qD,WAAWnm3C,EAAAA,EAAAA,KAACmp9C,GAAYA,EAAI,IAC5Bp53C,QAASA,KAAA,IAAAs53C,EAAA,OACsB,OAA7BJ,QAA6B,IAA7BA,GAAsC,QAATI,EAA7BJ,EAA+B1o9C,eAAO,IAAA8o9C,OAAT,EAA7BA,EAAwC77D,WAAW,KAAMR,EAAQ,KAE/D1uqC,EACJ9yO,SAAUA,EACVqD,MAAO,aAKX7O,EAAAA,EAAAA,KAACoz7C,GAAc,CACbptB,UAAWA,EACXvxlC,OAAQA,EACRhkV,IAAKw49C,EACLj8D,QAASA,EACTklC,cAAeA,EACfhnB,eAAgBA,MAIxB,iBClDe,SAASo+C,GAAuBn19C,GAO3C,IAP4C,2BAC9Co19C,EAA0B,kCAC1BC,EAAiC,QACjCnumC,EAAO,cACPktjC,EAAa,YACb9E,EAAW,OACXgmD,GACDt19C,EACC,MAAMs/3C,EAAemgE,GACnB,CAAEhtB,YAAa,8BACf2B,EACA9E,GAGIimD,EAA0B91B,GAC9B,CAAEhtB,YAAa,kCACf2B,EACA9E,GAGF,OACEgmD,GAAUzp9C,EAAAA,EAAAA,KAAC0q6C,GAAW,CACpBj66C,IAAK849C,EACLrpD,aAAcA,KACZzsC,EAAa,CAAE3m4C,GAAIuuX,EAAQvuX,IAAK,EAElCgz6C,YAAa,uBACbC,YACE,6EAEFI,sBAAsB,KACJng6C,EAAAA,EAAAA,KAAC0q6C,GAAW,CAC9Bj66C,IAAK+49C,EACLtpD,aAAcA,KACZwpD,EAAwB,CAAE589C,GAAIuuX,EAAQvuX,IAAK,EAE7Cgz6C,YAAa,iCACbC,YACE,6DAEFI,sBAAsB,GAG5B,CC7BA,MAAMwpD,GAA8B5r9C,EAAAA,YAClC,CAAA5J,EAQE1D,KACI,IARJ,UACEu16C,EAAS,WACTx3hC,EAAU,cACV+5hC,EAAa,YACb9E,EAAW,sBACXmmD,GACDz19C,EAGD,MAAM,KAAE47B,EAAI,YAAE0v4C,EAAW,aAAEjP,EAAY,QAAEn1iC,EAAO,WAAEgtjC,GAChDyqB,GAAeri8C,EAAK,+BAiBtB,MAAMgj4C,EAAemgE,GACnB,CACEhtB,YAAa,mCACbD,YAAa,oCAEf0B,EACA5E,GArBsB53rC,IAAS,IAADu4sC,EAAAC,EAC9B9b,GAAetyD,IAAe,IAADi3C,EAAAC,EAAA82B,EAAAC,EAC3B,MAAO,IACFjuE,EACH4zG,SAAa,OAAHh+uC,QAAG,IAAHA,GAAS,QAANqhrC,EAAHrhrC,EAAKhjK,YAAI,IAAAqk1C,GAAM,QAANC,EAATD,EAAWrk1C,YAAI,IAAAsk1C,OAAZ,EAAHA,EAAiB08D,SAC3BC,UAAc,OAAHj+uC,QAAG,IAAHA,GAAS,QAANo4sC,EAAHp4sC,EAAKhjK,YAAI,IAAAo72C,GAAM,QAANC,EAATD,EAAWp72C,YAAI,IAAAq72C,OAAZ,EAAHA,EAAiB4lC,UAC7B,IAEHF,EAAyB,OAAH/9uC,QAAG,IAAHA,GAAS,QAANu4sC,EAAHv4sC,EAAKhjK,YAAI,IAAAu72C,GAAM,QAANC,EAATD,EAAWv72C,YAAI,IAAAw72C,OAAZ,EAAHA,EAAiBv37C,GAAG,IAiB5C,IAAIi99C,GAAwBvgJ,EAAAA,EAAAA,QAAO,MAInC,OAFAugJ,EAA6C,OAArB1umC,EAAQwumC,UAG9B7p9C,EAAAA,EAAAA,KAACuj6C,GAAY,CACXxz4C,KAAMA,EACN812C,YAAa45B,EACbgB,WApBc,8BAqBdv44C,SAAS,KAAI/6B,UAEb6S,EAAAA,EAAAA,KAACyvT,GAAI,CACH42V,SAAUotuB,EACVrJ,cAAe/ugC,EAEfnuX,OAAQmd,IAAA,IAAC,aACPop3C,EAAY,KACZx5jC,EAAI,WACJwwjC,EAAU,SACVI,EAAQ,OACRtt2C,EAAM,MACNyQ,GACD3jB,EAAA,OACC+N,EAAAA,EAAAA,MAAC4z5C,GAAa,CAAC3lxB,SAAUotuB,EAAclg4C,MAAO,CAAEmhB,OAAQ,SAAUvnB,SAAA,EAChEirB,EAAAA,EAAAA,MAAC0o5C,GAAoB,CAAA3z6C,SAAA,EACnB6S,EAAAA,EAAAA,KAACis6C,GAAY,CAAC3k6C,MAAM,eAAYkp5C,aAAcA,EAAarj6C,UACzD6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAM,WACN0kB,UAAW2z4C,GACX161C,MAAO7nE,OAAO00B,OAAO8x1C,IAErBmhD,aAAcA,EACd/gB,cAAeA,CAACtooC,EAAKi/pC,MACT,OAANA,QAAM,IAANA,OAAM,EAANA,EAAQvrlC,SAAUw0hC,GAAYC,GAAGz0hC,OAC/B,OAAJ5gB,QAAI,IAAJA,GAAAA,EAAM18E,OAAO,YAAa,GAC1BwsuC,GAAwB,IAExBn1G,GAAelvzB,QAAQ,CACrBn3U,OAAQ,OACR10N,IAAK,GAAG2t1C,gCACR3+xC,KAAM,CACJs84C,SAAiB,OAAP9pmC,QAAO,IAAPA,OAAO,EAAPA,EAASvuX,GACnB+89C,SAAUzjD,EAAOvrlC,SAGlB9kM,MAAM81F,IACiB,OAAlBA,EAAIhjK,KAAKA,OACP,OAAJoxP,QAAI,IAAJA,GAAAA,EAAM18E,OACJ,YACA1R,EAAIhjK,KAAKA,KAAKih5C,WAGlB,IAEDv/zC,OAAOz8I,IACNo55C,GAAWp55C,EAAMsnG,SAASvsC,KAAK,IAGnCkh5C,GAAwB,EAC1B,OAIN/p9C,EAAAA,EAAAA,KAACis6C,GAAY,CAAC3k6C,MAAM,gBAAakp5C,aAAcA,EAAarj6C,UAC1D6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAM,YACN0kB,UAAW626C,GAEX99B,aAAcA,EACdv14C,UAAW8u8C,UAIjB3x8C,EAAAA,EAAAA,MAACqx5C,GAAoB,CAAAt86C,SAAA,CAClBqhZ,IACCxuY,EAAAA,EAAAA,KAACsz7C,GAAU,CACTvj2C,QAAUhlG,IACRkvU,EAAK83jC,SAASh8uC,MAAK,KACjB0pxC,GAAa,GACb,EAEJ8zB,eAAgB,WAGnB/kjC,IACCxuY,EAAAA,EAAAA,KAAC2q6C,GAAY,CACX560C,QAASA,KACPkqO,EAAKjsS,OAAO,EAEdxiB,SAAUi/2C,GAAcI,SAIhB,KAGP,IAKrB,8CC3JA,MAqDA,GArDqB9+3C,IACnB,MAAMi+9C,EAAyB,CAC7BC,aAAc,CACZlz8C,MAAO,OACP0R,gBAAiB,UACjBzR,QAAS,OACTmU,WAAY,SACZD,eAAgB,UAGlB34B,UAAW,CACTwkB,MAAO,MACPrC,OAAQ,OACR+T,gBAAiB,UACjB1E,aAAc,MACd4G,SAAU,SACVvE,OAAQ,SACR7uB,SAAU,YAEZ8upC,MAAO,CACL3xoC,OAAQ,OACR7R,WAAY,OACZypB,UAAW,SACXzd,MAAO,QACPsI,WAAY,mBAEd9mB,KAAM,CACJkH,SAAU,WACVw0B,IAAK,MACLG,KAAM,MACN7H,UAAW,wBACX+B,OAAQ,IACRvX,MAAO,UAIX,OACE7O,EAAAA,EAAAA,KAAA,OAAKzM,MAAOy29C,EAAuBC,aAAa989C,UAC9C6S,EAAAA,EAAAA,KAAA,OAAKzM,MAAOy29C,EAAuBz39C,UAAUpF,UAC3C6S,EAAAA,EAAAA,KAAA,OACEzM,MAAO,IACFy29C,EAAuB3jU,MAC1BtvoC,MAAO,GAAGhrB,KACV08B,gBAAiB,WACjBt7B,UAEFirB,EAAAA,EAAAA,MAAA,QAAM7kB,MAAOy29C,EAAuB359C,KAAKlD,SAAA,CAAEpB,EAAM,YAGjD,EC/CJ8syB,GAAS,CACb,CACE9lyB,KAAM,KACNuU,MAAO,KACPmjW,SAAU,SACVhO,UAAW,KACXj4R,QAAS,CAAC,QACV6h2C,cAAc,EACdtv5C,MAAO654C,IAET,CACE795C,KAAM,eACNuU,MAAO,0BACPmjW,SAAU,OACVhO,UAAW,eACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,kBACNuU,MAAO,gCACPmjW,SAAU,OACVhO,UAAW,kBACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,cACNuU,MAAO,oBACPmjW,SAAU,OACVhO,UAAW,cACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,WACNuU,MAAO,mBACPmjW,SAAU,OACVhO,UAAW,WACXj4R,QAAS,CAAC,UCtCRg/1C,GAAa,CACjB79xC,MAAO,oBACPqgyC,UAAW,wBACXx16C,KDyCF,GCxCEi26C,UAAW,yBACXC,aAAc,4BACdC,YAAa,2BACbC,YAAa,2BACbE,YAAa,2BACb69C,mBAAoB,mCCThBnhD,GAAa,CACjB79xC,MAAO,mBACPqgyC,UAAW,uBACXx16C,KFyCF,GExCEi26C,UAAW,wBACXC,aAAc,2BACdC,YAAa,0BACbC,YAAa,0BACbE,YAAa,iCCsNf,GA9M+B/o6C,EAAAA,YAC7B,CAAA5J,EAUE1D,KACI,IAADy36C,EAAA,IAVH,UACElC,EAAS,YACTvC,EAAW,cACXywC,EAAa,YACbjd,EAAW,SACXkuB,EAAQ,SACR+E,EAAQ,UACR/V,GACDhg9C,EAGD,MAAMzK,EAAUqU,EAAAA,WAAiB4x1C,IAE3ByjC,EAAe,CACnBw4C,YAAahrM,OACbykP,UAAkB,OAAP379C,QAAO,IAAPA,GAAa,QAANw+6C,EAAPx+6C,EAASmm2C,YAAI,IAAAq4E,OAAN,EAAPA,EAAep76C,GAC1Bo99C,SAAUA,EACV/E,SAAUA,GA6CN5n8C,GAASiszC,EAAAA,EAAAA,QAAO,OAgBhB,QACJnu9B,EAAO,KACPtrV,EAAI,YACJ812C,EAAW,aACX2qB,EAAY,aACZ/8B,EAAY,aACZ9znC,EAAY,mBACZ+/pC,EAAkB,MAClB+I,EAAK,WACLJ,EAAU,gBACVC,EAAe,MACfH,GACE0D,GACFp76C,EACA+y6C,GACAC,EACAuC,EACA5yC,EACA8gF,GACA,GA7EuBpn9C,IACvB,IACIum+B,EADO4je,EAAY127C,QAAQ5P,SAASknX,iBAClBtiS,MAAMz6E,GAAMA,EAAE3R,KAAO2D,IAC3Cu76C,EAAWh1c,EAAWxq5B,MACtBy/1C,GAAgB,EAAM,IAGM/q5C,IAC5B,IAAI827C,EAAcpd,EAAY127C,QAAQ5P,SACnCs+K,OAAO,mBACPj4K,QACH,GAAImx6C,EAAO,CACT,IAAI5qrC,EAAS82tC,EAAY9+3C,MAAMz6E,GAAMA,EAAE3R,KAAOg/6C,IACzC5qrC,IACH82tC,EAAYzp9C,KAAK,CACfzB,IAAKg/6C,EACLt/1C,KAAM,CAAC,EACPr4E,KAAM,WAER+sP,EAAS82tC,EAAY9+3C,MAAMz6E,GAAMA,EAAE3R,KAAOg/6C,KAG5C,IACI90c,EADO4je,EAAY127C,QAAQ5P,SAASknX,iBAClBtiS,MAAMz6E,GAAMA,EAAE3R,KAAOg/6C,IAC3Ct/6C,OAAOE,KAAKsq+B,EAAWxq5B,MAAM9sE,KAAK5S,IAC5Bo0B,EAAOp0B,IAAQkq+B,EAAWxq5B,KAAK1/E,KACjCo0P,EAAO10K,KAAK1/E,GAAOo0B,EAAOp0B,GAC5B,GAEJ,MACEkr9C,EAAYzp9C,KAAK,CACfzB,IAAKupvC,OAAO4hO,aACZzr4C,KAAMtrD,EACN/sB,KAAM,WAIVym8C,EAAY127C,QAAQ5P,SAASs+K,OAAO,kBAAmBolyC,GAEvDxuE,GAAa,GAyCb,MApCkB0uE,KAClB,GAAqB,kBAAVpsC,EAAqB,CAC9B,IAAIksC,EACFpd,EAAY127C,QAAQ5P,SAASs+K,OAAO,mBACtCgoxC,EAAY127C,QAAQ5P,SAASs+K,OAC3B,kBACAolyC,EAAY3o9C,QAAQoP,GAAMA,EAAE3R,KAAOg/6C,IAEvC,KAAO,CACL,IAAIqsC,EAAKvd,EAAY127C,QAAQ5P,SAASs+K,OAAO,cAC7CklyC,EAAUK,EAAG9o9C,QAAQoP,GAAMA,EAAEhO,IAAMq76C,IACrC,KA+BIryzC,EAAW4pzC,EAFQoM,KAAa5n5C,MAAM,CAAC,IAI7C,OACElkB,EAAAA,EAAAA,KAAAqt5C,EAAAA,SAAA,CAAAlg6C,UACE6S,EAAAA,EAAAA,KAACuj6C,GAAY,CACXxz4C,KAAMA,EACN812C,YAAaA,EACb46B,WAAW,iCACXv44C,SAAS,KAAI/6B,UAEb6S,EAAAA,EAAAA,KAACyvT,GAAI,CACH42V,SAAUotuB,EACVrJ,cAAe/ugC,EACfvlQ,SAAUA,EACV5oH,OAAQmd,IAAA,IAAC,aACPop3C,EAAY,KACZx5jC,EAAI,WACJwwjC,EAAU,SACVI,EAAQ,MACR781C,EACAzQ,OAAQgj7C,GACTl27C,EAAA,OACC+N,EAAAA,EAAAA,MAAC4z5C,GAAa,CACZ3lxB,SAAUotuB,EACVlg4C,MAAO,CAAEmhB,OAAQ,SAAUvnB,SAAA,EAE3B6S,EAAAA,EAAAA,KAAC6z3C,GAAO,CACNvI,aAAc,CAAE/t2C,QAAQ,GACxB8uR,SAAWriT,IACTuzB,EAAOhd,QAAUvW,EAAMuzB,MAAM,KAGjCnF,EAAAA,EAAAA,MAAC0o5C,GAAoB,CAAA3z6C,SAAA,EACnBirB,EAAAA,EAAAA,MAACi7R,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAEl0B,SAAA,EAC9B6S,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,0BACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,eACLsoX,QAASA,EACT5jW,UAAW833C,GACXt03C,UAAWwt5C,EAAM6C,YAGrBtr6C,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,gCACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,kBACLsoX,QAASA,EACT5jW,UAAWyt5C,GACXjq5C,UAAWwt5C,EAAM6C,YAGrBtr6C,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,oBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,cACLsoX,QAASA,EACT5jW,UAAWyt5C,GACXjq5C,UAAWwt5C,EAAM6C,YAGrBtr6C,EAAAA,EAAAA,KAACis6C,GAAY,CAAC3k6C,MAAM,mBAAWkp5C,aAAcA,EAAarj6C,UACxD6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,WACLsoX,QAASA,EACT5jW,UAAWu+6C,GACX/66C,UAAWwt5C,EAAM6C,OACjBj2C,QAAS,EACTtwI,QAAS,UAKf/kvC,EAAAA,EAAAA,KAACyp6C,GAAoB,CAAAt86C,UACnB6S,EAAAA,EAAAA,KAAC4q6C,GAAY,CACXnC,MAAOA,EACPxumC,KAAMA,EACNt6D,aAAcA,EACd8qnC,WAAYA,EACZI,SAAUA,EACV2lC,aAAcA,WAIN,OAIrB,IChKT,SAtDA,SAAyBr85C,GAOrB,IAPsB,UACxB6x6C,EAAS,QACT3qjC,EAAO,YACPoojC,EAAW,cACXywC,EAAa,YACbjd,EAAW,iBACXuI,GACDrr8C,GACmBq10C,EAAAA,EAAAA,UAAlB,MACM/40C,GAAM+40C,EAAAA,EAAAA,UAEN0gJ,EAAW11F,GAAS,MAAMzj4C,MAAMhF,MAChCo59C,EAAW3wF,GAAS,YAAYzj4C,MAAMhF,OAGrC0o9C,EAAQN,IAAa1qI,EAAAA,EAAAA,UAASpu9B,EAAQ69kC,OAU7C,OARA/vH,EAAAA,EAAAA,YAAU,KACRgrI,EAAU94lC,EAAQ69kC,MAAM,GACvB,CAAC79kC,KAOFjjW,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,EACE6S,EAAAA,EAAAA,KAACi57C,GAAQ,CACP//kB,SAAUsqjB,GAAWhz6C,KACrBg95C,WARc1g6C,IAClB2D,EAAI8P,QAAQit5C,WAAW1g6C,EAAG,EAQtB4nB,OAAQ,OACRui7C,YAAaA,EACb/o4C,WAAkB,OAANum5C,QAAM,IAANA,EAAAA,EAAU,GAGtBvd,gBAAiBsI,EACjBnI,iBAAkBmI,EAClBhhB,eAAgB,sBAGlBx+6C,EAAAA,EAAAA,KAACmq9C,GAAsB,CACrB159C,IAAKA,EACLu16C,UAAWA,EACXvC,YAAaA,EACbywC,cAAeA,EACfjd,YAAaA,EACbkuB,SAAUA,EACV+E,SAAUA,EACV/V,UAAWA,MAInB,ECyOA,GA5QgCp28C,EAAAA,YAC9B,CAAA5J,EAA6B1D,KAAS,IAADy36C,EAAA,IAApC,UAAElC,EAAS,YAAEvC,GAAatv6C,EACzB,MAAMzK,EAAUqU,EAAAA,WAAiB4x1C,IAEjC,IAAIyjC,EAAe,CACjBw4C,YAAahrM,OACbykP,UAAkB,OAAP379C,QAAO,IAAPA,GAAa,QAANw+6C,EAAPx+6C,EAASmm2C,YAAI,IAAAq4E,OAAN,EAAPA,EAAep76C,IAG5B,MAAMmq8C,GAAcztH,EAAAA,EAAAA,WAiBd,QACJnu9B,EAAO,KACPtrV,EAAI,YACJ812C,EAAW,aACX2qB,EAAY,aACZ/8B,EAAY,aACZ9znC,EAAY,mBACZ+/pC,EAAkB,MAClB+I,EAAK,cACLF,GACEsD,GACFp76C,EACA+y6C,GACAC,EACAuC,EACA5yC,GACA,KAAO,IAAD0hF,EAAAC,EACe,QAAnBD,EAAA7d,EAAY127C,eAAO,IAAAu08C,GAAU,QAAVC,EAAnBD,EAAqBnk9C,gBAAQ,IAAAok9C,GAA7BA,EAA+BnomC,gBAAgB,GAEjD,KACA,KACA,MApC+BrvV,IACtB,IACJA,EACH276C,MAAOjC,EAAY127C,QAAQ5P,SAASknX,iBAAiB97W,KAAK8wL,IAC/B,aAArBA,EAAIhkH,KAAKqh5C,UAAgD,IAArBr9xC,EAAIhkH,KAAKqh5C,WAC/Cr9xC,EAAIhkH,KAAKqh5C,SAAW,GAEfr9xC,EAAIhkH,QAEb8/4C,UAAW,OAqCT7y2C,EAAW4pzC,EAFQoM,KAAa5n5C,MAAM,CAAC,IAI7C,OACElkB,EAAAA,EAAAA,KAAAqt5C,EAAAA,SAAA,CAAAlg6C,UACE6S,EAAAA,EAAAA,KAACuj6C,GAAY,CACXxz4C,KAAMA,EACN812C,YAAaA,EACb46B,WAAW,yBACXv44C,SAAS,KACTxT,OAAQ,OAAOvnB,UAEf6S,EAAAA,EAAAA,KAACyvT,GAAI,CACH42V,SAAUotuB,EACVrJ,cAAe/ugC,EACfvlQ,SAAUA,EACV5oH,OAAQmd,IAAA,IAAC,aACPop3C,EAAY,KACZx5jC,EAAI,WACJwwjC,EAAU,SACVI,EAAQ,OACRtt2C,EAAM,MACNyQ,GACD3jB,EAAA,OACCrK,EAAAA,EAAAA,KAACgs6C,GAAa,CAAC3lxB,SAAUotuB,EAAatm4C,UACpCirB,EAAAA,EAAAA,MAAC0o5C,GAAoB,CAAA3z6C,SAAA,EACnB6S,EAAAA,EAAAA,KAAC2r6C,GAAgB,CAAAx+6C,UACfirB,EAAAA,EAAAA,MAACi7R,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAEl0B,SAAA,EAC9B6S,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,YACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJzkT,UAAQ,EACRzY,KAAK,WACL0kB,UAAW833C,QAGfn33C,EAAAA,EAAAA,MAACi7R,EAAI,CAAC9gT,WAAS,EAACqa,UAAU,MAAMoX,QAAS,EAAE72B,SAAA,EACzC6S,EAAAA,EAAAA,KAACqzS,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,EAAEh0B,UACf6S,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,kBACNkp5C,aAAcA,EACdlpxC,UAAW,MAAMn6I,UAEjB6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,cACL0kB,UAAW626C,GACXrz6C,UAAWwt5C,EAAM6C,OACjBjwjC,QAASA,SAIfr7W,EAAAA,EAAAA,KAACqzS,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,EAAEh0B,UACf6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,gBACL29D,MAAO7nE,OAAO00B,OAAOu21C,IACrBr81C,UAAW2z4C,GACXnw4C,UAAWwt5C,EAAM6C,OACjBjwjC,QAASA,UAKfr7W,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,iCACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,uBACL0kB,UAAWyt5C,GACXjq5C,UAAWwt5C,EAAM6C,OACjBjwjC,QAASA,OAGbr7W,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,0BACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,mBACL0kB,UAAWyt5C,GACXjq5C,UAAWwt5C,EAAM6C,OACjBjwjC,QAASA,YAKjBr7W,EAAAA,EAAAA,KAACyp6C,GAAoB,CACnBh25C,GAAI,CACFyX,eAAgB,iBAChB/9B,UAyFF6S,EAAAA,EAAAA,KAAC4q6C,GAAY,CACXnC,MAAOA,EACPxumC,KAAMA,EACNt6D,aAAcA,EACd8qnC,WAAYA,EACZI,SAAUA,EACV2lC,aAAcA,OAMlBxw5C,EAAAA,EAAAA,KAAC8g6C,GAAoB,CAAA3z6C,UACnB6S,EAAAA,EAAAA,KAACoq9C,GAAgB,CAEfpkD,UAAWA,EACX3qjC,QAASA,EACT47kC,YAAaA,EACbxzB,YAAawzB,EACbid,cAAejd,UAKP,OAIrB,oBChQM,SAASozB,GAAgBl29C,GAOpC,IAPqC,MACvCpD,EAAK,KACLg3xC,EAAI,MACJzgxC,EAAK,cACLmo4C,EAAa,YACb8+C,KACGjwsC,GACJnqP,EACC,OACE6L,EAAAA,EAAAA,KAAC0v4C,GAAS,IACJ3+4C,EACJ0iB,GAAI,CAAEsD,MAAO,QACbs1R,SAAUA,CAACthT,EAAG8mC,EAAUlZ,EAAQ6B,KAC9Bi13C,GAAiBA,EAAc1k5C,EAAEwc,OAAOxb,MAAO8lC,GAC/C9gC,EAAMs7S,SAA4B,KAAnBthT,EAAEwc,OAAOxb,WAAeiG,GAAajH,EAAEwc,OAAOxb,MAAM,EAErE+i5C,WAAY,CACV9X,gBACEh33C,EAAAA,EAAAA,KAACyu7C,GAAc,CAACl37C,SAAS,QAAOpK,SAAC,MAInC8tB,SAAUqjO,EAAKrjO,UAKjBgG,QAAQ,WACRs32C,aAAa,MACbzq3C,MAAOi6wC,EAAKj6wC,OAASi6wC,EAAK4iG,QAC1BikB,WAAY7mH,EAAKj6wC,OAASi6wC,EAAK4iG,QAAU5iG,EAAKj6wC,MAAQ,KAEtD2N,OAAQA,KACN8y6C,GAAeA,GAAa,KAO1BjwsC,GAGV,CCvDA,MAwKA,GAxK+BvgP,EAAAA,YAC7B,CAAA5J,EAAwD1D,KAAS,IAAhE,UAAEu16C,EAAS,WAAEx3hC,EAAU,cAAE+5hC,EAAa,YAAE9E,GAAatv6C,EACpD,MAAM,KAAE47B,EAAI,YAAE0v4C,EAAW,aAAEjP,EAAY,QAAEn1iC,EAAO,WAAEgtjC,GAChDyqB,GAAeri8C,EAAK,kCAYhBgj4C,EAAemgE,GACnB,CACEhtB,YAAa,sCACbD,YAAa,uCAEf0B,EACA5E,GAhBsB53rC,IACtB08rC,GAAetyD,IACN,IACFA,KAIL,IAaJ,OACEj22C,EAAAA,EAAAA,KAACuj6C,GAAY,CACXxz4C,KAAMA,EACN812C,YAAa45B,EACbgB,WAAY,kDACZv44C,SAAS,KACTw6zC,WAAW,EACXhu0C,OAAQ,OAAOvnB,UAEf6S,EAAAA,EAAAA,KAACyvT,GAAI,CACH42V,SAAUotuB,EACVrJ,cAAe/ugC,EAEfnuX,OAAQmd,IAAA,IAAC,aACPop3C,EAAY,KACZx5jC,EAAI,WACJwwjC,EAAU,SACVI,EAAQ,OACRtt2C,EAAM,MACNyQ,GACD3jB,EAAA,OACC+N,EAAAA,EAAAA,MAAC4z5C,GAAa,CAAC3lxB,SAAUotuB,EAAatm4C,SAAA,EACpCirB,EAAAA,EAAAA,MAAC0o5C,GAAoB,CAAA3z6C,SAAA,EACnBirB,EAAAA,EAAAA,MAACi7R,EAAI,CAAC9gT,WAAS,EAACqa,UAAU,MAAMoX,QAAS,EAAE72B,SAAA,EACzC6S,EAAAA,EAAAA,KAACqzS,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,EAAEh0B,UACf6S,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,wBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,gBACL0kB,UAAW626C,GACXjzkC,QAASA,SAIfr7W,EAAAA,EAAAA,KAACqzS,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,EAAEh0B,UACf6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,eACL29D,MAAO7nE,OAAO00B,OAAO8x1C,IACrBh0/B,QAASA,EACT5jW,UAAW2z4C,WAMjBhz4C,EAAAA,EAAAA,MAACi7R,EAAI,CAAC9gT,WAAS,EAACqa,UAAU,MAAMoX,QAAS,EAAE72B,SAAA,EACzC6S,EAAAA,EAAAA,KAACqzS,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,EAAEh0B,UACf6S,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,sBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,iBACL0kB,UAAW626C,GACXjzkC,QAASA,SAIfr7W,EAAAA,EAAAA,KAACqzS,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,EAAEh0B,UACf6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,gBACL29D,MAAO7nE,OAAO00B,OAAO8x1C,IACrBh0/B,QAASA,EACT5jW,UAAW2z4C,WAMjBhz4C,EAAAA,EAAAA,MAACi7R,EAAI,CAAC9gT,WAAS,EAACqa,UAAU,MAAMoX,QAAS,EAAE72B,SAAA,EACzC6S,EAAAA,EAAAA,KAACqzS,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,EAAEh0B,UACf6S,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,2CACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,2BACL0kB,UAAW626C,GACXjzkC,QAASA,SAIfr7W,EAAAA,EAAAA,KAACqzS,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,EAAEh0B,UACf6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,gCACL29D,MAAO7nE,OAAO00B,OAAO8x1C,IACrBh0/B,QAASA,EACT5jW,UAAW2z4C,WAMjBpr5C,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,8CACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,mBACL0kB,UAAW4y8C,GACXhvmC,QAASA,OAIbr7W,EAAAA,EAAAA,KAACis6C,GAAY,CAAC3k6C,MAAM,mBAAWkp5C,aAAcA,EAAarj6C,UACxD6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,WACL0kB,UAAWu+6C,GACX36kC,QAASA,EACTg6gC,QAAS,EACTtwI,QAAS,UAIf3suC,EAAAA,EAAAA,MAACqx5C,GAAoB,CAAAt86C,SAAA,CAClBqhZ,IACCxuY,EAAAA,EAAAA,KAACsz7C,GAAU,CACTvj2C,QAAUhlG,IACRkvU,EAAK83jC,SAASh8uC,MAAK,KACjB0pxC,GAAa,GACb,IAIPjxhC,IACCxuY,EAAAA,EAAAA,KAAC2q6C,GAAY,CACX560C,QAASA,KACPkqO,EAAKjsS,OAAO,EAEdxiB,SAAUi/2C,GAAcI,SAIhB,KAGP,KC7KGh12C,EAAAA,GAAAA,GAAO0t5C,GAAP1t5C,EAAqB1hB,IAAA,IAAC,MAAE4T,GAAO5T,EAAA,MAAM,CAC3D,qBAAsB,CAGpBugB,OAAQ,SAEX,oBCGD,MA2OA,GA3OmC3W,EAAAA,YACjC,CAAA5J,EAAwD1D,KAAS,IAAhE,UAAEu16C,EAAS,WAAEx3hC,EAAU,cAAE+5hC,EAAa,YAAE9E,GAAatv6C,EACpD,MAAM,KAAE47B,EAAI,YAAE0v4C,EAAW,aAAEjP,EAAY,QAAEn1iC,EAAO,WAAEgtjC,GAChDyqB,GAAeri8C,EAAK,sCAEhB8sB,GAASiszC,EAAAA,EAAAA,QAAO,MAYhBiqD,EAAemgE,GACnB,CACEhtB,YAAa,sCACbD,YAAa,uCAEf0B,EACA5E,GAhBsB53rC,IACtB08rC,GAAetyD,IACN,IACFA,KAIL,IAaE+jF,EAAmBluB,KAAa5n5C,MAAM,CAwB1C,GAKI4xF,EAAW4pzC,GAAmBs6B,GAEpC,OACEh67C,EAAAA,EAAAA,KAAAqt5C,EAAAA,SAAA,CAAAlg6C,UACE6S,EAAAA,EAAAA,KAACuj6C,GAAY,CACXxz4C,KAAMA,EACN812C,YAAa45B,EACbgB,WAAY,qBACZv44C,SAAS,KACTw6zC,WAAW,EACXhu0C,OAAQ,OAAOvnB,UAEf6S,EAAAA,EAAAA,KAACyvT,GAAI,CACH42V,SAAUotuB,EACVrJ,cAAe/ugC,EACfvlQ,SAAUA,EACV5oH,OAAQmd,IAAA,IAAC,aACPop3C,EAAY,KACZx5jC,EAAI,WACJwwjC,EAAU,SACVI,EAAQ,MACR781C,EACAzQ,OAAQgj7C,GAETl27C,EAAA,OACC+N,EAAAA,EAAAA,MAAC4z5C,GAAa,CAAC3lxB,SAAUotuB,EAAatm4C,SAAA,EACpC6S,EAAAA,EAAAA,KAAC6z3C,GAAO,CACNvI,aAAc,CAAE/t2C,QAAQ,GACxB8uR,SAAWriT,IAAW,IAADw49C,EAAAlkB,EACnB,MAAMgsB,EAAuC,QAAjB9H,EAAGjl8C,EAAOhd,eAAO,IAAAii9C,OAAA,EAAdA,EAAgB+H,gBACzCC,EAAiC,QAAflsB,EAAGt08C,EAAMuzB,cAAM,IAAA+g7C,OAAA,EAAZA,EAAcisB,gBAEzC,GAAID,IAA2BE,EAAoB,CACjD,IAA2B,IAAvBA,EAA6B,CAE/B,MAAM987B,EAAc,IAAI/4f,KAClBi2J,EAAU,IAAIj2J,KACpBi2J,EAAQkhW,QAAQ4B,EAAYv4f,UAAY,IACxC8kS,EAAK18E,OAAO,kBAAmBmwS,GAC/BzzN,EAAK18E,OAAO,cAAe3yD,EAC7B,MAAkC,IAAvB4/xC,IACTvwpC,EAAK18E,OAAO,kBAAmB,MAC/B08E,EAAK18E,OAAO,cAAe,OAE7BhgO,EAAOhd,QAAUvW,EAAMuzB,MACzB,CAE0E,IAADkl8C,EAAAgI,EAAzE,KAA+B,IAA3BH,GAA+D,OAA3BA,KACpB,QAAd7H,EAAAll8C,EAAOhd,eAAO,IAAAki9C,OAAA,EAAdA,EAAgB3pB,oBAAgC,QAAjB2xB,EAAKzg+C,EAAMuzB,cAAM,IAAAkt8C,OAAA,EAAZA,EAAc3xB,iBAAiB,CAAC,IAAD4xB,EACrE,MAAMC,EAAW,IAAIh27C,KACrBg27C,EAAS7+7B,SAAoB,QAAZ4+7B,EAAA1g+C,EAAMuzB,cAAM,IAAAmt8C,OAAA,EAAZA,EAAc5xB,gBAAgB3j6C,WAAY,KAC3D8kS,EAAK18E,OAAO,cAAeotuC,GAE3Bpt8C,EAAOhd,QAAUvW,EAAMuzB,MACzB,CACF,KAMJnF,EAAAA,EAAAA,MAAC0o5C,GAAoB,CAAA3z6C,SAAA,EACnB6S,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,6BACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,kBACL0kB,UAAWk74C,GACXt3iC,QAASA,OAGbr7W,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,gCACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,kBACL0kB,UAAWyt5C,GACX7pjC,QAASA,OAGbr7W,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,oBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,cACL0kB,UAAWyt5C,GACX7pjC,QAASA,EACTpgW,UAAU,OAIkB,IAA/Bsl7C,EAAWgqB,gBAA2B,MAAQny8C,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,EAC7C6S,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,OACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,OACL0kB,UAAW626C,GACXjzkC,QAASA,OAGbr7W,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,iCACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,qBACL0kB,UAAW626C,GACXjzkC,QAASA,OAGbr7W,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,WACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,UACL0kB,UAAW833C,GACXl0hC,QAASA,OAGbr7W,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,sBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,oBACL0kB,UAAW833C,GACXl0hC,QAASA,OAGbr7W,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,MACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,MACL0kB,UAAW833C,GACXl0hC,QAASA,aAMjBjjW,EAAAA,EAAAA,MAACqx5C,GAAoB,CAAAt86C,SAAA,CAClBqhZ,IACCxuY,EAAAA,EAAAA,KAACsz7C,GAAU,CACTvj2C,QAASs9X,gBACDpzJ,EAAK83jC,SAASh8uC,MAAK,KACvB0pxC,GAAa,GACb,IAIPjxhC,IACCxuY,EAAAA,EAAAA,KAAC2q6C,GAAY,CACX560C,QAASA,KACPkqO,EAAKjsS,OAAO,EAEdxiB,SAAUi/2C,GAAcI,SAIhB,OAKrB,oBCpMT,MAAM+/F,GAAqB7s9C,EAAAA,YACzB,CAAA5J,EAAwD1D,KAAS,IAADy36C,EAAA8K,EAAAsiB,EAAA6E,EAAAC,EAAAC,EAAAwwB,EAAA9yB,EAAA,IAA/D,UAAE/xB,EAAS,YAAEvC,EAAW,cAAEywC,EAAa,WAAE6U,GAAY509C,EACpD,MAAMzK,EAAUqU,EAAAA,WAAiB4x1C,IAE3Bm7H,GAAmBthJ,EAAAA,EAAAA,UACnB2+H,GAAe3+H,EAAAA,EAAAA,UACfuhJ,GAAwBvhJ,EAAAA,EAAAA,UACxB+/I,GAA6B//I,EAAAA,EAAAA,UAC7BggJ,GAAoChgJ,EAAAA,EAAAA,UACpCwhJ,GAAiCxhJ,EAAAA,EAAAA,UACjCyhJ,GAA0BzhJ,EAAAA,EAAAA,UAC1B0hJ,GAA4B1hJ,EAAAA,EAAAA,UAC5B2hJ,GAAgC3hJ,EAAAA,EAAAA,UAGtC,IAAI4pD,EAAe,CAEjBg4F,aAAcxqP,OACdgrM,YAAahrM,OACbohP,iBAAkBphP,OAClB0kP,gBAAwB,OAAP579C,QAAO,IAAPA,GAAa,QAANw+6C,EAAPx+6C,EAASmm2C,YAAI,IAAAq4E,OAAN,EAAPA,EAAep76C,GAChCu49C,UAAkB,OAAP379C,QAAO,IAAPA,GAAa,QAANsp7C,EAAPtp7C,EAASmm2C,YAAI,IAAAmjF,OAAN,EAAPA,EAAelm7C,GAC1Bu+9C,SAAU,EACVjpB,aAAc,GAIhBhvE,EAAe,IACVA,EACH8xF,aAAqB,OAAPx79C,QAAO,IAAPA,GAAa,QAAN4r8C,EAAP5r8C,EAASmm2C,YAAI,IAAAylG,OAAN,EAAPA,EAAeg2B,eAC7BC,gBAAwB,OAAP7h+C,QAAO,IAAPA,GAAa,QAANyw8C,EAAPzw8C,EAASmm2C,YAAI,IAAAsqG,OAAN,EAAPA,EAAeqxB,mBAI9BzC,GAAcA,EAAWjT,WAAa,IACxC1iF,EAAe,IACVA,EACHi4F,SAAU,EACVvV,WAAYiT,EAAWjT,WACvB2V,UAAW1C,EAAWj89C,GACtB4+9C,cAAe3C,EAAW2C,gBAI9B,MAAMz0B,GAAcztH,EAAAA,EAAAA,WA0Bd,QACJnu9B,EAAO,KACPtrV,EAAI,YACJ812C,EAAW,aACX2qB,EAAY,aACZ/8B,EAAY,aACZ9znC,EAAY,mBACZ+/pC,EAAkB,MAClB+I,EAAK,cACLF,GACEsD,GACFp76C,EACA+y6C,GACAC,EACAuC,EACA5yC,GACA,KAAO,IAAD0hF,EAAAC,EACe,QAAnBD,EAAA7d,EAAY127C,eAAO,IAAAu08C,GAAU,QAAVC,EAAnBD,EAAqBnk9C,gBAAQ,IAAAok9C,GAA7BA,EAA+BnomC,gBAAgB,GAEjD,KACA,KACA,MA1C+BrvV,IACtB,IACJA,EACH276C,MAAOjC,EAAY127C,QAAQ5P,SAASknX,iBAAiB97W,KAAK8wL,IAC/B,aAArBA,EAAIhkH,KAAKqh5C,UAAgD,IAArBr9xC,EAAIhkH,KAAKqh5C,WAC/Cr9xC,EAAIhkH,KAAKqh5C,SAAW,GAEfr9xC,EAAIhkH,QAEb8/4C,UAAW,OAqFT7y2C,EAAW4pzC,EARQoM,KAAa5n5C,MAAM,CAC1Csh8C,gBAAiB15C,KAAa974C,cAS1B277C,EAAmBA,KAAO,IAADC,EAC7B,OAAuB,OAAhBd,QAAgB,IAAhBA,GAAyB,QAATc,EAAhBd,EAAkBvq9C,eAAO,IAAAqr9C,OAAT,EAAhBA,EAA2B7/9C,SAAUik3C,GAAUjI,QAAQlthC,KAAK,EAS/D2knC,GAA0B,OAAPnklC,QAAO,IAAPA,OAAO,EAAPA,EAASgqmC,cAAqB,OAAP379C,QAAO,IAAPA,GAAa,QAAN0w8C,EAAP1w8C,EAASmm2C,YAAI,IAAAuqG,OAAN,EAAPA,EAAett8C,OAChD,QAAbut8C,EAAC3w8C,EAAQmm2C,YAAI,IAAAwqG,GAAwB,QAAxBwwB,EAAZxwB,EAAcmL,8BAAsB,IAAAqlB,GAApCA,EAAsCgB,yCAGnCC,EACc,OAAlBzwmC,EAAQ69kC,QAA+B,QAAbnB,EAAA18kC,EAAQ69kC,aAAK,IAAAnB,OAAA,EAAbA,EAAe9u8C,QAAS,EAI9C8i+C,EACJ1wmC,EAAQ+mlC,eAAiBxyF,GAAcE,UAAUj1hC,OACjDwgC,EAAQ+mlC,eAAiBxyF,GAAcG,WAAWl1hC,MAEpD,OACEziU,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,EACE6S,EAAAA,EAAAA,KAACuj6C,GAAY,CACXxz4C,KAAMA,EACN812C,YAAaA,EACb46B,WAAW,8BACXv44C,SAAS,KAAI/6B,UAEb6S,EAAAA,EAAAA,KAACyvT,GAAI,CACH42V,SAAUotuB,EACVrJ,cAAe/ugC,EACfvlQ,SAAUA,EACV5oH,OAAQmd,IAAA,IAAAiw7C,EAAA,IAAC,aACP7mE,EAAY,KACZx5jC,EAAI,WACJwwjC,EAAU,SACVI,EAAQ,OACRtt2C,EAAM,MACNyQ,GACD3jB,EAAA,OACCrK,EAAAA,EAAAA,KAACgs6C,GAAa,CAAC3lxB,SAAUotuB,EAAatm4C,UACpCirB,EAAAA,EAAAA,MAAC0o5C,GAAoB,CAAA3z6C,SAAA,EACnBirB,EAAAA,EAAAA,MAACuz5C,GAAgB,CAAAx+6C,SAAA,EACfirB,EAAAA,EAAAA,MAACi7R,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAEl0B,SAAA,EAC9B6S,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,YACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CAACzkT,UAAQ,EAACzY,KAAK,KAAK0kB,UAAW833C,QAEvCvv4C,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,gBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,eACL0kB,UAAWyt5C,GACXjq5C,UAAWwt5C,EAAM6C,QAAUk0B,EAC3BnklC,QAASA,OAGbjjW,EAAAA,EAAAA,MAACi7R,EAAI,CAAC9gT,WAAS,EAACqa,UAAU,MAAMoX,QAAS,EAAE72B,SAAA,EACzC6S,EAAAA,EAAAA,KAACqzS,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,EAAEh0B,UACf6S,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,kBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJv/P,MAAO7nE,OAAO00B,OAAOyy1C,IACrB30/B,QAASA,EACTtoX,KAAK,WACL0kB,UAAW2z4C,GACX365C,IAAKq69C,EACL7v8C,UACGwt5C,EAAM6C,QACPk0B,GACAusB,SAKR/r9C,EAAAA,EAAAA,KAACqzS,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,EAAEh0B,SACd299C,GAAoBa,KACnB3r9C,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,UACLsoX,QAASA,EACT5jW,UAAW+u5C,GACXvr5C,UACGwt5C,EAAM6C,QACPk0B,GACAusB,IAGFjB,GACF9q9C,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,aACLsoX,QAASA,EACT5jW,UAAWu08C,GACX/w8C,UACGwt5C,EAAM6C,QACPk0B,GACAusB,EAEF/lD,UAAWA,IAEX,WAGRhm6C,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,gBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,eACLsoX,QAASA,EACT5jW,UAAWyr8C,GACXjo8C,UACGwt5C,EAAM6C,SACA,OAAP5h7C,QAAO,IAAPA,GAAa,QAAN4w8C,EAAP5w8C,EAASmm2C,YAAI,IAAAyqG,OAAN,EAAPA,EAAemC,kBACf+C,GACAusB,OAMN3z8C,EAAAA,EAAAA,MAACi7R,EAAI,CAAC9gT,WAAS,EAACqa,UAAU,MAAMoX,QAAS,EAAGqC,QAAS,EAAEl5B,SAAA,EACrD6S,EAAAA,EAAAA,KAACqzS,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,EAAEh0B,UACf6S,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,gBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJv/P,MAAO7nE,OAAO00B,OAAOqy1C,IACrB782C,KAAK,eACL0kB,UAAW2z4C,GACXnw4C,UAAU,SAIhBjb,EAAAA,EAAAA,KAACqzS,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,EAAEh0B,UACfirB,EAAAA,EAAAA,MAACs26C,GAAa,CACZpn7C,MAAM,gBACNkE,WACU,OAAP6vW,QAAO,IAAPA,GAAAA,EAASvuX,KAAM0y8C,GAAoBusB,EAEtCxjR,UAAU,UACVomP,eAAe,UAASxh8C,SAAA,EAExBirB,EAAAA,EAAAA,MAAC4w8C,GAAkC,CACjCv0oC,OAAQowoC,GACR73D,QAAS,CACPlg6C,GAAIuuX,EAAQvuX,IAEdk56C,UAAWA,EACXksB,cAAe72kC,EACf6vjC,eAAgB6gD,EAChBvg9C,WACU,OAAP6vW,QAAO,IAAPA,GAAAA,EAASvuX,KACV0y8C,GACAusB,EAEFtoD,YAAaA,EAAYt26C,SAAA,CAExB,IAAI,oBAGNkuX,EAAQ+mlC,eAAiBxyF,GAAcG,WAAWl1hC,OACjD76U,EAAAA,EAAAA,KAAC6w6C,GAAmB,CAClB1qD,WAAWnm3C,EAAAA,EAAAA,KAACis9C,GAAOA,EAAI,IACvBl83C,QAASA,KAAO,IAADm83C,EACoB,OAAjC1C,QAAiC,IAAjCA,GAA0C,QAAT0C,EAAjC1C,EAAmCjp9C,eAAO,IAAA2r9C,GAA1CA,EAA4C1+D,YAAY,EAE1DwY,UAAWA,EACXx65C,WACU,OAAP6vW,QAAO,IAAPA,GAAAA,EAASvuX,KACV0y8C,EAEF3w7C,MAAM,OAAM1hB,SACb,mBAE0B6S,EAAAA,EAAAA,KAAC6w6C,GAAmB,CAC7C1qD,WAAWnm3C,EAAAA,EAAAA,KAACms9C,GAAYA,EAAI,IAC5Bp83C,QAASA,KAAO,IAADq83C,EACa,OAA1B7C,QAA0B,IAA1BA,GAAmC,QAAT6C,EAA1B7C,EAA4Bhp9C,eAAO,IAAA6r9C,GAAnCA,EAAqC5+D,YAAY,EAEnDwY,UAAWA,EACXx65C,WACU,OAAP6vW,QAAO,IAAPA,GAAAA,EAASvuX,KACV0y8C,EAEF3w7C,MAAM,MAAK1hB,SACZ,+BAmCXirB,EAAAA,EAAAA,MAACi7R,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAEl0B,SAAA,EAC9B6S,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,2BACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,iBACL0kB,UAAW626C,GACXrz6C,UACGwt5C,EAAM6C,QACPk0B,GACAusB,OAIN/r9C,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,8CACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,kBACL0kB,UAAW626C,GACXrz6C,UACGwt5C,EAAM6C,QACPk0B,GACAusB,GACAD,OA6CN9r9C,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,mBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,WACLvC,KAAK,OACL6k4C,QAAS,EACTtwI,QAAS,EACTttuC,UAAWu+6C,GACX/66C,UACGwt5C,EAAM6C,QACPk0B,GACAusB,aAaV3z8C,EAAAA,EAAAA,MAACqx5C,GAAoB,CACnBh25C,GAAI,CACFyX,eAAgB,iBAChB/9B,SAAA,EAEFirB,EAAAA,EAAAA,MAACi7R,EAAI,CAAAlmT,SAAA,EACH6S,EAAAA,EAAAA,KAACw4pB,GAAa,CACZ3ppB,MAAM,UACNs32C,WAAWnm3C,EAAAA,EAAAA,KAACqs9C,GAAKA,EAAI,IACrBt83C,QAASs9X,UACPpzJ,EAAK83jC,SAASh8uC,MAAK,KAAO,IAADuyzC,EACX,OAAZH,QAAY,IAAZA,GAAqB,QAATG,EAAZH,EAAc5n8C,eAAO,IAAA+n8C,GAArBA,EAAuB96C,WAAWnyiC,EAAQvuX,GAAG,GAC7C,EAEJ0e,UAAW6vW,EAAQvuX,GAAGK,SACvB,iBAGDirB,EAAAA,EAAAA,MAACs26C,GAAa,CACZpn7C,MAAM,sBACNkE,WACU,OAAP6vW,QAAO,IAAPA,GAAAA,EAASvuX,KAAM0y8C,GAAoBusB,EACrC5+9C,SAAA,EAGD6S,EAAAA,EAAAA,KAACw4pB,GAAa,CACZ3ppB,MAAM,UACNs32C,WAAWnm3C,EAAAA,EAAAA,KAACss9C,GAAQA,EAAI,IACxBv83C,QAAUhlG,IAAO,IAADwh+C,EACO,OAArBxB,QAAqB,IAArBA,GAA8B,QAATwB,EAArBxB,EAAuBxq9C,eAAO,IAAAgs9C,GAA9BA,EAAgC/+D,YAAY,EAG9Chi5C,UACG6vW,EAAQvuX,IACT0y8C,GACAusB,EACD5+9C,SACF,wBAGD6S,EAAAA,EAAAA,KAACw4pB,GAAa,CACZ2ttB,WAAWnm3C,EAAAA,EAAAA,KAACws9C,GAAgBA,EAAI,IAChC398C,MAAM,UACNkhF,QAAUhlG,IAAO,IAAD0h+C,EACgB,OAA9BzB,QAA8B,IAA9BA,GAAuC,QAATyB,EAA9BzB,EAAgCzq9C,eAAO,IAAAks9C,GAAvCA,EAAyCj/D,WACvCnyiC,EAAQvuX,GACT,EAEH0e,UACG6vW,EAAQvuX,IACT0y8C,GACAusB,EACD5+9C,SACF,qDAGD6S,EAAAA,EAAAA,KAACw4pB,GAAa,CACZ2ttB,WAAWnm3C,EAAAA,EAAAA,KAAC0s9C,GAAgBA,EAAI,IAChC798C,MAAM,YACNkhF,QAAUhlG,IAAO,IAAD4h+C,EACS,OAAvB1B,QAAuB,IAAvBA,GAAgC,QAAT0B,EAAvB1B,EAAyB1q9C,eAAO,IAAAos9C,GAAhCA,EAAkCn/D,WAChCnyiC,EAAQvuX,GACT,EAEH0e,UACG6vW,EAAQvuX,IACT0y8C,GACAusB,EACD5+9C,SACF,oCAGD6S,EAAAA,EAAAA,KAAC6w6C,GAAmB,CAClB1qD,WAAWnm3C,EAAAA,EAAAA,KAAC4s9C,GAAOA,EAAI,IACvB/98C,MAAM,OACNkhF,QAAUhlG,IAAO,IAAD8h+C,EACW,OAAzB3B,QAAyB,IAAzBA,GAAkC,QAAT2B,EAAzB3B,EAA2B3q9C,eAAO,IAAAss9C,GAAlCA,EAAoCr/D,WAClCnyiC,EAAQvuX,GACT,EAEH0e,UACG6vW,EAAQvuX,IACT0y8C,GACAusB,EACD5+9C,SACF,sCAmBD6S,EAAAA,EAAAA,KAACgz7C,GAAa,CACZhmC,QAAS,CACPlg6C,GAAIuuX,EAAQvuX,IAEd2nV,OAAQkhnC,GACR3vB,UAAWA,EACXksB,cAAe72kC,EACf7vW,WAAkB,OAAP6vW,QAAO,IAAPA,GAAAA,EAASvuX,IACpBo+6C,eAAgB6gD,WAItB/r9C,EAAAA,EAAAA,KAAC4q6C,GAAY,CACXnC,MAAOA,EACPxumC,KAAMA,EACNt6D,aAAcA,EACd8qnC,WAAYA,EACZI,SAAUA,EACV2lC,aAAcA,EACdwa,iBAAkBw0B,IAAqBusB,EACvClhD,iBAAkB20B,IAAqBusB,EACvC3gD,iBAAkBo0B,IAAqBusB,EACvChhD,iBAAkB,iBAClBM,iBAAkB,oBAGtBrr6C,EAAAA,EAAAA,KAAC8g6C,GAAoB,CAAA3z6C,UACnB6S,EAAAA,EAAAA,KAAC8s9C,GAAW,CACV9mD,UAAWA,EACX3qjC,QAASA,EACT47kC,YAAaA,EACbxzB,YAAawzB,EACbid,cAAejd,EACfuI,iBAAkBA,GAAoBusB,UAK9B,OAItB/r9C,EAAAA,EAAAA,KAAC4i8C,GAAS,CACRny8C,IAAK038C,EACLxi0C,MAAM,qBACN9rH,IAAI,qCAEN7Z,EAAAA,EAAAA,KAAC+s9C,GAAkB,CACjBnE,mBAxgBsB9C,IAC1BlxG,GAAelvzB,QAAQ,CACrBn3U,OAAQ,OACR10N,IAAK,GAAG2t1C,KAASg8D,GAAWohD,gCAC5B/74C,KAAM,CACJ/7E,GAAIuuX,EAAQvuX,GACZg59C,aAAcA,KAGf/v0C,MAAM81F,IACL07rC,GAAMn55C,QAAQ,0BAAoB038C,EAAe,4BACjDv9C,EAAc18rC,EAAIhjK,KAAKA,MACvBou3C,EAAY127C,QAAQ5P,SAAS+0F,SAAS,IAEvC6kE,OAAOz8I,IACNo55C,GAAWp55C,EAAMsnG,SAASvsC,MAC1BgY,QAAQT,IAAItyE,EAAM,GAClB,EAwfArd,IAAKs69C,KAEP/q9C,EAAAA,EAAAA,KAAC2p9C,GAA2B,CAC1Bl59C,IAAKu69C,EACLhlD,UAAWA,EACXx3hC,YAAY,EACZ+5hC,cAAeA,EACf9E,YAAaA,EAGbwwC,UAAWxj9C,EACXm59C,sBAzfyB989C,IAAQ,IAAD4r8C,EACjC,OAAHjo8C,QAAG,IAAHA,GAAY,QAATio8C,EAAHjo8C,EAAK8P,eAAO,IAAAm47C,GAAZA,EAAclrC,WAAW1g6C,EAAG,KA0f1BkT,EAAAA,EAAAA,KAACgt9C,GAAuB,CACtBv89C,IAAKw69C,EACLjlD,UAAWA,EACXvC,YAAaA,KAEfzj6C,EAAAA,EAAAA,KAACsp9C,GAAuB,CACtBC,2BAA4BA,EAC5BC,kCAAmCA,EACnCnumC,QAASA,EACTktjC,cAAeA,EACf9E,YAAaA,EACbgmD,QAAQ,KAEVzp9C,EAAAA,EAAAA,KAACsp9C,GAAuB,CACtBC,2BAA4BA,EAC5BC,kCAAmCA,EACnCnumC,QAASA,EACTktjC,cAAeA,EACf9E,YAAaA,EACbgmD,QAAQ,KAEVzp9C,EAAAA,EAAAA,KAACit9C,GAAsB,CACrBx89C,IAAKy69C,EACLllD,UAAWA,EACXvC,YAAaA,EACbj1hC,YAAY,KAEdxuY,EAAAA,EAAAA,KAACkt9C,GAA0B,CACzBz89C,IAAK069C,EACLnlD,UAAWA,EACXvC,YAAaA,EACbj1hC,YAAY,MAEb,IAIT,sBCltBA,MCDMg1hC,GAAa,CACjB79xC,MAAO,wBACPqgyC,UAAW,4BACXx16C,KDFa,CACb,CACEuC,KAAM,KACNuU,MAAO,uBACPmjW,SAAU,SACVhO,UAAW,KACXj4R,QAAS,CAAC,QACV6h2C,cAAc,EACdtv5C,MAAO654C,GACP2V,kBAAmB,CACjB,CACEvB,yBAA0B,CACxBp9D,GAAiBI,KAAKnthC,MACtB+shC,GAAiBK,YAAYpthC,MAC7B+shC,GAAiBG,QAAQlthC,MACzB+shC,GAAiBC,cAAchthC,MAC/B+shC,GAAiBE,eAAejthC,UAKxC,CACE9nV,KAAM,mBACNuU,MAAO,yBACPmjW,SAAU,WACVhO,UAAW,mBACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,WACNuU,MAAO,mBACPmjW,SAAU,OACVhO,UAAW,WACXj4R,QAAS,CAAC,SAGZ,CACEzxE,KAAM,0BACNuU,MAAO,oCACPmjW,SAAU,OACVhO,UAAW,0BACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,cACNuU,MAAO,oBACPmjW,SAAU,OACVhO,UAAW,cACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,eACNuU,MAAO,wBACPmjW,SAAU,OACVhO,UAAW,eACXj4R,QAAS,CAAC,UCpDZii2C,UAAW,6BACXC,aAAc,gCACdC,YAAa,+BACbC,YAAa,+BACbE,YAAa,gCCQTw5B,GAAqBns8C,IAAwC,IAAvC,MAAEmT,EAAK,aAAEkp5C,EAAY,SAAErj6C,GAAUgH,EAC3D,OACE6L,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAOA,EACPkp5C,aAAcA,EACdz54C,MAAO,MACPuwH,UAAW,MAAMn6I,SAEhBA,GACY,EA6HnB,GAzHgC4Q,EAAAA,YAC9B,CAAAsM,EAA4C5Z,KAAS,IAApD,UAAEu16C,EAAS,YAAEvC,EAAW,cAAE0pD,GAAe9i9C,EACxC,MAAM+o3C,EAAe,CAAEq4F,UAAwB,OAAb0B,QAAa,IAAbA,OAAa,EAAbA,EAAerg+C,KAG3C,QACJuuX,EAAO,KACPtrV,EAAI,YACJ812C,EAAW,aACX2qB,EAAY,aACZ/8B,EAAY,aACZ9znC,EAAY,mBACZ+/pC,EAAkB,MAClB+I,GACEoD,GAAcp76C,EAAK+y6C,GAAYC,EAAauC,EAAW5yC,GASrDt9wC,EAAW4pzC,EALQoM,KAAa5n5C,MAAM,CAE1C,IAKF,OACElkB,EAAAA,EAAAA,KAAAqt5C,EAAAA,SAAA,CAAAlg6C,UACE6S,EAAAA,EAAAA,KAACuj6C,GAAY,CACXxz4C,KAAMA,EACN812C,YAAaA,EACb46B,WAAW,iDACXv44C,SAAS,KACTw6zC,WAAW,EAAKv11C,UAEhB6S,EAAAA,EAAAA,KAACyvT,GAAI,CACH42V,SAAUotuB,EACVrJ,cAAe/ugC,EACfvlQ,SAAUA,EACV5oH,OAAQkzB,IAAA,IAAC,aACPqz2C,EAAY,KACZx5jC,EAAI,WACJwwjC,EAAU,SACVI,EAAQ,OACRtt2C,EAAM,MACNyQ,GACD5N,EAAA,OACChI,EAAAA,EAAAA,MAAA,QAAMiuoB,SAAUotuB,EAAatm4C,SAAA,EAE3B6S,EAAAA,EAAAA,KAAC8g6C,GAAoB,CAAA3z6C,UACnBirB,EAAAA,EAAAA,MAACslQ,GAAK,CAAC9wQ,UAAU,SAASoX,QAAS,EAAE72B,SAAA,EACnC6S,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,wCACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CAACzkT,UAAQ,EAACzY,KAAK,KAAK0kB,UAAW833C,QAEvCvv4C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,wBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,YACL0kB,UAAW833C,GAEX/j4C,UAAQ,OAGZxL,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,yBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,mBACL0kB,UAAW0p8C,GACXlm8C,UAAWwt5C,EAAM6C,YAGrBtr6C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,mBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,WACL0kB,UAAWu+6C,GACX3gE,QAAS,EACTp62C,UAAWwt5C,EAAM6C,YAGrBtr6C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,oCACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,0BACL0kB,UAAW833C,GACXt03C,UAAWwt5C,EAAM6C,iBAOzBtr6C,EAAAA,EAAAA,KAACyp6C,GAAoB,CAAAt86C,UACnB6S,EAAAA,EAAAA,KAAC4q6C,GAAY,CACXnC,MAAOA,EACPxumC,KAAMA,EACNt6D,aAAcA,EACd8qnC,WAAYA,EACZI,SAAUA,EACV2lC,aAAcA,QAIb,OAIZ,IC/IT,SAAS48D,GAAiBj59C,EAAyB1D,GAAM,IAA9B,UAAEu16C,EAAS,QAAE3qjC,GAASlnX,EAC/C,MAAMsv6C,GAAcj6F,EAAAA,EAAAA,UAEd8pG,IADY9pG,EAAAA,EAAAA,WACAA,EAAAA,EAAAA,YACXp8+B,EAASwinC,IAAcnmI,EAAAA,EAAAA,WAAS,GAQvC,OANAN,EAAAA,EAAAA,YAAU,KACG,OAAP9t9B,QAAO,IAAPA,GAAAA,EAASvuX,IACX8i9C,GAAW,EACb,GACC,CAAQ,OAAPv0lC,QAAO,IAAPA,OAAO,EAAPA,EAASvuX,MAGXsrB,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,CACGigW,IACCptV,EAAAA,EAAAA,KAAC+96C,GAAQ,CACPnL,OAAO,wBACPpP,WAAYA,GACZC,YAAaA,EACb6P,UAAWA,EACX0K,aAAW,EACXhY,UAAWA,EACXhZ,QAAS,CAAEy+D,UAAkB,OAAPpwmC,QAAO,IAAPA,OAAO,EAAPA,EAASvuX,IAC/Bux7C,qBAAqB,EACrB3p6C,OAAO,OACP4p6C,wBAAwB,IAG3BlxlC,IACCptV,EAAAA,EAAAA,KAACqt9C,GAAuB,CACtB589C,IAAK6i7C,EACLtN,UAAWA,EACXvC,YAAaA,EACb0pD,cAAe9xmC,MAKzB,CAGA,SAAet9W,EAAAA,KAAWqv9C,IAAmB,CAACvrqC,EAAW/3T,KAAe,IAAD+l9C,EAAAC,EAErE,OACmB,QAAjBD,EAAAhupC,EAAUw5D,eAAO,IAAAw0lC,OAAA,EAAjBA,EAAmB/i9C,OAAwB,QAAtBgj9C,EAAKhm9C,EAAUuxX,eAAO,IAAAy0lC,OAAA,EAAjBA,EAAmBhj9C,KAC7C+0T,EAAUmknC,YAAcl86C,EAAUk86C,SAAS,ICY/C,GA5CgCjo6C,EAAAA,YAC9B,CAAA5J,EAAyC1D,KAAS,IAAjD,WAAEs49C,EAAU,YAAEtlD,EAAW,UAAEuC,GAAW7x6C,EACrC,MAAM,KAAE47B,EAAI,YAAE0v4C,GAAgByD,GAAezy6C,GAoB7C,OACEuP,EAAAA,EAAAA,KAAAqt5C,EAAAA,SAAA,CAAAlg6C,UAEE6S,EAAAA,EAAAA,KAACuj6C,GAAY,CACXxz4C,KAAMA,EACN812C,YAAa45B,EACbgB,WAAW,qCACXv44C,SAAS,KACTw6zC,WAAW,EACX/orC,WAAW,EAAMxsK,UAEhB6S,EAAAA,EAAAA,KAACot9C,GAAiB,CACtB/xmC,QAAS0tmC,EACT/iD,UAAWA,OAIT,oBCvDT,MAAMxC,GAKU,wBALVA,GAMS,uBANTA,GAOS,uBAPTA,GAQS,uBCmIf,SApIA,SAAgC/y6C,EAAK689C,EAAuBtnD,GAAY,IAADiC,EAAAC,EACrE,MAAOn44C,EAAMmj4C,IAAWzpF,EAAAA,EAAAA,WAAS,IAC1B0+F,EAAOC,IAAY3+F,EAAAA,EAAAA,UAAS,IAC5Bpu9B,EAASgtjC,IAAc5+F,EAAAA,EAAAA,UAAS,CAAC,IACjC+mF,EAAc8X,IAAmB7+F,EAAAA,EAAAA,WAAS,GAEjD1r0C,EAAAA,oBAA0BtN,GAAK,MAC7B236C,SAAUA,EACVD,MAAOA,EACP3a,WAAYA,MAGd,MAAMgb,EAAkBA,IAAMtV,GAAQ,GAEhCrtB,EAAcA,KAClBqtB,GAAQ,GACRkV,EAAS,MACTC,EAAW,CAAC,GACZC,GAAgB,EAAK,EAiFvB,SAAS9a,EAAW2a,GACdA,EAAQ,GACVC,EAASD,GAhFb968B,eAAyB868B,GACvBvzD,GAAelvzB,QAAQ,CACrBn3U,OAAQ,OACR10N,IAAK,GAAG2t1C,KAASg8D,KACjB361C,KAAM,CACJ/7E,GAAIq76C,KAGLpyxC,MAAM81F,IACLq7rC,GAAWr7rC,EAAIhjK,MACfw/1C,EAAWx8rC,EAAIhjK,KAAKA,MACpBy/1C,GAAgB,EAAM,IAEvB/9wC,OAAOz8I,IACNo55C,GAAWp55C,EAAMsnG,SAASvsC,MAC1BgY,QAAQT,IAAItyE,EAAM,GAExB,CAgEI0mE,CAAU2z1C,KAEVC,EAAS,MACTE,GAAgB,IAElBE,GACF,CAEA,MAAM9+6C,EAAUqU,EAAAA,WAAiB4x1C,IAE3B84E,EAC0D,QADrDR,EACF,OAAPv+6C,QAAO,IAAPA,GAAa,QAANw+6C,EAAPx+6C,EAASmm2C,YAAI,IAAAq4E,OAAN,EAAPA,EAAeQ,SAASnz1C,MAAMz6E,GAAMA,EAAEkr6C,YAAcA,WAAU,IAAAiC,EAAAA,EAAI,CAAC,EAErE,MAAO,CACL5sjC,UACAgtjC,aACAF,QACAC,WACAr44C,OACAy44C,kBACA3iC,cACA2qB,eACA8X,kBACA3oqC,aAxDF0tN,iBACE258B,IAAe,GACfpyD,GAAelvzB,QAAQ,CACrBn3U,OAAQ,OACR10N,IAAK,GAAG2t1C,KAASg8D,KACjB361C,KAAM,CAAE/7E,GAAIuuX,EAAQvuX,MAEnBipJ,MAAM81F,IAGkB,IAAD0hvC,GAFtBrmD,GAAWr7rC,EAAIhjK,MAEXgjK,EAAIhjK,KAAKz6D,WACXi65C,EAAW,CAAC,GACS,OAArBilD,QAAqB,IAArBA,GAA8B,QAATC,EAArBD,EAAuB/s9C,eAAO,IAAAgt9C,GAA9BA,EAAgCpgG,YAAY,CAC1CtyiC,MAAO,KACP31N,KAAM,OAER2gxC,IACF,IAEDt7uC,OAAOz8I,IACNo55C,GAAWp55C,EAAMsnG,SAASvsC,MAC1BgY,QAAQT,IAAItyE,EAAM,IAEnBmiwC,SAAQ,IAAM+2J,IAAe,IAClC,EAiCEvzC,aA/BmBpm6B,gBAvDrBA,eAA8B9vc,GAC5Byp5C,IAAe,GACfpyD,GAAelvzB,QAAQ,CACrBn3U,OAAQ,OACR10N,IAAK,GAAG2t1C,KACNjq1C,EAAOzwB,GAAK026C,GAAyBA,KAEvC361C,KAAM,IACDtrD,KAGJw4H,MAAM81F,IAAS,IAAD2hvC,EAAArgE,EAAA23B,EACb5d,GAAWr7rC,EAAIhjK,MACfw/1C,EAAWx8rC,EAAIhjK,KAAKA,MACC,OAArByk5C,QAAqB,IAArBA,GAA8B,QAATE,EAArBF,EAAuB/s9C,eAAO,IAAAit9C,GAA9BA,EAAgCrgG,YAAY,CAC1CtyiC,MAAoB,QAAfsykC,EAAEthrC,EAAIhjK,KAAKA,YAAI,IAAAsk1C,OAAA,EAAbA,EAAerg6C,GACtBo4H,KAAmB,QAAf4/zC,EAAEj5sC,EAAIhjK,KAAKA,YAAI,IAAAi82C,OAAA,EAAbA,EAAe2oC,gBAEvB5nF,IAEAhlzC,QAAQT,IAAI,YAAayrJ,EAAIhjK,KAAKA,KAAK,IAExC0hF,OAAOz8I,IACNo55C,GAAWp55C,EAAMsnG,SAASvsC,MAC1BgY,QAAQT,IAAItyE,EAAM,IAEnBmiwC,SAAQ,IAAM+2J,IAAe,IAClC,CA6BQ2B,CAAepr5C,EAAO,EA+B5Bmi5C,mBAAkB,GAClB+I,QAEJ,EC/HM63B,GAAqBns8C,IAAwC,IAAvC,MAAEmT,EAAK,aAAEkp5C,EAAY,SAAErj6C,GAAUgH,EAC3D,OACE6L,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAOA,EACPkp5C,aAAcA,EACdz54C,MAAO,MACPuwH,UAAW,MAAMn6I,SAEhBA,GACY,EAkFnB,GA9E4B4Q,EAAAA,YAC1B,CAAAsM,EAAuC5Z,KAAS,IAA/C,UAAEu16C,EAAS,sBAAEsnD,GAAuBjj9C,EACnC,MAAM,QACJgxW,EAAO,KACPtrV,EAAI,YACJ812C,EAAW,aACX2qB,EAAY,aACZ/8B,EAAY,aACZ9znC,EAAY,mBACZ+/pC,EAAkB,MAClB+I,GACEilD,GAAuBj99C,EAAK689C,EAAuBtnD,GAMjDlwzC,EAAW4pzC,EAJQoM,KAAa5n5C,MAAM,CAC1Cup8C,cAAe3hD,KAAa974C,cAK9B,OACEhwB,EAAAA,EAAAA,KAAAqt5C,EAAAA,SAAA,CAAAlg6C,UACE6S,EAAAA,EAAAA,KAACuj6C,GAAY,CACXxz4C,KAAMA,EACN812C,YAAaA,EACb46B,WAAW,sBACXv44C,SAAS,KAAI/6B,UAEb6S,EAAAA,EAAAA,KAACyvT,GAAI,CACH42V,SAAUotuB,EACVrJ,cAAe/ugC,EACfvlQ,SAAUA,EACV5oH,OAAQkzB,IAAA,IAAC,aACPqz2C,EAAY,KACZx5jC,EAAI,WACJwwjC,EAAU,SACVI,EAAQ,OACRtt2C,EAAM,MACNyQ,GACD5N,EAAA,OACChI,EAAAA,EAAAA,MAAA,QAAMiuoB,SAAUotuB,EAAatm4C,SAAA,EAE3B6S,EAAAA,EAAAA,KAAC8g6C,GAAoB,CAAA3z6C,UACnBirB,EAAAA,EAAAA,MAACslQ,GAAK,CAAC9wQ,UAAU,SAASoX,QAAS,EAAE72B,SAAA,EACnC6S,EAAAA,EAAAA,KAACsg8C,GAAkB,CAACh57C,MAAM,KAAKkp5C,aAAcA,EAAarj6C,UACxD6S,EAAAA,EAAAA,KAACiwT,GAAK,CAACzkT,UAAQ,EAACzY,KAAK,KAAK0kB,UAAW833C,QAEvCvv4C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,iBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,gBACL0kB,UAAW833C,aAMnBvv4C,EAAAA,EAAAA,KAACyp6C,GAAoB,CAAAt86C,UACnB6S,EAAAA,EAAAA,KAAC4q6C,GAAY,CACXnC,MAAOA,EACP0C,cAAc,EACdlxmC,KAAMA,EACNt6D,aAAcA,EACd8qnC,WAAYA,EACZI,SAAUA,EACV2lC,aAAcA,QAIb,OAIZ,IC/FM,SAASm9D,GAAsBx59C,GAS1C,IAT2C,UAC7C6x6C,EAAS,QACT3qjC,EAAO,SACPpgW,EAAQ,SACRq62C,EAAQ,MACRvk4C,EAAK,eACL6y7C,EAAc,QACd52B,KACG1uqC,GACJnqP,EACC,MAAMy59C,GAAyBpkJ,EAAAA,EAAAA,UAC/B,OACEpxzC,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,EACE6S,EAAAA,EAAAA,KAACor5C,GAAqB,CACpBnw4C,SAAUA,EACVogW,QAASA,EACTiwiC,gBAAiBsiE,EACjBviE,kBAAmB,CACjB0B,WAAY,2CACZN,aAAc,CAAC,iBACfG,cAAe,KACfI,QAAS,CAAC,GAEZv85C,IAAK6k4C,EACLvk4C,MAAOA,KACHutP,KAENt+O,EAAAA,EAAAA,KAAC6t9C,GAAmB,CAClBp99C,IAAKm99C,EACL5nD,UAAWA,EACXsnD,sBAAuBh4F,MAI/B,CC5BA,MCRMkuC,GAAa,CACjB79xC,MAAO,sBACPqgyC,UAAW,0BACXx16C,KDKa,CACb,CACEuC,KAAM,KACNuU,MAAO,eACPmjW,SAAU,SACVhO,UAAW,KACXj4R,QAAS,CAAC,QACV6h2C,cAAc,EAEdE,kBAAmB,CACjB,CACEvB,yBAA0B,CACxBp9D,GAAiBI,KAAKnthC,MACtB+shC,GAAiBK,YAAYpthC,MAC7B+shC,GAAiBG,QAAQlthC,MACzB+shC,GAAiBC,cAAchthC,MAC/B+shC,GAAiBE,eAAejthC,UAMxC,CACE9nV,KAAM,gBACNuU,MAAO,4BACPmjW,SAAU,WACVhO,UAAW,gBACXj4R,QAAS,CAAC,QACVztD,MAAO,SAET,CACEhkB,KAAM,WACNuU,MAAO,mBACPmjW,SAAU,OACVhO,UAAW,WACXj4R,QAAS,CAAC,QACVztD,MAAO,SAET,CACEhkB,KAAM,gBACNuU,MAAO,4BACPmjW,SAAU,SACVhO,UAAW,gBACXj4R,QAAS,CAAC,QACV8w2C,YAAazs7C,OAAO00B,OAAOuz1C,IAC3B/51C,MAAO,SAET,CACEhkB,KAAM,cACNuU,MAAO,0BACPmjW,SAAU,SACVhO,UAAW,cACXj4R,QAAS,CAAC,QACV8w2C,YAAazs7C,OAAO00B,OAAOyz1C,IAC3Bj61C,MAAO,SAET,CACEhkB,KAAM,kBACNuU,MAAO,iCACPmjW,SAAU,SACVhO,UAAW,kBACX64kC,YAAazs7C,OAAO00B,OAAO2z1C,IAC3B1syC,QAAS,CAAC,QACVztD,MAAO,SAET,CACEhkB,KAAM,qBACNuU,MAAO,8BACPmjW,SAAU,UACVhO,UAAW,qBACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,kBACNuU,MAAO,6BACPmjW,SAAU,OACVhO,UAAW,kBACXj4R,QAAS,CAAC,QACVztD,MAAO,SAET,CACEhkB,KAAM,cACNuU,MAAO,eACPmjW,SAAU,WACVhO,UAAW,cACXj4R,QAAS,CAAC,QACVztD,MAAO,QACPwv5C,kBAAmB,CACjB,CACEvB,yBAA0B,CACxBp9D,GAAiBG,QAAQlthC,MACzB+shC,GAAiBC,cAAchthC,MAC/B+shC,GAAiBE,eAAejthC,UAKxC,CACE9nV,KAAM,wBACNuU,MAAO,sCACPmjW,SAAU,OACVhO,UAAW,wBACXj4R,QAAS,CAAC,QACVztD,MAAO,SAIT,CACEhkB,KAAM,cACNuU,MAAO,oBACPmjW,SAAU,WACVhO,UAAW,cACXj4R,QAAS,CAAC,QACVztD,MAAO,UCrHT0v5C,UAAW,2BACXC,aAAc,8BACdC,YAAa,6BACbC,YAAa,6BACbE,YAAa,8BCWTw5B,GAAqBns8C,IAAwC,IAAvC,MAAEmT,EAAK,aAAEkp5C,EAAY,SAAErj6C,GAAUgH,EAC3D,OACE6L,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAOA,EACPkp5C,aAAcA,EACdz54C,MAAO,MACPuwH,UAAW,MAAMn6I,SAEhBA,GACY,EAmSnB,GA/RkC4Q,EAAAA,YAChC,CAAAsM,EAEE5Z,KACI,IAADuz6C,EAAA,IAFH,UAAEgC,EAAS,YAAEvC,EAAW,cAAE0pD,EAAa,YAAE1tD,EAAW,iBAAEquD,GAAkBzj9C,EAGxDtM,EAAAA,WAAiB4x1C,IACjC,IAAIyjC,EAAe,CAAEq4F,UAAwB,OAAb0B,QAAa,IAAbA,OAAa,EAAbA,EAAerg+C,IAc/C,MAAM8p9C,GAAuBptI,EAAAA,EAAAA,UACvBmtI,GAAsBntI,EAAAA,EAAAA,UAO5B3ovC,QAAQT,IAAI+s4C,EAAe,iBAE3B,MAAMY,EAA2B,OAAbZ,QAAa,IAAbA,OAAa,EAAbA,EAAerX,YAE7B,QACJz6lC,EAAO,KACPtrV,EAAI,YACJ812C,EAAW,aACX2qB,EAAY,aACZ/8B,EAAY,aACZ9znC,EAAY,mBACZ+/pC,EAAkB,MAClB+I,GACEoD,GACFp76C,EACA+y6C,GACAC,EACAuC,EACA5yC,GAvBqBu0C,KAAO,IAADqmD,EACX,OAAhBF,QAAgB,IAAhBA,GAAyB,QAATE,EAAhBF,EAAkBvt9C,eAAO,IAAAyt9C,GAAzBA,EAA2BxgE,WAAwB,OAAb2/D,QAAa,IAAbA,OAAa,EAAbA,EAAerg+C,IACrD+44C,GAAa,IAyBTooF,EAA8C,qBAAT,OAAP5ymC,QAAO,IAAPA,OAAO,EAAPA,EAASvuX,MAA2D,KAA5B,OAAPuuX,QAAO,IAAPA,OAAO,EAAPA,EAAS6ymC,uBAE9Ert4C,QAAQT,IAAIi7R,EAAS,WAErB,MAAM2+kC,EAAmBluB,KAAa5n5C,MAAM,CAC1Cs06C,SAAU1sB,KAAa974C,WACvBm+7C,cAAeriD,KAAW974C,WAC1Bo+7C,YAAatiD,KAAa974C,WAC1Bq+7C,cAAeviD,KAAa974C,aAK9B,IAAIs+7C,EAAiB,IAAKjzmC,GAE1B,MAAMs5F,EAAkC,QAAtBqv9B,EAAGP,EAAYlj6C,eAAO,IAAAyj6C,OAAA,EAAnBA,EAAqBrz6C,SAC1C,GAAIgkd,EAAc,CAGC,IADAA,EAAa98F,iBAAiB5uX,SAG7Cql+C,EAAiB,IACZA,EACHH,eAAsB,OAAP9ymC,QAAO,IAAPA,OAAO,EAAPA,EAAS8ymC,iBAA8B,OAAbhB,QAAa,IAAbA,OAAa,EAAbA,EAAer0B,iBACxDs1B,aAAoB,OAAP/ymC,QAAO,IAAPA,OAAO,EAAPA,EAAS+ymC,eAA4B,OAAbjB,QAAa,IAAbA,OAAa,EAAbA,EAAeoB,OAM1D,CAEA,MAAMz42C,EAAW4pzC,EAAmBs6B,GAEpC,OACEh67C,EAAAA,EAAAA,KAAAqt5C,EAAAA,SAAA,CAAAlg6C,UACE6S,EAAAA,EAAAA,KAACuj6C,GAAY,CACXxz4C,KAAMA,EACN812C,YAAaA,EACb46B,WAAW,6CACXv44C,SAAS,KAAI/6B,UAEb6S,EAAAA,EAAAA,KAACyvT,GAAI,CACH42V,SAAUotuB,EACVrJ,cAAekkG,EACfx42C,SAAUA,EACV5oH,OAAQkzB,IAAA,IAAC,aACPqz2C,EAAY,KACZx5jC,EAAI,WACJwwjC,EAAU,SACVI,EAAQ,OACRtt2C,EAAM,MACNyQ,GACD5N,EAAA,OACChI,EAAAA,EAAAA,MAAA,QAAMiuoB,SAAUotuB,EAAatm4C,SAAA,EAE3B6S,EAAAA,EAAAA,KAAC8g6C,GAAoB,CAAA3z6C,UACnBirB,EAAAA,EAAAA,MAACslQ,GAAK,CAAC9wQ,UAAU,SAASoX,QAAS,EAAE72B,SAAA,EAenC6S,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,4BACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,gBACL0kB,UAAW0p8C,GACXlm8C,UAAWwt5C,EAAM6C,SAAW2iD,EAC5Bzi9C,UAAWi95C,EAAM6C,SAAW2iD,MAGN,KAAlB,OAAP5ymC,QAAO,IAAPA,OAAO,EAAPA,EAAS+ymC,cAAqBpu9C,EAAAA,EAAAA,KAACsg8C,GAAkB,CAChDh57C,MAAM,0BACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJv/P,MAAO7nE,OAAO00B,OAAOyz1C,IACrB31/B,QAASA,EACTtoX,KAAK,cACL0kB,UAAW2z4C,GACXnw4C,UAAWwt5C,EAAM6C,SAAW2iD,EAC5Bzi9C,UAAWi95C,EAAM6C,SAAW2iD,OAENju9C,EAAAA,EAAAA,KAACsg8C,GAAkB,CAC3Ch57C,MAAM,0BACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJv/P,MAAO7nE,OAAO00B,OAAO2y1C,IACrB70/B,QAASA,EACTtoX,KAAK,cACL0kB,UAAW2z4C,GACXnw4C,UAAWwt5C,EAAM6C,SAAW2iD,EAC5Bzi9C,UAAWi95C,EAAM6C,SAAW2iD,MAGN,KAAlB,OAAP5ymC,QAAO,IAAPA,OAAO,EAAPA,EAAS+ymC,cAAqBpu9C,EAAAA,EAAAA,KAACsg8C,GAAkB,CAChDh57C,MAAM,4BACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJv/P,MAAO7nE,OAAO00B,OAAOuz1C,IACrBz1/B,QAASA,EACTtoX,KAAK,gBACL0kB,UAAW2z4C,GACXnw4C,UAAWwt5C,EAAM6C,SAAW2iD,EAC5Bzi9C,UAAWi95C,EAAM6C,SAAW2iD,OAENju9C,EAAAA,EAAAA,KAACsg8C,GAAkB,CAC3Ch57C,MAAM,4BACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJv/P,MAAO7nE,OAAO00B,OAAOiz1C,IACrBn1/B,QAASA,EACTtoX,KAAK,gBACL0kB,UAAW2z4C,GACXnw4C,UAAWwt5C,EAAM6C,SAAW2iD,EAC5Bzi9C,UAAWi95C,EAAM6C,SAAW2iD,OAIhCju9C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,WACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,gBACL0kB,UAAWi+7C,GACXK,cAAc,mBACd/vC,UAAWA,EACX3qjC,QAASA,EACTpgW,UAAWwt5C,EAAM6C,SAAW2iD,EAC5Bzi9C,UAAWi95C,EAAM6C,SAAW2iD,EAE5BnY,WAAYiY,EACZniE,WAAY+qD,EACZ9qD,QAAS+qD,OAGb528C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,UACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,iBACL0kB,UAAWo/7C,GACX577C,UAAU,EACVxqB,IAAKkm9C,OAGT328C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,UACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,kBACL0kB,UAAWo/7C,GACX577C,UAAU,EACVxqB,IAAKmm9C,OAIT528C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,mBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,WACL0kB,UAAWu+6C,GACX3gE,QAAS,EACTtwI,QAAS,GACT9puC,UAAWwt5C,EAAM6C,SAAW2iD,EAC5Bzi9C,UAAWi95C,EAAM6C,SAAW2iD,OAGhCju9C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,wDACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJv/P,MAAO7nE,OAAO00B,OAAO2z1C,IACrB71/B,QAASA,EACTtoX,KAAK,kBACL0kB,UAAW2z4C,GACXnw4C,UAAWwt5C,EAAM6C,SAAW2iD,EAC5Bzi9C,UAAWi95C,EAAM6C,SAAW2iD,OAGhCju9C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,8BACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,qBACL0kB,UAAWk74C,GACXt3iC,QAASA,EAETpgW,UAAWwt5C,EAAM6C,SAAW2iD,EAC5Bzi9C,UAAWi95C,EAAM6C,SAAW2iD,YAKpCju9C,EAAAA,EAAAA,KAACyp6C,GAAoB,CAAAt86C,SAClB8g+C,GACCju9C,EAAAA,EAAAA,KAAC4q6C,GAAY,CACXnC,MAAOA,EACPxumC,KAAMA,EACNt6D,aAAcA,EACd8qnC,WAAYA,EACZI,SAAUA,EACV2lC,aAAcA,IAEd,SAGD,OAIZ,ICrTT,SAASg+D,GAAmBr69C,GAA4C,IAA3C,UAAE6x6C,EAAS,QAAE3qjC,EAAO,iBAAEyymC,GAAkB359C,EACnE,MAAMzK,EAAUqU,EAAAA,WAAiB4x1C,IAC3B8zE,GAAcj6F,EAAAA,EAAAA,UAEd8pG,IADY9pG,EAAAA,EAAAA,WACAA,EAAAA,EAAAA,YACXp8+B,EAASwinC,IAAcnmI,EAAAA,EAAAA,WAAS,IAChCglJ,EAA8BC,IAAmCjlJ,EAAAA,EAAAA,WAAS,IASjFN,EAAAA,EAAAA,YAAU,KACG,OAAP9t9B,QAAO,IAAPA,GAAAA,EAASvuX,KACX8i9C,GAAW,IACA,OAAPv0lC,QAAO,IAAPA,GAAAA,EAASszmC,mBAAsBjl+C,EAAQmm2C,KAAKyzE,iBAAmB17D,GAAiBC,cAAchthC,QAChG6zoC,GAAgC,GAEpC,GACC,CAAQ,OAAPrzmC,QAAO,IAAPA,OAAO,EAAPA,EAASvuX,KAEb,MAAM8h+C,EAAqB,EACzB5u9C,EAAAA,EAAAA,KAACsrS,GAAAA,OAAM,CACL5/D,KAAM,aACNj/N,KAAM,OACNsjF,QAAUhlG,IAAO,IAADwp7C,EACL,OAATjB,QAAS,IAATA,GAAkB,QAATiB,EAATjB,EAAW/y6C,eAAO,IAAAg06C,GAAlBA,EAAoB/mB,WAAWzi6C,EAAE8hM,IAAI1jM,IAAI,GAQtC,2CAgBT,OACEivB,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,CACGigW,IACCptV,EAAAA,EAAAA,KAAC+96C,GAAQ,CACPnL,OAAO,sBACPpP,WAAYA,GACZC,YAAaA,EACb6P,UAAWA,EACX0K,aAAW,EACXxK,gBAAgB,EAChBH,mBAAoBu7C,EACpB5oD,UAAWA,EACXhZ,QAAS,CAAEy+D,UAAkB,OAAPpwmC,QAAO,IAAPA,OAAO,EAAPA,EAASvuX,IAC/Bux7C,qBAAqB,EACrB3p6C,OAAO,OACP4p6C,wBAAwB,EACxBC,mBA7DoBxz7C,IAER,SAAdA,EAAEywW,SAA+C,IAAzBzwW,EAAE89E,KAAKwl5C,gBACjCtj+C,EAAEm4a,WAAW3va,MAAMk1B,gBAAkB,UACvC,EA0DMy15C,iBAAkBuwC,IAGrBrhoC,IACCptV,EAAAA,EAAAA,KAAC6u9C,GAAyB,CACxBp+9C,IAAK6i7C,EACLtN,UAAWA,EACXvC,YAAaA,EACb0pD,cAAe9xmC,EACfyymC,iBAAkBA,MAK5B,CAEA,SAAe/v9C,EAAAA,KAAWyw9C,IAAqB,CAAC3sqC,EAAW/3T,KAAe,IAAD+l9C,EAAAC,EACvE,OACmB,QAAjBD,EAAAhupC,EAAUw5D,eAAO,IAAAw0lC,OAAA,EAAjBA,EAAmB/i9C,OAAwB,QAAtBgj9C,EAAKhm9C,EAAUuxX,eAAO,IAAAy0lC,OAAA,EAAjBA,EAAmBhj9C,KAC7C+0T,EAAUmknC,YAAcl86C,EAAUk86C,SAAS,IC9FhC,SAAS8oD,GAAqC369C,GAUzD,IAV0D,UAC5D6x6C,EAAS,QACT3qjC,EAAO,SACPpgW,EAAQ,SACRq62C,EAAQ,MACRvk4C,EAAK,eACL6y7C,EAAc,QACd52B,EAAO,UACPy+D,KACGntuC,GACJnqP,EACC,OACE6L,EAAAA,EAAAA,KAACor5C,GAAqB,CACpBnw4C,SAAUA,EACVogW,QAASA,EACTgwiC,kBAAmB,CACjB0B,WAAY,8CACZN,aAAc,CAAC,eACfG,cAAe,KACfI,QAAS,CAELy+D,UAAWA,IAIjBh79C,IAAK6k4C,EACLvk4C,MAAOA,KACHutP,GAGV,CCLA,MA8IA,GA9I2BvgP,EAAAA,YACzB,CAAA5J,EAAkC1D,KAAS,IAA1C,UAAEg79C,EAAS,iBAAEqC,GAAkB359C,EAC9B,MAAM,KAAE47B,EAAI,YAAE0v4C,GAAgByD,GAAezy6C,GAQtCgj4C,EAAgBmgE,GACrB,CACEjtB,YAAa,yBAEf,KACA,MAXqBgB,KAAO,IAADqmD,EACX,OAAhBF,QAAgB,IAAhBA,GAAyB,QAATE,EAAhBF,EAAkBvt9C,eAAO,IAAAyt9C,GAAzBA,EAA2BnoF,cAC3B45B,GAAa,IAqBf,OACEz/5C,EAAAA,EAAAA,KAACuj6C,GAAY,CACXxz4C,KAAMA,EACN812C,YAAa45B,EACbgB,WAAW,2BACXv44C,SAAS,KACTwt4C,eAAe,EACfhzE,WAAW,EAAKv11C,UAEhB6S,EAAAA,EAAAA,KAACyvT,GAAI,CACH42V,SAAUotuB,EACVrJ,cAAe,CACbqhG,UAAWA,EACX2C,YAAap9G,GAAqBC,eAAep2hC,MACjDwzoC,cAAev9G,GAAuBC,YAAYl2hC,OAGpD3tV,OAAQmd,IAAA,IAAC,aACPop3C,EAAY,KACZx5jC,EAAI,WACJwwjC,EAAU,SACVI,EAAQ,OACRtt2C,EAAM,MACNyQ,GACD3jB,EAAA,OACC+N,EAAAA,EAAAA,MAAC4z5C,GAAa,CAAC3lxB,SAAUotuB,EAAclg4C,MAAO,CAAEmhB,OAAQ,SAAUvnB,SAAA,EAChEirB,EAAAA,EAAAA,MAAC0o5C,GAAoB,CAAA3z6C,SAAA,EACnB6S,EAAAA,EAAAA,KAACis6C,GAAY,CAAC3k6C,MAAM,6BAAkBna,UAMpC6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,kBACL0kB,UAAWq38C,GACXrD,UAAWA,OAKfzr9C,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,iCAAsBna,UAE5B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJv/P,MAAO7nE,OAAO00B,OAAO2z1C,IACrBn+2C,KAAK,kBACL0kB,UAAW2z4C,QAGfpr5C,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,8BAAqBna,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,qBACL0kB,UAAWk74C,QAGf3y5C,EAAAA,EAAAA,KAACis6C,GAAY,CAAC3k6C,MAAM,iCAAgBna,UAClC6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,gBACL0kB,UAAWu+6C,GACX3gE,QAAS,EACTtwI,QAAS,UAMf3suC,EAAAA,EAAAA,MAACqx5C,GAAoB,CAAAt86C,SAAA,EACrB6S,EAAAA,EAAAA,KAACsz7C,GAAU,CACTvj2C,QAASs9X,UACP,GAA6B,OAAzB9vc,EAAOwx8C,eAAmD,KAAzBxx8C,EAAOwx8C,eAAmD,OAA3Bxx8C,EAAOyx8C,iBAC9C,IAA3Bzx8C,EAAOyx8C,iBAAyD,qBAAzBzx8C,EAAOwx8C,eAAmE,qBAA3Bxx8C,EAAOyx8C,gBAC/F,CACE,MAAMtp9C,EAASu0T,EAAK83jC,SAEhBrs3C,aAAkBkwI,eACdlwI,EAER+55C,GACF,MAEE8H,GAAMz55C,MACJ,wGACA,CACEvW,SAAU,YACViw6C,UAAW,IACXC,iBAAiB,EACjBtjlC,cAAc,EACdujlC,cAAc,EACd/twC,WAAW,EACX2T,cAAUt7K,EACV+V,MAAO,WAIb,KAGF/H,EAAAA,EAAAA,KAAC2q6C,GAAY,CACX560C,QAASA,KACPkqO,EAAKjsS,OAAO,EAEdxiB,SAAUi/2C,GAAcI,SAGd,KAGP,IClKf24C,GAAa,CACjB79xC,MAAO,mBACPqgyC,UAAW,mBACXx16C,KCIa,CACb,CACEuC,KAAM,KACNuU,MAAO,YACPmjW,SAAU,SACVhO,UAAW,KACXj4R,QAAS,CAAC,QACV6h2C,cAAc,EACdtv5C,MAAO654C,IAET,CACE795C,KAAM,eACNuU,MAAO,gBACPmjW,SAAU,OACVhO,UAAW,eACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,WACNuU,MAAO,sBACPmjW,SAAU,SACVhO,UAAW,WACXj4R,QAAS,CAAC,QACV8w2C,YAAazs7C,OAAO00B,OAAOyy1C,KAE7B,CACEj92C,KAAM,gBACNuU,MAAO,2BACPmjW,SAAU,OACVhO,UAAW,gBACXj4R,QAAS,CAAC,SAgBZ,CACEzxE,KAAM,eACNuU,MAAO,gBACPmjW,SAAU,SACVhO,UAAW,eACXj4R,QAAS,CAAC,QACV8w2C,YAAazs7C,OAAO00B,OAAOqy1C,KAS7B,CACE782C,KAAM,WACNuU,MAAO,mBACPmjW,SAAU,OACVhO,UAAW,WACXj4R,QAAS,CAAC,UDrEZii2C,UAAW,kDEyBE,SAASwoD,GAAc969C,GAWlC,IAXmC,WACrCqv6C,EAAU,YACVC,EAAW,UACXyP,EAAS,UACTI,EAAS,UACTtN,EAAS,qBACTiY,EAAoB,mBACpBj8xC,EAAkB,OAClBttI,EAAM,OACNk+5C,EAAM,iBACNs8C,GACD/69C,EACC,MAAMrH,EAAK8l7C,EAAS,sBACdlp7C,GAAU2U,EAAAA,EAAAA,YAAWsx1C,KAErB,UAAEwiF,EAAS,UAAEV,GAAckC,GAC/BnQ,EAAWhz6C,KACXiz6C,EACA326C,GAGIyiR,EAAQ,IAAIm1I,GAAAA,EAAY,CAC5Bv7Z,IAAKij7C,GAAe5I,EAAWhz6C,MAC/B8jH,IAAAA,CAAK8/O,GAAc,IAADy/kC,EAAAC,EAChB,IAAIC,EAWJ,OAVI3/kC,EAAYlxU,OACd6w5C,EAAW3/kC,EAAYlxU,KAAKnnB,KAAKpO,IAC/B,IAAIkryB,EAAS2qoB,EAAWhz6C,KAAK+kF,MAAMz6E,GAAMA,EAAE/H,MAAQpF,EAAE0P,WACrD,MAAO,CACLg0G,aAAc1jH,EAAE0P,SAChB0F,MAAOpV,EAAEw+O,KAAO,OAAS,MACzBsysC,UAAiB,OAAN5lpB,QAAM,IAANA,OAAM,EAANA,EAAQ4lpB,UACpB,KAGE7pE,GAAelvzB,QAAQ,CAC5Bn3U,OAAQ,OACR10N,IAAK,GAAG2t1C,KAASg8D,EAAWiD,YAC5B591C,KAAM,CACJmr2C,SAAwC,QAAhCH,EAAW,OAATX,QAAS,IAATA,GAAkB,QAATY,EAATZ,EAAW3y6C,eAAO,IAAAuz6C,OAAT,EAATA,EAAoBnzd,kBAAU,IAAAkzd,EAAAA,EAAI,IAAKq7C,GACjDj7C,cAAe,CACbC,UAAW,KACXC,YAAa,IAEfC,WAAYhglC,EAAYQ,aACpB,CACAzhG,UAAW,EACXkhrC,eAAgB5Q,EAAYlj6C,QAAQ5P,SAAS+hW,cAE7C,CACAv/F,UAAWihG,EAAYzB,KACvB0hlC,eAAgBjglC,EAAYf,SAIjCt9M,MAAM81F,IACLq7rC,GAAWr7rC,EAAIhjK,MAER,CACLA,KAAMgjK,EAAIhjK,KAAKA,KAAKr/B,KACpBkpT,WAAY7mH,EAAIhjK,KAAKA,KAAKyr2C,WAAW3siB,kBAGxCp9uB,OAAOz8I,IACNo55C,GAAWp55C,EAAMsnG,SAASvsC,MACnB,CACLA,KAAM,GACN6pR,WAAY,KAGpB,IAGF,OACEt6U,EAAAA,EAAAA,MAACgk2C,GAAK,CACJ3o2C,GAAI,CACFgV,gBAAiB,eACjBt7B,SAAA,EAEF6S,EAAAA,EAAAA,KAAC09Q,GAAK,CACJ9wQ,UAAU,MACV6G,GAAI,CACFmW,GAAI,MACJ5S,QAAS,OACTkU,eAAgB,gBAChBC,WAAY,UAEdnH,QAAS,KAGXhkB,EAAAA,EAAAA,KAACqzS,EAAI,CAACpyR,QAAQ,WAAU9zB,UACtBirB,EAAAA,EAAAA,MAACi5S,KAAQ,CACPvkU,GAAIA,EACJ4nB,OACEA,GAEI,gBAAgBi51C,QAAoBC,OAE1C1/yC,WAAYqhN,EACZkpD,aAAa,EACbxD,uBAAuB,EACvBC,qBAAqB,EACrBI,iBAAiB,EACjBb,kBAAkB,EAClBhkU,IAAKgz6C,KACAzhxC,EACD,CAAEA,mBAAoBA,GACtB,CAAC,EACLjvI,QAAS,CACP29C,MAAO,IAIXvjE,SAAA,EAME6S,EAAAA,EAAAA,KAAC4hF,GAAAA,UAAS,CAACt0E,KAAK,SAAS85U,mBAAmB,YAC5CpnV,EAAAA,EAAAA,KAACiyT,GAAAA,UAAS,CAACwpK,oBAAoB,aAC/Bz7d,EAAAA,EAAAA,KAAC6xT,GAAAA,aAAY,CACXr7P,SAAS,EACThmE,KAAK,SACL+yI,WAAYz2I,EACZwxd,WAAYmz9B,EACZlz9B,WAAY4z9B,IAEb3O,EAAWhz6C,KACT9E,QAAQ8E,IAAU,IAADqk7C,EAEhB,GAD8B,QAAfA,EAAGrk7C,EAAKg0E,eAAO,IAAAqw2C,OAAA,EAAZA,EAAcn1wC,SAAS,QACxB,CACf,GAAIlvK,EAAK+16C,kBAAmB,CAC1B,IAAIuO,GAAe,EACnB,IAAK,IAAInn7C,EAAI,EAAGA,GAA0B,QAAzBon7C,EAAGvk7C,EAAK+16C,yBAAiB,IAAAwO,OAAA,EAAtBA,EAAwB9r7C,QAAQ0E,IAAK,CAAC,IAADon7C,EACvD,GAAIvk7C,EAAK+16C,kBAAkB546C,GAAGqn7C,oBAC5BF,EAAeG,GACbjP,EACAt86C,EAAQmm2C,KAAK64E,WAEVoM,GAAc,MAGrB,GAAItk7C,EAAK+16C,kBAAkB546C,GAAGun7C,iBAC5BJ,EACEpr7C,EAAQmm2C,KAAKyzE,iBACb17D,GAAiBC,cAAchthC,OAC5Bi6lC,GAAc,MAErB,GAAItk7C,EAAK+16C,kBAAkB546C,GAAGq36C,2BAM1B8P,EAJAx46C,MAAM8I,QACJ5U,EAAK+16C,kBAAkB546C,GAAGq36C,2BAGZx06C,EAAK+16C,kBACnB546C,GACAq36C,yBAAyBtlwC,SACzBh2K,EAAQmm2C,KAAKyzE,gBAIb556C,EAAQmm2C,KAAKyzE,iBACb9y6C,EAAK+16C,kBAAkB546C,GAAGq36C,0BAEzB8P,GAAc,KAEvB,CAEA,OAAOA,CACT,CACE,OAAO,CAEX,CAAO,OAAO,CAAK,IAEpB/46C,KAAI,CAACpO,EAAGgJ,KAAW,IAADgo7C,EAAAC,EACjB,OACE5+6C,EAAAA,EAAAA,KAACixT,GAAAA,OAAM,CAELw5C,SAAU98W,EAAE88W,SACZn5V,QAAS3jB,EAAE2Z,MACXm1V,UAAW9uW,EAAE8uW,UACb1pW,KAAMpF,EAAEoF,KACRorM,aAAcxnM,EACd+qH,UACE/zH,EAAE+zH,UACE/zH,EAAE+zH,UACa,WAAf/zH,EAAE88W,SACA,QACe,YAAf98W,EAAE88W,SACA,SACA,OAEVrxC,iBAAkBzrU,EAAE246C,UAAY346C,EAAE246C,UAAY,KAC9Cvv5C,MAAOppB,EAAEopB,MAAQppB,EAAEopB,MAAQ,KAC3BuR,SAAU36B,EAAE26B,SAAW36B,EAAE26B,SAAW,IACpCJ,SAAUv6B,EAAEu6B,SAAWv6B,EAAEu6B,SAAW,IACpC6O,OAAQppC,EAAEopC,OAASppC,EAAEopC,OAAS,KAC9BytC,SAAS72E,EAAEyn7C,kBACNzn7C,EAAE+9Y,oBAAsB,CAC3BA,mBAAoB/9Y,EAAE+9Y,uBAEnB/9Y,EAAEwrU,kBAAoB,CACzBA,iBAAkBxrU,EAAEwrU,qBAEjBxrU,EAAEi+Y,eAAiB,CACtBA,cAAej+Y,EAAEi+Y,kBAEdj+Y,EAAE0n7C,YAAc,CAAEA,WAAY1n7C,EAAE0n7C,eAChC1n7C,EAAE6iX,eAAiB,CAAEA,cAAe7iX,EAAE6iX,eAC3C9mB,eAAgC,QAAlBi1lC,EAAEhx7C,EAAE+7V,sBAAc,IAAAi1lC,GAAAA,EAChCpnmC,aAA4B,QAAhBqnmC,EAAEjx7C,EAAE4pV,oBAAY,IAAAqnmC,GAAAA,KACvBjx7C,EAAEkzW,cAAgB,CAAEA,aAAclzW,EAAEkzW,cAAc1zW,SAEvC,WAAfQ,EAAE88W,UACDzqW,EAAAA,EAAAA,KAAC+uT,GAAAA,OAAM,CAEL7gQ,WAAYvgE,EAAE2n7C,YACd91nC,YAAY,OACZ5R,UAAU,SAHLjgT,EAAE8uW,UAAY,WAKJ,WAAf9uW,EAAE88W,UACJzqW,EAAAA,EAAAA,KAAAqt5C,EAAAA,SAAA,IACE,MA7CC1/5C,EAAEoF,KA8CA,KAIfiN,EAAAA,EAAAA,KAACwyT,GAAAA,OAAM,CAACyI,gBAAiB,MACzBj7T,EAAAA,EAAAA,KAACyyT,GAAAA,MAAK,CACJjuP,SAAS,EACTyuY,sBAAsB,EACtBlhQ,UAAU,EACVqhQ,iBAAkB,CAAC,GAAI,GAAI,IAC3BnL,YAAY,gBAMxB,CC5QA,UAAe/9b,EAAAA,GAAaA,IAAelK,EAAAA,EAAAA,KAAK,OAAQ,CACtDtS,EAAG,kJACD,QC+HJ,GApHmCqQ,EAAAA,YAAiB,CAAA5J,EAAc1D,KAAS,IAAtB,QAAE4qX,GAASlnX,EAC9D,MAAMsv6C,GAAcj6F,EAAAA,EAAAA,UACd0pG,GAAY1pG,EAAAA,EAAAA,WAEZ,KAAEz5yC,EAAI,YAAE812C,GAAgBgmC,GAC5Bp76C,EACA+y6C,GACAC,EACA,KACA,KACA,KACA,MAaIlrmC,GAAkBixgC,EAAAA,EAAAA,QAAO,IAMzB0lJ,EAAmB,CACvBpZ,WAAYz6lC,EAAQy6lC,YAwBtB,OACE918C,EAAAA,EAAAA,KAAAqt5C,EAAAA,SAAA,CAAAlg6C,UACEirB,EAAAA,EAAAA,MAACmr5C,GAAY,CACXxz4C,KAAMA,EACN812C,YAAaA,EACb46B,WAAW,mBACXv44C,SAAS,KACTlV,UAAU,OACV2mJ,WAAW,EAAMxsK,SAAA,EAOjB6S,EAAAA,EAAAA,KAACiv9C,GAAc,CACbzrD,WAAYA,GACZC,YAAaA,EACbyP,UAAWA,EACXlN,UAAWxC,GAAWwC,UACtBiY,sBAAsB,EACtBj8xC,mBAlDoBj3J,IAC1BwtU,EAAgBh4T,QAAUxV,EAAEwtU,eAAe,EAkDrCq6mC,OAAQ,6BACRs8C,iBAAkBA,KAGpB928C,EAAAA,EAAAA,MAACi7R,EAAI,CACH5/R,GAAI,CACFuX,cAAe,MACfhU,QAAS,OACTkU,eAAgB,WAChBC,WAAY,SACZh+B,SAAA,EAEF6S,EAAAA,EAAAA,KAACw4pB,GAAa,CACZ3ppB,MAAM,UACNs32C,WAAWnm3C,EAAAA,EAAAA,KAACur6C,GAAI,IAChBx70C,QAAUhlG,IA1DCsie,WACnB,GAAK90J,EAKL,IACEq8iC,GAAel62C,KAAK8s2C,GAAS,oCAAqC,CAChE29G,SAAU5spC,EAAgBh4T,QAAQ,GAClCkr9C,UAAkB,OAAPpwmC,QAAO,IAAPA,OAAO,EAAPA,EAASvuX,KAEnBipJ,MAAM81F,IACLg6pC,GAAa,IAEdt7uC,OAAOz8I,GAAUo55C,GAAWp55C,EAAMsnG,SAASvsC,OAEhD,CAAE,MAAO/6D,GACP+yE,QAAQ/yE,MAAM,mBAAeA,EAC/B,MAhBEo55C,GAAW,qCAgBb,EAyCUioD,EAAc,EACdhi+C,SAED,YAEH6S,EAAAA,EAAAA,KAACw4pB,GAAa,CACZ3ppB,MAAM,OACNs32C,WAAWnm3C,EAAAA,EAAAA,KAACg5D,GAAI,IAChB+2B,QAAUhlG,IACR864C,GAAa,EACb144C,SAED,qBAON,oBC5EP,MAAMmz8C,GAAqBns8C,IAAwC,IAAvC,MAAEmT,EAAK,aAAEkp5C,EAAY,SAAErj6C,GAAUgH,EAC3D,OACE6L,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAOA,EACPkp5C,aAAcA,EACdz54C,MAAO,MACPuwH,UAAW,MAAMn6I,SAEhBA,GACY,EAojBnB,GA9iByB4Q,EAAAA,YACvB,CAAAsM,EAA6C5Z,KAAS,IAADy36C,EAAA8K,EAAA,IAApD,UAAEhN,EAAS,YAAEvC,EAAW,eAAE2rD,GAAgB/k9C,EACzC,MAAM3gB,EAAUqU,EAAAA,WAAiB4x1C,IAE3B0/H,GAAe7lJ,EAAAA,EAAAA,UACf8lJ,GAAuB9lJ,EAAAA,EAAAA,UAEvB+lJ,IAD2B/lJ,EAAAA,EAAAA,WACXA,EAAAA,EAAAA,WAChBgmJ,GAAwBhmJ,EAAAA,EAAAA,UACxBmtI,GAAsBntI,EAAAA,EAAAA,UACtBotI,GAAuBptI,EAAAA,EAAAA,UACvBimJ,GAA4BjmJ,EAAAA,EAAAA,UAC5BkmJ,GAAmClmJ,EAAAA,EAAAA,UAEzC,IAAI4pD,EAAe,CACjBw4C,YAAahrM,OACbykP,UAAkB,OAAP379C,QAAO,IAAPA,GAAa,QAANw+6C,EAAPx+6C,EAASmm2C,YAAI,IAAAq4E,OAAN,EAAPA,EAAep76C,GAC1B8z9C,MAAO,GAGLwO,GAAkBA,EAAeti+C,KACnCsm4C,EAAe,IACVA,EACH0iF,WAAYsZ,EAAeti+C,GAC3B4+9C,cAAe0D,EAAe7V,aAIlC,MAAMoW,EACJjm+C,EAAQmm2C,KAAKyzE,iBAAmB17D,GAAiBC,cAAchthC,OAC/DnxV,EAAQmm2C,KAAKyzE,iBAAmB17D,GAAiBE,eAAejthC,OAE5D,QACJwgC,EAAO,KACPtrV,EAAI,YACJ812C,EAAW,aACX2qB,EAAY,aACZ/8B,EAAY,aACZ9znC,EAAY,mBACZ+/pC,EAAkB,MAClB+I,GACEoD,GAAcp76C,EAAK+y6C,GAAYC,EAAauC,EAAW5yC,GAErDw8F,GAA4B,OAAPv0mC,QAAO,IAAPA,OAAO,EAAPA,EAASgqmC,aAAoB,OAAPhqmC,QAAO,IAAPA,OAAO,EAAPA,EAASgqmC,aAAoB,OAAP379C,QAAO,IAAPA,GAAa,QAANsp7C,EAAPtp7C,EAASmm2C,YAAI,IAAAmjF,OAAN,EAAPA,EAAelm7C,MAC1C,qBAAxB,OAAPuuX,QAAO,IAAPA,OAAO,EAAPA,EAASszmC,oBACqB,qBAAxB,OAAPtzmC,QAAO,IAAPA,OAAO,EAAPA,EAASszmC,qBACmB,KAAxB,OAAPtzmC,QAAO,IAAPA,OAAO,EAAPA,EAASszmC,qBAAmCjl+C,EAAQmm2C,KAAKyzE,iBAAmB17D,GAAiBC,cAAchthC,MAG9G8zoC,EAA2B,OAAPtzmC,QAAO,IAAPA,OAAO,EAAPA,EAASszmC,kBAE7BkB,EAAkC,OAAPx0mC,QAAO,IAAPA,OAAO,EAAPA,EAASw0mC,yBAEpC71B,EAAmBluB,KAAa5n5C,MAAM,CAC1C406C,gBAAiBhtB,KAAW974C,WAC5Bu+7C,KAAMziD,KAAa974C,WACnB8l7C,WAAYhqC,KAAa974C,WACzB6z5C,kBAAmB/X,KAAa974C,WAEhC4w7C,MAAO90C,KAAat7kC,KAAK,WAAY,CACnCsN,GAAKngV,GAAgB,OAARA,QAAwB3rB,IAAR2rB,EAC7Bo4H,KAAM+1xC,KAEHtV,SACC,CACEhmD,GAAeG,iBAAiB91hC,MAChC21hC,GAAeI,kBAAkB/1hC,OAEnC,yCACA21hC,GAAeG,iBAAiBzrvC,KAChC,SACAsrvC,GAAeI,kBAAkB1rvC,KACjC,YAEDl1F,SAAS,gCACZin4C,UAAW6U,KAAa974C,SAAS,oCAI/B8/7C,EAAkB/x9C,EAAAA,SAAc,IAAMs9W,GAAS,CAACA,IAEhDvlQ,EAAW4pzC,EAAmBs6B,GAmBpC,OAFAn52C,QAAQT,IAAW,OAAPi7R,QAAO,IAAPA,OAAO,EAAPA,EAAS00mC,kBAAmB,+BAGtC338C,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,EACE6S,EAAAA,EAAAA,KAACuj6C,GAAY,CACXxz4C,KAAMA,EACN812C,YAAaA,EACb46B,WAAW,0BACXv44C,SAAS,KACTw6zC,WAAW,EAAKv11C,UAEhB6S,EAAAA,EAAAA,KAACyvT,GAAI,CACH42V,SAAUotuB,EACVrJ,cAAe/ugC,EACfvlQ,SAAUA,EACV5oH,OAAQkzB,IAAA,IAAC,aACPqz2C,EAAY,KACZx5jC,EAAI,WACJwwjC,EAAU,SACVI,EAAQ,OACRtt2C,EAAM,MACNyQ,GACD5N,EAAA,OACChI,EAAAA,EAAAA,MAAC4z5C,GAAa,CAAC3lxB,SAAUotuB,EAAatm4C,SAAA,EACpCirB,EAAAA,EAAAA,MAAC0o5C,GAAoB,CAAA3z6C,SAAA,EACnBirB,EAAAA,EAAAA,MAACuz5C,GAAgB,CAAAx+6C,SAAA,EACfirB,EAAAA,EAAAA,MAACi7R,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAEl0B,SAAA,EAC9B6S,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,wBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CAACzkT,UAAQ,EAACzY,KAAK,KAAK0kB,UAAW833C,QAEvCvv4C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,4BACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,kBACL0kB,UAAW0p8C,GACXlm8C,UAAWwt5C,EAAM6C,SAAWskD,OAGhC5v9C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,0BACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJv/P,MAAO7nE,OAAO00B,OAAO2y1C,IACrB70/B,QAASA,EACTtoX,KAAK,OACL0kB,UAAW2z4C,GACXnw4C,UAAWwt5C,EAAM6C,SAAWskD,EAC5Bpk9C,UAAWi95C,EAAM6C,SAAWskD,OAGhC5v9C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,iBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,aACLsoX,QAASA,EACT5jW,UAAWu08C,GACXhmD,UAAWA,EACX/q5C,UAAWwt5C,EAAM6C,SAAWskD,EAC5Bpk9C,UAAWi95C,EAAM6C,SAAWskD,EAC5Bt6F,SAAUi6F,OAGdvv9C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,QACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJv/P,MAAO7nE,OAAO00B,OAAOiz1C,IACrBn1/B,QAASA,EACTtoX,KAAK,QACL0kB,UAAW2z4C,GACX5/4C,WACU,OAAP6vW,QAAO,IAAPA,GAAAA,EAASvuX,KACgB,QAAnB,OAAPuuX,QAAO,IAAPA,OAAO,EAAPA,EAAS+mlC,gBACRwtB,EAEH308C,WACU,OAAPogW,QAAO,IAAPA,GAAAA,EAASvuX,KACgB,QAAnB,OAAPuuX,QAAO,IAAPA,OAAO,EAAPA,EAAS+mlC,gBACRwtB,OAIP5v9C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,YACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,WACL0kB,UAAW833C,GACXt03C,UAAU,OAGO,IAApB008C,GAA4B3v9C,EAAAA,EAAAA,KAACsg8C,GAAkB,CAC9Ch57C,MAAM,OACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,YACL0kB,UAAW833C,GACXt03C,UAAU,MAEY,SAG5B7C,EAAAA,EAAAA,MAACi7R,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAEl0B,SAAA,EAC9BirB,EAAAA,EAAAA,MAACguG,GAAI,CACH3yG,GAAI,CACFuT,OAAQ,OACRmF,UAAW,QACXh/B,SAAA,EAEF6S,EAAAA,EAAAA,KAACgw9C,GAAU,CACTv88C,GAAI,CAAE4S,QAAS,OACfs/G,OACE3lI,EAAAA,EAAAA,KAAC0w5C,GAAU,CACTzv4C,QAAQ,YACRxN,GAAI,CACF6Y,UAAW,SACXzc,SAAU,OACVjN,WAAY,QACZzV,SAED,yCAePirB,EAAAA,EAAAA,MAACyg7C,GAAW,CAACpl7C,GAAI,CAAE4S,QAAS,OAAQl5B,SAAA,EAClC6S,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,WACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,kBACL0kB,UAAWi+7C,GACX1vC,UAAWA,EACX3qjC,QAASA,EACTpgW,UAAWwt5C,EAAM6C,SAAWskD,EAC5Bpk9C,UAAWi95C,EAAM6C,SAAWskD,EAC5B/Z,gBAAiB0Z,EACjB3jE,WAAY+qD,EACZ9qD,QAAS+qD,OAGb528C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,UACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,mBACL0kB,UAAWo/7C,GACX577C,UAAU,EACVxqB,IAAKkm9C,OAGT328C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,UACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,oBACL0kB,UAAWo/7C,GACX577C,UAAU,EACVxqB,IAAKmm9C,aAKb528C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,oCACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,oBACL0kB,UAAW+r6C,GACXvo6C,UAAWwt5C,EAAM6C,SAAWskD,EAC5Bpk9C,UAAWi95C,EAAM6C,SAAWskD,EAC5Bv0mC,QAASA,OAGbr7W,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,iBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,gBACL0kB,UAAWk28C,GACX1y8C,UAAWwt5C,EAAM6C,SAAWskD,EAC5Bpk9C,UAAWi95C,EAAM6C,SAAWskD,EAC5Bv0mC,QAASA,MAGZs0mC,IACC3v9C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,SACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,SACL0kB,UAAW2z4C,GACXnw4C,UAAWwt5C,EAAM6C,SAAWskD,EAC5Bpk9C,UAAWi95C,EAAM6C,SAAWskD,EAC5Bl/5C,MAAO7nE,OAAO00B,OAAO801C,IACrBh3/B,QAASA,YAiCH,OAAfy0mC,QAAe,IAAfA,GAAAA,EAAiBhj+C,IAChBkT,EAAAA,EAAAA,KAACwu9C,GAAmB,CAClBnzmC,QAASy0mC,EACT9pD,UAAWA,EACX8nD,iBAAkBr99C,IAElB,SA8BN2nB,EAAAA,EAAAA,MAACqx5C,GAAoB,CACnBh25C,GAAI,CACFyX,eAAgB,iBAChB/9B,SAAA,EAEF6S,EAAAA,EAAAA,KAACqzS,EAAI,CAAAlmT,UACHirB,EAAAA,EAAAA,MAACs26C,GAAa,CACZpn7C,MAAM,qBACNihsC,UAAU,UACVomP,eAAe,UAASxh8C,SAAA,EAEA,IAArByi+C,IAA8D,KAAxB,OAAPv0mC,QAAO,IAAPA,OAAO,EAAPA,EAASszmC,oBACzC3u9C,EAAAA,EAAAA,KAACw4pB,GAAa,CACZ3ppB,MAAM,UACNs32C,WAAWnm3C,EAAAA,EAAAA,KAACiw9C,GAAIA,EAAI,IACpBlg4C,QAAUhlG,IAAO,IAADml+C,EACdC,EAAAC,EACE/0mC,EAAQ8pmC,SACQ,OAAZkK,QAAY,IAAZA,GAAqB,QAATc,EAAZd,EAAc9u9C,eAAO,IAAA4v9C,GAArBA,EAAuB3iE,WACvBnyiC,EAAQ8pmC,UAEI,OAAZkK,QAAY,IAAZA,GAAqB,QAATe,EAAZf,EAAc9u9C,eAAO,IAAA6v9C,GAArBA,EAAuB5iE,WAAW,MAE5B,OAAZ6hE,QAAY,IAAZA,GAAqB,QAATa,EAAZb,EAAc9u9C,eAAO,IAAA2v9C,GAArBA,EAAuB1iE,WAAW,KAAK,EAEzChi5C,UAAW6vW,EAAQvuX,GAAGK,SAErBkuX,EAAQ8pmC,SAAW,oBAAmB,eAEvC,MAEoB,IAArByK,IAA8D,KAAxB,OAAPv0mC,QAAO,IAAPA,OAAO,EAAPA,EAASszmC,oBACjB,MAApBtzmC,EAAQ8pmC,SAmBR,MAjBFnl9C,EAAAA,EAAAA,KAACw4pB,GAAa,CACZ3ppB,MAAM,UACNs32C,WAAWnm3C,EAAAA,EAAAA,KAACiw9C,GAAIA,EAAI,IACpBlg4C,QAAUhlG,IACP,IAADsl+C,EAAAC,EACEj1mC,EAAQ8pmC,SACqB,OAAzBsK,QAAyB,IAAzBA,GAAkC,QAATY,EAAzBZ,EAA2Blv9C,eAAO,IAAA8v9C,GAAlCA,EAAoC7iE,WACpCnyiC,EAAQ8pmC,UAEiB,OAAzBsK,QAAyB,IAAzBA,GAAkC,QAATa,EAAzBb,EAA2Blv9C,eAAO,IAAA+v9C,GAAlCA,EAAoC9iE,WAAW,KACrD,EAGFhi5C,UAAW6vW,EAAQvuX,GAAGK,SAErB,mBAIP6S,EAAAA,EAAAA,KAACw4pB,GAAa,CACZ3ppB,MAAM,UACNs32C,WAAWnm3C,EAAAA,EAAAA,KAACuw9C,GAAWA,EAAI,IAC3Bxg4C,QAAUhlG,IAAO,IAADyl+C,EACM,OAApBlB,QAAoB,IAApBA,GAA6B,QAATkB,EAApBlB,EAAsB/u9C,eAAO,IAAAiw9C,GAA7BA,EAA+BhjE,WAAW,KAAK,EAIjDhi5C,UAAW6vW,EAAQvuX,GAAGK,SACvB,sCAGD6S,EAAAA,EAAAA,KAACgz7C,GAAa,CACZhmC,QAAS,CACPlg6C,GAAIuuX,EAAQvuX,IAEd2nV,OAAQuvoC,GACRh+C,UAAWA,EACXksB,cAAe72kC,EACf7vW,WAAkB,OAAP6vW,QAAO,IAAPA,GAAAA,EAASvuX,MAErB6h+C,IACC3u9C,EAAAA,EAAAA,KAACw4pB,GAAa,CACZ3ppB,MAAM,UACNs32C,WAAWnm3C,EAAAA,EAAAA,KAACy07C,GAAIA,EAAI,IACpB1k2C,QAAUhlG,IAAO,IAAD0l+C,EACO,OAArBjB,QAAqB,IAArBA,GAA8B,QAATiB,EAArBjB,EAAuBjv9C,eAAO,IAAAkw9C,GAA9BA,EAAgCjjE,WAAW,KAAK,EAMpDrg6C,SACC,6BAIFwh+C,IAAsBkB,IACrB7v9C,EAAAA,EAAAA,KAACw4pB,GAAa,CACZ3ppB,MAAM,UACNs32C,WAAWnm3C,EAAAA,EAAAA,KAAC0w9C,GAAWA,EAAI,IAC3B3g4C,QAAUhlG,IAAO,IAAD4l+C,EACkB,OAAhCjB,QAAgC,IAAhCA,GAAyC,QAATiB,EAAhCjB,EAAkCnv9C,eAAO,IAAAow9C,GAAzCA,EAA2CnjE,WAAW,KAAK,EAM/Drg6C,SACC,0DAMP6S,EAAAA,EAAAA,KAAC4q6C,GAAY,CACXnC,MAAOA,EACPxumC,KAAMA,EACNt6D,aAAcA,EACdkrqC,gBAAiB+kD,EACjB5kD,gBAAiB4kD,EACjBnlG,WAAYA,EACZI,SAAUA,EACV2lC,aAAcA,EACdua,iBAAkB,8BAClBM,iBAAkB,kCAGR,OAItBrr6C,EAAAA,EAAAA,KAAC4q9C,GAAkB,CACjBn69C,IAAK4+9C,EACLrpD,UAAWA,EACXvC,YAAaA,EACbslD,WAAY1tmC,KAGdr7W,EAAAA,EAAAA,KAAC4w9C,GAAuB,CACtBng+C,IAAK6+9C,EACLtpD,UAAWA,EACXvC,YAAaA,EACbslD,WAAY1tmC,KAEdr7W,EAAAA,EAAAA,KAAC6w9C,GAAkB,CACjBpg+C,IAAK++9C,EACL/D,UAAkB,OAAPpwmC,QAAO,IAAPA,OAAO,EAAPA,EAASvuX,GACpBgh+C,iBAAkBr99C,KAEpBuP,EAAAA,EAAAA,KAAC8w9C,GAA0B,CACzBrg+C,IAAKg/9C,EACLp0mC,QAASA,KAMXr7W,EAAAA,EAAAA,KAAC0q6C,GAAW,CACZj66C,IAAKi/9C,EACLxvD,aAAc7y8B,SA1clBA,eAAsDo+/B,GAKpD72G,GAAelvzB,QAAQ,CACrBn3U,OAAQ,OACR10N,IAAK,GAAG2t1C,sDACR3+xC,KAAM,CACJ/7E,GAAI2+9C,IAGV,CA+bQsF,CAA8C,OAAP11mC,QAAO,IAAPA,OAAO,EAAPA,EAASvuX,IAEpDgz6C,YAAY,OACZC,YAAY,oQAQX,ICxmBT,SAASixD,GAA8B789C,GAA0B,IAAzB,UAAE6x6C,EAAS,QAAE3qjC,GAASlnX,EAC5D,MAAMsv6C,GAAcj6F,EAAAA,EAAAA,UACd0pG,GAAY1pG,EAAAA,EAAAA,UACZ8pG,GAAY9pG,EAAAA,EAAAA,WAEXp8+B,EAASwinC,IAAcnmI,EAAAA,EAAAA,WAAS,GAQvC,OANAN,EAAAA,EAAAA,YAAU,KACG,OAAP9t9B,QAAO,IAAPA,GAAAA,EAASvuX,IACX8i9C,GAAW,EACb,GACC,CAAQ,OAAPv0lC,QAAO,IAAPA,OAAO,EAAPA,EAASvuX,MAGXsrB,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,CACGigW,IACCptV,EAAAA,EAAAA,KAAC+96C,GAAQ,CACPnL,OAAO,aACPpP,WAAYA,GACZC,YAAaA,EACbyP,UAAWA,EACXI,UAAWA,EACX0K,aAAW,EACXhY,UAAWA,EACXhZ,QAAS,CAAE8oD,WAAmB,OAAPz6lC,QAAO,IAAPA,OAAO,EAAPA,EAASvuX,IAChCux7C,qBAAqB,EACrB3p6C,OAAO,OACP4p6C,wBAAwB,IAG3BlxlC,IACCptV,EAAAA,EAAAA,KAACix9C,GAAgB,CACfxg+C,IAAK6i7C,EACLtN,UAAWA,EACXvC,YAAaA,EACb2rD,eAAgB/zmC,MAK1B,CAGA,SAAet9W,EAAAA,KACbiz9C,IACA,CAACnvqC,EAAW/3T,KAAe,IAAD+l9C,EAAAC,EAExB,OACmB,QAAjBD,EAAAhupC,EAAUw5D,eAAO,IAAAw0lC,OAAA,EAAjBA,EAAmB/i9C,OAAwB,QAAtBgj9C,EAAKhm9C,EAAUuxX,eAAO,IAAAy0lC,OAAA,EAAjBA,EAAmBhj9C,KAC7C+0T,EAAUmknC,YAAcl86C,EAAUk86C,SAAS,IChB3Cs6B,GAAqBns8C,IAAmD,IAAlD,MAAEmT,EAAK,aAAEkp5C,EAAY,SAAErj6C,EAAQ,UAAEm6I,GAAWnzI,EACtE,OACE6L,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAOA,EACPkp5C,aAAcA,EACdz54C,MAAO,MACPuwH,UAAWA,GAAwB,MAAMn6I,SAExCA,GACY,EAIb279C,GAA0B/q9C,EAAAA,YAC9B,CAAAsM,EAAyC5Z,KAAS,IAADy36C,EAAA8K,EAAA,IAAhD,UAAEhN,EAAS,YAAEvC,EAAW,WAAEslD,GAAY1+8C,EACrC,MAAM3gB,EAAUqU,EAAAA,WAAiB4x1C,IAE3ByjC,EAAe,CACnBilF,OAAO,EACPzsC,YAAahrM,OACbykP,UAAkB,OAAP379C,QAAO,IAAPA,GAAa,QAANw+6C,EAAPx+6C,EAASmm2C,YAAI,IAAAq4E,OAAN,EAAPA,EAAep76C,GAC1Buj9C,OAAQ,IACRmJ,UAAW,cAGPrJ,GAAe3mI,EAAAA,EAAAA,UACfinI,GAAgBjnI,EAAAA,EAAAA,UAChBunI,GAAevnI,EAAAA,EAAAA,UACf8nI,GAAkB9nI,EAAAA,EAAAA,UAClBkvI,GAAalvI,EAAAA,EAAAA,UAEbgoI,GAA8BhoI,EAAAA,EAAAA,UAC9BioI,GAAqCjoI,EAAAA,EAAAA,UACrC+nI,GAA6B/nI,EAAAA,EAAAA,UAE7B0nJ,GAA2D,KAA/B,OAAPxn+C,QAAO,IAAPA,GAAa,QAANsp7C,EAAPtp7C,EAASmm2C,YAAI,IAAAmjF,OAAN,EAAPA,EAAe2tB,qBAEpC,QACJtllC,EAAO,KACPtrV,EAAI,YACJ812C,EAAW,aACX2qB,EAAY,aACZ/8B,EAAY,aACZ9znC,EAAY,mBACZ+/pC,EAAkB,MAClB+I,EAAK,WACLJ,GACEwD,GAAcp76C,EAAK+y6C,GAAYC,EAAauC,EAAW5yC,GAErD4mE,EAAmBluB,KAAa5n5C,MAAM,CAC1C807C,QAASltC,KAEN974C,WACAxT,IAAI,GAAI,0DACX+87C,WAAYztC,KAAa974C,SAAS,oDAI9B8/7C,EAAkB/x9C,EAAAA,SAAc,IAAMs9W,GAAS,CAACA,IA8BtD,MAAMvlQ,EAAW4pzC,EAAmBs6B,GAEpC,OACEh67C,EAAAA,EAAAA,KAAAqt5C,EAAAA,SAAA,CAAAlg6C,UACE6S,EAAAA,EAAAA,KAACuj6C,GAAY,CACXxz4C,KAAMA,EACN812C,YAAaA,EACb46B,WAAW,kCACXv44C,SAAS,KACTw6zC,WAAW,EAAKv11C,UAEhB6S,EAAAA,EAAAA,KAACyvT,GAAI,CACH42V,SAAUotuB,EACVrJ,cAAe/ugC,EACfvlQ,SAAUA,EACV5oH,OAAQkzB,IAAA,IAAC,aACPqz2C,EAAY,KACZx5jC,EAAI,WACJwwjC,EAAU,SACVI,EAAQ,OACRtt2C,EAAM,MACNyQ,GACD5N,EAAA,OACChI,EAAAA,EAAAA,MAAC4z5C,GAAa,CAAC3lxB,SAAUotuB,EAAatm4C,SAAA,EACpCirB,EAAAA,EAAAA,MAAC0o5C,GAAoB,CAAA3z6C,SAAA,EACnBirB,EAAAA,EAAAA,MAACuz5C,GAAgB,CAAAx+6C,SAAA,EAEfirB,EAAAA,EAAAA,MAACi7R,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAEl0B,SAAA,EAC9B6S,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,mBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CAACzkT,UAAQ,EAACzY,KAAK,KAAK0kB,UAAW833C,QAEvCvv4C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,oBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,cACLyY,UAAQ,EACRiM,UAAWyt5C,GACXjq5C,UAAWwt5C,EAAM6C,SAAWy9C,OAGhC/o9C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,2BACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,aACLu43C,aAAc,CAAEv/3C,OAAO,GACvB0rB,UAAW833C,GACXt03C,UAAWwt5C,EAAM6C,SAAWy9C,OAGhC3w8C,EAAAA,EAAAA,MAACi7R,EAAI,CACH9gT,WAAS,EACTqa,UAAU,MACVoX,QAAS,EACTzwB,MAAO,CAAEo+8C,QAAS,GAAIxk9C,SAAA,EAEtB6S,EAAAA,EAAAA,KAACqzS,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,EAAEh0B,UACf6S,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,WACNkp5C,aAAcA,EACdlpxC,UAAW,MAAMn6I,UAEjB6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,UACL0kB,UAAW833C,GACXt03C,UAAWwt5C,EAAM6C,SAAWy9C,EAC5BzzF,SAAUojF,SAIhB148C,EAAAA,EAAAA,KAACqzS,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,EAAEh0B,UACf6S,EAAAA,EAAAA,KAACsrS,GACC,CACArqR,QAAQ,WACRtmB,KAAK,QACLkU,MAAM,UACNkhF,QAASA,MA7GjCs9X,eAAuCpzJ,GAAO,IAADq/oC,EAC3C1kG,GAAelvzB,QAAQ,CACrBn3U,OAAQ,OACR10N,IAAK,GAAG2t1C,kCACR3+xC,KAAM,CAAEmw4C,QAAmB,OAAVN,QAAU,IAAVA,GAAmB,QAATY,EAAVZ,EAAYn48C,eAAO,IAAA+48C,OAAT,EAAVA,EAAqBvt9C,SACrCgqJ,MAAM81F,IAAS,IAADyptC,EAEX,OAAJr7nC,QAAI,IAAJA,GAAAA,EAAM18E,OAAO,SAAS,GAClB,OAAJ08E,QAAI,IAAJA,GAAAA,EAAM18E,OAAO,cAAeqj/B,QACxB,OAAJ3m6B,QAAI,IAAJA,GAAAA,EAAM18E,OAAO,YAAoB,OAAP7zP,QAAO,IAAPA,GAAa,QAAN4r8C,EAAP5r8C,EAASmm2C,YAAI,IAAAylG,OAAN,EAAPA,EAAexo8C,IAErC,OAAJmtU,QAAI,IAAJA,GAAAA,EAAM18E,OAAO,SAAU1R,EAAIhjK,KAAKA,KAAKwn4C,QACjC,OAAJp2oC,QAAI,IAAJA,GAAAA,EAAM18E,OAAO,UAAW1R,EAAIhjK,KAAKA,KAAK8n4C,SAClC,OAAJ12oC,QAAI,IAAJA,GAAAA,EAAM18E,OAAO,SAAU1R,EAAIhjK,KAAKA,KAAKoo4C,QACjC,OAAJh3oC,QAAI,IAAJA,GAAAA,EAAM18E,OAAO,YAAa1R,EAAIhjK,KAAKA,KAAK8w4C,WACpC,OAAJ1/oC,QAAI,IAAJA,GAAAA,EAAM18E,OAAO,aAAc1R,EAAIhjK,KAAKA,KAAK0w4C,YAEzCpJ,EAAarjD,WAAajhrC,EAAIhjK,KAAKA,KAAK2w4C,UACxC/I,EAAc3jD,WAAajhrC,EAAIhjK,KAAKA,KAAK4w4C,WACzC1I,EAAajkD,WAAajhrC,EAAIhjK,KAAKA,KAAK6w4C,UACxCpI,EAAgBxkD,WAAajhrC,EAAIhjK,KAAKA,KAAK+w4C,YAAY,IAGtDrvzC,OAAOz8I,OACZ,CAsF0B+r8C,CAAwB5/oC,EAAK,EAE7B9sU,SACH,2BAML6S,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,UACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,SACL0kB,UAAWs47C,GACXz6E,SAAU66E,EACVl17C,UAAWwt5C,EAAM6C,SAAWy9C,EAC5B1tmC,QAASA,OAGbr7W,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,aACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,UACL0kB,UAAWu47C,GACX16E,SAAUm7E,EACVN,aAAcA,EACdl17C,UAAWwt5C,EAAM6C,SAAWy9C,EAC5B1tmC,QAASA,OAGbr7W,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,eACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,SACL0kB,UAAW647C,GACXh7E,SAAUy7E,EACVN,cAAeA,EACfx17C,UAAWwt5C,EAAM6C,SAAWy9C,EAC5B1tmC,QAASA,OAGbr7W,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,UACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,YACL0kB,UAAWm57C,GACXt7E,SAAUg8E,EACVP,aAAcA,EACd917C,UAAWwt5C,EAAM6C,SAAWy9C,EAC5B1tmC,QAASA,OAGbr7W,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,QACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,QACL0kB,UAAW833C,GACXt03C,UAAWwt5C,EAAM6C,SAAWy9C,OAGhC/o9C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,kBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,YACL0kB,UAAW833C,GACXt03C,UAAWwt5C,EAAM6C,SAAWy9C,OAGhC/o9C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,mBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,aACL0kB,UAAW833C,GACXt03C,UAAWwt5C,EAAM6C,SAAWy9C,MAI/BmI,GACClx9C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,uBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,cACL29D,MAAO7nE,OAAO00B,OAAOq21C,IACrBv4/B,QAASA,EACT5jW,UAAW2z4C,GACXnw4C,UAAWwt5C,EAAM6C,SAAWy9C,MAG9B,MACJ3w8C,EAAAA,EAAAA,MAACi7R,EAAI,CACH9gT,WAAS,EACTqa,UAAU,MACVoX,QAAS,EACTzwB,MAAO,CAAEo+8C,QAAS,GAAIxk9C,SAAA,EAEtB6S,EAAAA,EAAAA,KAACqzS,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,EAAEh0B,UACf6S,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,QACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,QACL0kB,UAAWk74C,GACX134C,UAAWwt5C,EAAM6C,SAAWy9C,SAIlC/o9C,EAAAA,EAAAA,KAACqzS,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,EAAEh0B,UACf6S,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,YACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,WACL0kB,UAAW833C,GACXt03C,UAAU,eAOpB7C,EAAAA,EAAAA,MAACi7R,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAEl0B,SAAA,EAC9B6S,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,aACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,YACL0kB,UAAW833C,GACXt03C,UAAWwt5C,EAAM6C,SAAWy9C,OAGhC/o9C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,YACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,SACLsoX,QAASA,EACT5jW,UAAWis7C,GACXpuE,SAAUi8E,EACVvrC,UAAWA,EACX/q5C,UAAWwt5C,EAAM6C,SAAWy9C,EAC5B5yB,IAAKziF,GAA6B74hC,MAClCvpU,QAAQ,2BACRky7C,gBAAgB,iBAGpBxj8C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,+DACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJv/P,MAAO7nE,OAAO00B,OAAO011C,IACrB53/B,QAASA,EACT5jW,UAAW2z4C,GACXr45C,KAAK,uBACLkoB,UAAWwt5C,EAAM6C,SAAWy9C,OAGhC3w8C,EAAAA,EAAAA,MAACi7R,EAAI,CACH9gT,WAAS,EACTqa,UAAU,MACVoX,QAAS,EACTzwB,MAAO,CAAEo+8C,QAAS,GAAIxk9C,SAAA,EAEtB6S,EAAAA,EAAAA,KAACqzS,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,EAAEh0B,UACf6S,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,gCACNkp5C,aAAcA,EACdlpxC,UAAU,MAAKn6I,UAEf6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,cACL0kB,UAAW626C,GACXrz6C,UAAWwt5C,EAAM6C,SAAWy9C,EAC5B1tmC,QAASA,SAIfr7W,EAAAA,EAAAA,KAACqzS,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,EAAEh0B,UACf6S,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,QACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,oBACL29D,MAAO7nE,OAAO00B,OAAO8x1C,IACrBh0/B,QAASA,EACT5jW,UAAW2z4C,GACXnw4C,UAAWwt5C,EAAM6C,SAAWy9C,YAMpC/o9C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,0BACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,YACLsoX,QAASA,EACT5jW,UAAWis7C,GACXpuE,SAAUk8E,EACVxrC,UAAWA,EACX/q5C,UAAWwt5C,EAAM6C,SAAWy9C,EAC5B5yB,IAAKziF,GAA8B74hC,MACnCvpU,QAAQ,qCACRky7C,gBAAgB,+BAGpBxj8C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,2BACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,WACL0kB,UAAW833C,GACXt03C,UAAWwt5C,EAAM6C,SAAWy9C,OAGhC/o9C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,4BACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,mBACLsoX,QAASA,EACT5jW,UAAWis7C,GACXpuE,SAAUm8E,EACVzrC,UAAWA,EACX/q5C,UAAWwt5C,EAAM6C,SAAWy9C,EAC5B5yB,IAAKziF,GAAsC74hC,MAC3CvpU,QAAQ,2CACRky7C,gBAAgB,iCAGpBxj8C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,gCACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,mBACL0kB,UAAWyt5C,GACXjq5C,UAAWwt5C,EAAM6C,SAAWy9C,OAGhC/o9C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,aACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,YACL0kB,UAAW833C,GACXt03C,UAAWwt5C,EAAM6C,SAAWy9C,OAGhC/o9C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,YACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,WACL0kB,UAAW833C,GACXt03C,UAAWwt5C,EAAM6C,SAAWy9C,OAGhC/o9C,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,SACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,SACL0kB,UAAW2z4C,GACXnw4C,UAAWwt5C,EAAM6C,SAAWy9C,EAC5Bv98C,UAAWi95C,EAAM6C,SAAWy9C,EAC5Br45C,MAAO7nE,OAAO00B,OAAO801C,IACrBh3/B,QAASA,OAGbr7W,EAAAA,EAAAA,KAACsg8C,GAAkB,CACjBh57C,MAAM,mBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,WACL0kB,UAAWu+6C,GACX/66C,UAAWwt5C,EAAM6C,SAAWy9C,EAC5B1tmC,QAASA,EACTm1iC,aAAcA,EACdn7B,QAAS,aAKjBj92C,EAAAA,EAAAA,MAACwl6C,GAAO,CAAC134B,OAAQ,CAAC,eAAW,4BAAiB/4iB,SAAA,EAC5C6S,EAAAA,EAAAA,KAAAqt5C,EAAAA,SAAA,CAAAlg6C,UACE6S,EAAAA,EAAAA,KAAC0j9C,GAAiB,CAChBromC,QAASy0mC,EACT9pD,UAAWA,OAGfhm6C,EAAAA,EAAAA,KAAAqt5C,EAAAA,SAAA,CAAAlg6C,UACE6S,EAAAA,EAAAA,KAACgx9C,GAA8B,CAC7BhrD,UAAWA,EACX3qjC,QAASy0mC,aAKjB9v9C,EAAAA,EAAAA,KAACyp6C,GAAoB,CAAAt86C,UACnB6S,EAAAA,EAAAA,KAAC4q6C,GAAY,CACXnC,MAAOA,EACPxumC,KAAMA,EACNt6D,aAAcA,EACd8qnC,WAAYA,EACZI,SAAUA,EACV2lC,aAAcA,EACd2a,aAAoC,qBAAf49C,QAGX,OAIrB,IAIT,MCxgBA,SA9BA,SAA0B509C,GAAiB,IAAhB,UAAE6x6C,GAAW7x6C,EACtC,MAAMsv6C,GAAcj6F,EAAAA,EAAAA,UACd0pG,GAAY1pG,EAAAA,EAAAA,UACZ8pG,GAAY9pG,EAAAA,EAAAA,UAElB,OACEpxzC,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,EACE6S,EAAAA,EAAAA,KAAC696C,GAAU,CACTra,WAAYA,GACZ/y6C,IAAKyi7C,EACLzP,YAAaA,KAEfzj6C,EAAAA,EAAAA,KAAC+96C,GAAQ,CACPnL,OAAO,oBACPpP,WAAYA,GACZC,YAAaA,EACbyP,UAAWA,EACXI,UAAWA,EACX0K,aAAW,EACXhY,UAAWA,KAEbhm6C,EAAAA,EAAAA,KAAC8o9C,GAAuB,CACtBr49C,IAAK6i7C,EACLtN,UAAWA,EACXvC,YAAaA,MAIrB,ECIA,SAjCA,SAAqBtv6C,GAAiB,IAAhB,UAAE6x6C,GAAW7x6C,EACjC,MAAMsv6C,GAAcj6F,EAAAA,EAAAA,UACd0pG,GAAY1pG,EAAAA,EAAAA,UACZ8pG,GAAY9pG,EAAAA,EAAAA,UACZ0qI,GAAgB1qI,EAAAA,EAAAA,UAEtB,OACEpxzC,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,EACE6S,EAAAA,EAAAA,KAAC696C,GAAU,CACTra,WAAYA,GACZ/y6C,IAAKyi7C,EACLzP,YAAaA,KAEfzj6C,EAAAA,EAAAA,KAAC+96C,GAAQ,CACPnL,OAAO,mBACPpP,WAAYA,GACZC,YAAaA,EACbyP,UAAWA,EACXI,UAAWA,EACX0K,aAAW,EACXhY,UAAWA,EACXwY,eAAgB,iBAElBx+6C,EAAAA,EAAAA,KAAC4q9C,GAAkB,CACjBn69C,IAAK6i7C,EACLtN,UAAWA,EACXvC,YAAaA,EACbywC,cAAeA,MAIvB,ECCA,SA/BA,SAAmB//8C,GAAiB,IAAhB,UAAE6x6C,GAAW7x6C,EAC/B,MAAMsv6C,GAAcj6F,EAAAA,EAAAA,UACd0pG,GAAY1pG,EAAAA,EAAAA,UACZ8pG,GAAY9pG,EAAAA,EAAAA,UAElB,OACEpxzC,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,EACE6S,EAAAA,EAAAA,KAAC696C,GAAU,CACTra,WAAYA,GACZ/y6C,IAAKyi7C,EACLzP,YAAaA,KAEfzj6C,EAAAA,EAAAA,KAAC+96C,GAAQ,CACPnL,OAAO,aACPpP,WAAYA,GACZC,YAAaA,EACbyP,UAAWA,EACXI,UAAWA,EACX0K,aAAW,EACXhY,UAAWA,EACXwY,eAAgB,6BAElBx+6C,EAAAA,EAAAA,KAACix9C,GAAgB,CACfxg+C,IAAK6i7C,EACLtN,UAAWA,EACXvC,YAAaA,MAIrB,EClCMD,GAAa,CACjB79xC,MAAO,kBACPqgyC,UAAW,sBACXx16C,KCDa,CACb,CACEuC,KAAM,WACNuU,MAAO,YACPmjW,SAAU,SACVhO,UAAW,WACXj4R,QAAS,CAAC,QACV6h2C,cAAc,EACdtv5C,MAAO654C,IAET,CACE795C,KAAM,aACNuU,MAAO,kBACPmjW,SAAU,OACVhO,UAAW,aACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,YACNuU,MAAO,uBACPmjW,SAAU,OACVhO,UAAW,YACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,UACNuU,MAAO,gBACPmjW,SAAU,OACVhO,UAAW,UACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,iBACNuU,MAAO,6BACPmjW,SAAU,SACVhO,UAAW,iBACXj4R,QAAS,CAAC,QACV6w2C,WAAatq7C,GAAM+uV,GAAa,OAAD/uV,QAAC,IAADA,OAAC,EAADA,EAAGgB,QAGpC,CACEgH,KAAM,WACNuU,MAAO,YACPmjW,SAAU,SACVhO,UAAW,WACXj4R,QAAS,CAAC,WAEZ,CACEzxE,KAAM,UACNuU,MAAO,kBACPmjW,SAAU,SACVhO,UAAW,UACXj4R,QAAS,CAAC,UACV2g2C,gBAAiBqB,GACjBpB,sBAAuB,CAAC,IDpD1BqB,UAAW,uBACXC,aAAc,0BACdC,YAAa,yBACbC,YAAa,yBACbE,YAAa,0BERTtD,GAAa,CACjB79xC,MAAO,kBACPqgyC,UAAW,sBACXx16C,KCHa,CACb,CACEuC,KAAM,sBACNuU,MAAO,kBACPmjW,SAAU,SACVhO,UAAW,sBACXj4R,QAAS,CAAC,QACV6h2C,cAAc,EACdtv5C,MAAO654C,IAET,CACE795C,KAAM,UACNuU,MAAO,sBACPmjW,SAAU,OACVhO,UAAW,UACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,aACNuU,MAAO,cACPmjW,SAAU,OACVhO,UAAW,aACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,mBACNuU,MAAO,4BACPmjW,SAAU,OACVhO,UAAW,mBACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,cACNuU,MAAO,sBACPmjW,SAAU,UACVhO,UAAW,cACXj4R,QAAS,CAAC,SAEZ,CACEzxE,KAAM,WACNuU,MAAO,mBACPmjW,SAAU,OACVhO,UAAW,WACXj4R,QAAS,CAAC,UDvCZii2C,UAAW,uBACXC,aAAc,0BACdC,YAAa,yBACbC,YAAa,yBACbE,YAAa,0BEoMf,GA7LmC/o6C,EAAAA,YACjC,CAAA5J,EAAoE1D,KAAS,IAA5E,UAAEu16C,EAAS,YAAEvC,EAAW,UAAEwwC,EAAS,cAAEC,EAAa,YAAEjd,GAAa9i8C,EAChD4J,EAAAA,WAAiB4x1C,IAAjC,MA6CM,QACJt0+B,EAAO,KACPtrV,EAAI,YACJ812C,EAAW,aACX2qB,EAAY,aACZ/8B,EAAY,aACZ9znC,EAAY,mBACZ+/pC,EAAkB,MAClB+I,EAAK,WACLJ,EAAU,gBACVC,EAAe,MACfH,GACE0D,GACFp76C,EACA+y6C,GACAC,EACAuC,EA3DmB,CAAC,EA6DpBkuC,GACA,GA5DuBpn9C,IACvB,IACIum+B,EADO4je,EAAY127C,QAAQ5P,SAASknX,iBAClBtiS,MAAMz6E,GAAMA,EAAE3R,KAAO2D,IAC3Cu76C,EAAWh1c,EAAWxq5B,MACtBy/1C,GAAgB,EAAM,IAGM/q5C,IAC5B,IAAI827C,EAAcpd,EAAY127C,QAAQ5P,SACnCs+K,OAAO,mBACPj4K,QACH,GAAImx6C,EAAO,CACT,IAAI5qrC,EAAS82tC,EAAY9+3C,MAAMz6E,GAAMA,EAAE3R,KAAOg/6C,IACzC5qrC,IACH82tC,EAAYzp9C,KAAK,CACfzB,IAAKg/6C,EACLt/1C,KAAM,CAAC,EACPr4E,KAAM,WAER+sP,EAAS82tC,EAAY9+3C,MAAMz6E,GAAMA,EAAE3R,KAAOg/6C,KAG5C,IACI90c,EADO4je,EAAY127C,QAAQ5P,SAASknX,iBAClBtiS,MAAMz6E,GAAMA,EAAE3R,KAAOg/6C,IAC3Ct/6C,OAAOE,KAAKsq+B,EAAWxq5B,MAAM9sE,KAAK5S,IAC5Bo0B,EAAOp0B,IAAQkq+B,EAAWxq5B,KAAK1/E,KACjCo0P,EAAO10K,KAAK1/E,GAAOo0B,EAAOp0B,GAC5B,GAEJ,MACEkr9C,EAAYzp9C,KAAK,CACfzB,IAAKupvC,OAAO4hO,aACZzr4C,KAAMtrD,EACN/sB,KAAM,WAIVym8C,EAAY127C,QAAQ5P,SAASs+K,OAAO,kBAAmBolyC,GACvDxuE,GAAa,IA+BT/vxC,EAAW4pzC,EAJQoM,KAAa5n5C,MAAM,CAC1Cw87C,WAAY50C,KAAW974C,cAKzB,OACEhwB,EAAAA,EAAAA,KAAAqt5C,EAAAA,SAAA,CAAAlg6C,UACE6S,EAAAA,EAAAA,KAACuj6C,GAAY,CACXxz4C,KAAMA,EACN812C,YAAaA,EACb46B,WAAW,2BACXv44C,SAAS,KAAI/6B,UAEb6S,EAAAA,EAAAA,KAACyvT,GAAI,CACH42V,SAAUotuB,EACVrJ,cAAe/ugC,EACfvlQ,SAAUA,EACV5oH,OAAQmd,IAAA,IAAC,aACPop3C,EAAY,KACZx5jC,EAAI,WACJwwjC,EAAU,SACVI,EAAQ,OACRtt2C,EAAM,MACNyQ,GACD3jB,EAAA,OACCrK,EAAAA,EAAAA,KAAA,QAAMqmpB,SAAUotuB,EAAatm4C,UAC3BirB,EAAAA,EAAAA,MAAC0o5C,GAAoB,CAAA3z6C,SAAA,EAEnBirB,EAAAA,EAAAA,MAACi7R,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAEl0B,SAAA,EAC9B6S,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,kBACNkp5C,aAAcA,EACdn1iC,QAASA,EAAQluX,UAEjB6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJzkT,UAAQ,EACRzY,KAAK,sBACL0kB,UAAW833C,GACXl0hC,QAASA,OAIbr7W,EAAAA,EAAAA,KAACis6C,GAAY,CAAC3k6C,MAAM,sBAAWkp5C,aAAcA,EAAarj6C,UACxD6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJzkT,UAAQ,EACRzY,KAAK,UACL0kB,UAAW833C,GACXl0hC,QAASA,OAIbr7W,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,cACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,aACL0kB,UAAWyt5C,GACXjq5C,UAAWwt5C,EAAM6C,OACjBjwjC,QAASA,OAGbr7W,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,4BACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,mBACL0kB,UAAWyt5C,GACXjq5C,UAAWwt5C,EAAM6C,OACjBjwjC,QAASA,OAGbr7W,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,sBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,cACL0kB,UAAWk74C,GACX134C,UAAWwt5C,EAAM6C,OACjBjwjC,QAASA,OAIbr7W,EAAAA,EAAAA,KAACiwT,GAAK,CACJ3oT,MAAM,mBACNvU,KAAK,WACL0kB,UAAWu+6C,GACXxl8C,KAAK,OACL6qX,QAASA,EACTm1iC,aAAcA,EACdn7B,QAAS,QAIbr13C,EAAAA,EAAAA,KAACyp6C,GAAoB,CAAAt86C,UACnB6S,EAAAA,EAAAA,KAAC4q6C,GAAY,CACXnC,MAAOA,EACPxumC,KAAMA,EACNt6D,aAAcA,KACZA,EAAa,CAAE7yQ,GAAIuuX,EAAQ81mC,qBAAsB,EAEnD1mG,WAAYA,EACZI,SAAUA,EACV2lC,aAAcA,UAIf,OAIZ,IClKT,SAnCA,SAA6Br85C,GAKzB,IAAD4j8C,EAAA,IAL2B,UAC5B/xB,EAAS,QACT3qjC,EAAO,cACP64lC,EAAa,YACbjd,GACD9i8C,GACmBq10C,EAAAA,EAAAA,UAAlB,MACMi6F,GAAcj6F,EAAAA,EAAAA,UACd/40C,GAAM+40C,EAAAA,EAAAA,UAMZ,OACEpxzC,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,EACE6S,EAAAA,EAAAA,KAACi57C,GAAQ,CACP//kB,SAAUsqjB,GAAWhz6C,KACrBg95C,WARc1g6C,IAClB2D,EAAI8P,QAAQit5C,WAAW1g6C,EAAG,EAQtB4nB,OAAQ,OACRui7C,YAAaA,EACb/o4C,WAAyB,QAAf6p4C,EAAE18kC,EAAQ69kC,aAAK,IAAAnB,EAAAA,EAAI,GAC7Bb,iBAAiB,KAEnBl37C,EAAAA,EAAAA,KAACox9C,GAA0B,CACzB3g+C,IAAKA,EACLu16C,UAAWA,EACXvC,YAAaA,EACbywC,cAAeA,EACfjd,YAAaA,MAIrB,ECpCe,SAASo6B,GAAoBl99C,GAAe,IAAd,QAAEknX,GAASlnX,EACtD,OAAO2lV,GAAYuhC,EAAQi2mC,eAC7B,CCcA,MAsJA,GAtJ8Bvz9C,EAAAA,YAC5B,CAAA5J,EAA4C1D,KAAS,IAApD,UAAEu16C,EAAS,YAAEvC,EAAW,cAAEywC,GAAe//8C,EACxB4J,EAAAA,WAAiB4x1C,KAERnmB,EAAAA,EAAAA,UAFzB,MAKMytH,GAAcztH,EAAAA,EAAAA,WAad,QACJnu9B,EAAO,KACPtrV,EAAI,YACJ812C,EAAW,aACX2qB,EAAY,aACZ/8B,EAAY,aACZ9znC,EAAY,mBACZ+/pC,EAAkB,MAClB+I,GACEoD,GACFp76C,EACA+y6C,GACAC,EACAuC,EA3BmB,CAAC,GA6BpB,KAAO,IAAD8uC,EAAAC,EACe,QAAnBD,EAAA7d,EAAY127C,eAAO,IAAAu08C,GAAU,QAAVC,EAAnBD,EAAqBnk9C,gBAAQ,IAAAok9C,GAA7BA,EAA+BnomC,gBAAgB,GAEjD,KACA,KACA,MA/B+BrvV,IACtB,IACJA,EACH276C,MAAOjC,EAAY127C,QAAQ5P,SAASknX,iBAAiB97W,KAAK8wL,GACjDA,EAAIhkH,WAsCXitC,EAAW4pzC,EAPQoM,KAAa5n5C,MAAM,CAI1C,IAKF,OACElkB,EAAAA,EAAAA,KAAAqt5C,EAAAA,SAAA,CAAAlg6C,UACE6S,EAAAA,EAAAA,KAACuj6C,GAAY,CACXxz4C,KAAMA,EACN812C,YAAaA,EACb46B,WAAW,0BACXv44C,SAAS,KAAI/6B,UAEb6S,EAAAA,EAAAA,KAACyvT,GAAI,CACH42V,SAAUotuB,EACVrJ,cAAe/ugC,EACfvlQ,SAAUA,EACV5oH,OAAQmd,IAAA,IAAC,aACPop3C,EAAY,KACZx5jC,EAAI,WACJwwjC,EAAU,SACVI,EAAQ,OACRtt2C,EAAM,MACNyQ,GACD3jB,EAAA,OACCrK,EAAAA,EAAAA,KAACgs6C,GAAa,CAAC3lxB,SAAUotuB,EAAatm4C,UACpCirB,EAAAA,EAAAA,MAAC0o5C,GAAoB,CAAA3z6C,SAAA,EACnBirB,EAAAA,EAAAA,MAACuz5C,GAAgB,CAAAx+6C,SAAA,EACfirB,EAAAA,EAAAA,MAACi7R,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAEl0B,SAAA,EAC9B6S,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,YACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJzkT,UAAQ,EACRzY,KAAK,WACL0kB,UAAW833C,GACXt03C,UAAU,OAGdjb,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,kBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,aACL0kB,UAAW833C,GACXt03C,UAAU,OAGdjb,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,uBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,YACL0kB,UAAW833C,GACXt03C,UAAU,UAIhBjb,EAAAA,EAAAA,KAACqzS,EAAI,CAAC5gT,MAAI,EAAC0uB,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAEl0B,UAC9B6S,EAAAA,EAAAA,KAACis6C,GAAY,CACX3k6C,MAAM,uBACNkp5C,aAAcA,EAAarj6C,UAE3B6S,EAAAA,EAAAA,KAACiwT,GAAK,CACJl9T,KAAK,iBACL0kB,UAAW458C,GACXh2mC,QAASA,EACTpgW,UAAU,YAKlBjb,EAAAA,EAAAA,KAACyp6C,GAAoB,CAAAt86C,UACnB6S,EAAAA,EAAAA,KAAC4q6C,GAAY,CACXnC,MAAOA,EACPxumC,KAAMA,EACNt6D,aAAcA,EACd8qnC,WAAYA,EACZI,SAAUA,EACV2lC,aAAcA,EACdqa,iBAAiB,OAGrB7q6C,EAAAA,EAAAA,KAAC8g6C,GAAoB,CAAA3z6C,UACnB6S,EAAAA,EAAAA,KAACux9C,GAAoB,CACnBvrD,UAAWA,EACX3qjC,QAASA,EACT47kC,YAAaA,UAIL,OAIrB,IC9HT,SA9BA,SAAwB9i8C,GAAiB,IAAhB,UAAE6x6C,GAAW7x6C,EACpC,MAAMsv6C,GAAcj6F,EAAAA,EAAAA,UACd0pG,GAAY1pG,EAAAA,EAAAA,UACZ8pG,GAAY9pG,EAAAA,EAAAA,UAElB,OACEpxzC,EAAAA,EAAAA,MAAAi14C,EAAAA,SAAA,CAAAlg6C,SAAA,EACE6S,EAAAA,EAAAA,KAAC696C,GAAU,CACTra,WAAYA,GACZ/y6C,IAAKyi7C,EACLzP,YAAaA,KAEfzj6C,EAAAA,EAAAA,KAAC+96C,GAAQ,CACPnL,OAAO,kBACPpP,WAAYA,GACZC,YAAaA,EACbyP,UAAWA,EACXI,UAAWA,EACX0K,aAAa,EACbhY,UAAWA,KAEbhm6C,EAAAA,EAAAA,KAACwx9C,GAAqB,CACpB/g+C,IAAK6i7C,EACLtN,UAAWA,EACXvC,YAAaA,MAIrB,EC/BW,IAAI9u4C,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAQP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA,KAAK,4BAOP,IAAIA,KAAK,4BACX,IAAIA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","sources":["../node_modules/@devextreme/runtime/esm/inferno/effect_host.js","../node_modules/@devextreme/runtime/esm/inferno/base_component.js","../node_modules/@devextreme/runtime/esm/inferno/create_context.js","../node_modules/@devextreme/runtime/esm/inferno/effect.js","../node_modules/@devextreme/runtime/esm/inferno/portal.js","../node_modules/@devextreme/runtime/esm/inferno/re_render_effect.js","../node_modules/@devextreme/runtime/esm/inferno/mocked/shared.js","../node_modules/@devextreme/runtime/esm/inferno/mocked/hydrate.js","../node_modules/@devextreme/runtime/esm/inferno/render_template.js","../node_modules/@devextreme/runtime/esm/inferno/normalize_styles.js","../node_modules/@emotion/sheet/dist/emotion-sheet.esm.js","../node_modules/stylis/src/Utility.js","../node_modules/stylis/src/Tokenizer.js","../node_modules/stylis/src/Enum.js","../node_modules/stylis/src/Serializer.js","../node_modules/stylis/src/Parser.js","../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../node_modules/stylis/src/Middleware.js","../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/@emotion/react/dist/emotion-element-f0de968e.browser.esm.js","../node_modules/@emotion/react/dist/emotion-react.browser.esm.js","../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/@emotion/serialize/dist/emotion-serialize.esm.js","../node_modules/@emotion/hash/dist/emotion-hash.esm.js","../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js","../node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js","../node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../node_modules/@mui/icons-material/AccessAlarm.js","../node_modules/@mui/icons-material/AccessTime.js","../node_modules/@mui/icons-material/AccountBalanceWallet.js","../node_modules/@mui/icons-material/Assessment.js","../node_modules/@mui/icons-material/Assignment.js","../node_modules/@mui/icons-material/AssignmentInd.js","../node_modules/@mui/icons-material/AssignmentTurnedIn.js","../node_modules/@mui/icons-material/CalendarMonth.js","../node_modules/@mui/icons-material/Call.js","../node_modules/@mui/icons-material/CheckCircleOutline.js","../node_modules/@mui/icons-material/ChevronLeft.js","../node_modules/@mui/icons-material/ChevronRight.js","../node_modules/@mui/icons-material/Close.js","../node_modules/@mui/icons-material/Computer.js","../node_modules/@mui/icons-material/CurrencyExchange.js","../node_modules/@mui/icons-material/Description.js","../node_modules/@mui/icons-material/Discount.js","../node_modules/@mui/icons-material/DoNotDisturb.js","../node_modules/@mui/icons-material/Done.js","../node_modules/@mui/icons-material/DoneOutline.js","../node_modules/@mui/icons-material/Edit.js","../node_modules/@mui/icons-material/ErrorOutline.js","../node_modules/@mui/icons-material/ExpandMore.js","../node_modules/@mui/icons-material/FiberNew.js","../node_modules/@mui/icons-material/Folder.js","../node_modules/@mui/icons-material/Fullscreen.js","../node_modules/@mui/icons-material/Groups.js","../node_modules/@mui/icons-material/Handshake.js","../node_modules/@mui/icons-material/HelpOutline.js","../node_modules/@mui/icons-material/HourglassTop.js","../node_modules/@mui/icons-material/LocalOffer.js","../node_modules/@mui/icons-material/Login.js","../node_modules/@mui/icons-material/LogoutOutlined.js","../node_modules/@mui/icons-material/ManageAccounts.js","../node_modules/@mui/icons-material/Menu.js","../node_modules/@mui/icons-material/MoreVert.js","../node_modules/@mui/icons-material/Pageview.js","../node_modules/@mui/icons-material/Payments.js","../node_modules/@mui/icons-material/Person.js","../node_modules/@mui/icons-material/PersonSearch.js","../node_modules/@mui/icons-material/PictureAsPdf.js","../node_modules/@mui/icons-material/PointOfSale.js","../node_modules/@mui/icons-material/PostAdd.js","../node_modules/@mui/icons-material/Print.js","../node_modules/@mui/icons-material/Receipt.js","../node_modules/@mui/icons-material/Restore.js","../node_modules/@mui/icons-material/Rule.js","../node_modules/@mui/icons-material/Save.js","../node_modules/@mui/icons-material/School.js","../node_modules/@mui/icons-material/Search.js","../node_modules/@mui/icons-material/Sell.js","../node_modules/@mui/icons-material/Send.js","../node_modules/@mui/icons-material/Settings.js","../node_modules/@mui/icons-material/StackedLineChart.js","../node_modules/@mui/icons-material/SupportAgent.js","../node_modules/@mui/icons-material/ViewModule.js","../node_modules/@mui/icons-material/WorkOutline.js","../node_modules/@mui/icons-material/YouTube.js","../node_modules/@mui/icons-material/utils/createSvgIcon.js","../node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider.js","../node_modules/@mui/material/DefaultPropsProvider/DefaultPropsProvider.js","../node_modules/@mui/material/colors/common.js","../node_modules/@mui/material/colors/grey.js","../node_modules/@mui/material/colors/purple.js","../node_modules/@mui/material/colors/red.js","../node_modules/@mui/material/colors/orange.js","../node_modules/@mui/material/colors/blue.js","../node_modules/@mui/material/colors/lightBlue.js","../node_modules/@mui/material/colors/green.js","../node_modules/@mui/material/styles/createPalette.js","../node_modules/@mui/material/styles/createTypography.js","../node_modules/@mui/material/styles/shadows.js","../node_modules/@mui/material/styles/zIndex.js","../node_modules/@mui/material/styles/createTheme.js","../node_modules/@mui/material/styles/createMixins.js","../node_modules/@mui/material/styles/createTransitions.js","../node_modules/@mui/material/styles/defaultTheme.js","../node_modules/@mui/material/styles/identifier.js","../node_modules/@mui/material/styles/rootShouldForwardProp.js","../node_modules/@mui/material/styles/slotShouldForwardProp.js","../node_modules/@mui/material/styles/styled.js","../node_modules/@mui/material/utils/capitalize.js","../node_modules/@mui/material/SvgIcon/svgIconClasses.js","../node_modules/@mui/material/SvgIcon/SvgIcon.js","../node_modules/@mui/material/utils/createSvgIcon.js","../node_modules/@mui/material/utils/debounce.js","../node_modules/@mui/material/utils/createChainedFunction.js","../node_modules/@mui/material/utils/deprecatedPropType.js","../node_modules/@mui/utils/esm/deprecatedPropType/deprecatedPropType.js","../node_modules/@mui/material/utils/requirePropFactory.js","../node_modules/@mui/utils/esm/requirePropFactory/requirePropFactory.js","../node_modules/@mui/material/utils/setRef.js","../node_modules/@mui/material/utils/unsupportedProp.js","../node_modules/@mui/utils/esm/unsupportedProp/unsupportedProp.js","../node_modules/@mui/material/utils/index.js","../node_modules/@mui/material/utils/isMuiElement.js","../node_modules/@mui/utils/esm/isMuiElement/isMuiElement.js","../node_modules/@mui/material/utils/ownerDocument.js","../node_modules/@mui/material/utils/ownerWindow.js","../node_modules/@mui/material/utils/useControlled.js","../node_modules/@mui/material/utils/useEnhancedEffect.js","../node_modules/@mui/material/utils/useEventCallback.js","../node_modules/@mui/material/utils/useForkRef.js","../node_modules/@mui/material/utils/useId.js","../node_modules/@mui/utils/esm/useIsFocusVisible/useIsFocusVisible.js","../node_modules/@mui/material/utils/useIsFocusVisible.js","../node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.js","../node_modules/@mui/styled-engine/StyledEngineProvider/StyledEngineProvider.js","../node_modules/@mui/styled-engine/index.js","../node_modules/@mui/system/colorManipulator.js","../node_modules/@mui/system/createStyled.js","../node_modules/@mui/system/esm/breakpoints.js","../node_modules/@mui/system/esm/createTheme/applyStyles.js","../node_modules/@mui/system/esm/createTheme/createBreakpoints.js","../node_modules/@mui/system/esm/createTheme/shape.js","../node_modules/@mui/system/esm/createTheme/createTheme.js","../node_modules/@mui/system/esm/createTheme/createSpacing.js","../node_modules/@mui/system/esm/merge.js","../node_modules/@mui/system/esm/spacing.js","../node_modules/@mui/system/esm/memoize.js","../node_modules/@mui/system/esm/style.js","../node_modules/@mui/system/esm/compose.js","../node_modules/@mui/system/esm/borders.js","../node_modules/@mui/system/esm/cssGrid.js","../node_modules/@mui/system/esm/palette.js","../node_modules/@mui/system/esm/sizing.js","../node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.js","../node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.js","../node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js","../node_modules/@mui/system/useThemeWithoutDefault.js","../node_modules/@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.js","../node_modules/@mui/utils/esm/capitalize/capitalize.js","../node_modules/@mui/utils/esm/clamp/clamp.js","../node_modules/@mui/utils/esm/composeClasses/composeClasses.js","../node_modules/@mui/utils/esm/createChainedFunction/createChainedFunction.js","../node_modules/@mui/utils/esm/debounce/debounce.js","../node_modules/@mui/utils/esm/deepmerge/deepmerge.js","../node_modules/@mui/utils/esm/formatMuiErrorMessage/formatMuiErrorMessage.js","../node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js","../node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js","../node_modules/@mui/utils/esm/getDisplayName/getDisplayName.js","../node_modules/@mui/utils/esm/ownerDocument/ownerDocument.js","../node_modules/@mui/utils/esm/ownerWindow/ownerWindow.js","../node_modules/@mui/utils/esm/resolveProps/resolveProps.js","../node_modules/@mui/utils/esm/setRef/setRef.js","../node_modules/@mui/utils/esm/useControlled/useControlled.js","../node_modules/@mui/utils/esm/useEnhancedEffect/useEnhancedEffect.js","../node_modules/@mui/utils/esm/useEventCallback/useEventCallback.js","../node_modules/@mui/utils/esm/useForkRef/useForkRef.js","../node_modules/@mui/utils/esm/useId/useId.js","../node_modules/@mui/utils/esm/useLazyRef/useLazyRef.js","../node_modules/@mui/utils/esm/useOnMount/useOnMount.js","../node_modules/@mui/utils/esm/useTimeout/useTimeout.js","../node_modules/dayjs/dayjs.min.js","../node_modules/dayjs/locale/en-gb.js","../node_modules/devexpress-diagram/dist/dx-diagram.min.js","../node_modules/devexpress-gantt/dist/dx-gantt.min.js","../node_modules/devextreme-quill/dist/dx-quill.js","../node_modules/devextreme-react/accordion.js","../node_modules/devextreme-react/action-sheet.js","../node_modules/devextreme-react/autocomplete.js","../node_modules/devextreme-react/bar-gauge.js","../node_modules/devextreme-react/box.js","../node_modules/devextreme-react/bullet.js","../node_modules/devextreme-react/button-group.js","../node_modules/devextreme-react/button.js","../node_modules/devextreme-react/calendar.js","../node_modules/devextreme-react/chart.js","../node_modules/devextreme-react/check-box.js","../node_modules/devextreme-react/circular-gauge.js","../node_modules/devextreme-react/color-box.js","../node_modules/devextreme-react/context-menu.js","../node_modules/devextreme-react/core/component-base.js","../node_modules/devextreme-react/core/component.js","../node_modules/devextreme-react/core/config.js","../node_modules/devextreme-react/core/configuration/comparer.js","../node_modules/devextreme-react/core/configuration/react/element.js","../node_modules/devextreme-react/core/configuration/react/templates.js","../node_modules/devextreme-react/core/configuration/react/tree.js","../node_modules/devextreme-react/core/configuration/tree.js","../node_modules/devextreme-react/core/configuration/utils.js","../node_modules/devextreme-react/core/dx-template.js","../node_modules/devextreme-react/core/extension-component.js","../node_modules/devextreme-react/core/helpers.js","../node_modules/devextreme-react/core/nested-option.js","../node_modules/devextreme-react/core/options-manager.js","../node_modules/devextreme-react/core/template-wrapper.js","../node_modules/devextreme-react/core/template.js","../node_modules/devextreme-react/core/templates-manager.js","../node_modules/devextreme-react/core/templates-renderer.js","../node_modules/devextreme-react/core/templates-store.js","../node_modules/devextreme-react/core/widget-config.js","../node_modules/devextreme-react/data-grid.js","../node_modules/devextreme-react/date-box.js","../node_modules/devextreme-react/defer-rendering.js","../node_modules/devextreme-react/diagram.js","../node_modules/devextreme-react/draggable.js","../node_modules/devextreme-react/drawer.js","../node_modules/devextreme-react/drop-down-box.js","../node_modules/devextreme-react/drop-down-button.js","../node_modules/devextreme-react/file-manager.js","../node_modules/devextreme-react/file-uploader.js","../node_modules/devextreme-react/filter-builder.js","../node_modules/devextreme-react/form.js","../node_modules/devextreme-react/funnel.js","../node_modules/devextreme-react/gallery.js","../node_modules/devextreme-react/gantt.js","../node_modules/devextreme-react/html-editor.js","../node_modules/devextreme-react/index.js","../node_modules/devextreme-react/linear-gauge.js","../node_modules/devextreme-react/list.js","../node_modules/devextreme-react/load-indicator.js","../node_modules/devextreme-react/load-panel.js","../node_modules/devextreme-react/lookup.js","../node_modules/devextreme-react/map.js","../node_modules/devextreme-react/menu.js","../node_modules/devextreme-react/multi-view.js","../node_modules/devextreme-react/number-box.js","../node_modules/devextreme-react/pie-chart.js","../node_modules/devextreme-react/pivot-grid-field-chooser.js","../node_modules/devextreme-react/pivot-grid.js","../node_modules/devextreme-react/polar-chart.js","../node_modules/devextreme-react/popover.js","../node_modules/devextreme-react/popup.js","../node_modules/devextreme-react/progress-bar.js","../node_modules/devextreme-react/radio-group.js","../node_modules/devextreme-react/range-selector.js","../node_modules/devextreme-react/range-slider.js","../node_modules/devextreme-react/recurrence-editor.js","../node_modules/devextreme-react/resizable.js","../node_modules/devextreme-react/responsive-box.js","../node_modules/devextreme-react/sankey.js","../node_modules/devextreme-react/scheduler.js","../node_modules/devextreme-react/scroll-view.js","../node_modules/devextreme-react/select-box.js","../node_modules/devextreme-react/slider.js","../node_modules/devextreme-react/sortable.js","../node_modules/devextreme-react/sparkline.js","../node_modules/devextreme-react/speed-dial-action.js","../node_modules/devextreme-react/switch.js","../node_modules/devextreme-react/tab-panel.js","../node_modules/devextreme-react/tabs.js","../node_modules/devextreme-react/tag-box.js","../node_modules/devextreme-react/text-area.js","../node_modules/devextreme-react/text-box.js","../node_modules/devextreme-react/tile-view.js","../node_modules/devextreme-react/toast.js","../node_modules/devextreme-react/toolbar.js","../node_modules/devextreme-react/tooltip.js","../node_modules/devextreme-react/tree-list.js","../node_modules/devextreme-react/tree-map.js","../node_modules/devextreme-react/tree-view.js","../node_modules/devextreme-react/validation-group.js","../node_modules/devextreme-react/validation-summary.js","../node_modules/devextreme-react/validator.js","../node_modules/devextreme-react/vector-map.js","../node_modules/devextreme/esm/__internal/grids/data_grid/m_core.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/column_headers.js","../node_modules/devextreme/esm/__internal/grids/data_grid/m_columns_controller.js","../node_modules/devextreme/esm/__internal/grids/data_grid/m_data_source_adapter.js","../node_modules/devextreme/esm/__internal/grids/data_grid/m_data_controller.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/sorting.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/rows.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/context_menu.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/error_handling.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/grid_view.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/header_panel.js","../node_modules/devextreme/esm/__internal/grids/data_grid/m_widget_base.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/state_storing.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/selection.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/column_chooser.js","../node_modules/devextreme/esm/__internal/grids/data_grid/m_utils.js","../node_modules/devextreme/esm/__internal/grids/data_grid/grouping/m_grouping_core.js","../node_modules/devextreme/esm/__internal/grids/data_grid/grouping/m_grouping_collapsed.js","../node_modules/devextreme/esm/__internal/grids/data_grid/grouping/m_grouping_expanded.js","../node_modules/devextreme/esm/__internal/grids/data_grid/grouping/m_grouping.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/master_detail.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/editor_factory.js","../node_modules/devextreme/esm/__internal/grids/data_grid/m_editing.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/editing_row_based.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/editing_form_based.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/editing_cell_based.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/validating.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/virtual_scrolling.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/filter_row.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/header_filter.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/filter_sync.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/filter_builder.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/filter_panel.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/search.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/pager.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/columns_resizing_reordering.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/keyboard_navigation.js","../node_modules/devextreme/esm/__internal/grids/data_grid/m_aggregate_calculator.js","../node_modules/devextreme/esm/__internal/grids/data_grid/summary/m_summary.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/column_fixing.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/adaptivity.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/virtual_columns.js","../node_modules/devextreme/esm/__internal/grids/data_grid/export/m_export.js","../node_modules/devextreme/esm/__internal/grids/data_grid/focus/m_focus.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/row_dragging.js","../node_modules/devextreme/esm/__internal/grids/data_grid/m_widget.js","../node_modules/devextreme/esm/__internal/grids/grid_core/adaptivity/m_adaptivity.js","../node_modules/devextreme/esm/__internal/grids/grid_core/column_chooser/m_column_chooser.js","../node_modules/devextreme/esm/__internal/grids/grid_core/column_fixing/m_column_fixing.js","../node_modules/devextreme/esm/__internal/grids/grid_core/column_headers/m_column_headers.js","../node_modules/devextreme/esm/__internal/grids/grid_core/column_state_mixin/m_column_state_mixin.js","../node_modules/devextreme/esm/__internal/grids/grid_core/columns_controller/const.js","../node_modules/devextreme/esm/__internal/grids/grid_core/columns_controller/m_columns_controller_utils.js","../node_modules/devextreme/esm/__internal/grids/grid_core/columns_controller/m_columns_controller.js","../node_modules/devextreme/esm/__internal/grids/grid_core/columns_resizing_reordering/m_columns_resizing_reordering.js","../node_modules/devextreme/esm/__internal/grids/grid_core/context_menu/m_context_menu.js","../node_modules/devextreme/esm/__internal/grids/grid_core/data_controller/m_data_controller.js","../node_modules/devextreme/esm/__internal/grids/grid_core/data_source_adapter/m_data_source_adapter.js","../node_modules/devextreme/esm/__internal/grids/grid_core/editing/const.js","../node_modules/devextreme/esm/__internal/grids/grid_core/editing/m_editing.js","../node_modules/devextreme/esm/__internal/grids/grid_core/editing/m_editing_cell_based.js","../node_modules/devextreme/esm/__internal/grids/grid_core/editing/m_editing_form_based.js","../node_modules/devextreme/esm/__internal/grids/grid_core/editing/m_editing_row_based.js","../node_modules/devextreme/esm/__internal/grids/grid_core/editing/m_editing_utils.js","../node_modules/devextreme/esm/__internal/grids/grid_core/editor_factory/m_editor_factory.js","../node_modules/devextreme/esm/__internal/grids/grid_core/error_handling/m_error_handling.js","../node_modules/devextreme/esm/__internal/grids/grid_core/filter/m_filter_builder.js","../node_modules/devextreme/esm/__internal/grids/grid_core/filter/m_filter_panel.js","../node_modules/devextreme/esm/__internal/grids/grid_core/filter/m_filter_row.js","../node_modules/devextreme/esm/__internal/grids/grid_core/filter/m_filter_custom_operations.js","../node_modules/devextreme/esm/__internal/grids/grid_core/filter/m_filter_sync.js","../node_modules/devextreme/esm/__internal/grids/grid_core/focus/m_focus_utils.js","../node_modules/devextreme/esm/__internal/grids/grid_core/focus/m_focus.js","../node_modules/devextreme/esm/__internal/grids/grid_core/header_filter/m_header_filter.js","../node_modules/devextreme/esm/__internal/grids/grid_core/header_filter/m_header_filter_core.js","../node_modules/devextreme/esm/__internal/grids/grid_core/header_panel/m_header_panel.js","../node_modules/devextreme/esm/__internal/utils/memoize.js","../node_modules/devextreme/esm/__internal/grids/grid_core/keyboard_navigation/const.js","../node_modules/devextreme/esm/__internal/grids/grid_core/keyboard_navigation/dom.js","../node_modules/devextreme/esm/__internal/grids/grid_core/keyboard_navigation/m_keyboard_navigation_utils.js","../node_modules/devextreme/esm/__internal/grids/grid_core/keyboard_navigation/m_keyboard_navigation.js","../node_modules/devextreme/esm/__internal/grids/grid_core/m_accessibility.js","../node_modules/devextreme/esm/__internal/grids/grid_core/m_export.js","../node_modules/devextreme/esm/__internal/grids/grid_core/m_modules.js","../node_modules/devextreme/esm/__internal/grids/grid_core/m_utils.js","../node_modules/devextreme/esm/__internal/grids/grid_core/master_detail/m_master_detail.js","../node_modules/devextreme/esm/renovation/component_wrapper/grid_pager.js","../node_modules/devextreme/esm/renovation/ui/pager/utils/get_element_width.js","../node_modules/devextreme/esm/renovation/ui/pager/resizable_container.js","../node_modules/devextreme/esm/renovation/ui/pager/common/base_pager_props.js","../node_modules/devextreme/esm/renovation/ui/pager/common/pager_props.js","../node_modules/devextreme/esm/renovation/ui/pager/info.js","../node_modules/devextreme/esm/renovation/ui/pager/common/keyboard_action_context.js","../node_modules/devextreme/esm/renovation/ui/pager/common/light_button.js","../node_modules/devextreme/esm/renovation/ui/pager/common/consts.js","../node_modules/devextreme/esm/renovation/ui/pager/pages/page.js","../node_modules/devextreme/esm/renovation/ui/pager/pages/large.js","../node_modules/devextreme/esm/renovation/ui/editors/common/editor_state_props.js","../node_modules/devextreme/esm/renovation/ui/editors/common/editor_label_props.js","../node_modules/devextreme/esm/renovation/ui/editors/number_box.js","../node_modules/devextreme/esm/renovation/ui/pager/utils/calculate_values_fitted_width.js","../node_modules/devextreme/esm/renovation/ui/pager/pages/small.js","../node_modules/devextreme/esm/renovation/ui/pager/pages/page_index_selector.js","../node_modules/devextreme/esm/renovation/ui/editors/drop_down_editors/select_box.js","../node_modules/devextreme/esm/renovation/ui/pager/page_size/small.js","../node_modules/devextreme/esm/renovation/ui/pager/page_size/large.js","../node_modules/devextreme/esm/renovation/ui/pager/page_size/selector.js","../node_modules/devextreme/esm/renovation/ui/pager/content.js","../node_modules/devextreme/esm/renovation/ui/pager/pager.js","../node_modules/devextreme/esm/renovation/ui/pager/pager.j.js","../node_modules/devextreme/esm/ui/pager.js","../node_modules/devextreme/esm/__internal/grids/grid_core/pager/m_pager.js","../node_modules/devextreme/esm/__internal/grids/grid_core/row_dragging/const.js","../node_modules/devextreme/esm/__internal/grids/grid_core/row_dragging/dom.js","../node_modules/devextreme/esm/__internal/grids/grid_core/row_dragging/m_row_dragging.js","../node_modules/devextreme/esm/__internal/grids/grid_core/search/m_search.js","../node_modules/devextreme/esm/__internal/grids/grid_core/selection/m_selection.js","../node_modules/devextreme/esm/__internal/grids/grid_core/sorting/m_sorting.js","../node_modules/devextreme/esm/__internal/grids/grid_core/sorting/m_sorting_mixin.js","../node_modules/devextreme/esm/__internal/grids/grid_core/state_storing/m_state_storing.js","../node_modules/devextreme/esm/__internal/grids/grid_core/state_storing/m_state_storing_core.js","../node_modules/devextreme/esm/__internal/grids/grid_core/validating/m_validating.js","../node_modules/devextreme/esm/__internal/grids/grid_core/views/m_columns_view.js","../node_modules/devextreme/esm/__internal/grids/grid_core/views/m_grid_view.js","../node_modules/devextreme/esm/__internal/grids/grid_core/views/m_rows_view.js","../node_modules/devextreme/esm/__internal/grids/grid_core/virtual_columns/m_virtual_columns.js","../node_modules/devextreme/esm/__internal/grids/grid_core/virtual_columns/m_virtual_columns_core.js","../node_modules/devextreme/esm/__internal/grids/grid_core/virtual_scrolling/m_virtual_scrolling.js","../node_modules/devextreme/esm/__internal/grids/grid_core/virtual_data_loader/m_virtual_data_loader.js","../node_modules/devextreme/esm/__internal/grids/grid_core/virtual_scrolling/m_virtual_scrolling_core.js","../node_modules/devextreme/esm/__internal/grids/pivot_grid/local_store/m_local_store.js","../node_modules/devextreme/esm/__internal/grids/pivot_grid/remote_store/m_remote_store_utils.js","../node_modules/devextreme/esm/__internal/grids/pivot_grid/remote_store/m_remote_store.js","../node_modules/devextreme/esm/__internal/grids/pivot_grid/summary_display_modes/m_summary_display_modes.js","../node_modules/devextreme/esm/__internal/grids/pivot_grid/xmla_store/m_xmla_store.js","../node_modules/devextreme/esm/__internal/grids/pivot_grid/data_source/m_data_source_utils.js","../node_modules/devextreme/esm/__internal/grids/pivot_grid/data_source/m_data_source.js","../node_modules/devextreme/esm/__internal/grids/pivot_grid/field_chooser/const.js","../node_modules/devextreme/esm/__internal/grids/pivot_grid/field_chooser/m_field_chooser.js","../node_modules/devextreme/esm/__internal/grids/pivot_grid/sortable/m_sortable.js","../node_modules/devextreme/esm/__internal/grids/pivot_grid/field_chooser/dom.js","../node_modules/devextreme/esm/__internal/grids/pivot_grid/field_chooser/utils.js","../node_modules/devextreme/esm/__internal/grids/pivot_grid/field_chooser/m_field_chooser_base.js","../node_modules/devextreme/esm/__internal/grids/pivot_grid/const.js","../node_modules/devextreme/esm/__internal/grids/pivot_grid/m_widget_utils.js","../node_modules/devextreme/esm/__internal/m_draggable.js","../../../src/weekday.ts","../../../src/helpers.ts","../../../src/dateutil.ts","../../../src/iterresult.ts","../node_modules/rrule/node_modules/tslib/tslib.es6.mjs","../../../src/callbackiterresult.ts","../../../../src/nlp/i18n.ts","../../../../src/nlp/totext.ts","../../../../src/nlp/parsetext.ts","../../../src/types.ts","../../../../src/nlp/index.ts","../../../src/datetime.ts","../../../src/parseoptions.ts","../../../src/parsestring.ts","../../../src/datewithzone.ts","../../../src/optionstostring.ts","../../../src/cache.ts","../../../src/masks.ts","../../../../src/iterinfo/yearinfo.ts","../../../../src/iterinfo/index.ts","../../../../src/iterinfo/monthinfo.ts","../../../../src/iterinfo/easter.ts","../../../../src/iter/poslist.ts","../../../../src/iter/index.ts","../../../src/rrule.ts","../../../src/rrulestr.ts","../../../src/rruleset.ts","../../../src/iterset.ts","../node_modules/devextreme/esm/__internal/scheduler/m_recurrence.js","../node_modules/devextreme/esm/__internal/scheduler/m_recurrence_editor.js","../node_modules/devextreme/esm/__internal/scheduler/m_date_adapter.js","../node_modules/devextreme/esm/__internal/scheduler/m_utils_time_zone.js","../node_modules/devextreme/esm/__internal/scheduler/timezones/m_utils_timezones_data.js","../node_modules/devextreme/esm/__internal/scheduler/timezones/timezones_data.js","../node_modules/devextreme/esm/__internal/viz/chart_components/m_advanced_chart.js","../node_modules/devextreme/esm/viz/chart_components/tracker.js","../node_modules/devextreme/esm/__internal/viz/chart_components/rolling_stock.js","../node_modules/devextreme/esm/__internal/viz/chart_components/m_base_chart.js","../node_modules/devextreme/esm/viz/core/errors_warnings.js","../node_modules/devextreme/esm/viz/core/base_widget.utils.js","../node_modules/devextreme/esm/viz/core/layout.js","../node_modules/devextreme/esm/__internal/viz/core/m_base_widget.js","../node_modules/devextreme/esm/animation/frame.js","../node_modules/devextreme/esm/animation/easing.js","../node_modules/devextreme/esm/animation/fx.js","../node_modules/devextreme/esm/animation/position.js","../node_modules/devextreme/esm/animation/translator.js","../node_modules/devextreme/esm/color.js","../node_modules/devextreme/esm/core/action.js","../node_modules/devextreme/esm/core/class.js","../node_modules/devextreme/esm/core/options/option_manager.js","../node_modules/devextreme/esm/core/options/index.js","../node_modules/devextreme/esm/core/postponed_operations.js","../node_modules/devextreme/esm/core/component.js","../node_modules/devextreme/esm/core/component_registrator_callbacks.js","../node_modules/devextreme/esm/core/component_registrator.js","../node_modules/devextreme/esm/core/config.js","../node_modules/devextreme/esm/core/devices.js","../node_modules/devextreme/esm/core/dom_adapter.js","../node_modules/devextreme/esm/core/template_manager.js","../node_modules/devextreme/esm/core/dom_component.js","../node_modules/devextreme/esm/core/element.js","../node_modules/devextreme/esm/core/element_data.js","../node_modules/devextreme/esm/core/errors.js","../node_modules/devextreme/esm/core/events_strategy.js","../node_modules/devextreme/esm/core/guid.js","../node_modules/devextreme/esm/core/memorized_callbacks.js","../node_modules/devextreme/esm/core/options/utils.js","../node_modules/devextreme/esm/core/renderer_base.js","../node_modules/devextreme/esm/core/renderer.js","../node_modules/devextreme/esm/core/resize_observer.js","../node_modules/devextreme/esm/core/templates/bindable_template.js","../node_modules/devextreme/esm/core/templates/child_default_template.js","../node_modules/devextreme/esm/core/templates/empty_template.js","../node_modules/devextreme/esm/core/templates/function_template.js","../node_modules/devextreme/esm/core/templates/template_base.js","../node_modules/devextreme/esm/core/http_request.js","../node_modules/devextreme/esm/core/utils/ajax.js","../node_modules/devextreme/esm/core/utils/array.js","../node_modules/devextreme/esm/core/utils/array_compare.js","../node_modules/devextreme/esm/core/utils/browser.js","../node_modules/devextreme/esm/core/utils/call_once.js","../node_modules/devextreme/esm/core/utils/callbacks.js","../node_modules/devextreme/esm/core/utils/common.js","../node_modules/devextreme/esm/core/utils/comparator.js","../node_modules/devextreme/esm/core/utils/console.js","../node_modules/devextreme/esm/core/utils/data.js","../node_modules/devextreme/esm/renovation/ui/common/utils/date/toMilliseconds.js","../node_modules/devextreme/esm/core/utils/date.js","../node_modules/devextreme/esm/core/utils/date_serialization.js","../node_modules/devextreme/esm/core/utils/deferred.js","../node_modules/devextreme/esm/core/utils/dependency_injector.js","../node_modules/devextreme/esm/core/utils/dom.js","../node_modules/devextreme/esm/core/utils/error.js","../node_modules/devextreme/esm/core/utils/extend.js","../node_modules/devextreme/esm/core/utils/html_parser.js","../node_modules/devextreme/esm/core/utils/icon.js","../node_modules/devextreme/esm/core/utils/inflector.js","../node_modules/devextreme/esm/core/utils/iterator.js","../node_modules/devextreme/esm/core/utils/math.js","../node_modules/devextreme/esm/core/utils/object.js","../node_modules/devextreme/esm/core/utils/position.js","../node_modules/devextreme/esm/core/utils/public_component.js","../node_modules/devextreme/esm/core/utils/ready_callbacks.js","../node_modules/devextreme/esm/core/utils/resize_callbacks.js","../node_modules/devextreme/esm/core/utils/selection_filter.js","../node_modules/devextreme/esm/core/utils/shadow_dom.js","../node_modules/devextreme/esm/core/utils/size.js","../node_modules/devextreme/esm/core/utils/storage.js","../node_modules/devextreme/esm/core/utils/string.js","../node_modules/devextreme/esm/core/utils/style.js","../node_modules/devextreme/esm/core/utils/support.js","../node_modules/devextreme/esm/core/utils/svg.js","../node_modules/devextreme/esm/core/templates/template_engine_registry.js","../node_modules/devextreme/esm/core/templates/template_engines.js","../node_modules/devextreme/esm/core/templates/template.js","../node_modules/devextreme/esm/core/utils/template_manager.js","../node_modules/devextreme/esm/core/utils/type.js","../node_modules/devextreme/esm/core/utils/variable_wrapper.js","../node_modules/devextreme/esm/core/utils/version.js","../node_modules/devextreme/esm/core/utils/view_port.js","../node_modules/devextreme/esm/core/utils/window.js","../node_modules/devextreme/esm/core/version.js","../node_modules/devextreme/esm/data/abstract_store.js","../node_modules/devextreme/esm/data/array_query.js","../node_modules/devextreme/esm/data/array_store.js","../node_modules/devextreme/esm/data/array_utils.js","../node_modules/devextreme/esm/data/custom_store.js","../node_modules/devextreme/esm/core/utils/queue.js","../node_modules/devextreme/esm/data/data_source/operation_manager.js","../node_modules/devextreme/esm/data/data_source/data_source.js","../node_modules/devextreme/esm/data/data_source/utils.js","../node_modules/devextreme/esm/data/errors.js","../node_modules/devextreme/esm/data/query_adapters.js","../node_modules/devextreme/esm/data/remote_query.js","../node_modules/devextreme/esm/data/query_implementation.js","../node_modules/devextreme/esm/data/query.js","../node_modules/devextreme/esm/data/store_helper.js","../node_modules/devextreme/esm/data/utils.js","../node_modules/devextreme/esm/ui/collection/data_controller.js","../node_modules/devextreme/esm/data_helper.js","../node_modules/devextreme/esm/events/utils/event_nodes_disposing.js","../node_modules/devextreme/esm/events/click.js","../node_modules/devextreme/esm/events/contextmenu.js","../node_modules/devextreme/esm/events/core/emitter.feedback.js","../node_modules/devextreme/esm/events/core/emitter.js","../node_modules/devextreme/esm/events/core/emitter_registrator.js","../node_modules/devextreme/esm/events/core/event_registrator.js","../node_modules/devextreme/esm/events/core/event_registrator_callbacks.js","../node_modules/devextreme/esm/events/core/hook_touch_props.js","../node_modules/devextreme/esm/events/core/events_engine.js","../node_modules/devextreme/esm/events/core/keyboard_processor.js","../node_modules/devextreme/esm/events/core/wheel.js","../node_modules/devextreme/esm/events/double_click.js","../node_modules/devextreme/esm/events/drag.js","../node_modules/devextreme/esm/events/gesture/emitter.gesture.js","../node_modules/devextreme/esm/events/gesture/emitter.gesture.scroll.js","../node_modules/devextreme/esm/events/gesture/swipeable.js","../node_modules/devextreme/esm/events/hold.js","../node_modules/devextreme/esm/events/hover.js","../node_modules/devextreme/esm/events/index.js","../node_modules/devextreme/esm/events/pointer/base.js","../node_modules/devextreme/esm/events/pointer/touch.js","../node_modules/devextreme/esm/events/pointer/observer.js","../node_modules/devextreme/esm/events/pointer/mouse.js","../node_modules/devextreme/esm/events/pointer/mouse_and_touch.js","../node_modules/devextreme/esm/events/pointer.js","../node_modules/devextreme/esm/events/remove.js","../node_modules/devextreme/esm/events/short.js","../node_modules/devextreme/esm/events/swipe.js","../node_modules/devextreme/esm/events/utils/add_namespace.js","../node_modules/devextreme/esm/events/utils/index.js","../node_modules/devextreme/esm/events/visibility_change.js","../node_modules/devextreme/esm/exporter/excel_format_converter.js","../node_modules/devextreme/esm/exporter/excel/excel.tag_helper.js","../node_modules/devextreme/esm/exporter/excel/excel.cell_alignment_helper.js","../node_modules/devextreme/esm/exporter/excel/excel.color_helper.js","../node_modules/devextreme/esm/exporter/excel/excel.pattern_fill_helper.js","../node_modules/devextreme/esm/exporter/excel/excel.fill_helper.js","../node_modules/devextreme/esm/exporter/excel/excel.font_helper.js","../node_modules/devextreme/esm/exporter/excel/excel.cell_format_helper.js","../node_modules/devextreme/esm/exporter/excel/excel.number_format_helper.js","../node_modules/devextreme/esm/exporter/excel/excel.file.js","../node_modules/devextreme/esm/exporter/excel_creator.js","../node_modules/devextreme/esm/exporter/image_creator.js","../node_modules/devextreme/esm/exporter/svg_creator.js","../node_modules/devextreme/esm/exporter/pdf_creator.js","../node_modules/devextreme/esm/exporter.js","../node_modules/devextreme/esm/exporter/file_saver.js","../node_modules/devextreme/esm/format_helper.js","../node_modules/devextreme/esm/localization.js","../node_modules/devextreme/esm/localization/cldr-data/parent_locales.js","../node_modules/devextreme/esm/localization/parentLocale.js","../node_modules/devextreme/esm/localization/core.js","../node_modules/devextreme/esm/localization/currency.js","../node_modules/devextreme/esm/localization/cldr-data/first_day_of_week_data.js","../node_modules/devextreme/esm/localization/intl/date.js","../node_modules/devextreme/esm/localization/date.js","../node_modules/devextreme/esm/localization/default_date_names.js","../node_modules/devextreme/esm/localization/language_codes.js","../node_modules/devextreme/esm/localization/ldml/date.format.js","../node_modules/devextreme/esm/localization/ldml/date.formatter.js","../node_modules/devextreme/esm/localization/ldml/date.parser.js","../node_modules/devextreme/esm/localization/ldml/number.js","../node_modules/devextreme/esm/localization/message.js","../node_modules/devextreme/esm/localization/default_messages.js","../node_modules/devextreme/esm/localization/open_xml_currency_format.js","../node_modules/devextreme/esm/localization/cldr-data/accounting_formats.js","../node_modules/devextreme/esm/localization/intl/number.js","../node_modules/devextreme/esm/localization/number.js","../node_modules/devextreme/esm/localization/utils.js","../node_modules/devextreme/esm/renovation/common/config_context.js","../node_modules/devextreme/esm/core/inferno_renderer.js","../node_modules/devextreme/esm/renovation/component_wrapper/common/template_wrapper.js","../node_modules/devextreme/esm/renovation/component_wrapper/utils/utils.js","../node_modules/devextreme/esm/renovation/utils/shallow_equals.js","../node_modules/devextreme/esm/renovation/component_wrapper/utils/update_props_immutable.js","../node_modules/devextreme/esm/renovation/component_wrapper/common/component.js","../node_modules/devextreme/esm/renovation/ui/common/icon.js","../node_modules/devextreme/esm/renovation/ui/common/ink_ripple.js","../node_modules/devextreme/esm/renovation/ui/button.js","../node_modules/devextreme/esm/renovation/ui/common/base_props.js","../node_modules/devextreme/esm/renovation/ui/common/utils/get_updated_options.js","../node_modules/devextreme/esm/renovation/ui/common/dom_component_wrapper.js","../node_modules/devextreme/esm/renovation/ui/common/utils/scroll/getMemoizeScrollTo.js","../node_modules/devextreme/esm/renovation/common/config_provider.js","../node_modules/devextreme/esm/renovation/ui/common/widget.js","../node_modules/devextreme/esm/renovation/utils/resolve_rtl.js","../node_modules/devextreme/esm/renovation/ui/overlays/validation_message.js","../node_modules/devextreme/esm/renovation/ui/editors/common/editor.js","../node_modules/devextreme/esm/renovation/ui/scheduler/timeZoneCalculator/types.js","../node_modules/devextreme/esm/renovation/ui/scroll_view/common/consts.js","../node_modules/devextreme/esm/renovation/ui/scroll_view/utils/get_relative_offset.js","../node_modules/devextreme/esm/renovation/ui/scroll_view/utils/scroll_direction.js","../node_modules/devextreme/esm/renovation/utils/combine_classes.js","../node_modules/devextreme/esm/renovation/utils/get_computed_style.js","../node_modules/devextreme/esm/renovation/utils/subscribe_to_event.js","../node_modules/devextreme/esm/renovation/utils/type_conversion.js","../node_modules/devextreme/esm/ui/accordion.js","../node_modules/devextreme/esm/ui/action_sheet.js","../node_modules/devextreme/esm/ui/autocomplete.js","../node_modules/devextreme/esm/ui/box.js","../node_modules/devextreme/esm/renovation/component_wrapper/button.js","../node_modules/devextreme/esm/renovation/ui/button.j.js","../node_modules/devextreme/esm/ui/button.js","../node_modules/devextreme/esm/ui/button_group.js","../node_modules/devextreme/esm/ui/calendar/ui.calendar.navigator.js","../node_modules/devextreme/esm/ui/calendar/ui.calendar.base_view.js","../node_modules/devextreme/esm/ui/calendar/ui.calendar.views.js","../node_modules/devextreme/esm/ui/calendar/ui.calendar.js","../node_modules/devextreme/esm/ui/calendar.js","../node_modules/devextreme/esm/renovation/component_wrapper/editors/editor.js","../node_modules/devextreme/esm/renovation/utils/dom.js","../node_modules/devextreme/esm/renovation/component_wrapper/editors/check_box.js","../node_modules/devextreme/esm/renovation/ui/editors/check_box/utils.js","../node_modules/devextreme/esm/renovation/ui/editors/check_box/check_box_icon.js","../node_modules/devextreme/esm/renovation/ui/editors/check_box/check_box.js","../node_modules/devextreme/esm/renovation/ui/editors/check_box/check_box.j.js","../node_modules/devextreme/esm/ui/check_box.js","../node_modules/devextreme/esm/ui/collection/item.js","../node_modules/devextreme/esm/ui/collection/ui.collection_widget.base.js","../node_modules/devextreme/esm/ui/collection/ui.collection_widget.edit.js","../node_modules/devextreme/esm/ui/collection/ui.collection_widget.edit.strategy.js","../node_modules/devextreme/esm/ui/collection/ui.collection_widget.edit.strategy.plain.js","../node_modules/devextreme/esm/ui/collection/ui.collection_widget.live_update.js","../node_modules/devextreme/esm/ui/color_box/color_box.js","../node_modules/devextreme/esm/ui/color_box.js","../node_modules/devextreme/esm/ui/color_box/color_view.js","../node_modules/devextreme/esm/ui/context_menu.js","../node_modules/devextreme/esm/ui/context_menu/ui.context_menu.js","../node_modules/devextreme/esm/ui/context_menu/ui.menu_base.edit.strategy.js","../node_modules/devextreme/esm/ui/context_menu/ui.menu_base.js","../node_modules/devextreme/esm/ui/data_grid.js","../node_modules/devextreme/esm/ui/date_box/ui.date_box.mask.parts.js","../node_modules/devextreme/esm/ui/date_box/ui.date_utils.js","../node_modules/devextreme/esm/ui/date_box/ui.date_box.strategy.js","../node_modules/devextreme/esm/ui/date_box/ui.date_box.strategy.calendar.js","../node_modules/devextreme/esm/ui/date_box/ui.date_view_roller.js","../node_modules/devextreme/esm/renovation/ui/scroll_view/utils/convert_location.js","../node_modules/devextreme/esm/ui/date_box/ui.date_view.js","../node_modules/devextreme/esm/ui/date_box/ui.date_box.strategy.date_view.js","../node_modules/devextreme/esm/ui/date_box/ui.date_box.strategy.native.js","../node_modules/devextreme/esm/ui/date_box/ui.time_view.js","../node_modules/devextreme/esm/ui/date_box/ui.date_box.strategy.calendar_with_time.js","../node_modules/devextreme/esm/ui/date_box/ui.date_box.strategy.list.js","../node_modules/devextreme/esm/ui/date_box/ui.date_box.base.js","../node_modules/devextreme/esm/ui/date_box/ui.date_box.mask.js","../node_modules/devextreme/esm/ui/date_box/ui.date_box.js","../node_modules/devextreme/esm/ui/date_box.js","../node_modules/devextreme/esm/animation/presets/presets.js","../node_modules/devextreme/esm/animation/transition_executor/transition_executor.js","../node_modules/devextreme/esm/ui/defer_rendering.js","../node_modules/devextreme/esm/ui/diagram/diagram.importer.js","../node_modules/devextreme/esm/ui/diagram/diagram.bar.js","../node_modules/devextreme/esm/ui/diagram/ui.diagram.panel.js","../node_modules/devextreme/esm/ui/diagram/ui.diagram.menu_helper.js","../node_modules/devextreme/esm/ui/diagram/ui.diagram.toolbar.js","../node_modules/devextreme/esm/ui/diagram/diagram.commands_manager.js","../node_modules/devextreme/esm/ui/diagram/ui.diagram.main_toolbar.js","../node_modules/devextreme/esm/ui/diagram/ui.diagram.history_toolbar.js","../node_modules/devextreme/esm/ui/diagram/ui.diagram.view_toolbar.js","../node_modules/devextreme/esm/ui/diagram/ui.diagram.properties_toolbar.js","../node_modules/devextreme/esm/ui/diagram/ui.diagram.context_menu.js","../node_modules/devextreme/esm/ui/diagram/ui.diagram.context_toolbox.js","../node_modules/devextreme/esm/ui/diagram/ui.diagram.dialogs.js","../node_modules/devextreme/esm/ui/diagram/ui.diagram.scroll_view.js","../node_modules/devextreme/esm/ui/diagram/diagram.toolbox_manager.js","../node_modules/devextreme/esm/ui/diagram/ui.diagram.floating_panel.js","../node_modules/devextreme/esm/ui/diagram/ui.diagram.toolbox.js","../node_modules/devextreme/esm/ui/diagram/ui.diagram.properties_panel.js","../node_modules/devextreme/esm/ui/diagram/diagram.options_update.js","../node_modules/devextreme/esm/ui/diagram/ui.diagram.dialog_manager.js","../node_modules/devextreme/esm/ui/diagram/diagram.items_option.js","../node_modules/devextreme/esm/ui/diagram/diagram.nodes_option.js","../node_modules/devextreme/esm/ui/diagram/diagram.edges_option.js","../node_modules/devextreme/esm/ui/diagram/ui.diagram.js","../node_modules/devextreme/esm/ui/diagram.js","../node_modules/devextreme/esm/ui/dialog.js","../node_modules/devextreme/esm/ui/draggable.js","../node_modules/devextreme/esm/ui/drawer.js","../node_modules/devextreme/esm/ui/drawer/ui.drawer.animation.js","../node_modules/devextreme/esm/ui/drawer/ui.drawer.rendering.strategy.js","../node_modules/devextreme/esm/ui/drawer/ui.drawer.rendering.strategy.push.js","../node_modules/devextreme/esm/ui/drawer/ui.drawer.rendering.strategy.shrink.js","../node_modules/devextreme/esm/ui/drawer/ui.drawer.rendering.strategy.overlap.js","../node_modules/devextreme/esm/ui/drawer/ui.drawer.js","../node_modules/devextreme/esm/ui/drop_down_box.js","../node_modules/devextreme/esm/ui/drop_down_button.js","../node_modules/devextreme/esm/ui/drop_down_editor/ui.drop_down_button.js","../node_modules/devextreme/esm/ui/drop_down_editor/ui.drop_down_editor.js","../node_modules/devextreme/esm/ui/drop_down_editor/ui.drop_down_list.js","../node_modules/devextreme/esm/ui/drop_down_editor/utils.js","../node_modules/devextreme/esm/ui/editor/editor.js","../node_modules/devextreme/esm/ui/editor/ui.data_expression.js","../node_modules/devextreme/esm/ui/notify.js","../node_modules/devextreme/esm/ui/file_manager/ui.file_manager.common.js","../node_modules/devextreme/esm/file_management/utils.js","../node_modules/devextreme/esm/file_management/file_system_item.js","../node_modules/devextreme/esm/file_management/provider_base.js","../node_modules/devextreme/esm/file_management/error.js","../node_modules/devextreme/esm/file_management/error_codes.js","../node_modules/devextreme/esm/file_management/object_provider.js","../node_modules/devextreme/esm/file_management/remote_provider.js","../node_modules/devextreme/esm/file_management/custom_provider.js","../node_modules/devextreme/esm/ui/file_manager/file_items_controller.js","../node_modules/devextreme/esm/ui/file_manager/ui.file_manager.command_manager.js","../node_modules/devextreme/esm/ui/file_manager/ui.file_manager.context_menu.js","../node_modules/devextreme/esm/ui/file_manager/ui.file_manager.file_actions_button.js","../node_modules/devextreme/esm/ui/file_manager/ui.file_manager.files_tree_view.js","../node_modules/devextreme/esm/ui/data_grid/ui.data_grid.js","../node_modules/devextreme/esm/ui/file_manager/ui.file_manager.item_list.js","../node_modules/devextreme/esm/ui/file_manager/ui.file_manager.item_list.details.js","../node_modules/devextreme/esm/ui/file_manager/ui.file_manager.items_list.thumbnails.list_box.js","../node_modules/devextreme/esm/ui/file_manager/ui.file_manager.item_list.thumbnails.js","../node_modules/devextreme/esm/ui/file_manager/ui.file_manager.toolbar.js","../node_modules/devextreme/esm/ui/file_manager/ui.file_manager.notification.progress_panel.js","../node_modules/devextreme/esm/ui/file_manager/ui.file_manager.notification_manager.js","../node_modules/devextreme/esm/ui/file_manager/ui.file_manager.notification.js","../node_modules/devextreme/esm/ui/file_manager/ui.file_manager.dialog.js","../node_modules/devextreme/esm/ui/file_manager/ui.file_manager.dialog.name_editor.js","../node_modules/devextreme/esm/ui/file_manager/ui.file_manager.dialog.folder_chooser.js","../node_modules/devextreme/esm/ui/file_manager/ui.file_manager.dialog.delete_item.js","../node_modules/devextreme/esm/ui/file_manager/ui.file_manager.dialog_manager.js","../node_modules/devextreme/esm/ui/file_manager/ui.file_manager.file_uploader.js","../node_modules/devextreme/esm/ui/file_manager/ui.file_manager.messages.js","../node_modules/devextreme/esm/ui/file_manager/ui.file_manager.editing.js","../node_modules/devextreme/esm/ui/file_manager/ui.file_manager.breadcrumbs.js","../node_modules/devextreme/esm/ui/file_manager/ui.file_manager.adaptivity.js","../node_modules/devextreme/esm/ui/file_manager/ui.file_manager.js","../node_modules/devextreme/esm/ui/file_manager.js","../node_modules/devextreme/esm/ui/file_uploader.js","../node_modules/devextreme/esm/ui/filter_builder/filter_builder.js","../node_modules/devextreme/esm/ui/filter_builder.js","../node_modules/devextreme/esm/ui/filter_builder/between.js","../node_modules/devextreme/esm/ui/filter_builder/ui.filter_operations_dictionary.js","../node_modules/devextreme/esm/ui/filter_builder/utils.js","../node_modules/devextreme/esm/ui/form/ui.form.items_runtime_info.js","../node_modules/devextreme/esm/ui/form/ui.form.item_option_action.js","../node_modules/devextreme/esm/ui/form/ui.form.utils.js","../node_modules/devextreme/esm/ui/form/ui.form.item_options_actions.js","../node_modules/devextreme/esm/ui/form/constants.js","../node_modules/devextreme/esm/ui/form/ui.form.layout_manager.utils.js","../node_modules/devextreme/esm/ui/form/components/label.js","../node_modules/devextreme/esm/ui/form/components/field_item.js","../node_modules/devextreme/esm/ui/form/components/button_item.js","../node_modules/devextreme/esm/ui/form/components/empty_item.js","../node_modules/devextreme/esm/ui/form/ui.form.layout_manager.js","../node_modules/devextreme/esm/ui/form/ui.form.js","../node_modules/devextreme/esm/ui/form.js","../node_modules/devextreme/esm/ui/gallery.js","../node_modules/devextreme/esm/ui/gantt/ui.gantt.model_changes_listener.js","../node_modules/devextreme/esm/ui/gantt/ui.gantt.data.option.js","../node_modules/devextreme/esm/ui/gantt/ui.gantt.actions.js","../node_modules/devextreme/esm/ui/gantt/ui.gantt.cache.js","../node_modules/devextreme/esm/ui/gantt/ui.gantt.helper.js","../node_modules/devextreme/esm/ui/gantt/ui.gantt.custom_fields.js","../node_modules/devextreme/esm/ui/gantt/ui.gantt.dialogs.js","../node_modules/devextreme/esm/ui/gantt/ui.gantt.export_helper.js","../node_modules/devextreme/esm/ui/gantt/ui.gantt.mapping_helper.js","../node_modules/devextreme/esm/ui/gantt/ui.gantt.size_helper.js","../node_modules/devextreme/esm/ui/gantt/ui.gantt.templates.js","../node_modules/devextreme/esm/ui/gantt/ui.gantt.bars.js","../node_modules/devextreme/esm/ui/gantt/ui.gantt.treelist.nodes_state.js","../node_modules/devextreme/esm/ui/gantt/ui.gantt.treelist.js","../node_modules/devextreme/esm/ui/gantt/ui.gantt.task.area.container.js","../node_modules/devextreme/esm/ui/gantt/ui.gantt.view.js","../node_modules/devextreme/esm/ui/gantt/gantt_importer.js","../node_modules/devextreme/esm/ui/gantt/ui.gantt.data_changes_processing_helper.js","../node_modules/devextreme/esm/ui/gantt/ui.gantt.js","../node_modules/devextreme/esm/ui/gantt.js","../node_modules/devextreme/esm/ui/grid_core/ui.grid_core.utils.js","../node_modules/devextreme/esm/ui/hierarchical_collection/ui.data_converter.js","../node_modules/devextreme/esm/ui/hierarchical_collection/ui.data_adapter.js","../node_modules/devextreme/esm/ui/hierarchical_collection/ui.hierarchical_collection_widget.js","../node_modules/devextreme/esm/ui/html_editor/themes/base.js","../node_modules/devextreme/esm/ui/html_editor/quill_importer.js","../node_modules/devextreme/esm/ui/html_editor/formats/image.js","../node_modules/devextreme/esm/ui/html_editor/formats/link.js","../node_modules/devextreme/esm/ui/html_editor/formats/font.js","../node_modules/devextreme/esm/ui/html_editor/formats/size.js","../node_modules/devextreme/esm/ui/html_editor/formats/align.js","../node_modules/devextreme/esm/ui/html_editor/modules/base.js","../node_modules/devextreme/esm/ui/html_editor/modules/empty.js","../node_modules/devextreme/esm/ui/html_editor/modules/widget_collector.js","../node_modules/devextreme/esm/ui/html_editor/utils/table_helper.js","../node_modules/devextreme/esm/ui/html_editor/utils/image_uploader_helper.js","../node_modules/devextreme/esm/ui/html_editor/utils/toolbar_helper.js","../node_modules/devextreme/esm/ui/html_editor/modules/toolbar.js","../node_modules/devextreme/esm/ui/html_editor/modules/dropImage.js","../node_modules/devextreme/esm/ui/html_editor/modules/popup.js","../node_modules/devextreme/esm/ui/html_editor/formats/variable.js","../node_modules/devextreme/esm/ui/html_editor/modules/variables.js","../node_modules/devextreme/esm/ui/html_editor/modules/resizing.js","../node_modules/devextreme/esm/ui/html_editor/modules/tableResizing.js","../node_modules/devextreme/esm/ui/html_editor/modules/tableContextMenu.js","../node_modules/devextreme/esm/ui/html_editor/modules/imageUpload.js","../node_modules/devextreme/esm/ui/html_editor/modules/imageCursor.js","../node_modules/devextreme/esm/ui/html_editor/utils/templates_storage.js","../node_modules/devextreme/esm/ui/html_editor/formats/mention.js","../node_modules/devextreme/esm/ui/html_editor/modules/mentions.js","../node_modules/devextreme/esm/ui/html_editor/quill_registrator.js","../node_modules/devextreme/esm/ui/html_editor/converterController.js","../node_modules/devextreme/esm/ui/html_editor/converters/delta.js","../node_modules/devextreme/esm/ui/html_editor/matchers/wordLists.js","../node_modules/devextreme/esm/ui/html_editor/ui/formDialog.js","../node_modules/devextreme/esm/ui/html_editor/ui.html_editor.js","../node_modules/devextreme/esm/ui/html_editor.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.reorder.js","../node_modules/devextreme/esm/ui/list.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.context.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.switchable.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.switchable.button.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.switchable.slide.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.static.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.swipe.js","../node_modules/devextreme/esm/ui/list/modules/search.js","../node_modules/devextreme/esm/ui/radio_group/radio_button.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.selection.js","../node_modules/devextreme/esm/ui/list/item.js","../node_modules/devextreme/esm/renovation/ui/scroll_view/utils/get_element_style.js","../node_modules/devextreme/esm/ui/list/ui.list.base.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator_menu_helper.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator_registry.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.strategy.grouped.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.provider.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.search.js","../node_modules/devextreme/esm/ui/list_light.js","../node_modules/devextreme/esm/ui/load_indicator.js","../node_modules/devextreme/esm/ui/load_panel.js","../node_modules/devextreme/esm/ui/lookup.js","../node_modules/devextreme/esm/ui/map/provider.js","../node_modules/devextreme/esm/ui/map/provider.google_static.js","../node_modules/devextreme/esm/ui/map/provider.dynamic.js","../node_modules/devextreme/esm/ui/map/provider.dynamic.google.js","../node_modules/devextreme/esm/ui/map/provider.dynamic.bing.js","../node_modules/devextreme/esm/ui/map.js","../node_modules/devextreme/esm/ui/menu.js","../node_modules/devextreme/esm/ui/menu/ui.submenu.js","../node_modules/devextreme/esm/ui/menu/ui.menu.js","../node_modules/devextreme/esm/ui/multi_view/ui.multi_view.animation.js","../node_modules/devextreme/esm/ui/multi_view.js","../node_modules/devextreme/esm/ui/number_box/utils.js","../node_modules/devextreme/esm/ui/number_box/number_box.caret.js","../node_modules/devextreme/esm/ui/number_box/number_box.spin.js","../node_modules/devextreme/esm/ui/number_box/number_box.spins.js","../node_modules/devextreme/esm/ui/number_box/number_box.base.js","../node_modules/devextreme/esm/ui/number_box/number_box.mask.js","../node_modules/devextreme/esm/ui/number_box/number_box.js","../node_modules/devextreme/esm/ui/number_box.js","../node_modules/devextreme/esm/ui/overlay/overlay_position_controller.js","../node_modules/devextreme/esm/mobile/hide_callback.js","../node_modules/devextreme/esm/ui/overlay/ui.overlay.js","../node_modules/devextreme/esm/ui/overlay/utils.js","../node_modules/devextreme/esm/ui/overlay/z_index.js","../node_modules/devextreme/esm/__internal/grids/pivot_grid/chart_integration/m_chart_integration.js","../node_modules/devextreme/esm/__internal/grids/pivot_grid/area_item/m_area_item.js","../node_modules/devextreme/esm/__internal/grids/pivot_grid/data_area/m_data_area.js","../node_modules/devextreme/esm/__internal/grids/pivot_grid/data_controller/m_data_controller.js","../node_modules/devextreme/esm/__internal/grids/pivot_grid/export/m_export.js","../node_modules/devextreme/esm/__internal/grids/pivot_grid/fields_area/m_fields_area.js","../node_modules/devextreme/esm/__internal/grids/pivot_grid/headers_area/m_headers_area.js","../node_modules/devextreme/esm/__internal/grids/pivot_grid/m_widget.js","../node_modules/devextreme/esm/ui/pivot_grid.js","../node_modules/devextreme/esm/ui/pivot_grid/ui.pivot_grid.js","../node_modules/devextreme/esm/ui/pivot_grid/ui.pivot_grid.field_chooser.js","../node_modules/devextreme/esm/ui/pivot_grid_field_chooser.js","../node_modules/devextreme/esm/ui/popover/ui.popover.full.js","../node_modules/devextreme/esm/ui/popover.js","../node_modules/devextreme/esm/renovation/ui/resizable/utils.js","../node_modules/devextreme/esm/ui/popover/popover_position_controller.js","../node_modules/devextreme/esm/ui/popover/ui.popover.js","../node_modules/devextreme/esm/ui/popup/ui.popup.full.js","../node_modules/devextreme/esm/ui/popup.js","../node_modules/devextreme/esm/ui/popup/popup_drag.js","../node_modules/devextreme/esm/ui/popup/popup_position_controller.js","../node_modules/devextreme/esm/ui/popup/ui.popup.js","../node_modules/devextreme/esm/ui/progress_bar.js","../node_modules/devextreme/esm/ui/radio_group/radio_group.js","../node_modules/devextreme/esm/ui/radio_group.js","../node_modules/devextreme/esm/ui/range_slider.js","../node_modules/devextreme/esm/ui/recurrence_editor.js","../node_modules/devextreme/esm/ui/resizable.js","../node_modules/devextreme/esm/ui/responsive_box.js","../node_modules/devextreme/esm/renovation/ui/scheduler/appointment/utils/getAppointmentTakesAllDay.js","../node_modules/devextreme/esm/renovation/ui/scheduler/model/untyped_getCurrentView.js","../node_modules/devextreme/esm/renovation/ui/scheduler/timeZoneCalculator/utils.js","../node_modules/devextreme/esm/ui/scheduler/utils.timeZone.js","../node_modules/devextreme/esm/__internal/scheduler/m_expression_utils.js","../node_modules/devextreme/esm/__internal/scheduler/appointments/data_provider/m_utils.js","../node_modules/devextreme/esm/__internal/scheduler/m_appointment_adapter.js","../node_modules/devextreme/esm/renovation/ui/scheduler/utils/recurrence/excludeFromRecurrence.js","../node_modules/devextreme/esm/__internal/scheduler/m_classes.js","../node_modules/devextreme/esm/__internal/scheduler/m_constants.js","../node_modules/devextreme/esm/renovation/ui/scheduler/resources/hasResourceValue.js","../node_modules/devextreme/esm/__internal/scheduler/resources/m_utils.js","../node_modules/devextreme/esm/renovation/ui/scheduler/consts.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/utils.js","../node_modules/devextreme/esm/renovation/ui/scheduler/view_model/to_test/views/utils/const.js","../node_modules/devextreme/esm/renovation/ui/scheduler/view_model/to_test/views/utils/base.js","../node_modules/devextreme/esm/data/data_source.js","../node_modules/devextreme/esm/renovation/ui/scheduler/utils/semaphore/semaphore.js","../node_modules/devextreme/esm/__internal/scheduler/appointment_popup/m_form.js","../node_modules/devextreme/esm/renovation/ui/scheduler/appointment_edit_form/popup_config.js","../node_modules/devextreme/esm/__internal/scheduler/m_loading.js","../node_modules/devextreme/esm/__internal/scheduler/appointment_popup/m_popup.js","../node_modules/devextreme/esm/renovation/ui/scheduler/utils/filtering/getDatesWithoutTime.js","../node_modules/devextreme/esm/renovation/ui/scheduler/utils/filtering/remote.js","../node_modules/devextreme/esm/__internal/scheduler/appointments/data_provider/m_appointment_data_source.js","../node_modules/devextreme/esm/__internal/scheduler/appointments/data_provider/m_appointment_filter.js","../node_modules/devextreme/esm/__internal/scheduler/appointments/data_provider/m_appointment_data_provider.js","../node_modules/devextreme/esm/ui/tooltip/ui.tooltip.js","../node_modules/devextreme/esm/__internal/scheduler/appointments/m_appointment.js","../node_modules/devextreme/esm/__internal/scheduler/appointments/m_appointment_layout.js","../node_modules/devextreme/esm/__internal/scheduler/appointments/resizing/m_utils.js","../node_modules/devextreme/esm/__internal/scheduler/appointments/resizing/m_core.js","../node_modules/devextreme/esm/__internal/scheduler/appointments/m_appointment_collection.js","../node_modules/devextreme/esm/renovation/ui/scheduler/appointment/utils.js","../node_modules/devextreme/esm/renovation/ui/scheduler/appointment/content/details/layout.js","../node_modules/devextreme/esm/renovation/ui/scheduler/appointment/content/title/layout.js","../node_modules/devextreme/esm/renovation/ui/scheduler/appointment/content/layout.js","../node_modules/devextreme/esm/renovation/ui/scheduler/resources/utils.js","../node_modules/devextreme/esm/renovation/ui/scheduler/appointments_context.js","../node_modules/devextreme/esm/renovation/ui/scheduler/appointment/appointment.js","../node_modules/devextreme/esm/renovation/ui/scheduler/appointment/overflow_indicator/layout.js","../node_modules/devextreme/esm/renovation/ui/scheduler/appointment/overflow_indicator/utils.js","../node_modules/devextreme/esm/renovation/ui/scheduler/appointment/layout.js","../node_modules/devextreme/esm/renovation/ui/scheduler/appointment/layout.j.js","../node_modules/devextreme/esm/__internal/scheduler/m_utils.js","../node_modules/devextreme/esm/__internal/scheduler/appointments/m_render.js","../node_modules/devextreme/esm/__internal/scheduler/header/m_calendar.js","../node_modules/devextreme/esm/__internal/scheduler/header/m_date_navigator.js","../node_modules/devextreme/esm/__internal/scheduler/header/m_utils.js","../node_modules/devextreme/esm/__internal/scheduler/header/m_view_switcher.js","../node_modules/devextreme/esm/__internal/scheduler/header/m_header.js","../node_modules/devextreme/esm/__internal/scheduler/appointments/m_cell_position_calculator.js","../node_modules/devextreme/esm/__internal/scheduler/appointments/m_text_utils.js","../node_modules/devextreme/esm/__internal/scheduler/appointments/m_settings_generator.js","../node_modules/devextreme/esm/__internal/scheduler/appointments/rendering_strategies/m_appointments_positioning_strategy_base.js","../node_modules/devextreme/esm/__internal/scheduler/appointments/rendering_strategies/m_appointments_positioning_strategy_adaptive.js","../node_modules/devextreme/esm/__internal/scheduler/appointments/rendering_strategies/m_strategy_base.js","../node_modules/devextreme/esm/__internal/scheduler/appointments/rendering_strategies/m_strategy_agenda.js","../node_modules/devextreme/esm/renovation/ui/scheduler/view_model/appointments/utils/getSkippedHoursInRange.js","../node_modules/devextreme/esm/__internal/scheduler/appointments/rendering_strategies/m_strategy_horizontal.js","../node_modules/devextreme/esm/__internal/scheduler/workspaces/helpers/m_position_helper.js","../node_modules/devextreme/esm/__internal/scheduler/appointments/rendering_strategies/m_strategy_horizontal_month_line.js","../node_modules/devextreme/esm/__internal/scheduler/appointments/rendering_strategies/m_strategy_horizontal_month.js","../node_modules/devextreme/esm/__internal/scheduler/appointments/rendering_strategies/m_strategy_vertical.js","../node_modules/devextreme/esm/__internal/scheduler/appointments/m_view_model_generator.js","../node_modules/devextreme/esm/__internal/scheduler/appointments/rendering_strategies/m_strategy_week.js","../node_modules/devextreme/esm/__internal/scheduler/m_appointments_layout_manager.js","../node_modules/devextreme/esm/renovation/ui/scheduler/model/utils.js","../node_modules/devextreme/esm/__internal/scheduler/m_data_structures.js","../node_modules/devextreme/esm/__internal/scheduler/m_compact_appointments_helper.js","../node_modules/devextreme/esm/__internal/scheduler/m_subscribes.js","../node_modules/devextreme/esm/__internal/scheduler/resources/m_agenda_resource_processor.js","../node_modules/devextreme/esm/__internal/scheduler/tooltip_strategies/m_tooltip_strategy_base.js","../node_modules/devextreme/esm/__internal/scheduler/tooltip_strategies/m_desktop_tooltip_strategy.js","../node_modules/devextreme/esm/__internal/scheduler/tooltip_strategies/m_mobile_tooltip_strategy.js","../node_modules/devextreme/esm/renovation/ui/scheduler/view_model/to_test/views/utils/agenda.js","../node_modules/devextreme/esm/__internal/scheduler/m_table_creator.js","../node_modules/devextreme/esm/renovation/component_wrapper/scheduler/date_table.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/ordinary_cell.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/header_cell.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/virtual_cell.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/row.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/virtual_row.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/table.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/const.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/cell.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/date_table/cell.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/cell.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/table_body.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/layout_props.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/table.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/table.j.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/title.js","../node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/title.j.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/date_table/table_body.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/date_table/layout.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/date_table/layout.j.js","../node_modules/devextreme/esm/renovation/component_wrapper/scheduler/group_panel.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/group_panel/group_panel_props.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/group_panel/cell_props.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/group_panel/vertical/cell.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/group_panel/row_props.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/group_panel/vertical/row.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/group_panel/group_panel_layout_props.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/group_panel/vertical/layout.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/group_panel/horizontal/cell.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/group_panel/horizontal/row.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/group_panel/horizontal/layout.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/group_panel/group_panel.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/group_panel/group_panel.j.js","../node_modules/devextreme/esm/renovation/component_wrapper/scheduler/header_panel.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/header_panel/date_header/dateHeaderText.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/header_panel/date_header/cell.js","../node_modules/devextreme/esm/renovation/utils/getThemeType.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/header_panel/date_header/layout.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/header_panel/layout.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/header_panel/layout.j.js","../node_modules/devextreme/esm/renovation/component_wrapper/scheduler/time_panel.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/time_panel/cell.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/time_panel/layout.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/time_panel/layout.j.js","../node_modules/devextreme/esm/__internal/scheduler/base/m_widget_observer.js","../node_modules/devextreme/esm/__internal/scheduler/m_appointment_drag_behavior.js","../node_modules/devextreme/esm/__internal/scheduler/utils/is_scheduler_component.js","../node_modules/devextreme/esm/__internal/scheduler/shaders/m_current_time_shader.js","../node_modules/devextreme/esm/__internal/scheduler/shaders/m_current_time_shader_vertical.js","../node_modules/devextreme/esm/__internal/scheduler/workspaces/m_cache.js","../node_modules/devextreme/esm/__internal/scheduler/workspaces/m_cells_selection_controller.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/base/utils.js","../node_modules/devextreme/esm/__internal/scheduler/workspaces/m_cells_selection_state.js","../node_modules/devextreme/esm/__internal/scheduler/workspaces/m_virtual_scrolling.js","../node_modules/devextreme/esm/__internal/scheduler/workspaces/m_work_space_grouped_strategy_horizontal.js","../node_modules/devextreme/esm/__internal/scheduler/workspaces/m_work_space_grouped_strategy_vertical.js","../node_modules/devextreme/esm/renovation/ui/scheduler/view_model/group_panel/utils.js","../node_modules/devextreme/esm/__internal/scheduler/workspaces/view_model/m_date_header_data_generator.js","../node_modules/devextreme/esm/__internal/scheduler/workspaces/view_model/m_grouped_data_map_provider.js","../node_modules/devextreme/esm/renovation/ui/scheduler/view_model/to_test/views/utils/week.js","../node_modules/devextreme/esm/__internal/scheduler/workspaces/view_model/m_time_panel_data_generator.js","../node_modules/devextreme/esm/__internal/core/utils/math.js","../node_modules/devextreme/esm/__internal/scheduler/workspaces/view_model/m_view_data_generator.js","../node_modules/devextreme/esm/__internal/scheduler/workspaces/view_model/m_view_data_generator_day.js","../node_modules/devextreme/esm/renovation/ui/scheduler/view_model/to_test/views/utils/day.js","../node_modules/devextreme/esm/renovation/ui/scheduler/view_model/to_test/views/utils/month.js","../node_modules/devextreme/esm/__internal/scheduler/workspaces/view_model/m_view_data_generator_month.js","../node_modules/devextreme/esm/__internal/scheduler/workspaces/view_model/m_utils.js","../node_modules/devextreme/esm/renovation/ui/scheduler/view_model/to_test/views/utils/timeline_month.js","../node_modules/devextreme/esm/__internal/scheduler/workspaces/view_model/m_view_data_generator_timeline_month.js","../node_modules/devextreme/esm/__internal/scheduler/workspaces/view_model/m_view_data_generator_week.js","../node_modules/devextreme/esm/renovation/ui/scheduler/view_model/to_test/views/utils/work_week.js","../node_modules/devextreme/esm/__internal/scheduler/workspaces/view_model/m_view_data_generator_work_week.js","../node_modules/devextreme/esm/__internal/scheduler/workspaces/view_model/m_view_data_provider.js","../node_modules/devextreme/esm/__internal/scheduler/workspaces/m_work_space.js","../node_modules/devextreme/esm/__internal/scheduler/workspaces/m_agenda.js","../node_modules/devextreme/esm/renovation/ui/scheduler/view_model/to_test/views/utils/timeline_week.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/timeline/header_panel/date_header/layout.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/timeline/header_panel/layout.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/timeline/header_panel/layout.j.js","../node_modules/devextreme/esm/__internal/scheduler/shaders/m_current_time_shader_horizontal.js","../node_modules/devextreme/esm/__internal/scheduler/workspaces/m_work_space_indicator.js","../node_modules/devextreme/esm/__internal/scheduler/workspaces/m_timeline.js","../node_modules/devextreme/esm/__internal/scheduler/workspaces/m_timeline_day.js","../node_modules/devextreme/esm/__internal/scheduler/workspaces/m_timeline_month.js","../node_modules/devextreme/esm/__internal/scheduler/workspaces/m_timeline_week.js","../node_modules/devextreme/esm/__internal/scheduler/workspaces/m_timeline_work_week.js","../node_modules/devextreme/esm/__internal/scheduler/workspaces/m_work_space_vertical.js","../node_modules/devextreme/esm/__internal/scheduler/workspaces/m_work_space_day.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/month/date_table/cell.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/month/date_table/layout.js","../node_modules/devextreme/esm/renovation/ui/scheduler/workspaces/month/date_table/layout.j.js","../node_modules/devextreme/esm/__internal/scheduler/workspaces/m_work_space_month.js","../node_modules/devextreme/esm/__internal/scheduler/workspaces/m_work_space_week.js","../node_modules/devextreme/esm/__internal/scheduler/workspaces/m_work_space_work_week.js","../node_modules/devextreme/esm/__internal/scheduler/m_scheduler.js","../node_modules/devextreme/esm/renovation/ui/scheduler/timeZoneCalculator/createTimeZoneCalculator.js","../node_modules/devextreme/esm/renovation/ui/scheduler/utils/data.js","../node_modules/devextreme/esm/ui/scheduler.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scroll_view.native.pull_down.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scroll_view.native.swipe_down.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scroll_view.simulated.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scroll_view.js","../node_modules/devextreme/esm/ui/scroll_view.js","../node_modules/devextreme/esm/ui/scroll_view/animator.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scrollable.device.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scrollable.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scrollable.native.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scrollable.old.js","../node_modules/devextreme/esm/renovation/ui/scroll_view/utils/get_element_location_internal.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scrollable.simulated.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scrollbar.js","../node_modules/devextreme/esm/ui/select_box.js","../node_modules/devextreme/esm/ui/selection/selection.strategy.js","../node_modules/devextreme/esm/ui/selection/selection.strategy.deferred.js","../node_modules/devextreme/esm/ui/selection/selection.strategy.standard.js","../node_modules/devextreme/esm/ui/selection/selection.js","../node_modules/devextreme/esm/ui/shared/accessibility.js","../node_modules/devextreme/esm/ui/shared/filtering.js","../node_modules/devextreme/esm/ui/shared/grouped_data_converter_mixin.js","../node_modules/devextreme/esm/ui/shared/ui.editor_factory_mixin.js","../node_modules/devextreme/esm/ui/slider/ui.slider.js","../node_modules/devextreme/esm/ui/slider.js","../node_modules/devextreme/esm/ui/slider/slider_tooltip_position_controller.js","../node_modules/devextreme/esm/ui/slider/ui.slider_tooltip.js","../node_modules/devextreme/esm/ui/slider/ui.slider_handle.js","../node_modules/devextreme/esm/__internal/m_sortable.js","../node_modules/devextreme/esm/ui/sortable.js","../node_modules/devextreme/esm/ui/speed_dial_action/speed_dial_item.js","../node_modules/devextreme/esm/ui/speed_dial_action/speed_dial_main_item.js","../node_modules/devextreme/esm/ui/speed_dial_action/speed_dial_action.js","../node_modules/devextreme/esm/ui/speed_dial_action.js","../node_modules/devextreme/esm/ui/splitter.js","../node_modules/devextreme/esm/ui/switch.js","../node_modules/devextreme/esm/ui/tab_panel/item.js","../node_modules/devextreme/esm/ui/tab_panel.js","../node_modules/devextreme/esm/ui/tabs/item.js","../node_modules/devextreme/esm/ui/tabs/constants.js","../node_modules/devextreme/esm/renovation/ui/scroll_view/utils/get_scroll_left_max.js","../node_modules/devextreme/esm/renovation/ui/scroll_view/utils/get_boundary_props.js","../node_modules/devextreme/esm/ui/tabs.js","../node_modules/devextreme/esm/ui/tag_box.js","../node_modules/devextreme/esm/ui/text_area.js","../node_modules/devextreme/esm/ui/text_box/text_box.js","../node_modules/devextreme/esm/ui/text_box.js","../node_modules/devextreme/esm/ui/text_box/texteditor_button_collection/button.js","../node_modules/devextreme/esm/ui/text_box/utils.support.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.mask.rule.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.clear.js","../node_modules/devextreme/esm/ui/text_box/texteditor_button_collection/custom.js","../node_modules/devextreme/esm/ui/text_box/texteditor_button_collection/index.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.label.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.base.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.mask.strategy.base.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.mask.strategy.default.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.mask.strategy.input_events.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.mask.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.js","../node_modules/devextreme/esm/ui/text_box/utils.caret.js","../node_modules/devextreme/esm/ui/text_box/utils.scroll.js","../node_modules/devextreme/esm/ui/themes.js","../node_modules/devextreme/esm/ui/themes_callback.js","../node_modules/devextreme/esm/ui/tile_view.js","../node_modules/devextreme/esm/ui/toast/ui.toast.js","../node_modules/devextreme/esm/ui/toast.js","../node_modules/devextreme/esm/ui/toolbar/ui.toolbar.utils.js","../node_modules/devextreme/esm/ui/toolbar/strategy/toolbar.multiline.js","../node_modules/devextreme/esm/ui/toolbar/internal/ui.toolbar.menu.list.js","../node_modules/devextreme/esm/ui/toolbar/internal/ui.toolbar.menu.js","../node_modules/devextreme/esm/ui/toolbar/strategy/toolbar.singleline.js","../node_modules/devextreme/esm/ui/toolbar/ui.toolbar.js","../node_modules/devextreme/esm/ui/toolbar.js","../node_modules/devextreme/esm/ui/toolbar/constants.js","../node_modules/devextreme/esm/ui/collection/ui.collection_widget.async.js","../node_modules/devextreme/esm/ui/toolbar/ui.toolbar.base.js","../node_modules/devextreme/esm/ui/tooltip.js","../node_modules/devextreme/esm/ui/tooltip/tooltip.js","../node_modules/devextreme/esm/ui/track_bar.js","../node_modules/devextreme/esm/__internal/grids/tree_list/m_core.js","../node_modules/devextreme/esm/__internal/grids/tree_list/column_headers/m_column_headers.js","../node_modules/devextreme/esm/__internal/grids/tree_list/m_columns_controller.js","../node_modules/devextreme/esm/__internal/grids/tree_list/data_source_adapter/m_data_source_adapter.js","../node_modules/devextreme/esm/__internal/grids/tree_list/data_controller/m_data_controller.js","../node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/sorting.js","../node_modules/devextreme/esm/__internal/grids/tree_list/rows/m_rows.js","../node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/context_menu.js","../node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/error_handling.js","../node_modules/devextreme/esm/__internal/grids/tree_list/m_grid_view.js","../node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/header_panel.js","../node_modules/devextreme/esm/__internal/grids/tree_list/m_widget_base.js","../node_modules/devextreme/esm/__internal/grids/tree_list/m_state_storing.js","../node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/column_chooser.js","../node_modules/devextreme/esm/__internal/grids/tree_list/m_master_detail.js","../node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/editor_factory.js","../node_modules/devextreme/esm/__internal/grids/tree_list/editing/m_editing.js","../node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/editing_row_based.js","../node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/editing_form_based.js","../node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/editing_cell_based.js","../node_modules/devextreme/esm/__internal/grids/tree_list/m_validating.js","../node_modules/devextreme/esm/__internal/grids/tree_list/m_virtual_scrolling.js","../node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/filter_row.js","../node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/header_filter.js","../node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/filter_sync.js","../node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/filter_builder.js","../node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/filter_panel.js","../node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/pager.js","../node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/columns_resizing_reordering.js","../node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/column_fixing.js","../node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/adaptivity.js","../node_modules/devextreme/esm/__internal/grids/tree_list/selection/m_selection.js","../node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/search.js","../node_modules/devextreme/esm/__internal/grids/tree_list/m_keyboard_navigation.js","../node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/virtual_columns.js","../node_modules/devextreme/esm/__internal/grids/tree_list/m_focus.js","../node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/row_dragging.js","../node_modules/devextreme/esm/__internal/grids/tree_list/m_widget.js","../node_modules/devextreme/esm/ui/tree_list.js","../node_modules/devextreme/esm/ui/tree_view.js","../node_modules/devextreme/esm/ui/tree_view/ui.tree_view.base.js","../node_modules/devextreme/esm/ui/tree_view/ui.tree_view.search.js","../node_modules/devextreme/esm/ui/validation_engine.js","../node_modules/devextreme/esm/ui/validation_group.js","../node_modules/devextreme/esm/ui/validation_message.js","../node_modules/devextreme/esm/ui/validation_summary.js","../node_modules/devextreme/esm/ui/validation/default_adapter.js","../node_modules/devextreme/esm/ui/validator.js","../node_modules/devextreme/esm/ui/widget/selectors.js","../node_modules/devextreme/esm/ui/widget/swatch_container.js","../node_modules/devextreme/esm/ui/widget/ui.errors.js","../node_modules/devextreme/esm/ui/widget/ui.search_box_mixin.js","../node_modules/devextreme/esm/core/utils/stubs.js","../node_modules/devextreme/esm/ui/widget/ui.widget.js","../node_modules/devextreme/esm/ui/widget/utils.ink_ripple.js","../node_modules/devextreme/esm/viz/axes/axes_constants.js","../node_modules/devextreme/esm/viz/axes/tick.js","../node_modules/devextreme/esm/viz/axes/datetime_breaks.js","../node_modules/devextreme/esm/viz/axes/xy_axes.js","../node_modules/devextreme/esm/viz/axes/axes_utils.js","../node_modules/devextreme/esm/viz/axes/polar_axes.js","../node_modules/devextreme/esm/viz/axes/base_axis.js","../node_modules/devextreme/esm/viz/axes/strip.js","../node_modules/devextreme/esm/viz/axes/constant_line.js","../node_modules/devextreme/esm/viz/axes/smart_formatter.js","../node_modules/devextreme/esm/viz/axes/tick_generator.js","../node_modules/devextreme/esm/viz/gauges/bar_gauge.js","../node_modules/devextreme/esm/viz/bar_gauge.js","../node_modules/devextreme/esm/viz/sparklines/bullet.js","../node_modules/devextreme/esm/viz/bullet.js","../node_modules/devextreme/esm/viz/chart_components/crosshair.js","../node_modules/devextreme/esm/viz/chart_components/multi_axes_synchronizer.js","../node_modules/devextreme/esm/viz/chart_components/scroll_bar.js","../node_modules/devextreme/esm/viz/chart_components/shutter_zoom.js","../node_modules/devextreme/esm/events/transform.js","../node_modules/devextreme/esm/viz/chart_components/zoom_and_pan.js","../node_modules/devextreme/esm/__internal/viz/m_chart.js","../node_modules/devextreme/esm/viz/chart.js","../node_modules/devextreme/esm/viz/chart_components/layout_manager.js","../node_modules/devextreme/esm/viz/circular_gauge.js","../node_modules/devextreme/esm/viz/components/chart_theme_manager.js","../node_modules/devextreme/esm/viz/components/consts.js","../node_modules/devextreme/esm/viz/components/data_validator.js","../node_modules/devextreme/esm/viz/components/legend.js","../node_modules/devextreme/esm/viz/components/parse_utils.js","../node_modules/devextreme/esm/viz/components/tracker.js","../node_modules/devextreme/esm/viz/core/annotations.js","../node_modules/devextreme/esm/viz/palette.js","../node_modules/devextreme/esm/viz/core/base_theme_manager.js","../node_modules/devextreme/esm/viz/core/data_source.js","../node_modules/devextreme/esm/viz/core/export.js","../node_modules/devextreme/esm/viz/core/helpers.js","../node_modules/devextreme/esm/viz/core/layout_element.js","../node_modules/devextreme/esm/viz/core/loading_indicator.js","../node_modules/devextreme/esm/viz/core/plaque.js","../node_modules/devextreme/esm/viz/core/renderers/animation.js","../node_modules/devextreme/esm/viz/core/renderers/renderer.js","../node_modules/devextreme/esm/viz/core/series_family.js","../node_modules/devextreme/esm/viz/core/title.js","../node_modules/devextreme/esm/viz/core/tooltip.js","../node_modules/devextreme/esm/viz/core/utils.js","../node_modules/devextreme/esm/viz/funnel/tiling.js","../node_modules/devextreme/esm/viz/funnel/tiling.funnel.js","../node_modules/devextreme/esm/viz/funnel/tiling.pyramid.js","../node_modules/devextreme/esm/viz/funnel/item.js","../node_modules/devextreme/esm/viz/funnel/funnel.js","../node_modules/devextreme/esm/viz/funnel/label.js","../node_modules/devextreme/esm/viz/funnel/tracker.js","../node_modules/devextreme/esm/viz/funnel/tooltip.js","../node_modules/devextreme/esm/viz/funnel.js","../node_modules/devextreme/esm/viz/gauges/theme_manager.js","../node_modules/devextreme/esm/viz/gauges/tracker.js","../node_modules/devextreme/esm/viz/gauges/base_gauge.js","../node_modules/devextreme/esm/viz/gauges/base_indicators.js","../node_modules/devextreme/esm/viz/gauges/base_range_container.js","../node_modules/devextreme/esm/viz/gauges/circular_indicators.js","../node_modules/devextreme/esm/viz/gauges/circular_range_container.js","../node_modules/devextreme/esm/viz/gauges/circular_gauge.js","../node_modules/devextreme/esm/viz/gauges/common.js","../node_modules/devextreme/esm/viz/gauges/linear_indicators.js","../node_modules/devextreme/esm/viz/gauges/linear_range_container.js","../node_modules/devextreme/esm/viz/gauges/linear_gauge.js","../node_modules/devextreme/esm/viz/linear_gauge.js","../node_modules/devextreme/esm/__internal/viz/m_pie_chart.js","../node_modules/devextreme/esm/viz/pie_chart.js","../node_modules/devextreme/esm/__internal/viz/m_polar_chart.js","../node_modules/devextreme/esm/viz/polar_chart.js","../node_modules/devextreme/esm/viz/range_selector/common.js","../node_modules/devextreme/esm/viz/range_selector/slider_marker.js","../node_modules/devextreme/esm/viz/range_selector/slider.js","../node_modules/devextreme/esm/viz/range_selector/sliders_controller.js","../node_modules/devextreme/esm/viz/range_selector/tracker.js","../node_modules/devextreme/esm/viz/range_selector/range_view.js","../node_modules/devextreme/esm/viz/range_selector/series_data_source.js","../node_modules/devextreme/esm/viz/range_selector/range_selector.js","../node_modules/devextreme/esm/viz/range_selector.js","../node_modules/devextreme/esm/viz/sankey/constants.js","../node_modules/devextreme/esm/viz/sankey/node_item.js","../node_modules/devextreme/esm/viz/sankey/link_item.js","../node_modules/devextreme/esm/viz/sankey/graph.js","../node_modules/devextreme/esm/viz/sankey/data_validator.js","../node_modules/devextreme/esm/viz/sankey/layout.js","../node_modules/devextreme/esm/viz/sankey/sankey.js","../node_modules/devextreme/esm/viz/sankey/tooltip.js","../node_modules/devextreme/esm/viz/sankey/tracker.js","../node_modules/devextreme/esm/viz/sankey.js","../node_modules/devextreme/esm/viz/series/points/symbol_point.js","../node_modules/devextreme/esm/viz/series/points/bar_point.js","../node_modules/devextreme/esm/viz/series/points/bubble_point.js","../node_modules/devextreme/esm/viz/series/points/pie_point.js","../node_modules/devextreme/esm/viz/series/points/range_symbol_point.js","../node_modules/devextreme/esm/viz/series/points/range_bar_point.js","../node_modules/devextreme/esm/viz/series/points/candlestick_point.js","../node_modules/devextreme/esm/viz/series/points/stock_point.js","../node_modules/devextreme/esm/viz/series/points/polar_point.js","../node_modules/devextreme/esm/viz/series/points/base_point.js","../node_modules/devextreme/esm/viz/series/scatter_series.js","../node_modules/devextreme/esm/viz/series/line_series.js","../node_modules/devextreme/esm/viz/series/area_series.js","../node_modules/devextreme/esm/viz/series/bar_series.js","../node_modules/devextreme/esm/viz/series/range_series.js","../node_modules/devextreme/esm/viz/series/bubble_series.js","../node_modules/devextreme/esm/viz/series/pie_series.js","../node_modules/devextreme/esm/viz/series/financial_series.js","../node_modules/devextreme/esm/viz/series/stacked_series.js","../node_modules/devextreme/esm/viz/series/base_series.js","../node_modules/devextreme/esm/viz/series/helpers/range_data_calculator.js","../node_modules/devextreme/esm/viz/series/helpers/display_format_parser.js","../node_modules/devextreme/esm/viz/series/points/label.js","../node_modules/devextreme/esm/viz/sparklines/sparkline.js","../node_modules/devextreme/esm/viz/sparkline.js","../node_modules/devextreme/esm/viz/sparklines/base_sparkline.js","../node_modules/devextreme/esm/viz/core/themes/generic.light.js","../node_modules/devextreme/esm/viz/core/themes/generic.carmine.js","../node_modules/devextreme/esm/viz/core/themes/generic.dark.js","../node_modules/devextreme/esm/viz/core/themes/generic.contrast.js","../node_modules/devextreme/esm/viz/core/themes/generic.darkmoon.js","../node_modules/devextreme/esm/viz/core/themes/generic.darkviolet.js","../node_modules/devextreme/esm/viz/core/themes/generic.greenmist.js","../node_modules/devextreme/esm/viz/core/themes/generic.softblue.js","../node_modules/devextreme/esm/viz/core/themes/material.js","../node_modules/devextreme/esm/viz/themes.js","../node_modules/devextreme/esm/viz/translators/range.js","../node_modules/devextreme/esm/viz/translators/translator1d.js","../node_modules/devextreme/esm/viz/translators/category_translator.js","../node_modules/devextreme/esm/viz/translators/interval_translator.js","../node_modules/devextreme/esm/viz/translators/datetime_translator.js","../node_modules/devextreme/esm/viz/translators/logarithmic_translator.js","../node_modules/devextreme/esm/viz/translators/translator2d.js","../node_modules/devextreme/esm/viz/tree_map/common.js","../node_modules/devextreme/esm/viz/tree_map/node.js","../node_modules/devextreme/esm/viz/tree_map/tiling.js","../node_modules/devextreme/esm/viz/tree_map/colorizing.js","../node_modules/devextreme/esm/viz/tree_map/tiling.squarified.base.js","../node_modules/devextreme/esm/viz/tree_map/tiling.squarified.js","../node_modules/devextreme/esm/viz/tree_map/colorizing.discrete.js","../node_modules/devextreme/esm/viz/tree_map/tree_map.base.js","../node_modules/devextreme/esm/viz/tree_map/tiling.strip.js","../node_modules/devextreme/esm/viz/tree_map/tiling.slice_and_dice.js","../node_modules/devextreme/esm/viz/tree_map/tiling.rotated_slice_and_dice.js","../node_modules/devextreme/esm/viz/tree_map/colorizing.gradient.js","../node_modules/devextreme/esm/viz/tree_map/colorizing.range.js","../node_modules/devextreme/esm/viz/tree_map/api.js","../node_modules/devextreme/esm/viz/tree_map/states.js","../node_modules/devextreme/esm/viz/tree_map/hover.js","../node_modules/devextreme/esm/viz/tree_map/selection.js","../node_modules/devextreme/esm/viz/tree_map/tooltip.js","../node_modules/devextreme/esm/viz/tree_map/tracker.js","../node_modules/devextreme/esm/viz/tree_map/drilldown.js","../node_modules/devextreme/esm/viz/tree_map/plain_data_source.js","../node_modules/devextreme/esm/viz/tree_map/tree_map.js","../node_modules/devextreme/esm/viz/tree_map.js","../node_modules/devextreme/esm/viz/utils.js","../node_modules/devextreme/esm/viz/vector_map/event_emitter.js","../node_modules/devextreme/esm/viz/vector_map/projection.main.js","../node_modules/devextreme/esm/viz/vector_map/control_bar/utils.js","../node_modules/devextreme/esm/viz/vector_map/control_bar/control_bar.js","../node_modules/devextreme/esm/viz/vector_map/gesture_handler.js","../node_modules/devextreme/esm/viz/vector_map/tracker.js","../node_modules/devextreme/esm/viz/vector_map/data_exchanger.js","../node_modules/devextreme/esm/viz/vector_map/legend.js","../node_modules/devextreme/esm/viz/vector_map/layout.js","../node_modules/devextreme/esm/viz/vector_map/map_layer.js","../node_modules/devextreme/esm/viz/vector_map/tooltip_viewer.js","../node_modules/devextreme/esm/viz/vector_map/vector_map.utils.js","../node_modules/devextreme/esm/viz/vector_map/projection.js","../node_modules/devextreme/esm/viz/vector_map/vector_map.js","../node_modules/devextreme/esm/viz/vector_map.js","../node_modules/exceljs/dist/node_modules/browser-pack/_prelude.js","../node_modules/exceljs/dist/lib/csv/csv.js","../node_modules/exceljs/dist/lib/doc/anchor.js","../node_modules/exceljs/dist/lib/doc/cell.js","../node_modules/exceljs/dist/lib/doc/column.js","../node_modules/exceljs/dist/lib/doc/data-validations.js","../node_modules/exceljs/dist/lib/doc/defined-names.js","../node_modules/exceljs/dist/lib/doc/enums.js","../node_modules/exceljs/dist/lib/doc/image.js","../node_modules/exceljs/dist/lib/doc/note.js","../node_modules/exceljs/dist/lib/doc/range.js","../node_modules/exceljs/dist/lib/doc/row.js","../node_modules/exceljs/dist/lib/doc/table.js","../node_modules/exceljs/dist/lib/doc/workbook.js","../node_modules/exceljs/dist/lib/doc/worksheet.js","../node_modules/exceljs/dist/lib/exceljs.browser.js","../node_modules/exceljs/dist/lib/utils/browser-buffer-decode.js","../node_modules/exceljs/dist/lib/utils/browser-buffer-encode.js","../node_modules/exceljs/dist/lib/utils/cell-matrix.js","../node_modules/exceljs/dist/lib/utils/col-cache.js","../node_modules/exceljs/dist/lib/utils/copy-style.js","../node_modules/exceljs/dist/lib/utils/encryptor.js","../node_modules/exceljs/dist/lib/utils/parse-sax.js","../node_modules/exceljs/dist/lib/utils/shared-formula.js","../node_modules/exceljs/dist/lib/utils/stream-buf.js","../node_modules/exceljs/dist/lib/utils/string-buf.js","../node_modules/exceljs/dist/lib/utils/under-dash.js","../node_modules/exceljs/dist/lib/utils/utils.js","../node_modules/exceljs/dist/lib/utils/xml-stream.js","../node_modules/exceljs/dist/lib/utils/zip-stream.js","../node_modules/exceljs/dist/lib/xlsx/defaultnumformats.js","../node_modules/exceljs/dist/lib/xlsx/rel-type.js","../node_modules/exceljs/dist/lib/xlsx/xform/base-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/book/defined-name-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/book/sheet-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/book/workbook-calc-properties-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/book/workbook-properties-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/book/workbook-view-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/book/workbook-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/comment/comment-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/comment/comments-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/comment/style/vml-position-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/comment/style/vml-protection-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/comment/vml-anchor-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/comment/vml-client-data-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/comment/vml-notes-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/comment/vml-shape-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/comment/vml-textbox-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/composite-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/core/app-heading-pairs-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/core/app-titles-of-parts-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/core/app-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/core/content-types-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/core/core-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/core/relationship-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/core/relationships-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/drawing/base-cell-anchor-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/drawing/blip-fill-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/drawing/blip-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/drawing/c-nv-pic-pr-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/drawing/c-nv-pr-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/drawing/cell-position-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/drawing/drawing-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/drawing/ext-lst-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/drawing/ext-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/drawing/hlink-click-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/drawing/nv-pic-pr-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/drawing/one-cell-anchor-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/drawing/pic-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/drawing/sp-pr.js","../node_modules/exceljs/dist/lib/xlsx/xform/drawing/two-cell-anchor-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/list-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/auto-filter-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cell-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf-ext/databar-ext-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf-ext/f-ext-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf/cf-rule-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf/cfvo-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf/color-scale-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf/conditional-formatting-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf/conditional-formattings-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf/databar-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf/ext-lst-ref-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf/formula-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf/icon-set-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/col-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/data-validations-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/dimension-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/drawing-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/ext-lst-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/header-footer-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/hyperlink-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/merge-cell-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/merges.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/outline-properties-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/page-breaks-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/page-margins-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/page-setup-properties-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/page-setup-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/picture-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/print-options-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/row-breaks-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/row-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/sheet-format-properties-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/sheet-properties-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/sheet-protection-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/sheet-view-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/table-part-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/worksheet-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/simple/boolean-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/simple/date-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/simple/integer-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/simple/string-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/static-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/strings/phonetic-text-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/strings/rich-text-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/strings/shared-string-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/strings/shared-strings-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/strings/text-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/style/alignment-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/style/border-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/style/color-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/style/dxf-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/style/fill-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/style/font-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/style/numfmt-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/style/protection-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/style/style-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/style/styles-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/style/underline-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/table/auto-filter-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/table/custom-filter-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/table/filter-column-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/table/filter-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/table/table-column-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/table/table-style-info-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/table/table-xform.js","../node_modules/exceljs/dist/lib/xlsx/xlsx.js","../node_modules/exceljs/dist/lib/xlsx/xml/theme1.js","../node_modules/exceljs/dist/node_modules/@fast-csv/format/build/src/CsvFormatterStream.js","../node_modules/exceljs/dist/node_modules/@fast-csv/format/build/src/FormatterOptions.js","../node_modules/exceljs/dist/node_modules/@fast-csv/format/build/src/formatter/FieldFormatter.js","../node_modules/exceljs/dist/node_modules/@fast-csv/format/build/src/formatter/RowFormatter.js","../node_modules/exceljs/dist/node_modules/@fast-csv/format/build/src/formatter/index.js","../node_modules/exceljs/dist/node_modules/@fast-csv/format/build/src/index.js","../node_modules/exceljs/dist/node_modules/@fast-csv/format/build/src/types.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/CsvParserStream.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/ParserOptions.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/index.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/parser/Parser.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/parser/RowParser.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/parser/Scanner.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/parser/Token.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/parser/column/ColumnFormatter.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/parser/column/ColumnParser.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/parser/column/NonQuotedColumnParser.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/parser/column/QuotedColumnParser.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/parser/column/index.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/parser/index.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/transforms/HeaderTransformer.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/transforms/RowTransformerValidator.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/transforms/index.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/types.js","../node_modules/exceljs/dist/node_modules/asn1.js/lib/asn1.js","../node_modules/exceljs/dist/node_modules/asn1.js/lib/asn1/api.js","../node_modules/exceljs/dist/node_modules/asn1.js/lib/asn1/base/buffer.js","../node_modules/exceljs/dist/node_modules/asn1.js/lib/asn1/base/index.js","../node_modules/exceljs/dist/node_modules/asn1.js/lib/asn1/base/node.js","../node_modules/exceljs/dist/node_modules/asn1.js/lib/asn1/base/reporter.js","../node_modules/exceljs/dist/node_modules/asn1.js/lib/asn1/constants/der.js","../node_modules/exceljs/dist/node_modules/asn1.js/lib/asn1/constants/index.js","../node_modules/exceljs/dist/node_modules/asn1.js/lib/asn1/decoders/der.js","../node_modules/exceljs/dist/node_modules/asn1.js/lib/asn1/decoders/index.js","../node_modules/exceljs/dist/node_modules/asn1.js/lib/asn1/decoders/pem.js","../node_modules/exceljs/dist/node_modules/asn1.js/lib/asn1/encoders/der.js","../node_modules/exceljs/dist/node_modules/asn1.js/lib/asn1/encoders/index.js","../node_modules/exceljs/dist/node_modules/asn1.js/lib/asn1/encoders/pem.js","../node_modules/exceljs/dist/node_modules/asn1.js/node_modules/bn.js/lib/bn.js","../node_modules/exceljs/dist/node_modules/base64-js/index.js","../node_modules/exceljs/dist/node_modules/bn.js/lib/bn.js","../node_modules/exceljs/dist/node_modules/brorand/index.js","../node_modules/exceljs/dist/node_modules/browserify-aes/aes.js","../node_modules/exceljs/dist/node_modules/browserify-aes/authCipher.js","../node_modules/exceljs/dist/node_modules/browserify-aes/browser.js","../node_modules/exceljs/dist/node_modules/browserify-aes/decrypter.js","../node_modules/exceljs/dist/node_modules/browserify-aes/encrypter.js","../node_modules/exceljs/dist/node_modules/browserify-aes/ghash.js","../node_modules/exceljs/dist/node_modules/browserify-aes/incr32.js","../node_modules/exceljs/dist/node_modules/browserify-aes/modes/cbc.js","../node_modules/exceljs/dist/node_modules/browserify-aes/modes/cfb.js","../node_modules/exceljs/dist/node_modules/browserify-aes/modes/cfb1.js","../node_modules/exceljs/dist/node_modules/browserify-aes/modes/cfb8.js","../node_modules/exceljs/dist/node_modules/browserify-aes/modes/ctr.js","../node_modules/exceljs/dist/node_modules/browserify-aes/modes/ecb.js","../node_modules/exceljs/dist/node_modules/browserify-aes/modes/index.js","../node_modules/exceljs/dist/node_modules/browserify-aes/modes/list.json","../node_modules/exceljs/dist/node_modules/browserify-aes/modes/ofb.js","../node_modules/exceljs/dist/node_modules/browserify-aes/streamCipher.js","../node_modules/exceljs/dist/node_modules/browserify-cipher/browser.js","../node_modules/exceljs/dist/node_modules/browserify-des/index.js","../node_modules/exceljs/dist/node_modules/browserify-des/modes.js","../node_modules/exceljs/dist/node_modules/browserify-rsa/index.js","../node_modules/exceljs/dist/node_modules/browserify-sign/algos.js","../node_modules/exceljs/dist/node_modules/browserify-sign/browser/algorithms.json","../node_modules/exceljs/dist/node_modules/browserify-sign/browser/curves.json","../node_modules/exceljs/dist/node_modules/browserify-sign/browser/index.js","../node_modules/exceljs/dist/node_modules/browserify-sign/browser/sign.js","../node_modules/exceljs/dist/node_modules/browserify-sign/browser/verify.js","../node_modules/exceljs/dist/node_modules/browserify/node_modules/safe-buffer/index.js","../node_modules/exceljs/dist/node_modules/browserify/node_modules/string_decoder/lib/string_decoder.js","../node_modules/exceljs/dist/node_modules/buffer-xor/index.js","../node_modules/exceljs/dist/node_modules/buffer/index.js","../node_modules/exceljs/dist/node_modules/cipher-base/index.js","../node_modules/exceljs/dist/node_modules/core-js/internals/a-callable.js","../node_modules/exceljs/dist/node_modules/core-js/internals/a-constructor.js","../node_modules/exceljs/dist/node_modules/core-js/internals/a-possible-prototype.js","../node_modules/exceljs/dist/node_modules/core-js/internals/add-to-unscopables.js","../node_modules/exceljs/dist/node_modules/core-js/internals/an-instance.js","../node_modules/exceljs/dist/node_modules/core-js/internals/an-object.js","../node_modules/exceljs/dist/node_modules/core-js/internals/array-includes.js","../node_modules/exceljs/dist/node_modules/core-js/internals/array-iteration.js","../node_modules/exceljs/dist/node_modules/core-js/internals/array-slice-simple.js","../node_modules/exceljs/dist/node_modules/core-js/internals/array-slice.js","../node_modules/exceljs/dist/node_modules/core-js/internals/array-species-constructor.js","../node_modules/exceljs/dist/node_modules/core-js/internals/array-species-create.js","../node_modules/exceljs/dist/node_modules/core-js/internals/check-correctness-of-iteration.js","../node_modules/exceljs/dist/node_modules/core-js/internals/classof-raw.js","../node_modules/exceljs/dist/node_modules/core-js/internals/classof.js","../node_modules/exceljs/dist/node_modules/core-js/internals/copy-constructor-properties.js","../node_modules/exceljs/dist/node_modules/core-js/internals/correct-is-regexp-logic.js","../node_modules/exceljs/dist/node_modules/core-js/internals/correct-prototype-getter.js","../node_modules/exceljs/dist/node_modules/core-js/internals/create-iter-result-object.js","../node_modules/exceljs/dist/node_modules/core-js/internals/create-non-enumerable-property.js","../node_modules/exceljs/dist/node_modules/core-js/internals/create-property-descriptor.js","../node_modules/exceljs/dist/node_modules/core-js/internals/create-property.js","../node_modules/exceljs/dist/node_modules/core-js/internals/define-built-in-accessor.js","../node_modules/exceljs/dist/node_modules/core-js/internals/define-built-in.js","../node_modules/exceljs/dist/node_modules/core-js/internals/define-global-property.js","../node_modules/exceljs/dist/node_modules/core-js/internals/descriptors.js","../node_modules/exceljs/dist/node_modules/core-js/internals/document-all.js","../node_modules/exceljs/dist/node_modules/core-js/internals/document-create-element.js","../node_modules/exceljs/dist/node_modules/core-js/internals/engine-is-browser.js","../node_modules/exceljs/dist/node_modules/core-js/internals/engine-is-deno.js","../node_modules/exceljs/dist/node_modules/core-js/internals/engine-is-ios-pebble.js","../node_modules/exceljs/dist/node_modules/core-js/internals/engine-is-ios.js","../node_modules/exceljs/dist/node_modules/core-js/internals/engine-is-node.js","../node_modules/exceljs/dist/node_modules/core-js/internals/engine-is-webos-webkit.js","../node_modules/exceljs/dist/node_modules/core-js/internals/engine-user-agent.js","../node_modules/exceljs/dist/node_modules/core-js/internals/engine-v8-version.js","../node_modules/exceljs/dist/node_modules/core-js/internals/enum-bug-keys.js","../node_modules/exceljs/dist/node_modules/core-js/internals/export.js","../node_modules/exceljs/dist/node_modules/core-js/internals/fails.js","../node_modules/exceljs/dist/node_modules/core-js/internals/function-apply.js","../node_modules/exceljs/dist/node_modules/core-js/internals/function-bind-context.js","../node_modules/exceljs/dist/node_modules/core-js/internals/function-bind-native.js","../node_modules/exceljs/dist/node_modules/core-js/internals/function-call.js","../node_modules/exceljs/dist/node_modules/core-js/internals/function-name.js","../node_modules/exceljs/dist/node_modules/core-js/internals/function-uncurry-this-accessor.js","../node_modules/exceljs/dist/node_modules/core-js/internals/function-uncurry-this-clause.js","../node_modules/exceljs/dist/node_modules/core-js/internals/function-uncurry-this.js","../node_modules/exceljs/dist/node_modules/core-js/internals/get-built-in.js","../node_modules/exceljs/dist/node_modules/core-js/internals/get-iterator-method.js","../node_modules/exceljs/dist/node_modules/core-js/internals/get-iterator.js","../node_modules/exceljs/dist/node_modules/core-js/internals/get-json-replacer-function.js","../node_modules/exceljs/dist/node_modules/core-js/internals/get-method.js","../node_modules/exceljs/dist/node_modules/core-js/internals/global.js","../node_modules/exceljs/dist/node_modules/core-js/internals/has-own-property.js","../node_modules/exceljs/dist/node_modules/core-js/internals/hidden-keys.js","../node_modules/exceljs/dist/node_modules/core-js/internals/host-report-errors.js","../node_modules/exceljs/dist/node_modules/core-js/internals/html.js","../node_modules/exceljs/dist/node_modules/core-js/internals/ie8-dom-define.js","../node_modules/exceljs/dist/node_modules/core-js/internals/indexed-object.js","../node_modules/exceljs/dist/node_modules/core-js/internals/inspect-source.js","../node_modules/exceljs/dist/node_modules/core-js/internals/internal-state.js","../node_modules/exceljs/dist/node_modules/core-js/internals/is-array-iterator-method.js","../node_modules/exceljs/dist/node_modules/core-js/internals/is-array.js","../node_modules/exceljs/dist/node_modules/core-js/internals/is-callable.js","../node_modules/exceljs/dist/node_modules/core-js/internals/is-constructor.js","../node_modules/exceljs/dist/node_modules/core-js/internals/is-forced.js","../node_modules/exceljs/dist/node_modules/core-js/internals/is-null-or-undefined.js","../node_modules/exceljs/dist/node_modules/core-js/internals/is-object.js","../node_modules/exceljs/dist/node_modules/core-js/internals/is-pure.js","../node_modules/exceljs/dist/node_modules/core-js/internals/is-regexp.js","../node_modules/exceljs/dist/node_modules/core-js/internals/is-symbol.js","../node_modules/exceljs/dist/node_modules/core-js/internals/iterate.js","../node_modules/exceljs/dist/node_modules/core-js/internals/iterator-close.js","../node_modules/exceljs/dist/node_modules/core-js/internals/iterator-create-constructor.js","../node_modules/exceljs/dist/node_modules/core-js/internals/iterator-define.js","../node_modules/exceljs/dist/node_modules/core-js/internals/iterators-core.js","../node_modules/exceljs/dist/node_modules/core-js/internals/length-of-array-like.js","../node_modules/exceljs/dist/node_modules/core-js/internals/make-built-in.js","../node_modules/exceljs/dist/node_modules/core-js/internals/math-trunc.js","../node_modules/exceljs/dist/node_modules/core-js/internals/microtask.js","../node_modules/exceljs/dist/node_modules/core-js/internals/new-promise-capability.js","../node_modules/exceljs/dist/node_modules/core-js/internals/not-a-regexp.js","../node_modules/exceljs/dist/node_modules/core-js/internals/object-assign.js","../node_modules/exceljs/dist/node_modules/core-js/internals/object-create.js","../node_modules/exceljs/dist/node_modules/core-js/internals/object-define-properties.js","../node_modules/exceljs/dist/node_modules/core-js/internals/object-define-property.js","../node_modules/exceljs/dist/node_modules/core-js/internals/object-get-own-property-descriptor.js","../node_modules/exceljs/dist/node_modules/core-js/internals/object-get-own-property-names-external.js","../node_modules/exceljs/dist/node_modules/core-js/internals/object-get-own-property-names.js","../node_modules/exceljs/dist/node_modules/core-js/internals/object-get-own-property-symbols.js","../node_modules/exceljs/dist/node_modules/core-js/internals/object-get-prototype-of.js","../node_modules/exceljs/dist/node_modules/core-js/internals/object-is-prototype-of.js","../node_modules/exceljs/dist/node_modules/core-js/internals/object-keys-internal.js","../node_modules/exceljs/dist/node_modules/core-js/internals/object-keys.js","../node_modules/exceljs/dist/node_modules/core-js/internals/object-property-is-enumerable.js","../node_modules/exceljs/dist/node_modules/core-js/internals/object-set-prototype-of.js","../node_modules/exceljs/dist/node_modules/core-js/internals/object-to-array.js","../node_modules/exceljs/dist/node_modules/core-js/internals/ordinary-to-primitive.js","../node_modules/exceljs/dist/node_modules/core-js/internals/own-keys.js","../node_modules/exceljs/dist/node_modules/core-js/internals/path.js","../node_modules/exceljs/dist/node_modules/core-js/internals/perform.js","../node_modules/exceljs/dist/node_modules/core-js/internals/promise-constructor-detection.js","../node_modules/exceljs/dist/node_modules/core-js/internals/promise-native-constructor.js","../node_modules/exceljs/dist/node_modules/core-js/internals/promise-resolve.js","../node_modules/exceljs/dist/node_modules/core-js/internals/promise-statics-incorrect-iteration.js","../node_modules/exceljs/dist/node_modules/core-js/internals/queue.js","../node_modules/exceljs/dist/node_modules/core-js/internals/require-object-coercible.js","../node_modules/exceljs/dist/node_modules/core-js/internals/set-species.js","../node_modules/exceljs/dist/node_modules/core-js/internals/set-to-string-tag.js","../node_modules/exceljs/dist/node_modules/core-js/internals/shared-key.js","../node_modules/exceljs/dist/node_modules/core-js/internals/shared-store.js","../node_modules/exceljs/dist/node_modules/core-js/internals/shared.js","../node_modules/exceljs/dist/node_modules/core-js/internals/species-constructor.js","../node_modules/exceljs/dist/node_modules/core-js/internals/symbol-constructor-detection.js","../node_modules/exceljs/dist/node_modules/core-js/internals/symbol-define-to-primitive.js","../node_modules/exceljs/dist/node_modules/core-js/internals/symbol-registry-detection.js","../node_modules/exceljs/dist/node_modules/core-js/internals/task.js","../node_modules/exceljs/dist/node_modules/core-js/internals/to-absolute-index.js","../node_modules/exceljs/dist/node_modules/core-js/internals/to-indexed-object.js","../node_modules/exceljs/dist/node_modules/core-js/internals/to-integer-or-infinity.js","../node_modules/exceljs/dist/node_modules/core-js/internals/to-length.js","../node_modules/exceljs/dist/node_modules/core-js/internals/to-object.js","../node_modules/exceljs/dist/node_modules/core-js/internals/to-primitive.js","../node_modules/exceljs/dist/node_modules/core-js/internals/to-property-key.js","../node_modules/exceljs/dist/node_modules/core-js/internals/to-string-tag-support.js","../node_modules/exceljs/dist/node_modules/core-js/internals/to-string.js","../node_modules/exceljs/dist/node_modules/core-js/internals/try-to-string.js","../node_modules/exceljs/dist/node_modules/core-js/internals/uid.js","../node_modules/exceljs/dist/node_modules/core-js/internals/use-symbol-as-uid.js","../node_modules/exceljs/dist/node_modules/core-js/internals/v8-prototype-define-bug.js","../node_modules/exceljs/dist/node_modules/core-js/internals/validate-arguments-length.js","../node_modules/exceljs/dist/node_modules/core-js/internals/weak-map-basic-detection.js","../node_modules/exceljs/dist/node_modules/core-js/internals/well-known-symbol-define.js","../node_modules/exceljs/dist/node_modules/core-js/internals/well-known-symbol-wrapped.js","../node_modules/exceljs/dist/node_modules/core-js/internals/well-known-symbol.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.array.find-index.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.array.find.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.array.includes.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.array.iterator.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.json.stringify.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.number.is-nan.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.object.assign.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.object.get-own-property-symbols.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.object.keys.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.object.values.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.promise.all.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.promise.catch.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.promise.constructor.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.promise.finally.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.promise.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.promise.race.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.promise.reject.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.promise.resolve.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.string.from-code-point.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.string.includes.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.symbol.async-iterator.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.symbol.constructor.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.symbol.for.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.symbol.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.symbol.key-for.js","../node_modules/exceljs/dist/node_modules/core-util-is/lib/util.js","../node_modules/exceljs/dist/node_modules/create-ecdh/browser.js","../node_modules/exceljs/dist/node_modules/create-hash/browser.js","../node_modules/exceljs/dist/node_modules/create-hash/md5.js","../node_modules/exceljs/dist/node_modules/create-hmac/browser.js","../node_modules/exceljs/dist/node_modules/create-hmac/legacy.js","../node_modules/exceljs/dist/node_modules/crypto-browserify/index.js","../node_modules/exceljs/dist/node_modules/dayjs/dayjs.min.js","../node_modules/exceljs/dist/node_modules/dayjs/plugin/customParseFormat.js","../node_modules/exceljs/dist/node_modules/dayjs/plugin/utc.js","../node_modules/exceljs/dist/node_modules/des.js/lib/des.js","../node_modules/exceljs/dist/node_modules/des.js/lib/des/cbc.js","../node_modules/exceljs/dist/node_modules/des.js/lib/des/cipher.js","../node_modules/exceljs/dist/node_modules/des.js/lib/des/des.js","../node_modules/exceljs/dist/node_modules/des.js/lib/des/ede.js","../node_modules/exceljs/dist/node_modules/des.js/lib/des/utils.js","../node_modules/exceljs/dist/node_modules/diffie-hellman/browser.js","../node_modules/exceljs/dist/node_modules/diffie-hellman/lib/dh.js","../node_modules/exceljs/dist/node_modules/diffie-hellman/lib/generatePrime.js","../node_modules/exceljs/dist/node_modules/diffie-hellman/lib/primes.json","../node_modules/exceljs/dist/node_modules/elliptic/lib/elliptic.js","../node_modules/exceljs/dist/node_modules/elliptic/lib/elliptic/curve/base.js","../node_modules/exceljs/dist/node_modules/elliptic/lib/elliptic/curve/edwards.js","../node_modules/exceljs/dist/node_modules/elliptic/lib/elliptic/curve/index.js","../node_modules/exceljs/dist/node_modules/elliptic/lib/elliptic/curve/mont.js","../node_modules/exceljs/dist/node_modules/elliptic/lib/elliptic/curve/short.js","../node_modules/exceljs/dist/node_modules/elliptic/lib/elliptic/curves.js","../node_modules/exceljs/dist/node_modules/elliptic/lib/elliptic/ec/index.js","../node_modules/exceljs/dist/node_modules/elliptic/lib/elliptic/ec/key.js","../node_modules/exceljs/dist/node_modules/elliptic/lib/elliptic/ec/signature.js","../node_modules/exceljs/dist/node_modules/elliptic/lib/elliptic/eddsa/index.js","../node_modules/exceljs/dist/node_modules/elliptic/lib/elliptic/eddsa/key.js","../node_modules/exceljs/dist/node_modules/elliptic/lib/elliptic/eddsa/signature.js","../node_modules/exceljs/dist/node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js","../node_modules/exceljs/dist/node_modules/elliptic/lib/elliptic/utils.js","../node_modules/exceljs/dist/node_modules/elliptic/package.json","../node_modules/exceljs/dist/node_modules/events/events.js","../node_modules/exceljs/dist/node_modules/evp_bytestokey/index.js","../node_modules/exceljs/dist/node_modules/fast-csv/build/src/index.js","../node_modules/exceljs/dist/node_modules/hash-base/index.js","../node_modules/exceljs/dist/node_modules/hash.js/lib/hash.js","../node_modules/exceljs/dist/node_modules/hash.js/lib/hash/common.js","../node_modules/exceljs/dist/node_modules/hash.js/lib/hash/hmac.js","../node_modules/exceljs/dist/node_modules/hash.js/lib/hash/ripemd.js","../node_modules/exceljs/dist/node_modules/hash.js/lib/hash/sha.js","../node_modules/exceljs/dist/node_modules/hash.js/lib/hash/sha/1.js","../node_modules/exceljs/dist/node_modules/hash.js/lib/hash/sha/224.js","../node_modules/exceljs/dist/node_modules/hash.js/lib/hash/sha/256.js","../node_modules/exceljs/dist/node_modules/hash.js/lib/hash/sha/384.js","../node_modules/exceljs/dist/node_modules/hash.js/lib/hash/sha/512.js","../node_modules/exceljs/dist/node_modules/hash.js/lib/hash/sha/common.js","../node_modules/exceljs/dist/node_modules/hash.js/lib/hash/utils.js","../node_modules/exceljs/dist/node_modules/hmac-drbg/lib/hmac-drbg.js","../node_modules/exceljs/dist/node_modules/ieee754/index.js","../node_modules/exceljs/dist/node_modules/inherits/inherits_browser.js","../node_modules/exceljs/dist/node_modules/jszip/dist/jszip.min.js","../node_modules/exceljs/dist/node_modules/lodash.escaperegexp/index.js","../node_modules/exceljs/dist/node_modules/lodash.groupby/index.js","../node_modules/exceljs/dist/node_modules/lodash.isboolean/index.js","../node_modules/exceljs/dist/node_modules/lodash.isequal/index.js","../node_modules/exceljs/dist/node_modules/lodash.isfunction/index.js","../node_modules/exceljs/dist/node_modules/lodash.isnil/index.js","../node_modules/exceljs/dist/node_modules/lodash.isundefined/index.js","../node_modules/exceljs/dist/node_modules/lodash.uniq/index.js","../node_modules/exceljs/dist/node_modules/md5.js/index.js","../node_modules/exceljs/dist/node_modules/miller-rabin/lib/mr.js","../node_modules/exceljs/dist/node_modules/minimalistic-assert/index.js","../node_modules/exceljs/dist/node_modules/minimalistic-crypto-utils/lib/utils.js","../node_modules/exceljs/dist/node_modules/parse-asn1/aesid.json","../node_modules/exceljs/dist/node_modules/parse-asn1/asn1.js","../node_modules/exceljs/dist/node_modules/parse-asn1/certificate.js","../node_modules/exceljs/dist/node_modules/parse-asn1/fixProc.js","../node_modules/exceljs/dist/node_modules/parse-asn1/index.js","../node_modules/exceljs/dist/node_modules/pbkdf2/browser.js","../node_modules/exceljs/dist/node_modules/pbkdf2/lib/async.js","../node_modules/exceljs/dist/node_modules/pbkdf2/lib/default-encoding.js","../node_modules/exceljs/dist/node_modules/pbkdf2/lib/precondition.js","../node_modules/exceljs/dist/node_modules/pbkdf2/lib/sync-browser.js","../node_modules/exceljs/dist/node_modules/pbkdf2/lib/to-buffer.js","../node_modules/exceljs/dist/node_modules/process-nextick-args/index.js","../node_modules/exceljs/dist/node_modules/process/browser.js","../node_modules/exceljs/dist/node_modules/public-encrypt/browser.js","../node_modules/exceljs/dist/node_modules/public-encrypt/mgf.js","../node_modules/exceljs/dist/node_modules/public-encrypt/privateDecrypt.js","../node_modules/exceljs/dist/node_modules/public-encrypt/publicEncrypt.js","../node_modules/exceljs/dist/node_modules/public-encrypt/withPublic.js","../node_modules/exceljs/dist/node_modules/public-encrypt/xor.js","../node_modules/exceljs/dist/node_modules/randombytes/browser.js","../node_modules/exceljs/dist/node_modules/randomfill/browser.js","../node_modules/exceljs/dist/node_modules/readable-stream/errors-browser.js","../node_modules/exceljs/dist/node_modules/readable-stream/lib/_stream_duplex.js","../node_modules/exceljs/dist/node_modules/readable-stream/lib/_stream_passthrough.js","../node_modules/exceljs/dist/node_modules/readable-stream/lib/_stream_readable.js","../node_modules/exceljs/dist/node_modules/readable-stream/lib/_stream_transform.js","../node_modules/exceljs/dist/node_modules/readable-stream/lib/_stream_writable.js","../node_modules/exceljs/dist/node_modules/readable-stream/lib/internal/streams/async_iterator.js","../node_modules/exceljs/dist/node_modules/readable-stream/lib/internal/streams/buffer_list.js","../node_modules/exceljs/dist/node_modules/readable-stream/lib/internal/streams/destroy.js","../node_modules/exceljs/dist/node_modules/readable-stream/lib/internal/streams/end-of-stream.js","../node_modules/exceljs/dist/node_modules/readable-stream/lib/internal/streams/from-browser.js","../node_modules/exceljs/dist/node_modules/readable-stream/lib/internal/streams/pipeline.js","../node_modules/exceljs/dist/node_modules/readable-stream/lib/internal/streams/state.js","../node_modules/exceljs/dist/node_modules/readable-stream/lib/internal/streams/stream-browser.js","../node_modules/exceljs/dist/node_modules/readable-stream/readable-browser.js","../node_modules/exceljs/dist/node_modules/regenerator-runtime/runtime.js","../node_modules/exceljs/dist/node_modules/ripemd160/index.js","../node_modules/exceljs/dist/node_modules/safe-buffer/index.js","../node_modules/exceljs/dist/node_modules/safer-buffer/safer.js","../node_modules/exceljs/dist/node_modules/saxes/saxes.js","../node_modules/exceljs/dist/node_modules/sha.js/hash.js","../node_modules/exceljs/dist/node_modules/sha.js/index.js","../node_modules/exceljs/dist/node_modules/sha.js/sha.js","../node_modules/exceljs/dist/node_modules/sha.js/sha1.js","../node_modules/exceljs/dist/node_modules/sha.js/sha224.js","../node_modules/exceljs/dist/node_modules/sha.js/sha256.js","../node_modules/exceljs/dist/node_modules/sha.js/sha384.js","../node_modules/exceljs/dist/node_modules/sha.js/sha512.js","../node_modules/exceljs/dist/node_modules/stream-browserify/index.js","../node_modules/exceljs/dist/node_modules/stream-browserify/node_modules/isarray/index.js","../node_modules/exceljs/dist/node_modules/stream-browserify/node_modules/readable-stream/duplex-browser.js","../node_modules/exceljs/dist/node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_duplex.js","../node_modules/exceljs/dist/node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_passthrough.js","../node_modules/exceljs/dist/node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_readable.js","../node_modules/exceljs/dist/node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_transform.js","../node_modules/exceljs/dist/node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_writable.js","../node_modules/exceljs/dist/node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/BufferList.js","../node_modules/exceljs/dist/node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/destroy.js","../node_modules/exceljs/dist/node_modules/stream-browserify/node_modules/readable-stream/passthrough.js","../node_modules/exceljs/dist/node_modules/stream-browserify/node_modules/readable-stream/readable-browser.js","../node_modules/exceljs/dist/node_modules/stream-browserify/node_modules/readable-stream/transform.js","../node_modules/exceljs/dist/node_modules/stream-browserify/node_modules/readable-stream/writable-browser.js","../node_modules/exceljs/dist/node_modules/timers-browserify/main.js","../node_modules/exceljs/dist/node_modules/util-deprecate/browser.js","../node_modules/exceljs/dist/node_modules/util/node_modules/inherits/inherits_browser.js","../node_modules/exceljs/dist/node_modules/util/support/isBufferBrowser.js","../node_modules/exceljs/dist/node_modules/util/util.js","../node_modules/exceljs/dist/node_modules/uuid/dist/index.js","../node_modules/exceljs/dist/node_modules/uuid/dist/md5-browser.js","../node_modules/exceljs/dist/node_modules/uuid/dist/nil.js","../node_modules/exceljs/dist/node_modules/uuid/dist/parse.js","../node_modules/exceljs/dist/node_modules/uuid/dist/regex.js","../node_modules/exceljs/dist/node_modules/uuid/dist/rng-browser.js","../node_modules/exceljs/dist/node_modules/uuid/dist/sha1-browser.js","../node_modules/exceljs/dist/node_modules/uuid/dist/stringify.js","../node_modules/exceljs/dist/node_modules/uuid/dist/v1.js","../node_modules/exceljs/dist/node_modules/uuid/dist/v3.js","../node_modules/exceljs/dist/node_modules/uuid/dist/v35.js","../node_modules/exceljs/dist/node_modules/uuid/dist/v4.js","../node_modules/exceljs/dist/node_modules/uuid/dist/v5.js","../node_modules/exceljs/dist/node_modules/uuid/dist/validate.js","../node_modules/exceljs/dist/node_modules/uuid/dist/version.js","../node_modules/exceljs/dist/node_modules/xmlchars/xml/1.0/ed5.js","../node_modules/exceljs/dist/node_modules/xmlchars/xml/1.1/ed2.js","../node_modules/exceljs/dist/node_modules/xmlchars/xmlns/1.0/ed3.js","../node_modules/file-saver/src/FileSaver.js","../node_modules/form-data/lib/browser.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../node_modules/inferno-create-element/dist/index.esm.js","../node_modules/inferno/dist/index.esm.js","../node_modules/jszip/dist/jszip.min.js","../node_modules/lodash/_DataView.js","../node_modules/lodash/_Hash.js","../node_modules/lodash/_ListCache.js","../node_modules/lodash/_Map.js","../node_modules/lodash/_MapCache.js","../node_modules/lodash/_Promise.js","../node_modules/lodash/_Set.js","../node_modules/lodash/_SetCache.js","../node_modules/lodash/_Stack.js","../node_modules/lodash/_Symbol.js","../node_modules/lodash/_Uint8Array.js","../node_modules/lodash/_WeakMap.js","../node_modules/lodash/_arrayFilter.js","../node_modules/lodash/_arrayLikeKeys.js","../node_modules/lodash/_arrayMap.js","../node_modules/lodash/_arrayPush.js","../node_modules/lodash/_arrayReduce.js","../node_modules/lodash/_arraySome.js","../node_modules/lodash/_asciiToArray.js","../node_modules/lodash/_asciiWords.js","../node_modules/lodash/_assocIndexOf.js","../node_modules/lodash/_baseAssignValue.js","../node_modules/lodash/_baseFor.js","../node_modules/lodash/_baseForOwn.js","../node_modules/lodash/_baseGet.js","../node_modules/lodash/_baseGetAllKeys.js","../node_modules/lodash/_baseGetTag.js","../node_modules/lodash/_baseHas.js","../node_modules/lodash/_baseHasIn.js","../node_modules/lodash/_baseIsArguments.js","../node_modules/lodash/_baseIsEqual.js","../node_modules/lodash/_baseIsEqualDeep.js","../node_modules/lodash/_baseIsMatch.js","../node_modules/lodash/_baseIsNative.js","../node_modules/lodash/_baseIsTypedArray.js","../node_modules/lodash/_baseIteratee.js","../node_modules/lodash/_baseKeys.js","../node_modules/lodash/_baseMatches.js","../node_modules/lodash/_baseMatchesProperty.js","../node_modules/lodash/_baseProperty.js","../node_modules/lodash/_basePropertyDeep.js","../node_modules/lodash/_basePropertyOf.js","../node_modules/lodash/_baseSlice.js","../node_modules/lodash/_baseTimes.js","../node_modules/lodash/_baseToString.js","../node_modules/lodash/_baseUnary.js","../node_modules/lodash/_cacheHas.js","../node_modules/lodash/_castPath.js","../node_modules/lodash/_castSlice.js","../node_modules/lodash/_coreJsData.js","../node_modules/lodash/_createBaseFor.js","../node_modules/lodash/_createCaseFirst.js","../node_modules/lodash/_createCompounder.js","../node_modules/lodash/_deburrLetter.js","../node_modules/lodash/_defineProperty.js","../node_modules/lodash/_equalArrays.js","../node_modules/lodash/_equalByTag.js","../node_modules/lodash/_equalObjects.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/_getAllKeys.js","../node_modules/lodash/_getMapData.js","../node_modules/lodash/_getMatchData.js","../node_modules/lodash/_getNative.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_getSymbols.js","../node_modules/lodash/_getTag.js","../node_modules/lodash/_getValue.js","../node_modules/lodash/_hasPath.js","../node_modules/lodash/_hasUnicode.js","../node_modules/lodash/_hasUnicodeWord.js","../node_modules/lodash/_hashClear.js","../node_modules/lodash/_hashDelete.js","../node_modules/lodash/_hashGet.js","../node_modules/lodash/_hashHas.js","../node_modules/lodash/_hashSet.js","../node_modules/lodash/_isIndex.js","../node_modules/lodash/_isKey.js","../node_modules/lodash/_isKeyable.js","../node_modules/lodash/_isMasked.js","../node_modules/lodash/_isPrototype.js","../node_modules/lodash/_isStrictComparable.js","../node_modules/lodash/_listCacheClear.js","../node_modules/lodash/_listCacheDelete.js","../node_modules/lodash/_listCacheGet.js","../node_modules/lodash/_listCacheHas.js","../node_modules/lodash/_listCacheSet.js","../node_modules/lodash/_mapCacheClear.js","../node_modules/lodash/_mapCacheDelete.js","../node_modules/lodash/_mapCacheGet.js","../node_modules/lodash/_mapCacheHas.js","../node_modules/lodash/_mapCacheSet.js","../node_modules/lodash/_mapToArray.js","../node_modules/lodash/_matchesStrictComparable.js","../node_modules/lodash/_memoizeCapped.js","../node_modules/lodash/_nativeCreate.js","../node_modules/lodash/_nativeKeys.js","../node_modules/lodash/_nodeUtil.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/_overArg.js","../node_modules/lodash/_root.js","../node_modules/lodash/_setCacheAdd.js","../node_modules/lodash/_setCacheHas.js","../node_modules/lodash/_setToArray.js","../node_modules/lodash/_stackClear.js","../node_modules/lodash/_stackDelete.js","../node_modules/lodash/_stackGet.js","../node_modules/lodash/_stackHas.js","../node_modules/lodash/_stackSet.js","../node_modules/lodash/_stringToArray.js","../node_modules/lodash/_stringToPath.js","../node_modules/lodash/_toKey.js","../node_modules/lodash/_toSource.js","../node_modules/lodash/_unicodeToArray.js","../node_modules/lodash/_unicodeWords.js","../node_modules/lodash/camelCase.js","../node_modules/lodash/capitalize.js","../node_modules/lodash/deburr.js","../node_modules/lodash/eq.js","../node_modules/lodash/get.js","../node_modules/lodash/has.js","../node_modules/lodash/hasIn.js","../node_modules/lodash/identity.js","../node_modules/lodash/isArguments.js","../node_modules/lodash/isArray.js","../node_modules/lodash/isArrayLike.js","../node_modules/lodash/isBuffer.js","../node_modules/lodash/isFunction.js","../node_modules/lodash/isLength.js","../node_modules/lodash/isObject.js","../node_modules/lodash/isObjectLike.js","../node_modules/lodash/isSymbol.js","../node_modules/lodash/isTypedArray.js","../node_modules/lodash/keys.js","../node_modules/lodash/mapKeys.js","../node_modules/lodash/mapValues.js","../node_modules/lodash/memoize.js","../node_modules/lodash/property.js","../node_modules/lodash/snakeCase.js","../node_modules/lodash/stubArray.js","../node_modules/lodash/stubFalse.js","../node_modules/lodash/toString.js","../node_modules/lodash/upperFirst.js","../node_modules/lodash/words.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/property-expr/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-draggable/build/cjs/Draggable.js","../node_modules/react-draggable/build/cjs/DraggableCore.js","../node_modules/react-draggable/build/cjs/cjs.js","../node_modules/react-draggable/build/cjs/utils/domFns.js","../node_modules/react-draggable/build/cjs/utils/getPrefix.js","../node_modules/react-draggable/build/cjs/utils/log.js","../node_modules/react-draggable/build/cjs/utils/positionFns.js","../node_modules/react-draggable/build/cjs/utils/shims.js","../node_modules/react-draggable/node_modules/clsx/dist/clsx.m.js","../node_modules/react-is/cjs/react-is.production.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/toposort/index.js","../node_modules/@babel/runtime/helpers/extends.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/clsx/dist/clsx.mjs","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../node_modules/@mui/system/esm/useThemeWithoutDefault.js","../node_modules/@mui/system/esm/useTheme.js","../node_modules/@mui/material/styles/useTheme.js","../node_modules/@mui/material/Grid/GridContext.js","../node_modules/@mui/material/Grid/gridClasses.js","../node_modules/@mui/material/Grid/Grid.js","../node_modules/@remix-run/router/history.ts","../node_modules/@remix-run/router/utils.ts","../node_modules/@remix-run/router/router.ts","../node_modules/react-router/lib/context.ts","../node_modules/react-router/lib/hooks.tsx","../node_modules/react-router/lib/deprecations.ts","../node_modules/react-router/lib/components.tsx","../node_modules/react-router-dom/dom.ts","../node_modules/react-router-dom/index.tsx","../node_modules/react-toastify/node_modules/clsx/dist/clsx.m.js","common/AppContext.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/platform/common/utils.js","../node_modules/axios/lib/platform/index.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/helpers/throttle.js","../node_modules/axios/lib/helpers/progressEventReducer.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/helpers/resolveConfig.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/composeSignals.js","../node_modules/axios/lib/helpers/trackStream.js","../node_modules/axios/lib/adapters/fetch.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","common/constants.js","services/AuthService.js","common/common.js","components/route/PrivateRoute.js","components/route/GardiyanRoute.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/utils/reflow.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/@mui/material/transitions/utils.js","../node_modules/@mui/material/Collapse/collapseClasses.js","../node_modules/@mui/material/Collapse/Collapse.js","../node_modules/@mui/material/styles/getOverlayAlpha.js","../node_modules/@mui/material/Paper/paperClasses.js","../node_modules/@mui/material/Paper/Paper.js","../node_modules/@mui/material/Accordion/AccordionContext.js","../node_modules/@mui/utils/esm/isHostComponent/isHostComponent.js","../node_modules/@mui/utils/esm/appendOwnerState/appendOwnerState.js","../node_modules/@mui/utils/esm/resolveComponentProps/resolveComponentProps.js","../node_modules/@mui/utils/esm/extractEventHandlers/extractEventHandlers.js","../node_modules/@mui/utils/esm/omitEventHandlers/omitEventHandlers.js","../node_modules/@mui/utils/esm/mergeSlotProps/mergeSlotProps.js","../node_modules/@mui/material/utils/useSlot.js","../node_modules/@mui/material/Accordion/accordionClasses.js","../node_modules/@mui/material/Accordion/Accordion.js","../node_modules/react-transition-group/esm/utils/ChildMapping.js","../node_modules/react-transition-group/esm/TransitionGroup.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@mui/material/ButtonBase/Ripple.js","../node_modules/@mui/material/ButtonBase/touchRippleClasses.js","../node_modules/@mui/material/ButtonBase/TouchRipple.js","../node_modules/@mui/material/ButtonBase/buttonBaseClasses.js","../node_modules/@mui/material/ButtonBase/ButtonBase.js","../node_modules/@mui/material/AccordionSummary/accordionSummaryClasses.js","../node_modules/@mui/material/AccordionSummary/AccordionSummary.js","../node_modules/@mui/material/AccordionDetails/accordionDetailsClasses.js","../node_modules/@mui/material/AccordionDetails/AccordionDetails.js","../node_modules/@mui/material/IconButton/iconButtonClasses.js","../node_modules/@mui/material/IconButton/IconButton.js","../node_modules/@mui/material/Button/buttonClasses.js","../node_modules/@mui/material/ButtonGroup/ButtonGroupContext.js","../node_modules/@mui/material/ButtonGroup/ButtonGroupButtonContext.js","../node_modules/@mui/material/Button/Button.js","../node_modules/@mui/material/internal/svg-icons/Cancel.js","../node_modules/@mui/material/Chip/chipClasses.js","../node_modules/@mui/material/Chip/Chip.js","../node_modules/@mui/system/esm/createBox.js","../node_modules/@mui/material/Box/boxClasses.js","../node_modules/@mui/material/Box/Box.js","../node_modules/final-form/dist/final-form.es.js","../node_modules/react-final-form/dist/react-final-form.es.js","../node_modules/@mui/icons-material/esm/Search.js","../node_modules/@mui/material/TextareaAutosize/TextareaAutosize.js","../node_modules/@mui/material/FormControl/formControlState.js","../node_modules/@mui/material/FormControl/FormControlContext.js","../node_modules/@mui/material/FormControl/useFormControl.js","../node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.js","../node_modules/@mui/material/GlobalStyles/GlobalStyles.js","../node_modules/@mui/material/InputBase/utils.js","../node_modules/@mui/material/InputBase/inputBaseClasses.js","../node_modules/@mui/material/InputBase/InputBase.js","../node_modules/@mui/material/Input/inputClasses.js","../node_modules/@mui/material/Input/Input.js","../node_modules/@mui/material/FilledInput/filledInputClasses.js","../node_modules/@mui/material/FilledInput/FilledInput.js","../node_modules/@mui/material/OutlinedInput/NotchedOutline.js","../node_modules/@mui/material/OutlinedInput/outlinedInputClasses.js","../node_modules/@mui/material/OutlinedInput/OutlinedInput.js","../node_modules/@mui/material/FormLabel/formLabelClasses.js","../node_modules/@mui/material/FormLabel/FormLabel.js","../node_modules/@mui/material/InputLabel/inputLabelClasses.js","../node_modules/@mui/material/InputLabel/InputLabel.js","../node_modules/@mui/material/FormControl/formControlClasses.js","../node_modules/@mui/material/FormControl/FormControl.js","../node_modules/@mui/material/FormHelperText/formHelperTextClasses.js","../node_modules/@mui/material/FormHelperText/FormHelperText.js","../node_modules/@mui/utils/esm/getReactElementRef/getReactElementRef.js","../node_modules/@mui/system/esm/RtlProvider/index.js","../node_modules/@mui/utils/esm/useSlotProps/useSlotProps.js","../node_modules/@mui/material/List/ListContext.js","../node_modules/@mui/material/List/listClasses.js","../node_modules/@mui/material/List/List.js","../node_modules/@mui/utils/esm/getScrollbarSize/getScrollbarSize.js","../node_modules/@mui/material/utils/getScrollbarSize.js","../node_modules/@mui/material/MenuList/MenuList.js","../node_modules/@mui/material/Grow/Grow.js","../node_modules/@mui/material/Unstable_TrapFocus/FocusTrap.js","../node_modules/@mui/material/Portal/Portal.js","../node_modules/@mui/material/Fade/Fade.js","../node_modules/@mui/material/Backdrop/backdropClasses.js","../node_modules/@mui/material/Backdrop/Backdrop.js","../node_modules/@mui/material/Modal/ModalManager.js","../node_modules/@mui/material/Modal/useModal.js","../node_modules/@mui/material/Modal/modalClasses.js","../node_modules/@mui/material/Modal/Modal.js","../node_modules/@mui/material/Popover/popoverClasses.js","../node_modules/@mui/material/Popover/Popover.js","../node_modules/@mui/material/Menu/menuClasses.js","../node_modules/@mui/material/Menu/Menu.js","../node_modules/@mui/material/NativeSelect/nativeSelectClasses.js","../node_modules/@mui/material/NativeSelect/NativeSelectInput.js","../node_modules/@mui/material/Select/selectClasses.js","../node_modules/@mui/material/Select/SelectInput.js","../node_modules/@mui/material/internal/svg-icons/ArrowDropDown.js","../node_modules/@mui/material/Select/Select.js","../node_modules/@mui/material/TextField/textFieldClasses.js","../node_modules/@mui/material/TextField/TextField.js","components/inputs/form-inputs/TextInputForm.js","../node_modules/@mui/utils/esm/usePreviousProps/usePreviousProps.js","../node_modules/@mui/material/useAutocomplete/useAutocomplete.js","../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../node_modules/@popperjs/core/lib/utils/math.js","../node_modules/@popperjs/core/lib/utils/userAgent.js","../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../node_modules/@popperjs/core/lib/enums.js","../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../node_modules/@popperjs/core/lib/utils/debounce.js","../node_modules/@popperjs/core/lib/createPopper.js","../node_modules/@popperjs/core/lib/utils/mergeByName.js","../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../node_modules/@popperjs/core/lib/utils/getVariation.js","../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../node_modules/@popperjs/core/lib/dom-utils/contains.js","../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../node_modules/@popperjs/core/lib/utils/within.js","../node_modules/@popperjs/core/lib/modifiers/hide.js","../node_modules/@popperjs/core/lib/popper.js","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../node_modules/@popperjs/core/lib/modifiers/offset.js","../node_modules/@popperjs/core/lib/modifiers/flip.js","../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../node_modules/@popperjs/core/lib/modifiers/arrow.js","../node_modules/@mui/material/Popper/popperClasses.js","../node_modules/@mui/material/Popper/BasePopper.js","../node_modules/@mui/material/Popper/Popper.js","../node_modules/@mui/material/ListSubheader/listSubheaderClasses.js","../node_modules/@mui/material/ListSubheader/ListSubheader.js","../node_modules/@mui/material/internal/svg-icons/Close.js","../node_modules/@mui/material/Autocomplete/autocompleteClasses.js","../node_modules/@mui/material/Autocomplete/Autocomplete.js","../node_modules/@mui/material/CircularProgress/circularProgressClasses.js","../node_modules/@mui/material/CircularProgress/CircularProgress.js","../node_modules/@mui/icons-material/esm/Add.js","../node_modules/@mui/icons-material/esm/Edit.js","../node_modules/@mui/icons-material/esm/Clear.js","../node_modules/@mui/system/esm/createStyled.js","../node_modules/@mui/system/esm/styled.js","components/inputs/form-inputs/AutocomplateInputForm.js","theme/theme.js","../node_modules/@mui/material/styles/cssUtils.js","../node_modules/@mui/system/esm/colorManipulator.js","../node_modules/@mui/material/Skeleton/skeletonClasses.js","../node_modules/@mui/material/Skeleton/Skeleton.js","../node_modules/@mui/material/Typography/typographyClasses.js","../node_modules/@mui/material/Typography/Typography.js","components/inputs/form-inputs/FilterFieldWrapper.js","common/entityconstants.js","../node_modules/@mui/material/internal/switchBaseClasses.js","../node_modules/@mui/material/internal/SwitchBase.js","../node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","../node_modules/@mui/material/internal/svg-icons/CheckBox.js","../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","../node_modules/@mui/material/Checkbox/checkboxClasses.js","../node_modules/@mui/material/Checkbox/Checkbox.js","components/inputs/form-inputs/CheckboxForm.js","components/inputs/form-inputs/DateInputForm2.js","components/buttons/PopoverViaButton.js","../node_modules/@mui/material/ListItem/listItemClasses.js","../node_modules/@mui/material/ListItemButton/listItemButtonClasses.js","../node_modules/@mui/material/ListItemSecondaryAction/listItemSecondaryActionClasses.js","../node_modules/@mui/material/ListItemSecondaryAction/ListItemSecondaryAction.js","../node_modules/@mui/material/ListItem/ListItem.js","components/buttons/custom/NavigateListItem.js","../node_modules/@mui/material/Dialog/dialogClasses.js","../node_modules/@mui/material/Dialog/DialogContext.js","../node_modules/@mui/material/Dialog/Dialog.js","../node_modules/@mui/material/DialogTitle/dialogTitleClasses.js","../node_modules/@mui/material/DialogTitle/DialogTitle.js","components/dialogs/BootsrapDialogTitle.js","../node_modules/nanoclone/src/index.js","components/dialogs/DraggablePaper.js","../node_modules/yup/es/util/printValue.js","../node_modules/yup/es/locale.js","../node_modules/yup/es/util/isSchema.js","../node_modules/yup/es/Condition.js","../node_modules/yup/es/util/toArray.js","../node_modules/yup/es/ValidationError.js","../node_modules/yup/es/util/runTests.js","../node_modules/yup/es/Reference.js","../node_modules/yup/es/util/createValidation.js","../node_modules/yup/es/util/reach.js","../node_modules/yup/es/util/ReferenceSet.js","../node_modules/yup/es/schema.js","../node_modules/yup/es/mixed.js","../node_modules/yup/es/util/isAbsent.js","../node_modules/yup/es/boolean.js","../node_modules/yup/es/string.js","../node_modules/yup/es/number.js","../node_modules/yup/es/util/isodate.js","../node_modules/yup/es/date.js","../node_modules/yup/es/util/sortByKeyOrder.js","../node_modules/yup/es/object.js","../node_modules/yup/es/util/sortFields.js","../node_modules/yup/es/array.js","../node_modules/yup/es/setLocale.js","common/constant-functions/validateFormValues.js","hooks/use-dialog.js","../node_modules/@mui/material/DialogActions/dialogActionsClasses.js","../node_modules/@mui/material/DialogActions/DialogActions.js","components/dialogs/CikisAlertDialog.js","components/dialogs/ScrollDialog.js","components/dialogs/DialogContentWrapper.js","../node_modules/@mui/system/esm/useThemeProps/useThemeProps.js","../node_modules/@mui/system/esm/useThemeProps/getThemeProps.js","../node_modules/@mui/system/esm/Stack/createStack.js","../node_modules/@mui/system/esm/Stack/Stack.js","hooks/use-basic-dialog.js","../node_modules/@mui/material/Alert/alertClasses.js","../node_modules/@mui/material/internal/svg-icons/SuccessOutlined.js","../node_modules/@mui/material/internal/svg-icons/ReportProblemOutlined.js","../node_modules/@mui/material/internal/svg-icons/ErrorOutline.js","../node_modules/@mui/material/internal/svg-icons/InfoOutlined.js","../node_modules/@mui/material/Alert/Alert.js","../node_modules/@mui/material/AlertTitle/alertTitleClasses.js","../node_modules/@mui/material/AlertTitle/AlertTitle.js","pages/Rapor/SirketBazliSureAnaliziSutunInfoDialog.js","components/inputs/form-inputs/FilterFieldWrapperForCheckBox.js","components/filter/PageFilter.js","common/constant-functions/parseHtmlString.js","common/constant-functions/sorumluJoin.js","components/inputs/custom-form-inputs/SirketInputForm.js","entities/Not.js","pages/Not/NotConfig.js","common/constant-functions/loadingVisible.js","common/constant-functions/printToast.js","hooks/use-page-record.js","components/inputs/form-inputs/RichTextEditor.js","hooks/use-field-with.js","components/inputs/form-inputs/FieldWrapper.js","components/dialogs/DialogActionsWrapper.js","components/inputs/form-inputs/MultipleAutoComplateInputForm.js","components/buttons/ButtonWrapper.js","../node_modules/@mui/icons-material/esm/Save.js","../node_modules/@mui/icons-material/esm/Delete.js","../node_modules/@mui/material/DialogContent/dialogContentClasses.js","../node_modules/@mui/material/DialogContent/DialogContent.js","../node_modules/@mui/material/DialogContentText/dialogContentTextClasses.js","../node_modules/@mui/material/DialogContentText/DialogContentText.js","components/dialogs/AlertDialog.js","components/dialogs/custom/DeleteDialog.js","../node_modules/@mui/icons-material/esm/Close.js","components/buttons/custom/CancelButton.js","components/buttons/custom/RecordButton.js","components/forms/FormComponent.js","components/dialogs/DialogContentTop.js","pages/Not/NotRecord.js","../node_modules/@mui/material/Stack/Stack.js","common/constant-functions/findPrimaryKey.js","../node_modules/devextreme/esm/exporter/exceljs/export_format.js","../node_modules/devextreme/esm/exporter/common/export_load_panel.js","../node_modules/devextreme/esm/exporter/exceljs/export.js","../node_modules/devextreme/esm/exporter/exceljs/export_merged_ranges_manager.js","../node_modules/devextreme/esm/exporter/exceljs/export_data_grid.js","components/buttons/custom/CustomColoredButton.js","components/buttons/ExportButton.js","components/buttons/SmallButton.js","common/constant-functions/getTeklifGoruntule.js","common/gridconstants.js","components/buttons/custom/GridClearButton.js","hooks/use-grid-state.js","components/grid/EditablePageGridWithList.js","../node_modules/@mui/utils/esm/scrollLeft/scrollLeft.js","../node_modules/@mui/material/internal/animate.js","../node_modules/@mui/material/Tabs/ScrollbarSize.js","../node_modules/@mui/material/internal/svg-icons/KeyboardArrowLeft.js","../node_modules/@mui/material/internal/svg-icons/KeyboardArrowRight.js","../node_modules/@mui/material/TabScrollButton/tabScrollButtonClasses.js","../node_modules/@mui/material/TabScrollButton/TabScrollButton.js","../node_modules/@mui/material/Tabs/tabsClasses.js","../node_modules/@mui/material/Tabs/Tabs.js","../node_modules/@mui/material/Tab/tabClasses.js","../node_modules/@mui/material/Tab/Tab.js","components/tab/TabPanel.js","../node_modules/@mui/material/AppBar/appBarClasses.js","../node_modules/@mui/material/AppBar/AppBar.js","components/tab/MainTab.js","pages/Not/Not.js","components/grid/PageGrid.js","components/pdf/PageReport.js","components/pdf/PdfDialog.js","components/pdf/PageReportNew.js","../node_modules/@mui/material/Tooltip/tooltipClasses.js","../node_modules/@mui/material/Tooltip/Tooltip.js","common/constant-functions/getTalepDurumuArr.js","components/inputs/custom-form-inputs/KullaniciInputForm.js","components/inputs/custom-form-inputs/BayilerInputForm.js","entities/Talep.js","pages/Home/HomeConfig.js","../node_modules/@mui/icons-material/esm/Cancel.js","../node_modules/@mui/icons-material/esm/Preview.js","../node_modules/@mui/icons-material/esm/Task.js","../node_modules/@mui/icons-material/esm/Comment.js","../node_modules/@mui/icons-material/esm/Redo.js","pages/Personel/PersonelConfig.js","hooks/use-personel-record.js","pages/Personel/PersonelRecord.js","components/inputs/custom-form-inputs/PersonelInputForm.js","../node_modules/react-number-format/dist/react-number-format.es.js","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","components/inputs/form-inputs/NumberInputForm.js","components/buttons/PopoverButton.js","components/buttons/custom/IsKapatmaBtn.js","hooks/use-fetch-dialog.js","../node_modules/@mui/icons-material/esm/Download.js","../node_modules/@mui/material/TableContainer/tableContainerClasses.js","../node_modules/@mui/material/TableContainer/TableContainer.js","../node_modules/@mui/material/Table/TableContext.js","../node_modules/@mui/material/Table/tableClasses.js","../node_modules/@mui/material/Table/Table.js","../node_modules/@mui/material/Table/Tablelvl2Context.js","../node_modules/@mui/material/TableHead/tableHeadClasses.js","../node_modules/@mui/material/TableHead/TableHead.js","../node_modules/@mui/material/TableRow/tableRowClasses.js","../node_modules/@mui/material/TableRow/TableRow.js","../node_modules/@mui/material/TableCell/tableCellClasses.js","../node_modules/@mui/material/TableCell/TableCell.js","../node_modules/@mui/material/TableBody/tableBodyClasses.js","../node_modules/@mui/material/TableBody/TableBody.js","components/file/FileList.js","../node_modules/@mui/icons-material/esm/Upload.js","components/buttons/custom/DosyaYukleButton.js","components/file/DosyaYukle.js","components/file/FileViewer.js","components/file/FileViewDialog.js","components/buttons/custom/EkDosyaButton.js","common/apimessage.js","hooks/use-handle-delete.js","components/buttons/custom/SaveButton.js","pages/Musteri-talep/IsKapatmaDialog.js","hooks/use-submit.js","pages/Home/TemsilciAnaliziDialog.js","pages/Home/TalepYonlendirmeConfig.js","pages/Home/TalepYonlendirmeDialog.js","pages/BayiTalep/BayiTalepYonlendirmeConfig.js","pages/BayiTalep/BayiTalepYonlendirmeDialog.js","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/Divider/Divider.js","components/inputs/custom-form-inputs/yorum/YorumInputForm.js","pages/Musteri-talep/Yorum.js","pages/Gorev/IsYorumConfig.js","pages/Gorev/TalepDetayiDialog.js","entities/MusteriTalep.js","pages/Musteri-talep/MusteriTalepConfig.js","components/buttons/custom/YorumlariGoruntuleButton.js","components/buttons/custom/TalepGoruntuleButton.js","components/inputs/form-inputs/MultilineTextInputForm.js","pages/Gorev/DeleteDescriptionDialog.js","pages/Home/OnAnalizDialog.js","pages/Home/BayiTemsilciAnaliziDialog.js","entities/TahminiTermin.js","pages/TahminiTermin/TahminiTerminConfig.js","../node_modules/@mui/material/Card/cardClasses.js","../node_modules/@mui/material/Card/Card.js","../node_modules/@mui/material/CardContent/cardContentClasses.js","../node_modules/@mui/material/CardContent/CardContent.js","components/grid/DipToplamGrid.js","components/grid/EditGrid.js","components/inputs/form-inputs/CustomDateInputFormForStates.js","pages/TahminiTermin/TahminiTerminDialog.js","pages/IseBaslangicGirisi/IseBaslangicGirisiConfig.js","entities/IseBaslangicGirisi.js","pages/IseBaslangicGirisi/IseBaslangicGirisiDialog.js","pages/Home/AnalizSonucuDialog.js","components/buttons/custom/AnalizSonucuButton.js","pages/Gorev/IsYorumDialog.js","pages/Gorev/IsYorumList.js","pages/Home/YorumDialog.js","pages/Home/TeklifRecord.js","pages/Home/BayiTeklifRecord.js","pages/Personel/EmailDialog.js","pages/Home/IsSonucuDialog.js","pages/Home/TeklifIptalDialog.js","pages/Musteri-talep/BayiTalebiMerkezeGonderDialog.js","pages/Home/BayidenMusteriyeDirekTeklifRecord.js","pages/Home/MusteriTalepDetayiDialog.js","pages/Home/TalepTarihAtamaConfig.js","pages/Home/TalepTarihAtamaDialog.js","components/buttons/custom/TamamButton.js","pages/Home/YonlendirmeAciklamasiDialog.js","pages/Home/HomeRecordDialogs.js","common/constant-functions/personelInputOnChangeExtra.js","../node_modules/@mui/icons-material/esm/Send.js","components/buttons/custom/BayiTalebiOnaylaBtn.js","entities/SirketKisiler.js","pages/SirketKisiler/SirketKisilerConfig.js","pages/DinamikTanimlar/DinamikTanimlarConfig.js","hooks/use-dinamik-tanimlar-record.js","pages/DinamikTanimlar/DinamikTanimlarRecord.js","components/inputs/custom-form-inputs/DinamikTanimlarInputForm.js","pages/SirketKisiler/SirketKisilerRecord.js","components/inputs/custom-form-inputs/SirketKisisiInputForm.js","pages/Home/HomeRecord.js","components/buttons/custom/GridTeklifPdfButton.js","components/buttons/custom/GridIsSonucuButton.js","components/buttons/custom/GridTeklifPdfButtonBayi.js","pages/Home/Home.js","hooks/use-fetch.js","entities/Sirket.js","pages/Sirket/SirketConfig.js","pages/Profile/SirketBilgileri.js","components/file/CustomDropZone.js","pages/Profile/LogoGuncelleme.js","pages/Profile/Profile.js","../node_modules/@mui/icons-material/esm/VisibilityOff.js","../node_modules/@mui/icons-material/esm/Visibility.js","components/inputs/form-inputs/PasswordInputForm.js","../node_modules/@mui/icons-material/esm/Key.js","pages/Profile/kullanici-bilgileri/SifreGuncelleme.js","pages/Yetki-grubu/YetkiGrubuConfig.js","hooks/use-yetki-grubu-record.js","pages/Yetki-grubu/YetkiGrubuRecord.js","components/inputs/custom-form-inputs/YetkiGrubuInputForm.js","entities/Kullanici.js","pages/Kullanici/KullaniciConfig.js","pages/Profile/kullanici-bilgileri/KullaniciBilgisiGuncelleme.js","pages/Profile/kullanici-bilgileri/KullaniciBilgileri.js","pages/Profile/Yardim.js","pages/Profile/YardimPdf.js","components/inputs/form-inputs/DateInputForm.js","common/constant-functions/sozlesmeTarihiBitmisMi.js","pages/Musteri-talep/MusteriTalepRecord.js","pages/Musteri-talep/TeklifOnayDialog.js","pages/Musteri-talep/TeklifRedDialog.js","common/constant-functions/compareWithMonths.js","pages/Musteri-talep/MusteriTalep.js","components/buttons/custom/DestekSuresiDurumuButton.js","pages/Destek-gecmisi/DestekSuresiDialog.js","common/constant-functions/fillYearForSelect.js","pages/Destek/DestekConfig.js","entities/Destek.js","pages/Destek/DestekDetayRecord.js","pages/Destek/DestekRecord.js","pages/Destek/Destek.js","pages/Sirket/HizmetForm.js","common/constant-functions/personelJoin.js","pages/Sirket/SirketToplantiConfig.js","entities/SirketToplanti.js","pages/SirketKisiler/SirketKisiler.js","components/inputs/custom-form-inputs/UlkeInputForm.js","components/inputs/custom-form-inputs/SehirInputForm.js","components/inputs/custom-form-inputs/IlceInputForm.js","components/inputs/custom-form-inputs/MahalleInputForm.js","pages/Sirket/SirketTabs.js","common/paketconstants.js","../node_modules/@mui/material/FormControlLabel/formControlLabelClasses.js","../node_modules/@mui/material/FormControlLabel/FormControlLabel.js","components/inputs/form-inputs/IndeterminateCheckbox.js","pages/Sirket/PaketBilgileriDialog.js","pages/Sirket/AnlasmaBilgileriDialog.js","entities/LisansPaketBilgileriErp.js","pages/LisansPaketBilgileriErp/LisansPaketBilgileriERPConfig.js","components/inputs/custom-form-inputs/UrunlerInputForm.js","pages/LisansPaketBilgileriErp/LisansPaketBilgileriErpDetayRecord.js","pages/LisansPaketBilgileriErp/LisansPaketBilgileriErpDetay.js","pages/LisansPaketBilgileriErp/LisansPaketBilgileriERPDialog.js","entities/LisansPaketBilgileriCloud.js","pages/LisansPaketBilgileriCloud/LisansPaketBilgileriCloudConfig.js","pages/PotansiyelKisiler/PotansiyelKisilerConfig.js","entities/PotansiyelKisiler.js","pages/PotansiyelKisiler/PotansiyelKisilerRecord.js","components/inputs/custom-form-inputs/PotansiyelKisilerInputForm.js","components/inputs/custom-form-inputs/SirketKisilerInputForm.js","components/inputs/form-inputs/NewTextInputForm.js","pages/LisansPaketBilgileriCloud/LisansPaketBilgileriCloudDetayRecord.js","pages/LisansPaketBilgileriCloud/LisansPaketBilgileriCloudDetay.js","pages/LisansPaketBilgileriCloud/LisansPaketBilgileriCloudDialog.js","entities/AnlasmaOdemeBilgileriErp.js","pages/AnlasmaOdemeBilgileriErp/AnlasmaOdemeBilgileriERPConfig.js","pages/AnlasmaOdemeBilgileriErp/AnlasmaOdemeBilgileriERPDetayRecord.js","pages/AnlasmaOdemeBilgileriErp/AnlasmaOdemeBilgileriERPDetay.js","pages/AnlasmaOdemeBilgileriErp/AnlasmaOdemeBilgileriERPDialog.js","entities/OdemeBilgileriCloud.js","entities/AnlasmaBilgileriCloud.js","pages/AnlasmaOdemeBilgileriCloud/AnlasmaOdemeBilgileriCloudConfig.js","pages/AnlasmaOdemeBilgileriCloud/AnlasmaBilgileriCloudDetayRecord.js","pages/AnlasmaOdemeBilgileriCloud/AnlasmaBilgileriCloudDetay.js","pages/AnlasmaOdemeBilgileriCloud/OdemeBilgileriCloudDetayRecord.js","pages/AnlasmaOdemeBilgileriCloud/OdemeBilgileriCloudDetay.js","pages/AnlasmaOdemeBilgileriCloud/AnlasmaOdemeBilgileriCloudDialog.js","pages/Sirket/SirketRecord.js","pages/Sirket/Sirket.js","pages/UrunGrubu/UrunGrubuConfig.js","hooks/use-urun-grubu-record.js","pages/UrunGrubu/UrunGrubuRecord.js","components/inputs/custom-form-inputs/UrunGrubuInputForm.js","entities/Urunler.js","pages/Urunler/UrunlerConfig.js","pages/Urunler/UrunlerRecord.js","pages/Urunler/Urunler.js","pages/Rapor/SirketBazliSureAnaliziConfig.js","entities/SirketBazliSureAnalizi.js","pages/Rapor/SirketBazliSureAnalizi.js","../node_modules/@mui/system/esm/Container/createContainer.js","../node_modules/@mui/material/Container/Container.js","pages/Login/Login.js","entities/Yetki.js","pages/Yetki/YetkiConfig.js","entities/YetkiEkrani.js","common/constant-functions/ekranAdiGetir.js","components/grid/EditablePageGrid.js","common/constant-functions/getEkranKoduArr.js","hooks/use-yetki-values.js","pages/Yetki/YetkiRecord.js","pages/Yetki/Yetki.js","pages/KullaniciYetki/KullaniciYetkiConfig.js","hooks/use-kullanici-yetki-values.js","pages/KullaniciYetki/KullaniciYetkiRecord.js","pages/Kullanici/KullaniciParametreleriDialog.js","pages/Kullanici/KullaniciRecord.js","pages/Kullanici/Kullanici.js","pages/Destek-gecmisi/YazilimsalDestekConfig.js","entities/YazilimsalDestek.js","pages/Destek-gecmisi/GenelDestekConfig.js","entities/GenelDestek.js","pages/Destek-gecmisi/DestekGecmisi.js","entities/DestekAsimTahsilat.js","components/pdf/PdfDialogWithData.js","entities/YazilimsalTahsilat.js","entities/KullaniciAnalizi.js","pages/Rapor/KullaniciAnaliziConfig.js","pages/Rapor/KullaniciAnalizi.js","components/grid/ScrollableCell.js","entities/BekleyenGorev.js","pages/Gorev/BekleyenGorevConfig.js","pages/Gorev/BekleyenGorev.js","entities/Gorev.js","pages/Gorev/GorevConfig.js","pages/Gorev/Gorev.js","pages/Gorev/BayiBekleyenGorevConfig.js","pages/Gorev/BayiIsYorumConfig.js","pages/Gorev/BayiIsYorumDialog.js","pages/Gorev/BayiBekleyenGorev.js","pages/Gorev/BayiGorevConfig.js","pages/Gorev/BayiGorev.js","pages/Gorev/Gorevler.js","entities/IsSonucuRaporu.js","pages/Rapor/IsSonucuRaporuConfig.js","pages/Rapor/IsSonucuRaporu.js","entities/YeniEklenenOzellikler.js","pages/Rapor/YeniEklenenOzelliklerConfig.js","pages/Rapor/YeniEklenenOzellikler.js","entities/Toplanti.js","pages/Toplanti/ToplantiConfig.js","../node_modules/@mui/icons-material/esm/SupportAgent.js","../node_modules/@mui/icons-material/esm/Assignment.js","components/inputs/form-inputs/DateTimeInputForm.js","pages/Sirket/HizmetFormDialog.js","pages/Toplanti/ToplantiRecord.js","pages/Toplanti/Toplanti.js","entities/KontrolEdilecekIsler.js","pages/Kontrol-edilecek-isler/KontrolEdilecekIslerConfig.js","pages/Kontrol-edilecek-isler/KontrolEdilecekIsler.js","entities/FiyatListeMaster.js","pages/FiyatListesi/FiyatListeMasterConfig.js","pages/FiyatListesi/FiyatListeDetayConfig.js","entities/FiyatListeDetay.js","pages/FiyatListesi/FiyatListeDetayRecord.js","pages/FiyatListesi/FiyatListeDetay.js","pages/FiyatListesi/FiyatListeMasterRecord.js","pages/FiyatListesi/FiyatListeMaster.js","components/inputs/custom-form-inputs/FiyatListesiInputForm.js","entities/Bayiler.js","pages/Bayiler/BayilerConfig.js","pages/Bayiler/BayiAnlasmaBilgileriDialog.js","pages/Bayiler/BayilerRecord.js","pages/Bayiler/Bayiler.js","pages/PotansiyelMusteri/PotansiyelMusteriConfig.js","entities/PotansiyelMusteri.js","pages/PotansiyelKisiler/PotansiyelKisiler.js","components/inputs/custom-form-inputs/PotansiyelMusteriInputForm.js","components/inputs/form-inputs/CheckboxFormForFilterCheckGroup.js","entities/Gorusmeler.js","pages/Gorusmeler/GorusmelerConfig.js","../node_modules/@mui/material/CardHeader/cardHeaderClasses.js","../node_modules/@mui/material/CardHeader/CardHeader.js","pages/Teklif/TeklifMasterConfig.js","entities/TeklifMaster.js","pages/Teklif/TeklifDetayConfig.js","entities/TeklifDetay.js","entities/TeklifDetayDipToplam.js","components/box/CustomBox.js","pages/Urunler/UrunAciklamasiDialog.js","pages/Teklif/TeklifDetayRecord.js","pages/Teklif/TeklifDetay.js","pages/Teklif/TopluIskontoDialog.js","components/inputs/custom-form-inputs/PotansiyelMusteriEklemeliInputForm.js","components/buttons/custom/SatisTeklifiOnayliPdfDosyasiButton.js","pages/Teklif/TeklifiReddedildiDialog.js","pages/Teklif/TeklifiDovizliyeCevirDialog.js","components/forms/ProgressBar.js","entities/TeklifProjeDetay.js","pages/TeklifProje/TeklifProjeMasterConfig.js","pages/TeklifProje/TeklifProjeDetayConfig.js","pages/TeklifProje/TeklifProjeDetayRecord.js","pages/TeklifProje/TeklifProjeDetay.js","pages/TeklifProje/TeklifProjeMasterRecord.js","components/inputs/form-inputs/YuzdeliInputForm.js","pages/Teklif/TeklifOdemePlaniDialog.js","components/pdf/PdfDialogNew.js","pages/Teklif/TeklifOdemeBilgileriDialog.js","pages/Teklif/TeklifMasterRecord.js","entities/GorusmeHatirlatmalari.js","pages/GorusmeHatirlatmalari/GorusmeHatirlatmaConfig.js","pages/GorusmeHatirlatmalari/GorusmeHatirlatmaRecord.js","pages/GorusmeHatirlatmalari/GorusmeHatirlatma.js","pages/Gorusmeler/GorusmeHatirlatmaDialog.js","pages/ReferansVeren/ReferansVerenConfig.js","hooks/use-referans-veren-record.js","pages/ReferansVeren/ReferansVerenRecord.js","components/inputs/custom-form-inputs/ReferansVerenInputForm.js","entities/GorusmeAciklamalari.js","pages/GorusmeAciklamalari/GorusmeAciklamalariConfig.js","pages/GorusmeAciklamalari/GorusmeAciklamalariRecord.js","pages/GorusmeAciklamalari/GorusmeAciklamalari.js","components/inputs/custom-form-inputs/KullaniciListForGorusmeAtamaInputForm.js","pages/Gorusmeler/GorusmeAtamaDialog.js","pages/GorusmedenTeklifSecimi/GorusmedenTeklifSecimiListConfig.js","entities/GorusmedenTeklifSecimi.js","components/grid/SelectableGrid.js","../node_modules/@mui/icons-material/esm/Undo.js","pages/GorusmedenTeklifSecimi/GorusmedenTeklifSecimiList.js","pages/Gorusmeler/GorusmelerRecord.js","pages/Gorusmeler/GorusmelerPotansiyelMusteriden.js","pages/PotansiyelMusteri/PotansiyelMusteriRecord.js","pages/PotansiyelMusteri/PotansiyelMusteri.js","pages/Teklif/TeklifMaster.js","pages/Gorusmeler/Gorusmeler.js","pages/ProjeSurecTakip/ProjeSurecTakipConfig.js","entities/ProjeSurecTakip.js","pages/ProjeSurecTakip/ProjeSurecTakipDetayConfig.js","entities/ProjeSurecTakipDetay.js","pages/ProjeSurecTakip/ProjeSurecTakipDetayRecord.js","pages/ProjeSurecTakip/ProjeSurecTakipDetay.js","components/inputs/custom-form-inputs/ProgressBarInputForm.js","pages/ProjeSurecTakip/ProjeSurecTakipRecord.js","pages/ProjeSurecTakip/ProjeSurecTakip.js","common/denemeData.js","pages/GorevlerGantt/GorevlerGantt.js","entities/GorusmeMailTemplate.js","entities/TeklifMailTemplate.js","entities/SozlesmeMailTemplate.js","pages/MailOlaylariDuzenle/GorusmeMailTemplateConfig.js","pages/MailOlaylariDuzenle/GorusmeMailSutunlari.js","components/inputs/form-inputs/CustomRichTextEditorforMailTemplates.js","pages/MailOlaylariDuzenle/GorusmeMailTemplateRecord.js","pages/MailOlaylariDuzenle/GorusmeMailTemplate.js","pages/MailOlaylariDuzenle/MailOlaylariDuzenle.js","../node_modules/@mui/icons-material/esm/Email.js","pages/Rapor/GorevDurumuRaporuConfig.js","entities/GorevDurumuRaporu.js","components/grid/GroupGrid.js","pages/Rapor/GorevDurumuRaporu.js","entities/AtananGorusmeler.js","pages/AtananGorusmeler/AtananGorusmelerConfig.js","pages/AtananGorusmeler/AtananGorusmeler.js","entities/MusteriLisansDurumuRaporu.js","pages/Rapor/MusteriLisansDurumuRaporuConfig.js","pages/Rapor/MusteriLisansDurumuRaporu.js","common/routes.js","router/router.js","../node_modules/@mui/material/Slide/Slide.js","../node_modules/@mui/material/Drawer/drawerClasses.js","../node_modules/@mui/material/Drawer/Drawer.js","../node_modules/@mui/material/CssBaseline/CssBaseline.js","../node_modules/@mui/material/Toolbar/toolbarClasses.js","../node_modules/@mui/material/Toolbar/Toolbar.js","pages/Profile/TalepDurumInfoDialog.js","components/drawer/AppBarInfoButton.js","../node_modules/@mui/material/internal/svg-icons/Person.js","../node_modules/@mui/material/Avatar/avatarClasses.js","../node_modules/@mui/material/Avatar/Avatar.js","components/drawer/AppBarAvatar.js","pages/Profile/GuncellemeVersiyonuDialog.js","components/drawer/AppBarLogoButton.js","components/drawer/AppBar.js","common/constant-functions/capitalizeFirstLetter.js","../node_modules/@mui/material/ListItemButton/ListItemButton.js","../node_modules/@mui/material/ListItemIcon/listItemIconClasses.js","../node_modules/@mui/material/ListItemIcon/ListItemIcon.js","../node_modules/@mui/material/ListItemText/listItemTextClasses.js","../node_modules/@mui/material/ListItemText/ListItemText.js","components/drawer/DrawerListItem.js","components/drawer/DrawerList.js","components/drawer/Drawer.js","components/loading/Spinner.js","components/route/Router.js","App.js","reportWebVitals.js","index.js"],"sourcesContent":["export const InfernoEffectHost = {\n lockCount: 0,\n lock() {\n this.lockCount++;\n },\n callbacks: [],\n callEffects() {\n this.lockCount--;\n if (this.lockCount < 0) {\n throw new Error('Unexpected Effect Call');\n }\n if (this.lockCount === 0) {\n const effects = this.callbacks;\n this.callbacks = [];\n effects.forEach((callback) => callback());\n }\n },\n};\n","import { Component, findDOMfromVNode } from 'inferno';\nimport { InfernoEffectHost } from './effect_host';\nconst areObjectsEqual = (firstObject, secondObject) => {\n const bothAreObjects = firstObject instanceof Object && secondObject instanceof Object;\n if (!bothAreObjects) {\n return firstObject === secondObject;\n }\n const firstObjectKeys = Object.keys(firstObject);\n const secondObjectKeys = Object.keys(secondObject);\n if (firstObjectKeys.length !== secondObjectKeys.length) {\n return false;\n }\n const hasDifferentElement = firstObjectKeys.some((key) => firstObject[key] !== secondObject[key]);\n return !hasDifferentElement;\n};\nexport class BaseInfernoComponent extends Component {\n constructor() {\n super(...arguments);\n this._pendingContext = this.context;\n }\n componentWillReceiveProps(_, context) {\n this._pendingContext = context !== null && context !== void 0 ? context : {};\n }\n shouldComponentUpdate(nextProps, nextState) {\n return (!areObjectsEqual(this.props, nextProps)\n || !areObjectsEqual(this.state, nextState)\n || !areObjectsEqual(this.context, this._pendingContext));\n }\n}\nexport class InfernoComponent extends BaseInfernoComponent {\n constructor() {\n super(...arguments);\n this._effects = [];\n }\n createEffects() {\n return [];\n }\n updateEffects() { }\n componentWillMount() {\n InfernoEffectHost.lock();\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n componentWillUpdate(_nextProps, _nextState, _context) {\n InfernoEffectHost.lock();\n }\n componentDidMount() {\n InfernoEffectHost.callbacks.push(() => { this._effects = this.createEffects(); });\n InfernoEffectHost.callEffects();\n }\n componentDidUpdate() {\n InfernoEffectHost.callbacks.push(() => this.updateEffects());\n InfernoEffectHost.callEffects();\n }\n destroyEffects() {\n this._effects.forEach((e) => e.dispose());\n }\n componentWillUnmount() {\n this.destroyEffects();\n }\n}\nexport class InfernoWrapperComponent extends InfernoComponent {\n constructor() {\n super(...arguments);\n this.vDomElement = null;\n }\n vDomUpdateClasses() {\n const el = this.vDomElement;\n const currentClasses = el.className.length\n ? el.className.split(' ')\n : [];\n const addedClasses = currentClasses.filter((className) => el.dxClasses.previous.indexOf(className) < 0);\n const removedClasses = el.dxClasses.previous.filter((className) => currentClasses.indexOf(className) < 0);\n addedClasses.forEach((value) => {\n const indexInRemoved = el.dxClasses.removed.indexOf(value);\n if (indexInRemoved > -1) {\n el.dxClasses.removed.splice(indexInRemoved, 1);\n }\n else {\n el.dxClasses.added.push(value);\n }\n });\n removedClasses.forEach((value) => {\n const indexInAdded = el.dxClasses.added.indexOf(value);\n if (indexInAdded > -1) {\n el.dxClasses.added.splice(indexInAdded, 1);\n }\n else {\n el.dxClasses.removed.push(value);\n }\n });\n }\n componentDidMount() {\n const el = findDOMfromVNode(this.$LI, true);\n this.vDomElement = el;\n super.componentDidMount();\n el.dxClasses = el.dxClasses || {\n removed: [], added: [], previous: [],\n };\n el.dxClasses.previous = (el === null || el === void 0 ? void 0 : el.className.length)\n ? el.className.split(' ')\n : [];\n }\n componentDidUpdate() {\n super.componentDidUpdate();\n const el = this.vDomElement;\n if (el !== null) {\n el.dxClasses.added.forEach((className) => el.classList.add(className));\n el.dxClasses.removed.forEach((className) => el.classList.remove(className));\n el.dxClasses.previous = el.className.length\n ? el.className.split(' ')\n : [];\n }\n }\n shouldComponentUpdate(nextProps, nextState) {\n const shouldUpdate = super.shouldComponentUpdate(nextProps, nextState);\n if (shouldUpdate) {\n this.vDomUpdateClasses();\n }\n return shouldUpdate;\n }\n}\n","import { Component } from 'inferno';\nlet contextId = 0;\nexport const createContext = function (defaultValue) {\n const id = contextId++;\n return {\n id,\n defaultValue,\n Provider: class extends Component {\n getChildContext() {\n return Object.assign(Object.assign({}, this.context), { [id]: this.props.value || defaultValue });\n }\n render() {\n return this.props.children;\n }\n },\n };\n};\n","export class InfernoEffect {\n constructor(effect, dependency) {\n this.dependency = dependency;\n this.effect = effect;\n this.destroy = effect();\n }\n update(dependency) {\n const currentDependency = this.dependency;\n if (dependency) {\n this.dependency = dependency;\n }\n if (!dependency || dependency.some((d, i) => currentDependency[i] !== d)) {\n this.dispose();\n this.destroy = this.effect();\n }\n }\n dispose() {\n if (this.destroy) {\n this.destroy();\n }\n }\n}\n","import { createPortal } from 'inferno';\nexport const Portal = ({ container, children }) => {\n if (container) {\n return createPortal(children, container);\n }\n return null;\n};\n","import { rerender as reRender } from 'inferno';\nimport { InfernoEffect } from './effect';\nexport const createReRenderEffect = () => new InfernoEffect(() => {\n reRender();\n}, []);\n","export const ERROR_MSG = 'a runtime error occured! Use Inferno in development environment to find the error.';\nexport function isNullOrUndef(o) {\n return o === void 0 || o === null;\n}\nexport function isInvalid(o) {\n return o === null || o === false || o === true || o === void 0;\n}\nexport function isFunction(o) {\n return typeof o === 'function';\n}\nexport function isNull(o) {\n return o === null;\n}\nexport function throwError(message) {\n if (!message) {\n message = ERROR_MSG;\n }\n throw new Error(`Inferno Error: ${message}`);\n}\n","import { _CI, _HI, _M, _MCCC, _ME, _MFCC, _MP, _MR, EMPTY_OBJ, render, _RFC as renderFunctionalComponent, } from 'inferno';\nimport { isFunction, isInvalid, isNull, isNullOrUndef, throwError, } from './shared';\nfunction isSameInnerHTML(dom, innerHTML) {\n const tempdom = document.createElement('i');\n tempdom.innerHTML = innerHTML;\n return tempdom.innerHTML === dom.innerHTML;\n}\nfunction findLastDOMFromVNode(vNode) {\n let flags;\n let children;\n while (vNode) {\n flags = vNode.flags;\n if (flags & 2033 /* DOMRef */) {\n return vNode.dom;\n }\n children = vNode.children;\n if (flags & 8192 /* Fragment */) {\n vNode = vNode.childFlags === 2 /* HasVNodeChildren */ ? children : children[children.length - 1];\n }\n else if (flags & 4 /* ComponentClass */) {\n vNode = children.$LI;\n }\n else {\n vNode = children;\n }\n }\n return null;\n}\nfunction isSamePropsInnerHTML(dom, props) {\n return Boolean(props && props.dangerouslySetInnerHTML && props.dangerouslySetInnerHTML.__html && isSameInnerHTML(dom, props.dangerouslySetInnerHTML.__html));\n}\nfunction hydrateComponent(vNode, parentDOM, dom, context, isSVG, isClass, lifecycle) {\n const type = vNode.type;\n const ref = vNode.ref;\n const props = vNode.props || EMPTY_OBJ;\n let currentNode;\n if (isClass) {\n const instance = _CI(vNode, type, props, context, isSVG, lifecycle);\n const input = instance.$LI;\n currentNode = hydrateVNode(input, parentDOM, dom, instance.$CX, isSVG, lifecycle);\n _MCCC(ref, instance, lifecycle);\n }\n else {\n const input = _HI(renderFunctionalComponent(vNode, context));\n currentNode = hydrateVNode(input, parentDOM, dom, context, isSVG, lifecycle);\n vNode.children = input;\n _MFCC(vNode, lifecycle);\n }\n return currentNode;\n}\nfunction hydrateChildren(parentVNode, parentNode, currentNode, context, isSVG, lifecycle) {\n const childFlags = parentVNode.childFlags;\n const children = parentVNode.children;\n const props = parentVNode.props;\n const flags = parentVNode.flags;\n if (childFlags !== 1 /* HasInvalidChildren */) {\n if (childFlags === 2 /* HasVNodeChildren */) {\n if (isNull(currentNode)) {\n _M(children, parentNode, context, isSVG, null, lifecycle);\n }\n else {\n currentNode = hydrateVNode(children, parentNode, currentNode, context, isSVG, lifecycle);\n currentNode = currentNode ? currentNode.nextSibling : null;\n }\n }\n else if (childFlags === 16 /* HasTextChildren */) {\n if (isNull(currentNode)) {\n parentNode.appendChild(document.createTextNode(children));\n }\n else if (parentNode.childNodes.length !== 1 || currentNode.nodeType !== 3) {\n parentNode.textContent = children;\n }\n else if (currentNode.nodeValue !== children) {\n currentNode.nodeValue = children;\n }\n currentNode = null;\n }\n else if (childFlags & 12 /* MultipleChildren */) {\n let prevVNodeIsTextNode = false;\n for (let i = 0, len = children.length; i < len; ++i) {\n const child = children[i];\n if (isNull(currentNode) || (prevVNodeIsTextNode && (child.flags & 16 /* Text */) > 0)) {\n _M(child, parentNode, context, isSVG, currentNode, lifecycle);\n }\n else {\n currentNode = hydrateVNode(child, parentNode, currentNode, context, isSVG, lifecycle);\n currentNode = currentNode ? currentNode.nextSibling : null;\n }\n prevVNodeIsTextNode = (child.flags & 16 /* Text */) > 0;\n }\n }\n // clear any other DOM nodes, there should be only a single entry for the root\n if ((flags & 8192 /* Fragment */) === 0) {\n let nextSibling = null;\n while (currentNode) {\n nextSibling = currentNode.nextSibling;\n parentNode.removeChild(currentNode);\n currentNode = nextSibling;\n }\n }\n }\n else if (!isNull(parentNode.firstChild) && !isSamePropsInnerHTML(parentNode, props)) {\n parentNode.textContent = ''; // dom has content, but VNode has no children remove everything from DOM\n if (flags & 448 /* FormElement */) {\n // If element is form element, we need to clear defaultValue also\n parentNode.defaultValue = '';\n }\n }\n}\nfunction hydrateElement(vNode, parentDOM, dom, context, isSVG, lifecycle) {\n const props = vNode.props;\n const className = vNode.className;\n const flags = vNode.flags;\n const ref = vNode.ref;\n isSVG = isSVG || (flags & 32 /* SvgElement */) > 0;\n if (dom.nodeType !== 1) {\n _ME(vNode, null, context, isSVG, null, lifecycle);\n parentDOM.replaceChild(vNode.dom, dom);\n }\n else {\n vNode.dom = dom;\n hydrateChildren(vNode, dom, dom.firstChild, context, isSVG, lifecycle);\n if (!isNull(props)) {\n _MP(vNode, flags, props, dom, isSVG);\n }\n if (isNullOrUndef(className)) {\n if (dom.className !== '') {\n dom.removeAttribute('class');\n }\n }\n else if (isSVG) {\n dom.setAttribute('class', className);\n }\n else {\n dom.className = className;\n }\n _MR(ref, dom, lifecycle);\n }\n return vNode.dom;\n}\nfunction hydrateText(vNode, parentDOM, dom) {\n if (dom.nodeType !== 3) {\n parentDOM.replaceChild((vNode.dom = document.createTextNode(vNode.children)), dom);\n }\n else {\n const text = vNode.children;\n if (dom.nodeValue !== text) {\n dom.nodeValue = text;\n }\n vNode.dom = dom;\n }\n return vNode.dom;\n}\nfunction hydrateFragment(vNode, parentDOM, dom, context, isSVG, lifecycle) {\n const children = vNode.children;\n if (vNode.childFlags === 2 /* HasVNodeChildren */) {\n hydrateText(children, parentDOM, dom);\n return children.dom;\n }\n hydrateChildren(vNode, parentDOM, dom, context, isSVG, lifecycle);\n return findLastDOMFromVNode(children[children.length - 1]);\n}\nfunction hydrateVNode(vNode, parentDOM, currentDom, context, isSVG, lifecycle) {\n const flags = (vNode.flags |= 16384 /* InUse */);\n if (flags & 14 /* Component */) {\n return hydrateComponent(vNode, parentDOM, currentDom, context, isSVG, (flags & 4 /* ComponentClass */) > 0, lifecycle);\n }\n if (flags & 481 /* Element */) {\n return hydrateElement(vNode, parentDOM, currentDom, context, isSVG, lifecycle);\n }\n if (flags & 16 /* Text */) {\n return hydrateText(vNode, parentDOM, currentDom);\n }\n if (flags & 512 /* Void */) {\n return (vNode.dom = currentDom);\n }\n if (flags & 8192 /* Fragment */) {\n return hydrateFragment(vNode, parentDOM, currentDom, context, isSVG, lifecycle);\n }\n throwError();\n return null;\n}\nexport function hydrate(input, parentDOM, callback) {\n let dom = parentDOM.firstChild;\n if (isNull(dom)) {\n render(input, parentDOM, callback);\n }\n else {\n const lifecycle = [];\n if (!isInvalid(input)) {\n dom = hydrateVNode(input, parentDOM, dom, {}, false, lifecycle);\n }\n // clear any other DOM nodes, there should be only a single entry for the root\n while (dom && (dom = dom.nextSibling)) {\n parentDOM.removeChild(dom);\n }\n if (lifecycle.length > 0) {\n let listener;\n while ((listener = lifecycle.shift()) !== undefined) {\n listener();\n }\n }\n }\n parentDOM.$V = input;\n if (isFunction(callback)) {\n callback();\n }\n}\n","import { render } from 'inferno';\nimport { createElement } from 'inferno-create-element';\nconst getContainer = (props) => { var _a, _b; return ((_a = props.container) === null || _a === void 0 ? void 0 : _a.get(0)) || ((_b = props.item) === null || _b === void 0 ? void 0 : _b.get(0)); };\nexport function renderTemplate(template, props, _component) {\n setTimeout(() => {\n render(createElement(template, props), getContainer(props));\n }, 0);\n}\nexport const hasTemplate = (name, properties, _component) => {\n const value = properties[name];\n return !!value && typeof value !== 'string';\n};\n","const NUMBER_STYLES = new Set([\n 'animationIterationCount',\n 'borderImageOutset',\n 'borderImageSlice',\n 'border-imageWidth',\n 'boxFlex',\n 'boxFlexGroup',\n 'boxOrdinalGroup',\n 'columnCount',\n 'fillOpacity',\n 'flex',\n 'flexGrow',\n 'flexNegative',\n 'flexOrder',\n 'flexPositive',\n 'flexShrink',\n 'floodOpacity',\n 'fontWeight',\n 'gridColumn',\n 'gridRow',\n 'lineClamp',\n 'lineHeight',\n 'opacity',\n 'order',\n 'orphans',\n 'stopOpacity',\n 'strokeDasharray',\n 'strokeDashoffset',\n 'strokeMiterlimit',\n 'strokeOpacity',\n 'strokeWidth',\n 'tabSize',\n 'widows',\n 'zIndex',\n 'zoom',\n]);\nconst isNumeric = (value) => {\n if (typeof value === 'number')\n return true;\n return !Number.isNaN(Number(value));\n};\nconst getNumberStyleValue = (style, value) => (NUMBER_STYLES.has(style) ? value : `${value}px`);\nconst uppercasePattern = /[A-Z]/g;\nconst kebabCase = (str) => str.replace(uppercasePattern, '-$&').toLowerCase();\nexport function normalizeStyles(styles) {\n if (!(styles instanceof Object)) {\n return undefined;\n }\n return Object\n .entries(styles)\n .reduce((acc, [key, value]) => {\n acc[kebabCase(key)] = isNumeric(value)\n ? getNumberStyleValue(key, value)\n : value;\n return acc;\n }, {});\n}\n","var isDevelopment = false;\n\n/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n return document.styleSheets[i];\n }\n } // this function should always return with a value\n // TS can't understand it though so we make it stop complaining here\n\n\n return undefined;\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? !isDevelopment : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n this.tags.forEach(function (tag) {\n var _tag$parentNode;\n\n return (_tag$parentNode = tag.parentNode) == null ? void 0 : _tag$parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value;\n var parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' ');\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport { createCache as default };\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isDevelopment = false;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n return mergedTheme;\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n var WithTheme = /*#__PURE__*/React.forwardRef(function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n });\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar hasOwn = {}.hasOwnProperty;\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n\n var newProps = {};\n\n for (var _key in props) {\n if (hasOwn.call(props, _key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps[typePropName] = type; // Runtime labeling is an opt-in feature because:\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var _key2 in props) {\n if (hasOwn.call(props, _key2) && _key2 !== 'css' && _key2 !== typePropName && (!isDevelopment )) {\n newProps[_key2] = props[_key2];\n }\n }\n\n newProps.className = className;\n\n if (ref) {\n newProps.ref = ref;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwn as h, isDevelopment as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwn, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isDevelopment } from './emotion-element-f0de968e.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-f0de968e.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar jsx = function jsx(type, props) {\n // eslint-disable-next-line prefer-rest-params\n var args = arguments;\n\n if (props == null || !hasOwn.call(props, 'css')) {\n return React.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n }\n\n return React.createElement.apply(null, createElementArgArray);\n};\n\n(function (_jsx) {\n var JSX;\n\n (function (_JSX) {})(JSX || (JSX = _jsx.JSX || (_jsx.JSX = {})));\n})(jsx || (jsx = {}));\n\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false;\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nfunction keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name;\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n}\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && isDevelopment) {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && isDevelopment) {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n scale: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar isDevelopment = false;\n\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n var componentSelector = interpolation;\n\n if (componentSelector.__emotion_styles !== undefined) {\n\n return componentSelector;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n var keyframes = interpolation;\n\n if (keyframes.anim === 1) {\n cursor = {\n name: keyframes.name,\n styles: keyframes.styles,\n next: cursor\n };\n return keyframes.name;\n }\n\n var serializedStyles = interpolation;\n\n if (serializedStyles.styles !== undefined) {\n var next = serializedStyles.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = serializedStyles.styles + \";\";\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n }\n\n break;\n }\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n var asString = interpolation;\n\n if (registered == null) {\n return asString;\n }\n\n var cached = registered[asString];\n return cached !== undefined ? cached : asString;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var key in obj) {\n var value = obj[key];\n\n if (typeof value !== 'object') {\n var asString = value;\n\n if (registered != null && registered[asString] !== undefined) {\n string += key + \"{\" + registered[asString] + \"}\";\n } else if (isProcessableValue(asString)) {\n string += processStyleName(key) + \":\" + processStyleValue(key, asString) + \";\";\n }\n } else {\n if (key === 'NO_COMPONENT_SELECTOR' && isDevelopment) {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(key) + \":\" + processStyleValue(key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n\n string += key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;{]+)\\s*(;|$)/g; // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\nvar cursor;\nfunction serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n var asTemplateStringsArr = strings;\n\n styles += asTemplateStringsArr[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n var templateStringsArr = strings;\n\n styles += templateStringsArr[i];\n }\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n}\n\nexport { serializeStyles };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport { murmur2 as default };\n","import memoize from '@emotion/memoize';\n\n// eslint-disable-next-line no-undef\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport { withEmotionCache, ThemeContext } from '@emotion/react';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport * as React from 'react';\nimport isPropValid from '@emotion/is-prop-valid';\n\nvar isDevelopment = false;\n\nvar testOmitPropsOnStringTag = isPropValid;\n\nvar testOmitPropsOnComponent = function testOmitPropsOnComponent(key) {\n return key !== 'theme';\n};\n\nvar getDefaultShouldForwardProp = function getDefaultShouldForwardProp(tag) {\n return typeof tag === 'string' && // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent;\n};\nvar composeShouldForwardProps = function composeShouldForwardProps(tag, options, isReal) {\n var shouldForwardProp;\n\n if (options) {\n var optionsShouldForwardProp = options.shouldForwardProp;\n shouldForwardProp = tag.__emotion_forwardProp && optionsShouldForwardProp ? function (propName) {\n return tag.__emotion_forwardProp(propName) && optionsShouldForwardProp(propName);\n } : optionsShouldForwardProp;\n }\n\n if (typeof shouldForwardProp !== 'function' && isReal) {\n shouldForwardProp = tag.__emotion_forwardProp;\n }\n\n return shouldForwardProp;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar createStyled = function createStyled(tag, options) {\n\n var isReal = tag.__emotion_real === tag;\n var baseTag = isReal && tag.__emotion_base || tag;\n var identifierName;\n var targetClassName;\n\n if (options !== undefined) {\n identifierName = options.label;\n targetClassName = options.target;\n }\n\n var shouldForwardProp = composeShouldForwardProps(tag, options, isReal);\n var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag);\n var shouldUseAs = !defaultShouldForwardProp('as');\n return function () {\n // eslint-disable-next-line prefer-rest-params\n var args = arguments;\n var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : [];\n\n if (identifierName !== undefined) {\n styles.push(\"label:\" + identifierName + \";\");\n }\n\n if (args[0] == null || args[0].raw === undefined) {\n // eslint-disable-next-line prefer-spread\n styles.push.apply(styles, args);\n } else {\n var templateStringsArr = args[0];\n\n styles.push(templateStringsArr[0]);\n var len = args.length;\n var i = 1;\n\n for (; i < len; i++) {\n\n styles.push(args[i], templateStringsArr[i]);\n }\n }\n\n var Styled = withEmotionCache(function (props, cache, ref) {\n var FinalTag = shouldUseAs && props.as || baseTag;\n var className = '';\n var classInterpolations = [];\n var mergedProps = props;\n\n if (props.theme == null) {\n mergedProps = {};\n\n for (var key in props) {\n mergedProps[key] = props[key];\n }\n\n mergedProps.theme = React.useContext(ThemeContext);\n }\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, classInterpolations, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(styles.concat(classInterpolations), cache.registered, mergedProps);\n className += cache.key + \"-\" + serialized.name;\n\n if (targetClassName !== undefined) {\n className += \" \" + targetClassName;\n }\n\n var finalShouldForwardProp = shouldUseAs && shouldForwardProp === undefined ? getDefaultShouldForwardProp(FinalTag) : defaultShouldForwardProp;\n var newProps = {};\n\n for (var _key in props) {\n if (shouldUseAs && _key === 'as') continue;\n\n if (finalShouldForwardProp(_key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps.className = className;\n\n if (ref) {\n newProps.ref = ref;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof FinalTag === 'string'\n }), /*#__PURE__*/React.createElement(FinalTag, newProps));\n });\n Styled.displayName = identifierName !== undefined ? identifierName : \"Styled(\" + (typeof baseTag === 'string' ? baseTag : baseTag.displayName || baseTag.name || 'Component') + \")\";\n Styled.defaultProps = tag.defaultProps;\n Styled.__emotion_real = Styled;\n Styled.__emotion_base = baseTag;\n Styled.__emotion_styles = styles;\n Styled.__emotion_forwardProp = shouldForwardProp;\n Object.defineProperty(Styled, 'toString', {\n value: function value() {\n if (targetClassName === undefined && isDevelopment) {\n return 'NO_COMPONENT_SELECTOR';\n }\n\n return \".\" + targetClassName;\n }\n });\n\n Styled.withComponent = function (nextTag, nextOptions) {\n var newStyled = createStyled(nextTag, _extends({}, options, nextOptions, {\n shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true)\n }));\n return newStyled.apply(void 0, styles);\n };\n\n return Styled;\n };\n};\n\nexport { createStyled as default };\n","import createStyled from '../base/dist/emotion-styled-base.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/react';\nimport '@emotion/serialize';\nimport '@emotion/use-insertion-effect-with-fallbacks';\nimport '@emotion/utils';\nimport 'react';\nimport '@emotion/is-prop-valid';\n\nvar tags = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\n// bind it to avoid mutating the original function\nvar newStyled = createStyled.bind(null);\ntags.forEach(function (tagName) {\n newStyled[tagName] = newStyled(tagName);\n});\n\nexport { newStyled as default };\n","import * as React from 'react';\n\nvar syncFallback = function syncFallback(create) {\n return create();\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : false;\nvar useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect || syncFallback;\nvar useInsertionEffectWithLayoutFallback = useInsertionEffect || React.useLayoutEffect;\n\nexport { useInsertionEffectAlwaysWithSyncFallback, useInsertionEffectWithLayoutFallback };\n","var isBrowser = true;\n\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else if (className) {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m22 5.72-4.6-3.86-1.29 1.53 4.6 3.86zM7.88 3.39 6.6 1.86 2 5.71l1.29 1.53zM12.5 8H11v6l4.75 2.85.75-1.23-4-2.37zM12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9c4.97 0 9-4.03 9-9s-4.03-9-9-9m0 16c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7\"\n}), 'AccessAlarm');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)([/*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8\"\n}, \"0\"), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z\"\n}, \"1\")], 'AccessTime');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M21 18v1c0 1.1-.9 2-2 2H5c-1.11 0-2-.9-2-2V5c0-1.1.89-2 2-2h14c1.1 0 2 .9 2 2v1h-9c-1.11 0-2 .9-2 2v8c0 1.1.89 2 2 2zm-9-2h10V8H12zm4-2.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5\"\n}), 'AccountBalanceWallet');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2M9 17H7v-7h2zm4 0h-2V7h2zm4 0h-2v-4h2z\"\n}), 'Assessment');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1m2 14H7v-2h7zm3-4H7v-2h10zm0-4H7V7h10z\"\n}), 'Assignment');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1m0 4c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3m6 12H6v-1.4c0-2 4-3.1 6-3.1s6 1.1 6 3.1z\"\n}), 'AssignmentInd');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1m-2 14-4-4 1.41-1.41L10 14.17l6.59-6.59L18 9z\"\n}), 'AssignmentTurnedIn');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2m0 16H5V10h14zM9 14H7v-2h2zm4 0h-2v-2h2zm4 0h-2v-2h2zm-8 4H7v-2h2zm4 0h-2v-2h2zm4 0h-2v-2h2z\"\n}), 'CalendarMonth');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M20.01 15.38c-1.23 0-2.42-.2-3.53-.56-.35-.12-.74-.03-1.01.24l-1.57 1.97c-2.83-1.35-5.48-3.9-6.89-6.83l1.95-1.66c.27-.28.35-.67.24-1.02-.37-1.11-.56-2.3-.56-3.53 0-.54-.45-.99-.99-.99H4.19C3.65 3 3 3.24 3 3.99 3 13.28 10.73 21 20.01 21c.71 0 .99-.63.99-1.18v-3.45c0-.54-.45-.99-.99-.99\"\n}), 'Call');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M16.59 7.58 10 14.17l-3.59-3.58L5 12l5 5 8-8zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8\"\n}), 'CheckCircleOutline');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10.83 12z\"\n}), 'ChevronLeft');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"\n}), 'ChevronRight');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M20 18c1.1 0 1.99-.9 1.99-2L22 6c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2H0v2h24v-2zM4 6h16v10H4z\"\n}), 'Computer');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12.89 11.1c-1.78-.59-2.64-.96-2.64-1.9 0-1.02 1.11-1.39 1.81-1.39 1.31 0 1.79.99 1.9 1.34l1.58-.67c-.15-.45-.82-1.92-2.54-2.24V5h-2v1.26c-2.48.56-2.49 2.86-2.49 2.96 0 2.27 2.25 2.91 3.35 3.31 1.58.56 2.28 1.07 2.28 2.03 0 1.13-1.05 1.61-1.98 1.61-1.82 0-2.34-1.87-2.4-2.09l-1.66.67c.63 2.19 2.28 2.78 2.9 2.96V19h2v-1.24c.4-.09 2.9-.59 2.9-3.22 0-1.39-.61-2.61-3.01-3.44M3 21H1v-6h6v2H4.52c1.61 2.41 4.36 4 7.48 4 4.97 0 9-4.03 9-9h2c0 6.08-4.92 11-11 11-3.72 0-7.01-1.85-9-4.67zm-2-9C1 5.92 5.92 1 12 1c3.72 0 7.01 1.85 9 4.67V3h2v6h-6V7h2.48C17.87 4.59 15.12 3 12 3c-4.97 0-9 4.03-9 9z\"\n}), 'CurrencyExchange');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8zm2 16H8v-2h8zm0-4H8v-2h8zm-3-5V3.5L18.5 9z\"\n}), 'Description');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)([/*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12.79 21 3 11.21v2c0 .53.21 1.04.59 1.41l7.79 7.79c.78.78 2.05.78 2.83 0l6.21-6.21c.78-.78.78-2.05 0-2.83z\"\n}, \"0\"), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M11.38 17.41c.78.78 2.05.78 2.83 0l6.21-6.21c.78-.78.78-2.05 0-2.83L12.63.58C12.25.21 11.74 0 11.21 0H5C3.9 0 3 .9 3 2v6.21c0 .53.21 1.04.59 1.41zM7.25 3c.69 0 1.25.56 1.25 1.25S7.94 5.5 7.25 5.5 6 4.94 6 4.25 6.56 3 7.25 3\"\n}, \"1\")], 'Discount');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.42 0-8-3.58-8-8 0-1.85.63-3.55 1.69-4.9L16.9 18.31C15.55 19.37 13.85 20 12 20m6.31-3.1L7.1 5.69C8.45 4.63 10.15 4 12 4c4.42 0 8 3.58 8 8 0 1.85-.63 3.55-1.69 4.9\"\n}), 'DoNotDisturb');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z\"\n}), 'Done');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m19.77 5.03 1.4 1.4L8.43 19.17l-5.6-5.6 1.4-1.4 4.2 4.2zm0-2.83L8.43 13.54l-4.2-4.2L0 13.57 8.43 22 24 6.43z\"\n}), 'DoneOutline');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z\"\n}), 'Edit');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8\"\n}), 'ErrorOutline');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z\"\n}), 'ExpandMore');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M20 4H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2M8.5 15H7.3l-2.55-3.5V15H3.5V9h1.25l2.5 3.5V9H8.5zm5-4.74H11v1.12h2.5v1.26H11v1.11h2.5V15h-4V9h4zm7 3.74c0 .55-.45 1-1 1h-4c-.55 0-1-.45-1-1V9h1.25v4.51h1.13V9.99h1.25v3.51h1.12V9h1.25z\"\n}), 'FiberNew');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8z\"\n}), 'Folder');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M7 14H5v5h5v-2H7zm-2-4h2V7h3V5H5zm12 7h-3v2h5v-5h-2zM14 5v2h3v3h2V5z\"\n}), 'Fullscreen');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 12.75c1.63 0 3.07.39 4.24.9 1.08.48 1.76 1.56 1.76 2.73V18H6v-1.61c0-1.18.68-2.26 1.76-2.73 1.17-.52 2.61-.91 4.24-.91M4 13c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m1.13 1.1c-.37-.06-.74-.1-1.13-.1-.99 0-1.93.21-2.78.58C.48 14.9 0 15.62 0 16.43V18h4.5v-1.61c0-.83.23-1.61.63-2.29M20 13c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m4 3.43c0-.81-.48-1.53-1.22-1.85-.85-.37-1.79-.58-2.78-.58-.39 0-.76.04-1.13.1.4.68.63 1.46.63 2.29V18H24zM12 6c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3\"\n}), 'Groups');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M16.48 10.41c-.39.39-1.04.39-1.43 0l-4.47-4.46-7.05 7.04-.66-.63c-1.17-1.17-1.17-3.07 0-4.24l4.24-4.24c1.17-1.17 3.07-1.17 4.24 0L16.48 9c.39.39.39 1.02 0 1.41m.7-2.12c.78.78.78 2.05 0 2.83-1.27 1.27-2.61.22-2.83 0l-3.76-3.76-5.57 5.57c-.39.39-.39 1.02 0 1.41.39.39 1.02.39 1.42 0l4.62-4.62.71.71-4.62 4.62c-.39.39-.39 1.02 0 1.41.39.39 1.02.39 1.42 0l4.62-4.62.71.71-4.62 4.62c-.39.39-.39 1.02 0 1.41.39.39 1.02.39 1.41 0l4.62-4.62.71.71-4.62 4.62c-.39.39-.39 1.02 0 1.41.39.39 1.02.39 1.41 0l8.32-8.34c1.17-1.17 1.17-3.07 0-4.24l-4.24-4.24c-1.15-1.15-3.01-1.17-4.18-.06z\"\n}), 'Handshake');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M11 18h2v-2h-2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4\"\n}), 'HelpOutline');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m6 2 .01 6L10 12l-3.99 4.01L6 22h12v-6l-4-4 4-3.99V2zm10 14.5V20H8v-3.5l4-4z\"\n}), 'HourglassTop');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m21.41 11.58-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42M5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7\"\n}), 'LocalOffer');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M11 7 9.6 8.4l2.6 2.6H2v2h10.2l-2.6 2.6L11 17l5-5zm9 12h-8v2h8c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-8v2h8z\"\n}), 'Login');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m17 8-1.41 1.41L17.17 11H9v2h8.17l-1.58 1.58L17 16l4-4zM5 5h7V3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h7v-2H5z\"\n}), 'LogoutOutlined');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)([/*#__PURE__*/(0, _jsxRuntime.jsx)(\"circle\", {\n cx: \"10\",\n cy: \"8\",\n r: \"4\"\n}, \"0\"), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M10.67 13.02c-.22-.01-.44-.02-.67-.02-2.42 0-4.68.67-6.61 1.82-.88.52-1.39 1.5-1.39 2.53V20h9.26c-.79-1.13-1.26-2.51-1.26-4 0-1.07.25-2.07.67-2.98M20.75 16c0-.22-.03-.42-.06-.63l1.14-1.01-1-1.73-1.45.49c-.32-.27-.68-.48-1.08-.63L18 11h-2l-.3 1.49c-.4.15-.76.36-1.08.63l-1.45-.49-1 1.73 1.14 1.01c-.03.21-.06.41-.06.63s.03.42.06.63l-1.14 1.01 1 1.73 1.45-.49c.32.27.68.48 1.08.63L16 21h2l.3-1.49c.4-.15.76-.36 1.08-.63l1.45.49 1-1.73-1.14-1.01c.03-.21.06-.41.06-.63M17 18c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2\"\n}, \"1\")], 'ManageAccounts');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M3 18h18v-2H3zm0-5h18v-2H3zm0-7v2h18V6z\"\n}), 'Menu');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2\"\n}), 'MoreVert');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M11.5 9C10.12 9 9 10.12 9 11.5s1.12 2.5 2.5 2.5 2.5-1.12 2.5-2.5S12.88 9 11.5 9M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2m-3.21 14.21-2.91-2.91c-.69.44-1.51.7-2.39.7C9.01 16 7 13.99 7 11.5S9.01 7 11.5 7 16 9.01 16 11.5c0 .88-.26 1.69-.7 2.39l2.91 2.9z\"\n}), 'Pageview');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 14V6c0-1.1-.9-2-2-2H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2m-9-1c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3m13-6v11c0 1.1-.9 2-2 2H4v-2h17V7z\"\n}), 'Payments');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4m0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4\"\n}), 'Person');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)([/*#__PURE__*/(0, _jsxRuntime.jsx)(\"circle\", {\n cx: \"10\",\n cy: \"8\",\n r: \"4\"\n}, \"0\"), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M10.35 14.01C7.62 13.91 2 15.27 2 18v2h9.54c-2.47-2.76-1.23-5.89-1.19-5.99m9.08 4.01c.36-.59.57-1.28.57-2.02 0-2.21-1.79-4-4-4s-4 1.79-4 4 1.79 4 4 4c.74 0 1.43-.22 2.02-.57L20.59 22 22 20.59zM16 18c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2\"\n}, \"1\")], 'PersonSearch');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M20 2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m-8.5 7.5c0 .83-.67 1.5-1.5 1.5H9v2H7.5V7H10c.83 0 1.5.67 1.5 1.5zm5 2c0 .83-.67 1.5-1.5 1.5h-2.5V7H15c.83 0 1.5.67 1.5 1.5zm4-3H19v1h1.5V11H19v2h-1.5V7h3zM9 9.5h1v-1H9zM4 6H2v14c0 1.1.9 2 2 2h14v-2H4zm10 5.5h1v-3h-1z\"\n}), 'PictureAsPdf');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M17 2H7c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m0 4H7V4h10zm3 16H4c-1.1 0-2-.9-2-2v-1h20v1c0 1.1-.9 2-2 2m-1.47-11.81C18.21 9.47 17.49 9 16.7 9H7.3c-.79 0-1.51.47-1.83 1.19L2 18h20zM9.5 16h-1c-.28 0-.5-.22-.5-.5s.22-.5.5-.5h1c.28 0 .5.22.5.5s-.22.5-.5.5m0-2h-1c-.28 0-.5-.22-.5-.5s.22-.5.5-.5h1c.28 0 .5.22.5.5s-.22.5-.5.5m0-2h-1c-.28 0-.5-.22-.5-.5s.22-.5.5-.5h1c.28 0 .5.22.5.5s-.22.5-.5.5m3 4h-1c-.28 0-.5-.22-.5-.5s.22-.5.5-.5h1c.28 0 .5.22.5.5s-.22.5-.5.5m0-2h-1c-.28 0-.5-.22-.5-.5s.22-.5.5-.5h1c.28 0 .5.22.5.5s-.22.5-.5.5m0-2h-1c-.28 0-.5-.22-.5-.5s.22-.5.5-.5h1c.28 0 .5.22.5.5s-.22.5-.5.5m3 4h-1c-.28 0-.5-.22-.5-.5s.22-.5.5-.5h1c.28 0 .5.22.5.5s-.22.5-.5.5m0-2h-1c-.28 0-.5-.22-.5-.5s.22-.5.5-.5h1c.28 0 .5.22.5.5s-.22.5-.5.5m0-2h-1c-.28 0-.5-.22-.5-.5s.22-.5.5-.5h1c.28 0 .5.22.5.5s-.22.5-.5.5\"\n}), 'PointOfSale');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)([/*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M17 19.22H5V7h7V5H5c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-7h-2z\"\n}, \"0\"), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 2h-2v3h-3c.01.01 0 2 0 2h3v2.99c.01.01 2 0 2 0V7h3V5h-3zM7 9h8v2H7zm0 3v2h8v-2h-3zm0 3h8v2H7z\"\n}, \"1\")], 'PostAdd');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 8H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3m-3 11H8v-5h8zm3-7c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1m-1-9H6v4h12z\"\n}), 'Print');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M18 17H6v-2h12zm0-4H6v-2h12zm0-4H6V7h12zM3 22l1.5-1.5L6 22l1.5-1.5L9 22l1.5-1.5L12 22l1.5-1.5L15 22l1.5-1.5L18 22l1.5-1.5L21 22V2l-1.5 1.5L18 2l-1.5 1.5L15 2l-1.5 1.5L12 2l-1.5 1.5L9 2 7.5 3.5 6 2 4.5 3.5 3 2z\"\n}), 'Receipt');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M13 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9-9m-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8z\"\n}), 'Restore');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M16.54 11 13 7.46l1.41-1.41 2.12 2.12 4.24-4.24 1.41 1.41zM11 7H2v2h9zm10 6.41L19.59 12 17 14.59 14.41 12 13 13.41 15.59 16 13 18.59 14.41 20 17 17.41 19.59 20 21 18.59 18.41 16zM11 15H2v2h9z\"\n}), 'Rule');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3m3-10H5V5h10z\"\n}), 'Save');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M5 13.18v4L12 21l7-3.82v-4L12 17zM12 3 1 9l11 6 9-4.91V17h2V9z\"\n}), 'School');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14\"\n}), 'Search');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m21.41 11.41-8.83-8.83c-.37-.37-.88-.58-1.41-.58H4c-1.1 0-2 .9-2 2v7.17c0 .53.21 1.04.59 1.41l8.83 8.83c.78.78 2.05.78 2.83 0l7.17-7.17c.78-.78.78-2.04-.01-2.83M6.5 8C5.67 8 5 7.33 5 6.5S5.67 5 6.5 5 8 5.67 8 6.5 7.33 8 6.5 8\"\n}), 'Sell');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M2.01 21 23 12 2.01 3 2 10l15 2-15 2z\"\n}), 'Send');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6\"\n}), 'Settings');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m2 19.99 7.5-7.51 4 4 7.09-7.97L22 9.92l-8.5 9.56-4-4-6 6.01zm1.5-4.5 6-6.01 4 4L22 3.92l-1.41-1.41-7.09 7.97-4-4L2 13.99z\"\n}), 'StackedLineChart');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)([/*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M21 12.22C21 6.73 16.74 3 12 3c-4.69 0-9 3.65-9 9.28-.6.34-1 .98-1 1.72v2c0 1.1.9 2 2 2h1v-6.1c0-3.87 3.13-7 7-7s7 3.13 7 7V19h-8v2h8c1.1 0 2-.9 2-2v-1.22c.59-.31 1-.92 1-1.64v-2.3c0-.7-.41-1.31-1-1.62\"\n}, \"0\"), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"circle\", {\n cx: \"9\",\n cy: \"13\",\n r: \"1\"\n}, \"1\"), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"circle\", {\n cx: \"15\",\n cy: \"13\",\n r: \"1\"\n}, \"2\"), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M18 11.03C17.52 8.18 15.04 6 12.05 6c-3.03 0-6.29 2.51-6.03 6.45 2.47-1.01 4.33-3.21 4.86-5.89 1.31 2.63 4 4.44 7.12 4.47\"\n}, \"3\")], 'SupportAgent');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M14.67 5v6.5H9.33V5zm1 6.5H21V5h-5.33zm-1 7.5v-6.5H9.33V19zm1-6.5V19H21v-6.5zm-7.34 0H3V19h5.33zm0-1V5H3v6.5z\"\n}), 'ViewModule');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n fillRule: \"evenodd\",\n d: \"M14 6V4h-4v2zM4 8v11h16V8zm16-2c1.11 0 2 .89 2 2v11c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2l.01-11c0-1.11.88-2 1.99-2h4V4c0-1.11.89-2 2-2h4c1.11 0 2 .89 2 2v2z\"\n}), 'WorkOutline');","\"use strict\";\n'use client';\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M10 15l5.19-3L10 9v6m11.56-7.83c.13.47.22 1.1.28 1.9.07.8.1 1.49.1 2.09L22 12c0 2.19-.16 3.8-.44 4.83-.25.9-.83 1.48-1.73 1.73-.47.13-1.33.22-2.65.28-1.3.07-2.49.1-3.59.1L12 19c-4.19 0-6.8-.16-7.83-.44-.9-.25-1.48-.83-1.73-1.73-.13-.47-.22-1.1-.28-1.9-.07-.8-.1-1.49-.1-2.09L2 12c0-2.19.16-3.8.44-4.83.25-.9.83-1.48 1.73-1.73.47-.13 1.33-.22 2.65-.28 1.3-.07 2.49-.1 3.59-.1L12 5c4.19 0 6.8.16 7.83.44.9.25 1.48.83 1.73 1.73z\"\n}), 'YouTube');","\"use strict\";\n'use client';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _utils.createSvgIcon;\n }\n});\nvar _utils = require(\"@mui/material/utils\");","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport resolveProps from '@mui/utils/resolveProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst PropsContext = /*#__PURE__*/React.createContext(undefined);\nfunction DefaultPropsProvider({\n value,\n children\n}) {\n return /*#__PURE__*/_jsx(PropsContext.Provider, {\n value: value,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? DefaultPropsProvider.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * @ignore\n */\n value: PropTypes.object\n} : void 0;\nfunction getThemeProps(params) {\n const {\n theme,\n name,\n props\n } = params;\n if (!theme || !theme.components || !theme.components[name]) {\n return props;\n }\n const config = theme.components[name];\n if (config.defaultProps) {\n // compatible with v5 signature\n return resolveProps(config.defaultProps, props);\n }\n if (!config.styleOverrides && !config.variants) {\n // v6 signature, no property 'defaultProps'\n return resolveProps(config, props);\n }\n return props;\n}\nexport function useDefaultProps({\n props,\n name\n}) {\n const ctx = React.useContext(PropsContext);\n return getThemeProps({\n props,\n name,\n theme: {\n components: ctx\n }\n });\n}\nexport default DefaultPropsProvider;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport SystemDefaultPropsProvider, { useDefaultProps as useSystemDefaultProps } from '@mui/system/DefaultPropsProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction DefaultPropsProvider(props) {\n return /*#__PURE__*/_jsx(SystemDefaultPropsProvider, _extends({}, props));\n}\nprocess.env.NODE_ENV !== \"production\" ? DefaultPropsProvider.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * @ignore\n */\n value: PropTypes.object.isRequired\n} : void 0;\nexport default DefaultPropsProvider;\nexport function useDefaultProps(params) {\n return useSystemDefaultProps(params);\n}","const common = {\n black: '#000',\n white: '#fff'\n};\nexport default common;","const grey = {\n 50: '#fafafa',\n 100: '#f5f5f5',\n 200: '#eeeeee',\n 300: '#e0e0e0',\n 400: '#bdbdbd',\n 500: '#9e9e9e',\n 600: '#757575',\n 700: '#616161',\n 800: '#424242',\n 900: '#212121',\n A100: '#f5f5f5',\n A200: '#eeeeee',\n A400: '#bdbdbd',\n A700: '#616161'\n};\nexport default grey;","const purple = {\n 50: '#f3e5f5',\n 100: '#e1bee7',\n 200: '#ce93d8',\n 300: '#ba68c8',\n 400: '#ab47bc',\n 500: '#9c27b0',\n 600: '#8e24aa',\n 700: '#7b1fa2',\n 800: '#6a1b9a',\n 900: '#4a148c',\n A100: '#ea80fc',\n A200: '#e040fb',\n A400: '#d500f9',\n A700: '#aa00ff'\n};\nexport default purple;","const red = {\n 50: '#ffebee',\n 100: '#ffcdd2',\n 200: '#ef9a9a',\n 300: '#e57373',\n 400: '#ef5350',\n 500: '#f44336',\n 600: '#e53935',\n 700: '#d32f2f',\n 800: '#c62828',\n 900: '#b71c1c',\n A100: '#ff8a80',\n A200: '#ff5252',\n A400: '#ff1744',\n A700: '#d50000'\n};\nexport default red;","const orange = {\n 50: '#fff3e0',\n 100: '#ffe0b2',\n 200: '#ffcc80',\n 300: '#ffb74d',\n 400: '#ffa726',\n 500: '#ff9800',\n 600: '#fb8c00',\n 700: '#f57c00',\n 800: '#ef6c00',\n 900: '#e65100',\n A100: '#ffd180',\n A200: '#ffab40',\n A400: '#ff9100',\n A700: '#ff6d00'\n};\nexport default orange;","const blue = {\n 50: '#e3f2fd',\n 100: '#bbdefb',\n 200: '#90caf9',\n 300: '#64b5f6',\n 400: '#42a5f5',\n 500: '#2196f3',\n 600: '#1e88e5',\n 700: '#1976d2',\n 800: '#1565c0',\n 900: '#0d47a1',\n A100: '#82b1ff',\n A200: '#448aff',\n A400: '#2979ff',\n A700: '#2962ff'\n};\nexport default blue;","const lightBlue = {\n 50: '#e1f5fe',\n 100: '#b3e5fc',\n 200: '#81d4fa',\n 300: '#4fc3f7',\n 400: '#29b6f6',\n 500: '#03a9f4',\n 600: '#039be5',\n 700: '#0288d1',\n 800: '#0277bd',\n 900: '#01579b',\n A100: '#80d8ff',\n A200: '#40c4ff',\n A400: '#00b0ff',\n A700: '#0091ea'\n};\nexport default lightBlue;","const green = {\n 50: '#e8f5e9',\n 100: '#c8e6c9',\n 200: '#a5d6a7',\n 300: '#81c784',\n 400: '#66bb6a',\n 500: '#4caf50',\n 600: '#43a047',\n 700: '#388e3c',\n 800: '#2e7d32',\n 900: '#1b5e20',\n A100: '#b9f6ca',\n A200: '#69f0ae',\n A400: '#00e676',\n A700: '#00c853'\n};\nexport default green;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nconst _excluded = [\"mode\", \"contrastThreshold\", \"tonalOffset\"];\nimport deepmerge from '@mui/utils/deepmerge';\nimport { darken, getContrastRatio, lighten } from '@mui/system/colorManipulator';\nimport common from '../colors/common';\nimport grey from '../colors/grey';\nimport purple from '../colors/purple';\nimport red from '../colors/red';\nimport orange from '../colors/orange';\nimport blue from '../colors/blue';\nimport lightBlue from '../colors/lightBlue';\nimport green from '../colors/green';\nexport const light = {\n // The colors used to style the text.\n text: {\n // The most important text.\n primary: 'rgba(0, 0, 0, 0.87)',\n // Secondary text.\n secondary: 'rgba(0, 0, 0, 0.6)',\n // Disabled text have even lower visual prominence.\n disabled: 'rgba(0, 0, 0, 0.38)'\n },\n // The color used to divide different elements.\n divider: 'rgba(0, 0, 0, 0.12)',\n // The background colors used to style the surfaces.\n // Consistency between these values is important.\n background: {\n paper: common.white,\n default: common.white\n },\n // The colors used to style the action elements.\n action: {\n // The color of an active action like an icon button.\n active: 'rgba(0, 0, 0, 0.54)',\n // The color of an hovered action.\n hover: 'rgba(0, 0, 0, 0.04)',\n hoverOpacity: 0.04,\n // The color of a selected action.\n selected: 'rgba(0, 0, 0, 0.08)',\n selectedOpacity: 0.08,\n // The color of a disabled action.\n disabled: 'rgba(0, 0, 0, 0.26)',\n // The background color of a disabled action.\n disabledBackground: 'rgba(0, 0, 0, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(0, 0, 0, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.12\n }\n};\nexport const dark = {\n text: {\n primary: common.white,\n secondary: 'rgba(255, 255, 255, 0.7)',\n disabled: 'rgba(255, 255, 255, 0.5)',\n icon: 'rgba(255, 255, 255, 0.5)'\n },\n divider: 'rgba(255, 255, 255, 0.12)',\n background: {\n paper: '#121212',\n default: '#121212'\n },\n action: {\n active: common.white,\n hover: 'rgba(255, 255, 255, 0.08)',\n hoverOpacity: 0.08,\n selected: 'rgba(255, 255, 255, 0.16)',\n selectedOpacity: 0.16,\n disabled: 'rgba(255, 255, 255, 0.3)',\n disabledBackground: 'rgba(255, 255, 255, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(255, 255, 255, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.24\n }\n};\nfunction addLightOrDark(intent, direction, shade, tonalOffset) {\n const tonalOffsetLight = tonalOffset.light || tonalOffset;\n const tonalOffsetDark = tonalOffset.dark || tonalOffset * 1.5;\n if (!intent[direction]) {\n if (intent.hasOwnProperty(shade)) {\n intent[direction] = intent[shade];\n } else if (direction === 'light') {\n intent.light = lighten(intent.main, tonalOffsetLight);\n } else if (direction === 'dark') {\n intent.dark = darken(intent.main, tonalOffsetDark);\n }\n }\n}\nfunction getDefaultPrimary(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: blue[200],\n light: blue[50],\n dark: blue[400]\n };\n }\n return {\n main: blue[700],\n light: blue[400],\n dark: blue[800]\n };\n}\nfunction getDefaultSecondary(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: purple[200],\n light: purple[50],\n dark: purple[400]\n };\n }\n return {\n main: purple[500],\n light: purple[300],\n dark: purple[700]\n };\n}\nfunction getDefaultError(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: red[500],\n light: red[300],\n dark: red[700]\n };\n }\n return {\n main: red[700],\n light: red[400],\n dark: red[800]\n };\n}\nfunction getDefaultInfo(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: lightBlue[400],\n light: lightBlue[300],\n dark: lightBlue[700]\n };\n }\n return {\n main: lightBlue[700],\n light: lightBlue[500],\n dark: lightBlue[900]\n };\n}\nfunction getDefaultSuccess(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: green[400],\n light: green[300],\n dark: green[700]\n };\n }\n return {\n main: green[800],\n light: green[500],\n dark: green[900]\n };\n}\nfunction getDefaultWarning(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: orange[400],\n light: orange[300],\n dark: orange[700]\n };\n }\n return {\n main: '#ed6c02',\n // closest to orange[800] that pass 3:1.\n light: orange[500],\n dark: orange[900]\n };\n}\nexport default function createPalette(palette) {\n const {\n mode = 'light',\n contrastThreshold = 3,\n tonalOffset = 0.2\n } = palette,\n other = _objectWithoutPropertiesLoose(palette, _excluded);\n const primary = palette.primary || getDefaultPrimary(mode);\n const secondary = palette.secondary || getDefaultSecondary(mode);\n const error = palette.error || getDefaultError(mode);\n const info = palette.info || getDefaultInfo(mode);\n const success = palette.success || getDefaultSuccess(mode);\n const warning = palette.warning || getDefaultWarning(mode);\n\n // Use the same logic as\n // Bootstrap: https://github.com/twbs/bootstrap/blob/1d6e3710dd447de1a200f29e8fa521f8a0908f70/scss/_functions.scss#L59\n // and material-components-web https://github.com/material-components/material-components-web/blob/ac46b8863c4dab9fc22c4c662dc6bd1b65dd652f/packages/mdc-theme/_functions.scss#L54\n function getContrastText(background) {\n const contrastText = getContrastRatio(background, dark.text.primary) >= contrastThreshold ? dark.text.primary : light.text.primary;\n if (process.env.NODE_ENV !== 'production') {\n const contrast = getContrastRatio(background, contrastText);\n if (contrast < 3) {\n console.error([`MUI: The contrast ratio of ${contrast}:1 for ${contrastText} on ${background}`, 'falls below the WCAG recommended absolute minimum contrast ratio of 3:1.', 'https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast'].join('\\n'));\n }\n }\n return contrastText;\n }\n const augmentColor = ({\n color,\n name,\n mainShade = 500,\n lightShade = 300,\n darkShade = 700\n }) => {\n color = _extends({}, color);\n if (!color.main && color[mainShade]) {\n color.main = color[mainShade];\n }\n if (!color.hasOwnProperty('main')) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The color${name ? ` (${name})` : ''} provided to augmentColor(color) is invalid.\nThe color object needs to have a \\`main\\` property or a \\`${mainShade}\\` property.` : _formatMuiErrorMessage(11, name ? ` (${name})` : '', mainShade));\n }\n if (typeof color.main !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The color${name ? ` (${name})` : ''} provided to augmentColor(color) is invalid.\n\\`color.main\\` should be a string, but \\`${JSON.stringify(color.main)}\\` was provided instead.\n\nDid you intend to use one of the following approaches?\n\nimport { green } from \"@mui/material/colors\";\n\nconst theme1 = createTheme({ palette: {\n primary: green,\n} });\n\nconst theme2 = createTheme({ palette: {\n primary: { main: green[500] },\n} });` : _formatMuiErrorMessage(12, name ? ` (${name})` : '', JSON.stringify(color.main)));\n }\n addLightOrDark(color, 'light', lightShade, tonalOffset);\n addLightOrDark(color, 'dark', darkShade, tonalOffset);\n if (!color.contrastText) {\n color.contrastText = getContrastText(color.main);\n }\n return color;\n };\n const modes = {\n dark,\n light\n };\n if (process.env.NODE_ENV !== 'production') {\n if (!modes[mode]) {\n console.error(`MUI: The palette mode \\`${mode}\\` is not supported.`);\n }\n }\n const paletteOutput = deepmerge(_extends({\n // A collection of common colors.\n common: _extends({}, common),\n // prevent mutable object.\n // The palette mode, can be light or dark.\n mode,\n // The colors used to represent primary interface elements for a user.\n primary: augmentColor({\n color: primary,\n name: 'primary'\n }),\n // The colors used to represent secondary interface elements for a user.\n secondary: augmentColor({\n color: secondary,\n name: 'secondary',\n mainShade: 'A400',\n lightShade: 'A200',\n darkShade: 'A700'\n }),\n // The colors used to represent interface elements that the user should be made aware of.\n error: augmentColor({\n color: error,\n name: 'error'\n }),\n // The colors used to represent potentially dangerous actions or important messages.\n warning: augmentColor({\n color: warning,\n name: 'warning'\n }),\n // The colors used to present information to the user that is neutral and not necessarily important.\n info: augmentColor({\n color: info,\n name: 'info'\n }),\n // The colors used to indicate the successful completion of an action that user triggered.\n success: augmentColor({\n color: success,\n name: 'success'\n }),\n // The grey colors.\n grey,\n // Used by `getContrastText()` to maximize the contrast between\n // the background and the text.\n contrastThreshold,\n // Takes a background color and returns the text color that maximizes the contrast.\n getContrastText,\n // Generate a rich color object.\n augmentColor,\n // Used by the functions below to shift a color's luminance by approximately\n // two indexes within its tonal palette.\n // E.g., shift from Red 500 to Red 300 or Red 700.\n tonalOffset\n }, modes[mode]), other);\n return paletteOutput;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"fontFamily\", \"fontSize\", \"fontWeightLight\", \"fontWeightRegular\", \"fontWeightMedium\", \"fontWeightBold\", \"htmlFontSize\", \"allVariants\", \"pxToRem\"];\nimport deepmerge from '@mui/utils/deepmerge';\nfunction round(value) {\n return Math.round(value * 1e5) / 1e5;\n}\nconst caseAllCaps = {\n textTransform: 'uppercase'\n};\nconst defaultFontFamily = '\"Roboto\", \"Helvetica\", \"Arial\", sans-serif';\n\n/**\n * @see @link{https://m2.material.io/design/typography/the-type-system.html}\n * @see @link{https://m2.material.io/design/typography/understanding-typography.html}\n */\nexport default function createTypography(palette, typography) {\n const _ref = typeof typography === 'function' ? typography(palette) : typography,\n {\n fontFamily = defaultFontFamily,\n // The default font size of the Material Specification.\n fontSize = 14,\n // px\n fontWeightLight = 300,\n fontWeightRegular = 400,\n fontWeightMedium = 500,\n fontWeightBold = 700,\n // Tell MUI what's the font-size on the html element.\n // 16px is the default font-size used by browsers.\n htmlFontSize = 16,\n // Apply the CSS properties to all the variants.\n allVariants,\n pxToRem: pxToRem2\n } = _ref,\n other = _objectWithoutPropertiesLoose(_ref, _excluded);\n if (process.env.NODE_ENV !== 'production') {\n if (typeof fontSize !== 'number') {\n console.error('MUI: `fontSize` is required to be a number.');\n }\n if (typeof htmlFontSize !== 'number') {\n console.error('MUI: `htmlFontSize` is required to be a number.');\n }\n }\n const coef = fontSize / 14;\n const pxToRem = pxToRem2 || (size => `${size / htmlFontSize * coef}rem`);\n const buildVariant = (fontWeight, size, lineHeight, letterSpacing, casing) => _extends({\n fontFamily,\n fontWeight,\n fontSize: pxToRem(size),\n // Unitless following https://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/\n lineHeight\n }, fontFamily === defaultFontFamily ? {\n letterSpacing: `${round(letterSpacing / size)}em`\n } : {}, casing, allVariants);\n const variants = {\n h1: buildVariant(fontWeightLight, 96, 1.167, -1.5),\n h2: buildVariant(fontWeightLight, 60, 1.2, -0.5),\n h3: buildVariant(fontWeightRegular, 48, 1.167, 0),\n h4: buildVariant(fontWeightRegular, 34, 1.235, 0.25),\n h5: buildVariant(fontWeightRegular, 24, 1.334, 0),\n h6: buildVariant(fontWeightMedium, 20, 1.6, 0.15),\n subtitle1: buildVariant(fontWeightRegular, 16, 1.75, 0.15),\n subtitle2: buildVariant(fontWeightMedium, 14, 1.57, 0.1),\n body1: buildVariant(fontWeightRegular, 16, 1.5, 0.15),\n body2: buildVariant(fontWeightRegular, 14, 1.43, 0.15),\n button: buildVariant(fontWeightMedium, 14, 1.75, 0.4, caseAllCaps),\n caption: buildVariant(fontWeightRegular, 12, 1.66, 0.4),\n overline: buildVariant(fontWeightRegular, 12, 2.66, 1, caseAllCaps),\n // TODO v6: Remove handling of 'inherit' variant from the theme as it is already handled in Material UI's Typography component. Also, remember to remove the associated types.\n inherit: {\n fontFamily: 'inherit',\n fontWeight: 'inherit',\n fontSize: 'inherit',\n lineHeight: 'inherit',\n letterSpacing: 'inherit'\n }\n };\n return deepmerge(_extends({\n htmlFontSize,\n pxToRem,\n fontFamily,\n fontSize,\n fontWeightLight,\n fontWeightRegular,\n fontWeightMedium,\n fontWeightBold\n }, variants), other, {\n clone: false // No need to clone deep\n });\n}","const shadowKeyUmbraOpacity = 0.2;\nconst shadowKeyPenumbraOpacity = 0.14;\nconst shadowAmbientShadowOpacity = 0.12;\nfunction createShadow(...px) {\n return [`${px[0]}px ${px[1]}px ${px[2]}px ${px[3]}px rgba(0,0,0,${shadowKeyUmbraOpacity})`, `${px[4]}px ${px[5]}px ${px[6]}px ${px[7]}px rgba(0,0,0,${shadowKeyPenumbraOpacity})`, `${px[8]}px ${px[9]}px ${px[10]}px ${px[11]}px rgba(0,0,0,${shadowAmbientShadowOpacity})`].join(',');\n}\n\n// Values from https://github.com/material-components/material-components-web/blob/be8747f94574669cb5e7add1a7c54fa41a89cec7/packages/mdc-elevation/_variables.scss\nconst shadows = ['none', createShadow(0, 2, 1, -1, 0, 1, 1, 0, 0, 1, 3, 0), createShadow(0, 3, 1, -2, 0, 2, 2, 0, 0, 1, 5, 0), createShadow(0, 3, 3, -2, 0, 3, 4, 0, 0, 1, 8, 0), createShadow(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), createShadow(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), createShadow(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), createShadow(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), createShadow(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), createShadow(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), createShadow(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), createShadow(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), createShadow(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), createShadow(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), createShadow(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), createShadow(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), createShadow(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), createShadow(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), createShadow(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), createShadow(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), createShadow(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), createShadow(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), createShadow(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), createShadow(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), createShadow(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8)];\nexport default shadows;","// We need to centralize the zIndex definitions as they work\n// like global values in the browser.\nconst zIndex = {\n mobileStepper: 1000,\n fab: 1050,\n speedDial: 1050,\n appBar: 1100,\n drawer: 1200,\n modal: 1300,\n snackbar: 1400,\n tooltip: 1500\n};\nexport default zIndex;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nconst _excluded = [\"breakpoints\", \"mixins\", \"spacing\", \"palette\", \"transitions\", \"typography\", \"shape\"];\nimport deepmerge from '@mui/utils/deepmerge';\nimport styleFunctionSx, { unstable_defaultSxConfig as defaultSxConfig } from '@mui/system/styleFunctionSx';\nimport systemCreateTheme from '@mui/system/createTheme';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport createMixins from './createMixins';\nimport createPalette from './createPalette';\nimport createTypography from './createTypography';\nimport shadows from './shadows';\nimport createTransitions from './createTransitions';\nimport zIndex from './zIndex';\nfunction createTheme(options = {}, ...args) {\n const {\n mixins: mixinsInput = {},\n palette: paletteInput = {},\n transitions: transitionsInput = {},\n typography: typographyInput = {}\n } = options,\n other = _objectWithoutPropertiesLoose(options, _excluded);\n if (options.vars) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: \\`vars\\` is a private field used for CSS variables support.\nPlease use another name.` : _formatMuiErrorMessage(18));\n }\n const palette = createPalette(paletteInput);\n const systemTheme = systemCreateTheme(options);\n let muiTheme = deepmerge(systemTheme, {\n mixins: createMixins(systemTheme.breakpoints, mixinsInput),\n palette,\n // Don't use [...shadows] until you've verified its transpiled code is not invoking the iterator protocol.\n shadows: shadows.slice(),\n typography: createTypography(palette, typographyInput),\n transitions: createTransitions(transitionsInput),\n zIndex: _extends({}, zIndex)\n });\n muiTheme = deepmerge(muiTheme, other);\n muiTheme = args.reduce((acc, argument) => deepmerge(acc, argument), muiTheme);\n if (process.env.NODE_ENV !== 'production') {\n // TODO v6: Refactor to use globalStateClassesMapping from @mui/utils once `readOnly` state class is used in Rating component.\n const stateClasses = ['active', 'checked', 'completed', 'disabled', 'error', 'expanded', 'focused', 'focusVisible', 'required', 'selected'];\n const traverse = (node, component) => {\n let key;\n\n // eslint-disable-next-line guard-for-in, no-restricted-syntax\n for (key in node) {\n const child = node[key];\n if (stateClasses.indexOf(key) !== -1 && Object.keys(child).length > 0) {\n if (process.env.NODE_ENV !== 'production') {\n const stateClass = generateUtilityClass('', key);\n console.error([`MUI: The \\`${component}\\` component increases ` + `the CSS specificity of the \\`${key}\\` internal state.`, 'You can not override it like this: ', JSON.stringify(node, null, 2), '', `Instead, you need to use the '&.${stateClass}' syntax:`, JSON.stringify({\n root: {\n [`&.${stateClass}`]: child\n }\n }, null, 2), '', 'https://mui.com/r/state-classes-guide'].join('\\n'));\n }\n // Remove the style to prevent global conflicts.\n node[key] = {};\n }\n }\n };\n Object.keys(muiTheme.components).forEach(component => {\n const styleOverrides = muiTheme.components[component].styleOverrides;\n if (styleOverrides && component.indexOf('Mui') === 0) {\n traverse(styleOverrides, component);\n }\n });\n }\n muiTheme.unstable_sxConfig = _extends({}, defaultSxConfig, other == null ? void 0 : other.unstable_sxConfig);\n muiTheme.unstable_sx = function sx(props) {\n return styleFunctionSx({\n sx: props,\n theme: this\n });\n };\n return muiTheme;\n}\nlet warnedOnce = false;\nexport function createMuiTheme(...args) {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n warnedOnce = true;\n console.error(['MUI: the createMuiTheme function was renamed to createTheme.', '', \"You should use `import { createTheme } from '@mui/material/styles'`\"].join('\\n'));\n }\n }\n return createTheme(...args);\n}\nexport default createTheme;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function createMixins(breakpoints, mixins) {\n return _extends({\n toolbar: {\n minHeight: 56,\n [breakpoints.up('xs')]: {\n '@media (orientation: landscape)': {\n minHeight: 48\n }\n },\n [breakpoints.up('sm')]: {\n minHeight: 64\n }\n }\n }, mixins);\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"duration\", \"easing\", \"delay\"];\n// Follow https://material.google.com/motion/duration-easing.html#duration-easing-natural-easing-curves\n// to learn the context in which each easing should be used.\nexport const easing = {\n // This is the most common easing curve.\n easeInOut: 'cubic-bezier(0.4, 0, 0.2, 1)',\n // Objects enter the screen at full velocity from off-screen and\n // slowly decelerate to a resting point.\n easeOut: 'cubic-bezier(0.0, 0, 0.2, 1)',\n // Objects leave the screen at full velocity. They do not decelerate when off-screen.\n easeIn: 'cubic-bezier(0.4, 0, 1, 1)',\n // The sharp curve is used by objects that may return to the screen at any time.\n sharp: 'cubic-bezier(0.4, 0, 0.6, 1)'\n};\n\n// Follow https://m2.material.io/guidelines/motion/duration-easing.html#duration-easing-common-durations\n// to learn when use what timing\nexport const duration = {\n shortest: 150,\n shorter: 200,\n short: 250,\n // most basic recommended timing\n standard: 300,\n // this is to be used in complex animations\n complex: 375,\n // recommended when something is entering screen\n enteringScreen: 225,\n // recommended when something is leaving screen\n leavingScreen: 195\n};\nfunction formatMs(milliseconds) {\n return `${Math.round(milliseconds)}ms`;\n}\nfunction getAutoHeightDuration(height) {\n if (!height) {\n return 0;\n }\n const constant = height / 36;\n\n // https://www.wolframalpha.com/input/?i=(4+%2B+15+*+(x+%2F+36+)+**+0.25+%2B+(x+%2F+36)+%2F+5)+*+10\n return Math.round((4 + 15 * constant ** 0.25 + constant / 5) * 10);\n}\nexport default function createTransitions(inputTransitions) {\n const mergedEasing = _extends({}, easing, inputTransitions.easing);\n const mergedDuration = _extends({}, duration, inputTransitions.duration);\n const create = (props = ['all'], options = {}) => {\n const {\n duration: durationOption = mergedDuration.standard,\n easing: easingOption = mergedEasing.easeInOut,\n delay = 0\n } = options,\n other = _objectWithoutPropertiesLoose(options, _excluded);\n if (process.env.NODE_ENV !== 'production') {\n const isString = value => typeof value === 'string';\n // IE11 support, replace with Number.isNaN\n // eslint-disable-next-line no-restricted-globals\n const isNumber = value => !isNaN(parseFloat(value));\n if (!isString(props) && !Array.isArray(props)) {\n console.error('MUI: Argument \"props\" must be a string or Array.');\n }\n if (!isNumber(durationOption) && !isString(durationOption)) {\n console.error(`MUI: Argument \"duration\" must be a number or a string but found ${durationOption}.`);\n }\n if (!isString(easingOption)) {\n console.error('MUI: Argument \"easing\" must be a string.');\n }\n if (!isNumber(delay) && !isString(delay)) {\n console.error('MUI: Argument \"delay\" must be a number or a string.');\n }\n if (typeof options !== 'object') {\n console.error(['MUI: Secong argument of transition.create must be an object.', \"Arguments should be either `create('prop1', options)` or `create(['prop1', 'prop2'], options)`\"].join('\\n'));\n }\n if (Object.keys(other).length !== 0) {\n console.error(`MUI: Unrecognized argument(s) [${Object.keys(other).join(',')}].`);\n }\n }\n return (Array.isArray(props) ? props : [props]).map(animatedProp => `${animatedProp} ${typeof durationOption === 'string' ? durationOption : formatMs(durationOption)} ${easingOption} ${typeof delay === 'string' ? delay : formatMs(delay)}`).join(',');\n };\n return _extends({\n getAutoHeightDuration,\n create\n }, inputTransitions, {\n easing: mergedEasing,\n duration: mergedDuration\n });\n}","'use client';\n\nimport createTheme from './createTheme';\nconst defaultTheme = createTheme();\nexport default defaultTheme;","export default '$$material';","import slotShouldForwardProp from './slotShouldForwardProp';\nconst rootShouldForwardProp = prop => slotShouldForwardProp(prop) && prop !== 'classes';\nexport default rootShouldForwardProp;","// copied from @mui/system/createStyled\nfunction slotShouldForwardProp(prop) {\n return prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as';\n}\nexport default slotShouldForwardProp;","'use client';\n\nimport createStyled from '@mui/system/createStyled';\nimport defaultTheme from './defaultTheme';\nimport THEME_ID from './identifier';\nimport rootShouldForwardProp from './rootShouldForwardProp';\nexport { default as slotShouldForwardProp } from './slotShouldForwardProp';\nexport { default as rootShouldForwardProp } from './rootShouldForwardProp';\nconst styled = createStyled({\n themeId: THEME_ID,\n defaultTheme,\n rootShouldForwardProp\n});\nexport default styled;","import capitalize from '@mui/utils/capitalize';\nexport default capitalize;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSvgIconUtilityClass(slot) {\n return generateUtilityClass('MuiSvgIcon', slot);\n}\nconst svgIconClasses = generateUtilityClasses('MuiSvgIcon', ['root', 'colorPrimary', 'colorSecondary', 'colorAction', 'colorError', 'colorDisabled', 'fontSizeInherit', 'fontSizeSmall', 'fontSizeMedium', 'fontSizeLarge']);\nexport default svgIconClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"fontSize\", \"htmlColor\", \"inheritViewBox\", \"titleAccess\", \"viewBox\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from '../utils/capitalize';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled from '../styles/styled';\nimport { getSvgIconUtilityClass } from './svgIconClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n color,\n fontSize,\n classes\n } = ownerState;\n const slots = {\n root: ['root', color !== 'inherit' && `color${capitalize(color)}`, `fontSize${capitalize(fontSize)}`]\n };\n return composeClasses(slots, getSvgIconUtilityClass, classes);\n};\nconst SvgIconRoot = styled('svg', {\n name: 'MuiSvgIcon',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.color !== 'inherit' && styles[`color${capitalize(ownerState.color)}`], styles[`fontSize${capitalize(ownerState.fontSize)}`]];\n }\n})(({\n theme,\n ownerState\n}) => {\n var _theme$transitions, _theme$transitions$cr, _theme$transitions2, _theme$typography, _theme$typography$pxT, _theme$typography2, _theme$typography2$px, _theme$typography3, _theme$typography3$px, _palette$ownerState$c, _palette, _palette2, _palette3;\n return {\n userSelect: 'none',\n width: '1em',\n height: '1em',\n display: 'inline-block',\n // the will define the property that has `currentColor`\n // for example heroicons uses fill=\"none\" and stroke=\"currentColor\"\n fill: ownerState.hasSvgAsChild ? undefined : 'currentColor',\n flexShrink: 0,\n transition: (_theme$transitions = theme.transitions) == null || (_theme$transitions$cr = _theme$transitions.create) == null ? void 0 : _theme$transitions$cr.call(_theme$transitions, 'fill', {\n duration: (_theme$transitions2 = theme.transitions) == null || (_theme$transitions2 = _theme$transitions2.duration) == null ? void 0 : _theme$transitions2.shorter\n }),\n fontSize: {\n inherit: 'inherit',\n small: ((_theme$typography = theme.typography) == null || (_theme$typography$pxT = _theme$typography.pxToRem) == null ? void 0 : _theme$typography$pxT.call(_theme$typography, 20)) || '1.25rem',\n medium: ((_theme$typography2 = theme.typography) == null || (_theme$typography2$px = _theme$typography2.pxToRem) == null ? void 0 : _theme$typography2$px.call(_theme$typography2, 24)) || '1.5rem',\n large: ((_theme$typography3 = theme.typography) == null || (_theme$typography3$px = _theme$typography3.pxToRem) == null ? void 0 : _theme$typography3$px.call(_theme$typography3, 35)) || '2.1875rem'\n }[ownerState.fontSize],\n // TODO v5 deprecate, v6 remove for sx\n color: (_palette$ownerState$c = (_palette = (theme.vars || theme).palette) == null || (_palette = _palette[ownerState.color]) == null ? void 0 : _palette.main) != null ? _palette$ownerState$c : {\n action: (_palette2 = (theme.vars || theme).palette) == null || (_palette2 = _palette2.action) == null ? void 0 : _palette2.active,\n disabled: (_palette3 = (theme.vars || theme).palette) == null || (_palette3 = _palette3.action) == null ? void 0 : _palette3.disabled,\n inherit: undefined\n }[ownerState.color]\n };\n});\nconst SvgIcon = /*#__PURE__*/React.forwardRef(function SvgIcon(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiSvgIcon'\n });\n const {\n children,\n className,\n color = 'inherit',\n component = 'svg',\n fontSize = 'medium',\n htmlColor,\n inheritViewBox = false,\n titleAccess,\n viewBox = '0 0 24 24'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const hasSvgAsChild = /*#__PURE__*/React.isValidElement(children) && children.type === 'svg';\n const ownerState = _extends({}, props, {\n color,\n component,\n fontSize,\n instanceFontSize: inProps.fontSize,\n inheritViewBox,\n viewBox,\n hasSvgAsChild\n });\n const more = {};\n if (!inheritViewBox) {\n more.viewBox = viewBox;\n }\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SvgIconRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n focusable: \"false\",\n color: htmlColor,\n \"aria-hidden\": titleAccess ? undefined : true,\n role: titleAccess ? 'img' : undefined,\n ref: ref\n }, more, other, hasSvgAsChild && children.props, {\n ownerState: ownerState,\n children: [hasSvgAsChild ? children.props.children : children, titleAccess ? /*#__PURE__*/_jsx(\"title\", {\n children: titleAccess\n }) : null]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? SvgIcon.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Node passed into the SVG element.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * You can use the `htmlColor` prop to apply a color attribute to the SVG element.\n * @default 'inherit'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'action', 'disabled', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The fontSize applied to the icon. Defaults to 24px, but can be configure to inherit font size.\n * @default 'medium'\n */\n fontSize: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'large', 'medium', 'small']), PropTypes.string]),\n /**\n * Applies a color attribute to the SVG element.\n */\n htmlColor: PropTypes.string,\n /**\n * If `true`, the root node will inherit the custom `component`'s viewBox and the `viewBox`\n * prop will be ignored.\n * Useful when you want to reference a custom `component` and have `SvgIcon` pass that\n * `component`'s viewBox to the root node.\n * @default false\n */\n inheritViewBox: PropTypes.bool,\n /**\n * The shape-rendering attribute. The behavior of the different options is described on the\n * [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/shape-rendering).\n * If you are having issues with blurry icons you should investigate this prop.\n */\n shapeRendering: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Provides a human-readable title for the element that contains it.\n * https://www.w3.org/TR/SVG-access/#Equivalent\n */\n titleAccess: PropTypes.string,\n /**\n * Allows you to redefine what the coordinates without units mean inside an SVG element.\n * For example, if the SVG element is 500 (width) by 200 (height),\n * and you pass viewBox=\"0 0 50 20\",\n * this means that the coordinates inside the SVG will go from the top left corner (0,0)\n * to bottom right (50,20) and each unit will be worth 10px.\n * @default '0 0 24 24'\n */\n viewBox: PropTypes.string\n} : void 0;\nSvgIcon.muiName = 'SvgIcon';\nexport default SvgIcon;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport SvgIcon from '../SvgIcon';\n\n/**\n * Private module reserved for @mui packages.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function createSvgIcon(path, displayName) {\n function Component(props, ref) {\n return /*#__PURE__*/_jsx(SvgIcon, _extends({\n \"data-testid\": `${displayName}Icon`,\n ref: ref\n }, props, {\n children: path\n }));\n }\n if (process.env.NODE_ENV !== 'production') {\n // Need to set `displayName` on the inner component for React.memo.\n // React prior to 16.14 ignores `displayName` on the wrapper.\n Component.displayName = `${displayName}Icon`;\n }\n Component.muiName = SvgIcon.muiName;\n return /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(Component));\n}","import debounce from '@mui/utils/debounce';\nexport default debounce;","import createChainedFunction from '@mui/utils/createChainedFunction';\nexport default createChainedFunction;","import deprecatedPropType from '@mui/utils/deprecatedPropType';\nexport default deprecatedPropType;","export default function deprecatedPropType(validator, reason) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return (props, propName, componentName, location, propFullName) => {\n const componentNameSafe = componentName || '<>';\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The ${location} \\`${propFullNameSafe}\\` of ` + `\\`${componentNameSafe}\\` is deprecated. ${reason}`);\n }\n return null;\n };\n}","import requirePropFactory from '@mui/utils/requirePropFactory';\nexport default requirePropFactory;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function requirePropFactory(componentNameInError, Component) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n\n // eslint-disable-next-line react/forbid-foreign-prop-types\n const prevPropTypes = Component ? _extends({}, Component.propTypes) : null;\n const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {\n const propFullNameSafe = propFullName || propName;\n const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe];\n if (defaultTypeChecker) {\n const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);\n if (typeCheckerResult) {\n return typeCheckerResult;\n }\n }\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(`The prop \\`${propFullNameSafe}\\` of ` + `\\`${componentNameInError}\\` can only be used together with the \\`${requiredProp}\\` prop.`);\n }\n return null;\n };\n return requireProp;\n}","import setRef from '@mui/utils/setRef';\nexport default setRef;","import unsupportedProp from '@mui/utils/unsupportedProp';\nexport default unsupportedProp;","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The prop \\`${propFullNameSafe}\\` is not supported. Please remove it.`);\n }\n return null;\n}","'use client';\n\nimport { unstable_ClassNameGenerator as ClassNameGenerator } from '@mui/utils';\nexport { default as capitalize } from './capitalize';\nexport { default as createChainedFunction } from './createChainedFunction';\nexport { default as createSvgIcon } from './createSvgIcon';\nexport { default as debounce } from './debounce';\nexport { default as deprecatedPropType } from './deprecatedPropType';\nexport { default as isMuiElement } from './isMuiElement';\nexport { default as ownerDocument } from './ownerDocument';\nexport { default as ownerWindow } from './ownerWindow';\nexport { default as requirePropFactory } from './requirePropFactory';\nexport { default as setRef } from './setRef';\nexport { default as unstable_useEnhancedEffect } from './useEnhancedEffect';\nexport { default as unstable_useId } from './useId';\nexport { default as unsupportedProp } from './unsupportedProp';\nexport { default as useControlled } from './useControlled';\nexport { default as useEventCallback } from './useEventCallback';\nexport { default as useForkRef } from './useForkRef';\nexport { default as useIsFocusVisible } from './useIsFocusVisible';\n// TODO: remove this export once ClassNameGenerator is stable\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const unstable_ClassNameGenerator = {\n configure: generator => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(['MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.', '', \"You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead\", '', 'The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401', '', 'The updated documentation: https://mui.com/guides/classname-generator/'].join('\\n'));\n }\n ClassNameGenerator.configure(generator);\n }\n};","import isMuiElement from '@mui/utils/isMuiElement';\nexport default isMuiElement;","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n var _muiName, _element$type;\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf( // For server components `muiName` is avaialble in element.type._payload.value.muiName\n // relevant info - https://github.com/facebook/react/blob/2807d781a08db8e9873687fccc25c0f12b4fb3d4/packages/react/src/ReactLazy.js#L45\n // eslint-disable-next-line no-underscore-dangle\n (_muiName = element.type.muiName) != null ? _muiName : (_element$type = element.type) == null || (_element$type = _element$type._payload) == null || (_element$type = _element$type.value) == null ? void 0 : _element$type.muiName) !== -1;\n}","import ownerDocument from '@mui/utils/ownerDocument';\nexport default ownerDocument;","import ownerWindow from '@mui/utils/ownerWindow';\nexport default ownerWindow;","'use client';\n\nimport useControlled from '@mui/utils/useControlled';\nexport default useControlled;","'use client';\n\nimport useEnhancedEffect from '@mui/utils/useEnhancedEffect';\nexport default useEnhancedEffect;","'use client';\n\nimport useEventCallback from '@mui/utils/useEventCallback';\nexport default useEventCallback;","'use client';\n\nimport useForkRef from '@mui/utils/useForkRef';\nexport default useForkRef;","'use client';\n\nimport useId from '@mui/utils/useId';\nexport default useId;","'use client';\n\n// based on https://github.com/WICG/focus-visible/blob/v4.1.5/src/focus-visible.js\nimport * as React from 'react';\nimport { Timeout } from '../useTimeout/useTimeout';\nlet hadKeyboardEvent = true;\nlet hadFocusVisibleRecently = false;\nconst hadFocusVisibleRecentlyTimeout = new Timeout();\nconst inputTypesWhitelist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n};\n\n/**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} node\n * @returns {boolean}\n */\nfunction focusTriggersKeyboardModality(node) {\n const {\n type,\n tagName\n } = node;\n if (tagName === 'INPUT' && inputTypesWhitelist[type] && !node.readOnly) {\n return true;\n }\n if (tagName === 'TEXTAREA' && !node.readOnly) {\n return true;\n }\n if (node.isContentEditable) {\n return true;\n }\n return false;\n}\n\n/**\n * Keep track of our keyboard modality state with `hadKeyboardEvent`.\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * @param {KeyboardEvent} event\n */\nfunction handleKeyDown(event) {\n if (event.metaKey || event.altKey || event.ctrlKey) {\n return;\n }\n hadKeyboardEvent = true;\n}\n\n/**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n */\nfunction handlePointerDown() {\n hadKeyboardEvent = false;\n}\nfunction handleVisibilityChange() {\n if (this.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n }\n}\nfunction prepare(doc) {\n doc.addEventListener('keydown', handleKeyDown, true);\n doc.addEventListener('mousedown', handlePointerDown, true);\n doc.addEventListener('pointerdown', handlePointerDown, true);\n doc.addEventListener('touchstart', handlePointerDown, true);\n doc.addEventListener('visibilitychange', handleVisibilityChange, true);\n}\nexport function teardown(doc) {\n doc.removeEventListener('keydown', handleKeyDown, true);\n doc.removeEventListener('mousedown', handlePointerDown, true);\n doc.removeEventListener('pointerdown', handlePointerDown, true);\n doc.removeEventListener('touchstart', handlePointerDown, true);\n doc.removeEventListener('visibilitychange', handleVisibilityChange, true);\n}\nfunction isFocusVisible(event) {\n const {\n target\n } = event;\n try {\n return target.matches(':focus-visible');\n } catch (error) {\n // Browsers not implementing :focus-visible will throw a SyntaxError.\n // We use our own heuristic for those browsers.\n // Rethrow might be better if it's not the expected error but do we really\n // want to crash if focus-visible malfunctioned?\n }\n\n // No need for validFocusTarget check. The user does that by attaching it to\n // focusable events only.\n return hadKeyboardEvent || focusTriggersKeyboardModality(target);\n}\nexport default function useIsFocusVisible() {\n const ref = React.useCallback(node => {\n if (node != null) {\n prepare(node.ownerDocument);\n }\n }, []);\n const isFocusVisibleRef = React.useRef(false);\n\n /**\n * Should be called if a blur event is fired\n */\n function handleBlurVisible() {\n // checking against potential state variable does not suffice if we focus and blur synchronously.\n // React wouldn't have time to trigger a re-render so `focusVisible` would be stale.\n // Ideally we would adjust `isFocusVisible(event)` to look at `relatedTarget` for blur events.\n // This doesn't work in IE11 due to https://github.com/facebook/react/issues/3751\n // TODO: check again if React releases their internal changes to focus event handling (https://github.com/facebook/react/pull/19186).\n if (isFocusVisibleRef.current) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n hadFocusVisibleRecentlyTimeout.start(100, () => {\n hadFocusVisibleRecently = false;\n });\n isFocusVisibleRef.current = false;\n return true;\n }\n return false;\n }\n\n /**\n * Should be called if a blur event is fired\n */\n function handleFocusVisible(event) {\n if (isFocusVisible(event)) {\n isFocusVisibleRef.current = true;\n return true;\n }\n return false;\n }\n return {\n isFocusVisibleRef,\n onFocus: handleFocusVisible,\n onBlur: handleBlurVisible,\n ref\n };\n}","'use client';\n\nimport useIsFocusVisible from '@mui/utils/useIsFocusVisible';\nexport default useIsFocusVisible;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { Global } from '@emotion/react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction isEmpty(obj) {\n return obj === undefined || obj === null || Object.keys(obj).length === 0;\n}\nexport default function GlobalStyles(props) {\n const {\n styles,\n defaultTheme = {}\n } = props;\n const globalStyles = typeof styles === 'function' ? themeInput => styles(isEmpty(themeInput) ? defaultTheme : themeInput) : styles;\n return /*#__PURE__*/_jsx(Global, {\n styles: globalStyles\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? GlobalStyles.propTypes = {\n defaultTheme: PropTypes.object,\n styles: PropTypes.oneOfType([PropTypes.array, PropTypes.string, PropTypes.object, PropTypes.func])\n} : void 0;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { CacheProvider } from '@emotion/react';\nimport createCache from '@emotion/cache';\n\n// prepend: true moves MUI styles to the top of the so they're loaded first.\n// It allows developers to easily override MUI styles with other styling solutions, like CSS modules.\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nlet cache;\nif (typeof document === 'object') {\n cache = createCache({\n key: 'css',\n prepend: true\n });\n}\nexport default function StyledEngineProvider(props) {\n const {\n injectFirst,\n children\n } = props;\n return injectFirst && cache ? /*#__PURE__*/_jsx(CacheProvider, {\n value: cache,\n children: children\n }) : children;\n}\nprocess.env.NODE_ENV !== \"production\" ? StyledEngineProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: PropTypes.node,\n /**\n * By default, the styles are injected last in the element of the page.\n * As a result, they gain more specificity than any other style sheet.\n * If you want to override MUI's styles, set this prop.\n */\n injectFirst: PropTypes.bool\n} : void 0;","/**\n * @mui/styled-engine v5.16.14\n *\n * @license MIT\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use client';\n\n/* eslint-disable no-underscore-dangle */\nimport emStyled from '@emotion/styled';\nexport default function styled(tag, options) {\n const stylesFactory = emStyled(tag, options);\n if (process.env.NODE_ENV !== 'production') {\n return (...styles) => {\n const component = typeof tag === 'string' ? `\"${tag}\"` : 'component';\n if (styles.length === 0) {\n console.error([`MUI: Seems like you called \\`styled(${component})()\\` without a \\`style\\` argument.`, 'You must provide a `styles` argument: `styled(\"div\")(styleYouForgotToPass)`.'].join('\\n'));\n } else if (styles.some(style => style === undefined)) {\n console.error(`MUI: the styled(${component})(...args) API requires all its args to be defined.`);\n }\n return stylesFactory(...styles);\n };\n }\n return stylesFactory;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const internal_processStyles = (tag, processor) => {\n // Emotion attaches all the styles as `__emotion_styles`.\n // Ref: https://github.com/emotion-js/emotion/blob/16d971d0da229596d6bcc39d282ba9753c9ee7cf/packages/styled/src/base.js#L186\n if (Array.isArray(tag.__emotion_styles)) {\n tag.__emotion_styles = processor(tag.__emotion_styles);\n }\n};\nexport { ThemeContext, keyframes, css } from '@emotion/react';\nexport { default as StyledEngineProvider } from './StyledEngineProvider';\nexport { default as GlobalStyles } from './GlobalStyles';","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.alpha = alpha;\nexports.blend = blend;\nexports.colorChannel = void 0;\nexports.darken = darken;\nexports.decomposeColor = decomposeColor;\nexports.emphasize = emphasize;\nexports.getContrastRatio = getContrastRatio;\nexports.getLuminance = getLuminance;\nexports.hexToRgb = hexToRgb;\nexports.hslToRgb = hslToRgb;\nexports.lighten = lighten;\nexports.private_safeAlpha = private_safeAlpha;\nexports.private_safeColorChannel = void 0;\nexports.private_safeDarken = private_safeDarken;\nexports.private_safeEmphasize = private_safeEmphasize;\nexports.private_safeLighten = private_safeLighten;\nexports.recomposeColor = recomposeColor;\nexports.rgbToHex = rgbToHex;\nvar _formatMuiErrorMessage2 = _interopRequireDefault(require(\"@mui/utils/formatMuiErrorMessage\"));\nvar _clamp = _interopRequireDefault(require(\"@mui/utils/clamp\"));\n/* eslint-disable @typescript-eslint/naming-convention */\n\n/**\n * Returns a number whose value is limited to the given range.\n * @param {number} value The value to be clamped\n * @param {number} min The lower boundary of the output range\n * @param {number} max The upper boundary of the output range\n * @returns {number} A number in the range [min, max]\n */\nfunction clampWrapper(value, min = 0, max = 1) {\n if (process.env.NODE_ENV !== 'production') {\n if (value < min || value > max) {\n console.error(`MUI: The value provided ${value} is out of range [${min}, ${max}].`);\n }\n }\n return (0, _clamp.default)(value, min, max);\n}\n\n/**\n * Converts a color from CSS hex format to CSS rgb format.\n * @param {string} color - Hex color, i.e. #nnn or #nnnnnn\n * @returns {string} A CSS rgb color string\n */\nfunction hexToRgb(color) {\n color = color.slice(1);\n const re = new RegExp(`.{1,${color.length >= 6 ? 2 : 1}}`, 'g');\n let colors = color.match(re);\n if (colors && colors[0].length === 1) {\n colors = colors.map(n => n + n);\n }\n return colors ? `rgb${colors.length === 4 ? 'a' : ''}(${colors.map((n, index) => {\n return index < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1000) / 1000;\n }).join(', ')})` : '';\n}\nfunction intToHex(int) {\n const hex = int.toString(16);\n return hex.length === 1 ? `0${hex}` : hex;\n}\n\n/**\n * Returns an object with the type and values of a color.\n *\n * Note: Does not support rgb % values.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {object} - A MUI color object: {type: string, values: number[]}\n */\nfunction decomposeColor(color) {\n // Idempotent\n if (color.type) {\n return color;\n }\n if (color.charAt(0) === '#') {\n return decomposeColor(hexToRgb(color));\n }\n const marker = color.indexOf('(');\n const type = color.substring(0, marker);\n if (['rgb', 'rgba', 'hsl', 'hsla', 'color'].indexOf(type) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: Unsupported \\`${color}\\` color.\nThe following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().` : (0, _formatMuiErrorMessage2.default)(9, color));\n }\n let values = color.substring(marker + 1, color.length - 1);\n let colorSpace;\n if (type === 'color') {\n values = values.split(' ');\n colorSpace = values.shift();\n if (values.length === 4 && values[3].charAt(0) === '/') {\n values[3] = values[3].slice(1);\n }\n if (['srgb', 'display-p3', 'a98-rgb', 'prophoto-rgb', 'rec-2020'].indexOf(colorSpace) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: unsupported \\`${colorSpace}\\` color space.\nThe following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.` : (0, _formatMuiErrorMessage2.default)(10, colorSpace));\n }\n } else {\n values = values.split(',');\n }\n values = values.map(value => parseFloat(value));\n return {\n type,\n values,\n colorSpace\n };\n}\n\n/**\n * Returns a channel created from the input color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {string} - The channel for the color, that can be used in rgba or hsla colors\n */\nconst colorChannel = color => {\n const decomposedColor = decomposeColor(color);\n return decomposedColor.values.slice(0, 3).map((val, idx) => decomposedColor.type.indexOf('hsl') !== -1 && idx !== 0 ? `${val}%` : val).join(' ');\n};\nexports.colorChannel = colorChannel;\nconst private_safeColorChannel = (color, warning) => {\n try {\n return colorChannel(color);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n};\n\n/**\n * Converts a color object with type and values to a string.\n * @param {object} color - Decomposed color\n * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla', 'color'\n * @param {array} color.values - [n,n,n] or [n,n,n,n]\n * @returns {string} A CSS color string\n */\nexports.private_safeColorChannel = private_safeColorChannel;\nfunction recomposeColor(color) {\n const {\n type,\n colorSpace\n } = color;\n let {\n values\n } = color;\n if (type.indexOf('rgb') !== -1) {\n // Only convert the first 3 values to int (i.e. not alpha)\n values = values.map((n, i) => i < 3 ? parseInt(n, 10) : n);\n } else if (type.indexOf('hsl') !== -1) {\n values[1] = `${values[1]}%`;\n values[2] = `${values[2]}%`;\n }\n if (type.indexOf('color') !== -1) {\n values = `${colorSpace} ${values.join(' ')}`;\n } else {\n values = `${values.join(', ')}`;\n }\n return `${type}(${values})`;\n}\n\n/**\n * Converts a color from CSS rgb format to CSS hex format.\n * @param {string} color - RGB color, i.e. rgb(n, n, n)\n * @returns {string} A CSS rgb color string, i.e. #nnnnnn\n */\nfunction rgbToHex(color) {\n // Idempotent\n if (color.indexOf('#') === 0) {\n return color;\n }\n const {\n values\n } = decomposeColor(color);\n return `#${values.map((n, i) => intToHex(i === 3 ? Math.round(255 * n) : n)).join('')}`;\n}\n\n/**\n * Converts a color from hsl format to rgb format.\n * @param {string} color - HSL color values\n * @returns {string} rgb color values\n */\nfunction hslToRgb(color) {\n color = decomposeColor(color);\n const {\n values\n } = color;\n const h = values[0];\n const s = values[1] / 100;\n const l = values[2] / 100;\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n let type = 'rgb';\n const rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)];\n if (color.type === 'hsla') {\n type += 'a';\n rgb.push(values[3]);\n }\n return recomposeColor({\n type,\n values: rgb\n });\n}\n/**\n * The relative brightness of any point in a color space,\n * normalized to 0 for darkest black and 1 for lightest white.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {number} The relative brightness of the color in the range 0 - 1\n */\nfunction getLuminance(color) {\n color = decomposeColor(color);\n let rgb = color.type === 'hsl' || color.type === 'hsla' ? decomposeColor(hslToRgb(color)).values : color.values;\n rgb = rgb.map(val => {\n if (color.type !== 'color') {\n val /= 255; // normalized\n }\n return val <= 0.03928 ? val / 12.92 : ((val + 0.055) / 1.055) ** 2.4;\n });\n\n // Truncate at 3 digits\n return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3));\n}\n\n/**\n * Calculates the contrast ratio between two colors.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} A contrast ratio value in the range 0 - 21.\n */\nfunction getContrastRatio(foreground, background) {\n const lumA = getLuminance(foreground);\n const lumB = getLuminance(background);\n return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);\n}\n\n/**\n * Sets the absolute transparency of a color.\n * Any existing alpha values are overwritten.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} value - value to set the alpha channel to in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nfunction alpha(color, value) {\n color = decomposeColor(color);\n value = clampWrapper(value);\n if (color.type === 'rgb' || color.type === 'hsl') {\n color.type += 'a';\n }\n if (color.type === 'color') {\n color.values[3] = `/${value}`;\n } else {\n color.values[3] = value;\n }\n return recomposeColor(color);\n}\nfunction private_safeAlpha(color, value, warning) {\n try {\n return alpha(color, value);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darkens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nfunction darken(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] *= 1 - coefficient;\n } else if (color.type.indexOf('rgb') !== -1 || color.type.indexOf('color') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] *= 1 - coefficient;\n }\n }\n return recomposeColor(color);\n}\nfunction private_safeDarken(color, coefficient, warning) {\n try {\n return darken(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Lightens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nfunction lighten(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] += (100 - color.values[2]) * coefficient;\n } else if (color.type.indexOf('rgb') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (255 - color.values[i]) * coefficient;\n }\n } else if (color.type.indexOf('color') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (1 - color.values[i]) * coefficient;\n }\n }\n return recomposeColor(color);\n}\nfunction private_safeLighten(color, coefficient, warning) {\n try {\n return lighten(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darken or lighten a color, depending on its luminance.\n * Light colors are darkened, dark colors are lightened.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient=0.15 - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nfunction emphasize(color, coefficient = 0.15) {\n return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient);\n}\nfunction private_safeEmphasize(color, coefficient, warning) {\n try {\n return emphasize(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Blend a transparent overlay color with a background color, resulting in a single\n * RGB color.\n * @param {string} background - CSS color\n * @param {string} overlay - CSS color\n * @param {number} opacity - Opacity multiplier in the range 0 - 1\n * @param {number} [gamma=1.0] - Gamma correction factor. For gamma-correct blending, 2.2 is usual.\n */\nfunction blend(background, overlay, opacity, gamma = 1.0) {\n const blendChannel = (b, o) => Math.round((b ** (1 / gamma) * (1 - opacity) + o ** (1 / gamma) * opacity) ** gamma);\n const backgroundColor = decomposeColor(background);\n const overlayColor = decomposeColor(overlay);\n const rgb = [blendChannel(backgroundColor.values[0], overlayColor.values[0]), blendChannel(backgroundColor.values[1], overlayColor.values[1]), blendChannel(backgroundColor.values[2], overlayColor.values[2])];\n return recomposeColor({\n type: 'rgb',\n values: rgb\n });\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createStyled;\nexports.shouldForwardProp = shouldForwardProp;\nexports.systemDefaultTheme = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar _styledEngine = _interopRequireWildcard(require(\"@mui/styled-engine\"));\nvar _deepmerge = require(\"@mui/utils/deepmerge\");\nvar _capitalize = _interopRequireDefault(require(\"@mui/utils/capitalize\"));\nvar _getDisplayName = _interopRequireDefault(require(\"@mui/utils/getDisplayName\"));\nvar _createTheme = _interopRequireDefault(require(\"./createTheme\"));\nvar _styleFunctionSx = _interopRequireDefault(require(\"./styleFunctionSx\"));\nconst _excluded = [\"ownerState\"],\n _excluded2 = [\"variants\"],\n _excluded3 = [\"name\", \"slot\", \"skipVariantsResolver\", \"skipSx\", \"overridesResolver\"];\n/* eslint-disable no-underscore-dangle */\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\nfunction isEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\n\n// https://github.com/emotion-js/emotion/blob/26ded6109fcd8ca9875cc2ce4564fee678a3f3c5/packages/styled/src/utils.js#L40\nfunction isStringTag(tag) {\n return typeof tag === 'string' &&\n // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96;\n}\n\n// Update /system/styled/#api in case if this changes\nfunction shouldForwardProp(prop) {\n return prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as';\n}\nconst systemDefaultTheme = exports.systemDefaultTheme = (0, _createTheme.default)();\nconst lowercaseFirstLetter = string => {\n if (!string) {\n return string;\n }\n return string.charAt(0).toLowerCase() + string.slice(1);\n};\nfunction resolveTheme({\n defaultTheme,\n theme,\n themeId\n}) {\n return isEmpty(theme) ? defaultTheme : theme[themeId] || theme;\n}\nfunction defaultOverridesResolver(slot) {\n if (!slot) {\n return null;\n }\n return (props, styles) => styles[slot];\n}\nfunction processStyleArg(callableStyle, _ref) {\n let {\n ownerState\n } = _ref,\n props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);\n const resolvedStylesArg = typeof callableStyle === 'function' ? callableStyle((0, _extends2.default)({\n ownerState\n }, props)) : callableStyle;\n if (Array.isArray(resolvedStylesArg)) {\n return resolvedStylesArg.flatMap(resolvedStyle => processStyleArg(resolvedStyle, (0, _extends2.default)({\n ownerState\n }, props)));\n }\n if (!!resolvedStylesArg && typeof resolvedStylesArg === 'object' && Array.isArray(resolvedStylesArg.variants)) {\n const {\n variants = []\n } = resolvedStylesArg,\n otherStyles = (0, _objectWithoutPropertiesLoose2.default)(resolvedStylesArg, _excluded2);\n let result = otherStyles;\n variants.forEach(variant => {\n let isMatch = true;\n if (typeof variant.props === 'function') {\n isMatch = variant.props((0, _extends2.default)({\n ownerState\n }, props, ownerState));\n } else {\n Object.keys(variant.props).forEach(key => {\n if ((ownerState == null ? void 0 : ownerState[key]) !== variant.props[key] && props[key] !== variant.props[key]) {\n isMatch = false;\n }\n });\n }\n if (isMatch) {\n if (!Array.isArray(result)) {\n result = [result];\n }\n result.push(typeof variant.style === 'function' ? variant.style((0, _extends2.default)({\n ownerState\n }, props, ownerState)) : variant.style);\n }\n });\n return result;\n }\n return resolvedStylesArg;\n}\nfunction createStyled(input = {}) {\n const {\n themeId,\n defaultTheme = systemDefaultTheme,\n rootShouldForwardProp = shouldForwardProp,\n slotShouldForwardProp = shouldForwardProp\n } = input;\n const systemSx = props => {\n return (0, _styleFunctionSx.default)((0, _extends2.default)({}, props, {\n theme: resolveTheme((0, _extends2.default)({}, props, {\n defaultTheme,\n themeId\n }))\n }));\n };\n systemSx.__mui_systemSx = true;\n return (tag, inputOptions = {}) => {\n // Filter out the `sx` style function from the previous styled component to prevent unnecessary styles generated by the composite components.\n (0, _styledEngine.internal_processStyles)(tag, styles => styles.filter(style => !(style != null && style.__mui_systemSx)));\n const {\n name: componentName,\n slot: componentSlot,\n skipVariantsResolver: inputSkipVariantsResolver,\n skipSx: inputSkipSx,\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n overridesResolver = defaultOverridesResolver(lowercaseFirstLetter(componentSlot))\n } = inputOptions,\n options = (0, _objectWithoutPropertiesLoose2.default)(inputOptions, _excluded3);\n\n // if skipVariantsResolver option is defined, take the value, otherwise, true for root and false for other slots.\n const skipVariantsResolver = inputSkipVariantsResolver !== undefined ? inputSkipVariantsResolver :\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n componentSlot && componentSlot !== 'Root' && componentSlot !== 'root' || false;\n const skipSx = inputSkipSx || false;\n let label;\n if (process.env.NODE_ENV !== 'production') {\n if (componentName) {\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n label = `${componentName}-${lowercaseFirstLetter(componentSlot || 'Root')}`;\n }\n }\n let shouldForwardPropOption = shouldForwardProp;\n\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n if (componentSlot === 'Root' || componentSlot === 'root') {\n shouldForwardPropOption = rootShouldForwardProp;\n } else if (componentSlot) {\n // any other slot specified\n shouldForwardPropOption = slotShouldForwardProp;\n } else if (isStringTag(tag)) {\n // for string (html) tag, preserve the behavior in emotion & styled-components.\n shouldForwardPropOption = undefined;\n }\n const defaultStyledResolver = (0, _styledEngine.default)(tag, (0, _extends2.default)({\n shouldForwardProp: shouldForwardPropOption,\n label\n }, options));\n const transformStyleArg = stylesArg => {\n // On the server Emotion doesn't use React.forwardRef for creating components, so the created\n // component stays as a function. This condition makes sure that we do not interpolate functions\n // which are basically components used as a selectors.\n if (typeof stylesArg === 'function' && stylesArg.__emotion_real !== stylesArg || (0, _deepmerge.isPlainObject)(stylesArg)) {\n return props => processStyleArg(stylesArg, (0, _extends2.default)({}, props, {\n theme: resolveTheme({\n theme: props.theme,\n defaultTheme,\n themeId\n })\n }));\n }\n return stylesArg;\n };\n const muiStyledResolver = (styleArg, ...expressions) => {\n let transformedStyleArg = transformStyleArg(styleArg);\n const expressionsWithDefaultTheme = expressions ? expressions.map(transformStyleArg) : [];\n if (componentName && overridesResolver) {\n expressionsWithDefaultTheme.push(props => {\n const theme = resolveTheme((0, _extends2.default)({}, props, {\n defaultTheme,\n themeId\n }));\n if (!theme.components || !theme.components[componentName] || !theme.components[componentName].styleOverrides) {\n return null;\n }\n const styleOverrides = theme.components[componentName].styleOverrides;\n const resolvedStyleOverrides = {};\n // TODO: v7 remove iteration and use `resolveStyleArg(styleOverrides[slot])` directly\n Object.entries(styleOverrides).forEach(([slotKey, slotStyle]) => {\n resolvedStyleOverrides[slotKey] = processStyleArg(slotStyle, (0, _extends2.default)({}, props, {\n theme\n }));\n });\n return overridesResolver(props, resolvedStyleOverrides);\n });\n }\n if (componentName && !skipVariantsResolver) {\n expressionsWithDefaultTheme.push(props => {\n var _theme$components;\n const theme = resolveTheme((0, _extends2.default)({}, props, {\n defaultTheme,\n themeId\n }));\n const themeVariants = theme == null || (_theme$components = theme.components) == null || (_theme$components = _theme$components[componentName]) == null ? void 0 : _theme$components.variants;\n return processStyleArg({\n variants: themeVariants\n }, (0, _extends2.default)({}, props, {\n theme\n }));\n });\n }\n if (!skipSx) {\n expressionsWithDefaultTheme.push(systemSx);\n }\n const numOfCustomFnsApplied = expressionsWithDefaultTheme.length - expressions.length;\n if (Array.isArray(styleArg) && numOfCustomFnsApplied > 0) {\n const placeholders = new Array(numOfCustomFnsApplied).fill('');\n // If the type is array, than we need to add placeholders in the template for the overrides, variants and the sx styles.\n transformedStyleArg = [...styleArg, ...placeholders];\n transformedStyleArg.raw = [...styleArg.raw, ...placeholders];\n }\n const Component = defaultStyledResolver(transformedStyleArg, ...expressionsWithDefaultTheme);\n if (process.env.NODE_ENV !== 'production') {\n let displayName;\n if (componentName) {\n displayName = `${componentName}${(0, _capitalize.default)(componentSlot || '')}`;\n }\n if (displayName === undefined) {\n displayName = `Styled(${(0, _getDisplayName.default)(tag)})`;\n }\n Component.displayName = displayName;\n }\n if (tag.muiName) {\n Component.muiName = tag.muiName;\n }\n return Component;\n };\n if (defaultStyledResolver.withConfig) {\n muiStyledResolver.withConfig = defaultStyledResolver.withConfig;\n }\n return muiStyledResolver;\n };\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport PropTypes from 'prop-types';\nimport deepmerge from '@mui/utils/deepmerge';\nimport merge from './merge';\n\n// The breakpoint **start** at this value.\n// For instance with the first breakpoint xs: [xs, sm[.\nexport const values = {\n xs: 0,\n // phone\n sm: 600,\n // tablet\n md: 900,\n // small laptop\n lg: 1200,\n // desktop\n xl: 1536 // large screen\n};\nconst defaultBreakpoints = {\n // Sorted ASC by size. That's important.\n // It can't be configured as it's used statically for propTypes.\n keys: ['xs', 'sm', 'md', 'lg', 'xl'],\n up: key => `@media (min-width:${values[key]}px)`\n};\nexport function handleBreakpoints(props, propValue, styleFromPropValue) {\n const theme = props.theme || {};\n if (Array.isArray(propValue)) {\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n return propValue.reduce((acc, item, index) => {\n acc[themeBreakpoints.up(themeBreakpoints.keys[index])] = styleFromPropValue(propValue[index]);\n return acc;\n }, {});\n }\n if (typeof propValue === 'object') {\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n return Object.keys(propValue).reduce((acc, breakpoint) => {\n // key is breakpoint\n if (Object.keys(themeBreakpoints.values || values).indexOf(breakpoint) !== -1) {\n const mediaKey = themeBreakpoints.up(breakpoint);\n acc[mediaKey] = styleFromPropValue(propValue[breakpoint], breakpoint);\n } else {\n const cssKey = breakpoint;\n acc[cssKey] = propValue[cssKey];\n }\n return acc;\n }, {});\n }\n const output = styleFromPropValue(propValue);\n return output;\n}\nfunction breakpoints(styleFunction) {\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const newStyleFunction = props => {\n const theme = props.theme || {};\n const base = styleFunction(props);\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n const extended = themeBreakpoints.keys.reduce((acc, key) => {\n if (props[key]) {\n acc = acc || {};\n acc[themeBreakpoints.up(key)] = styleFunction(_extends({\n theme\n }, props[key]));\n }\n return acc;\n }, null);\n return merge(base, extended);\n };\n newStyleFunction.propTypes = process.env.NODE_ENV !== 'production' ? _extends({}, styleFunction.propTypes, {\n xs: PropTypes.object,\n sm: PropTypes.object,\n md: PropTypes.object,\n lg: PropTypes.object,\n xl: PropTypes.object\n }) : {};\n newStyleFunction.filterProps = ['xs', 'sm', 'md', 'lg', 'xl', ...styleFunction.filterProps];\n return newStyleFunction;\n}\nexport function createEmptyBreakpointObject(breakpointsInput = {}) {\n var _breakpointsInput$key;\n const breakpointsInOrder = (_breakpointsInput$key = breakpointsInput.keys) == null ? void 0 : _breakpointsInput$key.reduce((acc, key) => {\n const breakpointStyleKey = breakpointsInput.up(key);\n acc[breakpointStyleKey] = {};\n return acc;\n }, {});\n return breakpointsInOrder || {};\n}\nexport function removeUnusedBreakpoints(breakpointKeys, style) {\n return breakpointKeys.reduce((acc, key) => {\n const breakpointOutput = acc[key];\n const isBreakpointUnused = !breakpointOutput || Object.keys(breakpointOutput).length === 0;\n if (isBreakpointUnused) {\n delete acc[key];\n }\n return acc;\n }, style);\n}\nexport function mergeBreakpointsInOrder(breakpointsInput, ...styles) {\n const emptyBreakpoints = createEmptyBreakpointObject(breakpointsInput);\n const mergedOutput = [emptyBreakpoints, ...styles].reduce((prev, next) => deepmerge(prev, next), {});\n return removeUnusedBreakpoints(Object.keys(emptyBreakpoints), mergedOutput);\n}\n\n// compute base for responsive values; e.g.,\n// [1,2,3] => {xs: true, sm: true, md: true}\n// {xs: 1, sm: 2, md: 3} => {xs: true, sm: true, md: true}\nexport function computeBreakpointsBase(breakpointValues, themeBreakpoints) {\n // fixed value\n if (typeof breakpointValues !== 'object') {\n return {};\n }\n const base = {};\n const breakpointsKeys = Object.keys(themeBreakpoints);\n if (Array.isArray(breakpointValues)) {\n breakpointsKeys.forEach((breakpoint, i) => {\n if (i < breakpointValues.length) {\n base[breakpoint] = true;\n }\n });\n } else {\n breakpointsKeys.forEach(breakpoint => {\n if (breakpointValues[breakpoint] != null) {\n base[breakpoint] = true;\n }\n });\n }\n return base;\n}\nexport function resolveBreakpointValues({\n values: breakpointValues,\n breakpoints: themeBreakpoints,\n base: customBase\n}) {\n const base = customBase || computeBreakpointsBase(breakpointValues, themeBreakpoints);\n const keys = Object.keys(base);\n if (keys.length === 0) {\n return breakpointValues;\n }\n let previous;\n return keys.reduce((acc, breakpoint, i) => {\n if (Array.isArray(breakpointValues)) {\n acc[breakpoint] = breakpointValues[i] != null ? breakpointValues[i] : breakpointValues[previous];\n previous = i;\n } else if (typeof breakpointValues === 'object') {\n acc[breakpoint] = breakpointValues[breakpoint] != null ? breakpointValues[breakpoint] : breakpointValues[previous];\n previous = breakpoint;\n } else {\n acc[breakpoint] = breakpointValues;\n }\n return acc;\n }, {});\n}\nexport default breakpoints;","/**\n * A universal utility to style components with multiple color modes. Always use it from the theme object.\n * It works with:\n * - [Basic theme](https://mui.com/material-ui/customization/dark-mode/)\n * - [CSS theme variables](https://mui.com/material-ui/experimental-api/css-theme-variables/overview/)\n * - Zero-runtime engine\n *\n * Tips: Use an array over object spread and place `theme.applyStyles()` last.\n *\n * ✅ [{ background: '#e5e5e5' }, theme.applyStyles('dark', { background: '#1c1c1c' })]\n *\n * 🚫 { background: '#e5e5e5', ...theme.applyStyles('dark', { background: '#1c1c1c' })}\n *\n * @example\n * 1. using with `styled`:\n * ```jsx\n * const Component = styled('div')(({ theme }) => [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ]);\n * ```\n *\n * @example\n * 2. using with `sx` prop:\n * ```jsx\n * [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ]}\n * />\n * ```\n *\n * @example\n * 3. theming a component:\n * ```jsx\n * extendTheme({\n * components: {\n * MuiButton: {\n * styleOverrides: {\n * root: ({ theme }) => [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ],\n * },\n * }\n * }\n * })\n *```\n */\nexport default function applyStyles(key, styles) {\n // @ts-expect-error this is 'any' type\n const theme = this;\n if (theme.vars && typeof theme.getColorSchemeSelector === 'function') {\n // If CssVarsProvider is used as a provider,\n // returns '* :where([data-mui-color-scheme=\"light|dark\"]) &'\n const selector = theme.getColorSchemeSelector(key).replace(/(\\[[^\\]]+\\])/, '*:where($1)');\n return {\n [selector]: styles\n };\n }\n if (theme.palette.mode === key) {\n return styles;\n }\n return {};\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"values\", \"unit\", \"step\"];\n// Sorted ASC by size. That's important.\n// It can't be configured as it's used statically for propTypes.\nexport const breakpointKeys = ['xs', 'sm', 'md', 'lg', 'xl'];\nconst sortBreakpointsValues = values => {\n const breakpointsAsArray = Object.keys(values).map(key => ({\n key,\n val: values[key]\n })) || [];\n // Sort in ascending order\n breakpointsAsArray.sort((breakpoint1, breakpoint2) => breakpoint1.val - breakpoint2.val);\n return breakpointsAsArray.reduce((acc, obj) => {\n return _extends({}, acc, {\n [obj.key]: obj.val\n });\n }, {});\n};\n\n// Keep in mind that @media is inclusive by the CSS specification.\nexport default function createBreakpoints(breakpoints) {\n const {\n // The breakpoint **start** at this value.\n // For instance with the first breakpoint xs: [xs, sm).\n values = {\n xs: 0,\n // phone\n sm: 600,\n // tablet\n md: 900,\n // small laptop\n lg: 1200,\n // desktop\n xl: 1536 // large screen\n },\n unit = 'px',\n step = 5\n } = breakpoints,\n other = _objectWithoutPropertiesLoose(breakpoints, _excluded);\n const sortedValues = sortBreakpointsValues(values);\n const keys = Object.keys(sortedValues);\n function up(key) {\n const value = typeof values[key] === 'number' ? values[key] : key;\n return `@media (min-width:${value}${unit})`;\n }\n function down(key) {\n const value = typeof values[key] === 'number' ? values[key] : key;\n return `@media (max-width:${value - step / 100}${unit})`;\n }\n function between(start, end) {\n const endIndex = keys.indexOf(end);\n return `@media (min-width:${typeof values[start] === 'number' ? values[start] : start}${unit}) and ` + `(max-width:${(endIndex !== -1 && typeof values[keys[endIndex]] === 'number' ? values[keys[endIndex]] : end) - step / 100}${unit})`;\n }\n function only(key) {\n if (keys.indexOf(key) + 1 < keys.length) {\n return between(key, keys[keys.indexOf(key) + 1]);\n }\n return up(key);\n }\n function not(key) {\n // handle first and last key separately, for better readability\n const keyIndex = keys.indexOf(key);\n if (keyIndex === 0) {\n return up(keys[1]);\n }\n if (keyIndex === keys.length - 1) {\n return down(keys[keyIndex]);\n }\n return between(key, keys[keys.indexOf(key) + 1]).replace('@media', '@media not all and');\n }\n return _extends({\n keys,\n values: sortedValues,\n up,\n down,\n between,\n only,\n not,\n unit\n }, other);\n}","const shape = {\n borderRadius: 4\n};\nexport default shape;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"breakpoints\", \"palette\", \"spacing\", \"shape\"];\nimport deepmerge from '@mui/utils/deepmerge';\nimport createBreakpoints from './createBreakpoints';\nimport shape from './shape';\nimport createSpacing from './createSpacing';\nimport styleFunctionSx from '../styleFunctionSx/styleFunctionSx';\nimport defaultSxConfig from '../styleFunctionSx/defaultSxConfig';\nimport applyStyles from './applyStyles';\nfunction createTheme(options = {}, ...args) {\n const {\n breakpoints: breakpointsInput = {},\n palette: paletteInput = {},\n spacing: spacingInput,\n shape: shapeInput = {}\n } = options,\n other = _objectWithoutPropertiesLoose(options, _excluded);\n const breakpoints = createBreakpoints(breakpointsInput);\n const spacing = createSpacing(spacingInput);\n let muiTheme = deepmerge({\n breakpoints,\n direction: 'ltr',\n components: {},\n // Inject component definitions.\n palette: _extends({\n mode: 'light'\n }, paletteInput),\n spacing,\n shape: _extends({}, shape, shapeInput)\n }, other);\n muiTheme.applyStyles = applyStyles;\n muiTheme = args.reduce((acc, argument) => deepmerge(acc, argument), muiTheme);\n muiTheme.unstable_sxConfig = _extends({}, defaultSxConfig, other == null ? void 0 : other.unstable_sxConfig);\n muiTheme.unstable_sx = function sx(props) {\n return styleFunctionSx({\n sx: props,\n theme: this\n });\n };\n return muiTheme;\n}\nexport default createTheme;","import { createUnarySpacing } from '../spacing';\n\n// The different signatures imply different meaning for their arguments that can't be expressed structurally.\n// We express the difference with variable names.\n\nexport default function createSpacing(spacingInput = 8) {\n // Already transformed.\n if (spacingInput.mui) {\n return spacingInput;\n }\n\n // Material Design layouts are visually balanced. Most measurements align to an 8dp grid, which aligns both spacing and the overall layout.\n // Smaller components, such as icons, can align to a 4dp grid.\n // https://m2.material.io/design/layout/understanding-layout.html\n const transform = createUnarySpacing({\n spacing: spacingInput\n });\n const spacing = (...argsInput) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!(argsInput.length <= 4)) {\n console.error(`MUI: Too many arguments provided, expected between 0 and 4, got ${argsInput.length}`);\n }\n }\n const args = argsInput.length === 0 ? [1] : argsInput;\n return args.map(argument => {\n const output = transform(argument);\n return typeof output === 'number' ? `${output}px` : output;\n }).join(' ');\n };\n spacing.mui = true;\n return spacing;\n}","import deepmerge from '@mui/utils/deepmerge';\nfunction merge(acc, item) {\n if (!item) {\n return acc;\n }\n return deepmerge(acc, item, {\n clone: false // No need to clone deep, it's way faster.\n });\n}\nexport default merge;","import responsivePropType from './responsivePropType';\nimport { handleBreakpoints } from './breakpoints';\nimport { getPath } from './style';\nimport merge from './merge';\nimport memoize from './memoize';\nconst properties = {\n m: 'margin',\n p: 'padding'\n};\nconst directions = {\n t: 'Top',\n r: 'Right',\n b: 'Bottom',\n l: 'Left',\n x: ['Left', 'Right'],\n y: ['Top', 'Bottom']\n};\nconst aliases = {\n marginX: 'mx',\n marginY: 'my',\n paddingX: 'px',\n paddingY: 'py'\n};\n\n// memoize() impact:\n// From 300,000 ops/sec\n// To 350,000 ops/sec\nconst getCssProperties = memoize(prop => {\n // It's not a shorthand notation.\n if (prop.length > 2) {\n if (aliases[prop]) {\n prop = aliases[prop];\n } else {\n return [prop];\n }\n }\n const [a, b] = prop.split('');\n const property = properties[a];\n const direction = directions[b] || '';\n return Array.isArray(direction) ? direction.map(dir => property + dir) : [property + direction];\n});\nexport const marginKeys = ['m', 'mt', 'mr', 'mb', 'ml', 'mx', 'my', 'margin', 'marginTop', 'marginRight', 'marginBottom', 'marginLeft', 'marginX', 'marginY', 'marginInline', 'marginInlineStart', 'marginInlineEnd', 'marginBlock', 'marginBlockStart', 'marginBlockEnd'];\nexport const paddingKeys = ['p', 'pt', 'pr', 'pb', 'pl', 'px', 'py', 'padding', 'paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft', 'paddingX', 'paddingY', 'paddingInline', 'paddingInlineStart', 'paddingInlineEnd', 'paddingBlock', 'paddingBlockStart', 'paddingBlockEnd'];\nconst spacingKeys = [...marginKeys, ...paddingKeys];\nexport function createUnaryUnit(theme, themeKey, defaultValue, propName) {\n var _getPath;\n const themeSpacing = (_getPath = getPath(theme, themeKey, false)) != null ? _getPath : defaultValue;\n if (typeof themeSpacing === 'number') {\n return abs => {\n if (typeof abs === 'string') {\n return abs;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (typeof abs !== 'number') {\n console.error(`MUI: Expected ${propName} argument to be a number or a string, got ${abs}.`);\n }\n }\n return themeSpacing * abs;\n };\n }\n if (Array.isArray(themeSpacing)) {\n return abs => {\n if (typeof abs === 'string') {\n return abs;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (!Number.isInteger(abs)) {\n console.error([`MUI: The \\`theme.${themeKey}\\` array type cannot be combined with non integer values.` + `You should either use an integer value that can be used as index, or define the \\`theme.${themeKey}\\` as a number.`].join('\\n'));\n } else if (abs > themeSpacing.length - 1) {\n console.error([`MUI: The value provided (${abs}) overflows.`, `The supported values are: ${JSON.stringify(themeSpacing)}.`, `${abs} > ${themeSpacing.length - 1}, you need to add the missing values.`].join('\\n'));\n }\n }\n return themeSpacing[abs];\n };\n }\n if (typeof themeSpacing === 'function') {\n return themeSpacing;\n }\n if (process.env.NODE_ENV !== 'production') {\n console.error([`MUI: The \\`theme.${themeKey}\\` value (${themeSpacing}) is invalid.`, 'It should be a number, an array or a function.'].join('\\n'));\n }\n return () => undefined;\n}\nexport function createUnarySpacing(theme) {\n return createUnaryUnit(theme, 'spacing', 8, 'spacing');\n}\nexport function getValue(transformer, propValue) {\n if (typeof propValue === 'string' || propValue == null) {\n return propValue;\n }\n const abs = Math.abs(propValue);\n const transformed = transformer(abs);\n if (propValue >= 0) {\n return transformed;\n }\n if (typeof transformed === 'number') {\n return -transformed;\n }\n return `-${transformed}`;\n}\nexport function getStyleFromPropValue(cssProperties, transformer) {\n return propValue => cssProperties.reduce((acc, cssProperty) => {\n acc[cssProperty] = getValue(transformer, propValue);\n return acc;\n }, {});\n}\nfunction resolveCssProperty(props, keys, prop, transformer) {\n // Using a hash computation over an array iteration could be faster, but with only 28 items,\n // it's doesn't worth the bundle size.\n if (keys.indexOf(prop) === -1) {\n return null;\n }\n const cssProperties = getCssProperties(prop);\n const styleFromPropValue = getStyleFromPropValue(cssProperties, transformer);\n const propValue = props[prop];\n return handleBreakpoints(props, propValue, styleFromPropValue);\n}\nfunction style(props, keys) {\n const transformer = createUnarySpacing(props.theme);\n return Object.keys(props).map(prop => resolveCssProperty(props, keys, prop, transformer)).reduce(merge, {});\n}\nexport function margin(props) {\n return style(props, marginKeys);\n}\nmargin.propTypes = process.env.NODE_ENV !== 'production' ? marginKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\nmargin.filterProps = marginKeys;\nexport function padding(props) {\n return style(props, paddingKeys);\n}\npadding.propTypes = process.env.NODE_ENV !== 'production' ? paddingKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\npadding.filterProps = paddingKeys;\nfunction spacing(props) {\n return style(props, spacingKeys);\n}\nspacing.propTypes = process.env.NODE_ENV !== 'production' ? spacingKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\nspacing.filterProps = spacingKeys;\nexport default spacing;","export default function memoize(fn) {\n const cache = {};\n return arg => {\n if (cache[arg] === undefined) {\n cache[arg] = fn(arg);\n }\n return cache[arg];\n };\n}","import capitalize from '@mui/utils/capitalize';\nimport responsivePropType from './responsivePropType';\nimport { handleBreakpoints } from './breakpoints';\nexport function getPath(obj, path, checkVars = true) {\n if (!path || typeof path !== 'string') {\n return null;\n }\n\n // Check if CSS variables are used\n if (obj && obj.vars && checkVars) {\n const val = `vars.${path}`.split('.').reduce((acc, item) => acc && acc[item] ? acc[item] : null, obj);\n if (val != null) {\n return val;\n }\n }\n return path.split('.').reduce((acc, item) => {\n if (acc && acc[item] != null) {\n return acc[item];\n }\n return null;\n }, obj);\n}\nexport function getStyleValue(themeMapping, transform, propValueFinal, userValue = propValueFinal) {\n let value;\n if (typeof themeMapping === 'function') {\n value = themeMapping(propValueFinal);\n } else if (Array.isArray(themeMapping)) {\n value = themeMapping[propValueFinal] || userValue;\n } else {\n value = getPath(themeMapping, propValueFinal) || userValue;\n }\n if (transform) {\n value = transform(value, userValue, themeMapping);\n }\n return value;\n}\nfunction style(options) {\n const {\n prop,\n cssProperty = options.prop,\n themeKey,\n transform\n } = options;\n\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const fn = props => {\n if (props[prop] == null) {\n return null;\n }\n const propValue = props[prop];\n const theme = props.theme;\n const themeMapping = getPath(theme, themeKey) || {};\n const styleFromPropValue = propValueFinal => {\n let value = getStyleValue(themeMapping, transform, propValueFinal);\n if (propValueFinal === value && typeof propValueFinal === 'string') {\n // Haven't found value\n value = getStyleValue(themeMapping, transform, `${prop}${propValueFinal === 'default' ? '' : capitalize(propValueFinal)}`, propValueFinal);\n }\n if (cssProperty === false) {\n return value;\n }\n return {\n [cssProperty]: value\n };\n };\n return handleBreakpoints(props, propValue, styleFromPropValue);\n };\n fn.propTypes = process.env.NODE_ENV !== 'production' ? {\n [prop]: responsivePropType\n } : {};\n fn.filterProps = [prop];\n return fn;\n}\nexport default style;","import merge from './merge';\nfunction compose(...styles) {\n const handlers = styles.reduce((acc, style) => {\n style.filterProps.forEach(prop => {\n acc[prop] = style;\n });\n return acc;\n }, {});\n\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const fn = props => {\n return Object.keys(props).reduce((acc, prop) => {\n if (handlers[prop]) {\n return merge(acc, handlers[prop](props));\n }\n return acc;\n }, {});\n };\n fn.propTypes = process.env.NODE_ENV !== 'production' ? styles.reduce((acc, style) => Object.assign(acc, style.propTypes), {}) : {};\n fn.filterProps = styles.reduce((acc, style) => acc.concat(style.filterProps), []);\n return fn;\n}\nexport default compose;","import responsivePropType from './responsivePropType';\nimport style from './style';\nimport compose from './compose';\nimport { createUnaryUnit, getValue } from './spacing';\nimport { handleBreakpoints } from './breakpoints';\nexport function borderTransform(value) {\n if (typeof value !== 'number') {\n return value;\n }\n return `${value}px solid`;\n}\nfunction createBorderStyle(prop, transform) {\n return style({\n prop,\n themeKey: 'borders',\n transform\n });\n}\nexport const border = createBorderStyle('border', borderTransform);\nexport const borderTop = createBorderStyle('borderTop', borderTransform);\nexport const borderRight = createBorderStyle('borderRight', borderTransform);\nexport const borderBottom = createBorderStyle('borderBottom', borderTransform);\nexport const borderLeft = createBorderStyle('borderLeft', borderTransform);\nexport const borderColor = createBorderStyle('borderColor');\nexport const borderTopColor = createBorderStyle('borderTopColor');\nexport const borderRightColor = createBorderStyle('borderRightColor');\nexport const borderBottomColor = createBorderStyle('borderBottomColor');\nexport const borderLeftColor = createBorderStyle('borderLeftColor');\nexport const outline = createBorderStyle('outline', borderTransform);\nexport const outlineColor = createBorderStyle('outlineColor');\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const borderRadius = props => {\n if (props.borderRadius !== undefined && props.borderRadius !== null) {\n const transformer = createUnaryUnit(props.theme, 'shape.borderRadius', 4, 'borderRadius');\n const styleFromPropValue = propValue => ({\n borderRadius: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.borderRadius, styleFromPropValue);\n }\n return null;\n};\nborderRadius.propTypes = process.env.NODE_ENV !== 'production' ? {\n borderRadius: responsivePropType\n} : {};\nborderRadius.filterProps = ['borderRadius'];\nconst borders = compose(border, borderTop, borderRight, borderBottom, borderLeft, borderColor, borderTopColor, borderRightColor, borderBottomColor, borderLeftColor, borderRadius, outline, outlineColor);\nexport default borders;","import style from './style';\nimport compose from './compose';\nimport { createUnaryUnit, getValue } from './spacing';\nimport { handleBreakpoints } from './breakpoints';\nimport responsivePropType from './responsivePropType';\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const gap = props => {\n if (props.gap !== undefined && props.gap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'gap');\n const styleFromPropValue = propValue => ({\n gap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.gap, styleFromPropValue);\n }\n return null;\n};\ngap.propTypes = process.env.NODE_ENV !== 'production' ? {\n gap: responsivePropType\n} : {};\ngap.filterProps = ['gap'];\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const columnGap = props => {\n if (props.columnGap !== undefined && props.columnGap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'columnGap');\n const styleFromPropValue = propValue => ({\n columnGap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.columnGap, styleFromPropValue);\n }\n return null;\n};\ncolumnGap.propTypes = process.env.NODE_ENV !== 'production' ? {\n columnGap: responsivePropType\n} : {};\ncolumnGap.filterProps = ['columnGap'];\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const rowGap = props => {\n if (props.rowGap !== undefined && props.rowGap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'rowGap');\n const styleFromPropValue = propValue => ({\n rowGap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.rowGap, styleFromPropValue);\n }\n return null;\n};\nrowGap.propTypes = process.env.NODE_ENV !== 'production' ? {\n rowGap: responsivePropType\n} : {};\nrowGap.filterProps = ['rowGap'];\nexport const gridColumn = style({\n prop: 'gridColumn'\n});\nexport const gridRow = style({\n prop: 'gridRow'\n});\nexport const gridAutoFlow = style({\n prop: 'gridAutoFlow'\n});\nexport const gridAutoColumns = style({\n prop: 'gridAutoColumns'\n});\nexport const gridAutoRows = style({\n prop: 'gridAutoRows'\n});\nexport const gridTemplateColumns = style({\n prop: 'gridTemplateColumns'\n});\nexport const gridTemplateRows = style({\n prop: 'gridTemplateRows'\n});\nexport const gridTemplateAreas = style({\n prop: 'gridTemplateAreas'\n});\nexport const gridArea = style({\n prop: 'gridArea'\n});\nconst grid = compose(gap, columnGap, rowGap, gridColumn, gridRow, gridAutoFlow, gridAutoColumns, gridAutoRows, gridTemplateColumns, gridTemplateRows, gridTemplateAreas, gridArea);\nexport default grid;","import style from './style';\nimport compose from './compose';\nexport function paletteTransform(value, userValue) {\n if (userValue === 'grey') {\n return userValue;\n }\n return value;\n}\nexport const color = style({\n prop: 'color',\n themeKey: 'palette',\n transform: paletteTransform\n});\nexport const bgcolor = style({\n prop: 'bgcolor',\n cssProperty: 'backgroundColor',\n themeKey: 'palette',\n transform: paletteTransform\n});\nexport const backgroundColor = style({\n prop: 'backgroundColor',\n themeKey: 'palette',\n transform: paletteTransform\n});\nconst palette = compose(color, bgcolor, backgroundColor);\nexport default palette;","import style from './style';\nimport compose from './compose';\nimport { handleBreakpoints, values as breakpointsValues } from './breakpoints';\nexport function sizingTransform(value) {\n return value <= 1 && value !== 0 ? `${value * 100}%` : value;\n}\nexport const width = style({\n prop: 'width',\n transform: sizingTransform\n});\nexport const maxWidth = props => {\n if (props.maxWidth !== undefined && props.maxWidth !== null) {\n const styleFromPropValue = propValue => {\n var _props$theme, _props$theme2;\n const breakpoint = ((_props$theme = props.theme) == null || (_props$theme = _props$theme.breakpoints) == null || (_props$theme = _props$theme.values) == null ? void 0 : _props$theme[propValue]) || breakpointsValues[propValue];\n if (!breakpoint) {\n return {\n maxWidth: sizingTransform(propValue)\n };\n }\n if (((_props$theme2 = props.theme) == null || (_props$theme2 = _props$theme2.breakpoints) == null ? void 0 : _props$theme2.unit) !== 'px') {\n return {\n maxWidth: `${breakpoint}${props.theme.breakpoints.unit}`\n };\n }\n return {\n maxWidth: breakpoint\n };\n };\n return handleBreakpoints(props, props.maxWidth, styleFromPropValue);\n }\n return null;\n};\nmaxWidth.filterProps = ['maxWidth'];\nexport const minWidth = style({\n prop: 'minWidth',\n transform: sizingTransform\n});\nexport const height = style({\n prop: 'height',\n transform: sizingTransform\n});\nexport const maxHeight = style({\n prop: 'maxHeight',\n transform: sizingTransform\n});\nexport const minHeight = style({\n prop: 'minHeight',\n transform: sizingTransform\n});\nexport const sizeWidth = style({\n prop: 'size',\n cssProperty: 'width',\n transform: sizingTransform\n});\nexport const sizeHeight = style({\n prop: 'size',\n cssProperty: 'height',\n transform: sizingTransform\n});\nexport const boxSizing = style({\n prop: 'boxSizing'\n});\nconst sizing = compose(width, maxWidth, minWidth, height, maxHeight, minHeight, boxSizing);\nexport default sizing;","import { padding, margin } from '../spacing';\nimport { borderRadius, borderTransform } from '../borders';\nimport { gap, rowGap, columnGap } from '../cssGrid';\nimport { paletteTransform } from '../palette';\nimport { maxWidth, sizingTransform } from '../sizing';\nconst defaultSxConfig = {\n // borders\n border: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderTop: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderRight: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderBottom: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderLeft: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderColor: {\n themeKey: 'palette'\n },\n borderTopColor: {\n themeKey: 'palette'\n },\n borderRightColor: {\n themeKey: 'palette'\n },\n borderBottomColor: {\n themeKey: 'palette'\n },\n borderLeftColor: {\n themeKey: 'palette'\n },\n outline: {\n themeKey: 'borders',\n transform: borderTransform\n },\n outlineColor: {\n themeKey: 'palette'\n },\n borderRadius: {\n themeKey: 'shape.borderRadius',\n style: borderRadius\n },\n // palette\n color: {\n themeKey: 'palette',\n transform: paletteTransform\n },\n bgcolor: {\n themeKey: 'palette',\n cssProperty: 'backgroundColor',\n transform: paletteTransform\n },\n backgroundColor: {\n themeKey: 'palette',\n transform: paletteTransform\n },\n // spacing\n p: {\n style: padding\n },\n pt: {\n style: padding\n },\n pr: {\n style: padding\n },\n pb: {\n style: padding\n },\n pl: {\n style: padding\n },\n px: {\n style: padding\n },\n py: {\n style: padding\n },\n padding: {\n style: padding\n },\n paddingTop: {\n style: padding\n },\n paddingRight: {\n style: padding\n },\n paddingBottom: {\n style: padding\n },\n paddingLeft: {\n style: padding\n },\n paddingX: {\n style: padding\n },\n paddingY: {\n style: padding\n },\n paddingInline: {\n style: padding\n },\n paddingInlineStart: {\n style: padding\n },\n paddingInlineEnd: {\n style: padding\n },\n paddingBlock: {\n style: padding\n },\n paddingBlockStart: {\n style: padding\n },\n paddingBlockEnd: {\n style: padding\n },\n m: {\n style: margin\n },\n mt: {\n style: margin\n },\n mr: {\n style: margin\n },\n mb: {\n style: margin\n },\n ml: {\n style: margin\n },\n mx: {\n style: margin\n },\n my: {\n style: margin\n },\n margin: {\n style: margin\n },\n marginTop: {\n style: margin\n },\n marginRight: {\n style: margin\n },\n marginBottom: {\n style: margin\n },\n marginLeft: {\n style: margin\n },\n marginX: {\n style: margin\n },\n marginY: {\n style: margin\n },\n marginInline: {\n style: margin\n },\n marginInlineStart: {\n style: margin\n },\n marginInlineEnd: {\n style: margin\n },\n marginBlock: {\n style: margin\n },\n marginBlockStart: {\n style: margin\n },\n marginBlockEnd: {\n style: margin\n },\n // display\n displayPrint: {\n cssProperty: false,\n transform: value => ({\n '@media print': {\n display: value\n }\n })\n },\n display: {},\n overflow: {},\n textOverflow: {},\n visibility: {},\n whiteSpace: {},\n // flexbox\n flexBasis: {},\n flexDirection: {},\n flexWrap: {},\n justifyContent: {},\n alignItems: {},\n alignContent: {},\n order: {},\n flex: {},\n flexGrow: {},\n flexShrink: {},\n alignSelf: {},\n justifyItems: {},\n justifySelf: {},\n // grid\n gap: {\n style: gap\n },\n rowGap: {\n style: rowGap\n },\n columnGap: {\n style: columnGap\n },\n gridColumn: {},\n gridRow: {},\n gridAutoFlow: {},\n gridAutoColumns: {},\n gridAutoRows: {},\n gridTemplateColumns: {},\n gridTemplateRows: {},\n gridTemplateAreas: {},\n gridArea: {},\n // positions\n position: {},\n zIndex: {\n themeKey: 'zIndex'\n },\n top: {},\n right: {},\n bottom: {},\n left: {},\n // shadows\n boxShadow: {\n themeKey: 'shadows'\n },\n // sizing\n width: {\n transform: sizingTransform\n },\n maxWidth: {\n style: maxWidth\n },\n minWidth: {\n transform: sizingTransform\n },\n height: {\n transform: sizingTransform\n },\n maxHeight: {\n transform: sizingTransform\n },\n minHeight: {\n transform: sizingTransform\n },\n boxSizing: {},\n // typography\n fontFamily: {\n themeKey: 'typography'\n },\n fontSize: {\n themeKey: 'typography'\n },\n fontStyle: {\n themeKey: 'typography'\n },\n fontWeight: {\n themeKey: 'typography'\n },\n letterSpacing: {},\n textTransform: {},\n lineHeight: {},\n textAlign: {},\n typography: {\n cssProperty: false,\n themeKey: 'typography'\n }\n};\nexport default defaultSxConfig;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"sx\"];\nimport { isPlainObject } from '@mui/utils/deepmerge';\nimport defaultSxConfig from './defaultSxConfig';\nconst splitProps = props => {\n var _props$theme$unstable, _props$theme;\n const result = {\n systemProps: {},\n otherProps: {}\n };\n const config = (_props$theme$unstable = props == null || (_props$theme = props.theme) == null ? void 0 : _props$theme.unstable_sxConfig) != null ? _props$theme$unstable : defaultSxConfig;\n Object.keys(props).forEach(prop => {\n if (config[prop]) {\n result.systemProps[prop] = props[prop];\n } else {\n result.otherProps[prop] = props[prop];\n }\n });\n return result;\n};\nexport default function extendSxProp(props) {\n const {\n sx: inSx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n systemProps,\n otherProps\n } = splitProps(other);\n let finalSx;\n if (Array.isArray(inSx)) {\n finalSx = [systemProps, ...inSx];\n } else if (typeof inSx === 'function') {\n finalSx = (...args) => {\n const result = inSx(...args);\n if (!isPlainObject(result)) {\n return systemProps;\n }\n return _extends({}, systemProps, result);\n };\n } else {\n finalSx = _extends({}, systemProps, inSx);\n }\n return _extends({}, otherProps, {\n sx: finalSx\n });\n}","import capitalize from '@mui/utils/capitalize';\nimport merge from '../merge';\nimport { getPath, getStyleValue as getValue } from '../style';\nimport { handleBreakpoints, createEmptyBreakpointObject, removeUnusedBreakpoints } from '../breakpoints';\nimport defaultSxConfig from './defaultSxConfig';\nfunction objectsHaveSameKeys(...objects) {\n const allKeys = objects.reduce((keys, object) => keys.concat(Object.keys(object)), []);\n const union = new Set(allKeys);\n return objects.every(object => union.size === Object.keys(object).length);\n}\nfunction callIfFn(maybeFn, arg) {\n return typeof maybeFn === 'function' ? maybeFn(arg) : maybeFn;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function unstable_createStyleFunctionSx() {\n function getThemeValue(prop, val, theme, config) {\n const props = {\n [prop]: val,\n theme\n };\n const options = config[prop];\n if (!options) {\n return {\n [prop]: val\n };\n }\n const {\n cssProperty = prop,\n themeKey,\n transform,\n style\n } = options;\n if (val == null) {\n return null;\n }\n\n // TODO v6: remove, see https://github.com/mui/material-ui/pull/38123\n if (themeKey === 'typography' && val === 'inherit') {\n return {\n [prop]: val\n };\n }\n const themeMapping = getPath(theme, themeKey) || {};\n if (style) {\n return style(props);\n }\n const styleFromPropValue = propValueFinal => {\n let value = getValue(themeMapping, transform, propValueFinal);\n if (propValueFinal === value && typeof propValueFinal === 'string') {\n // Haven't found value\n value = getValue(themeMapping, transform, `${prop}${propValueFinal === 'default' ? '' : capitalize(propValueFinal)}`, propValueFinal);\n }\n if (cssProperty === false) {\n return value;\n }\n return {\n [cssProperty]: value\n };\n };\n return handleBreakpoints(props, val, styleFromPropValue);\n }\n function styleFunctionSx(props) {\n var _theme$unstable_sxCon;\n const {\n sx,\n theme = {}\n } = props || {};\n if (!sx) {\n return null; // Emotion & styled-components will neglect null\n }\n const config = (_theme$unstable_sxCon = theme.unstable_sxConfig) != null ? _theme$unstable_sxCon : defaultSxConfig;\n\n /*\n * Receive `sxInput` as object or callback\n * and then recursively check keys & values to create media query object styles.\n * (the result will be used in `styled`)\n */\n function traverse(sxInput) {\n let sxObject = sxInput;\n if (typeof sxInput === 'function') {\n sxObject = sxInput(theme);\n } else if (typeof sxInput !== 'object') {\n // value\n return sxInput;\n }\n if (!sxObject) {\n return null;\n }\n const emptyBreakpoints = createEmptyBreakpointObject(theme.breakpoints);\n const breakpointsKeys = Object.keys(emptyBreakpoints);\n let css = emptyBreakpoints;\n Object.keys(sxObject).forEach(styleKey => {\n const value = callIfFn(sxObject[styleKey], theme);\n if (value !== null && value !== undefined) {\n if (typeof value === 'object') {\n if (config[styleKey]) {\n css = merge(css, getThemeValue(styleKey, value, theme, config));\n } else {\n const breakpointsValues = handleBreakpoints({\n theme\n }, value, x => ({\n [styleKey]: x\n }));\n if (objectsHaveSameKeys(breakpointsValues, value)) {\n css[styleKey] = styleFunctionSx({\n sx: value,\n theme\n });\n } else {\n css = merge(css, breakpointsValues);\n }\n }\n } else {\n css = merge(css, getThemeValue(styleKey, value, theme, config));\n }\n }\n });\n return removeUnusedBreakpoints(breakpointsKeys, css);\n }\n return Array.isArray(sx) ? sx.map(traverse) : traverse(sx);\n }\n return styleFunctionSx;\n}\nconst styleFunctionSx = unstable_createStyleFunctionSx();\nstyleFunctionSx.filterProps = ['sx'];\nexport default styleFunctionSx;","\"use strict\";\n'use client';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _styledEngine = require(\"@mui/styled-engine\");\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\nfunction isObjectEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction useTheme(defaultTheme = null) {\n const contextTheme = React.useContext(_styledEngine.ThemeContext);\n return !contextTheme || isObjectEmpty(contextTheme) ? defaultTheme : contextTheme;\n}\nvar _default = exports.default = useTheme;","const defaultGenerator = componentName => componentName;\nconst createClassNameGenerator = () => {\n let generate = defaultGenerator;\n return {\n configure(generator) {\n generate = generator;\n },\n generate(componentName) {\n return generate(componentName);\n },\n reset() {\n generate = defaultGenerator;\n }\n };\n};\nconst ClassNameGenerator = createClassNameGenerator();\nexport default ClassNameGenerator;","import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n// It should to be noted that this function isn't equivalent to `text-transform: capitalize`.\n//\n// A strict capitalization should uppercase the first letter of each word in the sentence.\n// We only handle the first word.\nexport default function capitalize(string) {\n if (typeof string !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: \\`capitalize(string)\\` expects a string argument.` : _formatMuiErrorMessage(7));\n }\n return string.charAt(0).toUpperCase() + string.slice(1);\n}","function clamp(val, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {\n return Math.max(min, Math.min(val, max));\n}\nexport default clamp;","export default function composeClasses(slots, getUtilityClass, classes = undefined) {\n const output = {};\n Object.keys(slots).forEach(\n // `Object.keys(slots)` can't be wider than `T` because we infer `T` from `slots`.\n // @ts-expect-error https://github.com/microsoft/TypeScript/pull/12253#issuecomment-263132208\n slot => {\n output[slot] = slots[slot].reduce((acc, key) => {\n if (key) {\n const utilityClass = getUtilityClass(key);\n if (utilityClass !== '') {\n acc.push(utilityClass);\n }\n if (classes && classes[key]) {\n acc.push(classes[key]);\n }\n }\n return acc;\n }, []).join(' ');\n });\n return output;\n}","/**\n * Safe chained function.\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n */\nexport default function createChainedFunction(...funcs) {\n return funcs.reduce((acc, func) => {\n if (func == null) {\n return acc;\n }\n return function chainedFunction(...args) {\n acc.apply(this, args);\n func.apply(this, args);\n };\n }, () => {});\n}","// Corresponds to 10 frames at 60 Hz.\n// A few bytes payload overhead when lodash/debounce is ~3 kB and debounce ~300 B.\nexport default function debounce(func, wait = 166) {\n let timeout;\n function debounced(...args) {\n const later = () => {\n // @ts-ignore\n func.apply(this, args);\n };\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n }\n debounced.clear = () => {\n clearTimeout(timeout);\n };\n return debounced;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\n\n// https://github.com/sindresorhus/is-plain-obj/blob/main/index.js\nexport function isPlainObject(item) {\n if (typeof item !== 'object' || item === null) {\n return false;\n }\n const prototype = Object.getPrototypeOf(item);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in item) && !(Symbol.iterator in item);\n}\nfunction deepClone(source) {\n if ( /*#__PURE__*/React.isValidElement(source) || !isPlainObject(source)) {\n return source;\n }\n const output = {};\n Object.keys(source).forEach(key => {\n output[key] = deepClone(source[key]);\n });\n return output;\n}\nexport default function deepmerge(target, source, options = {\n clone: true\n}) {\n const output = options.clone ? _extends({}, target) : target;\n if (isPlainObject(target) && isPlainObject(source)) {\n Object.keys(source).forEach(key => {\n if ( /*#__PURE__*/React.isValidElement(source[key])) {\n output[key] = source[key];\n } else if (isPlainObject(source[key]) &&\n // Avoid prototype pollution\n Object.prototype.hasOwnProperty.call(target, key) && isPlainObject(target[key])) {\n // Since `output` is a clone of `target` and we have narrowed `target` in this block we can cast to the same type.\n output[key] = deepmerge(target[key], source[key], options);\n } else if (options.clone) {\n output[key] = isPlainObject(source[key]) ? deepClone(source[key]) : source[key];\n } else {\n output[key] = source[key];\n }\n });\n }\n return output;\n}","/**\n * WARNING: Don't import this directly.\n * Use `MuiError` from `@mui/internal-babel-macros/MuiError.macro` instead.\n * @param {number} code\n */\nexport default function formatMuiErrorMessage(code) {\n // Apply babel-plugin-transform-template-literals in loose mode\n // loose mode is safe if we're concatenating primitives\n // see https://babeljs.io/docs/en/babel-plugin-transform-template-literals#loose\n /* eslint-disable prefer-template */\n let url = 'https://mui.com/production-error/?code=' + code;\n for (let i = 1; i < arguments.length; i += 1) {\n // rest params over-transpile for this case\n // eslint-disable-next-line prefer-rest-params\n url += '&args[]=' + encodeURIComponent(arguments[i]);\n }\n return 'Minified MUI error #' + code + '; visit ' + url + ' for the full message.';\n /* eslint-enable prefer-template */\n}","import ClassNameGenerator from '../ClassNameGenerator';\nexport const globalStateClasses = {\n active: 'active',\n checked: 'checked',\n completed: 'completed',\n disabled: 'disabled',\n error: 'error',\n expanded: 'expanded',\n focused: 'focused',\n focusVisible: 'focusVisible',\n open: 'open',\n readOnly: 'readOnly',\n required: 'required',\n selected: 'selected'\n};\nexport default function generateUtilityClass(componentName, slot, globalStatePrefix = 'Mui') {\n const globalStateClass = globalStateClasses[slot];\n return globalStateClass ? `${globalStatePrefix}-${globalStateClass}` : `${ClassNameGenerator.generate(componentName)}-${slot}`;\n}\nexport function isGlobalState(slot) {\n return globalStateClasses[slot] !== undefined;\n}","import generateUtilityClass from '../generateUtilityClass';\nexport default function generateUtilityClasses(componentName, slots, globalStatePrefix = 'Mui') {\n const result = {};\n slots.forEach(slot => {\n result[slot] = generateUtilityClass(componentName, slot, globalStatePrefix);\n });\n return result;\n}","import { ForwardRef, Memo } from 'react-is';\n\n// Simplified polyfill for IE11 support\n// https://github.com/JamesMGreene/Function.name/blob/58b314d4a983110c3682f1228f845d39ccca1817/Function.name.js#L3\nconst fnNameMatchRegex = /^\\s*function(?:\\s|\\s*\\/\\*.*\\*\\/\\s*)+([^(\\s/]*)\\s*/;\nexport function getFunctionName(fn) {\n const match = `${fn}`.match(fnNameMatchRegex);\n const name = match && match[1];\n return name || '';\n}\nfunction getFunctionComponentName(Component, fallback = '') {\n return Component.displayName || Component.name || getFunctionName(Component) || fallback;\n}\nfunction getWrappedName(outerType, innerType, wrapperName) {\n const functionName = getFunctionComponentName(innerType);\n return outerType.displayName || (functionName !== '' ? `${wrapperName}(${functionName})` : wrapperName);\n}\n\n/**\n * cherry-pick from\n * https://github.com/facebook/react/blob/769b1f270e1251d9dbdce0fcbd9e92e502d059b8/packages/shared/getComponentName.js\n * originally forked from recompose/getDisplayName with added IE11 support\n */\nexport default function getDisplayName(Component) {\n if (Component == null) {\n return undefined;\n }\n if (typeof Component === 'string') {\n return Component;\n }\n if (typeof Component === 'function') {\n return getFunctionComponentName(Component, 'Component');\n }\n\n // TypeScript can't have components as objects but they exist in the form of `memo` or `Suspense`\n if (typeof Component === 'object') {\n switch (Component.$$typeof) {\n case ForwardRef:\n return getWrappedName(Component, Component.render, 'ForwardRef');\n case Memo:\n return getWrappedName(Component, Component.type, 'memo');\n default:\n return undefined;\n }\n }\n return undefined;\n}","export default function ownerDocument(node) {\n return node && node.ownerDocument || document;\n}","import ownerDocument from '../ownerDocument';\nexport default function ownerWindow(node) {\n const doc = ownerDocument(node);\n return doc.defaultView || window;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\n/**\n * Add keys, values of `defaultProps` that does not exist in `props`\n * @param {object} defaultProps\n * @param {object} props\n * @returns {object} resolved props\n */\nexport default function resolveProps(defaultProps, props) {\n const output = _extends({}, props);\n Object.keys(defaultProps).forEach(propName => {\n if (propName.toString().match(/^(components|slots)$/)) {\n output[propName] = _extends({}, defaultProps[propName], output[propName]);\n } else if (propName.toString().match(/^(componentsProps|slotProps)$/)) {\n const defaultSlotProps = defaultProps[propName] || {};\n const slotProps = props[propName];\n output[propName] = {};\n if (!slotProps || !Object.keys(slotProps)) {\n // Reduce the iteration if the slot props is empty\n output[propName] = defaultSlotProps;\n } else if (!defaultSlotProps || !Object.keys(defaultSlotProps)) {\n // Reduce the iteration if the default slot props is empty\n output[propName] = slotProps;\n } else {\n output[propName] = _extends({}, slotProps);\n Object.keys(defaultSlotProps).forEach(slotPropName => {\n output[propName][slotPropName] = resolveProps(defaultSlotProps[slotPropName], slotProps[slotPropName]);\n });\n }\n } else if (output[propName] === undefined) {\n output[propName] = defaultProps[propName];\n }\n });\n return output;\n}","/**\n * TODO v5: consider making it private\n *\n * passes {value} to {ref}\n *\n * WARNING: Be sure to only call this inside a callback that is passed as a ref.\n * Otherwise, make sure to cleanup the previous {ref} if it changes. See\n * https://github.com/mui/material-ui/issues/13539\n *\n * Useful if you want to expose the ref of an inner component to the public API\n * while still using it inside the component.\n * @param ref A ref callback or ref object. If anything falsy, this is a no-op.\n */\nexport default function setRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}","'use client';\n\n/* eslint-disable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */\nimport * as React from 'react';\nexport default function useControlled({\n controlled,\n default: defaultProp,\n name,\n state = 'value'\n}) {\n // isControlled is ignored in the hook dependency lists as it should never change.\n const {\n current: isControlled\n } = React.useRef(controlled !== undefined);\n const [valueState, setValue] = React.useState(defaultProp);\n const value = isControlled ? controlled : valueState;\n if (process.env.NODE_ENV !== 'production') {\n React.useEffect(() => {\n if (isControlled !== (controlled !== undefined)) {\n console.error([`MUI: A component is changing the ${isControlled ? '' : 'un'}controlled ${state} state of ${name} to be ${isControlled ? 'un' : ''}controlled.`, 'Elements should not switch from uncontrolled to controlled (or vice versa).', `Decide between using a controlled or uncontrolled ${name} ` + 'element for the lifetime of the component.', \"The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.\", 'More info: https://fb.me/react-controlled-components'].join('\\n'));\n }\n }, [state, name, controlled]);\n const {\n current: defaultValue\n } = React.useRef(defaultProp);\n React.useEffect(() => {\n if (!isControlled && !Object.is(defaultValue, defaultProp)) {\n console.error([`MUI: A component is changing the default ${state} state of an uncontrolled ${name} after being initialized. ` + `To suppress this warning opt to use a controlled ${name}.`].join('\\n'));\n }\n }, [JSON.stringify(defaultProp)]);\n }\n const setValueIfUncontrolled = React.useCallback(newValue => {\n if (!isControlled) {\n setValue(newValue);\n }\n }, []);\n return [value, setValueIfUncontrolled];\n}","'use client';\n\nimport * as React from 'react';\n\n/**\n * A version of `React.useLayoutEffect` that does not show a warning when server-side rendering.\n * This is useful for effects that are only needed for client-side rendering but not for SSR.\n *\n * Before you use this hook, make sure to read https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * and confirm it doesn't apply to your use-case.\n */\nconst useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\nexport default useEnhancedEffect;","'use client';\n\nimport * as React from 'react';\nimport useEnhancedEffect from '../useEnhancedEffect';\n\n/**\n * Inspired by https://github.com/facebook/react/issues/14099#issuecomment-440013892\n * See RFC in https://github.com/reactjs/rfcs/pull/220\n */\n\nfunction useEventCallback(fn) {\n const ref = React.useRef(fn);\n useEnhancedEffect(() => {\n ref.current = fn;\n });\n return React.useRef((...args) =>\n // @ts-expect-error hide `this`\n (0, ref.current)(...args)).current;\n}\nexport default useEventCallback;","'use client';\n\nimport * as React from 'react';\nimport setRef from '../setRef';\nexport default function useForkRef(...refs) {\n /**\n * This will create a new function if the refs passed to this hook change and are all defined.\n * This means react will call the old forkRef with `null` and the new forkRef\n * with the ref. Cleanup naturally emerges from this behavior.\n */\n return React.useMemo(() => {\n if (refs.every(ref => ref == null)) {\n return null;\n }\n return instance => {\n refs.forEach(ref => {\n setRef(ref, instance);\n });\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n}","'use client';\n\nimport * as React from 'react';\nlet globalId = 0;\nfunction useGlobalId(idOverride) {\n const [defaultId, setDefaultId] = React.useState(idOverride);\n const id = idOverride || defaultId;\n React.useEffect(() => {\n if (defaultId == null) {\n // Fallback to this default id when possible.\n // Use the incrementing value for client-side rendering only.\n // We can't use it server-side.\n // If you want to use random values please consider the Birthday Problem: https://en.wikipedia.org/wiki/Birthday_problem\n globalId += 1;\n setDefaultId(`mui-${globalId}`);\n }\n }, [defaultId]);\n return id;\n}\n\n// downstream bundlers may remove unnecessary concatenation, but won't remove toString call -- Workaround for https://github.com/webpack/webpack/issues/14814\nconst maybeReactUseId = React['useId'.toString()];\n/**\n *\n * @example
\n * @param idOverride\n * @returns {string}\n */\nexport default function useId(idOverride) {\n if (maybeReactUseId !== undefined) {\n const reactId = maybeReactUseId();\n return idOverride != null ? idOverride : reactId;\n }\n // eslint-disable-next-line react-hooks/rules-of-hooks -- `React.useId` is invariant at runtime.\n return useGlobalId(idOverride);\n}","'use client';\n\nimport * as React from 'react';\nconst UNINITIALIZED = {};\n\n/**\n * A React.useRef() that is initialized lazily with a function. Note that it accepts an optional\n * initialization argument, so the initialization function doesn't need to be an inline closure.\n *\n * @usage\n * const ref = useLazyRef(sortColumns, columns)\n */\nexport default function useLazyRef(init, initArg) {\n const ref = React.useRef(UNINITIALIZED);\n if (ref.current === UNINITIALIZED) {\n ref.current = init(initArg);\n }\n return ref;\n}","'use client';\n\nimport * as React from 'react';\nconst EMPTY = [];\n\n/**\n * A React.useEffect equivalent that runs once, when the component is mounted.\n */\nexport default function useOnMount(fn) {\n /* eslint-disable react-hooks/exhaustive-deps */\n React.useEffect(fn, EMPTY);\n /* eslint-enable react-hooks/exhaustive-deps */\n}","'use client';\n\nimport useLazyRef from '../useLazyRef/useLazyRef';\nimport useOnMount from '../useOnMount/useOnMount';\nexport class Timeout {\n constructor() {\n this.currentId = null;\n this.clear = () => {\n if (this.currentId !== null) {\n clearTimeout(this.currentId);\n this.currentId = null;\n }\n };\n this.disposeEffect = () => {\n return this.clear;\n };\n }\n static create() {\n return new Timeout();\n }\n /**\n * Executes `fn` after `delay`, clearing any previously scheduled call.\n */\n start(delay, fn) {\n this.clear();\n this.currentId = setTimeout(() => {\n this.currentId = null;\n fn();\n }, delay);\n }\n}\nexport default function useTimeout() {\n const timeout = useLazyRef(Timeout.create).current;\n useOnMount(timeout.disposeEffect);\n return timeout;\n}","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)(()=>{\"use strict\";var t={9279:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(){}return t.IdentUserAgent=function(e,n){void 0===n&&(n=!1);var o=[\"Mozilla\",\"IE\",\"Firefox\",\"Netscape\",\"Safari\",\"Chrome\",\"Opera\",\"Opera10\",\"Edge\"],i=\"IE\",r=\"Win\",s={Safari:2,Chrome:.1,Mozilla:1.9,Netscape:8,Firefox:2,Opera:9,IE:6,Edge:12};if(e&&0!==e.length){e=e.toLowerCase(),t.indentPlatformMajorVersion(e);try{for(var a={Windows:\"Win\",Macintosh:\"Mac\",\"Mac OS\":\"Mac\",Mac_PowerPC:\"Mac\",\"cpu os\":\"MacMobile\",\"cpu iphone os\":\"MacMobile\",Android:\"Android\",\"!Windows Phone\":\"WinPhone\",\"!WPDesktop\":\"WinPhone\",\"!ZuneWP\":\"WinPhone\"},c=\"(?:/|\\\\s*)?\",u=\"(\\\\d+)(?:\\\\.((?:\\\\d+?[1-9])|\\\\d)0*?)?\",h=\"(?:\"+u+\")?\",p={Safari:\"applewebkit(?:.*?(?:version/\"+u+\"[\\\\.\\\\w\\\\d]*?(?:\\\\s+mobile/\\\\S*)?\\\\s+safari))?\",Chrome:\"(?:chrome|crios)(?!frame)\"+c+h,Mozilla:\"mozilla(?:.*rv:\"+h+\".*Gecko)?\",Netscape:\"(?:netscape|navigator)\\\\d*/?\\\\s*\"+h,Firefox:\"firefox\"+c+h,Opera:\"(?:opera|\\\\sopr)\"+c+h,Opera10:\"opera.*\\\\s*version\"+c+h,IE:\"msie\\\\s*\"+h,Edge:\"edge\"+c+h},l=null,d=-1,f=0;f=0){if(\"IE\"===l&&d>=11&&\"Safari\"===y)continue;\"Opera10\"===(l=y)&&(l=\"Opera\");var m=\"trident\"+c+h;d=t.GetBrowserVersion(e,g,m,t.getIECompatibleVersionString()),\"Mozilla\"===l&&d>=11&&(l=\"IE\")}}l||(l=i);var v=-1!==d;v||(d=s[l]);var P=null,C=Number.MAX_VALUE;for(var S in a)if(Object.prototype.hasOwnProperty.call(a,S)){var x=\"!\"===S.substr(0,1),b=e.indexOf((x?S.substr(1):S).toLowerCase());b>=0&&(b0;\"WinPhone\"===P&&d<9&&(d=Math.floor(t.getVersionFromTrident(e,\"trident\"+c+h))),!n&&\"IE\"===l&&d>7&&document.documentMode0},t.hasMsMaxTouchPoints=function(){return navigator.msMaxTouchPoints>0},t.hasNavigator=function(){return\"undefined\"!=typeof navigator},t.fillUserAgentInfo=function(e,n,o,i,r){void 0===r&&(r=!1);for(var s=0;s=15,t.NetscapeFamily=t.Netscape||t.Mozilla||t.Firefox,t.WebKitTouchUI=t.MacOSMobilePlatform||t.AndroidMobilePlatform;var c=t.IE&&t.MajorVersion>9&&t.WindowsPlatform&&t.UserAgent.toLowerCase().indexOf(\"touch\")>=0;if(t.MSTouchUI=c||t.Edge&&!!window.navigator.maxTouchPoints,t.TouchUI=t.WebKitTouchUI||t.MSTouchUI,t.MobileUI=t.WebKitTouchUI||t.WindowsPhonePlatform,t.AndroidDefaultBrowser=t.AndroidMobilePlatform&&!t.Chrome,t.AndroidChromeBrowser=t.AndroidMobilePlatform&&t.Chrome,r&&(t.SamsungAndroidDevice=r),t.MSTouchUI){var u=t.UserAgent.toLowerCase().indexOf(\"arm;\")>-1;t.VirtualKeyboardSupported=u||t.WindowsPhonePlatform}else t.VirtualKeyboardSupported=t.WebKitTouchUI;t.fillDocumentElementBrowserTypeClassNames(e)},t.indentPlatformMajorVersion=function(e){var n=/(?:(?:windows nt|macintosh|mac os|cpu os|cpu iphone os|android|windows phone|linux) )(\\d+)(?:[-0-9_.])*/.exec(e);n&&(t.PlaformMajorVersion=n[1])},t.getVersionFromMatches=function(t){var e=-1,n=\"\";return t&&(t[1]&&(n+=t[1],t[2]&&(n+=\".\"+t[2])),\"\"!==n&&(e=parseFloat(n),isNaN(e)&&(e=-1))),e},t.getVersionFromTrident=function(e,n){var o=new RegExp(n,\"i\").exec(e);return t.getVersionFromMatches(o)+4},t.fillDocumentElementBrowserTypeClassNames=function(e){for(var n=\"\",o=e.concat([\"WindowsPlatform\",\"MacOSPlatform\",\"MacOSMobilePlatform\",\"AndroidMobilePlatform\",\"WindowsPhonePlatform\",\"WebKitFamily\",\"WebKitTouchUI\",\"MSTouchUI\",\"TouchUI\",\"AndroidDefaultBrowser\"]),i=0;i{Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(){this.suspendUpdateCount=0,this.occurredEvents=0}return t.prototype.beginUpdate=function(){0===this.suspendUpdateCount&&this.onUpdateLocked(),this.suspendUpdateCount<0?this.suspendUpdateCount--:this.suspendUpdateCount++},t.prototype.endUpdate=function(){if(this.suspendUpdateCount<0?this.suspendUpdateCount++:this.suspendUpdateCount>0&&this.suspendUpdateCount--,!this.isUpdateLocked()){var t=this.occurredEvents;this.occurredEvents=0,this.onUpdateUnlocked(t)}},t.prototype.suspendUpdate=function(){if(this.suspendUpdateCount>0){this.suspendUpdateCount*=-1;var t=this.occurredEvents;this.occurredEvents=0,this.onUpdateUnlocked(t)}},t.prototype.continueUpdate=function(){this.suspendUpdateCount<0&&(this.suspendUpdateCount*=-1)},t.prototype.isUpdateLocked=function(){return this.suspendUpdateCount>0},t.prototype.onUpdateLocked=function(){},t.prototype.registerOccurredEvent=function(t){this.occurredEvents|=t},t.prototype.resetOccurredEvents=function(){this.occurredEvents=0},t.prototype.isLocked=function(){return 0!==this.suspendUpdateCount},t}();e.BatchUpdatableObject=n;var o=function(){function t(){}return t.prototype.beginUpdate=function(){},t.prototype.endUpdate=function(){},t}();e.EmptyBatchUpdatableObject=o},7820:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(t){void 0===t&&(t=0),this.value=t}return t.prototype.get=function(t){return(this.value&t)===t},t.prototype.set=function(t,e){return(this.value&t)===t!==e&&(e?this.value|=t:this.value^=t),this},t.prototype.add=function(t){this.value|=t},t.prototype.anyOf=function(){for(var t=[],e=0;e{Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(655),i=function(t,e){this.minElement=t,this.maxElement=e};e.MinMax=i;var r=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o.__extends(e,t),Object.defineProperty(e.prototype,\"length\",{get:function(){return this.maxElement-this.minElement},enumerable:!0,configurable:!0}),e}(i);e.MinMaxNumber=r;var s=function(t,e){this.minElement=t,this.minValue=e};e.ExtendedMin=s;var a=function(t,e){this.maxElement=t,this.maxValue=e};e.ExtendedMax=a;var c=function(t){function e(e,n,o,i){var r=t.call(this,e,o)||this;return r.minValue=n,r.maxValue=i,r}return o.__extends(e,t),e}(i);e.ExtendedMinMax=c},9291:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(){}return t.hundredthsOfMillimeterToTwipsRound=function(t){return Math.round(1440*t/2540)},t.documentsToTwips=function(t){return 24*t/5},t.pixelsToTwips=function(e){return Math.round(t.pixelsToTwipsF(e))},t.pixelsToTwipsCustomDpi=function(e,n){return Math.round(t.pixelsToTwipsFCustomDpi(e,n))},t.inchesToTwips=function(e){return Math.round(t.inchesToTwipsF(e))},t.pointsToTwips=function(e){return Math.round(t.pointsToTwipsF(e))},t.picasToTwips=function(e){return Math.round(1440*e/t.PICAS_PER_INCH)},t.centimetersToTwips=function(e){return Math.round(t.centimetersToTwipsF(e))},t.pixelsToTwipsF=function(e){return 1440*e/t.DPI},t.pixelsToTwipsFCustomDpi=function(t,e){return 1440*t/e},t.inchesToTwipsF=function(t){return 1440*t},t.pointsToTwipsF=function(t){return 20*t},t.centimetersToTwipsF=function(e){return 1440*e/t.CENTIMETERS_PER_INCH},t.twipsToDegrees=function(t){return t/6e4},t.twipsToRadians=function(t){return t/6e4*Math.PI/180},t.degreesToTwips=function(t){return 6e4*t},t.radiansToTwips=function(t){return 6e4*t/Math.PI*180},t.radiansToDegrees=function(t){return t/Math.PI*180},t.twipsToFD=function(t){return Math.round(2048*t/1875)},t.fdToTwips=function(t){return Math.round(1875*t/2048)},t.emuToTwips=function(t){return t/635},t.twipsToPixels=function(e){return Math.round(t.twipsToPixelsF(e))},t.inchesToPixels=function(e){return Math.round(t.DPI*e)},t.centimeterToPixel=function(t){return Math.round(this.centimeterToPixelF(t))},t.centimeterToPixelF=function(e){return e*t.DPI/t.CENTIMETERS_PER_INCH},t.millimetersToPixel=function(e){return Math.round(e/(t.CENTIMETERS_PER_INCH/t.DPI)/10)},t.pointsToPixels=function(e){return Math.round(e*t.DPI/72)},t.pointsToPixelsF=function(e){return e*t.DPI/72},t.twipsToPixelsF=function(e){return e*t.DPI/1440},t.pixelsToPoints=function(e){return Math.round(72*e/t.DPI)},t.pixelsToPointsF=function(e){return 72*e/t.DPI},t.twipsToPoints=function(t){return Math.round(this.twipsToPointsF(t))},t.twipsToPointsF=function(t){return t/20},t.twipsToInches=function(t){return t/1440},t.pixelsToInches=function(e){return e/t.DPI},t.twipsToCentimeters=function(e){return e*t.CENTIMETERS_PER_INCH/1440},t.pixelToCentimeters=function(e){return e*t.CENTIMETERS_PER_INCH/t.DPI},t.twipsToHundredthsOfMillimeter=function(t){return Math.round(127*t/72)},t.pixelsToHundredthsOfMillimeter=function(e){return Math.round(2540*e/t.DPI)},t.hundredthsOfMillimeterToTwips=function(t){return 15*t/127},t.twipsToEmu=function(t){return 635*t},t.twipsToDegree=function(t){return t/6e4},t.DPI=96,t.CENTIMETERS_PER_INCH=2.54,t.PICAS_PER_INCH=6,t}();e.UnitConverter=n},5596:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(){}return t.euclideanDistance=function(t,e){var n=t.x-e.x,o=t.y-e.y;return Math.sqrt(n*n+o*o)},t.manhattanDistance=function(t,e){return Math.abs(t.x-e.x)+Math.abs(t.y-e.y)},t}();e.Metrics=n},4125:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(t,e,n,o){this.left=t,this.right=e,this.top=n,this.bottom=o}return t.empty=function(){return new t(0,0,0,0)},Object.defineProperty(t.prototype,\"horizontal\",{get:function(){return this.left+this.right},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"vertical\",{get:function(){return this.top+this.bottom},enumerable:!0,configurable:!0}),t.fromNumber=function(e){return new t(e,e,e,e)},t.fromOffsets=function(e){return new t(e.left,e.right,e.top,e.bottom)},t.fromSide=function(e,n){return new t(e,e,n,n)},t.prototype.normalize=function(){return this.left=Math.max(0,this.left),this.right=Math.max(0,this.right),this.top=Math.max(0,this.top),this.bottom=Math.max(0,this.bottom),this},t.prototype.toString=function(){return JSON.stringify(this)},t.prototype.isEmpty=function(){return 0===this.left&&0===this.right&&0===this.top&&0===this.bottom},t.prototype.offset=function(t){return this.left+=t.left,this.right+=t.right,this.top+=t.top,this.bottom+=t.bottom,this},t.prototype.multiply=function(t,e,n,o){switch(arguments.length){case 1:return this.left*=t,this.right*=t,this.top*=t,this.bottom*=t,this;case 2:return this.left*=t,this.right*=t,this.top*=e,this.bottom*=e,this;case 4:return this.left*=t,this.right*=e,this.top*=n,this.bottom*=o,this}return this},t.prototype.clone=function(){return new t(this.left,this.right,this.top,this.bottom)},t.prototype.copyFrom=function(t){this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom},t.prototype.equals=function(t){return this.top===t.top&&this.bottom===t.bottom&&this.right===t.right&&this.left===t.left},t.prototype.applyConverter=function(t){return this.left=t(this.left),this.right=t(this.right),this.top=t(this.top),this.bottom=t(this.bottom),this},t}();e.Offsets=n},8900:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(t,e){this.x=t,this.y=e}return t.zero=function(){return new t(0,0)},t.fromNumber=function(e){return new t(e,e)},t.prototype.isZero=function(){return 0===this.x&&0===this.y},t.prototype.toString=function(){return JSON.stringify(this)},t.prototype.copyFrom=function(t){this.x=t.x,this.y=t.y},t.prototype.clone=function(){return new t(this.x,this.y)},t.prototype.equals=function(t){return this.x===t.x&&this.y===t.y},t.prototype.offset=function(t,e){return this.x+=t,this.y+=e,this},t.prototype.offsetByPoint=function(t){return this.x+=t.x,this.y+=t.y,this},t.prototype.multiply=function(t,e){return this.x*=t,this.y*=e,this},t.prototype.negative=function(){return this.x*=-1,this.y*=-1,this},t.prototype.applyConverter=function(t){return this.x=t(this.x),this.y=t(this.y),this},t.plus=function(e,n){return new t(e.x+n.x,e.y+n.y)},t.minus=function(e,n){return new t(e.x-n.x,e.y-n.y)},t.xComparer=function(t,e){return t.x-e.x},t.yComparer=function(t,e){return t.y-e.y},t.equals=function(t,e){return t.x===e.x&&t.y===e.y},t}();e.Point=n},8011:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0});var o,i=n(7820),r=n(1104),s=n(8860),a=n(8900),c=n(6353),u=function(){function t(t,e,n,o){this.x=t,this.y=e,this.width=n,this.height=o}return Object.defineProperty(t.prototype,\"right\",{get:function(){return this.x+this.width},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"bottom\",{get:function(){return this.y+this.height},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"center\",{get:function(){return t.center(this)},enumerable:!0,configurable:!0}),t.prototype.createRectangle=function(){return new t(this.x,this.y,this.width,this.height)},t.prototype.createSize=function(){return new c.Size(this.width,this.height)},t.prototype.createPosition=function(){return new a.Point(this.x,this.y)},t.prototype.createVerticalInterval=function(){return new s.FixedInterval(this.y,this.height)},t.prototype.createHorizontalInterval=function(){return new s.FixedInterval(this.x,this.width)},t.fromGeometry=function(e,n){return new t(e.x,e.y,n.width,n.height)},t.fromPoints=function(e,n){return new t(Math.min(e.x,n.x),Math.min(e.y,n.y),Math.abs(e.x-n.x),Math.abs(e.y-n.y))},t.fromPositions=function(e,n,o,i){return new t(Math.min(e,o),Math.min(n,i),Math.abs(o-e),Math.abs(i-n))},t.fromCenter=function(e,n){return new t(e.x-n,e.y-n,2*n,2*n)},t.prototype.isCollapsed=function(){return 0===this.width||0===this.height},t.prototype.isEmpty=function(){return 0===this.x&&0===this.y&&0===this.width&&0===this.height},t.prototype.toString=function(){return JSON.stringify(this)},t.prototype.setPosition=function(t){return this.x=t.x,this.y=t.y,this},t.prototype.setSize=function(t){return this.width=t.width,this.height=t.height,this},t.prototype.setGeomerty=function(t){return this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height,this},t.prototype.moveRectangle=function(t,e){return this.x+=t,this.y+=e,this},t.prototype.moveRectangleByPoint=function(t){return this.x+=t.x,this.y+=t.y,this},t.prototype.resize=function(t,e){return this.width+=t,this.height+=e,this},t.prototype.nonNegativeSize=function(){return this.width<0&&(this.width=0),this.height<0&&(this.height=0),this},t.prototype.multiply=function(t,e){return this.x*=t,this.y*=e,this.width*=t,this.height*=e,this},t.prototype.equals=function(e){return t.equals(this,e)},t.prototype.clone=function(){var e=new t(0,0,0,0);return e.copyFrom(this),e},t.prototype.copyFrom=function(t){this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height},t.prototype.containsPoint=function(e){return t.containsPoint(this,e)},t.prototype.containsRectangle=function(t){return this.x<=t.x&&this.right>=t.right&&this.y<=t.y&&this.bottom>=t.bottom},t.prototype.inflate=function(t,e){return void 0===e&&(e=t),this.x-=t,this.y-=e,this.width+=2*t,this.height+=2*e,this},t.prototype.applyOffsetsInside=function(t){return this.x+=t.left,this.y+=t.top,this.width-=t.left+t.right,this.height-=t.top+t.bottom,this},t.prototype.applyNormalizedOffsetsInside=function(t){var e=Math.max(0,t.left),n=e+Math.max(0,t.right);0!==n&&(n<=this.width?(this.x+=e,this.width-=n):(this.x+=this.width*(e/n),this.width=0));var o=Math.max(0,t.top),i=o+Math.max(0,t.bottom);return 0!==i&&(i<=this.height?(this.y+=o,this.height-=i):(this.y+=this.height*(o/i),this.height=0)),this},t.prototype.applyOffsetsOutside=function(t){return this.x-=t.left,this.y-=t.top,this.width+=t.left+t.right,this.height+=t.top+t.bottom,this},t.prototype.applyConverter=function(t){return this.x=t(this.x),this.y=t(this.y),this.width=t(this.width),this.height=t(this.height),this},t.getHorizIntersection=function(t,e){return r.IntervalAlgorithms.getIntersection(new s.FixedInterval(t.x,t.width),new s.FixedInterval(e.x,e.width))},t.getVertIntersection=function(t,e){return r.IntervalAlgorithms.getIntersection(new s.FixedInterval(t.y,t.height),new s.FixedInterval(e.y,e.height))},t.getIntersection=function(e,n){var o=r.IntervalAlgorithms.getIntersection(new s.FixedInterval(e.x,e.width),new s.FixedInterval(n.x,n.width));if(!o)return null;var i=r.IntervalAlgorithms.getIntersection(new s.FixedInterval(e.y,e.height),new s.FixedInterval(n.y,n.height));return i?new t(o.start,i.start,o.length,i.length):null},t.getHorNonCollapsedIntersection=function(e,n){var o=t.getHorizIntersection(e,n);return o&&!o.isCollapsed()?o:null},t.getVertNonCollapsedIntersection=function(e,n){var o=t.getVertIntersection(e,n);return o&&!o.isCollapsed()?o:null},t.getNonCollapsedIntersection=function(e,n){var o=t.getIntersection(e,n);return o&&!o.isCollapsed()?o:null},t.areIntersected=function(t,e){return!(t.x>e.x+e.width||e.x>t.x+t.width||t.y>e.y+e.height||e.y>t.y+t.height)},t.union=function(e,n){var o=Math.max(e.x+e.width,n.x+n.width),i=Math.max(e.y+e.height,n.y+n.height),r=Math.min(e.x,n.x),s=Math.min(e.y,n.y);return new t(r,s,o-r,i-s)},t.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.width===e.width&&t.height===e.height},t.center=function(t){return new a.Point(t.x+t.width/2,t.y+t.height/2)},t.containsPoint=function(t,e){var n=t.x+t.width,o=t.y+t.height;return e.y>=t.y&&o>=e.y&&e.x>=t.x&&n>=e.x},t}();e.Rectangle=u,function(t){t[t.None=0]=\"None\",t[t.Top=1]=\"Top\",t[t.Bottom=2]=\"Bottom\",t[t.Left=4]=\"Left\",t[t.Right=8]=\"Right\"}(o=e.HitTestDeviation||(e.HitTestDeviation={}));var h=function(){function t(t,e){this.initRectangle=t,this.initPoint=e,this.deviation=new i.Flag(o.None)}return t.prototype.calcDeviation=function(){return this.initPoint.xthis.initRectangle.right&&this.deviation.set(o.Right,!0),this.initPoint.ythis.initRectangle.bottom&&this.deviation.set(o.Bottom,!0),this},t.prototype.calcAdditionalParams=function(){return this.insidePoint=this.initPoint.clone(),this.offsetToInside=new a.Point(0,0),this.deviation.get(o.Left)?(this.insidePoint.x=this.initRectangle.x,this.offsetToInside.x=this.insidePoint.x-this.initPoint.x):this.deviation.get(o.Right)&&(this.insidePoint.x=this.initRectangle.right,this.offsetToInside.x=this.initPoint.x-this.insidePoint.x),this.deviation.get(o.Top)?(this.insidePoint.y=this.initRectangle.y,this.offsetToInside.y=this.insidePoint.y-this.initPoint.y):this.deviation.get(o.Bottom)&&(this.insidePoint.y=this.initRectangle.bottom,this.offsetToInside.y=this.initPoint.y-this.insidePoint.y),this},t}();e.RectangleDeviation=h},1335:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(8679),i=n(5596),r=n(8900),s=n(8011),a=function(){function t(t,e){this.startPoint=t,this.endPoint=e}return Object.defineProperty(t.prototype,\"length\",{get:function(){return i.Metrics.euclideanDistance(this.startPoint,this.endPoint)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"xLength\",{get:function(){return Math.abs(this.endPoint.x-this.startPoint.x)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"yLength\",{get:function(){return Math.abs(this.endPoint.y-this.startPoint.y)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"center\",{get:function(){return new r.Point(this.startPoint.x+(this.endPoint.x-this.startPoint.x)/2,this.startPoint.y+(this.endPoint.y-this.startPoint.y)/2)},enumerable:!0,configurable:!0}),t.prototype.isIntersected=function(t){return this.startPoint.equals(t.startPoint)||this.endPoint.equals(t.startPoint)||this.startPoint.equals(t.endPoint)||this.endPoint.equals(t.endPoint)||this.intersectCore(t)&&t.intersectCore(this)},t.prototype.containsPoint=function(t,e){return void 0===e&&(e=1e-7),this.startPoint.equals(t)||this.endPoint.equals(t)||o.MathUtils.numberCloseTo(this.length,i.Metrics.euclideanDistance(this.startPoint,t)+i.Metrics.euclideanDistance(this.endPoint,t),e)},t.prototype.isIntersectedByRect=function(e){if(s.Rectangle.containsPoint(e,this.startPoint)||s.Rectangle.containsPoint(e,this.endPoint))return!0;var n=e.x,o=e.x+e.width,i=e.y,a=e.y+e.height;return this.isIntersected(new t(new r.Point(n,i),new r.Point(n,a)))||this.isIntersected(new t(new r.Point(o,i),new r.Point(o,a)))||this.isIntersected(new t(new r.Point(n,i),new r.Point(o,i)))||this.isIntersected(new t(new r.Point(n,a),new r.Point(o,a)))},t.prototype.intersectCore=function(t){if(this.startPoint.x===this.endPoint.x){if(this.startPoint.x-t.endPoint.x!=0)return(this.startPoint.x-t.startPoint.x)/(this.startPoint.x-t.endPoint.x)<=0;if(t.endPoint.y-this.endPoint.y!=0)return(t.endPoint.y-this.startPoint.y)/(t.endPoint.y-this.endPoint.y)<=0}if(this.startPoint.y===this.endPoint.y){if(this.startPoint.y-t.endPoint.y!=0)return(this.startPoint.y-t.startPoint.y)/(this.startPoint.y-t.endPoint.y)<=0;if(t.endPoint.x-this.endPoint.x!=0)return(t.endPoint.x-this.startPoint.x)/(t.endPoint.x-this.endPoint.x)<=0}var e=(this.endPoint.y-this.startPoint.y)/(this.endPoint.x-this.startPoint.x),n=this.startPoint.y+(t.startPoint.x-this.startPoint.x)*e,o=this.startPoint.y+(t.endPoint.x-this.startPoint.x)*e,i=t.startPoint.y-n,r=t.endPoint.y-o;return 0===i&&0===r?(this.startPoint.y-n)/(this.endPoint.y-n)<=0||(this.startPoint.y-o)/(this.endPoint.y-o)<=0:0===i||0===r||i/r<0},t}();e.Segment=a},6353:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(t,e){this.width=t,this.height=e}return t.empty=function(){return new t(0,0)},t.fromNumber=function(e){return new t(e,e)},t.initByCommonAction=function(e){var n=function(t){return t.width},o=function(t){return t.height};return new t(e(n,o),e(o,n))},t.prototype.isEmpty=function(){return 0===this.width&&0===this.height},t.prototype.toString=function(){return JSON.stringify(this)},t.prototype.nonNegativeSize=function(){return this.width<0&&(this.width=0),this.height<0&&(this.height=0),this},t.prototype.offset=function(t,e){return this.width=this.width+t,this.height=this.height+e,this},t.prototype.multiply=function(t,e){return this.width*=t,this.height*=e,this},t.prototype.equals=function(t){return this.width===t.width&&this.height===t.height},t.prototype.clone=function(){return new t(this.width,this.height)},t.prototype.copyFrom=function(t){this.width=t.width,this.height=t.height},t.prototype.applyConverter=function(t){return this.width=t(this.width),this.height=t(this.height),this},t.equals=function(t,e){return t.width===e.width&&t.height===e.height},t}();e.Size=n},9716:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.x=t,this.y=e}return Object.defineProperty(t.prototype,\"length\",{get:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},enumerable:!0,configurable:!0}),t.fromPoints=function(e,n){return new t(n.x-e.x,n.y-e.y)},t.fromSegment=function(e){return new t(e.endPoint.x-e.startPoint.x,e.endPoint.y-e.startPoint.y)},t.prototype.normalize=function(){var t=this.length;return 0!==t&&(this.x/=t,this.y/=t),this},t.prototype.negative=function(){return this.x*=-1,this.y*=-1,this},Object.defineProperty(t,\"axisX\",{get:function(){return new t(1,0)},enumerable:!0,configurable:!0}),Object.defineProperty(t,\"axisY\",{get:function(){return new t(0,1)},enumerable:!0,configurable:!0}),t.angleBetween=function(e,n){var o=t.scalarProduct(e,n)/(e.length*n.length);return Math.acos(o)},t.scalarProduct=function(t,e){return t.x*e.x+t.y*e.y},t}();e.Vector=n},1104:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(2940),i=n(2400),r=n(8860),s=n(6102),a=function(){function t(){}return t.oneConstainsOtherArraysOfInterval=function(t,e){for(var n=o.ListUtils.deepCopy(e),i=n.pop();i;){if(!o.ListUtils.unsafeAnyOf(t,(function(t){return t.containsInterval(i)})))return!1;i=n.pop()}return!0},t.getIntersection=function(e,n){return t.getIntersectionTemplate(e,n,e)},t.getIntersectionTemplate=function(t,e,n){var o=Math.max(t.start,e.start),i=Math.min(t.end,e.end);return o>i?null:n.makeByStartEnd(o,i)},t.getIntersectionNonNullLength=function(e,n){return t.getIntersectionNonNullLengthTemplate(e,n,e)},t.getIntersectionNonNullLengthTemplate=function(e,n,o){var i=t.getIntersectionTemplate(e,n,o);return i&&i.length?i:null},t.getIntersectionsTwoArraysOfInterval=function(e,n){return t.getIntersectionsTwoArraysOfIntervalTemplate(e,n,e[0])},t.getIntersectionsTwoArraysOfIntervalTemplate=function(e,n,o){for(var i=[],r=e.length,s=n.length,a=0,c=0,u=e[a],h=n[c],p=null;ap.end)break;var y=t.getIntersectionTemplate(f,p,o);y&&(y.length||a(f,p.length,y.start))&&c.add(l)}return c.getIntervals()},t.handleAffectedObjects=function(e,n,o,s){void 0===s&&(s=function(t){return i.SearchUtils.normedInterpolationIndexOf(e,(function(t){return t.interval.start}),t)});for(var a=new r.FixedInterval(0,0),c=0,u=n;ch.end)break;var f=t.getIntersectionTemplate(d,h,a);f&&o(l,p,h,f)}},t.getMergedIntervals=function(e,n){return t.getMergedIntervalsTemplate(e,n,e[0])},t.getMergedIntervalsTemplate=function(t,e,n){if(t.length<2)return t.length>0?[n.makeByStartLength(t[0].start,t[0].length)]:[];for(var o=e?[].concat(t).sort((function(t,e){return t.start-e.start})):t,i=[],r=0,s=void 0;s=o[r];){var a=s.start,c=s.end;for(++r;void 0!==(s=o[r])&&s.start<=c;r++)s.end>c&&(c=s.end);i.push(n.makeByStartEnd(a,c))}return i},t.reflectIntervals=function(e,n){return t.reflectIntervalsTemplate(e,n,n)},t.reflectIntervalsTemplate=function(e,n,i){if(!e.length)return[i.makeByStartLength(n.start,n.length)];var r=o.ListUtils.last(e).end,s=o.ListUtils.reducedMap(e,(function(o,r){return t.getIntersectionNonNullLengthTemplate(i.makeByStartEnd(e[r-1].end,o.start),n,i)}),1);return n.startr&&s.push(i.makeByStartEnd(r,n.end)),s},t.reflectionOfPointOnInterval=function(t,e,n){return(t-e.start)/e.length*n.length+n.start},t}();e.IntervalAlgorithms=a},7814:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(){}return Object.defineProperty(t.prototype,\"center\",{get:function(){return this.start+this.length/2},enumerable:!0,configurable:!0}),t.prototype.isNormalized=function(){return this.end>=this.start},t.prototype.isCollapsed=function(){return 0===this.length},t.prototype.equals=function(t){return this.start===t.start&&this.end===t.end},t.isCollapsed=function(t){return!t[1]&&t[0].isCollapsed()},t.prototype.containsInterval=function(t){return this.start<=t.start&&this.end>=t.end},t.prototype.containsIntervalWithoutEnd=function(t){return this.start<=t.start&&this.end>t.end},t.prototype.contains=function(t){return this.start<=t&&t{Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(655),i=function(t){function e(e,n){var o=t.call(this)||this;return o.start=e,o.length=n,o}return o.__extends(e,t),Object.defineProperty(e.prototype,\"end\",{get:function(){return this.start+this.length},set:function(t){this.length=t-this.start},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"center\",{get:function(){return this.start+this.length/2},enumerable:!0,configurable:!0}),e.prototype.copyFrom=function(t){this.start=t.start,this.length=t.length},e.prototype.equals=function(t){return t&&this.start===t.start&&this.length===t.length},e.prototype.clone=function(){return new e(this.start,this.length)},e.prototype.makeByStartEnd=function(t,n){return new e(t,n-t)},e.prototype.makeByStartLength=function(t,n){return new e(t,n)},e.prototype.makeByLengthEnd=function(t,n){return new e(n-t,t)},e.fromPositions=function(t,n){return new e(t,n-t)},e.makeByConstInterval=function(t){return new e(t.start,t.length)},e.prototype.expand=function(t){var e=Math.max(t.end,this.end);return this.start=Math.min(t.start,this.start),this.end=e,this},e}(n(8678).MutableInterval);e.FixedInterval=i},8678:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(655),i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o.__extends(e,t),e.prototype.normalizeLength=function(){return this.length<0&&(this.length=0),this},e}(n(7814).ConstInterval);e.MutableInterval=i},6102:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(448),i=function(){function t(t){this.intervals=[],this.template=t}return t.prototype.add=function(t){this.curr&&this.curr.end===t?this.curr.length++:(this.curr=this.template.makeByStartLength(t,1),this.intervals.push(this.curr))},t.prototype.getIntervals=function(){return new o.SparseIntervals(this.intervals)},t}();e.SparseIntervalsCollector=i},448:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(8094),i=n(510),r=function(){function t(t){void 0===t&&(t=[]),this.list=t,this._count=0,this._numIntervals=0;for(var e=0,n=t;e{Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(t){this.sparseIntervals=t,this.intervalIndex=-1}return Object.defineProperty(t.prototype,\"isStarted\",{get:function(){return!!this.curr},enumerable:!0,configurable:!0}),t.prototype.moveNext=function(){return this.curr&&this.posInInterval+1=this.curr.start?(this.posInInterval--,this.index--,this.initObject(),!0):(this.isStarted||(this.intervalIndex=this.sparseIntervals.numIntervals),this.intervalIndex-1>=0&&(this.intervalIndex--,this.curr=this.sparseIntervals.getInterval(this.intervalIndex),this.posInInterval=Math.max(this.curr.length-1,this.curr.start),this.index=this.curr.start,this.initObject(),!0))},t.prototype.initObject=function(){},t}();e.SparseIntervalsIterator=n},510:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(655),i=function(t){function e(e,n){var o=t.call(this,e)||this;return o.objects=n,o}return o.__extends(e,t),e.prototype.initObject=function(){this.obj=this.objects[this.index]},e}(n(8094).SparseIntervalsIterator);e.SparseObjectsIterator=i},6477:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(2674),i=n(4633),r=function(){function t(){}return t.normalizeToDataUrl=function(e,n){return t.checkPrependDataUrl(e)||(e=t.prependByDataUrl(e,n)),e},t.prependByDataUrl=function(t,e){return\"data:\"+e+\";base64,\"+t},t.checkPrependDataUrl=function(e){return t.dataUrl.test(e)},t.deleteDataUrlPrefix=function(e){return e.replace(t.dataUrl,\"\")},t.getUint8Array=function(t){for(var e=(t=atob(t)).length,n=new Uint8Array(e);e--;)n[e]=t.charCodeAt(e);return n},t.fromArrayBuffer=function(t){for(var e=[],n=new Uint8Array(t),o=n.byteLength,i=0;i{Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(49),i=function(){function t(){}return t.getAlpha=function(t){return t>>24&255},t.getRed=function(t){return t>>16&255},t.getGreen=function(t){return t>>8&255},t.getBlue=function(t){return 255&t},t.redPartToString=function(e){var n=t.getRed(e).toString(16);return n.length>1?n:\"0\"+n},t.greenPartToString=function(e){var n=t.getGreen(e).toString(16);return n.length>1?n:\"0\"+n},t.bluePartToString=function(e){var n=t.getBlue(e).toString(16);return n.length>1?n:\"0\"+n},t.fromArgbNumber=function(t,e,n,o){return t<<24|e<<16|n<<8|o},t.fromRgbaString=function(t,e){void 0===e&&(e=255);var n=t.replace(/ +/g,\"\").match(/(rgba?)|(\\d+(\\.\\d+)?%?)|(\\.\\d+)/g);if(n&&n.length>3){for(var o=[],i=1,r=void 0;r=n[i];i++){var s=-1!==r.indexOf(\"%\")?Math.round(2.55*parseFloat(r)):parseInt(r);if(s<0||s>255)return null;o.push(s)}if(0===t.indexOf(\"rgba\")){if(isNaN(o[3])||o[3]<0||o[3]>1)return null;o[3]<=1&&(o[3]=Math.round(255*o[3]))}else if(o[3])return null;return(255&o[0])<<16|(255&o[1])<<8|255&o[2]|(255&(o.length>3?o[3]:e))<<24}return null},t.fromHashString=function(e,n){return void 0===n&&(n=255),t.isHashColorString(e)?(\"#\"===e.charAt(0)&&(e=e.substr(1)),3===e.length&&(e=o.StringUtils.repeat(e.charAt(0),2)+o.StringUtils.repeat(e.charAt(1),2)+o.StringUtils.repeat(e.charAt(2),2)),parseInt(e,16)|n<<24):null},t.fromColorName=function(e,n){void 0===n&&(n=255);var o=t.colorNames[e.toLowerCase()];return o?t.fromHashString(o,n):null},t.fromString=function(e,n){void 0===n&&(n=255);var o=t.fromRgbaString(e,n);if(null!==o)return o;var i=t.fromHashString(e,n);return null!==i?i:t.fromColorName(e,n)},t.colorToHash=function(e){return\"#\"+t.redPartToString(e)+t.greenPartToString(e)+t.bluePartToString(e)},t.stringToHash=function(t){var e=this.fromString(t);return null!==e?this.colorToHash(e):null},t.isHashColorString=function(t){return/^#?([0-9a-f]{6})$/i.test(t)||/^#?([0-9a-f]{3})$/i.test(t)},t.isKnownColorName=function(e){return!!t.colorNames[e.toLowerCase()]},t.isGray=function(e){var n=t.getRed(e);return n===t.getGreen(e)&&n===t.getBlue(e)},t.DARK_COLOR=-16777216,t.LIGHT_COLOR=-1,t.colorNames={aliceblue:\"#f0f8ff\",antiquewhite:\"#faebd7\",aqua:\"#00ffff\",aquamarine:\"#7fffd4\",azure:\"#f0ffff\",beige:\"#f5f5dc\",bisque:\"#ffe4c4\",black:\"#000000\",blanchedalmond:\"#ffebcd\",blue:\"#0000ff\",blueviolet:\"#8a2be2\",brown:\"#a52a2a\",burlywood:\"#deb887\",cadetblue:\"#5f9ea0\",chartreuse:\"#7fff00\",chocolate:\"#d2691e\",coral:\"#ff7f50\",cornflowerblue:\"#6495ed\",cornsilk:\"#fff8dc\",crimson:\"#dc143c\",cyan:\"#00ffff\",darkblue:\"#00008b\",darkcyan:\"#008b8b\",darkgoldenrod:\"#b8860b\",darkgray:\"#a9a9a9\",darkgreen:\"#006400\",darkkhaki:\"#bdb76b\",darkmagenta:\"#8b008b\",darkolivegreen:\"#556b2f\",darkorange:\"#ff8c00\",darkorchid:\"#9932cc\",darkred:\"#8b0000\",darksalmon:\"#e9967a\",darkseagreen:\"#8fbc8f\",darkslateblue:\"#483d8b\",darkslategray:\"#2f4f4f\",darkturquoise:\"#00ced1\",darkviolet:\"#9400d3\",deeppink:\"#ff1493\",deepskyblue:\"#00bfff\",dimgray:\"#696969\",dodgerblue:\"#1e90ff\",feldspar:\"#d19275\",firebrick:\"#b22222\",floralwhite:\"#fffaf0\",forestgreen:\"#228b22\",fuchsia:\"#ff00ff\",gainsboro:\"#dcdcdc\",ghostwhite:\"#f8f8ff\",gold:\"#ffd700\",goldenrod:\"#daa520\",gray:\"#808080\",green:\"#00ff00\",greenyellow:\"#adff2f\",honeydew:\"#f0fff0\",hotpink:\"#ff69b4\",indianred:\"#cd5c5c\",indigo:\"#4b0082\",ivory:\"#fffff0\",khaki:\"#f0e68c\",lavender:\"#e6e6fa\",lavenderblush:\"#fff0f5\",lawngreen:\"#7cfc00\",lemonchiffon:\"#fffacd\",lightblue:\"#add8e6\",lightcoral:\"#f08080\",lightcyan:\"#e0ffff\",lightgoldenrodyellow:\"#fafad2\",lightgray:\"#d3d3d3\",lightgreen:\"#90ee90\",lightpink:\"#ffb6c1\",lightsalmon:\"#ffa07a\",lightseagreen:\"#20b2aa\",lightskyblue:\"#87cefa\",lightslateblue:\"#8470ff\",lightslategray:\"#778899\",lightsteelblue:\"#b0c4de\",lightyellow:\"#ffffe0\",lime:\"#00ff00\",limegreen:\"#32cd32\",linen:\"#faf0e6\",magenta:\"#ff00ff\",maroon:\"#800000\",mediumaquamarine:\"#66cdaa\",mediumblue:\"#0000cd\",mediumorchid:\"#ba55d3\",mediumpurple:\"#9370d8\",mediumseagreen:\"#3cb371\",mediumslateblue:\"#7b68ee\",mediumspringgreen:\"#00fa9a\",mediumturquoise:\"#48d1cc\",mediumvioletred:\"#c71585\",midnightblue:\"#191970\",mintcream:\"#f5fffa\",mistyrose:\"#ffe4e1\",moccasin:\"#ffe4b5\",navajowhite:\"#ffdead\",navy:\"#000080\",oldlace:\"#fdf5e6\",olive:\"#808000\",olivedrab:\"#6b8e23\",orange:\"#ffa500\",orangered:\"#ff4500\",orchid:\"#da70d6\",palegoldenrod:\"#eee8aa\",palegreen:\"#98fb98\",paleturquoise:\"#afeeee\",palevioletred:\"#d87093\",papayawhip:\"#ffefd5\",peachpuff:\"#ffdab9\",peru:\"#cd853f\",pink:\"#ffc0cb\",plum:\"#dda0dd\",powderblue:\"#b0e0e6\",purple:\"#800080\",red:\"#ff0000\",rosybrown:\"#bc8f8f\",royalblue:\"#4169e1\",saddlebrown:\"#8b4513\",salmon:\"#fa8072\",sandybrown:\"#f4a460\",seagreen:\"#2e8b57\",seashell:\"#fff5ee\",sienna:\"#a0522d\",silver:\"#c0c0c0\",skyblue:\"#87ceeb\",slateblue:\"#6a5acd\",slategray:\"#708090\",snow:\"#fffafa\",springgreen:\"#00ff7f\",steelblue:\"#4682b4\",tan:\"#d2b48c\",teal:\"#008080\",thistle:\"#d8bfd8\",tomato:\"#ff6347\",turquoise:\"#40e0d0\",violet:\"#ee82ee\",violetred:\"#d02090\",wheat:\"#f5deb3\",white:\"#ffffff\",whitesmoke:\"#f5f5f5\",yellow:\"#ffff00\",yellowgreen:\"#9acd32\",windowtext:\"#000000\"},t}();e.ColorUtils=i},2491:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(49);e.isDefined=function(t){return null!=t},e.boolToInt=function(t){return t?1:0},e.boolToString=function(t){return t?\"1\":\"0\"},e.isNumber=function(t){return\"number\"==typeof t},e.isString=function(t){return\"string\"==typeof t},e.isNonNullString=function(t){return!!t},e.isEven=function(t){return t%2!=0},e.isOdd=function(t){return t%2==0},e.numberToStringBin=function(t,e){return void 0===e&&(e=0),o.StringUtils.padLeft(t.toString(2),e,\"0\")},e.numberToStringHex=function(t,e){return void 0===e&&(e=0),o.StringUtils.padLeft(t.toString(16),e,\"0\")}},4170:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(){}return t.number=function(t,e){return t-e},t.string=function(t,e){return t===e?0:t>e?1:-1},t.stringIgnoreCase=function(t,e){return(t=t.toLowerCase())===(e=e.toLowerCase())?0:t>e?1:-1},t}();e.Comparers=n;var o=function(){function t(){}return t.simpleType=function(t,e){return t===e},t.object=function(t,e){return t&&e&&(t===e||t.equals(e))},t}();e.Equals=o},6907:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(9279),i=n(2491),r=n(8679),s=n(49),a=function(){function t(){}return t.clearInnerHtml=function(t){for(;t.firstChild;)t.removeChild(t.firstChild)},t.setStylePosition=function(t,e){t.left=r.MathUtils.round(e.x,3)+\"px\",t.top=r.MathUtils.round(e.y,3)+\"px\"},t.setStyleSize=function(t,e){t.width=r.MathUtils.round(e.width,3)+\"px\",t.height=r.MathUtils.round(e.height,3)+\"px\"},t.setStyleSizeAndPosition=function(e,n){t.setStylePosition(e,n),t.setStyleSize(e,n)},t.hideNode=function(t){if(t){var e=t.parentNode;e&&e.removeChild(t)}},t.isHTMLElementNode=function(t){return t.nodeType===Node.ELEMENT_NODE},t.isTextNode=function(t){return t.nodeType===Node.TEXT_NODE},t.isElementNode=function(t){return t.nodeType===Node.ELEMENT_NODE},t.isHTMLTableRowElement=function(t){return\"TR\"===t.tagName},t.isItParent=function(t,e){if(!t||!e)return!1;for(;e;){if(e===t)return!0;if(\"BODY\"===e.tagName)return!1;e=e.parentNode}return!1},t.getParentByTagName=function(t,e){for(e=e.toUpperCase();t;){if(\"BODY\"===t.tagName)return null;if(t.tagName===e)return t;t=t.parentNode}return null},t.getDocumentScrollTop=function(){var e=o.Browser.IE&&\"hidden\"===t.getCurrentStyle(document.body).overflow&&document.body.scrollTop>0;return o.Browser.WebKitFamily||o.Browser.Edge||e?o.Browser.MacOSMobilePlatform?window.pageYOffset:o.Browser.WebKitFamily&&document.documentElement.scrollTop||document.body.scrollTop:document.documentElement.scrollTop},t.getDocumentScrollLeft=function(){var e=o.Browser.IE&&\"hidden\"===t.getCurrentStyle(document.body).overflow&&document.body.scrollLeft>0;return o.Browser.Edge||e?document.body?document.body.scrollLeft:document.documentElement.scrollLeft:o.Browser.WebKitFamily?document.documentElement.scrollLeft||document.body.scrollLeft:document.documentElement.scrollLeft},t.getCurrentStyle=function(t){if(t.currentStyle)return t.currentStyle;if(document.defaultView&&document.defaultView.getComputedStyle){var e=document.defaultView.getComputedStyle(t,null);if(!e&&o.Browser.Firefox&&window.frameElement){for(var n=[],r=window.frameElement;!(e=document.defaultView.getComputedStyle(t,null));)n.push([r,r.style.display]),r.style.setProperty(\"display\",\"block\",\"important\"),r=\"BODY\"===r.tagName?r.ownerDocument.defaultView.frameElement:r.parentNode;e=function(t){if(\"object\"!=typeof t||!i.isDefined(t))return t;var e={};for(var n in t)e[n]=t[n];return e}(e);for(var s=void 0,a=0;s=n[a];a++)s[0].style.display=s[1];document.body.offsetWidth}return e}return window.getComputedStyle(t,null)},t.setFocus=function(t){function e(){try{t.focus(),o.Browser.IE&&document.activeElement!==t&&t.focus()}catch(t){}}o.Browser.MacOSMobilePlatform?e():setTimeout((function(){e()}),100)},t.hasClassName=function(t,e){try{var n=e.split(\" \"),o=t.classList;if(o){for(var i=n.length-1;i>=0;i--)if(!o.contains(n[i]))return!1}else{var r=t.getAttribute&&t.getAttribute(\"class\");if(!r)return!1;var s=r.split(\" \");for(i=n.length-1;i>=0;i--)if(s.indexOf(n[i])<0)return!1}return!0}catch(t){return!1}},t.addClassName=function(e,n){if(!t.hasClassName(e,n)){var o=e.getAttribute&&e.getAttribute(\"class\");e.setAttribute(\"class\",\"\"===o?n:o+\" \"+n)}},t.removeClassName=function(t,e){var n=\" \"+(t.getAttribute&&t.getAttribute(\"class\"))+\" \",o=n.replace(\" \"+e+\" \",\" \");n.length!==o.length&&t.setAttribute(\"class\",s.StringUtils.trim(o))},t.toggleClassName=function(e,n,o){void 0===o?t.hasClassName(e,n)?t.removeClassName(e,n):t.addClassName(e,n):o?t.addClassName(e,n):t.removeClassName(e,n)},t.pxToInt=function(t){return c(t,parseInt)},t.pxToFloat=function(t){return c(t,parseFloat)},t.getAbsolutePositionY=function(e){function n(e){return Math.round(e.getBoundingClientRect().top+t.getDocumentScrollTop())}return e?o.Browser.IE?function(e){return o.Browser.IE&&null===e.parentNode?0:e.getBoundingClientRect().top+t.getDocumentScrollTop()}(e):o.Browser.Firefox&&o.Browser.Version>=3?n(e):o.Browser.Opera?function(e){var n=!0;e&&t.isHTMLTableRowElement(e)&&e.cells.length>0&&(e=e.cells[0]);for(var o=u(e,!1);null!=e;)o+=e.offsetTop,n||(o-=e.scrollTop),e=e.offsetParent,n=!1;return o+=document.body.scrollTop}(e):o.Browser.NetscapeFamily&&(!o.Browser.Firefox||o.Browser.Version<3)?function(e){for(var n=u(e,!1),i=!0;null!=e;){if(n+=e.offsetTop,i||null==e.offsetParent||(n-=e.scrollTop),!i&&o.Browser.Firefox){var r=t.getCurrentStyle(e);\"DIV\"===e.tagName&&\"visible\"!==r.overflow&&(n+=t.pxToInt(r.borderTopWidth))}i=!1,e=e.offsetParent}return n}(e):o.Browser.WebKitFamily||o.Browser.Edge?n(e):function(t){for(var e=0,n=!0;null!=t;)e+=t.offsetTop,n||null==t.offsetParent||(e-=t.scrollTop),n=!1,t=t.offsetParent;return e}(e):0},t.getAbsolutePositionX=function(e){function n(e){return Math.round(e.getBoundingClientRect().left+t.getDocumentScrollLeft())}return e?o.Browser.IE?function(e){return o.Browser.IE&&null===e.parentNode?0:e.getBoundingClientRect().left+t.getDocumentScrollLeft()}(e):o.Browser.Firefox&&o.Browser.Version>=3?n(e):o.Browser.Opera&&o.Browser.Version<=12?function(t){for(var e=!0,n=u(t,!0);null!=t;)n+=t.offsetLeft,e||(n-=t.scrollLeft),t=t.offsetParent,e=!1;return n+=document.body.scrollLeft}(e):o.Browser.NetscapeFamily&&(!o.Browser.Firefox||o.Browser.Version<3)?function(e){for(var n=u(e,!0),i=!0;null!=e;){if(n+=e.offsetLeft,i||null==e.offsetParent||(n-=e.scrollLeft),!i&&o.Browser.Firefox){var r=t.getCurrentStyle(e);\"DIV\"===e.tagName&&\"visible\"!==r.overflow&&(n+=t.pxToInt(r.borderLeftWidth))}i=!1,e=e.offsetParent}return n}(e):o.Browser.WebKitFamily||o.Browser.Edge?n(e):function(t){for(var e=0,n=!0;null!=t;)e+=t.offsetLeft,n||null==t.offsetParent||(e-=t.scrollLeft),n=!1,t=t.offsetParent;return e}(e):0},t.isInteractiveControl=function(t){return[\"A\",\"INPUT\",\"SELECT\",\"OPTION\",\"TEXTAREA\",\"BUTTON\",\"IFRAME\"].indexOf(t.tagName)>-1},t.getClearClientHeight=function(e){return e.offsetHeight-(t.getTopBottomPaddings(e)+t.getVerticalBordersWidth(e))},t.getTopBottomPaddings=function(e,n){var o=n||t.getCurrentStyle(e);return t.pxToInt(o.paddingTop)+t.pxToInt(o.paddingBottom)},t.getVerticalBordersWidth=function(e,n){i.isDefined(n)||(n=o.Browser.IE&&9!==o.Browser.MajorVersion&&window.getComputedStyle?window.getComputedStyle(e):t.getCurrentStyle(e));var r=0;return\"none\"!==n.borderTopStyle&&(r+=t.pxToFloat(n.borderTopWidth)),\"none\"!==n.borderBottomStyle&&(r+=t.pxToFloat(n.borderBottomWidth)),r},t.getNodes=function(t,e){for(var n=t.all||t.getElementsByTagName(\"*\"),o=[],i=0;i=9||o.Browser.Edge?e.textContent:e.innerText},t.html2PlainTextFilter=null,t.verticalScrollBarWidth=void 0,t}();function c(t,e){var n=0;if(i.isDefined(t)&&\"\"!==t)try{var o=t.indexOf(\"px\");o>-1&&(n=e(t.substr(0,o)))}catch(t){}return n}function u(t,e){for(var n=0,o=!0;null!=t&&\"BODY\"!==t.tagName;){var i=a.getCurrentStyle(t);if(\"absolute\"===i.position)break;o||\"DIV\"!==t.tagName||\"\"!==i.position&&\"static\"!==i.position||(n-=e?t.scrollLeft:t.scrollTop),t=t.parentNode,o=!1}return n}e.DomUtils=a},9712:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(){}return t.encodeHtml=function(t){return t.replace(/&/g,\"&\").replace(//g,\">\")},t.decodeHtml=function(t){return t.replace(/&/g,\"&\").replace(/</g,\"<\").replace(/>/g,\">\")},t.prepareTextForRequest=function(t){return t.replace(/%/g,\"%25\").replace(/&/g,\"%26amp;\").replace(/\\+/g,\"%2B\").replace(//g,\"%26gt;\").replace(/\"/g,\"%26quot;\")},t.prepareTextForCallBackRequest=function(t){return t.replace(/&/g,\"&\").replace(//g,\">\").replace(/\"/g,\""\")},t.decodeViaTextArea=function(t){var e=document.createElement(\"TEXTAREA\");return e.innerHTML=t,e.value},t}();e.EncodeUtils=n},3714:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(9279),i=n(2491),r=n(6907),s=n(1632),a=function(){function t(){}return t.preventEvent=function(t){t.cancelable&&(t.preventDefault?t.preventDefault():t.returnValue=!1)},t.getEventSource=function(e){return i.isDefined(e)?t.getEventSourceCore(e):null},t.getEventSourceByPosition=function(e){if(!i.isDefined(e))return null;if(!document.elementFromPoint)return t.getEventSourceCore(e);var n=t.getEventX(e)-(t.clientEventRequiresDocScrollCorrection()?r.DomUtils.getDocumentScrollLeft():0),o=t.getEventY(e)-(t.clientEventRequiresDocScrollCorrection()?r.DomUtils.getDocumentScrollTop():0);return void 0===n||void 0===o?t.getEventSourceCore(e):document.elementFromPoint(n,o)},t.getEventSourceCore=function(t){return t.srcElement?t.srcElement:t.target},t.getMouseWheelEventName=function(){return o.Browser.Safari?\"mousewheel\":o.Browser.NetscapeFamily&&o.Browser.MajorVersion<17?\"DOMMouseScroll\":\"wheel\"},t.isLeftButtonPressed=function(e){return!!s.TouchUtils.isTouchEvent(e)||!!(e=o.Browser.IE&&i.isDefined(event)?event:e)&&(o.Browser.IE&&o.Browser.Version<11?!!o.Browser.MSTouchUI||e.button%2==1:o.Browser.WebKitFamily?\"pointermove\"===e.type||\"pointerenter\"===e.type||\"pointerleave\"===e.type?1===e.buttons:1===e.which:o.Browser.NetscapeFamily||o.Browser.Edge||o.Browser.IE&&o.Browser.Version>=11?t.isMoveEventName(e.type)?1===e.buttons:1===e.which:!o.Browser.Opera||0===e.button)},t.isMoveEventName=function(e){return e===s.TouchUtils.touchMouseMoveEventName||e===t.getMoveEventName()},t.getMoveEventName=function(){return window.PointerEvent?\"pointermove\":o.Browser.TouchUI?\"touchmove\":\"mousemove\"},t.preventEventAndBubble=function(e){t.preventEvent(e),e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0},t.clientEventRequiresDocScrollCorrection=function(){var t=o.Browser.Safari&&o.Browser.Version<3,e=o.Browser.MacOSMobilePlatform&&o.Browser.Version<5.1;return o.Browser.AndroidDefaultBrowser||o.Browser.AndroidChromeBrowser||!(t||e)},t.getEventX=function(e){return s.TouchUtils.isTouchEvent(e)?s.TouchUtils.getEventX(e):e.clientX+(t.clientEventRequiresDocScrollCorrection()?r.DomUtils.getDocumentScrollLeft():0)},t.getEventY=function(e){return s.TouchUtils.isTouchEvent(e)?s.TouchUtils.getEventY(e):e.clientY+(t.clientEventRequiresDocScrollCorrection()?r.DomUtils.getDocumentScrollTop():0)},t.cancelBubble=function(t){t.cancelBubble=!0},t.getWheelDelta=function(t){var e;return e=o.Browser.NetscapeFamily&&o.Browser.MajorVersion<17?-t.detail:o.Browser.Safari?t.wheelDelta:-t.deltaY,o.Browser.Opera&&o.Browser.Version<9&&(e=-e),e},t}();e.EvtUtils=a},2674:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(9279),i=n(6477),r=n(2491),s=function(){function t(){}return t.loadJavascriptFile=function(t,e){var n,o=document.getElementsByTagName(\"head\")[0];if(!o){o=document.createElement(\"head\");var i=document.getElementsByTagName(\"body\")[0];null===(n=i.parentNode)||void 0===n||n.insertBefore(o,i)}var r=document.createElement(\"script\");return r.onload=e,r.src=t,o.appendChild(r),{htmlScriptElement:r}},t.startDownloadFileLocal=function(t,e){if(t instanceof ArrayBuffer&&(t=i.Base64Utils.fromArrayBuffer(t)),r.isString(t)&&(t=i.Base64Utils.getFileFromBase64(t)),window.navigator.msSaveOrOpenBlob)window.navigator.msSaveOrOpenBlob(t,e);else{var n=document.createElement(\"a\"),o=URL.createObjectURL(t);n.href=o,n.download=e,document.body.appendChild(n),n.click(),setTimeout((function(){document.body.removeChild(n),window.URL.revokeObjectURL(o)}),0)}},t.createFile=function(t,e,n){var i;if(o.Browser.IE||o.Browser.Edge&&o.Browser.MajorVersion<86){var r=new Blob(t,n);return r.lastModifiedDate=null!==(i=null==n?void 0:n.lastModified)&&void 0!==i?i:Date.now(),r.name=e,r}return new File(t,e,n)},t.isFile=function(t){return o.Browser.IE||o.Browser.Edge&&o.Browser.MajorVersion<86?t instanceof File||t instanceof Blob&&r.isDefined(t.name):t instanceof File},t}();e.FileUtils=s},2153:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0});var o,i,r=n(9279),s=n(9712),a=n(49),c=function(){function t(){}return t.getKeyModifiers=function(t){var e=0;return t.altKey&&(e|=o.Alt),t.ctrlKey&&(e|=o.Ctrl),t.shiftKey&&(e|=o.Shift),t.metaKey&&(e|=o.Meta),e},t.getShortcutCode=function(t,e,n,i,r){var s=t;return s|=e?o.Ctrl:0,s|=n?o.Shift:0,s|=i?o.Alt:0,s|=r?o.Meta:0},t.getShortcutCodeByEvent=function(e){return t.getShortcutCode(t.getEventKeyCode(e),e.ctrlKey,e.shiftKey,e.altKey,!!r.Browser.MacOSPlatform&&e.metaKey)},t.getEventKeyCode=function(t){return r.Browser.NetscapeFamily||r.Browser.Opera?t.which:t.keyCode},t.parseShortcutString=function(e){if(!e)return 0;var n=!1,o=!1,r=!1,c=!1,u=null,h=e.toString().split(\"+\");if(h.length>0)for(var p=0;p{Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(6799),i=n(4170),r=function(){function t(){}return t.remove=function(t,e){var n=t.indexOf(e,0);n>=0&&t.splice(n,1)},t.removeBy=function(t,e){for(var n=t.length,o=0;o0;t--)n.push(e);return n},t.initByCallback=function(t,e){for(var n=[],o=0;o=n;o--)e(o)},t.reducedMap=function(t,e,n,o){void 0===n&&(n=0),void 0===o&&(o=t.length);for(var i=[],r=n;r=o;i--)if(e(t[i],i))return i;return-1},t.elementBy=function(e,n,o,i){void 0===o&&(o=0),void 0===i&&(i=e.length);var r=t.indexBy(e,n,o,i);return r<0?null:e[r]},t.reverseElementBy=function(e,n,o,i){void 0===o&&(o=e.length-1),void 0===i&&(i=0);var r=t.reverseIndexBy(e,n,o,i);return r<0?null:e[r]},t.last=function(t){return t[t.length-1]},t.setLast=function(t,e){return t[t.length-1]=e},t.incLast=function(t){return++t[t.length-1]},t.decLast=function(t){return--t[t.length-1]},t.equals=function(e,n){return e.length===n.length&&t.allOf2(e,n,(function(t,e){return t.equals(e)}))},t.equalsByReference=function(t,e){var n=t.length;if(n!==t.length)return!1;for(var o=0;o=0;n--)e===t[n]?t.splice(n,1):e=t[n];return t},t.forEach=function(t,e,n,o){void 0===n&&(n=0),void 0===o&&(o=t.length);for(var i=n;i=o;i--)e(t[i],i)},t.reverseIndexOf=function(t,e,n,o){void 0===n&&(n=t.length-1),void 0===o&&(o=0);for(var i=n;i>=o;i--)if(t[i]===e)return i;return-1},t.accumulate=function(t,e,n,o,i){void 0===o&&(o=0),void 0===i&&(i=t.length);for(var r=e,s=o;s=o;i--)if(e(t[i],i))return!0;return!1},t.unsafeReverseAnyOf=function(t,e,n,o){void 0===n&&(n=t.length-1),void 0===o&&(o=0);for(var i=n;i>=o;i--){var r=e(t[i],i);if(r)return r}return null},t.anyOf2=function(t,e,n,o,i){void 0===o&&(o=0),void 0===i&&(i=t.length);for(var r=o;rs&&(s=u,r=c)}return new o.ExtendedMax(r,s)},t.minMaxExtended=function(t,e,n,i){if(void 0===n&&(n=0),void 0===i&&(i=t.length),0===t.length)return null;for(var r=t[n],s=r,a=e(r),c=a,u=n+1;uc&&(c=p,s=h)}return new o.ExtendedMinMax(r,a,s,c)},t.minByCmp=function(t,e,n,o){if(void 0===n&&(n=0),void 0===o&&(o=t.length),0===t.length)return null;for(var i=t[n],r=n+1;r0&&(i=s)}return i},t.minMaxByCmp=function(t,e,n,i){if(void 0===n&&(n=0),void 0===i&&(i=t.length),0===t.length)return null;for(var r=t[n],s=r,a=n+1;a0?s=c:u<0&&(r=c)}return new o.MinMax(r,s)},t}();e.ListUtils=r},8679:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(2940),i=function(){function t(){}return t.round=function(e,n){void 0===n&&(n=0);var o=t.powFactor[n];return Math.round(e*o)/o},t.numberCloseTo=function(t,e,n){return void 0===n&&(n=1e-5),Math.abs(t-e)n?n:t{var n,o,i,r;Object.defineProperty(e,\"__esModule\",{value:!0}),e.OpenXmlMimeType=\"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",e.RtfMimeType=\"application/rtf\",e.PlainTextMimeType=\"text/plain\",e.DocmMimeType=\"application/vnd.ms-word.document.macroEnabled.12\",e.ImagePngMimeType=\"image/png\",e.ImageGifMimeType=\"image/gif\",e.ImageJpegMimeType=\"image/jpeg\",e.ImagePjpegMimeType=\"image/pjpeg\",e.ImageSvgMimeType=\"image/svg+xml\",e.ImageTiffMimeType=\"image/tiff\",e.ImageIcoMimeType=\"image/vnd.microsoft.icon\",e.ImageWbmpMimeType=\"image/vnd.wap.wbmp\",e.ImageWebpMimeType=\"image/webp\",function(t){t[t.Unknown=0]=\"Unknown\",t[t.OpenXml=1]=\"OpenXml\",t[t.Rtf=2]=\"Rtf\",t[t.PlainText=3]=\"PlainText\",t[t.Docm=4]=\"Docm\",t[t.Png=5]=\"Png\",t[t.Gif=6]=\"Gif\",t[t.Jpeg=7]=\"Jpeg\",t[t.Pjpeg=8]=\"Pjpeg\",t[t.Svg=9]=\"Svg\",t[t.Tiff=10]=\"Tiff\",t[t.Ico=11]=\"Ico\",t[t.Wbmp=12]=\"Wbmp\",t[t.Webp=13]=\"Webp\"}(r=e.DxMimeType||(e.DxMimeType={}));var s=function(){function t(){}return t.stringTypeToExtension=function(e){var n=t.stringTypeToTypeMap[e];return void 0===n?\"\":t.typeToExtensionMap[n]},t.typeToExtension=function(e){var n=t.typeToExtensionMap[e];return null!=n?n:\"\"},t.extensionToType=function(e){\".\"!==(e=e.toLowerCase())[0]&&(e+=\".\");var n=t.extensionToTypeMap[e];return null!=n?n:r.Unknown},t.typeToStringType=function(e){var n=t.typeToStringTypeMap[e];return null!=n?n:\"\"},t.stringTypeToType=function(e){var n=t.stringTypeToTypeMap[e];return void 0===n?r.Unknown:n},t.stringTypeToTypeMap=((n={})[e.OpenXmlMimeType]=r.OpenXml,n[e.RtfMimeType]=r.Rtf,n[e.PlainTextMimeType]=r.PlainText,n[e.DocmMimeType]=r.Docm,n[e.ImagePngMimeType]=r.Png,n[e.ImageGifMimeType]=r.Gif,n[e.ImageJpegMimeType]=r.Jpeg,n[e.ImagePjpegMimeType]=r.Pjpeg,n[e.ImageSvgMimeType]=r.Svg,n[e.ImageTiffMimeType]=r.Tiff,n[e.ImageIcoMimeType]=r.Ico,n[e.ImageWbmpMimeType]=r.Wbmp,n[e.ImageWebpMimeType]=r.Webp,n),t.typeToStringTypeMap=((o={})[r.Unknown]=void 0,o[r.OpenXml]=e.OpenXmlMimeType,o[r.Rtf]=e.RtfMimeType,o[r.PlainText]=e.PlainTextMimeType,o[r.Docm]=e.DocmMimeType,o[r.Png]=e.ImagePngMimeType,o[r.Gif]=e.ImageGifMimeType,o[r.Jpeg]=e.ImageJpegMimeType,o[r.Pjpeg]=e.ImagePjpegMimeType,o[r.Svg]=e.ImageSvgMimeType,o[r.Tiff]=e.ImageTiffMimeType,o[r.Ico]=e.ImageIcoMimeType,o[r.Wbmp]=e.ImageWbmpMimeType,o[r.Webp]=e.ImageWebpMimeType,o),t.typeToExtensionMap=((i={})[r.Unknown]=void 0,i[r.OpenXml]=\".docx\",i[r.Rtf]=\".rtf\",i[r.PlainText]=\".txt\",i[r.Docm]=\".docm\",i[r.Png]=\".png\",i[r.Gif]=\".gif\",i[r.Jpeg]=\".jpeg\",i[r.Pjpeg]=\".pjpeg\",i[r.Svg]=\".svg\",i[r.Tiff]=\".tiff\",i[r.Ico]=\".ico\",i[r.Wbmp]=\".wbmp\",i[r.Webp]=\".webp\",i),t.extensionToTypeMap={\".docx\":r.OpenXml,\".rtf\":r.Rtf,\".txt\":r.PlainText,\".docm\":r.Docm,\".png\":r.Png,\".gif\":r.Gif,\".jpeg\":r.Jpeg,\".pjpeg\":r.Pjpeg,\".svg\":r.Svg,\".tiff\":r.Tiff,\".ico\":r.Ico,\".wbmp\":r.Wbmp,\".webp\":r.Webp},t}();e.MimeTypeUtils=s},2400:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(){}return t.binaryIndexOf=function(t,e,n,o){void 0===n&&(n=0),void 0===o&&(o=-2);var i=0===n;for(-2===o&&(o=t.length-1);n<=o;){var r=n+(o-n>>1),s=e(t[r]);if(s<0)n=r+1;else{if(!(s>0))return r;o=r-1}}return i?~n:-1},t.normedBinaryIndexOf=function(e,n,o,i){void 0===o&&(o=0),void 0===i&&(i=-2);var r=t.binaryIndexOf(e,n,o,i);return t.binaryIndexNormalizator(r)},t.binaryIndexNormalizator=function(t){return t<0?~t-1:t},t.normedInterpolationIndexOf=function(t,e,n,o,i){void 0===o&&(o=0),void 0===i&&(i=-2),-2===i&&(i=t.length-1);var r=t[Math.min(o,i)];if(void 0===r||ns&&nu){if(n<(s=e(t[o=c+1])))return c}else{if(!(n{Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(){}return t.isAlpha=function(t){return t>=\"a\"&&t<=\"z\"||t>=\"A\"&&t<=\"Z\"},t.isDigit=function(t){return t>=\"0\"&&t<=\"9\"},t.stringHashCode=function(t){var e=0;if(0===t.length)return e;for(var n=t.length,o=0;o=i;n--,o--)if(t[n]!==e[o])return!1;return!0},t.startsAt=function(t,e){return t.substr(0,e.length)===e},t.stringInLowerCase=function(t){return t.toLowerCase()===t},t.stringInUpperCase=function(t){return t.toUpperCase()===t},t.atLeastOneSymbolInUpperCase=function(e){for(var n=0,o=void 0;o=e[n];n++)if(t.stringInUpperCase(o)&&!t.stringInLowerCase(o))return!0;return!1},t.getSymbolFromEnd=function(t,e){return t[t.length-e]},t.trim=function(e,n){if(void 0===n)return t.trimInternal(e,!0,!0);var o=n.join(\"\");return e.replace(new RegExp(\"(^[\"+o+\"]*)|([\"+o+\"]*$)\",\"g\"),\"\")},t.trimStart=function(e,n){if(void 0===n)return t.trimInternal(e,!0,!1);var o=n.join(\"\");return e.replace(new RegExp(\"^[\"+o+\"]*\",\"g\"),\"\")},t.trimEnd=function(e,n){if(void 0===n)return t.trimInternal(e,!1,!0);var o=n.join(\"\");return e.replace(new RegExp(\"[\"+o+\"]*$\",\"g\"),\"\")},t.getDecimalSeparator=function(){return 1.1.toLocaleString().substr(1,1)},t.repeat=function(t,e){return new Array(e<=0?0:e+1).join(t)},t.isNullOrEmpty=function(t){return!t||!t.length},t.padLeft=function(e,n,o){return t.repeat(o,Math.max(0,n-e.length))+e},t.trimInternal=function(t,e,n){var o=t.length;if(!o)return t;if(o<764833){var i=t;return e&&(i=i.replace(/^\\s+/,\"\")),n&&(i=i.replace(/\\s+$/,\"\")),i}var r=0;if(n)for(;o>0&&/\\s/.test(t[o-1]);)o--;if(e&&o>0)for(;r{Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(9279),i=n(2491),r=function(){function t(){}return t.onEventAttachingToDocument=function(e,n){return!o.Browser.MacOSMobilePlatform||!t.isTouchEventName(e)||(t.documentTouchHandlers[e]||(t.documentTouchHandlers[e]=[]),t.documentTouchHandlers[e].push(n),t.documentEventAttachingAllowed)},t.isTouchEventName=function(t){return o.Browser.WebKitTouchUI&&(t.indexOf(\"touch\")>-1||t.indexOf(\"gesture\")>-1)},t.isTouchEvent=function(t){return o.Browser.WebKitTouchUI&&i.isDefined(t.changedTouches)},t.getEventX=function(t){return o.Browser.IE?t.pageX:t.changedTouches[0].pageX},t.getEventY=function(t){return o.Browser.IE?t.pageY:t.changedTouches[0].pageY},t.touchMouseDownEventName=o.Browser.WebKitTouchUI?\"touchstart\":o.Browser.Edge&&o.Browser.MSTouchUI&&window.PointerEvent?\"pointerdown\":\"mousedown\",t.touchMouseUpEventName=o.Browser.WebKitTouchUI?\"touchend\":o.Browser.Edge&&o.Browser.MSTouchUI&&window.PointerEvent?\"pointerup\":\"mouseup\",t.touchMouseMoveEventName=o.Browser.WebKitTouchUI?\"touchmove\":o.Browser.Edge&&o.Browser.MSTouchUI&&window.PointerEvent?\"pointermove\":\"mousemove\",t.msTouchDraggableClassName=\"dxMSTouchDraggable\",t.documentTouchHandlers={},t.documentEventAttachingAllowed=!0,t}();e.TouchUtils=r},7097:(t,e,n)=>{n(8091).polyfill()},8091:t=>{function e(t,e){if(null==t)throw new TypeError(\"Cannot convert first argument to object\");for(var n=Object(t),o=1;o{n.r(e)},5656:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ApiController=void 0;var r,s=n(1772),a=n(6031),c=n(4867),u=n(3607),h=function(t){function e(e,n,o){var i=t.call(this)||this;return i.events=e,i.model=o,i.selection=n,i}return i(e,t),e.prototype.notifySelectionChanged=function(t){this.isUpdateLocked()?this.registerOccurredEvent(r.SelectionChanged):this.raiseSelectionChanged()},e.prototype.notifyToolboxDragStart=function(){this.events.raise(\"notifyToolboxItemDragStart\")},e.prototype.notifyToolboxDragEnd=function(){this.events.raise(\"notifyToolboxItemDragEnd\")},e.prototype.notifyToolboxDraggingMouseMove=function(){},e.prototype.notifyClick=function(t){var e=this;this.tryRaiseUserAction(t,(function(t){return e.events.raise(\"notifyItemClick\",t)}))},e.prototype.notifyDblClick=function(t){var e=this;this.tryRaiseUserAction(t,(function(t){return e.events.raise(\"notifyItemDblClick\",t)}))},e.prototype.createNativeItem=function(t){return t&&this.cleanupNativeItem(t.toNative(this.model.units))},e.prototype.createNativeShape=function(t){return this.createNativeItem(t)},e.prototype.createNativeConnector=function(t){return this.createNativeItem(t)},e.prototype.convertUnit=function(t){return c.ModelUtils.getlUnitValue(this.model.units,t)},e.prototype.convertPoint=function(t){return new u.Point(this.convertUnit(t.x),this.convertUnit(t.y))},e.prototype.convertSize=function(t){return new u.Size(this.convertUnit(t.width),this.convertUnit(t.height))},e.prototype.cleanupNativeItem=function(t){var e=this.dataSource;return e&&(e.isAutoGeneratedKey(t.fromKey)&&(t.fromKey=void 0),e.isAutoGeneratedKey(t.key)&&(t.key=void 0),e.isAutoGeneratedKey(t.toKey)&&(t.toKey=void 0)),t},e.prototype.setDataSource=function(t){this.dataSource=t},e.prototype.tryRaiseUserAction=function(t,e){var n=this;if(this.isUserAction(t)){var o=this.model.findItem(t.source.key);o&&this.events.raise1((function(t){return e(n.createNativeItem(o))}))}},e.prototype.isUserAction=function(t){return t.source&&(t.source.type===a.MouseEventElementType.Shape||t.source.type===a.MouseEventElementType.ShapeExpandButton||t.source.type===a.MouseEventElementType.ShapeParameterBox||t.source.type===a.MouseEventElementType.ShapeResizeBox||t.source.type===a.MouseEventElementType.ShapeConnectionPoint||t.source.type===a.MouseEventElementType.Connector||t.source.type===a.MouseEventElementType.ConnectorPoint||t.source.type===a.MouseEventElementType.ConnectorSide||t.source.type===a.MouseEventElementType.ConnectorOrthogonalSide||t.source.type===a.MouseEventElementType.ConnectorText)},e.prototype.onUpdateUnlocked=function(t){t&r.SelectionChanged&&this.raiseSelectionChanged()},e.prototype.raiseSelectionChanged=function(){var t=this,e=this.selection.getKeys().map((function(e){return t.createNativeItem(t.model.findItem(e))}));this.events.raise1((function(t){return t.notifySelectionChanged(e)}))},e}(s.BatchUpdatableObject);e.ApiController=h,function(t){t[t.SelectionChanged=1]=\"SelectionChanged\"}(r||(r={}))},7185:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.NativeConnector=e.NativeShape=e.NativeItem=void 0;var r=n(4867),s=function(){function t(t,e){this.id=t,this.key=e,this.unitsApplied=!1}return t.prototype.applyUnits=function(t){this.unitsApplied||void 0===t||(this.applyUnitsCore(t),this.unitsApplied=!0)},t}();e.NativeItem=s;var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.applyUnitsCore=function(t){this.position.x=r.ModelUtils.getlUnitValue(t,this.position.x),this.position.y=r.ModelUtils.getlUnitValue(t,this.position.y),this.size.width=r.ModelUtils.getlUnitValue(t,this.size.width),this.size.height=r.ModelUtils.getlUnitValue(t,this.size.height)},e}(s);e.NativeShape=a;var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.applyUnitsCore=function(t){this.points.forEach((function(e){e.x=r.ModelUtils.getlUnitValue(t,e.x),e.y=r.ModelUtils.getlUnitValue(t,e.y)}))},e}(s);e.NativeConnector=c},8906:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.AutoLayoutCommandBase=void 0;var r=n(4867),s=n(9741),a=n(5503),c=n(7959),u=n(8675),h=n(8011),p=n(7626),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.executeCore=function(t,e){var n=this;this.control.history.beginTransaction();var o=this.getAffectedShapes(),i=this.getAffectedConnectors(),s=this.createLayoutSettings(),a=r.ModelUtils.getGraphInfoByItems(this.control.model,o,i,!1);if(a.length){var c,l=this.control.model,d=u.GeometryUtils.getCommonRectangle(u.Utils.flatten(a.map((function(t){return t.graph.items.map((function(t){return l.findItem(t.key)}))}))).concat(a.map((function(t){return t.container}))).filter((function(t){return t})).map((function(t){return t.rectangle})));this.control.history.addAndRedo(new p.ScrollIntoViewOnUndoHistoryItem(this.control.view,d)),a.forEach((function(t){var e=n.createLayout(s,t.graph),a=r.ModelUtils.getNonGraphItems(n.control.model,t.container,e.nodeToLayout,o,i),u=r.ModelUtils.applyLayout(n.control.history,n.control.model,t.container,t.graph,e,a,s,n.control.settings.snapToGrid,n.control.settings.gridSize,!1);c=c&&h.Rectangle.union(c,u)||u})),r.ModelUtils.tryUpdateModelRectangle(this.control.history),this.control.history.addAndRedo(new p.ScrollIntoViewOnRedoHistoryItem(this.control.view,c))}return this.control.history.endTransaction(),!0},e.prototype.getAffectedShapes=function(){return this.control.selection.isEmpty()?this.control.model.items.filter((function(t){return t instanceof a.Shape&&!t.locked})):this.control.selection.getSelectedShapes(!1,!0)},e.prototype.getAffectedConnectors=function(){return this.control.selection.isEmpty()?this.control.model.items.filter((function(t){return t instanceof c.Connector&&!t.locked})):this.control.selection.getSelectedConnectors(!1,!0)},e}(s.SimpleCommandBase);e.AutoLayoutCommandBase=l},30:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.AutoLayoutLayeredHorizontalCommand=void 0;var r=n(8906),s=n(1256),a=n(8710),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.createLayoutSettings=function(){var t=new a.LayoutSettings;return t.orientation=a.DataLayoutOrientation.Horizontal,t},e.prototype.createLayout=function(t,e){return new s.SugiyamaLayoutBuilder(t,e).build()},e}(r.AutoLayoutCommandBase);e.AutoLayoutLayeredHorizontalCommand=c},7826:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.AutoLayoutLayeredHorizontalRightToLeftCommand=void 0;var r=n(8710),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.createLayoutSettings=function(){var e=t.prototype.createLayoutSettings.call(this);return e.direction=r.LogicalDirectionKind.Backward,e},e}(n(30).AutoLayoutLayeredHorizontalCommand);e.AutoLayoutLayeredHorizontalRightToLeftCommand=s},554:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.AutoLayoutLayeredVerticalBottomToTopCommand=void 0;var r=n(8710),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.createLayoutSettings=function(){var e=t.prototype.createLayoutSettings.call(this);return e.direction=r.LogicalDirectionKind.Backward,e},e}(n(9427).AutoLayoutLayeredVerticalCommand);e.AutoLayoutLayeredVerticalBottomToTopCommand=s},9427:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.AutoLayoutLayeredVerticalCommand=void 0;var r=n(8906),s=n(1256),a=n(8710),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.createLayoutSettings=function(){var t=new a.LayoutSettings;return t.orientation=a.DataLayoutOrientation.Vertical,t},e.prototype.createLayout=function(t,e){return new s.SugiyamaLayoutBuilder(t,e).build()},e}(r.AutoLayoutCommandBase);e.AutoLayoutLayeredVerticalCommand=c},7004:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.AutoLayoutTreeHorizontalCommand=void 0;var r=n(8906),s=n(9533),a=n(8710),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.createLayoutSettings=function(){var t=this.control.settings.snapToGrid?this.control.settings.gridSize:void 0,e=new a.TreeLayoutSettings(t);return e.orientation=a.DataLayoutOrientation.Horizontal,e},e.prototype.createLayout=function(t,e){return new s.TreeLayoutBuilder(t,e).build()},e}(r.AutoLayoutCommandBase);e.AutoLayoutTreeHorizontalCommand=c},5010:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.AutoLayoutTreeHorizontalRightToLeftCommand=void 0;var r=n(8710),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.createLayoutSettings=function(){var e=t.prototype.createLayoutSettings.call(this);return e.direction=r.LogicalDirectionKind.Backward,e},e}(n(7004).AutoLayoutTreeHorizontalCommand);e.AutoLayoutTreeHorizontalRightToLeftCommand=s},2217:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.AutoLayoutTreeVerticalBottomToTopCommand=void 0;var r=n(8710),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.createLayoutSettings=function(){var e=t.prototype.createLayoutSettings.call(this);return e.direction=r.LogicalDirectionKind.Backward,e},e}(n(375).AutoLayoutTreeVerticalCommand);e.AutoLayoutTreeVerticalBottomToTopCommand=s},375:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.AutoLayoutTreeVerticalCommand=void 0;var r=n(8906),s=n(9533),a=n(8710),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.createLayoutSettings=function(){var t=this.control.settings.snapToGrid?this.control.settings.gridSize:void 0,e=new a.TreeLayoutSettings(t);return e.orientation=a.DataLayoutOrientation.Vertical,e},e.prototype.createLayout=function(t,e){return new s.TreeLayoutBuilder(t,e).build()},e}(r.AutoLayoutCommandBase);e.AutoLayoutTreeVerticalCommand=c},4982:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ClipboardCommand=void 0;var r=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.setClipboardData=function(t){this.control.render&&this.control.render.input.setClipboardData(t),e.clipboardData=t},e.prototype.getClipboardData=function(t){this.control.render&&this.isPasteSupportedByBrowser()?this.control.render.input.getClipboardData(t):t(e.clipboardData)},e.prototype.isPasteSupportedByBrowser=function(){return this.control.render&&this.control.render.input.isPasteSupportedByBrowser()},e}(n(9741).SimpleCommandBase);e.ClipboardCommand=r},5827:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.CopySelectionCommand=void 0;var r=n(5885),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isEnabled=function(){return t.prototype.isEnabled.call(this)&&!this.control.selection.isEmpty(!0)},e.prototype.isEnabledInReadOnlyMode=function(){return!0},e.prototype.executeCore=function(t){var e=(new r.Exporter).exportItems(this.control.selection.getSelectedItems(!0,!0));return this.setClipboardData(e),!0},e}(n(4982).ClipboardCommand);e.CopySelectionCommand=s},2664:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.CutSelectionCommand=void 0;var r=n(5885),s=n(4867),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isEnabled=function(){var e=this.control.selection.getSelectedItems();return t.prototype.isEnabled.call(this)&&e.length&&(e.length>1||this.permissionsProvider.canDeleteItems(e))},e.prototype.executeCore=function(t){var e=new r.Exporter,n=this.control.selection.getSelectedItems(!0,!0),o=e.exportItems(n);return this.permissionsProvider.beginDeleteItems(n),this.setClipboardData(o),s.ModelUtils.deleteSelection(this.control.history,this.control.model,this.control.selection),this.permissionsProvider.endDeleteItems(),!0},Object.defineProperty(e.prototype,\"isPermissionsRequired\",{get:function(){return!0},enumerable:!1,configurable:!0}),e}(n(4982).ClipboardCommand);e.CutSelectionCommand=a},4200:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.PasteSelectionCommand=void 0;var r=n(8900),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getEventPositionOffset=function(t,e){return new r.Point(0,0)},e}(n(7688).PasteSelectionCommandBase);e.PasteSelectionCommand=s},7688:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.PasteSelectionCommandBase=void 0;var r=n(4982),s=n(2406),a=n(5503),c=n(4383),u=n(7959),h=n(3849),p=n(4867),l=n(4297),d=n(8900),f=n(9291),y=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isEnabled=function(){return t.prototype.isEnabled.call(this)&&(this.isPasteSupportedByBrowser()||void 0!==r.ClipboardCommand.clipboardData)},e.prototype.isVisible=function(){return this.isPasteSupportedByBrowser()||void 0!==r.ClipboardCommand.clipboardData},e.prototype.parseClipboardData=function(t){var e;e=new s.Importer(this.control.shapeDescriptionManager,t).importItems(this.control.model);var n=this.getEventPositionOffset(e,this.control.contextMenuPosition);n=this.getCorrectedOffsetByModel(e,n);for(var o=0;o{Object.defineProperty(e,\"__esModule\",{value:!0}),e.CommandBase=void 0;var n=function(){function t(t){this.control=t}return t.prototype.execute=function(t){this.isPermissionsRequired&&this.permissionsProvider.lockPermissions();var e=this.getState();if(this.isPermissionsRequired&&this.permissionsProvider.unlockPermissions(),!e.enabled)return!1;this.control.beginUpdate();var n=!1;return n=this.isPermissionsRequired?this.executeWithPermissions(e,t):this.executeCore(e,t),this.control.endUpdate(),n&&this.updateControlState(),n},t.prototype.executeWithPermissions=function(t,e){var n=!1;return this.permissionsProvider.beginStorePermissions(),this.control.history.beginTransaction(),n=this.executeCore(t,e),this.permissionsProvider.isStoredPermissionsGranted()||(this.permissionsProvider.lockPermissions(),this.control.history.undoTransaction(),this.permissionsProvider.unlockPermissions(),n=!1),this.control.history.endTransaction(),this.permissionsProvider.endStorePermissions(),n},t.prototype.updateControlState=function(){this.lockInputPositionUpdating()||this.control.selection.inputPosition.reset(),this.lockUIUpdating()||this.control.barManager.updateItemsState()},Object.defineProperty(t.prototype,\"permissionsProvider\",{get:function(){return this.control&&this.control.permissionsProvider},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"isPermissionsRequired\",{get:function(){return!1},enumerable:!1,configurable:!0}),t.prototype.lockUIUpdating=function(){return!1},t.prototype.lockInputPositionUpdating=function(){return!1},t}();e.CommandBase=n},7156:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.CommandManager=e.DiagramCommand=void 0;var o,i=n(264),r=n(6679),s=n(3614),a=n(6596),c=n(4845),u=n(4378),h=n(7607),p=n(3411),l=n(7480),d=n(4077),f=n(6106),y=n(1649),g=n(3166),m=n(8700),v=n(2301),P=n(7306),C=n(2452),S=n(2153),x=n(375),b=n(4503),I=n(7550),w=n(7649),_=n(1813),T=n(3690),O=n(2276),M=n(1203),E=n(5827),D=n(2664),A=n(4200),R=n(1239),L=n(4624),N=n(3591),z=n(30),j=n(5925),U=n(4522),k=n(9538),B=n(125),H=n(7004),K=n(9427),V=n(9031),F=n(6049),W=n(4999),G=n(4419),Z=n(8016),q=n(72),X=n(6619),Y=n(7795),J=n(9970),Q=n(4281),$=n(437),tt=n(5830),et=n(9158),nt=n(962),ot=n(4643),it=n(4681),rt=n(2217),st=n(5010),at=n(554),ct=n(7826),ut=n(7717);!function(t){t[t.Undo=0]=\"Undo\",t[t.Redo=1]=\"Redo\",t[t.Cut=2]=\"Cut\",t[t.Copy=3]=\"Copy\",t[t.Paste=4]=\"Paste\",t[t.PasteInPosition=5]=\"PasteInPosition\",t[t.SelectAll=6]=\"SelectAll\",t[t.Delete=7]=\"Delete\",t[t.Import=8]=\"Import\",t[t.ImportBPMN=9]=\"ImportBPMN\",t[t.Export=10]=\"Export\",t[t.ExportSvg=11]=\"ExportSvg\",t[t.ExportPng=12]=\"ExportPng\",t[t.ExportJpg=13]=\"ExportJpg\",t[t.BindDocument=14]=\"BindDocument\",t[t.UnbindDocument=15]=\"UnbindDocument\",t[t.Bold=16]=\"Bold\",t[t.Italic=17]=\"Italic\",t[t.Underline=18]=\"Underline\",t[t.FontName=19]=\"FontName\",t[t.FontSize=20]=\"FontSize\",t[t.FontColor=21]=\"FontColor\",t[t.FillColor=22]=\"FillColor\",t[t.StrokeColor=23]=\"StrokeColor\",t[t.TextLeftAlign=24]=\"TextLeftAlign\",t[t.TextCenterAlign=25]=\"TextCenterAlign\",t[t.TextRightAlign=26]=\"TextRightAlign\",t[t.ConnectorLineOption=27]=\"ConnectorLineOption\",t[t.ConnectorStartLineEnding=28]=\"ConnectorStartLineEnding\",t[t.ConnectorEndLineEnding=29]=\"ConnectorEndLineEnding\",t[t.BringToFront=30]=\"BringToFront\",t[t.SendToBack=31]=\"SendToBack\",t[t.MoveLeft=32]=\"MoveLeft\",t[t.MoveStepLeft=33]=\"MoveStepLeft\",t[t.MoveRight=34]=\"MoveRight\",t[t.MoveStepRight=35]=\"MoveStepRight\",t[t.MoveUp=36]=\"MoveUp\",t[t.MoveStepUp=37]=\"MoveStepUp\",t[t.MoveDown=38]=\"MoveDown\",t[t.MoveStepDown=39]=\"MoveStepDown\",t[t.CloneLeft=40]=\"CloneLeft\",t[t.CloneRight=41]=\"CloneRight\",t[t.CloneUp=42]=\"CloneUp\",t[t.CloneDown=43]=\"CloneDown\",t[t.AutoLayoutTree=44]=\"AutoLayoutTree\",t[t.AutoLayoutFlow=45]=\"AutoLayoutFlow\",t[t.AutoLayoutTreeVertical=46]=\"AutoLayoutTreeVertical\",t[t.AutoLayoutTreeHorizontal=47]=\"AutoLayoutTreeHorizontal\",t[t.AutoLayoutLayeredVertical=48]=\"AutoLayoutLayeredVertical\",t[t.AutoLayoutLayeredHorizontal=49]=\"AutoLayoutLayeredHorizontal\",t[t.Lock=50]=\"Lock\",t[t.Unlock=51]=\"Unlock\",t[t.Units=52]=\"Units\",t[t.ViewUnits=53]=\"ViewUnits\",t[t.PageSize=54]=\"PageSize\",t[t.PageLandscape=55]=\"PageLandscape\",t[t.PageColor=56]=\"PageColor\",t[t.GridSize=57]=\"GridSize\",t[t.ShowGrid=58]=\"ShowGrid\",t[t.SnapToGrid=59]=\"SnapToGrid\",t[t.ZoomLevel=60]=\"ZoomLevel\",t[t.Fullscreen=61]=\"Fullscreen\",t[t.ToggleSimpleView=62]=\"ToggleSimpleView\",t[t.ToggleReadOnly=63]=\"ToggleReadOnly\",t[t.EditShapeImage=64]=\"EditShapeImage\",t[t.FitToScreen=65]=\"FitToScreen\",t[t.SwitchAutoZoom=66]=\"SwitchAutoZoom\",t[t.ToggleAutoZoom=67]=\"ToggleAutoZoom\",t[t.FitToWidth=68]=\"FitToWidth\",t[t.ZoomLevelItems=69]=\"ZoomLevelItems\",t[t.GridSizeItems=70]=\"GridSizeItems\",t[t.PageSizeItems=71]=\"PageSizeItems\",t[t.ImportXML=72]=\"ImportXML\",t[t.InsertShapeImage=73]=\"InsertShapeImage\",t[t.DeleteShapeImage=74]=\"DeleteShapeImage\",t[t.StrokeStyle=75]=\"StrokeStyle\",t[t.StrokeWidth=76]=\"StrokeWidth\",t[t.AutoLayoutTreeVerticalBottomToTop=77]=\"AutoLayoutTreeVerticalBottomToTop\",t[t.AutoLayoutTreeHorizontalRightToLeft=78]=\"AutoLayoutTreeHorizontalRightToLeft\",t[t.AutoLayoutLayeredVerticalBottomToTop=79]=\"AutoLayoutLayeredVerticalBottomToTop\",t[t.AutoLayoutLayeredHorizontalRightToLeft=80]=\"AutoLayoutLayeredHorizontalRightToLeft\",t[t.Zoom25=81]=\"Zoom25\",t[t.Zoom50=82]=\"Zoom50\",t[t.Zoom75=83]=\"Zoom75\",t[t.Zoom100=84]=\"Zoom100\",t[t.Zoom125=85]=\"Zoom125\",t[t.Zoom150=86]=\"Zoom150\",t[t.Zoom200=87]=\"Zoom200\",t[t.AutoZoomToContent=88]=\"AutoZoomToContent\",t[t.AutoZoomToWidth=89]=\"AutoZoomToWidth\",t[t.ZoomLevelInPercentage=90]=\"ZoomLevelInPercentage\",t[t.ConnectorRoutingMode=91]=\"ConnectorRoutingMode\"}(o=e.DiagramCommand||(e.DiagramCommand={}));var ht=function(){function t(t){this.commands={},this.shortcutsToCommand={},this.lastCommandsChain=[],this.executingCommandsChain=[],this.executingCommandCounter=0,this.isPublicApiCall=!1,this.createCommand(t,o.Undo,r.UndoCommand,S.ModifierKey.Ctrl|S.KeyCode.Key_z,S.ModifierKey.Meta|S.KeyCode.Key_z),this.createCommand(t,o.Redo,s.RedoCommand,S.ModifierKey.Ctrl|S.KeyCode.Key_y,S.ModifierKey.Ctrl|S.ModifierKey.Shift|S.KeyCode.Key_z,S.ModifierKey.Meta|S.ModifierKey.Shift|S.KeyCode.Key_z),this.createCommand(t,o.Cut,D.CutSelectionCommand,S.KeyCode.Key_x|S.ModifierKey.Ctrl,S.KeyCode.Key_x|S.ModifierKey.Meta,S.KeyCode.Delete|S.ModifierKey.Shift),this.createCommand(t,o.Copy,E.CopySelectionCommand,S.KeyCode.Key_c|S.ModifierKey.Ctrl,S.KeyCode.Key_c|S.ModifierKey.Meta,S.KeyCode.Insert|S.ModifierKey.Ctrl),this.createCommand(t,o.Paste,A.PasteSelectionCommand),this.createCommand(t,o.PasteInPosition,$.PasteSelectionInPositionCommand),this.createCommand(t,o.SelectAll,C.SelectAllCommand,S.KeyCode.Key_a|S.ModifierKey.Ctrl,S.KeyCode.Key_a|S.ModifierKey.Meta),this.createCommand(t,o.Delete,i.DeleteCommand,S.KeyCode.Delete,S.KeyCode.Backspace),this.createCommand(t,o.Import,a.ImportCommand),this.createCommand(t,o.ImportBPMN,R.ImportBPMNCommand),this.createCommand(t,o.ImportXML,tt.ImportXMLCommand),this.createCommand(t,o.Export,c.ExportCommand),this.createCommand(t,o.ExportSvg,O.ExportSvgCommand),this.createCommand(t,o.ExportPng,T.ExportPngCommand),this.createCommand(t,o.ExportJpg,M.ExportJpgCommand),this.createCommand(t,o.BindDocument,k.BindDocumentCommand),this.createCommand(t,o.UnbindDocument,B.UnbindDocumentCommand),this.createCommand(t,o.Bold,u.ToggleFontBoldCommand,S.ModifierKey.Ctrl|S.KeyCode.Key_b,S.ModifierKey.Meta|S.KeyCode.Key_b),this.createCommand(t,o.Italic,h.ToggleFontItalicCommand,S.ModifierKey.Ctrl|S.KeyCode.Key_i,S.ModifierKey.Meta|S.KeyCode.Key_i),this.createCommand(t,o.Underline,p.ToggleFontUnderlineCommand,S.ModifierKey.Ctrl|S.KeyCode.Key_u,S.ModifierKey.Meta|S.KeyCode.Key_u),this.createCommand(t,o.FontName,l.ChangeFontNameCommand),this.createCommand(t,o.FontSize,d.ChangeFontSizeCommand),this.createCommand(t,o.FontColor,f.ChangeFontColorCommand),this.createCommand(t,o.FillColor,y.ChangeFillColorCommand),this.createCommand(t,o.StrokeColor,g.ChangeStrokeColorCommand),this.createCommand(t,o.StrokeStyle,ot.ChangeStrokeStyleCommand),this.createCommand(t,o.StrokeWidth,it.ChangeStrokeWidthCommand),this.createCommand(t,o.TextLeftAlign,m.TextLeftAlignCommand),this.createCommand(t,o.TextCenterAlign,m.TextCenterAlignCommand),this.createCommand(t,o.TextRightAlign,m.TextRightAlignCommand),this.createCommand(t,o.ConnectorLineOption,P.ChangeConnectorLineOptionCommand),this.createCommand(t,o.ConnectorStartLineEnding,v.ChangeConnectorStartLineEndingCommand),this.createCommand(t,o.ConnectorEndLineEnding,v.ChangeConnectorEndLineEndingCommand),this.createCommand(t,o.BringToFront,N.BringToFrontCommand),this.createCommand(t,o.SendToBack,L.SendToBackCommand),this.createCommand(t,o.MoveLeft,j.MoveLeftCommand,S.ModifierKey.Ctrl|S.KeyCode.Left,S.ModifierKey.Ctrl|S.ModifierKey.Shift|S.KeyCode.Left),this.createCommand(t,o.MoveRight,j.MoveRightCommand,S.ModifierKey.Ctrl|S.KeyCode.Right,S.ModifierKey.Ctrl|S.ModifierKey.Shift|S.KeyCode.Right),this.createCommand(t,o.MoveUp,j.MoveUpCommand,S.ModifierKey.Ctrl|S.KeyCode.Up,S.ModifierKey.Ctrl|S.ModifierKey.Shift|S.KeyCode.Up),this.createCommand(t,o.MoveDown,j.MoveDownCommand,S.ModifierKey.Ctrl|S.KeyCode.Down,S.ModifierKey.Ctrl|S.ModifierKey.Shift|S.KeyCode.Down),this.createCommand(t,o.MoveStepLeft,j.MoveStepLeftCommand,S.KeyCode.Left,S.ModifierKey.Shift|S.KeyCode.Left),this.createCommand(t,o.MoveStepRight,j.MoveStepRightCommand,S.KeyCode.Right,S.ModifierKey.Shift|S.KeyCode.Right),this.createCommand(t,o.MoveStepUp,j.MoveStepUpCommand,S.KeyCode.Up,S.ModifierKey.Shift|S.KeyCode.Up),this.createCommand(t,o.MoveStepDown,j.MoveStepDownCommand,S.KeyCode.Down,S.ModifierKey.Shift|S.KeyCode.Down),this.createCommand(t,o.CloneLeft,W.CloneLeftCommand,S.ModifierKey.Alt|S.KeyCode.Left,S.ModifierKey.Alt|S.ModifierKey.Shift|S.KeyCode.Left),this.createCommand(t,o.CloneRight,W.CloneRightCommand,S.ModifierKey.Alt|S.KeyCode.Right,S.ModifierKey.Alt|S.ModifierKey.Shift|S.KeyCode.Right),this.createCommand(t,o.CloneUp,W.CloneUpCommand,S.ModifierKey.Alt|S.KeyCode.Up,S.ModifierKey.Alt|S.ModifierKey.Shift|S.KeyCode.Up),this.createCommand(t,o.CloneDown,W.CloneDownCommand,S.ModifierKey.Alt|S.KeyCode.Down,S.ModifierKey.Alt|S.ModifierKey.Shift|S.KeyCode.Down),this.createCommand(t,o.Lock,V.LockCommand),this.createCommand(t,o.Unlock,F.UnLockCommand),this.createCommand(t,o.AutoLayoutTree,x.AutoLayoutTreeVerticalCommand),this.createCommand(t,o.AutoLayoutFlow,z.AutoLayoutLayeredHorizontalCommand),this.createCommand(t,o.Units,G.ChangeUnitsCommand),this.createCommand(t,o.ViewUnits,G.ChangeViewUnitsCommand),this.createCommand(t,o.PageSize,_.ChangePageSizeCommand),this.createCommand(t,o.PageLandscape,w.ChangePageLandscapeCommand),this.createCommand(t,o.PageColor,Z.ChangePageColorCommand),this.createCommand(t,o.GridSize,I.ChangeGridSizeCommand),this.createCommand(t,o.ShowGrid,q.ChangeShowGridCommand),this.createCommand(t,o.SnapToGrid,b.ChangeSnapToGridCommand),this.createCommand(t,o.ZoomLevel,U.ChangeZoomLevelCommand),this.createCommand(t,o.ZoomLevelInPercentage,U.ChangeZoomLevelInPercentageCommand),this.createCommand(t,o.AutoLayoutTreeVertical,x.AutoLayoutTreeVerticalCommand),this.createCommand(t,o.AutoLayoutTreeVerticalBottomToTop,rt.AutoLayoutTreeVerticalBottomToTopCommand),this.createCommand(t,o.AutoLayoutTreeHorizontal,H.AutoLayoutTreeHorizontalCommand),this.createCommand(t,o.AutoLayoutTreeHorizontalRightToLeft,st.AutoLayoutTreeHorizontalRightToLeftCommand),this.createCommand(t,o.AutoLayoutLayeredVertical,K.AutoLayoutLayeredVerticalCommand),this.createCommand(t,o.AutoLayoutLayeredVerticalBottomToTop,at.AutoLayoutLayeredVerticalBottomToTopCommand),this.createCommand(t,o.AutoLayoutLayeredHorizontal,z.AutoLayoutLayeredHorizontalCommand),this.createCommand(t,o.AutoLayoutLayeredHorizontalRightToLeft,ct.AutoLayoutLayeredHorizontalRightToLeftCommand),this.createCommand(t,o.Fullscreen,X.ToggleFullscreenCommand,S.KeyCode.F11),this.createCommand(t,o.ToggleSimpleView,Y.ToggleSimpleViewCommand),this.createCommand(t,o.ToggleReadOnly,J.ToggleReadOnlyCommand),this.createCommand(t,o.InsertShapeImage,et.InsertShapeImageCommand),this.createCommand(t,o.EditShapeImage,Q.EditShapeImageCommand),this.createCommand(t,o.DeleteShapeImage,nt.DeleteShapeImageCommand),this.createCommand(t,o.FitToScreen,U.FitToScreenCommand),this.createCommand(t,o.FitToWidth,U.FitToWidthCommand),this.createCommand(t,o.SwitchAutoZoom,U.SwitchAutoZoomCommand),this.createCommand(t,o.ToggleAutoZoom,U.ToggleAutoZoomCommand),this.createCommand(t,o.ZoomLevelItems,U.ChangeZoomLevelItemsCommand),this.createCommand(t,o.GridSizeItems,I.ChangeGridSizeItemsCommand),this.createCommand(t,o.PageSizeItems,_.ChangePageSizeItemsCommand),this.createCommand(t,o.Zoom25,U.ChangeZoomLevelTo25Command),this.createCommand(t,o.Zoom50,U.ChangeZoomLevelTo50Command),this.createCommand(t,o.Zoom75,U.ChangeZoomLevelTo75Command),this.createCommand(t,o.Zoom100,U.ChangeZoomLevelTo100Command),this.createCommand(t,o.Zoom125,U.ChangeZoomLevelTo125Command),this.createCommand(t,o.Zoom150,U.ChangeZoomLevelTo150Command),this.createCommand(t,o.Zoom200,U.ChangeZoomLevelTo200Command),this.createCommand(t,o.AutoZoomToContent,U.ToggleAutoZoomToContentCommand),this.createCommand(t,o.AutoZoomToWidth,U.ToggleAutoZoomToWidthCommand),this.createCommand(t,o.ConnectorRoutingMode,ut.ChangeConnectorRoutingModeCommand)}return t.prototype.getCommand=function(t){return this.commands[t]},t.prototype.beforeExecuting=function(t){this.executingCommandsChain.push(t),this.executingCommandCounter++},t.prototype.afterExecuting=function(){this.executingCommandCounter--,0===this.executingCommandCounter&&(this.lastCommandsChain=this.executingCommandsChain,this.executingCommandsChain=[])},t.prototype.processShortcut=function(t){var e=this.shortcutsToCommand[t];return!!e&&e.execute()},t.prototype.processPaste=function(t){var e=this.getCommand(o.Paste);return e&&e.isEnabled()&&e.execute(t),!0},t.prototype.notifySelectionChanged=function(t){this.lastCommandsChain=[]},t.prototype.notifyScrollPositionChanged=function(){},t.prototype.createCommand=function(t,e,n){for(var o=[],i=3;i{Object.defineProperty(e,\"__esModule\",{value:!0}),e.SimpleCommandState=void 0;var n=function(t,e,n,o,i){this.visible=!0,this.denyUpdateValue=!1,this.enabled=t,this.value=e,this.items=o,this.visible=i,this.defaultValue=n};e.SimpleCommandState=n},264:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.DeleteCommand=void 0;var r=n(4867),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isEnabled=function(){var e=this.control.selection.getSelectedItems();return t.prototype.isEnabled.call(this)&&e.length&&(e.length>1||this.permissionsProvider.canDeleteItems(e))},e.prototype.executeCore=function(t){var e=this.control.selection.getSelectedItems(!0,!0);return this.permissionsProvider.beginDeleteItems(e),r.ModelUtils.deleteSelection(this.control.history,this.control.model,this.control.selection),this.permissionsProvider.endDeleteItems(),!0},Object.defineProperty(e.prototype,\"isPermissionsRequired\",{get:function(){return!0},enumerable:!1,configurable:!0}),e}(n(9741).SimpleCommandBase);e.DeleteCommand=s},3614:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.RedoCommand=void 0;var r=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.executeCore=function(t){return this.control.beginUpdateCanvas(),this.permissionsProvider.lockPermissions(),this.control.history.redo(),this.permissionsProvider.unlockPermissions(),this.control.endUpdateCanvas(),!0},e.prototype.isEnabled=function(){return t.prototype.isEnabled.call(this)&&this.control.history.canRedo()},e}(n(9741).SimpleCommandBase);e.RedoCommand=r},2452:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.SelectAllCommand=void 0;var r=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isEnabledInReadOnlyMode=function(){return!0},e.prototype.executeCore=function(t,e){var n=[];return this.control.model.iterateItems((function(t){return n.push(t.key)})),this.control.selection.set(n),!0},e}(n(9741).SimpleCommandBase);e.SelectAllCommand=r},6679:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.UndoCommand=void 0;var r=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.executeCore=function(t){return this.control.beginUpdateCanvas(),this.permissionsProvider.lockPermissions(),this.control.history.undo(),this.permissionsProvider.unlockPermissions(),this.control.endUpdateCanvas(),!0},e.prototype.isEnabled=function(){return t.prototype.isEnabled.call(this)&&this.control.history.canUndo()},e}(n(9741).SimpleCommandBase);e.UndoCommand=r},9538:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.BindDocumentCommand=void 0;var r=n(3503),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isEnabledInReadOnlyMode=function(){return!0},e.prototype.executeCore=function(t,e){if(!e||!Array.isArray(e.nodeDataSource))throw Error(\"Format exception\");return this.performImportData(e),this.control.updateLayout(!0),!0},e.prototype.performImportData=function(t){var e=this.control.createDocumentDataSource(t.nodeDataSource,t.edgeDataSource,t.dataParameters,t.nodeDataImporter,t.edgeDataImporter);this.control.beginUpdateCanvas(),this.permissionsProvider.lockPermissions();var n=new r.DataLayoutParameters(this.control.settings,t.layoutParameters);e.createModelItems(this.control.history,this.control.model,this.control.shapeDescriptionManager,this.control.selection,n,this.control.settings.snapToGrid,this.control.settings.gridSize,this.control.measurer),this.permissionsProvider.unlockPermissions(),this.control.endUpdateCanvas()},e}(n(9741).SimpleCommandBase);e.BindDocumentCommand=s},125:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.UnbindDocumentCommand=void 0;var r=n(4867),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isEnabledInReadOnlyMode=function(){return!0},e.prototype.executeCore=function(t){return this.permissionsProvider.lockPermissions(),this.control.deleteDocumentDataSource(),r.ModelUtils.deleteAllItems(this.control.history,this.control.model,this.control.selection),this.control.history.clear(),this.permissionsProvider.unlockPermissions(),!0},e}(n(9741).SimpleCommandBase);e.UnbindDocumentCommand=s},4845:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ExportCommand=void 0;var r=n(5885),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.executeCore=function(t,e){return e((new r.Exporter).export(this.control.model)),!0},e}(n(1081).ExportImportCommandBase);e.ExportCommand=s},4012:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ExportImageCommand=void 0;var r=n(8693),s=n(3872),a=n(1081),c=n(5885),u=n(1114),h=n(1733),p=n(6078),l=n(7176),d=function(t){function e(e){var n=t.call(this,e)||this;return n.exporter=new c.Exporter,n}return i(e,t),e.prototype.isEnabled=function(){return!l.ImageCache.instance.hasNonLoadedImages()},e.prototype.executeCore=function(t,e){var n=this;try{var o=this.getExportManager();this.getExportFunc()(this.control.model.size.clone(),this.control.model.pageColor,o,(function(t){e(t,n.getExtension()),n.tryDispose()}),this.control.settings.useCanvgForExportToImage)}catch(t){throw this.tryDispose(),t}return!0},e.prototype.getExportManager=function(){var t=this.getOrCreateMeasurer(),e=this.control.render&&this.control.render.items||this.createItemsManager(t);return this.exportManager||(this.exportManager=new s.CanvasExportManager(e.itemsContainer,t,this.control.instanceId))},e.prototype.createItemsManager=function(t){this.svgElement=u.RenderHelper.createSvgElement(document.body,!0);var e=new r.CanvasItemsManager(this.svgElement,1,new p.ExportDOMManipulator(t),this.control.instanceId);return this.control.modelManipulator.onModelChanged.add(e),this.control.modelManipulator.commitItemsCreateChanges(),e},e.prototype.tryDispose=function(){this.svgElement&&(document.body.removeChild(this.svgElement),delete this.svgElement),this.tempMeasurer&&(this.tempMeasurer.clean(),this.tempMeasurer=void 0),this.exportManager=void 0},e.prototype.getOrCreateMeasurer=function(){return this.control.measurer||(this.tempMeasurer=new h.TextMeasurer(document.body))},e}(a.ExportImportCommandBase);e.ExportImageCommand=d},1081:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ExportImportCommandBase=void 0;var r=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isEnabledInReadOnlyMode=function(){return!0},e}(n(9741).SimpleCommandBase);e.ExportImportCommandBase=r},1203:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ExportJpgCommand=void 0;var r=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getExtension=function(){return\"jpg\"},e.prototype.getExportFunc=function(){return this.exporter.exportJpg},e}(n(4012).ExportImageCommand);e.ExportJpgCommand=r},3690:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ExportPngCommand=void 0;var r=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getExtension=function(){return\"png\"},e.prototype.getExportFunc=function(){return this.exporter.exportPng},e}(n(4012).ExportImageCommand);e.ExportPngCommand=r},2276:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ExportSvgCommand=void 0;var r=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getExtension=function(){return\"svg\"},e.prototype.getExportFunc=function(){return this.exporter.exportSvg},e}(n(4012).ExportImageCommand);e.ExportSvgCommand=r},1239:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ImportBPMNCommand=void 0;var r=n(5941),s=n(4867),a=n(4145),c=n(8900),u=n(7959),h=n(9603),p=n(3477),l=n(1256),d=n(8710),f=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.executeCore=function(t,e){var n=new r.BPMNImporter(e).import();return this.updateModel(n),!0},e.prototype.updateModel=function(t){var e=this,n={},o=[],i=[];this.control.history.beginTransaction(),t.items.forEach((function(t){var i=new a.AddShapeHistoryItem(e.getShapeDescription(t.type),new c.Point(0,0),t.text,t.key);e.control.history.addAndRedo(i),n[t.key]=i.shapeKey;var r=e.control.model.findShape(i.shapeKey);o.push(r)})),t.edges.forEach((function(t){var o=e.control.model.findShape(n[t.from]),r=e.control.model.findShape(n[t.to]),s=new h.AddConnectorHistoryItem([o.getConnectionPointPosition(0),r.getConnectionPointPosition(0)]);e.control.history.addAndRedo(s);var a=e.control.model.findConnector(s.connectorKey);e.control.history.addAndRedo(new p.AddConnectionHistoryItem(a,o,0,u.ConnectorPosition.Begin)),e.control.history.addAndRedo(new p.AddConnectionHistoryItem(a,r,0,u.ConnectorPosition.End)),i.push(a)}));var r=new d.LayoutSettings;s.ModelUtils.getGraphInfoByItems(this.control.model,o,i).forEach((function(t){var n=new l.SugiyamaLayoutBuilder(r,t.graph).build(),a=s.ModelUtils.getNonGraphItems(e.control.model,t.container,n.nodeToLayout,o,i);s.ModelUtils.applyLayout(e.control.history,e.control.model,void 0,t.graph,n,a,r,e.control.settings.snapToGrid,e.control.settings.gridSize,!1)})),s.ModelUtils.tryUpdateModelRectangle(this.control.history),this.control.history.endTransaction()},e.prototype.getShapeDescription=function(t){return this.control.shapeDescriptionManager.get(t)},e}(n(1081).ExportImportCommandBase);e.ImportBPMNCommand=f},6596:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ImportCommand=void 0;var r=n(2406),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.executeCore=function(t,e){this.permissionsProvider.lockPermissions();var n=e.data?e.data:e,o=new r.Importer(this.control.shapeDescriptionManager,n);if(!0===e.keepExistingItems)o.importItemsData(this.control.model),this.control.importItemsData();else{var i=o.import();this.control.importModel(i)}return this.permissionsProvider.unlockPermissions(),!0},e}(n(1081).ExportImportCommandBase);e.ImportCommand=s},5830:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ImportXMLCommand=void 0;var r=n(780),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.executeCore=function(t,e){var n=new r.XmlImporter(this.control.shapeDescriptionManager,e).import();return this.control.importModel(n),!0},e}(n(1081).ExportImportCommandBase);e.ImportXMLCommand=s},4999:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.CloneDownCommand=e.CloneUpCommand=e.CloneRightCommand=e.CloneLeftCommand=e.CloneCommand=void 0;var r=n(4867),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isEnabled=function(){var e=this.control.selection.getSelectedItems();return t.prototype.isEnabled.call(this)&&e.length&&e.length>0&&this.permissionsProvider.canAddItems(e)},e.prototype.executeCore=function(t,e){var n=r.ModelUtils.createRectangle(this.control.selection.getSelectedItems());return r.ModelUtils.cloneSelectionToOffset(this.control.history,this.control.model,void 0,this.control.selection,this.getOffsetX(n),this.getOffsetY(n)),!0},Object.defineProperty(e.prototype,\"isPermissionsRequired\",{get:function(){return!0},enumerable:!1,configurable:!0}),e.prototype.getOffsetX=function(t){return 0},e.prototype.getOffsetY=function(t){return 0},e}(n(9741).SimpleCommandBase);e.CloneCommand=s;var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getOffsetX=function(t){return-t.width},e}(s);e.CloneLeftCommand=a;var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getOffsetX=function(t){return t.width},e}(s);e.CloneRightCommand=c;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getOffsetY=function(t){return-t.height},e}(s);e.CloneUpCommand=u;var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getOffsetY=function(t){return t.height},e}(s);e.CloneDownCommand=h},5925:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.MoveStepDownCommand=e.MoveDownCommand=e.MoveStepUpCommand=e.MoveUpCommand=e.MoveStepRightCommand=e.MoveRightCommand=e.MoveStepLeftCommand=e.MoveLeftCommand=e.MoveCommand=void 0;var r=n(8900),s=n(4867),a=n(9291),c=n(9741),u=n(3607),h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isEnabled=function(){return t.prototype.isEnabled.call(this)&&!this.control.selection.isEmpty()},e.prototype.executeCore=function(t,e){var n=this;this.control.history.beginTransaction();var o=this.control.selection,i=o.getSelectedShapes();i.filter((function(t){for(;t.container;){if(-1!==i.indexOf(t.container))return!1;t=t.container}return!0})).forEach((function(t){n.permissionsProvider.addInteractingItem(t,u.DiagramModelOperation.MoveShape);var e=n.getPosition(t.position);s.ModelUtils.setShapePosition(n.control.history,n.control.model,t,e),s.ModelUtils.updateShapeAttachedConnectors(n.control.history,n.control.model,t),n.permissionsProvider.clearInteractingItems()}));var r=s.ModelUtils.createSelectedItems(o);return o.getSelectedConnectors().forEach((function(t){if(s.ModelUtils.canMoveConnector(r,t))for(var e=t.beginItem?1:0,o=t.endItem?t.points.length-2:t.points.length-1,i=e;i<=o;i++){var a=n.getPosition(t.points[i]);s.ModelUtils.moveConnectorPoint(n.control.history,t,i,a)}})),s.ModelUtils.tryUpdateModelRectangle(this.control.history),this.control.history.endTransaction(),!0},Object.defineProperty(e.prototype,\"isPermissionsRequired\",{get:function(){return!0},enumerable:!1,configurable:!0}),e}(c.SimpleCommandBase);e.MoveCommand=h;var p=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getPosition=function(t){return t.clone().offset(-a.UnitConverter.pixelsToTwips(1),0)},e}(h);e.MoveLeftCommand=p;var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getPosition=function(t){return this.control.settings.snapToGrid?new r.Point(s.ModelUtils.getSnappedPos(this.control.model,this.control.settings.gridSize,t.x-(this.control.settings.gridSize/2+2),!0),t.y):t.clone().offset(-this.control.settings.gridSize,0)},e}(h);e.MoveStepLeftCommand=l;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getPosition=function(t){return t.clone().offset(a.UnitConverter.pixelsToTwips(1),0)},e}(h);e.MoveRightCommand=d;var f=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getPosition=function(t){return this.control.settings.snapToGrid?new r.Point(s.ModelUtils.getSnappedPos(this.control.model,this.control.settings.gridSize,t.x+(this.control.settings.gridSize/2+2),!0),t.y):t.clone().offset(this.control.settings.gridSize,0)},e}(h);e.MoveStepRightCommand=f;var y=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getPosition=function(t){return t.clone().offset(0,-a.UnitConverter.pixelsToTwips(1))},e}(h);e.MoveUpCommand=y;var g=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getPosition=function(t){return this.control.settings.snapToGrid?new r.Point(t.x,s.ModelUtils.getSnappedPos(this.control.model,this.control.settings.gridSize,t.y-(this.control.settings.gridSize/2+2),!1)):t.clone().offset(0,-this.control.settings.gridSize)},e}(h);e.MoveStepUpCommand=g;var m=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getPosition=function(t){return t.clone().offset(0,a.UnitConverter.pixelsToTwips(1))},e}(h);e.MoveDownCommand=m;var v=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getPosition=function(t){return this.control.settings.snapToGrid?new r.Point(t.x,s.ModelUtils.getSnappedPos(this.control.model,this.control.settings.gridSize,t.y+(this.control.settings.gridSize/2+2),!1)):t.clone().offset(0,this.control.settings.gridSize)},e}(h);e.MoveStepDownCommand=v},7550:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ChangeGridSizeItemsCommand=e.ChangeGridSizeCommand=void 0;var r=n(9741),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isEnabledInReadOnlyMode=function(){return!0},e.prototype.getValue=function(){return this.getModelUnit(this.control.settings.gridSize)},e.prototype.executeCore=function(t,e){return this.control.settings.gridSize=this.getModelUnitTwipsValue(e),!0},e.prototype.getItems=function(){var t=this;return this.control.settings.gridSizeItems.map((function(e){return{value:t.getModelUnit(e),text:t.getViewUnitText(e)}}))},e}(r.SimpleCommandBase);e.ChangeGridSizeCommand=s;var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isEnabledInReadOnlyMode=function(){return!0},e.prototype.getValue=function(){var t=this;return this.control.settings.gridSizeItems.map((function(e){return t.getModelUnit(e)}))},e.prototype.executeCore=function(t,e){var n=this;return this.control.settings.gridSizeItems=e.map((function(t){return n.getModelUnitTwipsValue(t)})),!0},e}(r.SimpleCommandBase);e.ChangeGridSizeItemsCommand=a},8016:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ChangePageColorCommand=void 0;var r=n(3499),s=n(7195),a=n(6613),c=n(13),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getValue=function(){return c.ColorUtils.colorToHash(this.control.model.pageColor)},e.prototype.getDefaultValue=function(){return c.ColorUtils.colorToHash(a.DiagramModel.defaultPageColor)},e.prototype.createHistoryItems=function(t){return[new s.ChangePageColorHistoryItem(c.ColorUtils.fromString(t))]},e}(r.ChangePagePropertyCommand);e.ChangePageColorCommand=u},7649:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ChangePageLandscapeCommand=void 0;var r=n(3499),s=n(1380),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getValue=function(){return this.control.model.pageLandscape},e.prototype.createHistoryItems=function(t){return[new s.ChangePageLandscapeHistoryItem(t)]},e}(r.ChangePagePropertyCommand);e.ChangePageLandscapeCommand=a},3499:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ChangePagePropertyCommand=void 0;var r=n(4867),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.executeCore=function(t,e){var n=this;return this.control.history.beginTransaction(),this.createHistoryItems(e).forEach((function(t){n.control.history.addAndRedo(t)})),r.ModelUtils.tryUpdateModelRectangle(this.control.history),this.control.history.endTransaction(),!0},e.prototype.getItems=function(){return null},e}(n(9741).SimpleCommandBase);e.ChangePagePropertyCommand=s},1813:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ChangePageSizeItemsCommand=e.ChangePageSizeCommand=void 0;var r=n(3499),s=n(6353),a=n(1044),c=n(9741),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getValue=function(){return this.getModelUnitSize(this.control.model.pageSize)},e.prototype.createHistoryItems=function(t){return[new a.ChangePageSizeHistoryItem(new s.Size(this.getModelUnitTwipsValue(t.width),this.getModelUnitTwipsValue(t.height)))]},e.prototype.getItems=function(){var t=this;return this.control.settings.pageSizeItems.map((function(e){return{value:t.getModelUnitSize(e.size),text:e.text.replace(\"{width}\",t.getViewUnitText(e.size.width)).replace(\"{height}\",t.getViewUnitText(e.size.height))}}))},e.prototype.getModelUnitSize=function(t){return new s.Size(this.getModelUnit(t.width),this.getModelUnit(t.height))},e}(r.ChangePagePropertyCommand);e.ChangePageSizeCommand=u;var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isEnabled=function(){return!0},e.prototype.getValue=function(){var t=this;return this.control.settings.pageSizeItems.map((function(e){return{size:new s.Size(t.getModelUnit(e.width),t.getModelUnit(e.height)),text:e.text}}))},e.prototype.executeCore=function(t,e){var n=this;return this.control.settings.pageSizeItems=e.map((function(t){return{size:new s.Size(n.getModelUnitTwipsValue(t.width),n.getModelUnitTwipsValue(t.height)),text:t.text}})),!0},e}(c.SimpleCommandBase);e.ChangePageSizeItemsCommand=h},72:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ChangeShowGridCommand=void 0;var r=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isEnabledInReadOnlyMode=function(){return!0},e.prototype.executeCore=function(t,e){var n=void 0===e?!this.control.settings.showGrid:!!e;return this.control.settings.showGrid!==n&&(this.control.settings.showGrid=n,!0)},e.prototype.getValue=function(){return this.control.settings.showGrid},e}(n(9741).SimpleCommandBase);e.ChangeShowGridCommand=r},4503:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ChangeSnapToGridCommand=void 0;var r=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.executeCore=function(t,e){var n=void 0===e?!this.control.settings.snapToGrid:!!e;return this.control.settings.snapToGrid!==n&&(this.control.settings.snapToGrid=n,!0)},e.prototype.getValue=function(){return this.control.settings.snapToGrid},e}(n(9741).SimpleCommandBase);e.ChangeSnapToGridCommand=r},4419:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ChangeViewUnitsCommand=e.ChangeUnitsCommand=void 0;var r=n(3499),s=n(7479),a=n(9741),c=n(6224),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isEnabledInReadOnlyMode=function(){return!0},e.prototype.getValue=function(){return this.control.model.units},e.prototype.createHistoryItems=function(t){return[new s.ChangeUnitsHistoryItem(t)]},e.prototype.getItems=function(){return Object.keys(c.DiagramLocalizationService.unitItems).map((function(t){return{value:parseInt(t),text:c.DiagramLocalizationService.unitItems[t]}}))},e}(r.ChangePagePropertyCommand);e.ChangeUnitsCommand=u;var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isEnabledInReadOnlyMode=function(){return!0},e.prototype.getValue=function(){return this.control.settings.viewUnits},e.prototype.executeCore=function(t,e){return this.control.settings.viewUnits=e,!0},e.prototype.getItems=function(){return Object.keys(c.DiagramLocalizationService.unitItems).map((function(t){return{value:parseInt(t),text:c.DiagramLocalizationService.unitItems[t]}}))},e}(a.SimpleCommandBase);e.ChangeViewUnitsCommand=h},4522:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ToggleAutoZoomCommand=e.ToggleAutoZoomToWidthCommand=e.ToggleAutoZoomToContentCommand=e.SwitchAutoZoomCommand=e.FitToWidthCommand=e.FitToScreenCommand=e.ChangeZoomLevelItemsCommand=e.ChangeZoomLevelTo200Command=e.ChangeZoomLevelTo150Command=e.ChangeZoomLevelTo125Command=e.ChangeZoomLevelTo100Command=e.ChangeZoomLevelTo75Command=e.ChangeZoomLevelTo50Command=e.ChangeZoomLevelTo25Command=e.ChangeZoomLevelInPercentageCommand=e.ChangeZoomLevelCommand=void 0;var r=n(9741),s=n(240),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isEnabledInReadOnlyMode=function(){return!0},e.prototype.getValue=function(){return this.control.view.getZoom()},e.prototype.executeCore=function(t,e){return this.control.settings.zoomLevel=e,this.control.settings.autoZoom=s.AutoZoomMode.Disabled,this.control.updateLayout(!0),!0},e.prototype.getItems=function(){return this.control.settings.zoomLevelItems.map((function(t){return{value:t,text:100*t+\"%\"}}))},e}(r.SimpleCommandBase);e.ChangeZoomLevelCommand=a;var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.executeCore=function(e,n){return t.prototype.executeCore.call(this,e,n/100)},e.prototype.getValue=function(){return 100*this.control.view.getZoom()},e}(a);e.ChangeZoomLevelInPercentageCommand=c;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getValue=function(){return this.control.view.getZoom()===this.exactValue},e.prototype.executeCore=function(e,n){return t.prototype.executeCore.call(this,e,this.exactValue),!0},e.prototype.getItems=function(){},e}(a),h=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.exactValue=.25,e}return i(e,t),e}(u);e.ChangeZoomLevelTo25Command=h;var p=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.exactValue=.5,e}return i(e,t),e}(u);e.ChangeZoomLevelTo50Command=p;var l=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.exactValue=.75,e}return i(e,t),e}(u);e.ChangeZoomLevelTo75Command=l;var d=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.exactValue=1,e}return i(e,t),e}(u);e.ChangeZoomLevelTo100Command=d;var f=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.exactValue=1.25,e}return i(e,t),e}(u);e.ChangeZoomLevelTo125Command=f;var y=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.exactValue=1.5,e}return i(e,t),e}(u);e.ChangeZoomLevelTo150Command=y;var g=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.exactValue=2,e}return i(e,t),e}(u);e.ChangeZoomLevelTo200Command=g;var m=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isEnabledInReadOnlyMode=function(){return!0},e.prototype.getValue=function(){return this.control.settings.zoomLevelItems},e.prototype.executeCore=function(t,e){return this.control.settings.zoomLevelItems=e,!0},e}(r.SimpleCommandBase);e.ChangeZoomLevelItemsCommand=m;var v=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isEnabled=function(){return t.prototype.isEnabled.call(this)&&!!this.control.render},e.prototype.isEnabledInReadOnlyMode=function(){return!0},e.prototype.executeCore=function(t){var e=this.getZoomLevel();return this.control.settings.zoomLevel=e,this.control.settings.autoZoom=s.AutoZoomMode.Disabled,this.control.updateLayout(!0),!0},e}(r.SimpleCommandBase),P=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getZoomLevel=function(){return this.control.render.view.getActualAutoZoomLevel(s.AutoZoomMode.FitContent)},e}(v);e.FitToScreenCommand=P;var C=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getZoomLevel=function(){return this.control.render.view.getActualAutoZoomLevel(s.AutoZoomMode.FitToWidth)},e}(v);e.FitToWidthCommand=C;var S=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isEnabledInReadOnlyMode=function(){return!0},e.prototype.getValue=function(){return this.control.settings.autoZoom},e.prototype.executeCore=function(t,e){return e=parseInt(e),this.control.settings.autoZoom!==e&&(e===s.AutoZoomMode.Disabled&&(this.control.settings.zoomLevel=this.control.view.getZoom()),this.control.settings.autoZoom=e,this.control.updateLayout(!0),!0)},e}(r.SimpleCommandBase);e.SwitchAutoZoomCommand=S;var x=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getValue=function(){return this.control.settings.autoZoom===s.AutoZoomMode.FitContent},e.prototype.executeCore=function(e,n){return t.prototype.executeCore.call(this,e,s.AutoZoomMode.FitContent)},e}(S);e.ToggleAutoZoomToContentCommand=x;var b=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getValue=function(){return this.control.settings.autoZoom===s.AutoZoomMode.FitToWidth},e.prototype.executeCore=function(e,n){return t.prototype.executeCore.call(this,e,s.AutoZoomMode.FitToWidth)},e}(S);e.ToggleAutoZoomToWidthCommand=b;var I=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isEnabled=function(){return t.prototype.isEnabled.call(this)&&!!this.control.render},e.prototype.isEnabledInReadOnlyMode=function(){return!0},e.prototype.getValue=function(){return this.control.settings.autoZoom},e.prototype.executeCore=function(t,e){var n;return n=void 0===e?this.control.settings.autoZoom===s.AutoZoomMode.Disabled?s.AutoZoomMode.FitContent:s.AutoZoomMode.Disabled:e?s.AutoZoomMode.FitContent:s.AutoZoomMode.Disabled,this.control.settings.autoZoom!==n&&(n||(this.control.settings.zoomLevel=this.control.view.getZoom()),this.control.settings.autoZoom=n,this.control.updateLayout(!0),!0)},e}(r.SimpleCommandBase);e.ToggleAutoZoomCommand=I},6619:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ToggleFullscreenCommand=void 0;var r=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isEnabledInReadOnlyMode=function(){return!0},e.prototype.getValue=function(){return this.control.settings.fullscreen},e.prototype.executeCore=function(t,e){var n=\"boolean\"==typeof e?e:!t.value;return this.control.settings.fullscreen!==n&&(this.control.settings.fullscreen=!t.value,this.control.notifyToggleFullscreen(this.control.settings.fullscreen)),!0},e}(n(9741).SimpleCommandBase);e.ToggleFullscreenCommand=r},9970:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ToggleReadOnlyCommand=void 0;var r=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isEnabledInReadOnlyMode=function(){return!0},e.prototype.getValue=function(){return this.control.settings.readOnly},e.prototype.executeCore=function(t,e){return\"boolean\"==typeof e?this.control.settings.readOnly=e:void 0===e&&(this.control.settings.readOnly=!t.value),!0},e}(n(9741).SimpleCommandBase);e.ToggleReadOnlyCommand=r},7795:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ToggleSimpleViewCommand=void 0;var r=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isEnabledInReadOnlyMode=function(){return!0},e.prototype.getValue=function(){return this.control.settings.simpleView},e.prototype.executeCore=function(t,e){return\"boolean\"==typeof e?this.control.settings.simpleView=e:void 0===e&&(this.control.settings.simpleView=!t.value),this.control.updateLayout(!0),!0},e}(n(9741).SimpleCommandBase);e.ToggleSimpleViewCommand=r},3591:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.BringToFrontCommand=void 0;var r=n(5982),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isEnabled=function(){var e=this.control.selection.getSelectedItems();return t.prototype.isEnabled.call(this)&&e.length>0&&this.needBringToFront(e)},e.prototype.executeCore=function(t,e){var n=this;return this.control.history.beginTransaction(),this.control.selection.getSelectedItems().forEach((function(t){var e=n.control.model.getIntersectItemsMaxZIndex(t)+1;n.control.history.addAndRedo(new r.ChangeZindexHistoryItem(t,e))})),this.control.history.endTransaction(),!0},e.prototype.needBringToFront=function(t){for(var e=this,n=function(n){var i=o.control.model.getIntersectItemsMaxZIndex(t[n]);if(i>t[n].zIndex)return{value:!0};if(i===t[n].zIndex){var r=!1;return o.control.model.getIntersectItems(t[n]).filter((function(e){return e.zIndex===t[n].zIndex})).forEach((function(o){e.control.model.getItemIndex(o)>e.control.model.getItemIndex(t[n])&&(r=!0)})),{value:r}}},o=this,i=0;i0},e}(n(9741).SimpleCommandBase);e.ChangeConnectorPropertyCommand=s},7717:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ChangeConnectorRoutingModeCommand=void 0;var r=n(9741),s=n(240),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getValue=function(){return this.control.settings.connectorRoutingMode},e.prototype.executeCore=function(t,e){var n=void 0!==e?e:s.ConnectorRoutingMode.None;return this.control.settings.connectorRoutingMode=n,!0},e}(r.SimpleCommandBase);e.ChangeConnectorRoutingModeCommand=a},1307:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ChangeLockedCommand=void 0;var r=n(4867),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isEnabled=function(){var e=this,n=this.control.selection.getSelectedItems(!0),o=!1;return n.forEach((function(t){t.locked!==e.getLockState()&&(o=!0)})),t.prototype.isEnabled.call(this)&&o},e.prototype.executeCore=function(t,e){return r.ModelUtils.changeSelectionLocked(this.control.history,this.control.model,this.control.selection,this.getLockState()),!0},e}(n(9741).SimpleCommandBase);e.ChangeLockedCommand=s},9031:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.LockCommand=void 0;var r=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getLockState=function(){return!0},e}(n(1307).ChangeLockedCommand);e.LockCommand=r},4624:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.SendToBackCommand=void 0;var r=n(5982),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isEnabled=function(){var e=this.control.selection.getSelectedItems();return t.prototype.isEnabled.call(this)&&e.length>0&&this.needSendToBack(e)},e.prototype.executeCore=function(t,e){var n=this;return this.control.history.beginTransaction(),this.control.selection.getSelectedItems().forEach((function(t){var e=n.control.model.getIntersectItemsMinZIndex(t)-1;n.control.history.addAndRedo(new r.ChangeZindexHistoryItem(t,e))})),this.control.history.endTransaction(),!0},e.prototype.needSendToBack=function(t){for(var e=this,n=function(n){var i=o.control.model.getIntersectItemsMinZIndex(t[n]);if(i{Object.defineProperty(e,\"__esModule\",{value:!0}),e.DataLayoutParameters=e.DataLayoutType=void 0;var o,i=n(8710),r=n(9533),s=n(1256);!function(t){t[t.Tree=0]=\"Tree\",t[t.Sugiyama=1]=\"Sugiyama\"}(o=e.DataLayoutType||(e.DataLayoutType={}));var a=function(){function t(t,e){this.sizeSettings=t,e&&(void 0!==e.type&&(this.layoutType=e.type,this.layoutSettings=this.layoutType===o.Sugiyama?new i.LayoutSettings:new i.TreeLayoutSettings),void 0!==e.orientation&&(this.layoutSettings.orientation=e.orientation),this.skipPointIndices=e.skipPointIndices,this.autoSizeEnabled=e.autoSizeEnabled)}return Object.defineProperty(t.prototype,\"needAutoLayout\",{get:function(){return void 0!==this.layoutType},enumerable:!1,configurable:!0}),t.prototype.getLayoutBuilder=function(t){return this.layoutType===o.Tree?new r.TreeLayoutBuilder(this.layoutSettings,t):new s.SugiyamaLayoutBuilder(this.layoutSettings,t)},t}();e.DataLayoutParameters=a},4225:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.DataSource=void 0;var o=n(9291),i=n(8900),r=n(6353),s=n(3477),a=n(9603),c=n(4145),u=n(8930),h=n(4629),p=n(8236),l=n(5144),d=n(9559),f=n(7443),y=n(8210),g=n(6516),m=n(5982),v=n(4634),P=n(926),C=n(7959),S=n(4867),x=n(2259),b=n(4246),I=n(8675),w=n(13),_=n(4914),T=n(8396),O=n(3490),M=n(5035),E=n(5558),D=n(58),A=function(){function t(t,e,n,o,i,r){if(this.key=t,this.nodes=[],this.edges=[],this.autoGeneratedDataKeys={},this.addInternalKeyOnInsert=!1,this.useNodeParentId=!1,this.useNodeContainerId=!1,this.useNodeChildren=!1,this.useNodeItems=!1,this.canUseAutoSize=!1,this.canUpdateEdgeDataSource=!1,this.containers=null,null==t)throw new Error(\"DataSource key must be specified\");this.key=t.toString(),this.loadParameters(o||{}),this.nodeDataImporter=this.createNodeDataImporter(i),this.edgeDataImporter=this.createEdgeDataImporter(r),this.nodeDataSource=e||[],this.edgeDataSource=n||[],this.canUpdateEdgeDataSource=!!n,this.fetchData()}return t.prototype.loadParameters=function(t){this.addInternalKeyOnInsert=!!t.addInternalKeyOnInsert},t.prototype.isAutoGeneratedKey=function(t){return t&&!!this.autoGeneratedDataKeys[t]},t.prototype.createNodeDataImporter=function(t){var e=new M.DataSourceNodeDataImporter;return t&&this.assignNodeDataImporterProperties(t,e),e},t.prototype.createEdgeDataImporter=function(t){var e=new M.DataSourceEdgeDataImporter;return t&&this.assignEdgeDataImporterProperties(t,e),e},t.prototype.assignItemDataImporterProperties=function(t,e){t.getKey&&(e.getKey=t.getKey),t.setKey&&(e.setKey=t.setKey),t.getCustomData&&(e.getCustomData=t.getCustomData),t.setCustomData&&(e.setCustomData=t.setCustomData),t.getLocked&&(e.getLocked=t.getLocked),t.setLocked&&(e.setLocked=t.setLocked),t.getStyle&&(e.getStyle=t.getStyle),t.setStyle&&(e.setStyle=t.setStyle),t.getStyleText&&(e.getStyleText=t.getStyleText),t.setStyleText&&(e.setStyleText=t.setStyleText),t.getZIndex&&(e.getZIndex=t.getZIndex),t.setZIndex&&(e.setZIndex=t.setZIndex)},t.prototype.assignNodeDataImporterProperties=function(t,e){this.assignItemDataImporterProperties(t,e),t.getType&&(e.getType=t.getType),t.setType&&(e.setType=t.setType),t.getImage&&(e.getImage=t.getImage),t.setImage&&(e.setImage=t.setImage),t.getText&&(e.getText=t.getText),t.setText&&(e.setText=t.setText),t.getLeft&&(e.getLeft=t.getLeft),t.setLeft&&(e.setLeft=t.setLeft),t.getTop&&(e.getTop=t.getTop),t.setTop&&(e.setTop=t.setTop),t.getWidth&&(e.getWidth=t.getWidth),t.setWidth&&(e.setWidth=t.setWidth),t.getHeight&&(e.getHeight=t.getHeight),t.setHeight&&(e.setHeight=t.setHeight),t.getChildren&&(e.getChildren=t.getChildren),t.setChildren&&(e.setChildren=t.setChildren),t.getParentKey&&(e.getParentKey=t.getParentKey),t.setParentKey&&(e.setParentKey=t.setParentKey),t.getItems&&(e.getItems=t.getItems),t.setItems&&(e.setItems=t.setItems),t.getContainerKey&&(e.getContainerKey=t.getContainerKey),t.setContainerKey&&(e.setContainerKey=t.setContainerKey)},t.prototype.assignEdgeDataImporterProperties=function(t,e){this.assignItemDataImporterProperties(t,e),t.getFrom&&(e.getFrom=t.getFrom),t.setFrom&&(e.setFrom=t.setFrom),t.getFromPointIndex&&(e.getFromPointIndex=t.getFromPointIndex),t.setFromPointIndex&&(e.setFromPointIndex=t.setFromPointIndex),t.getTo&&(e.getTo=t.getTo),t.setTo&&(e.setTo=t.setTo),t.getToPointIndex&&(e.getToPointIndex=t.getToPointIndex),t.setToPointIndex&&(e.setToPointIndex=t.setToPointIndex),t.getPoints&&(e.getPoints=t.getPoints),t.setPoints&&(e.setPoints=t.setPoints),t.getText&&(e.getText=t.getText),t.setText&&(e.setText=t.setText),t.getLineOption&&(e.getLineOption=t.getLineOption),t.setLineOption&&(e.setLineOption=t.setLineOption),t.getStartLineEnding&&(e.getStartLineEnding=t.getStartLineEnding),t.setStartLineEnding&&(e.setStartLineEnding=t.setStartLineEnding),t.getEndLineEnding&&(e.getEndLineEnding=t.getEndLineEnding),t.setEndLineEnding&&(e.setEndLineEnding=t.setEndLineEnding)},t.prototype.fetchData=function(){var t=this;if(this.nodes=[],this.edges=[],this.autoGeneratedDataKeys={},this.useNodeParentId=void 0!==this.nodeDataImporter.getParentKey,this.useNodeContainerId=void 0!==this.nodeDataImporter.getContainerKey,this.useNodeItems=void 0!==this.nodeDataImporter.getItems,this.useNodeChildren=void 0!==this.nodeDataImporter.getChildren,this.canUseAutoSize=void 0===this.nodeDataImporter.getWidth&&void 0!==this.nodeDataImporter.getText,this.useEdgesArray()&&this.useNodeParentId)throw new Error(\"You cannot use edges array and parentKey simultaneously.\");if(this.useEdgesArray()&&this.useNodeItems)throw new Error(\"You cannot use edges array and items array simultaneously.\");if(this.useNodeParentId&&this.useNodeItems)throw new Error(\"You cannot use parentKey and items array simultaneously.\");if(this.useNodeContainerId&&this.useNodeChildren)throw new Error(\"You cannot use containerKey and children array simultaneously.\");this.nodeDataSource.forEach((function(e){t.addNode(e)})),this.useEdgesArray()?this.edgeDataSource.forEach((function(e){t.addEdge(e)})):this.nodes.forEach((function(e){t.addNodeEdgesByParentId(e)}))},t.prototype.isContainer=function(t){var e=this;return!this.containers&&this.useNodeContainerId&&(this.containers=this.nodeDataSource.map((function(t){return e.nodeDataImporter.getContainerKey(t)})).filter((function(t){return null!=t})).reduce((function(t,e){return t[e]=!0,t}),{})),this.containers&&this.containers[t]},t.prototype.refetchData=function(t,e){var n=this;this.nodeDataSource=t||this.nodeDataSource,this.edgeDataSource=e||this.edgeDataSource;var o=this.nodes.slice(),i=this.edges.slice();return this.fetchData(),{nodes:this.getItemChanges(o,this.nodes,(function(t,e){return t.key===e.key||t.dataObj===e.dataObj})),edges:this.getItemChanges(i,this.edges,(function(t,e){return n.useNodeParentId||n.useNodeItems?t.key===e.key||t.from===e.from&&t.to===e.to:t.key===e.key||t.dataObj===e.dataObj}))}},t.prototype.getItemChanges=function(t,e,n){var o=this,i=t.filter((function(t){return o.containsItem(e,t,n)})),r=t.filter((function(t){return!o.containsItem(e,t,n)})),s=e.filter((function(e){return!o.containsItem(t,e,n)}));return{remained:i.map((function(t){return t.key})),remainedNewKeys:i.map((function(t){var o;return null===(o=e.find((function(e){return n(t,e)})))||void 0===o?void 0:o.key})),removed:r.map((function(t){return t.key})),added:s.map((function(t){return t.key}))}},t.prototype.containsItem=function(t,e,n){var o=!1;return t.forEach((function(t){!o&&n(t,e)&&(o=!0)})),o},t.prototype.useEdgesArray=function(){return Array.isArray(this.edgeDataSource)&&(this.edgeDataSource.length||!(this.useNodeParentId||this.useNodeItems))},t.prototype.addNode=function(t,e,n,o){var i=this,r=this.nodeDataImporter.getChildren&&this.nodeDataImporter.getChildren(t),s=r&&Array.isArray(r)&&r.length,a=s||this.isContainer(this.nodeDataImporter.getKey(t)),c=this.nodeDataImporter.getType&&this.nodeDataImporter.getType(t)||a&&x.ShapeTypes.VerticalContainer||x.ShapeTypes.Rectangle,u=this.nodeDataImporter.getText&&(this.nodeDataImporter.getText(t)||\"\"),h=this.addNodeInternal(t,c,u,e,n,o);if(this.assignNodeProperties(h,t),s&&r.forEach((function(e){i.addNode(e,void 0,h.key,t)})),this.useNodeItems){var p=this.nodeDataImporter.getItems(t);Array.isArray(p)&&p.length&&p.forEach((function(e){var r=i.addNode(e,t,n,o);i.addEdgeInternal(void 0,h.key,r.key)}))}return h},t.prototype.addNodeEdgesByParentId=function(t){if(this.useNodeParentId){var e=this.nodeDataImporter.getParentKey(t.dataObj);if(null!=e)this.findNode(e)&&this.addEdgeInternal(void 0,this.getNodeKey(t.dataObj,this.nodeDataImporter.getParentKey),this.getNodeKey(t.dataObj,this.nodeDataImporter.getKey))}},t.prototype.addNodeInternal=function(t,e,n,o,i,r){var s=this.nodeDataImporter.getKey(t),a=null!=s?s:S.ModelUtils.getGuidItemKey(),c=new E.DataSourceNodeItem(this.key,a,t,e,n,o,i,r);return this.nodes.push(c),null==s&&(s=a,this.autoGeneratedDataKeys[a]=!0),c},t.prototype.addEdge=function(t){var e=this.addEdgeInternal(t,this.getNodeKey(t,this.edgeDataImporter.getFrom),this.getNodeKey(t,this.edgeDataImporter.getTo));return this.assignEdgeProperties(e,t),e},t.prototype.addEdgeInternal=function(t,e,n){var o=t&&this.edgeDataImporter.getKey(t),i=null!=o?o:S.ModelUtils.getGuidItemKey(),r=new E.DataSourceEdgeItem(this.key,i,t,e,n);return this.edges.push(r),null==o&&(o=i,this.autoGeneratedDataKeys[i]=!0),r},t.prototype.assignItemProperties=function(t,e,n){if(n.getCustomData&&(t.customData=I.ObjectUtils.cloneObject(n.getCustomData(e))),n.getLocked&&(t.locked=n.getLocked(e)),n.getStyle){var o=n.getStyle(e);t.style=\"string\"==typeof o?_.Data.cssTextToObject(o):o}if(n.getStyleText){o=n.getStyleText(e);t.styleText=\"string\"==typeof o?_.Data.cssTextToObject(o):o}n.getZIndex&&(t.zIndex=n.getZIndex(e))},t.prototype.assignNodeProperties=function(t,e){this.assignItemProperties(t,e,this.nodeDataImporter),this.nodeDataImporter.getImage&&(t.image=this.nodeDataImporter.getImage(e)),this.nodeDataImporter.getLeft&&(t.left=this.nodeDataImporter.getLeft(e)),this.nodeDataImporter.getTop&&(t.top=this.nodeDataImporter.getTop(e)),this.nodeDataImporter.getWidth&&(t.width=this.nodeDataImporter.getWidth(e)),this.nodeDataImporter.getHeight&&(t.height=this.nodeDataImporter.getHeight(e)),this.nodeDataImporter.getContainerKey&&(t.containerKey=this.nodeDataImporter.getContainerKey(e))},t.prototype.assignEdgeProperties=function(t,e){if(this.assignItemProperties(t,e,this.edgeDataImporter),this.edgeDataImporter.getFromPointIndex&&(t.fromPointIndex=this.edgeDataImporter.getFromPointIndex(e)),this.edgeDataImporter.getToPointIndex&&(t.toPointIndex=this.edgeDataImporter.getToPointIndex(e)),this.edgeDataImporter.getPoints&&(t.points=this.edgeDataImporter.getPoints(e)),this.edgeDataImporter.getText){var n=this.edgeDataImporter.getText(e);if(t.texts={},\"object\"==typeof n){for(var o in n)if(Object.prototype.hasOwnProperty.call(n,o)){var i=parseFloat(o),r=n[o];isNaN(i)||\"string\"!=typeof r||\"\"===r||(i=Math.min(1,Math.max(0,i)),t.texts[i]=r)}}else\"string\"==typeof n&&\"\"!==n&&(t.texts[C.CONNECTOR_DEFAULT_TEXT_POSITION]=n)}this.edgeDataImporter.getLineOption&&(t.lineOption=this.edgeDataImporter.getLineOption(e)),this.edgeDataImporter.getStartLineEnding&&(t.startLineEnding=this.edgeDataImporter.getStartLineEnding(e)),this.edgeDataImporter.getEndLineEnding&&(t.endLineEnding=this.edgeDataImporter.getEndLineEnding(e))},t.prototype.findNode=function(t){return this.nodes.filter((function(e){return void 0!==t&&e.key===t}))[0]},t.prototype.findEdge=function(t){return this.edges.filter((function(e){return void 0!==t&&e.key===t}))[0]},t.prototype.getNodeKey=function(t,e){return e(t)},t.prototype.createModelItems=function(t,e,n,o,r,s,a,c){var u=this;this.beginChangesNotification(),t.clear(),t.beginTransaction(),S.ModelUtils.deleteAllItems(t,e,o),e.initializeKeyCounter();var h=s?Math.max(1,Math.floor(2e3/a))*a:2e3,p=0,l=0,d={},f=[],y=[];this.nodes.forEach((function(y){var g=new i.Point(l++*h,p*h),m=u.createShapeByNode(t,e,o,n,y,g,r,s,a,c);void 0!==y.key&&(d[y.key]=m.key),l>4&&(l=0,p++),f.push(m)})),this.nodes.forEach((function(n){if(void 0!==n.containerKey&&null!==n.containerKey){var o=d[n.key],i=e.findShape(o),r=d[n.containerKey],s=e.findShape(r);s&&S.ModelUtils.insertToContainer(t,e,i,s)}})),this.edges.forEach((function(n){var i=e.findShape(d[n.to]),r=e.findShape(d[n.from]),s=u.createConnectorByEdge(t,e,o,n,r,i);s&&(y.push(s),S.ModelUtils.updateConnectorContainer(t,e,s))})),r.needAutoLayout&&this.applyLayout(t,e,f,y,r,s,a),S.ModelUtils.tryUpdateModelRectangle(t),t.endTransaction(!0),this.endChangesNotification(!0)},t.prototype.updateModelItems=function(t,e,n,o,r,s,a,c,u,h,p,l){var d=this;this.beginChangesNotification(),t.beginTransaction();var f=[],y=[],g=[],m=u.nodes.removed.map((function(t){return e.findShapeByDataKey(t)})).filter((function(t){return t}));m.forEach((function(t){t.attachedConnectors.forEach((function(e){e.beginItem&&e.beginItem!==t&&y.push(e.beginItem),e.endItem&&e.endItem!==t&&y.push(e.endItem)}))})),S.ModelUtils.deleteItems(t,e,o,m,!0);var v=u.edges.removed.map((function(t){return e.findConnectorByDataKey(t)})).filter((function(t){return t}));v.forEach((function(t){t.beginItem&&y.push(t.beginItem),t.endItem&&y.push(t.endItem)})),S.ModelUtils.deleteItems(t,e,o,v,!0),y=this.purgeLayoutShapes(y,m),(a||[]).forEach((function(s){if(-1!==u.nodes.remained.indexOf(s)){var a=d.findNode(s);if(a){var c=e.findShapeByDataKey(s);if(c){var g=c.position.clone();d.changeShapeByDataItem(t,e,c,a,g),d.changeItemByDataItem(t,c,a)}else c=d.createShapeByNode(t,e,o,n,a,new i.Point(0,0),r,h,p,l);d.updateShapeContainer(t,e,c,a),y.push(c),f.push(c)}}})),u.nodes.remained.forEach((function(t,n){var o=e.findShapeByDataKey(t);o&&(o.dataKey=u.nodes.remainedNewKeys[n])})),u.nodes.added.forEach((function(s){var a=d.findNode(s),c=d.createShapeByNode(t,e,o,n,a,new i.Point(0,0),r,h,p,l);d.updateShapeContainer(t,e,c,a),y.push(c)})),u.edges.added.forEach((function(n){var i=d.findEdge(n),r=e.findShapeByDataKey(i.from),s=e.findShapeByDataKey(i.to),a=d.createConnectorByEdge(t,e,o,i,r,s);a&&(S.ModelUtils.updateConnectorContainer(t,e,a),g.push(a))}));var P=a||[];u.edges.remained.forEach((function(t){var e=d.findEdge(t);!e||-1===u.nodes.added.indexOf(e.from)&&-1===u.nodes.added.indexOf(e.to)||P.push(t)})),P.forEach((function(n){if(-1!==u.edges.remained.indexOf(n)){var i=d.findEdge(n);if(i){var r=e.findShapeByDataKey(i.from),s=e.findShapeByDataKey(i.to),a=e.findConnectorByDataKey(n);a?(d.changeConnectorPointsByDataItem(t,a,d.getConnectorPointsByEdge(e,i,r,s,!1)),d.changeConnectorByDataItem(t,e,a,r,s,i),d.changeItemByDataItem(t,a,i)):a=d.createConnectorByEdge(t,e,o,i,r,s),a&&(S.ModelUtils.updateConnectorContainer(t,e,a),g.push(a),f.push(a))}}})),u.edges.remained.forEach((function(t,n){var o=e.findConnectorByDataKey(t);o&&(o.dataKey=u.edges.remainedNewKeys[n])})),f.length&&c&&f.forEach((function(t){t.hasTemplate&&c(t)})),r.needAutoLayout&&(y.length||g.length)&&this.applyLayout(t,e,y,g,r,h,p),S.ModelUtils.tryUpdateModelRectangle(t),t.endTransaction(!s),this.endChangesNotification(!1)},t.prototype.purgeLayoutShapes=function(t,e){var n=e.reduce((function(t,e){return(t[e.key]=!0)&&t}),{});return t.reduce((function(t,e){return void 0===t.keySet[e.key]&&void 0===n[e.key]&&(t.uniqueShapes.push(e),t.keySet[e.key]=!0),t}),{uniqueShapes:[],keySet:{}}).uniqueShapes},t.prototype.applyShapeAutoSize=function(t,e,n,i,s,a){if(i.description.enableText){var c=i.textRectangle.createSize(),u=i.size,p=c.width-u.width,l=c.height-u.height,d=i.getMaxWidth(n.shapeMaxWidth),f=i.getMaxHeight(n.shapeMaxHeight),y=function(t,e){return\"number\"==typeof t?o.UnitConverter.twipsToPixelsF(t+(e?p:l)):void 0},g=O.getOptimalTextRectangle(i.text,i.styleText,b.TextOwner.Shape,e,c.clone().applyConverter(o.UnitConverter.twipsToPixelsF),i.description.keepRatioOnAutoSize,y(i.getMinWidth(n.shapeMinWidth),!0),y(d,!0),y(i.getMinHeight(n.shapeMinHeight),!1),y(f,!1)).clone().applyConverter(o.UnitConverter.pixelsToTwips);if(!g.equals(c)){var m=i.description.getSizeByText(g,i);s&&a&&(m=new r.Size(Math.min(a*Math.ceil(m.width/a),d||Number.MAX_VALUE),Math.min(a*Math.ceil(m.height/a),f||Number.MAX_VALUE))),t.addAndRedo(new h.ResizeShapeHistoryItem(i.key,i.position,m))}}},t.prototype.applyLayout=function(t,e,n,o,i,r,s){S.ModelUtils.getGraphInfoByItems(e,n,o).forEach((function(a){var c=i.getLayoutBuilder(a.graph).build(),u=S.ModelUtils.getNonGraphItems(e,a.container,c.nodeToLayout,n,o);S.ModelUtils.applyLayout(t,e,a.container,a.graph,c,u,i.layoutSettings,r,s,i.skipPointIndices)}))},t.prototype.changeItemByDataItem=function(t,e,n){if(void 0===n.customData||I.ObjectUtils.compareObjects(n.customData,e.customData)||t.addAndRedo(new d.ChangeCustomDataHistoryItem(e.key,n.customData)),void 0!==n.zIndex&&n.zIndex!==e.zIndex&&t.addAndRedo(new m.ChangeZindexHistoryItem(e,n.zIndex)),void 0!==n.style)for(var o in n.style){if(Object.prototype.hasOwnProperty.call(n.style,o))(r=this.getPreparedStyleValue(n.style[o],T.isColorProperty(o)))!==e.style[o]&&t.addAndRedo(new v.ChangeStyleHistoryItem(e.key,o,r))}var i=e.style.getDefaultInstance();if(e.style.forEach((function(o){n.style&&void 0===n.style[o]&&e.style[o]!==i[o]&&t.addAndRedo(new v.ChangeStyleHistoryItem(e.key,o,i[o]))})),void 0!==n.styleText)for(var o in n.styleText){var r;if(Object.prototype.hasOwnProperty.call(n.styleText,o))(r=this.getPreparedStyleValue(n.styleText[o],T.isColorProperty(o)))!==e.styleText[o]&&t.addAndRedo(new P.ChangeStyleTextHistoryItem(e.key,o,r))}var s=e.styleText.getDefaultInstance();e.styleText.forEach((function(o){n.styleText&&void 0===n.styleText[o]&&e.styleText[o]!==s[o]&&t.addAndRedo(new P.ChangeStyleTextHistoryItem(e.key,o,s[o]))})),void 0!==n.locked&&n.locked!==e.locked&&t.addAndRedo(new f.ChangeLockedHistoryItem(e,n.locked))},t.prototype.getPreparedStyleValue=function(t,e){if(e){var n=w.ColorUtils.stringToHash(t);null!==n&&(t=n)}return t},t.prototype.createShapeByNode=function(t,e,n,o,i,r,s,a,u,h){var p=new c.AddShapeHistoryItem(o.get(i.type),r,\"\",i.key);t.addAndRedo(p);var l=e.findShape(p.shapeKey);return S.ModelUtils.updateNewShapeProperties(t,n,p.shapeKey),this.changeShapeByDataItem(t,e,l,i,r),this.changeItemByDataItem(t,l,i),h&&this.canUseAutoSize&&s.autoSizeEnabled&&this.applyShapeAutoSize(t,h,s.sizeSettings,l,a,u),l},t.prototype.changeShapeByDataItem=function(t,e,n,o,i){void 0!==o.left&&(i.x=S.ModelUtils.getTwipsValue(e.units,o.left)),void 0!==o.top&&(i.y=S.ModelUtils.getTwipsValue(e.units,o.top)),S.ModelUtils.setShapePosition(t,e,n,i,!1),void 0!==o.type&&S.ModelUtils.changeShapeType(t,e,n,o.type);var r=n.size.clone();void 0!==o.width&&(r.width=S.ModelUtils.getTwipsValue(e.units,o.width)),void 0!==o.height&&(r.height=S.ModelUtils.getTwipsValue(e.units,o.height)),S.ModelUtils.setShapeSize(t,e,n,i,r),S.ModelUtils.updateShapeAttachedConnectors(t,e,n),void 0!==o.text&&o.text!==n.text&&t.addAndRedo(new g.ChangeShapeTextHistoryItem(n,o.text)),void 0!==o.image&&o.image!==n.image.actualUrl&&t.addAndRedo(new y.ChangeShapeImageHistoryItem(n,o.image))},t.prototype.updateShapeContainer=function(t,e,n,o){var i=void 0!==o.containerKey?e.findShapeByDataKey(o.containerKey):void 0;i!==n.container&&(i?S.ModelUtils.insertToContainer(t,e,n,i):S.ModelUtils.removeFromContainer(t,e,n))},t.prototype.getConnectorPointsByEdge=function(t,e,n,o,i){var r=[],s=this.createModelPointFromDataSourceEdgeItemPoints(t.units,e);if(s&&s.length>1)for(var a=s.length-1,c=0;c<=a;c++){var u=s[c];if(null!==u)r.push(u);else{if(!n&&!o)return;0===c&&n?r.push(n.position.clone()):c===a&&o&&r.push(o.position.clone())}}else i&&(n&&r.push(n.position.clone()),o&&r.push(o.position.clone()));return r},t.prototype.createModelPointFromDataSourceEdgeItemPoints=function(t,e){var n=this,o=[];if(Array.isArray(e.points))return e.points.forEach((function(e){return o.push(n.isValidDataSourceEdgeItemPoint(e)?n.createModelPoint(t,e):null)})),o},t.prototype.createModelPoint=function(t,e){return new i.Point(S.ModelUtils.getTwipsValue(t,e.x),S.ModelUtils.getTwipsValue(t,e.y))},t.prototype.isValidDataSourceEdgeItemPoint=function(t){return null!=t&&void 0!==t.x&&void 0!==t.y&&null!==t.x&&null!==t.y},t.prototype.createConnectorByEdge=function(t,e,n,o,i,r){var s,c=o.key,u=this.getConnectorPointsByEdge(e,o,i,r,!0);if(u&&u.length>1){var h=new a.AddConnectorHistoryItem(u,c);t.addAndRedo(h),s=e.findConnector(h.connectorKey),S.ModelUtils.updateNewConnectorProperties(t,n,h.connectorKey),this.changeConnectorByDataItem(t,e,s,i,r,o),this.changeItemByDataItem(t,s,o)}return s},t.prototype.changeConnectorByDataItem=function(t,e,n,o,i,r){var a=void 0!==r.fromPointIndex?r.fromPointIndex:n.beginConnectionPointIndex;n.beginItem===o&&n.beginConnectionPointIndex===a||(n.beginItem&&t.addAndRedo(new u.DeleteConnectionHistoryItem(n,C.ConnectorPosition.Begin)),o&&t.addAndRedo(new s.AddConnectionHistoryItem(n,o,a,C.ConnectorPosition.Begin)));var c=void 0!==r.toPointIndex?r.toPointIndex:n.endConnectionPointIndex;if(n.endItem===i&&n.endConnectionPointIndex===c||(n.endItem&&t.addAndRedo(new u.DeleteConnectionHistoryItem(n,C.ConnectorPosition.End)),i&&t.addAndRedo(new s.AddConnectionHistoryItem(n,i,c,C.ConnectorPosition.End))),S.ModelUtils.updateConnectorAttachedPoints(t,e,n),void 0!==r.texts&&!this.compareTexts(r,n))for(var h in n.texts.forEach((function(e){t.addAndRedo(new l.ChangeConnectorTextHistoryItem(n,e.position,void 0))})),r.texts)if(Object.prototype.hasOwnProperty.call(r.texts,h)){var d=parseFloat(h);t.addAndRedo(new l.ChangeConnectorTextHistoryItem(n,d,r.texts[h]))}void 0!==r.lineOption&&r.lineOption!==n.properties.lineOption&&t.addAndRedo(new p.ChangeConnectorPropertyHistoryItem(n.key,\"lineOption\",r.lineOption)),void 0!==r.startLineEnding&&r.startLineEnding!==n.properties.startLineEnding&&t.addAndRedo(new p.ChangeConnectorPropertyHistoryItem(n.key,\"startLineEnding\",r.startLineEnding)),void 0!==r.endLineEnding&&r.endLineEnding!==n.properties.endLineEnding&&t.addAndRedo(new p.ChangeConnectorPropertyHistoryItem(n.key,\"endLineEnding\",r.endLineEnding))},t.prototype.changeConnectorPointsByDataItem=function(t,e,n){n&&n.length>1&&n.join(\",\")!==e.points.join(\",\")&&t.addAndRedo(new D.ReplaceConnectorPointsHistoryItem(e.key,n))},t.prototype.compareTexts=function(t,e){var n=t.texts||{},o=Object.keys(n).length===e.getTextCount();if(o)for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var r=parseFloat(i);this.compareStrings(e.getText(r),n[i])||(o=!1)}return o},t.prototype.compareStrings=function(t,e){return\"string\"==typeof t&&\"string\"==typeof e?t===e:this.isEmptyString(t)&&this.isEmptyString(e)},t.prototype.isEmptyString=function(t){return\"\"===t||null==t},t}();e.DataSource=A},5558:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.DataSourceEdgeItem=e.DataSourceNodeItem=e.DataSourceItem=void 0;var r=n(7959),s=function(t,e,n){this.sourceKey=t,this.key=e,this.dataObj=n};e.DataSourceItem=s;var a=function(t){function e(e,n,o,i,r,s,a,c){var u=t.call(this,e,n,o)||this;return u.type=i,u.text=r,u.parentDataObj=s,u.containerKey=a,u.containerDataObj=c,u}return i(e,t),e}(s);e.DataSourceNodeItem=a;var c=function(t){function e(e,n,o,i,r){var s=t.call(this,e,n,o)||this;return s.sourceKey=e,s.from=i,s.to=r,s}return i(e,t),Object.defineProperty(e.prototype,\"text\",{get:function(){return this.texts&&this.texts[r.CONNECTOR_DEFAULT_TEXT_POSITION]},enumerable:!1,configurable:!0}),e}(s);e.DataSourceEdgeItem=c},8717:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.DocumentDataSource=e.UpdateNodeKeyRelatedObjectsStackAction=e.UpdateNodeKeyRelatedObjectsStackItem=void 0;var r=n(2259),s=n(5503),a=n(7959),c=n(4225),u=n(4867),h=n(4914),p=n(8675),l=n(49),d=n(8679),f=function(t,e){this.shape=t,this.nodeObj=e};e.UpdateNodeKeyRelatedObjectsStackItem=f;var y=function(t,e){this.kind=t,this.nodeObj=e};e.UpdateNodeKeyRelatedObjectsStackAction=y;var g=function(t){function e(e,n,o,i,r,s){var a=t.call(this,\"Document\",n,o,i,r,s)||this;return a.changesListener=e,a.nodeInsertingLockCount=0,a.updateNodeKeyRelatedObjectsCount=0,a.updateNodeKeyRelatedObjectsStack=[],a.updateNodeKeyRelatedObjectsStackActions=[],a}return i(e,t),e.prototype.updateItemsByModel=function(t){var e=this;this.beginChangesNotification(),this.deleteNodes(t),this.deleteEdges(t),t.items.forEach((function(n){n instanceof s.Shape&&e.updateNode(t,n),n instanceof a.Connector&&e.updateEdge(t,n)})),this.endChangesNotification(!1)},e.prototype.isItemObjectModified=function(t,e,n){var o=n.setLocked&&e.locked!==t.locked||n.setZIndex&&e.zIndex!==t.zIndex||n.setCustomData&&!p.ObjectUtils.compareObjects(e.customData,t.customData);if(!o&&n.setStyle){var i=t.style.getDefaultInstance();t.style.forEach((function(n){t.style[n]!==i[n]&&t.style[n]!==(e.style&&e.style[n])&&(o=!0)}))}if(!o&&n.setStyleText){var r=t.styleText.getDefaultInstance();t.styleText.forEach((function(n){t.styleText[n]!==r[n]&&t.styleText[n]!==(e.styleText&&e.styleText[n])&&(o=!0)}))}return o},e.prototype.setDataObjectKeyRelatedProperty=function(t,e,n,o){(o||void 0===this.autoGeneratedDataKeys[n])&&t(e,n)},e.prototype.updateItemObjectProperties=function(t,e,n){if(n.setCustomData&&(t.customData=p.ObjectUtils.cloneObject(e.customData),t.dataObj&&void 0!==t.customData&&n.setCustomData(t.dataObj,e.customData)),n.setLocked&&(t.locked=e.locked,t.dataObj&&void 0!==t.locked&&n.setLocked(t.dataObj,e.locked)),n.setStyle){var o=e.style.toObject();t.style=o,t.dataObj&&void 0!==t.style&&n.setStyle(t.dataObj,h.Data.objectToCssText(o))}if(n.setStyleText){var i=e.styleText.toObject();t.styleText=i,t.dataObj&&void 0!==t.styleText&&n.setStyleText(t.dataObj,h.Data.objectToCssText(i))}n.setZIndex&&(t.zIndex=e.zIndex,t.dataObj&&void 0!==t.zIndex&&n.setZIndex(t.dataObj,e.zIndex))},e.prototype.deleteItems=function(t,e,n,o){t.slice().forEach((function(t){if(void 0!==t.key&&null!==t.key&&!e(t.key)){var i=n(t),r=i.indexOf(t.dataObj);i.splice(r,1),o(t,r>-1)}}))},e.prototype.updateNode=function(t,e){var n=this,o=this.findNode(e.dataKey);if(o)this.isNodeObjectModified(e,o,t.units)?(this.updateNodeObjectProperties(e,o,t.units),this.updateNodeObjectConnectedProperties(e,o),this.beginChangesNotification(),this.changesListener.notifyNodeUpdated.call(this.changesListener,this.nodeDataImporter.getKey(o.dataObj||o.key),o.dataObj,(function(t,e){n.endChangesNotification(!1)}),(function(t){n.endChangesNotification(!1)}))):this.updateNodeObjectConnectedProperties(e,o,this.changesListener);else{var i={};void 0!==e.dataKey&&null!==e.dataKey&&this.nodeDataImporter.setKey(i,e.dataKey),o=this.addNodeInternal(i,e.description.key,e.text),this.nodeDataSource.push(o.dataObj),this.setDataObjectKeyRelatedProperty(this.nodeDataImporter.setKey,i,o.key,this.addInternalKeyOnInsert),this.updateNodeObjectProperties(e,o,t.units),this.updateNodeObjectConnectedProperties(e,o),this.updateNodeObjectKey(e,o,o.dataObj),this.beginChangesNotification(),this.beginNodeInserting(),this.changesListener.notifyNodeInserted.call(this.changesListener,o.dataObj,(function(t){n.updateNodeObjectKey(e,o,t),n.endNodeInserting(),n.endChangesNotification(!1)}),(function(t){n.endNodeInserting(),n.endChangesNotification(!1)}))}},e.prototype.areImageUrlsEqual=function(t,e){return t===e||l.StringUtils.isNullOrEmpty(t)&&l.StringUtils.isNullOrEmpty(e)},e.prototype.isNodeObjectModified=function(t,e,n){return this.isItemObjectModified(t,e,this.nodeDataImporter)||e.type!==t.description.key&&!(void 0===e.type&&t.description.key===r.ShapeTypes.Rectangle)||!this.compareStrings(e.text,t.text)||this.nodeDataImporter.setImage&&!this.areImageUrlsEqual(e.image,t.image.actualUrl)||this.nodeDataImporter.setLeft&&!d.MathUtils.numberCloseTo(e.left,u.ModelUtils.getlUnitValue(n,t.position.x))||this.nodeDataImporter.setTop&&!d.MathUtils.numberCloseTo(e.top,u.ModelUtils.getlUnitValue(n,t.position.y))||this.nodeDataImporter.setWidth&&!d.MathUtils.numberCloseTo(e.width,u.ModelUtils.getlUnitValue(n,t.size.width))||this.nodeDataImporter.setHeight&&!d.MathUtils.numberCloseTo(e.height,u.ModelUtils.getlUnitValue(n,t.size.height))},e.prototype.updateNodeObjectProperties=function(t,e,n){if(this.updateItemObjectProperties(e,t,this.nodeDataImporter),this.nodeDataImporter.setType&&(e.type=t.description.key,this.nodeDataImporter.setType(e.dataObj,t.description.key)),this.nodeDataImporter.setText&&(e.text=t.text,this.nodeDataImporter.setText(e.dataObj,t.text)),this.nodeDataImporter.setImage&&(e.image=t.image.actualUrl,this.nodeDataImporter.setImage(e.dataObj,void 0===t.image.actualUrl?null:t.image.actualUrl)),this.nodeDataImporter.setLeft){var o=u.ModelUtils.getlUnitValue(n,t.position.x);e.left=o,this.nodeDataImporter.setLeft(e.dataObj,o)}if(this.nodeDataImporter.setTop){var i=u.ModelUtils.getlUnitValue(n,t.position.y);e.top=i,this.nodeDataImporter.setTop(e.dataObj,i)}if(this.nodeDataImporter.setWidth){var r=u.ModelUtils.getlUnitValue(n,t.size.width);e.width=r,this.nodeDataImporter.setWidth(e.dataObj,r)}if(this.nodeDataImporter.setHeight){var s=u.ModelUtils.getlUnitValue(n,t.size.height);e.height=s,this.nodeDataImporter.setHeight(e.dataObj,s)}},e.prototype.updateNodeObjectConnectedProperties=function(t,e,n){if(this.useNodeParentId&&void 0!==this.nodeDataImporter.setParentKey){var o=this.getParentItemKey(t),i=this.findNode(o);this.updateNodeObjectParentKey(e,i,n)}if(this.useNodeContainerId&&void 0!==this.nodeDataImporter.setContainerKey){var r=this.getContainerShapeKey(t),s=this.findNode(r);this.updateNodeObjectContainerKey(e,s,n)}if(this.useNodeItems&&void 0!==this.nodeDataImporter.setItems){o=this.getParentItemKey(t),i=this.findNode(o);this.updateNodeObjectItems(e,i,n)}if(this.useNodeChildren&&void 0!==this.nodeDataImporter.setChildren){r=this.getContainerShapeKey(t),s=this.findNode(r);this.updateNodeObjectChildren(e,s,n)}},e.prototype.IsNodeParentIdMode=function(){return this.useNodeParentId&&void 0!==this.nodeDataImporter.setParentKey},e.prototype.IsNodeItemsMode=function(){return this.useNodeItems&&void 0!==this.nodeDataImporter.setItems},e.prototype.updateNodeObjectParentKey=function(t,e,n){var o=this.nodeDataImporter.getParentKey(t.dataObj),i=e?this.nodeDataImporter.getKey(e.dataObj):void 0;o===i||this.isRootParentKey(o)&&this.isRootParentKey(i)||(this.setDataObjectKeyRelatedProperty(this.nodeDataImporter.setParentKey,t.dataObj,i,!1),n&&(this.isInUpdateNodeKeyRelatedObjects()?this.addToUpdateNodeKeyRelatedObjectsStackAction(\"shape\",t):this.updateNodeObjectContainerOrParentKeyInternal(t,n)))},e.prototype.updateNodeObjectParentKeyInternal=function(t,e){var n=this;this.beginChangesNotification(),e.notifyNodeUpdated.call(e,this.nodeDataImporter.getKey(t.dataObj)||t.key,t.dataObj,(function(t,e){n.endChangesNotification(!1)}),(function(t){n.endChangesNotification(!1)}))},e.prototype.updateNodeObjectContainerKey=function(t,e,n){var o=this.nodeDataImporter.getContainerKey(t.dataObj),i=e?this.nodeDataImporter.getKey(e.dataObj):void 0;o===i||this.isRootParentKey(o)&&this.isRootParentKey(i)||(this.setDataObjectKeyRelatedProperty(this.nodeDataImporter.setContainerKey,t.dataObj,i,!1),n&&(this.isInUpdateNodeKeyRelatedObjects()?this.addToUpdateNodeKeyRelatedObjectsStackAction(\"shape\",t):this.updateNodeObjectContainerOrParentKeyInternal(t,n)))},e.prototype.updateNodeObjectContainerOrParentKeyInternal=function(t,e){var n=this;this.beginChangesNotification(),e.notifyNodeUpdated.call(e,this.nodeDataImporter.getKey(t.dataObj)||t.key,t.dataObj,(function(t,e){n.endChangesNotification(!1)}),(function(t){n.endChangesNotification(!1)}))},e.prototype.isRootParentKey=function(t){return null==t||!this.findNode(t)},e.prototype.updateNodeObjectItems=function(t,e,n){var o=this;if((e&&t.parentDataObj!==e.dataObj||!e&&t.parentDataObj)&&(!e||!this.checkNodeCyrcleItems(t.dataObj,e.dataObj))){var i=t.parentDataObj?this.nodeDataImporter.getItems(t.parentDataObj):this.nodeDataSource,r=i.indexOf(t.dataObj);i.splice(r,1);var s=e?this.nodeDataImporter.getItems(e.dataObj):this.nodeDataSource;s?s.push(t.dataObj):this.nodeDataImporter.setItems(e.dataObj,[t.dataObj]),t.parentDataObj=e&&e.dataObj,n&&(this.beginChangesNotification(),n.notifyNodeUpdated.call(n,this.nodeDataImporter.getKey(t.dataObj)||t.key,t.dataObj,(function(t,e){o.endChangesNotification(!1)}),(function(t){o.endChangesNotification(!1)})))}},e.prototype.updateNodeObjectChildren=function(t,e,n){var o=this;if(e&&t.containerDataObj!==e.dataObj||!e&&t.containerDataObj){var i=t.containerDataObj?this.nodeDataImporter.getChildren(t.containerDataObj):this.nodeDataSource,r=i.indexOf(t.dataObj);i.splice(r,1);var s=e?this.nodeDataImporter.getChildren(e.dataObj):this.nodeDataSource;s?s.push(t.dataObj):this.nodeDataImporter.setChildren(e.dataObj,[t.dataObj]),t.containerDataObj=e&&e.dataObj,n&&(this.beginChangesNotification(),n.notifyNodeUpdated.call(n,this.nodeDataImporter.getKey(t.dataObj)||t.key,t.dataObj,(function(t,e){o.endChangesNotification(!1)}),(function(t){o.endChangesNotification(!1)})))}},e.prototype.checkNodeCyrcleItems=function(t,e){var n=this,o=!1,i=this.nodeDataImporter.getItems(t);return i&&i.forEach((function(t){o=o||t===e||n.checkNodeCyrcleItems(t,e)})),o},e.prototype.updateNodeObjectKey=function(t,e,n){var o=this.nodeDataImporter.getKey(n),i=!1;if(null!=o&&o!==e.key&&(delete this.autoGeneratedDataKeys[e.key],e.key=o,i=!0),t.dataKey=e.key,e.dataObj!==n){var r=this.getNodeArray(e),s=r.indexOf(e.dataObj);r.splice(s,1,n),e.dataObj=n}i&&this.updateNodeKeyRelatedObjects(t,e)},e.prototype.updateNodeKeyRelatedObjects=function(t,e){var n=this;if(this.isInNodeInserting())this.addToUpdateNodeKeyRelatedObjectsStack(t,e);else{if(this.useNodeParentId&&void 0!==this.nodeDataImporter.setParentKey)this.getChildItems(t).forEach((function(t){var o=n.findNode(t.dataKey);o&&n.updateNodeObjectParentKey(o,e,n.changesListener)}));this.useNodeContainerId&&void 0!==this.nodeDataImporter.setContainerKey&&t.children.forEach((function(t){var o=t instanceof s.Shape?n.findNode(t.dataKey):void 0;o&&n.updateNodeObjectContainerKey(o,e,n.changesListener)})),this.useEdgesArray()&&t.attachedConnectors.forEach((function(o){var i=n.findEdge(o.dataKey);i&&(t===o.beginItem&&n.updateEdgeObjectFromProperty(e,i,n.changesListener),t===o.endItem&&n.updateEdgeObjectToProperty(e,i,n.changesListener))}))}},e.prototype.deleteNodes=function(t){var e=this;this.deleteItems(this.nodes,(function(e){return t.findShapeByDataKey(e)}),(function(t){return e.getNodeArray(t)}),(function(t,n){var o=t.dataObj&&e.nodeDataImporter.getKey(t.dataObj)||t.key,i=e.findNode(o);i&&e.nodes.splice(e.nodes.indexOf(i),1),n&&(e.beginChangesNotification(),e.changesListener.notifyNodeRemoved.call(e.changesListener,o,t.dataObj,(function(t,n){e.endChangesNotification(!1)}),(function(t){e.endChangesNotification(!1)})))}))},e.prototype.getParentItem=function(t){for(var e=0;e0},e.prototype.addToUpdateNodeKeyRelatedObjectsStack=function(t,e){var n=new f(t,e);this.updateNodeKeyRelatedObjectsStack.push(n)},e.prototype.raiseNodeInsertingStack=function(){for(this.beginUpdateNodeKeyRelatedObjects();this.updateNodeKeyRelatedObjectsStack.length>0;){var t=this.updateNodeKeyRelatedObjectsStack[0];this.updateNodeKeyRelatedObjects(t.shape,t.nodeObj),this.updateNodeKeyRelatedObjectsStack.splice(0,1),t.shape.description.hasTemplate&&t.nodeObj&&this.changesListener.reloadInsertedItem(t.nodeObj.key)}this.endUpdateNodeKeyRelatedObjects()},e.prototype.beginUpdateNodeKeyRelatedObjects=function(){this.updateNodeKeyRelatedObjectsCount++},e.prototype.endUpdateNodeKeyRelatedObjects=function(){this.updateNodeKeyRelatedObjectsCount--,0===this.updateNodeKeyRelatedObjectsCount&&this.raiseUpdateNodeKeyRelatedObjectsStack()},e.prototype.isInUpdateNodeKeyRelatedObjects=function(){return this.updateNodeKeyRelatedObjectsCount>0},e.prototype.addToUpdateNodeKeyRelatedObjectsStackAction=function(t,e){for(var n=new y(t,e),o=0;o0;){var t=this.updateNodeKeyRelatedObjectsStackActions[0];switch(t.kind){case\"shape\":this.updateNodeObjectContainerOrParentKeyInternal(t.nodeObj,this.changesListener);break;case\"edge\":this.updateEdgeObjectFromOrToPropertyInternal(t.nodeObj,this.changesListener)}this.updateNodeKeyRelatedObjectsStackActions.splice(0,1)}},e.prototype.beginChangesNotification=function(){this.changesListener.beginChangesNotification()},e.prototype.endChangesNotification=function(t){this.changesListener.endChangesNotification(t)},e}(c.DataSource);e.DocumentDataSource=g},9463:(t,e)=>{var n;Object.defineProperty(e,\"__esModule\",{value:!0}),e.Diagnostics=void 0,function(t){t[t.Disabled=0]=\"Disabled\",t[t.Console=1]=\"Console\",t[t.Document=2]=\"Document\"}(n||(n={}));var o=function(){function t(){}return t.beginAverage=function(t){this.enableLogsAndTimers&&(this.lastAverageGroupName=t)},t.endAverage=function(){this.enableLogsAndTimers&&(this.lastAverageGroupName=null)},t.tryLogAverage=function(t){var e=this;if(this.lastAverageGroupName!==t){var n=Object.keys(this.timers).map((function(t){return e.timers[t]})).filter((function(e){return e.groupName===t}));if(!n.filter((function(t){return!t.endTime})).length){var o=n.reduce((function(t,e){return t+(e.endTime-e.startTime)}),0)/n.length;this.log(\"average: \"+o)}}},t.timer=function(t){this.enableLogsAndTimers&&(this.lastCreatedTimer={message:t,startTime:performance.now(),groupName:this.lastAverageGroupName})},t.endTimer=function(){var t=this;if(this.enableLogsAndTimers){var e=this.lastCreatedTimer,n=setTimeout((function(){e.endTime=performance.now(),t.showMessage('timer \"'+e.message+'\": '+(e.endTime-e.startTime)),e.groupName&&t.tryLogAverage(e.groupName)}),0);this.timers[n]=e,this.lastCreatedTimer=null}},t.logPerfInfo=function(){var t=document.querySelector(\".dxdi-control > svg\").querySelectorAll(\"*\").length,e=performance.memory;this.log(\"nodes: \"+t.toLocaleString()+(e?\" memory: \":\"\")+(e?e.usedJSHeapSize.toLocaleString():\"\"))},t.log=function(t){this.showMessage(t)},t.showMessage=function(e){switch(t.mode){case n.Console:console.log(e);break;case n.Document:var o=this.getElement().value;if(this.lastMessage===e){var i=o.indexOf(\"\\r\\n\");i<0&&(i=o.indexOf(\"\\n\"));var r=o.substr(0,i);/( \\()([0-9]+)(\\))$/.test(r)?r=r.replace(/( \\()([0-9]+)(\\))$/,(function(t,e,n,o){return e+ ++n+o})):r+=\" (1)\",this.getElement().value=r+o.substr(i)}else this.getElement().value=e+\"\\r\\n\"+o,this.lastMessage=e}},t.getElement=function(){var t=this;if(!this.el){this.el=document.createElement(\"textarea\"),this.el.style.top=\"0px\",this.el.style.right=\"0px\",this.el.style.position=\"fixed\",this.el.style.background=\"transparent\",this.el.style.fontSize=\"11px\",this.el.style.fontFamily=\"monospace\",this.el.style.overflow=\"auto\",this.el.style.width=\"400px\",document.body.appendChild(this.el);var e=document.createElement(\"button\");e.innerHTML=\"x\",e.addEventListener(\"click\",(function(){t.el.value=\"\",t.lastMessage=\"\"})),e.style.top=\"0px\",e.style.right=\"400px\",e.style.position=\"fixed\",e.style.opacity=\"0.1\",document.body.appendChild(e)}return this.el},t.mode=n.Document,t.optimizeUsingRAF=!0,t.optimizeLayers=!0,t.timers={},t.enableLogsAndTimers=!1,t}();e.Diagnostics=o},2106:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.DiagramControl=void 0;var o=n(8900),i=n(1118),r=n(7156),s=n(82),a=n(6613),c=n(9021),u=n(1864),h=n(2230),p=n(8098),l=n(8397),d=n(8717),f=n(240),y=n(6879),g=n(6734),m=n(4867),v=n(3298),P=n(8675),C=n(5656),S=n(7176),x=n(2883),b=n(5714),I=n(1733),w=n(7959),_=n(3503),T=n(6214),O=n(3500),M=n(3607),E=n(8679),D=function(){function t(){this.updateLockCount=0,this.shouldUpdateItemsByModel=!1,this.reloadContentNeeded=!1,this.reloadContentParameters=new T.ReloadContentParameters,this.reloadContentByExternalChangesParameters=new T.ReloadContentParameters,this.instanceId=E.MathUtils.generateGuid(),this.settings=new f.DiagramSettings,this.shapeDescriptionManager=new l.ShapeDescriptionManager,this.shapeDescriptionManager.onShapeDecriptionChanged.add(this),this.model=new a.DiagramModel,this.selection=new c.Selection(this.model),this.onNativeAction=new P.EventDispatcher,this.apiController=new C.ApiController(this.onNativeAction,this.selection,this.model),this.permissionsProvider=new x.PermissionsProvider(this.apiController),this.permissionsProvider.onRequestOperation.add(this),this.routingModel=new b.ConnectorRoutingModel,this.modelManipulator=new i.ModelManipulator(this.model,this.routingModel,this.permissionsProvider,this.shapeDescriptionManager),this.modelManipulator.onModelChanged.add(this.permissionsProvider),this.history=new u.History(this.modelManipulator,this),this.barManager=new h.BarManager(this),this.view=new g.ViewController(this.settings,this.barManager),this.commandManager=new r.CommandManager(this),this.eventManager=new s.EventManager(this),this.settings.onReadOnlyChanged.add(this.eventManager.mouseHandler),this.settings.onReadOnlyChanged.add(this.eventManager.visualizersManager),this.selection.onChanged.add(this.barManager),this.selection.onChanged.add(this.apiController),this.selection.onChanged.add(this.permissionsProvider),this.modelManipulator.commitItemsCreateChanges(),this.history.onChanged.add(this),this.toolboxManager=new v.ToolboxManager(this.shapeDescriptionManager),this.settings.onConnectorRoutingModeChanged.add(this.routingModel),S.ImageCache.instance.onReadyStateChanged.add(this)}return Object.defineProperty(t.prototype,\"operationSettings\",{get:function(){return this.permissionsProvider.operationSettings},enumerable:!1,configurable:!0}),t.prototype.cleanMarkup=function(t){t=t||function(t){O.RenderUtils.removeElement(t)},this.toolboxManager.clean(t),this.barManager.clean(),this.render&&(this.settings.onZoomChanged.remove(this.render.view),this.settings.onViewChanged.remove(this.render.page),this.settings.onViewChanged.remove(this.render.view),this.settings.onReadOnlyChanged.remove(this.render),this.settings.onReadOnlyChanged.remove(this.render.selection),this.eventManager.cleanToolboxes(this.settings.onReadOnlyChanged),this.eventManager.onTextInputOperation.remove(this.render.input),this.eventManager.onTextInputOperation.remove(this.render.items),this.eventManager.onTextInputOperation.remove(this.render.selection),this.eventManager.onMouseOperation.remove(this.render.items),this.eventManager.onMouseOperation.remove(this.render.selection),this.eventManager.onMouseOperation.remove(this.render.view),this.eventManager.onMouseOperation.remove(this.render),this.eventManager.onVisualizersUpdate.remove(this.render.selection),this.modelManipulator.onModelSizeChanged.remove(this.render.view),this.modelManipulator.onModelSizeChanged.remove(this.render.page),this.modelManipulator.onModelChanged.remove(this.render.items),this.modelManipulator.onModelChanged.remove(this.render.page),this.modelManipulator.onModelChanged.remove(this.render.selection),this.selection.onChanged.remove(this.render.selection),this.selection.onChanged.remove(this.render.items),this.render.clean(t),this.render=void 0),this.measurer&&this.measurer instanceof I.TextMeasurer&&this.measurer.clean()},t.prototype.dispose=function(){S.ImageCache.instance.onReadyStateChanged.remove(this)},t.prototype.createDocument=function(t,e,n){this.measurer||this.initMeasurer(t),this.render?this.render.replaceParent(t,e):(this.render=new p.RenderManager(t,this.eventManager,this.measurer,{pageColor:this.model.pageColor,modelSize:this.model.size,pageLandscape:this.model.pageLandscape,pageSize:this.model.pageSize,simpleView:this.settings.simpleView,readOnly:this.settings.readOnly,contextMenuEnabled:this.settings.contextMenuEnabled,gridSize:this.settings.gridSize,gridVisible:this.settings.showGrid,zoomLevel:this.settings.zoomLevel,autoZoom:this.settings.autoZoom,rectangle:this.model.getRectangle(!0)},this.instanceId,e,n),this.settings.onZoomChanged.add(this.render.view),this.settings.onViewChanged.add(this.render.page),this.settings.onViewChanged.add(this.render.view),this.settings.onReadOnlyChanged.add(this.render),this.settings.onReadOnlyChanged.add(this.render.selection),this.eventManager.onTextInputOperation.add(this.render.input),this.eventManager.onTextInputOperation.add(this.render.items),this.eventManager.onTextInputOperation.add(this.render.selection),this.eventManager.onTextInputOperation.add(this),this.eventManager.onMouseOperation.add(this.render.items),this.eventManager.onMouseOperation.add(this.render.selection),this.eventManager.onMouseOperation.add(this.render.view),this.eventManager.onMouseOperation.add(this.render),this.eventManager.onVisualizersUpdate.add(this.render.selection),this.modelManipulator.onModelSizeChanged.add(this.render.view),this.modelManipulator.onModelSizeChanged.add(this.render.page),this.modelManipulator.onModelChanged.add(this.render.items),this.modelManipulator.onModelChanged.add(this.render.page),this.modelManipulator.onModelChanged.add(this.render.selection),this.selection.onChanged.add(this.render.selection),this.selection.onChanged.add(this.render.items),this.render.update(!1),this.render.onNewModel(this.model.items),this.modelManipulator.commitItemsCreateChanges(),this.view.initialize(this.render.view),this.settings.zoomLevelWasChanged&&this.raiseCanvasViewActualZoomChanged(),this.selection.raiseSelectionChanged())},t.prototype.createToolbox=function(t,e,n,o){var i=this.toolboxManager.create(t,this.settings.readOnly,!0,e,n,this.getToolboxAllowedShapeTypes.bind(this),this.instanceId,o);this.settings.onReadOnlyChanged.add(i),i.onDragOperation.add(this),i.onDragOperation.add(this.apiController),this.eventManager.registerToolbox(i)},t.prototype.createContextToolbox=function(t,e,n,o,i){this.cleanContextToolbox(),this.contextToolbox=this.toolboxManager.create(t,this.settings.readOnly,!1,e,n,this.getToolboxAllowedShapeTypes.bind(this),this.instanceId,o),this.contextToolbox.onClickOperation.add(this),this.contextToolboxOnClick=i},t.prototype.getToolboxAllowedShapeTypes=function(t){var e=this,n=[];return this.permissionsProvider.beginUpdateUI(),t.forEach((function(t){e.permissionsProvider.canAddShapeFromToolbox(t)&&n.push(t)})),this.permissionsProvider.endUpdateUI(),n},t.prototype.cleanContextToolbox=function(){this.contextToolbox&&(this.toolboxManager.clean(void 0,this.contextToolbox),this.contextToolbox=void 0,this.contextToolboxOnClick=void 0)},t.prototype.refreshToolbox=function(t){this.permissionsProvider.clearCache(y.DiagramModelOperation.AddShapeFromToolbox),this.toolboxManager.refresh(t)},t.prototype.applyToolboxFilter=function(t,e){return this.toolboxManager.applyFilter(t,e)},t.prototype.notifyToolboxClick=function(t){this.contextToolboxOnClick&&this.contextToolboxOnClick(t)},t.prototype.initMeasurer=function(t){this.measurer=new I.TextMeasurer(t)},t.prototype.onDimensionChanged=function(){M.Browser.TouchUI||this.updateLayout(!0)},t.prototype.updateLayout=function(t){void 0===t&&(t=!1),this.render&&this.render.update(!t)},t.prototype.captureFocus=function(){this.render&&this.render.input.captureFocus()},t.prototype.isFocused=function(){return!this.render||this.render.input.isFocused()},t.prototype.registerBar=function(t){this.barManager.registerBar(t)},t.prototype.updateBarItemsState=function(t,e){this.barManager.updateBarItemsState(t,e)},t.prototype.getCommand=function(t){return this.commandManager.getCommand(t)},t.prototype.getNativeItemByKey=function(t){var e=this.model.findItem(t);return e&&this.apiController.createNativeItem(e)},t.prototype.getNativeItemByDataKey=function(t){var e=this.model.findItemByDataKey(t);return e&&this.apiController.createNativeItem(e)},t.prototype.getNativeItems=function(){var t=this;return this.model.items.map((function(e){return t.apiController.createNativeItem(e)}))},t.prototype.getNativeSelectedItems=function(){var t=this;return this.selection.getKeys().map((function(e){return t.apiController.createNativeItem(t.model.findItem(e))}))},t.prototype.setSelectedItems=function(t){this.selection.set(t)},t.prototype.scrollToItems=function(t){var e=this,n=P.GeometryUtils.getCommonRectangle(t.map((function(t){return e.model.findItem(t).rectangle})));this.view.scrollIntoView(n)},t.prototype.setInitialStyleProperties=function(t){this.selection.inputPosition.setInitialStyleProperties(t)},t.prototype.setInitialTextStyleProperties=function(t){this.selection.inputPosition.setInitialTextStyleProperties(t)},t.prototype.setInitialConnectorProperties=function(t){this.selection.inputPosition.setInitialConnectorProperties(t)},t.prototype.addCustomShapes=function(t){var e=this;t.forEach((function(t){t.apiController=e.apiController,t.defaultWidth&&(t.defaultWidth=m.ModelUtils.getTwipsValue(e.model.units,t.defaultWidth)),t.defaultHeight&&(t.defaultHeight=m.ModelUtils.getTwipsValue(e.model.units,t.defaultHeight)),t.minWidth&&(t.minWidth=m.ModelUtils.getTwipsValue(e.model.units,t.minWidth)),t.minHeight&&(t.minHeight=m.ModelUtils.getTwipsValue(e.model.units,t.minHeight)),t.maxWidth&&(t.maxWidth=m.ModelUtils.getTwipsValue(e.model.units,t.maxWidth)),t.maxHeight&&(t.maxHeight=m.ModelUtils.getTwipsValue(e.model.units,t.maxHeight)),e.shapeDescriptionManager.registerCustomShape(t)}))},t.prototype.removeCustomShapes=function(t){var e=this;t.forEach((function(t){e.shapeDescriptionManager.unregisterCustomShape(t)}))},t.prototype.removeAllCustomShapes=function(){this.shapeDescriptionManager.unregisterAllCustomShapes()},t.prototype.importModel=function(t){t.units=this.model.units,this.model=t,this.model.initializeKeyCounter(),this.apiController.model=t,this.onImportData()},t.prototype.importItemsData=function(){this.onImportData()},t.prototype.onImportData=function(){this.render&&(this.render.clear(),this.render.onNewModel(this.model.items)),this.permissionsProvider.clearCache(),this.selection.initialize(this.model),this.modelManipulator.initialize(this.model,this.routingModel),this.history.clear(),this.eventManager.initialize(),this.modelManipulator.commitPageChanges(),this.modelManipulator.commitItemsCreateChanges(),this.notifyViewChanged(),this.notifyHistoryChanged()},t.prototype.createDocumentDataSource=function(t,e,n,o,i){return this.documentDataSource=new d.DocumentDataSource(this,t,e,n,o,i),this.apiController.setDataSource(this.documentDataSource),this.documentDataSource},t.prototype.deleteDocumentDataSource=function(){this.apiController.setDataSource(null),delete this.documentDataSource},t.prototype.applyShapeSizeSettings=function(t){this.settings.applyShapeSizeSettings(t,this.model.units)},t.prototype.applyOperationSettings=function(t){this.permissionsProvider.operationSettings.applySettings(t)},t.prototype.beginUpdateCanvas=function(){this.render&&(this.render.items.beginUpdate(),this.render.selection.beginUpdate())},t.prototype.endUpdateCanvas=function(){this.render&&(this.render.items.endUpdate(),this.render.selection.endUpdate())},t.prototype.beginUpdate=function(){this.barManager.beginUpdate(),this.apiController.beginUpdate(),this.eventManager.beginUpdate()},t.prototype.endUpdate=function(){this.barManager.endUpdate(),this.apiController.endUpdate(),this.eventManager.endUpdate()},t.prototype.notifyEdgeInserted=function(t,e,n){this.onEdgeInserted?this.onEdgeInserted(t,e,n):e(t)},t.prototype.notifyEdgeUpdated=function(t,e,n,o){this.onEdgeUpdated?this.onEdgeUpdated(t,e,n,o):n(t,e)},t.prototype.notifyEdgeRemoved=function(t,e,n,o){this.onEdgeUpdated?this.onEdgeRemoved(t,e,n,o):n(t,e)},t.prototype.notifyNodeInserted=function(t,e,n){this.onNodeInserted?this.onNodeInserted(t,e,n):e(t)},t.prototype.notifyNodeUpdated=function(t,e,n,o){this.onNodeUpdated?this.onNodeUpdated(t,e,n,o):n(t,e)},t.prototype.notifyNodeRemoved=function(t,e,n,o){this.onNodeRemoved?this.onNodeRemoved(t,e,n,o):n(t,e)},t.prototype.reloadInsertedItem=function(t){this.settings.reloadInsertedItemRequired&&this.reloadContent(t)},t.prototype.reloadContent=function(t,e,n,o){if(this.documentDataSource){this.isChangesLocked()&&(this.reloadContentNeeded=!0);var i=!0===o||void 0===o&&!this.reloadContentNeeded,r=i?this.reloadContentByExternalChangesParameters:this.reloadContentParameters;r.add(t,e,n),this.isChangesLocked()||(this.reloadContentCore(r,i),this.barManager.updateItemsState())}},t.prototype.reloadContentCore=function(t,e){var n=this,o=t.getData&&t.getData(),i=this.documentDataSource.refetchData(o&&o.nodeDataSource,o&&o.edgeDataSource);this.beginUpdateCanvas(),this.permissionsProvider.lockPermissions(),this.documentDataSource.updateModelItems(this.history,this.model,this.shapeDescriptionManager,this.selection,new _.DataLayoutParameters(this.settings,t.layoutParameters),e,t.dataKeys,(function(t){n.modelManipulator.commitItemUpdateChanges(t)}),i,this.settings.snapToGrid,this.settings.gridSize,this.measurer),this.permissionsProvider.unlockPermissions(),this.endUpdateCanvas(),t.clear()},t.prototype.notifyHistoryChanged=function(){this.documentDataSource?(this.shouldUpdateItemsByModel=!0,this.settings.readOnly||this.notifyDataChanges()):this.raiseOnChanged()},t.prototype.notifyViewChanged=function(){this.settings.notifyViewChanged()},t.prototype.notifyToolboxDragStart=function(t){this.render.notifyToolboxDragStart(t),this.onToolboxDragStart&&this.onToolboxDragStart()},t.prototype.notifyToolboxDragEnd=function(t){this.render.notifyToolboxDragEnd(t),this.onToolboxDragEnd&&this.onToolboxDragEnd()},t.prototype.notifyToolboxDraggingMouseMove=function(t){this.render&&this.render.notifyToolboxDraggingMouseMove(t)},t.prototype.notifyTextInputStart=function(t,e,n,o){this.onTextInputStart&&this.onTextInputStart()},t.prototype.notifyTextInputEnd=function(t,e){this.onTextInputEnd&&this.onTextInputEnd()},t.prototype.notifyTextInputPermissionsCheck=function(t,e){},t.prototype.notifyToggleFullscreen=function(t){this.onToggleFullscreen&&this.onToggleFullscreen(t)},t.prototype.notifyShowContextMenu=function(t,e){if(this.onShowContextMenu&&this.render){var n=void 0;if(this.selection.getSelectedItems(!0).length>0){var i=m.ModelUtils.createRectangle(this.selection.getSelectedItems(!0)),r=this.render.getEventPointByModelPoint(i.createPosition()),s=this.render.view.getAbsoluteSize(i.createSize());n={x:r.x,y:r.y,width:s.width,height:s.height}}if(t)this.contextMenuPosition=new o.Point(t.x,t.y),this.onShowContextMenu(t.x,t.y,n);else if(e){var a=this.render.getEventPointByModelPoint(e);this.contextMenuPosition=a.clone(),this.onShowContextMenu(a.x,a.y,n)}}},t.prototype.notifyHideContextMenu=function(){this.onHideContextMenu&&this.render&&this.onHideContextMenu()},t.prototype.notifyShowContextToolbox=function(t,e,n,o,i){if(this.onShowContextToolbox&&this.render){var r=this.render.getEventPointByModelPoint(t);this.onShowContextToolbox(r.x,r.y,n,o,i),this.render.view.notifyShowContextToolbox()}},t.prototype.notifyHideContextToolbox=function(){this.onHideContextToolbox&&this.render&&(this.onHideContextToolbox(),this.render.view.notifyHideContextToolbox()),this.cleanContextToolbox()},t.prototype.notifyShapeDescriptionChanged=function(t){this.modelManipulator.updateShapeDescription(t)},t.prototype.notifyImageCacheReadyStateChanged=function(t){this.barManager.updateItemsState()},t.prototype.raiseCanvasViewActualZoomChanged=function(){this.render.view.raiseActualZoomChanged()},t.prototype.notifyRequestOperation=function(t,e){this.requestOperationByDataSource(t,e)||this.onRequestOperation&&this.onRequestOperation(t,e)},t.prototype.requestOperationByDataSource=function(t,e){if(!this.documentDataSource||!this.documentDataSource.IsNodeParentIdMode()&&!this.documentDataSource.IsNodeItemsMode())return!1;if(t===y.DiagramModelOperation.ChangeConnection){var n=e,o=n.shape&&this.model.findItem(n.shape.id),i=n.connector&&this.model.findItem(n.connector.id);if(!o||!i)return;if(n.position===w.ConnectorPosition.End)for(var r=0;r0},t.prototype.beginChangesNotification=function(){this.isChangesLocked()||this.changesLockChanged&&this.changesLockChanged(!0),this.updateLockCount++},t.prototype.endChangesNotification=function(t){var e=this;this.updateLockCount--,this.isChangesLocked()||(this.changesLockChanged(!1),t||setTimeout((function(){e.notifyReloadContent(),e.notifyDataChanges()}),0))},t.prototype.changesLockChanged=function(t){t?this.lockedReadOnly=this.settings.readOnly:t=this.lockedReadOnly,this.commandManager.getCommand(r.DiagramCommand.ToggleReadOnly).execute(t)},t.prototype.notifyDataChanges=function(){this.isChangesLocked()||(this.shouldUpdateItemsByModel&&(this.documentDataSource.updateItemsByModel(this.model),this.shouldUpdateItemsByModel=!1),this.raiseOnChanged())},t.prototype.notifyReloadContent=function(){this.reloadContentNeeded&&(this.reloadContentParameters.empty||this.reloadContentCore(this.reloadContentParameters,!1),this.reloadContentByExternalChangesParameters.empty||this.reloadContentCore(this.reloadContentByExternalChangesParameters,!0),this.reloadContentNeeded=!1)},t.prototype.raiseOnChanged=function(){this.onChanged&&this.onChanged()},t}();e.DiagramControl=D},5383:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.PageOrientation=e.DiagramUnit=void 0,function(t){t[t.In=0]=\"In\",t[t.Cm=1]=\"Cm\",t[t.Px=2]=\"Px\"}(e.DiagramUnit||(e.DiagramUnit={})),function(t){t[t.Portrait=0]=\"Portrait\",t[t.Landscape=1]=\"Landscape\"}(e.PageOrientation||(e.PageOrientation={}))},9946:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ContextMenuHandler=void 0;var r=n(8675),s=n(6031),a=n(2153),c=n(1772),u=n(9279),h=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.contextMenuVisible=!1,e.textInputStarted=!1,e.canHideContextMenu=!0,e.onVisibilityChanged=new r.EventDispatcher,e}return i(e,t),e.prototype.onMouseDown=function(t){t.button===s.MouseButton.Left&&t.source.type!==s.MouseEventElementType.Undefined&&this.hideContextMenu()},e.prototype.onMouseUp=function(t){(!u.Browser.MacOSPlatform||u.Browser.MacOSPlatform&&this.canHideContextMenu)&&this.hideContextMenu(),this.canHideContextMenu=!0},e.prototype.onContextMenu=function(t){u.Browser.MacOSPlatform&&(this.canHideContextMenu=!1),this.showContextMenu(t.eventPoint,t.modelPoint)},e.prototype.onFocus=function(t){},e.prototype.onBlur=function(t){},e.prototype.onTextInputFocus=function(t){},e.prototype.onTextInputBlur=function(t){},e.prototype.onLongTouch=function(t){},e.prototype.onKeyDown=function(t){t.keyCode===a.KeyCode.Esc&&this.hideContextMenu()},e.prototype.onShortcut=function(t){this.hideContextMenu()},e.prototype.showContextMenu=function(t,e){var n=this;this.textInputStarted||window.setTimeout((function(){n.onVisibilityChanged.raise1((function(n){return n.notifyShowContextMenu(t,e)})),n.contextMenuVisible=!0}),0)},e.prototype.hideContextMenu=function(){var t=this;this.contextMenuVisible&&window.setTimeout((function(){t.onVisibilityChanged.raise1((function(t){return t.notifyHideContextMenu()})),t.contextMenuVisible=!1}),0)},e.prototype.notifyDragStart=function(t){},e.prototype.notifyDragEnd=function(t){},e.prototype.notifyDragScrollStart=function(){},e.prototype.notifyDragScrollEnd=function(){},e.prototype.notifyShowContextToolbox=function(t,e,n,o,i){},e.prototype.notifyHideContextToolbox=function(){},e.prototype.notifyTextInputStart=function(t,e,n,o){this.textInputStarted=!0},e.prototype.notifyTextInputEnd=function(t,e){this.textInputStarted=!1},e.prototype.notifyTextInputPermissionsCheck=function(t,e){},e.prototype.onUpdateUnlocked=function(t){},e}(c.BatchUpdatableObject);e.ContextMenuHandler=h},151:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ContextMenuTouchHandler=void 0;var r=n(6031),s=n(9946),a=n(4867),c=function(t){function e(e){var n=t.call(this)||this;return n.selection=e,n.contextToolboxVisible=!1,n.selection.onChanged.add(n),n}return i(e,t),e.prototype.onMouseDown=function(t){void 0===t.source.key&&this.hideContextMenu()},e.prototype.onMouseUp=function(t){},e.prototype.onFocus=function(t){var e=this;setTimeout((function(){e.showContextMenuAtSelection()}),1)},e.prototype.onBlur=function(t){var e=this;setTimeout((function(){e.hideContextMenu()}),1)},e.prototype.onTextInputFocus=function(t){var e=this;setTimeout((function(){e.hideContextMenu()}),1)},e.prototype.onTextInputBlur=function(t){var e=this;setTimeout((function(){e.showContextMenuAtSelection()}),1)},e.prototype.onLongTouch=function(t){t.source.type===r.MouseEventElementType.Document&&this.showContextMenuAtEmptySelection(t.modelPoint)},e.prototype.onKeyDown=function(t){},e.prototype.onShortcut=function(t){},e.prototype.getSelectedItems=function(){return this.selection.getSelectedItems(!0)},e.prototype.showContextMenuAtSelection=function(){if(!this.contextToolboxVisible){var t=this.getSelectedItems();0!==t.length&&this.showContextMenu(void 0,a.ModelUtils.createRectangle(t).createPosition())}},e.prototype.showContextMenuAtEmptySelection=function(t){this.contextToolboxVisible||0===this.getSelectedItems().length&&this.showContextMenu(void 0,t)},e.prototype.notifyDragStart=function(t){this.hideContextMenu()},e.prototype.notifyDragEnd=function(t){this.showContextMenuAtSelection()},e.prototype.notifySelectionChanged=function(t){this.isUpdateLocked()?this.registerOccurredEvent(1):this.raiseSelectionChanged()},e.prototype.raiseSelectionChanged=function(){0!==this.getSelectedItems().length?this.showContextMenuAtSelection():this.hideContextMenu()},e.prototype.onUpdateUnlocked=function(t){1&t&&this.raiseSelectionChanged()},e.prototype.notifyShowContextToolbox=function(t,e,n,o,i){this.contextToolboxVisible=!0,this.hideContextMenu()},e.prototype.notifyHideContextToolbox=function(){this.contextToolboxVisible=!1,this.showContextMenuAtSelection()},e}(s.ContextMenuHandler);e.ContextMenuTouchHandler=c},4426:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ContextToolboxHandler=void 0;var o=n(6031),i=n(8675),r=n(2153),s=n(9279),a=function(){function t(){this.contextToolboxVisible=!1,this.onVisibilityChanged=new i.EventDispatcher}return t.prototype.onMouseDown=function(t){t.source.type!==o.MouseEventElementType.Undefined&&this.hideContextToolbox()},t.prototype.onMouseUp=function(t){t.source.type===o.MouseEventElementType.Undefined&&s.Browser.TouchUI||this.hideContextToolbox()},t.prototype.onFocus=function(t){},t.prototype.onBlur=function(t){},t.prototype.onKeyDown=function(t){t.keyCode===r.KeyCode.Esc&&this.hideContextToolbox()},t.prototype.onShortcut=function(t){this.hideContextToolbox()},t.prototype.showContextToolbox=function(t,e,n,o,i,r){this.onVisibilityChanged.raise1((function(r){return r.notifyShowContextToolbox(t,e,n,o,i)})),this.contextToolboxVisible=!0,this.contextToolboxCancelCallback=r},t.prototype.hideContextToolbox=function(t){this.contextToolboxVisible&&(this.onVisibilityChanged.raise1((function(t){return t.notifyHideContextToolbox()})),this.contextToolboxCancelCallback&&(t||this.contextToolboxCancelCallback(),this.contextToolboxCancelCallback=void 0),this.contextToolboxVisible=!1)},t}();e.ContextToolboxHandler=a},6031:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.DiagramClipboardEvent=e.DiagramKeyboardEvent=e.DiagramContextMenuEvent=e.DiagramWheelEvent=e.DiagramMouseEvent=e.DiagramMouseEventBase=e.DiagramMouseEventTouch=e.DiagramFocusEvent=e.DiagramEvent=e.ResizeEventSource=e.MouseEventSource=e.MouseEventElementType=e.MouseButton=void 0;var r=n(2153);!function(t){t[t.None=0]=\"None\",t[t.Left=1]=\"Left\",t[t.Right=2]=\"Right\",t[t.Middle=4]=\"Middle\"}(e.MouseButton||(e.MouseButton={})),function(t){t[t.Undefined=0]=\"Undefined\",t[t.Background=1]=\"Background\",t[t.Document=2]=\"Document\",t[t.Connector=3]=\"Connector\",t[t.ConnectorPoint=4]=\"ConnectorPoint\",t[t.ConnectorSide=5]=\"ConnectorSide\",t[t.ConnectorOrthogonalSide=6]=\"ConnectorOrthogonalSide\",t[t.ConnectorText=7]=\"ConnectorText\",t[t.Shape=8]=\"Shape\",t[t.ShapeResizeBox=9]=\"ShapeResizeBox\",t[t.ShapeParameterBox=10]=\"ShapeParameterBox\",t[t.SelectionRect=11]=\"SelectionRect\",t[t.ShapeConnectionPoint=12]=\"ShapeConnectionPoint\",t[t.ShapeExpandButton=13]=\"ShapeExpandButton\"}(e.MouseEventElementType||(e.MouseEventElementType={}));var s=function(t,e,n){this.type=t,this.key=e,this.value=n};e.MouseEventSource=s,function(t){t[t.Undefined=0]=\"Undefined\",t[t.ResizeBox_NW=1]=\"ResizeBox_NW\",t[t.ResizeBox_NE=2]=\"ResizeBox_NE\",t[t.ResizeBox_SE=3]=\"ResizeBox_SE\",t[t.ResizeBox_SW=4]=\"ResizeBox_SW\",t[t.ResizeBox_N=5]=\"ResizeBox_N\",t[t.ResizeBox_E=6]=\"ResizeBox_E\",t[t.ResizeBox_S=7]=\"ResizeBox_S\",t[t.ResizeBox_W=8]=\"ResizeBox_W\"}(e.ResizeEventSource||(e.ResizeEventSource={}));var a=function(t){this.modifiers=t};e.DiagramEvent=a;var c=function(t){function e(e){var n=t.call(this,r.ModifierKey.None)||this;return n.inputText=e,n}return i(e,t),e}(a);e.DiagramFocusEvent=c;var u=function(t,e){this.offsetPoint=t,this.modelPoint=e};e.DiagramMouseEventTouch=u;var h=function(t){function e(e,n,o,i){var r=t.call(this,e)||this;return r.offsetPoint=n,r.modelPoint=o,r.source=i,r}return i(e,t),e}(a);e.DiagramMouseEventBase=h;var p=function(t){function e(e,n,o,i,r,s,a){void 0===s&&(s=[]);var c=t.call(this,e,o,i,r)||this;return c.button=n,c.touches=s,c.isTouchMode=a,c.scrollX=0,c.scrollY=0,c}return i(e,t),e}(h);e.DiagramMouseEvent=p;var l=function(t){function e(e,n,o,i,r,s){var a=t.call(this,e,i,r,s)||this;return a.deltaX=n,a.deltaY=o,a}return i(e,t),e}(h);e.DiagramWheelEvent=l;var d=function(t){function e(e,n,o){var i=t.call(this,e)||this;return i.eventPoint=n,i.modelPoint=o,i}return i(e,t),e}(a);e.DiagramContextMenuEvent=d;var f=function(t){function e(e,n,o){var i=t.call(this,e)||this;return i.keyCode=n,i.inputText=o,i}return i(e,t),e.prototype.getShortcutCode=function(){return this.modifiers|this.keyCode},e}(a);e.DiagramKeyboardEvent=f;var y=function(t){function e(e){var n=t.call(this,r.ModifierKey.None)||this;return n.clipboardData=e,n}return i(e,t),e}(a);e.DiagramClipboardEvent=y},82:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.EventManager=void 0;var o=n(5689),i=n(8675),r=n(8376),s=n(9946),a=n(151),c=n(7733),u=n(7459),h=n(4426),p=n(9279),l=n(2153),d=function(){function t(t){this.onMouseOperation=new i.EventDispatcher,this.onTextInputOperation=new i.EventDispatcher,this.toolboxes=[],this.control=t,this.visualizersManager=i.EventUtils.isTouchMode()?new u.VisualizerTouchManager(t.selection,t.model,this,t.settings):new c.VisualizerManager(t.selection,t.model,this,t.settings),this.onMouseOperation.add(this.visualizersManager),this.contextMenuHandler=p.Browser.TouchUI?new a.ContextMenuTouchHandler(t.selection):new s.ContextMenuHandler,this.contextMenuHandler.onVisibilityChanged.add(t),this.onMouseOperation.add(this.contextMenuHandler),this.onTextInputOperation.add(this.contextMenuHandler),this.contextToolboxHandler=new h.ContextToolboxHandler,this.contextToolboxHandler.onVisibilityChanged.add(t),this.contextToolboxHandler.onVisibilityChanged.add(this.contextMenuHandler),this.mouseHandler=new o.MouseHandler(t.history,t.selection,t.model,this,t.settings.readOnly,t.view,this.visualizersManager,this.contextToolboxHandler,t.shapeDescriptionManager,t.settings,t.permissionsProvider),this.textInputHandler=new r.TextInputHandler(t),this.visualizersManager.onVisualizersUpdate.add(this.mouseHandler)}return Object.defineProperty(t.prototype,\"onVisualizersUpdate\",{get:function(){return this.visualizersManager.onVisualizersUpdate},enumerable:!1,configurable:!0}),t.prototype.registerToolbox=function(t){this.toolboxes.push(t)},t.prototype.cleanToolboxes=function(t){this.toolboxes.forEach((function(e){t.remove(e)})),this.toolboxes=[]},t.prototype.initialize=function(){this.visualizersManager.initialize(this.control.model),this.mouseHandler.initialize(this.control.model)},t.prototype.beginUpdate=function(t){this.contextMenuHandler.beginUpdate(),this.visualizersManager.beginUpdate()},t.prototype.endUpdate=function(){this.contextMenuHandler.endUpdate(),this.visualizersManager.endUpdate()},t.prototype.onMouseDown=function(t){this.mouseHandler.onMouseDown(t),this.contextMenuHandler.onMouseDown(t),this.visualizersManager.onMouseDown(t),this.contextToolboxHandler.onMouseDown(t)},t.prototype.onMouseMove=function(t){this.processDragging(t),this.mouseHandler.onMouseMove(t)},t.prototype.onMouseUp=function(t){this.contextToolboxHandler.onMouseUp(t),this.mouseHandler.onMouseUp(t),this.contextMenuHandler.onMouseUp(t),this.visualizersManager.onMouseUp(t),this.processDragging(t)},t.prototype.onMouseEnter=function(t){this.visualizersManager.onMouseEnter(t)},t.prototype.onMouseLeave=function(t){this.visualizersManager.onMouseLeave(t)},t.prototype.onDblClick=function(t){this.mouseHandler.onMouseDblClick(t),this.textInputHandler.onDblClick(t),this.control.apiController.notifyDblClick(t)},t.prototype.onClick=function(t){this.mouseHandler.onMouseClick(t),this.control.apiController.notifyClick(t)},t.prototype.onContextMenu=function(t){this.contextMenuHandler.onContextMenu(t)},t.prototype.onLongTouch=function(t){this.mouseHandler.onLongTouch(t),this.contextMenuHandler.onLongTouch(t)},t.prototype.onBlur=function(t){this.contextMenuHandler.onBlur(t),this.contextToolboxHandler.onBlur(t),this.visualizersManager.onBlur(t)},t.prototype.onFocus=function(t){this.contextMenuHandler.onFocus(t),this.contextToolboxHandler.onFocus(t),this.visualizersManager.onFocus(t)},t.prototype.onKeyDown=function(t){var e=t.getShortcutCode();this.onShortcut(e)?(this.visualizersManager.updateConnectionPoints(),this.contextMenuHandler.onShortcut(t),this.contextToolboxHandler.onShortcut(t),t.preventDefault=!0):this.isShortcutForFocusInput(e)&&(t.preventDefault=!0),this.contextMenuHandler.onKeyDown(t),this.contextToolboxHandler.onKeyDown(t),this.mouseHandler.onKeyDown(t)},t.prototype.onKeyUp=function(t){this.mouseHandler.onKeyUp(t)},t.prototype.onTextInputBlur=function(t){this.textInputHandler.onBlur(t),this.contextMenuHandler.onTextInputBlur(t)},t.prototype.onTextInputFocus=function(t){this.textInputHandler.onFocus(t),this.contextMenuHandler.onTextInputFocus(t)},t.prototype.onTextInputKeyDown=function(t){this.textInputHandler.onKeyDown(t)},t.prototype.onShortcut=function(t){return!!this.control.commandManager.processShortcut(t)||(!!this.mouseHandler.onShortcut(t)||void 0)},t.prototype.isShortcutForFocusInput=function(t){return t===l.KeyCode.Delete||t===(l.KeyCode.Delete|l.ModifierKey.Ctrl)||t===(l.KeyCode.Delete|l.ModifierKey.Meta)||t===l.KeyCode.Backspace||t===(l.KeyCode.Backspace|l.ModifierKey.Ctrl)||t===(l.KeyCode.Backspace|l.ModifierKey.Shift)||t===(l.KeyCode.Backspace|l.ModifierKey.Meta)||t===l.KeyCode.Home||t===l.KeyCode.End||t===l.KeyCode.Up||t===(l.KeyCode.Up|l.ModifierKey.Ctrl)||t===(l.KeyCode.Up|l.ModifierKey.Meta)||t===l.KeyCode.Down||t===(l.KeyCode.Down|l.ModifierKey.Ctrl)||t===(l.KeyCode.Down|l.ModifierKey.Meta)||t===l.KeyCode.Left||t===(l.KeyCode.Left|l.ModifierKey.Ctrl)||t===(l.KeyCode.Left|l.ModifierKey.Meta)||t===l.KeyCode.Right||t===(l.KeyCode.Right|l.ModifierKey.Ctrl)||t===(l.KeyCode.Right|l.ModifierKey.Meta)},t.prototype.onPaste=function(t){!this.textInputHandler.isTextInputActive()&&this.control.commandManager.processPaste(t.clipboardData)&&(this.visualizersManager.updateConnectionPoints(),t.preventDefault=!0)},t.prototype.onMouseWheel=function(t){this.mouseHandler.onWheel(t)&&(t.preventDefault=!0)},t.prototype.isFocused=function(){return this.control.isFocused()},t.prototype.processDragging=function(t){var e=this.getDraggingEvent();e&&this.draggingEvent!==e?(this.draggingEvent=e,this.mouseHandler.onDragStart(this.draggingEvent),this.control.captureFocus()):!e&&this.draggingEvent&&(delete this.draggingEvent,this.mouseHandler.onDragEnd(t))},t.prototype.getDraggingEvent=function(){return this.toolboxes.filter((function(t){return t.draggingObject})).map((function(t){return t.draggingObject.evt}))[0]},t.prototype.onDocumentDragStart=function(t){this.control.beginUpdate(),this.control.captureFocus(),this.onMouseOperation.raise(\"notifyDragStart\",t)},t.prototype.onDocumentDragEnd=function(t){this.onMouseOperation.raise(\"notifyDragEnd\",t),this.control.endUpdate(),this.control.barManager.updateItemsState()},t.prototype.onDocumentDragScrollStart=function(){this.onMouseOperation.raise1((function(t){return t.notifyDragScrollStart()}))},t.prototype.onDocumentDragScrollEnd=function(){this.onMouseOperation.raise1((function(t){return t.notifyDragScrollEnd()}))},t.prototype.onDocumentClick=function(t){this.control.beginUpdate(),this.control.endUpdate(),this.control.barManager.updateItemsState()},t.prototype.raiseTextInputStart=function(t,e,n,o){this.onTextInputOperation.raise(\"notifyTextInputStart\",t,e,n,o)},t.prototype.raiseTextInputEnd=function(t,e){this.onTextInputOperation.raise(\"notifyTextInputEnd\",t,e)},t.prototype.raiseTextInputPermissionsCheck=function(t,e){this.onTextInputOperation.raise(\"notifyTextInputPermissionsCheck\",t,e)},t.prototype.canFinishTextEditing=function(){return this.textInputHandler.canFinishTextEditing()},t}();e.EventManager=d},5689:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.MouseHandler=void 0;var o=n(3250),i=n(6031),r=n(8900),s=n(4867),a=n(8032),c=n(7286),u=n(8502),h=n(2153),p=n(8675),l=function(){function t(t,e,n,o,i,r,s,a,c,u,h){this.history=t,this.selection=e,this.model=n,this.eventManager=o,this.readOnly=i,this.view=r,this.visualizerManager=s,this.contextToolboxHandler=a,this.shapeDescriptionManager=c,this.settings=u,this.permissionsProvider=h,this.finishStateLock=0,this.initialize(n),this.selection.onChanged.add(this)}return t.prototype.initialize=function(t){this.model=t,this.allowMultipleSelection=!0,this.allowCopyDiagramItems=!0,this.allowSnapToCellOnDragDiagramItem=!0,this.allowSnapToCellOnDragPoint=!0,this.allowSnapToCellOnResizeShape=!0,this.allowFixedDrag=!0,this.allowZoomOnWheel=!0,this.allowScrollPage=!0,this.shouldScrollPage=!1,this.copyDiagramItemsByCtrlAndShift=!1,this.startScrollingPageByCtrl=!1,this.initializeDefaultState()},t.prototype.initializeDefaultState=function(){this.defaultState=this.readOnly?p.EventUtils.isTouchMode()?new a.MouseHandlerDefaultReadOnlyTouchState(this,this.history,this.selection,this.model,this.view,this.visualizerManager,this.shapeDescriptionManager,this.settings):new c.MouseHandlerDefaultReadOnlyState(this,this.history,this.selection,this.model,this.view,this.visualizerManager,this.shapeDescriptionManager,this.settings):p.EventUtils.isTouchMode()?new u.MouseHandlerDefaultTouchState(this,this.history,this.selection,this.model,this.view,this.visualizerManager,this.shapeDescriptionManager,this.settings):new o.MouseHandlerDefaultState(this,this.history,this.selection,this.model,this.view,this.visualizerManager,this.shapeDescriptionManager,this.settings),this.switchToDefaultState()},t.prototype.onMouseDown=function(t){this.mouseDownEvent=t,this.state.onMouseDown(t)},t.prototype.onMouseMove=function(t){this.state.onMouseMove(t)},t.prototype.onMouseUp=function(t){this.state.onMouseUp(t)},t.prototype.onMouseDblClick=function(t){this.state.onMouseDblClick(t)},t.prototype.onMouseClick=function(t){this.state.onMouseClick(t)},t.prototype.onLongTouch=function(t){if(t.touches&&!(t.touches.length>1)){var e=t.source.key;void 0===e?this.selection.clear():this.selection.hasKey(e)?this.selection.remove(e):this.selection.add(e)}},t.prototype.onShortcut=function(t){return this.state.onShortcut(t)},t.prototype.onWheel=function(t){return this.state.onMouseWheel(t)},t.prototype.onDragStart=function(t){this.state.onDragStart(t)},t.prototype.onDragEnd=function(t){this.state.onDragEnd(t)},t.prototype.onKeyDown=function(t){this.state.onKeyDown(t)},t.prototype.onKeyUp=function(t){this.state.onKeyUp(t)},t.prototype.showContextToolbox=function(t,e,n,o,i,r){this.contextToolboxHandler.showContextToolbox(t,e,n,o,i,r)},t.prototype.hideContextToolbox=function(t){this.contextToolboxHandler.hideContextToolbox(t)},t.prototype.canScrollPage=function(t){return this.startScrollingPageByCtrl?!!this.hasCtrlModifier(t.modifiers)&&(!this.copyDiagramItemsByCtrlAndShift||t.source.type!==i.MouseEventElementType.Shape&&t.source.type!==i.MouseEventElementType.Connector):this.allowScrollPage&&this.shouldScrollPage},t.prototype.canMultipleSelection=function(t){return this.allowMultipleSelection&&this.hasCtrlOrShiftModifier(t.modifiers)},t.prototype.canCopySelectedItems=function(t){return!!this.allowCopyDiagramItems&&(this.copyDiagramItemsByCtrlAndShift?this.hasCtrlAndShiftModifier(t.modifiers):this.hasAltModifier(t.modifiers))},t.prototype.canCalculateFixedPosition=function(t){return!(!this.allowFixedDrag||!this.hasShiftModifier(t.modifiers))&&(!this.copyDiagramItemsByCtrlAndShift||!this.hasCtrlModifier(t.modifiers))},t.prototype.canStartZoomOnWheel=function(t){return this.allowZoomOnWheel&&this.hasCtrlModifier(t.modifiers)},t.prototype.canFinishZoomOnWheel=function(t){return this.allowZoomOnWheel&&!this.hasCtrlModifier(t.modifiers)},t.prototype.onStartScrollPageByKeyboard=function(t){this.canStartScrollingPageByKeyboard(t)&&(this.raiseDragScrollStart(),this.shouldScrollPage=!0)},t.prototype.onFinishScrollPageByKeyboard=function(t){this.canEndScrollingPageByKeyboard(t)&&this.finishScrollingPage()},t.prototype.onFinishScrollPageByMouse=function(t){this.canEndScrollingPage(t)&&this.finishScrollingPage()},t.prototype.finishScrollingPage=function(){this.shouldScrollPage=!1,this.raiseDragScrollEnd(),this.switchToDefaultState()},t.prototype.hasCtrlOrShiftModifier=function(t){return this.hasCtrlModifier(t)||this.hasShiftModifier(t)},t.prototype.hasCtrlAndShiftModifier=function(t){return this.hasCtrlModifier(t)&&this.hasShiftModifier(t)},t.prototype.hasCtrlModifier=function(t){return(t&h.ModifierKey.Ctrl)>0},t.prototype.hasAltModifier=function(t){return(t&h.ModifierKey.Alt)>0},t.prototype.hasShiftModifier=function(t){return(t&h.ModifierKey.Shift)>0},t.prototype.canStartScrollingPageByKeyboard=function(t){return!this.startScrollingPageByCtrl&&!this.shouldScrollPage&&t.keyCode===h.KeyCode.Space},t.prototype.canEndScrollingPageByKeyboard=function(t){return!this.startScrollingPageByCtrl&&t.keyCode===h.KeyCode.Space},t.prototype.canEndScrollingPage=function(t){return!this.startScrollingPageByCtrl||this.hasCtrlModifier(t.modifiers)},t.prototype.getSnappedPointOnDragDiagramItem=function(t,e,n,o,i){var s=this.getSnapToCellOnDragDiagramItem(t);return new r.Point(this.getSnappedPos(this.getFixedXPosition(t,e,n,i),!0,s),this.getSnappedPos(this.getFixedYPosition(t,e,o,i),!1,s))},t.prototype.getSnappedPointOnDragPoint=function(t,e,n){var o=this.getSnapToCellOnDragPoint(t),i=this.getSnappedPos(e.x,!0,o),s=this.getSnappedPos(e.y,!1,o);return void 0===n||Math.pow(e.x-i,2)+Math.pow(e.y-s,2)1&&t===i.MouseButton.Left&&this.selection.remove(e)},t.prototype.changeSingleSelection=function(t){this.selection.hasKey(t)||this.selection.set([t])},t.prototype.notifySelectionChanged=function(t){this.pressedDiagramItemKey&&!this.selection.hasKey(this.pressedDiagramItemKey)&&(this.pressedDiagramItemKey=void 0,this.pressedDiagramItemInSelection=!1)},t.prototype.raiseDragStart=function(t){this.eventManager.onDocumentDragStart(t)},t.prototype.raiseDragEnd=function(t){this.eventManager.onDocumentDragEnd(t)},t.prototype.raiseDragScrollStart=function(){this.eventManager.onDocumentDragScrollStart()},t.prototype.raiseDragScrollEnd=function(){this.eventManager.onDocumentDragScrollEnd()},t.prototype.raiseClick=function(t){this.eventManager.onDocumentClick(t)},t.prototype.beginStorePermissions=function(){this.permissionsProvider.beginStorePermissions()},t.prototype.endStorePermissions=function(){this.permissionsProvider.endStorePermissions()},t.prototype.isStoredPermissionsGranted=function(){return this.permissionsProvider.isStoredPermissionsGranted()},t.prototype.lockPermissions=function(){this.permissionsProvider.lockPermissions()},t.prototype.unlockPermissions=function(){this.permissionsProvider.unlockPermissions()},t.prototype.canPerformChangeConnection=function(t,e){var n=!0;return t?n=this.permissionsProvider.canChangeConnection(t,e.item,e.oldItem,e.position,e.connectionPointIndex):e.item&&(n=this.permissionsProvider.canChangeConnection(void 0,e.item,e.oldItem,e.position,e.connectionPointIndex)),n},t.prototype.canPerformChangeConnectionOnUpdateUI=function(t,e){this.permissionsProvider.beginUpdateUI();var n=this.canPerformChangeConnection(t,e);return this.permissionsProvider.endUpdateUI(),n},t.prototype.canFinishTextEditing=function(){return this.eventManager.canFinishTextEditing()},t.prototype.restartState=function(){this.state&&!this.finishStateLock&&(this.finishStateLock++,this.state.finish(),this.finishStateLock--),this.state.start()},t.prototype.switchToDefaultState=function(){this.switchState(this.defaultState)},t.prototype.switchState=function(t){this.newState=t,this.state&&!this.finishStateLock&&(this.finishStateLock++,this.state.finish(),this.finishStateLock--),this.newState&&(this.state=this.newState,this.state.start(),this.newState=void 0)},t.prototype.addInteractingItem=function(t,e){this.permissionsProvider.addInteractingItem(t,e)},t.prototype.clearInteractingItems=function(){this.permissionsProvider.clearInteractingItems()},t.prototype.notifyReadOnlyChanged=function(t){this.readOnly=t,this.initializeDefaultState()},t.prototype.notifySelectionRectShow=function(t){},t.prototype.notifySelectionRectHide=function(){},t.prototype.notifyResizeInfoShow=function(t,e){},t.prototype.notifyResizeInfoHide=function(){},t.prototype.notifyConnectionPointsShow=function(t,e,n,o){this.state.onConnectionPointsShow(t,e)},t.prototype.notifyConnectionPointsHide=function(){},t.prototype.notifyConnectionTargetShow=function(t,e){this.state.onConnectionTargetShow(t,e)},t.prototype.notifyConnectionTargetHide=function(){},t.prototype.notifyContainerTargetShow=function(t,e){},t.prototype.notifyContainerTargetHide=function(){},t.prototype.notifyExtensionLinesShow=function(t){},t.prototype.notifyExtensionLinesHide=function(){},t}();e.MouseHandler=l},5627:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.MouseHandlerCreateConnectorState=void 0;var r=n(7959),s=n(3477),a=n(9603),c=n(3742),u=n(7060),h=n(4297),p=n(4145),l=n(4867),d=n(8930),f=n(9143),y=function(t){function e(e,n,o,i,r,s,a){var c=t.call(this,e,n,o,i)||this;return c.shapeDescriptionManager=r,c.selection=s,c.connectionPointIndex=a,c}return i(e,t),e.prototype.onMouseDown=function(e){void 0===this.connectionPointIndex&&(this.connectionPointIndex=parseInt(e.source.value)),this.connectedItem=this.model.findItem(e.source.key),this.pointIndex=1,this.pointPosition=r.ConnectorPosition.End,t.prototype.onMouseDown.call(this,e)},e.prototype.onMouseUp=function(e){this.connector&&!this.connector.endItem&&this.createNewShapeAtConnectorEnd(e),t.prototype.onMouseUp.call(this,e)},e.prototype.onApplyChanges=function(e){var n=this.getSnappedPoint(e,e.modelPoint);if(this.connector)t.prototype.onApplyChanges.call(this,e);else{var o=new a.AddConnectorHistoryItem([this.connectedItem.getConnectionPointPosition(this.connectionPointIndex,n),n]);this.history.addAndRedo(o),this.connector=this.model.findConnector(o.connectorKey),this.handler.addInteractingItem(this.connector),this.history.addAndRedo(new s.AddConnectionHistoryItem(this.connector,this.connectedItem,this.connectionPointIndex,r.ConnectorPosition.Begin)),l.ModelUtils.updateNewConnectorProperties(this.history,this.selection,this.connector.key)}},e.prototype.checkStoredPermissionsOnFinish=function(){this.connector&&this.connector.endItem&&t.prototype.checkStoredPermissionsOnFinish.call(this)},e.prototype.onFinishWithChanges=function(){t.prototype.onFinishWithChanges.call(this),this.history.addAndRedo(new h.SetSelectionHistoryItem(this.selection,[this.connector.key]))},e.prototype.createNewShapeAtConnectorEnd=function(t){var e=this,n=this.connector&&this.connector.beginItem;if(n)if(!this.connector||this.handler.canPerformChangeConnection(this.connector,{position:r.ConnectorPosition.End,connectionPointIndex:-1})){var o=this.getNewShapeSide(this.connector),i=this.getSnappedPoint(t,t.modelPoint),a=this.shapeDescriptionManager.getCategoryByDescription(n.description);this.handler.showContextToolbox(i,(function(n){var r=n.clone();r.position=i.clone();var s=e.getNewShapePosition(r,o);return e.handler.getSnappedPointOnDragPoint(t,s)}),o,a,(function(n){if(n){e.handler.beginStorePermissions(),e.history.beginTransaction();var a=new p.AddShapeHistoryItem(e.shapeDescriptionManager.get(n),i);e.history.addAndRedo(a);var c=e.model.findShape(a.shapeKey),u=e.targetItem&&e.model.findNearestContainer(e.targetItem.key);u&&l.ModelUtils.insertToContainer(e.history,e.model,c,u);var d=e.getNewShapePosition(c,o);l.ModelUtils.setShapePosition(e.history,e.model,c,e.getSnappedPoint(t,d)),l.ModelUtils.updateNewShapeProperties(e.history,e.selection,c.key),e.history.addAndRedo(new s.AddConnectionHistoryItem(e.connector,c,c.getConnectionPointIndexForSide(o),r.ConnectorPosition.End)),u&&l.ModelUtils.updateConnectorContainer(e.history,e.model,e.connector),l.ModelUtils.updateShapeAttachedConnectors(e.history,e.model,c),e.handler.isStoredPermissionsGranted()?(e.handler.tryUpdateModelSize(),e.history.addAndRedo(new h.SetSelectionHistoryItem(e.selection,[c.key]))):(e.handler.lockPermissions(),e.history.undoTransaction(),e.handler.unlockPermissions(),e.checkNewConnectorPermissions()),e.history.endTransaction(),e.handler.endStorePermissions(),e.handler.hideContextToolbox(!0)}}),(function(){e.checkNewConnectorPermissions()}))}else this.cancelChanges()},e.prototype.checkNewConnectorPermissions=function(){this.connector&&!this.handler.canPerformChangeConnection(this.connector,{position:r.ConnectorPosition.End,connectionPointIndex:-1})&&(this.handler.lockPermissions(),this.history.beginTransaction(),this.history.addAndRedo(new h.SetSelectionHistoryItem(this.selection,[])),this.connector.beginItem&&this.history.addAndRedo(new d.DeleteConnectionHistoryItem(this.connector,r.ConnectorPosition.Begin)),this.connector.endItem&&this.history.addAndRedo(new d.DeleteConnectionHistoryItem(this.connector,r.ConnectorPosition.End)),this.history.addAndRedo(new f.DeleteConnectorHistoryItem(this.connector.key)),this.history.endTransaction(),this.handler.unlockPermissions())},e.prototype.getNewShapePosition=function(t,e){switch(e){case c.ConnectionPointSide.North:return t.position.clone().offset(-t.size.width/2,0);case c.ConnectionPointSide.South:return t.position.clone().offset(-t.size.width/2,-t.size.height);case c.ConnectionPointSide.East:return t.position.clone().offset(-t.size.width,-t.size.height/2);case c.ConnectionPointSide.West:return t.position.clone().offset(0,-t.size.height/2)}},e.prototype.getNewShapeSide=function(t){var n=t.getRenderPoints();return e.getNewShapeSideByConnectorPoints(n[n.length-1],n[n.length-2])},e.prototype.getSourceItem=function(){return this.connectedItem},e.getNewShapeSideByConnectorPoints=function(t,e){return t.x===e.x?t.y>e.y?c.ConnectionPointSide.North:c.ConnectionPointSide.South:t.x>e.x?t.y===e.y?c.ConnectionPointSide.West:t.y>e.y?Math.abs(t.x-e.x)>Math.abs(t.y-e.y)?c.ConnectionPointSide.West:c.ConnectionPointSide.North:Math.abs(t.x-e.x)>Math.abs(t.y-e.y)?c.ConnectionPointSide.West:c.ConnectionPointSide.South:t.y===e.y?c.ConnectionPointSide.East:t.y>e.y?Math.abs(t.x-e.x)>Math.abs(t.y-e.y)?c.ConnectionPointSide.East:c.ConnectionPointSide.North:Math.abs(t.x-e.x)>Math.abs(t.y-e.y)?c.ConnectionPointSide.East:c.ConnectionPointSide.South},e}(u.MouseHandlerMoveConnectorPointStateBase);e.MouseHandlerCreateConnectorState=y},7286:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.MouseHandlerDefaultReadOnlyState=void 0;var r=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.canDragObjectOnMouseDown=function(t){return!1},e.prototype.canExpandContainerOnMouseDown=function(t){return!1},e.prototype.canClearSelectionOnMouseDown=function(){return!1},e.prototype.canSelectOnMouseUp=function(t){return!0},e.prototype.canClearSelectionOnMouseUp=function(){return!0},e.prototype.updateConnectionsOnMouseMove=function(t){},e}(n(8213).MouseHandlerDefaultStateBase);e.MouseHandlerDefaultReadOnlyState=r},8032:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.MouseHandlerDefaultReadOnlyTouchState=void 0;var r=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.canDragObjectOnMouseDown=function(t){return!1},e.prototype.canExpandContainerOnMouseDown=function(t){return!1},e.prototype.canClearSelectionOnMouseDown=function(){return!0},e.prototype.canSelectOnMouseUp=function(t){return!this.inSelection(t)},e.prototype.canClearSelectionOnMouseUp=function(){return!1},e}(n(7286).MouseHandlerDefaultReadOnlyState);e.MouseHandlerDefaultReadOnlyTouchState=r},3250:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.MouseHandlerDefaultState=void 0;var r=n(6031),s=n(4402),a=n(5609),c=n(481),u=n(4908),h=n(5627),p=n(5209),l=n(6918),d=n(5391),f=n(8213),y=n(9979),g=n(7959),m=n(5168),v=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.finish=function(){this.visualizerManager.resetConnectionPoints(),t.prototype.finish.call(this)},e.prototype.onMouseDownCore=function(e){this.handler.canScrollPage(e)?this.startScrolling(e):e.button===r.MouseButton.Left&&e.source.type===r.MouseEventElementType.ConnectorText?(this.handler.changeSingleSelection(e.source.key),this.handler.switchState(new d.MouseHandlerMoveConnectorTextState(this.handler,this.history,this.model))):e.button===r.MouseButton.Left&&e.source.type===r.MouseEventElementType.ShapeResizeBox?this.handler.switchState(new a.MouseHandlerResizeShapeState(this.handler,this.history,this.model,this.selection,this.visualizerManager,this.settings)):e.button===r.MouseButton.Left&&e.source.type===r.MouseEventElementType.ShapeParameterBox?this.handler.switchState(new u.MouseHandlerDragParameterPointState(this.handler,this.history,this.model)):e.button===r.MouseButton.Left&&e.source.type===r.MouseEventElementType.ConnectorPoint?this.handler.switchState(new s.MouseHandlerMoveConnectorPointState(this.handler,this.history,this.model,this.visualizerManager)):e.button===r.MouseButton.Left&&e.source.type===r.MouseEventElementType.ConnectorSide?this.handler.switchState(new c.MouseHandlerMoveConnectorSideState(this.handler,this.history,this.model)):e.button===r.MouseButton.Left&&e.source.type===r.MouseEventElementType.ConnectorOrthogonalSide?this.handler.switchState(new p.MouseHandlerMoveConnectorOrthogonalSideState(this.handler,this.history,this.model)):e.button===r.MouseButton.Left&&e.source.type===r.MouseEventElementType.ShapeConnectionPoint?this.handler.switchState(new h.MouseHandlerCreateConnectorState(this.handler,this.history,this.model,this.visualizerManager,this.shapeDescriptionManager,this.selection)):t.prototype.onMouseDownCore.call(this,e)},e.prototype.onDragDiagramItemOnMouseDown=function(e){this.handler.canAddDiagramItemToSelection(e)?e.source.type===r.MouseEventElementType.Shape?this.handler.switchState(new y.MouseHandlerMoveShapeState(this.handler,this.history,this.model,this.selection,this.visualizerManager)):e.source.type===r.MouseEventElementType.Connector&&this.handler.switchState(new m.MouseHandlerMoveConnectorState(this.handler,this.history,this.model,this.selection,this.visualizerManager)):t.prototype.onDragDiagramItemOnMouseDown.call(this,e)},e.prototype.onDragStart=function(t){this.handler.switchState(new l.MouseHandlerBeforeToolboxDraggingState(this.handler,this.history,this.model,this.selection,this.visualizerManager,this.shapeDescriptionManager)),this.handler.state.onDragStart(t)},e.prototype.onMouseMoveCore=function(e){this.updateConnectionsOnMouseMove(e),t.prototype.onMouseMoveCore.call(this,e)},e.prototype.onMouseUp=function(e){this.handler.canRemoveDiagramItemToSelection(e)?this.handler.removeDiagramItemFromSelection(e.button,e.source.key):t.prototype.onMouseUp.call(this,e)},e.prototype.updateConnectionsOnMouseMove=function(t){var e=this.model.findItem(t.source.key);this.visualizerManager.updateConnections(e,t.source.type,t.source.value)},e.prototype.canDragObjectOnMouseDown=function(t){return!0},e.prototype.canExpandContainerOnMouseDown=function(t){return!0},e.prototype.canClearSelectionOnMouseDown=function(){return!1},e.prototype.canSelectOnMouseUp=function(t){return!1},e.prototype.canClearSelectionOnMouseUp=function(){return!0},e.prototype.onConnectionPointsShow=function(t,e){var n=this,o=this.model.findShape(t);o&&e.forEach((function(t,e){t.allowed=n.handler.canPerformChangeConnectionOnUpdateUI(void 0,{item:o,position:g.ConnectorPosition.Begin,connectionPointIndex:e})}))},e}(f.MouseHandlerDefaultStateBase);e.MouseHandlerDefaultState=v},8213:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.MouseHandlerDefaultStateBase=void 0;var r=n(5434),s=n(6031),a=n(5752),c=n(4869),u=n(7189),h=n(9582),p=n(9291),l=n(8461),d=function(t){function e(e,n,o,i,r,s,a,c){var u=t.call(this,e)||this;return u.history=n,u.selection=o,u.model=i,u.view=r,u.visualizerManager=s,u.shapeDescriptionManager=a,u.settings=c,u}return i(e,t),e.prototype.onKeyDown=function(t){this.handler.onStartScrollPageByKeyboard(t)},e.prototype.onKeyUp=function(t){this.handler.onFinishScrollPageByKeyboard(t)},e.prototype.onMouseDown=function(t){this.handler.canFinishTextEditing()&&(this.onMouseDownCore(t),this.handler.state!==this&&this.handler.state.onMouseDown(t))},e.prototype.onMouseDownCore=function(t){this.handler.canScrollPage(t)?this.startScrolling(t):this.hasDiagramItem(t)&&this.canDragObjectOnMouseDown(t.source.key)?this.onDragDiagramItemOnMouseDown(t):t.button===s.MouseButton.Left&&t.source.type===s.MouseEventElementType.ShapeExpandButton&&this.canExpandContainerOnMouseDown(t.source.key)?this.onShapeExpandBtnMouseDown(t):(!this.hasDiagramItem(t)&&this.canClearSelectionOnMouseDown()&&this.clearSelection(),this.startPoint=t.modelPoint)},e.prototype.onDragDiagramItemOnMouseDown=function(t){this.replaceSelection(t)},e.prototype.onMouseMove=function(t){this.onMouseMoveCore(t),this.handler.state!==this&&(this.handler.state.onMouseDown(this.handler.mouseDownEvent),this.handler.state.onMouseMove(t))},e.prototype.onMouseMoveCore=function(t){this.startPoint&&(Math.abs(this.startPoint.x-t.modelPoint.x)>e.startLimit||Math.abs(this.startPoint.y-t.modelPoint.y)>e.startLimit)&&(this.processOnMouseMoveAfterLimit(t),this.startPoint=void 0)},e.prototype.processOnMouseMoveAfterLimit=function(t){t.isTouchMode?t.touches.length>1?this.startZooming(t):this.startScrolling(t):this.startSelection(t)},e.prototype.onMouseUp=function(t){this.onMouseUpCore(t),this.handler.state!==this&&this.handler.state.onMouseUp(t)},e.prototype.onMouseUpCore=function(t){t.source.type===s.MouseEventElementType.Shape&&this.canSelectOnMouseUp(t.source.key)||t.source.type===s.MouseEventElementType.Connector&&this.canSelectOnMouseUp(t.source.key)||t.source.type===s.MouseEventElementType.ShapeExpandButton&&this.canSelectOnMouseUp(t.source.key)?this.replaceSelection(t):this.startPoint&&this.canClearSelectionOnMouseUp()&&this.clearSelection(),this.startPoint=void 0},e.prototype.onMouseWheel=function(t){return!!this.handler.canStartZoomOnWheel(t)&&(this.handler.switchState(new u.MouseHandlerZoomOnWheelState(this.handler,this.settings,this.view)),this.handler.state.onMouseWheel(t),!0)},e.prototype.onLongTouch=function(t){this.replaceMultipleSelection(t.source.key)},e.prototype.finish=function(){this.startPoint=void 0},e.prototype.startSelection=function(t){t.button===s.MouseButton.Left&&this.handler.switchState(new c.MouseHandlerSelectionState(this.handler,this.selection,this.visualizerManager))},e.prototype.startScrolling=function(t){t.button===s.MouseButton.Left&&(this.handler.raiseDragScrollStart(),this.handler.switchState(new h.MouseHandlerScrollingState(this.handler,this.view,this.selection)))},e.prototype.startZooming=function(t){this.handler.switchState(new l.MouseHandlerZoomOnPinchState(this.handler,this.selection,this.settings,this.view))},e.prototype.inSelection=function(t){return this.selection.hasKey(t)},e.prototype.hasDiagramItem=function(t){return t.source.type===s.MouseEventElementType.Shape||t.source.type===s.MouseEventElementType.Connector},e.prototype.onShapeExpandBtnMouseDown=function(t){this.handler.addDiagramItemToSelection(t),this.handler.switchState(new a.MouseHandlerToggleShapeExpandedState(this.handler,this.history,this.model,this.selection))},e.prototype.replaceSelection=function(t){this.handler.canMultipleSelection(t)?this.replaceMultipleSelection(t.source.key):this.handler.changeSingleSelection(t.source.key)},e.prototype.replaceMultipleSelection=function(t){this.selection.hasKey(t)?this.selection.remove(t):this.selection.add(t)},e.prototype.clearSelection=function(){this.selection.set([])},e.startLimit=p.UnitConverter.pixelsToTwips(1),e}(r.MouseHandlerStateBase);e.MouseHandlerDefaultStateBase=d},8502:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.MouseHandlerDefaultTouchState=void 0;var r=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.updateConnectionsOnMouseMove=function(t){},e.prototype.canDragObjectOnMouseDown=function(t){return this.inSelection(t)},e.prototype.canExpandContainerOnMouseDown=function(t){return!0},e.prototype.canClearSelectionOnMouseDown=function(){return!0},e.prototype.canSelectOnMouseUp=function(t){return!this.inSelection(t)},e.prototype.canClearSelectionOnMouseUp=function(){return!1},e}(n(3250).MouseHandlerDefaultState);e.MouseHandlerDefaultTouchState=r},1717:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.MouseHandlerDragDiagramItemStateBase=e.DraggingConnector=void 0;var r=n(9716),s=n(58),a=n(4717),c=n(1510),u=n(4867),h=n(6879),p=n(6031),l=n(8816),d=function(t){this.connector=t,this.startPoints=t.points.map((function(t){return t.clone()})),this.startRenderContext=t.tryCreateRenderPointsContext()};e.DraggingConnector=d;var f=function(t){this.shape=t,this.startPosition=t.position.clone()},y=function(t){function e(e,n,o,i,r){var s=t.call(this,e,n)||this;return s.model=o,s.selection=i,s.visualizerManager=r,s.startScrollLeft=0,s.startScrollTop=0,s}return i(e,t),e.prototype.finish=function(){this.visualizerManager.resetExtensionLines(),this.visualizerManager.resetContainerTarget(),this.visualizerManager.resetConnectionTarget(),this.visualizerManager.resetConnectionPoints(),t.prototype.finish.call(this)},e.prototype.onMouseDown=function(e){var n=this;this.handler.addDiagramItemToSelection(e),this.shouldClone=this.handler.canCopySelectedItems(e),this.startPoint=e.modelPoint,this.initDrag(),this.lockInitDrag=!1,this.shouldClone||this.draggingShapes.forEach((function(t){return n.handler.addInteractingItem(t.shape,h.DiagramModelOperation.MoveShape)})),t.prototype.onMouseDown.call(this,e)},e.prototype.onMouseMove=function(t){if(this.mouseMoveEvent=t,t.button!==p.MouseButton.Left)return this.cancelChanges(),void this.handler.switchToDefaultState();this.canApplyChangesOnMouseMove(this.startPoint,t.modelPoint)&&(this.handler.canCopySelectedItems(t)&&(this.lockInitDrag||(this.cancelChanges(),this.shouldClone=!0,this.copySelection(),this.initDrag(),this.lockInitDrag=!0)),this.onApplyChanges(t),this.onAfterApplyChanges(),this.updateContainers(t))},e.prototype.updateContainers=function(t){this.visualizerManager.setExtensionLines(this.selection.getSelectedShapes(!1,!0));var e=u.ModelUtils.findContainerByEventKey(this.model,this.selection,t.source.key);e&&this.allowInsertToContainer(t,e)?this.visualizerManager.setContainerTarget(e,t.source.type):this.visualizerManager.resetContainerTarget()},e.prototype.onMouseUp=function(e){t.prototype.onMouseUp.call(this,e),this.handler.canRemoveDiagramItemToSelection(e)&&this.handler.canMultipleSelection(e)&&this.handler.removeDiagramItemFromSelection(e.button,e.source.key)},e.prototype.onApplyChanges=function(t){var e=this;if(this.calculateFixedPosition(t),this.draggingShapes.length){var n=this.draggingShapes.map((function(t){return t.shape}));this.draggingShapes.forEach((function(o){for(var i=o.shape;i.container;){if(-1!==n.indexOf(i.container))return!1;i=i.container}e.moveShape(o,t)}));var o=this.draggingShapes[0],i=r.Vector.fromPoints(o.startPosition.clone(),o.shape.position.clone());(i.x||i.y)&&this.draggingConnectors.forEach((function(t){return e.moveConnectorCore(t.connector,t.startPoints,t.startRenderContext,i)}))}else this.draggingConnectors.forEach((function(n){return e.moveConnector(n,t)}));var s=u.ModelUtils.findContainerByEventKey(this.model,this.selection,t.source.key);s&&this.allowInsertToContainer(t,s)?u.ModelUtils.insertSelectionToContainer(this.history,this.model,this.selection,s):u.ModelUtils.removeSelectionFromContainer(this.history,this.model,this.selection),this.handler.tryUpdateModelSize((function(t,n){e.modelConnectorsWithoutBeginItemInfo.forEach((function(e){e.point.x+=t,e.point.y+=n})),e.modelConnectorsWithoutEndItemInfo.forEach((function(e){e.point.x+=t,e.point.y+=n}))}))},e.prototype.getDraggingElementKeys=function(){return this.draggingShapes.map((function(t){return t.shape.key})).concat(this.draggingConnectors.map((function(t){return t.connector.key})))},e.prototype.getSnappedPoint=function(t,e){return this.handler.getSnappedPointOnDragDiagramItem(t,e,this.fixedX,this.fixedY,this.startPoint)},e.prototype.initDrag=function(){this.selectedItems=u.ModelUtils.createSelectedItems(this.selection),this.initDraggingShapes(),this.areValidDraggingShapes?(this.initDraggingConnectors(),this.areValidDraggingConnectors?(this.modelConnectorsWithoutBeginItemInfo=this.createModelConnectorsWithoutBeginItemInfo(),this.modelConnectorsWithoutEndItemInfo=this.createModelConnectorsWithoutEndItemInfo()):this.handler.switchToDefaultState()):this.handler.switchToDefaultState()},e.prototype.initDraggingShapes=function(){this.draggingShapes=this.selection.getSelectedShapes(!1,!0).map((function(t){return new f(t)}))},e.prototype.initDraggingConnectors=function(){var t=this;this.draggingConnectors=[],this.draggingConnectorsIndexByKey={},this.selection.getSelectedConnectors(!1,!0).forEach((function(e){return t.registerConnector(e)})),this.shouldClone||this.draggingShapes.forEach((function(e){var n=e.shape.attachedConnectors;n&&n.forEach((function(e){t.containsDraggingConnectorByKey(e.key)||t.registerConnector(e)}))}))},e.prototype.copySelection=function(){var t=this;u.ModelUtils.cloneSelectionToOffset(this.history,this.model,(function(e){var n=t.model.findItem(e);n&&t.handler.addInteractingItem(n,h.DiagramModelOperation.AddShape)}),this.selection,0,0)},e.prototype.calculateFixedPosition=function(t){(this.fixedX=!1,this.fixedY=!1,this.handler.canCalculateFixedPosition(t))&&(Math.abs(this.startPoint.x-t.modelPoint.x)e.dragStartLimit||Math.abs(t.y-n.y)>e.dragStartLimit},e.prototype.onAfterApplyChanges=function(){this.modified||this.handler.raiseDragStart(this.getDraggingElementKeys()),this.modified=!0,this.mouseDownPoint=void 0},e.prototype.onMouseDown=function(t){this.mouseDownPoint=t.modelPoint.clone()},e.prototype.onMouseMove=function(t){this.mouseMoveEvent=t,t.button!==s.MouseButton.Left?(this.cancelChanges(),this.handler.switchToDefaultState()):t.button===s.MouseButton.Left&&this.canApplyChangesOnMouseMove(this.mouseDownPoint,t.modelPoint)&&(this.onApplyChanges(t),this.onAfterApplyChanges())},e.prototype.onKeyDown=function(t){!this.mouseMoveEvent||16!==t.keyCode&&17!==t.keyCode&&18!==t.keyCode||this.performMouseMoveEvent(t.modifiers)},e.prototype.onKeyUp=function(t){!this.mouseMoveEvent||16!==t.keyCode&&17!==t.keyCode&&18!==t.keyCode||this.performMouseMoveEvent(t.modifiers)},e.prototype.onMouseUp=function(t){this.mouseDownPoint=void 0,this.mouseMoveEvent=void 0,this.handler.switchToDefaultState()},e.prototype.performMouseMoveEvent=function(t){this.mouseMoveEvent.modifiers=t,this.onMouseMove(this.mouseMoveEvent)},e.prototype.start=function(){this.handler.beginStorePermissions(),this.history.beginTransaction()},e.prototype.finish=function(){this.checkStoredPermissionsOnFinish(),this.modified?(this.onFinishWithChanges(),this.modified=!1,this.history.endTransaction(),this.handler.raiseDragEnd(this.getDraggingElementKeys())):this.history.endTransaction(),this.handler.endStorePermissions(),this.handler.clearInteractingItems()},e.prototype.checkStoredPermissionsOnFinish=function(){this.handler.isStoredPermissionsGranted()||(this.cancelChanges(),this.modified=!1)},e.prototype.onFinishWithChanges=function(){},e.prototype.cancelChanges=function(){this.handler.lockPermissions(),this.history.undoTransaction(),this.handler.unlockPermissions(),this.modified&&this.handler.raiseDragEnd(this.getDraggingElementKeys()),this.modified=!1},e.prototype.getSnappedPoint=function(t,e){return this.handler.getSnappedPointOnDragPoint(t,e)},e.dragStartLimit=a.UnitConverter.pixelsToTwips(4),e}(r.MouseHandlerCancellableState);e.MouseHandlerDraggingState=c},5209:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.MouseHandlerMoveConnectorOrthogonalSideState=void 0;var r=n(8900),s=n(7959),a=n(3742),c=n(4867),u=n(8816),h=n(8675),p=function(t){function e(e,n,o){var i=t.call(this,e,n)||this;return i.model=o,i.canCreatePoints=!0,i}return i(e,t),e.prototype.saveSidePoints=function(t,e){var n=this,o=this.connector.getRenderPoints(!0);this.isHorizontal=o[t].y===o[e].y,this.iterateRenderPoints(o,t,!1,(function(t,e){-1!==t.pointIndex&&(n.leftPointIndex=t.pointIndex),n.leftRenderPointIndex=e}),(function(e){return!h.GeometryUtils.arePointsOfOrthogonalLine(o[t],e,n.isHorizontal)})),this.iterateRenderPoints(o,this.leftRenderPointIndex,!0,(function(t,e){-1!==t.pointIndex&&(n.rightPointIndex=t.pointIndex),n.rightRenderPointIndex=e}),(function(e){return!h.GeometryUtils.arePointsOfOrthogonalLine(o[t],e,n.isHorizontal)}))},e.prototype.iterateRenderPoints=function(t,e,n,o,i){for(var r=e;n?r=0;n?r++:r--){var s=t[r];if(i&&i(s,r))break;o(s,r)}},e.prototype.onMouseDown=function(e){this.startPoint=e.modelPoint,this.connector=this.model.findConnector(e.source.key),this.handler.addInteractingItem(this.connector);var n=e.source.value.split(\"_\");this.saveSidePoints(parseInt(n[0]),parseInt(n[1])),t.prototype.onMouseDown.call(this,e)},e.prototype.shouldCreatePoint=function(t){if(!this.canCreatePoints)return!1;if(t&&(void 0===this.leftPointIndex||0===this.leftPointIndex))return!0;if(!t&&(void 0===this.rightPointIndex||this.rightPointIndex===this.connector.points.length-1))return!0;var e=this.connector.getRenderPoints(!0);return!(!t||this.connector.points[this.leftPointIndex].equals(e[this.leftRenderPointIndex]))||!t&&!this.connector.points[this.rightPointIndex].equals(e[this.rightRenderPointIndex])},e.prototype.onApplyChanges=function(t){var e=this;if(this.shouldCreatePoint(!0)||this.shouldCreatePoint(!1)){var n=this.connector.getRenderPoints(!0),o=n[this.leftRenderPointIndex],i=n[this.rightRenderPointIndex];if(this.shouldCreatePoint(!0)){var s=new r.Point(o.x,o.y);0===this.leftPointIndex?(this.leftPointIndex=1,this.correctEdgePoint(s,i,this.connector.beginItem,this.connector.beginConnectionPointIndex)):void 0===this.leftPointIndex&&this.iterateRenderPoints(n,this.leftRenderPointIndex,!0,(function(t){-1!==t.pointIndex&&(e.leftPointIndex=t.pointIndex)}),(function(){return void 0!==e.leftPointIndex})),c.ModelUtils.addConnectorPoint(this.history,this.connector.key,this.leftPointIndex,s),void 0!==this.rightPointIndex&&this.rightPointIndex++}if(this.shouldCreatePoint(!1)){n=this.connector.getRenderPoints(!0);var a=new r.Point(i.x,i.y);this.rightPointIndex===this.connector.points.length-1?(this.correctEdgePoint(a,o,this.connector.endItem,this.connector.endConnectionPointIndex),this.rightPointIndex--):void 0===this.rightPointIndex&&this.iterateRenderPoints(n,this.rightRenderPointIndex,!1,(function(t){-1!==t.pointIndex&&(e.rightPointIndex=t.pointIndex)}),(function(){return e.rightPointIndex===e.leftPointIndex})),this.rightPointIndex++,c.ModelUtils.addConnectorPoint(this.history,this.connector.key,this.rightPointIndex,a)}}this.canCreatePoints=!1;var u=this.getSnappedPoint(t,t.modelPoint);c.ModelUtils.moveConnectorRightAnglePoints(this.history,this.connector,this.leftPointIndex,this.rightPointIndex,this.isHorizontal?void 0:u.x,this.isHorizontal?u.y:void 0),this.handler.tryUpdateModelSize()},e.prototype.onFinishWithChanges=function(){c.ModelUtils.deleteConnectorUnnecessaryPoints(this.history,this.connector),c.ModelUtils.fixConnectorBeginEndConnectionIndex(this.history,this.connector),this.handler.tryUpdateModelSize()},e.prototype.correctEdgePoint=function(t,e,n,o){var i=0;if(n){var r=n.getConnectionPointSideByIndex(o),c=n.rectangle;switch(i=s.Connector.minOffset,r){case a.ConnectionPointSide.South:i+=c.bottom-t.y;break;case a.ConnectionPointSide.North:i+=t.y-c.y;break;case a.ConnectionPointSide.East:i+=c.right-t.x;break;case a.ConnectionPointSide.West:i+=t.x-c.x}}this.isHorizontal?t.x>e.x?t.x-=Math.min(i,t.x-e.x):t.x+=Math.min(i,e.x-t.x):t.y>e.y?t.y-=Math.min(i,t.y-e.y):t.y+=Math.min(i,e.y-t.y)},e.prototype.getDraggingElementKeys=function(){return[this.connector.key]},e}(u.MouseHandlerDraggingState);e.MouseHandlerMoveConnectorOrthogonalSideState=p},4402:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.MouseHandlerMoveConnectorPointState=void 0;var r=n(8900),s=n(7060),a=n(7959),c=n(4867),u=n(4612),h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.onMouseDown=function(e){this.connector=this.model.findConnector(e.source.key),this.pointIndex=parseInt(e.source.value),0===this.pointIndex?this.pointPosition=a.ConnectorPosition.Begin:this.pointIndex===this.connector.points.length-1&&(this.pointPosition=a.ConnectorPosition.End),this.handler.addInteractingItem(this.connector),t.prototype.onMouseDown.call(this,e)},e.prototype.onApplyChanges=function(e){this.connector.properties.lineOption===u.ConnectorLineOption.Orthogonal&&0!==this.pointIndex&&this.pointIndex!==this.connector.points.length-1||t.prototype.onApplyChanges.call(this,e)},e.prototype.onFinishWithChanges=function(){t.prototype.onFinishWithChanges.call(this),c.ModelUtils.deleteConnectorUnnecessaryPoints(this.history,this.connector),this.handler.tryUpdateModelSize()},e.prototype.getSnappedPoint=function(t,e){var n=this.connector.points,o=this.pointIndex;if(00||this.draggingConnectors.length>0:!!this.draggingConnectors.length&&(this.draggingShapes.length?r.ModelUtils.canMoveConnector(this.selectedItems,this.draggingConnectors[this.draggingConnectorsIndexByKey[this.handler.mouseDownEvent.source.key]].connector):!this.draggingConnectors.some((function(e){return!r.ModelUtils.canMoveConnector(t.selectedItems,e.connector)})))},enumerable:!1,configurable:!0}),e}(n(1717).MouseHandlerDragDiagramItemStateBase);e.MouseHandlerMoveConnectorState=s},5391:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.MouseHandlerMoveConnectorTextState=void 0;var r=n(8816),s=n(45),a=n(5144),c=function(t){function e(e,n,o){var i=t.call(this,e,n)||this;return i.model=o,i}return i(e,t),e.prototype.onMouseDown=function(e){this.connector=this.model.findConnector(e.source.key),this.position=parseFloat(e.source.value),this.text=this.connector.getText(this.position),this.savedText=\"\",t.prototype.onMouseDown.call(this,e)},e.prototype.onApplyChanges=function(t){var e=this.connector.getTextPositionByPoint(t.modelPoint);if(e!==this.position){var n=this.connector.getText(e);\"\"!==n&&n!==this.text&&(this.history.addAndRedo(new a.ChangeConnectorTextHistoryItem(this.connector,e,\"\")),this.savedText=n),this.history.addAndRedo(new s.ChangeConnectorTextPositionHistoryItem(this.connector,this.position,e)),\"\"!==this.savedText&&this.savedText!==n&&(this.history.addAndRedo(new a.ChangeConnectorTextHistoryItem(this.connector,this.position,this.savedText)),this.savedText=\"\"),this.position=e}},e.prototype.getDraggingElementKeys=function(){return[this.connector.key]},e}(r.MouseHandlerDraggingState);e.MouseHandlerMoveConnectorTextState=c},9979:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.MouseHandlerMoveShapeState=void 0;var r=function(t){function e(e,n,o,i,r){var s=t.call(this,e,n,o,i,r)||this;return s.model=o,s.selection=i,s.visualizerManager=r,s}return i(e,t),Object.defineProperty(e.prototype,\"areValidDraggingShapes\",{get:function(){return this.shouldClone||this.draggingShapes.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"areValidDraggingConnectors\",{get:function(){return!0},enumerable:!1,configurable:!0}),e}(n(1717).MouseHandlerDragDiagramItemStateBase);e.MouseHandlerMoveShapeState=r},5609:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.MouseHandlerResizeShapeState=void 0;var r=n(6353),s=n(8900),a=n(6031),c=n(8816),u=n(4867),h=n(6794),p=n(6879),l=function(t){function e(e,n,o,i,r,s){var a=t.call(this,e,n)||this;return a.model=o,a.selection=i,a.visualizerManager=r,a.settings=s,a.startScrollLeft=0,a.startScrollTop=0,a.rotation=0,a}return i(e,t),e.prototype.finish=function(){this.visualizerManager.resetResizeInfo(),this.visualizerManager.resetExtensionLines(),t.prototype.finish.call(this)},e.prototype.onMouseDown=function(e){var n=this,o=parseInt(e.source.value);this.resizeEventSource=o,this.startPoint=e.modelPoint,this.lockH=o===a.ResizeEventSource.ResizeBox_S||o===a.ResizeEventSource.ResizeBox_N,this.lockV=o===a.ResizeEventSource.ResizeBox_E||o===a.ResizeEventSource.ResizeBox_W,this.sideH=o===a.ResizeEventSource.ResizeBox_E||o===a.ResizeEventSource.ResizeBox_NE||o===a.ResizeEventSource.ResizeBox_SE,this.sideV=o===a.ResizeEventSource.ResizeBox_SE||o===a.ResizeEventSource.ResizeBox_S||o===a.ResizeEventSource.ResizeBox_SW,this.shapes=this.selection.getSelectedShapes(),0!==this.shapes.length?(this.shapes.forEach((function(t){n.handler.addInteractingItem(t,p.DiagramModelOperation.ResizeShape),n.handler.addInteractingItem(t,p.DiagramModelOperation.MoveShape)})),this.connectors=this.selection.getSelectedConnectors(),this.startRectangle=u.ModelUtils.createRectangle(this.shapes),this.startShapeSizes=this.shapes.map((function(t){return t.size.clone()})),this.startShapePositions=this.shapes.map((function(t){return t.position.clone()})),this.startConnectorPoints=this.connectors.map((function(t){return t.points.map((function(t){return t.clone()}))})),t.prototype.onMouseDown.call(this,e)):this.handler.switchToDefaultState()},e.prototype.onMouseMove=function(e){t.prototype.onMouseMove.call(this,e);var n=this.selection.getSelectedShapes();this.visualizerManager.setExtensionLines(n)},e.prototype.onApplyChanges=function(t){var e=this,n=u.ModelUtils.createRectangle(this.shapes),o=1===this.shapes.length?this.shapes[0].getMinWidth(this.settings.shapeMinWidth):h.ShapeMinDimension,i=1===this.shapes.length?this.shapes[0].getMinHeight(this.settings.shapeMinHeight):h.ShapeMinDimension,a=1===this.shapes.length?this.shapes[0].getMaxWidth(this.settings.shapeMaxWidth):void 0,c=1===this.shapes.length?this.shapes[0].getMaxHeight(this.settings.shapeMaxHeight):void 0,p=this.getSize(t,n.createPosition(),this.startRectangle.createSize(),o,i,a,c,this.handler.lockAspectRatioOnShapeResize(t)),l=this.getPosition(t,p,this.startRectangle.createSize(),this.startRectangle.createPosition()),d=p.width/this.startRectangle.width,f=p.height/this.startRectangle.height;this.shapes.forEach((function(t,n){var o=e.startShapeSizes[n].width*(t.allowResizeHorizontally?d:1);o=e.getNormalizedSize(o,t.getMinWidth(e.settings.shapeMinWidth),t.getMaxWidth(e.settings.shapeMaxWidth));var i=e.startShapeSizes[n].height*(t.allowResizeVertically?f:1);i=e.getNormalizedSize(i,t.getMinHeight(e.settings.shapeMinHeight),t.getMaxHeight(e.settings.shapeMaxHeight));var a=t.allowResizeHorizontally?l.x+(e.startShapePositions[n].x-e.startRectangle.x)*d:e.startShapePositions[n].x,c=t.allowResizeVertically?l.y+(e.startShapePositions[n].y-e.startRectangle.y)*f:e.startShapePositions[n].y;u.ModelUtils.setShapeSize(e.history,e.model,t,new s.Point(a,c),new r.Size(o,i))})),this.connectors.forEach((function(t,n){for(var o=t.beginItem?1:0,i=t.endItem?t.points.length-2:t.points.length-1,r=o;r<=i;r++){var a=new s.Point(l.x+(e.startConnectorPoints[n][r].x-e.startRectangle.x)*d,l.y+(e.startConnectorPoints[n][r].y-e.startRectangle.y)*f);u.ModelUtils.moveConnectorPoint(e.history,t,r,a)}})),this.selection.getSelectedShapes(!1,!0).forEach((function(t){u.ModelUtils.updateShapeAttachedConnectors(e.history,e.model,t)})),this.tryUpdateModelSize(),this.visualizerManager.setResizeInfo(this.shapes)},e.prototype.tryUpdateModelSize=function(){var t=this;this.handler.tryUpdateModelSize((function(e,n){t.startShapePositions.forEach((function(t){t.x+=e,t.y+=n})),t.startConnectorPoints.forEach((function(t){t.forEach((function(t){t.x+=e,t.y+=n}))})),t.startRectangle.x+=e,t.startRectangle.y+=n,t.startPoint.x+=e,t.startPoint.y+=n}))},e.prototype.getDraggingElementKeys=function(){return this.shapes.map((function(t){return t.key}))},e.prototype.getNormalizedSize=function(t,e,n){return void 0!==e&&(t=Math.max(t,e)),void 0!==n&&(t=Math.min(t,n)),t},e.prototype.getSize=function(t,e,n,o,i,s,a,c){var u,h,p=t.modelPoint.x-(this.startScrollLeft-t.scrollX)-this.startPoint.x,l=t.modelPoint.y-(this.startScrollTop-t.scrollY)-this.startPoint.y,d=p*Math.cos(this.rotation)- -l*Math.sin(this.rotation),f=-(p*Math.sin(this.rotation)+-l*Math.cos(this.rotation));return f=!this.sideV&&f>0?Math.min(n.height+1,f):f,d=!this.sideH&&d>0?Math.min(n.width+1,d):d,this.lockH||this.lockV||!c?(d=this.lockH?0:d,f=this.lockV?0:f,u=this.getNormalizedSize(this.sideH?n.width+d:n.width-d,o,s),h=this.getNormalizedSize(this.sideV?n.height+f:n.height-f,i,a)):Math.abs(d)>Math.abs(f)?(u=this.getNormalizedSize(this.sideH?n.width+d:n.width-d,o,s),h=n.height*(u/n.width)):(h=this.getNormalizedSize(this.sideV?n.height+f:n.height-f,i,a),u=n.width*(h/n.height)),this.lockH||(u=this.getSnappedPosition(t,e.x+u,!0)-e.x),this.lockV||(h=this.getSnappedPosition(t,e.y+h,!1)-e.y),new r.Size(u,h)},e.prototype.getPosition=function(t,e,n,o){var i=o.x,r=o.y;if(this.resizeEventSource===a.ResizeEventSource.ResizeBox_N||this.resizeEventSource===a.ResizeEventSource.ResizeBox_NE||this.resizeEventSource===a.ResizeEventSource.ResizeBox_NW){r+=n.height-e.height;var c=this.getSnappedPosition(t,r,!1);e.height+=r-c,r=c}if(this.resizeEventSource===a.ResizeEventSource.ResizeBox_W||this.resizeEventSource===a.ResizeEventSource.ResizeBox_NW||this.resizeEventSource===a.ResizeEventSource.ResizeBox_SW){i+=n.width-e.width;var u=this.getSnappedPosition(t,i,!0);e.width+=i-u,i=u}return new s.Point(i,r)},e.prototype.getSnappedPosition=function(t,e,n){return this.handler.getSnappedPositionOnResizeShape(t,e,n)},e}(c.MouseHandlerDraggingState);e.MouseHandlerResizeShapeState=l},9582:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.MouseHandlerScrollingState=void 0;var r=n(5434),s=n(6031),a=n(8900),c=function(t){function e(e,n,o){var i=t.call(this,e)||this;return i.view=n,i.selection=o,i.lastOffset=new a.Point(0,0),i}return i(e,t),e.prototype.onKeyUp=function(t){this.handler.onFinishScrollPageByKeyboard(t)},e.prototype.onMouseDown=function(t){t.preventDefault=!0,this.startPoint=this.getPointByEvent(t)},e.prototype.onMouseMove=function(t){if(t.button===s.MouseButton.Left){var e=this.currentPoint||this.startPoint;t.preventDefault=!0;var n=this.getPointByEvent(t),o=this.view.scrollBy(new a.Point(n.x-e.x,n.y-e.y));this.lastOffset=this.lastOffset.clone().offset(o.x,o.y),this.currentPoint=n}else this.handler.onFinishScrollPageByMouse(t)},e.prototype.onMouseUp=function(t){t.button===s.MouseButton.Left&&this.handler.onFinishScrollPageByMouse(t),this.handler.switchToDefaultState()},e.prototype.cancelChanges=function(){this.currentPoint&&this.view.scrollBy(this.lastOffset.clone().multiply(-1,-1))},e.prototype.finish=function(){this.currentPoint&&this.startPoint&&!this.currentPoint.equals(this.startPoint)||this.selection.set([]),t.prototype.finish.call(this)},e.prototype.getPointByEvent=function(t){return t.offsetPoint},e}(r.MouseHandlerCancellableState);e.MouseHandlerScrollingState=c},4869:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.MouseHandlerSelectionState=void 0;var r=n(6031),s=n(8011),a=function(t){function e(e,n,o){var i=t.call(this,e)||this;return i.selection=n,i.visualizerManager=o,i}return i(e,t),e.prototype.finish=function(){this.handler.raiseDragEnd([]),this.visualizerManager.resetSelectionRectangle(),t.prototype.finish.call(this)},e.prototype.cancelChanges=function(){},e.prototype.onMouseDown=function(t){this.startPoint=t.modelPoint,this.handler.raiseDragStart([])},e.prototype.onMouseMove=function(t){t.button!==r.MouseButton.Left?this.handler.switchToDefaultState():(this.rectangle=s.Rectangle.fromPoints(this.startPoint,t.modelPoint),this.visualizerManager.setSelectionRectangle(this.rectangle))},e.prototype.onMouseUp=function(t){void 0!==this.rectangle?this.selection.selectRect(this.rectangle):this.selection.set([]),this.rectangle=void 0,this.handler.switchToDefaultState()},e}(n(5434).MouseHandlerCancellableState);e.MouseHandlerSelectionState=a},5434:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.MouseHandlerCancellableState=e.MouseHandlerStateBase=void 0;var r=n(2153),s=function(){function t(t){this.handler=t}return t.prototype.start=function(){},t.prototype.finish=function(){},t.prototype.onMouseClick=function(t){},t.prototype.onMouseDblClick=function(t){this.handler.switchToDefaultState()},t.prototype.onMouseDown=function(t){},t.prototype.onMouseUp=function(t){},t.prototype.onMouseMove=function(t){},t.prototype.onMouseWheel=function(t){return!1},t.prototype.onDragStart=function(t){},t.prototype.onDragEnd=function(t){},t.prototype.onShortcut=function(t){return!1},t.prototype.onKeyDown=function(t){},t.prototype.onKeyUp=function(t){},t.prototype.onConnectionPointsShow=function(t,e){},t.prototype.onConnectionTargetShow=function(t,e){},t}();e.MouseHandlerStateBase=s;var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.onShortcut=function(t){return t===r.KeyCode.Esc&&(this.cancelChanges(),this.handler.switchToDefaultState(),!0)},e}(s);e.MouseHandlerCancellableState=a},5752:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.MouseHandlerToggleShapeExpandedState=void 0;var r=n(5434),s=n(442),a=n(4867),c=function(t){function e(e,n,o,i){var r=t.call(this,e)||this;return r.history=n,r.model=o,r.selection=i,r}return i(e,t),e.prototype.onMouseUp=function(t){var e=this.model.findShape(t.source.key);e&&!e.isLocked&&(this.history.beginTransaction(),this.history.addAndRedo(new s.ToggleShapeExpandedHistoryItem(e)),a.ModelUtils.updateShapeAttachedConnectors(this.history,this.model,e),a.ModelUtils.updateContainerConnectorsAttachedPoints(this.history,this.model,e),a.ModelUtils.updateSelection(this.history,this.selection),this.handler.tryUpdateModelSize(),this.history.endTransaction(),this.handler.raiseClick([e.key])),this.handler.switchToDefaultState()},e}(r.MouseHandlerStateBase);e.MouseHandlerToggleShapeExpandedState=c},6918:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.MouseHandlerToolboxDraggingState=e.MouseHandlerBeforeToolboxDraggingState=void 0;var r=n(6031),s=n(8900),a=n(4145),c=n(4297),u=n(8816),h=n(1704),p=n(4867),l=n(5434),d=n(6879),f=function(t){function e(e,n,o,i,r,s){var a=t.call(this,e)||this;return a.history=n,a.model=o,a.selection=i,a.visualizerManager=r,a.shapeDescriptionManager=s,a.isModelEmpty=0===o.items.length,a}return i(e,t),e.prototype.cancelChanges=function(){this.tryRemoveTimer()},e.prototype.onDragStart=function(t){this.dragging=t},e.prototype.onDragEnd=function(t){this.cancelChanges(),this.handler.switchToDefaultState()},e.prototype.onMouseMove=function(t){var e=this;t.source.type>r.MouseEventElementType.Background?(this.tryRemoveTimer(),this.switchToDraggingState(t,!1)):t.source.type!==r.MouseEventElementType.Background||this.isModelEmpty?void 0!==this.nonPageAreaTimer&&this.tryRemoveTimer():(this.savedEvt=t,void 0===this.nonPageAreaTimer&&(this.nonPageAreaTimer=setTimeout((function(){return e.switchToDraggingState(e.savedEvt,!0)}),500)))},e.prototype.switchToDraggingState=function(t,e){this.handler.switchState(new y(this.handler,this.history,this.model,this.selection,this.visualizerManager,this.shapeDescriptionManager,e)),this.handler.state.onDragStart(this.dragging),this.handler.state.onMouseMove(t)},e.prototype.tryRemoveTimer=function(){void 0!==this.nonPageAreaTimer&&(clearTimeout(this.nonPageAreaTimer),delete this.nonPageAreaTimer)},e.prototype.finish=function(){this.tryRemoveTimer()},e}(l.MouseHandlerCancellableState);e.MouseHandlerBeforeToolboxDraggingState=f;var y=function(t){function e(e,n,o,i,r,s,a){var c=t.call(this,e,n)||this;return c.model=o,c.selection=i,c.visualizerManager=r,c.shapeDescriptionManager=s,a||(c.updatePageSizeTimer=setTimeout((function(){c.processAndRemoveUpdatePageSizeTimer()}),300)),c}return i(e,t),e.prototype.cancelChanges=function(){this.tryRemoveUpdatePageSizeTimer(),t.prototype.cancelChanges.call(this)},e.prototype.tryRemoveUpdatePageSizeTimer=function(){void 0!==this.updatePageSizeTimer&&(clearTimeout(this.updatePageSizeTimer),delete this.updatePageSizeTimer)},e.prototype.processAndRemoveUpdatePageSizeTimer=function(){void 0!==this.updatePageSizeTimer&&(this.handler.tryUpdateModelSize(),delete this.updatePageSizeTimer)},e.prototype.onMouseMove=function(e){t.prototype.onMouseMove.call(this,e);var n=this.model.findShape(this.shapeKey);if(n){this.visualizerManager.setExtensionLines([n]);var o=p.ModelUtils.findContainerByEventKey(this.model,this.selection,e.source.key);o&&this.allowInsertToContainer(e,n,o)?this.visualizerManager.setContainerTarget(o,e.source.type):this.visualizerManager.resetContainerTarget()}},e.prototype.getDraggingElementKeys=function(){return void 0===this.shapeKey?[]:[this.shapeKey]},e.prototype.onApplyChanges=function(t){var e=this;if(t.source.type===r.MouseEventElementType.Undefined){if(this.dragging.onCaptured(!1),void 0!==this.shapeKey&&!this.deleteHistoryItem){var n=this.model.findShape(this.shapeKey);p.ModelUtils.detachConnectors(this.history,n),p.ModelUtils.removeFromContainer(this.history,this.model,n),this.deleteHistoryItem=new h.DeleteShapeHistoryItem(this.shapeKey,!0),this.history.addAndRedo(this.deleteHistoryItem)}}else{if(this.dragging.onCaptured(!0),void 0===this.shapeKey){this.startPoint=t.modelPoint,this.shapeKey=this.insertToolboxItem(t);var o=this.model.findShape(this.shapeKey);o&&this.handler.addInteractingItem(o,d.DiagramModelOperation.AddShape)}this.deleteHistoryItem&&(this.history.undoTransactionTo(this.deleteHistoryItem),delete this.deleteHistoryItem);var i=this.getPosition(t,this.startShapePosition);n=this.model.findShape(this.shapeKey);p.ModelUtils.setShapePosition(this.history,this.model,n,i),p.ModelUtils.updateMovingShapeConnections(this.history,n,this.connectorsWithoutBeginItemInfo,this.connectorsWithoutEndItemInfo,(function(){e.visualizerManager.resetConnectionTarget(),e.visualizerManager.resetConnectionPoints()}),(function(t,n){e.visualizerManager.setConnectionTarget(t,r.MouseEventElementType.Shape),e.visualizerManager.setConnectionPoints(t,r.MouseEventElementType.Shape,n,!0)}),(function(t){return e.handler.addInteractingItem(t)})),p.ModelUtils.updateShapeAttachedConnectors(this.history,this.model,n);var s=p.ModelUtils.findContainerByEventKey(this.model,this.selection,t.source.key);n&&s&&this.allowInsertToContainer(t,n,s)?p.ModelUtils.insertToContainer(this.history,this.model,n,s):p.ModelUtils.removeFromContainer(this.history,this.model,n),void 0===this.updatePageSizeTimer&&this.handler.tryUpdateModelSize((function(t,n){e.connectorsWithoutBeginItemInfo.forEach((function(e){e.point.x+=t,e.point.y+=n})),e.connectorsWithoutEndItemInfo.forEach((function(e){e.point.x+=t,e.point.y+=n}))}))}},e.prototype.onFinishWithChanges=function(){this.deleteHistoryItem||this.history.addAndRedo(new c.SetSelectionHistoryItem(this.selection,[this.shapeKey]))},e.prototype.onDragStart=function(t){this.dragging=t,this.connectorsWithoutBeginItemInfo=p.ModelUtils.getConnectorsWithoutBeginItemInfo(this.model),this.connectorsWithoutEndItemInfo=p.ModelUtils.getConnectorsWithoutEndItemInfo(this.model)},e.prototype.onDragEnd=function(t){void 0!==this.shapeKey&&t.source.type===r.MouseEventElementType.Undefined&&this.cancelChanges(),this.handler.switchToDefaultState()},e.prototype.finish=function(){this.visualizerManager.resetExtensionLines(),this.visualizerManager.resetContainerTarget(),this.visualizerManager.resetConnectionTarget(),this.visualizerManager.resetConnectionPoints(),this.processAndRemoveUpdatePageSizeTimer(),this.dragging.onFinishDragging(),t.prototype.finish.call(this)},e.prototype.insertToolboxItem=function(t){var e=this.shapeDescriptionManager.get(this.dragging.data);this.startShapePosition=this.getSnappedPoint(t,new s.Point(t.modelPoint.x-e.defaultSize.width/2,t.modelPoint.y-e.defaultSize.height/2));var n=new a.AddShapeHistoryItem(e,this.startShapePosition);return this.history.addAndRedo(n),p.ModelUtils.updateNewShapeProperties(this.history,this.selection,n.shapeKey),n.shapeKey},e.prototype.allowInsertToContainer=function(t,e,n){return!this.handler.canMultipleSelection(t)&&(n&&n.expanded&&p.ModelUtils.canInsertToContainer(this.model,e,n))},e.prototype.getPosition=function(t,e){return this.getSnappedPoint(t,new s.Point(e.x+t.modelPoint.x-this.startPoint.x,e.y+t.modelPoint.y-this.startPoint.y))},e}(u.MouseHandlerDraggingState);e.MouseHandlerToolboxDraggingState=y},8461:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.MouseHandlerZoomOnPinchState=void 0;var r=n(240),s=n(8900),a=n(9582),c=n(5596),u=function(t){function e(e,n,o,i){var r=t.call(this,e,i,n)||this;return r.selection=n,r.settings=o,r.view=i,r}return i(e,t),e.prototype.onMouseDown=function(e){t.prototype.onMouseDown.call(this,e),e.touches.length>1&&(this.startDistance=this.getTouchDistance(e),this.startZoomLevel=this.settings.zoomLevel,this.prevDistance=this.startDistance)},e.prototype.onMouseMove=function(e){if(e.touches.length>1){var n=this.getTouchDistance(e);Math.abs(this.prevDistance-n)>1&&(this.settings.zoomLevel=this.startZoomLevel*(n/this.startDistance),this.view.scrollTo(this.getMiddleLayoutPoint(e),this.getMiddleAbsPoint(e)),this.view.normalize(),this.prevDistance=n)}t.prototype.onMouseMove.call(this,e)},e.prototype.onMouseUp=function(t){0===t.touches.length&&setTimeout(function(){this.handler.switchToDefaultState()}.bind(this),1)},e.prototype.start=function(){t.prototype.start.call(this),this.settings.zoomLevel=this.view.getZoom(),this.settings.autoZoom=r.AutoZoomMode.Disabled},e.prototype.getTouchDistance=function(t){var e=new s.Point(t.touches[0].offsetPoint.x,t.touches[0].offsetPoint.y),n=new s.Point(t.touches[1].offsetPoint.x,t.touches[1].offsetPoint.y);return c.Metrics.euclideanDistance(e,n)},e.prototype.getPointByEvent=function(t){return this.getMiddleAbsPoint(t)},e.prototype.getMiddleAbsPoint=function(t){return t.touches.length>1?e.getMiddlePointByEvent(t,(function(t){return t.offsetPoint})):t.offsetPoint},e.prototype.getMiddleLayoutPoint=function(t){return t.touches.length>1?e.getMiddlePointByEvent(t,(function(t){return t.modelPoint})):t.modelPoint},e.getMiddlePointByEvent=function(t,e){if(t.touches.length>1)return new s.Point((e(t.touches[0]).x+e(t.touches[1]).x)/2,(e(t.touches[0]).y+e(t.touches[1]).y)/2)},e}(a.MouseHandlerScrollingState);e.MouseHandlerZoomOnPinchState=u},7189:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.MouseHandlerZoomOnWheelState=void 0;var r=n(5434),s=n(6031),a=n(240),c=function(t){function e(e,n,o){var i=t.call(this,e)||this;return i.settings=n,i.view=o,i}return i(e,t),e.prototype.onMouseWheel=function(t){return this.trySwitchToDefault(t)?this.handler.state.onMouseWheel(t):(this.settings.zoomLevel=this.view.getNextStepZoom(t.deltaY<0),t.source.type===s.MouseEventElementType.Background?this.view.resetScroll():(this.view.scrollTo(t.modelPoint,t.offsetPoint),this.view.normalize()),t.preventDefault=!0,!0)},e.prototype.onMouseUp=function(t){this.handler.switchToDefaultState(),this.handler.state.onMouseUp(t)},e.prototype.onMouseDown=function(t){this.handler.switchToDefaultState(),this.handler.state.onMouseDown(t)},e.prototype.onMouseMove=function(t){this.trySwitchToDefault(t)&&this.handler.state.onMouseMove(t)},e.prototype.trySwitchToDefault=function(t){return!!this.handler.canFinishZoomOnWheel(t)&&(this.handler.switchToDefaultState(),!0)},e.prototype.start=function(){t.prototype.start.call(this),this.settings.zoomLevel=this.view.getZoom(),this.settings.autoZoom=a.AutoZoomMode.Disabled},e}(r.MouseHandlerStateBase);e.MouseHandlerZoomOnWheelState=c},8376:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.TextInputHandler=void 0;var o=n(6516),i=n(6031),r=n(2153),s=n(5503),a=n(7959),c=n(5144),u=function(){function t(t){this.control=t}return t.prototype.startTextInput=function(t,e){if(!t.isLocked&&t.enableText&&t.allowEditText&&!this.control.settings.readOnly&&this.canFinishTextEditing()){this.control.beginUpdate(),this.textInputItem=t;var n=!0;if(this.textInputItem instanceof s.Shape){var o=this.textInputItem.textEditRectangle;(n=this.control.permissionsProvider.canChangeShapeText(this.textInputItem))&&this.control.eventManager.raiseTextInputStart(this.textInputItem,this.textInputItem.text,o.createPosition(),o.createSize())}else this.textInputItem instanceof a.Connector&&(this.textInputPosition=e,(n=this.control.permissionsProvider.canChangeConnectorText(this.textInputItem,this.textInputPosition))&&this.control.eventManager.raiseTextInputStart(this.textInputItem,this.textInputItem.getText(this.textInputPosition),this.textInputItem.getTextPoint(this.textInputPosition)));n||(delete this.textInputItem,this.control.endUpdate())}},t.prototype.endTextInput=function(t){var e=this.textInputItem;delete this.textInputItem,this.control.eventManager.raiseTextInputEnd(e,t),this.control.endUpdate(),this.control.barManager.updateItemsState()},t.prototype.raiseTextInputPermissionsCheck=function(t){this.control.eventManager.raiseTextInputPermissionsCheck(this.textInputItem,t)},t.prototype.applyTextInput=function(t,e){if(this.canFinishTextEditing(t)){var n=this.textInputItem,i=this.textInputPosition;this.endTextInput(e),n instanceof s.Shape?n.text!==t&&this.control.history.addAndRedo(new o.ChangeShapeTextHistoryItem(n,t)):n instanceof a.Connector&&n.getText(i)!==t&&this.control.history.addAndRedo(new c.ChangeConnectorTextHistoryItem(n,i,t))}},t.prototype.canFinishTextEditing=function(t){var e=!0;if(this.isTextInputActive()){var n=t||this.getTextInputElementValue();this.textInputItem instanceof s.Shape?e=this.control.permissionsProvider.canApplyShapeTextChange(this.textInputItem,n):this.textInputItem instanceof a.Connector&&(e=this.control.permissionsProvider.canApplyConnectorTextChange(this.textInputItem,this.textInputPosition,n)),this.raiseTextInputPermissionsCheck(e)}return e},t.prototype.getTextInputElementValue=function(){return this.control.render?this.control.render.input.getTextInputElementValue():\"\"},t.prototype.cancelTextInput=function(){this.raiseTextInputPermissionsCheck(!0),this.endTextInput(!0)},t.prototype.isTextInputActive=function(){return void 0!==this.textInputItem},t.prototype.processDblClick=function(t){if(t.source.type===i.MouseEventElementType.Shape){var e=this.control.model.findShape(t.source.key);this.startTextInput(e)}else if(t.source.type===i.MouseEventElementType.Connector){var n=(o=this.control.model.findConnector(t.source.key)).getTextPositionByPoint(t.modelPoint);this.startTextInput(o,n)}else if(t.source.type===i.MouseEventElementType.ConnectorText){var o=this.control.model.findConnector(t.source.key);n=parseFloat(t.source.value);this.startTextInput(o,n)}},t.prototype.onDblClick=function(t){var e=this;setTimeout((function(){e.processDblClick(t)}),10)},t.prototype.onKeyDown=function(t){this.isTextInputActive()&&(13===t.keyCode&&this.hasCtrlModifier(t.modifiers)&&(t.preventDefault=!0,this.applyTextInput(t.inputText,!0)),27===t.keyCode&&this.cancelTextInput())},t.prototype.onBlur=function(t){this.isTextInputActive()&&this.applyTextInput(t.inputText)},t.prototype.onFocus=function(t){},t.prototype.hasCtrlModifier=function(t){return(t&r.ModifierKey.Ctrl)>0},t}();e.TextInputHandler=u},3541:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ConnectionPointsVisualizer=e.ConnectionPointInfo=void 0;var n=function(t,e){this.point=t,this.side=e,this.allowed=!0};e.ConnectionPointInfo=n;var o=function(){function t(t){this.dispatcher=t}return t.prototype.getKey=function(){return this.key},t.prototype.setPoints=function(t,e,n,o){this.key===t&&this.pointIndex===n||(this.key=t,this.points=e,this.pointIndex=n,this.outsideRectangle=o,this.raiseShow())},t.prototype.setPointIndex=function(t){0<=t&&t{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ExtensionLinesVisualizer=e.ExtensionLine=e.ExtensionLineType=void 0,function(t){t[t.LeftToLeftAbove=0]=\"LeftToLeftAbove\",t[t.LeftToLeftBelow=1]=\"LeftToLeftBelow\",t[t.RightToRightAbove=2]=\"RightToRightAbove\",t[t.RightToRightBelow=3]=\"RightToRightBelow\",t[t.LeftToRightAbove=4]=\"LeftToRightAbove\",t[t.LeftToRightBelow=5]=\"LeftToRightBelow\",t[t.RightToLeftAbove=6]=\"RightToLeftAbove\",t[t.RightToLeftBelow=7]=\"RightToLeftBelow\",t[t.TopToTopBefore=8]=\"TopToTopBefore\",t[t.TopToTopAfter=9]=\"TopToTopAfter\",t[t.BottomToBottomBefore=10]=\"BottomToBottomBefore\",t[t.BottomToBottomAfter=11]=\"BottomToBottomAfter\",t[t.TopToBottomBefore=12]=\"TopToBottomBefore\",t[t.TopToBottomAfter=13]=\"TopToBottomAfter\",t[t.BottomToTopBefore=14]=\"BottomToTopBefore\",t[t.BottomToTopAfter=15]=\"BottomToTopAfter\",t[t.HorizontalCenterAbove=16]=\"HorizontalCenterAbove\",t[t.HorizontalCenterBelow=17]=\"HorizontalCenterBelow\",t[t.VerticalCenterBefore=18]=\"VerticalCenterBefore\",t[t.VerticalCenterAfter=19]=\"VerticalCenterAfter\",t[t.VerticalCenterToPageCenter=20]=\"VerticalCenterToPageCenter\",t[t.HorizontalCenterToPageCenter=21]=\"HorizontalCenterToPageCenter\",t[t.LeftToPageCenter=22]=\"LeftToPageCenter\",t[t.RightToPageCenter=23]=\"RightToPageCenter\",t[t.TopToPageCenter=24]=\"TopToPageCenter\",t[t.BottomToPageCenter=25]=\"BottomToPageCenter\"}(e.ExtensionLineType||(e.ExtensionLineType={}));var n=function(t,e,n){this.type=t,this.segment=e,this.text=n};e.ExtensionLine=n;var o=function(){function t(t){this.dispatcher=t,this.lines=[],this.lineIndexByType={}}return t.prototype.addSegment=function(t,e,o){var i=this.lineIndexByType[t];if(void 0===i){var r=new n(t,e,o),s=this.lines.push(r);this.lineIndexByType[r.type]=s-1,this.raiseShow()}else if(e.length{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ResizeInfoVisualizer=void 0;var n=function(){function t(t){this.dispatcher=t}return t.prototype.set=function(t,e){this.point=t,this.text=e,this.raiseShow()},t.prototype.reset=function(){void 0!==this.point&&(this.point=void 0,this.text=void 0,this.raiseHide())},t.prototype.raiseShow=function(){var t=this;this.dispatcher.raise1((function(e){return e.notifyResizeInfoShow(t.point,t.text)}))},t.prototype.raiseHide=function(){this.dispatcher.raise1((function(t){return t.notifyResizeInfoHide()}))},t}();e.ResizeInfoVisualizer=n},4753:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.SelectionRectVisualizer=void 0;var n=function(){function t(t){this.dispatcher=t}return t.prototype.setRectangle=function(t){this.rect=t,this.raiseShow()},t.prototype.reset=function(){this.rect=void 0,this.raiseHide()},t.prototype.raiseShow=function(){var t=this;this.dispatcher.raise1((function(e){return e.notifySelectionRectShow(t.rect)}))},t.prototype.raiseHide=function(){this.dispatcher.raise1((function(t){return t.notifySelectionRectHide()}))},t}();e.SelectionRectVisualizer=n},3785:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.TargetVisualizerBase=void 0;var n=function(){function t(t){this.dispatcher=t}return t.prototype.getKey=function(){return this.key},t.prototype.setTargetRect=function(t,e,n){this.key!==t&&(this.key=t,this.targetRect=e,this.targetStrokeWidth=n,this.raiseShow())},t.prototype.reset=function(){\"-1\"!==this.key&&(this.key=\"-1\",this.targetRect=void 0,this.targetStrokeWidth=0,this.raiseHide())},t}();e.TargetVisualizerBase=n},7733:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.VisualizerManager=void 0;var r=n(3702),s=n(9198),a=n(371),c=n(6031),u=n(3541),h=n(5503),p=n(8675),l=n(1335),d=n(8900),f=n(4e3),y=n(4867),g=n(6569),m=n(4753),v=n(1772),P=n(6224),C=function(t){function e(e,n,o,i,c){void 0===c&&(c=i.readOnly);var h=t.call(this)||this;return h.selection=e,h.model=n,h.eventManager=o,h.settings=i,h.readOnly=c,h.onVisualizersUpdate=new p.EventDispatcher,h.connectionPointsVisualizer=new u.ConnectionPointsVisualizer(h.onVisualizersUpdate),h.connectionPointsVisualizer=new u.ConnectionPointsVisualizer(h.onVisualizersUpdate),h.connectionTargetVisualizer=new r.ConnectionTargetVisualizer(h.onVisualizersUpdate),h.containerTargetVisualizer=new s.ContainerTargetVisualizer(h.onVisualizersUpdate),h.extensionLinesVisualizer=new a.ExtensionLinesVisualizer(h.onVisualizersUpdate),h.resizeInfoVisualizer=new g.ResizeInfoVisualizer(h.onVisualizersUpdate),h.selectionRectangleVisualizer=new m.SelectionRectVisualizer(h.onVisualizersUpdate),h}return i(e,t),e.prototype.initialize=function(t){this.model=t},e.prototype.onMouseDown=function(t){},e.prototype.onMouseUp=function(t){},e.prototype.onMouseEnter=function(t){},e.prototype.onMouseLeave=function(t){this.resetConnectionPoints(),this.resetConnectionTarget(),this.resetExtensionLines(),this.resetContainerTarget(),this.resetResizeInfo(),this.resetSelectionRectangle()},e.prototype.onBlur=function(t){},e.prototype.onFocus=function(t){},e.prototype.updateConnections=function(t,e,n){var o=-1;n&&e===c.MouseEventElementType.ShapeConnectionPoint&&(o=parseInt(n));var i=t&&(!t.allowResizeHorizontally&&!t.allowResizeVertically||t.isLocked);this.setConnectionPoints(t,e,o,i)},e.prototype.setConnectionPoints=function(t,e,n,o){if(this.eventManager.isFocused())if(!t||e!==c.MouseEventElementType.Shape&&e!==c.MouseEventElementType.ShapeResizeBox&&e!==c.MouseEventElementType.ShapeConnectionPoint||void 0===t)this.connectionPointsVisualizer.reset();else{var i=t.key,r=this.selection.hasKey(i),s=t.getConnectionPoints();this.connectionPointsVisualizer.setPoints(i,s.map((function(e){return new u.ConnectionPointInfo(e,t.getConnectionPointSide(e))})),n,r&&!o&&t.rectangle)}},e.prototype.setConnectionPointIndex=function(t){this.connectionPointsVisualizer.setPointIndex(t)},e.prototype.updateConnectionPoints=function(){void 0!==this.model.findItem(this.connectionPointsVisualizer.getKey())?this.connectionPointsVisualizer.update():this.connectionPointsVisualizer.reset()},e.prototype.resetConnectionPoints=function(){this.connectionPointsVisualizer.reset()},e.prototype.setConnectionTarget=function(t,e){!t||e!==c.MouseEventElementType.Shape&&e!==c.MouseEventElementType.ShapeConnectionPoint?this.connectionTargetVisualizer.reset():this.connectionTargetVisualizer.setTargetRect(t.key,t.rectangle,t.strokeWidth)},e.prototype.resetConnectionTarget=function(){this.connectionTargetVisualizer.reset()},e.prototype.setContainerTarget=function(t,e){t&&!t.isLocked&&e===c.MouseEventElementType.Shape&&t.enableChildren?this.containerTargetVisualizer.setTargetRect(t.key,t.rectangle,t.strokeWidth):this.containerTargetVisualizer.reset()},e.prototype.resetContainerTarget=function(){this.containerTargetVisualizer.reset()},e.prototype.setExtensionLines=function(t){var e=this;if(this.eventManager.isFocused()){this.extensionLinesVisualizer.reset();var n=y.ModelUtils.createRectangle(t.filter((function(t){return t})));this.addPageExtensionLines(n),this.model.items.forEach((function(o){t.indexOf(o)>-1||o instanceof h.Shape&&e.addShapeExtensionLines(o,n)}))}},e.prototype.addPageExtensionLines=function(t){for(var e=Math.round(this.model.size.width/this.model.pageWidth),n=Math.round(this.model.size.height/this.model.pageHeight),o=0;op.right&&(n=e.x,i=p.right,s=n-f.CanvasSelectionManager.extensionLineOffset,u=i+y+f.CanvasSelectionManager.extensionLineOffset),e.bottomp.bottom&&(o=e.y,r=p.bottom,c=o-f.CanvasSelectionManager.extensionLineOffset,h=r+y+f.CanvasSelectionManager.extensionLineOffset),void 0!==s&&void 0!==u){var m=this.getViewUnitText(Math.abs(n-i));if(e.center.y===p.center.y){var v=new l.Segment(new d.Point(s,e.center.y),new d.Point(u,p.center.y));this.extensionLinesVisualizer.addSegment(s>u?a.ExtensionLineType.VerticalCenterAfter:a.ExtensionLineType.VerticalCenterBefore,v,g?m:\"\"),g=!1}if(e.y===p.y){v=new l.Segment(new d.Point(s,e.y),new d.Point(u,p.y));this.extensionLinesVisualizer.addSegment(s>u?a.ExtensionLineType.TopToTopAfter:a.ExtensionLineType.TopToTopBefore,v,g?m:\"\")}if(e.bottom===p.bottom){v=new l.Segment(new d.Point(s,e.bottom+y),new d.Point(u,p.bottom+y));this.extensionLinesVisualizer.addSegment(s>u?a.ExtensionLineType.BottomToBottomAfter:a.ExtensionLineType.BottomToBottomBefore,v,g?m:\"\")}if(e.y===p.bottom){v=new l.Segment(new d.Point(s,e.y),new d.Point(u,p.bottom+y));this.extensionLinesVisualizer.addSegment(s>u?a.ExtensionLineType.TopToBottomAfter:a.ExtensionLineType.TopToBottomBefore,v,g?m:\"\")}if(e.bottom===p.y){v=new l.Segment(new d.Point(s,e.bottom+y),new d.Point(u,p.y));this.extensionLinesVisualizer.addSegment(s>u?a.ExtensionLineType.BottomToTopAfter:a.ExtensionLineType.BottomToTopBefore,v,g?m:\"\")}}if(void 0!==c&&void 0!==h){m=this.getViewUnitText(Math.abs(o-r));if(e.center.x===p.center.x){v=new l.Segment(new d.Point(e.center.x,c),new d.Point(p.center.x,h));this.extensionLinesVisualizer.addSegment(c>h?a.ExtensionLineType.HorizontalCenterBelow:a.ExtensionLineType.HorizontalCenterAbove,v,g?m:\"\"),g=!1}if(e.x===p.x){v=new l.Segment(new d.Point(e.x,c),new d.Point(p.x,h));this.extensionLinesVisualizer.addSegment(c>h?a.ExtensionLineType.LeftToLeftBelow:a.ExtensionLineType.LeftToLeftAbove,v,g?m:\"\")}if(e.right===p.right){v=new l.Segment(new d.Point(e.right+y,c),new d.Point(p.right+y,h));this.extensionLinesVisualizer.addSegment(c>h?a.ExtensionLineType.RightToRightBelow:a.ExtensionLineType.RightToRightAbove,v,g?m:\"\")}if(e.x===p.right){v=new l.Segment(new d.Point(e.x,c),new d.Point(p.right+y,h));this.extensionLinesVisualizer.addSegment(c>h?a.ExtensionLineType.LeftToRightBelow:a.ExtensionLineType.LeftToRightAbove,v,g?m:\"\")}if(e.right===p.x){v=new l.Segment(new d.Point(e.right+y,c),new d.Point(p.x,h));this.extensionLinesVisualizer.addSegment(c>h?a.ExtensionLineType.RightToLeftBelow:a.ExtensionLineType.RightToLeftAbove,v,g?m:\"\")}}},e.prototype.resetExtensionLines=function(){this.extensionLinesVisualizer.reset()},e.prototype.setResizeInfo=function(t){var e=y.ModelUtils.createRectangle(t),n=new d.Point(e.center.x,e.bottom+f.CanvasSelectionManager.resizeInfoOffset),o=this.getViewUnitText(e.width)+\" x \"+this.getViewUnitText(e.height);this.resizeInfoVisualizer.set(n,o)},e.prototype.resetResizeInfo=function(){this.resizeInfoVisualizer.reset()},e.prototype.setSelectionRectangle=function(t){this.selectionRectangleVisualizer.setRectangle(t)},e.prototype.resetSelectionRectangle=function(){this.selectionRectangleVisualizer.reset()},e.prototype.getViewUnitText=function(t){return y.ModelUtils.getUnitText(this.settings.viewUnits,P.DiagramLocalizationService.unitItems,P.DiagramLocalizationService.formatUnit,t)},e.prototype.notifyReadOnlyChanged=function(t){this.readOnly=t,this.readOnly&&(this.resetConnectionPoints(),this.resetConnectionTarget(),this.resetExtensionLines(),this.resetContainerTarget(),this.resetResizeInfo(),this.resetSelectionRectangle())},e.prototype.notifyDragStart=function(t){},e.prototype.notifyDragEnd=function(t){},e.prototype.notifyDragScrollStart=function(){},e.prototype.notifyDragScrollEnd=function(){},e.prototype.onUpdateUnlocked=function(t){},e}(v.BatchUpdatableObject);e.VisualizerManager=C},7459:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.VisualizerTouchManager=void 0;var r=n(7733),s=n(6031),a=function(t){function e(e,n,o,i,r){void 0===r&&(r=i.readOnly);var s=t.call(this,e,n,o,i,r)||this;return e.onChanged.add(s),s}return i(e,t),e.prototype.onBlur=function(t){var e=this;setTimeout((function(){e.hideConnections()}),1)},e.prototype.onFocus=function(t){var e=this;setTimeout((function(){e.showConnections()}),1)},e.prototype.hideConnections=function(){this.readOnly||this.resetConnectionPoints()},e.prototype.showConnections=function(){if(!this.readOnly&&this.needShowConnections()){var t=this.selection.getSelectedShapes();1===t.length&&this.setConnectionPoints(t[0],s.MouseEventElementType.ShapeConnectionPoint,-1,!t[0].allowResizeHorizontally&&!t[0].allowResizeVertically||t[0].isLocked)}},e.prototype.needShowConnections=function(){var t=this.selection.getSelectedItems(),e=this.selection.getSelectedShapes();return 1===t.length&&1===e.length},e.prototype.notifySelectionChanged=function(t){this.isUpdateLocked()?this.registerOccurredEvent(1):this.raiseSelectionChanged()},e.prototype.raiseSelectionChanged=function(){this.needShowConnections()?this.showConnections():this.hideConnections()},e.prototype.onUpdateUnlocked=function(t){1&t&&this.raiseSelectionChanged()},e.prototype.notifyDragStart=function(t){this.hideConnections()},e.prototype.notifyDragEnd=function(t){this.showConnections()},e}(r.VisualizerManager);e.VisualizerTouchManager=a},3477:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.SetConnectionPointIndexHistoryItem=e.AddConnectionHistoryItem=void 0;var r=n(4412),s=n(7959),a=function(t){function e(e,n,o,i){var r=t.call(this)||this;return r.connectorKey=e.key,r.itemKey=n.key,r.connectionPointIndex=o,r.position=i,r}return i(e,t),e.prototype.redo=function(t){var e=t.model.findConnector(this.connectorKey),n=t.model.findItem(this.itemKey);t.addConnection(e,n,this.connectionPointIndex,this.position)},e.prototype.undo=function(t){var e=t.model.findConnector(this.connectorKey);t.deleteConnection(e,this.position)},e}(r.HistoryItem);e.AddConnectionHistoryItem=a;var c=function(t){function e(e,n,o){var i=t.call(this)||this;return i.connectorKey=e.key,i.connectionPointIndex=n,i.position=o,i}return i(e,t),e.prototype.redo=function(t){var e=t.model.findConnector(this.connectorKey);this.oldConnectionPointIndex=this.position===s.ConnectorPosition.Begin?e.beginConnectionPointIndex:e.endConnectionPointIndex,t.setConnectionPointIndex(e,this.connectionPointIndex,this.position)},e.prototype.undo=function(t){var e=t.model.findConnector(this.connectorKey);t.setConnectionPointIndex(e,this.oldConnectionPointIndex,this.position)},e}(r.HistoryItem);e.SetConnectionPointIndexHistoryItem=c},9603:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.AddConnectorHistoryItem=void 0;var r=n(4412),s=n(7959),a=function(t){function e(e,n,o){var i=t.call(this)||this;return i.points=e,i.dataKey=n,i.renderPointsContext=o,i}return i(e,t),e.prototype.redo=function(t){var e=new s.Connector(this.points);void 0!==this.dataKey&&(e.dataKey=this.dataKey),void 0!==this.renderPointsContext&&e.replaceRenderPoints(this.renderPointsContext),t.addConnector(e,this.connectorKey),this.connectorKey=e.key},e.prototype.undo=function(t){var e=t.model.findConnector(this.connectorKey);t.deleteConnector(e)},e}(r.HistoryItem);e.AddConnectorHistoryItem=a},4430:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.AddConnectorPointHistoryItem=void 0;var r=function(t){function e(e,n,o){var i=t.call(this)||this;return i.connectorKey=e,i.pointIndex=n,i.point=o,i}return i(e,t),e.prototype.redo=function(t){var e=this,n=t.model.findConnector(this.connectorKey);this.renderContext=n.tryCreateRenderPointsContext(),t.addDeleteConnectorPoint(n,(function(t){t.addPoint(e.pointIndex,e.point),t.onAddPoint(e.pointIndex,e.point)}))},e.prototype.undo=function(t){var e=this,n=t.model.findConnector(this.connectorKey);t.addDeleteConnectorPoint(n,(function(t){t.deletePoint(e.pointIndex),t.replaceRenderPoints(e.renderContext)}))},e}(n(4412).HistoryItem);e.AddConnectorPointHistoryItem=r},4145:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.AddShapeHistoryItem=void 0;var r=n(4412),s=n(5503),a=function(t){function e(e,n,o,i){var r=t.call(this)||this;return r.shapeDescription=e,r.position=n,r.text=o,r.dataKey=i,r}return i(e,t),e.prototype.redo=function(t){var e=new s.Shape(this.shapeDescription,this.position);\"string\"==typeof this.text&&(e.text=this.text),void 0!==this.dataKey&&(e.dataKey=this.dataKey),t.addShape(e,this.shapeKey),this.shapeKey=e.key},e.prototype.undo=function(t){t.deleteShape(t.model.findShape(this.shapeKey),!0)},e}(r.HistoryItem);e.AddShapeHistoryItem=a},58:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ReplaceConnectorPointsHistoryItem=e.ChangeConnectorPointsHistoryItem=e.UpdateConnectorPointsHistoryItem=void 0;var r=function(t){function e(e,n){var o=t.call(this)||this;return o.connectorKey=e,o.newPoints=n,o}return i(e,t),e.prototype.redo=function(t){var e=this,n=t.model.findConnector(this.connectorKey);this.oldRenderContext=n.tryCreateRenderPointsContext(),this.oldPoints=n.points.map((function(t){return t.clone()})),t.changeConnectorPoints(n,(function(t){t.points=e.newPoints,e.updateRenderPoints(t)}))},e.prototype.undo=function(t){var e=this,n=t.model.findConnector(this.connectorKey);t.changeConnectorPoints(n,(function(t){t.points=e.oldPoints,t.replaceRenderPoints(e.oldRenderContext)}))},e}(n(4412).HistoryItem);e.UpdateConnectorPointsHistoryItem=r;var s=function(t){function e(e,n,o){var i=t.call(this,e,n)||this;return i.connectorKey=e,i.newPoints=n,i.newRenderContext=o,i}return i(e,t),e.prototype.updateRenderPoints=function(t){t.replaceRenderPoints(this.newRenderContext)},e}(r);e.ChangeConnectorPointsHistoryItem=s;var a=function(t){function e(e,n){var o=t.call(this,e,n)||this;return o.connectorKey=e,o.newPoints=n,o}return i(e,t),e.prototype.updateRenderPoints=function(t){t.clearRenderPoints()},e}(r);e.ReplaceConnectorPointsHistoryItem=a},329:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ChangeShapeParametersHistoryItem=void 0;var r=function(t){function e(e,n){var o=t.call(this)||this;return o.shapeKey=e,o.parameters=n,o}return i(e,t),e.prototype.redo=function(t){var e=t.model.findShape(this.shapeKey);this.oldParameters=e.parameters.clone(),t.changeShapeParameters(e,this.parameters)},e.prototype.undo=function(t){var e=t.model.findShape(this.shapeKey);t.changeShapeParameters(e,this.oldParameters)},e}(n(4412).HistoryItem);e.ChangeShapeParametersHistoryItem=r},56:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ChangeShapeTypeHistoryItem=void 0;var r=n(6629),s=function(t){function e(e,n){var o=t.call(this)||this;return o.shapeKey=e.key,o.newType=n,o}return i(e,t),e.prototype.redo=function(t){var e=t.model.findShape(this.shapeKey);this.oldType=e.description.key,this.oldParameters=e.parameters.clone(),t.updateShapeType(e,this.newType,new r.ShapeParameters)},e.prototype.undo=function(t){var e=t.model.findShape(this.shapeKey);t.updateShapeType(e,this.oldType,this.oldParameters)},e}(n(4412).HistoryItem);e.ChangeShapeTypeHistoryItem=s},8930:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.DeleteConnectionHistoryItem=void 0;var r=n(4412),s=n(7959),a=function(t){function e(e,n){var o=t.call(this)||this;return o.connectorKey=e.key,o.position=n,o.itemKey=e.getExtremeItem(o.position).key,o}return i(e,t),e.prototype.redo=function(t){var e=t.model.findConnector(this.connectorKey);this.oldConnectionPointIndex=this.position===s.ConnectorPosition.Begin?e.beginConnectionPointIndex:e.endConnectionPointIndex,t.deleteConnection(e,this.position)},e.prototype.undo=function(t){var e=t.model.findConnector(this.connectorKey),n=t.model.findItem(this.itemKey);t.addConnection(e,n,this.oldConnectionPointIndex,this.position)},e}(r.HistoryItem);e.DeleteConnectionHistoryItem=a},9143:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.DeleteConnectorHistoryItem=void 0;var r=function(t){function e(e){var n=t.call(this)||this;return n.connectorKey=e,n}return i(e,t),e.prototype.redo=function(t){var e=t.model.findConnector(this.connectorKey);this.connector=e.clone(),t.deleteConnector(e)},e.prototype.undo=function(t){t.addConnector(this.connector,this.connector.key)},e}(n(4412).HistoryItem);e.DeleteConnectorHistoryItem=r},1704:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.DeleteShapeHistoryItem=void 0;var r=function(t){function e(e,n){void 0===n&&(n=!0);var o=t.call(this)||this;return o.shapeKey=e,o.allowed=n,o}return i(e,t),e.prototype.redo=function(t){var e=t.model.findShape(this.shapeKey);this.shape=e.clone(),t.deleteShape(e,this.allowed)},e.prototype.undo=function(t){t.addShape(this.shape,this.shape.key)},e}(n(4412).HistoryItem);e.DeleteShapeHistoryItem=r},3849:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ImportConnectorHistoryItem=void 0;var r=function(t){function e(e){var n=t.call(this)||this;return n.connector=e,n}return i(e,t),e.prototype.redo=function(t){this.connectorKey=this.connector.key,t.insertConnector(this.connector)},e.prototype.undo=function(t){var e=t.model.findConnector(this.connectorKey);t.removeConnector(e)},e}(n(4412).HistoryItem);e.ImportConnectorHistoryItem=r},4383:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ImportShapeHistoryItem=void 0;var r=function(t){function e(e){var n=t.call(this)||this;return n.shape=e,n}return i(e,t),e.prototype.redo=function(t){this.shapeKey=this.shape.key,t.insertShape(this.shape)},e.prototype.undo=function(t){t.removeShape(t.model.findShape(this.shapeKey),!0)},e}(n(4412).HistoryItem);e.ImportShapeHistoryItem=r},9310:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.InsertToContainerHistoryItem=void 0;var r=function(t){function e(e,n){var o=t.call(this)||this;return o.containerKey=n.key,o.itemKey=e.key,o}return i(e,t),e.prototype.redo=function(t){var e=t.model.findItem(this.itemKey),n=t.model.findShape(this.containerKey);t.insertToContainer(e,n)},e.prototype.undo=function(t){var e=t.model.findItem(this.itemKey);t.removeFromContainer(e)},e}(n(4412).HistoryItem);e.InsertToContainerHistoryItem=r},8338:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.MoveConnectorRightAnglePointsHistoryItem=e.MoveConnectorPointHistoryItem=void 0;var r=n(8900),s=n(4412),a=function(t){function e(e,n,o){var i=t.call(this)||this;return i.connectorKey=e,i.pointIndex=n,i.newPoint=o,i}return i(e,t),e.prototype.redo=function(t){var e=this,n=t.model.findConnector(this.connectorKey);this.oldPoint=n.points[this.pointIndex].clone(),this.renderContext=n.tryCreateRenderPointsContext(),t.moveConnectorPoint(n,this.pointIndex,(function(t){t.movePoint(e.pointIndex,e.newPoint),t.onMovePoint(e.pointIndex,e.newPoint)}))},e.prototype.undo=function(t){var e=this,n=t.model.findConnector(this.connectorKey);t.moveConnectorPoint(n,this.pointIndex,(function(t){t.movePoint(e.pointIndex,e.oldPoint),t.replaceRenderPoints(e.renderContext)}))},e}(s.HistoryItem);e.MoveConnectorPointHistoryItem=a;var c=function(t){function e(e,n,o,i,r){var s=t.call(this)||this;return s.connectorKey=e,s.beginPointIndex=n,s.lastPointIndex=o,s.newX=i,s.newY=r,s.oldPoints=[],s}return i(e,t),e.prototype.redo=function(t){var e=this,n=t.model.findConnector(this.connectorKey);this.renderContext=n.tryCreateRenderPointsContext(),this.oldPoints=n.points.slice(this.beginPointIndex,this.lastPointIndex+1).map((function(t){return t.clone()}));var o=[];t.changeConnectorPoints(n,(function(t){for(var n=e.beginPointIndex;n<=e.lastPointIndex;n++){var i=new r.Point(void 0===e.newX?t.points[n].x:e.newX,void 0===e.newY?t.points[n].y:e.newY);o.push(i),t.movePoint(n,i)}t.onMovePoints(e.beginPointIndex,e.lastPointIndex,o)}))},e.prototype.undo=function(t){var e=this,n=t.model.findConnector(this.connectorKey);t.changeConnectorPoints(n,(function(t){for(var n=e.beginPointIndex;n<=e.lastPointIndex;n++)t.movePoint(n,e.oldPoints[n-e.beginPointIndex]);t.replaceRenderPoints(e.renderContext)}))},e}(s.HistoryItem);e.MoveConnectorRightAnglePointsHistoryItem=c},4160:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.MoveShapeHistoryItem=void 0;var r=function(t){function e(e,n){var o=t.call(this)||this;return o.shapeKey=e,o.position=n,o}return i(e,t),e.prototype.redo=function(t){var e=t.model.findShape(this.shapeKey);this.oldPosition=e.position.clone(),t.moveShape(e,this.position)},e.prototype.undo=function(t){var e=t.model.findShape(this.shapeKey);t.moveShape(e,this.oldPosition)},e}(n(4412).HistoryItem);e.MoveShapeHistoryItem=r},9753:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.RemoveFromContainerHistoryItem=void 0;var r=function(t){function e(e){var n=t.call(this)||this;return n.itemKey=e.key,n}return i(e,t),e.prototype.redo=function(t){var e=t.model.findItem(this.itemKey);this.containerKey=e.container&&e.container.key,t.removeFromContainer(e)},e.prototype.undo=function(t){var e=t.model.findContainer(this.containerKey),n=t.model.findItem(this.itemKey);t.insertToContainer(n,e)},e}(n(4412).HistoryItem);e.RemoveFromContainerHistoryItem=r},4629:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ResizeShapeHistoryItem=void 0;var r=function(t){function e(e,n,o){var i=t.call(this)||this;return i.shapeKey=e,i.position=n,i.size=o,i}return i(e,t),e.prototype.redo=function(t){var e=t.model.findShape(this.shapeKey);this.oldPosition=e.position.clone(),this.oldSize=e.size.clone(),t.resizeShape(e,this.position,this.size)},e.prototype.undo=function(t){var e=t.model.findShape(this.shapeKey);t.resizeShape(e,this.oldPosition,this.oldSize)},e}(n(4412).HistoryItem);e.ResizeShapeHistoryItem=r},7626:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ScrollIntoViewOnUndoHistoryItem=e.ScrollIntoViewOnRedoHistoryItem=void 0;var r=n(4412),s=function(t){function e(e,n){var o=t.call(this)||this;return o.view=e,o.rectangle=n,o.view=e,o.rectangle=n.clone(),o}return i(e,t),e.prototype.redo=function(t){this.view.scrollIntoView(this.rectangle)},e.prototype.undo=function(t){},e}(r.HistoryItem);e.ScrollIntoViewOnRedoHistoryItem=s;var a=function(t){function e(e,n){var o=t.call(this)||this;return o.view=e,o.rectangle=n,o.view=e,o.rectangle=n.clone(),o}return i(e,t),e.prototype.redo=function(t){},e.prototype.undo=function(t){this.view.scrollIntoView(this.rectangle)},e}(r.HistoryItem);e.ScrollIntoViewOnUndoHistoryItem=a},4297:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.SetSelectionHistoryItem=void 0;var r=function(t){function e(e,n,o){var i=t.call(this)||this;return i.selectedKeys=n,i.selection=e,i.forceChange=o,i}return i(e,t),e.prototype.redo=function(){this.oldSelection=this.selection.getKeys().slice(0),this.selection.set(this.selectedKeys,this.forceChange)},e.prototype.undo=function(){this.selection.set(this.oldSelection,this.forceChange)},e}(n(4412).HistoryItem);e.SetSelectionHistoryItem=r},1864:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.History=void 0;var o=n(4412),i=n(8675),r=function(){function t(t,e){this.modelManipulator=t,this.diagram=e,this.historyItems=[],this.currentIndex=-1,this.incrementalId=-1,this.transactionLevel=-1,this.unmodifiedIndex=-1,this.currTransactionId=0,this.onChanged=new i.EventDispatcher}return t.prototype.isModified=function(){if(this.unmodifiedIndex===this.currentIndex)return!1;for(var t=Math.min(this.unmodifiedIndex,this.currentIndex),e=Math.max(this.unmodifiedIndex,this.currentIndex),n=t+1;n<=e;n++)if(this.historyItems[n].changeModified())return!0;return!1},t.prototype.undo=function(){this.canUndo()&&(this.historyItems[this.currentIndex].undo(this.modelManipulator),this.currentIndex--,this.raiseChanged())},t.prototype.redo=function(){this.canRedo()&&(this.startDataSyncItem&&(this.startDataSyncItem.undo(this.modelManipulator),this.startDataSyncItem=void 0),this.currentIndex++,this.historyItems[this.currentIndex].redo(this.modelManipulator),this.raiseChanged())},t.prototype.canUndo=function(){return this.currentIndex>=0},t.prototype.canRedo=function(){return this.currentIndex=0)){var e=this.transaction.historyItems.length;if(e>0){var n=e>1?this.transaction:this.transaction.historyItems.pop();t?this.addDataSyncItem(n):this.addInternal(n)}e>0&&!t&&this.raiseChanged(),delete this.transaction}},t.prototype.addAndRedo=function(t){this.add(t),t.redo(this.modelManipulator),this.raiseChanged()},t.prototype.add=function(t){this.transactionLevel>=0?this.transaction.add(t):this.addInternal(t)},t.prototype.addInternal=function(t){this.currentIndex0&&this.currentIndex>e&&(this.historyItems.splice(0,e),this.currentIndex-=e)},t.prototype.getNextId=function(){return this.incrementalId++,this.incrementalId},t.prototype.clear=function(){this.currentIndex=-1,this.unmodifiedIndex=-1,this.incrementalId=-1,this.historyItems=[],delete this.transaction,this.transactionLevel=-1},t.prototype.resetModified=function(){this.unmodifiedIndex=this.currentIndex},t.prototype.getCurrentItemId=function(){if(-1===this.currentIndex)return-1;var t=this.historyItems[this.currentIndex];return-1===t.uniqueId&&(t.uniqueId=this.getNextId()),t.uniqueId},t.prototype.undoTransaction=function(){this.diagram.beginUpdateCanvas();for(var t=this.transaction.historyItems;t.length;)t.pop().undo(this.modelManipulator);this.diagram.endUpdateCanvas()},t.prototype.undoTransactionTo=function(t){this.diagram.beginUpdateCanvas();for(var e=this.transaction.historyItems;e.length;){var n=e.pop();if(n.undo(this.modelManipulator),n===t)break}this.diagram.endUpdateCanvas()},t.prototype.raiseChanged=function(){-1===this.transactionLevel&&this.onChanged.raise(\"notifyHistoryChanged\")},t.MAX_HISTORY_ITEM_COUNT=100,t}();e.History=r},4412:function(t,e){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},n(t,e)},function(t,e){function o(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(o.prototype=e.prototype,new o)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.CompositionHistoryItem=e.HistoryItem=void 0;var i=function(){function t(){this.uniqueId=-1}return t.prototype.changeModified=function(){return!0},t.prototype.getName=function(){return this.constructor.name},t}();e.HistoryItem=i;var r=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.historyItems=[],e.dataSyncItems=[],e}return o(e,t),e.prototype.changeModified=function(){for(var t,e=0;t=this.historyItems[e];e++)if(t.changeModified())return!0;return!1},e.prototype.redo=function(t){for(var e,n=0;e=this.historyItems[n];n++)e.redo(t)},e.prototype.undo=function(t){for(var e,n=this.dataSyncItems.length-1;e=this.dataSyncItems[n];n--)e.undo(t);this.dataSyncItems=[];for(n=this.historyItems.length-1;e=this.historyItems[n];n--)e.undo(t)},e.prototype.add=function(t){if(null==t)throw new Error(\"cannot be null\");this.historyItems.push(t)},e}(i);e.CompositionHistoryItem=r},7195:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ChangePageColorHistoryItem=void 0;var r=function(t){function e(e){var n=t.call(this)||this;return n.value=e,n}return i(e,t),e.prototype.redo=function(t){this.oldValue=t.model.pageColor,t.changePageColor(this.value)},e.prototype.undo=function(t){t.changePageColor(this.oldValue)},e}(n(4412).HistoryItem);e.ChangePageColorHistoryItem=r},1380:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ChangePageLandscapeHistoryItem=void 0;var r=function(t){function e(e){var n=t.call(this)||this;return n.value=e,n}return i(e,t),e.prototype.redo=function(t){this.oldValue=t.model.pageLandscape,t.changePageLandscape(this.value)},e.prototype.undo=function(t){t.changePageLandscape(this.oldValue)},e}(n(4412).HistoryItem);e.ChangePageLandscapeHistoryItem=r},1044:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ChangePageSizeHistoryItem=void 0;var r=function(t){function e(e){var n=t.call(this)||this;return n.size=e,n}return i(e,t),e.prototype.redo=function(t){this.oldSize=t.model.pageSize,t.changePageSize(this.size)},e.prototype.undo=function(t){t.changePageSize(this.oldSize)},e}(n(4412).HistoryItem);e.ChangePageSizeHistoryItem=r},7479:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ChangeUnitsHistoryItem=void 0;var r=function(t){function e(e){var n=t.call(this)||this;return n.units=e,n}return i(e,t),e.prototype.redo=function(t){this.oldUnits=t.model.units,t.model.units=this.units},e.prototype.undo=function(t){t.model.units=this.oldUnits},e}(n(4412).HistoryItem);e.ChangeUnitsHistoryItem=r},1729:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ModelResizeHistoryItem=void 0;var r=n(4412),s=n(4125),a=n(6353),c=function(t){function e(e){var n=t.call(this)||this;return n.offset=e,n}return i(e,t),e.prototype.redo=function(t){this.oldSize=t.model.size.clone(),this.backOffset=new s.Offsets(-this.offset.left,-this.offset.right,-this.offset.top,-this.offset.bottom);var e=Math.max(this.oldSize.width+this.offset.left+this.offset.right,t.model.pageWidth),n=Math.max(this.oldSize.height+this.offset.top+this.offset.bottom,t.model.pageHeight);t.changeModelSize(new a.Size(e,n),this.offset)},e.prototype.undo=function(t){t.changeModelSize(this.oldSize,this.backOffset)},e}(r.HistoryItem);e.ModelResizeHistoryItem=c},4518:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.UpdatePositionsOnPageResizeHistoryItem=void 0;var r=n(7959),s=n(5503),a=function(t){function e(e){var n=t.call(this)||this;return n.offset=e,n}return i(e,t),e.prototype.redo=function(t){var e=this;t.model.iterateItems((function(n){n instanceof s.Shape&&t.moveShape(n,e.applyOffset(n.position,e.offset.x,e.offset.y)),n instanceof r.Connector&&t.changeConnectorPoints(n,(function(t){return t.updatePointsOnPageResize(e.offset.x,e.offset.y)}))}))},e.prototype.undo=function(t){var e=this;t.model.iterateItems((function(n){n instanceof s.Shape&&t.moveShape(n,e.applyOffset(n.position,-e.offset.x,-e.offset.y)),n instanceof r.Connector&&t.changeConnectorPoints(n,(function(t){return t.updatePointsOnPageResize(-e.offset.x,-e.offset.y)}))}))},e.prototype.applyOffset=function(t,e,n){return t.clone().offset(e,n)},e}(n(4412).HistoryItem);e.UpdatePositionsOnPageResizeHistoryItem=a},8236:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ChangeConnectorPropertyHistoryItem=void 0;var r=function(t){function e(e,n,o){var i=t.call(this)||this;return i.connectorKey=e,i.propertyName=n,i.value=o,i}return i(e,t),e.prototype.redo=function(t){var e=t.model.findConnector(this.connectorKey);this.oldValue=e.properties[this.propertyName],t.changeConnectorProperty(e,this.propertyName,this.value)},e.prototype.undo=function(t){var e=t.model.findConnector(this.connectorKey);t.changeConnectorProperty(e,this.propertyName,this.oldValue)},e}(n(4412).HistoryItem);e.ChangeConnectorPropertyHistoryItem=r},5144:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ChangeConnectorTextHistoryItem=void 0;var r=function(t){function e(e,n,o){var i=t.call(this)||this;return i.connectorKey=e.key,i.text=o,i.position=n,i}return i(e,t),e.prototype.redo=function(t){var e=t.model.findConnector(this.connectorKey);this.oldText=e.getText(this.position),t.changeConnectorText(e,this.text,this.position)},e.prototype.undo=function(t){var e=t.model.findConnector(this.connectorKey);t.changeConnectorText(e,this.oldText,this.position)},e}(n(4412).HistoryItem);e.ChangeConnectorTextHistoryItem=r},45:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ChangeConnectorTextPositionHistoryItem=void 0;var r=function(t){function e(e,n,o){var i=t.call(this)||this;return i.connectorKey=e.key,i.position=n,i.newPosition=o,i}return i(e,t),e.prototype.redo=function(t){var e=t.model.findConnector(this.connectorKey);t.changeConnectorTextPosition(e,this.position,this.newPosition)},e.prototype.undo=function(t){var e=t.model.findConnector(this.connectorKey);t.changeConnectorTextPosition(e,this.newPosition,this.position)},e}(n(4412).HistoryItem);e.ChangeConnectorTextPositionHistoryItem=r},9559:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ChangeCustomDataHistoryItem=void 0;var r=n(4412),s=n(8675),a=function(t){function e(e,n){var o=t.call(this)||this;return o.itemKey=e,o.customData=s.ObjectUtils.cloneObject(n),o}return i(e,t),e.prototype.redo=function(t){var e=t.model.findItem(this.itemKey);this.oldCustomData=s.ObjectUtils.cloneObject(e.customData),t.changeCustomData(e,this.customData)},e.prototype.undo=function(t){var e=t.model.findItem(this.itemKey);t.changeCustomData(e,this.oldCustomData)},e}(r.HistoryItem);e.ChangeCustomDataHistoryItem=a},7443:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ChangeLockedHistoryItem=void 0;var r=function(t){function e(e,n){var o=t.call(this)||this;return o.itemKey=e.key,o.locked=n,o}return i(e,t),e.prototype.redo=function(t){var e=t.model.findItem(this.itemKey);this.oldLocked=e.locked,t.changeLocked(e,this.locked)},e.prototype.undo=function(t){var e=t.model.findItem(this.itemKey);t.changeLocked(e,this.oldLocked)},e}(n(4412).HistoryItem);e.ChangeLockedHistoryItem=r},8210:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ChangeShapeImageHistoryItem=void 0;var r=n(4412),s=n(6617),a=function(t){function e(e,n){var o=t.call(this)||this;return o.shapeKey=e.key,o.imageUrl=n,o}return i(e,t),e.prototype.redo=function(t){var e=t.model.findShape(this.shapeKey);this.oldImage=e.image,t.changeShapeImage(e,new s.ImageInfo(this.imageUrl))},e.prototype.undo=function(t){var e=t.model.findShape(this.shapeKey);t.changeShapeImage(e,this.oldImage)},e}(r.HistoryItem);e.ChangeShapeImageHistoryItem=a},6516:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ChangeShapeTextHistoryItem=void 0;var r=function(t){function e(e,n){var o=t.call(this)||this;return o.shapeKey=e.key,o.text=n,o}return i(e,t),e.prototype.redo=function(t){var e=t.model.findShape(this.shapeKey);this.oldText=e.text,t.changeShapeText(e,this.text)},e.prototype.undo=function(t){var e=t.model.findShape(this.shapeKey);t.changeShapeText(e,this.oldText)},e}(n(4412).HistoryItem);e.ChangeShapeTextHistoryItem=r},5982:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ChangeZindexHistoryItem=void 0;var r=function(t){function e(e,n){var o=t.call(this)||this;return o.itemKey=e.key,o.zIndex=n,o}return i(e,t),e.prototype.redo=function(t){var e=t.model.findItem(this.itemKey);this.oldZIndex=e.zIndex,t.changeZIndex(e,this.zIndex)},e.prototype.undo=function(t){var e=t.model.findItem(this.itemKey);t.changeZIndex(e,this.oldZIndex)},e}(n(4412).HistoryItem);e.ChangeZindexHistoryItem=r},442:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ToggleShapeExpandedHistoryItem=void 0;var r=function(t){function e(e){var n=t.call(this)||this;return n.shapeKey=e.key,n.expanded=e.expanded,n}return i(e,t),e.prototype.redo=function(t){var e=t.model.findShape(this.shapeKey);t.changeShapeExpanded(e,!this.expanded)},e.prototype.undo=function(t){var e=t.model.findShape(this.shapeKey);t.changeShapeExpanded(e,this.expanded)},e}(n(4412).HistoryItem);e.ToggleShapeExpandedHistoryItem=r},4634:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ChangeStyleHistoryItem=void 0;var r=function(t){function e(e,n,o){return t.call(this,e,n,o)||this}return i(e,t),e.prototype.redo=function(t){var e=t.model.findItem(this.itemKey);this.oldStyleValue=e.style[this.styleProperty],t.changeStyle(e,this.styleProperty,this.styleValue)},e.prototype.undo=function(t){var e=t.model.findItem(this.itemKey);t.changeStyle(e,this.styleProperty,this.oldStyleValue)},e}(n(3259).ChangeStyleHistoryItemBase);e.ChangeStyleHistoryItem=r},3259:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ChangeStyleHistoryItemBase=void 0;var r=function(t){function e(e,n,o){var i=t.call(this)||this;return i.itemKey=e,i.styleProperty=n,i.styleValue=o,i}return i(e,t),e.prototype.redo=function(t){var e=t.model.findItem(this.itemKey);this.oldStyleValue=e.style[this.styleProperty],t.changeStyle(e,this.styleProperty,this.styleValue)},e.prototype.undo=function(t){var e=t.model.findItem(this.itemKey);t.changeStyle(e,this.styleProperty,this.oldStyleValue)},e}(n(4412).HistoryItem);e.ChangeStyleHistoryItemBase=r},926:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ChangeStyleTextHistoryItem=void 0;var r=function(t){function e(e,n,o){return t.call(this,e,n,o)||this}return i(e,t),e.prototype.redo=function(t){var e=t.model.findItem(this.itemKey);this.oldStyleValue=e.styleText[this.styleProperty],t.changeStyleText(e,this.styleProperty,this.styleValue)},e.prototype.undo=function(t){var e=t.model.findItem(this.itemKey);t.changeStyleText(e,this.styleProperty,this.oldStyleValue)},e}(n(3259).ChangeStyleHistoryItemBase);e.ChangeStyleTextHistoryItem=r},7176:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ImageCache=e.CacheImageInfo=void 0;var o=n(6477),i=n(6617),r=n(8675),s=function(){function t(t,e,n,i,r){this._base64=void 0!==t?o.Base64Utils.normalizeToDataUrl(t,\"image/png\"):void 0,this.actualId=e,this._referenceInfo=i,this._isLoaded=void 0!==r&&r,this.imageUrl=n}return Object.defineProperty(t.prototype,\"isLoaded\",{get:function(){return this._referenceInfo?this._referenceInfo._isLoaded:this._isLoaded},set:function(t){this._isLoaded=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"base64\",{get:function(){return this._base64},set:function(t){this._base64=o.Base64Utils.normalizeToDataUrl(t,\"image/png\")},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"referenceInfo\",{get:function(){return this._referenceInfo},set:function(t){this._referenceInfo=t,this._base64=void 0,this._isLoaded=void 0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"isLoading\",{get:function(){return this._referenceInfo?this.referenceInfo._isLoading:this._isLoading},enumerable:!1,configurable:!0}),t.prototype.startLoading=function(){this._referenceInfo?this._referenceInfo.startLoading():this._isLoading=!0},t.prototype.finalizeLoading=function(){this._referenceInfo?this._referenceInfo.finalizeLoading():this._isLoading=!1},t}();e.CacheImageInfo=s;var a=function(){function t(){this.emptyImageId=0,this.lastActualId=0,this.onReadyStateChanged=new r.EventDispatcher,this.cache=[],this.nonLoadedImages=[],this.createUnloadedInfoByBase64(i.ImageInfo.transparentOnePixelImage).isLoaded=!0}return t.prototype.reset=function(){this.cache.splice(1),this.nonLoadedImages=[],this.lastActualId=1},Object.defineProperty(t.prototype,\"emptyImage\",{get:function(){return this.cache[this.emptyImageId]},enumerable:!1,configurable:!0}),t.prototype.getImageData=function(t){return this.cache[t]},t.prototype.createUnloadedInfoByUrl=function(t){var e=this.findInfoByUrl(t);return e||this.registerImageData(new s(void 0,this.getNextActualId(),t))},t.prototype.createUnloadedInfoByBase64=function(t){var e=this.findInfoByBase64(t);return e||this.registerImageData(new s(t,this.getNextActualId()))},t.prototype.createUnloadedInfoByShapeImageInfo=function(t){var e=t.exportUrl;return o.Base64Utils.checkPrependDataUrl(e)?this.createUnloadedInfoByBase64(e):this.createUnloadedInfoByUrl(e)},t.prototype.registerImageData=function(t){var e=this.cache[t.actualId];return e||(e=t),void 0!==t.actualId&&(this.cache[t.actualId]=e),0!==t.actualId&&(this.nonLoadedImages.push(t),1===this.nonLoadedImages.length&&this.raiseReadyStateChanged(!1)),e},t.prototype.loadAllImages=function(t){var e=this;this.cache.forEach((function(n){e.emptyImageId===n.actualId||n.isLoaded||n.isLoading||t.load(n)}))},t.prototype.finalizeLoading=function(t,e){t.finalizeLoading(),t.isLoaded=!0;var n=this.nonLoadedImages.indexOf(t);if(this.nonLoadedImages.splice(n,1),0===this.nonLoadedImages.length&&this.raiseReadyStateChanged(!0),!t.referenceInfo&&e.base64){var i=o.Base64Utils.normalizeToDataUrl(e.base64,\"image/png\");this.cache.forEach((function(e){var n=e.base64===i&&e!==t&&e.isLoaded;return n&&(t.referenceInfo=e.referenceInfo?e.referenceInfo:e),n})),t.base64=i}},t.prototype.hasNonLoadedImages=function(){return 0!==this.nonLoadedImages.length},t.prototype.getNextActualId=function(){return this.lastActualId++},t.prototype.findInfoByBase64=function(t){return t=o.Base64Utils.normalizeToDataUrl(t,\"image/png\"),this.findInfoCore((function(e){return e.base64===t}))},t.prototype.findInfoByUrl=function(t){return this.findInfoCore((function(e){return e.imageUrl===t}))},t.prototype.findInfoCore=function(t){var e;return this.cache.forEach((function(n){t(n)&&(e=n)})),e},t.prototype.raiseReadyStateChanged=function(t){this.onReadyStateChanged.raise1((function(e){return e.notifyImageCacheReadyStateChanged(t)}))},t.instance=new t,t}();e.ImageCache=a},6617:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ImageInfo=void 0;var o=n(6477),i=function(){function t(t){this.url=void 0,this.base64=void 0,t&&(o.Base64Utils.checkPrependDataUrl(t)?this.base64=t:this.url=t),this.loadFailed=!1}return t.prototype.clone=function(){var e=new t;return e.url=this.url,e.base64=this.base64,e},Object.defineProperty(t.prototype,\"isEmpty\",{get:function(){return void 0===this.url&&void 0===this.base64},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"unableToLoad\",{get:function(){return this.loadFailed},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"renderUrl\",{get:function(){return this.base64||\"\"},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"exportUrl\",{get:function(){return this.base64?this.base64:this.url},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"actualUrl\",{get:function(){return this.url?this.url:this.base64},enumerable:!1,configurable:!0}),Object.defineProperty(t,\"transparentOnePixelImage\",{get:function(){return this.transparentWhiteImage1_1},enumerable:!1,configurable:!0}),t.prototype.loadBase64Content=function(t){this.base64=o.Base64Utils.normalizeToDataUrl(t,\"image/png\")},t.prototype.setUnableToLoadFlag=function(){this.loadFailed=!0},t.transparentWhiteImage1_1=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAANSURBVBhXY/j///9/AAn7A/0FQ0XKAAAAAElFTkSuQmCC\",t}();e.ImageInfo=i},590:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ImageLoader=void 0;var o=n(7176),i=function(){function t(t){this.loadedCallback=t}return t.prototype.load=function(t){t.isLoaded?this.loadedCallback(t):t.isLoading||this.loadInner(t)},t.prototype.loadInner=function(t){var e=this;return t.imageUrl?this.loadPictureByUrl(t,(function(){return e.finalizeLoading(t,t)})):t.base64&&this.loadPictureByBase64(t,(function(){return e.finalizeLoading(t,t)})),t},t.prototype.finalizeLoading=function(t,e){e||(e=o.ImageCache.instance.getImageData(t.actualId)),e.isLoaded||o.ImageCache.instance.finalizeLoading(e,t),this.loadedCallback(e)},t.prototype.loadPictureByBase64=function(t,e){var n=new Image;n.onload=function(){e(t)},n.src=t.base64},t.prototype.loadPictureByUrl=function(t,e){var n=this,o=new XMLHttpRequest;try{o.onload=function(){var i=new FileReader;i.onloadend=function(){t.base64=i.result,n.loadPictureByBase64(t,(function(t){return e(t)}))},i.readAsDataURL(o.response)},o.onerror=function(){return e(t)},o.onloadend=function(){404===o.status&&e(t)},o.open(\"GET\",t.imageUrl,!0),o.responseType=\"blob\",t.startLoading(),o.send()}catch(t){}},t}();e.ImageLoader=i},5941:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.BPMNNode=e.BPMNImporter=void 0;var r=n(213),s=n(2259),a=n(8217),c=n(6572),u=function(){function t(t){this.doc=c.ImportUtils.createDocument(t),this.graph=new r.Graph([],[])}return t.prototype.import=function(){for(var t=void 0,e=0;t=this.doc.children[e];e++)\"DEFINITIONS\"===t.nodeName.toUpperCase()&&this.onDefinitionsElement(t);return this.validate(),this.graph},t.prototype.validate=function(){var t={};this.graph.nodes.forEach((function(e){return t[e]=!0}));for(var e=0,n=void 0;n=this.graph.edges[e];e++)t[n.from]&&t[n.to]||(this.graph.edges.splice(e,1),e--)},t.prototype.onDefinitionsElement=function(t){this.dataSourceKey=t.getAttribute(\"id\");for(var e=void 0,n=0;e=t.children[n];n++)\"PROCESS\"===e.nodeName.toUpperCase()&&this.onProcessElement(e)},t.prototype.onProcessElement=function(t){for(var e=void 0,n=0;e=t.children[n];n++)switch(e.nodeName.toUpperCase()){case\"STARTEVENT\":this.onStartEventElement(e);break;case\"SEQUENCEFLOW\":this.onSequenceFlowElement(e);break;case\"SCRIPTTASK\":this.onScriptTaskElement(e);break;case\"USERTASK\":this.onUserTaskElement(e);break;case\"SERVICETASK\":this.onServiceTaskElement(e);break;case\"SENDTASK\":this.onSendTaskElement(e);break;case\"EXCLUSIVEGATEWAY\":this.onExclusiveGateway(e);break;case\"ENDEVENT\":this.onEndEventGateway(e)}},t.prototype.onStartEventElement=function(t){var e=this.createNode(t);e.type=s.ShapeTypes.Ellipse,e.text=t.getAttribute(\"name\"),this.graph.addNode(e)},t.prototype.onSequenceFlowElement=function(t){var e=t.getAttribute(\"sourceRef\"),n=t.getAttribute(\"targetRef\"),o=this.createEdge(t,e,n);t.hasAttribute(\"name\")&&(o.text=t.getAttribute(\"name\")),this.graph.addEdge(o)},t.prototype.onScriptTaskElement=function(t){var e=this.createNode(t);e.text=t.getAttribute(\"name\"),this.graph.addNode(e)},t.prototype.onUserTaskElement=function(t){var e=this.createNode(t);e.text=t.getAttribute(\"name\"),this.graph.addNode(e)},t.prototype.onServiceTaskElement=function(t){var e=this.createNode(t);e.text=t.getAttribute(\"name\"),this.graph.addNode(e)},t.prototype.onSendTaskElement=function(t){var e=this.createNode(t);e.text=t.getAttribute(\"name\"),this.graph.addNode(e)},t.prototype.onExclusiveGateway=function(t){var e=this.createNode(t);e.text=t.getAttribute(\"name\"),e.type=s.ShapeTypes.Decision,this.graph.addNode(e)},t.prototype.onEndEventGateway=function(t){var e=this.createNode(t);e.text=t.getAttribute(\"name\"),e.type=s.ShapeTypes.Ellipse,this.graph.addNode(e)},t.prototype.createNode=function(t){return new h(this.dataSourceKey,t.getAttribute(\"id\"))},t.prototype.createEdge=function(t,e,n){return new p(this.dataSourceKey,t.getAttribute(\"id\"),e,n)},t}();e.BPMNImporter=u;var h=function(t,e){this.sourceKey=t,this.key=e,this.type=s.ShapeTypes.Rectangle};e.BPMNNode=h;var p=function(t){function e(e,n,o,i){var r=t.call(this,n,o,i)||this;return r.sourceKey=e,r}return i(e,t),e}(a.Edge)},5885:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.Exporter=void 0;var o=n(5503),i=n(7959),r=n(8675),s=function(){function t(){}return t.prototype.export=function(t){var e={page:{},connectors:[],shapes:[]};return e.page={width:t.size.width,height:t.size.height,pageColor:t.pageColor,pageWidth:t.pageSize.width,pageHeight:t.pageSize.height,pageLandscape:t.pageLandscape},this.exportItemsCore(t.items,e),JSON.stringify(e)},t.prototype.exportItems=function(t){var e={connectors:[],shapes:[]};return this.exportItemsCore(t,e),JSON.stringify(e)},t.prototype.exportItemsCore=function(t,e){var n=this;t.forEach((function(t){if(t instanceof o.Shape)e.shapes.push(n.exportShape(t));else if(t instanceof i.Connector){var r=n.exportConnector(t);t.beginItem&&(r.beginItemKey=t.beginItem.key,r.beginConnectionPointIndex=t.beginConnectionPointIndex),t.endItem&&(r.endItemKey=t.endItem.key,r.endConnectionPointIndex=t.endConnectionPointIndex),e.connectors.push(r)}}))},t.prototype.exportItem=function(t){return{key:t.key,dataKey:t.dataKey,customData:r.ObjectUtils.cloneObject(t.customData),locked:t.locked,zIndex:t.zIndex}},t.prototype.exportShape=function(t){var e=this.exportItem(t);e.type=t.description.key,e.text=t.text,t.image.isEmpty||(e.imageUrl=t.image.exportUrl),e.x=t.position.x,e.y=t.position.y,e.width=t.size.width,e.height=t.size.height;var n=t.parameters.toObject();n&&(e.parameters=n);var o=t.style.toObject();o&&(e.style=o);var i=t.styleText.toObject();return i&&(e.styleText=i),t.children.length&&(e.childKeys=t.children.map((function(t){return t.key}))),t.expanded||(e.expanded=!1),t.expandedSize&&(e.expandedWidth=t.expandedSize.width,e.expandedHeight=t.expandedSize.height),e},t.prototype.exportConnector=function(t){var e=this.exportItem(t);e.points=t.points.map((function(t){return{x:t.x,y:t.y}}));var n=t.texts.toObject();n&&(e.texts=n);var o=t.properties.toObject();o&&(e.properties=o);var i=t.style.toObject();i&&(e.style=i);var r=t.styleText.toObject();return r&&(e.styleText=r),e},t.prototype.exportSvg=function(t,e,n,o){n.exportSvgImage(t,e,o)},t.prototype.exportPng=function(t,e,n,o,i){n.exportPngImage(t,e,o,i)},t.prototype.exportJpg=function(t,e,n,o,i){n.exportJpgImage(t,e,o,i)},t}();e.Exporter=s},6572:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ImportUtils=void 0;var n=function(){function t(){}return t.parseJSON=function(t){if(!t||\"\"===t)return{};try{return JSON.parse(t)}catch(t){return{}}},t.createDocument=function(t){return(new DOMParser).parseFromString(t,\"application/xml\")},t}();e.ImportUtils=n},2406:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.Importer=void 0;var r=n(5503),s=n(8675),a=n(6353),c=n(8900),u=n(8397),h=n(7959),p=n(6617),l=n(8577),d=n(6572),f=n(13),y=function(t){function e(e,n){var o=t.call(this,e)||this;return o.obj=d.ImportUtils.parseJSON(n),o}return i(e,t),e.prototype.getObject=function(){return this.obj},e.prototype.getPageObject=function(t){return t.page},e.prototype.getShapeObjects=function(t){return t.shapes},e.prototype.getConnectorObjects=function(t){return t.connectors},e.prototype.importPageSettings=function(t,e){e&&(this.assert(e.width,\"number\"),this.assert(e.height,\"number\"),\"number\"==typeof e.width&&(t.size.width=e.width),\"number\"==typeof e.height&&(t.size.height=e.height),\"number\"==typeof e.pageColor?t.pageColor=e.pageColor:\"string\"==typeof e.pageColor&&(t.pageColor=f.ColorUtils.fromString(e.pageColor)),\"number\"==typeof e.pageWidth&&(t.pageSize.width=e.pageWidth),\"number\"==typeof e.pageHeight&&(t.pageSize.height=e.pageHeight),\"boolean\"==typeof e.pageLandscape&&(t.pageLandscape=e.pageLandscape))},e.prototype.importShape=function(t){this.assert(t.key,\"string\"),this.assert(t.x,\"number\"),this.assert(t.y,\"number\"),this.assert(t.type,\"string\");var e=t.type,n=this.shapeDescriptionManager.get(e),o=new c.Point(t.x,t.y),i=new r.Shape(n||u.ShapeDescriptionManager.default,o);return i.key=t.key,\"string\"!=typeof t.dataKey&&\"number\"!=typeof t.dataKey||(i.dataKey=t.dataKey),\"object\"==typeof t.customData&&(i.customData=s.ObjectUtils.cloneObject(t.customData)),\"boolean\"==typeof t.locked&&(i.locked=t.locked),\"number\"==typeof t.width&&(i.size.width=t.width),\"number\"==typeof t.height&&(i.size.height=t.height),\"string\"==typeof t.text&&(i.text=t.text),\"string\"==typeof t.imageUrl&&(i.image=new p.ImageInfo(t.imageUrl)),t.parameters&&(i.parameters.fromObject(t.parameters),i.description.normalizeParameters(i,i.parameters)),t.style&&i.style.fromObject(t.style),t.styleText&&i.styleText.fromObject(t.styleText),\"number\"==typeof t.zIndex&&(i.zIndex=t.zIndex),Array.isArray(t.childKeys)&&(i.childKeys=t.childKeys.slice()),\"boolean\"==typeof t.expanded&&(i.expanded=t.expanded),\"number\"==typeof t.expandedWidth&&\"number\"==typeof t.expandedHeight&&(i.expandedSize=new a.Size(t.expandedWidth,t.expandedHeight)),i},e.prototype.importShapeChildren=function(t,e){return[]},e.prototype.importConnector=function(t){var e=this;if(this.assert(t.key,\"string\"),!Array.isArray(t.points))throw Error(\"Invalid Format\");var n=t.points.map((function(t){return e.assert(t.x,\"number\"),e.assert(t.y,\"number\"),new c.Point(t.x,t.y)})),o=new h.Connector(n);return o.key=t.key,\"string\"!=typeof t.dataKey&&\"number\"!=typeof t.dataKey||(o.dataKey=t.dataKey),\"object\"==typeof t.customData&&(o.customData=s.ObjectUtils.cloneObject(t.customData)),\"boolean\"==typeof t.locked&&(o.locked=t.locked),o.endConnectionPointIndex=\"number\"==typeof t.endConnectionPointIndex?t.endConnectionPointIndex:-1,o.beginConnectionPointIndex=\"number\"==typeof t.beginConnectionPointIndex?t.beginConnectionPointIndex:-1,void 0!==t.endItemKey&&this.assert(t.endItemKey,\"string\"),void 0!==t.beginItemKey&&this.assert(t.beginItemKey,\"string\"),o.endItemKey=t.endItemKey,o.beginItemKey=t.beginItemKey,t.texts&&o.texts.fromObject(t.texts),t.properties&&o.properties.fromObject(t.properties),t.style&&o.style.fromObject(t.style),t.styleText&&o.styleText.fromObject(t.styleText),\"number\"==typeof t.zIndex&&(o.zIndex=t.zIndex),o},e}(l.ImporterBase);e.Importer=y},8577:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ImporterBase=void 0;var o=n(6613),i=n(5503),r=function(){function t(t){this.shapeDescriptionManager=t}return t.prototype.import=function(){var t=new o.DiagramModel,e=this.getObject();this.importPageSettings(t,this.getPageObject(e));for(var n=this.importShapes(this.getShapeObjects(e)),i=0;i Children > [ItemKind='DiagramShape']\").forEach((function(t){e.push(t)})),this.doc.querySelectorAll(\"[ItemKind='DiagramRoot'] > Children > [ItemKind='DiagramContainer']\").forEach((function(t){e.push(t)})),e},e.prototype.getConnectorObjects=function(t){var e=[];return this.doc.querySelectorAll(\"[ItemKind='DiagramRoot'] > Children > [ItemKind='DiagramConnector']\").forEach((function(t){e.push(t)})),e},e.prototype.importPageSettings=function(t,e){if(e){var n=e.getAttribute(\"PageSize\"),o=this.getSize(n);o&&(t.size=o.clone(),t.pageSize=o.clone())}},e.prototype.importShape=function(t){var e=t.getAttribute(\"Position\"),n=this.getPoint(e),o=t.getAttribute(\"Shape\"),i=this.getShapeType(o),r=this.shapeDescriptionManager.get(i),a=new s.Shape(r||u.ShapeDescriptionManager.default,n);a.key=this.getItemKey(t);var c=t.getAttribute(\"Size\"),h=this.getSize(c);h&&(a.size=h);var p=t.getAttribute(\"Content\");if(\"string\"==typeof p)a.text=p;else{var l=t.getAttribute(\"Header\");\"string\"==typeof l&&(a.text=l)}return this.importStyle(t,a),a},e.prototype.importShapeChildren=function(t,e){var n=[];t.setAttribute(\"dxDiagram\",\"\"),this.doc.querySelectorAll(\"[dxDiagram] > Children > [ItemKind='DiagramShape']\").forEach((function(t){n.push(t)})),this.doc.querySelectorAll(\"[dxDiagram] > Children > [ItemKind='DiagramContainer']\").forEach((function(t){n.push(t)})),t.removeAttribute(\"dxDiagram\");var o=[];if(!n)return o;for(var i=0;i-1?c.ShapeTypes.VerticalContainer:c.ShapeTypes.Rectangle},e.prototype.getItemKey=function(t){return(parseInt(t.tagName.replace(\"Item\",\"\"))-1).toString()},e.prototype.getNumbers=function(t){var e=t.split(\",\");return e&&e.length?e.map((function(t){return+t})):[]},e.prototype.getSize=function(t){if(t){var e=this.getNumbers(t);if(e.length>=2)return this.assert(e[0],\"number\"),this.assert(e[1],\"number\"),new h.Size(f.UnitConverter.pixelsToTwips(e[0]),f.UnitConverter.pixelsToTwips(e[1]))}},e.prototype.getPoint=function(t){if(t){var e=this.getNumbers(t);if(e.length>=2)return this.assert(e[0],\"number\"),this.assert(e[1],\"number\"),new p.Point(f.UnitConverter.pixelsToTwips(e[0]),f.UnitConverter.pixelsToTwips(e[1]))}},e.prototype.getColor=function(t){t=\"#\"===t.charAt(0)?t.substr(1):t;var e=parseInt(t,16);return isNaN(e)?void 0:d.ColorUtils.colorToHash(e)},e.shapeTypes={\"BasicShapes.Rectangle\":c.ShapeTypes.Rectangle,\"BasicShapes.Ellipse\":c.ShapeTypes.Ellipse,\"BasicShapes.Triangle\":c.ShapeTypes.Triangle,\"BasicShapes.Pentagon\":c.ShapeTypes.Pentagon,\"BasicShapes.Hexagon\":c.ShapeTypes.Hexagon,\"BasicShapes.Octagon\":c.ShapeTypes.Octagon,\"BasicShapes.Diamond\":c.ShapeTypes.Diamond,\"BasicShapes.Cross\":c.ShapeTypes.Cross,\"BasicShapes.Star5\":c.ShapeTypes.Star,\"BasicFlowchartShapes.StartEnd\":c.ShapeTypes.Terminator,\"BasicFlowchartShapes.Data\":c.ShapeTypes.Data,\"BasicFlowchartShapes.Database\":c.ShapeTypes.Database,\"BasicFlowchartShapes.ExternalData\":c.ShapeTypes.StoredData,\"BasicFlowchartShapes.Process\":c.ShapeTypes.Process,\"BasicFlowchartShapes.Decision\":c.ShapeTypes.Decision,\"BasicFlowchartShapes.Subprocess\":c.ShapeTypes.PredefinedProcess,\"BasicFlowchartShapes.Document\":c.ShapeTypes.Document,\"BasicFlowchartShapes.Custom1\":c.ShapeTypes.ManualInput,\"BasicFlowchartShapes.Custom2\":c.ShapeTypes.ManualOperation,\"ArrowShapes.SimpleArrow\":c.ShapeTypes.ArrowLeft,\"ArrowShapes.SimpleDoubleArrow\":c.ShapeTypes.ArrowLeftRight},e}(a.ImporterBase);e.XmlImporter=y},5227:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.LayoutBuilder=void 0;var o=n(8710),i=function(){function t(t,e){this.settings=t,this.graph=e}return t.prototype.getBreadthNodeSizeCore=function(t,e){var n=this.settings.orientation===o.DataLayoutOrientation.Vertical?t.size.width:t.size.height;return e||(n+=this.settings.orientation===o.DataLayoutOrientation.Vertical?t.margin.left+t.margin.right:t.margin.top+t.margin.bottom),n},t.prototype.getDepthNodeSizeCore=function(t){return this.settings.orientation===o.DataLayoutOrientation.Horizontal?t.size.width+t.margin.left+t.margin.right:t.size.height+t.margin.top+t.margin.bottom},t.prototype.chooseDirectionValue=function(t,e){return this.settings.direction===o.LogicalDirectionKind.Forward?t:e},t.prototype.getDirectionValue=function(t){return this.settings.direction===o.LogicalDirectionKind.Forward?t:-t},t.prototype.getComponentOffset=function(t){var e=t.getRectangle(!0);return(this.settings.orientation===o.DataLayoutOrientation.Vertical?e.width:e.height)+this.settings.componentSpacing},t.prototype.setComponentOffset=function(t,e){return this.settings.orientation===o.DataLayoutOrientation.Vertical?t.offsetNodes(e):t.offsetNodes(0,e)},t}();e.LayoutBuilder=i},1256:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.EdgeOnLayer=e.NodeOnLayer=e.SugiyamaNodesOrderer=e.SugiyamaLayerDistributor=e.SugiyamaLayoutBuilder=void 0;var r=n(5227),s=n(213),a=n(617),c=n(8217),u=n(701),h=n(2400),p=n(8900),l=n(8710),d=n(8119),f=n(7959),y=n(7309),g=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.build=function(){var t=this,e=0,n=new d.GraphLayout,o=new v;return this.graph.getConnectedComponents().forEach((function(i){var r=y.CycleRemover.removeCycles(i),s=m.getLayers(r.graph),a=o.orderNodes(r.graph,s),c=Object.keys(r.removedEdges).map((function(t){return i.getEdge(t)})),u=o.assignAbsCoordinates(a),h=t.createInfoGraphLayout(u,r.reversedEdges,c);n.extend(t.setComponentOffset(h,e)),e+=t.getComponentOffset(h)})),n},e.prototype.createInfoGraphLayout=function(t,e,n){for(var o=this,i=new p.Point(0,0),r=t.items,s=new u.HashSet(r.map((function(t){return t.layer})).sort((function(t,e){return t-e}))),a=this.getAbsOffsetInfo(t.items),c={},h=0,f=Number.MAX_SAFE_INTEGER||Number.MAX_VALUE,y=Number.MIN_SAFE_INTEGER||Number.MAX_VALUE,g=function(t){var e=s.item(t),n=0;r.filter((function(t){return t.layer===e})).sort((function(t,e){return t.position-e.position})).forEach((function(t){var e=o.getDepthNodeSize(t),r=o.chooseDirectionValue(0,e),s=o.getAbsPosition(t.position,o.getBreadthNodeSize(t),a);i=o.setBreadth(i,s);var u=o.setDepthOffset(i,-r);if(c[t.key]=u,!t.isDummy){var h=o.settings.orientation===l.DataLayoutOrientation.Horizontal?u.y:u.x;f=Math.min(f,h),y=Math.max(y,h+o.getBreadthNodeSize(t)),n=Math.max(n,o.getDepthNodeSize(t))}})),h+=n,i=m.setBreadth(i,0),i=m.setDepthOffset(i,m.getDirectionValue(n+m.settings.layerSpacing))},m=this,v=0;v=1)y.push(r),y.push({from:i.from,to:r.to}),y.push({from:r.from,to:i.to});else if(d.position-l.position<=-1)y.push(s),y.push({from:i.from,to:s.to}),y.push({from:s.from,to:i.to});else{var g=l.position===d.position&&0===d.position?[c,u]:[u,c];g.forEach((function(t){return y.push(t)})),g.forEach((function(t){y.push({from:t.from,to:i.to}),y.push({from:i.from,to:t.to})}))}y.push(i);for(var m=0,v=void 0;v=y[m];m++){var P=l.key+\"_\"+v.from,C=d.key+\"_\"+v.to;if(h[P]!==f.ConnectorPosition.End&&h[C]!==f.ConnectorPosition.Begin){e.addEdge(new a.EdgeLayout(o.key,v.from,v.to)),h[P]=f.ConnectorPosition.Begin,h[C]=f.ConnectorPosition.End;break}}}}))},e.prototype.getDirectEdgeLayout=function(){return this.settings.orientation===l.DataLayoutOrientation.Horizontal?this.settings.direction===l.LogicalDirectionKind.Forward?{from:1,to:3}:{from:3,to:1}:this.settings.direction===l.LogicalDirectionKind.Forward?{from:2,to:0}:{from:0,to:2}},e.prototype.getDiffLevelEdgeLayout=function(t){return this.settings.orientation===l.DataLayoutOrientation.Horizontal?t?{from:2,to:0}:{from:0,to:2}:t?{from:3,to:1}:{from:1,to:3}},e.prototype.getSameLevelEdgeLayout=function(t){return this.settings.orientation===l.DataLayoutOrientation.Horizontal?t?{from:0,to:0}:{from:2,to:2}:t?{from:3,to:3}:{from:1,to:1}},e.prototype.getAbsOffsetInfo=function(t){var e=this,n={},o=function(t,o){void 0===n[o]&&(n[o]=e.getBreadthNodeSize(t)),n[o]=Math.max(n[o],e.getBreadthNodeSize(t))};t.forEach((function(t){var e=x(t.position);o(t,e),n[e]%1!=0&&o(t,e+1)}));var i={},r=0;return Object.keys(n).sort((function(t,e){return parseFloat(t)-parseFloat(e)})).forEach((function(t){i[t]={leftOffset:r,width:n[t]},r+=n[t]+e.settings.columnSpacing})),i},e.prototype.setBreadth=function(t,e){return this.settings.orientation===l.DataLayoutOrientation.Vertical?new p.Point(e,t.y):new p.Point(t.x,e)},e.prototype.setDepthOffset=function(t,e){return this.settings.orientation===l.DataLayoutOrientation.Horizontal?new p.Point(t.x+e,t.y):new p.Point(t.x,t.y+e)},e.prototype.getAbsPosition=function(t,e,n){var o=x(t),i=n[o].leftOffset,r=n[o].width;return t%1==0?i+(r-e)/2:i+r-(e-this.settings.columnSpacing)/2},e.prototype.getBreadthNodeSize=function(t){return t.isDummy?0:this.getBreadthNodeSizeCore(this.graph.getNode(t.key))},e.prototype.getDepthNodeSize=function(t){return t.isDummy?0:this.getDepthNodeSizeCore(this.graph.getNode(t.key))},e}(r.LayoutBuilder);e.SugiyamaLayoutBuilder=g;var m=function(){function t(){}return t.getLayers=function(t){var e=this.getFeasibleTree(t);return this.calcNodesLayers(e)},t.getFeasibleTree=function(t){var e=this.initLayerAssignment(t);return t.getSpanningGraph(t.nodes[0],c.ConnectionMode.OutgoingAndIncoming,(function(t){return e[t.to]-e[t.from]}))},t.initLayerAssignment=function(t){for(var e={},n=0,o={},i=t.nodes.filter((function(e){return!t.getAdjacentEdges(e,c.ConnectionMode.Incoming).length})),r=function(){i.forEach((function(t){e[t]=n,o[t]=!0})),Object.keys(o).forEach((function(n){0===t.getAdjacentEdges(n,c.ConnectionMode.Outgoing).filter((function(t){return void 0===e[t.to]})).length&&delete o[n]}));var r={};Object.keys(o).forEach((function(n){t.getAdjacentEdges(n,c.ConnectionMode.Outgoing).map((function(t){return t.to})).filter((function(n){return void 0===e[n]&&t.getAdjacentEdges(n,c.ConnectionMode.Incoming).reduce((function(t,n){return t&&void 0!==e[n.from]}),!0)})).forEach((function(t){return r[t]=!0}))})),i=Object.keys(r),n++};i.length;)r();return e},t.calcNodesLayers=function(t){var e={},n=Number.MAX_SAFE_INTEGER||Number.MAX_VALUE,o=0,i=t.createIterator(c.ConnectionMode.OutgoingAndIncoming);for(var r in i.visitEachEdgeOnce=!1,i.onNode=function(t){e[t.key]=o,n=Math.min(n,o)},i.skipNode=function(t){return void 0!==e[t.key]},i.skipEdge=function(t){return void 0!==e[t.from]&&void 0!==e[t.to]},i.onEdge=function(t,n){o=n?e[t.from]+1:e[t.to]-1},i.iterate(t.nodes[0]),e)Object.prototype.hasOwnProperty.call(e,r)&&(e[r]-=n);return e},t}();e.SugiyamaLayerDistributor=m;var v=function(){function t(){this.idCounter=-1e4}return t.prototype.orderNodes=function(t,e){for(var n=1,o=this.initGraphInfo(t,e),i=o.items,r=this.initOrder(i),s=this.getNodeToPositionMap(i),a=this.getCrossCount(r,o),c=!0;n<14&&0!==a;){r=this.getNodesOrder(r,o,c);var u=this.getCrossCount(r,o);u1){for(var c=i[t.from],u=1;ut?i[e.key]:t}),-2);t.forEach((function(t){var o=e-i[t.key];o>0&&n[t.layer].filter((function(e){return e.position>t.position})).forEach((function(t){return i[t.key]+=o})),i[t.key]=e}))})),i},t.prototype.getSortedBlocks=function(t,e,n,o){for(var i=[],r=o===C.BottomLeft||o===C.BottomRight,s=new u.HashSet(e.slice(0).sort((function(t,e){return r?t.layer-e.layer:e.layer-t.layer})),(function(t){return t.key}));s.length;){var a=s.item(0),c=this.getBlock(t,a,n,o);i.push(c),c.forEach((function(t){return s.remove(t)}))}return i.sort((function(t,e){var n=t.reduce((function(t,e){return e.positiono.position?1:-1;var i=e.reduce((function(t,e){return e.positioni.position?1:-1:n.layer>i.layer?1:-1})),i},t.prototype.getBlock=function(t,e,n,o){var i=[],r=null;do{r&&(e=o===C.TopLeft||o===C.TopRight?t.getNode(r.from):t.getNode(r.to)),i.push(e),r=n[e.key]}while(r);return i},t.prototype.resolveMedianConflicts=function(t,e,n,o){var i=this,r={},s=function(s){if(!Object.prototype.hasOwnProperty.call(e,s))return\"continue\";var a,c,u=e[s];o!==C.TopRight&&o!==C.BottomRight||(u=u.slice(0).sort((function(t,e){return e.position-t.position}))),u.forEach((function(e){var s=n[e.key];if(s){var u=o===C.TopLeft||o===C.TopRight?s.from:s.to,h=t.getNode(u).position;i.checkMedianConfict(a,c,h,o)?r[e.key]=null:(a=void 0===a?h:Math.min(a,h),c=void 0===c?h:Math.max(c,h),r[e.key]=s)}else r[e.key]=null}))};for(var a in e)s(a);return r},t.prototype.checkMedianConfict=function(t,e,n,o){return void 0!==t&&void 0!==e&&(o===C.TopLeft||o===C.BottomLeft?e>=n:t<=n)},t.prototype.getMedians=function(t,e,n){var o=this,i={};return e.forEach((function(e){var r=o.getActualAdjacentEdges(t,e,n),s=o.getMedianPosition(r.length,n);i[e.key]=r[s]})),i},t.prototype.getMedianPosition=function(t,e){if(0===t)return-1;if(t%2!=0)return Math.floor(t/2);if(e===C.TopLeft||e===C.BottomLeft)return Math.floor(t/2)-1;if(e===C.TopRight||e===C.BottomRight)return Math.floor(t/2);throw new Error(\"Invalid Operation\")},t.prototype.getActualAdjacentEdges=function(t,e,n){return n===C.TopLeft||n===C.TopRight?t.getAdjacentEdges(e.key,c.ConnectionMode.Incoming).sort((function(e,n){return t.getNode(e.from).position-t.getNode(n.from).position})):t.getAdjacentEdges(e.key,c.ConnectionMode.Outgoing).sort((function(e,n){return t.getNode(e.to).position-t.getNode(n.to).position}))},t}();e.SugiyamaNodesOrderer=v;var P=function(){function t(t,e,n,o){this.key=t,this.isDummy=e,this.layer=n,this.position=o}return t.prototype.getHashCode=function(){return this.key.toString()},t}();e.NodeOnLayer=P;var C,S=function(){function t(t,e,n,o,i){this.key=t,this.isDummy=e,this.from=n,this.to=o,this._originFrom=i}return t.prototype.getHashCode=function(){return this.from+\"-\"+this.to},Object.defineProperty(t.prototype,\"originFrom\",{get:function(){return void 0!==this._originFrom?this._originFrom:this.from},enumerable:!1,configurable:!0}),t}();function x(t){return Math.trunc?Math.trunc(t):isFinite(t)?t-t%1||(t<0?-0:0===t?t:0):t}e.EdgeOnLayer=S,function(t){t[t.TopLeft=0]=\"TopLeft\",t[t.TopRight=1]=\"TopRight\",t[t.BottomLeft=2]=\"BottomLeft\",t[t.BottomRight=3]=\"BottomRight\"}(C||(C={}))},9533:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.TreeLayoutBuilder=void 0;var r=n(8119),s=n(5148),a=n(617),c=n(8675),u=n(8900),h=n(5227),p=n(8217),l=n(3742),d=n(8710),f=n(213),y=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.nodeToLevel={},e.levelDepthSize={},e}return i(e,t),e.prototype.build=function(){var t=this,e=new r.GraphLayout,n=0;return this.graph.getConnectedComponents().forEach((function(o){for(var i=s.Tree.createSpanningTree(o),r=t.processTree(i),a=t.getComponentOffset(r);r.nodeKeys.length=0}))).length){var i=this.getMaxDepthSize(e);this.levelDepthSize[n]=i,this.preProcessTree(t,[].concat.apply([],e.map((function(e){return t.getChildren(e)}))),n+1)}},e.prototype.loadNodes=function(t,e,n){return n?t.getChildren(n.info).map((function(t){return e.hasNode(t.key)?void 0:e.addNode(new a.NodeLayout(t,u.Point.zero()))})).filter((function(t){return t})):[e.addNode(new a.NodeLayout(t.root,u.Point.zero()))]},e.prototype.processTree=function(t){var e=this,n=new r.GraphLayout;if(this.preProcessTree(t,[t.root],0),this.processLevel(t,n,0,new c.Range(0),0),this.settings.direction===d.LogicalDirectionKind.Backward){var o=Object.keys(this.levelDepthSize).map((function(t){return e.levelDepthSize[t]})),i=o.reduce((function(t,e){return t+e}),0)+(o.length-1)*this.settings.layerSpacing;n.forEachNode((function(t){return e.setDepthPos(t,e.getDepthPos(t)+i)}))}return n},e.prototype.processLevel=function(t,e,n,o,i,r){var s,a=this,u=this.addNodes(t,e,i,r),h=r?this.graph.getAdjacentEdges(r.key,p.ConnectionMode.Outgoing):[],l=this.getDirectionValue(this.levelDepthSize[i]),d=this.getDirectionValue(this.settings.layerSpacing);if(u.forEach((function(r){var u=c.Range.fromLength(s?s.to+a.settings.columnSpacing:o.from,a.getBreadthNodeSizeCore(r.info));r.position=a.getNodePosition(u.from,n,l).clone().offset(r.info.margin.left,r.info.margin.top),a.processLevel(t,e,n+l+d,u,i+1,r),a.updateEdgeConnections(e,h,r),o.extend(u),s=u})),r&&u.length){var f=u[u.length-1],y=new c.Range(this.getBreadthPos(u[0]),this.getBreadthPos(f)+this.getBreadthNodeSizeCore(f.info,!0));this.alignParent(r,y,o)}},e.prototype.addNodes=function(t,e,n,o){var i=this;return 0===n?[e.addNode(new a.NodeLayout(t.root,u.Point.zero()))]:t.getChildren(o.info).reduce((function(t,o){return i.nodeToLevel[o.key]!==n||e.hasNode(o.key)||t.push(e.addNode(new a.NodeLayout(o,u.Point.zero()))),t}),[])},e.prototype.getMaxDepthSize=function(t){var e=this;return t.reduce((function(t,n){return Math.max(t,e.getDepthNodeSizeCore(n))}),0)},e.prototype.getNodePosition=function(t,e,n){return this.settings.direction===d.LogicalDirectionKind.Forward?this.settings.orientation===d.DataLayoutOrientation.Vertical?new u.Point(t,e):new u.Point(e,t):this.settings.orientation===d.DataLayoutOrientation.Vertical?new u.Point(t,e+n):new u.Point(e+n,t)},e.prototype.updateEdgeConnections=function(t,e,n){var o=this;e.filter((function(t){return t.to===n.key})).forEach((function(e){var n=o.getBeginEdgeIndex(),i=o.getEndEdgeIndex();t.addEdge(new a.EdgeLayout(e.key,n,i))}))},e.prototype.getBeginEdgeIndex=function(){return this.settings.direction===d.LogicalDirectionKind.Forward?this.isVertical()?l.ConnectionPointSide.South:l.ConnectionPointSide.East:this.isVertical()?l.ConnectionPointSide.North:l.ConnectionPointSide.West},e.prototype.getEndEdgeIndex=function(){return this.settings.direction===d.LogicalDirectionKind.Forward?this.isVertical()?l.ConnectionPointSide.North:l.ConnectionPointSide.West:this.isVertical()?l.ConnectionPointSide.South:l.ConnectionPointSide.East},e.prototype.alignParent=function(t,e,n){if(this.settings.alignment===d.Alignment.Center){var o=e.from+e.length/2-this.getBreadthNodeSizeCore(t.info,!0)/2;this.settings.orientation===d.DataLayoutOrientation.Vertical?(t.position.x=Math.max(n.from+t.info.margin.left,o),t.position.x=Math.min(n.to-t.info.size.width-t.info.margin.right,t.position.x)):(t.position.y=Math.max(n.from+t.info.margin.top,o),t.position.y=Math.min(n.to-t.info.size.height-t.info.margin.bottom,t.position.y))}},e.prototype.getDepthPos=function(t){return this.settings.orientation===d.DataLayoutOrientation.Vertical?t.position.y:t.position.x},e.prototype.getBreadthPos=function(t){return this.settings.orientation===d.DataLayoutOrientation.Vertical?t.position.x:t.position.y},e.prototype.setDepthPos=function(t,e){this.settings.orientation===d.DataLayoutOrientation.Vertical?t.position.y=e:t.position.x=e},e.prototype.isVertical=function(){return this.settings.orientation===d.DataLayoutOrientation.Vertical},e}(h.LayoutBuilder);e.TreeLayoutBuilder=y},213:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.GraphIterator=e.FastGraph=e.Graph=void 0;var r=n(8217),s=n(5503),a=n(2400),c=n(701),u=function(){function t(t,e){this.nodeMap={},this.edgeMap={},this.nodes=[],this.edges=[],this.onInit(),t.forEach(this.addNode.bind(this)),e.forEach(this.addEdge.bind(this))}return Object.defineProperty(t.prototype,\"items\",{get:function(){return this.nodes.map(this.getNode.bind(this))},enumerable:!1,configurable:!0}),t.prototype.onInit=function(){},t.prototype.addEdge=function(t){this.edgeMap[t.key]=t,this.edges.push(t)},t.prototype.addNode=function(t){this.nodeMap[t.key]=t,this.nodes.push(t.key)},t.prototype.getNode=function(t){return this.nodeMap[t]},t.prototype.getEdge=function(t){return this.edgeMap[t]},t.prototype.isEmpty=function(){return!this.nodes.length&&!this.edges.length},t.prototype.getAdjacentEdges=function(t,e){return void 0===e&&(e=r.ConnectionMode.OutgoingAndIncoming),this.edges.filter((function(n){return e&r.ConnectionMode.Incoming&&n.to===t||e&r.ConnectionMode.Outgoing&&n.from===t}))},t}(),h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.cast=function(t,n){var o=this;return new e(this.nodes.map((function(e){return t(o.getNode(e))})),this.edges.map((function(t){return n?n(t):t})))},e.prototype.getConnectedComponents=function(){var t=this.createIterator(r.ConnectionMode.OutgoingAndIncoming);t.visitEachEdgeOnce=!0;for(var n=[],o=function(o){var r=[],s=[];t.onNode=function(t){return r.push(t)},t.onEdge=function(t){return s.push(t)},t.iterate(i.nodes[o]),r.length&&n.push(new e(r,s))},i=this,s=0;s{Object.defineProperty(e,\"__esModule\",{value:!0}),e.GraphInfo=void 0;var o=n(1755),i=function(){function t(t,e){this.container=t,this.sourceGraph=e}return Object.defineProperty(t.prototype,\"graph\",{get:function(){return this._graph||(this._graph=this.getNodeInfoGraph())},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"level\",{get:function(){return void 0!==this._level?this._level:this._level=this.getLevel()},enumerable:!1,configurable:!0}),t.prototype.getNodeInfoGraph=function(){return this.sourceGraph.cast(o.LayoutUtils.shapeToLayout)},t.prototype.getLevel=function(){var t=0;return this.container&&(t=this.getContainerLevel(this.container)),t},t.prototype.getContainerLevel=function(t){var e=1,n=t.container;return n&&(e+=this.getContainerLevel(n)),e},t}();e.GraphInfo=i},8119:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.GraphLayout=void 0;var o=n(8675),i=n(617),r=function(){function t(){this.nodeKeys=[],this.nodeToLayout={},this.edgeToPosition={}}return t.prototype.forEachNode=function(t){var e=this;this.nodeKeys.forEach((function(n){return t(e.nodeToLayout[n],n)}))},t.prototype.reduce=function(t,e){var n=this;return this.nodeKeys.reduce((function(e,o,i){return t(e,n.nodeToLayout[o],i)}),e)},t.prototype.addNode=function(t){if(this.nodeToLayout[t.key])throw Error(\"Node layout is already registered\");return this.nodeKeys.push(t.key),this.nodeToLayout[t.key]=t,t},t.prototype.hasNode=function(t){return!!this.nodeToLayout[t]},t.prototype.addEdge=function(t){if(this.edgeToPosition[t.key])throw Error(\"Edge layout is already registered\");this.edgeToPosition[t.key]=t},t.prototype.getRectangle=function(t){var e=this;return o.GeometryUtils.getCommonRectangle(this.nodeKeys.map((function(t){return e.nodeToLayout[t].rectangle})))},t.prototype.offsetNodes=function(e,n){var o=this;void 0===e&&(e=0),void 0===n&&(n=0);var r=new t;return this.nodeKeys.forEach((function(t){var s=o.nodeToLayout[t];r.addNode(new i.NodeLayout(s.info,s.position.clone().offset(e,n)))})),r.copyEdges(this),r},t.prototype.extend=function(t){var e=this;t.forEachNode((function(t){return e.addNode(t)})),this.copyEdges(t)},t.prototype.copyEdges=function(t){var e=this;Object.keys(t.edgeToPosition).forEach((function(n){var o=t.edgeToPosition[n];e.addEdge(new i.EdgeLayout(o.key,o.beginIndex,o.endIndex))}))},t}();e.GraphLayout=r},8710:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.Alignment=e.DataLayoutOrientation=e.LogicalDirectionKind=e.TreeLayoutSettings=e.LayoutSettings=void 0;var r=n(7959),s=function(t){this.orientation=c.Vertical,this.direction=a.Forward;var e=t&&2*t>r.Connector.minOffset?2*t:r.Connector.minOffset;this.columnSpacing=e,this.layerSpacing=2*e,this.containerPadding=2*e,this.componentSpacing=2*e};e.LayoutSettings=s;var a,c,u,h=function(t){function e(e){var n=t.call(this,e)||this;return n.alignment=u.Center,n.subTreeColumnSpacing=n.componentSpacing/2,n}return i(e,t),e}(s);e.TreeLayoutSettings=h,function(t){t[t.Backward=0]=\"Backward\",t[t.Forward=1]=\"Forward\"}(a=e.LogicalDirectionKind||(e.LogicalDirectionKind={})),function(t){t[t.Horizontal=0]=\"Horizontal\",t[t.Vertical=1]=\"Vertical\"}(c=e.DataLayoutOrientation||(e.DataLayoutOrientation={})),function(t){t[t.Left=0]=\"Left\",t[t.Center=1]=\"Center\"}(u=e.Alignment||(e.Alignment={}))},1755:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.LayoutUtils=void 0;var o=n(617),i=function(){function t(){}return t.shapeToLayout=function(t){var e=new o.Margin(0),n=t.rectangle;t.attachedConnectors.filter((function(t){return!t.beginItem||!t.endItem})).forEach((function(t){var o=t.rectangle;e.left=Math.max(e.left,n.x-o.x),e.right=Math.max(e.right,o.right-n.right),e.top=Math.max(e.top,n.y-o.y),e.bottom=Math.max(e.bottom,o.bottom-n.bottom)}));var i=new o.NodeInfo(t.key,e,t.size.clone());return i.connectionPoints=t.description.getConnectionPoints(),i},t}();e.LayoutUtils=i},617:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.Margin=e.EdgeLayout=e.NodeLayout=e.NodeInfo=void 0;var o=n(8011),i=function(t,e,n,o){void 0===o&&(o=[]),this.key=t,this.margin=e,this.size=n,this.connectionPoints=o};e.NodeInfo=i;var r=function(){function t(t,e){this.info=t,this.position=e}return Object.defineProperty(t.prototype,\"key\",{get:function(){return this.info.key},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rectangle\",{get:function(){return o.Rectangle.fromGeometry(this.position,this.info.size)},enumerable:!1,configurable:!0}),t}();e.NodeLayout=r;var s=function(t,e,n){this.key=t,this.beginIndex=e,this.endIndex=n};e.EdgeLayout=s;var a=function(){function t(t,e,n,o){void 0===e&&(e=t),void 0===n&&(n=t),void 0===o&&(o=t),this.top=t,this.right=e,this.bottom=n,this.left=o}return t.empty=function(){return new t(0)},t}();e.Margin=a},8217:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ConnectionMode=e.PositionInfo=e.Edge=void 0;var n=function(){function t(t,e,n,o){void 0===o&&(o=1),this.weight=o,this.key=t,this.from=e,this.to=n}return t.prototype.getHashKey=function(){return this.from+\"_\"+this.to},t.prototype.reverse=function(){return new t(this.key,this.to,this.from,this.weight)},t}();e.Edge=n;var o=function(t,e){this.item=t,this.position=e};e.PositionInfo=o,function(t){t[t.Outgoing=1]=\"Outgoing\",t[t.Incoming=2]=\"Incoming\",t[t.OutgoingAndIncoming=3]=\"OutgoingAndIncoming\"}(e.ConnectionMode||(e.ConnectionMode={}))},5148:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.Tree=void 0;var o=n(8217),i=function(){function t(t,e){var n=this;this.childToParent={},this.root=t,this.parentToChildren=e;var o=function(t){if(!Object.prototype.hasOwnProperty.call(e,t))return\"continue\";e[t].forEach((function(e){return n.childToParent[e.key]=t}))};for(var i in e)o(i)}return t.prototype.getChildren=function(t){return t&&this.parentToChildren[t.key]?this.parentToChildren[t.key]:[]},t.prototype.hasChildren=function(t){return this.parentToChildren[t.key]&&this.parentToChildren[t.key].length>0},t.prototype.iterate=function(t){this.iterateCore(this.root,0,t)},t.createSpanningTree=function(e){var n=t.findRoot(e),i=e.createIterator(o.ConnectionMode.Outgoing),r={};return i.skipEdge=function(t){return void 0===t.to||i.isNodeVisited(t.to)},i.onNode=function(t){return r[t.key]=[]},i.onEdge=function(t){var n=e.getNode(t.to);n&&r[t.from].push(n)},i.iterate(n),new t(e.getNode(n),r)},t.prototype.iterateCore=function(t,e,n){var o=this;n(t,e),this.getChildren(t).forEach((function(t){return o.iterateCore(t,e+1,n)}))},t.findRoot=function(t){return t.nodes.reduce((function(e,n){var o=t.getAdjacentEdges(n),i=o.filter((function(t){return t.to===n})).length,r=o.filter((function(t){return t.from===n})).length;return(void 0===e.candidate||0===i&&e.inc>0||0!==e.inc&&e.out-e.inc{Object.defineProperty(e,\"__esModule\",{value:!0}),e.CycleRemover=void 0;var o=n(213),i=n(8217),r=n(701),s=function(){function t(){}return t.removeCycles=function(t){var e=this.getFeedbackSet(t);return this.reverseEdges(t,e)},t.getFeedbackSet=function(t){for(var e=this,n={},o=this.getNonTrivialStronglyConnectedComponents(t);o.length;)o.forEach((function(t){var o=e.getMaxCyclicEdges(t);o.forEach((function(t){return delete n[t.reverse().getHashKey()]})),o.forEach((function(t){return n[t.getHashKey()]=!0}))})),o=this.getNonTrivialStronglyConnectedComponents(this.reverseEdges(t,n).graph);return n},t.getMaxCyclicEdges=function(t){var e={},n={},o={},s=[],a=[],c=t.createIterator(i.ConnectionMode.Outgoing);c.visitEachEdgeOnce=!1,c.onNode=function(t){n[t.key]=!0},c.skipNode=function(t){if(n[t.key]){for(var i=[],r=0;ro[t.key]?e:t}),t[0]))})),u.list()},t.reverseEdges=function(t,e){var n=new r.HashSet([],(function(t){return t.getHashKey()})),i={},s={};return t.edges.forEach((function(t){e[t.getHashKey()]&&(t=t.reverse(),i[t.key]=!0),n.tryPush(t)||(s[t.key]=!0,delete i[t.key])})),{graph:new o.Graph(t.nodes.map((function(e){return t.getNode(e)})),n.list()),reversedEdges:i,removedEdges:s}},t.getNonTrivialStronglyConnectedComponents=function(t){return this.getStronglyConnectedComponents(t).filter((function(t){return t.edges.length}))},t.getStronglyConnectedComponents=function(t){for(var e=this,n=[],o=0,r={},s={},a={},c=[],u={},h=0;h{Object.defineProperty(e,\"__esModule\",{value:!0}),e.HashSet=void 0;var n=function(){function t(t,e){var n=this;void 0===t&&(t=[]),void 0===e&&(e=function(t){return t.toString()}),this.items=[],this.map={},this.getHashCode=e,t.forEach((function(t){return n.tryPush(t)}))}return t.prototype.tryPush=function(t){var e=this.getHashCode(t);return void 0===this.map[e]&&(this.map[e]=this.items.push(t)-1,!0)},t.prototype.contains=function(t){return void 0!==this.map[this.getHashCode(t)]},t.prototype.forEach=function(t){this.items.forEach(t)},t.prototype.filter=function(t){return this.items.filter(t)},t.prototype.list=function(){return this.items.slice(0)},t.prototype.item=function(t){return this.items[t]},t.prototype.first=function(){return this.items[0]},t.prototype.remove=function(t){var e=this.getHashCode(t),n=this.map[e];if(\"number\"!=typeof n)throw\"Item not found\";delete this.map[e],this.items.splice(n,1);for(var o=n;o{Object.defineProperty(e,\"__esModule\",{value:!0}),e.DiagramLocalizationService=void 0;var o=n(2259),i=n(5383),r=function(){function t(){}return t.unitItems={},t.formatUnit=function(t){return t.toString()},t.shapeTexts={},t}();e.DiagramLocalizationService=r,r.unitItems[i.DiagramUnit.In]=\"in\",r.unitItems[i.DiagramUnit.Cm]=\"cm\",r.unitItems[i.DiagramUnit.Px]=\"px\",r.shapeTexts[o.ShapeTypes.Text]=\"Text\",r.shapeTexts[o.ShapeTypes.Rectangle]=\"Rectangle\",r.shapeTexts[o.ShapeTypes.Ellipse]=\"Ellipse\",r.shapeTexts[o.ShapeTypes.Cross]=\"Cross\",r.shapeTexts[o.ShapeTypes.Triangle]=\"Triangle\",r.shapeTexts[o.ShapeTypes.Diamond]=\"Diamond\",r.shapeTexts[o.ShapeTypes.Heart]=\"Heart\",r.shapeTexts[o.ShapeTypes.Pentagon]=\"Pentagon\",r.shapeTexts[o.ShapeTypes.Hexagon]=\"Hexagon\",r.shapeTexts[o.ShapeTypes.Octagon]=\"Octagon\",r.shapeTexts[o.ShapeTypes.Star]=\"Star\",r.shapeTexts[o.ShapeTypes.ArrowLeft]=\"Left Arrow\",r.shapeTexts[o.ShapeTypes.ArrowUp]=\"Up Arrow\",r.shapeTexts[o.ShapeTypes.ArrowRight]=\"Right Arrow\",r.shapeTexts[o.ShapeTypes.ArrowDown]=\"Down Arrow\",r.shapeTexts[o.ShapeTypes.ArrowUpDown]=\"Up Down Arrow\",r.shapeTexts[o.ShapeTypes.ArrowLeftRight]=\"Left Right Arrow\",r.shapeTexts[o.ShapeTypes.Process]=\"Process\",r.shapeTexts[o.ShapeTypes.Decision]=\"Decision\",r.shapeTexts[o.ShapeTypes.Terminator]=\"Terminator\",r.shapeTexts[o.ShapeTypes.PredefinedProcess]=\"Predefined Process\",r.shapeTexts[o.ShapeTypes.Document]=\"Document\",r.shapeTexts[o.ShapeTypes.MultipleDocuments]=\"Multiple Documents\",r.shapeTexts[o.ShapeTypes.ManualInput]=\"Manual Input\",r.shapeTexts[o.ShapeTypes.Preparation]=\"Preparation\",r.shapeTexts[o.ShapeTypes.Data]=\"Data\",r.shapeTexts[o.ShapeTypes.Database]=\"Database\",r.shapeTexts[o.ShapeTypes.HardDisk]=\"Hard Disk\",r.shapeTexts[o.ShapeTypes.InternalStorage]=\"Internal Storage\",r.shapeTexts[o.ShapeTypes.PaperTape]=\"Paper Tape\",r.shapeTexts[o.ShapeTypes.ManualOperation]=\"Manual Operation\",r.shapeTexts[o.ShapeTypes.Delay]=\"Delay\",r.shapeTexts[o.ShapeTypes.StoredData]=\"Stored Data\",r.shapeTexts[o.ShapeTypes.Display]=\"Display\",r.shapeTexts[o.ShapeTypes.Merge]=\"Merge\",r.shapeTexts[o.ShapeTypes.Connector]=\"Connector\",r.shapeTexts[o.ShapeTypes.Or]=\"Or\",r.shapeTexts[o.ShapeTypes.SummingJunction]=\"Summing Junction\",r.shapeTexts[o.ShapeTypes.Container]=\"Container\",r.shapeTexts[o.ShapeTypes.VerticalContainer]=\"Vertical Container\",r.shapeTexts[o.ShapeTypes.HorizontalContainer]=\"Horizontal Container\",r.shapeTexts[o.ShapeTypes.Card]=\"Person's Name\",r.shapeTexts[o.ShapeTypes.CardWithImageOnLeft]=\"Card with Image on the Left\",r.shapeTexts[o.ShapeTypes.CardWithImageOnTop]=\"Card with Image on the Top\",r.shapeTexts[o.ShapeTypes.CardWithImageOnRight]=\"Card with Image on the Right\"},6879:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.DiagramModelOperation=e.ModelOperationSettings=void 0;var n=function(){function t(){this._addShape=!0,this._addShapeFromToolbox=!0,this._deleteShape=!0,this._deleteConnector=!0,this._changeConnection=!0,this._changeConnectorPoints=!0,this._changeShapeText=!0,this._changeConnectorText=!0,this._resizeShape=!0,this._moveShape=!0}return Object.defineProperty(t.prototype,\"addShape\",{get:function(){return this._addShape},set:function(t){t!==this._addShape&&(this._addShape=t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"addShapeFromToolbox\",{get:function(){return this._addShapeFromToolbox},set:function(t){t!==this._addShapeFromToolbox&&(this._addShapeFromToolbox=t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"deleteShape\",{get:function(){return this._deleteShape},set:function(t){t!==this._deleteShape&&(this._deleteShape=t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"deleteConnector\",{get:function(){return this._deleteConnector},set:function(t){t!==this._deleteConnector&&(this._deleteConnector=t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"changeConnection\",{get:function(){return this._changeConnection},set:function(t){t!==this._changeConnection&&(this._changeConnection=t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"changeConnectorPoints\",{get:function(){return this._changeConnectorPoints},set:function(t){t!==this._changeConnectorPoints&&(this._changeConnectorPoints=t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"changeShapeText\",{get:function(){return this._changeShapeText},set:function(t){t!==this._changeShapeText&&(this._changeShapeText=t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"changeConnectorText\",{get:function(){return this._changeConnectorText},set:function(t){t!==this._changeConnectorText&&(this._changeConnectorText=t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"resizeShape\",{get:function(){return this._resizeShape},set:function(t){t!==this._resizeShape&&(this._resizeShape=t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"moveShape\",{get:function(){return this._moveShape},set:function(t){t!==this._moveShape&&(this._moveShape=t)},enumerable:!1,configurable:!0}),t.prototype.applySettings=function(t){t&&(\"boolean\"==typeof t.addShape&&(this.addShape=t.addShape),\"boolean\"==typeof t.addShapeFromToolbox&&(this.addShapeFromToolbox=t.addShapeFromToolbox),\"boolean\"==typeof t.deleteShape&&(this.deleteShape=t.deleteShape),\"boolean\"==typeof t.deleteConnector&&(this.deleteConnector=t.deleteConnector),\"boolean\"==typeof t.changeConnection&&(this.changeConnection=t.changeConnection),\"boolean\"==typeof t.changeConnectorPoints&&(this.changeConnectorPoints=t.changeConnectorPoints),\"boolean\"==typeof t.changeShapeText&&(this.changeShapeText=t.changeShapeText),\"boolean\"==typeof t.changeConnectorText&&(this.changeConnectorText=t.changeConnectorText),\"boolean\"==typeof t.resizeShape&&(this.resizeShape=t.resizeShape),\"boolean\"==typeof t.moveShape&&(this.moveShape=t.moveShape))},t}();e.ModelOperationSettings=n,function(t){t[t.AddShape=0]=\"AddShape\",t[t.AddShapeFromToolbox=1]=\"AddShapeFromToolbox\",t[t.DeleteShape=2]=\"DeleteShape\",t[t.DeleteConnector=3]=\"DeleteConnector\",t[t.ChangeConnection=4]=\"ChangeConnection\",t[t.ChangeConnectorPoints=5]=\"ChangeConnectorPoints\",t[t.BeforeChangeShapeText=6]=\"BeforeChangeShapeText\",t[t.ChangeShapeText=7]=\"ChangeShapeText\",t[t.BeforeChangeConnectorText=8]=\"BeforeChangeConnectorText\",t[t.ChangeConnectorText=9]=\"ChangeConnectorText\",t[t.ResizeShape=10]=\"ResizeShape\",t[t.MoveShape=11]=\"MoveShape\"}(e.DiagramModelOperation||(e.DiagramModelOperation={}))},7228:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ConnectionPoint=void 0;var r=n(8900),s=n(3742),a=function(t){function e(e,n,o){void 0===o&&(o=s.ConnectionPointSide.Undefined);var i=t.call(this,e,n)||this;return i.side=o,i}return i(e,t),e.prototype.offset=function(e,n){return t.prototype.offset.call(this,e,n),this.side=s.ConnectionPointSide.Undefined,this},e.prototype.multiply=function(e,n){return t.prototype.multiply.call(this,e,n),this.side=s.ConnectionPointSide.Undefined,this},e.prototype.clone=function(){return new e(this.x,this.y,this.side)},e.prototype.toPoint=function(){return new r.Point(this.x,this.y)},e}(r.Point);e.ConnectionPoint=a},5800:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ConnectorPointsCalculator=void 0;var r=n(7595),s=n(4717),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getPoints=function(){return this.connector.points.map((function(t,e){return new s.ConnectorRenderPoint(t.x,t.y,e)}))},e}(r.ConnectorPointsCalculatorBase);e.ConnectorPointsCalculator=a},7595:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ConnectorPointsCalculatorBase=void 0;var n=function(t){this.connector=t};e.ConnectorPointsCalculatorBase=n},2342:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ConnectorPointsOrthogonalCalculator=void 0;var r=n(8011),s=n(3742),a=n(7595),c=n(1686),u=n(1774),h=n(993),p=n(2290),l=n(7369),d=n(4717),f=n(4867),y=function(t){function e(e){var n=t.call(this,e)||this;return n.sideCalculators={},n.sideCalculators[s.ConnectionPointSide.Undefined]=new c.ConnectorPointsOrthogonalUndefinedSideCalculator(n),n.sideCalculators[s.ConnectionPointSide.South]=new u.ConnectorPointsOrthogonalSouthSideCalculator(n),n.sideCalculators[s.ConnectionPointSide.North]=new h.ConnectorPointsOrthogonalNorthSideCalculator(n),n.sideCalculators[s.ConnectionPointSide.East]=new p.ConnectorPointsOrthogonalEastSideCalculator(n),n.sideCalculators[s.ConnectionPointSide.West]=new l.ConnectorPointsOrthogonalWestSideCalculator(n),n}return i(e,t),Object.defineProperty(e.prototype,\"beginRect\",{get:function(){return this.connector.beginItem?this.connector.beginItem.rectangle:void 0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"endRect\",{get:function(){return this.connector.endItem?this.connector.endItem.rectangle:void 0},enumerable:!1,configurable:!0}),e.prototype.getPoints=function(){var t=this.connector.points.map((function(t,e){return new d.ConnectorRenderPoint(t.x,t.y,e)}));f.ModelUtils.skipUnnecessaryRenderPoints(t,!0);var e=0,n=t.length-1,o=this.getPointSide(t,0),i=this.getPointSide(t,1),r=this.getPointSide(t,t.length-1),s=this.getPointSide(t,t.length-1-1),a=this.getSideCalculator(o),c=this.getSideCalculator(r),u=this.beginRect,h=a.getCorrectOriginPoint(t[e],u),p=t[e+1];if(2===t.length&&a.isOnSidePoint(h,p)&&a.isDirectConnectionAllowed(i,h,p)){a.getDirectConnectionPoints(h,p).forEach((function(o){t.splice(e+1,0,o),e++,n++}))}else{var l=a.getBeginOffsetPoints(i,t[e],t[e+1],this.beginRect);l.forEach((function(n){t.splice(e+1,0,n)})),e+=l.length,n+=l.length,c.getEndOffsetPoints(s,t[n],t[n-1],this.endRect).forEach((function(e,o){t.splice(n+o,0,e)})),this.addMiddlePoints(t,e,n)}return f.ModelUtils.skipUnnecessaryRenderPoints(t,!0),t},e.prototype.getSideCalculator=function(t){return this.sideCalculators[t]},e.prototype.getPointSide=function(t,e){if(0===e&&this.connector.beginItem){var n=this.connector.beginConnectionPointIndex;return this.connector.beginItem.getConnectionPointSideByIndex(n,t[1])}if(e===t.length-1&&this.connector.endItem){n=this.connector.endConnectionPointIndex;return this.connector.endItem.getConnectionPointSideByIndex(n,t[t.length-2])}return s.ConnectionPointSide.Undefined},e.prototype.addMiddlePoints=function(t,e,n){for(var o=e;o0&&(a=u[0]),a},e.prototype.createPointsRect=function(t,e){var n=r.Rectangle.fromPoints(t,e);return n.width>0&&(n=n.clone().inflate(-1,0)),n.height>0&&(n=n.clone().inflate(0,-1)),n},e.prototype.isPriorMiddlePoint=function(t,e,n,o,i){return!(!n||t.x!==n.x&&t.y!==n.y)||!(!i||t.x!==i.x&&t.y!==i.y)},e.prototype.isReturnPoint=function(t,e,n){if(void 0!==e&&void 0!==n){if(t.x===n.x&&(e.yt.y&&t.y>n.y))return!0;if(t.y===n.y&&(e.xt.x&&t.x>n.x))return!0}return!1},e.prototype.isIntermediatePoints=function(t,e){return 0this.endRect.right?this.getAsideOffsetPoints(e,n,o,this.getMinOffset(),this.getMinOffset(),!0):[e.clone().offset(this.getMinOffset(),0)];case r.ConnectionPointSide.South:return e.xn.y?[]:[e.clone().offset(this.getMinOffset(),0)]:e.x>this.endRect.right?this.getAsideOffsetPoints(e,n,o,this.getMinOffset(),this.getMinOffset(),!1):[e.clone().offset(this.getMinOffset(),0)];case r.ConnectionPointSide.East:return[e.clone().offset(this.getMinOffset(),0)];case r.ConnectionPointSide.West:return this.getAsideOffsetPoints(e,n,o,this.getMinOffset(),this.getMinOffset(),e.ye.x&&(i+=this.beginRect.right-e.x),[e.clone().offset(i,0)];case r.ConnectionPointSide.North:return n.xn.y?[e.clone().offset(this.getMinOffset(),0)]:[];case r.ConnectionPointSide.South:return n.xthis.endRect.center.y;return this.getScaleableAsideOffsetPoints(e,n,o,!0,i)}return[e.clone().offset(this.getScaleableOffsetX(e,n,!0),0)]},e.prototype.getAsideOffsetPoints=function(t,e,n,o,i,r){var s=[];return void 0!==n&&(void 0===r&&(r=e.y0&&o<2*this.getMinOffset())return o/2}return this.getMinOffset()},e.prototype.getScaleableOffsetY=function(t,e,n){if(this.beginRect&&this.endRect&&!n&&!this.isBeginEndOverlappedY()){var o=void 0;if((o=e.yt.x},e.prototype.isDirectConnectionAllowed=function(t,e,n){return t===r.ConnectionPointSide.West||t===r.ConnectionPointSide.Undefined},e.prototype.getDirectConnectionPoints=function(t,e){var n=t.x+(e.x-t.x)/2;return[new a.ConnectorRenderPoint(n,t.y),new a.ConnectorRenderPoint(n,e.y)]},e}(s.ConnectorPointsOrthogonalSideCalculatorBase);e.ConnectorPointsOrthogonalEastSideCalculator=c},993:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ConnectorPointsOrthogonalNorthSideCalculator=void 0;var r=n(3742),s=n(1816),a=n(4717),c=function(t){function e(e){return t.call(this,e)||this}return i(e,t),e.prototype.getCorrectOriginPoint=function(t,e){return t.y>e.y&&(t=t.clone().offset(0,e.y-t.y)),t},e.prototype.getSameShapeOffsetPoints=function(t,e,n,o){switch(t){case r.ConnectionPointSide.East:case r.ConnectionPointSide.West:case r.ConnectionPointSide.North:return[e.clone().offset(0,-this.getMinOffset())];case r.ConnectionPointSide.South:return this.getAsideOffsetPoints(e,n,o,this.getMinOffset(),this.getMinOffset())}},e.prototype.getOverlappedPointsOffsetPoints=function(t,e,n,o){switch(t){case r.ConnectionPointSide.South:return[e.clone().offset(0,this.getMinOffset())];case r.ConnectionPointSide.North:return[e.clone().offset(0,-this.getMinOffset())]}return[]},e.prototype.getBeginOverlappedShapeOffsetPoints=function(t,e,n,o){switch(t){case r.ConnectionPointSide.East:return e.y>n.y?e.x>n.x?[]:[e.clone().offset(0,-this.getMinOffset())]:e.yn.y?e.xe.y?this.getAsideOffsetPoints(e,n,o,this.getMinOffset(),this.getMinOffset(),!1):e.xe.y?this.getAsideOffsetPoints(e,n,o,this.getMinOffset(),this.getMinOffset(),!0):e.x>n.x?[e.clone().offset(0,-this.getMinOffset())]:[];case r.ConnectionPointSide.North:return[e.clone().offset(0,-this.getMinOffset())];case r.ConnectionPointSide.South:var i=-this.getMinOffset();return this.beginRect.ythis.endRect.center.x;return this.getScaleableAsideOffsetPoints(e,n,o,!0,i)}return[e.clone().offset(0,-this.getScaleableOffsetY(e,n,!0))]},e.prototype.getAsideOffsetPoints=function(t,e,n,o,i,r){var s=[];return void 0!==n&&(void 0===r&&(r=e.x0&&o<2*this.getMinOffset())return o/2}return this.getMinOffset()},e.prototype.isOnSidePoint=function(t,e){return e.y{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ConnectorPointsOrthogonalSideCalculatorBase=void 0;var o=n(8011),i=n(3742),r=n(7959),s=function(){function t(t){this.parent=t}return Object.defineProperty(t.prototype,\"connector\",{get:function(){return this.parent.connector},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"beginRect\",{get:function(){return this.parent.beginRect},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"endRect\",{get:function(){return this.parent.endRect},enumerable:!1,configurable:!0}),t.prototype.getBeginOffsetPoints=function(t,e,n,o){if(e=this.getCorrectOriginPoint(e,o),t!==i.ConnectionPointSide.Undefined){if(this.isBeginEndSame())return this.getSameShapeOffsetPoints(t,e,n,o);if(this.isBeginEndOverlappedPoints(e,n))return this.getOverlappedPointsOffsetPoints(t,e,n,o);if(this.isBeginEndOverlapped())return this.getBeginOverlappedShapeOffsetPoints(t,e,n,o)}else if(this.isOriginRectContainsTargetPoint(o,n))return this.getOverlappedPointsOffsetPoints(t,e,n,o);return this.isOnSidePoint(e,n)?this.getBeginOnSideOffsetPoints(t,e,n,o):this.getBeginOffSideOffsetPoints(t,e,n,o)},t.prototype.getEndOffsetPoints=function(t,e,n,o){if(e=this.getCorrectOriginPoint(e,o),t!==i.ConnectionPointSide.Undefined){if(this.isBeginEndSame())return this.getSameShapeOffsetPoints(t,e,n,o);if(this.isBeginEndOverlappedPoints(n,e))return this.getOverlappedPointsOffsetPoints(t,e,n,o);if(this.isBeginEndOverlapped())return this.getEndOverlappedShapeOffsetPoints(t,e,n,o)}else if(this.isOriginRectContainsTargetPoint(o,n))return this.getOverlappedPointsOffsetPoints(t,e,n,o);return this.isOnSidePoint(e,n)?this.getEndOnSideOffsetPoints(t,e,n,o):this.getEndOffSideOffsetPoints(t,e,n,o)},t.prototype.getSide=function(t,e){return Math.abs(e.x-t.x)>Math.abs(e.y-t.y)?e.x>t.x?i.ConnectionPointSide.East:i.ConnectionPointSide.West:e.y>t.y?i.ConnectionPointSide.South:i.ConnectionPointSide.North},t.prototype.getSideCalculator=function(t,e){return this.parent.getSideCalculator(this.getSide(t,e))},t.prototype.getMinOffset=function(){return r.Connector.minOffset},t.prototype.isBeginEndSame=function(){return this.connector.beginItem===this.connector.endItem},t.prototype.isBeginEndOverlapped=function(){return this.beginRect&&this.endRect&&o.Rectangle.areIntersected(this.beginRect,this.endRect)},t.prototype.isBeginEndOverlappedX=function(){return this.beginRect&&this.endRect&&!!o.Rectangle.getHorizIntersection(this.beginRect,this.endRect)},t.prototype.isBeginEndOverlappedY=function(){return this.beginRect&&this.endRect&&!!o.Rectangle.getVertIntersection(this.beginRect,this.endRect)},t.prototype.isBeginEndOverlappedPoints=function(t,e){return this.beginRect&&this.endRect&&(this.beginRect.containsPoint(e)||this.endRect.containsPoint(t))},t.prototype.isOriginRectContainsTargetPoint=function(t,e){return t&&e&&t.containsPoint(e)},t}();e.ConnectorPointsOrthogonalSideCalculatorBase=s},1774:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ConnectorPointsOrthogonalSouthSideCalculator=void 0;var r=n(3742),s=n(1816),a=n(4717),c=function(t){function e(e){return t.call(this,e)||this}return i(e,t),e.prototype.getCorrectOriginPoint=function(t,e){return t.yn.x?[]:[e.clone().offset(0,this.getMinOffset())]:e.y>this.endRect.bottom?this.getAsideOffsetPoints(e,n,o,this.getMinOffset(),this.getMinOffset(),!1):[e.clone().offset(0,this.getMinOffset())];case r.ConnectionPointSide.West:return e.ythis.endRect.bottom?this.getAsideOffsetPoints(e,n,o,this.getMinOffset(),this.getMinOffset(),!0):[e.clone().offset(0,this.getMinOffset())];case r.ConnectionPointSide.South:return[e.clone().offset(0,this.getMinOffset())];case r.ConnectionPointSide.North:return this.getAsideOffsetPoints(e,n,o,this.getMinOffset(),this.getMinOffset(),e.xn.x?[e.clone().offset(0,this.getMinOffset())]:[];case r.ConnectionPointSide.South:return[e.clone().offset(0,this.getMinOffset())];case r.ConnectionPointSide.North:var i=this.getMinOffset();return this.beginRect.bottom>e.y&&(i+=this.beginRect.bottom-e.y),[e.clone().offset(0,i)]}},e.prototype.getBeginOnSideOffsetPoints=function(t,e,n,o){return[e.clone().offset(0,this.getScaleableOffsetY(e,n,!1))]},e.prototype.getEndOnSideOffsetPoints=function(t,e,n,o){return[e.clone().offset(0,this.getScaleableOffsetY(e,n,!0))]},e.prototype.getBeginOffSideOffsetPoints=function(t,e,n,o){switch(t){case r.ConnectionPointSide.East:if(this.isBeginEndOverlappedX())return this.getScaleableAsideOffsetPoints(e,n,o,!1,!1);break;case r.ConnectionPointSide.West:if(this.isBeginEndOverlappedX())return this.getScaleableAsideOffsetPoints(e,n,o,!1,!0);break;case r.ConnectionPointSide.South:if(this.isBeginEndOverlappedX())return this.getScaleableAsideOffsetPoints(e,n,o,!1);break;case r.ConnectionPointSide.Undefined:case r.ConnectionPointSide.North:return this.getScaleableAsideOffsetPoints(e,n,o,!1)}return[e.clone().offset(0,this.getScaleableOffsetY(e,n,!1))]},e.prototype.getEndOffSideOffsetPoints=function(t,e,n,o){if(t===r.ConnectionPointSide.Undefined)return this.getScaleableAsideOffsetPoints(e,n,o,!0);if(this.isBeginEndOverlappedX()){var i=this.beginRect.center.x>this.endRect.center.x;return this.getScaleableAsideOffsetPoints(e,n,o,!0,i)}return[e.clone().offset(0,this.getScaleableOffsetY(e,n,!0))]},e.prototype.getAsideOffsetPoints=function(t,e,n,o,i,r){var s=[];return void 0!==n&&(void 0===r&&(r=e.x0&&o<2*this.getMinOffset())return o/2}return this.getMinOffset()},e.prototype.isOnSidePoint=function(t,e){return e.y>t.y},e.prototype.isDirectConnectionAllowed=function(t,e,n){return t===r.ConnectionPointSide.North||t===r.ConnectionPointSide.Undefined},e.prototype.getDirectConnectionPoints=function(t,e){var n=t.y+(e.y-t.y)/2;return[new a.ConnectorRenderPoint(t.x,n),new a.ConnectorRenderPoint(e.x,n)]},e}(s.ConnectorPointsOrthogonalSideCalculatorBase);e.ConnectorPointsOrthogonalSouthSideCalculator=c},1686:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ConnectorPointsOrthogonalUndefinedSideCalculator=void 0;var r=n(1816),s=n(4717),a=function(t){function e(e){return t.call(this,e)||this}return i(e,t),e.prototype.getCorrectOriginPoint=function(t,e){return t},e.prototype.getSameShapeOffsetPoints=function(t,e,n,o){return[]},e.prototype.getOverlappedPointsOffsetPoints=function(t,e,n,o){return[]},e.prototype.getBeginOverlappedShapeOffsetPoints=function(t,e,n,o){return[]},e.prototype.getEndOverlappedShapeOffsetPoints=function(t,e,n,o){return[]},e.prototype.getBeginOnSideOffsetPoints=function(t,e,n,o){return[]},e.prototype.getEndOnSideOffsetPoints=function(t,e,n,o){return[]},e.prototype.getBeginOffSideOffsetPoints=function(t,e,n,o){return[]},e.prototype.getEndOffSideOffsetPoints=function(t,e,n,o){return[]},e.prototype.isOnSidePoint=function(t,e){return!0},e.prototype.isDirectConnectionAllowed=function(t,e,n){var o=this.getSideCalculator(e,n);return void 0===o||o.isDirectConnectionAllowed(t,e,n)},e.prototype.getDirectConnectionPoints=function(t,e){var n=Math.abs(e.x-t.x),o=Math.abs(e.y-t.y);if(n>o){var i=Math.min(t.x,e.x)+n/2;return[new s.ConnectorRenderPoint(i,t.y),new s.ConnectorRenderPoint(i,e.y)]}var r=Math.min(t.y,e.y)+o/2;return[new s.ConnectorRenderPoint(t.x,r),new s.ConnectorRenderPoint(e.x,r)]},e}(r.ConnectorPointsOrthogonalSideCalculatorBase);e.ConnectorPointsOrthogonalUndefinedSideCalculator=a},7369:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ConnectorPointsOrthogonalWestSideCalculator=void 0;var r=n(3742),s=n(1816),a=n(4717),c=function(t){function e(e){return t.call(this,e)||this}return i(e,t),e.prototype.getCorrectOriginPoint=function(t,e){return t.x>e.x&&(t=t.clone().offset(e.x-t.x,0)),t},e.prototype.getSameShapeOffsetPoints=function(t,e,n,o){switch(t){case r.ConnectionPointSide.North:case r.ConnectionPointSide.South:case r.ConnectionPointSide.West:return[e.clone().offset(-this.getMinOffset(),0)];case r.ConnectionPointSide.East:return this.getAsideOffsetPoints(e,n,o,this.getMinOffset(),this.getMinOffset())}},e.prototype.getOverlappedPointsOffsetPoints=function(t,e,n,o){switch(t){case r.ConnectionPointSide.East:return[e.clone().offset(this.getMinOffset(),0)];case r.ConnectionPointSide.West:return[e.clone().offset(-this.getMinOffset(),0)]}return[]},e.prototype.getBeginOverlappedShapeOffsetPoints=function(t,e,n,o){switch(t){case r.ConnectionPointSide.North:return e.x>n.x?e.yn.x?e.y>n.y?[]:[e.clone().offset(-this.getMinOffset(),0)]:e.xe.x?this.getAsideOffsetPoints(e,n,o,this.getMinOffset(),this.getMinOffset(),!0):e.y>n.y?[e.clone().offset(-this.getMinOffset(),0)]:[];case r.ConnectionPointSide.South:return n.x>e.x?this.getAsideOffsetPoints(e,n,o,this.getMinOffset(),this.getMinOffset(),!1):e.ythis.endRect.center.y;return this.getScaleableAsideOffsetPoints(e,n,o,!0,i)}return[e.clone().offset(-this.getScaleableOffsetX(e,!0),0)]},e.prototype.getAsideOffsetPoints=function(t,e,n,o,i,r){var s=[];return void 0!==n&&(void 0===r&&(r=e.y0&&n<2*this.getMinOffset())return n/2}return this.getMinOffset()},e.prototype.getScaleableOffsetY=function(t,e,n){if(this.beginRect&&this.endRect&&!n&&!this.isBeginEndOverlappedY()){var o=void 0;if((o=e.yo*n?i/n:i>n-o*n?(n-i)/n:o},n.prototype.getTextRectangle=function(t){return a.Rectangle.fromGeometry(this.getTextPoint(t),new u.Size(0,0))},n.prototype.changeRoutingStrategy=function(t){this.routingStrategy=t,this.invalidateRenderPoints()},n.prototype.clearRoutingStrategy=function(){delete this.routingStrategy,delete this.renderPoints,delete this.renderPointsWithoutSkipped,delete this.lockCreateRenderPoints,delete this.actualRoutingMode,delete this.shouldInvalidateRenderPoints,this.invalidateRenderPoints()},n.prototype.getCustomRenderPoints=function(t){void 0===t&&(t=!1);var e=this.getRenderPoints(t),n=[];return e.forEach((function(t,o){o>0&&o2,m.ConnectorRoutingMode.AllShapesOnly):this.invalidateRenderPoints()},n.prototype.onMovePoint=function(t,e){this.shouldChangeRenderPoints?(0!==t&&t!==this.points.length-1||(this.lockCreateRenderPoints=!1),this.replaceRenderPointsCore(this.routingStrategy.onMovePoint(this.points,t,e,this.renderPoints),this.lockCreateRenderPoints,m.ConnectorRoutingMode.AllShapesOnly)):this.invalidateRenderPoints()},n.prototype.onMovePoints=function(t,e,n){this.shouldChangeRenderPoints?(0!==t&&e!==this.points.length-1||(this.lockCreateRenderPoints=!1),this.replaceRenderPointsCore(this.routingStrategy.onMovePoints(this.points,t,e,n,this.renderPoints),this.lockCreateRenderPoints,m.ConnectorRoutingMode.AllShapesOnly)):this.invalidateRenderPoints()},n.prototype.replaceRenderPoints=function(t){void 0!==t?this.replaceRenderPointsCore(t.renderPoints,t.lockCreateRenderPoints,t.actualRoutingMode):this.invalidateRenderPoints()},n.prototype.clearRenderPoints=function(){this.changeRenderPoints(void 0),this.lockCreateRenderPoints=!1,this.actualRoutingMode=void 0,this.invalidateRenderPoints()},n.prototype.replaceRenderPointsCore=function(t,e,n){this.changeRenderPoints(t),this.lockCreateRenderPoints=e,this.actualRoutingMode=n,this.invalidateRenderPoints()},n.prototype.changeRenderPoints=function(t){this.renderPoints=t,this.renderPointsWithoutSkipped=t?this.renderPoints.filter((function(t){return!t.skipped})):void 0},n.prototype.getCalculator=function(){return this.properties.lineOption===I.ConnectorLineOption.Straight?new S.ConnectorPointsCalculator(this):new x.ConnectorPointsOrthogonalCalculator(this)},n.prototype.invalidateRenderPoints=function(){this.shouldInvalidateRenderPoints=!0},n.prototype.createPrimitives=function(t){var e=[],n=this.getRenderPoints(),o=new f.PathPrimitive(n.map((function(t,e){return 0===e?new f.PathPrimitiveMoveToCommand(t.x,t.y):new f.PathPrimitiveLineToCommand(t.x,t.y)})),this.style);return e.push(o),e=(e=e.concat(this.createLineEndingPrimitives(n,o))).concat(this.createTextPrimitives(t))},n.prototype.createLineEndingPrimitives=function(t,e){var n=[];t.length>1&&[{strategy:this.createLineEndingStrategy(this.properties.startLineEnding),point1:t[0],point2:t[1]},{strategy:this.createLineEndingStrategy(this.properties.endLineEnding),point1:t[t.length-1],point2:t[t.length-2]}].forEach((function(t){var o=t.strategy;if(o.hasCommands()){var i=e;o.needCreateSeparatePrimitive()&&n.push(i=o.createPrimitive()),i.commands=i.commands.concat(o.createCommands(t.point1,t.point2))}}));return n},n.prototype.createLineEndingStrategy=function(t){switch(t){case I.ConnectorLineEnding.None:return new b.ConnectorLineEndingNoneStrategy(this.style);case I.ConnectorLineEnding.Arrow:return new b.ConnectorLineEndingArrowStrategy(this.style);case I.ConnectorLineEnding.OutlinedTriangle:return new b.ConnectorLineEndingOutlinedTriangleStrategy(this.style);case I.ConnectorLineEnding.FilledTriangle:return new b.ConnectorLineEndingFilledTriangleStrategy(this.style);default:return new b.ConnectorLineEndingStrategy(this.style)}},n.prototype.createSelectorPrimitives=function(){var t=[],e=this.getRenderPoints();return t.push(new f.PathPrimitive(e.map((function(t,e){return 0===e?new f.PathPrimitiveMoveToCommand(t.x,t.y):new f.PathPrimitiveLineToCommand(t.x,t.y)})),null,\"selector\")),t},n.prototype.createTextPrimitives=function(t){var e=this;if(!this.enableText)return[];var n=[];return this.texts.forEach((function(o){var i=e.getText(o.position);if(i&&\"\"!==i){var r=e.getTextPoint(o.position);n=n.concat([new y.TextPrimitive(r.x,r.y,i,d.TextOwner.Connector,void 0,void 0,void 0,e.styleText,!0,null,h.PAGE_BG_TEXTFLOOR_FILTER_IDPREFIX+t,void 0,(function(t){g.RenderUtils.setElementEventData(t,l.MouseEventElementType.ConnectorText,e.key,o.position)}))])}})),n},n.prototype.getExtremeItem=function(t){return t===r.Begin?this.beginItem:t===r.End?this.endItem:null},n.prototype.getExtremeConnectionPointIndex=function(t){return t===r.Begin?this.beginConnectionPointIndex:t===r.End?this.endConnectionPointIndex:-1},n.prototype.getMinX=function(){return this.getRenderPoints().map((function(t){return t.x})).reduce((function(t,e){return Math.min(t,e)}),Number.MAX_VALUE)},n.prototype.getMinY=function(){return this.getRenderPoints().map((function(t){return t.y})).reduce((function(t,e){return Math.min(t,e)}),Number.MAX_VALUE)},n.prototype.getConnectionPoints=function(){return[]},n.prototype.getConnectionPointSide=function(t,e){return P.ConnectionPointSide.Undefined},n.prototype.getSegments=function(){var t=[],e=this.getRenderPoints();return e.forEach((function(n,o){o>0&&t.push(new c.Segment(e[o-1],n))})),t},n.prototype.intersectedByRect=function(t){return this.getSegments().some((function(e){return e.isIntersectedByRect(t)}))},n.prototype.toNative=function(t){var e=new p.NativeConnector(this.key,this.dataKey);return e.fromKey=this.beginItem&&this.beginItem.dataKey,e.toKey=this.endItem&&this.endItem.dataKey,e.texts=this.texts.map((function(t){return t})).sort((function(t,e){return t.position-e.position})).map((function(t){return t.value})),e.fromId=this.beginItem&&this.beginItem.key,e.fromPointIndex=this.beginConnectionPointIndex,e.toId=this.endItem&&this.endItem.key,e.toPointIndex=this.endConnectionPointIndex,e.points=this.points.map((function(t){return t.clone()})),e.applyUnits(t),e},n.minOffset=s.UnitConverter.pixelsToTwips(24),n.minTextHeight=s.UnitConverter.pixelsToTwips(12),n}(P.DiagramItem);e.Connector=T},5454:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ConnectorLineEndingFilledTriangleStrategy=e.ConnectorLineEndingOutlinedTriangleStrategy=e.ConnectorLineEndingArrowStrategy=e.ConnectorLineEndingNoneStrategy=e.ConnectorLineEndingStrategy=void 0;var r=n(8675),s=n(7724),a=function(){function t(t){this.style=t}return t.prototype.hasCommands=function(){return!0},t.prototype.needCreateSeparatePrimitive=function(){return!1},t.prototype.createPrimitive=function(){return new s.PathPrimitive([],this.getStyle(),this.getCssClass())},t.prototype.createCommands=function(t,e){return[]},t.prototype.getStyle=function(){var t=this.style.clone();return t.resetStrokeDashArray(),t},t.prototype.getCssClass=function(){},t}();e.ConnectorLineEndingStrategy=a;var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.hasCommands=function(){return!1},e}(a);e.ConnectorLineEndingNoneStrategy=c;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),Object.defineProperty(e.prototype,\"arrowHeight\",{get:function(){return 6*this.style.strokeWidth},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"arrowWidth\",{get:function(){return 2*this.style.strokeWidth},enumerable:!1,configurable:!0}),e.prototype.needCreateSeparatePrimitive=function(){return!this.style.isDefaultStrokeDashArray()},e.prototype.createCommands=function(t,e){var n=this.getArrowPoints(t,e),o=[new s.PathPrimitiveMoveToCommand(n.point1.x,n.point1.y),new s.PathPrimitiveLineToCommand(t.x,t.y),new s.PathPrimitiveLineToCommand(n.point2.x,n.point2.y)];return this.style.isDefaultStrokeDashArray()||(o=o.concat([new s.PathPrimitiveMoveToCommand(t.x,t.y),new s.PathPrimitiveLineToCommand(n.point3.x,n.point3.y)])),o},e.prototype.getArrowPoints=function(t,e){var n,o=this.arrowHeight;t.x===e.x&&((n=Math.abs(t.y-e.y)){var n,o;Object.defineProperty(e,\"__esModule\",{value:!0}),e.ConnectorProperties=e.DEFAULT_CONNECTOR_ENDLINEENDING=e.DEFAULT_CONNECTOR_STARTLINEENDING=e.DEFAULT_CONNECTOR_LINEOPTION=e.ConnectorLineEnding=e.ConnectorLineOption=void 0,function(t){t[t.Straight=0]=\"Straight\",t[t.Orthogonal=1]=\"Orthogonal\"}(n=e.ConnectorLineOption||(e.ConnectorLineOption={})),function(t){t[t.None=0]=\"None\",t[t.Arrow=1]=\"Arrow\",t[t.OutlinedTriangle=2]=\"OutlinedTriangle\",t[t.FilledTriangle=3]=\"FilledTriangle\"}(o=e.ConnectorLineEnding||(e.ConnectorLineEnding={})),e.DEFAULT_CONNECTOR_LINEOPTION=n.Orthogonal,e.DEFAULT_CONNECTOR_STARTLINEENDING=o.None,e.DEFAULT_CONNECTOR_ENDLINEENDING=o.Arrow;var i=function(){function t(){this.lineOption=e.DEFAULT_CONNECTOR_LINEOPTION,this.startLineEnding=e.DEFAULT_CONNECTOR_STARTLINEENDING,this.endLineEnding=e.DEFAULT_CONNECTOR_ENDLINEENDING}return t.prototype.clone=function(){var e=new t;return e.lineOption=this.lineOption,e.startLineEnding=this.startLineEnding,e.endLineEnding=this.endLineEnding,e},t.prototype.forEach=function(t){for(var e in this)Object.prototype.hasOwnProperty.call(this,e)&&t(e)},t.prototype.toObject=function(){var t={},n=!1;return this.lineOption!==e.DEFAULT_CONNECTOR_LINEOPTION&&(t.lineOption=this.lineOption,n=!0),this.startLineEnding!==e.DEFAULT_CONNECTOR_STARTLINEENDING&&(t.startLineEnding=this.startLineEnding,n=!0),this.endLineEnding!==e.DEFAULT_CONNECTOR_ENDLINEENDING&&(t.endLineEnding=this.endLineEnding,n=!0),n?t:null},t.prototype.fromObject=function(t){\"number\"==typeof t.lineOption&&(this.lineOption=t.lineOption),\"number\"==typeof t.startLineEnding&&(this.startLineEnding=t.startLineEnding),\"number\"==typeof t.endLineEnding&&(this.endLineEnding=t.endLineEnding)},t}();e.ConnectorProperties=i},4717:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ConnectorRenderPoint=void 0;var r=function(t){function e(e,n,o,i){void 0===o&&(o=-1),void 0===i&&(i=!1);var r=t.call(this,e,n)||this;return r.pointIndex=o,r.skipped=i,r}return i(e,t),e.prototype.offset=function(e,n){return t.prototype.offset.call(this,e,n),this.pointIndex=-1,this.skipped=!1,this},e.prototype.multiply=function(e,n){return t.prototype.multiply.call(this,e,n),this.pointIndex=-1,this.skipped=!1,this},e.prototype.clone=function(){return new e(this.x,this.y,this.pointIndex,this.skipped)},e}(n(8900).Point);e.ConnectorRenderPoint=r},4351:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ConnectorTexts=e.ConnectorText=void 0;var n=function(t,e){this.position=t,this.value=e};e.ConnectorText=n;var o=function(){function t(){this.items={}}return t.prototype.get=function(t){return this.items[t]},t.prototype.set=function(t,e){this.items[t]=e},t.prototype.remove=function(t){delete this.items[t]},t.prototype.map=function(t){var e=[];return this.forEach((function(n){return e.push(t(n))})),e},t.prototype.forEach=function(t){for(var e in this.items)Object.prototype.hasOwnProperty.call(this.items,e)&&t(this.items[e])},t.prototype.count=function(){return Object.keys(this.items).length},t.prototype.clone=function(){var e=new t;return this.forEach((function(t){e.set(t.position,new n(t.position,t.value))})),e},t.prototype.toObject=function(){var t={},e=!1;return this.forEach((function(n){t[n.position]=n.value,e=!0})),e?t:null},t.prototype.fromObject=function(t){for(var e in t)if(Object.prototype.hasOwnProperty.call(t,e)){var o=parseFloat(e);isNaN(o)||\"string\"!=typeof t[e]||this.set(o,new n(o,t[e]))}},t}();e.ConnectorTexts=o},3975:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.AStarCalculator=void 0;var n=function(){function t(){}return t.calculate=function(t){if(t)for(var e=this.start(t);e;)e=e(t)},t.start=function(e){return e.start(),e.shouldStartContinue?t.startContinue:t.finishWithPath},t.startContinue=function(e){return e.startContinue(),e.shouldFinish?t.finishWithPath:t.endContinue},t.endContinue=function(e){return e.endContinue(),e.shouldStartContinue?t.startContinue:t.finishWithoutPath},t.finishWithPath=function(t){t.finishWithPath()},t.finishWithoutPath=function(t){t.finishWithoutPath()},t}();e.AStarCalculator=n},2180:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.AStarContext=e.AStarContextBase=void 0;var r=n(3225),s=n(1039),a=n(684),c=n(1335),u=n(5074),h=n(8675),p=function(){function t(t,e,n){this.startPosition=t,this.targetPosition=e,this.maxStepsCount=n,this.prohibitedPoints={}}return Object.defineProperty(t.prototype,\"shouldStartContinue\",{get:function(){return this.updatableSet.count>0&&this.stepsCountn){var i=t.generalSet;i.remove(o),o.parent=t.currentNode,o.penalty=n,i.enqueue(o)}t.openNode=o})),this.stepsCount++},t.prototype.finishWithPath=function(){this.path=this.currentNode.getPath()},t.prototype.finishWithoutPath=function(){this.path=[]},t}();e.AStarContextBase=p;var l=function(t){function e(e,n,o,i,r,s){var a=t.call(this,n,o,1e4)||this;return a.routingContext=e,a.startPosition=n,a.targetPosition=o,a.prohibitedSegments=i,a.grid=r,a.metrics=s,a}return i(e,t),e.prototype.addProhibitedPoint=function(t){this.prohibitedPoints[t.toString()]=t},e.prototype.getNeighborPoints=function(t){var e=this;return this.grid.getNeighborPoints(t).filter((function(t){return e.allowPoint(t)}))},e.prototype.getDistance=function(t,e){return this.metrics.distance(t,e)},e.prototype.getPenalty=function(t,e){var n=t.parent,o=t.position,i=this.getTurnDirection(n?h.GeometryUtils.createAngle(n.position,o,e):0),r=this.getDistance(o,e),s=new c.Segment(o,e).center;return t.penalty+this.metrics.penalty(r,s,i,this.getIntersectedItems(s))},e.prototype.allowPoint=function(t){return void 0===this.prohibitedPoints[t.toString()]&&(!this.prohibitedSegments||this.prohibitedSegments.allowPoint(t))},e.prototype.getTurnDirection=function(t){return u.RightAngleConnectorRoutingMathOperations.getTurnDirection(t)},e.prototype.getIntersectedItems=function(t){var e=this,n=this.routingContext.shapeMargins;return this.routingContext.getIntersectedItems(t,(function(t,o){return e.hasIntersectedItem(t,o,n)}))},e.prototype.hasIntersectedItem=function(t,e,n){return!!this.isIntersectedWithExtendedRectangle(t,e,n)&&(!!this.hasOneShapeConnection(e)||!this.itemContainsConnectionPoints(e))},e.prototype.isIntersectedWithExtendedRectangle=function(t,e,n){return e.rectangle.clone().inflate(n).containsPoint(t)},e.prototype.itemContainsConnectionPoints=function(t){var e=t.rectangle;return e.containsPoint(this.routingContext.beginPoint)&&e.containsPoint(this.routingContext.endPoint)},e.prototype.hasOneShapeConnection=function(t){var e=t.getConnectionPoints();return this.isConnectionPoint(e,this.routingContext.beginPoint)&&this.isConnectionPoint(e,this.routingContext.endPoint)},e.prototype.isConnectionPoint=function(t,e){return t.filter((function(t){return t.equals(e)})).length>0},e}(p);e.AStarContext=l},9927:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.IntersectedShapeZone=e.AStarMetrics=e.IntersectedShapesMetrics=e.TurnDirectionMetrics=e.IntersectedShapeMetrics=e.RightAngleTurnDirection=void 0;var o,i=n(8900),r=n(5596);!function(t){t[t.Straight=0]=\"Straight\",t[t.Left=1]=\"Left\",t[t.Right=2]=\"Right\",t[t.Backwards=3]=\"Backwards\"}(o=e.RightAngleTurnDirection||(e.RightAngleTurnDirection={}));var s=function(){function t(t,e){this.description=t,this.shapeMargin=e}return t.prototype.penalty=function(t,e,n,o){var i=o.rectangle;if(i.containsPoint(n))return t+this.description.shape*e;var r=this.createRelativeMarginPenalty(n,i,this.shapeMargin);return r>0?t+this.description.margin*r*e:t},t.prototype.createRelativeMarginPenalty=function(t,e,n){var o=this.isTopPosition(t,e,n),s=this.isLeftPosition(t,e,n),a=this.isBottomPosition(t,e,n),c=this.isRightPosition(t,e,n);if(o){if(s){var u=(l=e.clone().inflate(n)).createPosition(),h=e.createPosition(),p=r.Metrics.euclideanDistance(h,u);return 1-r.Metrics.euclideanDistance(h,t)/p}if(c){var l=e.clone().inflate(n),d=new i.Point(l.right,l.y),f=new i.Point(e.right,e.y),y=r.Metrics.euclideanDistance(f,d);return 1-r.Metrics.euclideanDistance(f,t)/y}return 1-(e.y-t.y)/n}if(a){if(s){l=e.clone().inflate(n);var g=new i.Point(l.x,l.bottom),m=new i.Point(e.x,e.bottom),v=r.Metrics.euclideanDistance(m,g);return 1-r.Metrics.euclideanDistance(m,t)/v}if(c){l=e.clone().inflate(n);var P=new i.Point(l.right,l.bottom),C=new i.Point(e.right,e.bottom),S=r.Metrics.euclideanDistance(C,P);return 1-r.Metrics.euclideanDistance(C,t)/S}return 1-(t.y-e.bottom)/n}return s?1-(e.x-t.x)/n:c?1-(t.x-e.right)/n:0},t.prototype.isTopPosition=function(t,e,n){return t.x>e.x-n&&t.xe.y-n&&t.ye.x-n&&t.xe.bottom&&t.ye.x-n&&t.xe.y-n&&t.ye.right&&t.xe.y-n&&t.y{Object.defineProperty(e,\"__esModule\",{value:!0}),e.AStarNode=void 0;var n=function(){function t(t,e){this.position=t,this.distance=e,this.penalty=0}return Object.defineProperty(t.prototype,\"key\",{get:function(){return this.distance+this.penalty},enumerable:!1,configurable:!0}),t.prototype.getPath=function(){for(var t=[],e=this;void 0!==e;)t.splice(0,0,e.position),e=e.parent;return t},t}();e.AStarNode=n},3225:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.SortedQueues=void 0;var o=n(2400),i=function(){function t(t){this.getKey=t,this._itemsArrays={},this._sortedKeys=[]}return Object.defineProperty(t.prototype,\"sortedKeys\",{get:function(){return this._sortedKeys},enumerable:!1,configurable:!0}),t.prototype.getQueue=function(t){return this._itemsArrays[t]},t.prototype.enqueue=function(t){var e=this.getKey(t);void 0===this._itemsArrays[e]?(this._itemsArrays[e]=[t],this.addSortedKey(e)):this._itemsArrays[e].push(t)},t.prototype.remove=function(t){var e=this.getKey(t),n=this._itemsArrays[e];void 0!==n&&(n.length?n[0]===t?(n.shift(),n.length||this.removeCore(e)):this._itemsArrays[e]=n.filter((function(e){return e!==t})):this.removeCore(e))},t.prototype.dequeueMin=function(){if(this._sortedKeys.length){var t=this._sortedKeys[0],e=this._itemsArrays[t],n=e.shift();return e.length||this.removeCore(t),n}},t.prototype.removeCore=function(t){delete this._itemsArrays[t],this.removeSortedKey(t)},t.prototype.removeSortedKey=function(t){var e=o.SearchUtils.binaryIndexOf(this._sortedKeys,(function(e){return e-t}));e>=0&&this.sortedKeys.splice(e,1)},t.prototype.addSortedKey=function(t){var e=o.SearchUtils.binaryIndexOf(this._sortedKeys,(function(e){return e-t}));e<0&&this._sortedKeys.splice(-(e+1),0,t)},t}();e.SortedQueues=i},1039:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.UniqueAStarNodePositions=void 0;var n=function(){function t(t){void 0===t&&(t=function(t){return t.toString()}),this.getKey=t,this.items={}}return Object.defineProperty(t.prototype,\"count\",{get:function(){return Object.keys(this.items).length},enumerable:!1,configurable:!0}),t.prototype.getNode=function(t){var e=this.items[this.getKey(t)];return void 0!==e?e.node:void 0},t.prototype.add=function(t,e){var n=this.getKey(t);void 0===this.items[n]&&(this.items[n]={position:t,node:e})},t.prototype.remove=function(t){var e=this.getKey(t);void 0!==this.items[e]&&delete this.items[e]},t}();e.UniqueAStarNodePositions=n},1768:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ConnectorProhibitedSegments=void 0;var n=function(){function t(){this.segments=[],this.exludedPoints={}}return t.prototype.addSegment=function(t){this.segments.push(t)},t.prototype.addExludedPoint=function(t){this.exludedPoints[t.toString()]=t},t.prototype.allowPoint=function(t){if(void 0===this.exludedPoints[t.toString()])for(var e=0;e{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ConnectorRenderPointsContext=void 0;var n=function(t,e,n){this.renderPoints=t,this.lockCreateRenderPoints=e,this.actualRoutingMode=n};e.ConnectorRenderPointsContext=n},2868:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ConnectorRenderSegment=void 0;var o=n(1335),i=n(1768),r=function(){function t(t,e,n,o){this.startInfo=t,this.endInfo=e,this.startPointIndex=n,this.previousCustomSegment=o}return Object.defineProperty(t.prototype,\"startPathPoint\",{get:function(){return this.startInfo instanceof o.Segment?this.startInfo.endPoint:this.startInfo},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"endPathPoint\",{get:function(){return this.endInfo instanceof o.Segment?this.endInfo.startPoint:this.endInfo},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"startPoint\",{get:function(){return this.startInfo instanceof o.Segment?this.startInfo.startPoint:this.startInfo},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"endPoint\",{get:function(){return this.endInfo instanceof o.Segment?this.endInfo.endPoint:this.endInfo},enumerable:!1,configurable:!0}),t.prototype.createGridPoints=function(){var t=[];return this.endInfo instanceof o.Segment?(t.push(this.endInfo.startPoint),t.push(this.endInfo.endPoint)):t.push(this.endInfo),t},t.prototype.createProhibitedSegments=function(){if(this.startInfo instanceof o.Segment){var t=this.createProhibitedSegmentsCore(this.startInfo);return this.endInfo instanceof o.Segment&&(t.addSegment(this.endInfo),t.addExludedPoint(this.endInfo.startPoint)),this.previousCustomSegment&&t.addSegment(this.previousCustomSegment),t}return this.endInfo instanceof o.Segment?((t=this.createProhibitedSegmentsCore(this.endInfo)).addExludedPoint(this.endInfo.startPoint),this.previousCustomSegment&&t.addSegment(this.previousCustomSegment),t):this.previousCustomSegment?this.createProhibitedSegmentsCore(this.previousCustomSegment):void 0},t.prototype.createProhibitedSegmentsCore=function(t){var e=new i.ConnectorProhibitedSegments;return e.addSegment(t),e},t}();e.ConnectorRenderSegment=r},5714:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ConnectorRoutingModel=e.ConnectorRoutingPenaltyDescription=void 0;var o=n(240),i=n(5503),r=n(7959),s=n(4612),a=n(3597),c=function(){this.shape=20,this.margin=2,this.turnBack=20,this.turnLeft=3.1,this.turnRight=3};e.ConnectorRoutingPenaltyDescription=c;var u=function(){function t(){this.connectorRoutingMode=o.ConnectorRoutingMode.AllShapesOnly,this.shapeMargins=r.Connector.minOffset,this.shouldReverseConnections=!0,this.shouldResizeConnections=!0,this.penaltyDescription=new c}return t.prototype.initialize=function(t){this.model=t},t.prototype.createStrategy=function(t){if(void 0!==this.model&&this.connectorRoutingMode!==o.ConnectorRoutingMode.None&&t===s.ConnectorLineOption.Orthogonal)return new a.RightAngleConnectorRoutingStrategy(this)},t.prototype.getItems=function(t,e){return this.getShapes(t,e)},t.prototype.notifyConnectorRoutingModeChanged=function(t){this.connectorRoutingMode=t},t.prototype.getShapes=function(t,e){return void 0===this.model||void 0===this.connectorRoutingMode||this.connectorRoutingMode===o.ConnectorRoutingMode.None?[]:this.connectorRoutingMode===o.ConnectorRoutingMode.AllShapesOnly?this.model.items.filter((function(t){return t instanceof i.Shape})):this.getConnectorShapes(t,e)},t.prototype.getConnectorShapes=function(t,e){var n=[];return t&&n.push(t),e&&t!==e&&n.push(e),n},t}();e.ConnectorRoutingModel=u},1254:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.RoutingGrid=void 0;var o=n(2400),i=function(){function t(t,e,n){this.verticalGridLines=t,this.horizontalGridLines=e,this.createPoint=n}return t.create=function(e,n,o){var i=this,r=[],s=[],a={},c={};return n.forEach((function(t){i.addLine(t.x,r,a),i.addLine(t.right,r,a),i.addLine(t.y,s,c),i.addLine(t.bottom,s,c)})),e.forEach((function(t){i.addLine(t.x,r,a),i.addLine(t.y,s,c)})),r.sort((function(t,e){return t-e})),s.sort((function(t,e){return t-e})),new t(r,s,o)},t.addLine=function(t,e,n){n[t]||(e.push(t),n[t]=!0)},t.prototype.getNeighborPoints=function(t){var e=[];if(!(this.horizontalGridLines&&this.horizontalGridLines.length&&this.verticalGridLines&&this.verticalGridLines.length))return e;var n=o.SearchUtils.binaryIndexOf(this.verticalGridLines,(function(e){return e-t.x}));n<0?(n=~n,this.isValidArrayIndex(this.verticalGridLines,n)&&e.push(this.createPoint(this.verticalGridLines[n],t.y))):this.isValidArrayIndex(this.verticalGridLines,n+1)&&e.push(this.createPoint(this.verticalGridLines[n+1],t.y)),this.isValidArrayIndex(this.verticalGridLines,n-1)&&e.push(this.createPoint(this.verticalGridLines[n-1],t.y));var i=o.SearchUtils.binaryIndexOf(this.horizontalGridLines,(function(e){return e-t.y}));return i<0?(i=~i,this.isValidArrayIndex(this.horizontalGridLines,i)&&e.push(this.createPoint(t.x,this.horizontalGridLines[i]))):this.isValidArrayIndex(this.horizontalGridLines,i+1)&&e.push(this.createPoint(t.x,this.horizontalGridLines[i+1])),this.isValidArrayIndex(this.horizontalGridLines,i-1)&&e.push(this.createPoint(t.x,this.horizontalGridLines[i-1])),e},t.prototype.isValidArrayIndex=function(t,e){return t&&e>=0&&e{Object.defineProperty(e,\"__esModule\",{value:!0}),e.RightAngleConnectorRoutingContext=e.IntersectingItemsByPointsContext=e.CuttingItemsContext=void 0;var o=n(8900),i=n(1335),r=n(9716),s=n(3742),a=n(5074),c=n(2868),u=n(1254),h=n(4867),p=n(9927),l=n(2180),d=n(3975),f=n(8675),y=function(){function t(){this.cuttingItemKeys=[]}return Object.defineProperty(t.prototype,\"isEmpty\",{get:function(){return 0===this.cuttingItemKeys.length},enumerable:!1,configurable:!0}),t.prototype.registerShape=function(t,e,n){return!!f.GeometryUtils.areSegmentsCutRectangle(n,e)&&(this.cuttingItemKeys.push(t),!0)},t}();e.CuttingItemsContext=y;var g=function(){function t(){this.items={}}return t.prototype.getOrAddItems=function(t,e){if(t){var n=t.toString(),o=this.items[n];if(void 0!==o)return o.items;if(e){var i=e(t);return this.items[n]={point:t,items:i},i}}},t}();e.IntersectingItemsByPointsContext=g;var m=function(){function t(t,e,n,o,i,r,s){this.routingModel=t,this.points=e,this.supportRenderPoints=n,this.beginConnectionShape=o,this.endConnectionShape=i,this.beginConnectionSide=this.getConnectionSide(this.beginConnectionShape,r,this.beginPoint),this.endConnectionSide=this.getConnectionSide(this.endConnectionShape,s,this.endPoint),this.ignorableItemKeys={},this.cuttingShapesContext=new y,this.intersectedItemsByPointsContext=new g,this.isInvalidRenderSegments=!0}return Object.defineProperty(t.prototype,\"shapeMargins\",{get:function(){return this.routingModel.shapeMargins},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"beginPoint\",{get:function(){return this.points[0]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"endPoint\",{get:function(){return this.points[this.points.length-1]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"hasIntersecting\",{get:function(){return!this.cuttingShapesContext.isEmpty},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"shouldCreateRenderPoints\",{get:function(){return this.isInvalidRenderSegments||!this.isSmallPath&&(this.hasIntersecting||this.isReversedStartConnection||this.isReversedEndConnection)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"beginPathPoint\",{get:function(){return this.beginConnectionSegment instanceof i.Segment?this.beginConnectionSegment.startPoint:this.beginConnectionSegment},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"endPathPoint\",{get:function(){return this.endConnectionSegment instanceof i.Segment?this.endConnectionSegment.endPoint:this.endConnectionSegment},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"isReversedStartConnection\",{get:function(){if(!this.beginConnectionShape||this.beginConnectionSide===s.ConnectionPointSide.Undefined)return!1;var t=this.beginConnectionSegment;return!(t instanceof o.Point)&&this.isReversedConnectionSegment(this.supportSegments[0],t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"isReversedEndConnection\",{get:function(){if(!this.endConnectionShape||this.endConnectionSide===s.ConnectionPointSide.Undefined)return!1;var t=this.endConnectionSegment;return!(t instanceof o.Point)&&this.isReversedConnectionSegment(this.supportSegments[this.supportSegments.length-1],t)},enumerable:!1,configurable:!0}),t.prototype.isReversedConnectionSegment=function(t,e){return r.Vector.scalarProduct(r.Vector.fromSegment(t),r.Vector.fromPoints(e.startPoint,e.endPoint))<=0},Object.defineProperty(t.prototype,\"isSmallPath\",{get:function(){var t=2*this.routingModel.shapeMargins;return Math.abs(this.beginPathPoint.x-this.endPathPoint.x)0?new o.Point(e.startPoint.x,e.startPoint.y):t.beginConnectionSegment,i=0?new i.Segment(this.points[e].clone(),new o.Point(t.x,t.y)):void 0},t.prototype.shouldCreateSegment=function(t,e){return!t.equals(e)||e.pointIndex>0},t.prototype.isPathNormal=function(t){return t===s.ConnectionPointSide.Undefined||a.RightAngleConnectorRoutingMathOperations.isSegmentNormal(new i.Segment(this.beginPoint,this.endPoint),t===s.ConnectionPointSide.East||t===s.ConnectionPointSide.West)},t.prototype.registerIgnorableShape=function(t){this.ignorableItemKeys[t.key]=!0},t.prototype.isConnectedByStart=function(t){return this.beginConnectionShape&&this.beginConnectionShape.key===t.key&&this.beginConnectionSide!==s.ConnectionPointSide.Undefined},t.prototype.isConnectedByEnd=function(t){return this.endConnectionShape&&this.endConnectionShape.key===t.key&&this.endConnectionSide!==s.ConnectionPointSide.Undefined},t.prototype.getConnectionSide=function(t,e,n){return t?t.getConnectionPointSideByIndex(e,n):s.ConnectionPointSide.Undefined},t.prototype.shapeContainsOtherConnection=function(t,e,n){if(!t)return!1;var o=t.rectangle;return o.containsPoint(n)&&(!e||!e.rectangle.equals(o))},t.prototype.createBeginConnectionSegment=function(t,e){if(this.beginConnectionSide===s.ConnectionPointSide.Undefined)return this.createBeginConnectionSegmentCore(t);if(!e||!this.routingModel.shouldReverseConnections){var n=this.createBeginConnectionSegmentCore(t);if(n instanceof o.Point||!this.routingModel.shouldResizeConnections)return n;for(var i=n.startPoint,r=n.endPoint,a=t;this.hasIntersectedItemsByPoint(r,i,this.beginConnectionShape);)a/=2,r=(n=this.createBeginConnectionSegmentCore(a)).endPoint;return n}if(!this.endConnectionShape)return this.createBeginConnectionSegmentCore(-t);if(this.isPathNormal(this.endConnectionSide))return this.createBeginConnectionSegmentCore(-t);var c=this.createBeginConnectionSegmentCore(-2*t);return this.isEndConnectionRectanleLineIntersected(c,!1,!0)?this.createBeginConnectionSegmentCore(t):this.createBeginConnectionSegmentCore(-t)},t.prototype.hasIntersectedItemsByPoint=function(t,e,n){var o=this.getIntersectedItems(t,(function(t,o){return o.rectangle.containsPoint(t)&&!o.rectangle.containsPoint(e)&&o.key!==n.key}));return void 0!==o&&o.length>0},t.prototype.createEndConnectionSegment=function(t,e){if(this.endConnectionSide===s.ConnectionPointSide.Undefined)return this.createEndConnectionSegmentCore(t);if(!e||!this.routingModel.shouldReverseConnections){var n=this.createEndConnectionSegmentCore(t);if(n instanceof o.Point||!this.routingModel.shouldResizeConnections)return n;for(var i=n.endPoint,r=n.startPoint,a=t;this.hasIntersectedItemsByPoint(r,i,this.endConnectionShape);)a/=2,r=(n=this.createEndConnectionSegmentCore(a)).startPoint;return n}if(!this.beginConnectionShape)return this.createEndConnectionSegmentCore(-t);if(this.isPathNormal(this.beginConnectionSide))return this.createEndConnectionSegmentCore(-t);var c=this.createEndConnectionSegmentCore(-2*t);return this.isBeginConnectionRectanleLineIntersected(c,!0,!1)?this.createEndConnectionSegmentCore(t):this.createEndConnectionSegmentCore(-t)},t.prototype.createBeginConnectionSegmentCore=function(t){return a.RightAngleConnectorRoutingMathOperations.createBeginConnectionSegment(this.beginConnectionSide,this.beginPoint,t,(function(t,e){return new o.Point(t,e)}))},t.prototype.createEndConnectionSegmentCore=function(t){return a.RightAngleConnectorRoutingMathOperations.createEndConnectionSegment(this.endConnectionSide,this.endPoint,t,(function(t,e){return new o.Point(t,e)}))},t.prototype.isBeginConnectionRectanleLineIntersected=function(t,e,n){return a.RightAngleConnectorRoutingMathOperations.isConnectionRectanleLineIntersected(this.beginConnectionShape.rectangle,t,this.beginConnectionSide,e,n,(function(t,e){return new o.Point(t,e)}))},t.prototype.isEndConnectionRectanleLineIntersected=function(t,e,n){return a.RightAngleConnectorRoutingMathOperations.isConnectionRectanleLineIntersected(this.endConnectionShape.rectangle,t,this.endConnectionSide,e,n,(function(t,e){return new o.Point(t,e)}))},t.prototype.isIgnorableItem=function(t){return void 0!==this.ignorableItemKeys[t.key]},t.prototype.createExtendedShapesBounds=function(){var t=this;return this.routingModel.getItems(this.beginConnectionShape,this.endConnectionShape).map((function(e){return e.rectangle.clone().inflate(t.routingModel.shapeMargins)}))},t.prototype.createGrid=function(){return u.RoutingGrid.create(this.createGridPoints(),this.createExtendedShapesBounds(),(function(t,e){return new o.Point(t,e)}))},t}();e.RightAngleConnectorRoutingContext=m},5074:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.RightAngleConnectorRoutingMathOperations=void 0;var o=n(1335),i=n(8679),r=n(9927),s=n(8675),a=n(3742),c=function(){function t(){}return t.createUnionSegments=function(t,e){for(var n=[],i=t[0].startPoint,r=t[0].endPoint,s=1;s{Object.defineProperty(e,\"__esModule\",{value:!0}),e.RightAngleConnectorRoutingStrategy=void 0;var o=n(1335),i=n(4717),r=n(1794),s=n(4867),a=function(){function t(t){this.model=t}return t.prototype.createRenderPoints=function(t,e,n,o,i,s,a){if(e.length>1){var c=new r.RightAngleConnectorRoutingContext(this.model,t,e,n,o,i,s);if(c.initialize(a),c.shouldCreateRenderPoints)return this.createRenderPointsCore(c)}},t.prototype.clone=function(){return new t(this.model)},t.prototype.onAddPoint=function(t,e,n,r){var a=r.map((function(t){return new i.ConnectorRenderPoint(t.x,t.y,t.pointIndex)})),c=s.ModelUtils.findFirstPointIndex(a,(function(t){return t.equals(n)}));if(0===c)return a.splice(1,0,new i.ConnectorRenderPoint(n.x,n.y,e)),s.ModelUtils.validateRenderPointIndexes(t,a,2);var u=a.length-1;if(c===u)return a.splice(u,0,new i.ConnectorRenderPoint(n.x,n.y,e)),a[u+1].pointIndex=e+1,a;if(c>0){var h=a[c];return a[c]=new i.ConnectorRenderPoint(h.x,h.y,e,h.skipped),s.ModelUtils.validateRenderPointIndexes(t,a,c+1)}var p=new o.Segment(a[0],a[1]),l=new i.ConnectorRenderPoint(n.x,n.y);return p.containsPoint(l)?(a.splice(1,0,new i.ConnectorRenderPoint(l.x,l.y,-1)),a.splice(2,0,new i.ConnectorRenderPoint(l.x,l.y,e)),s.ModelUtils.validateRenderPointIndexes(t,a,3)):new o.Segment(a[u-1],a[u]).containsPoint(l)?(a.splice(u,0,new i.ConnectorRenderPoint(l.x,l.y,e)),a.splice(u+1,0,new i.ConnectorRenderPoint(l.x,l.y,-1)),a[u+2].pointIndex=e+1,a):r},t.prototype.onDeletePoint=function(t,e,n){var o=n.map((function(t){return new i.ConnectorRenderPoint(t.x,t.y,t.pointIndex)})),r=this.getRenderPointIndexByPointIndex(o,e);if(1===r){var a=o[0],c=o[1];return a.equals(c)?(o.splice(1,1),s.ModelUtils.validateRenderPointIndexes(t,o,1)):(o[1]=new i.ConnectorRenderPoint(c.x,c.y,-1,c.skipped),s.ModelUtils.validateRenderPointIndexes(t,o,2))}if(2===r){a=o[1];var u=o[2];return a.equals(u)?(o.splice(1,2),s.ModelUtils.validateRenderPointIndexes(t,o,1)):(o[2]=new i.ConnectorRenderPoint(u.x,u.y,-1,u.skipped),s.ModelUtils.validateRenderPointIndexes(t,o,3))}var h=o.length-1;if(r===h-1){var p=o[h-1],l=o[h];return p.equals(l)?(o.splice(h-1,1),s.ModelUtils.validateRenderPointIndexes(t,o,h-1)):(o[h-1]=new i.ConnectorRenderPoint(p.x,p.y,-1,p.skipped),s.ModelUtils.validateRenderPointIndexes(t,o,h))}if(r===h-2){var d=o[h-2];l=o[h-1];return d.equals(l)?(o.splice(h-2,2),s.ModelUtils.validateRenderPointIndexes(t,o,h-2)):(o[h-2]=new i.ConnectorRenderPoint(d.x,d.y,-1,d.skipped),s.ModelUtils.validateRenderPointIndexes(t,o,h-1))}var f=o[r];return o[r]=new i.ConnectorRenderPoint(f.x,f.y,-1,f.skipped),s.ModelUtils.validateRenderPointIndexes(t,o,r+1)},t.prototype.onMovePoint=function(t,e,n,o){if(0===e||e===t.length-1)return o;var r=o.map((function(t){return new i.ConnectorRenderPoint(t.x,t.y,t.pointIndex)}));return this.onMovePointCore(r,e,n),s.ModelUtils.skipUnnecessaryRightAngleRenderPoints(r),r},t.prototype.onMovePoints=function(t,e,n,o,r){if(0===e||n===t.length-1)return r;for(var a=r.map((function(t){return new i.ConnectorRenderPoint(t.x,t.y,t.pointIndex)})),c=e;c<=n;c++)this.onMovePointCore(a,c,o[c-e]);return s.ModelUtils.skipUnnecessaryRightAngleRenderPoints(a),a},t.prototype.onMovePointCore=function(t,e,n){var o=this.getRenderPointIndexByPointIndex(t,e);if(o>=0){var r=t[o];t[o]=new i.ConnectorRenderPoint(n.x,n.y,e,r.skipped)}},t.prototype.createRenderPointsCore=function(t){var e,n=[],o=-1,i=-1;t.setup();var r=t.renderSegments,s=r[r.length-1].endPoint,a=t.points;do{this.registerCustomPoints(n,a,i+2,r[o+1].startPointIndex-1),i=(e=r[++o]).startPointIndex,this.registerRenderPoints(n,t.createRoutedPoints(e.startInfo,e.endInfo,e.createProhibitedSegments()),i)}while(!e.endPoint.equals(s));return t.validateRenderPoints(n),n},t.prototype.getRenderPointIndexByPointIndex=function(t,e){return s.ModelUtils.findFirstPointIndex(t,(function(t){return t.pointIndex===e}))},t.prototype.registerRenderPoints=function(t,e,n){var o=this;e.forEach((function(i,r){var s=0===r?n:r===e.length-1?n+1:-1;o.registerPoint(t,i,s)}))},t.prototype.registerCustomPoints=function(t,e,n,o){for(var i=n;i<=o;i++)this.registerPoint(t,e[i],i)},t.prototype.registerPoint=function(t,e,n){t.push(new i.ConnectorRenderPoint(e.x,e.y,n))},t}();e.RightAngleConnectorRoutingStrategy=a},3742:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.DiagramItem=e.DEFAULT_ZINDEX=e.ConnectionPointSide=void 0;var o,i=n(8011),r=n(5596),s=n(8675),a=n(1552);!function(t){t[t.Undefined=-1]=\"Undefined\",t[t.North=0]=\"North\",t[t.East=1]=\"East\",t[t.South=2]=\"South\",t[t.West=3]=\"West\"}(o=e.ConnectionPointSide||(e.ConnectionPointSide={})),e.DEFAULT_ZINDEX=0;var c=function(){function t(){this.key=void 0,this.dataKey=void 0,this.customData=void 0,this.attachedConnectors=[],this.zIndex=e.DEFAULT_ZINDEX,this.locked=!1,this.container=void 0,this.style=new a.Style,this.styleText=new a.TextStyle}return t.prototype.assign=function(t){t.key=this.key,t.dataKey=this.dataKey,t.customData=s.ObjectUtils.cloneObject(this.customData),t.locked=this.locked,t.attachedConnectors=this.attachedConnectors.slice(),t.style=this.style.clone(),t.styleText=this.styleText.clone(),t.zIndex=this.zIndex,t.container=this.container},t.prototype.getConnectionPointPosition=function(t,e){return this.getConnectionPoint(t,e).toPoint()},t.prototype.getConnectionPoint=function(t,e){t<0&&e&&(t=this.getNearestConnectionPoint(e));var n=this.getConnectionPoints();return n[t]||n[0]},t.prototype.getNearestConnectionPoint=function(t){var e,n=Number.MAX_VALUE;return this.getConnectionPoints().forEach((function(o,i){var s=r.Metrics.euclideanDistance(o,t);se[n].y||t===o.West&&i.xe[n].x?r:n}),0)},t.prototype.getConnectionPointSideByIndex=function(t,e){var n=this.getConnectionPoint(t,e);return this.getConnectionPointSide(n,e)},t.prototype.getConnectionPointIndexForSide=function(t){return t},Object.defineProperty(t.prototype,\"enableText\",{get:function(){return!0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"allowEditText\",{get:function(){return!0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"hasTemplate\",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"enableChildren\",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"isLocked\",{get:function(){return this.locked||this.container&&this.container.isLocked},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"allowResizeHorizontally\",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"allowResizeVertically\",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"strokeWidth\",{get:function(){return this.style.strokeWidth},enumerable:!1,configurable:!0}),t.prototype.intersectedByRect=function(t){return i.Rectangle.areIntersected(this.rectangle,t)},t}();e.DiagramItem=c},6613:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.DiagramModel=void 0;var o=n(5503),i=n(7959),r=n(8675),s=n(8011),a=n(6353),c=n(8900),u=n(7176),h=n(13),p=n(5383),l=n(4867),d=function(){function t(e){void 0===e&&(e=new a.Size(8391,11906)),this.items=[],this.itemIndexByKey={},this.keyCounter=0,this.pageSize=new a.Size(8391,11906),this.pageLandscape=!1,this.pageColor=t.defaultPageColor,this.units=p.DiagramUnit.In,this.snapStartPoint=new c.Point(0,0),this.pageSize=e,this.size=this.pageSize.clone(),this.rectangle=s.Rectangle.fromGeometry(new c.Point(0,0),new a.Size(0,0)),this.initializeKeyCounter()}return Object.defineProperty(t.prototype,\"pageWidth\",{get:function(){return this.pageLandscape?this.pageSize.height:this.pageSize.width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"pageHeight\",{get:function(){return this.pageLandscape?this.pageSize.width:this.pageSize.height},enumerable:!1,configurable:!0}),t.prototype.getRectangle=function(t){return t&&(this.rectangle=l.ModelUtils.createRectangle(this.items)),this.rectangle},t.prototype.pushItem=function(t){var e=this.items.push(t);this.itemIndexByKey[t.key]=e-1,t instanceof o.Shape&&!t.image.isEmpty&&this.cacheShapeImage(t)},t.prototype.removeItem=function(t){var e=this.getItemIndex(t);delete this.itemIndexByKey[t.key],this.items.splice(e,1),this.updateIndicesHash(e)},t.prototype.updateIndicesHash=function(t){for(var e=t;e{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ItemChange=e.ItemChangeType=void 0,function(t){t[t.Create=0]=\"Create\",t[t.UpdateProperties=1]=\"UpdateProperties\",t[t.UpdateStructure=2]=\"UpdateStructure\",t[t.Update=3]=\"Update\",t[t.Remove=4]=\"Remove\",t[t.UpdateClassName=5]=\"UpdateClassName\"}(e.ItemChangeType||(e.ItemChangeType={}));var n=function(){function t(t,e,n){void 0===n&&(n=!0),this.item=t,this.type=e,this.isValid=n}return Object.defineProperty(t.prototype,\"key\",{get:function(){return this.item.key},enumerable:!1,configurable:!0}),t}();e.ItemChange=n},1118:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ModelManipulator=void 0;var o=n(4125),i=n(6353),r=n(9463),s=n(7176),a=n(590),c=n(6879),u=n(8675),h=n(7959),p=n(2004),l=n(4867),d=function(){function t(t,e,n,o){this.onModelChanged=new u.EventDispatcher,this.onModelSizeChanged=new u.EventDispatcher,this.initializeCore(t,e),this.permissionsProvider=n,this.descriptionManager=o,this.imageLoader=new a.ImageLoader(this.updateShapeImage.bind(this))}return t.prototype.initialize=function(t,e){this.initializeCore(t,e),this.model.loadAllImages(this.imageLoader),this.updateModelSize()},t.prototype.initializeCore=function(t,e){var n=this;this.model=t,this.routingModel=e,this.routingModel&&(this.routingModel.initialize(t),t.iterateItems((function(t){if(t instanceof h.Connector){var e=n.routingModel.createStrategy(t.properties.lineOption);e?t.changeRoutingStrategy(e):t.invalidateRenderPoints()}})))},t.prototype.commitPageChanges=function(){this.raisePageSizeChanged(this.model.pageSize.clone(),this.model.pageLandscape),this.raiseModelSizeChanged(this.model.size.clone()),this.raisePageColorChanged(this.model.pageColor),this.raiseModelRectangleChanged(l.ModelUtils.createRectangle(this.model.items))},t.prototype.commitItemsCreateChanges=function(){r.Diagnostics.timer(\"new model: model changes\"),this.commitItemsChangesCore(p.ItemChangeType.Create,this.model.items),r.Diagnostics.endTimer()},t.prototype.commitItemUpdateChanges=function(t){this.commitItemsChangesCore(p.ItemChangeType.UpdateStructure,[t])},t.prototype.commitItemsChangesCore=function(t,e){var n=[];e.forEach((function(e){n.push(new p.ItemChange(e,t))})),n.length&&this.raiseModelChanged(n)},t.prototype.insertToContainer=function(t,e){if(t.container&&e&&t.container.key!==e.key)throw Error(\"To insert an item to a container it's necessary to remove it from the current container.\");e&&(-1===e.children.indexOf(t)&&e.children.push(t),t.container=e,this.raiseModelChanged([new p.ItemChange(t,p.ItemChangeType.Update)]))},t.prototype.removeFromContainer=function(t){if(t.container){var e=t.container.children.indexOf(t);t.container.children.splice(e,1),t.container=void 0,this.raiseModelChanged([new p.ItemChange(t,p.ItemChangeType.Update)])}},t.prototype.changeStyle=function(t,e,n){this.changeStyleCore(t,t.style,e,n)},t.prototype.changeStyleText=function(t,e,n){this.changeStyleCore(t,t.styleText,e,n)},t.prototype.changeStyleCore=function(t,e,n,o){void 0!==o?e[n]=o:delete e[n],this.raiseModelChanged([new p.ItemChange(t,p.ItemChangeType.UpdateProperties)])},t.prototype.changeZIndex=function(t,e){t.zIndex=e,this.raiseModelChanged([new p.ItemChange(t,p.ItemChangeType.Update)])},t.prototype.changeLocked=function(t,e){t.locked=e,this.raiseModelChanged([new p.ItemChange(t,p.ItemChangeType.UpdateClassName)])},t.prototype.changeCustomData=function(t,e){t.customData=u.ObjectUtils.cloneObject(e),this.raiseModelChanged([new p.ItemChange(t,p.ItemChangeType.UpdateStructure)])},t.prototype.addShape=function(t,e){if(t.attachedConnectors.length)throw Error(\"A creating shape should not contain existing connectors.\");return t.key=void 0!==e?e:this.model.getNextKey(),this.insertShape(t)},t.prototype.insertShape=function(t){this.model.pushItem(t);var e=this.permissionsProvider.canAddItems([t]);return this.raiseModelChanged([new p.ItemChange(t,p.ItemChangeType.Create,e)]),this.model.loadAllImages(this.imageLoader),t},t.prototype.resizeShape=function(t,e,n){t.position=e,t.size=n;var o=this.permissionsProvider.isStoredPermissionsGranted(),i=this.getInteractingItem(t,c.DiagramModelOperation.ResizeShape);if(i){var r=i.size.clone(),s=t.size.clone();s.equals(r)||(o=this.permissionsProvider.canResizeShapes([{shape:t,size:s,oldSize:r}]))}var a=this.getInteractingItem(t,c.DiagramModelOperation.MoveShape);if(a){var u=a.position.clone(),h=t.position.clone();h.equals(u)||(o=this.permissionsProvider.canMoveShapes([{shape:t,position:h,oldPosition:u}]))}this.raiseModelChanged([new p.ItemChange(t,p.ItemChangeType.UpdateProperties,o)])},t.prototype.moveShape=function(t,e){t.position=e;var n=this.permissionsProvider.isStoredPermissionsGranted();this.getInteractingItem(t,c.DiagramModelOperation.AddShape)&&(n=this.permissionsProvider.canAddItems([t]));var o=this.getInteractingItem(t,c.DiagramModelOperation.MoveShape);if(o){var i=o.position.clone(),r=t.position.clone();r.equals(i)||(n=this.permissionsProvider.canMoveShapes([{shape:t,position:r,oldPosition:i}]))}this.raiseModelChanged([new p.ItemChange(t,p.ItemChangeType.UpdateProperties,n)])},t.prototype.changeShapeParameters=function(t,e){t.parameters.forEach((function(t){var n=e.get(t.key);n&&(t.value=n.value)})),this.raiseModelChanged([new p.ItemChange(t,p.ItemChangeType.UpdateProperties)])},t.prototype.changeShapeText=function(t,e){t.text=e,this.raiseModelChanged([new p.ItemChange(t,p.ItemChangeType.UpdateStructure)])},t.prototype.changeShapeImage=function(t,e){t.image=e;var n=s.ImageCache.instance.createUnloadedInfoByShapeImageInfo(e);this.imageLoader.load(n),this.raiseModelChanged([new p.ItemChange(t,p.ItemChangeType.UpdateStructure)])},t.prototype.changeShapeExpanded=function(t,e){t.expanded=e,t.toggleExpandedSize(),this.raiseModelChanged([new p.ItemChange(t,p.ItemChangeType.UpdateStructure)])},t.prototype.deleteShape=function(t,e){if(t.attachedConnectors.length)throw Error(\"A removing shape should not contain existing connectors.\");this.removeShape(t,e)},t.prototype.removeShape=function(t,e){this.model.removeItem(t),this.raiseModelChanged([new p.ItemChange(t,p.ItemChangeType.Remove,e)])},t.prototype.updateShapeImage=function(t){if(t.imageUrl){var e=this.model.findShapesByImageUrl(t.imageUrl);e.forEach((function(e){t.base64?e.image.loadBase64Content(t.base64):e.image.setUnableToLoadFlag()})),this.commitItemsChangesCore(p.ItemChangeType.UpdateStructure,e)}},t.prototype.updateShapeDescription=function(t){var e=this.model.findShapesByDescription(t);this.commitItemsChangesCore(p.ItemChangeType.UpdateProperties,e)},t.prototype.updateShapeType=function(t,e,n){var o=this.descriptionManager.get(e);t.description=o,t.parameters=n,o.createParameters(n),this.raiseModelChanged([new p.ItemChange(t,p.ItemChangeType.UpdateStructure)])},t.prototype.addConnector=function(t,e){if(t.beginItem||t.endItem)throw Error(\"Creating connector should not contain begin/end items\");return t.key=void 0!==e?e:this.model.getNextKey(),this.insertConnector(t)},t.prototype.insertConnector=function(t){this.model.pushItem(t);var e=this.routingModel.createStrategy(t.properties.lineOption);e?t.changeRoutingStrategy(e):t.clearRoutingStrategy();var n=this.permissionsProvider.canAddItems([t]);return this.raiseModelChanged([new p.ItemChange(t,p.ItemChangeType.Create,n)]),t},t.prototype.deleteConnector=function(t){if(t.beginItem||t.endItem)throw Error(\"Creating connector should not contain begin/end items\");this.removeConnector(t)},t.prototype.removeConnector=function(t){this.model.removeItem(t);var e=this.permissionsProvider.canDeleteItems([t]);this.raiseModelChanged([new p.ItemChange(t,p.ItemChangeType.Remove,e)])},t.prototype.addDeleteConnectorPoint=function(t,e){var n=this.getConnectorInteractingPoints(t);e(t),this.addDeleteConnectorPointCore(t,n)},t.prototype.moveConnectorPoint=function(t,e,n){n(t),this.moveConnectorPointCore(t,e)},t.prototype.changeConnectorPoints=function(t,e){var n=this;e(t),t.points.forEach((function(e,o){return n.moveConnectorPointCore(t,o)}))},t.prototype.moveConnectorPointCore=function(t,e){var n=this.getInteractingItem(t),o=this.permissionsProvider.isStoredPermissionsGranted();if(n){var i=0{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ModelUtils=void 0;var o=n(9291),i=n(5596),r=n(8900),s=n(8011),a=n(6353),c=n(9716),u=n(8679),h=n(5383),p=n(3477),l=n(9603),d=n(4430),f=n(4145),y=n(58),g=n(329),m=n(8930),v=n(9143),P=n(1704),C=n(9310),S=n(8338),x=n(4160),b=n(9753),I=n(4629),w=n(4297),_=n(1729),T=n(4518),O=n(8236),M=n(5144),E=n(9559),D=n(7443),A=n(4634),R=n(926),L=n(213),N=n(7819),z=n(8217),j=n(8675),U=n(7959),k=n(4612),B=n(4717),H=n(1510),K=n(5503),V=n(56),F=function(){function t(){}return t.setShapePosition=function(e,n,o,i,r){if(void 0===r&&(r=!0),!o.position.equals(i)){var s=i.clone().offset(-o.position.x,-o.position.y);e.addAndRedo(new x.MoveShapeHistoryItem(o.key,i)),r&&o.children.forEach((function(o){if(o instanceof K.Shape){var i=o.position.clone().offset(s.x,s.y);t.setShapePosition(e,n,o,i)}}))}},t.setShapeSize=function(t,e,n,o,i){n.size.equals(i)&&n.position.equals(o)||t.addAndRedo(new I.ResizeShapeHistoryItem(n.key,o,i))},t.addConnectorPoint=function(t,e,n,o){t.addAndRedo(new d.AddConnectorPointHistoryItem(e,n,o))},t.deleteConnectorCustomPoints=function(t,e){if(e.points.length>2){var n=e.tryCreateRenderPointsContext();if(e.properties.lineOption!==k.ConnectorLineOption.Straight&&n){var o=e.points[0].clone(),i=e.points[e.points.length-1].clone();t.addAndRedo(new y.ChangeConnectorPointsHistoryItem(e.key,[o,i],new H.ConnectorRenderPointsContext([new B.ConnectorRenderPoint(o.x,o.y,0),new B.ConnectorRenderPoint(i.x,i.y,1)],!1,n.actualRoutingMode)))}else t.addAndRedo(new y.ReplaceConnectorPointsHistoryItem(e.key,[e.points[0].clone(),e.points[e.points.length-1].clone()]))}},t.deleteConnectorUnnecessaryPoints=function(e,n){var o=n.getRenderPoints(!0).map((function(t){return t.clone()}));if(n.properties.lineOption===k.ConnectorLineOption.Straight){var i=t.createUnnecessaryRenderPoints(o.filter((function(t){return!t.skipped})).map((function(t){return t.clone()})),n.skippedRenderPoints,(function(e){return t.findFirstPointIndex(o,(function(t){return t.equals(e)}))}));Object.keys(i).length&&e.addAndRedo(new y.ReplaceConnectorPointsHistoryItem(n.key,t.createNecessaryPoints(n.points.map((function(t){return t.clone()})),i)))}else{var r=n.tryCreateRenderPointsContext(!0),s=o.filter((function(t){return!t.skipped})).map((function(t){return t.clone()}));i=t.createUnnecessaryRightAngleRenderPoints(s,n.skippedRenderPoints,(function(e){return t.findFirstPointIndex(o,(function(t){return t.equals(e)}))}));if(Object.keys(i).length){var a=t.createNecessaryPoints(n.points.map((function(t){return t.clone()})),i),c=new H.ConnectorRenderPointsContext(t.validateRenderPointIndexes(a,s,0),r.lockCreateRenderPoints,r.actualRoutingMode);e.addAndRedo(new y.ChangeConnectorPointsHistoryItem(n.key,a,c))}}},t.fixConnectorBeginEndConnectionIndex=function(t,e){if(e.beginItem&&-1===e.beginConnectionPointIndex){var n=e.beginItem.getNearestConnectionPoint(e.points[0]);t.addAndRedo(new p.SetConnectionPointIndexHistoryItem(e,n,U.ConnectorPosition.Begin))}if(e.endItem&&-1===e.endConnectionPointIndex){var o=e.endItem.getNearestConnectionPoint(e.points[e.points.length-1]);t.addAndRedo(new p.SetConnectionPointIndexHistoryItem(e,o,U.ConnectorPosition.End))}},t.skipUnnecessaryRenderPoints=function(e,n){j.GeometryUtils.removeUnnecessaryPoints(e,(function(o,i){return t.removeUnnecessaryPoint(e,o,i,n)}),(function(t){return void 0!==t&&!t.skipped})),e[0].skipped=!1,e[e.length-1].skipped=!1},t.skipUnnecessaryRightAngleRenderPoints=function(e,n){j.GeometryUtils.removeUnnecessaryRightAnglePoints(e,(function(o,i){return t.removeUnnecessaryPoint(e,o,i,n)}),(function(t){return void 0!==t&&!t.skipped})),e[0].skipped=!1,e[e.length-1].skipped=!1},t.createUnnecessaryRenderPoints=function(e,n,o,i){void 0===i&&(i=function(t){return!0});var r={};return j.GeometryUtils.removeUnnecessaryPoints(e,(function(n,s){return t.collectNotSkippedRenderPoints(r,e,n,s,o,i)})),t.collectSkippedRenderPoints(r,n,o,i),r},t.createUnnecessaryRightAngleRenderPoints=function(e,n,o,i){void 0===i&&(i=function(t){return!0});var r={};return j.GeometryUtils.removeUnnecessaryRightAnglePoints(e,(function(n,s){return t.collectNotSkippedRenderPoints(r,e,n,s,o,i)})),t.collectSkippedRenderPoints(r,n,o,i),r},t.createNecessaryPoints=function(t,e){var n=this,o=[],i=t.length-1;return t.forEach((function(t,r){(0===r||r===i||n.isNecessaryPoint(t,r,e))&&o.push(t.clone())})),o},t.isNecessaryPoint=function(t,e,n){return!Object.keys(n).some((function(o){var i=n[o];return i.pointIndex===e&&j.GeometryUtils.areDuplicatedPoints(t,i)}))},t.collectSkippedRenderPoints=function(t,e,n,o){void 0===o&&(o=function(t){return!0}),e&&e.forEach((function(e){if(o(e)){var i=n(e);void 0===t[i]&&(t[i]=e)}}))},t.collectNotSkippedRenderPoints=function(t,e,n,o,i,r){if(void 0===r&&(r=function(t){return!0}),!r(n))return!1;var s=i(n);return void 0===t[s]&&(t[s]=n,n.skipped=!0,e.splice(o,1)),!0},t.removeUnnecessaryPoint=function(t,e,n,o){return o&&-1===e.pointIndex?(t.splice(n,1),!0):(e.skipped=!0,!1)},t.validateRenderPointIndexes=function(t,e,n){var o=this,i=e.map((function(e,i){return new B.ConnectorRenderPoint(e.x,e.y,i>=n&&e.pointIndex>=0?o.findFirstPointIndex(t,(function(t){return t.equals(e)})):e.pointIndex,e.skipped)}));return i[0].skipped=!1,i[i.length-1].skipped=!1,i},t.findFirstPointIndex=function(t,e){if(!t||!e)return-1;for(var n=0;n-1?(r(e,o),o!==n.connector.beginConnectionPointIndex&&n.connector.beginItem&&t.addAndRedo(new m.DeleteConnectionHistoryItem(n.connector,U.ConnectorPosition.Begin)),s(n.connector),t.addAndRedo(new p.AddConnectionHistoryItem(n.connector,e,o,U.ConnectorPosition.Begin))):n.connector.beginItem&&(t.addAndRedo(new m.DeleteConnectionHistoryItem(n.connector,U.ConnectorPosition.Begin)),t.addAndRedo(new S.MoveConnectorPointHistoryItem(n.connector.key,0,n.point)))})),o.forEach((function(n){var o=a.getMovingShapeConnectionPointIndex(e,n.point);e.rectangle.containsPoint(n.point)||o>-1?(r(e,o),o!==n.connector.endConnectionPointIndex&&n.connector.endItem&&t.addAndRedo(new m.DeleteConnectionHistoryItem(n.connector,U.ConnectorPosition.End)),s(n.connector),t.addAndRedo(new p.AddConnectionHistoryItem(n.connector,e,o,U.ConnectorPosition.End))):n.connector.endItem&&(t.addAndRedo(new m.DeleteConnectionHistoryItem(n.connector,U.ConnectorPosition.End)),t.addAndRedo(new S.MoveConnectorPointHistoryItem(n.connector.key,n.connector.points.length-1,n.point)))}))},t.getMovingShapeConnectionPointIndex=function(t,e){var n=this,o=-1;return t.getConnectionPoints().forEach((function(t,r){i.Metrics.euclideanDistance(e,t)0;){var n=e.attachedConnectors[0];t.addAndRedo(new m.DeleteConnectionHistoryItem(n,n.beginItem===e?U.ConnectorPosition.Begin:U.ConnectorPosition.End))}t.endTransaction()},t.deleteShape=function(t,e){var n=t.modelManipulator.permissionsProvider.canDeleteItems([e]);t.beginTransaction(),this.detachConnectors(t,e),t.addAndRedo(new P.DeleteShapeHistoryItem(e.key,n)),t.endTransaction()},t.deleteConnector=function(t,e){t.beginTransaction(),e.beginItem&&t.addAndRedo(new m.DeleteConnectionHistoryItem(e,U.ConnectorPosition.Begin)),e.endItem&&t.addAndRedo(new m.DeleteConnectionHistoryItem(e,U.ConnectorPosition.End)),t.addAndRedo(new v.DeleteConnectorHistoryItem(e.key)),t.endTransaction()},t.deleteAllItems=function(t,e,n){this.deleteItems(t,e,n,e.items.slice(),!0)},t.deleteSelection=function(t,e,n){this.deleteItems(t,e,n,n.getSelectedItems())},t.changeSelectionLocked=function(e,n,o,i){e.beginTransaction(),o.getSelectedItems(!0).forEach((function(t){e.addAndRedo(new D.ChangeLockedHistoryItem(t,i))})),t.updateSelection(e,o),e.endTransaction()},t.copyStylesToItem=function(t,e,n,o){var i=e.findItem(o);n.styleText.forEach((function(e){n.styleText[e]!==i.styleText[e]&&t.addAndRedo(new R.ChangeStyleTextHistoryItem(o,e,n.styleText[e]))})),n.style.forEach((function(e){n.style[e]!==i.style[e]&&t.addAndRedo(new A.ChangeStyleHistoryItem(o,e,n.style[e]))}))},t.updateSelection=function(t,e){t.addAndRedo(new w.SetSelectionHistoryItem(e,e.getKeys(),!0))},t.cloneShapeToOffset=function(t,e,n,o,i){t.beginTransaction();var r=n.position.clone().offset(o,i),s=new f.AddShapeHistoryItem(n.description,r,n.text);t.addAndRedo(s);var a=s.shapeKey;return t.addAndRedo(new I.ResizeShapeHistoryItem(a,r,n.size.clone())),t.addAndRedo(new E.ChangeCustomDataHistoryItem(a,j.ObjectUtils.cloneObject(n.customData))),t.addAndRedo(new g.ChangeShapeParametersHistoryItem(a,n.parameters.clone())),this.copyStylesToItem(t,e,n,a),t.endTransaction(),a},t.applyOffsetToConnectorRenderPointsContext=function(t,e,n){return t&&t.renderPoints?new H.ConnectorRenderPointsContext(t.renderPoints.map((function(t){return t.clone().offset(e,n)})),!0,t.actualRoutingMode):void 0},t.cloneConnectorToOffset=function(t,e,n,o,i,r,s){t.beginTransaction();var a=n.points.map((function(t){return t.clone().offset(r,s)})),c=new l.AddConnectorHistoryItem(a,void 0,this.applyOffsetToConnectorRenderPointsContext(n.tryCreateRenderPointsContext(),r,s));t.addAndRedo(c);var u=c.connectorKey,h=e.findConnector(u);if(n.properties.forEach((function(e){n.properties[e]!==h.properties[e]&&t.addAndRedo(new O.ChangeConnectorPropertyHistoryItem(u,e,n.properties[e]))})),o){var d=e.findShape(o);t.addAndRedo(new p.AddConnectionHistoryItem(h,d,n.beginConnectionPointIndex,U.ConnectorPosition.Begin))}if(i){var f=e.findShape(i);t.addAndRedo(new p.AddConnectionHistoryItem(h,f,n.endConnectionPointIndex,U.ConnectorPosition.End))}return n.texts.clone().forEach((function(e){t.addAndRedo(new M.ChangeConnectorTextHistoryItem(h,e.position,e.value))})),this.copyStylesToItem(t,e,n,u),t.endTransaction(),u},t.cloneSelectionToOffset=function(e,n,o,i,r,s){var a=this;e.beginTransaction();var c={},u=[];i.getSelectedShapes().forEach((function(t){var i=a.cloneShapeToOffset(e,n,t,r,s);c[t.key]=i,u.push(i),o&&o(i)})),i.getSelectedConnectors().forEach((function(t){var i=t.beginItem?c[t.beginItem.key]:null,h=t.endItem?c[t.endItem.key]:null,p=a.cloneConnectorToOffset(e,n,t,i,h,r,s);u.push(p),o&&o(p)})),e.addAndRedo(new w.SetSelectionHistoryItem(i,u)),t.tryUpdateModelRectangle(e),e.endTransaction()},t.findContainerByEventKey=function(e,n,o){var i=e.findContainer(o);if(i&&!i.isLocked)return i;var r=e.findShape(o);return r&&r.container&&!n.hasKey(r.key)?t.findContainerByEventKey(e,n,r.container.key):void 0},t.canInsertToContainer=function(t,e,n){return e!==n&&!(e instanceof K.Shape&&t.findChild(e,n.key))},t.canInsertSelectionToContainer=function(t,e,n){var o=!0;return e.getSelectedItems().forEach((function(e){e!==n?e instanceof K.Shape&&t.findChild(e,n.key)&&(o=!1):o=!1})),o},t.insertToContainer=function(t,e,n,o){if(!o.enableChildren)throw Error(\"Inpossible to add children to non-container shape.\");if(this.canInsertToContainer(e,n,o)){var i=n.container;i!==o&&(t.beginTransaction(),i&&(t.addAndRedo(new b.RemoveFromContainerHistoryItem(n)),n.attachedConnectors.forEach((function(e){e.container&&t.addAndRedo(new b.RemoveFromContainerHistoryItem(e))}))),t.addAndRedo(new C.InsertToContainerHistoryItem(n,o)),this.updateAttachedConnectorsContainer(t,e,n),t.endTransaction())}},t.removeFromContainer=function(t,e,n){n.container&&(t.beginTransaction(),t.addAndRedo(new b.RemoveFromContainerHistoryItem(n)),this.updateAttachedConnectorsContainer(t,e,n),t.endTransaction())},t.insertSelectionToContainer=function(t,e,n,o){var i=this;t.beginTransaction();var r=n.getSelectedItems();r.filter((function(t){return!t.container||-1===r.indexOf(t.container)})).forEach((function(n){i.insertToContainer(t,e,n,o)})),t.endTransaction()},t.removeSelectionFromContainer=function(t,e,n){var o=this;t.beginTransaction(),n.getSelectedItems().forEach((function(i){i.container&&!n.hasKey(i.container.key)&&(t.addAndRedo(new b.RemoveFromContainerHistoryItem(i)),o.updateAttachedConnectorsContainer(t,e,i))})),t.endTransaction()},t.getConnectorContainer=function(t){if(t.beginItem&&t.endItem){for(var e={},n=t.beginItem.container;n;)e[n.key]=!0,n=n.container;for(var o=t.endItem.container;o;){if(void 0!==e[o.key])return o;o=o.container}}},t.updateAttachedConnectorsContainer=function(t,e,n){var o=this;t.beginTransaction(),n.attachedConnectors.forEach((function(n){o.updateConnectorContainer(t,e,n)})),t.endTransaction()},t.updateConnectorContainer=function(t,e,n){var o=this.getConnectorContainer(n);o?t.addAndRedo(new C.InsertToContainerHistoryItem(n,o)):n.container&&t.addAndRedo(new b.RemoveFromContainerHistoryItem(n))},t.updateNewShapeProperties=function(t,e,n){e.inputPosition.getDefaultStyle().forEach((function(o){t.addAndRedo(new A.ChangeStyleHistoryItem(n,o,e.inputPosition.getDefaultStylePropertyValue(o)))})),e.inputPosition.getDefaultTextStyle().forEach((function(o){t.addAndRedo(new R.ChangeStyleTextHistoryItem(n,o,e.inputPosition.getDefaultTextStylePropertyValue(o)))}))},t.updateNewConnectorProperties=function(t,e,n){e.inputPosition.getDefaultConnectorProperties().forEach((function(o){t.addAndRedo(new O.ChangeConnectorPropertyHistoryItem(n,o,e.inputPosition.getDefaultConnectorPropertyValue(o)))})),e.inputPosition.getDefaultStyle().forEach((function(o){t.addAndRedo(new A.ChangeStyleHistoryItem(n,o,e.inputPosition.getDefaultStylePropertyValue(o)))})),e.inputPosition.getDefaultTextStyle().forEach((function(o){t.addAndRedo(new R.ChangeStyleTextHistoryItem(n,o,e.inputPosition.getDefaultTextStylePropertyValue(o)))}))},t.applyLayout=function(t,e,n,o,i,r,s,a,c,u){t.beginTransaction();var h=this.getOccupiedRectangles(r,n);return i=this.offsetLayoutToFreeSpace(i,n&&n.clientRectangle,h,s.containerPadding),a&&this.adjustLayoutToSnapGrid(e,i,c),n&&this.resizeContainerOnLayout(t,e,i,n,s.containerPadding),this.applyLayoutToNodes(t,e,i,o.edges.map((function(t){return e.findConnector(t.key)}))),this.applyLayoutToConnectors(t,e,i,o.edges.map((function(t){return e.findConnector(t.key)})),u),t.endTransaction(),i.getRectangle(!0)},t.getNonGraphItems=function(t,e,n,o,i){return(e?t.getChildren(e):t.items.filter((function(t){return!t.container}))).filter((function(t){return t instanceof U.Connector?!(t.beginItem&&n[t.beginItem.key]||t.endItem&&n[t.endItem.key]||-1!==i.indexOf(t)):t instanceof K.Shape?!n[t.key]&&-1===o.indexOf(t):void 0}))},t.getOccupiedRectangles=function(t,e){var n=t.map((function(t){return t.rectangle}));if(e&&n.length){var o=e.clientRectangle;n.push(new s.Rectangle(o.right,o.y,1,1)),n.push(new s.Rectangle(o.right,o.bottom,1,1))}return n},t.offsetLayoutToFreeSpace=function(t,e,n,o){var i=t.getRectangle(!0),r=j.GeometryUtils.findFreeSpace(n,i.createSize().offset(o,o).nonNegativeSize(),!1,e);if(r){var s=r.x+o,a=r.y+o;return t.offsetNodes(s,a)}var c=n&&n.length?n.reduce((function(t,e){return e.right>t?e.right:t}),0):e?e.x:0,u=e?e.y:Math.max(0,i.y);return t.offsetNodes(c+o,u+o)},t.resizeContainerOnLayout=function(e,n,o,i,r){var s=o.getRectangle(!0),c=i.children.filter((function(t){return t instanceof K.Shape?-1===o.nodeKeys.indexOf(t.key):!!(t instanceof U.Connector&&t.beginItem&&t.endItem)&&(-1===o.nodeKeys.indexOf(t.beginItem.key)&&-1===o.nodeKeys.indexOf(t.endItem.key))})).map((function(t){return t.rectangle})),u=c.map((function(t){return t.right})).reduce((function(t,e){return Math.max(t,e)}),s.right),h=c.map((function(t){return t.bottom})).reduce((function(t,e){return Math.max(t,e)}),s.bottom),p=i.rectangle.width+u+r-i.rectangle.right,l=i.rectangle.height+h+r-i.rectangle.bottom;t.setShapeSize(e,n,i,i.position,new a.Size(p,l)),t.updateShapeAttachedConnectors(e,n,i)},t.applyLayoutToNodes=function(t,e,n,o){var i=this,r=o.reduce((function(t,e){return t[e.key]=t}),{});n.forEachNode((function(n,o){var s=e.findShape(o);i.applyLayoutToNode(t,e,s,n.position,r)}))},t.applyLayoutToNode=function(e,n,o,i,r){var s=this,a=i.clone().offset(-o.position.x,-o.position.y);t.setShapePosition(e,n,o,i,!1),0===a.x&&0===a.y||(o.attachedConnectors.filter((function(t){return!r[t.key]})).forEach((function(t){s.updateConnectorAttachedPoints(e,n,t);for(var o=t.beginItem?1:0,i=t.endItem?t.points.length-2:t.points.length-1,r=o;r<=i;r++)s.moveConnectorPoint(e,t,r,t.points[r].offset(a.x,a.y))})),n.getChildren(o).forEach((function(t){if(t instanceof K.Shape){var o=t.position.clone().offset(a.x,a.y);s.applyLayoutToNode(e,n,t,o,r)}})))},t.applyLayoutToConnectors=function(t,e,n,o,i){var r=this;o.filter((function(t){return t.beginItem||t.endItem})).forEach((function(o){var s=n.edgeToPosition[o.key];if(o.beginItem&&o.endItem&&!i&&s){var a=o.beginItem.getConnectionPointIndexForSide(s.beginIndex);a!==o.beginConnectionPointIndex&&t.addAndRedo(new p.SetConnectionPointIndexHistoryItem(o,a,U.ConnectorPosition.Begin));var c=o.endItem.getConnectionPointIndexForSide(s.endIndex);c!==o.endConnectionPointIndex&&t.addAndRedo(new p.SetConnectionPointIndexHistoryItem(o,c,U.ConnectorPosition.End))}r.updateConnectorAttachedPoints(t,e,o),s&&r.deleteConnectorCustomPoints(t,o)}))},t.adjustLayoutToSnapGrid=function(t,e,n){var o=this;e.nodeKeys.forEach((function(i){e.nodeToLayout[i].position.x=o.getSnappedPos(t,n,e.nodeToLayout[i].position.x,!0),e.nodeToLayout[i].position.y=o.getSnappedPos(t,n,e.nodeToLayout[i].position.y,!1)}))},t.getGraphInfoByItems=function(t,e,n,o){void 0===o&&(o=!0);var i={};[].concat(e).concat(n).forEach((function(t){var e=t.container&&t.container.key;i[e]||(i[e]=[]),i[e].push(t)}));var r=[];for(var s in i)if(Object.prototype.hasOwnProperty.call(i,s)){var a=s&&t.findContainer(s);if(!a||a.expanded&&!t.findItemCollapsedContainer(a)){var c=a&&a.key,u=this.getGraphByItems(t,i[s],c,!o),h=!1;(u.nodes.length>1||u.nodes.length&&(o||a&&i[a.container&&a.container.key]))&&(h=!0),h&&r.push(new N.GraphInfo(a,u))}}return r.sort((function(t,e){return e.level-t.level}))},t.getGraphByItems=function(t,e,n,o){var i=this,r=new L.Graph([],[]),s={};return e.forEach((function(t){i.extendByConnectedComponents(t,r,n,s,o)})),r.nodes.sort((function(e,n){return t.getItemIndex(t.findItem(e))-t.getItemIndex(t.findItem(n))})),r.edges.sort((function(e,n){return t.getItemIndex(t.findItem(e.key))-t.getItemIndex(t.findItem(n.key))})),r.edges=r.edges.filter((function(t){return r.getNode(t.from)&&r.getNode(t.to)})),r},t.extendByConnectedComponents=function(t,e,n,o,i){var r=this;!t||i&&t.locked||o[t.key]||(o[t.key]=!0,!(t instanceof U.Connector&&(t.container&&t.container.key)===n&&t.beginItem)||t.beginItem.locked&&i||!t.endItem||t.endItem.locked&&i||t.beginItem===t.endItem?t instanceof K.Shape&&(t.container&&t.container.key)===n&&(e.addNode(t),t.attachedConnectors.forEach((function(t){return r.extendByConnectedComponents(t,e,n,o,i)}))):(e.addEdge(new z.Edge(t.key,t.beginItem&&t.beginItem.key,t.endItem&&t.endItem.key)),this.extendByConnectedComponents(t.beginItem,e,n,o,i),this.extendByConnectedComponents(t.endItem,e,n,o,i)))},t.getlUnitValue=function(t,e){switch(t){case h.DiagramUnit.Cm:return o.UnitConverter.twipsToCentimeters(e);case h.DiagramUnit.In:return o.UnitConverter.twipsToInches(e);case h.DiagramUnit.Px:return o.UnitConverter.twipsToPixels(e)}},t.getUnitText=function(t,e,n,o,i){void 0===i&&(i=2);var r=e[t]?\" \"+e[t]:\"\",s=this.getlUnitValue(t,o);switch(t){case h.DiagramUnit.Cm:case h.DiagramUnit.In:return n(+s.toFixed(i))+r;case h.DiagramUnit.Px:return n(+s.toFixed(0))+r}},t.getTwipsValue=function(t,e){switch(t){case h.DiagramUnit.Cm:return o.UnitConverter.centimetersToTwips(e);case h.DiagramUnit.In:return o.UnitConverter.inchesToTwips(e);case h.DiagramUnit.Px:return o.UnitConverter.pixelsToTwips(e)}},t.getGuidItemKey=function(){return u.MathUtils.generateGuid()},t.createSelectedItems=function(t){var e={};return t.getSelectedItems(!0).forEach((function(t){return e[t.key]=t})),e},t.canMoveConnector=function(t,e){var n=e.beginItem,o=e.endItem;return n||o?!!t[e.key]&&(n===o?!!t[n.key]:n?o?!!t[n.key]&&!!t[o.key]:!!t[n.key]:!!t[o.key]):!e.isLocked},t.createRectangle=function(t){return j.GeometryUtils.getCommonRectangle(t.map((function(t){return t.rectangle})))},t.changeShapeType=function(t,e,n,o){if(n.description.key!==o){t.beginTransaction();var i=n.getConnectionPoints(),r=i.map((function(t){return n.getConnectionPointSide(t)}));t.addAndRedo(new V.ChangeShapeTypeHistoryItem(n,o));for(var s=n.getConnectionPoints(),a=s.map((function(t){return n.getConnectionPointSide(t)})),c=0,u=void 0;u=n.attachedConnectors[c];c++)u.beginItem===n&&this.updateConnectionIndexByNewShapeType(t,u,U.ConnectorPosition.Begin,u.beginConnectionPointIndex,i,r,s,a),u.endItem===n&&this.updateConnectionIndexByNewShapeType(t,u,U.ConnectorPosition.End,u.endConnectionPointIndex,i,r,s,a),this.updateConnectorAttachedPoints(t,e,u);t.endTransaction()}},t.updateConnectionIndexByNewShapeType=function(t,e,n,o,i,r,s,a){if(!(o<0)){var c=r[o],u=i[o];if(!(oa)&&(o.index=s,o.distance=a)}return o}),{distance:Number.MAX_SAFE_INTEGER,index:-1}).index},t.connectionPointActionSize=o.UnitConverter.pixelsToTwips(8),t}();e.ModelUtils=F},6469:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.AddShapeEventArgs=e.AddShapeRequestedEntity=void 0;var r=n(6879),s=n(8532),a=function(t){function e(e,n){var o=t.call(this,e)||this;return o.shape=n,o}return i(e,t),Object.defineProperty(e.prototype,\"operation\",{get:function(){return r.DiagramModelOperation.AddShape},enumerable:!1,configurable:!0}),e.prototype.createEventArgs=function(){return new c(this.apiController.createNativeShape(this.shape),this.apiController.convertPoint(this.shape.position))},Object.defineProperty(e.prototype,\"settingsKey\",{get:function(){return\"addShape\"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"storageKey\",{get:function(){return this.settingsKey+\"_\"+(this.shape&&this.shape.key)},enumerable:!1,configurable:!0}),e.prototype.equals=function(t){return t instanceof e&&(this.shape===t.shape&&this.shape.position.equals(t.shape.position))},e}(s.RequestedEntity);e.AddShapeRequestedEntity=a;var c=function(t){function e(e,n){var o=t.call(this)||this;return o.shape=e,o.position=n,o}return i(e,t),e}(s.PermissionRequestEventArgs);e.AddShapeEventArgs=c},1110:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.AddShapeFromToolboxEventArgs=e.AddShapeFromToolboxRequestedEntity=void 0;var r=n(6879),s=n(8532),a=function(t){function e(e,n){var o=t.call(this,e)||this;return o.shapeType=n,o}return i(e,t),Object.defineProperty(e.prototype,\"operation\",{get:function(){return r.DiagramModelOperation.AddShapeFromToolbox},enumerable:!1,configurable:!0}),e.prototype.createEventArgs=function(){return new c(this.shapeType)},Object.defineProperty(e.prototype,\"settingsKey\",{get:function(){return\"addShapeFromToolbox\"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"storageKey\",{get:function(){return this.settingsKey+\"_\"+this.shapeType},enumerable:!1,configurable:!0}),e.prototype.equals=function(t){return t instanceof e&&this.shapeType===t.shapeType},e}(s.RequestedEntity);e.AddShapeFromToolboxRequestedEntity=a;var c=function(t){function e(e){var n=t.call(this)||this;return n.shapeType=e,n}return i(e,t),e}(s.PermissionRequestEventArgs);e.AddShapeFromToolboxEventArgs=c},4829:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.BeforeChangeConnectorTextEventArgs=e.BeforeChangeConnectorTextRequestedEntity=void 0;var r=n(6879),s=n(8532),a=function(t){function e(e,n,o){var i=t.call(this,e)||this;return i.connector=n,i.position=o,i}return i(e,t),Object.defineProperty(e.prototype,\"operation\",{get:function(){return r.DiagramModelOperation.BeforeChangeConnectorText},enumerable:!1,configurable:!0}),e.prototype.createEventArgs=function(){return new c(this.apiController.createNativeConnector(this.connector),this.position,this.connector.texts.map((function(t){return t})).sort((function(t,e){return t.position-e.position})).indexOf(this.connector.texts.get(this.position)))},Object.defineProperty(e.prototype,\"settingsKey\",{get:function(){return\"changeConnectorText\"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"storageKey\",{get:function(){return\"before\"+this.settingsKey+\"_\"+(this.connector&&this.connector.key)},enumerable:!1,configurable:!0}),e.prototype.equals=function(t){return t instanceof e&&(this.connector===t.connector&&this.position===t.position&&this.connector.texts.get(this.position)===t.connector.texts.get(t.position))},e}(s.RequestedEntity);e.BeforeChangeConnectorTextRequestedEntity=a;var c=function(t){function e(e,n,o){var i=t.call(this)||this;return i.connector=e,i.position=n,i.index=o,i}return i(e,t),e}(s.PermissionRequestEventArgs);e.BeforeChangeConnectorTextEventArgs=c},2345:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.BeforeChangeShapeTextEventArgs=e.BeforeChangeShapeTextRequestedEntity=void 0;var r=n(6879),s=n(8532),a=function(t){function e(e,n){var o=t.call(this,e)||this;return o.shape=n,o}return i(e,t),Object.defineProperty(e.prototype,\"operation\",{get:function(){return r.DiagramModelOperation.BeforeChangeShapeText},enumerable:!1,configurable:!0}),e.prototype.createEventArgs=function(){return new c(this.apiController.createNativeShape(this.shape))},Object.defineProperty(e.prototype,\"settingsKey\",{get:function(){return\"changeShapeText\"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"storageKey\",{get:function(){return\"before\"+this.settingsKey+\"_\"+(this.shape&&this.shape.key)},enumerable:!1,configurable:!0}),e.prototype.equals=function(t){return t instanceof e&&(this.shape===t.shape&&this.shape.text===t.shape.text)},e}(s.RequestedEntity);e.BeforeChangeShapeTextRequestedEntity=a;var c=function(t){function e(e){var n=t.call(this)||this;return n.shape=e,n}return i(e,t),e}(s.PermissionRequestEventArgs);e.BeforeChangeShapeTextEventArgs=c},6466:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ChangeConnectionEventArgs=e.ChangeConnectionRequestedEntity=void 0;var r=n(6879),s=n(8532),a=function(t){function e(e,n,o,i,r,s){var a=t.call(this,e)||this;return a.connector=n,a.shape=o,a.oldShape=i,a.position=r,a.connectionPointIndex=s,a}return i(e,t),Object.defineProperty(e.prototype,\"operation\",{get:function(){return r.DiagramModelOperation.ChangeConnection},enumerable:!1,configurable:!0}),e.prototype.createEventArgs=function(){return new c(this.apiController.createNativeConnector(this.connector),this.apiController.createNativeShape(this.shape),this.apiController.createNativeShape(this.oldShape),this.position,this.connectionPointIndex)},Object.defineProperty(e.prototype,\"settingsKey\",{get:function(){return\"changeConnection\"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"storageKey\",{get:function(){return this.settingsKey+\"_\"+(this.connector&&this.connector.key)+\"_\"+this.position},enumerable:!1,configurable:!0}),e.prototype.equals=function(t){if(t instanceof e){var n=!this.connector&&!t.connector||this.connector&&t.connector&&this.connector===t.connector,o=!this.shape&&!t.shape||this.shape&&t.shape&&this.shape===t.shape,i=!this.oldShape&&!t.oldShape||this.oldShape&&t.oldShape&&this.oldShape===t.oldShape;return o&&i&&n&&this.position===t.position&&this.connectionPointIndex===t.connectionPointIndex}return!1},e}(s.RequestedEntity);e.ChangeConnectionRequestedEntity=a;var c=function(t){function e(e,n,o,i,r){var s=t.call(this)||this;return s.connector=e,s.shape=n,s.oldShape=o,s.position=i,s.connectionPointIndex=r,s}return i(e,t),e}(s.PermissionRequestEventArgs);e.ChangeConnectionEventArgs=c},6354:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ChangeConnectorPointsEventArgs=e.ChangeConnectorPointsRequestedEntity=void 0;var r=n(6879),s=n(8532),a=n(8675),c=function(t){function e(e,n,o,i){var r=t.call(this,e)||this;return r.connector=n,r.oldPoints=o,r.points=i,r}return i(e,t),Object.defineProperty(e.prototype,\"operation\",{get:function(){return r.DiagramModelOperation.ChangeConnectorPoints},enumerable:!1,configurable:!0}),e.prototype.createEventArgs=function(){var t=this;return new u(this.apiController.createNativeConnector(this.connector),this.oldPoints.map((function(e){return t.apiController.convertPoint(e)})),this.points.map((function(e){return t.apiController.convertPoint(e)})))},Object.defineProperty(e.prototype,\"settingsKey\",{get:function(){return\"changeConnectorPoints\"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"storageKey\",{get:function(){return this.settingsKey+\"_\"+(this.connector&&this.connector.key)},enumerable:!1,configurable:!0}),e.prototype.equals=function(t){return t instanceof e&&(this.connector===t.connector&&a.GeometryUtils.arePointsEqual(this.oldPoints,t.oldPoints)&&a.GeometryUtils.arePointsEqual(this.points,t.points))},e}(s.RequestedEntity);e.ChangeConnectorPointsRequestedEntity=c;var u=function(t){function e(e,n,o){var i=t.call(this)||this;return i.connector=e,i.oldPoints=n,i.points=o,i}return i(e,t),e}(s.PermissionRequestEventArgs);e.ChangeConnectorPointsEventArgs=u},2249:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ChangeConnectorTextEventArgs=e.ChangeConnectorTextRequestedEntity=void 0;var r=n(6879),s=n(8532),a=function(t){function e(e,n,o,i){var r=t.call(this,e)||this;return r.connector=n,r.position=o,r.text=i,r}return i(e,t),Object.defineProperty(e.prototype,\"operation\",{get:function(){return r.DiagramModelOperation.ChangeConnectorText},enumerable:!1,configurable:!0}),e.prototype.createEventArgs=function(){return new c(this.apiController.createNativeConnector(this.connector),this.position,this.connector.texts.map((function(t){return t})).sort((function(t,e){return t.position-e.position})).indexOf(this.connector.texts.get(this.position)),this.text)},Object.defineProperty(e.prototype,\"settingsKey\",{get:function(){return\"changeConnectorText\"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"storageKey\",{get:function(){return this.settingsKey+\"_\"+(this.connector&&this.connector.key)},enumerable:!1,configurable:!0}),e.prototype.equals=function(t){return t instanceof e&&(this.connector===t.connector&&this.position===t.position&&this.text===t.text)},e}(s.RequestedEntity);e.ChangeConnectorTextRequestedEntity=a;var c=function(t){function e(e,n,o,i){var r=t.call(this)||this;return r.connector=e,r.position=n,r.index=o,r.text=i,r}return i(e,t),e}(s.PermissionRequestEventArgs);e.ChangeConnectorTextEventArgs=c},5560:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ChangeShapeTextEventArgs=e.ChangeShapeTextRequestedEntity=void 0;var r=n(6879),s=n(8532),a=function(t){function e(e,n,o){var i=t.call(this,e)||this;return i.shape=n,i.text=o,i}return i(e,t),Object.defineProperty(e.prototype,\"operation\",{get:function(){return r.DiagramModelOperation.ChangeShapeText},enumerable:!1,configurable:!0}),e.prototype.createEventArgs=function(){return new c(this.apiController.createNativeShape(this.shape),this.text)},Object.defineProperty(e.prototype,\"settingsKey\",{get:function(){return\"changeShapeText\"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"storageKey\",{get:function(){return this.settingsKey+\"_\"+(this.shape&&this.shape.key)},enumerable:!1,configurable:!0}),e.prototype.equals=function(t){return t instanceof e&&(this.shape===t.shape&&this.text===t.text)},e}(s.RequestedEntity);e.ChangeShapeTextRequestedEntity=a;var c=function(t){function e(e,n){var o=t.call(this)||this;return o.shape=e,o.text=n,o}return i(e,t),e}(s.PermissionRequestEventArgs);e.ChangeShapeTextEventArgs=c},6580:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.DeleteConnectorEventArgs=e.DeleteConnectorRequestedEntity=void 0;var r=n(6879),s=n(8532),a=function(t){function e(e,n){var o=t.call(this,e)||this;return o.connector=n,o}return i(e,t),Object.defineProperty(e.prototype,\"operation\",{get:function(){return r.DiagramModelOperation.DeleteConnector},enumerable:!1,configurable:!0}),e.prototype.createEventArgs=function(){return new c(this.apiController.createNativeConnector(this.connector))},Object.defineProperty(e.prototype,\"settingsKey\",{get:function(){return\"deleteConnector\"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"storageKey\",{get:function(){return this.settingsKey+\"_\"+(this.connector&&this.connector.key)},enumerable:!1,configurable:!0}),e.prototype.equals=function(t){return t instanceof e&&this.connector===t.connector},e}(s.RequestedEntity);e.DeleteConnectorRequestedEntity=a;var c=function(t){function e(e){var n=t.call(this)||this;return n.connector=e,n}return i(e,t),e}(s.PermissionRequestEventArgs);e.DeleteConnectorEventArgs=c},8825:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.DeleteShapeEventArgs=e.DeleteShapeRequestedEntity=void 0;var r=n(6879),s=n(8532),a=function(t){function e(e,n){var o=t.call(this,e)||this;return o.shape=n,o}return i(e,t),Object.defineProperty(e.prototype,\"operation\",{get:function(){return r.DiagramModelOperation.DeleteShape},enumerable:!1,configurable:!0}),e.prototype.createEventArgs=function(){return new c(this.apiController.createNativeShape(this.shape))},Object.defineProperty(e.prototype,\"settingsKey\",{get:function(){return\"deleteShape\"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"storageKey\",{get:function(){return this.settingsKey+\"_\"+(this.shape&&this.shape.key)},enumerable:!1,configurable:!0}),e.prototype.equals=function(t){return t instanceof e&&this.shape===t.shape},e}(s.RequestedEntity);e.DeleteShapeRequestedEntity=a;var c=function(t){function e(e){var n=t.call(this)||this;return n.shape=e,n}return i(e,t),e}(s.PermissionRequestEventArgs);e.DeleteShapeEventArgs=c},4864:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.MoveShapeEventArgs=e.MoveShapeRequestedEntity=void 0;var r=n(6879),s=n(8532),a=function(t){function e(e,n,o,i){var r=t.call(this,e)||this;return r.shape=n,r.oldPosition=o,r.position=i,r}return i(e,t),Object.defineProperty(e.prototype,\"operation\",{get:function(){return r.DiagramModelOperation.MoveShape},enumerable:!1,configurable:!0}),e.prototype.createEventArgs=function(){return new c(this.apiController.createNativeShape(this.shape),this.apiController.convertPoint(this.oldPosition),this.apiController.convertPoint(this.position))},Object.defineProperty(e.prototype,\"settingsKey\",{get:function(){return\"moveShape\"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"storageKey\",{get:function(){return this.settingsKey+\"_\"+(this.shape&&this.shape.key)},enumerable:!1,configurable:!0}),e.prototype.equals=function(t){return t instanceof e&&(this.shape===t.shape&&this.oldPosition.equals(t.oldPosition)&&this.position.equals(t.position))},e}(s.RequestedEntity);e.MoveShapeRequestedEntity=a;var c=function(t){function e(e,n,o){var i=t.call(this)||this;return i.shape=e,i.oldPosition=n,i.position=o,i}return i(e,t),e}(s.PermissionRequestEventArgs);e.MoveShapeEventArgs=c},8532:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.PermissionRequestEventArgs=e.RequestedEntity=void 0;var n=function(){function t(t){this.apiController=t}return Object.defineProperty(t.prototype,\"allowed\",{get:function(){return this.eventArgs.allowed},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"updateUI\",{get:function(){return this.eventArgs.updateUI},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"eventArgs\",{get:function(){return this._eventArgs||(this._eventArgs=this.createEventArgs()),this._eventArgs},enumerable:!1,configurable:!0}),t}();e.RequestedEntity=n;var o=function(){this.allowed=!0,this.updateUI=!1};e.PermissionRequestEventArgs=o},3214:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ResizeShapeEventArgs=e.ResizeShapeRequestedEntity=void 0;var r=n(6879),s=n(8532),a=function(t){function e(e,n,o,i){var r=t.call(this,e)||this;return r.shape=n,r.oldSize=o,r.size=i,r}return i(e,t),Object.defineProperty(e.prototype,\"operation\",{get:function(){return r.DiagramModelOperation.ResizeShape},enumerable:!1,configurable:!0}),e.prototype.createEventArgs=function(){return new c(this.apiController.createNativeShape(this.shape),this.apiController.convertSize(this.oldSize),this.apiController.convertSize(this.size))},Object.defineProperty(e.prototype,\"settingsKey\",{get:function(){return\"resizeShape\"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"storageKey\",{get:function(){return this.settingsKey+\"_\"+(this.shape&&this.shape.key)},enumerable:!1,configurable:!0}),e.prototype.equals=function(t){return t instanceof e&&(this.shape===t.shape&&this.oldSize.equals(t.oldSize)&&this.size.equals(t.size))},e}(s.RequestedEntity);e.ResizeShapeRequestedEntity=a;var c=function(t){function e(e,n,o){var i=t.call(this)||this;return i.shape=e,i.oldSize=n,i.size=o,i}return i(e,t),e}(s.PermissionRequestEventArgs);e.ResizeShapeEventArgs=c},2883:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.PermissionsProvider=void 0;var o=n(5503),i=n(8675),r=n(6879),s=n(7959),a=n(6469),c=n(8825),u=n(6580),h=n(1110),p=n(6466),l=n(6354),d=n(2345),f=n(4829),y=n(5560),g=n(2249),m=n(9187),v=n(3214),P=n(4864),C=function(){function t(t){this.onRequestOperation=new i.EventDispatcher,this.cache=[],this.permissionsLockCount=0,this.requestDeleteItems={},this.updateUICount=0,this.apiController=t,this.operationSettings=new r.ModelOperationSettings,this.storage=new m.PermissionsProviderStorage}return t.prototype.notifySelectionChanged=function(t){this.clearCache()},t.prototype.notifyModelChanged=function(t){this.clearCache()},t.prototype.notifyPageColorChanged=function(t){},t.prototype.notifyPageSizeChanged=function(t,e){},t.prototype.clearCache=function(t){this.cache=void 0!==t?this.cache.filter((function(e){return e.operation!==t})):[]},t.prototype.canDeleteItems=function(t){var e=this,n=!0;return t.forEach((function(t){var i;t instanceof o.Shape&&(i=new c.DeleteShapeRequestedEntity(e.apiController,t)),t instanceof s.Connector&&(i=new u.DeleteConnectorRequestedEntity(e.apiController,t)),n=n&&e.requestOperation(i)})),n},t.prototype.canAddItems=function(t){var e=this,n=!0;return t.forEach((function(t){t instanceof o.Shape&&(n=n&&e.requestOperation(new a.AddShapeRequestedEntity(e.apiController,t))),t instanceof s.Connector&&(n=(n=n&&e.canChangeConnection(t,t.beginItem,void 0,s.ConnectorPosition.Begin,t.beginConnectionPointIndex))&&e.canChangeConnection(t,t.endItem,void 0,s.ConnectorPosition.End,t.endConnectionPointIndex))})),n},t.prototype.canAddShapeFromToolbox=function(t){return this.requestOperation(new h.AddShapeFromToolboxRequestedEntity(this.apiController,t))},t.prototype.canChangeConnection=function(t,e,n,i,r){return!(!t||!this.requestDeleteItems[t.key])||(!(null==e||e instanceof o.Shape)||this.requestOperation(new p.ChangeConnectionRequestedEntity(this.apiController,t,e,n,i,r)))},t.prototype.canChangeConnectorPoints=function(t,e,n){return!(!t||!this.requestDeleteItems[t.key])||this.requestOperation(new l.ChangeConnectorPointsRequestedEntity(this.apiController,t,e,n))},t.prototype.canChangeShapeText=function(t){return this.requestOperation(new d.BeforeChangeShapeTextRequestedEntity(this.apiController,t))},t.prototype.canChangeConnectorText=function(t,e){return this.requestOperation(new f.BeforeChangeConnectorTextRequestedEntity(this.apiController,t,e))},t.prototype.canApplyShapeTextChange=function(t,e){return this.requestOperation(new y.ChangeShapeTextRequestedEntity(this.apiController,t,e))},t.prototype.canApplyConnectorTextChange=function(t,e,n){return this.requestOperation(new g.ChangeConnectorTextRequestedEntity(this.apiController,t,e,n))},t.prototype.canResizeShapes=function(t){var e=this,n=!0;return t.forEach((function(t){n=n&&e.requestOperation(new v.ResizeShapeRequestedEntity(e.apiController,t.shape,t.oldSize,t.size))})),n},t.prototype.canMoveShapes=function(t){var e=this,n=!0;return t.forEach((function(t){n=n&&e.requestOperation(new P.MoveShapeRequestedEntity(e.apiController,t.shape,t.oldPosition,t.position))})),n},t.prototype.requestOperation=function(t){var e,n=!0;if(!this.permissionsLockCount&&(this.updateUICount>0&&this.cache.forEach((function(n){n.equals(t)&&(e=n)})),e?n=e.allowed:(this.requestOperationCore(t),this.updateUICount>0&&this.cache.push(t),n=t.allowed),0===this.updateUICount&&this.storage.needStorePermissions()))return this.storage.storePermission(t.storageKey,n),this.storage.isStoredPermissionsGranted();return n},t.prototype.requestOperationCore=function(t){t.eventArgs.allowed=this.operationSettings[t.settingsKey],t.eventArgs.updateUI=this.updateUICount>0,t.allowed&&this.onRequestOperation.raise(\"notifyRequestOperation\",t.operation,t.eventArgs)},t.prototype.lockPermissions=function(){this.permissionsLockCount++},t.prototype.unlockPermissions=function(){this.permissionsLockCount--},t.prototype.beginDeleteItems=function(t){var e=this;t.forEach((function(t){return e.requestDeleteItems[t.key]=t}))},t.prototype.endDeleteItems=function(){this.requestDeleteItems={}},t.prototype.beginUpdateUI=function(){this.updateUICount++},t.prototype.endUpdateUI=function(){this.updateUICount--},t.prototype.addInteractingItem=function(t,e){this.storage.addInteractingItem(t,e)},t.prototype.getInteractingItem=function(t,e){return this.storage.getInteractingItem(t,e)},t.prototype.getInteractingItemCount=function(){return this.storage.getInteractingItemCount()},t.prototype.clearInteractingItems=function(){this.storage.clearInteractingItems()},t.prototype.beginStorePermissions=function(){this.storage.beginStorePermissions()},t.prototype.endStorePermissions=function(){this.storage.endStorePermissions()},t.prototype.isStoredPermissionsGranted=function(){return this.permissionsLockCount>0||this.storage.isStoredPermissionsGranted()},t}();e.PermissionsProvider=C},9187:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.PermissionsProviderStorage=void 0;var o=n(5503),i=n(7959),r=function(){function t(){this.interactingItems={},this.storedPermissions={}}return t.prototype.addInteractingItem=function(t,e){var n=this.getInteractingItemKey(t,e);void 0===this.interactingItems[n]&&(t instanceof o.Shape||t instanceof i.Connector)&&(this.interactingItems[n]=t.clone())},t.prototype.getInteractingItem=function(t,e){var n=this.getInteractingItemKey(t,e);return this.interactingItems[n]},t.prototype.getInteractingItemCount=function(){return Object.keys(this.interactingItems).length},t.prototype.clearInteractingItems=function(){this.interactingItems={}},t.prototype.getInteractingItemKey=function(t,e){return t.key+(void 0!==e?\"_\"+e.toString():\"\")},t.prototype.needStorePermissions=function(){return this.storePermissions},t.prototype.beginStorePermissions=function(){this.storePermissions=!0},t.prototype.endStorePermissions=function(){this.storePermissions=!1,this.storedPermissions={}},t.prototype.isStoredPermissionsGranted=function(){for(var t=Object.keys(this.storedPermissions),e=!0,n=0;ne.position.y+e.size.height-o){var i=e.size.width/2/o,r=(n.y-(e.position.y+e.size.height-o))*i,s=e.getConnectionPointSide(n);s===h.ConnectionPointSide.East?n.x-=r:s===h.ConnectionPointSide.West&&(n.x+=r)}else t.prototype.processConnectionPoint.call(this,e,n)},e}(c.ArrowVerticalShapeDescription);e.ArrowDownShapeDescription=p},4493:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ArrowHorizontalShapeDescription=e.ArrowVerticalLineHeightParameterName=e.ArrowVerticalTriangleWidthParameterName=void 0;var r=n(6794),s=n(6353),a=n(6629),c=n(3742);e.ArrowVerticalTriangleWidthParameterName=\"tw\",e.ArrowVerticalLineHeightParameterName=\"lh\";var u=function(t){function n(){return t.call(this,new s.Size(r.ShapeDefaultDimension,.375*r.ShapeDefaultDimension))||this}return i(n,t),Object.defineProperty(n.prototype,\"keepRatioOnAutoSize\",{get:function(){return!1},enumerable:!1,configurable:!0}),n.prototype.createParameters=function(t){t.addRangeIfNotExists([new a.ShapeParameter(e.ArrowVerticalTriangleWidthParameterName,Math.sqrt(Math.pow(this.defaultSize.height,2)-Math.pow(this.defaultSize.height/2,2))),new a.ShapeParameter(e.ArrowVerticalLineHeightParameterName,this.defaultSize.height/3)])},n.prototype.normalizeParameters=function(t,n){this.changeParameterValue(n,e.ArrowVerticalTriangleWidthParameterName,(function(e){return Math.max(0,Math.min(t.size.width,e.value))})),this.changeParameterValue(n,e.ArrowVerticalLineHeightParameterName,(function(e){return Math.max(0,Math.min(t.size.height,e.value))}))},n.prototype.processConnectionPoint=function(t,n){var o=(t.size.height-t.parameters.get(e.ArrowVerticalLineHeightParameterName).value)/2,i=t.getConnectionPointSide(n);i===c.ConnectionPointSide.North?n.y+=o:i===c.ConnectionPointSide.South&&(n.y-=o)},n.prototype.getTextRectangle=function(t){return t.rectangle.clone().inflate(-r.ShapeTextPadding,-r.ShapeTextPadding)},n.prototype.getSizeByText=function(t,e){return t.clone().offset(2*r.ShapeTextPadding,2*r.ShapeTextPadding)},n}(r.ShapeDescription);e.ArrowHorizontalShapeDescription=u},8800:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ArrowLeftRightShapeDescription=void 0;var r=n(7724),s=n(4493),a=n(1852),c=n(8900),u=n(2259),h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),Object.defineProperty(e.prototype,\"key\",{get:function(){return u.ShapeTypes.ArrowLeftRight},enumerable:!1,configurable:!0}),e.prototype.createShapePrimitives=function(t){var e=t.rectangle,n=e.x,o=e.y,i=e.right,a=e.bottom,c=e.height,u=e.center.y,h=t.parameters.get(s.ArrowVerticalTriangleWidthParameterName).value,p=(c-t.parameters.get(s.ArrowVerticalLineHeightParameterName).value)/2,l=t.normalizeX(n+h),d=t.normalizeY(o+p),f=t.normalizeX(i-h),y=t.normalizeY(a-p);return[new r.PathPrimitive([new r.PathPrimitiveMoveToCommand(n,u),new r.PathPrimitiveLineToCommand(l,o),new r.PathPrimitiveLineToCommand(l,d),new r.PathPrimitiveLineToCommand(f,d),new r.PathPrimitiveLineToCommand(f,o),new r.PathPrimitiveLineToCommand(i,u),new r.PathPrimitiveLineToCommand(f,a),new r.PathPrimitiveLineToCommand(f,y),new r.PathPrimitiveLineToCommand(l,y),new r.PathPrimitiveLineToCommand(l,a),new r.PathPrimitiveClosePathCommand],t.style)]},e.prototype.normalizeParameters=function(t,e){this.changeParameterValue(e,s.ArrowVerticalTriangleWidthParameterName,(function(e){return Math.max(0,Math.min(t.size.width/2-2*t.strokeWidth,e.value))})),this.changeParameterValue(e,s.ArrowVerticalLineHeightParameterName,(function(e){return Math.max(0,Math.min(t.size.height,e.value))}))},e.prototype.modifyParameters=function(t,e,n,o){this.changeParameterValue(e,s.ArrowVerticalTriangleWidthParameterName,(function(t){return t.value+n})),this.changeParameterValue(e,s.ArrowVerticalLineHeightParameterName,(function(t){return t.value-2*o})),this.normalizeParameters(t,e)},e.prototype.getParameterPoints=function(t){return[new a.ShapeParameterPoint(\"c\",new c.Point(t.normalizeX(t.position.x+t.parameters.get(s.ArrowVerticalTriangleWidthParameterName).value),t.normalizeY(t.position.y+(t.size.height-t.parameters.get(s.ArrowVerticalLineHeightParameterName).value)/2)))]},e}(s.ArrowHorizontalShapeDescription);e.ArrowLeftRightShapeDescription=h},6023:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ArrowLeftShapeDescription=void 0;var r=n(7724),s=n(4493),a=n(1852),c=n(8900),u=n(2259),h=n(3742),p=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),Object.defineProperty(e.prototype,\"key\",{get:function(){return u.ShapeTypes.ArrowLeft},enumerable:!1,configurable:!0}),e.prototype.createShapePrimitives=function(t){var e=t.rectangle,n=e.x,o=e.y,i=e.right,a=e.bottom,c=e.height,u=e.center.y,h=t.parameters.get(s.ArrowVerticalTriangleWidthParameterName).value,p=(c-t.parameters.get(s.ArrowVerticalLineHeightParameterName).value)/2,l=t.normalizeX(n+h),d=t.normalizeY(o+p),f=t.normalizeY(a-p);return[new r.PathPrimitive([new r.PathPrimitiveMoveToCommand(n,u),new r.PathPrimitiveLineToCommand(l,o),new r.PathPrimitiveLineToCommand(l,d),new r.PathPrimitiveLineToCommand(i,d),new r.PathPrimitiveLineToCommand(i,f),new r.PathPrimitiveLineToCommand(l,f),new r.PathPrimitiveLineToCommand(l,a),new r.PathPrimitiveClosePathCommand],t.style)]},e.prototype.modifyParameters=function(t,e,n,o){this.changeParameterValue(e,s.ArrowVerticalTriangleWidthParameterName,(function(t){return t.value+n})),this.changeParameterValue(e,s.ArrowVerticalLineHeightParameterName,(function(t){return t.value-2*o})),this.normalizeParameters(t,e)},e.prototype.getParameterPoints=function(t){return[new a.ShapeParameterPoint(\"c\",new c.Point(t.normalizeX(t.position.x+t.parameters.get(s.ArrowVerticalTriangleWidthParameterName).value),t.normalizeY(t.position.y+(t.size.height-t.parameters.get(s.ArrowVerticalLineHeightParameterName).value)/2)))]},e.prototype.processConnectionPoint=function(e,n){var o=e.parameters.get(s.ArrowVerticalTriangleWidthParameterName).value;if(n.xe.position.x+e.size.width-o){var i=e.size.height/2/o,r=(n.x-(e.position.x+e.size.width-o))*i,a=e.getConnectionPointSide(n);a===h.ConnectionPointSide.North?n.y+=r:a===h.ConnectionPointSide.South&&(n.y-=r)}else t.prototype.processConnectionPoint.call(this,e,n)},e}(s.ArrowHorizontalShapeDescription);e.ArrowRightShapeDescription=p},9089:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ArrowUpDownShapeDescription=void 0;var r=n(7724),s=n(1852),a=n(8900),c=n(731),u=n(2259),h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),Object.defineProperty(e.prototype,\"key\",{get:function(){return u.ShapeTypes.ArrowUpDown},enumerable:!1,configurable:!0}),e.prototype.createShapePrimitives=function(t){var e=t.rectangle,n=e.x,o=e.y,i=e.right,s=e.bottom,a=e.width,u=e.center.x,h=(a-t.parameters.get(c.ArrowVerticalLineWidthParameterName).value)/2,p=t.parameters.get(c.ArrowVerticalTriangleHeightParameterName).value,l=t.normalizeX(n+h),d=t.normalizeY(o+p),f=t.normalizeX(i-h),y=t.normalizeY(s-p);return[new r.PathPrimitive([new r.PathPrimitiveMoveToCommand(u,o),new r.PathPrimitiveLineToCommand(i,d),new r.PathPrimitiveLineToCommand(f,d),new r.PathPrimitiveLineToCommand(f,y),new r.PathPrimitiveLineToCommand(i,y),new r.PathPrimitiveLineToCommand(u,s),new r.PathPrimitiveLineToCommand(n,y),new r.PathPrimitiveLineToCommand(l,y),new r.PathPrimitiveLineToCommand(l,d),new r.PathPrimitiveLineToCommand(n,d),new r.PathPrimitiveClosePathCommand],t.style)]},e.prototype.normalizeParameters=function(t,e){this.changeParameterValue(e,c.ArrowVerticalTriangleHeightParameterName,(function(e){return Math.max(0,Math.min(t.size.height/2-2*t.strokeWidth,e.value))})),this.changeParameterValue(e,c.ArrowVerticalLineWidthParameterName,(function(e){return Math.max(0,Math.min(t.size.width,e.value))}))},e.prototype.modifyParameters=function(t,e,n,o){this.changeParameterValue(e,c.ArrowVerticalTriangleHeightParameterName,(function(t){return t.value+o})),this.changeParameterValue(e,c.ArrowVerticalLineWidthParameterName,(function(t){return t.value-2*n})),this.normalizeParameters(t,e)},e.prototype.getParameterPoints=function(t){return[new s.ShapeParameterPoint(\"c\",new a.Point(t.normalizeX(t.position.x+(t.size.width-t.parameters.get(c.ArrowVerticalLineWidthParameterName).value)/2),t.normalizeY(t.position.y+t.parameters.get(c.ArrowVerticalTriangleHeightParameterName).value)))]},e}(c.ArrowVerticalShapeDescription);e.ArrowUpDownShapeDescription=h},8327:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ArrowUpShapeDescription=void 0;var r=n(7724),s=n(1852),a=n(8900),c=n(731),u=n(2259),h=n(3742),p=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),Object.defineProperty(e.prototype,\"key\",{get:function(){return u.ShapeTypes.ArrowUp},enumerable:!1,configurable:!0}),e.prototype.createShapePrimitives=function(t){var e=t.rectangle,n=e.x,o=e.y,i=e.right,s=e.bottom,a=e.width,u=e.center.x,h=(a-t.parameters.get(c.ArrowVerticalLineWidthParameterName).value)/2,p=t.parameters.get(c.ArrowVerticalTriangleHeightParameterName).value,l=t.normalizeX(n+h),d=t.normalizeY(o+p),f=t.normalizeX(i-h);return[new r.PathPrimitive([new r.PathPrimitiveMoveToCommand(u,o),new r.PathPrimitiveLineToCommand(i,d),new r.PathPrimitiveLineToCommand(f,d),new r.PathPrimitiveLineToCommand(f,s),new r.PathPrimitiveLineToCommand(l,s),new r.PathPrimitiveLineToCommand(l,d),new r.PathPrimitiveLineToCommand(n,d),new r.PathPrimitiveClosePathCommand],t.style)]},e.prototype.modifyParameters=function(t,e,n,o){this.changeParameterValue(e,c.ArrowVerticalTriangleHeightParameterName,(function(t){return t.value+o})),this.changeParameterValue(e,c.ArrowVerticalLineWidthParameterName,(function(t){return t.value-2*n})),this.normalizeParameters(t,e)},e.prototype.getParameterPoints=function(t){return[new s.ShapeParameterPoint(\"c\",new a.Point(t.normalizeX(t.position.x+(t.size.width-t.parameters.get(c.ArrowVerticalLineWidthParameterName).value)/2),t.normalizeY(t.position.y+t.parameters.get(c.ArrowVerticalTriangleHeightParameterName).value)))]},e.prototype.processConnectionPoint=function(e,n){var o=e.parameters.get(c.ArrowVerticalTriangleHeightParameterName).value;if(n.y0)&&(r=-r),this.changeParameterValue(n,e.StarConvexParameterName,(function(t){return t.value+r})),this.normalizeParameters(t,n)},n.prototype.getParameterPoints=function(t){var n=t.rectangle,o=n.y,i=n.right,r=n.width,s=n.height,a=this.getActualBottom(o,n.bottom,r,s),c=n.center.x,p=o+(a-o)/2,l=s/r,d=Math.PI-this.angle,f=o+r/2*Math.tan(d/2)*l,y=t.parameters.get(e.StarConvexParameterName).value,g=this.getInnerPointDistance(c,c,i,p,o,f),m=this.getInnerPointPos(c,c,i,y,g),v=this.getInnerPointPos(p,o,f,y,g);return[new u.ShapeParameterPoint(\"c\",new h.Point(m,v))]},n.prototype.processConnectionPoint=function(n,o){if(t.prototype.processConnectionPoint.call(this,n,o),n.getConnectionPointSide(o)===p.ConnectionPointSide.South){var i=n.rectangle,r=i.y,s=i.right,a=i.width,c=i.height,u=this.getActualBottom(r,i.bottom,a,c),h=i.center.x,l=r+(u-r)/2,d=c/a,f=Math.PI-this.angle,y=r+a/2*Math.tan(f/2)*d,g=n.parameters.get(e.StarConvexParameterName).value,m=this.getInnerPointDistance(h,h,s,l,r,y);o.y=this.getInnerPointPos(l,u,u,g,m)}},n.prototype.getInnerPointDistanceByAxis=function(t,e,n){return Math.min(e,n)+Math.abs(e-n)/2-t},n.prototype.getInnerPointPos=function(t,e,n,o,i){var r=Math.min(1,o/i);return t+this.getInnerPointDistanceByAxis(t,e,n)*r},n.prototype.getInnerPointDistance=function(t,e,n,o,i,r){var s=this.getInnerPointDistanceByAxis(t,e,n),a=this.getInnerPointDistanceByAxis(o,i,r);return Math.sqrt(Math.pow(s,2)+Math.pow(a,2))},n.prototype.getActualBottom=function(e,n,o,i){var r=e+t.prototype.calculateHeight.call(this,o)*i/o;return r{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ShapeDescription=e.ShapeTextPadding=e.ShapeDefaultSize=e.ShapeMinDimension=e.ShapeDefaultDimension=void 0;var o=n(9291),i=n(6353),r=n(6224),s=n(4246),a=n(4716),c=n(9416),u=n(8675),h=n(7228),p=n(3742);e.ShapeDefaultDimension=1440,e.ShapeMinDimension=360,e.ShapeDefaultSize=new i.Size(e.ShapeDefaultDimension,e.ShapeDefaultDimension),e.ShapeTextPadding=o.UnitConverter.pixelsToTwips(10);var l=function(){function t(t,n){void 0===t&&(t=e.ShapeDefaultSize.clone()),this.defaultSize=t,this.hasDefaultText=n,this.onChanged=new u.EventDispatcher,this.connectionPoints=this.createConnectionPoints()}return Object.defineProperty(t.prototype,\"enableText\",{get:function(){return!0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"allowEditText\",{get:function(){return!0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"enableImage\",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"allowEditImage\",{get:function(){return!0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"hasTemplate\",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"enableChildren\",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"minWidth\",{get:function(){},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"minHeight\",{get:function(){},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"maxWidth\",{get:function(){},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"maxHeight\",{get:function(){},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"toolboxSize\",{get:function(){return this.defaultSize},enumerable:!1,configurable:!0}),t.prototype.getTitle=function(){return r.DiagramLocalizationService.shapeTexts[this.key]},t.prototype.getDefaultText=function(){return this.hasDefaultText?r.DiagramLocalizationService.shapeTexts[this.key]:\"\"},t.prototype.getDefaultImageUrl=function(){return\"\"},t.prototype.getConnectionPoints=function(){return this.connectionPoints},t.prototype.createConnectionPoints=function(){return[new h.ConnectionPoint(.5,0,p.ConnectionPointSide.North),new h.ConnectionPoint(1,.5,p.ConnectionPointSide.East),new h.ConnectionPoint(.5,1,p.ConnectionPointSide.South),new h.ConnectionPoint(0,.5,p.ConnectionPointSide.West)]},t.prototype.processConnectionPoint=function(t,e){},t.prototype.getConnectionPointIndexForItem=function(t,e){return e},t.prototype.getConnectionPointIndexForSide=function(t){return t},t.getConnectionPointSideByGeometry=function(t){return t.x>=t.y&&(t.x>0||t.y>0)?t.x<.5||1-t.x>=t.y?p.ConnectionPointSide.North:p.ConnectionPointSide.East:t.x>.5||1-t.x<=t.y?p.ConnectionPointSide.South:p.ConnectionPointSide.West},t.prototype.createParameters=function(t){},t.prototype.normalizeParameters=function(t,e){},t.prototype.modifyParameters=function(t,e,n,o){throw Error(\"Not implemented\")},t.prototype.changeParameterValue=function(t,e,n){var o=t.get(e);o.value=n(o)},t.prototype.getParameterPoints=function(t){return[]},t.prototype.getExpandedSize=function(t){return t.size},t.prototype.getCollapsedSize=function(t){return t.size},t.prototype.getToolboxHeightToWidthRatio=function(t,e){return e/t},t.prototype.allowResizeHorizontally=function(t){return!0},t.prototype.allowResizeVertically=function(t){return!0},t.prototype.createPrimitives=function(t,e,n){var o=[];return o=o.concat(this.createShapePrimitives(t,n)),this.enableImage&&(o=o.concat(this.createImagePrimitives(t,n))),this.enableText&&(o=o.concat(this.createTextPrimitives(t,n))),o},t.prototype.createImagePrimitives=function(t,e){return[]},t.prototype.createTextPrimitives=function(e,n){if(void 0===e.text||\"\"===e.text)return[];var o=this.getTextRectangle(e);return[new c.TextPrimitive(o.x,o.y,e.text,s.TextOwner.Shape,o.width,o.height,t.textSpacing,e.styleText,!1,this.getTextClipPathId(n),void 0,this.getTextAngle())]},t.prototype.getTextClipPathId=function(t){},t.prototype.getTextAngle=function(){return c.TextAngle.Angle0deg},t.prototype.getClientRectangle=function(t){return t.rectangle},t.prototype.getTextEditRectangle=function(t){return this.getTextRectangle(t)},t.prototype.createSelectorPrimitives=function(t){return[new a.RectanglePrimitive(t.position.x,t.position.y,t.size.width,t.size.height,null,\"selector\")]},t.prototype.raiseShapeDescriptionChanged=function(t){this.onChanged.raise1((function(e){return e.notifyShapeDescriptionChanged(t)}))},t.textSpacing=o.UnitConverter.pixelsToTwips(2),t}();e.ShapeDescription=l},8397:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ShapeDescriptionManager=void 0;var o=n(5331),i=n(6825),r=n(9144),s=n(4941),a=n(6242),c=n(6508),u=n(9089),h=n(6599),p=n(8327),l=n(2281),d=n(5303),f=n(7768),y=n(8628),g=n(1561),m=n(1669),v=n(8761),P=n(2953),C=n(1412),S=n(8772),x=n(4958),b=n(8800),I=n(6023),w=n(2117),_=n(3525),T=n(2850),O=n(4112),M=n(1314),E=n(1034),D=n(2751),A=n(8110),R=n(1643),L=n(9229),N=n(4810),z=n(3046),j=n(2650),U=n(2019),k=n(6182),B=n(6688),H=n(5759),K=n(944),V=n(2816),F=n(2259),W=n(7552),G=n(8675),Z=n(3107),q=function(){function t(){this.descriptions={},this.descriptionTypes={},this.descriptionCategories={},this.onShapeDecriptionChanged=new G.EventDispatcher,this.register(new m.TextShapeDescription,F.ShapeCategories.General),this.register(new g.RectangleShapeDescription,F.ShapeCategories.General),this.register(new f.EllipseShapeDescription,F.ShapeCategories.General),this.register(new l.CrossShapeDescription,F.ShapeCategories.General),this.register(new w.TriangleShapeDescription,F.ShapeCategories.General),this.register(new d.DiamondShapeDescription,F.ShapeCategories.General),this.register(new y.HeartShapeDescription,F.ShapeCategories.General),this.register(new v.PentagonShapeDescription,F.ShapeCategories.General),this.register(new P.HexagonShapeDescription,F.ShapeCategories.General),this.register(new C.OctagonShapeDescription,F.ShapeCategories.General),this.register(new S.StarShapeDescription,F.ShapeCategories.General),this.register(new p.ArrowUpShapeDescription,F.ShapeCategories.General),this.register(new x.ArrowDownShapeDescription,F.ShapeCategories.General),this.register(new I.ArrowLeftShapeDescription,F.ShapeCategories.General),this.register(new h.ArrowRightShapeDescription,F.ShapeCategories.General),this.register(new u.ArrowUpDownShapeDescription,F.ShapeCategories.General),this.register(new b.ArrowLeftRightShapeDescription,F.ShapeCategories.General),this.register(new o.ProcessShapeDescription,F.ShapeCategories.Flowchart),this.register(new i.DecisionShapeDescription,F.ShapeCategories.Flowchart),this.register(new a.TerminatorShapeDescription,F.ShapeCategories.Flowchart),this.register(new c.PredefinedProcessShapeDescription,F.ShapeCategories.Flowchart),this.register(new _.DocumentShapeDescription,F.ShapeCategories.Flowchart),this.register(new T.MultipleDocumentsShapeDescription,F.ShapeCategories.Flowchart),this.register(new r.ManualInputShapeDescription,F.ShapeCategories.Flowchart),this.register(new O.PreparationShapeDescription,F.ShapeCategories.Flowchart),this.register(new s.DataShapeDescription,F.ShapeCategories.Flowchart),this.register(new E.DatabaseShapeDescription,F.ShapeCategories.Flowchart),this.register(new M.HardDiskShapeDescription,F.ShapeCategories.Flowchart),this.register(new D.InternalStorageShapeDescription,F.ShapeCategories.Flowchart),this.register(new A.PaperTapeShapeDescription,F.ShapeCategories.Flowchart),this.register(new R.ManualOperationShapeDescription,F.ShapeCategories.Flowchart),this.register(new L.DelayShapeDescription,F.ShapeCategories.Flowchart),this.register(new N.StoredDataShapeDescription,F.ShapeCategories.Flowchart),this.register(new j.DisplayShapeDescription,F.ShapeCategories.Flowchart),this.register(new z.MergeShapeDescription,F.ShapeCategories.Flowchart),this.register(new W.ConnectorShapeDescription,F.ShapeCategories.Flowchart),this.register(new U.OrShapeDescription,F.ShapeCategories.Flowchart),this.register(new k.SummingJunctionShapeDescription,F.ShapeCategories.Flowchart),this.register(new Z.CardWithImageOnLeftDescription,F.ShapeCategories.OrgChart),this.register(new Z.CardWithImageOnRightDescription,F.ShapeCategories.OrgChart),this.register(new V.CardWithImageOnTopDescription,F.ShapeCategories.OrgChart),this.register(new H.VerticalContainerDescription,F.ShapeCategories.Containers),this.register(new K.HorizontalContainerDescription,F.ShapeCategories.Containers)}return Object.defineProperty(t,\"default\",{get:function(){return t.defaultInstance},enumerable:!1,configurable:!0}),Object.defineProperty(t,\"defaultContainer\",{get:function(){return t.defaultContainerInstance},enumerable:!1,configurable:!0}),t.prototype.get=function(t){return this.descriptions[t]},t.prototype.getTypesByCategory=function(t){return this.descriptionTypes[t]||[]},t.prototype.getCategoryByType=function(t){return this.descriptionCategories[t]},t.prototype.getCategoryByDescription=function(t){return this.getCategoryByType(t.key)},t.prototype.register=function(t,e,n){if(void 0===n&&(n=t.key),void 0!==this.descriptions[n])throw Error(\"Description key is duplicated\");this.descriptions[n]=t,this.descriptionTypes[e]||(this.descriptionTypes[e]=[]),this.descriptionTypes[e].push(n),this.descriptionCategories[n]=e,t.onChanged.add(this)},t.prototype.registerCustomShape=function(t){if(void 0===t.type)throw Error(\"Custom shape type is not defined\");if(void 0!==this.descriptions[t.type])throw Error(\"Custom shape type is duplicated\");var e=t.baseType&&this.descriptions[t.baseType];t.minWidth>t.maxWidth&&(t.maxWidth=t.minWidth),t.minHeight>t.maxHeight&&(t.maxHeight=t.minHeight),this.register(new B.CustomShapeDescription(t,e),t.category||F.ShapeCategories.Custom)},t.prototype.unregisterCustomShape=function(t){var e=this.descriptions[t];if(e instanceof B.CustomShapeDescription){e.onChanged.remove(this);var n=this.descriptionCategories[t];delete this.descriptions[t],delete this.descriptionCategories[t];var o=this.descriptionTypes[n].indexOf(t);this.descriptionTypes[n].splice(o,1),0===this.descriptionTypes[n].length&&delete this.descriptionTypes[n]}},t.prototype.unregisterAllCustomShapes=function(){var t=this;Object.keys(this.descriptions).forEach((function(e){t.unregisterCustomShape(e)}))},t.prototype.notifyShapeDescriptionChanged=function(t){this.onShapeDecriptionChanged.raise1((function(e){return e.notifyShapeDescriptionChanged(t)}))},t.defaultInstance=new g.RectangleShapeDescription,t.defaultContainerInstance=new H.VerticalContainerDescription,t}();e.ShapeDescriptionManager=q},4083:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ShapeWithImageDescription=e.SHAPE_IMAGE_CLASSNAMES=e.ShapeDefaultSize=e.ShapeDefaultDimension=void 0;var r=n(6794),s=n(8011),a=n(6353),c=n(8900),u=n(9291),h=n(1995),p=n(4716),l=n(5329),d=n(3500),f=n(4593),y=n(6411);e.ShapeDefaultDimension=1440,e.ShapeDefaultSize=new a.Size(e.ShapeDefaultDimension,e.ShapeDefaultDimension),e.SHAPE_IMAGE_CLASSNAMES={IMAGE:\"dxdi-image\",IMAGE_PLACEHOLDER:\"dxdi-image-placeholder\",LOADING_INDICATOR:\"dxdi-spinner\",USER_PIC:\"dxdi-user\",WARNING_MARK:\"dxdi-warning\"};var g=function(t){function n(n,o){void 0===n&&(n=e.ShapeDefaultSize.clone());var i=t.call(this,n,o)||this;return i.hasDefaultText=o,i.defaultIconSize=480,i}return i(n,t),Object.defineProperty(n.prototype,\"enableImage\",{get:function(){return!0},enumerable:!1,configurable:!0}),n.prototype.getImageMargin=function(t){return t?u.UnitConverter.pixelsToTwips(2):u.UnitConverter.pixelsToTwips(3)},n.prototype.createImagePrimitives=function(t,n){if(!this.enableImage)return[];var o=this.getImagePlacementRectangle(t.rectangle,n);if(n)return this.createImagePlaceholder(o);var i=[];if(i=t.image.isEmpty||t.image.unableToLoad?i.concat(this.createEmptyImagePrimitives(o,t.image.unableToLoad)):\"\"===t.image.renderUrl?i.concat(this.createLoadingImagePrimitives(o)):i.concat(this.createLoadedImagePrimitives(o,t.image.renderUrl)),\"\"===t.image.renderUrl){var r=d.RenderUtils.generateSvgElementId(\"clipImage\");return[].concat([new l.GroupPrimitive(i,e.SHAPE_IMAGE_CLASSNAMES.IMAGE,void 0,r),new f.ClipPathPrimitive(r,[new p.RectanglePrimitive(o.x,o.y,o.width,o.height)])])}return i},n.prototype.createImagePlaceholder=function(t){return[]},n.prototype.createLoadedImagePrimitives=function(t,o){return[new h.ImagePrimitive(t.x,t.y,t.width,t.height,o,n.imageScalingRule,void 0,e.SHAPE_IMAGE_CLASSNAMES.IMAGE)]},n.prototype.createLoadingImagePrimitives=function(t){var n=this.getIconPlacementRectangle(t);return[y.ShapeImageIndicator.createLoadingIndicatorPrimitives(n.x,n.y,this.defaultIconSize,u.UnitConverter.pixelsToTwips(5),e.SHAPE_IMAGE_CLASSNAMES.LOADING_INDICATOR)]},n.prototype.createEmptyImagePrimitives=function(t,e){var n=this.getIconPlacementRectangle(t),o=[];return o=o.concat(this.createEmptyImagePrimitive(n)),e&&(o=o.concat(this.createWarningPrimitive(n))),o},n.prototype.createEmptyImagePrimitive=function(t){return new l.GroupPrimitive([])},n.prototype.createWarningPrimitive=function(t){return new l.GroupPrimitive([])},n.prototype.getIconPlacementRectangle=function(t){var e=s.Rectangle.fromGeometry(new c.Point(t.x,t.y),new a.Size(this.defaultIconSize,this.defaultIconSize));return e.width{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ShapeParameterPoint=void 0;var n=function(t,e){this.key=t,this.point=e};e.ShapeParameterPoint=n},6629:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ShapeParameters=e.ShapeParameter=void 0;var n=function(t,e){this.key=t,this.value=e};e.ShapeParameter=n;var o=function(){function t(){this.items={}}return t.prototype.addIfNotExists=function(t){t.key in this.items||this.set(t)},t.prototype.set=function(t){this.items[t.key]=t},t.prototype.addRangeIfNotExists=function(t){for(var e=0;e{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ShapeType=e.ShapeTypes=e.ShapeCategories=void 0;var n=function(){function t(){}return t.General=\"general\",t.Flowchart=\"flowchart\",t.OrgChart=\"orgChart\",t.Containers=\"containers\",t.Custom=\"custom\",t}();e.ShapeCategories=n;var o=function(){function t(){}return t.Text=\"text\",t.Rectangle=\"rectangle\",t.Ellipse=\"ellipse\",t.Cross=\"cross\",t.Triangle=\"triangle\",t.Diamond=\"diamond\",t.Heart=\"heart\",t.Pentagon=\"pentagon\",t.Hexagon=\"hexagon\",t.Octagon=\"octagon\",t.Star=\"star\",t.ArrowLeft=\"arrowLeft\",t.ArrowUp=\"arrowTop\",t.ArrowRight=\"arrowRight\",t.ArrowDown=\"arrowBottom\",t.ArrowUpDown=\"arrowNorthSouth\",t.ArrowLeftRight=\"arrowEastWest\",t.Process=\"process\",t.Decision=\"decision\",t.Terminator=\"terminator\",t.PredefinedProcess=\"predefinedProcess\",t.Document=\"document\",t.MultipleDocuments=\"multipleDocuments\",t.ManualInput=\"manualInput\",t.Preparation=\"preparation\",t.Data=\"data\",t.Database=\"database\",t.HardDisk=\"hardDisk\",t.InternalStorage=\"internalStorage\",t.PaperTape=\"paperTape\",t.ManualOperation=\"manualOperation\",t.Delay=\"delay\",t.StoredData=\"storedData\",t.Display=\"display\",t.Merge=\"merge\",t.Connector=\"connector\",t.Or=\"or\",t.SummingJunction=\"summingJunction\",t.Container=\"container\",t.VerticalContainer=\"verticalContainer\",t.HorizontalContainer=\"horizontalContainer\",t.Card=\"card\",t.CardWithImageOnLeft=\"cardWithImageOnLeft\",t.CardWithImageOnTop=\"cardWithImageOnTop\",t.CardWithImageOnRight=\"cardWithImageOnRight\",t}();e.ShapeTypes=o,function(t){t[t.text=0]=\"text\",t[t.rectangle=1]=\"rectangle\",t[t.ellipse=2]=\"ellipse\",t[t.cross=3]=\"cross\",t[t.triangle=4]=\"triangle\",t[t.diamond=5]=\"diamond\",t[t.heart=6]=\"heart\",t[t.pentagon=7]=\"pentagon\",t[t.hexagon=8]=\"hexagon\",t[t.octagon=9]=\"octagon\",t[t.star=10]=\"star\",t[t.arrowLeft=11]=\"arrowLeft\",t[t.arrowTop=12]=\"arrowTop\",t[t.arrowRight=13]=\"arrowRight\",t[t.arrowBottom=14]=\"arrowBottom\",t[t.arrowNorthSouth=15]=\"arrowNorthSouth\",t[t.arrowEastWest=16]=\"arrowEastWest\",t[t.process=17]=\"process\",t[t.decision=18]=\"decision\",t[t.terminator=19]=\"terminator\",t[t.predefinedProcess=20]=\"predefinedProcess\",t[t.document=21]=\"document\",t[t.multipleDocuments=22]=\"multipleDocuments\",t[t.manualInput=23]=\"manualInput\",t[t.preparation=24]=\"preparation\",t[t.data=25]=\"data\",t[t.database=26]=\"database\",t[t.hardDisk=27]=\"hardDisk\",t[t.internalStorage=28]=\"internalStorage\",t[t.paperTape=29]=\"paperTape\",t[t.manualOperation=30]=\"manualOperation\",t[t.delay=31]=\"delay\",t[t.storedData=32]=\"storedData\",t[t.display=33]=\"display\",t[t.merge=34]=\"merge\",t[t.connector=35]=\"connector\",t[t.or=36]=\"or\",t[t.summingJunction=37]=\"summingJunction\",t[t.verticalContainer=38]=\"verticalContainer\",t[t.horizontalContainer=39]=\"horizontalContainer\",t[t.cardWithImageOnLeft=40]=\"cardWithImageOnLeft\",t[t.cardWithImageOnTop=41]=\"cardWithImageOnTop\",t[t.cardWithImageOnRight=42]=\"cardWithImageOnRight\"}(e.ShapeType||(e.ShapeType={}))},1552:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.EmptyStyle=e.StrokeStyle=e.TextAlignment=e.TextStyle=e.Style=e.DEFAULT_STROKE_DASHARRAY=e.DEFAULT_STROKE_WIDTH=e.StyleBase=void 0;var r=n(13),s=n(8396),a=n(9291),c=function(){function t(){this.createDefaultProperties()}return t.prototype.clone=function(){var t=this,e=this.createInstance();return this.forEach((function(n){e[n]=t[n]})),e},t.prototype.forEach=function(t){for(var e in this)Object.prototype.hasOwnProperty.call(this,e)&&t(e)},Object.defineProperty(t.prototype,\"strokeWidthPx\",{get:function(){return 0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"strokeWidth\",{get:function(){return a.UnitConverter.pixelsToTwips(this.strokeWidthPx)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"strokeOffset\",{get:function(){return.5},enumerable:!1,configurable:!0}),t.prototype.toHash=function(){var t=this.toObject();return t?Object.keys(t).map((function(e){return e+\"|\"+t[e]})).join(\"\"):\"\"},t.prototype.toObject=function(){var t=this,e={},n=!1,o=this.getDefaultInstance();return this.forEach((function(i){t[i]!==o[i]&&(e[i]=t[i],n=!0)})),n?e:null},t.prototype.fromObject=function(t){for(var e in t)if(Object.prototype.hasOwnProperty.call(t,e)){var n=s.isColorProperty(e)?r.ColorUtils.stringToHash(t[e]):t[e];this[e]=n}},t}();e.StyleBase=c,e.DEFAULT_STROKE_WIDTH=2,e.DEFAULT_STROKE_DASHARRAY=\"\";var u=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return i(n,t),n.prototype.createInstance=function(){return new n},n.prototype.createDefaultProperties=function(){this.fill=\"#ffffff\",this.stroke=\"#000000\",this[\"stroke-width\"]=e.DEFAULT_STROKE_WIDTH.toString(),this[\"stroke-dasharray\"]=e.DEFAULT_STROKE_DASHARRAY},n.prototype.getDefaultInstance=function(){return n.defaultInstance},n.prototype.isDefaultStrokeDashArray=function(){return this[\"stroke-dasharray\"]===e.DEFAULT_STROKE_DASHARRAY},n.prototype.resetStrokeDashArray=function(){this[\"stroke-dasharray\"]=e.DEFAULT_STROKE_DASHARRAY},Object.defineProperty(n.prototype,\"strokeWidthPx\",{get:function(){return parseInt(this[\"stroke-width\"])},enumerable:!1,configurable:!0}),n.defaultInstance=new n,n}(c);e.Style=u;var h,p=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.createInstance=function(){return new e},e.prototype.createDefaultProperties=function(){this.fill=\"#000000\",this[\"font-family\"]=\"Arial\",this[\"font-size\"]=\"10pt\",this[\"font-weight\"]=\"\",this[\"font-style\"]=\"\",this[\"text-decoration\"]=\"\",this[\"text-anchor\"]=\"middle\"},e.prototype.getDefaultInstance=function(){return e.defaultInstance},e.prototype.getAlignment=function(){switch(this[\"text-anchor\"]){case\"left\":return h.Left;case\"right\":return h.Right;default:return h.Center}},e.defaultInstance=new e,e}(c);e.TextStyle=p,function(t){t[t.Left=0]=\"Left\",t[t.Right=1]=\"Right\",t[t.Center=2]=\"Center\"}(h=e.TextAlignment||(e.TextAlignment={}));var l=function(t){function e(e,n){var o=t.call(this)||this;return o._strokeWidthPx=e,o._strokeOffset=n,o}return i(e,t),e.prototype.createInstance=function(){return new e},e.prototype.createDefaultProperties=function(){},e.prototype.getDefaultInstance=function(){return p.defaultInstance},Object.defineProperty(e.prototype,\"strokeWidthPx\",{get:function(){return this._strokeWidthPx||0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"strokeOffset\",{get:function(){return this._strokeOffset||0},enumerable:!1,configurable:!0}),e.default1pxInstance=new e(1,.5),e.default1pxNegativeOffsetInstance=new e(1,-.5),e.default2pxInstance=new e(2),e}(u);e.StrokeStyle=l;var d=function(t){function e(e){var n=t.call(this)||this;return e&&Object.keys(e).forEach((function(t){return n[t]=e[t]})),n}return i(e,t),e.prototype.createInstance=function(){return new e},e.prototype.createDefaultProperties=function(){},e.prototype.getDefaultInstance=function(){return p.defaultInstance},e.defaultInstance=new e,e}(u);e.EmptyStyle=d},6214:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ReloadContentParameters=void 0;var n=function(){function t(){this.isEmpty=!0}return t.prototype.add=function(t,e,n){void 0!==t&&(void 0===this._dataKeys&&(this._dataKeys=[]),Array.isArray(t)?this._dataKeys=this._dataKeys.concat(t):this._dataKeys.push(t)),this._getData=this._getData||e,this._layoutParameters=this._layoutParameters||n,this.isEmpty=!1},t.prototype.clear=function(){this.isEmpty=!0,this._dataKeys=void 0,this._getData=void 0,this._layoutParameters=void 0},Object.defineProperty(t.prototype,\"empty\",{get:function(){return this.isEmpty},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"dataKeys\",{get:function(){return this._dataKeys},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"getData\",{get:function(){return this._getData},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"layoutParameters\",{get:function(){return this._layoutParameters},enumerable:!1,configurable:!0}),t}();e.ReloadContentParameters=n},6557:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.AutoScrollController=void 0;var o=n(1114),i=n(6907),r=n(6353),s=n(8675),a=function(){function t(t,e,n,o){this.scroll=t,this.svgElement=e,this.view=n,this.dom=o,this.leftButtonPressed=!1,this.scrollDragging=!1,this.scrollTimer=-1,this.scrollBarWidth=i.DomUtils.getVerticalScrollBarWidth()}return t.prototype.onMouseMove=function(t,e){this.clearScrollTimer(),s.EventUtils.isLeftButtonPressed(t)||(this.leftButtonPressed=!1),this.canAutoScroll()&&this.changeScrollPosition(t,e,!1)},t.prototype.onMouseDown=function(t){this.leftButtonPressed=!!s.EventUtils.isLeftButtonPressed(t)},t.prototype.onMouseUp=function(t){this.clearScrollTimer(),this.leftButtonPressed=!1},t.prototype.onMouseEnter=function(t){var e=this;s.EventUtils.isLeftButtonPressed(t)&&setTimeout((function(){e.leftButtonPressed=!0}),500)},t.prototype.onDragScrollStart=function(){this.scrollDragging=!0},t.prototype.onDragScrollEnd=function(){this.scrollDragging=!1},t.prototype.canAutoScroll=function(){return this.leftButtonPressed&&!this.scrollDragging},t.prototype.changeScrollPosition=function(t,e,n){var o=this,s=!1;if(!this.view.isAutoScrollLocked()){var a=this.scroll.getScrollContainer(),c=t.pageX-i.DomUtils.getAbsolutePositionX(a),u=t.pageY-i.DomUtils.getAbsolutePositionY(a),h=this.scroll.getSize(),p=new r.Size(parseFloat(this.svgElement.style.width),parseFloat(this.svgElement.style.height)),l=h.width;h.width-1&&(window.clearTimeout(this.scrollTimer),this.scrollTimer=-1)},t.prototype.getScrollingOffset=function(t){var e=Math.pow((40-t)/5,2);return Math.round(Math.min(e,5))},t.createMainElement=function(t){var e=document.createElement(\"div\");return e.setAttribute(\"class\",\"dxdi-control\"),t.appendChild(e),e},t.createSvgElement=function(t,e){void 0===e&&(e=!1);var n=document.createElementNS(o.svgNS,\"svg\");return n.className.baseVal=\"dxdi-canvas\"+(e?\" export\":\"\"),t.appendChild(n),n},t}();e.AutoScrollController=a},3872:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),r=this&&this.__awaiter||function(t,e,n,o){return new(n||(n=Promise))((function(i,r){function s(t){try{c(o.next(t))}catch(t){r(t)}}function a(t){try{c(o.throw(t))}catch(t){r(t)}}function c(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}c((o=o.apply(t,e||[])).next())}))},s=this&&this.__generator||function(t,e){var n,o,i,r,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},\"function\"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(n)throw new TypeError(\"Generator is already executing.\");for(;s;)try{if(n=1,o&&(i=2&r[0]?o.return:r[0]?o.throw||((i=o.return)&&i.call(o),0):o.next)&&!(i=i.call(o,r[1])).done)return i;switch(o=0,i&&(r=[2&r[0],i.value]),r[0]){case 0:case 1:i=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,o=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==r[0]&&2!==r[0])){s=0;continue}if(3===r[0]&&(!i||r[1]>i[0]&&r[1]0)return\"\\n\"+n}}},e.prototype.checkSelector=function(t){for(var n=0;nt}))[0];this.itemGroupContainers[o][t]=this.createAndChangePrimitiveElement(new a.GroupPrimitive([],null,t),n,this.itemGroupContainers[o][i])}return this.itemGroupContainers[o][t]},n.prototype.getItemSelectorGroupContainer=function(t,e){var n=void 0!==e?this.getItemSelectorParent(t,e):this.itemSelectorsContainer,o=e||\"Main\";if(void 0===this.itemSelectorGroupContainers[o]||void 0===this.itemSelectorGroupContainers[o][t]){void 0===this.itemSelectorGroupContainers[o]&&(this.itemSelectorGroupContainers[o]=[]);var i=Object.keys(this.itemSelectorGroupContainers[o]).map((function(t){return+t})).sort().filter((function(e){return e>t}))[0];this.itemSelectorGroupContainers[o][t]=this.createAndChangePrimitiveElement(new a.GroupPrimitive([],null,t),n,this.itemSelectorGroupContainers[o][i])}return this.itemSelectorGroupContainers[o][t]},n.prototype.getItemParent=function(t,e){return void 0!==e?this.itemChildElements[e]:this.getItemGroupContainer(t)},n.prototype.getItemSelectorParent=function(t,e){return void 0!==e?this.itemChildElements[e]:this.getItemSelectorGroupContainer(t)},n.prototype.notifySelectionChanged=function(t){var e=this,n=d.ModelUtils.createSelectedItems(t),o=[];this.populateItems(o,n,this.selectedItems),this.populateItems(o,this.selectedItems,n),this.selectedItems=n,o.forEach((function(t){t instanceof h.Connector&&e.applyOrPostponeChanges([new r.ItemChange(t,r.ItemChangeType.UpdateClassName,!0)])}))},n.prototype.populateItems=function(t,e,n){Object.keys(e).forEach((function(o){n[o]||t.push(e[o])}))},n}(l.CanvasManager);e.CanvasItemsManager=f},916:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.CanvasManager=void 0;var r=n(2004),s=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.pendingChanges={},e.pendingRemoveChanges={},e.updatesLock=0,e}return i(e,t),e.prototype.beginUpdate=function(){this.updatesLock++},e.prototype.endUpdate=function(){this.updatesLock--,0===this.updatesLock&&this.applyPendingChanges()},e.prototype.getPendingChanges=function(){var t=this;return Object.keys(this.pendingChanges).map((function(e){return t.pendingChanges[e]}))},e.prototype.getPendingRemoveChanges=function(){var t=this;return Object.keys(this.pendingRemoveChanges).map((function(e){return t.pendingRemoveChanges[e]}))},e.prototype.applyPendingChanges=function(){var t=this.getPendingRemoveChanges();t.length&&(this.applyChangesCore(t),this.pendingRemoveChanges={});var e=this.getPendingChanges();e.length&&(this.applyChangesCore(e),this.pendingChanges={})},e.prototype.applyChangesCore=function(t){var e=this,n=[];t.forEach((function(t){e.applyChange(t)||n.push(t)})),n.length&&n.length!==t.length&&this.applyChangesCore(n)},e.prototype.postponeChanges=function(t){var e=this;t.forEach((function(t){if(t.type===r.ItemChangeType.Remove)e.pendingRemoveChanges[t.key]=t,delete e.pendingChanges[t.key];else if(e.pendingChanges[t.key])t.type===r.ItemChangeType.Create?e.pendingChanges[t.key]=t:t.type===r.ItemChangeType.UpdateStructure?e.pendingChanges[t.key].type===r.ItemChangeType.UpdateProperties&&(e.pendingChanges[t.key]=t):t.type===r.ItemChangeType.UpdateProperties?e.pendingChanges[t.key].type===r.ItemChangeType.Update&&(e.pendingChanges[t.key]=t):t.type===r.ItemChangeType.UpdateClassName&&e.pendingChanges[t.key].type===r.ItemChangeType.UpdateClassName&&(e.pendingChanges[t.key]=t);else{if(e.pendingRemoveChanges[t.key]&&t.type!==r.ItemChangeType.Create)throw new Error(\"Incorrect model changes sequence.\");e.pendingChanges[t.key]=t}}))},e.prototype.applyOrPostponeChanges=function(t){0===this.updatesLock?this.applyChangesCore(t):this.postponeChanges(t)},e.prototype.notifyModelChanged=function(t){this.applyOrPostponeChanges(t)},e.prototype.notifyPageColorChanged=function(t){},e.prototype.notifyPageSizeChanged=function(t,e){},e}(n(7716).CanvasManagerBase);e.CanvasManager=s},7716:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.CanvasManagerBase=e.PAGE_BG_TEXTFLOOR_FILTER_IDPREFIX=void 0;var o=n(3360),i=n(9291);e.PAGE_BG_TEXTFLOOR_FILTER_IDPREFIX=\"page-text-flood\";var r=function(){function t(t,e,n){this.elements={},this.instanceId=n,this.actualZoom=t,this.dom=e}return t.prototype.createAndChangePrimitivesElements=function(t,e){var n=this;t.forEach((function(t){n.createAndChangePrimitiveElement(t,e)}))},t.prototype.createPrimitiveElement=function(t,e,n){return this.dom.createElement(t,e,n)},t.prototype.createAndChangePrimitiveElement=function(t,e,n){var o=this.createPrimitiveElement(t,e,n);return this.dom.changeByPrimitive(o,t),o},t.prototype.changePrimitiveElement=function(t,e){this.dom.changeByPrimitive(e,t)},t.prototype.getOrCreateElement=function(t,e,n,o){var i=t&&this.elements[t]||(this.elements[t]=this.createPrimitiveElement(e,n,o));return this.changePrimitiveElement(e,i),i},t.prototype.createTextFloodFilter=function(t,n,i,r){this.getOrCreateElement(n,new o.TextFloodFilterPrimitive(e.PAGE_BG_TEXTFLOOR_FILTER_IDPREFIX+t,r),i)},t.prototype.getAbsoluteSize=function(t){return t.clone().applyConverter(i.UnitConverter.twipsToPixelsF).clone().multiply(this.actualZoom,this.actualZoom)},t}();e.CanvasManagerBase=r},6043:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.CanvasPageManager=void 0;var r=n(1552),s=n(4716),a=n(7724),c=n(1932),u=n(4593),h=n(7716),p=n(6353),l=n(8900),d=n(3500),f=n(13),y=n(9291),g=function(t){function e(e,n,o,i){var r=t.call(this,n.zoomLevel,o,i)||this;return r.snapPoint=new l.Point(0,0),r.gridPatternId=d.RenderUtils.generateSvgElementId(\"gridPattern\"),r.pagesGridPatternId=d.RenderUtils.generateSvgElementId(\"pagesGridPattern\"),r.pagesGridClipId=d.RenderUtils.generateSvgElementId(\"pagesGridClip\"),r.pageColor=n.pageColor,r.modelSize=n.modelSize,r.simpleView=n.simpleView,r.gridSize=n.gridSize,r.gridVisible=n.gridVisible,r.pageSize=n.pageLandscape?new p.Size(n.pageSize.height,n.pageSize.width):n.pageSize,r.canvasViewOffset=new l.Point(0,0),r.initContainers(e),r}return i(e,t),e.prototype.initContainers=function(t){this.backgroundContainer=t},e.prototype.redraw=function(){this.redrawPage(this.pageColor),this.redrawGrid()},e.prototype.redrawPage=function(t){var e=new r.Style;e.fill=f.ColorUtils.colorToHash(t),this.getOrCreateElement(\"page-bg\",new s.RectanglePrimitive(0,0,\"100%\",\"100%\",e,\"page\"),this.backgroundContainer),this.createTextFloodFilter(this.instanceId,\"page-bg-textflood-filter\",this.backgroundContainer,t)},e.prototype.redrawGrid=function(){this.updateGridElements(),this.updatePagesGridElements()},e.prototype.getGridRectElement=function(t){return void 0===this.gridRectElement&&(this.gridRectElement=this.createPrimitiveElement(t,this.backgroundContainer)),this.gridRectElement},e.prototype.getGridPatternElement=function(t){return void 0===this.gridPatternElement&&(this.gridPatternElement=this.createPrimitiveElement(t,this.backgroundContainer)),this.gridPatternElement},e.prototype.updateGridElements=function(){var t=this,e=new s.RectanglePrimitive(\"0\",\"0\",\"100%\",\"100%\",null,\"grid\",null,(function(e){e.style.setProperty(\"fill\",d.RenderUtils.getUrlPathById(t.gridPatternId))})),n=this.getGridRectElement(e);if(this.gridVisible){n.style.display=\"\",this.changePrimitiveElement(e,n);for(var o=y.UnitConverter.twipsToPixelsF(this.gridSize)*this.actualZoom,i=[0,1,2,3,4].map((function(t){return Math.round(o*t)})),r=[new a.PathPrimitiveMoveToCommand(i[4].toString(),\"0\"),new a.PathPrimitiveLineToCommand(i[4].toString(),i[4].toString()),new a.PathPrimitiveLineToCommand(\"0\",i[4].toString())],u=[],h=1;h<=3;h++)u.push(new a.PathPrimitiveMoveToCommand(i[h].toString(),\"0\")),u.push(new a.PathPrimitiveLineToCommand(i[h].toString(),i[4].toString()));for(h=1;h<=3;h++)u.push(new a.PathPrimitiveMoveToCommand(\"0\",i[h].toString())),u.push(new a.PathPrimitiveLineToCommand(i[4].toString(),i[h].toString()));var p=4*o,f=this.simpleView?this.canvasViewOffset:l.Point.zero(),g=new c.PatternPrimitive(this.gridPatternId,[this.createGridPathPrimitive(r,\"grid-outer-line\"),this.createGridPathPrimitive(u,\"grid-inner-line\")],this.createGridPatternPrimitivePosition(f.x,this.snapPoint.x,p),this.createGridPatternPrimitivePosition(f.y,this.snapPoint.y,p),p.toString(),p.toString());this.changePrimitiveElement(g,this.getGridPatternElement(g))}else n.style.display=\"none\"},e.prototype.createGridPatternPrimitivePosition=function(t,e,n){return(((t+e*this.actualZoom)%n-n)%n).toString()},e.prototype.createGridPathPrimitive=function(t,e){return new a.PathPrimitive(t,r.StrokeStyle.default1pxNegativeOffsetInstance,e)},e.prototype.getPagesGridRectElement=function(t){return this.getOrCreateElement(\"grid-pages-rect\",t,this.backgroundContainer)},e.prototype.getPagesGridClipPathElement=function(t){return void 0===this.pagesGridClipPathElement&&(this.pagesGridClipPathElement=this.createPrimitiveElement(t,this.backgroundContainer)),this.pagesGridClipPathElement},e.prototype.getPagesGridPatternElement=function(t){return void 0===this.pagesGridPatternElement&&(this.pagesGridPatternElement=this.createPrimitiveElement(t,this.backgroundContainer)),this.pagesGridPatternElement},e.prototype.updatePagesGridElements=function(){var t=this,e=this.getAbsoluteSize(this.pageSize),n=new s.RectanglePrimitive(\"0\",\"0\",\"100%\",\"100%\",null,\"grid-page\",this.pagesGridClipId,(function(e){e.style.setProperty(\"fill\",d.RenderUtils.getUrlPathById(t.pagesGridPatternId)),e.style.setProperty(\"display\",t.simpleView?\"none\":\"\")}));if(this.getPagesGridRectElement(n),!this.simpleView){var o=this.modelSize.clone().multiply(this.actualZoom,this.actualZoom),i=[new a.PathPrimitiveMoveToCommand((e.width-1).toString(),\"0\"),new a.PathPrimitiveLineToCommand((e.width-1).toString(),(e.height-1).toString()),new a.PathPrimitiveLineToCommand(\"0\",(e.height-1).toString())],r=new c.PatternPrimitive(this.pagesGridPatternId,[new a.PathPrimitive(i,null,\"pages-grid-line\")],0,0,e.width.toString(),e.height.toString());this.changePrimitiveElement(r,this.getPagesGridPatternElement(r));var h=new u.ClipPathPrimitive(this.pagesGridClipId,[new s.RectanglePrimitive(0,0,(y.UnitConverter.twipsToPixelsF(o.width)-4).toString(),(y.UnitConverter.twipsToPixelsF(o.height)-4).toString())]);this.changePrimitiveElement(h,this.getPagesGridClipPathElement(h))}},e.prototype.notifyModelSizeChanged=function(t,e){this.modelSize=t.clone(),this.redraw()},e.prototype.notifyModelRectangleChanged=function(t){},e.prototype.notifySnapPointPositionChanged=function(t){this.snapPoint=t.clone().applyConverter(y.UnitConverter.twipsToPixelsF),this.redrawGrid()},e.prototype.notifyPageColorChanged=function(t){this.pageColor=t,this.redrawPage(this.pageColor)},e.prototype.notifyModelChanged=function(t){},e.prototype.notifyPageSizeChanged=function(t,e){this.pageSize=e?new p.Size(t.height,t.width):t.clone(),this.redraw()},e.prototype.notifyActualZoomChanged=function(t){this.actualZoom=t,this.redraw()},e.prototype.notifyViewAdjusted=function(t){this.canvasViewOffset.equals(t)||(this.canvasViewOffset=t,this.simpleView&&this.redraw())},e.prototype.notifyViewChanged=function(t){this.simpleView=t,this.redraw()},e.prototype.notifyGridChanged=function(t,e){this.gridVisible=t,this.gridSize=e,this.redraw()},e}(h.CanvasManagerBase);e.CanvasPageManager=g},4e3:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.CanvasSelectionManager=e.ACTIVE_SELECTION_CSSCLASS=e.SELECTION_ELEMENT_CLASSNAMES=void 0;var r=n(7716),s=n(5329),a=n(3500),c=n(6031),u=n(3742),h=n(8675),p=n(8900),l=n(371),d=n(5503),f=n(7959),y=n(4612),g=n(4716),m=n(7724),v=n(9416),P=n(418),C=n(1552),S=n(9291),x=n(4246),b=n(9279),I=n(6907),w=n(8693),_=n(916),T=n(5596),O=n(8679),M=n(4867),E=\"-1\";e.SELECTION_ELEMENT_CLASSNAMES={SELECTION_RECTANGLE:\"selection-rect\",CONNECTION_POINT:\"connection-point\",ACTIVE:\"active\",CONTAINER_TARGET:\"container-target\",CONNECTION_TARGET:\"connection-target\",EXTENSION_LINE:\"extension-line\",CONNECTION_MARK:\"connection-mark\",SELECTION_MARK:\"selection-mark\",LOCKED_SELECTION_MARK:\"locked-selection-mark\",ITEMS_SELECTION_RECT:\"items-selection-rect\",CONNECTOR_MULTI_SELECTION:\"connector-multi-selection\",CONNECTOR_SELECTION:\"connector-selection\",CONNECTOR_POINT_MARK:\"connector-point-mark\",CONNECTOR_SELECTION_MASK:\"connector-selection-mask\",CONNECTOR_SIDE_MARK:\"connector-side-mark\",ITEM_SELECTION_RECT:\"item-selection-rect\",ITEM_MULTI_SELECTION:\"item-multi-selection-rect\"},e.ACTIVE_SELECTION_CSSCLASS=\"dxdi-active-selection\";var D=function(t){function n(e,n,o,i,r){var s=t.call(this,n,i,r)||this;return s.readOnly=o,s.connectionPointElements=[],s.extensionLineElements=[],s.selectionMap={},s.parentContainer=e,s.initializeContainerElements(e),s}return i(n,t),n.prototype.initializeContainerElements=function(t){this.itemSelectionContainer=this.createAndChangePrimitiveElement(new s.GroupPrimitive([],null),t),this.visualizersContainer=this.createAndChangePrimitiveElement(new s.GroupPrimitive([],null),t),this.selectionMarksContainer=this.createAndChangePrimitiveElement(new s.GroupPrimitive([],null),t)},n.prototype.clear=function(){a.RenderUtils.removeContent(this.itemSelectionContainer),a.RenderUtils.removeContent(this.selectionMarksContainer),a.RenderUtils.removeContent(this.visualizersContainer),this.selectionRectElement=void 0,this.resizeInfoElement=void 0,this.connectionPointElements=[],this.connectionTargetElement=void 0,this.containerTargetElement=void 0,this.extensionLineElements=[],this.selectionMap={}},n.prototype.showSelectionRect=function(t){I.DomUtils.addClassName(this.parentContainer,e.ACTIVE_SELECTION_CSSCLASS);var n=new g.RectanglePrimitive(t.x,t.y,t.width,t.height,C.StrokeStyle.default1pxInstance,e.SELECTION_ELEMENT_CLASSNAMES.SELECTION_RECTANGLE),o=this.getSelectionRectElement(n);this.changePrimitiveElement(n,o)},n.prototype.hideSelectionRect=function(){I.DomUtils.removeClassName(this.parentContainer,e.ACTIVE_SELECTION_CSSCLASS),void 0!==this.selectionRectElement&&this.dom.changeByFunc(this.selectionRectElement,(function(t){return t.style.display=\"none\"}))},n.prototype.getSelectionRectElement=function(t){return void 0!==this.selectionRectElement?this.dom.changeByFunc(this.selectionRectElement,(function(t){return t.style.display=\"\"})):this.selectionRectElement=this.createPrimitiveElement(t,this.visualizersContainer),this.selectionRectElement},n.prototype.showResizeInfo=function(t,e){var o=new g.RectanglePrimitive(t.x,t.y,0,0,C.StrokeStyle.default1pxInstance),i=new s.GroupPrimitive([o,new v.TextPrimitive(t.x,t.y,e,x.TextOwner.Resize)],\"resize-info\"),r=this.getResizeInfoElement(i);this.changePrimitiveElement(i,r);var a=this.dom.measurer.measureTextLine(e,null,x.TextOwner.Resize).applyConverter(S.UnitConverter.pixelsToTwips);o.width=a.width+2*n.resizeInfoTextOffset,o.height=a.height+2*n.resizeInfoTextOffset,o.x=t.x-a.width/2-n.resizeInfoTextOffset,o.y=t.y-a.height/2-n.resizeInfoTextOffset,this.changePrimitiveElement(i,r)},n.prototype.hideResizeInfo=function(){void 0!==this.resizeInfoElement&&this.dom.changeByFunc(this.resizeInfoElement,(function(t){return t.style.display=\"none\"}))},n.prototype.getResizeInfoElement=function(t){return void 0!==this.resizeInfoElement?this.dom.changeByFunc(this.resizeInfoElement,(function(t){return t.style.display=\"\"})):this.resizeInfoElement=this.createPrimitiveElement(t,this.visualizersContainer),this.resizeInfoElement},n.prototype.getConnectionPointClassName=function(t,n){var o=e.SELECTION_ELEMENT_CLASSNAMES.CONNECTION_POINT;return t&&(o+=\" \"+e.SELECTION_ELEMENT_CLASSNAMES.ACTIVE),n||(o+=\" \"+w.NOT_VALID_CSSCLASS),o},n.prototype.showConnectionPoint=function(t,o,i,r,s,a){this.showConnectionPointCore(2*t,o.x,o.y,n.connectionPointLargeSize,n.connectionPointLargeSize,c.MouseEventElementType.ShapeConnectionPoint,i,r,e.SELECTION_ELEMENT_CLASSNAMES.CONNECTION_POINT+\" selector\"+(a?\"\":\" \"+w.NOT_VALID_CSSCLASS)),this.showConnectionPointCore(2*t+1,o.x,o.y,n.connectionPointSmallSize,n.connectionPointSmallSize,c.MouseEventElementType.ShapeConnectionPoint,i,r,this.getConnectionPointClassName(s,a))},n.prototype.showConnectionPointCore=function(t,e,n,o,i,r,s,c,u){var h=new P.EllipsePrimitive(e,n,o,i,null,u,(function(t){return a.RenderUtils.setElementEventData(t,r,s,c)})),p=this.getConnectionPointElement(h,t);this.changePrimitiveElement(h,p)},n.prototype.hideConnectionPoints=function(){for(var t=0;t1,r=t.getSelectedShapes(!0).filter((function(t){return e.selectionCanBeDrawn(t)})),s=t.getSelectedConnectors(!0).filter((function(t){return e.selectionCanBeDrawn(t)}));if(r.forEach((function(t){return e.getOrCreateShapeSelection(t,o).onSelectionChanged(i)})),s.forEach((function(t){return e.getOrCreateConnectorSelection(t,o).onSelectionChanged(i)})),i){var a=n.length>0?n[0].strokeWidth:0,c={};n.filter((function(t){return!t.isLocked})).forEach((function(t){return c[t.key]=t.rectangle})),this.getOrCreateMultipleSelection(o).onSelectionChanged(!!r.filter((function(t){return!t.isLocked})).length,a,c)}this.hideOutdatedSelection(o)},n.prototype.applyChangesCore=function(e){t.prototype.applyChangesCore.call(this,e);var n=this.getMultipleSelection();n&&n.onModelChanged()},n.prototype.applyChange=function(t){var e=this.getMultipleSelection();t.item instanceof d.Shape?this.updateShapeSelection(t.item,e):t.item instanceof f.Connector&&this.updateConnectorSelection(t.item,e)},n.prototype.notifyPageColorChanged=function(t){},n.prototype.notifyPageSizeChanged=function(t,e){},n.prototype.notifyActualZoomChanged=function(t){var e=this;Object.keys(this.selectionMap).forEach((function(n){return e.selectionMap[n].notifyZoomChanged(t)})),this.actualZoom=t},n.prototype.notifyViewAdjusted=function(t){},n.prototype.notifyReadOnlyChanged=function(t){var e=this;this.readOnly=t,Object.keys(this.selectionMap).forEach((function(n){return e.selectionMap[n].notifyReadOnlyChanged(t)}))},n.prototype.notifySelectionRectShow=function(t){this.showSelectionRect(t.clone().multiply(this.actualZoom,this.actualZoom))},n.prototype.notifySelectionRectHide=function(){this.hideSelectionRect()},n.prototype.notifyResizeInfoShow=function(t,e){this.showResizeInfo(t.clone().multiply(this.actualZoom,this.actualZoom),e)},n.prototype.notifyResizeInfoHide=function(){this.hideResizeInfo()},n.prototype.notifyConnectionPointsShow=function(t,e,o,i){var r=this;this.hideConnectionPoints(),e.forEach((function(e,s){var a=e.point.clone().multiply(r.actualZoom,r.actualZoom);if(i)switch(e.side){case u.ConnectionPointSide.North:a.y=i.y*r.actualZoom-n.connectionPointShift;break;case u.ConnectionPointSide.South:a.y=i.bottom*r.actualZoom+n.connectionPointShift;break;case u.ConnectionPointSide.West:a.x=i.x*r.actualZoom-n.connectionPointShift;break;case u.ConnectionPointSide.East:a.x=i.right*r.actualZoom+n.connectionPointShift}r.showConnectionPoint(s,a,t,s,s===o,e.allowed)}))},n.prototype.notifyConnectionPointsHide=function(){this.hideConnectionPoints()},n.prototype.notifyConnectionTargetShow=function(t,e){if(e.allowed){var o=n.correctSelectionRect(e.rect.clone().multiply(this.actualZoom,this.actualZoom),e.strokeWidth,n.connectionTargetBorderWidth,this.actualZoom,0);this.showConnectionTarget(0,o)}},n.prototype.notifyConnectionTargetHide=function(){this.hideConnectionTarget()},n.prototype.notifyContainerTargetShow=function(t,e){var o=n.correctSelectionRect(e.rect.clone().multiply(this.actualZoom,this.actualZoom),e.strokeWidth,n.connectionTargetBorderWidth,this.actualZoom,0);this.showContainerTarget(0,o)},n.prototype.notifyContainerTargetHide=function(){this.hideContainerTarget()},n.prototype.notifyExtensionLinesShow=function(t){var e=this;this.hideExtensionLines(),t.forEach((function(t,n){e.showExtensionLine(n,t.type,t.segment.startPoint.clone().multiply(e.actualZoom,e.actualZoom),t.segment.endPoint.clone().multiply(e.actualZoom,e.actualZoom),t.text)}))},n.prototype.notifyExtensionLinesHide=function(){this.hideExtensionLines()},n.prototype.notifyDragStart=function(t){this.dom.changeByFunc(this.selectionMarksContainer,(function(t){return t.style.display=\"none\"}))},n.prototype.notifyDragEnd=function(t){this.dom.changeByFunc(this.selectionMarksContainer,(function(t){return t.style.display=\"\"}))},n.prototype.notifyDragScrollStart=function(){},n.prototype.notifyDragScrollEnd=function(){},n.prototype.notifyTextInputStart=function(t,e,n,o){this.dom.changeByFunc(this.visualizersContainer,(function(t){return t.style.display=\"none\"}))},n.prototype.notifyTextInputEnd=function(t,e){this.dom.changeByFunc(this.visualizersContainer,(function(t){return t.style.display=\"\"}))},n.prototype.notifyTextInputPermissionsCheck=function(t,e){},n.correctSelectionRect=function(t,e,o,i,r){void 0===r&&(r=n.selectionOffset);var s=S.UnitConverter.twipsToPixels(e)%2!=S.UnitConverter.twipsToPixels(o)%2,a=Math.ceil(e/2*i);t=t.clone().inflate(a,a);var c=Math.floor(o/2);if(t.x-=c,t.y-=c,t.width+=o,t.height+=o,s){var u=n.evenOddSelectionCorrection*(S.UnitConverter.twipsToPixels(o)%2==1?-1:1);t=t.clone().moveRectangle(u,u)}return t.clone().inflate(r,r)},n.selectionMarkSize=S.UnitConverter.pixelsToTwips(10),n.lockedSelectionMarkSize=S.UnitConverter.pixelsToTwips(8),n.selectionOffset=S.UnitConverter.pixelsToTwips(2),n.selectionRectLineWidth=S.UnitConverter.pixelsToTwips(1),n.multiSelectionRectLineWidth=S.UnitConverter.pixelsToTwips(1),n.connectionPointSmallSize=S.UnitConverter.pixelsToTwips(5),n.connectionPointLargeSize=S.UnitConverter.pixelsToTwips(12),n.connectionPointShift=S.UnitConverter.pixelsToTwips(16),n.connectionTargetBorderWidth=S.UnitConverter.pixelsToTwips(2),n.geomertyMarkSize=S.UnitConverter.pixelsToTwips(8),n.connectorPointMarkSize=S.UnitConverter.pixelsToTwips(6),n.connectorSideMarkSize=S.UnitConverter.pixelsToTwips(6),n.extensionLineWidth=S.UnitConverter.pixelsToTwips(1),n.extensionLineOffset=S.UnitConverter.pixelsToTwips(1),n.extensionLineEndingSize=S.UnitConverter.pixelsToTwips(6),n.resizeInfoOffset=S.UnitConverter.pixelsToTwips(16),n.resizeInfoTextOffset=S.UnitConverter.pixelsToTwips(2),n.resizeInfoLineWidth=S.UnitConverter.pixelsToTwips(1),n.evenOddSelectionCorrection=S.UnitConverter.pixelsToTwips(1),n}(_.CanvasManager);e.CanvasSelectionManager=D;var A=function(){function t(t,e,n,o,i,r){this.rectsContainer=t,this.marksContainer=e,this.key=n,this.zoomLevel=o,this.readOnly=i,this.dom=r,this.elements={},this.updatedElements={}}return t.prototype.notifyZoomChanged=function(t){this.zoomLevel!==t&&(this.zoomLevel=t,this.redraw())},t.prototype.notifyReadOnlyChanged=function(t){this.readOnly=t,this.redraw()},t.prototype.destroy=function(){var t=this;Object.keys(this.elements).forEach((function(e){t.elements[e].parentNode.removeChild(t.elements[e]),delete t.elements[e]}))},t.prototype.redraw=function(){var t=this;this.updatedElements={},this.redrawCore(),Object.keys(this.elements).filter((function(e){return!t.updatedElements[e]})).forEach((function(e){t.elements[e].parentNode.removeChild(t.elements[e]),delete t.elements[e]})),this.updatedElements={}},t.prototype.drawSelectionMarks=function(t,n,o){if(!this.readOnly){var i=n&&t.height>3*D.selectionMarkSize,r=o&&t.width>3*D.selectionMarkSize,s=n||o;s&&this.drawSelectionMark(0,new p.Point(t.x,t.y),D.selectionMarkSize,c.MouseEventElementType.ShapeResizeBox,c.ResizeEventSource.ResizeBox_NW,e.SELECTION_ELEMENT_CLASSNAMES.SELECTION_MARK),r&&!b.Browser.TouchUI&&this.drawSelectionMark(1,new p.Point(t.x+t.width/2,t.y),D.selectionMarkSize,c.MouseEventElementType.ShapeResizeBox,c.ResizeEventSource.ResizeBox_N,e.SELECTION_ELEMENT_CLASSNAMES.SELECTION_MARK),s&&this.drawSelectionMark(2,new p.Point(t.right,t.y),D.selectionMarkSize,c.MouseEventElementType.ShapeResizeBox,c.ResizeEventSource.ResizeBox_NE,e.SELECTION_ELEMENT_CLASSNAMES.SELECTION_MARK),i&&!b.Browser.TouchUI&&this.drawSelectionMark(3,new p.Point(t.right,t.y+t.height/2),D.selectionMarkSize,c.MouseEventElementType.ShapeResizeBox,c.ResizeEventSource.ResizeBox_E,e.SELECTION_ELEMENT_CLASSNAMES.SELECTION_MARK),s&&this.drawSelectionMark(4,new p.Point(t.right,t.bottom),D.selectionMarkSize,c.MouseEventElementType.ShapeResizeBox,c.ResizeEventSource.ResizeBox_SE,e.SELECTION_ELEMENT_CLASSNAMES.SELECTION_MARK),r&&!b.Browser.TouchUI&&this.drawSelectionMark(5,new p.Point(t.x+t.width/2,t.bottom),D.selectionMarkSize,c.MouseEventElementType.ShapeResizeBox,c.ResizeEventSource.ResizeBox_S,e.SELECTION_ELEMENT_CLASSNAMES.SELECTION_MARK),s&&this.drawSelectionMark(6,new p.Point(t.x,t.bottom),D.selectionMarkSize,c.MouseEventElementType.ShapeResizeBox,c.ResizeEventSource.ResizeBox_SW,e.SELECTION_ELEMENT_CLASSNAMES.SELECTION_MARK),i&&!b.Browser.TouchUI&&this.drawSelectionMark(7,new p.Point(t.x,t.y+t.height/2),D.selectionMarkSize,c.MouseEventElementType.ShapeResizeBox,c.ResizeEventSource.ResizeBox_W,e.SELECTION_ELEMENT_CLASSNAMES.SELECTION_MARK)}},t.prototype.drawSelectionMark=function(t,e,n,o,i,r){var s=this;this.getOrCreateElement(\"SM\"+t,new g.RectanglePrimitive(e.x-n/2,e.y-n/2,n,n,null,r,void 0,(function(t){a.RenderUtils.setElementEventData(t,o,s.key,i)})),this.marksContainer)},t.prototype.drawSelectionRect=function(t,e,n){var o=new g.RectanglePrimitive(t.x,t.y,t.width,t.height,C.StrokeStyle.default1pxInstance,n,void 0,(function(t){a.RenderUtils.setElementEventData(t,e,\"-1\",-1)}));this.getOrCreateElement(\"shapeSelection\",o,this.rectsContainer)},t.prototype.getOrCreateElement=function(t,e,n){var o=this.elements[t];return o||(o=e.createElement((function(t){return n.appendChild(t)})),this.elements[t]=o),this.updatedElements[t]=!0,this.dom.changeByPrimitive(o,e),o},t}(),R=function(t){function e(e,n,o,i,r,s,a,c){var u=t.call(this,e,n,o,i,r,s)||this;return u.isLocked=a,u.rectangle=c,u}return i(e,t),e.prototype.onSelectionChanged=function(t){this.isMultipleSelection!==t&&(this.isMultipleSelection=t,this.redraw())},e.prototype.isLockedRender=function(){return this.isLocked&&!this.readOnly},e.prototype.drawLockedSelectionMark=function(t,e,n,o){var i=new m.PathPrimitive([new m.PathPrimitiveMoveToCommand(e.x-n/2,e.y-n/2),new m.PathPrimitiveLineToCommand(e.x+n/2,e.y+n/2),new m.PathPrimitiveMoveToCommand(e.x+n/2,e.y-n/2),new m.PathPrimitiveLineToCommand(e.x-n/2,e.y+n/2)],null,o);this.getOrCreateElement(\"LSM\"+t,i,this.marksContainer)},e}(A),L=function(t){function n(e,n,o,i,r){var s=t.call(this,e,n,\"-1\",o,i,r)||this;return s.rectangles={},s}return i(n,t),n.prototype.onModelItemChanged=function(t,e){t in this.rectangles&&(this.rectangles[t]=e)},n.prototype.onModelChanged=function(){this.redraw()},n.prototype.onSelectionChanged=function(t,e,n){this.needDrawSelectionMarks=t,this.strokeWidth=e,this.rectangles=n,this.redraw()},n.prototype.redrawCore=function(){var t=this,n=Object.keys(this.rectangles);if(n.length){var o=h.GeometryUtils.getCommonRectangle(n.map((function(e){return t.rectangles[e]}))).clone().multiply(this.zoomLevel,this.zoomLevel),i=D.correctSelectionRect(o,this.strokeWidth,D.selectionRectLineWidth,this.zoomLevel);this.drawSelectionRect(i,c.MouseEventElementType.SelectionRect,e.SELECTION_ELEMENT_CLASSNAMES.ITEMS_SELECTION_RECT),this.needDrawSelectionMarks&&this.drawSelectionMarks(o,!0,!0)}},n}(A),N=function(t){function n(e,n,o,i,r,s,a,c,u,h,p,l){var d=t.call(this,e,n,s,o,i,r,a,c)||this;return d.style=u,d.allowResizeHorizontally=h,d.allowResizeVertically=p,d.shapeParameterPoints=l,d}return i(n,t),n.prototype.onModelChanged=function(t,e,n,o,i,r){this.isLocked=t,this.rectangle=e,this.style=n,this.allowResizeHorizontally=o,this.allowResizeVertically=i,this.shapeParameterPoints=r,this.redraw()},n.prototype.redrawCore=function(){var t=this.rectangle.clone().multiply(this.zoomLevel,this.zoomLevel);this.isLockedRender()?this.drawLockedSelection(t):this.drawUnlockedSelection(t)},n.prototype.drawLockedSelection=function(t){this.drawLockedSelectionMark(0,new p.Point(t.x,t.y),D.lockedSelectionMarkSize,e.SELECTION_ELEMENT_CLASSNAMES.LOCKED_SELECTION_MARK),this.drawLockedSelectionMark(1,new p.Point(t.right,t.y),D.lockedSelectionMarkSize,e.SELECTION_ELEMENT_CLASSNAMES.LOCKED_SELECTION_MARK),this.drawLockedSelectionMark(2,new p.Point(t.right,t.bottom),D.lockedSelectionMarkSize,e.SELECTION_ELEMENT_CLASSNAMES.LOCKED_SELECTION_MARK),this.drawLockedSelectionMark(3,new p.Point(t.x,t.bottom),D.lockedSelectionMarkSize,e.SELECTION_ELEMENT_CLASSNAMES.LOCKED_SELECTION_MARK)},n.prototype.drawUnlockedSelection=function(t){var n=D.correctSelectionRect(t,this.style.strokeWidth,D.selectionRectLineWidth,this.zoomLevel);this.drawSelectionRect(n,c.MouseEventElementType.SelectionRect,this.isMultipleSelection?e.SELECTION_ELEMENT_CLASSNAMES.ITEM_MULTI_SELECTION:e.SELECTION_ELEMENT_CLASSNAMES.ITEM_SELECTION_RECT),this.isMultipleSelection||this.drawSelectionMarks(t,this.allowResizeHorizontally,this.allowResizeVertically),this.drawShapeParameterPoints()},n.prototype.drawShapeParameterPoints=function(){var t=this;this.readOnly||this.shapeParameterPoints.forEach((function(e,n){var o=e.point.clone().multiply(t.zoomLevel,t.zoomLevel);t.drawShapeParameterPoint(o,n,e.key)}))},n.prototype.drawShapeParameterPoint=function(t,e,n){var o=this,i=D.geomertyMarkSize,r=new g.RectanglePrimitive(t.x-i/2,t.y-i/2,i,i,null,\"geometry-mark\",void 0,(function(t){a.RenderUtils.setElementEventData(t,c.MouseEventElementType.ShapeParameterBox,o.key,n)}));this.getOrCreateElement(\"pp\"+e.toString(),r,this.marksContainer)},n}(R),z=function(t){function n(e,n,o,i,r,s,a,c,u,h,p,l,d,f,y){var g=t.call(this,e,n,s,o,i,r,a,c)||this;return g.renderPoints=u,g.style=h,g.styleText=p,g.enableText=l,g.texts=d,g.points=f,g.lineType=y,g}return i(n,t),n.prototype.onModelChanged=function(t,e,n,o,i,r,s,a,c){this.isLocked=t,this.rectangle=e,this.renderPoints=n,this.style=o,this.styleText=i,this.enableText=r,this.texts=s,this.points=a,this.lineType=c,this.redraw()},n.prototype.redrawCore=function(){this.isLockedRender()?this.drawLockedSelection():this.drawUnlockedSelection()},n.prototype.drawLockedSelection=function(){var t=this;this.renderPoints.forEach((function(n,o){t.drawLockedSelectionMark(o,n,D.lockedSelectionMarkSize,e.SELECTION_ELEMENT_CLASSNAMES.LOCKED_SELECTION_MARK)}))},n.prototype.drawUnlockedSelection=function(){this.drawConnectorSelection(),this.isMultipleSelection||this.readOnly||this.drawConnectorSelectionMarks()},n.prototype.drawConnectorSelection=function(){var t=[],n=[],o=this.isMultipleSelection?e.SELECTION_ELEMENT_CLASSNAMES.CONNECTOR_MULTI_SELECTION:e.SELECTION_ELEMENT_CLASSNAMES.CONNECTOR_SELECTION;this.populateSelectionPrimitiveCommands(t,n);var i=new m.PathPrimitive(t.concat(n.reverse()),C.StrokeStyle.default1pxInstance,o);this.getOrCreateElement(\"CS\",i,this.rectsContainer)},n.prototype.populateSelectionPrimitiveCommands=function(t,e){for(var n,o,i,r,s=this.texts,a=this.styleText.getAlignment(),c=this.createNotSkippedRenderPoints(),u=this.zoomLevel,p=this.style.strokeWidthPx,l=this.getSelectionOffset(p),d=p%2==0,f=c[0],y=0,g=1,v=void 0;v=c[g];g++){var P=c[g+1];if(void 0===n){if(o=T.Metrics.euclideanDistance(f,v),O.MathUtils.numberCloseTo(o,0))continue;n=h.GeometryUtils.getSelectionOffsetPoint(f,v,o).multiply(l,l)}if(P){if(r=T.Metrics.euclideanDistance(v,P),O.MathUtils.numberCloseTo(r,0))continue;i=h.GeometryUtils.getSelectionOffsetPoint(v,P,r).multiply(l,l)}var C=n.x,S=n.y,x=-C,b=-S,I=i&&i.x,w=i&&i.y,_=i&&-i.x,M=i&&-i.y;for(d&&(x>0?x-=D.evenOddSelectionCorrection:C>0&&(C-=D.evenOddSelectionCorrection),b>0?b-=D.evenOddSelectionCorrection:S>0&&(S-=D.evenOddSelectionCorrection),_>0?_-=D.evenOddSelectionCorrection:I>0&&(I-=D.evenOddSelectionCorrection),M>0?M-=D.evenOddSelectionCorrection:w>0&&(w-=D.evenOddSelectionCorrection));s[y]&&s[y].pointIndex<=g;){var E=s[y],A=this.getConnectorSelectionTextSize(E.text,l),R=h.GeometryUtils.getSelectionTextStartEndPoints(f,v,o,E.point,A,a);s[y].pointIndexn}if(this.lineType===y.ConnectorLineOption.Orthogonal){var o=0===e.pointIndex,i=h.GeometryUtils.areDuplicatedPoints(this.points[this.points.length-1],t);if(o&&i)return T.Metrics.euclideanDistance(t,e)>2*f.Connector.minOffset;if(!o&&i||o&&!i)return T.Metrics.euclideanDistance(t,e)>f.Connector.minOffset;n=D.selectionMarkSize+D.connectorSideMarkSize;return T.Metrics.euclideanDistance(t,e)>n}return!1},n}(R)},9757:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.CanvasViewManager=e.CROP_OFFSET=e.CANVAS_SCROLL_PADDING=e.CANVAS_MIN_PADDING=void 0;var r=n(7716),s=n(240),a=n(8675),c=n(4125),u=n(6353),h=n(8900),p=n(5329),l=n(4593),d=n(4716),f=n(3500),y=n(3281),g=n(1552),m=n(6907),v=n(9291);e.CANVAS_MIN_PADDING=8,e.CANVAS_SCROLL_PADDING=18,e.CROP_OFFSET=40;var P=\"dxdi-drag-scroll\",C=\"dxdi-drag-item\",S=function(t){function n(e,n,o,i,r,s,u,p,l){var d=t.call(this,i,p,l)||this;return d.svgElement=n,d.paddings=new c.Offsets(0,0,0,0),d.scroll=new h.Point(0,0),d.crop=c.Offsets.empty(),d.lockAutoZoom=!1,d.autoScrollLocker=0,d.pageClipPathId=f.RenderUtils.generateSvgElementId(\"page-clip\"),d.pageShadowId=f.RenderUtils.generateSvgElementId(\"page-shadow\"),d.onViewChanged=new a.EventDispatcher,e.onScroll.add(d),o=o.clone().applyConverter(v.UnitConverter.twipsToPixelsF),d.scrollView=e,d.modelSize=o,d.simpleView=s,d.fixedZoomLevel=i,d.autoZoom=r,d.crop=d.rectangleToCrop(u,o),d.updateElements(o.clone().multiply(i,i),h.Point.zero(),s),d.getOrCreateElement(\"shadow\",new y.ShadowFilterPrimitive(d.pageShadowId),d.svgElement),d.containerSize=e.getSize(),d}return i(n,t),n.prototype.adjust=function(t,e){var n;t||(t={vertical:!1,horizontal:!1},n=c.Offsets.empty()),this.containerSize=this.scrollView.getSize(),this.adjustCore(this.modelSize,this.fixedZoomLevel,this.autoZoom,this.simpleView,this.crop,t,this.containerSize,n,e),this.tryNormalizePaddings()},n.prototype.notifyModelSizeChanged=function(t,e){t=t.clone().applyConverter(v.UnitConverter.twipsToPixelsF);var n={horizontal:!e,vertical:!e};this.adjustCore(t,this.fixedZoomLevel,this.autoZoom,this.simpleView,this.crop,n,this.containerSize,e&&e.clone().applyConverter(v.UnitConverter.twipsToPixelsF)),this.modelSize=t},n.prototype.notifyModelRectangleChanged=function(t){var e=this.rectangleToCrop(t,this.modelSize);this.crop&&this.crop.equals(e)||(this.simpleView&&this.adjustCore(this.modelSize,this.fixedZoomLevel,this.autoZoom,this.simpleView,e,{horizontal:!1,vertical:!1},this.containerSize,c.Offsets.empty()),this.crop=e)},n.prototype.notifySnapPointPositionChanged=function(t){},n.prototype.notifyZoomChanged=function(t,e){this.adjustCore(this.modelSize,t,e,this.simpleView,this.crop,{horizontal:!1,vertical:!1},this.containerSize),this.fixedZoomLevel=t,this.autoZoom=e},n.prototype.notifyViewChanged=function(t){this.adjustCore(this.modelSize,this.fixedZoomLevel,this.autoZoom,t,this.crop,{vertical:!0,horizontal:!0},this.containerSize),this.simpleView=t},n.prototype.notifyGridChanged=function(t,e){},n.prototype.notifyDragStart=function(t){this.lockAutoZoom=!0,m.DomUtils.addClassName(this.svgElement,C)},n.prototype.notifyDragEnd=function(t){this.lockAutoZoom=!1,m.DomUtils.removeClassName(this.svgElement,C),this.adjustAfterDragEnd()},n.prototype.adjustAfterDragEnd=function(){this.autoZoom&&!this.autoZoomLocked&&this.adjust({horizontal:!0,vertical:this.autoZoom===s.AutoZoomMode.FitContent},this.autoZoom===s.AutoZoomMode.FitToWidth)},n.prototype.notifyShowContextToolbox=function(){this.autoZoomLocked=!0},n.prototype.notifyHideContextToolbox=function(){this.autoZoomLocked=!1,this.adjustAfterDragEnd()},n.prototype.notifyDragScrollStart=function(){m.DomUtils.addClassName(this.svgElement,P)},n.prototype.notifyDragScrollEnd=function(){m.DomUtils.removeClassName(this.svgElement,P)},n.prototype.notifyScrollChanged=function(t){this.scroll=t()},n.prototype.checkFitToCanvas=function(t){t=t||this.containerSize;var n=this.scrollView.getScrollBarWidth();t=t.clone().offset(2*-e.CANVAS_MIN_PADDING,2*-e.CANVAS_MIN_PADDING).nonNegativeSize();var o=this.getActualModelSizeWithoutZoom(this.modelSize,this.simpleView,this.crop).clone().multiply(this.actualZoom,this.actualZoom),i=this.checkScrollBars(t,n,o,c.Offsets.empty());return{vertical:(t=t.clone().offset(i.vertical?-n:0,i.horizontal?-n:0).nonNegativeSize()).height>=o.height,horizontal:t.width>=o.width}},n.prototype.rectangleToCrop=function(t,e){var n=t.clone().applyConverter(v.UnitConverter.twipsToPixelsF);return new c.Offsets(this.correctCrop(n.x),this.correctCrop(e.width-n.right),this.correctCrop(n.y),this.correctCrop(e.height-n.bottom))},n.prototype.correctCrop=function(t){return e.CROP_OFFSET*Math.floor(t/e.CROP_OFFSET)},n.prototype.setActualZoom=function(t){this.actualZoom!==t&&(this.actualZoom=t,this.raiseActualZoomChanged())},n.prototype.getActualAutoZoomLevel=function(t){if(t===s.AutoZoomMode.Disabled)return this.actualZoom;var e=this.containerSize,n=this.scrollView.getScrollBarWidth(),o=this.getActualModelSizeWithoutZoom(this.modelSize,this.simpleView,this.crop);return this.getActualAutoZoom(e,n,o,t)},n.prototype.getActualZoom=function(t,e,n,o,i){return this.lockAutoZoom?this.actualZoom:i===s.AutoZoomMode.Disabled?o:this.getActualAutoZoom(t,e,n,i)},n.prototype.getActualAutoZoom=function(t,n,o,i){return 0===t.width||0===t.height?1:i===s.AutoZoomMode.FitContent?Math.min((t.width-2*e.CANVAS_MIN_PADDING)/o.width,(t.height-2*e.CANVAS_MIN_PADDING)/o.height,1):Math.min((t.width-2*e.CANVAS_MIN_PADDING-n)/o.width,1)},n.prototype.raiseActualZoomChanged=function(){var t=this;this.onViewChanged.raise1((function(e){return e.notifyActualZoomChanged(t.actualZoom)}))},n.prototype.tryNormalizePaddings=function(){var t=this.scrollView.getScrollBarWidth(),e=this.getActualModelSizeWithoutZoom(this.modelSize,this.simpleView,this.crop).clone().multiply(this.actualZoom,this.actualZoom),n=new h.Point(this.paddings.left,this.paddings.top),o=new u.Size(this.paddings.right,this.paddings.bottom),i=this.getTailSpace(n,this.scroll,e,this.containerSize,t);i.equals(o)||this.applyChanges(new c.Offsets(n.x,i.width,n.y,i.height),e,this.simpleView,this.crop.clone().multiply(this.actualZoom))},n.prototype.scrollBy=function(t){var e,n,o,i=this.scroll,r=this.containerSize,s=this.scrollView.getScrollBarWidth(),a=this.getActualModelSizeWithoutZoom(this.modelSize,this.simpleView,this.crop).clone().multiply(this.actualZoom,this.actualZoom),p=this.checkScrollBars(r,s,a,this.paddings),l=new h.Point(this.paddings.left,this.paddings.top),d=new u.Size(this.paddings.right,this.paddings.bottom);return i=(e=this.changeScrollByOffset(l,i,d,a,t,r,p)).scroll,t=e.offset,l=(n=this.changeTranslateByOffset(l,d,t,p)).translate,t=n.offset,l=(o=this.cropHiddenHead(l,i)).translate,i=o.scroll,d=this.getTailSpace(l,i,a,r,s),this.applyChanges(new c.Offsets(l.x,d.width,l.y,d.height),a,this.simpleView,this.crop.clone().multiply(this.actualZoom),i),t},n.prototype.changeScrollByOffset=function(t,e,n,o,i,r,s){var a=e.clone(),c=i.clone();return i.x&&s.horizontal&&(a.x-=c.x=-this.getScrollDeltaByOffset(i.x,e.x,t.x+o.width+n.width,r.width,s.vertical)),i.y&&s.vertical&&(a.y-=c.y=-this.getScrollDeltaByOffset(i.y,e.y,t.y+o.height+n.height,r.height,s.horizontal)),{scroll:a,offset:c}},n.prototype.changeTranslateByOffset=function(t,e,n,o){var i=t.clone(),r=n.clone();return n.x&&!o.horizontal&&(i.x+=r.x=this.getTranslateDeltaByOffset(n.x,i.x,e.width)),n.y&&!o.vertical&&(i.y+=r.y=this.getTranslateDeltaByOffset(n.y,i.y,e.height)),{translate:i,offset:r}},n.prototype.getScrollDeltaByOffset=function(t,e,n,o,i){if(t>0)return-Math.min(e,t);var r=n-(o-(i?this.scrollView.getScrollBarWidth():0));return Math.min(r-e,-t)},n.prototype.getTranslateDeltaByOffset=function(t,n,o){return t?t<0?-Math.min(n-e.CANVAS_MIN_PADDING,-t):Math.min(o-e.CANVAS_MIN_PADDING,t):0},n.prototype.getActualModelSizeWithoutZoom=function(t,e,n){return e&&n?t.clone().offset(-n.horizontal,-n.vertical).nonNegativeSize():t},n.prototype.setScrollTo=function(t,n){var o=this.containerSize,i=this.getVisibileAreaAbsShift(),r=t.clone().applyConverter(v.UnitConverter.twipsToPixelsF).clone().multiply(this.actualZoom,this.actualZoom).clone().offset(i.x,i.y),s=this.scroll;n?(s.x+=r.x-n.x,s.y+=r.y-n.y):(r.x<0&&(s.x+=r.x-e.CANVAS_MIN_PADDING),r.y<0&&(s.y+=r.y-e.CANVAS_MIN_PADDING),r.x>o.width&&(s.x+=r.x-o.width+e.CANVAS_MIN_PADDING),r.y>o.height&&(s.y+=r.y-o.height+e.CANVAS_MIN_PADDING)),this.setScroll(s)},n.prototype.scrollIntoView=function(t){t=t.clone().applyConverter(v.UnitConverter.twipsToPixelsF).multiply(this.actualZoom,this.actualZoom).moveRectangle(this.paddings.left,this.paddings.top);var n=this.scroll,o=this.containerSize;if(!(t.x>=n.x&&t.y>=n.y&&t.right<=n.x+o.width&&t.bottom<=n.y+o.height)){var i=n.clone();t.xn.x+o.width&&(i.x=Math.min(t.x-e.CANVAS_SCROLL_PADDING,t.right+e.CANVAS_SCROLL_PADDING-o.width)),t.yv&&(y.x=v,g.x=0),s.right<0&&m.width>v&&(m.width=v,g.x>d.width&&(g.x=d.width)),s.top<0&&y.y>P&&(y.y=P,g.y=0),s.bottom<0&&m.height>P&&(m.height=P,g.y>d.height&&(g.y=d.height))}var C=new c.Offsets(y.x,m.width,y.y,m.height);this.applyChanges(C,d,i,f,g)},n.prototype.applyChanges=function(t,e,n,o,i){var r=this,s=new h.Point(t.left,t.top);n&&o&&(s=s.clone().offset(-o.left,-o.top)),this.updateElements(e,s,n),this.setSvgSize(e.width+t.horizontal,e.height+t.vertical),this.onViewChanged.raise1((function(t){return t.notifyViewAdjusted(new h.Point(s.x,s.y))})),i&&(this.lockAutoScroll(),i&&this.dom.changeByFunc(this.scrollView,(function(t){t.setScroll(i.x,i.y),r.unlockAutoScroll()})),this.scroll=i),this.paddings=t},n.prototype.isAutoScrollLocked=function(){return 0!==this.autoScrollLocker},n.prototype.lockAutoScroll=function(){this.autoScrollLocker++},n.prototype.unlockAutoScroll=function(){this.autoScrollLocker--},n.prototype.applyOffset=function(t,n,o,i,r){var s=t.clone(),a=n.clone(),c=this.getActualOffset(o,i,r);return c.left&&(s.x=Math.max(e.CANVAS_MIN_PADDING,s.x-c.left),a.x+=c.left-(t.x-s.x)),c.top&&(s.y=Math.max(e.CANVAS_MIN_PADDING,s.y-c.top),a.y+=c.top-(t.y-s.y)),{translate:s,scroll:a}},n.prototype.cropHiddenHead=function(t,n){var o=n.clone(),i=t.clone();if(o.x&&i.x>e.CANVAS_MIN_PADDING){var r=i.x-Math.max(e.CANVAS_MIN_PADDING,i.x-o.x);i.x-=r,o.x-=r}if(o.y&&i.y>e.CANVAS_MIN_PADDING){r=i.y-Math.max(e.CANVAS_MIN_PADDING,i.y-o.y);i.y-=r,o.y-=r}return{translate:i,scroll:o}},n.prototype.getTailSpace=function(t,n,o,i,r){var s=t.clone(),a=n.clone(),h=Math.max(i.width+a.x-(s.x+o.width),e.CANVAS_MIN_PADDING),p=Math.max(i.height+a.y-(s.y+o.height),e.CANVAS_MIN_PADDING),l=this.checkScrollBars(i,r,o,new c.Offsets(s.x,h,s.y,p));return l.vertical&&(h=Math.max(e.CANVAS_MIN_PADDING,h-r)),l.horizontal&&(p=Math.max(e.CANVAS_MIN_PADDING,p-r)),new u.Size(h,p)},n.prototype.getActualOffset=function(t,e,n){return new c.Offsets(-(e.left-t.left)+n.left,-(e.right-t.right)+n.right,-(e.top-t.top)+n.top,-(e.bottom-t.bottom)+n.bottom)},n.prototype.checkScrollBars=function(t,e,n,o){var i=t.widthi.width||t.y>i.height)return null;if(o.x<0||o.y<0)return null;if(o.x>this.modelSize.width||o.y>this.modelSize.height)return null}return o.clone().applyConverter(v.UnitConverter.pixelsToTwips)},n.prototype.getAbsolutePoint=function(t,e,n){var o=this.getVisibileAreaAbsShift(e),i=t.clone().multiply(this.actualZoom,this.actualZoom).clone().applyConverter(v.UnitConverter.twipsToPixelsF).clone().offset(o.x,o.y);if(n){if(i.x<0||i.y<0)return null;var r=this.containerSize;if(i.x>r.width||i.y>r.height)return null}return i},n}(r.CanvasManagerBase);e.CanvasViewManager=S},6078:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ExportDOMManipulator=e.DOMManipulator=void 0;var r=n(9463),s=function(){function t(t){this.measurer=t,this.queue=[]}return t.prototype.createElement=function(t,e,n){return t.createElement((function(t){null!=e&&(void 0!==n?e.insertBefore(t,n):e.appendChild(t))}))},t.prototype.changeChildrenByPrimitives=function(t,e){var n=this;t.forEach((function(t,o){var i=e.childNodes[o];n.changeByPrimitive(i,t)}))},t.prototype.changeByFunc=function(t,e){this.doChange(t,e)},t.prototype.changeByPrimitive=function(t,e){this.doChange(t,e)},t.prototype.cancelAnimation=function(){void 0!==this.rafId&&(cancelAnimationFrame(this.rafId),this.queue=[])},t.prototype.doChange=function(t,e){r.Diagnostics.optimizeUsingRAF?(this.queue.push([t,e]),this.requestAnimation()):this.doChangeSync(t,e)},t.prototype.doChangeSync=function(t,e){\"function\"==typeof e?e(t):e.applyElementProperties(t,this.measurer)},t.prototype.requestAnimation=function(){var t=this;if(!this.rafRequested){this.rafRequested=!0;var e=function(){t.queue.splice(0,2e3).forEach((function(e){return t.doChangeSync(e[0],e[1])})),t.queue.length?t.rafId=requestAnimationFrame(e):(t.rafRequested=!1,t.rafId=void 0)};this.rafId=requestAnimationFrame(e)}},t}();e.DOMManipulator=s;var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.doChange=function(t,e){this.doChangeSync(t,e)},e}(s);e.ExportDOMManipulator=a},741:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.InputManager=void 0;var o=n(2153),i=n(6907),r=n(3500),s=n(6031),a=n(5503),c=n(7959),u=n(3714),h=n(4246),p=n(9279),l=n(9291),d=n(1114),f=n(3490),y=n(8675),g=\"dxdi-text-input\",m=function(){function t(t,e,n,o,i,r){this.mainElement=t,this.layoutPointResolver=e,this.eventManager=n,this.textMeasurer=o,this.actualZoom=i,this.focusElementsParent=r,this.focused=!1,this.focusLocked=!1,this.createInputElements(this.mainElement,this.focusElementsParent)}return t.prototype.detachEvents=function(){this.detachInputElementEvents(),this.detachTextInputElementEvents()},t.prototype.isFocused=function(){return this.focused},t.prototype.captureFocus=function(t){t&&document.activeElement===this.textInputElement?y.HtmlFocusUtils.focusWithPreventScroll(this.textInputElement||this.inputElement):y.HtmlFocusUtils.focusWithPreventScroll(this.inputElement)},t.prototype.setClipboardData=function(t){this.clipboardInputElement.value=t,y.HtmlFocusUtils.focusWithPreventScroll(this.clipboardInputElement),this.clipboardInputElement.select(),document.execCommand(\"copy\"),this.captureFocus()},t.prototype.getClipboardData=function(t){var e=this;navigator&&navigator.clipboard?navigator.clipboard.readText().then((function(n){t(n),e.captureFocus()})).catch((function(){t(\"\"),e.captureFocus()})):p.Browser.IE&&(this.clipboardInputElement.value=\"\",y.HtmlFocusUtils.focusWithPreventScroll(this.clipboardInputElement),this.clipboardInputElement.select(),document.execCommand(\"Paste\"),t(this.clipboardInputElement.value),this.captureFocus())},t.prototype.isPasteSupportedByBrowser=function(){return p.Browser.IE||p.Browser.WebKitFamily&&navigator&&void 0!==navigator.clipboard},t.prototype.createInputElements=function(t,e){this.createFocusInputElement(e||t),this.createTextInputElement(t),this.createClipboardInputElement(e||t),this.attachInputElementEvents()},t.prototype.setInputElementFocusHandlerMode=function(t){this.textInputElementContainer.setAttribute(\"class\",\"dxdi-text-input-container\"),t&&this.captureFocus()},t.prototype.setInputElementTextInputMode=function(t,e,n,o,i,r){this.textInputElementContainer.setAttribute(\"class\",\"dxdi-text-input-container \"+i),this.textInputElement.value=t,this.setTextInputElementBounds(e,n,r),this.setTextInputElementStyle(o),this.updateTextInputPadding();var s=this.textInputElement||this.inputElement;y.HtmlFocusUtils.focusWithPreventScroll(s),s.select&&s.select()},t.prototype.setTextInputElementBounds=function(t,e,n){this.savedTextInputPosition=t,this.savedTextInputSize=e,this.savedTextInputAngle=n;var o=this.layoutPointResolver.getAbsolutePoint(t,!0);this.textInputElementContainer.style.left=o.x+\"px\",this.textInputElementContainer.style.top=o.y+\"px\",this.textInputElementContainer.style.width=e&&e.width+\"px\"||\"0px\",this.textInputElementContainer.style.height=e&&e.height+\"px\"||\"0px\";var i=[];this.textInputElementContainer.style.transform=\"\",1!==this.actualZoom&&i.push(\"scale(\"+this.actualZoom+\")\"),n&&i.push(\"rotate(\"+n+\"deg)\"),this.textInputElementContainer.style.transform=i.join(\" \"),this.textInputElement.style.width=e&&e.width+\"px\"||\"\",this.textInputElement.style.height=e&&e.height+\"px\"||\"auto\"},t.prototype.setTextInputElementStyle=function(t){this.savedTextInputStyle=t,r.RenderUtils.applyStyleToElement(t,this.textInputElement)},t.prototype.createFocusInputElement=function(t){this.inputElement=document.createElement(\"textarea\"),this.inputElement.readOnly=p.Browser.TouchUI,this.inputElement.setAttribute(\"class\",\"dxdi-focus-input\"),t.appendChild(this.inputElement)},t.prototype.attachInputElementEvents=function(){this.onInputBlurHandler=this.onInputBlur.bind(this),this.onInputFocusHandler=this.onInputFocus.bind(this),this.onInputKeyDownHandler=this.onInputKeyDown.bind(this),this.onInputKeyPressHandler=this.onInputKeyPress.bind(this),this.onInputKeyUpHandler=this.onInputKeyUp.bind(this),this.onPasteHandler=this.onPaste.bind(this),d.RenderHelper.addEventListener(this.inputElement,\"blur\",this.onInputBlurHandler),d.RenderHelper.addEventListener(this.inputElement,\"focus\",this.onInputFocusHandler),d.RenderHelper.addEventListener(this.inputElement,\"keydown\",this.onInputKeyDownHandler),d.RenderHelper.addEventListener(this.inputElement,\"keypress\",this.onInputKeyPressHandler),d.RenderHelper.addEventListener(this.inputElement,\"keyup\",this.onInputKeyUpHandler),d.RenderHelper.addEventListener(this.inputElement,\"paste\",this.onPasteHandler)},t.prototype.detachInputElementEvents=function(){d.RenderHelper.removeEventListener(this.inputElement,\"blur\",this.onInputBlurHandler),d.RenderHelper.removeEventListener(this.inputElement,\"focus\",this.onInputFocusHandler),d.RenderHelper.removeEventListener(this.inputElement,\"keydown\",this.onInputKeyDownHandler),d.RenderHelper.removeEventListener(this.inputElement,\"keypress\",this.onInputKeyPressHandler),d.RenderHelper.removeEventListener(this.inputElement,\"keyup\",this.onInputKeyUpHandler),d.RenderHelper.removeEventListener(this.inputElement,\"paste\",this.onPasteHandler)},t.prototype.createTextInputElement=function(t){this.textInputElementContainer=document.createElement(\"div\"),this.textInputElementContainer.setAttribute(\"class\",\"dxdi-text-input-container\"),t.appendChild(this.textInputElementContainer),this.textInputElement=document.createElement(\"textarea\"),this.textInputElement.setAttribute(\"class\",g),this.attachTextInputElementEvents(),this.textInputElementContainer.appendChild(this.textInputElement)},t.prototype.attachTextInputElementEvents=function(){this.onTextInputBlurHandler=this.onTextInputBlur.bind(this),this.onTextInputFocusHandler=this.onTextInputFocus.bind(this),this.onTextInputKeyDownHandler=this.onTextInputKeyDown.bind(this),this.onTextInputMouseWheelHandler=this.onTextInputMouseWheel.bind(this),this.onTextInputMouseUpHandler=this.onTextInputMouseUp.bind(this),this.onTextInputKeyUpHandler=this.onTextInputKeyUp.bind(this),this.onTextInputChangeHandler=this.onTextInputChange.bind(this),d.RenderHelper.addEventListener(this.textInputElement,\"mousewheel\",this.onTextInputMouseWheelHandler),d.RenderHelper.addEventListener(this.textInputElement,\"mouseup\",this.onTextInputMouseUpHandler),d.RenderHelper.addEventListener(this.textInputElement,\"blur\",this.onTextInputBlurHandler),d.RenderHelper.addEventListener(this.textInputElement,\"focus\",this.onTextInputFocusHandler),d.RenderHelper.addEventListener(this.textInputElement,\"keydown\",this.onTextInputKeyDownHandler),d.RenderHelper.addEventListener(this.textInputElement,\"keyup\",this.onTextInputKeyUpHandler),d.RenderHelper.addEventListener(this.textInputElement,\"change\",this.onTextInputChangeHandler)},t.prototype.detachTextInputElementEvents=function(){d.RenderHelper.removeEventListener(this.textInputElement,\"mousewheel\",this.onTextInputMouseWheelHandler),d.RenderHelper.removeEventListener(this.textInputElement,\"mouseup\",this.onTextInputMouseUpHandler),d.RenderHelper.removeEventListener(this.textInputElement,\"blur\",this.onTextInputBlurHandler),d.RenderHelper.removeEventListener(this.textInputElement,\"focus\",this.onTextInputFocusHandler),d.RenderHelper.removeEventListener(this.textInputElement,\"keydown\",this.onTextInputKeyDownHandler),d.RenderHelper.removeEventListener(this.textInputElement,\"keyup\",this.onTextInputKeyUpHandler),d.RenderHelper.removeEventListener(this.textInputElement,\"change\",this.onTextInputChangeHandler)},t.prototype.createClipboardInputElement=function(t){this.clipboardInputElement=document.createElement(\"textarea\"),this.clipboardInputElement.setAttribute(\"class\",\"dxdi-clipboard-input\"),t.appendChild(this.clipboardInputElement)},t.prototype.blurControl=function(){this.focusLocked||(this.focused=!1,i.DomUtils.removeClassName(this.mainElement,\"focused\"))},t.prototype.focusControl=function(){this.focused=!0,this.focusLocked=!1,i.DomUtils.addClassName(this.mainElement,\"focused\")},t.prototype.updateTextInputPadding=function(){var t=this.textInputElement.value;if(this.savedTextInputSize){n=this.textMeasurer.measureWords(t,this.savedTextInputStyle,h.TextOwner.Shape),o=f.getTextHeight(t,this.savedTextInputSize.width,n,!0);var e=Math.max(0,.5*(this.savedTextInputSize.height-o));this.textInputElement.style.paddingTop=Math.ceil(e)+\"px\",this.textInputElement.style.height=Math.floor(this.savedTextInputSize.height)+\"px\"}else{var n=this.textMeasurer.measureWords(\" \",this.savedTextInputStyle,h.TextOwner.Connector),o=f.getLineHeight(n)*((f.textToParagraphs(t).length||1)+1);this.textInputElement.style.height=Math.ceil(o)+\"px\"}},t.prototype.onInputBlur=function(t){var e=this;this.blurControl(),r.raiseEvent(t,this.getDiagramFocusEvent(t),(function(t){return e.eventManager.onBlur(t)}))},t.prototype.onInputFocus=function(t){var e=this;this.focusControl(),r.raiseEvent(t,this.getDiagramFocusEvent(t),(function(t){return e.eventManager.onFocus(t)}))},t.prototype.onInputKeyDown=function(t){var e=this;r.raiseEvent(t,this.getDiagramKeyboardEvent(t),(function(t){return e.eventManager.onKeyDown(t)}))},t.prototype.onInputKeyPress=function(t){!t.preventDefault||p.Browser.Safari&&\"KeyV\"===t.code||t.preventDefault()},t.prototype.onInputKeyUp=function(t){var e=this;r.raiseEvent(t,this.getDiagramKeyboardEvent(t),(function(t){return e.eventManager.onKeyUp(t)}))},t.prototype.onTextInputBlur=function(t){var e=this;if(this.eventManager.canFinishTextEditing())this.blurControl(),r.raiseEvent(t,this.getDiagramFocusEvent(t),(function(t){return e.eventManager.onTextInputBlur(t)}));else{var n=u.EvtUtils.getEventSource(t);document.activeElement!==n&&n.focus()}},t.prototype.onTextInputFocus=function(t){var e=this;this.focusControl(),r.raiseEvent(t,this.getDiagramFocusEvent(t),(function(t){return e.eventManager.onTextInputFocus(t)}))},t.prototype.onTextInputKeyDown=function(t){var e=this;r.raiseEvent(t,this.getDiagramKeyboardEvent(t),(function(t){return e.eventManager.onTextInputKeyDown(t)}))},t.prototype.onTextInputKeyUp=function(t){this.updateTextInputPadding()},t.prototype.onTextInputChange=function(t){this.updateTextInputPadding()},t.prototype.onPaste=function(t){var e=this;r.raiseEvent(t,this.getDiagramClipboardEvent(t),(function(t){return e.eventManager.onPaste(t)}))},t.prototype.onTextInputMouseWheel=function(t){this.mouseWheelHandler&&this.mouseWheelHandler(t)},t.prototype.onTextInputMouseUp=function(t){t.stopPropagation&&t.stopPropagation(),u.EvtUtils.cancelBubble(t)},t.prototype.getDiagramKeyboardEvent=function(t){return new s.DiagramKeyboardEvent(o.KeyUtils.getKeyModifiers(t),o.KeyUtils.getEventKeyCode(t),this.textInputElement.value)},t.prototype.getTextInputElementValue=function(){return this.textInputElement.value},t.prototype.getDiagramFocusEvent=function(t){return new s.DiagramFocusEvent(t.target.value)},t.prototype.getDiagramClipboardEvent=function(t){var e,n=t.clipboardData||t.originalEvent&&t.originalEvent.clipboardData;return e=void 0!==n?n.getData(\"text/plain\"):window.clipboardData.getData(\"Text\"),new s.DiagramClipboardEvent(e)},t.prototype.isTextInputElement=function(t){return\"string\"==typeof t.className&&t.className.indexOf(g)>-1},t.prototype.lockFocus=function(){var t=this;this.focusLocked=!0,setTimeout((function(){return t.focusLocked=!1}),10)},t.prototype.notifyViewAdjusted=function(t){},t.prototype.notifyActualZoomChanged=function(t){this.actualZoom=t,this.savedTextInputPosition&&this.savedTextInputSize&&this.setTextInputElementBounds(this.savedTextInputPosition,this.savedTextInputSize,this.savedTextInputAngle)},t.prototype.notifyTextInputStart=function(t,e,n,o){var i,r=\"\";t instanceof a.Shape?(r=\"shape-text\",i=t.textAngle):t instanceof c.Connector&&(r=\"connector-text\"),o=o&&o.clone().applyConverter(l.UnitConverter.twipsToPixels),this.setInputElementTextInputMode(e,n,o,t.styleText,r,i)},t.prototype.notifyTextInputEnd=function(t,e){this.setInputElementFocusHandlerMode(e)},t.prototype.notifyTextInputPermissionsCheck=function(t,e){},t}();e.InputManager=m},4246:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.TextOwner=void 0,function(t){t[t.Shape=0]=\"Shape\",t[t.Connector=1]=\"Connector\",t[t.ExtensionLine=2]=\"ExtensionLine\",t[t.Resize=3]=\"Resize\"}(e.TextOwner||(e.TextOwner={}))},1733:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.TextMeasurer=void 0;var o=n(6353),i=n(3500),r=n(5503),s=n(7959),a=n(4246),c=n(1114),u=n(3490),h=function(){function t(t){this.cache={},this.fontSizeCache={},this.containers={},this.parent=t,this.createNodes()}return t.prototype.measureWords=function(t,e,n){var o=this,i={words:{},fontSize:-1},r=\"string\"==typeof t?this.splitToWords(t,!1):t.reduce((function(t,e){return t.concat(o.splitToWords(e,!1))}),[]);r.push(\" \");var s=this.getStyleHash(e,n),a=this.tryLoadWordsToMeasurer(r,e,s,n,void 0,void 0,void 0,void 0,i);if(a){var c=this.containers[n];this.putElementsInDOM(c,a),this.beforeMeasureInDOM(),this.measureElementsInDOM(a,i),this.afterMeasureInDOM()}return i},t.prototype.measureTextLine=function(t,e,n){var o=this.measureWords(t,e,n);return u.getTextLineSize(t,o)},t.prototype.onNewModel=function(t,e){var n=this;e.changeByFunc(null,(function(){return n.onNewModelCore(t)}))},t.prototype.onNewModelCore=function(t){var e=t.filter((function(t){return t instanceof r.Shape})),n=t.filter((function(t){return t instanceof s.Connector})),o=this.tryLoadShapeTexts(e),i=this.tryLoadConnectorTexts(n);(o||i)&&(o&&this.putElementsInDOM(this.containers[a.TextOwner.Shape],o),i&&this.putElementsInDOM(this.containers[a.TextOwner.Connector],i),this.beforeMeasureInDOM(),o&&this.measureElementsInDOM(o),i&&this.measureElementsInDOM(i),this.afterMeasureInDOM())},t.prototype.replaceParent=function(t){this.parent!==t&&(this.mainElement.parentNode&&t.appendChild(this.mainElement),this.parent=t)},t.prototype.clean=function(){i.RenderUtils.removeElement(this.mainElement)},t.prototype.tryLoadShapeTexts=function(t){var e=this,n={},o=[],i=[],r=[];return t.forEach((function(t){var s=e.getStyleHash(t.styleText,a.TextOwner.Shape);e.tryLoadWordsToMeasurer(e.splitToWords(t.text,!0),t.styleText,s,a.TextOwner.Shape,n,o,i,r)})),o.length?{elements:o,hashes:i,styleHashes:r}:null},t.prototype.tryLoadConnectorTexts=function(t){var e=this,n={},o=[],i=[],r=[];return t.forEach((function(t){var s=t.texts.map((function(t){return t.value})).reduce((function(t,n){return t.concat(e.splitToWords(n,!1))}),[]);if(s.length){s.push(\" \");var c=e.getStyleHash(t.styleText,a.TextOwner.Connector);e.tryLoadWordsToMeasurer(s,t.styleText,c,a.TextOwner.Connector,n,o,i,r)}})),o.length?{elements:o,hashes:i,styleHashes:r}:null},t.prototype.tryLoadWordsToMeasurer=function(t,e,n,o,i,r,s,a,c){var u=this,h=[];return r=r||[],s=s||[],a=a||[],i=i||{},t.forEach((function(t){return u.tryLoadWordToMeasurer(t,e,n,o,i,r,s,a,h,c)})),r.length?{elements:r,hashes:s,styleHashes:a,newWords:h}:null},t.prototype.putElementsInDOM=function(t,e){for(t.parentNode&&t.parentNode.removeChild(t);t.firstChild;)t.removeChild(t.firstChild);e.elements.forEach((function(e){return t.appendChild(e)})),this.svgElement.appendChild(t)},t.prototype.measureElementsInDOM=function(t,e){for(var n=t.hashes,o=t.elements,i=t.newWords,r=n.length,s=0;s{Object.defineProperty(e,\"__esModule\",{value:!0}),e.PrimitiveObject=void 0;var o=n(9291),i=function(){function t(t){this.style=t}return Object.defineProperty(t.prototype,\"strokeWidthPx\",{get:function(){return this.style?this.style.strokeWidthPx:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"strokeOffset\",{get:function(){return this.style?this.style.strokeOffset:0},enumerable:!1,configurable:!0}),t.prototype.getUnitVaue=function(t){return\"number\"==typeof t?o.UnitConverter.twipsToPixels(t).toString():t},t.prototype.setUnitAttribute=function(t,e,n){null!=n&&t.setAttribute(e,this.getUnitVaue(n))},t.prototype.setPositionCorrectionAttribute=function(t){var e=this.strokeWidthPx%2==1?\"translate(\"+this.strokeOffset+\", \"+this.strokeOffset+\")\":\"\";t.setAttribute(\"transform\",e)},t}();e.PrimitiveObject=i},4716:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.RectanglePrimitive=void 0;var r=n(1114),s=function(t){function e(e,n,o,i,r,s,a,c){var u=t.call(this,r,s,a,c)||this;return u.x=e,u.y=n,u.width=o,u.height=i,u}return i(e,t),e.prototype.createMainElement=function(){return document.createElementNS(r.svgNS,\"rect\")},e.prototype.applyElementProperties=function(e,n){this.setUnitAttribute(e,\"x\",this.x),this.setUnitAttribute(e,\"y\",this.y),this.setUnitAttribute(e,\"width\",this.width),this.setUnitAttribute(e,\"height\",this.height),this.setPositionCorrectionAttribute(e),t.prototype.applyElementProperties.call(this,e,n)},e}(n(4178).SvgPrimitive);e.RectanglePrimitive=s},4538:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.RoundedRectanglePrimitive=void 0;var r=n(1114),s=function(t){function e(e,n,o,i,r,s,a,c,u,h){void 0===r&&(r=0),void 0===s&&(s=0);var p=t.call(this,e,n,o,i,a,c,u,h)||this;return p.x=e,p.y=n,p.width=o,p.height=i,p.rx=r,p.ry=s,p}return i(e,t),e.prototype.createMainElement=function(){return document.createElementNS(r.svgNS,\"rect\")},e.prototype.applyElementProperties=function(e,n){this.setUnitAttribute(e,\"rx\",this.rx),this.setUnitAttribute(e,\"ry\",this.ry),t.prototype.applyElementProperties.call(this,e,n)},e}(n(4716).RectanglePrimitive);e.RoundedRectanglePrimitive=s},3281:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.ShadowFilterPrimitive=void 0;var r=n(4628),s=n(1114),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.createChildElements=function(t){var e=document.createElementNS(s.svgNS,\"feGaussianBlur\");e.setAttribute(\"in\",\"SourceGraphic\"),e.setAttribute(\"stdDeviation\",\"4.6\"),t.appendChild(e);var n=document.createElementNS(s.svgNS,\"feOffset\");n.setAttribute(\"dx\",\"0\"),n.setAttribute(\"dy\",\"0\"),t.appendChild(n);var o=document.createElementNS(s.svgNS,\"feMerge\");t.appendChild(o);var i=document.createElementNS(s.svgNS,\"feMergeNode\");o.appendChild(i);var r=document.createElementNS(s.svgNS,\"feMergeNode\");r.setAttribute(\"in\",\"SourceGraphic\"),o.appendChild(r)},e}(r.FilterPrimitive);e.ShadowFilterPrimitive=a},1248:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.SvgElementPrimitive=void 0;var r=n(1114),s=function(t){function e(e,n,o,i,r,s,a,c,u){var h=t.call(this,null,c,void 0,u)||this;return h.x=e,h.y=n,h.width=o,h.height=i,h.createContent=r,h.destroyContent=s,h.data=a,h}return i(e,t),e.prototype.createMainElement=function(){return document.createElementNS(r.svgNS,\"svg\")},e.prototype.applyElementProperties=function(e,n){this.setUnitAttribute(e,\"x\",this.x),this.setUnitAttribute(e,\"y\",this.y),this.setUnitAttribute(e,\"width\",this.width),this.setUnitAttribute(e,\"height\",this.height),this.setPositionCorrectionAttribute(e),t.prototype.applyElementProperties.call(this,e,n)},e.prototype.createCustomContent=function(t){this.createContent&&this.createContent(t,this.data)},e.prototype.destroyCustomContent=function(t){this.destroyContent&&this.destroyContent(t)},e}(n(4178).SvgPrimitive);e.SvgElementPrimitive=s},3360:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.TextFloodFilterPrimitive=e.TextFilterPrimitive=void 0;var r=n(1114),s=n(4628),a=n(6613),c=n(13),u=function(t){function e(e,n,o,i,r){void 0===n&&(n=\"-0.05\"),void 0===o&&(o=\"-0.05\"),void 0===i&&(i=\"1.1\"),void 0===r&&(r=\"1.1\");var s=t.call(this,e,n,o,i,r)||this;return s.id=e,s.x=n,s.y=o,s.width=i,s.height=r,s}return i(e,t),e.prototype.createChildElements=function(t){var e=document.createElementNS(r.svgNS,\"feFlood\");t.appendChild(e);var n=document.createElementNS(r.svgNS,\"feComposite\");n.setAttribute(\"in\",\"SourceGraphic\"),n.setAttribute(\"operator\",\"atop\"),t.appendChild(n)},e}(s.FilterPrimitive);e.TextFilterPrimitive=u;var h=function(t){function e(e,n,o,i,r,s){void 0===o&&(o=\"-0.05\"),void 0===i&&(i=\"-0.05\"),void 0===r&&(r=\"1.1\"),void 0===s&&(s=\"1.1\");var a=t.call(this,e,o,i,r,s)||this;return a.id=e,a.floodColor=n,a.x=o,a.y=i,a.width=r,a.height=s,a}return i(e,t),e.prototype.applyChildrenProperties=function(t){for(var e=void 0,n=0;e=t.childNodes[n];n++)if(e.nodeName&&\"FEFLOOD\"===e.nodeName.toUpperCase()){this.prepareFEFloodNode(e);break}},e.prototype.prepareFEFloodNode=function(t){var e=c.ColorUtils.colorToHash(this.floodColor);t.setAttribute(\"flood-color\",e),t.setAttribute(\"class\",\"text-filter-flood\"),this.floodColor!==a.DiagramModel.defaultPageColor?t.style.setProperty(\"flood-color\",e):t.style.setProperty(\"flood-color\",\"\")},e}(u);e.TextFloodFilterPrimitive=h},9416:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.TextPrimitive270degRenderHelper=e.TextPrimitive180degRenderHelper=e.TextPrimitive90degRenderHelper=e.TextPrimitiveRenderHelper=e.TextPrimitive=e.TextAngle=void 0;var r,s=n(9291),a=n(1114),c=n(4178),u=n(3500),h=n(3490);!function(t){t[t.Angle0deg=0]=\"Angle0deg\",t[t.Angle90deg=90]=\"Angle90deg\",t[t.Angle180deg=180]=\"Angle180deg\",t[t.Angle270deg=270]=\"Angle270deg\"}(r=e.TextAngle||(e.TextAngle={}));var p=function(t){function e(e,n,o,i,r,s,a,c,u,p,l,d,f){var y=t.call(this,c,\"\",p,f)||this;return y.x=e,y.y=n,y.text=o,y.owner=i,y.textWidth=r,y.textHeight=s,y.textSpacing=a,y.reverseTextAhchor=u,y.angle=d,y.filterId=l,y.textSegmens=h.textToParagraphs(y.text),y.renderHelper=y.createRenderHelper(),void 0!==y.textWidth&&void 0!==y.textWidth&&(y.x=y.renderHelper.getTextX(y.x),y.y=y.renderHelper.getTextY(y.y)),y}return i(e,t),e.prototype.createMainElement=function(){return document.createElementNS(a.svgNS,\"text\")},e.prototype.applyElementProperties=function(e,n){this.setUnitAttribute(e,\"x\",this.x),this.setUnitAttribute(e,\"y\",this.y),this.filterId&&e.setAttribute(\"filter\",u.RenderUtils.getUrlPathById(this.filterId)),t.prototype.applyElementProperties.call(this,e,n),e.getAttribute(\"appliedText\")!==this.text||e.getAttribute(\"appliedSize\")!==(this.fitToSize&&this.fitToSize.toString())?(this.createTSpanElements(e,n),e.setAttribute(\"appliedText\",this.text),e.setAttribute(\"appliedSize\",this.fitToSize&&this.fitToSize.toString())):this.prepareTSpanElements(e),this.renderHelper.prepareMainElement(e,this.x,this.y)},e.prototype.createTSpanElements=function(t,e){var n=this;u.RenderUtils.removeContent(t),this.textSegmens.forEach((function(o,i){if(!o&&n.textSegmens.length>1)n.createTSpanElement(t).textContent=\" \";else if(n.fitToSize){var r=h.textToWords(o),a=h.wordsByLines(s.UnitConverter.twipsToPixels(n.fitToSize),r,(function(){return e.measureWords(r,n.style,n.owner)}));if(a.forEach((function(e){n.createTSpanElement(t).textContent=e})),!a.length)n.createTSpanElement(t).textContent=\" \"}else{n.createTSpanElement(t).textContent=o}}));var o=t.firstChild;o&&this.prepareFirstTSpanElement(o,t.childNodes.length)},e.prototype.createTSpanElement=function(t){var e=document.createElementNS(a.svgNS,\"tspan\");return t.appendChild(e),this.prepareTSpanElement(e),e},e.prototype.prepareTSpanElements=function(t){for(var e=0;e{Object.defineProperty(e,\"__esModule\",{value:!0}),e.RenderHelper=e.svgNS=void 0;var o=n(9463);e.svgNS=\"http://www.w3.org/2000/svg\";var i=function(){function t(){}return t.createSvgElement=function(t,n){void 0===n&&(n=!1);var o=document.createElementNS(e.svgNS,\"svg\");return o.className.baseVal=\"dxdi-canvas\"+(n?\" export\":\"\"),t&&t.appendChild(o),o},t.createMainElement=function(t,e){void 0===e&&(e=!1);var n=document.createElement(\"div\");return n.setAttribute(\"class\",\"dxdi-control\"+(e?\" measurer\":\"\")),o.Diagnostics.optimizeLayers&&(n.style.transform=\"translateZ(0)\"),t&&t.appendChild(n),n},t.addEventListener=function(t,e,n){t.addEventListener(e,n)},t.removeEventListener=function(t,e,n){t.removeEventListener(e,n)},t}();e.RenderHelper=i},8098:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.RenderManager=e.DBL_CLICK_TIMEOUT=e.LONG_TOUCH_TIMEOUT=void 0;var o=n(6031),i=n(3714),r=n(6907),s=n(8900),a=n(2153),c=n(9279),u=n(3500),h=n(8693),p=n(7376),l=n(240),d=n(741),f=n(6043),y=n(9757),g=n(4e3),m=n(6557),v=n(1733),P=n(1114),C=n(6078),S=n(8675),x=\"dxdi-touch-action\";e.LONG_TOUCH_TIMEOUT=500,e.DBL_CLICK_TIMEOUT=500;var b=function(){function t(t,e,n,o,i,r,s){this.moveLocked=!1,this.lockMouseMoveTimer=-1,this.lastClickElement=void 0,this.longTouchTimer=void 0,this.dblTouchTimer=void 0,this.pointers={};var a=P.RenderHelper.createMainElement(t),c=P.RenderHelper.createSvgElement(a);this.instanceId=i,this.scroll=r||new p.NativeScrollView(t),this.measurer=n,this.dom=new C.DOMManipulator(this.measurer),this.view=new y.CanvasViewManager(this.scroll,c,o.modelSize,o.zoomLevel,o.autoZoom,o.simpleView,o.rectangle,this.dom,this.instanceId),this.input=new d.InputManager(a,this.view,e,this.measurer,o.zoomLevel,s),this.items=new h.CanvasItemsManager(this.view.canvasElement,o.zoomLevel,this.dom,this.instanceId),this.page=new f.CanvasPageManager(this.view.pageElement,o,this.dom,this.instanceId),this.selection=new g.CanvasSelectionManager(this.view.canvasElement,o.zoomLevel,o.readOnly,this.dom,this.instanceId),this.contextMenuEnabled=o.contextMenuEnabled,this.view.onViewChanged.add(this.page),this.view.onViewChanged.add(this.items),this.view.onViewChanged.add(this.selection),this.view.onViewChanged.add(this.input),this.autoScroll=new m.AutoScrollController(this.scroll,c,this.view,this.dom),this.attachEvents(c),this.mainElement=a,this.svgElement=c,this.events=e,this.notifyReadOnlyChanged(o.readOnly)}return t.prototype.clean=function(t){this.killLockMouseMoveTimer(),this.clearLastMouseDownEvent(),this.detachEvents(this.svgElement),this.scroll.detachEvents(),this.input.detachEvents(),this.dom.cancelAnimation(),t&&t(this.mainElement)},t.prototype.replaceParent=function(t,e){this.mainElement&&this.mainElement.parentNode!==t&&t.appendChild(this.mainElement),e&&e!==this.scroll&&(this.scroll&&this.scroll.detachEvents(),this.scroll=e),this.measurer instanceof v.TextMeasurer&&this.measurer.replaceParent(t)},t.prototype.update=function(t){this.view.adjust({horizontal:!t,vertical:!t}),this.page.redraw()},t.prototype.onNewModel=function(t){this.measurer.onNewModel(t,this.dom)},t.prototype.clear=function(){this.items.clear(),this.selection.clear()},t.prototype.attachPointerEvents=function(t){r.DomUtils.addClassName(t,x),P.RenderHelper.addEventListener(t,\"pointerdown\",this.onPointerDownHandler),P.RenderHelper.addEventListener(c.Browser.TouchUI?t:document,\"pointerup\",this.onPointerUpHandler),P.RenderHelper.addEventListener(c.Browser.TouchUI?t:document,\"pointermove\",this.onPointerMoveHandler),P.RenderHelper.addEventListener(t,\"pointercancel\",this.onPointerCancelHandler),P.RenderHelper.addEventListener(t,\"pointerleave\",this.onPointerLeaveHandler)},t.prototype.detachPointerEvents=function(t){P.RenderHelper.removeEventListener(t,\"pointerdown\",this.onPointerDownHandler),P.RenderHelper.removeEventListener(c.Browser.TouchUI?t:document,\"pointerup\",this.onPointerUpHandler),P.RenderHelper.removeEventListener(c.Browser.TouchUI?t:document,\"pointermove\",this.onPointerMoveHandler),P.RenderHelper.removeEventListener(t,\"pointercancel\",this.onPointerCancelHandler),P.RenderHelper.removeEventListener(t,\"pointerleave\",this.onPointerLeaveHandler),r.DomUtils.removeClassName(t,x)},t.prototype.attachMouseTouchEvents=function(t){P.RenderHelper.addEventListener(t,this.mouseDownEventName,this.onMouseDownHandler),P.RenderHelper.addEventListener(document,this.mouseMoveEventName,this.onMouseMoveHandler),P.RenderHelper.addEventListener(document,this.mouseUpEventName,this.onMouseUpHandler)},t.prototype.detachMouseTouchEvents=function(t){P.RenderHelper.removeEventListener(t,this.mouseDownEventName,this.onMouseDownHandler),P.RenderHelper.removeEventListener(document,this.mouseMoveEventName,this.onMouseMoveHandler),P.RenderHelper.removeEventListener(document,this.mouseUpEventName,this.onMouseUpHandler)},t.prototype.attachEvents=function(t){this.mouseDownEventName=c.Browser.TouchUI?\"touchstart\":\"mousedown\",this.mouseMoveEventName=c.Browser.TouchUI?\"touchmove\":\"mousemove\",this.mouseUpEventName=c.Browser.TouchUI?\"touchend\":\"mouseup\",this.onPointerDownHandler=this.onPointerDown.bind(this),this.onPointerUpHandler=this.onPointerUp.bind(this),this.onPointerMoveHandler=this.onPointerMove.bind(this),this.onPointerCancelHandler=this.onPointerCancel.bind(this),this.onPointerLeaveHandler=this.onPointerLeave.bind(this),this.onMouseDownHandler=this.onMouseDown.bind(this),this.onMouseEnterHandler=this.onMouseEnter.bind(this),this.onMouseLeaveHandler=this.onMouseLeave.bind(this),this.onMouseWheelHandler=this.onMouseWheel.bind(this),this.onMouseDblClickHandler=this.onMouseDblClick.bind(this),this.onContextMenuHandler=this.onContextMenu.bind(this),this.onMouseMoveHandler=this.onMouseMove.bind(this),this.onMouseUpHandler=this.onMouseUp.bind(this),this.onWindowResizelHandler=this.onWindowResize.bind(this),this.onOrientationChangeHandler=this.onOrientationChange.bind(this),this.onMouseClickHandler=this.onMouseClick.bind(this),S.EventUtils.isPointerEvents()?this.attachPointerEvents(t):(this.attachMouseTouchEvents(t),P.RenderHelper.addEventListener(t,\"mouseenter\",this.onMouseEnterHandler),P.RenderHelper.addEventListener(t,\"mouseleave\",this.onMouseLeaveHandler)),P.RenderHelper.addEventListener(t,\"wheel\",this.onMouseWheelHandler),P.RenderHelper.addEventListener(t,\"dblclick\",this.onMouseDblClickHandler),P.RenderHelper.addEventListener(t,\"click\",this.onMouseClickHandler),P.RenderHelper.addEventListener(t,\"contextmenu\",this.onContextMenuHandler),P.RenderHelper.addEventListener(window,\"resize\",this.onWindowResizelHandler),P.RenderHelper.addEventListener(window,\"orientationchange\",this.onOrientationChangeHandler),this.input.mouseWheelHandler=this.onMouseWheelHandler},t.prototype.detachEvents=function(t){S.EventUtils.isPointerEvents()?this.detachPointerEvents(t):(this.detachMouseTouchEvents(t),P.RenderHelper.removeEventListener(t,\"mouseenter\",this.onMouseEnterHandler),P.RenderHelper.removeEventListener(t,\"mouseleave\",this.onMouseLeaveHandler)),P.RenderHelper.removeEventListener(t,\"wheel\",this.onMouseWheelHandler),P.RenderHelper.removeEventListener(t,\"dblclick\",this.onMouseDblClickHandler),P.RenderHelper.removeEventListener(t,\"contextmenu\",this.onContextMenuHandler),P.RenderHelper.removeEventListener(t,\"click\",this.onMouseClickHandler),P.RenderHelper.removeEventListener(window,\"resize\",this.onWindowResizelHandler),P.RenderHelper.removeEventListener(window,\"orientationchange\",this.onOrientationChangeHandler)},t.prototype.setPointerPosition=function(t){this.pointers[t.pointerId]={clientX:t.clientX,clientY:t.clientY}},t.prototype.clearPointerPosition=function(t){delete this.pointers[t.pointerId]},t.prototype.onPointerDown=function(t){this.setPointerPosition(t),this.getPointerCount()>2&&(this.pointers={}),this.onMouseDown(t)},t.prototype.onPointerUp=function(t){this.clearPointerPosition(t),this.onMouseUp(t)},t.prototype.onPointerMove=function(t){(c.Browser.TouchUI&&!S.EventUtils.isMousePointer(t)||S.EventUtils.isLeftButtonPressed(t))&&this.setPointerPosition(t),this.onMouseMove(t)},t.prototype.onPointerCancel=function(t){this.clearPointerPosition(t)},t.prototype.onPointerLeave=function(t){S.EventUtils.isMousePointer(t)&&this.onMouseLeave(t),this.clearPointerPosition(t)},t.prototype.onMouseDown=function(t){var e=this;this.lockMouseMove(),this.input.lockFocus(),this.autoScroll.onMouseDown(t),this.lastDownMouseEvent=this.createDiagramMouseEvent(t),u.raiseEvent(t,this.lastDownMouseEvent,(function(t){return e.events.onMouseDown(t)})),this.events.canFinishTextEditing()&&this.input.captureFocus(),S.EventUtils.isTouchEvent(t)&&this.processTouchDown(t);var n=i.EvtUtils.getEventSource(t),o=n&&n.tagName;if(c.Browser.TouchUI||\"img\"===o.toLowerCase()||\"image\"===o.toLowerCase())return i.EvtUtils.preventEventAndBubble(t),!1},t.prototype.onMouseMove=function(t){var e=this;this.moveLocked||(this.autoScroll.onMouseMove(t,(function(){return e.onMouseMoveCore(t)})),this.onMouseMoveCore(t),c.Browser.IE&&this.lockMouseMove(),S.EventUtils.isTouchEvent(t)&&this.processTouchMove(t))},t.prototype.onMouseMoveCore=function(t){var e=this;u.raiseEvent(t,this.createDiagramMouseEvent(t),(function(t){return e.events.onMouseMove(t)}))},t.prototype.onMouseUp=function(t){var e=this;this.lockMouseMove();var n=this.createDiagramMouseEvent(t);u.raiseEvent(t,n,(function(t){return e.events.onMouseUp(t)})),this.autoScroll.onMouseUp(t),n.source.type!==o.MouseEventElementType.Undefined&&this.input.captureFocus(!0),S.EventUtils.isTouchEvent(t)&&this.processTouchUp(t)},t.prototype.onMouseEnter=function(t){var e=this;this.autoScroll.onMouseEnter(t),u.raiseEvent(t,this.createDiagramMouseEvent(t),(function(t){return e.events.onMouseEnter(t)}))},t.prototype.onMouseLeave=function(t){var e=this;u.raiseEvent(t,this.createDiagramMouseEvent(t),(function(t){return e.events.onMouseLeave(t)}))},t.prototype.onMouseDblClick=function(t){var e=this;u.raiseEvent(t,this.createDiagramMouseEvent(t),(function(t){return e.events.onDblClick(t)}))},t.prototype.onMouseClick=function(t){var e=this;S.EventUtils.isTouchEvent(t)?S.EventUtils.isMousePointer(t)||this.input.captureFocus():u.raiseEvent(t,this.createActualMouseClickEvent(t),(function(t){return e.events.onClick(t)}))},t.prototype.createActualMouseClickEvent=function(t){return this.lastDownMouseEvent?new o.DiagramMouseEvent(this.lastDownMouseEvent.modifiers,this.lastDownMouseEvent.button,this.lastDownMouseEvent.offsetPoint.clone(),this.lastDownMouseEvent.modelPoint.clone(),this.lastDownMouseEvent.source,this.createDiagramMouseEventTouches(t)):this.createDiagramMouseEvent(t)},t.prototype.onContextMenu=function(t){var e=this;if(this.contextMenuEnabled)return 1!==t.buttons&&u.raiseEvent(t,this.createDiagramContextMenuEvent(t),(function(t){return e.events.onContextMenu(t)})),this.input.captureFocus(),i.EvtUtils.preventEventAndBubble(t)},t.prototype.processTouchDown=function(t){var n=this;this.touchDownPoint=this.getTouchPointFromEvent(t),this.resetLongTouch(),this.longTouchTimer=setTimeout((function(){u.raiseEvent(t,n.createDiagramMouseEvent(t),(function(t){return n.events.onLongTouch(t)})),n.resetLongTouch(),n.resetDblClick()}),e.LONG_TOUCH_TIMEOUT)},t.prototype.processTouchMove=function(e){var n=this.getTouchPointFromEvent(e);this.touchDownPoint&&n&&(Math.abs(this.touchDownPoint.x-n.x)>t.touchPositionLimit||Math.abs(this.touchDownPoint.y-n.y)>t.touchPositionLimit)&&(this.resetLongTouch(),this.resetDblClick())},t.prototype.getPointers=function(){var t=this;return Object.keys(this.pointers).map((function(e){return t.pointers[e]}))},t.prototype.getPointerCount=function(){return Object.keys(this.pointers).length},t.prototype.getTouchPointFromEvent=function(t){var e,n=t.touches;if(n&&n.length>0)e=new s.Point(n[0].clientX,n[0].clientY);else{var o=this.getPointers();o.length&&(e=new s.Point(o[0].clientX,o[0].clientY))}return e},t.prototype.processTouchUp=function(t){var n=this;if(void 0!==this.longTouchTimer){u.raiseEvent(t,this.createDiagramMouseEvent(t),(function(t){return n.events.onClick(t)}));var o=i.EvtUtils.getEventSource(t);void 0!==this.dblTouchTimer&&this.lastClickElement===o?(u.raiseEvent(t,this.createDiagramMouseEvent(t),(function(t){return n.events.onDblClick(t)})),this.resetDblClick()):(this.resetDblClick(),this.dblTouchTimer=setTimeout((function(){return n.dblTouchTimer=void 0}),e.DBL_CLICK_TIMEOUT)),this.lastClickElement=o}this.resetLongTouch(),this.touchDownPoint=void 0},t.prototype.resetLongTouch=function(){void 0!==this.longTouchTimer&&clearTimeout(this.longTouchTimer),this.longTouchTimer=void 0},t.prototype.resetDblClick=function(){void 0!==this.dblTouchTimer&&clearTimeout(this.dblTouchTimer),this.dblTouchTimer=void 0},t.prototype.onOrientationChange=function(){var t=this;setTimeout((function(){return t.onWindowResize()}),100)},t.prototype.onWindowResize=function(){var t={horizontal:!1,vertical:!1};if(this.view.autoZoom!==l.AutoZoomMode.Disabled)t.horizontal=!0,t.vertical=!0;else{var e=this.view.checkFitToCanvas(),n=this.view.checkFitToCanvas(this.scroll.getSize());t={horizontal:e.horizontal!==n.horizontal||n.horizontal,vertical:e.vertical!==n.vertical||n.vertical}}this.view.adjust(t)},t.prototype.onMouseWheel=function(t){var e=this;u.raiseEvent(t,this.createDiagramWheelEvent(t),(function(t){return e.events.onMouseWheel(t)}))},t.prototype.notifyModelSizeChanged=function(t,e){this.view.notifyModelSizeChanged(t,e)},t.prototype.notifyModelRectangleChanged=function(t){this.view.notifyModelRectangleChanged(t)},t.prototype.notifyReadOnlyChanged=function(t){r.DomUtils.toggleClassName(this.mainElement,\"dxdi-read-only\",t)},t.prototype.notifyDragStart=function(t){},t.prototype.notifyDragEnd=function(t){},t.prototype.notifyDragScrollStart=function(){this.autoScroll.onDragScrollStart()},t.prototype.notifyDragScrollEnd=function(){this.autoScroll.onDragScrollEnd()},t.prototype.notifyToolboxDragStart=function(t){this.onMouseEnter(t)},t.prototype.notifyToolboxDragEnd=function(t){t&&S.EventUtils.isPointerEvents()&&this.onMouseUp(t)},t.prototype.notifyToolboxDraggingMouseMove=function(t){this.onMouseMove(t)},t.prototype.createDiagramMouseEvent=function(t){var e=a.KeyUtils.getKeyModifiers(t),n=function(t){return c.Browser.MSTouchUI?2!==t.button:S.EventUtils.isLeftButtonPressed(t)}(t)?o.MouseButton.Left:o.MouseButton.Right,i=this.getOffsetPointByEvent(t),r=this.getModelPoint(i),s=S.EventUtils.isTouchEvent(t),u=this.getEventSource(t,s),h=this.createDiagramMouseEventTouches(t);return new o.DiagramMouseEvent(e,n,i,r,u,h,s)},t.prototype.createDiagramMouseEventTouches=function(t){var e=[];if(t.touches)for(var n=0;n{Object.defineProperty(e,\"__esModule\",{value:!0}),e.NativeScrollView=void 0;var o=n(8675),i=n(6353),r=n(8900),s=n(6907),a=n(1114),c=function(){function t(t){this.onScroll=new o.EventDispatcher,this.scrollBarWidth=s.DomUtils.getVerticalScrollBarWidth(),this.mainElement=t,this.attachEvents()}return t.prototype.attachEvents=function(){var t=this;this.onScrollHandler=function(){return t.onScroll.raise1((function(e){return e.notifyScrollChanged((function(){return t.getScroll()}))}))},a.RenderHelper.addEventListener(this.mainElement,\"scroll\",this.onScrollHandler)},t.prototype.detachEvents=function(){a.RenderHelper.removeEventListener(this.mainElement,\"scroll\",this.onScrollHandler)},t.prototype.getScrollContainer=function(){return this.mainElement},t.prototype.setScroll=function(t,e){var n=this;this.mainElement.style.overflow=\"scroll\",this.mainElement.scrollLeft=t,this.mainElement.scrollTop=e,this.mainElement.style.overflow=\"\",this.onScroll.raise1((function(t){return t.notifyScrollChanged((function(){return n.getScroll()}))}))},t.prototype.offsetScroll=function(t,e){var n=this;t&&(this.mainElement.scrollLeft+=t),e&&(this.mainElement.scrollTop+=e),this.onScroll.raise1((function(t){return t.notifyScrollChanged((function(){return n.getScroll()}))}))},t.prototype.getScroll=function(){return new r.Point(this.mainElement.scrollLeft,this.mainElement.scrollTop)},t.prototype.getSize=function(){var t=this.mainElement.getBoundingClientRect();return new i.Size(Math.floor(t.width),Math.floor(t.height))},t.prototype.getScrollBarWidth=function(){return this.scrollBarWidth},t}();e.NativeScrollView=c},6411:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ShapeImageIndicator=void 0;var o=n(418),i=n(7724),r=n(5329),s=n(9279),a=n(4716),c=n(9291),u=function(){function t(t,e,n,o,i){this.x=t,this.y=e,this.size=n,this.borderThickness=o,this.className=i,this.animationStarted=!1}return t.createLoadingIndicatorPrimitives=function(e,n,o,i,r){return new t(e,n,o,i,r).createLoadingIndicatorPrimitive()},t.createUserIconPrimitives=function(e,n,o,i,r){return new t(e,n,o,i,r).createUserIconPrimitive()},t.createWarningIconPrimitives=function(e,n,o,i){return new t(e,n,o,void 0,i).createWarningIconPrimitive()},t.prototype.rotate=function(t,e,n,o){if(this.animationStarted){var i=\"rotate(\"+Math.round(o)%1080/3+\" \"+e+\" \"+n+\")\";t.setAttribute(\"transform\",i),this.animationRequestId=requestAnimationFrame(function(o){this.rotate(t,e,n,o)}.bind(this))}},t.prototype.onApplyLoadingIndicatorElementProperties=function(t){var e=[c.UnitConverter.twipsToPixelsF(this.x+this.size/2),c.UnitConverter.twipsToPixelsF(this.y+this.size/2)],n=e[0],o=e[1];s.Browser.IE?(this.animationRequestId=requestAnimationFrame(function(e){this.rotate(t,n,o,e)}.bind(this)),this.animationStarted=!0):t.style.setProperty(\"transform-origin\",n+\"px \"+o+\"px\")},t.prototype.center=function(){return[c.UnitConverter.twipsToPixelsF(this.x+this.size/2),c.UnitConverter.twipsToPixelsF(this.y+this.size/2)]},t.prototype.createLoadingIndicatorPrimitive=function(){var t=this.center(),e=t[0],n=t[1],s=c.UnitConverter.twipsToPixelsF(this.size/2-this.borderThickness/2);return new r.GroupPrimitive([new o.EllipsePrimitive(e+\"\",n+\"\",s+\"\",s+\"\"),new i.PathPrimitive([new i.PathPrimitiveMoveToCommand(e+s+\"\",n+\"\"),new i.PathPrimitiveArcToCommand(s+\"\",s+\"\",0,!1,!1,e+\"\",n-s+\"\")])],this.className,void 0,void 0,this.onApplyLoadingIndicatorElementProperties.bind(this),this.onBeforeDispose.bind(this))},t.prototype.createUserIconPrimitive=function(){var t=this.center(),e=t[0],n=t[1],s=c.UnitConverter.twipsToPixelsF(this.size/2-this.borderThickness/2),a=c.UnitConverter.twipsToPixelsF(this.size);return new r.GroupPrimitive([new o.EllipsePrimitive(e+\"\",n+\"\",s+\"\",s+\"\",void 0,\"dxdi-background\"),new o.EllipsePrimitive(e+\"\",n-a/8+\"\",a/8+\"\",a/8+\"\"),new i.PathPrimitive([new i.PathPrimitiveMoveToCommand(e+\"\",n+a/16+\"\"),new i.PathPrimitiveCubicCurveToCommand(e+.1375*a+\"\",n+a/16+\"\",e+a/4+\"\",n+.11875*a+\"\",e+a/4+\"\",n+.1875*a+\"\"),new i.PathPrimitiveLineToCommand(e+a/4+\"\",n+a/4+\"\"),new i.PathPrimitiveLineToCommand(e-a/4+\"\",n+a/4+\"\"),new i.PathPrimitiveLineToCommand(e-a/4+\"\",n+.1875*a+\"\"),new i.PathPrimitiveCubicCurveToCommand(e-a/4+\"\",n+.11875*a+\"\",e-.1375*a+\"\",n+a/16+\"\",e+\"\",n+a/16+\"\"),new i.PathPrimitiveClosePathCommand])],this.className)},t.prototype.createWarningIconPrimitive=function(){var t=this.center(),e=t[0],n=t[1],i=c.UnitConverter.twipsToPixelsF(this.size/2)-1,s=c.UnitConverter.twipsToPixelsF(this.size/8);return new r.GroupPrimitive([new o.EllipsePrimitive(e+\"\",n+\"\",i+\"\",i+\"\"),new a.RectanglePrimitive(e-s/2+.5+\"\",n+i-c.UnitConverter.twipsToPixelsF(this.size/4)+\"\",s+\"\",s+\"\"),new a.RectanglePrimitive(e-s/2+.5+\"\",n-i+c.UnitConverter.twipsToPixelsF(this.size/4)-s+\"\",s+\"\",i+\"\")],this.className)},t.prototype.onBeforeDispose=function(){this.animationRequestId&&cancelAnimationFrame(this.animationRequestId),this.animationStarted=!1},t}();e.ShapeImageIndicator=u},4724:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.IconToolbox=void 0;var r=n(4602),s=n(1114),a=n(5503),c=n(9291),u=n(8900),h=n(1669),p=n(1552),l=n(6688),d=n(4716),f=function(t){function e(e,n,o,i,r,s,a,c,u){var h=t.call(this,e,n,o,i,r,s)||this;return h.options=a,h.measurer=c,h.instanceId=u,h}return i(e,t),e.prototype.createElements=function(t,e){var n=document.createElementNS(s.svgNS,\"svg\");n.className.baseVal=\"dxdi-canvas\",t.appendChild(n),this.drawShapeIcons(n,e,this.options.toolboxWidth||n.getBoundingClientRect().width)},e.prototype.drawShapeIcons=function(t,e,n){var o=this,i=p.DEFAULT_STROKE_WIDTH,r=n-2*i,s=this.options.shapeIconSize;!s&&this.options.shapeIconSpacing&&this.options.shapeIconCountInRow&&(s=Math.floor((r-(this.options.shapeIconCountInRow-1)*this.options.shapeIconSpacing)/this.options.shapeIconCountInRow)),s||(s=32);var a=s=Math.max(s,this.options.shapeIconSpacing/2),u=this.options.shapeIconCountInRow;if(!u)for(u=1;a1?(r-s*u)/(u-1):0,l=i,d=i,f=c.UnitConverter.pixelsToTwips(s);e.forEach((function(e,n){n>0&&n%u==0&&(l=i,d+=s+h);var r=o.shapeDescriptionManager.get(e),a=o.createShape(r,l,d,s<26);o.updateShapeIconBounds(a,s);var p=o.drawShape(t,a);o.drawSelector(p,c.UnitConverter.pixelsToTwips(l),c.UnitConverter.pixelsToTwips(d),f),l+=s+h})),t.style.height=d+s+i+\"px\",t.style.width=n+\"px\"},e.prototype.drawShape=function(t,e){var n=this,o=e.description.createPrimitives(e,this.instanceId,!0),i=document.createElementNS(s.svgNS,\"g\");if(i.setAttribute(\"data-tb-type\",e.description.key.toString()),i.setAttribute(\"class\",\"toolbox-item\"),i.setAttribute(\"title\",e.description.getTitle()),this.options.shapeIconAttributes)for(var r in this.options.shapeIconAttributes)Object.prototype.hasOwnProperty.call(this.options.shapeIconAttributes,r)&&i.setAttribute(r,this.options.shapeIconAttributes[r]);return t.appendChild(i),o.forEach((function(t){var e=t.createElement((function(t){return i.appendChild(t)}));t.applyElementProperties(e,n.measurer)})),i},e.prototype.drawSelector=function(t,e,n,o){var i=this,r=new d.RectanglePrimitive(e,n,o,o,void 0,\"selector\");r.createElement((function(e){r.applyElementProperties(e,i.measurer),t.appendChild(e)}))},e.prototype.createShape=function(t,e,n,o){var i=c.UnitConverter.pixelsToTwips(e),r=c.UnitConverter.pixelsToTwips(n),s=new a.Shape(t,new u.Point(i,r),!0);return this.needResetShapeText(t)?s.text=\"\":o&&(s.text=\"T\"),s},e.prototype.needResetShapeText=function(t){return!(t instanceof h.TextShapeDescription)&&!(t instanceof l.CustomShapeDescription&&t.baseDescription instanceof h.TextShapeDescription)},e.prototype.updateShapeIconBounds=function(t,e){var n=c.UnitConverter.pixelsToTwips(e);if(t.size.height=t.size.width*t.getToolboxHeightToWidthRatio(),t.size.width>t.size.height){var o=t.size.height/t.size.width;t.size.width=n,t.size.height=n*o,t.position.y=t.position.y+(n-t.size.height)/2,t.parameters.forEach((function(e){e.value=e.value*n/t.description.defaultSize.width}))}else if(t.size.width{Object.defineProperty(e,\"__esModule\",{value:!0}),e.DiagramDraggingEvent=e.ToolboxDraggingObject=e.Toolbox=void 0;var o,i=n(8675),r=n(8900),s=n(3714),a=n(4914),c=n(6907),u=n(9279),h=n(1114),p=n(8693),l=\"dxdi-toolbox\",d=\"dxdi-tb-start-drag-flag\",f=function(){function t(t,e,n,r,s,a){this.readOnly=e,this.allowDragging=n,this.shapeDescriptionManager=r,this.shapeTypes=s,this.getAllowedShapeTypes=a,this.dragPrepareTimeout=-1,this.dragState=o.None,this.emulateDragEvents=u.Browser.WebKitTouchUI,this.onDragOperation=new i.EventDispatcher,this.onClickOperation=new i.EventDispatcher,t&&(this.mainElement=this.createMainElement(t),this.attachHandlers(this.mainElement))}return t.prototype.clean=function(t){this.detachHandlers(this.mainElement),t&&t(this.mainElement)},t.prototype.createMainElement=function(t){var e=document.createElement(\"div\");return e.setAttribute(\"class\",l),e.draggable=!0,this.emulateDragEvents&&(e.tabIndex=0),t.appendChild(e),e},t.prototype.attachHandlers=function(t){this.onElementMouseDownHandler=this.onElementMouseDown.bind(this),this.onElementMouseUpHandler=this.onElementMouseUp.bind(this),this.onMouseDownHandler=this.onMouseDown.bind(this),this.onMouseMoveHandler=this.onMouseMove.bind(this),this.onMouseUpHandler=this.onMouseUp.bind(this),this.onDragStartHandler=this.onDragStart.bind(this),this.onTouchMoveHandler=this.onTouchMove.bind(this),this.emulateDragEvents||h.RenderHelper.addEventListener(t,\"dragstart\",this.onDragStartHandler),i.EventUtils.isPointerEvents()?(this.mouseDownEventName=\"pointerdown\",this.mouseMoveEventName=\"pointermove\",this.mouseUpEventName=\"pointerup\"):(this.mouseDownEventName=u.Browser.TouchUI?\"touchstart\":\"mousedown\",this.mouseMoveEventName=u.Browser.TouchUI?\"touchmove\":\"mousemove\",this.mouseUpEventName=u.Browser.TouchUI?\"touchend\":\"mouseup\"),h.RenderHelper.addEventListener(t,\"touchmove\",this.onTouchMoveHandler),h.RenderHelper.addEventListener(t,this.mouseDownEventName,this.onElementMouseDownHandler),h.RenderHelper.addEventListener(t,this.mouseUpEventName,this.onElementMouseUpHandler),h.RenderHelper.addEventListener(t,this.mouseDownEventName,this.onMouseDownHandler),h.RenderHelper.addEventListener(document,this.mouseMoveEventName,this.onMouseMoveHandler),h.RenderHelper.addEventListener(document,this.mouseUpEventName,this.onMouseUpHandler)},t.prototype.detachHandlers=function(t){this.emulateDragEvents||h.RenderHelper.removeEventListener(t,\"dragstart\",this.onDragStartHandler),h.RenderHelper.removeEventListener(t,\"touchmove\",this.onTouchMoveHandler),h.RenderHelper.removeEventListener(t,this.mouseDownEventName,this.onElementMouseDownHandler),h.RenderHelper.removeEventListener(t,this.mouseUpEventName,this.onElementMouseUpHandler),h.RenderHelper.removeEventListener(t,this.mouseDownEventName,this.onMouseDownHandler),h.RenderHelper.removeEventListener(document,this.mouseMoveEventName,this.onMouseMoveHandler),h.RenderHelper.removeEventListener(document,this.mouseUpEventName,this.onMouseUpHandler)},t.prototype.render=function(t){this.mainElement.childNodes&&(this.mainElement.innerHTML=\"\");var e=this.shapeTypes;return e=this.getAllowedShapeTypes?this.getAllowedShapeTypes(e):e,(e=t?e.filter(t):e).length&&this.createElements(this.mainElement,e),!!e.length},t.prototype.createDraggingObject=function(t){var e=new g;return e.data=t,e.onFinishDragging=this.resetDragState.bind(this),e.onCaptured=this.capture.bind(this),new y(e)},t.prototype.getDragShapeType=function(t){for(;t&&!c.DomUtils.hasClassName(t,l);){if(t.getAttribute&&t.getAttribute(\"data-tb-type\"))return t.getAttribute(\"data-tb-type\");t=t.parentNode}},t.prototype.getTouchPointFromEvent=function(t){var e,n=t.touches;return n&&n.length>0?e=new r.Point(n[0].clientX,n[0].clientY):t.clientX&&t.clientY&&(e=new r.Point(t.clientX,t.clientY)),e},t.prototype.onElementMouseDown=function(t){this.mouseDownShapeType=this.getDragShapeType(s.EvtUtils.getEventSource(t)),this.touchDownPoint=this.getTouchPointFromEvent(t)},t.prototype.onElementMouseUp=function(t){var e=this.getDragShapeType(s.EvtUtils.getEventSource(t));e&&e===this.mouseDownShapeType&&this.onClickOperation.raise(\"notifyToolboxClick\",e),this.mouseDownShapeType=void 0,this.touchDownPoint=void 0},t.prototype.onMouseDown=function(t){this.setDragState(o.Prepare,t),u.Browser.TouchUI&&i.EventUtils.isMousePointer(t)&&this.setDragState(o.Start,t)},t.prototype.onDragStart=function(t){this.setDragState(o.Start,t),t.preventDefault()},t.prototype.onTouchMove=function(t){this.draggingObject&&t.preventDefault()},t.prototype.isLeftButtonPressed=function(t){return s.EvtUtils.isLeftButtonPressed(t)||\"pointermove\"===t.type&&u.Browser.TouchUI&&u.Browser.MacOSMobilePlatform&&i.EventUtils.isMousePointer(t)},t.prototype.onMouseMove=function(t){if(u.Browser.TouchUI&&u.Browser.MacOSMobilePlatform){var e=this.getTouchPointFromEvent(t);if(this.touchDownPoint&&e&&this.touchDownPoint.x===e.x&&this.touchDownPoint.y===e.y)return}this.setDragState(this.isLeftButtonPressed(t)?o.Dragging:o.None,t),i.EventUtils.isPointerEvents()&&this.raiseDraggingMouseMove(t)},t.prototype.onMouseUp=function(t){this.setDragState(o.None,t)},t.prototype.updateDraggingElementPosition=function(t,e){var n=this.draggingObject.element,o=t-n.offsetWidth/2,i=e-n.offsetHeight/2;a.SetAbsoluteX(n,o),a.SetAbsoluteY(n,i)},t.prototype.setDragState=function(t,e){if(!this.readOnly&&this.allowDragging&&!(t===o.None&&t===this.dragState||(this.dragPrepareTimeout>-1&&(clearTimeout(this.dragPrepareTimeout),this.dragPrepareTimeout=-1,this.dragPrepareEvent=void 0),t-this.dragState>1||t!==o.None&&t{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ToolboxManager=void 0;var o=n(5947),i=n(4724),r=n(1733),s=n(8679),a=function(){function t(t){this.shapeDescriptionManager=t,this.toolboxes=[],this.measurers={}}return t.prototype.create=function(t,e,n,r,s,a,c,u){var h=Array.isArray(s)?s:this.shapeDescriptionManager.getTypesByCategory(s),p=r?new o.TextToolbox(t,e,n,this.shapeDescriptionManager,h,a):new i.IconToolbox(t,e,n,this.shapeDescriptionManager,h,a,u,this.getOrCreateMeasurer(t),c);return p.render(),this.toolboxes.push(p),p},t.prototype.clean=function(t,e){var n=this;if(e)e.clean(t),this.toolboxes.splice(this.toolboxes.indexOf(e),1),Object.keys(this.measurers).forEach((function(t){n.measurers[t]===e.measurer&&delete n.measurers[t]}));else{for(var o=0;o-1||n===t)&&e.render()}))},t.prototype.applyFilter=function(t,e){var n=this;return this.toolboxes.reduce((function(o,i,r){return(!e||Array.isArray(e)&&e.indexOf(r)>-1||r===e)&&i.render((function(e){return n.searchFilter(e,t,r)}))&&o.push(r),o}),[])},t.prototype.searchFilter=function(t,e,n,o){if(!e||o&&-1===o.indexOf(n))return!0;e=e.toLowerCase();var i=this.shapeDescriptionManager.get(t);return i.getTitle().toLowerCase().indexOf(e)>-1||i.getDefaultText().toLowerCase().indexOf(e)>-1},t.prototype.getOrCreateMeasurer=function(t){var e=t.getAttribute(\"data-dxdiMeasurerID\");return e&&this.measurers[e]||(e=s.MathUtils.generateGuid(),this.measurers[e]=new r.TextMeasurer(t),t.setAttribute(\"data-dxdiMeasurerID\",e)),this.measurers[e]},t}();e.ToolboxManager=a},3500:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.raiseEvent=e.RenderUtils=void 0;var o=n(6031),i=n(8679),r=function(){function t(){}return t.updateSvgElementSize=function(t,e,n,o){t.style.width=e+\"px\",t.style.height=n+\"px\",t.setAttribute(\"viewBox\",\"0 0 \"+e+\" \"+n),o&&(t.setAttribute(\"width\",e.toString()),t.setAttribute(\"height\",n.toString()))},t.removeElement=function(t){t&&t.parentNode&&t.parentNode.removeChild(t)},t.removeContent=function(t){for(;t&&t.firstChild;)t.removeChild(t.firstChild)},t.setElementEventData=function(t,e,n,i){e!==o.MouseEventElementType.Undefined&&(t.setAttribute(\"data-type\",e.toString()),void 0!==n&&t.setAttribute(\"data-key\",n.toString()),void 0!==i&&t.setAttribute(\"data-value\",i.toString()))},t.getElementEventData=function(t){if(t.getAttribute&&t.getAttribute(\"data-type\"))return new o.MouseEventSource(parseInt(t.getAttribute(\"data-type\")),t.getAttribute(\"data-key\"),t.getAttribute(\"data-value\"));var e=t.getAttribute&&t.getAttribute(\"class\");return\"dxdi-page\"===e||\"dxdi-main\"===e?new o.MouseEventSource(o.MouseEventElementType.Document):void 0},t.getHtmlElementStylePropertyName=function(t){switch(t){case\"fill\":return\"color\";case\"text-anchor\":return\"text-align\"}return t},t.getTextAnchorValue=function(t,e){if(void 0===e&&(e=!1),e){if(\"start\"===t)return\"end\";if(\"end\"===t)return\"start\"}return t},t.getStrokeDasharrayValue=function(t,e){if(e){var n=t&&t.toString();return(n?n.split(/[\\s,]+/):[]).map((function(t){return parseInt(t)/2*e})).join(\",\")}return t},t.applyStyleToElement=function(t,e,n){var o=this;void 0===n&&(n=!1);var i=t.getDefaultInstance();t.forEach((function(r){var s=t[r],a=e instanceof HTMLElement?o.getHtmlElementStylePropertyName(r):r;if(void 0!==s&&\"\"!==s&&s!==i[r]){switch(r){case\"text-anchor\":s=o.getTextAnchorValue(s,n);break;case\"stroke-dasharray\":s=o.getStrokeDasharrayValue(s,parseInt(t[\"stroke-width\"]))}e.style.setProperty(a,s)}else e.style.setProperty(a,\"\")}))},t.generateSvgElementId=function(t){return t+\"_\"+i.MathUtils.generateGuid()},t.getUrlPathById=function(t){return\"url(#\"+t+\")\"},t}();e.RenderUtils=r,e.raiseEvent=function(t,e,n){n(e),e.preventDefault&&t.preventDefault()}},5401:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.InputPosition=void 0;var o=n(6823),i=n(4914),r=function(){function t(t){this.selection=t,this.initialProperties=new o.InputPositionProperties(this.selection),this.defaultProperties=new o.InputPositionProperties(this.selection,this.initialProperties,!0),this.currentProperties=new o.InputPositionProperties(this.selection,this.defaultProperties)}return t.prototype.initialize=function(){this.reset(),this.defaultProperties.reset()},t.prototype.reset=function(){this.currentProperties.reset()},t.prototype.getDefaultConnectorProperties=function(){return this.defaultProperties.getConnectorProperties()},t.prototype.getDefaultConnectorPropertyValue=function(t){return this.defaultProperties.getConnectorPropertyValue(t)},t.prototype.getCurrentConnectorPropertyValue=function(t){return this.currentProperties.getConnectorPropertyValue(t)},t.prototype.setConnectorPropertyValue=function(t,e){this.currentProperties.setConnectorPropertyValue(t,e),this.selection.isEmpty(!0)&&this.defaultProperties.setConnectorPropertyValue(t,e)},t.prototype.setInitialConnectorProperties=function(t){for(var e in this.defaultProperties.reset(),this.currentProperties.reset(),t)Object.prototype.hasOwnProperty.call(t,e)&&this.initialProperties.setConnectorPropertyValue(e,t[e])},t.prototype.getDefaultStyle=function(){return this.defaultProperties.getStyle()},t.prototype.getDefaultStylePropertyValue=function(t){return this.defaultProperties.getStylePropertyValue(t)},t.prototype.getDefaultTextStyle=function(){return this.defaultProperties.getTextStyle()},t.prototype.getDefaultTextStylePropertyValue=function(t){return this.defaultProperties.getTextStylePropertyValue(t)},t.prototype.getCurrentStylePropertyValue=function(t){return this.currentProperties.getStylePropertyValue(t)},t.prototype.getCurrentTextStylePropertyValue=function(t){return this.currentProperties.getTextStylePropertyValue(t)},t.prototype.setStylePropertyValue=function(t,e){this.currentProperties.setStylePropertyValue(t,e),this.selection.isEmpty(!0)&&this.defaultProperties.setStylePropertyValue(t,e)},t.prototype.setTextStylePropertyValue=function(t,e){this.currentProperties.setTextStylePropertyValue(t,e),this.selection.isEmpty(!0)&&this.defaultProperties.setTextStylePropertyValue(t,e)},t.prototype.setInitialStyleProperties=function(t){this.defaultProperties.reset(),this.currentProperties.reset();var e=\"string\"==typeof t?i.Data.cssTextToObject(t):t;for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&this.initialProperties.setStylePropertyValue(n,e[n])},t.prototype.setInitialTextStyleProperties=function(t){this.defaultProperties.reset(),this.currentProperties.reset();var e=\"string\"==typeof t?i.Data.cssTextToObject(t):t;for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&this.initialProperties.setTextStylePropertyValue(n,e[n])},t.prototype.notifySelectionChanged=function(t){this.reset()},t}();e.InputPosition=r},6823:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.InputPositionProperties=void 0;var o=n(4612),i=n(1552),r=function(){function t(t,e,n){this.selection=t,this.baseProperties=e,this.disableMergingStyles=n,this.selection=t}return t.prototype.reset=function(){this.connectorProperties=null,this.style=null,this.textStyle=null},t.prototype.getConnectorProperties=function(){return this.connectorProperties||(this.connectorProperties=this.baseProperties?this.baseProperties.getConnectorProperties().clone():new o.ConnectorProperties,this.updateConnectorProperties(this.connectorProperties)),this.connectorProperties},t.prototype.getConnectorPropertyValue=function(t){return this.getConnectorProperties()[t]},t.prototype.setConnectorPropertyValue=function(t,e){this.getConnectorProperties()[t]=e},t.prototype.getStyle=function(){return this.style||(this.style=this.baseProperties?this.baseProperties.getStyle().clone():new i.Style,this.disableMergingStyles||this.updateStyle(this.style,\"style\")),this.style},t.prototype.getStylePropertyValue=function(t){return this.getStyle()[t]},t.prototype.setStylePropertyValue=function(t,e){this.getStyle()[t]=e},t.prototype.getTextStyle=function(){return this.textStyle||(this.textStyle=this.baseProperties?this.baseProperties.getTextStyle().clone():new i.TextStyle,this.disableMergingStyles||this.updateStyle(this.textStyle,\"styleText\")),this.textStyle},t.prototype.getTextStylePropertyValue=function(t){return this.getTextStyle()[t]},t.prototype.setTextStylePropertyValue=function(t,e){this.getTextStyle()[t]=e},t.prototype.updateConnectorProperties=function(t){var e=this,n=this.selection.getSelectedConnectors(!0);t.forEach((function(o){e.updatePropertyValue(t,n,(function(t){return t.properties}),o)}))},t.prototype.updateStyle=function(t,e){var n=this,o=this.selection.getSelectedItems(!0);t.forEach((function(i){n.updatePropertyValue(t,o,(function(t){return t[e]}),i)}))},t.prototype.updatePropertyValue=function(t,e,n,o){var i,r=!1;e.forEach((function(t){var e=n(t)[o];if(void 0===i&&void 0!==e)i=e,r=!0;else if(r&&i!==e)return void(i=void 0)})),r&&(t[o]=i)},t}();e.InputPositionProperties=r},9021:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.Selection=void 0;var o=n(8675),i=n(5401),r=n(5503),s=n(7959),a=n(4914),c=function(){function t(t){this.onChanged=new o.EventDispatcher,this.inputPosition=new i.InputPosition(this),this.onChanged.add(this.inputPosition),this.initialize(t)}return t.prototype.initialize=function(t){this.model=t,this.keys=[],this.inputPosition.initialize()},t.prototype.add=function(t){this.keys.indexOf(t)<0&&(this.keys.push(t),this.raiseSelectionChanged())},t.prototype.remove=function(t){this.keys.indexOf(t)>=0&&(this.keys.splice(this.keys.indexOf(t),1),this.raiseSelectionChanged())},t.prototype.clear=function(){this.keys.length>0&&(this.keys=[],this.raiseSelectionChanged())},t.prototype.set=function(t,e){!e&&a.Data.ArrayEqual(t,this.keys)||(this.keys=t,this.raiseSelectionChanged())},t.prototype.getKeys=function(){return this.keys},t.prototype.getKey=function(t){return this.keys[t]},t.prototype.getSelectedItemsInsideContainers=function(t){var e=this,n=t.slice();return t.forEach((function(t){t instanceof r.Shape&&e.getSelectedItemsInsideContainers(e.model.getChildren(t)).forEach((function(t){-1!==n.indexOf(t)||e.hasKey(t.key)||n.push(t)}))})),n},t.prototype.getSelectedItemsCore=function(t){var e=this;return this.keys.map((function(t){return e.model.findItem(t)})).filter((function(e){return e&&(t||!e.isLocked)}))},t.prototype.getSelectedItems=function(t,e){return e?this.getSelectedItemsInsideContainers(this.getSelectedItemsCore(t)):this.getSelectedItemsCore(t)},t.prototype.getSelectedShapes=function(t,e){var n=this;if(e){var o=this.getSelectedItemsCore(t);return this.getSelectedItemsInsideContainers(o).map((function(t){return t instanceof r.Shape?t:void 0})).filter((function(t){return t}))}return this.keys.map((function(t){return n.model.findShape(t)})).filter((function(e){return e&&(t||!e.isLocked)}))},t.prototype.getSelectedConnectors=function(t,e){var n=this;if(e){var o=this.keys.map((function(t){return n.model.findItem(t)}));return this.getSelectedItemsInsideContainers(o).map((function(t){return t instanceof s.Connector?t:void 0})).filter((function(e){return e&&(t||!e.isLocked)}))}return this.keys.map((function(t){return n.model.findConnector(t)})).filter((function(e){return e&&(t||!e.isLocked)}))},t.prototype.hasKey=function(t){return this.keys.indexOf(t)>=0},t.prototype.isEmpty=function(t){return!this.getSelectedItems(t).length},t.prototype.selectRect=function(t){var e=[];this.model.iterateItems((function(n){n.intersectedByRect(t)&&e.push(n.key)})),this.set(e)},t.prototype.raiseSelectionChanged=function(){this.onChanged.raise(\"notifySelectionChanged\",this)},t}();e.Selection=c},240:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ConnectorRoutingMode=e.AutoZoomMode=e.DiagramSettings=void 0;var o,i,r=n(8675),s=n(6353),a=n(5383),c=n(4867),u=function(){function t(){this.onZoomChanged=new r.EventDispatcher,this.onViewChanged=new r.EventDispatcher,this.onReadOnlyChanged=new r.EventDispatcher,this.onConnectorRoutingModeChanged=new r.EventDispatcher,this._zoomLevel=1,this._zoomLevelWasChanged=!1,this._zoomLevelItems=[.5,.75,1,1.25,1.5,2,3],this._simpleView=!1,this._fullscreen=!1,this._readOnly=!1,this._autoZoom=o.Disabled,this._snapToGrid=!0,this._showGrid=!0,this._contextMenuEnabled=!0,this._gridSize=180,this._gridSizeItems=[90,180,360,720],this._pageSizeItems=[{size:new s.Size(12240,15840),text:\"US-Letter ({width} x {height})\"},{size:new s.Size(12240,20160),text:\"US-Legal ({width} x {height})\"},{size:new s.Size(15817,24491),text:\"US-Tabloid ({width} x {height})\"},{size:new s.Size(47679,67408),text:\"A0 ({width} x {height})\"},{size:new s.Size(33676,47679),text:\"A1 ({width} x {height})\"},{size:new s.Size(23811,33676),text:\"A2 ({width} x {height})\"},{size:new s.Size(16838,23811),text:\"A3 ({width} x {height})\"},{size:new s.Size(11906,16838),text:\"A4 ({width} x {height})\"},{size:new s.Size(8391,11906),text:\"A5 ({width} x {height})\"},{size:new s.Size(5953,8391),text:\"A6 ({width} x {height})\"},{size:new s.Size(4195,5953),text:\"A7 ({width} x {height})\"}],this._viewUnits=a.DiagramUnit.In,this._connectorRoutingMode=i.AllShapesOnly,this._reloadInsertedItemRequired=!1,this._useCanvgForExportToImage=!0}return Object.defineProperty(t.prototype,\"zoomLevel\",{get:function(){return this._zoomLevel},set:function(e){var n=this;(e=t.correctZoomLevel(e))!==this._zoomLevel&&(this._zoomLevel=e,this._zoomLevelWasChanged=!0,this.onZoomChanged.raise1((function(t){return t.notifyZoomChanged(e,n._autoZoom)})))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"zoomLevelWasChanged\",{get:function(){return this._zoomLevelWasChanged},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"zoomLevelItems\",{get:function(){return this._zoomLevelItems},set:function(e){(e=e.map((function(e){return t.correctZoomLevel(e)})))!==this._zoomLevelItems&&(this._zoomLevelItems=e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"autoZoom\",{get:function(){return this._autoZoom},set:function(t){var e=this;t!==this._autoZoom&&(this._autoZoom=t,this.onZoomChanged.raise1((function(n){return n.notifyZoomChanged(e._zoomLevel,t)})))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"simpleView\",{get:function(){return this._simpleView},set:function(t){t!==this._simpleView&&(this._simpleView=t,this.notifyViewChanged())},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"readOnly\",{get:function(){return this._readOnly},set:function(t){t!==this._readOnly&&(this._readOnly=t,this.onReadOnlyChanged.raise1((function(e){return e.notifyReadOnlyChanged(t)})))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"fullscreen\",{get:function(){return this._fullscreen},set:function(t){this._fullscreen=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"snapToGrid\",{get:function(){return this._snapToGrid},set:function(t){this._snapToGrid=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"showGrid\",{get:function(){return this._showGrid},set:function(t){var e=this;t!==this._showGrid&&(this._showGrid=t,this.onViewChanged.raise1((function(t){return t.notifyGridChanged(e.showGrid,e.gridSize)})))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"contextMenuEnabled\",{get:function(){return this._contextMenuEnabled},set:function(t){this._contextMenuEnabled=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"gridSize\",{get:function(){return this._gridSize},set:function(t){var e=this;t!==this._gridSize&&(this._gridSize=t,this.onViewChanged.raise1((function(t){return t.notifyGridChanged(e.showGrid,e.gridSize)})))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"gridSizeItems\",{get:function(){return this._gridSizeItems},set:function(t){t!==this._gridSizeItems&&(this._gridSizeItems=t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"pageSizeItems\",{get:function(){return this._pageSizeItems},set:function(t){t!==this._pageSizeItems&&(this._pageSizeItems=t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"viewUnits\",{get:function(){return this._viewUnits},set:function(t){this._viewUnits=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"connectorRoutingMode\",{get:function(){return this._connectorRoutingMode},set:function(t){t!==this._connectorRoutingMode&&(this._connectorRoutingMode=t,this.onConnectorRoutingModeChanged.raise1((function(e){return e.notifyConnectorRoutingModeChanged(t)})))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"reloadInsertedItemRequired\",{get:function(){return this._reloadInsertedItemRequired},set:function(t){this._reloadInsertedItemRequired=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"useCanvgForExportToImage\",{get:function(){return this._useCanvgForExportToImage},set:function(t){this._useCanvgForExportToImage=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"shapeMinWidth\",{get:function(){return this._shapeMinWidth},set:function(t){this._shapeMinWidth=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"shapeMinHeight\",{get:function(){return this._shapeMinHeight},set:function(t){this._shapeMinHeight=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"shapeMaxWidth\",{get:function(){return this._shapeMaxWidth},set:function(t){this._shapeMaxWidth=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"shapeMaxHeight\",{get:function(){return this._shapeMaxHeight},set:function(t){this._shapeMaxHeight=t},enumerable:!1,configurable:!0}),t.prototype.applyShapeSizeSettings=function(t,e){t&&(\"number\"==typeof t.shapeMaxHeight&&(this.shapeMaxHeight=c.ModelUtils.getTwipsValue(e,t.shapeMaxHeight)),\"number\"==typeof t.shapeMinHeight&&(this.shapeMinHeight=c.ModelUtils.getTwipsValue(e,t.shapeMinHeight)),\"number\"==typeof t.shapeMaxWidth&&(this.shapeMaxWidth=c.ModelUtils.getTwipsValue(e,t.shapeMaxWidth)),\"number\"==typeof t.shapeMinWidth&&(this.shapeMinWidth=c.ModelUtils.getTwipsValue(e,t.shapeMinWidth)))},t.prototype.notifyViewChanged=function(){var t=this;this.onViewChanged.raise1((function(e){return e.notifyViewChanged(t._simpleView)}))},t.correctZoomLevel=function(t){return Math.min(10,Math.max(t,.01))},t}();e.DiagramSettings=u,function(t){t[t.Disabled=0]=\"Disabled\",t[t.FitContent=1]=\"FitContent\",t[t.FitToWidth=2]=\"FitToWidth\"}(o=e.AutoZoomMode||(e.AutoZoomMode={})),function(t){t[t.None=0]=\"None\",t[t.ConnectorShapesOnly=1]=\"ConnectorShapesOnly\",t[t.AllShapesOnly=2]=\"AllShapesOnly\"}(i=e.ConnectorRoutingMode||(e.ConnectorRoutingMode={}))},2230:function(t,e,n){var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},o(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.BarManager=void 0;var r=function(t){function e(e){var n=t.call(this)||this;return n.bars=[],n.control=e,n}return i(e,t),e.prototype.clean=function(){var t=this;this.bars.forEach((function(e){return e.onChanged.remove(t)})),this.bars=[]},e.prototype.registerBar=function(t){this.bars.push(t),t.onChanged.add(this),this.updateBarItemsState(t)},e.prototype.updateItemsState=function(t){if(!this.isUpdateLocked())for(var e=0,n=void 0;n=this.bars[e];e++)this.updateBarItemsState(n,t)},e.prototype.updateBarItemsState=function(t,e){if(!this.isUpdateLocked()){if(this.control.permissionsProvider.beginUpdateUI(),t.isVisible()){var n=void 0;if(e){var o=t.getCommandKeys().reduce((function(t,e){return t[e]=!0,t}),{});n=e.filter((function(t){return o[t]}))}else n=t.getCommandKeys();for(var i=n.length,r=0;r{Object.defineProperty(e,\"__esModule\",{value:!0}),e.EventUtils=e.HtmlFocusUtils=e.ObjectUtils=e.GeometryUtils=e.Utils=e.EventDispatcher=e.Range=e.LineEquation=void 0,n(7097);var o=n(6353),i=n(8900),r=n(8011),s=n(2400),a=n(5596),c=n(8679),u=n(9716),h=n(1335),p=n(1552),l=n(9279),d=n(3714),f=function(){function t(t,e,n){this.aParam=t,this.bParam=e,this.cParam=n}return t.fromPoints=function(e,n,o){return void 0===o&&(o=1e-5),v.areDuplicatedPoints(e,n,o)?void 0:new t(n.y-e.y,e.x-n.x,n.x*e.y-e.x*n.y)},t.prototype.getPointIntersection=function(t,e){void 0===e&&(e=1e-5);var n=this.aParam,o=this.bParam,i=this.cParam,r=t.aParam,s=t.bParam,a=t.cParam,u=r*o-n*s;if(c.MathUtils.numberCloseTo(u,0,e))return null;if(0===n){var h=(s*i-a*o)/(o*r);return this.createPoint(h,-i/o)}var p=(a*n-i*r)/u;return this.createPoint((-o*p-i)/n,p)},t.prototype.containsPoint=function(t,e){return void 0===e&&(e=1e-5),c.MathUtils.numberCloseTo(this.aParam*t.x+this.bParam*t.y+this.cParam,0,e)},t.prototype.createPoint=function(t,e,n){return void 0===n&&(n=1e-5),new i.Point(c.MathUtils.numberCloseTo(t,0,n)?0:t,c.MathUtils.numberCloseTo(e,0,n)?0:e)},t}();e.LineEquation=f;var y=function(){function t(t,e){this.from=t,this.to=void 0!==e?e:t}return Object.defineProperty(t.prototype,\"length\",{get:function(){return Math.abs(this.to-this.from)},enumerable:!1,configurable:!0}),t.prototype.extend=function(t){this.from=Math.min(t.from,this.from),this.to=Math.max(t.to,this.to)},t.prototype.includes=function(t){return t>=this.from&&t<=this.to},t.fromLength=function(e,n){return new t(e,e+n)},t}();e.Range=y;var g=function(){function t(){this.listeners=[]}return t.prototype.add=function(t){if(!t)throw new Error(\"Not Implemented\");this.hasEventListener(t)||this.listeners.push(t)},t.prototype.remove=function(t){for(var e=0,n=void 0;n=this.listeners[e];e++)if(n===t){this.listeners.splice(e,1);break}},t.prototype.raise=function(t){for(var e=[],n=1;n0)d=f;else if(0===f)return new i.Point(r[d],a[l])}return null},t.checkRect=function(t,e,n,o,i,r,s){for(var a=0,c=0,u=n.length-2,h=o;h0)o.filter((function(t){return 1===p.length?!t.containsPoint(p[0].startPoint)&&!t.containsPoint(p[0].endPoint):t!==p[0]&&t!==p[1]})).some((function(t){return s.isIntersected(t)}))&&!i&&(i=!0);return r||(r=!0),\"continue\"}if(!u&&h){i||(i=!0,r&&(r=!1));var l=o.filter((function(t){return t.containsPoint(c)}));if(l.length>0)o.filter((function(t){return 1===l.length?!t.containsPoint(l[0].startPoint)&&!t.containsPoint(l[0].endPoint):t!==l[0]&&t!==l[1]})).some((function(t){return s.isIntersected(t)}))&&!r&&(r=!0);return\"continue\"}var d=o.filter((function(t){return t.containsPoint(a)})),f=o.filter((function(t){return t.containsPoint(c)}));if(2===d.length&&2===f.length)return{value:!0};if(1===d.length&&1===f.length&&d[0]!==f[0])return{value:!0};r||1!==f.length||d.length||(r=!0),i||1!==d.length||f.length||(i=!0,r&&(r=!1))}},a=0;a2;){var a=this.getNextPoint(e,s,1,o),c=this.getNextPoint(e,s,-1,o);c&&a&&!t.isRightAngleCorner(c,r,a,i)&&n(r,s)||s++}},t.removeDuplicatedPoints=function(e,n,o,i){void 0===o&&(o=function(t){return void 0!==t}),void 0===i&&(i=1e-5);for(var r,s=0;(r=e[s])&&e.length>2;){var a=this.getNextPoint(e,s,1,o);if(a&&t.areDuplicatedPoints(r,a,i)){var c=s===e.length-2?s:s+1;if(n(e[c],c))continue}s++}},t.removeNotCornersPoints=function(e,n,o,i){void 0===o&&(o=function(t){return void 0!==t}),void 0===i&&(i=1e-5);for(var r,s=0;(r=e[s])&&e.length>2;){var a=this.getNextPoint(e,s,1,o),c=this.getNextPoint(e,s,-1,o);c&&a&&!t.isCorner(c,r,a,i)&&n(r,s)||s++}},t.removeBackwardPoints=function(e,n,o,i){void 0===o&&(o=function(t){return void 0!==t}),void 0===i&&(i=1e-5);for(var r,s=0;(r=e[s])&&e.length>2;){var a=this.getNextPoint(e,s,1,o),c=this.getNextPoint(e,s,-1,o);c&&a&&t.isBackwardPoint(c,r,a,i)&&n(r,s)||s++}},t.isRightAngleCorner=function(e,n,o,i){return void 0===i&&(i=1e-5),c.MathUtils.numberCloseTo(t.createAngle(e,n,o),Math.PI/2,i)||c.MathUtils.numberCloseTo(t.createAngle(e,n,o),Math.PI,i)||c.MathUtils.numberCloseTo(t.createAngle(e,n,o),3*Math.PI/2,i)},t.isCorner=function(e,n,o,i){return void 0===i&&(i=1e-5),!c.MathUtils.numberCloseTo(t.createAngle(e,n,o),0,i)},t.areDuplicatedPoints=function(t,e,n){return void 0===n&&(n=1e-5),c.MathUtils.numberCloseTo(t.x,e.x,n)&&c.MathUtils.numberCloseTo(t.y,e.y,n)},t.isBackwardPoint=function(e,n,o,i){return void 0===i&&(i=1e-5),c.MathUtils.numberCloseTo(t.createAngle(e,n,o),Math.PI,i)},t.createAngle=function(t,e,n){var o=u.Vector.fromPoints(e,n),i=u.Vector.fromPoints(t,e),r=o.x,s=o.y,a=i.x,c=i.y,h=Math.atan2(r*c-a*s,r*a+s*c);return h<0?2*Math.PI+h:h},t.getNextPoint=function(t,e,n,o){for(var i,r=e+n;i=t[r];){if(o(i))return i;r+=n}},t.addSelectedLinesTo=function(t,e,n,o,i,r,s,a,u,h,p,l,d,f){void 0===f&&(f=1e-5);var y=e.y-t.y,g=n.y-e.y,m=t.x-e.x,v=e.x-n.x,P=y*v-g*m;if(!c.MathUtils.numberCloseTo(P,0,f)){var C=y*(t.x+o)+m*(t.y+i),S=g*(e.x+a)+v*(e.y+u);l((v*C-m*S)/P,(y*S-g*C)/P);var x=y*(t.x+r)+m*(t.y+s),b=g*(e.x+h)+v*(e.y+p);d((v*x-m*b)/P,(y*b-g*x)/P)}},t.getSelectionOffsetPoint=function(t,e,n){return new i.Point((t.y-e.y)/n,(e.x-t.x)/n)},t.getSelectionTextStartEndPoints=function(t,e,n,o,r,s){var a=(e.x-t.x)/n,c=(e.y-t.y)/n,u=r.width*a+r.height*c;switch(s){case p.TextAlignment.Left:return[o,new i.Point(o.x+a*u,o.y+c*u)];case p.TextAlignment.Right:return[new i.Point(o.x-a*u,o.y-c*u),o];default:return[new i.Point(o.x-.5*a*u,o.y-.5*c*u),new i.Point(o.x+.5*a*u,o.y+.5*c*u)]}},t.getPathLength=function(t){var e,n=0;return t.forEach((function(t){void 0!==e&&(n+=a.Metrics.euclideanDistance(t,e)),e=t})),n},t.getPathPointByPosition=function(t,e){if(!t.length)throw new Error(\"Invalid points\");if(0>e||e>1)throw new Error(\"Invalid relative position\");var n=this.getPathLength(t);if(t.length<=2&&0===n||0===e)return[t[0],0];for(var o=n*e,r=0,s=1;s=o){var u=o-r,h=(t[s].x-t[s-1].x)/c,p=(t[s].y-t[s-1].y)/c;return[new i.Point(t[s-1].x+h*u,t[s-1].y+p*u),s]}r+=c}return[t[t.length-1],t.length-1]},t.getLineAngle=function(t,e){return Math.atan2(e.y-t.y,e.x-t.x)},t.getTriangleBeginAngle=function(t,e,n){var o=this.getLineAngle(t,e),i=this.getLineAngle(t,n);return Math.abs(i-o)},t.getTriangleEndAngle=function(t,e,n){var o=this.getLineAngle(t,e),i=this.getLineAngle(n,e);return Math.abs(o-i)},t.getPathPointByPoint=function(t,e){if(!t.length)throw new Error(\"Invalid points\");if(1===t.length)return t[0];for(var n,o=Number.MAX_VALUE,i=1;i=y&&y>=-Math.PI/2?(g*=v?1:-1,m*=v?1:-1):-Math.PI/2>=y&&y>=-Math.PI&&(g*=v?-1:1,m*=v?1:-1),n=e.clone().offset(g,m)}}return n},t.getPathPositionByPoint=function(t,e,n){void 0===n&&(n=100),e=this.getPathPointByPoint(t,e);for(var o=this.getPathLength(t),i=0,r=1;ro.top&&(r=-s.top-o.top+1),s.left<0&&-s.left>o.left&&(i=-s.left-o.left+1)),t.style.setProperty(\"left\",i+\"px\",\"important\"),t.style.setProperty(\"top\",r+\"px\",\"important\")}}if(t.focus({preventScroll:!0}),e){var a=this.getHtmlScrollPosition();P.compareObjects(n,a)||this.setHtmlScrollPosition(n),t.style.setProperty(\"left\",\"-1000px\",\"important\"),t.style.setProperty(\"top\",\"-1000px\",\"important\")}}catch(t){}},t.getHtmlScrollPosition=function(){return{pos:this.getDocumentScrollPosition(window,document),iframePos:window.top!==window&&this.getDocumentScrollPosition(window.top,window.top.document)}},t.getDocumentScrollPosition=function(t,e){return{left:t.pageXOffset||e.documentElement.scrollLeft||e.body.scrollLeft,top:t.pageYOffset||e.documentElement.scrollTop||e.body.scrollTop}},t.setHtmlScrollPosition=function(t){this.setDocumentScrollPosition(document,t.pos),window.top!==window&&t.iframePos&&this.setDocumentScrollPosition(window.top.document,t.iframePos)},t.setDocumentScrollPosition=function(t,e){t.documentElement.scrollTop=e.top,t.documentElement.scrollLeft=e.left,t.body.scrollTop=e.top,t.body.scrollLeft=e.left},t}();e.HtmlFocusUtils=C;var S=function(){function t(){}return t.isLeftButtonPressed=function(t){return d.EvtUtils.isLeftButtonPressed(t)},t.isPointerEvents=function(){return window.PointerEvent},t.isMousePointer=function(t){return this.isPointerEvents()&&(t.pointerType&&\"mouse\"===t.pointerType||l.Browser.Firefox&&\"click\"===t.type)},t.isTouchMode=function(){return l.Browser.TouchUI||window.navigator&&window.navigator.maxTouchPoints>0},t.isTouchEvent=function(e){return l.Browser.TouchUI||!t.isMousePointer(e)},t}();e.EventUtils=S},4914:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.Data=e.SetAbsoluteY=e.SetAbsoluteX=void 0;var o=n(6907),i=n(2491);function r(t){return!isNaN(parseFloat(t))&&isFinite(t)}function s(t,e,n){return t-=function(t,e){var n=function(t){var e=document.createElement(\"DIV\");return e.style.top=\"0px\",e.style.left=\"0px\",e.style.visibility=\"hidden\",e.style.position=o.DomUtils.getCurrentStyle(t).position,e}(t);\"static\"===n.style.position&&(n.style.position=\"absolute\");t.parentNode.appendChild(n);var i=e?o.DomUtils.getAbsolutePositionX(n):o.DomUtils.getAbsolutePositionY(n);return t.parentNode.removeChild(n),Math.round(i)}(e,n),t}e.SetAbsoluteX=function(t,e){t.style.left=s(e,t,!0)+\"px\"},e.SetAbsoluteY=function(t,e){t.style.top=s(e,t,!1)+\"px\"};var a=function(){function t(){}return t.ArrayInsert=function(t,e,n){if(0<=n&&nn;o--)t[o]=t[o-1];t[n]=e}else t.push(e)},t.ArrayRemove=function(e,n){var o=t.ArrayIndexOf(e,n);o>-1&&t.ArrayRemoveAt(e,o)},t.ArrayRemoveAt=function(t,e){if(e>=0&&e0;)t.pop()},t.ArrayIndexOf=function(t,e,n){if(n){for(o=0;o=0},t.ArrayEqual=function(t,e){var n=t.length;if(n!==e.length)return!1;for(var o=0;on?o=1:t=n?0:o>1),u=o(e,c,n);if(0===u)return c;u<0?r=c+1:a=c-1}return-(r+1)},t.ArrayFlatten=function(t){var e=[];return t.forEach((function(t){e=e.concat(t)})),e},t.GetDistinctArray=function(e){for(var n=[],o=0;o{Object.defineProperty(e,\"__esModule\",{value:!0}),e.isColorProperty=void 0;var n={stroke:!0,fill:!0};e.isColorProperty=function(t){return n[t]}},3490:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.getLineHeight=e.getTextHeight=e.getTextLineSize=e.getOptimalTextRectangle=e.TEXTRECT_RATIO_EPS=e.textToParagraphs=e.textToWords=e.wordsByLines=e.LINE_HEIGHT=void 0;var o=n(8675),i=n(6353),r=n(4914),s=/\\s/gm;function a(t,e,n){if(1===e.length)return e;for(var o=n(),i=o.words[\" \"].width,r=[],s=0,a=-1,c=0;ct?(a=r.push(u)-1,s=h):(s+=i+h,r[a]+=\" \"+u)}return r}function c(t){return t.split(s).filter((function(t){return t.length}))}function u(t){return t.split(\"\\n\")}e.LINE_HEIGHT=1.05,e.wordsByLines=a,e.textToWords=c,e.textToParagraphs=u,e.TEXTRECT_RATIO_EPS=1.2;var h=1;function p(t,e,n){var o=t<1?1/t:t,i=e<1?1/e:e,r=o/i;return(r<1?1/r:r)<=n?0:i>o?1:-1}function l(t,e,n,o){return d(y(t,e,n,!1),o)}function d(t,e){return[r.Data.byRange(t,e.from,e.to),t<=e.to]}function f(t,e){return c(t).reduce((function(t,n,o){var i=e.words[n];return t.width+=i.width,t.height=Math.max(t.height,i.height),o>0&&(t.width+=e.words[\" \"].width),t}),new i.Size(0,0))}function y(t,e,n,o){var i=Array.isArray(t)?t:u(t);return!o||i.length&&(1!==i.length||i[0].length)?i.reduce((function(t,o){return t+a(e,c(o),(function(){return n})).length}),0)*g(n):g(n)}function g(t){return t.fontSize*e.LINE_HEIGHT}e.getOptimalTextRectangle=function(t,n,s,a,c,g,m,v,P,C){if(void 0===m&&(m=0),void 0===v&&(v=Number.MAX_SAFE_INTEGER||Number.MAX_VALUE),void 0===P&&(P=0),void 0===C&&(C=Number.MAX_SAFE_INTEGER||Number.MAX_VALUE),!t)return new i.Size(r.Data.byRange(c.width,m,v),r.Data.byRange(c.height,P,C));if(m>v||P>C)throw new Error(\"Min size cannot exceed max size\");if(m===v&&P===C)return new i.Size(m,P);var S=a.measureWords(t,n,s),x=u(t),b=Object.keys(S.words).reduce((function(t,e){return Math.max(t,S.words[e].width)}),0),I=new o.Range(r.Data.byRange(Math.max(c.width,b),m,v),v),w=new o.Range(r.Data.byRange(c.height,P,C),C);if(b<=c.width&&y(x,c.width,S,!1)<=c.height&&I.includes(c.width)&&w.includes(c.height))return c;var _=c.width/c.height;return function(t,n,o,s,a,c){for(var u,y,g=t.reduce((function(t,e){return Math.max(t,f(e,n).width)}),0),m=new i.Size(0,0),v=new i.Size(0,0),P=0,C=0,S=0;S<5;S++){if(0===S)v.width=d(g,s)[0];else{if(!(Math.abs(P)>h))break;v.width=d(m.width+P,s)[0]}if(u=l(t,v.width,n,a),v.height=u[0],y=u[1],0===S&&(C=(m=v.clone()).width/m.height/o),0===S&&!y)break;var x=v.width/v.height,b=x/o;if(0===S)P=(v.width/b-v.width)/2;else if(y){if(!p(o,x,e.TEXTRECT_RATIO_EPS)){m=v.clone(),C=b;break}if(!(p(C,b,1)<0))break;m=v.clone(),C=b,P=(v.width/b-v.width)/2,b<1&&(P/=2)}else P/=2}c&&(m.height=r.Data.byRange(m.width/o,m.height,a.to));return m}(x,S,_,I,w,g)},e.getTextLineSize=f,e.getTextHeight=y,e.getLineHeight=g},6734:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ViewController=void 0;var o=n(7156),i=Math.log(.05),r=Math.log(3),s=h(1),a=[o.DiagramCommand.ZoomLevel,o.DiagramCommand.ZoomLevelInPercentage,o.DiagramCommand.Zoom100,o.DiagramCommand.Zoom125,o.DiagramCommand.Zoom200,o.DiagramCommand.Zoom25,o.DiagramCommand.Zoom50,o.DiagramCommand.Zoom75],c=[o.DiagramCommand.SwitchAutoZoom,o.DiagramCommand.ToggleAutoZoom,o.DiagramCommand.AutoZoomToContent,o.DiagramCommand.AutoZoomToWidth],u=function(){function t(t,e){this.settings=t,this.bars=e,t.onZoomChanged.add(this),this.autoZoom=t.autoZoom}return t.prototype.initialize=function(t){this.view=t,this.view.onViewChanged.add(this)},t.prototype.scrollTo=function(t,e){this.view&&this.view.setScrollTo(t,e)},t.prototype.scrollBy=function(t){return!this.view||0===t.x&&0===t.y?t:this.view.scrollBy(t)},t.prototype.scrollIntoView=function(t){this.view&&this.view.scrollIntoView(t)},t.prototype.normalize=function(){this.view.tryNormalizePaddings()},t.prototype.getNextStepZoom=function(t){var e=this.getNearestCurrentZoomStep(),n=t?1:-1,o=Math.min(39,Math.max(0,e+n));if(o!==s){var a=i+(r-i)*o/39;return Math.exp(a)}return 1},t.prototype.getNearestCurrentZoomStep=function(){return h(this.getZoom())},t.prototype.getZoom=function(){return this.view?this.view.actualZoom:this.settings.zoomLevel},t.prototype.resetScroll=function(){this.view.adjust({horizontal:!0,vertical:!0})},t.prototype.notifyViewAdjusted=function(t){},t.prototype.notifyActualZoomChanged=function(t){this.bars.updateItemsState(a)},t.prototype.notifyZoomChanged=function(t,e){this.autoZoom!==e&&(this.autoZoom=e,this.bars.updateItemsState(c))},t}();function h(t){var e=Math.log(t);return Math.round(39*(e-i)/(r-i))}e.ViewController=u},3607:(t,e,n)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.DiagramModelOperation=e.Diagnostics=e.RenderHelper=e.DiagramLocalizationService=e.NativeConnector=e.NativeShape=e.ShapeType=e.ColorUtils=e.PageOrientation=e.ConnectorPosition=e.ConnectorLineOption=e.ConnectorLineEnding=e.AutoZoomMode=e.Browser=e.UnitConverter=e.EventDispatcher=e.DataLayoutOrientation=e.DataLayoutType=e.ShapeCategories=e.ShapeTypes=e.DiagramUnit=e.default=e.DiagramControl=e.DiagramCommand=e.Point=e.Size=void 0;var o=n(7156);Object.defineProperty(e,\"DiagramCommand\",{enumerable:!0,get:function(){return o.DiagramCommand}});var i=n(2106);Object.defineProperty(e,\"DiagramControl\",{enumerable:!0,get:function(){return i.DiagramControl}}),Object.defineProperty(e,\"default\",{enumerable:!0,get:function(){return i.DiagramControl}});var r=n(6353);Object.defineProperty(e,\"Size\",{enumerable:!0,get:function(){return r.Size}});var s=n(8900);Object.defineProperty(e,\"Point\",{enumerable:!0,get:function(){return s.Point}});var a=n(8675);Object.defineProperty(e,\"EventDispatcher\",{enumerable:!0,get:function(){return a.EventDispatcher}});var c=n(2259);Object.defineProperty(e,\"ShapeTypes\",{enumerable:!0,get:function(){return c.ShapeTypes}}),Object.defineProperty(e,\"ShapeCategories\",{enumerable:!0,get:function(){return c.ShapeCategories}}),Object.defineProperty(e,\"ShapeType\",{enumerable:!0,get:function(){return c.ShapeType}});var u=n(9291);Object.defineProperty(e,\"UnitConverter\",{enumerable:!0,get:function(){return u.UnitConverter}});var h=n(9279);Object.defineProperty(e,\"Browser\",{enumerable:!0,get:function(){return h.Browser}});var p=n(240);Object.defineProperty(e,\"AutoZoomMode\",{enumerable:!0,get:function(){return p.AutoZoomMode}});var l=n(3503);Object.defineProperty(e,\"DataLayoutType\",{enumerable:!0,get:function(){return l.DataLayoutType}});var d=n(8710);Object.defineProperty(e,\"DataLayoutOrientation\",{enumerable:!0,get:function(){return d.DataLayoutOrientation}}),n(8721);var f=n(4612);Object.defineProperty(e,\"ConnectorLineEnding\",{enumerable:!0,get:function(){return f.ConnectorLineEnding}}),Object.defineProperty(e,\"ConnectorLineOption\",{enumerable:!0,get:function(){return f.ConnectorLineOption}});var y=n(13);Object.defineProperty(e,\"ColorUtils\",{enumerable:!0,get:function(){return y.ColorUtils}});var g=n(9463);Object.defineProperty(e,\"Diagnostics\",{enumerable:!0,get:function(){return g.Diagnostics}});var m=n(7185);Object.defineProperty(e,\"NativeShape\",{enumerable:!0,get:function(){return m.NativeShape}}),Object.defineProperty(e,\"NativeConnector\",{enumerable:!0,get:function(){return m.NativeConnector}});var v=n(6224);Object.defineProperty(e,\"DiagramLocalizationService\",{enumerable:!0,get:function(){return v.DiagramLocalizationService}});var P=n(1114);Object.defineProperty(e,\"RenderHelper\",{enumerable:!0,get:function(){return P.RenderHelper}});var C=n(5383);Object.defineProperty(e,\"DiagramUnit\",{enumerable:!0,get:function(){return C.DiagramUnit}}),Object.defineProperty(e,\"PageOrientation\",{enumerable:!0,get:function(){return C.PageOrientation}});var S=n(6879);Object.defineProperty(e,\"DiagramModelOperation\",{enumerable:!0,get:function(){return S.DiagramModelOperation}});var x=n(7959);Object.defineProperty(e,\"ConnectorPosition\",{enumerable:!0,get:function(){return x.ConnectorPosition}})},655:(t,e,n)=>{n.r(e),n.d(e,{__assign:()=>r,__asyncDelegator:()=>C,__asyncGenerator:()=>P,__asyncValues:()=>S,__await:()=>v,__awaiter:()=>h,__classPrivateFieldGet:()=>_,__classPrivateFieldSet:()=>T,__createBinding:()=>l,__decorate:()=>a,__exportStar:()=>d,__extends:()=>i,__generator:()=>p,__importDefault:()=>w,__importStar:()=>I,__makeTemplateObject:()=>x,__metadata:()=>u,__param:()=>c,__read:()=>y,__rest:()=>s,__spread:()=>g,__spreadArrays:()=>m,__values:()=>f});var o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},o(t,e)};function i(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var r=function(){return r=Object.assign||function(t){for(var e,n=1,o=arguments.length;n=0;a--)(i=t[a])&&(s=(r<3?i(s):r>3?i(e,n,s):i(e,n))||s);return r>3&&s&&Object.defineProperty(e,n,s),s}function c(t,e){return function(n,o){e(n,o,t)}}function u(t,e){if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function h(t,e,n,o){return new(n||(n=Promise))((function(i,r){function s(t){try{c(o.next(t))}catch(t){r(t)}}function a(t){try{c(o.throw(t))}catch(t){r(t)}}function c(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}c((o=o.apply(t,e||[])).next())}))}function p(t,e){var n,o,i,r,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},\"function\"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(n)throw new TypeError(\"Generator is already executing.\");for(;s;)try{if(n=1,o&&(i=2&r[0]?o.return:r[0]?o.throw||((i=o.return)&&i.call(o),0):o.next)&&!(i=i.call(o,r[1])).done)return i;switch(o=0,i&&(r=[2&r[0],i.value]),r[0]){case 0:case 1:i=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,o=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==r[0]&&2!==r[0])){s=0;continue}if(3===r[0]&&(!i||r[1]>i[0]&&r[1]=t.length&&(t=void 0),{value:t&&t[o++],done:!t}}};throw new TypeError(e?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function y(t,e){var n=\"function\"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var o,i,r=n.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(o=r.next()).done;)s.push(o.value)}catch(t){i={error:t}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(i)throw i.error}}return s}function g(){for(var t=[],e=0;e1||a(t,e)}))})}function a(t,e){try{(n=i[t](e)).value instanceof v?Promise.resolve(n.value.v).then(c,u):h(r[0][2],n)}catch(t){h(r[0][3],t)}var n}function c(t){a(\"next\",t)}function u(t){a(\"throw\",t)}function h(t,e){t(e),r.shift(),r.length&&a(r[0][0],r[0][1])}}function C(t){var e,n;return e={},o(\"next\"),o(\"throw\",(function(t){throw t})),o(\"return\"),e[Symbol.iterator]=function(){return this},e;function o(o,i){e[o]=t[o]?function(e){return(n=!n)?{value:v(t[o](e)),done:\"return\"===o}:i?i(e):e}:i}}function S(t){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var e,n=t[Symbol.asyncIterator];return n?n.call(t):(t=f(t),e={},o(\"next\"),o(\"throw\"),o(\"return\"),e[Symbol.asyncIterator]=function(){return this},e);function o(n){e[n]=t[n]&&function(e){return new Promise((function(o,i){(function(t,e,n,o){Promise.resolve(o).then((function(e){t({value:e,done:n})}),e)})(o,i,(e=t[n](e)).done,e.value)}))}}}function x(t,e){return Object.defineProperty?Object.defineProperty(t,\"raw\",{value:e}):t.raw=e,t}var b=Object.create?function(t,e){Object.defineProperty(t,\"default\",{enumerable:!0,value:e})}:function(t,e){t.default=e};function I(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)\"default\"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&l(e,t,n);return b(e,t),e}function w(t){return t&&t.__esModule?t:{default:t}}function _(t,e){if(!e.has(t))throw new TypeError(\"attempted to get private field on non-instance\");return e.get(t)}function T(t,e,n){if(!e.has(t))throw new TypeError(\"attempted to set private field on non-instance\");return e.set(t,n),n}}},e={};function n(o){var i=e[o];if(void 0!==i)return i.exports;var r=e[o]={exports:{}};return t[o].call(r.exports,r,r.exports,n),r.exports}return n.d=(t,e)=>{for(var o in e)n.o(e,o)&&!n.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n(3607)})()));","/*! For license information please see dx-gantt.min.js.LICENSE.txt */\n!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.DevExpress=t():(e.DevExpress=e.DevExpress||{},e.DevExpress.Gantt=t())}(this,(()=>(()=>{\"use strict\";var e={9279:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Browser=void 0;var n=function(){function e(){}return e.IdentUserAgent=function(t,n){void 0===n&&(n=!1);var r=[\"Mozilla\",\"IE\",\"Firefox\",\"Netscape\",\"Safari\",\"Chrome\",\"Opera\",\"Opera10\",\"Edge\"],i=\"IE\",o=\"Win\",s={Safari:2,Chrome:.1,Mozilla:1.9,Netscape:8,Firefox:2,Opera:9,IE:6,Edge:12};if(t&&0!==t.length){t=t.toLowerCase(),e.indentPlatformMajorVersion(t);try{for(var a={Windows:\"Win\",Macintosh:\"Mac\",\"Mac OS\":\"Mac\",Mac_PowerPC:\"Mac\",\"cpu os\":\"MacMobile\",\"cpu iphone os\":\"MacMobile\",Android:\"Android\",\"!Windows Phone\":\"WinPhone\",\"!WPDesktop\":\"WinPhone\",\"!ZuneWP\":\"WinPhone\"},l=\"(?:/|\\\\s*)?\",c=\"(\\\\d+)(?:\\\\.((?:\\\\d+?[1-9])|\\\\d)0*?)?\",u=\"(?:\"+c+\")?\",d={Safari:\"applewebkit(?:.*?(?:version/\"+c+\"[\\\\.\\\\w\\\\d]*?(?:\\\\s+mobile/\\\\S*)?\\\\s+safari))?\",Chrome:\"(?:chrome|crios)(?!frame)\"+l+u,Mozilla:\"mozilla(?:.*rv:\"+u+\".*Gecko)?\",Netscape:\"(?:netscape|navigator)\\\\d*/?\\\\s*\"+u,Firefox:\"firefox\"+l+u,Opera:\"(?:opera|\\\\sopr)\"+l+u,Opera10:\"opera.*\\\\s*version\"+l+u,IE:\"msie\\\\s*\"+u,Edge:\"edge\"+l+u},p=null,h=-1,f=0;f=0){if(\"IE\"===p&&h>=11&&\"Safari\"===g)continue;\"Opera10\"===(p=g)&&(p=\"Opera\");var m=\"trident\"+l+u;h=e.GetBrowserVersion(t,y,m,e.getIECompatibleVersionString()),\"Mozilla\"===p&&h>=11&&(p=\"IE\")}}p||(p=i);var v=-1!==h;v||(h=s[p]);var T=null,b=Number.MAX_VALUE;for(var k in a)if(Object.prototype.hasOwnProperty.call(a,k)){var S=\"!\"===k.substr(0,1),_=t.indexOf((S?k.substr(1):k).toLowerCase());_>=0&&(_0;\"WinPhone\"===T&&h<9&&(h=Math.floor(e.getVersionFromTrident(t,\"trident\"+l+u))),!n&&\"IE\"===p&&h>7&&document.documentMode0},e.hasMsMaxTouchPoints=function(){return navigator.msMaxTouchPoints>0},e.hasNavigator=function(){return\"undefined\"!=typeof navigator},e.fillUserAgentInfo=function(t,n,r,i,o){void 0===o&&(o=!1);for(var s=0;s=15,e.NetscapeFamily=e.Netscape||e.Mozilla||e.Firefox,e.WebKitTouchUI=e.MacOSMobilePlatform||e.AndroidMobilePlatform;var l=e.IE&&e.MajorVersion>9&&e.WindowsPlatform&&e.UserAgent.toLowerCase().indexOf(\"touch\")>=0;if(e.MSTouchUI=l||e.Edge&&!!window.navigator.maxTouchPoints,e.TouchUI=e.WebKitTouchUI||e.MSTouchUI,e.MobileUI=e.WebKitTouchUI||e.WindowsPhonePlatform,e.AndroidDefaultBrowser=e.AndroidMobilePlatform&&!e.Chrome,e.AndroidChromeBrowser=e.AndroidMobilePlatform&&e.Chrome,o&&(e.SamsungAndroidDevice=o),e.MSTouchUI){var c=e.UserAgent.toLowerCase().indexOf(\"arm;\")>-1;e.VirtualKeyboardSupported=c||e.WindowsPhonePlatform}else e.VirtualKeyboardSupported=e.WebKitTouchUI;e.fillDocumentElementBrowserTypeClassNames(t)},e.indentPlatformMajorVersion=function(t){var n=/(?:(?:windows nt|macintosh|mac os|cpu os|cpu iphone os|android|windows phone|linux) )(\\d+)(?:[-0-9_.])*/.exec(t);n&&(e.PlaformMajorVersion=n[1])},e.getVersionFromMatches=function(e){var t=-1,n=\"\";return e&&(e[1]&&(n+=e[1],e[2]&&(n+=\".\"+e[2])),\"\"!==n&&(t=parseFloat(n),isNaN(t)&&(t=-1))),t},e.getVersionFromTrident=function(t,n){var r=new RegExp(n,\"i\").exec(t);return e.getVersionFromMatches(r)+4},e.fillDocumentElementBrowserTypeClassNames=function(t){for(var n=\"\",r=t.concat([\"WindowsPlatform\",\"MacOSPlatform\",\"MacOSMobilePlatform\",\"AndroidMobilePlatform\",\"WindowsPhonePlatform\",\"WebKitFamily\",\"WebKitTouchUI\",\"MSTouchUI\",\"TouchUI\",\"AndroidDefaultBrowser\"]),i=0;i{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ExtendedMinMax=t.ExtendedMax=t.ExtendedMin=t.MinMaxNumber=t.MinMax=void 0;var r=n(655),i=function(e,t){this.minElement=e,this.maxElement=t};t.MinMax=i;var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),Object.defineProperty(t.prototype,\"length\",{get:function(){return this.maxElement-this.minElement},enumerable:!1,configurable:!0}),t}(i);t.MinMaxNumber=o;var s=function(e,t){this.minElement=e,this.minValue=t};t.ExtendedMin=s;var a=function(e,t){this.maxElement=e,this.maxValue=t};t.ExtendedMax=a;var l=function(e){function t(t,n,r,i){var o=e.call(this,t,r)||this;return o.minValue=n,o.maxValue=i,o}return r.__extends(t,e),t}(i);t.ExtendedMinMax=l},3604:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Margins=void 0;var r=n(655),i=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.empty=function(){return new t(0,0,0,0)},t.prototype.clone=function(){return new t(this.left,this.right,this.top,this.bottom)},t}(n(4125).Offsets);t.Margins=i},5596:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Metrics=void 0;var n=function(){function e(){}return e.euclideanDistance=function(e,t){var n=e.x-t.x,r=e.y-t.y;return Math.sqrt(n*n+r*r)},e.manhattanDistance=function(e,t){return Math.abs(e.x-t.x)+Math.abs(e.y-t.y)},e}();t.Metrics=n},4125:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Offsets=void 0;var n=function(){function e(e,t,n,r){this.left=e,this.right=t,this.top=n,this.bottom=r}return e.empty=function(){return new e(0,0,0,0)},Object.defineProperty(e.prototype,\"horizontal\",{get:function(){return this.left+this.right},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"vertical\",{get:function(){return this.top+this.bottom},enumerable:!1,configurable:!0}),e.fromNumber=function(t){return new e(t,t,t,t)},e.fromOffsets=function(t){return new e(t.left,t.right,t.top,t.bottom)},e.fromSide=function(t,n){return new e(t,t,n,n)},e.prototype.normalize=function(){return this.left=Math.max(0,this.left),this.right=Math.max(0,this.right),this.top=Math.max(0,this.top),this.bottom=Math.max(0,this.bottom),this},e.prototype.toString=function(){return JSON.stringify(this)},e.prototype.isEmpty=function(){return 0===this.left&&0===this.right&&0===this.top&&0===this.bottom},e.prototype.offset=function(e){return this.left+=e.left,this.right+=e.right,this.top+=e.top,this.bottom+=e.bottom,this},e.prototype.multiply=function(e,t,n,r){switch(arguments.length){case 1:return this.left*=e,this.right*=e,this.top*=e,this.bottom*=e,this;case 2:return this.left*=e,this.right*=e,this.top*=t,this.bottom*=t,this;case 4:return this.left*=e,this.right*=t,this.top*=n,this.bottom*=r,this}return this},e.prototype.clone=function(){return new e(this.left,this.right,this.top,this.bottom)},e.prototype.copyFrom=function(e){this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom},e.prototype.equals=function(e){return this.top===e.top&&this.bottom===e.bottom&&this.right===e.right&&this.left===e.left},e.prototype.applyConverter=function(e){return this.left=e(this.left),this.right=e(this.right),this.top=e(this.top),this.bottom=e(this.bottom),this},e}();t.Offsets=n},8900:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Point=void 0;var n=function(){function e(e,t){this.x=e,this.y=t}return e.zero=function(){return new e(0,0)},e.fromNumber=function(t){return new e(t,t)},e.prototype.isZero=function(){return 0===this.x&&0===this.y},e.prototype.toString=function(){return JSON.stringify(this)},e.prototype.copyFrom=function(e){this.x=e.x,this.y=e.y},e.prototype.clone=function(){return new e(this.x,this.y)},e.prototype.equals=function(e){return this.x===e.x&&this.y===e.y},e.prototype.offset=function(e,t){return this.x+=e,this.y+=t,this},e.prototype.offsetByPoint=function(e){return this.x+=e.x,this.y+=e.y,this},e.prototype.multiply=function(e,t){return this.x*=e,this.y*=t,this},e.prototype.negative=function(){return this.x*=-1,this.y*=-1,this},e.prototype.applyConverter=function(e){return this.x=e(this.x),this.y=e(this.y),this},e.plus=function(t,n){return new e(t.x+n.x,t.y+n.y)},e.minus=function(t,n){return new e(t.x-n.x,t.y-n.y)},e.xComparer=function(e,t){return e.x-t.x},e.yComparer=function(e,t){return e.y-t.y},e.equals=function(e,t){return e.x===t.x&&e.y===t.y},e}();t.Point=n},6353:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Size=void 0;var n=function(){function e(e,t){this.width=e,this.height=t}return e.empty=function(){return new e(0,0)},e.fromNumber=function(t){return new e(t,t)},e.initByCommonAction=function(t){var n=function(e){return e.width},r=function(e){return e.height};return new e(t(n,r),t(r,n))},e.prototype.isEmpty=function(){return 0===this.width&&0===this.height},e.prototype.toString=function(){return JSON.stringify(this)},e.prototype.nonNegativeSize=function(){return this.width<0&&(this.width=0),this.height<0&&(this.height=0),this},e.prototype.offset=function(e,t){return this.width=this.width+e,this.height=this.height+t,this},e.prototype.multiply=function(e,t){return this.width*=e,this.height*=t,this},e.prototype.equals=function(e){return this.width===e.width&&this.height===e.height},e.prototype.clone=function(){return new e(this.width,this.height)},e.prototype.copyFrom=function(e){this.width=e.width,this.height=e.height},e.prototype.applyConverter=function(e){return this.width=e(this.width),this.height=e(this.height),this},e.equals=function(e,t){return e.width===t.width&&e.height===t.height},e}();t.Size=n},2217:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.AttrUtils=void 0;var r=n(9279),i=function(){function e(){}return e.setElementAttribute=function(e,t,n){e.setAttribute&&(r.Browser.IE&&r.Browser.MajorVersion>=11&&\"src\"===t.toLowerCase()&&e.setAttribute(t,\"\"),e.setAttribute(t,n))},e.setStyleAttribute=function(e,t,n){e.setProperty&&e.setProperty(t,n,\"\")},e.getElementAttribute=function(e,t){return e.getAttribute(t)},e.getStyleAttribute=function(e,t){if(e.getPropertyValue){if(r.Browser.Firefox)try{return e.getPropertyValue(t)}catch(n){return e[t]}return e.getPropertyValue(t)}return null},e.removeElementAttribute=function(e,t){e.removeAttribute&&e.removeAttribute(t)},e.removeStyleAttribute=function(e,t){e.removeProperty&&e.removeProperty(t)},e.changeElementStyleAttribute=function(t,n,r){e.saveStyleAttributeInElement(t,n),e.setStyleAttribute(t.style,n,r)},e.restoreElementStyleAttribute=function(t,n){var r=\"dxwu_saved\"+n,i=t.style;if(e.isExistsAttributeInElement(t,r)){var o=e.getElementAttribute(t,r);return o===e.emptyObject||null===o?e.removeStyleAttribute(i,n):e.setStyleAttribute(i,n,o),e.removeElementAttribute(t,r),!0}return!1},e.saveStyleAttributeInElement=function(t,n){var r=\"dxwu_saved\"+n,i=t.style;if(!e.isExistsAttributeInElement(t,r)){var o=e.getStyleAttribute(i,n);e.setElementAttribute(t,r,e.isAttributeExists(o)?o:e.emptyObject)}},e.isExistsAttributeInElement=function(t,n){var r=e.getElementAttribute(t,n);return e.isAttributeExists(r)},e.isAttributeExists=function(e){return null!==e&&\"\"!==e},e.emptyObject=\"DxEmptyValue\",e}();t.AttrUtils=i},2491:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.numberToStringHex=t.numberToStringBin=t.isOdd=t.isEven=t.isNonNullString=t.isString=t.isNumber=t.boolToString=t.boolToInt=t.isDefined=void 0;var r=n(49);t.isDefined=function(e){return null!=e},t.boolToInt=function(e){return e?1:0},t.boolToString=function(e){return e?\"1\":\"0\"},t.isNumber=function(e){return\"number\"==typeof e},t.isString=function(e){return\"string\"==typeof e},t.isNonNullString=function(e){return!!e},t.isEven=function(e){return e%2!=0},t.isOdd=function(e){return e%2==0},t.numberToStringBin=function(e,t){return void 0===t&&(t=0),r.StringUtils.padLeft(e.toString(2),t,\"0\")},t.numberToStringHex=function(e,t){return void 0===t&&(t=0),r.StringUtils.padLeft(e.toString(16),t,\"0\")}},4170:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Equals=t.Comparers=void 0;var n=function(){function e(){}return e.number=function(e,t){return e-t},e.string=function(e,t){return e===t?0:e>t?1:-1},e.stringIgnoreCase=function(e,t){return(e=e.toLowerCase())===(t=t.toLowerCase())?0:e>t?1:-1},e}();t.Comparers=n;var r=function(){function e(){}return e.simpleType=function(e,t){return e===t},e.object=function(e,t){return e&&t&&(e===t||e.equals(t))},e}();t.Equals=r},6907:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DomUtils=void 0;var r=n(9279),i=n(2491),o=n(8679),s=n(49),a=function(){function e(){}return e.clearInnerHtml=function(e){for(;e.firstChild;)e.removeChild(e.firstChild)},e.setStylePosition=function(e,t){e.left=o.MathUtils.round(t.x,3)+\"px\",e.top=o.MathUtils.round(t.y,3)+\"px\"},e.setStyleSize=function(e,t){e.width=o.MathUtils.round(t.width,3)+\"px\",e.height=o.MathUtils.round(t.height,3)+\"px\"},e.setStyleSizeAndPosition=function(t,n){e.setStylePosition(t,n),e.setStyleSize(t,n)},e.hideNode=function(e){if(e){var t=e.parentNode;t&&t.removeChild(e)}},e.isHTMLElementNode=function(e){return e.nodeType===Node.ELEMENT_NODE},e.isTextNode=function(e){return e.nodeType===Node.TEXT_NODE},e.isElementNode=function(e){return e.nodeType===Node.ELEMENT_NODE},e.isHTMLTableRowElement=function(e){return\"TR\"===e.tagName},e.isItParent=function(e,t){if(!e||!t)return!1;for(;t;){if(t===e)return!0;if(\"BODY\"===t.tagName)return!1;t=t.parentNode}return!1},e.getParentByTagName=function(e,t){for(t=t.toUpperCase();e;){if(\"BODY\"===e.tagName)return null;if(e.tagName===t)return e;e=e.parentNode}return null},e.getDocumentScrollTop=function(){var t=r.Browser.IE&&\"hidden\"===e.getCurrentStyle(document.body).overflow&&document.body.scrollTop>0;return r.Browser.WebKitFamily||r.Browser.Edge||t?r.Browser.MacOSMobilePlatform?window.pageYOffset:r.Browser.WebKitFamily&&document.documentElement.scrollTop||document.body.scrollTop:document.documentElement.scrollTop},e.getDocumentScrollLeft=function(){var t=r.Browser.IE&&\"hidden\"===e.getCurrentStyle(document.body).overflow&&document.body.scrollLeft>0;return r.Browser.Edge||t?document.body?document.body.scrollLeft:document.documentElement.scrollLeft:r.Browser.WebKitFamily?document.documentElement.scrollLeft||document.body.scrollLeft:document.documentElement.scrollLeft},e.getCurrentStyle=function(e){if(e.currentStyle)return e.currentStyle;if(document.defaultView&&document.defaultView.getComputedStyle){var t=document.defaultView.getComputedStyle(e,null);if(!t&&r.Browser.Firefox&&window.frameElement){for(var n=[],o=window.frameElement;!(t=document.defaultView.getComputedStyle(e,null));)n.push([o,o.style.display]),o.style.setProperty(\"display\",\"block\",\"important\"),o=\"BODY\"===o.tagName?o.ownerDocument.defaultView.frameElement:o.parentNode;t=function(e){if(\"object\"!=typeof e||!i.isDefined(e))return e;var t={};for(var n in e)t[n]=e[n];return t}(t);for(var s=void 0,a=0;s=n[a];a++)s[0].style.display=s[1];document.body.offsetWidth}return t}return window.getComputedStyle(e,null)},e.setFocus=function(e){function t(){try{e.focus(),r.Browser.IE&&document.activeElement!==e&&e.focus()}catch(e){}}r.Browser.MacOSMobilePlatform?t():setTimeout((function(){t()}),100)},e.hasClassName=function(e,t){try{var n=t.split(\" \"),r=e.classList;if(r){for(var i=n.length-1;i>=0;i--)if(!r.contains(n[i]))return!1}else{var o=e.getAttribute&&e.getAttribute(\"class\");if(!o)return!1;var s=o.split(\" \");for(i=n.length-1;i>=0;i--)if(s.indexOf(n[i])<0)return!1}return!0}catch(e){return!1}},e.addClassName=function(t,n){if(!e.hasClassName(t,n)){var r=t.getAttribute&&t.getAttribute(\"class\");t.setAttribute(\"class\",\"\"===r?n:r+\" \"+n)}},e.removeClassName=function(e,t){var n=\" \"+(e.getAttribute&&e.getAttribute(\"class\"))+\" \",r=n.replace(\" \"+t+\" \",\" \");n.length!==r.length&&e.setAttribute(\"class\",s.StringUtils.trim(r))},e.toggleClassName=function(t,n,r){void 0===r?e.hasClassName(t,n)?e.removeClassName(t,n):e.addClassName(t,n):r?e.addClassName(t,n):e.removeClassName(t,n)},e.pxToInt=function(e){return l(e,parseInt)},e.pxToFloat=function(e){return l(e,parseFloat)},e.getAbsolutePositionY=function(t){function n(t){return Math.round(t.getBoundingClientRect().top+e.getDocumentScrollTop())}return t?r.Browser.IE?function(t){return r.Browser.IE&&null===t.parentNode?0:t.getBoundingClientRect().top+e.getDocumentScrollTop()}(t):r.Browser.Firefox&&r.Browser.Version>=3?n(t):r.Browser.Opera?function(t){var n=!0;t&&e.isHTMLTableRowElement(t)&&t.cells.length>0&&(t=t.cells[0]);for(var r=c(t,!1);null!=t;)r+=t.offsetTop,n||(r-=t.scrollTop),t=t.offsetParent,n=!1;return r+=document.body.scrollTop}(t):r.Browser.NetscapeFamily&&(!r.Browser.Firefox||r.Browser.Version<3)?function(t){for(var n=c(t,!1),i=!0;null!=t;){if(n+=t.offsetTop,i||null==t.offsetParent||(n-=t.scrollTop),!i&&r.Browser.Firefox){var o=e.getCurrentStyle(t);\"DIV\"===t.tagName&&\"visible\"!==o.overflow&&(n+=e.pxToInt(o.borderTopWidth))}i=!1,t=t.offsetParent}return n}(t):r.Browser.WebKitFamily||r.Browser.Edge?n(t):function(e){for(var t=0,n=!0;null!=e;)t+=e.offsetTop,n||null==e.offsetParent||(t-=e.scrollTop),n=!1,e=e.offsetParent;return t}(t):0},e.getAbsolutePositionX=function(t){function n(t){return Math.round(t.getBoundingClientRect().left+e.getDocumentScrollLeft())}return t?r.Browser.IE?function(t){return r.Browser.IE&&null===t.parentNode?0:t.getBoundingClientRect().left+e.getDocumentScrollLeft()}(t):r.Browser.Firefox&&r.Browser.Version>=3?n(t):r.Browser.Opera&&r.Browser.Version<=12?function(e){for(var t=!0,n=c(e,!0);null!=e;)n+=e.offsetLeft,t||(n-=e.scrollLeft),e=e.offsetParent,t=!1;return n+=document.body.scrollLeft}(t):r.Browser.NetscapeFamily&&(!r.Browser.Firefox||r.Browser.Version<3)?function(t){for(var n=c(t,!0),i=!0;null!=t;){if(n+=t.offsetLeft,i||null==t.offsetParent||(n-=t.scrollLeft),!i&&r.Browser.Firefox){var o=e.getCurrentStyle(t);\"DIV\"===t.tagName&&\"visible\"!==o.overflow&&(n+=e.pxToInt(o.borderLeftWidth))}i=!1,t=t.offsetParent}return n}(t):r.Browser.WebKitFamily||r.Browser.Edge?n(t):function(e){for(var t=0,n=!0;null!=e;)t+=e.offsetLeft,n||null==e.offsetParent||(t-=e.scrollLeft),n=!1,e=e.offsetParent;return t}(t):0},e.isInteractiveControl=function(e){return[\"A\",\"INPUT\",\"SELECT\",\"OPTION\",\"TEXTAREA\",\"BUTTON\",\"IFRAME\"].indexOf(e.tagName)>-1},e.getClearClientHeight=function(t){return t.offsetHeight-(e.getTopBottomPaddings(t)+e.getVerticalBordersWidth(t))},e.getTopBottomPaddings=function(t,n){var r=n||e.getCurrentStyle(t);return e.pxToInt(r.paddingTop)+e.pxToInt(r.paddingBottom)},e.getVerticalBordersWidth=function(t,n){i.isDefined(n)||(n=r.Browser.IE&&9!==r.Browser.MajorVersion&&window.getComputedStyle?window.getComputedStyle(t):e.getCurrentStyle(t));var o=0;return\"none\"!==n.borderTopStyle&&(o+=e.pxToFloat(n.borderTopWidth)),\"none\"!==n.borderBottomStyle&&(o+=e.pxToFloat(n.borderBottomWidth)),o},e.getNodes=function(e,t){for(var n=e.all||e.getElementsByTagName(\"*\"),r=[],i=0;i=9||r.Browser.Edge?t.textContent:t.innerText},e.html2PlainTextFilter=null,e.verticalScrollBarWidth=void 0,e}();function l(e,t){var n=0;if(i.isDefined(e)&&\"\"!==e)try{var r=e.indexOf(\"px\");r>-1&&(n=t(e.substr(0,r)))}catch(e){}return n}function c(e,t){for(var n=0,r=!0;null!=e&&\"BODY\"!==e.tagName;){var i=a.getCurrentStyle(e);if(\"absolute\"===i.position)break;r||\"DIV\"!==e.tagName||\"\"!==i.position&&\"static\"!==i.position||(n-=t?e.scrollLeft:e.scrollTop),e=e.parentNode,r=!1}return n}t.DomUtils=a},9712:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.EncodeUtils=void 0;var n=function(){function e(){}return e.encodeHtml=function(e){return e.replace(/&/g,\"&\").replace(//g,\">\")},e.decodeHtml=function(e){return e.replace(/&/g,\"&\").replace(/</g,\"<\").replace(/>/g,\">\")},e.prepareTextForRequest=function(e){return e.replace(/%/g,\"%25\").replace(/&/g,\"%26amp;\").replace(/\\+/g,\"%2B\").replace(//g,\"%26gt;\").replace(/\"/g,\"%26quot;\")},e.prepareTextForCallBackRequest=function(e){return e.replace(/&/g,\"&\").replace(//g,\">\").replace(/\"/g,\""\")},e.decodeViaTextArea=function(e){var t=document.createElement(\"TEXTAREA\");return t.innerHTML=e,t.value},e}();t.EncodeUtils=n},3714:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.EvtUtils=void 0;var r=n(9279),i=n(2491),o=n(6907),s=n(1632),a=function(){function e(){}return e.preventEvent=function(e){e.cancelable&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},e.getEventSource=function(t){return i.isDefined(t)?e.getEventSourceCore(t):null},e.getEventSourceByPosition=function(t){if(!i.isDefined(t))return null;if(!document.elementFromPoint)return e.getEventSourceCore(t);var n=e.getEventX(t)-(e.clientEventRequiresDocScrollCorrection()?o.DomUtils.getDocumentScrollLeft():0),r=e.getEventY(t)-(e.clientEventRequiresDocScrollCorrection()?o.DomUtils.getDocumentScrollTop():0);return void 0===n||void 0===r?e.getEventSourceCore(t):document.elementFromPoint(n,r)},e.getEventSourceCore=function(e){return e.srcElement?e.srcElement:e.target},e.getMouseWheelEventName=function(){return r.Browser.Safari?\"mousewheel\":r.Browser.NetscapeFamily&&r.Browser.MajorVersion<17?\"DOMMouseScroll\":\"wheel\"},e.isLeftButtonPressed=function(t){return!!s.TouchUtils.isTouchEvent(t)||!!(t=r.Browser.IE&&i.isDefined(event)?event:t)&&(r.Browser.IE&&r.Browser.Version<11?!!r.Browser.MSTouchUI||t.button%2==1:r.Browser.WebKitFamily?\"pointermove\"===t.type||\"pointerenter\"===t.type||\"pointerleave\"===t.type?1===t.buttons:1===t.which:r.Browser.NetscapeFamily||r.Browser.Edge||r.Browser.IE&&r.Browser.Version>=11?e.isMoveEventName(t.type)?1===t.buttons:1===t.which:!r.Browser.Opera||0===t.button)},e.isMoveEventName=function(t){return t===s.TouchUtils.touchMouseMoveEventName||t===e.getMoveEventName()},e.getMoveEventName=function(){return window.PointerEvent?\"pointermove\":r.Browser.TouchUI?\"touchmove\":\"mousemove\"},e.preventEventAndBubble=function(t){e.preventEvent(t),t.stopPropagation&&t.stopPropagation(),t.cancelBubble=!0},e.clientEventRequiresDocScrollCorrection=function(){var e=r.Browser.Safari&&r.Browser.Version<3,t=r.Browser.MacOSMobilePlatform&&r.Browser.Version<5.1;return r.Browser.AndroidDefaultBrowser||r.Browser.AndroidChromeBrowser||!(e||t)},e.getEventX=function(t){return s.TouchUtils.isTouchEvent(t)?s.TouchUtils.getEventX(t):t.clientX+(e.clientEventRequiresDocScrollCorrection()?o.DomUtils.getDocumentScrollLeft():0)},e.getEventY=function(t){return s.TouchUtils.isTouchEvent(t)?s.TouchUtils.getEventY(t):t.clientY+(e.clientEventRequiresDocScrollCorrection()?o.DomUtils.getDocumentScrollTop():0)},e.cancelBubble=function(e){e.cancelBubble=!0},e.getWheelDelta=function(e){var t;return t=r.Browser.NetscapeFamily&&r.Browser.MajorVersion<17?-e.detail:r.Browser.Safari?e.wheelDelta:-e.deltaY,r.Browser.Opera&&r.Browser.Version<9&&(t=-t),t},e}();t.EvtUtils=a},9937:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.JsonUtils=void 0;var n=function(){function e(){}return e.isValid=function(e){return!/[^,:{}[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t]/.test(e.replace(/\"(\\\\.|[^\"\\\\])*\"/g,\"\"))},e}();t.JsonUtils=n},2153:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.KeyCode=t.ModifierKey=t.KeyUtils=void 0;var r,i,o=n(9279),s=n(9712),a=n(49),l=function(){function e(){}return e.getKeyModifiers=function(e){var t=0;return e.altKey&&(t|=r.Alt),e.ctrlKey&&(t|=r.Ctrl),e.shiftKey&&(t|=r.Shift),e.metaKey&&(t|=r.Meta),t},e.getShortcutCode=function(e,t,n,i,o){var s=e;return s|=t?r.Ctrl:0,s|=n?r.Shift:0,s|=i?r.Alt:0,s|=o?r.Meta:0},e.getShortcutCodeByEvent=function(t){return e.getShortcutCode(e.getEventKeyCode(t),t.ctrlKey,t.shiftKey,t.altKey,!!o.Browser.MacOSPlatform&&t.metaKey)},e.getEventKeyCode=function(e){return o.Browser.NetscapeFamily||o.Browser.Opera?e.which:e.keyCode},e.parseShortcutString=function(t){if(!t)return 0;var n=!1,r=!1,o=!1,l=!1,c=null,u=t.toString().split(\"+\");if(u.length>0)for(var d=0;d{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ListUtils=void 0;var r=n(6799),i=n(4170),o=function(){function e(){}return e.remove=function(e,t){var n=e.indexOf(t,0);n>=0&&e.splice(n,1)},e.removeBy=function(e,t){for(var n=e.length,r=0;r0;e--)n.push(t);return n},e.initByCallback=function(e,t){for(var n=[],r=0;r=n;r--)t(r)},e.reducedMap=function(e,t,n,r){void 0===n&&(n=0),void 0===r&&(r=e.length);for(var i=[],o=n;o=r;i--)if(t(e[i],i))return i;return-1},e.elementBy=function(t,n,r,i){void 0===r&&(r=0),void 0===i&&(i=t.length);var o=e.indexBy(t,n,r,i);return o<0?null:t[o]},e.reverseElementBy=function(t,n,r,i){void 0===r&&(r=t.length-1),void 0===i&&(i=0);var o=e.reverseIndexBy(t,n,r,i);return o<0?null:t[o]},e.last=function(e){return e[e.length-1]},e.setLast=function(e,t){return e[e.length-1]=t},e.incLast=function(e){return++e[e.length-1]},e.decLast=function(e){return--e[e.length-1]},e.equals=function(t,n){return t.length===n.length&&e.allOf2(t,n,(function(e,t){return e.equals(t)}))},e.equalsByReference=function(e,t){var n=e.length;if(n!==e.length)return!1;for(var r=0;r=0;n--)t===e[n]?e.splice(n,1):t=e[n];return e},e.forEach=function(e,t,n,r){void 0===n&&(n=0),void 0===r&&(r=e.length);for(var i=n;i=r;i--)t(e[i],i)},e.reverseIndexOf=function(e,t,n,r){void 0===n&&(n=e.length-1),void 0===r&&(r=0);for(var i=n;i>=r;i--)if(e[i]===t)return i;return-1},e.accumulate=function(e,t,n,r,i){void 0===r&&(r=0),void 0===i&&(i=e.length);for(var o=t,s=r;s=r;i--)if(t(e[i],i))return!0;return!1},e.unsafeReverseAnyOf=function(e,t,n,r){void 0===n&&(n=e.length-1),void 0===r&&(r=0);for(var i=n;i>=r;i--){var o=t(e[i],i);if(o)return o}return null},e.anyOf2=function(e,t,n,r,i){void 0===r&&(r=0),void 0===i&&(i=e.length);for(var o=r;os&&(s=c,o=l)}return new r.ExtendedMax(o,s)},e.minMaxExtended=function(e,t,n,i){if(void 0===n&&(n=0),void 0===i&&(i=e.length),0===e.length)return null;for(var o=e[n],s=o,a=t(o),l=a,c=n+1;cl&&(l=d,s=u)}return new r.ExtendedMinMax(o,a,s,l)},e.minByCmp=function(e,t,n,r){if(void 0===n&&(n=0),void 0===r&&(r=e.length),0===e.length)return null;for(var i=e[n],o=n+1;o0&&(i=s)}return i},e.minMaxByCmp=function(e,t,n,i){if(void 0===n&&(n=0),void 0===i&&(i=e.length),0===e.length)return null;for(var o=e[n],s=o,a=n+1;a0?s=l:c<0&&(o=l)}return new r.MinMax(o,s)},e}();t.ListUtils=o},8679:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.MathUtils=void 0;var r=n(2940),i=function(){function e(){}return e.round=function(t,n){void 0===n&&(n=0);var r=e.powFactor[n];return Math.round(t*r)/r},e.numberCloseTo=function(e,t,n){return void 0===n&&(n=1e-5),Math.abs(e-t)n?n:e{Object.defineProperty(t,\"__esModule\",{value:!0}),t.StringUtils=void 0;var n=function(){function e(){}return e.isAlpha=function(e){return e>=\"a\"&&e<=\"z\"||e>=\"A\"&&e<=\"Z\"},e.isDigit=function(e){return e>=\"0\"&&e<=\"9\"},e.stringHashCode=function(e){var t=0;if(0===e.length)return t;for(var n=e.length,r=0;r=i;n--,r--)if(e[n]!==t[r])return!1;return!0},e.startsAt=function(e,t){return e.substr(0,t.length)===t},e.stringInLowerCase=function(e){return e.toLowerCase()===e},e.stringInUpperCase=function(e){return e.toUpperCase()===e},e.atLeastOneSymbolInUpperCase=function(t){for(var n=0,r=void 0;r=t[n];n++)if(e.stringInUpperCase(r)&&!e.stringInLowerCase(r))return!0;return!1},e.getSymbolFromEnd=function(e,t){return e[e.length-t]},e.trim=function(t,n){if(void 0===n)return e.trimInternal(t,!0,!0);var r=n.join(\"\");return t.replace(new RegExp(\"(^[\"+r+\"]*)|([\"+r+\"]*$)\",\"g\"),\"\")},e.trimStart=function(t,n){if(void 0===n)return e.trimInternal(t,!0,!1);var r=n.join(\"\");return t.replace(new RegExp(\"^[\"+r+\"]*\",\"g\"),\"\")},e.trimEnd=function(t,n){if(void 0===n)return e.trimInternal(t,!1,!0);var r=n.join(\"\");return t.replace(new RegExp(\"[\"+r+\"]*$\",\"g\"),\"\")},e.getDecimalSeparator=function(){return 1.1.toLocaleString().substr(1,1)},e.repeat=function(e,t){return new Array(t<=0?0:t+1).join(e)},e.isNullOrEmpty=function(e){return!e||!e.length},e.padLeft=function(t,n,r){return e.repeat(r,Math.max(0,n-t.length))+t},e.trimInternal=function(e,t,n){var r=e.length;if(!r)return e;if(r<764833){var i=e;return t&&(i=i.replace(/^\\s+/,\"\")),n&&(i=i.replace(/\\s+$/,\"\")),i}var o=0;if(n)for(;r>0&&/\\s/.test(e[r-1]);)r--;if(t&&r>0)for(;o{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TouchUtils=void 0;var r=n(9279),i=n(2491),o=function(){function e(){}return e.onEventAttachingToDocument=function(t,n){return!r.Browser.MacOSMobilePlatform||!e.isTouchEventName(t)||(e.documentTouchHandlers[t]||(e.documentTouchHandlers[t]=[]),e.documentTouchHandlers[t].push(n),e.documentEventAttachingAllowed)},e.isTouchEventName=function(e){return r.Browser.WebKitTouchUI&&(e.indexOf(\"touch\")>-1||e.indexOf(\"gesture\")>-1)},e.isTouchEvent=function(e){return r.Browser.WebKitTouchUI&&i.isDefined(e.changedTouches)},e.getEventX=function(e){return r.Browser.IE?e.pageX:e.changedTouches[0].pageX},e.getEventY=function(e){return r.Browser.IE?e.pageY:e.changedTouches[0].pageY},e.touchMouseDownEventName=r.Browser.WebKitTouchUI?\"touchstart\":r.Browser.Edge&&r.Browser.MSTouchUI&&window.PointerEvent?\"pointerdown\":\"mousedown\",e.touchMouseUpEventName=r.Browser.WebKitTouchUI?\"touchend\":r.Browser.Edge&&r.Browser.MSTouchUI&&window.PointerEvent?\"pointerup\":\"mouseup\",e.touchMouseMoveEventName=r.Browser.WebKitTouchUI?\"touchmove\":r.Browser.Edge&&r.Browser.MSTouchUI&&window.PointerEvent?\"pointermove\":\"mousemove\",e.msTouchDraggableClassName=\"dxMSTouchDraggable\",e.documentTouchHandlers={},e.documentEventAttachingAllowed=!0,e}();t.TouchUtils=o},8721:(e,t,n)=>{n.r(t)},639:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BarManager=void 0;var n=function(){function e(e,t){this.commandManager=e,this.bars=t}return e.prototype.updateContextMenu=function(){for(var e=0,t=void 0;t=this.bars[e];e++)if(t.isContextMenu()){t.updateItemsList();for(var n=t.getCommandKeys(),r=0;r{Object.defineProperty(t,\"__esModule\",{value:!0}),t.GanttClientCommand=void 0,function(e){e[e.CreateTask=0]=\"CreateTask\",e[e.CreateSubTask=1]=\"CreateSubTask\",e[e.RemoveTask=2]=\"RemoveTask\",e[e.RemoveDependency=3]=\"RemoveDependency\",e[e.TaskInformation=4]=\"TaskInformation\",e[e.TaskAddContextItem=5]=\"TaskAddContextItem\",e[e.Undo=6]=\"Undo\",e[e.Redo=7]=\"Redo\",e[e.ZoomIn=8]=\"ZoomIn\",e[e.ZoomOut=9]=\"ZoomOut\",e[e.FullScreen=10]=\"FullScreen\",e[e.CollapseAll=11]=\"CollapseAll\",e[e.ExpandAll=12]=\"ExpandAll\",e[e.ResourceManager=13]=\"ResourceManager\",e[e.ToggleResources=14]=\"ToggleResources\",e[e.ToggleDependencies=15]=\"ToggleDependencies\"}(t.GanttClientCommand||(t.GanttClientCommand={}))},3756:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CollapseAllCommand=void 0;var r=n(655),i=n(9687),o=n(4409),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.getState=function(){return new o.SimpleCommandState(this.isEnabled())},t.prototype.execute=function(){return e.prototype.execute.call(this)},t.prototype.executeInternal=function(){return this.control.collapseAll(),!0},t.prototype.isEnabled=function(){return!0},t}(i.CommandBase);t.CollapseAllCommand=s},6585:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ExpandAllCommand=void 0;var r=n(655),i=n(9687),o=n(4409),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.getState=function(){return new o.SimpleCommandState(this.isEnabled())},t.prototype.execute=function(){return e.prototype.execute.call(this)},t.prototype.executeInternal=function(){return this.control.expandAll(),!0},t.prototype.isEnabled=function(){return!0},t}(i.CommandBase);t.ExpandAllCommand=s},9687:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CommandBase=void 0;var n=function(){function e(e){this.control=e}return Object.defineProperty(e.prototype,\"modelManipulator\",{get:function(){return this.control.modelManipulator},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"history\",{get:function(){return this.control.history},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"validationController\",{get:function(){return this.control.validationController},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"state\",{get:function(){return this._state||(this._state=this.getState()),this._state},enumerable:!1,configurable:!0}),e.prototype.execute=function(){for(var e=[],t=0;t{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CommandManager=void 0;var r=n(5237),i=n(126),o=n(5477),s=n(6152),a=n(3290),l=n(3756),c=n(6585),u=n(4118),d=n(3044),p=n(9762),h=n(7823),f=n(3250),g=n(9072),y=n(1955),m=n(1757),v=n(7977),T=n(9793),b=n(358),k=n(9791),S=n(3936),_=n(5258),w=n(2018),E=n(4195),D=n(2714),I=n(299),C=n(2231),P=function(){function e(e){this.control=e,this.commands={},this.createCommand(a.GanttClientCommand.CreateTask,this.createTaskCommand),this.createCommand(a.GanttClientCommand.CreateSubTask,this.createSubTaskCommand),this.createCommand(a.GanttClientCommand.RemoveTask,this.removeTaskCommand),this.createCommand(a.GanttClientCommand.RemoveDependency,this.removeDependencyCommand),this.createCommand(a.GanttClientCommand.TaskInformation,this.showTaskEditDialog),this.createCommand(a.GanttClientCommand.ResourceManager,this.showResourcesDialog),this.createCommand(a.GanttClientCommand.TaskAddContextItem,new D.TaskAddContextItemCommand(this.control)),this.createCommand(a.GanttClientCommand.Undo,new g.UndoCommand(this.control)),this.createCommand(a.GanttClientCommand.Redo,new f.RedoCommand(this.control)),this.createCommand(a.GanttClientCommand.ZoomIn,new I.ZoomInCommand(this.control)),this.createCommand(a.GanttClientCommand.ZoomOut,new C.ZoomOutCommand(this.control)),this.createCommand(a.GanttClientCommand.FullScreen,new h.ToggleFullScreenCommand(this.control)),this.createCommand(a.GanttClientCommand.CollapseAll,new l.CollapseAllCommand(this.control)),this.createCommand(a.GanttClientCommand.ExpandAll,new c.ExpandAllCommand(this.control)),this.createCommand(a.GanttClientCommand.ToggleResources,this.toggleResources),this.createCommand(a.GanttClientCommand.ToggleDependencies,this.toggleDependencies)}return Object.defineProperty(e.prototype,\"createTaskCommand\",{get:function(){return new _.CreateTaskCommand(this.control)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"createSubTaskCommand\",{get:function(){return new S.CreateSubTaskCommand(this.control)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"removeTaskCommand\",{get:function(){return new E.RemoveTaskCommand(this.control)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"updateTaskCommand\",{get:function(){return new w.UpdateTaskCommand(this.control)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"createDependencyCommand\",{get:function(){return new u.CreateDependencyCommand(this.control)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"removeDependencyCommand\",{get:function(){return new d.RemoveDependencyCommand(this.control)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"createResourceCommand\",{get:function(){return new m.CreateResourceCommand(this.control)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"removeResourceCommand\",{get:function(){return new b.RemoveResourceCommand(this.control)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"assignResourceCommand\",{get:function(){return new y.AssignResourceCommand(this.control)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"deassignResourceCommand\",{get:function(){return new v.DeassignResourceCommand(this.control)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"changeResourceColorCommand\",{get:function(){return new T.ResourceColorCommand(this.control)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"showTaskEditDialog\",{get:function(){return new s.TaskEditDialogCommand(this.control)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"showConstraintViolationDialog\",{get:function(){return new i.ConstraintViolationDialogCommand(this.control)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"showConfirmationDialog\",{get:function(){return new r.ConfirmationDialog(this.control)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"showResourcesDialog\",{get:function(){return new o.ResourcesDialogCommand(this.control)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"toggleResources\",{get:function(){return new k.ToggleResourceCommand(this.control)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"toggleDependencies\",{get:function(){return new p.ToggleDependenciesCommand(this.control)},enumerable:!1,configurable:!0}),e.prototype.getCommand=function(e){return this.commands[e]},e.prototype.createCommand=function(e,t){this.commands[e]=t},e}();t.CommandManager=P},4118:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CreateDependencyCommand=void 0;var r=n(655),i=n(5950),o=n(3279),s=n(1211),a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.execute=function(t,n,r){return e.prototype.execute.call(this,t,n,r)},t.prototype.executeInternal=function(e,t,n){if(this.control.viewModel.dependencies.items.filter((function(n){return n.predecessorId===e&&n.successorId===t||n.successorId===e&&n.predecessorId===t})).length)return!1;var r=new o.DependencyInsertingArguments(e,t,n);if(this.modelManipulator.dispatcher.notifyDependencyInserting(r),r.cancel)return!1;if(e=r.predecessorId,t=r.successorId,n=r.type,this.control.history.beginTransaction(),this.history.addAndRedo(new s.InsertDependencyHistoryItem(this.modelManipulator,e,t,n)),this.control.isValidateDependenciesRequired()){var a=this.control.viewModel.tasks.getItemById(e);n===i.DependencyType.SF||n===i.DependencyType.SS?this.control.validationController.moveStartDependTasks(e,a.start):this.control.validationController.moveEndDependTasks(e,a.end)}return this.control.history.endTransaction(),!0},t.prototype.isEnabled=function(){return e.prototype.isEnabled.call(this)&&this.control.settings.editing.allowDependencyInsert},t}(n(2291).DependencyCommandBase);t.CreateDependencyCommand=a},2291:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DependencyCommandBase=void 0;var r=n(655),i=n(9687),o=n(4409),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.getState=function(){return new o.SimpleCommandState(this.isEnabled())},t}(i.CommandBase);t.DependencyCommandBase=s},3044:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.RemoveDependencyCommand=void 0;var r=n(655),i=n(9544),o=n(5139),s=n(4797),a=n(5865),l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.execute=function(t,n){var r=this;return void 0===n&&(n=!0),n?(this.control.commandManager.showConfirmationDialog.execute(new o.ConfirmationDialogParameters(i.ConfirmationType.DependencyDelete,(function(){r.executeInternal(t)}))),!1):e.prototype.execute.call(this,t)},t.prototype.executeInternal=function(e){if(null!=(e=e||this.control.taskEditController.dependencyId)){var t=this.control.viewModel.dependencies.items.filter((function(t){return t.internalId===e}))[0];if(t){var n=new s.DependencyRemovingArguments(t);if(this.modelManipulator.dispatcher.notifyDependencyRemoving(n),!n.cancel)return this.history.addAndRedo(new a.RemoveDependencyHistoryItem(this.modelManipulator,e)),e===this.control.taskEditController.dependencyId&&this.control.taskEditController.selectDependency(null),this.control.barManager.updateItemsState([]),!0}}return!1},t.prototype.isEnabled=function(){return e.prototype.isEnabled.call(this)&&this.control.settings.editing.allowDependencyDelete},t.prototype.getState=function(){var t=e.prototype.getState.call(this);return t.visible=t.enabled&&null!=this.control.taskEditController.dependencyId,t},t}(n(2291).DependencyCommandBase);t.RemoveDependencyCommand=l},9762:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ToggleDependenciesCommand=void 0;var r=n(655),i=n(9687),o=n(4409),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.getState=function(){return new o.SimpleCommandState(!0)},t.prototype.execute=function(){return e.prototype.execute.call(this)},t.prototype.executeInternal=function(){return this.control.toggleDependencies(),!0},t}(i.CommandBase);t.ToggleDependenciesCommand=s},7823:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ToggleFullScreenCommand=void 0;var r=n(655),i=n(9687),o=n(4409),s=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.isInFullScreenMode=!1,t.fullScreenTempVars={},t}return r.__extends(t,e),t.prototype.getState=function(){var e=new o.SimpleCommandState(!0);return e.value=this.control.fullScreenModeHelper.isInFullScreenMode,e},t.prototype.execute=function(){return e.prototype.execute.call(this)},t.prototype.executeInternal=function(){return this.control.fullScreenModeHelper.toggle(),!0},t}(i.CommandBase);t.ToggleFullScreenCommand=s},3250:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.RedoCommand=void 0;var r=n(655),i=n(9687),o=n(4409),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.getState=function(){var e=new o.SimpleCommandState(this.isEnabled());return e.visible=this.control.settings.editing.enabled,e},t.prototype.execute=function(){return e.prototype.execute.call(this)},t.prototype.executeInternal=function(){return this.history.redo(),!0},t.prototype.isEnabled=function(){return e.prototype.isEnabled.call(this)&&this.history.canRedo()},t}(i.CommandBase);t.RedoCommand=s},9072:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.UndoCommand=void 0;var r=n(655),i=n(9687),o=n(4409),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.getState=function(){var e=new o.SimpleCommandState(this.isEnabled());return e.visible=this.control.settings.editing.enabled,e},t.prototype.execute=function(){return e.prototype.execute.call(this)},t.prototype.executeInternal=function(){return this.history.undo(),!0},t.prototype.isEnabled=function(){return e.prototype.isEnabled.call(this)&&this.history.canUndo()},t}(i.CommandBase);t.UndoCommand=s},1955:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.AssignResourceCommand=void 0;var r=n(655),i=n(1389),o=n(3683),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.execute=function(t,n){return e.prototype.execute.call(this,t,n)},t.prototype.executeInternal=function(e,t){if(!this.control.viewModel.assignments.items.filter((function(n){return n.resourceId===e&&n.taskId===t}))[0]){var n=this.control.viewModel,r=new i.ResourceAssigningArguments(n.convertInternalToPublicKey(\"resource\",e),n.convertInternalToPublicKey(\"task\",t));if(this.modelManipulator.dispatcher.notifyResourceAssigning(r),!r.cancel)return this.history.addAndRedo(new o.AssignResourceHistoryItem(this.modelManipulator,n.convertPublicToInternalKey(\"resource\",r.resourceId),n.convertPublicToInternalKey(\"task\",r.taskId))),!0}return!1},t.prototype.isEnabled=function(){return e.prototype.isEnabled.call(this)&&this.control.settings.editing.allowTaskResourceUpdate},t}(n(200).ResourceCommandBase);t.AssignResourceCommand=s},1757:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CreateResourceCommand=void 0;var r=n(655),i=n(990),o=n(2961),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.execute=function(t,n,r){return void 0===n&&(n=\"\"),e.prototype.execute.call(this,t,n,r)},t.prototype.executeInternal=function(e,t,n){void 0===t&&(t=\"\");var r=new i.ResourceInsertingArguments(e,t);return this.modelManipulator.dispatcher.notifyResourceCreating(r),r.cancel||this.history.addAndRedo(new o.CreateResourceHistoryItem(this.modelManipulator,r.text,r.color,n)),!r.cancel},t.prototype.isEnabled=function(){return e.prototype.isEnabled.call(this)&&this.control.settings.editing.allowResourceInsert},t}(n(200).ResourceCommandBase);t.CreateResourceCommand=s},7977:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DeassignResourceCommand=void 0;var r=n(655),i=n(1493),o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.execute=function(t){return e.prototype.execute.call(this,t)},t.prototype.executeInternal=function(e){var t=this.control.viewModel.assignments.items.filter((function(t){return t.internalId===e}))[0];return!(!t||!this.modelManipulator.dispatcher.fireResourceUnassigning(t))&&(this.history.addAndRedo(new i.DeassignResourceHistoryItem(this.modelManipulator,e)),!0)},t.prototype.isEnabled=function(){return e.prototype.isEnabled.call(this)&&this.control.settings.editing.allowTaskResourceUpdate},t}(n(200).ResourceCommandBase);t.DeassignResourceCommand=o},9793:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ResourceColorCommand=void 0;var r=n(655),i=n(4641),o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.execute=function(t,n){return e.prototype.execute.call(this,t,n)},t.prototype.executeInternal=function(e,t){return this.control.viewModel.resources.getItemById(e).color!==t&&(this.history.addAndRedo(new i.ResourceColorHistoryItem(this.modelManipulator,e,t)),!0)},t}(n(9876).ResourcePropertyCommandBase);t.ResourceColorCommand=o},9876:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ResourcePropertyCommandBase=void 0;var r=n(655),i=n(9687),o=n(4409),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.getState=function(){return new o.SimpleCommandState(this.isEnabled())},t.prototype.isEnabled=function(){return e.prototype.isEnabled.call(this)&&this.control.settings.editing.allowResourceUpdate},t}(i.CommandBase);t.ResourcePropertyCommandBase=s},358:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.RemoveResourceCommand=void 0;var r=n(655),i=n(9748),o=n(7466),s=n(1493),a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.execute=function(t){return e.prototype.execute.call(this,t)},t.prototype.executeInternal=function(e){var t=this,n=this.control.viewModel.resources.items.filter((function(t){return t.internalId===e}))[0];if(n){var r=new i.ResourceRemovingArguments(n);if(this.modelManipulator.dispatcher.notifyResourceRemoving(r),!r.cancel){var a=new o.RemoveResourceHistoryItem(this.modelManipulator,e);return this.control.viewModel.assignments.items.filter((function(t){return t.resourceId===e})).forEach((function(e){t.modelManipulator.dispatcher.fireResourceUnassigning(e)&&a.add(new s.DeassignResourceHistoryItem(t.modelManipulator,e.internalId))})),this.history.addAndRedo(a),!0}}return!1},t.prototype.isEnabled=function(){return e.prototype.isEnabled.call(this)&&this.control.settings.editing.allowResourceDelete},t}(n(200).ResourceCommandBase);t.RemoveResourceCommand=a},200:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ResourceCommandBase=void 0;var r=n(655),i=n(9687),o=n(4409),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.getState=function(){return new o.SimpleCommandState(this.isEnabled())},t}(i.CommandBase);t.ResourceCommandBase=s},9791:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ToggleResourceCommand=void 0;var r=n(655),i=n(9687),o=n(4409),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.getState=function(){return new o.SimpleCommandState(!0)},t.prototype.execute=function(){return e.prototype.execute.call(this)},t.prototype.executeInternal=function(){return this.control.toggleResources(),!0},t}(i.CommandBase);t.ToggleResourceCommand=s},4409:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.SimpleCommandState=void 0;var n=function(e,t){this.visible=!0,this.enabled=e,this.value=t};t.SimpleCommandState=n},3936:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CreateSubTaskCommand=void 0;var r=n(655),i=n(4605),o=n(1284),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.execute=function(t){return e.prototype.execute.call(this,t)},t.prototype.executeInternal=function(t){t=t||this.control.currentSelectedTaskID;var n=this.control.viewModel.findItem(t);if(n.selected){var r={start:new Date(n.task.start.getTime()),end:new Date(n.task.end.getTime()),title:\"New task\",progress:0,parentId:t},s=new i.TaskInsertingArguments(null,r);if(this.modelManipulator.dispatcher.notifyTaskCreating(s),!s.cancel){this.history.addAndRedo(new o.CreateTaskHistoryItem(this.modelManipulator,s));var a=this.control.viewModel.findItem(r.parentId);e.prototype.updateParent.call(this,a)}return!s.cancel}return!1},t.prototype.isEnabled=function(){var t=this.control,n=t.viewModel.findItem(t.currentSelectedTaskID);return e.prototype.isEnabled.call(this)&&!!n&&n.selected},t.prototype.getState=function(){var t=e.prototype.getState.call(this),n=this.control;return t.visible=t.visible&&n.settings.editing.allowTaskInsert,t},t}(n(9254).TaskCommandBase);t.CreateSubTaskCommand=s},5258:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CreateTaskCommand=void 0;var r=n(655),i=n(4605),o=n(1284),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.execute=function(t){return e.prototype.execute.call(this,t)},t.prototype.executeInternal=function(t){var n,r;if(null!=t||(t={}),!t.parentId){var s=this.control.viewModel.findItem(this.control.currentSelectedTaskID),a=s&&s.task;a&&(t.parentId=a.parentId)}var l=this.control.viewModel.findItem(t.parentId)||this.control.viewModel.items[0],c=l&&l.task;t.start||(t.start=c?new Date(c.start.getTime()):new Date(this.control.range.start.getTime())),t.end||(t.end=c?new Date(c.end.getTime()):new Date(this.control.range.end.getTime())),null!==(n=t.title)&&void 0!==n||(t.title=\"New task\"),null!==(r=t.progress)&&void 0!==r||(t.progress=0);var u=new i.TaskInsertingArguments(null,t);if(this.modelManipulator.dispatcher.notifyTaskCreating(u),!u.cancel){this.history.addAndRedo(new o.CreateTaskHistoryItem(this.modelManipulator,u));var d=this.control.viewModel.findItem(t.parentId);e.prototype.updateParent.call(this,d)}return!u.cancel},t.prototype.getState=function(){var t=e.prototype.getState.call(this);return t.visible=t.visible&&this.control.settings.editing.allowTaskInsert,t},t}(n(9254).TaskCommandBase);t.CreateTaskCommand=s},4195:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.RemoveTaskCommand=void 0;var r=n(655),i=n(9544),o=n(5139),s=n(4642),a=n(5865),l=n(1493),c=n(9599),u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.execute=function(t,n,r,s,a,l){var c=this;return void 0===n&&(n=!0),void 0===r&&(r=!1),void 0===s&&(s=!0),this.isApiCall=r,this.isUpdateParentTaskRequired=s,n?(this.control.commandManager.showConfirmationDialog.execute(new o.ConfirmationDialogParameters(i.ConfirmationType.TaskDelete,(function(){c.executeInternal(t,a,l)}))),!1):e.prototype.execute.call(this,t,a,l)},t.prototype.executeInternal=function(n,r,i){var o=this,u=i||[];n=n||this.control.currentSelectedTaskID;var d=this.control.viewModel.findItem(n),p=d?d.task:this.control.viewModel.tasks.getItemById(n),h=new s.TaskRemovingArguments(p);if(this.modelManipulator.dispatcher.notifyTaskRemoving(h),h.cancel)return!1;var f=this.history,g=this.control.viewModel;f.beginTransaction(),g.beginUpdate();var y=!!r,m=new c.RemoveTaskHistoryItem(this.modelManipulator,n),v=g.tasks.items.filter((function(e){return e.parentId===n})),T=v.map((function(e){return e.internalId})),b=g.dependencies.items.filter((function(e){return-1===u.indexOf(e.internalId)&&(e.predecessorId===n||e.successorId===n)&&!T.some((function(t){return e.predecessorId===t||e.successorId===t}))}));if(b.length){if(!this.control.settings.editing.allowDependencyDelete)return!1;b.forEach((function(e){m.add(new a.RemoveDependencyHistoryItem(o.modelManipulator,e.internalId)),u.push(e.internalId)}))}if(g.assignments.items.filter((function(e){return e.taskId===n})).forEach((function(e){o.modelManipulator.dispatcher.fireResourceUnassigning(e)&&m.add(new l.DeassignResourceHistoryItem(o.modelManipulator,e.internalId))})),v.reverse().forEach((function(e){return new t(o.control).execute(e.internalId,!1,!0,!1,m,u)})),y?r.add(m):f.addAndRedo(m),this.isUpdateParentTaskRequired){var k=this.control.viewModel.findItem(p.parentId);e.prototype.updateParent.call(this,k)}return f.endTransaction(),g.endUpdate(),!0},t.prototype.isEnabled=function(){var t=this.control,n=t.viewModel.findItem(t.currentSelectedTaskID);return e.prototype.isEnabled.call(this)&&(!!n&&n.selected||this.isApiCall)},t.prototype.getState=function(){var t=e.prototype.getState.call(this),n=this.control;return t.visible=t.visible&&n.settings.editing.allowTaskDelete,t},t}(n(9254).TaskCommandBase);t.RemoveTaskCommand=u},2714:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskAddContextItemCommand=void 0;var r=n(655),i=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.getState=function(){var t=e.prototype.getState.call(this);return t.visible=t.visible&&this.control.settings.editing.allowTaskInsert,t},t.prototype.execute=function(){return!1},t}(n(9254).TaskCommandBase);t.TaskAddContextItemCommand=i},9254:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskCommandBase=void 0;var r=n(655),i=n(9687),o=n(4409),s=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.isApiCall=!1,t}return r.__extends(t,e),t.prototype.getState=function(){var e=new o.SimpleCommandState(this.isEnabled());return e.visible=this.control.settings.editing.enabled&&!this.control.taskEditController.dependencyId,e},t.prototype.updateParent=function(e){this.validationController._parentAutoCalc&&e&&e.children.length>0&&this.control.validationController.updateParentsIfRequired(e.children[0].task.internalId)},t}(i.CommandBase);t.TaskCommandBase=s},2018:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.UpdateTaskCommand=void 0;var r=n(655),i=n(2491),o=n(9544),s=n(3433),a=n(5865),l=n(9496),c=n(9201),u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.execute=function(t,n){return e.prototype.execute.call(this,t,n)},t.prototype.executeInternal=function(e,t){var n=this.control.viewModel.tasks.getItemById(e);if(!n)return!1;var r=this.control.modelManipulator.dispatcher.raiseTaskUpdating(n,t,(function(e){t.title=e.title,t.progress=e.progress,t.start=e.start,t.end=e.end,t.color=e.color}));if(r){(0,i.isDefined)(t.start)&&(0,i.isDefined)(t.end)&&t.end.getTime()0?this.control.commandManager.showConstraintViolationDialog.execute(new s.ConstraintViolationDialogParameters(a,r)):r(null)}else r(null)},t.prototype.onAfterValidationCallback=function(e,t,n){var r=this;if(!n||n.option!==o.ConstraintViolationOption.DoNothing||(delete e.start,delete e.end),Object.keys(e).length>0){this.history.beginTransaction(),(null==n?void 0:n.option)===o.ConstraintViolationOption.RemoveDependency&&n.validationErrors.forEach((function(e){return r.history.addAndRedo(new a.RemoveDependencyHistoryItem(r.modelManipulator,e.dependencyId))}));var s=this.control.isValidateDependenciesRequired(),c=t.internalId,u=t.start,d=t.end;this.history.addAndRedo(new l.UpdateTaskHistoryItem(this.modelManipulator,c,e)),(0,i.isDefined)(e.start)&&s&&this.control.validationController.moveStartDependTasks(c,u),(0,i.isDefined)(e.end)&&s&&this.control.validationController.moveEndDependTasks(c,d),this.processAutoParentUpdate(c,e,u,d),this.history.endTransaction(),(null==n?void 0:n.option)!==o.ConstraintViolationOption.RemoveDependency&&(null==n?void 0:n.option)!==o.ConstraintViolationOption.KeepDependency||this.control.updateBarManager(),this.control.updateViewDataRange()}},t.prototype.processAutoParentUpdate=function(e,t,n,r){var o=(0,i.isDefined)(t.start),s=(0,i.isDefined)(t.end),a=(0,i.isDefined)(t.progress)||o||s,l=o?t.start.getTime()-n.getTime():null,u=s?t.end.getTime()-r.getTime():null,d=o&&0!==c.DateUtils.getTimezoneOffsetDiff(n,t.start),p=s&&0!==c.DateUtils.getTimezoneOffsetDiff(r,t.end),h=(d||p)&&Math.abs(u-l)===c.DateUtils.msPerHour;a?0!==l&&(l===u||h)?this.validationController.correctParentsOnChildMoving(e,l):this.validationController.updateParentsIfRequired(e):this.control.updateOwnerInAutoParentMode()},t}(n(9254).TaskCommandBase);t.UpdateTaskCommand=u},299:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ZoomInCommand=void 0;var r=n(655),i=n(9687),o=n(4409),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.getState=function(){return new o.SimpleCommandState(!0)},t.prototype.execute=function(){return e.prototype.execute.call(this)},t.prototype.executeInternal=function(){return this.control.zoomIn(),!0},t}(i.CommandBase);t.ZoomInCommand=s},2231:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ZoomOutCommand=void 0;var r=n(655),i=n(9687),o=n(4409),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.getState=function(){return new o.SimpleCommandState(!0)},t.prototype.execute=function(){return e.prototype.execute.call(this)},t.prototype.executeInternal=function(){return this.control.zoomOut(),!0},t}(i.CommandBase);t.ZoomOutCommand=s},5237:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ConfirmationDialog=void 0;var r=n(655),i=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.applyParameters=function(e,t){return this.history.beginTransaction(),t.callback(),this.history.endTransaction(),this.control.barManager.updateItemsState([]),!0},t.prototype.createParameters=function(e){return e},t.prototype.getDialogName=function(){return\"Confirmation\"},t}(n(4730).DialogBase);t.ConfirmationDialog=i},126:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ConstraintViolationDialogCommand=void 0;var r=n(655),i=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.applyParameters=function(e,t){return t.callback(e),!0},t.prototype.createParameters=function(e){return e},t.prototype.getDialogName=function(){return\"ConstraintViolation\"},t}(n(4730).DialogBase);t.ConstraintViolationDialogCommand=i},4730:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DialogBase=void 0;var r=n(655),i=n(9687),o=n(4409),s=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.isApiCall=!1,t._canRefresh=!0,t}return r.__extends(t,e),t.prototype.execute=function(t,n){return void 0===t&&(t=void 0),void 0===n&&(n=!1),this.isApiCall=n,e.prototype.execute.call(this,t)},t.prototype.executeInternal=function(e){return this.options=e,this.showDialog(e)},Object.defineProperty(t.prototype,\"canRefresh\",{get:function(){return this._canRefresh},enumerable:!1,configurable:!0}),t.prototype.refresh=function(){this.showDialog(this.options)},t.prototype.showDialog=function(e){var n=this,r=this.createParameters(e),i=r.clone();return!!this.onBeforeDialogShow(r)&&(t.activeInstance=this,this.control.showDialog(this.getDialogName(),r,(function(e){e&&(n._canRefresh=!1,n.applyParameters(e,i),n._canRefresh=!0)}),(function(){delete t.activeInstance,n.afterClosing()})),!0)},t.prototype.onBeforeDialogShow=function(e){return!0},t.prototype.applyParameters=function(e,t){return!1},t.prototype.afterClosing=function(){},t.prototype.getState=function(){return new o.SimpleCommandState(this.isEnabled())},t.activeInstance=null,t}(i.CommandBase);t.DialogBase=s},9544:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ConstraintViolationOption=t.ConfirmationType=void 0,function(e){e[e.TaskDelete=0]=\"TaskDelete\",e[e.DependencyDelete=1]=\"DependencyDelete\",e[e.ResourcesDelete=2]=\"ResourcesDelete\"}(t.ConfirmationType||(t.ConfirmationType={})),function(e){e[e.DoNothing=0]=\"DoNothing\",e[e.RemoveDependency=1]=\"RemoveDependency\",e[e.KeepDependency=2]=\"KeepDependency\"}(t.ConstraintViolationOption||(t.ConstraintViolationOption={}))},5139:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ConfirmationDialogParameters=void 0;var r=n(655),i=function(e){function t(t,n){var r=e.call(this)||this;return r.type=t,r.callback=n,r}return r.__extends(t,e),t.prototype.clone=function(){var e=new t(this.type,this.callback);return e.message=this.message,e},t}(n(9705).DialogParametersBase);t.ConfirmationDialogParameters=i},3433:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ConstraintViolationDialogParameters=void 0;var r=n(655),i=function(e){function t(t,n){var r=e.call(this)||this;return r.validationErrors=t,r.callback=n,r}return r.__extends(t,e),t.prototype.clone=function(){var e=new t(this.validationErrors,this.callback);return e.option=this.option,e},Object.defineProperty(t.prototype,\"hasCriticalErrors\",{get:function(){var e;return null===(e=this.validationErrors)||void 0===e?void 0:e.some((function(e){return e.critical}))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"errorsCount\",{get:function(){var e;return null===(e=this.validationErrors)||void 0===e?void 0:e.length},enumerable:!1,configurable:!0}),t}(n(9705).DialogParametersBase);t.ConstraintViolationDialogParameters=i},9705:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DialogParametersBase=void 0;var n=function(){};t.DialogParametersBase=n},6711:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ResourcesDialogParameters=void 0;var r=n(655),i=n(8828),o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.clone=function(){var e=new t;return e.resources=new i.ResourceCollection,e.resources.addRange(this.resources.items),e},t}(n(9705).DialogParametersBase);t.ResourcesDialogParameters=o},1563:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskEditParameters=void 0;var r=n(655),i=n(8828),o=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.enableEdit=!0,t.enableRangeEdit=!0,t.isValidationRequired=!1,t.hiddenFields=[],t.readOnlyFields=[],t}return r.__extends(t,e),t.prototype.clone=function(){var e=new t;return e.id=this.id,e.title=this.title,e.progress=this.progress,e.start=this.start,e.end=this.end,e.assigned=new i.ResourceCollection,e.assigned.addRange(this.assigned.items),e.resources=new i.ResourceCollection,e.resources.addRange(this.resources.items),e.showResourcesDialogCommand=this.showResourcesDialogCommand,e.showTaskEditDialogCommand=this.showTaskEditDialogCommand,e.enableEdit=this.enableEdit,e.enableRangeEdit=this.enableRangeEdit,e.hiddenFields=this.hiddenFields.slice(),e.readOnlyFields=this.readOnlyFields.slice(),e.isValidationRequired=this.isValidationRequired,e.getCorrectDateRange=this.getCorrectDateRange,e},t}(n(9705).DialogParametersBase);t.TaskEditParameters=o},5477:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ResourcesDialogCommand=void 0;var r=n(655),i=n(8828),o=n(4730),s=n(9544),a=n(5139),l=n(6711),c=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.resourcesForDelete=[],t}return r.__extends(t,e),t.prototype.onBeforeDialogShow=function(e){return this.modelManipulator.dispatcher.raiseResourceManagerDialogShowing(e,(function(t){e.resources=t.values.resources}))},t.prototype.applyParameters=function(e,t){this.history.beginTransaction();for(var n=0;n{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskEditDialogCommand=void 0;var r=n(655),i=n(8828),o=n(1389),s=n(3683),a=n(1493),l=n(4730),c=n(1563),u=n(2491),d=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.onBeforeDialogShow=function(e){return this.modelManipulator.dispatcher.raiseTaskTaskEditDialogShowing(e,(function(t){var n=t.values;e.start=n.start,e.end=n.end,e.progress=n.progress,e.title=n.title,e.readOnlyFields=t.readOnlyFields,e.hiddenFields=t.hiddenFields}))},t.prototype.applyParameters=function(e,t){var n=this;this.history.beginTransaction();var r=this.getUpdatedTaskData(e,t);Object.keys(r).length>0&&setTimeout((function(){return n.control.commandManager.updateTaskCommand.execute(t.id,r)}),0);for(var i=0;i{Object.defineProperty(t,\"__esModule\",{value:!0}),t.GanttExportCalculator=void 0;var r=n(8900),i=n(6907),o=n(2449),s=n(1855),a=n(4991),l=n(2485),c=n(3917),u=n(405),d=n(6995),p=n(5063),h=n(6032),f=n(8603),g=n(6997),y=n(8935),m=n(6353),v=n(3424),T=n(5763),b=n(7802),k=n(9895),S=n(2642),_=function(){function e(t,n){var r,i;this._owner=t,this._props=new g.GanttPdfExportProps(n),null!==(r=(i=this._props).margins)&&void 0!==r||(i.margins=new p.Margin(e._defaultPageMargin))}return Object.defineProperty(e.prototype,\"chartTableScaleTopMatrix\",{get:function(){var e;return null!==(e=this._chartTableScaleTopMatrix)&&void 0!==e||(this._chartTableScaleTopMatrix=this.calculateChartScaleMatrix(0)),this._chartTableScaleTopMatrix},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"chartTableScaleBottomMatrix\",{get:function(){var e;return null!==(e=this._chartTableScaleBottomMatrix)&&void 0!==e||(this._chartTableScaleBottomMatrix=this.calculateChartScaleMatrix(1)),this._chartTableScaleBottomMatrix},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"chartTableBodyMatrix\",{get:function(){return this._chartTableBodyMatrix||this.calculateChartTableBodyMatrix(),this._chartTableBodyMatrix},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"treeListHeaderMatrix\",{get:function(){return this._treeListHeaderMatrix||this.calculateTreeListTableHeaderMatrix(),this._treeListHeaderMatrix},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"treeListBodyMatrix\",{get:function(){return this._treeListBodyMatrix||this.calculateTreeListTableBodyMatrix(),this._treeListBodyMatrix},enumerable:!1,configurable:!0}),e.prototype.getPages=function(e){return new v.PdfGanttPaginator(e,this.settings,this.createGlobalInfo()).getPages()},Object.defineProperty(e.prototype,\"settings\",{get:function(){return this.settingsForPaging},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"layoutCalculator\",{get:function(){return this._taskAreaHelper.layoutCalculator},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskAreaHelper\",{get:function(){var e;return null!==(e=this._taskAreaHelper)&&void 0!==e||(this._taskAreaHelper=new f.TaskAreaExportHelper(this._owner,this._props)),this._taskAreaHelper},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"scalingHelper\",{get:function(){var e,t;return null!==(e=this._scalingHelper)&&void 0!==e||(this._scalingHelper=new T.ScalingHelper(null===(t=this._props)||void 0===t?void 0:t.pdfDoc)),this._scalingHelper},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"visibleTaskIndices\",{get:function(){return this.taskAreaHelper.visibleTaskIndices},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"baseCellWidth\",{get:function(){return this.taskAreaHelper.baseCellSize.width},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"baseCellHeight\",{get:function(){return this.taskAreaHelper.baseCellHeight},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"chartScaleTableStyle\",{get:function(){var e;return null!==(e=this._chartScaleTableStyle)&&void 0!==e||(this._chartScaleTableStyle=this.getChartScaleTableStyle()),this._chartScaleTableStyle},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"chartMainTableStyle\",{get:function(){var e;return null!==(e=this._chartMainTableStyle)&&void 0!==e||(this._chartMainTableStyle=this.getChartMainTableStyle()),this._chartMainTableStyle},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"treeListTableStyle\",{get:function(){return this._treeListTableStyle||this.calculateTreeListTableStyle(),this._treeListTableStyle},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"pageTopMargin\",{get:function(){return this._props.margins.top},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"pageLeftMargin\",{get:function(){return this._props.margins.left},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"pageRightMargin\",{get:function(){return this._props.margins.right},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"pageBottomMargin\",{get:function(){return this._props.margins.bottom},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"headerTableTop\",{get:function(){var e;return null!==(e=this._headerTableTop)&&void 0!==e||(this._headerTableTop=this.pageTopMargin),this._headerTableTop},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"mainTableTop\",{get:function(){var e;return null!==(e=this._mainTableTop)&&void 0!==e||(this._mainTableTop=this.getMainTableTop()),this._mainTableTop},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"exportDataMode\",{get:function(){return this._props.exportDataMode},enumerable:!1,configurable:!0}),e.prototype.getMainTableTop=function(){return this.headerTableTop+this.headerTableHeight-this.taskAreaHelper.offsetTop},Object.defineProperty(e.prototype,\"chartLeft\",{get:function(){var e;return null!==(e=this._chartLeft)&&void 0!==e||(this._chartLeft=this.getChartLeft()),this._chartLeft},enumerable:!1,configurable:!0}),e.prototype.getChartLeft=function(){var e;return(((null===(e=this._props)||void 0===e?void 0:e.exportMode)||k.ExportMode.all)===k.ExportMode.chart?this.pageLeftMargin:this.treeListLeft+this.treeListWidth)-this.taskAreaHelper.offsetLeft},Object.defineProperty(e.prototype,\"treeListLeft\",{get:function(){var e;return null!==(e=this._treeListLeft)&&void 0!==e||(this._treeListLeft=this.pageLeftMargin),this._treeListLeft},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"headerTableHeight\",{get:function(){return 2*this.taskAreaHelper.headerRowHeight},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"mainTableHeight\",{get:function(){var e;return null!==(e=this._mainTableHeight)&&void 0!==e||(this._mainTableHeight=this.taskAreaHelper.taskAreaHeight),this._mainTableHeight},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"treeListWidth\",{get:function(){var e;return null!==(e=this._treeListWidth)&&void 0!==e||(this._treeListWidth=this.getTreeListTableWidth()),this._treeListWidth},enumerable:!1,configurable:!0}),e.prototype.getTreeListTableWidth=function(){var e,t=this,n=this.treeListHeaderMatrix[0].map((function(e,n){return t.getTreeListColumnWidth(n)}));return null!==(e=null==n?void 0:n.reduce((function(e,t){return e+t}),0))&&void 0!==e?e:0},Object.defineProperty(e.prototype,\"chartWidth\",{get:function(){var e=this;if(!this._chartWidth){var t=this.chartTableScaleBottomMatrix[0];this._chartWidth=t.reduce((function(t,n){return t+(n.styles.cellWidth.hasValue()?n.styles.cellWidth.getValue():e.baseCellWidth)}),0)}return this._chartWidth},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"settingsForPaging\",{get:function(){return this._settingsForPaging||(this._settingsForPaging=new g.GanttPdfExportProps(this._props),this.prepareAutoFormat(this._settingsForPaging),this.scalingHelper.scalePageMargins(this._settingsForPaging)),this._settingsForPaging},enumerable:!1,configurable:!0}),e.prototype.prepareAutoFormat=function(e){if(e.format===g.GanttPdfExportProps.autoFormatKey){e.format=null;var t=e.landscape,n=this.autoFormatWidth,r=this.autoFormatHeight;(t&&r>n||!t&&r0?this.visibleTaskIndices.forEach((function(t){return e._chartTableBodyMatrix.push(e.createChartTableBodyRow(t))})):this._chartTableBodyMatrix.push(this.createChartTableBodyRow(-1))},e.prototype.createChartTableBodyRow=function(e){var t=new h.CellDef;return this.rowHasChildren(e)&&t.styles.fillColor.assign(this.taskAreaHelper.parentRowBackColor),this.chartTableScaleBottomMatrix[0].map((function(e){var n=new h.CellDef(t);return n.styles.cellWidth.assign(e.styles.cellWidth),n}))},e.prototype.rowHasSelection=function(e){return this._owner.rowHasSelection(e)},e.prototype.rowHasChildren=function(e){return this._owner.rowHasChildren(e)},e.prototype.calculateTreeListTableHeaderMatrix=function(){this._treeListHeaderMatrix=new Array;for(var e=this._owner,t=e.getTreeListColCount(),n=new Array,r=0;r0?this.fillTreeListTableBodyMatrix(this._treeListBodyMatrix):this.fillTreeListEmptyTableBodyMatrix(this._treeListBodyMatrix)},e.prototype.fillTreeListTableBodyMatrix=function(e){for(var t,n=this.visibleTaskIndices,r=this.treeListHeaderMatrix[0].length,i=0;i0,t.isMilestone||(t.isSmallTask=n.className.indexOf(s.GridLayoutCalculator.smallTaskClassName)>0,t.isParent=n.className.indexOf(s.GridLayoutCalculator.parentTaskClassName)>0,this.appendTaskTitle(t,e),this.appendTaskProgress(t,e)),t},e.prototype.appendTaskTitle=function(e,t){var n=this._owner.settings.taskTitlePosition;e.isSmallTask&&n!==o.TaskTitlePosition.Outside||n===o.TaskTitlePosition.None||(e.text=this._owner.getTaskText(t),e.textPosition=n,e.textStyle=this.getTaskTextStyle(t))},e.prototype.appendTaskProgress=function(e,t){var n=this.layoutCalculator.getTaskProgressElementInfo(t);e.progressWidth=n.size.width,e.progressColor=this.getTaskProgressColor(t),e.progressColor.applyOpacityToBackground(e.taskColor)},e.prototype.getTaskSidePoints=function(e){var t=this,n=this.layoutCalculator.getTaskSidePoints(e);return n.forEach((function(e){e.x+=t.getObjectsLeftOffset(!0),e.y+=t.dataObjectTopDelta})),n},e.prototype.getTaskColor=function(e){var t=this.taskAreaHelper.getTaskElementBackColor(e,s.GridLayoutCalculator.taskClassName);return new u.Color(t)},e.prototype.getTaskProgressColor=function(e){return new u.Color(this.taskAreaHelper.getTaskElementBackColor(e,s.GridLayoutCalculator.taskProgressClassName))},e.prototype.getTaskTextStyle=function(e){var t=new d.StyleDef;return t.cellPadding.assign(0),t.assign(this.taskAreaHelper.getTaskElementStyle(e,s.GridLayoutCalculator.taskTitleClassName)),t},e.prototype.calculateDependenciesInfo=function(){var e=this,t=new Array,n=this.taskAreaHelper,r=new u.Color(n.dependencyColor);return n.connectorLines.forEach((function(i){return t.push(e.createLineInfo(i,r,n.arrowWidth))})),t},e.prototype.createLineInfo=function(e,t,n){var r=new a.PdfDependencyLineInfo;if(r.fillColor=t,e.className.indexOf(s.GridLayoutCalculator.arrowClassName)>-1){var i=this.layoutCalculator.getArrowPositionByClassName(e.className);r.arrowInfo={position:i,width:n},r.points=[this.getArrowTopCorner(e,i,n)]}else r.points=this.getLinePoints(e);return r},e.prototype.getArrowTopCorner=function(e,t,n){var i=e.position.x+this.getObjectsLeftOffset(),s=e.position.y+this.dataObjectTopDelta;switch(t){case o.Position.Left:i+=n;break;case o.Position.Top:s+=n}return new r.Point(i,s)},e.prototype.getLinePoints=function(e){var t=e.position.x+this.getObjectsLeftOffset(),n=e.position.y+this.dataObjectTopDelta,i=t+e.size.width,o=n+e.size.height;return[new r.Point(t,n),new r.Point(i,o)]},e.prototype.calculateResourcesInfo=function(){var e=this,t=new Array;return this.taskAreaHelper.resourcesElements.forEach((function(n){return t=t.concat(e.calculateResourcesInLine(n))})),t},e.prototype.calculateResourcesInLine=function(e){var t=new Array;if(e)for(var n=i.DomUtils.pxToInt(e.style.left)+this.getObjectsLeftOffset(),r=i.DomUtils.pxToInt(e.style.top)+this.dataObjectTopDelta,o=e.getElementsByClassName(s.GridLayoutCalculator.taskResourceClassName),a=0;a{Object.defineProperty(t,\"__esModule\",{value:!0}),t.PdfDependencyLineInfo=void 0;var r=n(8900),i=n(405),o=function(){function e(){}return e.prototype.assign=function(e){var t;this._copyPoints(e.points),this.arrowInfo=e.arrowInfo,null!==(t=this.fillColor)&&void 0!==t||(this.fillColor=new i.Color),this.fillColor.assign(e.fillColor)},e.prototype._copyPoints=function(e){var t=this;this.points=new Array,null==e||e.forEach((function(e){return t.points.push(new r.Point(e.x,e.y))}))},e}();t.PdfDependencyLineInfo=o},266:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.PdfObjectDrawer=void 0;var r=n(2449),i=n(817),o=n(3917),s=function(){function e(e,t){this._FONT_ROW_RATIO=1.15,this._info=t,this._pdfDoc=e}return e.prototype.draw=function(){this.drawTimeMarkers(),this.drawDependencies(),this.drawTasks(),this.drawResources()},e.prototype.drawTasks=function(){var e,t=this,n=null===(e=this._info)||void 0===e?void 0:e.tasks;n&&n.forEach((function(e){return t.drawTask(e)}))},e.prototype.drawTask=function(e){var t=this._pdfDoc;t.setFillColor.apply(t,e.taskColor.getRBGColor()),t.setDrawColor.apply(t,e.taskColor.getRBGColor()),e.isMilestone?this.drawMilestone(e):this.drawRegularTask(e)},e.prototype.drawMilestone=function(e){var t=this._pdfDoc,n=e.sidePoints[0].x,r=e.sidePoints[0].y,i=e.sidePoints[1].x,o=e.sidePoints[1].y,s=e.sidePoints[2].x,a=e.sidePoints[2].y,l=e.sidePoints[3].x,c=e.sidePoints[3].y;t.triangle(n,r,i,o,s,a,\"FD\"),t.triangle(n,r,l,c,s,a,\"FD\")},e.prototype.drawRegularTask=function(e){var t=this._pdfDoc;t.rect(e.left,e.top,e.width,e.height,\"FD\"),e.isParent&&this.drawParentBorder(e),e.progressWidth&&(t.setFillColor.apply(t,e.progressColor.getRBGColor()),t.rect(e.left,e.top,e.progressWidth,e.height,\"F\")),e.text&&this.printTaskTitle(e)},e.prototype.drawParentBorder=function(e){var t=this._pdfDoc,n=e.sidePoints[0].x,r=e.sidePoints[1].y,i=e.sidePoints[3].y,o=e.sidePoints[2].x,s=e.sidePoints[3].y-e.sidePoints[1].y,a=e.progressWidth>s?e.progressColor.getRBGColor():e.taskColor.getRBGColor();t.setFillColor.apply(t,a),t.triangle(n,r,n,i,n+s,r,\"FD\"),t.setFillColor.apply(t,e.taskColor.getRBGColor()),t.triangle(o,r,o,i,o-s,r,\"FD\")},e.prototype.printTaskTitle=function(e){var t,n=this._pdfDoc,s=e.textStyle,a=s&&s.textColor.getRBGColor(),l=s&&s.fontSize;n.setTextColor.apply(n,a),n.setFontSize(l);var c=e.top+l*this._FONT_ROW_RATIO/n.internal.scaleFactor;e.isParent&&(c-=o.PdfTaskInfo.defaultParentHeightCorrection);var u=s&&s.cellPadding.left||0,d=s&&s.cellPadding.right||0;if(e.textPosition===r.TaskTitlePosition.Inside){var p=e.width-u-d;t=e.left+u,n.text(i.EllipsisHelper.limitPdfTextWithEllipsis(e.text,n,p),t,c)}else t=e.left-d,n.text(e.text,t,c,{align:\"right\"})},e.prototype.drawDependencies=function(){var e,t=this,n=null===(e=this._info)||void 0===e?void 0:e.dependencies;n&&n.forEach((function(e){return t.drawDependencyLine(e)}))},e.prototype.drawDependencyLine=function(e){var t,n;if((t=this._pdfDoc).setFillColor.apply(t,e.fillColor.getRBGColor()),(n=this._pdfDoc).setDrawColor.apply(n,e.fillColor.getRBGColor()),e.arrowInfo)this.drawArrow(e);else{var r=e.points;this._pdfDoc.line(r[0].x,r[0].y,r[1].x,r[1].y)}},e.prototype.isValidLine=function(e){var t=e.points;return!(isNaN(t[0].x)||isNaN(t[0].y)||isNaN(t[1].x)||isNaN(t[1].y))},e.prototype.drawArrow=function(e){var t=e.arrowInfo.width||0,n=e.points[0].x,i=e.points[0].y;switch(e.arrowInfo.position){case r.Position.Left:this._pdfDoc.triangle(n,i+t,n+t,i,n+t,i+2*t,\"FD\");break;case r.Position.Right:this._pdfDoc.triangle(n,i,n,i+2*t,n+t,i+t,\"FD\");break;case r.Position.Top:this._pdfDoc.triangle(n,i+t,n+t,i,n+2*t,i+t,\"FD\");break;case r.Position.Bottom:this._pdfDoc.triangle(n,i,n+t,i+t,n+2*t,i,\"FD\")}},e.prototype.drawResources=function(){var e,t=this,n=this._pdfDoc,r=null===(e=this._info)||void 0===e?void 0:e.resources;r&&r.forEach((function(e){var r,i,o;n.setFontSize(null!==(r=e.style.fontSize)&&void 0!==r?r:11);var s=e.y+e.style.fontSize*t._FONT_ROW_RATIO/n.internal.scaleFactor,a=null!==(i=e.style.cellPadding.left)&&void 0!==i?i:0,l=null!==(o=e.style.cellPadding.right)&&void 0!==o?o:1,c=Math.max(e.style.cellWidth.getValue(),a+n.getTextWidth(e.text)+l);n.setFillColor.apply(n,e.style.fillColor.getRBGColor()),n.rect(e.x,e.y,c,e.style.minCellHeight,\"F\"),n.setTextColor.apply(n,e.style.textColor.getRBGColor()),n.text(e.text,e.x+a,s)}))},e.prototype.drawTimeMarkers=function(){var e,t=this,n=null===(e=this._info)||void 0===e?void 0:e.timeMarkers;null==n||n.forEach((function(e){return t.drawTimeMarker(e)}))},e.prototype.drawTimeMarker=function(e){var t,n,r=this._pdfDoc,i=e.size.width>1,o=e.start.x,s=e.start.y,a=e.size.width,l=e.size.height,c=e.isStripLine;i&&(r.setFillColor.apply(r,e.color.getRBGColor()),r.saveGraphicsState(),r.setGState(new r.GState({opacity:null!==(n=e.color.opacity)&&void 0!==n?n:1})),r.rect(o,s,a,l,\"F\"),r.restoreGraphicsState()),c&&(this._pdfDoc.setLineDashPattern([3]),(t=this._pdfDoc).setDrawColor.apply(t,e.lineColor.getRBGColor()),i&&this._pdfDoc.line(o+a,s,o+a,s+l,\"S\"),this._pdfDoc.line(o,s,o,s+l,\"S\"),this._pdfDoc.setLineDashPattern())},e}();t.PdfObjectDrawer=s},3917:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.PdfTaskInfo=void 0;var r=n(8900),i=n(405),o=n(6995),s=function(){function e(){}return Object.defineProperty(e.prototype,\"left\",{get:function(){var e;return(null===(e=this.sidePoints)||void 0===e?void 0:e.length)>3?this.sidePoints[0].x:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"top\",{get:function(){var e;return(null===(e=this.sidePoints)||void 0===e?void 0:e.length)>3?this.sidePoints[1].y:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"right\",{get:function(){var e;return(null===(e=this.sidePoints)||void 0===e?void 0:e.length)>3?this.sidePoints[2].x:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"bottom\",{get:function(){var e;return(null===(e=this.sidePoints)||void 0===e?void 0:e.length)>3?this.sidePoints[3].y:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"width\",{get:function(){return this.right-this.left},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"height\",{get:function(){var t=this.bottom-this.top;return this.isParent&&(t-=e.defaultParentHeightCorrection),t},enumerable:!1,configurable:!0}),e.prototype.assign=function(e){var t,n,r;this.isMilestone=e.isMilestone,this._copyPoints(e.sidePoints),this.progressWidth=e.progressWidth,this.isSmallTask=e.isSmallTask,this.text=e.text,this.textPosition=e.textPosition,null!==(t=this.progressColor)&&void 0!==t||(this.progressColor=new i.Color),this.progressColor.assign(e.progressColor),null!==(n=this.taskColor)&&void 0!==n||(this.taskColor=new i.Color),this.taskColor.assign(e.taskColor),null!==(r=this.textStyle)&&void 0!==r||(this.textStyle=new o.StyleDef),this.textStyle.assign(e.textStyle),this.isParent=e.isParent},e.prototype._copyPoints=function(e){var t=this;this.sidePoints=new Array,null==e||e.forEach((function(e){return t.sidePoints.push(new r.Point(e.x,e.y))}))},e.defaultParentHeightCorrection=4,e}();t.PdfTaskInfo=s},2485:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.PdfTaskResourcesInfo=void 0;var r=n(2491),i=n(6995),o=function(){function e(e,t,n,o){e&&(this.text=e),t&&(this.style=new i.StyleDef(t)),(0,r.isDefined)(n)&&(this.x=n),(0,r.isDefined)(o)&&(this.y=o)}return e.prototype.assign=function(e){this.text=e.text,this.style=new i.StyleDef(e.style),this.x=e.x,this.y=e.y},e}();t.PdfTaskResourcesInfo=o},7802:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.PdfTimeMarkerInfo=void 0;var r=n(8900),i=n(6353),o=n(2491),s=n(405),a=function(){function e(e,t,n,a,l){this.lineColor=new s.Color,this.color=new s.Color,e&&(this.start=new r.Point(e.x,e.y)),t&&(this.size=new i.Size(t.width,t.height)),n&&this.color.assign(n),a&&this.lineColor.assign(a),(0,o.isDefined)(l)&&(this.isStripLine=l)}return e.prototype.assign=function(e){var t,n,o,s;e&&(this.start=new r.Point(null===(t=e.start)||void 0===t?void 0:t.x,null===(n=e.start)||void 0===n?void 0:n.y),this.size=new i.Size(null===(o=e.size)||void 0===o?void 0:o.width,null===(s=e.size)||void 0===s?void 0:s.height),this.isStripLine=e.isStripLine,this.color.assign(e.color),this.lineColor.assign(e.lineColor))},e}();t.PdfTimeMarkerInfo=a},2978:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.PdfGanttExporter=void 0;var r=n(4970),i=function(){function e(e){if(!e.settings.pdfDoc&&!e.settings.docCreateMethod)throw new Error(\"Cannot convert gantt to pdf without document instance!\");this._info=e}return e.prototype.export=function(){var e,t,n=this.pdfDoc;this.applyCustomFont();for(var i=this._info,o=new r.PdfGanttPageDrawer(n,i.settings),s=i.getPages(n),a=s.length,l=0;l0&&n.addPage(this.getDocumentFormat(),this.getOrientation());var c=s[l];o.drawPage(c)}return(null===(e=this.props)||void 0===e?void 0:e.fileName)&&n.save(null===(t=this.props)||void 0===t?void 0:t.fileName),n},Object.defineProperty(e.prototype,\"pdfDoc\",{get:function(){var e,t;return null!==(e=this._pdfDoc)&&void 0!==e||(this._pdfDoc=null!==(t=this._info.settings.pdfDoc)&&void 0!==t?t:this.createDoc()),this._pdfDoc},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"props\",{get:function(){return this._info.settings},enumerable:!1,configurable:!0}),e.prototype.createDoc=function(){var e=this.getJsPDFProps();return this._info.settings.docCreateMethod(e)},e.prototype.getJsPDFProps=function(){var e={putOnlyUsedFonts:!0,unit:\"px\",hotfixes:[\"px_scaling\"]};return e.orientation=this.getOrientation(),e.format=this.getDocumentFormat(),e},e.prototype.getOrientation=function(){var e;return(null===(e=this.props)||void 0===e?void 0:e.landscape)?\"l\":\"p\"},e.prototype.getDocumentFormat=function(){var e,t,n,r;return(null===(e=this.props)||void 0===e?void 0:e.format)||(null===(t=this.props)||void 0===t?void 0:t.pageSize)?(null===(n=this.props)||void 0===n?void 0:n.pageSize)?[this.props.pageSize.height,this.props.pageSize.width]:null===(r=this.props)||void 0===r?void 0:r.format:\"a4\"},e.prototype.applyCustomFont=function(){this.props.font&&this.props.font.applyToDoc(this.pdfDoc)},e}();t.PdfGanttExporter=i},8935:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.PdfPageTableNames=void 0;var n=function(){function e(){}return e.treeListHeader=\"treeListHeader\",e.treeListMain=\"treeListMain\",e.chartMain=\"chartMain\",e.chartScaleTop=\"chartScaleTop\",e.chartScaleBottom=\"chartScaleBottom\",e}();t.PdfPageTableNames=n},4970:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.PdfGanttPageDrawer=void 0;var r=n(8900),i=n(266),o=n(8935),s=n(9895),a=n(5510),l=function(){function e(e,t){this._pdfDoc=e,this._props=t}return e.prototype.drawPage=function(e){var t=this._pdfDoc,n=new a.PdfGanttTableDrawer(t);this.needDrawChart()&&(n.drawTable(e.tables[o.PdfPageTableNames.chartMain]),new i.PdfObjectDrawer(t,e.objects).draw(),n.drawTable(e.tables[o.PdfPageTableNames.chartScaleTop]),n.drawTable(e.tables[o.PdfPageTableNames.chartScaleBottom]));return this.needDrawTreeList()&&(n.drawTable(e.tables[o.PdfPageTableNames.treeListMain]),n.drawTable(e.tables[o.PdfPageTableNames.treeListHeader])),this.drawMargins(e),t},e.prototype.needDrawChart=function(){return!this._props||this._props.exportMode===s.ExportMode.all||this._props.exportMode===s.ExportMode.chart},e.prototype.needDrawTreeList=function(){return!this._props||this._props.exportMode===s.ExportMode.all||this._props.exportMode===s.ExportMode.treeList},e.prototype.getContentRightBottom=function(e){var t=new r.Point(0,0);for(var n in e.tables)if(Object.prototype.hasOwnProperty.call(e.tables,n)){var i=e.tables[n];t.x=Math.max(t.x,i.position.x+i.size.width),t.y=Math.max(t.y,i.position.y+i.size.height)}return t},e.prototype.drawMargins=function(e){var t=this._pdfDoc,n=this._props,r=t.getPageWidth(),i=t.getPageHeight(),o=this.getContentRightBottom(e);t.setFillColor(255,255,255),t.rect(0,0,n.margins.left,i,\"F\"),t.rect(0,0,r,n.margins.top,\"F\"),t.rect(o.x,0,r,i,\"F\"),t.rect(0,o.y,r,i,\"F\")},e}();t.PdfGanttPageDrawer=l},4429:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.PageNavigation=void 0;var n=function(){function e(e,t,n,r,i,o){this._correctedBottoms=new Array,this.vIndex=0,this.hIndex=0,this.pageX=0,this.pageY=0,this._top=null==e?void 0:e.top,this._left=null==e?void 0:e.left,this._bottom=null==e?void 0:e.bottom,this._right=null==e?void 0:e.right,this.vIndex=null!=t?t:this.vIndex,this.hIndex=null!=n?n:this.hIndex,this.pageX=null!=r?r:this.pageX,this.pageY=null!=i?i:this.pageY,o&&(this._correctedBottoms=o)}return e.prototype.offset=function(e,t){e&&this.offsetOneD(e),t&&this.offsetOneD(t,!0)},e.prototype.offsetOneD=function(e,t){for(var n=e,r=this.getSpaceToBorder(t);r{Object.defineProperty(t,\"__esModule\",{value:!0}),t.PdfGanttPaginator=void 0;var r=n(8900),i=n(6353),o=n(4991),s=n(3917),a=n(2485),l=n(7802),c=n(8935),u=n(6032),d=n(4429),p=function(e,t,n,r,i){this.pageVerIndex=t,this.pageHorIndex=e,this.cellRowIndexOnPage=n,this.cellColIndexOnPage=r,this.cell=i},h=function(){function e(e,t,n,r){this.pageIndex=e,this.globalCellIndex=t,this.pageOffset=n,this.cutSize=r}return Object.defineProperty(e.prototype,\"isCutted\",{get:function(){return this.cutSize>0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"cellIndexOnPage\",{get:function(){return this.globalCellIndex-this.pageOffset},enumerable:!1,configurable:!0}),e}(),f=function(){function e(e,t,n){this._pdfDoc=e,this._props=t,this._globalInfo=n}return e.prototype.getPages=function(){return delete this._pages,this._paginateTables(),this._paginateObjects(),this.pageMatrixToArray},e.prototype._paginateTables=function(){this._paginateTable(c.PdfPageTableNames.treeListHeader),this._paginateTable(c.PdfPageTableNames.treeListMain),this._paginateTable(c.PdfPageTableNames.chartScaleBottom),this._paginateTable(c.PdfPageTableNames.chartScaleTop),this._paginateTable(c.PdfPageTableNames.chartMain)},e.prototype._paginateObjects=function(){this._paginateTasks(),this._paginateDependencies(),this._paginateResources(),this._paginateTimeMarkers()},Object.defineProperty(e.prototype,\"pageMatrixToArray\",{get:function(){var e,t=new Array;return null===(e=this._pages)||void 0===e||e.forEach((function(e){t=t.concat(e)})),t},enumerable:!1,configurable:!0}),e.prototype._paginateTasks=function(){var e,t,n=this;null===(t=null===(e=this._globalInfo.objects)||void 0===e?void 0:e.tasks)||void 0===t||t.forEach((function(e){return n._paginateTask(e)}))},e.prototype._paginateDependencies=function(){var e,t,n=this;null===(t=null===(e=this._globalInfo.objects)||void 0===e?void 0:e.dependencies)||void 0===t||t.forEach((function(e){e.arrowInfo?n._paginateArrow(e):n._paginateDependencyLine(e)}))},e.prototype._paginateResources=function(){var e,t,n=this;null===(t=null===(e=this._globalInfo.objects)||void 0===e?void 0:e.resources)||void 0===t||t.forEach((function(e){return n._paginateResource(e)}))},e.prototype._paginateTimeMarkers=function(){var e,t,n=this;null===(t=null===(e=this._globalInfo.objects)||void 0===e?void 0:e.timeMarkers)||void 0===t||t.forEach((function(e){return n._paginateTimeMarker(e)}))},e.prototype._paginateTable=function(e){var t,n=null===(t=this._globalInfo)||void 0===t?void 0:t.tables[e];if(n){for(var r=this._getTableStart(n),i=this._preparePagesNavigationMatrixForTable(r,n),o=i.length,s=0;s{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ScalingHelper=void 0;var r=n(8935),i=function(){function e(e){this._doc=e}return Object.defineProperty(e.prototype,\"_docScaleFactor\",{get:function(){var e,t;return null===(t=null===(e=this._doc)||void 0===e?void 0:e.internal)||void 0===t?void 0:t.scaleFactor},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"_correctScaleNeeded\",{get:function(){return this._docScaleFactor&&Math.abs(this._docScaleFactor-e._defaultScaleFactor)>Number.EPSILON},enumerable:!1,configurable:!0}),e.prototype.getScaledSize=function(t){return t*e._defaultScaleFactor/this._docScaleFactor},e.prototype.scalePageMargins=function(e){var t,n,r,i;this._correctScaleNeeded&&((null===(t=null==e?void 0:e.margins)||void 0===t?void 0:t.left)&&(e.margins.left=this.getScaledSize(e.margins.left)),(null===(n=null==e?void 0:e.margins)||void 0===n?void 0:n.right)&&(e.margins.right=this.getScaledSize(e.margins.right)),(null===(r=null==e?void 0:e.margins)||void 0===r?void 0:r.top)&&(e.margins.top=this.getScaledSize(e.margins.top)),(null===(i=null==e?void 0:e.margins)||void 0===i?void 0:i.bottom)&&(e.margins.bottom=this.getScaledSize(e.margins.bottom)))},e.prototype.scaleSizes=function(e){this._correctScaleNeeded&&(this.scaleTables(e),this.scaleObjects(e.objects))},e.prototype.scaleTables=function(e){(null==e?void 0:e.tables)&&(this.scaleTable(e.tables[r.PdfPageTableNames.treeListHeader]),this.scaleTable(e.tables[r.PdfPageTableNames.treeListMain]),this.scaleTable(e.tables[r.PdfPageTableNames.chartMain]),this.scaleTable(e.tables[r.PdfPageTableNames.chartScaleTop]),this.scaleTable(e.tables[r.PdfPageTableNames.chartScaleBottom]))},e.prototype.scaleTable=function(e){var t,n,r,i,o,s;if(e&&((null===(t=e.size)||void 0===t?void 0:t.width)&&(e.size.width=this.getScaledSize(e.size.width)),(null===(n=e.size)||void 0===n?void 0:n.height)&&(e.size.height=this.getScaledSize(e.size.height)),(null===(r=e.position)||void 0===r?void 0:r.x)&&(e.position.x=this.getScaledSize(e.position.x)),(null===(i=e.position)||void 0===i?void 0:i.y)&&(e.position.y=this.getScaledSize(e.position.y)),(null===(o=e.baseCellSize)||void 0===o?void 0:o.width)&&(e.baseCellSize.width=this.getScaledSize(e.baseCellSize.width)),(null===(s=e.baseCellSize)||void 0===s?void 0:s.height)&&(e.baseCellSize.height=this.getScaledSize(e.baseCellSize.height)),e.cells))for(var a=0;a{Object.defineProperty(t,\"__esModule\",{value:!0}),t.PdfCustomFontSettings=void 0;var r=n(2491),i=function(){function e(e){this.style=\"normal\",e&&this.assign(e)}return e.prototype.assign=function(e){(0,r.isDefined)(e.fontObject)&&(this.fontObject=e.fontObject),(0,r.isDefined)(e.name)&&(this.name=e.name),(0,r.isDefined)(e.style)&&(this.style=e.style),(0,r.isDefined)(e.weight)&&(this.weight=e.weight)},e.prototype.applyToDoc=function(e){try{if(e&&this.fontObject&&this.name){var t=this.name+\"-\"+this.style+\".ttf\";e.addFileToVFS(t,this.fontObject),e.addFont(t,this.name,this.style,this.weight),e.setFont(this.name)}}catch(e){}},e}();t.PdfCustomFontSettings=i},6431:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.PdfDataRange=void 0;var r=n(2491),i=function(){function e(e,t,n,r){var i=!e||e instanceof Date?{startDate:e,endDate:t,startIndex:n,endIndex:r}:e;i&&this.assign(i)}return e.prototype.assign=function(e){(0,r.isDefined)(e.startDate)&&(this.startDate=e.startDate instanceof Date?e.startDate:new Date(e.startDate)),(0,r.isDefined)(e.endDate)&&(this.endDate=e.endDate instanceof Date?e.endDate:new Date(e.endDate)),(0,r.isDefined)(e.startIndex)&&(this.startIndex=parseInt(e.startIndex)),(0,r.isDefined)(e.endIndex)&&(this.endIndex=parseInt(e.endIndex))},e}();t.PdfDataRange=i},9895:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DataExportMode=t.ExportMode=void 0,function(e){e[e.all=0]=\"all\",e[e.treeList=1]=\"treeList\",e[e.chart=2]=\"chart\"}(t.ExportMode||(t.ExportMode={})),function(e){e[e.all=0]=\"all\",e[e.visible=1]=\"visible\"}(t.DataExportMode||(t.DataExportMode={}))},6997:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.GanttPdfExportProps=void 0;var r=n(6353),i=n(2491),o=n(5063),s=n(6431),a=n(7223),l=n(9895),c=function(){function e(e){this.landscape=!1,this.margins=null,this.exportMode=l.ExportMode.all,this.exportDataMode=l.DataExportMode.visible,e&&this.assign(e)}return e.prototype.assign=function(e){if(e){if((0,i.isDefined)(e.pdfDocument)&&(this.pdfDoc=e.pdfDocument),(0,i.isDefined)(e.pdfDoc)&&(this.pdfDoc=e.pdfDoc),this.docCreateMethod=e.docCreateMethod,(0,i.isDefined)(e.fileName)&&(this.fileName=e.fileName),this.landscape=!!e.landscape,(0,i.isDefined)(e.margins)&&(this.margins=new o.Margin(e.margins)),(0,i.isDefined)(e.format)){var t=e.format;if(\"string\"==typeof t)this.format=t;else{var n=parseInt(t.width),c=parseInt(t.height);this.pageSize=new r.Size(n,c)}}else if((0,i.isDefined)(e.pageSize)){var u=e.pageSize;this.pageSize=u instanceof r.Size?u.clone():new r.Size(u.width,u.height)}if((0,i.isDefined)(e.exportMode)&&(this.exportMode=this.getEnumValue(l.ExportMode,e.exportMode)),(0,i.isDefined)(e.dateRange)){var d=e.dateRange;\"number\"==typeof d||\"string\"==typeof d?this.exportDataMode=this.getEnumValue(l.DataExportMode,d):this.dateRange=new s.PdfDataRange(d)}(0,i.isDefined)(e.font)&&(this.font=new a.PdfCustomFontSettings(e.font))}},e.prototype.getEnumValue=function(e,t){if(!(0,i.isDefined)(e[t]))return null;var n=parseInt(t);return isNaN(n)?e[t]:n},e.autoFormatKey=\"auto\",e}();t.GanttPdfExportProps=c},6032:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CellDef=void 0;var r=n(2491),i=n(6995),o=function(){function e(e,t,n){this.content=\"\",\"string\"==typeof e?(this.content=e,this.colSpan=t,n&&this.appendStyles(n)):e&&this.assign(e)}return Object.defineProperty(e.prototype,\"styles\",{get:function(){return this._styles||(this._styles=new i.StyleDef),this._styles},enumerable:!1,configurable:!0}),e.prototype.assign=function(e){(0,r.isDefined)(e.content)&&(this.content=e.content),(0,r.isDefined)(e.colSpan)&&(this.colSpan=e.colSpan),e.styles&&this.appendStyles(e.styles)},e.prototype.appendStyles=function(e){e&&this.styles.assign(e)},e.prototype.hasValue=function(){return!0},e.prototype.getValue=function(){var e={};return e.content=this.content,this.colSpan>1&&(e.colSpan=this.colSpan),this._styles&&(e.styles=this._styles.getValue()),e},e}();t.CellDef=o},405:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Color=void 0;var r=n(2491),i=function(){function e(e){this._num=null,this._opacity=1,this._rgb=null,this.assign(e)}return Object.defineProperty(e.prototype,\"opacity\",{get:function(){return this._opacity},enumerable:!1,configurable:!0}),e.prototype.hasValue=function(){return(0,r.isDefined)(this._num)||!!this._rgb||0===this._opacity},e.prototype.getValue=function(){return!(0===this._opacity&&!this._rgb)&&((0,r.isDefined)(this._num)?this._num:this._rgb?this.getRBGColor():null)},e.prototype.assign=function(t){this.reset(),\"string\"==typeof t&&this.assignFromString(t),\"number\"==typeof t&&(this._num=t),t instanceof Array&&this.assignFromRgbArray(t),t instanceof e&&this.assignFromColor(t)},e.prototype.reset=function(){this._opacity=1,this._num=null,this._rgb=null},e.prototype.assignFromString=function(e){e&&(\"transparent\"===e&&(this._opacity=0),0===e.indexOf(\"#\")&&this.assignFromHexString(e),\"rgb\"===e.substr(0,3).toLowerCase()&&this.assignFromRgbString(e))},e.prototype.assignFromHexString=function(e){if(4===e.length&&(e=\"#\"+e[1].repeat(2)+e[2].repeat(2)+e[3].repeat(2)),e.length>6){var t=parseInt(e.substr(1,2),16),n=parseInt(e.substr(3,2),16),r=parseInt(e.substr(5,2),16);this._rgb=[t,n,r]}},e.prototype.assignFromRgbString=function(t){var n=\"rgba\"===t.substr(0,4).toLowerCase(),r=t.toLowerCase().match(n?e.rgbaRegexp:e.rgbRegexp);if(r){var i=parseInt(r[1]),o=parseInt(r[2]),s=parseInt(r[3]);this._rgb=[i,o,s],n&&(this._opacity=parseFloat(r[4]))}},e.prototype.assignFromRgbArray=function(e){e&&e.length>2&&(this._rgb=[e[0],e[1],e[2]],(0,r.isDefined)(e[3])&&(this._opacity=e[3]))},e.prototype.assignFromColor=function(e){this._opacity=e._opacity,this._num=e._num,this._rgb=e._rgb},e.prototype.getRBGColor=function(){return this._rgb?this._rgb:[0,0,0]},e.prototype.applyOpacityToBackground=function(t){if(1!==this._opacity){var n=(t instanceof e?t:new e(t)).getValue();if(n instanceof Array){var r=this.opacity,i=Math.round((1-r)*n[0]+r*this._rgb[0]),o=Math.round((1-r)*n[1]+r*this._rgb[1]),s=Math.round((1-r)*n[2]+r*this._rgb[2]);this._rgb=[i,o,s]}}},e.rgbRegexp=/rgb\\s*\\(\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*\\)/,e.rgbaRegexp=/rgba?\\s*\\(\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*,?\\s*([0-9]*\\.?[0-9]*)\\s*\\)/,e}();t.Color=i},5510:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.PdfGanttTableDrawer=void 0;var r=n(2491),i=n(8935),o=n(817),s=n(7624),a=function(){function e(e){this._pdfDoc=e}return e.prototype.drawTable=function(e){var t,n;if(e){var r=this.createTableOptions(e);(null===(t=e.style)||void 0===t?void 0:t.fontSize)&&this._pdfDoc.setFontSize(null===(n=e.style)||void 0===n?void 0:n.fontSize),this._pdfDoc.autoTable(r.getValue())}},e.prototype.createTableOptions=function(e){var t=this.createDefaultTableOptions();return this.addTableCommonSettings(e,t),this.addCommonTableStyles(e,t),this.prepareBodyCells(e),t.addBody(e.cells),e.hideRowLines&&this.hideRowLines(t),t},e.prototype.createDefaultTableOptions=function(){var e=new s.TableOptions;return e.pageBreak=\"auto\",e.margin.assign(0),e.tableWidth.assign(\"auto\"),e.styles.cellPadding.assign(0),e.styles.halign=\"center\",e.styles.valign=\"middle\",e.styles.lineWidth=1,e.styles.overflow=\"hidden\",e},e.prototype.addTableCommonSettings=function(e,t){t.startY=e.position.y,t.margin.assign({left:e.position.x}),t.tableWidth.assign(e.size.width)},e.prototype.addCommonTableStyles=function(e,t){var n=t.styles;n.assign(e.style),0===n.fillColor.opacity&&n.fillColor.assign(\"#FFFFFF\"),n.minCellHeight=e.baseCellSize.height,t.alternateRowStyles.minCellHeight=t.styles.minCellHeight,t.alternateRowStyles.fillColor.assign(t.styles.fillColor),(0,r.isDefined)(e.baseCellSize.width)&&n.cellWidth.assign(e.baseCellSize.width)},e.prototype.prepareBodyCells=function(t){var n,r,s;if(t.name===i.PdfPageTableNames.treeListMain||t.name===i.PdfPageTableNames.chartScaleTop||t.name===i.PdfPageTableNames.chartScaleBottom)for(var a=t.cells,l=0;l{Object.defineProperty(t,\"__esModule\",{value:!0}),t.EllipsisHelper=void 0;var n=function(){function e(){}return e.limitPdfTextWithEllipsis=function(t,n,r){if(!(null==n?void 0:n.getTextWidth)||!r)return t;if(n.getTextWidth(t.toString())>r){for(var i=t,o=t.length-1;n.getTextWidth(i)>r&&o>0;)i=i.substring(0,o)+e.ellipsis,o--;return i}return t},e.ellipsis=\"...\",e}();t.EllipsisHelper=n},5063:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Margin=void 0;var r=n(2491),i=n(6907),o=function(){function e(e){this.assign(e)}return e.prototype.assign=function(e){if((0,r.isDefined)(e))if(\"string\"==typeof e)this.assignFromString(e);else if(\"number\"==typeof e||e instanceof Array)this.assignWithValues(e);else{var t=e||e;this.assignWithMargin(t)}},e.prototype.assignFromString=function(e){var t=e.split(\" \").map((function(e){return i.DomUtils.pxToInt(e)}));this.assignWithValues(t)},e.prototype.assignWithMargin=function(e){(0,r.isDefined)(e.top)&&(this.top=e.top),(0,r.isDefined)(e.right)&&(this.right=e.right),(0,r.isDefined)(e.bottom)&&(this.bottom=e.bottom),(0,r.isDefined)(e.left)&&(this.left=e.left)},e.prototype.assignWithValues=function(e){var t=this.getCorrectedValues(e);this.top=t[0],this.right=t[1],this.bottom=t[2],this.left=t[3]},e.prototype.getCorrectedValues=function(e){var t=[this.top,this.right,this.bottom,this.left];if(\"number\"==typeof e){t=[e,e,e,e]}else{var n=e;switch(n.length){case 1:t=[n[0],n[0],n[0],n[0]];break;case 2:t=[n[0],n[1],n[0],n[1]];break;case 3:t=[n[0],n[1],n[2],n[1]];break;default:n.forEach((function(e,n){return t[n]=e}))}}return t},e.prototype.hasValue=function(){return(0,r.isDefined)(this.top)||(0,r.isDefined)(this.left)||(0,r.isDefined)(this.right)||(0,r.isDefined)(this.bottom)},e.prototype.getValue=function(){if(!this.hasValue())return null;if(this.top===this.bottom&&this.left===this.right&&this.top===this.left)return this.top;var e={};return(0,r.isDefined)(this.top)&&(e.top=this.top),(0,r.isDefined)(this.left)&&(e.left=this.left),(0,r.isDefined)(this.right)&&(e.right=this.right),(0,r.isDefined)(this.bottom)&&(e.bottom=this.bottom),e},e}();t.Margin=o},2642:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.PredefinedStyles=void 0;var n=function(){function e(){}return e.getPredefinedStringOrUndefined=function(e,t){var n=e&&t&&e.toLowerCase()||void 0;return n&&(t.filter((function(e){return e.toLowerCase()===n}))[0]||t.filter((function(e){return n.indexOf(e.toLowerCase())>-1}))[0])},e.fontFamilies=[\"helvetica\",\"times\",\"courier\"],e.fontStyles=[\"normal\",\"bold\",\"italic\",\"bolditalic\"],e.headerFooterVisibility=[\"everyPage\",\"firstPage\",\"never\"],e.horizontalAlign=[\"left\",\"center\",\"right\"],e.overflow=[\"linebreak\",\"ellipsize\",\"visible\",\"hidden\"],e.pageBreak=[\"auto\",\"avoid\",\"always\"],e.rowPageBreak=[\"auto\",\"avoid\"],e.verticalAlign=[\"top\",\"middle\",\"bottom\"],e.width=[\"auto\",\"wrap\"],e}();t.PredefinedStyles=n},6995:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.StyleDef=void 0;var r=n(2491),i=n(6907),o=n(405),s=n(2642),a=n(5063),l=n(7343),c=function(){function e(e){this._fillColor=new o.Color,this._textColor=new o.Color,this._lineColor=new o.Color,this._cellWidth=new l.Width,this._cellPadding=new a.Margin,e&&this.assign(e)}return Object.defineProperty(e.prototype,\"font\",{get:function(){return this._fontFamily},set:function(e){this._fontFamily=s.PredefinedStyles.getPredefinedStringOrUndefined(e,s.PredefinedStyles.fontFamilies)||e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"fontStyle\",{get:function(){return this._fontStyle},set:function(e){this._fontStyle=s.PredefinedStyles.getPredefinedStringOrUndefined(e,s.PredefinedStyles.fontStyles)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"fontSize\",{get:function(){return this._fontSize},set:function(e){this._fontSize=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"overflow\",{get:function(){return this._overflow},set:function(e){this._overflow=s.PredefinedStyles.getPredefinedStringOrUndefined(e,s.PredefinedStyles.overflow)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"halign\",{get:function(){return this._horizontalAlign},set:function(e){this._horizontalAlign=s.PredefinedStyles.getPredefinedStringOrUndefined(e,s.PredefinedStyles.horizontalAlign)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"valign\",{get:function(){return this._verticalAlign},set:function(e){this._verticalAlign=s.PredefinedStyles.getPredefinedStringOrUndefined(e,s.PredefinedStyles.verticalAlign)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"fillColor\",{get:function(){return this._fillColor},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"textColor\",{get:function(){return this._textColor},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"lineColor\",{get:function(){return this._lineColor},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"cellWidth\",{get:function(){return this._cellWidth},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"cellPadding\",{get:function(){return this._cellPadding},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"lineWidth\",{get:function(){return this._lineWidth},set:function(e){this._lineWidth=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"minCellWidth\",{get:function(){return this._minCellWidth},set:function(e){this._minCellWidth=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"minCellHeight\",{get:function(){return this._minCellHeight},set:function(e){this._minCellHeight=e},enumerable:!1,configurable:!0}),e.prototype.assign=function(t){t&&(t instanceof e?((0,r.isDefined)(t.font)&&(this.font=t.font),(0,r.isDefined)(t.fontStyle)&&(this.fontStyle=t.fontStyle),(0,r.isDefined)(t.overflow)&&(this.overflow=t.overflow),(0,r.isDefined)(t.halign)&&(this.halign=t.halign),(0,r.isDefined)(t.valign)&&(this.valign=t.valign),(0,r.isDefined)(t.fontSize)&&(this.fontSize=t.fontSize),(0,r.isDefined)(t.lineWidth)&&(this.lineWidth=t.lineWidth),(0,r.isDefined)(t.minCellWidth)&&(this.minCellWidth=t.minCellWidth),(0,r.isDefined)(t.minCellHeight)&&(this.minCellHeight=t.minCellHeight),(0,r.isDefined)(t.fillColor)&&this.fillColor.assign(t.fillColor),(0,r.isDefined)(t.textColor)&&this.textColor.assign(t.textColor),(0,r.isDefined)(t.lineColor)&&this.lineColor.assign(t.lineColor),(0,r.isDefined)(t.cellWidth)&&this.cellWidth.assign(t.cellWidth),(0,r.isDefined)(t.cellPadding)&&this.cellPadding.assign(t.cellPadding)):this.assignFromCssStyle(t))},e.prototype.assignFromCssStyle=function(e){if(e.fontFamily&&(this.font=this.getPdfFontFamily(e)),this.fontStyle=this.getPdfFontStyle(e),(0,r.isDefined)(e.fontSize)&&(this.fontSize=this.getPfrFontSize(e.fontSize)),e.textAlign&&(this.halign=e.textAlign),e.verticalAlign&&(this.valign=e.verticalAlign),(0,r.isDefined)(e.borderWidth)&&(this.lineWidth=e.borderWidth),(0,r.isDefined)(e.cellWidth)&&this.cellWidth.assign(e.cellWidth),(0,r.isDefined)(e.width)&&(this.minCellWidth=\"number\"==typeof e.width?e.width:i.DomUtils.pxToInt(e.width)),(0,r.isDefined)(e.height)&&(this.minCellHeight=\"number\"==typeof e.height?e.height:i.DomUtils.pxToInt(e.height)),e.backgroundColor&&this.fillColor.assign(e.backgroundColor),e.color&&this.textColor.assign(e.color),e.borderColor&&this.lineColor.assign(e.borderColor),(0,r.isDefined)(e.width)&&this.cellWidth.assign(e.width),this.assignPaddingFromCss(e),(0,r.isDefined)(e.extraLeftPadding)){var t=this._cellPadding.left;this._cellPadding.left=t?t+e.extraLeftPadding:e.extraLeftPadding}},e.prototype.getPdfFontStyle=function(e){var t=e.fontWeight,n=parseInt(t),r=\"bold\"===t||!isNaN(n)&&n>500,i=r?\"bold\":\"normal\";return\"italic\"===e.fontStyle&&(i=r?\"bolditalic\":\"italic\"),i},e.prototype.getPdfFontFamily=function(e){var t=e.fontFamily&&e.fontFamily.toLowerCase(),n=\"helvetica\";return t.indexOf(\"times\")>-1&&(n=\"times\"),t.indexOf(\"courier\")>-1&&(n=\"courier\"),n},e.prototype.getPfrFontSize=function(e){var t=i.DomUtils.pxToInt(e);if(!isNaN(t))return Math.ceil(t/96*72)},e.prototype.assignPaddingFromCss=function(e){if(e.padding)this._cellPadding.assign(e.padding);else{var t={};e.paddingLeft&&(t.left=i.DomUtils.pxToInt(e.paddingLeft)),e.paddingTop&&(t.top=i.DomUtils.pxToInt(e.paddingTop)),e.paddingRight&&(t.right=i.DomUtils.pxToInt(e.paddingRight)),e.paddingBottom&&(t.bottom=i.DomUtils.pxToInt(e.paddingBottom)),this._cellPadding.assign(t)}},e.prototype.hasValue=function(){return!0},e.prototype.getValue=function(){var e=this,t={};return(0,r.isDefined)(this.font)&&(t.font=this.font),(0,r.isDefined)(this.fontStyle)&&(t.fontStyle=this.fontStyle),(0,r.isDefined)(this.fontSize)&&(t.fontSize=this.fontSize),(0,r.isDefined)(this.overflow)&&(t.overflow=this.overflow),(0,r.isDefined)(this.halign)&&(t.halign=this.halign),(0,r.isDefined)(this.valign)&&(t.valign=this.valign),(0,r.isDefined)(this.lineWidth)&&(t.lineWidth=this.lineWidth),(0,r.isDefined)(this.minCellWidth)&&(t.minCellWidth=this.minCellWidth),(0,r.isDefined)(this.minCellHeight)&&(t.minCellHeight=this.minCellHeight),this.getJsPdfProviderProps().forEach((function(n){var r=e[n];r&&r.hasValue()&&(t[n]=r.getValue())})),t},e.prototype.getJsPdfProviderProps=function(){return[\"fillColor\",\"textColor\",\"lineColor\",\"cellWidth\",\"cellPadding\"]},e}();t.StyleDef=c},7624:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TableOptions=void 0;var r=n(2491),i=n(6032),o=n(405),s=n(2642),a=n(5063),l=n(6995),c=n(7343),u=function(){function e(){this._margin=new a.Margin,this._tableLineColor=new o.Color,this._tableWidth=new c.Width,this._styles=new l.StyleDef,this._alternateRowStyles=new l.StyleDef}return Object.defineProperty(e.prototype,\"pageBreak\",{get:function(){return this._pageBreak},set:function(e){this._pageBreak=s.PredefinedStyles.getPredefinedStringOrUndefined(e,s.PredefinedStyles.pageBreak)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rowPageBreak\",{get:function(){return this._rowPageBreak},set:function(e){this._rowPageBreak=s.PredefinedStyles.getPredefinedStringOrUndefined(e,s.PredefinedStyles.rowPageBreak)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"showHead\",{get:function(){return this._showHead},set:function(e){this._showHead=s.PredefinedStyles.getPredefinedStringOrUndefined(e,s.PredefinedStyles.headerFooterVisibility)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"showFoot\",{get:function(){return this._showFoot},set:function(e){this._showFoot=s.PredefinedStyles.getPredefinedStringOrUndefined(e,s.PredefinedStyles.headerFooterVisibility)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"startY\",{get:function(){return this._startY},set:function(e){this._startY=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"tableLineWidth\",{get:function(){return this._tableLineWidth},set:function(e){this._tableLineWidth=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"margin\",{get:function(){return this._margin},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"tableLineColor\",{get:function(){return this._tableLineColor},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"tableWidth\",{get:function(){return this._tableWidth},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"body\",{get:function(){return this._body},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"styles\",{get:function(){return this._styles},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"alternateRowStyles\",{get:function(){return this._alternateRowStyles},enumerable:!1,configurable:!0}),e.prototype.hasValue=function(){return!0},e.prototype.getValue=function(){var e=this,t={};return t.pageBreak=this.pageBreak,t.rowPageBreak=this.rowPageBreak,t.showFoot=this.showFoot,t.showHead=this.showHead,t.startY=this.startY,t.tableLineWidth=this.tableLineWidth,this.getJsPdfProviderProps().forEach((function(n){var r=e[n];r&&r.hasValue()&&(t[n]=r.getValue())})),t.body=this.getBodyForJsPdf(),t.columnStyles=this.getColumnStylesForJsPdf(),this.onDrawCellCallback&&(t.didDrawCell=this.onDrawCellCallback),t},e.prototype.getJsPdfProviderProps=function(){return[\"margin\",\"tableLineColor\",\"tableWidth\",\"styles\",\"alternateRowStyles\"]},e.prototype.getBodyForJsPdf=function(){for(var e=[],t=0;t{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Width=void 0;var r=n(2642),i=n(6907),o=function(){function e(e){this.assign(e)}return e.prototype.assign=function(t){if(t instanceof e)this._widthInternal=t._widthInternal;else{var n=\"number\"==typeof t?t:parseInt(t);isNaN(n)?this.assignFromString(t):this._widthInternal=n}},e.prototype.assignFromString=function(e){if(e){var t=i.DomUtils.pxToInt(e);this._widthInternal=t||r.PredefinedStyles.getPredefinedStringOrUndefined(e,r.PredefinedStyles.width)}},e.prototype.hasValue=function(){return!!this._widthInternal},e.prototype.getValue=function(){return this._widthInternal},e}();t.Width=o},8603:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskAreaExportHelper=void 0;var r=n(6907),i=n(858),o=n(1855),s=n(9201),a=n(405),l=n(9895),c=function(){function e(e,t){this._owner=e,this._props=t}return Object.defineProperty(e.prototype,\"customRangeLeftOffset\",{get:function(){var e;return null!==(e=this._customRangeLeftOffset)&&void 0!==e||(this._customRangeLeftOffset=this.layoutCalculator.getWidthByDateRange(this.startDate,this.ownerStartDate)),this._customRangeLeftOffset},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"baseCellSize\",{get:function(){return this._owner.tickSize},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"objectsLeftDelta\",{get:function(){return this.renderedScaleLeft},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"objectsTopDelta\",{get:function(){if(!this.hasTasks)return 0;var e=this.visibleTaskIndices[0];return this.getCellTop(e)+this.getTaskCellOffsetTop(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"offsetLeft\",{get:function(){var e;return null!==(e=this._offsetLeft)&&void 0!==e||(this._offsetLeft=Math.max(this.visibleLeft-this.renderedScaleLeft,0)),this._offsetLeft},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"offsetTop\",{get:function(){var e;return null!==(e=this._offsetTop)&&void 0!==e||(this._offsetTop=this.getOffsetTop()),this._offsetTop},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"scales\",{get:function(){var e=this.settings.viewType;return[s.DateUtils.ViewTypeToScaleMap[e],e]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"scaleRanges\",{get:function(){var e;return null!==(e=this._scaleRanges)&&void 0!==e||(this._scaleRanges=this.layoutCalculator.getScaleRangesInArea(this.scaleLeft,this.scaleRight)),this._scaleRanges},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"scaleBottomStartIndex\",{get:function(){return this.scaleRanges[1][0]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"scaleBottomEndIndex\",{get:function(){return this.scaleRanges[1][1]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"scaleTopStartIndex\",{get:function(){return this.scaleRanges[0][0]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"scaleTopEndIndex\",{get:function(){return this.scaleRanges[0][1]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"scaleTopWidths\",{get:function(){var e;return null!==(e=this._scaleTopWidths)&&void 0!==e||(this._scaleTopWidths=this.getScaleTopWidths()),this._scaleTopWidths},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"scaleBottomWidths\",{get:function(){var e;return null!==(e=this._scaleBottomWidths)&&void 0!==e||(this._scaleBottomWidths=this.getScaleBottomWidths()),this._scaleBottomWidths},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"headerRowHeight\",{get:function(){if(!this._headerRowHeight){var e=this.scaleElements[0].filter((function(e){return!!e}))[0];this._headerRowHeight=null==e?void 0:e.offsetHeight}return this._headerRowHeight},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"visibleTaskIndices\",{get:function(){var e;return null!==(e=this._visibleTaskIndices)&&void 0!==e||(this._visibleTaskIndices=this.getTaskIndices()),this._visibleTaskIndices},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"baseCellHeight\",{get:function(){return this.hasTasks?this.baseCellSize.height:this.taskAreaHeight},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskAreaHeight\",{get:function(){return this.hasTasks?this.visibleTaskIndices.length*this.baseCellHeight:this._owner.renderHelper.taskArea.offsetHeight},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"scaleTableStyle\",{get:function(){var e;return null!==(e=this._scaleTableStyle)&&void 0!==e||(this._scaleTableStyle=this.getScaleTableStyle()),this._scaleTableStyle},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"chartMainTableStyle\",{get:function(){var e;return null!==(e=this._chartMainTableStyle)&&void 0!==e||(this._chartMainTableStyle=this.getChartMainTableStyle()),this._chartMainTableStyle},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"parentRowBackColor\",{get:function(){var e;return null!==(e=this._parentRowBackColor)&&void 0!==e||(this._parentRowBackColor=this.getParentBackColor()),this._parentRowBackColor},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"arrowWidth\",{get:function(){var e;return null!==(e=this._arrowWidth)&&void 0!==e||(this._arrowWidth=this.getArrowWidth()),this._arrowWidth},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"dependencyColor\",{get:function(){var e;return null!==(e=this._dependencyColor)&&void 0!==e||(this._dependencyColor=this.getDependencyColor()),this._dependencyColor},enumerable:!1,configurable:!0}),e.prototype.getTaskElementBackColor=function(e,t){var n=this.getTaskElementStyle(e,t);return null==n?void 0:n.backgroundColor},e.prototype.getTaskElementStyle=function(e,t){var n=this.getTaskWrapper(e);return this.getElementStyle(n.getElementsByClassName(t)[0])},e.prototype.isElementVisible=function(e){return e&&\"none\"!==getComputedStyle(e).display},Object.defineProperty(e.prototype,\"hasTasks\",{get:function(){return this.visibleTaskIndices.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"visibleLeft\",{get:function(){var e;return null!==(e=this._visibleLeft)&&void 0!==e||(this._visibleLeft=this.isVisibleMode?this.container.scrollLeft:0),this._visibleLeft},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"visibleTop\",{get:function(){var e;return null!==(e=this._visibleTop)&&void 0!==e||(this._visibleTop=this.isVisibleMode?this.container.scrollTop:0),this._visibleTop},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"visibleRight\",{get:function(){var e;return null!==(e=this._visibleRight)&&void 0!==e||(this._visibleRight=this.getVisibleRight()),this._visibleRight},enumerable:!1,configurable:!0}),e.prototype.getVisibleRight=function(){var e=this.container.getElement().offsetWidth;return this.visibleLeft+e},Object.defineProperty(e.prototype,\"visibleBottom\",{get:function(){var e;return null!==(e=this._visibleBottom)&&void 0!==e||(this._visibleBottom=this.getVisibleBottom()),this._visibleBottom},enumerable:!1,configurable:!0}),e.prototype.getVisibleBottom=function(){return this.isVisibleMode?this.visibleTop+this.container.getHeight():this.visibleTaskIndices.length*this.baseCellSize.height},Object.defineProperty(e.prototype,\"scaleLeft\",{get:function(){var e;return null!==(e=this._scaleLeft)&&void 0!==e||(this._scaleLeft=this.isVisibleMode?this.visibleLeft:this.getPosByDate(this.startDate)),this._scaleLeft},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"scaleRight\",{get:function(){var e;return null!==(e=this._scaleRight)&&void 0!==e||(this._scaleRight=this.isVisibleMode?this.visibleRight:this.getPosByDate(this.endDate)-1),this._scaleRight},enumerable:!1,configurable:!0}),e.prototype.getScaleTopWidths=function(){var e=this.getScaleWidths(this.scaleTopStartIndex,this.scaleTopEndIndex,this.scales[0]),t=this.layoutCalculator,n=t.getScaleItemInfo(this.scaleBottomStartIndex,this.scales[1]),r=t.getScaleItemInfo(this.scaleTopStartIndex,this.scales[0]),i=Math.max(n.position.x-r.position.x,0);e[this.scaleTopStartIndex]-=i;var o=t.getScaleItemInfo(this.scaleTopEndIndex,this.scales[0]),s=t.getScaleItemInfo(this.scaleBottomEndIndex,this.scales[1]);return i=Math.max(o.position.x+o.size.width-s.position.x-s.size.width,0),e[this.scaleTopEndIndex]-=i,e},e.prototype.getScaleBottomWidths=function(){return this.getScaleWidths(this.scaleBottomStartIndex,this.scaleBottomEndIndex,this.scales[1])},e.prototype.getScaleWidths=function(e,t,n){for(var r=new Array,i=e;i<=t;i++)r[i]=this.layoutCalculator.getScaleItemInfo(i,n).size.width;return r},e.prototype.getOffsetTop=function(){return this.isVisibleMode&&this.hasTasks?this.getTaskCellOffsetTop(this.visibleTaskIndices[0]):0},Object.defineProperty(e.prototype,\"renderedScaleLeft\",{get:function(){return this.getCellLeft(this.scaleBottomStartIndex)},enumerable:!1,configurable:!0}),e.prototype.getTaskCellOffsetTop=function(e){var t=this.getCellTop(e);return Math.max(this.visibleTop-t,0)},e.prototype.getCellTop=function(e){return this.layoutCalculator.getGridBorderPosition(e-1,!1).y},e.prototype.getCellLeft=function(e){return this.layoutCalculator.getScaleItemInfo(e,this.scales[1]).position.x},e.prototype.getTaskIndices=function(){var e,t;return this.dataMode===l.DataExportMode.all||this.exportRange?this._owner.getAllVisibleTaskIndices(null===(e=this.exportRange)||void 0===e?void 0:e.startIndex,null===(t=this.exportRange)||void 0===t?void 0:t.endIndex):this.getVisibleTaskIndices()},e.prototype.getVisibleTaskIndices=function(){var e=this,t=[];return this.taskElements.forEach((function(n,i){if(n){var o=r.DomUtils.pxToInt(n.style.top),s=o+n.offsetHeight,a=o>=e.visibleTop&&o<=e.visibleBottom,l=s>=e.visibleTop&&s<=e.visibleBottom;(a||l)&&t.push(i)}})),t},Object.defineProperty(e.prototype,\"scaleElements\",{get:function(){return this._owner.renderHelper.scaleElements.slice()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"scaleBorders\",{get:function(){return this._owner.renderHelper.scaleBorders.slice()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"hlRowElements\",{get:function(){return this._owner.renderHelper.hlRowElements.filter((function(e){return!!e}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"selectionElements\",{get:function(){return this._owner.renderHelper.selectionElements.filter((function(e){return!!e}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskElements\",{get:function(){return this._owner.renderHelper.taskElements},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"connectorLines\",{get:function(){var e,t=this;return null!==(e=this._connectorLines)&&void 0!==e||(this._connectorLines=this._owner.renderHelper.allConnectorLines.filter((function(e){return t.isLineVisible(e)}))),this._connectorLines},enumerable:!1,configurable:!0}),e.prototype.isLineVisible=function(e){if(this.dataMode===l.DataExportMode.all)return!0;var t=e.attr[\"dependency-id\"];return this.visibleDependencyKeys.indexOf(t)>-1},Object.defineProperty(e.prototype,\"visibleDependencyKeys\",{get:function(){var e;return null!==(e=this._visibleDependencyKeys)&&void 0!==e||(this._visibleDependencyKeys=this._owner.getVisibleDependencyKeysByTaskRange(this.visibleTaskIndices)),this._visibleDependencyKeys},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"resourcesElements\",{get:function(){var e,t=this;return null!==(e=this._resourcesElements)&&void 0!==e||(this._resourcesElements=this.visibleTaskIndices.map((function(e){return t._owner.renderHelper.resourcesElements[e]})).filter((function(e){return t.isElementVisible(e)&&e.parentElement}))),this._resourcesElements},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"stripLinesElements\",{get:function(){if(!this._stripLinesElements){var e=this._owner.renderHelper.stripLinesMap.filter((function(e){return!!e})).map((function(e){return e}));this._stripLinesElements=e.map((function(e){return e}))}return this._stripLinesElements},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"noWorkingIntervalsElements\",{get:function(){if(!this._noWorkingIntervalsElements){this._noWorkingIntervalsElements=[];var e=this._owner.renderHelper.noWorkingIntervalsToElementsMap;for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&this._noWorkingIntervalsElements.push(e[t])}return this._noWorkingIntervalsElements},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskArea\",{get:function(){return this._owner.renderHelper.taskArea},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"settings\",{get:function(){return this._owner.settings},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"dataMode\",{get:function(){var e;return null===(e=this._props)||void 0===e?void 0:e.exportDataMode},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"exportRange\",{get:function(){var e;return null===(e=this._props)||void 0===e?void 0:e.dateRange},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"isVisibleMode\",{get:function(){return this.dataMode===l.DataExportMode.visible&&!this.exportRange},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"ownerStartDate\",{get:function(){return this._owner.range.start},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"ownerEndDate\",{get:function(){return this._owner.range.end},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"startDate\",{get:function(){var e,t,n,r;if((null===(e=this.exportRange)||void 0===e?void 0:e.startDate)&&(null===(t=this.exportRange)||void 0===t?void 0:t.endDate)){var i=Math.min(null===(n=this.exportRange)||void 0===n?void 0:n.startDate.getTime(),null===(r=this.exportRange)||void 0===r?void 0:r.endDate.getTime());return new Date(i)}return this.ownerStartDate},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"endDate\",{get:function(){var e,t,n,r;if((null===(e=this.exportRange)||void 0===e?void 0:e.startDate)&&(null===(t=this.exportRange)||void 0===t?void 0:t.endDate)){var i=Math.max(null===(n=this.exportRange)||void 0===n?void 0:n.startDate.getTime(),null===(r=this.exportRange)||void 0===r?void 0:r.endDate.getTime());return new Date(i)}return this.ownerEndDate},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"hasCustomRangeOutOfRender\",{get:function(){return this.startDate.getTime()!==this.ownerStartDate.getTime()||this.endDate.getTime()!==this.ownerEndDate.getTime()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"layoutCalculator\",{get:function(){if(!this._layoutCalculator){var e=this._owner.renderHelper.gridLayoutCalculator;this.hasCustomRangeOutOfRender?(this._layoutCalculator=new o.GridLayoutCalculator,this._layoutCalculator.setSettings(e.visibleTaskAreaSize,e.tickSize,e.elementSizeValues,new i.DateRange(this.startDate,this.endDate),e.viewModel,e.viewType,e.scrollBarHeight,this._owner.settings.firstDayOfWeek)):this._layoutCalculator=e}return this._layoutCalculator},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"container\",{get:function(){return this._owner.renderHelper.taskAreaContainer},enumerable:!1,configurable:!0}),e.prototype.getPosByDate=function(e){return this.layoutCalculator.getPosByDate(e)},e.prototype.getScaleTableStyle=function(){var e={},t=this.scaleElements[0].filter((function(e){return!!e}))[0],n=this.getElementStyle(t);return e.backgroundColor=this.findElementBackColor(t),e.borderColor=this.getChartTableBorderColor(),e.verticalAlign=\"middle\",e.textAlign=\"center\",e.fontSize=n.fontSize,e.fontFamily=n.fontFamily,e.fontWeight=n.fontWeight,e.fontStyle=n.fontStyle,e.color=n.color,e},e.prototype.getChartMainTableStyle=function(){var e={};return e.backgroundColor=this.findElementBackColor(this.taskArea),e.borderColor=this.getChartTableBorderColor(),e},e.prototype.findElementBackColor=function(e){if(!e)return null;for(var t=e,n=new a.Color(\"transparent\");0===n.opacity&&t;){var r=this.getElementStyle(t);n.assign(r.backgroundColor),t=t.parentElement}return n},e.prototype.getChartTableBorderColor=function(){var e=this.getElementStyle(this.scaleBorders[0].filter((function(e){return!!e}))[0]);return null==e?void 0:e.borderColor},e.prototype.getParentBackColor=function(){var e=this.getElementStyle(this.hlRowElements[0]);return null==e?void 0:e.backgroundColor},e.prototype.getArrowWidth=function(){var e=this.getDependencyLineStyle(o.GridLayoutCalculator.arrowClassName),t=e.borderWidth||e.borderLeftWidth||e.borderRightWidth||e.borderTopWidth||e.borderBottomWidth;return e&&r.DomUtils.pxToInt(t)},e.prototype.getDependencyColor=function(){var e=this.getDependencyLineStyle(o.GridLayoutCalculator.CLASSNAMES.CONNECTOR_HORIZONTAL);return null==e?void 0:e.borderColor},e.prototype.getDependencyLineStyle=function(e){return this.getElementStyle(this.taskArea.getElementsByClassName(e)[0])},e.prototype.getElementStyle=function(e){return e&&getComputedStyle(e)},e.prototype.getTaskWrapper=function(e){return this.isTaskTemplateMode?this._owner.renderHelper.fakeTaskWrapper:(this.taskElements[e]||this._owner.renderHelper.createDefaultTaskElement(e),this.taskElements[e])},Object.defineProperty(e.prototype,\"isTaskTemplateMode\",{get:function(){return!!this._owner.settings.taskContentTemplate},enumerable:!1,configurable:!0}),e}();t.TaskAreaExportHelper=c},6057:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CollectionBase=void 0;var r=n(2491),i=n(2601),o=function(){function e(){this._items=new Array,this._isGanttCollection=!0}return e.prototype.add=function(e){if((0,r.isDefined)(e)){if(this.getItemById(e.internalId))throw\"The collection item with id ='\"+e.internalId+\"' already exists.\";this._addItem(e)}},e.prototype.addRange=function(e){for(var t=0;t-1&&t-1&&e0){var t=this.createItem();t.assignFromObject(e),this.add(t)}},e.prototype.importFromArray=function(e){for(var t=0;t{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DependencyCollection=void 0;var r=n(655),i=n(6057),o=n(7352),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.createItem=function(){return new o.Dependency},t}(i.CollectionBase);t.DependencyCollection=s},4432:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.WorkingDayRuleCollection=void 0;var r=n(655),i=n(6057),o=n(8401),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.createItem=function(){return new o.WorkingTimeRule},t}(i.CollectionBase);t.WorkingDayRuleCollection=s},9883:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ResourceAssignmentCollection=void 0;var r=n(655),i=n(6057),o=n(7437),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.createItem=function(){return new o.ResourceAssignment},t}(i.CollectionBase);t.ResourceAssignmentCollection=s},8828:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ResourceCollection=void 0;var r=n(655),i=n(6057),o=n(2301),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.createItem=function(){return new o.Resource},t}(i.CollectionBase);t.ResourceCollection=s},9504:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskCollection=void 0;var r=n(655),i=n(8492),o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.createItem=function(){return new i.Task},t}(n(6057).CollectionBase);t.TaskCollection=o},5594:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.EventDispatcher=void 0;var n=function(){function e(){this.listeners=[]}return e.prototype.add=function(e){if(!e)throw new Error(\"Error\");this.hasEventListener(e)||this.listeners.push(e)},e.prototype.remove=function(e){for(var t=0,n=void 0;n=this.listeners[t];t++)if(n===e){this.listeners.splice(t,1);break}},e.prototype.raise=function(e){for(var t=[],n=1;n{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ModelChangesDispatcher=void 0;var r=n(255),i=n(8403),o=n(8738),s=n(9669),a=n(5594),l=function(){function e(){this.onModelChanged=new a.EventDispatcher,this.isLocked=!1}return e.prototype.notifyTaskCreating=function(e){this.isLocked||this.onModelChanged.raise(\"NotifyTaskCreating\",e)},e.prototype.notifyTaskCreated=function(e,t,n){this.isLocked||this.onModelChanged.raise(\"NotifyTaskCreated\",e,t,n)},e.prototype.notifyTaskRemoving=function(e){this.isLocked||this.onModelChanged.raise(\"NotifyTaskRemoving\",e)},e.prototype.notifyTaskRemoved=function(e,t,n){this.isLocked||this.onModelChanged.raise(\"NotifyTaskRemoved\",e,t,n)},e.prototype.notifyTaskUpdating=function(e){this.isLocked||this.onModelChanged.raise(\"NotifyTaskUpdating\",e)},e.prototype.notifyTaskMoving=function(e){this.isLocked||this.onModelChanged.raise(\"NotifyTaskMoving\",e)},e.prototype.notifyTaskEditDialogShowing=function(e){this.isLocked||this.onModelChanged.raise(\"NotifyTaskEditDialogShowing\",e)},e.prototype.notifyResourceManagerDialogShowing=function(e){this.isLocked||this.onModelChanged.raise(\"NotifyResourceManagerDialogShowing\",e)},e.prototype.notifyTaskUpdated=function(e,t,n){this.isLocked||this.onModelChanged.raise(\"NotifyTaskUpdated\",e,t,n)},e.prototype.notifyParentTaskUpdated=function(e,t){this.isLocked||this.onModelChanged.raise(\"NotifyParentTaskUpdated\",e,t)},e.prototype.notifyDependencyInserting=function(e){this.isLocked||this.onModelChanged.raise(\"NotifyDependencyInserting\",e)},e.prototype.notifyDependencyInserted=function(e,t,n){this.isLocked||this.onModelChanged.raise(\"NotifyDependencyInserted\",e,t,n)},e.prototype.notifyDependencyRemoving=function(e){this.isLocked||this.onModelChanged.raise(\"NotifyDependencyRemoving\",e)},e.prototype.notifyDependencyRemoved=function(e,t,n){this.isLocked||this.onModelChanged.raise(\"NotifyDependencyRemoved\",e,t,n)},e.prototype.notifyResourceCreating=function(e){this.isLocked||this.onModelChanged.raise(\"NotifyResourceCreating\",e)},e.prototype.notifyResourceCreated=function(e,t,n){this.isLocked||this.onModelChanged.raise(\"NotifyResourceCreated\",e,t,n)},e.prototype.notifyResourceRemoving=function(e){this.isLocked||this.onModelChanged.raise(\"NotifyResourceRemoving\",e)},e.prototype.notifyResourceRemoved=function(e,t,n){this.isLocked||this.onModelChanged.raise(\"NotifyResourceRemoved\",e,t,n)},e.prototype.notifyResourceColorChanged=function(e,t,n){this.isLocked||this.onModelChanged.raise(\"NotifyResourceColorChanged\",e,t,n)},e.prototype.notifyResourceAssigning=function(e){this.isLocked||this.onModelChanged.raise(\"NotifyResourceAssigning\",e)},e.prototype.notifyResourceAssigned=function(e,t,n){this.isLocked||this.onModelChanged.raise(\"NotifyResourceAssigned\",e,t,n)},e.prototype.notifyResourceUnassigning=function(e){this.isLocked||this.onModelChanged.raise(\"NotifyResourceUnassigning\",e)},e.prototype.notifyResourceUnassigned=function(e,t,n){this.isLocked||this.onModelChanged.raise(\"NotifyResourceUnassigned\",e,t,n)},e.prototype.notifyParentDataRecalculated=function(e){this.onModelChanged.raise(\"NotifyParentDataRecalculated\",e)},e.prototype.notifyScaleCellPrepared=function(e){this.onModelChanged.raise(\"NotifyScaleCellPrepared\",e)},e.prototype.notifyGanttViewUpdated=function(){this.onModelChanged.raise(\"NotifyGanttViewUpdated\")},e.prototype.fireResourceUnassigning=function(e){var t=new o.ResourceUnassigningArguments(e);return this.notifyResourceUnassigning(t),!t.cancel},e.prototype.raiseTaskUpdating=function(e,t,n){var r=new s.TaskUpdatingArguments(e,t);return this.notifyTaskUpdating(r),!r.cancel&&(n(r.newValues),!0)},e.prototype.raiseTaskMoving=function(e,t,n,r){var i=new s.TaskUpdatingArguments(e,{start:t,end:n});return this.notifyTaskMoving(i),!i.cancel&&(r(i.start,i.end),!0)},e.prototype.raiseTaskTaskEditDialogShowing=function(e,t){var n=new i.TaskEditDialogShowingArguments(e);return this.notifyTaskEditDialogShowing(n),!n.cancel&&(t(n),!0)},e.prototype.raiseResourceManagerDialogShowing=function(e,t){var n=new r.ResourceManagerDialogShowingArguments(e);return this.notifyResourceManagerDialogShowing(n),!n.cancel&&(t(n),!0)},e.prototype.lock=function(){this.isLocked=!0},e.prototype.unlock=function(){this.isLocked=!1},e}();t.ModelChangesDispatcher=l},6124:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.GanttDataObjectNames=t.DataObject=void 0;var r=n(2491),i=n(8679),o=function(){function e(){this.internalId=i.MathUtils.generateGuid()}return e.prototype.assignFromObject=function(e){(0,r.isDefined)(e)&&(0,r.isDefined)(e.id)&&this.updateId(e.id)},e.prototype.updateId=function(e){this.id=e,this.internalId=String(e)},e}();t.DataObject=o,t.GanttDataObjectNames={task:\"task\",dependency:\"dependency\",resource:\"resource\",resourceAssignment:\"assignment\"}},7352:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Dependency=void 0;var r=n(655),i=n(2491),o=n(6124),s=n(5950),a=function(e){function t(){var t=e.call(this)||this;return t.predecessorId=\"\",t.successorId=\"\",t.type=null,t}return r.__extends(t,e),Object.defineProperty(t.prototype,\"isStartDependency\",{get:function(){return this.type===s.DependencyType.SS||this.type===s.DependencyType.SF},enumerable:!1,configurable:!0}),t.prototype.assignFromObject=function(t){(0,i.isDefined)(t)&&(e.prototype.assignFromObject.call(this,t),this.predecessorId=String(t.predecessorId),this.successorId=String(t.successorId),this.type=this.parseType(t.type))},t.prototype.parseType=function(e){if(!(0,i.isDefined)(e))return s.DependencyType.FS;switch(e.toString().toUpperCase()){case\"SS\":case\"1\":return s.DependencyType.SS;case\"FF\":case\"2\":return s.DependencyType.FF;case\"SF\":case\"3\":return s.DependencyType.SF;default:return s.DependencyType.FS}},t}(o.DataObject);t.Dependency=a},5950:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DependencyType=t.TaskType=void 0,function(e){e[e.Regular=0]=\"Regular\",e[e.Summary=1]=\"Summary\",e[e.Milestone=2]=\"Milestone\"}(t.TaskType||(t.TaskType={})),function(e){e[e.FS=0]=\"FS\",e[e.SS=1]=\"SS\",e[e.FF=2]=\"FF\",e[e.SF=3]=\"SF\"}(t.DependencyType||(t.DependencyType={}))},2301:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Resource=void 0;var r=n(655),i=n(2491),o=function(e){function t(){var t=e.call(this)||this;return t.text=\"\",t.color=\"\",t}return r.__extends(t,e),t.prototype.assignFromObject=function(t){(0,i.isDefined)(t)&&(e.prototype.assignFromObject.call(this,t),this.text=t.text,(0,i.isDefined)(t.color)&&(this.color=t.color))},t}(n(6124).DataObject);t.Resource=o},7437:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ResourceAssignment=void 0;var r=n(655),i=n(2491),o=function(e){function t(){var t=e.call(this)||this;return t.taskId=\"\",t.resourceId=\"\",t}return r.__extends(t,e),t.prototype.assignFromObject=function(t){(0,i.isDefined)(t)&&(e.prototype.assignFromObject.call(this,t),this.taskId=String(t.taskId),this.resourceId=String(t.resourceId))},t}(n(6124).DataObject);t.ResourceAssignment=o},8492:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Task=void 0;var r=n(655),i=n(2491),o=n(6124),s=-8e15,a=function(e){function t(){var t=e.call(this)||this;return t.start=null,t.end=null,t.duration=null,t.description=\"\",t.parentId=null,t.title=\"\",t.owner=null,t.progress=0,t.taskType=null,t.customFields={},t.expanded=!0,t.color=\"\",t}return r.__extends(t,e),Object.defineProperty(t.prototype,\"normalizedProgress\",{get:function(){return Math.max(Math.min(this.progress,100),0)},enumerable:!1,configurable:!0}),t.prototype.assignFromObject=function(t){(0,i.isDefined)(t)&&(e.prototype.assignFromObject.call(this,t),this.owner=t.owner,this.parentId=(0,i.isDefined)(t.parentId)?String(t.parentId):null,this.description=t.description,this.title=t.title,this.start=\"string\"==typeof t.start?new Date(t.start):t.start||this.createInvalidDate(),this.end=\"string\"==typeof t.end?new Date(t.end):t.end||this.createInvalidDate(),this.duration=t.duration,this.progress=t.progress,this.taskType=t.taskType,(0,i.isDefined)(t.expanded)&&(this.expanded=!!t.expanded),(0,i.isDefined)(t.color)&&(this.color=t.color),this.assignCustomFields(t.customFields))},t.prototype.assignCustomFields=function(e){if(e)for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(this.customFields[t]=e[t])},t.prototype.isMilestone=function(){return this.start.getTime()===this.end.getTime()},t.prototype.getDuration=function(){return this.end.getTime()-this.start.getTime()},t.prototype.isValidStart=function(){return this.isValidTaskaDte(this.start)},t.prototype.isValidEnd=function(){return this.isValidTaskaDte(this.end)},t.prototype.isValid=function(){return this.isValidStart()&&this.isValidEnd()},t.prototype.createInvalidDate=function(){return new Date(s)},t.prototype.isValidTaskaDte=function(e){return!!e&&e.getTime()!==s},t}(o.DataObject);t.Task=a},8774:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BaseArguments=void 0;var n=function(e){this.cancel=!1,this.values={},this.key=e};t.BaseArguments=n},3279:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DependencyInsertingArguments=void 0;var r=n(655),i=function(e){function t(t,n,r){var i=e.call(this,null)||this;return i.values={predecessorId:t,successorId:n,type:r},i}return r.__extends(t,e),Object.defineProperty(t.prototype,\"predecessorId\",{get:function(){return this.values.predecessorId},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"successorId\",{get:function(){return this.values.successorId},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"type\",{get:function(){return this.values.type},enumerable:!1,configurable:!0}),t}(n(8774).BaseArguments);t.DependencyInsertingArguments=i},4797:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DependencyRemovingArguments=void 0;var r=n(655),i=function(e){function t(t){var n=e.call(this,t.id)||this;return n.values=t,n}return r.__extends(t,e),t}(n(8774).BaseArguments);t.DependencyRemovingArguments=i},255:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ResourceManagerDialogShowingArguments=void 0;var r=n(655),i=function(e){function t(t){var n=e.call(this,void 0)||this;return n.values.resources=t.resources,n}return r.__extends(t,e),t}(n(8774).BaseArguments);t.ResourceManagerDialogShowingArguments=i},8403:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskEditDialogShowingArguments=void 0;var r=n(655),i=function(e){function t(t){var n=e.call(this,t.id)||this;return n.values={start:t.start,end:t.end,title:t.title,progress:t.progress},n.hiddenFields=t.hiddenFields,n.readOnlyFields=t.readOnlyFields,n}return r.__extends(t,e),t}(n(8774).BaseArguments);t.TaskEditDialogShowingArguments=i},1389:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ResourceAssigningArguments=void 0;var r=n(655),i=function(e){function t(t,n){var r=e.call(this,null)||this;return r.values={resourceId:t,taskId:n},r}return r.__extends(t,e),Object.defineProperty(t.prototype,\"resourceId\",{get:function(){return this.values.resourceId},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"taskId\",{get:function(){return this.values.taskId},enumerable:!1,configurable:!0}),t}(n(8774).BaseArguments);t.ResourceAssigningArguments=i},8738:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ResourceUnassigningArguments=void 0;var r=n(655),i=function(e){function t(t){var n=e.call(this,t.internalId)||this;return n.values=t,n}return r.__extends(t,e),t}(n(8774).BaseArguments);t.ResourceUnassigningArguments=i},990:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ResourceInsertingArguments=void 0;var r=n(655),i=function(e){function t(t,n){void 0===n&&(n=\"\");var r=e.call(this,null)||this;return r.values={text:t,color:n},r}return r.__extends(t,e),Object.defineProperty(t.prototype,\"text\",{get:function(){return this.values.text},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"color\",{get:function(){return this.values.color},enumerable:!1,configurable:!0}),t}(n(8774).BaseArguments);t.ResourceInsertingArguments=i},9748:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ResourceRemovingArguments=void 0;var r=n(655),i=function(e){function t(t){var n=e.call(this,t.id)||this;return n.values=t,n}return r.__extends(t,e),t}(n(8774).BaseArguments);t.ResourceRemovingArguments=i},4605:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskInsertingArguments=void 0;var r=n(655),i=function(e){function t(t,n){var r=e.call(this,t)||this;return r.values=null!=n?n:{},r}return r.__extends(t,e),Object.defineProperty(t.prototype,\"start\",{get:function(){return this.values.start},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"end\",{get:function(){return this.values.end},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"title\",{get:function(){return this.values.title},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"progress\",{get:function(){return this.values.progress},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"parentId\",{get:function(){return this.values.parentId},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"color\",{get:function(){return this.values.color},enumerable:!1,configurable:!0}),t}(n(8774).BaseArguments);t.TaskInsertingArguments=i},4642:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskRemovingArguments=void 0;var r=n(655),i=function(e){function t(t){var n=e.call(this,t.id)||this;return n.values=t,n}return r.__extends(t,e),t}(n(8774).BaseArguments);t.TaskRemovingArguments=i},9669:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskUpdatingArguments=void 0;var r=n(655),i=function(e){function t(t,n){var r=e.call(this,t.id)||this;return r.values=t,r.createNewValues(n),r}return r.__extends(t,e),t.prototype.createNewValues=function(e){var t=this;this.newValues={};var n=function(n){Object.prototype.hasOwnProperty.call(e,n)&&(r.newValues[n]=e[n],Object.defineProperty(r,n,{get:function(){return t.newValues[n]}}))},r=this;for(var i in e)n(i)},t}(n(8774).BaseArguments);t.TaskUpdatingArguments=i},8725:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.History=void 0;var r=n(5221),i=n(9751),o=function(){function e(e){this.historyItems=[],this.currentIndex=-1,this.currentProcessingItemInfo=null,this.transaction=null,this.transactionLevel=-1,this._listener=e}return e.prototype.undo=function(){this.canUndo()&&(this.activateItem(this.historyItems[this.currentIndex],!0),this.currentIndex--)},e.prototype.redo=function(){this.canRedo()&&(this.currentIndex++,this.activateItem(this.historyItems[this.currentIndex]))},e.prototype.beginTransaction=function(){var e;this.transactionLevel++,0==this.transactionLevel&&(this.transaction=new i.CompositionHistoryItem,null===(e=this._listener)||void 0===e||e.onTransactionStart())},e.prototype.endTransaction=function(){var e;if(!(--this.transactionLevel>=0)){var t=this.transaction.historyItems.length;t>1?this.addInternal(this.transaction):1==t&&this.addInternal(this.transaction.historyItems.pop()),this.transaction=null,null===(e=this._listener)||void 0===e||e.onTransactionEnd()}},e.prototype.addAndRedo=function(e){this.add(e),this.activateItem(e)},e.prototype.add=function(e){this.transactionLevel>=0?this.transaction.add(e):this.addInternal(e)},e.prototype.canUndo=function(){return this.currentIndex>=0},e.prototype.canRedo=function(){return this.currentIndex0&&this.currentIndex>t&&(this.historyItems.splice(0,t),this.currentIndex-=t)},e.prototype.clear=function(){this.currentIndex=-1,this.historyItems=[]},e.prototype.activateItem=function(e,t){void 0===t&&(t=!1),this.currentProcessingItemInfo=new r.HistoryItemInfo(e,t),t?e.undo():e.redo(),this.currentProcessingItemInfo=null},e.prototype.getCurrentProcessingItemInfo=function(){return this.currentProcessingItemInfo},e.prototype.rollBackAndRemove=function(e){var t=e.item;this.checkAndRemoveItem(t)&&(e.isUndo?t.redo():t instanceof i.CompositionHistoryItem?t.undoItemsQuery():t.undo())},e.prototype.checkAndRemoveItem=function(e){var t=this.historyItems.indexOf(e);return t>-1?(this.historyItems.splice(t,1),this.currentIndex--):this.transaction&&(t=this.transaction.historyItems.indexOf(e))>-1&&this.transaction.historyItems.splice(t,1),t>-1},e.prototype.updateObsoleteInsertedKey=function(e,t,n){this.transaction&&this.updateItemsObsoleteInsertedKey(e,t,n,[this.transaction]),this.updateItemsObsoleteInsertedKey(e,t,n,this.historyItems)},e.prototype.updateItemsObsoleteInsertedKey=function(e,t,n,r){if(r)for(var o=0;o{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CompositionHistoryItem=void 0;var r=n(655),i=function(e){function t(){var t=e.call(this,null)||this;return t.historyItems=[],t}return r.__extends(t,e),t.prototype.redo=function(){for(var e,t=0;e=this.historyItems[t];t++)e.redo()},t.prototype.undo=function(){for(var e,t=this.historyItems.length-1;e=this.historyItems[t];t--)e.undo()},t.prototype.add=function(e){if(null==e)throw new Error(\"Can't add null HistoryItem\");this.historyItems.push(e)},t.prototype.undoItemsQuery=function(){this.undo()},t.prototype.setModelManipulator=function(t){if(e.prototype.setModelManipulator.call(this,t),this.historyItems)for(var n=0;n{Object.defineProperty(t,\"__esModule\",{value:!0}),t.InsertDependencyHistoryItem=void 0;var r=n(655),i=n(8679),o=n(6124),s=function(e){function t(t,n,r,i){var o=e.call(this,t)||this;return o.predecessorId=n,o.successorId=r,o.type=i,o}return r.__extends(t,e),t.prototype.redo=function(){var e;null!==(e=this.insertedKey)&&void 0!==e||(this.insertedKey=i.MathUtils.generateGuid()),this.modelManipulator.dependency.insertDependency(this.predecessorId,this.successorId,this.type,this.insertedKey)},t.prototype.undo=function(){this.modelManipulator.dependency.removeDependency(this.insertedKey)},Object.defineProperty(t.prototype,\"keyUpdaters\",{get:function(){var e=this;return[{objectType:o.GanttDataObjectNames.dependency,getKey:function(){return e.insertedKey},updateKey:function(t){return e.insertedKey=t}},{objectType:o.GanttDataObjectNames.task,getKey:function(){return e.predecessorId},updateKey:function(t){return e.predecessorId=t}},{objectType:o.GanttDataObjectNames.task,getKey:function(){return e.successorId},updateKey:function(t){return e.successorId=t}}]},enumerable:!1,configurable:!0}),t}(n(7917).HistoryItem);t.InsertDependencyHistoryItem=s},5865:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.RemoveDependencyHistoryItem=void 0;var r=n(655),i=n(6124),o=function(e){function t(t,n){var r=e.call(this,t)||this;return r.dependencyId=n,r}return r.__extends(t,e),t.prototype.redo=function(){this.dependency=this.modelManipulator.dependency.removeDependency(this.dependencyId)},t.prototype.undo=function(){this.modelManipulator.dependency.insertDependency(this.dependency.predecessorId,this.dependency.successorId,this.dependency.type,this.dependencyId)},Object.defineProperty(t.prototype,\"keyUpdaters\",{get:function(){var e=this;return[{objectType:i.GanttDataObjectNames.dependency,getKey:function(){return e.dependencyId},updateKey:function(t){return e.dependencyId=t}},{objectType:i.GanttDataObjectNames.task,getKey:function(){var t;return null===(t=e.dependency)||void 0===t?void 0:t.predecessorId},updateKey:function(t){return e.dependency.predecessorId=t}},{objectType:i.GanttDataObjectNames.task,getKey:function(){var t;return null===(t=e.dependency)||void 0===t?void 0:t.successorId},updateKey:function(t){return e.dependency.successorId=t}}]},enumerable:!1,configurable:!0}),t}(n(7917).HistoryItem);t.RemoveDependencyHistoryItem=o},7917:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.HistoryItem=void 0;var n=function(){function e(e){this.setModelManipulator(e)}return e.prototype.setModelManipulator=function(e){this.modelManipulator=e},Object.defineProperty(e.prototype,\"keyUpdaters\",{get:function(){return[]},enumerable:!1,configurable:!0}),e}();t.HistoryItem=n},5221:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.HistoryItemInfo=void 0;var n=function(e,t){void 0===t&&(t=!1),this.item=e,this.isUndo=t};t.HistoryItemInfo=n},3064:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.HistoryItemState=void 0;var n=function(e,t){this.id=e,this.value=t};t.HistoryItemState=n},3683:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.AssignResourceHistoryItem=void 0;var r=n(655),i=n(7917),o=n(6124),s=n(8679),a=function(e){function t(t,n,r){var i=e.call(this,t)||this;return i.resourceId=n,i.taskId=r,i}return r.__extends(t,e),t.prototype.redo=function(){var e;null!==(e=this.insertedKey)&&void 0!==e||(this.insertedKey=s.MathUtils.generateGuid()),this.modelManipulator.resource.assign(this.resourceId,this.taskId,this.insertedKey)},t.prototype.undo=function(){this.modelManipulator.resource.deassig(this.insertedKey)},Object.defineProperty(t.prototype,\"keyUpdaters\",{get:function(){var e=this;return[{objectType:o.GanttDataObjectNames.resourceAssignment,getKey:function(){return e.insertedKey},updateKey:function(t){return e.insertedKey=t}},{objectType:o.GanttDataObjectNames.task,getKey:function(){return e.taskId},updateKey:function(t){return e.taskId=t}},{objectType:o.GanttDataObjectNames.resource,getKey:function(){return e.resourceId},updateKey:function(t){return e.resourceId=t}}]},enumerable:!1,configurable:!0}),t}(i.HistoryItem);t.AssignResourceHistoryItem=a},1493:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DeassignResourceHistoryItem=void 0;var r=n(655),i=n(7917),o=n(6124),s=function(e){function t(t,n){var r=e.call(this,t)||this;return r.assignmentId=n,r}return r.__extends(t,e),t.prototype.redo=function(){this.assignment=this.modelManipulator.resource.deassig(this.assignmentId)},t.prototype.undo=function(){this.modelManipulator.resource.assign(this.assignment.resourceId,this.assignment.taskId,this.assignmentId)},Object.defineProperty(t.prototype,\"keyUpdaters\",{get:function(){var e=this;return[{objectType:o.GanttDataObjectNames.resourceAssignment,getKey:function(){return e.assignmentId},updateKey:function(t){return e.assignmentId=t}},{objectType:o.GanttDataObjectNames.task,getKey:function(){var t;return null===(t=e.assignment)||void 0===t?void 0:t.taskId},updateKey:function(t){return e.assignment.taskId=t}},{objectType:o.GanttDataObjectNames.resource,getKey:function(){var t;return null===(t=e.assignment)||void 0===t?void 0:t.resourceId},updateKey:function(t){return e.assignment.resourceId=t}}]},enumerable:!1,configurable:!0}),t}(i.HistoryItem);t.DeassignResourceHistoryItem=s},2961:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CreateResourceHistoryItem=void 0;var r=n(655),i=n(7917),o=n(6124),s=n(8679),a=function(e){function t(t,n,r,i){void 0===r&&(r=\"\");var o=e.call(this,t)||this;return o.text=n,o.color=r,o.createCallback=i,o}return r.__extends(t,e),t.prototype.redo=function(){var e;null!==(e=this.insertedKey)&&void 0!==e||(this.insertedKey=s.MathUtils.generateGuid()),this.modelManipulator.resource.create(this.text,this.color,this.insertedKey,this.createCallback)},t.prototype.undo=function(){this.modelManipulator.resource.remove(this.insertedKey)},Object.defineProperty(t.prototype,\"keyUpdaters\",{get:function(){var e=this;return[{objectType:o.GanttDataObjectNames.resource,getKey:function(){return e.insertedKey},updateKey:function(t){return e.insertedKey=t}}]},enumerable:!1,configurable:!0}),t}(i.HistoryItem);t.CreateResourceHistoryItem=a},4641:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ResourceColorHistoryItem=void 0;var r=n(655),i=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.getPropertiesManipulator=function(){return this.modelManipulator.resource.properties.color},t}(n(7049).ResourcePropertiesHistoryItemBase);t.ResourceColorHistoryItem=i},7049:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ResourcePropertiesHistoryItemBase=void 0;var r=n(655),i=n(6124),o=function(e){function t(t,n,r){var i=e.call(this,t)||this;return i.resourceId=n,i.newValue=r,i}return r.__extends(t,e),t.prototype.redo=function(){this.oldState=this.getPropertiesManipulator().setValue(this.resourceId,this.newValue)},t.prototype.undo=function(){this.getPropertiesManipulator().restoreValue(this.oldState)},t.prototype.getPropertiesManipulator=function(){throw new Error(\"Not Implemented\")},Object.defineProperty(t.prototype,\"keyUpdaters\",{get:function(){var e=this;return[{objectType:i.GanttDataObjectNames.resource,getKey:function(){return e.resourceId},updateKey:function(t){return e.resourceId=t}}]},enumerable:!1,configurable:!0}),t}(n(7917).HistoryItem);t.ResourcePropertiesHistoryItemBase=o},7466:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.RemoveResourceHistoryItem=void 0;var r=n(655),i=n(9751),o=n(6124),s=function(e){function t(t,n){var r=e.call(this)||this;return r.modelManipulator=t,r.resourceId=n,r}return r.__extends(t,e),t.prototype.redo=function(){e.prototype.redo.call(this),this.resource=this.modelManipulator.resource.remove(this.resourceId)},t.prototype.undo=function(){var t=this;this.modelManipulator.resource.create(this.resource.text,this.resource.color,this.resourceId,(function(){t.resource.color&&t.modelManipulator.resource.properties.color.setValue(t.resource.internalId,t.resource.color),window.setTimeout((function(){return e.prototype.undo.call(t)}),0)}))},t.prototype.undoItemsQuery=function(){this.modelManipulator.resource.create(this.resource.text,this.resource.color,this.resourceId,(function(){})),this.resource.color&&this.modelManipulator.resource.properties.color.setValue(this.resource.internalId,this.resource.color),e.prototype.undo.call(this)},Object.defineProperty(t.prototype,\"keyUpdaters\",{get:function(){var e=this;return[{objectType:o.GanttDataObjectNames.resource,getKey:function(){return e.resourceId},updateKey:function(t){return e.resourceId=t}}]},enumerable:!1,configurable:!0}),t}(i.CompositionHistoryItem);t.RemoveResourceHistoryItem=s},1284:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CreateTaskHistoryItem=void 0;var r=n(655),i=n(8679),o=n(6124),s=function(e){function t(t,n){var r=e.call(this,t)||this;return r.data=n,r}return r.__extends(t,e),t.prototype.redo=function(){var e;null!==(e=this.insertedKey)&&void 0!==e||(this.insertedKey=i.MathUtils.generateGuid()),this.modelManipulator.task.create(this.data,this.insertedKey)},t.prototype.undo=function(){this.modelManipulator.task.remove(this.insertedKey)},Object.defineProperty(t.prototype,\"keyUpdaters\",{get:function(){var e,t=this,n=[{objectType:o.GanttDataObjectNames.task,getKey:function(){return t.insertedKey},updateKey:function(e){return t.insertedKey=e}}];return(null===(e=this.data)||void 0===e?void 0:e.parentId)&&n.push({objectType:o.GanttDataObjectNames.task,getKey:function(){var e;return null===(e=t.data)||void 0===e?void 0:e.parentId},updateKey:function(e){return t.data.parentId=e}}),n},enumerable:!1,configurable:!0}),t}(n(7917).HistoryItem);t.CreateTaskHistoryItem=s},9599:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.RemoveTaskHistoryItem=void 0;var r=n(655),i=n(6124),o=n(9751),s=function(e){function t(t,n){var r=e.call(this)||this;return r.modelManipulator=t,r.taskId=n,r}return r.__extends(t,e),t.prototype.redo=function(){e.prototype.redo.call(this),this.task=this.modelManipulator.task.remove(this.taskId)},t.prototype.undo=function(){var t=this;this.modelManipulator.task.create(this.task,this.taskId,(function(){window.setTimeout((function(){return e.prototype.undo.call(t)}),0)}))},t.prototype.undoItemsQuery=function(){var e;this.modelManipulator.task.create(this.task,this.taskId);for(var t=this.historyItems.length-1;e=this.historyItems[t];t--)e instanceof o.CompositionHistoryItem?e.undoItemsQuery():e.undo()},Object.defineProperty(t.prototype,\"keyUpdaters\",{get:function(){var e=this;return[{objectType:i.GanttDataObjectNames.task,getKey:function(){return e.taskId},updateKey:function(t){return e.taskId=t}},{objectType:i.GanttDataObjectNames.task,getKey:function(){var t;return null===(t=e.task)||void 0===t?void 0:t.parentId},updateKey:function(t){return e.task.parentId=t}}]},enumerable:!1,configurable:!0}),t}(o.CompositionHistoryItem);t.RemoveTaskHistoryItem=s},9496:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.UpdateTaskHistoryItem=void 0;var r=n(655),i=n(6124),o=n(7917),s=n(3064),a=function(e){function t(t,n,r){var i=e.call(this,t)||this;return i.taskId=n,i.newValues=r,i}return r.__extends(t,e),t.prototype.redo=function(){var e=this.modelManipulator.task.update(this.taskId,this.newValues);this.oldState=new s.HistoryItemState(this.taskId,e)},t.prototype.undo=function(){this.modelManipulator.task.update(this.taskId,this.oldState.value)},Object.defineProperty(t.prototype,\"keyUpdaters\",{get:function(){var e=this;return[{objectType:i.GanttDataObjectNames.task,getKey:function(){return e.taskId},updateKey:function(t){return e.taskId=t}}]},enumerable:!1,configurable:!0}),t}(o.HistoryItem);t.UpdateTaskHistoryItem=a},6382:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BaseManipulator=void 0;var n=function(){function e(e,t){this.viewModel=e,this.dispatcher=t}return e.prototype.getErrorCallback=function(){return this.viewModel.getDataUpdateErrorCallback()},Object.defineProperty(e.prototype,\"renderHelper\",{get:function(){return this.viewModel.owner.renderHelper},enumerable:!1,configurable:!0}),e}();t.BaseManipulator=n},1178:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskDependencyManipulator=void 0;var r=n(655),i=n(6124),o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.insertDependency=function(e,t,n,r){var o=this.viewModel;o.onBeginDataObjectCreate();var s=o.dependencies.createItem();s.predecessorId=e,s.successorId=t,s.type=n,r&&(s.internalId=r),s.id=s.internalId,o.dependencies.add(s);return o.updateVisibleItemDependencies(),this.renderHelper.recreateConnectorLineElement(s.internalId,!0),this.dispatcher.notifyDependencyInserted(this.getObjectForDataSource(s),(function(e){var t=s.internalId;s.updateId(e),o.processServerInsertedKey(t,s.internalId,i.GanttDataObjectNames.dependency)}),this.getErrorCallback()),o.onEndDataObjectCreate(),s},t.prototype.removeDependency=function(e){var t=this.viewModel.dependencies.getItemById(e);return this.viewModel.dependencies.remove(t),this.dispatcher.notifyDependencyRemoved(t.id,this.getErrorCallback(),this.viewModel.getDependencyObjectForDataSource(t)),this.viewModel.updateVisibleItemDependencies(),this.renderHelper.recreateConnectorLineElement(t.internalId),t},t.prototype.getObjectForDataSource=function(e){var t=this.viewModel.tasks.getItemById(e.predecessorId),n=this.viewModel.tasks.getItemById(e.successorId);return{id:e.id,predecessorId:t.id,successorId:n.id,type:e.type}},t}(n(6382).BaseManipulator);t.TaskDependencyManipulator=o},9650:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ModelManipulator=void 0;var r=n(1178),i=n(7518),o=n(728),s=function(e,t){this.task=new o.TaskManipulator(e,t),this.dependency=new r.TaskDependencyManipulator(e,t),this.resource=new i.ResourcesManipulator(e,t),this.dispatcher=t};t.ModelManipulator=s},4596:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ResourceColorManipulator=void 0;var r=n(655),i=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.getPropertyValue=function(e){return e.color},t.prototype.setPropertyValue=function(e,t){e.color=t,this.dispatcher.notifyResourceColorChanged(e.id,t,this.getErrorCallback())},t}(n(7470).ResourcePropertyManipulator);t.ResourceColorManipulator=i},79:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ResourcePropertiesManipulator=void 0;var r=n(655),i=n(6382),o=n(4596),s=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.color=new o.ResourceColorManipulator(t,n),r}return r.__extends(t,e),t}(i.BaseManipulator);t.ResourcePropertiesManipulator=s},7470:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ResourcePropertyManipulator=void 0;var r=n(655),i=n(3064),o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.setValue=function(e,t){var n=this,r=this.viewModel.resources.getItemById(e),o=new i.HistoryItemState(e,this.getPropertyValue(r));return this.setPropertyValue(r,t),this.viewModel.assignments.items.filter((function(e){return e.resourceId===r.internalId})).forEach((function(e){var t=n.viewModel.findItem(e.taskId).visibleIndex;n.renderHelper.recreateTaskElement(t)})),o},t.prototype.restoreValue=function(e){var t=this;if(e){var n=e.value,r=this.viewModel.resources.getItemById(e.id);this.setPropertyValue(r,n),this.viewModel.assignments.items.filter((function(e){return e.resourceId===r.internalId})).forEach((function(e){var n=t.viewModel.findItem(e.taskId).visibleIndex;t.renderHelper.recreateTaskElement(n)}))}},t}(n(6382).BaseManipulator);t.ResourcePropertyManipulator=o},7518:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ResourcesManipulator=void 0;var r=n(655),i=n(6124),o=n(6382),s=n(79),a=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.properties=new s.ResourcePropertiesManipulator(t,n),r}return r.__extends(t,e),t.prototype.create=function(e,t,n,r){var o=this.viewModel;o.onBeginDataObjectCreate();var s=o.resources.createItem();return s.text=e,t&&(s.color=t),n&&(s.internalId=n),s.id=s.internalId,this.viewModel.resources.add(s),this.dispatcher.notifyResourceCreated(this.getResourceObjectForDataSource(s),(function(e){var t=s.internalId;s.updateId(e),o.processServerInsertedKey(t,s.internalId,i.GanttDataObjectNames.resource),r&&r(e)}),this.getErrorCallback()),o.onEndDataObjectCreate(),s},t.prototype.remove=function(e){var t=this.viewModel.resources.getItemById(e);if(!t)throw new Error(\"Invalid resource id\");if(this.viewModel.assignments.items.filter((function(t){return t.resourceId===e})).length)throw new Error(\"Can't delete assigned resource\");return this.viewModel.resources.remove(t),this.dispatcher.notifyResourceRemoved(t.id,this.getErrorCallback(),this.viewModel.getResourceObjectForDataSource(t)),t},t.prototype.assign=function(e,t,n){var r=this.viewModel;r.onBeginDataObjectCreate();var o=r.assignments.createItem();return o.resourceId=e,o.taskId=t,n&&(o.internalId=n),o.id=o.internalId,this.viewModel.assignments.add(o),this.dispatcher.notifyResourceAssigned(this.getResourceAssignmentObjectForDataSource(o),(function(e){var t=o.internalId;o.updateId(e),r.processServerInsertedKey(t,o.internalId,i.GanttDataObjectNames.resourceAssignment)}),this.getErrorCallback()),this.viewModel.updateModel(),r.onEndDataObjectCreate(),this.viewModel.owner.resetAndUpdate(),o},t.prototype.deassig=function(e){var t=this.viewModel.assignments.getItemById(e);return this.viewModel.assignments.remove(t),this.dispatcher.notifyResourceUnassigned(t.id,this.getErrorCallback(),this.viewModel.getResourceAssignmentObjectForDataSource(t)),this.viewModel.updateModel(),this.viewModel.owner.resetAndUpdate(),t},t.prototype.getResourceObjectForDataSource=function(e){return{id:e.id,text:e.text}},t.prototype.getResourceAssignmentObjectForDataSource=function(e){return{id:e.id,taskId:this.viewModel.tasks.getItemById(e.taskId).id,resourceId:this.viewModel.resources.getItemById(e.resourceId).id}},t}(o.BaseManipulator);t.ResourcesManipulator=a},728:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskManipulator=void 0;var r=n(655),i=n(2491),o=n(6124),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.create=function(e,t,n){var r=this,i=this.viewModel;i.onBeginDataObjectCreate();var s=i.tasks.createItem();s.start=e.start,s.end=e.end,s.title=e.title,s.progress=e.progress,e.color&&(s.color=e.color);var a=i.tasks.getItemById(e.parentId);return a&&(a.expanded=!0),s.parentId=e.parentId,t&&(s.internalId=t),s.id=s.internalId,i.tasks.add(s),i.updateModel(),this.dispatcher.notifyTaskCreated(this.getObjectForDataSource(s),(function(e){var t=s.internalId;if(s.updateId(e),i.processServerInsertedKey(t,s.internalId,o.GanttDataObjectNames.task),n&&n(),r.viewModel.requireFirstLoadParentAutoCalc){var a=i.getCurrentTaskData().map((function(e){return\"\"===e.parentId&&(e.parentId=null),e}));r.dispatcher.notifyParentDataRecalculated(a)}}),this.getErrorCallback()),i.onEndDataObjectCreate(),i.owner.resetAndUpdate(),s},t.prototype.remove=function(e){var t=this.viewModel.tasks.getItemById(e);if(!t)throw new Error(\"Invalid task id\");if(this.viewModel.dependencies.items.filter((function(t){return t.predecessorId==e||t.successorId==e})).length)throw new Error(\"Can't delete task with dependency\");if(this.viewModel.assignments.items.filter((function(t){return t.taskId==e})).length)throw new Error(\"Can't delete task with assigned resource\");return this.viewModel.tasks.remove(t),this.dispatcher.notifyTaskRemoved(t.id,this.getErrorCallback(),this.viewModel.getTaskObjectForDataSource(t)),this.viewModel.updateModel(),this.viewModel.owner.resetAndUpdate(),t},t.prototype.update=function(e,t){var n=this.viewModel.tasks.getItemById(e),r={};Object.keys(t).forEach((function(e){(0,i.isDefined)(n[e])&&(r[e]=n[e],n[e]=t[e])}));var o=this.viewModel.findItem(e);return o&&this.renderHelper.recreateTaskElement(o.visibleIndex),this.dispatcher.notifyTaskUpdated(n.id,t,this.getErrorCallback()),r},t.prototype.getObjectForDataSource=function(e){return this.viewModel.getTaskObjectForDataSource(e)},t}(n(6382).BaseManipulator);t.TaskManipulator=s},2601:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.GanttJsonUtils=void 0;var r=n(9937),i=function(){function e(){}return e.parseJson=function(e){return r.JsonUtils.isValid(e)?JSON.parse(e):null},e}();t.GanttJsonUtils=i},8478:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ValidationController=void 0;var r=n(655),i=n(2491),o=n(9201),s=n(5950),a=n(9496),l=n(858),c=n(7880),u=n(4927),d=function(){function e(e){this.lockPredecessorToSuccessor=!0,this.settings=e}return Object.defineProperty(e.prototype,\"viewModel\",{get:function(){return this.settings.getViewModel()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"history\",{get:function(){return this.settings.getHistory()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"modelManipulator\",{get:function(){return this.settings.getModelManipulator()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"range\",{get:function(){return this.settings.getRange()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"validationSettings\",{get:function(){return this.settings.getValidationSettings()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"_parentAutoCalc\",{get:function(){return this.viewModel.parentAutoCalc},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"enablePredecessorGap\",{get:function(){return this.viewModel.enablePredecessorGap},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"isValidateDependenciesRequired\",{get:function(){return this.settings.getIsValidateDependenciesRequired()},enumerable:!1,configurable:!0}),e.prototype.updateOwnerInAutoParentMode=function(){this.settings.updateOwnerInAutoParentMode()},e.prototype.checkStartDependencies=function(e,t){var n=this,r=[],i=this.viewModel.tasks.getItemById(e);return this.viewModel.dependencies.items.filter((function(t){return t.successorId===e})).forEach((function(e){var o=n.viewModel.tasks.getItemById(e.predecessorId);(e.type===s.DependencyType.FS&&o.end>t||e.type===s.DependencyType.SS&&o.start>t)&&r.push(new u.ValidationError(e.internalId,!0)),(e.type===s.DependencyType.FS&&o.end.valueOf()===i.start.valueOf()&&t>o.end||e.type===s.DependencyType.SS&&o.start.valueOf()===i.start.valueOf()&&t>o.start)&&r.push(new u.ValidationError(e.internalId))})),r},e.prototype.checkEndDependencies=function(e,t){var n=this,r=[],i=this.viewModel.tasks.getItemById(e);return this.viewModel.dependencies.items.filter((function(t){return t.successorId===e})).forEach((function(e){var o=n.viewModel.tasks.getItemById(e.predecessorId);(e.type===s.DependencyType.SF&&o.start>t||e.type===s.DependencyType.FF&&o.end>t)&&r.push(new u.ValidationError(e.internalId,!0)),(e.type===s.DependencyType.SF&&o.start.valueOf()===i.end.valueOf()&&t>o.start||e.type===s.DependencyType.FF&&o.end.valueOf()===i.end.valueOf()&&t>o.end)&&r.push(new u.ValidationError(e.internalId))})),r},e.prototype.moveEndDependTasks=function(e,t,n){var r=this;void 0===n&&(n=null);var i=this.viewModel.dependencies.items.filter((function(t){return t.predecessorId===e&&!t.isStartDependency})),o=this.viewModel.tasks.getItemById(e);i.forEach((function(e){var i=r.viewModel.tasks.getItemById(e.successorId);if(!(!i||n&&r.viewModel.checkParent(i.internalId,n)||i.parentId===o.id)){var c=new l.DateRange(new Date(i.start.getTime()),new Date(i.end.getTime())),u=new l.DateRange(new Date(i.start.getTime()),new Date(i.end.getTime())),d=o.end.getTime()-t.getTime(),p=r.enablePredecessorGap?o.end:t;if(e.type===s.DependencyType.FS&&(i.start0?Math.round(s/a):0)!==n.task.progress&&(l.progress=s),t(l),n=n.parent}},e.prototype.updateParentsRangeByChild=function(e){var t=this;this.recalculateParents(this.viewModel.findItem(e),(function(e){if((0,i.isDefined)(e.id)){var n=t.history,r=t.modelManipulator;(0,i.isDefined)(e.start)&&(n.addAndRedo(new a.UpdateTaskHistoryItem(r,e.id,{start:e.start})),t.moveStartDependTasks(e.id,e.oldStart)),(0,i.isDefined)(e.end)&&(n.addAndRedo(new a.UpdateTaskHistoryItem(r,e.id,{end:e.end})),t.moveEndDependTasks(e.id,e.oldEnd)),(0,i.isDefined)(e.progress)&&n.addAndRedo(new a.UpdateTaskHistoryItem(r,e.id,{progress:e.progress}))}}))},e.prototype.updateChildRangeByParent=function(e,t,n){var r=this.viewModel.findItem(e);if(r&&0!==r.children.length)for(var i=r.children,s=0;s{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ValidationError=void 0;var n=function(e,t){void 0===t&&(t=!1),this.dependencyId=e,this.critical=t};t.ValidationError=n},6350:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ViewVisualModelDependencyInfo=void 0;var n=function(e,t,n){this.id=e,this.predecessor=t,this.type=n};t.ViewVisualModelDependencyInfo=n},3562:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ViewVisualModelItem=void 0;var r=n(2491),i=n(6353),o=function(){function e(e,t){this.dependencies=new Array,this.parent=null,this.visible=!0,this.selected=!1,this.visibleIndex=-1,this.task=e,this.resources=t,this.children=new Array,this.isCustom=!1,this.size=new i.Size(0,0)}return Object.defineProperty(e.prototype,\"resourceText\",{get:function(){var e=\"\";return this.resources.items.forEach((function(t){return e+=t.text+\" \"})),e},enumerable:!1,configurable:!0}),e.prototype.addChild=function(e){(0,r.isDefined)(e)&&this.children.indexOf(e)<0&&this.children.push(e)},e.prototype.removeChild=function(e){var t=this.children.indexOf(e);t>-1&&this.children.splice(t,1)},e.prototype.getExpanded=function(){return!!this.task&&this.task.expanded},e.prototype.getVisible=function(){if(!this.visible)return!1;for(var e=this.parent;e;){if(!e.visible)return!1;e=e.parent}return!0},e.prototype.changeVisibility=function(e){this.visible=e},e.prototype.changeSelection=function(e){this.selected=e},e.prototype.setDependencies=function(e){e&&(this.dependencies=e.slice())},e}();t.ViewVisualModelItem=o},1408:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ViewVisualModel=void 0;var r=n(8828),i=n(9504),o=n(7380),s=n(9883),a=n(3562),l=n(6350),c=n(21),u=n(2491),d=n(6124),p=n(7352),h=n(2301),f=n(7437),g=function(){function e(e,t,n,a,l,u,d){this._fLockCount=0,this.lockChangesProcessing=!1,this.owner=e,this.tasks=new i.TaskCollection,this.tasks.importFromObject(t),this.dependencies=new o.DependencyCollection,this.dependencies.importFromObject(n),this.resources=new r.ResourceCollection,this.resources.importFromObject(a),this.assignments=new s.ResourceAssignmentCollection,this.assignments.importFromObject(l),this._itemList=new Array,this._viewItemList=new Array,this._workTimeCalculator=new c.WorkingTimeCalculator(u,d),this.updateModel(!0)}return Object.defineProperty(e.prototype,\"renderHelper\",{get:function(){return this.owner.renderHelper},enumerable:!1,configurable:!0}),e.prototype.updateModel=function(e){this._itemList.splice(0,this._itemList.length);for(var t=this.tasks.items,n=0;n-1&&this.renderHelper.recreateTaskElement(i)}},e.prototype.beginUpdate=function(){this._fLockCount++},e.prototype.endUpdate=function(){this._fLockCount--,0==this._fLockCount&&this.changed()},e.prototype.compareTaskOrder=function(e){var t=new i.TaskCollection;t.importFromObject(e);var n=t.items,r=this.tasks.items;if(n.length!==r.length)return!1;for(var o=0;o-1},e.prototype.getTaskTreeLine=function(e){var t=[e],n=this.findItem(e);if(n)for(n=n.parent;null==n?void 0:n.task;)t.push(null==n?void 0:n.task.internalId),n=n.parent;else for(var r=this.tasks.getItemById(e),i=this.tasks.getItemById(null==r?void 0:r.parentId);i;)t.push(i.id),i=this.tasks.getItemById(i.parentId);return t},e.prototype.getDependentTasksHash=function(){var e={};return this.dependencies.items.forEach((function(t){var n,r,i=t.predecessorId,o=t.successorId;null!==(n=e[i])&&void 0!==n||(e[i]=[]),e[i].indexOf(o)<0&&e[i].push(o),null!==(r=e[o])&&void 0!==r||(e[o]=[]),e[o].indexOf(i)<0&&e[o].push(i)})),e},e.prototype.checkTasksInterdependence=function(e,t,n){for(var r,i,o=this.getTaskTreeLine(e).reverse(),s=this.getTaskTreeLine(t).reverse(),a=0;a-1&&(r=o[a+1],i=s[c+1])}return r||i||(r=o[0],i=s[0]),this.checkDependencyChain(this.getBranchIds(r),this.getBranchIds(i),n,[])},e.prototype.checkDependencyChain=function(e,t,n,r){if(e.some((function(e){return t.indexOf(e)>-1})))return!0;r.push.apply(r,e);for(var i=0;i0},e.prototype.taskHasChildren=function(e){var t=this.findItem(e);return t&&t.children.length>0},Object.defineProperty(e.prototype,\"enableDependencyValidation\",{get:function(){var e,t=this.owner&&this.owner.settings;return null===(e=null==t?void 0:t.validation)||void 0===e?void 0:e.validateDependencies},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"parentAutoCalc\",{get:function(){var e=this.owner&&this.owner.settings;return e&&e.validation&&e.validation.autoUpdateParentTasks},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"enablePredecessorGap\",{get:function(){var e=this.owner&&this.owner.settings;return e&&e.validation&&e.validation.enablePredecessorGap},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"requireFirstLoadParentAutoCalc\",{get:function(){return this.parentAutoCalc&&this.owner.requireFirstLoadParentAutoCalc()},enumerable:!1,configurable:!0}),e.prototype.isTaskToCalculateByChildren=function(e){return this.parentAutoCalc&&this.taskHasChildren(e)},e.prototype.hasTasks=function(){return this.tasks.length>0},e.prototype.getDataUpdateErrorCallback=function(){return this.owner.getDataUpdateErrorCallback&&this.owner.getDataUpdateErrorCallback()},e.prototype.convertPublicToInternalKey=function(e,t){var n=this.getItemByPublicId(e,t);return n&&n.internalId},e.prototype.convertInternalToPublicKey=function(e,t){var n=this.getItemByInternalId(e,t);return n&&n.id},e.prototype.getItemByPublicId=function(e,t){var n=t.toString();switch(e){case\"task\":return this.tasks.getItemByPublicId(n);case\"dependency\":return this.dependencies.getItemByPublicId(n);case\"resource\":return this.resources.getItemByPublicId(n);case\"assignment\":return this.assignments.getItemByPublicId(n)}return null},e.prototype.getItemByInternalId=function(e,t){switch(e){case\"task\":return this.tasks.getItemById(t);case\"dependency\":return this.dependencies.getItemById(t);case\"resource\":return this.resources.getItemById(t);case\"assignment\":return this.assignments.getItemById(t)}return null},e.prototype.findAssignment=function(e,t){var n=this.convertPublicToInternalKey(\"resource\",e),r=this.convertPublicToInternalKey(\"task\",t);return this.assignments.items.filter((function(e){return e.resourceId===n&&e.taskId===r}))[0]},e.prototype.findAllTaskAssignments=function(e){return this.assignments.items.filter((function(t){return t.taskId===e}))},e.prototype.getAllVisibleTaskIndices=function(e,t){var n,r=[];null!=e||(e=0),null!=t||(t=this._viewItemList.length-1);for(var i=e;i<=t;i++){var o=this._viewItemList[i];(null==o?void 0:o.getVisible())&&(null===(n=null==o?void 0:o.task)||void 0===n?void 0:n.isValid())&&r.push(i)}return r},e.prototype.getVisibleTasks=function(){var e=this;return this.tasks.items.filter((function(t){return t&&e.getTaskVisibility(t.internalId)&&t.isValid()}))},e.prototype.getVisibleDependencies=function(){var e=this.getVisibleTasks().map((function(e){return e.internalId}));return this.dependencies.items.filter((function(t){return t&&e.indexOf(t.successorId)>-1&&e.indexOf(t.predecessorId)>-1}))},e.prototype.getVisibleResourceAssignments=function(){var e=this.getVisibleTasks().map((function(e){return e.internalId}));return this.assignments.items.filter((function(t){return t&&e.indexOf(t.taskId)>-1}))},e.prototype.getVisibleResources=function(){for(var e=[],t=this.getVisibleResourceAssignments(),n=0;ne.getTime()&&(e=t.end)})),e},e.prototype.processServerInsertedKey=function(e,t,n){var r;n===d.GanttDataObjectNames.task&&this.tasks.invalidate(),n===d.GanttDataObjectNames.dependency&&(this.dependencies.invalidate(),this.updateVisibleItemDependencies()),n===d.GanttDataObjectNames.resource&&this.resources.invalidate(),n===d.GanttDataObjectNames.resourceAssignment&&this.assignments.invalidate(),null===(r=this.owner)||void 0===r||r.updateHistoryObsoleteInsertedKey(e,t,n)},e.prototype.onBeginDataObjectCreate=function(){var e,t;null===(t=(e=this.owner).lockUpdateWithReload)||void 0===t||t.call(e)},e.prototype.onEndDataObjectCreate=function(){var e,t;null===(t=(e=this.owner).unlockUpdateWithReload)||void 0===t||t.call(e)},e}();t.ViewVisualModel=g},858:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DateRange=void 0;var n=function(){function e(e,t){this.start=e,this.end=t}return e.prototype.equal=function(e){var t=!0;return t=(t=t&&this.start.getTime()===e.start.getTime())&&this.end.getTime()===e.end.getTime()},e}();t.DateRange=n},7880:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DateTimeUtils=void 0;var r=n(2753),i=n(9331),o=n(2491),s=n(858),a=n(7812),l=function(){function e(){}return e.compareDates=function(e,t){return e&&t?t.getTime()-e.getTime():-1},e.areDatesEqual=function(e,t){return 0==this.compareDates(e,t)},e.getMaxDate=function(e,t){return e||t?e?t&&this.compareDates(e,t)>0?t:e:t:null},e.getMinDate=function(e,t){return e||t?e?t?this.compareDates(e,t)>0?e:t:e:t:null},e.getDaysBetween=function(e,t){var n=Math.abs(t.getTime()-e.getTime());return Math.ceil(n/this.msInDay)},e.getWeeksBetween=function(e,t){var n=this.getDaysBetween(e,t),r=Math.floor(n/7);return e.getDay()>t.getDay()&&r++,r},e.getMonthsDifference=function(e,t){var n=this.compareDates(e,t),r=n>=0?e:t,i=n>=0?t:e;return 12*(i.getFullYear()-r.getFullYear())+(i.getMonth()-r.getMonth())},e.getYearsDifference=function(e,t){return Math.abs(t.getFullYear()-e.getFullYear())},e.getDayNumber=function(e){return Math.ceil(e.getTime()/this.msInDay)},e.getDateByDayNumber=function(e){var t=new Date(e*this.msInDay);return t.setHours(0),t.setMinutes(0),t.setSeconds(0),t},e.addDays=function(e,t){return new Date(e.getTime()+t*this.msInDay)},e.checkDayOfMonth=function(e,t){return e==t.getDate()},e.checkDayOfWeek=function(e,t){return e==t.getDay()},e.checkMonth=function(e,t){return e==t.getMonth()},e.checkYear=function(e,t){return e==t.getFullYear()},e.checkDayOfWeekOccurrenceInMonth=function(e,t,n){var r=this.getSpecificDayOfWeekInMonthDates(t,e.getFullYear(),e.getMonth());return n==a.DayOfWeekMonthlyOccurrence.Last?this.areDatesEqual(e,r[r.length-1]):this.areDatesEqual(e,r[n])},e.getFirstDayOfWeekInMonth=function(e,t){return new Date(e,t,1).getDay()},e.getSpecificDayOfWeekInMonthDates=function(e,t,n){for(var r=this.getFirstDayOfWeekInMonth(t,n),i=e>=r?e-r:e+7-r,o=new Array,s=new Date(t,n,i+1);s.getMonth()==n;)o.push(s),s=this.addDays(s,7);return o},e.getSpecificDayOfWeekInMonthDate=function(e,t,n,r){var i=this.getSpecificDayOfWeekInMonthDates(e,t,n);return r==a.DayOfWeekMonthlyOccurrence.Last?i[i.length-1]:i[r]},e.checkValidDayInMonth=function(e,t,n){return!(n<1||n>31||new Date(e,t,n).getMonth()!=t)},e.getNextMonth=function(e,t){return void 0===t&&(t=1),(e+t)%12},e.convertToDate=function(e){if(e instanceof Date)return new Date(e);var t=Date.parse(e);return isNaN(t)?null:new Date(t)},e.convertTimeRangeToDateRange=function(e,t){var n=this.getDateByDayNumber(t),r=n.getFullYear(),i=n.getMonth(),o=n.getDate(),a=e.start,l=new Date(r,i,o,a.hour,a.min,a.sec,a.msec),c=e.end,u=new Date(r,i,o,c.hour,c.min,c.sec,c.msec);return new s.DateRange(l,u)},e.convertToTimeRanges=function(e){var t=this;return e instanceof Array?e.map((function(e){return t.convertToTimeRange(e)})):this.parseTimeRanges(e)},e.convertToTimeRange=function(e){return e?e instanceof i.TimeRange?e:(0,o.isDefined)(e.start)&&(0,o.isDefined)(e.end)?new i.TimeRange(this.convertToTime(e.start),this.convertToTime(e.end)):this.parseTimeRange(e):null},e.convertToTime=function(e){return e?e instanceof r.Time?e:e instanceof Date?this.getTimeGromJsDate(e):this.parseTime(e):null},e.parseTimeRanges=function(e){var t=this;return e?e.split(/;|,/).map((function(e){return t.parseTimeRange(e)})).filter((function(e){return!!e})):null},e.parseTimeRange=function(e){if(!e)return null;var t=e.split(\"-\"),n=t[0],r=t[1];return(0,o.isDefined)(n)&&(0,o.isDefined)(r)?new i.TimeRange(this.parseTime(n),this.parseTime(r)):null},e.parseTime=function(e){if(!e)return null;var t=e.split(\":\"),n=parseInt(t[0])||0,i=parseInt(t[1])||0,o=parseInt(t[2])||0,s=parseInt(t[3])||0;return new r.Time(n,i,o,s)},e.getTimeGromJsDate=function(e){if(!e)return null;var t=e.getHours(),n=e.getMinutes(),i=e.getSeconds(),o=e.getMilliseconds();return new r.Time(t,n,i,o)},e.caclTimeDifference=function(e,t){return t.getTimeInMilleconds()-e.getTimeInMilleconds()},e.areTimesEqual=function(e,t){return 0==this.caclTimeDifference(e,t)},e.getMaxTime=function(e,t){return e||t?e?t&&this.caclTimeDifference(e,t)>0?t:e:t:null},e.getMinTime=function(e,t){return e||t?e?t?this.caclTimeDifference(e,t)>0?e:t:e:t:null},e.getLastTimeOfDay=function(){return new r.Time(23,59,59,999)},e.msInDay=864e5,e}();t.DateTimeUtils=l},8719:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DayOfWeek=void 0,function(e){e[e.Sunday=0]=\"Sunday\",e[e.Monday=1]=\"Monday\",e[e.Tuesday=2]=\"Tuesday\",e[e.Wednesday=3]=\"Wednesday\",e[e.Thursday=4]=\"Thursday\",e[e.Friday=5]=\"Friday\",e[e.Saturday=6]=\"Saturday\"}(t.DayOfWeek||(t.DayOfWeek={}))},7812:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DayOfWeekMonthlyOccurrence=void 0,function(e){e[e.First=0]=\"First\",e[e.Second=1]=\"Second\",e[e.Third=2]=\"Third\",e[e.Forth=3]=\"Forth\",e[e.Last=4]=\"Last\"}(t.DayOfWeekMonthlyOccurrence||(t.DayOfWeekMonthlyOccurrence={}))},1805:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DayWorkingTimeInfo=void 0;var r=n(9331),i=n(7880),o=n(2753),s=function(){function e(e,t,n){void 0===e&&(e=0),void 0===t&&(t=!0),void 0===n&&(n=null),this._workingIntervals=new Array,this.dayNumber=e,this.isWorkDay=t,this.addWorkingIntervals(n)}return e.prototype.addWorkingIntervals=function(e){e&&(this._workingIntervals=this._workingIntervals.concat(e.filter((function(e){return!!e}))),this.rearrangeWorkingIntervals())},e.prototype.rearrangeWorkingIntervals=function(){for(var e=0;e-1&&t{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Month=void 0,function(e){e[e.January=0]=\"January\",e[e.February=1]=\"February\",e[e.March=2]=\"March\",e[e.April=3]=\"April\",e[e.May=4]=\"May\",e[e.June=5]=\"June\",e[e.July=6]=\"July\",e[e.August=7]=\"August\",e[e.September=8]=\"September\",e[e.October=9]=\"October\",e[e.November=10]=\"November\",e[e.December=11]=\"December\"}(t.Month||(t.Month={}))},7872:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.MonthInfo=void 0;var r=n(7880),i=function(){function e(e,t){this.month=e,this.year=t}return e.prototype.addMonths=function(e){var t=r.DateTimeUtils.getNextMonth(this.month,e),n=Math.floor(e/12);t{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Daily=void 0;var r=n(655),i=n(1789),o=n(7880),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.checkDate=function(e){return!0},t.prototype.checkInterval=function(e){return o.DateTimeUtils.getDaysBetween(this.start,e)%this.interval==0},t.prototype.calculatePointByInterval=function(e){var t=this.interval;return this.isRecurrencePoint(e)||(t-=o.DateTimeUtils.getDaysBetween(this.start,e)%this.interval),o.DateTimeUtils.addDays(e,t)},t.prototype.calculateNearestPoint=function(e){return o.DateTimeUtils.addDays(e,1)},t}(i.RecurrenceBase);t.Daily=s},4390:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Monthly=void 0;var r=n(655),i=n(1789),o=n(7880),s=n(7872),a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.checkDate=function(e){return this._calculateByDayOfWeek?o.DateTimeUtils.checkDayOfWeekOccurrenceInMonth(e,this.dayOfWeekInternal,this.dayOfWeekOccurrenceInternal):o.DateTimeUtils.checkDayOfMonth(this.dayInternal,e)},t.prototype.checkInterval=function(e){return o.DateTimeUtils.getMonthsDifference(this.start,e)%this.interval==0},t.prototype.calculatePointByInterval=function(e){var t=this.start,n=o.DateTimeUtils.getMonthsDifference(t,e),r=Math.floor(n/this.interval)*this.interval,i=new s.MonthInfo(t.getMonth(),t.getFullYear());i.addMonths(r);var a=this.getSpecDayInMonth(i.year,i.month);return o.DateTimeUtils.compareDates(a,e)>=0&&(i.addMonths(this.interval),a=this.getSpecDayInMonth(i.year,i.month)),a},t.prototype.calculateNearestPoint=function(e){var t=e.getMonth(),n=e.getFullYear(),r=this.getSpecDayInMonth(n,t);if(o.DateTimeUtils.compareDates(r,e)>=0){var i=new s.MonthInfo(t,n);i.addMonths(1),r=this.getSpecDayInMonth(i.year,i.month)}return r},Object.defineProperty(t.prototype,\"day\",{get:function(){return this.dayInternal},set:function(e){this.dayInternal=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"dayOfWeek\",{get:function(){return this.dayOfWeekInternal},set:function(e){this.dayOfWeekInternal=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"dayOfWeekOccurrence\",{get:function(){return this.dayOfWeekOccurrenceInternal},set:function(e){this.dayOfWeekOccurrenceInternal=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"calculateByDayOfWeek\",{get:function(){return this._calculateByDayOfWeek},set:function(e){this._calculateByDayOfWeek=e},enumerable:!1,configurable:!0}),t}(i.RecurrenceBase);t.Monthly=a},1789:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.RecurrenceBase=void 0;var r=n(655),i=n(8719),o=n(7812),s=n(3110),a=n(2491),l=n(7880),c=n(9612),u=function(e){function t(t,n,r,i){void 0===t&&(t=null),void 0===n&&(n=null),void 0===r&&(r=1),void 0===i&&(i=0);var o=e.call(this)||this;return o._start=null,o._end=null,o._interval=1,o._occurrenceCount=0,o._dayOfWeek=0,o._day=1,o._dayOfWeekOccurrence=0,o._month=0,o._calculateByDayOfWeek=!1,o.start=t,o.end=n,o.interval=r,o.occurrenceCount=i,o}return r.__extends(t,e),t.prototype.assignFromObject=function(t){(0,a.isDefined)(t)&&(e.prototype.assignFromObject.call(this,t),this.start=l.DateTimeUtils.convertToDate(t.start),this.end=l.DateTimeUtils.convertToDate(t.end),(0,a.isDefined)(t.interval)&&(this.interval=t.interval),(0,a.isDefined)(t.occurrenceCount)&&(this.occurrenceCount=t.occurrenceCount),(0,a.isDefined)(t.dayOfWeek)&&(this.dayOfWeekInternal=c.RecurrenceFactory.getEnumValue(i.DayOfWeek,t.dayOfWeek)),(0,a.isDefined)(t.day)&&(this.dayInternal=t.day),(0,a.isDefined)(t.dayOfWeekOccurrence)&&(this.dayOfWeekOccurrenceInternal=c.RecurrenceFactory.getEnumValue(o.DayOfWeekMonthlyOccurrence,t.dayOfWeekOccurrence)),(0,a.isDefined)(t.month)&&(this.monthInternal=c.RecurrenceFactory.getEnumValue(s.Month,t.month)),(0,a.isDefined)(t.calculateByDayOfWeek)&&(this._calculateByDayOfWeek=!!t.calculateByDayOfWeek))},t.prototype.calculatePoints=function(e,t){if(!e||!t)return new Array;var n=l.DateTimeUtils.getMaxDate(e,this._start),r=l.DateTimeUtils.getMinDate(t,this._end);return this._occurrenceCount>0?this.calculatePointsByOccurrenceCount(n,r):this.calculatePointsByDateRange(n,r)},t.prototype.calculatePointsByOccurrenceCount=function(e,t){for(var n=new Array,r=this.getFirstPoint(e);r&&n.length=0;)this.isRecurrencePoint(r)&&n.push(r),r=this.getNextPoint(r);return n},t.prototype.calculatePointsByDateRange=function(e,t){for(var n=new Array,r=this.getFirstPoint(e);r&&l.DateTimeUtils.compareDates(r,t)>=0;)this.isRecurrencePoint(r)&&n.push(r),r=this.getNextPoint(r);return n},t.prototype.getFirstPoint=function(e){return this.isRecurrencePoint(e)?e:this.getNextPoint(e)},t.prototype.isRecurrencePoint=function(e){return this.isDateInRange(e)&&this.checkDate(e)&&(!this.useIntervalInCalc()||this.checkInterval(e))},t.prototype.isDateInRange=function(e){return!!e&&(!(this._start&&l.DateTimeUtils.compareDates(this.start,e)<0)&&!(0==this._occurrenceCount&&this.end&&l.DateTimeUtils.compareDates(e,this.end)<0))},t.prototype.useIntervalInCalc=function(){return this.interval>1&&!!this._start},t.prototype.getNextPoint=function(e){return this.isDateInRange(e)?this.useIntervalInCalc()?this.calculatePointByInterval(e):this.calculateNearestPoint(e):null},t.prototype.getSpecDayInMonth=function(e,t){return this._calculateByDayOfWeek?l.DateTimeUtils.getSpecificDayOfWeekInMonthDate(this.dayOfWeekInternal,e,t,this.dayOfWeekOccurrenceInternal):new Date(e,t,this.dayInternal)},Object.defineProperty(t.prototype,\"dayInternal\",{get:function(){return this._day},set:function(e){e>0&&e<=31&&(this._day=e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"dayOfWeekInternal\",{get:function(){return this._dayOfWeek},set:function(e){e>=i.DayOfWeek.Sunday&&e<=i.DayOfWeek.Saturday&&(this._dayOfWeek=e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"dayOfWeekOccurrenceInternal\",{get:function(){return this._dayOfWeekOccurrence},set:function(e){e>=o.DayOfWeekMonthlyOccurrence.First&&e<=o.DayOfWeekMonthlyOccurrence.Last&&(this._dayOfWeekOccurrence=e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"monthInternal\",{get:function(){return this._month},set:function(e){e>=s.Month.January&&e<=s.Month.December&&(this._month=e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"start\",{get:function(){return this._start},set:function(e){e&&(this._start=e,this._end&&e>this._end&&(this._end=e))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"end\",{get:function(){return this._end},set:function(e){e&&(this._end=e,this._start&&e0&&(this._interval=e)},enumerable:!1,configurable:!0}),t}(n(6124).DataObject);t.RecurrenceBase=u},9612:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.RecurrenceFactory=void 0;var r=n(2491),i=n(4902),o=n(5475),s=n(4390),a=n(7515),l=function(){function e(){}return e.createRecurrenceByType=function(e){if(!e)return null;switch(e.toLowerCase()){case\"daily\":return new i.Daily;case\"weekly\":return new o.Weekly;case\"monthly\":return new s.Monthly;case\"yearly\":return new a.Yearly}return null},e.createRecurrenceFromObject=function(e){if(!e)return null;var t=this.createRecurrenceByType(e.type);return t&&t.assignFromObject(e),t},e.getEnumValue=function(e,t){if(!(0,r.isDefined)(e[t]))return null;var n=parseInt(t);return isNaN(n)?e[t]:n},e}();t.RecurrenceFactory=l},5475:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Weekly=void 0;var r=n(655),i=n(1789),o=n(7880),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.checkDate=function(e){return o.DateTimeUtils.checkDayOfWeek(this.dayOfWeekInternal,e)},t.prototype.checkInterval=function(e){return o.DateTimeUtils.getWeeksBetween(this.start,e)%this.interval==0},t.prototype.calculatePointByInterval=function(e){var t=o.DateTimeUtils.getWeeksBetween(this.start,e),n=Math.floor(t/this.interval);(t%this.interval>0||e.getDay()>=this.dayOfWeekInternal)&&n++;var r=n*this.interval;return this.calcNextPointWithWeekCount(this.start,r)},t.prototype.calculateNearestPoint=function(e){var t=this.dayOfWeekInternal-e.getDay();return t>0?o.DateTimeUtils.addDays(new Date(e),t):this.calcNextPointWithWeekCount(e,1)},t.prototype.calcNextPointWithWeekCount=function(e,t){void 0===t&&(t=1);var n=7*t+this.dayOfWeekInternal-e.getDay();return o.DateTimeUtils.addDays(new Date(e),n)},Object.defineProperty(t.prototype,\"dayOfWeek\",{get:function(){return this.dayOfWeekInternal},set:function(e){this.dayOfWeekInternal=e},enumerable:!1,configurable:!0}),t}(i.RecurrenceBase);t.Weekly=s},7515:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Yearly=void 0;var r=n(655),i=n(1789),o=n(7880),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.checkDate=function(e){return!!o.DateTimeUtils.checkMonth(this.month,e)&&(this._calculateByDayOfWeek?o.DateTimeUtils.checkDayOfWeekOccurrenceInMonth(e,this.dayOfWeekInternal,this.dayOfWeekOccurrenceInternal):o.DateTimeUtils.checkDayOfMonth(this.dayInternal,e))},t.prototype.checkInterval=function(e){return o.DateTimeUtils.getYearsDifference(this.start,e)%this.interval==0},t.prototype.calculatePointByInterval=function(e){var t=o.DateTimeUtils.getYearsDifference(this.start,e),n=Math.floor(t/this.interval)*this.interval,r=this.start.getFullYear()+n,i=this.getSpecDayInMonth(r,this.monthInternal);return o.DateTimeUtils.compareDates(i,e)>=0&&(r+=this.interval,i=this.getSpecDayInMonth(r,this.monthInternal)),i},t.prototype.calculateNearestPoint=function(e){var t=e.getFullYear(),n=this.getSpecDayInMonth(t,this.monthInternal);return o.DateTimeUtils.compareDates(n,e)>=0&&(n=this.getSpecDayInMonth(++t,this.monthInternal)),n},Object.defineProperty(t.prototype,\"month\",{get:function(){return this.monthInternal},set:function(e){this.monthInternal=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"day\",{get:function(){return this.dayInternal},set:function(e){this.dayInternal=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"dayOfWeek\",{get:function(){return this.dayOfWeekInternal},set:function(e){this.dayOfWeekInternal=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"dayOfWeekOccurrence\",{get:function(){return this.dayOfWeekOccurrenceInternal},set:function(e){this.dayOfWeekOccurrenceInternal=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"calculateByDayOfWeek\",{get:function(){return this._calculateByDayOfWeek},set:function(e){this._calculateByDayOfWeek=e},enumerable:!1,configurable:!0}),t}(i.RecurrenceBase);t.Yearly=s},2753:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Time=void 0;var n=function(){function e(e,t,n,r){void 0===e&&(e=0),void 0===t&&(t=0),void 0===n&&(n=0),void 0===r&&(r=0),this._hour=0,this._min=0,this._sec=0,this._msec=0,this._fullmsec=0,this.hour=e,this.min=t,this.sec=n,this.msec=r}return Object.defineProperty(e.prototype,\"hour\",{get:function(){return this._hour},set:function(e){e>=0&&e<24&&(this._hour=e,this.updateFullMilleconds())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"min\",{get:function(){return this._min},set:function(e){e>=0&&e<60&&(this._min=e,this.updateFullMilleconds())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"sec\",{get:function(){return this._sec},set:function(e){e>=0&&e<60&&(this._sec=e,this.updateFullMilleconds())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"msec\",{get:function(){return this._msec},set:function(e){e>=0&&e<1e3&&(this._msec=e,this.updateFullMilleconds())},enumerable:!1,configurable:!0}),e.prototype.updateFullMilleconds=function(){var e=60*(60*this._hour+this._min)+this._sec;this._fullmsec=1e3*e+this._msec},e.prototype.getTimeInMilleconds=function(){return this._fullmsec},e}();t.Time=n},9331:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TimeRange=void 0;var r=n(7880),i=function(){function e(e,t){r.DateTimeUtils.caclTimeDifference(e,t)>=0?(this._start=e,this._end=t):(this._start=t,this._end=e)}return Object.defineProperty(e.prototype,\"start\",{get:function(){return this._start},set:function(e){e&&r.DateTimeUtils.caclTimeDifference(e,this._end)>=0&&(this._start=e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"end\",{get:function(){return this._end},set:function(e){e&&r.DateTimeUtils.caclTimeDifference(this._start,e)>=0&&(this._end=e)},enumerable:!1,configurable:!0}),e.prototype.isTimeInRange=function(e){return r.DateTimeUtils.caclTimeDifference(this._start,e)>=0&&r.DateTimeUtils.caclTimeDifference(e,this._end)>=0},e.prototype.hasIntersect=function(e){return this.isTimeInRange(e.start)||this.isTimeInRange(e.end)||e.isTimeInRange(this.start)||e.isTimeInRange(this.end)},e.prototype.concatWith=function(e){return!!this.hasIntersect(e)&&(this.start=r.DateTimeUtils.getMinTime(this.start,e.start),this.end=r.DateTimeUtils.getMaxTime(this.end,e.end),!0)},e}();t.TimeRange=i},21:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.WorkingTimeCalculator=void 0;var r=n(4432),i=n(1805),o=n(7880),s=function(){function e(e,t){this._workingRules=new r.WorkingDayRuleCollection,this._workDayList=new Array,this._calculationRange=e,this._workingRules.importFromObject(t)}return e.prototype.calculateWorkDayList=function(){if(this._calculationRange){this.clearList();for(var e=this._workingRules.items,t=0;t0&&o.DateTimeUtils.compareDates(t[t.length-1].end,r.start)<2?t[t.length-1].end=r.end:t.push(r)}return t},e.prototype.getNoWorkTimeRangesFromDay=function(e){return e.noWorkingIntervals.map((function(t){return o.DateTimeUtils.convertTimeRangeToDateRange(t,e.dayNumber)}))},Object.defineProperty(e.prototype,\"noWorkingIntervals\",{get:function(){return this._noWorkingIntervals||(this._noWorkingIntervals=this.calculateNoWorkTimeIntervals()),this._noWorkingIntervals.slice()},enumerable:!1,configurable:!0}),e.prototype.updateRange=function(e){this._calculationRange=e,this.invalidate()},e.prototype.invalidate=function(){this._noWorkingIntervals=null,this.clearList()},e}();t.WorkingTimeCalculator=s},8401:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.WorkingTimeRule=void 0;var r=n(655),i=n(6124),o=n(2491),s=n(7880),a=n(9612),l=n(4902),c=function(e){function t(t,n,r){void 0===t&&(t=null),void 0===n&&(n=!0),void 0===r&&(r=null);var i=e.call(this)||this;return i.isWorkDay=!0,i.workTimeRanges=new Array,i.recurrence=t,i.isWorkDay=n,r&&i.workTimeRanges.concat(r),i}return r.__extends(t,e),t.prototype.assignFromObject=function(t){if((0,o.isDefined)(t)){e.prototype.assignFromObject.call(this,t),this.recurrence=a.RecurrenceFactory.createRecurrenceByType(t.recurrenceType)||new l.Daily,(0,o.isDefined)(t.recurrence)&&this.recurrence.assignFromObject(t.recurrence),(0,o.isDefined)(t.isWorkDay)&&(this.isWorkDay=!!t.isWorkDay);var n=s.DateTimeUtils.convertToTimeRanges(t.workTimeRanges);n&&(this.workTimeRanges=n)}},t}(i.DataObject);t.WorkingTimeRule=c},6626:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.GanttViewApi=void 0;var n=function(){function e(e){this.maxZoom=3,this._ganttView=e}return Object.defineProperty(e.prototype,\"currentZoom\",{get:function(){return this._ganttView.currentZoom},set:function(e){this._ganttView.currentZoom=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"renderHelper\",{get:function(){return this._ganttView.renderHelper},enumerable:!1,configurable:!0}),e.prototype.getTaskAreaContainerWidth=function(){return this.renderHelper.getTaskAreaContainerWidth()},e.prototype.updateTickSizeWidth=function(){this._ganttView.updateTickSizeWidth()},Object.defineProperty(e.prototype,\"settings\",{get:function(){return this._ganttView.settings},enumerable:!1,configurable:!0}),e.prototype.resetAndUpdate=function(){this._ganttView.resetAndUpdate()},e.prototype.scrollToDateCore=function(e,t){this._ganttView.scrollToDateCore(e,t)},Object.defineProperty(e.prototype,\"ganttOwner\",{get:function(){return this._ganttView.ganttOwner},enumerable:!1,configurable:!0}),e.prototype.scrollLeftByViewType=function(){this._ganttView.scrollLeftByViewType()},Object.defineProperty(e.prototype,\"dataRange\",{get:function(){return this._ganttView.dataRange},enumerable:!1,configurable:!0}),e.prototype.calculateAutoViewType=function(e,t){return this._ganttView.calculateAutoViewType(e,t)},e.prototype.zoomIn=function(e){void 0===e&&(e=this.getTaskAreaContainerWidth()/2);var t=this.renderHelper.getTargetDateByPos(e),n=this.settings.viewTypeRange.min;this.currentZoomn&&(this.currentZoom=1,this.setViewType(this.settings.viewType-1,!1)),this.scrollToDateCore(t,-e)},e.prototype.zoomOut=function(e){void 0===e&&(e=this.renderHelper.getTaskAreaContainerWidth()/2);var t=this.renderHelper.getTargetDateByPos(e),n=this.settings.viewTypeRange.max;this.currentZoom>1?(this.currentZoom--,this.updateTickSizeWidth(),this.resetAndUpdate()):this.settings.viewTypei?this.setViewType(n):r{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskEditController=void 0;var r=n(2449),i=n(858),o=n(6907),s=n(9279),a=n(1886),l=n(9080),c=n(9201),u=function(){function e(e){this.showInfoDelay=1e3,this.taskIndex=-1,this.successorIndex=-1,this.isEditingInProgress=!1,this.disableTaskEditBox=!1,this.isTaskEditBoxShown=!1,this.settings=e,this.createElements()}return Object.defineProperty(e.prototype,\"taskId\",{get:function(){return this.viewModel.items[this.taskIndex].task.internalId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"successorId\",{get:function(){return this.viewModel.items[this.successorIndex].task.internalId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"task\",{get:function(){return this.viewItem.task},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"viewItem\",{get:function(){return this.viewModel.items[this.taskIndex]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"renderHelper\",{get:function(){return this.settings.getRenderHelper()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"ganttSettings\",{get:function(){return this.settings.getGanttSettings()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"viewModel\",{get:function(){return this.settings.getViewModel()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"commandManager\",{get:function(){return this.settings.getCommandManager()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"updateTaskCommand\",{get:function(){return this.commandManager.updateTaskCommand},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"validationController\",{get:function(){return this.settings.getValidationController()},enumerable:!1,configurable:!0}),e.prototype.raiseTaskMoving=function(e,t,n,r){return this.settings.getModelManipulator().dispatcher.raiseTaskMoving(e,t,n,r)},Object.defineProperty(e.prototype,\"tooltip\",{get:function(){var e;return null!==(e=this._tooltip)&&void 0!==e||(this._tooltip=new a.TaskEditTooltip(this.baseElement,this.tooltipSettings,this.renderHelper.elementTextHelperCultureInfo)),this._tooltip.tooltipSettings=this.tooltipSettings,this._tooltip},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"tooltipSettings\",{get:function(){var e=this;return l.TooltipSettings.parse({getHeaderHeight:this.settings.getRenderHelper().header.clientHeight,getTaskProgressTooltipContentTemplate:this.ganttSettings.taskProgressTooltipContentTemplate,getTaskTimeTooltipContentTemplate:this.ganttSettings.taskTimeTooltipContentTemplate,getTaskTooltipContentTemplate:this.ganttSettings.taskTooltipContentTemplate,destroyTemplate:function(t){e.settings.destroyTemplate(t)},formatDate:function(t){return e.settings.formatDate(t)},getTaskAreaContainer:function(){return e.settings.getRenderHelper().taskAreaContainer}})},enumerable:!1,configurable:!0}),e.prototype.show=function(t){if(!this.isEditingInProgress&&!this.disableTaskEditBox){this.taskIndex=t,this.hide(),this.changeWrapInfo(),this.baseElement.className=e.CLASSNAMES.TASK_EDIT_BOX,this.displayDependency(),this.task.isMilestone()&&!this.viewItem.isCustom?this.baseElement.className=this.baseElement.className+\" milestone\":(this.isTaskUpdateAllowed()||(this.baseElement.className=this.baseElement.className+\" \"+e.CLASSNAMES.TASK_EDIT_HIDE_UPDATING),this.viewItem.isCustom&&this.baseElement.classList.add(e.CLASSNAMES.TASK_EDIT_BOX_CUSTOM));var n=this.settings.getGanttSettings().editing.taskHoverDelay||0;this.taskDateRange=new i.DateRange(this.task.start,this.task.end),this.displayTaskEditBox(n),this.displayProgressEdit(),this.displayStartEndEditElements()}},e.prototype.displayStartEndEditElements=function(){!this.task.isMilestone()&&this.isTaskUpdateAllowed()&&this.canUpdateTask()?(this.startEdit.style.display=\"block\",this.endEdit.style.display=\"block\"):(this.startEdit.style.display=\"none\",this.endEdit.style.display=\"none\")},e.prototype.displayProgressEdit=function(){!this.viewItem.isCustom&&this.canUpdateTask()&&this.isTaskUpdateAllowed()&&this.wrapInfo.size.width>this.wrapInfo.size.height?(this.progressEdit.style.display=\"block\",this.progressEdit.style.left=this.task.normalizedProgress/100*this.wrapInfo.size.width-this.progressEdit.offsetWidth/2+\"px\"):this.progressEdit.style.display=\"none\"},e.prototype.displayDependency=function(){this.ganttSettings.editing.enabled&&this.ganttSettings.editing.allowDependencyInsert&&this.ganttSettings.showDependencies||(this.baseElement.className=this.baseElement.className+\" hide-dependency\")},e.prototype.changeWrapInfo=function(){this.updateWrapInfo(),this.wrapInfo.assignPosition(this.baseElement),this.wrapInfo.assignSize(this.baseElement)},e.prototype.displayTaskEditBox=function(e){var t=this;void 0===e&&(e=0);var n=function(){t.renderHelper.taskArea.appendChild(t.baseElement),t.isTaskEditBoxShown=!0};e?this.timerId=setTimeout(n,e):n()},e.prototype.endEditing=function(){this.isEditingInProgress=!1,this.hide()},e.prototype.hide=function(){this.isTaskEditBoxShown=!1;var e=this.baseElement.parentNode;e&&e.removeChild(this.baseElement),this.tooltip.hide(),clearTimeout(this.timerId)},e.prototype.cancel=function(){clearTimeout(this.timerId)},e.prototype.showTaskInfo=function(e,t){void 0===t&&(t=500),this.timerId&&(t=this.showInfoDelay),this.tooltip.showInfo(this.task,e,t)},e.prototype.updateWrapInfo=function(){this.wrapInfo=this.getTaskWrapperElementInfo(this.taskIndex),this.wrapInfo.position.x--},e.prototype.isAllowedToConnectTasks=function(e){var t,n=this.viewModel.items[e];return this.validationController.canCreateDependency(this.taskId,null===(t=n.task)||void 0===t?void 0:t.internalId)},e.prototype.showDependencySuccessor=function(e){if(this.isAllowedToConnectTasks(e)){this.successorIndex=e;var t=this.getTaskWrapperElementInfo(e);t.assignPosition(this.dependencySuccessorBaseElement),t.assignSize(this.dependencySuccessorBaseElement),t.assignSize(this.dependencySuccessorFrame),this.renderHelper.taskArea.appendChild(this.dependencySuccessorBaseElement)}},e.prototype.hideDependencySuccessor=function(){var e=this.dependencySuccessorBaseElement.parentNode;e&&e.removeChild(this.dependencySuccessorBaseElement),this.successorIndex=-1},e.prototype.processProgress=function(e){if(this.isTaskUpdateAllowed()){this.isEditingInProgress=!0;var t=e.x-this.wrapInfo.position.x,n=0;e.x>this.wrapInfo.position.x&&(n=e.xthis.wrapInfo.position.x?e.x:this.wrapInfo.position.x,n=t-this.wrapInfo.position.x;this.baseElement.style.width=(n<1?0:n)+\"px\";var r=this.task.start,i=this.renderHelper.gridLayoutCalculator.getDateByPos(t);i.setSeconds(0),ir||n<1?this.taskDateRange.start.setTime(r.getTime()):this.taskDateRange.start=this.getCorrectedDate(this.task.start,i),this.tooltip.showTime(this.taskDateRange.start,r,o.DomUtils.getAbsolutePositionX(this.baseElement))}},e.prototype.confirmStart=function(){this.isTaskUpdateAllowed()&&(this.baseElement.className=e.CLASSNAMES.TASK_EDIT_BOX,this.isEditingInProgress=!1,this.updateTaskCommand.execute(this.taskId,{start:this.taskDateRange.start}),this.hide(),this.updateWrapInfo())},e.prototype.processMove=function(e){if(this.isTaskUpdateAllowed()&&this.isTaskEditBoxShown){this.baseElement.className=this.baseElement.className+\" move\";var t=this.baseElement.offsetLeft+e;this.baseElement.style.left=t+\"px\";var n=this.renderHelper.gridLayoutCalculator.getDateByPos(t);this.taskDateRange.start=this.getCorrectedDate(this.task.start,n);var r=c.DateUtils.getRangeMSPeriod(this.task.start,this.task.end);return this.taskDateRange.end=c.DateUtils.getDSTCorrectedTaskEnd(this.taskDateRange.start,r),this.isEditingInProgress=this.raiseTaskMoving(this.task,this.taskDateRange.start,this.taskDateRange.end,this.onTaskMovingCallback.bind(this)),this.isEditingInProgress&&this.tooltip.showTime(this.taskDateRange.start,this.taskDateRange.end,o.DomUtils.getAbsolutePositionX(this.baseElement)),this.isEditingInProgress}return!0},e.prototype.onTaskMovingCallback=function(e,t){if(this.taskDateRange.start!==e||this.taskDateRange.end!==t){var n=this.renderHelper.gridLayoutCalculator,r=n.getPosByDate(e),i=n.getPosByDate(t)-r;this.baseElement.style.left=r+\"px\",this.baseElement.style.width=(i<1?0:i)+\"px\",this.taskDateRange.start=e,this.taskDateRange.end=t}},e.prototype.confirmMove=function(){this.isTaskUpdateAllowed()&&(this.ganttSettings.editing.allowDependencyInsert||(this.baseElement.className=this.baseElement.className+\" hide-dependency\"),this.isEditingInProgress&&(this.baseElement.className=e.CLASSNAMES.TASK_EDIT_BOX,this.updateTaskCommand.execute(this.taskId,{start:this.taskDateRange.start,end:this.taskDateRange.end}),this.updateWrapInfo(),this.hide(),this.isEditingInProgress=!1))},e.prototype.getCorrectedDate=function(e,t){if(this.ganttSettings.viewType>r.ViewType.SixHours){var n=t.getFullYear(),i=t.getMonth(),o=t.getDate(),s=this.ganttSettings.viewType===r.ViewType.Days?t.getHours():e.getHours(),a=e.getMinutes(),l=e.getSeconds(),c=e.getMilliseconds();return new Date(n,i,o,s,a,l,c)}return t},e.prototype.startDependency=function(t){this.dependencyLine=document.createElement(\"DIV\"),this.dependencyLine.className=e.CLASSNAMES.TASK_EDIT_DEPENDENCY_LINE,this.renderHelper.taskArea.appendChild(this.dependencyLine),this.startPosition=t},e.prototype.processDependency=function(e){this.isEditingInProgress=!0,this.drawline(this.startPosition,e)},e.prototype.endDependency=function(e){this.isEditingInProgress=!1,null!=e&&this.commandManager.createDependencyCommand.execute(this.task.internalId,this.successorId,e);var t=this.dependencyLine.parentNode;t&&t.removeChild(this.dependencyLine),this.dependencyLine=null,this.hideDependencySuccessor(),this.hide()},e.prototype.selectDependency=function(e){this.ganttSettings.editing.allowDependencyDelete&&(this.dependencyId=e)},e.prototype.isDependencySelected=function(e){return this.dependencyId&&this.dependencyId===e},e.prototype.deleteSelectedDependency=function(){this.dependencyId&&this.commandManager.removeDependencyCommand.execute(this.dependencyId)},e.prototype.getTaskWrapperElementInfo=function(e){var t=this.renderHelper.gridLayoutCalculator,n=t.getTaskWrapperElementInfo(e);return n.size.width=t.getTaskWidth(e),n.size.height=t.getTaskHeight(e),n},e.prototype.createElements=function(){this.baseElement=document.createElement(\"DIV\"),this.baseFrame=document.createElement(\"DIV\"),this.baseFrame.className=e.CLASSNAMES.TASK_EDIT_FRAME,this.baseElement.appendChild(this.baseFrame),this.progressEdit=document.createElement(\"DIV\"),this.progressEdit.className=e.CLASSNAMES.TASK_EDIT_PROGRESS,this.baseFrame.appendChild(this.progressEdit),this.progressEdit.appendChild(document.createElement(\"DIV\")),this.dependencyFinish=document.createElement(\"DIV\"),this.dependencyFinish.classList.add(e.CLASSNAMES.TASK_EDIT_DEPENDENCY_RIGTH),s.Browser.TouchUI&&this.dependencyFinish.classList.add(e.CLASSNAMES.TASK_EDIT_TOUCH),this.baseFrame.appendChild(this.dependencyFinish),this.dependencyStart=document.createElement(\"DIV\"),this.dependencyStart.classList.add(e.CLASSNAMES.TASK_EDIT_DEPENDENCY_LEFT),s.Browser.TouchUI&&this.dependencyStart.classList.add(e.CLASSNAMES.TASK_EDIT_TOUCH),this.baseFrame.appendChild(this.dependencyStart),this.startEdit=document.createElement(\"DIV\"),this.startEdit.className=e.CLASSNAMES.TASK_EDIT_START,this.baseFrame.appendChild(this.startEdit),this.endEdit=document.createElement(\"DIV\"),this.endEdit.className=e.CLASSNAMES.TASK_EDIT_END,this.baseFrame.appendChild(this.endEdit),this.dependencySuccessorBaseElement=document.createElement(\"DIV\"),this.dependencySuccessorBaseElement.className=e.CLASSNAMES.TASK_EDIT_BOX_SUCCESSOR,this.dependencySuccessorFrame=document.createElement(\"DIV\"),this.dependencySuccessorFrame.className=e.CLASSNAMES.TASK_EDIT_FRAME_SUCCESSOR,this.dependencySuccessorBaseElement.appendChild(this.dependencySuccessorFrame),this.dependencySuccessorStart=document.createElement(\"DIV\"),this.dependencySuccessorStart.classList.add(e.CLASSNAMES.TASK_EDIT_SUCCESSOR_DEPENDENCY_RIGTH),s.Browser.TouchUI&&this.dependencySuccessorStart.classList.add(e.CLASSNAMES.TASK_EDIT_TOUCH),this.dependencySuccessorFrame.appendChild(this.dependencySuccessorStart),this.dependencySuccessorFinish=document.createElement(\"DIV\"),this.dependencySuccessorFinish.classList.add(e.CLASSNAMES.TASK_EDIT_SUCCESSOR_DEPENDENCY_LEFT),s.Browser.TouchUI&&this.dependencySuccessorFinish.classList.add(e.CLASSNAMES.TASK_EDIT_TOUCH),this.dependencySuccessorFrame.appendChild(this.dependencySuccessorFinish),this._tooltip=new a.TaskEditTooltip(this.baseElement,this.tooltipSettings,this.renderHelper.elementTextHelperCultureInfo),this.attachEvents()},e.prototype.attachEvents=function(){this.onMouseLeaveHandler=function(){this.isEditingInProgress||this.hide()}.bind(this),this.baseElement.addEventListener(\"mouseleave\",this.onMouseLeaveHandler)},e.prototype.drawline=function(e,t){if(e.x>t.x){var n=t;t=e,e=n}var r=Math.atan((e.y-t.y)/(t.x-e.x));r=-(r=180*r/Math.PI);var i=Math.sqrt((e.x-t.x)*(e.x-t.x)+(e.y-t.y)*(e.y-t.y));this.dependencyLine.style.left=e.x+\"px\",this.dependencyLine.style.top=e.y+\"px\",this.dependencyLine.style.width=i+\"px\",this.dependencyLine.style.transform=\"rotate(\"+r+\"deg)\"},e.prototype.canUpdateTask=function(){return!this.viewModel.isTaskToCalculateByChildren(this.task.internalId)},e.prototype.isTaskUpdateAllowed=function(){var e=this.ganttSettings.editing;return e.enabled&&e.allowTaskUpdate},e.prototype.detachEvents=function(){var e;null===(e=this.baseElement)||void 0===e||e.removeEventListener(\"mouseleave\",this.onMouseLeaveHandler)},e.CLASSNAMES={TASK_EDIT_BOX:\"dx-gantt-task-edit-wrapper\",TASK_EDIT_BOX_CUSTOM:\"dx-gantt-task-edit-wrapper-custom\",TASK_EDIT_FRAME:\"dx-gantt-task-edit-frame\",TASK_EDIT_PROGRESS:\"dx-gantt-task-edit-progress\",TASK_EDIT_DEPENDENCY_RIGTH:\"dx-gantt-task-edit-dependency-r\",TASK_EDIT_DEPENDENCY_LEFT:\"dx-gantt-task-edit-dependency-l\",TASK_EDIT_START:\"dx-gantt-task-edit-start\",TASK_EDIT_END:\"dx-gantt-task-edit-end\",TASK_EDIT_DEPENDENCY_LINE:\"dx-gantt-task-edit-dependency-line\",TASK_EDIT_BOX_SUCCESSOR:\"dx-gantt-task-edit-wrapper-successor\",TASK_EDIT_FRAME_SUCCESSOR:\"dx-gantt-task-edit-frame-successor\",TASK_EDIT_SUCCESSOR_DEPENDENCY_RIGTH:\"dx-gantt-task-edit-successor-dependency-r\",TASK_EDIT_SUCCESSOR_DEPENDENCY_LEFT:\"dx-gantt-task-edit-successor-dependency-l\",TASK_EDIT_TOUCH:\"dx-gantt-edit-touch\",TASK_EDIT_HIDE_UPDATING:\"hide-updating\"},e}();t.TaskEditController=u},1886:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskEditTooltip=void 0;var r=n(6907),i=function(){function e(e,t,n){this.parentElement=e,this.cultureInfo=n,this.tooltipSettings=t}return Object.defineProperty(e.prototype,\"baseElement\",{get:function(){return this._baseElement||this.createTooltipContainer(),this._baseElement},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"headerHeight\",{get:function(){return this.tooltipSettings.getHeaderHeight},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskAreaContainer\",{get:function(){return this.tooltipSettings.getTaskAreaContainer()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskTooltipContentTemplate\",{get:function(){return this.tooltipSettings.getTaskTooltipContentTemplate},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskProgressTooltipContentTemplate\",{get:function(){return this.tooltipSettings.getTaskProgressTooltipContentTemplate},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskTimeTooltipContentTemplate\",{get:function(){return this.tooltipSettings.getTaskTimeTooltipContentTemplate},enumerable:!1,configurable:!0}),e.prototype.destroyTemplate=function(e){this.tooltipSettings.destroyTemplate(e)},e.prototype.formatDate=function(e){return this.tooltipSettings.formatDate(e)},e.prototype.createTooltipContainer=function(){this._baseElement=document.createElement(\"DIV\"),this._baseElement.className=e.CLASSNAMES.TASK_EDIT_PROGRESS_STATUS,this.parentElement.appendChild(this._baseElement)},e.prototype.setDefaultTooltip=function(t){this.defaultTooltip=document.createElement(\"DIV\"),this.defaultTooltip.className=e.CLASSNAMES.TASK_EDIT_TOOLTIP_DEFAULT;var n=document.createElement(\"DIV\");n.className=e.CLASSNAMES.TASK_EDIT_TASK_TITLE;var r=document.createElement(\"SPAN\");if(n.appendChild(r),this.defaultTooltip.appendChild(n),r.innerText=t.title,this.defaultTooltip.appendChild(this.getTimeContent(t.start,t.end)),!isNaN(t.progress)){var i=document.createElement(\"DIV\");i.className=e.CLASSNAMES.TASK_EDIT_PROGRESS_STATUS_TIME;var o=document.createElement(\"SPAN\"),s=document.createElement(\"SPAN\");i.appendChild(o),i.appendChild(s),this.defaultTooltip.appendChild(i),o.innerText=(this.cultureInfo.progress?this.cultureInfo.progress:\"Progress\")+\": \",s.innerText=t.progress+\"%\"}this.baseElement.appendChild(this.defaultTooltip)},e.prototype.setDefaultProgressTooltip=function(t){this.defaultTooltip=document.createElement(\"DIV\"),this.defaultTooltip.className=e.CLASSNAMES.TASK_EDIT_TOOLTIP_DEFAULT,this.defaultTooltip.innerText=t+\"%\",this.baseElement.appendChild(this.defaultTooltip)},e.prototype.setDefaultTimeTooltip=function(t,n){this.defaultTooltip=document.createElement(\"DIV\"),this.defaultTooltip.className=e.CLASSNAMES.TASK_EDIT_TOOLTIP_DEFAULT,this.defaultTooltip.appendChild(this.getTimeContent(t,n)),this.baseElement.appendChild(this.defaultTooltip)},e.prototype.showInfo=function(e,t,n){var r=this;void 0===n&&(n=0);var i=this.taskTooltipContentTemplate;this.destroyTemplate(this.baseElement),i?i(this.baseElement,e,(function(){r.showTooltip(t,!1,n)})):(this.setDefaultTooltip(e),this.showTooltip(t,!1,n))},e.prototype.showProgress=function(e,t){var n=this,r=this.taskProgressTooltipContentTemplate;this.destroyTemplate(this.baseElement),r?r(this.baseElement,{progress:e},(function(){n.showTooltip(t)})):(this.setDefaultProgressTooltip(e),this.show(t))},e.prototype.showTime=function(e,t,n){var r=this,i=this.taskTimeTooltipContentTemplate;this.destroyTemplate(this.baseElement),i?i(this.baseElement,{start:e,end:t},(function(){r.showTooltip(n)})):(this.setDefaultTimeTooltip(e,t),this.show(n))},e.prototype.showTooltip=function(e,t,n){var r,i=this;if(void 0===t&&(t=!0),void 0===n&&(n=0),null===(r=this.baseElement)||void 0===r?void 0:r.innerHTML){var o=function(){i.show(e,t)};n?this.timerId=setTimeout(o,n):o()}},e.prototype.show=function(t,n){var r,i,o,s=this;void 0===n&&(n=!0),null===(r=this.defaultTooltip)||void 0===r||r.classList.remove(e.CLASSNAMES.TASK_EDIT_TOOLTIP_ARROW_AFTER),null===(i=this.defaultTooltip)||void 0===i||i.classList.remove(e.CLASSNAMES.TASK_EDIT_TOOLTIP_ARROW_BEFORE),this.baseElement.style.display=\"block\";var a=this.getLeftPosition(t),l=this.needToShowUnderParent(),c=this.getTopPosition(l),u=l?e.CLASSNAMES.TASK_EDIT_TOOLTIP_ARROW_AFTER:e.CLASSNAMES.TASK_EDIT_TOOLTIP_ARROW_BEFORE;null===(o=this.defaultTooltip)||void 0===o||o.classList.add(u),this.baseElement.style.left=a+\"px\",this.baseElement.style.top=c+\"px\",n&&(this.timerId&&clearTimeout(this.timerId),this.timerId=setTimeout((function(){s.hide()}),1500))},e.prototype.hide=function(){this.baseElement.style.display=\"none\",this.destroyTemplate(this.baseElement),clearTimeout(this.timerId)},e.prototype.getTimeContent=function(t,n){var r=document.createElement(\"TABLE\");r.className=e.CLASSNAMES.TASK_EDIT_PROGRESS_STATUS_TIME;var i=document.createElement(\"TBODY\");r.appendChild(i);var o=document.createElement(\"TR\"),s=document.createElement(\"TD\"),a=document.createElement(\"TD\"),l=document.createElement(\"TR\"),c=document.createElement(\"TD\"),u=document.createElement(\"TD\");return o.appendChild(s),o.appendChild(a),l.appendChild(c),l.appendChild(u),i.appendChild(o),i.appendChild(l),s.innerText=(this.cultureInfo.start?this.cultureInfo.start:\"Start\")+\": \",a.innerText=this.formatDate(t),c.innerText=(this.cultureInfo.end?this.cultureInfo.end:\"End\")+\": \",u.innerText=this.formatDate(n),r},e.prototype.getLeftPosition=function(t){var n=t-r.DomUtils.getAbsolutePositionX(this.parentElement)-2*e.defaultArrowHeight;if(this.taskAreaContainer){var i=r.DomUtils.getAbsolutePositionX(this.taskAreaContainer.getElement())+this.taskAreaContainer.getWidth(),o=t+this.baseElement.clientWidth-i;o>0&&(n-=o)}return n},e.prototype.getTopPosition=function(t){return t?this.parentElement.clientHeight+e.defaultArrowHeight:-this.baseElement.clientHeight-e.defaultArrowHeight},e.prototype.needToShowUnderParent=function(){var t,n=r.DomUtils.getAbsolutePositionY(this.parentElement)-this.headerHeight-r.DomUtils.getDocumentScrollTop()-e.defaultHeightOffset,i=(null===(t=this.taskAreaContainer)||void 0===t?void 0:t.scrollTop)||0,o=this.parentElement.offsetTop-i;return this.baseElement.clientHeight>n||this.baseElement.clientHeight>o},e.CLASSNAMES={TASK_EDIT_PROGRESS_STATUS:\"dx-gantt-task-edit-tooltip\",TASK_EDIT_TOOLTIP_DEFAULT:\"dx-gantt-task-edit-tooltip-default\",TASK_EDIT_TASK_TITLE:\"dx-gantt-task-title\",TASK_EDIT_PROGRESS_STATUS_TIME:\"dx-gantt-status-time\",TASK_EDIT_TOOLTIP_ARROW_BEFORE:\"dx-gantt-task-edit-tooltip-before\",TASK_EDIT_TOOLTIP_ARROW_AFTER:\"dx-gantt-task-edit-tooltip-after\"},e.defaultArrowHeight=5,e.defaultHeightOffset=15,e}();t.TaskEditTooltip=i},3336:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.GanttMovingHelper=void 0;var r=n(9279),i=n(3714),o=function(){function e(e){this.taskAreaContainer=e,this.movingInfo=null}return e.prototype.startMoving=function(e){this.movingInfo=this.calcMovingInfo(e),this.updateGanttAreaCursor(!0)},e.prototype.cancelMoving=function(){this.movingInfo=null},e.prototype.onMouseMove=function(e){this.move(e)},e.prototype.onMouseUp=function(e){this.cancelMoving(),this.updateGanttAreaCursor(!1)},e.prototype.move=function(e){this.updateScrollPosition(e)},e.prototype.updateScrollPosition=function(e){var t=Math.round(i.EvtUtils.getEventX(e)),n=Math.round(i.EvtUtils.getEventY(e)),r=t-this.movingInfo.eventX,o=n-this.movingInfo.eventY,s=r<0?-1:1,a=o<0?-1:1,l=s<0?this.movingInfo.maxRightDelta:this.movingInfo.maxLeftDelta,c=a<0?this.movingInfo.maxBottomDelta:this.movingInfo.maxTopDelta;Math.abs(r)>l&&(r=l*s),Math.abs(o)>c&&(o=c*a);var u=this.movingInfo.scrollLeft-r,d=this.movingInfo.scrollTop-o,p=this.taskAreaContainer;p.scrollLeft!==u&&(p.scrollLeft=u),p.scrollTop!==d&&(p.scrollTop=d)},e.prototype.calcMovingInfo=function(e){var t=this.taskAreaContainer;return{eventX:i.EvtUtils.getEventX(e),eventY:i.EvtUtils.getEventY(e),scrollLeft:t.scrollLeft,scrollTop:t.scrollTop,maxLeftDelta:t.scrollLeft,maxRightDelta:t.scrollWidth-t.scrollLeft-t.getElement().offsetWidth,maxTopDelta:t.scrollTop,maxBottomDelta:t.scrollHeight-t.scrollTop-t.getElement().offsetHeight}},e.prototype.updateGanttAreaCursor=function(e){var t=r.Browser.IE?\"move\":\"grabbing\";this.taskAreaContainer.getElement().style.cursor=e?t:\"default\"},e}();t.GanttMovingHelper=o},6958:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskAreaStateController=void 0;var r=n(8900),i=n(6907),o=n(3714),s=n(5098),a=n(2449),l=n(5376),c=n(4264),u=n(9155),d=n(125),p=n(1404),h=n(6591),f=n(2395),g=n(7295),y=function(){function e(e,t,n){var i=this;this.position=new r.Point(-1,-1),this._pointers={},this._listener=e,this._listener.setHandler(p.TaskAreaStateEventNames.STATE_EXIT,(function(){i.switchToDefaultState()})),this._listener.setHandler(p.TaskAreaStateEventNames.GET_POINTERS_INFO,(function(e){return i.getPointersInfo(e.triggerEvent)})),this._taskArea=t,this._cellSize=n,this.switchToDefaultState()}return e.prototype.onKeyDown=function(e){this._state.onKeyDown(e)},e.prototype.onScroll=function(e){this._state.onScroll(e)},e.prototype.onContextMenu=function(e){this._state.onContextMenu(e)},e.prototype.onMouseWheel=function(e){e.ctrlKey&&(e.preventDefault(),e.stopPropagation(),this.switchState(h.TaskAreaZoomState)),this._state.onMouseWheel(e)},Object.defineProperty(e.prototype,\"currentState\",{get:function(){return this._state},enumerable:!1,configurable:!0}),e.prototype.onTaskPointerEnter=function(e){this._state.onTaskPointerEnter(e)},e.prototype.onTaskAreaPointerLeave=function(e){this._state.onTaskAreaLeave(e)},e.prototype.onDocumentPointerCancel=function(e){this._clearPointerInfo(e)},e.prototype.onDocumentPointerDown=function(e){this._updatePinterInfo(e),this.toggleStateOnPointerDown(e),this._state.onDocumentPointerDown(e)},e.prototype.onDocumentPointerMove=function(e){this._updatePinterInfo(e),this.toggleStateOnPointerMove(e),this._state.onDocumentPointerMove(e)},e.prototype.onDocumentPointerUp=function(e){this._clearPointerInfo(e),this._state.onDocumentPointerUp(e)},e.prototype.onTaskTouchStart=function(e){this._state.onTaskTouchStart(e)},e.prototype.onTouchStart=function(e){this.toggleStateOnPointerDown(e),this._state.onTouchStart(e)},e.prototype.onTouchEnd=function(e){this._state.onTouchEnd(e)},e.prototype.onTouchMove=function(e){this.toggleStateOnPointerMove(e),this._state.onTouchMove(e)},e.prototype.onClick=function(e){this._state.onClick(e)},e.prototype.onDblClick=function(e){this._state.onDblClick(e)},e.prototype.onTaskAreaMouseLeave=function(e){this._state.onTaskAreaLeave(e)},e.prototype.onTaskElementHover=function(e){this._state.onTaskHover(e)},e.prototype.onTaskElementLeave=function(e){this._state.onTaskLeave(e)},e.prototype.onMouseUp=function(e){this._state.onMouseUp(e)},e.prototype.onMouseMove=function(e){this._state.onMouseMove(e)},e.prototype.onMouseDown=function(e){switch(this.getTaskAreaEventSource(e)){case a.TaskAreaEventSource.TaskArea:this.processMouseDownOnTaskArea(e);break;case a.TaskAreaEventSource.TaskEdit_Frame:this.switchState(g.TaskMoveState);break;case a.TaskAreaEventSource.TaskEdit_Progress:case a.TaskAreaEventSource.TaskEdit_Start:case a.TaskAreaEventSource.TaskEdit_End:this.switchState(f.TaskEditState);break;case a.TaskAreaEventSource.TaskEdit_DependencyStart:case a.TaskAreaEventSource.TaskEdit_DependencyFinish:this.switchState(c.TaskAreaDependencyState)}this._state.onMouseDown(e)},Object.defineProperty(e.prototype,\"taskArea\",{get:function(){return this._taskArea},enumerable:!1,configurable:!0}),e.prototype.switchToDefaultState=function(){this._state=new l.TaskAreaDefaultState(this._listener,this.taskArea,this._cellSize)},e.prototype.switchState=function(e){this._state instanceof e||(this._state&&this._state.finish(),this._state=new e(this._listener,this.taskArea,this._cellSize),this._state.start())},e.prototype.processMouseDownOnTaskArea=function(e){o.EvtUtils.isLeftButtonPressed(e)&&!u.TaskAreaDomHelper.isConnectorLine(e)&&this.switchState(d.TaskAreaScrollState)},e.prototype.toggleStateOnPointerDown=function(e){var t=this.toggleStateWhenMultiOrOutsideTouch(e);if(this.position=new r.Point(o.EvtUtils.getEventX(e),o.EvtUtils.getEventY(e)),!t&&this._canStartDrag(e))switch(this.getTaskAreaEventSource(e)){case a.TaskAreaEventSource.TaskEdit_DependencyStart:case a.TaskAreaEventSource.TaskEdit_DependencyFinish:this.switchState(c.TaskAreaDependencyState);break;case a.TaskAreaEventSource.TaskEdit_Progress:case a.TaskAreaEventSource.TaskEdit_Start:case a.TaskAreaEventSource.TaskEdit_End:this.switchState(f.TaskEditState)}},e.prototype.toggleStateOnPointerMove=function(e){var t=this.toggleStateWhenMultiOrOutsideTouch(e),n=Math.abs(this.position.x-o.EvtUtils.getEventX(e))>1||Math.abs(this.position.y-o.EvtUtils.getEventY(e))>1;if(!t&&n&&this._canStartDrag(e)&&this._state instanceof l.TaskAreaDefaultState)switch(this.getTaskAreaEventSource(e)){case a.TaskAreaEventSource.TaskArea:this.checkEventInTaskEditFrameArea(e)?this.switchState(g.TaskMoveState):this.switchState(d.TaskAreaScrollState);break;case a.TaskAreaEventSource.TaskEdit_Frame:this.isTaskUpdateDisabled()?this.switchState(d.TaskAreaScrollState):this.switchState(g.TaskMoveState);break;case a.TaskAreaEventSource.TaskEdit_Progress:case a.TaskAreaEventSource.TaskEdit_Start:case a.TaskAreaEventSource.TaskEdit_End:this.switchState(f.TaskEditState)}},e.prototype.toggleStateWhenMultiOrOutsideTouch=function(e){var t=this._getActivePointersCount(e),n=!this.isInTaskArea(e),r=t>=2||n;return t>2||n?this.switchState(l.TaskAreaDefaultState):2===t&&this.switchState(h.TaskAreaZoomState),r},e.prototype.checkEventInTaskEditFrameArea=function(e){var t,n,r=this.getTaskEditFrameElement();if(this.isTaskUpdateDisabled()||!r)return!1;var i=(null==e?void 0:e.clientX)||(null===(t=null==e?void 0:e.touches[0])||void 0===t?void 0:t.clientX),o=(null==e?void 0:e.clientY)||(null===(n=null==e?void 0:e.touches[0])||void 0===n?void 0:n.clientY),s=r.getBoundingClientRect();return i>=s.left&&i<=s.left+s.width&&o>=s.top&&o<=s.top+s.height},e.prototype.isTaskUpdateDisabled=function(){return\"false\"===this._taskArea.getAttribute(\"task-edit-enabled\")},e.prototype.isInTaskArea=function(e){return i.DomUtils.isItParent(this._taskArea,o.EvtUtils.getEventSource(e))},e.prototype.getTaskEditFrameElement=function(){return this._taskArea.getElementsByClassName(s.TaskEditController.CLASSNAMES.TASK_EDIT_FRAME)[0]},e.prototype._updatePinterInfo=function(e){var t=e.pointerId;this._pointers[t]={pageX:e.pageX,pageY:e.pageY,pointerType:e.pointerType}},e.prototype._clearPointerInfo=function(e){var t=e.pointerId;delete this._pointers[t]},e.prototype.isTouchEvent=function(e){return u.TaskAreaDomHelper.isTouchEvent(e)},e.prototype.isPointerEvent=function(e){return u.TaskAreaDomHelper.isPointerEvent(e)},e.prototype._getActivePointersCount=function(e){var t=this;return this.isTouchEvent(e)?e.touches.length:Object.keys(this._pointers).filter((function(n){return t._pointers[n].pointerType===e.pointerType})).length},e.prototype.getPointersInfo=function(e){var t=this,n=null==e?void 0:e.pointerType,r=Object.keys(this._pointers).map((function(e){return t._pointers[e]}));return n&&(r=r.filter((function(e){return e.pointerType===n}))),r},e.prototype._canStartDrag=function(e){return!(this._getActivePointersCount(e)>1)&&((!u.TaskAreaDomHelper.isMousePointer(e)||1===e.buttons)&&!u.TaskAreaDomHelper.isConnectorLine(e))},e.prototype.getTaskAreaEventSource=function(e){return u.TaskAreaDomHelper.getEventSource(o.EvtUtils.getEventSource(e))},e}();t.TaskAreaStateController=y},5376:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskAreaDefaultState=void 0;var r=n(655),i=n(3714),o=n(9155),s=n(5867),a=n(1404),l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.finish=function(){this.clearTimers(),this.raiseEvent(a.TaskAreaStateEventNames.CONTEXTMENU_HIDE)},t.prototype.onMouseDownInternal=function(e){this.onPointerDownBase(e)},t.prototype.onDocumentPointerDownInternal=function(e){this.onPointerDownBase(e)},t.prototype.onDocumentPointerUpInternal=function(e){this.onPointerUpBase(e)},t.prototype.onDocumentPointerMoveInternal=function(e){this.clearTimers()},t.prototype.onTouchStartInternal=function(e){this.onPointerDownBase(e)},t.prototype.onTouchEndInternal=function(e){this.onPointerUpBase(e)},t.prototype.onTouchMoveInternal=function(e){this.clearTimers()},t.prototype.onPointerDownBase=function(e){var n=this;e.preventDefault(),this._lastTouchRowIndex=this.getClickedRowIndex(e),(this.isPointerEvent(e)?o.TaskAreaDomHelper.isMousePointer(e):this.isMouseEvent(e))?this.changeSelectionOnTouchDown(e):(setTimeout((function(){o.TaskAreaDomHelper.isMousePointer(e)||n.raiseEvent(a.TaskAreaStateEventNames.CONTEXTMENU_HIDE,e),n.changeSelectionOnTouchDown(e)}),0),clearTimeout(this._contextMenuTimer),this._contextMenuTimer=setTimeout((function(){return n.showContextMenuOnTouchDown(e)}),t.defaultContextMenuTimeout))},t.prototype.onPointerUpBase=function(e){var n=this;if(clearTimeout(this._contextMenuTimer),e.preventDefault(),this.canToEmulateClick(e)){var r=this.getClickedRowIndex(e),i=new Date;if(this._lastEmulatedClickTime)i.getTime()-this._lastEmulatedClickTime.getTime(){Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskAreaDependencyState=t.dependencyMap=void 0;var r=n(655),i=n(8900),o=n(6907),s=n(3714),a=n(5950),l=n(2449),c=n(9155),u=n(5867),d=n(1404);t.dependencyMap=[],t.dependencyMap[l.TaskAreaEventSource.TaskEdit_DependencyStart]=[],t.dependencyMap[l.TaskAreaEventSource.TaskEdit_DependencyFinish]=[],t.dependencyMap[l.TaskAreaEventSource.TaskEdit_DependencyStart][l.TaskAreaEventSource.Successor_DependencyStart]=a.DependencyType.SS,t.dependencyMap[l.TaskAreaEventSource.TaskEdit_DependencyStart][l.TaskAreaEventSource.Successor_DependencyFinish]=a.DependencyType.SF,t.dependencyMap[l.TaskAreaEventSource.TaskEdit_DependencyFinish][l.TaskAreaEventSource.Successor_DependencyStart]=a.DependencyType.FS,t.dependencyMap[l.TaskAreaEventSource.TaskEdit_DependencyFinish][l.TaskAreaEventSource.Successor_DependencyFinish]=a.DependencyType.FF;var p=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(n,e),n.prototype.onMouseUp=function(e){this.onDependencyEndByMouse(e)},n.prototype.onMouseDownInternal=function(e){this.onDependencyStart(e)},n.prototype.onMouseMoveInternal=function(e){this.onDependencyMoveStep(e)},n.prototype.onTouchStartInternal=function(e){this.onDependencyStart(e)},n.prototype.onTouchEndInternal=function(e){this.onDependencyEndByTouch(e)},n.prototype.onTouchMoveInternal=function(e){this.onDependencyMoveStep(e)},n.prototype.onDocumentPointerDownInternal=function(e){this.onDependencyStart(e)},n.prototype.onDocumentPointerUpInternal=function(e){this.onDependencyEndByTouch(e)},n.prototype.onDocumentPointerMoveInternal=function(e){this.onDependencyMoveStep(e)},n.prototype.onDependencyStart=function(e){var t=s.EvtUtils.getEventSource(e);this.source=c.TaskAreaDomHelper.getEventSource(t);var n=this.getRelativePos(new i.Point(o.DomUtils.getAbsolutePositionX(t)+t.clientWidth/2,o.DomUtils.getAbsolutePositionY(t)+t.clientHeight/2));this.raiseEvent(d.TaskAreaStateEventNames.DEPENDENCY_START,e,null,{pos:n})},n.prototype.onDependencyMoveStep=function(e){e.preventDefault();var t=this.getRelativePos(new i.Point(s.EvtUtils.getEventX(e),s.EvtUtils.getEventY(e)));this.raiseEvent(d.TaskAreaStateEventNames.DEPENDENCY_PROCESS,e,this.getClickedRowIndex(e),{pos:t})},n.prototype.onDependencyEndByMouse=function(e){var n=c.TaskAreaDomHelper.getEventSource(s.EvtUtils.getEventSource(e)),r=n===l.TaskAreaEventSource.Successor_DependencyStart||n===l.TaskAreaEventSource.Successor_DependencyFinish?t.dependencyMap[this.source][n]:null;this.processEndDependency(e,r)},n.prototype.onDependencyEndByTouch=function(e){var n=this.raiseEvent(d.TaskAreaStateEventNames.GET_DEPENDENCY_POINTS,e),r=this.getRelativePos(n.successorStart),o=this.getRelativePos(n.successorFinish),a=this.getRelativePos(new i.Point(s.EvtUtils.getEventX(e),s.EvtUtils.getEventY(e))),c=this.isTouchNearby(a,r)?l.TaskAreaEventSource.Successor_DependencyStart:this.isTouchNearby(a,o)?l.TaskAreaEventSource.Successor_DependencyFinish:null,u=c===l.TaskAreaEventSource.Successor_DependencyStart||c===l.TaskAreaEventSource.Successor_DependencyFinish?t.dependencyMap[this.source][c]:null;this.processEndDependency(e,u)},n.prototype.onTaskAreaLeaveInternal=function(e){this.processEndDependency(e,null)},n.prototype.processEndDependency=function(e,t){this.raiseEvent(d.TaskAreaStateEventNames.DEPENDENCY_END,e,null,{type:t}),this.raiseEvent(d.TaskAreaStateEventNames.STATE_EXIT,e)},n.prototype.isTouchNearby=function(e,t){return Math.abs(t.x-e.x)<=20&&Math.abs(t.y-e.y)<=20},n}(u.TaskAreaStateBase);t.TaskAreaDependencyState=p},9155:(e,t,n)=>{var r;Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskAreaDomHelper=void 0;var i=n(6907),o=n(3714),s=n(5098),a=n(2449),l=n(1855),c=function(){function e(){}return e.getEventSource=function(t){var n,r=(t.nodeType===(null===(n=null===window||void 0===window?void 0:window.Node)||void 0===n?void 0:n.ELEMENT_NODE)?t:t.parentNode).classList[0];return e.classToSource[r]||a.TaskAreaEventSource.TaskArea},e.isConnectorLine=function(e){var t=o.EvtUtils.getEventSource(e);return i.DomUtils.hasClassName(t,l.GridLayoutCalculator.CLASSNAMES.CONNECTOR_HORIZONTAL)||i.DomUtils.hasClassName(t,l.GridLayoutCalculator.CLASSNAMES.CONNECTOR_VERTICAL)},e.isTaskElement=function(t){var n=o.EvtUtils.getEventSource(t),r=e.classToSource[n.classList[0]];return r===a.TaskAreaEventSource.TaskEdit_Frame||r===a.TaskAreaEventSource.TaskEdit_Progress||r===a.TaskAreaEventSource.TaskEdit_Start||r===a.TaskAreaEventSource.TaskEdit_End||r===a.TaskAreaEventSource.TaskEdit_DependencyStart||r===a.TaskAreaEventSource.TaskEdit_DependencyFinish},e.isMouseEvent=function(e){return e instanceof MouseEvent},e.isTouchEvent=function(e){return window.TouchEvent&&e instanceof TouchEvent},e.isPointerEvent=function(e){return window.PointerEvent&&e instanceof PointerEvent},e.isMousePointer=function(e){return this.isPointerEvent(e)&&\"mouse\"===e.pointerType},e.classToSource=((r={})[s.TaskEditController.CLASSNAMES.TASK_EDIT_PROGRESS]=a.TaskAreaEventSource.TaskEdit_Progress,r[s.TaskEditController.CLASSNAMES.TASK_EDIT_START]=a.TaskAreaEventSource.TaskEdit_Start,r[s.TaskEditController.CLASSNAMES.TASK_EDIT_END]=a.TaskAreaEventSource.TaskEdit_End,r[s.TaskEditController.CLASSNAMES.TASK_EDIT_FRAME]=a.TaskAreaEventSource.TaskEdit_Frame,r[s.TaskEditController.CLASSNAMES.TASK_EDIT_DEPENDENCY_RIGTH]=a.TaskAreaEventSource.TaskEdit_DependencyStart,r[s.TaskEditController.CLASSNAMES.TASK_EDIT_DEPENDENCY_LEFT]=a.TaskAreaEventSource.TaskEdit_DependencyFinish,r[s.TaskEditController.CLASSNAMES.TASK_EDIT_SUCCESSOR_DEPENDENCY_RIGTH]=a.TaskAreaEventSource.Successor_DependencyStart,r[s.TaskEditController.CLASSNAMES.TASK_EDIT_SUCCESSOR_DEPENDENCY_LEFT]=a.TaskAreaEventSource.Successor_DependencyFinish,r),e}();t.TaskAreaDomHelper=c},125:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskAreaScrollState=void 0;var r=n(655),i=n(5867),o=n(1404),s=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._isStarted=!1,t}return r.__extends(t,e),t.prototype.finish=function(){this.raiseEvent(o.TaskAreaStateEventNames.TASK_AREA_END_MOVE,null)},t.prototype.onMouseUp=function(e){this.onEnd(e)},t.prototype.onMouseDownInternal=function(e){this.onBeforeStart(e)},t.prototype.onMouseMoveInternal=function(e){this.onMove(e)},t.prototype.onDocumentPointerUpInternal=function(e){this.onEnd(e)},t.prototype.onDocumentPointerMoveInternal=function(e){this.onMoveByPointer(e)},t.prototype.onTouchEndInternal=function(e){this.onEnd(e)},t.prototype.onTouchMoveInternal=function(e){this.onMoveByPointer(e)},t.prototype.onBeforeStart=function(e){e.preventDefault(),this.raiseDependencySelection(e,null),this.raiseEvent(o.TaskAreaStateEventNames.TASK_EDIT_END,e),this.raiseEvent(o.TaskAreaStateEventNames.TASK_AREA_START_MOVE,e),this._isStarted=!0},t.prototype.onMoveByPointer=function(e){this._isStarted?this.onMove(e):this.onBeforeStart(e)},t.prototype.onMove=function(e){e.preventDefault(),this.raiseEvent(o.TaskAreaStateEventNames.TASK_AREA_PROCESS_MOVE,e)},t.prototype.onEnd=function(e){e.preventDefault(),this.raiseEvent(o.TaskAreaStateEventNames.TASK_AREA_END_MOVE,e),this.raiseEvent(o.TaskAreaStateEventNames.STATE_EXIT,e),this._isStarted=!1},t}(i.TaskAreaStateBase);t.TaskAreaScrollState=s},5867:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskAreaStateBase=void 0;var r=n(9279),i=n(8900),o=n(6907),s=n(3714),a=n(2153),l=n(3461),c=n(9155),u=n(1404),d=function(){function e(e,t,n){this.position=new i.Point(-1,-1),this.isCursorInArea=!1,this._listener=e,this._taskArea=t,this._cellSize=n}return e.prototype.start=function(){},e.prototype.finish=function(){},e.prototype.isTouchEvent=function(e){return c.TaskAreaDomHelper.isTouchEvent(e)},e.prototype.isPointerEvent=function(e){return c.TaskAreaDomHelper.isPointerEvent(e)},e.prototype.isMouseEvent=function(e){return c.TaskAreaDomHelper.isMouseEvent(e)},e.prototype.onMouseWheel=function(e){},e.prototype.onScroll=function(e){this.raiseEvent(u.TaskAreaStateEventNames.TASK_AREA_SCROLL)},e.prototype.onKeyDown=function(e){this.isCursorInArea&&this.raiseEvent(u.TaskAreaStateEventNames.TASK_AREA_KEY_DOWN,e,null,{code:this.getShortcutCode(e)})},e.prototype.onContextMenu=function(e){var t=this.getClickedRowIndex(e),n=c.TaskAreaDomHelper.isConnectorLine(e);n||this.raiseTaskSelection(e,t),e.stopPropagation(),e.preventDefault(),r.Browser.WebKitFamily&&(e.returnValue=!1),this.raiseEvent(u.TaskAreaStateEventNames.CONTEXTMENU_SHOW,e,t,{type:n?\"dependency\":\"task\"})},e.prototype.onTaskPointerEnter=function(e){this.onTaskPointerEnterBase(e)},e.prototype.onDocumentPointerMove=function(e){this.processPointerMove(e)},e.prototype.onDocumentPointerDown=function(e){this.processPointerDown(e)},e.prototype.onDocumentPointerUp=function(e){this.processPointerUp(e)},e.prototype.onTaskTouchStart=function(e){this.onTaskPointerEnterBase(e)},e.prototype.onTouchMove=function(e){this.processPointerMove(e)},e.prototype.onTouchStart=function(e){this.processPointerDown(e)},e.prototype.onTouchEnd=function(e){this.processPointerUp(e)},e.prototype.onMouseDown=function(e){this.processPointerDown(e)},e.prototype.onMouseUp=function(e){},e.prototype.onMouseMove=function(e){this.processPointerMove(e)},e.prototype.onTaskHover=function(e){this.onTaskPointerEnterBase(e)},e.prototype.onTaskLeave=function(e){this.raiseEvent(u.TaskAreaStateEventNames.TASK_LEAVE,e,this.getClickedRowIndex(e))},e.prototype.onClick=function(e){var t=this.getClickedRowIndex(e);this.raiseTaskSelection(e,t),this.raiseEvent(u.TaskAreaStateEventNames.TASK_AREA_CLICK,e,t)},e.prototype.onDblClick=function(e){e.preventDefault(),this.raiseEvent(u.TaskAreaStateEventNames.TASK_AREA_DBLCLICK,e,this.getClickedRowIndex(e))},e.prototype.onTaskAreaLeave=function(e){(!this.isPointerEvent(e)||c.TaskAreaDomHelper.isMousePointer(e))&&(this.isCursorInArea=!1,this.raiseEvent(u.TaskAreaStateEventNames.TASK_EDIT_END,e)),this.onTaskAreaLeaveInternal(e)},e.prototype.onTaskPointerEnterBase=function(e){this.isTouchEvent(e)||this.isPointerEvent(e)||e.preventDefault(),this.raiseEvent(u.TaskAreaStateEventNames.TASK_EDIT_START,e,this.getClickedRowIndex(e))},e.prototype.processPointerDown=function(e){var t=this.isTouchEvent(e),n=this.isPointerEvent(e);(t||n)&&this.checkAndProcessTouchOutsideArea(e)||(this.position=new i.Point(s.EvtUtils.getEventX(e),s.EvtUtils.getEventY(e)),(t||n)&&e.preventDefault(),t?this.onTouchStartInternal(e):n?this.onDocumentPointerDownInternal(e):this.onMouseDownInternal(e))},e.prototype.processPointerMove=function(e){var t,n=this.isTouchEvent(e),r=this.isPointerEvent(e);null!==(t=this.position)&&void 0!==t||(this.position=new i.Point(s.EvtUtils.getEventX(e),s.EvtUtils.getEventY(e)));var o=Math.abs(this.position.x-s.EvtUtils.getEventX(e))>2||Math.abs(this.position.y-s.EvtUtils.getEventY(e))>2;!((n||r)&&this.checkAndProcessTouchOutsideArea(e))&&o&&((n||r)&&e.preventDefault(),this.isTouchEvent(e)?this.onTouchMoveInternal(e):this.isPointerEvent(e)?this.onDocumentPointerMoveInternal(e):(this.isCursorInArea=!0,this.onMouseMoveInternal(e)))},e.prototype.processPointerUp=function(e){this.checkAndProcessTouchOutsideArea(e)||(e.preventDefault(),this.isTouchEvent(e)?this.onTouchEndInternal(e):this.onDocumentPointerUpInternal(e))},e.prototype.onMouseDownInternal=function(e){},e.prototype.onMouseMoveInternal=function(e){},e.prototype.onDocumentPointerUpInternal=function(e){},e.prototype.onDocumentPointerDownInternal=function(e){},e.prototype.onDocumentPointerMoveInternal=function(e){},e.prototype.onTouchStartInternal=function(e){},e.prototype.onTouchEndInternal=function(e){},e.prototype.onTouchMoveInternal=function(e){},e.prototype.onTaskAreaLeaveInternal=function(e){},e.prototype.checkAndProcessTouchOutsideArea=function(e){var t=!this.isInTaskArea(e);return t&&this.raiseEvent(u.TaskAreaStateEventNames.TASK_EDIT_END,e),this.isCursorInArea=!t,t},e.prototype.raiseEvent=function(e,t,n,r){var i=new l.TaskAreaEventArgs(e,t,n,r),o=this._listener.getHandler(e);return o&&o(i)},e.prototype.raiseDependencySelection=function(e,t){this.raiseEvent(u.TaskAreaStateEventNames.DEPENDENCY_SELECTION,e,null,{key:t})},e.prototype.raiseTaskSelection=function(e,t){o.DomUtils.isItParent(this._taskArea,s.EvtUtils.getEventSource(e))&&!c.TaskAreaDomHelper.isConnectorLine(e)&&this.raiseEvent(u.TaskAreaStateEventNames.TASK_SELECTION,e,t)},e.prototype.getClickedRowIndex=function(e){if(!e)return-1;var t=s.EvtUtils.getEventY(e)-o.DomUtils.getAbsolutePositionY(this._taskArea);return Math.floor(t/this._cellSize.height)},e.prototype.getRelativePos=function(e){var t=o.DomUtils.getAbsolutePositionX(this._taskArea),n=o.DomUtils.getAbsolutePositionY(this._taskArea);return new i.Point(e.x-t,e.y-n)},e.prototype.isInTaskArea=function(e){return o.DomUtils.isItParent(this._taskArea,s.EvtUtils.getEventSource(e))},e.prototype.getShortcutCode=function(e){var t=a.KeyUtils.getEventKeyCode(e),n=0;return e.altKey&&(n|=a.ModifierKey.Alt),e.ctrlKey&&(n|=a.ModifierKey.Ctrl),e.shiftKey&&(n|=a.ModifierKey.Shift),e.metaKey&&r.Browser.MacOSPlatform&&(n|=a.ModifierKey.Meta),n|t},e}();t.TaskAreaStateBase=d},1404:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskAreaStateEventNames=void 0;var n=function(){function e(){}return e.TASK_AREA_CLICK=\"taskAreaClick\",e.TASK_AREA_DBLCLICK=\"taskAreaDblClick\",e.TASK_AREA_SCROLL=\"taskAreaScroll\",e.TASK_AREA_START_MOVE=\"taskAreaStartMove\",e.TASK_AREA_PROCESS_MOVE=\"taskAreaProcessMove\",e.TASK_AREA_END_MOVE=\"taskAreaEndMove\",e.TASK_AREA_ZOOM_IN=\"taskAreaZoomIn\",e.TASK_AREA_ZOOM_OUT=\"taskAreaZoomOut\",e.CONTEXTMENU_SHOW=\"contextMenuShow\",e.CONTEXTMENU_HIDE=\"contextMenuHide\",e.DEPENDENCY_SELECTION=\"dependencySelection\",e.STATE_EXIT=\"stateExit\",e.TASK_SELECTION=\"taskSelection\",e.TASK_EDIT_START=\"taskEditStart\",e.TASK_EDIT_END=\"taskEditEnd\",e.TASK_LEAVE=\"taskLeave\",e.TASK_PROCESS_MOVE=\"taskProcessMove\",e.TASK_END_MOVE=\"taskEndMove\",e.TASK_PROCESS_PROGRESS=\"taskProcessProgress\",e.TASK_END_PROGRESS=\"taskEndProgress\",e.TASK_PROCESS_START=\"taskProcessStart\",e.TASK_CONFIRM_START=\"taskConfirmStart\",e.TASK_PROCESS_END=\"taskProcessEnd\",e.TASK_CONFIRM_END=\"taskConfirmEnd\",e.GET_DEPENDENCY_POINTS=\"getDependencyPoints\",e.DEPENDENCY_START=\"dependencyStart\",e.DEPENDENCY_PROCESS=\"dependencyProcess\",e.DEPENDENCY_END=\"dependencyEnd\",e.TASK_AREA_KEY_DOWN=\"taskAreaKeyDown\",e.GET_POINTERS_INFO=\"getPointersInfo\",e.GET_COORDINATES_REF_POINT=\"getCoordinatesRefPoint\",e}();t.TaskAreaStateEventNames=n},6591:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskAreaZoomState=void 0;var r=n(655),i=n(8900),o=n(3714),s=n(5596),a=n(5867),l=n(1404),c=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._isInZooming=!1,t}return r.__extends(t,e),t.prototype.onMouseWheel=function(e){e.ctrlKey&&(e.preventDefault(),e.stopPropagation(),this._isInZooming||this.processZoom(e,o.EvtUtils.getWheelDelta(e)>0,50))},t.prototype.onDocumentPointerUpInternal=function(e){this.onEndZoom(e)},t.prototype.onDocumentPointerMoveInternal=function(e){this.onTouchZoom(e)},t.prototype.onTouchEndInternal=function(e){this.onEndZoom(e)},t.prototype.onTouchMoveInternal=function(e){this.onTouchZoom(e)},t.prototype.onTouchZoom=function(e){var t;if(e.stopPropagation(),e.preventDefault(),!this._isInZooming){var n=this.getTouchDistance(e);null!==(t=this.prevDistance)&&void 0!==t||(this.prevDistance=n);var r=this.prevDistance-n;Math.abs(r)>3&&(this.processZoom(e,r>0,1e3),this.prevDistance=n)}},t.prototype.processZoom=function(e,t,n){var r=this;this._isInZooming=!0,setTimeout((function(){r._isInZooming=!1}),n);var i=t?l.TaskAreaStateEventNames.TASK_AREA_ZOOM_IN:l.TaskAreaStateEventNames.TASK_AREA_ZOOM_OUT;this.raiseEvent(i,e,null,{leftPos:this.getLeftPosition(e)})},t.prototype.onEndZoom=function(e){this.prevDistance=null,this.raiseEvent(l.TaskAreaStateEventNames.STATE_EXIT,e)},t.prototype.getTouchDistance=function(e){var t=this.GetTouchPoints(e);return this.getDistance(t[0],t[1])},t.prototype.GetTouchPoints=function(e){var t,n,r,o;if(this.isTouchEvent(e)){var s=e.touches;return[new i.Point(s[0].pageX,s[0].pageY),new i.Point(s[1].pageX,s[1].pageY)]}var a=this.raiseEvent(l.TaskAreaStateEventNames.GET_POINTERS_INFO,e);return[new i.Point(null===(t=a[0])||void 0===t?void 0:t.pageX,null===(n=a[0])||void 0===n?void 0:n.pageY),new i.Point(null===(r=a[1])||void 0===r?void 0:r.pageX,null===(o=a[1])||void 0===o?void 0:o.pageY)]},t.prototype.getDistance=function(e,t){return s.Metrics.euclideanDistance(e,t)},t.prototype.getLeftPosition=function(e){var t=0;return this.isTouchEvent(e)||this.isPointerEvent(e)?t=this.getZoomMiddlePoint(e).x:this.isMouseEvent(e)&&(t=this.getMouseZoomLeftPos(e)),t},t.prototype.getMouseZoomLeftPos=function(e){var t=this.raiseEvent(l.TaskAreaStateEventNames.GET_COORDINATES_REF_POINT);return o.EvtUtils.getEventX(e)-t.x},t.prototype.getZoomMiddlePoint=function(e){var t=this.raiseEvent(l.TaskAreaStateEventNames.GET_COORDINATES_REF_POINT),n=this.GetTouchPoints(e),r=this.convertScreenToChartCoordinates(n[0],t),o=this.convertScreenToChartCoordinates(n[1],t);return new i.Point((r.x+o.x)/2,(r.y+o.y)/2)},t.prototype.convertScreenToChartCoordinates=function(e,t){return new i.Point(e.x-t.x,e.y-t.y)},t}(a.TaskAreaStateBase);t.TaskAreaZoomState=c},6262:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskDragBaseState=void 0;var r=n(655),i=n(8900),o=n(3714),s=n(5867),a=n(1404),l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.onMouseDownInternal=function(e){this.onStart(e)},t.prototype.onMouseUp=function(e){this.onEnd(e)},t.prototype.onMouseMoveInternal=function(e){this.onDrag(e)},t.prototype.onTouchStartInternal=function(e){this.onStart(e)},t.prototype.onTouchEndInternal=function(e){this.onEnd(e)},t.prototype.onTouchMoveInternal=function(e){this.onDrag(e)},t.prototype.onDocumentPointerDownInternal=function(e){this.onStart(e)},t.prototype.onDocumentPointerUpInternal=function(e){this.onEnd(e)},t.prototype.onDocumentPointerMoveInternal=function(e){this.onDrag(e)},t.prototype.onStart=function(e){this.currentPosition=new i.Point(o.EvtUtils.getEventX(e),o.EvtUtils.getEventY(e)),this.raiseDependencySelection(e,null),this.onStartInternal(e)},t.prototype.onDrag=function(e){var t;e.preventDefault();var n=new i.Point(o.EvtUtils.getEventX(e),o.EvtUtils.getEventY(e));null!==(t=this.currentPosition)&&void 0!==t||(this.currentPosition=n),this.onDragInternal(n),this.currentPosition=n},t.prototype.onEnd=function(e){this.onEndInternal(e),this.raiseEvent(a.TaskAreaStateEventNames.STATE_EXIT,e)},t.prototype.onStartInternal=function(e){},t.prototype.onEndInternal=function(e){},t.prototype.onDragInternal=function(e){},t.prototype.finish=function(){this.raiseEvent(a.TaskAreaStateEventNames.TASK_EDIT_END)},t}(s.TaskAreaStateBase);t.TaskDragBaseState=l},2395:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskEditState=void 0;var r=n(655),i=n(3714),o=n(2449),s=n(9155),a=n(1404),l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.onStartInternal=function(e){var t;null!==(t=this._source)&&void 0!==t||(this._source=s.TaskAreaDomHelper.getEventSource(i.EvtUtils.getEventSource(e)))},t.prototype.onEndInternal=function(e){this.raiseEvent(this.getEventOnEndKey(),e)},t.prototype.onDragInternal=function(e){var t=this.getRelativePos(e);this.raiseEvent(this.getEventOnDragKey(),null,null,{position:t})},t.prototype.getEventOnDragKey=function(){switch(this._source){case o.TaskAreaEventSource.TaskEdit_Start:return a.TaskAreaStateEventNames.TASK_PROCESS_START;case o.TaskAreaEventSource.TaskEdit_End:return a.TaskAreaStateEventNames.TASK_PROCESS_END;case o.TaskAreaEventSource.TaskEdit_Progress:return a.TaskAreaStateEventNames.TASK_PROCESS_PROGRESS}},t.prototype.getEventOnEndKey=function(){switch(this._source){case o.TaskAreaEventSource.TaskEdit_Start:return a.TaskAreaStateEventNames.TASK_CONFIRM_START;case o.TaskAreaEventSource.TaskEdit_End:return a.TaskAreaStateEventNames.TASK_CONFIRM_END;case o.TaskAreaEventSource.TaskEdit_Progress:return a.TaskAreaStateEventNames.TASK_END_PROGRESS}},t}(n(6262).TaskDragBaseState);t.TaskEditState=l},7295:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskMoveState=void 0;var r=n(655),i=n(1404),o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.onEndInternal=function(e){this.raiseEvent(i.TaskAreaStateEventNames.TASK_END_MOVE,e)},t.prototype.onDragInternal=function(e){this.raiseEvent(i.TaskAreaStateEventNames.TASK_PROCESS_MOVE,null,null,{delta:e.x-this.currentPosition.x})||this.raiseEvent(i.TaskAreaStateEventNames.STATE_EXIT)},t}(n(6262).TaskDragBaseState);t.TaskMoveState=o},3461:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskAreaEventArgs=void 0;var r=n(2491),i=function(e,t,n,i){this.rowIndex=-1,this.info={},this.eventName=e,this.triggerEvent=t,(0,r.isDefined)(n)&&(this.rowIndex=n),i&&(this.info=i)};t.TaskAreaEventArgs=i},8269:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskAreaEventsListener=void 0;var r=n(8900),i=n(2491),o=n(6907),s=n(3714),a=n(2153),l=n(3336),c=n(1404),u=function(){function e(e){this._owner=e}return Object.defineProperty(e.prototype,\"taskEditController\",{get:function(){var e;return null===(e=this._owner)||void 0===e?void 0:e.taskEditController},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"renderHelper\",{get:function(){var e;return null===(e=this._owner)||void 0===e?void 0:e.renderHelper},enumerable:!1,configurable:!0}),e.prototype.getHandler=function(e){return this.handlers[e]},e.prototype.setHandler=function(e,t){this.handlers[e]=t},Object.defineProperty(e.prototype,\"handlers\",{get:function(){var e;return null!==(e=this._handlers)&&void 0!==e||(this._handlers=this.createTaskAreaEventHandlers()),this._handlers},enumerable:!1,configurable:!0}),e.prototype.createTaskAreaEventHandlers=function(){var e={};return e[c.TaskAreaStateEventNames.TASK_AREA_CLICK]=this.taskAreaClickHandler.bind(this),e[c.TaskAreaStateEventNames.TASK_AREA_DBLCLICK]=this.taskAreaDblClickHandler.bind(this),e[c.TaskAreaStateEventNames.TASK_AREA_SCROLL]=this.taskAreaScrollHandler.bind(this),e[c.TaskAreaStateEventNames.TASK_AREA_START_MOVE]=this.taskAreaStartMoveHandler.bind(this),e[c.TaskAreaStateEventNames.TASK_AREA_PROCESS_MOVE]=this.taskAreaProcessMoveHandler.bind(this),e[c.TaskAreaStateEventNames.TASK_AREA_END_MOVE]=this.taskAreaEndMoveHandler.bind(this),e[c.TaskAreaStateEventNames.TASK_AREA_ZOOM_IN]=this.taskAreaZoomInHandler.bind(this),e[c.TaskAreaStateEventNames.TASK_AREA_ZOOM_OUT]=this.taskAreaZoomOutHandler.bind(this),e[c.TaskAreaStateEventNames.CONTEXTMENU_SHOW]=this.taskAreaContextMenuShowHandler.bind(this),e[c.TaskAreaStateEventNames.CONTEXTMENU_HIDE]=this.taskAreaContextMenuHideHandler.bind(this),e[c.TaskAreaStateEventNames.TASK_SELECTION]=this.taskSelectionHandler.bind(this),e[c.TaskAreaStateEventNames.DEPENDENCY_SELECTION]=this.dependencySelectionHandler.bind(this),e[c.TaskAreaStateEventNames.TASK_EDIT_START]=this.taskEditStartHandler.bind(this),e[c.TaskAreaStateEventNames.TASK_EDIT_END]=this.taskEditEndHandler.bind(this),e[c.TaskAreaStateEventNames.TASK_LEAVE]=this.taskLeaveHandler.bind(this),e[c.TaskAreaStateEventNames.TASK_PROCESS_MOVE]=this.taskProcessMoveHandler.bind(this),e[c.TaskAreaStateEventNames.TASK_END_MOVE]=this.taskEndMoveHandler.bind(this),e[c.TaskAreaStateEventNames.TASK_PROCESS_PROGRESS]=this.taskProcessProgressHandler.bind(this),e[c.TaskAreaStateEventNames.TASK_END_PROGRESS]=this.taskEndProgressHandler.bind(this),e[c.TaskAreaStateEventNames.TASK_PROCESS_START]=this.taskProcessStartHandler.bind(this),e[c.TaskAreaStateEventNames.TASK_CONFIRM_START]=this.taskConfirmStartHandler.bind(this),e[c.TaskAreaStateEventNames.TASK_PROCESS_END]=this.taskProcessEndHandler.bind(this),e[c.TaskAreaStateEventNames.TASK_CONFIRM_END]=this.taskConfirmEndHandler.bind(this),e[c.TaskAreaStateEventNames.GET_DEPENDENCY_POINTS]=this.getDependencyPoints.bind(this),e[c.TaskAreaStateEventNames.DEPENDENCY_START]=this.dependencyStartHandler.bind(this),e[c.TaskAreaStateEventNames.DEPENDENCY_END]=this.dependencyEndHandler.bind(this),e[c.TaskAreaStateEventNames.DEPENDENCY_PROCESS]=this.dependencyProcessHandler.bind(this),e[c.TaskAreaStateEventNames.TASK_AREA_KEY_DOWN]=this.onTaskAreaKeyDown.bind(this),e[c.TaskAreaStateEventNames.GET_COORDINATES_REF_POINT]=this.getCoordinatesRefPoint.bind(this),e[c.TaskAreaStateEventNames.STATE_EXIT]=function(){},e},e.prototype.taskAreaClickHandler=function(e){return this._owner.onTaskAreaClick(e.rowIndex,e.triggerEvent)},e.prototype.taskAreaDblClickHandler=function(e){this._owner.onTaskAreaDblClick(e.rowIndex,e.triggerEvent)},e.prototype.taskSelectionHandler=function(e){this._owner.onTaskSelectionChanged(e.rowIndex,e.triggerEvent)},e.prototype.taskAreaContextMenuShowHandler=function(e){this._owner.onTaskAreaContextMenu(e.rowIndex,e.triggerEvent,e.info.type)},e.prototype.taskAreaContextMenuHideHandler=function(){this._owner.hidePopupMenu()},e.prototype.taskAreaScrollHandler=function(e){this._owner.updateView()},e.prototype.dependencySelectionHandler=function(e){var t=e.info.key,n=this.taskEditController.dependencyId;(t!==n||!t&&(0,i.isDefined)(n))&&this._owner.selectDependency(t)},Object.defineProperty(e.prototype,\"ganttMovingHelper\",{get:function(){var e;return null!==(e=this._ganttMovingHelper)&&void 0!==e||(this._ganttMovingHelper=new l.GanttMovingHelper(this._owner.renderHelper.taskAreaContainer)),this._ganttMovingHelper},enumerable:!1,configurable:!0}),e.prototype.taskAreaStartMoveHandler=function(e){this.ganttMovingHelper.startMoving(e.triggerEvent)},e.prototype.taskAreaProcessMoveHandler=function(e){this.ganttMovingHelper.movingInfo&&(this.ganttMovingHelper.onMouseMove(e.triggerEvent),e.triggerEvent.preventDefault())},e.prototype.taskAreaEndMoveHandler=function(e){this.ganttMovingHelper.onMouseUp(e.triggerEvent)},e.prototype.taskAreaZoomInHandler=function(e){this._owner.zoomIn(e.info.leftPos)},e.prototype.taskAreaZoomOutHandler=function(e){this._owner.zoomOut(e.info.leftPos)},e.prototype.getCoordinatesRefPoint=function(e){var t=o.DomUtils.getAbsolutePositionX(this.renderHelper.taskAreaContainer.getElement()),n=o.DomUtils.getAbsolutePositionY(this.renderHelper.taskAreaContainer.getElement());return new r.Point(t,n)},e.prototype.taskEditStartHandler=function(e){this.taskEditController.show(e.rowIndex),this.taskEditController.showTaskInfo(s.EvtUtils.getEventX(e.triggerEvent))},e.prototype.taskLeaveHandler=function(e){this.taskEditController.cancel()},e.prototype.taskEditEndHandler=function(e){this.taskEditController.endEditing()},e.prototype.taskEndMoveHandler=function(e){this.taskEditController.confirmMove()},e.prototype.taskProcessMoveHandler=function(e){var t;return this.taskEditController.processMove(null!==(t=e.info.delta)&&void 0!==t?t:0)},e.prototype.taskEndProgressHandler=function(e){this.taskEditController.confirmProgress()},e.prototype.taskProcessProgressHandler=function(e){this.taskEditController.processProgress(e.info.position)},e.prototype.taskProcessStartHandler=function(e){this.taskEditController.processStart(e.info.position)},e.prototype.taskConfirmStartHandler=function(e){this.taskEditController.confirmStart()},e.prototype.taskProcessEndHandler=function(e){this.taskEditController.processEnd(e.info.position)},e.prototype.taskConfirmEndHandler=function(e){this.taskEditController.confirmEnd()},e.prototype.getDependencyPoints=function(e){var t={};return t.successorStart=new r.Point(o.DomUtils.getAbsolutePositionX(this.taskEditController.dependencySuccessorStart)+this.taskEditController.dependencySuccessorStart.clientWidth/2,o.DomUtils.getAbsolutePositionY(this.taskEditController.dependencySuccessorStart)+this.taskEditController.dependencySuccessorStart.clientHeight/2),t.successorFinish=new r.Point(o.DomUtils.getAbsolutePositionX(this.taskEditController.dependencySuccessorFinish)+this.taskEditController.dependencySuccessorFinish.clientWidth/2,o.DomUtils.getAbsolutePositionY(this.taskEditController.dependencySuccessorFinish)+this.taskEditController.dependencySuccessorFinish.clientHeight/2),t},e.prototype.dependencyStartHandler=function(e){this.taskEditController.startDependency(e.info.pos)},e.prototype.dependencyEndHandler=function(e){this.taskEditController.endDependency(e.info.type)},e.prototype.dependencyProcessHandler=function(e){this.taskEditController.processDependency(e.info.pos),this._owner.viewModel.tasks.items[e.rowIndex]&&this.taskEditController.showDependencySuccessor(e.rowIndex)},e.prototype.onTaskAreaKeyDown=function(e){var t=e.info.code;t==(a.ModifierKey.Ctrl|a.KeyCode.Key_z)&&this._owner.history.undo(),t==(a.ModifierKey.Ctrl|a.KeyCode.Key_y)&&this._owner.history.redo(),t==a.KeyCode.Delete&&this.taskEditController.deleteSelectedDependency()},e}();t.TaskAreaEventsListener=u},3682:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskAreaManager=t.TOUCH_ACTION_NONE=void 0;var r=n(9279),i=n(6907),o=n(3714),s=n(6958);t.TOUCH_ACTION_NONE=\"dx-gantt-touch-action\";var a=function(){function e(e,t,n){this._eventListener=e,this._taskArea=t,this._cellSize=n,this.attachEvents()}return e.prototype.attachEvents=function(){window.PointerEvent?this.attachPointerEvents():r.Browser.TouchUI?this.attachTouchEvents():this.attachMouseEvents(),this.attachCommonEvents()},e.prototype.detachEvents=function(){window.PointerEvent?this.detachPointerEvents():r.Browser.TouchUI?this.detachTouchEvents():this.detachMouseEvents(),this.detachCommonEvents()},e.prototype.attachEventsOnTask=function(e){window.PointerEvent?null==e||e.addEventListener(\"pointerenter\",this.onTaskPointerEnterHandler):r.Browser.TouchUI?null==e||e.addEventListener(\"touchstart\",this.onTaskTouchStartHandler):(null==e||e.addEventListener(\"mouseenter\",this.onTaskMouseEnterHandler),null==e||e.addEventListener(\"mouseleave\",this.onTaskMouseLeaveHandler))},e.prototype.detachEventsOnTask=function(e){window.PointerEvent?null==e||e.removeEventListener(\"pointerenter\",this.onTaskPointerEnterHandler):r.Browser.TouchUI?null==e||e.removeEventListener(\"touchstart\",this.onTaskTouchStartHandler):(null==e||e.removeEventListener(\"mouseenter\",this.onTaskMouseEnterHandler),null==e||e.removeEventListener(\"mouseleave\",this.onTaskMouseLeaveHandler))},e.prototype.attachCommonEvents=function(){this.taskAreaAddEventListener(\"contextmenu\",this.onContextMenuHandler),this.taskAreaAddEventListener(o.EvtUtils.getMouseWheelEventName(),this.onMouseWheelHandler),this.taskAreaAddEventListener(\"scroll\",this.onScrollHandler),document.addEventListener(\"keydown\",this.onKeyDownHandler)},e.prototype.detachCommonEvents=function(){this.taskAreaRemoveEventListener(\"contextmenu\",this.onContextMenuHandler),this.taskAreaRemoveEventListener(o.EvtUtils.getMouseWheelEventName(),this.onMouseWheelHandler),this.taskAreaRemoveEventListener(\"scroll\",this.onScrollHandler),document.removeEventListener(\"keydown\",this.onKeyDownHandler)},e.prototype.attachPointerEvents=function(){i.DomUtils.addClassName(this.taskArea,t.TOUCH_ACTION_NONE),document.addEventListener(\"pointerdown\",this.onDocumentPointerDownHandler),document.addEventListener(\"pointerup\",this.onDocumentPointerUpHandler),document.addEventListener(\"pointermove\",this.onDocumentPointerMoveHandler),document.addEventListener(\"pointercancel\",this.onDocumentPointerCancelUpHandler),this.taskAreaAddEventListener(\"pointerleave\",this.onTaskAreaPointerLeaveHandler)},e.prototype.detachPointerEvents=function(){document.removeEventListener(\"pointerdown\",this.onDocumentPointerDownHandler),document.removeEventListener(\"pointerup\",this.onDocumentPointerUpHandler),document.removeEventListener(\"pointermove\",this.onDocumentPointerMoveHandler),document.removeEventListener(\"pointercancel \",this.onDocumentPointerCancelUpHandler),this.taskAreaRemoveEventListener(\"pointerleave\",this.onTaskAreaPointerLeaveHandler),i.DomUtils.removeClassName(this.taskArea,t.TOUCH_ACTION_NONE)},e.prototype.attachTouchEvents=function(){i.DomUtils.addClassName(this.taskArea,t.TOUCH_ACTION_NONE),document.addEventListener(\"touchstart\",this.onTouchStartHandler),document.addEventListener(\"touchend\",this.onTouchEndHandler),document.addEventListener(\"touchmove\",this.onTouchMoveHandler)},e.prototype.detachTouchEvents=function(){document.removeEventListener(\"touchstart\",this.onTouchStartHandler),document.removeEventListener(\"touchend\",this.onTouchEndHandler),document.removeEventListener(\"touchmove\",this.onTouchMoveHandler),i.DomUtils.removeClassName(this.taskArea,t.TOUCH_ACTION_NONE)},e.prototype.attachMouseEvents=function(){this.taskAreaAddEventListener(\"click\",this.onMouseClickHandler),this.taskAreaAddEventListener(\"dblclick\",this.onMouseDblClickHandler),this.taskAreaAddEventListener(\"mousedown\",this.onMouseDownHandler),this.taskAreaAddEventListener(\"mouseleave\",this.onTaskAreaMouseLeaveHandler),document.addEventListener(\"mousemove\",this.onMouseMoveHandler),document.addEventListener(\"mouseup\",this.onMouseUpHandler)},e.prototype.detachMouseEvents=function(){this.taskAreaRemoveEventListener(\"click\",this.onMouseClickHandler),this.taskAreaRemoveEventListener(\"dblclick\",this.onMouseDblClickHandler),this.taskAreaRemoveEventListener(\"mouseleave\",this.onTaskAreaMouseLeaveHandler),this.taskAreaRemoveEventListener(\"mousedown\",this.onMouseDownHandler),document.removeEventListener(\"mousemove\",this.onMouseMoveHandler),document.removeEventListener(\"mouseup\",this.onMouseUpHandler)},Object.defineProperty(e.prototype,\"stateController\",{get:function(){var e;return null!==(e=this._stateController)&&void 0!==e||(this._stateController=new s.TaskAreaStateController(this._eventListener,this._taskArea,this._cellSize)),this._stateController},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskArea\",{get:function(){return this._taskArea},enumerable:!1,configurable:!0}),e.prototype.taskAreaAddEventListener=function(e,t){this.taskArea.addEventListener(e,t)},e.prototype.taskAreaRemoveEventListener=function(e,t){this.taskArea.removeEventListener(e,t)},Object.defineProperty(e.prototype,\"onContextMenuHandler\",{get:function(){var e,t=this;return null!==(e=this._onContextMenuHandler)&&void 0!==e||(this._onContextMenuHandler=function(e){t.stateController.onContextMenu(e)}),this._onContextMenuHandler},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onMouseWheelHandler\",{get:function(){var e,t=this;return null!==(e=this._onMouseWheelHandler)&&void 0!==e||(this._onMouseWheelHandler=function(e){t.stateController.onMouseWheel(e)}),this._onMouseWheelHandler},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onScrollHandler\",{get:function(){var e,t=this;return null!==(e=this._onScrollHandler)&&void 0!==e||(this._onScrollHandler=function(e){t.stateController.onScroll(e)}),this._onScrollHandler},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onKeyDownHandler\",{get:function(){var e,t=this;return null!==(e=this._onKeyDownHandler)&&void 0!==e||(this._onKeyDownHandler=function(e){t.stateController.onKeyDown(e)}),this._onKeyDownHandler},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onTaskPointerEnterHandler\",{get:function(){var e,t=this;return null!==(e=this._onTaskPointerEnterHandler)&&void 0!==e||(this._onTaskPointerEnterHandler=function(e){t.stateController.onTaskPointerEnter(e)}),this._onTaskPointerEnterHandler},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onTaskAreaPointerLeaveHandler\",{get:function(){var e,t=this;return null!==(e=this._onTaskAreaPointerLeaveHandler)&&void 0!==e||(this._onTaskAreaPointerLeaveHandler=function(e){t.stateController.onTaskAreaPointerLeave(e)}),this._onTaskAreaPointerLeaveHandler},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onDocumentPointerDownHandler\",{get:function(){var e,t=this;return null!==(e=this._onDocumentPointerDownHandler)&&void 0!==e||(this._onDocumentPointerDownHandler=function(e){t.stateController.onDocumentPointerDown(e)}),this._onDocumentPointerDownHandler},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onDocumentPointerUpHandler\",{get:function(){var e,t=this;return null!==(e=this._onDocumentPointerUpHandler)&&void 0!==e||(this._onDocumentPointerUpHandler=function(e){t.stateController.onDocumentPointerUp(e)}),this._onDocumentPointerUpHandler},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onDocumentPointerCancelUpHandler\",{get:function(){var e,t=this;return null!==(e=this._onDocumentPointerCancelHandler)&&void 0!==e||(this._onDocumentPointerCancelHandler=function(e){t.stateController.onDocumentPointerCancel(e)}),this._onDocumentPointerCancelHandler},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onDocumentPointerMoveHandler\",{get:function(){var e,t=this;return null!==(e=this._onDocumentPointerMoveHandler)&&void 0!==e||(this._onDocumentPointerMoveHandler=function(e){t.stateController.onDocumentPointerMove(e)}),this._onDocumentPointerMoveHandler},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onTouchStartHandler\",{get:function(){var e,t=this;return null!==(e=this._onTouchStartHandler)&&void 0!==e||(this._onTouchStartHandler=function(e){t.stateController.onTouchStart(e)}),this._onTouchStartHandler},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onTouchEndHandler\",{get:function(){var e,t=this;return null!==(e=this._onTouchEndHandler)&&void 0!==e||(this._onTouchEndHandler=function(e){t.stateController.onTouchEnd(e)}),this._onTouchEndHandler},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onTouchMoveHandler\",{get:function(){var e,t=this;return null!==(e=this._onTouchMoveHandler)&&void 0!==e||(this._onTouchMoveHandler=function(e){t.stateController.onTouchMove(e)}),this._onTouchMoveHandler},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onTaskTouchStartHandler\",{get:function(){var e,t=this;return null!==(e=this._onTaskTouchStartHandler)&&void 0!==e||(this._onTaskTouchStartHandler=function(e){t.stateController.onTaskTouchStart(e)}),this._onTaskTouchStartHandler},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onMouseClickHandler\",{get:function(){var e,t=this;return null!==(e=this._onMouseClickHandler)&&void 0!==e||(this._onMouseClickHandler=function(e){t.stateController.onClick(e)}),this._onMouseClickHandler},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onMouseDblClickHandler\",{get:function(){var e,t=this;return null!==(e=this._onMouseDblClickHandler)&&void 0!==e||(this._onMouseDblClickHandler=function(e){t.stateController.onDblClick(e)}),this._onMouseDblClickHandler},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onMouseDownHandler\",{get:function(){var e,t=this;return null!==(e=this._onMouseDownHandler)&&void 0!==e||(this._onMouseDownHandler=function(e){t.stateController.onMouseDown(e)}),this._onMouseDownHandler},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onTaskAreaMouseLeaveHandler\",{get:function(){var e,t=this;return null!==(e=this._onTaskAreaMouseLeaveHandler)&&void 0!==e||(this._onTaskAreaMouseLeaveHandler=function(e){t.stateController.onTaskAreaMouseLeave(e)}),this._onTaskAreaMouseLeaveHandler},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onMouseMoveHandler\",{get:function(){var e,t=this;return null!==(e=this._onMouseMoveHandler)&&void 0!==e||(this._onMouseMoveHandler=function(e){t.stateController.onMouseMove(e)}),this._onMouseMoveHandler},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onMouseUpHandler\",{get:function(){var e,t=this;return null!==(e=this._onMouseUpHandler)&&void 0!==e||(this._onMouseUpHandler=function(e){t.stateController.onMouseUp(e)}),this._onMouseUpHandler},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onTaskMouseEnterHandler\",{get:function(){var e,t=this;return null!==(e=this._onTaskMouseEnterHandler)&&void 0!==e||(this._onTaskMouseEnterHandler=function(e){t.stateController.onTaskElementHover(e)}),this._onTaskMouseEnterHandler},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onTaskMouseLeaveHandler\",{get:function(){var e,t=this;return null!==(e=this._onTaskMouseLeaveHandler)&&void 0!==e||(this._onTaskMouseLeaveHandler=function(e){t.stateController.onTaskElementLeave(e)}),this._onTaskMouseLeaveHandler},enumerable:!1,configurable:!0}),e.DBLCLICK_INTERVAL=300,e.MS_POINTER_ACTIVE_CLASS=\"ms-pointer-active\",e}();t.TaskAreaManager=a},2366:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.GanttView=void 0;var r=n(639),i=n(9279),o=n(7156),s=n(1284),a=n(858),l=n(7880),c=n(9201),u=n(9954),d=n(8695),p=n(6893),h=n(8725),f=n(2491),g=n(3452),y=n(9650),m=n(2978),v=n(1074),T=n(5351),b=n(6353),k=n(9057),S=n(5098),_=n(9640),w=n(8478),E=n(5846),D=n(2449),I=n(1408),C=n(6626),P=n(3714),M=n(6907),A=n(8900),O=n(8269),x=n(4730),R=n(6124),L=function(){function e(e,t,n){var i=this;this.currentSelectedTaskID=\"\",this.isFocus=!1,this._updateWithModelReloadLockedCounter=0,this.scaleCount=2,this.tickSize=new b.Size(0,0),this.currentZoom=1,this.stripLinesUpdaterId=null,this.ganttOwner=t,this.settings=T.Settings.parse(n),this.initValidationController(),this.renderHelper=new v.RenderHelper(this),this.renderHelper.initMarkup(e),this.loadOptionsFromGanttOwner(),this.renderHelper.init(this.tickSize,this.range,this.settings.viewType,this.viewModel,this.settings.firstDayOfWeek),this.commandManager=new o.CommandManager(this),this.barManager=new r.BarManager(this.commandManager,this.ganttOwner.bars),this.initTaskEditController(),this.history=new h.History(this._getHistoryListener()),this.initFullScreenModeHelper(),this.updateView(),this._scrollTimeOut=setTimeout((function(){i.scrollLeftByViewType()}),0),this.initializeStripLinesUpdater(),this.initGanttViewApi()}return e.prototype.initGanttViewApi=function(){this.ganttViewApi=new C.GanttViewApi(this)},e.prototype._getHistoryListener=function(){return{onTransactionStart:this.onHistoryTransactionStart.bind(this),onTransactionEnd:this.onHistoryTransactionEnd.bind(this)}},e.prototype.onHistoryTransactionStart=function(){this.lockUpdateWithReload()},e.prototype.onHistoryTransactionEnd=function(){this.unlockUpdateWithReload()},e.prototype.lockUpdateWithReload=function(){this._updateWithModelReloadLockedCounter++},e.prototype.unlockUpdateWithReload=function(){this._updateWithModelReloadLockedCounter--,0===this._updateWithModelReloadLockedCounter&&this._pendingUpdateInfo&&(this.updateWithDataReload(this._pendingUpdateInfo.keepExpandState),this._pendingUpdateInfo=null)},e.prototype.initValidationController=function(){var e=this,t=E.ValidationControllerSettings.parse({getViewModel:function(){return e.viewModel},getHistory:function(){return e.history},getModelManipulator:function(){return e.modelManipulator},getRange:function(){return e.range},getValidationSettings:function(){return e.settings.validation},updateOwnerInAutoParentMode:function(){e.updateOwnerInAutoParentMode()},getIsValidateDependenciesRequired:function(){return e.isValidateDependenciesRequired()}});this.validationController=new w.ValidationController(t)},e.prototype.initTaskEditController=function(){var e=this,t=_.TaskEditSettings.parse({destroyTemplate:function(t){e.destroyTemplate(t)},formatDate:function(t){return e.getDateFormat(t)},getRenderHelper:function(){return e.renderHelper},getGanttSettings:function(){return e.settings},getViewModel:function(){return e.viewModel},getCommandManager:function(){return e.commandManager},getModelManipulator:function(){return e.modelManipulator},getValidationController:function(){return e.validationController}});this.taskEditController=new S.TaskEditController(t)},Object.defineProperty(e.prototype,\"taskAreaEventsListener\",{get:function(){var e;return null!==(e=this._taskAreaEventsListener)&&void 0!==e||(this._taskAreaEventsListener=new O.TaskAreaEventsListener(this)),this._taskAreaEventsListener},enumerable:!1,configurable:!0}),e.prototype.initFullScreenModeHelper=function(){var e=this,t=u.FullScreenHelperSettings.parse({getMainElement:function(){return e.getOwnerControlMainElement()},adjustControl:function(){e.adjustOwnerControl()}});this.fullScreenModeHelper=new d.FullScreenModeHelper(t)},e.prototype.getDateRange=function(e,t){var n=this.getVisibleAreaTime(),r=this.settings.startDateRange||c.DateUtils.adjustStartDateByViewType(new Date(e.getTime()-n),this.settings.viewType,this.settings.firstDayOfWeek),i=this.settings.endDateRange||c.DateUtils.adjustEndDateByViewType(new Date(t.getTime()+n),this.settings.viewType,this.settings.firstDayOfWeek);return this.settings.startDateRange&&r>i?i=r:this.settings.endDateRange&&r>i&&(r=i),new a.DateRange(r,i)},e.prototype.getVisibleAreaTime=function(){return Math.ceil(this.renderHelper.getTaskAreaContainerWidth()/this.tickSize.width)*c.DateUtils.getTickTimeSpan(this.settings.viewType)},e.prototype.zoomIn=function(e){void 0===e&&(e=this.renderHelper.getTaskAreaContainerWidth()/2),this.ganttViewApi.zoomIn(e)},e.prototype.zoomOut=function(e){void 0===e&&(e=this.renderHelper.getTaskAreaContainerWidth()/2),this.ganttViewApi.zoomOut(e)},e.prototype.scrollToDate=function(e){if(e){var t=e instanceof Date?c.DateUtils.getOrCreateUTCDate(e):c.DateUtils.parse(e);this.scrollToDateCore(t,0)}},e.prototype.showDialog=function(e,t,n,r){this.ganttOwner.showDialog(e,t,n,r)},e.prototype.showPopupMenu=function(e){this.ganttOwner.showPopupMenu(e)},e.prototype.hidePopupMenu=function(){this.ganttOwner.hidePopupMenu&&this.ganttOwner.hidePopupMenu()},e.prototype.collapseAll=function(){this.ganttOwner.collapseAll()},e.prototype.expandAll=function(){this.ganttOwner.expandAll()},e.prototype.onGanttViewContextMenu=function(e,t,n){return this.ganttOwner.onGanttViewContextMenu(e,t,n)},e.prototype.changeGanttTaskSelection=function(e,t){this.ganttOwner.changeGanttTaskSelection(e,t)},e.prototype.hideTaskEditControl=function(){this.taskEditController.hide()},e.prototype.scrollLeftByViewType=function(){var e=c.DateUtils.roundStartDate(this.dataRange.start,this.settings.viewType);this.scrollToDateCore(e,1)},e.prototype.scrollToDateCore=function(e,t){this.renderHelper.setTaskAreaContainerScrollLeftToDate(e,t)},e.prototype.onVisualModelChanged=function(){this.resetAndUpdate()},e.prototype.initializeStripLinesUpdater=function(){var e=this;this.settings.stripLines.showCurrentTime&&(this.stripLinesUpdaterId=setInterval((function(){e.renderHelper.recreateStripLines()}),Math.max(this.settings.stripLines.currentTimeUpdateInterval,100)))},e.prototype.clearStripLinesUpdater=function(){this.stripLinesUpdaterId&&clearInterval(this.stripLinesUpdaterId),this.stripLinesUpdaterId=null},e.prototype.getGanttViewStartDate=function(e){if(!e)return new Date;var t=e.map((function(e){return\"string\"==typeof e.start?new Date(e.start):e.start})).filter((function(e){return(0,f.isDefined)(e)}));return t.length>0?t.reduce((function(e,t){return t0?t.reduce((function(e,t){return t>e?t:e}),t[0]):new Date},e.prototype.getTask=function(e){var t=this.getViewItem(e);return null==t?void 0:t.task},e.prototype.getViewItem=function(e){var t;return null===(t=this.viewModel)||void 0===t?void 0:t.items[e]},e.prototype.isValidateDependenciesRequired=function(){return this.settings.validation.validateDependencies&&this.settings.showDependencies},e.prototype.updateTickSizeWidth=function(){this.tickSize.width=this.renderHelper.etalonScaleItemWidths*this.currentZoom},e.prototype.updateView=function(){this.onBeginUpdateView(),this.renderHelper.setTimeScaleContainerScrollLeft(this.taskAreaContainerScrollLeft),this.processScroll(!1),this.processScroll(!0),this.ganttOwner.onGanttScroll(this.taskAreaContainerScrollTop),this.onEndUpdateView()},e.prototype.onBeginUpdateView=function(){this[e.taskAreaScrollTopKey]=this.renderHelper.taskAreaContainerScrollTop,this[e.taskAreaScrollLeftKey]=this.renderHelper.taskAreaContainerScrollLeft},e.prototype.onEndUpdateView=function(){delete this[e.taskAreaScrollTopKey],delete this[e.taskAreaScrollLeftKey],delete this[e.taskTextHeightKey]},Object.defineProperty(e.prototype,\"taskAreaContainerScrollTop\",{get:function(){var t;return null!==(t=this[e.taskAreaScrollTopKey])&&void 0!==t?t:this.renderHelper.taskAreaContainerScrollTop},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskAreaContainerScrollLeft\",{get:function(){var t;return null!==(t=this[e.taskAreaScrollLeftKey])&&void 0!==t?t:this.renderHelper.taskAreaContainerScrollLeft},enumerable:!1,configurable:!0}),e.prototype.processScroll=function(e){this.hideTaskEditControl(),this.renderHelper.processScroll(e)},e.prototype.allowTaskAreaBorders=function(e){return e?this.settings.areHorizontalBordersEnabled:this.settings.areVerticalBordersEnabled},e.prototype.getScaleItemText=function(e,t){return this.renderHelper.getScaleItemText(e,t)},e.prototype.getTaskText=function(e){return this.renderHelper.getTaskText(e)},e.prototype.rowHasChildren=function(e){var t=this.getViewItem(e);return(null==t?void 0:t.children.length)>0},e.prototype.rowHasSelection=function(e){var t=this.getViewItem(e);return null==t?void 0:t.selected},e.prototype.getAllVisibleTaskIndices=function(e,t){return this.viewModel.getAllVisibleTaskIndices(e,t)},e.prototype.getVisibleDependencyKeysByTaskRange=function(e){if(!this.settings.showDependencies)return[];var t=this.viewModel,n=e.map((function(e){return t.tasks.items[e].internalId}));return t.dependencies.items.filter((function(e){return n.indexOf(e.successorId)>-1||n.indexOf(e.predecessorId)>-1})).map((function(e){return e.internalId}))},e.prototype.getTreeListTableStyle=function(){var e,t;return null===(t=(e=this.ganttOwner).getTreeListTableStyle)||void 0===t?void 0:t.call(e)},e.prototype.getTreeListColCount=function(){var e,t;return null===(t=(e=this.ganttOwner).getTreeListColCount)||void 0===t?void 0:t.call(e)},e.prototype.getTreeListHeaderInfo=function(e){var t,n;return null===(n=(t=this.ganttOwner).getTreeListHeaderInfo)||void 0===n?void 0:n.call(t,e)},e.prototype.getTreeListCellInfo=function(e,t,n){var r,i;return null===(i=(r=this.ganttOwner).getTreeListCellInfo)||void 0===i?void 0:i.call(r,e,t,n)},e.prototype.getTreeListEmptyDataCellInfo=function(){var e,t;return null===(t=(e=this.ganttOwner).getTreeListEmptyDataCellInfo)||void 0===t?void 0:t.call(e)},e.prototype.exportToPdf=function(e){var t;return null!==(t=e.docCreateMethod)&&void 0!==t||(e.docCreateMethod=this.getDefaultPdfDocCreateMethod()),new m.PdfGanttExporter(new p.GanttExportCalculator(this,e)).export()},e.prototype.getDefaultPdfDocCreateMethod=function(){var e;return null===(e=window.jspdf)||void 0===e?void 0:e.jsPDF},e.prototype.getTaskDependencies=function(e){return this.viewModel.dependencies.items.filter((function(t){return t.predecessorId==e||t.successorId==e}))},e.prototype.isHighlightRowElementAllowed=function(e){var t=this.getViewItem(e);return e%2!=0&&this.settings.areAlternateRowsEnabled||(null==t?void 0:t.children.length)>0},e.prototype.calculateAutoViewType=function(e,t){var n=(t.getTime()-e.getTime())/36e5;return n>8760?D.ViewType.Years:n>720?D.ViewType.Months:n>168?D.ViewType.Weeks:n>24?D.ViewType.Days:n>6?D.ViewType.SixHours:n>1?D.ViewType.Hours:D.ViewType.TenMinutes},e.prototype.getExternalTaskAreaContainer=function(e){return this.ganttOwner.getExternalTaskAreaContainer(e)},e.prototype.prepareExternalTaskAreaContainer=function(e,t){return this.ganttOwner.prepareExternalTaskAreaContainer(e,t)},e.prototype.getHeaderHeight=function(){return this.ganttOwner.getHeaderHeight()},e.prototype.changeTaskExpanded=function(e,t){var n=this.getTaskByPublicId(e);n&&this.viewModel.changeTaskExpanded(n.internalId,t)},e.prototype.expandTask=function(e){this.viewModel.changeTaskExpanded(e,!0)},e.prototype.collapseTask=function(e){this.viewModel.changeTaskExpanded(e,!1)},e.prototype.showTask=function(e){this.viewModel.changeTaskVisibility(e,!0)},e.prototype.hideTask=function(e){this.viewModel.changeTaskVisibility(e,!1)},e.prototype.getTaskVisibility=function(e){return this.viewModel.getTaskVisibility(e)},e.prototype.unselectCurrentSelectedTask=function(){this.unselectTask(this.currentSelectedTaskID)},e.prototype.getTaskSelected=function(e){return this.viewModel.getTaskSelected(e)},e.prototype.setViewType=function(e,t){void 0===t&&(t=!0),this.ganttViewApi.setViewType(e,t)},e.prototype.setViewTypeRange=function(e,t){this.ganttViewApi.setViewTypeRange(e,t)},e.prototype.setTaskTitlePosition=function(e){this.settings.taskTitlePosition!==e&&(this.settings.taskTitlePosition=e,this.resetAndUpdate())},e.prototype.setShowResources=function(e){this.settings.showResources!==e&&(this.settings.showResources=e,this.resetAndUpdate())},e.prototype.toggleResources=function(){this.setShowResources(!this.settings.showResources)},e.prototype.setShowDependencies=function(e){this.settings.showDependencies!==e&&(this.settings.showDependencies=e,this.resetAndUpdate())},e.prototype.toggleDependencies=function(){this.setShowDependencies(!this.settings.showDependencies)},e.prototype.setFirstDayOfWeek=function(e){this.settings.firstDayOfWeek!==e&&(this.settings.firstDayOfWeek=e,this.resetAndUpdate())},e.prototype.setStartDateRange=function(e){l.DateTimeUtils.areDatesEqual(this.settings.startDateRange,e)||(this.settings.startDateRange=new Date(e),this.resetAndUpdate())},e.prototype.setEndDateRange=function(e){l.DateTimeUtils.areDatesEqual(this.settings.endDateRange,e)||(this.settings.endDateRange=new Date(e),this.resetAndUpdate())},e.prototype.loadOptionsFromGanttOwner=function(){var e,t=this;this.tickSize.height=this.ganttOwner.getRowHeight();var n=this.ganttOwner.getGanttTasksData();this.dataRange=new a.DateRange(this.getGanttViewStartDate(n),this.getGanttViewEndDate(n)),null==this.settings.viewType&&(this.settings.viewType=this.calculateAutoViewType(this.dataRange.start,this.dataRange.end)),this.updateTickSizeWidth(),this.range=this.getDateRange(this.dataRange.start,this.dataRange.end),this.dispatcher=new g.ModelChangesDispatcher;var r=this.ganttOwner.getModelChangesListener();r&&this.dispatcher.onModelChanged.add(r),this.viewModel=new I.ViewVisualModel(this,n,this.ganttOwner.getGanttDependenciesData(),this.ganttOwner.getGanttResourcesData(),this.ganttOwner.getGanttResourceAssignmentsData(),this.range,this.ganttOwner.getGanttWorkTimeRules()),this.modelManipulator=new y.ModelManipulator(this.viewModel,this.dispatcher),null===(e=this.history)||void 0===e||e.historyItems.forEach((function(e){return e.setModelManipulator(t.modelManipulator)}))},e.prototype.resetAndUpdate=function(){this.range=this.getDateRange(this.dataRange.start,this.dataRange.end),this.viewModel.updateRange(this.range),this.renderHelper.resetAndUpdate(this.tickSize,this.range,this.settings.viewType,this.viewModel,this.settings.firstDayOfWeek),i.Browser.IE&&this.taskEditController.createElements(),this.updateView()},e.prototype.cleanMarkup=function(){this.renderHelper.taskAreaManagerDetachEvents(),this.taskEditController.detachEvents(),this.clearStripLinesUpdater(),this.renderHelper.reset(),clearTimeout(this._scrollTimeOut)},e.prototype.checkAndProcessModelChanges=function(){var e=this.ganttOwner.getGanttTasksData(),t=this.viewModel.refreshTaskDataIfRequires(e);return t&&this.resetAndUpdate(),t},e.prototype.updateHistoryObsoleteInsertedKey=function(e,t,n){var r;null===(r=this.history)||void 0===r||r.updateObsoleteInsertedKey(e,t,n),n===R.GanttDataObjectNames.dependency&&this.renderHelper.updateRenderedConnectorLinesId(e,t)},e.prototype.updateRowHeights=function(e){if(this.tickSize.height!==e){this.tickSize.height=e;var t=this.renderHelper.getTaskAreaContainerScrollLeft();this.resetAndUpdate(),this.renderHelper.setTaskAreaContainerScrollLeft(t)}},e.prototype.selectTask=function(e){this.selectDependency(null),this.viewModel.changeTaskSelected(e,!0),this.currentSelectedTaskID=e,this.updateBarManager()},e.prototype.unselectTask=function(e){this.viewModel.changeTaskSelected(e,!1),this.updateBarManager()},e.prototype.selectTaskById=function(e){this.unselectCurrentSelectedTask();var t=this.getTaskByPublicId(e);t&&this.selectTask(t.internalId)},e.prototype.selectDependency=function(e){this.taskEditController.selectDependency(e),this.renderHelper.createConnectorLines()},e.prototype.getTaskAreaContainer=function(){return this.renderHelper.taskAreaContainer},e.prototype.setWidth=function(e){this.renderHelper.setMainElementWidth(e)},e.prototype.setHeight=function(e){this.renderHelper.setMainElementHeight(e)},e.prototype.setAllowSelection=function(e){this.settings.allowSelectTask=e},e.prototype.setEditingSettings=function(e){this.settings.editing=e,this.updateBarManager()},e.prototype.setValidationSettings=function(e){this.settings.validation=e},e.prototype.setRowLinesVisible=function(e){this.settings.areHorizontalBordersEnabled=e,this.renderHelper.prepareTaskAreaContainer(),this.resetAndUpdate()},e.prototype.setStripLines=function(e){this.settings.stripLines=k.StripLineSettings.parse(e),this.clearStripLinesUpdater(),this.initializeStripLinesUpdater(),this.renderHelper.recreateStripLines()},e.prototype.deleteTask=function(e){var t=this.getTaskByPublicId(e.toString());t&&this.commandManager.removeTaskCommand.execute(t.internalId,!1,!0)},e.prototype.insertTask=function(e){if(e){var t=null!=e.parentId?String(e.parentId):null,n=this.getTaskByPublicId(t),r=this.viewModel.getRootTaskId(),i=\"string\"==typeof e.start?new Date(e.start):e.start,o=\"string\"==typeof e.end?new Date(e.end):e.end,s={parentId:r&&t===r?t:null==n?void 0:n.internalId,title:e.title,start:i,end:o,progress:parseInt(e.progress)||0,color:e.color};if(this.commandManager.createTaskCommand.execute(s))return this.getLastInsertedTaskId()}return\"\"},e.prototype.updateTask=function(e,t){var n=this.getTaskByPublicId(e.toString()),r=this._getTaskDataForUpdate(t,n);r&&this.commandManager.updateTaskCommand.execute(n.internalId,r)},e.prototype.getTaskData=function(e){var t=this.getTaskByPublicId(e.toString());if(t)return this.viewModel.getTaskObjectForDataSource(t)},e.prototype.insertDependency=function(e){if(e){var t=String(e.predecessorId),n=this.getTaskByPublicId(t),r=String(e.successorId),i=this.getTaskByPublicId(r),o=e.type;n&&i&&this.validationController.canCreateDependency(t,r)&&this.commandManager.createDependencyCommand.execute(n.internalId,i.internalId,o)}},e.prototype.deleteDependency=function(e){var t=this.viewModel.convertPublicToInternalKey(\"dependency\",e);(0,f.isDefined)(t)&&this.commandManager.removeDependencyCommand.execute(t)},e.prototype.getDependencyData=function(e){return this.viewModel.getDependencyObjectForDataSource(e)},e.prototype.insertResource=function(e,t){var n=this;if(e){this.commandManager.createResourceCommand.execute(String(e.text),e.color&&String(e.color),(function(e){if((0,f.isDefined)(t))for(var r=0;r0)this._pendingUpdateInfo={keepExpandState:e};else{var t=e&&this.getTasksExpandedState();this.loadOptionsFromGanttOwner(),e?this.applyTasksExpandedState(t):this.resetAndUpdate();var n=x.DialogBase.activeInstance;n&&n.canRefresh&&\"TaskEdit\"===n.getDialogName()&&n.refresh(),this.dispatcher.notifyGanttViewUpdated()}},e.prototype.onBrowserWindowResize=function(){this.fullScreenModeHelper.isInFullScreenMode?this.fullScreenModeHelper.adjustControlInFullScreenMode():this.adjustOwnerControl()},e.prototype.getTaskTreeLine=function(e){return this.viewModel.getTaskTreeLine(e).reverse()},e.prototype.setTaskValue=function(e,t,n){var r=this.commandManager.updateTaskCommand,i=this.getTaskByPublicId(e),o={};return i&&(\"title\"===t&&(o[t]=n||\"\"),\"progress\"===t&&(o[t]=n),\"start\"===t&&(o[t]=l.DateTimeUtils.getMinDate(n,i.end)),\"end\"===t&&(o[t]=l.DateTimeUtils.getMaxDate(n,i.start))),Object.keys(o).length>0&&r.execute(i.internalId,o)},e.prototype.getLastInsertedTaskId=function(){var e=this.history.historyItems.filter((function(e){return e instanceof s.CreateTaskHistoryItem})),t=e[e.length-1];return t&&t.insertedKey},e.prototype.getTaskByPublicId=function(e){return this.viewModel.tasks.getItemByPublicId(e)},e.prototype.getPrevTask=function(e){var t=this.viewModel.findItem(e);if(!t)return null;var n=(t.parent||this.viewModel.root).children.indexOf(t)-1;return n>-1?t.parent.children[n].task:t.parent.task},e.prototype.getTaskIdByInternalId=function(e){var t=this.viewModel.findItem(e),n=t&&t.task;return n?n.id:null},e.prototype.isTaskHasChildren=function(e){var t=this.viewModel.findItem(e);return t&&t.children.length>0},e.prototype.requireFirstLoadParentAutoCalc=function(){var e=this.ganttOwner;return e.getRequireFirstLoadParentAutoCalc&&e.getRequireFirstLoadParentAutoCalc()},e.prototype.updateOwnerInAutoParentMode=function(){this.viewModel.parentAutoCalc&&this.dispatcher.notifyParentDataRecalculated(this.viewModel.getCurrentTaskData())},e.prototype.getOwnerControlMainElement=function(){var e=this.ganttOwner;return e.getMainElement&&e.getMainElement()},e.prototype.adjustOwnerControl=function(){var e=this.ganttOwner;e.adjustControl&&e.adjustControl()},e.prototype.applySettings=function(e,t){void 0===t&&(t=!1);var n=T.Settings.parse(e),r=t||this.settings.equal(n);this.settings=n,r||this.resetAndUpdate()},e.prototype.getDataUpdateErrorCallback=function(){var e=this,t=this.history,n=t.getCurrentProcessingItemInfo();return function(){e.dispatcher.lock(),t.rollBackAndRemove(n),e.dispatcher.unlock(),e.updateBarManager()}},e.prototype.setTaskTooltipContentTemplate=function(e){this.settings.taskTooltipContentTemplate=e},e.prototype.setTaskProgressTooltipContentTemplate=function(e){this.settings.taskProgressTooltipContentTemplate=e},e.prototype.setTaskTimeTooltipContentTemplate=function(e){this.settings.taskTimeTooltipContentTemplate=e},e.prototype.setTaskContentTemplate=function(e){this.settings.taskContentTemplate=e},e.prototype.updateBarManager=function(){this.barManager.updateItemsState([])},e.prototype.onTaskAreaClick=function(e,t){var n,r=this.viewModel.items[e];return r&&this.onTaskClick(null===(n=r.task)||void 0===n?void 0:n.id,t)},e.prototype.onTaskAreaDblClick=function(e,t){var n=this.viewModel.items[e];n&&this.onTaskDblClick(n.task.id,t)&&this.commandManager.showTaskEditDialog.execute(n.task)},e.prototype.onTaskAreaContextMenu=function(e,t,n){var r,i,o=\"dependency\"===n,s=t,a=this.viewModel,l=o?a.convertInternalToPublicKey(\"dependency\",P.EvtUtils.getEventSource(t).getAttribute(\"dependency-id\")):null===(i=null===(r=a.items[e])||void 0===r?void 0:r.task)||void 0===i?void 0:i.id;if(this.onGanttViewContextMenu(t,l,n)){var c={event:t,type:n,key:l,position:new A.Point(P.EvtUtils.getEventX(s),P.EvtUtils.getEventY(s))};this.showPopupMenu(c)}},e.prototype.onTaskSelectionChanged=function(e,t){var n=this,r=this.viewModel.items[e];this.isFocus=M.DomUtils.isItParent(this.renderHelper.taskArea,P.EvtUtils.getEventSource(t)),r&&this.isFocus&&this.settings.allowSelectTask&&setTimeout((function(){n.changeGanttTaskSelection(r.task.id,!0)}),0)},e.prototype.onTaskClick=function(e,t){return!this.ganttOwner.onTaskClick||this.ganttOwner.onTaskClick(e,t)},e.prototype.onTaskDblClick=function(e,t){return!this.ganttOwner.onTaskDblClick||this.ganttOwner.onTaskDblClick(e,t)},e.prototype.getDateFormat=function(e){return this.ganttOwner.getFormattedDateText?this.ganttOwner.getFormattedDateText(e):this.getDefaultDateFormat(e)},e.prototype.getDefaultDateFormat=function(e){return(\"0\"+e.getDate()).slice(-2)+\"/\"+(\"0\"+(e.getMonth()+1)).slice(-2)+\"/\"+e.getFullYear()+\" \"+(\"0\"+e.getHours()).slice(-2)+\":\"+(\"0\"+e.getMinutes()).slice(-2)},e.prototype.destroyTemplate=function(e){this.ganttOwner.destroyTemplate?this.ganttOwner.destroyTemplate(e):e.innerHTML=\"\"},e.prototype.onTaskAreaSizeChanged=function(e){this.ganttOwner.onTaskAreaSizeChanged&&this.ganttOwner.onTaskAreaSizeChanged(e)},e.prototype.showTaskEditDialog=function(){this.commandManager.showTaskEditDialog.execute()},e.prototype.showTaskDetailsDialog=function(e){var t=this.getTaskByPublicId(e);t&&this.commandManager.showTaskEditDialog.execute(t,!0)},e.prototype.showResourcesDialog=function(){this.commandManager.showResourcesDialog.execute()},e.prototype.getCommandByKey=function(e){return this.commandManager.getCommand(e)},e.prototype._getTaskDataForUpdate=function(e,t){var n={};return t&&e&&((0,f.isDefined)(e.title)&&e.title!==t.title&&(n.title=e.title),(0,f.isDefined)(e.progress)&&e.progress!==t.progress&&(n.progress=e.progress),(0,f.isDefined)(e.start)&&e.start!==t.start&&(n.start=e.start),(0,f.isDefined)(e.end)&&e.end!==t.end&&(n.end=e.end),(0,f.isDefined)(e.color)&&e.color!==t.color&&(n.color=e.color)),Object.keys(n).length>0?n:null},e.prototype.updateViewDataRange=function(){var e=this.viewModel,t=e.getTaskMinStart(),n=e.getTaskMaxEnd(),r=t.getTime()this.dataRange.end.getTime();r&&(this.dataRange.start=t),i&&(this.dataRange.end=n),(r||i)&&this.resetAndUpdate()},e.cachedPrefix=\"cached_\",e.taskAreaScrollLeftKey=e.cachedPrefix+\"taskAreaScrollLeft\",e.taskAreaScrollTopKey=e.cachedPrefix+\"taskAreaScrollTop\",e.taskTextHeightKey=e.cachedPrefix+\"taskTextHeight\",e}();t.GanttView=L},2449:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskAreaEventSource=t.TaskTitlePosition=t.Position=t.ViewType=void 0,function(e){e[e.TenMinutes=0]=\"TenMinutes\",e[e.Hours=1]=\"Hours\",e[e.SixHours=2]=\"SixHours\",e[e.Days=3]=\"Days\",e[e.Weeks=4]=\"Weeks\",e[e.Months=5]=\"Months\",e[e.Quarter=6]=\"Quarter\",e[e.Years=7]=\"Years\",e[e.FiveYears=8]=\"FiveYears\"}(t.ViewType||(t.ViewType={})),function(e){e[e.Left=0]=\"Left\",e[e.Top=1]=\"Top\",e[e.Right=2]=\"Right\",e[e.Bottom=3]=\"Bottom\"}(t.Position||(t.Position={})),function(e){e[e.Inside=0]=\"Inside\",e[e.Outside=1]=\"Outside\",e[e.None=2]=\"None\"}(t.TaskTitlePosition||(t.TaskTitlePosition={})),function(e){e[e.TaskArea=0]=\"TaskArea\",e[e.TaskEdit_Frame=1]=\"TaskEdit_Frame\",e[e.TaskEdit_Progress=2]=\"TaskEdit_Progress\",e[e.TaskEdit_Start=3]=\"TaskEdit_Start\",e[e.TaskEdit_End=4]=\"TaskEdit_End\",e[e.TaskEdit_DependencyStart=5]=\"TaskEdit_DependencyStart\",e[e.TaskEdit_DependencyFinish=6]=\"TaskEdit_DependencyFinish\",e[e.Successor_Wrapper=7]=\"Successor_Wrapper\",e[e.Successor_DependencyStart=8]=\"Successor_DependencyStart\",e[e.Successor_DependencyFinish=9]=\"Successor_DependencyFinish\"}(t.TaskAreaEventSource||(t.TaskAreaEventSource={}))},8877:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.EtalonSizeValues=void 0;var n=function(){this.scaleItemWidths={}};t.EtalonSizeValues=n},8695:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.FullScreenModeHelper=void 0;var r=n(9279),i=n(2217),o=n(6907),s=function(){function e(e){this._isInFullScreenMode=!1,this.fullScreenTempVars={},this.settings=e}return Object.defineProperty(e.prototype,\"isInFullScreenMode\",{get:function(){return this._isInFullScreenMode},enumerable:!1,configurable:!0}),e.prototype.getMainElement=function(){return this.settings.getMainElement()},e.prototype.adjustControl=function(){this.settings.adjustControl()},e.prototype.toggle=function(){return this._isInFullScreenMode=!this._isInFullScreenMode,this._isInFullScreenMode?this.setFullScreenMode():this.setNormalMode(),!0},e.prototype.setFullScreenMode=function(){this.prepareFullScreenMode(),this.adjustControlInFullScreenMode()},e.prototype.prepareFullScreenMode=function(){var e=this.getMainElement();i.AttrUtils.changeElementStyleAttribute(e,\"border-top-width\",\"0px\"),i.AttrUtils.changeElementStyleAttribute(e,\"border-left-width\",\"0px\"),i.AttrUtils.changeElementStyleAttribute(e,\"border-right-width\",\"0px\"),i.AttrUtils.changeElementStyleAttribute(e,\"border-bottom-width\",\"0px\"),this.fullScreenTempVars.scrollTop=o.DomUtils.getDocumentScrollTop(),this.fullScreenTempVars.scrollLeft=o.DomUtils.getDocumentScrollLeft(),i.AttrUtils.changeElementStyleAttribute(e,\"background-color\",\"white\"),i.AttrUtils.changeElementStyleAttribute(e,\"position\",\"fixed\"),i.AttrUtils.changeElementStyleAttribute(e,\"top\",\"0px\"),i.AttrUtils.changeElementStyleAttribute(e,\"left\",\"0px\"),i.AttrUtils.changeElementStyleAttribute(e,\"z-index\",\"1010\"),i.AttrUtils.changeElementStyleAttribute(document.documentElement,\"position\",\"static\"),i.AttrUtils.changeElementStyleAttribute(document.documentElement,\"overflow\",\"hidden\"),this.fullScreenTempVars.bodyMargin=document.body.style.margin,document.body.style.margin=\"0\",this.fullScreenTempVars.width=e.style.width,this.fullScreenTempVars.height=e.style.height||e.clientHeight,window.self!==window.top&&this.requestFullScreen(document.body)},e.prototype.setNormalMode=function(){this.cancelFullScreen(document);var e=this.getMainElement();i.AttrUtils.restoreElementStyleAttribute(e,\"left\"),i.AttrUtils.restoreElementStyleAttribute(e,\"top\"),i.AttrUtils.restoreElementStyleAttribute(e,\"background-color\"),i.AttrUtils.restoreElementStyleAttribute(document.documentElement,\"overflow\"),i.AttrUtils.restoreElementStyleAttribute(document.documentElement,\"position\"),i.AttrUtils.restoreElementStyleAttribute(e,\"z-index\"),document.body.style.margin=this.fullScreenTempVars.bodyMargin,i.AttrUtils.restoreElementStyleAttribute(e,\"position\"),i.AttrUtils.restoreElementStyleAttribute(e,\"border-top-width\"),i.AttrUtils.restoreElementStyleAttribute(e,\"border-left-width\"),i.AttrUtils.restoreElementStyleAttribute(e,\"border-right-width\"),i.AttrUtils.restoreElementStyleAttribute(e,\"border-bottom-width\"),this.setHeight(this.fullScreenTempVars.height),this.setWidth(this.fullScreenTempVars.width),document.documentElement.scrollTop=this.fullScreenTempVars.scrollTop,document.documentElement.scrollLeft=this.fullScreenTempVars.scrollLeft,this.adjustControl()},e.prototype.adjustControlInFullScreenMode=function(){var e=0==document.documentElement.clientWidth?document.body.clientWidth:document.documentElement.clientWidth,t=0==document.documentElement.clientHeight?document.body.clientHeight:document.documentElement.clientHeight;this.setWidth(e),this.setHeight(t),this.adjustControl()},e.prototype.requestFullScreen=function(e){e.requestFullscreen?e.requestFullscreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.webkitRequestFullscreen?e.webkitRequestFullscreen():e.msRequestFullscreen&&e.msRequestFullscreen()},e.prototype.cancelFullScreen=function(e){r.Browser.Firefox&&!this.getFullScreenElement(e)||(e.webkitExitFullscreen?e.webkitExitFullscreen():e.mozCancelFullScreen?e.mozCancelFullScreen():e.msExitFullscreen?e.msExitFullscreen():e.exitFullscreen&&e.exitFullscreen())},e.prototype.getFullScreenElement=function(e){return e.fullscreenElement||e.webkitFullscreenElement||e.mozFullScreenElement||e.msFullscreenElement},e.prototype.setWidth=function(e){this.getMainElement().style.width=this.isNumber(e)?e+\"px\":e},e.prototype.setHeight=function(e){this.getMainElement().style.height=this.isNumber(e)?e+\"px\":e},e.prototype.isNumber=function(e){return!isNaN(parseFloat(e))&&isFinite(e)},e}();t.FullScreenModeHelper=s},1391:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.GridElementInfo=void 0;var r=n(8900),i=n(6353),o=n(3604),s=function(){function e(t,n,s){this.id=e.id++,this.position=new r.Point(void 0,void 0),this.size=new i.Size(0,0),this.margins=new o.Margins(void 0,void 0,void 0,void 0),this.attr={},this.style={},this.additionalInfo={},t&&(this.className=t),n&&this.setPosition(n),s&&this.setSize(s)}return e.prototype.setSize=function(e){this.size.width=e.width,this.size.height=e.height},e.prototype.setPosition=function(e){this.position.x=e.x,this.position.y=e.y},e.prototype.assignToElement=function(e){this.assignPosition(e),this.assignSize(e),this.assignMargins(e),this.className&&(e.className=this.className)},e.prototype.assignPosition=function(e){null!=this.position.x&&(e.style.left=this.position.x+\"px\"),null!=this.position.y&&(e.style.top=this.position.y+\"px\")},e.prototype.assignSize=function(e){this.size.width&&(e.style.width=this.size.width+\"px\"),this.size.height&&(e.style.height=this.size.height+\"px\")},e.prototype.assignMargins=function(e){this.margins.left&&(e.style.marginLeft=this.margins.left+\"px\"),this.margins.top&&(e.style.marginTop=this.margins.top+\"px\"),this.margins.right&&(e.style.marginRight=this.margins.right+\"px\"),this.margins.bottom&&(e.style.marginBottom=this.margins.bottom+\"px\")},e.prototype.setAttribute=function(e,t){this.attr[e]=t},e.id=0,e}();t.GridElementInfo=s},1855:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.GridLayoutCalculator=void 0;var r=n(6353),i=n(858),o=n(2449),s=n(1391),a=n(8900),l=n(9201),c=n(1442),u=n(5950),d=n(7072),p=n(2491),h=function(){function e(){this.tileToDependencyMap=[],this.tileToNoWorkingIntervalsMap=[],this.minLineLength=10,this.resourceMaxWidth=500,this.minTaskWidth=2,this._taskWrapperPoints=Array(),this._taskElementInfoList=Array(),this._scaleCalculator=new d.ScaleCalculator}return e.prototype.setSettings=function(e,t,n,i,o,s,a,c){void 0===a&&(a=0),void 0===c&&(c=0),this.visibleTaskAreaSize=e,this.tickSize=t,this._viewType=s,this.range=i,this.verticalTickCount=o.itemCount,this.viewModel=o,this.elementSizeValues=n,this.taskHeight=n.taskHeight,this.parentTaskHeight=n.parentTaskHeight,this.milestoneWidth=n.milestoneWidth,this.scaleHeight=n.scaleItemHeight,this.arrowSize=new r.Size(n.connectorArrowWidth,n.connectorArrowWidth),this.lineThickness=n.connectorLineThickness,this.minConnectorSpaceFromTask=(this.tickSize.height-this.taskHeight)/2,this.tickTimeSpan=l.DateUtils.getTickTimeSpan(s),this.scrollBarHeight=a,this.createTileToNonWorkingIntervalsMap(),this._scaleCalculator.setSettings(i,s,t,c),this.reset()},Object.defineProperty(e.prototype,\"viewType\",{get:function(){return this._viewType},set:function(e){this._viewType!==e&&(this._viewType=e,this._scaleCalculator.setViewType(e))},enumerable:!1,configurable:!0}),e.prototype.reset=function(){this._taskWrapperPoints=new Array,this._taskElementInfoList=Array()},e.prototype.resetTaskInfo=function(e){delete this._taskWrapperPoints[e],delete this._taskElementInfoList[e]},e.prototype.getTaskAreaBorderInfo=function(e,t){var n=t?this.getVerticalGridLineHeight():this.getTotalWidth();return this.getGridBorderInfo(e,t,n)},e.prototype.getTotalWidth=function(){return this._scaleCalculator.scaleWidth},e.prototype.getScaleBorderInfo=function(e,t){var n=new s.GridElementInfo,i=this._scaleCalculator;return n.setPosition(new a.Point(i.getScaleBorderPosition(e,t),void 0)),n.setSize(new r.Size(0,this.scaleHeight)),n.className=\"dx-gantt-vb\",n},e.prototype.getGridBorderInfo=function(e,t,n){var r=new s.GridElementInfo;return r.setPosition(this.getGridBorderPosition(e,t)),n&&r.setSize(this.getGridBorderSize(t,n)),r.className=t?\"dx-gantt-vb\":\"dx-gantt-hb\",r},e.prototype.getGridBorderPosition=function(e,t){var n=new a.Point(void 0,void 0),r=this._scaleCalculator,i=t?r.getScaleBorderPosition(e,this.viewType):(e+1)*this.tickSize.height;return t?n.x=i:n.y=i,n},e.prototype.getGridBorderSize=function(e,t){var n=new r.Size(0,0);return e?n.height=t:n.width=t,n},e.prototype.getScaleElementInfo=function(e,t){var n=new s.GridElementInfo,r=this.getScaleItemInfo(e,t);if(r){n.setPosition(r.position),n.setSize(r.size),n.className=this.getScaleItemClassName(t,n,this.getRenderedNoWorkingIntervals(n.position.x));var o=this._scaleCalculator.getScaleItems(t);(0===e||e===o.length-1)&&(n.style.overflowX=\"hidden\",n.style.textOverflow=\"ellipsis\"),n.additionalInfo.range=new i.DateRange(r.start,r.end)}return n},e.prototype.getScaleItemStart=function(e,t){return this._scaleCalculator.getScaleItemAdjustedStart(e,t)},e.prototype.getScaleItemClassName=function(e,t,n){var r=\"dx-gantt-si\";return e.valueOf()==this.viewType.valueOf()&&this.isScaleItemInsideNoWorkingInterval(t,n)&&(r+=\" dx-gantt-holiday-scaleItem\"),r},e.prototype.getScaleItemInfo=function(e,t){return this._scaleCalculator.getScaleItem(e,t)},e.prototype.getScaleRangesInArea=function(e,t){var n=l.DateUtils.ViewTypeToScaleMap[this.viewType],r=this._scaleCalculator,i=Math.max(r.getScaleIndexByPos(e,n),0),o=r.getScaleIndexByPos(t,n);-1===o&&(o=r.topScaleItems.length-1);var s=Math.max(r.getScaleIndexByPos(e),0),a=r.getScaleIndexByPos(t);return-1===a&&(a=r.bottomScaleItems.length-1),[[i,o],[s,a]]},e.prototype.isScaleItemInsideNoWorkingInterval=function(e,t){for(var n=e.position.x,r=e.position.x+e.size.width,i=0;i=o&&r<=s)return!0}return!1},e.prototype.getScaleItemColSpan=function(e){return this._scaleCalculator.getScaleItemColSpan(e)},e.prototype.getTaskWrapperElementInfo=function(e){var t=new s.GridElementInfo;return t.className=this.getTaskWrapperClassName(e),t.setPosition(this.getTaskWrapperPoint(e)),t.setAttribute(\"task-index\",e),t},e.prototype.getTaskWrapperClassName=function(e){var t=\"dx-gantt-taskWrapper\",n=this.getViewItem(e);return n.task.isMilestone()&&!n.isCustom&&(t=\"dx-gantt-milestoneWrapper\"),n.selected&&(t+=\" dx-gantt-selectedTask\"),t},e.prototype.getTaskWrapperPoint=function(e){if(!(0,p.isDefined)(this._taskWrapperPoints[e])){var t=this.getViewItem(e),n=this.getTaskHeight(e),r=e*this.tickSize.height+(this.tickSize.height-n)/2,i=new a.Point(this.getPosByDate(t.task.start),r);t.task.isMilestone()&&!t.isCustom&&(i.x-=n/2),this._taskWrapperPoints[e]=i}return this._taskWrapperPoints[e].clone()},e.prototype.getTaskElementInfo=function(e,t){if(void 0===t&&(t=!1),!(0,p.isDefined)(this._taskElementInfoList[e])){var n=new s.GridElementInfo,r=this.getTask(e),i=this.viewModel.parentAutoCalc&&this.viewModel.taskHasChildrenByIndex(e);if(!r.isMilestone()){var o=this.getTaskWidth(e);n.size.width=this.getCorrectedTaskWidthByRange(e,o),n.size.width=100&&(n+=\" dx-gantt-cmpl\"),n},e.prototype.getTaskPoint=function(e){var t=this.getTaskWrapperPoint(e);return this.getTask(e).isMilestone()||(t.y+=this.elementSizeValues.taskWrapperTopPadding),t},e.prototype.getTaskSize=function(e){return new r.Size(this.getTaskWidth(e),this.getTaskHeight(e))},e.prototype.getTaskWidth=function(e){var t=this.getViewItem(e);return t.isCustom&&t.size.width?t.size.width:t.task.isMilestone()&&!t.isCustom?this.getTaskHeight(e):Math.max(this.getWidthByDateRange(t.task.start,t.task.end),this.minTaskWidth)},e.prototype.getTaskHeight=function(e){var t=this.getViewItem(e);return t.task.isMilestone()&&!t.isCustom?this.milestoneWidth:this.viewModel.isTaskToCalculateByChildren(t.task.internalId)?this.parentTaskHeight:t.isCustom&&t.size.height?t.size.height:this.taskHeight},e.prototype.getTask=function(e){var t=this.getViewItem(e);return null==t?void 0:t.task},e.prototype.getViewItem=function(e){return this.viewModel.items[e]},e.prototype.getTaskProgressElementInfo=function(t){var n=new s.GridElementInfo;return n.className=e.taskProgressClassName,n.setSize(this.getTaskProgressSize(t)),n},e.prototype.getTaskProgressSize=function(e){var t=this.getTaskProgressWidth(e);return this.isTaskCutByRange(e)&&(t=this.getCorrectedTaskWidthByRange(e,t)),new r.Size(t,0)},e.prototype.getTaskProgressWidth=function(e){return this.getTaskWidth(e)*this.getTask(e).normalizedProgress/100},e.prototype.getTaskTextElementInfo=function(e,t){var n=new s.GridElementInfo;if(n.className=this.getTaskTextElementClassName(t),!t){var r=this.getTaskPoint(e).x;if(r0?n.margins.left=-i:n.additionalInfo.hidden=!0}}return n},e.prototype.getTaskTextElementClassName=function(t){return e.taskTitleClassName.concat(\" \",t?e.titleInClassName:e.titleOutClassName)},e.prototype.getTaskResourcesWrapperElementInfo=function(e){var t=new s.GridElementInfo,n=this.getTaskSize(e).width;return t.className=\"dx-gantt-taskResWrapper\",t.setPosition(this.getTaskWrapperPoint(e)),t.position.x=t.position.x+n,t},e.prototype.getTaskResourceElementInfo=function(){var t=new s.GridElementInfo;return t.className=e.taskResourceClassName,t},e.prototype.getSelectionElementInfo=function(e){return this.getRowElementInfo(e,\"dx-gantt-sel\")},e.prototype.getSelectionPosition=function(e){var t=new a.Point(void 0,void 0);return t.y=e*this.tickSize.height,t},e.prototype.getSelectionSize=function(){return new r.Size(this.getTotalWidth(),this.tickSize.height)},e.prototype.getHighlightRowInfo=function(e){return this.getRowElementInfo(e,\"dx-gantt-altRow\")},e.prototype.getRowElementInfo=function(e,t){var n=new s.GridElementInfo;return n.className=t,n.setPosition(this.getSelectionPosition(e)),n.setSize(this.getSelectionSize()),n},e.prototype.getNoWorkingIntervalInfo=function(e){var t=new s.GridElementInfo;return t.className=\"dx-gantt-nwi\",t.setPosition(this.getNoWorkingIntervalPosition(e.start)),t.setSize(this.getNoWorkingIntervalSize(e)),t},e.prototype.getNoWorkingIntervalPosition=function(e){var t=new a.Point(void 0,void 0);return t.x=this.getPosByDate(e),t},e.prototype.getNoWorkingIntervalSize=function(e){return new r.Size(this.getWidthByDateRange(e.start,e.end),this.getVerticalGridLineHeight())},e.prototype.getVerticalGridLineHeight=function(){return Math.max(this.visibleTaskAreaSize.height-this.scrollBarHeight,this.tickSize.height*this.verticalTickCount)},e.prototype.getConnectorInfo=function(e,t,n,r){for(var i=new Array,o=this.getConnectorPoints(t,n,r),s=0;si.y?o.Position.Top:o.Position.Bottom:r.x>i.x?o.Position.Left:o.Position.Right},e.prototype.getArrowClassName=function(t){var n=e.arrowClassName;switch(t){case o.Position.Left:n=n.concat(\" \",e.leftArrowClassName);break;case o.Position.Top:n=n.concat(\" \",e.topArrowClassName);break;case o.Position.Right:n=n.concat(\" \",e.rightArrowClassName);break;case o.Position.Bottom:n=n.concat(\" \",e.bottomArrowClassName)}return n},e.prototype.getArrowPositionByClassName=function(t){return t.indexOf(e.leftArrowClassName)>-1?o.Position.Left:t.indexOf(e.topArrowClassName)>-1?o.Position.Top:t.indexOf(e.rightArrowClassName)>-1?o.Position.Right:t.indexOf(e.bottomArrowClassName)>-1?o.Position.Bottom:void 0},e.prototype.getArrowPoint=function(e,t){return new a.Point(this.getArrowX(e,t),this.getArrowY(e,t))},e.prototype.getArrowX=function(e,t){switch(t){case o.Position.Left:return e.position.x-this.arrowSize.width/2;case o.Position.Right:return e.position.x+e.size.width-this.arrowSize.width/2;case o.Position.Top:case o.Position.Bottom:return e.position.x-(this.arrowSize.width-this.lineThickness)/2}},e.prototype.getArrowY=function(e,t){switch(t){case o.Position.Top:return e.position.y-this.arrowSize.height/2;case o.Position.Bottom:return e.position.y+e.size.height-this.arrowSize.height/2;case o.Position.Left:case o.Position.Right:return e.position.y-(this.arrowSize.height-this.lineThickness)/2}},e.prototype.getPosByDate=function(e){return this.getWidthByDateRange(this.range.start,e)},e.prototype.getWidthByDateRange=function(e,t){return l.DateUtils.getRangeTickCount(e,t,this.viewType)*this.tickSize.width},e.prototype.getDateByPos=function(e){if(this.viewType===o.ViewType.Months||this.viewType===o.ViewType.Quarter)return this.getDateByPosInMonthBasedViewTypes(e);var t=e/this.tickSize.width,n=new Date(this.range.start);return l.DateUtils.getDSTCorrectedTaskEnd(n,t*this.tickTimeSpan)},e.prototype.getDateByPosInMonthBasedViewTypes=function(e){return this._scaleCalculator.getDateInScale(e)},e.prototype.getConnectorPoints=function(e,t,n){switch(n){case u.DependencyType.FS:return this.getFinishToStartConnectorPoints(e,t);case u.DependencyType.SF:return this.getStartToFinishConnectorPoints(e,t);case u.DependencyType.SS:return this.getStartToStartConnectorPoints(e,t);case u.DependencyType.FF:return this.getFinishToFinishConnectorPoints(e,t);default:return new Array}},e.prototype.getFinishToStartConnectorPoints=function(e,t){return e=this.getTask(t).end?this.getConnectorPoints_FromTopTaskLeftSide_ToBottomTaskTopSide(e,t,!0):this.getConnectorPoints_FromTopTaskLeftSide_ToBottomTaskRightSide(e,t,!1):this.getTask(e).start>=this.getTask(t).end?this.getConnectorPoints_FromTopTaskBottomSide_ToBottomTaskLeftSide(t,e,!0):this.getConnectorPoints_FromTopTaskRightSide_ToBottomTaskLeftSide(t,e,!0)},e.prototype.getConnectorPoints_FromTopTaskRightSide_ToBottomTaskTopSide=function(e,t,n){var r=new Array,i=this.getTaskPoint(e),o=this.getTaskPoint(t),s=this.getTaskRightCenter(i,e),l=this.getTask(t).isMilestone(),c=this.getTaskTopCenter(o,t),u=this.getHorizontalIndentFromTaskEdge(t,n);return r.push(new a.Point(Math.floor(s.x),Math.floor(s.y))),r.push(new a.Point(Math.floor(l?c.x:o.x+u),Math.floor(r[0].y))),r.push(new a.Point(Math.floor(r[1].x),Math.floor(c.y))),r},e.prototype.getConnectorPoints_FromTopTaskRightSide_ToBottomTaskRightSide=function(e,t){var n=new Array,r=this.getTaskPoint(e),i=this.getTaskPoint(t),o=this.getTaskRightCenter(r,e),s=this.getTaskRightCenter(i,t);return n.push(new a.Point(Math.floor(o.x),Math.floor(o.y))),n.push(new a.Point(Math.floor(Math.max(o.x,s.x)+this.minLineLength),Math.floor(n[0].y))),n.push(new a.Point(Math.floor(n[1].x),Math.floor(s.y))),n.push(new a.Point(Math.floor(s.x),Math.floor(s.y))),n},e.prototype.getConnectorPoints_FromTopTaskRightSide_ToBottomTaskLeftSide=function(e,t,n){var r=new Array,i=this.getTaskPoint(e),o=this.getTaskPoint(t),s=this.getTaskRightCenter(i,e),l=this.getTaskBottomCenter(i,e),c=this.getTaskLeftCenter(o,t),u=this.getTaskTopCenter(o,t),d=n?this.getViewItem(e):this.getViewItem(t),p=d.isCustom?(this.tickSize.height-d.size.height)/2:this.minConnectorSpaceFromTask;return r.push(new a.Point(Math.floor(s.x),Math.floor(s.y))),r.push(new a.Point(Math.floor(r[0].x+this.minLineLength),Math.floor(r[0].y))),r.push(new a.Point(Math.floor(r[1].x),Math.floor(n?l.y+p:u.y-p))),r.push(new a.Point(Math.floor(c.x-this.minLineLength),Math.floor(r[2].y))),r.push(new a.Point(Math.floor(r[3].x),Math.floor(c.y))),r.push(new a.Point(Math.floor(c.x),Math.floor(c.y))),r},e.prototype.getConnectorPoints_FromTopTaskBottomSide_ToBottomTaskRightSide=function(e,t,n){var r=new Array,i=this.getTaskPoint(e),o=this.getTaskPoint(t),s=this.getTaskBottomCenter(i,e),l=this.getTask(e).isMilestone(),c=this.getTaskRightCenter(o,t),u=this.getHorizontalIndentFromTaskEdge(e,n);return r.push(new a.Point(Math.floor(l?s.x:i.x+u),Math.floor(s.y))),r.push(new a.Point(Math.floor(r[0].x),Math.floor(c.y))),r.push(new a.Point(Math.floor(c.x),Math.floor(c.y))),r},e.prototype.getConnectorPoints_FromTopTaskBottomSide_ToBottomTaskLeftSide=function(e,t,n){var r=new Array,i=this.getTaskPoint(e),o=this.getTaskPoint(t),s=this.getTaskBottomCenter(i,e),l=this.getTask(e).isMilestone(),c=this.getTaskLeftCenter(o,t),u=this.getHorizontalIndentFromTaskEdge(e,n);return r.push(new a.Point(Math.floor(l?s.x:i.x+u),Math.floor(s.y))),r.push(new a.Point(Math.floor(r[0].x),Math.floor(c.y))),r.push(new a.Point(Math.floor(c.x),Math.floor(c.y))),r},e.prototype.getConnectorPoints_FromTopTaskLeftSide_ToBottomTaskTopSide=function(e,t,n){var r=new Array,i=this.getTaskPoint(e),o=this.getTaskPoint(t),s=this.getTaskLeftCenter(i,e),l=this.getTaskTopCenter(o,t),c=this.getTask(t).isMilestone(),u=this.getHorizontalIndentFromTaskEdge(t,n);return r.push(new a.Point(Math.floor(s.x),Math.floor(s.y))),r.push(new a.Point(Math.floor(c?l.x:o.x+u),Math.floor(r[0].y))),r.push(new a.Point(Math.floor(r[1].x),Math.floor(l.y))),r},e.prototype.getConnectorPoints_FromTopTaskLeftSide_ToBottomTaskRightSide=function(e,t,n){var r=new Array,i=this.getTaskPoint(e),o=this.getTaskPoint(t),s=this.getTaskLeftCenter(i,e),l=this.getTaskBottomCenter(i,e),c=this.getTaskRightCenter(o,t),u=this.getTaskTopCenter(o,t),d=n?this.getViewItem(e):this.getViewItem(t),p=d.isCustom?(this.tickSize.height-d.size.height)/2:this.minConnectorSpaceFromTask;return r.push(new a.Point(Math.floor(s.x),s.y)),r.push(new a.Point(Math.floor(r[0].x-this.minLineLength),r[0].y)),r.push(new a.Point(Math.floor(r[1].x),Math.floor(n?l.y+p:u.y-p))),r.push(new a.Point(Math.floor(c.x+this.minLineLength),Math.floor(r[2].y))),r.push(new a.Point(Math.floor(r[3].x),Math.floor(c.y))),r.push(new a.Point(Math.floor(c.x),Math.floor(c.y))),r},e.prototype.getConnectorPoints_FromTopTaskLeftSide_ToBottomTaskLeftSide=function(e,t){var n=new Array,r=this.getTaskPoint(e),i=this.getTaskPoint(t),o=this.getTaskLeftCenter(r,e),s=this.getTaskLeftCenter(i,t);return n.push(new a.Point(Math.floor(o.x),Math.floor(o.y))),n.push(new a.Point(Math.floor(Math.min(o.x,s.x)-this.minLineLength),Math.floor(n[0].y))),n.push(new a.Point(Math.floor(n[1].x),Math.floor(s.y))),n.push(new a.Point(Math.floor(s.x),Math.floor(s.y))),n},e.prototype.getTaskSidePoints=function(e){var t=this.getTaskPoint(e);return[this.getTaskLeftCenter(t,e),this.getTaskTopCenter(t,e),this.getTaskRightCenter(t,e),this.getTaskBottomCenter(t,e)]},e.prototype.getTaskLeftCenter=function(e,t){return new a.Point(e.x-this.getTaskEdgeCorrection(t),e.y+this.getTaskHeight(t)/2)},e.prototype.getTaskRightCenter=function(e,t){return new a.Point(e.x+this.getTaskWidth(t)+this.getTaskEdgeCorrection(t),e.y+this.getTaskHeight(t)/2)},e.prototype.getTaskTopCenter=function(e,t){return new a.Point(e.x+this.getTaskWidth(t)/2,e.y-this.getTaskEdgeCorrection(t))},e.prototype.getTaskBottomCenter=function(e,t){return new a.Point(e.x+this.getTaskWidth(t)/2,e.y+this.getTaskHeight(t)+this.getTaskEdgeCorrection(t))},e.prototype.getTaskEdgeCorrection=function(e){var t=this.getViewItem(e);return t.task.isMilestone()&&!t.isCustom?this.getTaskHeight(e)*(Math.sqrt(2)-1)/2:0},e.prototype.getHorizontalIndentFromTaskEdge=function(e,t){void 0===t&&(t=!1);var n=this.getTaskWidth(e),r=this.minLineLength0}))[0];if(n){var r=n.dependencies.filter((function(t){return t.id===e}))[0];t=this.createConnecotInfo(r,n.visibleIndex)}return t},e.prototype.createConnecotInfo=function(e,t){var n=this,r=e.predecessor.visibleIndex,i=e.type,o=e.id,s=this.getConnectorInfo(o,r,t,i);return s.forEach((function(e){n.addElementInfoToTileMap(e,n.tileToDependencyMap,!0)})),s},e.prototype.createTileToNonWorkingIntervalsMap=function(){this.tileToNoWorkingIntervalsMap=[];for(var e=0;e0)for(var s=Math.floor(r/o),a=Math.floor((r+i)/o),l=s;l<=a;l++)t[l]||(t[l]=new Array),t[l].push(e)},e.prototype.getRenderedConnectorLines=function(e){return this.getElementsInRenderedTiles(this.tileToDependencyMap,!0,e)},e.prototype.getRenderedNoWorkingIntervals=function(e){return this.getElementsInRenderedTiles(this.tileToNoWorkingIntervalsMap,!1,e)},e.prototype.getRenderedStripLines=function(e){var t=new Array,n=e.stripLines.map((function(e){return e.clone()}));e.showCurrentTime&&n.push(new c.StripLine(new Date,null,e.currentTimeTitle,e.currentTimeCssClass,!0));for(var r=0,i=void 0;i=n[r];r++){var o=l.DateUtils.parse(i.start),a=i.end?l.DateUtils.parse(i.end):null;if(o>=this.range.start&&o<=this.range.end||a&&a>=this.range.start&&a<=this.range.end){var u=o>this.range.start?o:this.range.start,d=new s.GridElementInfo;d.size.height=this.getVerticalGridLineHeight(),d.position.x=this.getPosByDate(u),d.size.width=a?this.getWidthByDateRange(u,a0)for(var o=Math.floor(n/(2*i)),s=Math.floor((n+i)/(2*i)),a=o;a<=s;a++)e[a]&&e[a].forEach((function(e){-1===r.indexOf(e)&&r.push(e)}));return r},e.prototype.isTaskInRenderedRange=function(e){var t=this.getViewItem(e),n=this.getTaskPoint(e);return t.task.isMilestone()?n.x+this.getTaskWidth(e)this.getTotalWidth()&&(e.style.display=\"none\")},e.prototype.checkAndCorrectArrowElementDisplayByRange=function(e){e.offsetLeft+e.offsetWidth>this.getTotalWidth()&&(e.style.display=\"none\")},e.prototype.checkAndCorrectConnectorLinesByRange=function(e){if(null==e?void 0:e.length)for(var t=this.getTotalWidth(),n=0;nt?delete e[n]:!i&&r.position.x+r.size.width>t&&(r.size.width=t-r.position.x)}},e.prototype.getCorrectedTaskWidthByRange=function(e,t){var n=this.getTotalWidth()-this.getTaskPoint(e).x;return Math.min(n,t)},e.dxGanttPrefix=\"dx-gantt-\",e.taskClassName=e.dxGanttPrefix+\"task\",e.milestoneClassName=e.dxGanttPrefix+\"milestone\",e.smallTaskClassName=e.dxGanttPrefix+\"smallTask\",e.parentTaskClassName=e.dxGanttPrefix+\"parent\",e.taskProgressClassName=e.dxGanttPrefix+\"tPrg\",e.taskTitleClassName=e.dxGanttPrefix+\"taskTitle\",e.titleInClassName=e.dxGanttPrefix+\"titleIn\",e.titleOutClassName=e.dxGanttPrefix+\"titleOut\",e.taskResourceClassName=e.dxGanttPrefix+\"taskRes\",e.arrowClassName=e.dxGanttPrefix+\"arrow\",e.leftArrowClassName=e.dxGanttPrefix+\"LA\",e.topArrowClassName=e.dxGanttPrefix+\"TA\",e.rightArrowClassName=e.dxGanttPrefix+\"RA\",e.bottomArrowClassName=e.dxGanttPrefix+\"BA\",e.CLASSNAMES={CONNECTOR_VERTICAL:\"dx-gantt-conn-v\",CONNECTOR_HORIZONTAL:\"dx-gantt-conn-h\"},e}();t.GridLayoutCalculator=h},7072:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ScaleCalculator=t.ScaleItemInfo=void 0;var r=n(8900),i=n(6353),o=n(9201),s=n(2449),a=function(e,t,n,r){this.start=e,this.end=t,this.position=n,this.size=r};t.ScaleItemInfo=a;var l=function(){function e(){this.firstDayOfWeek=0}return e.prototype.setSettings=function(e,t,n,r){void 0===r&&(r=0),this.range=e,this.viewType=t,this.tickSize=n,this.firstDayOfWeek=r,this.reset()},e.prototype.setViewType=function(e){this.viewType=e,this.reset()},e.prototype.reset=function(){delete this._bottomScaleItems,delete this._topScaleItems,delete this._scaleWidth},e.prototype.getScaleIndexByPos=function(e,t){null!=t||(t=this.viewType);var n=t===this.viewType?this.bottomScaleItems:this.topScaleItems,r=-1;if(n.findIndex)r=n.findIndex((function(t){return e>=t.position.x&&e<=t.position.x+t.size.width}));else{var i=n.filter((function(t){return e>=t.position.x&&e<=t.position.x+t.size.width}))[0];i&&(r=n.indexOf(i))}return r},e.prototype.getScaleBorderPosition=function(e,t){var n=this.getScaleItems(t)[e];if(n)return n.position.x+n.size.width},e.prototype.getScaleItems=function(e){return e===this.viewType?this.bottomScaleItems:e===o.DateUtils.ViewTypeToScaleMap[this.viewType]?this.topScaleItems:null},e.prototype.getScaleItem=function(e,t){return this.getScaleItems(t)[e]},e.prototype.getScaleItemAdjustedStart=function(e,t){var n=this.getScaleItems(t)[e];if(e>0)return n.start;var r=t!==this.viewType,i=r?o.DateUtils.adjustStartDateByViewType(this.range.start,this.viewType,this.firstDayOfWeek):this.getAdjustedBottomScaleItemStart(n.start,t,this.firstDayOfWeek);if(r&&t===s.ViewType.Months){var a=this.range.start;i=new Date(a.getFullYear(),a.getMonth(),1)}if(r&&t===s.ViewType.FiveYears){var l=5*Math.trunc(i.getFullYear()/5);i=new Date(l,i.getMonth(),i.getDate())}return i},Object.defineProperty(e.prototype,\"topScaleItems\",{get:function(){var e;return null!==(e=this._topScaleItems)&&void 0!==e||(this._topScaleItems=this.calculateTopScale(o.DateUtils.ViewTypeToScaleMap[this.viewType])),this._topScaleItems},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"bottomScaleItems\",{get:function(){var e;return null!==(e=this._bottomScaleItems)&&void 0!==e||(this._bottomScaleItems=this.calculateBottomScale(this.viewType)),this._bottomScaleItems},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"scaleWidth\",{get:function(){var e;return null!==(e=this._scaleWidth)&&void 0!==e||(this._scaleWidth=this.calculateScaleWidth()),this._scaleWidth},enumerable:!1,configurable:!0}),e.prototype.getFirstScaleIndexForRender=function(e){var t=this.getScaleIndexByPos(e);return t=Math.max(t-10,0)},e.prototype.getLastScaleIndexForRender=function(e){var t=this.getScaleIndexByPos(e);return t=-1===t?this.bottomScaleItems.length-1:Math.min(t+10,this.bottomScaleItems.length-1)},e.prototype.getTopScaleIndexByBottomIndex=function(e){var t=this.bottomScaleItems[e];return t?this.getScaleIndexByPos(t.position.x,o.DateUtils.ViewTypeToScaleMap[this.viewType]):-1},e.prototype.calculateBottomScale=function(e){for(var t=new Array,n=this.tickSize.width,l=this.range.start,c=0;l.getTime()=this.range.end.getTime(),h=d||p||e>s.ViewType.Hours&&o.DateUtils.hasDST()?this.getRangeTickCount(l,u)*n:n;t.push(new a(l,u,new r.Point(c,void 0),new i.Size(h,0))),l=u,c+=h}return t},e.prototype.calculateTopScale=function(e){for(var t=new Array,n=this.range.end.getTime(),o=this.range.start,s=0,l=0;o.getTime()=h&&u<=f){var g=(u-h)/(f-h)*p.size.width+p.position.x;t.push(new a(o,c,new r.Point(s,void 0),new i.Size(g-s,0))),l=d,s=g,o=c;break}}return t},e.prototype.getDateInScale=function(e){for(var t=0;t=i&&e<=i+r){var o=n.start.getTime(),s=(e-i)/r*(n.end.getTime()-o);return new Date(n.start.getTime()+s)}}return new Date(this.range.end)},e.prototype.getNextScaleDate=function(e,t){var n;switch(t){case s.ViewType.TenMinutes:n=this.getNextDateInTenMinutesScale(e);break;case s.ViewType.Hours:n=this.getNextDateInHoursScale(e);break;case s.ViewType.SixHours:n=this.getNextDateInSixHoursScale(e);break;case s.ViewType.Days:n=this.getNextDateInDaysScale(e);break;case s.ViewType.Weeks:n=this.getNextDateInWeeksScale(e,this.firstDayOfWeek);break;case s.ViewType.Months:n=this.getNextDateInMonthsScale(e);break;case s.ViewType.Quarter:n=this.getNextDateInQuartersScale(e);break;case s.ViewType.Years:n=this.getNextDateInYearsScale(e);break;case s.ViewType.FiveYears:n=this.getNextDateInFiveYearsScale(e)}return n.getTime()>this.range.end.getTime()&&(n=this.range.end),n},e.prototype.getNextTimeBySpan=function(e,t){return(Math.trunc(e/t)+1)*t},e.prototype.getNextDateInTenMinutesScale=function(e){var t=this.getNextTimeBySpan(e.getMinutes(),10);return new Date(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),t)},e.prototype.getNextDateInHoursScale=function(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours()+1)},e.prototype.getNextDateInSixHoursScale=function(e){var t=this.getNextTimeBySpan(e.getHours(),6);return new Date(e.getFullYear(),e.getMonth(),e.getDate(),t)},e.prototype.getNextDateInDaysScale=function(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate()+1)},e.prototype.getNextDateInWeeksScale=function(e,t){return void 0===t&&(t=0),new Date(e.getFullYear(),e.getMonth(),e.getDate()-e.getDay()+t+7)},e.prototype.getNextDateInMonthsScale=function(e){return new Date(e.getFullYear(),e.getMonth()+1,1)},e.prototype.getNextDateInQuartersScale=function(e){var t=this.getNextTimeBySpan(e.getMonth(),3);return new Date(e.getFullYear(),t,1)},e.prototype.getNextDateInYearsScale=function(e){return new Date(e.getFullYear()+1,0,1)},e.prototype.getNextDateInFiveYearsScale=function(e){var t=this.getNextTimeBySpan(e.getFullYear(),5);return new Date(t,0,1)},e.prototype.getAdjustedBottomScaleItemStart=function(e,t,n){switch(void 0===n&&(n=0),t){case s.ViewType.TenMinutes:return new Date(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),10*Math.floor(e.getMinutes()/10));case s.ViewType.SixHours:return new Date(e.getFullYear(),e.getMonth(),e.getDate(),6*Math.floor(e.getHours()/6));case s.ViewType.Hours:return new Date(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours());case s.ViewType.Days:return new Date(e.getFullYear(),e.getMonth(),e.getDate());case s.ViewType.Weeks:return new Date(e.getFullYear(),e.getMonth(),e.getDate()-e.getDay()+n);case s.ViewType.Months:return new Date(e.getFullYear(),e.getMonth(),1);case s.ViewType.Quarter:return new Date(e.getFullYear(),3*Math.floor(e.getMonth()/3),1);case s.ViewType.Years:return new Date(e.getFullYear(),0,1);default:return new Date}},e.prototype.calculateScaleWidth=function(){return this.bottomScaleItems.reduce((function(e,t){return e+t.size.width}),0)},e.prototype.getScaleItemColSpan=function(e){return e.valueOf()===this.viewType.valueOf()?1:this.viewType===s.ViewType.TenMinutes?6:this.viewType===s.ViewType.Hours?24:this.viewType===s.ViewType.SixHours?4:this.viewType===s.ViewType.Days?7:this.viewType===s.ViewType.Weeks?4.29:this.viewType===s.ViewType.Months?12:this.viewType===s.ViewType.Quarter?4:this.viewType===s.ViewType.Years?5:1},e.prototype.getRangeTickCount=function(e,t){return o.DateUtils.getRangeTickCount(e,t,this.viewType)},e}();t.ScaleCalculator=l},9377:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskAreaContainer=void 0;var n=function(){function e(e,t){this.element=e,this.onScrollHandler=function(){t.updateView()},this.element.addEventListener(\"scroll\",this.onScrollHandler)}return Object.defineProperty(e.prototype,\"scrollTop\",{get:function(){return this.element.scrollTop},set:function(e){this.element.scrollTop=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"scrollLeft\",{get:function(){return this.element.scrollLeft},set:function(e){this.element.scrollLeft=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"scrollWidth\",{get:function(){return this.element.scrollWidth},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"scrollHeight\",{get:function(){return this.element.scrollHeight},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"isExternal\",{get:function(){return!1},enumerable:!1,configurable:!0}),e.prototype.getWidth=function(){return this.element.offsetWidth},e.prototype.getHeight=function(){return this.element.offsetHeight},e.prototype.getElement=function(){return this.element},e.prototype.detachEvents=function(){this.element.removeEventListener(\"scroll\",this.onScrollHandler)},e}();t.TaskAreaContainer=n},6923:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ConnectorLinesRender=void 0;var r=n(658),i=n(1855),o=function(){function e(e){this._connectorLinesToElementsMap={},this._renderedConnectorLines=[],this._renderHelper=e}return Object.defineProperty(e.prototype,\"taskEditController\",{get:function(){return this._renderHelper.taskEditController},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskAreaContainerScrollTop\",{get:function(){return this._renderHelper.ganttViewTaskAreaContainerScrollTop},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"gridLayoutCalculator\",{get:function(){return this._renderHelper.gridLayoutCalculator},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"connectorLinesToElementsMap\",{get:function(){return this._connectorLinesToElementsMap},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskArea\",{get:function(){return this._renderHelper.taskArea},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"invalidTaskDependencies\",{get:function(){return this._renderHelper.invalidTaskDependencies},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"showDependencies\",{get:function(){return this._renderHelper.showDependencies},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"renderedConnectorLines\",{get:function(){return this._renderedConnectorLines},enumerable:!1,configurable:!0}),e.prototype.reset=function(){this._connectorLinesToElementsMap={},this._renderedConnectorLines=[]},e.prototype.createConnectorLineElement=function(e){if(this.showDependencies){var t=e.attr[\"dependency-id\"];if(!this.invalidTaskDependencies.some((function(e){return e.id==t}))){this.taskEditController.isDependencySelected(t)&&(e.className=e.className+\" active\");var n=e.className.indexOf(i.GridLayoutCalculator.arrowClassName)>-1,o=r.RenderElementUtils.create(e,null,this.taskArea,this.connectorLinesToElementsMap);return n&&this.gridLayoutCalculator.checkAndCorrectArrowElementDisplayByRange(o),o}}},e.prototype.removeConnectorLineElement=function(e){r.RenderElementUtils.remove(e,null,this.taskArea,this.connectorLinesToElementsMap)},e.prototype.recreateConnectorLineElement=function(e,t){var n=this;void 0===t&&(t=!1);var r=[];this._renderedConnectorLines=this.renderedConnectorLines.filter((function(t){return t.attr[\"dependency-id\"]!=e||(r.push(t),!1)}));var i=r.length>0;r.forEach((function(e){n.removeConnectorLineElement(e)})),r=this.gridLayoutCalculator.updateTileToConnectorLinesMap(e),(i||t)&&r.forEach((function(e){n.createConnectorLineElement(e),n.renderedConnectorLines.push(e)}))},e.prototype.recreateConnectorLineElements=function(){var e=this,t=this.gridLayoutCalculator.getRenderedConnectorLines(this.taskAreaContainerScrollTop);r.RenderElementUtils.recreate(this.renderedConnectorLines,t,(function(t){e.removeConnectorLineElement(t)}),(function(t){e.createConnectorLineElement(t)})),this._renderedConnectorLines=t},e.prototype.updateRenderedConnectorLinesId=function(e,t){for(var n in this._renderedConnectorLines.forEach((function(n){n.attr[\"dependency-id\"]===e&&(n.attr[\"dependency-id\"]=t)})),this.connectorLinesToElementsMap)if(Object.prototype.hasOwnProperty.call(this.connectorLinesToElementsMap,n)){var r=this.connectorLinesToElementsMap[n];r.getAttribute(\"dependency-id\")===e&&r.setAttribute(\"dependency-id\",t)}this.gridLayoutCalculator.updateTileToConnectorLinesMap(e),this.gridLayoutCalculator.updateTileToConnectorLinesMap(t)},e}();t.ConnectorLinesRender=o},1419:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CustomTaskRender=void 0;var r=n(2449),i=n(658),o=function(){function e(e,t){this._pendingTemplateFuncsToRender=[],this._renderHelper=e,this._taskRender=t}return Object.defineProperty(e.prototype,\"gridLayoutCalculator\",{get:function(){return this._renderHelper.gridLayoutCalculator},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"tickSize\",{get:function(){return this._renderHelper.tickSize},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskTitlePosition\",{get:function(){return this._renderHelper.taskTitlePosition},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskElements\",{get:function(){return this._taskRender.taskElements},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskArea\",{get:function(){return this._renderHelper.taskArea},enumerable:!1,configurable:!0}),e.prototype.getViewItem=function(e){return this._renderHelper.getViewItem(e)},e.prototype.getTask=function(e){return this._renderHelper.getTask(e)},e.prototype.destroyTemplate=function(e){this._renderHelper.destroyTemplate(e)},e.prototype.getTaskDependencies=function(e){return this._renderHelper.getTaskDependencies(e)},e.prototype.getTaskResources=function(e){return this._renderHelper.getTaskResources(e)},e.prototype.attachEventsOnTask=function(e){this._renderHelper.attachEventsOnTask(e)},e.prototype.recreateConnectorLineElement=function(e,t){void 0===t&&(t=!1),this._renderHelper.recreateConnectorLineElement(e,t)},e.prototype.createTaskSelectionElement=function(e){this._taskRender.createTaskSelectionElement(e)},e.prototype.createCustomTaskElement=function(e,t){if(this._saveTemplateFuncToStack(e,t),!this._hasRepeatedTemplateRenderCall(e)){var n=this.getViewItem(e);n.isCustom=!1;var r=document.createElement(\"DIV\"),i=this.createCustomTaskInformation(e);n.isCustom=!0,t(r,i,this.onTaskTemplateContainerRendered.bind(this),e)}},e.prototype.onTaskTemplateContainerRendered=function(e,t){var n=this;if(this._hasRepeatedTemplateRenderCall(t)){e&&this._renderHelper.destroyTemplate(e);var r=this._getLastPendingTemplateFunc(t);setTimeout((function(){return n.createCustomTaskElement(t,r)}))}else this.drawCustomTask(e,t);this._clearTemplateFuncsStack(t)},e.prototype._saveTemplateFuncToStack=function(e,t){var n,r;null!==(n=(r=this._pendingTemplateFuncsToRender)[e])&&void 0!==n||(r[e]=[]),this._pendingTemplateFuncsToRender[e].push(t)},e.prototype._clearTemplateFuncsStack=function(e){this._pendingTemplateFuncsToRender[e]=[]},e.prototype._hasRepeatedTemplateRenderCall=function(e){return this._pendingTemplateFuncsToRender[e].length>1},e.prototype._getLastPendingTemplateFunc=function(e){var t=this._pendingTemplateFuncsToRender[e];return t[t.length-1]},e.prototype.createCustomTaskWrapperElement=function(e,t){i.RenderElementUtils.create(t,e,this.taskArea,this.taskElements)},e.prototype.createCustomTaskVisualElement=function(e,t){return i.RenderElementUtils.create(t,e,this.taskElements[e])},e.prototype.drawCustomTask=function(e,t){var n=this;if(this.taskElements[t]){var r=this.getViewItem(t);if(r.visible=!!e.innerHTML,this.taskElements[t].innerHTML=e.innerHTML,r.size.height=this.taskElements[t].offsetHeight,r.size.width=this.taskElements[t].offsetWidth,this.destroyTemplate(this.taskElements[t]),this._taskRender.removeTaskElement(t),r.visible){var i=this.gridLayoutCalculator.getTaskWrapperElementInfo(t);this.createCustomTaskWrapperElement(t,i),this.taskElements[t].appendChild(e),this.attachEventsOnTask(t)}else{var o=this.getTaskDependencies(r.task.internalId);o.length&&(this._taskRender.addInvalidTaskDependencies(o),o.forEach((function(e){return n.recreateConnectorLineElement(e.internalId,!0)})))}this._taskRender.isHighlightRowElementAllowed(t)&&this._taskRender.createHighlightRowElement(t),r.selected&&this.createTaskSelectionElement(t)}},e.prototype.createCustomTaskInformation=function(e){var t=this.getTask(e),n=this.getViewItem(e),i=this.gridLayoutCalculator.getTaskWrapperElementInfo(e),o=this.gridLayoutCalculator.getTaskElementInfo(e,this.taskTitlePosition!==r.TaskTitlePosition.Inside);this.createCustomTaskWrapperElement(e,i);var s=this.createCustomTaskVisualElement(e,o);this._taskRender.createTaskTextElement(e,s);var a=this.getTaskResources(t.id);return{cellSize:this.tickSize,isMilestone:t.isMilestone(),isParent:!!(null==n?void 0:n.children.length),taskData:t,taskHTML:s,taskPosition:i.position,taskResources:a,taskSize:o.size}},e}();t.CustomTaskRender=o},9385:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.EtalonsHelper=void 0;var r=n(6907),i=n(2449),o=n(1391),s=n(658),a=function(){function e(e){this._renderHelper=e}return Object.defineProperty(e.prototype,\"mainElement\",{get:function(){return this._renderHelper.mainElement},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"etalonSizeValues\",{get:function(){return this._renderHelper.etalonSizeValues},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"scaleCount\",{get:function(){return this._renderHelper.scaleCount},enumerable:!1,configurable:!0}),e.prototype.getScaleItemTextTemplate=function(e){return this._renderHelper.getScaleItemTextTemplate(e)},e.prototype.getHeaderHeight=function(){return this._renderHelper.getHeaderHeight()},e.prototype.getSmallTaskWidth=function(e){return this._renderHelper.getSmallTaskWidth(e)},e.prototype.createEtalonElementsContainer=function(){var e=document.createElement(\"DIV\");return e.style.visibility=\"hidden\",e.style.position=\"absolute\",e.style.left=\"-1000px\",this.mainElement.appendChild(e),e},e.prototype.createEtalonElements=function(e){var t=[],n=s.RenderElementUtils.create(new o.GridElementInfo(\"dx-gantt-taskWrapper\"),null,e),r=s.RenderElementUtils.create(new o.GridElementInfo(\"dx-gantt-task\"),null,n);s.RenderElementUtils.create(new o.GridElementInfo(\"dx-gantt-taskTitle dx-gantt-titleIn\"),null,r).innerText=\"WWW\",t.push(n);var i=s.RenderElementUtils.create(new o.GridElementInfo(\"dx-gantt-taskWrapper\"),null,e);s.RenderElementUtils.create(new o.GridElementInfo(\"dx-gantt-task dx-gantt-milestone\"),null,i),t.push(i);for(var a=[\"dx-gantt-conn-h\",\"dx-gantt-arrow\",\"dx-gantt-si\",\"dx-gantt-taskTitle dx-gantt-titleOut\"],l=0;l{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ScaleCellPreparedArguments=void 0;var n=function(){function e(e){this.info=e}return Object.defineProperty(e.prototype,\"scaleIndex\",{get:function(){var e;return null===(e=this.info)||void 0===e?void 0:e.scaleIndex},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"scaleType\",{get:function(){var e;return null===(e=this.info)||void 0===e?void 0:e.scaleType},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"start\",{get:function(){var e,t;return null===(t=null===(e=this.info)||void 0===e?void 0:e.range)||void 0===t?void 0:t.start},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"end\",{get:function(){var e,t;return null===(t=null===(e=this.info)||void 0===e?void 0:e.range)||void 0===t?void 0:t.end},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"scaleElement\",{get:function(){var e;return null===(e=this.info)||void 0===e?void 0:e.scaleElement},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"separatorElement\",{get:function(){var e;return null===(e=this.info)||void 0===e?void 0:e.separatorElement},enumerable:!1,configurable:!0}),e}();t.ScaleCellPreparedArguments=n},2121:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.MainElementsRender=void 0;var n=function(){function e(){}return e.prototype.createMainElement=function(e){var t=document.createElement(\"DIV\");return t.style.width=e.offsetWidth+\"px\",t.style.height=e.offsetHeight+\"px\",t},e.prototype.createHeader=function(){var e=document.createElement(\"DIV\");return e.className=\"dx-gantt-header\",e},e}();t.MainElementsRender=n},1027:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.NoWorkingIntervalRender=void 0;var r=n(658),i=function(){function e(e){this._noWorkingIntervalsToElementsMap={},this._renderedNoWorkingIntervals=[],this._renderHelper=e}return Object.defineProperty(e.prototype,\"noWorkingIntervalsToElementsMap\",{get:function(){return this._noWorkingIntervalsToElementsMap},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskAreaContainerScrollLeft\",{get:function(){return this._renderHelper.ganttTaskAreaContainerScrollLeft},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"gridLayoutCalculator\",{get:function(){return this._renderHelper.gridLayoutCalculator},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskArea\",{get:function(){return this._renderHelper.taskArea},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"renderedNoWorkingIntervals\",{get:function(){return this._renderedNoWorkingIntervals},set:function(e){this._renderedNoWorkingIntervals=e},enumerable:!1,configurable:!0}),e.prototype.reset=function(){this._noWorkingIntervalsToElementsMap={},this._renderedNoWorkingIntervals=[]},e.prototype.createNoWorkingIntervalElement=function(e){return r.RenderElementUtils.create(e,null,this.taskArea,this.noWorkingIntervalsToElementsMap)},e.prototype.removeNoWorkingIntervalElement=function(e){r.RenderElementUtils.remove(e,null,this.taskArea,this.noWorkingIntervalsToElementsMap)},e.prototype.recreateNoWorkingIntervalElements=function(){var e=this,t=this.gridLayoutCalculator.getRenderedNoWorkingIntervals(this.taskAreaContainerScrollLeft);r.RenderElementUtils.recreate(this.renderedNoWorkingIntervals,t,(function(t){e.removeNoWorkingIntervalElement(t)}),(function(t){e.createNoWorkingIntervalElement(t)})),this.renderedNoWorkingIntervals=t},e}();t.NoWorkingIntervalRender=i},658:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.RenderElementUtils=void 0;var n=function(){function e(){}return e.create=function(e,t,n,r){var i=document.createElement(\"DIV\");for(var o in e.assignToElement(i),n.appendChild(i),r&&(r instanceof Array&&null!==t?r[t]=i:r[e.id]=i),e.attr)Object.prototype.hasOwnProperty.call(e.attr,o)&&i.setAttribute(o,e.attr[o]);for(var o in e.style)Object.prototype.hasOwnProperty.call(e.style,o)&&(i.style[o]=e.style[o]);return i},e.remove=function(e,t,n,r){var i;r instanceof Array&&null!==t?(i=r[t],delete r[t]):(i=r[e.id],delete r[e.id]),i&&i.parentNode==n&&n.removeChild(i)},e.recreate=function(e,t,n,r){e.filter((function(e){return-1===t.indexOf(e)})).forEach((function(e){n(e)})),t.filter((function(t){return-1===e.indexOf(t)})).forEach((function(e){r(e)}))},e}();t.RenderElementUtils=n},1074:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.RenderHelper=void 0;var r=n(6923),i=n(9385),o=n(8877),s=n(2366),a=n(1855),l=n(1027),c=n(4966),u=n(6700),d=n(8148),p=n(3682),h=n(2349),f=n(2290),g=n(2121),y=n(6353),m=n(9377),v=n(8380),T=function(){function e(e){this.hlRowElements=[],this.renderedColIndices=[],this.renderedRowIndices=[],this.invalidTaskDependencies=[],this.etalonSizeValues=new o.EtalonSizeValues,this._gridLayoutCalculator=new a.GridLayoutCalculator,this._ganttView=e,this._connectorLinesRender=new r.ConnectorLinesRender(this),this._etalonsHelper=new i.EtalonsHelper(this),this._noWorkingIntervalRender=new l.NoWorkingIntervalRender(this),this._resourceRender=new c.ResourseRender(this),this._scaleRender=new u.ScaleRender(this),this._stripLinesRender=new d.StripLinesRender(this),this._taskAreaRender=new h.TaskAreaRender(this),this._taskRender=new f.TaskRender(this),this._mainElementsRender=new g.MainElementsRender}return e.prototype.reset=function(){this.invalidTaskDependencies=[],this._taskAreaRender.reset(),this._taskRender.reset(),this._taskArea.innerHTML=\"\",this._scaleRender.reset(),this.hlRowElements=[],this.renderedRowIndices=[],this.renderedColIndices=[],this._connectorLinesRender.reset(),this._stripLinesRender.reset(),this._noWorkingIntervalRender.reset()},e.prototype.createMainElement=function(e){this.mainElement=this._mainElementsRender.createMainElement(e),e.appendChild(this.mainElement)},e.prototype.createHeader=function(){this.header=this._mainElementsRender.createHeader(),this.mainElement.appendChild(this.header)},e.prototype.init=function(e,t,n,r,i){void 0===i&&(i=0),this._elementTextHelper.setFont(this.mainElement),this.setupHelpers(e,t,n,r,i),this.setSizeForTaskArea(),this.createTimeScale(),this._taskAreaManager=new p.TaskAreaManager(this._ganttView.taskAreaEventsListener,this.taskArea,this.tickSize)},e.prototype.initMarkup=function(e){this._elementTextHelper=new v.ElementTextHelper(this.ganttViewSettings.cultureInfo),this.createMainElement(e),this.createHeader(),this._etalonsHelper.calculateEtalonSizeValues(),this._taskAreaRender.createTaskAreaContainer()},e.prototype.processScroll=function(e){this._taskAreaRender.recreateTaskAreaBordersAndTaskElements(e),e?this._connectorLinesRender.recreateConnectorLineElements():(this._noWorkingIntervalRender.recreateNoWorkingIntervalElements(),this._stripLinesRender.recreateStripLines(),this._scaleRender.recreateScalesElements())},Object.defineProperty(e.prototype,\"ganttViewSettings\",{get:function(){return this._ganttView.settings},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskTextHeightKey\",{get:function(){return s.GanttView.taskTextHeightKey},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"showResources\",{get:function(){return this.ganttViewSettings.showResources},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"showDependencies\",{get:function(){return this.ganttViewSettings.showDependencies},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"viewModelItems\",{get:function(){return this._ganttView.viewModel.items},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"stripLines\",{get:function(){return this.ganttViewSettings.stripLines},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"range\",{get:function(){return this._ganttView.range},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"viewType\",{get:function(){return this.ganttViewSettings.viewType},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskTitlePosition\",{get:function(){return this.ganttViewSettings.taskTitlePosition},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"tickSize\",{get:function(){return this._ganttView.tickSize},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"ganttViewTaskAreaContainerScrollTop\",{get:function(){return this._ganttView.taskAreaContainerScrollTop},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"ganttTaskAreaContainerScrollLeft\",{get:function(){return this._ganttView.taskAreaContainerScrollLeft},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"scaleCount\",{get:function(){return this._ganttView.scaleCount},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"areHorizontalBordersEnabled\",{get:function(){return this.ganttViewSettings.areHorizontalBordersEnabled},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskEditController\",{get:function(){return this._ganttView.taskEditController},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"dispatcher\",{get:function(){return this._ganttView.dispatcher},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskArea\",{get:function(){return this._taskArea},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskAreaManager\",{get:function(){var e;return null!==(e=this._taskAreaManager)&&void 0!==e||(this._taskAreaManager=new p.TaskAreaManager(this._ganttView.taskAreaEventsListener,this.taskArea,this.tickSize)),this._taskAreaManager},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskAreaContainerScrollTop\",{get:function(){return this._taskAreaRender.taskAreaContainer.scrollTop},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskAreaContainerScrollLeft\",{get:function(){return this._taskAreaRender.taskAreaContainer.scrollLeft},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskAreaContainer\",{get:function(){return this._taskAreaRender.taskAreaContainer},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"isExternalTaskAreaContainer\",{get:function(){return this._taskAreaRender.taskAreaContainer.isExternal},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"fakeTaskWrapper\",{get:function(){return this._taskRender.fakeTaskWrapper},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskElements\",{get:function(){return this._taskRender.taskElements},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"selectionElements\",{get:function(){return this._taskRender.selectionElements},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"scaleElements\",{get:function(){return this._scaleRender.scaleElements},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"scaleBorders\",{get:function(){return this._scaleRender.scaleBorders},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"timeScaleContainer\",{get:function(){return this._scaleRender.timeScaleContainer},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"gridLayoutCalculator\",{get:function(){return this._gridLayoutCalculator},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"etalonScaleItemWidths\",{get:function(){return this.etalonSizeValues.scaleItemWidths[this.viewType]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"elementTextHelperCultureInfo\",{get:function(){return this._elementTextHelper.cultureInfo},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"noWorkingIntervalsToElementsMap\",{get:function(){return this._noWorkingIntervalRender.noWorkingIntervalsToElementsMap},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"stripLinesMap\",{get:function(){return this._stripLinesRender.stripLinesMap},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"renderedConnectorLines\",{get:function(){return this._connectorLinesRender.renderedConnectorLines},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"allConnectorLines\",{get:function(){return this.gridLayoutCalculator.tileToDependencyMap.reduce((function(e,t){return e.concat(t)}),[])},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"resourcesElements\",{get:function(){return this._resourceRender.resourcesElements},enumerable:!1,configurable:!0}),e.prototype.setupHelpers=function(e,t,n,r,i){void 0===i&&(i=0);var o=new y.Size(this._taskAreaRender.taskAreaContainer.getWidth(),this._taskAreaRender.taskAreaContainer.getHeight()),s=this._taskAreaRender.taskAreaContainer.getHeight()-this._taskAreaRender.taskAreaContainer.getElement().clientHeight;this._gridLayoutCalculator.setSettings(o,e,this.etalonSizeValues,t,r,n,s,i),this._elementTextHelper.setSettings(t.start.getTime(),n,r.items)},e.prototype.resetAndUpdate=function(e,t,n,r,i){void 0===i&&(i=0);var o=this.getTaskAreaContainerScrollLeft();this.reset(),this.setupHelpers(e,t,n,r,i),this._scaleRender.createTimeScaleAreas(),this.setSizeForTaskArea(),this.setTaskAreaContainerScrollLeft(o)},e.prototype.createConnectorLines=function(){this._gridLayoutCalculator.createTileToConnectorLinesMap(),this._connectorLinesRender.recreateConnectorLineElements()},e.prototype.getTargetDateByPos=function(e){return this._gridLayoutCalculator.getDateByPos(this._taskAreaRender.taskAreaContainer.scrollLeft+e)},e.prototype.getExternalTaskAreaContainer=function(e){return this._ganttView.getExternalTaskAreaContainer(e)},e.prototype.prepareExternalTaskAreaContainer=function(e,t){return this._ganttView.prepareExternalTaskAreaContainer(e,t)},e.prototype.isAllowTaskAreaBorders=function(e){return this._ganttView.allowTaskAreaBorders(e)},e.prototype.getHeaderHeight=function(){return this._ganttView.getHeaderHeight()},e.prototype.getViewItem=function(e){return this._ganttView.getViewItem(e)},e.prototype.getTask=function(e){return this._ganttView.getTask(e)},e.prototype.hasTaskTemplate=function(){return!!this._ganttView.settings.taskContentTemplate},e.prototype.destroyTemplate=function(e){this._ganttView.destroyTemplate(e)},e.prototype.getTaskDependencies=function(e){return this._ganttView.getTaskDependencies(e)},e.prototype.getTaskResources=function(e){return this._ganttView.getTaskResources(e)},e.prototype.isHighlightRowElementAllowed=function(e){return this._ganttView.isHighlightRowElementAllowed(e)},e.prototype.updateRenderedConnectorLinesId=function(e,t){this._connectorLinesRender.updateRenderedConnectorLinesId(e,t)},e.prototype.recreateConnectorLineElement=function(e,t){void 0===t&&(t=!1),this._connectorLinesRender.recreateConnectorLineElement(e,t)},e.prototype.recreateConnectorLineElemensts=function(){this._connectorLinesRender.recreateConnectorLineElements()},e.prototype.setMainElementWidth=function(e){this.mainElement.style.width=e+\"px\"},e.prototype.setMainElementHeight=function(e){this.mainElement.style.height=e+\"px\"},e.prototype.createResources=function(e){this._resourceRender.createResourcesWrapperElement(e),this._resourceRender.createResources(e)},e.prototype.createTimeScale=function(){this._scaleRender.createTimeScaleContainer(this.header),this._scaleRender.createTimeScaleAreas()},e.prototype.setTimeScaleContainerScrollLeft=function(e){this._scaleRender.setTimeScaleContainerScrollLeft(e)},e.prototype.recreateStripLines=function(){this._stripLinesRender.recreateStripLines&&this._stripLinesRender.recreateStripLines()},e.prototype.createTaskArea=function(e){this._taskArea=this._taskAreaRender.createTaskArea(),this._taskArea.setAttribute(\"task-edit-enabled\",this.isTaskUpdateAllowed().toString()),e.appendChild(this._taskArea)},e.prototype.isTaskUpdateAllowed=function(){var e=this.ganttViewSettings.editing;return e.enabled&&e.allowTaskUpdate},e.prototype.setSizeForTaskArea=function(){var e=this.getTaskAreaWidth(),t=this.getTaskAreaHeight();this._taskAreaRender.setSizeForTaskArea(e,t),this._ganttView.onTaskAreaSizeChanged({width:e,height:t})},e.prototype.getTaskAreaWidth=function(){return this.gridLayoutCalculator.getTotalWidth()},e.prototype.getTaskAreaHeight=function(){return this.gridLayoutCalculator.getVerticalGridLineHeight()},e.prototype.getTaskAreaContainerScrollLeft=function(){return this._taskAreaRender.taskAreaContainer.scrollLeft},e.prototype.setTaskAreaContainerScrollLeft=function(e){this._taskAreaRender.taskAreaContainer.scrollLeft=e},e.prototype.setTaskAreaContainerScrollLeftToDate=function(e,t){this._taskAreaRender.taskAreaContainer.scrollLeft=Math.round(this._gridLayoutCalculator.getPosByDate(e))+t},e.prototype.getTaskAreaContainer=function(e){return new m.TaskAreaContainer(e,this._ganttView)},e.prototype.prepareTaskAreaContainer=function(){this._taskAreaRender.prepareTaskAreaContainer()},e.prototype.getTaskAreaContainerWidth=function(){return this._taskAreaRender.taskAreaContainer.getWidth()},e.prototype.createHighlightRowElement=function(e){this._taskAreaRender.createHighlightRowElement(e)},e.prototype.getSmallTaskWidth=function(e){return this._taskRender.getSmallTaskWidth(e)},e.prototype.createTaskElement=function(e){this._taskRender.createTaskElement(e,this._ganttView.settings.taskContentTemplate)},e.prototype.removeTaskElement=function(e){this._taskRender.removeTaskElement(e)},e.prototype.recreateTaskElement=function(e){this._taskRender.recreateTaskElement(e)},e.prototype.createDefaultTaskElement=function(e){this._taskRender.createDefaultTaskElement(e)},e.prototype.getScaleItemText=function(e,t){var n=this._gridLayoutCalculator.getScaleItemStart(e,t);return this.getScaleItemTextByStart(n,t)},e.prototype.getScaleItemTextByStart=function(e,t){return this._elementTextHelper.getScaleItemText(e,t)},e.prototype.getTextWidth=function(e){return this._elementTextHelper.getTextWidth(e)},e.prototype.getTaskVisibility=function(e){return this.gridLayoutCalculator.isTaskInRenderedRange(e)&&this._elementTextHelper.getTaskVisibility(e)},e.prototype.getTaskResourcesVisibility=function(e){return this.getTaskVisibility(e)&&!this.gridLayoutCalculator.isTaskCutByRange(e)},e.prototype.getScaleItemTextTemplate=function(e){return this._elementTextHelper.getScaleItemTextTemplate(e)},e.prototype.getTaskText=function(e){return this._elementTextHelper.getTaskText(e)},e.prototype.taskAreaManagerDetachEvents=function(){this.taskAreaManager.detachEvents()},e.prototype.attachEventsOnTask=function(e){this.taskAreaManager.attachEventsOnTask(this._taskRender.taskElements[e])},e.prototype.detachEventsOnTask=function(e){this.taskAreaManager.detachEventsOnTask(this._taskRender.taskElements[e])},e}();t.RenderHelper=T},4966:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ResourseRender=void 0;var r=n(658),i=function(){function e(e){this._resourcesElements=[],this._renderHelper=e}return Object.defineProperty(e.prototype,\"gridLayoutCalculator\",{get:function(){return this._renderHelper.gridLayoutCalculator},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskArea\",{get:function(){return this._renderHelper.taskArea},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"resourcesElements\",{get:function(){return this._resourcesElements},enumerable:!1,configurable:!0}),e.prototype.getViewItem=function(e){return this._renderHelper.getViewItem(e)},e.prototype.getTaskResourcesVisibility=function(e){return this._renderHelper.getTaskResourcesVisibility(e)},e.prototype.createResources=function(e){for(var t=this.getViewItem(e).resources.items,n=0;n{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ScaleRender=void 0;var r=n(6907),i=n(2449),o=n(9201),s=n(4289),a=n(658),l=function(){function e(e){this._scaleBorders=[],this._scaleElements=[],this._renderedScaleItemIndices=[],this._timeScaleAreas=new Array,this._renderHelper=e}return Object.defineProperty(e.prototype,\"gridLayoutCalculator\",{get:function(){return this._renderHelper.gridLayoutCalculator},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"etalonSizeValues\",{get:function(){return this._renderHelper.etalonSizeValues},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"timeScaleContainer\",{get:function(){return this._timeScaleContainer},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"scaleCount\",{get:function(){return this._renderHelper.scaleCount},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"range\",{get:function(){return this._renderHelper.range},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"viewType\",{get:function(){return this._renderHelper.viewType},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"timeScaleAreas\",{get:function(){return this._timeScaleAreas},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"scaleElements\",{get:function(){return this._scaleElements},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"scaleBorders\",{get:function(){return this._scaleBorders},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"renderedColIndices\",{get:function(){return this._renderHelper.renderedColIndices},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"renderedScaleItemIndices\",{get:function(){return this._renderedScaleItemIndices},enumerable:!1,configurable:!0}),e.prototype.getScaleItemText=function(e,t){return this._renderHelper.getScaleItemText(e,t)},e.prototype.getTaskAreaWidth=function(){return this._renderHelper.getTaskAreaWidth()},e.prototype.reset=function(){this._scaleBorders=[],this._scaleElements=[],this._renderedScaleItemIndices=[],this._timeScaleAreas=[],this._timeScaleContainer.innerHTML=\"\"},e.prototype.setTimeScaleContainerScrollLeft=function(e){this._timeScaleContainer.scrollLeft=e},e.prototype.createTimeScaleContainer=function(e){var t=document.createElement(\"DIV\");t.className=\"dx-gantt-tsac\",t.style.height=this.etalonSizeValues.scaleItemHeight*this.scaleCount+\"px\",this._timeScaleContainer=t,e.appendChild(this.timeScaleContainer)},e.prototype.createTimeScaleArea=function(){var e=document.createElement(\"DIV\");return e.className=\"dx-gantt-tsa\",e.style.width=this.getTaskAreaWidth()+\"px\",e.style.height=this.etalonSizeValues.scaleItemHeight+\"px\",this.timeScaleContainer.appendChild(e),this.timeScaleAreas.unshift(e),e},e.prototype.createTimeScaleAreas=function(){for(var e=0;e5*s){var l=this.getScaleItemText(e,n);a.innerText=l,n===i.ViewType.Quarter&&(a.style.padding=\"0\");var c=getComputedStyle(a);o.size.width-r.DomUtils.pxToInt(c.paddingLeft)-r.DomUtils.pxToInt(c.paddingRight){Object.defineProperty(t,\"__esModule\",{value:!0}),t.StripLinesRender=void 0;var r=n(658),i=function(){function e(e){this._stripLinesMap=[],this._renderedStripLines=[],this._renderHelper=e}return Object.defineProperty(e.prototype,\"gridLayoutCalculator\",{get:function(){return this._renderHelper.gridLayoutCalculator},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskArea\",{get:function(){return this._renderHelper.taskArea},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"stripLinesMap\",{get:function(){return this._stripLinesMap},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"renderedStripLines\",{get:function(){return this._renderedStripLines},set:function(e){this._renderedStripLines=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"stripLines\",{get:function(){return this._renderHelper.stripLines},enumerable:!1,configurable:!0}),e.prototype.reset=function(){this._renderedStripLines=[]},e.prototype.recreateStripLines=function(){var e=this,t=this.gridLayoutCalculator.getRenderedStripLines(this.stripLines);r.RenderElementUtils.recreate(this.renderedStripLines,t,(function(t){r.RenderElementUtils.remove(t,null,e.taskArea,e.stripLinesMap)}),(function(t){return r.RenderElementUtils.create(t,null,e.taskArea,e.stripLinesMap)})),this.renderedStripLines=t},e}();t.StripLinesRender=i},2349:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskAreaRender=void 0;var r=n(6907),i=n(658),o=function(){function e(e){this._vertTaskAreaBorders=[],this._horTaskAreaBorders=[],this._isExternalTaskAreaContainer=!1,this._renderHelper=e}return Object.defineProperty(e.prototype,\"gridLayoutCalculator\",{get:function(){return this._renderHelper.gridLayoutCalculator},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskArea\",{get:function(){return this._renderHelper.taskArea},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"mainElement\",{get:function(){return this._renderHelper.mainElement},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"etalonSizeValues\",{get:function(){return this._renderHelper.etalonSizeValues},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"scaleCount\",{get:function(){return this._renderHelper.scaleCount},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"tickSize\",{get:function(){return this._renderHelper.tickSize},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskAreaContainerScrollTop\",{get:function(){return this._renderHelper.ganttViewTaskAreaContainerScrollTop},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskAreaContainerScrollLeft\",{get:function(){return this._renderHelper.ganttTaskAreaContainerScrollLeft},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"areHorizontalBordersEnabled\",{get:function(){return this._renderHelper.areHorizontalBordersEnabled},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"renderedRowIndices\",{get:function(){return this._renderHelper.renderedRowIndices},set:function(e){this._renderHelper.renderedRowIndices=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"renderedColIndices\",{get:function(){return this._renderHelper.renderedColIndices},set:function(e){this._renderHelper.renderedColIndices=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"vertTaskAreaBorders\",{get:function(){return this._vertTaskAreaBorders},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"horTaskAreaBorders\",{get:function(){return this._horTaskAreaBorders},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"hlRowElements\",{get:function(){return this._renderHelper.hlRowElements},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskAreaContainer\",{get:function(){return this._taskAreaContainer},enumerable:!1,configurable:!0}),e.prototype.getExternalTaskAreaContainer=function(e){return this._renderHelper.getExternalTaskAreaContainer(e)},e.prototype.prepareExternalTaskAreaContainer=function(e,t){return this._renderHelper.prepareExternalTaskAreaContainer(e,t)},e.prototype.isAllowTaskAreaBorders=function(e){return this._renderHelper.isAllowTaskAreaBorders(e)},e.prototype.getTaskAreaContainerElement=function(){return this._taskAreaContainer.getElement()},e.prototype.initTaskAreaContainer=function(e){this._renderHelper.createTaskArea(e),this._taskAreaContainer=this.getExternalTaskAreaContainer(e),this._isExternalTaskAreaContainer=!!this._taskAreaContainer,null==this.taskAreaContainer&&(this._taskAreaContainer=this._renderHelper.getTaskAreaContainer(e))},e.prototype.createTaskElement=function(e){this._renderHelper.createTaskElement(e)},e.prototype.removeTaskElement=function(e){this._renderHelper.removeTaskElement(e)},e.prototype.reset=function(){this._horTaskAreaBorders=[],this._vertTaskAreaBorders=[]},e.prototype.prepareTaskAreaContainer=function(){var e=\"dx-gantt-tac-hb\",t=this.getTaskAreaContainerElement();this.areHorizontalBordersEnabled?r.DomUtils.addClassName(t,e):r.DomUtils.removeClassName(t,e);var n=parseInt(getComputedStyle(t).getPropertyValue(\"margin-top\"))||0,i=\"calc(100% - \".concat(this.etalonSizeValues.scaleItemHeight*this.scaleCount+n,\"px)\");this._isExternalTaskAreaContainer?this.prepareExternalTaskAreaContainer(t,{height:i}):t.style.height=i},e.prototype.createTaskAreaContainer=function(){var e=document.createElement(\"DIV\");e.className=\"dx-gantt-tac\",this.mainElement.appendChild(e),this.initTaskAreaContainer(e),this.prepareTaskAreaContainer()},e.prototype.createTaskAreaBorder=function(e,t){var n=this.gridLayoutCalculator.getTaskAreaBorderInfo(e,t);i.RenderElementUtils.create(n,e,this.taskArea,this.getTaskAreaBordersDictionary(t))},e.prototype.createTaskArea=function(){var e=document.createElement(\"DIV\");return e.id=\"dx-gantt-ta\",e},e.prototype.removeTaskAreaBorder=function(e,t){i.RenderElementUtils.remove(null,e,this.taskArea,this.getTaskAreaBordersDictionary(t))},e.prototype.createTaskAreaBorderAndTaskElement=function(e,t){this.isAllowTaskAreaBorders(t)&&this.createTaskAreaBorder(e,!t),t&&this.createTaskElement(e)},e.prototype.removeTaskAreaBorderAndTaskElement=function(e,t){this.isAllowTaskAreaBorders(t)&&this.removeTaskAreaBorder(e,!t),t&&this.removeTaskElement(e)},e.prototype.recreateTaskAreaBordersAndTaskElements=function(e){var t=this,n=e?this.taskAreaContainerScrollTop:this.taskAreaContainerScrollLeft,r=this.gridLayoutCalculator.getRenderedRowColumnIndices(n,e),o=e?this.renderedRowIndices:this.renderedColIndices;i.RenderElementUtils.recreate(o,r,(function(n){t.removeTaskAreaBorderAndTaskElement(n,e)}),(function(n){t.createTaskAreaBorderAndTaskElement(n,e)})),e?this.renderedRowIndices=r:this.renderedColIndices=r,this.gridLayoutCalculator.createTileToConnectorLinesMap()},e.prototype.getTaskAreaBordersDictionary=function(e){return e?this.vertTaskAreaBorders:this.horTaskAreaBorders},e.prototype.setSizeForTaskArea=function(e,t){this.taskArea.style.width=e+\"px\",this.taskArea.style.height=t+\"px\"},e.prototype.createHighlightRowElement=function(e){var t=this.gridLayoutCalculator.getHighlightRowInfo(e);i.RenderElementUtils.create(t,e,this.taskArea,this.hlRowElements)},e}();t.TaskAreaRender=o},2290:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskRender=void 0;var r=n(6907),i=n(2449),o=n(1419),s=n(658),a=function(){function e(e){this._selectionElements=[],this._taskElements=[],this._renderHelper=e,this.customTaskRender=new o.CustomTaskRender(e,this)}return Object.defineProperty(e.prototype,\"gridLayoutCalculator\",{get:function(){return this._renderHelper.gridLayoutCalculator},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskElements\",{get:function(){return this._taskElements},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"selectionElements\",{get:function(){return this._selectionElements},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskArea\",{get:function(){return this._renderHelper.taskArea},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"isExternalTaskAreaContainer\",{get:function(){return this._renderHelper.isExternalTaskAreaContainer},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"resourcesElements\",{get:function(){return this._renderHelper.resourcesElements},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"hlRowElements\",{get:function(){return this._renderHelper.hlRowElements},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"renderedRowIndices\",{get:function(){return this._renderHelper.renderedRowIndices},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskTitlePosition\",{get:function(){return this._renderHelper.taskTitlePosition},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"showResources\",{get:function(){return this._renderHelper.showResources},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"areHorizontalBordersEnabled\",{get:function(){return this._renderHelper.areHorizontalBordersEnabled},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"taskTextHeightKey\",{get:function(){return this._renderHelper.taskTextHeightKey},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"viewModelItems\",{get:function(){return this._renderHelper.viewModelItems},enumerable:!1,configurable:!0}),e.prototype.isHighlightRowElementAllowed=function(e){return this._renderHelper.isHighlightRowElementAllowed(e)},e.prototype.getTaskVisibility=function(e){return this._renderHelper.getTaskVisibility(e)},e.prototype.getTaskText=function(e){return this._renderHelper.getTaskText(e)},Object.defineProperty(e.prototype,\"invalidTaskDependencies\",{get:function(){return this._renderHelper.invalidTaskDependencies},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"fakeTaskWrapper\",{get:function(){var e;return null!==(e=this._fakeTaskWrapper)&&void 0!==e||(this._fakeTaskWrapper=this.createFakeTaskWrapper()),this._fakeTaskWrapper},enumerable:!1,configurable:!0}),e.prototype.getViewItem=function(e){return this._renderHelper.getViewItem(e)},e.prototype.getTask=function(e){return this._renderHelper.getTask(e)},e.prototype.createHighlightRowElement=function(e){this._renderHelper.createHighlightRowElement(e)},e.prototype.getTaskDependencies=function(e){return this._renderHelper.getTaskDependencies(e)},e.prototype.addInvalidTaskDependencies=function(e){this._renderHelper.invalidTaskDependencies=this._renderHelper.invalidTaskDependencies.concat(e)},e.prototype.removeInvalidTaskDependencies=function(e){this._renderHelper.invalidTaskDependencies=this._renderHelper.invalidTaskDependencies.filter((function(t){return t.predecessorId!=e||t.successorId!=e}))},e.prototype.createResources=function(e){this.showResources&&this._renderHelper.createResources(e)},e.prototype.attachEventsOnTask=function(e){this._renderHelper.attachEventsOnTask(e)},e.prototype.detachEventsOnTask=function(e){this._renderHelper.detachEventsOnTask(e)},e.prototype.recreateConnectorLineElement=function(e,t){void 0===t&&(t=!1),this._renderHelper.recreateConnectorLineElement(e,t)},e.prototype.renderTaskElement=function(e){this._renderHelper.createTaskElement(e)},e.prototype.reset=function(){var e=this;this._taskElements.forEach((function(t,n){return e.removeTaskElement(n)})),this._selectionElements=[],this._taskElements=[]},e.prototype.createTaskWrapperElement=function(e){var t=this.gridLayoutCalculator.getTaskWrapperElementInfo(e);s.RenderElementUtils.create(t,e,this.taskArea,this.taskElements),this.taskElements[e].style.display=this.getTaskVisibility(e)?\"\":\"none\"},e.prototype.createTaskElement=function(e,t){var n=this.getViewItem(e);if(t&&this.customTaskRender.createCustomTaskElement(e,t),!n.task.isValid()||!n.visible){var r=this.getTaskDependencies(n.task.internalId);return this.addInvalidTaskDependencies(r),void(n.selected&&this.createTaskSelectionElement(e))}n.isCustom||this.createDefaultTaskElement(e)},e.prototype.createTaskVisualElement=function(e){var t=this.gridLayoutCalculator.getTaskElementInfo(e,this.taskTitlePosition!==i.TaskTitlePosition.Inside),n=s.RenderElementUtils.create(t,e,this.taskElements[e]);return this.attachEventsOnTask(e),n},e.prototype.createDefaultTaskElement=function(e){var t=this.getViewItem(e);this.isHighlightRowElementAllowed(e)&&this.createHighlightRowElement(e),t.selected&&this.createTaskSelectionElement(e),this.createTaskWrapperElement(e),this.taskTitlePosition===i.TaskTitlePosition.Outside&&this.createTaskTextElement(e,this.taskElements[e]);var n=this.createTaskVisualElement(e);t.task.isMilestone()||(this.taskTitlePosition===i.TaskTitlePosition.Inside&&this.createTaskTextElement(e,n),this.createTaskProgressElement(e,n)),this.createResources(e)},e.prototype.removeTaskElement=function(e){var t=this.getTask(e);if(t&&this.removeInvalidTaskDependencies(t.id),this.detachEventsOnTask(e),this._renderHelper.hasTaskTemplate()){var n=this.taskElements[e],r=null==n?void 0:n.firstElementChild;r&&(this._renderHelper.destroyTemplate(r),n.removeChild(r))}s.RenderElementUtils.remove(null,e,this.taskArea,this.taskElements),s.RenderElementUtils.remove(null,e,this.taskArea,this.resourcesElements),s.RenderElementUtils.remove(null,e,this.taskArea,this.selectionElements),this.isHighlightRowElementAllowed(e)&&s.RenderElementUtils.remove(null,e,this.taskArea,this.hlRowElements),this.gridLayoutCalculator.resetTaskInfo(e)},e.prototype.recreateTaskElement=function(e){var t=this,n=this.renderedRowIndices.filter((function(t){return t===e})).length>0,r=this.getTask(e);if(r){n&&(this.removeTaskElement(e),this.renderTaskElement(e));var i=this.getTaskDependencies(r.internalId);i.length&&i.forEach((function(e){return t.recreateConnectorLineElement(e.internalId,!0)}))}},e.prototype.createFakeTaskWrapper=function(){var e,t,n=null!==(t=null===(e=this.viewModelItems.filter((function(e){return e.task&&!e.task.isMilestone}))[0])||void 0===e?void 0:e.visibleIndex)&&void 0!==t?t:0,r=this.gridLayoutCalculator,i=s.RenderElementUtils.create(r.getTaskWrapperElementInfo(n),null,this.taskArea),o=s.RenderElementUtils.create(r.getTaskElementInfo(n),null,i);return this.createTaskTextElement(n,o),this.createTaskProgressElement(n,o),i.style.display=\"none\",i},e.prototype.createTaskProgressElement=function(e,t){var n=this.gridLayoutCalculator.getTaskProgressElementInfo(e);s.RenderElementUtils.create(n,e,t)},e.prototype.getTextWidth=function(e){return this._renderHelper.getTextWidth(e)},Object.defineProperty(e.prototype,\"minTextWidth\",{get:function(){var e;return null!==(e=this._minTextWidth)&&void 0!==e||(this._minTextWidth=5*this.getTextWidth(\"a\")),this._minTextWidth},enumerable:!1,configurable:!0}),e.prototype.createTaskTextElement=function(t,n){var o,a,l=this.gridLayoutCalculator.getTaskTextElementInfo(t,this.taskTitlePosition===i.TaskTitlePosition.Inside);if(!l.additionalInfo.hidden){var c=s.RenderElementUtils.create(l,t,n),u=this.getTaskText(t);if(this.taskTitlePosition===i.TaskTitlePosition.Outside&&l.size.width>0){var d=getComputedStyle(c),p=l.size.width-r.DomUtils.pxToInt(d.paddingLeft);if(p>=this.minTextWidth){var h=r.DomUtils.pxToInt(d.paddingRight),f=u?this.getTextWidth(u):0;h&&f>p-h&&(h=Math.min(e.minTitleOutRightPadding,p-this.minTextWidth),c.style.paddingRight=h+\"px\"),f>p-h&&(c.style.overflowX=\"hidden\",c.style.textOverflow=\"ellipsis\")}else c.style.display=\"none\"}u||(null!==(o=this[a=this.taskTextHeightKey])&&void 0!==o||(this[a]=this.getTaskTextHeight(c)),c.style.height=this[this.taskTextHeightKey]),c.innerText=u}},e.prototype.createTaskSelectionElement=function(e){var t=this.gridLayoutCalculator.getSelectionElementInfo(e);this.isExternalTaskAreaContainer&&!this.areHorizontalBordersEnabled&&t.size.height++,s.RenderElementUtils.create(t,e,this.taskArea,this.selectionElements)},e.prototype.getTaskTextHeight=function(e){e.innerText=\"WWW\";var t=getComputedStyle(e).height;return e.innerText=\"\",t},e.prototype.getSmallTaskWidth=function(e){var t=0;if(null!=e&&\"\"!==e){var n=e.indexOf(\"rem\");if(n>-1)try{t=parseFloat(e.substr(0,n))*parseFloat(getComputedStyle(document.documentElement).fontSize)}catch(e){}else t=r.DomUtils.pxToInt(e)}return 2*t},e.minTitleOutRightPadding=5,e}();t.TaskRender=a},2990:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.EditingSettings=void 0;var r=n(2491),i=function(){function e(){this.enabled=!1,this.allowDependencyDelete=!0,this.allowDependencyInsert=!0,this.allowTaskDelete=!0,this.allowTaskInsert=!0,this.allowTaskUpdate=!0,this.allowResourceDelete=!0,this.allowResourceInsert=!0,this.allowResourceUpdate=!0,this.allowTaskResourceUpdate=!0,this.taskHoverDelay=0}return e.parse=function(t){var n=new e;return t&&((0,r.isDefined)(t.enabled)&&(n.enabled=t.enabled),(0,r.isDefined)(t.allowDependencyDelete)&&(n.allowDependencyDelete=t.allowDependencyDelete),(0,r.isDefined)(t.allowDependencyInsert)&&(n.allowDependencyInsert=t.allowDependencyInsert),(0,r.isDefined)(t.allowTaskDelete)&&(n.allowTaskDelete=t.allowTaskDelete),(0,r.isDefined)(t.allowTaskInsert)&&(n.allowTaskInsert=t.allowTaskInsert),(0,r.isDefined)(t.allowTaskUpdate)&&(n.allowTaskUpdate=t.allowTaskUpdate),(0,r.isDefined)(t.allowResourceDelete)&&(n.allowResourceDelete=t.allowResourceDelete),(0,r.isDefined)(t.allowResourceInsert)&&(n.allowResourceInsert=t.allowResourceInsert),(0,r.isDefined)(t.allowResourceUpdate)&&(n.allowResourceUpdate=t.allowResourceUpdate),(0,r.isDefined)(t.allowTaskResourceUpdate)&&(n.allowTaskResourceUpdate=t.allowTaskResourceUpdate),(0,r.isDefined)(t.taskHoverDelay)&&(n.taskHoverDelay=t.taskHoverDelay)),n},e.prototype.equal=function(e){var t=!0;return t=(t=(t=(t=(t=(t=(t=(t=(t=(t=t&&this.enabled===e.enabled)&&this.allowDependencyDelete===e.allowDependencyDelete)&&this.allowDependencyInsert===e.allowDependencyInsert)&&this.allowTaskDelete===e.allowTaskDelete)&&this.allowTaskInsert===e.allowTaskInsert)&&this.allowTaskUpdate===e.allowTaskUpdate)&&this.allowResourceDelete===e.allowResourceDelete)&&this.allowResourceInsert===e.allowResourceInsert)&&this.allowResourceUpdate===e.allowResourceUpdate)&&this.allowTaskResourceUpdate===e.allowTaskResourceUpdate},e}();t.EditingSettings=i},9954:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.FullScreenHelperSettings=void 0;var r=n(2491),i=function(){function e(){}return e.parse=function(t){var n=new e;return t&&((0,r.isDefined)(t.getMainElement)&&(n.getMainElement=t.getMainElement),(0,r.isDefined)(t.adjustControl)&&(n.adjustControl=t.adjustControl)),n},e}();t.FullScreenHelperSettings=i},9640:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskEditSettings=void 0;var r=n(655),i=n(2491),o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.parse=function(e){var n=new t;return e&&((0,i.isDefined)(e.getCommandManager)&&(n.getCommandManager=e.getCommandManager),(0,i.isDefined)(e.getViewModel)&&(n.getViewModel=e.getViewModel),(0,i.isDefined)(e.getGanttSettings)&&(n.getGanttSettings=e.getGanttSettings),(0,i.isDefined)(e.getRenderHelper)&&(n.getRenderHelper=e.getRenderHelper),(0,i.isDefined)(e.destroyTemplate)&&(n.destroyTemplate=e.destroyTemplate),(0,i.isDefined)(e.formatDate)&&(n.formatDate=e.formatDate),(0,i.isDefined)(e.getModelManipulator)&&(n.getModelManipulator=e.getModelManipulator),(0,i.isDefined)(e.getValidationController)&&(n.getValidationController=e.getValidationController)),n},t}(n(9080).TooltipSettings);t.TaskEditSettings=o},9080:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TooltipSettings=void 0;var r=n(2491),i=function(){function e(){}return e.parse=function(t){var n=new e;return t&&((0,r.isDefined)(t.getHeaderHeight)&&(n.getHeaderHeight=t.getHeaderHeight),(0,r.isDefined)(t.getTaskTooltipContentTemplate)&&(n.getTaskTooltipContentTemplate=t.getTaskTooltipContentTemplate),(0,r.isDefined)(t.getTaskProgressTooltipContentTemplate)&&(n.getTaskProgressTooltipContentTemplate=t.getTaskProgressTooltipContentTemplate),(0,r.isDefined)(t.getTaskTimeTooltipContentTemplate)&&(n.getTaskTimeTooltipContentTemplate=t.getTaskTimeTooltipContentTemplate),(0,r.isDefined)(t.destroyTemplate)&&(n.destroyTemplate=t.destroyTemplate),(0,r.isDefined)(t.formatDate)&&(n.formatDate=t.formatDate),(0,r.isDefined)(t.getTaskAreaContainer)&&(n.getTaskAreaContainer=t.getTaskAreaContainer)),n},e}();t.TooltipSettings=i},5846:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ValidationControllerSettings=void 0;var r=n(2491),i=function(){function e(){}return e.parse=function(t){var n=new e;return t&&((0,r.isDefined)(t.getViewModel)&&(n.getViewModel=t.getViewModel),(0,r.isDefined)(t.getHistory)&&(n.getHistory=t.getHistory),(0,r.isDefined)(t.getModelManipulator)&&(n.getModelManipulator=t.getModelManipulator),(0,r.isDefined)(t.getRange)&&(n.getRange=t.getRange),(0,r.isDefined)(t.getValidationSettings)&&(n.getValidationSettings=t.getValidationSettings),(0,r.isDefined)(t.updateOwnerInAutoParentMode)&&(n.updateOwnerInAutoParentMode=t.updateOwnerInAutoParentMode),(0,r.isDefined)(t.getIsValidateDependenciesRequired)&&(n.getIsValidateDependenciesRequired=t.getIsValidateDependenciesRequired)),n},e}();t.ValidationControllerSettings=i},5351:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Settings=void 0;var r=n(2491),i=n(7880),o=n(2449),s=n(2990),a=n(9057),l=n(2762),c=n(9820),u=function(){function e(){this.viewType=void 0,this.taskTitlePosition=o.TaskTitlePosition.Inside,this.showResources=!0,this.showDependencies=!0,this.areHorizontalBordersEnabled=!0,this.areVerticalBordersEnabled=!0,this.areAlternateRowsEnabled=!0,this.allowSelectTask=!0,this.firstDayOfWeek=0,this.editing=new s.EditingSettings,this.validation=new l.ValidationSettings,this.stripLines=new a.StripLineSettings,this.viewTypeRange=new c.ViewTypeRangeSettings}return e.parse=function(t){var n=new e;return t&&((0,r.isDefined)(t.viewType)&&(n.viewType=t.viewType),(0,r.isDefined)(t.taskTitlePosition)&&(n.taskTitlePosition=t.taskTitlePosition),(0,r.isDefined)(t.showResources)&&(n.showResources=t.showResources),(0,r.isDefined)(t.showDependencies)&&(n.showDependencies=t.showDependencies),(0,r.isDefined)(t.areHorizontalBordersEnabled)&&(n.areHorizontalBordersEnabled=t.areHorizontalBordersEnabled),(0,r.isDefined)(t.areVerticalBordersEnabled)&&(n.areHorizontalBordersEnabled=t.areHorizontalBordersEnabled),(0,r.isDefined)(t.areAlternateRowsEnabled)&&(n.areAlternateRowsEnabled=t.areAlternateRowsEnabled),(0,r.isDefined)(t.allowSelectTask)&&(n.allowSelectTask=t.allowSelectTask),(0,r.isDefined)(t.firstDayOfWeek)&&(n.firstDayOfWeek=t.firstDayOfWeek),(0,r.isDefined)(t.startDateRange)&&(n.startDateRange=new Date(t.startDateRange)),(0,r.isDefined)(t.endDateRange)&&(n.endDateRange=new Date(t.endDateRange)),(0,r.isDefined)(t.editing)&&(n.editing=s.EditingSettings.parse(t.editing)),(0,r.isDefined)(t.validation)&&(n.validation=l.ValidationSettings.parse(t.validation)),(0,r.isDefined)(t.stripLines)&&(n.stripLines=a.StripLineSettings.parse(t.stripLines)),(0,r.isDefined)(t.viewTypeRange)&&(n.viewTypeRange=c.ViewTypeRangeSettings.parse(t.viewTypeRange)),(0,r.isDefined)(t.taskTooltipContentTemplate)&&(n.taskTooltipContentTemplate=t.taskTooltipContentTemplate),(0,r.isDefined)(t.taskProgressTooltipContentTemplate)&&(n.taskProgressTooltipContentTemplate=t.taskProgressTooltipContentTemplate),(0,r.isDefined)(t.taskTimeTooltipContentTemplate)&&(n.taskTimeTooltipContentTemplate=t.taskTimeTooltipContentTemplate),(0,r.isDefined)(t.taskContentTemplate)&&(n.taskContentTemplate=t.taskContentTemplate),(0,r.isDefined)(t.cultureInfo)&&(n.cultureInfo=t.cultureInfo)),n},e.prototype.equal=function(e){var t=!0;return t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=t&&this.viewType===e.viewType)&&this.taskTitlePosition===e.taskTitlePosition)&&this.showResources===e.showResources)&&this.showDependencies===e.showDependencies)&&this.areHorizontalBordersEnabled===e.areHorizontalBordersEnabled)&&this.areAlternateRowsEnabled===e.areAlternateRowsEnabled)&&this.allowSelectTask===e.allowSelectTask)&&this.editing.equal(e.editing))&&this.validation.equal(e.validation))&&this.stripLines.equal(e.stripLines))&&i.DateTimeUtils.areDatesEqual(this.startDateRange,e.startDateRange))&&i.DateTimeUtils.areDatesEqual(this.endDateRange,e.endDateRange)},e}();t.Settings=u},1442:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.StripLine=void 0;var r=n(2491),i=function(){function e(e,t,n,r,i){this.isCurrent=!1,this.start=e,this.end=t,this.title=n,this.cssClass=r,this.isCurrent=i}return e.parse=function(t){var n=new e;return t&&((0,r.isDefined)(t.start)&&(n.start=t.start),(0,r.isDefined)(t.end)&&(n.end=t.end),(0,r.isDefined)(t.title)&&(n.title=t.title),(0,r.isDefined)(t.cssClass)&&(n.cssClass=t.cssClass)),n},e.prototype.clone=function(){return new e(this.start,this.end,this.title,this.cssClass,this.isCurrent)},e.prototype.equal=function(e){var t=!0;return t=(t=(t=(t=t&&this.start==e.start)&&this.end==e.end)&&this.title==e.title)&&this.cssClass==e.cssClass},e}();t.StripLine=i},9057:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.StripLineSettings=void 0;var r=n(2491),i=n(1442),o=function(){function e(){this.showCurrentTime=!1,this.currentTimeUpdateInterval=6e4,this.stripLines=[]}return e.parse=function(t){var n=new e;if(t&&((0,r.isDefined)(t.showCurrentTime)&&(n.showCurrentTime=t.showCurrentTime),(0,r.isDefined)(t.currentTimeUpdateInterval)&&(n.currentTimeUpdateInterval=t.currentTimeUpdateInterval),(0,r.isDefined)(t.currentTimeTitle)&&(n.currentTimeTitle=t.currentTimeTitle),(0,r.isDefined)(t.currentTimeCssClass)&&(n.currentTimeCssClass=t.currentTimeCssClass),(0,r.isDefined)(t.stripLines)))for(var o=0;o{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ValidationSettings=void 0;var r=n(2491),i=function(){function e(){this.validateDependencies=!1,this.autoUpdateParentTasks=!1,this.enablePredecessorGap=!1}return e.parse=function(t){var n=new e;return t&&((0,r.isDefined)(t.validateDependencies)&&(n.validateDependencies=t.validateDependencies),(0,r.isDefined)(t.autoUpdateParentTasks)&&(n.autoUpdateParentTasks=t.autoUpdateParentTasks),(0,r.isDefined)(t.enablePredecessorGap)&&(n.enablePredecessorGap=t.enablePredecessorGap)),n},e.prototype.equal=function(e){var t=!0;return t=(t=(t=t&&this.validateDependencies===e.validateDependencies)&&this.autoUpdateParentTasks===e.autoUpdateParentTasks)&&this.enablePredecessorGap===e.enablePredecessorGap},e}();t.ValidationSettings=i},9820:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ViewTypeRangeSettings=void 0;var r=n(2491),i=n(2449),o=function(){function e(){this.min=i.ViewType.TenMinutes,this.max=i.ViewType.Years}return e.parse=function(t){var n=new e;return t&&((0,r.isDefined)(t.min)&&(n.min=t.min),(0,r.isDefined)(t.max)&&(n.max=t.max)),n},e.prototype.equal=function(e){var t=!0;return t=(t=t&&this.min===e.min)&&this.max===e.max},e}();t.ViewTypeRangeSettings=o},9201:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DateUtils=void 0;var r=n(2449),i=function(){function e(){}var t;return e.getDaysInQuarter=function(t){var n=3*Math.floor(t.getMonth()/3);return[n,n+1,n+2].reduce((function(n,r){return n+e.getDaysInMonth(r,t.getFullYear())}),0)},e.getDaysInMonth=function(e,t){return new Date(t,e+1,0).getDate()},e.getOffsetInMonths=function(e,t){return 12*(t.getFullYear()-e.getFullYear())+t.getMonth()-e.getMonth()},e.getOffsetInQuarters=function(e,t){return 4*(t.getFullYear()-e.getFullYear())+Math.floor(t.getMonth()/3)-Math.floor(e.getMonth()/3)},e.getNearestScaleTickDate=function(e,t,n,r){var i=new Date,o=t.start.getTime(),s=t.end.getTime();if(i.setTime(e.getTime()),e.getTime()s)i.setTime(s);else if(this.needCorrectDate(e,o,n,r)){var a=this.getNearestLeftTickTime(e,o,n,r),l=this.getNextTickTime(a,n,r);Math.abs(e.getTime()-a)>Math.abs(e.getTime()-l)?i.setTime(l):i.setTime(a)}return i},e.needCorrectDate=function(e,t,n,i){return i==r.ViewType.Months?e.getTime()!==new Date(e.getFullYear(),e.getMonth(),1).getTime():(e.getTime()-t)%n!=0},e.getNearestLeftTickTime=function(e,t,n,i){return i==r.ViewType.Months?new Date(e.getFullYear(),e.getMonth(),1).getTime():t+Math.floor((e.getTime()-t)/n)*n},e.getNextTickTime=function(e,t,n){if(n==r.ViewType.Months){var i=new Date;return i.setTime(e),i.setMonth(i.getMonth()+1),i.getTime()}return e+t},e.adjustStartDateByViewType=function(e,t,n){switch(void 0===n&&(n=0),t){case r.ViewType.TenMinutes:return new Date(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours());case r.ViewType.SixHours:case r.ViewType.Hours:return new Date(e.getFullYear(),e.getMonth(),e.getDate());case r.ViewType.Days:case r.ViewType.Weeks:return new Date(e.getFullYear(),e.getMonth(),e.getDate()-e.getDay()+n);case r.ViewType.Months:case r.ViewType.Quarter:case r.ViewType.Years:return new Date(e.getFullYear(),0,1);default:return new Date}},e.adjustEndDateByViewType=function(e,t,n){switch(void 0===n&&(n=0),t){case r.ViewType.TenMinutes:return new Date(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours()+1);case r.ViewType.SixHours:case r.ViewType.Hours:return new Date(e.getFullYear(),e.getMonth(),e.getDate()+1);case r.ViewType.Days:case r.ViewType.Weeks:return new Date(e.getFullYear(),e.getMonth(),e.getDate()+7-e.getDay()+n);case r.ViewType.Months:case r.ViewType.Quarter:case r.ViewType.Years:return new Date(e.getFullYear()+1,0,1);default:return new Date}},e.roundStartDate=function(e,t){switch(t){case r.ViewType.TenMinutes:case r.ViewType.Hours:return new Date(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours()-1);case r.ViewType.SixHours:case r.ViewType.Days:return new Date(e.getFullYear(),e.getMonth(),e.getDate()-1);case r.ViewType.Weeks:return new Date(e.getFullYear(),e.getMonth(),e.getDate()-e.getDay());case r.ViewType.Months:return new Date(e.getFullYear(),e.getMonth()-1);case r.ViewType.Quarter:case r.ViewType.Years:return new Date(e.getFullYear()-1,0,1);default:return new Date}},e.getTickTimeSpan=function(t){switch(t){case r.ViewType.TenMinutes:return e.msPerHour/6;case r.ViewType.Hours:return e.msPerHour;case r.ViewType.SixHours:return 6*e.msPerHour;case r.ViewType.Days:return e.msPerDay;case r.ViewType.Weeks:return e.msPerWeek;case r.ViewType.Months:return e.msPerMonth;case r.ViewType.Quarter:return 3*e.msPerMonth;case r.ViewType.Years:return e.msPerYear}},e.getRangeTickCount=function(t,n,i){return i===r.ViewType.Months?this.getRangeTickCountInMonthsViewType(t,n):i===r.ViewType.Quarter?this.getRangeTickCountInQuarterViewType(t,n):e.getRangeMSPeriod(t,n)/e.getTickTimeSpan(i)},e.getRangeMSPeriod=function(t,n){return n.getTime()-e.getDSTTotalDelta(t,n)-t.getTime()},e.getRangeTickCountInMonthsViewType=function(t,n){var r=new Date(t.getFullYear(),t.getMonth(),1),i=new Date(n.getFullYear(),n.getMonth(),1);return e.getOffsetInMonths(r,i)+(n.getTime()-i.getTime())/(e.getDaysInMonth(n.getMonth(),n.getFullYear())*e.msPerDay)-(t.getTime()-r.getTime())/(e.getDaysInMonth(t.getMonth(),t.getFullYear())*e.msPerDay)},e.getRangeTickCountInQuarterViewType=function(t,n){var r=new Date(t.getFullYear(),3*Math.floor(t.getMonth()/3),1),i=new Date(n.getFullYear(),3*Math.floor(n.getMonth()/3),1);return e.getOffsetInQuarters(r,i)+(n.getTime()-i.getTime())/(e.getDaysInQuarter(i)*e.msPerDay)-(t.getTime()-r.getTime())/(e.getDaysInQuarter(r)*e.msPerDay)},e.parse=function(e){return\"function\"==typeof e?new Date(e()):new Date(e)},e.getOrCreateUTCDate=function(e){var t=e.getTimezoneOffset();return t?new Date(e.valueOf()+6e4*t):e},e.getTimezoneOffsetDiff=function(e,t){return t.getTimezoneOffset()-e.getTimezoneOffset()},e.getDSTDelta=function(t,n){var r=e.getTimezoneOffsetDiff(t,n)*e.msPerMinute;return r>0?r:0},e.getDSTTotalDelta=function(t,n){if(!e.hasDST())return 0;for(var r=t,i=0,o=r.getFullYear(),s=r.getMonth();r=5?(o++,s=0):s=5;var a=new Date(o,s,1);a>n&&(a=n),i+=e.getDSTDelta(r,a),r=a}return i},e.getDSTCorrectedTaskEnd=function(t,n){var r=t.getTime()+n,i=e.getDSTTotalDelta(t,new Date(r));return new Date(r+i)},e.hasDST=function(){var t=(new Date).getFullYear(),n=new Date(t,0,1),r=new Date(t,5,1);return 0!==e.getTimezoneOffsetDiff(n,r)},e.msPerMinute=6e4,e.msPerHour=36e5,e.msPerDay=24*e.msPerHour,e.msPerWeek=7*e.msPerDay,e.msPerMonth=30*e.msPerDay,e.msPerYear=365*e.msPerDay,e.ViewTypeToScaleMap=((t={})[r.ViewType.TenMinutes]=r.ViewType.Hours,t[r.ViewType.Hours]=r.ViewType.Days,t[r.ViewType.SixHours]=r.ViewType.Days,t[r.ViewType.Days]=r.ViewType.Weeks,t[r.ViewType.Weeks]=r.ViewType.Months,t[r.ViewType.Months]=r.ViewType.Years,t[r.ViewType.Quarter]=r.ViewType.Years,t[r.ViewType.Years]=r.ViewType.FiveYears,t),e}();t.DateUtils=i},8380:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ElementTextHelper=void 0;var r=n(6907),i=n(2449),o=n(9201),s=function(){function e(e){this.longestAbbrMonthName=null,this.longestMonthName=null,this.longestAbbrDayName=null;var t=document.createElement(\"canvas\");this.textMeasureContext=t.getContext(\"2d\"),this.cultureInfo=e}return e.prototype.setFont=function(e){var t=r.DomUtils.getCurrentStyle(e),n=t.font?t.font:t.fontStyle+\" \"+t.fontVariant+\" \"+t.fontWeight+\" \"+t.fontSize+\" / \"+t.lineHeight+\" \"+t.fontFamily;this.textMeasureContext.font=n},e.prototype.setSettings=function(e,t,n){this.startTime=e,this.viewType=t,this.modelItems=n},e.prototype.getScaleItemText=function(e,t){var n=this.viewType.valueOf()===t.valueOf();switch(t){case i.ViewType.TenMinutes:return this.getTenMinutesScaleItemText(e);case i.ViewType.Hours:case i.ViewType.SixHours:return this.getHoursScaleItemText(e);case i.ViewType.Days:return this.getDaysScaleItemText(e,n);case i.ViewType.Weeks:return this.getWeeksScaleItemText(e,n);case i.ViewType.Months:return this.getMonthsScaleItemText(e,n);case i.ViewType.Quarter:return this.getQuarterScaleItemText(e,n);case i.ViewType.Years:return this.getYearsScaleItemText(e);case i.ViewType.FiveYears:return this.getFiveYearsScaleItemText(e)}},e.prototype.getTenMinutesScaleItemText=function(e){var t=e.getMinutes()+1;return(10*Math.ceil(t/10)).toString()},e.prototype.getThirtyMinutesScaleItemText=function(e){return e.getMinutes()<30?\"30\":\"60\"},e.prototype.getHoursScaleItemText=function(e){var t=e.getHours(),n=this.getHourDisplayText(t),r=t<12?this.getAmText():this.getPmText();return this.getHoursScaleItemTextCore(n,r)},e.prototype.getDaysScaleItemText=function(e,t){return this.getDayTotalText(e,!0,t,t,!t)},e.prototype.getWeeksScaleItemText=function(e,t){var n=o.DateUtils.getDSTCorrectedTaskEnd(e,o.DateUtils.msPerWeek-o.DateUtils.msPerDay);return this.getWeeksScaleItemTextCore(this.getDayTotalText(e,t,!0,t,!t),this.getDayTotalText(n,t,!0,t,!t))},e.prototype.getMonthsScaleItemText=function(e,t){var n=this.getMonthNames(),r=t?\"\":e.getFullYear().toString();return this.getMonthsScaleItemTextCore(n[e.getMonth()],r)},e.prototype.getQuarterScaleItemText=function(e,t){var n=this.getQuarterNames(),r=t?\"\":e.getFullYear().toString();return this.getMonthsScaleItemTextCore(n[Math.floor(e.getMonth()/3)],r)},e.prototype.getYearsScaleItemText=function(e){return e.getFullYear().toString()},e.prototype.getFiveYearsScaleItemText=function(e){return e.getFullYear().toString()+\" - \"+(e.getFullYear()+4).toString()},e.prototype.getHourDisplayText=function(e){return this.hasAmPm()?(0==e?12:e<=12?e:e-12).toString():e<10?\"0\"+e:e.toString()},e.prototype.getDayTotalText=function(e,t,n,r,i){var o=r?this.getAbbrMonthNames():this.getMonthNames(),s=n?this.getAbbrDayNames():this.getDayNames(),a=t?s[e.getDay()]:\"\",l=e.getDate(),c=o[e.getMonth()],u=i?e.getFullYear().toString():\"\";return this.getDayTotalTextCore(a,l.toString(),c,u)},e.prototype.getTaskText=function(e){var t=this.modelItems[e];return t?t.task.title:\"\"},e.prototype.getTaskVisibility=function(e){var t=this.modelItems[e];return!!t&&t.getVisible()},e.prototype.hasAmPm=function(){return this.getAmText().length>0||this.getPmText().length>0},e.prototype.getScaleItemTextTemplate=function(e){switch(e){case i.ViewType.TenMinutes:return\"00\";case i.ViewType.Hours:case i.ViewType.SixHours:return this.getHoursScaleItemTextCore(\"00\",this.getAmText());case i.ViewType.Days:return this.getDayTextTemplate();case i.ViewType.Weeks:return this.getWeekTextTemplate();case i.ViewType.Months:return this.getMonthsScaleItemTextCore(this.getLongestMonthName(),\"\");case i.ViewType.Quarter:return\"Q4\";case i.ViewType.Years:return\"0000\"}},e.prototype.getDayTextTemplate=function(){return this.getDayTotalTextCore(this.getLongestAbbrDayName(),\"00\",this.getLongestAbbrMonthName(),\"\")},e.prototype.getWeekTextTemplate=function(){var e=this.getDayTextTemplate();return this.getWeeksScaleItemTextCore(e,e)},e.prototype.getHoursScaleItemTextCore=function(e,t){return e+\":00\"+(this.hasAmPm()?\" \"+t:\"\")},e.prototype.getDayTotalTextCore=function(e,t,n,r){var i=e.length>0?e+\", \":\"\";return i+=t+\" \"+n,i+=r.length>0?\" \"+r:\"\"},e.prototype.getWeeksScaleItemTextCore=function(e,t){return e+\" - \"+t},e.prototype.getMonthsScaleItemTextCore=function(e,t){var n=e;return t.length>0&&(n+=\" \"+t),n},e.prototype.getLongestAbbrMonthName=function(){return null==this.longestAbbrMonthName&&(this.longestAbbrMonthName=this.getLongestText(this.getAbbrMonthNames())),this.longestAbbrMonthName},e.prototype.getLongestMonthName=function(){return null==this.longestMonthName&&(this.longestMonthName=this.getLongestText(this.getMonthNames())),this.longestMonthName},e.prototype.getLongestAbbrDayName=function(){return null==this.longestAbbrDayName&&(this.longestAbbrDayName=this.getLongestText(this.getAbbrDayNames())),this.longestAbbrDayName},e.prototype.getLongestText=function(e){var t=this,n=\"\",r=0;return e.forEach((function(e){var i=t.getTextWidth(e);i>r&&(r=i,n=e)})),n},e.prototype.getTextWidth=function(e){return Math.round(this.textMeasureContext.measureText(e).width)},e.prototype.getAmText=function(){return this.cultureInfo.amText},e.prototype.getPmText=function(){return this.cultureInfo.pmText},e.prototype.getQuarterNames=function(){return this.cultureInfo.quarterNames},e.prototype.getMonthNames=function(){return this.cultureInfo.monthNames},e.prototype.getDayNames=function(){return this.cultureInfo.dayNames},e.prototype.getAbbrMonthNames=function(){return this.cultureInfo.abbrMonthNames},e.prototype.getAbbrDayNames=function(){return this.cultureInfo.abbrDayNames},e}();t.ElementTextHelper=s},655:(e,t,n)=>{n.r(t),n.d(t,{__assign:()=>o,__asyncDelegator:()=>k,__asyncGenerator:()=>b,__asyncValues:()=>S,__await:()=>T,__awaiter:()=>u,__classPrivateFieldGet:()=>I,__classPrivateFieldSet:()=>C,__createBinding:()=>p,__decorate:()=>a,__exportStar:()=>h,__extends:()=>i,__generator:()=>d,__importDefault:()=>D,__importStar:()=>E,__makeTemplateObject:()=>_,__metadata:()=>c,__param:()=>l,__read:()=>g,__rest:()=>s,__spread:()=>y,__spreadArray:()=>v,__spreadArrays:()=>m,__values:()=>f});var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},r(e,t)};function i(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var o=function(){return o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s}function l(e,t){return function(n,r){t(n,r,e)}}function c(e,t){if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function u(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{l(r.next(e))}catch(e){o(e)}}function a(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}l((r=r.apply(e,t||[])).next())}))}function d(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},\"function\"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError(\"Generator is already executing.\");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function g(e,t){var n=\"function\"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s}function y(){for(var e=[],t=0;t1||a(e,t)}))})}function a(e,t){try{(n=i[e](t)).value instanceof T?Promise.resolve(n.value.v).then(l,c):u(o[0][2],n)}catch(e){u(o[0][3],e)}var n}function l(e){a(\"next\",e)}function c(e){a(\"throw\",e)}function u(e,t){e(t),o.shift(),o.length&&a(o[0][0],o[0][1])}}function k(e){var t,n;return t={},r(\"next\"),r(\"throw\",(function(e){throw e})),r(\"return\"),t[Symbol.iterator]=function(){return this},t;function r(r,i){t[r]=e[r]?function(t){return(n=!n)?{value:T(e[r](t)),done:\"return\"===r}:i?i(t):t}:i}}function S(e){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=f(e),t={},r(\"next\"),r(\"throw\"),r(\"return\"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,i){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,i,(t=e[n](t)).done,t.value)}))}}}function _(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e}var w=Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t};function E(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)\"default\"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&p(t,e,n);return w(t,e),t}function D(e){return e&&e.__esModule?e:{default:e}}function I(e,t,n,r){if(\"a\"===n&&!r)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"==typeof t?e!==t||!r:!t.has(e))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===n?r:\"a\"===n?r.call(e):r?r.value:t.get(e)}function C(e,t,n,r,i){if(\"m\"===r)throw new TypeError(\"Private method is not writable\");if(\"a\"===r&&!i)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"==typeof t?e!==t||!i:!t.has(e))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===r?i.call(e,n):i?i.value=n:t.set(e,n),n}}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var o=t[r]={exports:{}};return e[r](o,o.exports,n),o.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var r={};return(()=>{var e=r;Object.defineProperty(e,\"__esModule\",{value:!0}),e.GanttView=e.default=void 0,n(8721);var t=n(2366);Object.defineProperty(e,\"default\",{enumerable:!0,get:function(){return t.GanttView}}),Object.defineProperty(e,\"GanttView\",{enumerable:!0,get:function(){return t.GanttView}})})(),r})()));","/*!\n * DevExtreme-Quill Editor v.1.6.3\n * https://js.devexpress.com/\n * Copyright (c) 2020, Developer Express Inc.\n * Copyright (c) 2017, Slab\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"DevExpress\"] = factory();\n\telse\n\t\troot[\"DevExpress\"] = root[\"DevExpress\"] || {}, root[\"DevExpress\"][\"Quill\"] = factory();\n})(this, () => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 1674:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": () => (/* binding */ OverriddenAttributor)\n/* harmony export */ });\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233);\n/* harmony import */ var _decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3866);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3398);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\nvar OverriddenAttributor = /*#__PURE__*/function (_Attributor) {\n _inherits(OverriddenAttributor, _Attributor);\n var _super = _createSuper(OverriddenAttributor);\n function OverriddenAttributor(attrName, keyName) {\n var _options$allowedTags;\n var _this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n allowedTags: []\n };\n _classCallCheck(this, OverriddenAttributor);\n _this = _super.call(this, attrName, keyName, options);\n _this.allowedTags = (_options$allowedTags = options.allowedTags) !== null && _options$allowedTags !== void 0 ? _options$allowedTags : [];\n return _this;\n }\n _createClass(OverriddenAttributor, [{\n key: \"add\",\n value: function add(node, value) {\n return _decorators__WEBPACK_IMPORTED_MODULE_1__/* .decorateMethodWithKeyName.call */ .Mx.call(this, _get(_getPrototypeOf(OverriddenAttributor.prototype), \"add\", this), node, value);\n }\n }, {\n key: \"remove\",\n value: function remove(node) {\n return _decorators__WEBPACK_IMPORTED_MODULE_1__/* .decorateMethodWithKeyName.call */ .Mx.call(this, _get(_getPrototypeOf(OverriddenAttributor.prototype), \"remove\", this), node);\n }\n }, {\n key: \"value\",\n value: function value(node) {\n return _decorators__WEBPACK_IMPORTED_MODULE_1__/* .decorateMethodWithKeyName.call */ .Mx.call(this, _get(_getPrototypeOf(OverriddenAttributor.prototype), \"value\", this), node);\n }\n }, {\n key: \"canAdd\",\n value: function canAdd(node, value) {\n return _decorators__WEBPACK_IMPORTED_MODULE_1__/* .decorateCanAdd.call */ .ud.call(this, _get(_getPrototypeOf(OverriddenAttributor.prototype), \"canAdd\", this), node, value);\n }\n }], [{\n key: \"keys\",\n value: function keys(node) {\n return (0,_decorators__WEBPACK_IMPORTED_MODULE_1__/* .decorateKeys */ .dj)(_get(_getPrototypeOf(OverriddenAttributor), \"keys\", this), node, _utils__WEBPACK_IMPORTED_MODULE_2__/* .KeyNameType.attribute */ .WT.attribute);\n }\n }]);\n return OverriddenAttributor;\n}(parchment__WEBPACK_IMPORTED_MODULE_0__.Attributor);\n\n\n/***/ }),\n\n/***/ 3866:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Mx\": () => (/* binding */ decorateMethodWithKeyName),\n/* harmony export */ \"dj\": () => (/* binding */ decorateKeys),\n/* harmony export */ \"ud\": () => (/* binding */ decorateCanAdd)\n/* harmony export */ });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3398);\n\nfunction decorateMethodWithKeyName(method) {\n var originalKeyName = this.keyName;\n this.keyName = (0,_utils__WEBPACK_IMPORTED_MODULE_0__/* .removeCustomPrefixFromKeyName */ .mQ)(this.keyName);\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n var result = method.call.apply(method, [this].concat(args));\n this.keyName = originalKeyName;\n return result;\n}\nfunction decorateCanAdd(originCanAdd, node, value) {\n var isNodeAllowed = this.allowedTags.indexOf(node.tagName) > -1;\n return isNodeAllowed && originCanAdd.call(this, node, value);\n}\nfunction decorateKeys(originKeys, node, keyType) {\n return originKeys(node).map(function (keyName) {\n return (0,_utils__WEBPACK_IMPORTED_MODULE_0__/* .getKeyNameWithCustomPrefix */ .jf)(node.tagName, keyName, keyType);\n });\n}\n\n/***/ }),\n\n/***/ 4569:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": () => (/* binding */ OverriddenStyleAttributor)\n/* harmony export */ });\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233);\n/* harmony import */ var _decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3866);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3398);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\nvar OverriddenStyleAttributor = /*#__PURE__*/function (_StyleAttributor) {\n _inherits(OverriddenStyleAttributor, _StyleAttributor);\n var _super = _createSuper(OverriddenStyleAttributor);\n function OverriddenStyleAttributor(attrName, keyName) {\n var _options$allowedTags;\n var _this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n allowedTags: []\n };\n _classCallCheck(this, OverriddenStyleAttributor);\n _this = _super.call(this, attrName, keyName, options);\n _this.allowedTags = (_options$allowedTags = options.allowedTags) !== null && _options$allowedTags !== void 0 ? _options$allowedTags : [];\n return _this;\n }\n _createClass(OverriddenStyleAttributor, [{\n key: \"add\",\n value: function add(node, value) {\n return _decorators__WEBPACK_IMPORTED_MODULE_1__/* .decorateMethodWithKeyName.call */ .Mx.call(this, _get(_getPrototypeOf(OverriddenStyleAttributor.prototype), \"add\", this), node, value);\n }\n }, {\n key: \"remove\",\n value: function remove(node) {\n return _decorators__WEBPACK_IMPORTED_MODULE_1__/* .decorateMethodWithKeyName.call */ .Mx.call(this, _get(_getPrototypeOf(OverriddenStyleAttributor.prototype), \"remove\", this), node);\n }\n }, {\n key: \"value\",\n value: function value(node) {\n return _decorators__WEBPACK_IMPORTED_MODULE_1__/* .decorateMethodWithKeyName.call */ .Mx.call(this, _get(_getPrototypeOf(OverriddenStyleAttributor.prototype), \"value\", this), node);\n }\n }, {\n key: \"canAdd\",\n value: function canAdd(node, value) {\n return _decorators__WEBPACK_IMPORTED_MODULE_1__/* .decorateCanAdd.call */ .ud.call(this, _get(_getPrototypeOf(OverriddenStyleAttributor.prototype), \"canAdd\", this), node, value);\n }\n }], [{\n key: \"keys\",\n value: function keys(node) {\n return (0,_decorators__WEBPACK_IMPORTED_MODULE_1__/* .decorateKeys */ .dj)(_get(_getPrototypeOf(OverriddenStyleAttributor), \"keys\", this), node, _utils__WEBPACK_IMPORTED_MODULE_2__/* .KeyNameType.style */ .WT.style);\n }\n }]);\n return OverriddenStyleAttributor;\n}(parchment__WEBPACK_IMPORTED_MODULE_0__.StyleAttributor);\n\n\n/***/ }),\n\n/***/ 3398:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WT\": () => (/* binding */ KeyNameType),\n/* harmony export */ \"jf\": () => (/* binding */ getKeyNameWithCustomPrefix),\n/* harmony export */ \"mQ\": () => (/* binding */ removeCustomPrefixFromKeyName)\n/* harmony export */ });\n/* harmony import */ var _formats_table_attributors_table_config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(19);\n/* harmony import */ var _formats_table_attributors_cell_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8252);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n\n\nvar KeyNameType = {\n attribute: 'attr',\n style: 'style'\n};\nvar OVERRIDDEN_ATTRIBUTORS_TAG_INFO = _objectSpread(_objectSpread({}, _formats_table_attributors_table_config__WEBPACK_IMPORTED_MODULE_0__/* .tableConfig.allowedTags.reduce */ .Sp.allowedTags.reduce(function (result, tag) {\n result[tag] = {\n name: _formats_table_attributors_table_config__WEBPACK_IMPORTED_MODULE_0__/* .tableConfig.name */ .Sp.name,\n keyNamesSet: _formats_table_attributors_table_config__WEBPACK_IMPORTED_MODULE_0__/* .TABLE_KEY_NAME_SET */ .bc\n };\n return result;\n}, {})), _formats_table_attributors_cell_config__WEBPACK_IMPORTED_MODULE_1__/* .cellConfig.allowedTags.reduce */ .Pw.allowedTags.reduce(function (result, tag) {\n result[tag] = {\n name: _formats_table_attributors_cell_config__WEBPACK_IMPORTED_MODULE_1__/* .cellConfig.name */ .Pw.name,\n keyNamesSet: _formats_table_attributors_cell_config__WEBPACK_IMPORTED_MODULE_1__/* .TABLE_CELL_KEY_NAME_SET */ .fU\n };\n return result;\n}, {}));\nfunction getKeyNameWithCustomPrefix(tagName, keyName, keyType) {\n var tagInfo = OVERRIDDEN_ATTRIBUTORS_TAG_INFO[tagName];\n if (!tagInfo) {\n return keyName;\n }\n return tagInfo.keyNamesSet.has(keyName) ? \"\".concat(keyType).concat(tagInfo.name, \"_\").concat(keyName) : keyName;\n}\nfunction removeCustomPrefixFromKeyName(keyNameWithPrefix) {\n return keyNameWithPrefix.replace(/([^]*_)/, '');\n}\n\n/***/ }),\n\n/***/ 6446:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"i2\": () => (/* binding */ BlockEmbed),\n \"qz\": () => (/* binding */ blockDelta),\n \"E2\": () => (/* binding */ bubbleFormats),\n \"ZP\": () => (/* binding */ Block)\n});\n\n// EXTERNAL MODULE: ./node_modules/quill-delta/dist/Delta.js\nvar Delta = __webpack_require__(9098);\nvar Delta_default = /*#__PURE__*/__webpack_require__.n(Delta);\n// EXTERNAL MODULE: ./node_modules/parchment/src/parchment.ts + 17 modules\nvar parchment = __webpack_require__(1233);\n// EXTERNAL MODULE: ./blots/break.js\nvar blots_break = __webpack_require__(4122);\n// EXTERNAL MODULE: ./blots/inline.js\nvar inline = __webpack_require__(6603);\n// EXTERNAL MODULE: ./blots/text.js\nvar blots_text = __webpack_require__(8222);\n// EXTERNAL MODULE: ./attributors/utils.js\nvar utils = __webpack_require__(3398);\n;// CONCATENATED MODULE: ./parchment/override.js\n\n\n\nfunction fillAttributes(tagName, blot, keyNames, keyType) {\n return keyNames.map((keyName) => {\n const normalizedKeyName = keyType\n ? (0,utils/* getKeyNameWithCustomPrefix */.jf)(tagName, keyName, keyType)\n : keyName;\n return blot.scroll.query(normalizedKeyName, parchment.Scope.ATTRIBUTE);\n }).filter((attributor) => attributor instanceof parchment.Attributor)\n .reduce((result, attributor) => {\n result[attributor.attrName] = attributor;\n return result;\n }, {});\n}\n\nfunction overrideParchment() {\n // eslint-disable-next-line no-undef, func-names\n parchment.AttributorStore.prototype.build = function () {\n const { tagName } = this.domNode;\n const blot = parchment.Registry.find(this.domNode);\n if (blot == null) {\n return;\n }\n\n const attributes = parchment.Attributor.keys(this.domNode);\n const classes = parchment.ClassAttributor.keys(this.domNode);\n const styles = parchment.StyleAttributor.keys(this.domNode);\n\n this.attributes = {\n ...fillAttributes(tagName, blot, attributes, utils/* KeyNameType.attribute */.WT.attribute),\n ...fillAttributes(tagName, blot, classes),\n ...fillAttributes(tagName, blot, styles, utils/* KeyNameType.style */.WT.style),\n };\n };\n}\n\n;// CONCATENATED MODULE: ./blots/block.js\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\noverrideParchment();\nvar NEWLINE_LENGTH = 1;\nvar Block = /*#__PURE__*/function (_BlockBlot) {\n _inherits(Block, _BlockBlot);\n var _super = _createSuper(Block);\n function Block(scroll, domNode) {\n var _this;\n _classCallCheck(this, Block);\n _this = _super.call(this, scroll, domNode);\n _this.cache = {};\n return _this;\n }\n _createClass(Block, [{\n key: \"delta\",\n value: function delta() {\n if (this.cache.delta == null) {\n this.cache.delta = blockDelta(this);\n }\n return this.cache.delta;\n }\n }, {\n key: \"deleteAt\",\n value: function deleteAt(index, length) {\n _get(_getPrototypeOf(Block.prototype), \"deleteAt\", this).call(this, index, length);\n this.cache = {};\n }\n }, {\n key: \"formatAt\",\n value: function formatAt(index, length, name, value) {\n if (length <= 0) return;\n if (this.scroll.query(name, parchment.Scope.BLOCK)) {\n if (index + length === this.length()) {\n this.format(name, value);\n }\n } else {\n _get(_getPrototypeOf(Block.prototype), \"formatAt\", this).call(this, index, Math.min(length, this.length() - index - 1), name, value);\n }\n this.cache = {};\n }\n }, {\n key: \"insertAt\",\n value: function insertAt(index, value, def) {\n if (def != null) {\n _get(_getPrototypeOf(Block.prototype), \"insertAt\", this).call(this, index, value, def);\n this.cache = {};\n return;\n }\n if (value.length === 0) return;\n var lines = value.split('\\n');\n var text = lines.shift();\n if (text.length > 0) {\n if (index < this.length() - 1 || this.children.tail == null) {\n _get(_getPrototypeOf(Block.prototype), \"insertAt\", this).call(this, Math.min(index, this.length() - 1), text);\n } else {\n this.children.tail.insertAt(this.children.tail.length(), text);\n }\n this.cache = {};\n }\n var block = this;\n lines.reduce(function (lineIndex, line) {\n block = block.split(lineIndex, true);\n block.insertAt(0, line);\n return line.length;\n }, index + text.length);\n }\n }, {\n key: \"insertBefore\",\n value: function insertBefore(blot, ref) {\n var head = this.children.head;\n _get(_getPrototypeOf(Block.prototype), \"insertBefore\", this).call(this, blot, ref);\n if (head instanceof blots_break/* default */.Z) {\n head.remove();\n }\n this.cache = {};\n }\n }, {\n key: \"length\",\n value: function length() {\n if (this.cache.length == null) {\n this.cache.length = _get(_getPrototypeOf(Block.prototype), \"length\", this).call(this) + NEWLINE_LENGTH;\n }\n return this.cache.length;\n }\n }, {\n key: \"moveChildren\",\n value: function moveChildren(target, ref) {\n _get(_getPrototypeOf(Block.prototype), \"moveChildren\", this).call(this, target, ref);\n this.cache = {};\n }\n }, {\n key: \"optimize\",\n value: function optimize(context) {\n _get(_getPrototypeOf(Block.prototype), \"optimize\", this).call(this, context);\n this.cache = {};\n }\n }, {\n key: \"path\",\n value: function path(index) {\n return _get(_getPrototypeOf(Block.prototype), \"path\", this).call(this, index, true);\n }\n }, {\n key: \"removeChild\",\n value: function removeChild(child) {\n _get(_getPrototypeOf(Block.prototype), \"removeChild\", this).call(this, child);\n this.cache = {};\n }\n }, {\n key: \"split\",\n value: function split(index) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (force && (index === 0 || index >= this.length() - NEWLINE_LENGTH)) {\n var clone = this.clone();\n if (index === 0) {\n this.parent.insertBefore(clone, this);\n return this;\n }\n this.parent.insertBefore(clone, this.next);\n return clone;\n }\n var next = _get(_getPrototypeOf(Block.prototype), \"split\", this).call(this, index, force);\n this.cache = {};\n return next;\n }\n }]);\n return Block;\n}(parchment.BlockBlot);\nBlock.blotName = 'block';\nBlock.tagName = 'P';\nBlock.defaultChild = blots_break/* default */.Z;\nBlock.allowedChildren = [blots_break/* default */.Z, inline/* default */.Z, parchment.EmbedBlot, blots_text/* default */.Z];\nvar BlockEmbed = /*#__PURE__*/function (_EmbedBlot) {\n _inherits(BlockEmbed, _EmbedBlot);\n var _super2 = _createSuper(BlockEmbed);\n function BlockEmbed() {\n _classCallCheck(this, BlockEmbed);\n return _super2.apply(this, arguments);\n }\n _createClass(BlockEmbed, [{\n key: \"attach\",\n value: function attach() {\n _get(_getPrototypeOf(BlockEmbed.prototype), \"attach\", this).call(this);\n this.attributes = new parchment.AttributorStore(this.domNode);\n }\n }, {\n key: \"delta\",\n value: function delta() {\n return new (Delta_default())().insert(this.value(), _objectSpread(_objectSpread({}, this.formats()), this.attributes.values()));\n }\n }, {\n key: \"format\",\n value: function format(name, value) {\n var attribute = this.scroll.query(name, parchment.Scope.BLOCK_ATTRIBUTE);\n if (attribute != null) {\n this.attributes.attribute(attribute, value);\n }\n }\n }, {\n key: \"formatAt\",\n value: function formatAt(index, length, name, value) {\n this.format(name, value);\n }\n }, {\n key: \"insertAt\",\n value: function insertAt(index, value, def) {\n if (typeof value === 'string' && value.endsWith('\\n')) {\n var block = this.scroll.create(Block.blotName);\n this.parent.insertBefore(block, index === 0 ? this : this.next);\n block.insertAt(0, value.slice(0, -1));\n } else {\n _get(_getPrototypeOf(BlockEmbed.prototype), \"insertAt\", this).call(this, index, value, def);\n }\n }\n }]);\n return BlockEmbed;\n}(parchment.EmbedBlot);\nBlockEmbed.scope = parchment.Scope.BLOCK_BLOT;\n// It is important for cursor behavior BlockEmbeds use tags that are block level elements\n\nfunction blockDelta(blot) {\n var filter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n return blot.descendants(parchment.LeafBlot).reduce(function (delta, leaf) {\n if (leaf.length() === 0) {\n return delta;\n }\n return delta.insert(leaf.value(), bubbleFormats(leaf, {}, filter));\n }, new (Delta_default())()).insert('\\n', bubbleFormats(blot));\n}\nfunction bubbleFormats(blot) {\n var formats = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var filter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n if (blot == null) return formats;\n if (typeof blot.formats === 'function') {\n formats = _objectSpread(_objectSpread({}, formats), blot.formats());\n if (filter) {\n // exclude syntax highlighting from deltas and getFormat()\n delete formats['code-token'];\n }\n }\n if (blot.parent == null || blot.parent.statics.blotName === 'scroll' || blot.parent.statics.scope !== blot.statics.scope) {\n return formats;\n }\n return bubbleFormats(blot.parent, formats, filter);\n}\n\n\n/***/ }),\n\n/***/ 4122:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar Break = /*#__PURE__*/function (_EmbedBlot) {\n _inherits(Break, _EmbedBlot);\n var _super = _createSuper(Break);\n function Break() {\n _classCallCheck(this, Break);\n return _super.apply(this, arguments);\n }\n _createClass(Break, [{\n key: \"optimize\",\n value: function optimize() {\n if (this.prev || this.next) {\n this.remove();\n }\n }\n }, {\n key: \"length\",\n value: function length() {\n return 0;\n }\n }, {\n key: \"value\",\n value: function value() {\n return '';\n }\n }], [{\n key: \"value\",\n value: function value() {\n return undefined;\n }\n }]);\n return Break;\n}(parchment__WEBPACK_IMPORTED_MODULE_0__.EmbedBlot);\nBreak.blotName = 'break';\nBreak.tagName = 'BR';\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Break);\n\n/***/ }),\n\n/***/ 3553:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar Container = /*#__PURE__*/function (_ContainerBlot) {\n _inherits(Container, _ContainerBlot);\n var _super = _createSuper(Container);\n function Container() {\n _classCallCheck(this, Container);\n return _super.apply(this, arguments);\n }\n return _createClass(Container);\n}(parchment__WEBPACK_IMPORTED_MODULE_0__.ContainerBlot);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Container);\n\n/***/ }),\n\n/***/ 3657:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233);\n/* harmony import */ var _text__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8222);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\nvar Cursor = /*#__PURE__*/function (_EmbedBlot) {\n _inherits(Cursor, _EmbedBlot);\n var _super = _createSuper(Cursor);\n function Cursor(scroll, domNode, selection) {\n var _this;\n _classCallCheck(this, Cursor);\n _this = _super.call(this, scroll, domNode);\n _this.selection = selection;\n _this.textNode = document.createTextNode(Cursor.CONTENTS);\n _this.domNode.appendChild(_this.textNode);\n _this.savedLength = 0;\n return _this;\n }\n _createClass(Cursor, [{\n key: \"detach\",\n value: function detach() {\n // super.detach() will also clear domNode.__blot\n if (this.parent != null) this.parent.removeChild(this);\n }\n }, {\n key: \"format\",\n value: function format(name, value) {\n if (this.savedLength !== 0) {\n _get(_getPrototypeOf(Cursor.prototype), \"format\", this).call(this, name, value);\n return;\n }\n var target = this;\n var index = 0;\n while (target != null && target.statics.scope !== parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.BLOCK_BLOT) {\n index += target.offset(target.parent);\n target = target.parent;\n }\n if (target != null) {\n this.savedLength = Cursor.CONTENTS.length;\n target.optimize();\n target.formatAt(index, Cursor.CONTENTS.length, name, value);\n this.savedLength = 0;\n }\n }\n }, {\n key: \"index\",\n value: function index(node, offset) {\n if (node === this.textNode) return 0;\n return _get(_getPrototypeOf(Cursor.prototype), \"index\", this).call(this, node, offset);\n }\n }, {\n key: \"length\",\n value: function length() {\n return this.savedLength;\n }\n }, {\n key: \"position\",\n value: function position() {\n return [this.textNode, this.textNode.data.length];\n }\n }, {\n key: \"remove\",\n value: function remove() {\n _get(_getPrototypeOf(Cursor.prototype), \"remove\", this).call(this);\n this.parent = null;\n }\n }, {\n key: \"restore\",\n value: function restore() {\n if (this.selection.composing || this.parent == null) return null;\n var range = this.selection.getNativeRange();\n // Link format will insert text outside of anchor tag\n while (this.domNode.lastChild != null && this.domNode.lastChild !== this.textNode) {\n this.domNode.parentNode.insertBefore(this.domNode.lastChild, this.domNode);\n }\n var prevTextBlot = this.prev instanceof _text__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"] */ .Z ? this.prev : null;\n var prevTextLength = prevTextBlot ? prevTextBlot.length() : 0;\n var nextTextBlot = this.next instanceof _text__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"] */ .Z ? this.next : null;\n var nextText = nextTextBlot ? nextTextBlot.text : '';\n var textNode = this.textNode;\n // take text from inside this blot and reset it\n var newText = textNode.data.split(Cursor.CONTENTS).join('');\n textNode.data = Cursor.CONTENTS;\n\n // proactively merge TextBlots around cursor so that optimization\n // doesn't lose the cursor. the reason we are here in cursor.restore\n // could be that the user clicked in prevTextBlot or nextTextBlot, or\n // the user typed something.\n var mergedTextBlot;\n if (prevTextBlot) {\n mergedTextBlot = prevTextBlot;\n if (newText || nextTextBlot) {\n prevTextBlot.insertAt(prevTextBlot.length(), newText + nextText);\n if (nextTextBlot) {\n nextTextBlot.remove();\n }\n }\n } else if (nextTextBlot) {\n mergedTextBlot = nextTextBlot;\n nextTextBlot.insertAt(0, newText);\n } else {\n var newTextNode = document.createTextNode(newText);\n mergedTextBlot = this.scroll.create(newTextNode);\n this.parent.insertBefore(mergedTextBlot, this);\n }\n this.remove();\n if (range) {\n // calculate selection to restore\n var remapOffset = function remapOffset(node, offset) {\n if (prevTextBlot && node === prevTextBlot.domNode) {\n return offset;\n }\n if (node === textNode) {\n return prevTextLength + offset - 1;\n }\n if (nextTextBlot && node === nextTextBlot.domNode) {\n return prevTextLength + newText.length + offset;\n }\n return null;\n };\n var start = remapOffset(range.start.node, range.start.offset);\n var end = remapOffset(range.end.node, range.end.offset);\n if (start !== null && end !== null) {\n return {\n startNode: mergedTextBlot.domNode,\n startOffset: start,\n endNode: mergedTextBlot.domNode,\n endOffset: end\n };\n }\n }\n return null;\n }\n }, {\n key: \"update\",\n value: function update(mutations, context) {\n var _this2 = this;\n if (mutations.some(function (mutation) {\n return mutation.type === 'characterData' && mutation.target === _this2.textNode;\n })) {\n var range = this.restore();\n if (range) context.range = range;\n }\n }\n }, {\n key: \"value\",\n value: function value() {\n return '';\n }\n }], [{\n key: \"value\",\n value: function value() {\n return undefined;\n }\n }]);\n return Cursor;\n}(parchment__WEBPACK_IMPORTED_MODULE_0__.EmbedBlot);\nCursor.blotName = 'cursor';\nCursor.className = 'ql-cursor';\nCursor.tagName = 'span';\nCursor.CONTENTS = \"\\uFEFF\"; // Zero width no break space\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Cursor);\n\n/***/ }),\n\n/***/ 7452:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233);\n/* harmony import */ var _text__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8222);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\nvar GUARD_TEXT = \"\\uFEFF\";\nvar Embed = /*#__PURE__*/function (_EmbedBlot) {\n _inherits(Embed, _EmbedBlot);\n var _super = _createSuper(Embed);\n function Embed(scroll, node) {\n var _this;\n _classCallCheck(this, Embed);\n _this = _super.call(this, scroll, node);\n _this.contentNode = document.createElement('span');\n _this.contentNode.setAttribute('contenteditable', false);\n Array.from(_this.domNode.childNodes).forEach(function (childNode) {\n _this.contentNode.appendChild(childNode);\n });\n _this.leftGuard = document.createTextNode(GUARD_TEXT);\n _this.rightGuard = document.createTextNode(GUARD_TEXT);\n _this.domNode.appendChild(_this.leftGuard);\n _this.domNode.appendChild(_this.contentNode);\n _this.domNode.appendChild(_this.rightGuard);\n return _this;\n }\n _createClass(Embed, [{\n key: \"index\",\n value: function index(node, offset) {\n if (node === this.leftGuard) return 0;\n if (node === this.rightGuard) return 1;\n return _get(_getPrototypeOf(Embed.prototype), \"index\", this).call(this, node, offset);\n }\n }, {\n key: \"restore\",\n value: function restore(node) {\n var range;\n var textNode;\n var text = node.data.split(GUARD_TEXT).join('');\n if (node === this.leftGuard) {\n if (this.prev instanceof _text__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"] */ .Z) {\n var prevLength = this.prev.length();\n this.prev.insertAt(prevLength, text);\n range = {\n startNode: this.prev.domNode,\n startOffset: prevLength + text.length\n };\n } else {\n textNode = document.createTextNode(text);\n this.parent.insertBefore(this.scroll.create(textNode), this);\n range = {\n startNode: textNode,\n startOffset: text.length\n };\n }\n } else if (node === this.rightGuard) {\n if (this.next instanceof _text__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"] */ .Z) {\n this.next.insertAt(0, text);\n range = {\n startNode: this.next.domNode,\n startOffset: text.length\n };\n } else {\n textNode = document.createTextNode(text);\n this.parent.insertBefore(this.scroll.create(textNode), this.next);\n range = {\n startNode: textNode,\n startOffset: text.length\n };\n }\n }\n node.data = GUARD_TEXT;\n return range;\n }\n }, {\n key: \"update\",\n value: function update(mutations, context) {\n var _this2 = this;\n mutations.forEach(function (mutation) {\n if (mutation.type === 'characterData' && (mutation.target === _this2.leftGuard || mutation.target === _this2.rightGuard)) {\n var range = _this2.restore(mutation.target);\n if (range) context.range = range;\n }\n });\n }\n }]);\n return Embed;\n}(parchment__WEBPACK_IMPORTED_MODULE_0__.EmbedBlot);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Embed);\n\n/***/ }),\n\n/***/ 6603:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233);\n/* harmony import */ var _break__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4122);\n/* harmony import */ var _text__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8222);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\nvar Inline = /*#__PURE__*/function (_InlineBlot) {\n _inherits(Inline, _InlineBlot);\n var _super = _createSuper(Inline);\n function Inline() {\n _classCallCheck(this, Inline);\n return _super.apply(this, arguments);\n }\n _createClass(Inline, [{\n key: \"formatAt\",\n value: function formatAt(index, length, name, value) {\n if (Inline.compare(this.statics.blotName, name) < 0 && this.scroll.query(name, parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.BLOT)) {\n var blot = this.isolate(index, length);\n if (value) {\n blot.wrap(name, value);\n }\n } else {\n _get(_getPrototypeOf(Inline.prototype), \"formatAt\", this).call(this, index, length, name, value);\n }\n }\n }, {\n key: \"optimize\",\n value: function optimize(context) {\n _get(_getPrototypeOf(Inline.prototype), \"optimize\", this).call(this, context);\n if (this.parent instanceof Inline && Inline.compare(this.statics.blotName, this.parent.statics.blotName) > 0) {\n var parent = this.parent.isolate(this.offset(), this.length());\n this.moveChildren(parent);\n parent.wrap(this);\n }\n }\n }], [{\n key: \"compare\",\n value: function compare(self, other) {\n var selfIndex = Inline.order.indexOf(self);\n var otherIndex = Inline.order.indexOf(other);\n if (selfIndex >= 0 || otherIndex >= 0) {\n return selfIndex - otherIndex;\n }\n if (self === other) {\n return 0;\n }\n if (self < other) {\n return -1;\n }\n return 1;\n }\n }]);\n return Inline;\n}(parchment__WEBPACK_IMPORTED_MODULE_0__.InlineBlot);\nInline.allowedChildren = [Inline, _break__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"] */ .Z, parchment__WEBPACK_IMPORTED_MODULE_0__.EmbedBlot, _text__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"] */ .Z];\n// Lower index means deeper in the DOM tree, since not found (-1) is for embeds\nInline.order = ['cursor', 'inline',\n// Must be lower\n'link',\n// Chrome wants to be lower\n'underline', 'strike', 'italic', 'bold', 'script', 'code' // Must be higher\n];\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Inline);\n\n/***/ }),\n\n/***/ 3272:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233);\n/* harmony import */ var _core_emitter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2069);\n/* harmony import */ var _block__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6446);\n/* harmony import */ var _break__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4122);\n/* harmony import */ var _container__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3553);\n/* harmony import */ var _formats_table__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(1969);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\nfunction isLine(blot) {\n return blot instanceof _block__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"] */ .ZP || blot instanceof _block__WEBPACK_IMPORTED_MODULE_2__/* .BlockEmbed */ .i2;\n}\nvar Scroll = /*#__PURE__*/function (_ScrollBlot) {\n _inherits(Scroll, _ScrollBlot);\n var _super = _createSuper(Scroll);\n function Scroll(registry, domNode, _ref) {\n var _this;\n var emitter = _ref.emitter,\n toggleBlankClass = _ref.toggleBlankClass;\n _classCallCheck(this, Scroll);\n _this = _super.call(this, registry, domNode);\n _this.emitter = emitter;\n _this.toggleBlankClass = toggleBlankClass;\n _this.batch = false;\n _this.optimize();\n _this.enable();\n _this.domNode.addEventListener('dragstart', function (e) {\n return _this.handleDragStart(e);\n });\n return _this;\n }\n _createClass(Scroll, [{\n key: \"batchStart\",\n value: function batchStart() {\n if (!Array.isArray(this.batch)) {\n this.batch = [];\n }\n }\n }, {\n key: \"batchEnd\",\n value: function batchEnd() {\n var mutations = this.batch;\n this.batch = false;\n this.update(mutations);\n }\n }, {\n key: \"emitMount\",\n value: function emitMount(blot) {\n this.emitter.emit(_core_emitter__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"].events.SCROLL_BLOT_MOUNT */ .Z.events.SCROLL_BLOT_MOUNT, blot);\n }\n }, {\n key: \"emitUnmount\",\n value: function emitUnmount(blot) {\n this.emitter.emit(_core_emitter__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"].events.SCROLL_BLOT_UNMOUNT */ .Z.events.SCROLL_BLOT_UNMOUNT, blot);\n }\n }, {\n key: \"deleteAt\",\n value: function deleteAt(index, length) {\n var _this$line = this.line(index),\n _this$line2 = _slicedToArray(_this$line, 2),\n first = _this$line2[0],\n offset = _this$line2[1];\n var _this$line3 = this.line(index + length),\n _this$line4 = _slicedToArray(_this$line3, 1),\n last = _this$line4[0];\n _get(_getPrototypeOf(Scroll.prototype), \"deleteAt\", this).call(this, index, length);\n if (last != null && first !== last && offset > 0) {\n var isCrossCellDelete = (first instanceof _formats_table__WEBPACK_IMPORTED_MODULE_5__/* .CellLine */ .zW || last instanceof _formats_table__WEBPACK_IMPORTED_MODULE_5__/* .CellLine */ .zW) && first.parent !== last.parent;\n var includesEmbedBlock = first instanceof _block__WEBPACK_IMPORTED_MODULE_2__/* .BlockEmbed */ .i2 || last instanceof _block__WEBPACK_IMPORTED_MODULE_2__/* .BlockEmbed */ .i2;\n if (!includesEmbedBlock && !isCrossCellDelete) {\n var ref = last.children.head instanceof _break__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"] */ .Z ? null : last.children.head;\n first.moveChildren(last, ref);\n first.remove();\n }\n }\n this.optimize();\n }\n }, {\n key: \"enable\",\n value: function enable() {\n var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.domNode.setAttribute('contenteditable', enabled);\n }\n }, {\n key: \"formatAt\",\n value: function formatAt(index, length, format, value) {\n _get(_getPrototypeOf(Scroll.prototype), \"formatAt\", this).call(this, index, length, format, value);\n this.optimize();\n }\n }, {\n key: \"handleDragStart\",\n value: function handleDragStart(event) {\n event.preventDefault();\n }\n }, {\n key: \"insertAt\",\n value: function insertAt(index, value, def) {\n if (index >= this.length()) {\n if (def == null || this.scroll.query(value, parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.BLOCK) == null) {\n var blot = this.scroll.create(this.statics.defaultChild.blotName);\n this.appendChild(blot);\n if (def == null && value.endsWith('\\n')) {\n blot.insertAt(0, value.slice(0, -1), def);\n } else {\n blot.insertAt(0, value, def);\n }\n } else {\n var embed = this.scroll.create(value, def);\n this.appendChild(embed);\n }\n } else {\n _get(_getPrototypeOf(Scroll.prototype), \"insertAt\", this).call(this, index, value, def);\n }\n this.optimize();\n }\n }, {\n key: \"insertBefore\",\n value: function insertBefore(blot, ref) {\n if (blot.statics.scope === parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.INLINE_BLOT) {\n var wrapper = this.scroll.create(this.statics.defaultChild.blotName);\n wrapper.appendChild(blot);\n _get(_getPrototypeOf(Scroll.prototype), \"insertBefore\", this).call(this, wrapper, ref);\n } else {\n _get(_getPrototypeOf(Scroll.prototype), \"insertBefore\", this).call(this, blot, ref);\n }\n }\n }, {\n key: \"isEnabled\",\n value: function isEnabled() {\n return this.domNode.getAttribute('contenteditable') === 'true';\n }\n }, {\n key: \"leaf\",\n value: function leaf(index) {\n return this.path(index).pop() || [null, -1];\n }\n }, {\n key: \"line\",\n value: function line(index) {\n if (index === this.length()) {\n return this.line(index - 1);\n }\n return this.descendant(isLine, index);\n }\n }, {\n key: \"lines\",\n value: function lines() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n var getLines = function getLines(blot, blotIndex, blotLength) {\n var lines = [];\n var lengthLeft = blotLength;\n blot.children.forEachAt(blotIndex, blotLength, function (child, childIndex, childLength) {\n if (isLine(child)) {\n lines.push(child);\n } else if (child instanceof parchment__WEBPACK_IMPORTED_MODULE_0__.ContainerBlot) {\n lines = lines.concat(getLines(child, childIndex, lengthLeft));\n }\n lengthLeft -= childLength;\n });\n return lines;\n };\n return getLines(this, index, length);\n }\n }, {\n key: \"optimize\",\n value: function optimize() {\n var mutations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.batch) return;\n _get(_getPrototypeOf(Scroll.prototype), \"optimize\", this).call(this, mutations, context);\n if (mutations.length > 0) {\n this.emitter.emit(_core_emitter__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"].events.SCROLL_OPTIMIZE */ .Z.events.SCROLL_OPTIMIZE, mutations, context);\n }\n }\n }, {\n key: \"path\",\n value: function path(index) {\n return _get(_getPrototypeOf(Scroll.prototype), \"path\", this).call(this, index).slice(1); // Exclude self\n }\n }, {\n key: \"remove\",\n value: function remove() {\n // Never remove self\n }\n }, {\n key: \"update\",\n value: function update(mutations) {\n var _this2 = this;\n if (this.batch) {\n if (Array.isArray(mutations)) {\n this.batch = this.batch.concat(mutations);\n this.toggleBlankClass();\n }\n return;\n }\n var source = _core_emitter__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"].sources.USER */ .Z.sources.USER;\n if (typeof mutations === 'string') {\n source = mutations;\n }\n if (!Array.isArray(mutations)) {\n mutations = this.observer.takeRecords();\n }\n mutations = mutations.filter(function (_ref2) {\n var target = _ref2.target;\n var blot = _this2.find(target, true);\n return blot && blot.scroll === _this2;\n });\n if (mutations.length > 0) {\n this.emitter.emit(_core_emitter__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"].events.SCROLL_BEFORE_UPDATE */ .Z.events.SCROLL_BEFORE_UPDATE, source, mutations);\n }\n _get(_getPrototypeOf(Scroll.prototype), \"update\", this).call(this, mutations.concat([])); // pass copy\n if (mutations.length > 0) {\n this.emitter.emit(_core_emitter__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"].events.SCROLL_UPDATE */ .Z.events.SCROLL_UPDATE, source, mutations);\n }\n }\n }]);\n return Scroll;\n}(parchment__WEBPACK_IMPORTED_MODULE_0__.ScrollBlot);\nScroll.blotName = 'scroll';\nScroll.className = 'ql-editor';\nScroll.tagName = 'DIV';\nScroll.defaultChild = _block__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"] */ .ZP;\nScroll.allowedChildren = [_block__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"] */ .ZP, _block__WEBPACK_IMPORTED_MODULE_2__/* .BlockEmbed */ .i2, _container__WEBPACK_IMPORTED_MODULE_4__/* [\"default\"] */ .Z];\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Scroll);\n\n/***/ }),\n\n/***/ 8222:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": () => (/* binding */ Text),\n/* harmony export */ \"b\": () => (/* binding */ escapeText)\n/* harmony export */ });\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar Text = /*#__PURE__*/function (_TextBlot) {\n _inherits(Text, _TextBlot);\n var _super = _createSuper(Text);\n function Text() {\n _classCallCheck(this, Text);\n return _super.apply(this, arguments);\n }\n return _createClass(Text);\n}(parchment__WEBPACK_IMPORTED_MODULE_0__.TextBlot);\nfunction escapeText(text) {\n return text.replace(/[&<>\"']/g, function (s) {\n // https://lodash.com/docs#escape\n var entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n };\n return entityMap[s];\n });\n}\n\n// eslint-disable-next-line no-restricted-exports\n\n\n/***/ }),\n\n/***/ 2432:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _core_quill__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(281);\n/* harmony import */ var _blots_block__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6446);\n/* harmony import */ var _blots_break__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4122);\n/* harmony import */ var _blots_container__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3553);\n/* harmony import */ var _blots_cursor__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3657);\n/* harmony import */ var _blots_embed__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7452);\n/* harmony import */ var _blots_inline__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6603);\n/* harmony import */ var _blots_scroll__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(3272);\n/* harmony import */ var _blots_text__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(8222);\n/* harmony import */ var _modules_clipboard__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(5635);\n/* harmony import */ var _modules_history__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(2613);\n/* harmony import */ var _modules_keyboard__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(3071);\n/* harmony import */ var _modules_uploader__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(3859);\n\n\n\n\n\n\n\n\n\n\n\n\n\n_core_quill__WEBPACK_IMPORTED_MODULE_0__/* [\"default\"].register */ .ZP.register({\n 'blots/block': _blots_block__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"] */ .ZP,\n 'blots/block/embed': _blots_block__WEBPACK_IMPORTED_MODULE_1__/* .BlockEmbed */ .i2,\n 'blots/break': _blots_break__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"] */ .Z,\n 'blots/container': _blots_container__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"] */ .Z,\n 'blots/cursor': _blots_cursor__WEBPACK_IMPORTED_MODULE_4__/* [\"default\"] */ .Z,\n 'blots/embed': _blots_embed__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"] */ .Z,\n 'blots/inline': _blots_inline__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z,\n 'blots/scroll': _blots_scroll__WEBPACK_IMPORTED_MODULE_7__/* [\"default\"] */ .Z,\n 'blots/text': _blots_text__WEBPACK_IMPORTED_MODULE_8__/* [\"default\"] */ .Z,\n 'modules/clipboard': _modules_clipboard__WEBPACK_IMPORTED_MODULE_9__/* [\"default\"] */ .ZP,\n 'modules/history': _modules_history__WEBPACK_IMPORTED_MODULE_10__/* [\"default\"] */ .Z,\n 'modules/keyboard': _modules_keyboard__WEBPACK_IMPORTED_MODULE_11__/* [\"default\"] */ .ZP,\n 'modules/uploader': _modules_uploader__WEBPACK_IMPORTED_MODULE_12__/* [\"default\"] */ .Z\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_core_quill__WEBPACK_IMPORTED_MODULE_0__/* [\"default\"] */ .ZP);\n\n/***/ }),\n\n/***/ 2861:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"Z\": () => (/* binding */ editor)\n});\n\n// EXTERNAL MODULE: ./node_modules/lodash.clonedeep/index.js\nvar lodash_clonedeep = __webpack_require__(8805);\nvar lodash_clonedeep_default = /*#__PURE__*/__webpack_require__.n(lodash_clonedeep);\n// EXTERNAL MODULE: ./node_modules/lodash.isequal/index.js\nvar lodash_isequal = __webpack_require__(2722);\nvar lodash_isequal_default = /*#__PURE__*/__webpack_require__.n(lodash_isequal);\n// EXTERNAL MODULE: ./node_modules/lodash.merge/index.js\nvar lodash_merge = __webpack_require__(732);\nvar lodash_merge_default = /*#__PURE__*/__webpack_require__.n(lodash_merge);\n// EXTERNAL MODULE: ./node_modules/quill-delta/dist/Delta.js\nvar Delta = __webpack_require__(9098);\nvar Delta_default = /*#__PURE__*/__webpack_require__.n(Delta);\n// EXTERNAL MODULE: ./node_modules/parchment/src/parchment.ts + 17 modules\nvar parchment = __webpack_require__(1233);\n// EXTERNAL MODULE: ./core/selection.js\nvar selection = __webpack_require__(7800);\n// EXTERNAL MODULE: ./blots/cursor.js\nvar cursor = __webpack_require__(3657);\n// EXTERNAL MODULE: ./blots/block.js + 1 modules\nvar blots_block = __webpack_require__(6446);\n// EXTERNAL MODULE: ./blots/break.js\nvar blots_break = __webpack_require__(4122);\n// EXTERNAL MODULE: ./blots/text.js\nvar blots_text = __webpack_require__(8222);\n;// CONCATENATED MODULE: ./utils/remove_class.js\nfunction removeClass(node, className) {\n node.classList.remove(className);\n if (node.classList.length === 0) {\n node.removeAttribute('class');\n }\n}\n;// CONCATENATED MODULE: ./core/editor.js\nfunction _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n\n\n\n\n\n\n\n\n\n\n\nvar ASCII = /^[ -~]*$/;\nvar Editor = /*#__PURE__*/function () {\n function Editor(scroll) {\n _classCallCheck(this, Editor);\n this.scroll = scroll;\n this.delta = this.getDelta();\n this.immediateFormats = new Set();\n }\n _createClass(Editor, [{\n key: \"addImmediateFormat\",\n value: function addImmediateFormat(name) {\n this.immediateFormats.add(name);\n }\n }, {\n key: \"applyDelta\",\n value: function applyDelta(delta) {\n var _this = this;\n this.scroll.update();\n var scrollLength = this.scroll.length();\n this.scroll.batchStart();\n var normalizedDelta = normalizeDelta(delta);\n var deleteDelta = new (Delta_default())();\n normalizedDelta.reduce(function (index, op) {\n var length = Delta.Op.length(op);\n var attributes = op.attributes || {};\n var addedNewline = false;\n if (op.insert != null) {\n deleteDelta.retain(length);\n if (typeof op.insert === 'string') {\n var text = op.insert;\n addedNewline = !text.endsWith('\\n') && (scrollLength <= index || _this.scroll.descendant(blots_block/* BlockEmbed */.i2, index)[0]);\n _this.scroll.insertAt(index, text);\n var _this$scroll$line = _this.scroll.line(index),\n _this$scroll$line2 = _slicedToArray(_this$scroll$line, 2),\n line = _this$scroll$line2[0],\n offset = _this$scroll$line2[1];\n var formats = lodash_merge_default()({}, (0,blots_block/* bubbleFormats */.E2)(line));\n if (line instanceof blots_block/* default */.ZP) {\n var _line$descendant = line.descendant(parchment.LeafBlot, offset),\n _line$descendant2 = _slicedToArray(_line$descendant, 1),\n leaf = _line$descendant2[0];\n formats = lodash_merge_default()(formats, (0,blots_block/* bubbleFormats */.E2)(leaf));\n }\n attributes = Delta.AttributeMap.diff(formats, attributes) || {};\n } else if (_typeof(op.insert) === 'object') {\n var key = Object.keys(op.insert)[0]; // There should only be one key\n if (key == null) return index;\n addedNewline = _this.scroll.query(key, parchment.Scope.INLINE) != null && (scrollLength <= index || _this.scroll.descendant(blots_block/* BlockEmbed */.i2, index)[0]);\n _this.scroll.insertAt(index, key, op.insert[key]);\n }\n scrollLength += length;\n } else {\n deleteDelta.push(op);\n }\n var keys = Object.keys(attributes);\n _this.immediateFormats.forEach(function (format) {\n if (keys.indexOf(format) > -1) {\n _this.scroll.formatAt(index, length, format, attributes[format]);\n delete attributes[format];\n }\n });\n Object.keys(attributes).forEach(function (name) {\n _this.scroll.formatAt(index, length, name, attributes[name]);\n });\n var addedLength = addedNewline ? 1 : 0;\n scrollLength += addedLength;\n deleteDelta.delete(addedLength);\n return index + length + addedLength;\n }, 0);\n deleteDelta.reduce(function (index, op) {\n if (typeof op.delete === 'number') {\n _this.scroll.deleteAt(index, op.delete);\n return index;\n }\n return index + Delta.Op.length(op);\n }, 0);\n this.scroll.batchEnd();\n this.scroll.optimize();\n return this.update(normalizedDelta);\n }\n }, {\n key: \"deleteText\",\n value: function deleteText(index, length) {\n this.scroll.deleteAt(index, length);\n return this.update(new (Delta_default())().retain(index).delete(length));\n }\n }, {\n key: \"formatLine\",\n value: function formatLine(index, length) {\n var _this2 = this;\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.scroll.update();\n Object.keys(formats).forEach(function (format) {\n _this2.scroll.lines(index, Math.max(length, 1)).forEach(function (line) {\n line.format(format, formats[format]);\n });\n });\n this.scroll.optimize();\n var delta = new (Delta_default())().retain(index).retain(length, lodash_clonedeep_default()(formats));\n return this.update(delta);\n }\n }, {\n key: \"formatText\",\n value: function formatText(index, length) {\n var _this3 = this;\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n Object.keys(formats).forEach(function (format) {\n _this3.scroll.formatAt(index, length, format, formats[format]);\n });\n var delta = new (Delta_default())().retain(index).retain(length, lodash_clonedeep_default()(formats));\n return this.update(delta);\n }\n }, {\n key: \"getContents\",\n value: function getContents(index, length) {\n return this.delta.slice(index, index + length);\n }\n }, {\n key: \"getDelta\",\n value: function getDelta() {\n return this.scroll.lines().reduce(function (delta, line) {\n return delta.concat(line.delta());\n }, new (Delta_default())());\n }\n }, {\n key: \"getFormat\",\n value: function getFormat(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var lines = [];\n var leaves = [];\n if (length === 0) {\n this.scroll.path(index).forEach(function (path) {\n var _path = _slicedToArray(path, 1),\n blot = _path[0];\n if (blot instanceof blots_block/* default */.ZP) {\n lines.push(blot);\n } else if (blot instanceof parchment.LeafBlot) {\n leaves.push(blot);\n }\n });\n } else {\n lines = this.scroll.lines(index, length);\n leaves = this.scroll.descendants(parchment.LeafBlot, index, length);\n }\n var _map = [lines, leaves].map(function (blots) {\n if (blots.length === 0) return {};\n var formats = (0,blots_block/* bubbleFormats */.E2)(blots.shift());\n while (Object.keys(formats).length > 0) {\n var blot = blots.shift();\n if (blot == null) return formats;\n formats = combineFormats((0,blots_block/* bubbleFormats */.E2)(blot), formats);\n }\n return formats;\n });\n var _map2 = _slicedToArray(_map, 2);\n lines = _map2[0];\n leaves = _map2[1];\n return _objectSpread(_objectSpread({}, lines), leaves);\n }\n }, {\n key: \"getHTML\",\n value: function getHTML(index, length) {\n var _this$scroll$line3 = this.scroll.line(index),\n _this$scroll$line4 = _slicedToArray(_this$scroll$line3, 2),\n line = _this$scroll$line4[0],\n lineOffset = _this$scroll$line4[1];\n if (line.length() > lineOffset + length) {\n return convertHTML(line, lineOffset, length, true);\n }\n return convertHTML(this.scroll, index, length, true);\n }\n }, {\n key: \"getText\",\n value: function getText(index, length) {\n return this.getContents(index, length).filter(function (op) {\n return typeof op.insert === 'string';\n }).map(function (op) {\n return op.insert;\n }).join('');\n }\n }, {\n key: \"insertEmbed\",\n value: function insertEmbed(index, embed, value) {\n this.scroll.insertAt(index, embed, value);\n return this.update(new (Delta_default())().retain(index).insert(_defineProperty({}, embed, value)));\n }\n }, {\n key: \"insertText\",\n value: function insertText(index, text) {\n var _this4 = this;\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n text = text.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n this.scroll.insertAt(index, text);\n Object.keys(formats).forEach(function (format) {\n _this4.scroll.formatAt(index, text.length, format, formats[format]);\n });\n return this.update(new (Delta_default())().retain(index).insert(text, lodash_clonedeep_default()(formats)));\n }\n }, {\n key: \"isBlank\",\n value: function isBlank() {\n var isComposing = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n if (this.scroll.children.length === 0) return true;\n if (isComposing) return false;\n if (this.scroll.children.length > 1) return false;\n var block = this.scroll.children.head;\n if (block.statics.blotName !== blots_block/* default.blotName */.ZP.blotName) return false;\n if (block.children.length > 1) return false;\n return block.children.head instanceof blots_break/* default */.Z;\n }\n }, {\n key: \"removeFormat\",\n value: function removeFormat(index, length) {\n var text = this.getText(index, length);\n var _this$scroll$line5 = this.scroll.line(index + length),\n _this$scroll$line6 = _slicedToArray(_this$scroll$line5, 2),\n line = _this$scroll$line6[0],\n offset = _this$scroll$line6[1];\n var suffixLength = 0;\n var suffix = new (Delta_default())();\n if (line != null) {\n suffixLength = line.length() - offset;\n suffix = line.delta().slice(offset, offset + suffixLength - 1).insert('\\n');\n }\n var contents = this.getContents(index, length + suffixLength);\n var diff = contents.diff(new (Delta_default())().insert(text).concat(suffix));\n var delta = new (Delta_default())().retain(index).concat(diff);\n return this.applyDelta(delta);\n }\n }, {\n key: \"update\",\n value: function update(change) {\n var mutations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var selectionInfo = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;\n var oldDelta = this.delta;\n if (mutations.length === 1 && mutations[0].type === 'characterData' && mutations[0].target.data.match(ASCII) && this.scroll.find(mutations[0].target)) {\n // Optimization for character changes\n var textBlot = this.scroll.find(mutations[0].target);\n var formats = (0,blots_block/* bubbleFormats */.E2)(textBlot);\n var index = textBlot.offset(this.scroll);\n var oldValue = mutations[0].oldValue.replace(cursor/* default.CONTENTS */.Z.CONTENTS, '');\n var oldText = new (Delta_default())().insert(oldValue);\n var newText = new (Delta_default())().insert(textBlot.value());\n var relativeSelectionInfo = selectionInfo && {\n oldRange: shiftRange(selectionInfo.oldRange, -index),\n newRange: shiftRange(selectionInfo.newRange, -index)\n };\n var diffDelta = new (Delta_default())().retain(index).concat(oldText.diff(newText, relativeSelectionInfo));\n change = diffDelta.reduce(function (delta, op) {\n if (op.insert) {\n return delta.insert(op.insert, formats);\n }\n return delta.push(op);\n }, new (Delta_default())());\n this.delta = oldDelta.compose(change);\n } else {\n this.delta = this.getDelta();\n if (!change || !lodash_isequal_default()(oldDelta.compose(change), this.delta)) {\n change = oldDelta.diff(this.delta, selectionInfo);\n }\n }\n return change;\n }\n }]);\n return Editor;\n}();\nfunction convertListHTML(items, lastIndent, types) {\n if (items.length === 0) {\n var _getListType = getListType(types.pop()),\n _getListType2 = _slicedToArray(_getListType, 1),\n _endTag = _getListType2[0];\n if (lastIndent <= 0) {\n return \"\");\n }\n return \"\").concat(convertListHTML([], lastIndent - 1, types));\n }\n var _items = _toArray(items),\n _items$ = _items[0],\n child = _items$.child,\n offset = _items$.offset,\n length = _items$.length,\n indent = _items$.indent,\n type = _items$.type,\n rest = _items.slice(1);\n var _getListType3 = getListType(type, child),\n _getListType4 = _slicedToArray(_getListType3, 2),\n tag = _getListType4[0],\n attribute = _getListType4[1];\n if (indent > lastIndent) {\n types.push(type);\n if (indent === lastIndent + 1) {\n return \"<\".concat(tag, \">\").concat(convertHTML(child, offset, length)).concat(convertListHTML(rest, indent, types));\n }\n return \"<\".concat(tag, \">
  • \").concat(convertListHTML(items, lastIndent + 1, types));\n }\n var previousType = types[types.length - 1];\n if (indent === lastIndent && type === previousType) {\n return \"
  • \").concat(convertHTML(child, offset, length)).concat(convertListHTML(rest, indent, types));\n }\n var _getListType5 = getListType(types.pop()),\n _getListType6 = _slicedToArray(_getListType5, 1),\n endTag = _getListType6[0];\n return \"\").concat(convertListHTML(items, lastIndent - 1, types));\n}\nfunction convertHTML(blot, index, length) {\n var isRoot = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n if (typeof blot.html === 'function') {\n return blot.html(index, length);\n }\n if (blot instanceof blots_text/* default */.Z) {\n return (0,blots_text/* escapeText */.b)(blot.value().slice(index, index + length));\n }\n if (blot.children) {\n // TODO fix API\n if (blot.statics.blotName === 'list-container') {\n var items = [];\n blot.children.forEachAt(index, length, function (child, offset, childLength) {\n var formats = child.formats();\n items.push({\n child: child,\n offset: offset,\n length: childLength,\n indent: formats.indent || 0,\n type: formats.list\n });\n });\n return convertListHTML(items, -1, []);\n }\n var parts = [];\n blot.children.forEachAt(index, length, function (child, offset, childLength) {\n parts.push(convertHTML(child, offset, childLength));\n });\n handleBreakLine(blot.children, parts);\n if (isRoot || blot.statics.blotName === 'list') {\n return parts.join('');\n }\n var domNode = extractNodeFromBlot(blot);\n var outerHTML = domNode.outerHTML,\n innerHTML = domNode.innerHTML;\n var _outerHTML$split = outerHTML.split(\">\".concat(innerHTML, \"<\")),\n _outerHTML$split2 = _slicedToArray(_outerHTML$split, 2),\n start = _outerHTML$split2[0],\n end = _outerHTML$split2[1];\n if (start.indexOf('\").concat(parts.join('').replace(/(\\sdata-table.+?=[\"'].*?[\"'])/g, ''), \"<\").concat(end);\n }\n return \"\".concat(start, \">\").concat(parts.join(''), \"<\").concat(end);\n }\n return blot.domNode.outerHTML;\n}\nfunction handleBreakLine(linkedList, parts) {\n if (linkedList.length === 1 && linkedList.head instanceof blots_break/* default */.Z) {\n parts.push('
    ');\n }\n}\nfunction extractNodeFromBlot(blot) {\n var domNode = blot.domNode.cloneNode(true);\n return removeTableServiceClasses(blot, domNode);\n}\nfunction removeTableServiceClasses(blot, domNode) {\n var BLOTS_WITH_SERVICE_CLASS = ['tableCellLine', 'tableHeaderCellLine', 'tableCell', 'tableHeaderCell'];\n if (BLOTS_WITH_SERVICE_CLASS.includes(blot.statics.blotName)) {\n removeClass(domNode, blot.statics.className);\n }\n return domNode;\n}\nfunction combineFormats(formats, combined) {\n return Object.keys(combined).reduce(function (merged, name) {\n if (formats[name] == null) return merged;\n if (combined[name] === formats[name]) {\n merged[name] = combined[name];\n } else if (Array.isArray(combined[name])) {\n if (combined[name].indexOf(formats[name]) < 0) {\n merged[name] = combined[name].concat([formats[name]]);\n }\n } else {\n merged[name] = [combined[name], formats[name]];\n }\n return merged;\n }, {});\n}\nfunction getListType(type, child) {\n var tag = type === 'ordered' ? 'ol' : 'ul';\n var attributes = child ? \"\".concat(getBlotNodeAttributes(child)) : '';\n switch (type) {\n case 'checked':\n return [tag, \"\".concat(attributes, \" data-list=\\\"checked\\\"\")];\n case 'unchecked':\n return [tag, \"\".concat(attributes, \" data-list=\\\"unchecked\\\"\")];\n default:\n return [tag, attributes];\n }\n}\nfunction getBlotNodeAttributes(_ref) {\n var domNode = _ref.domNode;\n if (!domNode.hasAttributes()) {\n return '';\n }\n var attributes = domNode.attributes;\n var attributesString = ' ';\n for (var i = 0; i < attributes.length; i += 1) {\n var name = attributes[i].name;\n var value = attributes[i].value;\n if (name === 'class') {\n value = removeIndentClass(value);\n }\n if (value.length && name.indexOf('data-') === -1) {\n attributesString += \"\".concat(name, \"=\\\"\").concat(value, \"\\\"\");\n }\n }\n return attributesString.length > 1 ? attributesString : '';\n}\nfunction removeIndentClass(classString) {\n return classString.replace(/ql-indent-\\d/g, '').trim();\n}\nfunction normalizeDelta(delta) {\n return delta.reduce(function (normalizedDelta, op) {\n if (typeof op.insert === 'string') {\n var text = op.insert.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n return normalizedDelta.insert(text, op.attributes);\n }\n return normalizedDelta.push(op);\n }, new (Delta_default())());\n}\nfunction shiftRange(_ref2, amount) {\n var index = _ref2.index,\n length = _ref2.length;\n return new selection/* Range */.e(index + amount, length);\n}\n/* harmony default export */ const editor = (Editor);\n\n/***/ }),\n\n/***/ 2069:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var eventemitter3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3034);\n/* harmony import */ var eventemitter3__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(eventemitter3__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils_has_window__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8034);\n/* harmony import */ var _instances__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2598);\n/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3122);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\nvar debug = (0,_logger__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"] */ .Z)('quill:events');\nvar EVENTS = ['selectionchange', 'mousedown', 'mouseup', 'click'];\nif ((0,_utils_has_window__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"] */ .Z)()) {\n EVENTS.forEach(function (eventName) {\n document.addEventListener(eventName, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n Array.from(document.querySelectorAll('.ql-container')).forEach(function (node) {\n var quill = _instances__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"].get */ .Z.get(node);\n if (quill && quill.emitter) {\n var _quill$emitter;\n (_quill$emitter = quill.emitter).handleDOM.apply(_quill$emitter, args);\n }\n });\n });\n });\n}\nvar Emitter = /*#__PURE__*/function (_EventEmitter) {\n _inherits(Emitter, _EventEmitter);\n var _super = _createSuper(Emitter);\n function Emitter() {\n var _this;\n _classCallCheck(this, Emitter);\n _this = _super.call(this);\n _this.listeners = {};\n _this.on('error', debug.error);\n return _this;\n }\n _createClass(Emitter, [{\n key: \"emit\",\n value: function emit() {\n var _debug$log, _get2;\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n (_debug$log = debug.log).call.apply(_debug$log, [debug].concat(args));\n (_get2 = _get(_getPrototypeOf(Emitter.prototype), \"emit\", this)).call.apply(_get2, [this].concat(args));\n }\n }, {\n key: \"handleDOM\",\n value: function handleDOM(event) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n (this.listeners[event.type] || []).forEach(function (_ref) {\n var node = _ref.node,\n handler = _ref.handler;\n if (event.target === node || node.contains(event.target)) {\n handler.apply(void 0, [event].concat(args));\n }\n });\n }\n }, {\n key: \"listenDOM\",\n value: function listenDOM(eventName, node, handler) {\n if (!this.listeners[eventName]) {\n this.listeners[eventName] = [];\n }\n this.listeners[eventName].push({\n node: node,\n handler: handler\n });\n }\n }]);\n return Emitter;\n}((eventemitter3__WEBPACK_IMPORTED_MODULE_0___default()));\nEmitter.events = {\n EDITOR_CHANGE: 'editor-change',\n SCROLL_BEFORE_UPDATE: 'scroll-before-update',\n SCROLL_BLOT_MOUNT: 'scroll-blot-mount',\n SCROLL_BLOT_UNMOUNT: 'scroll-blot-unmount',\n SCROLL_OPTIMIZE: 'scroll-optimize',\n SCROLL_UPDATE: 'scroll-update',\n SELECTION_CHANGE: 'selection-change',\n TEXT_CHANGE: 'text-change',\n CONTENT_SETTED: 'content-setted'\n};\nEmitter.sources = {\n API: 'api',\n SILENT: 'silent',\n USER: 'user'\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Emitter);\n\n/***/ }),\n\n/***/ 2598:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (new WeakMap());\n\n/***/ }),\n\n/***/ 3122:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nvar levels = ['error', 'warn', 'log', 'info'];\nvar level = 'warn';\nfunction debug(method) {\n if (levels.indexOf(method) <= levels.indexOf(level)) {\n var _console;\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n (_console = console)[method].apply(_console, args); // eslint-disable-line no-console\n }\n}\n\nfunction namespace(ns) {\n return levels.reduce(function (logger, method) {\n logger[method] = debug.bind(console, method, ns);\n return logger;\n }, {});\n}\nnamespace.level = function (newLevel) {\n level = newLevel;\n};\ndebug.level = namespace.level;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (namespace);\n\n/***/ }),\n\n/***/ 7094:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nvar Module = /*#__PURE__*/_createClass(function Module(quill) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Module);\n this.quill = quill;\n this.options = options;\n});\nModule.DEFAULTS = {};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Module);\n\n/***/ }),\n\n/***/ 281:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ZP\": () => (/* binding */ Quill)\n/* harmony export */ });\n/* unused harmony exports globalRegistry, expandConfig, overload */\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9098);\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var lodash_clonedeep__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8805);\n/* harmony import */ var lodash_clonedeep__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_clonedeep__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var lodash_merge__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(732);\n/* harmony import */ var lodash_merge__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_merge__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1233);\n/* harmony import */ var _editor__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2861);\n/* harmony import */ var _emitter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(2069);\n/* harmony import */ var _module__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(7094);\n/* harmony import */ var _selection__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(7800);\n/* harmony import */ var _instances__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(2598);\n/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(3122);\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(1690);\n/* harmony import */ var _utils_is_defined__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(5874);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n\n\n\n\n\n\n\n\n\n\n\n\nvar debug = (0,_logger__WEBPACK_IMPORTED_MODULE_9__/* [\"default\"] */ .Z)('quill');\nvar globalRegistry = new parchment__WEBPACK_IMPORTED_MODULE_3__.Registry();\nparchment__WEBPACK_IMPORTED_MODULE_3__.ParentBlot.uiClass = 'ql-ui';\nvar Quill = /*#__PURE__*/function () {\n function Quill(container) {\n var _this = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Quill);\n this.options = expandConfig(container, options);\n this.container = this.options.container;\n if (this.container == null) {\n // eslint-disable-next-line no-constructor-return\n return debug.error('Invalid Quill container', container);\n }\n if (this.options.debug) {\n Quill.debug(this.options.debug);\n }\n var html = this.container.innerHTML.trim();\n this.container.classList.add('ql-container');\n this.container.innerHTML = '';\n _instances__WEBPACK_IMPORTED_MODULE_8__/* [\"default\"].set */ .Z.set(this.container, this);\n this.root = this.addContainer('ql-editor');\n this.root.classList.add('ql-blank');\n this.scrollingContainer = this.options.scrollingContainer || this.root;\n this.emitter = new _emitter__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"] */ .Z();\n var ScrollBlot = this.options.registry.query(parchment__WEBPACK_IMPORTED_MODULE_3__.ScrollBlot.blotName);\n this.scroll = new ScrollBlot(this.options.registry, this.root, {\n emitter: this.emitter,\n toggleBlankClass: this.toggleBlankClass.bind(this)\n });\n this.editor = new _editor__WEBPACK_IMPORTED_MODULE_4__/* [\"default\"] */ .Z(this.scroll);\n this.selection = new _selection__WEBPACK_IMPORTED_MODULE_7__/* [\"default\"] */ .Z(this.scroll, this.emitter);\n this.theme = new this.options.theme(this, this.options); // eslint-disable-line new-cap\n this.keyboard = this.theme.addModule('keyboard');\n this.clipboard = this.theme.addModule('clipboard');\n this.history = this.theme.addModule('history');\n this.uploader = this.theme.addModule('uploader');\n this.theme.init();\n this.emitter.on(_emitter__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"].events.EDITOR_CHANGE */ .Z.events.EDITOR_CHANGE, function (type) {\n if (type === _emitter__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"].events.TEXT_CHANGE */ .Z.events.TEXT_CHANGE) {\n _this.toggleBlankClass();\n }\n });\n this.emitter.on(_emitter__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"].events.SCROLL_UPDATE */ .Z.events.SCROLL_UPDATE, function (source, mutations) {\n var oldRange = _this.selection.lastRange;\n var _this$selection$getRa = _this.selection.getRange(),\n _this$selection$getRa2 = _slicedToArray(_this$selection$getRa, 1),\n newRange = _this$selection$getRa2[0];\n var selectionInfo = oldRange && newRange ? {\n oldRange: oldRange,\n newRange: newRange\n } : undefined;\n modify.call(_this, function () {\n return _this.editor.update(null, mutations, selectionInfo);\n }, source);\n });\n this.setContents(this.getInitialContent(html));\n this.history.clear();\n if (this.options.placeholder) {\n this.root.setAttribute('data-placeholder', this.options.placeholder);\n }\n if (this.options.readOnly) {\n this.disable();\n }\n this.allowReadOnlyEdits = false;\n }\n _createClass(Quill, [{\n key: \"getInitialContent\",\n value: function getInitialContent(html) {\n return this.clipboard.convert({\n html: \"\".concat(html, \"


    \"),\n text: '\\n'\n });\n }\n }, {\n key: \"toggleBlankClass\",\n value: function toggleBlankClass() {\n var isComposing = this.selection.composing;\n this.root.classList.toggle('ql-blank', this.editor.isBlank(isComposing));\n }\n }, {\n key: \"addContainer\",\n value: function addContainer(container) {\n var refNode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (typeof container === 'string') {\n var className = container;\n container = document.createElement('div');\n container.classList.add(className);\n }\n this.container.insertBefore(container, refNode);\n return container;\n }\n }, {\n key: \"blur\",\n value: function blur() {\n this.selection.setRange(null);\n }\n }, {\n key: \"deleteText\",\n value: function deleteText(index, length, source) {\n var _this2 = this;\n var _overload = overload(index, length, source);\n var _overload2 = _slicedToArray(_overload, 4);\n index = _overload2[0];\n length = _overload2[1];\n source = _overload2[3];\n return modify.call(this, function () {\n return _this2.editor.deleteText(index, length);\n }, source, index, -1 * length);\n }\n }, {\n key: \"disable\",\n value: function disable() {\n this.enable(false);\n }\n }, {\n key: \"editReadOnly\",\n value: function editReadOnly(modifier) {\n this.allowReadOnlyEdits = true;\n var value = modifier();\n this.allowReadOnlyEdits = false;\n return value;\n }\n }, {\n key: \"enable\",\n value: function enable() {\n var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.scroll.enable(enabled);\n this.container.classList.toggle('ql-disabled', !enabled);\n }\n }, {\n key: \"focus\",\n value: function focus() {\n var scrollTop = this.scrollingContainer.scrollTop;\n this.selection.focus();\n this.scrollingContainer.scrollTop = scrollTop;\n this.scrollIntoView();\n }\n }, {\n key: \"format\",\n value: function format(name, value) {\n var _this3 = this;\n var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"].sources.API */ .Z.sources.API;\n return modify.call(this, function () {\n var range = _this3.getSelection(true);\n var change = new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())();\n if (range == null) return change;\n if (_this3.scroll.query(name, parchment__WEBPACK_IMPORTED_MODULE_3__.Scope.BLOCK)) {\n change = _this3.editor.formatLine(range.index, range.length, _defineProperty({}, name, value));\n } else if (range.length === 0) {\n _this3.selection.format(name, value);\n return change;\n } else {\n change = _this3.editor.formatText(range.index, range.length, _defineProperty({}, name, value));\n }\n _this3.setSelection(range, _emitter__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"].sources.SILENT */ .Z.sources.SILENT);\n return change;\n }, source);\n }\n }, {\n key: \"formatLine\",\n value: function formatLine(index, length, name, value, source) {\n var _this4 = this;\n var formats;\n // eslint-disable-next-line prefer-const\n var _overload3 = overload(index, length, name, value, source);\n var _overload4 = _slicedToArray(_overload3, 4);\n index = _overload4[0];\n length = _overload4[1];\n formats = _overload4[2];\n source = _overload4[3];\n return modify.call(this, function () {\n return _this4.editor.formatLine(index, length, formats);\n }, source, index, 0);\n }\n }, {\n key: \"formatText\",\n value: function formatText(index, length, name, value, source) {\n var _this5 = this;\n var formats;\n // eslint-disable-next-line prefer-const\n var _overload5 = overload(index, length, name, value, source);\n var _overload6 = _slicedToArray(_overload5, 4);\n index = _overload6[0];\n length = _overload6[1];\n formats = _overload6[2];\n source = _overload6[3];\n return modify.call(this, function () {\n return _this5.editor.formatText(index, length, formats);\n }, source, index, 0);\n }\n }, {\n key: \"getBounds\",\n value: function getBounds(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var bounds;\n if (typeof index === 'number') {\n bounds = this.selection.getBounds(index, length);\n } else {\n bounds = this.selection.getBounds(index.index, index.length);\n }\n var containerBounds = this.container.getBoundingClientRect();\n return {\n bottom: bounds.bottom - containerBounds.top,\n height: bounds.height,\n left: bounds.left - containerBounds.left,\n right: bounds.right - containerBounds.left,\n top: bounds.top - containerBounds.top,\n width: bounds.width\n };\n }\n }, {\n key: \"getContents\",\n value: function getContents() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\n var _overload7 = overload(index, length);\n var _overload8 = _slicedToArray(_overload7, 2);\n index = _overload8[0];\n length = _overload8[1];\n return this.editor.getContents(index, length);\n }\n }, {\n key: \"getFormat\",\n value: function getFormat() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.getSelection(true);\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n if (!(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_11__/* [\"default\"] */ .Z)(index)) {\n return {};\n }\n if (typeof index === 'number') {\n return this.editor.getFormat(index, length);\n }\n return this.editor.getFormat(index.index, index.length);\n }\n }, {\n key: \"getIndex\",\n value: function getIndex(blot) {\n return blot.offset(this.scroll);\n }\n }, {\n key: \"getLength\",\n value: function getLength() {\n return this.scroll.length();\n }\n }, {\n key: \"getLeaf\",\n value: function getLeaf(index) {\n return this.scroll.leaf(index);\n }\n }, {\n key: \"getLine\",\n value: function getLine(index) {\n return this.scroll.line(index);\n }\n }, {\n key: \"getLines\",\n value: function getLines() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n if (typeof index !== 'number') {\n return this.scroll.lines(index.index, index.length);\n }\n return this.scroll.lines(index, length);\n }\n }, {\n key: \"getModule\",\n value: function getModule(name) {\n return this.theme.modules[name];\n }\n }, {\n key: \"getSelection\",\n value: function getSelection() {\n var focus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n if (focus) this.focus();\n this.update(); // Make sure we access getRange with editor in consistent state\n return this.selection.getRange()[0];\n }\n }, {\n key: \"getSemanticHTML\",\n value: function getSemanticHTML() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\n var _overload9 = overload(index, length);\n var _overload10 = _slicedToArray(_overload9, 2);\n index = _overload10[0];\n length = _overload10[1];\n return this.editor.getHTML(index, length);\n }\n }, {\n key: \"getText\",\n value: function getText() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\n var _overload11 = overload(index, length);\n var _overload12 = _slicedToArray(_overload11, 2);\n index = _overload12[0];\n length = _overload12[1];\n return this.editor.getText(index, length);\n }\n }, {\n key: \"hasFocus\",\n value: function hasFocus() {\n return this.selection.hasFocus();\n }\n }, {\n key: \"insertEmbed\",\n value: function insertEmbed(index, embed, value) {\n var _this6 = this;\n var source = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : Quill.sources.API;\n return modify.call(this, function () {\n return _this6.editor.insertEmbed(index, embed, value);\n }, source, index);\n }\n }, {\n key: \"insertText\",\n value: function insertText(index, text, name, value, source) {\n var _this7 = this;\n var formats;\n // eslint-disable-next-line prefer-const\n var _overload13 = overload(index, 0, name, value, source);\n var _overload14 = _slicedToArray(_overload13, 4);\n index = _overload14[0];\n formats = _overload14[2];\n source = _overload14[3];\n return modify.call(this, function () {\n return _this7.editor.insertText(index, text, formats);\n }, source, index, text.length);\n }\n }, {\n key: \"isEnabled\",\n value: function isEnabled() {\n return this.scroll.isEnabled();\n }\n }, {\n key: \"off\",\n value: function off() {\n var _this$emitter;\n return (_this$emitter = this.emitter).off.apply(_this$emitter, arguments);\n }\n }, {\n key: \"on\",\n value: function on() {\n var _this$emitter2;\n return (_this$emitter2 = this.emitter).on.apply(_this$emitter2, arguments);\n }\n }, {\n key: \"once\",\n value: function once() {\n var _this$emitter3;\n return (_this$emitter3 = this.emitter).once.apply(_this$emitter3, arguments);\n }\n }, {\n key: \"removeFormat\",\n value: function removeFormat(index, length, source) {\n var _this8 = this;\n var _overload15 = overload(index, length, source);\n var _overload16 = _slicedToArray(_overload15, 4);\n index = _overload16[0];\n length = _overload16[1];\n source = _overload16[3];\n return modify.call(this, function () {\n return _this8.editor.removeFormat(index, length);\n }, source, index);\n }\n }, {\n key: \"scrollIntoView\",\n value: function scrollIntoView() {\n this.selection.scrollIntoView(this.scrollingContainer);\n }\n }, {\n key: \"setContents\",\n value: function setContents(delta) {\n var _this9 = this;\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"].sources.API */ .Z.sources.API;\n return modify.call(this, function () {\n delta = new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())(delta);\n var length = _this9.getLength();\n // Quill will set empty editor to \\n\n var delete1 = _this9.editor.deleteText(0, length);\n // delta always applied before existing content\n var applied = _this9.editor.applyDelta(delta);\n // Remove extra \\n from empty editor initialization\n var delete2 = _this9.editor.deleteText(_this9.getLength() - 1, 1);\n _this9.emitter.emit(Quill.events.CONTENT_SETTED);\n return delete1.compose(applied).compose(delete2);\n }, source);\n }\n }, {\n key: \"setSelection\",\n value: function setSelection(index, length, source) {\n if (index == null) {\n this.selection.setRange(null, length || Quill.sources.API);\n } else {\n var _overload17 = overload(index, length, source);\n var _overload18 = _slicedToArray(_overload17, 4);\n index = _overload18[0];\n length = _overload18[1];\n source = _overload18[3];\n this.selection.setRange(new _selection__WEBPACK_IMPORTED_MODULE_7__/* .Range */ .e(Math.max(0, index), length), source);\n if (source !== _emitter__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"].sources.SILENT */ .Z.sources.SILENT) {\n this.selection.scrollIntoView(this.scrollingContainer);\n }\n }\n }\n }, {\n key: \"setText\",\n value: function setText(text) {\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"].sources.API */ .Z.sources.API;\n var delta = new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())().insert(text);\n return this.setContents(delta, source);\n }\n }, {\n key: \"update\",\n value: function update() {\n var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"].sources.USER */ .Z.sources.USER;\n // Will update selection before selection.update() does if text changes\n var change = this.scroll.update(source);\n this.selection.update(source);\n // TODO this is usually undefined\n return change;\n }\n }, {\n key: \"updateContents\",\n value: function updateContents(delta) {\n var _this10 = this;\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"].sources.API */ .Z.sources.API;\n return modify.call(this, function () {\n delta = new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())(delta);\n return _this10.editor.applyDelta(delta, source);\n }, source, true);\n }\n }], [{\n key: \"debug\",\n value: function debug(limit) {\n if (limit === true) {\n limit = 'log';\n }\n _logger__WEBPACK_IMPORTED_MODULE_9__/* [\"default\"].level */ .Z.level(limit);\n }\n }, {\n key: \"find\",\n value: function find(node) {\n return _instances__WEBPACK_IMPORTED_MODULE_8__/* [\"default\"].get */ .Z.get(node) || globalRegistry.find(node);\n }\n }, {\n key: \"import\",\n value: function _import(name) {\n if (this.imports[name] == null) {\n debug.error(\"Cannot import \".concat(name, \". Are you sure it was registered?\"));\n }\n return this.imports[name];\n }\n }, {\n key: \"register\",\n value: function register(path, target) {\n var _this11 = this;\n var overwrite = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n if (typeof path !== 'string') {\n var name = path.attrName || path.blotName;\n if (typeof name === 'string') {\n // register(Blot | Attributor, overwrite)\n this.register(\"formats/\".concat(name), path, target);\n } else {\n Object.keys(path).forEach(function (key) {\n _this11.register(key, path[key], target);\n });\n }\n } else {\n if (this.imports[path] != null && !overwrite) {\n debug.warn(\"Overwriting \".concat(path, \" with\"), target);\n }\n this.imports[path] = target;\n if ((path.indexOf('blots/') === 0 || path.indexOf('formats/') === 0) && target.blotName !== 'abstract') {\n globalRegistry.register(target);\n }\n if (typeof target.register === 'function') {\n target.register(globalRegistry);\n }\n }\n }\n }]);\n return Quill;\n}();\nQuill.DEFAULTS = {\n bounds: null,\n modules: {},\n placeholder: '',\n readOnly: false,\n registry: globalRegistry,\n scrollingContainer: null,\n theme: 'default'\n};\nQuill.events = _emitter__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"].events */ .Z.events;\nQuill.sources = _emitter__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"].sources */ .Z.sources;\n// eslint-disable-next-line no-undef\nQuill.version = false ? 0 : \"1.6.3\";\nQuill.imports = {\n delta: (quill_delta__WEBPACK_IMPORTED_MODULE_0___default()),\n parchment: parchment__WEBPACK_IMPORTED_MODULE_3__,\n 'core/module': _module__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z,\n 'core/theme': _theme__WEBPACK_IMPORTED_MODULE_10__/* [\"default\"] */ .Z\n};\nfunction expandConfig(container, userConfig) {\n userConfig = lodash_merge__WEBPACK_IMPORTED_MODULE_2___default()({\n container: container,\n modules: {\n clipboard: true,\n keyboard: true,\n history: true,\n uploader: true\n }\n }, userConfig);\n if (!userConfig.theme || userConfig.theme === Quill.DEFAULTS.theme) {\n userConfig.theme = _theme__WEBPACK_IMPORTED_MODULE_10__/* [\"default\"] */ .Z;\n } else {\n userConfig.theme = Quill.import(\"themes/\".concat(userConfig.theme));\n if (userConfig.theme == null) {\n throw new Error(\"Invalid theme \".concat(userConfig.theme, \". Did you register it?\"));\n }\n }\n var themeConfig = lodash_clonedeep__WEBPACK_IMPORTED_MODULE_1___default()(userConfig.theme.DEFAULTS);\n [themeConfig, userConfig].forEach(function (config) {\n config.modules = config.modules || {};\n Object.keys(config.modules).forEach(function (module) {\n if (config.modules[module] === true) {\n config.modules[module] = {};\n }\n });\n });\n var moduleNames = Object.keys(themeConfig.modules).concat(Object.keys(userConfig.modules));\n var moduleConfig = moduleNames.reduce(function (config, name) {\n var moduleClass = Quill.import(\"modules/\".concat(name));\n if (moduleClass == null) {\n debug.error(\"Cannot load \".concat(name, \" module. Are you sure you registered it?\"));\n } else {\n config[name] = moduleClass.DEFAULTS || {};\n }\n return config;\n }, {});\n // Special case toolbar shorthand\n if (userConfig.modules != null && userConfig.modules.toolbar && userConfig.modules.toolbar.constructor !== Object) {\n userConfig.modules.toolbar = {\n container: userConfig.modules.toolbar\n };\n }\n userConfig = lodash_merge__WEBPACK_IMPORTED_MODULE_2___default()({}, Quill.DEFAULTS, {\n modules: moduleConfig\n }, themeConfig, userConfig);\n ['bounds', 'container', 'scrollingContainer'].forEach(function (key) {\n if (typeof userConfig[key] === 'string') {\n userConfig[key] = document.querySelector(userConfig[key]);\n }\n });\n userConfig.modules = Object.keys(userConfig.modules).reduce(function (config, name) {\n if (userConfig.modules[name]) {\n config[name] = userConfig.modules[name];\n }\n return config;\n }, {});\n return userConfig;\n}\n\n// Handle selection preservation and TEXT_CHANGE emission\n// common to modification APIs\nfunction modify(modifier, source, index, shift) {\n if (!this.isEnabled() && source === _emitter__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"].sources.USER */ .Z.sources.USER && !this.allowReadOnlyEdits) {\n return new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())();\n }\n var range = index == null ? null : this.getSelection();\n var oldDelta = this.editor.delta;\n var change = modifier();\n if (range != null) {\n if (index === true) {\n index = range.index; // eslint-disable-line prefer-destructuring\n }\n\n if (shift == null) {\n range = shiftRange(range, change, source);\n } else if (shift !== 0) {\n range = shiftRange(range, index, shift, source);\n }\n this.setSelection(range, _emitter__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"].sources.SILENT */ .Z.sources.SILENT);\n }\n if (change.length() > 0) {\n var _this$emitter4;\n var args = [_emitter__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"].events.TEXT_CHANGE */ .Z.events.TEXT_CHANGE, change, oldDelta, source];\n (_this$emitter4 = this.emitter).emit.apply(_this$emitter4, [_emitter__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"].events.EDITOR_CHANGE */ .Z.events.EDITOR_CHANGE].concat(args));\n if (source !== _emitter__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"].sources.SILENT */ .Z.sources.SILENT) {\n var _this$emitter5;\n (_this$emitter5 = this.emitter).emit.apply(_this$emitter5, args);\n }\n }\n return change;\n}\nfunction overload(index, length, name, value, source) {\n var formats = {};\n if (typeof index.index === 'number' && typeof index.length === 'number') {\n // Allow for throwaway end (used by insertText/insertEmbed)\n if (typeof length !== 'number') {\n source = value;\n value = name;\n name = length;\n length = index.length; // eslint-disable-line prefer-destructuring\n index = index.index; // eslint-disable-line prefer-destructuring\n } else {\n length = index.length; // eslint-disable-line prefer-destructuring\n index = index.index; // eslint-disable-line prefer-destructuring\n }\n } else if (typeof length !== 'number') {\n source = value;\n value = name;\n name = length;\n length = 0;\n }\n // Handle format being object, two format name/value strings or excluded\n if (_typeof(name) === 'object') {\n formats = name;\n source = value;\n } else if (typeof name === 'string') {\n if (value != null) {\n formats[name] = value;\n } else {\n source = name;\n }\n }\n // Handle optional source\n source = source || _emitter__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"].sources.API */ .Z.sources.API;\n return [index, length, formats, source];\n}\nfunction shiftRange(range, index, length, source) {\n if (range == null) return null;\n var start;\n var end;\n if (index instanceof (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())) {\n var _map = [range.index, range.index + range.length].map(function (pos) {\n return index.transformPosition(pos, source !== _emitter__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"].sources.USER */ .Z.sources.USER);\n });\n var _map2 = _slicedToArray(_map, 2);\n start = _map2[0];\n end = _map2[1];\n } else {\n var _map3 = [range.index, range.index + range.length].map(function (pos) {\n if (pos < index || pos === index && source === _emitter__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"].sources.USER */ .Z.sources.USER) return pos;\n if (length >= 0) {\n return pos + length;\n }\n return Math.max(index, pos + length);\n });\n var _map4 = _slicedToArray(_map3, 2);\n start = _map4[0];\n end = _map4[1];\n }\n return new _selection__WEBPACK_IMPORTED_MODULE_7__/* .Range */ .e(start, end - start);\n}\n\n\n/***/ }),\n\n/***/ 7800:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": () => (/* binding */ Selection),\n/* harmony export */ \"e\": () => (/* binding */ Range)\n/* harmony export */ });\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233);\n/* harmony import */ var lodash_clonedeep__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8805);\n/* harmony import */ var lodash_clonedeep__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_clonedeep__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var lodash_isequal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2722);\n/* harmony import */ var lodash_isequal__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_isequal__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _emitter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2069);\n/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3122);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n\n\n\n\nvar debug = (0,_logger__WEBPACK_IMPORTED_MODULE_4__/* [\"default\"] */ .Z)('quill:selection');\nvar Range = /*#__PURE__*/_createClass(function Range(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n _classCallCheck(this, Range);\n this.index = index;\n this.length = length;\n});\nvar Selection = /*#__PURE__*/function () {\n function Selection(scroll, emitter) {\n var _this = this;\n _classCallCheck(this, Selection);\n this.emitter = emitter;\n this.scroll = scroll;\n this.composing = false;\n this.mouseDown = false;\n this.root = this.scroll.domNode;\n this.cursor = this.scroll.create('cursor', this);\n // savedRange is last non-null range\n this.savedRange = new Range(0, 0);\n this.lastRange = this.savedRange;\n this.lastNative = null;\n this.handleComposition();\n this.handleDragging();\n this.emitter.listenDOM('selectionchange', document, function () {\n if (!_this.mouseDown && !_this.composing) {\n setTimeout(_this.update.bind(_this, _emitter__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"].sources.USER */ .Z.sources.USER), 1);\n }\n });\n this.emitter.on(_emitter__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"].events.SCROLL_BEFORE_UPDATE */ .Z.events.SCROLL_BEFORE_UPDATE, function () {\n if (!_this.hasFocus()) return;\n var native = _this.getNativeRange();\n if (native == null) return;\n if (native.start.node === _this.cursor.textNode) return; // cursor.restore() will handle\n _this.emitter.once(_emitter__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"].events.SCROLL_UPDATE */ .Z.events.SCROLL_UPDATE, function () {\n try {\n if (_this.root.contains(native.start.node) && _this.root.contains(native.end.node)) {\n _this.setNativeRange(native.start.node, native.start.offset, native.end.node, native.end.offset);\n }\n _this.update(_emitter__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"].sources.SILENT */ .Z.sources.SILENT);\n } catch (ignored) {\n // ignore\n }\n });\n });\n this.emitter.on(_emitter__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"].events.SCROLL_OPTIMIZE */ .Z.events.SCROLL_OPTIMIZE, function (mutations, context) {\n if (context.range) {\n var _context$range = context.range,\n startNode = _context$range.startNode,\n startOffset = _context$range.startOffset,\n endNode = _context$range.endNode,\n endOffset = _context$range.endOffset;\n _this.setNativeRange(startNode, startOffset, endNode, endOffset);\n _this.update(_emitter__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"].sources.SILENT */ .Z.sources.SILENT);\n }\n });\n this.update(_emitter__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"].sources.SILENT */ .Z.sources.SILENT);\n }\n _createClass(Selection, [{\n key: \"handleComposition\",\n value: function handleComposition() {\n var _this2 = this;\n this.root.addEventListener('compositionstart', function () {\n _this2.composing = true;\n _this2.scroll.batchStart();\n });\n this.root.addEventListener('compositionend', function () {\n _this2.scroll.batchEnd();\n _this2.composing = false;\n if (_this2.cursor.parent) {\n var range = _this2.cursor.restore();\n if (!range) return;\n setTimeout(function () {\n _this2.setNativeRange(range.startNode, range.startOffset, range.endNode, range.endOffset);\n }, 1);\n }\n });\n }\n }, {\n key: \"handleDragging\",\n value: function handleDragging() {\n var _this3 = this;\n this.emitter.listenDOM('mousedown', document.body, function () {\n _this3.mouseDown = true;\n });\n this.emitter.listenDOM('mouseup', document.body, function () {\n _this3.mouseDown = false;\n _this3.update(_emitter__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"].sources.USER */ .Z.sources.USER);\n });\n }\n }, {\n key: \"focus\",\n value: function focus() {\n if (this.hasFocus()) return;\n this.root.focus();\n this.setRange(this.savedRange);\n }\n }, {\n key: \"format\",\n value: function format(_format, value) {\n this.scroll.update();\n var nativeRange = this.getNativeRange();\n if (nativeRange == null || !nativeRange.native.collapsed || this.scroll.query(_format, parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.BLOCK)) return;\n if (nativeRange.start.node !== this.cursor.textNode) {\n var blot = this.scroll.find(nativeRange.start.node, false);\n if (blot == null) return;\n // TODO Give blot ability to not split\n if (blot instanceof parchment__WEBPACK_IMPORTED_MODULE_0__.LeafBlot) {\n var after = blot.split(nativeRange.start.offset);\n blot.parent.insertBefore(this.cursor, after);\n } else {\n blot.insertBefore(this.cursor, nativeRange.start.node); // Should never happen\n }\n\n this.cursor.attach();\n }\n this.cursor.format(_format, value);\n this.scroll.optimize();\n this.setNativeRange(this.cursor.textNode, this.cursor.textNode.data.length);\n this.update();\n }\n }, {\n key: \"getBounds\",\n value: function getBounds(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var scrollLength = this.scroll.length();\n index = Math.min(index, scrollLength - 1);\n length = Math.min(index + length, scrollLength - 1) - index;\n var node;\n var _this$scroll$leaf = this.scroll.leaf(index),\n _this$scroll$leaf2 = _slicedToArray(_this$scroll$leaf, 2),\n leaf = _this$scroll$leaf2[0],\n offset = _this$scroll$leaf2[1];\n if (leaf == null) return null;\n var _this$getPositionData = this.getPositionData(leaf, offset, true);\n var _this$getPositionData2 = _slicedToArray(_this$getPositionData, 2);\n node = _this$getPositionData2[0];\n offset = _this$getPositionData2[1];\n var range = document.createRange();\n if (length > 0) {\n range.setStart(node, offset);\n var _this$scroll$leaf3 = this.scroll.leaf(index + length);\n var _this$scroll$leaf4 = _slicedToArray(_this$scroll$leaf3, 2);\n leaf = _this$scroll$leaf4[0];\n offset = _this$scroll$leaf4[1];\n if (leaf == null) return null;\n var _this$getPositionData3 = this.getPositionData(leaf, offset, true);\n var _this$getPositionData4 = _slicedToArray(_this$getPositionData3, 2);\n node = _this$getPositionData4[0];\n offset = _this$getPositionData4[1];\n range.setEnd(node, offset);\n return range.getBoundingClientRect();\n }\n var side = 'left';\n var rect;\n if (node instanceof Text) {\n if (offset < node.data.length) {\n range.setStart(node, offset);\n range.setEnd(node, offset + 1);\n } else {\n range.setStart(node, offset - 1);\n range.setEnd(node, offset);\n side = 'right';\n }\n rect = range.getBoundingClientRect();\n } else {\n rect = leaf.domNode.getBoundingClientRect();\n if (offset > 0) side = 'right';\n }\n return {\n bottom: rect.top + rect.height,\n height: rect.height,\n left: rect[side],\n right: rect[side],\n top: rect.top,\n width: 0\n };\n }\n }, {\n key: \"getNativeRange\",\n value: function getNativeRange() {\n var _ownerDocument$getSel, _ownerDocument$getSel2;\n var ownerDocument = this.root.getRootNode();\n var selection = (_ownerDocument$getSel = (_ownerDocument$getSel2 = ownerDocument.getSelection) === null || _ownerDocument$getSel2 === void 0 ? void 0 : _ownerDocument$getSel2.call(ownerDocument)) !== null && _ownerDocument$getSel !== void 0 ? _ownerDocument$getSel : document.getSelection();\n if (selection == null || selection.rangeCount <= 0) return null;\n var nativeRange = selection.getRangeAt(0);\n if (nativeRange == null) return null;\n var range = this.normalizeNative(nativeRange);\n debug.info('getNativeRange', range);\n return range;\n }\n }, {\n key: \"getRange\",\n value: function getRange() {\n var normalized = this.getNativeRange();\n if (normalized == null) return [null, null];\n var range = this.normalizedToRange(normalized);\n return [range, normalized];\n }\n }, {\n key: \"hasFocus\",\n value: function hasFocus() {\n var ownerDocument = this.root.getRootNode();\n return ownerDocument.activeElement === this.root || contains(this.root, ownerDocument.activeElement);\n }\n }, {\n key: \"normalizedToRange\",\n value: function normalizedToRange(range) {\n var _this4 = this;\n var positions = [[range.start.node, range.start.offset]];\n if (!range.native.collapsed) {\n positions.push([range.end.node, range.end.offset]);\n }\n var indexes = positions.map(function (position) {\n var _position = _slicedToArray(position, 2),\n node = _position[0],\n offset = _position[1];\n var blot = _this4.scroll.find(node, true);\n var index = blot.offset(_this4.scroll);\n if (offset === 0) {\n return index;\n }\n if (blot instanceof parchment__WEBPACK_IMPORTED_MODULE_0__.LeafBlot) {\n return index + blot.index(node, offset);\n }\n return index + blot.length();\n });\n var end = Math.min(Math.max.apply(Math, _toConsumableArray(indexes)), this.scroll.length() - 1);\n var start = Math.min.apply(Math, [end].concat(_toConsumableArray(indexes)));\n return new Range(start, end - start);\n }\n }, {\n key: \"normalizeNative\",\n value: function normalizeNative(nativeRange) {\n if (!contains(this.root, nativeRange.startContainer) || !nativeRange.collapsed && !contains(this.root, nativeRange.endContainer)) {\n return null;\n }\n var range = {\n start: {\n node: nativeRange.startContainer,\n offset: nativeRange.startOffset\n },\n end: {\n node: nativeRange.endContainer,\n offset: nativeRange.endOffset\n },\n native: nativeRange\n };\n [range.start, range.end].forEach(function (position) {\n var node = position.node,\n offset = position.offset;\n while (!(node instanceof Text) && node.childNodes.length > 0) {\n if (node.childNodes.length > offset) {\n node = node.childNodes[offset];\n offset = 0;\n } else if (node.childNodes.length === offset) {\n node = node.lastChild;\n if (node instanceof Text) {\n offset = node.data.length;\n } else if (node.childNodes.length > 0) {\n // Container case\n offset = node.childNodes.length;\n } else {\n // Embed case\n offset = node.childNodes.length + 1;\n }\n } else {\n break;\n }\n }\n position.node = node;\n position.offset = offset;\n });\n return range;\n }\n }, {\n key: \"rangeToNative\",\n value: function rangeToNative(range) {\n var _this5 = this;\n var indexes = range.collapsed ? [range.index] : [range.index, range.index + range.length];\n var args = [];\n var scrollLength = this.scroll.length();\n indexes.forEach(function (index, i) {\n index = Math.min(scrollLength - 1, index);\n var _this5$scroll$leaf = _this5.scroll.leaf(index),\n _this5$scroll$leaf2 = _slicedToArray(_this5$scroll$leaf, 2),\n leaf = _this5$scroll$leaf2[0],\n leafOffset = _this5$scroll$leaf2[1];\n var _this5$getPositionDat = _this5.getPositionData(leaf, leafOffset, i !== 0),\n _this5$getPositionDat2 = _slicedToArray(_this5$getPositionDat, 2),\n node = _this5$getPositionDat2[0],\n offset = _this5$getPositionDat2[1];\n args.push(node, offset);\n });\n if (args.length < 2) {\n return args.concat(args);\n }\n return args;\n }\n }, {\n key: \"getPositionData\",\n value: function getPositionData(leaf, offset, inclusive) {\n if (leaf instanceof parchment__WEBPACK_IMPORTED_MODULE_0__.LeafBlot) {\n return leaf.position(offset, inclusive);\n }\n return [leaf.domNode, offset];\n }\n }, {\n key: \"scrollIntoView\",\n value: function scrollIntoView(scrollingContainer) {\n var range = this.lastRange;\n if (range == null) return;\n var bounds = this.getBounds(range.index, range.length);\n if (bounds == null) return;\n var limit = this.scroll.length() - 1;\n var _this$scroll$line = this.scroll.line(Math.min(range.index, limit)),\n _this$scroll$line2 = _slicedToArray(_this$scroll$line, 1),\n first = _this$scroll$line2[0];\n var last = first;\n if (range.length > 0) {\n var _this$scroll$line3 = this.scroll.line(Math.min(range.index + range.length, limit));\n var _this$scroll$line4 = _slicedToArray(_this$scroll$line3, 1);\n last = _this$scroll$line4[0];\n }\n if (first == null || last == null) return;\n var scrollBounds = scrollingContainer.getBoundingClientRect();\n if (bounds.top < scrollBounds.top) {\n scrollingContainer.scrollTop -= scrollBounds.top - bounds.top;\n } else if (bounds.bottom > scrollBounds.bottom) {\n scrollingContainer.scrollTop += bounds.bottom - scrollBounds.bottom;\n }\n }\n }, {\n key: \"setNativeRange\",\n value: function setNativeRange(startNode, startOffset) {\n var endNode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : startNode;\n var endOffset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : startOffset;\n var force = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n debug.info('setNativeRange', startNode, startOffset, endNode, endOffset);\n if (startNode != null && (this.root.parentNode == null || startNode.parentNode == null || endNode.parentNode == null)) {\n return;\n }\n var selection = document.getSelection();\n if (selection == null) return;\n if (startNode != null) {\n if (!this.hasFocus()) this.root.focus();\n var _ref = this.getNativeRange() || {},\n native = _ref.native;\n if (native == null || force || startNode !== native.startContainer || startOffset !== native.startOffset || endNode !== native.endContainer || endOffset !== native.endOffset) {\n if (startNode.tagName === 'BR') {\n startOffset = Array.from(startNode.parentNode.childNodes).indexOf(startNode);\n startNode = startNode.parentNode;\n }\n if (endNode.tagName === 'BR') {\n endOffset = Array.from(endNode.parentNode.childNodes).indexOf(endNode);\n endNode = endNode.parentNode;\n }\n var range = document.createRange();\n range.setStart(startNode, startOffset);\n range.setEnd(endNode, endOffset);\n selection.removeAllRanges();\n selection.addRange(range);\n }\n } else {\n selection.removeAllRanges();\n this.root.blur();\n document.body.focus(); // root.blur() not enough for IE11\n }\n }\n }, {\n key: \"setRange\",\n value: function setRange(range) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"].sources.API */ .Z.sources.API;\n if (typeof force === 'string') {\n source = force;\n force = false;\n }\n debug.info('setRange', range);\n if (range != null) {\n var args = this.rangeToNative(range);\n this.setNativeRange.apply(this, _toConsumableArray(args).concat([force]));\n } else {\n this.setNativeRange(null);\n }\n this.update(source);\n }\n }, {\n key: \"update\",\n value: function update() {\n var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"].sources.USER */ .Z.sources.USER;\n var oldRange = this.lastRange;\n var _this$getRange = this.getRange(),\n _this$getRange2 = _slicedToArray(_this$getRange, 2),\n lastRange = _this$getRange2[0],\n nativeRange = _this$getRange2[1];\n this.lastRange = lastRange;\n this.lastNative = nativeRange;\n if (this.lastRange != null) {\n this.savedRange = this.lastRange;\n }\n if (!lodash_isequal__WEBPACK_IMPORTED_MODULE_2___default()(oldRange, this.lastRange)) {\n var _this$emitter;\n if (!this.composing && nativeRange != null && nativeRange.native.collapsed && nativeRange.start.node !== this.cursor.textNode) {\n var range = this.cursor.restore();\n if (range) {\n this.setNativeRange(range.startNode, range.startOffset, range.endNode, range.endOffset);\n }\n }\n var args = [_emitter__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"].events.SELECTION_CHANGE */ .Z.events.SELECTION_CHANGE, lodash_clonedeep__WEBPACK_IMPORTED_MODULE_1___default()(this.lastRange), lodash_clonedeep__WEBPACK_IMPORTED_MODULE_1___default()(oldRange), source];\n (_this$emitter = this.emitter).emit.apply(_this$emitter, [_emitter__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"].events.EDITOR_CHANGE */ .Z.events.EDITOR_CHANGE].concat(args));\n if (source !== _emitter__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"].sources.SILENT */ .Z.sources.SILENT) {\n var _this$emitter2;\n (_this$emitter2 = this.emitter).emit.apply(_this$emitter2, args);\n }\n }\n }\n }]);\n return Selection;\n}();\nfunction contains(parent, descendant) {\n try {\n // Firefox inserts inaccessible nodes around video elements\n descendant.parentNode; // eslint-disable-line no-unused-expressions\n } catch (e) {\n return false;\n }\n\n // IE11 has bug with Text nodes\n // https://connect.microsoft.com/IE/feedback/details/780874/node-contains-is-incorrect\n if (descendant instanceof Text) {\n descendant = descendant.parentNode;\n }\n return parent.contains(descendant);\n}\n\n// eslint-disable-next-line no-restricted-exports\n\n\n/***/ }),\n\n/***/ 1690:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar Theme = /*#__PURE__*/function () {\n function Theme(quill, options) {\n _classCallCheck(this, Theme);\n this.quill = quill;\n this.options = options;\n this.modules = {};\n }\n _createClass(Theme, [{\n key: \"init\",\n value: function init() {\n var _this = this;\n Object.keys(this.options.modules).forEach(function (name) {\n if (_this.modules[name] == null) {\n _this.addModule(name);\n }\n });\n }\n }, {\n key: \"addModule\",\n value: function addModule(name) {\n var ModuleClass = this.quill.constructor.import(\"modules/\".concat(name));\n this.modules[name] = new ModuleClass(this.quill, this.options.modules[name] || {});\n return this.modules[name];\n }\n }]);\n return Theme;\n}();\nTheme.DEFAULTS = {\n modules: {}\n};\nTheme.themes = {\n default: Theme\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Theme);\n\n/***/ }),\n\n/***/ 715:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"HE\": () => (/* binding */ AlignStyle),\n/* harmony export */ \"dk\": () => (/* binding */ AlignClass),\n/* harmony export */ \"if\": () => (/* binding */ AlignAttribute)\n/* harmony export */ });\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233);\n\nvar config = {\n scope: parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.BLOCK,\n whitelist: ['right', 'center', 'justify']\n};\nvar AlignAttribute = new parchment__WEBPACK_IMPORTED_MODULE_0__.Attributor('align', 'align', config);\nvar AlignClass = new parchment__WEBPACK_IMPORTED_MODULE_0__.ClassAttributor('align', 'ql-align', config);\nvar AlignStyle = new parchment__WEBPACK_IMPORTED_MODULE_0__.StyleAttributor('align', 'text-align', config);\n\n\n/***/ }),\n\n/***/ 7898:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Y\": () => (/* binding */ BackgroundClass),\n/* harmony export */ \"w\": () => (/* binding */ BackgroundStyle)\n/* harmony export */ });\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233);\n/* harmony import */ var _color__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6039);\n\n\nvar BackgroundClass = new parchment__WEBPACK_IMPORTED_MODULE_0__.ClassAttributor('background', 'ql-bg', {\n scope: parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.INLINE\n});\nvar BackgroundStyle = new _color__WEBPACK_IMPORTED_MODULE_1__/* .ColorAttributor */ .OO('background', 'background-color', {\n scope: parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.INLINE\n});\n\n\n/***/ }),\n\n/***/ 3991:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _blots_inline__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6603);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar Bold = /*#__PURE__*/function (_Inline) {\n _inherits(Bold, _Inline);\n var _super = _createSuper(Bold);\n function Bold() {\n _classCallCheck(this, Bold);\n return _super.apply(this, arguments);\n }\n _createClass(Bold, [{\n key: \"optimize\",\n value: function optimize(context) {\n _get(_getPrototypeOf(Bold.prototype), \"optimize\", this).call(this, context);\n if (this.domNode.tagName !== this.statics.tagName[0]) {\n this.replaceWith(this.statics.blotName);\n }\n }\n }], [{\n key: \"create\",\n value: function create() {\n return _get(_getPrototypeOf(Bold), \"create\", this).call(this);\n }\n }, {\n key: \"formats\",\n value: function formats() {\n return true;\n }\n }]);\n return Bold;\n}(_blots_inline__WEBPACK_IMPORTED_MODULE_0__/* [\"default\"] */ .Z);\nBold.blotName = 'bold';\nBold.tagName = ['STRONG', 'B'];\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Bold);\n\n/***/ }),\n\n/***/ 7309:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"EK\": () => (/* binding */ Code),\n/* harmony export */ \"ZP\": () => (/* binding */ CodeBlock),\n/* harmony export */ \"se\": () => (/* binding */ CodeBlockContainer)\n/* harmony export */ });\n/* harmony import */ var _blots_block__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6446);\n/* harmony import */ var _blots_break__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4122);\n/* harmony import */ var _blots_cursor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3657);\n/* harmony import */ var _blots_inline__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6603);\n/* harmony import */ var _blots_text__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8222);\n/* harmony import */ var _blots_container__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(3553);\n/* harmony import */ var _core_quill__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(281);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\nvar CodeBlockContainer = /*#__PURE__*/function (_Container) {\n _inherits(CodeBlockContainer, _Container);\n var _super = _createSuper(CodeBlockContainer);\n function CodeBlockContainer() {\n _classCallCheck(this, CodeBlockContainer);\n return _super.apply(this, arguments);\n }\n _createClass(CodeBlockContainer, [{\n key: \"code\",\n value: function code(index, length) {\n var text = this.children.map(function (child) {\n return child.length() <= 1 ? '' : child.domNode.textContent;\n }).join('\\n').slice(index, index + length);\n return (0,_blots_text__WEBPACK_IMPORTED_MODULE_4__/* .escapeText */ .b)(text);\n }\n }, {\n key: \"html\",\n value: function html(index, length) {\n // `\\n`s are needed in order to support empty lines at the beginning and the end.\n // https://html.spec.whatwg.org/multipage/syntax.html#element-restrictions\n return \"
    \\n\".concat(this.code(index, length), \"\\n
    \");\n }\n }], [{\n key: \"create\",\n value: function create(value) {\n var domNode = _get(_getPrototypeOf(CodeBlockContainer), \"create\", this).call(this, value);\n domNode.setAttribute('spellcheck', false);\n return domNode;\n }\n }]);\n return CodeBlockContainer;\n}(_blots_container__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"] */ .Z);\nvar CodeBlock = /*#__PURE__*/function (_Block) {\n _inherits(CodeBlock, _Block);\n var _super2 = _createSuper(CodeBlock);\n function CodeBlock() {\n _classCallCheck(this, CodeBlock);\n return _super2.apply(this, arguments);\n }\n _createClass(CodeBlock, null, [{\n key: \"register\",\n value: function register() {\n _core_quill__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"].register */ .ZP.register(CodeBlockContainer);\n }\n }]);\n return CodeBlock;\n}(_blots_block__WEBPACK_IMPORTED_MODULE_0__/* [\"default\"] */ .ZP);\nvar Code = /*#__PURE__*/function (_Inline) {\n _inherits(Code, _Inline);\n var _super3 = _createSuper(Code);\n function Code() {\n _classCallCheck(this, Code);\n return _super3.apply(this, arguments);\n }\n return _createClass(Code);\n}(_blots_inline__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"] */ .Z);\nCode.blotName = 'code';\nCode.tagName = 'CODE';\nCodeBlock.blotName = 'code-block';\nCodeBlock.className = 'ql-code-block';\nCodeBlock.tagName = 'DIV';\nCodeBlockContainer.blotName = 'code-block-container';\nCodeBlockContainer.className = 'ql-code-block-container';\nCodeBlockContainer.tagName = 'DIV';\nCodeBlockContainer.allowedChildren = [CodeBlock];\nCodeBlock.allowedChildren = [_blots_text__WEBPACK_IMPORTED_MODULE_4__/* [\"default\"] */ .Z, _blots_break__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"] */ .Z, _blots_cursor__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"] */ .Z];\nCodeBlock.requiredContainer = CodeBlockContainer;\nCodeBlock.TAB = ' ';\n\n// eslint-disable-next-line no-restricted-exports\n\n\n/***/ }),\n\n/***/ 6039:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"HQ\": () => (/* binding */ ColorStyle),\n/* harmony export */ \"Hn\": () => (/* binding */ ColorClass),\n/* harmony export */ \"OO\": () => (/* binding */ ColorAttributor)\n/* harmony export */ });\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar ColorAttributor = /*#__PURE__*/function (_StyleAttributor) {\n _inherits(ColorAttributor, _StyleAttributor);\n var _super = _createSuper(ColorAttributor);\n function ColorAttributor() {\n _classCallCheck(this, ColorAttributor);\n return _super.apply(this, arguments);\n }\n _createClass(ColorAttributor, [{\n key: \"value\",\n value: function value(domNode) {\n var value = _get(_getPrototypeOf(ColorAttributor.prototype), \"value\", this).call(this, domNode);\n if (value.indexOf('rgb(') !== 0) return value;\n value = value.replace(/^[^\\d]+/, '').replace(/[^\\d]+$/, '');\n var hex = value.split(',').map(function (component) {\n return \"00\".concat(parseInt(component, 10).toString(16)).slice(-2);\n }).join('');\n return \"#\".concat(hex);\n }\n }]);\n return ColorAttributor;\n}(parchment__WEBPACK_IMPORTED_MODULE_0__.StyleAttributor);\nvar ColorClass = new parchment__WEBPACK_IMPORTED_MODULE_0__.ClassAttributor('color', 'ql-color', {\n scope: parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.INLINE\n});\nvar ColorStyle = new ColorAttributor('color', 'color', {\n scope: parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.INLINE\n});\n\n\n/***/ }),\n\n/***/ 4048:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"H8\": () => (/* binding */ DirectionStyle),\n/* harmony export */ \"IF\": () => (/* binding */ DirectionAttribute),\n/* harmony export */ \"hY\": () => (/* binding */ DirectionClass)\n/* harmony export */ });\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233);\n\nvar config = {\n scope: parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.BLOCK,\n whitelist: ['rtl']\n};\nvar DirectionAttribute = new parchment__WEBPACK_IMPORTED_MODULE_0__.Attributor('direction', 'dir', config);\nvar DirectionClass = new parchment__WEBPACK_IMPORTED_MODULE_0__.ClassAttributor('direction', 'ql-direction', config);\nvar DirectionStyle = new parchment__WEBPACK_IMPORTED_MODULE_0__.StyleAttributor('direction', 'direction', config);\n\n\n/***/ }),\n\n/***/ 5832:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"H\": () => (/* binding */ FontStyle),\n/* harmony export */ \"_\": () => (/* binding */ FontClass)\n/* harmony export */ });\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar config = {\n scope: parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.INLINE,\n whitelist: ['serif', 'monospace']\n};\nvar FontClass = new parchment__WEBPACK_IMPORTED_MODULE_0__.ClassAttributor('font', 'ql-font', config);\nvar FontStyleAttributor = /*#__PURE__*/function (_StyleAttributor) {\n _inherits(FontStyleAttributor, _StyleAttributor);\n var _super = _createSuper(FontStyleAttributor);\n function FontStyleAttributor() {\n _classCallCheck(this, FontStyleAttributor);\n return _super.apply(this, arguments);\n }\n _createClass(FontStyleAttributor, [{\n key: \"value\",\n value: function value(node) {\n return _get(_getPrototypeOf(FontStyleAttributor.prototype), \"value\", this).call(this, node).replace(/[\"']/g, '');\n }\n }]);\n return FontStyleAttributor;\n}(parchment__WEBPACK_IMPORTED_MODULE_0__.StyleAttributor);\nvar FontStyle = new FontStyleAttributor('font', 'font-family', config);\n\n\n/***/ }),\n\n/***/ 7256:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"N\": () => (/* binding */ _sanitize),\n/* harmony export */ \"Z\": () => (/* binding */ Link)\n/* harmony export */ });\n/* harmony import */ var _blots_inline__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6603);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar Link = /*#__PURE__*/function (_Inline) {\n _inherits(Link, _Inline);\n var _super = _createSuper(Link);\n function Link() {\n _classCallCheck(this, Link);\n return _super.apply(this, arguments);\n }\n _createClass(Link, [{\n key: \"format\",\n value: function format(name, value) {\n if (name !== this.statics.blotName || !value) {\n _get(_getPrototypeOf(Link.prototype), \"format\", this).call(this, name, value);\n } else {\n this.domNode.setAttribute('href', this.constructor.sanitize(value));\n }\n }\n }], [{\n key: \"create\",\n value: function create(value) {\n var node = _get(_getPrototypeOf(Link), \"create\", this).call(this, value);\n node.setAttribute('href', this.sanitize(value));\n node.setAttribute('rel', 'noopener noreferrer');\n node.setAttribute('target', '_blank');\n return node;\n }\n }, {\n key: \"formats\",\n value: function formats(domNode) {\n return domNode.getAttribute('href');\n }\n }, {\n key: \"sanitize\",\n value: function sanitize(url) {\n return _sanitize(url, this.PROTOCOL_WHITELIST) ? url : this.SANITIZED_URL;\n }\n }]);\n return Link;\n}(_blots_inline__WEBPACK_IMPORTED_MODULE_0__/* [\"default\"] */ .Z);\nLink.blotName = 'link';\nLink.tagName = 'A';\nLink.SANITIZED_URL = 'about:blank';\nLink.PROTOCOL_WHITELIST = ['http', 'https', 'mailto', 'tel'];\nfunction _sanitize(url, protocols) {\n var anchor = document.createElement('a');\n anchor.href = url;\n var protocol = anchor.href.slice(0, anchor.href.indexOf(':'));\n return protocols.indexOf(protocol) > -1;\n}\n\n// eslint-disable-next-line no-restricted-exports\n\n\n/***/ }),\n\n/***/ 1629:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": () => (/* binding */ SizeStyle),\n/* harmony export */ \"m\": () => (/* binding */ SizeClass)\n/* harmony export */ });\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233);\n\nvar SizeClass = new parchment__WEBPACK_IMPORTED_MODULE_0__.ClassAttributor('size', 'ql-size', {\n scope: parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.INLINE,\n whitelist: ['small', 'large', 'huge']\n});\nvar SizeStyle = new parchment__WEBPACK_IMPORTED_MODULE_0__.StyleAttributor('size', 'font-size', {\n scope: parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.INLINE,\n whitelist: ['10px', '18px', '32px']\n});\n\n\n/***/ }),\n\n/***/ 1342:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Du\": () => (/* binding */ CELL_FORMATS),\n/* harmony export */ \"h6\": () => (/* binding */ CELL_ATTRIBUTORS),\n/* harmony export */ \"kk\": () => (/* binding */ TABLE_CELL_STYLE_ATTRIBUTORS),\n/* harmony export */ \"yA\": () => (/* binding */ TABLE_CELL_ATTR_ATTRIBUTORS)\n/* harmony export */ });\n/* harmony import */ var _prepare_attributor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6062);\n/* harmony import */ var _prepare_style_attributor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1801);\n/* harmony import */ var _cell_config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8252);\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\n\n\n\nvar TABLE_CELL_ATTR_ATTRIBUTORS = _cell_config__WEBPACK_IMPORTED_MODULE_2__/* .TABLE_CELL_ATTRIBUTES.map */ .F1.map(function (attrName) {\n return (0,_prepare_attributor__WEBPACK_IMPORTED_MODULE_0__/* [\"default\"] */ .Z)(_cell_config__WEBPACK_IMPORTED_MODULE_2__/* .cellConfig */ .Pw, attrName);\n});\nvar TABLE_CELL_STYLE_ATTRIBUTORS = _cell_config__WEBPACK_IMPORTED_MODULE_2__/* .TABLE_CELL_STYLES.map */ .Mu.map(function (styleName) {\n return (0,_prepare_style_attributor__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"] */ .Z)(_cell_config__WEBPACK_IMPORTED_MODULE_2__/* .cellConfig */ .Pw, styleName);\n});\nvar CELL_FORMATS = TABLE_CELL_STYLE_ATTRIBUTORS.reduce(function (result, attributor) {\n result[attributor.attrName] = attributor;\n return result;\n}, {});\nvar CELL_ATTRIBUTORS = [].concat(_toConsumableArray(TABLE_CELL_ATTR_ATTRIBUTORS), _toConsumableArray(TABLE_CELL_STYLE_ATTRIBUTORS)).reduce(function (result, attributor) {\n result[attributor.keyName] = attributor;\n return result;\n}, {});\n\n/***/ }),\n\n/***/ 8252:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"F1\": () => (/* binding */ TABLE_CELL_ATTRIBUTES),\n/* harmony export */ \"Mu\": () => (/* binding */ TABLE_CELL_STYLES),\n/* harmony export */ \"Pw\": () => (/* binding */ cellConfig),\n/* harmony export */ \"fU\": () => (/* binding */ TABLE_CELL_KEY_NAME_SET)\n/* harmony export */ });\nvar cellConfig = {\n name: 'cell',\n allowedTags: ['TH', 'TD', 'TR']\n};\nvar TABLE_CELL_ATTRIBUTES = ['height', 'width'];\nvar TABLE_CELL_STYLES = ['height', 'width', 'vertical-align', 'text-align', 'background-color', 'border', 'border-style', 'border-width', 'border-color', 'padding', 'padding-top', 'padding-right', 'padding-bottom', 'padding-left'];\nvar TABLE_CELL_KEY_NAME_SET = new Set([].concat(TABLE_CELL_ATTRIBUTES, TABLE_CELL_STYLES));\n\n/***/ }),\n\n/***/ 6062:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": () => (/* binding */ prepareAttributor)\n/* harmony export */ });\n/* harmony import */ var _attributors_attributor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1674);\n/* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2141);\n/* harmony import */ var _attributors_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3398);\nvar _excluded = [\"name\"];\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n\n\nfunction prepareAttributor(_ref, domAttrName) {\n var name = _ref.name,\n elementConfig = _objectWithoutProperties(_ref, _excluded);\n var attrName = \"\".concat(name).concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"] */ .Z)(domAttrName));\n var keyName = \"\".concat(_attributors_utils__WEBPACK_IMPORTED_MODULE_1__/* .KeyNameType.attribute */ .WT.attribute).concat(name, \"_\").concat(domAttrName);\n return new _attributors_attributor__WEBPACK_IMPORTED_MODULE_0__/* [\"default\"] */ .Z(attrName, keyName, elementConfig);\n}\n\n/***/ }),\n\n/***/ 1801:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": () => (/* binding */ prepareStyleAttributor)\n/* harmony export */ });\n/* harmony import */ var _attributors_style_attributor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4569);\n/* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2141);\n/* harmony import */ var _attributors_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3398);\nvar _excluded = [\"name\", \"formatName\"];\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n\n\nfunction prepareStyleAttributor(_ref, prop) {\n var name = _ref.name,\n formatName = _ref.formatName,\n elementConfig = _objectWithoutProperties(_ref, _excluded);\n var _prop$split = prop.split('-'),\n _prop$split2 = _slicedToArray(_prop$split, 2),\n propName = _prop$split2[0],\n propSubName = _prop$split2[1];\n var attrName = \"\".concat(name).concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"] */ .Z)(formatName !== null && formatName !== void 0 ? formatName : propName)).concat(propSubName ? (0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"] */ .Z)(propSubName) : '');\n var keyName = \"\".concat(_attributors_utils__WEBPACK_IMPORTED_MODULE_1__/* .KeyNameType.style */ .WT.style).concat(name, \"_\").concat(prop);\n return new _attributors_style_attributor__WEBPACK_IMPORTED_MODULE_0__/* [\"default\"] */ .Z(attrName, keyName, elementConfig);\n}\n\n/***/ }),\n\n/***/ 319:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Qu\": () => (/* binding */ TABLE_ATTR_ATTRIBUTORS),\n/* harmony export */ \"VT\": () => (/* binding */ TABLE_STYLE_ATTRIBUTORS),\n/* harmony export */ \"Zt\": () => (/* binding */ TABLE_ATTRIBUTORS),\n/* harmony export */ \"li\": () => (/* binding */ TABLE_FORMATS)\n/* harmony export */ });\n/* harmony import */ var _prepare_attributor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6062);\n/* harmony import */ var _prepare_style_attributor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1801);\n/* harmony import */ var _table_config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(19);\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\n\n\n\nvar TABLE_ATTR_ATTRIBUTORS = _table_config__WEBPACK_IMPORTED_MODULE_2__/* .TABLE_ATTRIBUTES.map */ .N2.map(function (attrName) {\n return (0,_prepare_attributor__WEBPACK_IMPORTED_MODULE_0__/* [\"default\"] */ .Z)(_table_config__WEBPACK_IMPORTED_MODULE_2__/* .tableConfig */ .Sp, attrName);\n});\nvar TABLE_STYLE_ATTRIBUTORS = _table_config__WEBPACK_IMPORTED_MODULE_2__/* .TABLE_STYLES.map */ .GX.map(function (styleName) {\n return (0,_prepare_style_attributor__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"] */ .Z)(_table_config__WEBPACK_IMPORTED_MODULE_2__/* .tableConfig */ .Sp, styleName);\n});\nvar TABLE_FORMATS = TABLE_STYLE_ATTRIBUTORS.reduce(function (result, attributor) {\n result[attributor.attrName] = attributor;\n return result;\n}, {});\nvar TABLE_ATTRIBUTORS = [].concat(_toConsumableArray(TABLE_ATTR_ATTRIBUTORS), _toConsumableArray(TABLE_STYLE_ATTRIBUTORS)).reduce(function (result, attributor) {\n result[attributor.keyName] = attributor;\n return result;\n}, {});\n\n/***/ }),\n\n/***/ 19:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"GX\": () => (/* binding */ TABLE_STYLES),\n/* harmony export */ \"N2\": () => (/* binding */ TABLE_ATTRIBUTES),\n/* harmony export */ \"Sp\": () => (/* binding */ tableConfig),\n/* harmony export */ \"bc\": () => (/* binding */ TABLE_KEY_NAME_SET)\n/* harmony export */ });\nvar tableConfig = {\n name: 'table',\n allowedTags: ['TABLE']\n};\nvar TABLE_ATTRIBUTES = ['height', 'width'];\nvar TABLE_STYLES = ['height', 'width', 'text-align', 'background-color', 'border', 'border-style', 'border-width', 'border-color'];\nvar TABLE_KEY_NAME_SET = new Set([].concat(TABLE_ATTRIBUTES, TABLE_STYLES));\n\n/***/ }),\n\n/***/ 8536:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": () => (/* binding */ getId)\n/* harmony export */ });\nfunction getId() {\n return Math.random().toString(36).slice(2, 6);\n}\n\n/***/ }),\n\n/***/ 1969:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"KA\": () => (/* binding */ TableHeaderRow),\n/* harmony export */ \"Lv\": () => (/* binding */ tableId),\n/* harmony export */ \"RM\": () => (/* binding */ TableBody),\n/* harmony export */ \"SC\": () => (/* binding */ TableRow),\n/* harmony export */ \"iD\": () => (/* binding */ HeaderCellLine),\n/* harmony export */ \"pj\": () => (/* binding */ TableCell),\n/* harmony export */ \"xD\": () => (/* binding */ TableHeader),\n/* harmony export */ \"xJ\": () => (/* binding */ TableContainer),\n/* harmony export */ \"xs\": () => (/* binding */ TableHeaderCell),\n/* harmony export */ \"zW\": () => (/* binding */ CellLine)\n/* harmony export */ });\n/* unused harmony export TABLE_TAGS */\n/* harmony import */ var _blots_block__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6446);\n/* harmony import */ var _blots_break__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4122);\n/* harmony import */ var _blots_container__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3553);\n/* harmony import */ var _utils_is_defined__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(5874);\n/* harmony import */ var _attributors_cell__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1342);\n/* harmony import */ var _attributors_table__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(319);\n/* harmony import */ var _get_id__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(8536);\n/* harmony import */ var _toggle_attribute__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(2795);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\n\nvar CELL_IDENTITY_KEYS = ['row', 'cell'];\nvar TABLE_TAGS = (/* unused pure expression or super */ null && (['TD', 'TH', 'TR', 'TBODY', 'THEAD', 'TABLE']));\nvar DATA_PREFIX = 'data-table-';\nfunction deleteChildrenAt(children, index, length) {\n children.forEachAt(index, length, function (child, offset, childLength) {\n child.deleteAt(offset, childLength);\n });\n}\nvar CellLine = /*#__PURE__*/function (_Block) {\n _inherits(CellLine, _Block);\n var _super = _createSuper(CellLine);\n function CellLine() {\n _classCallCheck(this, CellLine);\n return _super.apply(this, arguments);\n }\n _createClass(CellLine, [{\n key: \"optimize\",\n value: function optimize() {\n var _get2;\n var rowId = this.domNode.getAttribute(\"\".concat(DATA_PREFIX, \"row\"));\n if (this.statics.requiredContainer && !(this.parent instanceof this.statics.requiredContainer)) {\n var domNode = this.domNode;\n var formats = {\n row: rowId\n };\n Object.keys(_attributors_cell__WEBPACK_IMPORTED_MODULE_3__/* .CELL_FORMATS */ .Du).forEach(function (format) {\n var value = domNode.dataset[format.toLowerCase()];\n if (value) {\n formats[format] = value;\n }\n });\n this.wrap(this.statics.requiredContainer.blotName, formats);\n }\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n (_get2 = _get(_getPrototypeOf(CellLine.prototype), \"optimize\", this)).call.apply(_get2, [this].concat(args));\n }\n }, {\n key: \"format\",\n value: function format(name, value) {\n var isCellLine = name === 'tableCellLine';\n if (isCellLine && value === null) {\n value = this.formats().tableCellLine;\n }\n var isCell = CELL_IDENTITY_KEYS.indexOf(name) > -1;\n if (isCell || _attributors_table__WEBPACK_IMPORTED_MODULE_4__/* .TABLE_FORMATS */ .li[name] || _attributors_cell__WEBPACK_IMPORTED_MODULE_3__/* .CELL_FORMATS */ .Du[name]) {\n var attrName = \"data-\".concat(isCell ? 'table-' : '').concat(name.toLowerCase());\n (0,_toggle_attribute__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"] */ .Z)(this.domNode, attrName, value);\n if (_attributors_cell__WEBPACK_IMPORTED_MODULE_3__/* .CELL_FORMATS */ .Du[name]) {\n var _this$cell;\n (_this$cell = this.cell()) === null || _this$cell === void 0 || _this$cell.format(name, value);\n }\n if (_attributors_table__WEBPACK_IMPORTED_MODULE_4__/* .TABLE_FORMATS */ .li[name]) {\n var _this$cell2;\n (_this$cell2 = this.cell()) === null || _this$cell2 === void 0 || (_this$cell2 = _this$cell2.table()) === null || _this$cell2 === void 0 || _this$cell2.format(name, value);\n }\n } else {\n _get(_getPrototypeOf(CellLine.prototype), \"format\", this).call(this, name, value);\n }\n }\n }, {\n key: \"cell\",\n value: function cell() {\n return 'row' in this.parent ? this.parent : null;\n }\n }], [{\n key: \"create\",\n value: function create(value) {\n var node = _get(_getPrototypeOf(CellLine), \"create\", this).call(this, value);\n CELL_IDENTITY_KEYS.forEach(function (key) {\n var _value$key;\n var identityMarker = key === 'row' ? tableId : cellId;\n node.setAttribute(\"\".concat(DATA_PREFIX).concat(key), (_value$key = value === null || value === void 0 ? void 0 : value[key]) !== null && _value$key !== void 0 ? _value$key : identityMarker());\n });\n return node;\n }\n }, {\n key: \"formats\",\n value: function formats(domNode) {\n return CELL_IDENTITY_KEYS.reduce(function (formats, attribute) {\n var attrName = \"\".concat(DATA_PREFIX).concat(attribute);\n if (domNode.hasAttribute(attrName)) {\n formats[attribute] = domNode.getAttribute(attrName) || undefined;\n }\n return formats;\n }, {});\n }\n }]);\n return CellLine;\n}(_blots_block__WEBPACK_IMPORTED_MODULE_0__/* [\"default\"] */ .ZP);\nCellLine.blotName = 'tableCellLine';\nCellLine.className = 'ql-table-cell-line';\nCellLine.tagName = 'P';\nvar HeaderCellLine = /*#__PURE__*/function (_CellLine) {\n _inherits(HeaderCellLine, _CellLine);\n var _super2 = _createSuper(HeaderCellLine);\n function HeaderCellLine() {\n _classCallCheck(this, HeaderCellLine);\n return _super2.apply(this, arguments);\n }\n return _createClass(HeaderCellLine);\n}(CellLine);\nHeaderCellLine.blotName = 'tableHeaderCellLine';\nHeaderCellLine.className = 'ql-table-header-cell-line';\nvar BaseCell = /*#__PURE__*/function (_Container) {\n _inherits(BaseCell, _Container);\n var _super3 = _createSuper(BaseCell);\n function BaseCell() {\n _classCallCheck(this, BaseCell);\n return _super3.apply(this, arguments);\n }\n _createClass(BaseCell, [{\n key: \"format\",\n value: function format(name, value) {\n var _CELL_FORMATS$name;\n (_CELL_FORMATS$name = _attributors_cell__WEBPACK_IMPORTED_MODULE_3__/* .CELL_FORMATS */ .Du[name]) === null || _CELL_FORMATS$name === void 0 || _CELL_FORMATS$name.add(this.domNode, value);\n }\n }, {\n key: \"checkMerge\",\n value: function checkMerge() {\n if (_get(_getPrototypeOf(BaseCell.prototype), \"checkMerge\", this).call(this) && this.next.children.head != null) {\n var thisHead = this.children.head.formats()[this.children.head.statics.blotName];\n var thisTail = this.children.tail.formats()[this.children.tail.statics.blotName];\n var nextHead = this.next.children.head.formats()[this.next.children.head.statics.blotName];\n var nextTail = this.next.children.tail.formats()[this.next.children.tail.statics.blotName];\n return thisHead.cell === thisTail.cell && thisHead.cell === nextHead.cell && thisHead.cell === nextTail.cell;\n }\n return false;\n }\n }, {\n key: \"formats\",\n value: function formats() {\n return BaseCell.cellFormats(this.domNode);\n }\n }, {\n key: \"cellOffset\",\n value: function cellOffset() {\n if (this.parent) {\n return this.parent.children.indexOf(this);\n }\n return -1;\n }\n }, {\n key: \"row\",\n value: function row() {\n return 'table' in this.parent ? this.parent : null;\n }\n }, {\n key: \"rowOffset\",\n value: function rowOffset() {\n if (this.row()) {\n return this.row().rowOffset();\n }\n return -1;\n }\n }, {\n key: \"table\",\n value: function table() {\n var _this$row;\n return (_this$row = this.row()) === null || _this$row === void 0 ? void 0 : _this$row.table();\n }\n }, {\n key: \"optimize\",\n value: function optimize() {\n var _this$domNode$getAttr, _get3;\n var rowId = (_this$domNode$getAttr = this.domNode.getAttribute(\"\".concat(DATA_PREFIX, \"row\"))) !== null && _this$domNode$getAttr !== void 0 ? _this$domNode$getAttr : this.domNode.getAttribute(\"\".concat(DATA_PREFIX, \"header-row\"));\n if (this.statics.requiredContainer && !(this.parent instanceof this.statics.requiredContainer)) {\n this.wrap(this.statics.requiredContainer.blotName, {\n row: rowId\n });\n }\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n (_get3 = _get(_getPrototypeOf(BaseCell.prototype), \"optimize\", this)).call.apply(_get3, [this].concat(args));\n }\n }, {\n key: \"deleteAt\",\n value: function deleteAt(index, length) {\n deleteChildrenAt(this.children, index, length);\n }\n }], [{\n key: \"create\",\n value: function create(value) {\n var node = _get(_getPrototypeOf(BaseCell), \"create\", this).call(this, value);\n if (value) {\n Object.keys(value).forEach(function (format) {\n var _CELL_FORMATS$format;\n (_CELL_FORMATS$format = _attributors_cell__WEBPACK_IMPORTED_MODULE_3__/* .CELL_FORMATS */ .Du[format]) === null || _CELL_FORMATS$format === void 0 || _CELL_FORMATS$format.add(node, value[format]);\n });\n }\n return node;\n }\n }, {\n key: \"cellFormats\",\n value: function cellFormats(domNode) {\n var formats = {};\n if (domNode.hasAttribute(\"\".concat(DATA_PREFIX, \"row\")) || domNode.hasAttribute(\"\".concat(DATA_PREFIX, \"header-row\"))) {\n var _domNode$getAttribute;\n formats.row = (_domNode$getAttribute = domNode.getAttribute(\"\".concat(DATA_PREFIX, \"row\"))) !== null && _domNode$getAttribute !== void 0 ? _domNode$getAttribute : domNode.getAttribute(\"\".concat(DATA_PREFIX, \"header-row\"));\n }\n Object.keys(_attributors_cell__WEBPACK_IMPORTED_MODULE_3__/* .CELL_FORMATS */ .Du).forEach(function (format) {\n var _domNode$firstElement;\n var value = (_domNode$firstElement = domNode.firstElementChild) === null || _domNode$firstElement === void 0 ? void 0 : _domNode$firstElement.dataset[format.toLowerCase()];\n if (value) {\n formats[format] = value;\n }\n });\n return formats;\n }\n }]);\n return BaseCell;\n}(_blots_container__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"] */ .Z);\nBaseCell.tagName = ['TD', 'TH'];\nvar TableCell = /*#__PURE__*/function (_BaseCell) {\n _inherits(TableCell, _BaseCell);\n var _super4 = _createSuper(TableCell);\n function TableCell() {\n _classCallCheck(this, TableCell);\n return _super4.apply(this, arguments);\n }\n _createClass(TableCell, [{\n key: \"format\",\n value: function format(name, value) {\n if (name === 'row') {\n this.domNode.setAttribute(\"\".concat(DATA_PREFIX).concat(name), value);\n this.children.forEach(function (child) {\n child.format(name, value);\n });\n } else {\n _get(_getPrototypeOf(TableCell.prototype), \"format\", this).call(this, name, value);\n }\n }\n }], [{\n key: \"create\",\n value: function create(value) {\n var node = _get(_getPrototypeOf(TableCell), \"create\", this).call(this, value);\n var attrName = \"\".concat(DATA_PREFIX, \"row\");\n if (value !== null && value !== void 0 && value.row) {\n node.setAttribute(attrName, value.row);\n }\n return node;\n }\n }]);\n return TableCell;\n}(BaseCell);\nTableCell.blotName = 'tableCell';\nTableCell.className = 'ql-table-data-cell';\nTableCell.dataAttribute = \"\".concat(DATA_PREFIX, \"row\");\nTableCell.defaultChild = CellLine;\nvar TableHeaderCell = /*#__PURE__*/function (_BaseCell2) {\n _inherits(TableHeaderCell, _BaseCell2);\n var _super5 = _createSuper(TableHeaderCell);\n function TableHeaderCell() {\n _classCallCheck(this, TableHeaderCell);\n return _super5.apply(this, arguments);\n }\n _createClass(TableHeaderCell, [{\n key: \"format\",\n value: function format(name, value) {\n if (name === 'row') {\n this.domNode.setAttribute(\"\".concat(DATA_PREFIX).concat(name), value);\n this.children.forEach(function (child) {\n child.format(name, value);\n });\n } else {\n _get(_getPrototypeOf(TableHeaderCell.prototype), \"format\", this).call(this, name, value);\n }\n }\n }], [{\n key: \"create\",\n value: function create(value) {\n var node = _get(_getPrototypeOf(TableHeaderCell), \"create\", this).call(this, value);\n var attrName = \"\".concat(DATA_PREFIX, \"header-row\");\n if (value && value.row) {\n node.setAttribute(attrName, value.row);\n }\n return node;\n }\n }]);\n return TableHeaderCell;\n}(BaseCell);\nTableHeaderCell.tagName = ['TH', 'TD'];\nTableHeaderCell.className = 'ql-table-header-cell';\nTableHeaderCell.blotName = 'tableHeaderCell';\nTableHeaderCell.dataAttribute = \"\".concat(DATA_PREFIX, \"header-row\");\nTableHeaderCell.defaultChild = HeaderCellLine;\nvar BaseRow = /*#__PURE__*/function (_Container2) {\n _inherits(BaseRow, _Container2);\n var _super6 = _createSuper(BaseRow);\n function BaseRow() {\n _classCallCheck(this, BaseRow);\n return _super6.apply(this, arguments);\n }\n _createClass(BaseRow, [{\n key: \"checkMerge\",\n value: function checkMerge() {\n if (_get(_getPrototypeOf(BaseRow.prototype), \"checkMerge\", this).call(this) && (0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z)(this.next.children.head)) {\n var formatName = 'row';\n var thisHead = this.children.head.formats();\n var thisTail = this.children.tail.formats();\n var nextHead = this.next.children.head.formats();\n var nextTail = this.next.children.tail.formats();\n return thisHead[formatName] === thisTail[formatName] && thisHead[formatName] === nextHead[formatName] && thisHead[formatName] === nextTail[formatName];\n }\n return false;\n }\n }, {\n key: \"optimize\",\n value: function optimize() {\n var _get4,\n _this = this;\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n (_get4 = _get(_getPrototypeOf(BaseRow.prototype), \"optimize\", this)).call.apply(_get4, [this].concat(args));\n var formatName = this.childFormatName;\n this.children.forEach(function (child) {\n if (!(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z)(child.next)) {\n return;\n }\n var childFormats = child.formats();\n var nextFormats = child.next.formats();\n if (childFormats[formatName] !== nextFormats[formatName]) {\n var next = _this.splitAfter(child);\n if (next) {\n next.optimize();\n }\n if (_this.prev) {\n _this.prev.optimize();\n }\n }\n });\n }\n }, {\n key: \"rowOffset\",\n value: function rowOffset() {\n if (this.parent) {\n return this.parent.children.indexOf(this);\n }\n return -1;\n }\n }, {\n key: \"table\",\n value: function table() {\n var _this$parent;\n return (_this$parent = this.parent) === null || _this$parent === void 0 ? void 0 : _this$parent.parent;\n }\n }, {\n key: \"formats\",\n value: function formats() {\n var formats = {};\n var attrName = \"\".concat(DATA_PREFIX, \"row\");\n if (this.domNode.hasAttribute(attrName)) {\n formats[attrName] = this.domNode.getAttribute(attrName);\n }\n return formats;\n }\n }], [{\n key: \"create\",\n value: function create(value) {\n var node = _get(_getPrototypeOf(BaseRow), \"create\", this).call(this, value);\n if (value !== null && value !== void 0 && value.row) {\n node.setAttribute(\"\".concat(DATA_PREFIX, \"row\"), value.row);\n }\n return node;\n }\n }]);\n return BaseRow;\n}(_blots_container__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"] */ .Z);\nBaseRow.tagName = 'TR';\nvar TableRow = /*#__PURE__*/function (_BaseRow) {\n _inherits(TableRow, _BaseRow);\n var _super7 = _createSuper(TableRow);\n function TableRow(scroll, domNode) {\n var _this2;\n _classCallCheck(this, TableRow);\n _this2 = _super7.call(this, scroll, domNode);\n _this2.childFormatName = 'table';\n return _this2;\n }\n _createClass(TableRow, [{\n key: \"deleteAt\",\n value: function deleteAt(index, length) {\n deleteChildrenAt(this.children, index, length);\n }\n }]);\n return TableRow;\n}(BaseRow);\nTableRow.blotName = 'tableRow';\nvar TableHeaderRow = /*#__PURE__*/function (_BaseRow2) {\n _inherits(TableHeaderRow, _BaseRow2);\n var _super8 = _createSuper(TableHeaderRow);\n function TableHeaderRow(scroll, domNode) {\n var _this3;\n _classCallCheck(this, TableHeaderRow);\n _this3 = _super8.call(this, scroll, domNode);\n _this3.childFormatName = 'tableHeaderCell';\n return _this3;\n }\n return _createClass(TableHeaderRow);\n}(BaseRow);\nTableHeaderRow.blotName = 'tableHeaderRow';\nvar RowContainer = /*#__PURE__*/function (_Container3) {\n _inherits(RowContainer, _Container3);\n var _super9 = _createSuper(RowContainer);\n function RowContainer() {\n _classCallCheck(this, RowContainer);\n return _super9.apply(this, arguments);\n }\n _createClass(RowContainer, [{\n key: \"optimize\",\n value: function optimize() {\n var _get5;\n if (this.statics.requiredContainer && !(this.parent instanceof this.statics.requiredContainer)) {\n var _this$children$head$c;\n var domNode = ((_this$children$head$c = this.children.head.children.head.children) === null || _this$children$head$c === void 0 || (_this$children$head$c = _this$children$head$c.head) === null || _this$children$head$c === void 0 ? void 0 : _this$children$head$c.domNode) || null;\n var formats = {};\n if (domNode) {\n Object.keys(_attributors_table__WEBPACK_IMPORTED_MODULE_4__/* .TABLE_FORMATS */ .li).forEach(function (format) {\n var value = domNode.dataset[format.toLowerCase()];\n if (value) {\n formats[format] = value;\n }\n });\n }\n this.wrap(this.statics.requiredContainer.blotName, formats);\n }\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n (_get5 = _get(_getPrototypeOf(RowContainer.prototype), \"optimize\", this)).call.apply(_get5, [this].concat(args));\n }\n }]);\n return RowContainer;\n}(_blots_container__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"] */ .Z);\nvar TableBody = /*#__PURE__*/function (_RowContainer) {\n _inherits(TableBody, _RowContainer);\n var _super10 = _createSuper(TableBody);\n function TableBody() {\n _classCallCheck(this, TableBody);\n return _super10.apply(this, arguments);\n }\n return _createClass(TableBody);\n}(RowContainer);\nTableBody.blotName = 'tableBody';\nTableBody.tagName = 'TBODY';\nvar TableHeader = /*#__PURE__*/function (_RowContainer2) {\n _inherits(TableHeader, _RowContainer2);\n var _super11 = _createSuper(TableHeader);\n function TableHeader() {\n _classCallCheck(this, TableHeader);\n return _super11.apply(this, arguments);\n }\n return _createClass(TableHeader);\n}(RowContainer);\nTableHeader.blotName = 'tableHeader';\nTableHeader.tagName = 'THEAD';\nvar TableContainer = /*#__PURE__*/function (_Container4) {\n _inherits(TableContainer, _Container4);\n var _super12 = _createSuper(TableContainer);\n function TableContainer() {\n _classCallCheck(this, TableContainer);\n return _super12.apply(this, arguments);\n }\n _createClass(TableContainer, [{\n key: \"balanceCells\",\n value: function balanceCells() {\n var headerRows = this.descendants(TableHeaderRow);\n var bodyRows = this.descendants(TableRow);\n var maxColCount = this.getMaxTableColCount(headerRows, bodyRows);\n this.balanceRows(maxColCount, headerRows, TableHeaderCell);\n this.balanceRows(maxColCount, bodyRows, TableCell);\n }\n }, {\n key: \"getMaxTableColCount\",\n value: function getMaxTableColCount(headerRows, bodyRows) {\n return Math.max(this.getMaxRowColCount(headerRows), this.getMaxRowColCount(bodyRows));\n }\n }, {\n key: \"getMaxRowColCount\",\n value: function getMaxRowColCount(rows) {\n return Math.max.apply(Math, _toConsumableArray(rows.map(function (row) {\n return row.children.length;\n })));\n }\n }, {\n key: \"balanceRows\",\n value: function balanceRows(maxColCount, rows, CellClass) {\n var _this4 = this;\n rows.forEach(function (row) {\n new Array(maxColCount - row.children.length).fill(0).forEach(function () {\n var value;\n if ((0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z)(row.children.head)) {\n value = CellClass.cellFormats(row.children.head.domNode);\n }\n var blot = _this4.scroll.create(CellClass.blotName, value);\n var cellLine = _this4.scroll.create(CellClass.allowedChildren[0].blotName, value);\n blot.appendChild(cellLine);\n row.appendChild(blot);\n blot.optimize(); // Add break blot\n });\n });\n }\n }, {\n key: \"cells\",\n value: function cells(column) {\n return this.rows().map(function (row) {\n return row.children.at(column);\n });\n }\n }, {\n key: \"deleteColumn\",\n value: function deleteColumn(index) {\n var _this5 = this;\n [TableHeader, TableBody].forEach(function (blot) {\n var _this5$descendants = _this5.descendants(blot),\n _this5$descendants2 = _slicedToArray(_this5$descendants, 1),\n tablePart = _this5$descendants2[0];\n if (!(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z)(tablePart) || !(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z)(tablePart.children.head)) {\n return;\n }\n tablePart.children.forEach(function (row) {\n var cell = row.children.at(index);\n if ((0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z)(cell)) {\n cell.remove();\n }\n });\n });\n }\n }, {\n key: \"insertColumn\",\n value: function insertColumn(index) {\n var _this6 = this;\n [TableHeader, TableBody].forEach(function (blot) {\n var _this6$descendants = _this6.descendants(blot),\n _this6$descendants2 = _slicedToArray(_this6$descendants, 1),\n tablePart = _this6$descendants2[0];\n if (!(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z)(tablePart) || !(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z)(tablePart.children.head)) {\n return;\n }\n var CellBlot = blot === TableHeader ? TableHeaderCell : TableCell;\n var CellLineBlot = blot === TableHeader ? HeaderCellLine : CellLine;\n tablePart.children.forEach(function (row) {\n var ref = row.children.at(index);\n var value = CellLineBlot.formats(row.children.head.children.head.domNode);\n var cell = _this6.scroll.create(CellBlot.blotName, {\n row: value.row\n });\n var cellLine = _this6.scroll.create(CellLineBlot.blotName, {\n row: value.row\n });\n var emptyLine = _this6.scroll.create(_blots_break__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"].blotName */ .Z.blotName);\n cellLine.appendChild(emptyLine);\n cell.appendChild(cellLine);\n row.insertBefore(cell, ref);\n });\n });\n }\n }, {\n key: \"insertRow\",\n value: function insertRow(index) {\n var _this7 = this;\n var _this$descendants = this.descendants(TableBody),\n _this$descendants2 = _slicedToArray(_this$descendants, 1),\n body = _this$descendants2[0];\n if (!(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z)(body) || !(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z)(body.children.head)) {\n return;\n }\n var id = tableId();\n var row = this.scroll.create(TableRow.blotName, {\n row: id\n });\n body.children.head.children.forEach(function () {\n var cell = _this7.scroll.create(TableCell.blotName, {\n row: id\n });\n var cellLine = _this7.scroll.create(CellLine.blotName, {\n row: id\n });\n var emptyLine = _this7.scroll.create(_blots_break__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"].blotName */ .Z.blotName);\n cellLine.appendChild(emptyLine);\n cell.appendChild(cellLine);\n row.appendChild(cell);\n });\n var ref = body.children.at(index);\n body.insertBefore(row, ref);\n }\n }, {\n key: \"insertHeaderRow\",\n value: function insertHeaderRow() {\n var _this8 = this;\n var _this$descendants3 = this.descendants(TableHeader),\n _this$descendants4 = _slicedToArray(_this$descendants3, 1),\n header = _this$descendants4[0];\n var _this$descendants5 = this.descendants(TableBody),\n _this$descendants6 = _slicedToArray(_this$descendants5, 1),\n body = _this$descendants6[0];\n if ((0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z)(header) || !(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z)(body) || !(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z)(body.children.head)) {\n return;\n }\n var id = tableId();\n var newHeader = this.scroll.create(TableHeader.blotName);\n var row = this.scroll.create(TableHeaderRow.blotName);\n var ref = this.children.at(0);\n newHeader.appendChild(row);\n body.children.head.children.forEach(function () {\n var cell = _this8.scroll.create(TableHeaderCell.blotName, {\n row: id\n });\n var cellLine = _this8.scroll.create(HeaderCellLine.blotName, {\n row: id\n });\n var emptyLine = _this8.scroll.create(_blots_break__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"].blotName */ .Z.blotName);\n cellLine.appendChild(emptyLine);\n cell.appendChild(cellLine);\n row.appendChild(cell);\n cell.optimize();\n });\n this.insertBefore(newHeader, ref);\n }\n }, {\n key: \"rows\",\n value: function rows() {\n var body = this.children.head;\n return (0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z)(body) ? body.children.map(function (row) {\n return row;\n }) : [];\n }\n }, {\n key: \"formats\",\n value: function formats() {\n var formats = {};\n var childElem = this.cells()[0].domNode.firstElementChild;\n Object.keys(_attributors_table__WEBPACK_IMPORTED_MODULE_4__/* .TABLE_FORMATS */ .li).forEach(function (format) {\n var value = childElem === null || childElem === void 0 ? void 0 : childElem.dataset[format.toLowerCase()];\n if (value) {\n formats[format] = value;\n }\n });\n return formats;\n }\n }, {\n key: \"format\",\n value: function format(name, value) {\n var tableFormat = _attributors_table__WEBPACK_IMPORTED_MODULE_4__/* .TABLE_FORMATS */ .li[name];\n if (tableFormat) {\n var attrName = \"data-\".concat(name.toLowerCase());\n this.cells().forEach(function (cell) {\n (0,_toggle_attribute__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"] */ .Z)(cell.children.head.domNode, attrName, value);\n });\n tableFormat.add(this.domNode, value);\n }\n }\n }], [{\n key: \"create\",\n value: function create(value) {\n var node = _get(_getPrototypeOf(TableContainer), \"create\", this).call(this, value);\n if (value) {\n Object.keys(value).forEach(function (format) {\n var _TABLE_FORMATS$format;\n (_TABLE_FORMATS$format = _attributors_table__WEBPACK_IMPORTED_MODULE_4__/* .TABLE_FORMATS */ .li[format]) === null || _TABLE_FORMATS$format === void 0 || _TABLE_FORMATS$format.add(node, value[format]);\n });\n }\n return node;\n }\n }]);\n return TableContainer;\n}(_blots_container__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"] */ .Z);\nTableContainer.blotName = 'tableContainer';\nTableContainer.tagName = 'TABLE';\nTableContainer.allowedChildren = [TableHeader, TableBody];\nTableBody.requiredContainer = TableContainer;\nTableHeader.requiredContainer = TableContainer;\nTableBody.allowedChildren = [TableRow];\nTableRow.requiredContainer = TableBody;\nTableRow.allowedChildren = [TableCell];\nTableCell.requiredContainer = TableRow;\nCellLine.requiredContainer = TableCell;\nTableCell.allowedChildren = [CellLine];\nTableHeader.allowedChildren = [TableHeaderRow];\nTableHeaderRow.requiredContainer = TableHeader;\nHeaderCellLine.requiredContainer = TableHeaderCell;\nTableHeaderCell.allowedChildren = [HeaderCellLine];\nTableHeaderRow.allowedChildren = [TableHeaderCell];\nTableHeaderCell.requiredContainer = TableHeaderRow;\nfunction tableId() {\n return \"row-\".concat((0,_get_id__WEBPACK_IMPORTED_MODULE_7__/* [\"default\"] */ .Z)());\n}\nfunction cellId() {\n return \"cell-\".concat((0,_get_id__WEBPACK_IMPORTED_MODULE_7__/* [\"default\"] */ .Z)());\n}\n\n\n/***/ }),\n\n/***/ 2795:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": () => (/* binding */ toggleAttribute)\n/* harmony export */ });\nfunction toggleAttribute(domNode, attrName, value) {\n if (value) {\n domNode.setAttribute(attrName, value);\n } else {\n domNode.removeAttribute(attrName);\n }\n}\n\n/***/ }),\n\n/***/ 5635:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"HI\": () => (/* binding */ applyFormat),\n/* harmony export */ \"PF\": () => (/* binding */ deltaEndsWith),\n/* harmony export */ \"ZP\": () => (/* binding */ Clipboard),\n/* harmony export */ \"fw\": () => (/* binding */ traverse)\n/* harmony export */ });\n/* unused harmony exports matchAttributor, matchBlot, matchNewline, matchText */\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9098);\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1233);\n/* harmony import */ var _blots_block__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6446);\n/* harmony import */ var _core_quill__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(281);\n/* harmony import */ var _core_logger__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3122);\n/* harmony import */ var _core_module__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7094);\n/* harmony import */ var _formats_align__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(715);\n/* harmony import */ var _formats_background__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(7898);\n/* harmony import */ var _formats_code__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(7309);\n/* harmony import */ var _formats_color__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(6039);\n/* harmony import */ var _formats_direction__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(4048);\n/* harmony import */ var _formats_font__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(5832);\n/* harmony import */ var _formats_size__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(1629);\n/* harmony import */ var _keyboard__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(3071);\n/* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(2141);\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar debug = (0,_core_logger__WEBPACK_IMPORTED_MODULE_4__/* [\"default\"] */ .Z)('quill:clipboard');\nvar ELEMENT_NODE = 1;\nvar TEXT_NODE = 3;\nvar CLIPBOARD_CONFIG = [[TEXT_NODE, matchText], [TEXT_NODE, matchNewline], ['br', matchBreak], [ELEMENT_NODE, matchNewline], [ELEMENT_NODE, matchBlot], [ELEMENT_NODE, matchAttributor], [ELEMENT_NODE, matchStyles], ['li', matchIndent], ['ol, ul', matchList], ['pre', matchCodeBlock], ['b', matchAlias.bind(matchAlias, 'bold')], ['i', matchAlias.bind(matchAlias, 'italic')], ['strike', matchAlias.bind(matchAlias, 'strike')], ['style', matchIgnore]];\nvar HTML_TEXT_MATCHERS = [matchText, matchNewline];\nvar ATTRIBUTE_ATTRIBUTORS = [_formats_align__WEBPACK_IMPORTED_MODULE_6__/* .AlignAttribute */ [\"if\"], _formats_direction__WEBPACK_IMPORTED_MODULE_10__/* .DirectionAttribute */ .IF].reduce(function (memo, attr) {\n memo[attr.keyName] = attr;\n return memo;\n}, {});\nvar STYLE_ATTRIBUTORS = [_formats_align__WEBPACK_IMPORTED_MODULE_6__/* .AlignStyle */ .HE, _formats_background__WEBPACK_IMPORTED_MODULE_7__/* .BackgroundStyle */ .w, _formats_color__WEBPACK_IMPORTED_MODULE_9__/* .ColorStyle */ .HQ, _formats_direction__WEBPACK_IMPORTED_MODULE_10__/* .DirectionStyle */ .H8, _formats_font__WEBPACK_IMPORTED_MODULE_11__/* .FontStyle */ .H, _formats_size__WEBPACK_IMPORTED_MODULE_12__/* .SizeStyle */ .Z].reduce(function (memo, attr) {\n memo[attr.keyName] = attr;\n return memo;\n}, {});\nvar Clipboard = /*#__PURE__*/function (_Module) {\n _inherits(Clipboard, _Module);\n var _super = _createSuper(Clipboard);\n function Clipboard(quill, options) {\n var _options$tableBlots;\n var _this;\n _classCallCheck(this, Clipboard);\n _this = _super.call(this, quill, options);\n _this.quill.root.addEventListener('copy', function (e) {\n return _this.onCaptureCopy(e, false);\n });\n _this.quill.root.addEventListener('cut', function (e) {\n return _this.onCaptureCopy(e, true);\n });\n _this.quill.root.addEventListener('paste', _this.onCapturePaste.bind(_assertThisInitialized(_this)));\n _this.matchers = [];\n _this.tableBlots = (_options$tableBlots = options.tableBlots) !== null && _options$tableBlots !== void 0 ? _options$tableBlots : [];\n CLIPBOARD_CONFIG.concat(_this.options.matchers).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n selector = _ref2[0],\n matcher = _ref2[1];\n _this.addMatcher(selector, matcher);\n });\n return _this;\n }\n _createClass(Clipboard, [{\n key: \"addMatcher\",\n value: function addMatcher(selector, matcher) {\n this.matchers.push([selector, matcher]);\n }\n }, {\n key: \"addTableBlot\",\n value: function addTableBlot(blotName) {\n this.tableBlots.push(blotName);\n }\n }, {\n key: \"convert\",\n value: function convert(_ref3) {\n var html = _ref3.html,\n text = _ref3.text,\n keepLastNewLine = _ref3.keepLastNewLine;\n var formats = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (formats[_formats_code__WEBPACK_IMPORTED_MODULE_8__/* [\"default\"].blotName */ .ZP.blotName]) {\n return new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())().insert(text, _defineProperty({}, _formats_code__WEBPACK_IMPORTED_MODULE_8__/* [\"default\"].blotName */ .ZP.blotName, formats[_formats_code__WEBPACK_IMPORTED_MODULE_8__/* [\"default\"].blotName */ .ZP.blotName]));\n }\n return html ? this.applyMatchers(html, keepLastNewLine, formats) : this.applyTextMatchers(text);\n }\n }, {\n key: \"applyTextMatchers\",\n value: function applyTextMatchers() {\n var _this2 = this;\n var text = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n if (text.length === 0) {\n return new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())();\n }\n var matchers = this.prepareTextMatching();\n var element = this.quill.root.ownerDocument.createElement('div');\n element.textContent = text;\n var node = element.childNodes[0];\n return matchers.reduce(function (delta, matcher) {\n return matcher(node, delta, _this2.quill.scroll);\n }, new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())());\n }\n }, {\n key: \"applyMatchers\",\n value: function applyMatchers(html, keepLastNewLine) {\n var _this3 = this;\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var doc = new DOMParser().parseFromString(html, 'text/html');\n var container = doc.body;\n var nodeMatches = new WeakMap();\n var _this$prepareMatching = this.prepareMatching(container, nodeMatches),\n _this$prepareMatching2 = _slicedToArray(_this$prepareMatching, 2),\n elementMatchers = _this$prepareMatching2[0],\n textMatchers = _this$prepareMatching2[1];\n var delta = traverse(this.quill.scroll, container, elementMatchers, textMatchers, nodeMatches);\n // Remove trailing newline\n if (!keepLastNewLine && deltaEndsWith(delta, '\\n') && (delta.ops[delta.ops.length - 1].attributes == null || Object.values(formats).some(function (blotName) {\n return _this3.tableBlots.includes(blotName);\n }))) {\n return delta.compose(new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())().retain(delta.length() - 1).delete(1));\n }\n return delta;\n }\n }, {\n key: \"dangerouslyPasteHTML\",\n value: function dangerouslyPasteHTML(index, html) {\n var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _core_quill__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"].sources.API */ .ZP.sources.API;\n if (typeof index === 'string') {\n var delta = this.convert({\n html: index,\n text: ''\n });\n this.quill.setContents(delta, html);\n this.quill.setSelection(0, _core_quill__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"].sources.SILENT */ .ZP.sources.SILENT);\n } else {\n var paste = this.convert({\n html: html,\n text: ''\n });\n this.quill.updateContents(new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())().retain(index).concat(paste), source);\n this.quill.setSelection(index + paste.length(), _core_quill__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"].sources.SILENT */ .ZP.sources.SILENT);\n }\n }\n }, {\n key: \"onCaptureCopy\",\n value: function onCaptureCopy(e) {\n var isCut = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (e.defaultPrevented) return;\n if (e.clipboardData) {\n e.preventDefault();\n } else {\n return;\n }\n var _this$quill$selection = this.quill.selection.getRange(),\n _this$quill$selection2 = _slicedToArray(_this$quill$selection, 1),\n range = _this$quill$selection2[0];\n if (range == null) return;\n var _this$onCopy = this.onCopy(range, isCut),\n html = _this$onCopy.html,\n text = _this$onCopy.text;\n e.clipboardData.setData('text/plain', text);\n e.clipboardData.setData('text/html', html);\n if (isCut) {\n this.raiseCallback('onCut', e);\n (0,_keyboard__WEBPACK_IMPORTED_MODULE_13__/* .deleteRange */ .WQ)({\n range: range,\n quill: this.quill\n });\n }\n }\n }, {\n key: \"onCapturePaste\",\n value: function onCapturePaste(e) {\n if (e.defaultPrevented || !this.quill.isEnabled()) {\n return;\n }\n this.raiseCallback('onPaste', e);\n if (e.clipboardData) {\n e.preventDefault();\n } else {\n return;\n }\n var range = this.quill.getSelection(true);\n if (range == null) {\n return;\n }\n var html = e.clipboardData.getData('text/html');\n var files = Array.from(e.clipboardData.files || []);\n if (!html && files.length > 0) {\n this.quill.uploader.upload(range, files);\n return;\n }\n if (html && files.length > 0) {\n var _DOMParser$parseFromS = new DOMParser().parseFromString(html, 'text/html'),\n body = _DOMParser$parseFromS.body;\n var documentContainsImage = body.childElementCount === 1 && body.firstElementChild.tagName === 'IMG';\n if (documentContainsImage) {\n this.quill.uploader.upload(range, files);\n return;\n }\n }\n var text = e.clipboardData.getData('text/plain');\n this.onPaste(range, {\n html: html,\n text: text,\n keepLastNewLine: true\n });\n }\n }, {\n key: \"raiseCallback\",\n value: function raiseCallback(name, event) {\n var callback = this.options[name];\n if (callback && typeof callback === 'function') {\n callback(event);\n }\n }\n }, {\n key: \"onCopy\",\n value: function onCopy(_ref4) {\n var index = _ref4.index,\n length = _ref4.length;\n var text = this.quill.getText(index, length);\n var html = this.quill.getSemanticHTML(index, length);\n return {\n html: html,\n text: text\n };\n }\n }, {\n key: \"onPaste\",\n value: function onPaste(range, _ref5) {\n var text = _ref5.text,\n html = _ref5.html,\n keepLastNewLine = _ref5.keepLastNewLine;\n var formats = this.quill.getFormat(range.index);\n var pastedDelta = this.convert({\n text: text,\n html: html,\n keepLastNewLine: keepLastNewLine\n }, formats);\n debug.log('onPaste', pastedDelta, {\n text: text,\n html: html\n });\n var delta = new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())().retain(range.index).delete(range.length).concat(pastedDelta);\n this.quill.updateContents(delta, _core_quill__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"].sources.USER */ .ZP.sources.USER);\n // range.length contributes to delta.length()\n this.quill.setSelection(delta.length() - range.length, _core_quill__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"].sources.SILENT */ .ZP.sources.SILENT);\n this.quill.scrollIntoView();\n }\n }, {\n key: \"prepareMatching\",\n value: function prepareMatching(container, nodeMatches) {\n var elementMatchers = [];\n var textMatchers = [];\n this.matchers.forEach(function (pair) {\n var _pair = _slicedToArray(pair, 2),\n selector = _pair[0],\n matcher = _pair[1];\n switch (selector) {\n case TEXT_NODE:\n textMatchers.push(matcher);\n break;\n case ELEMENT_NODE:\n elementMatchers.push(matcher);\n break;\n default:\n Array.from(container.querySelectorAll(selector)).forEach(function (node) {\n if (nodeMatches.has(node)) {\n var matches = nodeMatches.get(node);\n matches.push(matcher);\n } else {\n nodeMatches.set(node, [matcher]);\n }\n });\n break;\n }\n });\n return [elementMatchers, textMatchers];\n }\n }, {\n key: \"prepareTextMatching\",\n value: function prepareTextMatching() {\n var textMatchers = [matchPlainText];\n this.matchers.forEach(function (pair) {\n var _pair2 = _slicedToArray(pair, 2),\n selector = _pair2[0],\n matcher = _pair2[1];\n if (HTML_TEXT_MATCHERS.indexOf(matcher) === -1 && selector === TEXT_NODE) {\n textMatchers.push(matcher);\n }\n });\n return textMatchers;\n }\n }]);\n return Clipboard;\n}(_core_module__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"] */ .Z);\nClipboard.DEFAULTS = {\n matchers: []\n};\nfunction applyFormat(delta, format, value) {\n if (_typeof(format) === 'object') {\n return Object.keys(format).reduce(function (newDelta, key) {\n return applyFormat(newDelta, key, format[key]);\n }, delta);\n }\n return delta.reduce(function (newDelta, op) {\n if (op.attributes && op.attributes[format]) {\n return newDelta.push(op);\n }\n var formats = value ? _defineProperty({}, format, value) : {};\n return newDelta.insert(op.insert, _objectSpread(_objectSpread({}, formats), op.attributes));\n }, new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())());\n}\nfunction deltaEndsWith(delta, text) {\n var endText = '';\n for (var i = delta.ops.length - 1; i >= 0 && endText.length < text.length; --i // eslint-disable-line no-plusplus\n ) {\n var op = delta.ops[i];\n if (typeof op.insert !== 'string') break;\n endText = op.insert + endText;\n }\n return endText.slice(-1 * text.length) === text;\n}\nfunction isLine(node) {\n if (node.childNodes.length === 0) return false; // Exclude embed blocks\n return ['address', 'article', 'blockquote', 'canvas', 'dd', 'div', 'dl', 'dt', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'iframe', 'li', 'main', 'nav', 'ol', 'output', 'p', 'pre', 'section', 'table', 'td', 'tr', 'ul', 'video'].indexOf(node.tagName.toLowerCase()) !== -1;\n}\nvar preNodes = new WeakMap();\nfunction isPre(node) {\n if (node == null) return false;\n if (!preNodes.has(node)) {\n if (node.tagName === 'PRE') {\n preNodes.set(node, true);\n } else {\n preNodes.set(node, isPre(node.parentNode));\n }\n }\n return preNodes.get(node);\n}\nfunction traverse(scroll, node, elementMatchers, textMatchers, nodeMatches) {\n // Post-order\n if (node.nodeType === node.TEXT_NODE) {\n return textMatchers.reduce(function (delta, matcher) {\n return matcher(node, delta, scroll);\n }, new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())());\n }\n if (node.nodeType === node.ELEMENT_NODE) {\n return Array.from(node.childNodes || []).reduce(function (delta, childNode) {\n var childrenDelta = traverse(scroll, childNode, elementMatchers, textMatchers, nodeMatches);\n if (childNode.nodeType === node.ELEMENT_NODE) {\n childrenDelta = elementMatchers.reduce(function (reducedDelta, matcher) {\n return matcher(childNode, reducedDelta, scroll);\n }, childrenDelta);\n childrenDelta = (nodeMatches.get(childNode) || []).reduce(function (reducedDelta, matcher) {\n return matcher(childNode, reducedDelta, scroll);\n }, childrenDelta);\n }\n return delta.concat(childrenDelta);\n }, new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())());\n }\n return new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())();\n}\nfunction matchAlias(format, node, delta) {\n return applyFormat(delta, format, true);\n}\nfunction matchAttributor(node, delta, scroll) {\n if (['TD', 'TH', 'TR', 'TABLE'].indexOf(node.tagName) === -1) {\n var attributes = parchment__WEBPACK_IMPORTED_MODULE_1__.Attributor.keys(node);\n var classes = parchment__WEBPACK_IMPORTED_MODULE_1__.ClassAttributor.keys(node);\n var styles = parchment__WEBPACK_IMPORTED_MODULE_1__.StyleAttributor.keys(node);\n var formats = {};\n attributes.concat(classes).concat(styles).forEach(function (name) {\n var attr = scroll.query(name, parchment__WEBPACK_IMPORTED_MODULE_1__.Scope.ATTRIBUTE);\n if (attr != null) {\n formats[attr.attrName] = attr.value(node);\n if (formats[attr.attrName]) return;\n }\n attr = ATTRIBUTE_ATTRIBUTORS[name];\n if (attr != null && (attr.attrName === name || attr.keyName === name)) {\n formats[attr.attrName] = attr.value(node) || undefined;\n }\n attr = STYLE_ATTRIBUTORS[name];\n if (attr != null && (attr.attrName === name || attr.keyName === name)) {\n attr = STYLE_ATTRIBUTORS[name];\n formats[attr.attrName] = attr.value(node) || undefined;\n }\n });\n if (Object.keys(formats).length > 0) {\n return applyFormat(delta, formats);\n }\n }\n return delta;\n}\nfunction matchBlot(node, delta, scroll) {\n var match = scroll.query(node);\n if (match == null) return delta;\n if (match.prototype instanceof parchment__WEBPACK_IMPORTED_MODULE_1__.EmbedBlot) {\n var embed = {};\n var value = match.value(node);\n if (value != null) {\n embed[match.blotName] = value;\n return new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())().insert(embed, match.formats(node, scroll));\n }\n } else {\n if (match.prototype instanceof parchment__WEBPACK_IMPORTED_MODULE_1__.BlockBlot && !deltaEndsWith(delta, '\\n')) {\n delta.insert('\\n');\n }\n if (typeof match.formats === 'function') {\n return applyFormat(delta, match.blotName, match.formats(node, scroll));\n }\n }\n return delta;\n}\nfunction matchBreak(node, delta) {\n if (!deltaEndsWith(delta, '\\n')) {\n delta.insert('\\n');\n }\n return delta;\n}\nfunction matchCodeBlock(node, delta, scroll) {\n var match = scroll.query('code-block');\n var language = match ? match.formats(node, scroll) : true;\n return applyFormat(delta, 'code-block', language);\n}\nfunction matchIgnore() {\n return new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())();\n}\nfunction matchIndent(node, delta, scroll) {\n var match = scroll.query(node);\n if (match == null || match.blotName !== 'list' || !deltaEndsWith(delta, '\\n')) {\n return delta;\n }\n var indent = -1;\n var parent = node.parentNode;\n while (parent != null) {\n if (['OL', 'UL'].indexOf(parent.tagName) !== -1) {\n indent += 1;\n }\n parent = parent.parentNode;\n }\n if (indent <= 0) return delta;\n return delta.reduce(function (composed, op) {\n if (op.attributes && typeof op.attributes.indent === 'number') {\n return composed.push(op);\n }\n return composed.insert(op.insert, _objectSpread({\n indent: indent\n }, op.attributes || {}));\n }, new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())());\n}\nfunction matchList(node, delta) {\n var list = node.tagName === 'OL' ? 'ordered' : 'bullet';\n return applyFormat(delta, 'list', list);\n}\nfunction matchNewline(node, delta, scroll) {\n if (!deltaEndsWith(delta, '\\n')) {\n if (isLine(node)) {\n return delta.insert('\\n');\n }\n if (delta.length() > 0 && node.nextSibling) {\n var nextSibling = node.nextSibling;\n while (nextSibling != null) {\n if (isLine(nextSibling)) {\n return delta.insert('\\n');\n }\n var match = scroll.query(nextSibling);\n if ((match === null || match === void 0 ? void 0 : match.prototype) instanceof _blots_block__WEBPACK_IMPORTED_MODULE_2__/* .BlockEmbed */ .i2) {\n return delta.insert('\\n');\n }\n nextSibling = nextSibling.firstChild;\n }\n }\n }\n return delta;\n}\nfunction matchStyles(node, delta) {\n var formats = {};\n var style = node.style || {};\n ['height', 'width'].forEach(function (dimension) {\n var isCell = ['TD', 'TH'].indexOf(node.tagName) !== -1;\n var isTable = node.tagName === 'TABLE';\n if ((isCell || isTable) && style[dimension]) {\n var name = \"\".concat(isTable ? 'table' : 'cell').concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_14__/* [\"default\"] */ .Z)(dimension));\n formats[name] = style[dimension];\n }\n });\n if (style.fontStyle === 'italic') {\n formats.italic = true;\n }\n if (style.textDecoration.indexOf('underline') !== -1) {\n formats.underline = true;\n }\n if (style.textDecoration.indexOf('line-through') !== -1) {\n formats.strike = true;\n }\n if (style.fontWeight.indexOf('bold') === 0 || parseInt(style.fontWeight, 10) >= 700) {\n formats.bold = true;\n }\n if (Object.keys(formats).length > 0) {\n delta = applyFormat(delta, formats);\n }\n if (parseFloat(style.textIndent || 0) > 0) {\n // Could be 0.5in\n return new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())().insert('\\t').concat(delta);\n }\n return delta;\n}\nfunction matchPlainText(node, delta) {\n var text = node.data || '';\n text = text.replace(/\\r\\n/g, '\\n');\n return delta.insert(text);\n}\nfunction matchText(node, delta) {\n var text = node.data;\n // Word represents empty line with  \n if (node.parentNode.tagName === 'O:P') {\n return delta.insert(text.trim());\n }\n if (text.trim().length === 0 && text.indexOf('\\n') !== -1) {\n return delta;\n }\n if (!isPre(node)) {\n var replacer = function replacer(collapse, match) {\n var replaced = match.replace(/[^\\u00a0]/g, ''); // \\u00a0 is nbsp;\n return replaced.length < 1 && collapse ? ' ' : replaced;\n };\n text = text.replace(/\\r\\n/g, ' ').replace(/\\n/g, ' ');\n text = text.replace(/\\s\\s+/g, replacer.bind(replacer, true)); // collapse whitespace\n if (node.previousSibling == null && isLine(node.parentNode) || node.previousSibling != null && isLine(node.previousSibling)) {\n text = text.replace(/^\\s+/, replacer.bind(replacer, false));\n }\n if (node.nextSibling == null && isLine(node.parentNode) || node.nextSibling != null && isLine(node.nextSibling)) {\n text = text.replace(/\\s+$/, replacer.bind(replacer, false));\n }\n }\n return delta.insert(text);\n}\n\n\n/***/ }),\n\n/***/ 2613:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": () => (/* binding */ History)\n/* harmony export */ });\n/* unused harmony export getLastChangeIndex */\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233);\n/* harmony import */ var _core_quill__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(281);\n/* harmony import */ var _core_module__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7094);\n/* harmony import */ var _utils_has_window__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8034);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\nvar History = /*#__PURE__*/function (_Module) {\n _inherits(History, _Module);\n var _super = _createSuper(History);\n function History(quill, options) {\n var _this;\n _classCallCheck(this, History);\n _this = _super.call(this, quill, options);\n _this.lastRecorded = 0;\n _this.ignoreChange = false;\n _this.clear();\n _this.quill.on(_core_quill__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"].events.EDITOR_CHANGE */ .ZP.events.EDITOR_CHANGE, function (eventName, delta, oldDelta, source) {\n if (eventName !== _core_quill__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"].events.TEXT_CHANGE */ .ZP.events.TEXT_CHANGE || _this.ignoreChange) return;\n if (!_this.options.userOnly || source === _core_quill__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"].sources.USER */ .ZP.sources.USER) {\n _this.record(delta, oldDelta);\n } else {\n _this.transform(delta);\n }\n });\n _this.quill.keyboard.addBinding({\n key: 'z',\n shortKey: true\n }, _this.undo.bind(_assertThisInitialized(_this)));\n _this.quill.keyboard.addBinding({\n key: 'z',\n shortKey: true,\n shiftKey: true\n }, _this.redo.bind(_assertThisInitialized(_this)));\n if ((0,_utils_has_window__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"] */ .Z)() && /Win/i.test(navigator.platform)) {\n _this.quill.keyboard.addBinding({\n key: 'y',\n shortKey: true\n }, _this.redo.bind(_assertThisInitialized(_this)));\n }\n _this.quill.root.addEventListener('beforeinput', function (event) {\n if (event.inputType === 'historyUndo') {\n _this.undo();\n event.preventDefault();\n } else if (event.inputType === 'historyRedo') {\n _this.redo();\n event.preventDefault();\n }\n });\n return _this;\n }\n _createClass(History, [{\n key: \"change\",\n value: function change(source, dest) {\n if (this.stack[source].length === 0) return;\n var delta = this.stack[source].pop();\n var base = this.quill.getContents();\n var inverseDelta = delta.invert(base);\n this.stack[dest].push(inverseDelta);\n this.lastRecorded = 0;\n this.ignoreChange = true;\n this.quill.updateContents(delta, _core_quill__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"].sources.USER */ .ZP.sources.USER);\n this.ignoreChange = false;\n var index = getLastChangeIndex(this.quill.scroll, delta);\n this.quill.setSelection(index);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.stack = {\n undo: [],\n redo: []\n };\n }\n }, {\n key: \"cutoff\",\n value: function cutoff() {\n this.lastRecorded = 0;\n }\n }, {\n key: \"record\",\n value: function record(changeDelta, oldDelta) {\n if (changeDelta.ops.length === 0) return;\n this.stack.redo = [];\n var undoDelta = changeDelta.invert(oldDelta);\n var timestamp = Date.now();\n if (this.lastRecorded + this.options.delay > timestamp && this.stack.undo.length > 0) {\n var delta = this.stack.undo.pop();\n undoDelta = undoDelta.compose(delta);\n } else {\n this.lastRecorded = timestamp;\n }\n if (undoDelta.length() === 0) return;\n this.stack.undo.push(undoDelta);\n if (this.stack.undo.length > this.options.maxStack) {\n this.stack.undo.shift();\n }\n }\n }, {\n key: \"redo\",\n value: function redo() {\n this.change('redo', 'undo');\n }\n }, {\n key: \"transform\",\n value: function transform(delta) {\n transformStack(this.stack.undo, delta);\n transformStack(this.stack.redo, delta);\n }\n }, {\n key: \"undo\",\n value: function undo() {\n this.change('undo', 'redo');\n }\n }]);\n return History;\n}(_core_module__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"] */ .Z);\nHistory.DEFAULTS = {\n delay: 1000,\n maxStack: 100,\n userOnly: false\n};\nfunction transformStack(stack, delta) {\n var remoteDelta = delta;\n for (var i = stack.length - 1; i >= 0; i -= 1) {\n var oldDelta = stack[i];\n stack[i] = remoteDelta.transform(oldDelta, true);\n remoteDelta = oldDelta.transform(remoteDelta);\n if (stack[i].length() === 0) {\n stack.splice(i, 1);\n }\n }\n}\nfunction endsWithNewlineChange(scroll, delta) {\n var lastOp = delta.ops[delta.ops.length - 1];\n if (lastOp == null) return false;\n if (lastOp.insert != null) {\n return typeof lastOp.insert === 'string' && lastOp.insert.endsWith('\\n');\n }\n if (lastOp.attributes != null) {\n return Object.keys(lastOp.attributes).some(function (attr) {\n return scroll.query(attr, parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.BLOCK) != null;\n });\n }\n return false;\n}\nfunction getLastChangeIndex(scroll, delta) {\n var deleteLength = delta.reduce(function (length, op) {\n return length + (op.delete || 0);\n }, 0);\n var changeIndex = delta.length() - deleteLength;\n if (endsWithNewlineChange(scroll, delta)) {\n changeIndex -= 1;\n }\n return changeIndex;\n}\n\n// eslint-disable-next-line no-restricted-exports\n\n\n/***/ }),\n\n/***/ 3071:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"ZP\": () => (/* binding */ Keyboard),\n \"WQ\": () => (/* binding */ deleteRange)\n});\n\n// UNUSED EXPORTS: SHORTKEY, normalize\n\n// EXTERNAL MODULE: ./node_modules/lodash.clonedeep/index.js\nvar lodash_clonedeep = __webpack_require__(8805);\nvar lodash_clonedeep_default = /*#__PURE__*/__webpack_require__.n(lodash_clonedeep);\n// EXTERNAL MODULE: ./node_modules/lodash.isequal/index.js\nvar lodash_isequal = __webpack_require__(2722);\nvar lodash_isequal_default = /*#__PURE__*/__webpack_require__.n(lodash_isequal);\n// EXTERNAL MODULE: ./node_modules/quill-delta/dist/Delta.js\nvar Delta = __webpack_require__(9098);\nvar Delta_default = /*#__PURE__*/__webpack_require__.n(Delta);\n// EXTERNAL MODULE: ./node_modules/parchment/src/parchment.ts + 17 modules\nvar parchment = __webpack_require__(1233);\n// EXTERNAL MODULE: ./core/quill.js\nvar core_quill = __webpack_require__(281);\n// EXTERNAL MODULE: ./core/logger.js\nvar logger = __webpack_require__(3122);\n// EXTERNAL MODULE: ./core/module.js\nvar core_module = __webpack_require__(7094);\n// EXTERNAL MODULE: ./utils/has_window.js\nvar has_window = __webpack_require__(8034);\n;// CONCATENATED MODULE: ./utils/get_scroll_into_view_config.js\nfunction getScrollIntoViewConfig(element) {\n var _window = window,\n windowHeight = _window.innerHeight;\n var _element$getBoundingC = element.getBoundingClientRect(),\n elemTop = _element$getBoundingC.y,\n elemBottom = _element$getBoundingC.bottom;\n if (elemTop < 0) {\n return true; // scroll to the top\n }\n\n if (elemBottom >= windowHeight) {\n return false; // scroll to the bottom\n }\n\n return null;\n}\n;// CONCATENATED MODULE: ./modules/keyboard.js\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\n\n\nvar debug = (0,logger/* default */.Z)('quill:keyboard');\nvar KEY_NAMES = {\n backspace: 'backspace',\n tab: 'tab',\n enter: 'enter',\n escape: 'escape',\n pageup: 'pageUp',\n pagedown: 'pageDown',\n end: 'end',\n home: 'home',\n arrowleft: 'leftArrow',\n arrowup: 'upArrow',\n arrowright: 'rightArrow',\n arrowdown: 'downArrow',\n delete: 'del',\n ' ': 'space',\n '*': 'asterisk',\n '-': 'minus',\n alt: 'alt',\n control: 'control',\n shift: 'shift',\n // IE11:\n left: 'leftArrow',\n up: 'upArrow',\n right: 'rightArrow',\n down: 'downArrow',\n multiply: 'asterisk',\n spacebar: 'space',\n del: 'del',\n subtract: 'minus',\n esc: 'escape'\n};\nvar KEY_CODES = {\n // iOS 10.2 and lower didn't supports KeyboardEvent.key\n 8: 'backspace',\n 9: 'tab',\n 13: 'enter',\n 27: 'escape',\n 33: 'pageUp',\n 34: 'pageDown',\n 35: 'end',\n 36: 'home',\n 37: 'leftArrow',\n 38: 'upArrow',\n 39: 'rightArrow',\n 40: 'downArrow',\n 46: 'del',\n 32: 'space',\n 106: 'asterisk',\n 109: 'minus',\n 189: 'minus',\n 173: 'minus',\n 16: 'shift',\n 17: 'control',\n 18: 'alt'\n};\nvar SHORTKEY = (0,has_window/* default */.Z)() && /Mac/i.test(navigator.platform) ? 'metaKey' : 'ctrlKey';\nvar Keyboard = /*#__PURE__*/function (_Module) {\n _inherits(Keyboard, _Module);\n var _super = _createSuper(Keyboard);\n function Keyboard(quill, options) {\n var _this;\n _classCallCheck(this, Keyboard);\n _this = _super.call(this, quill, options);\n _this.bindings = {};\n Object.keys(_this.options.bindings).forEach(function (name) {\n if (_this.options.bindings[name]) {\n _this.addBinding(_this.options.bindings[name]);\n }\n });\n _this.addInternalBindings();\n _this.listen();\n return _this;\n }\n _createClass(Keyboard, [{\n key: \"addInternalBindings\",\n value: function addInternalBindings() {\n var _this2 = this;\n this.quill.once(core_quill/* default.events.CONTENT_SETTED */.ZP.events.CONTENT_SETTED, function () {\n _this2.addBinding({\n key: 'enter',\n shiftKey: null\n }, _this2.handleEnter);\n _this2.addBinding({\n key: 'enter',\n metaKey: null,\n ctrlKey: null,\n altKey: null\n }, function () {});\n if ((0,has_window/* default */.Z)() && /Firefox/i.test(navigator.userAgent)) {\n // Need to handle delete and backspace for Firefox in the general case #1171\n _this2.addBinding({\n key: 'backspace'\n }, {\n collapsed: true\n }, _this2.handleBackspace);\n _this2.addBinding({\n key: 'del'\n }, {\n collapsed: true\n }, _this2.handleDelete);\n } else {\n _this2.addBinding({\n key: 'backspace'\n }, {\n collapsed: true,\n prefix: /^.?$/\n }, _this2.handleBackspace);\n _this2.addBinding({\n key: 'del'\n }, {\n collapsed: true,\n suffix: /^.?$/\n }, _this2.handleDelete);\n }\n _this2.addBinding({\n key: 'backspace'\n }, {\n collapsed: false\n }, _this2.handleDeleteRange);\n _this2.addBinding({\n key: 'del'\n }, {\n collapsed: false\n }, _this2.handleDeleteRange);\n _this2.addBinding({\n key: 'backspace',\n altKey: null,\n ctrlKey: null,\n metaKey: null,\n shiftKey: null\n }, {\n collapsed: true,\n offset: 0\n }, _this2.handleBackspace);\n });\n }\n }, {\n key: \"addBinding\",\n value: function addBinding(keyBinding) {\n var _this3 = this;\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var handler = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var binding = normalize(keyBinding);\n if (binding == null) {\n debug.warn('Attempted to add invalid keyboard binding', binding);\n return;\n }\n if (typeof context === 'function') {\n context = {\n handler: context\n };\n }\n if (typeof handler === 'function') {\n handler = {\n handler: handler\n };\n }\n var keyPropery = binding.which ? 'which' : 'key';\n var keys = Array.isArray(binding[keyPropery]) ? binding[keyPropery] : [binding[keyPropery]];\n keys.forEach(function (key) {\n var singleBinding = _objectSpread(_objectSpread(_objectSpread({}, binding), {}, {\n key: key\n }, context), handler);\n _this3.bindings[singleBinding.key] = _this3.bindings[singleBinding.key] || [];\n _this3.bindings[singleBinding.key].push(singleBinding);\n });\n }\n }, {\n key: \"listen\",\n value: function listen() {\n var _this4 = this;\n this.quill.root.addEventListener('keydown', function (evt) {\n if (evt.defaultPrevented || evt.isComposing) return;\n _this4.raiseOnKeydownCallback(evt);\n var keyName = Keyboard.normalizeKeyName(evt);\n var bindings = (_this4.bindings[keyName] || []).concat(_this4.bindings[evt.which] || []);\n var matches = bindings.filter(function (binding) {\n return Keyboard.match(evt, binding);\n });\n if (matches.length === 0) return;\n var range = _this4.quill.getSelection();\n if (range == null || !_this4.quill.hasFocus()) return;\n var _this4$quill$getLine = _this4.quill.getLine(range.index),\n _this4$quill$getLine2 = _slicedToArray(_this4$quill$getLine, 2),\n line = _this4$quill$getLine2[0],\n offset = _this4$quill$getLine2[1];\n var _this4$quill$getLeaf = _this4.quill.getLeaf(range.index),\n _this4$quill$getLeaf2 = _slicedToArray(_this4$quill$getLeaf, 2),\n leafStart = _this4$quill$getLeaf2[0],\n offsetStart = _this4$quill$getLeaf2[1];\n var _ref = range.length === 0 ? [leafStart, offsetStart] : _this4.quill.getLeaf(range.index + range.length),\n _ref2 = _slicedToArray(_ref, 2),\n leafEnd = _ref2[0],\n offsetEnd = _ref2[1];\n var prefixText = leafStart instanceof parchment.TextBlot ? leafStart.value().slice(0, offsetStart) : '';\n var suffixText = leafEnd instanceof parchment.TextBlot ? leafEnd.value().slice(offsetEnd) : '';\n var curContext = {\n collapsed: range.length === 0,\n empty: range.length === 0 && line.length() <= 1,\n format: _this4.quill.getFormat(range),\n line: line,\n offset: offset,\n prefix: prefixText,\n suffix: suffixText,\n event: evt\n };\n var prevented = false;\n matches.some(function (binding) {\n if (binding.collapsed != null && binding.collapsed !== curContext.collapsed) {\n return false;\n }\n if (binding.empty != null && binding.empty !== curContext.empty) {\n return false;\n }\n if (binding.offset != null && binding.offset !== curContext.offset) {\n return false;\n }\n if (Array.isArray(binding.format)) {\n // any format is present\n if (binding.format.every(function (name) {\n return curContext.format[name] == null;\n })) {\n return false;\n }\n } else if (_typeof(binding.format) === 'object') {\n // all formats must match\n if (!Object.keys(binding.format).every(function (name) {\n if (binding.format[name] === true) return curContext.format[name] != null;\n if (binding.format[name] === false) return curContext.format[name] == null;\n return lodash_isequal_default()(binding.format[name], curContext.format[name]);\n })) {\n return false;\n }\n }\n if (binding.prefix != null && !binding.prefix.test(curContext.prefix)) {\n return false;\n }\n if (binding.suffix != null && !binding.suffix.test(curContext.suffix)) {\n return false;\n }\n var handlerResult = binding.handler.call(_this4, range, curContext, binding);\n var preventAfterAllMatches = handlerResult === null || handlerResult === void 0 ? void 0 : handlerResult.preventAfterAllMatches;\n prevented = handlerResult !== true || preventAfterAllMatches;\n return prevented && !preventAfterAllMatches;\n });\n if (prevented) {\n evt.preventDefault();\n }\n });\n }\n }, {\n key: \"raiseOnKeydownCallback\",\n value: function raiseOnKeydownCallback(event) {\n var callback = this.options.onKeydown;\n if (callback && typeof callback === 'function') {\n callback(event);\n }\n }\n }, {\n key: \"handleBackspace\",\n value: function handleBackspace(range, context) {\n // Check for astral symbols\n var length = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]$/.test(context.prefix) ? 2 : 1;\n if (range.index === 0 || this.quill.getLength() <= 1) return;\n var formats = {};\n var _this$quill$getLine = this.quill.getLine(range.index),\n _this$quill$getLine2 = _slicedToArray(_this$quill$getLine, 1),\n line = _this$quill$getLine2[0];\n var delta = new (Delta_default())().retain(range.index - length).delete(length);\n if (context.offset === 0) {\n // Always deleting newline here, length always 1\n var _this$quill$getLine3 = this.quill.getLine(range.index - 1),\n _this$quill$getLine4 = _slicedToArray(_this$quill$getLine3, 1),\n prev = _this$quill$getLine4[0];\n if (prev) {\n var isPrevLineEmpty = prev.statics.blotName === 'block' && prev.length() <= 1;\n var isPrevLineTable = prev.statics.blotName.startsWith('table');\n var isLineEmpty = line.statics.blotName === 'block' && line.length() <= 1;\n if (isPrevLineTable) {\n if (isLineEmpty) {\n line.remove();\n }\n this.quill.setSelection(range.index - 1);\n }\n if (!isPrevLineEmpty && !isPrevLineTable) {\n var curFormats = line.formats();\n var prevFormats = this.quill.getFormat(range.index - 1, 1);\n formats = Delta.AttributeMap.diff(curFormats, prevFormats) || {};\n if (Object.keys(formats).length > 0) {\n // line.length() - 1 targets \\n in line, another -1 for newline being deleted\n var formatDelta = new (Delta_default())().retain(range.index + line.length() - 2).retain(1, formats);\n delta = delta.compose(formatDelta);\n }\n }\n }\n }\n this.quill.updateContents(delta, core_quill/* default.sources.USER */.ZP.sources.USER);\n this.quill.focus();\n }\n }, {\n key: \"handleDelete\",\n value: function handleDelete(range, context) {\n // Check for astral symbols\n var length = /^[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/.test(context.suffix) ? 2 : 1;\n if (range.index >= this.quill.getLength() - length) return;\n var formats = {};\n var _this$quill$getLine5 = this.quill.getLine(range.index),\n _this$quill$getLine6 = _slicedToArray(_this$quill$getLine5, 1),\n line = _this$quill$getLine6[0];\n var delta = new (Delta_default())().retain(range.index).delete(length);\n if (context.offset >= line.length() - 1) {\n var _this$quill$getLine7 = this.quill.getLine(range.index + 1),\n _this$quill$getLine8 = _slicedToArray(_this$quill$getLine7, 1),\n next = _this$quill$getLine8[0];\n if (next) {\n var curFormats = line.formats();\n var nextFormats = this.quill.getFormat(range.index, 1);\n formats = Delta.AttributeMap.diff(curFormats, nextFormats) || {};\n if (Object.keys(formats).length > 0) {\n delta = delta.retain(next.length() - 1).retain(1, formats);\n }\n }\n }\n this.quill.updateContents(delta, core_quill/* default.sources.USER */.ZP.sources.USER);\n this.quill.focus();\n }\n }, {\n key: \"handleDeleteRange\",\n value: function handleDeleteRange(range, context) {\n this.raiseOnKeydownCallback(context.event);\n deleteRange({\n range: range,\n quill: this.quill\n });\n this.quill.focus();\n }\n }, {\n key: \"handleEnter\",\n value: function handleEnter(range, context) {\n var _this5 = this;\n var lineFormats = Object.keys(context.format).reduce(function (formats, format) {\n if (_this5.quill.scroll.query(format, parchment.Scope.BLOCK) && !Array.isArray(context.format[format])) {\n formats[format] = context.format[format];\n }\n return formats;\n }, {});\n var delta = new (Delta_default())().retain(range.index).delete(range.length).insert('\\n', lineFormats);\n this.quill.updateContents(delta, core_quill/* default.sources.USER */.ZP.sources.USER);\n this.quill.setSelection(range.index + 1, core_quill/* default.sources.SILENT */.ZP.sources.SILENT);\n this.quill.focus();\n var _this$quill$getLine9 = this.quill.getLine(range.index + 1),\n _this$quill$getLine10 = _slicedToArray(_this$quill$getLine9, 1),\n line = _this$quill$getLine10[0];\n var scrollConfig = getScrollIntoViewConfig(line.domNode);\n if (scrollConfig !== null) {\n line.domNode.scrollIntoView(scrollConfig);\n }\n Object.keys(context.format).forEach(function (name) {\n if (lineFormats[name] != null) return;\n if (Array.isArray(context.format[name])) return;\n if (name === 'code' || name === 'link') return;\n _this5.raiseOnKeydownCallback(context.event);\n _this5.quill.format(name, context.format[name], core_quill/* default.sources.USER */.ZP.sources.USER);\n });\n }\n }], [{\n key: \"match\",\n value: function match(evt, binding) {\n if (['altKey', 'ctrlKey', 'metaKey', 'shiftKey'].some(function (key) {\n return !!binding[key] !== evt[key] && binding[key] !== null;\n })) {\n return false;\n }\n return binding.key === Keyboard.normalizeKeyName(evt) || binding.key === evt.which;\n }\n }, {\n key: \"normalizeKeyName\",\n value: function normalizeKeyName(_ref3) {\n var key = _ref3.key,\n which = _ref3.which;\n var isKeySupported = !!key;\n var normalizedKey = isKeySupported ? key : which;\n if (normalizedKey) {\n if (isKeySupported) {\n normalizedKey = KEY_NAMES[normalizedKey.toLowerCase()] || normalizedKey;\n } else {\n normalizedKey = KEY_CODES[normalizedKey] || String.fromCharCode(normalizedKey);\n }\n }\n return normalizedKey;\n }\n }]);\n return Keyboard;\n}(core_module/* default */.Z);\nKeyboard.DEFAULTS = {\n bindings: {\n bold: makeFormatHandler('bold', 66),\n italic: makeFormatHandler('italic', 73),\n underline: makeFormatHandler('underline', 85),\n indent: {\n // highlight tab or tab at beginning of list, indent or blockquote\n key: 'tab',\n format: ['blockquote', 'indent', 'list'],\n handler: function handler(range, context) {\n if (context.collapsed && context.offset !== 0) return true;\n this.quill.format('indent', '+1', core_quill/* default.sources.USER */.ZP.sources.USER);\n return false;\n }\n },\n outdent: {\n key: 'tab',\n shiftKey: true,\n format: ['blockquote', 'indent', 'list'],\n // highlight tab or tab at beginning of list, indent or blockquote\n handler: function handler(range, context) {\n if (context.collapsed && context.offset !== 0) return true;\n this.quill.format('indent', '-1', core_quill/* default.sources.USER */.ZP.sources.USER);\n return false;\n }\n },\n 'outdent backspace': {\n key: 'backspace',\n collapsed: true,\n shiftKey: null,\n metaKey: null,\n ctrlKey: null,\n altKey: null,\n format: ['indent', 'list'],\n offset: 0,\n handler: function handler(range, context) {\n if (context.format.indent != null) {\n this.quill.format('indent', '-1', core_quill/* default.sources.USER */.ZP.sources.USER);\n } else if (context.format.list != null) {\n this.quill.format('list', false, core_quill/* default.sources.USER */.ZP.sources.USER);\n }\n }\n },\n 'indent code-block': makeCodeBlockHandler(true),\n 'outdent code-block': makeCodeBlockHandler(false),\n 'remove tab': {\n key: 'tab',\n shiftKey: true,\n collapsed: true,\n prefix: /\\t$/,\n handler: function handler(range) {\n this.quill.deleteText(range.index - 1, 1, core_quill/* default.sources.USER */.ZP.sources.USER);\n }\n },\n tab: {\n key: 'tab',\n handler: function handler(range, _ref4) {\n var format = _ref4.format;\n var isInTable = format.tableCellLine || format.tableHeaderCellLine || format.tableHeaderCell || format.table;\n if (isInTable) return true;\n this.quill.history.cutoff();\n var delta = new (Delta_default())().retain(range.index).delete(range.length).insert('\\t');\n this.quill.updateContents(delta, core_quill/* default.sources.USER */.ZP.sources.USER);\n this.quill.history.cutoff();\n this.quill.setSelection(range.index + 1, core_quill/* default.sources.SILENT */.ZP.sources.SILENT);\n return false;\n }\n },\n 'blockquote empty enter': {\n key: 'enter',\n collapsed: true,\n format: ['blockquote'],\n empty: true,\n handler: function handler() {\n this.quill.format('blockquote', false, core_quill/* default.sources.USER */.ZP.sources.USER);\n }\n },\n 'list empty enter': {\n key: 'enter',\n collapsed: true,\n format: ['list'],\n empty: true,\n handler: function handler(range, context) {\n var formats = {\n list: false\n };\n if (context.format.indent) {\n formats.indent = false;\n }\n this.quill.formatLine(range.index, range.length, formats, core_quill/* default.sources.USER */.ZP.sources.USER);\n }\n },\n 'checklist enter': {\n key: 'enter',\n collapsed: true,\n format: {\n list: 'checked'\n },\n handler: function handler(range) {\n var _this$quill$getLine11 = this.quill.getLine(range.index),\n _this$quill$getLine12 = _slicedToArray(_this$quill$getLine11, 2),\n line = _this$quill$getLine12[0],\n offset = _this$quill$getLine12[1];\n var formats = _objectSpread(_objectSpread({}, line.formats()), {}, {\n list: 'checked'\n });\n var delta = new (Delta_default())().retain(range.index).insert('\\n', formats).retain(line.length() - offset - 1).retain(1, {\n list: 'unchecked'\n });\n this.quill.updateContents(delta, core_quill/* default.sources.USER */.ZP.sources.USER);\n this.quill.setSelection(range.index + 1, core_quill/* default.sources.SILENT */.ZP.sources.SILENT);\n this.quill.scrollIntoView();\n }\n },\n 'header enter': {\n key: 'enter',\n collapsed: true,\n format: ['header'],\n suffix: /^$/,\n handler: function handler(range, context) {\n var _this$quill$getLine13 = this.quill.getLine(range.index),\n _this$quill$getLine14 = _slicedToArray(_this$quill$getLine13, 2),\n line = _this$quill$getLine14[0],\n offset = _this$quill$getLine14[1];\n var delta = new (Delta_default())().retain(range.index).insert('\\n', context.format).retain(line.length() - offset - 1).retain(1, {\n header: null\n });\n this.quill.updateContents(delta, core_quill/* default.sources.USER */.ZP.sources.USER);\n this.quill.setSelection(range.index + 1, core_quill/* default.sources.SILENT */.ZP.sources.SILENT);\n this.quill.scrollIntoView();\n }\n },\n 'list autofill': {\n key: 'space',\n shiftKey: null,\n collapsed: true,\n format: {\n 'code-block': false,\n blockquote: false,\n table: false\n },\n prefix: /^\\s*?(\\d+\\.|-|\\*|\\[ ?\\]|\\[x\\])$/,\n handler: function handler(range, context) {\n if (this.quill.scroll.query('list') == null) return true;\n var length = context.prefix.length;\n var _this$quill$getLine15 = this.quill.getLine(range.index),\n _this$quill$getLine16 = _slicedToArray(_this$quill$getLine15, 2),\n line = _this$quill$getLine16[0],\n offset = _this$quill$getLine16[1];\n if (offset > length) return true;\n var value;\n switch (context.prefix.trim()) {\n case '[]':\n case '[ ]':\n value = 'unchecked';\n break;\n case '[x]':\n value = 'checked';\n break;\n case '-':\n case '*':\n value = 'bullet';\n break;\n default:\n value = 'ordered';\n }\n this.quill.insertText(range.index, ' ', core_quill/* default.sources.USER */.ZP.sources.USER);\n this.quill.history.cutoff();\n var delta = new (Delta_default())().retain(range.index - offset).delete(length + 1).retain(line.length() - 2 - offset).retain(1, {\n list: value\n });\n this.raiseOnKeydownCallback(context.event);\n this.quill.updateContents(delta, core_quill/* default.sources.USER */.ZP.sources.USER);\n this.quill.history.cutoff();\n this.quill.setSelection(range.index - length, core_quill/* default.sources.SILENT */.ZP.sources.SILENT);\n return false;\n }\n },\n 'code exit': {\n key: 'enter',\n collapsed: true,\n format: ['code-block'],\n prefix: /^$/,\n suffix: /^\\s*$/,\n handler: function handler(range) {\n var _this$quill$getLine17 = this.quill.getLine(range.index),\n _this$quill$getLine18 = _slicedToArray(_this$quill$getLine17, 2),\n line = _this$quill$getLine18[0],\n offset = _this$quill$getLine18[1];\n var numLines = 2;\n var cur = line;\n while (cur != null && cur.length() <= 1 && cur.formats()['code-block']) {\n cur = cur.prev;\n numLines -= 1;\n // Requisite prev lines are empty\n if (numLines <= 0) {\n var delta = new (Delta_default())().retain(range.index + line.length() - offset - 2).retain(1, {\n 'code-block': null\n }).delete(1);\n this.quill.updateContents(delta, core_quill/* default.sources.USER */.ZP.sources.USER);\n this.quill.setSelection(range.index - 1, core_quill/* default.sources.SILENT */.ZP.sources.SILENT);\n return false;\n }\n }\n return true;\n }\n },\n 'embed left': makeEmbedArrowHandler('leftArrow', false),\n 'embed left shift': makeEmbedArrowHandler('leftArrow', true),\n 'embed right': makeEmbedArrowHandler('rightArrow', false),\n 'embed right shift': makeEmbedArrowHandler('rightArrow', true)\n }\n};\nfunction makeCodeBlockHandler(indent) {\n return {\n key: 'tab',\n shiftKey: !indent,\n format: {\n 'code-block': true\n },\n handler: function handler(range) {\n var CodeBlock = this.quill.scroll.query('code-block');\n var lines = range.length === 0 ? this.quill.getLines(range.index, 1) : this.quill.getLines(range);\n var index = range.index,\n length = range.length;\n lines.forEach(function (line, i) {\n if (indent) {\n line.insertAt(0, CodeBlock.TAB);\n if (i === 0) {\n index += CodeBlock.TAB.length;\n } else {\n length += CodeBlock.TAB.length;\n }\n } else if (line.domNode.textContent.indexOf(CodeBlock.TAB) === 0) {\n line.deleteAt(0, CodeBlock.TAB.length);\n if (i === 0) {\n index -= CodeBlock.TAB.length;\n } else {\n length -= CodeBlock.TAB.length;\n }\n }\n });\n this.quill.update(core_quill/* default.sources.USER */.ZP.sources.USER);\n this.quill.setSelection(index, length, core_quill/* default.sources.SILENT */.ZP.sources.SILENT);\n }\n };\n}\nfunction makeEmbedArrowHandler(key, shiftKey) {\n var where = key === 'leftArrow' ? 'prefix' : 'suffix';\n return _defineProperty(_defineProperty({\n key: key,\n shiftKey: shiftKey,\n altKey: null\n }, where, /^$/), \"handler\", function handler(range) {\n var index = range.index;\n if (key === 'rightArrow') {\n index += range.length + 1;\n }\n var _this$quill$getLeaf = this.quill.getLeaf(index),\n _this$quill$getLeaf2 = _slicedToArray(_this$quill$getLeaf, 1),\n leaf = _this$quill$getLeaf2[0];\n if (!(leaf instanceof parchment.EmbedBlot)) return true;\n if (key === 'leftArrow') {\n if (shiftKey) {\n this.quill.setSelection(range.index - 1, range.length + 1, core_quill/* default.sources.USER */.ZP.sources.USER);\n } else {\n this.quill.setSelection(range.index - 1, core_quill/* default.sources.USER */.ZP.sources.USER);\n }\n } else if (shiftKey) {\n this.quill.setSelection(range.index, range.length + 1, core_quill/* default.sources.USER */.ZP.sources.USER);\n } else {\n this.quill.setSelection(range.index + range.length + 1, core_quill/* default.sources.USER */.ZP.sources.USER);\n }\n return false;\n });\n}\nfunction makeFormatHandler(format, which) {\n return {\n key: format[0],\n which: which,\n shortKey: true,\n handler: function handler(range, context) {\n this.quill.format(format, !context.format[format], core_quill/* default.sources.USER */.ZP.sources.USER);\n return {\n preventAfterAllMatches: true\n };\n }\n };\n}\nfunction normalize(binding) {\n if (typeof binding === 'string' || typeof binding === 'number') {\n binding = {\n key: binding\n };\n } else if (_typeof(binding) === 'object') {\n binding = lodash_clonedeep_default()(binding);\n } else {\n return null;\n }\n if (binding.shortKey) {\n binding[SHORTKEY] = binding.shortKey;\n delete binding.shortKey;\n }\n return binding;\n}\nfunction deleteRange(_ref6) {\n var quill = _ref6.quill,\n range = _ref6.range;\n var lines = quill.getLines(range);\n var formats = {};\n if (lines.length > 1) {\n var firstFormats = lines[0].formats();\n var lastFormats = lines[lines.length - 1].formats();\n formats = Delta.AttributeMap.diff(lastFormats, firstFormats) || {};\n }\n quill.deleteText(range, core_quill/* default.sources.USER */.ZP.sources.USER);\n if (Object.keys(formats).length > 0) {\n quill.formatLine(range.index, 1, formats, core_quill/* default.sources.USER */.ZP.sources.USER);\n }\n quill.setSelection(range.index, core_quill/* default.sources.SILENT */.ZP.sources.SILENT);\n}\n\n\n/***/ }),\n\n/***/ 9072:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ZP\": () => (/* binding */ Syntax)\n/* harmony export */ });\n/* unused harmony exports CodeBlock, CodeToken */\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9098);\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1233);\n/* harmony import */ var _blots_inline__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6603);\n/* harmony import */ var _core_quill__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(281);\n/* harmony import */ var _core_module__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7094);\n/* harmony import */ var _blots_block__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6446);\n/* harmony import */ var _blots_break__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(4122);\n/* harmony import */ var _blots_cursor__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(3657);\n/* harmony import */ var _blots_text__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(8222);\n/* harmony import */ var _formats_code__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(7309);\n/* harmony import */ var _clipboard__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(5635);\n/* harmony import */ var _utils_has_window__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(8034);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\n\n\n\n\n\nvar TokenAttributor = new parchment__WEBPACK_IMPORTED_MODULE_1__.ClassAttributor('code-token', 'hljs', {\n scope: parchment__WEBPACK_IMPORTED_MODULE_1__.Scope.INLINE\n});\nvar CodeToken = /*#__PURE__*/function (_Inline) {\n _inherits(CodeToken, _Inline);\n var _super = _createSuper(CodeToken);\n function CodeToken(scroll, domNode, value) {\n var _this;\n _classCallCheck(this, CodeToken);\n _this = _super.call(this, scroll, domNode, value);\n TokenAttributor.add(_this.domNode, value);\n return _this;\n }\n _createClass(CodeToken, [{\n key: \"format\",\n value: function format(_format, value) {\n if (_format !== CodeToken.blotName) {\n _get(_getPrototypeOf(CodeToken.prototype), \"format\", this).call(this, _format, value);\n } else if (value) {\n TokenAttributor.add(this.domNode, value);\n } else {\n TokenAttributor.remove(this.domNode);\n this.domNode.classList.remove(this.statics.className);\n }\n }\n }, {\n key: \"optimize\",\n value: function optimize() {\n var _get2;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n (_get2 = _get(_getPrototypeOf(CodeToken.prototype), \"optimize\", this)).call.apply(_get2, [this].concat(args));\n if (!TokenAttributor.value(this.domNode)) {\n this.unwrap();\n }\n }\n }], [{\n key: \"formats\",\n value: function formats(node, scroll) {\n while (node != null && node !== scroll.domNode) {\n if (node.classList && node.classList.contains(_formats_code__WEBPACK_IMPORTED_MODULE_9__/* [\"default\"].className */ .ZP.className)) {\n return _get(_getPrototypeOf(CodeToken), \"formats\", this).call(this, node, scroll);\n }\n node = node.parentNode;\n }\n return undefined;\n }\n }]);\n return CodeToken;\n}(_blots_inline__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"] */ .Z);\nCodeToken.blotName = 'code-token';\nCodeToken.className = 'ql-token';\nvar SyntaxCodeBlock = /*#__PURE__*/function (_CodeBlock) {\n _inherits(SyntaxCodeBlock, _CodeBlock);\n var _super2 = _createSuper(SyntaxCodeBlock);\n function SyntaxCodeBlock() {\n _classCallCheck(this, SyntaxCodeBlock);\n return _super2.apply(this, arguments);\n }\n _createClass(SyntaxCodeBlock, [{\n key: \"format\",\n value:\n // Syntax module will register\n\n function format(name, value) {\n if (name === this.statics.blotName && value) {\n this.domNode.setAttribute('data-language', value);\n } else {\n _get(_getPrototypeOf(SyntaxCodeBlock.prototype), \"format\", this).call(this, name, value);\n }\n }\n }, {\n key: \"replaceWith\",\n value: function replaceWith(name, value) {\n this.formatAt(0, this.length(), CodeToken.blotName, false);\n return _get(_getPrototypeOf(SyntaxCodeBlock.prototype), \"replaceWith\", this).call(this, name, value);\n }\n }], [{\n key: \"create\",\n value: function create(value) {\n var domNode = _get(_getPrototypeOf(SyntaxCodeBlock), \"create\", this).call(this, value);\n if (typeof value === 'string') {\n domNode.setAttribute('data-language', value);\n }\n return domNode;\n }\n }, {\n key: \"formats\",\n value: function formats(domNode) {\n return domNode.getAttribute('data-language') || 'plain';\n }\n }, {\n key: \"register\",\n value: function register() {}\n }]);\n return SyntaxCodeBlock;\n}(_formats_code__WEBPACK_IMPORTED_MODULE_9__/* [\"default\"] */ .ZP);\nvar SyntaxCodeBlockContainer = /*#__PURE__*/function (_CodeBlockContainer) {\n _inherits(SyntaxCodeBlockContainer, _CodeBlockContainer);\n var _super3 = _createSuper(SyntaxCodeBlockContainer);\n function SyntaxCodeBlockContainer() {\n _classCallCheck(this, SyntaxCodeBlockContainer);\n return _super3.apply(this, arguments);\n }\n _createClass(SyntaxCodeBlockContainer, [{\n key: \"attach\",\n value: function attach() {\n _get(_getPrototypeOf(SyntaxCodeBlockContainer.prototype), \"attach\", this).call(this);\n this.forceNext = false;\n this.scroll.emitMount(this);\n }\n }, {\n key: \"format\",\n value: function format(name, value) {\n if (name === SyntaxCodeBlock.blotName) {\n this.forceNext = true;\n this.children.forEach(function (child) {\n child.format(name, value);\n });\n }\n }\n }, {\n key: \"formatAt\",\n value: function formatAt(index, length, name, value) {\n if (name === SyntaxCodeBlock.blotName) {\n this.forceNext = true;\n }\n _get(_getPrototypeOf(SyntaxCodeBlockContainer.prototype), \"formatAt\", this).call(this, index, length, name, value);\n }\n }, {\n key: \"highlight\",\n value: function highlight(_highlight) {\n var _this2 = this;\n var forced = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (this.children.head == null) return;\n var nodes = Array.from(this.domNode.childNodes).filter(function (node) {\n return node !== _this2.uiNode;\n });\n var text = \"\".concat(nodes.map(function (node) {\n return node.textContent;\n }).join('\\n'), \"\\n\");\n var language = SyntaxCodeBlock.formats(this.children.head.domNode);\n if (forced || this.forceNext || this.cachedText !== text) {\n if (text.trim().length > 0 || this.cachedText == null) {\n var oldDelta = this.children.reduce(function (delta, child) {\n return delta.concat((0,_blots_block__WEBPACK_IMPORTED_MODULE_5__/* .blockDelta */ .qz)(child, false));\n }, new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())());\n var delta = _highlight(text, language);\n oldDelta.diff(delta).reduce(function (index, _ref) {\n var retain = _ref.retain,\n attributes = _ref.attributes;\n // Should be all retains\n if (!retain) return index;\n if (attributes) {\n Object.keys(attributes).forEach(function (format) {\n if ([SyntaxCodeBlock.blotName, CodeToken.blotName].indexOf(format) !== -1) {\n _this2.formatAt(index, retain, format, attributes[format]);\n }\n });\n }\n return index + retain;\n }, 0);\n }\n this.cachedText = text;\n this.forceNext = false;\n }\n }\n }, {\n key: \"html\",\n value: function html(index, length) {\n var _this$children$find = this.children.find(index),\n _this$children$find2 = _slicedToArray(_this$children$find, 1),\n codeBlock = _this$children$find2[0];\n var language = codeBlock ? SyntaxCodeBlock.formats(codeBlock.domNode) : 'plain';\n return \"
    \\n\").concat(this.code(index, length), \"\\n
    \");\n }\n }, {\n key: \"optimize\",\n value: function optimize(context) {\n _get(_getPrototypeOf(SyntaxCodeBlockContainer.prototype), \"optimize\", this).call(this, context);\n if (this.parent != null && this.children.head != null && this.uiNode != null) {\n var language = SyntaxCodeBlock.formats(this.children.head.domNode);\n if (language !== this.uiNode.value) {\n this.uiNode.value = language;\n }\n }\n }\n }]);\n return SyntaxCodeBlockContainer;\n}(_formats_code__WEBPACK_IMPORTED_MODULE_9__/* .CodeBlockContainer */ .se);\nSyntaxCodeBlockContainer.allowedChildren = [SyntaxCodeBlock];\nSyntaxCodeBlock.requiredContainer = SyntaxCodeBlockContainer;\nSyntaxCodeBlock.allowedChildren = [CodeToken, _blots_cursor__WEBPACK_IMPORTED_MODULE_7__/* [\"default\"] */ .Z, _blots_text__WEBPACK_IMPORTED_MODULE_8__/* [\"default\"] */ .Z, _blots_break__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z];\nvar Syntax = /*#__PURE__*/function (_Module) {\n _inherits(Syntax, _Module);\n var _super4 = _createSuper(Syntax);\n function Syntax(quill, options) {\n var _this3;\n _classCallCheck(this, Syntax);\n _this3 = _super4.call(this, quill, options);\n if (_this3.options.hljs == null) {\n throw new Error('Syntax module requires highlight.js. Please include the library on the page before Quill.');\n }\n _this3.languages = _this3.options.languages.reduce(function (memo, _ref2) {\n var key = _ref2.key;\n memo[key] = true;\n return memo;\n }, {});\n _this3.highlightBlot = _this3.highlightBlot.bind(_assertThisInitialized(_this3));\n _this3.initListener();\n _this3.initTimer();\n return _this3;\n }\n _createClass(Syntax, [{\n key: \"initListener\",\n value: function initListener() {\n var _this4 = this;\n this.quill.on(_core_quill__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"].events.SCROLL_BLOT_MOUNT */ .ZP.events.SCROLL_BLOT_MOUNT, function (blot) {\n if (!(blot instanceof SyntaxCodeBlockContainer)) return;\n var select = _this4.quill.root.ownerDocument.createElement('select');\n _this4.options.languages.forEach(function (_ref3) {\n var key = _ref3.key,\n label = _ref3.label;\n var option = select.ownerDocument.createElement('option');\n option.textContent = label;\n option.setAttribute('value', key);\n select.appendChild(option);\n });\n select.addEventListener('change', function () {\n blot.format(SyntaxCodeBlock.blotName, select.value);\n _this4.quill.root.focus(); // Prevent scrolling\n _this4.highlight(blot, true);\n });\n if (blot.uiNode == null) {\n blot.attachUI(select);\n if (blot.children.head) {\n select.value = SyntaxCodeBlock.formats(blot.children.head.domNode);\n }\n }\n });\n }\n }, {\n key: \"initTimer\",\n value: function initTimer() {\n var _this5 = this;\n var timer = null;\n this.quill.on(_core_quill__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"].events.SCROLL_OPTIMIZE */ .ZP.events.SCROLL_OPTIMIZE, function () {\n clearTimeout(timer);\n timer = setTimeout(function () {\n _this5.highlight();\n timer = null;\n }, _this5.options.interval);\n });\n }\n }, {\n key: \"highlight\",\n value: function highlight() {\n var _this6 = this;\n var blot = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (this.quill.selection.composing) return;\n this.quill.update(_core_quill__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"].sources.USER */ .ZP.sources.USER);\n var range = this.quill.getSelection();\n var blots = blot == null ? this.quill.scroll.descendants(SyntaxCodeBlockContainer) : [blot];\n blots.forEach(function (container) {\n container.highlight(_this6.highlightBlot, force);\n });\n this.quill.update(_core_quill__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"].sources.SILENT */ .ZP.sources.SILENT);\n if (range != null) {\n this.quill.setSelection(range, _core_quill__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"].sources.SILENT */ .ZP.sources.SILENT);\n }\n }\n }, {\n key: \"highlightBlot\",\n value: function highlightBlot(text) {\n var language = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'plain';\n language = this.languages[language] ? language : 'plain';\n if (language === 'plain') {\n return (0,_blots_text__WEBPACK_IMPORTED_MODULE_8__/* .escapeText */ .b)(text).split('\\n').reduce(function (delta, line, i) {\n if (i !== 0) {\n delta.insert('\\n', _defineProperty({}, _formats_code__WEBPACK_IMPORTED_MODULE_9__/* [\"default\"].blotName */ .ZP.blotName, language));\n }\n return delta.insert(line);\n }, new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())());\n }\n var container = this.quill.root.ownerDocument.createElement('div');\n container.classList.add(_formats_code__WEBPACK_IMPORTED_MODULE_9__/* [\"default\"].className */ .ZP.className);\n container.innerHTML = this.options.hljs.highlight(language, text).value;\n return (0,_clipboard__WEBPACK_IMPORTED_MODULE_10__/* .traverse */ .fw)(this.quill.scroll, container, [function (node, delta) {\n var value = TokenAttributor.value(node);\n if (value) {\n return delta.compose(new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())().retain(delta.length(), _defineProperty({}, CodeToken.blotName, value)));\n }\n return delta;\n }], [function (node, delta) {\n return node.data.split('\\n').reduce(function (memo, nodeText, i) {\n if (i !== 0) memo.insert('\\n', _defineProperty({}, _formats_code__WEBPACK_IMPORTED_MODULE_9__/* [\"default\"].blotName */ .ZP.blotName, language));\n return memo.insert(nodeText);\n }, delta);\n }], new WeakMap());\n }\n }], [{\n key: \"register\",\n value: function register() {\n _core_quill__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"].register */ .ZP.register(CodeToken, true);\n _core_quill__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"].register */ .ZP.register(SyntaxCodeBlock, true);\n _core_quill__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"].register */ .ZP.register(SyntaxCodeBlockContainer, true);\n }\n }]);\n return Syntax;\n}(_core_module__WEBPACK_IMPORTED_MODULE_4__/* [\"default\"] */ .Z);\nSyntax.DEFAULTS = {\n hljs: function () {\n if ((0,_utils_has_window__WEBPACK_IMPORTED_MODULE_11__/* [\"default\"] */ .Z)()) {\n return window.hljs;\n }\n return null;\n }(),\n interval: 1000,\n languages: [{\n key: 'plain',\n label: 'Plain'\n }, {\n key: 'bash',\n label: 'Bash'\n }, {\n key: 'cpp',\n label: 'C++'\n }, {\n key: 'cs',\n label: 'C#'\n }, {\n key: 'css',\n label: 'CSS'\n }, {\n key: 'diff',\n label: 'Diff'\n }, {\n key: 'xml',\n label: 'HTML/XML'\n }, {\n key: 'java',\n label: 'Java'\n }, {\n key: 'javascript',\n label: 'Javascript'\n }, {\n key: 'markdown',\n label: 'Markdown'\n }, {\n key: 'php',\n label: 'PHP'\n }, {\n key: 'python',\n label: 'Python'\n }, {\n key: 'ruby',\n label: 'Ruby'\n }, {\n key: 'sql',\n label: 'SQL'\n }]\n};\n\n// eslint-disable-next-line no-restricted-exports\n\n\n/***/ }),\n\n/***/ 867:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9098);\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1233);\n/* harmony import */ var _core_quill__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(281);\n/* harmony import */ var _core_module__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7094);\n/* harmony import */ var _formats_table__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1969);\n/* harmony import */ var _utils_is_defined__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(5874);\n/* harmony import */ var _clipboard__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5635);\n/* harmony import */ var _utils_make_table_arrow_handler__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(9466);\n/* harmony import */ var _utils_prepare_attr_matcher__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(7896);\n/* harmony import */ var _formats_table_attributors_table__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(319);\n/* harmony import */ var _formats_table_attributors_cell__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(1342);\n/* harmony import */ var _utils_insert_pr_above__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(2480);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\n\n\n\n\n\nvar EMPTY_RESULT = [null, null, null, -1];\nvar ELEMENT_NODE = 1;\nvar Table = /*#__PURE__*/function (_Module) {\n _inherits(Table, _Module);\n var _super = _createSuper(Table);\n function Table() {\n var _this;\n _classCallCheck(this, Table);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _this.tableBlots = [_formats_table__WEBPACK_IMPORTED_MODULE_4__/* .CellLine.blotName */ .zW.blotName, _formats_table__WEBPACK_IMPORTED_MODULE_4__/* .HeaderCellLine.blotName */ .iD.blotName];\n _this.tableBlots.forEach(function (blotName) {\n _this.quill.editor.addImmediateFormat(blotName);\n });\n _this.integrateClipboard();\n _this.addKeyboardHandlers();\n _this.listenBalanceCells();\n return _this;\n }\n _createClass(Table, [{\n key: \"integrateClipboard\",\n value: function integrateClipboard() {\n var _this2 = this;\n this.tableBlots.forEach(function (blotName) {\n _this2.quill.clipboard.addTableBlot(blotName);\n });\n this.quill.clipboard.addMatcher('td, th', matchCell);\n this.quill.clipboard.addMatcher('table', (0,_utils_prepare_attr_matcher__WEBPACK_IMPORTED_MODULE_7__/* .prepareAttributeMatcher */ .F)(_formats_table_attributors_table__WEBPACK_IMPORTED_MODULE_8__/* .TABLE_ATTRIBUTORS */ .Zt));\n this.quill.clipboard.addMatcher('td, th', (0,_utils_prepare_attr_matcher__WEBPACK_IMPORTED_MODULE_7__/* .prepareCellAttributeMatcher */ .a)(_formats_table_attributors_cell__WEBPACK_IMPORTED_MODULE_9__/* .CELL_ATTRIBUTORS */ .h6));\n }\n }, {\n key: \"addKeyboardHandlers\",\n value: function addKeyboardHandlers() {\n var _this3 = this;\n var bindings = Table.keyboardBindings;\n Object.keys(bindings).forEach(function (name) {\n if (bindings[name]) {\n _this3.quill.keyboard.addBinding(bindings[name]);\n }\n });\n }\n }, {\n key: \"balanceTables\",\n value: function balanceTables() {\n this.quill.scroll.descendants(_formats_table__WEBPACK_IMPORTED_MODULE_4__/* .TableContainer */ .xJ).forEach(function (table) {\n table.balanceCells();\n });\n }\n }, {\n key: \"deleteColumn\",\n value: function deleteColumn() {\n var _this$getTable = this.getTable(),\n _this$getTable2 = _slicedToArray(_this$getTable, 3),\n table = _this$getTable2[0],\n cell = _this$getTable2[2];\n if (!(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_11__/* [\"default\"] */ .Z)(cell)) {\n return;\n }\n table.deleteColumn(cell.cellOffset());\n this.quill.update(_core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].sources.USER */ .ZP.sources.USER);\n }\n }, {\n key: \"deleteRow\",\n value: function deleteRow() {\n var _this$getTable3 = this.getTable(),\n _this$getTable4 = _slicedToArray(_this$getTable3, 2),\n row = _this$getTable4[1];\n if (!(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_11__/* [\"default\"] */ .Z)(row)) {\n return;\n }\n row.remove();\n this.quill.update(_core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].sources.USER */ .ZP.sources.USER);\n }\n }, {\n key: \"deleteTable\",\n value: function deleteTable() {\n var _this$getTable5 = this.getTable(),\n _this$getTable6 = _slicedToArray(_this$getTable5, 1),\n table = _this$getTable6[0];\n if (!(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_11__/* [\"default\"] */ .Z)(table)) {\n return;\n }\n var offset = table.offset();\n table.remove();\n this.quill.update(_core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].sources.USER */ .ZP.sources.USER);\n this.quill.setSelection(offset, _core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].sources.SILENT */ .ZP.sources.SILENT);\n }\n }, {\n key: \"getTable\",\n value: function getTable() {\n var range = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.quill.getSelection();\n if (!(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_11__/* [\"default\"] */ .Z)(range)) {\n return EMPTY_RESULT;\n }\n var _this$quill$getLine = this.quill.getLine(range.index),\n _this$quill$getLine2 = _slicedToArray(_this$quill$getLine, 2),\n cellLine = _this$quill$getLine2[0],\n offset = _this$quill$getLine2[1];\n if (!(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_11__/* [\"default\"] */ .Z)(cellLine) || this.tableBlots.indexOf(cellLine.statics.blotName) === -1) {\n return EMPTY_RESULT;\n }\n var cell = cellLine.parent;\n var row = cell.parent;\n var table = row.parent.parent;\n return [table, row, cell, offset];\n }\n }, {\n key: \"insertColumn\",\n value: function insertColumn(offset) {\n var range = this.quill.getSelection();\n var _this$getTable7 = this.getTable(range),\n _this$getTable8 = _slicedToArray(_this$getTable7, 3),\n table = _this$getTable8[0],\n row = _this$getTable8[1],\n cell = _this$getTable8[2];\n if (!(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_11__/* [\"default\"] */ .Z)(cell)) {\n return;\n }\n var column = cell.cellOffset();\n table.insertColumn(column + offset);\n this.quill.update(_core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].sources.USER */ .ZP.sources.USER);\n var shift = row.rowOffset();\n if (offset === 0) {\n shift += 1;\n }\n this.quill.setSelection(range.index + shift, range.length, _core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].sources.SILENT */ .ZP.sources.SILENT);\n }\n }, {\n key: \"insertColumnLeft\",\n value: function insertColumnLeft() {\n this.insertColumn(0);\n }\n }, {\n key: \"insertColumnRight\",\n value: function insertColumnRight() {\n this.insertColumn(1);\n }\n }, {\n key: \"insertRow\",\n value: function insertRow(offset) {\n var range = this.quill.getSelection();\n var _this$getTable9 = this.getTable(range),\n _this$getTable10 = _slicedToArray(_this$getTable9, 3),\n table = _this$getTable10[0],\n row = _this$getTable10[1],\n cell = _this$getTable10[2];\n if (!(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_11__/* [\"default\"] */ .Z)(cell)) {\n return;\n }\n var index = row.rowOffset();\n table.insertRow(index + offset);\n this.quill.update(_core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].sources.USER */ .ZP.sources.USER);\n if (offset > 0) {\n this.quill.setSelection(range, _core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].sources.SILENT */ .ZP.sources.SILENT);\n } else {\n this.quill.setSelection(range.index + row.children.length, range.length, _core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].sources.SILENT */ .ZP.sources.SILENT);\n }\n }\n }, {\n key: \"insertRowAbove\",\n value: function insertRowAbove() {\n this.insertRow(0);\n }\n }, {\n key: \"insertRowBelow\",\n value: function insertRowBelow() {\n this.insertRow(1);\n }\n }, {\n key: \"insertHeaderRow\",\n value: function insertHeaderRow() {\n var range = this.quill.getSelection();\n var _this$getTable11 = this.getTable(range),\n _this$getTable12 = _slicedToArray(_this$getTable11, 3),\n table = _this$getTable12[0],\n cell = _this$getTable12[2];\n if (!(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_11__/* [\"default\"] */ .Z)(cell)) {\n return;\n }\n table.insertHeaderRow();\n this.quill.update(_core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].sources.USER */ .ZP.sources.USER);\n }\n }, {\n key: \"insertTable\",\n value: function insertTable(rows, columns) {\n var range = this.quill.getSelection();\n if (!(0,_utils_is_defined__WEBPACK_IMPORTED_MODULE_11__/* [\"default\"] */ .Z)(range)) {\n return;\n }\n var delta = new Array(rows).fill(0).reduce(function (memo) {\n var rowId = (0,_formats_table__WEBPACK_IMPORTED_MODULE_4__/* .tableId */ .Lv)();\n new Array(columns).fill('\\n').forEach(function (text) {\n memo.insert(text, {\n tableCellLine: {\n row: rowId,\n cell: (0,_formats_table__WEBPACK_IMPORTED_MODULE_4__/* .tableId */ .Lv)()\n }\n });\n });\n return memo;\n }, new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())().retain(range.index));\n this.quill.updateContents(delta, _core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].sources.USER */ .ZP.sources.USER);\n this.quill.setSelection(range.index, _core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].sources.SILENT */ .ZP.sources.SILENT);\n this.balanceTables();\n }\n }, {\n key: \"tableFormats\",\n value: function tableFormats() {\n return this.tableBlots;\n }\n }, {\n key: \"listenBalanceCells\",\n value: function listenBalanceCells() {\n var _this4 = this;\n this.quill.on(_core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].events.SCROLL_OPTIMIZE */ .ZP.events.SCROLL_OPTIMIZE, function (mutations) {\n mutations.some(function (mutation) {\n if (['TD', 'TH', 'TR', 'TBODY', 'THEAD', 'TABLE'].indexOf(mutation.target.tagName) !== -1) {\n _this4.quill.once(_core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].events.TEXT_CHANGE */ .ZP.events.TEXT_CHANGE, function (delta, old, source) {\n if (source !== _core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].sources.USER */ .ZP.sources.USER) return;\n _this4.balanceTables();\n });\n return true;\n }\n return false;\n });\n });\n this.quill.on(_core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].events.CONTENT_SETTED */ .ZP.events.CONTENT_SETTED, function () {\n _this4.quill.once(_core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].events.TEXT_CHANGE */ .ZP.events.TEXT_CHANGE, function () {\n _this4.balanceTables();\n });\n });\n }\n }], [{\n key: \"register\",\n value: function register() {\n _core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].register */ .ZP.register(_formats_table__WEBPACK_IMPORTED_MODULE_4__/* .CellLine */ .zW, true);\n _core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].register */ .ZP.register(_formats_table__WEBPACK_IMPORTED_MODULE_4__/* .HeaderCellLine */ .iD, true);\n _core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].register */ .ZP.register(_formats_table__WEBPACK_IMPORTED_MODULE_4__/* .TableHeaderCell */ .xs, true);\n _core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].register */ .ZP.register(_formats_table__WEBPACK_IMPORTED_MODULE_4__/* .TableCell */ .pj, true);\n _core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].register */ .ZP.register(_formats_table__WEBPACK_IMPORTED_MODULE_4__/* .TableHeaderRow */ .KA, true);\n _core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].register */ .ZP.register(_formats_table__WEBPACK_IMPORTED_MODULE_4__/* .TableRow */ .SC, true);\n _core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].register */ .ZP.register(_formats_table__WEBPACK_IMPORTED_MODULE_4__/* .TableBody */ .RM, true);\n _core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].register */ .ZP.register(_formats_table__WEBPACK_IMPORTED_MODULE_4__/* .TableHeader */ .xD, true);\n _core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].register */ .ZP.register(_formats_table__WEBPACK_IMPORTED_MODULE_4__/* .TableContainer */ .xJ, true);\n [_formats_table_attributors_table__WEBPACK_IMPORTED_MODULE_8__/* .TABLE_FORMATS */ .li, _formats_table_attributors_cell__WEBPACK_IMPORTED_MODULE_9__/* .CELL_FORMATS */ .Du].forEach(function (formats) {\n Object.keys(formats).forEach(function (name) {\n _core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].register */ .ZP.register(_defineProperty({}, \"formats/\".concat(name), formats[name]), true);\n });\n });\n }\n }]);\n return Table;\n}(_core_module__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"] */ .Z);\nTable.keyboardBindings = {\n 'table backspace': {\n key: 'backspace',\n format: ['tableCellLine', 'tableHeaderCellLine'],\n collapsed: true,\n offset: 0,\n handler: function handler(range) {\n var _this$quill$getLine3 = this.quill.getLine(range.index),\n _this$quill$getLine4 = _slicedToArray(_this$quill$getLine3, 1),\n line = _this$quill$getLine4[0];\n if (!line.prev || ['tableCellLine', 'tableHeaderCellLine'].indexOf(line.prev.statics.blotName) === -1) {\n return false;\n }\n return true;\n }\n },\n 'table delete': {\n key: 'del',\n format: ['tableCellLine', 'tableHeaderCellLine'],\n collapsed: true,\n suffix: /^$/,\n handler: function handler() {}\n },\n 'table enter': {\n key: 'enter',\n shiftKey: null,\n format: ['tableCellLine', 'tableHeaderCellLine'],\n handler: function handler(range, context) {\n var _this$quill$selection,\n _this$quill$selection2,\n _this5 = this;\n var module = this.quill.getModule('table');\n if (!module) {\n return;\n }\n var quill = this.quill;\n var _module$getTable = module.getTable(range),\n _module$getTable2 = _slicedToArray(_module$getTable, 1),\n table = _module$getTable2[0];\n var isCaretPositionAfterTable = ((_this$quill$selection = this.quill.selection) === null || _this$quill$selection === void 0 ? void 0 : _this$quill$selection.lastNative.native.endContainer.nodeType) === ELEMENT_NODE;\n if (isCaretPositionAfterTable) {\n var index = table.offset();\n (0,_utils_insert_pr_above__WEBPACK_IMPORTED_MODULE_10__/* [\"default\"] */ .Z)({\n quill: quill,\n index: index,\n table: table\n });\n return;\n }\n if ((_this$quill$selection2 = this.quill.selection) !== null && _this$quill$selection2 !== void 0 && _this$quill$selection2.composing) return;\n if (range.length > 0) {\n this.quill.scroll.deleteAt(range.index, range.length);\n }\n var lineFormats = Object.keys(context.format).reduce(function (formats, format) {\n if (_this5.quill.scroll.query(format, parchment__WEBPACK_IMPORTED_MODULE_1__.Scope.BLOCK) && !Array.isArray(context.format[format])) {\n formats[format] = context.format[format];\n }\n return formats;\n }, {});\n this.quill.insertText(range.index, '\\n', lineFormats.tableCellLine, _core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].sources.USER */ .ZP.sources.USER);\n this.quill.setSelection(range.index + 1, _core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].sources.SILENT */ .ZP.sources.SILENT);\n this.quill.focus();\n Object.keys(context.format).forEach(function (name) {\n if (lineFormats[name] != null) return;\n if (Array.isArray(context.format[name])) return;\n if (name === 'link') return;\n _this5.quill.format(name, context.format[name], _core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].sources.USER */ .ZP.sources.USER);\n });\n }\n },\n 'table tab': {\n key: 'tab',\n shiftKey: null,\n format: ['tableCellLine', 'tableHeaderCellLine'],\n handler: function handler(range, context) {\n var event = context.event,\n cell = context.line;\n var offset = cell.offset(this.quill.scroll);\n if (event.shiftKey) {\n this.quill.setSelection(offset - 1, _core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].sources.USER */ .ZP.sources.USER);\n } else {\n this.quill.setSelection(offset + cell.length(), _core_quill__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].sources.USER */ .ZP.sources.USER);\n }\n }\n },\n 'table down': (0,_utils_make_table_arrow_handler__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z)(false, ['tableCellLine', 'tableHeaderCellLine']),\n 'table up': (0,_utils_make_table_arrow_handler__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z)(true, ['tableCellLine', 'tableHeaderCellLine'])\n};\nfunction matchCell(node, delta) {\n var row = node.parentNode;\n var table = row.parentNode.tagName === 'TABLE' ? row.parentNode : row.parentNode.parentNode;\n var isHeaderRow = row.parentNode.tagName === 'THEAD' ? true : null;\n var rows = Array.from(table.querySelectorAll('tr'));\n var cells = Array.from(row.querySelectorAll('th,td'));\n var rowId = rows.indexOf(row) + 1;\n var cellId = cells.indexOf(node) + 1;\n var cellLineBlotName = isHeaderRow ? 'tableHeaderCellLine' : 'tableCellLine';\n if (delta.length() === 0) {\n delta = new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())().insert('\\n', _defineProperty({}, cellLineBlotName, {\n row: rowId,\n cell: cellId\n }));\n return delta;\n }\n if (!(0,_clipboard__WEBPACK_IMPORTED_MODULE_5__/* .deltaEndsWith */ .PF)(delta, '\\n')) {\n delta.insert('\\n');\n }\n return (0,_clipboard__WEBPACK_IMPORTED_MODULE_5__/* .applyFormat */ .HI)(delta, cellLineBlotName, {\n row: rowId,\n cell: cellId\n });\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Table);\n\n/***/ }),\n\n/***/ 6054:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"Z\": () => (/* binding */ lite)\n});\n\n// EXTERNAL MODULE: ./node_modules/quill-delta/dist/Delta.js\nvar Delta = __webpack_require__(9098);\nvar Delta_default = /*#__PURE__*/__webpack_require__.n(Delta);\n// EXTERNAL MODULE: ./core/quill.js\nvar core_quill = __webpack_require__(281);\n// EXTERNAL MODULE: ./core/module.js\nvar core_module = __webpack_require__(7094);\n// EXTERNAL MODULE: ./blots/block.js + 1 modules\nvar block = __webpack_require__(6446);\n// EXTERNAL MODULE: ./blots/container.js\nvar container = __webpack_require__(3553);\n// EXTERNAL MODULE: ./utils/is_defined.js\nvar is_defined = __webpack_require__(5874);\n// EXTERNAL MODULE: ./formats/table/attributors/table.js\nvar table = __webpack_require__(319);\n// EXTERNAL MODULE: ./formats/table/get_id.js\nvar get_id = __webpack_require__(8536);\n// EXTERNAL MODULE: ./formats/table/toggle_attribute.js\nvar toggle_attribute = __webpack_require__(2795);\n;// CONCATENATED MODULE: ./formats/table/lite.js\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\nvar TABLE_TAGS = (/* unused pure expression or super */ null && (['TD', 'TH', 'TR', 'TBODY', 'THEAD', 'TABLE']));\nvar DATA_PREFIX = 'data-tablelite-';\nvar BaseCell = /*#__PURE__*/function (_Block) {\n _inherits(BaseCell, _Block);\n var _super = _createSuper(BaseCell);\n function BaseCell() {\n _classCallCheck(this, BaseCell);\n return _super.apply(this, arguments);\n }\n _createClass(BaseCell, [{\n key: \"format\",\n value: function format(name, value) {\n if (table/* TABLE_FORMATS */.li[name]) {\n var _this$row;\n var attrName = \"data-\".concat(name.toLowerCase());\n (0,toggle_attribute/* default */.Z)(this.domNode, attrName, value);\n (_this$row = this.row()) === null || _this$row === void 0 || (_this$row = _this$row.table()) === null || _this$row === void 0 || _this$row.format(name, value);\n } else {\n _get(_getPrototypeOf(BaseCell.prototype), \"format\", this).call(this, name, value);\n }\n }\n }, {\n key: \"cellOffset\",\n value: function cellOffset() {\n if (this.parent) {\n return this.parent.children.indexOf(this);\n }\n return -1;\n }\n }, {\n key: \"row\",\n value: function row() {\n return 'table' in this.parent ? this.parent : null;\n }\n }, {\n key: \"rowOffset\",\n value: function rowOffset() {\n if (this.row()) {\n return this.row().rowOffset();\n }\n return -1;\n }\n }, {\n key: \"table\",\n value: function table() {\n var _this$row2;\n return (_this$row2 = this.row()) === null || _this$row2 === void 0 ? void 0 : _this$row2.table();\n }\n }], [{\n key: \"create\",\n value: function create(value) {\n var node = _get(_getPrototypeOf(BaseCell), \"create\", this).call(this);\n var attrName = this.dataAttribute;\n (0,toggle_attribute/* default */.Z)(node, attrName, value !== null && value !== void 0 ? value : tableId());\n return node;\n }\n }, {\n key: \"formats\",\n value: function formats(domNode) {\n var attrName = this.dataAttribute;\n if (domNode.hasAttribute(attrName)) {\n return domNode.getAttribute(attrName);\n }\n return undefined;\n }\n }]);\n return BaseCell;\n}(block/* default */.ZP);\nBaseCell.tagName = ['TD', 'TH'];\nvar TableCell = /*#__PURE__*/function (_BaseCell) {\n _inherits(TableCell, _BaseCell);\n var _super2 = _createSuper(TableCell);\n function TableCell() {\n _classCallCheck(this, TableCell);\n return _super2.apply(this, arguments);\n }\n _createClass(TableCell, [{\n key: \"format\",\n value: function format(name, value) {\n if (name === TableCell.blotName && value) {\n this.domNode.setAttribute(TableCell.dataAttribute, value);\n } else {\n _get(_getPrototypeOf(TableCell.prototype), \"format\", this).call(this, name, value);\n }\n }\n }]);\n return TableCell;\n}(BaseCell);\nTableCell.blotName = 'table';\nTableCell.dataAttribute = \"\".concat(DATA_PREFIX, \"row\");\nvar TableHeaderCell = /*#__PURE__*/function (_BaseCell2) {\n _inherits(TableHeaderCell, _BaseCell2);\n var _super3 = _createSuper(TableHeaderCell);\n function TableHeaderCell() {\n _classCallCheck(this, TableHeaderCell);\n return _super3.apply(this, arguments);\n }\n _createClass(TableHeaderCell, [{\n key: \"format\",\n value: function format(name, value) {\n if (name === TableHeaderCell.blotName && value) {\n this.domNode.setAttribute(TableHeaderCell.dataAttribute, value);\n } else {\n _get(_getPrototypeOf(TableHeaderCell.prototype), \"format\", this).call(this, name, value);\n }\n }\n }]);\n return TableHeaderCell;\n}(BaseCell);\nTableHeaderCell.tagName = ['TH', 'TD'];\nTableHeaderCell.blotName = 'tableHeaderCell';\nTableHeaderCell.dataAttribute = \"\".concat(DATA_PREFIX, \"header-row\");\nvar BaseRow = /*#__PURE__*/function (_Container) {\n _inherits(BaseRow, _Container);\n var _super4 = _createSuper(BaseRow);\n function BaseRow() {\n _classCallCheck(this, BaseRow);\n return _super4.apply(this, arguments);\n }\n _createClass(BaseRow, [{\n key: \"checkMerge\",\n value: function checkMerge() {\n if (_get(_getPrototypeOf(BaseRow.prototype), \"checkMerge\", this).call(this) && (0,is_defined/* default */.Z)(this.next.children.head)) {\n var formatName = this.childFormatName;\n var thisHead = this.children.head.formats();\n var thisTail = this.children.tail.formats();\n var nextHead = this.next.children.head.formats();\n var nextTail = this.next.children.tail.formats();\n return thisHead[formatName] === thisTail[formatName] && thisHead[formatName] === nextHead[formatName] && thisHead[formatName] === nextTail[formatName];\n }\n return false;\n }\n }, {\n key: \"optimize\",\n value: function optimize() {\n var _get2,\n _this = this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n (_get2 = _get(_getPrototypeOf(BaseRow.prototype), \"optimize\", this)).call.apply(_get2, [this].concat(args));\n var formatName = this.childFormatName;\n this.children.forEach(function (child) {\n if (!(0,is_defined/* default */.Z)(child.next)) {\n return;\n }\n var childFormats = child.formats();\n var nextFormats = child.next.formats();\n if (childFormats[formatName] !== nextFormats[formatName]) {\n var next = _this.splitAfter(child);\n if (next) {\n next.optimize();\n }\n // We might be able to merge with prev now\n if (_this.prev) {\n _this.prev.optimize();\n }\n }\n });\n }\n }, {\n key: \"rowOffset\",\n value: function rowOffset() {\n if (this.parent) {\n return this.parent.children.indexOf(this);\n }\n return -1;\n }\n }, {\n key: \"table\",\n value: function table() {\n var _this$parent;\n return (_this$parent = this.parent) === null || _this$parent === void 0 ? void 0 : _this$parent.parent;\n }\n }]);\n return BaseRow;\n}(container/* default */.Z);\nBaseRow.tagName = 'TR';\nvar TableRow = /*#__PURE__*/function (_BaseRow) {\n _inherits(TableRow, _BaseRow);\n var _super5 = _createSuper(TableRow);\n function TableRow(scroll, domNode) {\n var _this2;\n _classCallCheck(this, TableRow);\n _this2 = _super5.call(this, scroll, domNode);\n _this2.childFormatName = 'table';\n return _this2;\n }\n return _createClass(TableRow);\n}(BaseRow);\nTableRow.blotName = 'tableRow';\nvar TableHeaderRow = /*#__PURE__*/function (_BaseRow2) {\n _inherits(TableHeaderRow, _BaseRow2);\n var _super6 = _createSuper(TableHeaderRow);\n function TableHeaderRow(scroll, domNode) {\n var _this3;\n _classCallCheck(this, TableHeaderRow);\n _this3 = _super6.call(this, scroll, domNode);\n _this3.childFormatName = 'tableHeaderCell';\n return _this3;\n }\n return _createClass(TableHeaderRow);\n}(BaseRow);\nTableHeaderRow.blotName = 'tableHeaderRow';\nvar RowContainer = /*#__PURE__*/function (_Container2) {\n _inherits(RowContainer, _Container2);\n var _super7 = _createSuper(RowContainer);\n function RowContainer() {\n _classCallCheck(this, RowContainer);\n return _super7.apply(this, arguments);\n }\n _createClass(RowContainer, [{\n key: \"optimize\",\n value: function optimize() {\n var _get3;\n if (this.statics.requiredContainer && !(this.parent instanceof this.statics.requiredContainer)) {\n var domNode = this.children.head.children.head.domNode;\n var formats = {};\n Object.keys(table/* TABLE_FORMATS */.li).forEach(function (format) {\n var value = domNode.dataset[format.toLowerCase()];\n if (value) {\n formats[format] = value;\n }\n });\n this.wrap(this.statics.requiredContainer.blotName, formats);\n }\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n (_get3 = _get(_getPrototypeOf(RowContainer.prototype), \"optimize\", this)).call.apply(_get3, [this].concat(args));\n }\n }]);\n return RowContainer;\n}(container/* default */.Z);\nvar TableBody = /*#__PURE__*/function (_RowContainer) {\n _inherits(TableBody, _RowContainer);\n var _super8 = _createSuper(TableBody);\n function TableBody() {\n _classCallCheck(this, TableBody);\n return _super8.apply(this, arguments);\n }\n return _createClass(TableBody);\n}(RowContainer);\nTableBody.blotName = 'tableBody';\nTableBody.tagName = ['TBODY'];\nvar TableHeader = /*#__PURE__*/function (_RowContainer2) {\n _inherits(TableHeader, _RowContainer2);\n var _super9 = _createSuper(TableHeader);\n function TableHeader() {\n _classCallCheck(this, TableHeader);\n return _super9.apply(this, arguments);\n }\n return _createClass(TableHeader);\n}(RowContainer);\nTableHeader.blotName = 'tableHeader';\nTableHeader.tagName = ['THEAD'];\nvar TableContainer = /*#__PURE__*/function (_Container3) {\n _inherits(TableContainer, _Container3);\n var _super10 = _createSuper(TableContainer);\n function TableContainer() {\n _classCallCheck(this, TableContainer);\n return _super10.apply(this, arguments);\n }\n _createClass(TableContainer, [{\n key: \"balanceCells\",\n value: function balanceCells() {\n var headerRows = this.descendants(TableHeaderRow);\n var bodyRows = this.descendants(TableRow);\n var maxColCount = this.getMaxTableColCount(headerRows, bodyRows);\n this.balanceRows(maxColCount, headerRows, TableHeaderCell);\n this.balanceRows(maxColCount, bodyRows, TableCell);\n }\n }, {\n key: \"getMaxTableColCount\",\n value: function getMaxTableColCount(headerRows, bodyRows) {\n return Math.max(this.getMaxRowColCount(headerRows), this.getMaxRowColCount(bodyRows));\n }\n }, {\n key: \"getMaxRowColCount\",\n value: function getMaxRowColCount(rows) {\n return Math.max.apply(Math, _toConsumableArray(rows.map(function (row) {\n return row.children.length;\n })));\n }\n }, {\n key: \"balanceRows\",\n value: function balanceRows(maxColCount, rows, CellClass) {\n var _this4 = this;\n rows.forEach(function (row) {\n new Array(maxColCount - row.children.length).fill(0).forEach(function () {\n var value;\n if ((0,is_defined/* default */.Z)(row.children.head)) {\n value = CellClass.formats(row.children.head.domNode);\n }\n var blot = _this4.scroll.create(CellClass.blotName, value);\n row.appendChild(blot);\n blot.optimize(); // Add break blot\n });\n });\n }\n }, {\n key: \"cells\",\n value: function cells(column) {\n return this.rows().map(function (row) {\n return row.children.at(column);\n });\n }\n }, {\n key: \"deleteColumn\",\n value: function deleteColumn(index) {\n var _this5 = this;\n [TableHeader, TableBody].forEach(function (blot) {\n var _this5$descendants = _this5.descendants(blot),\n _this5$descendants2 = _slicedToArray(_this5$descendants, 1),\n tablePart = _this5$descendants2[0];\n if (!(0,is_defined/* default */.Z)(tablePart) || !(0,is_defined/* default */.Z)(tablePart.children.head)) {\n return;\n }\n tablePart.children.forEach(function (row) {\n var cell = row.children.at(index);\n if ((0,is_defined/* default */.Z)(cell)) {\n cell.remove();\n }\n });\n });\n }\n }, {\n key: \"insertColumn\",\n value: function insertColumn(index) {\n var _this6 = this;\n [TableHeader, TableBody].forEach(function (blot) {\n var _this6$descendants = _this6.descendants(blot),\n _this6$descendants2 = _slicedToArray(_this6$descendants, 1),\n tablePart = _this6$descendants2[0];\n if (!(0,is_defined/* default */.Z)(tablePart) || !(0,is_defined/* default */.Z)(tablePart.children.head)) {\n return;\n }\n var CellBlot = blot === TableHeader ? TableHeaderCell : TableCell;\n tablePart.children.forEach(function (row) {\n var ref = row.children.at(index);\n var value = CellBlot.formats(row.children.head.domNode);\n var cell = _this6.scroll.create(CellBlot.blotName, value);\n row.insertBefore(cell, ref);\n });\n });\n }\n }, {\n key: \"insertRow\",\n value: function insertRow(index) {\n var _this7 = this;\n var _this$descendants = this.descendants(TableBody),\n _this$descendants2 = _slicedToArray(_this$descendants, 1),\n body = _this$descendants2[0];\n if (!(0,is_defined/* default */.Z)(body) || !(0,is_defined/* default */.Z)(body.children.head)) {\n return;\n }\n var id = tableId();\n var row = this.scroll.create(TableRow.blotName);\n body.children.head.children.forEach(function () {\n var cell = _this7.scroll.create(TableCell.blotName, id);\n row.appendChild(cell);\n });\n var ref = body.children.at(index);\n body.insertBefore(row, ref);\n }\n }, {\n key: \"insertHeaderRow\",\n value: function insertHeaderRow() {\n var _this8 = this;\n var _this$descendants3 = this.descendants(TableHeader),\n _this$descendants4 = _slicedToArray(_this$descendants3, 1),\n header = _this$descendants4[0];\n var _this$descendants5 = this.descendants(TableBody),\n _this$descendants6 = _slicedToArray(_this$descendants5, 1),\n body = _this$descendants6[0];\n if ((0,is_defined/* default */.Z)(header) || !(0,is_defined/* default */.Z)(body) || !(0,is_defined/* default */.Z)(body.children.head)) {\n return;\n }\n var id = tableId();\n var newHeader = this.scroll.create(TableHeader.blotName);\n var row = this.scroll.create(TableHeaderRow.blotName);\n var ref = this.children.at(0);\n newHeader.appendChild(row);\n body.children.head.children.forEach(function () {\n var cell = _this8.scroll.create(TableHeaderCell.blotName, id);\n row.appendChild(cell);\n cell.optimize();\n });\n this.insertBefore(newHeader, ref);\n }\n }, {\n key: \"rows\",\n value: function rows() {\n var body = this.children.head;\n return (0,is_defined/* default */.Z)(body) ? body.children.map(function (row) {\n return row;\n }) : [];\n }\n }, {\n key: \"formats\",\n value: function formats() {\n var formats = {};\n var childElem = this.cells()[0].domNode;\n Object.keys(table/* TABLE_FORMATS */.li).forEach(function (format) {\n var value = childElem.dataset[format.toLowerCase()];\n if (value) {\n formats[format] = value;\n }\n });\n return formats;\n }\n }, {\n key: \"format\",\n value: function format(name, value) {\n var tableFormat = table/* TABLE_FORMATS */.li[name];\n if (tableFormat) {\n var attrName = \"data-\".concat(name.toLowerCase());\n this.cells().forEach(function (cell) {\n (0,toggle_attribute/* default */.Z)(cell.domNode, attrName, value);\n });\n tableFormat.add(this.domNode, value);\n }\n }\n }], [{\n key: \"create\",\n value: function create(value) {\n var node = _get(_getPrototypeOf(TableContainer), \"create\", this).call(this, value);\n if (value) {\n Object.keys(value).forEach(function (format) {\n var _TABLE_FORMATS$format;\n (_TABLE_FORMATS$format = table/* TABLE_FORMATS */.li[format]) === null || _TABLE_FORMATS$format === void 0 || _TABLE_FORMATS$format.add(node, value[format]);\n });\n }\n return node;\n }\n }]);\n return TableContainer;\n}(container/* default */.Z);\nTableContainer.blotName = 'tableContainer';\nTableContainer.tagName = 'TABLE';\nTableContainer.allowedChildren = [TableHeader, TableBody];\nTableBody.requiredContainer = TableContainer;\nTableHeader.requiredContainer = TableContainer;\nTableBody.allowedChildren = [TableRow];\nTableRow.requiredContainer = TableBody;\nTableRow.allowedChildren = [TableCell];\nTableCell.requiredContainer = TableRow;\nTableHeader.allowedChildren = [TableHeaderRow];\nTableHeaderRow.requiredContainer = TableHeader;\nTableHeaderRow.allowedChildren = [TableHeaderCell];\nTableHeaderCell.requiredContainer = TableHeaderRow;\nfunction tableId() {\n return \"row-\".concat((0,get_id/* default */.Z)());\n}\n\n// EXTERNAL MODULE: ./modules/clipboard.js\nvar clipboard = __webpack_require__(5635);\n// EXTERNAL MODULE: ./modules/table/utils/make_table_arrow_handler.js\nvar make_table_arrow_handler = __webpack_require__(9466);\n;// CONCATENATED MODULE: ./modules/table/utils/insert_pr_below.js\n\n\nfunction insertParagraphAbove(_ref) {\n var quill = _ref.quill,\n index = _ref.index,\n range = _ref.range;\n var insertIndex = index - 1;\n var delta = new (Delta_default())().retain(insertIndex).insert('\\n');\n quill.updateContents(delta, core_quill/* default.sources.USER */.ZP.sources.USER);\n quill.setSelection(range.index + 1, range.length, core_quill/* default.sources.SILENT */.ZP.sources.SILENT);\n}\n// EXTERNAL MODULE: ./modules/table/utils/insert_pr_above.js\nvar insert_pr_above = __webpack_require__(2480);\n;// CONCATENATED MODULE: ./modules/table/utils/table_side.js\nfunction tableSide(row, cell, offset) {\n if (row.prev == null && row.next == null) {\n if (cell.prev == null && cell.next == null) {\n return offset === 0 ? -1 : 1;\n }\n return cell.prev == null ? -1 : 1;\n }\n if (row.prev == null) {\n return -1;\n }\n if (row.next == null) {\n return 1;\n }\n return null;\n}\n// EXTERNAL MODULE: ./modules/table/utils/prepare_attr_matcher.js\nvar prepare_attr_matcher = __webpack_require__(7896);\n// EXTERNAL MODULE: ./formats/table/attributors/cell.js\nvar cell = __webpack_require__(1342);\n;// CONCATENATED MODULE: ./modules/table/lite.js\nfunction lite_typeof(o) { \"@babel/helpers - typeof\"; return lite_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, lite_typeof(o); }\nfunction _defineProperty(obj, key, value) { key = lite_toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction lite_slicedToArray(arr, i) { return lite_arrayWithHoles(arr) || lite_iterableToArrayLimit(arr, i) || lite_unsupportedIterableToArray(arr, i) || lite_nonIterableRest(); }\nfunction lite_nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction lite_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return lite_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return lite_arrayLikeToArray(o, minLen); }\nfunction lite_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction lite_iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction lite_arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction lite_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction lite_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, lite_toPropertyKey(descriptor.key), descriptor); } }\nfunction lite_createClass(Constructor, protoProps, staticProps) { if (protoProps) lite_defineProperties(Constructor.prototype, protoProps); if (staticProps) lite_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction lite_toPropertyKey(arg) { var key = lite_toPrimitive(arg, \"string\"); return lite_typeof(key) === \"symbol\" ? key : String(key); }\nfunction lite_toPrimitive(input, hint) { if (lite_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (lite_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction lite_inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) lite_setPrototypeOf(subClass, superClass); }\nfunction lite_setPrototypeOf(o, p) { lite_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return lite_setPrototypeOf(o, p); }\nfunction lite_createSuper(Derived) { var hasNativeReflectConstruct = lite_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = lite_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = lite_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return lite_possibleConstructorReturn(this, result); }; }\nfunction lite_possibleConstructorReturn(self, call) { if (call && (lite_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return lite_assertThisInitialized(self); }\nfunction lite_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction lite_isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction lite_getPrototypeOf(o) { lite_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return lite_getPrototypeOf(o); }\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar EMPTY_RESULT = [null, null, null, -1];\nvar TableLite = /*#__PURE__*/function (_Module) {\n lite_inherits(TableLite, _Module);\n var _super = lite_createSuper(TableLite);\n function TableLite() {\n var _this;\n lite_classCallCheck(this, TableLite);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _this.tableBlots = [TableCell.blotName, TableHeaderCell.blotName];\n _this.tableBlots.forEach(function (blotName) {\n _this.quill.editor.addImmediateFormat(blotName);\n });\n _this.integrateClipboard();\n _this.addKeyboardHandlers();\n _this.listenBalanceCells();\n return _this;\n }\n lite_createClass(TableLite, [{\n key: \"integrateClipboard\",\n value: function integrateClipboard() {\n var _this2 = this;\n this.tableBlots.forEach(function (blotName) {\n return _this2.quill.clipboard.addTableBlot(blotName);\n });\n this.quill.clipboard.addMatcher('tr', matchTable);\n this.quill.clipboard.addMatcher('table', (0,prepare_attr_matcher/* prepareAttributeMatcher */.F)(table/* TABLE_ATTRIBUTORS */.Zt));\n this.quill.clipboard.addMatcher('td, th', (0,prepare_attr_matcher/* prepareCellAttributeMatcher */.a)(cell/* CELL_ATTRIBUTORS */.h6));\n }\n }, {\n key: \"addKeyboardHandlers\",\n value: function addKeyboardHandlers() {\n var _this3 = this;\n var bindings = TableLite.keyboardBindings;\n Object.keys(bindings).forEach(function (name) {\n if (bindings[name]) {\n _this3.quill.keyboard.addBinding(bindings[name]);\n }\n });\n }\n }, {\n key: \"balanceTables\",\n value: function balanceTables() {\n this.quill.scroll.descendants(TableContainer).forEach(function (table) {\n table.balanceCells();\n });\n }\n }, {\n key: \"deleteColumn\",\n value: function deleteColumn() {\n var _this$getTable = this.getTable(),\n _this$getTable2 = lite_slicedToArray(_this$getTable, 3),\n table = _this$getTable2[0],\n cell = _this$getTable2[2];\n if (!(0,is_defined/* default */.Z)(cell)) {\n return;\n }\n table.deleteColumn(cell.cellOffset());\n this.quill.update(core_quill/* default.sources.USER */.ZP.sources.USER);\n }\n }, {\n key: \"deleteRow\",\n value: function deleteRow() {\n var _this$getTable3 = this.getTable(),\n _this$getTable4 = lite_slicedToArray(_this$getTable3, 2),\n row = _this$getTable4[1];\n if (!(0,is_defined/* default */.Z)(row)) {\n return;\n }\n row.remove();\n this.quill.update(core_quill/* default.sources.USER */.ZP.sources.USER);\n }\n }, {\n key: \"deleteTable\",\n value: function deleteTable() {\n var _this$getTable5 = this.getTable(),\n _this$getTable6 = lite_slicedToArray(_this$getTable5, 1),\n table = _this$getTable6[0];\n if (!(0,is_defined/* default */.Z)(table)) {\n return;\n }\n var offset = table.offset();\n table.remove();\n this.quill.update(core_quill/* default.sources.USER */.ZP.sources.USER);\n this.quill.setSelection(offset, core_quill/* default.sources.SILENT */.ZP.sources.SILENT);\n }\n }, {\n key: \"getTable\",\n value: function getTable() {\n var range = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.quill.getSelection();\n if (!(0,is_defined/* default */.Z)(range)) {\n return EMPTY_RESULT;\n }\n var _this$quill$getLine = this.quill.getLine(range.index),\n _this$quill$getLine2 = lite_slicedToArray(_this$quill$getLine, 2),\n cell = _this$quill$getLine2[0],\n offset = _this$quill$getLine2[1];\n if (!(0,is_defined/* default */.Z)(cell) || this.tableBlots.indexOf(cell.statics.blotName) === -1) {\n return EMPTY_RESULT;\n }\n var row = cell.parent;\n var table = row.parent.parent;\n return [table, row, cell, offset];\n }\n }, {\n key: \"insertColumn\",\n value: function insertColumn(offset) {\n var range = this.quill.getSelection();\n var _this$getTable7 = this.getTable(range),\n _this$getTable8 = lite_slicedToArray(_this$getTable7, 3),\n table = _this$getTable8[0],\n row = _this$getTable8[1],\n cell = _this$getTable8[2];\n if (!(0,is_defined/* default */.Z)(cell)) {\n return;\n }\n var column = cell.cellOffset();\n table.insertColumn(column + offset);\n this.quill.update(core_quill/* default.sources.USER */.ZP.sources.USER);\n var shift = row.rowOffset();\n if (offset === 0) {\n shift += 1;\n }\n this.quill.setSelection(range.index + shift, range.length, core_quill/* default.sources.SILENT */.ZP.sources.SILENT);\n }\n }, {\n key: \"insertColumnLeft\",\n value: function insertColumnLeft() {\n this.insertColumn(0);\n }\n }, {\n key: \"insertColumnRight\",\n value: function insertColumnRight() {\n this.insertColumn(1);\n }\n }, {\n key: \"insertRow\",\n value: function insertRow(offset) {\n var range = this.quill.getSelection();\n var _this$getTable9 = this.getTable(range),\n _this$getTable10 = lite_slicedToArray(_this$getTable9, 3),\n table = _this$getTable10[0],\n row = _this$getTable10[1],\n cell = _this$getTable10[2];\n if (!(0,is_defined/* default */.Z)(cell)) {\n return;\n }\n var index = row.rowOffset();\n table.insertRow(index + offset);\n this.quill.update(core_quill/* default.sources.USER */.ZP.sources.USER);\n if (offset > 0) {\n this.quill.setSelection(range, core_quill/* default.sources.SILENT */.ZP.sources.SILENT);\n } else {\n this.quill.setSelection(range.index + row.children.length, range.length, core_quill/* default.sources.SILENT */.ZP.sources.SILENT);\n }\n }\n }, {\n key: \"insertRowAbove\",\n value: function insertRowAbove() {\n this.insertRow(0);\n }\n }, {\n key: \"insertRowBelow\",\n value: function insertRowBelow() {\n this.insertRow(1);\n }\n }, {\n key: \"insertHeaderRow\",\n value: function insertHeaderRow() {\n var range = this.quill.getSelection();\n var _this$getTable11 = this.getTable(range),\n _this$getTable12 = lite_slicedToArray(_this$getTable11, 3),\n table = _this$getTable12[0],\n cell = _this$getTable12[2];\n if (!(0,is_defined/* default */.Z)(cell)) {\n return;\n }\n table.insertHeaderRow();\n this.quill.update(core_quill/* default.sources.USER */.ZP.sources.USER);\n }\n }, {\n key: \"insertTable\",\n value: function insertTable(rows, columns) {\n var range = this.quill.getSelection();\n if (!(0,is_defined/* default */.Z)(range)) {\n return;\n }\n var delta = new Array(rows).fill(0).reduce(function (memo) {\n var text = new Array(columns).fill('\\n').join('');\n return memo.insert(text, {\n table: tableId()\n });\n }, new (Delta_default())().retain(range.index));\n this.quill.updateContents(delta, core_quill/* default.sources.USER */.ZP.sources.USER);\n this.quill.setSelection(range.index, core_quill/* default.sources.SILENT */.ZP.sources.SILENT);\n this.balanceTables();\n }\n }, {\n key: \"tableFormats\",\n value: function tableFormats() {\n return this.tableBlots;\n }\n }, {\n key: \"listenBalanceCells\",\n value: function listenBalanceCells() {\n var _this4 = this;\n this.quill.on(core_quill/* default.events.SCROLL_OPTIMIZE */.ZP.events.SCROLL_OPTIMIZE, function (mutations) {\n mutations.some(function (mutation) {\n if (['TD', 'TH', 'TR', 'TBODY', 'THEAD', 'TABLE'].indexOf(mutation.target.tagName) !== -1) {\n _this4.quill.once(core_quill/* default.events.TEXT_CHANGE */.ZP.events.TEXT_CHANGE, function (delta, old, source) {\n if (source !== core_quill/* default.sources.USER */.ZP.sources.USER) return;\n _this4.balanceTables();\n });\n return true;\n }\n return false;\n });\n });\n this.quill.on(core_quill/* default.events.CONTENT_SETTED */.ZP.events.CONTENT_SETTED, function () {\n _this4.quill.once(core_quill/* default.events.TEXT_CHANGE */.ZP.events.TEXT_CHANGE, function () {\n _this4.balanceTables();\n });\n });\n }\n }], [{\n key: \"register\",\n value: function register() {\n core_quill/* default.register */.ZP.register(TableHeaderCell, true);\n core_quill/* default.register */.ZP.register(TableCell, true);\n core_quill/* default.register */.ZP.register(TableHeaderRow, true);\n core_quill/* default.register */.ZP.register(TableRow, true);\n core_quill/* default.register */.ZP.register(TableBody, true);\n core_quill/* default.register */.ZP.register(TableHeader, true);\n core_quill/* default.register */.ZP.register(TableContainer, true);\n [table/* TABLE_FORMATS */.li, cell/* CELL_FORMATS */.Du].forEach(function (formats) {\n Object.keys(formats).forEach(function (name) {\n core_quill/* default.register */.ZP.register(_defineProperty({}, \"formats/\".concat(name), formats[name]), true);\n });\n });\n }\n }]);\n return TableLite;\n}(core_module/* default */.Z);\nTableLite.keyboardBindings = {\n 'table backspace': {\n key: 'backspace',\n format: ['table', 'tableHeaderCell'],\n collapsed: true,\n offset: 0,\n handler: function handler() {}\n },\n 'table delete': {\n key: 'del',\n format: ['table', 'tableHeaderCell'],\n collapsed: true,\n suffix: /^$/,\n handler: function handler() {}\n },\n 'table enter': {\n key: 'enter',\n shiftKey: null,\n format: ['table'],\n handler: function handler(range) {\n var module = this.quill.getModule('table');\n if (module) {\n var quill = this.quill;\n var _module$getTable = module.getTable(range),\n _module$getTable2 = lite_slicedToArray(_module$getTable, 4),\n table = _module$getTable2[0],\n row = _module$getTable2[1],\n cell = _module$getTable2[2],\n offset = _module$getTable2[3];\n var shift = tableSide(row, cell, offset);\n var hasHead = table.children.length > 1 && table.children.head;\n if (shift == null || shift < 0 && hasHead) {\n return;\n }\n var index = table.offset();\n if (shift < 0) {\n insertParagraphAbove({\n quill: quill,\n index: index,\n range: range\n });\n } else {\n (0,insert_pr_above/* default */.Z)({\n quill: quill,\n index: index,\n table: table\n });\n }\n }\n }\n },\n 'table header enter': {\n key: 'enter',\n shiftKey: null,\n format: ['tableHeaderCell'],\n handler: function handler(range) {\n var module = this.quill.getModule('table');\n if (module) {\n var quill = this.quill;\n var _module$getTable3 = module.getTable(range),\n _module$getTable4 = lite_slicedToArray(_module$getTable3, 4),\n table = _module$getTable4[0],\n row = _module$getTable4[1],\n cell = _module$getTable4[2],\n offset = _module$getTable4[3];\n var shift = tableSide(row, cell, offset);\n if (shift == null) {\n return;\n }\n var index = table.offset();\n var hasBody = table.children.length > 1 && table.children.tail;\n if (shift < 0 || shift > 0 && hasBody) {\n insertParagraphAbove({\n quill: quill,\n index: index,\n range: range\n });\n } else {\n (0,insert_pr_above/* default */.Z)({\n quill: quill,\n index: index,\n table: table\n });\n }\n }\n }\n },\n 'table tab': {\n key: 'tab',\n shiftKey: null,\n format: ['table', 'tableHeaderCell'],\n handler: function handler(range, context) {\n var event = context.event,\n cell = context.line;\n var offset = cell.offset(this.quill.scroll);\n if (event.shiftKey) {\n this.quill.setSelection(offset - 1, core_quill/* default.sources.USER */.ZP.sources.USER);\n } else {\n this.quill.setSelection(offset + cell.length(), core_quill/* default.sources.USER */.ZP.sources.USER);\n }\n }\n },\n 'table down': (0,make_table_arrow_handler/* default */.Z)(false, ['table', 'tableHeaderCell']),\n 'table up': (0,make_table_arrow_handler/* default */.Z)(true, ['table', 'tableHeaderCell'])\n};\nfunction matchTable(node, delta) {\n var table = node.parentNode.tagName === 'TABLE' ? node.parentNode : node.parentNode.parentNode;\n var isHeaderRow = node.parentNode.tagName === 'THEAD' ? true : null;\n var rows = Array.from(table.querySelectorAll('tr'));\n var row = rows.indexOf(node) + 1;\n return (0,clipboard/* applyFormat */.HI)(delta, isHeaderRow ? 'tableHeaderCell' : 'table', row);\n}\n/* harmony default export */ const lite = (TableLite);\n\n/***/ }),\n\n/***/ 2480:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": () => (/* binding */ insertParagraphBelow)\n/* harmony export */ });\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9098);\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _core_quill__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(281);\n\n\nfunction insertParagraphBelow(_ref) {\n var quill = _ref.quill,\n index = _ref.index,\n table = _ref.table;\n var insertIndex = index + table.length();\n var delta = new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())().retain(insertIndex).insert('\\n');\n quill.updateContents(delta, _core_quill__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"].sources.USER */ .ZP.sources.USER);\n quill.setSelection(insertIndex, _core_quill__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"].sources.USER */ .ZP.sources.USER);\n}\n\n/***/ }),\n\n/***/ 9466:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": () => (/* binding */ makeTableArrowHandler)\n/* harmony export */ });\n/* harmony import */ var _core_quill__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(281);\n\nfunction makeTableArrowHandler(up, formats) {\n return {\n key: up ? 'upArrow' : 'downArrow',\n collapsed: true,\n format: formats,\n handler: function handler(range, context) {\n var key = up ? 'prev' : 'next';\n var line = context.line;\n var cell = line.statics.blotName.indexOf('Line') > -1 ? line.parent : line;\n var targetTablePart = cell.parent.parent[key];\n var targetRow = cell.parent[key] || (targetTablePart === null || targetTablePart === void 0 ? void 0 : targetTablePart.children.head);\n if (targetRow != null) {\n if (targetRow.statics.blotName === 'tableRow' || targetRow.statics.blotName === 'tableHeaderRow') {\n var targetCell = targetRow.children.head;\n var cur = cell;\n while (cur.prev != null) {\n cur = cur.prev;\n targetCell = targetCell.next;\n }\n var index = targetCell.offset(this.quill.scroll) + Math.min(context.offset, targetCell.length() - 1);\n this.quill.setSelection(index, 0, _core_quill__WEBPACK_IMPORTED_MODULE_0__/* [\"default\"].sources.USER */ .ZP.sources.USER);\n }\n } else {\n var targetLine = cell.table()[key];\n if (targetLine != null) {\n if (up) {\n this.quill.setSelection(targetLine.offset(this.quill.scroll) + targetLine.length() - 1, 0, _core_quill__WEBPACK_IMPORTED_MODULE_0__/* [\"default\"].sources.USER */ .ZP.sources.USER);\n } else {\n this.quill.setSelection(targetLine.offset(this.quill.scroll), 0, _core_quill__WEBPACK_IMPORTED_MODULE_0__/* [\"default\"].sources.USER */ .ZP.sources.USER);\n }\n }\n }\n return false;\n }\n };\n}\n\n/***/ }),\n\n/***/ 7896:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"F\": () => (/* binding */ prepareAttributeMatcher),\n/* harmony export */ \"a\": () => (/* binding */ prepareCellAttributeMatcher)\n/* harmony export */ });\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1233);\n/* harmony import */ var _attributors_attributor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1674);\n/* harmony import */ var _attributors_style_attributor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4569);\n/* harmony import */ var _clipboard__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5635);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n\n\n\n\nfunction writeToRecord(record, key, value, override) {\n record[key] = !override && record[key] ? record[key] : value;\n}\nfunction fillFormats(attributes, node, scroll, attributors, result, override) {\n attributes.filter(function (name) {\n return !!name;\n }).forEach(function (name) {\n var queryAttr = scroll.query(name, parchment__WEBPACK_IMPORTED_MODULE_0__.Scope.ATTRIBUTE);\n if (queryAttr !== null) {\n var queryAttrValue = queryAttr.value(node);\n if (queryAttrValue) {\n writeToRecord(result, queryAttr.attrName, queryAttrValue, override);\n return;\n }\n }\n var attr = attributors[name];\n if (attr != null && (attr.attrName === name || attr.keyName === name)) {\n var attrValue = attr.value(node) || undefined;\n writeToRecord(result, attr.attrName, attrValue, override);\n }\n });\n return result;\n}\nfunction prepareAttributeMatcher(attributors) {\n return function (node, delta, scroll) {\n var attributes = _attributors_attributor__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"].keys */ .Z.keys(node);\n var styles = _attributors_style_attributor__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].keys */ .Z.keys(node);\n var formats = _objectSpread(_objectSpread({}, fillFormats(attributes, node, scroll, attributors, {}, true)), fillFormats(styles, node, scroll, attributors, {}, true));\n if (Object.keys(formats).length > 0) {\n return (0,_clipboard__WEBPACK_IMPORTED_MODULE_3__/* .applyFormat */ .HI)(delta, formats);\n }\n return delta;\n };\n}\nfunction prepareCellAttributeMatcher(attributors) {\n return function (node, delta, scroll) {\n var _node$parentNode;\n var attributes = _attributors_attributor__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"].keys */ .Z.keys(node);\n var styles = _attributors_style_attributor__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].keys */ .Z.keys(node);\n var parentTrNode = ((_node$parentNode = node.parentNode) === null || _node$parentNode === void 0 ? void 0 : _node$parentNode.tagName) === 'TR' ? node.parentNode : undefined;\n var formats = _objectSpread(_objectSpread({}, fillFormats(attributes, node, scroll, attributors, {}, true)), fillFormats(styles, node, scroll, attributors, {}, true));\n if (parentTrNode) {\n var parentStyles = _attributors_style_attributor__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"].keys */ .Z.keys(parentTrNode);\n formats = fillFormats(parentStyles, parentTrNode, scroll, attributors, formats, false);\n }\n if (Object.keys(formats).length > 0) {\n return (0,_clipboard__WEBPACK_IMPORTED_MODULE_3__/* .applyFormat */ .HI)(delta, formats);\n }\n return delta;\n };\n}\n\n/***/ }),\n\n/***/ 3859:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9098);\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _core_emitter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2069);\n/* harmony import */ var _core_module__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7094);\n/* harmony import */ var _utils_has_window__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8034);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\nvar Uploader = /*#__PURE__*/function (_Module) {\n _inherits(Uploader, _Module);\n var _super = _createSuper(Uploader);\n function Uploader(quill, options) {\n var _this;\n _classCallCheck(this, Uploader);\n _this = _super.call(this, quill, options);\n _this.preventImageUploading(false);\n _this.addDragOverHandler();\n _this.addDropHandler();\n return _this;\n }\n _createClass(Uploader, [{\n key: \"addDragOverHandler\",\n value: function addDragOverHandler() {\n if ((0,_utils_has_window__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"] */ .Z)()) {\n var ua = window.navigator.userAgent.toLowerCase();\n var isMsIe = ua.indexOf('msie ') !== -1 || ua.indexOf('trident/') !== -1 || ua.indexOf('edge/') !== -1;\n if (isMsIe) {\n this.quill.root.addEventListener('dragover', function (e) {\n e.preventDefault();\n });\n }\n }\n }\n }, {\n key: \"addDropHandler\",\n value: function addDropHandler() {\n var _this2 = this;\n this.quill.root.addEventListener('drop', function (e) {\n var noFiles = e.dataTransfer.files.length === 0;\n var onDrop = _this2.options.onDrop;\n if (onDrop && typeof onDrop === 'function') {\n onDrop(e);\n }\n if (noFiles || _this2.preventImageUpload) {\n return;\n }\n e.preventDefault();\n var native;\n if (document.caretRangeFromPoint) {\n native = document.caretRangeFromPoint(e.clientX, e.clientY);\n } else if (document.caretPositionFromPoint) {\n var position = document.caretPositionFromPoint(e.clientX, e.clientY);\n native = document.createRange();\n native.setStart(position.offsetNode, position.offset);\n native.setEnd(position.offsetNode, position.offset);\n } else {\n return;\n }\n var normalized = _this2.quill.selection.normalizeNative(native);\n var range = _this2.quill.selection.normalizedToRange(normalized);\n _this2.upload(range, e.dataTransfer.files);\n });\n }\n }, {\n key: \"preventImageUploading\",\n value: function preventImageUploading(value) {\n if (typeof value !== 'undefined') {\n this.preventImageUpload = value;\n }\n return this.preventImageUpload;\n }\n }, {\n key: \"upload\",\n value: function upload(range, files, force) {\n var _this3 = this;\n if (this.preventImageUpload && !force) {\n return;\n }\n var uploads = [];\n Array.from(files).forEach(function (file) {\n if (file && _this3.options.mimetypes.indexOf(file.type) !== -1) {\n uploads.push(file);\n }\n });\n if (uploads.length > 0) {\n this.options.handler.call(this, range, uploads, this.options.imageBlot);\n }\n }\n }]);\n return Uploader;\n}(_core_module__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"] */ .Z);\nUploader.DEFAULTS = {\n mimetypes: ['image/png', 'image/jpeg', 'image/pjpeg', 'image/gif', 'image/webp', 'image/bmp', 'image/svg+xml', 'image/vnd.microsoft.icon'],\n imageBlot: 'image',\n handler: function handler(range, files, blotName) {\n var _this4 = this;\n var promises = files.map(function (file) {\n return new Promise(function (resolve) {\n var reader = new FileReader();\n reader.onload = function (e) {\n resolve(e.target.result);\n };\n reader.readAsDataURL(file);\n });\n });\n Promise.all(promises).then(function (images) {\n var update = images.reduce(function (delta, image) {\n return delta.insert(_defineProperty({}, blotName, image));\n }, new (quill_delta__WEBPACK_IMPORTED_MODULE_0___default())().retain(range.index).delete(range.length));\n _this4.quill.updateContents(update, _core_emitter__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"].sources.USER */ .Z.sources.USER);\n _this4.quill.setSelection(range.index + images.length, _core_emitter__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"].sources.SILENT */ .Z.sources.SILENT);\n });\n }\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Uploader);\n\n/***/ }),\n\n/***/ 2141:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": () => (/* binding */ capitalize)\n/* harmony export */ });\nfunction capitalize(text) {\n return text ? text.substring(0, 1).toUpperCase() + text.substring(1) : '';\n}\n\n/***/ }),\n\n/***/ 8034:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nvar hasWindow = function hasWindow() {\n return typeof window !== 'undefined';\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (hasWindow);\n\n/***/ }),\n\n/***/ 5874:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": () => (/* binding */ isDefined)\n/* harmony export */ });\nfunction isDefined(object) {\n return object !== null && object !== undefined;\n}\n\n/***/ }),\n\n/***/ 1233:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"Attributor\": () => (/* reexport */ attributor),\n \"AttributorStore\": () => (/* reexport */ store),\n \"BlockBlot\": () => (/* reexport */ block),\n \"ClassAttributor\": () => (/* reexport */ attributor_class),\n \"ContainerBlot\": () => (/* reexport */ container),\n \"EmbedBlot\": () => (/* reexport */ blot_embed),\n \"InlineBlot\": () => (/* reexport */ inline),\n \"LeafBlot\": () => (/* reexport */ leaf),\n \"ParentBlot\": () => (/* reexport */ abstract_parent),\n \"Registry\": () => (/* reexport */ registry),\n \"Scope\": () => (/* reexport */ src_scope),\n \"ScrollBlot\": () => (/* reexport */ blot_scroll),\n \"StyleAttributor\": () => (/* reexport */ style),\n \"TextBlot\": () => (/* reexport */ blot_text)\n});\n\n;// CONCATENATED MODULE: ./node_modules/parchment/src/scope.ts\nvar Scope;\n(function (Scope) {\n Scope[Scope[\"TYPE\"] = 3] = \"TYPE\";\n Scope[Scope[\"LEVEL\"] = 12] = \"LEVEL\";\n Scope[Scope[\"ATTRIBUTE\"] = 13] = \"ATTRIBUTE\";\n Scope[Scope[\"BLOT\"] = 14] = \"BLOT\";\n Scope[Scope[\"INLINE\"] = 7] = \"INLINE\";\n Scope[Scope[\"BLOCK\"] = 11] = \"BLOCK\";\n Scope[Scope[\"BLOCK_BLOT\"] = 10] = \"BLOCK_BLOT\";\n Scope[Scope[\"INLINE_BLOT\"] = 6] = \"INLINE_BLOT\";\n Scope[Scope[\"BLOCK_ATTRIBUTE\"] = 9] = \"BLOCK_ATTRIBUTE\";\n Scope[Scope[\"INLINE_ATTRIBUTE\"] = 5] = \"INLINE_ATTRIBUTE\";\n Scope[Scope[\"ANY\"] = 15] = \"ANY\";\n})(Scope || (Scope = {}));\n/* harmony default export */ const src_scope = (Scope);\n;// CONCATENATED MODULE: ./node_modules/parchment/src/collection/linked-list.ts\nvar LinkedList = /** @class */function () {\n function LinkedList() {\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n LinkedList.prototype.append = function () {\n var nodes = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n nodes[_i] = arguments[_i];\n }\n this.insertBefore(nodes[0], null);\n if (nodes.length > 1) {\n var rest = nodes.slice(1);\n this.append.apply(this, rest);\n }\n };\n LinkedList.prototype.at = function (index) {\n var next = this.iterator();\n var cur = next();\n while (cur && index > 0) {\n index -= 1;\n cur = next();\n }\n return cur;\n };\n LinkedList.prototype.contains = function (node) {\n var next = this.iterator();\n var cur = next();\n while (cur) {\n if (cur === node) {\n return true;\n }\n cur = next();\n }\n return false;\n };\n LinkedList.prototype.indexOf = function (node) {\n var next = this.iterator();\n var cur = next();\n var index = 0;\n while (cur) {\n if (cur === node) {\n return index;\n }\n index += 1;\n cur = next();\n }\n return -1;\n };\n LinkedList.prototype.insertBefore = function (node, refNode) {\n if (node == null) {\n return;\n }\n this.remove(node);\n node.next = refNode;\n if (refNode != null) {\n node.prev = refNode.prev;\n if (refNode.prev != null) {\n refNode.prev.next = node;\n }\n refNode.prev = node;\n if (refNode === this.head) {\n this.head = node;\n }\n } else if (this.tail != null) {\n this.tail.next = node;\n node.prev = this.tail;\n this.tail = node;\n } else {\n node.prev = null;\n this.head = this.tail = node;\n }\n this.length += 1;\n };\n LinkedList.prototype.offset = function (target) {\n var index = 0;\n var cur = this.head;\n while (cur != null) {\n if (cur === target) {\n return index;\n }\n index += cur.length();\n cur = cur.next;\n }\n return -1;\n };\n LinkedList.prototype.remove = function (node) {\n if (!this.contains(node)) {\n return;\n }\n if (node.prev != null) {\n node.prev.next = node.next;\n }\n if (node.next != null) {\n node.next.prev = node.prev;\n }\n if (node === this.head) {\n this.head = node.next;\n }\n if (node === this.tail) {\n this.tail = node.prev;\n }\n this.length -= 1;\n };\n LinkedList.prototype.iterator = function (curNode) {\n if (curNode === void 0) {\n curNode = this.head;\n }\n // TODO use yield when we can\n return function () {\n var ret = curNode;\n if (curNode != null) {\n curNode = curNode.next;\n }\n return ret;\n };\n };\n LinkedList.prototype.find = function (index, inclusive) {\n if (inclusive === void 0) {\n inclusive = false;\n }\n var next = this.iterator();\n var cur = next();\n while (cur) {\n var length = cur.length();\n if (index < length || inclusive && index === length && (cur.next == null || cur.next.length() !== 0)) {\n return [cur, index];\n }\n index -= length;\n cur = next();\n }\n return [null, 0];\n };\n LinkedList.prototype.forEach = function (callback) {\n var next = this.iterator();\n var cur = next();\n while (cur) {\n callback(cur);\n cur = next();\n }\n };\n LinkedList.prototype.forEachAt = function (index, length, callback) {\n if (length <= 0) {\n return;\n }\n var _a = this.find(index),\n startNode = _a[0],\n offset = _a[1];\n var curIndex = index - offset;\n var next = this.iterator(startNode);\n var cur = next();\n while (cur && curIndex < index + length) {\n var curLength = cur.length();\n if (index > curIndex) {\n callback(cur, index - curIndex, Math.min(length, curIndex + curLength - index));\n } else {\n callback(cur, 0, Math.min(curLength, index + length - curIndex));\n }\n curIndex += curLength;\n cur = next();\n }\n };\n LinkedList.prototype.map = function (callback) {\n return this.reduce(function (memo, cur) {\n memo.push(callback(cur));\n return memo;\n }, []);\n };\n LinkedList.prototype.reduce = function (callback, memo) {\n var next = this.iterator();\n var cur = next();\n while (cur) {\n memo = callback(memo, cur);\n cur = next();\n }\n return memo;\n };\n return LinkedList;\n}();\n/* harmony default export */ const linked_list = (LinkedList);\n;// CONCATENATED MODULE: ./node_modules/parchment/src/error.ts\nvar __extends = undefined && undefined.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n return _extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n _extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\nvar ParchmentError = /** @class */function (_super) {\n __extends(ParchmentError, _super);\n function ParchmentError(message) {\n var _this = this;\n message = '[Parchment] ' + message;\n _this = _super.call(this, message) || this;\n _this.message = message;\n _this.name = _this.constructor.name;\n return _this;\n }\n return ParchmentError;\n}(Error);\n/* harmony default export */ const error = (ParchmentError);\n;// CONCATENATED MODULE: ./node_modules/parchment/src/registry.ts\n\n\nvar Registry = /** @class */function () {\n function Registry() {\n this.attributes = {};\n this.classes = {};\n this.tags = {};\n this.types = {};\n }\n Registry.find = function (node, bubble) {\n if (bubble === void 0) {\n bubble = false;\n }\n if (node == null) {\n return null;\n }\n if (this.blots.has(node)) {\n return this.blots.get(node) || null;\n }\n if (bubble) {\n var parentNode = null;\n try {\n parentNode = node.parentNode;\n } catch (err) {\n // Probably hit a permission denied error.\n // A known case is in Firefox, event targets can be anonymous DIVs\n // inside an input element.\n // https://bugzilla.mozilla.org/show_bug.cgi?id=208427\n return null;\n }\n return this.find(parentNode, bubble);\n }\n return null;\n };\n Registry.prototype.create = function (scroll, input, value) {\n var match = this.query(input);\n if (match == null) {\n throw new error(\"Unable to create \".concat(input, \" blot\"));\n }\n var blotClass = match;\n var node =\n // @ts-expect-error\n input instanceof Node || input.nodeType === Node.TEXT_NODE ? input : blotClass.create(value);\n var blot = new blotClass(scroll, node, value);\n Registry.blots.set(blot.domNode, blot);\n return blot;\n };\n Registry.prototype.find = function (node, bubble) {\n if (bubble === void 0) {\n bubble = false;\n }\n return Registry.find(node, bubble);\n };\n Registry.prototype.query = function (query, scope) {\n var _this = this;\n if (scope === void 0) {\n scope = src_scope.ANY;\n }\n var match;\n if (typeof query === 'string') {\n match = this.types[query] || this.attributes[query];\n // @ts-expect-error\n } else if (query instanceof Text || query.nodeType === Node.TEXT_NODE) {\n match = this.types.text;\n } else if (typeof query === 'number') {\n if (query & src_scope.LEVEL & src_scope.BLOCK) {\n match = this.types.block;\n } else if (query & src_scope.LEVEL & src_scope.INLINE) {\n match = this.types.inline;\n }\n } else if (query instanceof Element) {\n var names = (query.getAttribute('class') || '').split(/\\s+/);\n names.some(function (name) {\n match = _this.classes[name];\n if (match) {\n return true;\n }\n return false;\n });\n match = match || this.tags[query.tagName];\n }\n if (match == null) {\n return null;\n }\n // @ts-expect-error\n if (scope & src_scope.LEVEL & match.scope && scope & src_scope.TYPE & match.scope) {\n return match;\n }\n return null;\n };\n Registry.prototype.register = function () {\n var _this = this;\n var definitions = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n definitions[_i] = arguments[_i];\n }\n if (definitions.length > 1) {\n return definitions.map(function (d) {\n return _this.register(d);\n });\n }\n var definition = definitions[0];\n if (typeof definition.blotName !== 'string' && typeof definition.attrName !== 'string') {\n throw new error('Invalid definition');\n } else if (definition.blotName === 'abstract') {\n throw new error('Cannot register abstract class');\n }\n this.types[definition.blotName || definition.attrName] = definition;\n if (typeof definition.keyName === 'string') {\n this.attributes[definition.keyName] = definition;\n } else {\n if (definition.className != null) {\n this.classes[definition.className] = definition;\n }\n if (definition.tagName != null) {\n if (Array.isArray(definition.tagName)) {\n definition.tagName = definition.tagName.map(function (tagName) {\n return tagName.toUpperCase();\n });\n } else {\n definition.tagName = definition.tagName.toUpperCase();\n }\n var tagNames = Array.isArray(definition.tagName) ? definition.tagName : [definition.tagName];\n tagNames.forEach(function (tag) {\n if (_this.tags[tag] == null || definition.className == null) {\n _this.tags[tag] = definition;\n }\n });\n }\n }\n return definition;\n };\n Registry.blots = new WeakMap();\n return Registry;\n}();\n/* harmony default export */ const registry = (Registry);\n;// CONCATENATED MODULE: ./node_modules/parchment/src/blot/abstract/shadow.ts\n\n\n\nvar ShadowBlot = /** @class */function () {\n function ShadowBlot(scroll, domNode) {\n this.scroll = scroll;\n this.domNode = domNode;\n registry.blots.set(domNode, this);\n this.prev = null;\n this.next = null;\n }\n ShadowBlot.create = function (value) {\n if (this.tagName == null) {\n throw new error('Blot definition missing tagName');\n }\n var node;\n if (Array.isArray(this.tagName)) {\n if (typeof value === 'string') {\n value = value.toUpperCase();\n if (parseInt(value, 10).toString() === value) {\n value = parseInt(value, 10);\n }\n }\n if (typeof value === 'number') {\n node = document.createElement(this.tagName[value - 1]);\n } else if (this.tagName.indexOf(value) > -1) {\n node = document.createElement(value);\n } else {\n node = document.createElement(this.tagName[0]);\n }\n } else {\n node = document.createElement(this.tagName);\n }\n if (this.className) {\n node.classList.add(this.className);\n }\n return node;\n };\n Object.defineProperty(ShadowBlot.prototype, \"statics\", {\n // Hack for accessing inherited static methods\n get: function get() {\n return this.constructor;\n },\n enumerable: false,\n configurable: true\n });\n ShadowBlot.prototype.attach = function () {\n // Nothing to do\n };\n ShadowBlot.prototype.clone = function () {\n var domNode = this.domNode.cloneNode(false);\n return this.scroll.create(domNode);\n };\n ShadowBlot.prototype.detach = function () {\n if (this.parent != null) {\n this.parent.removeChild(this);\n }\n registry.blots[\"delete\"](this.domNode);\n };\n ShadowBlot.prototype.deleteAt = function (index, length) {\n var blot = this.isolate(index, length);\n blot.remove();\n };\n ShadowBlot.prototype.formatAt = function (index, length, name, value) {\n var blot = this.isolate(index, length);\n if (this.scroll.query(name, src_scope.BLOT) != null && value) {\n blot.wrap(name, value);\n } else if (this.scroll.query(name, src_scope.ATTRIBUTE) != null) {\n var parent = this.scroll.create(this.statics.scope);\n blot.wrap(parent);\n parent.format(name, value);\n }\n };\n ShadowBlot.prototype.insertAt = function (index, value, def) {\n var blot = def == null ? this.scroll.create('text', value) : this.scroll.create(value, def);\n var ref = this.split(index);\n this.parent.insertBefore(blot, ref || undefined);\n };\n ShadowBlot.prototype.isolate = function (index, length) {\n var target = this.split(index);\n if (target == null) {\n throw new Error('Attempt to isolate at end');\n }\n target.split(length);\n return target;\n };\n ShadowBlot.prototype.length = function () {\n return 1;\n };\n ShadowBlot.prototype.offset = function (root) {\n if (root === void 0) {\n root = this.parent;\n }\n if (this.parent == null || this === root) {\n return 0;\n }\n return this.parent.children.offset(this) + this.parent.offset(root);\n };\n ShadowBlot.prototype.optimize = function (_context) {\n if (this.statics.requiredContainer && !(this.parent instanceof this.statics.requiredContainer)) {\n this.wrap(this.statics.requiredContainer.blotName);\n }\n };\n ShadowBlot.prototype.remove = function () {\n if (this.domNode.parentNode != null) {\n this.domNode.parentNode.removeChild(this.domNode);\n }\n this.detach();\n };\n ShadowBlot.prototype.replaceWith = function (name, value) {\n var replacement = typeof name === 'string' ? this.scroll.create(name, value) : name;\n if (this.parent != null) {\n this.parent.insertBefore(replacement, this.next || undefined);\n this.remove();\n }\n return replacement;\n };\n ShadowBlot.prototype.split = function (index, _force) {\n return index === 0 ? this : this.next;\n };\n ShadowBlot.prototype.update = function (_mutations, _context) {\n // Nothing to do by default\n };\n ShadowBlot.prototype.wrap = function (name, value) {\n var wrapper = typeof name === 'string' ? this.scroll.create(name, value) : name;\n if (this.parent != null) {\n this.parent.insertBefore(wrapper, this.next || undefined);\n }\n if (typeof wrapper.appendChild !== 'function') {\n throw new error(\"Cannot wrap \".concat(name));\n }\n wrapper.appendChild(this);\n return wrapper;\n };\n ShadowBlot.blotName = 'abstract';\n return ShadowBlot;\n}();\n/* harmony default export */ const shadow = (ShadowBlot);\n;// CONCATENATED MODULE: ./node_modules/parchment/src/blot/abstract/parent.ts\nvar parent_extends = undefined && undefined.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n return _extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n _extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\n\n\n\nfunction makeAttachedBlot(node, scroll) {\n var blot = scroll.find(node);\n if (blot == null) {\n try {\n blot = scroll.create(node);\n } catch (e) {\n blot = scroll.create(src_scope.INLINE);\n Array.from(node.childNodes).forEach(function (child) {\n // @ts-expect-error\n blot.domNode.appendChild(child);\n });\n if (node.parentNode) {\n node.parentNode.replaceChild(blot.domNode, node);\n }\n blot.attach();\n }\n }\n return blot;\n}\nvar ParentBlot = /** @class */function (_super) {\n parent_extends(ParentBlot, _super);\n function ParentBlot(scroll, domNode) {\n var _this = _super.call(this, scroll, domNode) || this;\n _this.uiNode = null;\n _this.build();\n return _this;\n }\n ParentBlot.prototype.appendChild = function (other) {\n this.insertBefore(other);\n };\n ParentBlot.prototype.attach = function () {\n _super.prototype.attach.call(this);\n this.children.forEach(function (child) {\n child.attach();\n });\n };\n ParentBlot.prototype.attachUI = function (node) {\n if (this.uiNode != null) {\n this.uiNode.remove();\n }\n this.uiNode = node;\n if (ParentBlot.uiClass) {\n this.uiNode.classList.add(ParentBlot.uiClass);\n }\n this.uiNode.setAttribute('contenteditable', 'false');\n this.domNode.insertBefore(this.uiNode, this.domNode.firstChild);\n };\n ParentBlot.prototype.build = function () {\n var _this = this;\n this.children = new linked_list();\n // Need to be reversed for if DOM nodes already in order\n Array.from(this.domNode.childNodes).filter(function (node) {\n return node !== _this.uiNode;\n }).reverse().forEach(function (node) {\n try {\n var child = makeAttachedBlot(node, _this.scroll);\n _this.insertBefore(child, _this.children.head || undefined);\n } catch (err) {\n if (err instanceof error) {\n return;\n } else {\n throw err;\n }\n }\n });\n };\n ParentBlot.prototype.deleteAt = function (index, length) {\n if (index === 0 && length === this.length()) {\n return this.remove();\n }\n this.children.forEachAt(index, length, function (child, offset, childLength) {\n child.deleteAt(offset, childLength);\n });\n };\n ParentBlot.prototype.descendant = function (criteria, index) {\n if (index === void 0) {\n index = 0;\n }\n var _a = this.children.find(index),\n child = _a[0],\n offset = _a[1];\n if (criteria.blotName == null && criteria(child) || criteria.blotName != null && child instanceof criteria) {\n return [child, offset];\n } else if (child instanceof ParentBlot) {\n return child.descendant(criteria, offset);\n } else {\n return [null, -1];\n }\n };\n ParentBlot.prototype.descendants = function (criteria, index, length) {\n if (index === void 0) {\n index = 0;\n }\n if (length === void 0) {\n length = Number.MAX_VALUE;\n }\n var descendants = [];\n var lengthLeft = length;\n this.children.forEachAt(index, length, function (child, childIndex, childLength) {\n if (criteria.blotName == null && criteria(child) || criteria.blotName != null && child instanceof criteria) {\n descendants.push(child);\n }\n if (child instanceof ParentBlot) {\n descendants = descendants.concat(child.descendants(criteria, childIndex, lengthLeft));\n }\n lengthLeft -= childLength;\n });\n return descendants;\n };\n ParentBlot.prototype.detach = function () {\n this.children.forEach(function (child) {\n child.detach();\n });\n _super.prototype.detach.call(this);\n };\n ParentBlot.prototype.enforceAllowedChildren = function () {\n var _this = this;\n var done = false;\n this.children.forEach(function (child) {\n if (done) {\n return;\n }\n var allowed = _this.statics.allowedChildren.some(function (def) {\n return child instanceof def;\n });\n if (allowed) {\n return;\n }\n if (child.statics.scope === src_scope.BLOCK_BLOT) {\n if (child.next != null) {\n _this.splitAfter(child);\n }\n if (child.prev != null) {\n _this.splitAfter(child.prev);\n }\n child.parent.unwrap();\n done = true;\n } else if (child instanceof ParentBlot) {\n child.unwrap();\n } else {\n child.remove();\n }\n });\n };\n ParentBlot.prototype.formatAt = function (index, length, name, value) {\n this.children.forEachAt(index, length, function (child, offset, childLength) {\n child.formatAt(offset, childLength, name, value);\n });\n };\n ParentBlot.prototype.insertAt = function (index, value, def) {\n var _a = this.children.find(index),\n child = _a[0],\n offset = _a[1];\n if (child) {\n child.insertAt(offset, value, def);\n } else {\n var blot = def == null ? this.scroll.create('text', value) : this.scroll.create(value, def);\n this.appendChild(blot);\n }\n };\n ParentBlot.prototype.insertBefore = function (childBlot, refBlot) {\n if (childBlot.parent != null) {\n childBlot.parent.children.remove(childBlot);\n }\n var refDomNode = null;\n this.children.insertBefore(childBlot, refBlot || null);\n childBlot.parent = this;\n if (refBlot != null) {\n refDomNode = refBlot.domNode;\n }\n if (this.domNode.parentNode !== childBlot.domNode || this.domNode.nextSibling !== refDomNode) {\n this.domNode.insertBefore(childBlot.domNode, refDomNode);\n }\n childBlot.attach();\n };\n ParentBlot.prototype.length = function () {\n return this.children.reduce(function (memo, child) {\n return memo + child.length();\n }, 0);\n };\n ParentBlot.prototype.moveChildren = function (targetParent, refNode) {\n this.children.forEach(function (child) {\n targetParent.insertBefore(child, refNode);\n });\n };\n ParentBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n this.enforceAllowedChildren();\n if (this.uiNode != null && this.uiNode !== this.domNode.firstChild) {\n this.domNode.insertBefore(this.uiNode, this.domNode.firstChild);\n }\n if (this.children.length === 0) {\n if (this.statics.defaultChild != null) {\n var child = this.scroll.create(this.statics.defaultChild.blotName);\n this.appendChild(child);\n // TODO double check if necessary\n // child.optimize(context);\n } else {\n this.remove();\n }\n }\n };\n ParentBlot.prototype.path = function (index, inclusive) {\n if (inclusive === void 0) {\n inclusive = false;\n }\n var _a = this.children.find(index, inclusive),\n child = _a[0],\n offset = _a[1];\n var position = [[this, index]];\n if (child instanceof ParentBlot) {\n return position.concat(child.path(offset, inclusive));\n } else if (child != null) {\n position.push([child, offset]);\n }\n return position;\n };\n ParentBlot.prototype.removeChild = function (child) {\n this.children.remove(child);\n };\n ParentBlot.prototype.replaceWith = function (name, value) {\n var replacement = typeof name === 'string' ? this.scroll.create(name, value) : name;\n if (replacement instanceof ParentBlot) {\n this.moveChildren(replacement);\n }\n return _super.prototype.replaceWith.call(this, replacement);\n };\n ParentBlot.prototype.split = function (index, force) {\n if (force === void 0) {\n force = false;\n }\n if (!force) {\n if (index === 0) {\n return this;\n }\n if (index === this.length()) {\n return this.next;\n }\n }\n var after = this.clone();\n if (this.parent) {\n this.parent.insertBefore(after, this.next || undefined);\n }\n this.children.forEachAt(index, this.length(), function (child, offset, _length) {\n var split = child.split(offset, force);\n if (split != null) {\n after.appendChild(split);\n }\n });\n return after;\n };\n ParentBlot.prototype.splitAfter = function (child) {\n var after = this.clone();\n while (child.next != null) {\n after.appendChild(child.next);\n }\n if (this.parent) {\n this.parent.insertBefore(after, this.next || undefined);\n }\n return after;\n };\n ParentBlot.prototype.unwrap = function () {\n if (this.parent) {\n this.moveChildren(this.parent, this.next || undefined);\n }\n this.remove();\n };\n ParentBlot.prototype.update = function (mutations, _context) {\n var _this = this;\n var addedNodes = [];\n var removedNodes = [];\n mutations.forEach(function (mutation) {\n if (mutation.target === _this.domNode && mutation.type === 'childList') {\n addedNodes.push.apply(addedNodes, mutation.addedNodes);\n removedNodes.push.apply(removedNodes, mutation.removedNodes);\n }\n });\n removedNodes.forEach(function (node) {\n // Check node has actually been removed\n // One exception is Chrome does not immediately remove IFRAMEs\n // from DOM but MutationRecord is correct in its reported removal\n if (node.parentNode != null &&\n // @ts-expect-error\n node.tagName !== 'IFRAME' && document.body.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return;\n }\n var blot = _this.scroll.find(node);\n if (blot == null) {\n return;\n }\n if (blot.domNode.parentNode == null || blot.domNode.parentNode === _this.domNode) {\n blot.detach();\n }\n });\n addedNodes.filter(function (node) {\n return node.parentNode === _this.domNode || node === _this.uiNode;\n }).sort(function (a, b) {\n if (a === b) {\n return 0;\n }\n if (a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING) {\n return 1;\n }\n return -1;\n }).forEach(function (node) {\n var refBlot = null;\n if (node.nextSibling != null) {\n refBlot = _this.scroll.find(node.nextSibling);\n }\n var blot = makeAttachedBlot(node, _this.scroll);\n if (blot.next !== refBlot || blot.next == null) {\n if (blot.parent != null) {\n blot.parent.removeChild(_this);\n }\n _this.insertBefore(blot, refBlot || undefined);\n }\n });\n this.enforceAllowedChildren();\n };\n ParentBlot.uiClass = '';\n return ParentBlot;\n}(shadow);\n/* harmony default export */ const abstract_parent = (ParentBlot);\n;// CONCATENATED MODULE: ./node_modules/parchment/src/blot/abstract/container.ts\nvar container_extends = undefined && undefined.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n return _extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n _extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\n\nvar ContainerBlot = /** @class */function (_super) {\n container_extends(ContainerBlot, _super);\n function ContainerBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ContainerBlot.prototype.checkMerge = function () {\n return this.next !== null && this.next.statics.blotName === this.statics.blotName;\n };\n ContainerBlot.prototype.deleteAt = function (index, length) {\n _super.prototype.deleteAt.call(this, index, length);\n this.enforceAllowedChildren();\n };\n ContainerBlot.prototype.formatAt = function (index, length, name, value) {\n _super.prototype.formatAt.call(this, index, length, name, value);\n this.enforceAllowedChildren();\n };\n ContainerBlot.prototype.insertAt = function (index, value, def) {\n _super.prototype.insertAt.call(this, index, value, def);\n this.enforceAllowedChildren();\n };\n ContainerBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n if (this.children.length > 0 && this.next != null && this.checkMerge()) {\n this.next.moveChildren(this);\n this.next.remove();\n }\n };\n ContainerBlot.blotName = 'container';\n ContainerBlot.scope = src_scope.BLOCK_BLOT;\n return ContainerBlot;\n}(abstract_parent);\n/* harmony default export */ const container = (ContainerBlot);\n;// CONCATENATED MODULE: ./node_modules/parchment/src/blot/abstract/leaf.ts\nvar leaf_extends = undefined && undefined.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n return _extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n _extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\n\nvar LeafBlot = /** @class */function (_super) {\n leaf_extends(LeafBlot, _super);\n function LeafBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LeafBlot.value = function (_domNode) {\n return true;\n };\n LeafBlot.prototype.index = function (node, offset) {\n if (this.domNode === node || this.domNode.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return Math.min(offset, 1);\n }\n return -1;\n };\n LeafBlot.prototype.position = function (index, _inclusive) {\n var childNodes = Array.from(this.parent.domNode.childNodes);\n var offset = childNodes.indexOf(this.domNode);\n if (index > 0) {\n offset += 1;\n }\n return [this.parent.domNode, offset];\n };\n LeafBlot.prototype.value = function () {\n var _a;\n return _a = {}, _a[this.statics.blotName] = this.statics.value(this.domNode) || true, _a;\n };\n LeafBlot.scope = src_scope.INLINE_BLOT;\n return LeafBlot;\n}(shadow);\n/* harmony default export */ const leaf = (LeafBlot);\n;// CONCATENATED MODULE: ./node_modules/parchment/src/attributor/attributor.ts\n\nvar Attributor = /** @class */function () {\n function Attributor(attrName, keyName, options) {\n if (options === void 0) {\n options = {};\n }\n this.attrName = attrName;\n this.keyName = keyName;\n var attributeBit = src_scope.TYPE & src_scope.ATTRIBUTE;\n this.scope = options.scope != null ?\n // Ignore type bits, force attribute bit\n options.scope & src_scope.LEVEL | attributeBit : src_scope.ATTRIBUTE;\n if (options.whitelist != null) {\n this.whitelist = options.whitelist;\n }\n }\n Attributor.keys = function (node) {\n return Array.from(node.attributes).map(function (item) {\n return item.name;\n });\n };\n Attributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value)) {\n return false;\n }\n node.setAttribute(this.keyName, value);\n return true;\n };\n Attributor.prototype.canAdd = function (_node, value) {\n if (this.whitelist == null) {\n return true;\n }\n if (typeof value === 'string') {\n return this.whitelist.indexOf(value.replace(/[\"']/g, '')) > -1;\n } else {\n return this.whitelist.indexOf(value) > -1;\n }\n };\n Attributor.prototype.remove = function (node) {\n node.removeAttribute(this.keyName);\n };\n Attributor.prototype.value = function (node) {\n var value = node.getAttribute(this.keyName);\n if (this.canAdd(node, value) && value) {\n return value;\n }\n return '';\n };\n return Attributor;\n}();\n/* harmony default export */ const attributor = (Attributor);\n;// CONCATENATED MODULE: ./node_modules/parchment/src/attributor/class.ts\nvar class_extends = undefined && undefined.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n return _extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n _extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nfunction match(node, prefix) {\n var className = node.getAttribute('class') || '';\n return className.split(/\\s+/).filter(function (name) {\n return name.indexOf(\"\".concat(prefix, \"-\")) === 0;\n });\n}\nvar ClassAttributor = /** @class */function (_super) {\n class_extends(ClassAttributor, _super);\n function ClassAttributor() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ClassAttributor.keys = function (node) {\n return (node.getAttribute('class') || '').split(/\\s+/).map(function (name) {\n return name.split('-').slice(0, -1).join('-');\n });\n };\n ClassAttributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value)) {\n return false;\n }\n this.remove(node);\n node.classList.add(\"\".concat(this.keyName, \"-\").concat(value));\n return true;\n };\n ClassAttributor.prototype.remove = function (node) {\n var matches = match(node, this.keyName);\n matches.forEach(function (name) {\n node.classList.remove(name);\n });\n if (node.classList.length === 0) {\n node.removeAttribute('class');\n }\n };\n ClassAttributor.prototype.value = function (node) {\n var result = match(node, this.keyName)[0] || '';\n var value = result.slice(this.keyName.length + 1); // +1 for hyphen\n return this.canAdd(node, value) ? value : '';\n };\n return ClassAttributor;\n}(attributor);\n/* harmony default export */ const attributor_class = (ClassAttributor);\n;// CONCATENATED MODULE: ./node_modules/parchment/src/attributor/style.ts\nvar style_extends = undefined && undefined.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n return _extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n _extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nfunction camelize(name) {\n var parts = name.split('-');\n var rest = parts.slice(1).map(function (part) {\n return part[0].toUpperCase() + part.slice(1);\n }).join('');\n return parts[0] + rest;\n}\nvar StyleAttributor = /** @class */function (_super) {\n style_extends(StyleAttributor, _super);\n function StyleAttributor() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StyleAttributor.keys = function (node) {\n return (node.getAttribute('style') || '').split(';').map(function (value) {\n var arr = value.split(':');\n return arr[0].trim();\n });\n };\n StyleAttributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value)) {\n return false;\n }\n // @ts-expect-error\n node.style[camelize(this.keyName)] = value;\n return true;\n };\n StyleAttributor.prototype.remove = function (node) {\n // @ts-expect-error\n node.style[camelize(this.keyName)] = '';\n if (!node.getAttribute('style')) {\n node.removeAttribute('style');\n }\n };\n StyleAttributor.prototype.value = function (node) {\n // @ts-expect-error\n var value = node.style[camelize(this.keyName)];\n return this.canAdd(node, value) ? value : '';\n };\n return StyleAttributor;\n}(attributor);\n/* harmony default export */ const style = (StyleAttributor);\n;// CONCATENATED MODULE: ./node_modules/parchment/src/attributor/store.ts\n\n\n\n\n\nvar AttributorStore = /** @class */function () {\n function AttributorStore(domNode) {\n this.attributes = {};\n this.domNode = domNode;\n this.build();\n }\n AttributorStore.prototype.attribute = function (attribute, value) {\n // verb\n if (value) {\n if (attribute.add(this.domNode, value)) {\n if (attribute.value(this.domNode) != null) {\n this.attributes[attribute.attrName] = attribute;\n } else {\n delete this.attributes[attribute.attrName];\n }\n }\n } else {\n attribute.remove(this.domNode);\n delete this.attributes[attribute.attrName];\n }\n };\n AttributorStore.prototype.build = function () {\n var _this = this;\n this.attributes = {};\n var blot = registry.find(this.domNode);\n if (blot == null) {\n return;\n }\n var attributes = attributor.keys(this.domNode);\n var classes = attributor_class.keys(this.domNode);\n var styles = style.keys(this.domNode);\n attributes.concat(classes).concat(styles).forEach(function (name) {\n var attr = blot.scroll.query(name, src_scope.ATTRIBUTE);\n if (attr instanceof attributor) {\n _this.attributes[attr.attrName] = attr;\n }\n });\n };\n AttributorStore.prototype.copy = function (target) {\n var _this = this;\n Object.keys(this.attributes).forEach(function (key) {\n var value = _this.attributes[key].value(_this.domNode);\n target.format(key, value);\n });\n };\n AttributorStore.prototype.move = function (target) {\n var _this = this;\n this.copy(target);\n Object.keys(this.attributes).forEach(function (key) {\n _this.attributes[key].remove(_this.domNode);\n });\n this.attributes = {};\n };\n AttributorStore.prototype.values = function () {\n var _this = this;\n return Object.keys(this.attributes).reduce(function (attributes, name) {\n attributes[name] = _this.attributes[name].value(_this.domNode);\n return attributes;\n }, {});\n };\n return AttributorStore;\n}();\n/* harmony default export */ const store = (AttributorStore);\n;// CONCATENATED MODULE: ./node_modules/parchment/src/blot/inline.ts\nvar inline_extends = undefined && undefined.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n return _extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n _extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\n\n\n\n\n// Shallow object comparison\nfunction isEqual(obj1, obj2) {\n if (Object.keys(obj1).length !== Object.keys(obj2).length) {\n return false;\n }\n for (var prop in obj1) {\n // @ts-expect-error\n if (obj1[prop] !== obj2[prop]) {\n return false;\n }\n }\n return true;\n}\nvar InlineBlot = /** @class */function (_super) {\n inline_extends(InlineBlot, _super);\n function InlineBlot(scroll, domNode) {\n var _this = _super.call(this, scroll, domNode) || this;\n _this.attributes = new store(_this.domNode);\n return _this;\n }\n InlineBlot.formats = function (domNode, scroll) {\n var match = scroll.query(InlineBlot.blotName);\n if (match != null && domNode.tagName === match.tagName) {\n return undefined;\n } else if (typeof this.tagName === 'string') {\n return true;\n } else if (Array.isArray(this.tagName)) {\n return domNode.tagName.toLowerCase();\n }\n return undefined;\n };\n InlineBlot.prototype.format = function (name, value) {\n var _this = this;\n if (name === this.statics.blotName && !value) {\n this.children.forEach(function (child) {\n if (!(child instanceof InlineBlot)) {\n child = child.wrap(InlineBlot.blotName, true);\n }\n _this.attributes.copy(child);\n });\n this.unwrap();\n } else {\n var format = this.scroll.query(name, src_scope.INLINE);\n if (format == null) {\n return;\n }\n if (format instanceof attributor) {\n this.attributes.attribute(format, value);\n } else if (value && (name !== this.statics.blotName || this.formats()[name] !== value)) {\n this.replaceWith(name, value);\n }\n }\n };\n InlineBlot.prototype.formats = function () {\n var formats = this.attributes.values();\n var format = this.statics.formats(this.domNode, this.scroll);\n if (format != null) {\n formats[this.statics.blotName] = format;\n }\n return formats;\n };\n InlineBlot.prototype.formatAt = function (index, length, name, value) {\n if (this.formats()[name] != null || this.scroll.query(name, src_scope.ATTRIBUTE)) {\n var blot = this.isolate(index, length);\n blot.format(name, value);\n } else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n InlineBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n var formats = this.formats();\n if (Object.keys(formats).length === 0) {\n return this.unwrap(); // unformatted span\n }\n\n var next = this.next;\n if (next instanceof InlineBlot && next.prev === this && isEqual(formats, next.formats())) {\n next.moveChildren(this);\n next.remove();\n }\n };\n InlineBlot.prototype.replaceWith = function (name, value) {\n var replacement = _super.prototype.replaceWith.call(this, name, value);\n this.attributes.copy(replacement);\n return replacement;\n };\n InlineBlot.prototype.update = function (mutations, context) {\n var _this = this;\n _super.prototype.update.call(this, mutations, context);\n var attributeChanged = mutations.some(function (mutation) {\n return mutation.target === _this.domNode && mutation.type === 'attributes';\n });\n if (attributeChanged) {\n this.attributes.build();\n }\n };\n InlineBlot.prototype.wrap = function (name, value) {\n var wrapper = _super.prototype.wrap.call(this, name, value);\n if (wrapper instanceof InlineBlot) {\n this.attributes.move(wrapper);\n }\n return wrapper;\n };\n InlineBlot.allowedChildren = [InlineBlot, leaf];\n InlineBlot.blotName = 'inline';\n InlineBlot.scope = src_scope.INLINE_BLOT;\n InlineBlot.tagName = 'SPAN';\n return InlineBlot;\n}(abstract_parent);\n/* harmony default export */ const inline = (InlineBlot);\n;// CONCATENATED MODULE: ./node_modules/parchment/src/blot/block.ts\nvar block_extends = undefined && undefined.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n return _extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n _extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\n\n\n\n\n\nvar BlockBlot = /** @class */function (_super) {\n block_extends(BlockBlot, _super);\n function BlockBlot(scroll, domNode) {\n var _this = _super.call(this, scroll, domNode) || this;\n _this.attributes = new store(_this.domNode);\n return _this;\n }\n BlockBlot.formats = function (domNode, scroll) {\n var match = scroll.query(BlockBlot.blotName);\n if (match != null && domNode.tagName === match.tagName) {\n return undefined;\n } else if (typeof this.tagName === 'string') {\n return true;\n } else if (Array.isArray(this.tagName)) {\n return domNode.tagName.toLowerCase();\n }\n };\n BlockBlot.prototype.format = function (name, value) {\n var format = this.scroll.query(name, src_scope.BLOCK);\n if (format == null) {\n return;\n } else if (format instanceof attributor) {\n this.attributes.attribute(format, value);\n } else if (name === this.statics.blotName && !value) {\n this.replaceWith(BlockBlot.blotName);\n } else if (value && (name !== this.statics.blotName || this.formats()[name] !== value)) {\n this.replaceWith(name, value);\n }\n };\n BlockBlot.prototype.formats = function () {\n var formats = this.attributes.values();\n var format = this.statics.formats(this.domNode, this.scroll);\n if (format != null) {\n formats[this.statics.blotName] = format;\n }\n return formats;\n };\n BlockBlot.prototype.formatAt = function (index, length, name, value) {\n if (this.scroll.query(name, src_scope.BLOCK) != null) {\n this.format(name, value);\n } else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n BlockBlot.prototype.insertAt = function (index, value, def) {\n if (def == null || this.scroll.query(value, src_scope.INLINE) != null) {\n // Insert text or inline\n _super.prototype.insertAt.call(this, index, value, def);\n } else {\n var after = this.split(index);\n if (after != null) {\n var blot = this.scroll.create(value, def);\n after.parent.insertBefore(blot, after);\n } else {\n throw new Error('Attempt to insertAt after block boundaries');\n }\n }\n };\n BlockBlot.prototype.replaceWith = function (name, value) {\n var replacement = _super.prototype.replaceWith.call(this, name, value);\n this.attributes.copy(replacement);\n return replacement;\n };\n BlockBlot.prototype.update = function (mutations, context) {\n var _this = this;\n _super.prototype.update.call(this, mutations, context);\n var attributeChanged = mutations.some(function (mutation) {\n return mutation.target === _this.domNode && mutation.type === 'attributes';\n });\n if (attributeChanged) {\n this.attributes.build();\n }\n };\n BlockBlot.blotName = 'block';\n BlockBlot.scope = src_scope.BLOCK_BLOT;\n BlockBlot.tagName = 'P';\n BlockBlot.allowedChildren = [inline, BlockBlot, leaf];\n return BlockBlot;\n}(abstract_parent);\n/* harmony default export */ const block = (BlockBlot);\n;// CONCATENATED MODULE: ./node_modules/parchment/src/blot/embed.ts\nvar embed_extends = undefined && undefined.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n return _extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n _extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nvar EmbedBlot = /** @class */function (_super) {\n embed_extends(EmbedBlot, _super);\n function EmbedBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n EmbedBlot.formats = function (_domNode, _scroll) {\n return undefined;\n };\n EmbedBlot.prototype.format = function (name, value) {\n // super.formatAt wraps, which is what we want in general,\n // but this allows subclasses to overwrite for formats\n // that just apply to particular embeds\n _super.prototype.formatAt.call(this, 0, this.length(), name, value);\n };\n EmbedBlot.prototype.formatAt = function (index, length, name, value) {\n if (index === 0 && length === this.length()) {\n this.format(name, value);\n } else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n EmbedBlot.prototype.formats = function () {\n return this.statics.formats(this.domNode, this.scroll);\n };\n return EmbedBlot;\n}(leaf);\n/* harmony default export */ const blot_embed = (EmbedBlot);\n;// CONCATENATED MODULE: ./node_modules/parchment/src/blot/scroll.ts\nvar scroll_extends = undefined && undefined.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n return _extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n _extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\n\n\n\nvar OBSERVER_CONFIG = {\n attributes: true,\n characterData: true,\n characterDataOldValue: true,\n childList: true,\n subtree: true\n};\nvar MAX_OPTIMIZE_ITERATIONS = 100;\nvar ScrollBlot = /** @class */function (_super) {\n scroll_extends(ScrollBlot, _super);\n function ScrollBlot(registry, node) {\n var _this =\n // @ts-expect-error\n _super.call(this, null, node) || this;\n _this.registry = registry;\n _this.scroll = _this;\n _this.build();\n _this.observer = new MutationObserver(function (mutations) {\n _this.update(mutations);\n });\n _this.observer.observe(_this.domNode, OBSERVER_CONFIG);\n _this.attach();\n return _this;\n }\n ScrollBlot.prototype.create = function (input, value) {\n return this.registry.create(this, input, value);\n };\n ScrollBlot.prototype.find = function (node, bubble) {\n if (bubble === void 0) {\n bubble = false;\n }\n var blot = this.registry.find(node, bubble);\n if (!blot) {\n return null;\n }\n if (blot.scroll === this) {\n return blot;\n }\n return bubble ? this.find(blot.scroll.domNode.parentNode, true) : null;\n };\n ScrollBlot.prototype.query = function (query, scope) {\n if (scope === void 0) {\n scope = src_scope.ANY;\n }\n return this.registry.query(query, scope);\n };\n ScrollBlot.prototype.register = function () {\n var _a;\n var definitions = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n definitions[_i] = arguments[_i];\n }\n return (_a = this.registry).register.apply(_a, definitions);\n };\n ScrollBlot.prototype.build = function () {\n if (this.scroll == null) {\n return;\n }\n _super.prototype.build.call(this);\n };\n ScrollBlot.prototype.detach = function () {\n _super.prototype.detach.call(this);\n this.observer.disconnect();\n };\n ScrollBlot.prototype.deleteAt = function (index, length) {\n this.update();\n if (index === 0 && length === this.length()) {\n this.children.forEach(function (child) {\n child.remove();\n });\n } else {\n _super.prototype.deleteAt.call(this, index, length);\n }\n };\n ScrollBlot.prototype.formatAt = function (index, length, name, value) {\n this.update();\n _super.prototype.formatAt.call(this, index, length, name, value);\n };\n ScrollBlot.prototype.insertAt = function (index, value, def) {\n this.update();\n _super.prototype.insertAt.call(this, index, value, def);\n };\n ScrollBlot.prototype.optimize = function (mutations, context) {\n var _this = this;\n if (mutations === void 0) {\n mutations = [];\n }\n if (context === void 0) {\n context = {};\n }\n _super.prototype.optimize.call(this, context);\n var mutationsMap = context.mutationsMap || new WeakMap();\n // We must modify mutations directly, cannot make copy and then modify\n var records = Array.from(this.observer.takeRecords());\n // Array.push currently seems to be implemented by a non-tail recursive function\n // so we cannot just mutations.push.apply(mutations, this.observer.takeRecords());\n while (records.length > 0) {\n mutations.push(records.pop());\n }\n var mark = function mark(blot, markParent) {\n if (markParent === void 0) {\n markParent = true;\n }\n if (blot == null || blot === _this) {\n return;\n }\n if (blot.domNode.parentNode == null) {\n return;\n }\n if (!mutationsMap.has(blot.domNode)) {\n mutationsMap.set(blot.domNode, []);\n }\n if (markParent) {\n mark(blot.parent);\n }\n };\n var optimize = function optimize(blot) {\n // Post-order traversal\n if (!mutationsMap.has(blot.domNode)) {\n return;\n }\n if (blot instanceof abstract_parent) {\n blot.children.forEach(optimize);\n }\n mutationsMap.delete(blot.domNode);\n blot.optimize(context);\n };\n var remaining = mutations;\n for (var i = 0; remaining.length > 0; i += 1) {\n if (i >= MAX_OPTIMIZE_ITERATIONS) {\n throw new Error('[Parchment] Maximum optimize iterations reached');\n }\n remaining.forEach(function (mutation) {\n var blot = _this.find(mutation.target, true);\n if (blot == null) {\n return;\n }\n if (blot.domNode === mutation.target) {\n if (mutation.type === 'childList') {\n mark(_this.find(mutation.previousSibling, false));\n Array.from(mutation.addedNodes).forEach(function (node) {\n var child = _this.find(node, false);\n mark(child, false);\n if (child instanceof abstract_parent) {\n child.children.forEach(function (grandChild) {\n mark(grandChild, false);\n });\n }\n });\n } else if (mutation.type === 'attributes') {\n mark(blot.prev);\n }\n }\n mark(blot);\n });\n this.children.forEach(optimize);\n remaining = Array.from(this.observer.takeRecords());\n records = remaining.slice();\n while (records.length > 0) {\n mutations.push(records.pop());\n }\n }\n };\n ScrollBlot.prototype.update = function (mutations, context) {\n var _this = this;\n if (context === void 0) {\n context = {};\n }\n mutations = mutations || this.observer.takeRecords();\n var mutationsMap = new WeakMap();\n mutations.map(function (mutation) {\n var blot = _this.find(mutation.target, true);\n if (blot == null) {\n return null;\n }\n if (mutationsMap.has(blot.domNode)) {\n mutationsMap.get(blot.domNode).push(mutation);\n return null;\n } else {\n mutationsMap.set(blot.domNode, [mutation]);\n return blot;\n }\n }).forEach(function (blot) {\n if (blot != null && blot !== _this && mutationsMap.has(blot.domNode)) {\n blot.update(mutationsMap.get(blot.domNode) || [], context);\n }\n });\n context.mutationsMap = mutationsMap;\n if (mutationsMap.has(this.domNode)) {\n _super.prototype.update.call(this, mutationsMap.get(this.domNode), context);\n }\n this.optimize(mutations, context);\n };\n ScrollBlot.blotName = 'scroll';\n ScrollBlot.defaultChild = block;\n ScrollBlot.allowedChildren = [block, container];\n ScrollBlot.scope = src_scope.BLOCK_BLOT;\n ScrollBlot.tagName = 'DIV';\n return ScrollBlot;\n}(abstract_parent);\n/* harmony default export */ const blot_scroll = (ScrollBlot);\n;// CONCATENATED MODULE: ./node_modules/parchment/src/blot/text.ts\nvar text_extends = undefined && undefined.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n return _extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n _extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\n\nvar TextBlot = /** @class */function (_super) {\n text_extends(TextBlot, _super);\n function TextBlot(scroll, node) {\n var _this = _super.call(this, scroll, node) || this;\n _this.text = _this.statics.value(_this.domNode);\n return _this;\n }\n TextBlot.create = function (value) {\n return document.createTextNode(value);\n };\n TextBlot.value = function (domNode) {\n return domNode.data;\n };\n TextBlot.prototype.deleteAt = function (index, length) {\n this.domNode.data = this.text = this.text.slice(0, index) + this.text.slice(index + length);\n };\n TextBlot.prototype.index = function (node, offset) {\n if (this.domNode === node) {\n return offset;\n }\n return -1;\n };\n TextBlot.prototype.insertAt = function (index, value, def) {\n if (def == null) {\n this.text = this.text.slice(0, index) + value + this.text.slice(index);\n this.domNode.data = this.text;\n } else {\n _super.prototype.insertAt.call(this, index, value, def);\n }\n };\n TextBlot.prototype.length = function () {\n return this.text.length;\n };\n TextBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n this.text = this.statics.value(this.domNode);\n if (this.text.length === 0) {\n this.remove();\n } else if (this.next instanceof TextBlot && this.next.prev === this) {\n this.insertAt(this.length(), this.next.value());\n this.next.remove();\n }\n };\n TextBlot.prototype.position = function (index, _inclusive) {\n if (_inclusive === void 0) {\n _inclusive = false;\n }\n return [this.domNode, index];\n };\n TextBlot.prototype.split = function (index, force) {\n if (force === void 0) {\n force = false;\n }\n if (!force) {\n if (index === 0) {\n return this;\n }\n if (index === this.length()) {\n return this.next;\n }\n }\n var after = this.scroll.create(this.domNode.splitText(index));\n this.parent.insertBefore(after, this.next || undefined);\n this.text = this.statics.value(this.domNode);\n return after;\n };\n TextBlot.prototype.update = function (mutations, _context) {\n var _this = this;\n if (mutations.some(function (mutation) {\n return mutation.type === 'characterData' && mutation.target === _this.domNode;\n })) {\n this.text = this.statics.value(this.domNode);\n }\n };\n TextBlot.prototype.value = function () {\n return this.text;\n };\n TextBlot.blotName = 'text';\n TextBlot.scope = src_scope.INLINE_BLOT;\n return TextBlot;\n}(leaf);\n/* harmony default export */ const blot_text = (TextBlot);\n;// CONCATENATED MODULE: ./node_modules/parchment/src/parchment.ts\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n\n/***/ 3034:\n/***/ (function(module, exports) {\n\n'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n\n\n/***/ }),\n\n/***/ 1456:\n/***/ ((module) => {\n\n/**\n * This library modifies the diff-patch-match library by Neil Fraser\n * by removing the patch and match functionality and certain advanced\n * options in the diff function. The original license is as follows:\n *\n * ===\n *\n * Diff Match and Patch\n *\n * Copyright 2006 Google Inc.\n * http://code.google.com/p/google-diff-match-patch/\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/**\n * The data structure representing a diff is an array of tuples:\n * [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']]\n * which means: delete 'Hello', add 'Goodbye' and keep ' world.'\n */\nvar DIFF_DELETE = -1;\nvar DIFF_INSERT = 1;\nvar DIFF_EQUAL = 0;\n\n\n/**\n * Find the differences between two texts. Simplifies the problem by stripping\n * any common prefix or suffix off the texts before diffing.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {Int|Object} [cursor_pos] Edit position in text1 or object with more info\n * @return {Array} Array of diff tuples.\n */\nfunction diff_main(text1, text2, cursor_pos, _fix_unicode) {\n // Check for equality\n if (text1 === text2) {\n if (text1) {\n return [[DIFF_EQUAL, text1]];\n }\n return [];\n }\n\n if (cursor_pos != null) {\n var editdiff = find_cursor_edit_diff(text1, text2, cursor_pos);\n if (editdiff) {\n return editdiff;\n }\n }\n\n // Trim off common prefix (speedup).\n var commonlength = diff_commonPrefix(text1, text2);\n var commonprefix = text1.substring(0, commonlength);\n text1 = text1.substring(commonlength);\n text2 = text2.substring(commonlength);\n\n // Trim off common suffix (speedup).\n commonlength = diff_commonSuffix(text1, text2);\n var commonsuffix = text1.substring(text1.length - commonlength);\n text1 = text1.substring(0, text1.length - commonlength);\n text2 = text2.substring(0, text2.length - commonlength);\n\n // Compute the diff on the middle block.\n var diffs = diff_compute_(text1, text2);\n\n // Restore the prefix and suffix.\n if (commonprefix) {\n diffs.unshift([DIFF_EQUAL, commonprefix]);\n }\n if (commonsuffix) {\n diffs.push([DIFF_EQUAL, commonsuffix]);\n }\n diff_cleanupMerge(diffs, _fix_unicode);\n return diffs;\n};\n\n\n/**\n * Find the differences between two texts. Assumes that the texts do not\n * have any common prefix or suffix.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_compute_(text1, text2) {\n var diffs;\n\n if (!text1) {\n // Just add some text (speedup).\n return [[DIFF_INSERT, text2]];\n }\n\n if (!text2) {\n // Just delete some text (speedup).\n return [[DIFF_DELETE, text1]];\n }\n\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n var i = longtext.indexOf(shorttext);\n if (i !== -1) {\n // Shorter text is inside the longer text (speedup).\n diffs = [\n [DIFF_INSERT, longtext.substring(0, i)],\n [DIFF_EQUAL, shorttext],\n [DIFF_INSERT, longtext.substring(i + shorttext.length)]\n ];\n // Swap insertions for deletions if diff is reversed.\n if (text1.length > text2.length) {\n diffs[0][0] = diffs[2][0] = DIFF_DELETE;\n }\n return diffs;\n }\n\n if (shorttext.length === 1) {\n // Single character string.\n // After the previous speedup, the character can't be an equality.\n return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n }\n\n // Check to see if the problem can be split in two.\n var hm = diff_halfMatch_(text1, text2);\n if (hm) {\n // A half-match was found, sort out the return data.\n var text1_a = hm[0];\n var text1_b = hm[1];\n var text2_a = hm[2];\n var text2_b = hm[3];\n var mid_common = hm[4];\n // Send both pairs off for separate processing.\n var diffs_a = diff_main(text1_a, text2_a);\n var diffs_b = diff_main(text1_b, text2_b);\n // Merge the results.\n return diffs_a.concat([[DIFF_EQUAL, mid_common]], diffs_b);\n }\n\n return diff_bisect_(text1, text2);\n};\n\n\n/**\n * Find the 'middle snake' of a diff, split the problem in two\n * and return the recursively constructed diff.\n * See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n * @private\n */\nfunction diff_bisect_(text1, text2) {\n // Cache the text lengths to prevent multiple calls.\n var text1_length = text1.length;\n var text2_length = text2.length;\n var max_d = Math.ceil((text1_length + text2_length) / 2);\n var v_offset = max_d;\n var v_length = 2 * max_d;\n var v1 = new Array(v_length);\n var v2 = new Array(v_length);\n // Setting all elements to -1 is faster in Chrome & Firefox than mixing\n // integers and undefined.\n for (var x = 0; x < v_length; x++) {\n v1[x] = -1;\n v2[x] = -1;\n }\n v1[v_offset + 1] = 0;\n v2[v_offset + 1] = 0;\n var delta = text1_length - text2_length;\n // If the total number of characters is odd, then the front path will collide\n // with the reverse path.\n var front = (delta % 2 !== 0);\n // Offsets for start and end of k loop.\n // Prevents mapping of space beyond the grid.\n var k1start = 0;\n var k1end = 0;\n var k2start = 0;\n var k2end = 0;\n for (var d = 0; d < max_d; d++) {\n // Walk the front path one step.\n for (var k1 = -d + k1start; k1 <= d - k1end; k1 += 2) {\n var k1_offset = v_offset + k1;\n var x1;\n if (k1 === -d || (k1 !== d && v1[k1_offset - 1] < v1[k1_offset + 1])) {\n x1 = v1[k1_offset + 1];\n } else {\n x1 = v1[k1_offset - 1] + 1;\n }\n var y1 = x1 - k1;\n while (\n x1 < text1_length && y1 < text2_length &&\n text1.charAt(x1) === text2.charAt(y1)\n ) {\n x1++;\n y1++;\n }\n v1[k1_offset] = x1;\n if (x1 > text1_length) {\n // Ran off the right of the graph.\n k1end += 2;\n } else if (y1 > text2_length) {\n // Ran off the bottom of the graph.\n k1start += 2;\n } else if (front) {\n var k2_offset = v_offset + delta - k1;\n if (k2_offset >= 0 && k2_offset < v_length && v2[k2_offset] !== -1) {\n // Mirror x2 onto top-left coordinate system.\n var x2 = text1_length - v2[k2_offset];\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n\n // Walk the reverse path one step.\n for (var k2 = -d + k2start; k2 <= d - k2end; k2 += 2) {\n var k2_offset = v_offset + k2;\n var x2;\n if (k2 === -d || (k2 !== d && v2[k2_offset - 1] < v2[k2_offset + 1])) {\n x2 = v2[k2_offset + 1];\n } else {\n x2 = v2[k2_offset - 1] + 1;\n }\n var y2 = x2 - k2;\n while (\n x2 < text1_length && y2 < text2_length &&\n text1.charAt(text1_length - x2 - 1) === text2.charAt(text2_length - y2 - 1)\n ) {\n x2++;\n y2++;\n }\n v2[k2_offset] = x2;\n if (x2 > text1_length) {\n // Ran off the left of the graph.\n k2end += 2;\n } else if (y2 > text2_length) {\n // Ran off the top of the graph.\n k2start += 2;\n } else if (!front) {\n var k1_offset = v_offset + delta - k2;\n if (k1_offset >= 0 && k1_offset < v_length && v1[k1_offset] !== -1) {\n var x1 = v1[k1_offset];\n var y1 = v_offset + x1 - k1_offset;\n // Mirror x2 onto top-left coordinate system.\n x2 = text1_length - x2;\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n }\n // Diff took too long and hit the deadline or\n // number of diffs equals number of characters, no commonality at all.\n return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n};\n\n\n/**\n * Given the location of the 'middle snake', split the diff in two parts\n * and recurse.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {number} x Index of split point in text1.\n * @param {number} y Index of split point in text2.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_bisectSplit_(text1, text2, x, y) {\n var text1a = text1.substring(0, x);\n var text2a = text2.substring(0, y);\n var text1b = text1.substring(x);\n var text2b = text2.substring(y);\n\n // Compute both diffs serially.\n var diffs = diff_main(text1a, text2a);\n var diffsb = diff_main(text1b, text2b);\n\n return diffs.concat(diffsb);\n};\n\n\n/**\n * Determine the common prefix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the start of each\n * string.\n */\nfunction diff_commonPrefix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 || text1.charAt(0) !== text2.charAt(0)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerstart = 0;\n while (pointermin < pointermid) {\n if (\n text1.substring(pointerstart, pointermid) ==\n text2.substring(pointerstart, pointermid)\n ) {\n pointermin = pointermid;\n pointerstart = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n\n if (is_surrogate_pair_start(text1.charCodeAt(pointermid - 1))) {\n pointermid--;\n }\n\n return pointermid;\n};\n\n\n/**\n * Determine the common suffix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the end of each string.\n */\nfunction diff_commonSuffix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 || text1.slice(-1) !== text2.slice(-1)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerend = 0;\n while (pointermin < pointermid) {\n if (\n text1.substring(text1.length - pointermid, text1.length - pointerend) ==\n text2.substring(text2.length - pointermid, text2.length - pointerend)\n ) {\n pointermin = pointermid;\n pointerend = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n\n if (is_surrogate_pair_end(text1.charCodeAt(text1.length - pointermid))) {\n pointermid--;\n }\n\n return pointermid;\n};\n\n\n/**\n * Do the two texts share a substring which is at least half the length of the\n * longer text?\n * This speedup can produce non-minimal diffs.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {Array.} Five element Array, containing the prefix of\n * text1, the suffix of text1, the prefix of text2, the suffix of\n * text2 and the common middle. Or null if there was no match.\n */\nfunction diff_halfMatch_(text1, text2) {\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n if (longtext.length < 4 || shorttext.length * 2 < longtext.length) {\n return null; // Pointless.\n }\n\n /**\n * Does a substring of shorttext exist within longtext such that the substring\n * is at least half the length of longtext?\n * Closure, but does not reference any external variables.\n * @param {string} longtext Longer string.\n * @param {string} shorttext Shorter string.\n * @param {number} i Start index of quarter length substring within longtext.\n * @return {Array.} Five element Array, containing the prefix of\n * longtext, the suffix of longtext, the prefix of shorttext, the suffix\n * of shorttext and the common middle. Or null if there was no match.\n * @private\n */\n function diff_halfMatchI_(longtext, shorttext, i) {\n // Start with a 1/4 length substring at position i as a seed.\n var seed = longtext.substring(i, i + Math.floor(longtext.length / 4));\n var j = -1;\n var best_common = '';\n var best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b;\n while ((j = shorttext.indexOf(seed, j + 1)) !== -1) {\n var prefixLength = diff_commonPrefix(\n longtext.substring(i), shorttext.substring(j));\n var suffixLength = diff_commonSuffix(\n longtext.substring(0, i), shorttext.substring(0, j));\n if (best_common.length < suffixLength + prefixLength) {\n best_common = shorttext.substring(\n j - suffixLength, j) + shorttext.substring(j, j + prefixLength);\n best_longtext_a = longtext.substring(0, i - suffixLength);\n best_longtext_b = longtext.substring(i + prefixLength);\n best_shorttext_a = shorttext.substring(0, j - suffixLength);\n best_shorttext_b = shorttext.substring(j + prefixLength);\n }\n }\n if (best_common.length * 2 >= longtext.length) {\n return [\n best_longtext_a, best_longtext_b,\n best_shorttext_a, best_shorttext_b, best_common\n ];\n } else {\n return null;\n }\n }\n\n // First check if the second quarter is the seed for a half-match.\n var hm1 = diff_halfMatchI_(longtext, shorttext, Math.ceil(longtext.length / 4));\n // Check again based on the third quarter.\n var hm2 = diff_halfMatchI_(longtext, shorttext, Math.ceil(longtext.length / 2));\n var hm;\n if (!hm1 && !hm2) {\n return null;\n } else if (!hm2) {\n hm = hm1;\n } else if (!hm1) {\n hm = hm2;\n } else {\n // Both matched. Select the longest.\n hm = hm1[4].length > hm2[4].length ? hm1 : hm2;\n }\n\n // A half-match was found, sort out the return data.\n var text1_a, text1_b, text2_a, text2_b;\n if (text1.length > text2.length) {\n text1_a = hm[0];\n text1_b = hm[1];\n text2_a = hm[2];\n text2_b = hm[3];\n } else {\n text2_a = hm[0];\n text2_b = hm[1];\n text1_a = hm[2];\n text1_b = hm[3];\n }\n var mid_common = hm[4];\n return [text1_a, text1_b, text2_a, text2_b, mid_common];\n};\n\n\n/**\n * Reorder and merge like edit sections. Merge equalities.\n * Any edit section can move as long as it doesn't cross an equality.\n * @param {Array} diffs Array of diff tuples.\n * @param {boolean} fix_unicode Whether to normalize to a unicode-correct diff\n */\nfunction diff_cleanupMerge(diffs, fix_unicode) {\n diffs.push([DIFF_EQUAL, '']); // Add a dummy entry at the end.\n var pointer = 0;\n var count_delete = 0;\n var count_insert = 0;\n var text_delete = '';\n var text_insert = '';\n var commonlength;\n while (pointer < diffs.length) {\n if (pointer < diffs.length - 1 && !diffs[pointer][1]) {\n diffs.splice(pointer, 1);\n continue;\n }\n switch (diffs[pointer][0]) {\n case DIFF_INSERT:\n\n count_insert++;\n text_insert += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_DELETE:\n count_delete++;\n text_delete += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_EQUAL:\n var previous_equality = pointer - count_insert - count_delete - 1;\n if (fix_unicode) {\n // prevent splitting of unicode surrogate pairs. when fix_unicode is true,\n // we assume that the old and new text in the diff are complete and correct\n // unicode-encoded JS strings, but the tuple boundaries may fall between\n // surrogate pairs. we fix this by shaving off stray surrogates from the end\n // of the previous equality and the beginning of this equality. this may create\n // empty equalities or a common prefix or suffix. for example, if AB and AC are\n // emojis, `[[0, 'A'], [-1, 'BA'], [0, 'C']]` would turn into deleting 'ABAC' and\n // inserting 'AC', and then the common suffix 'AC' will be eliminated. in this\n // particular case, both equalities go away, we absorb any previous inequalities,\n // and we keep scanning for the next equality before rewriting the tuples.\n if (previous_equality >= 0 && ends_with_pair_start(diffs[previous_equality][1])) {\n var stray = diffs[previous_equality][1].slice(-1);\n diffs[previous_equality][1] = diffs[previous_equality][1].slice(0, -1);\n text_delete = stray + text_delete;\n text_insert = stray + text_insert;\n if (!diffs[previous_equality][1]) {\n // emptied out previous equality, so delete it and include previous delete/insert\n diffs.splice(previous_equality, 1);\n pointer--;\n var k = previous_equality - 1;\n if (diffs[k] && diffs[k][0] === DIFF_INSERT) {\n count_insert++;\n text_insert = diffs[k][1] + text_insert;\n k--;\n }\n if (diffs[k] && diffs[k][0] === DIFF_DELETE) {\n count_delete++;\n text_delete = diffs[k][1] + text_delete;\n k--;\n }\n previous_equality = k;\n }\n }\n if (starts_with_pair_end(diffs[pointer][1])) {\n var stray = diffs[pointer][1].charAt(0);\n diffs[pointer][1] = diffs[pointer][1].slice(1);\n text_delete += stray;\n text_insert += stray;\n }\n }\n if (pointer < diffs.length - 1 && !diffs[pointer][1]) {\n // for empty equality not at end, wait for next equality\n diffs.splice(pointer, 1);\n break;\n }\n if (text_delete.length > 0 || text_insert.length > 0) {\n // note that diff_commonPrefix and diff_commonSuffix are unicode-aware\n if (text_delete.length > 0 && text_insert.length > 0) {\n // Factor out any common prefixes.\n commonlength = diff_commonPrefix(text_insert, text_delete);\n if (commonlength !== 0) {\n if (previous_equality >= 0) {\n diffs[previous_equality][1] += text_insert.substring(0, commonlength);\n } else {\n diffs.splice(0, 0, [DIFF_EQUAL, text_insert.substring(0, commonlength)]);\n pointer++;\n }\n text_insert = text_insert.substring(commonlength);\n text_delete = text_delete.substring(commonlength);\n }\n // Factor out any common suffixes.\n commonlength = diff_commonSuffix(text_insert, text_delete);\n if (commonlength !== 0) {\n diffs[pointer][1] =\n text_insert.substring(text_insert.length - commonlength) + diffs[pointer][1];\n text_insert = text_insert.substring(0, text_insert.length - commonlength);\n text_delete = text_delete.substring(0, text_delete.length - commonlength);\n }\n }\n // Delete the offending records and add the merged ones.\n var n = count_insert + count_delete;\n if (text_delete.length === 0 && text_insert.length === 0) {\n diffs.splice(pointer - n, n);\n pointer = pointer - n;\n } else if (text_delete.length === 0) {\n diffs.splice(pointer - n, n, [DIFF_INSERT, text_insert]);\n pointer = pointer - n + 1;\n } else if (text_insert.length === 0) {\n diffs.splice(pointer - n, n, [DIFF_DELETE, text_delete]);\n pointer = pointer - n + 1;\n } else {\n diffs.splice(pointer - n, n, [DIFF_DELETE, text_delete], [DIFF_INSERT, text_insert]);\n pointer = pointer - n + 2;\n }\n }\n if (pointer !== 0 && diffs[pointer - 1][0] === DIFF_EQUAL) {\n // Merge this equality with the previous one.\n diffs[pointer - 1][1] += diffs[pointer][1];\n diffs.splice(pointer, 1);\n } else {\n pointer++;\n }\n count_insert = 0;\n count_delete = 0;\n text_delete = '';\n text_insert = '';\n break;\n }\n }\n if (diffs[diffs.length - 1][1] === '') {\n diffs.pop(); // Remove the dummy entry at the end.\n }\n\n // Second pass: look for single edits surrounded on both sides by equalities\n // which can be shifted sideways to eliminate an equality.\n // e.g: ABAC -> ABAC\n var changes = false;\n pointer = 1;\n // Intentionally ignore the first and last element (don't need checking).\n while (pointer < diffs.length - 1) {\n if (diffs[pointer - 1][0] === DIFF_EQUAL &&\n diffs[pointer + 1][0] === DIFF_EQUAL) {\n // This is a single edit surrounded by equalities.\n if (diffs[pointer][1].substring(diffs[pointer][1].length -\n diffs[pointer - 1][1].length) === diffs[pointer - 1][1]) {\n // Shift the edit over the previous equality.\n diffs[pointer][1] = diffs[pointer - 1][1] +\n diffs[pointer][1].substring(0, diffs[pointer][1].length -\n diffs[pointer - 1][1].length);\n diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1];\n diffs.splice(pointer - 1, 1);\n changes = true;\n } else if (diffs[pointer][1].substring(0, diffs[pointer + 1][1].length) ==\n diffs[pointer + 1][1]) {\n // Shift the edit over the next equality.\n diffs[pointer - 1][1] += diffs[pointer + 1][1];\n diffs[pointer][1] =\n diffs[pointer][1].substring(diffs[pointer + 1][1].length) +\n diffs[pointer + 1][1];\n diffs.splice(pointer + 1, 1);\n changes = true;\n }\n }\n pointer++;\n }\n // If shifts were made, the diff needs reordering and another shift sweep.\n if (changes) {\n diff_cleanupMerge(diffs, fix_unicode);\n }\n};\n\nfunction is_surrogate_pair_start(charCode) {\n return charCode >= 0xD800 && charCode <= 0xDBFF;\n}\n\nfunction is_surrogate_pair_end(charCode) {\n return charCode >= 0xDC00 && charCode <= 0xDFFF;\n}\n\nfunction starts_with_pair_end(str) {\n return is_surrogate_pair_end(str.charCodeAt(0));\n}\n\nfunction ends_with_pair_start(str) {\n return is_surrogate_pair_start(str.charCodeAt(str.length - 1));\n}\n\nfunction remove_empty_tuples(tuples) {\n var ret = [];\n for (var i = 0; i < tuples.length; i++) {\n if (tuples[i][1].length > 0) {\n ret.push(tuples[i]);\n }\n }\n return ret;\n}\n\nfunction make_edit_splice(before, oldMiddle, newMiddle, after) {\n if (ends_with_pair_start(before) || starts_with_pair_end(after)) {\n return null;\n }\n return remove_empty_tuples([\n [DIFF_EQUAL, before],\n [DIFF_DELETE, oldMiddle],\n [DIFF_INSERT, newMiddle],\n [DIFF_EQUAL, after]\n ]);\n}\n\nfunction find_cursor_edit_diff(oldText, newText, cursor_pos) {\n // note: this runs after equality check has ruled out exact equality\n var oldRange = typeof cursor_pos === 'number' ?\n { index: cursor_pos, length: 0 } : cursor_pos.oldRange;\n var newRange = typeof cursor_pos === 'number' ?\n null : cursor_pos.newRange;\n // take into account the old and new selection to generate the best diff\n // possible for a text edit. for example, a text change from \"xxx\" to \"xx\"\n // could be a delete or forwards-delete of any one of the x's, or the\n // result of selecting two of the x's and typing \"x\".\n var oldLength = oldText.length;\n var newLength = newText.length;\n if (oldRange.length === 0 && (newRange === null || newRange.length === 0)) {\n // see if we have an insert or delete before or after cursor\n var oldCursor = oldRange.index;\n var oldBefore = oldText.slice(0, oldCursor);\n var oldAfter = oldText.slice(oldCursor);\n var maybeNewCursor = newRange ? newRange.index : null;\n editBefore: {\n // is this an insert or delete right before oldCursor?\n var newCursor = oldCursor + newLength - oldLength;\n if (maybeNewCursor !== null && maybeNewCursor !== newCursor) {\n break editBefore;\n }\n if (newCursor < 0 || newCursor > newLength) {\n break editBefore;\n }\n var newBefore = newText.slice(0, newCursor);\n var newAfter = newText.slice(newCursor);\n if (newAfter !== oldAfter) {\n break editBefore;\n }\n var prefixLength = Math.min(oldCursor, newCursor);\n var oldPrefix = oldBefore.slice(0, prefixLength);\n var newPrefix = newBefore.slice(0, prefixLength);\n if (oldPrefix !== newPrefix) {\n break editBefore;\n }\n var oldMiddle = oldBefore.slice(prefixLength);\n var newMiddle = newBefore.slice(prefixLength);\n return make_edit_splice(oldPrefix, oldMiddle, newMiddle, oldAfter);\n }\n editAfter: {\n // is this an insert or delete right after oldCursor?\n if (maybeNewCursor !== null && maybeNewCursor !== oldCursor) {\n break editAfter;\n }\n var cursor = oldCursor;\n var newBefore = newText.slice(0, cursor);\n var newAfter = newText.slice(cursor);\n if (newBefore !== oldBefore) {\n break editAfter;\n }\n var suffixLength = Math.min(oldLength - cursor, newLength - cursor);\n var oldSuffix = oldAfter.slice(oldAfter.length - suffixLength);\n var newSuffix = newAfter.slice(newAfter.length - suffixLength);\n if (oldSuffix !== newSuffix) {\n break editAfter;\n }\n var oldMiddle = oldAfter.slice(0, oldAfter.length - suffixLength);\n var newMiddle = newAfter.slice(0, newAfter.length - suffixLength);\n return make_edit_splice(oldBefore, oldMiddle, newMiddle, oldSuffix);\n }\n }\n if (oldRange.length > 0 && newRange && newRange.length === 0) {\n replaceRange: {\n // see if diff could be a splice of the old selection range\n var oldPrefix = oldText.slice(0, oldRange.index);\n var oldSuffix = oldText.slice(oldRange.index + oldRange.length);\n var prefixLength = oldPrefix.length;\n var suffixLength = oldSuffix.length;\n if (newLength < prefixLength + suffixLength) {\n break replaceRange;\n }\n var newPrefix = newText.slice(0, prefixLength);\n var newSuffix = newText.slice(newLength - suffixLength);\n if (oldPrefix !== newPrefix || oldSuffix !== newSuffix) {\n break replaceRange;\n }\n var oldMiddle = oldText.slice(prefixLength, oldLength - suffixLength);\n var newMiddle = newText.slice(prefixLength, newLength - suffixLength);\n return make_edit_splice(oldPrefix, oldMiddle, newMiddle, oldSuffix);\n }\n }\n\n return null;\n}\n\nfunction diff(text1, text2, cursor_pos) {\n // only pass fix_unicode=true at the top level, not when diff_main is\n // recursively invoked\n return diff_main(text1, text2, cursor_pos, true);\n}\n\ndiff.INSERT = DIFF_INSERT;\ndiff.DELETE = DIFF_DELETE;\ndiff.EQUAL = DIFF_EQUAL;\n\nmodule.exports = diff;\n\n\n/***/ }),\n\n/***/ 8805:\n/***/ ((module, exports, __webpack_require__) => {\n\n/* module decorator */ module = __webpack_require__.nmd(module);\n/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = true && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && \"object\" == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/**\n * Adds the key-value `pair` to `map`.\n *\n * @private\n * @param {Object} map The map to modify.\n * @param {Array} pair The key-value pair to add.\n * @returns {Object} Returns `map`.\n */\nfunction addMapEntry(map, pair) {\n // Don't return `map.set` because it's not chainable in IE 11.\n map.set(pair[0], pair[1]);\n return map;\n}\n\n/**\n * Adds `value` to `set`.\n *\n * @private\n * @param {Object} set The set to modify.\n * @param {*} value The value to add.\n * @returns {Object} Returns `set`.\n */\nfunction addSetEntry(set, value) {\n // Don't return `set.add` because it's not chainable in IE 11.\n set.add(value);\n return set;\n}\n\n/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array ? array.length : 0;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {boolean} [isFull] Specify a clone including symbols.\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, isFull, customizer, key, object, stack) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n if (isHostObject(value)) {\n return object ? value : {};\n }\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, baseClone, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (!isArr) {\n var props = isFull ? getAllKeys(value) : keys(value);\n }\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, isDeep, isFull, customizer, key, value, stack));\n });\n return result;\n}\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} prototype The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nfunction baseCreate(proto) {\n return isObject(proto) ? objectCreate(proto) : {};\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var result = new buffer.constructor(buffer.length);\n buffer.copy(result);\n return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\n/**\n * Creates a clone of `map`.\n *\n * @private\n * @param {Object} map The map to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned map.\n */\nfunction cloneMap(map, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map);\n return arrayReduce(array, addMapEntry, new map.constructor);\n}\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\n/**\n * Creates a clone of `set`.\n *\n * @private\n * @param {Object} set The set to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned set.\n */\nfunction cloneSet(set, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(setToArray(set), true) : setToArray(set);\n return arrayReduce(array, addSetEntry, new set.constructor);\n}\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n assignValue(object, key, newValue === undefined ? source[key] : newValue);\n }\n return object;\n}\n\n/**\n * Copies own symbol properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Creates an array of the own enumerable symbol properties of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, cloneFunc, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return cloneMap(object, isDeep, cloneFunc);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return cloneSet(object, isDeep, cloneFunc);\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, true, true);\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = cloneDeep;\n\n\n/***/ }),\n\n/***/ 2722:\n/***/ ((module, exports, __webpack_require__) => {\n\n/* module decorator */ module = __webpack_require__.nmd(module);\n/**\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = true && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && \"object\" == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEqual;\n\n\n/***/ }),\n\n/***/ 732:\n/***/ ((module, exports, __webpack_require__) => {\n\n/* module decorator */ module = __webpack_require__.nmd(module);\n/**\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = true && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && \"object\" == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeMax = Math.max,\n nativeNow = Date.now;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\n/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = merge;\n\n\n/***/ }),\n\n/***/ 5143:\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst cloneDeep = __webpack_require__(8805);\nconst isEqual = __webpack_require__(2722);\nvar AttributeMap;\n(function (AttributeMap) {\n function compose(a = {}, b = {}, keepNull = false) {\n if (typeof a !== 'object') {\n a = {};\n }\n if (typeof b !== 'object') {\n b = {};\n }\n let attributes = cloneDeep(b);\n if (!keepNull) {\n attributes = Object.keys(attributes).reduce((copy, key) => {\n if (attributes[key] != null) {\n copy[key] = attributes[key];\n }\n return copy;\n }, {});\n }\n for (const key in a) {\n if (a[key] !== undefined && b[key] === undefined) {\n attributes[key] = a[key];\n }\n }\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n }\n AttributeMap.compose = compose;\n function diff(a = {}, b = {}) {\n if (typeof a !== 'object') {\n a = {};\n }\n if (typeof b !== 'object') {\n b = {};\n }\n const attributes = Object.keys(a)\n .concat(Object.keys(b))\n .reduce((attrs, key) => {\n if (!isEqual(a[key], b[key])) {\n attrs[key] = b[key] === undefined ? null : b[key];\n }\n return attrs;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n }\n AttributeMap.diff = diff;\n function invert(attr = {}, base = {}) {\n attr = attr || {};\n const baseInverted = Object.keys(base).reduce((memo, key) => {\n if (base[key] !== attr[key] && attr[key] !== undefined) {\n memo[key] = base[key];\n }\n return memo;\n }, {});\n return Object.keys(attr).reduce((memo, key) => {\n if (attr[key] !== base[key] && base[key] === undefined) {\n memo[key] = null;\n }\n return memo;\n }, baseInverted);\n }\n AttributeMap.invert = invert;\n function transform(a, b, priority = false) {\n if (typeof a !== 'object') {\n return b;\n }\n if (typeof b !== 'object') {\n return undefined;\n }\n if (!priority) {\n return b; // b simply overwrites us without priority\n }\n const attributes = Object.keys(b).reduce((attrs, key) => {\n if (a[key] === undefined) {\n attrs[key] = b[key]; // null is a valid value\n }\n return attrs;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n }\n AttributeMap.transform = transform;\n})(AttributeMap || (AttributeMap = {}));\nexports[\"default\"] = AttributeMap;\n\n\n/***/ }),\n\n/***/ 9098:\n/***/ ((module, exports, __webpack_require__) => {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AttributeMap = exports.OpIterator = exports.Op = void 0;\nconst diff = __webpack_require__(1456);\nconst cloneDeep = __webpack_require__(8805);\nconst isEqual = __webpack_require__(2722);\nconst AttributeMap_1 = __webpack_require__(5143);\nexports.AttributeMap = AttributeMap_1.default;\nconst Op_1 = __webpack_require__(6237);\nexports.Op = Op_1.default;\nconst OpIterator_1 = __webpack_require__(2849);\nexports.OpIterator = OpIterator_1.default;\nconst NULL_CHARACTER = String.fromCharCode(0); // Placeholder char for embed in diff()\nconst getEmbedTypeAndData = (a, b) => {\n if (typeof a !== 'object' || a === null) {\n throw new Error(`cannot retain a ${typeof a}`);\n }\n if (typeof b !== 'object' || b === null) {\n throw new Error(`cannot retain a ${typeof b}`);\n }\n const embedType = Object.keys(a)[0];\n if (!embedType || embedType !== Object.keys(b)[0]) {\n throw new Error(`embed types not matched: ${embedType} != ${Object.keys(b)[0]}`);\n }\n return [embedType, a[embedType], b[embedType]];\n};\nclass Delta {\n constructor(ops) {\n // Assume we are given a well formed ops\n if (Array.isArray(ops)) {\n this.ops = ops;\n }\n else if (ops != null && Array.isArray(ops.ops)) {\n this.ops = ops.ops;\n }\n else {\n this.ops = [];\n }\n }\n static registerEmbed(embedType, handler) {\n this.handlers[embedType] = handler;\n }\n static unregisterEmbed(embedType) {\n delete this.handlers[embedType];\n }\n static getHandler(embedType) {\n const handler = this.handlers[embedType];\n if (!handler) {\n throw new Error(`no handlers for embed type \"${embedType}\"`);\n }\n return handler;\n }\n insert(arg, attributes) {\n const newOp = {};\n if (typeof arg === 'string' && arg.length === 0) {\n return this;\n }\n newOp.insert = arg;\n if (attributes != null &&\n typeof attributes === 'object' &&\n Object.keys(attributes).length > 0) {\n newOp.attributes = attributes;\n }\n return this.push(newOp);\n }\n delete(length) {\n if (length <= 0) {\n return this;\n }\n return this.push({ delete: length });\n }\n retain(length, attributes) {\n if (typeof length === 'number' && length <= 0) {\n return this;\n }\n const newOp = { retain: length };\n if (attributes != null &&\n typeof attributes === 'object' &&\n Object.keys(attributes).length > 0) {\n newOp.attributes = attributes;\n }\n return this.push(newOp);\n }\n push(newOp) {\n let index = this.ops.length;\n let lastOp = this.ops[index - 1];\n newOp = cloneDeep(newOp);\n if (typeof lastOp === 'object') {\n if (typeof newOp.delete === 'number' &&\n typeof lastOp.delete === 'number') {\n this.ops[index - 1] = { delete: lastOp.delete + newOp.delete };\n return this;\n }\n // Since it does not matter if we insert before or after deleting at the same index,\n // always prefer to insert first\n if (typeof lastOp.delete === 'number' && newOp.insert != null) {\n index -= 1;\n lastOp = this.ops[index - 1];\n if (typeof lastOp !== 'object') {\n this.ops.unshift(newOp);\n return this;\n }\n }\n if (isEqual(newOp.attributes, lastOp.attributes)) {\n if (typeof newOp.insert === 'string' &&\n typeof lastOp.insert === 'string') {\n this.ops[index - 1] = { insert: lastOp.insert + newOp.insert };\n if (typeof newOp.attributes === 'object') {\n this.ops[index - 1].attributes = newOp.attributes;\n }\n return this;\n }\n else if (typeof newOp.retain === 'number' &&\n typeof lastOp.retain === 'number') {\n this.ops[index - 1] = { retain: lastOp.retain + newOp.retain };\n if (typeof newOp.attributes === 'object') {\n this.ops[index - 1].attributes = newOp.attributes;\n }\n return this;\n }\n }\n }\n if (index === this.ops.length) {\n this.ops.push(newOp);\n }\n else {\n this.ops.splice(index, 0, newOp);\n }\n return this;\n }\n chop() {\n const lastOp = this.ops[this.ops.length - 1];\n if (lastOp && typeof lastOp.retain === 'number' && !lastOp.attributes) {\n this.ops.pop();\n }\n return this;\n }\n filter(predicate) {\n return this.ops.filter(predicate);\n }\n forEach(predicate) {\n this.ops.forEach(predicate);\n }\n map(predicate) {\n return this.ops.map(predicate);\n }\n partition(predicate) {\n const passed = [];\n const failed = [];\n this.forEach((op) => {\n const target = predicate(op) ? passed : failed;\n target.push(op);\n });\n return [passed, failed];\n }\n reduce(predicate, initialValue) {\n return this.ops.reduce(predicate, initialValue);\n }\n changeLength() {\n return this.reduce((length, elem) => {\n if (elem.insert) {\n return length + Op_1.default.length(elem);\n }\n else if (elem.delete) {\n return length - elem.delete;\n }\n return length;\n }, 0);\n }\n length() {\n return this.reduce((length, elem) => {\n return length + Op_1.default.length(elem);\n }, 0);\n }\n slice(start = 0, end = Infinity) {\n const ops = [];\n const iter = new OpIterator_1.default(this.ops);\n let index = 0;\n while (index < end && iter.hasNext()) {\n let nextOp;\n if (index < start) {\n nextOp = iter.next(start - index);\n }\n else {\n nextOp = iter.next(end - index);\n ops.push(nextOp);\n }\n index += Op_1.default.length(nextOp);\n }\n return new Delta(ops);\n }\n compose(other) {\n const thisIter = new OpIterator_1.default(this.ops);\n const otherIter = new OpIterator_1.default(other.ops);\n const ops = [];\n const firstOther = otherIter.peek();\n if (firstOther != null &&\n typeof firstOther.retain === 'number' &&\n firstOther.attributes == null) {\n let firstLeft = firstOther.retain;\n while (thisIter.peekType() === 'insert' &&\n thisIter.peekLength() <= firstLeft) {\n firstLeft -= thisIter.peekLength();\n ops.push(thisIter.next());\n }\n if (firstOther.retain - firstLeft > 0) {\n otherIter.next(firstOther.retain - firstLeft);\n }\n }\n const delta = new Delta(ops);\n while (thisIter.hasNext() || otherIter.hasNext()) {\n if (otherIter.peekType() === 'insert') {\n delta.push(otherIter.next());\n }\n else if (thisIter.peekType() === 'delete') {\n delta.push(thisIter.next());\n }\n else {\n const length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n const thisOp = thisIter.next(length);\n const otherOp = otherIter.next(length);\n if (otherOp.retain) {\n const newOp = {};\n if (typeof thisOp.retain === 'number') {\n newOp.retain =\n typeof otherOp.retain === 'number' ? length : otherOp.retain;\n }\n else {\n if (typeof otherOp.retain === 'number') {\n if (thisOp.retain == null) {\n newOp.insert = thisOp.insert;\n }\n else {\n newOp.retain = thisOp.retain;\n }\n }\n else {\n const action = thisOp.retain == null ? 'insert' : 'retain';\n const [embedType, thisData, otherData] = getEmbedTypeAndData(thisOp[action], otherOp.retain);\n const handler = Delta.getHandler(embedType);\n newOp[action] = {\n [embedType]: handler.compose(thisData, otherData, action === 'retain'),\n };\n }\n }\n // Preserve null when composing with a retain, otherwise remove it for inserts\n const attributes = AttributeMap_1.default.compose(thisOp.attributes, otherOp.attributes, typeof thisOp.retain === 'number');\n if (attributes) {\n newOp.attributes = attributes;\n }\n delta.push(newOp);\n // Optimization if rest of other is just retain\n if (!otherIter.hasNext() &&\n isEqual(delta.ops[delta.ops.length - 1], newOp)) {\n const rest = new Delta(thisIter.rest());\n return delta.concat(rest).chop();\n }\n // Other op should be delete, we could be an insert or retain\n // Insert + delete cancels out\n }\n else if (typeof otherOp.delete === 'number' &&\n (typeof thisOp.retain === 'number' ||\n (typeof thisOp.retain === 'object' && thisOp.retain !== null))) {\n delta.push(otherOp);\n }\n }\n }\n return delta.chop();\n }\n concat(other) {\n const delta = new Delta(this.ops.slice());\n if (other.ops.length > 0) {\n delta.push(other.ops[0]);\n delta.ops = delta.ops.concat(other.ops.slice(1));\n }\n return delta;\n }\n diff(other, cursor) {\n if (this.ops === other.ops) {\n return new Delta();\n }\n const strings = [this, other].map((delta) => {\n return delta\n .map((op) => {\n if (op.insert != null) {\n return typeof op.insert === 'string' ? op.insert : NULL_CHARACTER;\n }\n const prep = delta === other ? 'on' : 'with';\n throw new Error('diff() called ' + prep + ' non-document');\n })\n .join('');\n });\n const retDelta = new Delta();\n const diffResult = diff(strings[0], strings[1], cursor);\n const thisIter = new OpIterator_1.default(this.ops);\n const otherIter = new OpIterator_1.default(other.ops);\n diffResult.forEach((component) => {\n let length = component[1].length;\n while (length > 0) {\n let opLength = 0;\n switch (component[0]) {\n case diff.INSERT:\n opLength = Math.min(otherIter.peekLength(), length);\n retDelta.push(otherIter.next(opLength));\n break;\n case diff.DELETE:\n opLength = Math.min(length, thisIter.peekLength());\n thisIter.next(opLength);\n retDelta.delete(opLength);\n break;\n case diff.EQUAL:\n opLength = Math.min(thisIter.peekLength(), otherIter.peekLength(), length);\n const thisOp = thisIter.next(opLength);\n const otherOp = otherIter.next(opLength);\n if (isEqual(thisOp.insert, otherOp.insert)) {\n retDelta.retain(opLength, AttributeMap_1.default.diff(thisOp.attributes, otherOp.attributes));\n }\n else {\n retDelta.push(otherOp).delete(opLength);\n }\n break;\n }\n length -= opLength;\n }\n });\n return retDelta.chop();\n }\n eachLine(predicate, newline = '\\n') {\n const iter = new OpIterator_1.default(this.ops);\n let line = new Delta();\n let i = 0;\n while (iter.hasNext()) {\n if (iter.peekType() !== 'insert') {\n return;\n }\n const thisOp = iter.peek();\n const start = Op_1.default.length(thisOp) - iter.peekLength();\n const index = typeof thisOp.insert === 'string'\n ? thisOp.insert.indexOf(newline, start) - start\n : -1;\n if (index < 0) {\n line.push(iter.next());\n }\n else if (index > 0) {\n line.push(iter.next(index));\n }\n else {\n if (predicate(line, iter.next(1).attributes || {}, i) === false) {\n return;\n }\n i += 1;\n line = new Delta();\n }\n }\n if (line.length() > 0) {\n predicate(line, {}, i);\n }\n }\n invert(base) {\n const inverted = new Delta();\n this.reduce((baseIndex, op) => {\n if (op.insert) {\n inverted.delete(Op_1.default.length(op));\n }\n else if (typeof op.retain === 'number' && op.attributes == null) {\n inverted.retain(op.retain);\n return baseIndex + op.retain;\n }\n else if (op.delete || typeof op.retain === 'number') {\n const length = (op.delete || op.retain);\n const slice = base.slice(baseIndex, baseIndex + length);\n slice.forEach((baseOp) => {\n if (op.delete) {\n inverted.push(baseOp);\n }\n else if (op.retain && op.attributes) {\n inverted.retain(Op_1.default.length(baseOp), AttributeMap_1.default.invert(op.attributes, baseOp.attributes));\n }\n });\n return baseIndex + length;\n }\n else if (typeof op.retain === 'object' && op.retain !== null) {\n const slice = base.slice(baseIndex, baseIndex + 1);\n const baseOp = new OpIterator_1.default(slice.ops).next();\n const [embedType, opData, baseOpData] = getEmbedTypeAndData(op.retain, baseOp.insert);\n const handler = Delta.getHandler(embedType);\n inverted.retain({ [embedType]: handler.invert(opData, baseOpData) }, AttributeMap_1.default.invert(op.attributes, baseOp.attributes));\n return baseIndex + 1;\n }\n return baseIndex;\n }, 0);\n return inverted.chop();\n }\n transform(arg, priority = false) {\n priority = !!priority;\n if (typeof arg === 'number') {\n return this.transformPosition(arg, priority);\n }\n const other = arg;\n const thisIter = new OpIterator_1.default(this.ops);\n const otherIter = new OpIterator_1.default(other.ops);\n const delta = new Delta();\n while (thisIter.hasNext() || otherIter.hasNext()) {\n if (thisIter.peekType() === 'insert' &&\n (priority || otherIter.peekType() !== 'insert')) {\n delta.retain(Op_1.default.length(thisIter.next()));\n }\n else if (otherIter.peekType() === 'insert') {\n delta.push(otherIter.next());\n }\n else {\n const length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n const thisOp = thisIter.next(length);\n const otherOp = otherIter.next(length);\n if (thisOp.delete) {\n // Our delete either makes their delete redundant or removes their retain\n continue;\n }\n else if (otherOp.delete) {\n delta.push(otherOp);\n }\n else {\n const thisData = thisOp.retain;\n const otherData = otherOp.retain;\n let transformedData = typeof otherData === 'object' && otherData !== null\n ? otherData\n : length;\n if (typeof thisData === 'object' &&\n thisData !== null &&\n typeof otherData === 'object' &&\n otherData !== null) {\n const embedType = Object.keys(thisData)[0];\n if (embedType === Object.keys(otherData)[0]) {\n const handler = Delta.getHandler(embedType);\n if (handler) {\n transformedData = {\n [embedType]: handler.transform(thisData[embedType], otherData[embedType], priority),\n };\n }\n }\n }\n // We retain either their retain or insert\n delta.retain(transformedData, AttributeMap_1.default.transform(thisOp.attributes, otherOp.attributes, priority));\n }\n }\n }\n return delta.chop();\n }\n transformPosition(index, priority = false) {\n priority = !!priority;\n const thisIter = new OpIterator_1.default(this.ops);\n let offset = 0;\n while (thisIter.hasNext() && offset <= index) {\n const length = thisIter.peekLength();\n const nextType = thisIter.peekType();\n thisIter.next();\n if (nextType === 'delete') {\n index -= Math.min(length, index - offset);\n continue;\n }\n else if (nextType === 'insert' && (offset < index || !priority)) {\n index += length;\n }\n offset += length;\n }\n return index;\n }\n}\nDelta.Op = Op_1.default;\nDelta.OpIterator = OpIterator_1.default;\nDelta.AttributeMap = AttributeMap_1.default;\nDelta.handlers = {};\nexports[\"default\"] = Delta;\nif (true) {\n module.exports = Delta;\n module.exports[\"default\"] = Delta;\n}\n\n\n/***/ }),\n\n/***/ 6237:\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar Op;\n(function (Op) {\n function length(op) {\n if (typeof op.delete === 'number') {\n return op.delete;\n }\n else if (typeof op.retain === 'number') {\n return op.retain;\n }\n else if (typeof op.retain === 'object' && op.retain !== null) {\n return 1;\n }\n else {\n return typeof op.insert === 'string' ? op.insert.length : 1;\n }\n }\n Op.length = length;\n})(Op || (Op = {}));\nexports[\"default\"] = Op;\n\n\n/***/ }),\n\n/***/ 2849:\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst Op_1 = __webpack_require__(6237);\nclass Iterator {\n constructor(ops) {\n this.ops = ops;\n this.index = 0;\n this.offset = 0;\n }\n hasNext() {\n return this.peekLength() < Infinity;\n }\n next(length) {\n if (!length) {\n length = Infinity;\n }\n const nextOp = this.ops[this.index];\n if (nextOp) {\n const offset = this.offset;\n const opLength = Op_1.default.length(nextOp);\n if (length >= opLength - offset) {\n length = opLength - offset;\n this.index += 1;\n this.offset = 0;\n }\n else {\n this.offset += length;\n }\n if (typeof nextOp.delete === 'number') {\n return { delete: length };\n }\n else {\n const retOp = {};\n if (nextOp.attributes) {\n retOp.attributes = nextOp.attributes;\n }\n if (typeof nextOp.retain === 'number') {\n retOp.retain = length;\n }\n else if (typeof nextOp.retain === 'object' &&\n nextOp.retain !== null) {\n // offset should === 0, length should === 1\n retOp.retain = nextOp.retain;\n }\n else if (typeof nextOp.insert === 'string') {\n retOp.insert = nextOp.insert.substr(offset, length);\n }\n else {\n // offset should === 0, length should === 1\n retOp.insert = nextOp.insert;\n }\n return retOp;\n }\n }\n else {\n return { retain: Infinity };\n }\n }\n peek() {\n return this.ops[this.index];\n }\n peekLength() {\n if (this.ops[this.index]) {\n // Should never return 0 if our index is being managed correctly\n return Op_1.default.length(this.ops[this.index]) - this.offset;\n }\n else {\n return Infinity;\n }\n }\n peekType() {\n const op = this.ops[this.index];\n if (op) {\n if (typeof op.delete === 'number') {\n return 'delete';\n }\n else if (typeof op.retain === 'number' ||\n (typeof op.retain === 'object' && op.retain !== null)) {\n return 'retain';\n }\n else {\n return 'insert';\n }\n }\n return 'retain';\n }\n rest() {\n if (!this.hasNext()) {\n return [];\n }\n else if (this.offset === 0) {\n return this.ops.slice(this.index);\n }\n else {\n const offset = this.offset;\n const index = this.index;\n const next = this.next();\n const rest = this.ops.slice(this.index);\n this.offset = offset;\n this.index = index;\n return [next].concat(rest);\n }\n }\n}\nexports[\"default\"] = Iterator;\n\n\n/***/ }),\n\n/***/ 1863:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar parent = __webpack_require__(9731);\n\nmodule.exports = parent;\n\n\n/***/ }),\n\n/***/ 6572:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar parent = __webpack_require__(4401);\n\nmodule.exports = parent;\n\n\n/***/ }),\n\n/***/ 2318:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar parent = __webpack_require__(3661);\n\nmodule.exports = parent;\n\n\n/***/ }),\n\n/***/ 576:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar parent = __webpack_require__(5606);\n\nmodule.exports = parent;\n\n\n/***/ }),\n\n/***/ 2327:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n__webpack_require__(5445);\nvar entryUnbind = __webpack_require__(6731);\n\nmodule.exports = entryUnbind('Array', 'fill');\n\n\n/***/ }),\n\n/***/ 3274:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n__webpack_require__(9477);\n__webpack_require__(6272);\nvar path = __webpack_require__(577);\n\nmodule.exports = path.Array.from;\n\n\n/***/ }),\n\n/***/ 5339:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n__webpack_require__(2947);\nvar path = __webpack_require__(577);\n\nmodule.exports = path.Object.values;\n\n\n/***/ }),\n\n/***/ 1189:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n__webpack_require__(538);\nvar entryUnbind = __webpack_require__(6731);\n\nmodule.exports = entryUnbind('String', 'endsWith');\n\n\n/***/ }),\n\n/***/ 5142:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n/* unused reexport */ __webpack_require__(297);\n\n\n/***/ }),\n\n/***/ 1019:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n/* unused reexport */ __webpack_require__(4660);\n\n\n/***/ }),\n\n/***/ 1183:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n/* unused reexport */ __webpack_require__(5275);\n\n\n/***/ }),\n\n/***/ 2570:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n/* unused reexport */ __webpack_require__(2839);\n\n\n/***/ }),\n\n/***/ 297:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar parent = __webpack_require__(1863);\n\nmodule.exports = parent;\n\n\n/***/ }),\n\n/***/ 4660:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar parent = __webpack_require__(6572);\n\nmodule.exports = parent;\n\n\n/***/ }),\n\n/***/ 5275:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar parent = __webpack_require__(2318);\n\nmodule.exports = parent;\n\n\n/***/ }),\n\n/***/ 2839:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar parent = __webpack_require__(576);\n\nmodule.exports = parent;\n\n\n/***/ }),\n\n/***/ 6324:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar isCallable = __webpack_require__(2539);\nvar tryToString = __webpack_require__(7471);\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n\n\n/***/ }),\n\n/***/ 2162:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar isCallable = __webpack_require__(2539);\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n\n\n/***/ }),\n\n/***/ 2572:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar wellKnownSymbol = __webpack_require__(5485);\nvar create = __webpack_require__(3830);\nvar defineProperty = (__webpack_require__(8503).f);\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] === undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n\n\n/***/ }),\n\n/***/ 8874:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar isObject = __webpack_require__(3988);\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n\n\n/***/ }),\n\n/***/ 9236:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar toObject = __webpack_require__(6015);\nvar toAbsoluteIndex = __webpack_require__(7234);\nvar lengthOfArrayLike = __webpack_require__(3235);\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = lengthOfArrayLike(O);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n\n\n/***/ }),\n\n/***/ 8459:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar bind = __webpack_require__(9794);\nvar call = __webpack_require__(2977);\nvar toObject = __webpack_require__(6015);\nvar callWithSafeIterationClosing = __webpack_require__(9154);\nvar isArrayIteratorMethod = __webpack_require__(7024);\nvar isConstructor = __webpack_require__(6467);\nvar lengthOfArrayLike = __webpack_require__(3235);\nvar createProperty = __webpack_require__(3003);\nvar getIterator = __webpack_require__(2387);\nvar getIteratorMethod = __webpack_require__(7874);\n\nvar $Array = Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n result = IS_CONSTRUCTOR ? new this() : [];\n for (;!(step = call(next, iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = lengthOfArrayLike(O);\n result = IS_CONSTRUCTOR ? new this(length) : $Array(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n\n\n/***/ }),\n\n/***/ 5644:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar toIndexedObject = __webpack_require__(7625);\nvar toAbsoluteIndex = __webpack_require__(7234);\nvar lengthOfArrayLike = __webpack_require__(3235);\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n\n\n/***/ }),\n\n/***/ 9154:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar anObject = __webpack_require__(8874);\nvar iteratorClose = __webpack_require__(8880);\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n\n\n/***/ }),\n\n/***/ 3346:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar wellKnownSymbol = __webpack_require__(5485);\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n try {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n } catch (error) { return false; } // workaround of old WebKit + `eval` bug\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n\n\n/***/ }),\n\n/***/ 4545:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar uncurryThis = __webpack_require__(4038);\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n\n\n/***/ }),\n\n/***/ 2702:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar TO_STRING_TAG_SUPPORT = __webpack_require__(1923);\nvar isCallable = __webpack_require__(2539);\nvar classofRaw = __webpack_require__(4545);\nvar wellKnownSymbol = __webpack_require__(5485);\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n\n\n/***/ }),\n\n/***/ 1358:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar hasOwn = __webpack_require__(2623);\nvar ownKeys = __webpack_require__(3054);\nvar getOwnPropertyDescriptorModule = __webpack_require__(3037);\nvar definePropertyModule = __webpack_require__(8503);\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n\n\n/***/ }),\n\n/***/ 6775:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar wellKnownSymbol = __webpack_require__(5485);\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* empty */ }\n } return false;\n};\n\n\n/***/ }),\n\n/***/ 6141:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar fails = __webpack_require__(5202);\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n\n\n/***/ }),\n\n/***/ 3585:\n/***/ ((module) => {\n\n\"use strict\";\n\n// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n return { value: value, done: done };\n};\n\n\n/***/ }),\n\n/***/ 8868:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar DESCRIPTORS = __webpack_require__(5007);\nvar definePropertyModule = __webpack_require__(8503);\nvar createPropertyDescriptor = __webpack_require__(4238);\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n/***/ }),\n\n/***/ 4238:\n/***/ ((module) => {\n\n\"use strict\";\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n/***/ }),\n\n/***/ 3003:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar toPropertyKey = __webpack_require__(3164);\nvar definePropertyModule = __webpack_require__(8503);\nvar createPropertyDescriptor = __webpack_require__(4238);\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n\n\n/***/ }),\n\n/***/ 916:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar isCallable = __webpack_require__(2539);\nvar definePropertyModule = __webpack_require__(8503);\nvar makeBuiltIn = __webpack_require__(6614);\nvar defineGlobalProperty = __webpack_require__(2136);\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n\n\n/***/ }),\n\n/***/ 2136:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar global = __webpack_require__(730);\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n\n\n/***/ }),\n\n/***/ 5007:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar fails = __webpack_require__(5202);\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n\n\n/***/ }),\n\n/***/ 8629:\n/***/ ((module) => {\n\n\"use strict\";\n\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n\n\n/***/ }),\n\n/***/ 2215:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar global = __webpack_require__(730);\nvar isObject = __webpack_require__(3988);\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n\n/***/ 932:\n/***/ ((module) => {\n\n\"use strict\";\n\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n\n\n/***/ }),\n\n/***/ 7626:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar global = __webpack_require__(730);\nvar userAgent = __webpack_require__(932);\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n\n\n/***/ }),\n\n/***/ 6731:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar global = __webpack_require__(730);\nvar uncurryThis = __webpack_require__(4038);\n\nmodule.exports = function (CONSTRUCTOR, METHOD) {\n return uncurryThis(global[CONSTRUCTOR].prototype[METHOD]);\n};\n\n\n/***/ }),\n\n/***/ 8552:\n/***/ ((module) => {\n\n\"use strict\";\n\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n\n\n/***/ }),\n\n/***/ 2189:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar global = __webpack_require__(730);\nvar getOwnPropertyDescriptor = (__webpack_require__(3037).f);\nvar createNonEnumerableProperty = __webpack_require__(8868);\nvar defineBuiltIn = __webpack_require__(916);\nvar defineGlobalProperty = __webpack_require__(2136);\nvar copyConstructorProperties = __webpack_require__(1358);\nvar isForced = __webpack_require__(3455);\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n\n\n/***/ }),\n\n/***/ 5202:\n/***/ ((module) => {\n\n\"use strict\";\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n\n\n/***/ }),\n\n/***/ 9794:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar uncurryThis = __webpack_require__(6192);\nvar aCallable = __webpack_require__(6324);\nvar NATIVE_BIND = __webpack_require__(2865);\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n/***/ }),\n\n/***/ 2865:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar fails = __webpack_require__(5202);\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n\n\n/***/ }),\n\n/***/ 2977:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar NATIVE_BIND = __webpack_require__(2865);\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n\n\n/***/ }),\n\n/***/ 9895:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar DESCRIPTORS = __webpack_require__(5007);\nvar hasOwn = __webpack_require__(2623);\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n\n\n/***/ }),\n\n/***/ 6589:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar uncurryThis = __webpack_require__(4038);\nvar aCallable = __webpack_require__(6324);\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n\n\n/***/ }),\n\n/***/ 6192:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar classofRaw = __webpack_require__(4545);\nvar uncurryThis = __webpack_require__(4038);\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n\n\n/***/ }),\n\n/***/ 4038:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar NATIVE_BIND = __webpack_require__(2865);\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n\n\n/***/ }),\n\n/***/ 7300:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar global = __webpack_require__(730);\nvar isCallable = __webpack_require__(2539);\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n\n\n/***/ }),\n\n/***/ 7874:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar classof = __webpack_require__(2702);\nvar getMethod = __webpack_require__(3923);\nvar isNullOrUndefined = __webpack_require__(2219);\nvar Iterators = __webpack_require__(7817);\nvar wellKnownSymbol = __webpack_require__(5485);\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n\n\n/***/ }),\n\n/***/ 2387:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar call = __webpack_require__(2977);\nvar aCallable = __webpack_require__(6324);\nvar anObject = __webpack_require__(8874);\nvar tryToString = __webpack_require__(7471);\nvar getIteratorMethod = __webpack_require__(7874);\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n\n\n/***/ }),\n\n/***/ 3923:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar aCallable = __webpack_require__(6324);\nvar isNullOrUndefined = __webpack_require__(2219);\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n\n\n/***/ }),\n\n/***/ 730:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n\"use strict\";\n\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof __webpack_require__.g == 'object' && __webpack_require__.g) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n\n\n/***/ }),\n\n/***/ 2623:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar uncurryThis = __webpack_require__(4038);\nvar toObject = __webpack_require__(6015);\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n\n\n/***/ }),\n\n/***/ 7467:\n/***/ ((module) => {\n\n\"use strict\";\n\nmodule.exports = {};\n\n\n/***/ }),\n\n/***/ 845:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar getBuiltIn = __webpack_require__(7300);\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n\n\n/***/ }),\n\n/***/ 2470:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar DESCRIPTORS = __webpack_require__(5007);\nvar fails = __webpack_require__(5202);\nvar createElement = __webpack_require__(2215);\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n\n\n/***/ }),\n\n/***/ 6854:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar uncurryThis = __webpack_require__(4038);\nvar fails = __webpack_require__(5202);\nvar classof = __webpack_require__(4545);\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n\n\n/***/ }),\n\n/***/ 7821:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar uncurryThis = __webpack_require__(4038);\nvar isCallable = __webpack_require__(2539);\nvar store = __webpack_require__(6838);\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n\n\n/***/ }),\n\n/***/ 5378:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar NATIVE_WEAK_MAP = __webpack_require__(2543);\nvar global = __webpack_require__(730);\nvar isObject = __webpack_require__(3988);\nvar createNonEnumerableProperty = __webpack_require__(8868);\nvar hasOwn = __webpack_require__(2623);\nvar shared = __webpack_require__(6838);\nvar sharedKey = __webpack_require__(3511);\nvar hiddenKeys = __webpack_require__(7467);\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n\n\n/***/ }),\n\n/***/ 7024:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar wellKnownSymbol = __webpack_require__(5485);\nvar Iterators = __webpack_require__(7817);\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n\n\n/***/ }),\n\n/***/ 2539:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar $documentAll = __webpack_require__(8629);\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n\n\n/***/ }),\n\n/***/ 6467:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar uncurryThis = __webpack_require__(4038);\nvar fails = __webpack_require__(5202);\nvar isCallable = __webpack_require__(2539);\nvar classof = __webpack_require__(2702);\nvar getBuiltIn = __webpack_require__(7300);\nvar inspectSource = __webpack_require__(7821);\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n\n\n/***/ }),\n\n/***/ 3455:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar fails = __webpack_require__(5202);\nvar isCallable = __webpack_require__(2539);\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n\n\n/***/ }),\n\n/***/ 2219:\n/***/ ((module) => {\n\n\"use strict\";\n\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n\n\n/***/ }),\n\n/***/ 3988:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar isCallable = __webpack_require__(2539);\nvar $documentAll = __webpack_require__(8629);\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n\n\n/***/ }),\n\n/***/ 4708:\n/***/ ((module) => {\n\n\"use strict\";\n\nmodule.exports = false;\n\n\n/***/ }),\n\n/***/ 184:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar isObject = __webpack_require__(3988);\nvar classof = __webpack_require__(4545);\nvar wellKnownSymbol = __webpack_require__(5485);\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) === 'RegExp');\n};\n\n\n/***/ }),\n\n/***/ 8820:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar getBuiltIn = __webpack_require__(7300);\nvar isCallable = __webpack_require__(2539);\nvar isPrototypeOf = __webpack_require__(7676);\nvar USE_SYMBOL_AS_UID = __webpack_require__(3713);\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n\n\n/***/ }),\n\n/***/ 8880:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar call = __webpack_require__(2977);\nvar anObject = __webpack_require__(8874);\nvar getMethod = __webpack_require__(3923);\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n\n\n/***/ }),\n\n/***/ 3450:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar IteratorPrototype = (__webpack_require__(344).IteratorPrototype);\nvar create = __webpack_require__(3830);\nvar createPropertyDescriptor = __webpack_require__(4238);\nvar setToStringTag = __webpack_require__(3506);\nvar Iterators = __webpack_require__(7817);\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n\n\n/***/ }),\n\n/***/ 3174:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar $ = __webpack_require__(2189);\nvar call = __webpack_require__(2977);\nvar IS_PURE = __webpack_require__(4708);\nvar FunctionName = __webpack_require__(9895);\nvar isCallable = __webpack_require__(2539);\nvar createIteratorConstructor = __webpack_require__(3450);\nvar getPrototypeOf = __webpack_require__(8059);\nvar setPrototypeOf = __webpack_require__(5502);\nvar setToStringTag = __webpack_require__(3506);\nvar createNonEnumerableProperty = __webpack_require__(8868);\nvar defineBuiltIn = __webpack_require__(916);\nvar wellKnownSymbol = __webpack_require__(5485);\nvar Iterators = __webpack_require__(7817);\nvar IteratorsCore = __webpack_require__(344);\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND];\n\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n }\n\n return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n\n\n/***/ }),\n\n/***/ 344:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar fails = __webpack_require__(5202);\nvar isCallable = __webpack_require__(2539);\nvar isObject = __webpack_require__(3988);\nvar create = __webpack_require__(3830);\nvar getPrototypeOf = __webpack_require__(8059);\nvar defineBuiltIn = __webpack_require__(916);\nvar wellKnownSymbol = __webpack_require__(5485);\nvar IS_PURE = __webpack_require__(4708);\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n\n\n/***/ }),\n\n/***/ 7817:\n/***/ ((module) => {\n\n\"use strict\";\n\nmodule.exports = {};\n\n\n/***/ }),\n\n/***/ 3235:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar toLength = __webpack_require__(3627);\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n\n\n/***/ }),\n\n/***/ 6614:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar uncurryThis = __webpack_require__(4038);\nvar fails = __webpack_require__(5202);\nvar isCallable = __webpack_require__(2539);\nvar hasOwn = __webpack_require__(2623);\nvar DESCRIPTORS = __webpack_require__(5007);\nvar CONFIGURABLE_FUNCTION_NAME = (__webpack_require__(9895).CONFIGURABLE);\nvar inspectSource = __webpack_require__(7821);\nvar InternalStateModule = __webpack_require__(5378);\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n\n\n/***/ }),\n\n/***/ 3041:\n/***/ ((module) => {\n\n\"use strict\";\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n\n\n/***/ }),\n\n/***/ 50:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar isRegExp = __webpack_require__(184);\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw new $TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n\n\n/***/ }),\n\n/***/ 3830:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = __webpack_require__(8874);\nvar definePropertiesModule = __webpack_require__(3944);\nvar enumBugKeys = __webpack_require__(8552);\nvar hiddenKeys = __webpack_require__(7467);\nvar html = __webpack_require__(845);\nvar documentCreateElement = __webpack_require__(2215);\nvar sharedKey = __webpack_require__(3511);\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n\n\n/***/ }),\n\n/***/ 3944:\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar DESCRIPTORS = __webpack_require__(5007);\nvar V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(2268);\nvar definePropertyModule = __webpack_require__(8503);\nvar anObject = __webpack_require__(8874);\nvar toIndexedObject = __webpack_require__(7625);\nvar objectKeys = __webpack_require__(4254);\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n\n\n/***/ }),\n\n/***/ 8503:\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar DESCRIPTORS = __webpack_require__(5007);\nvar IE8_DOM_DEFINE = __webpack_require__(2470);\nvar V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(2268);\nvar anObject = __webpack_require__(8874);\nvar toPropertyKey = __webpack_require__(3164);\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n/***/ }),\n\n/***/ 3037:\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar DESCRIPTORS = __webpack_require__(5007);\nvar call = __webpack_require__(2977);\nvar propertyIsEnumerableModule = __webpack_require__(6251);\nvar createPropertyDescriptor = __webpack_require__(4238);\nvar toIndexedObject = __webpack_require__(7625);\nvar toPropertyKey = __webpack_require__(3164);\nvar hasOwn = __webpack_require__(2623);\nvar IE8_DOM_DEFINE = __webpack_require__(2470);\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n\n\n/***/ }),\n\n/***/ 5974:\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar internalObjectKeys = __webpack_require__(7862);\nvar enumBugKeys = __webpack_require__(8552);\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n\n\n/***/ }),\n\n/***/ 1526:\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n\n/***/ 8059:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar hasOwn = __webpack_require__(2623);\nvar isCallable = __webpack_require__(2539);\nvar toObject = __webpack_require__(6015);\nvar sharedKey = __webpack_require__(3511);\nvar CORRECT_PROTOTYPE_GETTER = __webpack_require__(6141);\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n\n\n/***/ }),\n\n/***/ 7676:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar uncurryThis = __webpack_require__(4038);\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n\n\n/***/ }),\n\n/***/ 7862:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar uncurryThis = __webpack_require__(4038);\nvar hasOwn = __webpack_require__(2623);\nvar toIndexedObject = __webpack_require__(7625);\nvar indexOf = (__webpack_require__(5644).indexOf);\nvar hiddenKeys = __webpack_require__(7467);\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n\n\n/***/ }),\n\n/***/ 4254:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar internalObjectKeys = __webpack_require__(7862);\nvar enumBugKeys = __webpack_require__(8552);\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n\n\n/***/ }),\n\n/***/ 6251:\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\n\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n\n\n/***/ }),\n\n/***/ 5502:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = __webpack_require__(6589);\nvar anObject = __webpack_require__(8874);\nvar aPossiblePrototype = __webpack_require__(2162);\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n\n\n/***/ }),\n\n/***/ 7830:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar DESCRIPTORS = __webpack_require__(5007);\nvar fails = __webpack_require__(5202);\nvar uncurryThis = __webpack_require__(4038);\nvar objectGetPrototypeOf = __webpack_require__(8059);\nvar objectKeys = __webpack_require__(4254);\nvar toIndexedObject = __webpack_require__(7625);\nvar $propertyIsEnumerable = (__webpack_require__(6251).f);\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// in some IE versions, `propertyIsEnumerable` returns incorrect result on integer keys\n// of `null` prototype objects\nvar IE_BUG = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-create -- safe\n var O = Object.create(null);\n O[2] = 2;\n return !propertyIsEnumerable(O, 2);\n});\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var IE_WORKAROUND = IE_BUG && objectGetPrototypeOf(O) === null;\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || (IE_WORKAROUND ? key in O : propertyIsEnumerable(O, key))) {\n push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n\n\n/***/ }),\n\n/***/ 532:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar call = __webpack_require__(2977);\nvar isCallable = __webpack_require__(2539);\nvar isObject = __webpack_require__(3988);\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n\n/***/ 3054:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar getBuiltIn = __webpack_require__(7300);\nvar uncurryThis = __webpack_require__(4038);\nvar getOwnPropertyNamesModule = __webpack_require__(5974);\nvar getOwnPropertySymbolsModule = __webpack_require__(1526);\nvar anObject = __webpack_require__(8874);\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n\n\n/***/ }),\n\n/***/ 577:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar global = __webpack_require__(730);\n\nmodule.exports = global;\n\n\n/***/ }),\n\n/***/ 6373:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar isNullOrUndefined = __webpack_require__(2219);\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/***/ }),\n\n/***/ 3506:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar defineProperty = (__webpack_require__(8503).f);\nvar hasOwn = __webpack_require__(2623);\nvar wellKnownSymbol = __webpack_require__(5485);\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n\n\n/***/ }),\n\n/***/ 3511:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar shared = __webpack_require__(6568);\nvar uid = __webpack_require__(2858);\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n\n\n/***/ }),\n\n/***/ 6838:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar global = __webpack_require__(730);\nvar defineGlobalProperty = __webpack_require__(2136);\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n\n\n/***/ }),\n\n/***/ 6568:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar IS_PURE = __webpack_require__(4708);\nvar store = __webpack_require__(6838);\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.33.3',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.33.3/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n\n\n/***/ }),\n\n/***/ 6365:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar uncurryThis = __webpack_require__(4038);\nvar toIntegerOrInfinity = __webpack_require__(3550);\nvar toString = __webpack_require__(2532);\nvar requireObjectCoercible = __webpack_require__(6373);\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n\n\n/***/ }),\n\n/***/ 3370:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = __webpack_require__(7626);\nvar fails = __webpack_require__(5202);\nvar global = __webpack_require__(730);\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n\n\n/***/ }),\n\n/***/ 7234:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar toIntegerOrInfinity = __webpack_require__(3550);\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n\n\n/***/ }),\n\n/***/ 7625:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = __webpack_require__(6854);\nvar requireObjectCoercible = __webpack_require__(6373);\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n\n\n/***/ }),\n\n/***/ 3550:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar trunc = __webpack_require__(3041);\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n\n\n/***/ }),\n\n/***/ 3627:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar toIntegerOrInfinity = __webpack_require__(3550);\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n\n\n/***/ }),\n\n/***/ 6015:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar requireObjectCoercible = __webpack_require__(6373);\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n\n\n/***/ }),\n\n/***/ 634:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar call = __webpack_require__(2977);\nvar isObject = __webpack_require__(3988);\nvar isSymbol = __webpack_require__(8820);\nvar getMethod = __webpack_require__(3923);\nvar ordinaryToPrimitive = __webpack_require__(532);\nvar wellKnownSymbol = __webpack_require__(5485);\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n\n\n/***/ }),\n\n/***/ 3164:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar toPrimitive = __webpack_require__(634);\nvar isSymbol = __webpack_require__(8820);\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n\n\n/***/ }),\n\n/***/ 1923:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar wellKnownSymbol = __webpack_require__(5485);\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n\n\n/***/ }),\n\n/***/ 2532:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar classof = __webpack_require__(2702);\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n\n\n/***/ }),\n\n/***/ 7471:\n/***/ ((module) => {\n\n\"use strict\";\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n\n\n/***/ }),\n\n/***/ 2858:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar uncurryThis = __webpack_require__(4038);\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n\n\n/***/ }),\n\n/***/ 3713:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = __webpack_require__(3370);\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n\n\n/***/ }),\n\n/***/ 2268:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar DESCRIPTORS = __webpack_require__(5007);\nvar fails = __webpack_require__(5202);\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n\n\n/***/ }),\n\n/***/ 2543:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar global = __webpack_require__(730);\nvar isCallable = __webpack_require__(2539);\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n\n\n/***/ }),\n\n/***/ 5485:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar global = __webpack_require__(730);\nvar shared = __webpack_require__(6568);\nvar hasOwn = __webpack_require__(2623);\nvar uid = __webpack_require__(2858);\nvar NATIVE_SYMBOL = __webpack_require__(3370);\nvar USE_SYMBOL_AS_UID = __webpack_require__(3713);\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n\n\n/***/ }),\n\n/***/ 5445:\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar $ = __webpack_require__(2189);\nvar fill = __webpack_require__(9236);\nvar addToUnscopables = __webpack_require__(2572);\n\n// `Array.prototype.fill` method\n// https://tc39.es/ecma262/#sec-array.prototype.fill\n$({ target: 'Array', proto: true }, {\n fill: fill\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('fill');\n\n\n/***/ }),\n\n/***/ 6272:\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar $ = __webpack_require__(2189);\nvar from = __webpack_require__(8459);\nvar checkCorrectnessOfIteration = __webpack_require__(3346);\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n // eslint-disable-next-line es/no-array-from -- required for testing\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n\n\n/***/ }),\n\n/***/ 2947:\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar $ = __webpack_require__(2189);\nvar $values = (__webpack_require__(7830).values);\n\n// `Object.values` method\n// https://tc39.es/ecma262/#sec-object.values\n$({ target: 'Object', stat: true }, {\n values: function values(O) {\n return $values(O);\n }\n});\n\n\n/***/ }),\n\n/***/ 538:\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar $ = __webpack_require__(2189);\nvar uncurryThis = __webpack_require__(6192);\nvar getOwnPropertyDescriptor = (__webpack_require__(3037).f);\nvar toLength = __webpack_require__(3627);\nvar toString = __webpack_require__(2532);\nvar notARegExp = __webpack_require__(50);\nvar requireObjectCoercible = __webpack_require__(6373);\nvar correctIsRegExpLogic = __webpack_require__(6775);\nvar IS_PURE = __webpack_require__(4708);\n\n// eslint-disable-next-line es/no-string-prototype-endswith -- safe\nvar nativeEndsWith = uncurryThis(''.endsWith);\nvar slice = uncurryThis(''.slice);\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.endsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.endswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = that.length;\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = toString(searchString);\n return nativeEndsWith\n ? nativeEndsWith(that, search, end)\n : slice(that, end - search.length, end) === search;\n }\n});\n\n\n/***/ }),\n\n/***/ 9477:\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar charAt = (__webpack_require__(6365).charAt);\nvar toString = __webpack_require__(2532);\nvar InternalStateModule = __webpack_require__(5378);\nvar defineIterator = __webpack_require__(3174);\nvar createIterResultObject = __webpack_require__(3585);\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return createIterResultObject(undefined, true);\n point = charAt(string, index);\n state.index += point.length;\n return createIterResultObject(point, false);\n});\n\n\n/***/ }),\n\n/***/ 9731:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar parent = __webpack_require__(2327);\n\nmodule.exports = parent;\n\n\n/***/ }),\n\n/***/ 4401:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar parent = __webpack_require__(3274);\n\nmodule.exports = parent;\n\n\n/***/ }),\n\n/***/ 3661:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar parent = __webpack_require__(5339);\n\nmodule.exports = parent;\n\n\n/***/ }),\n\n/***/ 5606:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar parent = __webpack_require__(1189);\n\nmodule.exports = parent;\n\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t(() => {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = (module) => {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\t() => (module['default']) :\n/******/ \t\t\t\t() => (module);\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/global */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.g = (function() {\n/******/ \t\t\tif (typeof globalThis === 'object') return globalThis;\n/******/ \t\t\ttry {\n/******/ \t\t\t\treturn this || new Function('return this')();\n/******/ \t\t\t} catch (e) {\n/******/ \t\t\t\tif (typeof window === 'object') return window;\n/******/ \t\t\t}\n/******/ \t\t})();\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/node module decorator */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.nmd = (module) => {\n/******/ \t\t\tmodule.paths = [];\n/******/ \t\t\tif (!module.children) module.children = [];\n/******/ \t\t\treturn module;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be in strict mode.\n(() => {\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": () => (/* binding */ quill)\n});\n\n// EXTERNAL MODULE: ./node_modules/core-js/features/array/from.js\nvar from = __webpack_require__(1019);\n// EXTERNAL MODULE: ./node_modules/core-js/features/array/fill.js\nvar fill = __webpack_require__(5142);\n// EXTERNAL MODULE: ./node_modules/core-js/features/object/values.js\nvar values = __webpack_require__(1183);\n// EXTERNAL MODULE: ./node_modules/core-js/features/string/ends-with.js\nvar ends_with = __webpack_require__(2570);\n;// CONCATENATED MODULE: ./polyfills.js\n// IE11 support\n\n\n\n\n\n// EXTERNAL MODULE: ./core.js\nvar core = __webpack_require__(2432);\n// EXTERNAL MODULE: ./formats/align.js\nvar align = __webpack_require__(715);\n// EXTERNAL MODULE: ./formats/direction.js\nvar direction = __webpack_require__(4048);\n// EXTERNAL MODULE: ./node_modules/parchment/src/parchment.ts + 17 modules\nvar parchment = __webpack_require__(1233);\n;// CONCATENATED MODULE: ./formats/indent.js\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar IndentAttributor = /*#__PURE__*/function (_ClassAttributor) {\n _inherits(IndentAttributor, _ClassAttributor);\n var _super = _createSuper(IndentAttributor);\n function IndentAttributor() {\n _classCallCheck(this, IndentAttributor);\n return _super.apply(this, arguments);\n }\n _createClass(IndentAttributor, [{\n key: \"add\",\n value: function add(node, value) {\n if (value === '+1' || value === '-1') {\n var indent = this.value(node) || 0;\n value = value === '+1' ? indent + 1 : indent - 1;\n }\n if (value === 0) {\n this.remove(node);\n return true;\n }\n return _get(_getPrototypeOf(IndentAttributor.prototype), \"add\", this).call(this, node, value);\n }\n }, {\n key: \"canAdd\",\n value: function canAdd(node, value) {\n return _get(_getPrototypeOf(IndentAttributor.prototype), \"canAdd\", this).call(this, node, value) || _get(_getPrototypeOf(IndentAttributor.prototype), \"canAdd\", this).call(this, node, parseInt(value, 10));\n }\n }, {\n key: \"value\",\n value: function value(node) {\n return parseInt(_get(_getPrototypeOf(IndentAttributor.prototype), \"value\", this).call(this, node), 10) || undefined; // Don't return NaN\n }\n }]);\n return IndentAttributor;\n}(parchment.ClassAttributor);\nvar IndentClass = new IndentAttributor('indent', 'ql-indent', {\n scope: parchment.Scope.BLOCK,\n whitelist: [1, 2, 3, 4, 5, 6, 7, 8]\n});\n/* harmony default export */ const indent = (IndentClass);\n// EXTERNAL MODULE: ./blots/block.js + 1 modules\nvar block = __webpack_require__(6446);\n;// CONCATENATED MODULE: ./formats/blockquote.js\nfunction blockquote_typeof(o) { \"@babel/helpers - typeof\"; return blockquote_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, blockquote_typeof(o); }\nfunction blockquote_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, blockquote_toPropertyKey(descriptor.key), descriptor); } }\nfunction blockquote_createClass(Constructor, protoProps, staticProps) { if (protoProps) blockquote_defineProperties(Constructor.prototype, protoProps); if (staticProps) blockquote_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction blockquote_toPropertyKey(arg) { var key = blockquote_toPrimitive(arg, \"string\"); return blockquote_typeof(key) === \"symbol\" ? key : String(key); }\nfunction blockquote_toPrimitive(input, hint) { if (blockquote_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (blockquote_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction blockquote_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction blockquote_inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) blockquote_setPrototypeOf(subClass, superClass); }\nfunction blockquote_setPrototypeOf(o, p) { blockquote_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return blockquote_setPrototypeOf(o, p); }\nfunction blockquote_createSuper(Derived) { var hasNativeReflectConstruct = blockquote_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = blockquote_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = blockquote_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return blockquote_possibleConstructorReturn(this, result); }; }\nfunction blockquote_possibleConstructorReturn(self, call) { if (call && (blockquote_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return blockquote_assertThisInitialized(self); }\nfunction blockquote_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction blockquote_isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction blockquote_getPrototypeOf(o) { blockquote_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return blockquote_getPrototypeOf(o); }\n\nvar Blockquote = /*#__PURE__*/function (_Block) {\n blockquote_inherits(Blockquote, _Block);\n var _super = blockquote_createSuper(Blockquote);\n function Blockquote() {\n blockquote_classCallCheck(this, Blockquote);\n return _super.apply(this, arguments);\n }\n return blockquote_createClass(Blockquote);\n}(block/* default */.ZP);\nBlockquote.blotName = 'blockquote';\nBlockquote.tagName = 'blockquote';\n/* harmony default export */ const blockquote = (Blockquote);\n;// CONCATENATED MODULE: ./formats/header.js\nfunction header_typeof(o) { \"@babel/helpers - typeof\"; return header_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, header_typeof(o); }\nfunction header_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction header_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, header_toPropertyKey(descriptor.key), descriptor); } }\nfunction header_createClass(Constructor, protoProps, staticProps) { if (protoProps) header_defineProperties(Constructor.prototype, protoProps); if (staticProps) header_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction header_toPropertyKey(arg) { var key = header_toPrimitive(arg, \"string\"); return header_typeof(key) === \"symbol\" ? key : String(key); }\nfunction header_toPrimitive(input, hint) { if (header_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (header_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction header_inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) header_setPrototypeOf(subClass, superClass); }\nfunction header_setPrototypeOf(o, p) { header_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return header_setPrototypeOf(o, p); }\nfunction header_createSuper(Derived) { var hasNativeReflectConstruct = header_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = header_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = header_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return header_possibleConstructorReturn(this, result); }; }\nfunction header_possibleConstructorReturn(self, call) { if (call && (header_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return header_assertThisInitialized(self); }\nfunction header_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction header_isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction header_getPrototypeOf(o) { header_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return header_getPrototypeOf(o); }\n\nvar Header = /*#__PURE__*/function (_Block) {\n header_inherits(Header, _Block);\n var _super = header_createSuper(Header);\n function Header() {\n header_classCallCheck(this, Header);\n return _super.apply(this, arguments);\n }\n header_createClass(Header, null, [{\n key: \"formats\",\n value: function formats(domNode) {\n return this.tagName.indexOf(domNode.tagName) + 1;\n }\n }]);\n return Header;\n}(block/* default */.ZP);\nHeader.blotName = 'header';\nHeader.tagName = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6'];\n/* harmony default export */ const header = (Header);\n// EXTERNAL MODULE: ./blots/container.js\nvar container = __webpack_require__(3553);\n// EXTERNAL MODULE: ./core/quill.js\nvar core_quill = __webpack_require__(281);\n;// CONCATENATED MODULE: ./formats/list.js\nfunction list_typeof(o) { \"@babel/helpers - typeof\"; return list_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, list_typeof(o); }\nfunction list_get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { list_get = Reflect.get.bind(); } else { list_get = function _get(target, property, receiver) { var base = list_superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return list_get.apply(this, arguments); }\nfunction list_superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = list_getPrototypeOf(object); if (object === null) break; } return object; }\nfunction list_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, list_toPropertyKey(descriptor.key), descriptor); } }\nfunction list_createClass(Constructor, protoProps, staticProps) { if (protoProps) list_defineProperties(Constructor.prototype, protoProps); if (staticProps) list_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction list_toPropertyKey(arg) { var key = list_toPrimitive(arg, \"string\"); return list_typeof(key) === \"symbol\" ? key : String(key); }\nfunction list_toPrimitive(input, hint) { if (list_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (list_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction list_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction list_inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) list_setPrototypeOf(subClass, superClass); }\nfunction list_setPrototypeOf(o, p) { list_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return list_setPrototypeOf(o, p); }\nfunction list_createSuper(Derived) { var hasNativeReflectConstruct = list_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = list_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = list_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return list_possibleConstructorReturn(this, result); }; }\nfunction list_possibleConstructorReturn(self, call) { if (call && (list_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return list_assertThisInitialized(self); }\nfunction list_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction list_isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction list_getPrototypeOf(o) { list_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return list_getPrototypeOf(o); }\n\n\n\nvar ListContainer = /*#__PURE__*/function (_Container) {\n list_inherits(ListContainer, _Container);\n var _super = list_createSuper(ListContainer);\n function ListContainer() {\n list_classCallCheck(this, ListContainer);\n return _super.apply(this, arguments);\n }\n return list_createClass(ListContainer);\n}(container/* default */.Z);\nListContainer.blotName = 'list-container';\nListContainer.tagName = 'OL';\nvar ListItem = /*#__PURE__*/function (_Block) {\n list_inherits(ListItem, _Block);\n var _super2 = list_createSuper(ListItem);\n function ListItem(scroll, domNode) {\n var _this;\n list_classCallCheck(this, ListItem);\n _this = _super2.call(this, scroll, domNode);\n var ui = domNode.ownerDocument.createElement('span');\n var listEventHandler = function listEventHandler(e) {\n if (!scroll.isEnabled()) return;\n var format = _this.statics.formats(domNode, scroll);\n if (format === 'checked') {\n _this.format('list', 'unchecked');\n e.preventDefault();\n } else if (format === 'unchecked') {\n _this.format('list', 'checked');\n e.preventDefault();\n }\n };\n ui.addEventListener('mousedown', listEventHandler);\n ui.addEventListener('touchstart', listEventHandler);\n _this.attachUI(ui);\n return _this;\n }\n list_createClass(ListItem, [{\n key: \"format\",\n value: function format(name, value) {\n if (name === this.statics.blotName && value) {\n this.domNode.setAttribute('data-list', value);\n } else {\n list_get(list_getPrototypeOf(ListItem.prototype), \"format\", this).call(this, name, value);\n }\n }\n }], [{\n key: \"create\",\n value: function create(value) {\n var node = list_get(list_getPrototypeOf(ListItem), \"create\", this).call(this);\n node.setAttribute('data-list', value);\n return node;\n }\n }, {\n key: \"formats\",\n value: function formats(domNode) {\n return domNode.getAttribute('data-list') || undefined;\n }\n }, {\n key: \"register\",\n value: function register() {\n core_quill/* default.register */.ZP.register(ListContainer);\n }\n }]);\n return ListItem;\n}(block/* default */.ZP);\nListItem.blotName = 'list';\nListItem.tagName = 'LI';\nListContainer.allowedChildren = [ListItem];\nListItem.requiredContainer = ListContainer;\n\n// eslint-disable-next-line no-restricted-exports\n\n// EXTERNAL MODULE: ./formats/background.js\nvar background = __webpack_require__(7898);\n// EXTERNAL MODULE: ./formats/color.js\nvar color = __webpack_require__(6039);\n// EXTERNAL MODULE: ./formats/font.js\nvar font = __webpack_require__(5832);\n// EXTERNAL MODULE: ./formats/size.js\nvar size = __webpack_require__(1629);\n// EXTERNAL MODULE: ./formats/bold.js\nvar bold = __webpack_require__(3991);\n;// CONCATENATED MODULE: ./formats/italic.js\nfunction italic_typeof(o) { \"@babel/helpers - typeof\"; return italic_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, italic_typeof(o); }\nfunction italic_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, italic_toPropertyKey(descriptor.key), descriptor); } }\nfunction italic_createClass(Constructor, protoProps, staticProps) { if (protoProps) italic_defineProperties(Constructor.prototype, protoProps); if (staticProps) italic_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction italic_toPropertyKey(arg) { var key = italic_toPrimitive(arg, \"string\"); return italic_typeof(key) === \"symbol\" ? key : String(key); }\nfunction italic_toPrimitive(input, hint) { if (italic_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (italic_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction italic_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction italic_inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) italic_setPrototypeOf(subClass, superClass); }\nfunction italic_setPrototypeOf(o, p) { italic_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return italic_setPrototypeOf(o, p); }\nfunction italic_createSuper(Derived) { var hasNativeReflectConstruct = italic_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = italic_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = italic_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return italic_possibleConstructorReturn(this, result); }; }\nfunction italic_possibleConstructorReturn(self, call) { if (call && (italic_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return italic_assertThisInitialized(self); }\nfunction italic_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction italic_isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction italic_getPrototypeOf(o) { italic_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return italic_getPrototypeOf(o); }\n\nvar Italic = /*#__PURE__*/function (_Bold) {\n italic_inherits(Italic, _Bold);\n var _super = italic_createSuper(Italic);\n function Italic() {\n italic_classCallCheck(this, Italic);\n return _super.apply(this, arguments);\n }\n return italic_createClass(Italic);\n}(bold/* default */.Z);\nItalic.blotName = 'italic';\nItalic.tagName = ['EM', 'I'];\n/* harmony default export */ const italic = (Italic);\n// EXTERNAL MODULE: ./formats/link.js\nvar formats_link = __webpack_require__(7256);\n// EXTERNAL MODULE: ./blots/inline.js\nvar inline = __webpack_require__(6603);\n;// CONCATENATED MODULE: ./formats/script.js\nfunction script_typeof(o) { \"@babel/helpers - typeof\"; return script_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, script_typeof(o); }\nfunction script_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction script_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, script_toPropertyKey(descriptor.key), descriptor); } }\nfunction script_createClass(Constructor, protoProps, staticProps) { if (protoProps) script_defineProperties(Constructor.prototype, protoProps); if (staticProps) script_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction script_toPropertyKey(arg) { var key = script_toPrimitive(arg, \"string\"); return script_typeof(key) === \"symbol\" ? key : String(key); }\nfunction script_toPrimitive(input, hint) { if (script_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (script_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction script_get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { script_get = Reflect.get.bind(); } else { script_get = function _get(target, property, receiver) { var base = script_superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return script_get.apply(this, arguments); }\nfunction script_superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = script_getPrototypeOf(object); if (object === null) break; } return object; }\nfunction script_inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) script_setPrototypeOf(subClass, superClass); }\nfunction script_setPrototypeOf(o, p) { script_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return script_setPrototypeOf(o, p); }\nfunction script_createSuper(Derived) { var hasNativeReflectConstruct = script_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = script_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = script_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return script_possibleConstructorReturn(this, result); }; }\nfunction script_possibleConstructorReturn(self, call) { if (call && (script_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return script_assertThisInitialized(self); }\nfunction script_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction script_isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction script_getPrototypeOf(o) { script_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return script_getPrototypeOf(o); }\n\nvar Script = /*#__PURE__*/function (_Inline) {\n script_inherits(Script, _Inline);\n var _super = script_createSuper(Script);\n function Script() {\n script_classCallCheck(this, Script);\n return _super.apply(this, arguments);\n }\n script_createClass(Script, null, [{\n key: \"create\",\n value: function create(value) {\n if (value === 'super') {\n return document.createElement('sup');\n }\n if (value === 'sub') {\n return document.createElement('sub');\n }\n return script_get(script_getPrototypeOf(Script), \"create\", this).call(this, value);\n }\n }, {\n key: \"formats\",\n value: function formats(domNode) {\n if (domNode.tagName === 'SUB') return 'sub';\n if (domNode.tagName === 'SUP') return 'super';\n return undefined;\n }\n }]);\n return Script;\n}(inline/* default */.Z);\nScript.blotName = 'script';\nScript.tagName = ['SUB', 'SUP'];\n/* harmony default export */ const script = (Script);\n;// CONCATENATED MODULE: ./formats/strike.js\nfunction strike_typeof(o) { \"@babel/helpers - typeof\"; return strike_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, strike_typeof(o); }\nfunction strike_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, strike_toPropertyKey(descriptor.key), descriptor); } }\nfunction strike_createClass(Constructor, protoProps, staticProps) { if (protoProps) strike_defineProperties(Constructor.prototype, protoProps); if (staticProps) strike_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction strike_toPropertyKey(arg) { var key = strike_toPrimitive(arg, \"string\"); return strike_typeof(key) === \"symbol\" ? key : String(key); }\nfunction strike_toPrimitive(input, hint) { if (strike_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (strike_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction strike_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction strike_inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) strike_setPrototypeOf(subClass, superClass); }\nfunction strike_setPrototypeOf(o, p) { strike_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return strike_setPrototypeOf(o, p); }\nfunction strike_createSuper(Derived) { var hasNativeReflectConstruct = strike_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = strike_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = strike_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return strike_possibleConstructorReturn(this, result); }; }\nfunction strike_possibleConstructorReturn(self, call) { if (call && (strike_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return strike_assertThisInitialized(self); }\nfunction strike_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction strike_isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction strike_getPrototypeOf(o) { strike_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return strike_getPrototypeOf(o); }\n\nvar Strike = /*#__PURE__*/function (_Bold) {\n strike_inherits(Strike, _Bold);\n var _super = strike_createSuper(Strike);\n function Strike() {\n strike_classCallCheck(this, Strike);\n return _super.apply(this, arguments);\n }\n return strike_createClass(Strike);\n}(bold/* default */.Z);\nStrike.blotName = 'strike';\nStrike.tagName = ['S', 'STRIKE'];\n/* harmony default export */ const strike = (Strike);\n;// CONCATENATED MODULE: ./formats/underline.js\nfunction underline_typeof(o) { \"@babel/helpers - typeof\"; return underline_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, underline_typeof(o); }\nfunction underline_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, underline_toPropertyKey(descriptor.key), descriptor); } }\nfunction underline_createClass(Constructor, protoProps, staticProps) { if (protoProps) underline_defineProperties(Constructor.prototype, protoProps); if (staticProps) underline_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction underline_toPropertyKey(arg) { var key = underline_toPrimitive(arg, \"string\"); return underline_typeof(key) === \"symbol\" ? key : String(key); }\nfunction underline_toPrimitive(input, hint) { if (underline_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (underline_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction underline_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction underline_inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) underline_setPrototypeOf(subClass, superClass); }\nfunction underline_setPrototypeOf(o, p) { underline_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return underline_setPrototypeOf(o, p); }\nfunction underline_createSuper(Derived) { var hasNativeReflectConstruct = underline_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = underline_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = underline_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return underline_possibleConstructorReturn(this, result); }; }\nfunction underline_possibleConstructorReturn(self, call) { if (call && (underline_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return underline_assertThisInitialized(self); }\nfunction underline_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction underline_isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction underline_getPrototypeOf(o) { underline_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return underline_getPrototypeOf(o); }\n\nvar Underline = /*#__PURE__*/function (_Inline) {\n underline_inherits(Underline, _Inline);\n var _super = underline_createSuper(Underline);\n function Underline() {\n underline_classCallCheck(this, Underline);\n return _super.apply(this, arguments);\n }\n return underline_createClass(Underline);\n}(inline/* default */.Z);\nUnderline.blotName = 'underline';\nUnderline.tagName = 'U';\n/* harmony default export */ const underline = (Underline);\n// EXTERNAL MODULE: ./blots/embed.js\nvar blots_embed = __webpack_require__(7452);\n// EXTERNAL MODULE: ./utils/has_window.js\nvar has_window = __webpack_require__(8034);\n;// CONCATENATED MODULE: ./formats/formula.js\nfunction formula_typeof(o) { \"@babel/helpers - typeof\"; return formula_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, formula_typeof(o); }\nfunction formula_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction formula_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, formula_toPropertyKey(descriptor.key), descriptor); } }\nfunction formula_createClass(Constructor, protoProps, staticProps) { if (protoProps) formula_defineProperties(Constructor.prototype, protoProps); if (staticProps) formula_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction formula_toPropertyKey(arg) { var key = formula_toPrimitive(arg, \"string\"); return formula_typeof(key) === \"symbol\" ? key : String(key); }\nfunction formula_toPrimitive(input, hint) { if (formula_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (formula_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction formula_get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { formula_get = Reflect.get.bind(); } else { formula_get = function _get(target, property, receiver) { var base = formula_superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return formula_get.apply(this, arguments); }\nfunction formula_superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = formula_getPrototypeOf(object); if (object === null) break; } return object; }\nfunction formula_inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) formula_setPrototypeOf(subClass, superClass); }\nfunction formula_setPrototypeOf(o, p) { formula_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return formula_setPrototypeOf(o, p); }\nfunction formula_createSuper(Derived) { var hasNativeReflectConstruct = formula_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = formula_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = formula_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return formula_possibleConstructorReturn(this, result); }; }\nfunction formula_possibleConstructorReturn(self, call) { if (call && (formula_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return formula_assertThisInitialized(self); }\nfunction formula_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction formula_isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction formula_getPrototypeOf(o) { formula_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return formula_getPrototypeOf(o); }\n\n\nvar Formula = /*#__PURE__*/function (_Embed) {\n formula_inherits(Formula, _Embed);\n var _super = formula_createSuper(Formula);\n function Formula() {\n formula_classCallCheck(this, Formula);\n return _super.apply(this, arguments);\n }\n formula_createClass(Formula, [{\n key: \"html\",\n value: function html() {\n var _this$value = this.value(),\n formula = _this$value.formula;\n return \"\".concat(formula, \"\");\n }\n }], [{\n key: \"create\",\n value: function create(value) {\n var katex = null;\n if ((0,has_window/* default */.Z)()) {\n katex = window.katex;\n }\n if (katex == null) {\n throw new Error('Formula module requires KaTeX.');\n }\n var node = formula_get(formula_getPrototypeOf(Formula), \"create\", this).call(this, value);\n if (typeof value === 'string') {\n katex.render(value, node, {\n throwOnError: false,\n errorColor: '#f00'\n });\n node.setAttribute('data-value', value);\n }\n return node;\n }\n }, {\n key: \"value\",\n value: function value(domNode) {\n return domNode.getAttribute('data-value');\n }\n }]);\n return Formula;\n}(blots_embed/* default */.Z);\nFormula.blotName = 'formula';\nFormula.className = 'ql-formula';\nFormula.tagName = 'SPAN';\n/* harmony default export */ const formula = (Formula);\n;// CONCATENATED MODULE: ./formats/image.js\nfunction image_typeof(o) { \"@babel/helpers - typeof\"; return image_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, image_typeof(o); }\nfunction image_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction image_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, image_toPropertyKey(descriptor.key), descriptor); } }\nfunction image_createClass(Constructor, protoProps, staticProps) { if (protoProps) image_defineProperties(Constructor.prototype, protoProps); if (staticProps) image_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction image_toPropertyKey(arg) { var key = image_toPrimitive(arg, \"string\"); return image_typeof(key) === \"symbol\" ? key : String(key); }\nfunction image_toPrimitive(input, hint) { if (image_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (image_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction image_get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { image_get = Reflect.get.bind(); } else { image_get = function _get(target, property, receiver) { var base = image_superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return image_get.apply(this, arguments); }\nfunction image_superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = image_getPrototypeOf(object); if (object === null) break; } return object; }\nfunction image_inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) image_setPrototypeOf(subClass, superClass); }\nfunction image_setPrototypeOf(o, p) { image_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return image_setPrototypeOf(o, p); }\nfunction image_createSuper(Derived) { var hasNativeReflectConstruct = image_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = image_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = image_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return image_possibleConstructorReturn(this, result); }; }\nfunction image_possibleConstructorReturn(self, call) { if (call && (image_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return image_assertThisInitialized(self); }\nfunction image_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction image_isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction image_getPrototypeOf(o) { image_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return image_getPrototypeOf(o); }\n\n\n\nvar ATTRIBUTES = ['alt', 'height', 'width'];\nvar Image = /*#__PURE__*/function (_EmbedBlot) {\n image_inherits(Image, _EmbedBlot);\n var _super = image_createSuper(Image);\n function Image() {\n image_classCallCheck(this, Image);\n return _super.apply(this, arguments);\n }\n image_createClass(Image, [{\n key: \"format\",\n value: function format(name, value) {\n if (ATTRIBUTES.indexOf(name) > -1) {\n if (value) {\n this.domNode.setAttribute(name, value);\n } else {\n this.domNode.removeAttribute(name);\n }\n } else {\n image_get(image_getPrototypeOf(Image.prototype), \"format\", this).call(this, name, value);\n }\n }\n }], [{\n key: \"create\",\n value: function create(value) {\n var node = image_get(image_getPrototypeOf(Image), \"create\", this).call(this, value);\n if (typeof value === 'string') {\n node.setAttribute('src', this.sanitize(value));\n }\n return node;\n }\n }, {\n key: \"formats\",\n value: function formats(domNode) {\n return ATTRIBUTES.reduce(function (formats, attribute) {\n if (domNode.hasAttribute(attribute)) {\n formats[attribute] = domNode.getAttribute(attribute);\n }\n return formats;\n }, {});\n }\n }, {\n key: \"match\",\n value: function match(url) {\n return /\\.(jpe?g|gif|png)$/.test(url) || /^data:image\\/.+;base64/.test(url);\n }\n }, {\n key: \"register\",\n value: function register() {\n if ((0,has_window/* default */.Z)() && /Firefox/i.test(navigator.userAgent)) {\n setTimeout(function () {\n // Disable image resizing in Firefox\n document.execCommand('enableObjectResizing', false, false);\n }, 1);\n }\n }\n }, {\n key: \"sanitize\",\n value: function sanitize(url) {\n return (0,formats_link/* sanitize */.N)(url, ['http', 'https', 'data']) ? url : '//:0';\n }\n }, {\n key: \"value\",\n value: function value(domNode) {\n return domNode.getAttribute('src');\n }\n }]);\n return Image;\n}(parchment.EmbedBlot);\nImage.blotName = 'image';\nImage.tagName = 'IMG';\n/* harmony default export */ const formats_image = (Image);\n;// CONCATENATED MODULE: ./formats/video.js\nfunction video_typeof(o) { \"@babel/helpers - typeof\"; return video_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, video_typeof(o); }\nfunction video_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction video_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, video_toPropertyKey(descriptor.key), descriptor); } }\nfunction video_createClass(Constructor, protoProps, staticProps) { if (protoProps) video_defineProperties(Constructor.prototype, protoProps); if (staticProps) video_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction video_toPropertyKey(arg) { var key = video_toPrimitive(arg, \"string\"); return video_typeof(key) === \"symbol\" ? key : String(key); }\nfunction video_toPrimitive(input, hint) { if (video_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (video_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction video_get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { video_get = Reflect.get.bind(); } else { video_get = function _get(target, property, receiver) { var base = video_superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return video_get.apply(this, arguments); }\nfunction video_superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = video_getPrototypeOf(object); if (object === null) break; } return object; }\nfunction video_inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) video_setPrototypeOf(subClass, superClass); }\nfunction video_setPrototypeOf(o, p) { video_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return video_setPrototypeOf(o, p); }\nfunction video_createSuper(Derived) { var hasNativeReflectConstruct = video_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = video_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = video_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return video_possibleConstructorReturn(this, result); }; }\nfunction video_possibleConstructorReturn(self, call) { if (call && (video_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return video_assertThisInitialized(self); }\nfunction video_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction video_isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction video_getPrototypeOf(o) { video_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return video_getPrototypeOf(o); }\n\n\nvar video_ATTRIBUTES = ['height', 'width'];\nvar Video = /*#__PURE__*/function (_BlockEmbed) {\n video_inherits(Video, _BlockEmbed);\n var _super = video_createSuper(Video);\n function Video() {\n video_classCallCheck(this, Video);\n return _super.apply(this, arguments);\n }\n video_createClass(Video, [{\n key: \"format\",\n value: function format(name, value) {\n if (video_ATTRIBUTES.indexOf(name) > -1) {\n if (value) {\n this.domNode.setAttribute(name, value);\n } else {\n this.domNode.removeAttribute(name);\n }\n } else {\n video_get(video_getPrototypeOf(Video.prototype), \"format\", this).call(this, name, value);\n }\n }\n }, {\n key: \"html\",\n value: function html() {\n var _this$value = this.value(),\n video = _this$value.video;\n return \"
    \").concat(video, \"\");\n }\n }], [{\n key: \"create\",\n value: function create(value) {\n var node = video_get(video_getPrototypeOf(Video), \"create\", this).call(this, value);\n node.setAttribute('frameborder', '0');\n node.setAttribute('allowfullscreen', true);\n node.setAttribute('src', this.sanitize(value));\n return node;\n }\n }, {\n key: \"formats\",\n value: function formats(domNode) {\n return video_ATTRIBUTES.reduce(function (formats, attribute) {\n if (domNode.hasAttribute(attribute)) {\n formats[attribute] = domNode.getAttribute(attribute);\n }\n return formats;\n }, {});\n }\n }, {\n key: \"sanitize\",\n value: function sanitize(url) {\n return formats_link/* default.sanitize */.Z.sanitize(url); // eslint-disable-line import/no-named-as-default-member\n }\n }, {\n key: \"value\",\n value: function value(domNode) {\n return domNode.getAttribute('src');\n }\n }]);\n return Video;\n}(block/* BlockEmbed */.i2);\nVideo.blotName = 'video';\nVideo.className = 'ql-video';\nVideo.tagName = 'IFRAME';\n/* harmony default export */ const video = (Video);\n// EXTERNAL MODULE: ./formats/code.js\nvar code = __webpack_require__(7309);\n// EXTERNAL MODULE: ./modules/syntax.js\nvar syntax = __webpack_require__(9072);\n// EXTERNAL MODULE: ./modules/table/index.js\nvar table = __webpack_require__(867);\n// EXTERNAL MODULE: ./node_modules/quill-delta/dist/Delta.js\nvar Delta = __webpack_require__(9098);\nvar Delta_default = /*#__PURE__*/__webpack_require__.n(Delta);\n;// CONCATENATED MODULE: ./blots/multiline_break.js\nfunction multiline_break_typeof(o) { \"@babel/helpers - typeof\"; return multiline_break_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, multiline_break_typeof(o); }\nfunction multiline_break_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction multiline_break_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, multiline_break_toPropertyKey(descriptor.key), descriptor); } }\nfunction multiline_break_createClass(Constructor, protoProps, staticProps) { if (protoProps) multiline_break_defineProperties(Constructor.prototype, protoProps); if (staticProps) multiline_break_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction multiline_break_toPropertyKey(arg) { var key = multiline_break_toPrimitive(arg, \"string\"); return multiline_break_typeof(key) === \"symbol\" ? key : String(key); }\nfunction multiline_break_toPrimitive(input, hint) { if (multiline_break_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (multiline_break_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction multiline_break_inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) multiline_break_setPrototypeOf(subClass, superClass); }\nfunction multiline_break_setPrototypeOf(o, p) { multiline_break_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return multiline_break_setPrototypeOf(o, p); }\nfunction multiline_break_createSuper(Derived) { var hasNativeReflectConstruct = multiline_break_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = multiline_break_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = multiline_break_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return multiline_break_possibleConstructorReturn(this, result); }; }\nfunction multiline_break_possibleConstructorReturn(self, call) { if (call && (multiline_break_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return multiline_break_assertThisInitialized(self); }\nfunction multiline_break_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction multiline_break_isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction multiline_break_getPrototypeOf(o) { multiline_break_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return multiline_break_getPrototypeOf(o); }\n\nvar MultilineBreak = /*#__PURE__*/function (_EmbedBlot) {\n multiline_break_inherits(MultilineBreak, _EmbedBlot);\n var _super = multiline_break_createSuper(MultilineBreak);\n function MultilineBreak() {\n multiline_break_classCallCheck(this, MultilineBreak);\n return _super.apply(this, arguments);\n }\n multiline_break_createClass(MultilineBreak, [{\n key: \"length\",\n value: function length() {\n return 1;\n }\n }, {\n key: \"value\",\n value: function value() {\n return '\\n';\n }\n }, {\n key: \"optimize\",\n value: function optimize() {\n if (!this.prev && !this.next) {\n this.remove();\n }\n }\n }], [{\n key: \"value\",\n value: function value() {\n return '\\n';\n }\n }]);\n return MultilineBreak;\n}(parchment.EmbedBlot);\nMultilineBreak.blotName = 'multilineBreak';\nMultilineBreak.tagName = 'BR';\n/* harmony default export */ const multiline_break = (MultilineBreak);\n// EXTERNAL MODULE: ./core/module.js\nvar core_module = __webpack_require__(7094);\n;// CONCATENATED MODULE: ./modules/multiline.js\nfunction multiline_typeof(o) { \"@babel/helpers - typeof\"; return multiline_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, multiline_typeof(o); }\nfunction _defineProperty(obj, key, value) { key = multiline_toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction multiline_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction multiline_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, multiline_toPropertyKey(descriptor.key), descriptor); } }\nfunction multiline_createClass(Constructor, protoProps, staticProps) { if (protoProps) multiline_defineProperties(Constructor.prototype, protoProps); if (staticProps) multiline_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction multiline_toPropertyKey(arg) { var key = multiline_toPrimitive(arg, \"string\"); return multiline_typeof(key) === \"symbol\" ? key : String(key); }\nfunction multiline_toPrimitive(input, hint) { if (multiline_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (multiline_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction multiline_inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) multiline_setPrototypeOf(subClass, superClass); }\nfunction multiline_setPrototypeOf(o, p) { multiline_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return multiline_setPrototypeOf(o, p); }\nfunction multiline_createSuper(Derived) { var hasNativeReflectConstruct = multiline_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = multiline_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = multiline_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return multiline_possibleConstructorReturn(this, result); }; }\nfunction multiline_possibleConstructorReturn(self, call) { if (call && (multiline_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return multiline_assertThisInitialized(self); }\nfunction multiline_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction multiline_isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction multiline_getPrototypeOf(o) { multiline_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return multiline_getPrototypeOf(o); }\n\n\n\n\nfunction breakMatcher(node) {\n if (!node.nextSibling && !node.previousSibling) {\n return new (Delta_default())().insert('\\n');\n }\n return new (Delta_default())().insert({\n multilineBreak: ''\n });\n}\nvar Multiline = /*#__PURE__*/function (_Module) {\n multiline_inherits(Multiline, _Module);\n var _super = multiline_createSuper(Multiline);\n function Multiline(quill, options) {\n var _this;\n multiline_classCallCheck(this, Multiline);\n var path = 'blots/multilineBreak';\n _this = _super.call(this, quill, options);\n core_quill/* default.register */.ZP.register(_defineProperty({}, path, multiline_break), true);\n quill.keyboard.addBinding({\n key: 'enter',\n shiftKey: true\n }, _this.enterHandler.bind(multiline_assertThisInitialized(_this)));\n quill.keyboard.bindings.enter.unshift(quill.keyboard.bindings.enter.pop());\n quill.clipboard.addMatcher('BR', breakMatcher);\n return _this;\n }\n multiline_createClass(Multiline, [{\n key: \"enterHandler\",\n value: function enterHandler(range) {\n var currentLeaf = this.quill.getLeaf(range.index)[0];\n var nextLeaf = this.quill.getLeaf(range.index + 1)[0];\n this.quill.insertEmbed(range.index, 'multilineBreak', true, 'user');\n if (nextLeaf === null || currentLeaf.parent !== nextLeaf.parent) {\n this.quill.insertEmbed(range.index, 'multilineBreak', true, 'user');\n }\n this.quill.setSelection(range.index + 1, core_quill/* default.sources.SILENT */.ZP.sources.SILENT);\n }\n }]);\n return Multiline;\n}(core_module/* default */.Z);\n/* harmony default export */ const multiline = (Multiline);\n// EXTERNAL MODULE: ./modules/table/lite.js + 3 modules\nvar lite = __webpack_require__(6054);\n// EXTERNAL MODULE: ./formats/table/attributors/cell.js\nvar cell = __webpack_require__(1342);\n// EXTERNAL MODULE: ./formats/table/attributors/table.js\nvar attributors_table = __webpack_require__(319);\n;// CONCATENATED MODULE: ./quill.js\nfunction quill_typeof(o) { \"@babel/helpers - typeof\"; return quill_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, quill_typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { quill_defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction quill_defineProperty(obj, key, value) { key = quill_toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction quill_toPropertyKey(arg) { var key = quill_toPrimitive(arg, \"string\"); return quill_typeof(key) === \"symbol\" ? key : String(key); }\nfunction quill_toPrimitive(input, hint) { if (quill_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (quill_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction registerAttributorArray(path, attributorArray) {\n return attributorArray.reduce(function (result, attributor) {\n var key = \"\".concat(path).concat(attributor.attrName);\n result[key] = attributor;\n return result;\n }, {});\n}\ncore[\"default\"].register(_objectSpread(_objectSpread(_objectSpread(_objectSpread({\n 'attributors/attribute/direction': direction/* DirectionAttribute */.IF\n}, registerAttributorArray('attributors/attribute/', attributors_table/* TABLE_ATTR_ATTRIBUTORS */.Qu)), registerAttributorArray('attributors/attribute/', cell/* TABLE_CELL_ATTR_ATTRIBUTORS */.yA)), {}, {\n 'attributors/class/align': align/* AlignClass */.dk,\n 'attributors/class/background': background/* BackgroundClass */.Y,\n 'attributors/class/color': color/* ColorClass */.Hn,\n 'attributors/class/direction': direction/* DirectionClass */.hY,\n 'attributors/class/font': font/* FontClass */._,\n 'attributors/class/size': size/* SizeClass */.m,\n 'attributors/style/align': align/* AlignStyle */.HE,\n 'attributors/style/background': background/* BackgroundStyle */.w,\n 'attributors/style/color': color/* ColorStyle */.HQ,\n 'attributors/style/direction': direction/* DirectionStyle */.H8,\n 'attributors/style/font': font/* FontStyle */.H,\n 'attributors/style/size': size/* SizeStyle */.Z\n}, registerAttributorArray('attributors/style/', attributors_table/* TABLE_STYLE_ATTRIBUTORS */.VT)), registerAttributorArray('attributors/style/', cell/* TABLE_CELL_STYLE_ATTRIBUTORS */.kk)), true);\ncore[\"default\"].register({\n 'formats/align': align/* AlignClass */.dk,\n 'formats/direction': direction/* DirectionClass */.hY,\n 'formats/indent': indent,\n 'formats/background': background/* BackgroundStyle */.w,\n 'formats/color': color/* ColorStyle */.HQ,\n 'formats/font': font/* FontClass */._,\n 'formats/size': size/* SizeClass */.m,\n 'formats/blockquote': blockquote,\n 'formats/code-block': code/* default */.ZP,\n 'formats/header': header,\n 'formats/list': ListItem,\n 'formats/bold': bold/* default */.Z,\n 'formats/code': code/* Code */.EK,\n 'formats/italic': italic,\n 'formats/link': formats_link/* default */.Z,\n 'formats/script': script,\n 'formats/strike': strike,\n 'formats/underline': underline,\n 'formats/formula': formula,\n 'formats/image': formats_image,\n 'formats/video': video,\n 'tableModules/lite': lite/* default */.Z,\n 'tableModules/main': table/* default */.Z,\n 'modules/syntax': syntax/* default */.ZP,\n 'modules/multiline': multiline,\n 'modules/table': table/* default */.Z\n}, true);\n/* harmony default export */ const quill = (core[\"default\"]);\n})();\n\n__webpack_exports__ = __webpack_exports__[\"default\"];\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Item = exports.Accordion = void 0;\nvar accordion_1 = require(\"devextreme/ui/accordion\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Accordion = /** @class */ (function (_super) {\n __extends(Accordion, _super);\n function Accordion() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = accordion_1.default;\n _this.subscribableOptions = [\"items\", \"selectedIndex\", \"selectedItem\", \"selectedItemKeys\", \"selectedItems\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onInitialized\", \"onItemClick\", \"onItemContextMenu\", \"onItemHold\", \"onItemRendered\", \"onItemTitleClick\"];\n _this._defaults = {\n defaultItems: \"items\",\n defaultSelectedIndex: \"selectedIndex\",\n defaultSelectedItem: \"selectedItem\",\n defaultSelectedItemKeys: \"selectedItemKeys\",\n defaultSelectedItems: \"selectedItems\"\n };\n _this._expectedChildren = {\n item: { optionName: \"items\", isCollectionItem: true }\n };\n _this._templateProps = [{\n tmplOption: \"itemTemplate\",\n render: \"itemRender\",\n component: \"itemComponent\",\n keyFn: \"itemKeyFn\"\n }, {\n tmplOption: \"itemTitleTemplate\",\n render: \"itemTitleRender\",\n component: \"itemTitleComponent\",\n keyFn: \"itemTitleKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(Accordion.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Accordion;\n}(component_1.Component));\nexports.Accordion = Accordion;\nAccordion.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n animationDuration: PropTypes.number,\n collapsible: PropTypes.bool,\n deferRendering: PropTypes.bool,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n itemHoldTimeout: PropTypes.number,\n items: PropTypes.array,\n keyExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n multiple: PropTypes.bool,\n noDataText: PropTypes.string,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onItemClick: PropTypes.func,\n onItemContextMenu: PropTypes.func,\n onItemHold: PropTypes.func,\n onItemRendered: PropTypes.func,\n onItemTitleClick: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onSelectionChanged: PropTypes.func,\n repaintChangesOnly: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n selectedIndex: PropTypes.number,\n selectedItemKeys: PropTypes.array,\n selectedItems: PropTypes.array,\n tabIndex: PropTypes.number,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }, {\n tmplOption: \"titleTemplate\",\n render: \"titleRender\",\n component: \"titleComponent\",\n keyFn: \"titleKeyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nexports.default = Accordion;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Item = exports.ActionSheet = void 0;\nvar action_sheet_1 = require(\"devextreme/ui/action_sheet\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar ActionSheet = /** @class */ (function (_super) {\n __extends(ActionSheet, _super);\n function ActionSheet() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = action_sheet_1.default;\n _this.subscribableOptions = [\"items\", \"visible\"];\n _this.independentEvents = [\"onCancelClick\", \"onContentReady\", \"onDisposing\", \"onInitialized\", \"onItemClick\", \"onItemContextMenu\", \"onItemHold\", \"onItemRendered\"];\n _this._defaults = {\n defaultItems: \"items\",\n defaultVisible: \"visible\"\n };\n _this._expectedChildren = {\n item: { optionName: \"items\", isCollectionItem: true }\n };\n _this._templateProps = [{\n tmplOption: \"itemTemplate\",\n render: \"itemRender\",\n component: \"itemComponent\",\n keyFn: \"itemKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(ActionSheet.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return ActionSheet;\n}(component_1.Component));\nexports.ActionSheet = ActionSheet;\nActionSheet.propTypes = {\n cancelText: PropTypes.string,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n itemHoldTimeout: PropTypes.number,\n items: PropTypes.array,\n onCancelClick: PropTypes.func,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onItemClick: PropTypes.func,\n onItemContextMenu: PropTypes.func,\n onItemHold: PropTypes.func,\n onItemRendered: PropTypes.func,\n onOptionChanged: PropTypes.func,\n rtlEnabled: PropTypes.bool,\n showCancelButton: PropTypes.bool,\n showTitle: PropTypes.bool,\n title: PropTypes.string,\n usePopover: PropTypes.bool,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nexports.default = ActionSheet;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ToolbarItem = exports.To = exports.Show = exports.Position = exports.Options = exports.Offset = exports.My = exports.Item = exports.Hide = exports.From = exports.DropDownOptions = exports.Collision = exports.Button = exports.BoundaryOffset = exports.At = exports.Animation = exports.Autocomplete = void 0;\nvar autocomplete_1 = require(\"devextreme/ui/autocomplete\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Autocomplete = /** @class */ (function (_super) {\n __extends(Autocomplete, _super);\n function Autocomplete() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = autocomplete_1.default;\n _this.subscribableOptions = [\"opened\", \"value\"];\n _this.independentEvents = [\"onChange\", \"onClosed\", \"onContentReady\", \"onCopy\", \"onCut\", \"onDisposing\", \"onEnterKey\", \"onFocusIn\", \"onFocusOut\", \"onInitialized\", \"onInput\", \"onItemClick\", \"onKeyDown\", \"onKeyUp\", \"onOpened\", \"onPaste\", \"onValueChanged\"];\n _this._defaults = {\n defaultOpened: \"opened\",\n defaultValue: \"value\"\n };\n _this._expectedChildren = {\n button: { optionName: \"buttons\", isCollectionItem: true },\n dropDownOptions: { optionName: \"dropDownOptions\", isCollectionItem: false },\n item: { optionName: \"items\", isCollectionItem: true }\n };\n _this._templateProps = [{\n tmplOption: \"dropDownButtonTemplate\",\n render: \"dropDownButtonRender\",\n component: \"dropDownButtonComponent\",\n keyFn: \"dropDownButtonKeyFn\"\n }, {\n tmplOption: \"groupTemplate\",\n render: \"groupRender\",\n component: \"groupComponent\",\n keyFn: \"groupKeyFn\"\n }, {\n tmplOption: \"itemTemplate\",\n render: \"itemRender\",\n component: \"itemComponent\",\n keyFn: \"itemKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(Autocomplete.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Autocomplete;\n}(component_1.Component));\nexports.Autocomplete = Autocomplete;\nAutocomplete.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n buttons: PropTypes.array,\n deferRendering: PropTypes.bool,\n disabled: PropTypes.bool,\n displayValue: PropTypes.string,\n dropDownOptions: PropTypes.object,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n grouped: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n isValid: PropTypes.bool,\n items: PropTypes.array,\n label: PropTypes.string,\n labelMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"static\",\n \"floating\",\n \"hidden\"\n ])\n ]),\n maxItemCount: PropTypes.number,\n maxLength: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string\n ]),\n minSearchLength: PropTypes.number,\n name: PropTypes.string,\n onChange: PropTypes.func,\n onClosed: PropTypes.func,\n onContentReady: PropTypes.func,\n onCopy: PropTypes.func,\n onCut: PropTypes.func,\n onDisposing: PropTypes.func,\n onEnterKey: PropTypes.func,\n onFocusIn: PropTypes.func,\n onFocusOut: PropTypes.func,\n onInitialized: PropTypes.func,\n onInput: PropTypes.func,\n onItemClick: PropTypes.func,\n onKeyDown: PropTypes.func,\n onKeyUp: PropTypes.func,\n onOpened: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onPaste: PropTypes.func,\n onSelectionChanged: PropTypes.func,\n onValueChanged: PropTypes.func,\n opened: PropTypes.bool,\n openOnFieldClick: PropTypes.bool,\n placeholder: PropTypes.string,\n readOnly: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n searchExpr: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.func,\n PropTypes.string\n ]),\n searchMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"contains\",\n \"startswith\"\n ])\n ]),\n searchTimeout: PropTypes.number,\n showClearButton: PropTypes.bool,\n showDropDownButton: PropTypes.bool,\n spellcheck: PropTypes.bool,\n stylingMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"outlined\",\n \"underlined\",\n \"filled\"\n ])\n ]),\n tabIndex: PropTypes.number,\n text: PropTypes.string,\n useItemTextAsTitle: PropTypes.bool,\n validationErrors: PropTypes.array,\n validationMessageMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"always\",\n \"auto\"\n ])\n ]),\n validationMessagePosition: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"bottom\",\n \"left\",\n \"right\",\n \"top\",\n \"auto\"\n ])\n ]),\n validationStatus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"valid\",\n \"invalid\",\n \"pending\"\n ])\n ]),\n value: PropTypes.string,\n valueChangeEvent: PropTypes.string,\n valueExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n wrapItemText: PropTypes.bool\n};\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Animation.OptionName = \"animation\";\n Animation.ExpectedChildren = {\n hide: { optionName: \"hide\", isCollectionItem: false },\n show: { optionName: \"show\", isCollectionItem: false }\n };\n return Animation;\n}(nested_option_1.default));\nexports.Animation = Animation;\nvar At = /** @class */ (function (_super) {\n __extends(At, _super);\n function At() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n At.OptionName = \"at\";\n return At;\n}(nested_option_1.default));\nexports.At = At;\nvar BoundaryOffset = /** @class */ (function (_super) {\n __extends(BoundaryOffset, _super);\n function BoundaryOffset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BoundaryOffset.OptionName = \"boundaryOffset\";\n return BoundaryOffset;\n}(nested_option_1.default));\nexports.BoundaryOffset = BoundaryOffset;\nvar Button = /** @class */ (function (_super) {\n __extends(Button, _super);\n function Button() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Button.OptionName = \"buttons\";\n Button.IsCollectionItem = true;\n Button.ExpectedChildren = {\n options: { optionName: \"options\", isCollectionItem: false }\n };\n return Button;\n}(nested_option_1.default));\nexports.Button = Button;\nvar Collision = /** @class */ (function (_super) {\n __extends(Collision, _super);\n function Collision() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Collision.OptionName = \"collision\";\n return Collision;\n}(nested_option_1.default));\nexports.Collision = Collision;\nvar DropDownOptions = /** @class */ (function (_super) {\n __extends(DropDownOptions, _super);\n function DropDownOptions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DropDownOptions.OptionName = \"dropDownOptions\";\n DropDownOptions.DefaultsProps = {\n defaultHeight: \"height\",\n defaultPosition: \"position\",\n defaultVisible: \"visible\",\n defaultWidth: \"width\"\n };\n DropDownOptions.ExpectedChildren = {\n animation: { optionName: \"animation\", isCollectionItem: false },\n position: { optionName: \"position\", isCollectionItem: false },\n toolbarItem: { optionName: \"toolbarItems\", isCollectionItem: true }\n };\n DropDownOptions.TemplateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }, {\n tmplOption: \"titleTemplate\",\n render: \"titleRender\",\n component: \"titleComponent\",\n keyFn: \"titleKeyFn\"\n }];\n return DropDownOptions;\n}(nested_option_1.default));\nexports.DropDownOptions = DropDownOptions;\nvar From = /** @class */ (function (_super) {\n __extends(From, _super);\n function From() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n From.OptionName = \"from\";\n From.ExpectedChildren = {\n position: { optionName: \"position\", isCollectionItem: false }\n };\n return From;\n}(nested_option_1.default));\nexports.From = From;\nvar Hide = /** @class */ (function (_super) {\n __extends(Hide, _super);\n function Hide() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Hide.OptionName = \"hide\";\n Hide.ExpectedChildren = {\n from: { optionName: \"from\", isCollectionItem: false },\n to: { optionName: \"to\", isCollectionItem: false }\n };\n return Hide;\n}(nested_option_1.default));\nexports.Hide = Hide;\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nvar My = /** @class */ (function (_super) {\n __extends(My, _super);\n function My() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n My.OptionName = \"my\";\n return My;\n}(nested_option_1.default));\nexports.My = My;\nvar Offset = /** @class */ (function (_super) {\n __extends(Offset, _super);\n function Offset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Offset.OptionName = \"offset\";\n return Offset;\n}(nested_option_1.default));\nexports.Offset = Offset;\nvar Options = /** @class */ (function (_super) {\n __extends(Options, _super);\n function Options() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Options.OptionName = \"options\";\n Options.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Options;\n}(nested_option_1.default));\nexports.Options = Options;\nvar Position = /** @class */ (function (_super) {\n __extends(Position, _super);\n function Position() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Position.OptionName = \"position\";\n return Position;\n}(nested_option_1.default));\nexports.Position = Position;\nvar Show = /** @class */ (function (_super) {\n __extends(Show, _super);\n function Show() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Show.OptionName = \"show\";\n return Show;\n}(nested_option_1.default));\nexports.Show = Show;\nvar To = /** @class */ (function (_super) {\n __extends(To, _super);\n function To() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n To.OptionName = \"to\";\n return To;\n}(nested_option_1.default));\nexports.To = To;\nvar ToolbarItem = /** @class */ (function (_super) {\n __extends(ToolbarItem, _super);\n function ToolbarItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ToolbarItem.OptionName = \"toolbarItems\";\n ToolbarItem.IsCollectionItem = true;\n ToolbarItem.TemplateProps = [{\n tmplOption: \"menuItemTemplate\",\n render: \"menuItemRender\",\n component: \"menuItemComponent\",\n keyFn: \"menuItemKeyFn\"\n }, {\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return ToolbarItem;\n}(nested_option_1.default));\nexports.ToolbarItem = ToolbarItem;\nexports.default = Autocomplete;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TooltipBorder = exports.Tooltip = exports.Title = exports.Subtitle = exports.Size = exports.Shadow = exports.Margin = exports.LoadingIndicator = exports.LegendTitleSubtitle = exports.LegendTitle = exports.LegendBorder = exports.Legend = exports.Label = exports.ItemTextFormat = exports.Geometry = exports.Format = exports.Font = exports.Export = exports.Border = exports.BarGaugeTitleSubtitle = exports.BarGaugeTitle = exports.Animation = exports.BarGauge = void 0;\nvar bar_gauge_1 = require(\"devextreme/viz/bar_gauge\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar BarGauge = /** @class */ (function (_super) {\n __extends(BarGauge, _super);\n function BarGauge() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = bar_gauge_1.default;\n _this.subscribableOptions = [\"loadingIndicator\", \"loadingIndicator.show\", \"values\"];\n _this.independentEvents = [\"onDisposing\", \"onDrawn\", \"onExported\", \"onExporting\", \"onFileSaving\", \"onIncidentOccurred\", \"onInitialized\", \"onTooltipHidden\", \"onTooltipShown\"];\n _this._defaults = {\n defaultLoadingIndicator: \"loadingIndicator\",\n defaultValues: \"values\"\n };\n _this._expectedChildren = {\n animation: { optionName: \"animation\", isCollectionItem: false },\n barGaugeTitle: { optionName: \"title\", isCollectionItem: false },\n export: { optionName: \"export\", isCollectionItem: false },\n geometry: { optionName: \"geometry\", isCollectionItem: false },\n label: { optionName: \"label\", isCollectionItem: false },\n legend: { optionName: \"legend\", isCollectionItem: false },\n loadingIndicator: { optionName: \"loadingIndicator\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n size: { optionName: \"size\", isCollectionItem: false },\n title: { optionName: \"title\", isCollectionItem: false },\n tooltip: { optionName: \"tooltip\", isCollectionItem: false }\n };\n return _this;\n }\n Object.defineProperty(BarGauge.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return BarGauge;\n}(component_1.Component));\nexports.BarGauge = BarGauge;\nBarGauge.propTypes = {\n backgroundColor: PropTypes.string,\n barSpacing: PropTypes.number,\n baseValue: PropTypes.number,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n endValue: PropTypes.number,\n export: PropTypes.object,\n geometry: PropTypes.object,\n label: PropTypes.object,\n legend: PropTypes.object,\n loadingIndicator: PropTypes.object,\n margin: PropTypes.object,\n onDisposing: PropTypes.func,\n onDrawn: PropTypes.func,\n onExported: PropTypes.func,\n onExporting: PropTypes.func,\n onFileSaving: PropTypes.func,\n onIncidentOccurred: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onTooltipHidden: PropTypes.func,\n onTooltipShown: PropTypes.func,\n palette: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"Bright\",\n \"Harmony Light\",\n \"Ocean\",\n \"Pastel\",\n \"Soft\",\n \"Soft Pastel\",\n \"Vintage\",\n \"Violet\",\n \"Carmine\",\n \"Dark Moon\",\n \"Dark Violet\",\n \"Green Mist\",\n \"Soft Blue\",\n \"Material\",\n \"Office\"\n ])\n ])\n ]),\n paletteExtensionMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"alternate\",\n \"blend\",\n \"extrapolate\"\n ])\n ]),\n pathModified: PropTypes.bool,\n redrawOnResize: PropTypes.bool,\n relativeInnerRadius: PropTypes.number,\n resolveLabelOverlapping: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"hide\",\n \"none\"\n ])\n ]),\n rtlEnabled: PropTypes.bool,\n size: PropTypes.object,\n startValue: PropTypes.number,\n theme: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"generic.dark\",\n \"generic.light\",\n \"generic.contrast\",\n \"generic.carmine\",\n \"generic.darkmoon\",\n \"generic.darkviolet\",\n \"generic.greenmist\",\n \"generic.softblue\",\n \"material.blue.light\",\n \"material.lime.light\",\n \"material.orange.light\",\n \"material.purple.light\",\n \"material.teal.light\"\n ])\n ]),\n title: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string\n ]),\n tooltip: PropTypes.object,\n values: PropTypes.array\n};\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Animation.OptionName = \"animation\";\n return Animation;\n}(nested_option_1.default));\nexports.Animation = Animation;\nvar BarGaugeTitle = /** @class */ (function (_super) {\n __extends(BarGaugeTitle, _super);\n function BarGaugeTitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BarGaugeTitle.OptionName = \"title\";\n BarGaugeTitle.ExpectedChildren = {\n barGaugeTitleSubtitle: { optionName: \"subtitle\", isCollectionItem: false },\n font: { optionName: \"font\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n subtitle: { optionName: \"subtitle\", isCollectionItem: false }\n };\n return BarGaugeTitle;\n}(nested_option_1.default));\nexports.BarGaugeTitle = BarGaugeTitle;\nvar BarGaugeTitleSubtitle = /** @class */ (function (_super) {\n __extends(BarGaugeTitleSubtitle, _super);\n function BarGaugeTitleSubtitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BarGaugeTitleSubtitle.OptionName = \"subtitle\";\n BarGaugeTitleSubtitle.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false }\n };\n return BarGaugeTitleSubtitle;\n}(nested_option_1.default));\nexports.BarGaugeTitleSubtitle = BarGaugeTitleSubtitle;\nvar Border = /** @class */ (function (_super) {\n __extends(Border, _super);\n function Border() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Border.OptionName = \"border\";\n return Border;\n}(nested_option_1.default));\nexports.Border = Border;\nvar Export = /** @class */ (function (_super) {\n __extends(Export, _super);\n function Export() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Export.OptionName = \"export\";\n return Export;\n}(nested_option_1.default));\nexports.Export = Export;\nvar Font = /** @class */ (function (_super) {\n __extends(Font, _super);\n function Font() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Font.OptionName = \"font\";\n return Font;\n}(nested_option_1.default));\nexports.Font = Font;\nvar Format = /** @class */ (function (_super) {\n __extends(Format, _super);\n function Format() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Format.OptionName = \"format\";\n return Format;\n}(nested_option_1.default));\nexports.Format = Format;\nvar Geometry = /** @class */ (function (_super) {\n __extends(Geometry, _super);\n function Geometry() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Geometry.OptionName = \"geometry\";\n return Geometry;\n}(nested_option_1.default));\nexports.Geometry = Geometry;\nvar ItemTextFormat = /** @class */ (function (_super) {\n __extends(ItemTextFormat, _super);\n function ItemTextFormat() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ItemTextFormat.OptionName = \"itemTextFormat\";\n return ItemTextFormat;\n}(nested_option_1.default));\nexports.ItemTextFormat = ItemTextFormat;\nvar Label = /** @class */ (function (_super) {\n __extends(Label, _super);\n function Label() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Label.OptionName = \"label\";\n Label.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false },\n format: { optionName: \"format\", isCollectionItem: false }\n };\n return Label;\n}(nested_option_1.default));\nexports.Label = Label;\nvar Legend = /** @class */ (function (_super) {\n __extends(Legend, _super);\n function Legend() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Legend.OptionName = \"legend\";\n Legend.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n font: { optionName: \"font\", isCollectionItem: false },\n itemTextFormat: { optionName: \"itemTextFormat\", isCollectionItem: false },\n legendBorder: { optionName: \"border\", isCollectionItem: false },\n legendTitle: { optionName: \"title\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n title: { optionName: \"title\", isCollectionItem: false }\n };\n Legend.TemplateProps = [{\n tmplOption: \"markerTemplate\",\n render: \"markerRender\",\n component: \"markerComponent\",\n keyFn: \"markerKeyFn\"\n }];\n return Legend;\n}(nested_option_1.default));\nexports.Legend = Legend;\nvar LegendBorder = /** @class */ (function (_super) {\n __extends(LegendBorder, _super);\n function LegendBorder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LegendBorder.OptionName = \"border\";\n return LegendBorder;\n}(nested_option_1.default));\nexports.LegendBorder = LegendBorder;\nvar LegendTitle = /** @class */ (function (_super) {\n __extends(LegendTitle, _super);\n function LegendTitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LegendTitle.OptionName = \"title\";\n LegendTitle.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false },\n legendTitleSubtitle: { optionName: \"subtitle\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n subtitle: { optionName: \"subtitle\", isCollectionItem: false }\n };\n return LegendTitle;\n}(nested_option_1.default));\nexports.LegendTitle = LegendTitle;\nvar LegendTitleSubtitle = /** @class */ (function (_super) {\n __extends(LegendTitleSubtitle, _super);\n function LegendTitleSubtitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LegendTitleSubtitle.OptionName = \"subtitle\";\n LegendTitleSubtitle.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false }\n };\n return LegendTitleSubtitle;\n}(nested_option_1.default));\nexports.LegendTitleSubtitle = LegendTitleSubtitle;\nvar LoadingIndicator = /** @class */ (function (_super) {\n __extends(LoadingIndicator, _super);\n function LoadingIndicator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LoadingIndicator.OptionName = \"loadingIndicator\";\n LoadingIndicator.DefaultsProps = {\n defaultShow: \"show\"\n };\n LoadingIndicator.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false }\n };\n return LoadingIndicator;\n}(nested_option_1.default));\nexports.LoadingIndicator = LoadingIndicator;\nvar Margin = /** @class */ (function (_super) {\n __extends(Margin, _super);\n function Margin() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Margin.OptionName = \"margin\";\n return Margin;\n}(nested_option_1.default));\nexports.Margin = Margin;\nvar Shadow = /** @class */ (function (_super) {\n __extends(Shadow, _super);\n function Shadow() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Shadow.OptionName = \"shadow\";\n return Shadow;\n}(nested_option_1.default));\nexports.Shadow = Shadow;\nvar Size = /** @class */ (function (_super) {\n __extends(Size, _super);\n function Size() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Size.OptionName = \"size\";\n return Size;\n}(nested_option_1.default));\nexports.Size = Size;\nvar Subtitle = /** @class */ (function (_super) {\n __extends(Subtitle, _super);\n function Subtitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Subtitle.OptionName = \"subtitle\";\n return Subtitle;\n}(nested_option_1.default));\nexports.Subtitle = Subtitle;\nvar Title = /** @class */ (function (_super) {\n __extends(Title, _super);\n function Title() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Title.OptionName = \"title\";\n return Title;\n}(nested_option_1.default));\nexports.Title = Title;\nvar Tooltip = /** @class */ (function (_super) {\n __extends(Tooltip, _super);\n function Tooltip() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Tooltip.OptionName = \"tooltip\";\n Tooltip.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n font: { optionName: \"font\", isCollectionItem: false },\n format: { optionName: \"format\", isCollectionItem: false },\n shadow: { optionName: \"shadow\", isCollectionItem: false },\n tooltipBorder: { optionName: \"border\", isCollectionItem: false }\n };\n Tooltip.TemplateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }];\n return Tooltip;\n}(nested_option_1.default));\nexports.Tooltip = Tooltip;\nvar TooltipBorder = /** @class */ (function (_super) {\n __extends(TooltipBorder, _super);\n function TooltipBorder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TooltipBorder.OptionName = \"border\";\n return TooltipBorder;\n}(nested_option_1.default));\nexports.TooltipBorder = TooltipBorder;\nexports.default = BarGauge;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Item = exports.Box = void 0;\nvar box_1 = require(\"devextreme/ui/box\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Box = /** @class */ (function (_super) {\n __extends(Box, _super);\n function Box() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = box_1.default;\n _this.subscribableOptions = [\"items\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onInitialized\", \"onItemClick\", \"onItemContextMenu\", \"onItemHold\", \"onItemRendered\"];\n _this._defaults = {\n defaultItems: \"items\"\n };\n _this._expectedChildren = {\n item: { optionName: \"items\", isCollectionItem: true }\n };\n _this._templateProps = [{\n tmplOption: \"itemTemplate\",\n render: \"itemRender\",\n component: \"itemComponent\",\n keyFn: \"itemKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(Box.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Box;\n}(component_1.Component));\nexports.Box = Box;\nBox.propTypes = {\n align: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"center\",\n \"end\",\n \"space-around\",\n \"space-between\",\n \"start\"\n ])\n ]),\n crossAlign: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"center\",\n \"end\",\n \"start\",\n \"stretch\"\n ])\n ]),\n direction: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"col\",\n \"row\"\n ])\n ]),\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hoverStateEnabled: PropTypes.bool,\n itemHoldTimeout: PropTypes.number,\n items: PropTypes.array,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onItemClick: PropTypes.func,\n onItemContextMenu: PropTypes.func,\n onItemHold: PropTypes.func,\n onItemRendered: PropTypes.func,\n onOptionChanged: PropTypes.func,\n rtlEnabled: PropTypes.bool,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nexports.default = Box;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Tooltip = exports.Size = exports.Shadow = exports.Margin = exports.Format = exports.Font = exports.Border = exports.Bullet = void 0;\nvar bullet_1 = require(\"devextreme/viz/bullet\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Bullet = /** @class */ (function (_super) {\n __extends(Bullet, _super);\n function Bullet() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = bullet_1.default;\n _this.independentEvents = [\"onDisposing\", \"onDrawn\", \"onExported\", \"onExporting\", \"onFileSaving\", \"onIncidentOccurred\", \"onInitialized\", \"onTooltipHidden\", \"onTooltipShown\"];\n _this._expectedChildren = {\n margin: { optionName: \"margin\", isCollectionItem: false },\n size: { optionName: \"size\", isCollectionItem: false },\n tooltip: { optionName: \"tooltip\", isCollectionItem: false }\n };\n return _this;\n }\n Object.defineProperty(Bullet.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Bullet;\n}(component_1.Component));\nexports.Bullet = Bullet;\nBullet.propTypes = {\n color: PropTypes.string,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n endScaleValue: PropTypes.number,\n margin: PropTypes.object,\n onDisposing: PropTypes.func,\n onDrawn: PropTypes.func,\n onExported: PropTypes.func,\n onExporting: PropTypes.func,\n onFileSaving: PropTypes.func,\n onIncidentOccurred: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onTooltipHidden: PropTypes.func,\n onTooltipShown: PropTypes.func,\n pathModified: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n showTarget: PropTypes.bool,\n showZeroLevel: PropTypes.bool,\n size: PropTypes.object,\n startScaleValue: PropTypes.number,\n target: PropTypes.number,\n targetColor: PropTypes.string,\n targetWidth: PropTypes.number,\n theme: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"generic.dark\",\n \"generic.light\",\n \"generic.contrast\",\n \"generic.carmine\",\n \"generic.darkmoon\",\n \"generic.darkviolet\",\n \"generic.greenmist\",\n \"generic.softblue\",\n \"material.blue.light\",\n \"material.lime.light\",\n \"material.orange.light\",\n \"material.purple.light\",\n \"material.teal.light\"\n ])\n ]),\n tooltip: PropTypes.object,\n value: PropTypes.number\n};\nvar Border = /** @class */ (function (_super) {\n __extends(Border, _super);\n function Border() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Border.OptionName = \"border\";\n return Border;\n}(nested_option_1.default));\nexports.Border = Border;\nvar Font = /** @class */ (function (_super) {\n __extends(Font, _super);\n function Font() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Font.OptionName = \"font\";\n return Font;\n}(nested_option_1.default));\nexports.Font = Font;\nvar Format = /** @class */ (function (_super) {\n __extends(Format, _super);\n function Format() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Format.OptionName = \"format\";\n return Format;\n}(nested_option_1.default));\nexports.Format = Format;\nvar Margin = /** @class */ (function (_super) {\n __extends(Margin, _super);\n function Margin() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Margin.OptionName = \"margin\";\n return Margin;\n}(nested_option_1.default));\nexports.Margin = Margin;\nvar Shadow = /** @class */ (function (_super) {\n __extends(Shadow, _super);\n function Shadow() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Shadow.OptionName = \"shadow\";\n return Shadow;\n}(nested_option_1.default));\nexports.Shadow = Shadow;\nvar Size = /** @class */ (function (_super) {\n __extends(Size, _super);\n function Size() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Size.OptionName = \"size\";\n return Size;\n}(nested_option_1.default));\nexports.Size = Size;\nvar Tooltip = /** @class */ (function (_super) {\n __extends(Tooltip, _super);\n function Tooltip() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Tooltip.OptionName = \"tooltip\";\n Tooltip.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n font: { optionName: \"font\", isCollectionItem: false },\n format: { optionName: \"format\", isCollectionItem: false },\n shadow: { optionName: \"shadow\", isCollectionItem: false }\n };\n Tooltip.TemplateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }];\n return Tooltip;\n}(nested_option_1.default));\nexports.Tooltip = Tooltip;\nexports.default = Bullet;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Item = exports.ButtonGroup = void 0;\nvar button_group_1 = require(\"devextreme/ui/button_group\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar ButtonGroup = /** @class */ (function (_super) {\n __extends(ButtonGroup, _super);\n function ButtonGroup() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = button_group_1.default;\n _this.subscribableOptions = [\"selectedItemKeys\", \"selectedItems\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onInitialized\", \"onItemClick\"];\n _this._defaults = {\n defaultSelectedItemKeys: \"selectedItemKeys\",\n defaultSelectedItems: \"selectedItems\"\n };\n _this._expectedChildren = {\n item: { optionName: \"items\", isCollectionItem: true }\n };\n _this._templateProps = [{\n tmplOption: \"buttonTemplate\",\n render: \"buttonRender\",\n component: \"buttonComponent\",\n keyFn: \"buttonKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(ButtonGroup.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return ButtonGroup;\n}(component_1.Component));\nexports.ButtonGroup = ButtonGroup;\nButtonGroup.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n items: PropTypes.array,\n keyExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onItemClick: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onSelectionChanged: PropTypes.func,\n rtlEnabled: PropTypes.bool,\n selectedItemKeys: PropTypes.array,\n selectedItems: PropTypes.array,\n selectionMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"single\",\n \"multiple\",\n \"none\"\n ])\n ]),\n stylingMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"text\",\n \"outlined\",\n \"contained\"\n ])\n ]),\n tabIndex: PropTypes.number,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nexports.default = ButtonGroup;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Button = void 0;\nvar button_1 = require(\"devextreme/ui/button\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar Button = /** @class */ (function (_super) {\n __extends(Button, _super);\n function Button() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = button_1.default;\n _this.independentEvents = [\"onClick\", \"onContentReady\", \"onDisposing\", \"onInitialized\"];\n _this._templateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return _this;\n }\n Object.defineProperty(Button.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Button;\n}(component_1.Component));\nexports.Button = Button;\nButton.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n icon: PropTypes.string,\n onClick: PropTypes.func,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n rtlEnabled: PropTypes.bool,\n stylingMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"text\",\n \"outlined\",\n \"contained\"\n ])\n ]),\n tabIndex: PropTypes.number,\n text: PropTypes.string,\n type: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"back\",\n \"danger\",\n \"default\",\n \"normal\",\n \"success\"\n ])\n ]),\n useSubmitBehavior: PropTypes.bool,\n validationGroup: PropTypes.string,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nexports.default = Button;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Calendar = void 0;\nvar calendar_1 = require(\"devextreme/ui/calendar\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar Calendar = /** @class */ (function (_super) {\n __extends(Calendar, _super);\n function Calendar() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = calendar_1.default;\n _this.subscribableOptions = [\"value\", \"zoomLevel\"];\n _this.independentEvents = [\"onDisposing\", \"onInitialized\", \"onValueChanged\"];\n _this._defaults = {\n defaultValue: \"value\",\n defaultZoomLevel: \"zoomLevel\"\n };\n _this._templateProps = [{\n tmplOption: \"cellTemplate\",\n render: \"cellRender\",\n component: \"cellComponent\",\n keyFn: \"cellKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(Calendar.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Calendar;\n}(component_1.Component));\nexports.Calendar = Calendar;\nCalendar.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n dateSerializationFormat: PropTypes.string,\n disabled: PropTypes.bool,\n disabledDates: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.func\n ]),\n elementAttr: PropTypes.object,\n firstDayOfWeek: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.oneOf([\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6\n ])\n ]),\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n isValid: PropTypes.bool,\n maxZoomLevel: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"century\",\n \"decade\",\n \"month\",\n \"year\"\n ])\n ]),\n minZoomLevel: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"century\",\n \"decade\",\n \"month\",\n \"year\"\n ])\n ]),\n name: PropTypes.string,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onValueChanged: PropTypes.func,\n readOnly: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n showTodayButton: PropTypes.bool,\n showWeekNumbers: PropTypes.bool,\n tabIndex: PropTypes.number,\n validationErrors: PropTypes.array,\n validationMessageMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"always\",\n \"auto\"\n ])\n ]),\n validationMessagePosition: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"bottom\",\n \"left\",\n \"right\",\n \"top\"\n ])\n ]),\n validationStatus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"valid\",\n \"invalid\",\n \"pending\"\n ])\n ]),\n visible: PropTypes.bool,\n weekNumberRule: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"auto\",\n \"firstDay\",\n \"fullWeek\",\n \"firstFourDays\"\n ])\n ]),\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n zoomLevel: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"century\",\n \"decade\",\n \"month\",\n \"year\"\n ])\n ])\n};\nexports.default = Calendar;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LegendTitle = exports.Legend = exports.Label = exports.Image = exports.HoverStyle = exports.HorizontalLineLabel = exports.HorizontalLine = exports.Height = exports.Hatching = exports.Grid = exports.Format = exports.Font = exports.Export = exports.DragBoxStyle = exports.DataPrepareSettings = exports.Crosshair = exports.ConstantLineStyle = exports.ConstantLineLabel = exports.ConstantLine = exports.Connector = exports.CommonSeriesSettingsSelectionStyle = exports.CommonSeriesSettingsLabel = exports.CommonSeriesSettingsHoverStyle = exports.CommonSeriesSettings = exports.CommonPaneSettings = exports.CommonAxisSettingsTitle = exports.CommonAxisSettingsLabel = exports.CommonAxisSettingsConstantLineStyleLabel = exports.CommonAxisSettingsConstantLineStyle = exports.CommonAxisSettings = exports.CommonAnnotationSettings = exports.ChartTitleSubtitle = exports.ChartTitle = exports.BreakStyle = exports.Break = exports.Border = exports.AxisTitle = exports.AxisLabel = exports.AxisConstantLineStyleLabel = exports.AxisConstantLineStyle = exports.ArgumentFormat = exports.ArgumentAxis = exports.AnnotationImage = exports.AnnotationBorder = exports.Annotation = exports.Animation = exports.AggregationInterval = exports.Aggregation = exports.AdaptiveLayout = exports.Chart = void 0;\nexports.ZoomAndPan = exports.Width = exports.WholeRange = exports.VisualRange = exports.VerticalLine = exports.ValueErrorBar = exports.ValueAxis = exports.Url = exports.TooltipBorder = exports.Tooltip = exports.Title = exports.TickInterval = exports.Tick = exports.Subtitle = exports.StripStyleLabel = exports.StripStyle = exports.StripLabel = exports.Strip = exports.Size = exports.Shadow = exports.SeriesTemplate = exports.SeriesBorder = exports.Series = exports.SelectionStyle = exports.ScrollBar = exports.Reduction = exports.PointSelectionStyle = exports.PointImage = exports.PointHoverStyle = exports.PointBorder = exports.Point = exports.PaneBorder = exports.Pane = exports.MinVisualRangeLength = exports.MinorTickInterval = exports.MinorTick = exports.MinorGrid = exports.Margin = exports.LoadingIndicator = exports.Length = exports.LegendTitleSubtitle = void 0;\nvar chart_1 = require(\"devextreme/viz/chart\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Chart = /** @class */ (function (_super) {\n __extends(Chart, _super);\n function Chart() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = chart_1.default;\n _this.useRequestAnimationFrameFlag = true;\n _this.subscribableOptions = [\"argumentAxis\", \"argumentAxis.categories\", \"argumentAxis.visualRange\", \"loadingIndicator\", \"loadingIndicator.show\", \"valueAxis\", \"valueAxis.categories\", \"valueAxis.visualRange\"];\n _this.independentEvents = [\"onArgumentAxisClick\", \"onDisposing\", \"onDone\", \"onDrawn\", \"onExported\", \"onExporting\", \"onFileSaving\", \"onIncidentOccurred\", \"onInitialized\", \"onLegendClick\", \"onPointClick\", \"onSeriesClick\", \"onTooltipHidden\", \"onTooltipShown\", \"onZoomEnd\", \"onZoomStart\"];\n _this._defaults = {\n defaultArgumentAxis: \"argumentAxis\",\n defaultLoadingIndicator: \"loadingIndicator\",\n defaultValueAxis: \"valueAxis\"\n };\n _this._expectedChildren = {\n adaptiveLayout: { optionName: \"adaptiveLayout\", isCollectionItem: false },\n animation: { optionName: \"animation\", isCollectionItem: false },\n annotation: { optionName: \"annotations\", isCollectionItem: true },\n argumentAxis: { optionName: \"argumentAxis\", isCollectionItem: false },\n chartTitle: { optionName: \"title\", isCollectionItem: false },\n commonAnnotationSettings: { optionName: \"commonAnnotationSettings\", isCollectionItem: false },\n commonAxisSettings: { optionName: \"commonAxisSettings\", isCollectionItem: false },\n commonPaneSettings: { optionName: \"commonPaneSettings\", isCollectionItem: false },\n commonSeriesSettings: { optionName: \"commonSeriesSettings\", isCollectionItem: false },\n crosshair: { optionName: \"crosshair\", isCollectionItem: false },\n dataPrepareSettings: { optionName: \"dataPrepareSettings\", isCollectionItem: false },\n export: { optionName: \"export\", isCollectionItem: false },\n legend: { optionName: \"legend\", isCollectionItem: false },\n loadingIndicator: { optionName: \"loadingIndicator\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n pane: { optionName: \"panes\", isCollectionItem: true },\n scrollBar: { optionName: \"scrollBar\", isCollectionItem: false },\n series: { optionName: \"series\", isCollectionItem: true },\n seriesTemplate: { optionName: \"seriesTemplate\", isCollectionItem: false },\n size: { optionName: \"size\", isCollectionItem: false },\n title: { optionName: \"title\", isCollectionItem: false },\n tooltip: { optionName: \"tooltip\", isCollectionItem: false },\n valueAxis: { optionName: \"valueAxis\", isCollectionItem: true },\n zoomAndPan: { optionName: \"zoomAndPan\", isCollectionItem: false }\n };\n return _this;\n }\n Object.defineProperty(Chart.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Chart;\n}(component_1.Component));\nexports.Chart = Chart;\nChart.propTypes = {\n adaptiveLayout: PropTypes.object,\n adjustOnZoom: PropTypes.bool,\n animation: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.object\n ]),\n annotations: PropTypes.array,\n argumentAxis: PropTypes.object,\n autoHidePointMarkers: PropTypes.bool,\n barGroupPadding: PropTypes.number,\n barGroupWidth: PropTypes.number,\n commonAnnotationSettings: PropTypes.object,\n commonAxisSettings: PropTypes.object,\n commonPaneSettings: PropTypes.object,\n commonSeriesSettings: PropTypes.object,\n containerBackgroundColor: PropTypes.string,\n crosshair: PropTypes.object,\n customizeAnnotation: PropTypes.func,\n customizeLabel: PropTypes.func,\n customizePoint: PropTypes.func,\n dataPrepareSettings: PropTypes.object,\n defaultPane: PropTypes.string,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n export: PropTypes.object,\n legend: PropTypes.object,\n loadingIndicator: PropTypes.object,\n margin: PropTypes.object,\n maxBubbleSize: PropTypes.number,\n minBubbleSize: PropTypes.number,\n negativesAsZeroes: PropTypes.bool,\n onArgumentAxisClick: PropTypes.func,\n onDisposing: PropTypes.func,\n onDone: PropTypes.func,\n onDrawn: PropTypes.func,\n onExported: PropTypes.func,\n onExporting: PropTypes.func,\n onFileSaving: PropTypes.func,\n onIncidentOccurred: PropTypes.func,\n onInitialized: PropTypes.func,\n onLegendClick: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onPointClick: PropTypes.func,\n onPointHoverChanged: PropTypes.func,\n onPointSelectionChanged: PropTypes.func,\n onSeriesClick: PropTypes.func,\n onSeriesHoverChanged: PropTypes.func,\n onSeriesSelectionChanged: PropTypes.func,\n onTooltipHidden: PropTypes.func,\n onTooltipShown: PropTypes.func,\n onZoomEnd: PropTypes.func,\n onZoomStart: PropTypes.func,\n palette: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"Bright\",\n \"Harmony Light\",\n \"Ocean\",\n \"Pastel\",\n \"Soft\",\n \"Soft Pastel\",\n \"Vintage\",\n \"Violet\",\n \"Carmine\",\n \"Dark Moon\",\n \"Dark Violet\",\n \"Green Mist\",\n \"Soft Blue\",\n \"Material\",\n \"Office\"\n ])\n ])\n ]),\n paletteExtensionMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"alternate\",\n \"blend\",\n \"extrapolate\"\n ])\n ]),\n panes: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object\n ]),\n pathModified: PropTypes.bool,\n pointSelectionMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"single\",\n \"multiple\"\n ])\n ]),\n redrawOnResize: PropTypes.bool,\n resizePanesOnZoom: PropTypes.bool,\n resolveLabelOverlapping: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"hide\",\n \"none\",\n \"stack\"\n ])\n ]),\n rotated: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n scrollBar: PropTypes.object,\n series: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object\n ]),\n seriesSelectionMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"single\",\n \"multiple\"\n ])\n ]),\n seriesTemplate: PropTypes.object,\n size: PropTypes.object,\n stickyHovering: PropTypes.bool,\n synchronizeMultiAxes: PropTypes.bool,\n theme: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"generic.dark\",\n \"generic.light\",\n \"generic.contrast\",\n \"generic.carmine\",\n \"generic.darkmoon\",\n \"generic.darkviolet\",\n \"generic.greenmist\",\n \"generic.softblue\",\n \"material.blue.light\",\n \"material.lime.light\",\n \"material.orange.light\",\n \"material.purple.light\",\n \"material.teal.light\"\n ])\n ]),\n title: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string\n ]),\n tooltip: PropTypes.object,\n valueAxis: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object\n ]),\n zoomAndPan: PropTypes.object\n};\nvar AdaptiveLayout = /** @class */ (function (_super) {\n __extends(AdaptiveLayout, _super);\n function AdaptiveLayout() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AdaptiveLayout.OptionName = \"adaptiveLayout\";\n return AdaptiveLayout;\n}(nested_option_1.default));\nexports.AdaptiveLayout = AdaptiveLayout;\nvar Aggregation = /** @class */ (function (_super) {\n __extends(Aggregation, _super);\n function Aggregation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Aggregation.OptionName = \"aggregation\";\n return Aggregation;\n}(nested_option_1.default));\nexports.Aggregation = Aggregation;\nvar AggregationInterval = /** @class */ (function (_super) {\n __extends(AggregationInterval, _super);\n function AggregationInterval() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AggregationInterval.OptionName = \"aggregationInterval\";\n return AggregationInterval;\n}(nested_option_1.default));\nexports.AggregationInterval = AggregationInterval;\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Animation.OptionName = \"animation\";\n return Animation;\n}(nested_option_1.default));\nexports.Animation = Animation;\nvar Annotation = /** @class */ (function (_super) {\n __extends(Annotation, _super);\n function Annotation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Annotation.OptionName = \"annotations\";\n Annotation.IsCollectionItem = true;\n Annotation.ExpectedChildren = {\n annotationBorder: { optionName: \"border\", isCollectionItem: false },\n annotationImage: { optionName: \"image\", isCollectionItem: false },\n border: { optionName: \"border\", isCollectionItem: false },\n font: { optionName: \"font\", isCollectionItem: false },\n image: { optionName: \"image\", isCollectionItem: false },\n shadow: { optionName: \"shadow\", isCollectionItem: false }\n };\n Annotation.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }, {\n tmplOption: \"tooltipTemplate\",\n render: \"tooltipRender\",\n component: \"tooltipComponent\",\n keyFn: \"tooltipKeyFn\"\n }];\n return Annotation;\n}(nested_option_1.default));\nexports.Annotation = Annotation;\nvar AnnotationBorder = /** @class */ (function (_super) {\n __extends(AnnotationBorder, _super);\n function AnnotationBorder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AnnotationBorder.OptionName = \"border\";\n return AnnotationBorder;\n}(nested_option_1.default));\nexports.AnnotationBorder = AnnotationBorder;\nvar AnnotationImage = /** @class */ (function (_super) {\n __extends(AnnotationImage, _super);\n function AnnotationImage() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AnnotationImage.OptionName = \"image\";\n return AnnotationImage;\n}(nested_option_1.default));\nexports.AnnotationImage = AnnotationImage;\nvar ArgumentAxis = /** @class */ (function (_super) {\n __extends(ArgumentAxis, _super);\n function ArgumentAxis() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ArgumentAxis.OptionName = \"argumentAxis\";\n ArgumentAxis.DefaultsProps = {\n defaultCategories: \"categories\",\n defaultVisualRange: \"visualRange\"\n };\n ArgumentAxis.ExpectedChildren = {\n aggregationInterval: { optionName: \"aggregationInterval\", isCollectionItem: false },\n axisConstantLineStyle: { optionName: \"constantLineStyle\", isCollectionItem: false },\n axisLabel: { optionName: \"label\", isCollectionItem: false },\n axisTitle: { optionName: \"title\", isCollectionItem: false },\n break: { optionName: \"breaks\", isCollectionItem: true },\n breakStyle: { optionName: \"breakStyle\", isCollectionItem: false },\n constantLine: { optionName: \"constantLines\", isCollectionItem: true },\n constantLineStyle: { optionName: \"constantLineStyle\", isCollectionItem: false },\n grid: { optionName: \"grid\", isCollectionItem: false },\n label: { optionName: \"label\", isCollectionItem: false },\n minorGrid: { optionName: \"minorGrid\", isCollectionItem: false },\n minorTick: { optionName: \"minorTick\", isCollectionItem: false },\n minorTickInterval: { optionName: \"minorTickInterval\", isCollectionItem: false },\n minVisualRangeLength: { optionName: \"minVisualRangeLength\", isCollectionItem: false },\n strip: { optionName: \"strips\", isCollectionItem: true },\n stripStyle: { optionName: \"stripStyle\", isCollectionItem: false },\n tick: { optionName: \"tick\", isCollectionItem: false },\n tickInterval: { optionName: \"tickInterval\", isCollectionItem: false },\n title: { optionName: \"title\", isCollectionItem: false },\n visualRange: { optionName: \"visualRange\", isCollectionItem: false },\n wholeRange: { optionName: \"wholeRange\", isCollectionItem: false }\n };\n return ArgumentAxis;\n}(nested_option_1.default));\nexports.ArgumentAxis = ArgumentAxis;\nvar ArgumentFormat = /** @class */ (function (_super) {\n __extends(ArgumentFormat, _super);\n function ArgumentFormat() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ArgumentFormat.OptionName = \"argumentFormat\";\n return ArgumentFormat;\n}(nested_option_1.default));\nexports.ArgumentFormat = ArgumentFormat;\nvar AxisConstantLineStyle = /** @class */ (function (_super) {\n __extends(AxisConstantLineStyle, _super);\n function AxisConstantLineStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AxisConstantLineStyle.OptionName = \"constantLineStyle\";\n return AxisConstantLineStyle;\n}(nested_option_1.default));\nexports.AxisConstantLineStyle = AxisConstantLineStyle;\nvar AxisConstantLineStyleLabel = /** @class */ (function (_super) {\n __extends(AxisConstantLineStyleLabel, _super);\n function AxisConstantLineStyleLabel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AxisConstantLineStyleLabel.OptionName = \"label\";\n return AxisConstantLineStyleLabel;\n}(nested_option_1.default));\nexports.AxisConstantLineStyleLabel = AxisConstantLineStyleLabel;\nvar AxisLabel = /** @class */ (function (_super) {\n __extends(AxisLabel, _super);\n function AxisLabel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AxisLabel.OptionName = \"label\";\n AxisLabel.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return AxisLabel;\n}(nested_option_1.default));\nexports.AxisLabel = AxisLabel;\nvar AxisTitle = /** @class */ (function (_super) {\n __extends(AxisTitle, _super);\n function AxisTitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AxisTitle.OptionName = \"title\";\n return AxisTitle;\n}(nested_option_1.default));\nexports.AxisTitle = AxisTitle;\nvar Border = /** @class */ (function (_super) {\n __extends(Border, _super);\n function Border() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Border.OptionName = \"border\";\n return Border;\n}(nested_option_1.default));\nexports.Border = Border;\nvar Break = /** @class */ (function (_super) {\n __extends(Break, _super);\n function Break() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Break.OptionName = \"breaks\";\n Break.IsCollectionItem = true;\n return Break;\n}(nested_option_1.default));\nexports.Break = Break;\nvar BreakStyle = /** @class */ (function (_super) {\n __extends(BreakStyle, _super);\n function BreakStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BreakStyle.OptionName = \"breakStyle\";\n return BreakStyle;\n}(nested_option_1.default));\nexports.BreakStyle = BreakStyle;\nvar ChartTitle = /** @class */ (function (_super) {\n __extends(ChartTitle, _super);\n function ChartTitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ChartTitle.OptionName = \"title\";\n ChartTitle.ExpectedChildren = {\n chartTitleSubtitle: { optionName: \"subtitle\", isCollectionItem: false },\n font: { optionName: \"font\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n subtitle: { optionName: \"subtitle\", isCollectionItem: false }\n };\n return ChartTitle;\n}(nested_option_1.default));\nexports.ChartTitle = ChartTitle;\nvar ChartTitleSubtitle = /** @class */ (function (_super) {\n __extends(ChartTitleSubtitle, _super);\n function ChartTitleSubtitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ChartTitleSubtitle.OptionName = \"subtitle\";\n ChartTitleSubtitle.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false }\n };\n return ChartTitleSubtitle;\n}(nested_option_1.default));\nexports.ChartTitleSubtitle = ChartTitleSubtitle;\nvar CommonAnnotationSettings = /** @class */ (function (_super) {\n __extends(CommonAnnotationSettings, _super);\n function CommonAnnotationSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CommonAnnotationSettings.OptionName = \"commonAnnotationSettings\";\n CommonAnnotationSettings.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }, {\n tmplOption: \"tooltipTemplate\",\n render: \"tooltipRender\",\n component: \"tooltipComponent\",\n keyFn: \"tooltipKeyFn\"\n }];\n return CommonAnnotationSettings;\n}(nested_option_1.default));\nexports.CommonAnnotationSettings = CommonAnnotationSettings;\nvar CommonAxisSettings = /** @class */ (function (_super) {\n __extends(CommonAxisSettings, _super);\n function CommonAxisSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CommonAxisSettings.OptionName = \"commonAxisSettings\";\n CommonAxisSettings.ExpectedChildren = {\n commonAxisSettingsConstantLineStyle: { optionName: \"constantLineStyle\", isCollectionItem: false },\n commonAxisSettingsLabel: { optionName: \"label\", isCollectionItem: false },\n commonAxisSettingsTitle: { optionName: \"title\", isCollectionItem: false },\n constantLineStyle: { optionName: \"constantLineStyle\", isCollectionItem: false },\n label: { optionName: \"label\", isCollectionItem: false },\n title: { optionName: \"title\", isCollectionItem: false }\n };\n return CommonAxisSettings;\n}(nested_option_1.default));\nexports.CommonAxisSettings = CommonAxisSettings;\nvar CommonAxisSettingsConstantLineStyle = /** @class */ (function (_super) {\n __extends(CommonAxisSettingsConstantLineStyle, _super);\n function CommonAxisSettingsConstantLineStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CommonAxisSettingsConstantLineStyle.OptionName = \"constantLineStyle\";\n CommonAxisSettingsConstantLineStyle.ExpectedChildren = {\n commonAxisSettingsConstantLineStyleLabel: { optionName: \"label\", isCollectionItem: false },\n label: { optionName: \"label\", isCollectionItem: false }\n };\n return CommonAxisSettingsConstantLineStyle;\n}(nested_option_1.default));\nexports.CommonAxisSettingsConstantLineStyle = CommonAxisSettingsConstantLineStyle;\nvar CommonAxisSettingsConstantLineStyleLabel = /** @class */ (function (_super) {\n __extends(CommonAxisSettingsConstantLineStyleLabel, _super);\n function CommonAxisSettingsConstantLineStyleLabel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CommonAxisSettingsConstantLineStyleLabel.OptionName = \"label\";\n return CommonAxisSettingsConstantLineStyleLabel;\n}(nested_option_1.default));\nexports.CommonAxisSettingsConstantLineStyleLabel = CommonAxisSettingsConstantLineStyleLabel;\nvar CommonAxisSettingsLabel = /** @class */ (function (_super) {\n __extends(CommonAxisSettingsLabel, _super);\n function CommonAxisSettingsLabel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CommonAxisSettingsLabel.OptionName = \"label\";\n CommonAxisSettingsLabel.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return CommonAxisSettingsLabel;\n}(nested_option_1.default));\nexports.CommonAxisSettingsLabel = CommonAxisSettingsLabel;\nvar CommonAxisSettingsTitle = /** @class */ (function (_super) {\n __extends(CommonAxisSettingsTitle, _super);\n function CommonAxisSettingsTitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CommonAxisSettingsTitle.OptionName = \"title\";\n return CommonAxisSettingsTitle;\n}(nested_option_1.default));\nexports.CommonAxisSettingsTitle = CommonAxisSettingsTitle;\nvar CommonPaneSettings = /** @class */ (function (_super) {\n __extends(CommonPaneSettings, _super);\n function CommonPaneSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CommonPaneSettings.OptionName = \"commonPaneSettings\";\n CommonPaneSettings.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n paneBorder: { optionName: \"border\", isCollectionItem: false }\n };\n return CommonPaneSettings;\n}(nested_option_1.default));\nexports.CommonPaneSettings = CommonPaneSettings;\nvar CommonSeriesSettings = /** @class */ (function (_super) {\n __extends(CommonSeriesSettings, _super);\n function CommonSeriesSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CommonSeriesSettings.OptionName = \"commonSeriesSettings\";\n CommonSeriesSettings.ExpectedChildren = {\n aggregation: { optionName: \"aggregation\", isCollectionItem: false },\n border: { optionName: \"border\", isCollectionItem: false },\n commonSeriesSettingsHoverStyle: { optionName: \"hoverStyle\", isCollectionItem: false },\n commonSeriesSettingsLabel: { optionName: \"label\", isCollectionItem: false },\n commonSeriesSettingsSelectionStyle: { optionName: \"selectionStyle\", isCollectionItem: false },\n hoverStyle: { optionName: \"hoverStyle\", isCollectionItem: false },\n label: { optionName: \"label\", isCollectionItem: false },\n point: { optionName: \"point\", isCollectionItem: false },\n reduction: { optionName: \"reduction\", isCollectionItem: false },\n selectionStyle: { optionName: \"selectionStyle\", isCollectionItem: false },\n seriesBorder: { optionName: \"border\", isCollectionItem: false },\n valueErrorBar: { optionName: \"valueErrorBar\", isCollectionItem: false }\n };\n return CommonSeriesSettings;\n}(nested_option_1.default));\nexports.CommonSeriesSettings = CommonSeriesSettings;\nvar CommonSeriesSettingsHoverStyle = /** @class */ (function (_super) {\n __extends(CommonSeriesSettingsHoverStyle, _super);\n function CommonSeriesSettingsHoverStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CommonSeriesSettingsHoverStyle.OptionName = \"hoverStyle\";\n CommonSeriesSettingsHoverStyle.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n hatching: { optionName: \"hatching\", isCollectionItem: false },\n seriesBorder: { optionName: \"border\", isCollectionItem: false }\n };\n return CommonSeriesSettingsHoverStyle;\n}(nested_option_1.default));\nexports.CommonSeriesSettingsHoverStyle = CommonSeriesSettingsHoverStyle;\nvar CommonSeriesSettingsLabel = /** @class */ (function (_super) {\n __extends(CommonSeriesSettingsLabel, _super);\n function CommonSeriesSettingsLabel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CommonSeriesSettingsLabel.OptionName = \"label\";\n CommonSeriesSettingsLabel.ExpectedChildren = {\n argumentFormat: { optionName: \"argumentFormat\", isCollectionItem: false },\n border: { optionName: \"border\", isCollectionItem: false },\n connector: { optionName: \"connector\", isCollectionItem: false },\n font: { optionName: \"font\", isCollectionItem: false },\n format: { optionName: \"format\", isCollectionItem: false },\n seriesBorder: { optionName: \"border\", isCollectionItem: false }\n };\n return CommonSeriesSettingsLabel;\n}(nested_option_1.default));\nexports.CommonSeriesSettingsLabel = CommonSeriesSettingsLabel;\nvar CommonSeriesSettingsSelectionStyle = /** @class */ (function (_super) {\n __extends(CommonSeriesSettingsSelectionStyle, _super);\n function CommonSeriesSettingsSelectionStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CommonSeriesSettingsSelectionStyle.OptionName = \"selectionStyle\";\n CommonSeriesSettingsSelectionStyle.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n hatching: { optionName: \"hatching\", isCollectionItem: false },\n seriesBorder: { optionName: \"border\", isCollectionItem: false }\n };\n return CommonSeriesSettingsSelectionStyle;\n}(nested_option_1.default));\nexports.CommonSeriesSettingsSelectionStyle = CommonSeriesSettingsSelectionStyle;\nvar Connector = /** @class */ (function (_super) {\n __extends(Connector, _super);\n function Connector() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Connector.OptionName = \"connector\";\n return Connector;\n}(nested_option_1.default));\nexports.Connector = Connector;\nvar ConstantLine = /** @class */ (function (_super) {\n __extends(ConstantLine, _super);\n function ConstantLine() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ConstantLine.OptionName = \"constantLines\";\n ConstantLine.IsCollectionItem = true;\n return ConstantLine;\n}(nested_option_1.default));\nexports.ConstantLine = ConstantLine;\nvar ConstantLineLabel = /** @class */ (function (_super) {\n __extends(ConstantLineLabel, _super);\n function ConstantLineLabel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ConstantLineLabel.OptionName = \"label\";\n return ConstantLineLabel;\n}(nested_option_1.default));\nexports.ConstantLineLabel = ConstantLineLabel;\nvar ConstantLineStyle = /** @class */ (function (_super) {\n __extends(ConstantLineStyle, _super);\n function ConstantLineStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ConstantLineStyle.OptionName = \"constantLineStyle\";\n return ConstantLineStyle;\n}(nested_option_1.default));\nexports.ConstantLineStyle = ConstantLineStyle;\nvar Crosshair = /** @class */ (function (_super) {\n __extends(Crosshair, _super);\n function Crosshair() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Crosshair.OptionName = \"crosshair\";\n Crosshair.ExpectedChildren = {\n horizontalLine: { optionName: \"horizontalLine\", isCollectionItem: false },\n horizontalLineLabel: { optionName: \"label\", isCollectionItem: false },\n label: { optionName: \"label\", isCollectionItem: false },\n verticalLine: { optionName: \"verticalLine\", isCollectionItem: false }\n };\n return Crosshair;\n}(nested_option_1.default));\nexports.Crosshair = Crosshair;\nvar DataPrepareSettings = /** @class */ (function (_super) {\n __extends(DataPrepareSettings, _super);\n function DataPrepareSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DataPrepareSettings.OptionName = \"dataPrepareSettings\";\n return DataPrepareSettings;\n}(nested_option_1.default));\nexports.DataPrepareSettings = DataPrepareSettings;\nvar DragBoxStyle = /** @class */ (function (_super) {\n __extends(DragBoxStyle, _super);\n function DragBoxStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DragBoxStyle.OptionName = \"dragBoxStyle\";\n return DragBoxStyle;\n}(nested_option_1.default));\nexports.DragBoxStyle = DragBoxStyle;\nvar Export = /** @class */ (function (_super) {\n __extends(Export, _super);\n function Export() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Export.OptionName = \"export\";\n return Export;\n}(nested_option_1.default));\nexports.Export = Export;\nvar Font = /** @class */ (function (_super) {\n __extends(Font, _super);\n function Font() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Font.OptionName = \"font\";\n return Font;\n}(nested_option_1.default));\nexports.Font = Font;\nvar Format = /** @class */ (function (_super) {\n __extends(Format, _super);\n function Format() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Format.OptionName = \"format\";\n return Format;\n}(nested_option_1.default));\nexports.Format = Format;\nvar Grid = /** @class */ (function (_super) {\n __extends(Grid, _super);\n function Grid() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Grid.OptionName = \"grid\";\n return Grid;\n}(nested_option_1.default));\nexports.Grid = Grid;\nvar Hatching = /** @class */ (function (_super) {\n __extends(Hatching, _super);\n function Hatching() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Hatching.OptionName = \"hatching\";\n return Hatching;\n}(nested_option_1.default));\nexports.Hatching = Hatching;\nvar Height = /** @class */ (function (_super) {\n __extends(Height, _super);\n function Height() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Height.OptionName = \"height\";\n return Height;\n}(nested_option_1.default));\nexports.Height = Height;\nvar HorizontalLine = /** @class */ (function (_super) {\n __extends(HorizontalLine, _super);\n function HorizontalLine() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HorizontalLine.OptionName = \"horizontalLine\";\n HorizontalLine.ExpectedChildren = {\n horizontalLineLabel: { optionName: \"label\", isCollectionItem: false },\n label: { optionName: \"label\", isCollectionItem: false }\n };\n return HorizontalLine;\n}(nested_option_1.default));\nexports.HorizontalLine = HorizontalLine;\nvar HorizontalLineLabel = /** @class */ (function (_super) {\n __extends(HorizontalLineLabel, _super);\n function HorizontalLineLabel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HorizontalLineLabel.OptionName = \"label\";\n return HorizontalLineLabel;\n}(nested_option_1.default));\nexports.HorizontalLineLabel = HorizontalLineLabel;\nvar HoverStyle = /** @class */ (function (_super) {\n __extends(HoverStyle, _super);\n function HoverStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HoverStyle.OptionName = \"hoverStyle\";\n return HoverStyle;\n}(nested_option_1.default));\nexports.HoverStyle = HoverStyle;\nvar Image = /** @class */ (function (_super) {\n __extends(Image, _super);\n function Image() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Image.OptionName = \"image\";\n return Image;\n}(nested_option_1.default));\nexports.Image = Image;\nvar Label = /** @class */ (function (_super) {\n __extends(Label, _super);\n function Label() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Label.OptionName = \"label\";\n Label.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Label;\n}(nested_option_1.default));\nexports.Label = Label;\nvar Legend = /** @class */ (function (_super) {\n __extends(Legend, _super);\n function Legend() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Legend.OptionName = \"legend\";\n Legend.ExpectedChildren = {\n annotationBorder: { optionName: \"border\", isCollectionItem: false },\n border: { optionName: \"border\", isCollectionItem: false },\n font: { optionName: \"font\", isCollectionItem: false },\n legendTitle: { optionName: \"title\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n title: { optionName: \"title\", isCollectionItem: false }\n };\n Legend.TemplateProps = [{\n tmplOption: \"markerTemplate\",\n render: \"markerRender\",\n component: \"markerComponent\",\n keyFn: \"markerKeyFn\"\n }];\n return Legend;\n}(nested_option_1.default));\nexports.Legend = Legend;\nvar LegendTitle = /** @class */ (function (_super) {\n __extends(LegendTitle, _super);\n function LegendTitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LegendTitle.OptionName = \"title\";\n LegendTitle.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false },\n legendTitleSubtitle: { optionName: \"subtitle\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n subtitle: { optionName: \"subtitle\", isCollectionItem: false }\n };\n return LegendTitle;\n}(nested_option_1.default));\nexports.LegendTitle = LegendTitle;\nvar LegendTitleSubtitle = /** @class */ (function (_super) {\n __extends(LegendTitleSubtitle, _super);\n function LegendTitleSubtitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LegendTitleSubtitle.OptionName = \"subtitle\";\n LegendTitleSubtitle.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false }\n };\n return LegendTitleSubtitle;\n}(nested_option_1.default));\nexports.LegendTitleSubtitle = LegendTitleSubtitle;\nvar Length = /** @class */ (function (_super) {\n __extends(Length, _super);\n function Length() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Length.OptionName = \"length\";\n return Length;\n}(nested_option_1.default));\nexports.Length = Length;\nvar LoadingIndicator = /** @class */ (function (_super) {\n __extends(LoadingIndicator, _super);\n function LoadingIndicator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LoadingIndicator.OptionName = \"loadingIndicator\";\n LoadingIndicator.DefaultsProps = {\n defaultShow: \"show\"\n };\n LoadingIndicator.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false }\n };\n return LoadingIndicator;\n}(nested_option_1.default));\nexports.LoadingIndicator = LoadingIndicator;\nvar Margin = /** @class */ (function (_super) {\n __extends(Margin, _super);\n function Margin() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Margin.OptionName = \"margin\";\n return Margin;\n}(nested_option_1.default));\nexports.Margin = Margin;\nvar MinorGrid = /** @class */ (function (_super) {\n __extends(MinorGrid, _super);\n function MinorGrid() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MinorGrid.OptionName = \"minorGrid\";\n return MinorGrid;\n}(nested_option_1.default));\nexports.MinorGrid = MinorGrid;\nvar MinorTick = /** @class */ (function (_super) {\n __extends(MinorTick, _super);\n function MinorTick() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MinorTick.OptionName = \"minorTick\";\n return MinorTick;\n}(nested_option_1.default));\nexports.MinorTick = MinorTick;\nvar MinorTickInterval = /** @class */ (function (_super) {\n __extends(MinorTickInterval, _super);\n function MinorTickInterval() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MinorTickInterval.OptionName = \"minorTickInterval\";\n return MinorTickInterval;\n}(nested_option_1.default));\nexports.MinorTickInterval = MinorTickInterval;\nvar MinVisualRangeLength = /** @class */ (function (_super) {\n __extends(MinVisualRangeLength, _super);\n function MinVisualRangeLength() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MinVisualRangeLength.OptionName = \"minVisualRangeLength\";\n return MinVisualRangeLength;\n}(nested_option_1.default));\nexports.MinVisualRangeLength = MinVisualRangeLength;\nvar Pane = /** @class */ (function (_super) {\n __extends(Pane, _super);\n function Pane() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Pane.OptionName = \"panes\";\n Pane.IsCollectionItem = true;\n return Pane;\n}(nested_option_1.default));\nexports.Pane = Pane;\nvar PaneBorder = /** @class */ (function (_super) {\n __extends(PaneBorder, _super);\n function PaneBorder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PaneBorder.OptionName = \"border\";\n return PaneBorder;\n}(nested_option_1.default));\nexports.PaneBorder = PaneBorder;\nvar Point = /** @class */ (function (_super) {\n __extends(Point, _super);\n function Point() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Point.OptionName = \"point\";\n Point.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n hoverStyle: { optionName: \"hoverStyle\", isCollectionItem: false },\n image: { optionName: \"image\", isCollectionItem: false },\n pointBorder: { optionName: \"border\", isCollectionItem: false },\n pointHoverStyle: { optionName: \"hoverStyle\", isCollectionItem: false },\n pointImage: { optionName: \"image\", isCollectionItem: false },\n pointSelectionStyle: { optionName: \"selectionStyle\", isCollectionItem: false },\n selectionStyle: { optionName: \"selectionStyle\", isCollectionItem: false }\n };\n return Point;\n}(nested_option_1.default));\nexports.Point = Point;\nvar PointBorder = /** @class */ (function (_super) {\n __extends(PointBorder, _super);\n function PointBorder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PointBorder.OptionName = \"border\";\n return PointBorder;\n}(nested_option_1.default));\nexports.PointBorder = PointBorder;\nvar PointHoverStyle = /** @class */ (function (_super) {\n __extends(PointHoverStyle, _super);\n function PointHoverStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PointHoverStyle.OptionName = \"hoverStyle\";\n PointHoverStyle.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n pointBorder: { optionName: \"border\", isCollectionItem: false }\n };\n return PointHoverStyle;\n}(nested_option_1.default));\nexports.PointHoverStyle = PointHoverStyle;\nvar PointImage = /** @class */ (function (_super) {\n __extends(PointImage, _super);\n function PointImage() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PointImage.OptionName = \"image\";\n PointImage.ExpectedChildren = {\n height: { optionName: \"height\", isCollectionItem: false },\n url: { optionName: \"url\", isCollectionItem: false },\n width: { optionName: \"width\", isCollectionItem: false }\n };\n return PointImage;\n}(nested_option_1.default));\nexports.PointImage = PointImage;\nvar PointSelectionStyle = /** @class */ (function (_super) {\n __extends(PointSelectionStyle, _super);\n function PointSelectionStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PointSelectionStyle.OptionName = \"selectionStyle\";\n PointSelectionStyle.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n pointBorder: { optionName: \"border\", isCollectionItem: false }\n };\n return PointSelectionStyle;\n}(nested_option_1.default));\nexports.PointSelectionStyle = PointSelectionStyle;\nvar Reduction = /** @class */ (function (_super) {\n __extends(Reduction, _super);\n function Reduction() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Reduction.OptionName = \"reduction\";\n return Reduction;\n}(nested_option_1.default));\nexports.Reduction = Reduction;\nvar ScrollBar = /** @class */ (function (_super) {\n __extends(ScrollBar, _super);\n function ScrollBar() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ScrollBar.OptionName = \"scrollBar\";\n return ScrollBar;\n}(nested_option_1.default));\nexports.ScrollBar = ScrollBar;\nvar SelectionStyle = /** @class */ (function (_super) {\n __extends(SelectionStyle, _super);\n function SelectionStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SelectionStyle.OptionName = \"selectionStyle\";\n return SelectionStyle;\n}(nested_option_1.default));\nexports.SelectionStyle = SelectionStyle;\nvar Series = /** @class */ (function (_super) {\n __extends(Series, _super);\n function Series() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Series.OptionName = \"series\";\n Series.IsCollectionItem = true;\n return Series;\n}(nested_option_1.default));\nexports.Series = Series;\nvar SeriesBorder = /** @class */ (function (_super) {\n __extends(SeriesBorder, _super);\n function SeriesBorder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SeriesBorder.OptionName = \"border\";\n return SeriesBorder;\n}(nested_option_1.default));\nexports.SeriesBorder = SeriesBorder;\nvar SeriesTemplate = /** @class */ (function (_super) {\n __extends(SeriesTemplate, _super);\n function SeriesTemplate() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SeriesTemplate.OptionName = \"seriesTemplate\";\n return SeriesTemplate;\n}(nested_option_1.default));\nexports.SeriesTemplate = SeriesTemplate;\nvar Shadow = /** @class */ (function (_super) {\n __extends(Shadow, _super);\n function Shadow() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Shadow.OptionName = \"shadow\";\n return Shadow;\n}(nested_option_1.default));\nexports.Shadow = Shadow;\nvar Size = /** @class */ (function (_super) {\n __extends(Size, _super);\n function Size() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Size.OptionName = \"size\";\n return Size;\n}(nested_option_1.default));\nexports.Size = Size;\nvar Strip = /** @class */ (function (_super) {\n __extends(Strip, _super);\n function Strip() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Strip.OptionName = \"strips\";\n Strip.IsCollectionItem = true;\n return Strip;\n}(nested_option_1.default));\nexports.Strip = Strip;\nvar StripLabel = /** @class */ (function (_super) {\n __extends(StripLabel, _super);\n function StripLabel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StripLabel.OptionName = \"label\";\n return StripLabel;\n}(nested_option_1.default));\nexports.StripLabel = StripLabel;\nvar StripStyle = /** @class */ (function (_super) {\n __extends(StripStyle, _super);\n function StripStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StripStyle.OptionName = \"stripStyle\";\n StripStyle.ExpectedChildren = {\n label: { optionName: \"label\", isCollectionItem: false },\n stripStyleLabel: { optionName: \"label\", isCollectionItem: false }\n };\n return StripStyle;\n}(nested_option_1.default));\nexports.StripStyle = StripStyle;\nvar StripStyleLabel = /** @class */ (function (_super) {\n __extends(StripStyleLabel, _super);\n function StripStyleLabel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StripStyleLabel.OptionName = \"label\";\n return StripStyleLabel;\n}(nested_option_1.default));\nexports.StripStyleLabel = StripStyleLabel;\nvar Subtitle = /** @class */ (function (_super) {\n __extends(Subtitle, _super);\n function Subtitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Subtitle.OptionName = \"subtitle\";\n return Subtitle;\n}(nested_option_1.default));\nexports.Subtitle = Subtitle;\nvar Tick = /** @class */ (function (_super) {\n __extends(Tick, _super);\n function Tick() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Tick.OptionName = \"tick\";\n return Tick;\n}(nested_option_1.default));\nexports.Tick = Tick;\nvar TickInterval = /** @class */ (function (_super) {\n __extends(TickInterval, _super);\n function TickInterval() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TickInterval.OptionName = \"tickInterval\";\n return TickInterval;\n}(nested_option_1.default));\nexports.TickInterval = TickInterval;\nvar Title = /** @class */ (function (_super) {\n __extends(Title, _super);\n function Title() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Title.OptionName = \"title\";\n return Title;\n}(nested_option_1.default));\nexports.Title = Title;\nvar Tooltip = /** @class */ (function (_super) {\n __extends(Tooltip, _super);\n function Tooltip() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Tooltip.OptionName = \"tooltip\";\n Tooltip.ExpectedChildren = {\n argumentFormat: { optionName: \"argumentFormat\", isCollectionItem: false },\n border: { optionName: \"border\", isCollectionItem: false },\n font: { optionName: \"font\", isCollectionItem: false },\n format: { optionName: \"format\", isCollectionItem: false },\n shadow: { optionName: \"shadow\", isCollectionItem: false },\n tooltipBorder: { optionName: \"border\", isCollectionItem: false }\n };\n Tooltip.TemplateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }];\n return Tooltip;\n}(nested_option_1.default));\nexports.Tooltip = Tooltip;\nvar TooltipBorder = /** @class */ (function (_super) {\n __extends(TooltipBorder, _super);\n function TooltipBorder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TooltipBorder.OptionName = \"border\";\n return TooltipBorder;\n}(nested_option_1.default));\nexports.TooltipBorder = TooltipBorder;\nvar Url = /** @class */ (function (_super) {\n __extends(Url, _super);\n function Url() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Url.OptionName = \"url\";\n return Url;\n}(nested_option_1.default));\nexports.Url = Url;\nvar ValueAxis = /** @class */ (function (_super) {\n __extends(ValueAxis, _super);\n function ValueAxis() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ValueAxis.OptionName = \"valueAxis\";\n ValueAxis.IsCollectionItem = true;\n ValueAxis.DefaultsProps = {\n defaultCategories: \"categories\",\n defaultVisualRange: \"visualRange\"\n };\n ValueAxis.ExpectedChildren = {\n axisConstantLineStyle: { optionName: \"constantLineStyle\", isCollectionItem: false },\n axisLabel: { optionName: \"label\", isCollectionItem: false },\n axisTitle: { optionName: \"title\", isCollectionItem: false },\n break: { optionName: \"breaks\", isCollectionItem: true },\n constantLine: { optionName: \"constantLines\", isCollectionItem: true },\n constantLineStyle: { optionName: \"constantLineStyle\", isCollectionItem: false },\n label: { optionName: \"label\", isCollectionItem: false },\n minorTickInterval: { optionName: \"minorTickInterval\", isCollectionItem: false },\n minVisualRangeLength: { optionName: \"minVisualRangeLength\", isCollectionItem: false },\n strip: { optionName: \"strips\", isCollectionItem: true },\n tickInterval: { optionName: \"tickInterval\", isCollectionItem: false },\n title: { optionName: \"title\", isCollectionItem: false },\n visualRange: { optionName: \"visualRange\", isCollectionItem: false },\n wholeRange: { optionName: \"wholeRange\", isCollectionItem: false }\n };\n return ValueAxis;\n}(nested_option_1.default));\nexports.ValueAxis = ValueAxis;\nvar ValueErrorBar = /** @class */ (function (_super) {\n __extends(ValueErrorBar, _super);\n function ValueErrorBar() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ValueErrorBar.OptionName = \"valueErrorBar\";\n return ValueErrorBar;\n}(nested_option_1.default));\nexports.ValueErrorBar = ValueErrorBar;\nvar VerticalLine = /** @class */ (function (_super) {\n __extends(VerticalLine, _super);\n function VerticalLine() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n VerticalLine.OptionName = \"verticalLine\";\n VerticalLine.ExpectedChildren = {\n horizontalLineLabel: { optionName: \"label\", isCollectionItem: false },\n label: { optionName: \"label\", isCollectionItem: false }\n };\n return VerticalLine;\n}(nested_option_1.default));\nexports.VerticalLine = VerticalLine;\nvar VisualRange = /** @class */ (function (_super) {\n __extends(VisualRange, _super);\n function VisualRange() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n VisualRange.OptionName = \"visualRange\";\n VisualRange.DefaultsProps = {\n defaultEndValue: \"endValue\",\n defaultStartValue: \"startValue\"\n };\n return VisualRange;\n}(nested_option_1.default));\nexports.VisualRange = VisualRange;\nvar WholeRange = /** @class */ (function (_super) {\n __extends(WholeRange, _super);\n function WholeRange() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n WholeRange.OptionName = \"wholeRange\";\n WholeRange.DefaultsProps = {\n defaultEndValue: \"endValue\",\n defaultStartValue: \"startValue\"\n };\n return WholeRange;\n}(nested_option_1.default));\nexports.WholeRange = WholeRange;\nvar Width = /** @class */ (function (_super) {\n __extends(Width, _super);\n function Width() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Width.OptionName = \"width\";\n return Width;\n}(nested_option_1.default));\nexports.Width = Width;\nvar ZoomAndPan = /** @class */ (function (_super) {\n __extends(ZoomAndPan, _super);\n function ZoomAndPan() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ZoomAndPan.OptionName = \"zoomAndPan\";\n ZoomAndPan.ExpectedChildren = {\n dragBoxStyle: { optionName: \"dragBoxStyle\", isCollectionItem: false }\n };\n return ZoomAndPan;\n}(nested_option_1.default));\nexports.ZoomAndPan = ZoomAndPan;\nexports.default = Chart;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CheckBox = void 0;\nvar check_box_1 = require(\"devextreme/ui/check_box\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar CheckBox = /** @class */ (function (_super) {\n __extends(CheckBox, _super);\n function CheckBox() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = check_box_1.default;\n _this.subscribableOptions = [\"value\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onInitialized\", \"onValueChanged\"];\n _this._defaults = {\n defaultValue: \"value\"\n };\n return _this;\n }\n Object.defineProperty(CheckBox.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return CheckBox;\n}(component_1.Component));\nexports.CheckBox = CheckBox;\nCheckBox.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n enableThreeStateBehavior: PropTypes.bool,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n iconSize: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string\n ]),\n isValid: PropTypes.bool,\n name: PropTypes.string,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onValueChanged: PropTypes.func,\n readOnly: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n tabIndex: PropTypes.number,\n text: PropTypes.string,\n validationErrors: PropTypes.array,\n validationMessageMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"always\",\n \"auto\"\n ])\n ]),\n validationMessagePosition: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"bottom\",\n \"left\",\n \"right\",\n \"top\"\n ])\n ]),\n validationStatus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"valid\",\n \"invalid\",\n \"pending\"\n ])\n ]),\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nexports.default = CheckBox;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ValueIndicator = exports.Tooltip = exports.Title = exports.Tick = exports.Text = exports.SubvalueIndicator = exports.Subtitle = exports.Size = exports.Shadow = exports.Scale = exports.RangeContainer = exports.Range = exports.MinorTick = exports.Margin = exports.LoadingIndicator = exports.Label = exports.Geometry = exports.Format = exports.Font = exports.Export = exports.Border = exports.Animation = exports.CircularGauge = void 0;\nvar circular_gauge_1 = require(\"devextreme/viz/circular_gauge\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar CircularGauge = /** @class */ (function (_super) {\n __extends(CircularGauge, _super);\n function CircularGauge() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = circular_gauge_1.default;\n _this.subscribableOptions = [\"loadingIndicator\", \"loadingIndicator.show\", \"subvalues\", \"value\"];\n _this.independentEvents = [\"onDisposing\", \"onDrawn\", \"onExported\", \"onExporting\", \"onFileSaving\", \"onIncidentOccurred\", \"onInitialized\", \"onTooltipHidden\", \"onTooltipShown\"];\n _this._defaults = {\n defaultLoadingIndicator: \"loadingIndicator\",\n defaultSubvalues: \"subvalues\",\n defaultValue: \"value\"\n };\n _this._expectedChildren = {\n animation: { optionName: \"animation\", isCollectionItem: false },\n export: { optionName: \"export\", isCollectionItem: false },\n geometry: { optionName: \"geometry\", isCollectionItem: false },\n loadingIndicator: { optionName: \"loadingIndicator\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n rangeContainer: { optionName: \"rangeContainer\", isCollectionItem: false },\n scale: { optionName: \"scale\", isCollectionItem: false },\n size: { optionName: \"size\", isCollectionItem: false },\n subvalueIndicator: { optionName: \"subvalueIndicator\", isCollectionItem: false },\n title: { optionName: \"title\", isCollectionItem: false },\n tooltip: { optionName: \"tooltip\", isCollectionItem: false },\n valueIndicator: { optionName: \"valueIndicator\", isCollectionItem: false }\n };\n return _this;\n }\n Object.defineProperty(CircularGauge.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return CircularGauge;\n}(component_1.Component));\nexports.CircularGauge = CircularGauge;\nCircularGauge.propTypes = {\n animation: PropTypes.object,\n containerBackgroundColor: PropTypes.string,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n export: PropTypes.object,\n geometry: PropTypes.object,\n loadingIndicator: PropTypes.object,\n margin: PropTypes.object,\n onDisposing: PropTypes.func,\n onDrawn: PropTypes.func,\n onExported: PropTypes.func,\n onExporting: PropTypes.func,\n onFileSaving: PropTypes.func,\n onIncidentOccurred: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onTooltipHidden: PropTypes.func,\n onTooltipShown: PropTypes.func,\n pathModified: PropTypes.bool,\n rangeContainer: PropTypes.object,\n redrawOnResize: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n scale: PropTypes.object,\n size: PropTypes.object,\n subvalueIndicator: PropTypes.object,\n subvalues: PropTypes.array,\n theme: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"generic.dark\",\n \"generic.light\",\n \"generic.contrast\",\n \"generic.carmine\",\n \"generic.darkmoon\",\n \"generic.darkviolet\",\n \"generic.greenmist\",\n \"generic.softblue\",\n \"material.blue.light\",\n \"material.lime.light\",\n \"material.orange.light\",\n \"material.purple.light\",\n \"material.teal.light\"\n ])\n ]),\n title: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string\n ]),\n tooltip: PropTypes.object,\n value: PropTypes.number,\n valueIndicator: PropTypes.object\n};\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Animation.OptionName = \"animation\";\n return Animation;\n}(nested_option_1.default));\nexports.Animation = Animation;\nvar Border = /** @class */ (function (_super) {\n __extends(Border, _super);\n function Border() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Border.OptionName = \"border\";\n return Border;\n}(nested_option_1.default));\nexports.Border = Border;\nvar Export = /** @class */ (function (_super) {\n __extends(Export, _super);\n function Export() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Export.OptionName = \"export\";\n return Export;\n}(nested_option_1.default));\nexports.Export = Export;\nvar Font = /** @class */ (function (_super) {\n __extends(Font, _super);\n function Font() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Font.OptionName = \"font\";\n return Font;\n}(nested_option_1.default));\nexports.Font = Font;\nvar Format = /** @class */ (function (_super) {\n __extends(Format, _super);\n function Format() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Format.OptionName = \"format\";\n return Format;\n}(nested_option_1.default));\nexports.Format = Format;\nvar Geometry = /** @class */ (function (_super) {\n __extends(Geometry, _super);\n function Geometry() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Geometry.OptionName = \"geometry\";\n return Geometry;\n}(nested_option_1.default));\nexports.Geometry = Geometry;\nvar Label = /** @class */ (function (_super) {\n __extends(Label, _super);\n function Label() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Label.OptionName = \"label\";\n Label.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false },\n format: { optionName: \"format\", isCollectionItem: false }\n };\n return Label;\n}(nested_option_1.default));\nexports.Label = Label;\nvar LoadingIndicator = /** @class */ (function (_super) {\n __extends(LoadingIndicator, _super);\n function LoadingIndicator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LoadingIndicator.OptionName = \"loadingIndicator\";\n LoadingIndicator.DefaultsProps = {\n defaultShow: \"show\"\n };\n LoadingIndicator.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false }\n };\n return LoadingIndicator;\n}(nested_option_1.default));\nexports.LoadingIndicator = LoadingIndicator;\nvar Margin = /** @class */ (function (_super) {\n __extends(Margin, _super);\n function Margin() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Margin.OptionName = \"margin\";\n return Margin;\n}(nested_option_1.default));\nexports.Margin = Margin;\nvar MinorTick = /** @class */ (function (_super) {\n __extends(MinorTick, _super);\n function MinorTick() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MinorTick.OptionName = \"minorTick\";\n return MinorTick;\n}(nested_option_1.default));\nexports.MinorTick = MinorTick;\nvar Range = /** @class */ (function (_super) {\n __extends(Range, _super);\n function Range() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Range.OptionName = \"ranges\";\n Range.IsCollectionItem = true;\n return Range;\n}(nested_option_1.default));\nexports.Range = Range;\nvar RangeContainer = /** @class */ (function (_super) {\n __extends(RangeContainer, _super);\n function RangeContainer() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RangeContainer.OptionName = \"rangeContainer\";\n RangeContainer.ExpectedChildren = {\n range: { optionName: \"ranges\", isCollectionItem: true }\n };\n return RangeContainer;\n}(nested_option_1.default));\nexports.RangeContainer = RangeContainer;\nvar Scale = /** @class */ (function (_super) {\n __extends(Scale, _super);\n function Scale() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Scale.OptionName = \"scale\";\n Scale.ExpectedChildren = {\n label: { optionName: \"label\", isCollectionItem: false },\n minorTick: { optionName: \"minorTick\", isCollectionItem: false },\n tick: { optionName: \"tick\", isCollectionItem: false }\n };\n return Scale;\n}(nested_option_1.default));\nexports.Scale = Scale;\nvar Shadow = /** @class */ (function (_super) {\n __extends(Shadow, _super);\n function Shadow() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Shadow.OptionName = \"shadow\";\n return Shadow;\n}(nested_option_1.default));\nexports.Shadow = Shadow;\nvar Size = /** @class */ (function (_super) {\n __extends(Size, _super);\n function Size() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Size.OptionName = \"size\";\n return Size;\n}(nested_option_1.default));\nexports.Size = Size;\nvar Subtitle = /** @class */ (function (_super) {\n __extends(Subtitle, _super);\n function Subtitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Subtitle.OptionName = \"subtitle\";\n Subtitle.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false }\n };\n return Subtitle;\n}(nested_option_1.default));\nexports.Subtitle = Subtitle;\nvar SubvalueIndicator = /** @class */ (function (_super) {\n __extends(SubvalueIndicator, _super);\n function SubvalueIndicator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SubvalueIndicator.OptionName = \"subvalueIndicator\";\n SubvalueIndicator.ExpectedChildren = {\n text: { optionName: \"text\", isCollectionItem: false }\n };\n return SubvalueIndicator;\n}(nested_option_1.default));\nexports.SubvalueIndicator = SubvalueIndicator;\nvar Text = /** @class */ (function (_super) {\n __extends(Text, _super);\n function Text() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Text.OptionName = \"text\";\n Text.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false },\n format: { optionName: \"format\", isCollectionItem: false }\n };\n return Text;\n}(nested_option_1.default));\nexports.Text = Text;\nvar Tick = /** @class */ (function (_super) {\n __extends(Tick, _super);\n function Tick() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Tick.OptionName = \"tick\";\n return Tick;\n}(nested_option_1.default));\nexports.Tick = Tick;\nvar Title = /** @class */ (function (_super) {\n __extends(Title, _super);\n function Title() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Title.OptionName = \"title\";\n Title.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n subtitle: { optionName: \"subtitle\", isCollectionItem: false }\n };\n return Title;\n}(nested_option_1.default));\nexports.Title = Title;\nvar Tooltip = /** @class */ (function (_super) {\n __extends(Tooltip, _super);\n function Tooltip() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Tooltip.OptionName = \"tooltip\";\n Tooltip.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n font: { optionName: \"font\", isCollectionItem: false },\n format: { optionName: \"format\", isCollectionItem: false },\n shadow: { optionName: \"shadow\", isCollectionItem: false }\n };\n Tooltip.TemplateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }];\n return Tooltip;\n}(nested_option_1.default));\nexports.Tooltip = Tooltip;\nvar ValueIndicator = /** @class */ (function (_super) {\n __extends(ValueIndicator, _super);\n function ValueIndicator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ValueIndicator.OptionName = \"valueIndicator\";\n return ValueIndicator;\n}(nested_option_1.default));\nexports.ValueIndicator = ValueIndicator;\nexports.default = CircularGauge;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ToolbarItem = exports.To = exports.Show = exports.Position = exports.Options = exports.Offset = exports.My = exports.Hide = exports.From = exports.DropDownOptions = exports.Collision = exports.Button = exports.BoundaryOffset = exports.At = exports.Animation = exports.ColorBox = void 0;\nvar color_box_1 = require(\"devextreme/ui/color_box\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar ColorBox = /** @class */ (function (_super) {\n __extends(ColorBox, _super);\n function ColorBox() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = color_box_1.default;\n _this.subscribableOptions = [\"opened\", \"value\"];\n _this.independentEvents = [\"onChange\", \"onClosed\", \"onCopy\", \"onCut\", \"onDisposing\", \"onEnterKey\", \"onFocusIn\", \"onFocusOut\", \"onInitialized\", \"onInput\", \"onKeyDown\", \"onKeyUp\", \"onOpened\", \"onPaste\", \"onValueChanged\"];\n _this._defaults = {\n defaultOpened: \"opened\",\n defaultValue: \"value\"\n };\n _this._expectedChildren = {\n button: { optionName: \"buttons\", isCollectionItem: true },\n dropDownOptions: { optionName: \"dropDownOptions\", isCollectionItem: false }\n };\n _this._templateProps = [{\n tmplOption: \"dropDownButtonTemplate\",\n render: \"dropDownButtonRender\",\n component: \"dropDownButtonComponent\",\n keyFn: \"dropDownButtonKeyFn\"\n }, {\n tmplOption: \"fieldTemplate\",\n render: \"fieldRender\",\n component: \"fieldComponent\",\n keyFn: \"fieldKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(ColorBox.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return ColorBox;\n}(component_1.Component));\nexports.ColorBox = ColorBox;\nColorBox.propTypes = {\n acceptCustomValue: PropTypes.bool,\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n applyButtonText: PropTypes.string,\n applyValueMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"instantly\",\n \"useButtons\"\n ])\n ]),\n buttons: PropTypes.array,\n cancelButtonText: PropTypes.string,\n deferRendering: PropTypes.bool,\n disabled: PropTypes.bool,\n dropDownOptions: PropTypes.object,\n editAlphaChannel: PropTypes.bool,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n isValid: PropTypes.bool,\n keyStep: PropTypes.number,\n label: PropTypes.string,\n labelMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"static\",\n \"floating\",\n \"hidden\"\n ])\n ]),\n name: PropTypes.string,\n onChange: PropTypes.func,\n onClosed: PropTypes.func,\n onCopy: PropTypes.func,\n onCut: PropTypes.func,\n onDisposing: PropTypes.func,\n onEnterKey: PropTypes.func,\n onFocusIn: PropTypes.func,\n onFocusOut: PropTypes.func,\n onInitialized: PropTypes.func,\n onInput: PropTypes.func,\n onKeyDown: PropTypes.func,\n onKeyUp: PropTypes.func,\n onOpened: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onPaste: PropTypes.func,\n onValueChanged: PropTypes.func,\n opened: PropTypes.bool,\n openOnFieldClick: PropTypes.bool,\n placeholder: PropTypes.string,\n readOnly: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n showClearButton: PropTypes.bool,\n showDropDownButton: PropTypes.bool,\n stylingMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"outlined\",\n \"underlined\",\n \"filled\"\n ])\n ]),\n tabIndex: PropTypes.number,\n text: PropTypes.string,\n validationErrors: PropTypes.array,\n validationMessageMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"always\",\n \"auto\"\n ])\n ]),\n validationMessagePosition: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"bottom\",\n \"left\",\n \"right\",\n \"top\",\n \"auto\"\n ])\n ]),\n validationStatus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"valid\",\n \"invalid\",\n \"pending\"\n ])\n ]),\n value: PropTypes.string,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Animation.OptionName = \"animation\";\n Animation.ExpectedChildren = {\n hide: { optionName: \"hide\", isCollectionItem: false },\n show: { optionName: \"show\", isCollectionItem: false }\n };\n return Animation;\n}(nested_option_1.default));\nexports.Animation = Animation;\nvar At = /** @class */ (function (_super) {\n __extends(At, _super);\n function At() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n At.OptionName = \"at\";\n return At;\n}(nested_option_1.default));\nexports.At = At;\nvar BoundaryOffset = /** @class */ (function (_super) {\n __extends(BoundaryOffset, _super);\n function BoundaryOffset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BoundaryOffset.OptionName = \"boundaryOffset\";\n return BoundaryOffset;\n}(nested_option_1.default));\nexports.BoundaryOffset = BoundaryOffset;\nvar Button = /** @class */ (function (_super) {\n __extends(Button, _super);\n function Button() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Button.OptionName = \"buttons\";\n Button.IsCollectionItem = true;\n Button.ExpectedChildren = {\n options: { optionName: \"options\", isCollectionItem: false }\n };\n return Button;\n}(nested_option_1.default));\nexports.Button = Button;\nvar Collision = /** @class */ (function (_super) {\n __extends(Collision, _super);\n function Collision() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Collision.OptionName = \"collision\";\n return Collision;\n}(nested_option_1.default));\nexports.Collision = Collision;\nvar DropDownOptions = /** @class */ (function (_super) {\n __extends(DropDownOptions, _super);\n function DropDownOptions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DropDownOptions.OptionName = \"dropDownOptions\";\n DropDownOptions.DefaultsProps = {\n defaultHeight: \"height\",\n defaultPosition: \"position\",\n defaultVisible: \"visible\",\n defaultWidth: \"width\"\n };\n DropDownOptions.ExpectedChildren = {\n animation: { optionName: \"animation\", isCollectionItem: false },\n position: { optionName: \"position\", isCollectionItem: false },\n toolbarItem: { optionName: \"toolbarItems\", isCollectionItem: true }\n };\n DropDownOptions.TemplateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }, {\n tmplOption: \"titleTemplate\",\n render: \"titleRender\",\n component: \"titleComponent\",\n keyFn: \"titleKeyFn\"\n }];\n return DropDownOptions;\n}(nested_option_1.default));\nexports.DropDownOptions = DropDownOptions;\nvar From = /** @class */ (function (_super) {\n __extends(From, _super);\n function From() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n From.OptionName = \"from\";\n From.ExpectedChildren = {\n position: { optionName: \"position\", isCollectionItem: false }\n };\n return From;\n}(nested_option_1.default));\nexports.From = From;\nvar Hide = /** @class */ (function (_super) {\n __extends(Hide, _super);\n function Hide() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Hide.OptionName = \"hide\";\n Hide.ExpectedChildren = {\n from: { optionName: \"from\", isCollectionItem: false },\n to: { optionName: \"to\", isCollectionItem: false }\n };\n return Hide;\n}(nested_option_1.default));\nexports.Hide = Hide;\nvar My = /** @class */ (function (_super) {\n __extends(My, _super);\n function My() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n My.OptionName = \"my\";\n return My;\n}(nested_option_1.default));\nexports.My = My;\nvar Offset = /** @class */ (function (_super) {\n __extends(Offset, _super);\n function Offset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Offset.OptionName = \"offset\";\n return Offset;\n}(nested_option_1.default));\nexports.Offset = Offset;\nvar Options = /** @class */ (function (_super) {\n __extends(Options, _super);\n function Options() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Options.OptionName = \"options\";\n Options.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Options;\n}(nested_option_1.default));\nexports.Options = Options;\nvar Position = /** @class */ (function (_super) {\n __extends(Position, _super);\n function Position() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Position.OptionName = \"position\";\n return Position;\n}(nested_option_1.default));\nexports.Position = Position;\nvar Show = /** @class */ (function (_super) {\n __extends(Show, _super);\n function Show() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Show.OptionName = \"show\";\n return Show;\n}(nested_option_1.default));\nexports.Show = Show;\nvar To = /** @class */ (function (_super) {\n __extends(To, _super);\n function To() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n To.OptionName = \"to\";\n return To;\n}(nested_option_1.default));\nexports.To = To;\nvar ToolbarItem = /** @class */ (function (_super) {\n __extends(ToolbarItem, _super);\n function ToolbarItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ToolbarItem.OptionName = \"toolbarItems\";\n ToolbarItem.IsCollectionItem = true;\n ToolbarItem.TemplateProps = [{\n tmplOption: \"menuItemTemplate\",\n render: \"menuItemRender\",\n component: \"menuItemComponent\",\n keyFn: \"menuItemKeyFn\"\n }, {\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return ToolbarItem;\n}(nested_option_1.default));\nexports.ToolbarItem = ToolbarItem;\nexports.default = ColorBox;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.To = exports.ShowSubmenuMode = exports.ShowEvent = exports.Show = exports.Position = exports.Offset = exports.My = exports.Item = exports.Hide = exports.From = exports.Delay = exports.Collision = exports.BoundaryOffset = exports.At = exports.Animation = exports.ContextMenu = void 0;\nvar context_menu_1 = require(\"devextreme/ui/context_menu\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar ContextMenu = /** @class */ (function (_super) {\n __extends(ContextMenu, _super);\n function ContextMenu() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = context_menu_1.default;\n _this.subscribableOptions = [\"items\", \"selectedItem\", \"visible\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onHidden\", \"onHiding\", \"onInitialized\", \"onItemClick\", \"onItemContextMenu\", \"onItemRendered\", \"onPositioning\", \"onShowing\", \"onShown\"];\n _this._defaults = {\n defaultItems: \"items\",\n defaultSelectedItem: \"selectedItem\",\n defaultVisible: \"visible\"\n };\n _this._expectedChildren = {\n animation: { optionName: \"animation\", isCollectionItem: false },\n item: { optionName: \"items\", isCollectionItem: true },\n position: { optionName: \"position\", isCollectionItem: false },\n showEvent: { optionName: \"showEvent\", isCollectionItem: false },\n showSubmenuMode: { optionName: \"showSubmenuMode\", isCollectionItem: false }\n };\n _this._templateProps = [{\n tmplOption: \"itemTemplate\",\n render: \"itemRender\",\n component: \"itemComponent\",\n keyFn: \"itemKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(ContextMenu.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return ContextMenu;\n}(component_1.Component));\nexports.ContextMenu = ContextMenu;\nContextMenu.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n animation: PropTypes.object,\n closeOnOutsideClick: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.func\n ]),\n cssClass: PropTypes.string,\n disabled: PropTypes.bool,\n disabledExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n displayExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hideOnOutsideClick: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.func\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n items: PropTypes.array,\n itemsExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onHidden: PropTypes.func,\n onHiding: PropTypes.func,\n onInitialized: PropTypes.func,\n onItemClick: PropTypes.func,\n onItemContextMenu: PropTypes.func,\n onItemRendered: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onPositioning: PropTypes.func,\n onSelectionChanged: PropTypes.func,\n onShowing: PropTypes.func,\n onShown: PropTypes.func,\n position: PropTypes.object,\n rtlEnabled: PropTypes.bool,\n selectByClick: PropTypes.bool,\n selectedExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n selectionMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"single\",\n \"none\"\n ])\n ]),\n showEvent: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string\n ]),\n showSubmenuMode: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"onClick\",\n \"onHover\"\n ])\n ])\n ]),\n submenuDirection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"auto\",\n \"left\",\n \"right\"\n ])\n ]),\n tabIndex: PropTypes.number,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Animation.OptionName = \"animation\";\n Animation.ExpectedChildren = {\n hide: { optionName: \"hide\", isCollectionItem: false },\n show: { optionName: \"show\", isCollectionItem: false }\n };\n return Animation;\n}(nested_option_1.default));\nexports.Animation = Animation;\nvar At = /** @class */ (function (_super) {\n __extends(At, _super);\n function At() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n At.OptionName = \"at\";\n return At;\n}(nested_option_1.default));\nexports.At = At;\nvar BoundaryOffset = /** @class */ (function (_super) {\n __extends(BoundaryOffset, _super);\n function BoundaryOffset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BoundaryOffset.OptionName = \"boundaryOffset\";\n return BoundaryOffset;\n}(nested_option_1.default));\nexports.BoundaryOffset = BoundaryOffset;\nvar Collision = /** @class */ (function (_super) {\n __extends(Collision, _super);\n function Collision() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Collision.OptionName = \"collision\";\n return Collision;\n}(nested_option_1.default));\nexports.Collision = Collision;\nvar Delay = /** @class */ (function (_super) {\n __extends(Delay, _super);\n function Delay() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Delay.OptionName = \"delay\";\n return Delay;\n}(nested_option_1.default));\nexports.Delay = Delay;\nvar From = /** @class */ (function (_super) {\n __extends(From, _super);\n function From() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n From.OptionName = \"from\";\n From.ExpectedChildren = {\n position: { optionName: \"position\", isCollectionItem: false }\n };\n return From;\n}(nested_option_1.default));\nexports.From = From;\nvar Hide = /** @class */ (function (_super) {\n __extends(Hide, _super);\n function Hide() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Hide.OptionName = \"hide\";\n Hide.ExpectedChildren = {\n from: { optionName: \"from\", isCollectionItem: false },\n to: { optionName: \"to\", isCollectionItem: false }\n };\n return Hide;\n}(nested_option_1.default));\nexports.Hide = Hide;\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nvar My = /** @class */ (function (_super) {\n __extends(My, _super);\n function My() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n My.OptionName = \"my\";\n return My;\n}(nested_option_1.default));\nexports.My = My;\nvar Offset = /** @class */ (function (_super) {\n __extends(Offset, _super);\n function Offset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Offset.OptionName = \"offset\";\n return Offset;\n}(nested_option_1.default));\nexports.Offset = Offset;\nvar Position = /** @class */ (function (_super) {\n __extends(Position, _super);\n function Position() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Position.OptionName = \"position\";\n return Position;\n}(nested_option_1.default));\nexports.Position = Position;\nvar Show = /** @class */ (function (_super) {\n __extends(Show, _super);\n function Show() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Show.OptionName = \"show\";\n return Show;\n}(nested_option_1.default));\nexports.Show = Show;\nvar ShowEvent = /** @class */ (function (_super) {\n __extends(ShowEvent, _super);\n function ShowEvent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ShowEvent.OptionName = \"showEvent\";\n return ShowEvent;\n}(nested_option_1.default));\nexports.ShowEvent = ShowEvent;\nvar ShowSubmenuMode = /** @class */ (function (_super) {\n __extends(ShowSubmenuMode, _super);\n function ShowSubmenuMode() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ShowSubmenuMode.OptionName = \"showSubmenuMode\";\n ShowSubmenuMode.ExpectedChildren = {\n delay: { optionName: \"delay\", isCollectionItem: false }\n };\n return ShowSubmenuMode;\n}(nested_option_1.default));\nexports.ShowSubmenuMode = ShowSubmenuMode;\nvar To = /** @class */ (function (_super) {\n __extends(To, _super);\n function To() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n To.OptionName = \"to\";\n return To;\n}(nested_option_1.default));\nexports.To = To;\nexports.default = ContextMenu;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DX_REMOVE_EVENT = exports.ComponentBase = void 0;\nvar events = require(\"devextreme/events\");\nvar React = require(\"react\");\nvar react_dom_1 = require(\"react-dom\");\nvar templates_manager_1 = require(\"./templates-manager\");\nvar templates_renderer_1 = require(\"./templates-renderer\");\nvar templates_store_1 = require(\"./templates-store\");\nvar options_manager_1 = require(\"./options-manager\");\nvar widget_config_1 = require(\"./widget-config\");\nvar tree_1 = require(\"./configuration/react/tree\");\nvar utils_1 = require(\"./configuration/utils\");\nvar DX_REMOVE_EVENT = 'dxremove';\nexports.DX_REMOVE_EVENT = DX_REMOVE_EVENT;\nvar ComponentBase = /** @class */ (function (_super) {\n __extends(ComponentBase, _super);\n function ComponentBase(props) {\n var _this = _super.call(this, props) || this;\n _this.isPortalComponent = false;\n _this._templateProps = [];\n _this._childNodes = [];\n _this.useRequestAnimationFrameFlag = false;\n _this.useDeferUpdateForTemplates = false;\n _this._setTemplatesRendererRef = _this._setTemplatesRendererRef.bind(_this);\n _this._createWidget = _this._createWidget.bind(_this);\n _this._templatesStore = new templates_store_1.TemplatesStore(function () {\n if (_this._templatesRendererRef) {\n _this._templatesRendererRef.scheduleUpdate(_this.useDeferUpdateForTemplates);\n }\n });\n _this._templatesManager = new templates_manager_1.default(_this._templatesStore);\n _this._optionsManager = new options_manager_1.OptionsManager(_this._templatesManager);\n return _this;\n }\n ComponentBase.displayContentsStyle = function () {\n return utils_1.isIE()\n ? {\n width: '100%',\n height: '100%',\n padding: 0,\n margin: 0,\n }\n : { display: 'contents' };\n };\n ComponentBase.prototype.componentDidMount = function () {\n var _a;\n var _b;\n if ((_b = this._childNodes) === null || _b === void 0 ? void 0 : _b.length) {\n (_a = this._element).append.apply(_a, this._childNodes);\n }\n else if (this._element.childNodes.length) {\n this._childNodes = Array.from(this._element.childNodes);\n }\n this._updateCssClasses(null, this.props);\n };\n ComponentBase.prototype.componentDidUpdate = function (prevProps) {\n this._updateCssClasses(prevProps, this.props);\n var config = this._getConfig();\n this._optionsManager.update(config);\n if (this._templatesRendererRef) {\n this._templatesRendererRef.scheduleUpdate(this.useDeferUpdateForTemplates, options_manager_1.scheduleGuards);\n }\n options_manager_1.unscheduleGuards();\n };\n ComponentBase.prototype.componentWillUnmount = function () {\n var _a;\n if (this._instance) {\n (_a = this._childNodes) === null || _a === void 0 ? void 0 : _a.forEach(function (child) { var _a; return (_a = child.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(child); });\n events.triggerHandler(this._element, DX_REMOVE_EVENT);\n this._instance.dispose();\n }\n this._optionsManager.dispose();\n };\n ComponentBase.prototype._createWidget = function (element) {\n element = element || this._element;\n var config = this._getConfig();\n this._instance = new this._WidgetClass(element, __assign({ templatesRenderAsynchronously: true }, this._optionsManager.getInitialOptions(config)));\n if (!this.useRequestAnimationFrameFlag) {\n this.useDeferUpdateForTemplates = this._instance.option('integrationOptions.useDeferUpdateForTemplates');\n }\n this._optionsManager.setInstance(this._instance, config, this.subscribableOptions, this.independentEvents);\n this._instance.on('optionChanged', this._optionsManager.onOptionChanged);\n };\n ComponentBase.prototype._getConfig = function () {\n return tree_1.buildConfigTree({\n templates: this._templateProps,\n initialValuesProps: this._defaults,\n predefinedValuesProps: {},\n expectedChildren: this._expectedChildren,\n }, this.props);\n };\n ComponentBase.prototype._setTemplatesRendererRef = function (instance) {\n this._templatesRendererRef = instance;\n };\n ComponentBase.prototype._getElementProps = function () {\n var _this = this;\n var elementProps = {\n ref: function (element) { _this._element = element; },\n };\n widget_config_1.elementPropNames.forEach(function (name) {\n var props = _this.props;\n if (name in props) {\n elementProps[name] = props[name];\n }\n });\n return elementProps;\n };\n ComponentBase.prototype._updateCssClasses = function (prevProps, newProps) {\n var _a, _b;\n var prevClassName = prevProps ? widget_config_1.getClassName(prevProps) : undefined;\n var newClassName = widget_config_1.getClassName(newProps);\n if (prevClassName === newClassName) {\n return;\n }\n if (prevClassName) {\n var classNames = prevClassName.split(' ').filter(function (c) { return c; });\n if (classNames.length) {\n (_a = this._element.classList).remove.apply(_a, classNames);\n }\n }\n if (newClassName) {\n var classNames = newClassName.split(' ').filter(function (c) { return c; });\n if (classNames.length) {\n (_b = this._element.classList).add.apply(_b, classNames);\n }\n }\n };\n ComponentBase.prototype.renderChildren = function () {\n var children = this.props.children;\n return children;\n };\n ComponentBase.prototype.renderContent = function () {\n var _this = this;\n var children = this.props.children;\n return this.isPortalComponent && children\n ? React.createElement('div', {\n ref: function (node) {\n if (node && _this.portalContainer !== node) {\n _this.portalContainer = node;\n _this.forceUpdate();\n }\n },\n style: ComponentBase.displayContentsStyle(),\n })\n : this.renderChildren();\n };\n ComponentBase.prototype.renderPortal = function () {\n return this.portalContainer && react_dom_1.createPortal(this.renderChildren(), this.portalContainer);\n };\n ComponentBase.prototype.render = function () {\n return React.createElement(React.Fragment, {}, React.createElement('div', this._getElementProps(), this.renderContent(), React.createElement(templates_renderer_1.TemplatesRenderer, {\n templatesStore: this._templatesStore,\n ref: this._setTemplatesRendererRef,\n })), this.isPortalComponent && this.renderPortal());\n };\n return ComponentBase;\n}(React.PureComponent));\nexports.ComponentBase = ComponentBase;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Component = void 0;\nvar React = require(\"react\");\nvar component_base_1 = require(\"./component-base\");\nvar extension_component_1 = require(\"./extension-component\");\nvar Component = /** @class */ (function (_super) {\n __extends(Component, _super);\n function Component(props) {\n var _this = _super.call(this, props) || this;\n _this._extensionCreators = [];\n _this._registerExtension = _this._registerExtension.bind(_this);\n return _this;\n }\n Component.prototype.componentDidMount = function () {\n _super.prototype.componentDidMount.call(this);\n this._createWidget();\n this._createExtensions();\n };\n Component.prototype.componentWillUnmount = function () {\n _super.prototype.componentWillUnmount.call(this);\n this.clearExtensions();\n };\n Component.prototype.clearExtensions = function () {\n this._extensionCreators = [];\n };\n Component.prototype.renderChildren = function () {\n var _this = this;\n return React.Children.map(this.props.children, function (child) {\n if (child && Object.prototype.isPrototypeOf.call(extension_component_1.ExtensionComponent, child.type)) {\n return React.cloneElement(child, { onMounted: _this._registerExtension });\n }\n return child;\n });\n };\n Component.prototype._registerExtension = function (creator) {\n this._extensionCreators.push(creator);\n };\n Component.prototype._createExtensions = function () {\n var _this = this;\n this._extensionCreators.forEach(function (creator) { return creator(_this._element); });\n };\n return Component;\n}(component_base_1.ComponentBase));\nexports.Component = Component;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOption = void 0;\nvar config = {\n useLegacyTemplateEngine: false,\n};\nfunction setOptions(options) {\n config = __assign(__assign({}, config), options);\n}\nfunction getOption(optionName) {\n return config[optionName];\n}\nexports.getOption = getOption;\nexports.default = setOptions;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getChanges = void 0;\nvar tree_1 = require(\"./tree\");\nvar utils_1 = require(\"./utils\");\nfunction compareTemplates(current, prev, changesAccum) {\n var currentTemplatesOptions = {};\n var currentTemplates = {};\n var prevTemplatesOptions = {};\n var prevTemplates = {};\n tree_1.buildTemplates(current, currentTemplatesOptions, currentTemplates);\n tree_1.buildTemplates(prev, prevTemplatesOptions, prevTemplates);\n changesAccum.addRemovedValues(currentTemplatesOptions, prevTemplatesOptions, current.fullName);\n // TODO: support switching to default templates\n // appendRemovedValues(currentTemplates, prevTemplates, \"\", changesAccum.templates);\n Object.keys(currentTemplatesOptions).forEach(function (key) {\n if (currentTemplatesOptions[key] === prevTemplatesOptions[key]) {\n return;\n }\n changesAccum.options[utils_1.mergeNameParts(current.fullName, key)] = currentTemplatesOptions[key];\n });\n Object.keys(currentTemplates).forEach(function (key) {\n var currentTemplate = currentTemplates[key];\n var prevTemplate = prevTemplates[key];\n if (prevTemplate && currentTemplate.content === prevTemplate.content) {\n return;\n }\n changesAccum.templates[key] = currentTemplate;\n });\n}\nfunction compare(current, prev, changesAccum) {\n if (!prev) {\n changesAccum.options[current.fullName] = tree_1.buildNode(current, changesAccum.templates, true);\n return;\n }\n changesAccum.addRemovedValues(current.options, prev.options, current.fullName);\n changesAccum.addRemovedValues(current.configCollections, prev.configCollections, current.fullName);\n changesAccum.addRemovedValues(current.configs, prev.configs, current.fullName);\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n compareCollections(current, prev, changesAccum);\n Object.keys(current.configs).forEach(function (key) {\n compare(current.configs[key], prev.configs[key], changesAccum);\n });\n Object.keys(current.options).forEach(function (key) {\n if (current.options[key] === prev.options[key]) {\n return;\n }\n changesAccum.options[utils_1.mergeNameParts(current.fullName, key)] = current.options[key];\n });\n compareTemplates(current, prev, changesAccum);\n}\nfunction appendRemovedValues(current, prev, path, changesAccum) {\n var removedKeys = Object.keys(prev).filter(function (key) { return Object.keys(current).indexOf(key) < 0; });\n removedKeys.forEach(function (key) {\n changesAccum.push(utils_1.mergeNameParts(path, key));\n });\n}\nfunction getChanges(current, prev) {\n var changesAccum = {\n options: {},\n removedOptions: [],\n templates: {},\n addRemovedValues: function (currentOptions, prevOptions, path) {\n appendRemovedValues(currentOptions, prevOptions, path, this.removedOptions);\n },\n };\n compare(current, prev, changesAccum);\n return changesAccum;\n}\nexports.getChanges = getChanges;\nfunction compareCollections(current, prev, changesAccum) {\n Object.keys(current.configCollections).forEach(function (key) {\n var currentCollection = current.configCollections[key];\n var prevCollection = prev.configCollections[key] || [];\n if (!currentCollection || currentCollection.length !== prevCollection.length) {\n var updatedCollection_1 = [];\n currentCollection.forEach(function (item) {\n var config = tree_1.buildNode(item, changesAccum.templates, true);\n updatedCollection_1.push(config);\n });\n changesAccum.options[utils_1.mergeNameParts(current.fullName, key)] = updatedCollection_1;\n return;\n }\n for (var i = 0; i < currentCollection.length; i += 1) {\n compare(currentCollection[i], prevCollection[i], changesAccum);\n }\n });\n}\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ElementType = exports.getElementInfo = void 0;\nvar template_1 = require(\"../../template\");\nvar ElementType;\n(function (ElementType) {\n ElementType[ElementType[\"Option\"] = 0] = \"Option\";\n ElementType[ElementType[\"Template\"] = 1] = \"Template\";\n ElementType[ElementType[\"Unknown\"] = 2] = \"Unknown\";\n})(ElementType || (ElementType = {}));\nexports.ElementType = ElementType;\nfunction getElementInfo(element, parentExpectedChildren) {\n var reactElement = element;\n if (!reactElement || !reactElement.type) {\n return {\n type: ElementType.Unknown,\n };\n }\n if (reactElement.type === template_1.Template) {\n return {\n type: ElementType.Template,\n props: reactElement.props,\n };\n }\n var elementDescriptor = reactElement.type;\n if (elementDescriptor.OptionName) {\n var name_1 = elementDescriptor.OptionName;\n var isCollectionItem = elementDescriptor.IsCollectionItem;\n var expectation = parentExpectedChildren && parentExpectedChildren[name_1];\n if (expectation) {\n isCollectionItem = expectation.isCollectionItem;\n if (expectation.optionName) {\n name_1 = expectation.optionName;\n }\n }\n return {\n type: ElementType.Option,\n descriptor: {\n name: name_1,\n isCollection: isCollectionItem,\n templates: elementDescriptor.TemplateProps || [],\n initialValuesProps: elementDescriptor.DefaultsProps || {},\n predefinedValuesProps: elementDescriptor.PredefinedProps || {},\n expectedChildren: elementDescriptor.ExpectedChildren || {},\n },\n props: reactElement.props,\n };\n }\n return {\n type: ElementType.Unknown,\n };\n}\nexports.getElementInfo = getElementInfo;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getNamedTemplate = exports.getAnonymousTemplate = void 0;\nfunction getAnonymousTemplate(props, templateMeta, hasTranscludedContent) {\n if (templateMeta.tmplOption === 'template' && hasTranscludedContent) {\n return {\n optionName: templateMeta.tmplOption,\n isAnonymous: true,\n type: 'children',\n content: props.children,\n keyFn: props[templateMeta.keyFn],\n };\n }\n if (props[templateMeta.render]) {\n return {\n optionName: templateMeta.tmplOption,\n isAnonymous: true,\n type: 'render',\n content: props[templateMeta.render],\n keyFn: props[templateMeta.keyFn],\n };\n }\n if (props[templateMeta.component]) {\n return {\n optionName: templateMeta.tmplOption,\n isAnonymous: true,\n type: 'component',\n content: props[templateMeta.component],\n keyFn: props[templateMeta.keyFn],\n };\n }\n return null;\n}\nexports.getAnonymousTemplate = getAnonymousTemplate;\nfunction getNamedTemplate(props) {\n if (!props.name) {\n return null;\n }\n if (props.component) {\n return {\n optionName: props.name,\n isAnonymous: false,\n type: 'component',\n content: props.component,\n keyFn: props.keyFn,\n };\n }\n if (props.render) {\n return {\n optionName: props.name,\n isAnonymous: false,\n type: 'render',\n content: props.render,\n keyFn: props.keyFn,\n };\n }\n return {\n optionName: props.name,\n isAnonymous: false,\n type: 'children',\n content: props.children,\n keyFn: props.keyFn,\n };\n}\nexports.getNamedTemplate = getNamedTemplate;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.buildConfigTree = exports.processChildren = void 0;\nvar React = require(\"react\");\nvar widget_config_1 = require(\"../../widget-config\");\nvar element_1 = require(\"./element\");\nvar utils_1 = require(\"../utils\");\nvar templates_1 = require(\"./templates\");\nfunction processChildren(parentElement, parentFullName) {\n var templates = [];\n var configCollections = {};\n var configs = {};\n var hasTranscludedContent = false;\n React.Children.map(parentElement.props.children, function (child) {\n var element = element_1.getElementInfo(child, parentElement.descriptor.expectedChildren);\n if (element.type === element_1.ElementType.Unknown) {\n if (child !== null && child !== undefined && child !== false) {\n hasTranscludedContent = true;\n }\n return;\n }\n if (element.type === element_1.ElementType.Template) {\n var template = templates_1.getNamedTemplate(element.props);\n if (template) {\n templates.push(template);\n }\n return;\n }\n if (element.descriptor.isCollection) {\n var collection = configCollections[element.descriptor.name];\n if (!collection) {\n collection = [];\n configCollections[element.descriptor.name] = collection;\n }\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n var collectionItem = createConfigNode(element, utils_1.mergeNameParts(parentFullName, element.descriptor.name) + \"[\" + collection.length + \"]\");\n collection.push(collectionItem);\n return;\n }\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n var configNode = createConfigNode(element, parentFullName);\n configs[element.descriptor.name] = configNode;\n });\n return {\n configs: configs,\n configCollections: configCollections,\n templates: templates,\n hasTranscludedContent: hasTranscludedContent,\n };\n}\nexports.processChildren = processChildren;\nfunction createConfigNode(element, path) {\n var fullName = element.descriptor.isCollection\n ? path\n : utils_1.mergeNameParts(path, element.descriptor.name);\n var separatedValues = widget_config_1.separateProps(element.props, element.descriptor.initialValuesProps, element.descriptor.templates);\n var childrenData = processChildren(element, fullName);\n element.descriptor.templates.forEach(function (templateMeta) {\n var template = templates_1.getAnonymousTemplate(element.props, templateMeta, path.length > 0 ? childrenData.hasTranscludedContent : false);\n if (template) {\n childrenData.templates.push(template);\n }\n });\n return {\n fullName: fullName,\n predefinedOptions: element.descriptor.predefinedValuesProps,\n initialOptions: separatedValues.defaults,\n options: separatedValues.options,\n templates: childrenData.templates,\n configCollections: childrenData.configCollections,\n configs: childrenData.configs,\n };\n}\nfunction buildConfigTree(widgetDescriptor, props) {\n return createConfigNode({\n type: element_1.ElementType.Option,\n descriptor: __assign({ name: '', isCollection: false }, widgetDescriptor),\n props: props,\n }, '');\n}\nexports.buildConfigTree = buildConfigTree;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.findValueInObject = exports.findValue = exports.buildTemplates = exports.buildNode = exports.buildConfig = exports.ValueType = void 0;\nvar utils_1 = require(\"./utils\");\nfunction buildTemplates(node, optionsAccum, templatesAccum) {\n node.templates.forEach(function (template) {\n if (template.isAnonymous) {\n var templateName = utils_1.mergeNameParts(node.fullName, template.optionName);\n optionsAccum[template.optionName] = templateName;\n templatesAccum[templateName] = template;\n }\n else {\n templatesAccum[template.optionName] = template;\n }\n });\n}\nexports.buildTemplates = buildTemplates;\nfunction buildNode(node, templatesAccum, ignoreInitialValues) {\n var result = {};\n Object.keys(node.predefinedOptions).forEach(function (key) {\n result[key] = node.predefinedOptions[key];\n });\n Object.keys(node.configs).forEach(function (key) {\n result[key] = buildNode(node.configs[key], templatesAccum, ignoreInitialValues);\n });\n Object.keys(node.configCollections).forEach(function (key) {\n result[key] = node.configCollections[key].map(function (item) { return buildNode(item, templatesAccum, ignoreInitialValues); });\n });\n if (!ignoreInitialValues) {\n Object.keys(node.initialOptions).forEach(function (key) {\n result[key] = node.initialOptions[key];\n });\n }\n Object.keys(node.options).forEach(function (key) {\n result[key] = node.options[key];\n });\n buildTemplates(node, result, templatesAccum);\n return result;\n}\nexports.buildNode = buildNode;\nfunction buildConfig(root, ignoreInitialValues) {\n var templatesAccum = {};\n var options = buildNode(root, templatesAccum, ignoreInitialValues);\n return {\n templates: templatesAccum,\n options: options,\n };\n}\nexports.buildConfig = buildConfig;\nvar ValueType;\n(function (ValueType) {\n ValueType[ValueType[\"Simple\"] = 0] = \"Simple\";\n ValueType[ValueType[\"Complex\"] = 1] = \"Complex\";\n ValueType[ValueType[\"Array\"] = 2] = \"Array\";\n})(ValueType || (ValueType = {}));\nexports.ValueType = ValueType;\nfunction findValueInObject(obj, path) {\n var key = path.shift();\n if (!key) {\n return {\n value: obj,\n type: ValueType.Simple,\n };\n }\n if (obj instanceof Object && Object.keys(obj).includes(key)) {\n return findValueInObject(obj[key], path);\n }\n return undefined;\n}\nexports.findValueInObject = findValueInObject;\nfunction findValue(node, path) {\n var name = path.shift();\n if (!name) {\n return {\n value: buildConfig(node, true).options,\n type: ValueType.Complex,\n };\n }\n var optionInfo = utils_1.parseOptionName(name);\n if (optionInfo.name in node.options) {\n var options = optionInfo.isCollectionItem\n ? node.options[optionInfo.name][optionInfo.index]\n : node.options[optionInfo.name];\n return findValueInObject(options, path);\n }\n if (optionInfo.isCollectionItem) {\n var collection = node.configCollections[optionInfo.name];\n if (!collection) {\n return undefined;\n }\n var item = collection[optionInfo.index];\n if (!item) {\n return undefined;\n }\n return findValue(item, path);\n }\n var child = node.configs[optionInfo.name];\n if (child) {\n return findValue(child, path);\n }\n var childCollection = node.configCollections[optionInfo.name];\n if (childCollection) {\n if (path.length !== 0) {\n return undefined;\n }\n return {\n value: childCollection.map(function (item) { return buildNode(item, {}, true); }),\n type: ValueType.Array,\n };\n }\n return undefined;\n}\nexports.findValue = findValue;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.shallowEquals = exports.isIE = exports.parseOptionName = exports.mergeNameParts = void 0;\nfunction mergeNameParts() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return args.filter(function (value) { return value; }).join('.');\n}\nexports.mergeNameParts = mergeNameParts;\nfunction parseOptionName(name) {\n var parts = name.split('[');\n if (parts.length === 1) {\n return {\n isCollectionItem: false,\n name: name,\n };\n }\n return {\n isCollectionItem: true,\n name: parts[0],\n index: Number(parts[1].slice(0, -1)),\n };\n}\nexports.parseOptionName = parseOptionName;\nvar isIE = function () {\n var _a, _b;\n var ua = (_b = (_a = window === null || window === void 0 ? void 0 : window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) !== null && _b !== void 0 ? _b : ''; // Check the userAgent property of the window.navigator object\n var msie = ua.indexOf('MSIE'); // IE 10 or older\n var trident = ua.indexOf('Trident/'); // IE 11\n return (msie > 0 || trident > 0);\n};\nexports.isIE = isIE;\nvar shallowEquals = function (first, second) {\n if (Object.keys(first).length !== Object.keys(second).length) {\n return false;\n }\n return Object.keys(first).every(function (key) { return first[key] === second[key]; });\n};\nexports.shallowEquals = shallowEquals;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createDxTemplate = void 0;\nvar React = require(\"react\");\nvar helpers_1 = require(\"./helpers\");\nvar template_wrapper_1 = require(\"./template-wrapper\");\nvar component_base_1 = require(\"./component-base\");\nvar events = require(\"devextreme/events\");\nfunction unwrapElement(element) {\n return element.get ? element.get(0) : element;\n}\nfunction createDxTemplate(createContentProvider, templatesStore, keyFn) {\n var renderedTemplates = new helpers_1.DoubleKeyMap();\n return {\n render: function (data) {\n var container = unwrapElement(data.container);\n var key = { key1: data.model, key2: container };\n var prevTemplateId = renderedTemplates.get(key);\n var templateId;\n var onRemoved = function () {\n templatesStore.setDeferredRemove(templateId, true);\n renderedTemplates.delete(key);\n };\n var _subscribeOnContainerRemoval = function () {\n if (container.nodeType === Node.ELEMENT_NODE) {\n events.one(container, component_base_1.DX_REMOVE_EVENT, onRemoved);\n }\n };\n var _unsubscribeOnContainerRemoval = function () {\n if (container.nodeType === Node.ELEMENT_NODE) {\n events.off(container, component_base_1.DX_REMOVE_EVENT, onRemoved);\n }\n };\n if (prevTemplateId) {\n templateId = prevTemplateId;\n }\n else {\n templateId = keyFn ? keyFn(data.model) : \"__template_\" + helpers_1.generateID();\n if (data.model !== undefined) {\n renderedTemplates.set(key, templateId);\n }\n }\n _subscribeOnContainerRemoval();\n templatesStore.add(templateId, function () {\n var props = {\n data: data.model,\n index: data.index,\n };\n var contentProvider = createContentProvider();\n return React.createElement(template_wrapper_1.TemplateWrapper, {\n content: contentProvider(props),\n container: container,\n onRemoved: onRemoved,\n onDidMount: function () {\n var _a;\n _unsubscribeOnContainerRemoval();\n templatesStore.setDeferredRemove(templateId, false);\n (_a = data.onRendered) === null || _a === void 0 ? void 0 : _a.call(data);\n },\n key: templateId,\n });\n });\n return container;\n },\n };\n}\nexports.createDxTemplate = createDxTemplate;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExtensionComponent = void 0;\nvar component_base_1 = require(\"./component-base\");\nvar ExtensionComponent = /** @class */ (function (_super) {\n __extends(ExtensionComponent, _super);\n function ExtensionComponent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ExtensionComponent.prototype.componentDidMount = function () {\n var onMounted = this.props.onMounted;\n if (onMounted) {\n onMounted(this._createWidget);\n }\n else {\n this._createWidget();\n }\n };\n return ExtensionComponent;\n}(component_base_1.ComponentBase));\nexports.ExtensionComponent = ExtensionComponent;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.capitalizeFirstLetter = exports.DoubleKeyMap = exports.generateID = void 0;\nfunction generateID() {\n return Math.random().toString(36).substr(2);\n}\nexports.generateID = generateID;\nvar DoubleKeyMap = /** @class */ (function () {\n function DoubleKeyMap() {\n this._map = new Map();\n }\n DoubleKeyMap.prototype.set = function (_a, value) {\n var key1 = _a.key1, key2 = _a.key2;\n var innerMap = this._map.get(key1);\n if (!innerMap) {\n innerMap = new Map();\n this._map.set(key1, innerMap);\n }\n innerMap.set(key2, value);\n };\n DoubleKeyMap.prototype.get = function (_a) {\n var key1 = _a.key1, key2 = _a.key2;\n var innerMap = this._map.get(key1);\n return innerMap ? innerMap.get(key2) : undefined;\n };\n DoubleKeyMap.prototype.delete = function (_a) {\n var key1 = _a.key1, key2 = _a.key2;\n var innerMap = this._map.get(key1);\n if (!innerMap) {\n return;\n }\n innerMap.delete(key2);\n if (innerMap.size === 0) {\n this._map.delete(key1);\n }\n };\n return DoubleKeyMap;\n}());\nexports.DoubleKeyMap = DoubleKeyMap;\nfunction capitalizeFirstLetter(text) {\n if (text.length) {\n return \"\" + text[0].toUpperCase() + text.substr(1);\n }\n return '';\n}\nexports.capitalizeFirstLetter = capitalizeFirstLetter;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar React = require(\"react\");\nvar element_1 = require(\"./configuration/react/element\");\nvar NestedOption = /** @class */ (function (_super) {\n __extends(NestedOption, _super);\n function NestedOption() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n NestedOption.prototype.render = function () {\n var stateChildren = this.props.children;\n var children = React.Children.map(stateChildren, function (child) {\n var childElementInfo = element_1.getElementInfo(child);\n return childElementInfo.type === element_1.ElementType.Option ? child : null;\n });\n return React.createElement(React.Fragment, {}, children);\n };\n return NestedOption;\n}(React.PureComponent));\nexports.default = NestedOption;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OptionsManager = exports.scheduleGuards = exports.unscheduleGuards = void 0;\n/* eslint-disable no-restricted-globals */\nvar comparer_1 = require(\"./configuration/comparer\");\nvar tree_1 = require(\"./configuration/tree\");\nvar utils_1 = require(\"./configuration/utils\");\nvar helpers_1 = require(\"./helpers\");\nvar optionsManagers = new Set();\nvar guardTimeoutHandler = -1;\nfunction unscheduleGuards() {\n clearTimeout(guardTimeoutHandler);\n}\nexports.unscheduleGuards = unscheduleGuards;\nfunction scheduleGuards() {\n unscheduleGuards();\n guardTimeoutHandler = window.setTimeout(function () {\n optionsManagers.forEach(function (optionManager) { return optionManager.execGuards(); });\n });\n}\nexports.scheduleGuards = scheduleGuards;\nvar OptionsManager = /** @class */ (function () {\n function OptionsManager(templatesManager) {\n this.guards = {};\n this.isUpdating = false;\n this.templatesManager = templatesManager;\n optionsManagers.add(this);\n this.onOptionChanged = this.onOptionChanged.bind(this);\n this.wrapOptionValue = this.wrapOptionValue.bind(this);\n }\n OptionsManager.prototype.setInstance = function (instance, config, subscribableOptions, independentEvents) {\n this.instance = instance;\n this.currentConfig = config;\n this.subscribableOptions = new Set(subscribableOptions);\n this.independentEvents = new Set(independentEvents);\n };\n OptionsManager.prototype.getInitialOptions = function (rootNode) {\n var _this = this;\n var config = tree_1.buildConfig(rootNode, false);\n Object.keys(config.templates).forEach(function (key) {\n _this.templatesManager.add(key, config.templates[key]);\n });\n var options = {};\n Object.keys(config.options).forEach(function (key) {\n options[key] = _this.wrapOptionValue(key, config.options[key]);\n });\n if (this.templatesManager.templatesCount > 0) {\n options.integrationOptions = {\n templates: this.templatesManager.templates,\n };\n }\n return options;\n };\n OptionsManager.prototype.update = function (config) {\n var _this = this;\n var changedOptions = [];\n var optionChangedHandler = function (_a) {\n var value = _a.value, fullName = _a.fullName;\n changedOptions.push([fullName, value]);\n };\n this.instance.on('optionChanged', optionChangedHandler);\n var changes = comparer_1.getChanges(config, this.currentConfig);\n if (!changes.options && !changes.templates && !changes.removedOptions.length) {\n return;\n }\n this.instance.beginUpdate();\n this.isUpdating = true;\n changes.removedOptions.forEach(function (optionName) {\n _this.resetOption(optionName);\n });\n Object.keys(changes.templates).forEach(function (key) {\n _this.templatesManager.add(key, changes.templates[key]);\n });\n if (this.templatesManager.templatesCount > 0) {\n this.setValue('integrationOptions', {\n templates: this.templatesManager.templates,\n });\n }\n Object.keys(changes.options).forEach(function (key) {\n _this.setValue(key, changes.options[key]);\n });\n this.isUpdating = false;\n this.instance.off('optionChanged', optionChangedHandler);\n this.currentConfig = config;\n changedOptions.forEach(function (_a) {\n var name = _a[0], value = _a[1];\n var currentPropValue = config.options[name];\n if (Object.prototype.hasOwnProperty.call(config.options, name)\n && currentPropValue !== value) {\n _this.setValue(name, currentPropValue);\n }\n });\n this.instance.endUpdate();\n };\n OptionsManager.prototype.onOptionChanged = function (e) {\n var _this = this;\n var _a;\n if (this.isUpdating) {\n return;\n }\n var valueDescriptor = tree_1.findValue(this.currentConfig, e.fullName.split('.'));\n if (!valueDescriptor || valueDescriptor.value !== e.value) {\n this.callOptionChangeHandler(e.fullName, e.value);\n }\n valueDescriptor = tree_1.findValue(this.currentConfig, e.fullName.split('.'));\n if (!valueDescriptor) {\n return;\n }\n var value = valueDescriptor.value, type = valueDescriptor.type;\n if (value instanceof Array && type === tree_1.ValueType.Array) {\n for (var i = 0; i < value.length; i += 1) {\n if (value[i] !== ((_a = e.value) === null || _a === void 0 ? void 0 : _a[i])) {\n this.addGuard(e.fullName, value);\n return;\n }\n }\n }\n else if (type === tree_1.ValueType.Complex && value instanceof Object) {\n Object.keys(value).forEach(function (key) {\n var _a;\n if (value[key] === ((_a = e.value) === null || _a === void 0 ? void 0 : _a[key])) {\n return;\n }\n _this.addGuard(utils_1.mergeNameParts(e.fullName, key), value[key]);\n });\n }\n else {\n var valuesAreEqual = value === e.value;\n var valuesAreEqualObjects = !valuesAreEqual\n && value instanceof Object\n && e.value instanceof Object\n && utils_1.shallowEquals(value, e.value);\n if (valuesAreEqual || valuesAreEqualObjects || this.instance.skipOptionsRollBack) {\n return;\n }\n this.addGuard(e.fullName, value);\n }\n };\n OptionsManager.prototype.dispose = function () {\n var _this = this;\n optionsManagers.delete(this);\n Object.keys(this.guards).forEach(function (optionName) {\n delete _this.guards[optionName];\n });\n };\n OptionsManager.prototype.isOptionSubscribable = function (optionName) {\n return this.subscribableOptions.has(optionName);\n };\n OptionsManager.prototype.isIndependentEvent = function (optionName) {\n return this.independentEvents.has(optionName);\n };\n OptionsManager.prototype.callOptionChangeHandler = function (optionName, optionValue) {\n if (!this.isOptionSubscribable(optionName)) {\n return;\n }\n var parts = optionName.split('.');\n var propName = parts[parts.length - 1];\n if (propName.startsWith('on')) {\n return;\n }\n var eventName = \"on\" + helpers_1.capitalizeFirstLetter(propName) + \"Change\";\n parts[parts.length - 1] = eventName;\n var changeEvent = tree_1.findValue(this.currentConfig, parts);\n if (!changeEvent) {\n return;\n }\n if (typeof changeEvent.value !== 'function') {\n throw new Error(\"Invalid value for the \" + eventName + \" property.\\n \" + eventName + \" must be a function.\");\n }\n changeEvent.value(optionValue);\n };\n OptionsManager.prototype.wrapOptionValue = function (name, value) {\n var _this = this;\n if (name.substr(0, 2) === 'on' && typeof value === 'function') {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!_this.isUpdating || _this.isIndependentEvent(name)) {\n value.apply(void 0, args);\n }\n };\n }\n return value;\n };\n OptionsManager.prototype.addGuard = function (optionName, optionValue) {\n var _this = this;\n if (this.guards[optionName] !== undefined) {\n return;\n }\n var handler = function () {\n _this.setValue(optionName, optionValue);\n delete _this.guards[optionName];\n };\n this.guards[optionName] = handler;\n scheduleGuards();\n };\n OptionsManager.prototype.execGuards = function () {\n Object.values(this.guards)\n .forEach(function (handler) { return handler(); });\n };\n OptionsManager.prototype.resetOption = function (name) {\n this.instance.resetOption(name);\n };\n OptionsManager.prototype.setValue = function (name, value) {\n if (this.guards[name]) {\n delete this.guards[name];\n }\n this.instance.option(name, this.wrapOptionValue(name, value));\n };\n return OptionsManager;\n}());\nexports.OptionsManager = OptionsManager;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TemplateWrapper = void 0;\nvar events = require(\"devextreme/events\");\nvar React = require(\"react\");\nvar ReactDOM = require(\"react-dom\");\nvar component_base_1 = require(\"./component-base\");\nvar removalListenerStyle = { display: 'none' };\nvar TableNodeNames;\n(function (TableNodeNames) {\n TableNodeNames[\"TABLE\"] = \"tbody\";\n TableNodeNames[\"TBODY\"] = \"tr\";\n})(TableNodeNames || (TableNodeNames = {}));\nvar TemplateWrapper = /** @class */ (function (_super) {\n __extends(TemplateWrapper, _super);\n function TemplateWrapper(props) {\n var _this = _super.call(this, props) || this;\n _this._removalListenerRef = React.createRef();\n _this.state = { removalListenerRequired: false };\n _this._onDxRemove = _this._onDxRemove.bind(_this);\n _this.getPreviousSiblingNode = _this.getPreviousSiblingNode.bind(_this);\n return _this;\n }\n TemplateWrapper.prototype.componentDidMount = function () {\n var _a, _b;\n this._subscribeOnRemove();\n (_b = (_a = this.props).onDidMount) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n TemplateWrapper.prototype.componentDidUpdate = function () {\n this._subscribeOnRemove();\n };\n TemplateWrapper.prototype.componentWillUnmount = function () {\n // Let React remove it itself\n var node = this.element;\n var hiddenNode = this.hiddenElement;\n var container = this.props.container;\n if (node) {\n container.appendChild(node);\n }\n if (hiddenNode) {\n container.appendChild(hiddenNode);\n }\n if (this._listenerElement) {\n container.appendChild(this._listenerElement);\n }\n };\n Object.defineProperty(TemplateWrapper.prototype, \"_listenerElement\", {\n get: function () {\n return this._removalListenerRef.current;\n },\n enumerable: false,\n configurable: true\n });\n TemplateWrapper.prototype.getPreviousSiblingNode = function (node) {\n this.hiddenElement = node;\n this.element = node === null || node === void 0 ? void 0 : node.previousSibling;\n };\n TemplateWrapper.prototype._subscribeOnRemove = function () {\n var node = this.element;\n var removalListenerRequired = this.state.removalListenerRequired;\n if (node && node.nodeType === Node.ELEMENT_NODE) {\n this._subscribeOnElementRemoval(node);\n return;\n }\n if (!removalListenerRequired) {\n this.setState({ removalListenerRequired: true });\n return;\n }\n if (this._listenerElement) {\n this._subscribeOnElementRemoval(this._listenerElement);\n }\n };\n TemplateWrapper.prototype._subscribeOnElementRemoval = function (element) {\n events.off(element, component_base_1.DX_REMOVE_EVENT, this._onDxRemove);\n events.one(element, component_base_1.DX_REMOVE_EVENT, this._onDxRemove);\n };\n TemplateWrapper.prototype._onDxRemove = function () {\n var onRemoved = this.props.onRemoved;\n onRemoved();\n };\n TemplateWrapper.prototype.render = function () {\n var removalListenerRequired = this.state.removalListenerRequired;\n var _a = this.props, content = _a.content, container = _a.container;\n var removalListener = removalListenerRequired\n ? React.createElement('span', { style: removalListenerStyle, ref: this._removalListenerRef })\n : undefined;\n var nodeName = TableNodeNames[container.nodeName] || 'div';\n return ReactDOM.createPortal(React.createElement(React.Fragment, null, content, content && React.createElement(nodeName, { style: { display: 'none' }, ref: this.getPreviousSiblingNode }), removalListener), container);\n };\n return TemplateWrapper;\n}(React.PureComponent));\nexports.TemplateWrapper = TemplateWrapper;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.findProps = exports.Template = void 0;\nvar PropTypes = require(\"prop-types\");\nvar React = require(\"react\");\nvar Template = /** @class */ (function (_super) {\n __extends(Template, _super);\n function Template() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Template.prototype.render = function () {\n return null;\n };\n return Template;\n}(React.PureComponent));\nexports.Template = Template;\nvar requiredPropsCheck = function (props) {\n if (!props.component && !props.render && !props.children) {\n return new Error(\"The Template component requires 'component' or 'render' property\");\n }\n return null;\n};\nTemplate.propTypes = {\n name: PropTypes.string.isRequired,\n component: requiredPropsCheck,\n render: requiredPropsCheck,\n children: requiredPropsCheck,\n};\nfunction findProps(child) {\n if (child.type !== Template) {\n return undefined;\n }\n return {\n name: child.props.name,\n render: child.props.render,\n component: child.props.component,\n children: child.props.children,\n keyFn: child.props.keyFn,\n };\n}\nexports.findProps = findProps;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar React = require(\"react\");\nvar config_1 = require(\"./config\");\nvar dx_template_1 = require(\"./dx-template\");\nfunction normalizeProps(props) {\n if (config_1.getOption('useLegacyTemplateEngine')) {\n var model = props.data;\n if (model && Object.prototype.hasOwnProperty.call(model, 'key')) {\n model.dxkey = model.key;\n }\n return model;\n }\n return props;\n}\nvar contentCreators = {\n component: function (contentGetter) { return function (props) {\n props = normalizeProps(props);\n return React.createElement.bind(null, contentGetter())(props);\n }; },\n render: function (contentGetter) { return function (props) {\n normalizeProps(props);\n return contentGetter()(props.data, props.index);\n }; },\n children: function (contentGetter) { return function () { return contentGetter(); }; },\n};\nvar TemplatesManager = /** @class */ (function () {\n function TemplatesManager(templatesStore) {\n this._templates = {};\n this._templatesContent = {};\n this._templatesStore = templatesStore;\n }\n TemplatesManager.prototype.add = function (name, template) {\n var _this = this;\n this._templatesContent[name] = template.content;\n var contentCreator = contentCreators[template.type]\n .bind(this, function () { return _this._templatesContent[name]; });\n this._templates[name] = dx_template_1.createDxTemplate(contentCreator, this._templatesStore, template.keyFn);\n };\n Object.defineProperty(TemplatesManager.prototype, \"templatesCount\", {\n get: function () {\n return Object.keys(this._templates).length;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TemplatesManager.prototype, \"templates\", {\n get: function () {\n return this._templates;\n },\n enumerable: false,\n configurable: true\n });\n return TemplatesManager;\n}());\nexports.default = TemplatesManager;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TemplatesRenderer = void 0;\nvar frame_1 = require(\"devextreme/animation/frame\");\nvar common_1 = require(\"devextreme/core/utils/common\");\nvar React = require(\"react\");\nvar TemplatesRenderer = /** @class */ (function (_super) {\n __extends(TemplatesRenderer, _super);\n function TemplatesRenderer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.updateScheduled = false;\n _this.mounted = false;\n _this.shouldRepeatForceUpdate = false;\n _this.isUpdateFuncLaunched = false;\n return _this;\n }\n TemplatesRenderer.prototype.componentDidMount = function () {\n this.mounted = true;\n };\n TemplatesRenderer.prototype.componentWillUnmount = function () {\n this.mounted = false;\n };\n TemplatesRenderer.prototype.scheduleUpdate = function (useDeferUpdate, onRendered) {\n var _this = this;\n if (this.updateScheduled) {\n this.shouldRepeatForceUpdate = this.isUpdateFuncLaunched;\n return;\n }\n this.updateScheduled = true;\n var updateFunc = useDeferUpdate ? common_1.deferUpdate : frame_1.requestAnimationFrame;\n updateFunc(function () {\n if (_this.mounted) {\n _this.isUpdateFuncLaunched = true;\n _this.forceUpdate(function () {\n _this.updateScheduled = false;\n onRendered === null || onRendered === void 0 ? void 0 : onRendered();\n if (_this.shouldRepeatForceUpdate) {\n _this.shouldRepeatForceUpdate = false;\n _this.forceUpdate();\n }\n });\n }\n _this.isUpdateFuncLaunched = false;\n _this.updateScheduled = false;\n });\n };\n TemplatesRenderer.prototype.render = function () {\n var templatesStore = this.props.templatesStore;\n return React.createElement(React.Fragment, {}, templatesStore.renderWrappers());\n };\n return TemplatesRenderer;\n}(React.PureComponent));\nexports.TemplatesRenderer = TemplatesRenderer;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TemplatesStore = void 0;\nvar TemplatesStore = /** @class */ (function () {\n function TemplatesStore(onTemplateAdded) {\n this._templates = {};\n this._onTemplateAdded = onTemplateAdded;\n }\n TemplatesStore.prototype.add = function (templateId, templateFunc) {\n this._templates[templateId] = { template: templateFunc, isDeferredRemove: false };\n this._onTemplateAdded();\n };\n TemplatesStore.prototype.setDeferredRemove = function (templateId, isDeferredRemove) {\n if (this._templates[templateId]) {\n this._templates[templateId].isDeferredRemove = isDeferredRemove;\n }\n };\n TemplatesStore.prototype.removeDefferedTemplate = function () {\n var _this = this;\n Object.entries(this._templates)\n .filter(function (_a) {\n var templateInfo = _a[1];\n return (templateInfo.isDeferredRemove);\n })\n .forEach(function (_a) {\n var templateId = _a[0];\n delete _this._templates[templateId];\n });\n };\n TemplatesStore.prototype.renderWrappers = function () {\n var _this = this;\n this.removeDefferedTemplate();\n return Object.getOwnPropertyNames(this._templates).map(function (templateId) { return _this._templates[templateId].template(); });\n };\n return TemplatesStore;\n}());\nexports.TemplatesStore = TemplatesStore;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.separateProps = exports.getClassName = exports.elementPropNames = void 0;\nvar elementPropNames = ['style', 'id'];\nexports.elementPropNames = elementPropNames;\nvar classNamePropName = 'className';\nfunction isIgnoredProp(name) {\n return name === 'children' || name === classNamePropName || elementPropNames.indexOf(name) > -1;\n}\nfunction separateProps(props, defaultsProps, templateProps) {\n templateProps = templateProps || [];\n var defaults = {};\n var options = {};\n var templates = {};\n var knownTemplates = {};\n templateProps.forEach(function (value) {\n knownTemplates[value.component] = true;\n knownTemplates[value.render] = true;\n });\n Object.keys(props).forEach(function (key) {\n var defaultOptionName = defaultsProps ? defaultsProps[key] : null;\n if (isIgnoredProp(key)) {\n return;\n }\n if (defaultOptionName) {\n defaults[defaultOptionName] = props[key];\n return;\n }\n if (knownTemplates[key]) {\n templates[key] = props[key];\n return;\n }\n options[key] = props[key];\n });\n return { options: options, defaults: defaults, templates: templates };\n}\nexports.separateProps = separateProps;\nfunction getClassName(props) {\n return props[classNamePropName];\n}\nexports.getClassName = getClassName;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Lookup = exports.LoadPanel = exports.Label = exports.KeyboardNavigation = exports.Item = exports.Hide = exports.HeaderFilter = exports.GroupPanel = exports.GroupOperationDescriptions = exports.GroupItem = exports.GroupingTexts = exports.Grouping = exports.From = exports.FormItem = exports.Format = exports.Form = exports.FilterRow = exports.FilterPanelTexts = exports.FilterPanel = exports.FilterOperationDescriptions = exports.FilterBuilderPopup = exports.FilterBuilder = exports.FieldLookup = exports.Field = exports.ExportTexts = exports.Export = exports.EmailRule = exports.EditingTexts = exports.Editing = exports.DataGridHeaderFilterTexts = exports.DataGridHeaderFilter = exports.CustomRule = exports.CustomOperation = exports.CursorOffset = exports.CompareRule = exports.ColumnLookup = exports.ColumnHeaderFilter = exports.ColumnFixingTexts = exports.ColumnFixing = exports.ColumnChooser = exports.Column = exports.Collision = exports.ColCountByScreen = exports.Change = exports.Button = exports.BoundaryOffset = exports.At = exports.AsyncRule = exports.Animation = exports.DataGrid = void 0;\nexports.ValueFormat = exports.ValidationRule = exports.TotalItem = exports.ToolbarItem = exports.Toolbar = exports.To = exports.Texts = exports.SummaryTexts = exports.Summary = exports.StringLengthRule = exports.StateStoring = exports.Sorting = exports.SortByGroupSummaryInfo = exports.Show = exports.Selection = exports.SearchPanel = exports.Scrolling = exports.RowDragging = exports.RequiredRule = exports.RemoteOperations = exports.RangeRule = exports.Position = exports.Popup = exports.PatternRule = exports.Paging = exports.Pager = exports.OperationDescriptions = exports.Offset = exports.NumericRule = exports.My = exports.MasterDetail = void 0;\nvar data_grid_1 = require(\"devextreme/ui/data_grid\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar DataGrid = /** @class */ (function (_super) {\n __extends(DataGrid, _super);\n function DataGrid() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = data_grid_1.default;\n _this.useRequestAnimationFrameFlag = true;\n _this.subscribableOptions = [\"columns\", \"editing\", \"editing.changes\", \"editing.editColumnName\", \"editing.editRowKey\", \"filterPanel\", \"filterPanel.filterEnabled\", \"filterValue\", \"focusedColumnIndex\", \"focusedRowIndex\", \"focusedRowKey\", \"groupPanel\", \"groupPanel.visible\", \"paging\", \"paging.pageIndex\", \"paging.pageSize\", \"searchPanel\", \"searchPanel.text\", \"selectedRowKeys\", \"selectionFilter\"];\n _this.independentEvents = [\"onAdaptiveDetailRowPreparing\", \"onCellClick\", \"onCellDblClick\", \"onCellPrepared\", \"onContentReady\", \"onContextMenuPreparing\", \"onDataErrorOccurred\", \"onDisposing\", \"onEditCanceled\", \"onEditCanceling\", \"onEditingStart\", \"onEditorPrepared\", \"onEditorPreparing\", \"onExporting\", \"onFocusedCellChanging\", \"onFocusedRowChanging\", \"onInitialized\", \"onInitNewRow\", \"onKeyDown\", \"onRowClick\", \"onRowCollapsed\", \"onRowCollapsing\", \"onRowDblClick\", \"onRowExpanded\", \"onRowExpanding\", \"onRowInserted\", \"onRowInserting\", \"onRowPrepared\", \"onRowRemoved\", \"onRowRemoving\", \"onRowUpdated\", \"onRowUpdating\", \"onRowValidating\", \"onSaved\", \"onSaving\", \"onToolbarPreparing\"];\n _this._defaults = {\n defaultColumns: \"columns\",\n defaultEditing: \"editing\",\n defaultFilterPanel: \"filterPanel\",\n defaultFilterValue: \"filterValue\",\n defaultFocusedColumnIndex: \"focusedColumnIndex\",\n defaultFocusedRowIndex: \"focusedRowIndex\",\n defaultFocusedRowKey: \"focusedRowKey\",\n defaultGroupPanel: \"groupPanel\",\n defaultPaging: \"paging\",\n defaultSearchPanel: \"searchPanel\",\n defaultSelectedRowKeys: \"selectedRowKeys\",\n defaultSelectionFilter: \"selectionFilter\"\n };\n _this._expectedChildren = {\n column: { optionName: \"columns\", isCollectionItem: true },\n columnChooser: { optionName: \"columnChooser\", isCollectionItem: false },\n columnFixing: { optionName: \"columnFixing\", isCollectionItem: false },\n dataGridHeaderFilter: { optionName: \"headerFilter\", isCollectionItem: false },\n editing: { optionName: \"editing\", isCollectionItem: false },\n export: { optionName: \"export\", isCollectionItem: false },\n filterBuilder: { optionName: \"filterBuilder\", isCollectionItem: false },\n filterBuilderPopup: { optionName: \"filterBuilderPopup\", isCollectionItem: false },\n filterPanel: { optionName: \"filterPanel\", isCollectionItem: false },\n filterRow: { optionName: \"filterRow\", isCollectionItem: false },\n grouping: { optionName: \"grouping\", isCollectionItem: false },\n groupPanel: { optionName: \"groupPanel\", isCollectionItem: false },\n headerFilter: { optionName: \"headerFilter\", isCollectionItem: false },\n keyboardNavigation: { optionName: \"keyboardNavigation\", isCollectionItem: false },\n loadPanel: { optionName: \"loadPanel\", isCollectionItem: false },\n masterDetail: { optionName: \"masterDetail\", isCollectionItem: false },\n pager: { optionName: \"pager\", isCollectionItem: false },\n paging: { optionName: \"paging\", isCollectionItem: false },\n remoteOperations: { optionName: \"remoteOperations\", isCollectionItem: false },\n rowDragging: { optionName: \"rowDragging\", isCollectionItem: false },\n scrolling: { optionName: \"scrolling\", isCollectionItem: false },\n searchPanel: { optionName: \"searchPanel\", isCollectionItem: false },\n selection: { optionName: \"selection\", isCollectionItem: false },\n sortByGroupSummaryInfo: { optionName: \"sortByGroupSummaryInfo\", isCollectionItem: true },\n sorting: { optionName: \"sorting\", isCollectionItem: false },\n stateStoring: { optionName: \"stateStoring\", isCollectionItem: false },\n summary: { optionName: \"summary\", isCollectionItem: false },\n toolbar: { optionName: \"toolbar\", isCollectionItem: false }\n };\n _this._templateProps = [{\n tmplOption: \"dataRowTemplate\",\n render: \"dataRowRender\",\n component: \"dataRowComponent\",\n keyFn: \"dataRowKeyFn\"\n }, {\n tmplOption: \"rowTemplate\",\n render: \"rowRender\",\n component: \"rowComponent\",\n keyFn: \"rowKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(DataGrid.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return DataGrid;\n}(component_1.Component));\nexports.DataGrid = DataGrid;\nDataGrid.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n allowColumnReordering: PropTypes.bool,\n allowColumnResizing: PropTypes.bool,\n autoNavigateToFocusedRow: PropTypes.bool,\n cacheEnabled: PropTypes.bool,\n cellHintEnabled: PropTypes.bool,\n columnAutoWidth: PropTypes.bool,\n columnChooser: PropTypes.object,\n columnFixing: PropTypes.object,\n columnHidingEnabled: PropTypes.bool,\n columnMinWidth: PropTypes.number,\n columnResizingMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"nextColumn\",\n \"widget\"\n ])\n ]),\n columns: PropTypes.array,\n columnWidth: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"auto\"\n ])\n ])\n ]),\n customizeColumns: PropTypes.func,\n dateSerializationFormat: PropTypes.string,\n disabled: PropTypes.bool,\n editing: PropTypes.object,\n elementAttr: PropTypes.object,\n errorRowEnabled: PropTypes.bool,\n export: PropTypes.object,\n filterBuilder: PropTypes.object,\n filterBuilderPopup: PropTypes.object,\n filterPanel: PropTypes.object,\n filterRow: PropTypes.object,\n filterSyncEnabled: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"auto\"\n ])\n ])\n ]),\n filterValue: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.func,\n PropTypes.string\n ]),\n focusedColumnIndex: PropTypes.number,\n focusedRowEnabled: PropTypes.bool,\n focusedRowIndex: PropTypes.number,\n grouping: PropTypes.object,\n groupPanel: PropTypes.object,\n headerFilter: PropTypes.object,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n highlightChanges: PropTypes.bool,\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n keyboardNavigation: PropTypes.object,\n keyExpr: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.string\n ]),\n loadPanel: PropTypes.object,\n masterDetail: PropTypes.object,\n noDataText: PropTypes.string,\n onAdaptiveDetailRowPreparing: PropTypes.func,\n onCellClick: PropTypes.func,\n onCellDblClick: PropTypes.func,\n onCellHoverChanged: PropTypes.func,\n onCellPrepared: PropTypes.func,\n onContentReady: PropTypes.func,\n onContextMenuPreparing: PropTypes.func,\n onDataErrorOccurred: PropTypes.func,\n onDisposing: PropTypes.func,\n onEditCanceled: PropTypes.func,\n onEditCanceling: PropTypes.func,\n onEditingStart: PropTypes.func,\n onEditorPrepared: PropTypes.func,\n onEditorPreparing: PropTypes.func,\n onExporting: PropTypes.func,\n onFocusedCellChanged: PropTypes.func,\n onFocusedCellChanging: PropTypes.func,\n onFocusedRowChanged: PropTypes.func,\n onFocusedRowChanging: PropTypes.func,\n onInitialized: PropTypes.func,\n onInitNewRow: PropTypes.func,\n onKeyDown: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onRowClick: PropTypes.func,\n onRowCollapsed: PropTypes.func,\n onRowCollapsing: PropTypes.func,\n onRowDblClick: PropTypes.func,\n onRowExpanded: PropTypes.func,\n onRowExpanding: PropTypes.func,\n onRowInserted: PropTypes.func,\n onRowInserting: PropTypes.func,\n onRowPrepared: PropTypes.func,\n onRowRemoved: PropTypes.func,\n onRowRemoving: PropTypes.func,\n onRowUpdated: PropTypes.func,\n onRowUpdating: PropTypes.func,\n onRowValidating: PropTypes.func,\n onSaved: PropTypes.func,\n onSaving: PropTypes.func,\n onSelectionChanged: PropTypes.func,\n onToolbarPreparing: PropTypes.func,\n pager: PropTypes.object,\n paging: PropTypes.object,\n remoteOperations: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.object,\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"auto\"\n ])\n ])\n ]),\n renderAsync: PropTypes.bool,\n repaintChangesOnly: PropTypes.bool,\n rowAlternationEnabled: PropTypes.bool,\n rowDragging: PropTypes.object,\n rtlEnabled: PropTypes.bool,\n scrolling: PropTypes.object,\n searchPanel: PropTypes.object,\n selectedRowKeys: PropTypes.array,\n selection: PropTypes.object,\n selectionFilter: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.func,\n PropTypes.string\n ]),\n showBorders: PropTypes.bool,\n showColumnHeaders: PropTypes.bool,\n showColumnLines: PropTypes.bool,\n showRowLines: PropTypes.bool,\n sortByGroupSummaryInfo: PropTypes.array,\n sorting: PropTypes.object,\n stateStoring: PropTypes.object,\n summary: PropTypes.object,\n syncLookupFilterValues: PropTypes.bool,\n tabIndex: PropTypes.number,\n toolbar: PropTypes.object,\n twoWayBindingEnabled: PropTypes.bool,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n wordWrapEnabled: PropTypes.bool\n};\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Animation.OptionName = \"animation\";\n Animation.ExpectedChildren = {\n hide: { optionName: \"hide\", isCollectionItem: false },\n show: { optionName: \"show\", isCollectionItem: false }\n };\n return Animation;\n}(nested_option_1.default));\nexports.Animation = Animation;\nvar AsyncRule = /** @class */ (function (_super) {\n __extends(AsyncRule, _super);\n function AsyncRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AsyncRule.OptionName = \"validationRules\";\n AsyncRule.IsCollectionItem = true;\n AsyncRule.PredefinedProps = {\n type: \"async\"\n };\n return AsyncRule;\n}(nested_option_1.default));\nexports.AsyncRule = AsyncRule;\nvar At = /** @class */ (function (_super) {\n __extends(At, _super);\n function At() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n At.OptionName = \"at\";\n return At;\n}(nested_option_1.default));\nexports.At = At;\nvar BoundaryOffset = /** @class */ (function (_super) {\n __extends(BoundaryOffset, _super);\n function BoundaryOffset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BoundaryOffset.OptionName = \"boundaryOffset\";\n return BoundaryOffset;\n}(nested_option_1.default));\nexports.BoundaryOffset = BoundaryOffset;\nvar Button = /** @class */ (function (_super) {\n __extends(Button, _super);\n function Button() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Button.OptionName = \"buttons\";\n Button.IsCollectionItem = true;\n Button.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Button;\n}(nested_option_1.default));\nexports.Button = Button;\nvar Change = /** @class */ (function (_super) {\n __extends(Change, _super);\n function Change() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Change.OptionName = \"changes\";\n Change.IsCollectionItem = true;\n return Change;\n}(nested_option_1.default));\nexports.Change = Change;\nvar ColCountByScreen = /** @class */ (function (_super) {\n __extends(ColCountByScreen, _super);\n function ColCountByScreen() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColCountByScreen.OptionName = \"colCountByScreen\";\n return ColCountByScreen;\n}(nested_option_1.default));\nexports.ColCountByScreen = ColCountByScreen;\nvar Collision = /** @class */ (function (_super) {\n __extends(Collision, _super);\n function Collision() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Collision.OptionName = \"collision\";\n return Collision;\n}(nested_option_1.default));\nexports.Collision = Collision;\nvar Column = /** @class */ (function (_super) {\n __extends(Column, _super);\n function Column() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Column.OptionName = \"columns\";\n Column.IsCollectionItem = true;\n Column.DefaultsProps = {\n defaultFilterValue: \"filterValue\",\n defaultFilterValues: \"filterValues\",\n defaultGroupIndex: \"groupIndex\",\n defaultSelectedFilterOperation: \"selectedFilterOperation\",\n defaultSortIndex: \"sortIndex\",\n defaultSortOrder: \"sortOrder\",\n defaultVisible: \"visible\",\n defaultVisibleIndex: \"visibleIndex\"\n };\n Column.ExpectedChildren = {\n AsyncRule: { optionName: \"validationRules\", isCollectionItem: true },\n button: { optionName: \"buttons\", isCollectionItem: true },\n columnHeaderFilter: { optionName: \"headerFilter\", isCollectionItem: false },\n columnLookup: { optionName: \"lookup\", isCollectionItem: false },\n CompareRule: { optionName: \"validationRules\", isCollectionItem: true },\n CustomRule: { optionName: \"validationRules\", isCollectionItem: true },\n EmailRule: { optionName: \"validationRules\", isCollectionItem: true },\n format: { optionName: \"format\", isCollectionItem: false },\n formItem: { optionName: \"formItem\", isCollectionItem: false },\n headerFilter: { optionName: \"headerFilter\", isCollectionItem: false },\n lookup: { optionName: \"lookup\", isCollectionItem: false },\n NumericRule: { optionName: \"validationRules\", isCollectionItem: true },\n PatternRule: { optionName: \"validationRules\", isCollectionItem: true },\n RangeRule: { optionName: \"validationRules\", isCollectionItem: true },\n RequiredRule: { optionName: \"validationRules\", isCollectionItem: true },\n StringLengthRule: { optionName: \"validationRules\", isCollectionItem: true },\n validationRule: { optionName: \"validationRules\", isCollectionItem: true }\n };\n Column.TemplateProps = [{\n tmplOption: \"cellTemplate\",\n render: \"cellRender\",\n component: \"cellComponent\",\n keyFn: \"cellKeyFn\"\n }, {\n tmplOption: \"editCellTemplate\",\n render: \"editCellRender\",\n component: \"editCellComponent\",\n keyFn: \"editCellKeyFn\"\n }, {\n tmplOption: \"groupCellTemplate\",\n render: \"groupCellRender\",\n component: \"groupCellComponent\",\n keyFn: \"groupCellKeyFn\"\n }, {\n tmplOption: \"headerCellTemplate\",\n render: \"headerCellRender\",\n component: \"headerCellComponent\",\n keyFn: \"headerCellKeyFn\"\n }];\n return Column;\n}(nested_option_1.default));\nexports.Column = Column;\nvar ColumnChooser = /** @class */ (function (_super) {\n __extends(ColumnChooser, _super);\n function ColumnChooser() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColumnChooser.OptionName = \"columnChooser\";\n return ColumnChooser;\n}(nested_option_1.default));\nexports.ColumnChooser = ColumnChooser;\nvar ColumnFixing = /** @class */ (function (_super) {\n __extends(ColumnFixing, _super);\n function ColumnFixing() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColumnFixing.OptionName = \"columnFixing\";\n ColumnFixing.ExpectedChildren = {\n columnFixingTexts: { optionName: \"texts\", isCollectionItem: false },\n texts: { optionName: \"texts\", isCollectionItem: false }\n };\n return ColumnFixing;\n}(nested_option_1.default));\nexports.ColumnFixing = ColumnFixing;\nvar ColumnFixingTexts = /** @class */ (function (_super) {\n __extends(ColumnFixingTexts, _super);\n function ColumnFixingTexts() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColumnFixingTexts.OptionName = \"texts\";\n return ColumnFixingTexts;\n}(nested_option_1.default));\nexports.ColumnFixingTexts = ColumnFixingTexts;\nvar ColumnHeaderFilter = /** @class */ (function (_super) {\n __extends(ColumnHeaderFilter, _super);\n function ColumnHeaderFilter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColumnHeaderFilter.OptionName = \"headerFilter\";\n return ColumnHeaderFilter;\n}(nested_option_1.default));\nexports.ColumnHeaderFilter = ColumnHeaderFilter;\nvar ColumnLookup = /** @class */ (function (_super) {\n __extends(ColumnLookup, _super);\n function ColumnLookup() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColumnLookup.OptionName = \"lookup\";\n return ColumnLookup;\n}(nested_option_1.default));\nexports.ColumnLookup = ColumnLookup;\nvar CompareRule = /** @class */ (function (_super) {\n __extends(CompareRule, _super);\n function CompareRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CompareRule.OptionName = \"validationRules\";\n CompareRule.IsCollectionItem = true;\n CompareRule.PredefinedProps = {\n type: \"compare\"\n };\n return CompareRule;\n}(nested_option_1.default));\nexports.CompareRule = CompareRule;\nvar CursorOffset = /** @class */ (function (_super) {\n __extends(CursorOffset, _super);\n function CursorOffset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CursorOffset.OptionName = \"cursorOffset\";\n return CursorOffset;\n}(nested_option_1.default));\nexports.CursorOffset = CursorOffset;\nvar CustomOperation = /** @class */ (function (_super) {\n __extends(CustomOperation, _super);\n function CustomOperation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CustomOperation.OptionName = \"customOperations\";\n CustomOperation.IsCollectionItem = true;\n CustomOperation.TemplateProps = [{\n tmplOption: \"editorTemplate\",\n render: \"editorRender\",\n component: \"editorComponent\",\n keyFn: \"editorKeyFn\"\n }];\n return CustomOperation;\n}(nested_option_1.default));\nexports.CustomOperation = CustomOperation;\nvar CustomRule = /** @class */ (function (_super) {\n __extends(CustomRule, _super);\n function CustomRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CustomRule.OptionName = \"validationRules\";\n CustomRule.IsCollectionItem = true;\n CustomRule.PredefinedProps = {\n type: \"custom\"\n };\n return CustomRule;\n}(nested_option_1.default));\nexports.CustomRule = CustomRule;\nvar DataGridHeaderFilter = /** @class */ (function (_super) {\n __extends(DataGridHeaderFilter, _super);\n function DataGridHeaderFilter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DataGridHeaderFilter.OptionName = \"headerFilter\";\n DataGridHeaderFilter.ExpectedChildren = {\n dataGridHeaderFilterTexts: { optionName: \"texts\", isCollectionItem: false },\n texts: { optionName: \"texts\", isCollectionItem: false }\n };\n return DataGridHeaderFilter;\n}(nested_option_1.default));\nexports.DataGridHeaderFilter = DataGridHeaderFilter;\nvar DataGridHeaderFilterTexts = /** @class */ (function (_super) {\n __extends(DataGridHeaderFilterTexts, _super);\n function DataGridHeaderFilterTexts() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DataGridHeaderFilterTexts.OptionName = \"texts\";\n return DataGridHeaderFilterTexts;\n}(nested_option_1.default));\nexports.DataGridHeaderFilterTexts = DataGridHeaderFilterTexts;\nvar Editing = /** @class */ (function (_super) {\n __extends(Editing, _super);\n function Editing() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Editing.OptionName = \"editing\";\n Editing.DefaultsProps = {\n defaultChanges: \"changes\",\n defaultEditColumnName: \"editColumnName\",\n defaultEditRowKey: \"editRowKey\"\n };\n Editing.ExpectedChildren = {\n change: { optionName: \"changes\", isCollectionItem: true },\n editingTexts: { optionName: \"texts\", isCollectionItem: false },\n form: { optionName: \"form\", isCollectionItem: false },\n popup: { optionName: \"popup\", isCollectionItem: false },\n texts: { optionName: \"texts\", isCollectionItem: false }\n };\n return Editing;\n}(nested_option_1.default));\nexports.Editing = Editing;\nvar EditingTexts = /** @class */ (function (_super) {\n __extends(EditingTexts, _super);\n function EditingTexts() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n EditingTexts.OptionName = \"texts\";\n return EditingTexts;\n}(nested_option_1.default));\nexports.EditingTexts = EditingTexts;\nvar EmailRule = /** @class */ (function (_super) {\n __extends(EmailRule, _super);\n function EmailRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n EmailRule.OptionName = \"validationRules\";\n EmailRule.IsCollectionItem = true;\n EmailRule.PredefinedProps = {\n type: \"email\"\n };\n return EmailRule;\n}(nested_option_1.default));\nexports.EmailRule = EmailRule;\nvar Export = /** @class */ (function (_super) {\n __extends(Export, _super);\n function Export() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Export.OptionName = \"export\";\n Export.ExpectedChildren = {\n exportTexts: { optionName: \"texts\", isCollectionItem: false },\n texts: { optionName: \"texts\", isCollectionItem: false }\n };\n return Export;\n}(nested_option_1.default));\nexports.Export = Export;\nvar ExportTexts = /** @class */ (function (_super) {\n __extends(ExportTexts, _super);\n function ExportTexts() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ExportTexts.OptionName = \"texts\";\n return ExportTexts;\n}(nested_option_1.default));\nexports.ExportTexts = ExportTexts;\nvar Field = /** @class */ (function (_super) {\n __extends(Field, _super);\n function Field() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Field.OptionName = \"fields\";\n Field.IsCollectionItem = true;\n Field.ExpectedChildren = {\n fieldLookup: { optionName: \"lookup\", isCollectionItem: false },\n format: { optionName: \"format\", isCollectionItem: false },\n lookup: { optionName: \"lookup\", isCollectionItem: false }\n };\n Field.TemplateProps = [{\n tmplOption: \"editorTemplate\",\n render: \"editorRender\",\n component: \"editorComponent\",\n keyFn: \"editorKeyFn\"\n }];\n return Field;\n}(nested_option_1.default));\nexports.Field = Field;\nvar FieldLookup = /** @class */ (function (_super) {\n __extends(FieldLookup, _super);\n function FieldLookup() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FieldLookup.OptionName = \"lookup\";\n return FieldLookup;\n}(nested_option_1.default));\nexports.FieldLookup = FieldLookup;\nvar FilterBuilder = /** @class */ (function (_super) {\n __extends(FilterBuilder, _super);\n function FilterBuilder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterBuilder.OptionName = \"filterBuilder\";\n FilterBuilder.DefaultsProps = {\n defaultValue: \"value\"\n };\n FilterBuilder.ExpectedChildren = {\n customOperation: { optionName: \"customOperations\", isCollectionItem: true },\n field: { optionName: \"fields\", isCollectionItem: true },\n filterOperationDescriptions: { optionName: \"filterOperationDescriptions\", isCollectionItem: false },\n groupOperationDescriptions: { optionName: \"groupOperationDescriptions\", isCollectionItem: false }\n };\n return FilterBuilder;\n}(nested_option_1.default));\nexports.FilterBuilder = FilterBuilder;\nvar FilterBuilderPopup = /** @class */ (function (_super) {\n __extends(FilterBuilderPopup, _super);\n function FilterBuilderPopup() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterBuilderPopup.OptionName = \"filterBuilderPopup\";\n FilterBuilderPopup.DefaultsProps = {\n defaultHeight: \"height\",\n defaultPosition: \"position\",\n defaultVisible: \"visible\",\n defaultWidth: \"width\"\n };\n FilterBuilderPopup.TemplateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }, {\n tmplOption: \"titleTemplate\",\n render: \"titleRender\",\n component: \"titleComponent\",\n keyFn: \"titleKeyFn\"\n }];\n return FilterBuilderPopup;\n}(nested_option_1.default));\nexports.FilterBuilderPopup = FilterBuilderPopup;\nvar FilterOperationDescriptions = /** @class */ (function (_super) {\n __extends(FilterOperationDescriptions, _super);\n function FilterOperationDescriptions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterOperationDescriptions.OptionName = \"filterOperationDescriptions\";\n return FilterOperationDescriptions;\n}(nested_option_1.default));\nexports.FilterOperationDescriptions = FilterOperationDescriptions;\nvar FilterPanel = /** @class */ (function (_super) {\n __extends(FilterPanel, _super);\n function FilterPanel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterPanel.OptionName = \"filterPanel\";\n FilterPanel.DefaultsProps = {\n defaultFilterEnabled: \"filterEnabled\"\n };\n FilterPanel.ExpectedChildren = {\n filterPanelTexts: { optionName: \"texts\", isCollectionItem: false },\n texts: { optionName: \"texts\", isCollectionItem: false }\n };\n return FilterPanel;\n}(nested_option_1.default));\nexports.FilterPanel = FilterPanel;\nvar FilterPanelTexts = /** @class */ (function (_super) {\n __extends(FilterPanelTexts, _super);\n function FilterPanelTexts() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterPanelTexts.OptionName = \"texts\";\n return FilterPanelTexts;\n}(nested_option_1.default));\nexports.FilterPanelTexts = FilterPanelTexts;\nvar FilterRow = /** @class */ (function (_super) {\n __extends(FilterRow, _super);\n function FilterRow() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterRow.OptionName = \"filterRow\";\n FilterRow.ExpectedChildren = {\n operationDescriptions: { optionName: \"operationDescriptions\", isCollectionItem: false }\n };\n return FilterRow;\n}(nested_option_1.default));\nexports.FilterRow = FilterRow;\nvar Form = /** @class */ (function (_super) {\n __extends(Form, _super);\n function Form() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Form.OptionName = \"form\";\n Form.DefaultsProps = {\n defaultFormData: \"formData\"\n };\n Form.ExpectedChildren = {\n colCountByScreen: { optionName: \"colCountByScreen\", isCollectionItem: false }\n };\n return Form;\n}(nested_option_1.default));\nexports.Form = Form;\nvar Format = /** @class */ (function (_super) {\n __extends(Format, _super);\n function Format() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Format.OptionName = \"format\";\n return Format;\n}(nested_option_1.default));\nexports.Format = Format;\nvar FormItem = /** @class */ (function (_super) {\n __extends(FormItem, _super);\n function FormItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FormItem.OptionName = \"formItem\";\n FormItem.ExpectedChildren = {\n AsyncRule: { optionName: \"validationRules\", isCollectionItem: true },\n CompareRule: { optionName: \"validationRules\", isCollectionItem: true },\n CustomRule: { optionName: \"validationRules\", isCollectionItem: true },\n EmailRule: { optionName: \"validationRules\", isCollectionItem: true },\n label: { optionName: \"label\", isCollectionItem: false },\n NumericRule: { optionName: \"validationRules\", isCollectionItem: true },\n PatternRule: { optionName: \"validationRules\", isCollectionItem: true },\n RangeRule: { optionName: \"validationRules\", isCollectionItem: true },\n RequiredRule: { optionName: \"validationRules\", isCollectionItem: true },\n StringLengthRule: { optionName: \"validationRules\", isCollectionItem: true },\n validationRule: { optionName: \"validationRules\", isCollectionItem: true }\n };\n FormItem.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return FormItem;\n}(nested_option_1.default));\nexports.FormItem = FormItem;\nvar From = /** @class */ (function (_super) {\n __extends(From, _super);\n function From() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n From.OptionName = \"from\";\n From.ExpectedChildren = {\n position: { optionName: \"position\", isCollectionItem: false }\n };\n return From;\n}(nested_option_1.default));\nexports.From = From;\nvar Grouping = /** @class */ (function (_super) {\n __extends(Grouping, _super);\n function Grouping() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Grouping.OptionName = \"grouping\";\n Grouping.ExpectedChildren = {\n groupingTexts: { optionName: \"texts\", isCollectionItem: false },\n texts: { optionName: \"texts\", isCollectionItem: false }\n };\n return Grouping;\n}(nested_option_1.default));\nexports.Grouping = Grouping;\nvar GroupingTexts = /** @class */ (function (_super) {\n __extends(GroupingTexts, _super);\n function GroupingTexts() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GroupingTexts.OptionName = \"texts\";\n return GroupingTexts;\n}(nested_option_1.default));\nexports.GroupingTexts = GroupingTexts;\nvar GroupItem = /** @class */ (function (_super) {\n __extends(GroupItem, _super);\n function GroupItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GroupItem.OptionName = \"groupItems\";\n GroupItem.IsCollectionItem = true;\n GroupItem.ExpectedChildren = {\n valueFormat: { optionName: \"valueFormat\", isCollectionItem: false }\n };\n return GroupItem;\n}(nested_option_1.default));\nexports.GroupItem = GroupItem;\nvar GroupOperationDescriptions = /** @class */ (function (_super) {\n __extends(GroupOperationDescriptions, _super);\n function GroupOperationDescriptions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GroupOperationDescriptions.OptionName = \"groupOperationDescriptions\";\n return GroupOperationDescriptions;\n}(nested_option_1.default));\nexports.GroupOperationDescriptions = GroupOperationDescriptions;\nvar GroupPanel = /** @class */ (function (_super) {\n __extends(GroupPanel, _super);\n function GroupPanel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GroupPanel.OptionName = \"groupPanel\";\n GroupPanel.DefaultsProps = {\n defaultVisible: \"visible\"\n };\n return GroupPanel;\n}(nested_option_1.default));\nexports.GroupPanel = GroupPanel;\nvar HeaderFilter = /** @class */ (function (_super) {\n __extends(HeaderFilter, _super);\n function HeaderFilter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HeaderFilter.OptionName = \"headerFilter\";\n return HeaderFilter;\n}(nested_option_1.default));\nexports.HeaderFilter = HeaderFilter;\nvar Hide = /** @class */ (function (_super) {\n __extends(Hide, _super);\n function Hide() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Hide.OptionName = \"hide\";\n Hide.ExpectedChildren = {\n from: { optionName: \"from\", isCollectionItem: false },\n to: { optionName: \"to\", isCollectionItem: false }\n };\n return Hide;\n}(nested_option_1.default));\nexports.Hide = Hide;\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"menuItemTemplate\",\n render: \"menuItemRender\",\n component: \"menuItemComponent\",\n keyFn: \"menuItemKeyFn\"\n }, {\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nvar KeyboardNavigation = /** @class */ (function (_super) {\n __extends(KeyboardNavigation, _super);\n function KeyboardNavigation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n KeyboardNavigation.OptionName = \"keyboardNavigation\";\n return KeyboardNavigation;\n}(nested_option_1.default));\nexports.KeyboardNavigation = KeyboardNavigation;\nvar Label = /** @class */ (function (_super) {\n __extends(Label, _super);\n function Label() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Label.OptionName = \"label\";\n Label.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Label;\n}(nested_option_1.default));\nexports.Label = Label;\nvar LoadPanel = /** @class */ (function (_super) {\n __extends(LoadPanel, _super);\n function LoadPanel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LoadPanel.OptionName = \"loadPanel\";\n return LoadPanel;\n}(nested_option_1.default));\nexports.LoadPanel = LoadPanel;\nvar Lookup = /** @class */ (function (_super) {\n __extends(Lookup, _super);\n function Lookup() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Lookup.OptionName = \"lookup\";\n return Lookup;\n}(nested_option_1.default));\nexports.Lookup = Lookup;\nvar MasterDetail = /** @class */ (function (_super) {\n __extends(MasterDetail, _super);\n function MasterDetail() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MasterDetail.OptionName = \"masterDetail\";\n MasterDetail.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return MasterDetail;\n}(nested_option_1.default));\nexports.MasterDetail = MasterDetail;\nvar My = /** @class */ (function (_super) {\n __extends(My, _super);\n function My() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n My.OptionName = \"my\";\n return My;\n}(nested_option_1.default));\nexports.My = My;\nvar NumericRule = /** @class */ (function (_super) {\n __extends(NumericRule, _super);\n function NumericRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n NumericRule.OptionName = \"validationRules\";\n NumericRule.IsCollectionItem = true;\n NumericRule.PredefinedProps = {\n type: \"numeric\"\n };\n return NumericRule;\n}(nested_option_1.default));\nexports.NumericRule = NumericRule;\nvar Offset = /** @class */ (function (_super) {\n __extends(Offset, _super);\n function Offset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Offset.OptionName = \"offset\";\n return Offset;\n}(nested_option_1.default));\nexports.Offset = Offset;\nvar OperationDescriptions = /** @class */ (function (_super) {\n __extends(OperationDescriptions, _super);\n function OperationDescriptions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n OperationDescriptions.OptionName = \"operationDescriptions\";\n return OperationDescriptions;\n}(nested_option_1.default));\nexports.OperationDescriptions = OperationDescriptions;\nvar Pager = /** @class */ (function (_super) {\n __extends(Pager, _super);\n function Pager() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Pager.OptionName = \"pager\";\n return Pager;\n}(nested_option_1.default));\nexports.Pager = Pager;\nvar Paging = /** @class */ (function (_super) {\n __extends(Paging, _super);\n function Paging() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Paging.OptionName = \"paging\";\n Paging.DefaultsProps = {\n defaultPageIndex: \"pageIndex\",\n defaultPageSize: \"pageSize\"\n };\n return Paging;\n}(nested_option_1.default));\nexports.Paging = Paging;\nvar PatternRule = /** @class */ (function (_super) {\n __extends(PatternRule, _super);\n function PatternRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PatternRule.OptionName = \"validationRules\";\n PatternRule.IsCollectionItem = true;\n PatternRule.PredefinedProps = {\n type: \"pattern\"\n };\n return PatternRule;\n}(nested_option_1.default));\nexports.PatternRule = PatternRule;\nvar Popup = /** @class */ (function (_super) {\n __extends(Popup, _super);\n function Popup() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Popup.OptionName = \"popup\";\n Popup.DefaultsProps = {\n defaultHeight: \"height\",\n defaultPosition: \"position\",\n defaultVisible: \"visible\",\n defaultWidth: \"width\"\n };\n Popup.ExpectedChildren = {\n animation: { optionName: \"animation\", isCollectionItem: false },\n position: { optionName: \"position\", isCollectionItem: false },\n toolbarItem: { optionName: \"toolbarItems\", isCollectionItem: true }\n };\n Popup.TemplateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }, {\n tmplOption: \"titleTemplate\",\n render: \"titleRender\",\n component: \"titleComponent\",\n keyFn: \"titleKeyFn\"\n }];\n return Popup;\n}(nested_option_1.default));\nexports.Popup = Popup;\nvar Position = /** @class */ (function (_super) {\n __extends(Position, _super);\n function Position() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Position.OptionName = \"position\";\n return Position;\n}(nested_option_1.default));\nexports.Position = Position;\nvar RangeRule = /** @class */ (function (_super) {\n __extends(RangeRule, _super);\n function RangeRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RangeRule.OptionName = \"validationRules\";\n RangeRule.IsCollectionItem = true;\n RangeRule.PredefinedProps = {\n type: \"range\"\n };\n return RangeRule;\n}(nested_option_1.default));\nexports.RangeRule = RangeRule;\nvar RemoteOperations = /** @class */ (function (_super) {\n __extends(RemoteOperations, _super);\n function RemoteOperations() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RemoteOperations.OptionName = \"remoteOperations\";\n return RemoteOperations;\n}(nested_option_1.default));\nexports.RemoteOperations = RemoteOperations;\nvar RequiredRule = /** @class */ (function (_super) {\n __extends(RequiredRule, _super);\n function RequiredRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RequiredRule.OptionName = \"validationRules\";\n RequiredRule.IsCollectionItem = true;\n RequiredRule.PredefinedProps = {\n type: \"required\"\n };\n return RequiredRule;\n}(nested_option_1.default));\nexports.RequiredRule = RequiredRule;\nvar RowDragging = /** @class */ (function (_super) {\n __extends(RowDragging, _super);\n function RowDragging() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RowDragging.OptionName = \"rowDragging\";\n RowDragging.ExpectedChildren = {\n cursorOffset: { optionName: \"cursorOffset\", isCollectionItem: false }\n };\n RowDragging.TemplateProps = [{\n tmplOption: \"dragTemplate\",\n render: \"dragRender\",\n component: \"dragComponent\",\n keyFn: \"dragKeyFn\"\n }];\n return RowDragging;\n}(nested_option_1.default));\nexports.RowDragging = RowDragging;\nvar Scrolling = /** @class */ (function (_super) {\n __extends(Scrolling, _super);\n function Scrolling() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Scrolling.OptionName = \"scrolling\";\n return Scrolling;\n}(nested_option_1.default));\nexports.Scrolling = Scrolling;\nvar SearchPanel = /** @class */ (function (_super) {\n __extends(SearchPanel, _super);\n function SearchPanel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SearchPanel.OptionName = \"searchPanel\";\n SearchPanel.DefaultsProps = {\n defaultText: \"text\"\n };\n return SearchPanel;\n}(nested_option_1.default));\nexports.SearchPanel = SearchPanel;\nvar Selection = /** @class */ (function (_super) {\n __extends(Selection, _super);\n function Selection() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Selection.OptionName = \"selection\";\n return Selection;\n}(nested_option_1.default));\nexports.Selection = Selection;\nvar Show = /** @class */ (function (_super) {\n __extends(Show, _super);\n function Show() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Show.OptionName = \"show\";\n return Show;\n}(nested_option_1.default));\nexports.Show = Show;\nvar SortByGroupSummaryInfo = /** @class */ (function (_super) {\n __extends(SortByGroupSummaryInfo, _super);\n function SortByGroupSummaryInfo() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SortByGroupSummaryInfo.OptionName = \"sortByGroupSummaryInfo\";\n SortByGroupSummaryInfo.IsCollectionItem = true;\n return SortByGroupSummaryInfo;\n}(nested_option_1.default));\nexports.SortByGroupSummaryInfo = SortByGroupSummaryInfo;\nvar Sorting = /** @class */ (function (_super) {\n __extends(Sorting, _super);\n function Sorting() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Sorting.OptionName = \"sorting\";\n return Sorting;\n}(nested_option_1.default));\nexports.Sorting = Sorting;\nvar StateStoring = /** @class */ (function (_super) {\n __extends(StateStoring, _super);\n function StateStoring() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StateStoring.OptionName = \"stateStoring\";\n return StateStoring;\n}(nested_option_1.default));\nexports.StateStoring = StateStoring;\nvar StringLengthRule = /** @class */ (function (_super) {\n __extends(StringLengthRule, _super);\n function StringLengthRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StringLengthRule.OptionName = \"validationRules\";\n StringLengthRule.IsCollectionItem = true;\n StringLengthRule.PredefinedProps = {\n type: \"stringLength\"\n };\n return StringLengthRule;\n}(nested_option_1.default));\nexports.StringLengthRule = StringLengthRule;\nvar Summary = /** @class */ (function (_super) {\n __extends(Summary, _super);\n function Summary() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Summary.OptionName = \"summary\";\n Summary.ExpectedChildren = {\n groupItem: { optionName: \"groupItems\", isCollectionItem: true },\n summaryTexts: { optionName: \"texts\", isCollectionItem: false },\n texts: { optionName: \"texts\", isCollectionItem: false },\n totalItem: { optionName: \"totalItems\", isCollectionItem: true }\n };\n return Summary;\n}(nested_option_1.default));\nexports.Summary = Summary;\nvar SummaryTexts = /** @class */ (function (_super) {\n __extends(SummaryTexts, _super);\n function SummaryTexts() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SummaryTexts.OptionName = \"texts\";\n return SummaryTexts;\n}(nested_option_1.default));\nexports.SummaryTexts = SummaryTexts;\nvar Texts = /** @class */ (function (_super) {\n __extends(Texts, _super);\n function Texts() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Texts.OptionName = \"texts\";\n return Texts;\n}(nested_option_1.default));\nexports.Texts = Texts;\nvar To = /** @class */ (function (_super) {\n __extends(To, _super);\n function To() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n To.OptionName = \"to\";\n return To;\n}(nested_option_1.default));\nexports.To = To;\nvar Toolbar = /** @class */ (function (_super) {\n __extends(Toolbar, _super);\n function Toolbar() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Toolbar.OptionName = \"toolbar\";\n Toolbar.ExpectedChildren = {\n item: { optionName: \"items\", isCollectionItem: true }\n };\n return Toolbar;\n}(nested_option_1.default));\nexports.Toolbar = Toolbar;\nvar ToolbarItem = /** @class */ (function (_super) {\n __extends(ToolbarItem, _super);\n function ToolbarItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ToolbarItem.OptionName = \"toolbarItems\";\n ToolbarItem.IsCollectionItem = true;\n ToolbarItem.TemplateProps = [{\n tmplOption: \"menuItemTemplate\",\n render: \"menuItemRender\",\n component: \"menuItemComponent\",\n keyFn: \"menuItemKeyFn\"\n }, {\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return ToolbarItem;\n}(nested_option_1.default));\nexports.ToolbarItem = ToolbarItem;\nvar TotalItem = /** @class */ (function (_super) {\n __extends(TotalItem, _super);\n function TotalItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TotalItem.OptionName = \"totalItems\";\n TotalItem.IsCollectionItem = true;\n TotalItem.ExpectedChildren = {\n valueFormat: { optionName: \"valueFormat\", isCollectionItem: false }\n };\n return TotalItem;\n}(nested_option_1.default));\nexports.TotalItem = TotalItem;\nvar ValidationRule = /** @class */ (function (_super) {\n __extends(ValidationRule, _super);\n function ValidationRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ValidationRule.OptionName = \"validationRules\";\n ValidationRule.IsCollectionItem = true;\n ValidationRule.PredefinedProps = {\n type: \"required\"\n };\n return ValidationRule;\n}(nested_option_1.default));\nexports.ValidationRule = ValidationRule;\nvar ValueFormat = /** @class */ (function (_super) {\n __extends(ValueFormat, _super);\n function ValueFormat() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ValueFormat.OptionName = \"valueFormat\";\n return ValueFormat;\n}(nested_option_1.default));\nexports.ValueFormat = ValueFormat;\nexports.default = DataGrid;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ToolbarItem = exports.To = exports.Show = exports.Position = exports.Options = exports.Offset = exports.My = exports.Hide = exports.From = exports.DropDownOptions = exports.DisplayFormat = exports.Collision = exports.CalendarOptions = exports.Button = exports.BoundaryOffset = exports.At = exports.Animation = exports.DateBox = void 0;\nvar date_box_1 = require(\"devextreme/ui/date_box\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar DateBox = /** @class */ (function (_super) {\n __extends(DateBox, _super);\n function DateBox() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = date_box_1.default;\n _this.useRequestAnimationFrameFlag = true;\n _this.subscribableOptions = [\"opened\", \"value\"];\n _this.independentEvents = [\"onChange\", \"onClosed\", \"onContentReady\", \"onCopy\", \"onCut\", \"onDisposing\", \"onEnterKey\", \"onFocusIn\", \"onFocusOut\", \"onInitialized\", \"onInput\", \"onKeyDown\", \"onKeyUp\", \"onOpened\", \"onPaste\", \"onValueChanged\"];\n _this._defaults = {\n defaultOpened: \"opened\",\n defaultValue: \"value\"\n };\n _this._expectedChildren = {\n button: { optionName: \"buttons\", isCollectionItem: true },\n calendarOptions: { optionName: \"calendarOptions\", isCollectionItem: false },\n displayFormat: { optionName: \"displayFormat\", isCollectionItem: false },\n dropDownOptions: { optionName: \"dropDownOptions\", isCollectionItem: false }\n };\n _this._templateProps = [{\n tmplOption: \"dropDownButtonTemplate\",\n render: \"dropDownButtonRender\",\n component: \"dropDownButtonComponent\",\n keyFn: \"dropDownButtonKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(DateBox.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return DateBox;\n}(component_1.Component));\nexports.DateBox = DateBox;\nDateBox.propTypes = {\n acceptCustomValue: PropTypes.bool,\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n adaptivityEnabled: PropTypes.bool,\n applyButtonText: PropTypes.string,\n applyValueMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"instantly\",\n \"useButtons\"\n ])\n ]),\n buttons: PropTypes.array,\n calendarOptions: PropTypes.object,\n cancelButtonText: PropTypes.string,\n dateOutOfRangeMessage: PropTypes.string,\n dateSerializationFormat: PropTypes.string,\n deferRendering: PropTypes.bool,\n disabled: PropTypes.bool,\n disabledDates: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.func\n ]),\n displayFormat: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.string\n ]),\n dropDownOptions: PropTypes.object,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n interval: PropTypes.number,\n invalidDateMessage: PropTypes.string,\n isValid: PropTypes.bool,\n label: PropTypes.string,\n labelMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"static\",\n \"floating\",\n \"hidden\"\n ])\n ]),\n maxLength: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string\n ]),\n name: PropTypes.string,\n onChange: PropTypes.func,\n onClosed: PropTypes.func,\n onContentReady: PropTypes.func,\n onCopy: PropTypes.func,\n onCut: PropTypes.func,\n onDisposing: PropTypes.func,\n onEnterKey: PropTypes.func,\n onFocusIn: PropTypes.func,\n onFocusOut: PropTypes.func,\n onInitialized: PropTypes.func,\n onInput: PropTypes.func,\n onKeyDown: PropTypes.func,\n onKeyUp: PropTypes.func,\n onOpened: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onPaste: PropTypes.func,\n onValueChanged: PropTypes.func,\n opened: PropTypes.bool,\n openOnFieldClick: PropTypes.bool,\n pickerType: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"calendar\",\n \"list\",\n \"native\",\n \"rollers\"\n ])\n ]),\n placeholder: PropTypes.string,\n readOnly: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n showAnalogClock: PropTypes.bool,\n showClearButton: PropTypes.bool,\n showDropDownButton: PropTypes.bool,\n spellcheck: PropTypes.bool,\n stylingMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"outlined\",\n \"underlined\",\n \"filled\"\n ])\n ]),\n tabIndex: PropTypes.number,\n text: PropTypes.string,\n todayButtonText: PropTypes.string,\n type: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"date\",\n \"datetime\",\n \"time\"\n ])\n ]),\n useMaskBehavior: PropTypes.bool,\n validationErrors: PropTypes.array,\n validationMessageMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"always\",\n \"auto\"\n ])\n ]),\n validationMessagePosition: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"bottom\",\n \"left\",\n \"right\",\n \"top\",\n \"auto\"\n ])\n ]),\n validationStatus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"valid\",\n \"invalid\",\n \"pending\"\n ])\n ]),\n valueChangeEvent: PropTypes.string,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Animation.OptionName = \"animation\";\n Animation.ExpectedChildren = {\n hide: { optionName: \"hide\", isCollectionItem: false },\n show: { optionName: \"show\", isCollectionItem: false }\n };\n return Animation;\n}(nested_option_1.default));\nexports.Animation = Animation;\nvar At = /** @class */ (function (_super) {\n __extends(At, _super);\n function At() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n At.OptionName = \"at\";\n return At;\n}(nested_option_1.default));\nexports.At = At;\nvar BoundaryOffset = /** @class */ (function (_super) {\n __extends(BoundaryOffset, _super);\n function BoundaryOffset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BoundaryOffset.OptionName = \"boundaryOffset\";\n return BoundaryOffset;\n}(nested_option_1.default));\nexports.BoundaryOffset = BoundaryOffset;\nvar Button = /** @class */ (function (_super) {\n __extends(Button, _super);\n function Button() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Button.OptionName = \"buttons\";\n Button.IsCollectionItem = true;\n Button.ExpectedChildren = {\n options: { optionName: \"options\", isCollectionItem: false }\n };\n return Button;\n}(nested_option_1.default));\nexports.Button = Button;\nvar CalendarOptions = /** @class */ (function (_super) {\n __extends(CalendarOptions, _super);\n function CalendarOptions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CalendarOptions.OptionName = \"calendarOptions\";\n CalendarOptions.DefaultsProps = {\n defaultValue: \"value\",\n defaultZoomLevel: \"zoomLevel\"\n };\n CalendarOptions.TemplateProps = [{\n tmplOption: \"cellTemplate\",\n render: \"cellRender\",\n component: \"cellComponent\",\n keyFn: \"cellKeyFn\"\n }];\n return CalendarOptions;\n}(nested_option_1.default));\nexports.CalendarOptions = CalendarOptions;\nvar Collision = /** @class */ (function (_super) {\n __extends(Collision, _super);\n function Collision() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Collision.OptionName = \"collision\";\n return Collision;\n}(nested_option_1.default));\nexports.Collision = Collision;\nvar DisplayFormat = /** @class */ (function (_super) {\n __extends(DisplayFormat, _super);\n function DisplayFormat() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DisplayFormat.OptionName = \"displayFormat\";\n return DisplayFormat;\n}(nested_option_1.default));\nexports.DisplayFormat = DisplayFormat;\nvar DropDownOptions = /** @class */ (function (_super) {\n __extends(DropDownOptions, _super);\n function DropDownOptions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DropDownOptions.OptionName = \"dropDownOptions\";\n DropDownOptions.DefaultsProps = {\n defaultHeight: \"height\",\n defaultPosition: \"position\",\n defaultVisible: \"visible\",\n defaultWidth: \"width\"\n };\n DropDownOptions.ExpectedChildren = {\n animation: { optionName: \"animation\", isCollectionItem: false },\n position: { optionName: \"position\", isCollectionItem: false },\n toolbarItem: { optionName: \"toolbarItems\", isCollectionItem: true }\n };\n DropDownOptions.TemplateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }, {\n tmplOption: \"titleTemplate\",\n render: \"titleRender\",\n component: \"titleComponent\",\n keyFn: \"titleKeyFn\"\n }];\n return DropDownOptions;\n}(nested_option_1.default));\nexports.DropDownOptions = DropDownOptions;\nvar From = /** @class */ (function (_super) {\n __extends(From, _super);\n function From() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n From.OptionName = \"from\";\n From.ExpectedChildren = {\n position: { optionName: \"position\", isCollectionItem: false }\n };\n return From;\n}(nested_option_1.default));\nexports.From = From;\nvar Hide = /** @class */ (function (_super) {\n __extends(Hide, _super);\n function Hide() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Hide.OptionName = \"hide\";\n Hide.ExpectedChildren = {\n from: { optionName: \"from\", isCollectionItem: false },\n to: { optionName: \"to\", isCollectionItem: false }\n };\n return Hide;\n}(nested_option_1.default));\nexports.Hide = Hide;\nvar My = /** @class */ (function (_super) {\n __extends(My, _super);\n function My() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n My.OptionName = \"my\";\n return My;\n}(nested_option_1.default));\nexports.My = My;\nvar Offset = /** @class */ (function (_super) {\n __extends(Offset, _super);\n function Offset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Offset.OptionName = \"offset\";\n return Offset;\n}(nested_option_1.default));\nexports.Offset = Offset;\nvar Options = /** @class */ (function (_super) {\n __extends(Options, _super);\n function Options() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Options.OptionName = \"options\";\n Options.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Options;\n}(nested_option_1.default));\nexports.Options = Options;\nvar Position = /** @class */ (function (_super) {\n __extends(Position, _super);\n function Position() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Position.OptionName = \"position\";\n return Position;\n}(nested_option_1.default));\nexports.Position = Position;\nvar Show = /** @class */ (function (_super) {\n __extends(Show, _super);\n function Show() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Show.OptionName = \"show\";\n return Show;\n}(nested_option_1.default));\nexports.Show = Show;\nvar To = /** @class */ (function (_super) {\n __extends(To, _super);\n function To() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n To.OptionName = \"to\";\n return To;\n}(nested_option_1.default));\nexports.To = To;\nvar ToolbarItem = /** @class */ (function (_super) {\n __extends(ToolbarItem, _super);\n function ToolbarItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ToolbarItem.OptionName = \"toolbarItems\";\n ToolbarItem.IsCollectionItem = true;\n ToolbarItem.TemplateProps = [{\n tmplOption: \"menuItemTemplate\",\n render: \"menuItemRender\",\n component: \"menuItemComponent\",\n keyFn: \"menuItemKeyFn\"\n }, {\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return ToolbarItem;\n}(nested_option_1.default));\nexports.ToolbarItem = ToolbarItem;\nexports.default = DateBox;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.To = exports.Position = exports.Offset = exports.My = exports.From = exports.Collision = exports.BoundaryOffset = exports.At = exports.Animation = exports.DeferRendering = void 0;\nvar defer_rendering_1 = require(\"devextreme/ui/defer_rendering\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar DeferRendering = /** @class */ (function (_super) {\n __extends(DeferRendering, _super);\n function DeferRendering() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = defer_rendering_1.default;\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onInitialized\", \"onRendered\", \"onShown\"];\n _this._expectedChildren = {\n animation: { optionName: \"animation\", isCollectionItem: false }\n };\n return _this;\n }\n Object.defineProperty(DeferRendering.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return DeferRendering;\n}(component_1.Component));\nexports.DeferRendering = DeferRendering;\nDeferRendering.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n animation: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.number,\n PropTypes.string\n ]),\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onRendered: PropTypes.func,\n onShown: PropTypes.func,\n rtlEnabled: PropTypes.bool,\n showLoadIndicator: PropTypes.bool,\n staggerItemSelector: PropTypes.string,\n tabIndex: PropTypes.number,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Animation.OptionName = \"animation\";\n Animation.ExpectedChildren = {\n from: { optionName: \"from\", isCollectionItem: false },\n to: { optionName: \"to\", isCollectionItem: false }\n };\n return Animation;\n}(nested_option_1.default));\nexports.Animation = Animation;\nvar At = /** @class */ (function (_super) {\n __extends(At, _super);\n function At() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n At.OptionName = \"at\";\n return At;\n}(nested_option_1.default));\nexports.At = At;\nvar BoundaryOffset = /** @class */ (function (_super) {\n __extends(BoundaryOffset, _super);\n function BoundaryOffset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BoundaryOffset.OptionName = \"boundaryOffset\";\n return BoundaryOffset;\n}(nested_option_1.default));\nexports.BoundaryOffset = BoundaryOffset;\nvar Collision = /** @class */ (function (_super) {\n __extends(Collision, _super);\n function Collision() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Collision.OptionName = \"collision\";\n return Collision;\n}(nested_option_1.default));\nexports.Collision = Collision;\nvar From = /** @class */ (function (_super) {\n __extends(From, _super);\n function From() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n From.OptionName = \"from\";\n From.ExpectedChildren = {\n position: { optionName: \"position\", isCollectionItem: false }\n };\n return From;\n}(nested_option_1.default));\nexports.From = From;\nvar My = /** @class */ (function (_super) {\n __extends(My, _super);\n function My() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n My.OptionName = \"my\";\n return My;\n}(nested_option_1.default));\nexports.My = My;\nvar Offset = /** @class */ (function (_super) {\n __extends(Offset, _super);\n function Offset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Offset.OptionName = \"offset\";\n return Offset;\n}(nested_option_1.default));\nexports.Offset = Offset;\nvar Position = /** @class */ (function (_super) {\n __extends(Position, _super);\n function Position() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Position.OptionName = \"position\";\n Position.ExpectedChildren = {\n at: { optionName: \"at\", isCollectionItem: false },\n boundaryOffset: { optionName: \"boundaryOffset\", isCollectionItem: false },\n collision: { optionName: \"collision\", isCollectionItem: false },\n my: { optionName: \"my\", isCollectionItem: false },\n offset: { optionName: \"offset\", isCollectionItem: false }\n };\n return Position;\n}(nested_option_1.default));\nexports.Position = Position;\nvar To = /** @class */ (function (_super) {\n __extends(To, _super);\n function To() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n To.OptionName = \"to\";\n return To;\n}(nested_option_1.default));\nexports.To = To;\nexports.default = DeferRendering;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ZoomLevel = exports.ViewToolbar = exports.ToolboxGroup = exports.Toolbox = exports.TabGroup = exports.Tab = exports.PropertiesPanel = exports.PageSizeItem = exports.PageSize = exports.Nodes = exports.MainToolbar = exports.Item = exports.HistoryToolbar = exports.Group = exports.GridSize = exports.Export = exports.Editing = exports.Edges = exports.DefaultItemProperties = exports.CustomShape = exports.ContextToolbox = exports.ContextMenu = exports.ConnectionPoint = exports.CommandItem = exports.Command = exports.AutoLayout = exports.Diagram = void 0;\nvar diagram_1 = require(\"devextreme/ui/diagram\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Diagram = /** @class */ (function (_super) {\n __extends(Diagram, _super);\n function Diagram() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = diagram_1.default;\n _this.subscribableOptions = [\"gridSize\", \"gridSize.value\", \"pageSize\", \"pageSize.height\", \"pageSize.width\", \"zoomLevel\", \"zoomLevel.value\"];\n _this.independentEvents = [\"onContentReady\", \"onCustomCommand\", \"onDisposing\", \"onInitialized\", \"onItemClick\", \"onItemDblClick\", \"onRequestEditOperation\", \"onRequestLayoutUpdate\"];\n _this._defaults = {\n defaultGridSize: \"gridSize\",\n defaultPageSize: \"pageSize\",\n defaultZoomLevel: \"zoomLevel\"\n };\n _this._expectedChildren = {\n contextMenu: { optionName: \"contextMenu\", isCollectionItem: false },\n contextToolbox: { optionName: \"contextToolbox\", isCollectionItem: false },\n customShape: { optionName: \"customShapes\", isCollectionItem: true },\n defaultItemProperties: { optionName: \"defaultItemProperties\", isCollectionItem: false },\n edges: { optionName: \"edges\", isCollectionItem: false },\n editing: { optionName: \"editing\", isCollectionItem: false },\n export: { optionName: \"export\", isCollectionItem: false },\n gridSize: { optionName: \"gridSize\", isCollectionItem: false },\n historyToolbar: { optionName: \"historyToolbar\", isCollectionItem: false },\n mainToolbar: { optionName: \"mainToolbar\", isCollectionItem: false },\n nodes: { optionName: \"nodes\", isCollectionItem: false },\n pageSize: { optionName: \"pageSize\", isCollectionItem: false },\n propertiesPanel: { optionName: \"propertiesPanel\", isCollectionItem: false },\n toolbox: { optionName: \"toolbox\", isCollectionItem: false },\n viewToolbar: { optionName: \"viewToolbar\", isCollectionItem: false },\n zoomLevel: { optionName: \"zoomLevel\", isCollectionItem: false }\n };\n _this._templateProps = [{\n tmplOption: \"customShapeTemplate\",\n render: \"customShapeRender\",\n component: \"customShapeComponent\",\n keyFn: \"customShapeKeyFn\"\n }, {\n tmplOption: \"customShapeToolboxTemplate\",\n render: \"customShapeToolboxRender\",\n component: \"customShapeToolboxComponent\",\n keyFn: \"customShapeToolboxKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(Diagram.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Diagram;\n}(component_1.Component));\nexports.Diagram = Diagram;\nDiagram.propTypes = {\n autoZoomMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"fitContent\",\n \"fitWidth\",\n \"disabled\"\n ])\n ]),\n contextMenu: PropTypes.object,\n contextToolbox: PropTypes.object,\n customShapes: PropTypes.array,\n defaultItemProperties: PropTypes.object,\n disabled: PropTypes.bool,\n edges: PropTypes.object,\n editing: PropTypes.object,\n elementAttr: PropTypes.object,\n export: PropTypes.object,\n fullScreen: PropTypes.bool,\n gridSize: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.object\n ]),\n hasChanges: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n historyToolbar: PropTypes.object,\n mainToolbar: PropTypes.object,\n nodes: PropTypes.object,\n onContentReady: PropTypes.func,\n onCustomCommand: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onItemClick: PropTypes.func,\n onItemDblClick: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onRequestEditOperation: PropTypes.func,\n onRequestLayoutUpdate: PropTypes.func,\n onSelectionChanged: PropTypes.func,\n pageColor: PropTypes.string,\n pageOrientation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"portrait\",\n \"landscape\"\n ])\n ]),\n pageSize: PropTypes.object,\n propertiesPanel: PropTypes.object,\n readOnly: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n showGrid: PropTypes.bool,\n simpleView: PropTypes.bool,\n snapToGrid: PropTypes.bool,\n toolbox: PropTypes.object,\n units: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"in\",\n \"cm\",\n \"px\"\n ])\n ]),\n useNativeScrolling: PropTypes.bool,\n viewToolbar: PropTypes.object,\n viewUnits: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"in\",\n \"cm\",\n \"px\"\n ])\n ]),\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n zoomLevel: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.object\n ])\n};\nvar AutoLayout = /** @class */ (function (_super) {\n __extends(AutoLayout, _super);\n function AutoLayout() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AutoLayout.OptionName = \"autoLayout\";\n return AutoLayout;\n}(nested_option_1.default));\nexports.AutoLayout = AutoLayout;\nvar Command = /** @class */ (function (_super) {\n __extends(Command, _super);\n function Command() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Command.OptionName = \"commands\";\n Command.IsCollectionItem = true;\n return Command;\n}(nested_option_1.default));\nexports.Command = Command;\nvar CommandItem = /** @class */ (function (_super) {\n __extends(CommandItem, _super);\n function CommandItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CommandItem.OptionName = \"items\";\n CommandItem.IsCollectionItem = true;\n return CommandItem;\n}(nested_option_1.default));\nexports.CommandItem = CommandItem;\nvar ConnectionPoint = /** @class */ (function (_super) {\n __extends(ConnectionPoint, _super);\n function ConnectionPoint() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ConnectionPoint.OptionName = \"connectionPoints\";\n ConnectionPoint.IsCollectionItem = true;\n return ConnectionPoint;\n}(nested_option_1.default));\nexports.ConnectionPoint = ConnectionPoint;\nvar ContextMenu = /** @class */ (function (_super) {\n __extends(ContextMenu, _super);\n function ContextMenu() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ContextMenu.OptionName = \"contextMenu\";\n ContextMenu.ExpectedChildren = {\n command: { optionName: \"commands\", isCollectionItem: true }\n };\n return ContextMenu;\n}(nested_option_1.default));\nexports.ContextMenu = ContextMenu;\nvar ContextToolbox = /** @class */ (function (_super) {\n __extends(ContextToolbox, _super);\n function ContextToolbox() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ContextToolbox.OptionName = \"contextToolbox\";\n return ContextToolbox;\n}(nested_option_1.default));\nexports.ContextToolbox = ContextToolbox;\nvar CustomShape = /** @class */ (function (_super) {\n __extends(CustomShape, _super);\n function CustomShape() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CustomShape.OptionName = \"customShapes\";\n CustomShape.IsCollectionItem = true;\n CustomShape.ExpectedChildren = {\n connectionPoint: { optionName: \"connectionPoints\", isCollectionItem: true }\n };\n CustomShape.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }, {\n tmplOption: \"toolboxTemplate\",\n render: \"toolboxRender\",\n component: \"toolboxComponent\",\n keyFn: \"toolboxKeyFn\"\n }];\n return CustomShape;\n}(nested_option_1.default));\nexports.CustomShape = CustomShape;\nvar DefaultItemProperties = /** @class */ (function (_super) {\n __extends(DefaultItemProperties, _super);\n function DefaultItemProperties() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DefaultItemProperties.OptionName = \"defaultItemProperties\";\n return DefaultItemProperties;\n}(nested_option_1.default));\nexports.DefaultItemProperties = DefaultItemProperties;\nvar Edges = /** @class */ (function (_super) {\n __extends(Edges, _super);\n function Edges() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Edges.OptionName = \"edges\";\n return Edges;\n}(nested_option_1.default));\nexports.Edges = Edges;\nvar Editing = /** @class */ (function (_super) {\n __extends(Editing, _super);\n function Editing() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Editing.OptionName = \"editing\";\n return Editing;\n}(nested_option_1.default));\nexports.Editing = Editing;\nvar Export = /** @class */ (function (_super) {\n __extends(Export, _super);\n function Export() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Export.OptionName = \"export\";\n return Export;\n}(nested_option_1.default));\nexports.Export = Export;\nvar GridSize = /** @class */ (function (_super) {\n __extends(GridSize, _super);\n function GridSize() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GridSize.OptionName = \"gridSize\";\n GridSize.DefaultsProps = {\n defaultValue: \"value\"\n };\n return GridSize;\n}(nested_option_1.default));\nexports.GridSize = GridSize;\nvar Group = /** @class */ (function (_super) {\n __extends(Group, _super);\n function Group() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Group.OptionName = \"groups\";\n Group.IsCollectionItem = true;\n return Group;\n}(nested_option_1.default));\nexports.Group = Group;\nvar HistoryToolbar = /** @class */ (function (_super) {\n __extends(HistoryToolbar, _super);\n function HistoryToolbar() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HistoryToolbar.OptionName = \"historyToolbar\";\n HistoryToolbar.ExpectedChildren = {\n command: { optionName: \"commands\", isCollectionItem: true }\n };\n return HistoryToolbar;\n}(nested_option_1.default));\nexports.HistoryToolbar = HistoryToolbar;\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nvar MainToolbar = /** @class */ (function (_super) {\n __extends(MainToolbar, _super);\n function MainToolbar() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MainToolbar.OptionName = \"mainToolbar\";\n MainToolbar.ExpectedChildren = {\n command: { optionName: \"commands\", isCollectionItem: true }\n };\n return MainToolbar;\n}(nested_option_1.default));\nexports.MainToolbar = MainToolbar;\nvar Nodes = /** @class */ (function (_super) {\n __extends(Nodes, _super);\n function Nodes() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Nodes.OptionName = \"nodes\";\n Nodes.ExpectedChildren = {\n autoLayout: { optionName: \"autoLayout\", isCollectionItem: false }\n };\n return Nodes;\n}(nested_option_1.default));\nexports.Nodes = Nodes;\nvar PageSize = /** @class */ (function (_super) {\n __extends(PageSize, _super);\n function PageSize() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PageSize.OptionName = \"pageSize\";\n PageSize.DefaultsProps = {\n defaultHeight: \"height\",\n defaultWidth: \"width\"\n };\n PageSize.ExpectedChildren = {\n item: { optionName: \"items\", isCollectionItem: true },\n pageSizeItem: { optionName: \"items\", isCollectionItem: true }\n };\n return PageSize;\n}(nested_option_1.default));\nexports.PageSize = PageSize;\nvar PageSizeItem = /** @class */ (function (_super) {\n __extends(PageSizeItem, _super);\n function PageSizeItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PageSizeItem.OptionName = \"items\";\n PageSizeItem.IsCollectionItem = true;\n return PageSizeItem;\n}(nested_option_1.default));\nexports.PageSizeItem = PageSizeItem;\nvar PropertiesPanel = /** @class */ (function (_super) {\n __extends(PropertiesPanel, _super);\n function PropertiesPanel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PropertiesPanel.OptionName = \"propertiesPanel\";\n PropertiesPanel.ExpectedChildren = {\n tab: { optionName: \"tabs\", isCollectionItem: true }\n };\n return PropertiesPanel;\n}(nested_option_1.default));\nexports.PropertiesPanel = PropertiesPanel;\nvar Tab = /** @class */ (function (_super) {\n __extends(Tab, _super);\n function Tab() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Tab.OptionName = \"tabs\";\n Tab.IsCollectionItem = true;\n Tab.ExpectedChildren = {\n command: { optionName: \"commands\", isCollectionItem: true },\n group: { optionName: \"groups\", isCollectionItem: true },\n tabGroup: { optionName: \"groups\", isCollectionItem: true }\n };\n return Tab;\n}(nested_option_1.default));\nexports.Tab = Tab;\nvar TabGroup = /** @class */ (function (_super) {\n __extends(TabGroup, _super);\n function TabGroup() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TabGroup.OptionName = \"groups\";\n TabGroup.IsCollectionItem = true;\n TabGroup.ExpectedChildren = {\n command: { optionName: \"commands\", isCollectionItem: true }\n };\n return TabGroup;\n}(nested_option_1.default));\nexports.TabGroup = TabGroup;\nvar Toolbox = /** @class */ (function (_super) {\n __extends(Toolbox, _super);\n function Toolbox() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Toolbox.OptionName = \"toolbox\";\n Toolbox.ExpectedChildren = {\n group: { optionName: \"groups\", isCollectionItem: true },\n toolboxGroup: { optionName: \"groups\", isCollectionItem: true }\n };\n return Toolbox;\n}(nested_option_1.default));\nexports.Toolbox = Toolbox;\nvar ToolboxGroup = /** @class */ (function (_super) {\n __extends(ToolboxGroup, _super);\n function ToolboxGroup() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ToolboxGroup.OptionName = \"groups\";\n ToolboxGroup.IsCollectionItem = true;\n return ToolboxGroup;\n}(nested_option_1.default));\nexports.ToolboxGroup = ToolboxGroup;\nvar ViewToolbar = /** @class */ (function (_super) {\n __extends(ViewToolbar, _super);\n function ViewToolbar() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ViewToolbar.OptionName = \"viewToolbar\";\n ViewToolbar.ExpectedChildren = {\n command: { optionName: \"commands\", isCollectionItem: true }\n };\n return ViewToolbar;\n}(nested_option_1.default));\nexports.ViewToolbar = ViewToolbar;\nvar ZoomLevel = /** @class */ (function (_super) {\n __extends(ZoomLevel, _super);\n function ZoomLevel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ZoomLevel.OptionName = \"zoomLevel\";\n ZoomLevel.DefaultsProps = {\n defaultValue: \"value\"\n };\n return ZoomLevel;\n}(nested_option_1.default));\nexports.ZoomLevel = ZoomLevel;\nexports.default = Diagram;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CursorOffset = exports.Draggable = void 0;\nvar draggable_1 = require(\"devextreme/ui/draggable\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Draggable = /** @class */ (function (_super) {\n __extends(Draggable, _super);\n function Draggable() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = draggable_1.default;\n _this.independentEvents = [\"onDisposing\", \"onDragEnd\", \"onDragMove\", \"onDragStart\", \"onInitialized\"];\n _this._expectedChildren = {\n cursorOffset: { optionName: \"cursorOffset\", isCollectionItem: false }\n };\n _this._templateProps = [{\n tmplOption: \"dragTemplate\",\n render: \"dragRender\",\n component: \"dragComponent\",\n keyFn: \"dragKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(Draggable.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Draggable;\n}(component_1.Component));\nexports.Draggable = Draggable;\nDraggable.propTypes = {\n autoScroll: PropTypes.bool,\n clone: PropTypes.bool,\n cursorOffset: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string\n ]),\n dragDirection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"both\",\n \"horizontal\",\n \"vertical\"\n ])\n ]),\n elementAttr: PropTypes.object,\n group: PropTypes.string,\n handle: PropTypes.string,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n onDisposing: PropTypes.func,\n onDragEnd: PropTypes.func,\n onDragMove: PropTypes.func,\n onDragStart: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n rtlEnabled: PropTypes.bool,\n scrollSensitivity: PropTypes.number,\n scrollSpeed: PropTypes.number,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar CursorOffset = /** @class */ (function (_super) {\n __extends(CursorOffset, _super);\n function CursorOffset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CursorOffset.OptionName = \"cursorOffset\";\n return CursorOffset;\n}(nested_option_1.default));\nexports.CursorOffset = CursorOffset;\nexports.default = Draggable;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Drawer = void 0;\nvar drawer_1 = require(\"devextreme/ui/drawer\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar Drawer = /** @class */ (function (_super) {\n __extends(Drawer, _super);\n function Drawer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = drawer_1.default;\n _this.subscribableOptions = [\"opened\"];\n _this.independentEvents = [\"onDisposing\", \"onInitialized\"];\n _this._defaults = {\n defaultOpened: \"opened\"\n };\n _this._templateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return _this;\n }\n Object.defineProperty(Drawer.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Drawer;\n}(component_1.Component));\nexports.Drawer = Drawer;\nDrawer.propTypes = {\n activeStateEnabled: PropTypes.bool,\n animationDuration: PropTypes.number,\n animationEnabled: PropTypes.bool,\n closeOnOutsideClick: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.func\n ]),\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n maxSize: PropTypes.number,\n minSize: PropTypes.number,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n opened: PropTypes.bool,\n openedStateMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"overlap\",\n \"shrink\",\n \"push\"\n ])\n ]),\n position: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"left\",\n \"right\",\n \"top\",\n \"bottom\",\n \"before\",\n \"after\"\n ])\n ]),\n revealMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"slide\",\n \"expand\"\n ])\n ]),\n rtlEnabled: PropTypes.bool,\n shading: PropTypes.bool,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nexports.default = Drawer;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ToolbarItem = exports.To = exports.Show = exports.Position = exports.Options = exports.Offset = exports.My = exports.Hide = exports.From = exports.DropDownOptions = exports.Collision = exports.Button = exports.BoundaryOffset = exports.At = exports.Animation = exports.DropDownBox = void 0;\nvar drop_down_box_1 = require(\"devextreme/ui/drop_down_box\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar DropDownBox = /** @class */ (function (_super) {\n __extends(DropDownBox, _super);\n function DropDownBox() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = drop_down_box_1.default;\n _this.subscribableOptions = [\"opened\"];\n _this.independentEvents = [\"onChange\", \"onClosed\", \"onCopy\", \"onCut\", \"onDisposing\", \"onEnterKey\", \"onFocusIn\", \"onFocusOut\", \"onInitialized\", \"onInput\", \"onKeyDown\", \"onKeyUp\", \"onOpened\", \"onPaste\", \"onValueChanged\"];\n _this._defaults = {\n defaultOpened: \"opened\"\n };\n _this._expectedChildren = {\n button: { optionName: \"buttons\", isCollectionItem: true },\n dropDownOptions: { optionName: \"dropDownOptions\", isCollectionItem: false }\n };\n _this._templateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }, {\n tmplOption: \"dropDownButtonTemplate\",\n render: \"dropDownButtonRender\",\n component: \"dropDownButtonComponent\",\n keyFn: \"dropDownButtonKeyFn\"\n }, {\n tmplOption: \"fieldTemplate\",\n render: \"fieldRender\",\n component: \"fieldComponent\",\n keyFn: \"fieldKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(DropDownBox.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return DropDownBox;\n}(component_1.Component));\nexports.DropDownBox = DropDownBox;\nDropDownBox.propTypes = {\n acceptCustomValue: PropTypes.bool,\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n buttons: PropTypes.array,\n deferRendering: PropTypes.bool,\n disabled: PropTypes.bool,\n displayExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n displayValueFormatter: PropTypes.func,\n dropDownOptions: PropTypes.object,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n isValid: PropTypes.bool,\n items: PropTypes.array,\n label: PropTypes.string,\n labelMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"static\",\n \"floating\",\n \"hidden\"\n ])\n ]),\n maxLength: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string\n ]),\n name: PropTypes.string,\n onChange: PropTypes.func,\n onClosed: PropTypes.func,\n onCopy: PropTypes.func,\n onCut: PropTypes.func,\n onDisposing: PropTypes.func,\n onEnterKey: PropTypes.func,\n onFocusIn: PropTypes.func,\n onFocusOut: PropTypes.func,\n onInitialized: PropTypes.func,\n onInput: PropTypes.func,\n onKeyDown: PropTypes.func,\n onKeyUp: PropTypes.func,\n onOpened: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onPaste: PropTypes.func,\n onValueChanged: PropTypes.func,\n opened: PropTypes.bool,\n openOnFieldClick: PropTypes.bool,\n placeholder: PropTypes.string,\n readOnly: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n showClearButton: PropTypes.bool,\n showDropDownButton: PropTypes.bool,\n stylingMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"outlined\",\n \"underlined\",\n \"filled\"\n ])\n ]),\n tabIndex: PropTypes.number,\n text: PropTypes.string,\n validationErrors: PropTypes.array,\n validationMessageMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"always\",\n \"auto\"\n ])\n ]),\n validationMessagePosition: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"bottom\",\n \"left\",\n \"right\",\n \"top\",\n \"auto\"\n ])\n ]),\n validationStatus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"valid\",\n \"invalid\",\n \"pending\"\n ])\n ]),\n valueChangeEvent: PropTypes.string,\n valueExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Animation.OptionName = \"animation\";\n Animation.ExpectedChildren = {\n hide: { optionName: \"hide\", isCollectionItem: false },\n show: { optionName: \"show\", isCollectionItem: false }\n };\n return Animation;\n}(nested_option_1.default));\nexports.Animation = Animation;\nvar At = /** @class */ (function (_super) {\n __extends(At, _super);\n function At() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n At.OptionName = \"at\";\n return At;\n}(nested_option_1.default));\nexports.At = At;\nvar BoundaryOffset = /** @class */ (function (_super) {\n __extends(BoundaryOffset, _super);\n function BoundaryOffset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BoundaryOffset.OptionName = \"boundaryOffset\";\n return BoundaryOffset;\n}(nested_option_1.default));\nexports.BoundaryOffset = BoundaryOffset;\nvar Button = /** @class */ (function (_super) {\n __extends(Button, _super);\n function Button() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Button.OptionName = \"buttons\";\n Button.IsCollectionItem = true;\n Button.ExpectedChildren = {\n options: { optionName: \"options\", isCollectionItem: false }\n };\n return Button;\n}(nested_option_1.default));\nexports.Button = Button;\nvar Collision = /** @class */ (function (_super) {\n __extends(Collision, _super);\n function Collision() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Collision.OptionName = \"collision\";\n return Collision;\n}(nested_option_1.default));\nexports.Collision = Collision;\nvar DropDownOptions = /** @class */ (function (_super) {\n __extends(DropDownOptions, _super);\n function DropDownOptions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DropDownOptions.OptionName = \"dropDownOptions\";\n DropDownOptions.DefaultsProps = {\n defaultHeight: \"height\",\n defaultPosition: \"position\",\n defaultVisible: \"visible\",\n defaultWidth: \"width\"\n };\n DropDownOptions.ExpectedChildren = {\n animation: { optionName: \"animation\", isCollectionItem: false },\n position: { optionName: \"position\", isCollectionItem: false },\n toolbarItem: { optionName: \"toolbarItems\", isCollectionItem: true }\n };\n DropDownOptions.TemplateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }, {\n tmplOption: \"titleTemplate\",\n render: \"titleRender\",\n component: \"titleComponent\",\n keyFn: \"titleKeyFn\"\n }];\n return DropDownOptions;\n}(nested_option_1.default));\nexports.DropDownOptions = DropDownOptions;\nvar From = /** @class */ (function (_super) {\n __extends(From, _super);\n function From() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n From.OptionName = \"from\";\n From.ExpectedChildren = {\n position: { optionName: \"position\", isCollectionItem: false }\n };\n return From;\n}(nested_option_1.default));\nexports.From = From;\nvar Hide = /** @class */ (function (_super) {\n __extends(Hide, _super);\n function Hide() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Hide.OptionName = \"hide\";\n Hide.ExpectedChildren = {\n from: { optionName: \"from\", isCollectionItem: false },\n to: { optionName: \"to\", isCollectionItem: false }\n };\n return Hide;\n}(nested_option_1.default));\nexports.Hide = Hide;\nvar My = /** @class */ (function (_super) {\n __extends(My, _super);\n function My() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n My.OptionName = \"my\";\n return My;\n}(nested_option_1.default));\nexports.My = My;\nvar Offset = /** @class */ (function (_super) {\n __extends(Offset, _super);\n function Offset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Offset.OptionName = \"offset\";\n return Offset;\n}(nested_option_1.default));\nexports.Offset = Offset;\nvar Options = /** @class */ (function (_super) {\n __extends(Options, _super);\n function Options() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Options.OptionName = \"options\";\n Options.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Options;\n}(nested_option_1.default));\nexports.Options = Options;\nvar Position = /** @class */ (function (_super) {\n __extends(Position, _super);\n function Position() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Position.OptionName = \"position\";\n return Position;\n}(nested_option_1.default));\nexports.Position = Position;\nvar Show = /** @class */ (function (_super) {\n __extends(Show, _super);\n function Show() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Show.OptionName = \"show\";\n return Show;\n}(nested_option_1.default));\nexports.Show = Show;\nvar To = /** @class */ (function (_super) {\n __extends(To, _super);\n function To() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n To.OptionName = \"to\";\n return To;\n}(nested_option_1.default));\nexports.To = To;\nvar ToolbarItem = /** @class */ (function (_super) {\n __extends(ToolbarItem, _super);\n function ToolbarItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ToolbarItem.OptionName = \"toolbarItems\";\n ToolbarItem.IsCollectionItem = true;\n ToolbarItem.TemplateProps = [{\n tmplOption: \"menuItemTemplate\",\n render: \"menuItemRender\",\n component: \"menuItemComponent\",\n keyFn: \"menuItemKeyFn\"\n }, {\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return ToolbarItem;\n}(nested_option_1.default));\nexports.ToolbarItem = ToolbarItem;\nexports.default = DropDownBox;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ToolbarItem = exports.To = exports.Show = exports.Position = exports.Offset = exports.My = exports.Item = exports.Hide = exports.From = exports.DropDownOptions = exports.Collision = exports.BoundaryOffset = exports.At = exports.Animation = exports.DropDownButton = void 0;\nvar drop_down_button_1 = require(\"devextreme/ui/drop_down_button\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar DropDownButton = /** @class */ (function (_super) {\n __extends(DropDownButton, _super);\n function DropDownButton() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = drop_down_button_1.default;\n _this.independentEvents = [\"onButtonClick\", \"onContentReady\", \"onDisposing\", \"onInitialized\", \"onItemClick\"];\n _this._expectedChildren = {\n dropDownOptions: { optionName: \"dropDownOptions\", isCollectionItem: false },\n item: { optionName: \"items\", isCollectionItem: true }\n };\n _this._templateProps = [{\n tmplOption: \"dropDownContentTemplate\",\n render: \"dropDownContentRender\",\n component: \"dropDownContentComponent\",\n keyFn: \"dropDownContentKeyFn\"\n }, {\n tmplOption: \"itemTemplate\",\n render: \"itemRender\",\n component: \"itemComponent\",\n keyFn: \"itemKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(DropDownButton.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return DropDownButton;\n}(component_1.Component));\nexports.DropDownButton = DropDownButton;\nDropDownButton.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n deferRendering: PropTypes.bool,\n disabled: PropTypes.bool,\n displayExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n dropDownOptions: PropTypes.object,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n icon: PropTypes.string,\n items: PropTypes.array,\n keyExpr: PropTypes.string,\n noDataText: PropTypes.string,\n onButtonClick: PropTypes.func,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onItemClick: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onSelectionChanged: PropTypes.func,\n opened: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n selectedItemKey: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string\n ]),\n showArrowIcon: PropTypes.bool,\n splitButton: PropTypes.bool,\n stylingMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"text\",\n \"outlined\",\n \"contained\"\n ])\n ]),\n tabIndex: PropTypes.number,\n text: PropTypes.string,\n useItemTextAsTitle: PropTypes.bool,\n useSelectMode: PropTypes.bool,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n wrapItemText: PropTypes.bool\n};\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Animation.OptionName = \"animation\";\n Animation.ExpectedChildren = {\n hide: { optionName: \"hide\", isCollectionItem: false },\n show: { optionName: \"show\", isCollectionItem: false }\n };\n return Animation;\n}(nested_option_1.default));\nexports.Animation = Animation;\nvar At = /** @class */ (function (_super) {\n __extends(At, _super);\n function At() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n At.OptionName = \"at\";\n return At;\n}(nested_option_1.default));\nexports.At = At;\nvar BoundaryOffset = /** @class */ (function (_super) {\n __extends(BoundaryOffset, _super);\n function BoundaryOffset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BoundaryOffset.OptionName = \"boundaryOffset\";\n return BoundaryOffset;\n}(nested_option_1.default));\nexports.BoundaryOffset = BoundaryOffset;\nvar Collision = /** @class */ (function (_super) {\n __extends(Collision, _super);\n function Collision() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Collision.OptionName = \"collision\";\n return Collision;\n}(nested_option_1.default));\nexports.Collision = Collision;\nvar DropDownOptions = /** @class */ (function (_super) {\n __extends(DropDownOptions, _super);\n function DropDownOptions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DropDownOptions.OptionName = \"dropDownOptions\";\n DropDownOptions.DefaultsProps = {\n defaultHeight: \"height\",\n defaultPosition: \"position\",\n defaultVisible: \"visible\",\n defaultWidth: \"width\"\n };\n DropDownOptions.ExpectedChildren = {\n animation: { optionName: \"animation\", isCollectionItem: false },\n position: { optionName: \"position\", isCollectionItem: false },\n toolbarItem: { optionName: \"toolbarItems\", isCollectionItem: true }\n };\n DropDownOptions.TemplateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }, {\n tmplOption: \"titleTemplate\",\n render: \"titleRender\",\n component: \"titleComponent\",\n keyFn: \"titleKeyFn\"\n }];\n return DropDownOptions;\n}(nested_option_1.default));\nexports.DropDownOptions = DropDownOptions;\nvar From = /** @class */ (function (_super) {\n __extends(From, _super);\n function From() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n From.OptionName = \"from\";\n From.ExpectedChildren = {\n position: { optionName: \"position\", isCollectionItem: false }\n };\n return From;\n}(nested_option_1.default));\nexports.From = From;\nvar Hide = /** @class */ (function (_super) {\n __extends(Hide, _super);\n function Hide() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Hide.OptionName = \"hide\";\n Hide.ExpectedChildren = {\n from: { optionName: \"from\", isCollectionItem: false },\n to: { optionName: \"to\", isCollectionItem: false }\n };\n return Hide;\n}(nested_option_1.default));\nexports.Hide = Hide;\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nvar My = /** @class */ (function (_super) {\n __extends(My, _super);\n function My() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n My.OptionName = \"my\";\n return My;\n}(nested_option_1.default));\nexports.My = My;\nvar Offset = /** @class */ (function (_super) {\n __extends(Offset, _super);\n function Offset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Offset.OptionName = \"offset\";\n return Offset;\n}(nested_option_1.default));\nexports.Offset = Offset;\nvar Position = /** @class */ (function (_super) {\n __extends(Position, _super);\n function Position() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Position.OptionName = \"position\";\n return Position;\n}(nested_option_1.default));\nexports.Position = Position;\nvar Show = /** @class */ (function (_super) {\n __extends(Show, _super);\n function Show() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Show.OptionName = \"show\";\n return Show;\n}(nested_option_1.default));\nexports.Show = Show;\nvar To = /** @class */ (function (_super) {\n __extends(To, _super);\n function To() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n To.OptionName = \"to\";\n return To;\n}(nested_option_1.default));\nexports.To = To;\nvar ToolbarItem = /** @class */ (function (_super) {\n __extends(ToolbarItem, _super);\n function ToolbarItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ToolbarItem.OptionName = \"toolbarItems\";\n ToolbarItem.IsCollectionItem = true;\n ToolbarItem.TemplateProps = [{\n tmplOption: \"menuItemTemplate\",\n render: \"menuItemRender\",\n component: \"menuItemComponent\",\n keyFn: \"menuItemKeyFn\"\n }, {\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return ToolbarItem;\n}(nested_option_1.default));\nexports.ToolbarItem = ToolbarItem;\nexports.default = DropDownButton;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Upload = exports.ToolbarItem = exports.Toolbar = exports.Permissions = exports.Notifications = exports.ItemView = exports.Item = exports.FileSelectionItem = exports.Details = exports.ContextMenuItem = exports.ContextMenu = exports.Column = exports.FileManager = void 0;\nvar file_manager_1 = require(\"devextreme/ui/file_manager\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar FileManager = /** @class */ (function (_super) {\n __extends(FileManager, _super);\n function FileManager() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = file_manager_1.default;\n _this.independentEvents = [\"onContentReady\", \"onContextMenuItemClick\", \"onContextMenuShowing\", \"onDirectoryCreated\", \"onDirectoryCreating\", \"onDisposing\", \"onErrorOccurred\", \"onFileUploaded\", \"onFileUploading\", \"onInitialized\", \"onItemCopied\", \"onItemCopying\", \"onItemDeleted\", \"onItemDeleting\", \"onItemDownloading\", \"onItemMoved\", \"onItemMoving\", \"onItemRenamed\", \"onItemRenaming\", \"onSelectedFileOpened\", \"onToolbarItemClick\"];\n _this._expectedChildren = {\n contextMenu: { optionName: \"contextMenu\", isCollectionItem: false },\n itemView: { optionName: \"itemView\", isCollectionItem: false },\n notifications: { optionName: \"notifications\", isCollectionItem: false },\n permissions: { optionName: \"permissions\", isCollectionItem: false },\n toolbar: { optionName: \"toolbar\", isCollectionItem: false },\n upload: { optionName: \"upload\", isCollectionItem: false }\n };\n return _this;\n }\n Object.defineProperty(FileManager.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return FileManager;\n}(component_1.Component));\nexports.FileManager = FileManager;\nFileManager.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n allowedFileExtensions: PropTypes.array,\n contextMenu: PropTypes.object,\n currentPath: PropTypes.string,\n currentPathKeys: PropTypes.array,\n customizeDetailColumns: PropTypes.func,\n customizeThumbnail: PropTypes.func,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n focusedItemKey: PropTypes.string,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n itemView: PropTypes.object,\n notifications: PropTypes.object,\n onContentReady: PropTypes.func,\n onContextMenuItemClick: PropTypes.func,\n onContextMenuShowing: PropTypes.func,\n onCurrentDirectoryChanged: PropTypes.func,\n onDirectoryCreated: PropTypes.func,\n onDirectoryCreating: PropTypes.func,\n onDisposing: PropTypes.func,\n onErrorOccurred: PropTypes.func,\n onFileUploaded: PropTypes.func,\n onFileUploading: PropTypes.func,\n onFocusedItemChanged: PropTypes.func,\n onInitialized: PropTypes.func,\n onItemCopied: PropTypes.func,\n onItemCopying: PropTypes.func,\n onItemDeleted: PropTypes.func,\n onItemDeleting: PropTypes.func,\n onItemDownloading: PropTypes.func,\n onItemMoved: PropTypes.func,\n onItemMoving: PropTypes.func,\n onItemRenamed: PropTypes.func,\n onItemRenaming: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onSelectedFileOpened: PropTypes.func,\n onSelectionChanged: PropTypes.func,\n onToolbarItemClick: PropTypes.func,\n permissions: PropTypes.object,\n rootFolderName: PropTypes.string,\n rtlEnabled: PropTypes.bool,\n selectedItemKeys: PropTypes.array,\n selectionMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"single\",\n \"multiple\"\n ])\n ]),\n tabIndex: PropTypes.number,\n toolbar: PropTypes.object,\n upload: PropTypes.object,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Column = /** @class */ (function (_super) {\n __extends(Column, _super);\n function Column() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Column.OptionName = \"columns\";\n Column.IsCollectionItem = true;\n return Column;\n}(nested_option_1.default));\nexports.Column = Column;\nvar ContextMenu = /** @class */ (function (_super) {\n __extends(ContextMenu, _super);\n function ContextMenu() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ContextMenu.OptionName = \"contextMenu\";\n ContextMenu.ExpectedChildren = {\n contextMenuItem: { optionName: \"items\", isCollectionItem: true },\n item: { optionName: \"items\", isCollectionItem: true }\n };\n return ContextMenu;\n}(nested_option_1.default));\nexports.ContextMenu = ContextMenu;\nvar ContextMenuItem = /** @class */ (function (_super) {\n __extends(ContextMenuItem, _super);\n function ContextMenuItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ContextMenuItem.OptionName = \"items\";\n ContextMenuItem.IsCollectionItem = true;\n ContextMenuItem.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return ContextMenuItem;\n}(nested_option_1.default));\nexports.ContextMenuItem = ContextMenuItem;\nvar Details = /** @class */ (function (_super) {\n __extends(Details, _super);\n function Details() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Details.OptionName = \"details\";\n Details.ExpectedChildren = {\n column: { optionName: \"columns\", isCollectionItem: true }\n };\n return Details;\n}(nested_option_1.default));\nexports.Details = Details;\nvar FileSelectionItem = /** @class */ (function (_super) {\n __extends(FileSelectionItem, _super);\n function FileSelectionItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FileSelectionItem.OptionName = \"fileSelectionItems\";\n FileSelectionItem.IsCollectionItem = true;\n FileSelectionItem.TemplateProps = [{\n tmplOption: \"menuItemTemplate\",\n render: \"menuItemRender\",\n component: \"menuItemComponent\",\n keyFn: \"menuItemKeyFn\"\n }, {\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return FileSelectionItem;\n}(nested_option_1.default));\nexports.FileSelectionItem = FileSelectionItem;\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }, {\n tmplOption: \"menuItemTemplate\",\n render: \"menuItemRender\",\n component: \"menuItemComponent\",\n keyFn: \"menuItemKeyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nvar ItemView = /** @class */ (function (_super) {\n __extends(ItemView, _super);\n function ItemView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ItemView.OptionName = \"itemView\";\n ItemView.ExpectedChildren = {\n details: { optionName: \"details\", isCollectionItem: false }\n };\n return ItemView;\n}(nested_option_1.default));\nexports.ItemView = ItemView;\nvar Notifications = /** @class */ (function (_super) {\n __extends(Notifications, _super);\n function Notifications() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Notifications.OptionName = \"notifications\";\n return Notifications;\n}(nested_option_1.default));\nexports.Notifications = Notifications;\nvar Permissions = /** @class */ (function (_super) {\n __extends(Permissions, _super);\n function Permissions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Permissions.OptionName = \"permissions\";\n return Permissions;\n}(nested_option_1.default));\nexports.Permissions = Permissions;\nvar Toolbar = /** @class */ (function (_super) {\n __extends(Toolbar, _super);\n function Toolbar() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Toolbar.OptionName = \"toolbar\";\n Toolbar.ExpectedChildren = {\n fileSelectionItem: { optionName: \"fileSelectionItems\", isCollectionItem: true },\n item: { optionName: \"items\", isCollectionItem: true },\n toolbarItem: { optionName: \"items\", isCollectionItem: true }\n };\n return Toolbar;\n}(nested_option_1.default));\nexports.Toolbar = Toolbar;\nvar ToolbarItem = /** @class */ (function (_super) {\n __extends(ToolbarItem, _super);\n function ToolbarItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ToolbarItem.OptionName = \"items\";\n ToolbarItem.IsCollectionItem = true;\n ToolbarItem.TemplateProps = [{\n tmplOption: \"menuItemTemplate\",\n render: \"menuItemRender\",\n component: \"menuItemComponent\",\n keyFn: \"menuItemKeyFn\"\n }, {\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return ToolbarItem;\n}(nested_option_1.default));\nexports.ToolbarItem = ToolbarItem;\nvar Upload = /** @class */ (function (_super) {\n __extends(Upload, _super);\n function Upload() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Upload.OptionName = \"upload\";\n return Upload;\n}(nested_option_1.default));\nexports.Upload = Upload;\nexports.default = FileManager;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FileUploader = void 0;\nvar file_uploader_1 = require(\"devextreme/ui/file_uploader\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar FileUploader = /** @class */ (function (_super) {\n __extends(FileUploader, _super);\n function FileUploader() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = file_uploader_1.default;\n _this.subscribableOptions = [\"value\"];\n _this.independentEvents = [\"onBeforeSend\", \"onContentReady\", \"onDisposing\", \"onDropZoneEnter\", \"onDropZoneLeave\", \"onFilesUploaded\", \"onInitialized\", \"onProgress\", \"onUploadAborted\", \"onUploaded\", \"onUploadError\", \"onUploadStarted\", \"onValueChanged\"];\n _this._defaults = {\n defaultValue: \"value\"\n };\n return _this;\n }\n Object.defineProperty(FileUploader.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return FileUploader;\n}(component_1.Component));\nexports.FileUploader = FileUploader;\nFileUploader.propTypes = {\n abortUpload: PropTypes.func,\n accept: PropTypes.string,\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n allowCanceling: PropTypes.bool,\n allowedFileExtensions: PropTypes.array,\n chunkSize: PropTypes.number,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n invalidFileExtensionMessage: PropTypes.string,\n invalidMaxFileSizeMessage: PropTypes.string,\n invalidMinFileSizeMessage: PropTypes.string,\n isValid: PropTypes.bool,\n labelText: PropTypes.string,\n maxFileSize: PropTypes.number,\n minFileSize: PropTypes.number,\n multiple: PropTypes.bool,\n name: PropTypes.string,\n onBeforeSend: PropTypes.func,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onDropZoneEnter: PropTypes.func,\n onDropZoneLeave: PropTypes.func,\n onFilesUploaded: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onProgress: PropTypes.func,\n onUploadAborted: PropTypes.func,\n onUploaded: PropTypes.func,\n onUploadError: PropTypes.func,\n onUploadStarted: PropTypes.func,\n onValueChanged: PropTypes.func,\n progress: PropTypes.number,\n readOnly: PropTypes.bool,\n readyToUploadMessage: PropTypes.string,\n rtlEnabled: PropTypes.bool,\n selectButtonText: PropTypes.string,\n showFileList: PropTypes.bool,\n tabIndex: PropTypes.number,\n uploadAbortedMessage: PropTypes.string,\n uploadButtonText: PropTypes.string,\n uploadChunk: PropTypes.func,\n uploadedMessage: PropTypes.string,\n uploadFailedMessage: PropTypes.string,\n uploadFile: PropTypes.func,\n uploadMethod: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"POST\",\n \"PUT\"\n ])\n ]),\n uploadMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"instantly\",\n \"useButtons\",\n \"useForm\"\n ])\n ]),\n uploadUrl: PropTypes.string,\n validationErrors: PropTypes.array,\n validationStatus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"valid\",\n \"invalid\",\n \"pending\"\n ])\n ]),\n value: PropTypes.array,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nexports.default = FileUploader;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Lookup = exports.GroupOperationDescriptions = exports.Format = exports.FilterOperationDescriptions = exports.Field = exports.CustomOperation = exports.FilterBuilder = void 0;\nvar filter_builder_1 = require(\"devextreme/ui/filter_builder\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar FilterBuilder = /** @class */ (function (_super) {\n __extends(FilterBuilder, _super);\n function FilterBuilder() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = filter_builder_1.default;\n _this.useRequestAnimationFrameFlag = true;\n _this.subscribableOptions = [\"value\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onEditorPrepared\", \"onEditorPreparing\", \"onInitialized\", \"onValueChanged\"];\n _this._defaults = {\n defaultValue: \"value\"\n };\n _this._expectedChildren = {\n customOperation: { optionName: \"customOperations\", isCollectionItem: true },\n field: { optionName: \"fields\", isCollectionItem: true },\n filterOperationDescriptions: { optionName: \"filterOperationDescriptions\", isCollectionItem: false },\n groupOperationDescriptions: { optionName: \"groupOperationDescriptions\", isCollectionItem: false }\n };\n return _this;\n }\n Object.defineProperty(FilterBuilder.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return FilterBuilder;\n}(component_1.Component));\nexports.FilterBuilder = FilterBuilder;\nFilterBuilder.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n allowHierarchicalFields: PropTypes.bool,\n customOperations: PropTypes.array,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n fields: PropTypes.array,\n filterOperationDescriptions: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n groupOperationDescriptions: PropTypes.object,\n groupOperations: PropTypes.array,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n maxGroupLevel: PropTypes.number,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onEditorPrepared: PropTypes.func,\n onEditorPreparing: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onValueChanged: PropTypes.func,\n rtlEnabled: PropTypes.bool,\n tabIndex: PropTypes.number,\n value: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.func,\n PropTypes.string\n ]),\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar CustomOperation = /** @class */ (function (_super) {\n __extends(CustomOperation, _super);\n function CustomOperation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CustomOperation.OptionName = \"customOperations\";\n CustomOperation.IsCollectionItem = true;\n CustomOperation.TemplateProps = [{\n tmplOption: \"editorTemplate\",\n render: \"editorRender\",\n component: \"editorComponent\",\n keyFn: \"editorKeyFn\"\n }];\n return CustomOperation;\n}(nested_option_1.default));\nexports.CustomOperation = CustomOperation;\nvar Field = /** @class */ (function (_super) {\n __extends(Field, _super);\n function Field() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Field.OptionName = \"fields\";\n Field.IsCollectionItem = true;\n Field.ExpectedChildren = {\n format: { optionName: \"format\", isCollectionItem: false },\n lookup: { optionName: \"lookup\", isCollectionItem: false }\n };\n Field.TemplateProps = [{\n tmplOption: \"editorTemplate\",\n render: \"editorRender\",\n component: \"editorComponent\",\n keyFn: \"editorKeyFn\"\n }];\n return Field;\n}(nested_option_1.default));\nexports.Field = Field;\nvar FilterOperationDescriptions = /** @class */ (function (_super) {\n __extends(FilterOperationDescriptions, _super);\n function FilterOperationDescriptions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterOperationDescriptions.OptionName = \"filterOperationDescriptions\";\n return FilterOperationDescriptions;\n}(nested_option_1.default));\nexports.FilterOperationDescriptions = FilterOperationDescriptions;\nvar Format = /** @class */ (function (_super) {\n __extends(Format, _super);\n function Format() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Format.OptionName = \"format\";\n return Format;\n}(nested_option_1.default));\nexports.Format = Format;\nvar GroupOperationDescriptions = /** @class */ (function (_super) {\n __extends(GroupOperationDescriptions, _super);\n function GroupOperationDescriptions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GroupOperationDescriptions.OptionName = \"groupOperationDescriptions\";\n return GroupOperationDescriptions;\n}(nested_option_1.default));\nexports.GroupOperationDescriptions = GroupOperationDescriptions;\nvar Lookup = /** @class */ (function (_super) {\n __extends(Lookup, _super);\n function Lookup() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Lookup.OptionName = \"lookup\";\n return Lookup;\n}(nested_option_1.default));\nexports.Lookup = Lookup;\nexports.default = FilterBuilder;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ValidationRule = exports.TabPanelOptionsItem = exports.TabPanelOptions = exports.TabbedItem = exports.Tab = exports.StringLengthRule = exports.SimpleItem = exports.RequiredRule = exports.RangeRule = exports.PatternRule = exports.NumericRule = exports.Label = exports.Item = exports.GroupItem = exports.EmptyItem = exports.EmailRule = exports.CustomRule = exports.CompareRule = exports.ColCountByScreen = exports.ButtonOptions = exports.ButtonItem = exports.AsyncRule = exports.Form = void 0;\nvar form_1 = require(\"devextreme/ui/form\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Form = /** @class */ (function (_super) {\n __extends(Form, _super);\n function Form() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = form_1.default;\n _this.subscribableOptions = [\"formData\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onEditorEnterKey\", \"onInitialized\"];\n _this._defaults = {\n defaultFormData: \"formData\"\n };\n _this._expectedChildren = {\n ButtonItem: { optionName: \"items\", isCollectionItem: true },\n colCountByScreen: { optionName: \"colCountByScreen\", isCollectionItem: false },\n EmptyItem: { optionName: \"items\", isCollectionItem: true },\n GroupItem: { optionName: \"items\", isCollectionItem: true },\n item: { optionName: \"items\", isCollectionItem: true },\n SimpleItem: { optionName: \"items\", isCollectionItem: true },\n TabbedItem: { optionName: \"items\", isCollectionItem: true }\n };\n return _this;\n }\n Object.defineProperty(Form.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Form;\n}(component_1.Component));\nexports.Form = Form;\nForm.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n alignItemLabels: PropTypes.bool,\n alignItemLabelsInAllGroups: PropTypes.bool,\n colCount: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"auto\"\n ])\n ])\n ]),\n colCountByScreen: PropTypes.object,\n customizeItem: PropTypes.func,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n items: PropTypes.array,\n labelLocation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"left\",\n \"right\",\n \"top\"\n ])\n ]),\n labelMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"static\",\n \"floating\",\n \"hidden\",\n \"outside\"\n ])\n ]),\n minColWidth: PropTypes.number,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onEditorEnterKey: PropTypes.func,\n onFieldDataChanged: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n optionalMark: PropTypes.string,\n readOnly: PropTypes.bool,\n requiredMark: PropTypes.string,\n requiredMessage: PropTypes.string,\n rtlEnabled: PropTypes.bool,\n screenByWidth: PropTypes.func,\n scrollingEnabled: PropTypes.bool,\n showColonAfterLabel: PropTypes.bool,\n showOptionalMark: PropTypes.bool,\n showRequiredMark: PropTypes.bool,\n showValidationSummary: PropTypes.bool,\n tabIndex: PropTypes.number,\n validationGroup: PropTypes.string,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar AsyncRule = /** @class */ (function (_super) {\n __extends(AsyncRule, _super);\n function AsyncRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AsyncRule.OptionName = \"validationRules\";\n AsyncRule.IsCollectionItem = true;\n AsyncRule.PredefinedProps = {\n type: \"async\"\n };\n return AsyncRule;\n}(nested_option_1.default));\nexports.AsyncRule = AsyncRule;\nvar ButtonItem = /** @class */ (function (_super) {\n __extends(ButtonItem, _super);\n function ButtonItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ButtonItem.OptionName = \"items\";\n ButtonItem.IsCollectionItem = true;\n ButtonItem.ExpectedChildren = {\n buttonOptions: { optionName: \"buttonOptions\", isCollectionItem: false }\n };\n ButtonItem.PredefinedProps = {\n itemType: \"button\"\n };\n return ButtonItem;\n}(nested_option_1.default));\nexports.ButtonItem = ButtonItem;\nvar ButtonOptions = /** @class */ (function (_super) {\n __extends(ButtonOptions, _super);\n function ButtonOptions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ButtonOptions.OptionName = \"buttonOptions\";\n ButtonOptions.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return ButtonOptions;\n}(nested_option_1.default));\nexports.ButtonOptions = ButtonOptions;\nvar ColCountByScreen = /** @class */ (function (_super) {\n __extends(ColCountByScreen, _super);\n function ColCountByScreen() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColCountByScreen.OptionName = \"colCountByScreen\";\n return ColCountByScreen;\n}(nested_option_1.default));\nexports.ColCountByScreen = ColCountByScreen;\nvar CompareRule = /** @class */ (function (_super) {\n __extends(CompareRule, _super);\n function CompareRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CompareRule.OptionName = \"validationRules\";\n CompareRule.IsCollectionItem = true;\n CompareRule.PredefinedProps = {\n type: \"compare\"\n };\n return CompareRule;\n}(nested_option_1.default));\nexports.CompareRule = CompareRule;\nvar CustomRule = /** @class */ (function (_super) {\n __extends(CustomRule, _super);\n function CustomRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CustomRule.OptionName = \"validationRules\";\n CustomRule.IsCollectionItem = true;\n CustomRule.PredefinedProps = {\n type: \"custom\"\n };\n return CustomRule;\n}(nested_option_1.default));\nexports.CustomRule = CustomRule;\nvar EmailRule = /** @class */ (function (_super) {\n __extends(EmailRule, _super);\n function EmailRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n EmailRule.OptionName = \"validationRules\";\n EmailRule.IsCollectionItem = true;\n EmailRule.PredefinedProps = {\n type: \"email\"\n };\n return EmailRule;\n}(nested_option_1.default));\nexports.EmailRule = EmailRule;\nvar EmptyItem = /** @class */ (function (_super) {\n __extends(EmptyItem, _super);\n function EmptyItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n EmptyItem.OptionName = \"items\";\n EmptyItem.IsCollectionItem = true;\n EmptyItem.PredefinedProps = {\n itemType: \"empty\"\n };\n return EmptyItem;\n}(nested_option_1.default));\nexports.EmptyItem = EmptyItem;\nvar GroupItem = /** @class */ (function (_super) {\n __extends(GroupItem, _super);\n function GroupItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GroupItem.OptionName = \"items\";\n GroupItem.IsCollectionItem = true;\n GroupItem.ExpectedChildren = {\n colCountByScreen: { optionName: \"colCountByScreen\", isCollectionItem: false }\n };\n GroupItem.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n GroupItem.PredefinedProps = {\n itemType: \"group\"\n };\n return GroupItem;\n}(nested_option_1.default));\nexports.GroupItem = GroupItem;\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"tabTemplate\",\n render: \"tabRender\",\n component: \"tabComponent\",\n keyFn: \"tabKeyFn\"\n }, {\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nvar Label = /** @class */ (function (_super) {\n __extends(Label, _super);\n function Label() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Label.OptionName = \"label\";\n Label.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Label;\n}(nested_option_1.default));\nexports.Label = Label;\nvar NumericRule = /** @class */ (function (_super) {\n __extends(NumericRule, _super);\n function NumericRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n NumericRule.OptionName = \"validationRules\";\n NumericRule.IsCollectionItem = true;\n NumericRule.PredefinedProps = {\n type: \"numeric\"\n };\n return NumericRule;\n}(nested_option_1.default));\nexports.NumericRule = NumericRule;\nvar PatternRule = /** @class */ (function (_super) {\n __extends(PatternRule, _super);\n function PatternRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PatternRule.OptionName = \"validationRules\";\n PatternRule.IsCollectionItem = true;\n PatternRule.PredefinedProps = {\n type: \"pattern\"\n };\n return PatternRule;\n}(nested_option_1.default));\nexports.PatternRule = PatternRule;\nvar RangeRule = /** @class */ (function (_super) {\n __extends(RangeRule, _super);\n function RangeRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RangeRule.OptionName = \"validationRules\";\n RangeRule.IsCollectionItem = true;\n RangeRule.PredefinedProps = {\n type: \"range\"\n };\n return RangeRule;\n}(nested_option_1.default));\nexports.RangeRule = RangeRule;\nvar RequiredRule = /** @class */ (function (_super) {\n __extends(RequiredRule, _super);\n function RequiredRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RequiredRule.OptionName = \"validationRules\";\n RequiredRule.IsCollectionItem = true;\n RequiredRule.PredefinedProps = {\n type: \"required\"\n };\n return RequiredRule;\n}(nested_option_1.default));\nexports.RequiredRule = RequiredRule;\nvar SimpleItem = /** @class */ (function (_super) {\n __extends(SimpleItem, _super);\n function SimpleItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SimpleItem.OptionName = \"items\";\n SimpleItem.IsCollectionItem = true;\n SimpleItem.ExpectedChildren = {\n AsyncRule: { optionName: \"validationRules\", isCollectionItem: true },\n CompareRule: { optionName: \"validationRules\", isCollectionItem: true },\n CustomRule: { optionName: \"validationRules\", isCollectionItem: true },\n EmailRule: { optionName: \"validationRules\", isCollectionItem: true },\n label: { optionName: \"label\", isCollectionItem: false },\n NumericRule: { optionName: \"validationRules\", isCollectionItem: true },\n PatternRule: { optionName: \"validationRules\", isCollectionItem: true },\n RangeRule: { optionName: \"validationRules\", isCollectionItem: true },\n RequiredRule: { optionName: \"validationRules\", isCollectionItem: true },\n StringLengthRule: { optionName: \"validationRules\", isCollectionItem: true },\n validationRule: { optionName: \"validationRules\", isCollectionItem: true }\n };\n SimpleItem.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n SimpleItem.PredefinedProps = {\n itemType: \"simple\"\n };\n return SimpleItem;\n}(nested_option_1.default));\nexports.SimpleItem = SimpleItem;\nvar StringLengthRule = /** @class */ (function (_super) {\n __extends(StringLengthRule, _super);\n function StringLengthRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StringLengthRule.OptionName = \"validationRules\";\n StringLengthRule.IsCollectionItem = true;\n StringLengthRule.PredefinedProps = {\n type: \"stringLength\"\n };\n return StringLengthRule;\n}(nested_option_1.default));\nexports.StringLengthRule = StringLengthRule;\nvar Tab = /** @class */ (function (_super) {\n __extends(Tab, _super);\n function Tab() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Tab.OptionName = \"tabs\";\n Tab.IsCollectionItem = true;\n Tab.ExpectedChildren = {\n colCountByScreen: { optionName: \"colCountByScreen\", isCollectionItem: false }\n };\n Tab.TemplateProps = [{\n tmplOption: \"tabTemplate\",\n render: \"tabRender\",\n component: \"tabComponent\",\n keyFn: \"tabKeyFn\"\n }, {\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Tab;\n}(nested_option_1.default));\nexports.Tab = Tab;\nvar TabbedItem = /** @class */ (function (_super) {\n __extends(TabbedItem, _super);\n function TabbedItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TabbedItem.OptionName = \"items\";\n TabbedItem.IsCollectionItem = true;\n TabbedItem.ExpectedChildren = {\n tab: { optionName: \"tabs\", isCollectionItem: true },\n tabPanelOptions: { optionName: \"tabPanelOptions\", isCollectionItem: false }\n };\n TabbedItem.PredefinedProps = {\n itemType: \"tabbed\"\n };\n return TabbedItem;\n}(nested_option_1.default));\nexports.TabbedItem = TabbedItem;\nvar TabPanelOptions = /** @class */ (function (_super) {\n __extends(TabPanelOptions, _super);\n function TabPanelOptions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TabPanelOptions.OptionName = \"tabPanelOptions\";\n TabPanelOptions.DefaultsProps = {\n defaultItems: \"items\",\n defaultSelectedIndex: \"selectedIndex\",\n defaultSelectedItem: \"selectedItem\",\n defaultSelectedItemKeys: \"selectedItemKeys\",\n defaultSelectedItems: \"selectedItems\"\n };\n TabPanelOptions.ExpectedChildren = {\n item: { optionName: \"items\", isCollectionItem: true },\n tabPanelOptionsItem: { optionName: \"items\", isCollectionItem: true }\n };\n TabPanelOptions.TemplateProps = [{\n tmplOption: \"itemTemplate\",\n render: \"itemRender\",\n component: \"itemComponent\",\n keyFn: \"itemKeyFn\"\n }, {\n tmplOption: \"itemTitleTemplate\",\n render: \"itemTitleRender\",\n component: \"itemTitleComponent\",\n keyFn: \"itemTitleKeyFn\"\n }];\n return TabPanelOptions;\n}(nested_option_1.default));\nexports.TabPanelOptions = TabPanelOptions;\nvar TabPanelOptionsItem = /** @class */ (function (_super) {\n __extends(TabPanelOptionsItem, _super);\n function TabPanelOptionsItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TabPanelOptionsItem.OptionName = \"items\";\n TabPanelOptionsItem.IsCollectionItem = true;\n TabPanelOptionsItem.TemplateProps = [{\n tmplOption: \"tabTemplate\",\n render: \"tabRender\",\n component: \"tabComponent\",\n keyFn: \"tabKeyFn\"\n }, {\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return TabPanelOptionsItem;\n}(nested_option_1.default));\nexports.TabPanelOptionsItem = TabPanelOptionsItem;\nvar ValidationRule = /** @class */ (function (_super) {\n __extends(ValidationRule, _super);\n function ValidationRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ValidationRule.OptionName = \"validationRules\";\n ValidationRule.IsCollectionItem = true;\n ValidationRule.PredefinedProps = {\n type: \"required\"\n };\n return ValidationRule;\n}(nested_option_1.default));\nexports.ValidationRule = ValidationRule;\nexports.default = Form;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TooltipBorder = exports.Tooltip = exports.Title = exports.Subtitle = exports.Size = exports.Shadow = exports.SelectionStyle = exports.Margin = exports.LoadingIndicator = exports.LegendTitleSubtitle = exports.LegendTitle = exports.LegendBorder = exports.Legend = exports.LabelBorder = exports.Label = exports.ItemBorder = exports.Item = exports.HoverStyle = exports.Hatching = exports.FunnelTitleSubtitle = exports.FunnelTitle = exports.Format = exports.Font = exports.Export = exports.Connector = exports.Border = exports.AdaptiveLayout = exports.Funnel = void 0;\nvar funnel_1 = require(\"devextreme/viz/funnel\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Funnel = /** @class */ (function (_super) {\n __extends(Funnel, _super);\n function Funnel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = funnel_1.default;\n _this.subscribableOptions = [\"loadingIndicator\", \"loadingIndicator.show\"];\n _this.independentEvents = [\"onDisposing\", \"onDrawn\", \"onExported\", \"onExporting\", \"onFileSaving\", \"onIncidentOccurred\", \"onInitialized\", \"onItemClick\", \"onLegendClick\"];\n _this._defaults = {\n defaultLoadingIndicator: \"loadingIndicator\"\n };\n _this._expectedChildren = {\n adaptiveLayout: { optionName: \"adaptiveLayout\", isCollectionItem: false },\n export: { optionName: \"export\", isCollectionItem: false },\n funnelTitle: { optionName: \"title\", isCollectionItem: false },\n item: { optionName: \"item\", isCollectionItem: false },\n label: { optionName: \"label\", isCollectionItem: false },\n legend: { optionName: \"legend\", isCollectionItem: false },\n loadingIndicator: { optionName: \"loadingIndicator\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n size: { optionName: \"size\", isCollectionItem: false },\n title: { optionName: \"title\", isCollectionItem: false },\n tooltip: { optionName: \"tooltip\", isCollectionItem: false }\n };\n return _this;\n }\n Object.defineProperty(Funnel.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Funnel;\n}(component_1.Component));\nexports.Funnel = Funnel;\nFunnel.propTypes = {\n adaptiveLayout: PropTypes.object,\n algorithm: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"dynamicHeight\",\n \"dynamicSlope\"\n ])\n ]),\n argumentField: PropTypes.string,\n colorField: PropTypes.string,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n export: PropTypes.object,\n hoverEnabled: PropTypes.bool,\n inverted: PropTypes.bool,\n item: PropTypes.object,\n label: PropTypes.object,\n legend: PropTypes.object,\n loadingIndicator: PropTypes.object,\n margin: PropTypes.object,\n neckHeight: PropTypes.number,\n neckWidth: PropTypes.number,\n onDisposing: PropTypes.func,\n onDrawn: PropTypes.func,\n onExported: PropTypes.func,\n onExporting: PropTypes.func,\n onFileSaving: PropTypes.func,\n onHoverChanged: PropTypes.func,\n onIncidentOccurred: PropTypes.func,\n onInitialized: PropTypes.func,\n onItemClick: PropTypes.func,\n onLegendClick: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onSelectionChanged: PropTypes.func,\n palette: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"Bright\",\n \"Harmony Light\",\n \"Ocean\",\n \"Pastel\",\n \"Soft\",\n \"Soft Pastel\",\n \"Vintage\",\n \"Violet\",\n \"Carmine\",\n \"Dark Moon\",\n \"Dark Violet\",\n \"Green Mist\",\n \"Soft Blue\",\n \"Material\",\n \"Office\"\n ])\n ])\n ]),\n paletteExtensionMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"alternate\",\n \"blend\",\n \"extrapolate\"\n ])\n ]),\n pathModified: PropTypes.bool,\n redrawOnResize: PropTypes.bool,\n resolveLabelOverlapping: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"hide\",\n \"none\",\n \"shift\"\n ])\n ]),\n rtlEnabled: PropTypes.bool,\n selectionMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"single\",\n \"multiple\",\n \"none\"\n ])\n ]),\n size: PropTypes.object,\n sortData: PropTypes.bool,\n theme: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"generic.dark\",\n \"generic.light\",\n \"generic.contrast\",\n \"generic.carmine\",\n \"generic.darkmoon\",\n \"generic.darkviolet\",\n \"generic.greenmist\",\n \"generic.softblue\",\n \"material.blue.light\",\n \"material.lime.light\",\n \"material.orange.light\",\n \"material.purple.light\",\n \"material.teal.light\"\n ])\n ]),\n title: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string\n ]),\n tooltip: PropTypes.object,\n valueField: PropTypes.string\n};\nvar AdaptiveLayout = /** @class */ (function (_super) {\n __extends(AdaptiveLayout, _super);\n function AdaptiveLayout() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AdaptiveLayout.OptionName = \"adaptiveLayout\";\n return AdaptiveLayout;\n}(nested_option_1.default));\nexports.AdaptiveLayout = AdaptiveLayout;\nvar Border = /** @class */ (function (_super) {\n __extends(Border, _super);\n function Border() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Border.OptionName = \"border\";\n return Border;\n}(nested_option_1.default));\nexports.Border = Border;\nvar Connector = /** @class */ (function (_super) {\n __extends(Connector, _super);\n function Connector() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Connector.OptionName = \"connector\";\n return Connector;\n}(nested_option_1.default));\nexports.Connector = Connector;\nvar Export = /** @class */ (function (_super) {\n __extends(Export, _super);\n function Export() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Export.OptionName = \"export\";\n return Export;\n}(nested_option_1.default));\nexports.Export = Export;\nvar Font = /** @class */ (function (_super) {\n __extends(Font, _super);\n function Font() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Font.OptionName = \"font\";\n return Font;\n}(nested_option_1.default));\nexports.Font = Font;\nvar Format = /** @class */ (function (_super) {\n __extends(Format, _super);\n function Format() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Format.OptionName = \"format\";\n return Format;\n}(nested_option_1.default));\nexports.Format = Format;\nvar FunnelTitle = /** @class */ (function (_super) {\n __extends(FunnelTitle, _super);\n function FunnelTitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FunnelTitle.OptionName = \"title\";\n FunnelTitle.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false },\n funnelTitleSubtitle: { optionName: \"subtitle\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n subtitle: { optionName: \"subtitle\", isCollectionItem: false }\n };\n return FunnelTitle;\n}(nested_option_1.default));\nexports.FunnelTitle = FunnelTitle;\nvar FunnelTitleSubtitle = /** @class */ (function (_super) {\n __extends(FunnelTitleSubtitle, _super);\n function FunnelTitleSubtitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FunnelTitleSubtitle.OptionName = \"subtitle\";\n FunnelTitleSubtitle.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false }\n };\n return FunnelTitleSubtitle;\n}(nested_option_1.default));\nexports.FunnelTitleSubtitle = FunnelTitleSubtitle;\nvar Hatching = /** @class */ (function (_super) {\n __extends(Hatching, _super);\n function Hatching() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Hatching.OptionName = \"hatching\";\n return Hatching;\n}(nested_option_1.default));\nexports.Hatching = Hatching;\nvar HoverStyle = /** @class */ (function (_super) {\n __extends(HoverStyle, _super);\n function HoverStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HoverStyle.OptionName = \"hoverStyle\";\n HoverStyle.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n hatching: { optionName: \"hatching\", isCollectionItem: false },\n itemBorder: { optionName: \"border\", isCollectionItem: false }\n };\n return HoverStyle;\n}(nested_option_1.default));\nexports.HoverStyle = HoverStyle;\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"item\";\n Item.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n hoverStyle: { optionName: \"hoverStyle\", isCollectionItem: false },\n itemBorder: { optionName: \"border\", isCollectionItem: false },\n selectionStyle: { optionName: \"selectionStyle\", isCollectionItem: false }\n };\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nvar ItemBorder = /** @class */ (function (_super) {\n __extends(ItemBorder, _super);\n function ItemBorder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ItemBorder.OptionName = \"border\";\n return ItemBorder;\n}(nested_option_1.default));\nexports.ItemBorder = ItemBorder;\nvar Label = /** @class */ (function (_super) {\n __extends(Label, _super);\n function Label() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Label.OptionName = \"label\";\n Label.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n connector: { optionName: \"connector\", isCollectionItem: false },\n font: { optionName: \"font\", isCollectionItem: false },\n format: { optionName: \"format\", isCollectionItem: false },\n labelBorder: { optionName: \"border\", isCollectionItem: false }\n };\n return Label;\n}(nested_option_1.default));\nexports.Label = Label;\nvar LabelBorder = /** @class */ (function (_super) {\n __extends(LabelBorder, _super);\n function LabelBorder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LabelBorder.OptionName = \"border\";\n return LabelBorder;\n}(nested_option_1.default));\nexports.LabelBorder = LabelBorder;\nvar Legend = /** @class */ (function (_super) {\n __extends(Legend, _super);\n function Legend() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Legend.OptionName = \"legend\";\n Legend.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n font: { optionName: \"font\", isCollectionItem: false },\n legendBorder: { optionName: \"border\", isCollectionItem: false },\n legendTitle: { optionName: \"title\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n title: { optionName: \"title\", isCollectionItem: false }\n };\n Legend.TemplateProps = [{\n tmplOption: \"markerTemplate\",\n render: \"markerRender\",\n component: \"markerComponent\",\n keyFn: \"markerKeyFn\"\n }];\n return Legend;\n}(nested_option_1.default));\nexports.Legend = Legend;\nvar LegendBorder = /** @class */ (function (_super) {\n __extends(LegendBorder, _super);\n function LegendBorder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LegendBorder.OptionName = \"border\";\n return LegendBorder;\n}(nested_option_1.default));\nexports.LegendBorder = LegendBorder;\nvar LegendTitle = /** @class */ (function (_super) {\n __extends(LegendTitle, _super);\n function LegendTitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LegendTitle.OptionName = \"title\";\n LegendTitle.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false },\n legendTitleSubtitle: { optionName: \"subtitle\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n subtitle: { optionName: \"subtitle\", isCollectionItem: false }\n };\n return LegendTitle;\n}(nested_option_1.default));\nexports.LegendTitle = LegendTitle;\nvar LegendTitleSubtitle = /** @class */ (function (_super) {\n __extends(LegendTitleSubtitle, _super);\n function LegendTitleSubtitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LegendTitleSubtitle.OptionName = \"subtitle\";\n LegendTitleSubtitle.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false }\n };\n return LegendTitleSubtitle;\n}(nested_option_1.default));\nexports.LegendTitleSubtitle = LegendTitleSubtitle;\nvar LoadingIndicator = /** @class */ (function (_super) {\n __extends(LoadingIndicator, _super);\n function LoadingIndicator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LoadingIndicator.OptionName = \"loadingIndicator\";\n LoadingIndicator.DefaultsProps = {\n defaultShow: \"show\"\n };\n LoadingIndicator.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false }\n };\n return LoadingIndicator;\n}(nested_option_1.default));\nexports.LoadingIndicator = LoadingIndicator;\nvar Margin = /** @class */ (function (_super) {\n __extends(Margin, _super);\n function Margin() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Margin.OptionName = \"margin\";\n return Margin;\n}(nested_option_1.default));\nexports.Margin = Margin;\nvar SelectionStyle = /** @class */ (function (_super) {\n __extends(SelectionStyle, _super);\n function SelectionStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SelectionStyle.OptionName = \"selectionStyle\";\n SelectionStyle.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n hatching: { optionName: \"hatching\", isCollectionItem: false },\n itemBorder: { optionName: \"border\", isCollectionItem: false }\n };\n return SelectionStyle;\n}(nested_option_1.default));\nexports.SelectionStyle = SelectionStyle;\nvar Shadow = /** @class */ (function (_super) {\n __extends(Shadow, _super);\n function Shadow() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Shadow.OptionName = \"shadow\";\n return Shadow;\n}(nested_option_1.default));\nexports.Shadow = Shadow;\nvar Size = /** @class */ (function (_super) {\n __extends(Size, _super);\n function Size() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Size.OptionName = \"size\";\n return Size;\n}(nested_option_1.default));\nexports.Size = Size;\nvar Subtitle = /** @class */ (function (_super) {\n __extends(Subtitle, _super);\n function Subtitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Subtitle.OptionName = \"subtitle\";\n return Subtitle;\n}(nested_option_1.default));\nexports.Subtitle = Subtitle;\nvar Title = /** @class */ (function (_super) {\n __extends(Title, _super);\n function Title() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Title.OptionName = \"title\";\n return Title;\n}(nested_option_1.default));\nexports.Title = Title;\nvar Tooltip = /** @class */ (function (_super) {\n __extends(Tooltip, _super);\n function Tooltip() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Tooltip.OptionName = \"tooltip\";\n Tooltip.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n font: { optionName: \"font\", isCollectionItem: false },\n format: { optionName: \"format\", isCollectionItem: false },\n shadow: { optionName: \"shadow\", isCollectionItem: false },\n tooltipBorder: { optionName: \"border\", isCollectionItem: false }\n };\n Tooltip.TemplateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }];\n return Tooltip;\n}(nested_option_1.default));\nexports.Tooltip = Tooltip;\nvar TooltipBorder = /** @class */ (function (_super) {\n __extends(TooltipBorder, _super);\n function TooltipBorder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TooltipBorder.OptionName = \"border\";\n return TooltipBorder;\n}(nested_option_1.default));\nexports.TooltipBorder = TooltipBorder;\nexports.default = Funnel;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Item = exports.Gallery = void 0;\nvar gallery_1 = require(\"devextreme/ui/gallery\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Gallery = /** @class */ (function (_super) {\n __extends(Gallery, _super);\n function Gallery() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = gallery_1.default;\n _this.subscribableOptions = [\"items\", \"selectedIndex\", \"selectedItem\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onInitialized\", \"onItemClick\", \"onItemContextMenu\", \"onItemHold\", \"onItemRendered\"];\n _this._defaults = {\n defaultItems: \"items\",\n defaultSelectedIndex: \"selectedIndex\",\n defaultSelectedItem: \"selectedItem\"\n };\n _this._expectedChildren = {\n item: { optionName: \"items\", isCollectionItem: true }\n };\n _this._templateProps = [{\n tmplOption: \"itemTemplate\",\n render: \"itemRender\",\n component: \"itemComponent\",\n keyFn: \"itemKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(Gallery.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Gallery;\n}(component_1.Component));\nexports.Gallery = Gallery;\nGallery.propTypes = {\n accessKey: PropTypes.string,\n animationDuration: PropTypes.number,\n animationEnabled: PropTypes.bool,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n indicatorEnabled: PropTypes.bool,\n initialItemWidth: PropTypes.number,\n itemHoldTimeout: PropTypes.number,\n items: PropTypes.array,\n loop: PropTypes.bool,\n noDataText: PropTypes.string,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onItemClick: PropTypes.func,\n onItemContextMenu: PropTypes.func,\n onItemHold: PropTypes.func,\n onItemRendered: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onSelectionChanged: PropTypes.func,\n rtlEnabled: PropTypes.bool,\n selectedIndex: PropTypes.number,\n showIndicator: PropTypes.bool,\n showNavButtons: PropTypes.bool,\n slideshowDelay: PropTypes.number,\n stretchImages: PropTypes.bool,\n swipeEnabled: PropTypes.bool,\n tabIndex: PropTypes.number,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n wrapAround: PropTypes.bool\n};\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nexports.default = Gallery;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Validation = exports.ToolbarItem = exports.Toolbar = exports.Texts = exports.Tasks = exports.StripLine = exports.Sorting = exports.ScaleTypeRange = exports.Resources = exports.ResourceAssignments = exports.OperationDescriptions = exports.Lookup = exports.Item = exports.HeaderFilter = exports.GanttHeaderFilter = exports.Format = exports.FilterRow = exports.Editing = exports.Dependencies = exports.ContextMenuItem = exports.ContextMenu = exports.ColumnHeaderFilter = exports.Column = exports.Gantt = void 0;\nvar gantt_1 = require(\"devextreme/ui/gantt\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Gantt = /** @class */ (function (_super) {\n __extends(Gantt, _super);\n function Gantt() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = gantt_1.default;\n _this.independentEvents = [\"onContentReady\", \"onContextMenuPreparing\", \"onCustomCommand\", \"onDependencyDeleted\", \"onDependencyDeleting\", \"onDependencyInserted\", \"onDependencyInserting\", \"onDisposing\", \"onInitialized\", \"onResourceAssigned\", \"onResourceAssigning\", \"onResourceDeleted\", \"onResourceDeleting\", \"onResourceInserted\", \"onResourceInserting\", \"onResourceManagerDialogShowing\", \"onResourceUnassigned\", \"onResourceUnassigning\", \"onScaleCellPrepared\", \"onTaskClick\", \"onTaskDblClick\", \"onTaskDeleted\", \"onTaskDeleting\", \"onTaskEditDialogShowing\", \"onTaskInserted\", \"onTaskInserting\", \"onTaskMoving\", \"onTaskUpdated\", \"onTaskUpdating\"];\n _this._expectedChildren = {\n column: { optionName: \"columns\", isCollectionItem: true },\n contextMenu: { optionName: \"contextMenu\", isCollectionItem: false },\n dependencies: { optionName: \"dependencies\", isCollectionItem: false },\n editing: { optionName: \"editing\", isCollectionItem: false },\n filterRow: { optionName: \"filterRow\", isCollectionItem: false },\n ganttHeaderFilter: { optionName: \"headerFilter\", isCollectionItem: false },\n headerFilter: { optionName: \"headerFilter\", isCollectionItem: false },\n resourceAssignments: { optionName: \"resourceAssignments\", isCollectionItem: false },\n resources: { optionName: \"resources\", isCollectionItem: false },\n scaleTypeRange: { optionName: \"scaleTypeRange\", isCollectionItem: false },\n sorting: { optionName: \"sorting\", isCollectionItem: false },\n stripLine: { optionName: \"stripLines\", isCollectionItem: true },\n tasks: { optionName: \"tasks\", isCollectionItem: false },\n toolbar: { optionName: \"toolbar\", isCollectionItem: false },\n validation: { optionName: \"validation\", isCollectionItem: false }\n };\n _this._templateProps = [{\n tmplOption: \"taskContentTemplate\",\n render: \"taskContentRender\",\n component: \"taskContentComponent\",\n keyFn: \"taskContentKeyFn\"\n }, {\n tmplOption: \"taskProgressTooltipContentTemplate\",\n render: \"taskProgressTooltipContentRender\",\n component: \"taskProgressTooltipContentComponent\",\n keyFn: \"taskProgressTooltipContentKeyFn\"\n }, {\n tmplOption: \"taskTimeTooltipContentTemplate\",\n render: \"taskTimeTooltipContentRender\",\n component: \"taskTimeTooltipContentComponent\",\n keyFn: \"taskTimeTooltipContentKeyFn\"\n }, {\n tmplOption: \"taskTooltipContentTemplate\",\n render: \"taskTooltipContentRender\",\n component: \"taskTooltipContentComponent\",\n keyFn: \"taskTooltipContentKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(Gantt.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Gantt;\n}(component_1.Component));\nexports.Gantt = Gantt;\nGantt.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n allowSelection: PropTypes.bool,\n columns: PropTypes.array,\n contextMenu: PropTypes.object,\n dependencies: PropTypes.object,\n disabled: PropTypes.bool,\n editing: PropTypes.object,\n elementAttr: PropTypes.object,\n filterRow: PropTypes.object,\n firstDayOfWeek: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.oneOf([\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6\n ])\n ]),\n focusStateEnabled: PropTypes.bool,\n headerFilter: PropTypes.object,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n onContentReady: PropTypes.func,\n onContextMenuPreparing: PropTypes.func,\n onCustomCommand: PropTypes.func,\n onDependencyDeleted: PropTypes.func,\n onDependencyDeleting: PropTypes.func,\n onDependencyInserted: PropTypes.func,\n onDependencyInserting: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onResourceAssigned: PropTypes.func,\n onResourceAssigning: PropTypes.func,\n onResourceDeleted: PropTypes.func,\n onResourceDeleting: PropTypes.func,\n onResourceInserted: PropTypes.func,\n onResourceInserting: PropTypes.func,\n onResourceManagerDialogShowing: PropTypes.func,\n onResourceUnassigned: PropTypes.func,\n onResourceUnassigning: PropTypes.func,\n onScaleCellPrepared: PropTypes.func,\n onSelectionChanged: PropTypes.func,\n onTaskClick: PropTypes.func,\n onTaskDblClick: PropTypes.func,\n onTaskDeleted: PropTypes.func,\n onTaskDeleting: PropTypes.func,\n onTaskEditDialogShowing: PropTypes.func,\n onTaskInserted: PropTypes.func,\n onTaskInserting: PropTypes.func,\n onTaskMoving: PropTypes.func,\n onTaskUpdated: PropTypes.func,\n onTaskUpdating: PropTypes.func,\n resourceAssignments: PropTypes.object,\n resources: PropTypes.object,\n scaleType: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"auto\",\n \"minutes\",\n \"hours\",\n \"sixHours\",\n \"days\",\n \"weeks\",\n \"months\",\n \"quarters\",\n \"years\"\n ])\n ]),\n scaleTypeRange: PropTypes.object,\n showDependencies: PropTypes.bool,\n showResources: PropTypes.bool,\n showRowLines: PropTypes.bool,\n sorting: PropTypes.object,\n stripLines: PropTypes.array,\n tabIndex: PropTypes.number,\n taskListWidth: PropTypes.number,\n tasks: PropTypes.object,\n taskTitlePosition: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"inside\",\n \"outside\",\n \"none\"\n ])\n ]),\n toolbar: PropTypes.object,\n validation: PropTypes.object,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Column = /** @class */ (function (_super) {\n __extends(Column, _super);\n function Column() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Column.OptionName = \"columns\";\n Column.IsCollectionItem = true;\n Column.DefaultsProps = {\n defaultFilterValue: \"filterValue\",\n defaultFilterValues: \"filterValues\",\n defaultSelectedFilterOperation: \"selectedFilterOperation\",\n defaultSortIndex: \"sortIndex\",\n defaultSortOrder: \"sortOrder\",\n defaultVisible: \"visible\",\n defaultVisibleIndex: \"visibleIndex\"\n };\n Column.ExpectedChildren = {\n columnHeaderFilter: { optionName: \"headerFilter\", isCollectionItem: false },\n format: { optionName: \"format\", isCollectionItem: false },\n headerFilter: { optionName: \"headerFilter\", isCollectionItem: false },\n lookup: { optionName: \"lookup\", isCollectionItem: false }\n };\n Column.TemplateProps = [{\n tmplOption: \"cellTemplate\",\n render: \"cellRender\",\n component: \"cellComponent\",\n keyFn: \"cellKeyFn\"\n }, {\n tmplOption: \"editCellTemplate\",\n render: \"editCellRender\",\n component: \"editCellComponent\",\n keyFn: \"editCellKeyFn\"\n }, {\n tmplOption: \"headerCellTemplate\",\n render: \"headerCellRender\",\n component: \"headerCellComponent\",\n keyFn: \"headerCellKeyFn\"\n }];\n return Column;\n}(nested_option_1.default));\nexports.Column = Column;\nvar ColumnHeaderFilter = /** @class */ (function (_super) {\n __extends(ColumnHeaderFilter, _super);\n function ColumnHeaderFilter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColumnHeaderFilter.OptionName = \"headerFilter\";\n return ColumnHeaderFilter;\n}(nested_option_1.default));\nexports.ColumnHeaderFilter = ColumnHeaderFilter;\nvar ContextMenu = /** @class */ (function (_super) {\n __extends(ContextMenu, _super);\n function ContextMenu() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ContextMenu.OptionName = \"contextMenu\";\n ContextMenu.ExpectedChildren = {\n contextMenuItem: { optionName: \"items\", isCollectionItem: true },\n item: { optionName: \"items\", isCollectionItem: true }\n };\n return ContextMenu;\n}(nested_option_1.default));\nexports.ContextMenu = ContextMenu;\nvar ContextMenuItem = /** @class */ (function (_super) {\n __extends(ContextMenuItem, _super);\n function ContextMenuItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ContextMenuItem.OptionName = \"items\";\n ContextMenuItem.IsCollectionItem = true;\n ContextMenuItem.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return ContextMenuItem;\n}(nested_option_1.default));\nexports.ContextMenuItem = ContextMenuItem;\nvar Dependencies = /** @class */ (function (_super) {\n __extends(Dependencies, _super);\n function Dependencies() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Dependencies.OptionName = \"dependencies\";\n return Dependencies;\n}(nested_option_1.default));\nexports.Dependencies = Dependencies;\nvar Editing = /** @class */ (function (_super) {\n __extends(Editing, _super);\n function Editing() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Editing.OptionName = \"editing\";\n return Editing;\n}(nested_option_1.default));\nexports.Editing = Editing;\nvar FilterRow = /** @class */ (function (_super) {\n __extends(FilterRow, _super);\n function FilterRow() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterRow.OptionName = \"filterRow\";\n FilterRow.ExpectedChildren = {\n operationDescriptions: { optionName: \"operationDescriptions\", isCollectionItem: false }\n };\n return FilterRow;\n}(nested_option_1.default));\nexports.FilterRow = FilterRow;\nvar Format = /** @class */ (function (_super) {\n __extends(Format, _super);\n function Format() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Format.OptionName = \"format\";\n return Format;\n}(nested_option_1.default));\nexports.Format = Format;\nvar GanttHeaderFilter = /** @class */ (function (_super) {\n __extends(GanttHeaderFilter, _super);\n function GanttHeaderFilter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GanttHeaderFilter.OptionName = \"headerFilter\";\n GanttHeaderFilter.ExpectedChildren = {\n texts: { optionName: \"texts\", isCollectionItem: false }\n };\n return GanttHeaderFilter;\n}(nested_option_1.default));\nexports.GanttHeaderFilter = GanttHeaderFilter;\nvar HeaderFilter = /** @class */ (function (_super) {\n __extends(HeaderFilter, _super);\n function HeaderFilter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HeaderFilter.OptionName = \"headerFilter\";\n return HeaderFilter;\n}(nested_option_1.default));\nexports.HeaderFilter = HeaderFilter;\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }, {\n tmplOption: \"menuItemTemplate\",\n render: \"menuItemRender\",\n component: \"menuItemComponent\",\n keyFn: \"menuItemKeyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nvar Lookup = /** @class */ (function (_super) {\n __extends(Lookup, _super);\n function Lookup() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Lookup.OptionName = \"lookup\";\n return Lookup;\n}(nested_option_1.default));\nexports.Lookup = Lookup;\nvar OperationDescriptions = /** @class */ (function (_super) {\n __extends(OperationDescriptions, _super);\n function OperationDescriptions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n OperationDescriptions.OptionName = \"operationDescriptions\";\n return OperationDescriptions;\n}(nested_option_1.default));\nexports.OperationDescriptions = OperationDescriptions;\nvar ResourceAssignments = /** @class */ (function (_super) {\n __extends(ResourceAssignments, _super);\n function ResourceAssignments() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ResourceAssignments.OptionName = \"resourceAssignments\";\n return ResourceAssignments;\n}(nested_option_1.default));\nexports.ResourceAssignments = ResourceAssignments;\nvar Resources = /** @class */ (function (_super) {\n __extends(Resources, _super);\n function Resources() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Resources.OptionName = \"resources\";\n return Resources;\n}(nested_option_1.default));\nexports.Resources = Resources;\nvar ScaleTypeRange = /** @class */ (function (_super) {\n __extends(ScaleTypeRange, _super);\n function ScaleTypeRange() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ScaleTypeRange.OptionName = \"scaleTypeRange\";\n return ScaleTypeRange;\n}(nested_option_1.default));\nexports.ScaleTypeRange = ScaleTypeRange;\nvar Sorting = /** @class */ (function (_super) {\n __extends(Sorting, _super);\n function Sorting() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Sorting.OptionName = \"sorting\";\n return Sorting;\n}(nested_option_1.default));\nexports.Sorting = Sorting;\nvar StripLine = /** @class */ (function (_super) {\n __extends(StripLine, _super);\n function StripLine() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StripLine.OptionName = \"stripLines\";\n StripLine.IsCollectionItem = true;\n return StripLine;\n}(nested_option_1.default));\nexports.StripLine = StripLine;\nvar Tasks = /** @class */ (function (_super) {\n __extends(Tasks, _super);\n function Tasks() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Tasks.OptionName = \"tasks\";\n return Tasks;\n}(nested_option_1.default));\nexports.Tasks = Tasks;\nvar Texts = /** @class */ (function (_super) {\n __extends(Texts, _super);\n function Texts() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Texts.OptionName = \"texts\";\n return Texts;\n}(nested_option_1.default));\nexports.Texts = Texts;\nvar Toolbar = /** @class */ (function (_super) {\n __extends(Toolbar, _super);\n function Toolbar() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Toolbar.OptionName = \"toolbar\";\n Toolbar.ExpectedChildren = {\n item: { optionName: \"items\", isCollectionItem: true },\n toolbarItem: { optionName: \"items\", isCollectionItem: true }\n };\n return Toolbar;\n}(nested_option_1.default));\nexports.Toolbar = Toolbar;\nvar ToolbarItem = /** @class */ (function (_super) {\n __extends(ToolbarItem, _super);\n function ToolbarItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ToolbarItem.OptionName = \"items\";\n ToolbarItem.IsCollectionItem = true;\n ToolbarItem.TemplateProps = [{\n tmplOption: \"menuItemTemplate\",\n render: \"menuItemRender\",\n component: \"menuItemComponent\",\n keyFn: \"menuItemKeyFn\"\n }, {\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return ToolbarItem;\n}(nested_option_1.default));\nexports.ToolbarItem = ToolbarItem;\nvar Validation = /** @class */ (function (_super) {\n __extends(Validation, _super);\n function Validation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Validation.OptionName = \"validation\";\n return Validation;\n}(nested_option_1.default));\nexports.Validation = Validation;\nexports.default = Gantt;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Variables = exports.ToolbarItem = exports.Toolbar = exports.TableResizing = exports.TableContextMenuItem = exports.TableContextMenu = exports.Tab = exports.Mention = exports.MediaResizing = exports.Item = exports.ImageUpload = exports.FileUploaderOptions = exports.HtmlEditor = void 0;\nvar html_editor_1 = require(\"devextreme/ui/html_editor\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar HtmlEditor = /** @class */ (function (_super) {\n __extends(HtmlEditor, _super);\n function HtmlEditor() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = html_editor_1.default;\n _this.subscribableOptions = [\"value\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onFocusIn\", \"onFocusOut\", \"onInitialized\", \"onValueChanged\"];\n _this._defaults = {\n defaultValue: \"value\"\n };\n _this._expectedChildren = {\n imageUpload: { optionName: \"imageUpload\", isCollectionItem: false },\n mediaResizing: { optionName: \"mediaResizing\", isCollectionItem: false },\n mention: { optionName: \"mentions\", isCollectionItem: true },\n tableContextMenu: { optionName: \"tableContextMenu\", isCollectionItem: false },\n tableResizing: { optionName: \"tableResizing\", isCollectionItem: false },\n toolbar: { optionName: \"toolbar\", isCollectionItem: false },\n variables: { optionName: \"variables\", isCollectionItem: false }\n };\n return _this;\n }\n Object.defineProperty(HtmlEditor.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return HtmlEditor;\n}(component_1.Component));\nexports.HtmlEditor = HtmlEditor;\nHtmlEditor.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n allowSoftLineBreak: PropTypes.bool,\n customizeModules: PropTypes.func,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n imageUpload: PropTypes.object,\n isValid: PropTypes.bool,\n mediaResizing: PropTypes.object,\n mentions: PropTypes.array,\n name: PropTypes.string,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onFocusIn: PropTypes.func,\n onFocusOut: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onValueChanged: PropTypes.func,\n placeholder: PropTypes.string,\n readOnly: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n stylingMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"outlined\",\n \"underlined\",\n \"filled\"\n ])\n ]),\n tabIndex: PropTypes.number,\n tableContextMenu: PropTypes.object,\n tableResizing: PropTypes.object,\n toolbar: PropTypes.object,\n validationErrors: PropTypes.array,\n validationMessageMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"always\",\n \"auto\"\n ])\n ]),\n validationMessagePosition: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"bottom\",\n \"left\",\n \"right\",\n \"top\"\n ])\n ]),\n validationStatus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"valid\",\n \"invalid\",\n \"pending\"\n ])\n ]),\n valueType: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"html\",\n \"markdown\"\n ])\n ]),\n variables: PropTypes.object,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar FileUploaderOptions = /** @class */ (function (_super) {\n __extends(FileUploaderOptions, _super);\n function FileUploaderOptions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FileUploaderOptions.OptionName = \"fileUploaderOptions\";\n FileUploaderOptions.DefaultsProps = {\n defaultValue: \"value\"\n };\n return FileUploaderOptions;\n}(nested_option_1.default));\nexports.FileUploaderOptions = FileUploaderOptions;\nvar ImageUpload = /** @class */ (function (_super) {\n __extends(ImageUpload, _super);\n function ImageUpload() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ImageUpload.OptionName = \"imageUpload\";\n ImageUpload.ExpectedChildren = {\n fileUploaderOptions: { optionName: \"fileUploaderOptions\", isCollectionItem: false },\n tab: { optionName: \"tabs\", isCollectionItem: true }\n };\n return ImageUpload;\n}(nested_option_1.default));\nexports.ImageUpload = ImageUpload;\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }, {\n tmplOption: \"menuItemTemplate\",\n render: \"menuItemRender\",\n component: \"menuItemComponent\",\n keyFn: \"menuItemKeyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nvar MediaResizing = /** @class */ (function (_super) {\n __extends(MediaResizing, _super);\n function MediaResizing() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MediaResizing.OptionName = \"mediaResizing\";\n return MediaResizing;\n}(nested_option_1.default));\nexports.MediaResizing = MediaResizing;\nvar Mention = /** @class */ (function (_super) {\n __extends(Mention, _super);\n function Mention() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Mention.OptionName = \"mentions\";\n Mention.IsCollectionItem = true;\n Mention.TemplateProps = [{\n tmplOption: \"itemTemplate\",\n render: \"itemRender\",\n component: \"itemComponent\",\n keyFn: \"itemKeyFn\"\n }, {\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Mention;\n}(nested_option_1.default));\nexports.Mention = Mention;\nvar Tab = /** @class */ (function (_super) {\n __extends(Tab, _super);\n function Tab() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Tab.OptionName = \"tabs\";\n Tab.IsCollectionItem = true;\n return Tab;\n}(nested_option_1.default));\nexports.Tab = Tab;\nvar TableContextMenu = /** @class */ (function (_super) {\n __extends(TableContextMenu, _super);\n function TableContextMenu() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TableContextMenu.OptionName = \"tableContextMenu\";\n TableContextMenu.ExpectedChildren = {\n item: { optionName: \"items\", isCollectionItem: true },\n tableContextMenuItem: { optionName: \"items\", isCollectionItem: true }\n };\n return TableContextMenu;\n}(nested_option_1.default));\nexports.TableContextMenu = TableContextMenu;\nvar TableContextMenuItem = /** @class */ (function (_super) {\n __extends(TableContextMenuItem, _super);\n function TableContextMenuItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TableContextMenuItem.OptionName = \"items\";\n TableContextMenuItem.IsCollectionItem = true;\n TableContextMenuItem.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return TableContextMenuItem;\n}(nested_option_1.default));\nexports.TableContextMenuItem = TableContextMenuItem;\nvar TableResizing = /** @class */ (function (_super) {\n __extends(TableResizing, _super);\n function TableResizing() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TableResizing.OptionName = \"tableResizing\";\n return TableResizing;\n}(nested_option_1.default));\nexports.TableResizing = TableResizing;\nvar Toolbar = /** @class */ (function (_super) {\n __extends(Toolbar, _super);\n function Toolbar() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Toolbar.OptionName = \"toolbar\";\n Toolbar.ExpectedChildren = {\n item: { optionName: \"items\", isCollectionItem: true },\n toolbarItem: { optionName: \"items\", isCollectionItem: true }\n };\n return Toolbar;\n}(nested_option_1.default));\nexports.Toolbar = Toolbar;\nvar ToolbarItem = /** @class */ (function (_super) {\n __extends(ToolbarItem, _super);\n function ToolbarItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ToolbarItem.OptionName = \"items\";\n ToolbarItem.IsCollectionItem = true;\n ToolbarItem.TemplateProps = [{\n tmplOption: \"menuItemTemplate\",\n render: \"menuItemRender\",\n component: \"menuItemComponent\",\n keyFn: \"menuItemKeyFn\"\n }, {\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return ToolbarItem;\n}(nested_option_1.default));\nexports.ToolbarItem = ToolbarItem;\nvar Variables = /** @class */ (function (_super) {\n __extends(Variables, _super);\n function Variables() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Variables.OptionName = \"variables\";\n return Variables;\n}(nested_option_1.default));\nexports.Variables = Variables;\nexports.default = HtmlEditor;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RangeSlider = exports.RangeSelector = exports.RadioGroup = exports.ProgressBar = exports.Popup = exports.Popover = exports.PolarChart = exports.PivotGridFieldChooser = exports.PivotGrid = exports.PieChart = exports.NumberBox = exports.MultiView = exports.Menu = exports.Map = exports.Lookup = exports.LoadPanel = exports.LoadIndicator = exports.List = exports.LinearGauge = exports.HtmlEditor = exports.Gantt = exports.Gallery = exports.Funnel = exports.Form = exports.FilterBuilder = exports.FileUploader = exports.FileManager = exports.DropDownButton = exports.DropDownBox = exports.Drawer = exports.Draggable = exports.Diagram = exports.DeferRendering = exports.DateBox = exports.DataGrid = exports.ContextMenu = exports.ColorBox = exports.CircularGauge = exports.CheckBox = exports.Chart = exports.Calendar = exports.ButtonGroup = exports.Button = exports.Bullet = exports.Box = exports.BarGauge = exports.Autocomplete = exports.ActionSheet = exports.Accordion = exports.Template = void 0;\nexports.VectorMap = exports.Validator = exports.ValidationSummary = exports.ValidationGroup = exports.TreeView = exports.TreeMap = exports.TreeList = exports.Tooltip = exports.Toolbar = exports.Toast = exports.TileView = exports.TextBox = exports.TextArea = exports.TagBox = exports.Tabs = exports.TabPanel = exports.Switch = exports.SpeedDialAction = exports.Sparkline = exports.Sortable = exports.Slider = exports.SelectBox = exports.ScrollView = exports.Scheduler = exports.Sankey = exports.ResponsiveBox = exports.Resizable = exports.RecurrenceEditor = void 0;\nvar template_1 = require(\"./core/template\");\nObject.defineProperty(exports, \"Template\", { enumerable: true, get: function () { return template_1.Template; } });\nvar accordion_1 = require(\"./accordion\");\nObject.defineProperty(exports, \"Accordion\", { enumerable: true, get: function () { return accordion_1.Accordion; } });\nvar action_sheet_1 = require(\"./action-sheet\");\nObject.defineProperty(exports, \"ActionSheet\", { enumerable: true, get: function () { return action_sheet_1.ActionSheet; } });\nvar autocomplete_1 = require(\"./autocomplete\");\nObject.defineProperty(exports, \"Autocomplete\", { enumerable: true, get: function () { return autocomplete_1.Autocomplete; } });\nvar bar_gauge_1 = require(\"./bar-gauge\");\nObject.defineProperty(exports, \"BarGauge\", { enumerable: true, get: function () { return bar_gauge_1.BarGauge; } });\nvar box_1 = require(\"./box\");\nObject.defineProperty(exports, \"Box\", { enumerable: true, get: function () { return box_1.Box; } });\nvar bullet_1 = require(\"./bullet\");\nObject.defineProperty(exports, \"Bullet\", { enumerable: true, get: function () { return bullet_1.Bullet; } });\nvar button_1 = require(\"./button\");\nObject.defineProperty(exports, \"Button\", { enumerable: true, get: function () { return button_1.Button; } });\nvar button_group_1 = require(\"./button-group\");\nObject.defineProperty(exports, \"ButtonGroup\", { enumerable: true, get: function () { return button_group_1.ButtonGroup; } });\nvar calendar_1 = require(\"./calendar\");\nObject.defineProperty(exports, \"Calendar\", { enumerable: true, get: function () { return calendar_1.Calendar; } });\nvar chart_1 = require(\"./chart\");\nObject.defineProperty(exports, \"Chart\", { enumerable: true, get: function () { return chart_1.Chart; } });\nvar check_box_1 = require(\"./check-box\");\nObject.defineProperty(exports, \"CheckBox\", { enumerable: true, get: function () { return check_box_1.CheckBox; } });\nvar circular_gauge_1 = require(\"./circular-gauge\");\nObject.defineProperty(exports, \"CircularGauge\", { enumerable: true, get: function () { return circular_gauge_1.CircularGauge; } });\nvar color_box_1 = require(\"./color-box\");\nObject.defineProperty(exports, \"ColorBox\", { enumerable: true, get: function () { return color_box_1.ColorBox; } });\nvar context_menu_1 = require(\"./context-menu\");\nObject.defineProperty(exports, \"ContextMenu\", { enumerable: true, get: function () { return context_menu_1.ContextMenu; } });\nvar data_grid_1 = require(\"./data-grid\");\nObject.defineProperty(exports, \"DataGrid\", { enumerable: true, get: function () { return data_grid_1.DataGrid; } });\nvar date_box_1 = require(\"./date-box\");\nObject.defineProperty(exports, \"DateBox\", { enumerable: true, get: function () { return date_box_1.DateBox; } });\nvar defer_rendering_1 = require(\"./defer-rendering\");\nObject.defineProperty(exports, \"DeferRendering\", { enumerable: true, get: function () { return defer_rendering_1.DeferRendering; } });\nvar diagram_1 = require(\"./diagram\");\nObject.defineProperty(exports, \"Diagram\", { enumerable: true, get: function () { return diagram_1.Diagram; } });\nvar draggable_1 = require(\"./draggable\");\nObject.defineProperty(exports, \"Draggable\", { enumerable: true, get: function () { return draggable_1.Draggable; } });\nvar drawer_1 = require(\"./drawer\");\nObject.defineProperty(exports, \"Drawer\", { enumerable: true, get: function () { return drawer_1.Drawer; } });\nvar drop_down_box_1 = require(\"./drop-down-box\");\nObject.defineProperty(exports, \"DropDownBox\", { enumerable: true, get: function () { return drop_down_box_1.DropDownBox; } });\nvar drop_down_button_1 = require(\"./drop-down-button\");\nObject.defineProperty(exports, \"DropDownButton\", { enumerable: true, get: function () { return drop_down_button_1.DropDownButton; } });\nvar file_manager_1 = require(\"./file-manager\");\nObject.defineProperty(exports, \"FileManager\", { enumerable: true, get: function () { return file_manager_1.FileManager; } });\nvar file_uploader_1 = require(\"./file-uploader\");\nObject.defineProperty(exports, \"FileUploader\", { enumerable: true, get: function () { return file_uploader_1.FileUploader; } });\nvar filter_builder_1 = require(\"./filter-builder\");\nObject.defineProperty(exports, \"FilterBuilder\", { enumerable: true, get: function () { return filter_builder_1.FilterBuilder; } });\nvar form_1 = require(\"./form\");\nObject.defineProperty(exports, \"Form\", { enumerable: true, get: function () { return form_1.Form; } });\nvar funnel_1 = require(\"./funnel\");\nObject.defineProperty(exports, \"Funnel\", { enumerable: true, get: function () { return funnel_1.Funnel; } });\nvar gallery_1 = require(\"./gallery\");\nObject.defineProperty(exports, \"Gallery\", { enumerable: true, get: function () { return gallery_1.Gallery; } });\nvar gantt_1 = require(\"./gantt\");\nObject.defineProperty(exports, \"Gantt\", { enumerable: true, get: function () { return gantt_1.Gantt; } });\nvar html_editor_1 = require(\"./html-editor\");\nObject.defineProperty(exports, \"HtmlEditor\", { enumerable: true, get: function () { return html_editor_1.HtmlEditor; } });\nvar linear_gauge_1 = require(\"./linear-gauge\");\nObject.defineProperty(exports, \"LinearGauge\", { enumerable: true, get: function () { return linear_gauge_1.LinearGauge; } });\nvar list_1 = require(\"./list\");\nObject.defineProperty(exports, \"List\", { enumerable: true, get: function () { return list_1.List; } });\nvar load_indicator_1 = require(\"./load-indicator\");\nObject.defineProperty(exports, \"LoadIndicator\", { enumerable: true, get: function () { return load_indicator_1.LoadIndicator; } });\nvar load_panel_1 = require(\"./load-panel\");\nObject.defineProperty(exports, \"LoadPanel\", { enumerable: true, get: function () { return load_panel_1.LoadPanel; } });\nvar lookup_1 = require(\"./lookup\");\nObject.defineProperty(exports, \"Lookup\", { enumerable: true, get: function () { return lookup_1.Lookup; } });\nvar map_1 = require(\"./map\");\nObject.defineProperty(exports, \"Map\", { enumerable: true, get: function () { return map_1.Map; } });\nvar menu_1 = require(\"./menu\");\nObject.defineProperty(exports, \"Menu\", { enumerable: true, get: function () { return menu_1.Menu; } });\nvar multi_view_1 = require(\"./multi-view\");\nObject.defineProperty(exports, \"MultiView\", { enumerable: true, get: function () { return multi_view_1.MultiView; } });\nvar number_box_1 = require(\"./number-box\");\nObject.defineProperty(exports, \"NumberBox\", { enumerable: true, get: function () { return number_box_1.NumberBox; } });\nvar pie_chart_1 = require(\"./pie-chart\");\nObject.defineProperty(exports, \"PieChart\", { enumerable: true, get: function () { return pie_chart_1.PieChart; } });\nvar pivot_grid_1 = require(\"./pivot-grid\");\nObject.defineProperty(exports, \"PivotGrid\", { enumerable: true, get: function () { return pivot_grid_1.PivotGrid; } });\nvar pivot_grid_field_chooser_1 = require(\"./pivot-grid-field-chooser\");\nObject.defineProperty(exports, \"PivotGridFieldChooser\", { enumerable: true, get: function () { return pivot_grid_field_chooser_1.PivotGridFieldChooser; } });\nvar polar_chart_1 = require(\"./polar-chart\");\nObject.defineProperty(exports, \"PolarChart\", { enumerable: true, get: function () { return polar_chart_1.PolarChart; } });\nvar popover_1 = require(\"./popover\");\nObject.defineProperty(exports, \"Popover\", { enumerable: true, get: function () { return popover_1.Popover; } });\nvar popup_1 = require(\"./popup\");\nObject.defineProperty(exports, \"Popup\", { enumerable: true, get: function () { return popup_1.Popup; } });\nvar progress_bar_1 = require(\"./progress-bar\");\nObject.defineProperty(exports, \"ProgressBar\", { enumerable: true, get: function () { return progress_bar_1.ProgressBar; } });\nvar radio_group_1 = require(\"./radio-group\");\nObject.defineProperty(exports, \"RadioGroup\", { enumerable: true, get: function () { return radio_group_1.RadioGroup; } });\nvar range_selector_1 = require(\"./range-selector\");\nObject.defineProperty(exports, \"RangeSelector\", { enumerable: true, get: function () { return range_selector_1.RangeSelector; } });\nvar range_slider_1 = require(\"./range-slider\");\nObject.defineProperty(exports, \"RangeSlider\", { enumerable: true, get: function () { return range_slider_1.RangeSlider; } });\nvar recurrence_editor_1 = require(\"./recurrence-editor\");\nObject.defineProperty(exports, \"RecurrenceEditor\", { enumerable: true, get: function () { return recurrence_editor_1.RecurrenceEditor; } });\nvar resizable_1 = require(\"./resizable\");\nObject.defineProperty(exports, \"Resizable\", { enumerable: true, get: function () { return resizable_1.Resizable; } });\nvar responsive_box_1 = require(\"./responsive-box\");\nObject.defineProperty(exports, \"ResponsiveBox\", { enumerable: true, get: function () { return responsive_box_1.ResponsiveBox; } });\nvar sankey_1 = require(\"./sankey\");\nObject.defineProperty(exports, \"Sankey\", { enumerable: true, get: function () { return sankey_1.Sankey; } });\nvar scheduler_1 = require(\"./scheduler\");\nObject.defineProperty(exports, \"Scheduler\", { enumerable: true, get: function () { return scheduler_1.Scheduler; } });\nvar scroll_view_1 = require(\"./scroll-view\");\nObject.defineProperty(exports, \"ScrollView\", { enumerable: true, get: function () { return scroll_view_1.ScrollView; } });\nvar select_box_1 = require(\"./select-box\");\nObject.defineProperty(exports, \"SelectBox\", { enumerable: true, get: function () { return select_box_1.SelectBox; } });\nvar slider_1 = require(\"./slider\");\nObject.defineProperty(exports, \"Slider\", { enumerable: true, get: function () { return slider_1.Slider; } });\nvar sortable_1 = require(\"./sortable\");\nObject.defineProperty(exports, \"Sortable\", { enumerable: true, get: function () { return sortable_1.Sortable; } });\nvar sparkline_1 = require(\"./sparkline\");\nObject.defineProperty(exports, \"Sparkline\", { enumerable: true, get: function () { return sparkline_1.Sparkline; } });\nvar speed_dial_action_1 = require(\"./speed-dial-action\");\nObject.defineProperty(exports, \"SpeedDialAction\", { enumerable: true, get: function () { return speed_dial_action_1.SpeedDialAction; } });\nvar switch_1 = require(\"./switch\");\nObject.defineProperty(exports, \"Switch\", { enumerable: true, get: function () { return switch_1.Switch; } });\nvar tab_panel_1 = require(\"./tab-panel\");\nObject.defineProperty(exports, \"TabPanel\", { enumerable: true, get: function () { return tab_panel_1.TabPanel; } });\nvar tabs_1 = require(\"./tabs\");\nObject.defineProperty(exports, \"Tabs\", { enumerable: true, get: function () { return tabs_1.Tabs; } });\nvar tag_box_1 = require(\"./tag-box\");\nObject.defineProperty(exports, \"TagBox\", { enumerable: true, get: function () { return tag_box_1.TagBox; } });\nvar text_area_1 = require(\"./text-area\");\nObject.defineProperty(exports, \"TextArea\", { enumerable: true, get: function () { return text_area_1.TextArea; } });\nvar text_box_1 = require(\"./text-box\");\nObject.defineProperty(exports, \"TextBox\", { enumerable: true, get: function () { return text_box_1.TextBox; } });\nvar tile_view_1 = require(\"./tile-view\");\nObject.defineProperty(exports, \"TileView\", { enumerable: true, get: function () { return tile_view_1.TileView; } });\nvar toast_1 = require(\"./toast\");\nObject.defineProperty(exports, \"Toast\", { enumerable: true, get: function () { return toast_1.Toast; } });\nvar toolbar_1 = require(\"./toolbar\");\nObject.defineProperty(exports, \"Toolbar\", { enumerable: true, get: function () { return toolbar_1.Toolbar; } });\nvar tooltip_1 = require(\"./tooltip\");\nObject.defineProperty(exports, \"Tooltip\", { enumerable: true, get: function () { return tooltip_1.Tooltip; } });\nvar tree_list_1 = require(\"./tree-list\");\nObject.defineProperty(exports, \"TreeList\", { enumerable: true, get: function () { return tree_list_1.TreeList; } });\nvar tree_map_1 = require(\"./tree-map\");\nObject.defineProperty(exports, \"TreeMap\", { enumerable: true, get: function () { return tree_map_1.TreeMap; } });\nvar tree_view_1 = require(\"./tree-view\");\nObject.defineProperty(exports, \"TreeView\", { enumerable: true, get: function () { return tree_view_1.TreeView; } });\nvar validation_group_1 = require(\"./validation-group\");\nObject.defineProperty(exports, \"ValidationGroup\", { enumerable: true, get: function () { return validation_group_1.ValidationGroup; } });\nvar validation_summary_1 = require(\"./validation-summary\");\nObject.defineProperty(exports, \"ValidationSummary\", { enumerable: true, get: function () { return validation_summary_1.ValidationSummary; } });\nvar validator_1 = require(\"./validator\");\nObject.defineProperty(exports, \"Validator\", { enumerable: true, get: function () { return validator_1.Validator; } });\nvar vector_map_1 = require(\"./vector-map\");\nObject.defineProperty(exports, \"VectorMap\", { enumerable: true, get: function () { return vector_map_1.VectorMap; } });\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Width = exports.ValueIndicator = exports.Tooltip = exports.Title = exports.Tick = exports.Text = exports.SubvalueIndicator = exports.Subtitle = exports.Size = exports.Shadow = exports.Scale = exports.RangeContainer = exports.Range = exports.MinorTick = exports.Margin = exports.LoadingIndicator = exports.Label = exports.Geometry = exports.Format = exports.Font = exports.Export = exports.Border = exports.Animation = exports.LinearGauge = void 0;\nvar linear_gauge_1 = require(\"devextreme/viz/linear_gauge\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar LinearGauge = /** @class */ (function (_super) {\n __extends(LinearGauge, _super);\n function LinearGauge() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = linear_gauge_1.default;\n _this.subscribableOptions = [\"loadingIndicator\", \"loadingIndicator.show\", \"subvalues\", \"value\"];\n _this.independentEvents = [\"onDisposing\", \"onDrawn\", \"onExported\", \"onExporting\", \"onFileSaving\", \"onIncidentOccurred\", \"onInitialized\", \"onTooltipHidden\", \"onTooltipShown\"];\n _this._defaults = {\n defaultLoadingIndicator: \"loadingIndicator\",\n defaultSubvalues: \"subvalues\",\n defaultValue: \"value\"\n };\n _this._expectedChildren = {\n animation: { optionName: \"animation\", isCollectionItem: false },\n export: { optionName: \"export\", isCollectionItem: false },\n geometry: { optionName: \"geometry\", isCollectionItem: false },\n loadingIndicator: { optionName: \"loadingIndicator\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n rangeContainer: { optionName: \"rangeContainer\", isCollectionItem: false },\n scale: { optionName: \"scale\", isCollectionItem: false },\n size: { optionName: \"size\", isCollectionItem: false },\n subvalueIndicator: { optionName: \"subvalueIndicator\", isCollectionItem: false },\n title: { optionName: \"title\", isCollectionItem: false },\n tooltip: { optionName: \"tooltip\", isCollectionItem: false },\n valueIndicator: { optionName: \"valueIndicator\", isCollectionItem: false }\n };\n return _this;\n }\n Object.defineProperty(LinearGauge.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return LinearGauge;\n}(component_1.Component));\nexports.LinearGauge = LinearGauge;\nLinearGauge.propTypes = {\n animation: PropTypes.object,\n containerBackgroundColor: PropTypes.string,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n export: PropTypes.object,\n geometry: PropTypes.object,\n loadingIndicator: PropTypes.object,\n margin: PropTypes.object,\n onDisposing: PropTypes.func,\n onDrawn: PropTypes.func,\n onExported: PropTypes.func,\n onExporting: PropTypes.func,\n onFileSaving: PropTypes.func,\n onIncidentOccurred: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onTooltipHidden: PropTypes.func,\n onTooltipShown: PropTypes.func,\n pathModified: PropTypes.bool,\n rangeContainer: PropTypes.object,\n redrawOnResize: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n scale: PropTypes.object,\n size: PropTypes.object,\n subvalueIndicator: PropTypes.object,\n subvalues: PropTypes.array,\n theme: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"generic.dark\",\n \"generic.light\",\n \"generic.contrast\",\n \"generic.carmine\",\n \"generic.darkmoon\",\n \"generic.darkviolet\",\n \"generic.greenmist\",\n \"generic.softblue\",\n \"material.blue.light\",\n \"material.lime.light\",\n \"material.orange.light\",\n \"material.purple.light\",\n \"material.teal.light\"\n ])\n ]),\n title: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string\n ]),\n tooltip: PropTypes.object,\n value: PropTypes.number,\n valueIndicator: PropTypes.object\n};\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Animation.OptionName = \"animation\";\n return Animation;\n}(nested_option_1.default));\nexports.Animation = Animation;\nvar Border = /** @class */ (function (_super) {\n __extends(Border, _super);\n function Border() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Border.OptionName = \"border\";\n return Border;\n}(nested_option_1.default));\nexports.Border = Border;\nvar Export = /** @class */ (function (_super) {\n __extends(Export, _super);\n function Export() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Export.OptionName = \"export\";\n return Export;\n}(nested_option_1.default));\nexports.Export = Export;\nvar Font = /** @class */ (function (_super) {\n __extends(Font, _super);\n function Font() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Font.OptionName = \"font\";\n return Font;\n}(nested_option_1.default));\nexports.Font = Font;\nvar Format = /** @class */ (function (_super) {\n __extends(Format, _super);\n function Format() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Format.OptionName = \"format\";\n return Format;\n}(nested_option_1.default));\nexports.Format = Format;\nvar Geometry = /** @class */ (function (_super) {\n __extends(Geometry, _super);\n function Geometry() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Geometry.OptionName = \"geometry\";\n return Geometry;\n}(nested_option_1.default));\nexports.Geometry = Geometry;\nvar Label = /** @class */ (function (_super) {\n __extends(Label, _super);\n function Label() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Label.OptionName = \"label\";\n Label.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false },\n format: { optionName: \"format\", isCollectionItem: false }\n };\n return Label;\n}(nested_option_1.default));\nexports.Label = Label;\nvar LoadingIndicator = /** @class */ (function (_super) {\n __extends(LoadingIndicator, _super);\n function LoadingIndicator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LoadingIndicator.OptionName = \"loadingIndicator\";\n LoadingIndicator.DefaultsProps = {\n defaultShow: \"show\"\n };\n LoadingIndicator.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false }\n };\n return LoadingIndicator;\n}(nested_option_1.default));\nexports.LoadingIndicator = LoadingIndicator;\nvar Margin = /** @class */ (function (_super) {\n __extends(Margin, _super);\n function Margin() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Margin.OptionName = \"margin\";\n return Margin;\n}(nested_option_1.default));\nexports.Margin = Margin;\nvar MinorTick = /** @class */ (function (_super) {\n __extends(MinorTick, _super);\n function MinorTick() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MinorTick.OptionName = \"minorTick\";\n return MinorTick;\n}(nested_option_1.default));\nexports.MinorTick = MinorTick;\nvar Range = /** @class */ (function (_super) {\n __extends(Range, _super);\n function Range() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Range.OptionName = \"ranges\";\n Range.IsCollectionItem = true;\n return Range;\n}(nested_option_1.default));\nexports.Range = Range;\nvar RangeContainer = /** @class */ (function (_super) {\n __extends(RangeContainer, _super);\n function RangeContainer() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RangeContainer.OptionName = \"rangeContainer\";\n RangeContainer.ExpectedChildren = {\n range: { optionName: \"ranges\", isCollectionItem: true },\n width: { optionName: \"width\", isCollectionItem: false }\n };\n return RangeContainer;\n}(nested_option_1.default));\nexports.RangeContainer = RangeContainer;\nvar Scale = /** @class */ (function (_super) {\n __extends(Scale, _super);\n function Scale() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Scale.OptionName = \"scale\";\n Scale.ExpectedChildren = {\n label: { optionName: \"label\", isCollectionItem: false },\n minorTick: { optionName: \"minorTick\", isCollectionItem: false },\n tick: { optionName: \"tick\", isCollectionItem: false }\n };\n return Scale;\n}(nested_option_1.default));\nexports.Scale = Scale;\nvar Shadow = /** @class */ (function (_super) {\n __extends(Shadow, _super);\n function Shadow() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Shadow.OptionName = \"shadow\";\n return Shadow;\n}(nested_option_1.default));\nexports.Shadow = Shadow;\nvar Size = /** @class */ (function (_super) {\n __extends(Size, _super);\n function Size() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Size.OptionName = \"size\";\n return Size;\n}(nested_option_1.default));\nexports.Size = Size;\nvar Subtitle = /** @class */ (function (_super) {\n __extends(Subtitle, _super);\n function Subtitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Subtitle.OptionName = \"subtitle\";\n Subtitle.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false }\n };\n return Subtitle;\n}(nested_option_1.default));\nexports.Subtitle = Subtitle;\nvar SubvalueIndicator = /** @class */ (function (_super) {\n __extends(SubvalueIndicator, _super);\n function SubvalueIndicator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SubvalueIndicator.OptionName = \"subvalueIndicator\";\n SubvalueIndicator.ExpectedChildren = {\n text: { optionName: \"text\", isCollectionItem: false }\n };\n return SubvalueIndicator;\n}(nested_option_1.default));\nexports.SubvalueIndicator = SubvalueIndicator;\nvar Text = /** @class */ (function (_super) {\n __extends(Text, _super);\n function Text() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Text.OptionName = \"text\";\n Text.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false },\n format: { optionName: \"format\", isCollectionItem: false }\n };\n return Text;\n}(nested_option_1.default));\nexports.Text = Text;\nvar Tick = /** @class */ (function (_super) {\n __extends(Tick, _super);\n function Tick() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Tick.OptionName = \"tick\";\n return Tick;\n}(nested_option_1.default));\nexports.Tick = Tick;\nvar Title = /** @class */ (function (_super) {\n __extends(Title, _super);\n function Title() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Title.OptionName = \"title\";\n Title.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n subtitle: { optionName: \"subtitle\", isCollectionItem: false }\n };\n return Title;\n}(nested_option_1.default));\nexports.Title = Title;\nvar Tooltip = /** @class */ (function (_super) {\n __extends(Tooltip, _super);\n function Tooltip() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Tooltip.OptionName = \"tooltip\";\n Tooltip.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n font: { optionName: \"font\", isCollectionItem: false },\n format: { optionName: \"format\", isCollectionItem: false },\n shadow: { optionName: \"shadow\", isCollectionItem: false }\n };\n Tooltip.TemplateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }];\n return Tooltip;\n}(nested_option_1.default));\nexports.Tooltip = Tooltip;\nvar ValueIndicator = /** @class */ (function (_super) {\n __extends(ValueIndicator, _super);\n function ValueIndicator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ValueIndicator.OptionName = \"valueIndicator\";\n return ValueIndicator;\n}(nested_option_1.default));\nexports.ValueIndicator = ValueIndicator;\nvar Width = /** @class */ (function (_super) {\n __extends(Width, _super);\n function Width() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Width.OptionName = \"width\";\n return Width;\n}(nested_option_1.default));\nexports.Width = Width;\nexports.default = LinearGauge;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SearchEditorOptions = exports.Options = exports.MenuItem = exports.ItemDragging = exports.Item = exports.CursorOffset = exports.Button = exports.List = void 0;\nvar list_1 = require(\"devextreme/ui/list\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar List = /** @class */ (function (_super) {\n __extends(List, _super);\n function List() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = list_1.default;\n _this.subscribableOptions = [\"items\", \"selectedItemKeys\", \"selectedItems\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onGroupRendered\", \"onInitialized\", \"onItemClick\", \"onItemContextMenu\", \"onItemDeleted\", \"onItemDeleting\", \"onItemHold\", \"onItemRendered\", \"onItemReordered\", \"onItemSwipe\", \"onPageLoading\", \"onPullRefresh\", \"onScroll\", \"onSelectAllValueChanged\"];\n _this._defaults = {\n defaultItems: \"items\",\n defaultSelectedItemKeys: \"selectedItemKeys\",\n defaultSelectedItems: \"selectedItems\"\n };\n _this._expectedChildren = {\n item: { optionName: \"items\", isCollectionItem: true },\n itemDragging: { optionName: \"itemDragging\", isCollectionItem: false },\n menuItem: { optionName: \"menuItems\", isCollectionItem: true },\n searchEditorOptions: { optionName: \"searchEditorOptions\", isCollectionItem: false }\n };\n _this._templateProps = [{\n tmplOption: \"groupTemplate\",\n render: \"groupRender\",\n component: \"groupComponent\",\n keyFn: \"groupKeyFn\"\n }, {\n tmplOption: \"itemTemplate\",\n render: \"itemRender\",\n component: \"itemComponent\",\n keyFn: \"itemKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(List.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return List;\n}(component_1.Component));\nexports.List = List;\nList.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n allowItemDeleting: PropTypes.bool,\n bounceEnabled: PropTypes.bool,\n collapsibleGroups: PropTypes.bool,\n disabled: PropTypes.bool,\n displayExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n grouped: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n indicateLoading: PropTypes.bool,\n itemDeleteMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"context\",\n \"slideButton\",\n \"slideItem\",\n \"static\",\n \"swipe\",\n \"toggle\"\n ])\n ]),\n itemDragging: PropTypes.object,\n itemHoldTimeout: PropTypes.number,\n items: PropTypes.array,\n keyExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n menuItems: PropTypes.array,\n menuMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"context\",\n \"slide\"\n ])\n ]),\n nextButtonText: PropTypes.string,\n noDataText: PropTypes.string,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onGroupRendered: PropTypes.func,\n onInitialized: PropTypes.func,\n onItemClick: PropTypes.func,\n onItemContextMenu: PropTypes.func,\n onItemDeleted: PropTypes.func,\n onItemDeleting: PropTypes.func,\n onItemHold: PropTypes.func,\n onItemRendered: PropTypes.func,\n onItemReordered: PropTypes.func,\n onItemSwipe: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onPageLoading: PropTypes.func,\n onPullRefresh: PropTypes.func,\n onScroll: PropTypes.func,\n onSelectAllValueChanged: PropTypes.func,\n onSelectionChanged: PropTypes.func,\n pageLoadingText: PropTypes.string,\n pageLoadMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"nextButton\",\n \"scrollBottom\"\n ])\n ]),\n pulledDownText: PropTypes.string,\n pullingDownText: PropTypes.string,\n pullRefreshEnabled: PropTypes.bool,\n refreshingText: PropTypes.string,\n repaintChangesOnly: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n scrollByContent: PropTypes.bool,\n scrollByThumb: PropTypes.bool,\n scrollingEnabled: PropTypes.bool,\n searchEditorOptions: PropTypes.object,\n searchEnabled: PropTypes.bool,\n searchExpr: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.func,\n PropTypes.string\n ]),\n searchMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"contains\",\n \"startswith\",\n \"equals\"\n ])\n ]),\n searchTimeout: PropTypes.number,\n searchValue: PropTypes.string,\n selectAllMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"allPages\",\n \"page\"\n ])\n ]),\n selectAllText: PropTypes.string,\n selectedItemKeys: PropTypes.array,\n selectedItems: PropTypes.array,\n selectionMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"single\",\n \"multiple\",\n \"all\",\n \"none\"\n ])\n ]),\n showScrollbar: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"always\",\n \"never\",\n \"onHover\",\n \"onScroll\"\n ])\n ]),\n showSelectionControls: PropTypes.bool,\n tabIndex: PropTypes.number,\n useNativeScrolling: PropTypes.bool,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Button = /** @class */ (function (_super) {\n __extends(Button, _super);\n function Button() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Button.OptionName = \"buttons\";\n Button.IsCollectionItem = true;\n Button.ExpectedChildren = {\n options: { optionName: \"options\", isCollectionItem: false }\n };\n return Button;\n}(nested_option_1.default));\nexports.Button = Button;\nvar CursorOffset = /** @class */ (function (_super) {\n __extends(CursorOffset, _super);\n function CursorOffset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CursorOffset.OptionName = \"cursorOffset\";\n return CursorOffset;\n}(nested_option_1.default));\nexports.CursorOffset = CursorOffset;\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nvar ItemDragging = /** @class */ (function (_super) {\n __extends(ItemDragging, _super);\n function ItemDragging() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ItemDragging.OptionName = \"itemDragging\";\n ItemDragging.ExpectedChildren = {\n cursorOffset: { optionName: \"cursorOffset\", isCollectionItem: false }\n };\n ItemDragging.TemplateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }, {\n tmplOption: \"dragTemplate\",\n render: \"dragRender\",\n component: \"dragComponent\",\n keyFn: \"dragKeyFn\"\n }];\n return ItemDragging;\n}(nested_option_1.default));\nexports.ItemDragging = ItemDragging;\nvar MenuItem = /** @class */ (function (_super) {\n __extends(MenuItem, _super);\n function MenuItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MenuItem.OptionName = \"menuItems\";\n MenuItem.IsCollectionItem = true;\n return MenuItem;\n}(nested_option_1.default));\nexports.MenuItem = MenuItem;\nvar Options = /** @class */ (function (_super) {\n __extends(Options, _super);\n function Options() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Options.OptionName = \"options\";\n Options.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Options;\n}(nested_option_1.default));\nexports.Options = Options;\nvar SearchEditorOptions = /** @class */ (function (_super) {\n __extends(SearchEditorOptions, _super);\n function SearchEditorOptions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SearchEditorOptions.OptionName = \"searchEditorOptions\";\n SearchEditorOptions.DefaultsProps = {\n defaultValue: \"value\"\n };\n SearchEditorOptions.ExpectedChildren = {\n button: { optionName: \"buttons\", isCollectionItem: true }\n };\n return SearchEditorOptions;\n}(nested_option_1.default));\nexports.SearchEditorOptions = SearchEditorOptions;\nexports.default = List;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LoadIndicator = void 0;\nvar load_indicator_1 = require(\"devextreme/ui/load_indicator\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar LoadIndicator = /** @class */ (function (_super) {\n __extends(LoadIndicator, _super);\n function LoadIndicator() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = load_indicator_1.default;\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onInitialized\"];\n return _this;\n }\n Object.defineProperty(LoadIndicator.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return LoadIndicator;\n}(component_1.Component));\nexports.LoadIndicator = LoadIndicator;\nLoadIndicator.propTypes = {\n elementAttr: PropTypes.object,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n indicatorSrc: PropTypes.string,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n rtlEnabled: PropTypes.bool,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nexports.default = LoadIndicator;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.To = exports.Show = exports.Position = exports.Offset = exports.My = exports.Hide = exports.From = exports.Collision = exports.BoundaryOffset = exports.At = exports.Animation = exports.LoadPanel = void 0;\nvar load_panel_1 = require(\"devextreme/ui/load_panel\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar LoadPanel = /** @class */ (function (_super) {\n __extends(LoadPanel, _super);\n function LoadPanel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = load_panel_1.default;\n _this.isPortalComponent = true;\n _this.subscribableOptions = [\"position\", \"visible\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onHidden\", \"onHiding\", \"onInitialized\", \"onShowing\", \"onShown\"];\n _this._defaults = {\n defaultPosition: \"position\",\n defaultVisible: \"visible\"\n };\n _this._expectedChildren = {\n animation: { optionName: \"animation\", isCollectionItem: false },\n position: { optionName: \"position\", isCollectionItem: false }\n };\n return _this;\n }\n Object.defineProperty(LoadPanel.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return LoadPanel;\n}(component_1.Component));\nexports.LoadPanel = LoadPanel;\nLoadPanel.propTypes = {\n animation: PropTypes.object,\n closeOnOutsideClick: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.func\n ]),\n copyRootClassesToWrapper: PropTypes.bool,\n deferRendering: PropTypes.bool,\n delay: PropTypes.number,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hideOnOutsideClick: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.func\n ]),\n hideOnParentScroll: PropTypes.bool,\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n indicatorSrc: PropTypes.string,\n maxHeight: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n maxWidth: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n message: PropTypes.string,\n minHeight: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n minWidth: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onHidden: PropTypes.func,\n onHiding: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onShowing: PropTypes.func,\n onShown: PropTypes.func,\n position: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.object,\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"bottom\",\n \"center\",\n \"left\",\n \"left bottom\",\n \"left top\",\n \"right\",\n \"right bottom\",\n \"right top\",\n \"top\"\n ])\n ])\n ]),\n rtlEnabled: PropTypes.bool,\n shading: PropTypes.bool,\n shadingColor: PropTypes.string,\n showIndicator: PropTypes.bool,\n showPane: PropTypes.bool,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Animation.OptionName = \"animation\";\n Animation.ExpectedChildren = {\n hide: { optionName: \"hide\", isCollectionItem: false },\n show: { optionName: \"show\", isCollectionItem: false }\n };\n return Animation;\n}(nested_option_1.default));\nexports.Animation = Animation;\nvar At = /** @class */ (function (_super) {\n __extends(At, _super);\n function At() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n At.OptionName = \"at\";\n return At;\n}(nested_option_1.default));\nexports.At = At;\nvar BoundaryOffset = /** @class */ (function (_super) {\n __extends(BoundaryOffset, _super);\n function BoundaryOffset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BoundaryOffset.OptionName = \"boundaryOffset\";\n return BoundaryOffset;\n}(nested_option_1.default));\nexports.BoundaryOffset = BoundaryOffset;\nvar Collision = /** @class */ (function (_super) {\n __extends(Collision, _super);\n function Collision() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Collision.OptionName = \"collision\";\n return Collision;\n}(nested_option_1.default));\nexports.Collision = Collision;\nvar From = /** @class */ (function (_super) {\n __extends(From, _super);\n function From() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n From.OptionName = \"from\";\n From.ExpectedChildren = {\n position: { optionName: \"position\", isCollectionItem: false }\n };\n return From;\n}(nested_option_1.default));\nexports.From = From;\nvar Hide = /** @class */ (function (_super) {\n __extends(Hide, _super);\n function Hide() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Hide.OptionName = \"hide\";\n Hide.ExpectedChildren = {\n from: { optionName: \"from\", isCollectionItem: false },\n to: { optionName: \"to\", isCollectionItem: false }\n };\n return Hide;\n}(nested_option_1.default));\nexports.Hide = Hide;\nvar My = /** @class */ (function (_super) {\n __extends(My, _super);\n function My() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n My.OptionName = \"my\";\n return My;\n}(nested_option_1.default));\nexports.My = My;\nvar Offset = /** @class */ (function (_super) {\n __extends(Offset, _super);\n function Offset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Offset.OptionName = \"offset\";\n return Offset;\n}(nested_option_1.default));\nexports.Offset = Offset;\nvar Position = /** @class */ (function (_super) {\n __extends(Position, _super);\n function Position() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Position.OptionName = \"position\";\n return Position;\n}(nested_option_1.default));\nexports.Position = Position;\nvar Show = /** @class */ (function (_super) {\n __extends(Show, _super);\n function Show() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Show.OptionName = \"show\";\n return Show;\n}(nested_option_1.default));\nexports.Show = Show;\nvar To = /** @class */ (function (_super) {\n __extends(To, _super);\n function To() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n To.OptionName = \"to\";\n return To;\n}(nested_option_1.default));\nexports.To = To;\nexports.default = LoadPanel;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ToolbarItem = exports.To = exports.ShowEvent = exports.Show = exports.Position = exports.Offset = exports.My = exports.Item = exports.HideEvent = exports.Hide = exports.From = exports.DropDownOptions = exports.Collision = exports.BoundaryOffset = exports.At = exports.Animation = exports.Lookup = void 0;\nvar lookup_1 = require(\"devextreme/ui/lookup\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Lookup = /** @class */ (function (_super) {\n __extends(Lookup, _super);\n function Lookup() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = lookup_1.default;\n _this.subscribableOptions = [\"opened\", \"value\"];\n _this.independentEvents = [\"onClosed\", \"onContentReady\", \"onDisposing\", \"onInitialized\", \"onItemClick\", \"onOpened\", \"onPageLoading\", \"onPullRefresh\", \"onScroll\", \"onValueChanged\"];\n _this._defaults = {\n defaultOpened: \"opened\",\n defaultValue: \"value\"\n };\n _this._expectedChildren = {\n dropDownOptions: { optionName: \"dropDownOptions\", isCollectionItem: false },\n item: { optionName: \"items\", isCollectionItem: true }\n };\n _this._templateProps = [{\n tmplOption: \"fieldTemplate\",\n render: \"fieldRender\",\n component: \"fieldComponent\",\n keyFn: \"fieldKeyFn\"\n }, {\n tmplOption: \"groupTemplate\",\n render: \"groupRender\",\n component: \"groupComponent\",\n keyFn: \"groupKeyFn\"\n }, {\n tmplOption: \"itemTemplate\",\n render: \"itemRender\",\n component: \"itemComponent\",\n keyFn: \"itemKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(Lookup.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Lookup;\n}(component_1.Component));\nexports.Lookup = Lookup;\nLookup.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n applyButtonText: PropTypes.string,\n applyValueMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"instantly\",\n \"useButtons\"\n ])\n ]),\n cancelButtonText: PropTypes.string,\n cleanSearchOnOpening: PropTypes.bool,\n clearButtonText: PropTypes.string,\n deferRendering: PropTypes.bool,\n disabled: PropTypes.bool,\n displayExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n displayValue: PropTypes.string,\n dropDownCentered: PropTypes.bool,\n dropDownOptions: PropTypes.object,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n fullScreen: PropTypes.bool,\n grouped: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n isValid: PropTypes.bool,\n items: PropTypes.array,\n label: PropTypes.string,\n labelMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"static\",\n \"floating\",\n \"hidden\"\n ])\n ]),\n minSearchLength: PropTypes.number,\n name: PropTypes.string,\n nextButtonText: PropTypes.string,\n noDataText: PropTypes.string,\n onClosed: PropTypes.func,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onItemClick: PropTypes.func,\n onOpened: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onPageLoading: PropTypes.func,\n onPullRefresh: PropTypes.func,\n onScroll: PropTypes.func,\n onSelectionChanged: PropTypes.func,\n onValueChanged: PropTypes.func,\n opened: PropTypes.bool,\n pageLoadingText: PropTypes.string,\n pageLoadMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"nextButton\",\n \"scrollBottom\"\n ])\n ]),\n placeholder: PropTypes.string,\n pulledDownText: PropTypes.string,\n pullingDownText: PropTypes.string,\n pullRefreshEnabled: PropTypes.bool,\n refreshingText: PropTypes.string,\n rtlEnabled: PropTypes.bool,\n searchEnabled: PropTypes.bool,\n searchExpr: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.func,\n PropTypes.string\n ]),\n searchMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"contains\",\n \"startswith\"\n ])\n ]),\n searchPlaceholder: PropTypes.string,\n searchStartEvent: PropTypes.string,\n searchTimeout: PropTypes.number,\n showCancelButton: PropTypes.bool,\n showClearButton: PropTypes.bool,\n showDataBeforeSearch: PropTypes.bool,\n stylingMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"outlined\",\n \"underlined\",\n \"filled\"\n ])\n ]),\n tabIndex: PropTypes.number,\n text: PropTypes.string,\n useItemTextAsTitle: PropTypes.bool,\n useNativeScrolling: PropTypes.bool,\n usePopover: PropTypes.bool,\n validationErrors: PropTypes.array,\n validationMessageMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"always\",\n \"auto\"\n ])\n ]),\n validationMessagePosition: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"bottom\",\n \"left\",\n \"right\",\n \"top\",\n \"auto\"\n ])\n ]),\n validationStatus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"valid\",\n \"invalid\",\n \"pending\"\n ])\n ]),\n valueChangeEvent: PropTypes.string,\n valueExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n wrapItemText: PropTypes.bool\n};\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Animation.OptionName = \"animation\";\n Animation.ExpectedChildren = {\n hide: { optionName: \"hide\", isCollectionItem: false },\n show: { optionName: \"show\", isCollectionItem: false }\n };\n return Animation;\n}(nested_option_1.default));\nexports.Animation = Animation;\nvar At = /** @class */ (function (_super) {\n __extends(At, _super);\n function At() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n At.OptionName = \"at\";\n return At;\n}(nested_option_1.default));\nexports.At = At;\nvar BoundaryOffset = /** @class */ (function (_super) {\n __extends(BoundaryOffset, _super);\n function BoundaryOffset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BoundaryOffset.OptionName = \"boundaryOffset\";\n return BoundaryOffset;\n}(nested_option_1.default));\nexports.BoundaryOffset = BoundaryOffset;\nvar Collision = /** @class */ (function (_super) {\n __extends(Collision, _super);\n function Collision() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Collision.OptionName = \"collision\";\n return Collision;\n}(nested_option_1.default));\nexports.Collision = Collision;\nvar DropDownOptions = /** @class */ (function (_super) {\n __extends(DropDownOptions, _super);\n function DropDownOptions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DropDownOptions.OptionName = \"dropDownOptions\";\n DropDownOptions.DefaultsProps = {\n defaultHeight: \"height\",\n defaultPosition: \"position\",\n defaultVisible: \"visible\",\n defaultWidth: \"width\"\n };\n DropDownOptions.ExpectedChildren = {\n animation: { optionName: \"animation\", isCollectionItem: false },\n hideEvent: { optionName: \"hideEvent\", isCollectionItem: false },\n position: { optionName: \"position\", isCollectionItem: false },\n showEvent: { optionName: \"showEvent\", isCollectionItem: false },\n toolbarItem: { optionName: \"toolbarItems\", isCollectionItem: true }\n };\n DropDownOptions.TemplateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }, {\n tmplOption: \"titleTemplate\",\n render: \"titleRender\",\n component: \"titleComponent\",\n keyFn: \"titleKeyFn\"\n }];\n return DropDownOptions;\n}(nested_option_1.default));\nexports.DropDownOptions = DropDownOptions;\nvar From = /** @class */ (function (_super) {\n __extends(From, _super);\n function From() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n From.OptionName = \"from\";\n From.ExpectedChildren = {\n position: { optionName: \"position\", isCollectionItem: false }\n };\n return From;\n}(nested_option_1.default));\nexports.From = From;\nvar Hide = /** @class */ (function (_super) {\n __extends(Hide, _super);\n function Hide() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Hide.OptionName = \"hide\";\n Hide.ExpectedChildren = {\n from: { optionName: \"from\", isCollectionItem: false },\n to: { optionName: \"to\", isCollectionItem: false }\n };\n return Hide;\n}(nested_option_1.default));\nexports.Hide = Hide;\nvar HideEvent = /** @class */ (function (_super) {\n __extends(HideEvent, _super);\n function HideEvent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HideEvent.OptionName = \"hideEvent\";\n return HideEvent;\n}(nested_option_1.default));\nexports.HideEvent = HideEvent;\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nvar My = /** @class */ (function (_super) {\n __extends(My, _super);\n function My() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n My.OptionName = \"my\";\n return My;\n}(nested_option_1.default));\nexports.My = My;\nvar Offset = /** @class */ (function (_super) {\n __extends(Offset, _super);\n function Offset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Offset.OptionName = \"offset\";\n return Offset;\n}(nested_option_1.default));\nexports.Offset = Offset;\nvar Position = /** @class */ (function (_super) {\n __extends(Position, _super);\n function Position() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Position.OptionName = \"position\";\n return Position;\n}(nested_option_1.default));\nexports.Position = Position;\nvar Show = /** @class */ (function (_super) {\n __extends(Show, _super);\n function Show() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Show.OptionName = \"show\";\n return Show;\n}(nested_option_1.default));\nexports.Show = Show;\nvar ShowEvent = /** @class */ (function (_super) {\n __extends(ShowEvent, _super);\n function ShowEvent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ShowEvent.OptionName = \"showEvent\";\n return ShowEvent;\n}(nested_option_1.default));\nexports.ShowEvent = ShowEvent;\nvar To = /** @class */ (function (_super) {\n __extends(To, _super);\n function To() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n To.OptionName = \"to\";\n return To;\n}(nested_option_1.default));\nexports.To = To;\nvar ToolbarItem = /** @class */ (function (_super) {\n __extends(ToolbarItem, _super);\n function ToolbarItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ToolbarItem.OptionName = \"toolbarItems\";\n ToolbarItem.IsCollectionItem = true;\n ToolbarItem.TemplateProps = [{\n tmplOption: \"menuItemTemplate\",\n render: \"menuItemRender\",\n component: \"menuItemComponent\",\n keyFn: \"menuItemKeyFn\"\n }, {\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return ToolbarItem;\n}(nested_option_1.default));\nexports.ToolbarItem = ToolbarItem;\nexports.default = Lookup;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Tooltip = exports.Route = exports.Marker = exports.Location = exports.Center = exports.ApiKey = exports.Map = void 0;\nvar map_1 = require(\"devextreme/ui/map\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Map = /** @class */ (function (_super) {\n __extends(Map, _super);\n function Map() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = map_1.default;\n _this.subscribableOptions = [\"center\", \"markers\", \"routes\", \"zoom\"];\n _this.independentEvents = [\"onClick\", \"onDisposing\", \"onInitialized\", \"onMarkerAdded\", \"onMarkerRemoved\", \"onReady\", \"onRouteAdded\", \"onRouteRemoved\"];\n _this._defaults = {\n defaultCenter: \"center\",\n defaultMarkers: \"markers\",\n defaultRoutes: \"routes\",\n defaultZoom: \"zoom\"\n };\n _this._expectedChildren = {\n apiKey: { optionName: \"apiKey\", isCollectionItem: false },\n center: { optionName: \"center\", isCollectionItem: false },\n marker: { optionName: \"markers\", isCollectionItem: true },\n route: { optionName: \"routes\", isCollectionItem: true }\n };\n return _this;\n }\n Object.defineProperty(Map.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Map;\n}(component_1.Component));\nexports.Map = Map;\nMap.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n apiKey: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string\n ]),\n autoAdjust: PropTypes.bool,\n center: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object,\n PropTypes.string\n ]),\n controls: PropTypes.bool,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n markerIconSrc: PropTypes.string,\n markers: PropTypes.array,\n onClick: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onMarkerAdded: PropTypes.func,\n onMarkerRemoved: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onReady: PropTypes.func,\n onRouteAdded: PropTypes.func,\n onRouteRemoved: PropTypes.func,\n provider: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"bing\",\n \"google\",\n \"googleStatic\"\n ])\n ]),\n routes: PropTypes.array,\n rtlEnabled: PropTypes.bool,\n tabIndex: PropTypes.number,\n type: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"hybrid\",\n \"roadmap\",\n \"satellite\"\n ])\n ]),\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n zoom: PropTypes.number\n};\nvar ApiKey = /** @class */ (function (_super) {\n __extends(ApiKey, _super);\n function ApiKey() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ApiKey.OptionName = \"apiKey\";\n return ApiKey;\n}(nested_option_1.default));\nexports.ApiKey = ApiKey;\nvar Center = /** @class */ (function (_super) {\n __extends(Center, _super);\n function Center() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Center.OptionName = \"center\";\n return Center;\n}(nested_option_1.default));\nexports.Center = Center;\nvar Location = /** @class */ (function (_super) {\n __extends(Location, _super);\n function Location() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Location.OptionName = \"location\";\n return Location;\n}(nested_option_1.default));\nexports.Location = Location;\nvar Marker = /** @class */ (function (_super) {\n __extends(Marker, _super);\n function Marker() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Marker.OptionName = \"markers\";\n Marker.IsCollectionItem = true;\n Marker.ExpectedChildren = {\n location: { optionName: \"location\", isCollectionItem: false },\n tooltip: { optionName: \"tooltip\", isCollectionItem: false }\n };\n return Marker;\n}(nested_option_1.default));\nexports.Marker = Marker;\nvar Route = /** @class */ (function (_super) {\n __extends(Route, _super);\n function Route() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Route.OptionName = \"routes\";\n Route.IsCollectionItem = true;\n Route.ExpectedChildren = {\n location: { optionName: \"locations\", isCollectionItem: true }\n };\n return Route;\n}(nested_option_1.default));\nexports.Route = Route;\nvar Tooltip = /** @class */ (function (_super) {\n __extends(Tooltip, _super);\n function Tooltip() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Tooltip.OptionName = \"tooltip\";\n return Tooltip;\n}(nested_option_1.default));\nexports.Tooltip = Tooltip;\nexports.default = Map;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.To = exports.ShowSubmenuMode = exports.ShowFirstSubmenuMode = exports.Show = exports.Position = exports.Offset = exports.My = exports.Item = exports.Hide = exports.From = exports.Delay = exports.Collision = exports.BoundaryOffset = exports.At = exports.Animation = exports.Menu = void 0;\nvar menu_1 = require(\"devextreme/ui/menu\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Menu = /** @class */ (function (_super) {\n __extends(Menu, _super);\n function Menu() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = menu_1.default;\n _this.subscribableOptions = [\"items\", \"selectedItem\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onInitialized\", \"onItemClick\", \"onItemContextMenu\", \"onItemRendered\", \"onSubmenuHidden\", \"onSubmenuHiding\", \"onSubmenuShowing\", \"onSubmenuShown\"];\n _this._defaults = {\n defaultItems: \"items\",\n defaultSelectedItem: \"selectedItem\"\n };\n _this._expectedChildren = {\n animation: { optionName: \"animation\", isCollectionItem: false },\n item: { optionName: \"items\", isCollectionItem: true },\n showFirstSubmenuMode: { optionName: \"showFirstSubmenuMode\", isCollectionItem: false },\n showSubmenuMode: { optionName: \"showSubmenuMode\", isCollectionItem: false }\n };\n _this._templateProps = [{\n tmplOption: \"itemTemplate\",\n render: \"itemRender\",\n component: \"itemComponent\",\n keyFn: \"itemKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(Menu.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Menu;\n}(component_1.Component));\nexports.Menu = Menu;\nMenu.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n adaptivityEnabled: PropTypes.bool,\n animation: PropTypes.object,\n cssClass: PropTypes.string,\n disabled: PropTypes.bool,\n disabledExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n displayExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hideSubmenuOnMouseLeave: PropTypes.bool,\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n items: PropTypes.array,\n itemsExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onItemClick: PropTypes.func,\n onItemContextMenu: PropTypes.func,\n onItemRendered: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onSelectionChanged: PropTypes.func,\n onSubmenuHidden: PropTypes.func,\n onSubmenuHiding: PropTypes.func,\n onSubmenuShowing: PropTypes.func,\n onSubmenuShown: PropTypes.func,\n orientation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"horizontal\",\n \"vertical\"\n ])\n ]),\n rtlEnabled: PropTypes.bool,\n selectByClick: PropTypes.bool,\n selectedExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n selectionMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"single\",\n \"none\"\n ])\n ]),\n showFirstSubmenuMode: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"onClick\",\n \"onHover\"\n ])\n ])\n ]),\n showSubmenuMode: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"onClick\",\n \"onHover\"\n ])\n ])\n ]),\n submenuDirection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"auto\",\n \"leftOrTop\",\n \"rightOrBottom\"\n ])\n ]),\n tabIndex: PropTypes.number,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Animation.OptionName = \"animation\";\n Animation.ExpectedChildren = {\n hide: { optionName: \"hide\", isCollectionItem: false },\n show: { optionName: \"show\", isCollectionItem: false }\n };\n return Animation;\n}(nested_option_1.default));\nexports.Animation = Animation;\nvar At = /** @class */ (function (_super) {\n __extends(At, _super);\n function At() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n At.OptionName = \"at\";\n return At;\n}(nested_option_1.default));\nexports.At = At;\nvar BoundaryOffset = /** @class */ (function (_super) {\n __extends(BoundaryOffset, _super);\n function BoundaryOffset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BoundaryOffset.OptionName = \"boundaryOffset\";\n return BoundaryOffset;\n}(nested_option_1.default));\nexports.BoundaryOffset = BoundaryOffset;\nvar Collision = /** @class */ (function (_super) {\n __extends(Collision, _super);\n function Collision() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Collision.OptionName = \"collision\";\n return Collision;\n}(nested_option_1.default));\nexports.Collision = Collision;\nvar Delay = /** @class */ (function (_super) {\n __extends(Delay, _super);\n function Delay() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Delay.OptionName = \"delay\";\n return Delay;\n}(nested_option_1.default));\nexports.Delay = Delay;\nvar From = /** @class */ (function (_super) {\n __extends(From, _super);\n function From() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n From.OptionName = \"from\";\n From.ExpectedChildren = {\n position: { optionName: \"position\", isCollectionItem: false }\n };\n return From;\n}(nested_option_1.default));\nexports.From = From;\nvar Hide = /** @class */ (function (_super) {\n __extends(Hide, _super);\n function Hide() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Hide.OptionName = \"hide\";\n Hide.ExpectedChildren = {\n from: { optionName: \"from\", isCollectionItem: false },\n to: { optionName: \"to\", isCollectionItem: false }\n };\n return Hide;\n}(nested_option_1.default));\nexports.Hide = Hide;\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nvar My = /** @class */ (function (_super) {\n __extends(My, _super);\n function My() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n My.OptionName = \"my\";\n return My;\n}(nested_option_1.default));\nexports.My = My;\nvar Offset = /** @class */ (function (_super) {\n __extends(Offset, _super);\n function Offset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Offset.OptionName = \"offset\";\n return Offset;\n}(nested_option_1.default));\nexports.Offset = Offset;\nvar Position = /** @class */ (function (_super) {\n __extends(Position, _super);\n function Position() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Position.OptionName = \"position\";\n Position.ExpectedChildren = {\n at: { optionName: \"at\", isCollectionItem: false },\n boundaryOffset: { optionName: \"boundaryOffset\", isCollectionItem: false },\n collision: { optionName: \"collision\", isCollectionItem: false },\n my: { optionName: \"my\", isCollectionItem: false },\n offset: { optionName: \"offset\", isCollectionItem: false }\n };\n return Position;\n}(nested_option_1.default));\nexports.Position = Position;\nvar Show = /** @class */ (function (_super) {\n __extends(Show, _super);\n function Show() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Show.OptionName = \"show\";\n return Show;\n}(nested_option_1.default));\nexports.Show = Show;\nvar ShowFirstSubmenuMode = /** @class */ (function (_super) {\n __extends(ShowFirstSubmenuMode, _super);\n function ShowFirstSubmenuMode() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ShowFirstSubmenuMode.OptionName = \"showFirstSubmenuMode\";\n ShowFirstSubmenuMode.ExpectedChildren = {\n delay: { optionName: \"delay\", isCollectionItem: false }\n };\n return ShowFirstSubmenuMode;\n}(nested_option_1.default));\nexports.ShowFirstSubmenuMode = ShowFirstSubmenuMode;\nvar ShowSubmenuMode = /** @class */ (function (_super) {\n __extends(ShowSubmenuMode, _super);\n function ShowSubmenuMode() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ShowSubmenuMode.OptionName = \"showSubmenuMode\";\n ShowSubmenuMode.ExpectedChildren = {\n delay: { optionName: \"delay\", isCollectionItem: false }\n };\n return ShowSubmenuMode;\n}(nested_option_1.default));\nexports.ShowSubmenuMode = ShowSubmenuMode;\nvar To = /** @class */ (function (_super) {\n __extends(To, _super);\n function To() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n To.OptionName = \"to\";\n return To;\n}(nested_option_1.default));\nexports.To = To;\nexports.default = Menu;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Item = exports.MultiView = void 0;\nvar multi_view_1 = require(\"devextreme/ui/multi_view\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar MultiView = /** @class */ (function (_super) {\n __extends(MultiView, _super);\n function MultiView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = multi_view_1.default;\n _this.subscribableOptions = [\"items\", \"selectedIndex\", \"selectedItem\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onInitialized\", \"onItemClick\", \"onItemContextMenu\", \"onItemHold\", \"onItemRendered\"];\n _this._defaults = {\n defaultItems: \"items\",\n defaultSelectedIndex: \"selectedIndex\",\n defaultSelectedItem: \"selectedItem\"\n };\n _this._expectedChildren = {\n item: { optionName: \"items\", isCollectionItem: true }\n };\n _this._templateProps = [{\n tmplOption: \"itemTemplate\",\n render: \"itemRender\",\n component: \"itemComponent\",\n keyFn: \"itemKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(MultiView.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return MultiView;\n}(component_1.Component));\nexports.MultiView = MultiView;\nMultiView.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n animationEnabled: PropTypes.bool,\n deferRendering: PropTypes.bool,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n itemHoldTimeout: PropTypes.number,\n items: PropTypes.array,\n loop: PropTypes.bool,\n noDataText: PropTypes.string,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onItemClick: PropTypes.func,\n onItemContextMenu: PropTypes.func,\n onItemHold: PropTypes.func,\n onItemRendered: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onSelectionChanged: PropTypes.func,\n rtlEnabled: PropTypes.bool,\n selectedIndex: PropTypes.number,\n swipeEnabled: PropTypes.bool,\n tabIndex: PropTypes.number,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nexports.default = MultiView;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Options = exports.Format = exports.Button = exports.NumberBox = void 0;\nvar number_box_1 = require(\"devextreme/ui/number_box\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar NumberBox = /** @class */ (function (_super) {\n __extends(NumberBox, _super);\n function NumberBox() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = number_box_1.default;\n _this.subscribableOptions = [\"value\"];\n _this.independentEvents = [\"onChange\", \"onContentReady\", \"onCopy\", \"onCut\", \"onDisposing\", \"onEnterKey\", \"onFocusIn\", \"onFocusOut\", \"onInitialized\", \"onInput\", \"onKeyDown\", \"onKeyUp\", \"onPaste\", \"onValueChanged\"];\n _this._defaults = {\n defaultValue: \"value\"\n };\n _this._expectedChildren = {\n button: { optionName: \"buttons\", isCollectionItem: true },\n format: { optionName: \"format\", isCollectionItem: false }\n };\n return _this;\n }\n Object.defineProperty(NumberBox.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return NumberBox;\n}(component_1.Component));\nexports.NumberBox = NumberBox;\nNumberBox.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n buttons: PropTypes.array,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n format: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.string\n ]),\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n invalidValueMessage: PropTypes.string,\n isValid: PropTypes.bool,\n label: PropTypes.string,\n labelMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"static\",\n \"floating\",\n \"hidden\"\n ])\n ]),\n max: PropTypes.number,\n min: PropTypes.number,\n mode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"number\",\n \"text\",\n \"tel\"\n ])\n ]),\n name: PropTypes.string,\n onChange: PropTypes.func,\n onContentReady: PropTypes.func,\n onCopy: PropTypes.func,\n onCut: PropTypes.func,\n onDisposing: PropTypes.func,\n onEnterKey: PropTypes.func,\n onFocusIn: PropTypes.func,\n onFocusOut: PropTypes.func,\n onInitialized: PropTypes.func,\n onInput: PropTypes.func,\n onKeyDown: PropTypes.func,\n onKeyUp: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onPaste: PropTypes.func,\n onValueChanged: PropTypes.func,\n placeholder: PropTypes.string,\n readOnly: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n showClearButton: PropTypes.bool,\n showSpinButtons: PropTypes.bool,\n step: PropTypes.number,\n stylingMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"outlined\",\n \"underlined\",\n \"filled\"\n ])\n ]),\n tabIndex: PropTypes.number,\n text: PropTypes.string,\n useLargeSpinButtons: PropTypes.bool,\n validationErrors: PropTypes.array,\n validationMessageMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"always\",\n \"auto\"\n ])\n ]),\n validationMessagePosition: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"bottom\",\n \"left\",\n \"right\",\n \"top\"\n ])\n ]),\n validationStatus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"valid\",\n \"invalid\",\n \"pending\"\n ])\n ]),\n value: PropTypes.number,\n valueChangeEvent: PropTypes.string,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Button = /** @class */ (function (_super) {\n __extends(Button, _super);\n function Button() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Button.OptionName = \"buttons\";\n Button.IsCollectionItem = true;\n Button.ExpectedChildren = {\n options: { optionName: \"options\", isCollectionItem: false }\n };\n return Button;\n}(nested_option_1.default));\nexports.Button = Button;\nvar Format = /** @class */ (function (_super) {\n __extends(Format, _super);\n function Format() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Format.OptionName = \"format\";\n return Format;\n}(nested_option_1.default));\nexports.Format = Format;\nvar Options = /** @class */ (function (_super) {\n __extends(Options, _super);\n function Options() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Options.OptionName = \"options\";\n Options.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Options;\n}(nested_option_1.default));\nexports.Options = Options;\nexports.default = NumberBox;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TooltipBorder = exports.Tooltip = exports.Title = exports.Subtitle = exports.SmallValuesGrouping = exports.Size = exports.Shadow = exports.SeriesTemplate = exports.SeriesBorder = exports.Series = exports.SelectionStyle = exports.PieChartTitleSubtitle = exports.PieChartTitle = exports.Margin = exports.LoadingIndicator = exports.LegendTitleSubtitle = exports.LegendTitle = exports.Legend = exports.Label = exports.Image = exports.HoverStyle = exports.Hatching = exports.Format = exports.Font = exports.Export = exports.Connector = exports.CommonSeriesSettings = exports.CommonAnnotationSettings = exports.Border = exports.ArgumentFormat = exports.AnnotationBorder = exports.Annotation = exports.Animation = exports.AdaptiveLayout = exports.PieChart = void 0;\nvar pie_chart_1 = require(\"devextreme/viz/pie_chart\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar PieChart = /** @class */ (function (_super) {\n __extends(PieChart, _super);\n function PieChart() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = pie_chart_1.default;\n _this.subscribableOptions = [\"loadingIndicator\", \"loadingIndicator.show\"];\n _this.independentEvents = [\"onDisposing\", \"onDone\", \"onDrawn\", \"onExported\", \"onExporting\", \"onFileSaving\", \"onIncidentOccurred\", \"onInitialized\", \"onLegendClick\", \"onPointClick\", \"onTooltipHidden\", \"onTooltipShown\"];\n _this._defaults = {\n defaultLoadingIndicator: \"loadingIndicator\"\n };\n _this._expectedChildren = {\n adaptiveLayout: { optionName: \"adaptiveLayout\", isCollectionItem: false },\n animation: { optionName: \"animation\", isCollectionItem: false },\n annotation: { optionName: \"annotations\", isCollectionItem: true },\n commonAnnotationSettings: { optionName: \"commonAnnotationSettings\", isCollectionItem: false },\n commonSeriesSettings: { optionName: \"commonSeriesSettings\", isCollectionItem: false },\n export: { optionName: \"export\", isCollectionItem: false },\n legend: { optionName: \"legend\", isCollectionItem: false },\n loadingIndicator: { optionName: \"loadingIndicator\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n pieChartTitle: { optionName: \"title\", isCollectionItem: false },\n series: { optionName: \"series\", isCollectionItem: true },\n seriesTemplate: { optionName: \"seriesTemplate\", isCollectionItem: false },\n size: { optionName: \"size\", isCollectionItem: false },\n title: { optionName: \"title\", isCollectionItem: false },\n tooltip: { optionName: \"tooltip\", isCollectionItem: false }\n };\n _this._templateProps = [{\n tmplOption: \"centerTemplate\",\n render: \"centerRender\",\n component: \"centerComponent\",\n keyFn: \"centerKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(PieChart.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return PieChart;\n}(component_1.Component));\nexports.PieChart = PieChart;\nPieChart.propTypes = {\n adaptiveLayout: PropTypes.object,\n animation: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.object\n ]),\n annotations: PropTypes.array,\n commonAnnotationSettings: PropTypes.object,\n customizeAnnotation: PropTypes.func,\n customizeLabel: PropTypes.func,\n customizePoint: PropTypes.func,\n diameter: PropTypes.number,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n export: PropTypes.object,\n innerRadius: PropTypes.number,\n legend: PropTypes.object,\n loadingIndicator: PropTypes.object,\n margin: PropTypes.object,\n minDiameter: PropTypes.number,\n onDisposing: PropTypes.func,\n onDone: PropTypes.func,\n onDrawn: PropTypes.func,\n onExported: PropTypes.func,\n onExporting: PropTypes.func,\n onFileSaving: PropTypes.func,\n onIncidentOccurred: PropTypes.func,\n onInitialized: PropTypes.func,\n onLegendClick: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onPointClick: PropTypes.func,\n onPointHoverChanged: PropTypes.func,\n onPointSelectionChanged: PropTypes.func,\n onTooltipHidden: PropTypes.func,\n onTooltipShown: PropTypes.func,\n palette: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"Bright\",\n \"Harmony Light\",\n \"Ocean\",\n \"Pastel\",\n \"Soft\",\n \"Soft Pastel\",\n \"Vintage\",\n \"Violet\",\n \"Carmine\",\n \"Dark Moon\",\n \"Dark Violet\",\n \"Green Mist\",\n \"Soft Blue\",\n \"Material\",\n \"Office\"\n ])\n ])\n ]),\n paletteExtensionMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"alternate\",\n \"blend\",\n \"extrapolate\"\n ])\n ]),\n pathModified: PropTypes.bool,\n pointSelectionMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"single\",\n \"multiple\"\n ])\n ]),\n redrawOnResize: PropTypes.bool,\n resolveLabelOverlapping: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"hide\",\n \"none\",\n \"shift\"\n ])\n ]),\n rtlEnabled: PropTypes.bool,\n segmentsDirection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"anticlockwise\",\n \"clockwise\"\n ])\n ]),\n series: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object\n ]),\n seriesTemplate: PropTypes.object,\n size: PropTypes.object,\n sizeGroup: PropTypes.string,\n startAngle: PropTypes.number,\n theme: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"generic.dark\",\n \"generic.light\",\n \"generic.contrast\",\n \"generic.carmine\",\n \"generic.darkmoon\",\n \"generic.darkviolet\",\n \"generic.greenmist\",\n \"generic.softblue\",\n \"material.blue.light\",\n \"material.lime.light\",\n \"material.orange.light\",\n \"material.purple.light\",\n \"material.teal.light\"\n ])\n ]),\n title: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string\n ]),\n tooltip: PropTypes.object,\n type: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"donut\",\n \"doughnut\",\n \"pie\"\n ])\n ])\n};\nvar AdaptiveLayout = /** @class */ (function (_super) {\n __extends(AdaptiveLayout, _super);\n function AdaptiveLayout() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AdaptiveLayout.OptionName = \"adaptiveLayout\";\n return AdaptiveLayout;\n}(nested_option_1.default));\nexports.AdaptiveLayout = AdaptiveLayout;\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Animation.OptionName = \"animation\";\n return Animation;\n}(nested_option_1.default));\nexports.Animation = Animation;\nvar Annotation = /** @class */ (function (_super) {\n __extends(Annotation, _super);\n function Annotation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Annotation.OptionName = \"annotations\";\n Annotation.IsCollectionItem = true;\n Annotation.ExpectedChildren = {\n annotationBorder: { optionName: \"border\", isCollectionItem: false },\n border: { optionName: \"border\", isCollectionItem: false },\n font: { optionName: \"font\", isCollectionItem: false },\n image: { optionName: \"image\", isCollectionItem: false },\n shadow: { optionName: \"shadow\", isCollectionItem: false }\n };\n Annotation.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }, {\n tmplOption: \"tooltipTemplate\",\n render: \"tooltipRender\",\n component: \"tooltipComponent\",\n keyFn: \"tooltipKeyFn\"\n }];\n return Annotation;\n}(nested_option_1.default));\nexports.Annotation = Annotation;\nvar AnnotationBorder = /** @class */ (function (_super) {\n __extends(AnnotationBorder, _super);\n function AnnotationBorder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AnnotationBorder.OptionName = \"border\";\n return AnnotationBorder;\n}(nested_option_1.default));\nexports.AnnotationBorder = AnnotationBorder;\nvar ArgumentFormat = /** @class */ (function (_super) {\n __extends(ArgumentFormat, _super);\n function ArgumentFormat() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ArgumentFormat.OptionName = \"argumentFormat\";\n return ArgumentFormat;\n}(nested_option_1.default));\nexports.ArgumentFormat = ArgumentFormat;\nvar Border = /** @class */ (function (_super) {\n __extends(Border, _super);\n function Border() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Border.OptionName = \"border\";\n return Border;\n}(nested_option_1.default));\nexports.Border = Border;\nvar CommonAnnotationSettings = /** @class */ (function (_super) {\n __extends(CommonAnnotationSettings, _super);\n function CommonAnnotationSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CommonAnnotationSettings.OptionName = \"commonAnnotationSettings\";\n CommonAnnotationSettings.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }, {\n tmplOption: \"tooltipTemplate\",\n render: \"tooltipRender\",\n component: \"tooltipComponent\",\n keyFn: \"tooltipKeyFn\"\n }];\n return CommonAnnotationSettings;\n}(nested_option_1.default));\nexports.CommonAnnotationSettings = CommonAnnotationSettings;\nvar CommonSeriesSettings = /** @class */ (function (_super) {\n __extends(CommonSeriesSettings, _super);\n function CommonSeriesSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CommonSeriesSettings.OptionName = \"commonSeriesSettings\";\n CommonSeriesSettings.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n hoverStyle: { optionName: \"hoverStyle\", isCollectionItem: false },\n label: { optionName: \"label\", isCollectionItem: false },\n selectionStyle: { optionName: \"selectionStyle\", isCollectionItem: false },\n seriesBorder: { optionName: \"border\", isCollectionItem: false },\n smallValuesGrouping: { optionName: \"smallValuesGrouping\", isCollectionItem: false }\n };\n return CommonSeriesSettings;\n}(nested_option_1.default));\nexports.CommonSeriesSettings = CommonSeriesSettings;\nvar Connector = /** @class */ (function (_super) {\n __extends(Connector, _super);\n function Connector() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Connector.OptionName = \"connector\";\n return Connector;\n}(nested_option_1.default));\nexports.Connector = Connector;\nvar Export = /** @class */ (function (_super) {\n __extends(Export, _super);\n function Export() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Export.OptionName = \"export\";\n return Export;\n}(nested_option_1.default));\nexports.Export = Export;\nvar Font = /** @class */ (function (_super) {\n __extends(Font, _super);\n function Font() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Font.OptionName = \"font\";\n return Font;\n}(nested_option_1.default));\nexports.Font = Font;\nvar Format = /** @class */ (function (_super) {\n __extends(Format, _super);\n function Format() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Format.OptionName = \"format\";\n return Format;\n}(nested_option_1.default));\nexports.Format = Format;\nvar Hatching = /** @class */ (function (_super) {\n __extends(Hatching, _super);\n function Hatching() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Hatching.OptionName = \"hatching\";\n return Hatching;\n}(nested_option_1.default));\nexports.Hatching = Hatching;\nvar HoverStyle = /** @class */ (function (_super) {\n __extends(HoverStyle, _super);\n function HoverStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HoverStyle.OptionName = \"hoverStyle\";\n HoverStyle.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n hatching: { optionName: \"hatching\", isCollectionItem: false },\n seriesBorder: { optionName: \"border\", isCollectionItem: false }\n };\n return HoverStyle;\n}(nested_option_1.default));\nexports.HoverStyle = HoverStyle;\nvar Image = /** @class */ (function (_super) {\n __extends(Image, _super);\n function Image() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Image.OptionName = \"image\";\n return Image;\n}(nested_option_1.default));\nexports.Image = Image;\nvar Label = /** @class */ (function (_super) {\n __extends(Label, _super);\n function Label() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Label.OptionName = \"label\";\n Label.ExpectedChildren = {\n argumentFormat: { optionName: \"argumentFormat\", isCollectionItem: false },\n border: { optionName: \"border\", isCollectionItem: false },\n connector: { optionName: \"connector\", isCollectionItem: false },\n font: { optionName: \"font\", isCollectionItem: false },\n format: { optionName: \"format\", isCollectionItem: false },\n seriesBorder: { optionName: \"border\", isCollectionItem: false }\n };\n return Label;\n}(nested_option_1.default));\nexports.Label = Label;\nvar Legend = /** @class */ (function (_super) {\n __extends(Legend, _super);\n function Legend() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Legend.OptionName = \"legend\";\n Legend.ExpectedChildren = {\n annotationBorder: { optionName: \"border\", isCollectionItem: false },\n border: { optionName: \"border\", isCollectionItem: false },\n font: { optionName: \"font\", isCollectionItem: false },\n legendTitle: { optionName: \"title\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n title: { optionName: \"title\", isCollectionItem: false }\n };\n Legend.TemplateProps = [{\n tmplOption: \"markerTemplate\",\n render: \"markerRender\",\n component: \"markerComponent\",\n keyFn: \"markerKeyFn\"\n }];\n return Legend;\n}(nested_option_1.default));\nexports.Legend = Legend;\nvar LegendTitle = /** @class */ (function (_super) {\n __extends(LegendTitle, _super);\n function LegendTitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LegendTitle.OptionName = \"title\";\n LegendTitle.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false },\n legendTitleSubtitle: { optionName: \"subtitle\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n subtitle: { optionName: \"subtitle\", isCollectionItem: false }\n };\n return LegendTitle;\n}(nested_option_1.default));\nexports.LegendTitle = LegendTitle;\nvar LegendTitleSubtitle = /** @class */ (function (_super) {\n __extends(LegendTitleSubtitle, _super);\n function LegendTitleSubtitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LegendTitleSubtitle.OptionName = \"subtitle\";\n LegendTitleSubtitle.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false }\n };\n return LegendTitleSubtitle;\n}(nested_option_1.default));\nexports.LegendTitleSubtitle = LegendTitleSubtitle;\nvar LoadingIndicator = /** @class */ (function (_super) {\n __extends(LoadingIndicator, _super);\n function LoadingIndicator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LoadingIndicator.OptionName = \"loadingIndicator\";\n LoadingIndicator.DefaultsProps = {\n defaultShow: \"show\"\n };\n LoadingIndicator.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false }\n };\n return LoadingIndicator;\n}(nested_option_1.default));\nexports.LoadingIndicator = LoadingIndicator;\nvar Margin = /** @class */ (function (_super) {\n __extends(Margin, _super);\n function Margin() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Margin.OptionName = \"margin\";\n return Margin;\n}(nested_option_1.default));\nexports.Margin = Margin;\nvar PieChartTitle = /** @class */ (function (_super) {\n __extends(PieChartTitle, _super);\n function PieChartTitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PieChartTitle.OptionName = \"title\";\n PieChartTitle.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n pieChartTitleSubtitle: { optionName: \"subtitle\", isCollectionItem: false },\n subtitle: { optionName: \"subtitle\", isCollectionItem: false }\n };\n return PieChartTitle;\n}(nested_option_1.default));\nexports.PieChartTitle = PieChartTitle;\nvar PieChartTitleSubtitle = /** @class */ (function (_super) {\n __extends(PieChartTitleSubtitle, _super);\n function PieChartTitleSubtitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PieChartTitleSubtitle.OptionName = \"subtitle\";\n PieChartTitleSubtitle.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false }\n };\n return PieChartTitleSubtitle;\n}(nested_option_1.default));\nexports.PieChartTitleSubtitle = PieChartTitleSubtitle;\nvar SelectionStyle = /** @class */ (function (_super) {\n __extends(SelectionStyle, _super);\n function SelectionStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SelectionStyle.OptionName = \"selectionStyle\";\n SelectionStyle.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n hatching: { optionName: \"hatching\", isCollectionItem: false },\n seriesBorder: { optionName: \"border\", isCollectionItem: false }\n };\n return SelectionStyle;\n}(nested_option_1.default));\nexports.SelectionStyle = SelectionStyle;\nvar Series = /** @class */ (function (_super) {\n __extends(Series, _super);\n function Series() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Series.OptionName = \"series\";\n Series.IsCollectionItem = true;\n return Series;\n}(nested_option_1.default));\nexports.Series = Series;\nvar SeriesBorder = /** @class */ (function (_super) {\n __extends(SeriesBorder, _super);\n function SeriesBorder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SeriesBorder.OptionName = \"border\";\n return SeriesBorder;\n}(nested_option_1.default));\nexports.SeriesBorder = SeriesBorder;\nvar SeriesTemplate = /** @class */ (function (_super) {\n __extends(SeriesTemplate, _super);\n function SeriesTemplate() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SeriesTemplate.OptionName = \"seriesTemplate\";\n return SeriesTemplate;\n}(nested_option_1.default));\nexports.SeriesTemplate = SeriesTemplate;\nvar Shadow = /** @class */ (function (_super) {\n __extends(Shadow, _super);\n function Shadow() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Shadow.OptionName = \"shadow\";\n return Shadow;\n}(nested_option_1.default));\nexports.Shadow = Shadow;\nvar Size = /** @class */ (function (_super) {\n __extends(Size, _super);\n function Size() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Size.OptionName = \"size\";\n return Size;\n}(nested_option_1.default));\nexports.Size = Size;\nvar SmallValuesGrouping = /** @class */ (function (_super) {\n __extends(SmallValuesGrouping, _super);\n function SmallValuesGrouping() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SmallValuesGrouping.OptionName = \"smallValuesGrouping\";\n return SmallValuesGrouping;\n}(nested_option_1.default));\nexports.SmallValuesGrouping = SmallValuesGrouping;\nvar Subtitle = /** @class */ (function (_super) {\n __extends(Subtitle, _super);\n function Subtitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Subtitle.OptionName = \"subtitle\";\n return Subtitle;\n}(nested_option_1.default));\nexports.Subtitle = Subtitle;\nvar Title = /** @class */ (function (_super) {\n __extends(Title, _super);\n function Title() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Title.OptionName = \"title\";\n return Title;\n}(nested_option_1.default));\nexports.Title = Title;\nvar Tooltip = /** @class */ (function (_super) {\n __extends(Tooltip, _super);\n function Tooltip() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Tooltip.OptionName = \"tooltip\";\n Tooltip.ExpectedChildren = {\n argumentFormat: { optionName: \"argumentFormat\", isCollectionItem: false },\n border: { optionName: \"border\", isCollectionItem: false },\n font: { optionName: \"font\", isCollectionItem: false },\n format: { optionName: \"format\", isCollectionItem: false },\n shadow: { optionName: \"shadow\", isCollectionItem: false },\n tooltipBorder: { optionName: \"border\", isCollectionItem: false }\n };\n Tooltip.TemplateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }];\n return Tooltip;\n}(nested_option_1.default));\nexports.Tooltip = Tooltip;\nvar TooltipBorder = /** @class */ (function (_super) {\n __extends(TooltipBorder, _super);\n function TooltipBorder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TooltipBorder.OptionName = \"border\";\n return TooltipBorder;\n}(nested_option_1.default));\nexports.TooltipBorder = TooltipBorder;\nexports.default = PieChart;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Texts = exports.PivotGridFieldChooserTexts = exports.HeaderFilterTexts = exports.HeaderFilter = exports.PivotGridFieldChooser = void 0;\nvar pivot_grid_field_chooser_1 = require(\"devextreme/ui/pivot_grid_field_chooser\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar PivotGridFieldChooser = /** @class */ (function (_super) {\n __extends(PivotGridFieldChooser, _super);\n function PivotGridFieldChooser() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = pivot_grid_field_chooser_1.default;\n _this.independentEvents = [\"onContentReady\", \"onContextMenuPreparing\", \"onDisposing\", \"onInitialized\"];\n _this._expectedChildren = {\n headerFilter: { optionName: \"headerFilter\", isCollectionItem: false },\n pivotGridFieldChooserTexts: { optionName: \"texts\", isCollectionItem: false },\n texts: { optionName: \"texts\", isCollectionItem: false }\n };\n return _this;\n }\n Object.defineProperty(PivotGridFieldChooser.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return PivotGridFieldChooser;\n}(component_1.Component));\nexports.PivotGridFieldChooser = PivotGridFieldChooser;\nPivotGridFieldChooser.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n allowSearch: PropTypes.bool,\n applyChangesMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"instantly\",\n \"onDemand\"\n ])\n ]),\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n encodeHtml: PropTypes.bool,\n focusStateEnabled: PropTypes.bool,\n headerFilter: PropTypes.object,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n layout: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.oneOf([\n 0,\n 1,\n 2\n ])\n ]),\n onContentReady: PropTypes.func,\n onContextMenuPreparing: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n rtlEnabled: PropTypes.bool,\n searchTimeout: PropTypes.number,\n tabIndex: PropTypes.number,\n texts: PropTypes.object,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar HeaderFilter = /** @class */ (function (_super) {\n __extends(HeaderFilter, _super);\n function HeaderFilter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HeaderFilter.OptionName = \"headerFilter\";\n HeaderFilter.ExpectedChildren = {\n headerFilterTexts: { optionName: \"texts\", isCollectionItem: false },\n texts: { optionName: \"texts\", isCollectionItem: false }\n };\n return HeaderFilter;\n}(nested_option_1.default));\nexports.HeaderFilter = HeaderFilter;\nvar HeaderFilterTexts = /** @class */ (function (_super) {\n __extends(HeaderFilterTexts, _super);\n function HeaderFilterTexts() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HeaderFilterTexts.OptionName = \"texts\";\n return HeaderFilterTexts;\n}(nested_option_1.default));\nexports.HeaderFilterTexts = HeaderFilterTexts;\nvar PivotGridFieldChooserTexts = /** @class */ (function (_super) {\n __extends(PivotGridFieldChooserTexts, _super);\n function PivotGridFieldChooserTexts() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PivotGridFieldChooserTexts.OptionName = \"texts\";\n return PivotGridFieldChooserTexts;\n}(nested_option_1.default));\nexports.PivotGridFieldChooserTexts = PivotGridFieldChooserTexts;\nvar Texts = /** @class */ (function (_super) {\n __extends(Texts, _super);\n function Texts() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Texts.OptionName = \"texts\";\n return Texts;\n}(nested_option_1.default));\nexports.Texts = Texts;\nexports.default = PivotGridFieldChooser;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Texts = exports.StateStoring = exports.Scrolling = exports.PivotGridTexts = exports.LoadPanel = exports.HeaderFilterTexts = exports.HeaderFilter = exports.FieldPanelTexts = exports.FieldPanel = exports.FieldChooserTexts = exports.FieldChooser = exports.Export = exports.PivotGrid = void 0;\nvar pivot_grid_1 = require(\"devextreme/ui/pivot_grid\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar PivotGrid = /** @class */ (function (_super) {\n __extends(PivotGrid, _super);\n function PivotGrid() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = pivot_grid_1.default;\n _this.independentEvents = [\"onCellClick\", \"onCellPrepared\", \"onContentReady\", \"onContextMenuPreparing\", \"onDisposing\", \"onExporting\", \"onInitialized\"];\n _this._expectedChildren = {\n export: { optionName: \"export\", isCollectionItem: false },\n fieldChooser: { optionName: \"fieldChooser\", isCollectionItem: false },\n fieldPanel: { optionName: \"fieldPanel\", isCollectionItem: false },\n headerFilter: { optionName: \"headerFilter\", isCollectionItem: false },\n loadPanel: { optionName: \"loadPanel\", isCollectionItem: false },\n pivotGridTexts: { optionName: \"texts\", isCollectionItem: false },\n scrolling: { optionName: \"scrolling\", isCollectionItem: false },\n stateStoring: { optionName: \"stateStoring\", isCollectionItem: false },\n texts: { optionName: \"texts\", isCollectionItem: false }\n };\n return _this;\n }\n Object.defineProperty(PivotGrid.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return PivotGrid;\n}(component_1.Component));\nexports.PivotGrid = PivotGrid;\nPivotGrid.propTypes = {\n allowExpandAll: PropTypes.bool,\n allowFiltering: PropTypes.bool,\n allowSorting: PropTypes.bool,\n allowSortingBySummary: PropTypes.bool,\n dataFieldArea: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"column\",\n \"row\"\n ])\n ]),\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n encodeHtml: PropTypes.bool,\n export: PropTypes.object,\n fieldChooser: PropTypes.object,\n fieldPanel: PropTypes.object,\n headerFilter: PropTypes.object,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hideEmptySummaryCells: PropTypes.bool,\n hint: PropTypes.string,\n loadPanel: PropTypes.object,\n onCellClick: PropTypes.func,\n onCellPrepared: PropTypes.func,\n onContentReady: PropTypes.func,\n onContextMenuPreparing: PropTypes.func,\n onDisposing: PropTypes.func,\n onExporting: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n rowHeaderLayout: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"standard\",\n \"tree\"\n ])\n ]),\n rtlEnabled: PropTypes.bool,\n scrolling: PropTypes.object,\n showBorders: PropTypes.bool,\n showColumnGrandTotals: PropTypes.bool,\n showColumnTotals: PropTypes.bool,\n showRowGrandTotals: PropTypes.bool,\n showRowTotals: PropTypes.bool,\n showTotalsPrior: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"both\",\n \"columns\",\n \"none\",\n \"rows\"\n ])\n ]),\n stateStoring: PropTypes.object,\n tabIndex: PropTypes.number,\n texts: PropTypes.object,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n wordWrapEnabled: PropTypes.bool\n};\nvar Export = /** @class */ (function (_super) {\n __extends(Export, _super);\n function Export() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Export.OptionName = \"export\";\n return Export;\n}(nested_option_1.default));\nexports.Export = Export;\nvar FieldChooser = /** @class */ (function (_super) {\n __extends(FieldChooser, _super);\n function FieldChooser() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FieldChooser.OptionName = \"fieldChooser\";\n FieldChooser.ExpectedChildren = {\n fieldChooserTexts: { optionName: \"texts\", isCollectionItem: false },\n texts: { optionName: \"texts\", isCollectionItem: false }\n };\n return FieldChooser;\n}(nested_option_1.default));\nexports.FieldChooser = FieldChooser;\nvar FieldChooserTexts = /** @class */ (function (_super) {\n __extends(FieldChooserTexts, _super);\n function FieldChooserTexts() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FieldChooserTexts.OptionName = \"texts\";\n return FieldChooserTexts;\n}(nested_option_1.default));\nexports.FieldChooserTexts = FieldChooserTexts;\nvar FieldPanel = /** @class */ (function (_super) {\n __extends(FieldPanel, _super);\n function FieldPanel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FieldPanel.OptionName = \"fieldPanel\";\n FieldPanel.ExpectedChildren = {\n fieldPanelTexts: { optionName: \"texts\", isCollectionItem: false },\n texts: { optionName: \"texts\", isCollectionItem: false }\n };\n return FieldPanel;\n}(nested_option_1.default));\nexports.FieldPanel = FieldPanel;\nvar FieldPanelTexts = /** @class */ (function (_super) {\n __extends(FieldPanelTexts, _super);\n function FieldPanelTexts() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FieldPanelTexts.OptionName = \"texts\";\n return FieldPanelTexts;\n}(nested_option_1.default));\nexports.FieldPanelTexts = FieldPanelTexts;\nvar HeaderFilter = /** @class */ (function (_super) {\n __extends(HeaderFilter, _super);\n function HeaderFilter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HeaderFilter.OptionName = \"headerFilter\";\n HeaderFilter.ExpectedChildren = {\n headerFilterTexts: { optionName: \"texts\", isCollectionItem: false },\n texts: { optionName: \"texts\", isCollectionItem: false }\n };\n return HeaderFilter;\n}(nested_option_1.default));\nexports.HeaderFilter = HeaderFilter;\nvar HeaderFilterTexts = /** @class */ (function (_super) {\n __extends(HeaderFilterTexts, _super);\n function HeaderFilterTexts() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HeaderFilterTexts.OptionName = \"texts\";\n return HeaderFilterTexts;\n}(nested_option_1.default));\nexports.HeaderFilterTexts = HeaderFilterTexts;\nvar LoadPanel = /** @class */ (function (_super) {\n __extends(LoadPanel, _super);\n function LoadPanel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LoadPanel.OptionName = \"loadPanel\";\n return LoadPanel;\n}(nested_option_1.default));\nexports.LoadPanel = LoadPanel;\nvar PivotGridTexts = /** @class */ (function (_super) {\n __extends(PivotGridTexts, _super);\n function PivotGridTexts() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PivotGridTexts.OptionName = \"texts\";\n return PivotGridTexts;\n}(nested_option_1.default));\nexports.PivotGridTexts = PivotGridTexts;\nvar Scrolling = /** @class */ (function (_super) {\n __extends(Scrolling, _super);\n function Scrolling() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Scrolling.OptionName = \"scrolling\";\n return Scrolling;\n}(nested_option_1.default));\nexports.Scrolling = Scrolling;\nvar StateStoring = /** @class */ (function (_super) {\n __extends(StateStoring, _super);\n function StateStoring() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StateStoring.OptionName = \"stateStoring\";\n return StateStoring;\n}(nested_option_1.default));\nexports.StateStoring = StateStoring;\nvar Texts = /** @class */ (function (_super) {\n __extends(Texts, _super);\n function Texts() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Texts.OptionName = \"texts\";\n return Texts;\n}(nested_option_1.default));\nexports.Texts = Texts;\nexports.default = PivotGrid;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PolarChartTitleSubtitle = exports.PolarChartTitle = exports.PointSelectionStyle = exports.PointHoverStyle = exports.PointBorder = exports.Point = exports.MinVisualRangeLength = exports.MinorTickInterval = exports.MinorTick = exports.MinorGrid = exports.Margin = exports.LoadingIndicator = exports.Length = exports.LegendTitleSubtitle = exports.LegendTitle = exports.Legend = exports.Label = exports.Image = exports.HoverStyle = exports.Hatching = exports.Grid = exports.Format = exports.Font = exports.Export = exports.DataPrepareSettings = exports.ConstantLineStyleLabel = exports.ConstantLineStyle = exports.ConstantLineLabel = exports.ConstantLine = exports.Connector = exports.CommonSeriesSettingsSelectionStyle = exports.CommonSeriesSettingsLabel = exports.CommonSeriesSettingsHoverStyle = exports.CommonSeriesSettings = exports.CommonAxisSettingsTick = exports.CommonAxisSettingsMinorTick = exports.CommonAxisSettingsLabel = exports.CommonAxisSettings = exports.CommonAnnotationSettings = exports.Border = exports.AxisLabel = exports.ArgumentFormat = exports.ArgumentAxisTick = exports.ArgumentAxisMinorTick = exports.ArgumentAxis = exports.AnnotationBorder = exports.Annotation = exports.Animation = exports.AdaptiveLayout = exports.PolarChart = void 0;\nexports.WholeRange = exports.VisualRange = exports.ValueErrorBar = exports.ValueAxis = exports.TooltipBorder = exports.Tooltip = exports.Title = exports.TickInterval = exports.Tick = exports.Subtitle = exports.StripStyleLabel = exports.StripStyle = exports.StripLabel = exports.Strip = exports.Size = exports.Shadow = exports.SeriesTemplate = exports.SeriesBorder = exports.Series = exports.SelectionStyle = void 0;\nvar polar_chart_1 = require(\"devextreme/viz/polar_chart\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar PolarChart = /** @class */ (function (_super) {\n __extends(PolarChart, _super);\n function PolarChart() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = polar_chart_1.default;\n _this.subscribableOptions = [\"loadingIndicator\", \"loadingIndicator.show\", \"valueAxis\", \"valueAxis.visualRange\"];\n _this.independentEvents = [\"onArgumentAxisClick\", \"onDisposing\", \"onDone\", \"onDrawn\", \"onExported\", \"onExporting\", \"onFileSaving\", \"onIncidentOccurred\", \"onInitialized\", \"onLegendClick\", \"onPointClick\", \"onSeriesClick\", \"onTooltipHidden\", \"onTooltipShown\", \"onZoomEnd\", \"onZoomStart\"];\n _this._defaults = {\n defaultLoadingIndicator: \"loadingIndicator\",\n defaultValueAxis: \"valueAxis\"\n };\n _this._expectedChildren = {\n adaptiveLayout: { optionName: \"adaptiveLayout\", isCollectionItem: false },\n animation: { optionName: \"animation\", isCollectionItem: false },\n annotation: { optionName: \"annotations\", isCollectionItem: true },\n argumentAxis: { optionName: \"argumentAxis\", isCollectionItem: false },\n commonAnnotationSettings: { optionName: \"commonAnnotationSettings\", isCollectionItem: false },\n commonAxisSettings: { optionName: \"commonAxisSettings\", isCollectionItem: false },\n commonSeriesSettings: { optionName: \"commonSeriesSettings\", isCollectionItem: false },\n dataPrepareSettings: { optionName: \"dataPrepareSettings\", isCollectionItem: false },\n export: { optionName: \"export\", isCollectionItem: false },\n legend: { optionName: \"legend\", isCollectionItem: false },\n loadingIndicator: { optionName: \"loadingIndicator\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n polarChartTitle: { optionName: \"title\", isCollectionItem: false },\n series: { optionName: \"series\", isCollectionItem: true },\n seriesTemplate: { optionName: \"seriesTemplate\", isCollectionItem: false },\n size: { optionName: \"size\", isCollectionItem: false },\n title: { optionName: \"title\", isCollectionItem: false },\n tooltip: { optionName: \"tooltip\", isCollectionItem: false },\n valueAxis: { optionName: \"valueAxis\", isCollectionItem: false }\n };\n return _this;\n }\n Object.defineProperty(PolarChart.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return PolarChart;\n}(component_1.Component));\nexports.PolarChart = PolarChart;\nPolarChart.propTypes = {\n adaptiveLayout: PropTypes.object,\n animation: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.object\n ]),\n annotations: PropTypes.array,\n argumentAxis: PropTypes.object,\n barGroupPadding: PropTypes.number,\n barGroupWidth: PropTypes.number,\n commonAnnotationSettings: PropTypes.object,\n commonAxisSettings: PropTypes.object,\n commonSeriesSettings: PropTypes.object,\n containerBackgroundColor: PropTypes.string,\n customizeAnnotation: PropTypes.func,\n customizeLabel: PropTypes.func,\n customizePoint: PropTypes.func,\n dataPrepareSettings: PropTypes.object,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n export: PropTypes.object,\n legend: PropTypes.object,\n loadingIndicator: PropTypes.object,\n margin: PropTypes.object,\n negativesAsZeroes: PropTypes.bool,\n onArgumentAxisClick: PropTypes.func,\n onDisposing: PropTypes.func,\n onDone: PropTypes.func,\n onDrawn: PropTypes.func,\n onExported: PropTypes.func,\n onExporting: PropTypes.func,\n onFileSaving: PropTypes.func,\n onIncidentOccurred: PropTypes.func,\n onInitialized: PropTypes.func,\n onLegendClick: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onPointClick: PropTypes.func,\n onPointHoverChanged: PropTypes.func,\n onPointSelectionChanged: PropTypes.func,\n onSeriesClick: PropTypes.func,\n onSeriesHoverChanged: PropTypes.func,\n onSeriesSelectionChanged: PropTypes.func,\n onTooltipHidden: PropTypes.func,\n onTooltipShown: PropTypes.func,\n onZoomEnd: PropTypes.func,\n onZoomStart: PropTypes.func,\n palette: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"Bright\",\n \"Harmony Light\",\n \"Ocean\",\n \"Pastel\",\n \"Soft\",\n \"Soft Pastel\",\n \"Vintage\",\n \"Violet\",\n \"Carmine\",\n \"Dark Moon\",\n \"Dark Violet\",\n \"Green Mist\",\n \"Soft Blue\",\n \"Material\",\n \"Office\"\n ])\n ])\n ]),\n paletteExtensionMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"alternate\",\n \"blend\",\n \"extrapolate\"\n ])\n ]),\n pathModified: PropTypes.bool,\n pointSelectionMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"single\",\n \"multiple\"\n ])\n ]),\n redrawOnResize: PropTypes.bool,\n resolveLabelOverlapping: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"hide\",\n \"none\"\n ])\n ]),\n rtlEnabled: PropTypes.bool,\n series: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object\n ]),\n seriesSelectionMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"single\",\n \"multiple\"\n ])\n ]),\n seriesTemplate: PropTypes.object,\n size: PropTypes.object,\n theme: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"generic.dark\",\n \"generic.light\",\n \"generic.contrast\",\n \"generic.carmine\",\n \"generic.darkmoon\",\n \"generic.darkviolet\",\n \"generic.greenmist\",\n \"generic.softblue\",\n \"material.blue.light\",\n \"material.lime.light\",\n \"material.orange.light\",\n \"material.purple.light\",\n \"material.teal.light\"\n ])\n ]),\n title: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string\n ]),\n tooltip: PropTypes.object,\n useSpiderWeb: PropTypes.bool,\n valueAxis: PropTypes.object\n};\nvar AdaptiveLayout = /** @class */ (function (_super) {\n __extends(AdaptiveLayout, _super);\n function AdaptiveLayout() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AdaptiveLayout.OptionName = \"adaptiveLayout\";\n return AdaptiveLayout;\n}(nested_option_1.default));\nexports.AdaptiveLayout = AdaptiveLayout;\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Animation.OptionName = \"animation\";\n return Animation;\n}(nested_option_1.default));\nexports.Animation = Animation;\nvar Annotation = /** @class */ (function (_super) {\n __extends(Annotation, _super);\n function Annotation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Annotation.OptionName = \"annotations\";\n Annotation.IsCollectionItem = true;\n Annotation.ExpectedChildren = {\n annotationBorder: { optionName: \"border\", isCollectionItem: false },\n border: { optionName: \"border\", isCollectionItem: false },\n font: { optionName: \"font\", isCollectionItem: false },\n image: { optionName: \"image\", isCollectionItem: false },\n shadow: { optionName: \"shadow\", isCollectionItem: false }\n };\n Annotation.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }, {\n tmplOption: \"tooltipTemplate\",\n render: \"tooltipRender\",\n component: \"tooltipComponent\",\n keyFn: \"tooltipKeyFn\"\n }];\n return Annotation;\n}(nested_option_1.default));\nexports.Annotation = Annotation;\nvar AnnotationBorder = /** @class */ (function (_super) {\n __extends(AnnotationBorder, _super);\n function AnnotationBorder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AnnotationBorder.OptionName = \"border\";\n return AnnotationBorder;\n}(nested_option_1.default));\nexports.AnnotationBorder = AnnotationBorder;\nvar ArgumentAxis = /** @class */ (function (_super) {\n __extends(ArgumentAxis, _super);\n function ArgumentAxis() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ArgumentAxis.OptionName = \"argumentAxis\";\n ArgumentAxis.ExpectedChildren = {\n argumentAxisMinorTick: { optionName: \"minorTick\", isCollectionItem: false },\n argumentAxisTick: { optionName: \"tick\", isCollectionItem: false },\n axisLabel: { optionName: \"label\", isCollectionItem: false },\n constantLine: { optionName: \"constantLines\", isCollectionItem: true },\n constantLineStyle: { optionName: \"constantLineStyle\", isCollectionItem: false },\n grid: { optionName: \"grid\", isCollectionItem: false },\n label: { optionName: \"label\", isCollectionItem: false },\n minorGrid: { optionName: \"minorGrid\", isCollectionItem: false },\n minorTick: { optionName: \"minorTick\", isCollectionItem: false },\n minorTickInterval: { optionName: \"minorTickInterval\", isCollectionItem: false },\n strip: { optionName: \"strips\", isCollectionItem: true },\n stripStyle: { optionName: \"stripStyle\", isCollectionItem: false },\n tick: { optionName: \"tick\", isCollectionItem: false },\n tickInterval: { optionName: \"tickInterval\", isCollectionItem: false }\n };\n return ArgumentAxis;\n}(nested_option_1.default));\nexports.ArgumentAxis = ArgumentAxis;\nvar ArgumentAxisMinorTick = /** @class */ (function (_super) {\n __extends(ArgumentAxisMinorTick, _super);\n function ArgumentAxisMinorTick() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ArgumentAxisMinorTick.OptionName = \"minorTick\";\n return ArgumentAxisMinorTick;\n}(nested_option_1.default));\nexports.ArgumentAxisMinorTick = ArgumentAxisMinorTick;\nvar ArgumentAxisTick = /** @class */ (function (_super) {\n __extends(ArgumentAxisTick, _super);\n function ArgumentAxisTick() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ArgumentAxisTick.OptionName = \"tick\";\n return ArgumentAxisTick;\n}(nested_option_1.default));\nexports.ArgumentAxisTick = ArgumentAxisTick;\nvar ArgumentFormat = /** @class */ (function (_super) {\n __extends(ArgumentFormat, _super);\n function ArgumentFormat() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ArgumentFormat.OptionName = \"argumentFormat\";\n return ArgumentFormat;\n}(nested_option_1.default));\nexports.ArgumentFormat = ArgumentFormat;\nvar AxisLabel = /** @class */ (function (_super) {\n __extends(AxisLabel, _super);\n function AxisLabel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AxisLabel.OptionName = \"label\";\n return AxisLabel;\n}(nested_option_1.default));\nexports.AxisLabel = AxisLabel;\nvar Border = /** @class */ (function (_super) {\n __extends(Border, _super);\n function Border() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Border.OptionName = \"border\";\n return Border;\n}(nested_option_1.default));\nexports.Border = Border;\nvar CommonAnnotationSettings = /** @class */ (function (_super) {\n __extends(CommonAnnotationSettings, _super);\n function CommonAnnotationSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CommonAnnotationSettings.OptionName = \"commonAnnotationSettings\";\n CommonAnnotationSettings.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }, {\n tmplOption: \"tooltipTemplate\",\n render: \"tooltipRender\",\n component: \"tooltipComponent\",\n keyFn: \"tooltipKeyFn\"\n }];\n return CommonAnnotationSettings;\n}(nested_option_1.default));\nexports.CommonAnnotationSettings = CommonAnnotationSettings;\nvar CommonAxisSettings = /** @class */ (function (_super) {\n __extends(CommonAxisSettings, _super);\n function CommonAxisSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CommonAxisSettings.OptionName = \"commonAxisSettings\";\n CommonAxisSettings.ExpectedChildren = {\n commonAxisSettingsLabel: { optionName: \"label\", isCollectionItem: false },\n commonAxisSettingsMinorTick: { optionName: \"minorTick\", isCollectionItem: false },\n commonAxisSettingsTick: { optionName: \"tick\", isCollectionItem: false },\n label: { optionName: \"label\", isCollectionItem: false },\n minorTick: { optionName: \"minorTick\", isCollectionItem: false },\n tick: { optionName: \"tick\", isCollectionItem: false }\n };\n return CommonAxisSettings;\n}(nested_option_1.default));\nexports.CommonAxisSettings = CommonAxisSettings;\nvar CommonAxisSettingsLabel = /** @class */ (function (_super) {\n __extends(CommonAxisSettingsLabel, _super);\n function CommonAxisSettingsLabel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CommonAxisSettingsLabel.OptionName = \"label\";\n return CommonAxisSettingsLabel;\n}(nested_option_1.default));\nexports.CommonAxisSettingsLabel = CommonAxisSettingsLabel;\nvar CommonAxisSettingsMinorTick = /** @class */ (function (_super) {\n __extends(CommonAxisSettingsMinorTick, _super);\n function CommonAxisSettingsMinorTick() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CommonAxisSettingsMinorTick.OptionName = \"minorTick\";\n return CommonAxisSettingsMinorTick;\n}(nested_option_1.default));\nexports.CommonAxisSettingsMinorTick = CommonAxisSettingsMinorTick;\nvar CommonAxisSettingsTick = /** @class */ (function (_super) {\n __extends(CommonAxisSettingsTick, _super);\n function CommonAxisSettingsTick() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CommonAxisSettingsTick.OptionName = \"tick\";\n return CommonAxisSettingsTick;\n}(nested_option_1.default));\nexports.CommonAxisSettingsTick = CommonAxisSettingsTick;\nvar CommonSeriesSettings = /** @class */ (function (_super) {\n __extends(CommonSeriesSettings, _super);\n function CommonSeriesSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CommonSeriesSettings.OptionName = \"commonSeriesSettings\";\n CommonSeriesSettings.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n commonSeriesSettingsHoverStyle: { optionName: \"hoverStyle\", isCollectionItem: false },\n commonSeriesSettingsLabel: { optionName: \"label\", isCollectionItem: false },\n commonSeriesSettingsSelectionStyle: { optionName: \"selectionStyle\", isCollectionItem: false },\n hoverStyle: { optionName: \"hoverStyle\", isCollectionItem: false },\n label: { optionName: \"label\", isCollectionItem: false },\n point: { optionName: \"point\", isCollectionItem: false },\n selectionStyle: { optionName: \"selectionStyle\", isCollectionItem: false },\n seriesBorder: { optionName: \"border\", isCollectionItem: false },\n valueErrorBar: { optionName: \"valueErrorBar\", isCollectionItem: false }\n };\n return CommonSeriesSettings;\n}(nested_option_1.default));\nexports.CommonSeriesSettings = CommonSeriesSettings;\nvar CommonSeriesSettingsHoverStyle = /** @class */ (function (_super) {\n __extends(CommonSeriesSettingsHoverStyle, _super);\n function CommonSeriesSettingsHoverStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CommonSeriesSettingsHoverStyle.OptionName = \"hoverStyle\";\n CommonSeriesSettingsHoverStyle.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n hatching: { optionName: \"hatching\", isCollectionItem: false },\n seriesBorder: { optionName: \"border\", isCollectionItem: false }\n };\n return CommonSeriesSettingsHoverStyle;\n}(nested_option_1.default));\nexports.CommonSeriesSettingsHoverStyle = CommonSeriesSettingsHoverStyle;\nvar CommonSeriesSettingsLabel = /** @class */ (function (_super) {\n __extends(CommonSeriesSettingsLabel, _super);\n function CommonSeriesSettingsLabel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CommonSeriesSettingsLabel.OptionName = \"label\";\n CommonSeriesSettingsLabel.ExpectedChildren = {\n argumentFormat: { optionName: \"argumentFormat\", isCollectionItem: false },\n border: { optionName: \"border\", isCollectionItem: false },\n connector: { optionName: \"connector\", isCollectionItem: false },\n font: { optionName: \"font\", isCollectionItem: false },\n format: { optionName: \"format\", isCollectionItem: false },\n seriesBorder: { optionName: \"border\", isCollectionItem: false }\n };\n return CommonSeriesSettingsLabel;\n}(nested_option_1.default));\nexports.CommonSeriesSettingsLabel = CommonSeriesSettingsLabel;\nvar CommonSeriesSettingsSelectionStyle = /** @class */ (function (_super) {\n __extends(CommonSeriesSettingsSelectionStyle, _super);\n function CommonSeriesSettingsSelectionStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CommonSeriesSettingsSelectionStyle.OptionName = \"selectionStyle\";\n CommonSeriesSettingsSelectionStyle.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n hatching: { optionName: \"hatching\", isCollectionItem: false },\n seriesBorder: { optionName: \"border\", isCollectionItem: false }\n };\n return CommonSeriesSettingsSelectionStyle;\n}(nested_option_1.default));\nexports.CommonSeriesSettingsSelectionStyle = CommonSeriesSettingsSelectionStyle;\nvar Connector = /** @class */ (function (_super) {\n __extends(Connector, _super);\n function Connector() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Connector.OptionName = \"connector\";\n return Connector;\n}(nested_option_1.default));\nexports.Connector = Connector;\nvar ConstantLine = /** @class */ (function (_super) {\n __extends(ConstantLine, _super);\n function ConstantLine() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ConstantLine.OptionName = \"constantLines\";\n ConstantLine.IsCollectionItem = true;\n return ConstantLine;\n}(nested_option_1.default));\nexports.ConstantLine = ConstantLine;\nvar ConstantLineLabel = /** @class */ (function (_super) {\n __extends(ConstantLineLabel, _super);\n function ConstantLineLabel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ConstantLineLabel.OptionName = \"label\";\n return ConstantLineLabel;\n}(nested_option_1.default));\nexports.ConstantLineLabel = ConstantLineLabel;\nvar ConstantLineStyle = /** @class */ (function (_super) {\n __extends(ConstantLineStyle, _super);\n function ConstantLineStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ConstantLineStyle.OptionName = \"constantLineStyle\";\n ConstantLineStyle.ExpectedChildren = {\n constantLineStyleLabel: { optionName: \"label\", isCollectionItem: false },\n label: { optionName: \"label\", isCollectionItem: false }\n };\n return ConstantLineStyle;\n}(nested_option_1.default));\nexports.ConstantLineStyle = ConstantLineStyle;\nvar ConstantLineStyleLabel = /** @class */ (function (_super) {\n __extends(ConstantLineStyleLabel, _super);\n function ConstantLineStyleLabel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ConstantLineStyleLabel.OptionName = \"label\";\n return ConstantLineStyleLabel;\n}(nested_option_1.default));\nexports.ConstantLineStyleLabel = ConstantLineStyleLabel;\nvar DataPrepareSettings = /** @class */ (function (_super) {\n __extends(DataPrepareSettings, _super);\n function DataPrepareSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DataPrepareSettings.OptionName = \"dataPrepareSettings\";\n return DataPrepareSettings;\n}(nested_option_1.default));\nexports.DataPrepareSettings = DataPrepareSettings;\nvar Export = /** @class */ (function (_super) {\n __extends(Export, _super);\n function Export() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Export.OptionName = \"export\";\n return Export;\n}(nested_option_1.default));\nexports.Export = Export;\nvar Font = /** @class */ (function (_super) {\n __extends(Font, _super);\n function Font() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Font.OptionName = \"font\";\n return Font;\n}(nested_option_1.default));\nexports.Font = Font;\nvar Format = /** @class */ (function (_super) {\n __extends(Format, _super);\n function Format() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Format.OptionName = \"format\";\n return Format;\n}(nested_option_1.default));\nexports.Format = Format;\nvar Grid = /** @class */ (function (_super) {\n __extends(Grid, _super);\n function Grid() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Grid.OptionName = \"grid\";\n return Grid;\n}(nested_option_1.default));\nexports.Grid = Grid;\nvar Hatching = /** @class */ (function (_super) {\n __extends(Hatching, _super);\n function Hatching() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Hatching.OptionName = \"hatching\";\n return Hatching;\n}(nested_option_1.default));\nexports.Hatching = Hatching;\nvar HoverStyle = /** @class */ (function (_super) {\n __extends(HoverStyle, _super);\n function HoverStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HoverStyle.OptionName = \"hoverStyle\";\n return HoverStyle;\n}(nested_option_1.default));\nexports.HoverStyle = HoverStyle;\nvar Image = /** @class */ (function (_super) {\n __extends(Image, _super);\n function Image() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Image.OptionName = \"image\";\n return Image;\n}(nested_option_1.default));\nexports.Image = Image;\nvar Label = /** @class */ (function (_super) {\n __extends(Label, _super);\n function Label() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Label.OptionName = \"label\";\n return Label;\n}(nested_option_1.default));\nexports.Label = Label;\nvar Legend = /** @class */ (function (_super) {\n __extends(Legend, _super);\n function Legend() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Legend.OptionName = \"legend\";\n Legend.ExpectedChildren = {\n annotationBorder: { optionName: \"border\", isCollectionItem: false },\n border: { optionName: \"border\", isCollectionItem: false },\n font: { optionName: \"font\", isCollectionItem: false },\n legendTitle: { optionName: \"title\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n title: { optionName: \"title\", isCollectionItem: false }\n };\n Legend.TemplateProps = [{\n tmplOption: \"markerTemplate\",\n render: \"markerRender\",\n component: \"markerComponent\",\n keyFn: \"markerKeyFn\"\n }];\n return Legend;\n}(nested_option_1.default));\nexports.Legend = Legend;\nvar LegendTitle = /** @class */ (function (_super) {\n __extends(LegendTitle, _super);\n function LegendTitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LegendTitle.OptionName = \"title\";\n LegendTitle.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false },\n legendTitleSubtitle: { optionName: \"subtitle\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n subtitle: { optionName: \"subtitle\", isCollectionItem: false }\n };\n return LegendTitle;\n}(nested_option_1.default));\nexports.LegendTitle = LegendTitle;\nvar LegendTitleSubtitle = /** @class */ (function (_super) {\n __extends(LegendTitleSubtitle, _super);\n function LegendTitleSubtitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LegendTitleSubtitle.OptionName = \"subtitle\";\n LegendTitleSubtitle.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false }\n };\n return LegendTitleSubtitle;\n}(nested_option_1.default));\nexports.LegendTitleSubtitle = LegendTitleSubtitle;\nvar Length = /** @class */ (function (_super) {\n __extends(Length, _super);\n function Length() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Length.OptionName = \"length\";\n return Length;\n}(nested_option_1.default));\nexports.Length = Length;\nvar LoadingIndicator = /** @class */ (function (_super) {\n __extends(LoadingIndicator, _super);\n function LoadingIndicator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LoadingIndicator.OptionName = \"loadingIndicator\";\n LoadingIndicator.DefaultsProps = {\n defaultShow: \"show\"\n };\n LoadingIndicator.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false }\n };\n return LoadingIndicator;\n}(nested_option_1.default));\nexports.LoadingIndicator = LoadingIndicator;\nvar Margin = /** @class */ (function (_super) {\n __extends(Margin, _super);\n function Margin() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Margin.OptionName = \"margin\";\n return Margin;\n}(nested_option_1.default));\nexports.Margin = Margin;\nvar MinorGrid = /** @class */ (function (_super) {\n __extends(MinorGrid, _super);\n function MinorGrid() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MinorGrid.OptionName = \"minorGrid\";\n return MinorGrid;\n}(nested_option_1.default));\nexports.MinorGrid = MinorGrid;\nvar MinorTick = /** @class */ (function (_super) {\n __extends(MinorTick, _super);\n function MinorTick() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MinorTick.OptionName = \"minorTick\";\n return MinorTick;\n}(nested_option_1.default));\nexports.MinorTick = MinorTick;\nvar MinorTickInterval = /** @class */ (function (_super) {\n __extends(MinorTickInterval, _super);\n function MinorTickInterval() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MinorTickInterval.OptionName = \"minorTickInterval\";\n return MinorTickInterval;\n}(nested_option_1.default));\nexports.MinorTickInterval = MinorTickInterval;\nvar MinVisualRangeLength = /** @class */ (function (_super) {\n __extends(MinVisualRangeLength, _super);\n function MinVisualRangeLength() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MinVisualRangeLength.OptionName = \"minVisualRangeLength\";\n return MinVisualRangeLength;\n}(nested_option_1.default));\nexports.MinVisualRangeLength = MinVisualRangeLength;\nvar Point = /** @class */ (function (_super) {\n __extends(Point, _super);\n function Point() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Point.OptionName = \"point\";\n Point.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n hoverStyle: { optionName: \"hoverStyle\", isCollectionItem: false },\n image: { optionName: \"image\", isCollectionItem: false },\n pointBorder: { optionName: \"border\", isCollectionItem: false },\n pointHoverStyle: { optionName: \"hoverStyle\", isCollectionItem: false },\n pointSelectionStyle: { optionName: \"selectionStyle\", isCollectionItem: false },\n selectionStyle: { optionName: \"selectionStyle\", isCollectionItem: false }\n };\n return Point;\n}(nested_option_1.default));\nexports.Point = Point;\nvar PointBorder = /** @class */ (function (_super) {\n __extends(PointBorder, _super);\n function PointBorder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PointBorder.OptionName = \"border\";\n return PointBorder;\n}(nested_option_1.default));\nexports.PointBorder = PointBorder;\nvar PointHoverStyle = /** @class */ (function (_super) {\n __extends(PointHoverStyle, _super);\n function PointHoverStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PointHoverStyle.OptionName = \"hoverStyle\";\n PointHoverStyle.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n pointBorder: { optionName: \"border\", isCollectionItem: false }\n };\n return PointHoverStyle;\n}(nested_option_1.default));\nexports.PointHoverStyle = PointHoverStyle;\nvar PointSelectionStyle = /** @class */ (function (_super) {\n __extends(PointSelectionStyle, _super);\n function PointSelectionStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PointSelectionStyle.OptionName = \"selectionStyle\";\n PointSelectionStyle.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n pointBorder: { optionName: \"border\", isCollectionItem: false }\n };\n return PointSelectionStyle;\n}(nested_option_1.default));\nexports.PointSelectionStyle = PointSelectionStyle;\nvar PolarChartTitle = /** @class */ (function (_super) {\n __extends(PolarChartTitle, _super);\n function PolarChartTitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PolarChartTitle.OptionName = \"title\";\n PolarChartTitle.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n polarChartTitleSubtitle: { optionName: \"subtitle\", isCollectionItem: false },\n subtitle: { optionName: \"subtitle\", isCollectionItem: false }\n };\n return PolarChartTitle;\n}(nested_option_1.default));\nexports.PolarChartTitle = PolarChartTitle;\nvar PolarChartTitleSubtitle = /** @class */ (function (_super) {\n __extends(PolarChartTitleSubtitle, _super);\n function PolarChartTitleSubtitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PolarChartTitleSubtitle.OptionName = \"subtitle\";\n PolarChartTitleSubtitle.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false }\n };\n return PolarChartTitleSubtitle;\n}(nested_option_1.default));\nexports.PolarChartTitleSubtitle = PolarChartTitleSubtitle;\nvar SelectionStyle = /** @class */ (function (_super) {\n __extends(SelectionStyle, _super);\n function SelectionStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SelectionStyle.OptionName = \"selectionStyle\";\n return SelectionStyle;\n}(nested_option_1.default));\nexports.SelectionStyle = SelectionStyle;\nvar Series = /** @class */ (function (_super) {\n __extends(Series, _super);\n function Series() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Series.OptionName = \"series\";\n Series.IsCollectionItem = true;\n return Series;\n}(nested_option_1.default));\nexports.Series = Series;\nvar SeriesBorder = /** @class */ (function (_super) {\n __extends(SeriesBorder, _super);\n function SeriesBorder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SeriesBorder.OptionName = \"border\";\n return SeriesBorder;\n}(nested_option_1.default));\nexports.SeriesBorder = SeriesBorder;\nvar SeriesTemplate = /** @class */ (function (_super) {\n __extends(SeriesTemplate, _super);\n function SeriesTemplate() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SeriesTemplate.OptionName = \"seriesTemplate\";\n return SeriesTemplate;\n}(nested_option_1.default));\nexports.SeriesTemplate = SeriesTemplate;\nvar Shadow = /** @class */ (function (_super) {\n __extends(Shadow, _super);\n function Shadow() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Shadow.OptionName = \"shadow\";\n return Shadow;\n}(nested_option_1.default));\nexports.Shadow = Shadow;\nvar Size = /** @class */ (function (_super) {\n __extends(Size, _super);\n function Size() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Size.OptionName = \"size\";\n return Size;\n}(nested_option_1.default));\nexports.Size = Size;\nvar Strip = /** @class */ (function (_super) {\n __extends(Strip, _super);\n function Strip() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Strip.OptionName = \"strips\";\n Strip.IsCollectionItem = true;\n return Strip;\n}(nested_option_1.default));\nexports.Strip = Strip;\nvar StripLabel = /** @class */ (function (_super) {\n __extends(StripLabel, _super);\n function StripLabel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StripLabel.OptionName = \"label\";\n return StripLabel;\n}(nested_option_1.default));\nexports.StripLabel = StripLabel;\nvar StripStyle = /** @class */ (function (_super) {\n __extends(StripStyle, _super);\n function StripStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StripStyle.OptionName = \"stripStyle\";\n StripStyle.ExpectedChildren = {\n label: { optionName: \"label\", isCollectionItem: false },\n stripStyleLabel: { optionName: \"label\", isCollectionItem: false }\n };\n return StripStyle;\n}(nested_option_1.default));\nexports.StripStyle = StripStyle;\nvar StripStyleLabel = /** @class */ (function (_super) {\n __extends(StripStyleLabel, _super);\n function StripStyleLabel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StripStyleLabel.OptionName = \"label\";\n return StripStyleLabel;\n}(nested_option_1.default));\nexports.StripStyleLabel = StripStyleLabel;\nvar Subtitle = /** @class */ (function (_super) {\n __extends(Subtitle, _super);\n function Subtitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Subtitle.OptionName = \"subtitle\";\n return Subtitle;\n}(nested_option_1.default));\nexports.Subtitle = Subtitle;\nvar Tick = /** @class */ (function (_super) {\n __extends(Tick, _super);\n function Tick() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Tick.OptionName = \"tick\";\n return Tick;\n}(nested_option_1.default));\nexports.Tick = Tick;\nvar TickInterval = /** @class */ (function (_super) {\n __extends(TickInterval, _super);\n function TickInterval() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TickInterval.OptionName = \"tickInterval\";\n return TickInterval;\n}(nested_option_1.default));\nexports.TickInterval = TickInterval;\nvar Title = /** @class */ (function (_super) {\n __extends(Title, _super);\n function Title() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Title.OptionName = \"title\";\n return Title;\n}(nested_option_1.default));\nexports.Title = Title;\nvar Tooltip = /** @class */ (function (_super) {\n __extends(Tooltip, _super);\n function Tooltip() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Tooltip.OptionName = \"tooltip\";\n Tooltip.ExpectedChildren = {\n argumentFormat: { optionName: \"argumentFormat\", isCollectionItem: false },\n border: { optionName: \"border\", isCollectionItem: false },\n font: { optionName: \"font\", isCollectionItem: false },\n format: { optionName: \"format\", isCollectionItem: false },\n shadow: { optionName: \"shadow\", isCollectionItem: false },\n tooltipBorder: { optionName: \"border\", isCollectionItem: false }\n };\n Tooltip.TemplateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }];\n return Tooltip;\n}(nested_option_1.default));\nexports.Tooltip = Tooltip;\nvar TooltipBorder = /** @class */ (function (_super) {\n __extends(TooltipBorder, _super);\n function TooltipBorder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TooltipBorder.OptionName = \"border\";\n return TooltipBorder;\n}(nested_option_1.default));\nexports.TooltipBorder = TooltipBorder;\nvar ValueAxis = /** @class */ (function (_super) {\n __extends(ValueAxis, _super);\n function ValueAxis() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ValueAxis.OptionName = \"valueAxis\";\n ValueAxis.DefaultsProps = {\n defaultVisualRange: \"visualRange\"\n };\n ValueAxis.ExpectedChildren = {\n axisLabel: { optionName: \"label\", isCollectionItem: false },\n commonAxisSettingsTick: { optionName: \"tick\", isCollectionItem: false },\n constantLine: { optionName: \"constantLines\", isCollectionItem: true },\n label: { optionName: \"label\", isCollectionItem: false },\n minorTickInterval: { optionName: \"minorTickInterval\", isCollectionItem: false },\n minVisualRangeLength: { optionName: \"minVisualRangeLength\", isCollectionItem: false },\n strip: { optionName: \"strips\", isCollectionItem: true },\n tick: { optionName: \"tick\", isCollectionItem: false },\n tickInterval: { optionName: \"tickInterval\", isCollectionItem: false },\n visualRange: { optionName: \"visualRange\", isCollectionItem: false },\n wholeRange: { optionName: \"wholeRange\", isCollectionItem: false }\n };\n return ValueAxis;\n}(nested_option_1.default));\nexports.ValueAxis = ValueAxis;\nvar ValueErrorBar = /** @class */ (function (_super) {\n __extends(ValueErrorBar, _super);\n function ValueErrorBar() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ValueErrorBar.OptionName = \"valueErrorBar\";\n return ValueErrorBar;\n}(nested_option_1.default));\nexports.ValueErrorBar = ValueErrorBar;\nvar VisualRange = /** @class */ (function (_super) {\n __extends(VisualRange, _super);\n function VisualRange() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n VisualRange.OptionName = \"visualRange\";\n VisualRange.DefaultsProps = {\n defaultEndValue: \"endValue\",\n defaultStartValue: \"startValue\"\n };\n VisualRange.ExpectedChildren = {\n length: { optionName: \"length\", isCollectionItem: false }\n };\n return VisualRange;\n}(nested_option_1.default));\nexports.VisualRange = VisualRange;\nvar WholeRange = /** @class */ (function (_super) {\n __extends(WholeRange, _super);\n function WholeRange() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n WholeRange.OptionName = \"wholeRange\";\n WholeRange.DefaultsProps = {\n defaultEndValue: \"endValue\",\n defaultStartValue: \"startValue\"\n };\n return WholeRange;\n}(nested_option_1.default));\nexports.WholeRange = WholeRange;\nexports.default = PolarChart;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ToolbarItem = exports.To = exports.ShowEvent = exports.Show = exports.Position = exports.Offset = exports.My = exports.HideEvent = exports.Hide = exports.From = exports.Collision = exports.BoundaryOffset = exports.At = exports.Animation = exports.Popover = void 0;\nvar popover_1 = require(\"devextreme/ui/popover\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Popover = /** @class */ (function (_super) {\n __extends(Popover, _super);\n function Popover() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = popover_1.default;\n _this.isPortalComponent = true;\n _this.subscribableOptions = [\"height\", \"position\", \"visible\", \"width\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onHidden\", \"onHiding\", \"onInitialized\", \"onShowing\", \"onShown\", \"onTitleRendered\"];\n _this._defaults = {\n defaultHeight: \"height\",\n defaultPosition: \"position\",\n defaultVisible: \"visible\",\n defaultWidth: \"width\"\n };\n _this._expectedChildren = {\n animation: { optionName: \"animation\", isCollectionItem: false },\n hideEvent: { optionName: \"hideEvent\", isCollectionItem: false },\n position: { optionName: \"position\", isCollectionItem: false },\n showEvent: { optionName: \"showEvent\", isCollectionItem: false },\n toolbarItem: { optionName: \"toolbarItems\", isCollectionItem: true }\n };\n _this._templateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }, {\n tmplOption: \"titleTemplate\",\n render: \"titleRender\",\n component: \"titleComponent\",\n keyFn: \"titleKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(Popover.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Popover;\n}(component_1.Component));\nexports.Popover = Popover;\nPopover.propTypes = {\n animation: PropTypes.object,\n closeOnOutsideClick: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.func\n ]),\n copyRootClassesToWrapper: PropTypes.bool,\n deferRendering: PropTypes.bool,\n disabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hideEvent: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string\n ]),\n hideOnOutsideClick: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.func\n ]),\n hideOnParentScroll: PropTypes.bool,\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n maxHeight: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n maxWidth: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n minHeight: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n minWidth: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onHidden: PropTypes.func,\n onHiding: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onShowing: PropTypes.func,\n onShown: PropTypes.func,\n onTitleRendered: PropTypes.func,\n position: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"bottom\",\n \"left\",\n \"right\",\n \"top\"\n ])\n ])\n ]),\n rtlEnabled: PropTypes.bool,\n shading: PropTypes.bool,\n shadingColor: PropTypes.string,\n showCloseButton: PropTypes.bool,\n showEvent: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string\n ]),\n showTitle: PropTypes.bool,\n title: PropTypes.string,\n toolbarItems: PropTypes.array,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Animation.OptionName = \"animation\";\n Animation.ExpectedChildren = {\n hide: { optionName: \"hide\", isCollectionItem: false },\n show: { optionName: \"show\", isCollectionItem: false }\n };\n return Animation;\n}(nested_option_1.default));\nexports.Animation = Animation;\nvar At = /** @class */ (function (_super) {\n __extends(At, _super);\n function At() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n At.OptionName = \"at\";\n return At;\n}(nested_option_1.default));\nexports.At = At;\nvar BoundaryOffset = /** @class */ (function (_super) {\n __extends(BoundaryOffset, _super);\n function BoundaryOffset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BoundaryOffset.OptionName = \"boundaryOffset\";\n return BoundaryOffset;\n}(nested_option_1.default));\nexports.BoundaryOffset = BoundaryOffset;\nvar Collision = /** @class */ (function (_super) {\n __extends(Collision, _super);\n function Collision() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Collision.OptionName = \"collision\";\n return Collision;\n}(nested_option_1.default));\nexports.Collision = Collision;\nvar From = /** @class */ (function (_super) {\n __extends(From, _super);\n function From() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n From.OptionName = \"from\";\n From.ExpectedChildren = {\n position: { optionName: \"position\", isCollectionItem: false }\n };\n return From;\n}(nested_option_1.default));\nexports.From = From;\nvar Hide = /** @class */ (function (_super) {\n __extends(Hide, _super);\n function Hide() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Hide.OptionName = \"hide\";\n Hide.ExpectedChildren = {\n from: { optionName: \"from\", isCollectionItem: false },\n to: { optionName: \"to\", isCollectionItem: false }\n };\n return Hide;\n}(nested_option_1.default));\nexports.Hide = Hide;\nvar HideEvent = /** @class */ (function (_super) {\n __extends(HideEvent, _super);\n function HideEvent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HideEvent.OptionName = \"hideEvent\";\n return HideEvent;\n}(nested_option_1.default));\nexports.HideEvent = HideEvent;\nvar My = /** @class */ (function (_super) {\n __extends(My, _super);\n function My() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n My.OptionName = \"my\";\n return My;\n}(nested_option_1.default));\nexports.My = My;\nvar Offset = /** @class */ (function (_super) {\n __extends(Offset, _super);\n function Offset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Offset.OptionName = \"offset\";\n return Offset;\n}(nested_option_1.default));\nexports.Offset = Offset;\nvar Position = /** @class */ (function (_super) {\n __extends(Position, _super);\n function Position() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Position.OptionName = \"position\";\n return Position;\n}(nested_option_1.default));\nexports.Position = Position;\nvar Show = /** @class */ (function (_super) {\n __extends(Show, _super);\n function Show() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Show.OptionName = \"show\";\n return Show;\n}(nested_option_1.default));\nexports.Show = Show;\nvar ShowEvent = /** @class */ (function (_super) {\n __extends(ShowEvent, _super);\n function ShowEvent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ShowEvent.OptionName = \"showEvent\";\n return ShowEvent;\n}(nested_option_1.default));\nexports.ShowEvent = ShowEvent;\nvar To = /** @class */ (function (_super) {\n __extends(To, _super);\n function To() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n To.OptionName = \"to\";\n return To;\n}(nested_option_1.default));\nexports.To = To;\nvar ToolbarItem = /** @class */ (function (_super) {\n __extends(ToolbarItem, _super);\n function ToolbarItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ToolbarItem.OptionName = \"toolbarItems\";\n ToolbarItem.IsCollectionItem = true;\n ToolbarItem.TemplateProps = [{\n tmplOption: \"menuItemTemplate\",\n render: \"menuItemRender\",\n component: \"menuItemComponent\",\n keyFn: \"menuItemKeyFn\"\n }, {\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return ToolbarItem;\n}(nested_option_1.default));\nexports.ToolbarItem = ToolbarItem;\nexports.default = Popover;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ToolbarItem = exports.To = exports.Show = exports.Position = exports.Offset = exports.My = exports.Hide = exports.From = exports.Collision = exports.BoundaryOffset = exports.At = exports.Animation = exports.Popup = void 0;\nvar popup_1 = require(\"devextreme/ui/popup\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Popup = /** @class */ (function (_super) {\n __extends(Popup, _super);\n function Popup() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = popup_1.default;\n _this.isPortalComponent = true;\n _this.subscribableOptions = [\"height\", \"position\", \"visible\", \"width\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onHidden\", \"onHiding\", \"onInitialized\", \"onResize\", \"onResizeEnd\", \"onResizeStart\", \"onShowing\", \"onShown\", \"onTitleRendered\"];\n _this._defaults = {\n defaultHeight: \"height\",\n defaultPosition: \"position\",\n defaultVisible: \"visible\",\n defaultWidth: \"width\"\n };\n _this._expectedChildren = {\n animation: { optionName: \"animation\", isCollectionItem: false },\n position: { optionName: \"position\", isCollectionItem: false },\n toolbarItem: { optionName: \"toolbarItems\", isCollectionItem: true }\n };\n _this._templateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }, {\n tmplOption: \"titleTemplate\",\n render: \"titleRender\",\n component: \"titleComponent\",\n keyFn: \"titleKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(Popup.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Popup;\n}(component_1.Component));\nexports.Popup = Popup;\nPopup.propTypes = {\n accessKey: PropTypes.string,\n animation: PropTypes.object,\n closeOnOutsideClick: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.func\n ]),\n copyRootClassesToWrapper: PropTypes.bool,\n deferRendering: PropTypes.bool,\n disabled: PropTypes.bool,\n dragEnabled: PropTypes.bool,\n dragOutsideBoundary: PropTypes.bool,\n focusStateEnabled: PropTypes.bool,\n fullScreen: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hideOnOutsideClick: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.func\n ]),\n hideOnParentScroll: PropTypes.bool,\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n maxHeight: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n maxWidth: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n minHeight: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n minWidth: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onHidden: PropTypes.func,\n onHiding: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onResize: PropTypes.func,\n onResizeEnd: PropTypes.func,\n onResizeStart: PropTypes.func,\n onShowing: PropTypes.func,\n onShown: PropTypes.func,\n onTitleRendered: PropTypes.func,\n position: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.object,\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"bottom\",\n \"center\",\n \"left\",\n \"left bottom\",\n \"left top\",\n \"right\",\n \"right bottom\",\n \"right top\",\n \"top\"\n ])\n ])\n ]),\n resizeEnabled: PropTypes.bool,\n restorePosition: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n shading: PropTypes.bool,\n shadingColor: PropTypes.string,\n showCloseButton: PropTypes.bool,\n showTitle: PropTypes.bool,\n tabIndex: PropTypes.number,\n title: PropTypes.string,\n toolbarItems: PropTypes.array,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Animation.OptionName = \"animation\";\n Animation.ExpectedChildren = {\n hide: { optionName: \"hide\", isCollectionItem: false },\n show: { optionName: \"show\", isCollectionItem: false }\n };\n return Animation;\n}(nested_option_1.default));\nexports.Animation = Animation;\nvar At = /** @class */ (function (_super) {\n __extends(At, _super);\n function At() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n At.OptionName = \"at\";\n return At;\n}(nested_option_1.default));\nexports.At = At;\nvar BoundaryOffset = /** @class */ (function (_super) {\n __extends(BoundaryOffset, _super);\n function BoundaryOffset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BoundaryOffset.OptionName = \"boundaryOffset\";\n return BoundaryOffset;\n}(nested_option_1.default));\nexports.BoundaryOffset = BoundaryOffset;\nvar Collision = /** @class */ (function (_super) {\n __extends(Collision, _super);\n function Collision() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Collision.OptionName = \"collision\";\n return Collision;\n}(nested_option_1.default));\nexports.Collision = Collision;\nvar From = /** @class */ (function (_super) {\n __extends(From, _super);\n function From() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n From.OptionName = \"from\";\n From.ExpectedChildren = {\n position: { optionName: \"position\", isCollectionItem: false }\n };\n return From;\n}(nested_option_1.default));\nexports.From = From;\nvar Hide = /** @class */ (function (_super) {\n __extends(Hide, _super);\n function Hide() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Hide.OptionName = \"hide\";\n Hide.ExpectedChildren = {\n from: { optionName: \"from\", isCollectionItem: false },\n to: { optionName: \"to\", isCollectionItem: false }\n };\n return Hide;\n}(nested_option_1.default));\nexports.Hide = Hide;\nvar My = /** @class */ (function (_super) {\n __extends(My, _super);\n function My() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n My.OptionName = \"my\";\n return My;\n}(nested_option_1.default));\nexports.My = My;\nvar Offset = /** @class */ (function (_super) {\n __extends(Offset, _super);\n function Offset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Offset.OptionName = \"offset\";\n return Offset;\n}(nested_option_1.default));\nexports.Offset = Offset;\nvar Position = /** @class */ (function (_super) {\n __extends(Position, _super);\n function Position() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Position.OptionName = \"position\";\n return Position;\n}(nested_option_1.default));\nexports.Position = Position;\nvar Show = /** @class */ (function (_super) {\n __extends(Show, _super);\n function Show() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Show.OptionName = \"show\";\n return Show;\n}(nested_option_1.default));\nexports.Show = Show;\nvar To = /** @class */ (function (_super) {\n __extends(To, _super);\n function To() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n To.OptionName = \"to\";\n return To;\n}(nested_option_1.default));\nexports.To = To;\nvar ToolbarItem = /** @class */ (function (_super) {\n __extends(ToolbarItem, _super);\n function ToolbarItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ToolbarItem.OptionName = \"toolbarItems\";\n ToolbarItem.IsCollectionItem = true;\n ToolbarItem.TemplateProps = [{\n tmplOption: \"menuItemTemplate\",\n render: \"menuItemRender\",\n component: \"menuItemComponent\",\n keyFn: \"menuItemKeyFn\"\n }, {\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return ToolbarItem;\n}(nested_option_1.default));\nexports.ToolbarItem = ToolbarItem;\nexports.default = Popup;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ProgressBar = void 0;\nvar progress_bar_1 = require(\"devextreme/ui/progress_bar\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar ProgressBar = /** @class */ (function (_super) {\n __extends(ProgressBar, _super);\n function ProgressBar() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = progress_bar_1.default;\n _this.subscribableOptions = [\"value\"];\n _this.independentEvents = [\"onComplete\", \"onContentReady\", \"onDisposing\", \"onInitialized\", \"onValueChanged\"];\n _this._defaults = {\n defaultValue: \"value\"\n };\n return _this;\n }\n Object.defineProperty(ProgressBar.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return ProgressBar;\n}(component_1.Component));\nexports.ProgressBar = ProgressBar;\nProgressBar.propTypes = {\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n isValid: PropTypes.bool,\n max: PropTypes.number,\n min: PropTypes.number,\n onComplete: PropTypes.func,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onValueChanged: PropTypes.func,\n readOnly: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n showStatus: PropTypes.bool,\n statusFormat: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n validationErrors: PropTypes.array,\n validationMessageMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"always\",\n \"auto\"\n ])\n ]),\n validationMessagePosition: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"bottom\",\n \"left\",\n \"right\",\n \"top\"\n ])\n ]),\n validationStatus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"valid\",\n \"invalid\",\n \"pending\"\n ])\n ]),\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nexports.default = ProgressBar;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Item = exports.RadioGroup = void 0;\nvar radio_group_1 = require(\"devextreme/ui/radio_group\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar RadioGroup = /** @class */ (function (_super) {\n __extends(RadioGroup, _super);\n function RadioGroup() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = radio_group_1.default;\n _this.subscribableOptions = [\"value\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onInitialized\", \"onValueChanged\"];\n _this._defaults = {\n defaultValue: \"value\"\n };\n _this._expectedChildren = {\n item: { optionName: \"items\", isCollectionItem: true }\n };\n _this._templateProps = [{\n tmplOption: \"itemTemplate\",\n render: \"itemRender\",\n component: \"itemComponent\",\n keyFn: \"itemKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(RadioGroup.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return RadioGroup;\n}(component_1.Component));\nexports.RadioGroup = RadioGroup;\nRadioGroup.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n disabled: PropTypes.bool,\n displayExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n isValid: PropTypes.bool,\n items: PropTypes.array,\n layout: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"horizontal\",\n \"vertical\"\n ])\n ]),\n name: PropTypes.string,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onValueChanged: PropTypes.func,\n readOnly: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n tabIndex: PropTypes.number,\n validationErrors: PropTypes.array,\n validationMessageMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"always\",\n \"auto\"\n ])\n ]),\n validationMessagePosition: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"bottom\",\n \"left\",\n \"right\",\n \"top\"\n ])\n ]),\n validationStatus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"valid\",\n \"invalid\",\n \"pending\"\n ])\n ]),\n valueExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nexports.default = RadioGroup;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SliderHandle = exports.Size = exports.Shutter = exports.SeriesTemplate = exports.SeriesBorder = exports.Series = exports.SelectionStyle = exports.ScaleLabel = exports.Scale = exports.Reduction = exports.PointSelectionStyle = exports.PointImage = exports.PointHoverStyle = exports.PointBorder = exports.Point = exports.MinRange = exports.MinorTickInterval = exports.MinorTick = exports.MaxRange = exports.MarkerLabel = exports.Marker = exports.Margin = exports.LoadingIndicator = exports.Length = exports.Label = exports.Indent = exports.Image = exports.HoverStyle = exports.Height = exports.Hatching = exports.Format = exports.Font = exports.Export = exports.DataPrepareSettings = exports.Connector = exports.CommonSeriesSettingsSelectionStyle = exports.CommonSeriesSettingsLabel = exports.CommonSeriesSettingsHoverStyle = exports.CommonSeriesSettings = exports.Chart = exports.BreakStyle = exports.Break = exports.Border = exports.Behavior = exports.BackgroundImage = exports.Background = exports.ArgumentFormat = exports.AggregationInterval = exports.Aggregation = exports.RangeSelector = void 0;\nexports.Width = exports.ValueErrorBar = exports.ValueAxis = exports.Value = exports.Url = exports.Title = exports.TickInterval = exports.Tick = exports.Subtitle = exports.SliderMarker = void 0;\nvar range_selector_1 = require(\"devextreme/viz/range_selector\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar RangeSelector = /** @class */ (function (_super) {\n __extends(RangeSelector, _super);\n function RangeSelector() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = range_selector_1.default;\n _this.subscribableOptions = [\"loadingIndicator\", \"loadingIndicator.show\", \"value\"];\n _this.independentEvents = [\"onDisposing\", \"onDrawn\", \"onExported\", \"onExporting\", \"onFileSaving\", \"onIncidentOccurred\", \"onInitialized\", \"onValueChanged\"];\n _this._defaults = {\n defaultLoadingIndicator: \"loadingIndicator\",\n defaultValue: \"value\"\n };\n _this._expectedChildren = {\n background: { optionName: \"background\", isCollectionItem: false },\n behavior: { optionName: \"behavior\", isCollectionItem: false },\n chart: { optionName: \"chart\", isCollectionItem: false },\n export: { optionName: \"export\", isCollectionItem: false },\n indent: { optionName: \"indent\", isCollectionItem: false },\n loadingIndicator: { optionName: \"loadingIndicator\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n scale: { optionName: \"scale\", isCollectionItem: false },\n shutter: { optionName: \"shutter\", isCollectionItem: false },\n size: { optionName: \"size\", isCollectionItem: false },\n sliderHandle: { optionName: \"sliderHandle\", isCollectionItem: false },\n sliderMarker: { optionName: \"sliderMarker\", isCollectionItem: false },\n title: { optionName: \"title\", isCollectionItem: false },\n value: { optionName: \"value\", isCollectionItem: false }\n };\n return _this;\n }\n Object.defineProperty(RangeSelector.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return RangeSelector;\n}(component_1.Component));\nexports.RangeSelector = RangeSelector;\nRangeSelector.propTypes = {\n background: PropTypes.object,\n behavior: PropTypes.object,\n chart: PropTypes.object,\n containerBackgroundColor: PropTypes.string,\n dataSourceField: PropTypes.string,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n export: PropTypes.object,\n indent: PropTypes.object,\n loadingIndicator: PropTypes.object,\n margin: PropTypes.object,\n onDisposing: PropTypes.func,\n onDrawn: PropTypes.func,\n onExported: PropTypes.func,\n onExporting: PropTypes.func,\n onFileSaving: PropTypes.func,\n onIncidentOccurred: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onValueChanged: PropTypes.func,\n pathModified: PropTypes.bool,\n redrawOnResize: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n scale: PropTypes.object,\n selectedRangeColor: PropTypes.string,\n selectedRangeUpdateMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"auto\",\n \"keep\",\n \"reset\",\n \"shift\"\n ])\n ]),\n shutter: PropTypes.object,\n size: PropTypes.object,\n sliderHandle: PropTypes.object,\n sliderMarker: PropTypes.object,\n theme: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"generic.dark\",\n \"generic.light\",\n \"generic.contrast\",\n \"generic.carmine\",\n \"generic.darkmoon\",\n \"generic.darkviolet\",\n \"generic.greenmist\",\n \"generic.softblue\",\n \"material.blue.light\",\n \"material.lime.light\",\n \"material.orange.light\",\n \"material.purple.light\",\n \"material.teal.light\"\n ])\n ]),\n title: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string\n ]),\n value: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object\n ])\n};\nvar Aggregation = /** @class */ (function (_super) {\n __extends(Aggregation, _super);\n function Aggregation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Aggregation.OptionName = \"aggregation\";\n return Aggregation;\n}(nested_option_1.default));\nexports.Aggregation = Aggregation;\nvar AggregationInterval = /** @class */ (function (_super) {\n __extends(AggregationInterval, _super);\n function AggregationInterval() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AggregationInterval.OptionName = \"aggregationInterval\";\n return AggregationInterval;\n}(nested_option_1.default));\nexports.AggregationInterval = AggregationInterval;\nvar ArgumentFormat = /** @class */ (function (_super) {\n __extends(ArgumentFormat, _super);\n function ArgumentFormat() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ArgumentFormat.OptionName = \"argumentFormat\";\n return ArgumentFormat;\n}(nested_option_1.default));\nexports.ArgumentFormat = ArgumentFormat;\nvar Background = /** @class */ (function (_super) {\n __extends(Background, _super);\n function Background() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Background.OptionName = \"background\";\n Background.ExpectedChildren = {\n backgroundImage: { optionName: \"image\", isCollectionItem: false },\n image: { optionName: \"image\", isCollectionItem: false }\n };\n return Background;\n}(nested_option_1.default));\nexports.Background = Background;\nvar BackgroundImage = /** @class */ (function (_super) {\n __extends(BackgroundImage, _super);\n function BackgroundImage() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BackgroundImage.OptionName = \"image\";\n return BackgroundImage;\n}(nested_option_1.default));\nexports.BackgroundImage = BackgroundImage;\nvar Behavior = /** @class */ (function (_super) {\n __extends(Behavior, _super);\n function Behavior() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Behavior.OptionName = \"behavior\";\n return Behavior;\n}(nested_option_1.default));\nexports.Behavior = Behavior;\nvar Border = /** @class */ (function (_super) {\n __extends(Border, _super);\n function Border() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Border.OptionName = \"border\";\n return Border;\n}(nested_option_1.default));\nexports.Border = Border;\nvar Break = /** @class */ (function (_super) {\n __extends(Break, _super);\n function Break() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Break.OptionName = \"breaks\";\n Break.IsCollectionItem = true;\n return Break;\n}(nested_option_1.default));\nexports.Break = Break;\nvar BreakStyle = /** @class */ (function (_super) {\n __extends(BreakStyle, _super);\n function BreakStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BreakStyle.OptionName = \"breakStyle\";\n return BreakStyle;\n}(nested_option_1.default));\nexports.BreakStyle = BreakStyle;\nvar Chart = /** @class */ (function (_super) {\n __extends(Chart, _super);\n function Chart() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Chart.OptionName = \"chart\";\n Chart.ExpectedChildren = {\n commonSeriesSettings: { optionName: \"commonSeriesSettings\", isCollectionItem: false },\n dataPrepareSettings: { optionName: \"dataPrepareSettings\", isCollectionItem: false },\n series: { optionName: \"series\", isCollectionItem: true },\n seriesTemplate: { optionName: \"seriesTemplate\", isCollectionItem: false },\n valueAxis: { optionName: \"valueAxis\", isCollectionItem: false }\n };\n return Chart;\n}(nested_option_1.default));\nexports.Chart = Chart;\nvar CommonSeriesSettings = /** @class */ (function (_super) {\n __extends(CommonSeriesSettings, _super);\n function CommonSeriesSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CommonSeriesSettings.OptionName = \"commonSeriesSettings\";\n CommonSeriesSettings.ExpectedChildren = {\n aggregation: { optionName: \"aggregation\", isCollectionItem: false },\n border: { optionName: \"border\", isCollectionItem: false },\n commonSeriesSettingsHoverStyle: { optionName: \"hoverStyle\", isCollectionItem: false },\n commonSeriesSettingsLabel: { optionName: \"label\", isCollectionItem: false },\n commonSeriesSettingsSelectionStyle: { optionName: \"selectionStyle\", isCollectionItem: false },\n hoverStyle: { optionName: \"hoverStyle\", isCollectionItem: false },\n label: { optionName: \"label\", isCollectionItem: false },\n point: { optionName: \"point\", isCollectionItem: false },\n reduction: { optionName: \"reduction\", isCollectionItem: false },\n selectionStyle: { optionName: \"selectionStyle\", isCollectionItem: false },\n seriesBorder: { optionName: \"border\", isCollectionItem: false },\n valueErrorBar: { optionName: \"valueErrorBar\", isCollectionItem: false }\n };\n return CommonSeriesSettings;\n}(nested_option_1.default));\nexports.CommonSeriesSettings = CommonSeriesSettings;\nvar CommonSeriesSettingsHoverStyle = /** @class */ (function (_super) {\n __extends(CommonSeriesSettingsHoverStyle, _super);\n function CommonSeriesSettingsHoverStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CommonSeriesSettingsHoverStyle.OptionName = \"hoverStyle\";\n CommonSeriesSettingsHoverStyle.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n hatching: { optionName: \"hatching\", isCollectionItem: false },\n seriesBorder: { optionName: \"border\", isCollectionItem: false }\n };\n return CommonSeriesSettingsHoverStyle;\n}(nested_option_1.default));\nexports.CommonSeriesSettingsHoverStyle = CommonSeriesSettingsHoverStyle;\nvar CommonSeriesSettingsLabel = /** @class */ (function (_super) {\n __extends(CommonSeriesSettingsLabel, _super);\n function CommonSeriesSettingsLabel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CommonSeriesSettingsLabel.OptionName = \"label\";\n CommonSeriesSettingsLabel.ExpectedChildren = {\n argumentFormat: { optionName: \"argumentFormat\", isCollectionItem: false },\n border: { optionName: \"border\", isCollectionItem: false },\n connector: { optionName: \"connector\", isCollectionItem: false },\n font: { optionName: \"font\", isCollectionItem: false },\n format: { optionName: \"format\", isCollectionItem: false },\n seriesBorder: { optionName: \"border\", isCollectionItem: false }\n };\n return CommonSeriesSettingsLabel;\n}(nested_option_1.default));\nexports.CommonSeriesSettingsLabel = CommonSeriesSettingsLabel;\nvar CommonSeriesSettingsSelectionStyle = /** @class */ (function (_super) {\n __extends(CommonSeriesSettingsSelectionStyle, _super);\n function CommonSeriesSettingsSelectionStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CommonSeriesSettingsSelectionStyle.OptionName = \"selectionStyle\";\n CommonSeriesSettingsSelectionStyle.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n hatching: { optionName: \"hatching\", isCollectionItem: false },\n seriesBorder: { optionName: \"border\", isCollectionItem: false }\n };\n return CommonSeriesSettingsSelectionStyle;\n}(nested_option_1.default));\nexports.CommonSeriesSettingsSelectionStyle = CommonSeriesSettingsSelectionStyle;\nvar Connector = /** @class */ (function (_super) {\n __extends(Connector, _super);\n function Connector() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Connector.OptionName = \"connector\";\n return Connector;\n}(nested_option_1.default));\nexports.Connector = Connector;\nvar DataPrepareSettings = /** @class */ (function (_super) {\n __extends(DataPrepareSettings, _super);\n function DataPrepareSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DataPrepareSettings.OptionName = \"dataPrepareSettings\";\n return DataPrepareSettings;\n}(nested_option_1.default));\nexports.DataPrepareSettings = DataPrepareSettings;\nvar Export = /** @class */ (function (_super) {\n __extends(Export, _super);\n function Export() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Export.OptionName = \"export\";\n return Export;\n}(nested_option_1.default));\nexports.Export = Export;\nvar Font = /** @class */ (function (_super) {\n __extends(Font, _super);\n function Font() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Font.OptionName = \"font\";\n return Font;\n}(nested_option_1.default));\nexports.Font = Font;\nvar Format = /** @class */ (function (_super) {\n __extends(Format, _super);\n function Format() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Format.OptionName = \"format\";\n return Format;\n}(nested_option_1.default));\nexports.Format = Format;\nvar Hatching = /** @class */ (function (_super) {\n __extends(Hatching, _super);\n function Hatching() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Hatching.OptionName = \"hatching\";\n return Hatching;\n}(nested_option_1.default));\nexports.Hatching = Hatching;\nvar Height = /** @class */ (function (_super) {\n __extends(Height, _super);\n function Height() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Height.OptionName = \"height\";\n return Height;\n}(nested_option_1.default));\nexports.Height = Height;\nvar HoverStyle = /** @class */ (function (_super) {\n __extends(HoverStyle, _super);\n function HoverStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HoverStyle.OptionName = \"hoverStyle\";\n return HoverStyle;\n}(nested_option_1.default));\nexports.HoverStyle = HoverStyle;\nvar Image = /** @class */ (function (_super) {\n __extends(Image, _super);\n function Image() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Image.OptionName = \"image\";\n return Image;\n}(nested_option_1.default));\nexports.Image = Image;\nvar Indent = /** @class */ (function (_super) {\n __extends(Indent, _super);\n function Indent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Indent.OptionName = \"indent\";\n return Indent;\n}(nested_option_1.default));\nexports.Indent = Indent;\nvar Label = /** @class */ (function (_super) {\n __extends(Label, _super);\n function Label() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Label.OptionName = \"label\";\n return Label;\n}(nested_option_1.default));\nexports.Label = Label;\nvar Length = /** @class */ (function (_super) {\n __extends(Length, _super);\n function Length() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Length.OptionName = \"length\";\n return Length;\n}(nested_option_1.default));\nexports.Length = Length;\nvar LoadingIndicator = /** @class */ (function (_super) {\n __extends(LoadingIndicator, _super);\n function LoadingIndicator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LoadingIndicator.OptionName = \"loadingIndicator\";\n LoadingIndicator.DefaultsProps = {\n defaultShow: \"show\"\n };\n LoadingIndicator.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false }\n };\n return LoadingIndicator;\n}(nested_option_1.default));\nexports.LoadingIndicator = LoadingIndicator;\nvar Margin = /** @class */ (function (_super) {\n __extends(Margin, _super);\n function Margin() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Margin.OptionName = \"margin\";\n return Margin;\n}(nested_option_1.default));\nexports.Margin = Margin;\nvar Marker = /** @class */ (function (_super) {\n __extends(Marker, _super);\n function Marker() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Marker.OptionName = \"marker\";\n Marker.ExpectedChildren = {\n label: { optionName: \"label\", isCollectionItem: false },\n markerLabel: { optionName: \"label\", isCollectionItem: false }\n };\n return Marker;\n}(nested_option_1.default));\nexports.Marker = Marker;\nvar MarkerLabel = /** @class */ (function (_super) {\n __extends(MarkerLabel, _super);\n function MarkerLabel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MarkerLabel.OptionName = \"label\";\n MarkerLabel.ExpectedChildren = {\n format: { optionName: \"format\", isCollectionItem: false }\n };\n return MarkerLabel;\n}(nested_option_1.default));\nexports.MarkerLabel = MarkerLabel;\nvar MaxRange = /** @class */ (function (_super) {\n __extends(MaxRange, _super);\n function MaxRange() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MaxRange.OptionName = \"maxRange\";\n return MaxRange;\n}(nested_option_1.default));\nexports.MaxRange = MaxRange;\nvar MinorTick = /** @class */ (function (_super) {\n __extends(MinorTick, _super);\n function MinorTick() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MinorTick.OptionName = \"minorTick\";\n return MinorTick;\n}(nested_option_1.default));\nexports.MinorTick = MinorTick;\nvar MinorTickInterval = /** @class */ (function (_super) {\n __extends(MinorTickInterval, _super);\n function MinorTickInterval() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MinorTickInterval.OptionName = \"minorTickInterval\";\n return MinorTickInterval;\n}(nested_option_1.default));\nexports.MinorTickInterval = MinorTickInterval;\nvar MinRange = /** @class */ (function (_super) {\n __extends(MinRange, _super);\n function MinRange() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MinRange.OptionName = \"minRange\";\n return MinRange;\n}(nested_option_1.default));\nexports.MinRange = MinRange;\nvar Point = /** @class */ (function (_super) {\n __extends(Point, _super);\n function Point() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Point.OptionName = \"point\";\n Point.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n hoverStyle: { optionName: \"hoverStyle\", isCollectionItem: false },\n image: { optionName: \"image\", isCollectionItem: false },\n pointBorder: { optionName: \"border\", isCollectionItem: false },\n pointHoverStyle: { optionName: \"hoverStyle\", isCollectionItem: false },\n pointImage: { optionName: \"image\", isCollectionItem: false },\n pointSelectionStyle: { optionName: \"selectionStyle\", isCollectionItem: false },\n selectionStyle: { optionName: \"selectionStyle\", isCollectionItem: false }\n };\n return Point;\n}(nested_option_1.default));\nexports.Point = Point;\nvar PointBorder = /** @class */ (function (_super) {\n __extends(PointBorder, _super);\n function PointBorder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PointBorder.OptionName = \"border\";\n return PointBorder;\n}(nested_option_1.default));\nexports.PointBorder = PointBorder;\nvar PointHoverStyle = /** @class */ (function (_super) {\n __extends(PointHoverStyle, _super);\n function PointHoverStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PointHoverStyle.OptionName = \"hoverStyle\";\n PointHoverStyle.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n pointBorder: { optionName: \"border\", isCollectionItem: false }\n };\n return PointHoverStyle;\n}(nested_option_1.default));\nexports.PointHoverStyle = PointHoverStyle;\nvar PointImage = /** @class */ (function (_super) {\n __extends(PointImage, _super);\n function PointImage() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PointImage.OptionName = \"image\";\n PointImage.ExpectedChildren = {\n height: { optionName: \"height\", isCollectionItem: false },\n url: { optionName: \"url\", isCollectionItem: false },\n width: { optionName: \"width\", isCollectionItem: false }\n };\n return PointImage;\n}(nested_option_1.default));\nexports.PointImage = PointImage;\nvar PointSelectionStyle = /** @class */ (function (_super) {\n __extends(PointSelectionStyle, _super);\n function PointSelectionStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PointSelectionStyle.OptionName = \"selectionStyle\";\n PointSelectionStyle.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n pointBorder: { optionName: \"border\", isCollectionItem: false }\n };\n return PointSelectionStyle;\n}(nested_option_1.default));\nexports.PointSelectionStyle = PointSelectionStyle;\nvar Reduction = /** @class */ (function (_super) {\n __extends(Reduction, _super);\n function Reduction() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Reduction.OptionName = \"reduction\";\n return Reduction;\n}(nested_option_1.default));\nexports.Reduction = Reduction;\nvar Scale = /** @class */ (function (_super) {\n __extends(Scale, _super);\n function Scale() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Scale.OptionName = \"scale\";\n Scale.ExpectedChildren = {\n aggregationInterval: { optionName: \"aggregationInterval\", isCollectionItem: false },\n break: { optionName: \"breaks\", isCollectionItem: true },\n breakStyle: { optionName: \"breakStyle\", isCollectionItem: false },\n label: { optionName: \"label\", isCollectionItem: false },\n marker: { optionName: \"marker\", isCollectionItem: false },\n maxRange: { optionName: \"maxRange\", isCollectionItem: false },\n minorTick: { optionName: \"minorTick\", isCollectionItem: false },\n minorTickInterval: { optionName: \"minorTickInterval\", isCollectionItem: false },\n minRange: { optionName: \"minRange\", isCollectionItem: false },\n scaleLabel: { optionName: \"label\", isCollectionItem: false },\n tick: { optionName: \"tick\", isCollectionItem: false },\n tickInterval: { optionName: \"tickInterval\", isCollectionItem: false }\n };\n return Scale;\n}(nested_option_1.default));\nexports.Scale = Scale;\nvar ScaleLabel = /** @class */ (function (_super) {\n __extends(ScaleLabel, _super);\n function ScaleLabel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ScaleLabel.OptionName = \"label\";\n ScaleLabel.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false },\n format: { optionName: \"format\", isCollectionItem: false }\n };\n return ScaleLabel;\n}(nested_option_1.default));\nexports.ScaleLabel = ScaleLabel;\nvar SelectionStyle = /** @class */ (function (_super) {\n __extends(SelectionStyle, _super);\n function SelectionStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SelectionStyle.OptionName = \"selectionStyle\";\n return SelectionStyle;\n}(nested_option_1.default));\nexports.SelectionStyle = SelectionStyle;\nvar Series = /** @class */ (function (_super) {\n __extends(Series, _super);\n function Series() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Series.OptionName = \"series\";\n Series.IsCollectionItem = true;\n return Series;\n}(nested_option_1.default));\nexports.Series = Series;\nvar SeriesBorder = /** @class */ (function (_super) {\n __extends(SeriesBorder, _super);\n function SeriesBorder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SeriesBorder.OptionName = \"border\";\n return SeriesBorder;\n}(nested_option_1.default));\nexports.SeriesBorder = SeriesBorder;\nvar SeriesTemplate = /** @class */ (function (_super) {\n __extends(SeriesTemplate, _super);\n function SeriesTemplate() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SeriesTemplate.OptionName = \"seriesTemplate\";\n return SeriesTemplate;\n}(nested_option_1.default));\nexports.SeriesTemplate = SeriesTemplate;\nvar Shutter = /** @class */ (function (_super) {\n __extends(Shutter, _super);\n function Shutter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Shutter.OptionName = \"shutter\";\n return Shutter;\n}(nested_option_1.default));\nexports.Shutter = Shutter;\nvar Size = /** @class */ (function (_super) {\n __extends(Size, _super);\n function Size() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Size.OptionName = \"size\";\n return Size;\n}(nested_option_1.default));\nexports.Size = Size;\nvar SliderHandle = /** @class */ (function (_super) {\n __extends(SliderHandle, _super);\n function SliderHandle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SliderHandle.OptionName = \"sliderHandle\";\n return SliderHandle;\n}(nested_option_1.default));\nexports.SliderHandle = SliderHandle;\nvar SliderMarker = /** @class */ (function (_super) {\n __extends(SliderMarker, _super);\n function SliderMarker() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SliderMarker.OptionName = \"sliderMarker\";\n SliderMarker.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false },\n format: { optionName: \"format\", isCollectionItem: false }\n };\n return SliderMarker;\n}(nested_option_1.default));\nexports.SliderMarker = SliderMarker;\nvar Subtitle = /** @class */ (function (_super) {\n __extends(Subtitle, _super);\n function Subtitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Subtitle.OptionName = \"subtitle\";\n Subtitle.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false }\n };\n return Subtitle;\n}(nested_option_1.default));\nexports.Subtitle = Subtitle;\nvar Tick = /** @class */ (function (_super) {\n __extends(Tick, _super);\n function Tick() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Tick.OptionName = \"tick\";\n return Tick;\n}(nested_option_1.default));\nexports.Tick = Tick;\nvar TickInterval = /** @class */ (function (_super) {\n __extends(TickInterval, _super);\n function TickInterval() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TickInterval.OptionName = \"tickInterval\";\n return TickInterval;\n}(nested_option_1.default));\nexports.TickInterval = TickInterval;\nvar Title = /** @class */ (function (_super) {\n __extends(Title, _super);\n function Title() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Title.OptionName = \"title\";\n Title.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n subtitle: { optionName: \"subtitle\", isCollectionItem: false }\n };\n return Title;\n}(nested_option_1.default));\nexports.Title = Title;\nvar Url = /** @class */ (function (_super) {\n __extends(Url, _super);\n function Url() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Url.OptionName = \"url\";\n return Url;\n}(nested_option_1.default));\nexports.Url = Url;\nvar Value = /** @class */ (function (_super) {\n __extends(Value, _super);\n function Value() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Value.OptionName = \"value\";\n Value.DefaultsProps = {\n defaultEndValue: \"endValue\",\n defaultStartValue: \"startValue\"\n };\n Value.ExpectedChildren = {\n length: { optionName: \"length\", isCollectionItem: false }\n };\n return Value;\n}(nested_option_1.default));\nexports.Value = Value;\nvar ValueAxis = /** @class */ (function (_super) {\n __extends(ValueAxis, _super);\n function ValueAxis() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ValueAxis.OptionName = \"valueAxis\";\n return ValueAxis;\n}(nested_option_1.default));\nexports.ValueAxis = ValueAxis;\nvar ValueErrorBar = /** @class */ (function (_super) {\n __extends(ValueErrorBar, _super);\n function ValueErrorBar() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ValueErrorBar.OptionName = \"valueErrorBar\";\n return ValueErrorBar;\n}(nested_option_1.default));\nexports.ValueErrorBar = ValueErrorBar;\nvar Width = /** @class */ (function (_super) {\n __extends(Width, _super);\n function Width() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Width.OptionName = \"width\";\n return Width;\n}(nested_option_1.default));\nexports.Width = Width;\nexports.default = RangeSelector;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Tooltip = exports.Label = exports.Format = exports.RangeSlider = void 0;\nvar range_slider_1 = require(\"devextreme/ui/range_slider\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar RangeSlider = /** @class */ (function (_super) {\n __extends(RangeSlider, _super);\n function RangeSlider() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = range_slider_1.default;\n _this.subscribableOptions = [\"value\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onInitialized\", \"onValueChanged\"];\n _this._defaults = {\n defaultValue: \"value\"\n };\n _this._expectedChildren = {\n label: { optionName: \"label\", isCollectionItem: false },\n tooltip: { optionName: \"tooltip\", isCollectionItem: false }\n };\n return _this;\n }\n Object.defineProperty(RangeSlider.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return RangeSlider;\n}(component_1.Component));\nexports.RangeSlider = RangeSlider;\nRangeSlider.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n end: PropTypes.number,\n endName: PropTypes.string,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n isValid: PropTypes.bool,\n keyStep: PropTypes.number,\n label: PropTypes.object,\n max: PropTypes.number,\n min: PropTypes.number,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onValueChanged: PropTypes.func,\n readOnly: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n showRange: PropTypes.bool,\n start: PropTypes.number,\n startName: PropTypes.string,\n step: PropTypes.number,\n tabIndex: PropTypes.number,\n tooltip: PropTypes.object,\n validationErrors: PropTypes.array,\n validationMessageMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"always\",\n \"auto\"\n ])\n ]),\n validationMessagePosition: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"bottom\",\n \"left\",\n \"right\",\n \"top\"\n ])\n ]),\n validationStatus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"valid\",\n \"invalid\",\n \"pending\"\n ])\n ]),\n value: PropTypes.array,\n valueChangeMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"onHandleMove\",\n \"onHandleRelease\"\n ])\n ]),\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Format = /** @class */ (function (_super) {\n __extends(Format, _super);\n function Format() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Format.OptionName = \"format\";\n return Format;\n}(nested_option_1.default));\nexports.Format = Format;\nvar Label = /** @class */ (function (_super) {\n __extends(Label, _super);\n function Label() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Label.OptionName = \"label\";\n Label.ExpectedChildren = {\n format: { optionName: \"format\", isCollectionItem: false }\n };\n return Label;\n}(nested_option_1.default));\nexports.Label = Label;\nvar Tooltip = /** @class */ (function (_super) {\n __extends(Tooltip, _super);\n function Tooltip() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Tooltip.OptionName = \"tooltip\";\n Tooltip.ExpectedChildren = {\n format: { optionName: \"format\", isCollectionItem: false }\n };\n return Tooltip;\n}(nested_option_1.default));\nexports.Tooltip = Tooltip;\nexports.default = RangeSlider;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RecurrenceEditor = void 0;\nvar recurrence_editor_1 = require(\"devextreme/ui/recurrence_editor\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar RecurrenceEditor = /** @class */ (function (_super) {\n __extends(RecurrenceEditor, _super);\n function RecurrenceEditor() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = recurrence_editor_1.default;\n _this.subscribableOptions = [\"value\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onInitialized\", \"onValueChanged\"];\n _this._defaults = {\n defaultValue: \"value\"\n };\n return _this;\n }\n Object.defineProperty(RecurrenceEditor.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return RecurrenceEditor;\n}(component_1.Component));\nexports.RecurrenceEditor = RecurrenceEditor;\nRecurrenceEditor.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n isValid: PropTypes.bool,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onValueChanged: PropTypes.func,\n readOnly: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n tabIndex: PropTypes.number,\n validationErrors: PropTypes.array,\n validationMessageMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"always\",\n \"auto\"\n ])\n ]),\n validationMessagePosition: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"bottom\",\n \"left\",\n \"right\",\n \"top\"\n ])\n ]),\n validationStatus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"valid\",\n \"invalid\",\n \"pending\"\n ])\n ]),\n value: PropTypes.string,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nexports.default = RecurrenceEditor;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Resizable = void 0;\nvar resizable_1 = require(\"devextreme/ui/resizable\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar Resizable = /** @class */ (function (_super) {\n __extends(Resizable, _super);\n function Resizable() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = resizable_1.default;\n _this.subscribableOptions = [\"height\", \"width\"];\n _this.independentEvents = [\"onDisposing\", \"onInitialized\", \"onResize\", \"onResizeEnd\", \"onResizeStart\"];\n _this._defaults = {\n defaultHeight: \"height\",\n defaultWidth: \"width\"\n };\n return _this;\n }\n Object.defineProperty(Resizable.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Resizable;\n}(component_1.Component));\nexports.Resizable = Resizable;\nResizable.propTypes = {\n elementAttr: PropTypes.object,\n handles: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"bottom\",\n \"left\",\n \"right\",\n \"top\",\n \"all\"\n ])\n ]),\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n keepAspectRatio: PropTypes.bool,\n maxHeight: PropTypes.number,\n maxWidth: PropTypes.number,\n minHeight: PropTypes.number,\n minWidth: PropTypes.number,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onResize: PropTypes.func,\n onResizeEnd: PropTypes.func,\n onResizeStart: PropTypes.func,\n rtlEnabled: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nexports.default = Resizable;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Row = exports.Location = exports.Item = exports.Col = exports.ResponsiveBox = void 0;\nvar responsive_box_1 = require(\"devextreme/ui/responsive_box\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar ResponsiveBox = /** @class */ (function (_super) {\n __extends(ResponsiveBox, _super);\n function ResponsiveBox() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = responsive_box_1.default;\n _this.subscribableOptions = [\"items\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onInitialized\", \"onItemClick\", \"onItemContextMenu\", \"onItemHold\", \"onItemRendered\"];\n _this._defaults = {\n defaultItems: \"items\"\n };\n _this._expectedChildren = {\n col: { optionName: \"cols\", isCollectionItem: true },\n item: { optionName: \"items\", isCollectionItem: true },\n row: { optionName: \"rows\", isCollectionItem: true }\n };\n _this._templateProps = [{\n tmplOption: \"itemTemplate\",\n render: \"itemRender\",\n component: \"itemComponent\",\n keyFn: \"itemKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(ResponsiveBox.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return ResponsiveBox;\n}(component_1.Component));\nexports.ResponsiveBox = ResponsiveBox;\nResponsiveBox.propTypes = {\n cols: PropTypes.array,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hoverStateEnabled: PropTypes.bool,\n itemHoldTimeout: PropTypes.number,\n items: PropTypes.array,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onItemClick: PropTypes.func,\n onItemContextMenu: PropTypes.func,\n onItemHold: PropTypes.func,\n onItemRendered: PropTypes.func,\n onOptionChanged: PropTypes.func,\n rows: PropTypes.array,\n rtlEnabled: PropTypes.bool,\n screenByWidth: PropTypes.func,\n singleColumnScreen: PropTypes.string,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Col = /** @class */ (function (_super) {\n __extends(Col, _super);\n function Col() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Col.OptionName = \"cols\";\n Col.IsCollectionItem = true;\n return Col;\n}(nested_option_1.default));\nexports.Col = Col;\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.ExpectedChildren = {\n location: { optionName: \"location\", isCollectionItem: true }\n };\n Item.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nvar Location = /** @class */ (function (_super) {\n __extends(Location, _super);\n function Location() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Location.OptionName = \"location\";\n Location.IsCollectionItem = true;\n return Location;\n}(nested_option_1.default));\nexports.Location = Location;\nvar Row = /** @class */ (function (_super) {\n __extends(Row, _super);\n function Row() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Row.OptionName = \"rows\";\n Row.IsCollectionItem = true;\n return Row;\n}(nested_option_1.default));\nexports.Row = Row;\nexports.default = ResponsiveBox;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TooltipBorder = exports.Tooltip = exports.Title = exports.Subtitle = exports.Size = exports.Shadow = exports.Sankeyborder = exports.Node = exports.Margin = exports.LoadingIndicator = exports.Link = exports.Label = exports.HoverStyle = exports.Hatching = exports.Format = exports.Font = exports.Export = exports.Border = exports.AdaptiveLayout = exports.Sankey = void 0;\nvar sankey_1 = require(\"devextreme/viz/sankey\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Sankey = /** @class */ (function (_super) {\n __extends(Sankey, _super);\n function Sankey() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = sankey_1.default;\n _this.subscribableOptions = [\"loadingIndicator\", \"loadingIndicator.show\"];\n _this.independentEvents = [\"onDisposing\", \"onDrawn\", \"onExported\", \"onExporting\", \"onFileSaving\", \"onIncidentOccurred\", \"onInitialized\", \"onLinkClick\", \"onNodeClick\"];\n _this._defaults = {\n defaultLoadingIndicator: \"loadingIndicator\"\n };\n _this._expectedChildren = {\n adaptiveLayout: { optionName: \"adaptiveLayout\", isCollectionItem: false },\n export: { optionName: \"export\", isCollectionItem: false },\n label: { optionName: \"label\", isCollectionItem: false },\n link: { optionName: \"link\", isCollectionItem: false },\n loadingIndicator: { optionName: \"loadingIndicator\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n node: { optionName: \"node\", isCollectionItem: false },\n size: { optionName: \"size\", isCollectionItem: false },\n title: { optionName: \"title\", isCollectionItem: false },\n tooltip: { optionName: \"tooltip\", isCollectionItem: false }\n };\n return _this;\n }\n Object.defineProperty(Sankey.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Sankey;\n}(component_1.Component));\nexports.Sankey = Sankey;\nSankey.propTypes = {\n adaptiveLayout: PropTypes.object,\n alignment: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"bottom\",\n \"center\",\n \"top\"\n ])\n ])\n ]),\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n export: PropTypes.object,\n hoverEnabled: PropTypes.bool,\n label: PropTypes.object,\n link: PropTypes.object,\n loadingIndicator: PropTypes.object,\n margin: PropTypes.object,\n node: PropTypes.object,\n onDisposing: PropTypes.func,\n onDrawn: PropTypes.func,\n onExported: PropTypes.func,\n onExporting: PropTypes.func,\n onFileSaving: PropTypes.func,\n onIncidentOccurred: PropTypes.func,\n onInitialized: PropTypes.func,\n onLinkClick: PropTypes.func,\n onLinkHoverChanged: PropTypes.func,\n onNodeClick: PropTypes.func,\n onNodeHoverChanged: PropTypes.func,\n onOptionChanged: PropTypes.func,\n palette: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"Bright\",\n \"Harmony Light\",\n \"Ocean\",\n \"Pastel\",\n \"Soft\",\n \"Soft Pastel\",\n \"Vintage\",\n \"Violet\",\n \"Carmine\",\n \"Dark Moon\",\n \"Dark Violet\",\n \"Green Mist\",\n \"Soft Blue\",\n \"Material\",\n \"Office\"\n ])\n ])\n ]),\n paletteExtensionMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"alternate\",\n \"blend\",\n \"extrapolate\"\n ])\n ]),\n pathModified: PropTypes.bool,\n redrawOnResize: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n size: PropTypes.object,\n sourceField: PropTypes.string,\n targetField: PropTypes.string,\n theme: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"generic.dark\",\n \"generic.light\",\n \"generic.contrast\",\n \"generic.carmine\",\n \"generic.darkmoon\",\n \"generic.darkviolet\",\n \"generic.greenmist\",\n \"generic.softblue\",\n \"material.blue.light\",\n \"material.lime.light\",\n \"material.orange.light\",\n \"material.purple.light\",\n \"material.teal.light\"\n ])\n ]),\n title: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string\n ]),\n tooltip: PropTypes.object,\n weightField: PropTypes.string\n};\nvar AdaptiveLayout = /** @class */ (function (_super) {\n __extends(AdaptiveLayout, _super);\n function AdaptiveLayout() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AdaptiveLayout.OptionName = \"adaptiveLayout\";\n return AdaptiveLayout;\n}(nested_option_1.default));\nexports.AdaptiveLayout = AdaptiveLayout;\nvar Border = /** @class */ (function (_super) {\n __extends(Border, _super);\n function Border() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Border.OptionName = \"border\";\n return Border;\n}(nested_option_1.default));\nexports.Border = Border;\nvar Export = /** @class */ (function (_super) {\n __extends(Export, _super);\n function Export() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Export.OptionName = \"export\";\n return Export;\n}(nested_option_1.default));\nexports.Export = Export;\nvar Font = /** @class */ (function (_super) {\n __extends(Font, _super);\n function Font() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Font.OptionName = \"font\";\n return Font;\n}(nested_option_1.default));\nexports.Font = Font;\nvar Format = /** @class */ (function (_super) {\n __extends(Format, _super);\n function Format() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Format.OptionName = \"format\";\n return Format;\n}(nested_option_1.default));\nexports.Format = Format;\nvar Hatching = /** @class */ (function (_super) {\n __extends(Hatching, _super);\n function Hatching() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Hatching.OptionName = \"hatching\";\n return Hatching;\n}(nested_option_1.default));\nexports.Hatching = Hatching;\nvar HoverStyle = /** @class */ (function (_super) {\n __extends(HoverStyle, _super);\n function HoverStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HoverStyle.OptionName = \"hoverStyle\";\n return HoverStyle;\n}(nested_option_1.default));\nexports.HoverStyle = HoverStyle;\nvar Label = /** @class */ (function (_super) {\n __extends(Label, _super);\n function Label() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Label.OptionName = \"label\";\n Label.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n font: { optionName: \"font\", isCollectionItem: false },\n sankeyborder: { optionName: \"border\", isCollectionItem: false },\n shadow: { optionName: \"shadow\", isCollectionItem: false }\n };\n return Label;\n}(nested_option_1.default));\nexports.Label = Label;\nvar Link = /** @class */ (function (_super) {\n __extends(Link, _super);\n function Link() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Link.OptionName = \"link\";\n Link.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n hoverStyle: { optionName: \"hoverStyle\", isCollectionItem: false },\n sankeyborder: { optionName: \"border\", isCollectionItem: false }\n };\n return Link;\n}(nested_option_1.default));\nexports.Link = Link;\nvar LoadingIndicator = /** @class */ (function (_super) {\n __extends(LoadingIndicator, _super);\n function LoadingIndicator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LoadingIndicator.OptionName = \"loadingIndicator\";\n LoadingIndicator.DefaultsProps = {\n defaultShow: \"show\"\n };\n LoadingIndicator.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false }\n };\n return LoadingIndicator;\n}(nested_option_1.default));\nexports.LoadingIndicator = LoadingIndicator;\nvar Margin = /** @class */ (function (_super) {\n __extends(Margin, _super);\n function Margin() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Margin.OptionName = \"margin\";\n return Margin;\n}(nested_option_1.default));\nexports.Margin = Margin;\nvar Node = /** @class */ (function (_super) {\n __extends(Node, _super);\n function Node() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Node.OptionName = \"node\";\n Node.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n hoverStyle: { optionName: \"hoverStyle\", isCollectionItem: false },\n sankeyborder: { optionName: \"border\", isCollectionItem: false }\n };\n return Node;\n}(nested_option_1.default));\nexports.Node = Node;\nvar Sankeyborder = /** @class */ (function (_super) {\n __extends(Sankeyborder, _super);\n function Sankeyborder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Sankeyborder.OptionName = \"border\";\n return Sankeyborder;\n}(nested_option_1.default));\nexports.Sankeyborder = Sankeyborder;\nvar Shadow = /** @class */ (function (_super) {\n __extends(Shadow, _super);\n function Shadow() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Shadow.OptionName = \"shadow\";\n return Shadow;\n}(nested_option_1.default));\nexports.Shadow = Shadow;\nvar Size = /** @class */ (function (_super) {\n __extends(Size, _super);\n function Size() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Size.OptionName = \"size\";\n return Size;\n}(nested_option_1.default));\nexports.Size = Size;\nvar Subtitle = /** @class */ (function (_super) {\n __extends(Subtitle, _super);\n function Subtitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Subtitle.OptionName = \"subtitle\";\n Subtitle.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false }\n };\n return Subtitle;\n}(nested_option_1.default));\nexports.Subtitle = Subtitle;\nvar Title = /** @class */ (function (_super) {\n __extends(Title, _super);\n function Title() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Title.OptionName = \"title\";\n Title.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n subtitle: { optionName: \"subtitle\", isCollectionItem: false }\n };\n return Title;\n}(nested_option_1.default));\nexports.Title = Title;\nvar Tooltip = /** @class */ (function (_super) {\n __extends(Tooltip, _super);\n function Tooltip() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Tooltip.OptionName = \"tooltip\";\n Tooltip.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n font: { optionName: \"font\", isCollectionItem: false },\n format: { optionName: \"format\", isCollectionItem: false },\n shadow: { optionName: \"shadow\", isCollectionItem: false },\n tooltipBorder: { optionName: \"border\", isCollectionItem: false }\n };\n Tooltip.TemplateProps = [{\n tmplOption: \"linkTooltipTemplate\",\n render: \"linkTooltipRender\",\n component: \"linkTooltipComponent\",\n keyFn: \"linkTooltipKeyFn\"\n }, {\n tmplOption: \"nodeTooltipTemplate\",\n render: \"nodeTooltipRender\",\n component: \"nodeTooltipComponent\",\n keyFn: \"nodeTooltipKeyFn\"\n }];\n return Tooltip;\n}(nested_option_1.default));\nexports.Tooltip = Tooltip;\nvar TooltipBorder = /** @class */ (function (_super) {\n __extends(TooltipBorder, _super);\n function TooltipBorder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TooltipBorder.OptionName = \"border\";\n return TooltipBorder;\n}(nested_option_1.default));\nexports.TooltipBorder = TooltipBorder;\nexports.default = Sankey;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.View = exports.Scrolling = exports.Resource = exports.Editing = exports.AppointmentDragging = exports.Scheduler = void 0;\nvar scheduler_1 = require(\"devextreme/ui/scheduler\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Scheduler = /** @class */ (function (_super) {\n __extends(Scheduler, _super);\n function Scheduler() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = scheduler_1.default;\n _this.subscribableOptions = [\"currentDate\", \"currentView\"];\n _this.independentEvents = [\"onAppointmentAdded\", \"onAppointmentAdding\", \"onAppointmentClick\", \"onAppointmentContextMenu\", \"onAppointmentDblClick\", \"onAppointmentDeleted\", \"onAppointmentDeleting\", \"onAppointmentFormOpening\", \"onAppointmentRendered\", \"onAppointmentTooltipShowing\", \"onAppointmentUpdated\", \"onAppointmentUpdating\", \"onCellClick\", \"onCellContextMenu\", \"onContentReady\", \"onDisposing\", \"onInitialized\"];\n _this._defaults = {\n defaultCurrentDate: \"currentDate\",\n defaultCurrentView: \"currentView\"\n };\n _this._expectedChildren = {\n appointmentDragging: { optionName: \"appointmentDragging\", isCollectionItem: false },\n editing: { optionName: \"editing\", isCollectionItem: false },\n resource: { optionName: \"resources\", isCollectionItem: true },\n scrolling: { optionName: \"scrolling\", isCollectionItem: false },\n view: { optionName: \"views\", isCollectionItem: true }\n };\n _this._templateProps = [{\n tmplOption: \"appointmentCollectorTemplate\",\n render: \"appointmentCollectorRender\",\n component: \"appointmentCollectorComponent\",\n keyFn: \"appointmentCollectorKeyFn\"\n }, {\n tmplOption: \"appointmentTemplate\",\n render: \"appointmentRender\",\n component: \"appointmentComponent\",\n keyFn: \"appointmentKeyFn\"\n }, {\n tmplOption: \"appointmentTooltipTemplate\",\n render: \"appointmentTooltipRender\",\n component: \"appointmentTooltipComponent\",\n keyFn: \"appointmentTooltipKeyFn\"\n }, {\n tmplOption: \"dataCellTemplate\",\n render: \"dataCellRender\",\n component: \"dataCellComponent\",\n keyFn: \"dataCellKeyFn\"\n }, {\n tmplOption: \"dateCellTemplate\",\n render: \"dateCellRender\",\n component: \"dateCellComponent\",\n keyFn: \"dateCellKeyFn\"\n }, {\n tmplOption: \"dropDownAppointmentTemplate\",\n render: \"dropDownAppointmentRender\",\n component: \"dropDownAppointmentComponent\",\n keyFn: \"dropDownAppointmentKeyFn\"\n }, {\n tmplOption: \"resourceCellTemplate\",\n render: \"resourceCellRender\",\n component: \"resourceCellComponent\",\n keyFn: \"resourceCellKeyFn\"\n }, {\n tmplOption: \"timeCellTemplate\",\n render: \"timeCellRender\",\n component: \"timeCellComponent\",\n keyFn: \"timeCellKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(Scheduler.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Scheduler;\n}(component_1.Component));\nexports.Scheduler = Scheduler;\nScheduler.propTypes = {\n accessKey: PropTypes.string,\n adaptivityEnabled: PropTypes.bool,\n allDayExpr: PropTypes.string,\n allDayPanelMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"all\",\n \"allDay\",\n \"hidden\"\n ])\n ]),\n appointmentDragging: PropTypes.object,\n cellDuration: PropTypes.number,\n crossScrollingEnabled: PropTypes.bool,\n currentView: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"agenda\",\n \"day\",\n \"month\",\n \"timelineDay\",\n \"timelineMonth\",\n \"timelineWeek\",\n \"timelineWorkWeek\",\n \"week\",\n \"workWeek\"\n ])\n ]),\n customizeDateNavigatorText: PropTypes.func,\n dateSerializationFormat: PropTypes.string,\n descriptionExpr: PropTypes.string,\n disabled: PropTypes.bool,\n editing: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.object\n ]),\n elementAttr: PropTypes.object,\n endDateExpr: PropTypes.string,\n endDateTimeZoneExpr: PropTypes.string,\n endDayHour: PropTypes.number,\n firstDayOfWeek: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.oneOf([\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6\n ])\n ]),\n focusStateEnabled: PropTypes.bool,\n groupByDate: PropTypes.bool,\n groups: PropTypes.array,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n indicatorUpdateInterval: PropTypes.number,\n maxAppointmentsPerCell: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"auto\",\n \"unlimited\"\n ])\n ])\n ]),\n noDataText: PropTypes.string,\n onAppointmentAdded: PropTypes.func,\n onAppointmentAdding: PropTypes.func,\n onAppointmentClick: PropTypes.func,\n onAppointmentContextMenu: PropTypes.func,\n onAppointmentDblClick: PropTypes.func,\n onAppointmentDeleted: PropTypes.func,\n onAppointmentDeleting: PropTypes.func,\n onAppointmentFormOpening: PropTypes.func,\n onAppointmentRendered: PropTypes.func,\n onAppointmentTooltipShowing: PropTypes.func,\n onAppointmentUpdated: PropTypes.func,\n onAppointmentUpdating: PropTypes.func,\n onCellClick: PropTypes.func,\n onCellContextMenu: PropTypes.func,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n recurrenceEditMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"dialog\",\n \"occurrence\",\n \"series\"\n ])\n ]),\n recurrenceExceptionExpr: PropTypes.string,\n recurrenceRuleExpr: PropTypes.string,\n remoteFiltering: PropTypes.bool,\n resources: PropTypes.array,\n rtlEnabled: PropTypes.bool,\n scrolling: PropTypes.object,\n selectedCellData: PropTypes.array,\n shadeUntilCurrentTime: PropTypes.bool,\n showAllDayPanel: PropTypes.bool,\n showCurrentTimeIndicator: PropTypes.bool,\n startDateExpr: PropTypes.string,\n startDateTimeZoneExpr: PropTypes.string,\n startDayHour: PropTypes.number,\n tabIndex: PropTypes.number,\n textExpr: PropTypes.string,\n timeZone: PropTypes.string,\n useDropDownViewSwitcher: PropTypes.bool,\n views: PropTypes.array,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar AppointmentDragging = /** @class */ (function (_super) {\n __extends(AppointmentDragging, _super);\n function AppointmentDragging() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AppointmentDragging.OptionName = \"appointmentDragging\";\n return AppointmentDragging;\n}(nested_option_1.default));\nexports.AppointmentDragging = AppointmentDragging;\nvar Editing = /** @class */ (function (_super) {\n __extends(Editing, _super);\n function Editing() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Editing.OptionName = \"editing\";\n return Editing;\n}(nested_option_1.default));\nexports.Editing = Editing;\nvar Resource = /** @class */ (function (_super) {\n __extends(Resource, _super);\n function Resource() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Resource.OptionName = \"resources\";\n Resource.IsCollectionItem = true;\n return Resource;\n}(nested_option_1.default));\nexports.Resource = Resource;\nvar Scrolling = /** @class */ (function (_super) {\n __extends(Scrolling, _super);\n function Scrolling() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Scrolling.OptionName = \"scrolling\";\n return Scrolling;\n}(nested_option_1.default));\nexports.Scrolling = Scrolling;\nvar View = /** @class */ (function (_super) {\n __extends(View, _super);\n function View() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n View.OptionName = \"views\";\n View.IsCollectionItem = true;\n View.ExpectedChildren = {\n scrolling: { optionName: \"scrolling\", isCollectionItem: false }\n };\n View.TemplateProps = [{\n tmplOption: \"appointmentCollectorTemplate\",\n render: \"appointmentCollectorRender\",\n component: \"appointmentCollectorComponent\",\n keyFn: \"appointmentCollectorKeyFn\"\n }, {\n tmplOption: \"appointmentTemplate\",\n render: \"appointmentRender\",\n component: \"appointmentComponent\",\n keyFn: \"appointmentKeyFn\"\n }, {\n tmplOption: \"appointmentTooltipTemplate\",\n render: \"appointmentTooltipRender\",\n component: \"appointmentTooltipComponent\",\n keyFn: \"appointmentTooltipKeyFn\"\n }, {\n tmplOption: \"dataCellTemplate\",\n render: \"dataCellRender\",\n component: \"dataCellComponent\",\n keyFn: \"dataCellKeyFn\"\n }, {\n tmplOption: \"dateCellTemplate\",\n render: \"dateCellRender\",\n component: \"dateCellComponent\",\n keyFn: \"dateCellKeyFn\"\n }, {\n tmplOption: \"dropDownAppointmentTemplate\",\n render: \"dropDownAppointmentRender\",\n component: \"dropDownAppointmentComponent\",\n keyFn: \"dropDownAppointmentKeyFn\"\n }, {\n tmplOption: \"resourceCellTemplate\",\n render: \"resourceCellRender\",\n component: \"resourceCellComponent\",\n keyFn: \"resourceCellKeyFn\"\n }, {\n tmplOption: \"timeCellTemplate\",\n render: \"timeCellRender\",\n component: \"timeCellComponent\",\n keyFn: \"timeCellKeyFn\"\n }];\n return View;\n}(nested_option_1.default));\nexports.View = View;\nexports.default = Scheduler;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ScrollView = void 0;\nvar scroll_view_1 = require(\"devextreme/ui/scroll_view\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar ScrollView = /** @class */ (function (_super) {\n __extends(ScrollView, _super);\n function ScrollView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = scroll_view_1.default;\n _this.independentEvents = [\"onDisposing\", \"onInitialized\", \"onPullDown\", \"onReachBottom\", \"onScroll\", \"onUpdated\"];\n return _this;\n }\n Object.defineProperty(ScrollView.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return ScrollView;\n}(component_1.Component));\nexports.ScrollView = ScrollView;\nScrollView.propTypes = {\n bounceEnabled: PropTypes.bool,\n direction: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"both\",\n \"horizontal\",\n \"vertical\"\n ])\n ]),\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onPullDown: PropTypes.func,\n onReachBottom: PropTypes.func,\n onScroll: PropTypes.func,\n onUpdated: PropTypes.func,\n pulledDownText: PropTypes.string,\n pullingDownText: PropTypes.string,\n reachBottomText: PropTypes.string,\n refreshingText: PropTypes.string,\n rtlEnabled: PropTypes.bool,\n scrollByContent: PropTypes.bool,\n scrollByThumb: PropTypes.bool,\n showScrollbar: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"onScroll\",\n \"onHover\",\n \"always\",\n \"never\"\n ])\n ]),\n useNative: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nexports.default = ScrollView;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ToolbarItem = exports.To = exports.Show = exports.Position = exports.Options = exports.Offset = exports.My = exports.Item = exports.Hide = exports.From = exports.DropDownOptions = exports.Collision = exports.Button = exports.BoundaryOffset = exports.At = exports.Animation = exports.SelectBox = void 0;\nvar select_box_1 = require(\"devextreme/ui/select_box\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar SelectBox = /** @class */ (function (_super) {\n __extends(SelectBox, _super);\n function SelectBox() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = select_box_1.default;\n _this.subscribableOptions = [\"opened\", \"value\"];\n _this.independentEvents = [\"onChange\", \"onClosed\", \"onContentReady\", \"onCopy\", \"onCustomItemCreating\", \"onCut\", \"onDisposing\", \"onEnterKey\", \"onFocusIn\", \"onFocusOut\", \"onInitialized\", \"onInput\", \"onItemClick\", \"onKeyDown\", \"onKeyUp\", \"onOpened\", \"onPaste\", \"onValueChanged\"];\n _this._defaults = {\n defaultOpened: \"opened\",\n defaultValue: \"value\"\n };\n _this._expectedChildren = {\n button: { optionName: \"buttons\", isCollectionItem: true },\n dropDownOptions: { optionName: \"dropDownOptions\", isCollectionItem: false },\n item: { optionName: \"items\", isCollectionItem: true }\n };\n _this._templateProps = [{\n tmplOption: \"dropDownButtonTemplate\",\n render: \"dropDownButtonRender\",\n component: \"dropDownButtonComponent\",\n keyFn: \"dropDownButtonKeyFn\"\n }, {\n tmplOption: \"fieldTemplate\",\n render: \"fieldRender\",\n component: \"fieldComponent\",\n keyFn: \"fieldKeyFn\"\n }, {\n tmplOption: \"groupTemplate\",\n render: \"groupRender\",\n component: \"groupComponent\",\n keyFn: \"groupKeyFn\"\n }, {\n tmplOption: \"itemTemplate\",\n render: \"itemRender\",\n component: \"itemComponent\",\n keyFn: \"itemKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(SelectBox.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return SelectBox;\n}(component_1.Component));\nexports.SelectBox = SelectBox;\nSelectBox.propTypes = {\n acceptCustomValue: PropTypes.bool,\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n buttons: PropTypes.array,\n customItemCreateEvent: PropTypes.string,\n deferRendering: PropTypes.bool,\n disabled: PropTypes.bool,\n displayExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n displayValue: PropTypes.string,\n dropDownOptions: PropTypes.object,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n grouped: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n isValid: PropTypes.bool,\n items: PropTypes.array,\n label: PropTypes.string,\n labelMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"static\",\n \"floating\",\n \"hidden\"\n ])\n ]),\n maxLength: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string\n ]),\n minSearchLength: PropTypes.number,\n name: PropTypes.string,\n noDataText: PropTypes.string,\n onChange: PropTypes.func,\n onClosed: PropTypes.func,\n onContentReady: PropTypes.func,\n onCopy: PropTypes.func,\n onCustomItemCreating: PropTypes.func,\n onCut: PropTypes.func,\n onDisposing: PropTypes.func,\n onEnterKey: PropTypes.func,\n onFocusIn: PropTypes.func,\n onFocusOut: PropTypes.func,\n onInitialized: PropTypes.func,\n onInput: PropTypes.func,\n onItemClick: PropTypes.func,\n onKeyDown: PropTypes.func,\n onKeyUp: PropTypes.func,\n onOpened: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onPaste: PropTypes.func,\n onSelectionChanged: PropTypes.func,\n onValueChanged: PropTypes.func,\n opened: PropTypes.bool,\n openOnFieldClick: PropTypes.bool,\n placeholder: PropTypes.string,\n readOnly: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n searchEnabled: PropTypes.bool,\n searchExpr: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.func,\n PropTypes.string\n ]),\n searchMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"contains\",\n \"startswith\"\n ])\n ]),\n searchTimeout: PropTypes.number,\n showClearButton: PropTypes.bool,\n showDataBeforeSearch: PropTypes.bool,\n showDropDownButton: PropTypes.bool,\n showSelectionControls: PropTypes.bool,\n spellcheck: PropTypes.bool,\n stylingMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"outlined\",\n \"underlined\",\n \"filled\"\n ])\n ]),\n tabIndex: PropTypes.number,\n text: PropTypes.string,\n useItemTextAsTitle: PropTypes.bool,\n validationErrors: PropTypes.array,\n validationMessageMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"always\",\n \"auto\"\n ])\n ]),\n validationMessagePosition: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"bottom\",\n \"left\",\n \"right\",\n \"top\",\n \"auto\"\n ])\n ]),\n validationStatus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"valid\",\n \"invalid\",\n \"pending\"\n ])\n ]),\n valueChangeEvent: PropTypes.string,\n valueExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n wrapItemText: PropTypes.bool\n};\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Animation.OptionName = \"animation\";\n Animation.ExpectedChildren = {\n hide: { optionName: \"hide\", isCollectionItem: false },\n show: { optionName: \"show\", isCollectionItem: false }\n };\n return Animation;\n}(nested_option_1.default));\nexports.Animation = Animation;\nvar At = /** @class */ (function (_super) {\n __extends(At, _super);\n function At() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n At.OptionName = \"at\";\n return At;\n}(nested_option_1.default));\nexports.At = At;\nvar BoundaryOffset = /** @class */ (function (_super) {\n __extends(BoundaryOffset, _super);\n function BoundaryOffset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BoundaryOffset.OptionName = \"boundaryOffset\";\n return BoundaryOffset;\n}(nested_option_1.default));\nexports.BoundaryOffset = BoundaryOffset;\nvar Button = /** @class */ (function (_super) {\n __extends(Button, _super);\n function Button() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Button.OptionName = \"buttons\";\n Button.IsCollectionItem = true;\n Button.ExpectedChildren = {\n options: { optionName: \"options\", isCollectionItem: false }\n };\n return Button;\n}(nested_option_1.default));\nexports.Button = Button;\nvar Collision = /** @class */ (function (_super) {\n __extends(Collision, _super);\n function Collision() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Collision.OptionName = \"collision\";\n return Collision;\n}(nested_option_1.default));\nexports.Collision = Collision;\nvar DropDownOptions = /** @class */ (function (_super) {\n __extends(DropDownOptions, _super);\n function DropDownOptions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DropDownOptions.OptionName = \"dropDownOptions\";\n DropDownOptions.DefaultsProps = {\n defaultHeight: \"height\",\n defaultPosition: \"position\",\n defaultVisible: \"visible\",\n defaultWidth: \"width\"\n };\n DropDownOptions.ExpectedChildren = {\n animation: { optionName: \"animation\", isCollectionItem: false },\n position: { optionName: \"position\", isCollectionItem: false },\n toolbarItem: { optionName: \"toolbarItems\", isCollectionItem: true }\n };\n DropDownOptions.TemplateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }, {\n tmplOption: \"titleTemplate\",\n render: \"titleRender\",\n component: \"titleComponent\",\n keyFn: \"titleKeyFn\"\n }];\n return DropDownOptions;\n}(nested_option_1.default));\nexports.DropDownOptions = DropDownOptions;\nvar From = /** @class */ (function (_super) {\n __extends(From, _super);\n function From() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n From.OptionName = \"from\";\n From.ExpectedChildren = {\n position: { optionName: \"position\", isCollectionItem: false }\n };\n return From;\n}(nested_option_1.default));\nexports.From = From;\nvar Hide = /** @class */ (function (_super) {\n __extends(Hide, _super);\n function Hide() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Hide.OptionName = \"hide\";\n Hide.ExpectedChildren = {\n from: { optionName: \"from\", isCollectionItem: false },\n to: { optionName: \"to\", isCollectionItem: false }\n };\n return Hide;\n}(nested_option_1.default));\nexports.Hide = Hide;\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nvar My = /** @class */ (function (_super) {\n __extends(My, _super);\n function My() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n My.OptionName = \"my\";\n return My;\n}(nested_option_1.default));\nexports.My = My;\nvar Offset = /** @class */ (function (_super) {\n __extends(Offset, _super);\n function Offset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Offset.OptionName = \"offset\";\n return Offset;\n}(nested_option_1.default));\nexports.Offset = Offset;\nvar Options = /** @class */ (function (_super) {\n __extends(Options, _super);\n function Options() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Options.OptionName = \"options\";\n Options.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Options;\n}(nested_option_1.default));\nexports.Options = Options;\nvar Position = /** @class */ (function (_super) {\n __extends(Position, _super);\n function Position() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Position.OptionName = \"position\";\n return Position;\n}(nested_option_1.default));\nexports.Position = Position;\nvar Show = /** @class */ (function (_super) {\n __extends(Show, _super);\n function Show() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Show.OptionName = \"show\";\n return Show;\n}(nested_option_1.default));\nexports.Show = Show;\nvar To = /** @class */ (function (_super) {\n __extends(To, _super);\n function To() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n To.OptionName = \"to\";\n return To;\n}(nested_option_1.default));\nexports.To = To;\nvar ToolbarItem = /** @class */ (function (_super) {\n __extends(ToolbarItem, _super);\n function ToolbarItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ToolbarItem.OptionName = \"toolbarItems\";\n ToolbarItem.IsCollectionItem = true;\n ToolbarItem.TemplateProps = [{\n tmplOption: \"menuItemTemplate\",\n render: \"menuItemRender\",\n component: \"menuItemComponent\",\n keyFn: \"menuItemKeyFn\"\n }, {\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return ToolbarItem;\n}(nested_option_1.default));\nexports.ToolbarItem = ToolbarItem;\nexports.default = SelectBox;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Tooltip = exports.Label = exports.Format = exports.Slider = void 0;\nvar slider_1 = require(\"devextreme/ui/slider\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Slider = /** @class */ (function (_super) {\n __extends(Slider, _super);\n function Slider() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = slider_1.default;\n _this.subscribableOptions = [\"value\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onInitialized\", \"onValueChanged\"];\n _this._defaults = {\n defaultValue: \"value\"\n };\n _this._expectedChildren = {\n label: { optionName: \"label\", isCollectionItem: false },\n tooltip: { optionName: \"tooltip\", isCollectionItem: false }\n };\n return _this;\n }\n Object.defineProperty(Slider.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Slider;\n}(component_1.Component));\nexports.Slider = Slider;\nSlider.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n isValid: PropTypes.bool,\n keyStep: PropTypes.number,\n label: PropTypes.object,\n max: PropTypes.number,\n min: PropTypes.number,\n name: PropTypes.string,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onValueChanged: PropTypes.func,\n readOnly: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n showRange: PropTypes.bool,\n step: PropTypes.number,\n tabIndex: PropTypes.number,\n tooltip: PropTypes.object,\n validationErrors: PropTypes.array,\n validationMessageMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"always\",\n \"auto\"\n ])\n ]),\n validationMessagePosition: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"bottom\",\n \"left\",\n \"right\",\n \"top\"\n ])\n ]),\n validationStatus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"valid\",\n \"invalid\",\n \"pending\"\n ])\n ]),\n value: PropTypes.number,\n valueChangeMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"onHandleMove\",\n \"onHandleRelease\"\n ])\n ]),\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Format = /** @class */ (function (_super) {\n __extends(Format, _super);\n function Format() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Format.OptionName = \"format\";\n return Format;\n}(nested_option_1.default));\nexports.Format = Format;\nvar Label = /** @class */ (function (_super) {\n __extends(Label, _super);\n function Label() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Label.OptionName = \"label\";\n Label.ExpectedChildren = {\n format: { optionName: \"format\", isCollectionItem: false }\n };\n return Label;\n}(nested_option_1.default));\nexports.Label = Label;\nvar Tooltip = /** @class */ (function (_super) {\n __extends(Tooltip, _super);\n function Tooltip() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Tooltip.OptionName = \"tooltip\";\n Tooltip.ExpectedChildren = {\n format: { optionName: \"format\", isCollectionItem: false }\n };\n return Tooltip;\n}(nested_option_1.default));\nexports.Tooltip = Tooltip;\nexports.default = Slider;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CursorOffset = exports.Sortable = void 0;\nvar sortable_1 = require(\"devextreme/ui/sortable\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Sortable = /** @class */ (function (_super) {\n __extends(Sortable, _super);\n function Sortable() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = sortable_1.default;\n _this.independentEvents = [\"onAdd\", \"onDisposing\", \"onDragChange\", \"onDragEnd\", \"onDragMove\", \"onDragStart\", \"onInitialized\", \"onRemove\", \"onReorder\"];\n _this._expectedChildren = {\n cursorOffset: { optionName: \"cursorOffset\", isCollectionItem: false }\n };\n _this._templateProps = [{\n tmplOption: \"dragTemplate\",\n render: \"dragRender\",\n component: \"dragComponent\",\n keyFn: \"dragKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(Sortable.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Sortable;\n}(component_1.Component));\nexports.Sortable = Sortable;\nSortable.propTypes = {\n allowDropInsideItem: PropTypes.bool,\n allowReordering: PropTypes.bool,\n autoScroll: PropTypes.bool,\n cursorOffset: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string\n ]),\n dragDirection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"both\",\n \"horizontal\",\n \"vertical\"\n ])\n ]),\n dropFeedbackMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"push\",\n \"indicate\"\n ])\n ]),\n elementAttr: PropTypes.object,\n filter: PropTypes.string,\n group: PropTypes.string,\n handle: PropTypes.string,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n itemOrientation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"horizontal\",\n \"vertical\"\n ])\n ]),\n moveItemOnDrop: PropTypes.bool,\n onAdd: PropTypes.func,\n onDisposing: PropTypes.func,\n onDragChange: PropTypes.func,\n onDragEnd: PropTypes.func,\n onDragMove: PropTypes.func,\n onDragStart: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onRemove: PropTypes.func,\n onReorder: PropTypes.func,\n rtlEnabled: PropTypes.bool,\n scrollSensitivity: PropTypes.number,\n scrollSpeed: PropTypes.number,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar CursorOffset = /** @class */ (function (_super) {\n __extends(CursorOffset, _super);\n function CursorOffset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CursorOffset.OptionName = \"cursorOffset\";\n return CursorOffset;\n}(nested_option_1.default));\nexports.CursorOffset = CursorOffset;\nexports.default = Sortable;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Tooltip = exports.Size = exports.Shadow = exports.Margin = exports.Format = exports.Font = exports.Border = exports.Sparkline = void 0;\nvar sparkline_1 = require(\"devextreme/viz/sparkline\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Sparkline = /** @class */ (function (_super) {\n __extends(Sparkline, _super);\n function Sparkline() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = sparkline_1.default;\n _this.independentEvents = [\"onDisposing\", \"onDrawn\", \"onExported\", \"onExporting\", \"onFileSaving\", \"onIncidentOccurred\", \"onInitialized\", \"onTooltipHidden\", \"onTooltipShown\"];\n _this._expectedChildren = {\n margin: { optionName: \"margin\", isCollectionItem: false },\n size: { optionName: \"size\", isCollectionItem: false },\n tooltip: { optionName: \"tooltip\", isCollectionItem: false }\n };\n return _this;\n }\n Object.defineProperty(Sparkline.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Sparkline;\n}(component_1.Component));\nexports.Sparkline = Sparkline;\nSparkline.propTypes = {\n argumentField: PropTypes.string,\n barNegativeColor: PropTypes.string,\n barPositiveColor: PropTypes.string,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n firstLastColor: PropTypes.string,\n ignoreEmptyPoints: PropTypes.bool,\n lineColor: PropTypes.string,\n lineWidth: PropTypes.number,\n lossColor: PropTypes.string,\n margin: PropTypes.object,\n maxColor: PropTypes.string,\n maxValue: PropTypes.number,\n minColor: PropTypes.string,\n minValue: PropTypes.number,\n onDisposing: PropTypes.func,\n onDrawn: PropTypes.func,\n onExported: PropTypes.func,\n onExporting: PropTypes.func,\n onFileSaving: PropTypes.func,\n onIncidentOccurred: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onTooltipHidden: PropTypes.func,\n onTooltipShown: PropTypes.func,\n pathModified: PropTypes.bool,\n pointColor: PropTypes.string,\n pointSize: PropTypes.number,\n pointSymbol: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"circle\",\n \"cross\",\n \"polygon\",\n \"square\",\n \"triangle\",\n \"triangleDown\",\n \"triangleUp\"\n ])\n ]),\n rtlEnabled: PropTypes.bool,\n showFirstLast: PropTypes.bool,\n showMinMax: PropTypes.bool,\n size: PropTypes.object,\n theme: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"generic.dark\",\n \"generic.light\",\n \"generic.contrast\",\n \"generic.carmine\",\n \"generic.darkmoon\",\n \"generic.darkviolet\",\n \"generic.greenmist\",\n \"generic.softblue\",\n \"material.blue.light\",\n \"material.lime.light\",\n \"material.orange.light\",\n \"material.purple.light\",\n \"material.teal.light\"\n ])\n ]),\n tooltip: PropTypes.object,\n type: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"area\",\n \"bar\",\n \"line\",\n \"spline\",\n \"splinearea\",\n \"steparea\",\n \"stepline\",\n \"winloss\"\n ])\n ]),\n valueField: PropTypes.string,\n winColor: PropTypes.string,\n winlossThreshold: PropTypes.number\n};\nvar Border = /** @class */ (function (_super) {\n __extends(Border, _super);\n function Border() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Border.OptionName = \"border\";\n return Border;\n}(nested_option_1.default));\nexports.Border = Border;\nvar Font = /** @class */ (function (_super) {\n __extends(Font, _super);\n function Font() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Font.OptionName = \"font\";\n return Font;\n}(nested_option_1.default));\nexports.Font = Font;\nvar Format = /** @class */ (function (_super) {\n __extends(Format, _super);\n function Format() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Format.OptionName = \"format\";\n return Format;\n}(nested_option_1.default));\nexports.Format = Format;\nvar Margin = /** @class */ (function (_super) {\n __extends(Margin, _super);\n function Margin() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Margin.OptionName = \"margin\";\n return Margin;\n}(nested_option_1.default));\nexports.Margin = Margin;\nvar Shadow = /** @class */ (function (_super) {\n __extends(Shadow, _super);\n function Shadow() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Shadow.OptionName = \"shadow\";\n return Shadow;\n}(nested_option_1.default));\nexports.Shadow = Shadow;\nvar Size = /** @class */ (function (_super) {\n __extends(Size, _super);\n function Size() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Size.OptionName = \"size\";\n return Size;\n}(nested_option_1.default));\nexports.Size = Size;\nvar Tooltip = /** @class */ (function (_super) {\n __extends(Tooltip, _super);\n function Tooltip() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Tooltip.OptionName = \"tooltip\";\n Tooltip.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n font: { optionName: \"font\", isCollectionItem: false },\n format: { optionName: \"format\", isCollectionItem: false },\n shadow: { optionName: \"shadow\", isCollectionItem: false }\n };\n Tooltip.TemplateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }];\n return Tooltip;\n}(nested_option_1.default));\nexports.Tooltip = Tooltip;\nexports.default = Sparkline;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpeedDialAction = void 0;\nvar speed_dial_action_1 = require(\"devextreme/ui/speed_dial_action\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar SpeedDialAction = /** @class */ (function (_super) {\n __extends(SpeedDialAction, _super);\n function SpeedDialAction() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = speed_dial_action_1.default;\n _this.independentEvents = [\"onClick\", \"onContentReady\", \"onDisposing\", \"onInitialized\"];\n return _this;\n }\n Object.defineProperty(SpeedDialAction.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return SpeedDialAction;\n}(component_1.Component));\nexports.SpeedDialAction = SpeedDialAction;\nSpeedDialAction.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n icon: PropTypes.string,\n index: PropTypes.number,\n label: PropTypes.string,\n onClick: PropTypes.func,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n rtlEnabled: PropTypes.bool,\n tabIndex: PropTypes.number,\n visible: PropTypes.bool\n};\nexports.default = SpeedDialAction;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Switch = void 0;\nvar switch_1 = require(\"devextreme/ui/switch\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar Switch = /** @class */ (function (_super) {\n __extends(Switch, _super);\n function Switch() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = switch_1.default;\n _this.subscribableOptions = [\"value\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onInitialized\", \"onValueChanged\"];\n _this._defaults = {\n defaultValue: \"value\"\n };\n return _this;\n }\n Object.defineProperty(Switch.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Switch;\n}(component_1.Component));\nexports.Switch = Switch;\nSwitch.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n isValid: PropTypes.bool,\n name: PropTypes.string,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onValueChanged: PropTypes.func,\n readOnly: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n switchedOffText: PropTypes.string,\n switchedOnText: PropTypes.string,\n tabIndex: PropTypes.number,\n validationErrors: PropTypes.array,\n validationMessageMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"always\",\n \"auto\"\n ])\n ]),\n validationMessagePosition: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"bottom\",\n \"left\",\n \"right\",\n \"top\"\n ])\n ]),\n validationStatus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"valid\",\n \"invalid\",\n \"pending\"\n ])\n ]),\n value: PropTypes.bool,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nexports.default = Switch;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Item = exports.TabPanel = void 0;\nvar tab_panel_1 = require(\"devextreme/ui/tab_panel\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar TabPanel = /** @class */ (function (_super) {\n __extends(TabPanel, _super);\n function TabPanel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = tab_panel_1.default;\n _this.subscribableOptions = [\"items\", \"selectedIndex\", \"selectedItem\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onInitialized\", \"onItemClick\", \"onItemContextMenu\", \"onItemHold\", \"onItemRendered\", \"onTitleClick\", \"onTitleHold\", \"onTitleRendered\"];\n _this._defaults = {\n defaultItems: \"items\",\n defaultSelectedIndex: \"selectedIndex\",\n defaultSelectedItem: \"selectedItem\"\n };\n _this._expectedChildren = {\n item: { optionName: \"items\", isCollectionItem: true }\n };\n _this._templateProps = [{\n tmplOption: \"itemTemplate\",\n render: \"itemRender\",\n component: \"itemComponent\",\n keyFn: \"itemKeyFn\"\n }, {\n tmplOption: \"itemTitleTemplate\",\n render: \"itemTitleRender\",\n component: \"itemTitleComponent\",\n keyFn: \"itemTitleKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(TabPanel.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return TabPanel;\n}(component_1.Component));\nexports.TabPanel = TabPanel;\nTabPanel.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n animationEnabled: PropTypes.bool,\n deferRendering: PropTypes.bool,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n itemHoldTimeout: PropTypes.number,\n items: PropTypes.array,\n loop: PropTypes.bool,\n noDataText: PropTypes.string,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onItemClick: PropTypes.func,\n onItemContextMenu: PropTypes.func,\n onItemHold: PropTypes.func,\n onItemRendered: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onSelectionChanged: PropTypes.func,\n onTitleClick: PropTypes.func,\n onTitleHold: PropTypes.func,\n onTitleRendered: PropTypes.func,\n repaintChangesOnly: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n scrollByContent: PropTypes.bool,\n scrollingEnabled: PropTypes.bool,\n selectedIndex: PropTypes.number,\n showNavButtons: PropTypes.bool,\n swipeEnabled: PropTypes.bool,\n tabIndex: PropTypes.number,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"tabTemplate\",\n render: \"tabRender\",\n component: \"tabComponent\",\n keyFn: \"tabKeyFn\"\n }, {\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nexports.default = TabPanel;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Item = exports.Tabs = void 0;\nvar tabs_1 = require(\"devextreme/ui/tabs\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Tabs = /** @class */ (function (_super) {\n __extends(Tabs, _super);\n function Tabs() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = tabs_1.default;\n _this.subscribableOptions = [\"items\", \"selectedIndex\", \"selectedItem\", \"selectedItemKeys\", \"selectedItems\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onInitialized\", \"onItemClick\", \"onItemContextMenu\", \"onItemHold\", \"onItemRendered\"];\n _this._defaults = {\n defaultItems: \"items\",\n defaultSelectedIndex: \"selectedIndex\",\n defaultSelectedItem: \"selectedItem\",\n defaultSelectedItemKeys: \"selectedItemKeys\",\n defaultSelectedItems: \"selectedItems\"\n };\n _this._expectedChildren = {\n item: { optionName: \"items\", isCollectionItem: true }\n };\n _this._templateProps = [{\n tmplOption: \"itemTemplate\",\n render: \"itemRender\",\n component: \"itemComponent\",\n keyFn: \"itemKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(Tabs.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Tabs;\n}(component_1.Component));\nexports.Tabs = Tabs;\nTabs.propTypes = {\n accessKey: PropTypes.string,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n itemHoldTimeout: PropTypes.number,\n items: PropTypes.array,\n keyExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n noDataText: PropTypes.string,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onItemClick: PropTypes.func,\n onItemContextMenu: PropTypes.func,\n onItemHold: PropTypes.func,\n onItemRendered: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onSelectionChanged: PropTypes.func,\n repaintChangesOnly: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n scrollByContent: PropTypes.bool,\n scrollingEnabled: PropTypes.bool,\n selectedIndex: PropTypes.number,\n selectedItemKeys: PropTypes.array,\n selectedItems: PropTypes.array,\n selectionMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"single\",\n \"multiple\"\n ])\n ]),\n showNavButtons: PropTypes.bool,\n tabIndex: PropTypes.number,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nexports.default = Tabs;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ToolbarItem = exports.To = exports.Show = exports.Position = exports.Options = exports.Offset = exports.My = exports.Item = exports.Hide = exports.From = exports.DropDownOptions = exports.Collision = exports.Button = exports.BoundaryOffset = exports.At = exports.Animation = exports.TagBox = void 0;\nvar tag_box_1 = require(\"devextreme/ui/tag_box\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar TagBox = /** @class */ (function (_super) {\n __extends(TagBox, _super);\n function TagBox() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = tag_box_1.default;\n _this.subscribableOptions = [\"opened\", \"value\"];\n _this.independentEvents = [\"onChange\", \"onClosed\", \"onContentReady\", \"onCustomItemCreating\", \"onDisposing\", \"onEnterKey\", \"onFocusIn\", \"onFocusOut\", \"onInitialized\", \"onInput\", \"onItemClick\", \"onKeyDown\", \"onKeyUp\", \"onMultiTagPreparing\", \"onOpened\", \"onSelectAllValueChanged\", \"onValueChanged\"];\n _this._defaults = {\n defaultOpened: \"opened\",\n defaultValue: \"value\"\n };\n _this._expectedChildren = {\n button: { optionName: \"buttons\", isCollectionItem: true },\n dropDownOptions: { optionName: \"dropDownOptions\", isCollectionItem: false },\n item: { optionName: \"items\", isCollectionItem: true }\n };\n _this._templateProps = [{\n tmplOption: \"dropDownButtonTemplate\",\n render: \"dropDownButtonRender\",\n component: \"dropDownButtonComponent\",\n keyFn: \"dropDownButtonKeyFn\"\n }, {\n tmplOption: \"fieldTemplate\",\n render: \"fieldRender\",\n component: \"fieldComponent\",\n keyFn: \"fieldKeyFn\"\n }, {\n tmplOption: \"groupTemplate\",\n render: \"groupRender\",\n component: \"groupComponent\",\n keyFn: \"groupKeyFn\"\n }, {\n tmplOption: \"itemTemplate\",\n render: \"itemRender\",\n component: \"itemComponent\",\n keyFn: \"itemKeyFn\"\n }, {\n tmplOption: \"tagTemplate\",\n render: \"tagRender\",\n component: \"tagComponent\",\n keyFn: \"tagKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(TagBox.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return TagBox;\n}(component_1.Component));\nexports.TagBox = TagBox;\nTagBox.propTypes = {\n acceptCustomValue: PropTypes.bool,\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n applyValueMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"instantly\",\n \"useButtons\"\n ])\n ]),\n buttons: PropTypes.array,\n customItemCreateEvent: PropTypes.string,\n deferRendering: PropTypes.bool,\n disabled: PropTypes.bool,\n displayExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n dropDownOptions: PropTypes.object,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n grouped: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hideSelectedItems: PropTypes.bool,\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n isValid: PropTypes.bool,\n items: PropTypes.array,\n label: PropTypes.string,\n labelMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"static\",\n \"floating\",\n \"hidden\"\n ])\n ]),\n maxDisplayedTags: PropTypes.number,\n maxFilterQueryLength: PropTypes.number,\n maxLength: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string\n ]),\n minSearchLength: PropTypes.number,\n multiline: PropTypes.bool,\n name: PropTypes.string,\n noDataText: PropTypes.string,\n onChange: PropTypes.func,\n onClosed: PropTypes.func,\n onContentReady: PropTypes.func,\n onCustomItemCreating: PropTypes.func,\n onDisposing: PropTypes.func,\n onEnterKey: PropTypes.func,\n onFocusIn: PropTypes.func,\n onFocusOut: PropTypes.func,\n onInitialized: PropTypes.func,\n onInput: PropTypes.func,\n onItemClick: PropTypes.func,\n onKeyDown: PropTypes.func,\n onKeyUp: PropTypes.func,\n onMultiTagPreparing: PropTypes.func,\n onOpened: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onSelectAllValueChanged: PropTypes.func,\n onSelectionChanged: PropTypes.func,\n onValueChanged: PropTypes.func,\n opened: PropTypes.bool,\n openOnFieldClick: PropTypes.bool,\n placeholder: PropTypes.string,\n readOnly: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n searchEnabled: PropTypes.bool,\n searchExpr: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.func,\n PropTypes.string\n ]),\n searchMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"contains\",\n \"startswith\"\n ])\n ]),\n searchTimeout: PropTypes.number,\n selectAllMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"allPages\",\n \"page\"\n ])\n ]),\n selectAllText: PropTypes.string,\n selectedItems: PropTypes.array,\n showClearButton: PropTypes.bool,\n showDataBeforeSearch: PropTypes.bool,\n showDropDownButton: PropTypes.bool,\n showMultiTagOnly: PropTypes.bool,\n showSelectionControls: PropTypes.bool,\n stylingMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"outlined\",\n \"underlined\",\n \"filled\"\n ])\n ]),\n tabIndex: PropTypes.number,\n text: PropTypes.string,\n useItemTextAsTitle: PropTypes.bool,\n validationErrors: PropTypes.array,\n validationMessageMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"always\",\n \"auto\"\n ])\n ]),\n validationMessagePosition: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"bottom\",\n \"left\",\n \"right\",\n \"top\",\n \"auto\"\n ])\n ]),\n validationStatus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"valid\",\n \"invalid\",\n \"pending\"\n ])\n ]),\n value: PropTypes.array,\n valueChangeEvent: PropTypes.string,\n valueExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n wrapItemText: PropTypes.bool\n};\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Animation.OptionName = \"animation\";\n Animation.ExpectedChildren = {\n hide: { optionName: \"hide\", isCollectionItem: false },\n show: { optionName: \"show\", isCollectionItem: false }\n };\n return Animation;\n}(nested_option_1.default));\nexports.Animation = Animation;\nvar At = /** @class */ (function (_super) {\n __extends(At, _super);\n function At() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n At.OptionName = \"at\";\n return At;\n}(nested_option_1.default));\nexports.At = At;\nvar BoundaryOffset = /** @class */ (function (_super) {\n __extends(BoundaryOffset, _super);\n function BoundaryOffset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BoundaryOffset.OptionName = \"boundaryOffset\";\n return BoundaryOffset;\n}(nested_option_1.default));\nexports.BoundaryOffset = BoundaryOffset;\nvar Button = /** @class */ (function (_super) {\n __extends(Button, _super);\n function Button() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Button.OptionName = \"buttons\";\n Button.IsCollectionItem = true;\n Button.ExpectedChildren = {\n options: { optionName: \"options\", isCollectionItem: false }\n };\n return Button;\n}(nested_option_1.default));\nexports.Button = Button;\nvar Collision = /** @class */ (function (_super) {\n __extends(Collision, _super);\n function Collision() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Collision.OptionName = \"collision\";\n return Collision;\n}(nested_option_1.default));\nexports.Collision = Collision;\nvar DropDownOptions = /** @class */ (function (_super) {\n __extends(DropDownOptions, _super);\n function DropDownOptions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DropDownOptions.OptionName = \"dropDownOptions\";\n DropDownOptions.DefaultsProps = {\n defaultHeight: \"height\",\n defaultPosition: \"position\",\n defaultVisible: \"visible\",\n defaultWidth: \"width\"\n };\n DropDownOptions.ExpectedChildren = {\n animation: { optionName: \"animation\", isCollectionItem: false },\n position: { optionName: \"position\", isCollectionItem: false },\n toolbarItem: { optionName: \"toolbarItems\", isCollectionItem: true }\n };\n DropDownOptions.TemplateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }, {\n tmplOption: \"titleTemplate\",\n render: \"titleRender\",\n component: \"titleComponent\",\n keyFn: \"titleKeyFn\"\n }];\n return DropDownOptions;\n}(nested_option_1.default));\nexports.DropDownOptions = DropDownOptions;\nvar From = /** @class */ (function (_super) {\n __extends(From, _super);\n function From() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n From.OptionName = \"from\";\n From.ExpectedChildren = {\n position: { optionName: \"position\", isCollectionItem: false }\n };\n return From;\n}(nested_option_1.default));\nexports.From = From;\nvar Hide = /** @class */ (function (_super) {\n __extends(Hide, _super);\n function Hide() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Hide.OptionName = \"hide\";\n Hide.ExpectedChildren = {\n from: { optionName: \"from\", isCollectionItem: false },\n to: { optionName: \"to\", isCollectionItem: false }\n };\n return Hide;\n}(nested_option_1.default));\nexports.Hide = Hide;\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nvar My = /** @class */ (function (_super) {\n __extends(My, _super);\n function My() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n My.OptionName = \"my\";\n return My;\n}(nested_option_1.default));\nexports.My = My;\nvar Offset = /** @class */ (function (_super) {\n __extends(Offset, _super);\n function Offset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Offset.OptionName = \"offset\";\n return Offset;\n}(nested_option_1.default));\nexports.Offset = Offset;\nvar Options = /** @class */ (function (_super) {\n __extends(Options, _super);\n function Options() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Options.OptionName = \"options\";\n Options.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Options;\n}(nested_option_1.default));\nexports.Options = Options;\nvar Position = /** @class */ (function (_super) {\n __extends(Position, _super);\n function Position() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Position.OptionName = \"position\";\n return Position;\n}(nested_option_1.default));\nexports.Position = Position;\nvar Show = /** @class */ (function (_super) {\n __extends(Show, _super);\n function Show() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Show.OptionName = \"show\";\n return Show;\n}(nested_option_1.default));\nexports.Show = Show;\nvar To = /** @class */ (function (_super) {\n __extends(To, _super);\n function To() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n To.OptionName = \"to\";\n return To;\n}(nested_option_1.default));\nexports.To = To;\nvar ToolbarItem = /** @class */ (function (_super) {\n __extends(ToolbarItem, _super);\n function ToolbarItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ToolbarItem.OptionName = \"toolbarItems\";\n ToolbarItem.IsCollectionItem = true;\n ToolbarItem.TemplateProps = [{\n tmplOption: \"menuItemTemplate\",\n render: \"menuItemRender\",\n component: \"menuItemComponent\",\n keyFn: \"menuItemKeyFn\"\n }, {\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return ToolbarItem;\n}(nested_option_1.default));\nexports.ToolbarItem = ToolbarItem;\nexports.default = TagBox;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TextArea = void 0;\nvar text_area_1 = require(\"devextreme/ui/text_area\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar TextArea = /** @class */ (function (_super) {\n __extends(TextArea, _super);\n function TextArea() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = text_area_1.default;\n _this.subscribableOptions = [\"value\"];\n _this.independentEvents = [\"onChange\", \"onContentReady\", \"onCopy\", \"onCut\", \"onDisposing\", \"onEnterKey\", \"onFocusIn\", \"onFocusOut\", \"onInitialized\", \"onInput\", \"onKeyDown\", \"onKeyUp\", \"onPaste\", \"onValueChanged\"];\n _this._defaults = {\n defaultValue: \"value\"\n };\n return _this;\n }\n Object.defineProperty(TextArea.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return TextArea;\n}(component_1.Component));\nexports.TextArea = TextArea;\nTextArea.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n autoResizeEnabled: PropTypes.bool,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n isValid: PropTypes.bool,\n label: PropTypes.string,\n labelMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"static\",\n \"floating\",\n \"hidden\"\n ])\n ]),\n maxHeight: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string\n ]),\n maxLength: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string\n ]),\n minHeight: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string\n ]),\n name: PropTypes.string,\n onChange: PropTypes.func,\n onContentReady: PropTypes.func,\n onCopy: PropTypes.func,\n onCut: PropTypes.func,\n onDisposing: PropTypes.func,\n onEnterKey: PropTypes.func,\n onFocusIn: PropTypes.func,\n onFocusOut: PropTypes.func,\n onInitialized: PropTypes.func,\n onInput: PropTypes.func,\n onKeyDown: PropTypes.func,\n onKeyUp: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onPaste: PropTypes.func,\n onValueChanged: PropTypes.func,\n placeholder: PropTypes.string,\n readOnly: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n spellcheck: PropTypes.bool,\n stylingMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"outlined\",\n \"underlined\",\n \"filled\"\n ])\n ]),\n tabIndex: PropTypes.number,\n text: PropTypes.string,\n validationErrors: PropTypes.array,\n validationMessageMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"always\",\n \"auto\"\n ])\n ]),\n validationMessagePosition: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"bottom\",\n \"left\",\n \"right\",\n \"top\"\n ])\n ]),\n validationStatus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"valid\",\n \"invalid\",\n \"pending\"\n ])\n ]),\n value: PropTypes.string,\n valueChangeEvent: PropTypes.string,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nexports.default = TextArea;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Options = exports.Button = exports.TextBox = void 0;\nvar text_box_1 = require(\"devextreme/ui/text_box\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar TextBox = /** @class */ (function (_super) {\n __extends(TextBox, _super);\n function TextBox() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = text_box_1.default;\n _this.subscribableOptions = [\"value\"];\n _this.independentEvents = [\"onChange\", \"onContentReady\", \"onCopy\", \"onCut\", \"onDisposing\", \"onEnterKey\", \"onFocusIn\", \"onFocusOut\", \"onInitialized\", \"onInput\", \"onKeyDown\", \"onKeyUp\", \"onPaste\", \"onValueChanged\"];\n _this._defaults = {\n defaultValue: \"value\"\n };\n _this._expectedChildren = {\n button: { optionName: \"buttons\", isCollectionItem: true }\n };\n return _this;\n }\n Object.defineProperty(TextBox.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return TextBox;\n}(component_1.Component));\nexports.TextBox = TextBox;\nTextBox.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n buttons: PropTypes.array,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n isValid: PropTypes.bool,\n label: PropTypes.string,\n labelMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"static\",\n \"floating\",\n \"hidden\"\n ])\n ]),\n mask: PropTypes.string,\n maskChar: PropTypes.string,\n maskInvalidMessage: PropTypes.string,\n maxLength: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string\n ]),\n mode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"email\",\n \"password\",\n \"search\",\n \"tel\",\n \"text\",\n \"url\"\n ])\n ]),\n name: PropTypes.string,\n onChange: PropTypes.func,\n onContentReady: PropTypes.func,\n onCopy: PropTypes.func,\n onCut: PropTypes.func,\n onDisposing: PropTypes.func,\n onEnterKey: PropTypes.func,\n onFocusIn: PropTypes.func,\n onFocusOut: PropTypes.func,\n onInitialized: PropTypes.func,\n onInput: PropTypes.func,\n onKeyDown: PropTypes.func,\n onKeyUp: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onPaste: PropTypes.func,\n onValueChanged: PropTypes.func,\n placeholder: PropTypes.string,\n readOnly: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n showClearButton: PropTypes.bool,\n showMaskMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"always\",\n \"onFocus\"\n ])\n ]),\n spellcheck: PropTypes.bool,\n stylingMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"outlined\",\n \"underlined\",\n \"filled\"\n ])\n ]),\n tabIndex: PropTypes.number,\n text: PropTypes.string,\n useMaskedValue: PropTypes.bool,\n validationErrors: PropTypes.array,\n validationMessageMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"always\",\n \"auto\"\n ])\n ]),\n validationMessagePosition: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"bottom\",\n \"left\",\n \"right\",\n \"top\"\n ])\n ]),\n validationStatus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"valid\",\n \"invalid\",\n \"pending\"\n ])\n ]),\n value: PropTypes.string,\n valueChangeEvent: PropTypes.string,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Button = /** @class */ (function (_super) {\n __extends(Button, _super);\n function Button() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Button.OptionName = \"buttons\";\n Button.IsCollectionItem = true;\n Button.ExpectedChildren = {\n options: { optionName: \"options\", isCollectionItem: false }\n };\n return Button;\n}(nested_option_1.default));\nexports.Button = Button;\nvar Options = /** @class */ (function (_super) {\n __extends(Options, _super);\n function Options() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Options.OptionName = \"options\";\n Options.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Options;\n}(nested_option_1.default));\nexports.Options = Options;\nexports.default = TextBox;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Item = exports.TileView = void 0;\nvar tile_view_1 = require(\"devextreme/ui/tile_view\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar TileView = /** @class */ (function (_super) {\n __extends(TileView, _super);\n function TileView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = tile_view_1.default;\n _this.subscribableOptions = [\"items\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onInitialized\", \"onItemClick\", \"onItemContextMenu\", \"onItemHold\", \"onItemRendered\"];\n _this._defaults = {\n defaultItems: \"items\"\n };\n _this._expectedChildren = {\n item: { optionName: \"items\", isCollectionItem: true }\n };\n _this._templateProps = [{\n tmplOption: \"itemTemplate\",\n render: \"itemRender\",\n component: \"itemComponent\",\n keyFn: \"itemKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(TileView.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return TileView;\n}(component_1.Component));\nexports.TileView = TileView;\nTileView.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n baseItemHeight: PropTypes.number,\n baseItemWidth: PropTypes.number,\n direction: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"horizontal\",\n \"vertical\"\n ])\n ]),\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n itemHoldTimeout: PropTypes.number,\n itemMargin: PropTypes.number,\n items: PropTypes.array,\n noDataText: PropTypes.string,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onItemClick: PropTypes.func,\n onItemContextMenu: PropTypes.func,\n onItemHold: PropTypes.func,\n onItemRendered: PropTypes.func,\n onOptionChanged: PropTypes.func,\n rtlEnabled: PropTypes.bool,\n showScrollbar: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"always\",\n \"never\",\n \"onHover\",\n \"onScroll\"\n ])\n ]),\n tabIndex: PropTypes.number,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nexports.default = TileView;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.To = exports.Show = exports.Position = exports.Offset = exports.My = exports.Hide = exports.From = exports.Collision = exports.BoundaryOffset = exports.At = exports.Animation = exports.Toast = void 0;\nvar toast_1 = require(\"devextreme/ui/toast\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Toast = /** @class */ (function (_super) {\n __extends(Toast, _super);\n function Toast() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = toast_1.default;\n _this.isPortalComponent = true;\n _this.subscribableOptions = [\"position\", \"visible\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onHidden\", \"onHiding\", \"onInitialized\", \"onShowing\", \"onShown\"];\n _this._defaults = {\n defaultPosition: \"position\",\n defaultVisible: \"visible\"\n };\n _this._expectedChildren = {\n animation: { optionName: \"animation\", isCollectionItem: false },\n position: { optionName: \"position\", isCollectionItem: false }\n };\n _this._templateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(Toast.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Toast;\n}(component_1.Component));\nexports.Toast = Toast;\nToast.propTypes = {\n accessKey: PropTypes.string,\n animation: PropTypes.object,\n closeOnClick: PropTypes.bool,\n closeOnOutsideClick: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.func\n ]),\n closeOnSwipe: PropTypes.bool,\n copyRootClassesToWrapper: PropTypes.bool,\n deferRendering: PropTypes.bool,\n displayTime: PropTypes.number,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hideOnOutsideClick: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.func\n ]),\n hideOnParentScroll: PropTypes.bool,\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n maxHeight: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n maxWidth: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n message: PropTypes.string,\n minHeight: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n minWidth: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onHidden: PropTypes.func,\n onHiding: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onShowing: PropTypes.func,\n onShown: PropTypes.func,\n position: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string\n ]),\n rtlEnabled: PropTypes.bool,\n shading: PropTypes.bool,\n shadingColor: PropTypes.string,\n tabIndex: PropTypes.number,\n type: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"custom\",\n \"error\",\n \"info\",\n \"success\",\n \"warning\"\n ])\n ]),\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Animation.OptionName = \"animation\";\n Animation.ExpectedChildren = {\n hide: { optionName: \"hide\", isCollectionItem: false },\n show: { optionName: \"show\", isCollectionItem: false }\n };\n return Animation;\n}(nested_option_1.default));\nexports.Animation = Animation;\nvar At = /** @class */ (function (_super) {\n __extends(At, _super);\n function At() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n At.OptionName = \"at\";\n return At;\n}(nested_option_1.default));\nexports.At = At;\nvar BoundaryOffset = /** @class */ (function (_super) {\n __extends(BoundaryOffset, _super);\n function BoundaryOffset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BoundaryOffset.OptionName = \"boundaryOffset\";\n return BoundaryOffset;\n}(nested_option_1.default));\nexports.BoundaryOffset = BoundaryOffset;\nvar Collision = /** @class */ (function (_super) {\n __extends(Collision, _super);\n function Collision() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Collision.OptionName = \"collision\";\n return Collision;\n}(nested_option_1.default));\nexports.Collision = Collision;\nvar From = /** @class */ (function (_super) {\n __extends(From, _super);\n function From() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n From.OptionName = \"from\";\n From.ExpectedChildren = {\n position: { optionName: \"position\", isCollectionItem: false }\n };\n return From;\n}(nested_option_1.default));\nexports.From = From;\nvar Hide = /** @class */ (function (_super) {\n __extends(Hide, _super);\n function Hide() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Hide.OptionName = \"hide\";\n Hide.ExpectedChildren = {\n from: { optionName: \"from\", isCollectionItem: false },\n to: { optionName: \"to\", isCollectionItem: false }\n };\n return Hide;\n}(nested_option_1.default));\nexports.Hide = Hide;\nvar My = /** @class */ (function (_super) {\n __extends(My, _super);\n function My() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n My.OptionName = \"my\";\n return My;\n}(nested_option_1.default));\nexports.My = My;\nvar Offset = /** @class */ (function (_super) {\n __extends(Offset, _super);\n function Offset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Offset.OptionName = \"offset\";\n return Offset;\n}(nested_option_1.default));\nexports.Offset = Offset;\nvar Position = /** @class */ (function (_super) {\n __extends(Position, _super);\n function Position() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Position.OptionName = \"position\";\n return Position;\n}(nested_option_1.default));\nexports.Position = Position;\nvar Show = /** @class */ (function (_super) {\n __extends(Show, _super);\n function Show() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Show.OptionName = \"show\";\n return Show;\n}(nested_option_1.default));\nexports.Show = Show;\nvar To = /** @class */ (function (_super) {\n __extends(To, _super);\n function To() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n To.OptionName = \"to\";\n return To;\n}(nested_option_1.default));\nexports.To = To;\nexports.default = Toast;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Item = exports.Toolbar = void 0;\nvar toolbar_1 = require(\"devextreme/ui/toolbar\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Toolbar = /** @class */ (function (_super) {\n __extends(Toolbar, _super);\n function Toolbar() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = toolbar_1.default;\n _this.subscribableOptions = [\"items\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onInitialized\", \"onItemClick\", \"onItemContextMenu\", \"onItemHold\", \"onItemRendered\"];\n _this._defaults = {\n defaultItems: \"items\"\n };\n _this._expectedChildren = {\n item: { optionName: \"items\", isCollectionItem: true }\n };\n _this._templateProps = [{\n tmplOption: \"itemTemplate\",\n render: \"itemRender\",\n component: \"itemComponent\",\n keyFn: \"itemKeyFn\"\n }, {\n tmplOption: \"menuItemTemplate\",\n render: \"menuItemRender\",\n component: \"menuItemComponent\",\n keyFn: \"menuItemKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(Toolbar.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Toolbar;\n}(component_1.Component));\nexports.Toolbar = Toolbar;\nToolbar.propTypes = {\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n itemHoldTimeout: PropTypes.number,\n items: PropTypes.array,\n multiline: PropTypes.bool,\n noDataText: PropTypes.string,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onItemClick: PropTypes.func,\n onItemContextMenu: PropTypes.func,\n onItemHold: PropTypes.func,\n onItemRendered: PropTypes.func,\n onOptionChanged: PropTypes.func,\n rtlEnabled: PropTypes.bool,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"menuItemTemplate\",\n render: \"menuItemRender\",\n component: \"menuItemComponent\",\n keyFn: \"menuItemKeyFn\"\n }, {\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nexports.default = Toolbar;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.To = exports.ShowEvent = exports.Show = exports.Position = exports.Offset = exports.My = exports.HideEvent = exports.Hide = exports.From = exports.Collision = exports.BoundaryOffset = exports.At = exports.Animation = exports.Tooltip = void 0;\nvar tooltip_1 = require(\"devextreme/ui/tooltip\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Tooltip = /** @class */ (function (_super) {\n __extends(Tooltip, _super);\n function Tooltip() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = tooltip_1.default;\n _this.isPortalComponent = true;\n _this.subscribableOptions = [\"height\", \"position\", \"visible\", \"width\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onHidden\", \"onHiding\", \"onInitialized\", \"onShowing\", \"onShown\"];\n _this._defaults = {\n defaultHeight: \"height\",\n defaultPosition: \"position\",\n defaultVisible: \"visible\",\n defaultWidth: \"width\"\n };\n _this._expectedChildren = {\n animation: { optionName: \"animation\", isCollectionItem: false },\n hideEvent: { optionName: \"hideEvent\", isCollectionItem: false },\n position: { optionName: \"position\", isCollectionItem: false },\n showEvent: { optionName: \"showEvent\", isCollectionItem: false }\n };\n _this._templateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(Tooltip.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Tooltip;\n}(component_1.Component));\nexports.Tooltip = Tooltip;\nTooltip.propTypes = {\n animation: PropTypes.object,\n closeOnOutsideClick: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.func\n ]),\n copyRootClassesToWrapper: PropTypes.bool,\n deferRendering: PropTypes.bool,\n disabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hideEvent: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string\n ]),\n hideOnOutsideClick: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.func\n ]),\n hideOnParentScroll: PropTypes.bool,\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n maxHeight: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n maxWidth: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n minHeight: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n minWidth: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onHidden: PropTypes.func,\n onHiding: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onShowing: PropTypes.func,\n onShown: PropTypes.func,\n position: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"bottom\",\n \"left\",\n \"right\",\n \"top\"\n ])\n ])\n ]),\n rtlEnabled: PropTypes.bool,\n shading: PropTypes.bool,\n shadingColor: PropTypes.string,\n showEvent: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string\n ]),\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Animation.OptionName = \"animation\";\n Animation.ExpectedChildren = {\n hide: { optionName: \"hide\", isCollectionItem: false },\n show: { optionName: \"show\", isCollectionItem: false }\n };\n return Animation;\n}(nested_option_1.default));\nexports.Animation = Animation;\nvar At = /** @class */ (function (_super) {\n __extends(At, _super);\n function At() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n At.OptionName = \"at\";\n return At;\n}(nested_option_1.default));\nexports.At = At;\nvar BoundaryOffset = /** @class */ (function (_super) {\n __extends(BoundaryOffset, _super);\n function BoundaryOffset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BoundaryOffset.OptionName = \"boundaryOffset\";\n return BoundaryOffset;\n}(nested_option_1.default));\nexports.BoundaryOffset = BoundaryOffset;\nvar Collision = /** @class */ (function (_super) {\n __extends(Collision, _super);\n function Collision() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Collision.OptionName = \"collision\";\n return Collision;\n}(nested_option_1.default));\nexports.Collision = Collision;\nvar From = /** @class */ (function (_super) {\n __extends(From, _super);\n function From() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n From.OptionName = \"from\";\n From.ExpectedChildren = {\n position: { optionName: \"position\", isCollectionItem: false }\n };\n return From;\n}(nested_option_1.default));\nexports.From = From;\nvar Hide = /** @class */ (function (_super) {\n __extends(Hide, _super);\n function Hide() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Hide.OptionName = \"hide\";\n Hide.ExpectedChildren = {\n from: { optionName: \"from\", isCollectionItem: false },\n to: { optionName: \"to\", isCollectionItem: false }\n };\n return Hide;\n}(nested_option_1.default));\nexports.Hide = Hide;\nvar HideEvent = /** @class */ (function (_super) {\n __extends(HideEvent, _super);\n function HideEvent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HideEvent.OptionName = \"hideEvent\";\n return HideEvent;\n}(nested_option_1.default));\nexports.HideEvent = HideEvent;\nvar My = /** @class */ (function (_super) {\n __extends(My, _super);\n function My() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n My.OptionName = \"my\";\n return My;\n}(nested_option_1.default));\nexports.My = My;\nvar Offset = /** @class */ (function (_super) {\n __extends(Offset, _super);\n function Offset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Offset.OptionName = \"offset\";\n return Offset;\n}(nested_option_1.default));\nexports.Offset = Offset;\nvar Position = /** @class */ (function (_super) {\n __extends(Position, _super);\n function Position() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Position.OptionName = \"position\";\n return Position;\n}(nested_option_1.default));\nexports.Position = Position;\nvar Show = /** @class */ (function (_super) {\n __extends(Show, _super);\n function Show() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Show.OptionName = \"show\";\n return Show;\n}(nested_option_1.default));\nexports.Show = Show;\nvar ShowEvent = /** @class */ (function (_super) {\n __extends(ShowEvent, _super);\n function ShowEvent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ShowEvent.OptionName = \"showEvent\";\n return ShowEvent;\n}(nested_option_1.default));\nexports.ShowEvent = ShowEvent;\nvar To = /** @class */ (function (_super) {\n __extends(To, _super);\n function To() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n To.OptionName = \"to\";\n return To;\n}(nested_option_1.default));\nexports.To = To;\nexports.default = Tooltip;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Popup = exports.PatternRule = exports.Paging = exports.Pager = exports.OperationDescriptions = exports.Offset = exports.NumericRule = exports.My = exports.Lookup = exports.LoadPanel = exports.Label = exports.KeyboardNavigation = exports.Item = exports.Hide = exports.HeaderFilter = exports.GroupOperationDescriptions = exports.From = exports.FormItem = exports.Format = exports.Form = exports.FilterRow = exports.FilterPanelTexts = exports.FilterPanel = exports.FilterOperationDescriptions = exports.FilterBuilderPopup = exports.FilterBuilder = exports.FieldLookup = exports.Field = exports.EmailRule = exports.EditingTexts = exports.Editing = exports.CustomRule = exports.CustomOperation = exports.CursorOffset = exports.CompareRule = exports.ColumnLookup = exports.ColumnHeaderFilter = exports.ColumnFixingTexts = exports.ColumnFixing = exports.ColumnChooser = exports.Column = exports.Collision = exports.ColCountByScreen = exports.Change = exports.Button = exports.BoundaryOffset = exports.At = exports.AsyncRule = exports.Animation = exports.TreeList = void 0;\nexports.ValidationRule = exports.TreeListHeaderFilterTexts = exports.TreeListHeaderFilter = exports.ToolbarItem = exports.Toolbar = exports.To = exports.Texts = exports.StringLengthRule = exports.StateStoring = exports.Sorting = exports.Show = exports.Selection = exports.SearchPanel = exports.Scrolling = exports.RowDragging = exports.RequiredRule = exports.RemoteOperations = exports.RangeRule = exports.Position = void 0;\nvar tree_list_1 = require(\"devextreme/ui/tree_list\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar TreeList = /** @class */ (function (_super) {\n __extends(TreeList, _super);\n function TreeList() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = tree_list_1.default;\n _this.subscribableOptions = [\"columns\", \"editing\", \"editing.changes\", \"editing.editColumnName\", \"editing.editRowKey\", \"expandedRowKeys\", \"filterPanel\", \"filterPanel.filterEnabled\", \"filterValue\", \"focusedColumnIndex\", \"focusedRowIndex\", \"focusedRowKey\", \"paging\", \"paging.pageIndex\", \"paging.pageSize\", \"searchPanel\", \"searchPanel.text\", \"selectedRowKeys\"];\n _this.independentEvents = [\"onAdaptiveDetailRowPreparing\", \"onCellClick\", \"onCellDblClick\", \"onCellPrepared\", \"onContentReady\", \"onContextMenuPreparing\", \"onDataErrorOccurred\", \"onDisposing\", \"onEditCanceled\", \"onEditCanceling\", \"onEditingStart\", \"onEditorPrepared\", \"onEditorPreparing\", \"onFocusedCellChanging\", \"onFocusedRowChanging\", \"onInitialized\", \"onInitNewRow\", \"onKeyDown\", \"onNodesInitialized\", \"onRowClick\", \"onRowCollapsed\", \"onRowCollapsing\", \"onRowDblClick\", \"onRowExpanded\", \"onRowExpanding\", \"onRowInserted\", \"onRowInserting\", \"onRowPrepared\", \"onRowRemoved\", \"onRowRemoving\", \"onRowUpdated\", \"onRowUpdating\", \"onRowValidating\", \"onSaved\", \"onSaving\", \"onToolbarPreparing\"];\n _this._defaults = {\n defaultColumns: \"columns\",\n defaultEditing: \"editing\",\n defaultExpandedRowKeys: \"expandedRowKeys\",\n defaultFilterPanel: \"filterPanel\",\n defaultFilterValue: \"filterValue\",\n defaultFocusedColumnIndex: \"focusedColumnIndex\",\n defaultFocusedRowIndex: \"focusedRowIndex\",\n defaultFocusedRowKey: \"focusedRowKey\",\n defaultPaging: \"paging\",\n defaultSearchPanel: \"searchPanel\",\n defaultSelectedRowKeys: \"selectedRowKeys\"\n };\n _this._expectedChildren = {\n column: { optionName: \"columns\", isCollectionItem: true },\n columnChooser: { optionName: \"columnChooser\", isCollectionItem: false },\n columnFixing: { optionName: \"columnFixing\", isCollectionItem: false },\n editing: { optionName: \"editing\", isCollectionItem: false },\n filterBuilder: { optionName: \"filterBuilder\", isCollectionItem: false },\n filterBuilderPopup: { optionName: \"filterBuilderPopup\", isCollectionItem: false },\n filterPanel: { optionName: \"filterPanel\", isCollectionItem: false },\n filterRow: { optionName: \"filterRow\", isCollectionItem: false },\n headerFilter: { optionName: \"headerFilter\", isCollectionItem: false },\n keyboardNavigation: { optionName: \"keyboardNavigation\", isCollectionItem: false },\n loadPanel: { optionName: \"loadPanel\", isCollectionItem: false },\n pager: { optionName: \"pager\", isCollectionItem: false },\n paging: { optionName: \"paging\", isCollectionItem: false },\n remoteOperations: { optionName: \"remoteOperations\", isCollectionItem: false },\n rowDragging: { optionName: \"rowDragging\", isCollectionItem: false },\n scrolling: { optionName: \"scrolling\", isCollectionItem: false },\n searchPanel: { optionName: \"searchPanel\", isCollectionItem: false },\n selection: { optionName: \"selection\", isCollectionItem: false },\n sorting: { optionName: \"sorting\", isCollectionItem: false },\n stateStoring: { optionName: \"stateStoring\", isCollectionItem: false },\n toolbar: { optionName: \"toolbar\", isCollectionItem: false },\n treeListHeaderFilter: { optionName: \"headerFilter\", isCollectionItem: false }\n };\n return _this;\n }\n Object.defineProperty(TreeList.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return TreeList;\n}(component_1.Component));\nexports.TreeList = TreeList;\nTreeList.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n allowColumnReordering: PropTypes.bool,\n allowColumnResizing: PropTypes.bool,\n autoExpandAll: PropTypes.bool,\n autoNavigateToFocusedRow: PropTypes.bool,\n cacheEnabled: PropTypes.bool,\n cellHintEnabled: PropTypes.bool,\n columnAutoWidth: PropTypes.bool,\n columnChooser: PropTypes.object,\n columnFixing: PropTypes.object,\n columnHidingEnabled: PropTypes.bool,\n columnMinWidth: PropTypes.number,\n columnResizingMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"nextColumn\",\n \"widget\"\n ])\n ]),\n columns: PropTypes.array,\n columnWidth: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"auto\"\n ])\n ])\n ]),\n customizeColumns: PropTypes.func,\n dataStructure: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"plain\",\n \"tree\"\n ])\n ]),\n dateSerializationFormat: PropTypes.string,\n disabled: PropTypes.bool,\n editing: PropTypes.object,\n elementAttr: PropTypes.object,\n errorRowEnabled: PropTypes.bool,\n expandedRowKeys: PropTypes.array,\n expandNodesOnFiltering: PropTypes.bool,\n filterBuilder: PropTypes.object,\n filterBuilderPopup: PropTypes.object,\n filterMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"fullBranch\",\n \"withAncestors\",\n \"matchOnly\"\n ])\n ]),\n filterPanel: PropTypes.object,\n filterRow: PropTypes.object,\n filterSyncEnabled: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"auto\"\n ])\n ])\n ]),\n filterValue: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.func,\n PropTypes.string\n ]),\n focusedColumnIndex: PropTypes.number,\n focusedRowEnabled: PropTypes.bool,\n focusedRowIndex: PropTypes.number,\n hasItemsExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n headerFilter: PropTypes.object,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n highlightChanges: PropTypes.bool,\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n itemsExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n keyboardNavigation: PropTypes.object,\n keyExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n loadPanel: PropTypes.object,\n noDataText: PropTypes.string,\n onAdaptiveDetailRowPreparing: PropTypes.func,\n onCellClick: PropTypes.func,\n onCellDblClick: PropTypes.func,\n onCellHoverChanged: PropTypes.func,\n onCellPrepared: PropTypes.func,\n onContentReady: PropTypes.func,\n onContextMenuPreparing: PropTypes.func,\n onDataErrorOccurred: PropTypes.func,\n onDisposing: PropTypes.func,\n onEditCanceled: PropTypes.func,\n onEditCanceling: PropTypes.func,\n onEditingStart: PropTypes.func,\n onEditorPrepared: PropTypes.func,\n onEditorPreparing: PropTypes.func,\n onFocusedCellChanged: PropTypes.func,\n onFocusedCellChanging: PropTypes.func,\n onFocusedRowChanged: PropTypes.func,\n onFocusedRowChanging: PropTypes.func,\n onInitialized: PropTypes.func,\n onInitNewRow: PropTypes.func,\n onKeyDown: PropTypes.func,\n onNodesInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onRowClick: PropTypes.func,\n onRowCollapsed: PropTypes.func,\n onRowCollapsing: PropTypes.func,\n onRowDblClick: PropTypes.func,\n onRowExpanded: PropTypes.func,\n onRowExpanding: PropTypes.func,\n onRowInserted: PropTypes.func,\n onRowInserting: PropTypes.func,\n onRowPrepared: PropTypes.func,\n onRowRemoved: PropTypes.func,\n onRowRemoving: PropTypes.func,\n onRowUpdated: PropTypes.func,\n onRowUpdating: PropTypes.func,\n onRowValidating: PropTypes.func,\n onSaved: PropTypes.func,\n onSaving: PropTypes.func,\n onSelectionChanged: PropTypes.func,\n onToolbarPreparing: PropTypes.func,\n pager: PropTypes.object,\n paging: PropTypes.object,\n parentIdExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n remoteOperations: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"auto\"\n ])\n ])\n ]),\n renderAsync: PropTypes.bool,\n repaintChangesOnly: PropTypes.bool,\n rowAlternationEnabled: PropTypes.bool,\n rowDragging: PropTypes.object,\n rtlEnabled: PropTypes.bool,\n scrolling: PropTypes.object,\n searchPanel: PropTypes.object,\n selectedRowKeys: PropTypes.array,\n selection: PropTypes.object,\n showBorders: PropTypes.bool,\n showColumnHeaders: PropTypes.bool,\n showColumnLines: PropTypes.bool,\n showRowLines: PropTypes.bool,\n sorting: PropTypes.object,\n stateStoring: PropTypes.object,\n syncLookupFilterValues: PropTypes.bool,\n tabIndex: PropTypes.number,\n toolbar: PropTypes.object,\n twoWayBindingEnabled: PropTypes.bool,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n wordWrapEnabled: PropTypes.bool\n};\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Animation.OptionName = \"animation\";\n Animation.ExpectedChildren = {\n hide: { optionName: \"hide\", isCollectionItem: false },\n show: { optionName: \"show\", isCollectionItem: false }\n };\n return Animation;\n}(nested_option_1.default));\nexports.Animation = Animation;\nvar AsyncRule = /** @class */ (function (_super) {\n __extends(AsyncRule, _super);\n function AsyncRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AsyncRule.OptionName = \"validationRules\";\n AsyncRule.IsCollectionItem = true;\n AsyncRule.PredefinedProps = {\n type: \"async\"\n };\n return AsyncRule;\n}(nested_option_1.default));\nexports.AsyncRule = AsyncRule;\nvar At = /** @class */ (function (_super) {\n __extends(At, _super);\n function At() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n At.OptionName = \"at\";\n return At;\n}(nested_option_1.default));\nexports.At = At;\nvar BoundaryOffset = /** @class */ (function (_super) {\n __extends(BoundaryOffset, _super);\n function BoundaryOffset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BoundaryOffset.OptionName = \"boundaryOffset\";\n return BoundaryOffset;\n}(nested_option_1.default));\nexports.BoundaryOffset = BoundaryOffset;\nvar Button = /** @class */ (function (_super) {\n __extends(Button, _super);\n function Button() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Button.OptionName = \"buttons\";\n Button.IsCollectionItem = true;\n Button.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Button;\n}(nested_option_1.default));\nexports.Button = Button;\nvar Change = /** @class */ (function (_super) {\n __extends(Change, _super);\n function Change() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Change.OptionName = \"changes\";\n Change.IsCollectionItem = true;\n return Change;\n}(nested_option_1.default));\nexports.Change = Change;\nvar ColCountByScreen = /** @class */ (function (_super) {\n __extends(ColCountByScreen, _super);\n function ColCountByScreen() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColCountByScreen.OptionName = \"colCountByScreen\";\n return ColCountByScreen;\n}(nested_option_1.default));\nexports.ColCountByScreen = ColCountByScreen;\nvar Collision = /** @class */ (function (_super) {\n __extends(Collision, _super);\n function Collision() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Collision.OptionName = \"collision\";\n return Collision;\n}(nested_option_1.default));\nexports.Collision = Collision;\nvar Column = /** @class */ (function (_super) {\n __extends(Column, _super);\n function Column() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Column.OptionName = \"columns\";\n Column.IsCollectionItem = true;\n Column.DefaultsProps = {\n defaultFilterValue: \"filterValue\",\n defaultFilterValues: \"filterValues\",\n defaultSelectedFilterOperation: \"selectedFilterOperation\",\n defaultSortIndex: \"sortIndex\",\n defaultSortOrder: \"sortOrder\",\n defaultVisible: \"visible\",\n defaultVisibleIndex: \"visibleIndex\"\n };\n Column.ExpectedChildren = {\n AsyncRule: { optionName: \"validationRules\", isCollectionItem: true },\n button: { optionName: \"buttons\", isCollectionItem: true },\n columnHeaderFilter: { optionName: \"headerFilter\", isCollectionItem: false },\n columnLookup: { optionName: \"lookup\", isCollectionItem: false },\n CompareRule: { optionName: \"validationRules\", isCollectionItem: true },\n CustomRule: { optionName: \"validationRules\", isCollectionItem: true },\n EmailRule: { optionName: \"validationRules\", isCollectionItem: true },\n format: { optionName: \"format\", isCollectionItem: false },\n formItem: { optionName: \"formItem\", isCollectionItem: false },\n headerFilter: { optionName: \"headerFilter\", isCollectionItem: false },\n lookup: { optionName: \"lookup\", isCollectionItem: false },\n NumericRule: { optionName: \"validationRules\", isCollectionItem: true },\n PatternRule: { optionName: \"validationRules\", isCollectionItem: true },\n RangeRule: { optionName: \"validationRules\", isCollectionItem: true },\n RequiredRule: { optionName: \"validationRules\", isCollectionItem: true },\n StringLengthRule: { optionName: \"validationRules\", isCollectionItem: true },\n validationRule: { optionName: \"validationRules\", isCollectionItem: true }\n };\n Column.TemplateProps = [{\n tmplOption: \"cellTemplate\",\n render: \"cellRender\",\n component: \"cellComponent\",\n keyFn: \"cellKeyFn\"\n }, {\n tmplOption: \"editCellTemplate\",\n render: \"editCellRender\",\n component: \"editCellComponent\",\n keyFn: \"editCellKeyFn\"\n }, {\n tmplOption: \"headerCellTemplate\",\n render: \"headerCellRender\",\n component: \"headerCellComponent\",\n keyFn: \"headerCellKeyFn\"\n }];\n return Column;\n}(nested_option_1.default));\nexports.Column = Column;\nvar ColumnChooser = /** @class */ (function (_super) {\n __extends(ColumnChooser, _super);\n function ColumnChooser() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColumnChooser.OptionName = \"columnChooser\";\n return ColumnChooser;\n}(nested_option_1.default));\nexports.ColumnChooser = ColumnChooser;\nvar ColumnFixing = /** @class */ (function (_super) {\n __extends(ColumnFixing, _super);\n function ColumnFixing() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColumnFixing.OptionName = \"columnFixing\";\n ColumnFixing.ExpectedChildren = {\n columnFixingTexts: { optionName: \"texts\", isCollectionItem: false },\n texts: { optionName: \"texts\", isCollectionItem: false }\n };\n return ColumnFixing;\n}(nested_option_1.default));\nexports.ColumnFixing = ColumnFixing;\nvar ColumnFixingTexts = /** @class */ (function (_super) {\n __extends(ColumnFixingTexts, _super);\n function ColumnFixingTexts() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColumnFixingTexts.OptionName = \"texts\";\n return ColumnFixingTexts;\n}(nested_option_1.default));\nexports.ColumnFixingTexts = ColumnFixingTexts;\nvar ColumnHeaderFilter = /** @class */ (function (_super) {\n __extends(ColumnHeaderFilter, _super);\n function ColumnHeaderFilter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColumnHeaderFilter.OptionName = \"headerFilter\";\n return ColumnHeaderFilter;\n}(nested_option_1.default));\nexports.ColumnHeaderFilter = ColumnHeaderFilter;\nvar ColumnLookup = /** @class */ (function (_super) {\n __extends(ColumnLookup, _super);\n function ColumnLookup() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColumnLookup.OptionName = \"lookup\";\n return ColumnLookup;\n}(nested_option_1.default));\nexports.ColumnLookup = ColumnLookup;\nvar CompareRule = /** @class */ (function (_super) {\n __extends(CompareRule, _super);\n function CompareRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CompareRule.OptionName = \"validationRules\";\n CompareRule.IsCollectionItem = true;\n CompareRule.PredefinedProps = {\n type: \"compare\"\n };\n return CompareRule;\n}(nested_option_1.default));\nexports.CompareRule = CompareRule;\nvar CursorOffset = /** @class */ (function (_super) {\n __extends(CursorOffset, _super);\n function CursorOffset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CursorOffset.OptionName = \"cursorOffset\";\n return CursorOffset;\n}(nested_option_1.default));\nexports.CursorOffset = CursorOffset;\nvar CustomOperation = /** @class */ (function (_super) {\n __extends(CustomOperation, _super);\n function CustomOperation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CustomOperation.OptionName = \"customOperations\";\n CustomOperation.IsCollectionItem = true;\n CustomOperation.TemplateProps = [{\n tmplOption: \"editorTemplate\",\n render: \"editorRender\",\n component: \"editorComponent\",\n keyFn: \"editorKeyFn\"\n }];\n return CustomOperation;\n}(nested_option_1.default));\nexports.CustomOperation = CustomOperation;\nvar CustomRule = /** @class */ (function (_super) {\n __extends(CustomRule, _super);\n function CustomRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CustomRule.OptionName = \"validationRules\";\n CustomRule.IsCollectionItem = true;\n CustomRule.PredefinedProps = {\n type: \"custom\"\n };\n return CustomRule;\n}(nested_option_1.default));\nexports.CustomRule = CustomRule;\nvar Editing = /** @class */ (function (_super) {\n __extends(Editing, _super);\n function Editing() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Editing.OptionName = \"editing\";\n Editing.DefaultsProps = {\n defaultChanges: \"changes\",\n defaultEditColumnName: \"editColumnName\",\n defaultEditRowKey: \"editRowKey\"\n };\n Editing.ExpectedChildren = {\n change: { optionName: \"changes\", isCollectionItem: true },\n editingTexts: { optionName: \"texts\", isCollectionItem: false },\n form: { optionName: \"form\", isCollectionItem: false },\n popup: { optionName: \"popup\", isCollectionItem: false },\n texts: { optionName: \"texts\", isCollectionItem: false }\n };\n return Editing;\n}(nested_option_1.default));\nexports.Editing = Editing;\nvar EditingTexts = /** @class */ (function (_super) {\n __extends(EditingTexts, _super);\n function EditingTexts() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n EditingTexts.OptionName = \"texts\";\n return EditingTexts;\n}(nested_option_1.default));\nexports.EditingTexts = EditingTexts;\nvar EmailRule = /** @class */ (function (_super) {\n __extends(EmailRule, _super);\n function EmailRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n EmailRule.OptionName = \"validationRules\";\n EmailRule.IsCollectionItem = true;\n EmailRule.PredefinedProps = {\n type: \"email\"\n };\n return EmailRule;\n}(nested_option_1.default));\nexports.EmailRule = EmailRule;\nvar Field = /** @class */ (function (_super) {\n __extends(Field, _super);\n function Field() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Field.OptionName = \"fields\";\n Field.IsCollectionItem = true;\n Field.ExpectedChildren = {\n fieldLookup: { optionName: \"lookup\", isCollectionItem: false },\n format: { optionName: \"format\", isCollectionItem: false },\n lookup: { optionName: \"lookup\", isCollectionItem: false }\n };\n Field.TemplateProps = [{\n tmplOption: \"editorTemplate\",\n render: \"editorRender\",\n component: \"editorComponent\",\n keyFn: \"editorKeyFn\"\n }];\n return Field;\n}(nested_option_1.default));\nexports.Field = Field;\nvar FieldLookup = /** @class */ (function (_super) {\n __extends(FieldLookup, _super);\n function FieldLookup() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FieldLookup.OptionName = \"lookup\";\n return FieldLookup;\n}(nested_option_1.default));\nexports.FieldLookup = FieldLookup;\nvar FilterBuilder = /** @class */ (function (_super) {\n __extends(FilterBuilder, _super);\n function FilterBuilder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterBuilder.OptionName = \"filterBuilder\";\n FilterBuilder.DefaultsProps = {\n defaultValue: \"value\"\n };\n FilterBuilder.ExpectedChildren = {\n customOperation: { optionName: \"customOperations\", isCollectionItem: true },\n field: { optionName: \"fields\", isCollectionItem: true },\n filterOperationDescriptions: { optionName: \"filterOperationDescriptions\", isCollectionItem: false },\n groupOperationDescriptions: { optionName: \"groupOperationDescriptions\", isCollectionItem: false }\n };\n return FilterBuilder;\n}(nested_option_1.default));\nexports.FilterBuilder = FilterBuilder;\nvar FilterBuilderPopup = /** @class */ (function (_super) {\n __extends(FilterBuilderPopup, _super);\n function FilterBuilderPopup() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterBuilderPopup.OptionName = \"filterBuilderPopup\";\n FilterBuilderPopup.DefaultsProps = {\n defaultHeight: \"height\",\n defaultPosition: \"position\",\n defaultVisible: \"visible\",\n defaultWidth: \"width\"\n };\n FilterBuilderPopup.TemplateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }, {\n tmplOption: \"titleTemplate\",\n render: \"titleRender\",\n component: \"titleComponent\",\n keyFn: \"titleKeyFn\"\n }];\n return FilterBuilderPopup;\n}(nested_option_1.default));\nexports.FilterBuilderPopup = FilterBuilderPopup;\nvar FilterOperationDescriptions = /** @class */ (function (_super) {\n __extends(FilterOperationDescriptions, _super);\n function FilterOperationDescriptions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterOperationDescriptions.OptionName = \"filterOperationDescriptions\";\n return FilterOperationDescriptions;\n}(nested_option_1.default));\nexports.FilterOperationDescriptions = FilterOperationDescriptions;\nvar FilterPanel = /** @class */ (function (_super) {\n __extends(FilterPanel, _super);\n function FilterPanel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterPanel.OptionName = \"filterPanel\";\n FilterPanel.DefaultsProps = {\n defaultFilterEnabled: \"filterEnabled\"\n };\n FilterPanel.ExpectedChildren = {\n filterPanelTexts: { optionName: \"texts\", isCollectionItem: false },\n texts: { optionName: \"texts\", isCollectionItem: false }\n };\n return FilterPanel;\n}(nested_option_1.default));\nexports.FilterPanel = FilterPanel;\nvar FilterPanelTexts = /** @class */ (function (_super) {\n __extends(FilterPanelTexts, _super);\n function FilterPanelTexts() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterPanelTexts.OptionName = \"texts\";\n return FilterPanelTexts;\n}(nested_option_1.default));\nexports.FilterPanelTexts = FilterPanelTexts;\nvar FilterRow = /** @class */ (function (_super) {\n __extends(FilterRow, _super);\n function FilterRow() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterRow.OptionName = \"filterRow\";\n FilterRow.ExpectedChildren = {\n operationDescriptions: { optionName: \"operationDescriptions\", isCollectionItem: false }\n };\n return FilterRow;\n}(nested_option_1.default));\nexports.FilterRow = FilterRow;\nvar Form = /** @class */ (function (_super) {\n __extends(Form, _super);\n function Form() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Form.OptionName = \"form\";\n Form.DefaultsProps = {\n defaultFormData: \"formData\"\n };\n Form.ExpectedChildren = {\n colCountByScreen: { optionName: \"colCountByScreen\", isCollectionItem: false }\n };\n return Form;\n}(nested_option_1.default));\nexports.Form = Form;\nvar Format = /** @class */ (function (_super) {\n __extends(Format, _super);\n function Format() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Format.OptionName = \"format\";\n return Format;\n}(nested_option_1.default));\nexports.Format = Format;\nvar FormItem = /** @class */ (function (_super) {\n __extends(FormItem, _super);\n function FormItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FormItem.OptionName = \"formItem\";\n FormItem.ExpectedChildren = {\n AsyncRule: { optionName: \"validationRules\", isCollectionItem: true },\n CompareRule: { optionName: \"validationRules\", isCollectionItem: true },\n CustomRule: { optionName: \"validationRules\", isCollectionItem: true },\n EmailRule: { optionName: \"validationRules\", isCollectionItem: true },\n label: { optionName: \"label\", isCollectionItem: false },\n NumericRule: { optionName: \"validationRules\", isCollectionItem: true },\n PatternRule: { optionName: \"validationRules\", isCollectionItem: true },\n RangeRule: { optionName: \"validationRules\", isCollectionItem: true },\n RequiredRule: { optionName: \"validationRules\", isCollectionItem: true },\n StringLengthRule: { optionName: \"validationRules\", isCollectionItem: true },\n validationRule: { optionName: \"validationRules\", isCollectionItem: true }\n };\n FormItem.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return FormItem;\n}(nested_option_1.default));\nexports.FormItem = FormItem;\nvar From = /** @class */ (function (_super) {\n __extends(From, _super);\n function From() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n From.OptionName = \"from\";\n From.ExpectedChildren = {\n position: { optionName: \"position\", isCollectionItem: false }\n };\n return From;\n}(nested_option_1.default));\nexports.From = From;\nvar GroupOperationDescriptions = /** @class */ (function (_super) {\n __extends(GroupOperationDescriptions, _super);\n function GroupOperationDescriptions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GroupOperationDescriptions.OptionName = \"groupOperationDescriptions\";\n return GroupOperationDescriptions;\n}(nested_option_1.default));\nexports.GroupOperationDescriptions = GroupOperationDescriptions;\nvar HeaderFilter = /** @class */ (function (_super) {\n __extends(HeaderFilter, _super);\n function HeaderFilter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HeaderFilter.OptionName = \"headerFilter\";\n return HeaderFilter;\n}(nested_option_1.default));\nexports.HeaderFilter = HeaderFilter;\nvar Hide = /** @class */ (function (_super) {\n __extends(Hide, _super);\n function Hide() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Hide.OptionName = \"hide\";\n Hide.ExpectedChildren = {\n from: { optionName: \"from\", isCollectionItem: false },\n to: { optionName: \"to\", isCollectionItem: false }\n };\n return Hide;\n}(nested_option_1.default));\nexports.Hide = Hide;\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"menuItemTemplate\",\n render: \"menuItemRender\",\n component: \"menuItemComponent\",\n keyFn: \"menuItemKeyFn\"\n }, {\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nvar KeyboardNavigation = /** @class */ (function (_super) {\n __extends(KeyboardNavigation, _super);\n function KeyboardNavigation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n KeyboardNavigation.OptionName = \"keyboardNavigation\";\n return KeyboardNavigation;\n}(nested_option_1.default));\nexports.KeyboardNavigation = KeyboardNavigation;\nvar Label = /** @class */ (function (_super) {\n __extends(Label, _super);\n function Label() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Label.OptionName = \"label\";\n Label.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Label;\n}(nested_option_1.default));\nexports.Label = Label;\nvar LoadPanel = /** @class */ (function (_super) {\n __extends(LoadPanel, _super);\n function LoadPanel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LoadPanel.OptionName = \"loadPanel\";\n return LoadPanel;\n}(nested_option_1.default));\nexports.LoadPanel = LoadPanel;\nvar Lookup = /** @class */ (function (_super) {\n __extends(Lookup, _super);\n function Lookup() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Lookup.OptionName = \"lookup\";\n return Lookup;\n}(nested_option_1.default));\nexports.Lookup = Lookup;\nvar My = /** @class */ (function (_super) {\n __extends(My, _super);\n function My() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n My.OptionName = \"my\";\n return My;\n}(nested_option_1.default));\nexports.My = My;\nvar NumericRule = /** @class */ (function (_super) {\n __extends(NumericRule, _super);\n function NumericRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n NumericRule.OptionName = \"validationRules\";\n NumericRule.IsCollectionItem = true;\n NumericRule.PredefinedProps = {\n type: \"numeric\"\n };\n return NumericRule;\n}(nested_option_1.default));\nexports.NumericRule = NumericRule;\nvar Offset = /** @class */ (function (_super) {\n __extends(Offset, _super);\n function Offset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Offset.OptionName = \"offset\";\n return Offset;\n}(nested_option_1.default));\nexports.Offset = Offset;\nvar OperationDescriptions = /** @class */ (function (_super) {\n __extends(OperationDescriptions, _super);\n function OperationDescriptions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n OperationDescriptions.OptionName = \"operationDescriptions\";\n return OperationDescriptions;\n}(nested_option_1.default));\nexports.OperationDescriptions = OperationDescriptions;\nvar Pager = /** @class */ (function (_super) {\n __extends(Pager, _super);\n function Pager() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Pager.OptionName = \"pager\";\n return Pager;\n}(nested_option_1.default));\nexports.Pager = Pager;\nvar Paging = /** @class */ (function (_super) {\n __extends(Paging, _super);\n function Paging() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Paging.OptionName = \"paging\";\n Paging.DefaultsProps = {\n defaultPageIndex: \"pageIndex\",\n defaultPageSize: \"pageSize\"\n };\n return Paging;\n}(nested_option_1.default));\nexports.Paging = Paging;\nvar PatternRule = /** @class */ (function (_super) {\n __extends(PatternRule, _super);\n function PatternRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PatternRule.OptionName = \"validationRules\";\n PatternRule.IsCollectionItem = true;\n PatternRule.PredefinedProps = {\n type: \"pattern\"\n };\n return PatternRule;\n}(nested_option_1.default));\nexports.PatternRule = PatternRule;\nvar Popup = /** @class */ (function (_super) {\n __extends(Popup, _super);\n function Popup() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Popup.OptionName = \"popup\";\n Popup.DefaultsProps = {\n defaultHeight: \"height\",\n defaultPosition: \"position\",\n defaultVisible: \"visible\",\n defaultWidth: \"width\"\n };\n Popup.ExpectedChildren = {\n animation: { optionName: \"animation\", isCollectionItem: false },\n position: { optionName: \"position\", isCollectionItem: false },\n toolbarItem: { optionName: \"toolbarItems\", isCollectionItem: true }\n };\n Popup.TemplateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }, {\n tmplOption: \"titleTemplate\",\n render: \"titleRender\",\n component: \"titleComponent\",\n keyFn: \"titleKeyFn\"\n }];\n return Popup;\n}(nested_option_1.default));\nexports.Popup = Popup;\nvar Position = /** @class */ (function (_super) {\n __extends(Position, _super);\n function Position() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Position.OptionName = \"position\";\n return Position;\n}(nested_option_1.default));\nexports.Position = Position;\nvar RangeRule = /** @class */ (function (_super) {\n __extends(RangeRule, _super);\n function RangeRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RangeRule.OptionName = \"validationRules\";\n RangeRule.IsCollectionItem = true;\n RangeRule.PredefinedProps = {\n type: \"range\"\n };\n return RangeRule;\n}(nested_option_1.default));\nexports.RangeRule = RangeRule;\nvar RemoteOperations = /** @class */ (function (_super) {\n __extends(RemoteOperations, _super);\n function RemoteOperations() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RemoteOperations.OptionName = \"remoteOperations\";\n return RemoteOperations;\n}(nested_option_1.default));\nexports.RemoteOperations = RemoteOperations;\nvar RequiredRule = /** @class */ (function (_super) {\n __extends(RequiredRule, _super);\n function RequiredRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RequiredRule.OptionName = \"validationRules\";\n RequiredRule.IsCollectionItem = true;\n RequiredRule.PredefinedProps = {\n type: \"required\"\n };\n return RequiredRule;\n}(nested_option_1.default));\nexports.RequiredRule = RequiredRule;\nvar RowDragging = /** @class */ (function (_super) {\n __extends(RowDragging, _super);\n function RowDragging() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RowDragging.OptionName = \"rowDragging\";\n RowDragging.ExpectedChildren = {\n cursorOffset: { optionName: \"cursorOffset\", isCollectionItem: false }\n };\n RowDragging.TemplateProps = [{\n tmplOption: \"dragTemplate\",\n render: \"dragRender\",\n component: \"dragComponent\",\n keyFn: \"dragKeyFn\"\n }];\n return RowDragging;\n}(nested_option_1.default));\nexports.RowDragging = RowDragging;\nvar Scrolling = /** @class */ (function (_super) {\n __extends(Scrolling, _super);\n function Scrolling() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Scrolling.OptionName = \"scrolling\";\n return Scrolling;\n}(nested_option_1.default));\nexports.Scrolling = Scrolling;\nvar SearchPanel = /** @class */ (function (_super) {\n __extends(SearchPanel, _super);\n function SearchPanel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SearchPanel.OptionName = \"searchPanel\";\n SearchPanel.DefaultsProps = {\n defaultText: \"text\"\n };\n return SearchPanel;\n}(nested_option_1.default));\nexports.SearchPanel = SearchPanel;\nvar Selection = /** @class */ (function (_super) {\n __extends(Selection, _super);\n function Selection() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Selection.OptionName = \"selection\";\n return Selection;\n}(nested_option_1.default));\nexports.Selection = Selection;\nvar Show = /** @class */ (function (_super) {\n __extends(Show, _super);\n function Show() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Show.OptionName = \"show\";\n return Show;\n}(nested_option_1.default));\nexports.Show = Show;\nvar Sorting = /** @class */ (function (_super) {\n __extends(Sorting, _super);\n function Sorting() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Sorting.OptionName = \"sorting\";\n return Sorting;\n}(nested_option_1.default));\nexports.Sorting = Sorting;\nvar StateStoring = /** @class */ (function (_super) {\n __extends(StateStoring, _super);\n function StateStoring() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StateStoring.OptionName = \"stateStoring\";\n return StateStoring;\n}(nested_option_1.default));\nexports.StateStoring = StateStoring;\nvar StringLengthRule = /** @class */ (function (_super) {\n __extends(StringLengthRule, _super);\n function StringLengthRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StringLengthRule.OptionName = \"validationRules\";\n StringLengthRule.IsCollectionItem = true;\n StringLengthRule.PredefinedProps = {\n type: \"stringLength\"\n };\n return StringLengthRule;\n}(nested_option_1.default));\nexports.StringLengthRule = StringLengthRule;\nvar Texts = /** @class */ (function (_super) {\n __extends(Texts, _super);\n function Texts() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Texts.OptionName = \"texts\";\n return Texts;\n}(nested_option_1.default));\nexports.Texts = Texts;\nvar To = /** @class */ (function (_super) {\n __extends(To, _super);\n function To() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n To.OptionName = \"to\";\n return To;\n}(nested_option_1.default));\nexports.To = To;\nvar Toolbar = /** @class */ (function (_super) {\n __extends(Toolbar, _super);\n function Toolbar() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Toolbar.OptionName = \"toolbar\";\n Toolbar.ExpectedChildren = {\n item: { optionName: \"items\", isCollectionItem: true }\n };\n return Toolbar;\n}(nested_option_1.default));\nexports.Toolbar = Toolbar;\nvar ToolbarItem = /** @class */ (function (_super) {\n __extends(ToolbarItem, _super);\n function ToolbarItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ToolbarItem.OptionName = \"toolbarItems\";\n ToolbarItem.IsCollectionItem = true;\n ToolbarItem.TemplateProps = [{\n tmplOption: \"menuItemTemplate\",\n render: \"menuItemRender\",\n component: \"menuItemComponent\",\n keyFn: \"menuItemKeyFn\"\n }, {\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return ToolbarItem;\n}(nested_option_1.default));\nexports.ToolbarItem = ToolbarItem;\nvar TreeListHeaderFilter = /** @class */ (function (_super) {\n __extends(TreeListHeaderFilter, _super);\n function TreeListHeaderFilter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TreeListHeaderFilter.OptionName = \"headerFilter\";\n TreeListHeaderFilter.ExpectedChildren = {\n texts: { optionName: \"texts\", isCollectionItem: false },\n treeListHeaderFilterTexts: { optionName: \"texts\", isCollectionItem: false }\n };\n return TreeListHeaderFilter;\n}(nested_option_1.default));\nexports.TreeListHeaderFilter = TreeListHeaderFilter;\nvar TreeListHeaderFilterTexts = /** @class */ (function (_super) {\n __extends(TreeListHeaderFilterTexts, _super);\n function TreeListHeaderFilterTexts() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TreeListHeaderFilterTexts.OptionName = \"texts\";\n return TreeListHeaderFilterTexts;\n}(nested_option_1.default));\nexports.TreeListHeaderFilterTexts = TreeListHeaderFilterTexts;\nvar ValidationRule = /** @class */ (function (_super) {\n __extends(ValidationRule, _super);\n function ValidationRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ValidationRule.OptionName = \"validationRules\";\n ValidationRule.IsCollectionItem = true;\n ValidationRule.PredefinedProps = {\n type: \"required\"\n };\n return ValidationRule;\n}(nested_option_1.default));\nexports.ValidationRule = ValidationRule;\nexports.default = TreeList;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TreeMapborder = exports.TooltipBorder = exports.Tooltip = exports.Title = exports.TileLabel = exports.Tile = exports.Subtitle = exports.Size = exports.Shadow = exports.SelectionStyle = exports.Margin = exports.LoadingIndicator = exports.Label = exports.HoverStyle = exports.GroupLabel = exports.Group = exports.Format = exports.Font = exports.Export = exports.Colorizer = exports.Border = exports.TreeMap = void 0;\nvar tree_map_1 = require(\"devextreme/viz/tree_map\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar TreeMap = /** @class */ (function (_super) {\n __extends(TreeMap, _super);\n function TreeMap() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = tree_map_1.default;\n _this.subscribableOptions = [\"loadingIndicator\", \"loadingIndicator.show\"];\n _this.independentEvents = [\"onClick\", \"onDisposing\", \"onDrawn\", \"onDrill\", \"onExported\", \"onExporting\", \"onFileSaving\", \"onIncidentOccurred\", \"onInitialized\", \"onNodesInitialized\", \"onNodesRendering\"];\n _this._defaults = {\n defaultLoadingIndicator: \"loadingIndicator\"\n };\n _this._expectedChildren = {\n colorizer: { optionName: \"colorizer\", isCollectionItem: false },\n export: { optionName: \"export\", isCollectionItem: false },\n group: { optionName: \"group\", isCollectionItem: false },\n loadingIndicator: { optionName: \"loadingIndicator\", isCollectionItem: false },\n size: { optionName: \"size\", isCollectionItem: false },\n tile: { optionName: \"tile\", isCollectionItem: false },\n title: { optionName: \"title\", isCollectionItem: false },\n tooltip: { optionName: \"tooltip\", isCollectionItem: false }\n };\n return _this;\n }\n Object.defineProperty(TreeMap.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return TreeMap;\n}(component_1.Component));\nexports.TreeMap = TreeMap;\nTreeMap.propTypes = {\n childrenField: PropTypes.string,\n colorField: PropTypes.string,\n colorizer: PropTypes.object,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n export: PropTypes.object,\n group: PropTypes.object,\n hoverEnabled: PropTypes.bool,\n idField: PropTypes.string,\n interactWithGroup: PropTypes.bool,\n labelField: PropTypes.string,\n layoutAlgorithm: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"sliceanddice\",\n \"squarified\",\n \"strip\"\n ])\n ])\n ]),\n layoutDirection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"leftBottomRightTop\",\n \"leftTopRightBottom\",\n \"rightBottomLeftTop\",\n \"rightTopLeftBottom\"\n ])\n ]),\n loadingIndicator: PropTypes.object,\n maxDepth: PropTypes.number,\n onClick: PropTypes.func,\n onDisposing: PropTypes.func,\n onDrawn: PropTypes.func,\n onDrill: PropTypes.func,\n onExported: PropTypes.func,\n onExporting: PropTypes.func,\n onFileSaving: PropTypes.func,\n onHoverChanged: PropTypes.func,\n onIncidentOccurred: PropTypes.func,\n onInitialized: PropTypes.func,\n onNodesInitialized: PropTypes.func,\n onNodesRendering: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onSelectionChanged: PropTypes.func,\n parentField: PropTypes.string,\n pathModified: PropTypes.bool,\n redrawOnResize: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n selectionMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"single\",\n \"multiple\",\n \"none\"\n ])\n ]),\n size: PropTypes.object,\n theme: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"generic.dark\",\n \"generic.light\",\n \"generic.contrast\",\n \"generic.carmine\",\n \"generic.darkmoon\",\n \"generic.darkviolet\",\n \"generic.greenmist\",\n \"generic.softblue\",\n \"material.blue.light\",\n \"material.lime.light\",\n \"material.orange.light\",\n \"material.purple.light\",\n \"material.teal.light\"\n ])\n ]),\n tile: PropTypes.object,\n title: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string\n ]),\n tooltip: PropTypes.object,\n valueField: PropTypes.string\n};\nvar Border = /** @class */ (function (_super) {\n __extends(Border, _super);\n function Border() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Border.OptionName = \"border\";\n return Border;\n}(nested_option_1.default));\nexports.Border = Border;\nvar Colorizer = /** @class */ (function (_super) {\n __extends(Colorizer, _super);\n function Colorizer() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Colorizer.OptionName = \"colorizer\";\n return Colorizer;\n}(nested_option_1.default));\nexports.Colorizer = Colorizer;\nvar Export = /** @class */ (function (_super) {\n __extends(Export, _super);\n function Export() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Export.OptionName = \"export\";\n return Export;\n}(nested_option_1.default));\nexports.Export = Export;\nvar Font = /** @class */ (function (_super) {\n __extends(Font, _super);\n function Font() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Font.OptionName = \"font\";\n return Font;\n}(nested_option_1.default));\nexports.Font = Font;\nvar Format = /** @class */ (function (_super) {\n __extends(Format, _super);\n function Format() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Format.OptionName = \"format\";\n return Format;\n}(nested_option_1.default));\nexports.Format = Format;\nvar Group = /** @class */ (function (_super) {\n __extends(Group, _super);\n function Group() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Group.OptionName = \"group\";\n Group.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n groupLabel: { optionName: \"label\", isCollectionItem: false },\n hoverStyle: { optionName: \"hoverStyle\", isCollectionItem: false },\n label: { optionName: \"label\", isCollectionItem: false },\n selectionStyle: { optionName: \"selectionStyle\", isCollectionItem: false },\n treeMapborder: { optionName: \"border\", isCollectionItem: false }\n };\n return Group;\n}(nested_option_1.default));\nexports.Group = Group;\nvar GroupLabel = /** @class */ (function (_super) {\n __extends(GroupLabel, _super);\n function GroupLabel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GroupLabel.OptionName = \"label\";\n GroupLabel.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false }\n };\n return GroupLabel;\n}(nested_option_1.default));\nexports.GroupLabel = GroupLabel;\nvar HoverStyle = /** @class */ (function (_super) {\n __extends(HoverStyle, _super);\n function HoverStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HoverStyle.OptionName = \"hoverStyle\";\n return HoverStyle;\n}(nested_option_1.default));\nexports.HoverStyle = HoverStyle;\nvar Label = /** @class */ (function (_super) {\n __extends(Label, _super);\n function Label() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Label.OptionName = \"label\";\n return Label;\n}(nested_option_1.default));\nexports.Label = Label;\nvar LoadingIndicator = /** @class */ (function (_super) {\n __extends(LoadingIndicator, _super);\n function LoadingIndicator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LoadingIndicator.OptionName = \"loadingIndicator\";\n LoadingIndicator.DefaultsProps = {\n defaultShow: \"show\"\n };\n LoadingIndicator.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false }\n };\n return LoadingIndicator;\n}(nested_option_1.default));\nexports.LoadingIndicator = LoadingIndicator;\nvar Margin = /** @class */ (function (_super) {\n __extends(Margin, _super);\n function Margin() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Margin.OptionName = \"margin\";\n return Margin;\n}(nested_option_1.default));\nexports.Margin = Margin;\nvar SelectionStyle = /** @class */ (function (_super) {\n __extends(SelectionStyle, _super);\n function SelectionStyle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SelectionStyle.OptionName = \"selectionStyle\";\n return SelectionStyle;\n}(nested_option_1.default));\nexports.SelectionStyle = SelectionStyle;\nvar Shadow = /** @class */ (function (_super) {\n __extends(Shadow, _super);\n function Shadow() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Shadow.OptionName = \"shadow\";\n return Shadow;\n}(nested_option_1.default));\nexports.Shadow = Shadow;\nvar Size = /** @class */ (function (_super) {\n __extends(Size, _super);\n function Size() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Size.OptionName = \"size\";\n return Size;\n}(nested_option_1.default));\nexports.Size = Size;\nvar Subtitle = /** @class */ (function (_super) {\n __extends(Subtitle, _super);\n function Subtitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Subtitle.OptionName = \"subtitle\";\n Subtitle.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false }\n };\n return Subtitle;\n}(nested_option_1.default));\nexports.Subtitle = Subtitle;\nvar Tile = /** @class */ (function (_super) {\n __extends(Tile, _super);\n function Tile() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Tile.OptionName = \"tile\";\n Tile.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n hoverStyle: { optionName: \"hoverStyle\", isCollectionItem: false },\n label: { optionName: \"label\", isCollectionItem: false },\n selectionStyle: { optionName: \"selectionStyle\", isCollectionItem: false },\n tileLabel: { optionName: \"label\", isCollectionItem: false },\n treeMapborder: { optionName: \"border\", isCollectionItem: false }\n };\n return Tile;\n}(nested_option_1.default));\nexports.Tile = Tile;\nvar TileLabel = /** @class */ (function (_super) {\n __extends(TileLabel, _super);\n function TileLabel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TileLabel.OptionName = \"label\";\n TileLabel.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false }\n };\n return TileLabel;\n}(nested_option_1.default));\nexports.TileLabel = TileLabel;\nvar Title = /** @class */ (function (_super) {\n __extends(Title, _super);\n function Title() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Title.OptionName = \"title\";\n Title.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n subtitle: { optionName: \"subtitle\", isCollectionItem: false }\n };\n return Title;\n}(nested_option_1.default));\nexports.Title = Title;\nvar Tooltip = /** @class */ (function (_super) {\n __extends(Tooltip, _super);\n function Tooltip() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Tooltip.OptionName = \"tooltip\";\n Tooltip.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n font: { optionName: \"font\", isCollectionItem: false },\n format: { optionName: \"format\", isCollectionItem: false },\n shadow: { optionName: \"shadow\", isCollectionItem: false },\n tooltipBorder: { optionName: \"border\", isCollectionItem: false }\n };\n Tooltip.TemplateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }];\n return Tooltip;\n}(nested_option_1.default));\nexports.Tooltip = Tooltip;\nvar TooltipBorder = /** @class */ (function (_super) {\n __extends(TooltipBorder, _super);\n function TooltipBorder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TooltipBorder.OptionName = \"border\";\n return TooltipBorder;\n}(nested_option_1.default));\nexports.TooltipBorder = TooltipBorder;\nvar TreeMapborder = /** @class */ (function (_super) {\n __extends(TreeMapborder, _super);\n function TreeMapborder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TreeMapborder.OptionName = \"border\";\n return TreeMapborder;\n}(nested_option_1.default));\nexports.TreeMapborder = TreeMapborder;\nexports.default = TreeMap;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SearchEditorOptions = exports.Options = exports.Item = exports.Button = exports.TreeView = void 0;\nvar tree_view_1 = require(\"devextreme/ui/tree_view\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar TreeView = /** @class */ (function (_super) {\n __extends(TreeView, _super);\n function TreeView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = tree_view_1.default;\n _this.subscribableOptions = [\"items\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onInitialized\", \"onItemClick\", \"onItemCollapsed\", \"onItemContextMenu\", \"onItemExpanded\", \"onItemHold\", \"onItemRendered\", \"onSelectAllValueChanged\"];\n _this._defaults = {\n defaultItems: \"items\"\n };\n _this._expectedChildren = {\n item: { optionName: \"items\", isCollectionItem: true },\n searchEditorOptions: { optionName: \"searchEditorOptions\", isCollectionItem: false }\n };\n _this._templateProps = [{\n tmplOption: \"itemTemplate\",\n render: \"itemRender\",\n component: \"itemComponent\",\n keyFn: \"itemKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(TreeView.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return TreeView;\n}(component_1.Component));\nexports.TreeView = TreeView;\nTreeView.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n animationEnabled: PropTypes.bool,\n createChildren: PropTypes.func,\n dataStructure: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"plain\",\n \"tree\"\n ])\n ]),\n disabled: PropTypes.bool,\n disabledExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n displayExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n elementAttr: PropTypes.object,\n expandAllEnabled: PropTypes.bool,\n expandedExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n expandEvent: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"dblclick\",\n \"click\"\n ])\n ]),\n expandNodesRecursive: PropTypes.bool,\n focusStateEnabled: PropTypes.bool,\n hasItemsExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n itemHoldTimeout: PropTypes.number,\n items: PropTypes.array,\n itemsExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n keyExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n noDataText: PropTypes.string,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onItemClick: PropTypes.func,\n onItemCollapsed: PropTypes.func,\n onItemContextMenu: PropTypes.func,\n onItemExpanded: PropTypes.func,\n onItemHold: PropTypes.func,\n onItemRendered: PropTypes.func,\n onItemSelectionChanged: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onSelectAllValueChanged: PropTypes.func,\n onSelectionChanged: PropTypes.func,\n parentIdExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n rtlEnabled: PropTypes.bool,\n scrollDirection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"both\",\n \"horizontal\",\n \"vertical\"\n ])\n ]),\n searchEditorOptions: PropTypes.object,\n searchEnabled: PropTypes.bool,\n searchExpr: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.func,\n PropTypes.string\n ]),\n searchMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"contains\",\n \"startswith\",\n \"equals\"\n ])\n ]),\n searchTimeout: PropTypes.number,\n searchValue: PropTypes.string,\n selectAllText: PropTypes.string,\n selectByClick: PropTypes.bool,\n selectedExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n selectionMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"single\",\n \"multiple\"\n ])\n ]),\n selectNodesRecursive: PropTypes.bool,\n showCheckBoxesMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"none\",\n \"normal\",\n \"selectAll\"\n ])\n ]),\n tabIndex: PropTypes.number,\n useNativeScrolling: PropTypes.bool,\n virtualModeEnabled: PropTypes.bool,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Button = /** @class */ (function (_super) {\n __extends(Button, _super);\n function Button() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Button.OptionName = \"buttons\";\n Button.IsCollectionItem = true;\n Button.ExpectedChildren = {\n options: { optionName: \"options\", isCollectionItem: false }\n };\n return Button;\n}(nested_option_1.default));\nexports.Button = Button;\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nvar Options = /** @class */ (function (_super) {\n __extends(Options, _super);\n function Options() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Options.OptionName = \"options\";\n Options.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Options;\n}(nested_option_1.default));\nexports.Options = Options;\nvar SearchEditorOptions = /** @class */ (function (_super) {\n __extends(SearchEditorOptions, _super);\n function SearchEditorOptions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SearchEditorOptions.OptionName = \"searchEditorOptions\";\n SearchEditorOptions.DefaultsProps = {\n defaultValue: \"value\"\n };\n SearchEditorOptions.ExpectedChildren = {\n button: { optionName: \"buttons\", isCollectionItem: true }\n };\n return SearchEditorOptions;\n}(nested_option_1.default));\nexports.SearchEditorOptions = SearchEditorOptions;\nexports.default = TreeView;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ValidationGroup = void 0;\nvar validation_group_1 = require(\"devextreme/ui/validation_group\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar ValidationGroup = /** @class */ (function (_super) {\n __extends(ValidationGroup, _super);\n function ValidationGroup() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = validation_group_1.default;\n _this.independentEvents = [\"onDisposing\", \"onInitialized\"];\n return _this;\n }\n Object.defineProperty(ValidationGroup.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return ValidationGroup;\n}(component_1.Component));\nexports.ValidationGroup = ValidationGroup;\nValidationGroup.propTypes = {\n elementAttr: PropTypes.object,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nexports.default = ValidationGroup;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Item = exports.ValidationSummary = void 0;\nvar validation_summary_1 = require(\"devextreme/ui/validation_summary\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar ValidationSummary = /** @class */ (function (_super) {\n __extends(ValidationSummary, _super);\n function ValidationSummary() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = validation_summary_1.default;\n _this.subscribableOptions = [\"items\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onInitialized\", \"onItemClick\"];\n _this._defaults = {\n defaultItems: \"items\"\n };\n _this._expectedChildren = {\n item: { optionName: \"items\", isCollectionItem: true }\n };\n _this._templateProps = [{\n tmplOption: \"itemTemplate\",\n render: \"itemRender\",\n component: \"itemComponent\",\n keyFn: \"itemKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(ValidationSummary.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return ValidationSummary;\n}(component_1.Component));\nexports.ValidationSummary = ValidationSummary;\nValidationSummary.propTypes = {\n elementAttr: PropTypes.object,\n hoverStateEnabled: PropTypes.bool,\n items: PropTypes.array,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onItemClick: PropTypes.func,\n onOptionChanged: PropTypes.func,\n validationGroup: PropTypes.string\n};\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nexports.default = ValidationSummary;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ValidationRule = exports.StringLengthRule = exports.RequiredRule = exports.RangeRule = exports.PatternRule = exports.NumericRule = exports.EmailRule = exports.CustomRule = exports.CompareRule = exports.AsyncRule = exports.Adapter = exports.Validator = void 0;\nvar validator_1 = require(\"devextreme/ui/validator\");\nvar PropTypes = require(\"prop-types\");\nvar extension_component_1 = require(\"./core/extension-component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Validator = /** @class */ (function (_super) {\n __extends(Validator, _super);\n function Validator() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = validator_1.default;\n _this.independentEvents = [\"onDisposing\", \"onInitialized\", \"onValidated\"];\n _this._expectedChildren = {\n adapter: { optionName: \"adapter\", isCollectionItem: false },\n AsyncRule: { optionName: \"validationRules\", isCollectionItem: true },\n CompareRule: { optionName: \"validationRules\", isCollectionItem: true },\n CustomRule: { optionName: \"validationRules\", isCollectionItem: true },\n EmailRule: { optionName: \"validationRules\", isCollectionItem: true },\n NumericRule: { optionName: \"validationRules\", isCollectionItem: true },\n PatternRule: { optionName: \"validationRules\", isCollectionItem: true },\n RangeRule: { optionName: \"validationRules\", isCollectionItem: true },\n RequiredRule: { optionName: \"validationRules\", isCollectionItem: true },\n StringLengthRule: { optionName: \"validationRules\", isCollectionItem: true },\n validationRule: { optionName: \"validationRules\", isCollectionItem: true }\n };\n return _this;\n }\n Object.defineProperty(Validator.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Validator;\n}(extension_component_1.ExtensionComponent));\nexports.Validator = Validator;\nValidator.propTypes = {\n adapter: PropTypes.object,\n elementAttr: PropTypes.object,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n name: PropTypes.string,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onValidated: PropTypes.func,\n validationGroup: PropTypes.string,\n validationRules: PropTypes.array,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Adapter = /** @class */ (function (_super) {\n __extends(Adapter, _super);\n function Adapter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Adapter.OptionName = \"adapter\";\n return Adapter;\n}(nested_option_1.default));\nexports.Adapter = Adapter;\nvar AsyncRule = /** @class */ (function (_super) {\n __extends(AsyncRule, _super);\n function AsyncRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AsyncRule.OptionName = \"validationRules\";\n AsyncRule.IsCollectionItem = true;\n AsyncRule.PredefinedProps = {\n type: \"async\"\n };\n return AsyncRule;\n}(nested_option_1.default));\nexports.AsyncRule = AsyncRule;\nvar CompareRule = /** @class */ (function (_super) {\n __extends(CompareRule, _super);\n function CompareRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CompareRule.OptionName = \"validationRules\";\n CompareRule.IsCollectionItem = true;\n CompareRule.PredefinedProps = {\n type: \"compare\"\n };\n return CompareRule;\n}(nested_option_1.default));\nexports.CompareRule = CompareRule;\nvar CustomRule = /** @class */ (function (_super) {\n __extends(CustomRule, _super);\n function CustomRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CustomRule.OptionName = \"validationRules\";\n CustomRule.IsCollectionItem = true;\n CustomRule.PredefinedProps = {\n type: \"custom\"\n };\n return CustomRule;\n}(nested_option_1.default));\nexports.CustomRule = CustomRule;\nvar EmailRule = /** @class */ (function (_super) {\n __extends(EmailRule, _super);\n function EmailRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n EmailRule.OptionName = \"validationRules\";\n EmailRule.IsCollectionItem = true;\n EmailRule.PredefinedProps = {\n type: \"email\"\n };\n return EmailRule;\n}(nested_option_1.default));\nexports.EmailRule = EmailRule;\nvar NumericRule = /** @class */ (function (_super) {\n __extends(NumericRule, _super);\n function NumericRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n NumericRule.OptionName = \"validationRules\";\n NumericRule.IsCollectionItem = true;\n NumericRule.PredefinedProps = {\n type: \"numeric\"\n };\n return NumericRule;\n}(nested_option_1.default));\nexports.NumericRule = NumericRule;\nvar PatternRule = /** @class */ (function (_super) {\n __extends(PatternRule, _super);\n function PatternRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PatternRule.OptionName = \"validationRules\";\n PatternRule.IsCollectionItem = true;\n PatternRule.PredefinedProps = {\n type: \"pattern\"\n };\n return PatternRule;\n}(nested_option_1.default));\nexports.PatternRule = PatternRule;\nvar RangeRule = /** @class */ (function (_super) {\n __extends(RangeRule, _super);\n function RangeRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RangeRule.OptionName = \"validationRules\";\n RangeRule.IsCollectionItem = true;\n RangeRule.PredefinedProps = {\n type: \"range\"\n };\n return RangeRule;\n}(nested_option_1.default));\nexports.RangeRule = RangeRule;\nvar RequiredRule = /** @class */ (function (_super) {\n __extends(RequiredRule, _super);\n function RequiredRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RequiredRule.OptionName = \"validationRules\";\n RequiredRule.IsCollectionItem = true;\n RequiredRule.PredefinedProps = {\n type: \"required\"\n };\n return RequiredRule;\n}(nested_option_1.default));\nexports.RequiredRule = RequiredRule;\nvar StringLengthRule = /** @class */ (function (_super) {\n __extends(StringLengthRule, _super);\n function StringLengthRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StringLengthRule.OptionName = \"validationRules\";\n StringLengthRule.IsCollectionItem = true;\n StringLengthRule.PredefinedProps = {\n type: \"stringLength\"\n };\n return StringLengthRule;\n}(nested_option_1.default));\nexports.StringLengthRule = StringLengthRule;\nvar ValidationRule = /** @class */ (function (_super) {\n __extends(ValidationRule, _super);\n function ValidationRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ValidationRule.OptionName = \"validationRules\";\n ValidationRule.IsCollectionItem = true;\n ValidationRule.PredefinedProps = {\n type: \"required\"\n };\n return ValidationRule;\n}(nested_option_1.default));\nexports.ValidationRule = ValidationRule;\nexports.default = Validator;\n","/*!\n * devextreme-react\n * Version: 22.2.14\n * Build date: Mon Oct 28 2024\n *\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.VectorMapTitleSubtitle = exports.VectorMapTitle = exports.TooltipBorder = exports.Tooltip = exports.Title = exports.Subtitle = exports.Source = exports.Size = exports.Shadow = exports.Projection = exports.Margin = exports.LoadingIndicator = exports.LegendTitleSubtitle = exports.LegendTitle = exports.Legend = exports.Layer = exports.Label = exports.Image = exports.Format = exports.Font = exports.Export = exports.ControlBar = exports.CommonAnnotationSettings = exports.Border = exports.Background = exports.AnnotationBorder = exports.Annotation = exports.VectorMap = void 0;\nvar vector_map_1 = require(\"devextreme/viz/vector_map\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar VectorMap = /** @class */ (function (_super) {\n __extends(VectorMap, _super);\n function VectorMap() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = vector_map_1.default;\n _this.subscribableOptions = [\"loadingIndicator\", \"loadingIndicator.show\"];\n _this.independentEvents = [\"onClick\", \"onDisposing\", \"onDrawn\", \"onExported\", \"onExporting\", \"onFileSaving\", \"onIncidentOccurred\", \"onInitialized\", \"onTooltipHidden\", \"onTooltipShown\"];\n _this._defaults = {\n defaultLoadingIndicator: \"loadingIndicator\"\n };\n _this._expectedChildren = {\n annotation: { optionName: \"annotations\", isCollectionItem: true },\n background: { optionName: \"background\", isCollectionItem: false },\n commonAnnotationSettings: { optionName: \"commonAnnotationSettings\", isCollectionItem: false },\n controlBar: { optionName: \"controlBar\", isCollectionItem: false },\n export: { optionName: \"export\", isCollectionItem: false },\n layer: { optionName: \"layers\", isCollectionItem: true },\n legend: { optionName: \"legends\", isCollectionItem: true },\n loadingIndicator: { optionName: \"loadingIndicator\", isCollectionItem: false },\n projection: { optionName: \"projection\", isCollectionItem: false },\n size: { optionName: \"size\", isCollectionItem: false },\n title: { optionName: \"title\", isCollectionItem: false },\n tooltip: { optionName: \"tooltip\", isCollectionItem: false },\n vectorMapTitle: { optionName: \"title\", isCollectionItem: false }\n };\n return _this;\n }\n Object.defineProperty(VectorMap.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return VectorMap;\n}(component_1.Component));\nexports.VectorMap = VectorMap;\nVectorMap.propTypes = {\n annotations: PropTypes.array,\n background: PropTypes.object,\n bounds: PropTypes.array,\n center: PropTypes.array,\n commonAnnotationSettings: PropTypes.object,\n controlBar: PropTypes.object,\n customizeAnnotation: PropTypes.func,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n export: PropTypes.object,\n layers: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object\n ]),\n legends: PropTypes.array,\n loadingIndicator: PropTypes.object,\n maxZoomFactor: PropTypes.number,\n onCenterChanged: PropTypes.func,\n onClick: PropTypes.func,\n onDisposing: PropTypes.func,\n onDrawn: PropTypes.func,\n onExported: PropTypes.func,\n onExporting: PropTypes.func,\n onFileSaving: PropTypes.func,\n onIncidentOccurred: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onSelectionChanged: PropTypes.func,\n onTooltipHidden: PropTypes.func,\n onTooltipShown: PropTypes.func,\n onZoomFactorChanged: PropTypes.func,\n panningEnabled: PropTypes.bool,\n pathModified: PropTypes.bool,\n projection: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"equirectangular\",\n \"lambert\",\n \"mercator\",\n \"miller\"\n ])\n ])\n ]),\n redrawOnResize: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n size: PropTypes.object,\n theme: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"generic.dark\",\n \"generic.light\",\n \"generic.contrast\",\n \"generic.carmine\",\n \"generic.darkmoon\",\n \"generic.darkviolet\",\n \"generic.greenmist\",\n \"generic.softblue\",\n \"material.blue.light\",\n \"material.lime.light\",\n \"material.orange.light\",\n \"material.purple.light\",\n \"material.teal.light\"\n ])\n ]),\n title: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string\n ]),\n tooltip: PropTypes.object,\n touchEnabled: PropTypes.bool,\n wheelEnabled: PropTypes.bool,\n zoomFactor: PropTypes.number,\n zoomingEnabled: PropTypes.bool\n};\nvar Annotation = /** @class */ (function (_super) {\n __extends(Annotation, _super);\n function Annotation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Annotation.OptionName = \"annotations\";\n Annotation.IsCollectionItem = true;\n Annotation.ExpectedChildren = {\n annotationBorder: { optionName: \"border\", isCollectionItem: false },\n border: { optionName: \"border\", isCollectionItem: false },\n font: { optionName: \"font\", isCollectionItem: false },\n image: { optionName: \"image\", isCollectionItem: false },\n shadow: { optionName: \"shadow\", isCollectionItem: false }\n };\n Annotation.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }, {\n tmplOption: \"tooltipTemplate\",\n render: \"tooltipRender\",\n component: \"tooltipComponent\",\n keyFn: \"tooltipKeyFn\"\n }];\n return Annotation;\n}(nested_option_1.default));\nexports.Annotation = Annotation;\nvar AnnotationBorder = /** @class */ (function (_super) {\n __extends(AnnotationBorder, _super);\n function AnnotationBorder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AnnotationBorder.OptionName = \"border\";\n return AnnotationBorder;\n}(nested_option_1.default));\nexports.AnnotationBorder = AnnotationBorder;\nvar Background = /** @class */ (function (_super) {\n __extends(Background, _super);\n function Background() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Background.OptionName = \"background\";\n return Background;\n}(nested_option_1.default));\nexports.Background = Background;\nvar Border = /** @class */ (function (_super) {\n __extends(Border, _super);\n function Border() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Border.OptionName = \"border\";\n return Border;\n}(nested_option_1.default));\nexports.Border = Border;\nvar CommonAnnotationSettings = /** @class */ (function (_super) {\n __extends(CommonAnnotationSettings, _super);\n function CommonAnnotationSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CommonAnnotationSettings.OptionName = \"commonAnnotationSettings\";\n CommonAnnotationSettings.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }, {\n tmplOption: \"tooltipTemplate\",\n render: \"tooltipRender\",\n component: \"tooltipComponent\",\n keyFn: \"tooltipKeyFn\"\n }];\n return CommonAnnotationSettings;\n}(nested_option_1.default));\nexports.CommonAnnotationSettings = CommonAnnotationSettings;\nvar ControlBar = /** @class */ (function (_super) {\n __extends(ControlBar, _super);\n function ControlBar() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ControlBar.OptionName = \"controlBar\";\n return ControlBar;\n}(nested_option_1.default));\nexports.ControlBar = ControlBar;\nvar Export = /** @class */ (function (_super) {\n __extends(Export, _super);\n function Export() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Export.OptionName = \"export\";\n return Export;\n}(nested_option_1.default));\nexports.Export = Export;\nvar Font = /** @class */ (function (_super) {\n __extends(Font, _super);\n function Font() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Font.OptionName = \"font\";\n return Font;\n}(nested_option_1.default));\nexports.Font = Font;\nvar Format = /** @class */ (function (_super) {\n __extends(Format, _super);\n function Format() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Format.OptionName = \"format\";\n return Format;\n}(nested_option_1.default));\nexports.Format = Format;\nvar Image = /** @class */ (function (_super) {\n __extends(Image, _super);\n function Image() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Image.OptionName = \"image\";\n return Image;\n}(nested_option_1.default));\nexports.Image = Image;\nvar Label = /** @class */ (function (_super) {\n __extends(Label, _super);\n function Label() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Label.OptionName = \"label\";\n Label.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false }\n };\n return Label;\n}(nested_option_1.default));\nexports.Label = Label;\nvar Layer = /** @class */ (function (_super) {\n __extends(Layer, _super);\n function Layer() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Layer.OptionName = \"layers\";\n Layer.IsCollectionItem = true;\n Layer.ExpectedChildren = {\n label: { optionName: \"label\", isCollectionItem: false }\n };\n return Layer;\n}(nested_option_1.default));\nexports.Layer = Layer;\nvar Legend = /** @class */ (function (_super) {\n __extends(Legend, _super);\n function Legend() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Legend.OptionName = \"legends\";\n Legend.IsCollectionItem = true;\n Legend.ExpectedChildren = {\n annotationBorder: { optionName: \"border\", isCollectionItem: false },\n border: { optionName: \"border\", isCollectionItem: false },\n font: { optionName: \"font\", isCollectionItem: false },\n legendTitle: { optionName: \"title\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n source: { optionName: \"source\", isCollectionItem: false },\n title: { optionName: \"title\", isCollectionItem: false }\n };\n Legend.TemplateProps = [{\n tmplOption: \"markerTemplate\",\n render: \"markerRender\",\n component: \"markerComponent\",\n keyFn: \"markerKeyFn\"\n }];\n return Legend;\n}(nested_option_1.default));\nexports.Legend = Legend;\nvar LegendTitle = /** @class */ (function (_super) {\n __extends(LegendTitle, _super);\n function LegendTitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LegendTitle.OptionName = \"title\";\n LegendTitle.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false },\n legendTitleSubtitle: { optionName: \"subtitle\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n subtitle: { optionName: \"subtitle\", isCollectionItem: false }\n };\n return LegendTitle;\n}(nested_option_1.default));\nexports.LegendTitle = LegendTitle;\nvar LegendTitleSubtitle = /** @class */ (function (_super) {\n __extends(LegendTitleSubtitle, _super);\n function LegendTitleSubtitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LegendTitleSubtitle.OptionName = \"subtitle\";\n LegendTitleSubtitle.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false }\n };\n return LegendTitleSubtitle;\n}(nested_option_1.default));\nexports.LegendTitleSubtitle = LegendTitleSubtitle;\nvar LoadingIndicator = /** @class */ (function (_super) {\n __extends(LoadingIndicator, _super);\n function LoadingIndicator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LoadingIndicator.OptionName = \"loadingIndicator\";\n LoadingIndicator.DefaultsProps = {\n defaultShow: \"show\"\n };\n LoadingIndicator.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false }\n };\n return LoadingIndicator;\n}(nested_option_1.default));\nexports.LoadingIndicator = LoadingIndicator;\nvar Margin = /** @class */ (function (_super) {\n __extends(Margin, _super);\n function Margin() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Margin.OptionName = \"margin\";\n return Margin;\n}(nested_option_1.default));\nexports.Margin = Margin;\nvar Projection = /** @class */ (function (_super) {\n __extends(Projection, _super);\n function Projection() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Projection.OptionName = \"projection\";\n return Projection;\n}(nested_option_1.default));\nexports.Projection = Projection;\nvar Shadow = /** @class */ (function (_super) {\n __extends(Shadow, _super);\n function Shadow() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Shadow.OptionName = \"shadow\";\n return Shadow;\n}(nested_option_1.default));\nexports.Shadow = Shadow;\nvar Size = /** @class */ (function (_super) {\n __extends(Size, _super);\n function Size() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Size.OptionName = \"size\";\n return Size;\n}(nested_option_1.default));\nexports.Size = Size;\nvar Source = /** @class */ (function (_super) {\n __extends(Source, _super);\n function Source() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Source.OptionName = \"source\";\n return Source;\n}(nested_option_1.default));\nexports.Source = Source;\nvar Subtitle = /** @class */ (function (_super) {\n __extends(Subtitle, _super);\n function Subtitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Subtitle.OptionName = \"subtitle\";\n return Subtitle;\n}(nested_option_1.default));\nexports.Subtitle = Subtitle;\nvar Title = /** @class */ (function (_super) {\n __extends(Title, _super);\n function Title() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Title.OptionName = \"title\";\n return Title;\n}(nested_option_1.default));\nexports.Title = Title;\nvar Tooltip = /** @class */ (function (_super) {\n __extends(Tooltip, _super);\n function Tooltip() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Tooltip.OptionName = \"tooltip\";\n Tooltip.ExpectedChildren = {\n border: { optionName: \"border\", isCollectionItem: false },\n font: { optionName: \"font\", isCollectionItem: false },\n format: { optionName: \"format\", isCollectionItem: false },\n shadow: { optionName: \"shadow\", isCollectionItem: false },\n tooltipBorder: { optionName: \"border\", isCollectionItem: false }\n };\n Tooltip.TemplateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }];\n return Tooltip;\n}(nested_option_1.default));\nexports.Tooltip = Tooltip;\nvar TooltipBorder = /** @class */ (function (_super) {\n __extends(TooltipBorder, _super);\n function TooltipBorder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TooltipBorder.OptionName = \"border\";\n return TooltipBorder;\n}(nested_option_1.default));\nexports.TooltipBorder = TooltipBorder;\nvar VectorMapTitle = /** @class */ (function (_super) {\n __extends(VectorMapTitle, _super);\n function VectorMapTitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n VectorMapTitle.OptionName = \"title\";\n VectorMapTitle.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false },\n margin: { optionName: \"margin\", isCollectionItem: false },\n subtitle: { optionName: \"subtitle\", isCollectionItem: false },\n vectorMapTitleSubtitle: { optionName: \"subtitle\", isCollectionItem: false }\n };\n return VectorMapTitle;\n}(nested_option_1.default));\nexports.VectorMapTitle = VectorMapTitle;\nvar VectorMapTitleSubtitle = /** @class */ (function (_super) {\n __extends(VectorMapTitleSubtitle, _super);\n function VectorMapTitleSubtitle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n VectorMapTitleSubtitle.OptionName = \"subtitle\";\n VectorMapTitleSubtitle.ExpectedChildren = {\n font: { optionName: \"font\", isCollectionItem: false }\n };\n return VectorMapTitleSubtitle;\n}(nested_option_1.default));\nexports.VectorMapTitleSubtitle = VectorMapTitleSubtitle;\nexports.default = VectorMap;\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/m_core.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport modules from \"../../grids/grid_core/m_modules\";\r\nimport gridCoreUtils from \"../../grids/grid_core/m_utils\";\r\nexport default _extends(_extends(_extends({}, modules), gridCoreUtils), {\r\n modules: []\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/column_headers.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n columnHeadersModule\r\n} from \"../../../grids/grid_core/column_headers/m_column_headers\";\r\nimport gridCore from \"../m_core\";\r\nexport var ColumnHeadersView = columnHeadersModule.views.columnHeadersView;\r\ngridCore.registerModule(\"columnHeaders\", columnHeadersModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/m_columns_controller.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n columnsControllerModule\r\n} from \"../../grids/grid_core/columns_controller/m_columns_controller\";\r\nimport gridCore from \"./m_core\";\r\ngridCore.registerModule(\"columns\", {\r\n defaultOptions: () => extend(true, {}, columnsControllerModule.defaultOptions(), {\r\n commonColumnSettings: {\r\n allowExporting: true\r\n }\r\n }),\r\n controllers: columnsControllerModule.controllers\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/m_data_source_adapter.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport DataSourceAdapter from \"../../grids/grid_core/data_source_adapter/m_data_source_adapter\";\r\nvar dataSourceAdapterType = DataSourceAdapter;\r\nexport default {\r\n extend(extender) {\r\n dataSourceAdapterType = dataSourceAdapterType.inherit(extender)\r\n },\r\n create: component => new dataSourceAdapterType(component)\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/m_data_controller.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar _a, _b;\r\nimport errors from \"../../../ui/widget/ui.errors\";\r\nimport {\r\n dataControllerModule\r\n} from \"../../grids/grid_core/data_controller/m_data_controller\";\r\nimport gridCore from \"./m_core\";\r\nimport dataSourceAdapterProvider from \"./m_data_source_adapter\";\r\nexport var DataController = null === (_b = null === (_a = dataControllerModule.controllers) || void 0 === _a ? void 0 : _a.data) || void 0 === _b ? void 0 : _b.inherit({\r\n _getDataSourceAdapter: () => dataSourceAdapterProvider,\r\n _getSpecificDataSourceOption() {\r\n var dataSource = this.option(\"dataSource\");\r\n if (dataSource && !Array.isArray(dataSource) && this.option(\"keyExpr\")) {\r\n errors.log(\"W1011\")\r\n }\r\n return this.callBase()\r\n }\r\n});\r\ngridCore.registerModule(\"data\", {\r\n defaultOptions: dataControllerModule.defaultOptions,\r\n controllers: {\r\n data: DataController\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/sorting.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n sortingModule\r\n} from \"../../../grids/grid_core/sorting/m_sorting\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"sorting\", sortingModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/rows.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n rowsModule\r\n} from \"../../../grids/grid_core/views/m_rows_view\";\r\nimport gridCore from \"../m_core\";\r\nexport var RowsView = rowsModule.views.rowsView;\r\ngridCore.registerModule(\"rows\", rowsModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/context_menu.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n contextMenuModule\r\n} from \"../../../grids/grid_core/context_menu/m_context_menu\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"contextMenu\", contextMenuModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/error_handling.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n errorHandlingModule\r\n} from \"../../../grids/grid_core/error_handling/m_error_handling\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"errorHandling\", errorHandlingModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/grid_view.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n gridViewModule\r\n} from \"../../../grids/grid_core/views/m_grid_view\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"gridView\", gridViewModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/header_panel.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n headerPanelModule\r\n} from \"../../../grids/grid_core/header_panel/m_header_panel\";\r\nimport gridCore from \"../m_core\";\r\nexport var HeaderPanel = headerPanelModule.views.headerPanel;\r\ngridCore.registerModule(\"headerPanel\", headerPanelModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/m_widget_base.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport \"./module_not_extended/column_headers\";\r\nimport \"./m_columns_controller\";\r\nimport \"./m_data_controller\";\r\nimport \"./module_not_extended/sorting\";\r\nimport \"./module_not_extended/rows\";\r\nimport \"./module_not_extended/context_menu\";\r\nimport \"./module_not_extended/error_handling\";\r\nimport \"./module_not_extended/grid_view\";\r\nimport \"./module_not_extended/header_panel\";\r\nimport registerComponent from \"../../../core/component_registrator\";\r\nimport $ from \"../../../core/renderer\";\r\nimport browser from \"../../../core/utils/browser\";\r\nimport {\r\n deferRender,\r\n noop\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n logger\r\n} from \"../../../core/utils/console\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n isFunction,\r\n isString\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n isMaterial\r\n} from \"../../../ui/themes\";\r\nimport Widget from \"../../../ui/widget/ui.widget\";\r\nimport gridCore from \"./m_core\";\r\nvar DATAGRID_ROW_SELECTOR = \".dx-row\";\r\nvar DATAGRID_DEPRECATED_TEMPLATE_WARNING = \"Specifying grid templates with the jQuery selector name is now deprecated. Use the DOM Node or the jQuery object that references this selector instead.\";\r\ngridCore.registerModulesOrder([\"stateStoring\", \"columns\", \"selection\", \"editorFactory\", \"columnChooser\", \"grouping\", \"editing\", \"editingRowBased\", \"editingFormBased\", \"editingCellBased\", \"masterDetail\", \"validating\", \"adaptivity\", \"data\", \"virtualScrolling\", \"columnHeaders\", \"filterRow\", \"headerPanel\", \"headerFilter\", \"sorting\", \"search\", \"rows\", \"pager\", \"columnsResizingReordering\", \"contextMenu\", \"keyboardNavigation\", \"errorHandling\", \"summary\", \"columnFixing\", \"export\", \"gridView\"]);\r\nvar DataGrid = Widget.inherit({\r\n _activeStateUnit: DATAGRID_ROW_SELECTOR,\r\n _getDefaultOptions() {\r\n var result = this.callBase();\r\n each(gridCore.modules, (function() {\r\n if (isFunction(this.defaultOptions)) {\r\n extend(true, result, this.defaultOptions())\r\n }\r\n }));\r\n return result\r\n },\r\n _setDeprecatedOptions() {\r\n this.callBase();\r\n extend(this._deprecatedOptions, {\r\n useKeyboard: {\r\n since: \"19.2\",\r\n alias: \"keyboardNavigation.enabled\"\r\n },\r\n rowTemplate: {\r\n since: \"21.2\",\r\n message: 'Use the \"dataRowTemplate\" option instead'\r\n }\r\n })\r\n },\r\n _defaultOptionsRules() {\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"ios\"\r\n },\r\n options: {\r\n showRowLines: true\r\n }\r\n }, {\r\n device: () => isMaterial(),\r\n options: {\r\n showRowLines: true,\r\n showColumnLines: false,\r\n headerFilter: {\r\n height: 315\r\n },\r\n editing: {\r\n useIcons: true\r\n },\r\n selection: {\r\n showCheckBoxesMode: \"always\"\r\n }\r\n }\r\n }, {\r\n device: () => browser.webkit,\r\n options: {\r\n loadingTimeout: 30,\r\n loadPanel: {\r\n animation: {\r\n show: {\r\n easing: \"cubic-bezier(1, 0, 1, 0)\",\r\n duration: 500,\r\n from: {\r\n opacity: 0\r\n },\r\n to: {\r\n opacity: 1\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }, {\r\n device: device => \"desktop\" !== device.deviceType,\r\n options: {\r\n grouping: {\r\n expandMode: \"rowClick\"\r\n }\r\n }\r\n }])\r\n },\r\n _init() {\r\n this.callBase();\r\n gridCore.processModules(this, gridCore);\r\n gridCore.callModuleItemsMethod(this, \"init\")\r\n },\r\n _clean: noop,\r\n _optionChanged(args) {\r\n gridCore.callModuleItemsMethod(this, \"optionChanged\", [args]);\r\n if (!args.handled) {\r\n this.callBase(args)\r\n }\r\n },\r\n _dimensionChanged() {\r\n this.updateDimensions(true)\r\n },\r\n _visibilityChanged(visible) {\r\n if (visible) {\r\n this.updateDimensions()\r\n }\r\n },\r\n _initMarkup() {\r\n this.callBase.apply(this, arguments);\r\n this.getView(\"gridView\").render(this.$element())\r\n },\r\n _renderContentImpl() {\r\n this.getView(\"gridView\").update()\r\n },\r\n _renderContent() {\r\n var that = this;\r\n deferRender(() => {\r\n that._renderContentImpl()\r\n })\r\n },\r\n _getTemplate(templateName) {\r\n var template = templateName;\r\n if (isString(template) && template.startsWith(\"#\")) {\r\n template = $(templateName);\r\n logger.warn(DATAGRID_DEPRECATED_TEMPLATE_WARNING)\r\n }\r\n return this.callBase(template)\r\n },\r\n _dispose() {\r\n this.callBase();\r\n gridCore.callModuleItemsMethod(this, \"dispose\")\r\n },\r\n isReady() {\r\n return this.getController(\"data\").isReady()\r\n },\r\n beginUpdate() {\r\n this.callBase();\r\n gridCore.callModuleItemsMethod(this, \"beginUpdate\")\r\n },\r\n endUpdate() {\r\n gridCore.callModuleItemsMethod(this, \"endUpdate\");\r\n this.callBase()\r\n },\r\n getController(name) {\r\n return this._controllers[name]\r\n },\r\n getView(name) {\r\n return this._views[name]\r\n },\r\n focus(element) {\r\n this.getController(\"keyboardNavigation\").focus(element)\r\n }\r\n});\r\nDataGrid.registerModule = gridCore.registerModule.bind(gridCore);\r\nregisterComponent(\"dxDataGrid\", DataGrid);\r\nexport default DataGrid;\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/state_storing.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n stateStoringModule\r\n} from \"../../../grids/grid_core/state_storing/m_state_storing\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"stateStoring\", stateStoringModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/selection.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n selectionModule\r\n} from \"../../../grids/grid_core/selection/m_selection\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"selection\", selectionModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/column_chooser.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n columnChooserModule\r\n} from \"../../../grids/grid_core/column_chooser/m_column_chooser\";\r\nimport gridCore from \"../m_core\";\r\nexport var ColumnChooserController = columnChooserModule.controllers.columnChooser;\r\nexport var ColumnChooserView = columnChooserModule.views.columnChooserView;\r\ngridCore.registerModule(\"columnChooser\", columnChooserModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/m_utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n normalizeSortingInfo\r\n} from \"../../../data/utils\";\r\nimport gridCoreUtils from \"../../grids/grid_core/m_utils\";\r\nexport function createGroupFilter(path, storeLoadOptions) {\r\n var groups = normalizeSortingInfo(storeLoadOptions.group);\r\n var filter = [];\r\n for (var i = 0; i < path.length; i++) {\r\n filter.push([groups[i].selector, \"=\", path[i]])\r\n }\r\n if (storeLoadOptions.filter) {\r\n filter.push(storeLoadOptions.filter)\r\n }\r\n return gridCoreUtils.combineFilters(filter)\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/grouping/m_grouping_core.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../../../core/class\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n normalizeSortingInfo\r\n} from \"../../../../data/utils\";\r\nimport gridCore from \"../m_core\";\r\nexport function createOffsetFilter(path, storeLoadOptions, lastLevelOnly) {\r\n var groups = normalizeSortingInfo(storeLoadOptions.group);\r\n var filter = [];\r\n for (var i = lastLevelOnly ? path.length - 1 : 0; i < path.length; i++) {\r\n var filterElement = [];\r\n for (var j = 0; j <= i; j++) {\r\n var {\r\n selector: selector\r\n } = groups[j];\r\n if (i === j && (null === path[j] || false === path[j] || true === path[j])) {\r\n if (false === path[j]) {\r\n filterElement.push([selector, \"=\", groups[j].desc ? true : null])\r\n } else if (path[j] ? !groups[j].desc : groups[j].desc) {\r\n filterElement.push([selector, \"<>\", path[j]])\r\n } else {\r\n filterElement.push([selector, \"<>\", null]);\r\n filterElement.push([selector, \"=\", null])\r\n }\r\n } else {\r\n var currentFilter = [selector, i === j ? groups[j].desc ? \">\" : \"<\" : \"=\", path[j]];\r\n if (\"<\" === currentFilter[1]) {\r\n filterElement.push([currentFilter, \"or\", [selector, \"=\", null]])\r\n } else {\r\n filterElement.push(currentFilter)\r\n }\r\n }\r\n }\r\n filter.push(gridCore.combineFilters(filterElement))\r\n }\r\n filter = gridCore.combineFilters(filter, \"or\");\r\n return gridCore.combineFilters([filter, storeLoadOptions.filter])\r\n}\r\nexport var GroupingHelper = Class.inherit(function() {\r\n var findGroupInfoByKey = function(groupsInfo, key) {\r\n var {\r\n hash: hash\r\n } = groupsInfo;\r\n return hash && hash[JSON.stringify(key)]\r\n };\r\n var getGroupInfoIndexByOffset = function(groupsInfo, offset) {\r\n var leftIndex = 0;\r\n var rightIndex = groupsInfo.length - 1;\r\n if (!groupsInfo.length) {\r\n return 0\r\n }\r\n do {\r\n var middleIndex = rightIndex + leftIndex >> 1;\r\n if (groupsInfo[middleIndex].offset > offset) {\r\n rightIndex = middleIndex\r\n } else {\r\n leftIndex = middleIndex\r\n }\r\n } while (rightIndex - leftIndex > 1);\r\n var index;\r\n for (index = leftIndex; index <= rightIndex; index++) {\r\n if (groupsInfo[index].offset > offset) {\r\n break\r\n }\r\n }\r\n return index\r\n };\r\n return {\r\n ctor(dataSourceAdapter) {\r\n this._dataSource = dataSourceAdapter;\r\n this.reset()\r\n },\r\n reset() {\r\n this._groupsInfo = [];\r\n this._totalCountCorrection = 0\r\n },\r\n totalCountCorrection() {\r\n return this._totalCountCorrection\r\n },\r\n updateTotalItemsCount(totalCountCorrection) {\r\n this._totalCountCorrection = totalCountCorrection || 0\r\n },\r\n isGroupItemCountable(item) {\r\n return !this._isVirtualPaging() || !item.isContinuation\r\n },\r\n _isVirtualPaging() {\r\n var scrollingMode = this._dataSource.option(\"scrolling.mode\");\r\n return \"virtual\" === scrollingMode || \"infinite\" === scrollingMode\r\n },\r\n itemsCount() {\r\n var dataSourceAdapter = this._dataSource;\r\n var dataSource = dataSourceAdapter._dataSource;\r\n var groupCount = gridCore.normalizeSortingInfo(dataSource.group() || []).length;\r\n var itemsCount = function calculateItemsCount(that, items, groupsCount) {\r\n var result = 0;\r\n if (items) {\r\n if (!groupsCount) {\r\n result = items.length\r\n } else {\r\n for (var i = 0; i < items.length; i++) {\r\n if (that.isGroupItemCountable(items[i])) {\r\n result++\r\n }\r\n result += calculateItemsCount(that, items[i].items, groupsCount - 1)\r\n }\r\n }\r\n }\r\n return result\r\n }(this, dataSource.items(), groupCount);\r\n return itemsCount\r\n },\r\n foreachGroups(callback, childrenAtFirst, foreachCollapsedGroups, updateOffsets, updateParentOffsets) {\r\n var that = this;\r\n return function foreachGroupsCore(groupsInfo, callback, childrenAtFirst, parents) {\r\n var callbackResults = [];\r\n\r\n function executeCallback(callback, data, parents, callbackResults) {\r\n var callbackResult = data && callback(data, parents);\r\n callbackResult && callbackResults.push(callbackResult);\r\n return callbackResult\r\n }\r\n for (var i = 0; i < groupsInfo.length; i++) {\r\n parents.push(groupsInfo[i].data);\r\n if (!childrenAtFirst && false === executeCallback(callback, groupsInfo[i].data, parents, callbackResults)) {\r\n return false\r\n }\r\n if (!groupsInfo[i].data || groupsInfo[i].data.isExpanded || foreachCollapsedGroups) {\r\n var {\r\n children: children\r\n } = groupsInfo[i];\r\n var callbackResult = children.length && foreachGroupsCore(children, callback, childrenAtFirst, parents);\r\n callbackResult && callbackResults.push(callbackResult);\r\n if (false === callbackResult) {\r\n return false\r\n }\r\n }\r\n if (childrenAtFirst && false === executeCallback(callback, groupsInfo[i].data, parents, callbackResults)) {\r\n return false\r\n }\r\n if (!groupsInfo[i].data || groupsInfo[i].data.offset !== groupsInfo[i].offset) {\r\n updateOffsets = true\r\n }\r\n parents.pop()\r\n }\r\n var currentParents = updateParentOffsets && parents.slice(0);\r\n return updateOffsets && when.apply($, callbackResults).always(() => {\r\n that._updateGroupInfoOffsets(groupsInfo, currentParents)\r\n })\r\n }(that._groupsInfo, callback, childrenAtFirst, [])\r\n },\r\n _updateGroupInfoOffsets(groupsInfo, parents) {\r\n parents = parents || [];\r\n for (var index = 0; index < groupsInfo.length; index++) {\r\n var groupInfo = groupsInfo[index];\r\n if (groupInfo.data && groupInfo.data.offset !== groupInfo.offset) {\r\n groupInfo.offset = groupInfo.data.offset;\r\n for (var parentIndex = 0; parentIndex < parents.length; parentIndex++) {\r\n parents[parentIndex].offset = groupInfo.offset\r\n }\r\n }\r\n }\r\n groupsInfo.sort((a, b) => a.offset - b.offset)\r\n },\r\n findGroupInfo(path) {\r\n var groupInfo;\r\n var groupsInfo = this._groupsInfo;\r\n for (var pathIndex = 0; groupsInfo && pathIndex < path.length; pathIndex++) {\r\n groupInfo = findGroupInfoByKey(groupsInfo, path[pathIndex]);\r\n groupsInfo = groupInfo && groupInfo.children\r\n }\r\n return groupInfo && groupInfo.data\r\n },\r\n addGroupInfo(groupInfoData) {\r\n var groupInfo;\r\n var {\r\n path: path\r\n } = groupInfoData;\r\n var groupsInfo = this._groupsInfo;\r\n for (var pathIndex = 0; pathIndex < path.length; pathIndex++) {\r\n groupInfo = findGroupInfoByKey(groupsInfo, path[pathIndex]);\r\n if (!groupInfo) {\r\n groupInfo = {\r\n key: path[pathIndex],\r\n offset: groupInfoData.offset,\r\n data: {\r\n offset: groupInfoData.offset,\r\n isExpanded: true,\r\n path: path.slice(0, pathIndex + 1)\r\n },\r\n children: []\r\n };\r\n var index = getGroupInfoIndexByOffset(groupsInfo, groupInfoData.offset);\r\n groupsInfo.splice(index, 0, groupInfo);\r\n groupsInfo.hash = groupsInfo.hash || {};\r\n groupsInfo.hash[JSON.stringify(groupInfo.key)] = groupInfo\r\n }\r\n if (pathIndex === path.length - 1) {\r\n groupInfo.data = groupInfoData;\r\n if (groupInfo.offset !== groupInfoData.offset) {\r\n this._updateGroupInfoOffsets(groupsInfo)\r\n }\r\n }\r\n groupsInfo = groupInfo.children\r\n }\r\n },\r\n allowCollapseAll: () => true,\r\n refresh(options) {\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n var groups = normalizeSortingInfo(storeLoadOptions.group || []);\r\n var oldGroups = \"_group\" in this ? normalizeSortingInfo(this._group || []) : groups;\r\n var groupsCount = Math.min(oldGroups.length, groups.length);\r\n this._group = storeLoadOptions.group;\r\n for (var groupIndex = 0; groupIndex < groupsCount; groupIndex++) {\r\n if (oldGroups[groupIndex].selector !== groups[groupIndex].selector) {\r\n groupsCount = groupIndex;\r\n break\r\n }\r\n }\r\n if (!groupsCount) {\r\n this.reset()\r\n } else {\r\n ! function cleanGroupsInfo(groupsInfo, groupIndex, groupsCount) {\r\n for (var i = 0; i < groupsInfo.length; i++) {\r\n if (groupIndex + 1 >= groupsCount) {\r\n groupsInfo[i].children = []\r\n } else {\r\n cleanGroupsInfo(groupsInfo[i].children, groupIndex + 1, groupsCount)\r\n }\r\n }\r\n }(this._groupsInfo, 0, groupsCount)\r\n }\r\n },\r\n handleDataLoading() {},\r\n handleDataLoaded(options, callBase) {\r\n callBase(options)\r\n },\r\n handleDataLoadedCore(options, callBase) {\r\n callBase(options)\r\n }\r\n }\r\n}());\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/grouping/m_grouping_collapsed.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n errors as dataErrors\r\n} from \"../../../../data/errors\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\nimport dataGridCore from \"../m_core\";\r\nimport {\r\n createGroupFilter\r\n} from \"../m_utils\";\r\nimport {\r\n createOffsetFilter,\r\n GroupingHelper as GroupingHelperCore\r\n} from \"./m_grouping_core\";\r\n\r\nfunction getContinuationGroupCount(groupOffset, pageSize, groupSize, groupIndex) {\r\n groupIndex = groupIndex || 0;\r\n if (pageSize > 1 && groupSize > 0) {\r\n var pageOffset = groupOffset - Math.floor(groupOffset / pageSize) * pageSize || pageSize;\r\n pageOffset += groupSize - groupIndex - 2;\r\n if (pageOffset < 0) {\r\n pageOffset += pageSize\r\n }\r\n return Math.floor(pageOffset / (pageSize - groupIndex - 1))\r\n }\r\n return 0\r\n}\r\nexport var GroupingHelper = GroupingHelperCore.inherit(function() {\r\n var foreachExpandedGroups = function(that, callback, updateGroups) {\r\n return that.foreachGroups((groupInfo, parents) => {\r\n if (groupInfo.isExpanded) {\r\n return callback(groupInfo, parents)\r\n }\r\n }, true, false, updateGroups, updateGroups)\r\n };\r\n var processGroupItems = function processGroupItems(that, items, groupsCount, expandedInfo, path, isCustomLoading, isLastGroupExpanded) {\r\n var isExpanded;\r\n expandedInfo.items = expandedInfo.items || [];\r\n expandedInfo.paths = expandedInfo.paths || [];\r\n expandedInfo.count = expandedInfo.count || 0;\r\n expandedInfo.lastCount = expandedInfo.lastCount || 0;\r\n if (!groupsCount) {\r\n return\r\n }\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n if (void 0 !== item.items) {\r\n path.push(item.key);\r\n if (isCustomLoading) {\r\n isExpanded = true\r\n } else {\r\n var groupInfo = that.findGroupInfo(path);\r\n isExpanded = groupInfo && groupInfo.isExpanded\r\n }\r\n if (!isExpanded) {\r\n item.collapsedItems = item.items;\r\n item.items = null\r\n } else if (item.items) {\r\n processGroupItems(that, item.items, groupsCount - 1, expandedInfo, path, isCustomLoading, isLastGroupExpanded)\r\n } else if (1 === groupsCount && item.count && (!isCustomLoading || isLastGroupExpanded)) {\r\n expandedInfo.items.push(item);\r\n expandedInfo.paths.push(path.slice(0));\r\n expandedInfo.count += expandedInfo.lastCount;\r\n expandedInfo.lastCount = item.count\r\n }\r\n path.pop()\r\n }\r\n }\r\n };\r\n var updateGroupInfoItem = function(that, item, isLastGroupLevel, path, offset) {\r\n var groupInfo = that.findGroupInfo(path);\r\n var count;\r\n if (!groupInfo) {\r\n if (isLastGroupLevel) {\r\n count = item.count > 0 ? item.count : item.items.length\r\n }\r\n that.addGroupInfo({\r\n isExpanded: that._isGroupExpanded(path.length - 1),\r\n path: path.slice(0),\r\n offset: offset,\r\n count: count || 0\r\n })\r\n } else {\r\n if (isLastGroupLevel) {\r\n groupInfo.count = item.count > 0 ? item.count : item.items && item.items.length || 0\r\n } else {\r\n item.count = groupInfo.count || item.count\r\n }\r\n groupInfo.offset = offset\r\n }\r\n };\r\n var updateGroupInfos = function updateGroupInfos(that, options, items, loadedGroupCount, groupIndex, path, parentIndex) {\r\n var groupCount = options.group ? options.group.length : 0;\r\n var isLastGroupLevel = groupCount === loadedGroupCount;\r\n var remotePaging = options.remoteOperations.paging;\r\n var offset = 0;\r\n var totalCount = 0;\r\n var count;\r\n groupIndex = groupIndex || 0;\r\n path = path || [];\r\n if (remotePaging && !parentIndex) {\r\n offset = 0 === groupIndex ? options.skip || 0 : options.skips[groupIndex - 1] || 0\r\n }\r\n if (groupIndex >= loadedGroupCount) {\r\n return items.length\r\n }\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n if (item) {\r\n path.push(item.key);\r\n if (!item.count && !item.items || void 0 === item.items) {\r\n return -1\r\n }\r\n updateGroupInfoItem(that, item, isLastGroupLevel, path, offset + i);\r\n count = item.items ? updateGroupInfos(that, options, item.items, loadedGroupCount, groupIndex + 1, path, i) : item.count || -1;\r\n if (count < 0) {\r\n return -1\r\n }\r\n totalCount += count;\r\n path.pop()\r\n }\r\n }\r\n return totalCount\r\n };\r\n var isGroupExpanded = function(groups, groupIndex) {\r\n return groups && groups.length && groups[groupIndex] && !!groups[groupIndex].isExpanded\r\n };\r\n var getTotalOffset = function(groupInfos, pageSize, offset) {\r\n var groupSize;\r\n var totalOffset = offset;\r\n for (var groupIndex = 0; groupIndex < groupInfos.length; groupIndex++) {\r\n groupSize = groupInfos[groupIndex].offset + 1;\r\n if (groupIndex > 0) {\r\n groupSize += groupInfos[groupIndex - 1].childrenTotalCount;\r\n if (pageSize) {\r\n groupSize += getContinuationGroupCount(totalOffset, pageSize, groupSize, groupIndex - 1) * groupIndex\r\n }\r\n }\r\n totalOffset += groupSize\r\n }\r\n return totalOffset\r\n };\r\n\r\n function applyContinuationToGroupItem(options, expandedInfo, groupLevel, expandedItemIndex) {\r\n var item = expandedInfo.items[expandedItemIndex];\r\n var skip = options.skips && options.skips[groupLevel];\r\n var take = options.takes && options.takes[groupLevel];\r\n var isLastExpandedItem = expandedItemIndex === expandedInfo.items.length - 1;\r\n var isFirstExpandedItem = 0 === expandedItemIndex;\r\n var lastExpandedItemSkip = isFirstExpandedItem && skip || 0;\r\n var isItemsTruncatedByTake = item.count > take + lastExpandedItemSkip;\r\n if (isFirstExpandedItem && void 0 !== skip) {\r\n item.isContinuation = true\r\n }\r\n if (isLastExpandedItem && void 0 !== take && isItemsTruncatedByTake) {\r\n item.isContinuationOnNextPage = true\r\n }\r\n }\r\n\r\n function isDataDeferred(data) {\r\n return !Array.isArray(data)\r\n }\r\n\r\n function makeDataDeferred(options) {\r\n if (!isDataDeferred(options.data)) {\r\n options.data = new Deferred\r\n }\r\n }\r\n\r\n function loadGroupItems(that, options, loadedGroupCount, expandedInfo, groupLevel, data) {\r\n if (!options.isCustomLoading) {\r\n expandedInfo = {};\r\n processGroupItems(that, data, loadedGroupCount, expandedInfo, []);\r\n ! function(options, expandedInfo, currentGroupCount) {\r\n var currentGroupIndex = currentGroupCount - 1;\r\n var groupCount = options.group ? options.group.length : 0;\r\n expandedInfo.skip = options.skips && options.skips[currentGroupIndex];\r\n if (options.takes && void 0 !== options.takes[currentGroupIndex]) {\r\n if (groupCount === currentGroupCount) {\r\n expandedInfo.take = expandedInfo.count ? expandedInfo.count - (expandedInfo.skip || 0) : 0\r\n } else {\r\n expandedInfo.take = 0\r\n }\r\n expandedInfo.take += options.takes[currentGroupIndex]\r\n }\r\n }(options, expandedInfo, loadedGroupCount)\r\n }\r\n var groupCount = options.group ? options.group.length : 0;\r\n if (expandedInfo.paths.length && groupCount - loadedGroupCount > 0) {\r\n makeDataDeferred(options);\r\n ! function(that, options, expandedInfo, loadedGroupCount, groupLevel, data) {\r\n var groups = options.group || [];\r\n var currentGroup = groups[groupLevel + 1];\r\n var deferreds = [];\r\n each(expandedInfo.paths, expandedItemIndex => {\r\n var loadOptions = {\r\n requireTotalCount: false,\r\n requireGroupCount: true,\r\n group: [currentGroup],\r\n groupSummary: options.storeLoadOptions.groupSummary,\r\n filter: createGroupFilter(expandedInfo.paths[expandedItemIndex], {\r\n filter: options.storeLoadOptions.filter,\r\n group: groups\r\n }),\r\n select: options.storeLoadOptions.select\r\n };\r\n if (0 === expandedItemIndex) {\r\n loadOptions.skip = expandedInfo.skip || 0\r\n }\r\n if (expandedItemIndex === expandedInfo.paths.length - 1) {\r\n loadOptions.take = expandedInfo.take\r\n }\r\n var loadResult = 0 === loadOptions.take ? [] : that._dataSource.loadFromStore(loadOptions);\r\n when(loadResult).done(data => {\r\n var item = expandedInfo.items[expandedItemIndex];\r\n applyContinuationToGroupItem(options, expandedInfo, groupLevel, expandedItemIndex);\r\n item.items = data\r\n });\r\n deferreds.push(loadResult)\r\n });\r\n when.apply(null, deferreds).done(() => {\r\n updateGroupInfos(that, options, data, loadedGroupCount + 1);\r\n loadGroupItems(that, options, loadedGroupCount + 1, expandedInfo, groupLevel + 1, data)\r\n })\r\n }(that, options, expandedInfo, loadedGroupCount, groupLevel, data)\r\n } else if (expandedInfo.paths.length && options.storeLoadOptions.group) {\r\n makeDataDeferred(options);\r\n ! function(that, options, expandedInfo, data) {\r\n var expandedFilters = [];\r\n var groups = options.group || [];\r\n each(expandedInfo.paths, (_, expandedPath) => {\r\n expandedFilters.push(createGroupFilter(expandedPath, {\r\n group: options.isCustomLoading ? options.storeLoadOptions.group : groups\r\n }))\r\n });\r\n var {\r\n filter: filter\r\n } = options.storeLoadOptions;\r\n if (!options.storeLoadOptions.isLoadingAll) {\r\n filter = dataGridCore.combineFilters([filter, dataGridCore.combineFilters(expandedFilters, \"or\")])\r\n }\r\n var loadOptions = extend({}, options.storeLoadOptions, {\r\n requireTotalCount: false,\r\n requireGroupCount: false,\r\n group: null,\r\n sort: groups.concat(dataGridCore.normalizeSortingInfo(options.storeLoadOptions.sort || [])),\r\n filter: filter\r\n });\r\n var isPagingLocal = that._dataSource.isLastLevelGroupItemsPagingLocal();\r\n if (!isPagingLocal) {\r\n loadOptions.skip = expandedInfo.skip;\r\n loadOptions.take = expandedInfo.take\r\n }\r\n when(0 === expandedInfo.take ? [] : that._dataSource.loadFromStore(loadOptions)).done(items => {\r\n if (isPagingLocal) {\r\n items = that._dataSource.sortLastLevelGroupItems(items, groups, expandedInfo.paths);\r\n items = expandedInfo.skip ? items.slice(expandedInfo.skip) : items;\r\n items = expandedInfo.take ? items.slice(0, expandedInfo.take) : items\r\n }\r\n each(expandedInfo.items, (index, item) => {\r\n var itemCount = item.count - (0 === index && expandedInfo.skip || 0);\r\n var expandedItems = items.splice(0, itemCount);\r\n applyContinuationToGroupItem(options, expandedInfo, groups.length - 1, index);\r\n item.items = expandedItems\r\n });\r\n options.data.resolve(data)\r\n }).fail(options.data.reject)\r\n }(that, options, expandedInfo, data)\r\n } else if (isDataDeferred(options.data)) {\r\n options.data.resolve(data)\r\n }\r\n }\r\n var loadGroupTotalCount = function(dataSource, options) {\r\n var d = new Deferred;\r\n var isGrouping = !!(options.group && options.group.length);\r\n var loadOptions = extend({\r\n skip: 0,\r\n take: 1,\r\n requireGroupCount: isGrouping,\r\n requireTotalCount: !isGrouping\r\n }, options, {\r\n group: isGrouping ? options.group : null\r\n });\r\n dataSource.load(loadOptions).done((data, extra) => {\r\n var count = extra && (isGrouping ? extra.groupCount : extra.totalCount);\r\n if (!isFinite(count)) {\r\n d.reject(dataErrors.Error(isGrouping ? \"E4022\" : \"E4021\"));\r\n return\r\n }\r\n d.resolve(count)\r\n }).fail(d.reject.bind(d));\r\n return d\r\n };\r\n return {\r\n updateTotalItemsCount(options) {\r\n var totalItemsCount = 0;\r\n var totalCount = options.extra && options.extra.totalCount || 0;\r\n var groupCount = options.extra && options.extra.groupCount || 0;\r\n var pageSize = this._dataSource.pageSize();\r\n var isVirtualPaging = this._isVirtualPaging();\r\n foreachExpandedGroups(this, groupInfo => {\r\n groupInfo.childrenTotalCount = 0\r\n });\r\n foreachExpandedGroups(this, (groupInfo, parents) => {\r\n var totalOffset = getTotalOffset(parents, isVirtualPaging ? 0 : pageSize, totalItemsCount);\r\n var count = groupInfo.count + groupInfo.childrenTotalCount;\r\n if (!isVirtualPaging) {\r\n count += getContinuationGroupCount(totalOffset, pageSize, count, parents.length - 1)\r\n }\r\n if (parents[parents.length - 2]) {\r\n parents[parents.length - 2].childrenTotalCount += count\r\n } else {\r\n totalItemsCount += count\r\n }\r\n });\r\n this.callBase(totalItemsCount - totalCount + groupCount)\r\n },\r\n _isGroupExpanded(groupIndex) {\r\n var groups = this._dataSource.group();\r\n return isGroupExpanded(groups, groupIndex)\r\n },\r\n _updatePagingOptions(options, callback) {\r\n var isVirtualPaging = this._isVirtualPaging();\r\n var pageSize = this._dataSource.pageSize();\r\n var skips = [];\r\n var takes = [];\r\n var skipChildrenTotalCount = 0;\r\n var childrenTotalCount = 0;\r\n if (options.take) {\r\n foreachExpandedGroups(this, groupInfo => {\r\n groupInfo.childrenTotalCount = 0;\r\n groupInfo.skipChildrenTotalCount = 0\r\n });\r\n foreachExpandedGroups(this, (groupInfo, parents) => {\r\n var take;\r\n var takeCorrection = 0;\r\n var parentTakeCorrection = 0;\r\n var totalOffset = getTotalOffset(parents, isVirtualPaging ? 0 : pageSize, childrenTotalCount);\r\n var continuationGroupCount = 0;\r\n var skipContinuationGroupCount = 0;\r\n var groupInfoCount = groupInfo.count + groupInfo.childrenTotalCount;\r\n var childrenGroupInfoCount = groupInfoCount;\r\n callback && callback(groupInfo, totalOffset);\r\n var skip = options.skip - totalOffset;\r\n if (totalOffset <= options.skip + options.take && groupInfoCount) {\r\n take = options.take;\r\n if (!isVirtualPaging) {\r\n continuationGroupCount = getContinuationGroupCount(totalOffset, pageSize, groupInfoCount, parents.length - 1);\r\n groupInfoCount += continuationGroupCount * parents.length;\r\n childrenGroupInfoCount += continuationGroupCount;\r\n if (pageSize && skip >= 0) {\r\n takeCorrection = parents.length;\r\n parentTakeCorrection = parents.length - 1;\r\n skipContinuationGroupCount = Math.floor(skip / pageSize)\r\n }\r\n }\r\n if (skip >= 0) {\r\n if (totalOffset + groupInfoCount > options.skip) {\r\n skips.unshift(skip - skipContinuationGroupCount * takeCorrection - groupInfo.skipChildrenTotalCount)\r\n }\r\n if (totalOffset + groupInfoCount >= options.skip + take) {\r\n takes.unshift(take - takeCorrection - groupInfo.childrenTotalCount + groupInfo.skipChildrenTotalCount)\r\n }\r\n } else if (totalOffset + groupInfoCount >= options.skip + take) {\r\n takes.unshift(take + skip - groupInfo.childrenTotalCount)\r\n }\r\n }\r\n if (totalOffset <= options.skip) {\r\n if (parents[parents.length - 2]) {\r\n parents[parents.length - 2].skipChildrenTotalCount += Math.min(childrenGroupInfoCount, skip + 1 - skipContinuationGroupCount * parentTakeCorrection)\r\n } else {\r\n skipChildrenTotalCount += Math.min(childrenGroupInfoCount, skip + 1)\r\n }\r\n }\r\n if (totalOffset <= options.skip + take) {\r\n groupInfoCount = Math.min(childrenGroupInfoCount, skip + take - (skipContinuationGroupCount + 1) * parentTakeCorrection);\r\n if (parents[parents.length - 2]) {\r\n parents[parents.length - 2].childrenTotalCount += groupInfoCount\r\n } else {\r\n childrenTotalCount += groupInfoCount\r\n }\r\n }\r\n });\r\n options.skip -= skipChildrenTotalCount;\r\n options.take -= childrenTotalCount - skipChildrenTotalCount\r\n }\r\n options.skips = skips;\r\n options.takes = takes\r\n },\r\n changeRowExpand(path) {\r\n var groupInfo = this.findGroupInfo(path);\r\n var dataSource = this._dataSource;\r\n var remoteGroupPaging = dataSource.remoteOperations().groupPaging;\r\n var groups = dataGridCore.normalizeSortingInfo(dataSource.group());\r\n if (groupInfo) {\r\n groupInfo.isExpanded = !groupInfo.isExpanded;\r\n if (remoteGroupPaging && groupInfo.isExpanded && path.length < groups.length) {\r\n return loadGroupTotalCount(dataSource, {\r\n filter: createGroupFilter(path, {\r\n filter: dataSource.lastLoadOptions().filter,\r\n group: dataSource.group()\r\n }),\r\n group: [groups[path.length]],\r\n select: dataSource.select()\r\n }).done(groupCount => {\r\n groupInfo.count = groupCount\r\n })\r\n }\r\n return (new Deferred).resolve()\r\n }\r\n return (new Deferred).reject()\r\n },\r\n handleDataLoading(options) {\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n var groups = dataGridCore.normalizeSortingInfo(storeLoadOptions.group || options.loadOptions.group);\r\n if (options.isCustomLoading || !groups.length) {\r\n return\r\n }\r\n if (options.remoteOperations.grouping) {\r\n var remotePaging = this._dataSource.remoteOperations().paging;\r\n storeLoadOptions.group = dataGridCore.normalizeSortingInfo(storeLoadOptions.group);\r\n storeLoadOptions.group.forEach((group, index) => {\r\n var isLastGroup = index === storeLoadOptions.group.length - 1;\r\n group.isExpanded = !remotePaging || !isLastGroup\r\n })\r\n }\r\n options.group = options.group || groups;\r\n if (options.remoteOperations.paging) {\r\n options.skip = storeLoadOptions.skip;\r\n options.take = storeLoadOptions.take;\r\n storeLoadOptions.requireGroupCount = true;\r\n storeLoadOptions.group = groups.slice(0, 1);\r\n this._updatePagingOptions(options);\r\n storeLoadOptions.skip = options.skip;\r\n storeLoadOptions.take = options.take\r\n } else {\r\n options.skip = options.loadOptions.skip;\r\n options.take = options.loadOptions.take;\r\n this._updatePagingOptions(options)\r\n }\r\n },\r\n handleDataLoadedCore(options, callBase) {\r\n var loadedGroupCount = dataGridCore.normalizeSortingInfo(options.storeLoadOptions.group || options.loadOptions.group).length;\r\n var groupCount = options.group ? options.group.length : 0;\r\n var totalCount;\r\n var expandedInfo = {};\r\n if (options.isCustomLoading) {\r\n callBase(options);\r\n processGroupItems(this, options.data, loadedGroupCount, expandedInfo, [], options.isCustomLoading, options.storeLoadOptions.isLoadingAll)\r\n } else {\r\n if (!options.remoteOperations.paging) {\r\n this.foreachGroups(groupInfo => {\r\n groupInfo.count = 0\r\n })\r\n }\r\n totalCount = updateGroupInfos(this, options, options.data, loadedGroupCount);\r\n if (totalCount < 0) {\r\n options.data = (new Deferred).reject(errors.Error(\"E1037\"));\r\n return\r\n }\r\n if (!options.remoteOperations.paging) {\r\n if (loadedGroupCount && options.extra && options.loadOptions.requireTotalCount) {\r\n options.extra.totalCount = totalCount;\r\n options.extra.groupCount = options.data.length\r\n }\r\n }\r\n if (groupCount && options.storeLoadOptions.requireGroupCount && !isFinite(options.extra.groupCount)) {\r\n options.data = (new Deferred).reject(dataErrors.Error(\"E4022\"));\r\n return\r\n }\r\n this.updateTotalItemsCount(options);\r\n if (!options.remoteOperations.paging) {\r\n this._updatePagingOptions(options);\r\n options.lastLoadOptions.skips = options.skips;\r\n options.lastLoadOptions.takes = options.takes\r\n }\r\n callBase(options);\r\n if (!options.remoteOperations.paging) {\r\n this._processPaging(options, loadedGroupCount)\r\n }\r\n }\r\n loadGroupItems(this, options, loadedGroupCount, expandedInfo, 0, options.data)\r\n },\r\n _processSkips(items, skips, groupCount) {\r\n if (!groupCount) {\r\n return\r\n }\r\n var firstItem = items[0];\r\n var skip = skips[0];\r\n var children = firstItem && firstItem.items;\r\n if (void 0 !== skip) {\r\n firstItem.isContinuation = true;\r\n if (children) {\r\n firstItem.items = children.slice(skip);\r\n this._processSkips(firstItem.items, skips.slice(1), groupCount - 1)\r\n }\r\n }\r\n },\r\n _processTakes(items, skips, takes, groupCount, parents) {\r\n if (!groupCount || !items) {\r\n return\r\n }\r\n parents = parents || [];\r\n var lastItem = items[items.length - 1];\r\n var children = lastItem && lastItem.items;\r\n var take = takes[0];\r\n var skip = skips[0];\r\n if (lastItem) {\r\n var maxTakeCount = lastItem.count - (lastItem.isContinuation && skip || 0) || children.length;\r\n if (void 0 !== take && maxTakeCount > take) {\r\n lastItem.isContinuationOnNextPage = true;\r\n parents.forEach(parent => {\r\n parent.isContinuationOnNextPage = true\r\n });\r\n if (children) {\r\n children = children.slice(0, take);\r\n lastItem.items = children\r\n }\r\n }\r\n parents.push(lastItem);\r\n this._processTakes(children, skips.slice(1), takes.slice(1), groupCount - 1, parents)\r\n }\r\n },\r\n _processPaging(options, groupCount) {\r\n this._processSkips(options.data, options.skips, groupCount);\r\n this._processTakes(options.data, options.skips, options.takes, groupCount)\r\n },\r\n isLastLevelGroupItemsPagingLocal: () => false,\r\n sortLastLevelGroupItems: items => items,\r\n refresh(options, operationTypes) {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n var group = options.group || options.storeLoadOptions.group;\r\n var oldGroups = dataGridCore.normalizeSortingInfo(that._group);\r\n var isExpanded;\r\n var groupIndex;\r\n\r\n function handleGroup(groupInfo, parents) {\r\n if (parents.length === groupIndex + 1) {\r\n groupInfo.isExpanded = isExpanded\r\n }\r\n }\r\n for (groupIndex = 0; groupIndex < oldGroups.length; groupIndex++) {\r\n isExpanded = isGroupExpanded(group, groupIndex);\r\n if (isGroupExpanded(that._group, groupIndex) !== isExpanded) {\r\n that.foreachGroups(handleGroup)\r\n }\r\n }\r\n that.callBase.apply(this, arguments);\r\n if (group && options.remoteOperations.paging && operationTypes.reload) {\r\n return foreachExpandedGroups(that, groupInfo => {\r\n var groupCountQuery = loadGroupTotalCount(dataSource, {\r\n filter: createGroupFilter(groupInfo.path, {\r\n filter: storeLoadOptions.filter,\r\n group: group\r\n }),\r\n group: group.slice(groupInfo.path.length),\r\n select: storeLoadOptions.select\r\n });\r\n var groupOffsetQuery = loadGroupTotalCount(dataSource, {\r\n filter: createOffsetFilter(groupInfo.path, {\r\n filter: storeLoadOptions.filter,\r\n group: group\r\n }, true),\r\n group: group.slice(groupInfo.path.length - 1, groupInfo.path.length),\r\n select: storeLoadOptions.select\r\n });\r\n return when(groupOffsetQuery, groupCountQuery).done((offset, count) => {\r\n offset = parseInt(offset.length ? offset[0] : offset);\r\n count = parseInt(count.length ? count[0] : count);\r\n groupInfo.offset = offset;\r\n if (groupInfo.count !== count) {\r\n groupInfo.count = count;\r\n that.updateTotalItemsCount(options)\r\n }\r\n })\r\n }, true)\r\n }\r\n }\r\n }\r\n}());\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/grouping/m_grouping_expanded.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n toComparable\r\n} from \"../../../../core/utils/data\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport dataQuery from \"../../../../data/query\";\r\nimport storeHelper from \"../../../../data/store_helper\";\r\nimport {\r\n keysEqual\r\n} from \"../../../../data/utils\";\r\nimport dataGridCore from \"../m_core\";\r\nimport {\r\n createGroupFilter\r\n} from \"../m_utils\";\r\nimport {\r\n createOffsetFilter,\r\n GroupingHelper as GroupingHelperCore\r\n} from \"./m_grouping_core\";\r\nvar loadTotalCount = function(dataSource, options) {\r\n var d = new Deferred;\r\n var loadOptions = extend({\r\n skip: 0,\r\n take: 1,\r\n requireTotalCount: true\r\n }, options);\r\n dataSource.load(loadOptions).done((data, extra) => {\r\n d.resolve(extra && extra.totalCount)\r\n }).fail(d.reject.bind(d));\r\n return d\r\n};\r\nexport var GroupingHelper = GroupingHelperCore.inherit(function() {\r\n var foreachCollapsedGroups = function(that, callback, updateOffsets) {\r\n return that.foreachGroups(groupInfo => {\r\n if (!groupInfo.isExpanded) {\r\n return callback(groupInfo)\r\n }\r\n }, false, false, updateOffsets, true)\r\n };\r\n var correctSkipLoadOption = function(that, skip) {\r\n var skipCorrection = 0;\r\n var resultSkip = skip || 0;\r\n if (skip) {\r\n foreachCollapsedGroups(that, groupInfo => {\r\n if (groupInfo.offset - skipCorrection >= skip) {\r\n return false\r\n }\r\n skipCorrection += groupInfo.count - 1\r\n });\r\n resultSkip += skipCorrection\r\n }\r\n return resultSkip\r\n };\r\n var pathEquals = function(path1, path2) {\r\n if (path1.length !== path2.length) {\r\n return false\r\n }\r\n for (var i = 0; i < path1.length; i++) {\r\n if (!keysEqual(null, path1[i], path2[i])) {\r\n return false\r\n }\r\n }\r\n return true\r\n };\r\n var updateGroupOffsets = function updateGroupOffsets(that, items, path, offset, additionalGroupInfo) {\r\n if (!items) {\r\n return\r\n }\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n if (\"key\" in item && void 0 !== item.items) {\r\n path.push(item.key);\r\n if (additionalGroupInfo && pathEquals(additionalGroupInfo.path, path) && !item.isContinuation) {\r\n additionalGroupInfo.offset = offset\r\n }\r\n var groupInfo = that.findGroupInfo(path);\r\n if (groupInfo && !item.isContinuation) {\r\n groupInfo.offset = offset\r\n }\r\n if (groupInfo && !groupInfo.isExpanded) {\r\n offset += groupInfo.count\r\n } else {\r\n offset = updateGroupOffsets(that, item.items, path, offset, additionalGroupInfo)\r\n }\r\n path.pop()\r\n } else {\r\n offset++\r\n }\r\n }\r\n return offset\r\n };\r\n var getGroupCount = function getGroupCount(item, groupCount) {\r\n var count = item.count || item.items.length;\r\n if (!item.count && groupCount > 1) {\r\n count = 0;\r\n for (var i = 0; i < item.items.length; i++) {\r\n count += getGroupCount(item.items[i], groupCount - 1)\r\n }\r\n }\r\n return count\r\n };\r\n return {\r\n handleDataLoading(options) {\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n var collapsedGroups = [];\r\n var collapsedItemsCount = 0;\r\n var skipFirstItem = false;\r\n var take;\r\n var {\r\n group: group\r\n } = options.loadOptions;\r\n var skipCorrection = 0;\r\n ! function(storeLoadOptions, loadOptions) {\r\n if (loadOptions.group) {\r\n var groups = dataGridCore.normalizeSortingInfo(loadOptions.group);\r\n var sorts = dataGridCore.normalizeSortingInfo(storeLoadOptions.sort);\r\n storeLoadOptions.sort = storeHelper.arrangeSortingInfo(groups, sorts);\r\n delete loadOptions.group\r\n }\r\n }(storeLoadOptions, options.loadOptions);\r\n options.group = options.group || group;\r\n if (options.isCustomLoading) {\r\n return\r\n }\r\n var loadOptions = extend({}, storeLoadOptions);\r\n loadOptions.skip = correctSkipLoadOption(this, storeLoadOptions.skip);\r\n if (loadOptions.skip && loadOptions.take && group) {\r\n loadOptions.skip--;\r\n loadOptions.take++;\r\n skipFirstItem = true\r\n }\r\n if (loadOptions.take && group) {\r\n take = loadOptions.take;\r\n loadOptions.take++\r\n }\r\n foreachCollapsedGroups(this, groupInfo => {\r\n if (groupInfo.offset >= loadOptions.skip + loadOptions.take + skipCorrection) {\r\n return false\r\n }\r\n if (groupInfo.offset >= loadOptions.skip + skipCorrection && groupInfo.count) {\r\n skipCorrection += groupInfo.count - 1;\r\n collapsedGroups.push(groupInfo);\r\n collapsedItemsCount += groupInfo.count\r\n }\r\n });\r\n each(collapsedGroups, (function() {\r\n loadOptions.filter = function(path, storeLoadOptions, group) {\r\n var groups = dataGridCore.normalizeSortingInfo(group || storeLoadOptions.group);\r\n var filter = [];\r\n for (var i = 0; i < path.length; i++) {\r\n var filterElement = [];\r\n for (var j = 0; j <= i; j++) {\r\n filterElement.push([groups[j].selector, i === j ? \"<>\" : \"=\", path[j]])\r\n }\r\n filter.push(dataGridCore.combineFilters(filterElement))\r\n }\r\n filter = dataGridCore.combineFilters(filter, \"or\");\r\n return dataGridCore.combineFilters([filter, storeLoadOptions.filter])\r\n }(this.path, loadOptions, group)\r\n }));\r\n options.storeLoadOptions = loadOptions;\r\n options.collapsedGroups = collapsedGroups;\r\n options.collapsedItemsCount = collapsedItemsCount;\r\n options.skip = loadOptions.skip || 0;\r\n options.skipFirstItem = skipFirstItem;\r\n options.take = take\r\n },\r\n handleDataLoaded(options, callBase) {\r\n var {\r\n collapsedGroups: collapsedGroups\r\n } = options;\r\n var groups = dataGridCore.normalizeSortingInfo(options.group);\r\n var groupCount = groups.length;\r\n\r\n function appendCollapsedPath(data, path, groups, collapsedGroup, offset) {\r\n if (!data || !path.length || !groups.length) {\r\n return\r\n }\r\n var keyValue;\r\n var i;\r\n var pathValue = toComparable(path[0], true);\r\n for (i = 0; i < data.length; i++) {\r\n keyValue = toComparable(data[i].key, true);\r\n if (offset >= collapsedGroup.offset || pathValue === keyValue) {\r\n break\r\n } else {\r\n offset += getGroupCount(data[i], groups.length)\r\n }\r\n }\r\n if (!data.length || pathValue !== keyValue) {\r\n data.splice(i, 0, {\r\n key: path[0],\r\n items: [],\r\n count: 1 === path.length ? collapsedGroup.count : void 0\r\n })\r\n }\r\n appendCollapsedPath(data[i].items, path.slice(1), groups.slice(1), collapsedGroup, offset)\r\n }\r\n if (options.collapsedItemsCount && options.extra && options.extra.totalCount >= 0) {\r\n if (!options.extra._totalCountWasIncreasedByCollapsedItems) {\r\n options.extra.totalCount += options.collapsedItemsCount;\r\n options.extra._totalCountWasIncreasedByCollapsedItems = true\r\n }\r\n }\r\n callBase(options);\r\n if (groupCount) {\r\n var {\r\n data: data\r\n } = options;\r\n var query = dataQuery(data);\r\n storeHelper.multiLevelGroup(query, groups).enumerate().done(groupedData => {\r\n data = groupedData\r\n });\r\n if (collapsedGroups) {\r\n for (var pathIndex = 0; pathIndex < collapsedGroups.length; pathIndex++) {\r\n appendCollapsedPath(data, collapsedGroups[pathIndex].path, groups, collapsedGroups[pathIndex], options.skip)\r\n }\r\n }\r\n if (!options.isCustomLoading) {\r\n ! function processGroupItems(that, items, path, offset, skipFirstItem, take) {\r\n var removeLastItemsCount = 0;\r\n var needRemoveFirstItem = false;\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n if (void 0 !== item.items) {\r\n path.push(item.key);\r\n var groupInfo = that.findGroupInfo(path);\r\n if (groupInfo && !groupInfo.isExpanded) {\r\n item.collapsedItems = item.items;\r\n item.items = null;\r\n offset += groupInfo.count;\r\n take--;\r\n if (take < 0) {\r\n removeLastItemsCount++\r\n }\r\n if (skipFirstItem) {\r\n needRemoveFirstItem = true\r\n }\r\n } else if (item.items) {\r\n var offsetInfo = processGroupItems(that, item.items, path, offset, skipFirstItem, take);\r\n if (skipFirstItem) {\r\n if (offsetInfo.offset - offset > 1) {\r\n item.isContinuation = true\r\n } else {\r\n needRemoveFirstItem = true\r\n }\r\n }\r\n offset = offsetInfo.offset;\r\n take = offsetInfo.take;\r\n if (take < 0) {\r\n if (item.items.length) {\r\n item.isContinuationOnNextPage = true\r\n } else {\r\n removeLastItemsCount++\r\n }\r\n }\r\n }\r\n path.pop()\r\n } else {\r\n if (skipFirstItem) {\r\n needRemoveFirstItem = true\r\n }\r\n offset++;\r\n take--;\r\n if (take < 0) {\r\n removeLastItemsCount++\r\n }\r\n }\r\n skipFirstItem = false\r\n }\r\n if (needRemoveFirstItem) {\r\n items.splice(0, 1)\r\n }\r\n if (removeLastItemsCount) {\r\n items.splice(-removeLastItemsCount, removeLastItemsCount)\r\n }\r\n return {\r\n offset: offset,\r\n take: take\r\n }\r\n }(this, data, [], options.skip, options.skipFirstItem, options.take)\r\n }\r\n options.data = data\r\n }\r\n },\r\n isGroupItemCountable: item => null === item.items,\r\n updateTotalItemsCount() {\r\n var itemsCountCorrection = 0;\r\n foreachCollapsedGroups(this, groupInfo => {\r\n if (groupInfo.count) {\r\n itemsCountCorrection -= groupInfo.count - 1\r\n }\r\n });\r\n this.callBase(itemsCountCorrection)\r\n },\r\n changeRowExpand(path) {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var beginPageIndex = dataSource.beginPageIndex ? dataSource.beginPageIndex() : dataSource.pageIndex();\r\n var dataSourceItems = dataSource.items();\r\n var offset = correctSkipLoadOption(that, beginPageIndex * dataSource.pageSize());\r\n var groupInfo = that.findGroupInfo(path);\r\n var groupCountQuery;\r\n if (groupInfo && !groupInfo.isExpanded) {\r\n groupCountQuery = (new Deferred).resolve(groupInfo.count)\r\n } else {\r\n groupCountQuery = loadTotalCount(dataSource, {\r\n filter: createGroupFilter(path, {\r\n filter: dataSource.filter(),\r\n group: dataSource.group()\r\n })\r\n })\r\n }\r\n return when(groupCountQuery).done(count => {\r\n count = parseInt(count.length ? count[0] : count);\r\n if (groupInfo) {\r\n updateGroupOffsets(that, dataSourceItems, [], offset);\r\n groupInfo.isExpanded = !groupInfo.isExpanded;\r\n groupInfo.count = count\r\n } else {\r\n groupInfo = {\r\n offset: -1,\r\n count: count,\r\n path: path,\r\n isExpanded: false\r\n };\r\n updateGroupOffsets(that, dataSourceItems, [], offset, groupInfo);\r\n if (groupInfo.offset >= 0) {\r\n that.addGroupInfo(groupInfo)\r\n }\r\n }\r\n that.updateTotalItemsCount()\r\n }).fail((function() {\r\n dataSource._eventsStrategy.fireEvent(\"loadError\", arguments)\r\n }))\r\n },\r\n allowCollapseAll: () => false,\r\n refresh(options, operationTypes) {\r\n var that = this;\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n var dataSource = that._dataSource;\r\n this.callBase.apply(this, arguments);\r\n if (operationTypes.reload) {\r\n return foreachCollapsedGroups(that, groupInfo => {\r\n var groupCountQuery = loadTotalCount(dataSource, {\r\n filter: createGroupFilter(groupInfo.path, storeLoadOptions)\r\n });\r\n var groupOffsetQuery = loadTotalCount(dataSource, {\r\n filter: createOffsetFilter(groupInfo.path, storeLoadOptions)\r\n });\r\n return when(groupOffsetQuery, groupCountQuery).done((offset, count) => {\r\n offset = parseInt(offset.length ? offset[0] : offset);\r\n count = parseInt(count.length ? count[0] : count);\r\n groupInfo.offset = offset;\r\n if (groupInfo.count !== count) {\r\n groupInfo.count = count;\r\n that.updateTotalItemsCount()\r\n }\r\n })\r\n }, true)\r\n }\r\n }\r\n }\r\n}());\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/grouping/m_grouping.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../../../../core/devices\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getHeight\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport {\r\n restoreFocus,\r\n setTabIndex\r\n} from \"../../../../ui/shared/accessibility\";\r\nimport {\r\n registerKeyboardAction\r\n} from \"../../../grids/grid_core/m_accessibility\";\r\nimport gridCore from \"../m_core\";\r\nimport dataSourceAdapter from \"../m_data_source_adapter\";\r\nimport {\r\n GroupingHelper as CollapsedGroupingHelper\r\n} from \"./m_grouping_collapsed\";\r\nimport {\r\n GroupingHelper as ExpandedGroupingHelper\r\n} from \"./m_grouping_expanded\";\r\nvar DATAGRID_GROUP_PANEL_CLASS = \"dx-datagrid-group-panel\";\r\nvar DATAGRID_GROUP_PANEL_MESSAGE_CLASS = \"dx-group-panel-message\";\r\nvar DATAGRID_GROUP_PANEL_ITEM_CLASS = \"dx-group-panel-item\";\r\nvar DATAGRID_GROUP_PANEL_LABEL_CLASS = \"dx-toolbar-label\";\r\nvar DATAGRID_GROUP_PANEL_CONTAINER_CLASS = \"dx-toolbar-item\";\r\nvar DATAGRID_EXPAND_CLASS = \"dx-datagrid-expand\";\r\nvar DATAGRID_GROUP_ROW_CLASS = \"dx-group-row\";\r\nvar HEADER_FILTER_CLASS_SELECTOR = \".dx-header-filter\";\r\nvar GroupingDataSourceAdapterExtender = {\r\n init() {\r\n this.callBase.apply(this, arguments);\r\n this._initGroupingHelper()\r\n },\r\n _initGroupingHelper(options) {\r\n var grouping = this._grouping;\r\n var isAutoExpandAll = this.option(\"grouping.autoExpandAll\");\r\n var isFocusedRowEnabled = this.option(\"focusedRowEnabled\");\r\n var remoteOperations = options ? options.remoteOperations : this.remoteOperations();\r\n var isODataRemoteOperations = remoteOperations.filtering && remoteOperations.sorting && remoteOperations.paging;\r\n if (isODataRemoteOperations && !remoteOperations.grouping && (isAutoExpandAll || !isFocusedRowEnabled)) {\r\n if (!grouping || grouping instanceof CollapsedGroupingHelper) {\r\n this._grouping = new ExpandedGroupingHelper(this)\r\n }\r\n } else if (!grouping || grouping instanceof ExpandedGroupingHelper) {\r\n this._grouping = new CollapsedGroupingHelper(this)\r\n }\r\n },\r\n totalItemsCount() {\r\n var totalCount = this.callBase();\r\n return totalCount > 0 && this._dataSource.group() && this._dataSource.requireTotalCount() ? totalCount + this._grouping.totalCountCorrection() : totalCount\r\n },\r\n itemsCount() {\r\n return this._dataSource.group() ? this._grouping.itemsCount() || 0 : this.callBase.apply(this, arguments)\r\n },\r\n allowCollapseAll() {\r\n return this._grouping.allowCollapseAll()\r\n },\r\n isGroupItemCountable(item) {\r\n return this._grouping.isGroupItemCountable(item)\r\n },\r\n isRowExpanded(key) {\r\n var groupInfo = this._grouping.findGroupInfo(key);\r\n return groupInfo ? groupInfo.isExpanded : !this._grouping.allowCollapseAll()\r\n },\r\n collapseAll(groupIndex) {\r\n return this._collapseExpandAll(groupIndex, false)\r\n },\r\n expandAll(groupIndex) {\r\n return this._collapseExpandAll(groupIndex, true)\r\n },\r\n _collapseExpandAll(groupIndex, isExpand) {\r\n var dataSource = this._dataSource;\r\n var group = dataSource.group();\r\n var groups = gridCore.normalizeSortingInfo(group || []);\r\n if (groups.length) {\r\n for (var i = 0; i < groups.length; i++) {\r\n if (void 0 === groupIndex || groupIndex === i) {\r\n groups[i].isExpanded = isExpand\r\n } else if (group && group[i]) {\r\n groups[i].isExpanded = group[i].isExpanded\r\n }\r\n }\r\n dataSource.group(groups);\r\n this._grouping.foreachGroups((groupInfo, parents) => {\r\n if (void 0 === groupIndex || groupIndex === parents.length - 1) {\r\n groupInfo.isExpanded = isExpand\r\n }\r\n }, false, true);\r\n this.resetPagesCache()\r\n }\r\n return true\r\n },\r\n refresh() {\r\n this.callBase.apply(this, arguments);\r\n return this._grouping.refresh.apply(this._grouping, arguments)\r\n },\r\n changeRowExpand(path) {\r\n var dataSource = this._dataSource;\r\n if (dataSource.group()) {\r\n dataSource.beginLoading();\r\n if (this._lastLoadOptions) {\r\n this._lastLoadOptions.groupExpand = true\r\n }\r\n return this._changeRowExpandCore(path).always(() => {\r\n dataSource.endLoading()\r\n })\r\n }\r\n },\r\n _changeRowExpandCore(path) {\r\n return this._grouping.changeRowExpand(path)\r\n },\r\n _hasGroupLevelsExpandState(group, isExpanded) {\r\n if (group && Array.isArray(group)) {\r\n for (var i = 0; i < group.length; i++) {\r\n if (group[i].isExpanded === isExpanded) {\r\n return true\r\n }\r\n }\r\n }\r\n },\r\n _customizeRemoteOperations(options, operationTypes) {\r\n var {\r\n remoteOperations: remoteOperations\r\n } = options;\r\n if (options.storeLoadOptions.group) {\r\n if (remoteOperations.grouping && !options.isCustomLoading) {\r\n if (!remoteOperations.groupPaging || this._hasGroupLevelsExpandState(options.storeLoadOptions.group, true)) {\r\n remoteOperations.paging = false\r\n }\r\n }\r\n if (!remoteOperations.grouping && (!remoteOperations.sorting || !remoteOperations.filtering || options.isCustomLoading || this._hasGroupLevelsExpandState(options.storeLoadOptions.group, false))) {\r\n remoteOperations.paging = false\r\n }\r\n } else if (!options.isCustomLoading && remoteOperations.paging && operationTypes.grouping) {\r\n this.resetCache()\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _handleDataLoading(options) {\r\n this.callBase(options);\r\n this._initGroupingHelper(options);\r\n return this._grouping.handleDataLoading(options)\r\n },\r\n _handleDataLoaded(options) {\r\n return this._grouping.handleDataLoaded(options, this.callBase.bind(this))\r\n },\r\n _handleDataLoadedCore(options) {\r\n return this._grouping.handleDataLoadedCore(options, this.callBase.bind(this))\r\n }\r\n};\r\ndataSourceAdapter.extend(GroupingDataSourceAdapterExtender);\r\nvar GroupingDataControllerExtender = {\r\n init() {\r\n this.callBase();\r\n this.createAction(\"onRowExpanding\");\r\n this.createAction(\"onRowExpanded\");\r\n this.createAction(\"onRowCollapsing\");\r\n this.createAction(\"onRowCollapsed\")\r\n },\r\n _beforeProcessItems(items) {\r\n var groupColumns = this._columnsController.getGroupColumns();\r\n items = this.callBase(items);\r\n if (items.length && groupColumns.length) {\r\n items = this._processGroupItems(items, groupColumns.length)\r\n }\r\n return items\r\n },\r\n _processItem(item, options) {\r\n if (isDefined(item.groupIndex) && isString(item.rowType) && 0 === item.rowType.indexOf(\"group\")) {\r\n item = this._processGroupItem(item, options);\r\n options.dataIndex = 0\r\n } else {\r\n item = this.callBase.apply(this, arguments)\r\n }\r\n return item\r\n },\r\n _processGroupItem: item => item,\r\n _processGroupItems(items, groupsCount, options) {\r\n var groupedColumns = this._columnsController.getGroupColumns();\r\n var column = groupedColumns[groupedColumns.length - groupsCount];\r\n if (!options) {\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n options = {\r\n collectContinuationItems: \"virtual\" !== scrollingMode && \"infinite\" !== scrollingMode,\r\n resultItems: [],\r\n path: [],\r\n values: []\r\n }\r\n }\r\n var {\r\n resultItems: resultItems\r\n } = options;\r\n if (options.data) {\r\n if (options.collectContinuationItems || !options.data.isContinuation) {\r\n resultItems.push({\r\n rowType: \"group\",\r\n data: options.data,\r\n groupIndex: options.path.length - 1,\r\n isExpanded: !!options.data.items,\r\n key: options.path.slice(0),\r\n values: options.values.slice(0)\r\n })\r\n }\r\n }\r\n if (items) {\r\n if (0 === groupsCount) {\r\n resultItems.push.apply(resultItems, items)\r\n } else {\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n if (item && \"items\" in item) {\r\n options.data = item;\r\n options.path.push(item.key);\r\n options.values.push(column && column.deserializeValue && !column.calculateDisplayValue ? column.deserializeValue(item.key) : item.key);\r\n this._processGroupItems(item.items, groupsCount - 1, options);\r\n options.data = void 0;\r\n options.path.pop();\r\n options.values.pop()\r\n } else {\r\n resultItems.push(item)\r\n }\r\n }\r\n }\r\n }\r\n return resultItems\r\n },\r\n publicMethods() {\r\n return this.callBase().concat([\"collapseAll\", \"expandAll\", \"isRowExpanded\", \"expandRow\", \"collapseRow\"])\r\n },\r\n collapseAll(groupIndex) {\r\n var dataSource = this._dataSource;\r\n if (dataSource && dataSource.collapseAll(groupIndex)) {\r\n dataSource.pageIndex(0);\r\n dataSource.reload()\r\n }\r\n },\r\n expandAll(groupIndex) {\r\n var dataSource = this._dataSource;\r\n if (dataSource && dataSource.expandAll(groupIndex)) {\r\n dataSource.pageIndex(0);\r\n dataSource.reload()\r\n }\r\n },\r\n changeRowExpand(key) {\r\n var that = this;\r\n var expanded = that.isRowExpanded(key);\r\n var args = {\r\n key: key,\r\n expanded: expanded\r\n };\r\n that.executeAction(expanded ? \"onRowCollapsing\" : \"onRowExpanding\", args);\r\n if (!args.cancel) {\r\n return when(that._changeRowExpandCore(key)).done(() => {\r\n args.expanded = !expanded;\r\n that.executeAction(expanded ? \"onRowCollapsed\" : \"onRowExpanded\", args)\r\n })\r\n }\r\n return (new Deferred).resolve()\r\n },\r\n _changeRowExpandCore(key) {\r\n var that = this;\r\n var dataSource = this._dataSource;\r\n var d = new Deferred;\r\n if (!dataSource) {\r\n d.resolve()\r\n } else {\r\n when(dataSource.changeRowExpand(key)).done(() => {\r\n that.load().done(d.resolve).fail(d.reject)\r\n }).fail(d.reject)\r\n }\r\n return d\r\n },\r\n isRowExpanded(key) {\r\n var dataSource = this._dataSource;\r\n return dataSource && dataSource.isRowExpanded(key)\r\n },\r\n expandRow(key) {\r\n if (!this.isRowExpanded(key)) {\r\n return this.changeRowExpand(key)\r\n }\r\n return (new Deferred).resolve()\r\n },\r\n collapseRow(key) {\r\n if (this.isRowExpanded(key)) {\r\n return this.changeRowExpand(key)\r\n }\r\n return (new Deferred).resolve()\r\n },\r\n optionChanged(args) {\r\n if (\"grouping\" === args.name) {\r\n args.name = \"dataSource\"\r\n }\r\n this.callBase(args)\r\n }\r\n};\r\nvar onGroupingMenuItemClick = function(column, params) {\r\n var columnsController = this._columnsController;\r\n switch (params.itemData.value) {\r\n case \"group\":\r\n var groups = columnsController._dataSource.group() || [];\r\n columnsController.columnOption(column.dataField, \"groupIndex\", groups.length);\r\n break;\r\n case \"ungroup\":\r\n columnsController.columnOption(column.dataField, \"groupIndex\", -1);\r\n break;\r\n case \"ungroupAll\":\r\n this.component.clearGrouping()\r\n }\r\n};\r\nexport var GroupingHeaderPanelExtender = {\r\n _getToolbarItems() {\r\n var items = this.callBase();\r\n return this._appendGroupingItem(items)\r\n },\r\n _appendGroupingItem(items) {\r\n if (this._isGroupPanelVisible()) {\r\n var isRendered = false;\r\n var toolbarItem = {\r\n template: () => {\r\n var $groupPanel = $(\"
    \").addClass(DATAGRID_GROUP_PANEL_CLASS);\r\n this._updateGroupPanelContent($groupPanel);\r\n registerKeyboardAction(\"groupPanel\", this, $groupPanel, void 0, this._handleActionKeyDown.bind(this));\r\n return $groupPanel\r\n },\r\n name: \"groupPanel\",\r\n onItemRendered: () => {\r\n isRendered && this.renderCompleted.fire();\r\n isRendered = true\r\n },\r\n location: \"before\",\r\n locateInMenu: \"never\",\r\n sortIndex: 1\r\n };\r\n items.push(toolbarItem);\r\n this.updateToolbarDimensions()\r\n }\r\n return items\r\n },\r\n _handleActionKeyDown(args) {\r\n var {\r\n event: event\r\n } = args;\r\n var $target = $(event.target);\r\n var groupColumnIndex = $target.closest(\".\".concat(DATAGRID_GROUP_PANEL_ITEM_CLASS)).index();\r\n var column = this._columnsController.getGroupColumns()[groupColumnIndex];\r\n var columnIndex = column && column.index;\r\n if ($target.is(HEADER_FILTER_CLASS_SELECTOR)) {\r\n this.getController(\"headerFilter\").showHeaderFilterMenu(columnIndex, true)\r\n } else {\r\n this._processGroupItemAction(columnIndex)\r\n }\r\n event.preventDefault()\r\n },\r\n _isGroupPanelVisible() {\r\n var groupPanelOptions = this.option(\"groupPanel\");\r\n var isVisible;\r\n if (groupPanelOptions) {\r\n isVisible = groupPanelOptions.visible;\r\n if (\"auto\" === isVisible) {\r\n isVisible = \"desktop\" === devices.current().deviceType\r\n }\r\n }\r\n return isVisible\r\n },\r\n _renderGroupPanelItems($groupPanel, groupColumns) {\r\n var that = this;\r\n $groupPanel.empty();\r\n each(groupColumns, (index, groupColumn) => {\r\n that._createGroupPanelItem($groupPanel, groupColumn)\r\n });\r\n restoreFocus(this)\r\n },\r\n _createGroupPanelItem($rootElement, groupColumn) {\r\n var $groupPanelItem = $(\"
    \").addClass(groupColumn.cssClass).addClass(DATAGRID_GROUP_PANEL_ITEM_CLASS).data(\"columnData\", groupColumn).appendTo($rootElement).text(groupColumn.caption);\r\n setTabIndex(this, $groupPanelItem);\r\n return $groupPanelItem\r\n },\r\n _columnOptionChanged(e) {\r\n if (!this._requireReady && !gridCore.checkChanges(e.optionNames, [\"width\", \"visibleWidth\"])) {\r\n var $toolbarElement = this.element();\r\n var $groupPanel = $toolbarElement && $toolbarElement.find(\".\".concat(DATAGRID_GROUP_PANEL_CLASS));\r\n if ($groupPanel && $groupPanel.length) {\r\n this._updateGroupPanelContent($groupPanel);\r\n this.updateToolbarDimensions();\r\n this.renderCompleted.fire()\r\n }\r\n }\r\n this.callBase()\r\n },\r\n _updateGroupPanelContent($groupPanel) {\r\n var groupColumns = this.getController(\"columns\").getGroupColumns();\r\n var groupPanelOptions = this.option(\"groupPanel\");\r\n this._renderGroupPanelItems($groupPanel, groupColumns);\r\n if (groupPanelOptions.allowColumnDragging && !groupColumns.length) {\r\n $(\"
    \").addClass(DATAGRID_GROUP_PANEL_MESSAGE_CLASS).text(groupPanelOptions.emptyPanelText).appendTo($groupPanel);\r\n $groupPanel.closest(\".\".concat(DATAGRID_GROUP_PANEL_CONTAINER_CLASS)).addClass(DATAGRID_GROUP_PANEL_LABEL_CLASS);\r\n $groupPanel.closest(\".\".concat(DATAGRID_GROUP_PANEL_LABEL_CLASS)).css(\"maxWidth\", \"none\")\r\n }\r\n },\r\n allowDragging(column) {\r\n var groupPanelOptions = this.option(\"groupPanel\");\r\n return this._isGroupPanelVisible() && groupPanelOptions.allowColumnDragging && column && column.allowGrouping\r\n },\r\n getColumnElements() {\r\n var $element = this.element();\r\n return $element && $element.find(\".\".concat(DATAGRID_GROUP_PANEL_ITEM_CLASS))\r\n },\r\n getColumns() {\r\n return this.getController(\"columns\").getGroupColumns()\r\n },\r\n getBoundingRect() {\r\n var $element = this.element();\r\n if ($element && $element.find(\".\".concat(DATAGRID_GROUP_PANEL_CLASS)).length) {\r\n var offset = $element.offset();\r\n return {\r\n top: offset.top,\r\n bottom: offset.top + getHeight($element)\r\n }\r\n }\r\n return null\r\n },\r\n getName: () => \"group\",\r\n getContextMenuItems(options) {\r\n var contextMenuEnabled = this.option(\"grouping.contextMenuEnabled\");\r\n var $groupedColumnElement = $(options.targetElement).closest(\".\".concat(DATAGRID_GROUP_PANEL_ITEM_CLASS));\r\n var items;\r\n if ($groupedColumnElement.length) {\r\n options.column = $groupedColumnElement.data(\"columnData\")\r\n }\r\n if (contextMenuEnabled && options.column) {\r\n var {\r\n column: column\r\n } = options;\r\n var isGroupingAllowed = isDefined(column.allowGrouping) ? column.allowGrouping : true;\r\n if (isGroupingAllowed) {\r\n var isColumnGrouped = isDefined(column.groupIndex) && column.groupIndex > -1;\r\n var groupingTexts = this.option(\"grouping.texts\");\r\n var onItemClick = onGroupingMenuItemClick.bind(this, column);\r\n items = [{\r\n text: groupingTexts.ungroup,\r\n value: \"ungroup\",\r\n disabled: !isColumnGrouped,\r\n onItemClick: onItemClick\r\n }, {\r\n text: groupingTexts.ungroupAll,\r\n value: \"ungroupAll\",\r\n onItemClick: onItemClick\r\n }]\r\n }\r\n }\r\n return items\r\n },\r\n isVisible() {\r\n return this.callBase() || this._isGroupPanelVisible()\r\n },\r\n optionChanged(args) {\r\n if (\"groupPanel\" === args.name) {\r\n this._invalidate();\r\n args.handled = true\r\n } else {\r\n this.callBase(args)\r\n }\r\n }\r\n};\r\nvar GroupingRowsViewExtender = {\r\n getContextMenuItems(options) {\r\n var contextMenuEnabled = this.option(\"grouping.contextMenuEnabled\");\r\n var items;\r\n if (contextMenuEnabled && options.row && \"group\" === options.row.rowType) {\r\n var columnsController = this._columnsController;\r\n var column = columnsController.columnOption(\"groupIndex:\".concat(options.row.groupIndex));\r\n if (column && column.allowGrouping) {\r\n var groupingTexts = this.option(\"grouping.texts\");\r\n var onItemClick = onGroupingMenuItemClick.bind(this, column);\r\n items = [];\r\n items.push({\r\n text: groupingTexts.ungroup,\r\n value: \"ungroup\",\r\n onItemClick: onItemClick\r\n }, {\r\n text: groupingTexts.ungroupAll,\r\n value: \"ungroupAll\",\r\n onItemClick: onItemClick\r\n })\r\n }\r\n }\r\n return items\r\n },\r\n _rowClick(e) {\r\n var expandMode = this.option(\"grouping.expandMode\");\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n var isGroupRowStateChanged = \"infinite\" !== scrollingMode && \"rowClick\" === expandMode && $(e.event.target).closest(\".\".concat(DATAGRID_GROUP_ROW_CLASS)).length;\r\n var isExpandButtonClicked = $(e.event.target).closest(\".\".concat(DATAGRID_EXPAND_CLASS)).length;\r\n if (isGroupRowStateChanged || isExpandButtonClicked) {\r\n this._changeGroupRowState(e)\r\n }\r\n this.callBase(e)\r\n },\r\n _changeGroupRowState(e) {\r\n var dataController = this.getController(\"data\");\r\n var row = dataController.items()[e.rowIndex];\r\n var allowCollapsing = this._columnsController.columnOption(\"groupIndex:\".concat(row.groupIndex), \"allowCollapsing\");\r\n if (\"data\" === row.rowType || \"group\" === row.rowType && false !== allowCollapsing) {\r\n dataController.changeRowExpand(row.key, true);\r\n e.event.preventDefault();\r\n e.handled = true\r\n }\r\n }\r\n};\r\nvar columnHeadersViewExtender = {\r\n getContextMenuItems(options) {\r\n var contextMenuEnabled = this.option(\"grouping.contextMenuEnabled\");\r\n var items = this.callBase(options);\r\n if (contextMenuEnabled && options.row && (\"header\" === options.row.rowType || \"detailAdaptive\" === options.row.rowType)) {\r\n var {\r\n column: column\r\n } = options;\r\n if (!column.command && (!isDefined(column.allowGrouping) || column.allowGrouping)) {\r\n var groupingTexts = this.option(\"grouping.texts\");\r\n var isColumnGrouped = isDefined(column.groupIndex) && column.groupIndex > -1;\r\n var onItemClick = onGroupingMenuItemClick.bind(this, column);\r\n items = items || [];\r\n items.push({\r\n text: groupingTexts.groupByThisColumn,\r\n value: \"group\",\r\n beginGroup: true,\r\n disabled: isColumnGrouped,\r\n onItemClick: onItemClick\r\n });\r\n if (column.showWhenGrouped) {\r\n items.push({\r\n text: groupingTexts.ungroup,\r\n value: \"ungroup\",\r\n disabled: !isColumnGrouped,\r\n onItemClick: onItemClick\r\n })\r\n }\r\n items.push({\r\n text: groupingTexts.ungroupAll,\r\n value: \"ungroupAll\",\r\n onItemClick: onItemClick\r\n })\r\n }\r\n }\r\n return items\r\n }\r\n};\r\ngridCore.registerModule(\"grouping\", {\r\n defaultOptions: () => ({\r\n grouping: {\r\n autoExpandAll: true,\r\n allowCollapsing: true,\r\n contextMenuEnabled: false,\r\n expandMode: \"buttonClick\",\r\n texts: {\r\n groupContinuesMessage: messageLocalization.format(\"dxDataGrid-groupContinuesMessage\"),\r\n groupContinuedMessage: messageLocalization.format(\"dxDataGrid-groupContinuedMessage\"),\r\n groupByThisColumn: messageLocalization.format(\"dxDataGrid-groupHeaderText\"),\r\n ungroup: messageLocalization.format(\"dxDataGrid-ungroupHeaderText\"),\r\n ungroupAll: messageLocalization.format(\"dxDataGrid-ungroupAllText\")\r\n }\r\n },\r\n groupPanel: {\r\n visible: false,\r\n emptyPanelText: messageLocalization.format(\"dxDataGrid-groupPanelEmptyText\"),\r\n allowColumnDragging: true\r\n }\r\n }),\r\n extenders: {\r\n controllers: {\r\n data: GroupingDataControllerExtender,\r\n columns: {\r\n _getExpandColumnOptions() {\r\n var options = this.callBase.apply(this, arguments);\r\n options.cellTemplate = gridCore.getExpandCellTemplate();\r\n return options\r\n }\r\n },\r\n editing: {\r\n _isProcessedItem: item => isDefined(item.groupIndex) && isString(item.rowType) && 0 === item.rowType.indexOf(\"group\")\r\n }\r\n },\r\n views: {\r\n headerPanel: GroupingHeaderPanelExtender,\r\n rowsView: GroupingRowsViewExtender,\r\n columnHeadersView: columnHeadersViewExtender\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/master_detail.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n masterDetailModule\r\n} from \"../../../grids/grid_core/master_detail/m_master_detail\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"masterDetail\", masterDetailModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/editor_factory.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n editorFactoryModule\r\n} from \"../../../grids/grid_core/editor_factory/m_editor_factory\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"editorFactory\", editorFactoryModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/m_editing.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport \"./module_not_extended/editor_factory\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n editingModule\r\n} from \"../../grids/grid_core/editing/m_editing\";\r\nimport gridCore from \"./m_core\";\r\ngridCore.registerModule(\"editing\", extend(true, {}, editingModule, {\r\n extenders: {\r\n controllers: {\r\n data: {\r\n _changeRowExpandCore(key) {\r\n var editingController = this._editingController;\r\n if (Array.isArray(key)) {\r\n editingController && editingController.refresh()\r\n }\r\n return this.callBase.apply(this, arguments)\r\n }\r\n }\r\n }\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/editing_row_based.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n editingRowBasedModule\r\n} from \"../../../grids/grid_core/editing/m_editing_row_based\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"editingRowBased\", editingRowBasedModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/editing_form_based.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n editingFormBasedModule\r\n} from \"../../../grids/grid_core/editing/m_editing_form_based\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"editingFormBased\", editingFormBasedModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/editing_cell_based.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n editingCellBasedModule\r\n} from \"../../../grids/grid_core/editing/m_editing_cell_based\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"editingCellBased\", editingCellBasedModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/validating.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n validatingModule\r\n} from \"../../../grids/grid_core/validating/m_validating\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"validating\", validatingModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/virtual_scrolling.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n virtualScrollingModule\r\n} from \"../../../grids/grid_core/virtual_scrolling/m_virtual_scrolling\";\r\nimport gridCore from \"../m_core\";\r\nimport dataSourceAdapter from \"../m_data_source_adapter\";\r\ngridCore.registerModule(\"virtualScrolling\", virtualScrollingModule);\r\ndataSourceAdapter.extend(virtualScrollingModule.extenders.dataSourceAdapter);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/filter_row.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n filterRowModule\r\n} from \"../../../grids/grid_core/filter/m_filter_row\";\r\nimport core from \"../m_core\";\r\ncore.registerModule(\"filterRow\", filterRowModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/header_filter.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n headerFilterModule\r\n} from \"../../../grids/grid_core/header_filter/m_header_filter\";\r\nimport core from \"../m_core\";\r\ncore.registerModule(\"headerFilter\", headerFilterModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/filter_sync.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n filterSyncModule\r\n} from \"../../../grids/grid_core/filter/m_filter_sync\";\r\nimport core from \"../m_core\";\r\ncore.registerModule(\"filterSync\", filterSyncModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/filter_builder.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n filterBuilderModule\r\n} from \"../../../grids/grid_core/filter/m_filter_builder\";\r\nimport core from \"../m_core\";\r\ncore.registerModule(\"filterBuilder\", filterBuilderModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/filter_panel.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n filterPanelModule\r\n} from \"../../../grids/grid_core/filter/m_filter_panel\";\r\nimport core from \"../m_core\";\r\ncore.registerModule(\"filterPanel\", filterPanelModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/search.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n searchModule\r\n} from \"../../../grids/grid_core/search/m_search\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"search\", searchModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/pager.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n pagerModule\r\n} from \"../../../grids/grid_core/pager/m_pager\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"pager\", pagerModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/columns_resizing_reordering.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n columnsResizingReorderingModule\r\n} from \"../../../grids/grid_core/columns_resizing_reordering/m_columns_resizing_reordering\";\r\nimport gridCore from \"../m_core\";\r\nexport var DraggingHeaderView = columnsResizingReorderingModule.views.draggingHeaderView;\r\nexport var DraggingHeaderViewController = columnsResizingReorderingModule.controllers.draggingHeader;\r\nexport var ColumnsSeparatorView = columnsResizingReorderingModule.views.columnsSeparatorView;\r\nexport var TablePositionViewController = columnsResizingReorderingModule.controllers.tablePosition;\r\nexport var ColumnsResizerViewController = columnsResizingReorderingModule.controllers.columnsResizer;\r\nexport var TrackerView = columnsResizingReorderingModule.views.trackerView;\r\ngridCore.registerModule(\"columnsResizingReordering\", columnsResizingReorderingModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/keyboard_navigation.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n keyboardNavigationModule\r\n} from \"../../../grids/grid_core/keyboard_navigation/m_keyboard_navigation\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"keyboardNavigation\", keyboardNavigationModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/m_aggregate_calculator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../../core/class\";\r\nimport {\r\n compileGetter\r\n} from \"../../../core/utils/data\";\r\nimport {\r\n isFunction\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n errors\r\n} from \"../../../data/errors\";\r\nimport {\r\n aggregators\r\n} from \"../../../data/utils\";\r\n\r\nfunction depthFirstSearch(i, depth, root, callback) {\r\n var j = 0;\r\n if (i < depth) {\r\n for (; j < root.items.length; j++) {\r\n depthFirstSearch(i + 1, depth, root.items[j], callback)\r\n }\r\n }\r\n if (i === depth) {\r\n callback(root)\r\n }\r\n}\r\n\r\nfunction map(array, callback) {\r\n var i;\r\n if (\"map\" in array) {\r\n return array.map(callback)\r\n }\r\n var result = new Array(array.length);\r\n for (i in array) {\r\n result[i] = callback(array[i], i)\r\n }\r\n return result\r\n}\r\n\r\nfunction isEmpty(x) {\r\n return x !== x || \"\" === x || null === x || void 0 === x\r\n}\r\n\r\nfunction isCount(aggregator) {\r\n return aggregator === aggregators.count\r\n}\r\n\r\nfunction normalizeAggregate(aggregate) {\r\n var selector = compileGetter(aggregate.selector);\r\n var skipEmptyValues = \"skipEmptyValues\" in aggregate ? aggregate.skipEmptyValues : true;\r\n var {\r\n aggregator: aggregator\r\n } = aggregate;\r\n if (\"string\" === typeof aggregator) {\r\n aggregator = aggregators[aggregator];\r\n if (!aggregator) {\r\n throw errors.Error(\"E4001\", aggregate.aggregator)\r\n }\r\n }\r\n return {\r\n selector: selector,\r\n aggregator: aggregator,\r\n skipEmptyValues: skipEmptyValues\r\n }\r\n}\r\nexport default Class.inherit({\r\n ctor(options) {\r\n this._data = options.data;\r\n this._groupLevel = options.groupLevel || 0;\r\n this._totalAggregates = map(options.totalAggregates || [], normalizeAggregate);\r\n this._groupAggregates = map(options.groupAggregates || [], normalizeAggregate);\r\n this._totals = []\r\n },\r\n calculate() {\r\n if (this._totalAggregates.length) {\r\n this._calculateTotals(0, {\r\n items: this._data\r\n })\r\n }\r\n if (this._groupAggregates.length && this._groupLevel > 0) {\r\n this._calculateGroups({\r\n items: this._data\r\n })\r\n }\r\n },\r\n totalAggregates() {\r\n return this._totals\r\n },\r\n _aggregate(aggregates, data, container) {\r\n var length = data.items ? data.items.length : 0;\r\n for (var i = 0; i < aggregates.length; i++) {\r\n if (isCount(aggregates[i].aggregator)) {\r\n container[i] = (container[i] || 0) + length;\r\n continue\r\n }\r\n for (var j = 0; j < length; j++) {\r\n this._accumulate(i, aggregates[i], container, data.items[j])\r\n }\r\n }\r\n },\r\n _calculateTotals(level, data) {\r\n if (0 === level) {\r\n this._totals = this._seed(this._totalAggregates)\r\n }\r\n if (level === this._groupLevel) {\r\n this._aggregate(this._totalAggregates, data, this._totals)\r\n } else {\r\n for (var i = 0; i < data.items.length; i++) {\r\n this._calculateTotals(level + 1, data.items[i])\r\n }\r\n }\r\n if (0 === level) {\r\n this._totals = this._finalize(this._totalAggregates, this._totals)\r\n }\r\n },\r\n _calculateGroups(root) {\r\n var maxLevel = this._groupLevel;\r\n var currentLevel = maxLevel + 1;\r\n var seedFn = this._seed.bind(this, this._groupAggregates);\r\n var stepFn = this._aggregate.bind(this, this._groupAggregates);\r\n var finalizeFn = this._finalize.bind(this, this._groupAggregates);\r\n\r\n function aggregator(node) {\r\n node.aggregates = seedFn(currentLevel - 1);\r\n if (currentLevel === maxLevel) {\r\n stepFn(node, node.aggregates)\r\n } else {\r\n depthFirstSearch(currentLevel, maxLevel, node, innerNode => {\r\n stepFn(innerNode, node.aggregates)\r\n })\r\n }\r\n node.aggregates = finalizeFn(node.aggregates)\r\n }\r\n while (--currentLevel > 0) {\r\n depthFirstSearch(0, currentLevel, root, aggregator)\r\n }\r\n },\r\n _seed: (aggregates, groupIndex) => map(aggregates, aggregate => {\r\n var {\r\n aggregator: aggregator\r\n } = aggregate;\r\n var seed = \"seed\" in aggregator ? isFunction(aggregator.seed) ? aggregator.seed(groupIndex) : aggregator.seed : NaN;\r\n return seed\r\n }),\r\n _accumulate(aggregateIndex, aggregate, results, item) {\r\n var value = aggregate.selector(item);\r\n var {\r\n aggregator: aggregator\r\n } = aggregate;\r\n var {\r\n skipEmptyValues: skipEmptyValues\r\n } = aggregate;\r\n if (skipEmptyValues && isEmpty(value)) {\r\n return\r\n }\r\n if (results[aggregateIndex] !== results[aggregateIndex]) {\r\n results[aggregateIndex] = value\r\n } else {\r\n results[aggregateIndex] = aggregator.step(results[aggregateIndex], value)\r\n }\r\n },\r\n _finalize: (aggregates, results) => map(aggregates, (aggregate, index) => {\r\n var fin = aggregate.aggregator.finalize;\r\n return fin ? fin(results[index]) : results[index]\r\n })\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/summary/m_summary.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n compileGetter\r\n} from \"../../../../core/utils/data\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each,\r\n map\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n isDefined,\r\n isEmptyObject,\r\n isFunction,\r\n isPlainObject,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport dataQuery from \"../../../../data/query\";\r\nimport storeHelper from \"../../../../data/store_helper\";\r\nimport {\r\n normalizeSortingInfo\r\n} from \"../../../../data/utils\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\nimport {\r\n ColumnsView\r\n} from \"../../../grids/grid_core/views/m_columns_view\";\r\nimport AggregateCalculator from \"../m_aggregate_calculator\";\r\nimport gridCore from \"../m_core\";\r\nimport dataSourceAdapter from \"../m_data_source_adapter\";\r\nvar DATAGRID_TOTAL_FOOTER_CLASS = \"dx-datagrid-total-footer\";\r\nvar DATAGRID_SUMMARY_ITEM_CLASS = \"dx-datagrid-summary-item\";\r\nvar DATAGRID_TEXT_CONTENT_CLASS = \"dx-datagrid-text-content\";\r\nvar DATAGRID_GROUP_FOOTER_CLASS = \"dx-datagrid-group-footer\";\r\nvar DATAGRID_GROUP_TEXT_CONTENT_CLASS = \"dx-datagrid-group-text-content\";\r\nvar DATAGRID_NOWRAP_CLASS = \"dx-datagrid-nowrap\";\r\nvar DATAGRID_FOOTER_ROW_CLASS = \"dx-footer-row\";\r\nvar DATAGRID_GROUP_FOOTER_ROW_TYPE = \"groupFooter\";\r\nvar DATAGRID_TOTAL_FOOTER_ROW_TYPE = \"totalFooter\";\r\nexport var renderSummaryCell = function(cell, options) {\r\n var $cell = $(cell);\r\n var {\r\n column: column\r\n } = options;\r\n var {\r\n summaryItems: summaryItems\r\n } = options;\r\n var $summaryItems = [];\r\n if (!column.command && summaryItems) {\r\n for (var i = 0; i < summaryItems.length; i++) {\r\n var summaryItem = summaryItems[i];\r\n $summaryItems.push($(\"
    \").css(\"textAlign\", summaryItem.alignment || column.alignment).addClass(DATAGRID_SUMMARY_ITEM_CLASS).addClass(DATAGRID_TEXT_CONTENT_CLASS).addClass(summaryItem.cssClass).toggleClass(DATAGRID_GROUP_TEXT_CONTENT_CLASS, \"group\" === options.rowType).text(gridCore.getSummaryText(summaryItem, options.summaryTexts)))\r\n }\r\n $cell.append($summaryItems)\r\n }\r\n};\r\nvar getSummaryCellOptions = function(that, options) {\r\n var summaryTexts = that.option(\"summary.texts\") || {};\r\n return {\r\n totalItem: options.row,\r\n summaryItems: options.row.summaryCells[options.columnIndex],\r\n summaryTexts: summaryTexts\r\n }\r\n};\r\nvar getGroupAggregates = function(data) {\r\n return data.summary || data.aggregates || []\r\n};\r\nvar recalculateWhileEditing = function(that) {\r\n return that.option(\"summary.recalculateWhileEditing\")\r\n};\r\nexport var FooterView = ColumnsView.inherit({\r\n _getRows() {\r\n return this._dataController.footerItems()\r\n },\r\n _getCellOptions(options) {\r\n return extend(this.callBase(options), getSummaryCellOptions(this, options))\r\n },\r\n _renderCellContent($cell, options) {\r\n renderSummaryCell($cell, options);\r\n this.callBase.apply(this, arguments)\r\n },\r\n _renderCore(change) {\r\n var needUpdateScrollLeft = false;\r\n var totalItem = this._dataController.footerItems()[0];\r\n if (!change || !change.columnIndices) {\r\n this.element().empty().addClass(DATAGRID_TOTAL_FOOTER_CLASS).toggleClass(DATAGRID_NOWRAP_CLASS, !this.option(\"wordWrapEnabled\"));\r\n needUpdateScrollLeft = true\r\n }\r\n if (totalItem && totalItem.summaryCells && totalItem.summaryCells.length) {\r\n this._updateContent(this._renderTable({\r\n change: change\r\n }), change);\r\n needUpdateScrollLeft && this._updateScrollLeftPosition()\r\n }\r\n },\r\n _updateContent($newTable, change) {\r\n if (change && \"update\" === change.changeType && change.columnIndices) {\r\n return this.waitAsyncTemplates().done(() => {\r\n var $row = this.getTableElement().find(\".dx-row\");\r\n var $newRow = $newTable.find(\".dx-row\");\r\n this._updateCells($row, $newRow, change.columnIndices[0])\r\n })\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _rowClick(e) {\r\n var item = this._dataController.footerItems()[e.rowIndex] || {};\r\n this.executeAction(\"onRowClick\", extend({}, e, item))\r\n },\r\n _columnOptionChanged(e) {\r\n var {\r\n optionNames: optionNames\r\n } = e;\r\n if (e.changeTypes.grouping) {\r\n return\r\n }\r\n if (optionNames.width || optionNames.visibleWidth) {\r\n this.callBase(e)\r\n }\r\n },\r\n _handleDataChanged(e) {\r\n var {\r\n changeType: changeType\r\n } = e;\r\n if (\"update\" === e.changeType && e.repaintChangesOnly) {\r\n if (!e.totalColumnIndices) {\r\n this.render()\r\n } else if (e.totalColumnIndices.length) {\r\n this.render(null, {\r\n changeType: \"update\",\r\n columnIndices: [e.totalColumnIndices]\r\n })\r\n }\r\n } else if (\"refresh\" === changeType || \"append\" === changeType || \"prepend\" === changeType) {\r\n this.render()\r\n }\r\n },\r\n _createRow(row) {\r\n var $row = this.callBase.apply(this, arguments);\r\n if (row.rowType === DATAGRID_TOTAL_FOOTER_ROW_TYPE) {\r\n $row.addClass(DATAGRID_FOOTER_ROW_CLASS)\r\n }\r\n return $row\r\n },\r\n getHeight() {\r\n return this.getElementHeight()\r\n },\r\n isVisible() {\r\n return !!this._dataController.footerItems().length\r\n }\r\n});\r\nvar SummaryDataSourceAdapterExtender = {\r\n init() {\r\n this.callBase.apply(this, arguments);\r\n this._totalAggregates = [];\r\n this._summaryGetter = noop\r\n },\r\n summaryGetter(summaryGetter) {\r\n if (!arguments.length) {\r\n return this._summaryGetter\r\n }\r\n if (isFunction(summaryGetter)) {\r\n this._summaryGetter = summaryGetter\r\n }\r\n },\r\n summary(summary) {\r\n if (!arguments.length) {\r\n return this._summaryGetter()\r\n }\r\n this._summaryGetter = function() {\r\n return summary\r\n }\r\n },\r\n totalAggregates() {\r\n return this._totalAggregates\r\n },\r\n isLastLevelGroupItemsPagingLocal() {\r\n var summary = this.summary();\r\n var sortByGroupsInfo = summary && summary.sortByGroups();\r\n return sortByGroupsInfo && sortByGroupsInfo.length\r\n },\r\n sortLastLevelGroupItems(items, groups, paths) {\r\n var groupedItems = storeHelper.multiLevelGroup(dataQuery(items), groups).toArray();\r\n var result = [];\r\n paths.forEach(path => {\r\n ! function forEachGroup(groups, groupCount, callback, path) {\r\n path = path || [];\r\n for (var i = 0; i < groups.length; i++) {\r\n path.push(groups[i].key);\r\n if (1 === groupCount) {\r\n callback(path, groups[i].items)\r\n } else {\r\n forEachGroup(groups[i].items, groupCount - 1, callback, path)\r\n }\r\n path.pop()\r\n }\r\n }(groupedItems, groups.length, (itemsPath, items) => {\r\n if (path.toString() === itemsPath.toString()) {\r\n result = result.concat(items)\r\n }\r\n })\r\n });\r\n return result\r\n }\r\n};\r\nvar SummaryDataSourceAdapterClientExtender = function() {\r\n var calculateAggregates = function(that, summary, data, groupLevel) {\r\n var calculator;\r\n if (recalculateWhileEditing(that)) {\r\n var editingController = that.getController(\"editing\");\r\n if (editingController) {\r\n var insertedData = editingController.getInsertedData();\r\n if (insertedData.length) {\r\n data = function applyAddedData(data, insertedData, groupLevel) {\r\n if (groupLevel) {\r\n return applyAddedData(data, insertedData.map(item => ({\r\n items: [item]\r\n }), groupLevel - 1))\r\n }\r\n return data.concat(insertedData)\r\n }(data, insertedData, groupLevel)\r\n }\r\n var removedData = editingController.getRemovedData();\r\n if (removedData.length) {\r\n data = function applyRemovedData(data, removedData, groupLevel) {\r\n if (groupLevel) {\r\n return data.map(data => {\r\n var updatedData = {};\r\n var updatedItems = applyRemovedData(data.items || [], removedData, groupLevel - 1);\r\n Object.defineProperty(updatedData, \"aggregates\", {\r\n get: () => data.aggregates,\r\n set: value => {\r\n data.aggregates = value\r\n }\r\n });\r\n return extend(updatedData, data, {\r\n items: updatedItems\r\n })\r\n })\r\n }\r\n return data.filter(data => removedData.indexOf(data) < 0)\r\n }(data, removedData, groupLevel)\r\n }\r\n }\r\n }\r\n if (summary) {\r\n calculator = new AggregateCalculator({\r\n totalAggregates: summary.totalAggregates,\r\n groupAggregates: summary.groupAggregates,\r\n data: data,\r\n groupLevel: groupLevel\r\n });\r\n calculator.calculate()\r\n }\r\n return calculator ? calculator.totalAggregates() : []\r\n };\r\n var sortGroupsBySummary = function(data, group, summary) {\r\n var sortByGroups = summary && summary.sortByGroups && summary.sortByGroups();\r\n if (sortByGroups && sortByGroups.length) {\r\n return function sortGroupsBySummaryCore(items, groups, sortByGroups) {\r\n if (!items || !groups.length) {\r\n return items\r\n }\r\n var group = groups[0];\r\n var sorts = sortByGroups[0];\r\n var query;\r\n if (group && sorts && sorts.length) {\r\n query = dataQuery(items);\r\n each(sorts, (function(index) {\r\n if (0 === index) {\r\n query = query.sortBy(this.selector, this.desc)\r\n } else {\r\n query = query.thenBy(this.selector, this.desc)\r\n }\r\n }));\r\n query.enumerate().done(sortedItems => {\r\n items = sortedItems\r\n })\r\n }\r\n groups = groups.slice(1);\r\n sortByGroups = sortByGroups.slice(1);\r\n if (groups.length && sortByGroups.length) {\r\n each(items, (function() {\r\n this.items = sortGroupsBySummaryCore(this.items, groups, sortByGroups)\r\n }))\r\n }\r\n return items\r\n }(data, group, sortByGroups)\r\n }\r\n return data\r\n };\r\n return {\r\n _customizeRemoteOperations(options) {\r\n var summary = this.summary();\r\n if (summary) {\r\n if (options.remoteOperations.summary) {\r\n if (!options.isCustomLoading || options.storeLoadOptions.isLoadingAll) {\r\n if (options.storeLoadOptions.group) {\r\n if (options.remoteOperations.grouping) {\r\n options.storeLoadOptions.groupSummary = summary.groupAggregates\r\n } else if (summary.groupAggregates.length) {\r\n options.remoteOperations.paging = false\r\n }\r\n }\r\n options.storeLoadOptions.totalSummary = summary.totalAggregates\r\n }\r\n } else if (summary.totalAggregates.length || summary.groupAggregates.length && options.storeLoadOptions.group) {\r\n options.remoteOperations.paging = false\r\n }\r\n }\r\n this.callBase.apply(this, arguments);\r\n var cachedExtra = options.cachedData.extra;\r\n if (cachedExtra && cachedExtra.summary && !options.isCustomLoading) {\r\n options.storeLoadOptions.totalSummary = void 0\r\n }\r\n },\r\n _handleDataLoadedCore(options) {\r\n var _a, _b;\r\n var groups = normalizeSortingInfo(options.storeLoadOptions.group || options.loadOptions.group || []);\r\n var remoteOperations = options.remoteOperations || {};\r\n var summary = this.summaryGetter()(remoteOperations);\r\n if (!options.isCustomLoading || options.storeLoadOptions.isLoadingAll) {\r\n if (remoteOperations.summary) {\r\n if (!remoteOperations.paging && groups.length && summary) {\r\n if (!remoteOperations.grouping) {\r\n calculateAggregates(this, {\r\n groupAggregates: summary.groupAggregates\r\n }, options.data, groups.length)\r\n }\r\n options.data = sortGroupsBySummary(options.data, groups, summary)\r\n }\r\n } else if (!remoteOperations.paging && summary) {\r\n var operationTypes = options.operationTypes || {};\r\n var hasOperations = Object.keys(operationTypes).some(type => operationTypes[type]);\r\n if (!hasOperations || !(null === (_b = null === (_a = options.cachedData) || void 0 === _a ? void 0 : _a.extra) || void 0 === _b ? void 0 : _b.summary) || groups.length && summary.groupAggregates.length) {\r\n var totalAggregates = calculateAggregates(this, summary, options.data, groups.length);\r\n options.extra = isPlainObject(options.extra) ? options.extra : {};\r\n options.extra.summary = totalAggregates;\r\n if (options.cachedData) {\r\n options.cachedData.extra = options.extra\r\n }\r\n }\r\n options.data = sortGroupsBySummary(options.data, groups, summary)\r\n }\r\n }\r\n if (!options.isCustomLoading) {\r\n this._totalAggregates = options.extra && options.extra.summary || this._totalAggregates\r\n }\r\n this.callBase(options)\r\n }\r\n }\r\n}();\r\ndataSourceAdapter.extend(SummaryDataSourceAdapterExtender);\r\ndataSourceAdapter.extend(SummaryDataSourceAdapterClientExtender);\r\ngridCore.registerModule(\"summary\", {\r\n defaultOptions: () => ({\r\n summary: {\r\n groupItems: void 0,\r\n totalItems: void 0,\r\n calculateCustomSummary: void 0,\r\n skipEmptyValues: true,\r\n recalculateWhileEditing: false,\r\n texts: {\r\n sum: messageLocalization.format(\"dxDataGrid-summarySum\"),\r\n sumOtherColumn: messageLocalization.format(\"dxDataGrid-summarySumOtherColumn\"),\r\n min: messageLocalization.format(\"dxDataGrid-summaryMin\"),\r\n minOtherColumn: messageLocalization.format(\"dxDataGrid-summaryMinOtherColumn\"),\r\n max: messageLocalization.format(\"dxDataGrid-summaryMax\"),\r\n maxOtherColumn: messageLocalization.format(\"dxDataGrid-summaryMaxOtherColumn\"),\r\n avg: messageLocalization.format(\"dxDataGrid-summaryAvg\"),\r\n avgOtherColumn: messageLocalization.format(\"dxDataGrid-summaryAvgOtherColumn\"),\r\n count: messageLocalization.format(\"dxDataGrid-summaryCount\")\r\n }\r\n },\r\n sortByGroupSummaryInfo: void 0\r\n }),\r\n views: {\r\n footerView: FooterView\r\n },\r\n extenders: {\r\n controllers: {\r\n data: {\r\n _isDataColumn: column => column && (!isDefined(column.groupIndex) || column.showWhenGrouped),\r\n _isGroupFooterVisible() {\r\n var groupItems = this.option(\"summary.groupItems\") || [];\r\n for (var i = 0; i < groupItems.length; i++) {\r\n var groupItem = groupItems[i];\r\n var column = this._columnsController.columnOption(groupItem.showInColumn || groupItem.column);\r\n if (groupItem.showInGroupFooter && this._isDataColumn(column)) {\r\n return true\r\n }\r\n }\r\n return false\r\n },\r\n _processGroupItems(items, groupCount, options) {\r\n var data = options && options.data;\r\n var result = this.callBase.apply(this, arguments);\r\n if (options) {\r\n if (void 0 === options.isGroupFooterVisible) {\r\n options.isGroupFooterVisible = this._isGroupFooterVisible()\r\n }\r\n if (data && data.items && options.isGroupFooterVisible && (options.collectContinuationItems || !data.isContinuationOnNextPage)) {\r\n result.push({\r\n rowType: DATAGRID_GROUP_FOOTER_ROW_TYPE,\r\n key: options.path.slice(),\r\n data: data,\r\n groupIndex: options.path.length - 1,\r\n values: []\r\n })\r\n }\r\n }\r\n return result\r\n },\r\n _processGroupItem(groupItem, options) {\r\n var that = this;\r\n if (!options.summaryGroupItems) {\r\n options.summaryGroupItems = that.option(\"summary.groupItems\") || []\r\n }\r\n if (\"group\" === groupItem.rowType) {\r\n var groupColumnIndex = -1;\r\n var afterGroupColumnIndex = -1;\r\n each(options.visibleColumns, (function(visibleIndex) {\r\n var prevColumn = options.visibleColumns[visibleIndex - 1];\r\n if (groupItem.groupIndex === this.groupIndex) {\r\n groupColumnIndex = this.index\r\n }\r\n if (visibleIndex > 0 && \"expand\" === prevColumn.command && \"expand\" !== this.command) {\r\n afterGroupColumnIndex = this.index\r\n }\r\n }));\r\n groupItem.summaryCells = this._calculateSummaryCells(options.summaryGroupItems, getGroupAggregates(groupItem.data), options.visibleColumns, (summaryItem, column) => {\r\n if (summaryItem.showInGroupFooter) {\r\n return -1\r\n }\r\n if (summaryItem.alignByColumn && column && !isDefined(column.groupIndex) && column.index !== afterGroupColumnIndex) {\r\n return column.index\r\n }\r\n return groupColumnIndex\r\n }, true)\r\n }\r\n if (groupItem.rowType === DATAGRID_GROUP_FOOTER_ROW_TYPE) {\r\n groupItem.summaryCells = this._calculateSummaryCells(options.summaryGroupItems, getGroupAggregates(groupItem.data), options.visibleColumns, (summaryItem, column) => summaryItem.showInGroupFooter && that._isDataColumn(column) ? column.index : -1)\r\n }\r\n return groupItem\r\n },\r\n _calculateSummaryCells(summaryItems, aggregates, visibleColumns, calculateTargetColumnIndex, isGroupRow) {\r\n var that = this;\r\n var summaryCells = [];\r\n var summaryCellsByColumns = {};\r\n each(summaryItems, (summaryIndex, summaryItem) => {\r\n var column = that._columnsController.columnOption(summaryItem.column);\r\n var showInColumn = summaryItem.showInColumn && that._columnsController.columnOption(summaryItem.showInColumn) || column;\r\n var columnIndex = calculateTargetColumnIndex(summaryItem, showInColumn);\r\n if (columnIndex >= 0) {\r\n if (!summaryCellsByColumns[columnIndex]) {\r\n summaryCellsByColumns[columnIndex] = []\r\n }\r\n var aggregate = aggregates[summaryIndex];\r\n if (aggregate === aggregate) {\r\n var valueFormat;\r\n if (isDefined(summaryItem.valueFormat)) {\r\n valueFormat = summaryItem.valueFormat\r\n } else if (\"count\" !== summaryItem.summaryType) {\r\n valueFormat = gridCore.getFormatByDataType(column && column.dataType)\r\n }\r\n summaryCellsByColumns[columnIndex].push(extend({}, summaryItem, {\r\n value: isString(aggregate) && column && column.deserializeValue ? column.deserializeValue(aggregate) : aggregate,\r\n valueFormat: valueFormat,\r\n columnCaption: column && column.index !== columnIndex ? column.caption : void 0\r\n }))\r\n }\r\n }\r\n });\r\n if (!isEmptyObject(summaryCellsByColumns)) {\r\n visibleColumns.forEach((column, visibleIndex) => {\r\n var prevColumn = visibleColumns[visibleIndex - 1];\r\n var columnIndex = isGroupRow && (\"expand\" === (null === prevColumn || void 0 === prevColumn ? void 0 : prevColumn.command) || \"expand\" === column.command) ? null === prevColumn || void 0 === prevColumn ? void 0 : prevColumn.index : column.index;\r\n summaryCells.push(summaryCellsByColumns[columnIndex] || [])\r\n })\r\n }\r\n return summaryCells\r\n },\r\n _getSummaryCells(summaryTotalItems, totalAggregates) {\r\n var that = this;\r\n var columnsController = that._columnsController;\r\n return that._calculateSummaryCells(summaryTotalItems, totalAggregates, columnsController.getVisibleColumns(), (summaryItem, column) => that._isDataColumn(column) ? column.index : -1)\r\n },\r\n _updateItemsCore(change) {\r\n var summaryCells;\r\n var dataSource = this._dataSource;\r\n var footerItems = this._footerItems;\r\n var oldSummaryCells = footerItems && footerItems[0] && footerItems[0].summaryCells;\r\n var summaryTotalItems = this.option(\"summary.totalItems\");\r\n this._footerItems = [];\r\n if (dataSource && summaryTotalItems && summaryTotalItems.length) {\r\n var totalAggregates = dataSource.totalAggregates();\r\n summaryCells = this._getSummaryCells(summaryTotalItems, totalAggregates);\r\n if (change && change.repaintChangesOnly && oldSummaryCells) {\r\n change.totalColumnIndices = summaryCells.map((summaryCell, index) => {\r\n if (JSON.stringify(summaryCell) !== JSON.stringify(oldSummaryCells[index])) {\r\n return index\r\n }\r\n return -1\r\n }).filter(index => index >= 0)\r\n }\r\n if (summaryCells.length) {\r\n this._footerItems.push({\r\n rowType: DATAGRID_TOTAL_FOOTER_ROW_TYPE,\r\n summaryCells: summaryCells\r\n })\r\n }\r\n }\r\n this.callBase(change)\r\n },\r\n _prepareUnsavedDataSelector(selector) {\r\n if (recalculateWhileEditing(this)) {\r\n var editingController = this.getController(\"editing\");\r\n if (editingController) {\r\n return function(data) {\r\n data = editingController.getUpdatedData(data);\r\n return selector(data)\r\n }\r\n }\r\n }\r\n return selector\r\n },\r\n _prepareAggregateSelector(selector, aggregator) {\r\n selector = this._prepareUnsavedDataSelector(selector);\r\n if (\"avg\" === aggregator || \"sum\" === aggregator) {\r\n return function(data) {\r\n var value = selector(data);\r\n return isDefined(value) ? Number(value) : value\r\n }\r\n }\r\n return selector\r\n },\r\n _getAggregates(summaryItems, remoteOperations) {\r\n var that = this;\r\n var columnsController = that.getController(\"columns\");\r\n var calculateCustomSummary = that.option(\"summary.calculateCustomSummary\");\r\n var commonSkipEmptyValues = that.option(\"summary.skipEmptyValues\");\r\n return map(summaryItems || [], summaryItem => {\r\n var column = columnsController.columnOption(summaryItem.column);\r\n var calculateCellValue = column && column.calculateCellValue ? column.calculateCellValue.bind(column) : compileGetter(column ? column.dataField : summaryItem.column);\r\n var aggregator = summaryItem.summaryType || \"count\";\r\n var skipEmptyValues = isDefined(summaryItem.skipEmptyValues) ? summaryItem.skipEmptyValues : commonSkipEmptyValues;\r\n if (remoteOperations) {\r\n return {\r\n selector: summaryItem.column,\r\n summaryType: aggregator\r\n }\r\n }\r\n var selector = that._prepareAggregateSelector(calculateCellValue, aggregator);\r\n if (\"custom\" === aggregator) {\r\n if (!calculateCustomSummary) {\r\n errors.log(\"E1026\");\r\n calculateCustomSummary = function() {}\r\n }\r\n var options = {\r\n component: that.component,\r\n name: summaryItem.name\r\n };\r\n calculateCustomSummary(options);\r\n options.summaryProcess = \"calculate\";\r\n aggregator = {\r\n seed(groupIndex) {\r\n options.summaryProcess = \"start\";\r\n options.totalValue = void 0;\r\n options.groupIndex = groupIndex;\r\n delete options.value;\r\n calculateCustomSummary(options);\r\n return options.totalValue\r\n },\r\n step(totalValue, value) {\r\n options.summaryProcess = \"calculate\";\r\n options.totalValue = totalValue;\r\n options.value = value;\r\n calculateCustomSummary(options);\r\n return options.totalValue\r\n },\r\n finalize(totalValue) {\r\n options.summaryProcess = \"finalize\";\r\n options.totalValue = totalValue;\r\n delete options.value;\r\n calculateCustomSummary(options);\r\n return options.totalValue\r\n }\r\n }\r\n }\r\n return {\r\n selector: selector,\r\n aggregator: aggregator,\r\n skipEmptyValues: skipEmptyValues\r\n }\r\n })\r\n },\r\n _addSortInfo(sortByGroups, groupColumn, selector, sortOrder) {\r\n if (groupColumn) {\r\n var {\r\n groupIndex: groupIndex\r\n } = groupColumn;\r\n sortOrder = sortOrder || groupColumn.sortOrder;\r\n if (isDefined(groupIndex)) {\r\n sortByGroups[groupIndex] = sortByGroups[groupIndex] || [];\r\n sortByGroups[groupIndex].push({\r\n selector: selector,\r\n desc: \"desc\" === sortOrder\r\n })\r\n }\r\n }\r\n },\r\n _findSummaryItem(summaryItems, name) {\r\n var summaryItemIndex = -1;\r\n if (isDefined(name)) {\r\n each(summaryItems || [], (function(index) {\r\n if (this.name === name || index === name || this.summaryType === name || this.column === name || function(summaryItem) {\r\n var {\r\n summaryType: summaryType\r\n } = summaryItem;\r\n var {\r\n column: column\r\n } = summaryItem;\r\n return summaryType && column && \"\".concat(summaryType, \"_\").concat(column)\r\n }(this) === name) {\r\n summaryItemIndex = index;\r\n return false\r\n }\r\n }))\r\n }\r\n return summaryItemIndex\r\n },\r\n _getSummarySortByGroups(sortByGroupSummaryInfo, groupSummaryItems) {\r\n var that = this;\r\n var columnsController = that._columnsController;\r\n var groupColumns = columnsController.getGroupColumns();\r\n var sortByGroups = [];\r\n if (!groupSummaryItems || !groupSummaryItems.length) {\r\n return\r\n }\r\n each(sortByGroupSummaryInfo || [], (function() {\r\n var {\r\n sortOrder: sortOrder\r\n } = this;\r\n var {\r\n groupColumn: groupColumn\r\n } = this;\r\n var summaryItemIndex = that._findSummaryItem(groupSummaryItems, this.summaryItem);\r\n if (summaryItemIndex < 0) {\r\n return\r\n }\r\n var selector = function(data) {\r\n return getGroupAggregates(data)[summaryItemIndex]\r\n };\r\n if (isDefined(groupColumn)) {\r\n groupColumn = columnsController.columnOption(groupColumn);\r\n that._addSortInfo(sortByGroups, groupColumn, selector, sortOrder)\r\n } else {\r\n each(groupColumns, (groupIndex, groupColumn) => {\r\n that._addSortInfo(sortByGroups, groupColumn, selector, sortOrder)\r\n })\r\n }\r\n }));\r\n return sortByGroups\r\n },\r\n _createDataSourceAdapterCore(dataSource, remoteOperations) {\r\n var that = this;\r\n var dataSourceAdapter = this.callBase(dataSource, remoteOperations);\r\n dataSourceAdapter.summaryGetter(currentRemoteOperations => that._getSummaryOptions(currentRemoteOperations || remoteOperations));\r\n return dataSourceAdapter\r\n },\r\n _getSummaryOptions(remoteOperations) {\r\n var that = this;\r\n var groupSummaryItems = that.option(\"summary.groupItems\");\r\n var totalSummaryItems = that.option(\"summary.totalItems\");\r\n var sortByGroupSummaryInfo = that.option(\"sortByGroupSummaryInfo\");\r\n var groupAggregates = that._getAggregates(groupSummaryItems, remoteOperations && remoteOperations.grouping && remoteOperations.summary);\r\n var totalAggregates = that._getAggregates(totalSummaryItems, remoteOperations && remoteOperations.summary);\r\n if (groupAggregates.length || totalAggregates.length) {\r\n return {\r\n groupAggregates: groupAggregates,\r\n totalAggregates: totalAggregates,\r\n sortByGroups: function() {\r\n return that._getSummarySortByGroups(sortByGroupSummaryInfo, groupSummaryItems)\r\n }\r\n }\r\n }\r\n return\r\n },\r\n publicMethods() {\r\n var methods = this.callBase();\r\n methods.push(\"getTotalSummaryValue\");\r\n return methods\r\n },\r\n getTotalSummaryValue(summaryItemName) {\r\n var summaryItemIndex = this._findSummaryItem(this.option(\"summary.totalItems\"), summaryItemName);\r\n var aggregates = this._dataSource.totalAggregates();\r\n if (aggregates.length && summaryItemIndex > -1) {\r\n return aggregates[summaryItemIndex]\r\n }\r\n },\r\n optionChanged(args) {\r\n if (\"summary\" === args.name || \"sortByGroupSummaryInfo\" === args.name) {\r\n args.name = \"dataSource\"\r\n }\r\n this.callBase(args)\r\n },\r\n init() {\r\n this._footerItems = [];\r\n this.callBase()\r\n },\r\n footerItems() {\r\n return this._footerItems\r\n }\r\n },\r\n editing: {\r\n _refreshSummary() {\r\n if (recalculateWhileEditing(this) && !this.isSaving()) {\r\n this._dataController.refresh({\r\n load: true,\r\n changesOnly: true\r\n })\r\n }\r\n },\r\n _addChange(params) {\r\n var result = this.callBase.apply(this, arguments);\r\n if (params.type) {\r\n this._refreshSummary()\r\n }\r\n return result\r\n },\r\n _removeChange() {\r\n var result = this.callBase.apply(this, arguments);\r\n this._refreshSummary();\r\n return result\r\n },\r\n cancelEditData() {\r\n var result = this.callBase.apply(this, arguments);\r\n this._refreshSummary();\r\n return result\r\n }\r\n }\r\n },\r\n views: {\r\n rowsView: {\r\n _createRow(row) {\r\n var $row = this.callBase.apply(this, arguments);\r\n row && $row.addClass(row.rowType === DATAGRID_GROUP_FOOTER_ROW_TYPE ? DATAGRID_GROUP_FOOTER_CLASS : \"\");\r\n return $row\r\n },\r\n _renderCells($row, options) {\r\n this.callBase.apply(this, arguments);\r\n if (\"group\" === options.row.rowType && options.row.summaryCells && options.row.summaryCells.length) {\r\n this._renderGroupSummaryCells($row, options)\r\n }\r\n },\r\n _hasAlignByColumnSummaryItems: (columnIndex, options) => !isDefined(options.columns[columnIndex].groupIndex) && options.row.summaryCells[columnIndex].length,\r\n _getAlignByColumnCellCount(groupCellColSpan, options) {\r\n var alignByColumnCellCount = 0;\r\n for (var i = 1; i < groupCellColSpan; i++) {\r\n var columnIndex = options.row.summaryCells.length - i;\r\n alignByColumnCellCount = this._hasAlignByColumnSummaryItems(columnIndex, options) ? i : alignByColumnCellCount\r\n }\r\n return alignByColumnCellCount\r\n },\r\n _renderGroupSummaryCells($row, options) {\r\n var $groupCell = $row.children().last();\r\n var groupCellColSpan = Number($groupCell.attr(\"colSpan\")) || 1;\r\n var alignByColumnCellCount = this._getAlignByColumnCellCount(groupCellColSpan, options);\r\n this._renderGroupSummaryCellsCore($groupCell, options, groupCellColSpan, alignByColumnCellCount)\r\n },\r\n _renderGroupSummaryCellsCore($groupCell, options, groupCellColSpan, alignByColumnCellCount) {\r\n if (alignByColumnCellCount > 0) {\r\n $groupCell.attr(\"colSpan\", groupCellColSpan - alignByColumnCellCount);\r\n for (var i = 0; i < alignByColumnCellCount; i++) {\r\n var columnIndex = options.columns.length - alignByColumnCellCount + i;\r\n this._renderCell($groupCell.parent(), extend({\r\n column: options.columns[columnIndex],\r\n columnIndex: this._getSummaryCellIndex(columnIndex, options.columns)\r\n }, options))\r\n }\r\n }\r\n },\r\n _getSummaryCellIndex: columnIndex => columnIndex,\r\n _getCellTemplate(options) {\r\n if (!options.column.command && !isDefined(options.column.groupIndex) && options.summaryItems && options.summaryItems.length) {\r\n return renderSummaryCell\r\n }\r\n return this.callBase(options)\r\n },\r\n _getCellOptions(options) {\r\n var parameters = this.callBase(options);\r\n if (options.row.summaryCells) {\r\n return extend(parameters, getSummaryCellOptions(this, options))\r\n }\r\n return parameters\r\n }\r\n }\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/column_fixing.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n columnFixingModule\r\n} from \"../../../grids/grid_core/column_fixing/m_column_fixing\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"columnFixing\", columnFixingModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/adaptivity.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n adaptivityModule\r\n} from \"../../../grids/grid_core/adaptivity/m_adaptivity\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"adaptivity\", adaptivityModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/virtual_columns.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n virtualColumnsModule\r\n} from \"../../../grids/grid_core/virtual_columns/m_virtual_columns\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"virtualColumns\", virtualColumnsModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/export/m_export.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport \"../../../../ui/button\";\r\nimport \"../../../../ui/drop_down_button\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n getDefaultAlignment\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n format\r\n} from \"../../../../core/utils/string\";\r\nimport {\r\n isDefined,\r\n isFunction\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n excel,\r\n export as clientExport\r\n} from \"../../../../exporter\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport List from \"../../../../ui/list_light\";\r\nimport {\r\n prepareItems\r\n} from \"../../../grids/grid_core/m_export\";\r\nimport dataGridCore from \"../m_core\";\r\nvar DATAGRID_EXPORT_MENU_CLASS = \"dx-datagrid-export-menu\";\r\nvar DATAGRID_EXPORT_BUTTON_CLASS = \"dx-datagrid-export-button\";\r\nvar DATAGRID_EXPORT_TOOLBAR_BUTTON_NAME = \"exportButton\";\r\nvar DATAGRID_EXPORT_ICON = \"export\";\r\nvar DATAGRID_EXPORT_EXCEL_ICON = \"xlsxfile\";\r\nvar DATAGRID_EXPORT_SELECTED_ICON = \"exportselected\";\r\nvar DATAGRID_PDF_EXPORT_ICON = \"pdffile\";\r\nexport class DataProvider {\r\n constructor(exportController, initialColumnWidthsByColumnIndex, selectedRowsOnly) {\r\n this._exportController = exportController;\r\n this._initialColumnWidthsByColumnIndex = initialColumnWidthsByColumnIndex;\r\n this._selectedRowsOnly = selectedRowsOnly\r\n }\r\n _getGroupValue(item) {\r\n var {\r\n key: key,\r\n data: data,\r\n rowType: rowType,\r\n groupIndex: groupIndex,\r\n summaryCells: summaryCells\r\n } = item;\r\n var groupColumn = this._options.groupColumns[groupIndex];\r\n var value = dataGridCore.getDisplayValue(groupColumn, groupColumn.deserializeValue ? groupColumn.deserializeValue(key[groupIndex]) : key[groupIndex], data, rowType);\r\n var result = \"\".concat(groupColumn.caption, \": \").concat(dataGridCore.formatValue(value, groupColumn));\r\n if (summaryCells && summaryCells[0] && summaryCells[0].length) {\r\n result += \" \".concat(dataGridCore.getGroupRowSummaryText(summaryCells[0], this._options.summaryTexts))\r\n }\r\n return result\r\n }\r\n _correctCellIndex(cellIndex) {\r\n return cellIndex\r\n }\r\n _initOptions() {\r\n var exportController = this._exportController;\r\n var groupColumns = exportController._columnsController.getGroupColumns();\r\n var excelWrapTextEnabled = exportController.option(\"export.excelWrapTextEnabled\");\r\n this._options = {\r\n columns: exportController._getColumns(this._initialColumnWidthsByColumnIndex),\r\n groupColumns: groupColumns,\r\n items: this._selectedRowsOnly || exportController._selectionOnly ? exportController._getSelectedItems() : exportController._getAllItems(),\r\n getVisibleIndex: exportController._columnsController.getVisibleIndex.bind(exportController._columnsController),\r\n isHeadersVisible: exportController.option(\"showColumnHeaders\"),\r\n summaryTexts: exportController.option(\"summary.texts\"),\r\n customizeExportData: exportController.option(\"customizeExportData\"),\r\n rtlEnabled: exportController.option(\"rtlEnabled\"),\r\n wrapTextEnabled: isDefined(excelWrapTextEnabled) ? excelWrapTextEnabled : !!exportController.option(\"wordWrapEnabled\"),\r\n customizeExcelCell: exportController.option(\"export.customizeExcelCell\")\r\n }\r\n }\r\n hasCustomizeExcelCell() {\r\n return isDefined(this._options.customizeExcelCell)\r\n }\r\n customizeExcelCell(e, cellSourceData) {\r\n if (this._options.customizeExcelCell) {\r\n e.gridCell = cellSourceData;\r\n if (isDefined(this._exportController) && isDefined(this._exportController.component)) {\r\n e.component = this._exportController.component\r\n }\r\n this._options.customizeExcelCell(e)\r\n }\r\n }\r\n getHeaderStyles() {\r\n return [{\r\n bold: true,\r\n alignment: \"center\",\r\n wrapText: true\r\n }, {\r\n bold: true,\r\n alignment: \"left\",\r\n wrapText: true\r\n }, {\r\n bold: true,\r\n alignment: \"right\",\r\n wrapText: true\r\n }]\r\n }\r\n getGroupRowStyle() {\r\n return {\r\n bold: true,\r\n wrapText: false,\r\n alignment: getDefaultAlignment(this._options.rtlEnabled)\r\n }\r\n }\r\n getColumnStyles() {\r\n var {\r\n wrapTextEnabled: wrapTextEnabled\r\n } = this._options;\r\n var columnStyles = [];\r\n this.getColumns().forEach(column => {\r\n columnStyles.push({\r\n alignment: column.alignment || \"left\",\r\n format: column.format,\r\n wrapText: wrapTextEnabled,\r\n dataType: column.dataType\r\n })\r\n });\r\n return columnStyles\r\n }\r\n getStyles() {\r\n return [...this.getHeaderStyles(), ...this.getColumnStyles(), this.getGroupRowStyle()]\r\n }\r\n _getTotalCellStyleId(cellIndex) {\r\n var _a;\r\n var alignment = (null === (_a = this.getColumns()[cellIndex]) || void 0 === _a ? void 0 : _a.alignment) || \"right\";\r\n return this.getHeaderStyles().map(style => style.alignment).indexOf(alignment)\r\n }\r\n getStyleId(rowIndex, cellIndex) {\r\n if (rowIndex < this.getHeaderRowCount()) {\r\n return 0\r\n }\r\n if (this.isTotalCell(rowIndex - this.getHeaderRowCount(), cellIndex)) {\r\n return this._getTotalCellStyleId(cellIndex)\r\n }\r\n if (this.isGroupRow(rowIndex - this.getHeaderRowCount())) {\r\n return this.getHeaderStyles().length + this.getColumns().length\r\n }\r\n return cellIndex + this.getHeaderStyles().length\r\n }\r\n getColumns(getColumnsByAllRows) {\r\n var {\r\n columns: columns\r\n } = this._options;\r\n return getColumnsByAllRows ? columns : columns[columns.length - 1]\r\n }\r\n getColumnsWidths() {\r\n var columns = this.getColumns();\r\n return isDefined(columns) ? columns.map(c => c.width) : void 0\r\n }\r\n getRowsCount() {\r\n return this._options.items.length + this.getHeaderRowCount()\r\n }\r\n getHeaderRowCount() {\r\n if (this.isHeadersVisible()) {\r\n return this._options.columns.length - 1\r\n }\r\n return 0\r\n }\r\n isGroupRow(rowIndex) {\r\n return rowIndex < this._options.items.length && \"group\" === this._options.items[rowIndex].rowType\r\n }\r\n getGroupLevel(rowIndex) {\r\n var item = this._options.items[rowIndex - this.getHeaderRowCount()];\r\n var groupIndex = item && item.groupIndex;\r\n if (item && \"totalFooter\" === item.rowType) {\r\n return 0\r\n }\r\n return isDefined(groupIndex) ? groupIndex : this._options.groupColumns.length\r\n }\r\n getCellType(rowIndex, cellIndex) {\r\n var columns = this.getColumns();\r\n if (rowIndex < this.getHeaderRowCount()) {\r\n return \"string\"\r\n }\r\n rowIndex -= this.getHeaderRowCount();\r\n if (cellIndex < columns.length) {\r\n var item = this._options.items.length && this._options.items[rowIndex];\r\n var column = columns[cellIndex];\r\n if (item && \"data\" === item.rowType) {\r\n if (isFinite(item.values[this._correctCellIndex(cellIndex)]) && !isDefined(column.customizeText)) {\r\n return isDefined(column.lookup) ? column.lookup.dataType : column.dataType\r\n }\r\n }\r\n return \"string\"\r\n }\r\n }\r\n ready() {\r\n var that = this;\r\n that._initOptions();\r\n var options = that._options;\r\n return when(options.items).done(items => {\r\n options.customizeExportData && options.customizeExportData(that.getColumns(that.getHeaderRowCount() > 1), items);\r\n options.items = items\r\n }).fail(() => {\r\n options.items = []\r\n })\r\n }\r\n _convertFromGridGroupSummaryItems(gridGroupSummaryItems) {\r\n if (isDefined(gridGroupSummaryItems) && gridGroupSummaryItems.length > 0) {\r\n return gridGroupSummaryItems.map(item => ({\r\n value: item.value,\r\n name: item.name\r\n }))\r\n }\r\n }\r\n getCellData(rowIndex, cellIndex, isExcelJS) {\r\n var value;\r\n var column;\r\n var result = {\r\n cellSourceData: {},\r\n value: value\r\n };\r\n var columns = this.getColumns();\r\n var correctedCellIndex = this._correctCellIndex(cellIndex);\r\n if (rowIndex < this.getHeaderRowCount()) {\r\n var columnsRow = this.getColumns(true)[rowIndex];\r\n column = columnsRow[cellIndex];\r\n result.cellSourceData.rowType = \"header\";\r\n result.cellSourceData.column = column && column.gridColumn;\r\n result.value = column && column.caption\r\n } else {\r\n rowIndex -= this.getHeaderRowCount();\r\n var item = this._options.items.length && this._options.items[rowIndex];\r\n if (item) {\r\n var itemValues = item.values;\r\n result.cellSourceData.rowType = item.rowType;\r\n result.cellSourceData.column = columns[cellIndex] && columns[cellIndex].gridColumn;\r\n switch (item.rowType) {\r\n case \"groupFooter\":\r\n case \"totalFooter\":\r\n if (correctedCellIndex < itemValues.length) {\r\n value = itemValues[correctedCellIndex];\r\n if (isDefined(value)) {\r\n result.cellSourceData.value = value.value;\r\n result.cellSourceData.totalSummaryItemName = value.name;\r\n result.value = dataGridCore.getSummaryText(value, this._options.summaryTexts)\r\n } else {\r\n result.cellSourceData.value = void 0\r\n }\r\n }\r\n break;\r\n case \"group\":\r\n result.cellSourceData.groupIndex = item.groupIndex;\r\n if (cellIndex < 1) {\r\n result.cellSourceData.column = this._options.groupColumns[item.groupIndex];\r\n result.cellSourceData.value = item.key[item.groupIndex];\r\n result.cellSourceData.groupSummaryItems = this._convertFromGridGroupSummaryItems(item.summaryCells[0]);\r\n result.value = this._getGroupValue(item)\r\n } else {\r\n var summaryItems = item.values[correctedCellIndex];\r\n if (Array.isArray(summaryItems)) {\r\n result.cellSourceData.groupSummaryItems = this._convertFromGridGroupSummaryItems(summaryItems);\r\n value = \"\";\r\n for (var i = 0; i < summaryItems.length; i++) {\r\n value += (i > 0 ? isExcelJS ? \"\\n\" : \" \\n \" : \"\") + dataGridCore.getSummaryText(summaryItems[i], this._options.summaryTexts)\r\n }\r\n result.value = value\r\n } else {\r\n result.cellSourceData.value = void 0\r\n }\r\n }\r\n break;\r\n default:\r\n column = columns[cellIndex];\r\n if (column) {\r\n var _value = itemValues[correctedCellIndex];\r\n var displayValue = dataGridCore.getDisplayValue(column, _value, item.data, item.rowType);\r\n if (!isFinite(displayValue) || isDefined(column.customizeText)) {\r\n if (isExcelJS && isDefined(column.customizeText) && column.customizeText === this._exportController._columnsController.getCustomizeTextByDataType(\"boolean\")) {\r\n result.value = displayValue\r\n } else {\r\n result.value = dataGridCore.formatValue(displayValue, column)\r\n }\r\n } else {\r\n result.value = displayValue\r\n }\r\n result.cellSourceData.value = _value\r\n }\r\n result.cellSourceData.data = item.data\r\n }\r\n }\r\n }\r\n return result\r\n }\r\n isHeadersVisible() {\r\n return this._options.isHeadersVisible\r\n }\r\n isTotalCell(rowIndex, cellIndex) {\r\n var {\r\n items: items\r\n } = this._options;\r\n var item = items[rowIndex];\r\n var correctCellIndex = this._correctCellIndex(cellIndex);\r\n var isSummaryAlignByColumn = item.summaryCells && item.summaryCells[correctCellIndex] && item.summaryCells[correctCellIndex].length > 0 && item.summaryCells[correctCellIndex][0].alignByColumn;\r\n return item && \"groupFooter\" === item.rowType || \"totalFooter\" === item.rowType || isSummaryAlignByColumn\r\n }\r\n getCellMerging(rowIndex, cellIndex) {\r\n var {\r\n columns: columns\r\n } = this._options;\r\n var column = columns[rowIndex] && columns[rowIndex][cellIndex];\r\n return column ? {\r\n colspan: (column.exportColspan || 1) - 1,\r\n rowspan: (column.rowspan || 1) - 1\r\n } : {\r\n colspan: 0,\r\n rowspan: 0\r\n }\r\n }\r\n getFrozenArea() {\r\n return {\r\n x: 0,\r\n y: this.getHeaderRowCount()\r\n }\r\n }\r\n}\r\nexport class ExportController extends dataGridCore.ViewController {\r\n _getEmptyCell() {\r\n return {\r\n caption: \"\",\r\n colspan: 1,\r\n rowspan: 1\r\n }\r\n }\r\n _updateColumnWidth(column, width) {\r\n column.width = width\r\n }\r\n _getColumns(initialColumnWidthsByColumnIndex) {\r\n var result = [];\r\n var i;\r\n var columns;\r\n var columnsController = this._columnsController;\r\n var rowCount = columnsController.getRowCount();\r\n for (i = 0; i <= rowCount; i++) {\r\n var currentHeaderRow = [];\r\n columns = columnsController.getVisibleColumns(i, true);\r\n var columnWidthsByColumnIndex = void 0;\r\n if (i === rowCount) {\r\n if (this._updateLockCount) {\r\n columnWidthsByColumnIndex = initialColumnWidthsByColumnIndex\r\n } else {\r\n var columnWidths = this._getColumnWidths(this._headersView, this._rowsView);\r\n if (columnWidths && columnWidths.length) {\r\n columnWidthsByColumnIndex = {};\r\n for (var _i = 0; _i < columns.length; _i++) {\r\n columnWidthsByColumnIndex[columns[_i].index] = columnWidths[_i]\r\n }\r\n }\r\n }\r\n }\r\n for (var j = 0; j < columns.length; j++) {\r\n var column = extend({}, columns[j], {\r\n dataType: \"datetime\" === columns[j].dataType ? \"date\" : columns[j].dataType,\r\n gridColumn: columns[j]\r\n });\r\n if (this._needColumnExporting(column)) {\r\n var currentColspan = this._calculateExportColspan(column);\r\n if (isDefined(currentColspan)) {\r\n column.exportColspan = currentColspan\r\n }\r\n if (columnWidthsByColumnIndex) {\r\n this._updateColumnWidth(column, columnWidthsByColumnIndex[column.index])\r\n }\r\n currentHeaderRow.push(column)\r\n }\r\n }\r\n result.push(currentHeaderRow)\r\n }\r\n columns = result[rowCount];\r\n result = prepareItems(result.slice(0, -1), this._getEmptyCell());\r\n result.push(columns);\r\n return result\r\n }\r\n _calculateExportColspan(column) {\r\n if (!column.isBand) {\r\n return\r\n }\r\n var childColumns = this._columnsController.getChildrenByBandColumn(column.index, true);\r\n if (!isDefined(childColumns)) {\r\n return\r\n }\r\n return childColumns.reduce((result, childColumn) => {\r\n if (this._needColumnExporting(childColumn)) {\r\n return result + (this._calculateExportColspan(childColumn) || 1)\r\n }\r\n return result\r\n }, 0)\r\n }\r\n _needColumnExporting(column) {\r\n return !column.command && (column.allowExporting || void 0 === column.allowExporting)\r\n }\r\n _getFooterSummaryItems(summaryCells, isTotal) {\r\n var result = [];\r\n var estimatedItemsCount = 1;\r\n var i = 0;\r\n do {\r\n var values = [];\r\n for (var j = 0; j < summaryCells.length; j++) {\r\n var summaryCell = summaryCells[j];\r\n var itemsLength = summaryCell.length;\r\n if (estimatedItemsCount < itemsLength) {\r\n estimatedItemsCount = itemsLength\r\n }\r\n values.push(summaryCell[i])\r\n }\r\n result.push({\r\n values: values,\r\n rowType: isTotal ? \"totalFooter\" : \"groupFooter\"\r\n })\r\n } while (i++ < estimatedItemsCount - 1);\r\n return result\r\n }\r\n _hasSummaryGroupFooters() {\r\n var groupItems = this.option(\"summary.groupItems\");\r\n if (isDefined(groupItems)) {\r\n for (var i = 0; i < groupItems.length; i++) {\r\n if (groupItems[i].showInGroupFooter) {\r\n return true\r\n }\r\n }\r\n }\r\n return false\r\n }\r\n _getItemsWithSummaryGroupFooters(sourceItems) {\r\n var result = [];\r\n var beforeGroupFooterItems = [];\r\n var groupFooterItems = [];\r\n for (var i = 0; i < sourceItems.length; i++) {\r\n var item = sourceItems[i];\r\n if (\"groupFooter\" === item.rowType) {\r\n groupFooterItems = this._getFooterSummaryItems(item.summaryCells);\r\n result = result.concat(beforeGroupFooterItems, groupFooterItems);\r\n beforeGroupFooterItems = []\r\n } else {\r\n beforeGroupFooterItems.push(item)\r\n }\r\n }\r\n return result.length ? result : beforeGroupFooterItems\r\n }\r\n _updateGroupValuesWithSummaryByColumn(sourceItems) {\r\n var summaryValues = [];\r\n for (var i = 0; i < sourceItems.length; i++) {\r\n var item = sourceItems[i];\r\n var {\r\n summaryCells: summaryCells\r\n } = item;\r\n if (\"group\" === item.rowType && summaryCells && summaryCells.length > 1) {\r\n var groupColumnCount = item.values.length;\r\n for (var j = 1; j < summaryCells.length; j++) {\r\n for (var k = 0; k < summaryCells[j].length; k++) {\r\n var summaryItem = summaryCells[j][k];\r\n if (summaryItem && summaryItem.alignByColumn) {\r\n if (!Array.isArray(summaryValues[j - groupColumnCount])) {\r\n summaryValues[j - groupColumnCount] = []\r\n }\r\n summaryValues[j - groupColumnCount].push(summaryItem)\r\n }\r\n }\r\n }\r\n if (summaryValues.length > 0) {\r\n item.values.push(...summaryValues);\r\n summaryValues = []\r\n }\r\n }\r\n }\r\n }\r\n _processUnExportedItems(items) {\r\n var columns = this._columnsController.getVisibleColumns(null, true);\r\n var groupColumns = this._columnsController.getGroupColumns();\r\n var values;\r\n var summaryCells;\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n var isCommand = false;\r\n values = [];\r\n summaryCells = [];\r\n for (var j = 0; j < columns.length; j++) {\r\n var column = columns[j];\r\n isCommand || (isCommand = [\"detailExpand\", \"buttons\"].includes(column.type));\r\n if (this._needColumnExporting(column)) {\r\n if (item.values) {\r\n if (\"group\" === item.rowType && !values.length) {\r\n values.push(item.key[item.groupIndex])\r\n } else {\r\n values.push(item.values[j])\r\n }\r\n }\r\n if (item.summaryCells) {\r\n if (\"group\" === item.rowType && !summaryCells.length) {\r\n var index = j - groupColumns.length + item.groupIndex;\r\n summaryCells.push(item.summaryCells[isCommand ? index : index + 1])\r\n } else {\r\n summaryCells.push(item.summaryCells[j])\r\n }\r\n }\r\n }\r\n }\r\n if (values.length) {\r\n item.values = values\r\n }\r\n if (summaryCells.length) {\r\n item.summaryCells = summaryCells\r\n }\r\n }\r\n }\r\n _getAllItems(data) {\r\n var skipFilter = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : false;\r\n var that = this;\r\n var d = new Deferred;\r\n var dataController = this.getController(\"data\");\r\n var footerItems = dataController.footerItems();\r\n var totalItem = footerItems.length && footerItems[0];\r\n var summaryTotalItems = that.option(\"summary.totalItems\");\r\n var summaryCells;\r\n when(data).done(data => {\r\n dataController.loadAll(data, skipFilter).done((sourceItems, totalAggregates) => {\r\n that._updateGroupValuesWithSummaryByColumn(sourceItems);\r\n if (that._hasSummaryGroupFooters()) {\r\n sourceItems = that._getItemsWithSummaryGroupFooters(sourceItems)\r\n }\r\n summaryCells = totalItem && totalItem.summaryCells;\r\n if (isDefined(totalAggregates) && summaryTotalItems) {\r\n summaryCells = that._getSummaryCells(summaryTotalItems, totalAggregates)\r\n }\r\n var summaryItems = totalItem && that._getFooterSummaryItems(summaryCells, true);\r\n if (summaryItems) {\r\n sourceItems = sourceItems.concat(summaryItems)\r\n }\r\n that._processUnExportedItems(sourceItems);\r\n d.resolve(sourceItems)\r\n }).fail(d.reject)\r\n }).fail(d.reject);\r\n return d\r\n }\r\n _getSummaryCells(summaryTotalItems, totalAggregates) {\r\n var dataController = this.getController(\"data\");\r\n var columnsController = dataController._columnsController;\r\n return dataController._calculateSummaryCells(summaryTotalItems, totalAggregates, columnsController.getVisibleColumns(null, true), (summaryItem, column) => dataController._isDataColumn(column) ? column.index : -1)\r\n }\r\n _getSelectedItems() {\r\n var selectionController = this.getController(\"selection\");\r\n if (this.needLoadItemsOnExportingSelectedItems()) {\r\n return this._getAllItems(selectionController.loadSelectedItemsWithFilter(), true)\r\n }\r\n return this._getAllItems(selectionController.getSelectedRowsData())\r\n }\r\n _getColumnWidths(headersView, rowsView) {\r\n return headersView && headersView.isVisible() ? headersView.getColumnWidths() : rowsView.getColumnWidths()\r\n }\r\n init() {\r\n this._columnsController = this.getController(\"columns\");\r\n this._rowsView = this.getView(\"rowsView\");\r\n this._headersView = this.getView(\"columnHeadersView\");\r\n this.createAction(\"onExporting\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onExported\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onFileSaving\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n }\r\n callbackNames() {\r\n return [\"selectionOnlyChanged\"]\r\n }\r\n getDataProvider(selectedRowsOnly) {\r\n var columnWidths = this._getColumnWidths(this._headersView, this._rowsView);\r\n var initialColumnWidthsByColumnIndex;\r\n if (columnWidths && columnWidths.length) {\r\n initialColumnWidthsByColumnIndex = {};\r\n var columnsLastRowVisibleColumns = this._columnsController.getVisibleColumns(this._columnsController.getRowCount(), true);\r\n for (var i = 0; i < columnsLastRowVisibleColumns.length; i++) {\r\n initialColumnWidthsByColumnIndex[columnsLastRowVisibleColumns[i].index] = columnWidths[i]\r\n }\r\n }\r\n return new DataProvider(this, initialColumnWidthsByColumnIndex, selectedRowsOnly)\r\n }\r\n exportToExcel(selectedRowsOnly) {\r\n this._selectionOnly = selectedRowsOnly;\r\n clientExport(this.component.getDataProvider(), {\r\n fileName: this.option(\"export.fileName\"),\r\n format: \"xlsx\",\r\n selectedRowsOnly: !!selectedRowsOnly,\r\n autoFilterEnabled: !!this.option(\"export.excelFilterEnabled\"),\r\n rtlEnabled: this.option(\"rtlEnabled\"),\r\n exportingAction: this.getAction(\"onExporting\"),\r\n exportedAction: this.getAction(\"onExported\"),\r\n fileSavingAction: this.getAction(\"onFileSaving\")\r\n }, excel.getData)\r\n }\r\n exportTo(selectedRowsOnly, format) {\r\n this._selectionOnly = selectedRowsOnly;\r\n var onExporting = this.getAction(\"onExporting\");\r\n var eventArgs = {\r\n selectedRowsOnly: !!selectedRowsOnly,\r\n format: format,\r\n fileName: this.option(\"export.fileName\"),\r\n cancel: false\r\n };\r\n isFunction(onExporting) && onExporting(eventArgs)\r\n }\r\n publicMethods() {\r\n return [\"getDataProvider\", \"exportToExcel\"]\r\n }\r\n selectionOnly(value) {\r\n if (isDefined(value)) {\r\n this._isSelectedRows = value;\r\n this.selectionOnlyChanged.fire()\r\n } else {\r\n return this._isSelectedRows\r\n }\r\n }\r\n needLoadItemsOnExportingSelectedItems() {\r\n var _a;\r\n return null !== (_a = this.option(\"loadItemsOnExportingSelectedItems\")) && void 0 !== _a ? _a : this.getController(\"data\")._dataSource.remoteOperations().filtering\r\n }\r\n}\r\ndataGridCore.registerModule(\"export\", {\r\n defaultOptions: () => ({\r\n export: {\r\n enabled: false,\r\n fileName: \"DataGrid\",\r\n excelFilterEnabled: false,\r\n formats: [\"xlsx\"],\r\n excelWrapTextEnabled: void 0,\r\n allowExportSelectedData: false,\r\n texts: {\r\n exportTo: messageLocalization.format(\"dxDataGrid-exportTo\"),\r\n exportAll: messageLocalization.format(\"dxDataGrid-exportAll\"),\r\n exportSelectedRows: messageLocalization.format(\"dxDataGrid-exportSelectedRows\")\r\n }\r\n }\r\n }),\r\n controllers: {\r\n export: ExportController\r\n },\r\n extenders: {\r\n controllers: {\r\n editing: {\r\n callbackNames() {\r\n var callbackList = this.callBase();\r\n return isDefined(callbackList) ? callbackList.push(\"editingButtonsUpdated\") : [\"editingButtonsUpdated\"]\r\n },\r\n _updateEditButtons() {\r\n this.callBase();\r\n this.editingButtonsUpdated.fire()\r\n }\r\n }\r\n },\r\n views: {\r\n headerPanel: {\r\n _getToolbarItems() {\r\n var items = this.callBase();\r\n var exportButton = this._getExportToolbarButton();\r\n if (exportButton) {\r\n items.push(exportButton);\r\n this._correctItemsPosition(items)\r\n }\r\n return items\r\n },\r\n _getExportToolbarButton() {\r\n var items = this._getExportToolbarItems();\r\n if (0 === items.length) {\r\n return null\r\n }\r\n var disabled = this._needDisableExportButton();\r\n var toolbarButtonOptions = {\r\n name: DATAGRID_EXPORT_TOOLBAR_BUTTON_NAME,\r\n location: \"after\",\r\n locateInMenu: \"auto\",\r\n sortIndex: 30,\r\n options: {\r\n items: items\r\n },\r\n disabled: disabled\r\n };\r\n if (1 === items.length) {\r\n var widgetOptions = _extends(_extends({}, items[0]), {\r\n hint: items[0].text,\r\n elementAttr: {\r\n class: DATAGRID_EXPORT_BUTTON_CLASS\r\n }\r\n });\r\n toolbarButtonOptions.widget = \"dxButton\";\r\n toolbarButtonOptions.showText = \"inMenu\";\r\n toolbarButtonOptions.options = widgetOptions\r\n } else {\r\n var _widgetOptions = {\r\n icon: DATAGRID_EXPORT_ICON,\r\n displayExpr: \"text\",\r\n items: items,\r\n hint: this.option(\"export.texts.exportTo\"),\r\n elementAttr: {\r\n class: DATAGRID_EXPORT_BUTTON_CLASS\r\n },\r\n dropDownOptions: {\r\n width: \"auto\",\r\n _wrapperClassExternal: DATAGRID_EXPORT_MENU_CLASS\r\n }\r\n };\r\n toolbarButtonOptions.options = _widgetOptions;\r\n toolbarButtonOptions.widget = \"dxDropDownButton\";\r\n toolbarButtonOptions.menuItemTemplate = (_data, _index, container) => {\r\n this._createComponent($(container), List, {\r\n items: items\r\n })\r\n }\r\n }\r\n return toolbarButtonOptions\r\n },\r\n _getExportToolbarItems() {\r\n var _a;\r\n var exportOptions = this.option(\"export\");\r\n var texts = this.option(\"export.texts\");\r\n var formats = null !== (_a = this.option(\"export.formats\")) && void 0 !== _a ? _a : [];\r\n if (!exportOptions.enabled) {\r\n return []\r\n }\r\n var items = [];\r\n formats.forEach(formatType => {\r\n var exportMethod = \"exportTo\";\r\n var formatName = formatType.toUpperCase();\r\n var exportAllIcon = DATAGRID_EXPORT_ICON;\r\n var exportSelectedIcon = DATAGRID_EXPORT_SELECTED_ICON;\r\n if (\"xlsx\" === formatType) {\r\n exportMethod = \"exportToExcel\";\r\n formatName = \"Excel\";\r\n exportAllIcon = DATAGRID_EXPORT_EXCEL_ICON\r\n }\r\n if (\"pdf\" === formatType) {\r\n exportAllIcon = DATAGRID_PDF_EXPORT_ICON\r\n }\r\n items.push({\r\n text: format(texts.exportAll, formatName),\r\n icon: exportAllIcon,\r\n onClick: () => {\r\n this._exportController[exportMethod](false, formatType)\r\n }\r\n });\r\n if (exportOptions.allowExportSelectedData) {\r\n items.push({\r\n text: format(texts.exportSelectedRows, formatName),\r\n icon: exportSelectedIcon,\r\n onClick: () => {\r\n this._exportController[exportMethod](true, formatType)\r\n }\r\n })\r\n }\r\n });\r\n return items\r\n },\r\n _correctItemsPosition(items) {\r\n items.sort((itemA, itemB) => itemA.sortIndex - itemB.sortIndex)\r\n },\r\n _isExportButtonVisible() {\r\n return this.option(\"export.enabled\")\r\n },\r\n optionChanged(args) {\r\n this.callBase(args);\r\n if (\"export\" === args.name) {\r\n args.handled = true;\r\n this._invalidate()\r\n }\r\n },\r\n _needDisableExportButton() {\r\n var isDataColumnsInvisible = !this._columnsController.hasVisibleDataColumns();\r\n var hasUnsavedChanges = this._editingController.hasChanges();\r\n return isDataColumnsInvisible || hasUnsavedChanges\r\n },\r\n _columnOptionChanged(e) {\r\n this.callBase(e);\r\n var isColumnLocationChanged = dataGridCore.checkChanges(e.optionNames, [\"groupIndex\", \"visible\", \"all\"]);\r\n if (isColumnLocationChanged) {\r\n var disabled = this._needDisableExportButton();\r\n this.setToolbarItemDisabled(\"exportButton\", disabled)\r\n }\r\n },\r\n init() {\r\n this.callBase();\r\n this._exportController = this.getController(\"export\");\r\n this._editingController = this.getController(\"editing\");\r\n this._editingController.editingButtonsUpdated.add(() => {\r\n var disabled = this._needDisableExportButton();\r\n this.setToolbarItemDisabled(\"exportButton\", disabled)\r\n })\r\n },\r\n isVisible() {\r\n return this.callBase() || this._isExportButtonVisible()\r\n }\r\n }\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/focus/m_focus.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n compileGetter\r\n} from \"../../../../core/utils/data\";\r\nimport {\r\n Deferred\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n focusModule\r\n} from \"../../../grids/grid_core/focus/m_focus\";\r\nimport gridCore from \"../m_core\";\r\nimport {\r\n createGroupFilter\r\n} from \"../m_utils\";\r\nvar MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;\r\ngridCore.registerModule(\"focus\", extend(true, {}, focusModule, {\r\n extenders: {\r\n controllers: {\r\n data: Base => class extends(Base.inherit(focusModule.extenders.controllers.data)) {\r\n changeRowExpand(path, isRowClick) {\r\n if (this.option(\"focusedRowEnabled\") && Array.isArray(path) && this.isRowExpanded(path)) {\r\n var keyboardNavigation = this.getController(\"keyboardNavigation\");\r\n if ((!isRowClick || !keyboardNavigation.isKeyboardEnabled()) && this._isFocusedRowInsideGroup(path)) {\r\n this.option(\"focusedRowKey\", path)\r\n }\r\n }\r\n return super.changeRowExpand(path, isRowClick)\r\n }\r\n _isFocusedRowInsideGroup(path) {\r\n var columnsController = this.getController(\"columns\");\r\n var focusedRowKey = this.option(\"focusedRowKey\");\r\n var rowIndex = this.getRowIndexByKey(focusedRowKey);\r\n var focusedRow = rowIndex >= 0 && this.getVisibleRows()[rowIndex];\r\n var groups = columnsController.getGroupDataSourceParameters(true);\r\n if (focusedRow) {\r\n for (var i = 0; i < path.length; ++i) {\r\n var getter = compileGetter(groups[i] && groups[i].selector);\r\n if (getter(focusedRow.data) !== path[i]) {\r\n return false\r\n }\r\n }\r\n }\r\n return true\r\n }\r\n _getGroupPath(groupItem, groupCount) {\r\n var groupPath = [];\r\n var items = [groupItem];\r\n while (items && items[0] && groupCount) {\r\n var item = items[0];\r\n if (void 0 !== item.key) {\r\n groupPath.push(item.key)\r\n }\r\n items = item.items;\r\n groupCount--\r\n }\r\n return groupPath\r\n }\r\n _expandGroupByPath(that, groupPath, level) {\r\n var d = new Deferred;\r\n level++;\r\n that.expandRow(groupPath.slice(0, level)).done(() => {\r\n if (level === groupPath.length) {\r\n d.resolve()\r\n } else {\r\n that._expandGroupByPath(that, groupPath, level).done(d.resolve).fail(d.reject)\r\n }\r\n }).fail(d.reject);\r\n return d.promise()\r\n }\r\n _calculateGlobalRowIndexByGroupedData(key) {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var filter = that._generateFilterByKey(key);\r\n var deferred = new Deferred;\r\n var isGroupKey = Array.isArray(key);\r\n var group = dataSource.group();\r\n if (isGroupKey) {\r\n return deferred.resolve(-1).promise()\r\n }\r\n if (!dataSource._grouping._updatePagingOptions) {\r\n that._calculateGlobalRowIndexByFlatData(key, null, true).done(deferred.resolve).fail(deferred.reject);\r\n return deferred\r\n }\r\n dataSource.load({\r\n filter: that._concatWithCombinedFilter(filter),\r\n group: group\r\n }).done(data => {\r\n if (!data || 0 === data.length || !isDefined(data[0].key) || -1 === data[0].key) {\r\n return deferred.resolve(-1).promise()\r\n }\r\n var groupPath = that._getGroupPath(data[0], group.length);\r\n that._expandGroupByPath(that, groupPath, 0).done(() => {\r\n that._calculateExpandedRowGlobalIndex(deferred, key, groupPath, group)\r\n }).fail(deferred.reject)\r\n }).fail(deferred.reject);\r\n return deferred.promise()\r\n }\r\n _calculateExpandedRowGlobalIndex(deferred, key, groupPath, group) {\r\n var groupFilter = createGroupFilter(groupPath, {\r\n group: group\r\n });\r\n var dataSource = this._dataSource;\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n var isVirtualScrolling = \"virtual\" === scrollingMode || \"infinite\" === scrollingMode;\r\n var pageSize = dataSource.pageSize();\r\n var groupOffset;\r\n dataSource._grouping._updatePagingOptions({\r\n skip: 0,\r\n take: MAX_SAFE_INTEGER\r\n }, (groupInfo, totalOffset) => {\r\n if (equalByValue(groupInfo.path, groupPath)) {\r\n groupOffset = totalOffset\r\n }\r\n });\r\n this._calculateGlobalRowIndexByFlatData(key, groupFilter).done(dataOffset => {\r\n var count;\r\n var groupContinuationCount;\r\n if (dataOffset < 0) {\r\n deferred.resolve(-1);\r\n return\r\n }\r\n var currentPageOffset = groupOffset % pageSize || pageSize;\r\n count = currentPageOffset + dataOffset - groupPath.length;\r\n if (isVirtualScrolling) {\r\n groupContinuationCount = 0\r\n } else {\r\n groupContinuationCount = Math.floor(count / (pageSize - groupPath.length)) * groupPath.length\r\n }\r\n count = groupOffset + dataOffset + groupContinuationCount;\r\n deferred.resolve(count)\r\n }).fail(deferred.reject)\r\n }\r\n }\r\n }\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/row_dragging.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n rowDraggingModule\r\n} from \"../../../grids/grid_core/row_dragging/m_row_dragging\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"rowDragging\", rowDraggingModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/m_widget.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport DataGrid from \"./m_widget_base\";\r\nimport \"./module_not_extended/state_storing\";\r\nimport \"./module_not_extended/selection\";\r\nimport \"./module_not_extended/column_chooser\";\r\nimport \"./grouping/m_grouping\";\r\nimport \"./module_not_extended/master_detail\";\r\nimport \"./m_editing\";\r\nimport \"./module_not_extended/editing_row_based\";\r\nimport \"./module_not_extended/editing_form_based\";\r\nimport \"./module_not_extended/editing_cell_based\";\r\nimport \"./module_not_extended/validating\";\r\nimport \"./module_not_extended/virtual_scrolling\";\r\nimport \"./module_not_extended/filter_row\";\r\nimport \"./module_not_extended/header_filter\";\r\nimport \"./module_not_extended/filter_sync\";\r\nimport \"./module_not_extended/filter_builder\";\r\nimport \"./module_not_extended/filter_panel\";\r\nimport \"./module_not_extended/search\";\r\nimport \"./module_not_extended/pager\";\r\nimport \"./module_not_extended/columns_resizing_reordering\";\r\nimport \"./module_not_extended/keyboard_navigation\";\r\nimport \"./summary/m_summary\";\r\nimport \"./module_not_extended/column_fixing\";\r\nimport \"./module_not_extended/adaptivity\";\r\nimport \"./module_not_extended/virtual_columns\";\r\nimport \"./export/m_export\";\r\nimport \"./focus/m_focus\";\r\nimport \"./module_not_extended/row_dragging\";\r\nexport default DataGrid;\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/adaptivity/m_adaptivity.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Guid from \"../../../../core/guid\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n isElementInDom\r\n} from \"../../../../core/utils/dom\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../../events/click\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport {\r\n removeEvent\r\n} from \"../../../../events/remove\";\r\nimport {\r\n addNamespace\r\n} from \"../../../../events/utils/index\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport Form from \"../../../../ui/form\";\r\nimport {\r\n isMaterial\r\n} from \"../../../../ui/themes\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar COLUMN_HEADERS_VIEW = \"columnHeadersView\";\r\nvar ROWS_VIEW = \"rowsView\";\r\nvar FOOTER_VIEW = \"footerView\";\r\nvar COLUMN_VIEWS = [COLUMN_HEADERS_VIEW, ROWS_VIEW, FOOTER_VIEW];\r\nvar ADAPTIVE_NAMESPACE = \"dxDataGridAdaptivity\";\r\nvar HIDDEN_COLUMNS_WIDTH = \"adaptiveHidden\";\r\nvar ADAPTIVE_ROW_TYPE = \"detailAdaptive\";\r\nvar FORM_ITEM_CONTENT_CLASS = \"dx-field-item-content\";\r\nvar FORM_ITEM_MODIFIED = \"dx-item-modified\";\r\nvar HIDDEN_COLUMN_CLASS = \"hidden-column\";\r\nvar ADAPTIVE_COLUMN_BUTTON_CLASS = \"adaptive-more\";\r\nvar ADAPTIVE_COLUMN_NAME_CLASS = \"dx-command-adaptive\";\r\nvar COMMAND_ADAPTIVE_HIDDEN_CLASS = \"dx-command-adaptive-hidden\";\r\nvar ADAPTIVE_DETAIL_ROW_CLASS = \"dx-adaptive-detail-row\";\r\nvar ADAPTIVE_ITEM_TEXT_CLASS = \"dx-adaptive-item-text\";\r\nvar MASTER_DETAIL_CELL_CLASS = \"dx-master-detail-cell\";\r\nvar LAST_DATA_CELL_CLASS = \"dx-last-data-cell\";\r\nvar ADAPTIVE_COLUMN_NAME = \"adaptive\";\r\nvar EDIT_MODE_BATCH = \"batch\";\r\nvar EDIT_MODE_ROW = \"row\";\r\nvar EDIT_MODE_FORM = \"form\";\r\nvar EDIT_MODE_POPUP = \"popup\";\r\nvar REVERT_TOOLTIP_CLASS = \"revert-tooltip\";\r\nvar GROUP_CELL_CLASS = \"dx-group-cell\";\r\nvar GROUP_ROW_CLASS = \"dx-group-row\";\r\nvar EXPAND_ARIA_NAME = \"dxDataGrid-ariaAdaptiveExpand\";\r\nvar COLLAPSE_ARIA_NAME = \"dxDataGrid-ariaAdaptiveCollapse\";\r\nvar LEGACY_SCROLLING_MODE = \"scrolling.legacyMode\";\r\n\r\nfunction getColumnId(that, column) {\r\n return that._columnsController.getColumnId(column)\r\n}\r\n\r\nfunction getDataCellElements($row) {\r\n return $row.find(\"td:not(.dx-datagrid-hidden-column):not([class*='dx-command-'])\")\r\n}\r\n\r\nfunction adaptiveCellTemplate(container, options) {\r\n var $adaptiveColumnButton;\r\n var $container = $(container);\r\n var adaptiveColumnsController = options.component.getController(\"adaptiveColumns\");\r\n if (\"data\" === options.rowType) {\r\n $adaptiveColumnButton = $(\"\").addClass(adaptiveColumnsController.addWidgetPrefix(ADAPTIVE_COLUMN_BUTTON_CLASS));\r\n eventsEngine.on($adaptiveColumnButton, addNamespace(clickEventName, ADAPTIVE_NAMESPACE), adaptiveColumnsController.createAction(() => {\r\n adaptiveColumnsController.toggleExpandAdaptiveDetailRow(options.key)\r\n }));\r\n $adaptiveColumnButton.appendTo($container)\r\n } else {\r\n gridCoreUtils.setEmptyText($container)\r\n }\r\n}\r\n\r\nfunction focusCellHandler(e) {\r\n var _a;\r\n var $nextCell = null === (_a = e.data) || void 0 === _a ? void 0 : _a.$nextCell;\r\n eventsEngine.off($nextCell, \"focus\", focusCellHandler);\r\n eventsEngine.trigger($nextCell, \"dxclick\")\r\n}\r\nclass AdaptiveColumnsController extends modules.ViewController {\r\n _isRowEditMode() {\r\n var editMode = this._getEditMode();\r\n return editMode === EDIT_MODE_ROW\r\n }\r\n _isItemModified(item, cellOptions) {\r\n var columnIndex = this._columnsController.getVisibleIndex(item.column.index);\r\n var rowIndex = this._dataController.getRowIndexByKey(cellOptions.key);\r\n var row = this._dataController.items()[rowIndex + 1];\r\n return row && row.modifiedValues && isDefined(row.modifiedValues[columnIndex])\r\n }\r\n _renderFormViewTemplate(item, cellOptions, $container) {\r\n var that = this;\r\n var {\r\n column: column\r\n } = item;\r\n var focusAction = that.createAction(() => {\r\n if (that._editingController.isEditing()) {\r\n eventsEngine.trigger($container, clickEventName)\r\n }\r\n });\r\n var rowData = cellOptions.row.data;\r\n var value = column.calculateCellValue(rowData);\r\n var displayValue = gridCoreUtils.getDisplayValue(column, value, rowData, cellOptions.rowType);\r\n var text = gridCoreUtils.formatValue(displayValue, column);\r\n var isCellOrBatchEditMode = this._editingController.isCellOrBatchEditMode();\r\n var rowsView = that._rowsView;\r\n if (column.allowEditing && that.getController(\"keyboardNavigation\").isKeyboardEnabled()) {\r\n $container.attr(\"tabIndex\", that.option(\"tabIndex\"));\r\n if (isCellOrBatchEditMode) {\r\n eventsEngine.off($container, \"focus\", focusAction);\r\n eventsEngine.on($container, \"focus\", focusAction)\r\n }\r\n }\r\n if (column.cellTemplate) {\r\n var templateOptions = extend({}, cellOptions, {\r\n value: value,\r\n displayValue: displayValue,\r\n text: text,\r\n column: column\r\n });\r\n rowsView.renderTemplate($container, column.cellTemplate, templateOptions, isElementInDom($container)).done(() => {\r\n rowsView._cellPrepared($container, cellOptions)\r\n })\r\n } else {\r\n var container = $container.get(0);\r\n if (column.encodeHtml) {\r\n container.textContent = text\r\n } else {\r\n container.innerHTML = text\r\n }\r\n $container.addClass(ADAPTIVE_ITEM_TEXT_CLASS);\r\n if (!isDefined(text) || \"\" === text) {\r\n $container.html(\" \")\r\n }\r\n if (!that._isRowEditMode()) {\r\n if (that._isItemModified(item, cellOptions)) {\r\n $container.addClass(FORM_ITEM_MODIFIED)\r\n }\r\n }\r\n rowsView._cellPrepared($container, cellOptions)\r\n }\r\n }\r\n _getTemplate(item, cellOptions, updateForm) {\r\n var that = this;\r\n var {\r\n column: column\r\n } = item;\r\n var editingController = this.getController(\"editing\");\r\n return function(options, container) {\r\n var $container = $(container);\r\n var columnIndex = that._columnsController.getVisibleIndex(column.index);\r\n var templateOptions = extend({}, cellOptions);\r\n var renderFormTemplate = function() {\r\n var isItemEdited = that._isItemEdited(item);\r\n templateOptions.value = cellOptions.row.values[columnIndex];\r\n if (isItemEdited || column.showEditorAlways) {\r\n editingController.renderFormEditorTemplate(templateOptions, item, options, $container, !isItemEdited)\r\n } else {\r\n templateOptions.column = column;\r\n templateOptions.columnIndex = columnIndex;\r\n that._renderFormViewTemplate(item, templateOptions, $container)\r\n }\r\n };\r\n renderFormTemplate();\r\n if (templateOptions.watch) {\r\n var dispose = templateOptions.watch(() => ({\r\n isItemEdited: that._isItemEdited(item),\r\n value: cellOptions.row.values[columnIndex]\r\n }), () => {\r\n $container.contents().remove();\r\n $container.removeClass(ADAPTIVE_ITEM_TEXT_CLASS);\r\n renderFormTemplate()\r\n });\r\n eventsEngine.on($container, removeEvent, dispose)\r\n }\r\n }\r\n }\r\n _isVisibleColumnsValid(visibleColumns) {\r\n if (visibleColumns < 2) {\r\n return false\r\n }\r\n if (visibleColumns.length - function() {\r\n var result = 0;\r\n for (var j = 0; j < visibleColumns.length; j++) {\r\n var visibleColumn = visibleColumns[j];\r\n if (visibleColumn.command) {\r\n result++\r\n }\r\n }\r\n return result\r\n }() <= 1) {\r\n return false\r\n }\r\n return true\r\n }\r\n _calculatePercentWidths(widths, visibleColumns) {\r\n var that = this;\r\n var percentWidths = 0;\r\n visibleColumns.forEach((item, index) => {\r\n if (widths[index] !== HIDDEN_COLUMNS_WIDTH) {\r\n percentWidths += that._getItemPercentWidth(item)\r\n }\r\n });\r\n return percentWidths\r\n }\r\n _isPercentWidth(width) {\r\n return isString(width) && width.endsWith(\"%\")\r\n }\r\n _isColumnHidden(column) {\r\n return this._hiddenColumns.filter(hiddenColumn => hiddenColumn.index === column.index).length > 0\r\n }\r\n _getAverageColumnsWidth(containerWidth, columns, columnsCanFit) {\r\n var that = this;\r\n var fixedColumnsWidth = 0;\r\n var columnsWithoutFixedWidthCount = 0;\r\n columns.forEach(column => {\r\n if (!that._isColumnHidden(column)) {\r\n var {\r\n width: width\r\n } = column;\r\n if (isDefined(width) && !isNaN(parseFloat(width))) {\r\n fixedColumnsWidth += that._isPercentWidth(width) ? that._calculatePercentWidth({\r\n visibleIndex: column.visibleIndex,\r\n columnsCount: columns.length,\r\n columnsCanFit: columnsCanFit,\r\n bestFitWidth: column.bestFitWidth,\r\n columnWidth: width,\r\n containerWidth: containerWidth\r\n }) : parseFloat(width)\r\n } else {\r\n columnsWithoutFixedWidthCount++\r\n }\r\n }\r\n });\r\n return (containerWidth - fixedColumnsWidth) / columnsWithoutFixedWidthCount\r\n }\r\n _calculateColumnWidth(column, containerWidth, contentColumns, columnsCanFit) {\r\n var columnId = getColumnId(this, column);\r\n var widthOption = this._columnsController.columnOption(columnId, \"width\");\r\n var bestFitWidth = this._columnsController.columnOption(columnId, \"bestFitWidth\");\r\n var columnsCount = contentColumns.length;\r\n var colWidth;\r\n if (widthOption && \"auto\" !== widthOption) {\r\n if (this._isPercentWidth(widthOption)) {\r\n colWidth = this._calculatePercentWidth({\r\n visibleIndex: column.visibleIndex,\r\n columnsCount: columnsCount,\r\n columnsCanFit: columnsCanFit,\r\n bestFitWidth: bestFitWidth,\r\n columnWidth: widthOption,\r\n containerWidth: containerWidth\r\n })\r\n } else {\r\n return parseFloat(widthOption)\r\n }\r\n } else {\r\n var columnAutoWidth = this.option(\"columnAutoWidth\");\r\n colWidth = columnAutoWidth || !!column.command ? bestFitWidth : this._getAverageColumnsWidth(containerWidth, contentColumns, columnsCanFit)\r\n }\r\n return colWidth\r\n }\r\n _calculatePercentWidth(options) {\r\n var columnFitted = options.visibleIndex < options.columnsCount - 1 && options.columnsCanFit;\r\n var partialWidth = options.containerWidth * parseFloat(options.columnWidth) / 100;\r\n var resultWidth = options.columnsCanFit && partialWidth < options.bestFitWidth ? options.bestFitWidth : partialWidth;\r\n return columnFitted ? options.containerWidth * parseFloat(options.columnWidth) / 100 : resultWidth\r\n }\r\n _getNotTruncatedColumnWidth(column, containerWidth, contentColumns, columnsCanFit) {\r\n var columnId = getColumnId(this, column);\r\n var widthOption = this._columnsController.columnOption(columnId, \"width\");\r\n var bestFitWidth = this._columnsController.columnOption(columnId, \"bestFitWidth\");\r\n if (widthOption && \"auto\" !== widthOption && !this._isPercentWidth(widthOption)) {\r\n return parseFloat(widthOption)\r\n }\r\n var colWidth = this._calculateColumnWidth(column, containerWidth, contentColumns, columnsCanFit);\r\n return colWidth < bestFitWidth ? null : colWidth\r\n }\r\n _getItemPercentWidth(item) {\r\n var result = 0;\r\n if (item.width && this._isPercentWidth(item.width)) {\r\n result = parseFloat(item.width)\r\n }\r\n return result\r\n }\r\n _getCommandColumnsWidth() {\r\n var that = this;\r\n var columns = that._columnsController.getVisibleColumns();\r\n var colWidth = 0;\r\n each(columns, (index, column) => {\r\n if (column.index < 0 || column.command) {\r\n colWidth += that._columnsController.columnOption(getColumnId(that, column), \"bestFitWidth\") || 0\r\n }\r\n });\r\n return colWidth\r\n }\r\n _isItemEdited(item) {\r\n if (this.isFormOrPopupEditMode()) {\r\n return false\r\n }\r\n if (this._isRowEditMode()) {\r\n var editRowKey = this.option(\"editing.editRowKey\");\r\n if (equalByValue(editRowKey, this._dataController.adaptiveExpandedKey())) {\r\n return true\r\n }\r\n } else {\r\n var rowIndex = this._dataController.getRowIndexByKey(this._dataController.adaptiveExpandedKey()) + 1;\r\n var columnIndex = this._columnsController.getVisibleIndex(item.column.index);\r\n return this._editingController.isEditCell(rowIndex, columnIndex)\r\n }\r\n }\r\n _getFormItemsByHiddenColumns(hiddenColumns) {\r\n var items = [];\r\n each(hiddenColumns, (_, column) => {\r\n items.push({\r\n column: column,\r\n name: column.name,\r\n dataField: column.dataField,\r\n visibleIndex: column.visibleIndex\r\n })\r\n });\r\n return items\r\n }\r\n _getAdaptiveColumnVisibleIndex(visibleColumns) {\r\n for (var i = 0; i < visibleColumns.length; i++) {\r\n var column = visibleColumns[i];\r\n if (column.command === ADAPTIVE_COLUMN_NAME) {\r\n return i\r\n }\r\n }\r\n return\r\n }\r\n _hideAdaptiveColumn(resultWidths, visibleColumns) {\r\n var visibleIndex = this._getAdaptiveColumnVisibleIndex(visibleColumns);\r\n if (isDefined(visibleIndex)) {\r\n resultWidths[visibleIndex] = HIDDEN_COLUMNS_WIDTH;\r\n this._hideVisibleColumn({\r\n isCommandColumn: true,\r\n visibleIndex: visibleIndex\r\n })\r\n }\r\n }\r\n _showHiddenCellsInView(_ref) {\r\n var {\r\n $cells: $cells,\r\n isCommandColumn: isCommandColumn\r\n } = _ref;\r\n var cssClassNameToRemove = this.addWidgetPrefix(HIDDEN_COLUMN_CLASS);\r\n if (isCommandColumn) {\r\n cssClassNameToRemove = COMMAND_ADAPTIVE_HIDDEN_CLASS;\r\n $cells.attr({\r\n tabIndex: 0,\r\n \"aria-hidden\": null\r\n }).removeClass(cssClassNameToRemove)\r\n } else {\r\n $cells.removeClass(cssClassNameToRemove)\r\n }\r\n }\r\n _showHiddenColumns() {\r\n for (var i = 0; i < COLUMN_VIEWS.length; i++) {\r\n var view = this.getView(COLUMN_VIEWS[i]);\r\n if (view && view.isVisible() && view.element()) {\r\n var viewName = view.name;\r\n var $hiddenCommandCells = view.element().find(\".\".concat(COMMAND_ADAPTIVE_HIDDEN_CLASS));\r\n this._showHiddenCellsInView({\r\n viewName: viewName,\r\n $cells: $hiddenCommandCells,\r\n isCommandColumn: true\r\n });\r\n var $hiddenCells = view.element().find(\".\".concat(this.addWidgetPrefix(HIDDEN_COLUMN_CLASS)));\r\n this._showHiddenCellsInView({\r\n viewName: viewName,\r\n $cells: $hiddenCells\r\n })\r\n }\r\n }\r\n }\r\n _isCellValid($cell) {\r\n return $cell && $cell.length && !$cell.hasClass(MASTER_DETAIL_CELL_CLASS) && !$cell.hasClass(GROUP_CELL_CLASS)\r\n }\r\n _hideVisibleColumn(_ref2) {\r\n var {\r\n isCommandColumn: isCommandColumn,\r\n visibleIndex: visibleIndex\r\n } = _ref2;\r\n var that = this;\r\n COLUMN_VIEWS.forEach(viewName => {\r\n var view = that.getView(viewName);\r\n view && that._hideVisibleColumnInView({\r\n view: view,\r\n isCommandColumn: isCommandColumn,\r\n visibleIndex: visibleIndex\r\n })\r\n })\r\n }\r\n _hideVisibleColumnInView(_ref3) {\r\n var {\r\n view: view,\r\n isCommandColumn: isCommandColumn,\r\n visibleIndex: visibleIndex\r\n } = _ref3;\r\n var viewName = view.name;\r\n var $cellElement;\r\n var column = this._columnsController.getVisibleColumns()[visibleIndex];\r\n var editFormRowIndex = this._editingController && this._editingController.getEditFormRowIndex();\r\n if (view && view.isVisible() && column) {\r\n var rowsCount = view.getRowsCount();\r\n var $rowElements = view._getRowElements();\r\n for (var rowIndex = 0; rowIndex < rowsCount; rowIndex++) {\r\n var cancelClassAdding = rowIndex === editFormRowIndex && viewName === ROWS_VIEW && \"popup\" !== this.option(\"editing.mode\");\r\n if (!cancelClassAdding) {\r\n var currentVisibleIndex = viewName === COLUMN_HEADERS_VIEW ? this._columnsController.getVisibleIndex(column.index, rowIndex) : visibleIndex;\r\n if (currentVisibleIndex >= 0) {\r\n var $rowElement = $rowElements.eq(rowIndex);\r\n $cellElement = this._findCellElementInRow($rowElement, currentVisibleIndex);\r\n this._isCellValid($cellElement) && this._hideVisibleCellInView({\r\n viewName: viewName,\r\n isCommandColumn: isCommandColumn,\r\n $cell: $cellElement\r\n })\r\n }\r\n }\r\n }\r\n }\r\n }\r\n _findCellElementInRow($rowElement, visibleColumnIndex) {\r\n var $rowCells = $rowElement.children();\r\n var visibleIndex = visibleColumnIndex;\r\n var cellIsInsideGroup = false;\r\n if ($rowElement.hasClass(GROUP_ROW_CLASS)) {\r\n var $groupCell = $rowElement.find(\".\".concat(GROUP_CELL_CLASS));\r\n var colSpan = $groupCell.attr(\"colspan\");\r\n if ($groupCell.length && isDefined(colSpan)) {\r\n var groupCellLength = parseInt(colSpan);\r\n var endGroupIndex = $groupCell.index() + groupCellLength - 1;\r\n if (visibleColumnIndex > endGroupIndex) {\r\n visibleIndex = visibleColumnIndex - groupCellLength + 1\r\n } else {\r\n cellIsInsideGroup = true\r\n }\r\n }\r\n }\r\n var $cellElement = !cellIsInsideGroup ? $rowCells.eq(visibleIndex) : void 0;\r\n return $cellElement\r\n }\r\n _hideVisibleCellInView(_ref4) {\r\n var {\r\n $cell: $cell,\r\n isCommandColumn: isCommandColumn\r\n } = _ref4;\r\n var cssClassNameToAdd = isCommandColumn ? COMMAND_ADAPTIVE_HIDDEN_CLASS : this.addWidgetPrefix(HIDDEN_COLUMN_CLASS);\r\n $cell.attr({\r\n tabIndex: -1,\r\n \"aria-hidden\": true\r\n }).addClass(cssClassNameToAdd)\r\n }\r\n _getEditMode() {\r\n return this._editingController.getEditMode()\r\n }\r\n isFormOrPopupEditMode() {\r\n var editMode = this._getEditMode();\r\n return editMode === EDIT_MODE_FORM || editMode === EDIT_MODE_POPUP\r\n }\r\n hideRedundantColumns(resultWidths, visibleColumns, hiddenQueue) {\r\n this._hiddenColumns = [];\r\n if (this._isVisibleColumnsValid(visibleColumns) && hiddenQueue.length) {\r\n var totalWidth = 0;\r\n var $rootElement = this.component.$element();\r\n var rootElementWidth = getWidth($rootElement) - this._getCommandColumnsWidth();\r\n var getVisibleContentColumns = function() {\r\n return visibleColumns.filter(item => !item.command && 0 === this._hiddenColumns.filter(i => i.index === item.index).length)\r\n }.bind(this);\r\n var visibleContentColumns = getVisibleContentColumns();\r\n var contentColumnsCount = visibleContentColumns.length;\r\n var i;\r\n var hasHiddenColumns;\r\n var needHideColumn;\r\n do {\r\n needHideColumn = false;\r\n totalWidth = 0;\r\n var percentWidths = this._calculatePercentWidths(resultWidths, visibleColumns);\r\n var columnsCanFit = percentWidths < 100 && 0 !== percentWidths;\r\n for (i = 0; i < visibleColumns.length; i++) {\r\n var visibleColumn = visibleColumns[i];\r\n var columnWidth = this._getNotTruncatedColumnWidth(visibleColumn, rootElementWidth, visibleContentColumns, columnsCanFit);\r\n var columnId = getColumnId(this, visibleColumn);\r\n var widthOption = this._columnsController.columnOption(columnId, \"width\");\r\n var minWidth = this._columnsController.columnOption(columnId, \"minWidth\");\r\n var columnBestFitWidth = this._columnsController.columnOption(columnId, \"bestFitWidth\");\r\n if (resultWidths[i] === HIDDEN_COLUMNS_WIDTH) {\r\n hasHiddenColumns = true;\r\n continue\r\n }\r\n if (!columnWidth && !visibleColumn.command && !visibleColumn.fixed) {\r\n needHideColumn = true;\r\n break\r\n }\r\n if (!widthOption || \"auto\" === widthOption) {\r\n columnWidth = Math.max(columnBestFitWidth || 0, minWidth || 0)\r\n }\r\n if (visibleColumn.command !== ADAPTIVE_COLUMN_NAME || hasHiddenColumns) {\r\n totalWidth += columnWidth\r\n }\r\n }\r\n needHideColumn = needHideColumn || totalWidth > getWidth($rootElement);\r\n if (needHideColumn) {\r\n var column = hiddenQueue.pop();\r\n var visibleIndex = this._columnsController.getVisibleIndex(column.index);\r\n rootElementWidth += this._calculateColumnWidth(column, rootElementWidth, visibleContentColumns, columnsCanFit);\r\n this._hideVisibleColumn({\r\n visibleIndex: visibleIndex\r\n });\r\n resultWidths[visibleIndex] = HIDDEN_COLUMNS_WIDTH;\r\n this._hiddenColumns.push(column);\r\n visibleContentColumns = getVisibleContentColumns()\r\n }\r\n } while (needHideColumn && visibleContentColumns.length > 1 && hiddenQueue.length);\r\n if (contentColumnsCount === visibleContentColumns.length) {\r\n this._hideAdaptiveColumn(resultWidths, visibleColumns)\r\n }\r\n } else {\r\n this._hideAdaptiveColumn(resultWidths, visibleColumns)\r\n }\r\n }\r\n getAdaptiveDetailItems() {\r\n return this._$itemContents\r\n }\r\n getItemContentByColumnIndex(visibleColumnIndex) {\r\n var $itemContent;\r\n for (var i = 0; i < this._$itemContents.length; i++) {\r\n $itemContent = this._$itemContents.eq(i);\r\n var item = $itemContent.data(\"dx-form-item\");\r\n if (item && item.column && this._columnsController.getVisibleIndex(item.column.index) === visibleColumnIndex) {\r\n return $itemContent\r\n }\r\n }\r\n }\r\n toggleExpandAdaptiveDetailRow(key, alwaysExpanded) {\r\n if (!(this.isFormOrPopupEditMode() && this._editingController.isEditing())) {\r\n this.getController(\"data\").toggleExpandAdaptiveDetailRow(key, alwaysExpanded)\r\n }\r\n }\r\n createFormByHiddenColumns(container, options) {\r\n var that = this;\r\n var $container = $(container);\r\n var userFormOptions = {\r\n items: that._getFormItemsByHiddenColumns(that._hiddenColumns),\r\n formID: \"dx-\".concat(new Guid)\r\n };\r\n var defaultFormOptions = isMaterial() ? {\r\n colCount: 2\r\n } : {};\r\n this.executeAction(\"onAdaptiveDetailRowPreparing\", {\r\n formOptions: userFormOptions\r\n });\r\n that._$itemContents = null;\r\n that._form = that._createComponent($(\"
    \").appendTo($container), Form, extend(defaultFormOptions, userFormOptions, {\r\n customizeItem(item) {\r\n var column = item.column || that._columnsController.columnOption(item.name || item.dataField);\r\n if (column) {\r\n item.label = item.label || {};\r\n item.label.text = item.label.text || column.caption;\r\n item.column = column;\r\n item.template = that._getTemplate(item, options, that.updateForm.bind(that))\r\n }\r\n userFormOptions.customizeItem && userFormOptions.customizeItem.call(this, item)\r\n },\r\n onContentReady(e) {\r\n userFormOptions.onContentReady && userFormOptions.onContentReady.call(this, e);\r\n that._$itemContents = $container.find(\".\".concat(FORM_ITEM_CONTENT_CLASS))\r\n }\r\n }))\r\n }\r\n hasAdaptiveDetailRowExpanded() {\r\n return isDefined(this._dataController.adaptiveExpandedKey())\r\n }\r\n updateForm(hiddenColumns) {\r\n if (this.hasAdaptiveDetailRowExpanded()) {\r\n if (this._form && isDefined(this._form._contentReadyAction)) {\r\n if (hiddenColumns && hiddenColumns.length) {\r\n this._form.option(\"items\", this._getFormItemsByHiddenColumns(hiddenColumns))\r\n } else {\r\n this._form.repaint()\r\n }\r\n }\r\n }\r\n }\r\n updateHidingQueue(columns) {\r\n var hideableColumns = columns.filter(column => column.visible && !column.type && !column.fixed && !(isDefined(column.groupIndex) && column.groupIndex >= 0));\r\n var columnsHasHidingPriority;\r\n var i;\r\n this._hidingColumnsQueue = [];\r\n if (this.option(\"allowColumnResizing\") && \"widget\" === this.option(\"columnResizingMode\")) {\r\n return this._hidingColumnsQueue\r\n }\r\n for (i = 0; i < hideableColumns.length; i++) {\r\n if (isDefined(hideableColumns[i].hidingPriority) && hideableColumns[i].hidingPriority >= 0) {\r\n columnsHasHidingPriority = true;\r\n this._hidingColumnsQueue[hideableColumns[i].hidingPriority] = hideableColumns[i]\r\n }\r\n }\r\n if (columnsHasHidingPriority) {\r\n this._hidingColumnsQueue.reverse()\r\n } else if (this.option(\"columnHidingEnabled\")) {\r\n for (i = 0; i < hideableColumns.length; i++) {\r\n var visibleIndex = this._columnsController.getVisibleIndex(hideableColumns[i].index);\r\n this._hidingColumnsQueue[visibleIndex] = hideableColumns[i]\r\n }\r\n }\r\n this._hidingColumnsQueue = this._hidingColumnsQueue.filter(Object);\r\n return this._hidingColumnsQueue\r\n }\r\n getHiddenColumns() {\r\n return this._hiddenColumns\r\n }\r\n hasHiddenColumns() {\r\n return this._hiddenColumns.length > 0\r\n }\r\n getHidingColumnsQueue() {\r\n return this._hidingColumnsQueue\r\n }\r\n init() {\r\n var that = this;\r\n that._columnsController = that.getController(\"columns\");\r\n that._dataController = that.getController(\"data\");\r\n that._rowsView = that.getView(\"rowsView\");\r\n that._columnsController.addCommandColumn({\r\n type: ADAPTIVE_COLUMN_NAME,\r\n command: ADAPTIVE_COLUMN_NAME,\r\n visible: true,\r\n adaptiveHidden: true,\r\n cssClass: ADAPTIVE_COLUMN_NAME_CLASS,\r\n alignment: \"center\",\r\n width: \"auto\",\r\n cellTemplate: adaptiveCellTemplate,\r\n fixedPosition: \"right\"\r\n });\r\n that._columnsController.columnsChanged.add(() => {\r\n var isAdaptiveVisible = !!that.updateHidingQueue(that._columnsController.getColumns()).length;\r\n that._columnsController.columnOption(\"command:adaptive\", \"adaptiveHidden\", !isAdaptiveVisible, true)\r\n });\r\n that._editingController = that.getController(\"editing\");\r\n that._hidingColumnsQueue = [];\r\n that._hiddenColumns = [];\r\n that.createAction(\"onAdaptiveDetailRowPreparing\");\r\n super.init()\r\n }\r\n optionChanged(args) {\r\n if (\"columnHidingEnabled\" === args.name) {\r\n this._columnsController.columnOption(\"command:adaptive\", \"adaptiveHidden\", !args.value)\r\n }\r\n super.optionChanged(args)\r\n }\r\n publicMethods() {\r\n return [\"isAdaptiveDetailRowExpanded\", \"expandAdaptiveDetailRow\", \"collapseAdaptiveDetailRow\"]\r\n }\r\n isAdaptiveDetailRowExpanded(key) {\r\n var dataController = this._dataController;\r\n return dataController.adaptiveExpandedKey() && equalByValue(dataController.adaptiveExpandedKey(), key)\r\n }\r\n expandAdaptiveDetailRow(key) {\r\n if (!this.hasAdaptiveDetailRowExpanded()) {\r\n this.toggleExpandAdaptiveDetailRow(key)\r\n }\r\n }\r\n collapseAdaptiveDetailRow() {\r\n if (this.hasAdaptiveDetailRowExpanded()) {\r\n this.toggleExpandAdaptiveDetailRow()\r\n }\r\n }\r\n updateCommandAdaptiveAriaLabel(key, label) {\r\n var rowIndex = this._dataController.getRowIndexByKey(key);\r\n if (-1 === rowIndex) {\r\n return\r\n }\r\n var $row = $(this.component.getRowElement(rowIndex));\r\n this.setCommandAdaptiveAriaLabel($row, label)\r\n }\r\n setCommandAdaptiveAriaLabel($row, labelName) {\r\n var $adaptiveCommand = $row.find(\".dx-command-adaptive\");\r\n $adaptiveCommand.attr(\"aria-label\", messageLocalization.format(labelName))\r\n }\r\n}\r\nvar keyboardNavigation = Base => class extends Base {\r\n _isCellValid($cell, isClick) {\r\n return super._isCellValid($cell, isClick) && !$cell.hasClass(this.addWidgetPrefix(HIDDEN_COLUMN_CLASS)) && !$cell.hasClass(COMMAND_ADAPTIVE_HIDDEN_CLASS)\r\n }\r\n _processNextCellInMasterDetail($nextCell, $cell) {\r\n super._processNextCellInMasterDetail($nextCell, $cell);\r\n var isCellOrBatchMode = this._editingController.isCellOrBatchEditMode();\r\n var isEditing = this._editingController.isEditing();\r\n if (isEditing && $nextCell && isCellOrBatchMode && !this._isInsideEditForm($nextCell)) {\r\n eventsEngine.off($nextCell, \"focus\", focusCellHandler);\r\n eventsEngine.on($nextCell, \"focus\", {\r\n $nextCell: $nextCell\r\n }, focusCellHandler);\r\n eventsEngine.trigger($cell, \"focus\")\r\n }\r\n }\r\n _isCellElement($cell) {\r\n return super._isCellElement($cell) || $cell.hasClass(ADAPTIVE_ITEM_TEXT_CLASS)\r\n }\r\n init() {\r\n super.init();\r\n this._adaptiveController = this.getController(\"adaptiveColumns\")\r\n }\r\n};\r\nvar rowsView = Base => class extends Base {\r\n _getCellTemplate(options) {\r\n var that = this;\r\n var {\r\n column: column\r\n } = options;\r\n if (options.rowType === ADAPTIVE_ROW_TYPE && \"detail\" === column.command) {\r\n return function(container, options) {\r\n that._adaptiveColumnsController.createFormByHiddenColumns($(container), options)\r\n }\r\n }\r\n return super._getCellTemplate(options)\r\n }\r\n _createRow(row) {\r\n var $row = super._createRow.apply(this, arguments);\r\n if (row && row.rowType === ADAPTIVE_ROW_TYPE && row.key === this._dataController.adaptiveExpandedKey()) {\r\n $row.addClass(ADAPTIVE_DETAIL_ROW_CLASS)\r\n }\r\n return $row\r\n }\r\n _renderCells($row, options) {\r\n super._renderCells($row, options);\r\n var adaptiveColumnsController = this._adaptiveColumnsController;\r\n var hidingColumnsQueueLength = adaptiveColumnsController.getHidingColumnsQueue().length;\r\n var hiddenColumnsLength = adaptiveColumnsController.getHiddenColumns().length;\r\n if (hidingColumnsQueueLength && !hiddenColumnsLength) {\r\n getDataCellElements($row).last().addClass(LAST_DATA_CELL_CLASS)\r\n }\r\n if (\"data\" === options.row.rowType) {\r\n adaptiveColumnsController.setCommandAdaptiveAriaLabel($row, EXPAND_ARIA_NAME)\r\n }\r\n }\r\n _getColumnIndexByElementCore($element) {\r\n var $itemContent = $element.closest(\".\".concat(FORM_ITEM_CONTENT_CLASS));\r\n if ($itemContent.length && $itemContent.closest(this.component.$element()).length) {\r\n var formItem = $itemContent.length ? $itemContent.first().data(\"dx-form-item\") : null;\r\n return formItem && formItem.column && this._columnsController.getVisibleIndex(formItem.column.index)\r\n }\r\n return super._getColumnIndexByElementCore($element)\r\n }\r\n _cellPrepared($cell, options) {\r\n super._cellPrepared.apply(this, arguments);\r\n if (options.row.rowType !== ADAPTIVE_ROW_TYPE && options.column.visibleWidth === HIDDEN_COLUMNS_WIDTH) {\r\n $cell.addClass(this.addWidgetPrefix(HIDDEN_COLUMN_CLASS))\r\n }\r\n }\r\n getCell(cellPosition, rows) {\r\n var item = this._dataController.items()[null === cellPosition || void 0 === cellPosition ? void 0 : cellPosition.rowIndex];\r\n if ((null === item || void 0 === item ? void 0 : item.rowType) === ADAPTIVE_ROW_TYPE) {\r\n var $adaptiveDetailItems = this._adaptiveColumnsController.getAdaptiveDetailItems();\r\n return super.getCell(cellPosition, rows, $adaptiveDetailItems)\r\n }\r\n return super.getCell.apply(this, arguments)\r\n }\r\n _getCellElement(rowIndex, columnIdentifier) {\r\n var item = this._dataController.items()[rowIndex];\r\n if (item && item.rowType === ADAPTIVE_ROW_TYPE) {\r\n return this._adaptiveColumnsController.getItemContentByColumnIndex(columnIdentifier)\r\n }\r\n return super._getCellElement.apply(this, arguments)\r\n }\r\n getContextMenuItems(options) {\r\n var _a;\r\n if (options.row && \"detailAdaptive\" === options.row.rowType) {\r\n var view = this.component.getView(\"columnHeadersView\");\r\n var formItem = $(options.targetElement).closest(\".dx-field-item-label\").next().data(\"dx-form-item\");\r\n options.column = formItem ? formItem.column : options.column;\r\n return view.getContextMenuItems && view.getContextMenuItems(options)\r\n }\r\n return null === (_a = super.getContextMenuItems) || void 0 === _a ? void 0 : _a.call(this, options)\r\n }\r\n isClickableElement($target) {\r\n var _a, _b;\r\n var isClickable = null !== (_b = null === (_a = super.isClickableElement) || void 0 === _a ? void 0 : _a.call(this, $target)) && void 0 !== _b ? _b : false;\r\n return isClickable || !!$target.closest(\".\".concat(ADAPTIVE_COLUMN_NAME_CLASS)).length\r\n }\r\n init() {\r\n super.init();\r\n this._adaptiveColumnsController = this.getController(\"adaptiveColumns\")\r\n }\r\n};\r\nvar exportExtender = Base => class extends Base {\r\n _updateColumnWidth(column, width) {\r\n super._updateColumnWidth(column, column.visibleWidth === HIDDEN_COLUMNS_WIDTH ? column.bestFitWidth : width)\r\n }\r\n};\r\nvar columnsResizer = Base => class extends Base {\r\n _pointCreated(point, cellsLength, columns) {\r\n var result = super._pointCreated(point, cellsLength, columns);\r\n var currentColumn = columns[point.columnIndex] || {};\r\n var nextColumnIndex = this._getNextColumnIndex(point.columnIndex);\r\n var nextColumn = columns[nextColumnIndex] || {};\r\n var hasHiddenColumnsOnly = nextColumnIndex !== point.columnIndex + 1 && nextColumn.command;\r\n var hasAdaptiveHiddenWidth = currentColumn.visibleWidth === HIDDEN_COLUMNS_WIDTH || hasHiddenColumnsOnly;\r\n return result || hasAdaptiveHiddenWidth\r\n }\r\n _getNextColumnIndex(currentColumnIndex) {\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n var index = super._getNextColumnIndex(currentColumnIndex);\r\n while (visibleColumns[index] && visibleColumns[index].visibleWidth === HIDDEN_COLUMNS_WIDTH) {\r\n index++\r\n }\r\n return index\r\n }\r\n};\r\nvar draggingHeader = Base => class extends Base {\r\n _pointCreated(point, columns, location, sourceColumn) {\r\n var result = super._pointCreated(point, columns, location, sourceColumn);\r\n var column = columns[point.columnIndex - 1] || {};\r\n var hasAdaptiveHiddenWidth = column.visibleWidth === HIDDEN_COLUMNS_WIDTH;\r\n return result || hasAdaptiveHiddenWidth\r\n }\r\n};\r\nvar editing = Base => class extends Base {\r\n _isRowEditMode() {\r\n return this.getEditMode() === EDIT_MODE_ROW\r\n }\r\n _getFormEditItemTemplate(cellOptions, column) {\r\n if (this.getEditMode() !== EDIT_MODE_ROW && \"detailAdaptive\" === cellOptions.rowType) {\r\n cellOptions.columnIndex = this._columnsController.getVisibleIndex(column.index);\r\n return this.getColumnTemplate(cellOptions)\r\n }\r\n return super._getFormEditItemTemplate(cellOptions, column)\r\n }\r\n _closeEditItem($targetElement) {\r\n var $itemContents = $targetElement.closest(\".\".concat(FORM_ITEM_CONTENT_CLASS));\r\n var rowIndex = this._dataController.getRowIndexByKey(this._dataController.adaptiveExpandedKey()) + 1;\r\n var formItem = $itemContents.length ? $itemContents.first().data(\"dx-form-item\") : null;\r\n var columnIndex = formItem && formItem.column && this._columnsController.getVisibleIndex(formItem.column.index);\r\n if (!this.isEditCell(rowIndex, columnIndex)) {\r\n super._closeEditItem($targetElement)\r\n }\r\n }\r\n _beforeUpdateItems(rowIndices, rowIndex) {\r\n if (!this._adaptiveController.isFormOrPopupEditMode() && this._adaptiveController.hasHiddenColumns()) {\r\n var items = this._dataController.items();\r\n var item = items[rowIndex];\r\n var oldExpandRowIndex = gridCoreUtils.getIndexByKey(this._dataController.adaptiveExpandedKey(), items);\r\n this._isForceRowAdaptiveExpand = !this._adaptiveController.hasAdaptiveDetailRowExpanded();\r\n if (oldExpandRowIndex >= 0) {\r\n rowIndices.push(oldExpandRowIndex + 1)\r\n }\r\n rowIndices.push(rowIndex + 1);\r\n this._dataController.adaptiveExpandedKey(item.key)\r\n }\r\n }\r\n _afterInsertRow(key) {\r\n super._afterInsertRow.apply(this, arguments);\r\n if (this._adaptiveController.hasHiddenColumns()) {\r\n this._adaptiveController.toggleExpandAdaptiveDetailRow(key, this.isRowEditMode());\r\n this._isForceRowAdaptiveExpand = true\r\n }\r\n }\r\n _collapseAdaptiveDetailRow() {\r\n if (this._isRowEditMode() && this._isForceRowAdaptiveExpand) {\r\n this._adaptiveController.collapseAdaptiveDetailRow();\r\n this._isForceRowAdaptiveExpand = false\r\n }\r\n }\r\n _cancelEditAdaptiveDetailRow() {\r\n if (this._adaptiveController.hasHiddenColumns()) {\r\n this._collapseAdaptiveDetailRow()\r\n }\r\n }\r\n _afterSaveEditData() {\r\n super._afterSaveEditData.apply(this, arguments);\r\n var deferred = new Deferred;\r\n if (this._isRowEditMode() && this._adaptiveController.hasHiddenColumns()) {\r\n when(this.getController(\"validating\").validate(true)).done(isValid => {\r\n if (isValid) {\r\n this._cancelEditAdaptiveDetailRow()\r\n }\r\n deferred.resolve()\r\n })\r\n } else {\r\n deferred.resolve()\r\n }\r\n return deferred.promise()\r\n }\r\n _beforeCancelEditData() {\r\n super._beforeCancelEditData();\r\n this._cancelEditAdaptiveDetailRow()\r\n }\r\n _getRowIndicesForCascadeUpdating(row) {\r\n var rowIndices = super._getRowIndicesForCascadeUpdating.apply(this, arguments);\r\n if (this._adaptiveController.isAdaptiveDetailRowExpanded(row.key)) {\r\n rowIndices.push(row.rowType === ADAPTIVE_ROW_TYPE ? row.rowIndex - 1 : row.rowIndex + 1)\r\n }\r\n return rowIndices\r\n }\r\n _beforeCloseEditCellInBatchMode(rowIndices) {\r\n var expandedKey = this._dataController._adaptiveExpandedKey;\r\n if (expandedKey) {\r\n var rowIndex = gridCoreUtils.getIndexByKey(expandedKey, this._dataController.items());\r\n if (rowIndex > -1) {\r\n rowIndices.unshift(rowIndex)\r\n }\r\n }\r\n }\r\n editRow(rowIndex) {\r\n if (this._adaptiveController.isFormOrPopupEditMode()) {\r\n this._adaptiveController.collapseAdaptiveDetailRow()\r\n }\r\n return super.editRow(rowIndex)\r\n }\r\n deleteRow(rowIndex) {\r\n var rowKey = this._dataController.getKeyByRowIndex(rowIndex);\r\n if (this.getEditMode() === EDIT_MODE_BATCH && this._adaptiveController.isAdaptiveDetailRowExpanded(rowKey)) {\r\n this._adaptiveController.collapseAdaptiveDetailRow()\r\n }\r\n super.deleteRow(rowIndex)\r\n }\r\n init() {\r\n super.init();\r\n this._adaptiveController = this.getController(\"adaptiveColumns\")\r\n }\r\n};\r\nvar data = Base => class extends Base {\r\n _processItems(items, change) {\r\n var {\r\n changeType: changeType\r\n } = change;\r\n items = super._processItems.apply(this, arguments);\r\n if (\"loadingAll\" === changeType || !isDefined(this._adaptiveExpandedKey)) {\r\n return items\r\n }\r\n var expandRowIndex = gridCoreUtils.getIndexByKey(this._adaptiveExpandedKey, items);\r\n var newMode = false === this.option(LEGACY_SCROLLING_MODE);\r\n if (expandRowIndex >= 0) {\r\n var item = items[expandRowIndex];\r\n items.splice(expandRowIndex + 1, 0, {\r\n visible: true,\r\n rowType: ADAPTIVE_ROW_TYPE,\r\n key: item.key,\r\n data: item.data,\r\n node: item.node,\r\n modifiedValues: item.modifiedValues,\r\n isNewRow: item.isNewRow,\r\n values: item.values\r\n })\r\n } else if (\"refresh\" === changeType && !(newMode && change.repaintChangesOnly)) {\r\n this._adaptiveExpandedKey = void 0\r\n }\r\n return items\r\n }\r\n _getRowIndicesForExpand(key) {\r\n var rowIndices = super._getRowIndicesForExpand.apply(this, arguments);\r\n if (this.getController(\"adaptiveColumns\").isAdaptiveDetailRowExpanded(key)) {\r\n var lastRowIndex = rowIndices[rowIndices.length - 1];\r\n rowIndices.push(lastRowIndex + 1)\r\n }\r\n return rowIndices\r\n }\r\n adaptiveExpandedKey(value) {\r\n if (isDefined(value)) {\r\n this._adaptiveExpandedKey = value\r\n } else {\r\n return this._adaptiveExpandedKey\r\n }\r\n }\r\n toggleExpandAdaptiveDetailRow(key, alwaysExpanded) {\r\n var oldExpandLoadedRowIndex = gridCoreUtils.getIndexByKey(this._adaptiveExpandedKey, this._items);\r\n var newExpandLoadedRowIndex = gridCoreUtils.getIndexByKey(key, this._items);\r\n if (oldExpandLoadedRowIndex >= 0 && oldExpandLoadedRowIndex === newExpandLoadedRowIndex && !alwaysExpanded) {\r\n key = void 0;\r\n newExpandLoadedRowIndex = -1\r\n }\r\n var oldKey = this._adaptiveExpandedKey;\r\n this._adaptiveExpandedKey = key;\r\n if (oldExpandLoadedRowIndex >= 0) {\r\n oldExpandLoadedRowIndex++\r\n }\r\n if (newExpandLoadedRowIndex >= 0) {\r\n newExpandLoadedRowIndex++\r\n }\r\n var rowIndexDelta = this.getRowIndexDelta();\r\n this.updateItems({\r\n allowInvisibleRowIndices: true,\r\n changeType: \"update\",\r\n rowIndices: [oldExpandLoadedRowIndex - rowIndexDelta, newExpandLoadedRowIndex - rowIndexDelta]\r\n });\r\n var adaptiveColumnsController = this.getController(\"adaptiveColumns\");\r\n adaptiveColumnsController.updateCommandAdaptiveAriaLabel(key, COLLAPSE_ARIA_NAME);\r\n adaptiveColumnsController.updateCommandAdaptiveAriaLabel(oldKey, EXPAND_ARIA_NAME)\r\n }\r\n init() {\r\n super.init();\r\n this._adaptiveExpandedKey = void 0\r\n }\r\n};\r\nvar editorFactory = Base => class extends Base {\r\n _needHideBorder($element) {\r\n return super._needHideBorder($element) || (null === $element || void 0 === $element ? void 0 : $element.hasClass(\"dx-field-item-content\")) && (null === $element || void 0 === $element ? void 0 : $element.find(\".dx-checkbox\").length)\r\n }\r\n _getFocusCellSelector() {\r\n return \"\".concat(super._getFocusCellSelector(), \", .dx-adaptive-detail-row .dx-field-item > .dx-field-item-content\")\r\n }\r\n _getRevertTooltipsSelector() {\r\n return \"\".concat(super._getRevertTooltipsSelector(), \", .dx-field-item-content .\").concat(this.addWidgetPrefix(REVERT_TOOLTIP_CLASS))\r\n }\r\n};\r\nvar columns = Base => class extends Base {\r\n _isColumnVisible(column) {\r\n return super._isColumnVisible(column) && !column.adaptiveHidden\r\n }\r\n};\r\nexport var adaptivityModule = {\r\n defaultOptions: () => ({\r\n columnHidingEnabled: false,\r\n onAdaptiveDetailRowPreparing: null\r\n }),\r\n controllers: {\r\n adaptiveColumns: AdaptiveColumnsController\r\n },\r\n extenders: {\r\n views: {\r\n rowsView: rowsView\r\n },\r\n controllers: {\r\n export: exportExtender,\r\n columnsResizer: columnsResizer,\r\n draggingHeader: draggingHeader,\r\n editing: editing,\r\n resizing: {\r\n _needBestFit() {\r\n return this.callBase() || !!this._adaptiveColumnsController.getHidingColumnsQueue().length\r\n },\r\n _correctColumnWidths(resultWidths, visibleColumns) {\r\n var adaptiveController = this._adaptiveColumnsController;\r\n var oldHiddenColumns = adaptiveController.getHiddenColumns();\r\n var hidingColumnsQueue = adaptiveController.updateHidingQueue(this._columnsController.getColumns());\r\n adaptiveController.hideRedundantColumns(resultWidths, visibleColumns, hidingColumnsQueue);\r\n var hiddenColumns = adaptiveController.getHiddenColumns();\r\n if (adaptiveController.hasAdaptiveDetailRowExpanded()) {\r\n if (oldHiddenColumns.length !== hiddenColumns.length) {\r\n adaptiveController.updateForm(hiddenColumns)\r\n }\r\n }!hiddenColumns.length && adaptiveController.collapseAdaptiveDetailRow();\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _toggleBestFitMode(isBestFit) {\r\n isBestFit && this._adaptiveColumnsController._showHiddenColumns();\r\n this.callBase(isBestFit)\r\n },\r\n _needStretch() {\r\n var adaptiveColumnsController = this._adaptiveColumnsController;\r\n return this.callBase.apply(this, arguments) || adaptiveColumnsController.getHidingColumnsQueue().length || adaptiveColumnsController.hasHiddenColumns()\r\n },\r\n init() {\r\n this._adaptiveColumnsController = this.getController(\"adaptiveColumns\");\r\n this.callBase()\r\n },\r\n dispose() {\r\n this.callBase.apply(this, arguments);\r\n clearTimeout(this._updateScrollableTimeoutID)\r\n }\r\n },\r\n data: data,\r\n editorFactory: editorFactory,\r\n columns: columns,\r\n keyboardNavigation: keyboardNavigation\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/column_chooser/m_column_chooser.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n deferUpdate,\r\n noop\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getOuterHeight,\r\n getOuterWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport Button from \"../../../../ui/button\";\r\nimport Popup from \"../../../../ui/popup/ui.popup\";\r\nimport {\r\n current,\r\n isGeneric,\r\n isMaterial as isMaterialTheme\r\n} from \"../../../../ui/themes\";\r\nimport TreeView from \"../../../../ui/tree_view\";\r\nimport modules from \"../m_modules\";\r\nimport {\r\n ColumnsView\r\n} from \"../views/m_columns_view\";\r\nvar COLUMN_CHOOSER_CLASS = \"column-chooser\";\r\nvar COLUMN_CHOOSER_BUTTON_CLASS = \"column-chooser-button\";\r\nvar COLUMN_CHOOSER_LIST_CLASS = \"column-chooser-list\";\r\nvar COLUMN_CHOOSER_PLAIN_CLASS = \"column-chooser-plain\";\r\nvar COLUMN_CHOOSER_DRAG_CLASS = \"column-chooser-mode-drag\";\r\nvar COLUMN_CHOOSER_SELECT_CLASS = \"column-chooser-mode-select\";\r\nvar COLUMN_CHOOSER_ICON_NAME = \"column-chooser\";\r\nvar COLUMN_CHOOSER_ITEM_CLASS = \"dx-column-chooser-item\";\r\nvar TREEVIEW_NODE_SELECTOR = \".dx-treeview-node\";\r\nvar CHECKBOX_SELECTOR = \".dx-checkbox\";\r\nvar CLICK_TIMEOUT = 300;\r\nvar processItems = function(that, chooserColumns) {\r\n var items = [];\r\n var isSelectMode = \"select\" === that.option(\"columnChooser.mode\");\r\n if (chooserColumns.length) {\r\n each(chooserColumns, (index, column) => {\r\n var item = {\r\n text: column.caption,\r\n cssClass: column.cssClass,\r\n allowHiding: column.allowHiding,\r\n expanded: true,\r\n id: column.index,\r\n disabled: false,\r\n disableCheckBox: false === column.allowHiding,\r\n parentId: isDefined(column.ownerBand) ? column.ownerBand : null\r\n };\r\n if (isSelectMode) {\r\n item.selected = column.visible\r\n }\r\n items.push(item)\r\n })\r\n }\r\n return items\r\n};\r\nvar columnChooserControllerMembers = {\r\n renderShowColumnChooserButton($element) {\r\n var that = this;\r\n var columnChooserButtonClass = that.addWidgetPrefix(COLUMN_CHOOSER_BUTTON_CLASS);\r\n var columnChooserEnabled = that.option(\"columnChooser.enabled\");\r\n var $showColumnChooserButton = $element.find(\".\".concat(columnChooserButtonClass));\r\n var $columnChooserButton;\r\n if (columnChooserEnabled) {\r\n if (!$showColumnChooserButton.length) {\r\n $columnChooserButton = $(\"
    \").addClass(columnChooserButtonClass).appendTo($element);\r\n that._createComponent($columnChooserButton, Button, {\r\n icon: COLUMN_CHOOSER_ICON_NAME,\r\n onClick() {\r\n that.getView(\"columnChooserView\").showColumnChooser()\r\n },\r\n hint: that.option(\"columnChooser.title\"),\r\n integrationOptions: {}\r\n })\r\n } else {\r\n $showColumnChooserButton.show()\r\n }\r\n } else {\r\n $showColumnChooserButton.hide()\r\n }\r\n },\r\n getPosition() {\r\n var rowsView = this.getView(\"rowsView\");\r\n return {\r\n my: \"right bottom\",\r\n at: \"right bottom\",\r\n of: rowsView && rowsView.element(),\r\n collision: \"fit\",\r\n offset: \"-2 -2\",\r\n boundaryOffset: \"2 2\"\r\n }\r\n }\r\n};\r\nvar ColumnChooserController = modules.ViewController.inherit(columnChooserControllerMembers);\r\nvar columnChooserMembers = {\r\n _resizeCore: noop,\r\n _updateList(change) {\r\n var items;\r\n var $popupContent = this._popupContainer.$content();\r\n var isSelectMode = \"select\" === this.option(\"columnChooser.mode\");\r\n var columnChooserList = this._columnChooserList;\r\n var chooserColumns = this._columnsController.getChooserColumns(isSelectMode);\r\n this._popupContainer.setAria({\r\n role: \"dialog\",\r\n label: messageLocalization.format(\"dxDataGrid-columnChooserTitle\")\r\n });\r\n if (isSelectMode && columnChooserList && change && \"selection\" === change.changeType) {\r\n items = processItems(this, chooserColumns);\r\n for (var i = 0; i < items.length; i++) {\r\n var {\r\n selected: selected\r\n } = items[i];\r\n var {\r\n id: id\r\n } = items[i];\r\n if (id === change.columnIndex) {\r\n if (selected) {\r\n columnChooserList.selectItem(id, selected)\r\n } else {\r\n columnChooserList.unselectItem(id, selected)\r\n }\r\n }\r\n }\r\n } else if (!isSelectMode || !columnChooserList || \"full\" === change) {\r\n this._popupContainer.$wrapper().toggleClass(this.addWidgetPrefix(COLUMN_CHOOSER_DRAG_CLASS), !isSelectMode).toggleClass(this.addWidgetPrefix(COLUMN_CHOOSER_SELECT_CLASS), isSelectMode);\r\n items = processItems(this, chooserColumns);\r\n this._renderTreeView($popupContent, items)\r\n }\r\n },\r\n _initializePopupContainer() {\r\n var that = this;\r\n var columnChooserClass = that.addWidgetPrefix(COLUMN_CHOOSER_CLASS);\r\n var $element = that.element().addClass(columnChooserClass);\r\n var columnChooserOptions = that.option(\"columnChooser\");\r\n var themeName = current();\r\n var isGenericTheme = isGeneric(themeName);\r\n var isMaterial = isMaterialTheme(themeName);\r\n var dxPopupOptions = {\r\n visible: false,\r\n shading: false,\r\n showCloseButton: false,\r\n dragEnabled: true,\r\n resizeEnabled: true,\r\n wrapperAttr: {\r\n class: columnChooserClass\r\n },\r\n toolbarItems: [{\r\n text: columnChooserOptions.title,\r\n toolbar: \"top\",\r\n location: isGenericTheme || isMaterial ? \"before\" : \"center\"\r\n }],\r\n position: that.getController(\"columnChooser\").getPosition(),\r\n width: columnChooserOptions.width,\r\n height: columnChooserOptions.height,\r\n rtlEnabled: that.option(\"rtlEnabled\"),\r\n container: columnChooserOptions.container\r\n };\r\n if (isGenericTheme || isMaterial) {\r\n extend(dxPopupOptions, {\r\n showCloseButton: true\r\n })\r\n } else {\r\n dxPopupOptions.toolbarItems[dxPopupOptions.toolbarItems.length] = {\r\n shortcut: \"cancel\"\r\n }\r\n }\r\n if (!isDefined(this._popupContainer)) {\r\n that._popupContainer = that._createComponent($element, Popup, dxPopupOptions);\r\n that._popupContainer.on(\"optionChanged\", args => {\r\n if (\"visible\" === args.name) {\r\n that.renderCompleted.fire()\r\n }\r\n })\r\n } else {\r\n this._popupContainer.option(dxPopupOptions)\r\n }\r\n },\r\n _renderCore(change) {\r\n if (this._popupContainer) {\r\n this._updateList(change)\r\n }\r\n },\r\n _renderTreeView($container, items) {\r\n var that = this;\r\n var columnChooser = this.option(\"columnChooser\");\r\n var isSelectMode = \"select\" === columnChooser.mode;\r\n var treeViewConfig = {\r\n items: items,\r\n dataStructure: \"plain\",\r\n activeStateEnabled: true,\r\n focusStateEnabled: true,\r\n hoverStateEnabled: true,\r\n itemTemplate: \"item\",\r\n showCheckBoxesMode: \"none\",\r\n rootValue: null,\r\n searchEnabled: columnChooser.allowSearch,\r\n searchTimeout: columnChooser.searchTimeout,\r\n onItemRendered(e) {\r\n if (e.itemData.disableCheckBox) {\r\n var $treeViewNode = $(e.itemElement).closest(TREEVIEW_NODE_SELECTOR);\r\n var $checkBox;\r\n if ($treeViewNode.length) {\r\n $checkBox = $treeViewNode.find(CHECKBOX_SELECTOR);\r\n if ($checkBox.length) {\r\n var checkBoxInstance = $checkBox.data(\"dxCheckBox\");\r\n checkBoxInstance && checkBoxInstance.option(\"disabled\", true)\r\n }\r\n }\r\n }\r\n }\r\n };\r\n var scrollableInstance = $container.find(\".dx-scrollable\").data(\"dxScrollable\");\r\n var scrollTop = scrollableInstance && scrollableInstance.scrollTop();\r\n if (isSelectMode && !this._columnsController.isBandColumnsUsed()) {\r\n $container.addClass(this.addWidgetPrefix(COLUMN_CHOOSER_PLAIN_CLASS))\r\n }\r\n treeViewConfig.onContentReady = function(e) {\r\n deferUpdate(() => {\r\n if (scrollTop) {\r\n var scrollable = $(e.element).find(\".dx-scrollable\").data(\"dxScrollable\");\r\n scrollable && scrollable.scrollTo({\r\n y: scrollTop\r\n })\r\n }\r\n that.renderCompleted.fire()\r\n })\r\n };\r\n extend(treeViewConfig, isSelectMode ? this._prepareSelectModeConfig() : this._prepareDragModeConfig());\r\n if (this._columnChooserList) {\r\n if (!treeViewConfig.searchEnabled) {\r\n treeViewConfig.searchValue = \"\"\r\n }\r\n this._columnChooserList.option(treeViewConfig)\r\n } else {\r\n this._columnChooserList = this._createComponent($container, TreeView, treeViewConfig);\r\n $container.addClass(this.addWidgetPrefix(COLUMN_CHOOSER_LIST_CLASS))\r\n }\r\n },\r\n _prepareDragModeConfig() {\r\n var columnChooserOptions = this.option(\"columnChooser\");\r\n return {\r\n noDataText: columnChooserOptions.emptyPanelText,\r\n activeStateEnabled: false,\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false,\r\n itemTemplate(data, index, item) {\r\n $(item).text(data.text).parent().addClass(data.cssClass).addClass(COLUMN_CHOOSER_ITEM_CLASS)\r\n }\r\n }\r\n },\r\n _prepareSelectModeConfig() {\r\n var that = this;\r\n return {\r\n selectNodesRecursive: false,\r\n showCheckBoxesMode: \"normal\",\r\n onItemSelectionChanged: function(e) {\r\n var visibleColumns = that._columnsController.getVisibleColumns().filter(item => !item.command);\r\n var isLastColumnUnselected = 1 === visibleColumns.length && !e.itemData.selected;\r\n if (isLastColumnUnselected) {\r\n e.component.selectItem(e.itemElement)\r\n } else {\r\n setTimeout(() => {\r\n that._columnsController.columnOption(e.itemData.id, \"visible\", e.itemData.selected)\r\n }, CLICK_TIMEOUT)\r\n }\r\n }\r\n }\r\n },\r\n _columnOptionChanged(e) {\r\n var {\r\n changeTypes: changeTypes\r\n } = e;\r\n var {\r\n optionNames: optionNames\r\n } = e;\r\n var isSelectMode = \"select\" === this.option(\"columnChooser.mode\");\r\n this.callBase(e);\r\n if (isSelectMode) {\r\n var needPartialRender = optionNames.visible && 1 === optionNames.length && void 0 !== e.columnIndex;\r\n var needFullRender = optionNames.showInColumnChooser || optionNames.caption || optionNames.visible || changeTypes.columns && optionNames.all;\r\n if (needPartialRender) {\r\n this.render(null, {\r\n changeType: \"selection\",\r\n columnIndex: e.columnIndex\r\n })\r\n } else if (needFullRender) {\r\n this.render(null, \"full\")\r\n }\r\n }\r\n },\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"columnChooser\":\r\n this._initializePopupContainer();\r\n this.render(null, \"full\");\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n getColumnElements() {\r\n var result = [];\r\n var $node;\r\n var isSelectMode = \"select\" === this.option(\"columnChooser.mode\");\r\n var chooserColumns = this._columnsController.getChooserColumns(isSelectMode);\r\n var $content = this._popupContainer && this._popupContainer.$content();\r\n var $nodes = $content && $content.find(\".dx-treeview-node\");\r\n if ($nodes) {\r\n chooserColumns.forEach(column => {\r\n $node = $nodes.filter(\"[data-item-id = '\".concat(column.index, \"']\"));\r\n var item = $node.length ? $node.children(\".\".concat(COLUMN_CHOOSER_ITEM_CLASS)).get(0) : null;\r\n result.push(item)\r\n })\r\n }\r\n return $(result)\r\n },\r\n getName: () => \"columnChooser\",\r\n getColumns() {\r\n return this._columnsController.getChooserColumns()\r\n },\r\n allowDragging(column, sourceLocation) {\r\n var columnVisible = column && column.allowHiding && (\"columnChooser\" !== sourceLocation || !column.visible && this._columnsController.isParentColumnVisible(column.index));\r\n return this.isColumnChooserVisible() && columnVisible\r\n },\r\n getBoundingRect() {\r\n var container = this._popupContainer && this._popupContainer.$overlayContent();\r\n if (container && container.is(\":visible\")) {\r\n var offset = container.offset();\r\n return {\r\n left: offset.left,\r\n top: offset.top,\r\n right: offset.left + getOuterWidth(container),\r\n bottom: offset.top + getOuterHeight(container)\r\n }\r\n }\r\n return null\r\n },\r\n showColumnChooser() {\r\n if (!this._popupContainer) {\r\n this._initializePopupContainer();\r\n this.render()\r\n }\r\n this._popupContainer.show()\r\n },\r\n hideColumnChooser() {\r\n if (this._popupContainer) {\r\n this._popupContainer.hide()\r\n }\r\n },\r\n isColumnChooserVisible() {\r\n var popupContainer = this._popupContainer;\r\n return popupContainer && popupContainer.option(\"visible\")\r\n },\r\n publicMethods: () => [\"showColumnChooser\", \"hideColumnChooser\"]\r\n};\r\nvar ColumnChooserView = ColumnsView.inherit(columnChooserMembers);\r\nexport var columnChooserModule = {\r\n defaultOptions: () => ({\r\n columnChooser: {\r\n enabled: false,\r\n allowSearch: false,\r\n searchTimeout: 500,\r\n mode: \"dragAndDrop\",\r\n width: 250,\r\n height: 260,\r\n title: messageLocalization.format(\"dxDataGrid-columnChooserTitle\"),\r\n emptyPanelText: messageLocalization.format(\"dxDataGrid-columnChooserEmptyText\"),\r\n container: void 0\r\n }\r\n }),\r\n controllers: {\r\n columnChooser: ColumnChooserController\r\n },\r\n views: {\r\n columnChooserView: ColumnChooserView\r\n },\r\n extenders: {\r\n views: {\r\n headerPanel: {\r\n _getToolbarItems() {\r\n var items = this.callBase();\r\n return this._appendColumnChooserItem(items)\r\n },\r\n _appendColumnChooserItem(items) {\r\n var that = this;\r\n var columnChooserEnabled = that.option(\"columnChooser.enabled\");\r\n if (columnChooserEnabled) {\r\n var hintText = that.option(\"columnChooser.title\");\r\n var toolbarItem = {\r\n widget: \"dxButton\",\r\n options: {\r\n icon: COLUMN_CHOOSER_ICON_NAME,\r\n onClick: function() {\r\n that.component.getView(\"columnChooserView\").showColumnChooser()\r\n },\r\n hint: hintText,\r\n text: hintText,\r\n onInitialized: function(e) {\r\n $(e.element).addClass(that._getToolbarButtonClass(that.addWidgetPrefix(COLUMN_CHOOSER_BUTTON_CLASS)))\r\n },\r\n elementAttr: {\r\n \"aria-haspopup\": \"dialog\"\r\n }\r\n },\r\n showText: \"inMenu\",\r\n location: \"after\",\r\n name: \"columnChooserButton\",\r\n locateInMenu: \"auto\",\r\n sortIndex: 40\r\n };\r\n items.push(toolbarItem)\r\n }\r\n return items\r\n },\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"columnChooser\":\r\n this._invalidate();\r\n args.handled = true;\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n isVisible() {\r\n var columnChooserEnabled = this.option(\"columnChooser.enabled\");\r\n return this.callBase() || columnChooserEnabled\r\n }\r\n }\r\n },\r\n controllers: {\r\n columns: {\r\n allowMoveColumn(fromVisibleIndex, toVisibleIndex, sourceLocation, targetLocation) {\r\n var columnChooserMode = this.option(\"columnChooser.mode\");\r\n var isMoveColumnDisallowed = \"select\" === columnChooserMode && \"columnChooser\" === targetLocation;\r\n return isMoveColumnDisallowed ? false : this.callBase(fromVisibleIndex, toVisibleIndex, sourceLocation, targetLocation)\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/column_fixing/m_column_fixing.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n move\r\n} from \"../../../../animation/translator\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport browser from \"../../../../core/utils/browser\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n getOuterWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n setWidth\r\n} from \"../../../../core/utils/style\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport {\r\n name as wheelEventName\r\n} from \"../../../../events/core/wheel\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport Scrollable from \"../../../../ui/scroll_view/ui.scrollable\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n normalizeWidth\r\n} from \"../views/m_columns_view\";\r\nvar CONTENT_CLASS = \"content\";\r\nvar CONTENT_FIXED_CLASS = \"content-fixed\";\r\nvar MASTER_DETAIL_CELL_CLASS = \"dx-master-detail-cell\";\r\nvar FIRST_CELL_CLASS = \"dx-first-cell\";\r\nvar LAST_CELL_CLASS = \"dx-last-cell\";\r\nvar HOVER_STATE_CLASS = \"dx-state-hover\";\r\nvar FIXED_COL_CLASS = \"dx-col-fixed\";\r\nvar FIXED_COLUMNS_CLASS = \"dx-fixed-columns\";\r\nvar POINTER_EVENTS_NONE_CLASS = \"dx-pointer-events-none\";\r\nvar COMMAND_TRANSPARENT = \"transparent\";\r\nvar GROUP_ROW_CLASS = \"dx-group-row\";\r\nvar DETAIL_ROW_CLASS = \"dx-master-detail-row\";\r\nvar getTransparentColumnIndex = function(fixedColumns) {\r\n var transparentColumnIndex = -1;\r\n each(fixedColumns, (index, column) => {\r\n if (column.command === COMMAND_TRANSPARENT) {\r\n transparentColumnIndex = index;\r\n return false\r\n }\r\n return\r\n });\r\n return transparentColumnIndex\r\n};\r\nvar normalizeColumnWidths = function(fixedColumns, widths, fixedWidths) {\r\n var fixedColumnIndex = 0;\r\n if (fixedColumns && widths && fixedWidths) {\r\n for (var i = 0; i < fixedColumns.length; i++) {\r\n if (fixedColumns[i].command === COMMAND_TRANSPARENT) {\r\n fixedColumnIndex += fixedColumns[i].colspan\r\n } else {\r\n if (widths[fixedColumnIndex] < fixedWidths[i]) {\r\n widths[fixedColumnIndex] = fixedWidths[i]\r\n }\r\n fixedColumnIndex++\r\n }\r\n }\r\n }\r\n return widths\r\n};\r\nvar baseFixedColumns = {\r\n init() {\r\n this.callBase();\r\n this._isFixedTableRendering = false;\r\n this._isFixedColumns = false\r\n },\r\n _createCol(column) {\r\n return this.callBase(column).toggleClass(FIXED_COL_CLASS, !!(this._isFixedTableRendering && (column.fixed || column.command && column.command !== COMMAND_TRANSPARENT)))\r\n },\r\n _correctColumnIndicesForFixedColumns(fixedColumns, change) {\r\n var transparentColumnIndex = getTransparentColumnIndex(fixedColumns);\r\n var transparentColspan = fixedColumns[transparentColumnIndex].colspan;\r\n var columnIndices = change && change.columnIndices;\r\n if (columnIndices) {\r\n change.columnIndices = columnIndices.map(columnIndices => {\r\n if (columnIndices) {\r\n return columnIndices.map(columnIndex => {\r\n if (columnIndex < transparentColumnIndex) {\r\n return columnIndex\r\n }\r\n if (columnIndex >= transparentColumnIndex + transparentColspan) {\r\n return columnIndex - transparentColspan + 1\r\n }\r\n return -1\r\n }).filter(columnIndex => columnIndex >= 0)\r\n }\r\n })\r\n }\r\n },\r\n _partialUpdateFixedTable(fixedColumns) {\r\n var fixedTableElement = this._fixedTableElement;\r\n var $rows = this._getRowElementsCore(fixedTableElement);\r\n var $colgroup = fixedTableElement.children(\"colgroup\");\r\n $colgroup.replaceWith(this._createColGroup(fixedColumns));\r\n for (var i = 0; i < $rows.length; i++) {\r\n this._partialUpdateFixedRow($($rows[i]), fixedColumns)\r\n }\r\n },\r\n _partialUpdateFixedRow($row, fixedColumns) {\r\n var _a;\r\n var cellElements = $row.get(0).childNodes;\r\n var transparentColumnIndex = getTransparentColumnIndex(fixedColumns);\r\n var transparentColumn = fixedColumns[transparentColumnIndex];\r\n var columnIndexOffset = this._columnsController.getColumnIndexOffset();\r\n var groupCellOptions;\r\n var colIndex = columnIndexOffset + 1;\r\n var {\r\n colspan: colspan\r\n } = transparentColumn;\r\n if ($row.hasClass(DETAIL_ROW_CLASS)) {\r\n cellElements[0].setAttribute(\"colspan\", null === (_a = this._columnsController.getVisibleColumns()) || void 0 === _a ? void 0 : _a.length);\r\n return\r\n }\r\n if ($row.hasClass(GROUP_ROW_CLASS)) {\r\n groupCellOptions = this._getGroupCellOptions({\r\n row: $row.data(\"options\"),\r\n columns: this._columnsController.getVisibleColumns()\r\n });\r\n colspan = groupCellOptions.colspan - Math.max(0, cellElements.length - (groupCellOptions.columnIndex + 2))\r\n }\r\n for (var j = 0; j < cellElements.length; j++) {\r\n var needUpdateColspan = groupCellOptions ? j === groupCellOptions.columnIndex + 1 : j === transparentColumnIndex;\r\n cellElements[j].setAttribute(\"aria-colindex\", colIndex);\r\n if (needUpdateColspan) {\r\n cellElements[j].setAttribute(\"colspan\", colspan);\r\n colIndex += colspan\r\n } else {\r\n colIndex++\r\n }\r\n }\r\n },\r\n _renderTable(options) {\r\n var _a;\r\n var $fixedTable;\r\n var fixedColumns = this.getFixedColumns();\r\n this._isFixedColumns = !!fixedColumns.length;\r\n var $table = this.callBase(options);\r\n if (this._isFixedColumns) {\r\n var change = null === options || void 0 === options ? void 0 : options.change;\r\n var $fixedDataRows = this._getRowElements(this._fixedTableElement);\r\n var needPartialUpdate = (null === change || void 0 === change ? void 0 : change.virtualColumnsScrolling) && $fixedDataRows.length === (null === (_a = null === change || void 0 === change ? void 0 : change.items) || void 0 === _a ? void 0 : _a.length);\r\n this._isFixedTableRendering = true;\r\n if (needPartialUpdate && true !== this.option(\"scrolling.legacyMode\")) {\r\n this._partialUpdateFixedTable(fixedColumns);\r\n this._isFixedTableRendering = false\r\n } else {\r\n var columnIndices = null === change || void 0 === change ? void 0 : change.columnIndices;\r\n this._correctColumnIndicesForFixedColumns(fixedColumns, change);\r\n $fixedTable = this._createTable(fixedColumns);\r\n this._renderRows($fixedTable, extend({}, options, {\r\n columns: fixedColumns\r\n }));\r\n this._updateContent($fixedTable, change, true);\r\n if (columnIndices) {\r\n change.columnIndices = columnIndices\r\n }\r\n this._isFixedTableRendering = false\r\n }\r\n } else {\r\n this._fixedTableElement && this._fixedTableElement.parent().remove();\r\n this._fixedTableElement = null\r\n }\r\n return $table\r\n },\r\n _renderRow($table, options) {\r\n var fixedCorrection;\r\n var {\r\n cells: cells\r\n } = options.row;\r\n this.callBase.apply(this, arguments);\r\n if (this._isFixedTableRendering && cells && cells.length) {\r\n fixedCorrection = 0;\r\n var fixedCells = options.row.cells || [];\r\n cells = cells.slice();\r\n options.row.cells = cells;\r\n for (var i = 0; i < fixedCells.length; i++) {\r\n if (fixedCells[i].column && fixedCells[i].column.command === COMMAND_TRANSPARENT) {\r\n fixedCorrection = (fixedCells[i].column.colspan || 1) - 1;\r\n continue\r\n }\r\n cells[i + fixedCorrection] = fixedCells[i]\r\n }\r\n }\r\n },\r\n _createCell(options) {\r\n var {\r\n column: column\r\n } = options;\r\n var columnCommand = column && column.command;\r\n var {\r\n rowType: rowType\r\n } = options;\r\n var $cell = this.callBase.apply(this, arguments);\r\n var fixedColumns;\r\n var prevFixedColumn;\r\n var transparentColumnIndex;\r\n if (this._isFixedTableRendering || \"filter\" === rowType) {\r\n fixedColumns = this.getFixedColumns();\r\n transparentColumnIndex = getTransparentColumnIndex(fixedColumns);\r\n prevFixedColumn = fixedColumns[transparentColumnIndex - 1]\r\n }\r\n if (this._isFixedTableRendering) {\r\n if (columnCommand === COMMAND_TRANSPARENT) {\r\n $cell.addClass(POINTER_EVENTS_NONE_CLASS).toggleClass(FIRST_CELL_CLASS, 0 === transparentColumnIndex || prevFixedColumn && \"expand\" === prevFixedColumn.command).toggleClass(LAST_CELL_CLASS, fixedColumns.length && transparentColumnIndex === fixedColumns.length - 1);\r\n if (\"freeSpace\" !== rowType) {\r\n gridCoreUtils.setEmptyText($cell)\r\n }\r\n }\r\n } else if (\"filter\" === rowType) {\r\n $cell.toggleClass(FIRST_CELL_CLASS, options.columnIndex === transparentColumnIndex)\r\n }\r\n var isRowAltStyle = this.option(\"rowAlternationEnabled\") && options.isAltRow;\r\n var isSelectAllCell = \"multiple\" === this.option(\"selection.mode\") && 0 === options.columnIndex && \"header\" === options.rowType;\r\n if (browser.mozilla && options.column.fixed && \"group\" !== options.rowType && !isRowAltStyle && !isSelectAllCell) {\r\n $cell.addClass(FIXED_COL_CLASS)\r\n }\r\n return $cell\r\n },\r\n _getContent(isFixedTableRendering) {\r\n var _a;\r\n return isFixedTableRendering ? null === (_a = this._fixedTableElement) || void 0 === _a ? void 0 : _a.parent() : this.callBase.apply(this, arguments)\r\n },\r\n _wrapTableInScrollContainer($table, isFixedTableRendering) {\r\n var $scrollContainer = this.callBase.apply(this, arguments);\r\n if (this._isFixedTableRendering || isFixedTableRendering) {\r\n $scrollContainer.addClass(this.addWidgetPrefix(CONTENT_FIXED_CLASS))\r\n }\r\n return $scrollContainer\r\n },\r\n _renderCellContent($cell, options) {\r\n var isEmptyCell;\r\n var {\r\n column: column\r\n } = options;\r\n var isFixedTableRendering = this._isFixedTableRendering;\r\n var isGroupCell = \"group\" === options.rowType && isDefined(column.groupIndex);\r\n if (isFixedTableRendering && isGroupCell && !column.command && !column.groupCellTemplate) {\r\n $cell.css(\"pointerEvents\", \"none\")\r\n }\r\n if (!isFixedTableRendering && this._isFixedColumns) {\r\n isEmptyCell = column.fixed || column.command && false !== column.fixed;\r\n if (isGroupCell) {\r\n isEmptyCell = false;\r\n if (options.row.summaryCells && options.row.summaryCells.length) {\r\n var columns = this._columnsController.getVisibleColumns();\r\n var alignByFixedColumnCellCount = this._getAlignByColumnCellCount ? this._getAlignByColumnCellCount(column.colspan, {\r\n columns: columns,\r\n row: options.row,\r\n isFixed: true\r\n }) : 0;\r\n if (alignByFixedColumnCellCount > 0) {\r\n var transparentColumnIndex = getTransparentColumnIndex(this._columnsController.getFixedColumns());\r\n isEmptyCell = columns.length - alignByFixedColumnCellCount < transparentColumnIndex\r\n }\r\n }\r\n }\r\n if (isEmptyCell) {\r\n if (column.command && \"buttons\" !== column.type || \"group\" === options.rowType) {\r\n $cell.html(\" \").addClass(column.cssClass);\r\n return\r\n }\r\n $cell.addClass(\"dx-hidden-cell\")\r\n }\r\n }\r\n if (column.command !== COMMAND_TRANSPARENT) {\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n _getCellElementsCore(rowIndex) {\r\n var cellElements = this.callBase.apply(this, arguments);\r\n var isGroupRow = null === cellElements || void 0 === cellElements ? void 0 : cellElements.parent().hasClass(GROUP_ROW_CLASS);\r\n var headerRowIndex = \"columnHeadersView\" === this.name ? rowIndex : void 0;\r\n if (this._fixedTableElement && cellElements) {\r\n var fixedColumns = this.getFixedColumns(headerRowIndex);\r\n var fixedCellElements = this._getRowElements(this._fixedTableElement).eq(rowIndex).children(\"td\");\r\n each(fixedCellElements, (columnIndex, cell) => {\r\n if (isGroupRow) {\r\n if (cellElements[columnIndex] && \"hidden\" !== cell.style.visibility) {\r\n cellElements[columnIndex] = cell\r\n }\r\n } else {\r\n var fixedColumn = fixedColumns[columnIndex];\r\n if (fixedColumn) {\r\n if (fixedColumn.command === COMMAND_TRANSPARENT) {\r\n if (fixedCellElements.eq(columnIndex).hasClass(MASTER_DETAIL_CELL_CLASS)) {\r\n cellElements[columnIndex] = cell || cellElements[columnIndex]\r\n }\r\n } else {\r\n var fixedColumnIndex = this._columnsController.getVisibleIndexByColumn(fixedColumn, headerRowIndex);\r\n cellElements[fixedColumnIndex] = cell || cellElements[fixedColumnIndex]\r\n }\r\n }\r\n }\r\n })\r\n }\r\n return cellElements\r\n },\r\n getColumnWidths() {\r\n var result = this.callBase();\r\n var fixedColumns = this.getFixedColumns();\r\n var fixedWidths = this._fixedTableElement && result.length ? this.callBase(this._fixedTableElement) : void 0;\r\n return normalizeColumnWidths(fixedColumns, result, fixedWidths)\r\n },\r\n getTableElement(isFixedTableRendering) {\r\n isFixedTableRendering = this._isFixedTableRendering || isFixedTableRendering;\r\n var tableElement = isFixedTableRendering ? this._fixedTableElement : this.callBase();\r\n return tableElement\r\n },\r\n setTableElement(tableElement, isFixedTableRendering) {\r\n if (this._isFixedTableRendering || isFixedTableRendering) {\r\n this._fixedTableElement = tableElement.addClass(POINTER_EVENTS_NONE_CLASS)\r\n } else {\r\n this.callBase(tableElement)\r\n }\r\n },\r\n getColumns(rowIndex) {\r\n var $tableElement = this.getTableElement();\r\n if (this._isFixedTableRendering) {\r\n return this.getFixedColumns(rowIndex)\r\n }\r\n return this.callBase(rowIndex, $tableElement)\r\n },\r\n getRowIndex($row) {\r\n var $fixedTable = this._fixedTableElement;\r\n if ($fixedTable && $fixedTable.find($row).length) {\r\n return this._getRowElements($fixedTable).index($row)\r\n }\r\n return this.callBase($row)\r\n },\r\n getTableElements() {\r\n var result = this.callBase.apply(this, arguments);\r\n if (this._fixedTableElement) {\r\n result = $([result.get(0), this._fixedTableElement.get(0)])\r\n }\r\n return result\r\n },\r\n getFixedColumns(rowIndex) {\r\n return this._columnsController.getFixedColumns(rowIndex)\r\n },\r\n getFixedColumnsOffset() {\r\n var offset = {\r\n left: 0,\r\n right: 0\r\n };\r\n var $transparentColumn;\r\n if (this._fixedTableElement) {\r\n $transparentColumn = this.getTransparentColumnElement();\r\n var positionTransparentColumn = $transparentColumn.position();\r\n offset = {\r\n left: positionTransparentColumn.left,\r\n right: getOuterWidth(this.element(), true) - (getOuterWidth($transparentColumn, true) + positionTransparentColumn.left)\r\n }\r\n }\r\n return offset\r\n },\r\n getTransparentColumnElement() {\r\n return this._fixedTableElement && this._fixedTableElement.find(\".\".concat(POINTER_EVENTS_NONE_CLASS)).first()\r\n },\r\n getFixedTableElement() {\r\n return this._fixedTableElement\r\n },\r\n isFixedColumns() {\r\n return this._isFixedColumns\r\n },\r\n _resizeCore() {\r\n this.callBase();\r\n this.synchronizeRows()\r\n },\r\n setColumnWidths(options) {\r\n var _a;\r\n var {\r\n widths: widths\r\n } = options;\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n var isColumnWidthsSynced = (null === widths || void 0 === widths ? void 0 : widths.length) && visibleColumns.some(column => isDefined(column.visibleWidth));\r\n var isColumnWidthChanged = null === (_a = options.optionNames) || void 0 === _a ? void 0 : _a.width;\r\n this.callBase(options);\r\n if (this._fixedTableElement) {\r\n var hasAutoWidth = null === widths || void 0 === widths ? void 0 : widths.some(width => \"auto\" === width || !isDefined(width));\r\n var needVisibleColumns = hasAutoWidth && (!isColumnWidthsSynced || !this.isScrollbarVisible(true));\r\n var columns = needVisibleColumns ? visibleColumns : this.getFixedColumns();\r\n this.setFixedTableColumnWidths(columns, widths)\r\n }\r\n var wordWrapEnabled = this.option(\"wordWrapEnabled\");\r\n var needSynchronizeRows = isColumnWidthsSynced || isColumnWidthChanged && wordWrapEnabled;\r\n if (needSynchronizeRows) {\r\n this.synchronizeRows()\r\n }\r\n },\r\n setFixedTableColumnWidths(columns, widths) {\r\n if (!this._fixedTableElement || !widths) {\r\n return\r\n }\r\n var $cols = this._fixedTableElement.children(\"colgroup\").children(\"col\");\r\n $cols.toArray().forEach(col => col.removeAttribute(\"style\"));\r\n var columnIndex = 0;\r\n columns.forEach(column => {\r\n if (column.colspan) {\r\n columnIndex += column.colspan;\r\n return\r\n }\r\n var colWidth = normalizeWidth(widths[columnIndex]);\r\n if (isDefined(colWidth)) {\r\n setWidth($cols.eq(columnIndex), colWidth)\r\n }\r\n columnIndex += 1\r\n })\r\n },\r\n _getClientHeight(element) {\r\n var boundingClientRectElement = element.getBoundingClientRect && getBoundingRect(element);\r\n return boundingClientRectElement && boundingClientRectElement.height ? boundingClientRectElement.height : element.clientHeight\r\n },\r\n synchronizeRows() {\r\n var rowHeights = [];\r\n var fixedRowHeights = [];\r\n var rowIndex;\r\n var $rowElements;\r\n var $fixedRowElements;\r\n var $contentElement;\r\n this.waitAsyncTemplates(true).done(() => {\r\n if (this._isFixedColumns && this._tableElement && this._fixedTableElement) {\r\n var heightTable = this._getClientHeight(this._tableElement.get(0));\r\n var heightFixedTable = this._getClientHeight(this._fixedTableElement.get(0));\r\n $rowElements = this._getRowElements(this._tableElement);\r\n $fixedRowElements = this._getRowElements(this._fixedTableElement);\r\n $contentElement = this._findContentElement();\r\n if (heightTable !== heightFixedTable) {\r\n $contentElement && $contentElement.css(\"height\", heightTable);\r\n $rowElements.css(\"height\", \"\");\r\n $fixedRowElements.css(\"height\", \"\");\r\n for (rowIndex = 0; rowIndex < $rowElements.length; rowIndex++) {\r\n rowHeights.push(this._getClientHeight($rowElements.get(rowIndex)));\r\n fixedRowHeights.push(this._getClientHeight($fixedRowElements.get(rowIndex)))\r\n }\r\n for (rowIndex = 0; rowIndex < $rowElements.length; rowIndex++) {\r\n var rowHeight = rowHeights[rowIndex];\r\n var fixedRowHeight = fixedRowHeights[rowIndex];\r\n if (rowHeight > fixedRowHeight) {\r\n $fixedRowElements.eq(rowIndex).css(\"height\", rowHeight)\r\n } else if (rowHeight < fixedRowHeight) {\r\n $rowElements.eq(rowIndex).css(\"height\", fixedRowHeight)\r\n }\r\n }\r\n $contentElement && $contentElement.css(\"height\", \"\")\r\n }\r\n }\r\n })\r\n },\r\n setScrollerSpacing(width) {\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n this.callBase(width);\r\n this.element().children(\".\".concat(this.addWidgetPrefix(CONTENT_FIXED_CLASS))).css({\r\n paddingLeft: rtlEnabled ? width : \"\",\r\n paddingRight: !rtlEnabled ? width : \"\"\r\n })\r\n }\r\n};\r\nvar ColumnHeadersViewFixedColumnsExtender = extend({}, baseFixedColumns, {\r\n _getRowVisibleColumns(rowIndex) {\r\n if (this._isFixedTableRendering) {\r\n return this.getFixedColumns(rowIndex)\r\n }\r\n return this.callBase(rowIndex)\r\n },\r\n getContextMenuItems(options) {\r\n var {\r\n column: column\r\n } = options;\r\n var columnFixingOptions = this.option(\"columnFixing\");\r\n var items = this.callBase(options);\r\n if (options.row && \"header\" === options.row.rowType) {\r\n if (true === columnFixingOptions.enabled && column && column.allowFixing) {\r\n var onItemClick = params => {\r\n switch (params.itemData.value) {\r\n case \"none\":\r\n this._columnsController.columnOption(column.index, \"fixed\", false);\r\n break;\r\n case \"left\":\r\n this._columnsController.columnOption(column.index, {\r\n fixed: true,\r\n fixedPosition: \"left\"\r\n });\r\n break;\r\n case \"right\":\r\n this._columnsController.columnOption(column.index, {\r\n fixed: true,\r\n fixedPosition: \"right\"\r\n })\r\n }\r\n };\r\n items = items || [];\r\n items.push({\r\n text: columnFixingOptions.texts.fix,\r\n beginGroup: true,\r\n items: [{\r\n text: columnFixingOptions.texts.leftPosition,\r\n value: \"left\",\r\n disabled: column.fixed && (!column.fixedPosition || \"left\" === column.fixedPosition),\r\n onItemClick: onItemClick\r\n }, {\r\n text: columnFixingOptions.texts.rightPosition,\r\n value: \"right\",\r\n disabled: column.fixed && \"right\" === column.fixedPosition,\r\n onItemClick: onItemClick\r\n }]\r\n }, {\r\n text: columnFixingOptions.texts.unfix,\r\n value: \"none\",\r\n disabled: !column.fixed,\r\n onItemClick: onItemClick\r\n })\r\n }\r\n }\r\n return items\r\n },\r\n getFixedColumnElements(rowIndex) {\r\n if (isDefined(rowIndex)) {\r\n return this._fixedTableElement && this._getRowElements(this._fixedTableElement).eq(rowIndex).children()\r\n }\r\n var columnElements = this.getColumnElements();\r\n var $transparentColumnElement = this.getTransparentColumnElement();\r\n if (columnElements && $transparentColumnElement && $transparentColumnElement.length) {\r\n var transparentColumnIndex = getTransparentColumnIndex(this.getFixedColumns());\r\n columnElements.splice(transparentColumnIndex, $transparentColumnElement.get(0).colSpan, $transparentColumnElement.get(0))\r\n }\r\n return columnElements\r\n },\r\n getColumnWidths() {\r\n var fixedWidths;\r\n var result = this.callBase();\r\n var $fixedColumnElements = this.getFixedColumnElements();\r\n var fixedColumns = this.getFixedColumns();\r\n if (this._fixedTableElement) {\r\n if ($fixedColumnElements && $fixedColumnElements.length) {\r\n fixedWidths = this._getWidths($fixedColumnElements)\r\n } else {\r\n fixedWidths = this.callBase(this._fixedTableElement)\r\n }\r\n }\r\n return normalizeColumnWidths(fixedColumns, result, fixedWidths)\r\n }\r\n});\r\nvar RowsViewFixedColumnsExtender = extend({}, baseFixedColumns, {\r\n _detachHoverEvents() {\r\n var element = this.element();\r\n if (this._fixedTableElement && this._tableElement) {\r\n eventsEngine.off(element, \"mouseover mouseout\", \".dx-data-row\")\r\n }\r\n },\r\n _attachHoverEvents() {\r\n if (this._fixedTableElement && this._tableElement) {\r\n eventsEngine.on(this.element(), \"mouseover mouseout\", \".dx-data-row\", this.createAction(args => {\r\n var {\r\n event: event\r\n } = args;\r\n var rowIndex = this.getRowIndex($(event.target).closest(\".dx-row\"));\r\n var isHover = \"mouseover\" === event.type;\r\n if (rowIndex >= 0) {\r\n this._tableElement && this._getRowElements(this._tableElement).eq(rowIndex).toggleClass(HOVER_STATE_CLASS, isHover);\r\n this._fixedTableElement && this._getRowElements(this._fixedTableElement).eq(rowIndex).toggleClass(HOVER_STATE_CLASS, isHover)\r\n }\r\n }))\r\n }\r\n },\r\n _getScrollDelay() {\r\n var _a;\r\n var hasResizeTimeout = null === (_a = this.getController(\"resizing\")) || void 0 === _a ? void 0 : _a.hasResizeTimeout();\r\n if (hasResizeTimeout) {\r\n return this.option(\"scrolling.updateTimeout\")\r\n }\r\n return browser.mozilla ? 60 : 0\r\n },\r\n _findContentElement(isFixedTableRendering) {\r\n var $content;\r\n var scrollTop;\r\n var contentClass = this.addWidgetPrefix(CONTENT_CLASS);\r\n var element = this.element();\r\n isFixedTableRendering = this._isFixedTableRendering || isFixedTableRendering;\r\n if (element && isFixedTableRendering) {\r\n $content = element.children(\".\".concat(contentClass));\r\n var scrollable = this.getScrollable();\r\n if (!$content.length && scrollable) {\r\n $content = $(\"
    \").addClass(contentClass);\r\n eventsEngine.on($content, \"scroll\", e => {\r\n var {\r\n target: target\r\n } = e;\r\n var scrollDelay = this._getScrollDelay();\r\n clearTimeout(this._fixedScrollTimeout);\r\n this._fixedScrollTimeout = setTimeout(() => {\r\n scrollTop = $(target).scrollTop();\r\n scrollable.scrollTo({\r\n y: scrollTop\r\n })\r\n }, scrollDelay)\r\n });\r\n eventsEngine.on($content, wheelEventName, e => {\r\n var $nearestScrollable = $(e.target).closest(\".dx-scrollable\");\r\n var shouldScroll = false;\r\n if (scrollable && scrollable.$element().is($nearestScrollable)) {\r\n shouldScroll = true\r\n } else {\r\n var nearestScrollableInstance = $nearestScrollable.length && Scrollable.getInstance($nearestScrollable.get(0));\r\n var nearestScrollableHasVerticalScrollbar = nearestScrollableInstance && nearestScrollableInstance.scrollHeight() - nearestScrollableInstance.clientHeight() > 0;\r\n shouldScroll = nearestScrollableInstance && !nearestScrollableHasVerticalScrollbar\r\n }\r\n if (shouldScroll) {\r\n scrollTop = scrollable.scrollTop();\r\n scrollable.scrollTo({\r\n y: scrollTop - e.delta\r\n });\r\n var scrollableTop = scrollable.scrollTop() + scrollable.clientHeight();\r\n var scrollableHeight = scrollable.scrollHeight() + this.getScrollbarWidth();\r\n var isPreventDefault = scrollable.scrollTop() > 0 && scrollableTop < scrollableHeight;\r\n if (isPreventDefault) {\r\n return false\r\n }\r\n }\r\n return\r\n });\r\n $content.appendTo(element)\r\n }\r\n return $content\r\n }\r\n return this.callBase()\r\n },\r\n _updateScrollable() {\r\n this.callBase();\r\n var scrollable = this.getScrollable();\r\n if (null === scrollable || void 0 === scrollable ? void 0 : scrollable._disposed) {\r\n return\r\n }\r\n var scrollTop = scrollable && scrollable.scrollOffset().top;\r\n this._updateFixedTablePosition(scrollTop)\r\n },\r\n _renderContent(contentElement, tableElement, isFixedTableRendering) {\r\n if (this._isFixedTableRendering || isFixedTableRendering) {\r\n return contentElement.empty().addClass(\"\".concat(this.addWidgetPrefix(CONTENT_CLASS), \" \").concat(this.addWidgetPrefix(CONTENT_FIXED_CLASS))).append(tableElement)\r\n }\r\n return this.callBase(contentElement, tableElement)\r\n },\r\n _getGroupCellOptions(options) {\r\n if (this._isFixedTableRendering) {\r\n return this.callBase(extend({}, options, {\r\n columns: this._columnsController.getVisibleColumns()\r\n }))\r\n }\r\n return this.callBase(options)\r\n },\r\n _renderGroupedCells($row, options) {\r\n return this.callBase($row, extend({}, options, {\r\n columns: this._columnsController.getVisibleColumns()\r\n }))\r\n },\r\n _renderGroupSummaryCells($row, options) {\r\n if (this._isFixedTableRendering) {\r\n this.callBase($row, extend({}, options, {\r\n columns: this._columnsController.getVisibleColumns()\r\n }))\r\n } else {\r\n this.callBase($row, options)\r\n }\r\n },\r\n _hasAlignByColumnSummaryItems(columnIndex, options) {\r\n var result = this.callBase.apply(this, arguments);\r\n var column = options.columns[columnIndex];\r\n if (options.isFixed) {\r\n return column.fixed && (result || \"right\" === column.fixedPosition)\r\n }\r\n return result && (!this._isFixedColumns || !column.fixed)\r\n },\r\n _renderGroupSummaryCellsCore($groupCell, options, groupCellColSpan, alignByColumnCellCount) {\r\n var alignByFixedColumnCellCount;\r\n if (this._isFixedTableRendering) {\r\n options.isFixed = true;\r\n alignByFixedColumnCellCount = this._getAlignByColumnCellCount(groupCellColSpan, options);\r\n options.isFixed = false;\r\n var startColumnIndex = options.columns.length - alignByFixedColumnCellCount;\r\n options = extend({}, options, {\r\n columns: this.getFixedColumns()\r\n });\r\n var transparentColumnIndex = getTransparentColumnIndex(options.columns);\r\n if (startColumnIndex < transparentColumnIndex) {\r\n alignByFixedColumnCellCount -= options.columns[transparentColumnIndex].colspan - 1 || 0;\r\n groupCellColSpan -= options.columns[transparentColumnIndex].colspan - 1 || 0\r\n } else if (alignByColumnCellCount > 0) {\r\n $groupCell.css(\"visibility\", \"hidden\")\r\n }\r\n alignByColumnCellCount = alignByFixedColumnCellCount\r\n }\r\n this.callBase($groupCell, options, groupCellColSpan, alignByColumnCellCount)\r\n },\r\n _getSummaryCellIndex(columnIndex, columns) {\r\n if (this._isFixedTableRendering) {\r\n var transparentColumnIndex = getTransparentColumnIndex(columns);\r\n if (columnIndex > transparentColumnIndex) {\r\n columnIndex += columns[transparentColumnIndex].colspan - 1\r\n }\r\n return columnIndex\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _renderCore(change) {\r\n this._detachHoverEvents();\r\n var deferred = this.callBase(change);\r\n var isFixedColumns = this._isFixedColumns;\r\n this.element().toggleClass(FIXED_COLUMNS_CLASS, isFixedColumns);\r\n if (this.option(\"hoverStateEnabled\") && isFixedColumns) {\r\n this._attachHoverEvents()\r\n }\r\n return deferred\r\n },\r\n setRowsOpacity(columnIndex, value) {\r\n this.callBase(columnIndex, value);\r\n var $rows = this._getRowElements(this._fixedTableElement);\r\n this._setRowsOpacityCore($rows, this.getFixedColumns(), columnIndex, value)\r\n },\r\n optionChanged(args) {\r\n this.callBase(args);\r\n if (\"hoverStateEnabled\" === args.name && this._isFixedColumns) {\r\n args.value ? this._attachHoverEvents() : this._detachHoverEvents()\r\n }\r\n },\r\n getCellIndex($cell) {\r\n var $fixedTable = this._fixedTableElement;\r\n var cellIndex = 0;\r\n if ($fixedTable && $cell.is(\"td\") && $cell.closest($fixedTable).length) {\r\n var columns = this.getFixedColumns();\r\n each(columns, (index, column) => {\r\n if (index === $cell[0].cellIndex) {\r\n return false\r\n }\r\n if (column.colspan) {\r\n cellIndex += column.colspan;\r\n return\r\n }\r\n cellIndex++;\r\n return\r\n });\r\n return cellIndex\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _updateFixedTablePosition(scrollTop, needFocus) {\r\n if (this._fixedTableElement && this._tableElement) {\r\n var $focusedElement;\r\n var editorFactory = this.getController(\"editorFactory\");\r\n this._fixedTableElement.parent().scrollTop(scrollTop);\r\n if (needFocus && editorFactory) {\r\n $focusedElement = editorFactory.focus();\r\n $focusedElement && editorFactory.focus($focusedElement)\r\n }\r\n }\r\n },\r\n setScrollerSpacing(vWidth, hWidth) {\r\n var styles = {\r\n marginBottom: 0\r\n };\r\n var $fixedContent = this.element().children(\".\".concat(this.addWidgetPrefix(CONTENT_FIXED_CLASS)));\r\n if ($fixedContent.length && this._fixedTableElement) {\r\n $fixedContent.css(styles);\r\n this._fixedTableElement.css(styles);\r\n styles[this.option(\"rtlEnabled\") ? \"marginLeft\" : \"marginRight\"] = vWidth;\r\n styles.marginBottom = hWidth;\r\n var useNativeScrolling = this._scrollable && this._scrollable.option(\"useNative\");\r\n (useNativeScrolling ? $fixedContent : this._fixedTableElement).css(styles)\r\n }\r\n },\r\n _getElasticScrollTop(e) {\r\n var elasticScrollTop = 0;\r\n if (e.scrollOffset.top < 0) {\r\n elasticScrollTop = -e.scrollOffset.top\r\n } else if (e.reachedBottom) {\r\n var $scrollableContent = $(e.component.content());\r\n var $scrollableContainer = $(e.component.container());\r\n var maxScrollTop = Math.max($scrollableContent.get(0).clientHeight - $scrollableContainer.get(0).clientHeight, 0);\r\n elasticScrollTop = Math.min(maxScrollTop - e.scrollOffset.top, 0)\r\n }\r\n return Math.floor(elasticScrollTop)\r\n },\r\n _applyElasticScrolling(e) {\r\n if (this._fixedTableElement) {\r\n var elasticScrollTop = this._getElasticScrollTop(e);\r\n if (0 !== Math.ceil(elasticScrollTop)) {\r\n move(this._fixedTableElement, {\r\n top: elasticScrollTop\r\n })\r\n } else {\r\n this._fixedTableElement.css(\"transform\", \"\")\r\n }\r\n }\r\n },\r\n _handleScroll(e) {\r\n this._updateFixedTablePosition(e.scrollOffset.top, true);\r\n this._applyElasticScrolling(e);\r\n this.callBase(e)\r\n },\r\n _updateContentPosition(isRender) {\r\n this.callBase.apply(this, arguments);\r\n if (!isRender) {\r\n this._updateFixedTablePosition(this._scrollTop)\r\n }\r\n },\r\n _afterRowPrepared(e) {\r\n if (this._isFixedTableRendering) {\r\n return\r\n }\r\n this.callBase(e)\r\n },\r\n _scrollToElement($element) {\r\n this.callBase($element, this.getFixedColumnsOffset())\r\n },\r\n dispose() {\r\n this.callBase.apply(this, arguments);\r\n clearTimeout(this._fixedScrollTimeout)\r\n }\r\n});\r\nvar FooterViewFixedColumnsExtender = baseFixedColumns;\r\nexport var columnFixingModule = {\r\n defaultOptions: () => ({\r\n columnFixing: {\r\n enabled: false,\r\n texts: {\r\n fix: messageLocalization.format(\"dxDataGrid-columnFixingFix\"),\r\n unfix: messageLocalization.format(\"dxDataGrid-columnFixingUnfix\"),\r\n leftPosition: messageLocalization.format(\"dxDataGrid-columnFixingLeftPosition\"),\r\n rightPosition: messageLocalization.format(\"dxDataGrid-columnFixingRightPosition\")\r\n }\r\n }\r\n }),\r\n extenders: {\r\n views: {\r\n columnHeadersView: ColumnHeadersViewFixedColumnsExtender,\r\n rowsView: RowsViewFixedColumnsExtender,\r\n footerView: FooterViewFixedColumnsExtender\r\n },\r\n controllers: {\r\n draggingHeader: {\r\n _generatePointsByColumns(options) {\r\n var visibleColumns = options.columns;\r\n var {\r\n targetDraggingPanel: targetDraggingPanel\r\n } = options;\r\n if (targetDraggingPanel && \"headers\" === targetDraggingPanel.getName() && targetDraggingPanel.isFixedColumns()) {\r\n if (options.sourceColumn.fixed) {\r\n if (!options.rowIndex) {\r\n options.columnElements = targetDraggingPanel.getFixedColumnElements(0)\r\n }\r\n options.columns = targetDraggingPanel.getFixedColumns(options.rowIndex);\r\n var pointsByColumns = this.callBase(options);\r\n ! function(columns, fixedColumns, pointsByColumns) {\r\n var transparentColumnIndex = getTransparentColumnIndex(fixedColumns);\r\n var correctIndex = columns.length - fixedColumns.length;\r\n each(pointsByColumns, (_, point) => {\r\n if (point.index > transparentColumnIndex) {\r\n point.columnIndex += correctIndex;\r\n point.index += correctIndex\r\n }\r\n });\r\n return pointsByColumns\r\n }(visibleColumns, options.columns, pointsByColumns);\r\n return pointsByColumns\r\n }\r\n }\r\n return this.callBase(options)\r\n },\r\n _pointCreated(point, columns, location, sourceColumn) {\r\n var result = this.callBase.apply(this, arguments);\r\n var targetColumn = columns[point.columnIndex];\r\n var $transparentColumn = this._columnHeadersView.getTransparentColumnElement();\r\n if (!result && \"headers\" === location && $transparentColumn && $transparentColumn.length) {\r\n var boundingRect = getBoundingRect($transparentColumn.get(0));\r\n if (sourceColumn && sourceColumn.fixed) {\r\n return \"right\" === sourceColumn.fixedPosition ? point.x < boundingRect.right : point.x > boundingRect.left\r\n }\r\n if (targetColumn && targetColumn.fixed && \"right\" !== targetColumn.fixedPosition) {\r\n return true\r\n }\r\n return point.x < boundingRect.left || point.x > boundingRect.right\r\n }\r\n return result\r\n }\r\n },\r\n columnsResizer: {\r\n _generatePointsByColumns() {\r\n var that = this;\r\n var columnsController = that._columnsController;\r\n var columns = columnsController && that._columnsController.getVisibleColumns();\r\n var fixedColumns = columnsController && that._columnsController.getFixedColumns();\r\n var transparentColumnIndex = getTransparentColumnIndex(fixedColumns);\r\n var correctIndex = columns.length - fixedColumns.length;\r\n var cells = that._columnHeadersView.getFixedColumnElements();\r\n that.callBase();\r\n if (cells && cells.length > 0) {\r\n that._pointsByFixedColumns = gridCoreUtils.getPointsByColumns(cells, point => {\r\n if (point.index > transparentColumnIndex) {\r\n point.columnIndex += correctIndex;\r\n point.index += correctIndex\r\n }\r\n return that._pointCreated(point, columns.length, columns)\r\n })\r\n }\r\n },\r\n _getTargetPoint(pointsByColumns, currentX, deltaX) {\r\n var $transparentColumn = this._columnHeadersView.getTransparentColumnElement();\r\n if ($transparentColumn && $transparentColumn.length) {\r\n var boundingRect = getBoundingRect($transparentColumn.get(0));\r\n if (currentX <= boundingRect.left || currentX >= boundingRect.right) {\r\n return this.callBase(this._pointsByFixedColumns, currentX, deltaX)\r\n }\r\n }\r\n return this.callBase(pointsByColumns, currentX, deltaX)\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/column_headers/m_column_headers.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getHeight\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport {\r\n registerKeyboardAction\r\n} from \"../m_accessibility\";\r\nimport {\r\n ColumnsView\r\n} from \"../views/m_columns_view\";\r\nvar CELL_CONTENT_CLASS = \"text-content\";\r\nvar HEADERS_CLASS = \"headers\";\r\nvar NOWRAP_CLASS = \"nowrap\";\r\nvar ROW_CLASS_SELECTOR = \".dx-row\";\r\nvar HEADER_ROW_CLASS = \"dx-header-row\";\r\nvar COLUMN_LINES_CLASS = \"dx-column-lines\";\r\nvar CONTEXT_MENU_SORT_ASC_ICON = \"context-menu-sort-asc\";\r\nvar CONTEXT_MENU_SORT_DESC_ICON = \"context-menu-sort-desc\";\r\nvar CONTEXT_MENU_SORT_NONE_ICON = \"context-menu-sort-none\";\r\nvar CELL_FOCUS_DISABLED_CLASS = \"dx-cell-focus-disabled\";\r\nvar VISIBILITY_HIDDEN_CLASS = \"dx-visibility-hidden\";\r\nvar TEXT_CONTENT_ALIGNMENT_CLASS_PREFIX = \"dx-text-content-alignment-\";\r\nvar SORT_INDICATOR_CLASS = \"dx-sort-indicator\";\r\nvar SORT_INDEX_INDICATOR_CLASS = \"dx-sort-index-indicator\";\r\nvar HEADER_FILTER_CLASS_SELECTOR = \".dx-header-filter\";\r\nvar HEADER_FILTER_INDICATOR_CLASS = \"dx-header-filter-indicator\";\r\nvar MULTI_ROW_HEADER_CLASS = \"dx-header-multi-row\";\r\nexport var columnHeadersModule = {\r\n defaultOptions: () => ({\r\n showColumnHeaders: true,\r\n cellHintEnabled: true\r\n }),\r\n views: {\r\n columnHeadersView: ColumnsView.inherit(function() {\r\n var createCellContent = function(that, $cell, options) {\r\n var $cellContent = $(\"
    \").addClass(that.addWidgetPrefix(CELL_CONTENT_CLASS));\r\n that.setAria(\"role\", \"presentation\", $cellContent);\r\n addCssClassesToCellContent(that, $cell, options.column, $cellContent);\r\n var showColumnLines = that.option(\"showColumnLines\");\r\n var contentAlignment = that.getController(\"columns\").getHeaderContentAlignment(options.column.alignment);\r\n return $cellContent[showColumnLines || \"right\" === contentAlignment ? \"appendTo\" : \"prependTo\"]($cell)\r\n };\r\n\r\n function addCssClassesToCellContent(that, $cell, column, $cellContent) {\r\n var $indicatorElements = that._getIndicatorElements($cell, true);\r\n var $visibleIndicatorElements = that._getIndicatorElements($cell);\r\n var indicatorCount = $indicatorElements && $indicatorElements.length;\r\n var columnAlignment = that._getColumnAlignment(column.alignment);\r\n var sortIndicatorClassName = \".\".concat(that._getIndicatorClassName(\"sort\"));\r\n var sortIndexIndicatorClassName = \".\".concat(that._getIndicatorClassName(\"sortIndex\"));\r\n var $sortIndicator = $visibleIndicatorElements.filter(sortIndicatorClassName);\r\n var $sortIndexIndicator = $visibleIndicatorElements.children().filter(sortIndexIndicatorClassName);\r\n $cellContent = $cellContent || $cell.children(\".\".concat(that.addWidgetPrefix(CELL_CONTENT_CLASS)));\r\n $cellContent.toggleClass(TEXT_CONTENT_ALIGNMENT_CLASS_PREFIX + columnAlignment, indicatorCount > 0).toggleClass(TEXT_CONTENT_ALIGNMENT_CLASS_PREFIX + (\"left\" === columnAlignment ? \"right\" : \"left\"), indicatorCount > 0 && \"center\" === column.alignment).toggleClass(SORT_INDICATOR_CLASS, !!$sortIndicator.length).toggleClass(SORT_INDEX_INDICATOR_CLASS, !!$sortIndexIndicator.length).toggleClass(HEADER_FILTER_INDICATOR_CLASS, !!$visibleIndicatorElements.filter(\".\".concat(that._getIndicatorClassName(\"headerFilter\"))).length)\r\n }\r\n var members = {\r\n _createTable() {\r\n var $table = this.callBase.apply(this, arguments);\r\n eventsEngine.on($table, \"mousedown selectstart\", this.createAction(e => {\r\n var {\r\n event: event\r\n } = e;\r\n if (event.shiftKey) {\r\n event.preventDefault()\r\n }\r\n }));\r\n return $table\r\n },\r\n _isLegacyKeyboardNavigation() {\r\n return this.option(\"useLegacyKeyboardNavigation\")\r\n },\r\n _getDefaultTemplate(column) {\r\n var that = this;\r\n return function($container, options) {\r\n var $content = column.command ? $container : createCellContent(that, $container, options);\r\n var caption = \"expand\" !== column.command && column.caption;\r\n if (caption) {\r\n $content.text(caption)\r\n } else if (column.command) {\r\n $container.html(\" \")\r\n }\r\n }\r\n },\r\n _getHeaderTemplate(column) {\r\n return column.headerCellTemplate || {\r\n allowRenderToDetachedContainer: true,\r\n render: this._getDefaultTemplate(column)\r\n }\r\n },\r\n _processTemplate(template, options) {\r\n var that = this;\r\n var resultTemplate;\r\n var {\r\n column: column\r\n } = options;\r\n var renderingTemplate = that.callBase(template);\r\n if (\"header\" === options.rowType && renderingTemplate && column.headerCellTemplate && !column.command) {\r\n resultTemplate = {\r\n render(options) {\r\n var $content = createCellContent(that, options.container, options.model);\r\n renderingTemplate.render(extend({}, options, {\r\n container: $content\r\n }))\r\n }\r\n }\r\n } else {\r\n resultTemplate = renderingTemplate\r\n }\r\n return resultTemplate\r\n },\r\n _handleDataChanged(e) {\r\n if (\"refresh\" !== e.changeType) {\r\n return\r\n }\r\n if (this._isGroupingChanged || this._requireReady) {\r\n this._isGroupingChanged = false;\r\n this.render()\r\n }\r\n },\r\n _renderCell($row, options) {\r\n var $cell = this.callBase($row, options);\r\n if (\"header\" === options.row.rowType) {\r\n $cell.addClass(CELL_FOCUS_DISABLED_CLASS);\r\n if (!this._isLegacyKeyboardNavigation()) {\r\n if (options.column && !options.column.type) {\r\n $cell.attr(\"tabindex\", this.option(\"tabindex\") || 0)\r\n }\r\n }\r\n }\r\n return $cell\r\n },\r\n _setCellAriaAttributes($cell, cellOptions) {\r\n this.callBase($cell, cellOptions);\r\n if (\"header\" === cellOptions.rowType) {\r\n if (!cellOptions.column.type) {\r\n this.setAria(\"role\", \"columnheader\", $cell)\r\n }\r\n if (cellOptions.column && !cellOptions.column.command && !cellOptions.column.isBand) {\r\n $cell.attr(\"id\", cellOptions.column.headerId);\r\n this.setAria(\"label\", \"\".concat(messageLocalization.format(\"dxDataGrid-ariaColumn\"), \" \").concat(cellOptions.column.caption), $cell)\r\n }\r\n }\r\n },\r\n _createRow(row) {\r\n var $row = this.callBase.apply(this, arguments);\r\n $row.toggleClass(COLUMN_LINES_CLASS, this.option(\"showColumnLines\"));\r\n if (\"header\" === row.rowType) {\r\n $row.addClass(HEADER_ROW_CLASS);\r\n if (!this._isLegacyKeyboardNavigation()) {\r\n registerKeyboardAction(\"columnHeaders\", this, $row, \"td\", this._handleActionKeyDown.bind(this))\r\n }\r\n }\r\n return $row\r\n },\r\n _handleActionKeyDown(args) {\r\n var {\r\n event: event\r\n } = args;\r\n var $target = $(event.target);\r\n this._lastActionElement = event.target;\r\n if ($target.is(HEADER_FILTER_CLASS_SELECTOR)) {\r\n var headerFilterController = this.getController(\"headerFilter\");\r\n var $column = $target.closest(\"td\");\r\n var columnIndex = this.getColumnIndexByElement($column);\r\n if (columnIndex >= 0) {\r\n headerFilterController.showHeaderFilterMenu(columnIndex, false)\r\n }\r\n } else {\r\n var $row = $target.closest(ROW_CLASS_SELECTOR);\r\n this._processHeaderAction(event, $row)\r\n }\r\n event.preventDefault()\r\n },\r\n _renderCore() {\r\n var $container = this.element();\r\n var change = {};\r\n if (this._tableElement && !this._dataController.isLoaded() && !this._hasRowElements) {\r\n return\r\n }\r\n $container.addClass(this.addWidgetPrefix(HEADERS_CLASS)).toggleClass(this.addWidgetPrefix(NOWRAP_CLASS), !this.option(\"wordWrapEnabled\")).empty();\r\n this.setAria(\"role\", \"presentation\", $container);\r\n var deferred = this._updateContent(this._renderTable({\r\n change: change\r\n }), change);\r\n if (this.getRowCount() > 1) {\r\n $container.addClass(MULTI_ROW_HEADER_CLASS)\r\n }\r\n this.callBase.apply(this, arguments);\r\n return deferred\r\n },\r\n _renderRows() {\r\n if (this._dataController.isLoaded() || this._hasRowElements) {\r\n this.callBase.apply(this, arguments);\r\n this._hasRowElements = true\r\n }\r\n },\r\n _getRowVisibleColumns(rowIndex) {\r\n return this._columnsController.getVisibleColumns(rowIndex)\r\n },\r\n _renderRow($table, options) {\r\n options.columns = this._getRowVisibleColumns(options.row.rowIndex);\r\n this.callBase($table, options)\r\n },\r\n _createCell(options) {\r\n var {\r\n column: column\r\n } = options;\r\n var $cellElement = this.callBase.apply(this, arguments);\r\n column.rowspan > 1 && \"header\" === options.rowType && $cellElement.attr(\"rowSpan\", column.rowspan);\r\n return $cellElement\r\n },\r\n _getRows() {\r\n var result = [];\r\n var rowCount = this.getRowCount();\r\n if (this.option(\"showColumnHeaders\")) {\r\n for (var i = 0; i < rowCount; i++) {\r\n result.push({\r\n rowType: \"header\",\r\n rowIndex: i\r\n })\r\n }\r\n }\r\n return result\r\n },\r\n _getCellTemplate(options) {\r\n if (\"header\" === options.rowType) {\r\n return this._getHeaderTemplate(options.column)\r\n }\r\n },\r\n _columnOptionChanged(e) {\r\n var {\r\n changeTypes: changeTypes\r\n } = e;\r\n var {\r\n optionNames: optionNames\r\n } = e;\r\n if (changeTypes.grouping || changeTypes.groupExpanding) {\r\n if (changeTypes.grouping) {\r\n this._isGroupingChanged = true\r\n }\r\n return\r\n }\r\n this.callBase(e);\r\n if (optionNames.width || optionNames.visible) {\r\n this.resizeCompleted.fire()\r\n }\r\n },\r\n _isElementVisible: elementOptions => elementOptions && elementOptions.visible,\r\n _alignCaptionByCenter($cell) {\r\n var $indicatorsContainer = this._getIndicatorContainer($cell, true);\r\n if ($indicatorsContainer && $indicatorsContainer.length) {\r\n $indicatorsContainer.filter(\".\".concat(VISIBILITY_HIDDEN_CLASS)).remove();\r\n $indicatorsContainer = this._getIndicatorContainer($cell);\r\n $indicatorsContainer.clone().addClass(VISIBILITY_HIDDEN_CLASS).css(\"float\", \"\").insertBefore($cell.children(\".\".concat(this.addWidgetPrefix(CELL_CONTENT_CLASS))))\r\n }\r\n },\r\n _updateCell($cell, options) {\r\n if (\"header\" === options.rowType && \"center\" === options.column.alignment) {\r\n this._alignCaptionByCenter($cell)\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _updateIndicator($cell, column, indicatorName) {\r\n var $indicatorElement = this.callBase.apply(this, arguments);\r\n if (\"center\" === column.alignment) {\r\n this._alignCaptionByCenter($cell)\r\n }\r\n addCssClassesToCellContent(this, $cell, column);\r\n return $indicatorElement\r\n },\r\n _getIndicatorContainer($cell, returnAll) {\r\n var $indicatorsContainer = this.callBase($cell);\r\n return returnAll ? $indicatorsContainer : $indicatorsContainer.filter(\":not(.\".concat(VISIBILITY_HIDDEN_CLASS, \")\"))\r\n },\r\n _isSortableElement: () => true,\r\n getHeadersRowHeight() {\r\n var $tableElement = this.getTableElement();\r\n var $headerRows = $tableElement && $tableElement.find(\".\".concat(HEADER_ROW_CLASS));\r\n return $headerRows && $headerRows.toArray().reduce((sum, headerRow) => sum + getHeight(headerRow), 0) || 0\r\n },\r\n getHeaderElement(index) {\r\n var columnElements = this.getColumnElements();\r\n return columnElements && columnElements.eq(index)\r\n },\r\n getColumnElements(index, bandColumnIndex) {\r\n var that = this;\r\n var $cellElement;\r\n var columnsController = that._columnsController;\r\n var rowCount = that.getRowCount();\r\n if (that.option(\"showColumnHeaders\")) {\r\n if (rowCount > 1 && (!isDefined(index) || isDefined(bandColumnIndex))) {\r\n var result = [];\r\n var visibleColumns = isDefined(bandColumnIndex) ? columnsController.getChildrenByBandColumn(bandColumnIndex, true) : columnsController.getVisibleColumns();\r\n each(visibleColumns, (_, column) => {\r\n var rowIndex = isDefined(index) ? index : columnsController.getRowIndex(column.index);\r\n $cellElement = that._getCellElement(rowIndex, columnsController.getVisibleIndex(column.index, rowIndex));\r\n $cellElement && result.push($cellElement.get(0))\r\n });\r\n return $(result)\r\n }\r\n if (!index || index < rowCount) {\r\n return that.getCellElements(index || 0)\r\n }\r\n }\r\n },\r\n getColumnIndexByElement($cell) {\r\n var cellIndex = this.getCellIndex($cell);\r\n var $row = $cell.closest(\".dx-row\");\r\n var {\r\n rowIndex: rowIndex\r\n } = $row[0];\r\n var column = this.getColumns(rowIndex)[cellIndex];\r\n return column ? column.index : -1\r\n },\r\n getVisibleColumnIndex(columnIndex, rowIndex) {\r\n var column = this.getColumns()[columnIndex];\r\n return column ? this._columnsController.getVisibleIndex(column.index, rowIndex) : -1\r\n },\r\n getColumnWidths() {\r\n var $columnElements = this.getColumnElements();\r\n if ($columnElements && $columnElements.length) {\r\n return this._getWidths($columnElements)\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n allowDragging(column, sourceLocation, draggingPanels) {\r\n var i;\r\n var draggableColumnCount = 0;\r\n var rowIndex = column && this._columnsController.getRowIndex(column.index);\r\n var columns = this.getColumns(0 === rowIndex ? 0 : null);\r\n var canHideColumn = (null === column || void 0 === column ? void 0 : column.allowHiding) && columns.length > 1;\r\n var allowDrag = function(column) {\r\n return column.allowReordering || column.allowGrouping || column.allowHiding\r\n };\r\n for (i = 0; i < columns.length; i++) {\r\n if (allowDrag(columns[i])) {\r\n draggableColumnCount++\r\n }\r\n }\r\n if (draggableColumnCount <= 1 && !canHideColumn) {\r\n return false\r\n }\r\n if (!draggingPanels) {\r\n return (this.option(\"allowColumnReordering\") || this._columnsController.isColumnOptionUsed(\"allowReordering\")) && column && column.allowReordering\r\n }\r\n for (i = 0; i < draggingPanels.length; i++) {\r\n var draggingPanel = draggingPanels[i];\r\n if (draggingPanel && draggingPanel.allowDragging(column, sourceLocation)) {\r\n return true\r\n }\r\n }\r\n return false\r\n },\r\n getBoundingRect() {\r\n var $columnElements = this.getColumnElements();\r\n if ($columnElements && $columnElements.length) {\r\n var offset = this.getTableElement().offset();\r\n return {\r\n top: offset.top\r\n }\r\n }\r\n return null\r\n },\r\n getName: () => \"headers\",\r\n getColumnCount() {\r\n var $columnElements = this.getColumnElements();\r\n return $columnElements ? $columnElements.length : 0\r\n },\r\n isVisible() {\r\n return this.option(\"showColumnHeaders\")\r\n },\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"showColumnHeaders\":\r\n case \"wordWrapEnabled\":\r\n case \"showColumnLines\":\r\n this._invalidate(true, true);\r\n args.handled = true;\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n getHeight() {\r\n return this.getElementHeight()\r\n },\r\n getContextMenuItems(options) {\r\n var that = this;\r\n var {\r\n column: column\r\n } = options;\r\n if (options.row && (\"header\" === options.row.rowType || \"detailAdaptive\" === options.row.rowType)) {\r\n var sortingOptions = that.option(\"sorting\");\r\n if (sortingOptions && \"none\" !== sortingOptions.mode && column && column.allowSorting) {\r\n var onItemClick = function(params) {\r\n setTimeout(() => {\r\n that._columnsController.changeSortOrder(column.index, params.itemData.value)\r\n })\r\n };\r\n return [{\r\n text: sortingOptions.ascendingText,\r\n value: \"asc\",\r\n disabled: \"asc\" === column.sortOrder,\r\n icon: CONTEXT_MENU_SORT_ASC_ICON,\r\n onItemClick: onItemClick\r\n }, {\r\n text: sortingOptions.descendingText,\r\n value: \"desc\",\r\n disabled: \"desc\" === column.sortOrder,\r\n icon: CONTEXT_MENU_SORT_DESC_ICON,\r\n onItemClick: onItemClick\r\n }, {\r\n text: sortingOptions.clearText,\r\n value: \"none\",\r\n disabled: !column.sortOrder,\r\n icon: CONTEXT_MENU_SORT_NONE_ICON,\r\n onItemClick: onItemClick\r\n }]\r\n }\r\n }\r\n return\r\n },\r\n getRowCount() {\r\n return this._columnsController && this._columnsController.getRowCount()\r\n },\r\n setRowsOpacity(columnIndex, value, rowIndex) {\r\n var i;\r\n var columnElements;\r\n var rowCount = this.getRowCount();\r\n var columns = this._columnsController.getColumns();\r\n var column = columns && columns[columnIndex];\r\n var columnID = column && column.isBand && column.index;\r\n var setColumnOpacity = (column, index) => {\r\n if (column.ownerBand === columnID) {\r\n columnElements.eq(index).css({\r\n opacity: value\r\n });\r\n if (column.isBand) {\r\n this.setRowsOpacity(column.index, value, i + 1)\r\n }\r\n }\r\n };\r\n if (isDefined(columnID)) {\r\n rowIndex = rowIndex || 0;\r\n for (i = rowIndex; i < rowCount; i++) {\r\n columnElements = this.getCellElements(i);\r\n if (columnElements) {\r\n var rowColumns = this.getColumns(i);\r\n rowColumns.forEach(setColumnOpacity)\r\n }\r\n }\r\n }\r\n }\r\n };\r\n return members\r\n }())\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/column_state_mixin/m_column_state_mixin.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n getDefaultAlignment\r\n} from \"../../../../core/utils/position\";\r\nvar COLUMN_INDICATORS_CLASS = \"dx-column-indicators\";\r\nvar GROUP_PANEL_ITEM_CLASS = \"dx-group-panel-item\";\r\nexport default {\r\n _applyColumnState(options) {\r\n var _a;\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var columnAlignment = this._getColumnAlignment(options.column.alignment, rtlEnabled);\r\n var parameters = extend(true, {\r\n columnAlignment: columnAlignment\r\n }, options);\r\n var isGroupPanelItem = parameters.rootElement.hasClass(GROUP_PANEL_ITEM_CLASS);\r\n var $indicatorsContainer = this._createIndicatorContainer(parameters, isGroupPanelItem);\r\n var $span = $(\"\").addClass(this._getIndicatorClassName(options.name));\r\n var columnsController = null === (_a = this.component) || void 0 === _a ? void 0 : _a.getController(\"columns\");\r\n var indicatorAlignment = (null === columnsController || void 0 === columnsController ? void 0 : columnsController.getHeaderContentAlignment(columnAlignment)) || columnAlignment;\r\n parameters.container = $indicatorsContainer;\r\n parameters.indicator = $span;\r\n this._renderIndicator(parameters);\r\n $indicatorsContainer[(isGroupPanelItem || !options.showColumnLines) && \"left\" === indicatorAlignment ? \"appendTo\" : \"prependTo\"](options.rootElement);\r\n return $span\r\n },\r\n _getIndicatorClassName: noop,\r\n _getColumnAlignment(alignment, rtlEnabled) {\r\n rtlEnabled = rtlEnabled || this.option(\"rtlEnabled\");\r\n return alignment && \"center\" !== alignment ? alignment : getDefaultAlignment(rtlEnabled)\r\n },\r\n _createIndicatorContainer(options, ignoreIndicatorAlignment) {\r\n var $indicatorsContainer = this._getIndicatorContainer(options.rootElement);\r\n var indicatorAlignment = \"left\" === options.columnAlignment ? \"right\" : \"left\";\r\n if (!$indicatorsContainer.length) {\r\n $indicatorsContainer = $(\"
    \").addClass(COLUMN_INDICATORS_CLASS)\r\n }\r\n this.setAria(\"role\", \"presentation\", $indicatorsContainer);\r\n return $indicatorsContainer.css(\"float\", options.showColumnLines && !ignoreIndicatorAlignment ? indicatorAlignment : null)\r\n },\r\n _getIndicatorContainer: $cell => $cell && $cell.find(\".\".concat(COLUMN_INDICATORS_CLASS)),\r\n _getIndicatorElements($cell) {\r\n var $indicatorContainer = this._getIndicatorContainer($cell);\r\n return $indicatorContainer && $indicatorContainer.children()\r\n },\r\n _renderIndicator(options) {\r\n var $container = options.container;\r\n var $indicator = options.indicator;\r\n $container && $indicator && $container.append($indicator)\r\n },\r\n _updateIndicators(indicatorName) {\r\n var columns = this.getColumns();\r\n var $cells = this.getColumnElements();\r\n var $cell;\r\n if (!$cells || columns.length !== $cells.length) {\r\n return\r\n }\r\n for (var i = 0; i < columns.length; i++) {\r\n $cell = $cells.eq(i);\r\n this._updateIndicator($cell, columns[i], indicatorName);\r\n var rowOptions = $cell.parent().data(\"options\");\r\n if (rowOptions && rowOptions.cells) {\r\n rowOptions.cells[$cell.index()].column = columns[i]\r\n }\r\n }\r\n },\r\n _updateIndicator($cell, column, indicatorName) {\r\n if (!column.command) {\r\n return this._applyColumnState({\r\n name: indicatorName,\r\n rootElement: $cell,\r\n column: column,\r\n showColumnLines: this.option(\"showColumnLines\")\r\n })\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/columns_controller/const.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var USER_STATE_FIELD_NAMES_15_1 = [\"filterValues\", \"filterType\", \"fixed\", \"fixedPosition\"];\r\nexport var USER_STATE_FIELD_NAMES = [\"visibleIndex\", \"dataField\", \"name\", \"dataType\", \"width\", \"visible\", \"sortOrder\", \"lastSortOrder\", \"sortIndex\", \"groupIndex\", \"filterValue\", \"bufferedFilterValue\", \"selectedFilterOperation\", \"bufferedSelectedFilterOperation\", \"added\"].concat(USER_STATE_FIELD_NAMES_15_1);\r\nexport var IGNORE_COLUMN_OPTION_NAMES = {\r\n visibleWidth: true,\r\n bestFitWidth: true,\r\n bufferedFilterValue: true\r\n};\r\nexport var COMMAND_EXPAND_CLASS = \"dx-command-expand\";\r\nexport var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;\r\nexport var GROUP_COMMAND_COLUMN_NAME = \"groupExpand\";\r\nexport var DETAIL_COMMAND_COLUMN_NAME = \"detailExpand\";\r\nexport var COLUMN_OPTION_REGEXP = /columns\\[(\\d+)\\]\\.?/gi;\r\nexport var DEFAULT_COLUMN_OPTIONS = {\r\n visible: true,\r\n showInColumnChooser: true\r\n};\r\nexport var DATATYPE_OPERATIONS = {\r\n number: [\"=\", \"<>\", \"<\", \">\", \"<=\", \">=\", \"between\"],\r\n string: [\"contains\", \"notcontains\", \"startswith\", \"endswith\", \"=\", \"<>\"],\r\n date: [\"=\", \"<>\", \"<\", \">\", \"<=\", \">=\", \"between\"],\r\n datetime: [\"=\", \"<>\", \"<\", \">\", \"<=\", \">=\", \"between\"]\r\n};\r\nexport var COLUMN_INDEX_OPTIONS = {\r\n visibleIndex: true,\r\n groupIndex: true,\r\n grouped: true,\r\n sortIndex: true,\r\n sortOrder: true\r\n};\r\nexport var GROUP_LOCATION = \"group\";\r\nexport var COLUMN_CHOOSER_LOCATION = \"columnChooser\";\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/columns_controller/m_columns_controller_utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n normalizeIndexes\r\n} from \"../../../../core/utils/array\";\r\nimport {\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n compileGetter,\r\n compileSetter\r\n} from \"../../../../core/utils/data\";\r\nimport dateSerialization from \"../../../../core/utils/date_serialization\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each,\r\n map\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n deepExtendArraySafe\r\n} from \"../../../../core/utils/object\";\r\nimport {\r\n getDefaultAlignment\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isNumeric,\r\n isObject,\r\n isString,\r\n type\r\n} from \"../../../../core/utils/type\";\r\nimport variableWrapper from \"../../../../core/utils/variable_wrapper\";\r\nimport numberLocalization from \"../../../../localization/number\";\r\nimport gridCoreUtils from \"../../../grids/grid_core/m_utils\";\r\nimport {\r\n COLUMN_CHOOSER_LOCATION,\r\n COLUMN_INDEX_OPTIONS,\r\n DEFAULT_COLUMN_OPTIONS,\r\n GROUP_COMMAND_COLUMN_NAME,\r\n GROUP_LOCATION,\r\n IGNORE_COLUMN_OPTION_NAMES,\r\n USER_STATE_FIELD_NAMES,\r\n USER_STATE_FIELD_NAMES_15_1\r\n} from \"./const\";\r\nexport var setFilterOperationsAsDefaultValues = function(column) {\r\n column.filterOperations = column.defaultFilterOperations\r\n};\r\nvar globalColumnId = 1;\r\nexport var createColumn = function(that, columnOptions, userStateColumnOptions, bandColumn) {\r\n var commonColumnOptions = {};\r\n if (columnOptions) {\r\n if (isString(columnOptions)) {\r\n columnOptions = {\r\n dataField: columnOptions\r\n }\r\n }\r\n that.setName(columnOptions);\r\n var result = {};\r\n if (columnOptions.command) {\r\n result = deepExtendArraySafe(commonColumnOptions, columnOptions)\r\n } else {\r\n commonColumnOptions = that.getCommonSettings(columnOptions);\r\n if (userStateColumnOptions && userStateColumnOptions.name && userStateColumnOptions.dataField) {\r\n columnOptions = extend({}, columnOptions, {\r\n dataField: userStateColumnOptions.dataField\r\n })\r\n }\r\n var calculatedColumnOptions = that._createCalculatedColumnOptions(columnOptions, bandColumn);\r\n if (!columnOptions.type) {\r\n result = {\r\n headerId: \"dx-col-\".concat(globalColumnId++)\r\n }\r\n }\r\n result = deepExtendArraySafe(result, DEFAULT_COLUMN_OPTIONS);\r\n deepExtendArraySafe(result, commonColumnOptions);\r\n deepExtendArraySafe(result, calculatedColumnOptions);\r\n deepExtendArraySafe(result, columnOptions);\r\n deepExtendArraySafe(result, {\r\n selector: null\r\n })\r\n }\r\n if (columnOptions.filterOperations === columnOptions.defaultFilterOperations) {\r\n setFilterOperationsAsDefaultValues(result)\r\n }\r\n return result\r\n }\r\n};\r\nexport var createColumnsFromOptions = function createColumnsFromOptions(that, columnsOptions, bandColumn) {\r\n var result = [];\r\n if (columnsOptions) {\r\n each(columnsOptions, (index, columnOptions) => {\r\n var userStateColumnOptions = that._columnsUserState && checkUserStateColumn(columnOptions, that._columnsUserState[index]) && that._columnsUserState[index];\r\n var column = createColumn(that, columnOptions, userStateColumnOptions, bandColumn);\r\n if (column) {\r\n if (bandColumn) {\r\n column.ownerBand = bandColumn\r\n }\r\n result.push(column);\r\n if (column.columns) {\r\n result = result.concat(createColumnsFromOptions(that, column.columns, column));\r\n delete column.columns;\r\n column.hasColumns = true\r\n }\r\n }\r\n })\r\n }\r\n return result\r\n};\r\nexport var getParentBandColumns = function(columnIndex, columnParentByIndex) {\r\n var result = [];\r\n var parent = columnParentByIndex[columnIndex];\r\n while (parent) {\r\n result.unshift(parent);\r\n columnIndex = parent.index;\r\n parent = columnParentByIndex[columnIndex]\r\n }\r\n return result\r\n};\r\nexport var getChildrenByBandColumn = function getChildrenByBandColumn(columnIndex, columnChildrenByIndex, recursive) {\r\n var result = [];\r\n var children = columnChildrenByIndex[columnIndex];\r\n if (children) {\r\n for (var i = 0; i < children.length; i++) {\r\n var column = children[i];\r\n if (!isDefined(column.groupIndex) || column.showWhenGrouped) {\r\n result.push(column);\r\n if (recursive && column.isBand) {\r\n result = result.concat(getChildrenByBandColumn(column.index, columnChildrenByIndex, recursive))\r\n }\r\n }\r\n }\r\n }\r\n return result\r\n};\r\nexport var getColumnByIndexes = function(that, columnIndexes) {\r\n var result;\r\n var columns;\r\n var bandColumnsCache = that.getBandColumnsCache();\r\n var callbackFilter = function(column) {\r\n var ownerBand = result ? result.index : void 0;\r\n return column.ownerBand === ownerBand\r\n };\r\n if (bandColumnsCache.isPlain) {\r\n result = that._columns[columnIndexes[0]]\r\n } else {\r\n columns = that._columns.filter(callbackFilter);\r\n for (var i = 0; i < columnIndexes.length; i++) {\r\n result = columns[columnIndexes[i]];\r\n if (result) {\r\n columns = that._columns.filter(callbackFilter)\r\n }\r\n }\r\n }\r\n return result\r\n};\r\nexport var getColumnFullPath = function(that, column) {\r\n var result = [];\r\n var columns;\r\n var bandColumnsCache = that.getBandColumnsCache();\r\n var callbackFilter = function(item) {\r\n return item.ownerBand === column.ownerBand\r\n };\r\n if (bandColumnsCache.isPlain) {\r\n var columnIndex = that._columns.indexOf(column);\r\n if (columnIndex >= 0) {\r\n result = [\"columns[\".concat(columnIndex, \"]\")]\r\n }\r\n } else {\r\n columns = that._columns.filter(callbackFilter);\r\n while (columns.length && -1 !== columns.indexOf(column)) {\r\n result.unshift(\"columns[\".concat(columns.indexOf(column), \"]\"));\r\n column = bandColumnsCache.columnParentByIndex[column.index];\r\n columns = column ? that._columns.filter(callbackFilter) : []\r\n }\r\n }\r\n return result.join(\".\")\r\n};\r\nexport var calculateColspan = function calculateColspan(that, columnID) {\r\n var colspan = 0;\r\n var columns = that.getChildrenByBandColumn(columnID, true);\r\n each(columns, (_, column) => {\r\n if (column.isBand) {\r\n column.colspan = column.colspan || calculateColspan(that, column.index);\r\n colspan += column.colspan || 1\r\n } else {\r\n colspan += 1\r\n }\r\n });\r\n return colspan\r\n};\r\nexport var processBandColumns = function(that, columns, bandColumnsCache) {\r\n var rowspan;\r\n for (var i = 0; i < columns.length; i++) {\r\n var column = columns[i];\r\n if (column.visible || column.command) {\r\n if (column.isBand) {\r\n column.colspan = column.colspan || calculateColspan(that, column.index)\r\n }\r\n if (!column.isBand || !column.colspan) {\r\n rowspan = that.getRowCount();\r\n if (!column.command && (!isDefined(column.groupIndex) || column.showWhenGrouped)) {\r\n rowspan -= getParentBandColumns(column.index, bandColumnsCache.columnParentByIndex).length\r\n }\r\n if (rowspan > 1) {\r\n column.rowspan = rowspan\r\n }\r\n }\r\n }\r\n }\r\n};\r\nexport var getValueDataType = function(value) {\r\n var dataType = type(value);\r\n if (\"string\" !== dataType && \"boolean\" !== dataType && \"number\" !== dataType && \"date\" !== dataType && \"object\" !== dataType) {\r\n dataType = void 0\r\n }\r\n return dataType\r\n};\r\nexport var getSerializationFormat = function(dataType, value) {\r\n switch (dataType) {\r\n case \"date\":\r\n case \"datetime\":\r\n return dateSerialization.getDateSerializationFormat(value);\r\n case \"number\":\r\n if (isString(value)) {\r\n return \"string\"\r\n }\r\n if (isNumeric(value)) {\r\n return null\r\n }\r\n }\r\n};\r\nexport var updateSerializers = function(options, dataType) {\r\n if (!options.deserializeValue) {\r\n if (gridCoreUtils.isDateType(dataType)) {\r\n options.deserializeValue = function(value) {\r\n return dateSerialization.deserializeDate(value)\r\n };\r\n options.serializeValue = function(value) {\r\n return isString(value) ? value : dateSerialization.serializeDate(value, this.serializationFormat)\r\n }\r\n }\r\n if (\"number\" === dataType) {\r\n options.deserializeValue = function(value) {\r\n var parsedValue = parseFloat(value);\r\n return isNaN(parsedValue) ? value : parsedValue\r\n };\r\n options.serializeValue = function(value, target) {\r\n if (\"filter\" === target) {\r\n return value\r\n }\r\n return isDefined(value) && \"string\" === this.serializationFormat ? value.toString() : value\r\n }\r\n }\r\n }\r\n};\r\nexport var getAlignmentByDataType = function(dataType, isRTL) {\r\n switch (dataType) {\r\n case \"number\":\r\n return \"right\";\r\n case \"boolean\":\r\n return \"center\";\r\n default:\r\n return getDefaultAlignment(isRTL)\r\n }\r\n};\r\nexport var customizeTextForBooleanDataType = function(e) {\r\n if (true === e.value) {\r\n return this.trueText || \"true\"\r\n }\r\n if (false === e.value) {\r\n return this.falseText || \"false\"\r\n }\r\n return e.valueText || \"\"\r\n};\r\nexport var getCustomizeTextByDataType = function(dataType) {\r\n if (\"boolean\" === dataType) {\r\n return customizeTextForBooleanDataType\r\n }\r\n};\r\nexport var createColumnsFromDataSource = function(that, dataSource) {\r\n var firstItems = that._getFirstItems(dataSource);\r\n var fieldName;\r\n var processedFields = {};\r\n var result = [];\r\n for (var i = 0; i < firstItems.length; i++) {\r\n if (firstItems[i]) {\r\n for (fieldName in firstItems[i]) {\r\n if (!isFunction(firstItems[i][fieldName]) || variableWrapper.isWrapped(firstItems[i][fieldName])) {\r\n processedFields[fieldName] = true\r\n }\r\n }\r\n }\r\n }\r\n for (fieldName in processedFields) {\r\n if (0 !== fieldName.indexOf(\"__\")) {\r\n var column = createColumn(that, fieldName);\r\n result.push(column)\r\n }\r\n }\r\n return result\r\n};\r\nexport var updateColumnIndexes = function(that) {\r\n each(that._columns, (index, column) => {\r\n column.index = index\r\n });\r\n each(that._columns, (index, column) => {\r\n if (isObject(column.ownerBand)) {\r\n column.ownerBand = column.ownerBand.index\r\n }\r\n });\r\n each(that._commandColumns, (index, column) => {\r\n column.index = -(index + 1)\r\n })\r\n};\r\nexport var updateColumnGroupIndexes = function(that, currentColumn) {\r\n normalizeIndexes(that._columns, \"groupIndex\", currentColumn, column => {\r\n var {\r\n grouped: grouped\r\n } = column;\r\n delete column.grouped;\r\n return grouped\r\n })\r\n};\r\nexport var updateColumnSortIndexes = function(that, currentColumn) {\r\n each(that._columns, (index, column) => {\r\n if (isDefined(column.sortIndex) && !isSortOrderValid(column.sortOrder)) {\r\n delete column.sortIndex\r\n }\r\n });\r\n normalizeIndexes(that._columns, \"sortIndex\", currentColumn, column => !isDefined(column.groupIndex) && isSortOrderValid(column.sortOrder))\r\n};\r\nexport var updateColumnVisibleIndexes = function(that, currentColumn) {\r\n var column;\r\n var result = [];\r\n var bandColumnsCache = that.getBandColumnsCache();\r\n var bandedColumns = [];\r\n var columns = that._columns.filter(column => !column.command);\r\n for (var i = 0; i < columns.length; i++) {\r\n column = columns[i];\r\n var parentBandColumns = getParentBandColumns(i, bandColumnsCache.columnParentByIndex);\r\n if (parentBandColumns.length) {\r\n bandedColumns.push(column)\r\n } else {\r\n result.push(column)\r\n }\r\n }\r\n normalizeIndexes(bandedColumns, \"visibleIndex\", currentColumn);\r\n normalizeIndexes(result, \"visibleIndex\", currentColumn)\r\n};\r\nexport var getColumnIndexByVisibleIndex = function(that, visibleIndex, location) {\r\n var rowIndex = isObject(visibleIndex) ? visibleIndex.rowIndex : null;\r\n var columns = location === GROUP_LOCATION ? that.getGroupColumns() : location === COLUMN_CHOOSER_LOCATION ? that.getChooserColumns() : that.getVisibleColumns(rowIndex);\r\n var column;\r\n visibleIndex = isObject(visibleIndex) ? visibleIndex.columnIndex : visibleIndex;\r\n column = columns[visibleIndex];\r\n if (column && column.type === GROUP_COMMAND_COLUMN_NAME) {\r\n column = that._columns.filter(col => column.type === col.type)[0] || column\r\n }\r\n return column && isDefined(column.index) ? column.index : -1\r\n};\r\nexport var moveColumnToGroup = function(that, column, groupIndex) {\r\n var groupColumns = that.getGroupColumns();\r\n var i;\r\n if (groupIndex >= 0) {\r\n for (i = 0; i < groupColumns.length; i++) {\r\n if (groupColumns[i].groupIndex >= groupIndex) {\r\n groupColumns[i].groupIndex++\r\n }\r\n }\r\n } else {\r\n groupIndex = 0;\r\n for (i = 0; i < groupColumns.length; i++) {\r\n groupIndex = Math.max(groupIndex, groupColumns[i].groupIndex + 1)\r\n }\r\n }\r\n return groupIndex\r\n};\r\nexport function checkUserStateColumn(column, userStateColumn) {\r\n return column && userStateColumn && userStateColumn.name === (column.name || column.dataField) && (userStateColumn.dataField === column.dataField || column.name)\r\n}\r\nexport var applyUserState = function(that) {\r\n var columnsUserState = that._columnsUserState;\r\n var ignoreColumnOptionNames = that._ignoreColumnOptionNames || [];\r\n var columns = that._columns;\r\n var columnCountById = {};\r\n var resultColumns = [];\r\n var allColumnsHaveState = true;\r\n var userStateColumnIndexes = [];\r\n var column;\r\n var userStateColumnIndex;\r\n var i;\r\n\r\n function applyFieldsState(column, userStateColumn) {\r\n if (!userStateColumn) {\r\n return\r\n }\r\n for (var index = 0; index < USER_STATE_FIELD_NAMES.length; index++) {\r\n var fieldName = USER_STATE_FIELD_NAMES[index];\r\n if (ignoreColumnOptionNames.includes(fieldName)) {\r\n continue\r\n }\r\n if (\"dataType\" === fieldName) {\r\n column[fieldName] = column[fieldName] || userStateColumn[fieldName]\r\n } else if (USER_STATE_FIELD_NAMES_15_1.includes(fieldName)) {\r\n if (fieldName in userStateColumn) {\r\n column[fieldName] = userStateColumn[fieldName]\r\n }\r\n } else {\r\n if (\"selectedFilterOperation\" === fieldName && userStateColumn[fieldName]) {\r\n column.defaultSelectedFilterOperation = column[fieldName] || null\r\n }\r\n column[fieldName] = userStateColumn[fieldName]\r\n }\r\n }\r\n }\r\n\r\n function findUserStateColumn(columnsUserState, column) {\r\n var id = column.name || column.dataField;\r\n var count = columnCountById[id] || 0;\r\n for (var j = 0; j < columnsUserState.length; j++) {\r\n if (checkUserStateColumn(column, columnsUserState[j])) {\r\n if (count) {\r\n count--\r\n } else {\r\n columnCountById[id] = columnCountById[id] || 0;\r\n columnCountById[id]++;\r\n return j\r\n }\r\n }\r\n }\r\n return -1\r\n }\r\n if (columnsUserState) {\r\n for (i = 0; i < columns.length; i++) {\r\n userStateColumnIndex = findUserStateColumn(columnsUserState, columns[i]);\r\n allColumnsHaveState = allColumnsHaveState && userStateColumnIndex >= 0;\r\n userStateColumnIndexes.push(userStateColumnIndex)\r\n }\r\n for (i = 0; i < columns.length; i++) {\r\n column = columns[i];\r\n userStateColumnIndex = userStateColumnIndexes[i];\r\n if (that._hasUserState || allColumnsHaveState) {\r\n applyFieldsState(column, columnsUserState[userStateColumnIndex])\r\n }\r\n if (userStateColumnIndex >= 0 && isDefined(columnsUserState[userStateColumnIndex].initialIndex)) {\r\n resultColumns[userStateColumnIndex] = column\r\n } else {\r\n resultColumns.push(column)\r\n }\r\n }\r\n var hasAddedBands = false;\r\n for (i = 0; i < columnsUserState.length; i++) {\r\n var columnUserState = columnsUserState[i];\r\n if (columnUserState.added && findUserStateColumn(columns, columnUserState) < 0) {\r\n column = createColumn(that, columnUserState.added);\r\n applyFieldsState(column, columnUserState);\r\n resultColumns.push(column);\r\n if (columnUserState.added.columns) {\r\n hasAddedBands = true\r\n }\r\n }\r\n }\r\n if (hasAddedBands) {\r\n updateColumnIndexes(that);\r\n resultColumns = createColumnsFromOptions(that, resultColumns)\r\n }\r\n assignColumns(that, resultColumns)\r\n }\r\n};\r\nexport var updateIndexes = function(that, column) {\r\n updateColumnIndexes(that);\r\n updateColumnGroupIndexes(that, column);\r\n updateColumnSortIndexes(that, column);\r\n resetBandColumnsCache(that);\r\n updateColumnVisibleIndexes(that, column)\r\n};\r\nexport var resetColumnsCache = function(that) {\r\n that.resetColumnsCache()\r\n};\r\nexport function assignColumns(that, columns) {\r\n that._previousColumns = that._columns;\r\n that._columns = columns;\r\n resetColumnsCache(that);\r\n that.updateColumnDataTypes()\r\n}\r\nexport var updateColumnChanges = function(that, changeType, optionName, columnIndex) {\r\n var columnChanges = that._columnChanges || {\r\n optionNames: {\r\n length: 0\r\n },\r\n changeTypes: {\r\n length: 0\r\n },\r\n columnIndex: columnIndex\r\n };\r\n optionName = optionName || \"all\";\r\n optionName = optionName.split(\".\")[0];\r\n var {\r\n changeTypes: changeTypes\r\n } = columnChanges;\r\n if (changeType && !changeTypes[changeType]) {\r\n changeTypes[changeType] = true;\r\n changeTypes.length++\r\n }\r\n var {\r\n optionNames: optionNames\r\n } = columnChanges;\r\n if (optionName && !optionNames[optionName]) {\r\n optionNames[optionName] = true;\r\n optionNames.length++\r\n }\r\n if (void 0 === columnIndex || columnIndex !== columnChanges.columnIndex) {\r\n delete columnChanges.columnIndex\r\n }\r\n that._columnChanges = columnChanges;\r\n resetColumnsCache(that)\r\n};\r\nexport var fireColumnsChanged = function(that) {\r\n var onColumnsChanging = that.option(\"onColumnsChanging\");\r\n var columnChanges = that._columnChanges;\r\n var reinitOptionNames = [\"dataField\", \"lookup\", \"dataType\", \"columns\"];\r\n if (that.isInitialized() && !that._updateLockCount && columnChanges) {\r\n if (onColumnsChanging) {\r\n that._updateLockCount++;\r\n onColumnsChanging(extend({\r\n component: that.component\r\n }, columnChanges));\r\n that._updateLockCount--\r\n }\r\n that._columnChanges = void 0;\r\n if (options = columnChanges.optionNames, options && reinitOptionNames.some(name => options[name])) {\r\n that._reinitAfterLookupChanges = null === columnChanges || void 0 === columnChanges ? void 0 : columnChanges.optionNames.lookup;\r\n that.reinit();\r\n that._reinitAfterLookupChanges = void 0\r\n } else {\r\n that.columnsChanged.fire(columnChanges)\r\n }\r\n }\r\n var options\r\n};\r\nexport var updateSortOrderWhenGrouping = function(that, column, groupIndex, prevGroupIndex) {\r\n var columnWasGrouped = prevGroupIndex >= 0;\r\n if (groupIndex >= 0) {\r\n if (!columnWasGrouped) {\r\n column.lastSortOrder = column.sortOrder\r\n }\r\n } else {\r\n var sortMode = that.option(\"sorting.mode\");\r\n var sortOrder = column.lastSortOrder;\r\n if (\"single\" === sortMode) {\r\n var sortedByAnotherColumn = that._columns.some(col => col !== column && isDefined(col.sortIndex));\r\n if (sortedByAnotherColumn) {\r\n sortOrder = void 0\r\n }\r\n }\r\n column.sortOrder = sortOrder\r\n }\r\n};\r\nexport var fireOptionChanged = function(that, options) {\r\n var {\r\n value: value\r\n } = options;\r\n var {\r\n optionName: optionName\r\n } = options;\r\n var {\r\n prevValue: prevValue\r\n } = options;\r\n var {\r\n fullOptionName: fullOptionName\r\n } = options;\r\n var fullOptionPath = \"\".concat(fullOptionName, \".\").concat(optionName);\r\n if (!IGNORE_COLUMN_OPTION_NAMES[optionName] && that._skipProcessingColumnsChange !== fullOptionPath) {\r\n that._skipProcessingColumnsChange = fullOptionPath;\r\n that.component._notifyOptionChanged(fullOptionPath, value, prevValue);\r\n that._skipProcessingColumnsChange = false\r\n }\r\n};\r\nexport var columnOptionCore = function(that, column, optionName, value, notFireEvent) {\r\n var optionGetter = compileGetter(optionName);\r\n var columnIndex = column.index;\r\n var columns;\r\n var changeType;\r\n var initialColumn;\r\n if (3 === arguments.length) {\r\n return optionGetter(column, {\r\n functionsAsIs: true\r\n })\r\n }\r\n var prevValue = optionGetter(column, {\r\n functionsAsIs: true\r\n });\r\n if (!equalByValue(prevValue, value, {\r\n maxDepth: 5\r\n })) {\r\n if (\"groupIndex\" === optionName || \"calculateGroupValue\" === optionName) {\r\n changeType = \"grouping\";\r\n updateSortOrderWhenGrouping(that, column, value, prevValue)\r\n } else if (\"sortIndex\" === optionName || \"sortOrder\" === optionName || \"calculateSortValue\" === optionName) {\r\n changeType = \"sorting\"\r\n } else {\r\n changeType = \"columns\"\r\n }\r\n var optionSetter = compileSetter(optionName);\r\n optionSetter(column, value, {\r\n functionsAsIs: true\r\n });\r\n var fullOptionName = getColumnFullPath(that, column);\r\n if (COLUMN_INDEX_OPTIONS[optionName]) {\r\n updateIndexes(that, column);\r\n value = optionGetter(column)\r\n }\r\n if (\"name\" === optionName || \"allowEditing\" === optionName) {\r\n that._checkColumns()\r\n }\r\n if (!isDefined(prevValue) && !isDefined(value) && 0 !== optionName.indexOf(\"buffer\")) {\r\n notFireEvent = true\r\n }\r\n if (!notFireEvent) {\r\n if (!USER_STATE_FIELD_NAMES.includes(optionName) && \"visibleWidth\" !== optionName) {\r\n columns = that.option(\"columns\");\r\n initialColumn = that.getColumnByPath(fullOptionName, columns);\r\n if (isString(initialColumn)) {\r\n initialColumn = columns[columnIndex] = {\r\n dataField: initialColumn\r\n }\r\n }\r\n if (initialColumn && checkUserStateColumn(initialColumn, column)) {\r\n optionSetter(initialColumn, value, {\r\n functionsAsIs: true\r\n })\r\n }\r\n }\r\n updateColumnChanges(that, changeType, optionName, columnIndex)\r\n } else {\r\n resetColumnsCache(that)\r\n }\r\n fullOptionName && fireOptionChanged(that, {\r\n fullOptionName: fullOptionName,\r\n optionName: optionName,\r\n value: value,\r\n prevValue: prevValue\r\n })\r\n }\r\n};\r\nexport function isSortOrderValid(sortOrder) {\r\n return \"asc\" === sortOrder || \"desc\" === sortOrder\r\n}\r\nexport var addExpandColumn = function(that) {\r\n var options = that._getExpandColumnOptions();\r\n that.addCommandColumn(options)\r\n};\r\nexport var defaultSetCellValue = function(data, value) {\r\n if (!this.dataField) {\r\n return\r\n }\r\n var path = this.dataField.split(\".\");\r\n var dotCount = path.length - 1;\r\n if (this.serializeValue) {\r\n value = this.serializeValue(value)\r\n }\r\n for (var i = 0; i < dotCount; i++) {\r\n var name = path[i];\r\n data = data[name] = data[name] || {}\r\n }\r\n data[path[dotCount]] = value\r\n};\r\nexport var getDataColumns = function getDataColumns(columns, rowIndex, bandColumnID) {\r\n var result = [];\r\n rowIndex = rowIndex || 0;\r\n columns[rowIndex] && each(columns[rowIndex], (_, column) => {\r\n if (column.ownerBand === bandColumnID || column.type === GROUP_COMMAND_COLUMN_NAME) {\r\n if (!column.isBand || !column.colspan) {\r\n if (!column.command || rowIndex < 1) {\r\n result.push(column)\r\n }\r\n } else {\r\n result.push.apply(result, getDataColumns(columns, rowIndex + 1, column.index))\r\n }\r\n }\r\n });\r\n return result\r\n};\r\nexport var getRowCount = function(that) {\r\n var rowCount = 1;\r\n var bandColumnsCache = that.getBandColumnsCache();\r\n var {\r\n columnParentByIndex: columnParentByIndex\r\n } = bandColumnsCache;\r\n that._columns.forEach(column => {\r\n var parents = getParentBandColumns(column.index, columnParentByIndex);\r\n var invisibleParents = parents.filter(column => !column.visible);\r\n if (column.visible && !invisibleParents.length) {\r\n rowCount = Math.max(rowCount, parents.length + 1)\r\n }\r\n });\r\n return rowCount\r\n};\r\nexport var isCustomCommandColumn = (that, commandColumn) => {\r\n var customCommandColumns = that._columns.filter(column => column.type === commandColumn.type);\r\n return !!customCommandColumns.length\r\n};\r\nexport var getFixedPosition = function(that, column) {\r\n var rtlEnabled = that.option(\"rtlEnabled\");\r\n if (column.command && !isCustomCommandColumn(that, column) || !column.fixedPosition) {\r\n return rtlEnabled ? \"right\" : \"left\"\r\n }\r\n return column.fixedPosition\r\n};\r\nexport var processExpandColumns = function(columns, expandColumns, type, columnIndex) {\r\n var customColumnIndex;\r\n var rowCount = this.getRowCount();\r\n var rowspan = columns[columnIndex] && columns[columnIndex].rowspan;\r\n var expandColumnsByType = expandColumns.filter(column => column.type === type);\r\n columns.forEach((column, index) => {\r\n if (column.type === type) {\r\n customColumnIndex = index;\r\n rowspan = columns[index + 1] ? columns[index + 1].rowspan : rowCount\r\n }\r\n });\r\n if (rowspan > 1) {\r\n expandColumnsByType = map(expandColumnsByType, expandColumn => extend({}, expandColumn, {\r\n rowspan: rowspan\r\n }))\r\n }\r\n expandColumnsByType.unshift.apply(expandColumnsByType, isDefined(customColumnIndex) ? [customColumnIndex, 1] : [columnIndex, 0]);\r\n columns.splice.apply(columns, expandColumnsByType);\r\n return rowspan || 1\r\n};\r\nexport var digitsCount = function(number) {\r\n var i;\r\n for (i = 0; number > 1; i++) {\r\n number /= 10\r\n }\r\n return i\r\n};\r\nexport var numberToString = function(number, digitsCount) {\r\n var str = number ? number.toString() : \"0\";\r\n while (str.length < digitsCount) {\r\n str = \"0\".concat(str)\r\n }\r\n return str\r\n};\r\nexport var mergeColumns = (that, columns, commandColumns, needToExtend) => {\r\n var column;\r\n var commandColumnIndex;\r\n var result = columns.slice().map(column => extend({}, column));\r\n var isColumnFixing = that._isColumnFixing();\r\n var defaultCommandColumns = commandColumns.slice().map(column => extend({\r\n fixed: isColumnFixing\r\n }, column));\r\n var getCommandColumnIndex = column => commandColumns.reduce((result, commandColumn, index) => {\r\n var columnType = needToExtend && column.type === GROUP_COMMAND_COLUMN_NAME ? \"expand\" : column.type;\r\n return commandColumn.type === columnType || commandColumn.command === column.command ? index : result\r\n }, -1);\r\n var callbackFilter = commandColumn => commandColumn.command !== commandColumns[commandColumnIndex].command;\r\n for (var i = 0; i < columns.length; i++) {\r\n column = columns[i];\r\n commandColumnIndex = column && (column.type || column.command) ? getCommandColumnIndex(column) : -1;\r\n if (commandColumnIndex >= 0) {\r\n if (needToExtend) {\r\n result[i] = extend({\r\n fixed: isColumnFixing\r\n }, commandColumns[commandColumnIndex], column);\r\n if (column.type !== GROUP_COMMAND_COLUMN_NAME) {\r\n defaultCommandColumns = defaultCommandColumns.filter(callbackFilter)\r\n }\r\n } else {\r\n var columnOptions = {\r\n visibleIndex: column.visibleIndex,\r\n index: column.index,\r\n headerId: column.headerId,\r\n allowFixing: 0 === column.groupIndex,\r\n allowReordering: 0 === column.groupIndex,\r\n groupIndex: column.groupIndex\r\n };\r\n result[i] = extend({}, column, commandColumns[commandColumnIndex], column.type === GROUP_COMMAND_COLUMN_NAME && columnOptions)\r\n }\r\n }\r\n }\r\n if (columns.length && needToExtend && defaultCommandColumns.length) {\r\n result = result.concat(defaultCommandColumns)\r\n }\r\n return result\r\n};\r\nexport var isColumnFixed = (that, column) => isDefined(column.fixed) || !column.type ? column.fixed : that._isColumnFixing();\r\nexport var convertOwnerBandToColumnReference = columns => {\r\n columns.forEach(column => {\r\n if (isDefined(column.ownerBand)) {\r\n column.ownerBand = columns[column.ownerBand]\r\n }\r\n })\r\n};\r\nexport var resetBandColumnsCache = that => {\r\n that._bandColumnsCache = void 0\r\n};\r\nexport var findColumn = (columns, identifier) => {\r\n var identifierOptionName = isString(identifier) && identifier.substr(0, identifier.indexOf(\":\"));\r\n var column;\r\n if (void 0 === identifier) {\r\n return\r\n }\r\n if (identifierOptionName) {\r\n identifier = identifier.substr(identifierOptionName.length + 1)\r\n }\r\n if (identifierOptionName) {\r\n column = columns.filter(column => \"\".concat(column[identifierOptionName]) === identifier)[0]\r\n } else {\r\n [\"index\", \"name\", \"dataField\", \"caption\"].some(optionName => {\r\n column = columns.filter(column => column[optionName] === identifier)[0];\r\n return !!column\r\n })\r\n }\r\n return column\r\n};\r\nexport var sortColumns = (columns, sortOrder) => {\r\n if (\"asc\" !== sortOrder && \"desc\" !== sortOrder) {\r\n return columns\r\n }\r\n var sign = \"asc\" === sortOrder ? 1 : -1;\r\n columns.sort((column1, column2) => {\r\n var caption1 = column1.caption || \"\";\r\n var caption2 = column2.caption || \"\";\r\n return sign * caption1.localeCompare(caption2)\r\n });\r\n return columns\r\n};\r\nexport var strictParseNumber = function(text, format) {\r\n var parsedValue = numberLocalization.parse(text);\r\n if (isNumeric(parsedValue)) {\r\n var formattedValue = numberLocalization.format(parsedValue, format);\r\n var formattedValueWithDefaultFormat = numberLocalization.format(parsedValue, \"decimal\");\r\n if (formattedValue === text || formattedValueWithDefaultFormat === text) {\r\n return parsedValue\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/columns_controller/m_columns_controller.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport config from \"../../../../core/config\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport Callbacks from \"../../../../core/utils/callbacks\";\r\nimport {\r\n compileGetter\r\n} from \"../../../../core/utils/data\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n captionize\r\n} from \"../../../../core/utils/inflector\";\r\nimport {\r\n each,\r\n map\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n orderEach\r\n} from \"../../../../core/utils/object\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isNumeric,\r\n isObject,\r\n isPlainObject,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport variableWrapper from \"../../../../core/utils/variable_wrapper\";\r\nimport Store from \"../../../../data/abstract_store\";\r\nimport {\r\n DataSource\r\n} from \"../../../../data/data_source/data_source\";\r\nimport {\r\n normalizeDataSourceOptions\r\n} from \"../../../../data/data_source/utils\";\r\nimport dateLocalization from \"../../../../localization/date\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport filterUtils from \"../../../../ui/shared/filtering\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n COLUMN_CHOOSER_LOCATION,\r\n COLUMN_OPTION_REGEXP,\r\n COMMAND_EXPAND_CLASS,\r\n DATATYPE_OPERATIONS,\r\n DETAIL_COMMAND_COLUMN_NAME,\r\n GROUP_COMMAND_COLUMN_NAME,\r\n GROUP_LOCATION,\r\n MAX_SAFE_INTEGER,\r\n USER_STATE_FIELD_NAMES\r\n} from \"./const\";\r\nimport {\r\n addExpandColumn,\r\n applyUserState,\r\n assignColumns,\r\n columnOptionCore,\r\n convertOwnerBandToColumnReference,\r\n createColumn,\r\n createColumnsFromDataSource,\r\n createColumnsFromOptions,\r\n defaultSetCellValue,\r\n digitsCount,\r\n findColumn,\r\n fireColumnsChanged,\r\n getAlignmentByDataType,\r\n getChildrenByBandColumn,\r\n getColumnByIndexes,\r\n getColumnIndexByVisibleIndex,\r\n getCustomizeTextByDataType,\r\n getDataColumns,\r\n getFixedPosition,\r\n getParentBandColumns,\r\n getRowCount,\r\n getSerializationFormat,\r\n getValueDataType,\r\n isColumnFixed,\r\n isCustomCommandColumn,\r\n isSortOrderValid,\r\n mergeColumns,\r\n moveColumnToGroup,\r\n numberToString,\r\n processBandColumns,\r\n processExpandColumns,\r\n resetBandColumnsCache,\r\n resetColumnsCache,\r\n setFilterOperationsAsDefaultValues,\r\n sortColumns,\r\n strictParseNumber,\r\n updateColumnChanges,\r\n updateColumnGroupIndexes,\r\n updateIndexes,\r\n updateSerializers\r\n} from \"./m_columns_controller_utils\";\r\nexport class ColumnsController extends modules.Controller {\r\n _getExpandColumnOptions() {\r\n return {\r\n type: \"expand\",\r\n command: \"expand\",\r\n width: \"auto\",\r\n cssClass: COMMAND_EXPAND_CLASS,\r\n allowEditing: false,\r\n allowGrouping: false,\r\n allowSorting: false,\r\n allowResizing: false,\r\n allowReordering: false,\r\n allowHiding: false\r\n }\r\n }\r\n _getFirstItems(dataSource) {\r\n var groupsCount;\r\n var items = [];\r\n if (dataSource && dataSource.items().length > 0) {\r\n groupsCount = gridCoreUtils.normalizeSortingInfo(dataSource.group()).length;\r\n items = function getFirstItemsCore(items, groupsCount) {\r\n if (!items || !groupsCount) {\r\n return items\r\n }\r\n for (var i = 0; i < items.length; i++) {\r\n var childItems = getFirstItemsCore(items[i].items || items[i].collapsedItems, groupsCount - 1);\r\n if (childItems && childItems.length) {\r\n return childItems\r\n }\r\n }\r\n }(dataSource.items(), groupsCount) || []\r\n }\r\n return items\r\n }\r\n _endUpdateCore() {\r\n !this._skipProcessingColumnsChange && fireColumnsChanged(this)\r\n }\r\n init(isApplyingUserState) {\r\n var columns = this.option(\"columns\");\r\n this._commandColumns = this._commandColumns || [];\r\n this._columns = this._columns || [];\r\n this._isColumnsFromOptions = !!columns;\r\n if (this._isColumnsFromOptions) {\r\n assignColumns(this, columns ? createColumnsFromOptions(this, columns) : []);\r\n applyUserState(this)\r\n } else {\r\n assignColumns(this, this._columnsUserState ? createColumnsFromOptions(this, this._columnsUserState) : this._columns)\r\n }\r\n addExpandColumn(this);\r\n if (this._dataSourceApplied) {\r\n this.applyDataSource(this._dataSource, true, isApplyingUserState)\r\n } else {\r\n updateIndexes(this)\r\n }\r\n this._checkColumns()\r\n }\r\n callbackNames() {\r\n return [\"columnsChanged\"]\r\n }\r\n getColumnByPath(path, columns) {\r\n var column;\r\n var columnIndexes = [];\r\n path.replace(COLUMN_OPTION_REGEXP, (_, columnIndex) => {\r\n columnIndexes.push(parseInt(columnIndex));\r\n return \"\"\r\n });\r\n if (columnIndexes.length) {\r\n if (columns) {\r\n column = columnIndexes.reduce((column, index) => column && column.columns && column.columns[index], {\r\n columns: columns\r\n })\r\n } else {\r\n column = getColumnByIndexes(this, columnIndexes)\r\n }\r\n }\r\n return column\r\n }\r\n optionChanged(args) {\r\n var needUpdateRequireResize;\r\n switch (args.name) {\r\n case \"adaptColumnWidthByRatio\":\r\n args.handled = true;\r\n break;\r\n case \"dataSource\":\r\n if (args.value !== args.previousValue && !this.option(\"columns\") && (!Array.isArray(args.value) || !Array.isArray(args.previousValue))) {\r\n this._columns = []\r\n }\r\n break;\r\n case \"columns\":\r\n needUpdateRequireResize = this._skipProcessingColumnsChange;\r\n args.handled = true;\r\n if (!this._skipProcessingColumnsChange) {\r\n if (args.name === args.fullName) {\r\n this._columnsUserState = null;\r\n this._ignoreColumnOptionNames = null;\r\n this.init()\r\n } else {\r\n this._columnOptionChanged(args);\r\n needUpdateRequireResize = true\r\n }\r\n }\r\n if (needUpdateRequireResize) {\r\n this._updateRequireResize(args)\r\n }\r\n break;\r\n case \"commonColumnSettings\":\r\n case \"columnAutoWidth\":\r\n case \"allowColumnResizing\":\r\n case \"allowColumnReordering\":\r\n case \"columnFixing\":\r\n case \"grouping\":\r\n case \"groupPanel\":\r\n case \"regenerateColumnsByVisibleItems\":\r\n case \"customizeColumns\":\r\n case \"columnHidingEnabled\":\r\n case \"dateSerializationFormat\":\r\n case \"columnResizingMode\":\r\n case \"columnMinWidth\":\r\n case \"columnWidth\":\r\n args.handled = true;\r\n var ignoreColumnOptionNames = \"columnWidth\" === args.fullName && [\"width\"];\r\n this.reinit(ignoreColumnOptionNames);\r\n break;\r\n case \"rtlEnabled\":\r\n this.reinit();\r\n break;\r\n default:\r\n super.optionChanged(args)\r\n }\r\n }\r\n _columnOptionChanged(args) {\r\n var columnOptionValue = {};\r\n var column = this.getColumnByPath(args.fullName);\r\n var columnOptionName = args.fullName.replace(COLUMN_OPTION_REGEXP, \"\");\r\n if (column) {\r\n if (columnOptionName) {\r\n columnOptionValue[columnOptionName] = args.value\r\n } else {\r\n columnOptionValue = args.value\r\n }\r\n this._skipProcessingColumnsChange = args.fullName;\r\n this.columnOption(column.index, columnOptionValue);\r\n this._skipProcessingColumnsChange = false\r\n }\r\n }\r\n _updateRequireResize(args) {\r\n var {\r\n component: component\r\n } = this;\r\n if (\"width\" === args.fullName.replace(COLUMN_OPTION_REGEXP, \"\") && component._updateLockCount) {\r\n component._requireResize = true\r\n }\r\n }\r\n publicMethods() {\r\n return [\"addColumn\", \"deleteColumn\", \"columnOption\", \"columnCount\", \"clearSorting\", \"clearGrouping\", \"getVisibleColumns\", \"getVisibleColumnIndex\"]\r\n }\r\n applyDataSource(dataSource, forceApplying, isApplyingUserState) {\r\n var isDataSourceLoaded = dataSource && dataSource.isLoaded();\r\n this._dataSource = dataSource;\r\n if (!this._dataSourceApplied || 0 === this._dataSourceColumnsCount || forceApplying || this.option(\"regenerateColumnsByVisibleItems\")) {\r\n if (isDataSourceLoaded) {\r\n if (!this._isColumnsFromOptions) {\r\n var columnsFromDataSource = createColumnsFromDataSource(this, dataSource);\r\n if (columnsFromDataSource.length) {\r\n assignColumns(this, columnsFromDataSource);\r\n this._dataSourceColumnsCount = this._columns.length;\r\n applyUserState(this)\r\n }\r\n }\r\n return this.updateColumns(dataSource, forceApplying, isApplyingUserState)\r\n }\r\n this._dataSourceApplied = false;\r\n updateIndexes(this)\r\n } else if (isDataSourceLoaded && !this.isAllDataTypesDefined(true) && this.updateColumnDataTypes(dataSource)) {\r\n updateColumnChanges(this, \"columns\");\r\n fireColumnsChanged(this);\r\n return (new Deferred).reject().promise()\r\n }\r\n }\r\n reset() {\r\n this._dataSource = null;\r\n this._dataSourceApplied = false;\r\n this._dataSourceColumnsCount = void 0;\r\n this.reinit()\r\n }\r\n resetColumnsCache() {\r\n this._visibleColumns = void 0;\r\n this._fixedColumns = void 0;\r\n this._rowCount = void 0;\r\n resetBandColumnsCache(this)\r\n }\r\n reinit(ignoreColumnOptionNames) {\r\n this._columnsUserState = this.getUserState();\r\n this._ignoreColumnOptionNames = ignoreColumnOptionNames || null;\r\n this.init();\r\n if (ignoreColumnOptionNames) {\r\n this._ignoreColumnOptionNames = null\r\n }\r\n }\r\n isInitialized() {\r\n return !!this._columns.length || !!this.option(\"columns\")\r\n }\r\n isDataSourceApplied() {\r\n return this._dataSourceApplied\r\n }\r\n getCommonSettings(column) {\r\n var _a, _b;\r\n var commonColumnSettings = (!column || !column.type) && this.option(\"commonColumnSettings\") || {};\r\n var groupingOptions = null !== (_a = this.option(\"grouping\")) && void 0 !== _a ? _a : {};\r\n var groupPanelOptions = null !== (_b = this.option(\"groupPanel\")) && void 0 !== _b ? _b : {};\r\n return extend({\r\n allowFixing: this.option(\"columnFixing.enabled\"),\r\n allowResizing: this.option(\"allowColumnResizing\") || void 0,\r\n allowReordering: this.option(\"allowColumnReordering\"),\r\n minWidth: this.option(\"columnMinWidth\"),\r\n width: this.option(\"columnWidth\"),\r\n autoExpandGroup: groupingOptions.autoExpandAll,\r\n allowCollapsing: groupingOptions.allowCollapsing,\r\n allowGrouping: groupPanelOptions.allowColumnDragging && groupPanelOptions.visible || groupingOptions.contextMenuEnabled\r\n }, commonColumnSettings)\r\n }\r\n isColumnOptionUsed(optionName) {\r\n for (var i = 0; i < this._columns.length; i++) {\r\n if (this._columns[i][optionName]) {\r\n return true\r\n }\r\n }\r\n }\r\n isAllDataTypesDefined(checkSerializers) {\r\n var columns = this._columns;\r\n if (!columns.length) {\r\n return false\r\n }\r\n for (var i = 0; i < columns.length; i++) {\r\n if (!columns[i].dataField && columns[i].calculateCellValue === columns[i].defaultCalculateCellValue) {\r\n continue\r\n }\r\n if (!columns[i].dataType || checkSerializers && columns[i].deserializeValue && void 0 === columns[i].serializationFormat) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n getColumns() {\r\n return this._columns\r\n }\r\n isBandColumnsUsed() {\r\n return this.getColumns().some(column => column.isBand)\r\n }\r\n getGroupColumns() {\r\n var result = [];\r\n each(this._columns, (function() {\r\n if (isDefined(this.groupIndex)) {\r\n result[this.groupIndex] = this\r\n }\r\n }));\r\n return result\r\n }\r\n _shouldReturnVisibleColumns() {\r\n return true\r\n }\r\n _compileVisibleColumns(rowIndex) {\r\n this._visibleColumns = this._visibleColumns || this._compileVisibleColumnsCore();\r\n rowIndex = isDefined(rowIndex) ? rowIndex : this._visibleColumns.length - 1;\r\n return this._visibleColumns[rowIndex] || []\r\n }\r\n getVisibleColumns(rowIndex, isBase) {\r\n if (!this._shouldReturnVisibleColumns()) {\r\n return []\r\n }\r\n return this._compileVisibleColumns.apply(this, arguments)\r\n }\r\n getFixedColumns(rowIndex) {\r\n this._fixedColumns = this._fixedColumns || this._getFixedColumnsCore();\r\n rowIndex = isDefined(rowIndex) ? rowIndex : this._fixedColumns.length - 1;\r\n return this._fixedColumns[rowIndex] || []\r\n }\r\n getFilteringColumns() {\r\n return this.getColumns().filter(item => (item.dataField || item.name) && (item.allowFiltering || item.allowHeaderFiltering)).map(item => {\r\n var field = extend(true, {}, item);\r\n if (!isDefined(field.dataField)) {\r\n field.dataField = field.name\r\n }\r\n field.filterOperations = item.filterOperations !== item.defaultFilterOperations ? field.filterOperations : null;\r\n return field\r\n })\r\n }\r\n getColumnIndexOffset() {\r\n return 0\r\n }\r\n _getFixedColumnsCore() {\r\n var result = [];\r\n var rowCount = this.getRowCount();\r\n var isColumnFixing = this._isColumnFixing();\r\n var transparentColumn = {\r\n command: \"transparent\"\r\n };\r\n var transparentColspan = 0;\r\n var notFixedColumnCount;\r\n var transparentColumnIndex;\r\n var lastFixedPosition;\r\n if (isColumnFixing) {\r\n for (var i = 0; i <= rowCount; i++) {\r\n notFixedColumnCount = 0;\r\n lastFixedPosition = null;\r\n transparentColumnIndex = null;\r\n var visibleColumns = this.getVisibleColumns(i, true);\r\n for (var j = 0; j < visibleColumns.length; j++) {\r\n var prevColumn = visibleColumns[j - 1];\r\n var column = visibleColumns[j];\r\n if (!column.fixed) {\r\n if (0 === i) {\r\n if (column.isBand && column.colspan) {\r\n transparentColspan += column.colspan\r\n } else {\r\n transparentColspan++\r\n }\r\n }\r\n notFixedColumnCount++;\r\n if (!isDefined(transparentColumnIndex)) {\r\n transparentColumnIndex = j\r\n }\r\n } else if (prevColumn && prevColumn.fixed && getFixedPosition(this, prevColumn) !== getFixedPosition(this, column)) {\r\n if (!isDefined(transparentColumnIndex)) {\r\n transparentColumnIndex = j\r\n }\r\n } else {\r\n lastFixedPosition = column.fixedPosition\r\n }\r\n }\r\n if (0 === i && (0 === notFixedColumnCount || notFixedColumnCount >= visibleColumns.length)) {\r\n return []\r\n }\r\n if (!isDefined(transparentColumnIndex)) {\r\n transparentColumnIndex = \"right\" === lastFixedPosition ? 0 : visibleColumns.length\r\n }\r\n result[i] = visibleColumns.slice(0);\r\n if (!transparentColumn.colspan) {\r\n transparentColumn.colspan = transparentColspan\r\n }\r\n result[i].splice(transparentColumnIndex, notFixedColumnCount, transparentColumn)\r\n }\r\n }\r\n return result.map(columns => columns.map(column => {\r\n var newColumn = _extends({}, column);\r\n if (newColumn.headerId) {\r\n newColumn.headerId += \"-fixed\"\r\n }\r\n return newColumn\r\n }))\r\n }\r\n _isColumnFixing() {\r\n var isColumnFixing = this.option(\"columnFixing.enabled\");\r\n !isColumnFixing && each(this._columns, (_, column) => {\r\n if (column.fixed) {\r\n isColumnFixing = true;\r\n return false\r\n }\r\n });\r\n return isColumnFixing\r\n }\r\n _getExpandColumnsCore() {\r\n return this.getGroupColumns()\r\n }\r\n getExpandColumns() {\r\n var expandColumns = this._getExpandColumnsCore();\r\n var expandColumn;\r\n var firstGroupColumn = expandColumns.filter(column => 0 === column.groupIndex)[0];\r\n var isFixedFirstGroupColumn = firstGroupColumn && firstGroupColumn.fixed;\r\n var isColumnFixing = this._isColumnFixing();\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n if (expandColumns.length) {\r\n expandColumn = this.columnOption(\"command:expand\")\r\n }\r\n expandColumns = map(expandColumns, column => extend({}, column, {\r\n visibleWidth: null,\r\n minWidth: null,\r\n cellTemplate: !isDefined(column.groupIndex) ? column.cellTemplate : null,\r\n headerCellTemplate: null,\r\n fixed: !isDefined(column.groupIndex) || !isFixedFirstGroupColumn ? isColumnFixing : true,\r\n fixedPosition: rtlEnabled ? \"right\" : \"left\"\r\n }, expandColumn, {\r\n index: column.index,\r\n type: column.type || GROUP_COMMAND_COLUMN_NAME\r\n }));\r\n return expandColumns\r\n }\r\n getBandColumnsCache() {\r\n if (!this._bandColumnsCache) {\r\n var columns = this._columns;\r\n var columnChildrenByIndex = {};\r\n var columnParentByIndex = {};\r\n var isPlain = true;\r\n columns.forEach(column => {\r\n var {\r\n ownerBand: ownerBand\r\n } = column;\r\n var parentIndex = isObject(ownerBand) ? ownerBand.index : ownerBand;\r\n var parent = columns[parentIndex];\r\n if (column.hasColumns) {\r\n isPlain = false\r\n }\r\n if (column.colspan) {\r\n column.colspan = void 0\r\n }\r\n if (column.rowspan) {\r\n column.rowspan = void 0\r\n }\r\n if (parent) {\r\n columnParentByIndex[column.index] = parent\r\n } else {\r\n parentIndex = -1\r\n }\r\n columnChildrenByIndex[parentIndex] = columnChildrenByIndex[parentIndex] || [];\r\n columnChildrenByIndex[parentIndex].push(column)\r\n });\r\n this._bandColumnsCache = {\r\n isPlain: isPlain,\r\n columnChildrenByIndex: columnChildrenByIndex,\r\n columnParentByIndex: columnParentByIndex\r\n }\r\n }\r\n return this._bandColumnsCache\r\n }\r\n _isColumnVisible(column) {\r\n return column.visible && this.isParentColumnVisible(column.index)\r\n }\r\n _isColumnInGroupPanel(column) {\r\n return isDefined(column.groupIndex) && !column.showWhenGrouped\r\n }\r\n hasVisibleDataColumns() {\r\n var columns = this._columns;\r\n return columns.some(column => {\r\n var isVisible = this._isColumnVisible(column);\r\n var isInGroupPanel = this._isColumnInGroupPanel(column);\r\n var isCommand = !!column.command;\r\n return isVisible && !isInGroupPanel && !isCommand\r\n })\r\n }\r\n _compileVisibleColumnsCore() {\r\n var bandColumnsCache = this.getBandColumnsCache();\r\n var columns = mergeColumns(this, this._columns, this._commandColumns, true);\r\n processBandColumns(this, columns, bandColumnsCache);\r\n var indexedColumns = this._getIndexedColumns(columns);\r\n var visibleColumns = this._getVisibleColumnsFromIndexed(indexedColumns);\r\n var isDataColumnsInvisible = !this.hasVisibleDataColumns();\r\n if (isDataColumnsInvisible && this._columns.length) {\r\n visibleColumns[visibleColumns.length - 1].push({\r\n command: \"empty\"\r\n })\r\n }\r\n return visibleColumns\r\n }\r\n _getIndexedColumns(columns) {\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var rowCount = this.getRowCount();\r\n var columnDigitsCount = digitsCount(columns.length);\r\n var bandColumnsCache = this.getBandColumnsCache();\r\n var positiveIndexedColumns = [];\r\n var negativeIndexedColumns = [];\r\n for (var i = 0; i < rowCount; i += 1) {\r\n negativeIndexedColumns[i] = [{}];\r\n positiveIndexedColumns[i] = [{}, {}, {}]\r\n }\r\n columns.forEach(column => {\r\n var _a, _b, _c, _d;\r\n var {\r\n visibleIndex: visibleIndex\r\n } = column;\r\n var indexedColumns;\r\n var parentBandColumns = getParentBandColumns(column.index, bandColumnsCache.columnParentByIndex);\r\n var isVisible = this._isColumnVisible(column);\r\n var isInGroupPanel = this._isColumnInGroupPanel(column);\r\n if (isVisible && !isInGroupPanel) {\r\n var rowIndex = parentBandColumns.length;\r\n if (visibleIndex < 0) {\r\n visibleIndex = -visibleIndex;\r\n indexedColumns = negativeIndexedColumns[rowIndex]\r\n } else {\r\n column.fixed = null !== (_b = null === (_a = parentBandColumns[0]) || void 0 === _a ? void 0 : _a.fixed) && void 0 !== _b ? _b : column.fixed;\r\n column.fixedPosition = null !== (_d = null === (_c = parentBandColumns[0]) || void 0 === _c ? void 0 : _c.fixedPosition) && void 0 !== _d ? _d : column.fixedPosition;\r\n if (column.fixed) {\r\n var isDefaultCommandColumn = !!column.command && !isCustomCommandColumn(this, column);\r\n var isFixedToEnd = \"right\" === column.fixedPosition;\r\n if (rtlEnabled && !isDefaultCommandColumn) {\r\n isFixedToEnd = !isFixedToEnd\r\n }\r\n indexedColumns = isFixedToEnd ? positiveIndexedColumns[rowIndex][2] : positiveIndexedColumns[rowIndex][0]\r\n } else {\r\n indexedColumns = positiveIndexedColumns[rowIndex][1]\r\n }\r\n }\r\n if (parentBandColumns.length) {\r\n visibleIndex = numberToString(visibleIndex, columnDigitsCount);\r\n for (var _i = parentBandColumns.length - 1; _i >= 0; _i -= 1) {\r\n visibleIndex = numberToString(parentBandColumns[_i].visibleIndex, columnDigitsCount) + visibleIndex\r\n }\r\n }\r\n indexedColumns[visibleIndex] = indexedColumns[visibleIndex] || [];\r\n indexedColumns[visibleIndex].push(column)\r\n }\r\n });\r\n return {\r\n positiveIndexedColumns: positiveIndexedColumns,\r\n negativeIndexedColumns: negativeIndexedColumns\r\n }\r\n }\r\n _getVisibleColumnsFromIndexed(_ref) {\r\n var _this = this;\r\n var {\r\n positiveIndexedColumns: positiveIndexedColumns,\r\n negativeIndexedColumns: negativeIndexedColumns\r\n } = _ref;\r\n var result = [];\r\n var rowCount = this.getRowCount();\r\n var expandColumns = mergeColumns(this, this.getExpandColumns(), this._columns);\r\n var rowspanGroupColumns = 0;\r\n var rowspanExpandColumns = 0;\r\n var _loop = function(rowIndex) {\r\n result.push([]);\r\n orderEach(negativeIndexedColumns[rowIndex], (_, columns) => {\r\n result[rowIndex].unshift.apply(result[rowIndex], columns)\r\n });\r\n var firstPositiveIndexColumn = result[rowIndex].length;\r\n var positiveIndexedRowColumns = positiveIndexedColumns[rowIndex];\r\n positiveIndexedRowColumns.forEach(columnsByFixing => {\r\n orderEach(columnsByFixing, (_, columnsByVisibleIndex) => {\r\n result[rowIndex].push.apply(result[rowIndex], columnsByVisibleIndex)\r\n })\r\n });\r\n if (rowspanExpandColumns <= rowIndex) {\r\n rowspanExpandColumns += processExpandColumns.call(_this, result[rowIndex], expandColumns, DETAIL_COMMAND_COLUMN_NAME, firstPositiveIndexColumn)\r\n }\r\n if (rowspanGroupColumns <= rowIndex) {\r\n rowspanGroupColumns += processExpandColumns.call(_this, result[rowIndex], expandColumns, GROUP_COMMAND_COLUMN_NAME, firstPositiveIndexColumn)\r\n }\r\n };\r\n for (var rowIndex = 0; rowIndex < rowCount; rowIndex += 1) {\r\n _loop(rowIndex)\r\n }\r\n result.push(getDataColumns(result));\r\n return result\r\n }\r\n getInvisibleColumns(columns, bandColumnIndex) {\r\n var that = this;\r\n var result = [];\r\n var hiddenColumnsByBand;\r\n columns = columns || that._columns;\r\n each(columns, (_, column) => {\r\n if (column.ownerBand !== bandColumnIndex) {\r\n return\r\n }\r\n if (column.isBand) {\r\n if (!column.visible) {\r\n hiddenColumnsByBand = that.getChildrenByBandColumn(column.index)\r\n } else {\r\n hiddenColumnsByBand = that.getInvisibleColumns(that.getChildrenByBandColumn(column.index), column.index)\r\n }\r\n if (hiddenColumnsByBand.length) {\r\n result.push(column);\r\n result = result.concat(hiddenColumnsByBand)\r\n }\r\n return\r\n }\r\n if (!column.visible) {\r\n result.push(column)\r\n }\r\n });\r\n return result\r\n }\r\n getChooserColumns(getAllColumns) {\r\n var columns = getAllColumns ? this.getColumns() : this.getInvisibleColumns();\r\n var columnChooserColumns = columns.filter(column => column.showInColumnChooser);\r\n var sortOrder = this.option(\"columnChooser.sortOrder\");\r\n return sortColumns(columnChooserColumns, sortOrder)\r\n }\r\n allowMoveColumn(fromVisibleIndex, toVisibleIndex, sourceLocation, targetLocation) {\r\n var columnIndex = getColumnIndexByVisibleIndex(this, fromVisibleIndex, sourceLocation);\r\n var sourceColumn = this._columns[columnIndex];\r\n if (sourceColumn && (sourceColumn.allowReordering || sourceColumn.allowGrouping || sourceColumn.allowHiding)) {\r\n if (sourceLocation === targetLocation) {\r\n if (sourceLocation === COLUMN_CHOOSER_LOCATION) {\r\n return false\r\n }\r\n fromVisibleIndex = isObject(fromVisibleIndex) ? fromVisibleIndex.columnIndex : fromVisibleIndex;\r\n toVisibleIndex = isObject(toVisibleIndex) ? toVisibleIndex.columnIndex : toVisibleIndex;\r\n return fromVisibleIndex !== toVisibleIndex && fromVisibleIndex + 1 !== toVisibleIndex\r\n }\r\n if (sourceLocation === GROUP_LOCATION && targetLocation !== COLUMN_CHOOSER_LOCATION || targetLocation === GROUP_LOCATION) {\r\n return sourceColumn && sourceColumn.allowGrouping\r\n }\r\n if (sourceLocation === COLUMN_CHOOSER_LOCATION || targetLocation === COLUMN_CHOOSER_LOCATION) {\r\n return sourceColumn && sourceColumn.allowHiding\r\n }\r\n return true\r\n }\r\n return false\r\n }\r\n moveColumn(fromVisibleIndex, toVisibleIndex, sourceLocation, targetLocation) {\r\n var options = {};\r\n var prevGroupIndex;\r\n var fromIndex = getColumnIndexByVisibleIndex(this, fromVisibleIndex, sourceLocation);\r\n var toIndex = getColumnIndexByVisibleIndex(this, toVisibleIndex, targetLocation);\r\n var targetGroupIndex;\r\n if (fromIndex >= 0) {\r\n var column = this._columns[fromIndex];\r\n toVisibleIndex = isObject(toVisibleIndex) ? toVisibleIndex.columnIndex : toVisibleIndex;\r\n targetGroupIndex = toIndex >= 0 ? this._columns[toIndex].groupIndex : -1;\r\n if (isDefined(column.groupIndex) && sourceLocation === GROUP_LOCATION) {\r\n if (targetGroupIndex > column.groupIndex) {\r\n targetGroupIndex--\r\n }\r\n if (targetLocation !== GROUP_LOCATION) {\r\n options.groupIndex = void 0\r\n } else {\r\n prevGroupIndex = column.groupIndex;\r\n delete column.groupIndex;\r\n updateColumnGroupIndexes(this)\r\n }\r\n }\r\n if (targetLocation === GROUP_LOCATION) {\r\n options.groupIndex = moveColumnToGroup(this, column, targetGroupIndex);\r\n column.groupIndex = prevGroupIndex\r\n } else if (toVisibleIndex >= 0) {\r\n var targetColumn = this._columns[toIndex];\r\n if (!targetColumn || column.ownerBand !== targetColumn.ownerBand) {\r\n options.visibleIndex = MAX_SAFE_INTEGER\r\n } else if (isColumnFixed(this, column) ^ isColumnFixed(this, targetColumn)) {\r\n options.visibleIndex = MAX_SAFE_INTEGER\r\n } else {\r\n options.visibleIndex = targetColumn.visibleIndex\r\n }\r\n }\r\n var isVisible = targetLocation !== COLUMN_CHOOSER_LOCATION;\r\n if (column.visible !== isVisible) {\r\n options.visible = isVisible\r\n }\r\n this.columnOption(column.index, options)\r\n }\r\n }\r\n changeSortOrder(columnIndex, sortOrder) {\r\n var options = {};\r\n var sortingOptions = this.option(\"sorting\");\r\n var sortingMode = sortingOptions && sortingOptions.mode;\r\n var needResetSorting = \"single\" === sortingMode || !sortOrder;\r\n var allowSorting = \"single\" === sortingMode || \"multiple\" === sortingMode;\r\n var column = this._columns[columnIndex];\r\n if (allowSorting && column && column.allowSorting) {\r\n if (needResetSorting && !isDefined(column.groupIndex)) {\r\n each(this._columns, (function(index) {\r\n if (index !== columnIndex && this.sortOrder) {\r\n if (!isDefined(this.groupIndex)) {\r\n delete this.sortOrder\r\n }\r\n delete this.sortIndex\r\n }\r\n }))\r\n }\r\n if (isSortOrderValid(sortOrder)) {\r\n if (column.sortOrder !== sortOrder) {\r\n options.sortOrder = sortOrder\r\n }\r\n } else if (\"none\" === sortOrder) {\r\n if (column.sortOrder) {\r\n options.sortIndex = void 0;\r\n options.sortOrder = void 0\r\n }\r\n } else {\r\n ! function(column) {\r\n if (\"ctrl\" === sortOrder) {\r\n if (!(\"sortOrder\" in column && \"sortIndex\" in column)) {\r\n return false\r\n }\r\n options.sortOrder = void 0;\r\n options.sortIndex = void 0\r\n } else if (isDefined(column.groupIndex) || isDefined(column.sortIndex)) {\r\n options.sortOrder = \"desc\" === column.sortOrder ? \"asc\" : \"desc\"\r\n } else {\r\n options.sortOrder = \"asc\"\r\n }\r\n return true\r\n }(column)\r\n }\r\n }\r\n this.columnOption(column.index, options)\r\n }\r\n getSortDataSourceParameters(useLocalSelector) {\r\n var sortColumns = [];\r\n var sort = [];\r\n each(this._columns, (function() {\r\n if ((this.dataField || this.selector || this.calculateCellValue) && isDefined(this.sortIndex) && !isDefined(this.groupIndex)) {\r\n sortColumns[this.sortIndex] = this\r\n }\r\n }));\r\n each(sortColumns, (function() {\r\n var sortOrder = this && this.sortOrder;\r\n if (isSortOrderValid(sortOrder)) {\r\n var sortItem = {\r\n selector: this.calculateSortValue || this.displayField || this.calculateDisplayValue || useLocalSelector && this.selector || this.dataField || this.calculateCellValue,\r\n desc: \"desc\" === this.sortOrder\r\n };\r\n if (this.sortingMethod) {\r\n sortItem.compare = this.sortingMethod.bind(this)\r\n }\r\n sort.push(sortItem)\r\n }\r\n }));\r\n return sort.length > 0 ? sort : null\r\n }\r\n getGroupDataSourceParameters(useLocalSelector) {\r\n var group = [];\r\n each(this.getGroupColumns(), (function() {\r\n var selector = this.calculateGroupValue || this.displayField || this.calculateDisplayValue || useLocalSelector && this.selector || this.dataField || this.calculateCellValue;\r\n if (selector) {\r\n var groupItem = {\r\n selector: selector,\r\n desc: \"desc\" === this.sortOrder,\r\n isExpanded: !!this.autoExpandGroup\r\n };\r\n if (this.sortingMethod) {\r\n groupItem.compare = this.sortingMethod.bind(this)\r\n }\r\n group.push(groupItem)\r\n }\r\n }));\r\n return group.length > 0 ? group : null\r\n }\r\n refresh(updateNewLookupsOnly) {\r\n var deferreds = [];\r\n each(this._columns, (function() {\r\n var {\r\n lookup: lookup\r\n } = this;\r\n if (lookup && !this.calculateDisplayValue) {\r\n if (updateNewLookupsOnly && lookup.valueMap) {\r\n return\r\n }\r\n if (lookup.update) {\r\n deferreds.push(lookup.update())\r\n }\r\n }\r\n }));\r\n return when.apply($, deferreds).done(resetColumnsCache.bind(null, this))\r\n }\r\n _updateColumnOptions(column, columnIndex) {\r\n column.selector = column.selector || function(data) {\r\n return column.calculateCellValue(data)\r\n };\r\n if (this._reinitAfterLookupChanges && this._previousColumns) {\r\n column.selector.columnIndex = columnIndex;\r\n column.selector.originalCallback = this._previousColumns[columnIndex].selector.originalCallback\r\n } else {\r\n column.selector.columnIndex = columnIndex;\r\n column.selector.originalCallback = column.selector\r\n }\r\n each([\"calculateSortValue\", \"calculateGroupValue\", \"calculateDisplayValue\"], (_, calculateCallbackName) => {\r\n var calculateCallback = column[calculateCallbackName];\r\n if (isFunction(calculateCallback)) {\r\n if (!calculateCallback.originalCallback) {\r\n var context = {\r\n column: column\r\n };\r\n column[calculateCallbackName] = function(data) {\r\n return calculateCallback.call(context.column, data)\r\n };\r\n column[calculateCallbackName].originalCallback = calculateCallback;\r\n column[calculateCallbackName].columnIndex = columnIndex;\r\n column[calculateCallbackName].context = context\r\n } else {\r\n column[calculateCallbackName].context.column = column\r\n }\r\n }\r\n });\r\n if (isString(column.calculateDisplayValue)) {\r\n column.displayField = column.calculateDisplayValue;\r\n column.calculateDisplayValue = compileGetter(column.displayField)\r\n }\r\n if (column.calculateDisplayValue) {\r\n column.displayValueMap = column.displayValueMap || {}\r\n }\r\n updateSerializers(column, column.dataType);\r\n var {\r\n lookup: lookup\r\n } = column;\r\n if (lookup) {\r\n updateSerializers(lookup, lookup.dataType)\r\n }\r\n var dataType = lookup ? lookup.dataType : column.dataType;\r\n if (dataType) {\r\n column.alignment = column.alignment || getAlignmentByDataType(dataType, this.option(\"rtlEnabled\"));\r\n column.format = column.format || gridCoreUtils.getFormatByDataType(dataType);\r\n column.customizeText = column.customizeText || getCustomizeTextByDataType(dataType);\r\n column.defaultFilterOperations = column.defaultFilterOperations || !lookup && DATATYPE_OPERATIONS[dataType] || [];\r\n if (!isDefined(column.filterOperations)) {\r\n setFilterOperationsAsDefaultValues(column)\r\n }\r\n column.defaultFilterOperation = column.filterOperations && column.filterOperations[0] || \"=\";\r\n column.showEditorAlways = isDefined(column.showEditorAlways) ? column.showEditorAlways : \"boolean\" === dataType && !column.cellTemplate && !column.lookup\r\n }\r\n }\r\n updateColumnDataTypes(dataSource) {\r\n var that = this;\r\n var dateSerializationFormat = that.option(\"dateSerializationFormat\");\r\n var firstItems = that._getFirstItems(dataSource);\r\n var isColumnDataTypesUpdated = false;\r\n each(that._columns, (index, column) => {\r\n var i;\r\n var value;\r\n var dataType;\r\n var lookupDataType;\r\n var valueDataType;\r\n var {\r\n lookup: lookup\r\n } = column;\r\n if (gridCoreUtils.isDateType(column.dataType) && void 0 === column.serializationFormat) {\r\n column.serializationFormat = dateSerializationFormat\r\n }\r\n if (lookup && gridCoreUtils.isDateType(lookup.dataType) && void 0 === column.serializationFormat) {\r\n lookup.serializationFormat = dateSerializationFormat\r\n }\r\n if (column.calculateCellValue && firstItems.length) {\r\n if (!column.dataType || lookup && !lookup.dataType) {\r\n for (i = 0; i < firstItems.length; i++) {\r\n value = column.calculateCellValue(firstItems[i]);\r\n if (!column.dataType) {\r\n valueDataType = getValueDataType(value);\r\n dataType = dataType || valueDataType;\r\n if (dataType && valueDataType && dataType !== valueDataType) {\r\n dataType = \"string\"\r\n }\r\n }\r\n if (lookup && !lookup.dataType) {\r\n valueDataType = getValueDataType(gridCoreUtils.getDisplayValue(column, value, firstItems[i]));\r\n lookupDataType = lookupDataType || valueDataType;\r\n if (lookupDataType && valueDataType && lookupDataType !== valueDataType) {\r\n lookupDataType = \"string\"\r\n }\r\n }\r\n }\r\n if (dataType || lookupDataType) {\r\n if (dataType) {\r\n column.dataType = dataType\r\n }\r\n if (lookup && lookupDataType) {\r\n lookup.dataType = lookupDataType\r\n }\r\n isColumnDataTypesUpdated = true\r\n }\r\n }\r\n if (void 0 === column.serializationFormat || lookup && void 0 === lookup.serializationFormat) {\r\n for (i = 0; i < firstItems.length; i++) {\r\n value = column.calculateCellValue(firstItems[i], true);\r\n if (void 0 === column.serializationFormat) {\r\n column.serializationFormat = getSerializationFormat(column.dataType, value)\r\n }\r\n if (lookup && void 0 === lookup.serializationFormat) {\r\n lookup.serializationFormat = getSerializationFormat(lookup.dataType, lookup.calculateCellValue(value, true))\r\n }\r\n }\r\n }\r\n }\r\n that._updateColumnOptions(column, index)\r\n });\r\n return isColumnDataTypesUpdated\r\n }\r\n _customizeColumns(columns) {\r\n var customizeColumns = this.option(\"customizeColumns\");\r\n if (customizeColumns) {\r\n var hasOwnerBand = columns.some(column => isObject(column.ownerBand));\r\n if (hasOwnerBand) {\r\n updateIndexes(this)\r\n }\r\n customizeColumns(columns);\r\n assignColumns(this, createColumnsFromOptions(this, columns))\r\n }\r\n }\r\n updateColumns(dataSource, forceApplying, isApplyingUserState) {\r\n if (!forceApplying) {\r\n this.updateSortingGrouping(dataSource)\r\n }\r\n if (!dataSource || dataSource.isLoaded()) {\r\n var sortParameters = dataSource ? dataSource.sort() || [] : this.getSortDataSourceParameters();\r\n var groupParameters = dataSource ? dataSource.group() || [] : this.getGroupDataSourceParameters();\r\n var filterParameters = null === dataSource || void 0 === dataSource ? void 0 : dataSource.lastLoadOptions().filter;\r\n if (!isApplyingUserState) {\r\n this._customizeColumns(this._columns)\r\n }\r\n updateIndexes(this);\r\n var columns = this._columns;\r\n return when(this.refresh(true)).always(() => {\r\n if (this._columns !== columns) {\r\n return\r\n }\r\n this._updateChanges(dataSource, {\r\n sorting: sortParameters,\r\n grouping: groupParameters,\r\n filtering: filterParameters\r\n });\r\n fireColumnsChanged(this)\r\n })\r\n }\r\n }\r\n _updateChanges(dataSource, parameters) {\r\n if (dataSource) {\r\n this.updateColumnDataTypes(dataSource);\r\n this._dataSourceApplied = true\r\n }\r\n if (!gridCoreUtils.equalSortParameters(parameters.sorting, this.getSortDataSourceParameters())) {\r\n updateColumnChanges(this, \"sorting\")\r\n }\r\n if (!gridCoreUtils.equalSortParameters(parameters.grouping, this.getGroupDataSourceParameters())) {\r\n updateColumnChanges(this, \"grouping\")\r\n }\r\n var dataController = this.getController(\"data\");\r\n if (dataController && !gridCoreUtils.equalFilterParameters(parameters.filtering, dataController.getCombinedFilter())) {\r\n updateColumnChanges(this, \"filtering\")\r\n }\r\n updateColumnChanges(this, \"columns\")\r\n }\r\n updateSortingGrouping(dataSource, fromDataSource) {\r\n var that = this;\r\n var sortParameters;\r\n var isColumnsChanged;\r\n var updateSortGroupParameterIndexes = function(columns, sortParameters, indexParameterName) {\r\n each(columns, (index, column) => {\r\n delete column[indexParameterName];\r\n if (sortParameters) {\r\n for (var i = 0; i < sortParameters.length; i++) {\r\n var {\r\n selector: selector\r\n } = sortParameters[i];\r\n var {\r\n isExpanded: isExpanded\r\n } = sortParameters[i];\r\n if (selector === column.dataField || selector === column.name || selector === column.selector || selector === column.calculateCellValue || selector === column.calculateGroupValue || selector === column.calculateDisplayValue) {\r\n if (fromDataSource) {\r\n column.sortOrder = \"sortOrder\" in column ? column.sortOrder : sortParameters[i].desc ? \"desc\" : \"asc\"\r\n } else {\r\n column.sortOrder = column.sortOrder || (sortParameters[i].desc ? \"desc\" : \"asc\")\r\n }\r\n if (void 0 !== isExpanded) {\r\n column.autoExpandGroup = isExpanded\r\n }\r\n column[indexParameterName] = i;\r\n break\r\n }\r\n }\r\n }\r\n })\r\n };\r\n if (dataSource) {\r\n sortParameters = gridCoreUtils.normalizeSortingInfo(dataSource.sort());\r\n var groupParameters = gridCoreUtils.normalizeSortingInfo(dataSource.group());\r\n var columnsGroupParameters = that.getGroupDataSourceParameters();\r\n var columnsSortParameters = that.getSortDataSourceParameters();\r\n var groupingChanged = !gridCoreUtils.equalSortParameters(groupParameters, columnsGroupParameters, true);\r\n var groupExpandingChanged = !groupingChanged && !gridCoreUtils.equalSortParameters(groupParameters, columnsGroupParameters);\r\n if (!that._columns.length) {\r\n each(groupParameters, (index, group) => {\r\n that._columns.push(group.selector)\r\n });\r\n each(sortParameters, (index, sort) => {\r\n if (!isFunction(sort.selector)) {\r\n that._columns.push(sort.selector)\r\n }\r\n });\r\n assignColumns(that, createColumnsFromOptions(that, that._columns))\r\n }\r\n if ((fromDataSource || !columnsGroupParameters && !that._hasUserState) && (groupingChanged || groupExpandingChanged)) {\r\n updateSortGroupParameterIndexes(that._columns, groupParameters, \"groupIndex\");\r\n if (fromDataSource) {\r\n groupingChanged && updateColumnChanges(that, \"grouping\");\r\n groupExpandingChanged && updateColumnChanges(that, \"groupExpanding\");\r\n isColumnsChanged = true\r\n }\r\n }\r\n if ((fromDataSource || !columnsSortParameters && !that._hasUserState) && !gridCoreUtils.equalSortParameters(sortParameters, columnsSortParameters)) {\r\n updateSortGroupParameterIndexes(that._columns, sortParameters, \"sortIndex\");\r\n if (fromDataSource) {\r\n updateColumnChanges(that, \"sorting\");\r\n isColumnsChanged = true\r\n }\r\n }\r\n if (isColumnsChanged) {\r\n fireColumnsChanged(that)\r\n }\r\n }\r\n }\r\n updateFilter(filter, remoteFiltering, columnIndex, filterValue) {\r\n if (!Array.isArray(filter)) {\r\n return filter\r\n }\r\n filter = extend([], filter);\r\n columnIndex = void 0 !== filter.columnIndex ? filter.columnIndex : columnIndex;\r\n filterValue = void 0 !== filter.filterValue ? filter.filterValue : filterValue;\r\n if (isString(filter[0]) && \"!\" !== filter[0]) {\r\n var column = this.columnOption(filter[0]);\r\n if (remoteFiltering) {\r\n if (config().forceIsoDateParsing && column && column.serializeValue && filter.length > 1) {\r\n filter[filter.length - 1] = column.serializeValue(filter[filter.length - 1], \"filter\")\r\n }\r\n } else if (column && column.selector) {\r\n filter[0] = column.selector;\r\n filter[0].columnIndex = column.index\r\n }\r\n } else if (isFunction(filter[0])) {\r\n filter[0].columnIndex = columnIndex;\r\n filter[0].filterValue = filterValue;\r\n filter[0].selectedFilterOperation = filter.selectedFilterOperation\r\n }\r\n for (var i = 0; i < filter.length; i++) {\r\n filter[i] = this.updateFilter(filter[i], remoteFiltering, columnIndex, filterValue)\r\n }\r\n return filter\r\n }\r\n columnCount() {\r\n return this._columns ? this._columns.length : 0\r\n }\r\n columnOption(identifier, option, value, notFireEvent) {\r\n var that = this;\r\n var columns = that._columns.concat(that._commandColumns);\r\n var column = findColumn(columns, identifier);\r\n if (column) {\r\n if (1 === arguments.length) {\r\n return extend({}, column)\r\n }\r\n if (isString(option)) {\r\n if (2 === arguments.length) {\r\n return columnOptionCore(that, column, option)\r\n }\r\n columnOptionCore(that, column, option, value, notFireEvent)\r\n } else if (isObject(option)) {\r\n each(option, (optionName, value) => {\r\n columnOptionCore(that, column, optionName, value, notFireEvent)\r\n })\r\n }\r\n fireColumnsChanged(that)\r\n }\r\n }\r\n clearSorting() {\r\n var columnCount = this.columnCount();\r\n this.beginUpdate();\r\n for (var i = 0; i < columnCount; i++) {\r\n this.columnOption(i, \"sortOrder\", void 0);\r\n delete findColumn(this._columns, i).sortOrder\r\n }\r\n this.endUpdate()\r\n }\r\n clearGrouping() {\r\n var columnCount = this.columnCount();\r\n this.beginUpdate();\r\n for (var i = 0; i < columnCount; i++) {\r\n this.columnOption(i, \"groupIndex\", void 0)\r\n }\r\n this.endUpdate()\r\n }\r\n getVisibleIndex(index, rowIndex) {\r\n var columns = this.getVisibleColumns(rowIndex);\r\n for (var i = columns.length - 1; i >= 0; i--) {\r\n if (columns[i].index === index) {\r\n return i\r\n }\r\n }\r\n return -1\r\n }\r\n getVisibleIndexByColumn(column, rowIndex) {\r\n var visibleColumns = this.getVisibleColumns(rowIndex);\r\n var visibleColumn = visibleColumns.filter(col => col.index === column.index && col.command === column.command)[0];\r\n return visibleColumns.indexOf(visibleColumn)\r\n }\r\n getVisibleColumnIndex(id, rowIndex) {\r\n var index = this.columnOption(id, \"index\");\r\n return this.getVisibleIndex(index, rowIndex)\r\n }\r\n addColumn(options) {\r\n var column = createColumn(this, options);\r\n var index = this._columns.length;\r\n this._columns.push(column);\r\n if (column.isBand) {\r\n this._columns = createColumnsFromOptions(this, this._columns);\r\n column = this._columns[index]\r\n }\r\n column.added = options;\r\n updateIndexes(this, column);\r\n this.updateColumns(this._dataSource);\r\n this._checkColumns()\r\n }\r\n deleteColumn(id) {\r\n var column = this.columnOption(id);\r\n if (column && column.index >= 0) {\r\n convertOwnerBandToColumnReference(this._columns);\r\n this._columns.splice(column.index, 1);\r\n if (column.isBand) {\r\n var childIndexes = this.getChildrenByBandColumn(column.index).map(column => column.index);\r\n this._columns = this._columns.filter(column => childIndexes.indexOf(column.index) < 0)\r\n }\r\n updateIndexes(this);\r\n this.updateColumns(this._dataSource)\r\n }\r\n }\r\n addCommandColumn(options) {\r\n var commandColumn = this._commandColumns.filter(column => column.command === options.command)[0];\r\n if (!commandColumn) {\r\n commandColumn = options;\r\n this._commandColumns.push(commandColumn)\r\n }\r\n }\r\n getUserState() {\r\n var columns = this._columns;\r\n var result = [];\r\n var i;\r\n\r\n function handleStateField(index, value) {\r\n if (void 0 !== columns[i][value]) {\r\n result[i][value] = columns[i][value]\r\n }\r\n }\r\n for (i = 0; i < columns.length; i++) {\r\n result[i] = {};\r\n each(USER_STATE_FIELD_NAMES, handleStateField)\r\n }\r\n return result\r\n }\r\n setName(column) {\r\n column.name = column.name || column.dataField || column.type\r\n }\r\n setUserState(state) {\r\n var dataSource = this._dataSource;\r\n var ignoreColumnOptionNames = this.option(\"stateStoring.ignoreColumnOptionNames\");\r\n null === state || void 0 === state ? void 0 : state.forEach(this.setName);\r\n if (!ignoreColumnOptionNames) {\r\n ignoreColumnOptionNames = [];\r\n var commonColumnSettings = this.getCommonSettings();\r\n if (!this.option(\"columnChooser.enabled\")) {\r\n ignoreColumnOptionNames.push(\"visible\")\r\n }\r\n if (\"none\" === this.option(\"sorting.mode\")) {\r\n ignoreColumnOptionNames.push(\"sortIndex\", \"sortOrder\")\r\n }\r\n if (!commonColumnSettings.allowGrouping) {\r\n ignoreColumnOptionNames.push(\"groupIndex\")\r\n }\r\n if (!commonColumnSettings.allowFixing) {\r\n ignoreColumnOptionNames.push(\"fixed\", \"fixedPosition\")\r\n }\r\n if (!commonColumnSettings.allowResizing) {\r\n ignoreColumnOptionNames.push(\"width\", \"visibleWidth\")\r\n }\r\n var isFilterPanelHidden = !this.option(\"filterPanel.visible\");\r\n if (!this.option(\"filterRow.visible\") && isFilterPanelHidden) {\r\n ignoreColumnOptionNames.push(\"filterValue\", \"selectedFilterOperation\")\r\n }\r\n if (!this.option(\"headerFilter.visible\") && isFilterPanelHidden) {\r\n ignoreColumnOptionNames.push(\"filterValues\", \"filterType\")\r\n }\r\n }\r\n this._columnsUserState = state;\r\n this._ignoreColumnOptionNames = ignoreColumnOptionNames;\r\n this._hasUserState = !!state;\r\n updateColumnChanges(this, \"filtering\");\r\n this.init(true);\r\n if (dataSource) {\r\n dataSource.sort(this.getSortDataSourceParameters());\r\n dataSource.group(this.getGroupDataSourceParameters())\r\n }\r\n }\r\n _checkColumns() {\r\n var usedNames = {};\r\n var hasEditableColumnWithoutName = false;\r\n var duplicatedNames = [];\r\n this._columns.forEach(column => {\r\n var _a;\r\n var {\r\n name: name\r\n } = column;\r\n var isBand = null === (_a = column.columns) || void 0 === _a ? void 0 : _a.length;\r\n var isEditable = column.allowEditing && (column.dataField || column.setCellValue) && !isBand;\r\n if (name) {\r\n if (usedNames[name]) {\r\n duplicatedNames.push('\"'.concat(name, '\"'))\r\n }\r\n usedNames[name] = true\r\n } else if (isEditable) {\r\n hasEditableColumnWithoutName = true\r\n }\r\n });\r\n if (duplicatedNames.length) {\r\n errors.log(\"E1059\", duplicatedNames.join(\", \"))\r\n }\r\n if (hasEditableColumnWithoutName) {\r\n errors.log(\"E1060\")\r\n }\r\n }\r\n _createCalculatedColumnOptions(columnOptions, bandColumn) {\r\n var calculatedColumnOptions = {};\r\n var {\r\n dataField: dataField\r\n } = columnOptions;\r\n if (Array.isArray(columnOptions.columns) && columnOptions.columns.length || columnOptions.isBand) {\r\n calculatedColumnOptions.isBand = true;\r\n dataField = null\r\n }\r\n if (dataField) {\r\n if (isString(dataField)) {\r\n var getter = compileGetter(dataField);\r\n calculatedColumnOptions = {\r\n caption: captionize(dataField),\r\n calculateCellValue(data, skipDeserialization) {\r\n var value = getter(data);\r\n return this.deserializeValue && !skipDeserialization ? this.deserializeValue(value) : value\r\n },\r\n setCellValue: defaultSetCellValue,\r\n parseValue(text) {\r\n var result;\r\n var parsedValue;\r\n if (\"number\" === this.dataType) {\r\n if (isString(text) && this.format) {\r\n result = strictParseNumber(text.trim(), this.format)\r\n } else if (isDefined(text) && isNumeric(text)) {\r\n result = Number(text)\r\n }\r\n } else if (\"boolean\" === this.dataType) {\r\n if (text === this.trueText) {\r\n result = true\r\n } else if (text === this.falseText) {\r\n result = false\r\n }\r\n } else if (gridCoreUtils.isDateType(this.dataType)) {\r\n parsedValue = dateLocalization.parse(text, this.format);\r\n if (parsedValue) {\r\n result = parsedValue\r\n }\r\n } else {\r\n result = text\r\n }\r\n return result\r\n }\r\n }\r\n }\r\n calculatedColumnOptions.allowFiltering = true\r\n } else {\r\n calculatedColumnOptions.allowFiltering = !!columnOptions.calculateFilterExpression\r\n }\r\n calculatedColumnOptions.calculateFilterExpression = function() {\r\n return filterUtils.defaultCalculateFilterExpression.apply(this, arguments)\r\n };\r\n calculatedColumnOptions.defaultFilterOperation = \"=\";\r\n calculatedColumnOptions.createFilterExpression = function(filterValue, selectedFilterOperation) {\r\n var result;\r\n if (this.calculateFilterExpression) {\r\n result = this.calculateFilterExpression.apply(this, arguments)\r\n }\r\n if (isFunction(result)) {\r\n result = [result, \"=\", true]\r\n }\r\n if (result) {\r\n result.columnIndex = this.index;\r\n result.filterValue = filterValue;\r\n result.selectedFilterOperation = selectedFilterOperation\r\n }\r\n return result\r\n };\r\n if (!dataField || !isString(dataField)) {\r\n extend(true, calculatedColumnOptions, {\r\n allowSorting: false,\r\n allowGrouping: false,\r\n calculateCellValue: () => null\r\n })\r\n }\r\n if (bandColumn) {\r\n calculatedColumnOptions.allowFixing = false\r\n }\r\n if (columnOptions.dataType) {\r\n calculatedColumnOptions.userDataType = columnOptions.dataType\r\n }\r\n if (columnOptions.selectedFilterOperation && !(\"defaultSelectedFilterOperation\" in calculatedColumnOptions)) {\r\n calculatedColumnOptions.defaultSelectedFilterOperation = columnOptions.selectedFilterOperation\r\n }\r\n if (columnOptions.lookup) {\r\n calculatedColumnOptions.lookup = {\r\n calculateCellValue(value, skipDeserialization) {\r\n if (this.valueExpr) {\r\n value = this.valueMap && this.valueMap[value]\r\n }\r\n return this.deserializeValue && !skipDeserialization ? this.deserializeValue(value) : value\r\n },\r\n updateValueMap() {\r\n this.valueMap = {};\r\n if (this.items) {\r\n var calculateValue = compileGetter(this.valueExpr);\r\n var calculateDisplayValue = compileGetter(this.displayExpr);\r\n for (var i = 0; i < this.items.length; i++) {\r\n var item = this.items[i];\r\n var displayValue = calculateDisplayValue(item);\r\n this.valueMap[calculateValue(item)] = displayValue;\r\n this.dataType = this.dataType || getValueDataType(displayValue)\r\n }\r\n }\r\n },\r\n update() {\r\n var that = this;\r\n var {\r\n dataSource: dataSource\r\n } = that;\r\n if (dataSource) {\r\n if (isFunction(dataSource) && !variableWrapper.isWrapped(dataSource)) {\r\n dataSource = dataSource({})\r\n }\r\n if (isPlainObject(dataSource) || dataSource instanceof Store || Array.isArray(dataSource)) {\r\n if (that.valueExpr) {\r\n var dataSourceOptions = normalizeDataSourceOptions(dataSource);\r\n dataSourceOptions.paginate = false;\r\n dataSource = new DataSource(dataSourceOptions);\r\n return dataSource.load().done(data => {\r\n that.items = data;\r\n that.updateValueMap && that.updateValueMap()\r\n })\r\n }\r\n } else {\r\n errors.log(\"E1016\")\r\n }\r\n } else {\r\n that.updateValueMap && that.updateValueMap()\r\n }\r\n }\r\n }\r\n }\r\n calculatedColumnOptions.resizedCallbacks = Callbacks();\r\n if (columnOptions.resized) {\r\n calculatedColumnOptions.resizedCallbacks.add(columnOptions.resized.bind(columnOptions))\r\n }\r\n each(calculatedColumnOptions, optionName => {\r\n if (isFunction(calculatedColumnOptions[optionName]) && 0 !== optionName.indexOf(\"default\")) {\r\n var defaultOptionName = \"default\".concat(optionName.charAt(0).toUpperCase()).concat(optionName.substr(1));\r\n calculatedColumnOptions[defaultOptionName] = calculatedColumnOptions[optionName]\r\n }\r\n });\r\n return calculatedColumnOptions\r\n }\r\n getRowCount() {\r\n this._rowCount = this._rowCount || getRowCount(this);\r\n return this._rowCount\r\n }\r\n getRowIndex(columnIndex, alwaysGetRowIndex) {\r\n var column = this._columns[columnIndex];\r\n var bandColumnsCache = this.getBandColumnsCache();\r\n return column && (alwaysGetRowIndex || column.visible && !(column.command || isDefined(column.groupIndex))) ? getParentBandColumns(columnIndex, bandColumnsCache.columnParentByIndex).length : 0\r\n }\r\n getChildrenByBandColumn(bandColumnIndex, onlyVisibleDirectChildren) {\r\n var bandColumnsCache = this.getBandColumnsCache();\r\n var result = getChildrenByBandColumn(bandColumnIndex, bandColumnsCache.columnChildrenByIndex, !onlyVisibleDirectChildren);\r\n if (onlyVisibleDirectChildren) {\r\n return result.filter(column => column.visible && !column.command).sort((column1, column2) => column1.visibleIndex - column2.visibleIndex)\r\n }\r\n return result\r\n }\r\n isParentBandColumn(columnIndex, bandColumnIndex) {\r\n var result = false;\r\n var column = this._columns[columnIndex];\r\n var bandColumnsCache = this.getBandColumnsCache();\r\n var parentBandColumns = column && getParentBandColumns(columnIndex, bandColumnsCache.columnParentByIndex);\r\n if (parentBandColumns) {\r\n each(parentBandColumns, (_, bandColumn) => {\r\n if (bandColumn.index === bandColumnIndex) {\r\n result = true;\r\n return false\r\n }\r\n })\r\n }\r\n return result\r\n }\r\n isParentColumnVisible(columnIndex) {\r\n var result = true;\r\n var bandColumnsCache = this.getBandColumnsCache();\r\n var bandColumns = columnIndex >= 0 && getParentBandColumns(columnIndex, bandColumnsCache.columnParentByIndex);\r\n bandColumns && each(bandColumns, (_, bandColumn) => {\r\n result = result && bandColumn.visible;\r\n return result\r\n });\r\n return result\r\n }\r\n getColumnId(column) {\r\n if (column.command && column.type === GROUP_COMMAND_COLUMN_NAME) {\r\n if (isCustomCommandColumn(this, column)) {\r\n return \"type:\".concat(column.type)\r\n }\r\n return \"command:\".concat(column.command)\r\n }\r\n return column.index\r\n }\r\n getCustomizeTextByDataType(dataType) {\r\n return getCustomizeTextByDataType(dataType)\r\n }\r\n getHeaderContentAlignment(columnAlignment) {\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n if (rtlEnabled) {\r\n return \"left\" === columnAlignment ? \"right\" : \"left\"\r\n }\r\n return columnAlignment\r\n }\r\n}\r\nexport var columnsControllerModule = {\r\n defaultOptions: () => ({\r\n commonColumnSettings: {\r\n allowFiltering: true,\r\n allowHiding: true,\r\n allowSorting: true,\r\n allowEditing: true,\r\n encodeHtml: true,\r\n trueText: messageLocalization.format(\"dxDataGrid-trueText\"),\r\n falseText: messageLocalization.format(\"dxDataGrid-falseText\")\r\n },\r\n allowColumnReordering: false,\r\n allowColumnResizing: false,\r\n columnResizingMode: \"nextColumn\",\r\n columnMinWidth: void 0,\r\n columnWidth: void 0,\r\n adaptColumnWidthByRatio: true,\r\n columns: void 0,\r\n regenerateColumnsByVisibleItems: false,\r\n customizeColumns: null,\r\n dateSerializationFormat: void 0\r\n }),\r\n controllers: {\r\n columns: ColumnsController\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/columns_resizing_reordering/m_columns_resizing_reordering.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport fx from \"../../../../animation/fx\";\r\nimport domAdapter from \"../../../../core/dom_adapter\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport Callbacks from \"../../../../core/utils/callbacks\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n getHeight,\r\n getWidth,\r\n setHeight,\r\n setWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined,\r\n isObject,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport {\r\n end as dragEventEnd,\r\n move as dragEventMove,\r\n start as dragEventStart\r\n} from \"../../../../events/drag\";\r\nimport pointerEvents from \"../../../../events/pointer\";\r\nimport {\r\n addNamespace,\r\n eventData as getEventData,\r\n isTouchEvent\r\n} from \"../../../../events/utils/index\";\r\nimport swatchContainer from \"../../../../ui/widget/swatch_container\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar COLUMNS_SEPARATOR_CLASS = \"columns-separator\";\r\nvar COLUMNS_SEPARATOR_TRANSPARENT = \"columns-separator-transparent\";\r\nvar DRAGGING_HEADER_CLASS = \"drag-header\";\r\nvar CELL_CONTENT_CLASS = \"text-content\";\r\nvar HEADERS_DRAG_ACTION_CLASS = \"drag-action\";\r\nvar TRACKER_CLASS = \"tracker\";\r\nvar HEADERS_DROP_HIGHLIGHT_CLASS = \"drop-highlight\";\r\nvar BLOCK_SEPARATOR_CLASS = \"dx-block-separator\";\r\nvar HEADER_ROW_CLASS = \"dx-header-row\";\r\nvar WIDGET_CLASS = \"dx-widget\";\r\nvar DRAGGING_COMMAND_CELL_CLASS = \"dx-drag-command-cell\";\r\nvar MODULE_NAMESPACE = \"dxDataGridResizingReordering\";\r\nvar COLUMNS_SEPARATOR_TOUCH_TRACKER_WIDTH = 10;\r\nvar DRAGGING_DELTA = 5;\r\nvar COLUMN_OPACITY = .5;\r\nvar allowResizing = function(that) {\r\n return that.option(\"allowColumnResizing\") || that.getController(\"columns\").isColumnOptionUsed(\"allowResizing\")\r\n};\r\nvar allowReordering = function(that) {\r\n return that.option(\"allowColumnReordering\") || that.getController(\"columns\").isColumnOptionUsed(\"allowReordering\")\r\n};\r\nclass TrackerView extends modules.View {\r\n _renderCore() {\r\n var deferred = super._renderCore();\r\n this.element().addClass(this.addWidgetPrefix(TRACKER_CLASS));\r\n this.hide();\r\n return deferred\r\n }\r\n _unsubscribeFromCallback() {\r\n if (this._positionChanged) {\r\n this._tablePositionController.positionChanged.remove(this._positionChanged)\r\n }\r\n }\r\n _subscribeToCallback() {\r\n var that = this;\r\n that._positionChanged = function(position) {\r\n var $element = that.element();\r\n if ($element && $element.hasClass(that.addWidgetPrefix(TRACKER_CLASS))) {\r\n $element.css({\r\n top: position.top\r\n });\r\n setHeight($element, position.height)\r\n }\r\n };\r\n this._tablePositionController.positionChanged.add(that._positionChanged)\r\n }\r\n optionChanged(args) {\r\n if (\"allowColumnResizing\" === args.name) {\r\n this._unsubscribeFromCallback();\r\n if (args.value) {\r\n this._subscribeToCallback();\r\n this._invalidate()\r\n }\r\n }\r\n super.optionChanged(args)\r\n }\r\n init() {\r\n super.init();\r\n this._tablePositionController = this.getController(\"tablePosition\");\r\n this._subscribeToCallback()\r\n }\r\n isVisible() {\r\n return allowResizing(this)\r\n }\r\n show() {\r\n this.element().show()\r\n }\r\n hide() {\r\n this.element() && this.element().hide()\r\n }\r\n setHeight(value) {\r\n setHeight(this.element(), value)\r\n }\r\n dispose() {\r\n this._unsubscribeFromCallback();\r\n super.dispose()\r\n }\r\n}\r\nclass SeparatorView extends modules.View {\r\n _renderSeparator() {}\r\n _renderCore(options) {\r\n var deferred = super._renderCore(options);\r\n this._isShown = true;\r\n this._renderSeparator();\r\n this.hide();\r\n return deferred\r\n }\r\n show() {\r\n this._isShown = true\r\n }\r\n hide() {\r\n this._isShown = false\r\n }\r\n height(value) {\r\n var $element = this.element();\r\n if ($element) {\r\n if (isDefined(value)) {\r\n setHeight($element, value)\r\n } else {\r\n return getHeight($element)\r\n }\r\n }\r\n }\r\n width(value) {\r\n var $element = this.element();\r\n if ($element) {\r\n if (isDefined(value)) {\r\n setWidth($element, value)\r\n } else {\r\n return getWidth($element)\r\n }\r\n }\r\n }\r\n}\r\nclass ColumnsSeparatorView extends SeparatorView {\r\n _renderSeparator() {\r\n super._renderSeparator();\r\n var $element = this.element();\r\n $element.addClass(this.addWidgetPrefix(COLUMNS_SEPARATOR_CLASS))\r\n }\r\n _subscribeToCallback() {\r\n var that = this;\r\n var $element;\r\n that._positionChanged = function(position) {\r\n $element = that.element();\r\n if ($element) {\r\n $element.css({\r\n top: position.top\r\n });\r\n setHeight($element, position.height)\r\n }\r\n };\r\n that._tablePositionController.positionChanged.add(that._positionChanged)\r\n }\r\n _unsubscribeFromCallback() {\r\n this._positionChanged && this._tablePositionController.positionChanged.remove(this._positionChanged)\r\n }\r\n _init() {\r\n this._isTransparent = allowResizing(this);\r\n if (this.isVisible()) {\r\n this._subscribeToCallback()\r\n }\r\n }\r\n isVisible() {\r\n return this.option(\"showColumnHeaders\") && (allowReordering(this) || allowResizing(this))\r\n }\r\n optionChanged(args) {\r\n if (\"allowColumnResizing\" === args.name) {\r\n if (args.value) {\r\n this._init();\r\n this._invalidate();\r\n this.hide(true)\r\n } else {\r\n this._unsubscribeFromCallback();\r\n this._isTransparent = allowResizing(this);\r\n this.hide(true)\r\n }\r\n }\r\n super.optionChanged(args)\r\n }\r\n init() {\r\n super.init();\r\n this._tablePositionController = this.getController(\"tablePosition\");\r\n this._init()\r\n }\r\n show() {\r\n var $element = this.element();\r\n if ($element && !this._isShown) {\r\n if (this._isTransparent) {\r\n $element.removeClass(this.addWidgetPrefix(COLUMNS_SEPARATOR_TRANSPARENT))\r\n } else {\r\n $element.show()\r\n }\r\n }\r\n super.show()\r\n }\r\n hide(force) {\r\n var $element = this.element();\r\n var columnsSeparatorTransparent = this.addWidgetPrefix(COLUMNS_SEPARATOR_TRANSPARENT);\r\n if ($element && (this._isShown || force)) {\r\n if (this._isTransparent) {\r\n $element.addClass(columnsSeparatorTransparent);\r\n $element.css(\"left\", \"\");\r\n $element.show()\r\n } else {\r\n if ($element.hasClass(columnsSeparatorTransparent)) {\r\n $element.removeClass(columnsSeparatorTransparent)\r\n }\r\n $element.hide()\r\n }\r\n }\r\n super.hide()\r\n }\r\n moveByX(outerX) {\r\n var $element = this.element();\r\n if ($element) {\r\n $element.css(\"left\", null === outerX ? 0 : outerX - this._parentElement().offset().left)\r\n }\r\n }\r\n changeCursor(cursorName) {\r\n cursorName = isDefined(cursorName) ? cursorName : \"\";\r\n var $element = this.element();\r\n if ($element) {\r\n $element.css(\"cursor\", cursorName)\r\n }\r\n }\r\n dispose() {\r\n this._unsubscribeFromCallback();\r\n super.dispose()\r\n }\r\n}\r\nclass BlockSeparatorView extends SeparatorView {\r\n init() {\r\n var that = this;\r\n super.init();\r\n this.getController(\"data\").loadingChanged.add(isLoading => {\r\n if (!isLoading) {\r\n that.hide()\r\n }\r\n })\r\n }\r\n _renderSeparator() {\r\n super._renderSeparator();\r\n this.element().addClass(BLOCK_SEPARATOR_CLASS).html(\" \")\r\n }\r\n hide() {\r\n var $parent = this._parentElement();\r\n var $element = this.element();\r\n if ($element && this._isShown) {\r\n $element.css(\"display\", \"none\")\r\n }\r\n if ($parent && !$parent.children(\".\".concat(BLOCK_SEPARATOR_CLASS)).length) {\r\n $parent.prepend(this.element())\r\n }\r\n super.hide()\r\n }\r\n isVisible() {\r\n var groupPanelOptions = this.option(\"groupPanel\");\r\n var columnChooserOptions = this.option(\"columnChooser\");\r\n return groupPanelOptions && groupPanelOptions.visible || columnChooserOptions && columnChooserOptions.enabled\r\n }\r\n show(targetLocation) {\r\n var $element = this.element();\r\n var startAnimate = function(toOptions) {\r\n fx.stop($element, true);\r\n fx.animate($element, {\r\n type: \"slide\",\r\n from: {\r\n width: 0,\r\n display: toOptions.display\r\n },\r\n to: toOptions,\r\n duration: 300,\r\n easing: \"swing\"\r\n })\r\n };\r\n if ($element && !this._isShown) {\r\n switch (targetLocation) {\r\n case \"group\":\r\n startAnimate({\r\n width: \"50px\",\r\n display: \"inline-block\"\r\n });\r\n break;\r\n case \"columnChooser\":\r\n startAnimate({\r\n width: \"100%\",\r\n display: \"block\"\r\n });\r\n break;\r\n default:\r\n $element.css(\"display\", \"\")\r\n }\r\n }\r\n super.show()\r\n }\r\n}\r\nclass DraggingHeaderView extends modules.View {\r\n isDragging() {\r\n return this._isDragging\r\n }\r\n _getDraggingPanelByPos(pos) {\r\n var result;\r\n each(this._dragOptions.draggingPanels, (index, draggingPanel) => {\r\n if (draggingPanel) {\r\n var boundingRect = draggingPanel.getBoundingRect();\r\n if (boundingRect && (void 0 === boundingRect.bottom || pos.y < boundingRect.bottom) && (void 0 === boundingRect.top || pos.y > boundingRect.top) && (void 0 === boundingRect.left || pos.x > boundingRect.left) && (void 0 === boundingRect.right || pos.x < boundingRect.right)) {\r\n result = draggingPanel;\r\n return false\r\n }\r\n }\r\n return\r\n });\r\n return result\r\n }\r\n _renderCore() {\r\n this.element().addClass(\"\".concat(this.addWidgetPrefix(DRAGGING_HEADER_CLASS), \" \").concat(this.addWidgetPrefix(CELL_CONTENT_CLASS), \" \").concat(WIDGET_CLASS)).hide()\r\n }\r\n _resetTargetColumnOptions() {\r\n var params = this._dropOptions;\r\n params.targetColumnIndex = -1;\r\n delete params.targetColumnElement;\r\n delete params.isLast;\r\n delete params.posX;\r\n delete params.posY\r\n }\r\n _getVisibleIndexObject(rowIndex, visibleIndex) {\r\n if (isDefined(rowIndex)) {\r\n return {\r\n columnIndex: visibleIndex,\r\n rowIndex: rowIndex\r\n }\r\n }\r\n return visibleIndex\r\n }\r\n dispose() {\r\n var element = this.element();\r\n this._dragOptions = null;\r\n element && element.parent().find(\".\".concat(this.addWidgetPrefix(DRAGGING_HEADER_CLASS))).remove()\r\n }\r\n isVisible() {\r\n var columnsController = this.getController(\"columns\");\r\n var commonColumnSettings = columnsController.getCommonSettings();\r\n return this.option(\"showColumnHeaders\") && (allowReordering(this) || commonColumnSettings.allowGrouping || commonColumnSettings.allowHiding)\r\n }\r\n init() {\r\n var that = this;\r\n super.init();\r\n this._controller = this.getController(\"draggingHeader\");\r\n this._columnsResizerViewController = this.getController(\"columnsResizer\");\r\n this._isDragging = false;\r\n this.getController(\"data\").loadingChanged.add(isLoading => {\r\n var element = that.element();\r\n if (!isLoading && element) {\r\n element.hide()\r\n }\r\n })\r\n }\r\n dragHeader(options) {\r\n var {\r\n columnElement: columnElement\r\n } = options;\r\n var isCommandColumn = !!options.sourceColumn.type;\r\n this._isDragging = true;\r\n this._dragOptions = options;\r\n this._dropOptions = {\r\n sourceIndex: options.index,\r\n sourceColumnIndex: this._getVisibleIndexObject(options.rowIndex, options.columnIndex),\r\n sourceColumnElement: options.columnElement,\r\n sourceLocation: options.sourceLocation\r\n };\r\n var document = domAdapter.getDocument();\r\n this._onSelectStart = document.onselectstart;\r\n document.onselectstart = () => false;\r\n this._controller.drag(this._dropOptions);\r\n this.element().css({\r\n textAlign: columnElement && columnElement.css(\"textAlign\"),\r\n height: columnElement && (isCommandColumn && columnElement.get(0).clientHeight || getHeight(columnElement)),\r\n width: columnElement && (isCommandColumn && columnElement.get(0).clientWidth || getWidth(columnElement)),\r\n whiteSpace: columnElement && columnElement.css(\"whiteSpace\")\r\n }).addClass(this.addWidgetPrefix(HEADERS_DRAG_ACTION_CLASS)).toggleClass(DRAGGING_COMMAND_CELL_CLASS, isCommandColumn).text(isCommandColumn ? \"\" : options.sourceColumn.caption);\r\n this.element().appendTo(swatchContainer.getSwatchContainer(columnElement))\r\n }\r\n moveHeader(args) {\r\n var e = args.event;\r\n var {\r\n that: that\r\n } = e.data;\r\n var eventData = getEventData(e);\r\n var isResizing = that._columnsResizerViewController ? that._columnsResizerViewController.isResizing() : false;\r\n var dragOptions = that._dragOptions;\r\n if (that._isDragging && !isResizing) {\r\n var $element = that.element();\r\n var moveDeltaX = Math.abs(eventData.x - dragOptions.columnElement.offset().left - dragOptions.deltaX);\r\n var moveDeltaY = Math.abs(eventData.y - dragOptions.columnElement.offset().top - dragOptions.deltaY);\r\n if ($element.is(\":visible\") || moveDeltaX > DRAGGING_DELTA || moveDeltaY > DRAGGING_DELTA) {\r\n $element.show();\r\n var newLeft = eventData.x - dragOptions.deltaX;\r\n var newTop = eventData.y - dragOptions.deltaY;\r\n $element.css({\r\n left: newLeft,\r\n top: newTop\r\n });\r\n that.dockHeader(eventData)\r\n }\r\n e.preventDefault()\r\n }\r\n }\r\n dockHeader(eventData) {\r\n var targetDraggingPanel = this._getDraggingPanelByPos(eventData);\r\n var controller = this._controller;\r\n var params = this._dropOptions;\r\n var dragOptions = this._dragOptions;\r\n if (targetDraggingPanel) {\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var isVerticalOrientation = \"columnChooser\" === targetDraggingPanel.getName();\r\n var axisName = isVerticalOrientation ? \"y\" : \"x\";\r\n var targetLocation = targetDraggingPanel.getName();\r\n var rowIndex = \"headers\" === targetLocation ? dragOptions.rowIndex : void 0;\r\n var {\r\n sourceColumn: sourceColumn\r\n } = dragOptions;\r\n var columnElements = targetDraggingPanel.getColumnElements(rowIndex, null === sourceColumn || void 0 === sourceColumn ? void 0 : sourceColumn.ownerBand) || [];\r\n var pointsByTarget = dragOptions.pointsByTarget = dragOptions.pointsByTarget || {};\r\n var pointsByColumns = \"columnChooser\" === targetLocation ? [] : pointsByTarget[targetLocation] || controller._generatePointsByColumns(extend({}, dragOptions, {\r\n targetDraggingPanel: targetDraggingPanel,\r\n columns: targetDraggingPanel.getColumns(rowIndex),\r\n columnElements: columnElements,\r\n isVerticalOrientation: isVerticalOrientation,\r\n startColumnIndex: \"headers\" === targetLocation && $(columnElements[0]).index()\r\n }));\r\n pointsByTarget[targetLocation] = pointsByColumns;\r\n params.targetLocation = targetLocation;\r\n if (pointsByColumns.length > 0) {\r\n for (var i = 0; i < pointsByColumns.length; i++) {\r\n var centerPosition = pointsByColumns[i + 1] && (pointsByColumns[i][axisName] + pointsByColumns[i + 1][axisName]) / 2;\r\n if (void 0 === centerPosition || (rtlEnabled && \"x\" === axisName ? eventData[axisName] > centerPosition : eventData[axisName] < centerPosition)) {\r\n params.targetColumnIndex = this._getVisibleIndexObject(rowIndex, pointsByColumns[i].columnIndex);\r\n if (columnElements[i]) {\r\n params.targetColumnElement = columnElements.eq(i);\r\n params.isLast = false\r\n } else {\r\n params.targetColumnElement = columnElements.last();\r\n params.isLast = true\r\n }\r\n params.posX = pointsByColumns[i].x;\r\n params.posY = pointsByColumns[i].y;\r\n controller.dock(params);\r\n break\r\n }\r\n }\r\n } else {\r\n this._resetTargetColumnOptions();\r\n controller.dock(params)\r\n }\r\n }\r\n }\r\n dropHeader(args) {\r\n var e = args.event;\r\n var {\r\n that: that\r\n } = e.data;\r\n var controller = that._controller;\r\n that.element().hide();\r\n if (controller && that._isDragging) {\r\n controller.drop(that._dropOptions)\r\n }\r\n that.element().appendTo(that._parentElement());\r\n that._dragOptions = null;\r\n that._dropOptions = null;\r\n that._isDragging = false;\r\n domAdapter.getDocument().onselectstart = that._onSelectStart || null\r\n }\r\n}\r\nvar isNextColumnResizingMode = function(that) {\r\n return \"widget\" !== that.option(\"columnResizingMode\")\r\n};\r\nexport class ColumnsResizerViewController extends modules.ViewController {\r\n _isHeadersRowArea(posY) {\r\n if (this._columnHeadersView) {\r\n var element = this._columnHeadersView.element();\r\n if (element) {\r\n var offsetTop = element.offset().top;\r\n var headersRowHeight = this._columnHeadersView.getHeadersRowHeight();\r\n return posY >= offsetTop && posY <= offsetTop + headersRowHeight\r\n }\r\n }\r\n return false\r\n }\r\n _isRtlParentStyle() {\r\n var _a;\r\n return this.option(\"rtlEnabled\") && \"rtl\" === (null === (_a = this._$parentContainer) || void 0 === _a ? void 0 : _a.parent().css(\"direction\"))\r\n }\r\n _pointCreated(point, cellsLength, columns) {\r\n var isNextColumnMode = isNextColumnResizingMode(this);\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var isRtlParentStyle = this._isRtlParentStyle();\r\n var firstPointColumnIndex = !isNextColumnMode && rtlEnabled && !isRtlParentStyle ? 0 : 1;\r\n if (point.index >= firstPointColumnIndex && point.index < cellsLength + (!isNextColumnMode && (!rtlEnabled || isRtlParentStyle) ? 1 : 0)) {\r\n point.columnIndex -= firstPointColumnIndex;\r\n var currentColumn = columns[point.columnIndex] || {};\r\n var nextColumn = columns[point.columnIndex + 1] || {};\r\n return !(isNextColumnMode ? currentColumn.allowResizing && nextColumn.allowResizing : currentColumn.allowResizing)\r\n }\r\n return true\r\n }\r\n _getTargetPoint(pointsByColumns, currentX, deltaX) {\r\n if (pointsByColumns) {\r\n for (var i = 0; i < pointsByColumns.length; i++) {\r\n if (pointsByColumns[i].x === pointsByColumns[0].x && pointsByColumns[i + 1] && pointsByColumns[i].x === pointsByColumns[i + 1].x) {\r\n continue\r\n }\r\n if (pointsByColumns[i].x - deltaX <= currentX && currentX <= pointsByColumns[i].x + deltaX) {\r\n return pointsByColumns[i]\r\n }\r\n }\r\n }\r\n return null\r\n }\r\n _moveSeparator(args) {\r\n var _a;\r\n var e = args.event;\r\n var that = e.data;\r\n var columnsSeparatorWidth = that._columnsSeparatorView.width();\r\n var isNextColumnMode = isNextColumnResizingMode(that);\r\n var deltaX = columnsSeparatorWidth / 2;\r\n var parentOffset = that._$parentContainer.offset();\r\n var parentOffsetLeft = parentOffset.left;\r\n var eventData = getEventData(e);\r\n var rtlEnabled = that.option(\"rtlEnabled\");\r\n var isRtlParentStyle = this._isRtlParentStyle();\r\n var isDragging = null === (_a = that._draggingHeaderView) || void 0 === _a ? void 0 : _a.isDragging();\r\n if (that._isResizing && that._resizingInfo) {\r\n if ((parentOffsetLeft <= eventData.x || !isNextColumnMode && isRtlParentStyle) && (!isNextColumnMode || eventData.x <= parentOffsetLeft + getWidth(that._$parentContainer))) {\r\n if (that._updateColumnsWidthIfNeeded(eventData.x)) {\r\n var $cell = that._columnHeadersView.getColumnElements().eq(that._resizingInfo.currentColumnIndex);\r\n var cell = $cell[0];\r\n if (cell) {\r\n var outerWidth = cell.getBoundingClientRect().width;\r\n that._columnsSeparatorView.moveByX($cell.offset().left + ((isNextColumnMode || isRtlParentStyle) && rtlEnabled ? 0 : outerWidth));\r\n that._tablePositionController.update(that._targetPoint.y);\r\n e.preventDefault()\r\n }\r\n }\r\n }\r\n } else if (!isDragging) {\r\n if (that._isHeadersRowArea(eventData.y)) {\r\n if (that._previousParentOffset) {\r\n if (that._previousParentOffset.left !== parentOffset.left || that._previousParentOffset.top !== parentOffset.top) {\r\n that.pointsByColumns(null)\r\n }\r\n }\r\n that._targetPoint = that._getTargetPoint(that.pointsByColumns(), eventData.x, columnsSeparatorWidth);\r\n that._previousParentOffset = parentOffset;\r\n that._isReadyResizing = false;\r\n if (that._targetPoint) {\r\n that._columnsSeparatorView.changeCursor(\"col-resize\");\r\n that._columnsSeparatorView.moveByX(that._targetPoint.x - deltaX);\r\n that._tablePositionController.update(that._targetPoint.y);\r\n that._isReadyResizing = true;\r\n e.preventDefault()\r\n } else {\r\n that._columnsSeparatorView.changeCursor();\r\n that._columnsSeparatorView.moveByX(null)\r\n }\r\n } else {\r\n that.pointsByColumns(null);\r\n that._isReadyResizing = false;\r\n that._columnsSeparatorView.changeCursor();\r\n that._columnsSeparatorView.moveByX(null)\r\n }\r\n }\r\n }\r\n _endResizing(args) {\r\n var e = args.event;\r\n var that = e.data;\r\n if (that._isResizing) {\r\n that.pointsByColumns(null);\r\n that._resizingInfo = null;\r\n that._columnsSeparatorView.hide();\r\n that._columnsSeparatorView.changeCursor();\r\n that._trackerView.hide();\r\n that._isReadyResizing = false;\r\n that._isResizing = false\r\n }\r\n }\r\n _getNextColumnIndex(currentColumnIndex) {\r\n return currentColumnIndex + 1\r\n }\r\n _setupResizingInfo(posX) {\r\n var currentColumnIndex = this._targetPoint.columnIndex;\r\n var nextColumnIndex = this._getNextColumnIndex(currentColumnIndex);\r\n var currentHeader = this._columnHeadersView.getHeaderElement(currentColumnIndex);\r\n var nextHeader = this._columnHeadersView.getHeaderElement(nextColumnIndex);\r\n this._resizingInfo = {\r\n startPosX: posX,\r\n currentColumnIndex: currentColumnIndex,\r\n currentColumnWidth: currentHeader && currentHeader.length > 0 ? getBoundingRect(currentHeader[0]).width : 0,\r\n nextColumnIndex: nextColumnIndex,\r\n nextColumnWidth: nextHeader && nextHeader.length > 0 ? getBoundingRect(nextHeader[0]).width : 0\r\n }\r\n }\r\n _startResizing(args) {\r\n var e = args.event;\r\n var that = e.data;\r\n var eventData = getEventData(e);\r\n if (isTouchEvent(e)) {\r\n if (that._isHeadersRowArea(eventData.y)) {\r\n that._targetPoint = that._getTargetPoint(that.pointsByColumns(), eventData.x, COLUMNS_SEPARATOR_TOUCH_TRACKER_WIDTH);\r\n if (that._targetPoint) {\r\n that._columnsSeparatorView.moveByX(that._targetPoint.x - that._columnsSeparatorView.width() / 2);\r\n that._isReadyResizing = true\r\n }\r\n } else {\r\n that._isReadyResizing = false\r\n }\r\n }\r\n if (that._isReadyResizing) {\r\n that._setupResizingInfo(eventData.x);\r\n that._isResizing = true;\r\n that._tablePositionController.update(that._targetPoint.y);\r\n that._columnsSeparatorView.show();\r\n that._trackerView.show();\r\n var scrollable = that.component.getScrollable();\r\n if (scrollable && that._isRtlParentStyle()) {\r\n that._scrollRight = getWidth(scrollable.$content()) - getWidth(scrollable.container()) - scrollable.scrollLeft()\r\n }\r\n e.preventDefault();\r\n e.stopPropagation()\r\n }\r\n if (this.isResizing()) {\r\n this.getController(\"editorFactory\").loseFocus()\r\n }\r\n }\r\n _generatePointsByColumns() {\r\n var that = this;\r\n var columns = that._columnsController ? that._columnsController.getVisibleColumns() : [];\r\n var cells = that._columnHeadersView.getColumnElements();\r\n var pointsByColumns = [];\r\n if (cells && cells.length > 0) {\r\n pointsByColumns = gridCoreUtils.getPointsByColumns(cells, point => that._pointCreated(point, cells.length, columns))\r\n }\r\n that._pointsByColumns = pointsByColumns\r\n }\r\n _unsubscribeFromEvents() {\r\n this._moveSeparatorHandler && eventsEngine.off(domAdapter.getDocument(), addNamespace(pointerEvents.move, MODULE_NAMESPACE), this._moveSeparatorHandler);\r\n this._startResizingHandler && eventsEngine.off(this._$parentContainer, addNamespace(pointerEvents.down, MODULE_NAMESPACE), this._startResizingHandler);\r\n if (this._endResizingHandler) {\r\n eventsEngine.off(this._columnsSeparatorView.element(), addNamespace(pointerEvents.up, MODULE_NAMESPACE), this._endResizingHandler);\r\n eventsEngine.off(domAdapter.getDocument(), addNamespace(pointerEvents.up, MODULE_NAMESPACE), this._endResizingHandler)\r\n }\r\n }\r\n _subscribeToEvents() {\r\n this._moveSeparatorHandler = this.createAction(this._moveSeparator);\r\n this._startResizingHandler = this.createAction(this._startResizing);\r\n this._endResizingHandler = this.createAction(this._endResizing);\r\n eventsEngine.on(domAdapter.getDocument(), addNamespace(pointerEvents.move, MODULE_NAMESPACE), this, this._moveSeparatorHandler);\r\n eventsEngine.on(this._$parentContainer, addNamespace(pointerEvents.down, MODULE_NAMESPACE), this, this._startResizingHandler);\r\n eventsEngine.on(this._columnsSeparatorView.element(), addNamespace(pointerEvents.up, MODULE_NAMESPACE), this, this._endResizingHandler);\r\n eventsEngine.on(domAdapter.getDocument(), addNamespace(pointerEvents.up, MODULE_NAMESPACE), this, this._endResizingHandler)\r\n }\r\n _updateColumnsWidthIfNeeded(posX) {\r\n var deltaX;\r\n var needUpdate;\r\n var contentWidth = this._rowsView.contentWidth();\r\n var resizingInfo = this._resizingInfo;\r\n var columnsController = this._columnsController;\r\n var visibleColumns = columnsController.getVisibleColumns();\r\n var columnsSeparatorWidth = this._columnsSeparatorView.width();\r\n var isNextColumnMode = isNextColumnResizingMode(this);\r\n var adaptColumnWidthByRatio = isNextColumnMode && this.option(\"adaptColumnWidthByRatio\") && !this.option(\"columnAutoWidth\");\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var isRtlParentStyle = this._isRtlParentStyle();\r\n var column = visibleColumns[resizingInfo.currentColumnIndex];\r\n var nextColumn = visibleColumns[resizingInfo.nextColumnIndex];\r\n\r\n function isPercentWidth(width) {\r\n return isString(width) && width.endsWith(\"%\")\r\n }\r\n\r\n function setColumnWidth(column, columnWidth, contentWidth, adaptColumnWidthByRatio) {\r\n if (column) {\r\n var oldColumnWidth = column.width;\r\n if (oldColumnWidth) {\r\n adaptColumnWidthByRatio = isPercentWidth(oldColumnWidth)\r\n }\r\n if (adaptColumnWidthByRatio) {\r\n columnsController.columnOption(column.index, \"visibleWidth\", columnWidth);\r\n columnsController.columnOption(column.index, \"width\", \"\".concat((columnWidth / contentWidth * 100).toFixed(3), \"%\"))\r\n } else {\r\n columnsController.columnOption(column.index, \"visibleWidth\", null);\r\n columnsController.columnOption(column.index, \"width\", columnWidth)\r\n }\r\n }\r\n }\r\n deltaX = posX - resizingInfo.startPosX;\r\n if ((isNextColumnMode || isRtlParentStyle) && rtlEnabled) {\r\n deltaX = -deltaX\r\n }\r\n var {\r\n cellWidth: cellWidth,\r\n nextCellWidth: nextCellWidth\r\n } = function(delta) {\r\n var nextMinWidth;\r\n var nextCellWidth;\r\n var needCorrectionNextCellWidth;\r\n var cellWidth = resizingInfo.currentColumnWidth + delta;\r\n var minWidth = column && column.minWidth || columnsSeparatorWidth;\r\n var result = {};\r\n if (cellWidth >= minWidth) {\r\n result.cellWidth = cellWidth\r\n } else {\r\n result.cellWidth = minWidth;\r\n needCorrectionNextCellWidth = true\r\n }\r\n if (isNextColumnMode) {\r\n nextCellWidth = resizingInfo.nextColumnWidth - delta;\r\n nextMinWidth = nextColumn && nextColumn.minWidth || columnsSeparatorWidth;\r\n if (nextCellWidth >= nextMinWidth) {\r\n if (needCorrectionNextCellWidth) {\r\n result.nextCellWidth = resizingInfo.nextColumnWidth - (delta + minWidth - cellWidth)\r\n } else {\r\n result.nextCellWidth = nextCellWidth\r\n }\r\n } else {\r\n result.nextCellWidth = nextMinWidth;\r\n result.cellWidth = resizingInfo.currentColumnWidth + (delta - nextMinWidth + nextCellWidth)\r\n }\r\n }\r\n return result\r\n }(deltaX);\r\n needUpdate = column.width !== cellWidth;\r\n if (needUpdate) {\r\n columnsController.beginUpdate();\r\n cellWidth = Math.floor(cellWidth);\r\n contentWidth = function(contentWidth, visibleColumns) {\r\n var allColumnsHaveWidth = visibleColumns.every(column => column.width);\r\n if (allColumnsHaveWidth) {\r\n var totalPercent = visibleColumns.reduce((sum, column) => {\r\n if (isPercentWidth(column.width)) {\r\n sum += parseFloat(column.width)\r\n }\r\n return sum\r\n }, 0);\r\n if (totalPercent > 100) {\r\n contentWidth = contentWidth / totalPercent * 100\r\n }\r\n }\r\n return contentWidth\r\n }(contentWidth, visibleColumns);\r\n setColumnWidth(column, cellWidth, contentWidth, adaptColumnWidthByRatio);\r\n if (isNextColumnMode) {\r\n nextCellWidth = Math.floor(nextCellWidth);\r\n setColumnWidth(nextColumn, nextCellWidth, contentWidth, adaptColumnWidthByRatio)\r\n } else {\r\n var columnWidths = this._columnHeadersView.getColumnWidths();\r\n columnWidths[resizingInfo.currentColumnIndex] = cellWidth;\r\n var hasScroll = columnWidths.reduce((totalWidth, width) => totalWidth + width, 0) > this._rowsView.contentWidth();\r\n if (!hasScroll) {\r\n var lastColumnIndex = gridCoreUtils.getLastResizableColumnIndex(visibleColumns);\r\n if (lastColumnIndex >= 0) {\r\n columnsController.columnOption(visibleColumns[lastColumnIndex].index, \"visibleWidth\", \"auto\")\r\n }\r\n }\r\n for (var i = 0; i < columnWidths.length; i++) {\r\n if (visibleColumns[i] && visibleColumns[i] !== column && void 0 === visibleColumns[i].width) {\r\n columnsController.columnOption(visibleColumns[i].index, \"width\", columnWidths[i])\r\n }\r\n }\r\n }\r\n columnsController.endUpdate();\r\n if (!isNextColumnMode) {\r\n this.component.updateDimensions();\r\n var scrollable = this.component.getScrollable();\r\n if (scrollable && isRtlParentStyle) {\r\n var left = getWidth(scrollable.$content()) - getWidth(scrollable.container()) - this._scrollRight;\r\n scrollable.scrollTo({\r\n left: left\r\n })\r\n }\r\n }\r\n }\r\n return needUpdate\r\n }\r\n _subscribeToCallback(callback, handler) {\r\n callback.add(handler);\r\n this._subscribesToCallbacks.push({\r\n callback: callback,\r\n handler: handler\r\n })\r\n }\r\n _unsubscribeFromCallbacks() {\r\n for (var i = 0; i < this._subscribesToCallbacks.length; i++) {\r\n var subscribe = this._subscribesToCallbacks[i];\r\n subscribe.callback.remove(subscribe.handler)\r\n }\r\n this._subscribesToCallbacks = []\r\n }\r\n _unsubscribes() {\r\n this._unsubscribeFromEvents();\r\n this._unsubscribeFromCallbacks()\r\n }\r\n _init() {\r\n var that = this;\r\n var generatePointsByColumnsHandler = function() {\r\n if (!that._isResizing) {\r\n that.pointsByColumns(null)\r\n }\r\n };\r\n var generatePointsByColumnsScrollHandler = function(offset) {\r\n if (that._scrollLeft !== offset.left) {\r\n that._scrollLeft = offset.left;\r\n that.pointsByColumns(null)\r\n }\r\n };\r\n that._columnsSeparatorView = that.getView(\"columnsSeparatorView\");\r\n that._columnHeadersView = that.getView(\"columnHeadersView\");\r\n that._trackerView = that.getView(\"trackerView\");\r\n that._rowsView = that.getView(\"rowsView\");\r\n that._columnsController = that.getController(\"columns\");\r\n that._tablePositionController = that.getController(\"tablePosition\");\r\n that._$parentContainer = that.component.$element();\r\n that._draggingHeaderView = that.component.getView(\"draggingHeaderView\");\r\n that._subscribeToCallback(that._columnHeadersView.renderCompleted, generatePointsByColumnsHandler);\r\n that._subscribeToCallback(that._columnHeadersView.resizeCompleted, generatePointsByColumnsHandler);\r\n that._subscribeToCallback(that._columnsSeparatorView.renderCompleted, () => {\r\n that._unsubscribeFromEvents();\r\n that._subscribeToEvents()\r\n });\r\n that._subscribeToCallback(that._rowsView.renderCompleted, () => {\r\n that._rowsView.scrollChanged.remove(generatePointsByColumnsScrollHandler);\r\n that._rowsView.scrollChanged.add(generatePointsByColumnsScrollHandler)\r\n });\r\n var previousScrollbarVisibility = 0 !== that._rowsView.getScrollbarWidth();\r\n var previousTableHeight = 0;\r\n that._subscribeToCallback(that.getController(\"tablePosition\").positionChanged, e => {\r\n if (that._isResizing && !that._rowsView.isResizing) {\r\n var scrollbarVisibility = 0 !== that._rowsView.getScrollbarWidth();\r\n if (previousScrollbarVisibility !== scrollbarVisibility || previousTableHeight && previousTableHeight !== e.height) {\r\n previousScrollbarVisibility = scrollbarVisibility;\r\n previousTableHeight = e.height;\r\n that.component.updateDimensions()\r\n } else {\r\n that._rowsView.updateFreeSpaceRowHeight()\r\n }\r\n }\r\n previousTableHeight = e.height\r\n })\r\n }\r\n optionChanged(args) {\r\n super.optionChanged(args);\r\n if (\"allowColumnResizing\" === args.name) {\r\n if (args.value) {\r\n this._init();\r\n this._subscribeToEvents()\r\n } else {\r\n this._unsubscribes()\r\n }\r\n }\r\n }\r\n isResizing() {\r\n return this._isResizing\r\n }\r\n init() {\r\n this._subscribesToCallbacks = [];\r\n if (allowResizing(this)) {\r\n this._init()\r\n }\r\n }\r\n pointsByColumns(value) {\r\n if (void 0 !== value) {\r\n this._pointsByColumns = value\r\n } else {\r\n if (!this._pointsByColumns) {\r\n this._generatePointsByColumns()\r\n }\r\n return this._pointsByColumns\r\n }\r\n }\r\n dispose() {\r\n this._unsubscribes();\r\n super.dispose()\r\n }\r\n}\r\nclass TablePositionViewController extends modules.ViewController {\r\n constructor(component) {\r\n super(component);\r\n this.positionChanged = Callbacks()\r\n }\r\n update(top) {\r\n var params = {};\r\n var $element = this._columnHeadersView.element();\r\n var offset = $element && $element.offset();\r\n var offsetTop = offset && offset.top || 0;\r\n var diffOffsetTop = isDefined(top) ? Math.abs(top - offsetTop) : 0;\r\n var columnsHeadersHeight = this._columnHeadersView ? this._columnHeadersView.getHeight() : 0;\r\n var scrollBarWidth = this._rowsView.getScrollbarWidth(true);\r\n var rowsHeight = this._rowsView ? this._rowsView.height() - scrollBarWidth : 0;\r\n var columnsResizerController = this.component.getController(\"columnsResizer\");\r\n var draggingHeaderView = this.component.getView(\"draggingHeaderView\");\r\n params.height = columnsHeadersHeight;\r\n var isDraggingOrResizing = columnsResizerController.isResizing() || draggingHeaderView.isDragging();\r\n if (isDraggingOrResizing) {\r\n params.height += rowsHeight - diffOffsetTop\r\n }\r\n if (null !== top && $element && $element.length) {\r\n params.top = $element[0].offsetTop + diffOffsetTop\r\n }\r\n this.positionChanged.fire(params)\r\n }\r\n init() {\r\n var that = this;\r\n super.init();\r\n that._columnHeadersView = this.getView(\"columnHeadersView\");\r\n that._rowsView = this.getView(\"rowsView\");\r\n that._pagerView = this.getView(\"pagerView\");\r\n that._rowsView.resizeCompleted.add(() => {\r\n if (that.option(\"allowColumnResizing\")) {\r\n var targetPoint = that.getController(\"columnsResizer\")._targetPoint;\r\n that.update(targetPoint ? targetPoint.y : null)\r\n }\r\n })\r\n }\r\n}\r\nexport class DraggingHeaderViewController extends modules.ViewController {\r\n _generatePointsByColumns(options) {\r\n var that = this;\r\n this.isCustomGroupColumnPosition = this.checkIsCustomGroupColumnPosition(options);\r\n return gridCoreUtils.getPointsByColumns(options.columnElements, point => that._pointCreated(point, options.columns, options.targetDraggingPanel.getName(), options.sourceColumn), options.isVerticalOrientation, options.startColumnIndex)\r\n }\r\n checkIsCustomGroupColumnPosition(options) {\r\n var wasOnlyCommandColumns = true;\r\n for (var i = 0; i < options.columns.length; i += 1) {\r\n var col = options.columns[i];\r\n if (\"expand\" === col.command && !wasOnlyCommandColumns) {\r\n return true\r\n }\r\n if (!col.command) {\r\n wasOnlyCommandColumns = false\r\n }\r\n }\r\n return false\r\n }\r\n _pointCreated(point, columns, location, sourceColumn) {\r\n var _a;\r\n var targetColumn = columns[point.columnIndex];\r\n var prevColumn = columns[point.columnIndex - 1];\r\n var isColumnAfterExpandColumn = \"expand\" === (null === prevColumn || void 0 === prevColumn ? void 0 : prevColumn.command);\r\n var isFirstExpandColumn = \"expand\" === (null === targetColumn || void 0 === targetColumn ? void 0 : targetColumn.command) && \"expand\" !== (null === prevColumn || void 0 === prevColumn ? void 0 : prevColumn.command);\r\n var sourceColumnReorderingDisabled = sourceColumn && !sourceColumn.allowReordering;\r\n var otherColumnReorderingDisabled = !(null === targetColumn || void 0 === targetColumn ? void 0 : targetColumn.allowReordering) && !(null === prevColumn || void 0 === prevColumn ? void 0 : prevColumn.allowReordering);\r\n switch (location) {\r\n case \"columnChooser\":\r\n return true;\r\n case \"headers\":\r\n if (!isFirstExpandColumn) {\r\n return isColumnAfterExpandColumn || sourceColumnReorderingDisabled || otherColumnReorderingDisabled\r\n }\r\n if (this.isCustomGroupColumnPosition) {\r\n return false\r\n }\r\n while (\"expand\" === (null === (_a = columns[point.columnIndex]) || void 0 === _a ? void 0 : _a.command)) {\r\n point.columnIndex += 1\r\n }\r\n return false;\r\n default:\r\n return 0 === columns.length\r\n }\r\n }\r\n _subscribeToEvents(draggingHeader, draggingPanels) {\r\n var that = this;\r\n each(draggingPanels, (_, draggingPanel) => {\r\n if (draggingPanel) {\r\n var columns;\r\n var rowCount = draggingPanel.getRowCount ? draggingPanel.getRowCount() : 1;\r\n var nameDraggingPanel = draggingPanel.getName();\r\n var subscribeToEvents = function(index, columnElement) {\r\n if (!columnElement) {\r\n return\r\n }\r\n var $columnElement = $(columnElement);\r\n var column = columns[index];\r\n if (draggingPanel.allowDragging(column, nameDraggingPanel, draggingPanels)) {\r\n $columnElement.addClass(that.addWidgetPrefix(HEADERS_DRAG_ACTION_CLASS));\r\n eventsEngine.on($columnElement, addNamespace(dragEventStart, MODULE_NAMESPACE), that.createAction(args => {\r\n var e = args.event;\r\n var eventData = getEventData(e);\r\n draggingHeader.dragHeader({\r\n deltaX: eventData.x - $(e.currentTarget).offset().left,\r\n deltaY: eventData.y - $(e.currentTarget).offset().top,\r\n sourceColumn: column,\r\n index: column.index,\r\n columnIndex: index,\r\n columnElement: $columnElement,\r\n sourceLocation: nameDraggingPanel,\r\n draggingPanels: draggingPanels,\r\n rowIndex: that._columnsController.getRowIndex(column.index, true)\r\n })\r\n }));\r\n eventsEngine.on($columnElement, addNamespace(dragEventMove, MODULE_NAMESPACE), {\r\n that: draggingHeader\r\n }, that.createAction(draggingHeader.moveHeader));\r\n eventsEngine.on($columnElement, addNamespace(dragEventEnd, MODULE_NAMESPACE), {\r\n that: draggingHeader\r\n }, that.createAction(draggingHeader.dropHeader))\r\n }\r\n };\r\n for (var i = 0; i < rowCount; i++) {\r\n var columnElements = draggingPanel.getColumnElements(i) || [];\r\n if (columnElements.length) {\r\n columns = draggingPanel.getColumns(i) || [];\r\n each(columnElements, subscribeToEvents)\r\n }\r\n }\r\n }\r\n })\r\n }\r\n _unsubscribeFromEvents(draggingHeader, draggingPanels) {\r\n var that = this;\r\n each(draggingPanels, (_, draggingPanel) => {\r\n if (draggingPanel) {\r\n var columnElements = draggingPanel.getColumnElements() || [];\r\n each(columnElements, (index, columnElement) => {\r\n var $columnElement = $(columnElement);\r\n eventsEngine.off($columnElement, addNamespace(dragEventStart, MODULE_NAMESPACE));\r\n eventsEngine.off($columnElement, addNamespace(dragEventMove, MODULE_NAMESPACE));\r\n eventsEngine.off($columnElement, addNamespace(dragEventEnd, MODULE_NAMESPACE));\r\n $columnElement.removeClass(that.addWidgetPrefix(HEADERS_DRAG_ACTION_CLASS))\r\n })\r\n }\r\n })\r\n }\r\n _getSeparator(targetLocation) {\r\n return \"headers\" === targetLocation ? this._columnsSeparatorView : this._blockSeparatorView\r\n }\r\n hideSeparators(type) {\r\n var blockSeparator = this._blockSeparatorView;\r\n var columnsSeparator = this._columnsSeparatorView;\r\n this._animationColumnIndex = void 0;\r\n blockSeparator && blockSeparator.hide();\r\n \"block\" !== type && columnsSeparator && columnsSeparator.hide()\r\n }\r\n init() {\r\n var that = this;\r\n super.init();\r\n that._columnsController = that.getController(\"columns\");\r\n that._columnHeadersView = that.getView(\"columnHeadersView\");\r\n that._columnsSeparatorView = that.getView(\"columnsSeparatorView\");\r\n that._draggingHeaderView = that.getView(\"draggingHeaderView\");\r\n that._rowsView = that.getView(\"rowsView\");\r\n that._blockSeparatorView = that.getView(\"blockSeparatorView\");\r\n that._headerPanelView = that.getView(\"headerPanel\");\r\n that._columnChooserView = that.getView(\"columnChooserView\");\r\n var subscribeToEvents = function() {\r\n if (that._draggingHeaderView) {\r\n var draggingPanels = [that._columnChooserView, that._columnHeadersView, that._headerPanelView];\r\n that._unsubscribeFromEvents(that._draggingHeaderView, draggingPanels);\r\n that._subscribeToEvents(that._draggingHeaderView, draggingPanels)\r\n }\r\n };\r\n that._columnHeadersView.renderCompleted.add(subscribeToEvents);\r\n that._headerPanelView && that._headerPanelView.renderCompleted.add(subscribeToEvents);\r\n that._columnChooserView && that._columnChooserView.renderCompleted.add(subscribeToEvents)\r\n }\r\n allowDrop(parameters) {\r\n return this._columnsController.allowMoveColumn(parameters.sourceColumnIndex, parameters.targetColumnIndex, parameters.sourceLocation, parameters.targetLocation)\r\n }\r\n drag(parameters) {\r\n var {\r\n sourceIndex: sourceIndex\r\n } = parameters;\r\n var {\r\n sourceLocation: sourceLocation\r\n } = parameters;\r\n var {\r\n sourceColumnElement: sourceColumnElement\r\n } = parameters;\r\n var headersView = this._columnHeadersView;\r\n var rowsView = this._rowsView;\r\n if (sourceColumnElement) {\r\n sourceColumnElement.css({\r\n opacity: COLUMN_OPACITY\r\n });\r\n if (\"headers\" === sourceLocation) {\r\n headersView && headersView.setRowsOpacity(sourceIndex, COLUMN_OPACITY);\r\n rowsView && rowsView.setRowsOpacity(sourceIndex, COLUMN_OPACITY)\r\n }\r\n }\r\n }\r\n dock(parameters) {\r\n var that = this;\r\n var targetColumnIndex = isObject(parameters.targetColumnIndex) ? parameters.targetColumnIndex.columnIndex : parameters.targetColumnIndex;\r\n var {\r\n sourceLocation: sourceLocation\r\n } = parameters;\r\n var {\r\n targetLocation: targetLocation\r\n } = parameters;\r\n var separator = that._getSeparator(targetLocation);\r\n var hasTargetVisibleIndex = targetColumnIndex >= 0;\r\n that._columnHeadersView.element().find(\".\".concat(HEADER_ROW_CLASS)).toggleClass(that.addWidgetPrefix(HEADERS_DROP_HIGHLIGHT_CLASS), \"headers\" !== sourceLocation && \"headers\" === targetLocation && !hasTargetVisibleIndex);\r\n if (separator) {\r\n if (that.allowDrop(parameters) && hasTargetVisibleIndex) {\r\n if (\"group\" === targetLocation || \"columnChooser\" === targetLocation) {\r\n ! function() {\r\n if (that._animationColumnIndex !== targetColumnIndex) {\r\n that.hideSeparators();\r\n separator.element()[parameters.isLast ? \"insertAfter\" : \"insertBefore\"](parameters.targetColumnElement);\r\n that._animationColumnIndex = targetColumnIndex;\r\n separator.show(targetLocation)\r\n }\r\n }()\r\n } else {\r\n that.hideSeparators(\"block\");\r\n that.getController(\"tablePosition\").update(parameters.posY);\r\n separator.moveByX(parameters.posX - separator.width());\r\n separator.show()\r\n }\r\n } else {\r\n that.hideSeparators()\r\n }\r\n }\r\n }\r\n drop(parameters) {\r\n var {\r\n sourceColumnElement: sourceColumnElement\r\n } = parameters;\r\n if (sourceColumnElement) {\r\n sourceColumnElement.css({\r\n opacity: \"\"\r\n });\r\n this._columnHeadersView.setRowsOpacity(parameters.sourceIndex, \"\");\r\n this._rowsView.setRowsOpacity(parameters.sourceIndex, \"\");\r\n this._columnHeadersView.element().find(\".\".concat(HEADER_ROW_CLASS)).removeClass(this.addWidgetPrefix(HEADERS_DROP_HIGHLIGHT_CLASS))\r\n }\r\n if (this.allowDrop(parameters)) {\r\n var separator = this._getSeparator(parameters.targetLocation);\r\n if (separator) {\r\n separator.hide()\r\n }\r\n this._columnsController.moveColumn(parameters.sourceColumnIndex, parameters.targetColumnIndex, parameters.sourceLocation, parameters.targetLocation)\r\n }\r\n }\r\n dispose() {\r\n if (this._draggingHeaderView) {\r\n this._unsubscribeFromEvents(this._draggingHeaderView, [this._columnChooserView, this._columnHeadersView, this._headerPanelView])\r\n }\r\n }\r\n}\r\nexport var columnsResizingReorderingModule = {\r\n views: {\r\n columnsSeparatorView: ColumnsSeparatorView,\r\n blockSeparatorView: BlockSeparatorView,\r\n draggingHeaderView: DraggingHeaderView,\r\n trackerView: TrackerView\r\n },\r\n controllers: {\r\n draggingHeader: DraggingHeaderViewController,\r\n tablePosition: TablePositionViewController,\r\n columnsResizer: ColumnsResizerViewController\r\n },\r\n extenders: {\r\n views: {\r\n rowsView: {\r\n _needUpdateRowHeight(itemCount) {\r\n var wordWrapEnabled = this.option(\"wordWrapEnabled\");\r\n var columnsResizerController = this.getController(\"columnsResizer\");\r\n var isResizing = columnsResizerController.isResizing();\r\n return this.callBase.apply(this, arguments) || itemCount > 0 && wordWrapEnabled && isResizing\r\n }\r\n }\r\n },\r\n controllers: {\r\n editorFactory: {\r\n renderFocusOverlay() {\r\n if (this.getController(\"columnsResizer\").isResizing()) {\r\n return\r\n }\r\n return this.callBase.apply(this, arguments)\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/context_menu/m_context_menu.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getPublicElement\r\n} from \"../../../../core/element\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport ContextMenu from \"../../../../ui/context_menu\";\r\nimport modules from \"../m_modules\";\r\nvar CONTEXT_MENU = \"dx-context-menu\";\r\nvar viewName = {\r\n columnHeadersView: \"header\",\r\n rowsView: \"content\",\r\n footerView: \"footer\",\r\n headerPanel: \"headerPanel\"\r\n};\r\nvar VIEW_NAMES = [\"columnHeadersView\", \"rowsView\", \"footerView\", \"headerPanel\"];\r\nvar ContextMenuController = modules.ViewController.inherit({\r\n init() {\r\n this.createAction(\"onContextMenuPreparing\")\r\n },\r\n getContextMenuItems(dxEvent) {\r\n if (!dxEvent) {\r\n return false\r\n }\r\n var that = this;\r\n var $targetElement = $(dxEvent.target);\r\n var $element;\r\n var $targetRowElement;\r\n var $targetCellElement;\r\n var menuItems;\r\n each(VIEW_NAMES, (function() {\r\n var _a, _b;\r\n var view = that.getView(this);\r\n $element = view && view.element();\r\n if ($element && ($element.is($targetElement) || $element.find($targetElement).length)) {\r\n $targetCellElement = $targetElement.closest(\".dx-row > td, .dx-row > tr\");\r\n $targetRowElement = $targetCellElement.parent();\r\n var rowIndex = view.getRowIndex($targetRowElement);\r\n var columnIndex = $targetCellElement[0] && $targetCellElement[0].cellIndex;\r\n var rowOptions = $targetRowElement.data(\"options\");\r\n var options = {\r\n event: dxEvent,\r\n targetElement: getPublicElement($targetElement),\r\n target: viewName[this],\r\n rowIndex: rowIndex,\r\n row: view._getRows()[rowIndex],\r\n columnIndex: columnIndex,\r\n column: null === (_b = null === (_a = null === rowOptions || void 0 === rowOptions ? void 0 : rowOptions.cells) || void 0 === _a ? void 0 : _a[columnIndex]) || void 0 === _b ? void 0 : _b.column\r\n };\r\n options.items = view.getContextMenuItems && view.getContextMenuItems(options);\r\n that.executeAction(\"onContextMenuPreparing\", options);\r\n that._contextMenuPrepared(options);\r\n menuItems = options.items;\r\n if (menuItems) {\r\n return false\r\n }\r\n }\r\n return\r\n }));\r\n return menuItems\r\n },\r\n _contextMenuPrepared: noop\r\n});\r\nvar ContextMenuView = modules.View.inherit({\r\n _renderCore() {\r\n var that = this;\r\n var $element = that.element().addClass(CONTEXT_MENU);\r\n this.setAria(\"role\", \"presentation\", $element);\r\n this._createComponent($element, ContextMenu, {\r\n onPositioning(actionArgs) {\r\n var {\r\n event: event\r\n } = actionArgs;\r\n var contextMenuInstance = actionArgs.component;\r\n var items = that.getController(\"contextMenu\").getContextMenuItems(event);\r\n if (items) {\r\n contextMenuInstance.option(\"items\", items);\r\n event.stopPropagation()\r\n } else {\r\n actionArgs.cancel = true\r\n }\r\n },\r\n onItemClick(params) {\r\n params.itemData.onItemClick && params.itemData.onItemClick(params)\r\n },\r\n cssClass: that.getWidgetContainerClass(),\r\n target: that.component.$element()\r\n })\r\n }\r\n});\r\nexport var contextMenuModule = {\r\n defaultOptions: () => ({\r\n onContextMenuPreparing: null\r\n }),\r\n controllers: {\r\n contextMenu: ContextMenuController\r\n },\r\n views: {\r\n contextMenuView: ContextMenuView\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/data_controller/m_data_controller.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n findChanges\r\n} from \"../../../../core/utils/array_compare\";\r\nimport {\r\n deferRender,\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n isDefined,\r\n isObject\r\n} from \"../../../../core/utils/type\";\r\nimport ArrayStore from \"../../../../data/array_store\";\r\nimport CustomStore from \"../../../../data/custom_store\";\r\nimport DataHelperMixin from \"../../../../data_helper\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar changePaging = function(that, optionName, value) {\r\n var dataSource = that._dataSource;\r\n if (dataSource) {\r\n if (void 0 !== value) {\r\n var oldValue = that._getPagingOptionValue(optionName);\r\n if (oldValue !== value) {\r\n if (\"pageSize\" === optionName) {\r\n dataSource.pageIndex(0)\r\n }\r\n dataSource[optionName](value);\r\n that._skipProcessingPagingChange = true;\r\n that.option(\"paging.\".concat(optionName), value);\r\n that._skipProcessingPagingChange = false;\r\n var pageIndex = dataSource.pageIndex();\r\n that._isPaging = \"pageIndex\" === optionName;\r\n return dataSource[\"pageIndex\" === optionName ? \"load\" : \"reload\"]().done(() => {\r\n that._isPaging = false;\r\n that.pageChanged.fire(pageIndex)\r\n })\r\n }\r\n return Deferred().resolve().promise()\r\n }\r\n return dataSource[optionName]()\r\n }\r\n return 0\r\n};\r\nvar ControllerWithDataMixin = modules.Controller.inherit(DataHelperMixin);\r\nexport class DataController extends ControllerWithDataMixin {\r\n init() {\r\n var that = this;\r\n that._items = [];\r\n that._cachedProcessedItems = null;\r\n that._columnsController = this.getController(\"columns\");\r\n that._isPaging = false;\r\n that._currentOperationTypes = null;\r\n that._dataChangedHandler = e => {\r\n that._currentOperationTypes = this._dataSource.operationTypes();\r\n that._handleDataChanged(e);\r\n that._currentOperationTypes = null\r\n };\r\n that._columnsChangedHandler = that._handleColumnsChanged.bind(that);\r\n that._loadingChangedHandler = that._handleLoadingChanged.bind(that);\r\n that._loadErrorHandler = that._handleLoadError.bind(that);\r\n that._customizeStoreLoadOptionsHandler = that._handleCustomizeStoreLoadOptions.bind(that);\r\n that._changingHandler = that._handleChanging.bind(that);\r\n that._dataPushedHandler = that._handleDataPushed.bind(that);\r\n that._columnsController.columnsChanged.add(that._columnsChangedHandler);\r\n that._isLoading = false;\r\n that._isCustomLoading = false;\r\n that._repaintChangesOnly = void 0;\r\n that._changes = [];\r\n that.createAction(\"onDataErrorOccurred\");\r\n that.dataErrorOccurred.add(error => that.executeAction(\"onDataErrorOccurred\", {\r\n error: error\r\n }));\r\n that._refreshDataSource()\r\n }\r\n _getPagingOptionValue(optionName) {\r\n return this._dataSource[optionName]()\r\n }\r\n callbackNames() {\r\n return [\"changed\", \"loadingChanged\", \"dataErrorOccurred\", \"pageChanged\", \"dataSourceChanged\", \"pushed\"]\r\n }\r\n callbackFlags(name) {\r\n if (\"dataErrorOccurred\" === name) {\r\n return {\r\n stopOnFalse: true\r\n }\r\n }\r\n return\r\n }\r\n publicMethods() {\r\n return [\"beginCustomLoading\", \"endCustomLoading\", \"refresh\", \"filter\", \"clearFilter\", \"getCombinedFilter\", \"keyOf\", \"byKey\", \"getDataByKeys\", \"pageIndex\", \"pageSize\", \"pageCount\", \"totalCount\", \"_disposeDataSource\", \"getKeyByRowIndex\", \"getRowIndexByKey\", \"getDataSource\", \"getVisibleRows\", \"repaintRows\"]\r\n }\r\n reset() {\r\n this._columnsController.reset();\r\n this._items = [];\r\n this._refreshDataSource()\r\n }\r\n _handleDataSourceChange(args) {\r\n if (args.value === args.previousValue || this.option(\"columns\") && Array.isArray(args.value) && Array.isArray(args.previousValue)) {\r\n var isValueChanged = args.value !== args.previousValue;\r\n if (isValueChanged) {\r\n var store = this.store();\r\n if (store) {\r\n store._array = args.value\r\n }\r\n }\r\n if (this.needToRefreshOnDataSourceChange(args)) {\r\n this.refresh(this.option(\"repaintChangesOnly\"))\r\n }\r\n return true\r\n }\r\n return false\r\n }\r\n needToRefreshOnDataSourceChange(args) {\r\n return true\r\n }\r\n optionChanged(args) {\r\n var that = this;\r\n var dataSource;\r\n var changedPagingOptions;\r\n\r\n function handled() {\r\n args.handled = true\r\n }\r\n if (\"dataSource\" === args.name && args.name === args.fullName && this._handleDataSourceChange(args)) {\r\n handled();\r\n return\r\n }\r\n switch (args.name) {\r\n case \"cacheEnabled\":\r\n case \"repaintChangesOnly\":\r\n case \"highlightChanges\":\r\n case \"loadingTimeout\":\r\n handled();\r\n break;\r\n case \"remoteOperations\":\r\n case \"keyExpr\":\r\n case \"dataSource\":\r\n case \"scrolling\":\r\n handled();\r\n that.reset();\r\n break;\r\n case \"paging\":\r\n dataSource = that.dataSource();\r\n if (dataSource) {\r\n changedPagingOptions = that._setPagingOptions(dataSource);\r\n if (changedPagingOptions) {\r\n var pageIndex = dataSource.pageIndex();\r\n this._isPaging = changedPagingOptions.isPageIndexChanged;\r\n dataSource.load().done(() => {\r\n this._isPaging = false;\r\n that.pageChanged.fire(pageIndex)\r\n })\r\n }\r\n }\r\n handled();\r\n break;\r\n case \"rtlEnabled\":\r\n that.reset();\r\n break;\r\n case \"columns\":\r\n dataSource = that.dataSource();\r\n if (dataSource && dataSource.isLoading() && args.name === args.fullName) {\r\n this._useSortingGroupingFromColumns = true;\r\n dataSource.load()\r\n }\r\n break;\r\n default:\r\n super.optionChanged(args)\r\n }\r\n }\r\n isReady() {\r\n return !this._isLoading\r\n }\r\n getDataSource() {\r\n return this._dataSource && this._dataSource._dataSource\r\n }\r\n getCombinedFilter(returnDataField) {\r\n return this.combinedFilter(void 0, returnDataField)\r\n }\r\n combinedFilter(filter, returnDataField) {\r\n if (!this._dataSource) {\r\n return filter\r\n }\r\n var combinedFilter = null !== filter && void 0 !== filter ? filter : this._dataSource.filter();\r\n var isColumnsTypesDefined = this._columnsController.isDataSourceApplied() || this._columnsController.isAllDataTypesDefined();\r\n if (isColumnsTypesDefined) {\r\n var additionalFilter = this._calculateAdditionalFilter();\r\n combinedFilter = additionalFilter ? gridCoreUtils.combineFilters([additionalFilter, combinedFilter]) : combinedFilter\r\n }\r\n var isRemoteFiltering = this._dataSource.remoteOperations().filtering || returnDataField;\r\n combinedFilter = this._columnsController.updateFilter(combinedFilter, isRemoteFiltering);\r\n return combinedFilter\r\n }\r\n waitReady() {\r\n if (this._updateLockCount) {\r\n this._readyDeferred = new Deferred;\r\n return this._readyDeferred\r\n }\r\n return when()\r\n }\r\n _endUpdateCore() {\r\n var changes = this._changes;\r\n if (changes.length) {\r\n this._changes = [];\r\n var repaintChangesOnly = changes.every(change => change.repaintChangesOnly);\r\n this.updateItems(1 === changes.length ? changes[0] : {\r\n repaintChangesOnly: repaintChangesOnly\r\n })\r\n }\r\n if (this._readyDeferred) {\r\n this._readyDeferred.resolve();\r\n this._readyDeferred = null\r\n }\r\n }\r\n _handleCustomizeStoreLoadOptions(e) {\r\n var _a;\r\n var columnsController = this._columnsController;\r\n var dataSource = this._dataSource;\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = e;\r\n if (e.isCustomLoading && !storeLoadOptions.isLoadingAll) {\r\n return\r\n }\r\n storeLoadOptions.filter = this.combinedFilter(storeLoadOptions.filter);\r\n if (1 === (null === (_a = storeLoadOptions.filter) || void 0 === _a ? void 0 : _a.length) && \"!\" === storeLoadOptions.filter[0]) {\r\n e.data = [];\r\n e.extra = e.extra || {};\r\n e.extra.totalCount = 0\r\n }\r\n if (!columnsController.isDataSourceApplied()) {\r\n columnsController.updateColumnDataTypes(dataSource)\r\n }\r\n this._columnsUpdating = true;\r\n columnsController.updateSortingGrouping(dataSource, !this._useSortingGroupingFromColumns);\r\n this._columnsUpdating = false;\r\n storeLoadOptions.sort = columnsController.getSortDataSourceParameters();\r\n storeLoadOptions.group = columnsController.getGroupDataSourceParameters();\r\n dataSource.sort(storeLoadOptions.sort);\r\n dataSource.group(storeLoadOptions.group);\r\n storeLoadOptions.sort = columnsController.getSortDataSourceParameters(!dataSource.remoteOperations().sorting);\r\n e.group = columnsController.getGroupDataSourceParameters(!dataSource.remoteOperations().grouping)\r\n }\r\n _handleColumnsChanged(e) {\r\n var that = this;\r\n var {\r\n changeTypes: changeTypes\r\n } = e;\r\n var {\r\n optionNames: optionNames\r\n } = e;\r\n var filterValue;\r\n var filterValues;\r\n var filterApplied;\r\n if (changeTypes.sorting || changeTypes.grouping) {\r\n if (that._dataSource && !that._columnsUpdating) {\r\n that._dataSource.group(that._columnsController.getGroupDataSourceParameters());\r\n that._dataSource.sort(that._columnsController.getSortDataSourceParameters());\r\n that.reload()\r\n }\r\n } else if (changeTypes.columns) {\r\n filterValues = that._columnsController.columnOption(e.columnIndex, \"filterValues\");\r\n if (optionNames.filterValues || optionNames.filterType && Array.isArray(filterValues) || optionNames.filterValue || optionNames.selectedFilterOperation || optionNames.allowFiltering) {\r\n filterValue = that._columnsController.columnOption(e.columnIndex, \"filterValue\");\r\n if (Array.isArray(filterValues) || void 0 === e.columnIndex || isDefined(filterValue) || !optionNames.selectedFilterOperation || optionNames.filterValue) {\r\n that._applyFilter();\r\n filterApplied = true\r\n }\r\n }\r\n if (!that._needApplyFilter && !gridCoreUtils.checkChanges(optionNames, [\"width\", \"visibleWidth\", \"filterValue\", \"bufferedFilterValue\", \"selectedFilterOperation\", \"filterValues\", \"filterType\"])) {\r\n that._columnsController.columnsChanged.add((function updateItemsHandler(change) {\r\n var _a;\r\n that._columnsController.columnsChanged.remove(updateItemsHandler);\r\n that.updateItems({\r\n repaintChangesOnly: false,\r\n virtualColumnsScrolling: null === (_a = null === change || void 0 === change ? void 0 : change.changeTypes) || void 0 === _a ? void 0 : _a.virtualColumnsScrolling\r\n })\r\n }))\r\n }\r\n if (isDefined(optionNames.visible)) {\r\n var column = that._columnsController.columnOption(e.columnIndex);\r\n if (column && (isDefined(column.filterValue) || isDefined(column.filterValues))) {\r\n that._applyFilter();\r\n filterApplied = true\r\n }\r\n }\r\n }\r\n if (!filterApplied && changeTypes.filtering && !this._needApplyFilter) {\r\n that.reload()\r\n }\r\n }\r\n _handleDataChanged(e) {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var columnsController = that._columnsController;\r\n var isAsyncDataSourceApplying = false;\r\n this._useSortingGroupingFromColumns = false;\r\n if (dataSource && !that._isDataSourceApplying) {\r\n that._isDataSourceApplying = true;\r\n when(that._columnsController.applyDataSource(dataSource)).done(() => {\r\n if (that._isLoading) {\r\n that._handleLoadingChanged(false)\r\n }\r\n if (isAsyncDataSourceApplying && e && e.isDelayed) {\r\n e.isDelayed = false\r\n }\r\n that._isDataSourceApplying = false;\r\n var needApplyFilter = that._needApplyFilter;\r\n that._needApplyFilter = false;\r\n if (needApplyFilter && !that._isAllDataTypesDefined && (additionalFilter = that._calculateAdditionalFilter(), additionalFilter && additionalFilter.length)) {\r\n errors.log(\"W1005\", that.component.NAME);\r\n that._applyFilter()\r\n } else {\r\n that.updateItems(e, true)\r\n }\r\n var additionalFilter\r\n }).fail(() => {\r\n that._isDataSourceApplying = false\r\n });\r\n if (that._isDataSourceApplying) {\r\n isAsyncDataSourceApplying = true;\r\n that._handleLoadingChanged(true)\r\n }\r\n that._needApplyFilter = !that._columnsController.isDataSourceApplied();\r\n that._isAllDataTypesDefined = columnsController.isAllDataTypesDefined()\r\n }\r\n }\r\n _handleLoadingChanged(isLoading) {\r\n this._isLoading = isLoading;\r\n this._fireLoadingChanged()\r\n }\r\n _handleLoadError(e) {\r\n this.dataErrorOccurred.fire(e)\r\n }\r\n _handleDataPushed(changes) {\r\n this.pushed.fire(changes)\r\n }\r\n fireError() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n this.dataErrorOccurred.fire(errors.Error.apply(errors, args))\r\n }\r\n _setPagingOptions(dataSource) {\r\n var pageIndex = this.option(\"paging.pageIndex\");\r\n var pageSize = this.option(\"paging.pageSize\");\r\n var pagingEnabled = this.option(\"paging.enabled\");\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n var appendMode = \"infinite\" === scrollingMode;\r\n var virtualMode = \"virtual\" === scrollingMode;\r\n var paginate = pagingEnabled || virtualMode || appendMode;\r\n var isPaginateChanged = false;\r\n var isPageSizeChanged = false;\r\n var isPageIndexChanged = false;\r\n dataSource.requireTotalCount(!appendMode);\r\n if (void 0 !== pagingEnabled && dataSource.paginate() !== paginate) {\r\n dataSource.paginate(paginate);\r\n isPaginateChanged = true\r\n }\r\n if (void 0 !== pageSize && dataSource.pageSize() !== pageSize) {\r\n dataSource.pageSize(pageSize);\r\n isPageSizeChanged = true\r\n }\r\n if (void 0 !== pageIndex && dataSource.pageIndex() !== pageIndex) {\r\n dataSource.pageIndex(pageIndex);\r\n isPageIndexChanged = true\r\n }\r\n if (isPaginateChanged || isPageSizeChanged || isPageIndexChanged) {\r\n return {\r\n isPaginateChanged: isPaginateChanged,\r\n isPageSizeChanged: isPageSizeChanged,\r\n isPageIndexChanged: isPageIndexChanged\r\n }\r\n }\r\n return false\r\n }\r\n _getSpecificDataSourceOption() {\r\n var dataSource = this.option(\"dataSource\");\r\n if (Array.isArray(dataSource)) {\r\n return {\r\n store: {\r\n type: \"array\",\r\n data: dataSource,\r\n key: this.option(\"keyExpr\")\r\n }\r\n }\r\n }\r\n return dataSource\r\n }\r\n _initDataSource() {\r\n var oldDataSource = this._dataSource;\r\n super._initDataSource();\r\n var dataSource = this._dataSource;\r\n this._useSortingGroupingFromColumns = true;\r\n this._cachedProcessedItems = null;\r\n if (dataSource) {\r\n var changedPagingOptions = this._setPagingOptions(dataSource);\r\n this._isPaging = null === changedPagingOptions || void 0 === changedPagingOptions ? void 0 : changedPagingOptions.isPageIndexChanged;\r\n this.setDataSource(dataSource)\r\n } else if (oldDataSource) {\r\n this.updateItems()\r\n }\r\n }\r\n _loadDataSource() {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var result = new Deferred;\r\n when(this._columnsController.refresh(true)).always(() => {\r\n if (dataSource) {\r\n dataSource.load().done((function() {\r\n that._isPaging = false;\r\n result.resolve.apply(result, arguments)\r\n })).fail(result.reject)\r\n } else {\r\n result.resolve()\r\n }\r\n });\r\n return result.promise()\r\n }\r\n _beforeProcessItems(items) {\r\n return items.slice(0)\r\n }\r\n getRowIndexDelta() {\r\n return 0\r\n }\r\n getDataIndex(change) {\r\n var visibleItems = this._items;\r\n var lastVisibleItem = \"append\" === change.changeType && visibleItems.length > 0 ? visibleItems[visibleItems.length - 1] : null;\r\n return isDefined(null === lastVisibleItem || void 0 === lastVisibleItem ? void 0 : lastVisibleItem.dataIndex) ? lastVisibleItem.dataIndex + 1 : 0\r\n }\r\n _processItems(items, change) {\r\n var that = this;\r\n var rowIndexDelta = that.getRowIndexDelta();\r\n var {\r\n changeType: changeType\r\n } = change;\r\n var visibleColumns = that._columnsController.getVisibleColumns(null, \"loadingAll\" === changeType);\r\n var dataIndex = this.getDataIndex(change);\r\n var options = {\r\n visibleColumns: visibleColumns,\r\n dataIndex: dataIndex\r\n };\r\n var result = [];\r\n each(items, (index, item) => {\r\n if (isDefined(item)) {\r\n options.rowIndex = index - rowIndexDelta;\r\n item = that._processItem(item, options);\r\n result.push(item)\r\n }\r\n });\r\n return result\r\n }\r\n _processItem(item, options) {\r\n item = this._generateDataItem(item, options);\r\n item = this._processDataItem(item, options);\r\n item.dataIndex = options.dataIndex++;\r\n return item\r\n }\r\n _generateDataItem(data, options) {\r\n return {\r\n rowType: \"data\",\r\n data: data,\r\n key: this.keyOf(data)\r\n }\r\n }\r\n _processDataItem(dataItem, options) {\r\n dataItem.values = this.generateDataValues(dataItem.data, options.visibleColumns);\r\n return dataItem\r\n }\r\n generateDataValues(data, columns, isModified) {\r\n var values = [];\r\n var value;\r\n for (var i = 0; i < columns.length; i++) {\r\n var column = columns[i];\r\n value = isModified ? void 0 : null;\r\n if (!column.command) {\r\n if (column.calculateCellValue) {\r\n value = column.calculateCellValue(data)\r\n } else if (column.dataField) {\r\n value = data[column.dataField]\r\n }\r\n }\r\n values.push(value)\r\n }\r\n return values\r\n }\r\n _applyChange(change) {\r\n if (\"update\" === change.changeType) {\r\n this._applyChangeUpdate(change)\r\n } else if (this.items().length && change.repaintChangesOnly && \"refresh\" === change.changeType) {\r\n this._applyChangesOnly(change)\r\n } else if (\"refresh\" === change.changeType) {\r\n this._applyChangeFull(change)\r\n }\r\n }\r\n _applyChangeFull(change) {\r\n this._items = change.items.slice(0)\r\n }\r\n _getRowIndices(change) {\r\n var rowIndices = change.rowIndices.slice(0);\r\n var rowIndexDelta = this.getRowIndexDelta();\r\n rowIndices.sort((a, b) => a - b);\r\n for (var i = 0; i < rowIndices.length; i++) {\r\n var correctedRowIndex = rowIndices[i];\r\n if (change.allowInvisibleRowIndices) {\r\n correctedRowIndex += rowIndexDelta\r\n }\r\n if (correctedRowIndex < 0) {\r\n rowIndices.splice(i, 1);\r\n i--\r\n }\r\n }\r\n return rowIndices\r\n }\r\n _applyChangeUpdate(change) {\r\n var that = this;\r\n var {\r\n items: items\r\n } = change;\r\n var rowIndices = that._getRowIndices(change);\r\n var rowIndexDelta = that.getRowIndexDelta();\r\n var repaintChangesOnly = that.option(\"repaintChangesOnly\");\r\n var prevIndex = -1;\r\n var rowIndexCorrection = 0;\r\n var changeType;\r\n change.items = [];\r\n change.rowIndices = [];\r\n change.columnIndices = [];\r\n change.changeTypes = [];\r\n var equalItems = function(item1, item2, strict) {\r\n var result = item1 && item2 && equalByValue(item1.key, item2.key);\r\n if (result && strict) {\r\n result = item1.rowType === item2.rowType && (\"detail\" !== item2.rowType || item1.isEditing === item2.isEditing)\r\n }\r\n return result\r\n };\r\n each(rowIndices, (index, rowIndex) => {\r\n var columnIndices;\r\n rowIndex += rowIndexCorrection + rowIndexDelta;\r\n if (prevIndex === rowIndex) {\r\n return\r\n }\r\n prevIndex = rowIndex;\r\n var oldItem = that._items[rowIndex];\r\n var oldNextItem = that._items[rowIndex + 1];\r\n var newItem = items[rowIndex];\r\n var newNextItem = items[rowIndex + 1];\r\n var strict = equalItems(oldItem, oldNextItem) || equalItems(newItem, newNextItem);\r\n if (newItem) {\r\n newItem.rowIndex = rowIndex;\r\n change.items.push(newItem)\r\n }\r\n if (oldItem && newItem && equalItems(oldItem, newItem, strict)) {\r\n changeType = \"update\";\r\n that._items[rowIndex] = newItem;\r\n if (oldItem.visible !== newItem.visible) {\r\n change.items.splice(-1, 1, {\r\n visible: newItem.visible\r\n })\r\n } else if (repaintChangesOnly && !change.isFullUpdate) {\r\n columnIndices = that._partialUpdateRow(oldItem, newItem, rowIndex - rowIndexDelta)\r\n }\r\n } else if (newItem && !oldItem || newNextItem && equalItems(oldItem, newNextItem, strict)) {\r\n changeType = \"insert\";\r\n that._items.splice(rowIndex, 0, newItem);\r\n rowIndexCorrection++\r\n } else if (oldItem && !newItem || oldNextItem && equalItems(newItem, oldNextItem, strict)) {\r\n changeType = \"remove\";\r\n that._items.splice(rowIndex, 1);\r\n rowIndexCorrection--;\r\n prevIndex = -1\r\n } else if (newItem) {\r\n changeType = \"update\";\r\n that._items[rowIndex] = newItem\r\n } else {\r\n return\r\n }\r\n change.rowIndices.push(rowIndex - rowIndexDelta);\r\n change.changeTypes.push(changeType);\r\n change.columnIndices.push(columnIndices)\r\n })\r\n }\r\n _isCellChanged(oldRow, newRow, visibleRowIndex, columnIndex, isLiveUpdate) {\r\n if (JSON.stringify(oldRow.values[columnIndex]) !== JSON.stringify(newRow.values[columnIndex])) {\r\n return true\r\n }\r\n\r\n function isCellModified(row, columnIndex) {\r\n return row.modifiedValues ? void 0 !== row.modifiedValues[columnIndex] : false\r\n }\r\n if (isCellModified(oldRow, columnIndex) !== isCellModified(newRow, columnIndex)) {\r\n return true\r\n }\r\n return false\r\n }\r\n _getChangedColumnIndices(oldItem, newItem, visibleRowIndex, isLiveUpdate) {\r\n var columnIndices;\r\n if (oldItem.rowType === newItem.rowType) {\r\n if (\"group\" !== newItem.rowType && \"groupFooter\" !== newItem.rowType) {\r\n columnIndices = [];\r\n if (\"detail\" !== newItem.rowType) {\r\n for (var columnIndex = 0; columnIndex < oldItem.values.length; columnIndex++) {\r\n if (this._isCellChanged(oldItem, newItem, visibleRowIndex, columnIndex, isLiveUpdate)) {\r\n columnIndices.push(columnIndex)\r\n }\r\n }\r\n }\r\n }\r\n if (\"group\" === newItem.rowType && oldItem.cells) {\r\n var isRowStateEquals = newItem.isExpanded === oldItem.isExpanded && newItem.data.isContinuation === oldItem.data.isContinuation && newItem.data.isContinuationOnNextPage === oldItem.data.isContinuationOnNextPage;\r\n if (isRowStateEquals) {\r\n columnIndices = oldItem.cells.map((cell, index) => {\r\n var _a;\r\n return \"groupExpand\" !== (null === (_a = cell.column) || void 0 === _a ? void 0 : _a.type) ? index : -1\r\n }).filter(index => index >= 0)\r\n }\r\n }\r\n }\r\n return columnIndices\r\n }\r\n _partialUpdateRow(oldItem, newItem, visibleRowIndex, isLiveUpdate) {\r\n var changedColumnIndices = this._getChangedColumnIndices(oldItem, newItem, visibleRowIndex, isLiveUpdate);\r\n if ((null === changedColumnIndices || void 0 === changedColumnIndices ? void 0 : changedColumnIndices.length) && this.option(\"dataRowTemplate\")) {\r\n changedColumnIndices = void 0\r\n }\r\n if (changedColumnIndices) {\r\n oldItem.cells && oldItem.cells.forEach((cell, columnIndex) => {\r\n var isCellChanged = changedColumnIndices.indexOf(columnIndex) >= 0;\r\n if (!isCellChanged && cell && cell.update) {\r\n cell.update(newItem)\r\n }\r\n });\r\n newItem.update = oldItem.update;\r\n newItem.watch = oldItem.watch;\r\n newItem.cells = oldItem.cells;\r\n if (isLiveUpdate) {\r\n newItem.oldValues = oldItem.values\r\n }\r\n oldItem.update && oldItem.update(newItem)\r\n }\r\n return changedColumnIndices\r\n }\r\n _isItemEquals(item1, item2) {\r\n var _a, _b, _c, _d;\r\n if (JSON.stringify(item1.values) !== JSON.stringify(item2.values)) {\r\n return false\r\n }\r\n if ([\"modified\", \"isNewRow\", \"removed\", \"isEditing\"].some(field => item1[field] !== item2[field])) {\r\n return false\r\n }\r\n if (\"group\" === item1.rowType || \"groupFooter\" === item1.rowType) {\r\n var expandedMatch = item1.isExpanded === item2.isExpanded;\r\n var summaryCellsMatch = JSON.stringify(item1.summaryCells) === JSON.stringify(item2.summaryCells);\r\n var continuationMatch = (null === (_a = item1.data) || void 0 === _a ? void 0 : _a.isContinuation) === (null === (_b = item2.data) || void 0 === _b ? void 0 : _b.isContinuation) && (null === (_c = item1.data) || void 0 === _c ? void 0 : _c.isContinuationOnNextPage) === (null === (_d = item2.data) || void 0 === _d ? void 0 : _d.isContinuationOnNextPage);\r\n if (!expandedMatch || !summaryCellsMatch || !continuationMatch) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n _applyChangesOnly(change) {\r\n var _a;\r\n var rowIndices = [];\r\n var columnIndices = [];\r\n var changeTypes = [];\r\n var items = [];\r\n var newIndexByKey = {};\r\n var isLiveUpdate = null !== (_a = null === change || void 0 === change ? void 0 : change.isLiveUpdate) && void 0 !== _a ? _a : true;\r\n\r\n function getRowKey(row) {\r\n if (row) {\r\n return \"\".concat(row.rowType, \",\").concat(JSON.stringify(row.key))\r\n }\r\n return\r\n }\r\n var currentItems = this._items;\r\n var oldItems = currentItems.slice();\r\n change.items.forEach((item, index) => {\r\n var key = getRowKey(item);\r\n newIndexByKey[key] = index;\r\n item.rowIndex = index\r\n });\r\n var result = findChanges(oldItems, change.items, getRowKey, (item1, item2) => {\r\n if (!this._isItemEquals(item1, item2)) {\r\n return false\r\n }\r\n if (item1.cells) {\r\n item1.update && item1.update(item2);\r\n item1.cells.forEach(cell => {\r\n if (cell && cell.update) {\r\n cell.update(item2, true)\r\n }\r\n })\r\n }\r\n return true\r\n });\r\n if (!result) {\r\n this._applyChangeFull(change);\r\n return\r\n }\r\n result.forEach(change => {\r\n switch (change.type) {\r\n case \"update\":\r\n var {\r\n index: index\r\n } = change;\r\n var newItem = change.data;\r\n var {\r\n oldItem: oldItem\r\n } = change;\r\n var changedColumnIndices = this._partialUpdateRow(oldItem, newItem, index, isLiveUpdate);\r\n rowIndices.push(index);\r\n changeTypes.push(\"update\");\r\n items.push(newItem);\r\n currentItems[index] = newItem;\r\n columnIndices.push(changedColumnIndices);\r\n break;\r\n case \"insert\":\r\n rowIndices.push(change.index);\r\n changeTypes.push(\"insert\");\r\n items.push(change.data);\r\n columnIndices.push(void 0);\r\n currentItems.splice(change.index, 0, change.data);\r\n break;\r\n case \"remove\":\r\n rowIndices.push(change.index);\r\n changeTypes.push(\"remove\");\r\n currentItems.splice(change.index, 1);\r\n items.push(change.oldItem);\r\n columnIndices.push(void 0)\r\n }\r\n });\r\n change.repaintChangesOnly = true;\r\n change.changeType = \"update\";\r\n change.rowIndices = rowIndices;\r\n change.columnIndices = columnIndices;\r\n change.changeTypes = changeTypes;\r\n change.items = items;\r\n if (oldItems.length) {\r\n change.isLiveUpdate = true\r\n }\r\n this._correctRowIndices(rowIndex => {\r\n var oldRowIndexOffset = this._rowIndexOffset || 0;\r\n var rowIndexOffset = this.getRowIndexOffset();\r\n var oldItem = oldItems[rowIndex - oldRowIndexOffset];\r\n var key = getRowKey(oldItem);\r\n var newVisibleRowIndex = newIndexByKey[key];\r\n return newVisibleRowIndex >= 0 ? newVisibleRowIndex + rowIndexOffset - rowIndex : 0\r\n })\r\n }\r\n _correctRowIndices(rowIndex) {}\r\n _afterProcessItems(items, change) {\r\n return items\r\n }\r\n _updateItemsCore(change) {\r\n var items;\r\n var dataSource = this._dataSource;\r\n var changeType = change.changeType || \"refresh\";\r\n change.changeType = changeType;\r\n if (dataSource) {\r\n var cachedProcessedItems = this._cachedProcessedItems;\r\n if (change.useProcessedItemsCache && cachedProcessedItems) {\r\n items = cachedProcessedItems\r\n } else {\r\n items = change.items || dataSource.items();\r\n items = this._beforeProcessItems(items);\r\n items = this._processItems(items, change);\r\n this._cachedProcessedItems = items\r\n }\r\n items = this._afterProcessItems(items, change);\r\n change.items = items;\r\n var oldItems = this._items.length === items.length && this._items;\r\n this._applyChange(change);\r\n var rowIndexDelta = this.getRowIndexDelta();\r\n each(this._items, (index, item) => {\r\n var _a;\r\n item.rowIndex = index - rowIndexDelta;\r\n if (oldItems) {\r\n item.cells = null !== (_a = oldItems[index].cells) && void 0 !== _a ? _a : []\r\n }\r\n var newItem = items[index];\r\n if (newItem) {\r\n item.loadIndex = newItem.loadIndex\r\n }\r\n });\r\n this._rowIndexOffset = this.getRowIndexOffset()\r\n } else {\r\n this._items = []\r\n }\r\n }\r\n _handleChanging(e) {\r\n var rows = this.getVisibleRows();\r\n var dataSource = this.dataSource();\r\n if (dataSource) {\r\n e.changes.forEach(change => {\r\n if (\"insert\" === change.type && change.index >= 0) {\r\n var dataIndex = 0;\r\n for (var i = 0; i < change.index; i++) {\r\n var row = rows[i];\r\n if (row && (\"data\" === row.rowType || \"group\" === row.rowType)) {\r\n dataIndex++\r\n }\r\n }\r\n change.index = dataIndex\r\n }\r\n })\r\n }\r\n }\r\n updateItems(change, isDataChanged) {\r\n var _a;\r\n change = change || {};\r\n if (void 0 !== this._repaintChangesOnly) {\r\n change.repaintChangesOnly = null !== (_a = change.repaintChangesOnly) && void 0 !== _a ? _a : this._repaintChangesOnly;\r\n change.needUpdateDimensions = change.needUpdateDimensions || this._needUpdateDimensions\r\n } else if (change.changes) {\r\n change.repaintChangesOnly = this.option(\"repaintChangesOnly\")\r\n } else if (isDataChanged) {\r\n var operationTypes = this.dataSource().operationTypes();\r\n change.repaintChangesOnly = operationTypes && !operationTypes.grouping && !operationTypes.filtering && this.option(\"repaintChangesOnly\");\r\n change.isDataChanged = true;\r\n if (operationTypes && (operationTypes.reload || operationTypes.paging || operationTypes.groupExpanding)) {\r\n change.needUpdateDimensions = true\r\n }\r\n }\r\n if (this._updateLockCount && !change.cancel) {\r\n this._changes.push(change);\r\n return\r\n }\r\n this._updateItemsCore(change);\r\n if (change.cancel) {\r\n return\r\n }\r\n this._fireChanged(change)\r\n }\r\n loadingOperationTypes() {\r\n var dataSource = this.dataSource();\r\n return dataSource && dataSource.loadingOperationTypes() || {}\r\n }\r\n _fireChanged(change) {\r\n if (this._currentOperationTypes) {\r\n change.operationTypes = this._currentOperationTypes;\r\n this._currentOperationTypes = null\r\n }\r\n deferRender(() => {\r\n this.changed.fire(change)\r\n })\r\n }\r\n isLoading() {\r\n return this._isLoading || this._isCustomLoading\r\n }\r\n _fireLoadingChanged() {\r\n this.loadingChanged.fire(this.isLoading(), this._loadingText)\r\n }\r\n _calculateAdditionalFilter() {\r\n return null\r\n }\r\n _applyFilter() {\r\n var dataSource = this._dataSource;\r\n if (dataSource) {\r\n dataSource.pageIndex(0);\r\n this._isFilterApplying = true;\r\n return this.reload().done(() => {\r\n if (this._isFilterApplying) {\r\n this.pageChanged.fire()\r\n }\r\n })\r\n }\r\n return (new Deferred).resolve()\r\n }\r\n resetFilterApplying() {\r\n this._isFilterApplying = false\r\n }\r\n filter(filterExpr) {\r\n var dataSource = this._dataSource;\r\n var filter = dataSource && dataSource.filter();\r\n if (0 === arguments.length) {\r\n return filter\r\n }\r\n filterExpr = arguments.length > 1 ? Array.prototype.slice.call(arguments, 0) : filterExpr;\r\n if (gridCoreUtils.equalFilterParameters(filter, filterExpr)) {\r\n return\r\n }\r\n if (dataSource) {\r\n dataSource.filter(filterExpr)\r\n }\r\n this._applyFilter()\r\n }\r\n clearFilter(filterName) {\r\n var columnsController = this._columnsController;\r\n var clearColumnOption = function(optionName) {\r\n var columnCount = columnsController.columnCount();\r\n for (var index = 0; index < columnCount; index++) {\r\n columnsController.columnOption(index, optionName, void 0)\r\n }\r\n };\r\n this.component.beginUpdate();\r\n if (arguments.length > 0) {\r\n switch (filterName) {\r\n case \"dataSource\":\r\n this.filter(null);\r\n break;\r\n case \"search\":\r\n this.searchByText(\"\");\r\n break;\r\n case \"header\":\r\n clearColumnOption(\"filterValues\");\r\n break;\r\n case \"row\":\r\n clearColumnOption(\"filterValue\")\r\n }\r\n } else {\r\n this.filter(null);\r\n this.searchByText(\"\");\r\n clearColumnOption(\"filterValue\");\r\n clearColumnOption(\"bufferedFilterValue\");\r\n clearColumnOption(\"filterValues\")\r\n }\r\n this.component.endUpdate()\r\n }\r\n _fireDataSourceChanged() {\r\n var that = this;\r\n that.changed.add((function changedHandler() {\r\n that.changed.remove(changedHandler);\r\n that.dataSourceChanged.fire()\r\n }))\r\n }\r\n _getDataSourceAdapter() {}\r\n _createDataSourceAdapterCore(dataSource, remoteOperations) {\r\n var dataSourceAdapterProvider = this._getDataSourceAdapter();\r\n var dataSourceAdapter = dataSourceAdapterProvider.create(this.component);\r\n dataSourceAdapter.init(dataSource, remoteOperations);\r\n return dataSourceAdapter\r\n }\r\n isLocalStore() {\r\n var store = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.store();\r\n return store instanceof ArrayStore\r\n }\r\n isCustomStore(store) {\r\n store = store || this.store();\r\n return store instanceof CustomStore\r\n }\r\n _createDataSourceAdapter(dataSource) {\r\n var remoteOperations = this.option(\"remoteOperations\");\r\n var store = dataSource.store();\r\n var enabledRemoteOperations = {\r\n filtering: true,\r\n sorting: true,\r\n paging: true,\r\n grouping: true,\r\n summary: true\r\n };\r\n if (isObject(remoteOperations) && remoteOperations.groupPaging) {\r\n remoteOperations = extend({}, enabledRemoteOperations, remoteOperations)\r\n }\r\n if (\"auto\" === remoteOperations) {\r\n remoteOperations = this.isLocalStore(store) || this.isCustomStore(store) ? {} : {\r\n filtering: true,\r\n sorting: true,\r\n paging: true\r\n }\r\n }\r\n if (true === remoteOperations) {\r\n remoteOperations = enabledRemoteOperations\r\n }\r\n return this._createDataSourceAdapterCore(dataSource, remoteOperations)\r\n }\r\n setDataSource(dataSource) {\r\n var oldDataSource = this._dataSource;\r\n if (!dataSource && oldDataSource) {\r\n oldDataSource.cancelAll();\r\n oldDataSource.changed.remove(this._dataChangedHandler);\r\n oldDataSource.loadingChanged.remove(this._loadingChangedHandler);\r\n oldDataSource.loadError.remove(this._loadErrorHandler);\r\n oldDataSource.customizeStoreLoadOptions.remove(this._customizeStoreLoadOptionsHandler);\r\n oldDataSource.changing.remove(this._changingHandler);\r\n oldDataSource.pushed.remove(this._dataPushedHandler);\r\n oldDataSource.dispose(this._isSharedDataSource)\r\n }\r\n if (dataSource) {\r\n dataSource = this._createDataSourceAdapter(dataSource)\r\n }\r\n this._dataSource = dataSource;\r\n if (dataSource) {\r\n this._fireDataSourceChanged();\r\n this._isLoading = !dataSource.isLoaded();\r\n this._needApplyFilter = true;\r\n this._isAllDataTypesDefined = this._columnsController.isAllDataTypesDefined();\r\n dataSource.changed.add(this._dataChangedHandler);\r\n dataSource.loadingChanged.add(this._loadingChangedHandler);\r\n dataSource.loadError.add(this._loadErrorHandler);\r\n dataSource.customizeStoreLoadOptions.add(this._customizeStoreLoadOptionsHandler);\r\n dataSource.changing.add(this._changingHandler);\r\n dataSource.pushed.add(this._dataPushedHandler)\r\n }\r\n }\r\n items(byLoaded) {\r\n return this._items\r\n }\r\n isEmpty() {\r\n return !this.items().length\r\n }\r\n pageCount() {\r\n return this._dataSource ? this._dataSource.pageCount() : 1\r\n }\r\n dataSource() {\r\n return this._dataSource\r\n }\r\n store() {\r\n var dataSource = this._dataSource;\r\n return dataSource && dataSource.store()\r\n }\r\n loadAll(data) {\r\n var skipFilter = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : false;\r\n var that = this;\r\n var d = new Deferred;\r\n var dataSource = that._dataSource;\r\n if (dataSource) {\r\n if (data) {\r\n var options = {\r\n data: data,\r\n isCustomLoading: true,\r\n storeLoadOptions: {\r\n isLoadingAll: true\r\n },\r\n loadOptions: {\r\n filter: skipFilter ? null : that.getCombinedFilter(),\r\n group: dataSource.group(),\r\n sort: dataSource.sort()\r\n }\r\n };\r\n dataSource._handleDataLoaded(options);\r\n when(options.data).done(data => {\r\n var _a;\r\n data = that._beforeProcessItems(data);\r\n d.resolve(that._processItems(data, {\r\n changeType: \"loadingAll\"\r\n }), null === (_a = options.extra) || void 0 === _a ? void 0 : _a.summary)\r\n }).fail(d.reject)\r\n } else if (!dataSource.isLoading()) {\r\n var loadOptions = extend({}, dataSource.loadOptions(), {\r\n isLoadingAll: true,\r\n requireTotalCount: false\r\n });\r\n dataSource.load(loadOptions).done((items, extra) => {\r\n items = that._beforeProcessItems(items);\r\n items = that._processItems(items, {\r\n changeType: \"loadingAll\"\r\n });\r\n d.resolve(items, extra && extra.summary)\r\n }).fail(d.reject)\r\n } else {\r\n d.reject()\r\n }\r\n } else {\r\n d.resolve([])\r\n }\r\n return d\r\n }\r\n getKeyByRowIndex(rowIndex, byLoaded) {\r\n var item = this.items(byLoaded)[rowIndex];\r\n if (item) {\r\n return item.key\r\n }\r\n }\r\n getRowIndexByKey(key, byLoaded) {\r\n return gridCoreUtils.getIndexByKey(key, this.items(byLoaded))\r\n }\r\n keyOf(data) {\r\n var store = this.store();\r\n if (store) {\r\n return store.keyOf(data)\r\n }\r\n }\r\n byKey(key) {\r\n var store = this.store();\r\n var rowIndex = this.getRowIndexByKey(key);\r\n var result;\r\n if (!store) {\r\n return\r\n }\r\n if (rowIndex >= 0) {\r\n result = (new Deferred).resolve(this.items()[rowIndex].data)\r\n }\r\n return result || store.byKey(key)\r\n }\r\n key() {\r\n var store = this.store();\r\n if (store) {\r\n return store.key()\r\n }\r\n }\r\n getRowIndexOffset(byLoadedRows) {\r\n return 0\r\n }\r\n getDataByKeys(rowKeys) {\r\n var that = this;\r\n var result = new Deferred;\r\n var deferreds = [];\r\n var data = [];\r\n each(rowKeys, (index, key) => {\r\n deferreds.push(that.byKey(key).done(keyData => {\r\n data[index] = keyData\r\n }))\r\n });\r\n when.apply($, deferreds).always(() => {\r\n result.resolve(data)\r\n });\r\n return result\r\n }\r\n pageIndex(value) {\r\n return changePaging(this, \"pageIndex\", value)\r\n }\r\n pageSize(value) {\r\n return changePaging(this, \"pageSize\", value)\r\n }\r\n beginCustomLoading(messageText) {\r\n this._isCustomLoading = true;\r\n this._loadingText = messageText || \"\";\r\n this._fireLoadingChanged()\r\n }\r\n endCustomLoading() {\r\n this._isCustomLoading = false;\r\n this._loadingText = void 0;\r\n this._fireLoadingChanged()\r\n }\r\n refresh(options) {\r\n if (true === options) {\r\n options = {\r\n reload: true,\r\n changesOnly: true\r\n }\r\n } else if (!options) {\r\n options = {\r\n lookup: true,\r\n selection: true,\r\n reload: true\r\n }\r\n }\r\n var that = this;\r\n var dataSource = that.getDataSource();\r\n var {\r\n changesOnly: changesOnly\r\n } = options;\r\n var d = new Deferred;\r\n var customizeLoadResult = function() {\r\n that._repaintChangesOnly = !!changesOnly\r\n };\r\n when(!options.lookup || that._columnsController.refresh()).always(() => {\r\n if (options.load || options.reload) {\r\n dataSource && dataSource.on(\"customizeLoadResult\", customizeLoadResult);\r\n when(that.reload(options.reload, changesOnly)).always(() => {\r\n dataSource && dataSource.off(\"customizeLoadResult\", customizeLoadResult);\r\n that._repaintChangesOnly = void 0\r\n }).done(d.resolve).fail(d.reject)\r\n } else {\r\n that.updateItems({\r\n repaintChangesOnly: options.changesOnly\r\n });\r\n d.resolve()\r\n }\r\n });\r\n return d.promise()\r\n }\r\n getVisibleRows() {\r\n return this.items()\r\n }\r\n _disposeDataSource() {\r\n this.setDataSource(null)\r\n }\r\n dispose() {\r\n this._disposeDataSource();\r\n super.dispose()\r\n }\r\n repaintRows(rowIndexes, changesOnly) {\r\n rowIndexes = Array.isArray(rowIndexes) ? rowIndexes : [rowIndexes];\r\n if (rowIndexes.length > 1 || isDefined(rowIndexes[0])) {\r\n this.updateItems({\r\n changeType: \"update\",\r\n rowIndices: rowIndexes,\r\n isFullUpdate: !changesOnly\r\n })\r\n }\r\n }\r\n skipProcessingPagingChange(fullName) {\r\n return this._skipProcessingPagingChange && (\"paging.pageIndex\" === fullName || \"paging.pageSize\" === fullName)\r\n }\r\n getUserState() {\r\n return {\r\n searchText: this.option(\"searchPanel.text\"),\r\n pageIndex: this.pageIndex(),\r\n pageSize: this.pageSize()\r\n }\r\n }\r\n getCachedStoreData() {\r\n return this._dataSource && this._dataSource.getCachedStoreData()\r\n }\r\n isLastPageLoaded() {\r\n var pageIndex = this.pageIndex();\r\n var pageCount = this.pageCount();\r\n return pageIndex === pageCount - 1\r\n }\r\n load() {\r\n var _a;\r\n return null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.load()\r\n }\r\n reload(reload, changesOnly) {\r\n var _a;\r\n return null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.reload(reload, changesOnly)\r\n }\r\n push() {\r\n var _a;\r\n return null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.push(...arguments)\r\n }\r\n itemsCount() {\r\n var _a;\r\n return this._dataSource ? null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.itemsCount() : 0\r\n }\r\n totalItemsCount() {\r\n var _a;\r\n return this._dataSource ? null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.totalItemsCount() : 0\r\n }\r\n hasKnownLastPage() {\r\n var _a;\r\n return this._dataSource ? null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.hasKnownLastPage() : true\r\n }\r\n isLoaded() {\r\n var _a;\r\n return this._dataSource ? null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.isLoaded() : true\r\n }\r\n totalCount() {\r\n var _a;\r\n return this._dataSource ? null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.totalCount() : 0\r\n }\r\n}\r\nexport var dataControllerModule = {\r\n defaultOptions: () => ({\r\n loadingTimeout: 0,\r\n dataSource: null,\r\n cacheEnabled: true,\r\n repaintChangesOnly: false,\r\n highlightChanges: false,\r\n onDataErrorOccurred: null,\r\n remoteOperations: \"auto\",\r\n paging: {\r\n enabled: true,\r\n pageSize: void 0,\r\n pageIndex: void 0\r\n }\r\n }),\r\n controllers: {\r\n data: DataController\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/data_source_adapter/m_data_source_adapter.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport Callbacks from \"../../../../core/utils/callbacks\";\r\nimport {\r\n executeAsync,\r\n getKeyHash\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isPlainObject\r\n} from \"../../../../core/utils/type\";\r\nimport ArrayStore from \"../../../../data/array_store\";\r\nimport {\r\n applyBatch\r\n} from \"../../../../data/array_utils\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nexport default modules.Controller.inherit(function() {\r\n function cloneItems(items, groupCount) {\r\n if (items) {\r\n items = items.slice(0);\r\n if (groupCount) {\r\n for (var i = 0; i < items.length; i++) {\r\n items[i] = extend({\r\n key: items[i].key\r\n }, items[i]);\r\n items[i].items = cloneItems(items[i].items, groupCount - 1)\r\n }\r\n }\r\n }\r\n return items\r\n }\r\n\r\n function calculateOperationTypes(loadOptions, lastLoadOptions, isFullReload) {\r\n var operationTypes = {\r\n reload: true,\r\n fullReload: true\r\n };\r\n if (lastLoadOptions) {\r\n operationTypes = {\r\n sorting: !gridCoreUtils.equalSortParameters(loadOptions.sort, lastLoadOptions.sort),\r\n grouping: !gridCoreUtils.equalSortParameters(loadOptions.group, lastLoadOptions.group, true),\r\n groupExpanding: !gridCoreUtils.equalSortParameters(loadOptions.group, lastLoadOptions.group) || lastLoadOptions.groupExpand,\r\n filtering: !gridCoreUtils.equalFilterParameters(loadOptions.filter, lastLoadOptions.filter),\r\n pageIndex: loadOptions.pageIndex !== lastLoadOptions.pageIndex,\r\n skip: loadOptions.skip !== lastLoadOptions.skip,\r\n take: loadOptions.take !== lastLoadOptions.take,\r\n pageSize: loadOptions.pageSize !== lastLoadOptions.pageSize,\r\n fullReload: isFullReload,\r\n reload: false,\r\n paging: false\r\n };\r\n operationTypes.reload = isFullReload || operationTypes.sorting || operationTypes.grouping || operationTypes.filtering;\r\n operationTypes.paging = operationTypes.pageIndex || operationTypes.pageSize || operationTypes.take\r\n }\r\n return operationTypes\r\n }\r\n\r\n function getPageDataFromCache(options, updatePaging) {\r\n var groupCount = gridCoreUtils.normalizeSortingInfo(options.group || options.storeLoadOptions.group || options.loadOptions.group).length;\r\n var items = [];\r\n if (fillItemsFromCache(items, options, groupCount)) {\r\n return items\r\n }\r\n if (updatePaging) {\r\n ! function(cacheItemsFromBegin, options, groupCount) {\r\n var _a, _b;\r\n var cacheItemBeginCount = cacheItemsFromBegin.length;\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n if (void 0 !== storeLoadOptions.skip && storeLoadOptions.take && !groupCount) {\r\n var cacheItemsFromEnd = [];\r\n fillItemsFromCache(cacheItemsFromEnd, options, groupCount, true);\r\n var cacheItemEndCount = cacheItemsFromEnd.length;\r\n if (cacheItemBeginCount || cacheItemEndCount) {\r\n options.skip = null !== (_a = options.skip) && void 0 !== _a ? _a : storeLoadOptions.skip;\r\n options.take = null !== (_b = options.take) && void 0 !== _b ? _b : storeLoadOptions.take\r\n }\r\n if (cacheItemBeginCount) {\r\n storeLoadOptions.skip += cacheItemBeginCount;\r\n storeLoadOptions.take -= cacheItemBeginCount;\r\n options.cachedDataPartBegin = cacheItemsFromBegin\r\n }\r\n if (cacheItemEndCount) {\r\n storeLoadOptions.take -= cacheItemEndCount;\r\n options.cachedDataPartEnd = cacheItemsFromEnd.reverse()\r\n }\r\n }\r\n }(items, options, groupCount)\r\n }\r\n }\r\n\r\n function fillItemsFromCache(items, options, groupCount, fromEnd) {\r\n var _a, _b, _c, _d, _e;\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n var take = null !== (_b = null !== (_a = options.take) && void 0 !== _a ? _a : storeLoadOptions.take) && void 0 !== _b ? _b : 0;\r\n var cachedItems = null === (_c = options.cachedData) || void 0 === _c ? void 0 : _c.items;\r\n if (take && cachedItems) {\r\n var skip = null !== (_e = null !== (_d = options.skip) && void 0 !== _d ? _d : storeLoadOptions.skip) && void 0 !== _e ? _e : 0;\r\n for (var i = 0; i < take; i++) {\r\n var localIndex = fromEnd ? take - 1 - i : i;\r\n var cacheItemIndex = localIndex + skip;\r\n var cacheItem = cachedItems[cacheItemIndex];\r\n if (void 0 === cacheItem && cacheItemIndex in cachedItems) {\r\n return true\r\n }\r\n var item = getItemFromCache(options, cacheItem, groupCount, localIndex, take);\r\n if (item) {\r\n items.push(item)\r\n } else {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n function getItemFromCache(options, cacheItem, groupCount, index, take) {\r\n if (groupCount && cacheItem) {\r\n var skips = 0 === index && options.skips || [];\r\n var takes = index === take - 1 && options.takes || [];\r\n return function getGroupItemFromCache(cacheItem, groupCount, skips, takes) {\r\n if (groupCount && cacheItem) {\r\n var result = _extends({}, cacheItem);\r\n var skip = skips[0] || 0;\r\n var take = takes[0];\r\n var {\r\n items: items\r\n } = cacheItem;\r\n if (items) {\r\n if (void 0 === take && !items[skip]) {\r\n return\r\n }\r\n result.items = [];\r\n if (skips.length) {\r\n result.isContinuation = true\r\n }\r\n if (take) {\r\n result.isContinuationOnNextPage = cacheItem.count > take\r\n }\r\n for (var i = 0; void 0 === take ? items[i + skip] : i < take; i++) {\r\n var childCacheItem = items[i + skip];\r\n var isLast = i + 1 === take;\r\n var item = getGroupItemFromCache(childCacheItem, groupCount - 1, 0 === i ? skips.slice(1) : [], isLast ? takes.slice(1) : []);\r\n if (void 0 !== item) {\r\n result.items.push(item)\r\n } else {\r\n return\r\n }\r\n }\r\n }\r\n return result\r\n }\r\n return cacheItem\r\n }(cacheItem, groupCount, skips, takes)\r\n }\r\n return cacheItem\r\n }\r\n\r\n function getCacheItem(cacheItem, loadedItem, groupCount, skips) {\r\n if (groupCount && loadedItem) {\r\n var result = _extends({}, loadedItem);\r\n delete result.isContinuation;\r\n delete result.isContinuationOnNextPage;\r\n var skip = skips[0] || 0;\r\n if (loadedItem.items) {\r\n result.items = (null === cacheItem || void 0 === cacheItem ? void 0 : cacheItem.items) || {};\r\n loadedItem.items.forEach((item, index) => {\r\n var globalIndex = index + skip;\r\n var childSkips = 0 === index ? skips.slice(1) : [];\r\n result.items[globalIndex] = getCacheItem(result.items[globalIndex], item, groupCount - 1, childSkips)\r\n })\r\n }\r\n return result\r\n }\r\n return loadedItem\r\n }\r\n var members = {\r\n init(dataSource, remoteOperations) {\r\n var that = this;\r\n that._dataSource = dataSource;\r\n that._remoteOperations = remoteOperations || {};\r\n that._isLastPage = !dataSource.isLastPage();\r\n that._hasLastPage = false;\r\n that._currentTotalCount = 0;\r\n that._cachedData = {\r\n items: {}\r\n };\r\n that._lastOperationTypes = {};\r\n that._eventsStrategy = dataSource._eventsStrategy;\r\n that._totalCountCorrection = 0;\r\n that._isLoadingAll = false;\r\n that.changed = Callbacks();\r\n that.loadingChanged = Callbacks();\r\n that.loadError = Callbacks();\r\n that.customizeStoreLoadOptions = Callbacks();\r\n that.changing = Callbacks();\r\n that.pushed = Callbacks();\r\n that._dataChangedHandler = that._handleDataChanged.bind(that);\r\n that._customizeStoreLoadOptionsHandler = that._handleCustomizeStoreLoadOptions.bind(that);\r\n that._dataLoadedHandler = that._handleDataLoaded.bind(that);\r\n that._loadingChangedHandler = that._handleLoadingChanged.bind(that);\r\n that._loadErrorHandler = that._handleLoadError.bind(that);\r\n that._pushHandler = that._handlePush.bind(that);\r\n that._changingHandler = that._handleChanging.bind(that);\r\n dataSource.on(\"changed\", that._dataChangedHandler);\r\n dataSource.on(\"customizeStoreLoadOptions\", that._customizeStoreLoadOptionsHandler);\r\n dataSource.on(\"customizeLoadResult\", that._dataLoadedHandler);\r\n dataSource.on(\"loadingChanged\", that._loadingChangedHandler);\r\n dataSource.on(\"loadError\", that._loadErrorHandler);\r\n dataSource.on(\"changing\", that._changingHandler);\r\n dataSource.store().on(\"beforePush\", that._pushHandler);\r\n each(dataSource, (memberName, member) => {\r\n if (!that[memberName] && isFunction(member)) {\r\n that[memberName] = function() {\r\n return this._dataSource[memberName].apply(this._dataSource, arguments)\r\n }\r\n }\r\n })\r\n },\r\n remoteOperations() {\r\n return this._remoteOperations\r\n },\r\n dispose(isSharedDataSource) {\r\n var dataSource = this._dataSource;\r\n var store = dataSource.store();\r\n dataSource.off(\"changed\", this._dataChangedHandler);\r\n dataSource.off(\"customizeStoreLoadOptions\", this._customizeStoreLoadOptionsHandler);\r\n dataSource.off(\"customizeLoadResult\", this._dataLoadedHandler);\r\n dataSource.off(\"loadingChanged\", this._loadingChangedHandler);\r\n dataSource.off(\"loadError\", this._loadErrorHandler);\r\n dataSource.off(\"changing\", this._changingHandler);\r\n store && store.off(\"beforePush\", this._pushHandler);\r\n if (!isSharedDataSource) {\r\n dataSource.dispose()\r\n }\r\n },\r\n refresh(options, operationTypes) {\r\n var dataSource = this._dataSource;\r\n if (operationTypes.reload) {\r\n this.resetCurrentTotalCount();\r\n this._isLastPage = !dataSource.paginate();\r\n this._hasLastPage = this._isLastPage\r\n }\r\n },\r\n resetCurrentTotalCount() {\r\n this._currentTotalCount = 0;\r\n this._totalCountCorrection = 0\r\n },\r\n resetCache() {\r\n this._cachedStoreData = void 0;\r\n this._cachedPagingData = void 0\r\n },\r\n resetPagesCache() {\r\n this._cachedData = {\r\n items: {}\r\n }\r\n },\r\n _needClearStoreDataCache() {\r\n var remoteOperations = this.remoteOperations();\r\n var operationTypes = calculateOperationTypes(this._lastLoadOptions || {}, {});\r\n var isLocalOperations = Object.keys(remoteOperations).every(operationName => !operationTypes[operationName] || !remoteOperations[operationName]);\r\n return !isLocalOperations\r\n },\r\n push(changes, fromStore) {\r\n var store = this.store();\r\n if (this._needClearStoreDataCache()) {\r\n this._cachedStoreData = void 0\r\n }\r\n this._cachedPagingData = void 0;\r\n this.resetPagesCache(true);\r\n if (this._cachedStoreData) {\r\n applyBatch({\r\n keyInfo: store,\r\n data: this._cachedStoreData,\r\n changes: changes\r\n })\r\n }\r\n if (!fromStore) {\r\n this._applyBatch(changes)\r\n }\r\n this.pushed.fire(changes)\r\n },\r\n getDataIndexGetter() {\r\n if (!this._dataIndexGetter) {\r\n var indexByKey;\r\n var storeData;\r\n var store = this.store();\r\n this._dataIndexGetter = data => {\r\n var isCacheUpdated = storeData && storeData !== this._cachedStoreData;\r\n if (!indexByKey || isCacheUpdated) {\r\n storeData = this._cachedStoreData || [];\r\n indexByKey = {};\r\n for (var i = 0; i < storeData.length; i++) {\r\n indexByKey[getKeyHash(store.keyOf(storeData[i]))] = i\r\n }\r\n }\r\n return indexByKey[getKeyHash(store.keyOf(data))]\r\n }\r\n }\r\n return this._dataIndexGetter\r\n },\r\n _getKeyInfo() {\r\n return this.store()\r\n },\r\n _needToCopyDataObject: () => true,\r\n _applyBatch(changes, fromStore) {\r\n var keyInfo = this._getKeyInfo();\r\n var dataSource = this._dataSource;\r\n var groupCount = gridCoreUtils.normalizeSortingInfo(this.group()).length;\r\n var isReshapeMode = \"reshape\" === this.option(\"editing.refreshMode\");\r\n var isVirtualMode = \"virtual\" === this.option(\"scrolling.mode\");\r\n changes = changes.filter(change => !dataSource.paginate() || \"insert\" !== change.type || void 0 !== change.index);\r\n var getItemCount = () => groupCount ? this.itemsCount() : this.items().length;\r\n var oldItemCount = getItemCount();\r\n applyBatch({\r\n keyInfo: keyInfo,\r\n data: this._items,\r\n changes: changes,\r\n groupCount: groupCount,\r\n useInsertIndex: true,\r\n skipCopying: !this._needToCopyDataObject()\r\n });\r\n applyBatch({\r\n keyInfo: keyInfo,\r\n data: dataSource.items(),\r\n changes: changes,\r\n groupCount: groupCount,\r\n useInsertIndex: true,\r\n skipCopying: !this._needToCopyDataObject()\r\n });\r\n var needUpdateTotalCountCorrection = this._currentTotalCount > 0 || (fromStore || !isReshapeMode) && isVirtualMode;\r\n if (needUpdateTotalCountCorrection) {\r\n this._totalCountCorrection += getItemCount() - oldItemCount\r\n }\r\n changes.splice(0, changes.length)\r\n },\r\n _handlePush(_ref) {\r\n var {\r\n changes: changes\r\n } = _ref;\r\n this.push(changes, true)\r\n },\r\n _handleChanging(e) {\r\n this.changing.fire(e);\r\n this._applyBatch(e.changes, true)\r\n },\r\n _needCleanCacheByOperation(operationType, remoteOperations) {\r\n var operationTypesByOrder = [\"filtering\", \"sorting\", \"paging\"];\r\n var operationTypeIndex = operationTypesByOrder.indexOf(operationType);\r\n var currentOperationTypes = operationTypeIndex >= 0 ? operationTypesByOrder.slice(operationTypeIndex) : [operationType];\r\n return currentOperationTypes.some(operationType => remoteOperations[operationType])\r\n },\r\n _customizeRemoteOperations(options, operationTypes) {\r\n var cachedStoreData = this._cachedStoreData;\r\n var cachedPagingData = this._cachedPagingData;\r\n var cachedData = this._cachedData;\r\n if (options.storeLoadOptions.filter && !options.remoteOperations.filtering || options.storeLoadOptions.sort && !options.remoteOperations.sorting) {\r\n options.remoteOperations = {\r\n filtering: options.remoteOperations.filtering,\r\n summary: options.remoteOperations.summary\r\n }\r\n }\r\n if (operationTypes.fullReload) {\r\n cachedStoreData = void 0;\r\n cachedPagingData = void 0;\r\n cachedData = {\r\n items: {}\r\n }\r\n } else {\r\n if (operationTypes.reload) {\r\n cachedPagingData = void 0;\r\n cachedData = {\r\n items: {}\r\n }\r\n } else if (operationTypes.groupExpanding) {\r\n cachedData = {\r\n items: {}\r\n }\r\n }\r\n each(operationTypes, (operationType, value) => {\r\n if (value && this._needCleanCacheByOperation(operationType, options.remoteOperations)) {\r\n cachedStoreData = void 0;\r\n cachedPagingData = void 0\r\n }\r\n })\r\n }\r\n if (cachedPagingData) {\r\n options.remoteOperations.paging = false\r\n }\r\n options.cachedStoreData = cachedStoreData;\r\n options.cachedPagingData = cachedPagingData;\r\n options.cachedData = cachedData;\r\n if (!options.isCustomLoading) {\r\n this._cachedStoreData = cachedStoreData;\r\n this._cachedPagingData = cachedPagingData;\r\n this._cachedData = cachedData\r\n }\r\n },\r\n _handleCustomizeStoreLoadOptions(options) {\r\n var _a;\r\n this._handleDataLoading(options);\r\n if (!(0 === (null === (_a = options.data) || void 0 === _a ? void 0 : _a.length))) {\r\n options.data = getPageDataFromCache(options, true) || options.cachedStoreData\r\n }\r\n },\r\n _handleDataLoading(options) {\r\n var dataSource = this._dataSource;\r\n var lastLoadOptions = this._lastLoadOptions;\r\n this.customizeStoreLoadOptions.fire(options);\r\n options.delay = this.option(\"loadingTimeout\");\r\n options.originalStoreLoadOptions = options.storeLoadOptions;\r\n options.remoteOperations = extend({}, this.remoteOperations());\r\n var isFullReload = !this.isLoaded() && !this._isRefreshing;\r\n if (this.option(\"integrationOptions.renderedOnServer\") && !this.isLoaded()) {\r\n options.delay = void 0\r\n }\r\n var loadOptions = extend({\r\n pageIndex: this.pageIndex(),\r\n pageSize: this.pageSize()\r\n }, options.storeLoadOptions);\r\n var operationTypes = calculateOperationTypes(loadOptions, lastLoadOptions, isFullReload);\r\n this._customizeRemoteOperations(options, operationTypes);\r\n if (!options.isCustomLoading) {\r\n var isRefreshing = this._isRefreshing;\r\n options.pageIndex = dataSource.pageIndex();\r\n options.lastLoadOptions = loadOptions;\r\n options.operationTypes = operationTypes;\r\n this._loadingOperationTypes = operationTypes;\r\n this._isRefreshing = true;\r\n when(isRefreshing || this._isRefreshed || this.refresh(options, operationTypes)).done(() => {\r\n if (this._lastOperationId === options.operationId) {\r\n this._isRefreshed = true;\r\n this.load().always(() => {\r\n this._isRefreshed = false\r\n })\r\n }\r\n }).fail(() => {\r\n dataSource.cancel(options.operationId)\r\n }).always(() => {\r\n this._isRefreshing = false\r\n });\r\n dataSource.cancel(this._lastOperationId);\r\n this._lastOperationId = options.operationId;\r\n if (this._isRefreshing) {\r\n dataSource.cancel(this._lastOperationId)\r\n }\r\n }\r\n this._handleDataLoadingCore(options)\r\n },\r\n _handleDataLoadingCore(options) {\r\n var {\r\n remoteOperations: remoteOperations\r\n } = options;\r\n options.loadOptions = {};\r\n var cachedExtra = options.cachedData.extra;\r\n var localLoadOptionNames = {\r\n filter: !remoteOperations.filtering,\r\n sort: !remoteOperations.sorting,\r\n group: !remoteOperations.grouping,\r\n summary: !remoteOperations.summary,\r\n skip: !remoteOperations.paging,\r\n take: !remoteOperations.paging,\r\n requireTotalCount: cachedExtra && \"totalCount\" in cachedExtra || !remoteOperations.paging\r\n };\r\n each(options.storeLoadOptions, (optionName, optionValue) => {\r\n if (localLoadOptionNames[optionName]) {\r\n options.loadOptions[optionName] = optionValue;\r\n delete options.storeLoadOptions[optionName]\r\n }\r\n });\r\n if (cachedExtra) {\r\n options.extra = cachedExtra\r\n }\r\n },\r\n _handleDataLoaded(options) {\r\n var _a, _b;\r\n var {\r\n loadOptions: loadOptions\r\n } = options;\r\n var localPaging = options.remoteOperations && !options.remoteOperations.paging;\r\n var {\r\n cachedData: cachedData\r\n } = options;\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n var needCache = false !== this.option(\"cacheEnabled\") && storeLoadOptions;\r\n var needPageCache = needCache && !options.isCustomLoading && cachedData && (!localPaging || storeLoadOptions.group);\r\n var needPagingCache = needCache && localPaging;\r\n var needStoreCache = needPagingCache && !options.isCustomLoading;\r\n if (!loadOptions) {\r\n this._dataSource.cancel(options.operationId);\r\n return\r\n }\r\n if (localPaging) {\r\n options.skip = loadOptions.skip;\r\n options.take = loadOptions.take;\r\n delete loadOptions.skip;\r\n delete loadOptions.take\r\n }\r\n if (loadOptions.group) {\r\n loadOptions.group = options.group || loadOptions.group\r\n }\r\n var groupCount = gridCoreUtils.normalizeSortingInfo(options.group || storeLoadOptions.group || loadOptions.group).length;\r\n if (options.cachedDataPartBegin) {\r\n options.data = options.cachedDataPartBegin.concat(options.data)\r\n }\r\n if (options.cachedDataPartEnd) {\r\n options.data = options.data.concat(options.cachedDataPartEnd)\r\n }\r\n if (!needPageCache || !getPageDataFromCache(options)) {\r\n if (needPagingCache && options.cachedPagingData) {\r\n options.data = cloneItems(options.cachedPagingData, groupCount)\r\n } else {\r\n if (needStoreCache) {\r\n if (!this._cachedStoreData) {\r\n this._cachedStoreData = cloneItems(options.data, gridCoreUtils.normalizeSortingInfo(storeLoadOptions.group).length)\r\n } else if (options.mergeStoreLoadData) {\r\n options.data = this._cachedStoreData = this._cachedStoreData.concat(options.data)\r\n }\r\n }\r\n new ArrayStore(options.data).load(loadOptions).done(data => {\r\n options.data = data;\r\n if (needStoreCache) {\r\n this._cachedPagingData = cloneItems(options.data, groupCount)\r\n }\r\n }).fail(error => {\r\n options.data = (new Deferred).reject(error)\r\n })\r\n }\r\n if (loadOptions.requireTotalCount && localPaging) {\r\n options.extra = isPlainObject(options.extra) ? options.extra : {};\r\n options.extra.totalCount = options.data.length\r\n }\r\n if (options.extra && options.extra.totalCount >= 0 && (false === storeLoadOptions.requireTotalCount || false === loadOptions.requireTotalCount)) {\r\n options.extra.totalCount = -1\r\n }\r\n if (!loadOptions.data && (storeLoadOptions.requireTotalCount || (null !== (_b = null === (_a = options.extra) || void 0 === _a ? void 0 : _a.totalCount) && void 0 !== _b ? _b : -1) >= 0)) {\r\n this._totalCountCorrection = 0\r\n }\r\n this._handleDataLoadedCore(options);\r\n if (needPageCache) {\r\n cachedData.extra = cachedData.extra || extend({}, options.extra);\r\n when(options.data).done(data => {\r\n ! function(options, data, groupCount) {\r\n var _a, _b, _c, _d;\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n var skip = null !== (_b = null !== (_a = options.skip) && void 0 !== _a ? _a : storeLoadOptions.skip) && void 0 !== _b ? _b : 0;\r\n var take = null !== (_d = null !== (_c = options.take) && void 0 !== _c ? _c : storeLoadOptions.take) && void 0 !== _d ? _d : 0;\r\n for (var i = 0; i < take; i++) {\r\n var globalIndex = i + skip;\r\n var cacheItems = options.cachedData.items;\r\n var skips = 0 === i && options.skips || [];\r\n cacheItems[globalIndex] = getCacheItem(cacheItems[globalIndex], data[i], groupCount, skips)\r\n }\r\n }(options, data, groupCount)\r\n })\r\n }\r\n }\r\n when(options.data).done(() => {\r\n if (options.lastLoadOptions) {\r\n this._lastLoadOptions = options.lastLoadOptions;\r\n Object.keys(options.operationTypes).forEach(operationType => {\r\n this._lastOperationTypes[operationType] = this._lastOperationTypes[operationType] || options.operationTypes[operationType]\r\n })\r\n }\r\n });\r\n options.storeLoadOptions = options.originalStoreLoadOptions\r\n },\r\n _handleDataLoadedCore(options) {\r\n if (options.remoteOperations && !options.remoteOperations.paging && Array.isArray(options.data)) {\r\n if (void 0 !== options.skip) {\r\n options.data = options.data.slice(options.skip)\r\n }\r\n if (void 0 !== options.take) {\r\n options.data = options.data.slice(0, options.take)\r\n }\r\n }\r\n },\r\n _handleLoadingChanged(isLoading) {\r\n this.loadingChanged.fire(isLoading)\r\n },\r\n _handleLoadError(error) {\r\n this.loadError.fire(error);\r\n this.changed.fire({\r\n changeType: \"loadError\",\r\n error: error\r\n })\r\n },\r\n _loadPageSize() {\r\n return this.pageSize()\r\n },\r\n _handleDataChanged(args) {\r\n var currentTotalCount;\r\n var dataSource = this._dataSource;\r\n var isLoading = false;\r\n var isDataLoading = !args || isDefined(args.changeType);\r\n var itemsCount = this.itemsCount();\r\n if (isDataLoading) {\r\n this._isLastPage = !itemsCount || !this._loadPageSize() || itemsCount < this._loadPageSize();\r\n if (this._isLastPage) {\r\n this._hasLastPage = true\r\n }\r\n }\r\n if (dataSource.totalCount() >= 0) {\r\n if (dataSource.pageIndex() >= this.pageCount()) {\r\n dataSource.pageIndex(this.pageCount() - 1);\r\n this.pageIndex(dataSource.pageIndex());\r\n this.resetPagesCache();\r\n dataSource.load();\r\n isLoading = true\r\n }\r\n } else if (isDataLoading) {\r\n currentTotalCount = dataSource.pageIndex() * this.pageSize() + itemsCount;\r\n if (currentTotalCount > this._currentTotalCount) {\r\n this._currentTotalCount = currentTotalCount;\r\n if (0 === dataSource.pageIndex() || !this.option(\"scrolling.legacyMode\")) {\r\n this._totalCountCorrection = 0\r\n }\r\n }\r\n if (0 === itemsCount && dataSource.pageIndex() >= this.pageCount()) {\r\n dataSource.pageIndex(this.pageCount() - 1);\r\n if (\"infinite\" !== this.option(\"scrolling.mode\")) {\r\n dataSource.load();\r\n isLoading = true\r\n }\r\n }\r\n }\r\n if (!isLoading) {\r\n this._operationTypes = this._lastOperationTypes;\r\n this._lastOperationTypes = {};\r\n this.component._optionCache = {};\r\n this.changed.fire(args);\r\n this.component._optionCache = void 0\r\n }\r\n },\r\n _scheduleCustomLoadCallbacks(deferred) {\r\n var that = this;\r\n that._isCustomLoading = true;\r\n deferred.always(() => {\r\n that._isCustomLoading = false\r\n })\r\n },\r\n loadingOperationTypes() {\r\n return this._loadingOperationTypes\r\n },\r\n operationTypes() {\r\n return this._operationTypes\r\n },\r\n lastLoadOptions() {\r\n return this._lastLoadOptions || {}\r\n },\r\n isLastPage() {\r\n return this._isLastPage\r\n },\r\n _dataSourceTotalCount() {\r\n return this._dataSource.totalCount()\r\n },\r\n totalCount() {\r\n return parseInt((this._currentTotalCount || this._dataSourceTotalCount()) + this._totalCountCorrection)\r\n },\r\n totalCountCorrection() {\r\n return this._totalCountCorrection\r\n },\r\n itemsCount() {\r\n return this._dataSource.items().length\r\n },\r\n totalItemsCount() {\r\n return this.totalCount()\r\n },\r\n pageSize() {\r\n var dataSource = this._dataSource;\r\n if (!arguments.length && !dataSource.paginate()) {\r\n return 0\r\n }\r\n return dataSource.pageSize.apply(dataSource, arguments)\r\n },\r\n pageCount() {\r\n var count = this.totalItemsCount() - this._totalCountCorrection;\r\n var pageSize = this.pageSize();\r\n if (pageSize && count > 0) {\r\n return Math.max(1, Math.ceil(count / pageSize))\r\n }\r\n return 1\r\n },\r\n hasKnownLastPage() {\r\n return this._hasLastPage || this._dataSource.totalCount() >= 0\r\n },\r\n loadFromStore(loadOptions, store) {\r\n var dataSource = this._dataSource;\r\n var d = new Deferred;\r\n if (!dataSource) {\r\n return\r\n }\r\n store = store || dataSource.store();\r\n store.load(loadOptions).done((data, extra) => {\r\n if (data && !Array.isArray(data) && Array.isArray(data.data)) {\r\n extra = data;\r\n data = data.data\r\n }\r\n d.resolve(data, extra)\r\n }).fail(d.reject);\r\n return d\r\n },\r\n isCustomLoading() {\r\n return !!this._isCustomLoading\r\n },\r\n load(options) {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var d = new Deferred;\r\n if (options) {\r\n var store = dataSource.store();\r\n var dataSourceLoadOptions = dataSource.loadOptions();\r\n var loadResult = {\r\n storeLoadOptions: options,\r\n isCustomLoading: true\r\n };\r\n each(store._customLoadOptions() || [], (_, optionName) => {\r\n if (!(optionName in loadResult.storeLoadOptions)) {\r\n loadResult.storeLoadOptions[optionName] = dataSourceLoadOptions[optionName]\r\n }\r\n });\r\n this._isLoadingAll = options.isLoadingAll;\r\n that._scheduleCustomLoadCallbacks(d);\r\n dataSource._scheduleLoadCallbacks(d);\r\n that._handleCustomizeStoreLoadOptions(loadResult);\r\n ! function(action, timeout) {\r\n if (isDefined(timeout)) {\r\n executeAsync(action, timeout)\r\n } else {\r\n action()\r\n }\r\n }(() => {\r\n if (!dataSource.store()) {\r\n return d.reject(\"canceled\")\r\n }\r\n when(loadResult.data || that.loadFromStore(loadResult.storeLoadOptions)).done((data, extra) => {\r\n loadResult.data = data;\r\n loadResult.extra = extra || {};\r\n that._handleDataLoaded(loadResult);\r\n if (options.requireTotalCount && void 0 === loadResult.extra.totalCount) {\r\n loadResult.extra.totalCount = store.totalCount(loadResult.storeLoadOptions)\r\n }\r\n when(loadResult.data, loadResult.extra.totalCount).done((data, totalCount) => {\r\n loadResult.extra.totalCount = totalCount;\r\n d.resolve(data, loadResult.extra)\r\n }).fail(d.reject)\r\n }).fail(d.reject)\r\n }, that.option(\"loadingTimeout\"));\r\n return d.fail((function() {\r\n that._eventsStrategy.fireEvent(\"loadError\", arguments)\r\n })).always(() => {\r\n this._isLoadingAll = false\r\n }).promise()\r\n }\r\n return dataSource.load()\r\n },\r\n reload(full) {\r\n return full ? this._dataSource.reload() : this._dataSource.load()\r\n },\r\n getCachedStoreData() {\r\n return this._cachedStoreData\r\n }\r\n };\r\n return members\r\n}());\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/editing/const.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Scrollable from \"../../../../ui/scroll_view/ui.scrollable\";\r\nexport var EDITOR_CELL_CLASS = \"dx-editor-cell\";\r\nexport var ROW_CLASS = \"dx-row\";\r\nexport var CELL_MODIFIED_CLASS = \"dx-cell-modified\";\r\nexport var ROW_SELECTED_CLASS = \"dx-selection\";\r\nexport var EDIT_FORM_CLASS = \"edit-form\";\r\nexport var DATA_EDIT_DATA_INSERT_TYPE = \"insert\";\r\nexport var DATA_EDIT_DATA_REMOVE_TYPE = \"remove\";\r\nexport var EDITING_POPUP_OPTION_NAME = \"editing.popup\";\r\nexport var EDITING_FORM_OPTION_NAME = \"editing.form\";\r\nexport var EDITING_EDITROWKEY_OPTION_NAME = \"editing.editRowKey\";\r\nexport var EDITING_EDITCOLUMNNAME_OPTION_NAME = \"editing.editColumnName\";\r\nexport var TARGET_COMPONENT_NAME = \"targetComponent\";\r\nexport var EDITORS_INPUT_SELECTOR = \"input:not([type='hidden'])\";\r\nexport var FOCUSABLE_ELEMENT_SELECTOR = \"[tabindex]:not([disabled]), \".concat(EDITORS_INPUT_SELECTOR, \":not([disabled])\");\r\nexport var EDIT_MODE_BATCH = \"batch\";\r\nexport var EDIT_MODE_ROW = \"row\";\r\nexport var EDIT_MODE_CELL = \"cell\";\r\nexport var EDIT_MODE_FORM = \"form\";\r\nexport var EDIT_MODE_POPUP = \"popup\";\r\nexport var FIRST_NEW_ROW_POSITION = \"first\";\r\nexport var LAST_NEW_ROW_POSITION = \"last\";\r\nexport var PAGE_BOTTOM_NEW_ROW_POSITION = \"pageBottom\";\r\nexport var PAGE_TOP_NEW_ROW_POSITION = \"pageTop\";\r\nexport var VIEWPORT_BOTTOM_NEW_ROW_POSITION = \"viewportBottom\";\r\nexport var VIEWPORT_TOP_NEW_ROW_POSITION = \"viewportTop\";\r\nexport var EDIT_MODES = [EDIT_MODE_BATCH, EDIT_MODE_ROW, EDIT_MODE_CELL, EDIT_MODE_FORM, EDIT_MODE_POPUP];\r\nexport var ROW_BASED_MODES = [EDIT_MODE_ROW, EDIT_MODE_FORM, EDIT_MODE_POPUP];\r\nexport var REQUIRED_EDITOR_LABELLEDBY_MODES = [EDIT_MODE_BATCH, EDIT_MODE_ROW, EDIT_MODE_CELL];\r\nexport var MODES_WITH_DELAYED_FOCUS = [EDIT_MODE_ROW, EDIT_MODE_FORM];\r\nexport var READONLY_CLASS = \"readonly\";\r\nexport var LINK_CLASS = \"dx-link\";\r\nexport var LINK_ICON_CLASS = \"dx-link-icon\";\r\nexport var ROW_SELECTED = \"dx-selection\";\r\nexport var EDIT_BUTTON_CLASS = \"dx-edit-button\";\r\nexport var COMMAND_EDIT_CLASS = \"dx-command-edit\";\r\nexport var COMMAND_EDIT_WITH_ICONS_CLASS = \"\".concat(COMMAND_EDIT_CLASS, \"-with-icons\");\r\nexport var INSERT_INDEX = \"__DX_INSERT_INDEX__\";\r\nexport var ROW_INSERTED = \"dx-row-inserted\";\r\nexport var ROW_MODIFIED = \"dx-row-modified\";\r\nexport var CELL_MODIFIED = \"dx-cell-modified\";\r\nexport var EDITING_NAMESPACE = \"dxDataGridEditing\";\r\nexport var CELL_FOCUS_DISABLED_CLASS = \"dx-cell-focus-disabled\";\r\nexport var DATA_EDIT_DATA_UPDATE_TYPE = \"update\";\r\nexport var DEFAULT_START_EDIT_ACTION = \"click\";\r\nexport var EDIT_LINK_CLASS = {\r\n save: \"dx-link-save\",\r\n cancel: \"dx-link-cancel\",\r\n edit: \"dx-link-edit\",\r\n undelete: \"dx-link-undelete\",\r\n delete: \"dx-link-delete\",\r\n add: \"dx-link-add\"\r\n};\r\nexport var EDIT_ICON_CLASS = {\r\n save: \"save\",\r\n cancel: \"revert\",\r\n edit: \"edit\",\r\n undelete: \"revert\",\r\n delete: \"trash\",\r\n add: \"add\"\r\n};\r\nexport var METHOD_NAMES = {\r\n edit: \"editRow\",\r\n delete: \"deleteRow\",\r\n undelete: \"undeleteRow\",\r\n save: \"saveEditData\",\r\n cancel: \"cancelEditData\",\r\n add: \"addRowByRowIndex\"\r\n};\r\nexport var ACTION_OPTION_NAMES = {\r\n add: \"allowAdding\",\r\n edit: \"allowUpdating\",\r\n delete: \"allowDeleting\"\r\n};\r\nexport var BUTTON_NAMES = [\"edit\", \"save\", \"cancel\", \"delete\", \"undelete\"];\r\nexport var EDITING_CHANGES_OPTION_NAME = \"editing.changes\";\r\nexport var FOCUS_OVERLAY_CLASS = \"focus-overlay\";\r\nexport var ADD_ROW_BUTTON_CLASS = \"addrow-button\";\r\nexport var DROPDOWN_EDITOR_OVERLAY_CLASS = \"dx-dropdowneditor-overlay\";\r\nexport var DATA_ROW_CLASS = \"dx-data-row\";\r\nexport var ROW_REMOVED = \"dx-row-removed\";\r\nvar isRenovatedScrollable = !!Scrollable.IS_RENOVATED_WIDGET;\r\nexport var EDIT_FORM_ITEM_CLASS = \"edit-form-item\";\r\nexport var EDIT_POPUP_CLASS = \"edit-popup\";\r\nexport var EDIT_POPUP_FORM_CLASS = \"edit-popup-form\";\r\nexport var FOCUSABLE_ELEMENT_CLASS = isRenovatedScrollable ? \"dx-scrollable\" : \"dx-scrollable-container\";\r\nexport var BUTTON_CLASS = \"dx-button\";\r\nexport var FORM_BUTTONS_CONTAINER_CLASS = \"form-buttons-container\";\r\nexport var EDIT_ROW = \"dx-edit-row\";\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/editing/m_editing.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport devices from \"../../../../core/devices\";\r\nimport domAdapter from \"../../../../core/dom_adapter\";\r\nimport Guid from \"../../../../core/guid\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n equalByValue,\r\n noop\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n fromPromise,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n resetActiveElement\r\n} from \"../../../../core/utils/dom\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport * as iconUtils from \"../../../../core/utils/icon\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n deepExtendArraySafe\r\n} from \"../../../../core/utils/object\";\r\nimport {\r\n isDefined,\r\n isEmptyObject,\r\n isFunction,\r\n isObject\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n createObjectWithChanges\r\n} from \"../../../../data/array_utils\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../../events/click\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport pointerEvents from \"../../../../events/pointer\";\r\nimport {\r\n removeEvent\r\n} from \"../../../../events/remove\";\r\nimport {\r\n addNamespace\r\n} from \"../../../../events/utils/index\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport {\r\n confirm\r\n} from \"../../../../ui/dialog\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n ACTION_OPTION_NAMES,\r\n BUTTON_NAMES,\r\n CELL_FOCUS_DISABLED_CLASS,\r\n CELL_MODIFIED,\r\n COMMAND_EDIT_CLASS,\r\n COMMAND_EDIT_WITH_ICONS_CLASS,\r\n DATA_EDIT_DATA_INSERT_TYPE,\r\n DATA_EDIT_DATA_REMOVE_TYPE,\r\n DATA_EDIT_DATA_UPDATE_TYPE,\r\n DEFAULT_START_EDIT_ACTION,\r\n EDIT_BUTTON_CLASS,\r\n EDIT_FORM_CLASS,\r\n EDIT_ICON_CLASS,\r\n EDIT_LINK_CLASS,\r\n EDIT_MODE_ROW,\r\n EDIT_MODES,\r\n EDITING_CHANGES_OPTION_NAME,\r\n EDITING_EDITCOLUMNNAME_OPTION_NAME,\r\n EDITING_EDITROWKEY_OPTION_NAME,\r\n EDITING_NAMESPACE,\r\n EDITING_POPUP_OPTION_NAME,\r\n EDITOR_CELL_CLASS,\r\n EDITORS_INPUT_SELECTOR,\r\n FIRST_NEW_ROW_POSITION,\r\n FOCUSABLE_ELEMENT_SELECTOR,\r\n INSERT_INDEX,\r\n LAST_NEW_ROW_POSITION,\r\n LINK_CLASS,\r\n LINK_ICON_CLASS,\r\n METHOD_NAMES,\r\n PAGE_BOTTOM_NEW_ROW_POSITION,\r\n PAGE_TOP_NEW_ROW_POSITION,\r\n READONLY_CLASS,\r\n REQUIRED_EDITOR_LABELLEDBY_MODES,\r\n ROW_BASED_MODES,\r\n ROW_CLASS,\r\n ROW_INSERTED,\r\n ROW_MODIFIED,\r\n ROW_SELECTED,\r\n TARGET_COMPONENT_NAME,\r\n VIEWPORT_BOTTOM_NEW_ROW_POSITION,\r\n VIEWPORT_TOP_NEW_ROW_POSITION\r\n} from \"./const\";\r\nimport {\r\n createFailureHandler,\r\n generateNewRowTempKey,\r\n getButtonIndex,\r\n getButtonName,\r\n getEditingTexts,\r\n isEditingCell,\r\n isEditingOrShowEditorAlwaysDataCell\r\n} from \"./m_editing_utils\";\r\nclass EditingControllerImpl extends modules.ViewController {\r\n init() {\r\n this._columnsController = this.getController(\"columns\");\r\n this._dataController = this.getController(\"data\");\r\n this._rowsView = this.getView(\"rowsView\");\r\n this._lastOperation = null;\r\n this._changes = [];\r\n if (this._deferreds) {\r\n this._deferreds.forEach(d => {\r\n d.reject(\"cancel\")\r\n })\r\n }\r\n this._deferreds = [];\r\n if (!this._dataChangedHandler) {\r\n this._dataChangedHandler = this._handleDataChanged.bind(this);\r\n this._dataController.changed.add(this._dataChangedHandler)\r\n }\r\n if (!this._saveEditorHandler) {\r\n this.createAction(\"onInitNewRow\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onRowInserting\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onRowInserted\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onEditingStart\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onRowUpdating\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onRowUpdated\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onRowRemoving\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onRowRemoved\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onSaved\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onSaving\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onEditCanceling\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onEditCanceled\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n }\r\n this._updateEditColumn();\r\n this._updateEditButtons();\r\n if (!this._internalState) {\r\n this._internalState = []\r\n }\r\n this.component._optionsByReference[EDITING_EDITROWKEY_OPTION_NAME] = true;\r\n this.component._optionsByReference[EDITING_CHANGES_OPTION_NAME] = true\r\n }\r\n getEditMode() {\r\n var editMode = this.option(\"editing.mode\");\r\n if (EDIT_MODES.includes(editMode)) {\r\n return editMode\r\n }\r\n return EDIT_MODE_ROW\r\n }\r\n _getDefaultEditorTemplate() {\r\n return (container, options) => {\r\n var $editor = $(\"
    \").appendTo(container);\r\n var editorOptions = extend({}, options.column, {\r\n value: options.value,\r\n setValue: options.setValue,\r\n row: options.row,\r\n parentType: \"dataRow\",\r\n width: null,\r\n readOnly: !options.setValue,\r\n isOnForm: options.isOnForm,\r\n id: options.id\r\n });\r\n var needLabel = REQUIRED_EDITOR_LABELLEDBY_MODES.includes(this.getEditMode());\r\n if (needLabel) {\r\n editorOptions[\"aria-labelledby\"] = options.column.headerId\r\n }\r\n this.getController(\"editorFactory\").createEditor($editor, editorOptions)\r\n }\r\n }\r\n _getNewRowPosition() {\r\n var newRowPosition = this.option(\"editing.newRowPosition\");\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n if (\"virtual\" === scrollingMode) {\r\n switch (newRowPosition) {\r\n case PAGE_TOP_NEW_ROW_POSITION:\r\n return VIEWPORT_TOP_NEW_ROW_POSITION;\r\n case PAGE_BOTTOM_NEW_ROW_POSITION:\r\n return VIEWPORT_BOTTOM_NEW_ROW_POSITION;\r\n default:\r\n return newRowPosition\r\n }\r\n }\r\n return newRowPosition\r\n }\r\n getChanges() {\r\n return this.option(EDITING_CHANGES_OPTION_NAME)\r\n }\r\n getInsertRowCount() {\r\n var changes = this.option(EDITING_CHANGES_OPTION_NAME);\r\n return changes.filter(change => \"insert\" === change.type).length\r\n }\r\n resetChanges() {\r\n var changes = this.getChanges();\r\n var needReset = null === changes || void 0 === changes ? void 0 : changes.length;\r\n if (needReset) {\r\n this._silentOption(EDITING_CHANGES_OPTION_NAME, [])\r\n }\r\n }\r\n _getInternalData(key) {\r\n return this._internalState.filter(item => equalByValue(item.key, key))[0]\r\n }\r\n _addInternalData(params) {\r\n var internalData = this._getInternalData(params.key);\r\n if (internalData) {\r\n return extend(internalData, params)\r\n }\r\n this._internalState.push(params);\r\n return params\r\n }\r\n _getOldData(key) {\r\n var _a;\r\n return null === (_a = this._getInternalData(key)) || void 0 === _a ? void 0 : _a.oldData\r\n }\r\n getUpdatedData(data) {\r\n var key = this._dataController.keyOf(data);\r\n var changes = this.getChanges();\r\n var editIndex = gridCoreUtils.getIndexByKey(key, changes);\r\n if (changes[editIndex]) {\r\n return createObjectWithChanges(data, changes[editIndex].data)\r\n }\r\n return data\r\n }\r\n getInsertedData() {\r\n return this.getChanges().filter(change => change.data && change.type === DATA_EDIT_DATA_INSERT_TYPE).map(change => change.data)\r\n }\r\n getRemovedData() {\r\n return this.getChanges().filter(change => this._getOldData(change.key) && change.type === DATA_EDIT_DATA_REMOVE_TYPE).map(change => this._getOldData(change.key))\r\n }\r\n _fireDataErrorOccurred(arg) {\r\n if (\"cancel\" === arg) {\r\n return\r\n }\r\n var $popupContent = this.getPopupContent();\r\n this._dataController.dataErrorOccurred.fire(arg, $popupContent)\r\n }\r\n _needToCloseEditableCell($targetElement) {}\r\n _closeEditItem($targetElement) {}\r\n _handleDataChanged(args) {}\r\n _isDefaultButtonVisible(button, options) {\r\n var result = true;\r\n switch (button.name) {\r\n case \"delete\":\r\n result = this.allowDeleting(options);\r\n break;\r\n case \"undelete\":\r\n result = false\r\n }\r\n return result\r\n }\r\n _isButtonVisible(button, options) {\r\n var {\r\n visible: visible\r\n } = button;\r\n if (!isDefined(visible)) {\r\n return this._isDefaultButtonVisible(button, options)\r\n }\r\n return isFunction(visible) ? visible.call(button, {\r\n component: options.component,\r\n row: options.row,\r\n column: options.column\r\n }) : visible\r\n }\r\n _isButtonDisabled(button, options) {\r\n var {\r\n disabled: disabled\r\n } = button;\r\n return isFunction(disabled) ? disabled.call(button, {\r\n component: options.component,\r\n row: options.row,\r\n column: options.column\r\n }) : !!disabled\r\n }\r\n _getButtonConfig(button, options) {\r\n var config = isObject(button) ? button : {};\r\n var buttonName = getButtonName(button);\r\n var editingTexts = getEditingTexts(options);\r\n var methodName = METHOD_NAMES[buttonName];\r\n var editingOptions = this.option(\"editing\");\r\n var actionName = ACTION_OPTION_NAMES[buttonName];\r\n var allowAction = actionName ? editingOptions[actionName] : true;\r\n return extend({\r\n name: buttonName,\r\n text: editingTexts[buttonName],\r\n cssClass: EDIT_LINK_CLASS[buttonName]\r\n }, {\r\n onClick: methodName && (e => {\r\n var {\r\n event: event\r\n } = e;\r\n event.stopPropagation();\r\n event.preventDefault();\r\n setTimeout(() => {\r\n options.row && allowAction && this[methodName] && this[methodName](options.row.rowIndex)\r\n })\r\n })\r\n }, config)\r\n }\r\n _getEditingButtons(options) {\r\n var buttonIndex;\r\n var haveCustomButtons = !!options.column.buttons;\r\n var buttons = (options.column.buttons || []).slice();\r\n if (haveCustomButtons) {\r\n buttonIndex = getButtonIndex(buttons, \"edit\");\r\n if (buttonIndex >= 0) {\r\n if (getButtonIndex(buttons, \"save\") < 0) {\r\n buttons.splice(buttonIndex + 1, 0, \"save\")\r\n }\r\n if (getButtonIndex(buttons, \"cancel\") < 0) {\r\n buttons.splice(getButtonIndex(buttons, \"save\") + 1, 0, \"cancel\")\r\n }\r\n }\r\n buttonIndex = getButtonIndex(buttons, \"delete\");\r\n if (buttonIndex >= 0 && getButtonIndex(buttons, \"undelete\") < 0) {\r\n buttons.splice(buttonIndex + 1, 0, \"undelete\")\r\n }\r\n } else {\r\n buttons = BUTTON_NAMES.slice()\r\n }\r\n return buttons.map(button => this._getButtonConfig(button, options))\r\n }\r\n _renderEditingButtons($container, buttons, options, change) {\r\n buttons.forEach(button => {\r\n if (this._isButtonVisible(button, options)) {\r\n this._createButton($container, button, options, change)\r\n }\r\n })\r\n }\r\n _getEditCommandCellTemplate() {\r\n return (container, options, change) => {\r\n var $container = $(container);\r\n if (\"data\" === options.rowType) {\r\n var buttons = this._getEditingButtons(options);\r\n this._renderEditingButtons($container, buttons, options, change);\r\n if (options.watch) {\r\n var dispose = options.watch(() => buttons.map(button => ({\r\n visible: this._isButtonVisible(button, options),\r\n disabled: this._isButtonDisabled(button, options)\r\n })), () => {\r\n $container.empty();\r\n this._renderEditingButtons($container, buttons, options)\r\n });\r\n eventsEngine.on($container, removeEvent, dispose)\r\n }\r\n } else {\r\n gridCoreUtils.setEmptyText($container)\r\n }\r\n }\r\n }\r\n isRowBasedEditMode() {\r\n var editMode = this.getEditMode();\r\n return ROW_BASED_MODES.includes(editMode)\r\n }\r\n getFirstEditableColumnIndex() {\r\n var columnsController = this.getController(\"columns\");\r\n var columnIndex;\r\n var visibleColumns = columnsController.getVisibleColumns();\r\n each(visibleColumns, (index, column) => {\r\n if (column.allowEditing) {\r\n columnIndex = index;\r\n return false\r\n }\r\n });\r\n return columnIndex\r\n }\r\n getFirstEditableCellInRow(rowIndex) {\r\n var rowsView = this.getView(\"rowsView\");\r\n var columnIndex = this.getFirstEditableColumnIndex();\r\n return null === rowsView || void 0 === rowsView ? void 0 : rowsView._getCellElement(rowIndex || 0, columnIndex)\r\n }\r\n getFocusedCellInRow(rowIndex) {\r\n return this.getFirstEditableCellInRow(rowIndex)\r\n }\r\n getIndexByKey(key, items) {\r\n return gridCoreUtils.getIndexByKey(key, items)\r\n }\r\n hasChanges(rowIndex) {\r\n var changes = this.getChanges();\r\n var result = false;\r\n for (var i = 0; i < (null === changes || void 0 === changes ? void 0 : changes.length); i++) {\r\n if (changes[i].type && (!isDefined(rowIndex) || this._dataController.getRowIndexByKey(changes[i].key) === rowIndex)) {\r\n result = true;\r\n break\r\n }\r\n }\r\n return result\r\n }\r\n dispose() {\r\n super.dispose();\r\n clearTimeout(this._inputFocusTimeoutID);\r\n eventsEngine.off(domAdapter.getDocument(), pointerEvents.up, this._pointerUpEditorHandler);\r\n eventsEngine.off(domAdapter.getDocument(), pointerEvents.down, this._pointerDownEditorHandler);\r\n eventsEngine.off(domAdapter.getDocument(), clickEventName, this._saveEditorHandler)\r\n }\r\n _silentOption(name, value) {\r\n if (\"editing.changes\" === name) {\r\n this._changes = deepExtendArraySafe([], value)\r\n }\r\n super._silentOption(name, value)\r\n }\r\n optionChanged(args) {\r\n if (\"editing\" === args.name) {\r\n var {\r\n fullName: fullName\r\n } = args;\r\n if (fullName === EDITING_EDITROWKEY_OPTION_NAME) {\r\n this._handleEditRowKeyChange(args)\r\n } else if (fullName === EDITING_CHANGES_OPTION_NAME) {\r\n var isEqual = equalByValue(args.value, this._changes, {\r\n maxDepth: 4\r\n });\r\n if (!isEqual) {\r\n this._changes = deepExtendArraySafe([], args.value);\r\n this._handleChangesChange(args)\r\n }\r\n } else if (!args.handled) {\r\n this._columnsController.reinit();\r\n this.init();\r\n this.resetChanges();\r\n this._resetEditColumnName();\r\n this._resetEditRowKey()\r\n }\r\n args.handled = true\r\n } else {\r\n super.optionChanged(args)\r\n }\r\n }\r\n _handleEditRowKeyChange(args) {\r\n var rowIndex = this._dataController.getRowIndexByKey(args.value);\r\n var oldRowIndexCorrection = this._getEditRowIndexCorrection();\r\n var oldRowIndex = this._dataController.getRowIndexByKey(args.previousValue) + oldRowIndexCorrection;\r\n if (isDefined(args.value)) {\r\n if (args.value !== args.previousValue) {\r\n this._editRowFromOptionChanged(rowIndex, oldRowIndex)\r\n }\r\n } else {\r\n this.cancelEditData()\r\n }\r\n }\r\n _handleChangesChange(args) {\r\n var dataController = this._dataController;\r\n var changes = args.value;\r\n if (!args.value.length && !args.previousValue.length) {\r\n return\r\n }\r\n changes.forEach(change => {\r\n var _a;\r\n if (\"insert\" === change.type) {\r\n this._addInsertInfo(change)\r\n } else {\r\n var items = dataController.getCachedStoreData() || (null === (_a = dataController.items()) || void 0 === _a ? void 0 : _a.map(item => item.data));\r\n var rowIndex = gridCoreUtils.getIndexByKey(change.key, items, dataController.key());\r\n this._addInternalData({\r\n key: change.key,\r\n oldData: items[rowIndex]\r\n })\r\n }\r\n });\r\n dataController.updateItems({\r\n repaintChangesOnly: true,\r\n isLiveUpdate: false,\r\n isOptionChanged: true\r\n })\r\n }\r\n publicMethods() {\r\n return [\"addRow\", \"deleteRow\", \"undeleteRow\", \"editRow\", \"saveEditData\", \"cancelEditData\", \"hasEditData\"]\r\n }\r\n refresh() {\r\n if (!isDefined(this._pageIndex)) {\r\n return\r\n }\r\n this._refreshCore.apply(this, arguments)\r\n }\r\n _refreshCore(params) {}\r\n isEditing() {\r\n var isEditRowKeyDefined = isDefined(this.option(EDITING_EDITROWKEY_OPTION_NAME));\r\n return isEditRowKeyDefined\r\n }\r\n isEditRow(rowIndex) {\r\n return false\r\n }\r\n _setEditRowKey(value, silent) {\r\n if (silent) {\r\n this._silentOption(EDITING_EDITROWKEY_OPTION_NAME, value)\r\n } else {\r\n this.option(EDITING_EDITROWKEY_OPTION_NAME, value)\r\n }\r\n if (this._refocusEditCell) {\r\n this._refocusEditCell = false;\r\n this._focusEditingCell()\r\n }\r\n }\r\n _setEditRowKeyByIndex(rowIndex, silent) {\r\n var key = this._dataController.getKeyByRowIndex(rowIndex);\r\n if (void 0 === key) {\r\n this._dataController.fireError(\"E1043\");\r\n return\r\n }\r\n this._setEditRowKey(key, silent)\r\n }\r\n getEditRowIndex() {\r\n return this._getVisibleEditRowIndex()\r\n }\r\n getEditFormRowIndex() {\r\n return -1\r\n }\r\n isEditRowByIndex(rowIndex) {\r\n var key = this._dataController.getKeyByRowIndex(rowIndex);\r\n var isKeyEqual = isDefined(key) && equalByValue(this.option(EDITING_EDITROWKEY_OPTION_NAME), key);\r\n if (isKeyEqual) {\r\n return this._getVisibleEditRowIndex() === rowIndex\r\n }\r\n return isKeyEqual\r\n }\r\n isEditCell(visibleRowIndex, columnIndex) {\r\n return this.isEditRowByIndex(visibleRowIndex) && this._getVisibleEditColumnIndex() === columnIndex\r\n }\r\n getPopupContent() {}\r\n _isProcessedItem(item) {\r\n return false\r\n }\r\n _getInsertRowIndex(items, change, isProcessedItems) {\r\n var result = -1;\r\n var dataController = this._dataController;\r\n var key = this._getInsertAfterOrBeforeKey(change);\r\n if (!isDefined(key) && 0 === items.length) {\r\n result = 0\r\n } else if (isDefined(key)) {\r\n items.some((item, index) => {\r\n var isProcessedItem = isProcessedItems || this._isProcessedItem(item);\r\n if (isObject(item)) {\r\n if (isProcessedItem || isDefined(item[INSERT_INDEX])) {\r\n if (equalByValue(item.key, key)) {\r\n result = index\r\n }\r\n } else if (equalByValue(dataController.keyOf(item), key)) {\r\n result = index\r\n }\r\n }\r\n if (result >= 0) {\r\n var nextItem = items[result + 1];\r\n if (nextItem && (\"detail\" === nextItem.rowType || \"detailAdaptive\" === nextItem.rowType) && isDefined(change.insertAfterKey)) {\r\n return\r\n }\r\n if (isDefined(change.insertAfterKey)) {\r\n result += 1\r\n }\r\n return true\r\n }\r\n })\r\n }\r\n return result\r\n }\r\n _generateNewItem(key) {\r\n var _a;\r\n var item = {\r\n key: key\r\n };\r\n var insertInfo = null === (_a = this._getInternalData(key)) || void 0 === _a ? void 0 : _a.insertInfo;\r\n if (null === insertInfo || void 0 === insertInfo ? void 0 : insertInfo[INSERT_INDEX]) {\r\n item[INSERT_INDEX] = insertInfo[INSERT_INDEX]\r\n }\r\n return item\r\n }\r\n _getLoadedRowIndex(items, change, isProcessedItems) {\r\n var loadedRowIndex = this._getInsertRowIndex(items, change, isProcessedItems);\r\n var dataController = this._dataController;\r\n if (loadedRowIndex < 0) {\r\n var newRowPosition = this._getNewRowPosition();\r\n var pageIndex = dataController.pageIndex();\r\n var insertAfterOrBeforeKey = this._getInsertAfterOrBeforeKey(change);\r\n if (newRowPosition !== LAST_NEW_ROW_POSITION && 0 === pageIndex && !isDefined(insertAfterOrBeforeKey)) {\r\n loadedRowIndex = 0\r\n } else if (newRowPosition === LAST_NEW_ROW_POSITION && dataController.isLastPageLoaded()) {\r\n loadedRowIndex = items.length\r\n }\r\n }\r\n return loadedRowIndex\r\n }\r\n processItems(items, e) {\r\n var {\r\n changeType: changeType\r\n } = e;\r\n this.update(changeType);\r\n var changes = this.getChanges();\r\n changes.forEach(change => {\r\n var _a;\r\n var isInsert = change.type === DATA_EDIT_DATA_INSERT_TYPE;\r\n if (!isInsert) {\r\n return\r\n }\r\n var {\r\n key: key\r\n } = change;\r\n var insertInfo = null === (_a = this._getInternalData(key)) || void 0 === _a ? void 0 : _a.insertInfo;\r\n if (!isDefined(key) || !isDefined(insertInfo)) {\r\n insertInfo = this._addInsertInfo(change);\r\n key = insertInfo.key\r\n }\r\n var loadedRowIndex = this._getLoadedRowIndex(items, change);\r\n var item = this._generateNewItem(key);\r\n if (loadedRowIndex >= 0) {\r\n items.splice(loadedRowIndex, 0, item)\r\n }\r\n });\r\n return items\r\n }\r\n processDataItem(item, options, generateDataValues) {\r\n var columns = options.visibleColumns;\r\n var key = item.data[INSERT_INDEX] ? item.data.key : item.key;\r\n var changes = this.getChanges();\r\n var editIndex = gridCoreUtils.getIndexByKey(key, changes);\r\n item.isEditing = false;\r\n if (editIndex >= 0) {\r\n this._processDataItemCore(item, changes[editIndex], key, columns, generateDataValues)\r\n }\r\n }\r\n _processDataItemCore(item, change, key, columns, generateDataValues) {\r\n var {\r\n data: data,\r\n type: type\r\n } = change;\r\n switch (type) {\r\n case DATA_EDIT_DATA_INSERT_TYPE:\r\n item.isNewRow = true;\r\n item.key = key;\r\n item.data = data;\r\n break;\r\n case DATA_EDIT_DATA_UPDATE_TYPE:\r\n item.modified = true;\r\n item.oldData = item.data;\r\n item.data = createObjectWithChanges(item.data, data);\r\n item.modifiedValues = generateDataValues(data, columns, true);\r\n break;\r\n case DATA_EDIT_DATA_REMOVE_TYPE:\r\n item.removed = true\r\n }\r\n }\r\n _initNewRow(options) {\r\n this.executeAction(\"onInitNewRow\", options);\r\n if (options.promise) {\r\n var deferred = new Deferred;\r\n when(fromPromise(options.promise)).done(deferred.resolve).fail(createFailureHandler(deferred)).fail(arg => this._fireDataErrorOccurred(arg));\r\n return deferred\r\n }\r\n }\r\n _createInsertInfo() {\r\n var insertInfo = {};\r\n insertInfo[INSERT_INDEX] = this._getInsertIndex();\r\n return insertInfo\r\n }\r\n _addInsertInfo(change, parentKey) {\r\n var _a;\r\n var insertInfo;\r\n change.key = this.getChangeKeyValue(change);\r\n var {\r\n key: key\r\n } = change;\r\n insertInfo = null === (_a = this._getInternalData(key)) || void 0 === _a ? void 0 : _a.insertInfo;\r\n if (!isDefined(insertInfo)) {\r\n var insertAfterOrBeforeKey = this._getInsertAfterOrBeforeKey(change);\r\n insertInfo = this._createInsertInfo();\r\n if (!isDefined(insertAfterOrBeforeKey)) {\r\n this._setInsertAfterOrBeforeKey(change, parentKey)\r\n }\r\n }\r\n this._addInternalData({\r\n insertInfo: insertInfo,\r\n key: key\r\n });\r\n return {\r\n insertInfo: insertInfo,\r\n key: key\r\n }\r\n }\r\n getChangeKeyValue(change) {\r\n if (isDefined(change.key)) {\r\n return change.key\r\n }\r\n var keyExpr = this._dataController.key();\r\n var keyValue;\r\n if (change.data && keyExpr && !Array.isArray(keyExpr)) {\r\n keyValue = change.data[keyExpr]\r\n }\r\n if (!isDefined(keyValue)) {\r\n keyValue = generateNewRowTempKey()\r\n }\r\n return keyValue\r\n }\r\n _setInsertAfterOrBeforeKey(change, parentKey) {\r\n var dataController = this._dataController;\r\n var allItems = dataController.items(true);\r\n var rowsView = this.getView(\"rowsView\");\r\n var newRowPosition = this._getNewRowPosition();\r\n switch (newRowPosition) {\r\n case FIRST_NEW_ROW_POSITION:\r\n case LAST_NEW_ROW_POSITION:\r\n break;\r\n case PAGE_TOP_NEW_ROW_POSITION:\r\n case PAGE_BOTTOM_NEW_ROW_POSITION:\r\n if (allItems.length) {\r\n var itemIndex = newRowPosition === PAGE_TOP_NEW_ROW_POSITION ? 0 : allItems.length - 1;\r\n change[0 === itemIndex ? \"insertBeforeKey\" : \"insertAfterKey\"] = allItems[itemIndex].key\r\n }\r\n break;\r\n default:\r\n var isViewportBottom = newRowPosition === VIEWPORT_BOTTOM_NEW_ROW_POSITION;\r\n var visibleItemIndex = isViewportBottom ? null === rowsView || void 0 === rowsView ? void 0 : rowsView.getBottomVisibleItemIndex() : null === rowsView || void 0 === rowsView ? void 0 : rowsView.getTopVisibleItemIndex();\r\n var row = dataController.getVisibleRows()[visibleItemIndex];\r\n if (row && (!row.isEditing && \"detail\" === row.rowType || \"detailAdaptive\" === row.rowType)) {\r\n visibleItemIndex++\r\n }\r\n var insertKey = dataController.getKeyByRowIndex(visibleItemIndex);\r\n if (isDefined(insertKey)) {\r\n change.insertBeforeKey = insertKey\r\n }\r\n }\r\n }\r\n _getInsertIndex() {\r\n var maxInsertIndex = 0;\r\n this.getChanges().forEach(editItem => {\r\n var _a;\r\n var insertInfo = null === (_a = this._getInternalData(editItem.key)) || void 0 === _a ? void 0 : _a.insertInfo;\r\n if (isDefined(insertInfo) && editItem.type === DATA_EDIT_DATA_INSERT_TYPE && insertInfo[INSERT_INDEX] > maxInsertIndex) {\r\n maxInsertIndex = insertInfo[INSERT_INDEX]\r\n }\r\n });\r\n return maxInsertIndex + 1\r\n }\r\n _getInsertAfterOrBeforeKey(insertChange) {\r\n var _a;\r\n return null !== (_a = insertChange.insertAfterKey) && void 0 !== _a ? _a : insertChange.insertBeforeKey\r\n }\r\n _getPageIndexToInsertRow() {\r\n var newRowPosition = this._getNewRowPosition();\r\n var dataController = this._dataController;\r\n var pageIndex = dataController.pageIndex();\r\n var lastPageIndex = dataController.pageCount() - 1;\r\n if (newRowPosition === FIRST_NEW_ROW_POSITION && 0 !== pageIndex) {\r\n return 0\r\n }\r\n if (newRowPosition === LAST_NEW_ROW_POSITION && pageIndex !== lastPageIndex) {\r\n return lastPageIndex\r\n }\r\n return -1\r\n }\r\n addRow(parentKey) {\r\n var dataController = this._dataController;\r\n var store = dataController.store();\r\n if (!store) {\r\n dataController.fireError(\"E1052\", this.component.NAME);\r\n return (new Deferred).reject()\r\n }\r\n return this._addRow(parentKey)\r\n }\r\n _addRow(parentKey) {\r\n var dataController = this._dataController;\r\n var store = dataController.store();\r\n var key = store && store.key();\r\n var param = {\r\n data: {}\r\n };\r\n var oldEditRowIndex = this._getVisibleEditRowIndex();\r\n var deferred = new Deferred;\r\n this.refresh({\r\n allowCancelEditing: true\r\n });\r\n if (!this._allowRowAdding()) {\r\n when(this._navigateToNewRow(oldEditRowIndex)).done(deferred.resolve).fail(deferred.reject);\r\n return deferred.promise()\r\n }\r\n if (!key) {\r\n param.data.__KEY__ = String(new Guid)\r\n }\r\n when(this._initNewRow(param, parentKey)).done(() => {\r\n if (this._allowRowAdding()) {\r\n when(this._addRowCore(param.data, parentKey, oldEditRowIndex)).done(deferred.resolve).fail(deferred.reject)\r\n } else {\r\n deferred.reject(\"cancel\")\r\n }\r\n }).fail(deferred.reject);\r\n return deferred.promise()\r\n }\r\n _allowRowAdding(params) {\r\n var insertIndex = this._getInsertIndex();\r\n if (insertIndex > 1) {\r\n return false\r\n }\r\n return true\r\n }\r\n _addRowCore(data, parentKey, initialOldEditRowIndex) {\r\n var change = {\r\n data: data,\r\n type: DATA_EDIT_DATA_INSERT_TYPE\r\n };\r\n var editRowIndex = this._getVisibleEditRowIndex();\r\n var insertInfo = this._addInsertInfo(change, parentKey);\r\n var {\r\n key: key\r\n } = insertInfo;\r\n this._setEditRowKey(key, true);\r\n this._addChange(change);\r\n return this._navigateToNewRow(initialOldEditRowIndex, change, editRowIndex)\r\n }\r\n _navigateToNewRow(oldEditRowIndex, change, editRowIndex) {\r\n var d = new Deferred;\r\n var dataController = this._dataController;\r\n var focusController = this.getController(\"focus\");\r\n editRowIndex = null !== editRowIndex && void 0 !== editRowIndex ? editRowIndex : -1;\r\n change = null !== change && void 0 !== change ? change : this.getChanges().filter(c => c.type === DATA_EDIT_DATA_INSERT_TYPE)[0];\r\n if (!change) {\r\n return d.reject(\"cancel\").promise()\r\n }\r\n var pageIndexToInsertRow = this._getPageIndexToInsertRow();\r\n var rowIndex = this._getLoadedRowIndex(dataController.items(), change, true);\r\n var navigateToRowByKey = key => {\r\n when(null === focusController || void 0 === focusController ? void 0 : focusController.navigateToRow(key)).done(() => {\r\n rowIndex = dataController.getRowIndexByKey(change.key);\r\n d.resolve()\r\n })\r\n };\r\n var insertAfterOrBeforeKey = this._getInsertAfterOrBeforeKey(change);\r\n if (pageIndexToInsertRow >= 0) {\r\n dataController.pageIndex(pageIndexToInsertRow).done(() => {\r\n navigateToRowByKey(change.key)\r\n }).fail(d.reject)\r\n } else if (rowIndex < 0 && isDefined(insertAfterOrBeforeKey)) {\r\n navigateToRowByKey(insertAfterOrBeforeKey)\r\n } else {\r\n dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: [oldEditRowIndex, editRowIndex, rowIndex]\r\n });\r\n rowIndex = dataController.getRowIndexByKey(change.key);\r\n if (rowIndex < 0) {\r\n navigateToRowByKey(change.key)\r\n } else {\r\n d.resolve()\r\n }\r\n }\r\n d.done(() => {\r\n var _a;\r\n null === (_a = this._rowsView) || void 0 === _a ? void 0 : _a.waitAsyncTemplates(true).done(() => {\r\n this._showAddedRow(rowIndex);\r\n this._afterInsertRow(change.key)\r\n })\r\n });\r\n return d.promise()\r\n }\r\n _showAddedRow(rowIndex) {\r\n this._focusFirstEditableCellInRow(rowIndex)\r\n }\r\n _beforeFocusElementInRow(rowIndex) {}\r\n _focusFirstEditableCellInRow(rowIndex) {\r\n var dataController = this._dataController;\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n var key = dataController.getKeyByRowIndex(rowIndex);\r\n var $firstCell = this.getFirstEditableCellInRow(rowIndex);\r\n null === keyboardController || void 0 === keyboardController ? void 0 : keyboardController.focus($firstCell);\r\n this.option(\"focusedRowKey\", key);\r\n this._editCellInProgress = true;\r\n this._delayedInputFocus($firstCell, () => {\r\n rowIndex = dataController.getRowIndexByKey(key);\r\n this._editCellInProgress = false;\r\n this._beforeFocusElementInRow(rowIndex)\r\n })\r\n }\r\n _isEditingStart(options) {\r\n this.executeAction(\"onEditingStart\", options);\r\n return options.cancel\r\n }\r\n _beforeUpdateItems(rowIndices, rowIndex) {}\r\n _getVisibleEditColumnIndex() {\r\n var editColumnName = this.option(EDITING_EDITCOLUMNNAME_OPTION_NAME);\r\n if (!isDefined(editColumnName)) {\r\n return -1\r\n }\r\n return this._columnsController.getVisibleColumnIndex(editColumnName)\r\n }\r\n _setEditColumnNameByIndex(index, silent) {\r\n var _a;\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n this._setEditColumnName(null === (_a = visibleColumns[index]) || void 0 === _a ? void 0 : _a.name, silent)\r\n }\r\n _setEditColumnName(name, silent) {\r\n if (silent) {\r\n this._silentOption(EDITING_EDITCOLUMNNAME_OPTION_NAME, name)\r\n } else {\r\n this.option(EDITING_EDITCOLUMNNAME_OPTION_NAME, name)\r\n }\r\n }\r\n _resetEditColumnName() {\r\n this._setEditColumnName(null, true)\r\n }\r\n _getEditColumn() {\r\n var editColumnName = this.option(EDITING_EDITCOLUMNNAME_OPTION_NAME);\r\n return this._getColumnByName(editColumnName)\r\n }\r\n _getColumnByName(name) {\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n var editColumn;\r\n isDefined(name) && visibleColumns.some(column => {\r\n if (column.name === name) {\r\n editColumn = column;\r\n return true\r\n }\r\n });\r\n return editColumn\r\n }\r\n _getVisibleEditRowIndex(columnName) {\r\n var dataController = this._dataController;\r\n var editRowKey = this.option(EDITING_EDITROWKEY_OPTION_NAME);\r\n var rowIndex = dataController.getRowIndexByKey(editRowKey);\r\n if (-1 === rowIndex) {\r\n return rowIndex\r\n }\r\n return rowIndex + this._getEditRowIndexCorrection(columnName)\r\n }\r\n _getEditRowIndexCorrection(columnName) {\r\n var editColumn = columnName ? this._getColumnByName(columnName) : this._getEditColumn();\r\n var isColumnHidden = \"adaptiveHidden\" === (null === editColumn || void 0 === editColumn ? void 0 : editColumn.visibleWidth);\r\n return isColumnHidden ? 1 : 0\r\n }\r\n _resetEditRowKey() {\r\n this._refocusEditCell = false;\r\n this._setEditRowKey(null, true)\r\n }\r\n _resetEditIndices() {\r\n this._resetEditColumnName();\r\n this._resetEditRowKey()\r\n }\r\n editRow(rowIndex) {\r\n var _a;\r\n var dataController = this._dataController;\r\n var items = dataController.items();\r\n var item = items[rowIndex];\r\n var params = {\r\n data: item && item.data,\r\n cancel: false\r\n };\r\n var oldRowIndex = this._getVisibleEditRowIndex();\r\n if (!item) {\r\n return\r\n }\r\n if (rowIndex === oldRowIndex) {\r\n return true\r\n }\r\n if (void 0 === item.key) {\r\n this._dataController.fireError(\"E1043\");\r\n return\r\n }\r\n if (!item.isNewRow) {\r\n params.key = item.key\r\n }\r\n if (this._isEditingStart(params)) {\r\n return\r\n }\r\n this.resetChanges();\r\n this.init();\r\n this._resetEditColumnName();\r\n this._pageIndex = dataController.pageIndex();\r\n this._addInternalData({\r\n key: item.key,\r\n oldData: null !== (_a = item.oldData) && void 0 !== _a ? _a : item.data\r\n });\r\n this._setEditRowKey(item.key)\r\n }\r\n _editRowFromOptionChanged(rowIndex, oldRowIndex) {\r\n var rowIndices = [oldRowIndex, rowIndex];\r\n this._beforeUpdateItems(rowIndices, rowIndex, oldRowIndex);\r\n this._editRowFromOptionChangedCore(rowIndices, rowIndex)\r\n }\r\n _editRowFromOptionChangedCore(rowIndices, rowIndex, preventRendering) {\r\n this._needFocusEditor = true;\r\n this._dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: rowIndices,\r\n cancel: preventRendering\r\n })\r\n }\r\n _focusEditorIfNeed() {}\r\n _showEditPopup(rowIndex, repaintForm) {}\r\n _repaintEditPopup() {}\r\n _getEditPopupHiddenHandler() {\r\n return e => {\r\n if (this.isEditing()) {\r\n this.cancelEditData()\r\n }\r\n }\r\n }\r\n _getPopupEditFormTemplate(rowIndex) {}\r\n _getSaveButtonConfig() {\r\n return {\r\n text: this.option(\"editing.texts.saveRowChanges\"),\r\n onClick: this.saveEditData.bind(this)\r\n }\r\n }\r\n _getCancelButtonConfig() {\r\n return {\r\n text: this.option(\"editing.texts.cancelRowChanges\"),\r\n onClick: this.cancelEditData.bind(this)\r\n }\r\n }\r\n _removeInternalData(key) {\r\n var internalData = this._getInternalData(key);\r\n var index = this._internalState.indexOf(internalData);\r\n if (index > -1) {\r\n this._internalState.splice(index, 1)\r\n }\r\n }\r\n _updateInsertAfterOrBeforeKeys(changes, index) {\r\n var removeChange = changes[index];\r\n changes.forEach(change => {\r\n var insertAfterOrBeforeKey = this._getInsertAfterOrBeforeKey(change);\r\n if (equalByValue(insertAfterOrBeforeKey, removeChange.key)) {\r\n change[isDefined(change.insertAfterKey) ? \"insertAfterKey\" : \"insertBeforeKey\"] = this._getInsertAfterOrBeforeKey(removeChange)\r\n }\r\n })\r\n }\r\n _removeChange(index) {\r\n if (index >= 0) {\r\n var changes = [...this.getChanges()];\r\n var {\r\n key: key\r\n } = changes[index];\r\n this._removeInternalData(key);\r\n this._updateInsertAfterOrBeforeKeys(changes, index);\r\n changes.splice(index, 1);\r\n this._silentOption(EDITING_CHANGES_OPTION_NAME, changes);\r\n if (equalByValue(this.option(EDITING_EDITROWKEY_OPTION_NAME), key)) {\r\n this._resetEditIndices()\r\n }\r\n }\r\n }\r\n executeOperation(deferred, func) {\r\n this._lastOperation && this._lastOperation.reject();\r\n this._lastOperation = deferred;\r\n this.waitForDeferredOperations().done(() => {\r\n if (\"rejected\" === deferred.state()) {\r\n return\r\n }\r\n func();\r\n this._lastOperation = null\r\n }).fail(() => {\r\n deferred.reject();\r\n this._lastOperation = null\r\n })\r\n }\r\n waitForDeferredOperations() {\r\n return when(...this._deferreds)\r\n }\r\n _processCanceledEditingCell() {}\r\n _repaintEditCell(column, oldColumn, oldEditRowIndex) {\r\n this._needFocusEditor = true;\r\n if (!column || !column.showEditorAlways || oldColumn && !oldColumn.showEditorAlways) {\r\n this._editCellInProgress = true;\r\n this.getController(\"editorFactory\").loseFocus();\r\n this._dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: [oldEditRowIndex, this._getVisibleEditRowIndex()]\r\n })\r\n } else if (column !== oldColumn) {\r\n this._dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: []\r\n })\r\n }\r\n }\r\n _delayedInputFocus($cell, beforeFocusCallback, callBeforeFocusCallbackAlways) {\r\n var inputFocus = () => {\r\n if (beforeFocusCallback) {\r\n beforeFocusCallback()\r\n }\r\n if ($cell) {\r\n var $focusableElement = $cell.find(FOCUSABLE_ELEMENT_SELECTOR).first();\r\n gridCoreUtils.focusAndSelectElement(this, $focusableElement)\r\n }\r\n this._beforeFocusCallback = null\r\n };\r\n if (devices.real().ios || devices.real().android) {\r\n inputFocus()\r\n } else {\r\n if (this._beforeFocusCallback) {\r\n this._beforeFocusCallback()\r\n }\r\n clearTimeout(this._inputFocusTimeoutID);\r\n if (callBeforeFocusCallbackAlways) {\r\n this._beforeFocusCallback = beforeFocusCallback\r\n }\r\n this._inputFocusTimeoutID = setTimeout(inputFocus)\r\n }\r\n }\r\n _focusEditingCell(beforeFocusCallback, $editCell, callBeforeFocusCallbackAlways) {\r\n var rowsView = this.getView(\"rowsView\");\r\n var editColumnIndex = this._getVisibleEditColumnIndex();\r\n $editCell = $editCell || rowsView && rowsView._getCellElement(this._getVisibleEditRowIndex(), editColumnIndex);\r\n if ($editCell) {\r\n this._delayedInputFocus($editCell, beforeFocusCallback, callBeforeFocusCallbackAlways)\r\n }\r\n }\r\n deleteRow(rowIndex) {\r\n this._checkAndDeleteRow(rowIndex)\r\n }\r\n _checkAndDeleteRow(rowIndex) {\r\n var editingOptions = this.option(\"editing\");\r\n var editingTexts = null === editingOptions || void 0 === editingOptions ? void 0 : editingOptions.texts;\r\n var confirmDelete = null === editingOptions || void 0 === editingOptions ? void 0 : editingOptions.confirmDelete;\r\n var confirmDeleteMessage = null === editingTexts || void 0 === editingTexts ? void 0 : editingTexts.confirmDeleteMessage;\r\n var item = this._dataController.items()[rowIndex];\r\n var allowDeleting = !this.isEditing() || item.isNewRow;\r\n if (item && allowDeleting) {\r\n if (!confirmDelete || !confirmDeleteMessage) {\r\n this._deleteRowCore(rowIndex)\r\n } else {\r\n var confirmDeleteTitle = editingTexts && editingTexts.confirmDeleteTitle;\r\n var showDialogTitle = isDefined(confirmDeleteTitle) && confirmDeleteTitle.length > 0;\r\n confirm(confirmDeleteMessage, confirmDeleteTitle, showDialogTitle).done(confirmResult => {\r\n if (confirmResult) {\r\n this._deleteRowCore(rowIndex)\r\n }\r\n })\r\n }\r\n }\r\n }\r\n _deleteRowCore(rowIndex) {\r\n var dataController = this._dataController;\r\n var item = dataController.items()[rowIndex];\r\n var key = item && item.key;\r\n var oldEditRowIndex = this._getVisibleEditRowIndex();\r\n this.refresh();\r\n var changes = this.getChanges();\r\n var editIndex = gridCoreUtils.getIndexByKey(key, changes);\r\n if (editIndex >= 0) {\r\n if (changes[editIndex].type === DATA_EDIT_DATA_INSERT_TYPE) {\r\n this._removeChange(editIndex)\r\n } else {\r\n this._addChange({\r\n key: key,\r\n type: DATA_EDIT_DATA_REMOVE_TYPE\r\n })\r\n }\r\n } else {\r\n this._addChange({\r\n key: key,\r\n oldData: item.data,\r\n type: DATA_EDIT_DATA_REMOVE_TYPE\r\n })\r\n }\r\n return this._afterDeleteRow(rowIndex, oldEditRowIndex)\r\n }\r\n _afterDeleteRow(rowIndex, oldEditRowIndex) {\r\n return this.saveEditData()\r\n }\r\n undeleteRow(rowIndex) {\r\n var dataController = this._dataController;\r\n var item = dataController.items()[rowIndex];\r\n var oldEditRowIndex = this._getVisibleEditRowIndex();\r\n var key = item && item.key;\r\n var changes = this.getChanges();\r\n if (item) {\r\n var editIndex = gridCoreUtils.getIndexByKey(key, changes);\r\n if (editIndex >= 0) {\r\n var {\r\n data: data\r\n } = changes[editIndex];\r\n if (isEmptyObject(data)) {\r\n this._removeChange(editIndex)\r\n } else {\r\n this._addChange({\r\n key: key,\r\n type: DATA_EDIT_DATA_UPDATE_TYPE\r\n })\r\n }\r\n dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: [oldEditRowIndex, rowIndex]\r\n })\r\n }\r\n }\r\n }\r\n _fireOnSaving() {\r\n var onSavingParams = {\r\n cancel: false,\r\n promise: null,\r\n changes: [...this.getChanges()]\r\n };\r\n this.executeAction(\"onSaving\", onSavingParams);\r\n var d = new Deferred;\r\n when(fromPromise(onSavingParams.promise)).done(() => {\r\n d.resolve(onSavingParams)\r\n }).fail(arg => {\r\n createFailureHandler(d);\r\n this._fireDataErrorOccurred(arg);\r\n d.resolve({\r\n cancel: true\r\n })\r\n });\r\n return d\r\n }\r\n _executeEditingAction(actionName, params, func) {\r\n if (this.component._disposed) {\r\n return null\r\n }\r\n var deferred = new Deferred;\r\n this.executeAction(actionName, params);\r\n when(fromPromise(params.cancel)).done(cancel => {\r\n if (cancel) {\r\n setTimeout(() => {\r\n deferred.resolve(\"cancel\")\r\n })\r\n } else {\r\n func(params).done(deferred.resolve).fail(createFailureHandler(deferred))\r\n }\r\n }).fail(createFailureHandler(deferred));\r\n return deferred\r\n }\r\n _processChanges(deferreds, results, dataChanges, changes) {\r\n var store = this._dataController.store();\r\n each(changes, (index, change) => {\r\n var oldData = this._getOldData(change.key);\r\n var {\r\n data: data,\r\n type: type\r\n } = change;\r\n var changeCopy = _extends({}, change);\r\n var deferred;\r\n var params;\r\n if (this._beforeSaveEditData(change, index)) {\r\n return\r\n }\r\n switch (type) {\r\n case DATA_EDIT_DATA_REMOVE_TYPE:\r\n params = {\r\n data: oldData,\r\n key: change.key,\r\n cancel: false\r\n };\r\n deferred = this._executeEditingAction(\"onRowRemoving\", params, () => store.remove(change.key).done(key => {\r\n dataChanges.push({\r\n type: \"remove\",\r\n key: key\r\n })\r\n }));\r\n break;\r\n case DATA_EDIT_DATA_INSERT_TYPE:\r\n params = {\r\n data: data,\r\n cancel: false\r\n };\r\n deferred = this._executeEditingAction(\"onRowInserting\", params, () => store.insert(params.data).done((data, key) => {\r\n if (isDefined(key)) {\r\n changeCopy.key = key\r\n }\r\n if (data && isObject(data) && data !== params.data) {\r\n changeCopy.data = data\r\n }\r\n dataChanges.push({\r\n type: \"insert\",\r\n data: data,\r\n index: 0\r\n })\r\n }));\r\n break;\r\n case DATA_EDIT_DATA_UPDATE_TYPE:\r\n params = {\r\n newData: data,\r\n oldData: oldData,\r\n key: change.key,\r\n cancel: false\r\n };\r\n deferred = this._executeEditingAction(\"onRowUpdating\", params, () => store.update(change.key, params.newData).done((data, key) => {\r\n if (data && isObject(data) && data !== params.newData) {\r\n changeCopy.data = data\r\n }\r\n dataChanges.push({\r\n type: \"update\",\r\n key: key,\r\n data: data\r\n })\r\n }))\r\n }\r\n changes[index] = changeCopy;\r\n if (deferred) {\r\n var doneDeferred = new Deferred;\r\n deferred.always(data => {\r\n results.push({\r\n key: change.key,\r\n result: data\r\n })\r\n }).always(doneDeferred.resolve);\r\n deferreds.push(doneDeferred.promise())\r\n }\r\n })\r\n }\r\n _processRemoveIfError(changes, editIndex) {\r\n var change = changes[editIndex];\r\n if ((null === change || void 0 === change ? void 0 : change.type) === DATA_EDIT_DATA_REMOVE_TYPE) {\r\n if (editIndex >= 0) {\r\n changes.splice(editIndex, 1)\r\n }\r\n }\r\n return true\r\n }\r\n _processRemove(changes, editIndex, cancel) {\r\n var change = changes[editIndex];\r\n if (!cancel || !change || change.type === DATA_EDIT_DATA_REMOVE_TYPE) {\r\n return this._processRemoveCore(changes, editIndex, !cancel || !change)\r\n }\r\n }\r\n _processRemoveCore(changes, editIndex, processIfBatch) {\r\n if (editIndex >= 0) {\r\n changes.splice(editIndex, 1)\r\n }\r\n return true\r\n }\r\n _processSaveEditDataResult(results) {\r\n var hasSavedData = false;\r\n var changes = [...this.getChanges()];\r\n var changesLength = changes.length;\r\n for (var i = 0; i < results.length; i++) {\r\n var arg = results[i].result;\r\n var cancel = \"cancel\" === arg;\r\n var editIndex = gridCoreUtils.getIndexByKey(results[i].key, changes);\r\n var change = changes[editIndex];\r\n var isError = arg && arg instanceof Error;\r\n if (isError) {\r\n if (change) {\r\n this._addInternalData({\r\n key: change.key,\r\n error: arg\r\n })\r\n }\r\n this._fireDataErrorOccurred(arg);\r\n if (this._processRemoveIfError(changes, editIndex)) {\r\n break\r\n }\r\n } else if (this._processRemove(changes, editIndex, cancel)) {\r\n hasSavedData = !cancel\r\n }\r\n }\r\n if (changes.length < changesLength) {\r\n this._silentOption(EDITING_CHANGES_OPTION_NAME, changes)\r\n }\r\n return hasSavedData\r\n }\r\n _fireSaveEditDataEvents(changes) {\r\n each(changes, (_, _ref) => {\r\n var {\r\n data: data,\r\n key: key,\r\n type: type\r\n } = _ref;\r\n var internalData = this._addInternalData({\r\n key: key\r\n });\r\n var params = {\r\n key: key,\r\n data: data\r\n };\r\n if (internalData.error) {\r\n params.error = internalData.error\r\n }\r\n switch (type) {\r\n case DATA_EDIT_DATA_REMOVE_TYPE:\r\n this.executeAction(\"onRowRemoved\", extend({}, params, {\r\n data: internalData.oldData\r\n }));\r\n break;\r\n case DATA_EDIT_DATA_INSERT_TYPE:\r\n this.executeAction(\"onRowInserted\", params);\r\n break;\r\n case DATA_EDIT_DATA_UPDATE_TYPE:\r\n this.executeAction(\"onRowUpdated\", params)\r\n }\r\n });\r\n this.executeAction(\"onSaved\", {\r\n changes: changes\r\n })\r\n }\r\n saveEditData() {\r\n var deferred = new Deferred;\r\n this.waitForDeferredOperations().done(() => {\r\n if (this.isSaving()) {\r\n this._resolveAfterSave(deferred);\r\n return\r\n }\r\n when(this._beforeSaveEditData()).done(cancel => {\r\n if (cancel) {\r\n this._resolveAfterSave(deferred, {\r\n cancel: cancel\r\n });\r\n return\r\n }\r\n this._saving = true;\r\n this._saveEditDataInner().always(() => {\r\n this._saving = false;\r\n if (this._refocusEditCell) {\r\n this._focusEditingCell()\r\n }\r\n }).done(deferred.resolve).fail(deferred.reject)\r\n }).fail(deferred.reject)\r\n }).fail(deferred.reject);\r\n return deferred.promise()\r\n }\r\n _resolveAfterSave(deferred) {\r\n var {\r\n cancel: cancel,\r\n error: error\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n when(this._afterSaveEditData(cancel)).done(() => {\r\n deferred.resolve(error)\r\n }).fail(deferred.reject)\r\n }\r\n _saveEditDataInner() {\r\n var result = new Deferred;\r\n var results = [];\r\n var deferreds = [];\r\n var dataChanges = [];\r\n var dataSource = this._dataController.dataSource();\r\n when(this._fireOnSaving()).done(_ref2 => {\r\n var {\r\n cancel: cancel,\r\n changes: changes\r\n } = _ref2;\r\n if (cancel) {\r\n return result.resolve().promise()\r\n }\r\n this._processChanges(deferreds, results, dataChanges, changes);\r\n if (deferreds.length) {\r\n this._refocusEditCell = true;\r\n null === dataSource || void 0 === dataSource ? void 0 : dataSource.beginLoading();\r\n when(...deferreds).done(() => {\r\n if (this._processSaveEditDataResult(results)) {\r\n this._endSaving(dataChanges, changes, result)\r\n } else {\r\n null === dataSource || void 0 === dataSource ? void 0 : dataSource.endLoading();\r\n result.resolve()\r\n }\r\n }).fail(error => {\r\n null === dataSource || void 0 === dataSource ? void 0 : dataSource.endLoading();\r\n result.resolve(error)\r\n });\r\n return result.always(() => {\r\n this._refocusEditCell = true\r\n }).promise()\r\n }\r\n this._cancelSaving(result)\r\n }).fail(result.reject);\r\n return result.promise()\r\n }\r\n _beforeEndSaving(changes) {\r\n this._resetEditIndices()\r\n }\r\n _endSaving(dataChanges, changes, deferred) {\r\n var dataSource = this._dataController.dataSource();\r\n this._beforeEndSaving(changes);\r\n null === dataSource || void 0 === dataSource ? void 0 : dataSource.endLoading();\r\n this._refreshDataAfterSave(dataChanges, changes, deferred)\r\n }\r\n _cancelSaving(result) {\r\n this.executeAction(\"onSaved\", {\r\n changes: []\r\n });\r\n this._resolveAfterSave(result)\r\n }\r\n _refreshDataAfterSave(dataChanges, changes, deferred) {\r\n var dataController = this._dataController;\r\n var refreshMode = this.option(\"editing.refreshMode\");\r\n var isFullRefresh = \"reshape\" !== refreshMode && \"repaint\" !== refreshMode;\r\n if (!isFullRefresh) {\r\n dataController.push(dataChanges)\r\n }\r\n when(dataController.refresh({\r\n selection: isFullRefresh,\r\n reload: isFullRefresh,\r\n load: \"reshape\" === refreshMode,\r\n changesOnly: this.option(\"repaintChangesOnly\")\r\n })).always(() => {\r\n this._fireSaveEditDataEvents(changes)\r\n }).done(() => {\r\n this._resolveAfterSave(deferred)\r\n }).fail(error => {\r\n this._resolveAfterSave(deferred, {\r\n error: error\r\n })\r\n })\r\n }\r\n isSaving() {\r\n return this._saving\r\n }\r\n _updateEditColumn() {\r\n var isEditColumnVisible = this._isEditColumnVisible();\r\n var useIcons = this.option(\"editing.useIcons\");\r\n var cssClass = COMMAND_EDIT_CLASS + (useIcons ? \" \".concat(COMMAND_EDIT_WITH_ICONS_CLASS) : \"\");\r\n this._columnsController.addCommandColumn({\r\n type: \"buttons\",\r\n command: \"edit\",\r\n visible: isEditColumnVisible,\r\n cssClass: cssClass,\r\n width: \"auto\",\r\n alignment: \"center\",\r\n cellTemplate: this._getEditCommandCellTemplate(),\r\n fixedPosition: \"right\"\r\n });\r\n this._columnsController.columnOption(\"command:edit\", {\r\n visible: isEditColumnVisible,\r\n cssClass: cssClass\r\n })\r\n }\r\n _isEditColumnVisible() {\r\n var editingOptions = this.option(\"editing\");\r\n return editingOptions.allowDeleting\r\n }\r\n _isEditButtonDisabled() {\r\n var hasChanges = this.hasChanges();\r\n var isEditRowDefined = isDefined(this.option(\"editing.editRowKey\"));\r\n return !(isEditRowDefined || hasChanges)\r\n }\r\n _updateEditButtons() {\r\n var headerPanel = this.getView(\"headerPanel\");\r\n var isButtonDisabled = this._isEditButtonDisabled();\r\n if (headerPanel) {\r\n headerPanel.setToolbarItemDisabled(\"saveButton\", isButtonDisabled);\r\n headerPanel.setToolbarItemDisabled(\"revertButton\", isButtonDisabled)\r\n }\r\n }\r\n _applyModified($element, options) {\r\n $element && $element.addClass(CELL_MODIFIED)\r\n }\r\n _beforeCloseEditCellInBatchMode(rowIndices) {}\r\n cancelEditData() {\r\n var changes = this.getChanges();\r\n var params = {\r\n cancel: false,\r\n changes: changes\r\n };\r\n this.executeAction(\"onEditCanceling\", params);\r\n if (!params.cancel) {\r\n this._cancelEditDataCore();\r\n this.executeAction(\"onEditCanceled\", {\r\n changes: changes\r\n })\r\n }\r\n }\r\n _cancelEditDataCore() {\r\n var rowIndex = this._getVisibleEditRowIndex();\r\n this._beforeCancelEditData();\r\n this.init();\r\n this.resetChanges();\r\n this._resetEditColumnName();\r\n this._resetEditRowKey();\r\n this._afterCancelEditData(rowIndex)\r\n }\r\n _afterCancelEditData(rowIndex) {\r\n var dataController = this._dataController;\r\n dataController.updateItems({\r\n repaintChangesOnly: this.option(\"repaintChangesOnly\")\r\n })\r\n }\r\n _hideEditPopup() {}\r\n hasEditData() {\r\n return this.hasChanges()\r\n }\r\n update(changeType) {\r\n var dataController = this._dataController;\r\n if (dataController && this._pageIndex !== dataController.pageIndex()) {\r\n if (\"refresh\" === changeType) {\r\n this.refresh({\r\n isPageChanged: true\r\n })\r\n }\r\n this._pageIndex = dataController.pageIndex()\r\n }\r\n this._updateEditButtons()\r\n }\r\n _getRowIndicesForCascadeUpdating(row, skipCurrentRow) {\r\n return skipCurrentRow ? [] : [row.rowIndex]\r\n }\r\n addDeferred(deferred) {\r\n if (!this._deferreds.includes(deferred)) {\r\n this._deferreds.push(deferred);\r\n deferred.always(() => {\r\n var index = this._deferreds.indexOf(deferred);\r\n if (index >= 0) {\r\n this._deferreds.splice(index, 1)\r\n }\r\n })\r\n }\r\n }\r\n _prepareChange(options, value, text) {\r\n var _a;\r\n var newData = {};\r\n var oldData = null === (_a = options.row) || void 0 === _a ? void 0 : _a.data;\r\n var rowKey = options.key;\r\n var deferred = new Deferred;\r\n if (void 0 !== rowKey) {\r\n options.value = value;\r\n var setCellValueResult = fromPromise(options.column.setCellValue(newData, value, extend(true, {}, oldData), text));\r\n setCellValueResult.done(() => {\r\n deferred.resolve({\r\n data: newData,\r\n key: rowKey,\r\n oldData: oldData,\r\n type: DATA_EDIT_DATA_UPDATE_TYPE\r\n })\r\n }).fail(createFailureHandler(deferred)).fail(arg => this._fireDataErrorOccurred(arg));\r\n if (isDefined(text) && options.column.displayValueMap) {\r\n options.column.displayValueMap[value] = text\r\n }\r\n this._updateRowValues(options);\r\n this.addDeferred(deferred)\r\n }\r\n return deferred\r\n }\r\n _updateRowValues(options) {\r\n if (options.values) {\r\n var dataController = this._dataController;\r\n var rowIndex = dataController.getRowIndexByKey(options.key);\r\n var row = dataController.getVisibleRows()[rowIndex];\r\n if (row) {\r\n options.row.values = row.values;\r\n options.values = row.values\r\n }\r\n options.values[options.columnIndex] = options.value\r\n }\r\n }\r\n updateFieldValue(options, value, text, forceUpdateRow) {\r\n var rowKey = options.key;\r\n var deferred = new Deferred;\r\n if (void 0 === rowKey) {\r\n this._dataController.fireError(\"E1043\")\r\n }\r\n if (options.column.setCellValue) {\r\n this._prepareChange(options, value, text).done(params => {\r\n when(this._applyChange(options, params, forceUpdateRow)).always(() => {\r\n deferred.resolve()\r\n })\r\n })\r\n } else {\r\n deferred.resolve()\r\n }\r\n return deferred.promise()\r\n }\r\n _focusPreviousEditingCellIfNeed(options) {\r\n if (this.hasEditData() && !this.isEditCell(options.rowIndex, options.columnIndex)) {\r\n this._focusEditingCell();\r\n this._updateEditRow(options.row, true);\r\n return true\r\n }\r\n }\r\n _needUpdateRow(column) {\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n if (!column) {\r\n column = this._getEditColumn()\r\n }\r\n var isCustomSetCellValue = column && column.setCellValue !== column.defaultSetCellValue;\r\n var isCustomCalculateCellValue = visibleColumns.some(visibleColumn => visibleColumn.calculateCellValue !== visibleColumn.defaultCalculateCellValue);\r\n return isCustomSetCellValue || isCustomCalculateCellValue\r\n }\r\n _applyChange(options, params, forceUpdateRow) {\r\n var changeOptions = _extends(_extends({}, options), {\r\n forceUpdateRow: forceUpdateRow\r\n });\r\n this._addChange(params, changeOptions);\r\n this._updateEditButtons();\r\n return this._applyChangeCore(options, changeOptions.forceUpdateRow)\r\n }\r\n _applyChangeCore(options, forceUpdateRow) {\r\n var isCustomSetCellValue = options.column.setCellValue !== options.column.defaultSetCellValue;\r\n var {\r\n row: row\r\n } = options;\r\n if (row) {\r\n if (forceUpdateRow || isCustomSetCellValue) {\r\n this._updateEditRow(row, forceUpdateRow, isCustomSetCellValue)\r\n } else if (row.update) {\r\n row.update()\r\n }\r\n }\r\n }\r\n _updateEditRowCore(row, skipCurrentRow, isCustomSetCellValue) {\r\n this._dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: this._getRowIndicesForCascadeUpdating(row, skipCurrentRow)\r\n })\r\n }\r\n _updateEditRow(row, forceUpdateRow, isCustomSetCellValue) {\r\n if (forceUpdateRow) {\r\n this._updateRowImmediately(row, forceUpdateRow, isCustomSetCellValue)\r\n } else {\r\n this._updateRowWithDelay(row, isCustomSetCellValue)\r\n }\r\n }\r\n _updateRowImmediately(row, forceUpdateRow, isCustomSetCellValue) {\r\n this._updateEditRowCore(row, !forceUpdateRow, isCustomSetCellValue);\r\n this._validateEditFormAfterUpdate(row, isCustomSetCellValue);\r\n if (!forceUpdateRow) {\r\n this._focusEditingCell()\r\n }\r\n }\r\n _updateRowWithDelay(row, isCustomSetCellValue) {\r\n var deferred = new Deferred;\r\n this.addDeferred(deferred);\r\n setTimeout(() => {\r\n var _a;\r\n var elementContainer = (null === (_a = this._editForm) || void 0 === _a ? void 0 : _a.element()) || this.component.$element().get(0);\r\n var $focusedElement = $(domAdapter.getActiveElement(elementContainer));\r\n var columnIndex = this._rowsView.getCellIndex($focusedElement, row.rowIndex);\r\n var focusedElement = $focusedElement.get(0);\r\n var selectionRange = gridCoreUtils.getSelectionRange(focusedElement);\r\n this._updateEditRowCore(row, false, isCustomSetCellValue);\r\n this._validateEditFormAfterUpdate(row, isCustomSetCellValue);\r\n if (columnIndex >= 0) {\r\n var $focusedItem = this._rowsView._getCellElement(row.rowIndex, columnIndex);\r\n this._delayedInputFocus($focusedItem, () => {\r\n setTimeout(() => {\r\n var _a;\r\n focusedElement = domAdapter.getActiveElement(null === (_a = this.component.$element()) || void 0 === _a ? void 0 : _a.get(0));\r\n if (selectionRange.selectionStart >= 0) {\r\n gridCoreUtils.setSelectionRange(focusedElement, selectionRange)\r\n }\r\n })\r\n })\r\n }\r\n deferred.resolve()\r\n })\r\n }\r\n _validateEditFormAfterUpdate() {}\r\n _addChange(changeParams, options) {\r\n var _a;\r\n var row = null === options || void 0 === options ? void 0 : options.row;\r\n var changes = [...this.getChanges()];\r\n var index = gridCoreUtils.getIndexByKey(changeParams.key, changes);\r\n if (index < 0) {\r\n index = changes.length;\r\n this._addInternalData({\r\n key: changeParams.key,\r\n oldData: changeParams.oldData\r\n });\r\n delete changeParams.oldData;\r\n changes.push(changeParams)\r\n }\r\n var change = _extends({}, changes[index]);\r\n if (change) {\r\n if (changeParams.data) {\r\n change.data = createObjectWithChanges(change.data, changeParams.data)\r\n }\r\n if ((!change.type || !changeParams.data) && changeParams.type) {\r\n change.type = changeParams.type\r\n }\r\n if (row) {\r\n row.oldData = this._getOldData(row.key);\r\n row.data = createObjectWithChanges(row.data, changeParams.data)\r\n }\r\n }\r\n changes[index] = change;\r\n this._silentOption(EDITING_CHANGES_OPTION_NAME, changes);\r\n if (options && change !== (null === (_a = this.getChanges()) || void 0 === _a ? void 0 : _a[index])) {\r\n options.forceUpdateRow = true\r\n }\r\n return change\r\n }\r\n _getFormEditItemTemplate(cellOptions, column) {\r\n return column.editCellTemplate || this._getDefaultEditorTemplate()\r\n }\r\n getColumnTemplate(options) {\r\n var {\r\n column: column\r\n } = options;\r\n var rowIndex = options.row && options.row.rowIndex;\r\n var template;\r\n var isRowMode = this.isRowBasedEditMode();\r\n var isRowEditing = this.isEditRow(rowIndex);\r\n var isCellEditing = this.isEditCell(rowIndex, options.columnIndex);\r\n var editingStartOptions;\r\n if ((column.showEditorAlways || column.setCellValue && (isRowEditing && column.allowEditing || isCellEditing)) && (\"data\" === options.rowType || \"detailAdaptive\" === options.rowType) && !column.command) {\r\n var allowUpdating = this.allowUpdating(options);\r\n if (((allowUpdating || isRowEditing) && column.allowEditing || isCellEditing) && (isRowEditing || !isRowMode)) {\r\n if (column.showEditorAlways && !isRowMode) {\r\n editingStartOptions = {\r\n cancel: false,\r\n key: options.row.isNewRow ? void 0 : options.row.key,\r\n data: options.row.data,\r\n column: column\r\n };\r\n this._isEditingStart(editingStartOptions)\r\n }\r\n if (!editingStartOptions || !editingStartOptions.cancel) {\r\n options.setValue = (value, text) => {\r\n this.updateFieldValue(options, value, text)\r\n }\r\n }\r\n }\r\n template = column.editCellTemplate || this._getDefaultEditorTemplate()\r\n } else if (\"detail\" === column.command && \"detail\" === options.rowType && isRowEditing) {\r\n template = null === this || void 0 === this ? void 0 : this.getEditFormTemplate(options)\r\n }\r\n return template\r\n }\r\n _createButton($container, button, options, change) {\r\n var icon = EDIT_ICON_CLASS[button.name];\r\n var useIcons = this.option(\"editing.useIcons\");\r\n var useLegacyColumnButtonTemplate = this.option(\"useLegacyColumnButtonTemplate\");\r\n var $button = $(\"\").attr(\"href\", \"#\").addClass(LINK_CLASS).addClass(button.cssClass);\r\n if (button.template && useLegacyColumnButtonTemplate) {\r\n this._rowsView.renderTemplate($container, button.template, options, true)\r\n } else {\r\n if (button.template) {\r\n $button = $(\"\").addClass(button.cssClass)\r\n } else if (useIcons && icon || button.icon) {\r\n icon = button.icon || icon;\r\n var iconType = iconUtils.getImageSourceType(icon);\r\n if (\"image\" === iconType || \"svg\" === iconType) {\r\n $button = iconUtils.getImageContainer(icon).addClass(button.cssClass)\r\n } else {\r\n $button.addClass(\"dx-icon\".concat(\"dxIcon\" === iconType ? \"-\" : \" \").concat(icon)).attr(\"title\", button.text)\r\n }\r\n $button.addClass(LINK_ICON_CLASS);\r\n $container.addClass(COMMAND_EDIT_WITH_ICONS_CLASS);\r\n var localizationName = this.getButtonLocalizationNames()[button.name];\r\n localizationName && $button.attr(\"aria-label\", messageLocalization.format(localizationName))\r\n } else {\r\n $button.text(button.text)\r\n }\r\n if (isDefined(button.hint)) {\r\n $button.attr(\"title\", button.hint)\r\n }\r\n if (this._isButtonDisabled(button, options)) {\r\n $button.addClass(\"dx-state-disabled\")\r\n } else if (!button.template || button.onClick) {\r\n eventsEngine.on($button, addNamespace(\"click\", EDITING_NAMESPACE), this.createAction(e => {\r\n var _a;\r\n null === (_a = button.onClick) || void 0 === _a ? void 0 : _a.call(button, extend({}, e, {\r\n row: options.row,\r\n column: options.column\r\n }));\r\n e.event.preventDefault();\r\n e.event.stopPropagation()\r\n }))\r\n }\r\n $container.append($button, \" \");\r\n if (button.template) {\r\n options.renderAsync = false;\r\n this._rowsView.renderTemplate($button, button.template, options, true, change)\r\n }\r\n }\r\n }\r\n getButtonLocalizationNames() {\r\n return {\r\n edit: \"dxDataGrid-editingEditRow\",\r\n save: \"dxDataGrid-editingSaveRowChanges\",\r\n delete: \"dxDataGrid-editingDeleteRow\",\r\n undelete: \"dxDataGrid-editingUndeleteRow\",\r\n cancel: \"dxDataGrid-editingCancelRowChanges\"\r\n }\r\n }\r\n prepareButtonItem(headerPanel, name, methodName, sortIndex) {\r\n var _a;\r\n var editingTexts = null !== (_a = this.option(\"editing.texts\")) && void 0 !== _a ? _a : {};\r\n var titleButtonTextByClassNames = {\r\n revert: editingTexts.cancelAllChanges,\r\n save: editingTexts.saveAllChanges,\r\n addRow: editingTexts.addRow\r\n };\r\n var className = {\r\n revert: \"cancel\",\r\n save: \"save\",\r\n addRow: \"addrow\"\r\n } [name];\r\n var hintText = titleButtonTextByClassNames[name];\r\n var isButtonDisabled = (\"save\" === className || \"cancel\" === className) && this._isEditButtonDisabled();\r\n return {\r\n widget: \"dxButton\",\r\n options: {\r\n onInitialized: e => {\r\n $(e.element).addClass(headerPanel._getToolbarButtonClass(\"\".concat(EDIT_BUTTON_CLASS, \" \").concat(this.addWidgetPrefix(className), \"-button\")))\r\n },\r\n icon: \"edit-button-\".concat(className),\r\n disabled: isButtonDisabled,\r\n onClick: () => {\r\n setTimeout(() => {\r\n this[methodName]()\r\n })\r\n },\r\n text: hintText,\r\n hint: hintText\r\n },\r\n showText: \"inMenu\",\r\n name: \"\".concat(name, \"Button\"),\r\n location: \"after\",\r\n locateInMenu: \"auto\",\r\n sortIndex: sortIndex\r\n }\r\n }\r\n prepareEditButtons(headerPanel) {\r\n var _a;\r\n var editingOptions = null !== (_a = this.option(\"editing\")) && void 0 !== _a ? _a : {};\r\n var buttonItems = [];\r\n if (editingOptions.allowAdding) {\r\n buttonItems.push(this.prepareButtonItem(headerPanel, \"addRow\", \"addRow\", 20))\r\n }\r\n return buttonItems\r\n }\r\n highlightDataCell($cell, params) {\r\n this.shouldHighlightCell(params) && $cell.addClass(CELL_MODIFIED)\r\n }\r\n _afterInsertRow(key) {}\r\n _beforeSaveEditData(change) {\r\n if (change && !isDefined(change.key) && isDefined(change.type)) {\r\n return true\r\n }\r\n }\r\n _afterSaveEditData() {}\r\n _beforeCancelEditData() {}\r\n _allowEditAction(actionName, options) {\r\n var allowEditAction = this.option(\"editing.\".concat(actionName));\r\n if (isFunction(allowEditAction)) {\r\n allowEditAction = allowEditAction({\r\n component: this.component,\r\n row: options.row\r\n })\r\n }\r\n return allowEditAction\r\n }\r\n allowUpdating(options, eventName) {\r\n var _a;\r\n var startEditAction = null !== (_a = this.option(\"editing.startEditAction\")) && void 0 !== _a ? _a : DEFAULT_START_EDIT_ACTION;\r\n var needCallback = arguments.length > 1 ? startEditAction === eventName || \"down\" === eventName : true;\r\n return needCallback && this._allowEditAction(\"allowUpdating\", options)\r\n }\r\n allowDeleting(options) {\r\n return this._allowEditAction(\"allowDeleting\", options)\r\n }\r\n isCellModified(parameters) {\r\n var _a, _b, _c;\r\n var {\r\n columnIndex: columnIndex\r\n } = parameters;\r\n var modifiedValue = null === (_b = null === (_a = null === parameters || void 0 === parameters ? void 0 : parameters.row) || void 0 === _a ? void 0 : _a.modifiedValues) || void 0 === _b ? void 0 : _b[columnIndex];\r\n if (null === (_c = null === parameters || void 0 === parameters ? void 0 : parameters.row) || void 0 === _c ? void 0 : _c.isNewRow) {\r\n modifiedValue = parameters.value\r\n }\r\n return void 0 !== modifiedValue\r\n }\r\n isNewRowInEditMode() {\r\n var visibleEditRowIndex = this._getVisibleEditRowIndex();\r\n var rows = this._dataController.items();\r\n return visibleEditRowIndex >= 0 ? rows[visibleEditRowIndex].isNewRow : false\r\n }\r\n _isRowDeleteAllowed() {}\r\n shouldHighlightCell(parameters) {\r\n var cellModified = this.isCellModified(parameters);\r\n return cellModified && parameters.column.setCellValue && (this.getEditMode() !== EDIT_MODE_ROW || !parameters.row.isEditing)\r\n }\r\n}\r\nexport var editingModule = {\r\n defaultOptions: () => ({\r\n editing: {\r\n mode: \"row\",\r\n refreshMode: \"full\",\r\n newRowPosition: VIEWPORT_TOP_NEW_ROW_POSITION,\r\n allowAdding: false,\r\n allowUpdating: false,\r\n allowDeleting: false,\r\n useIcons: false,\r\n selectTextOnEditStart: false,\r\n confirmDelete: true,\r\n texts: {\r\n editRow: messageLocalization.format(\"dxDataGrid-editingEditRow\"),\r\n saveAllChanges: messageLocalization.format(\"dxDataGrid-editingSaveAllChanges\"),\r\n saveRowChanges: messageLocalization.format(\"dxDataGrid-editingSaveRowChanges\"),\r\n cancelAllChanges: messageLocalization.format(\"dxDataGrid-editingCancelAllChanges\"),\r\n cancelRowChanges: messageLocalization.format(\"dxDataGrid-editingCancelRowChanges\"),\r\n addRow: messageLocalization.format(\"dxDataGrid-editingAddRow\"),\r\n deleteRow: messageLocalization.format(\"dxDataGrid-editingDeleteRow\"),\r\n undeleteRow: messageLocalization.format(\"dxDataGrid-editingUndeleteRow\"),\r\n confirmDeleteMessage: messageLocalization.format(\"dxDataGrid-editingConfirmDeleteMessage\"),\r\n confirmDeleteTitle: \"\"\r\n },\r\n form: {\r\n colCount: 2\r\n },\r\n popup: {},\r\n startEditAction: \"click\",\r\n editRowKey: null,\r\n editColumnName: null,\r\n changes: []\r\n },\r\n useLegacyColumnButtonTemplate: false\r\n }),\r\n controllers: {\r\n editing: EditingControllerImpl\r\n },\r\n extenders: {\r\n controllers: {\r\n data: {\r\n init() {\r\n this._editingController = this.getController(\"editing\");\r\n this.callBase()\r\n },\r\n reload(full, repaintChangesOnly) {\r\n !repaintChangesOnly && this._editingController.refresh();\r\n return this.callBase.apply(this, arguments)\r\n },\r\n repaintRows() {\r\n if (this.getController(\"editing\").isSaving()) {\r\n return\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _updateEditRow(items) {\r\n var _a;\r\n var editRowKey = this.option(EDITING_EDITROWKEY_OPTION_NAME);\r\n var editRowIndex = gridCoreUtils.getIndexByKey(editRowKey, items);\r\n var editItem = items[editRowIndex];\r\n if (editItem) {\r\n editItem.isEditing = true;\r\n null === (_a = this._updateEditItem) || void 0 === _a ? void 0 : _a.call(this, editItem)\r\n }\r\n },\r\n _updateItemsCore(change) {\r\n this.callBase(change);\r\n this._updateEditRow(this.items(true))\r\n },\r\n _applyChangeUpdate(change) {\r\n this._updateEditRow(change.items);\r\n this.callBase(change)\r\n },\r\n _applyChangesOnly(change) {\r\n this._updateEditRow(change.items);\r\n this.callBase(change)\r\n },\r\n _processItems(items, change) {\r\n items = this._editingController.processItems(items, change);\r\n return this.callBase(items, change)\r\n },\r\n _processDataItem(dataItem, options) {\r\n this._editingController.processDataItem(dataItem, options, this.generateDataValues);\r\n return this.callBase(dataItem, options)\r\n },\r\n _processItem(item, options) {\r\n item = this.callBase(item, options);\r\n if (item.isNewRow) {\r\n options.dataIndex--;\r\n delete item.dataIndex\r\n }\r\n return item\r\n },\r\n _getChangedColumnIndices(oldItem, newItem, rowIndex, isLiveUpdate) {\r\n if (oldItem.isNewRow !== newItem.isNewRow || oldItem.removed !== newItem.removed) {\r\n return\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _isCellChanged(oldRow, newRow, visibleRowIndex, columnIndex, isLiveUpdate) {\r\n var editingController = this.getController(\"editing\");\r\n var cell = oldRow.cells && oldRow.cells[columnIndex];\r\n var isEditing = editingController && editingController.isEditCell(visibleRowIndex, columnIndex);\r\n if (isLiveUpdate && isEditing) {\r\n return false\r\n }\r\n if (cell && cell.column && !cell.column.showEditorAlways && cell.isEditing !== isEditing) {\r\n return true\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n needToRefreshOnDataSourceChange(args) {\r\n var editingController = this.getController(\"editing\");\r\n var isParasiteChange = Array.isArray(args.value) && args.value === args.previousValue && editingController.isSaving();\r\n return !isParasiteChange\r\n },\r\n _handleDataSourceChange(args) {\r\n var result = this.callBase(args);\r\n var changes = this.option(\"editing.changes\");\r\n var dataSource = args.value;\r\n if (Array.isArray(dataSource) && changes.length) {\r\n var dataSourceKeys = dataSource.map(item => this.keyOf(item));\r\n var newChanges = changes.filter(change => \"insert\" === change.type || dataSourceKeys.some(key => equalByValue(change.key, key)));\r\n if (newChanges.length !== changes.length) {\r\n this.option(\"editing.changes\", newChanges)\r\n }\r\n var editRowKey = this.option(\"editing.editRowKey\");\r\n var isEditNewItem = newChanges.some(change => \"insert\" === change.type && equalByValue(editRowKey, change.key));\r\n if (!isEditNewItem && dataSourceKeys.every(key => !equalByValue(editRowKey, key))) {\r\n this.option(\"editing.editRowKey\", null)\r\n }\r\n }\r\n return result\r\n }\r\n }\r\n },\r\n views: {\r\n rowsView: {\r\n init() {\r\n this.callBase();\r\n this._editingController = this.getController(\"editing\")\r\n },\r\n getCellIndex($cell, rowIndex) {\r\n if (!$cell.is(\"td\") && rowIndex >= 0) {\r\n var $cellElements = this.getCellElements(rowIndex);\r\n var cellIndex = -1;\r\n each($cellElements, (index, cellElement) => {\r\n if ($(cellElement).find($cell).length) {\r\n cellIndex = index\r\n }\r\n });\r\n return cellIndex\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n publicMethods() {\r\n return this.callBase().concat([\"cellValue\"])\r\n },\r\n _getCellTemplate(options) {\r\n var template = this._editingController.getColumnTemplate(options);\r\n return template || this.callBase(options)\r\n },\r\n _createRow(row) {\r\n var $row = this.callBase.apply(this, arguments);\r\n if (row) {\r\n var isRowRemoved = !!row.removed;\r\n var isRowInserted = !!row.isNewRow;\r\n var isRowModified = !!row.modified;\r\n isRowInserted && $row.addClass(ROW_INSERTED);\r\n isRowModified && $row.addClass(ROW_MODIFIED);\r\n if (isRowInserted || isRowRemoved) {\r\n $row.removeClass(ROW_SELECTED)\r\n }\r\n }\r\n return $row\r\n },\r\n _getColumnIndexByElement($element) {\r\n var $tableElement = $element.closest(\"table\");\r\n var $tableElements = this.getTableElements();\r\n while ($tableElement.length && !$tableElements.filter($tableElement).length) {\r\n $element = $tableElement.closest(\"td\");\r\n $tableElement = $element.closest(\"table\")\r\n }\r\n return this._getColumnIndexByElementCore($element)\r\n },\r\n _getColumnIndexByElementCore($element) {\r\n var $targetElement = $element.closest(\".\".concat(ROW_CLASS, \"> td:not(.dx-master-detail-cell)\"));\r\n return this.getCellIndex($targetElement)\r\n },\r\n _editCellByClick(e, eventName) {\r\n var editingController = this._editingController;\r\n var $targetElement = $(e.event.target);\r\n var columnIndex = this._getColumnIndexByElement($targetElement);\r\n var row = this._dataController.items()[e.rowIndex];\r\n var allowUpdating = editingController.allowUpdating({\r\n row: row\r\n }, eventName) || row && row.isNewRow;\r\n var column = this._columnsController.getVisibleColumns()[columnIndex];\r\n var isEditedCell = editingController.isEditCell(e.rowIndex, columnIndex);\r\n var allowEditing = allowUpdating && column && (column.allowEditing || isEditedCell);\r\n var startEditAction = this.option(\"editing.startEditAction\") || \"click\";\r\n var isShowEditorAlways = column && column.showEditorAlways;\r\n if (isEditedCell) {\r\n return true\r\n }\r\n if (\"down\" === eventName) {\r\n if (devices.real().ios || devices.real().android) {\r\n resetActiveElement()\r\n }\r\n return isShowEditorAlways && allowEditing && editingController.editCell(e.rowIndex, columnIndex)\r\n }\r\n if (\"click\" === eventName && \"dblClick\" === startEditAction && this._pointerDownTarget === $targetElement.get(0)) {\r\n var withoutSaveEditData = null === row || void 0 === row ? void 0 : row.isNewRow;\r\n editingController.closeEditCell(false, withoutSaveEditData)\r\n }\r\n if (allowEditing && eventName === startEditAction) {\r\n return editingController.editCell(e.rowIndex, columnIndex) || editingController.isEditRow(e.rowIndex)\r\n }\r\n },\r\n _rowPointerDown(e) {\r\n this._pointerDownTarget = e.event.target;\r\n this._pointerDownTimeout = setTimeout(() => {\r\n this._editCellByClick(e, \"down\")\r\n })\r\n },\r\n _rowClick(e) {\r\n var isEditForm = $(e.rowElement).hasClass(this.addWidgetPrefix(EDIT_FORM_CLASS));\r\n e.event[TARGET_COMPONENT_NAME] = this.component;\r\n if (!this._editCellByClick(e, \"click\") && !isEditForm) {\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n _rowDblClick(e) {\r\n if (!this._editCellByClick(e, \"dblClick\")) {\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n _cellPrepared($cell, parameters) {\r\n var _a;\r\n var editingController = this._editingController;\r\n var isCommandCell = !!parameters.column.command;\r\n var isEditableCell = parameters.setValue;\r\n var isEditRow = editingController.isEditRow(parameters.rowIndex);\r\n var isEditing = isEditingCell(isEditRow, parameters);\r\n if (isEditingOrShowEditorAlwaysDataCell(isEditRow, parameters)) {\r\n var {\r\n alignment: alignment\r\n } = parameters.column;\r\n $cell.toggleClass(this.addWidgetPrefix(READONLY_CLASS), !isEditableCell).toggleClass(CELL_FOCUS_DISABLED_CLASS, !isEditableCell);\r\n if (alignment) {\r\n $cell.find(EDITORS_INPUT_SELECTOR).first().css(\"textAlign\", alignment)\r\n }\r\n }\r\n if (isEditing) {\r\n this._editCellPrepared($cell)\r\n }\r\n var hasTemplate = !!(null === (_a = parameters.column) || void 0 === _a ? void 0 : _a.cellTemplate);\r\n if (parameters.column && !isCommandCell && (!hasTemplate || editingController.shouldHighlightCell(parameters))) {\r\n editingController.highlightDataCell($cell, parameters)\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _editCellPrepared: noop,\r\n _formItemPrepared: noop,\r\n _getCellOptions(options) {\r\n var cellOptions = this.callBase(options);\r\n cellOptions.isEditing = this._editingController.isEditCell(cellOptions.rowIndex, cellOptions.columnIndex);\r\n return cellOptions\r\n },\r\n _createCell(options) {\r\n var $cell = this.callBase(options);\r\n var isEditRow = this._editingController.isEditRow(options.rowIndex);\r\n isEditingOrShowEditorAlwaysDataCell(isEditRow, options) && $cell.addClass(EDITOR_CELL_CLASS);\r\n return $cell\r\n },\r\n cellValue(rowIndex, columnIdentifier, value, text) {\r\n var cellOptions = this.getCellOptions(rowIndex, columnIdentifier);\r\n if (cellOptions) {\r\n if (void 0 === value) {\r\n return cellOptions.value\r\n }\r\n this._editingController.updateFieldValue(cellOptions, value, text, true)\r\n }\r\n },\r\n dispose() {\r\n this.callBase.apply(this, arguments);\r\n clearTimeout(this._pointerDownTimeout)\r\n },\r\n _renderCore() {\r\n this.callBase.apply(this, arguments);\r\n return this.waitAsyncTemplates(true).done(() => {\r\n this._editingController._focusEditorIfNeed()\r\n })\r\n }\r\n },\r\n headerPanel: {\r\n _getToolbarItems() {\r\n var items = this.callBase();\r\n var editButtonItems = this.getController(\"editing\").prepareEditButtons(this);\r\n return editButtonItems.concat(items)\r\n },\r\n optionChanged(args) {\r\n var {\r\n fullName: fullName\r\n } = args;\r\n switch (args.name) {\r\n case \"editing\":\r\n var excludedOptions = [EDITING_POPUP_OPTION_NAME, EDITING_CHANGES_OPTION_NAME, EDITING_EDITCOLUMNNAME_OPTION_NAME, EDITING_EDITROWKEY_OPTION_NAME];\r\n var shouldInvalidate = fullName && !excludedOptions.some(optionName => optionName === fullName);\r\n shouldInvalidate && this._invalidate();\r\n this.callBase(args);\r\n break;\r\n case \"useLegacyColumnButtonTemplate\":\r\n args.handled = true;\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n isVisible() {\r\n var editingOptions = this.getController(\"editing\").option(\"editing\");\r\n return this.callBase() || (null === editingOptions || void 0 === editingOptions ? void 0 : editingOptions.allowAdding)\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/editing/m_editing_cell_based.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../../../core/dom_adapter\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n deferRender\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n isElementInDom\r\n} from \"../../../../core/utils/dom\";\r\nimport {\r\n isDefined,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n createObjectWithChanges\r\n} from \"../../../../data/array_utils\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../../events/click\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport holdEvent from \"../../../../events/hold\";\r\nimport pointerEvents from \"../../../../events/pointer\";\r\nimport {\r\n addNamespace\r\n} from \"../../../../events/utils/index\";\r\nimport {\r\n ADD_ROW_BUTTON_CLASS,\r\n CELL_MODIFIED_CLASS,\r\n DATA_EDIT_DATA_REMOVE_TYPE,\r\n DATA_ROW_CLASS,\r\n DROPDOWN_EDITOR_OVERLAY_CLASS,\r\n EDIT_MODE_BATCH,\r\n EDIT_MODE_CELL,\r\n EDITING_EDITCOLUMNNAME_OPTION_NAME,\r\n EDITING_EDITROWKEY_OPTION_NAME,\r\n EDITOR_CELL_CLASS,\r\n FOCUS_OVERLAY_CLASS,\r\n ROW_CLASS,\r\n ROW_REMOVED,\r\n TARGET_COMPONENT_NAME\r\n} from \"./const\";\r\nimport {\r\n isEditable\r\n} from \"./m_editing_utils\";\r\nvar editingControllerExtender = Base => class extends Base {\r\n init() {\r\n var needCreateHandlers = !this._saveEditorHandler;\r\n super.init();\r\n if (needCreateHandlers) {\r\n var $pointerDownTarget;\r\n var isResizing;\r\n this._pointerUpEditorHandler = () => {\r\n var _a;\r\n isResizing = null === (_a = this.getController(\"columnsResizer\")) || void 0 === _a ? void 0 : _a.isResizing()\r\n };\r\n this._pointerDownEditorHandler = e => $pointerDownTarget = $(e.target);\r\n this._saveEditorHandler = this.createAction((function(e) {\r\n var {\r\n event: event\r\n } = e;\r\n var $target = $(event.target);\r\n var targetComponent = event[TARGET_COMPONENT_NAME];\r\n var {\r\n component: component\r\n } = this;\r\n if (isEditable($pointerDownTarget) && !$pointerDownTarget.is($target)) {\r\n return\r\n }\r\n\r\n function checkEditorPopup($element) {\r\n if (!$element) {\r\n return false\r\n }\r\n var $dropDownEditorOverlay = $element.closest(\".\".concat(DROPDOWN_EDITOR_OVERLAY_CLASS));\r\n var $componentElement = component.$element();\r\n return $dropDownEditorOverlay.length > 0 && 0 === $componentElement.closest($dropDownEditorOverlay).length\r\n }\r\n if (this.isCellOrBatchEditMode() && !this._editCellInProgress) {\r\n var isEditorPopup = checkEditorPopup($target) || checkEditorPopup(null === targetComponent || void 0 === targetComponent ? void 0 : targetComponent.$element());\r\n var isAnotherComponent = targetComponent && !targetComponent._disposed && targetComponent !== this.component;\r\n var isAddRowButton = !!$target.closest(\".\".concat(this.addWidgetPrefix(ADD_ROW_BUTTON_CLASS))).length;\r\n var isFocusOverlay = $target.hasClass(this.addWidgetPrefix(FOCUS_OVERLAY_CLASS));\r\n var isCellEditMode = this.isCellEditMode();\r\n if (!isResizing && !isEditorPopup && !isFocusOverlay && !(isAddRowButton && isCellEditMode && this.isEditing()) && (isElementInDom($target) || isAnotherComponent)) {\r\n this._closeEditItem.bind(this)($target)\r\n }\r\n }\r\n }));\r\n eventsEngine.on(domAdapter.getDocument(), pointerEvents.up, this._pointerUpEditorHandler);\r\n eventsEngine.on(domAdapter.getDocument(), pointerEvents.down, this._pointerDownEditorHandler);\r\n eventsEngine.on(domAdapter.getDocument(), clickEventName, this._saveEditorHandler)\r\n }\r\n }\r\n isCellEditMode() {\r\n return this.option(\"editing.mode\") === EDIT_MODE_CELL\r\n }\r\n isBatchEditMode() {\r\n return this.option(\"editing.mode\") === EDIT_MODE_BATCH\r\n }\r\n isCellOrBatchEditMode() {\r\n return this.isCellEditMode() || this.isBatchEditMode()\r\n }\r\n _needToCloseEditableCell($targetElement) {\r\n var _a;\r\n var $element = this.component.$element();\r\n var result = this.isEditing();\r\n var isCurrentComponentElement = !$element || !!$targetElement.closest($element).length;\r\n if (isCurrentComponentElement) {\r\n var isDataRow = $targetElement.closest(\".\".concat(DATA_ROW_CLASS)).length;\r\n if (isDataRow) {\r\n var rowsView = this.getView(\"rowsView\");\r\n var $targetCell = $targetElement.closest(\".\".concat(ROW_CLASS, \"> td\"));\r\n var rowIndex = rowsView.getRowIndex($targetCell.parent());\r\n var cellElements = rowsView.getCellElements(rowIndex);\r\n if (null === cellElements || void 0 === cellElements ? void 0 : cellElements.length) {\r\n var columnIndex = cellElements.index($targetCell);\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n var allowEditing = null === (_a = visibleColumns[columnIndex]) || void 0 === _a ? void 0 : _a.allowEditing;\r\n var isEditingCell = this.isEditCell(rowIndex, columnIndex);\r\n result = result && !allowEditing && !isEditingCell\r\n }\r\n }\r\n }\r\n return result || super._needToCloseEditableCell($targetElement)\r\n }\r\n _closeEditItem($targetElement) {\r\n if (this._needToCloseEditableCell($targetElement)) {\r\n this.closeEditCell()\r\n }\r\n }\r\n _focusEditorIfNeed() {\r\n var _a;\r\n if (this._needFocusEditor && this.isCellOrBatchEditMode()) {\r\n var editColumnIndex = this._getVisibleEditColumnIndex();\r\n var $cell = null === (_a = this._rowsView) || void 0 === _a ? void 0 : _a._getCellElement(this._getVisibleEditRowIndex(), editColumnIndex);\r\n if ($cell && !$cell.find(\":focus\").length) {\r\n this._focusEditingCell(() => {\r\n this._editCellInProgress = false\r\n }, $cell, true)\r\n } else {\r\n this._editCellInProgress = false\r\n }\r\n this._needFocusEditor = false\r\n } else {\r\n super._focusEditorIfNeed()\r\n }\r\n }\r\n isEditing() {\r\n if (this.isCellOrBatchEditMode()) {\r\n var isEditRowKeyDefined = isDefined(this.option(EDITING_EDITROWKEY_OPTION_NAME));\r\n var isEditColumnNameDefined = isDefined(this.option(EDITING_EDITCOLUMNNAME_OPTION_NAME));\r\n return isEditRowKeyDefined && isEditColumnNameDefined\r\n }\r\n return super.isEditing()\r\n }\r\n _handleEditColumnNameChange(args) {\r\n var oldRowIndex = this._getVisibleEditRowIndex(args.previousValue);\r\n if (this.isCellOrBatchEditMode() && -1 !== oldRowIndex && isDefined(args.value) && args.value !== args.previousValue) {\r\n var columnIndex = this._columnsController.getVisibleColumnIndex(args.value);\r\n var oldColumnIndex = this._columnsController.getVisibleColumnIndex(args.previousValue);\r\n this._editCellFromOptionChanged(columnIndex, oldColumnIndex, oldRowIndex)\r\n }\r\n }\r\n _addRow(parentKey) {\r\n if (this.isCellEditMode() && this.hasChanges()) {\r\n var deferred = new Deferred;\r\n this.saveEditData().done(() => {\r\n if (!this.hasChanges()) {\r\n this.addRow(parentKey).done(deferred.resolve).fail(deferred.reject)\r\n } else {\r\n deferred.reject(\"cancel\")\r\n }\r\n });\r\n return deferred.promise()\r\n }\r\n return super._addRow(parentKey)\r\n }\r\n editCell(rowIndex, columnIndex) {\r\n return this._editCell({\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex\r\n })\r\n }\r\n _editCell(options) {\r\n var d = new Deferred;\r\n var coreResult;\r\n this.executeOperation(d, () => {\r\n coreResult = this._editCellCore(options);\r\n when(coreResult).done(d.resolve).fail(d.reject)\r\n });\r\n return void 0 !== coreResult ? coreResult : d.promise()\r\n }\r\n _editCellCore(options) {\r\n var dataController = this._dataController;\r\n var isEditByOptionChanged = isDefined(options.oldColumnIndex) || isDefined(options.oldRowIndex);\r\n var {\r\n columnIndex: columnIndex,\r\n rowIndex: rowIndex,\r\n column: column,\r\n item: item\r\n } = this._getNormalizedEditCellOptions(options);\r\n var params = {\r\n data: null === item || void 0 === item ? void 0 : item.data,\r\n cancel: false,\r\n column: column\r\n };\r\n if (void 0 === item.key) {\r\n this._dataController.fireError(\"E1043\");\r\n return\r\n }\r\n if (column && (\"data\" === item.rowType || \"detailAdaptive\" === item.rowType) && !item.removed && this.isCellOrBatchEditMode()) {\r\n if (!isEditByOptionChanged && this.isEditCell(rowIndex, columnIndex)) {\r\n return true\r\n }\r\n var editRowIndex = rowIndex + dataController.getRowIndexOffset();\r\n return when(this._beforeEditCell(rowIndex, columnIndex, item)).done(cancel => {\r\n if (cancel) {\r\n return\r\n }\r\n if (!this._prepareEditCell(params, item, columnIndex, editRowIndex)) {\r\n this._processCanceledEditingCell()\r\n }\r\n })\r\n }\r\n return false\r\n }\r\n _beforeEditCell(rowIndex, columnIndex, item) {\r\n if (this.isCellEditMode() && !item.isNewRow && this.hasChanges()) {\r\n var isSaving = new Deferred;\r\n this.saveEditData().always(() => {\r\n isSaving.resolve(this.hasChanges())\r\n });\r\n this.addDeferred(isSaving);\r\n return isSaving\r\n }\r\n return false\r\n }\r\n publicMethods() {\r\n var publicMethods = super.publicMethods();\r\n return publicMethods.concat([\"editCell\", \"closeEditCell\"])\r\n }\r\n _getNormalizedEditCellOptions(_ref) {\r\n var {\r\n oldColumnIndex: oldColumnIndex,\r\n oldRowIndex: oldRowIndex,\r\n columnIndex: columnIndex,\r\n rowIndex: rowIndex\r\n } = _ref;\r\n var columnsController = this._columnsController;\r\n var visibleColumns = columnsController.getVisibleColumns();\r\n var items = this._dataController.items();\r\n var item = items[rowIndex];\r\n var oldColumn;\r\n if (isDefined(oldColumnIndex)) {\r\n oldColumn = visibleColumns[oldColumnIndex]\r\n } else {\r\n oldColumn = this._getEditColumn()\r\n }\r\n if (!isDefined(oldRowIndex)) {\r\n oldRowIndex = this._getVisibleEditRowIndex()\r\n }\r\n if (isString(columnIndex)) {\r\n columnIndex = columnsController.columnOption(columnIndex, \"index\");\r\n columnIndex = columnsController.getVisibleIndex(columnIndex)\r\n }\r\n var column = visibleColumns[columnIndex];\r\n return {\r\n oldColumn: oldColumn,\r\n columnIndex: columnIndex,\r\n oldRowIndex: oldRowIndex,\r\n rowIndex: rowIndex,\r\n column: column,\r\n item: item\r\n }\r\n }\r\n _prepareEditCell(params, item, editColumnIndex, editRowIndex) {\r\n var _a;\r\n if (!item.isNewRow) {\r\n params.key = item.key\r\n }\r\n if (this._isEditingStart(params)) {\r\n return false\r\n }\r\n this._pageIndex = this._dataController.pageIndex();\r\n this._setEditRowKey(item.key);\r\n this._setEditColumnNameByIndex(editColumnIndex);\r\n if (!params.column.showEditorAlways) {\r\n this._addInternalData({\r\n key: item.key,\r\n oldData: null !== (_a = item.oldData) && void 0 !== _a ? _a : item.data\r\n })\r\n }\r\n return true\r\n }\r\n closeEditCell(isError, withoutSaveEditData) {\r\n var result = when();\r\n var oldEditRowIndex = this._getVisibleEditRowIndex();\r\n if (this.isCellOrBatchEditMode()) {\r\n var deferred = new Deferred;\r\n result = new Deferred;\r\n this.executeOperation(deferred, () => {\r\n this._closeEditCellCore(isError, oldEditRowIndex, withoutSaveEditData).always(result.resolve)\r\n })\r\n }\r\n return result.promise()\r\n }\r\n _closeEditCellCore(isError, oldEditRowIndex, withoutSaveEditData) {\r\n var dataController = this._dataController;\r\n var deferred = new Deferred;\r\n var promise = deferred.promise();\r\n if (this.isCellEditMode() && this.hasChanges()) {\r\n if (!withoutSaveEditData) {\r\n this.saveEditData().done(error => {\r\n if (!this.hasChanges()) {\r\n this.closeEditCell(!!error).always(deferred.resolve);\r\n return\r\n }\r\n deferred.resolve()\r\n });\r\n return promise\r\n }\r\n } else {\r\n this._resetEditRowKey();\r\n this._resetEditColumnName();\r\n if (oldEditRowIndex >= 0) {\r\n var rowIndices = [oldEditRowIndex];\r\n this._beforeCloseEditCellInBatchMode(rowIndices);\r\n if (!isError) {\r\n dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: rowIndices\r\n })\r\n }\r\n }\r\n }\r\n deferred.resolve();\r\n return promise\r\n }\r\n _resetModifiedClassCells(changes) {\r\n if (this.isBatchEditMode()) {\r\n var columnsCount = this._columnsController.getVisibleColumns().length;\r\n changes.forEach(_ref2 => {\r\n var {\r\n key: key\r\n } = _ref2;\r\n var rowIndex = this._dataController.getRowIndexByKey(key);\r\n for (var columnIndex = 0; columnIndex < columnsCount; columnIndex++) {\r\n var cellElement = this._rowsView._getCellElement(rowIndex, columnIndex);\r\n null === cellElement || void 0 === cellElement ? void 0 : cellElement.removeClass(CELL_MODIFIED_CLASS)\r\n }\r\n })\r\n }\r\n }\r\n _prepareChange(options, value, text) {\r\n var $cellElement = $(options.cellElement);\r\n if (this.isBatchEditMode() && void 0 !== options.key) {\r\n this._applyModified($cellElement, options)\r\n }\r\n return super._prepareChange(options, value, text)\r\n }\r\n _cancelSaving(result) {\r\n var dataController = this._dataController;\r\n if (this.isCellOrBatchEditMode()) {\r\n if (this.isBatchEditMode()) {\r\n this._resetEditIndices()\r\n }\r\n dataController.updateItems()\r\n }\r\n super._cancelSaving(result)\r\n }\r\n optionChanged(args) {\r\n var {\r\n fullName: fullName\r\n } = args;\r\n if (\"editing\" === args.name && fullName === EDITING_EDITCOLUMNNAME_OPTION_NAME) {\r\n this._handleEditColumnNameChange(args);\r\n args.handled = true\r\n } else {\r\n super.optionChanged(args)\r\n }\r\n }\r\n _editCellFromOptionChanged(columnIndex, oldColumnIndex, oldRowIndex) {\r\n var columns = this._columnsController.getVisibleColumns();\r\n if (columnIndex > -1) {\r\n deferRender(() => {\r\n this._repaintEditCell(columns[columnIndex], columns[oldColumnIndex], oldRowIndex)\r\n })\r\n }\r\n }\r\n _handleEditRowKeyChange(args) {\r\n var _a;\r\n if (this.isCellOrBatchEditMode()) {\r\n var columnIndex = this._getVisibleEditColumnIndex();\r\n var oldRowIndexCorrection = this._getEditRowIndexCorrection();\r\n var oldRowIndex = this._dataController.getRowIndexByKey(args.previousValue) + oldRowIndexCorrection;\r\n if (isDefined(args.value) && args.value !== args.previousValue) {\r\n null === (_a = this._editCellFromOptionChanged) || void 0 === _a ? void 0 : _a.call(this, columnIndex, columnIndex, oldRowIndex)\r\n }\r\n } else {\r\n super._handleEditRowKeyChange(args)\r\n }\r\n }\r\n deleteRow(rowIndex) {\r\n if (this.isCellEditMode() && this.isEditing()) {\r\n var {\r\n isNewRow: isNewRow\r\n } = this._dataController.items()[rowIndex];\r\n var rowKey = this._dataController.getKeyByRowIndex(rowIndex);\r\n this.closeEditCell(null, isNewRow).always(() => {\r\n rowIndex = this._dataController.getRowIndexByKey(rowKey);\r\n this._checkAndDeleteRow(rowIndex)\r\n })\r\n } else {\r\n super.deleteRow(rowIndex)\r\n }\r\n }\r\n _checkAndDeleteRow(rowIndex) {\r\n if (this.isBatchEditMode()) {\r\n this._deleteRowCore(rowIndex)\r\n } else {\r\n super._checkAndDeleteRow(rowIndex)\r\n }\r\n }\r\n _refreshCore(params) {\r\n var {\r\n isPageChanged: isPageChanged\r\n } = null !== params && void 0 !== params ? params : {};\r\n var needResetIndexes = this.isBatchEditMode() || isPageChanged && \"virtual\" !== this.option(\"scrolling.mode\");\r\n if (this.isCellOrBatchEditMode()) {\r\n if (needResetIndexes) {\r\n this._resetEditColumnName();\r\n this._resetEditRowKey()\r\n }\r\n } else {\r\n super._refreshCore(params)\r\n }\r\n }\r\n _allowRowAdding(params) {\r\n if (this.isBatchEditMode()) {\r\n return true\r\n }\r\n return super._allowRowAdding(params)\r\n }\r\n _afterDeleteRow(rowIndex, oldEditRowIndex) {\r\n var dataController = this._dataController;\r\n if (this.isBatchEditMode()) {\r\n dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: [oldEditRowIndex, rowIndex]\r\n });\r\n return (new Deferred).resolve()\r\n }\r\n return super._afterDeleteRow(rowIndex, oldEditRowIndex)\r\n }\r\n _updateEditRow(row, forceUpdateRow, isCustomSetCellValue) {\r\n if (this.isCellOrBatchEditMode()) {\r\n this._updateRowImmediately(row, forceUpdateRow, isCustomSetCellValue)\r\n } else {\r\n super._updateEditRow(row, forceUpdateRow, isCustomSetCellValue)\r\n }\r\n }\r\n _isDefaultButtonVisible(button, options) {\r\n if (this.isCellOrBatchEditMode()) {\r\n var isBatchMode = this.isBatchEditMode();\r\n switch (button.name) {\r\n case \"save\":\r\n case \"cancel\":\r\n case \"edit\":\r\n return false;\r\n case \"delete\":\r\n return super._isDefaultButtonVisible(button, options) && (!isBatchMode || !options.row.removed);\r\n case \"undelete\":\r\n return isBatchMode && this.allowDeleting(options) && options.row.removed;\r\n default:\r\n return super._isDefaultButtonVisible(button, options)\r\n }\r\n }\r\n return super._isDefaultButtonVisible(button, options)\r\n }\r\n _isRowDeleteAllowed() {\r\n var callBaseResult = super._isRowDeleteAllowed();\r\n return callBaseResult || this.isBatchEditMode()\r\n }\r\n _beforeEndSaving(changes) {\r\n var _a;\r\n if (this.isCellEditMode()) {\r\n if (\"update\" !== (null === (_a = changes[0]) || void 0 === _a ? void 0 : _a.type)) {\r\n super._beforeEndSaving(changes)\r\n }\r\n } else {\r\n if (this.isBatchEditMode()) {\r\n this._resetModifiedClassCells(changes)\r\n }\r\n super._beforeEndSaving(changes)\r\n }\r\n }\r\n prepareEditButtons(headerPanel) {\r\n var _a;\r\n var editingOptions = null !== (_a = this.option(\"editing\")) && void 0 !== _a ? _a : {};\r\n var buttonItems = super.prepareEditButtons(headerPanel);\r\n var needEditingButtons = editingOptions.allowUpdating || editingOptions.allowAdding || editingOptions.allowDeleting;\r\n if (needEditingButtons && this.isBatchEditMode()) {\r\n buttonItems.push(this.prepareButtonItem(headerPanel, \"save\", \"saveEditData\", 21));\r\n buttonItems.push(this.prepareButtonItem(headerPanel, \"revert\", \"cancelEditData\", 22))\r\n }\r\n return buttonItems\r\n }\r\n _saveEditDataInner() {\r\n var editRow = this._dataController.getVisibleRows()[this.getEditRowIndex()];\r\n var editColumn = this._getEditColumn();\r\n var showEditorAlways = null === editColumn || void 0 === editColumn ? void 0 : editColumn.showEditorAlways;\r\n var isUpdateInCellMode = this.isCellEditMode() && !(null === editRow || void 0 === editRow ? void 0 : editRow.isNewRow);\r\n var deferred;\r\n if (isUpdateInCellMode && showEditorAlways) {\r\n deferred = new Deferred;\r\n this.addDeferred(deferred)\r\n }\r\n return super._saveEditDataInner().always(null === deferred || void 0 === deferred ? void 0 : deferred.resolve)\r\n }\r\n _applyChange(options, params, forceUpdateRow) {\r\n var isUpdateInCellMode = this.isCellEditMode() && options.row && !options.row.isNewRow;\r\n var {\r\n showEditorAlways: showEditorAlways\r\n } = options.column;\r\n var isCustomSetCellValue = options.column.setCellValue !== options.column.defaultSetCellValue;\r\n var focusPreviousEditingCell = showEditorAlways && !forceUpdateRow && isUpdateInCellMode && this.hasEditData() && !this.isEditCell(options.rowIndex, options.columnIndex);\r\n if (focusPreviousEditingCell) {\r\n this._focusEditingCell();\r\n this._updateEditRow(options.row, true, isCustomSetCellValue);\r\n return\r\n }\r\n return super._applyChange(options, params, forceUpdateRow)\r\n }\r\n _applyChangeCore(options, forceUpdateRow) {\r\n var {\r\n showEditorAlways: showEditorAlways\r\n } = options.column;\r\n var isUpdateInCellMode = this.isCellEditMode() && options.row && !options.row.isNewRow;\r\n if (showEditorAlways && !forceUpdateRow) {\r\n if (isUpdateInCellMode) {\r\n this._setEditRowKey(options.row.key, true);\r\n this._setEditColumnNameByIndex(options.columnIndex, true);\r\n return this.saveEditData()\r\n }\r\n if (this.isBatchEditMode()) {\r\n forceUpdateRow = this._needUpdateRow(options.column);\r\n return super._applyChangeCore(options, forceUpdateRow)\r\n }\r\n }\r\n return super._applyChangeCore(options, forceUpdateRow)\r\n }\r\n _processDataItemCore(item, change, key, columns, generateDataValues) {\r\n var {\r\n data: data,\r\n type: type\r\n } = change;\r\n if (this.isBatchEditMode() && type === DATA_EDIT_DATA_REMOVE_TYPE) {\r\n item.data = createObjectWithChanges(item.data, data)\r\n }\r\n super._processDataItemCore(item, change, key, columns, generateDataValues)\r\n }\r\n _processRemoveCore(changes, editIndex, processIfBatch) {\r\n if (this.isBatchEditMode() && !processIfBatch) {\r\n return\r\n }\r\n return super._processRemoveCore(changes, editIndex, processIfBatch)\r\n }\r\n _processRemoveIfError(changes, editIndex) {\r\n if (this.isBatchEditMode()) {\r\n return\r\n }\r\n return super._processRemoveIfError(changes, editIndex)\r\n }\r\n _beforeFocusElementInRow(rowIndex) {\r\n super._beforeFocusElementInRow(rowIndex);\r\n var editRowIndex = rowIndex >= 0 ? rowIndex : 0;\r\n var columnIndex = this.getFirstEditableColumnIndex();\r\n columnIndex >= 0 && this.editCell(editRowIndex, columnIndex)\r\n }\r\n};\r\nexport var editingCellBasedModule = {\r\n extenders: {\r\n controllers: {\r\n editing: editingControllerExtender\r\n },\r\n views: {\r\n rowsView: {\r\n _createTable() {\r\n var $table = this.callBase.apply(this, arguments);\r\n var editingController = this._editingController;\r\n if (editingController.isCellOrBatchEditMode() && this.option(\"editing.allowUpdating\")) {\r\n eventsEngine.on($table, addNamespace(holdEvent.name, \"dxDataGridRowsView\"), \"td:not(.\".concat(EDITOR_CELL_CLASS, \")\"), this.createAction(() => {\r\n if (editingController.isEditing()) {\r\n editingController.closeEditCell()\r\n }\r\n }))\r\n }\r\n return $table\r\n },\r\n _createRow(row) {\r\n var $row = this.callBase.apply(this, arguments);\r\n if (row) {\r\n var editingController = this._editingController;\r\n var isRowRemoved = !!row.removed;\r\n if (editingController.isBatchEditMode()) {\r\n isRowRemoved && $row.addClass(ROW_REMOVED)\r\n }\r\n }\r\n return $row\r\n }\r\n },\r\n headerPanel: {\r\n isVisible() {\r\n var editingOptions = this.getController(\"editing\").option(\"editing\");\r\n return this.callBase() || editingOptions && (editingOptions.allowUpdating || editingOptions.allowDeleting) && editingOptions.mode === EDIT_MODE_BATCH\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/editing/m_editing_form_based.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../../../../core/devices\";\r\nimport Guid from \"../../../../core/guid\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n isElementInDom\r\n} from \"../../../../core/utils/dom\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n isDefined,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport {\r\n removeEvent\r\n} from \"../../../../events/remove\";\r\nimport Button from \"../../../../ui/button\";\r\nimport Form from \"../../../../ui/form\";\r\nimport Popup from \"../../../../ui/popup/ui.popup\";\r\nimport Scrollable from \"../../../../ui/scroll_view/ui.scrollable\";\r\nimport {\r\n BUTTON_CLASS,\r\n DATA_EDIT_DATA_INSERT_TYPE,\r\n EDIT_FORM_ITEM_CLASS,\r\n EDIT_MODE_FORM,\r\n EDIT_MODE_POPUP,\r\n EDIT_POPUP_CLASS,\r\n EDIT_POPUP_FORM_CLASS,\r\n EDITING_EDITROWKEY_OPTION_NAME,\r\n EDITING_FORM_OPTION_NAME,\r\n EDITING_POPUP_OPTION_NAME,\r\n FOCUSABLE_ELEMENT_CLASS,\r\n FOCUSABLE_ELEMENT_SELECTOR,\r\n FORM_BUTTONS_CONTAINER_CLASS\r\n} from \"./const\";\r\nimport {\r\n forEachFormItems,\r\n getEditorType\r\n} from \"./m_editing_utils\";\r\nvar editingControllerExtender = Base => class extends Base {\r\n init() {\r\n this._editForm = null;\r\n this._updateEditFormDeferred = null;\r\n super.init()\r\n }\r\n isFormOrPopupEditMode() {\r\n return this.isPopupEditMode() || this.isFormEditMode()\r\n }\r\n isPopupEditMode() {\r\n var editMode = this.option(\"editing.mode\");\r\n return editMode === EDIT_MODE_POPUP\r\n }\r\n isFormEditMode() {\r\n var editMode = this.option(\"editing.mode\");\r\n return editMode === EDIT_MODE_FORM\r\n }\r\n getFirstEditableColumnIndex() {\r\n var firstFormItem = this._firstFormItem;\r\n if (this.isFormEditMode() && firstFormItem) {\r\n var editRowKey = this.option(EDITING_EDITROWKEY_OPTION_NAME);\r\n var editRowIndex = this._dataController.getRowIndexByKey(editRowKey);\r\n var $editFormElements = this._rowsView.getCellElements(editRowIndex);\r\n return this._rowsView._getEditFormEditorVisibleIndex($editFormElements, firstFormItem.column)\r\n }\r\n return super.getFirstEditableColumnIndex()\r\n }\r\n getEditFormRowIndex() {\r\n return this.isFormOrPopupEditMode() ? this._getVisibleEditRowIndex() : super.getEditFormRowIndex()\r\n }\r\n _isEditColumnVisible() {\r\n var result = super._isEditColumnVisible();\r\n var editingOptions = this.option(\"editing\");\r\n return this.isFormOrPopupEditMode() ? editingOptions.allowUpdating || result : result\r\n }\r\n _handleDataChanged(args) {\r\n var _a, _b;\r\n if (this.isPopupEditMode()) {\r\n var editRowKey = this.option(\"editing.editRowKey\");\r\n var hasEditRow = null === (_a = null === args || void 0 === args ? void 0 : args.items) || void 0 === _a ? void 0 : _a.some(item => equalByValue(item.key, editRowKey));\r\n var onlyInsertChanges = (null === (_b = args.changeTypes) || void 0 === _b ? void 0 : _b.length) && args.changeTypes.every(item => \"insert\" === item);\r\n if ((\"refresh\" === args.changeType || hasEditRow && args.isOptionChanged) && !onlyInsertChanges) {\r\n this._repaintEditPopup()\r\n }\r\n }\r\n super._handleDataChanged(args)\r\n }\r\n getPopupContent() {\r\n var _a;\r\n var popupVisible = null === (_a = this._editPopup) || void 0 === _a ? void 0 : _a.option(\"visible\");\r\n if (this.isPopupEditMode() && popupVisible) {\r\n return this._$popupContent\r\n }\r\n }\r\n _showAddedRow(rowIndex) {\r\n if (this.isPopupEditMode()) {\r\n this._showEditPopup(rowIndex)\r\n } else {\r\n super._showAddedRow(rowIndex)\r\n }\r\n }\r\n _cancelEditDataCore() {\r\n super._cancelEditDataCore();\r\n if (this.isPopupEditMode()) {\r\n this._hideEditPopup()\r\n }\r\n }\r\n _updateEditRowCore(row, skipCurrentRow, isCustomSetCellValue) {\r\n var _a;\r\n var editForm = this._editForm;\r\n if (this.isPopupEditMode()) {\r\n if (this.option(\"repaintChangesOnly\")) {\r\n null === (_a = row.update) || void 0 === _a ? void 0 : _a.call(row, row);\r\n this._rowsView.renderDelayedTemplates()\r\n } else if (editForm) {\r\n this._updateEditFormDeferred = (new Deferred).done(() => editForm.repaint());\r\n if (!this._updateLockCount) {\r\n this._updateEditFormDeferred.resolve()\r\n }\r\n }\r\n } else {\r\n super._updateEditRowCore(row, skipCurrentRow, isCustomSetCellValue)\r\n }\r\n }\r\n _showEditPopup(rowIndex, repaintForm) {\r\n var isMobileDevice = \"desktop\" !== devices.current().deviceType;\r\n var editPopupClass = this.addWidgetPrefix(EDIT_POPUP_CLASS);\r\n var popupOptions = extend({\r\n showTitle: false,\r\n fullScreen: isMobileDevice,\r\n wrapperAttr: {\r\n class: editPopupClass\r\n },\r\n toolbarItems: [{\r\n toolbar: \"bottom\",\r\n location: \"after\",\r\n widget: \"dxButton\",\r\n options: this._getSaveButtonConfig()\r\n }, {\r\n toolbar: \"bottom\",\r\n location: \"after\",\r\n widget: \"dxButton\",\r\n options: this._getCancelButtonConfig()\r\n }],\r\n contentTemplate: this._getPopupEditFormTemplate(rowIndex)\r\n }, this.option(EDITING_POPUP_OPTION_NAME));\r\n if (!this._editPopup) {\r\n var $popupContainer = $(\"
    \").appendTo(this.component.$element()).addClass(editPopupClass);\r\n this._editPopup = this._createComponent($popupContainer, Popup);\r\n this._editPopup.on(\"hiding\", this._getEditPopupHiddenHandler());\r\n this._editPopup.on(\"shown\", e => {\r\n var _a;\r\n eventsEngine.trigger(e.component.$content().find(FOCUSABLE_ELEMENT_SELECTOR).not(\".\".concat(FOCUSABLE_ELEMENT_CLASS)).first(), \"focus\");\r\n if (repaintForm) {\r\n null === (_a = this._editForm) || void 0 === _a ? void 0 : _a.repaint()\r\n }\r\n })\r\n }\r\n this._editPopup.option(popupOptions);\r\n this._editPopup.show();\r\n super._showEditPopup(rowIndex, repaintForm)\r\n }\r\n _getPopupEditFormTemplate(rowIndex) {\r\n var row = this.component.getVisibleRows()[rowIndex];\r\n var templateOptions = {\r\n row: row,\r\n values: row.values,\r\n rowType: row.rowType,\r\n key: row.key,\r\n rowIndex: rowIndex\r\n };\r\n this._rowsView._addWatchMethod(templateOptions, row);\r\n return container => {\r\n var formTemplate = this.getEditFormTemplate();\r\n var scrollable = this._createComponent($(\"
    \").appendTo(container), Scrollable);\r\n this._$popupContent = $(scrollable.content());\r\n formTemplate(this._$popupContent, templateOptions, {\r\n isPopupForm: true\r\n });\r\n this._rowsView.renderDelayedTemplates();\r\n $(container).parent().attr(\"aria-label\", this.localize(\"dxDataGrid-ariaEditForm\"))\r\n }\r\n }\r\n _repaintEditPopup() {\r\n var _a, _b;\r\n var rowIndex = this._getVisibleEditRowIndex();\r\n if (rowIndex >= 0) {\r\n var defaultAnimation = null === (_a = this._editPopup) || void 0 === _a ? void 0 : _a.option(\"animation\");\r\n null === (_b = this._editPopup) || void 0 === _b ? void 0 : _b.option(\"animation\", null);\r\n this._showEditPopup(rowIndex, true);\r\n if (void 0 !== defaultAnimation) {\r\n this._editPopup.option(\"animation\", defaultAnimation)\r\n }\r\n }\r\n }\r\n _hideEditPopup() {\r\n var _a;\r\n null === (_a = this._editPopup) || void 0 === _a ? void 0 : _a.option(\"visible\", false)\r\n }\r\n optionChanged(args) {\r\n if (\"editing\" === args.name && this.isFormOrPopupEditMode()) {\r\n var {\r\n fullName: fullName\r\n } = args;\r\n if (0 === fullName.indexOf(EDITING_FORM_OPTION_NAME)) {\r\n this._handleFormOptionChange(args);\r\n args.handled = true\r\n } else if (0 === fullName.indexOf(EDITING_POPUP_OPTION_NAME)) {\r\n this._handlePopupOptionChange(args);\r\n args.handled = true\r\n }\r\n }\r\n super.optionChanged(args)\r\n }\r\n _handleFormOptionChange(args) {\r\n var _a;\r\n if (this.isFormEditMode()) {\r\n var editRowIndex = this._getVisibleEditRowIndex();\r\n if (editRowIndex >= 0) {\r\n this._dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: [editRowIndex]\r\n })\r\n }\r\n } else if ((null === (_a = this._editPopup) || void 0 === _a ? void 0 : _a.option(\"visible\")) && 0 === args.fullName.indexOf(EDITING_FORM_OPTION_NAME)) {\r\n this._repaintEditPopup()\r\n }\r\n }\r\n _handlePopupOptionChange(args) {\r\n var editPopup = this._editPopup;\r\n if (editPopup) {\r\n var popupOptionName = args.fullName.slice(EDITING_POPUP_OPTION_NAME.length + 1);\r\n if (popupOptionName) {\r\n editPopup.option(popupOptionName, args.value)\r\n } else {\r\n editPopup.option(args.value)\r\n }\r\n }\r\n }\r\n renderFormEditorTemplate(detailCellOptions, item, formTemplateOptions, container, isReadOnly) {\r\n var that = this;\r\n var $container = $(container);\r\n var {\r\n column: column\r\n } = item;\r\n var editorType = getEditorType(item);\r\n var rowData = null === detailCellOptions || void 0 === detailCellOptions ? void 0 : detailCellOptions.row.data;\r\n var form = formTemplateOptions.component;\r\n var {\r\n label: label,\r\n labelMark: labelMark,\r\n labelMode: labelMode\r\n } = formTemplateOptions.editorOptions || {};\r\n var cellOptions = extend({}, detailCellOptions, {\r\n data: rowData,\r\n cellElement: null,\r\n isOnForm: true,\r\n item: item,\r\n id: form.getItemID(item.name || item.dataField),\r\n column: extend({}, column, {\r\n editorType: editorType,\r\n editorOptions: extend({\r\n label: label,\r\n labelMark: labelMark,\r\n labelMode: labelMode\r\n }, column.editorOptions, item.editorOptions)\r\n }),\r\n columnIndex: column.index,\r\n setValue: !isReadOnly && column.allowEditing && function(value, text) {\r\n that.updateFieldValue(cellOptions, value, text)\r\n }\r\n });\r\n cellOptions.value = column.calculateCellValue(rowData);\r\n var template = this._getFormEditItemTemplate.bind(this)(cellOptions, column);\r\n this._rowsView.renderTemplate($container, template, cellOptions, !!isElementInDom($container)).done(() => {\r\n this._rowsView._updateCell($container, cellOptions)\r\n });\r\n return cellOptions\r\n }\r\n getFormEditorTemplate(cellOptions, item) {\r\n var column = this.component.columnOption(item.name || item.dataField);\r\n return (options, container) => {\r\n var $container = $(container);\r\n var {\r\n row: row\r\n } = cellOptions;\r\n if (null === row || void 0 === row ? void 0 : row.watch) {\r\n var dispose = row.watch(() => column.selector(row.data), () => {\r\n var $editorElement = $container.find(\".dx-widget\").first();\r\n var validator = $editorElement.data(\"dxValidator\");\r\n var validatorOptions = null === validator || void 0 === validator ? void 0 : validator.option();\r\n $container.contents().remove();\r\n cellOptions = this.renderFormEditorTemplate.bind(this)(cellOptions, item, options, $container);\r\n $editorElement = $container.find(\".dx-widget\").first();\r\n validator = $editorElement.data(\"dxValidator\");\r\n if (validatorOptions && !validator) {\r\n $editorElement.dxValidator({\r\n validationRules: validatorOptions.validationRules,\r\n validationGroup: validatorOptions.validationGroup,\r\n dataGetter: validatorOptions.dataGetter\r\n })\r\n }\r\n });\r\n eventsEngine.on($container, removeEvent, dispose)\r\n }\r\n cellOptions = this.renderFormEditorTemplate.bind(this)(cellOptions, item, options, $container)\r\n }\r\n }\r\n getEditFormOptions(detailOptions) {\r\n var _b;\r\n var editFormOptions = null === (_b = this._getValidationGroupsInForm) || void 0 === _b ? void 0 : _b.call(this, detailOptions);\r\n var userCustomizeItem = this.option(\"editing.form.customizeItem\");\r\n var editFormItemClass = this.addWidgetPrefix(EDIT_FORM_ITEM_CLASS);\r\n var items = this.option(\"editing.form.items\");\r\n var isCustomEditorType = {};\r\n if (!items) {\r\n var columns = this.getController(\"columns\").getColumns();\r\n items = [];\r\n each(columns, (_, column) => {\r\n if (!column.isBand && !column.type) {\r\n items.push({\r\n column: column,\r\n name: column.name,\r\n dataField: column.dataField\r\n })\r\n }\r\n })\r\n } else {\r\n forEachFormItems(items, item => {\r\n var itemId = (null === item || void 0 === item ? void 0 : item.name) || (null === item || void 0 === item ? void 0 : item.dataField);\r\n if (itemId) {\r\n isCustomEditorType[itemId] = !!item.editorType\r\n }\r\n })\r\n }\r\n return extend({}, editFormOptions, {\r\n items: items,\r\n formID: \"dx-\".concat(new Guid),\r\n customizeItem: item => {\r\n var column;\r\n var itemId = item.name || item.dataField;\r\n if (item.column || itemId) {\r\n column = item.column || this._columnsController.columnOption(item.name ? \"name:\".concat(item.name) : \"dataField:\".concat(item.dataField))\r\n }\r\n if (column) {\r\n item.label = item.label || {};\r\n item.label.text = item.label.text || column.caption;\r\n if (\"boolean\" === column.dataType && void 0 === item.label.visible) {\r\n var labelMode = this.option(\"editing.form.labelMode\");\r\n if (\"floating\" === labelMode || \"static\" === labelMode) {\r\n item.label.visible = true\r\n }\r\n }\r\n item.template = item.template || this.getFormEditorTemplate(detailOptions, item);\r\n item.column = column;\r\n item.isCustomEditorType = isCustomEditorType[itemId];\r\n if (column.formItem) {\r\n extend(item, column.formItem)\r\n }\r\n if (void 0 === item.isRequired && column.validationRules) {\r\n item.isRequired = column.validationRules.some(rule => \"required\" === rule.type);\r\n item.validationRules = []\r\n }\r\n var itemVisible = isDefined(item.visible) ? item.visible : true;\r\n if (!this._firstFormItem && itemVisible) {\r\n this._firstFormItem = item\r\n }\r\n }\r\n null === userCustomizeItem || void 0 === userCustomizeItem ? void 0 : userCustomizeItem.call(this, item);\r\n item.cssClass = isString(item.cssClass) ? \"\".concat(item.cssClass, \" \").concat(editFormItemClass) : editFormItemClass\r\n }\r\n })\r\n }\r\n getEditFormTemplate() {\r\n return ($container, detailOptions, options) => {\r\n var editFormOptions = this.option(EDITING_FORM_OPTION_NAME);\r\n var baseEditFormOptions = this.getEditFormOptions(detailOptions);\r\n var $formContainer = $(\"
    \").appendTo($container);\r\n var isPopupForm = null === options || void 0 === options ? void 0 : options.isPopupForm;\r\n this._firstFormItem = void 0;\r\n if (isPopupForm) {\r\n $formContainer.addClass(this.addWidgetPrefix(EDIT_POPUP_FORM_CLASS))\r\n }\r\n this._editForm = this._createComponent($formContainer, Form, extend({}, editFormOptions, baseEditFormOptions));\r\n if (!isPopupForm) {\r\n var $buttonsContainer = $(\"
    \").addClass(this.addWidgetPrefix(FORM_BUTTONS_CONTAINER_CLASS)).appendTo($container);\r\n this._createComponent($(\"
    \").appendTo($buttonsContainer), Button, this._getSaveButtonConfig());\r\n this._createComponent($(\"
    \").appendTo($buttonsContainer), Button, this._getCancelButtonConfig())\r\n }\r\n this._editForm.on(\"contentReady\", () => {\r\n var _a;\r\n this._rowsView.renderDelayedTemplates();\r\n null === (_a = this._editPopup) || void 0 === _a ? void 0 : _a.repaint()\r\n })\r\n }\r\n }\r\n getEditForm() {\r\n return this._editForm\r\n }\r\n _endUpdateCore() {\r\n var _a;\r\n null === (_a = this._updateEditFormDeferred) || void 0 === _a ? void 0 : _a.resolve()\r\n }\r\n _beforeEndSaving(changes) {\r\n var _a;\r\n super._beforeEndSaving(changes);\r\n if (this.isPopupEditMode()) {\r\n null === (_a = this._editPopup) || void 0 === _a ? void 0 : _a.hide()\r\n }\r\n }\r\n _processDataItemCore(item, change, key, columns, generateDataValues) {\r\n var {\r\n type: type\r\n } = change;\r\n if (this.isPopupEditMode() && type === DATA_EDIT_DATA_INSERT_TYPE) {\r\n item.visible = false\r\n }\r\n super._processDataItemCore(item, change, key, columns, generateDataValues)\r\n }\r\n _editRowFromOptionChangedCore(rowIndices, rowIndex) {\r\n var isPopupEditMode = this.isPopupEditMode();\r\n super._editRowFromOptionChangedCore(rowIndices, rowIndex, isPopupEditMode);\r\n if (isPopupEditMode) {\r\n this._showEditPopup(rowIndex)\r\n }\r\n }\r\n};\r\nexport var editingFormBasedModule = {\r\n extenders: {\r\n controllers: {\r\n editing: editingControllerExtender,\r\n data: {\r\n _updateEditItem(item) {\r\n if (this._editingController.isFormEditMode()) {\r\n item.rowType = \"detail\"\r\n }\r\n },\r\n _getChangedColumnIndices(oldItem, newItem, visibleRowIndex, isLiveUpdate) {\r\n if (false === isLiveUpdate && newItem.isEditing && this._editingController.isFormEditMode()) {\r\n return\r\n }\r\n return this.callBase.apply(this, arguments)\r\n }\r\n }\r\n },\r\n views: {\r\n rowsView: {\r\n _renderCellContent($cell, options) {\r\n if (\"data\" === options.rowType && this._editingController.isPopupEditMode() && false === options.row.visible) {\r\n return\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n getCellElements(rowIndex) {\r\n var $cellElements = this.callBase(rowIndex);\r\n var editingController = this._editingController;\r\n var editForm = editingController.getEditForm();\r\n var editFormRowIndex = editingController.getEditFormRowIndex();\r\n if (editFormRowIndex === rowIndex && $cellElements && editForm) {\r\n return editForm.$element().find(\".\".concat(this.addWidgetPrefix(EDIT_FORM_ITEM_CLASS), \", .\").concat(BUTTON_CLASS))\r\n }\r\n return $cellElements\r\n },\r\n _getVisibleColumnIndex($cells, rowIndex, columnIdentifier) {\r\n var editFormRowIndex = this._editingController.getEditFormRowIndex();\r\n if (editFormRowIndex === rowIndex && isString(columnIdentifier)) {\r\n var column = this._columnsController.columnOption(columnIdentifier);\r\n return this._getEditFormEditorVisibleIndex($cells, column)\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _getEditFormEditorVisibleIndex($cells, column) {\r\n var visibleIndex = -1;\r\n each($cells, (index, cellElement) => {\r\n var item = $(cellElement).find(\".dx-field-item-content\").data(\"dx-form-item\");\r\n if ((null === item || void 0 === item ? void 0 : item.column) && column && item.column.index === column.index) {\r\n visibleIndex = index;\r\n return false\r\n }\r\n });\r\n return visibleIndex\r\n },\r\n _isFormItem(parameters) {\r\n var isDetailRow = \"detail\" === parameters.rowType || \"detailAdaptive\" === parameters.rowType;\r\n var isPopupEditing = \"data\" === parameters.rowType && this._editingController.isPopupEditMode();\r\n return (isDetailRow || isPopupEditing) && parameters.item\r\n },\r\n _updateCell($cell, parameters) {\r\n if (this._isFormItem(parameters)) {\r\n this._formItemPrepared(parameters, $cell)\r\n } else {\r\n this.callBase($cell, parameters)\r\n }\r\n },\r\n _updateContent() {\r\n var editingController = this._editingController;\r\n var oldEditForm = editingController.getEditForm();\r\n var validationGroup = null === oldEditForm || void 0 === oldEditForm ? void 0 : oldEditForm.option(\"validationGroup\");\r\n var deferred = this.callBase.apply(this, arguments);\r\n return deferred.done(() => {\r\n var newEditForm = editingController.getEditForm();\r\n if (validationGroup && newEditForm && newEditForm !== oldEditForm) {\r\n newEditForm.option(\"validationGroup\", validationGroup)\r\n }\r\n })\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/editing/m_editing_row_based.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n EDIT_FORM_CLASS,\r\n EDIT_MODE_ROW,\r\n EDIT_ROW,\r\n EDITING_EDITROWKEY_OPTION_NAME,\r\n MODES_WITH_DELAYED_FOCUS,\r\n ROW_SELECTED_CLASS\r\n} from \"./const\";\r\nvar editingControllerExtender = Base => class extends Base {\r\n isRowEditMode() {\r\n return this.getEditMode() === EDIT_MODE_ROW\r\n }\r\n _afterCancelEditData(rowIndex) {\r\n var dataController = this._dataController;\r\n if (this.isRowBasedEditMode() && rowIndex >= 0) {\r\n dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: [rowIndex, rowIndex + 1]\r\n })\r\n } else {\r\n super._afterCancelEditData(rowIndex)\r\n }\r\n }\r\n _isDefaultButtonVisible(button, options) {\r\n var isRowMode = this.isRowBasedEditMode();\r\n var isEditRow = options.row && equalByValue(options.row.key, this.option(EDITING_EDITROWKEY_OPTION_NAME));\r\n if (isRowMode) {\r\n switch (button.name) {\r\n case \"edit\":\r\n return !isEditRow && this.allowUpdating(options);\r\n case \"delete\":\r\n return super._isDefaultButtonVisible(button, options) && !isEditRow;\r\n case \"save\":\r\n case \"cancel\":\r\n return isEditRow;\r\n default:\r\n return super._isDefaultButtonVisible(button, options)\r\n }\r\n }\r\n return super._isDefaultButtonVisible(button, options)\r\n }\r\n isEditRow(rowIndex) {\r\n return this.isRowBasedEditMode() && this.isEditRowByIndex(rowIndex)\r\n }\r\n _cancelSaving(result) {\r\n if (this.isRowBasedEditMode()) {\r\n if (!this.hasChanges()) {\r\n this._cancelEditDataCore()\r\n }\r\n }\r\n super._cancelSaving(result)\r\n }\r\n _refreshCore(params) {\r\n var {\r\n allowCancelEditing: allowCancelEditing\r\n } = null !== params && void 0 !== params ? params : {};\r\n if (this.isRowBasedEditMode()) {\r\n var hasUpdateChanges = this.getChanges().filter(it => \"update\" === it.type).length > 0;\r\n this.init();\r\n allowCancelEditing && hasUpdateChanges && this._cancelEditDataCore()\r\n }\r\n super._refreshCore(params)\r\n }\r\n _isEditColumnVisible() {\r\n var result = super._isEditColumnVisible();\r\n var editingOptions = this.option(\"editing\");\r\n var isRowEditMode = this.isRowEditMode();\r\n var isVisibleInRowEditMode = editingOptions.allowUpdating || editingOptions.allowAdding;\r\n return result || isRowEditMode && isVisibleInRowEditMode\r\n }\r\n _focusEditorIfNeed() {\r\n var editMode = this.getEditMode();\r\n if (this._needFocusEditor) {\r\n if (MODES_WITH_DELAYED_FOCUS.includes(editMode)) {\r\n var $editingCell = this.getFocusedCellInRow(this._getVisibleEditRowIndex());\r\n this._delayedInputFocus($editingCell, () => {\r\n $editingCell && this.component.focus($editingCell)\r\n })\r\n }\r\n this._needFocusEditor = false\r\n }\r\n }\r\n};\r\nexport var editingRowBasedModule = {\r\n extenders: {\r\n controllers: {\r\n editing: editingControllerExtender,\r\n data: {\r\n _getChangedColumnIndices(oldItem, newItem, rowIndex, isLiveUpdate) {\r\n var editingController = this.getController(\"editing\");\r\n if (editingController.isRowBasedEditMode() && oldItem.isEditing !== newItem.isEditing) {\r\n return\r\n }\r\n return this.callBase.apply(this, arguments)\r\n }\r\n }\r\n },\r\n views: {\r\n rowsView: {\r\n _createRow(row) {\r\n var $row = this.callBase.apply(this, arguments);\r\n if (row) {\r\n var editingController = this._editingController;\r\n var isEditRow = editingController.isEditRow(row.rowIndex);\r\n if (isEditRow) {\r\n $row.addClass(EDIT_ROW);\r\n $row.removeClass(ROW_SELECTED_CLASS);\r\n if (\"detail\" === row.rowType) {\r\n $row.addClass(this.addWidgetPrefix(EDIT_FORM_CLASS))\r\n }\r\n }\r\n }\r\n return $row\r\n },\r\n _update(change) {\r\n this.callBase(change);\r\n if (\"updateSelection\" === change.changeType) {\r\n this.getTableElements().children(\"tbody\").children(\".\".concat(EDIT_ROW)).removeClass(ROW_SELECTED_CLASS)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/editing/m_editing_utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Guid from \"../../../../core/guid\";\r\nimport {\r\n isObject\r\n} from \"../../../../core/utils/type\";\r\nvar NEW_ROW_TEMP_KEY_PREFIX = \"_DX_KEY_\";\r\nvar GUID_LENGTH = 36;\r\nexport var createFailureHandler = function(deferred) {\r\n return function(arg) {\r\n var error = arg instanceof Error ? arg : new Error(arg && String(arg) || \"Unknown error\");\r\n deferred.reject(error)\r\n }\r\n};\r\nexport var isEditingCell = function(isEditRow, cellOptions) {\r\n return cellOptions.isEditing || isEditRow && cellOptions.column.allowEditing\r\n};\r\nexport var isEditingOrShowEditorAlwaysDataCell = function(isEditRow, cellOptions) {\r\n var isCommandCell = !!cellOptions.column.command;\r\n var isEditing = isEditingCell(isEditRow, cellOptions);\r\n var isEditorCell = !isCommandCell && (isEditing || cellOptions.column.showEditorAlways);\r\n return \"data\" === cellOptions.rowType && isEditorCell\r\n};\r\nexport var getEditingTexts = options => {\r\n var editingTexts = options.component.option(\"editing.texts\") || {};\r\n return {\r\n save: editingTexts.saveRowChanges,\r\n cancel: editingTexts.cancelRowChanges,\r\n edit: editingTexts.editRow,\r\n undelete: editingTexts.undeleteRow,\r\n delete: editingTexts.deleteRow,\r\n add: editingTexts.addRowToNode\r\n }\r\n};\r\nexport var generateNewRowTempKey = () => \"\".concat(NEW_ROW_TEMP_KEY_PREFIX).concat(new Guid);\r\nexport var isNewRowTempKey = key => \"string\" === typeof key && key.startsWith(NEW_ROW_TEMP_KEY_PREFIX) && key.length === NEW_ROW_TEMP_KEY_PREFIX.length + GUID_LENGTH;\r\nexport var getButtonIndex = (buttons, name) => {\r\n var result = -1;\r\n buttons.some((button, index) => {\r\n if (getButtonName(button) === name) {\r\n result = index;\r\n return true\r\n }\r\n });\r\n return result\r\n};\r\nexport function getButtonName(button) {\r\n return isObject(button) ? button.name : button\r\n}\r\nexport function isEditable($element) {\r\n return $element && ($element.is(\"input\") || $element.is(\"textarea\"))\r\n}\r\nexport var getEditorType = item => {\r\n var _a;\r\n var {\r\n column: column\r\n } = item;\r\n return item.isCustomEditorType ? item.editorType : null === (_a = column.formItem) || void 0 === _a ? void 0 : _a.editorType\r\n};\r\nexport var forEachFormItems = (items, callBack) => {\r\n items.forEach(item => {\r\n if (item.items || item.tabs) {\r\n forEachFormItems(item.items || item.tabs, callBack)\r\n } else {\r\n callBack(item)\r\n }\r\n })\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/editor_factory/m_editor_factory.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport positionUtils from \"../../../../animation/position\";\r\nimport domAdapter from \"../../../../core/dom_adapter\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport browser from \"../../../../core/utils/browser\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n getOuterHeight,\r\n getOuterWidth,\r\n setOuterHeight,\r\n setOuterWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../../events/click\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport pointerEvents from \"../../../../events/pointer\";\r\nimport {\r\n addNamespace,\r\n normalizeKeyName\r\n} from \"../../../../events/utils/index\";\r\nimport EditorFactoryMixin from \"../../../../ui/shared/ui.editor_factory_mixin\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar EDITOR_INLINE_BLOCK = \"dx-editor-inline-block\";\r\nvar CELL_FOCUS_DISABLED_CLASS = \"dx-cell-focus-disabled\";\r\nvar FOCUS_OVERLAY_CLASS = \"focus-overlay\";\r\nvar CONTENT_CLASS = \"content\";\r\nvar FOCUSED_ELEMENT_CLASS = \"dx-focused\";\r\nvar ROW_CLASS = \"dx-row\";\r\nvar MODULE_NAMESPACE = \"dxDataGridEditorFactory\";\r\nvar UPDATE_FOCUS_EVENTS = addNamespace([pointerEvents.down, \"focusin\", clickEventName].join(\" \"), MODULE_NAMESPACE);\r\nvar DX_HIDDEN = \"dx-hidden\";\r\nvar ViewControllerWithMixin = modules.ViewController.inherit(EditorFactoryMixin);\r\nexport class EditorFactory extends ViewControllerWithMixin {\r\n _getFocusedElement($dataGridElement) {\r\n var rowSelector = this.option(\"focusedRowEnabled\") ? \"tr[tabindex]:focus\" : \"tr[tabindex]:not(.dx-data-row):focus\";\r\n var focusedElementSelector = \"td[tabindex]:focus, \".concat(rowSelector, \", input:focus, textarea:focus, .dx-lookup-field:focus, .dx-checkbox:focus, .dx-switch:focus, .dx-dropdownbutton .dx-buttongroup:focus, .dx-adaptive-item-text:focus\");\r\n var $focusedElement = $dataGridElement.find(focusedElementSelector);\r\n return this.elementIsInsideGrid($focusedElement) && $focusedElement\r\n }\r\n _getFocusCellSelector() {\r\n return \".dx-row > td\"\r\n }\r\n _updateFocusCore() {\r\n var $dataGridElement = this.component && this.component.$element();\r\n if ($dataGridElement) {\r\n var $focus = this._getFocusedElement($dataGridElement);\r\n if ($focus && $focus.length) {\r\n var isHideBorder;\r\n if (!$focus.hasClass(CELL_FOCUS_DISABLED_CLASS) && !$focus.hasClass(ROW_CLASS)) {\r\n var $focusCell = $focus.closest(\"\".concat(this._getFocusCellSelector(), \", .\").concat(CELL_FOCUS_DISABLED_CLASS));\r\n if ($focusCell.get(0) !== $focus.get(0)) {\r\n isHideBorder = this._needHideBorder($focusCell);\r\n $focus = $focusCell\r\n }\r\n }\r\n if ($focus.length && !$focus.hasClass(CELL_FOCUS_DISABLED_CLASS)) {\r\n this.focus($focus, isHideBorder);\r\n return\r\n }\r\n }\r\n }\r\n this.loseFocus()\r\n }\r\n _needHideBorder($element) {\r\n return $element.hasClass(EDITOR_INLINE_BLOCK)\r\n }\r\n _updateFocus(e) {\r\n var that = this;\r\n var isFocusOverlay = e && e.event && $(e.event.target).hasClass(that.addWidgetPrefix(FOCUS_OVERLAY_CLASS));\r\n that._isFocusOverlay = that._isFocusOverlay || isFocusOverlay;\r\n clearTimeout(that._updateFocusTimeoutID);\r\n that._updateFocusTimeoutID = setTimeout(() => {\r\n delete that._updateFocusTimeoutID;\r\n if (!that._isFocusOverlay) {\r\n that._updateFocusCore()\r\n }\r\n that._isFocusOverlay = false\r\n })\r\n }\r\n _updateFocusOverlaySize($element, position) {\r\n $element.hide();\r\n var location = positionUtils.calculate($element, extend({\r\n collision: \"fit\"\r\n }, position));\r\n if (location.h.oversize > 0) {\r\n setOuterWidth($element, getOuterWidth($element) - location.h.oversize)\r\n }\r\n if (location.v.oversize > 0) {\r\n setOuterHeight($element, getOuterHeight($element) - location.v.oversize)\r\n }\r\n $element.show()\r\n }\r\n callbackNames() {\r\n return [\"focused\"]\r\n }\r\n focus($element, isHideBorder) {\r\n var that = this;\r\n if (void 0 === $element) {\r\n return that._$focusedElement\r\n }\r\n if ($element) {\r\n if (!$element.is(that._$focusedElement)) {\r\n that._$focusedElement && that._$focusedElement.removeClass(FOCUSED_ELEMENT_CLASS)\r\n }\r\n that._$focusedElement = $element;\r\n clearTimeout(that._focusTimeoutID);\r\n that._focusTimeoutID = setTimeout(() => {\r\n delete that._focusTimeoutID;\r\n that.renderFocusOverlay($element, isHideBorder);\r\n $element.addClass(FOCUSED_ELEMENT_CLASS);\r\n that.focused.fire($element)\r\n })\r\n }\r\n }\r\n refocus() {\r\n var $focus = this.focus();\r\n this.focus($focus)\r\n }\r\n renderFocusOverlay($element, isHideBorder) {\r\n if (!gridCoreUtils.isElementInCurrentGrid(this, $element)) {\r\n return\r\n }\r\n if (!this._$focusOverlay) {\r\n this._$focusOverlay = $(\"
    \").addClass(this.addWidgetPrefix(FOCUS_OVERLAY_CLASS))\r\n }\r\n if (isHideBorder) {\r\n this._$focusOverlay.addClass(DX_HIDDEN)\r\n } else if ($element.length) {\r\n var align = browser.mozilla ? \"right bottom\" : \"left top\";\r\n var $content = $element.closest(\".\".concat(this.addWidgetPrefix(CONTENT_CLASS)));\r\n var elemCoord = getBoundingRect($element.get(0));\r\n this._$focusOverlay.removeClass(DX_HIDDEN).appendTo($content);\r\n setOuterHeight(this._$focusOverlay, elemCoord.bottom - elemCoord.top + 1);\r\n setOuterWidth(this._$focusOverlay, elemCoord.right - elemCoord.left + 1);\r\n var focusOverlayPosition = {\r\n precise: true,\r\n my: align,\r\n at: align,\r\n of: $element,\r\n boundary: $content.length && $content\r\n };\r\n this._updateFocusOverlaySize(this._$focusOverlay, focusOverlayPosition);\r\n positionUtils.setup(this._$focusOverlay, focusOverlayPosition);\r\n this._$focusOverlay.css(\"visibility\", \"visible\")\r\n }\r\n }\r\n resize() {\r\n var $focusedElement = this._$focusedElement;\r\n if ($focusedElement) {\r\n this.focus($focusedElement)\r\n }\r\n }\r\n loseFocus() {\r\n this._$focusedElement && this._$focusedElement.removeClass(FOCUSED_ELEMENT_CLASS);\r\n this._$focusedElement = null;\r\n this._$focusOverlay && this._$focusOverlay.addClass(DX_HIDDEN)\r\n }\r\n init() {\r\n this.createAction(\"onEditorPreparing\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"],\r\n category: \"rendering\"\r\n });\r\n this.createAction(\"onEditorPrepared\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"],\r\n category: \"rendering\"\r\n });\r\n this._updateFocusHandler = this._updateFocusHandler || this.createAction(this._updateFocus.bind(this));\r\n this._subscribedContainerRoot = this._getContainerRoot();\r\n eventsEngine.on(this._subscribedContainerRoot, UPDATE_FOCUS_EVENTS, this._updateFocusHandler);\r\n this._attachContainerEventHandlers()\r\n }\r\n _getContainerRoot() {\r\n var _a;\r\n var $container = null === (_a = this.component) || void 0 === _a ? void 0 : _a.$element();\r\n var root = domAdapter.getRootNode(null === $container || void 0 === $container ? void 0 : $container.get(0));\r\n if (root.nodeType === Node.DOCUMENT_FRAGMENT_NODE && !root.host) {\r\n return domAdapter.getDocument()\r\n }\r\n return root\r\n }\r\n _attachContainerEventHandlers() {\r\n var that = this;\r\n var $container = that.component && that.component.$element();\r\n if ($container) {\r\n eventsEngine.on($container, addNamespace(\"keydown\", MODULE_NAMESPACE), e => {\r\n if (\"tab\" === normalizeKeyName(e)) {\r\n that._updateFocusHandler(e)\r\n }\r\n })\r\n }\r\n }\r\n dispose() {\r\n clearTimeout(this._focusTimeoutID);\r\n clearTimeout(this._updateFocusTimeoutID);\r\n eventsEngine.off(this._subscribedContainerRoot, UPDATE_FOCUS_EVENTS, this._updateFocusHandler)\r\n }\r\n}\r\nexport var editorFactoryModule = {\r\n defaultOptions: () => ({}),\r\n controllers: {\r\n editorFactory: EditorFactory\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/error_handling/m_error_handling.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../../events/click\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport modules from \"../m_modules\";\r\nvar ERROR_ROW_CLASS = \"dx-error-row\";\r\nvar ERROR_MESSAGE_CLASS = \"dx-error-message\";\r\nvar ERROR_CLOSEBUTTON_CLASS = \"dx-closebutton\";\r\nvar ACTION_CLASS = \"action\";\r\nvar ErrorHandlingController = modules.ViewController.inherit({\r\n init() {\r\n this._columnHeadersView = this.getView(\"columnHeadersView\");\r\n this._rowsView = this.getView(\"rowsView\")\r\n },\r\n _createErrorRow(error, $tableElements) {\r\n var that = this;\r\n var $errorRow;\r\n var $closeButton;\r\n var $errorMessage = this._renderErrorMessage(error);\r\n if ($tableElements) {\r\n $errorRow = $(\"\").addClass(ERROR_ROW_CLASS);\r\n $closeButton = $(\"
    \").addClass(ERROR_CLOSEBUTTON_CLASS).addClass(that.addWidgetPrefix(ACTION_CLASS));\r\n eventsEngine.on($closeButton, clickEventName, that.createAction(args => {\r\n var e = args.event;\r\n var $errorRow;\r\n var errorRowIndex = $(e.currentTarget).closest(\".\".concat(ERROR_ROW_CLASS)).index();\r\n e.stopPropagation();\r\n each($tableElements, (_, tableElement) => {\r\n $errorRow = $(tableElement).children(\"tbody\").children(\"tr\").eq(errorRowIndex);\r\n that.removeErrorRow($errorRow)\r\n });\r\n that.getController(\"resizing\") && that.getController(\"resizing\").fireContentReadyAction()\r\n }));\r\n $(\"\").attr({\r\n colSpan: that.getController(\"columns\").getVisibleColumns().length,\r\n role: \"presentation\"\r\n }).prepend($closeButton).append($errorMessage).appendTo($errorRow);\r\n return $errorRow\r\n }\r\n return $errorMessage\r\n },\r\n _renderErrorMessage(error) {\r\n var message = error.url ? error.message.replace(error.url, \"\") : error.message || error;\r\n var $message = $(\"
    \").addClass(ERROR_MESSAGE_CLASS).text(message);\r\n if (error.url) {\r\n $(\"\").attr(\"href\", error.url).text(error.url).appendTo($message)\r\n }\r\n return $message\r\n },\r\n renderErrorRow(error, rowIndex, $popupContent) {\r\n var that = this;\r\n var $errorMessageElement;\r\n var $firstErrorRow;\r\n if ($popupContent) {\r\n $popupContent.find(\".\".concat(ERROR_MESSAGE_CLASS)).remove();\r\n $errorMessageElement = that._createErrorRow(error);\r\n $popupContent.prepend($errorMessageElement);\r\n return $errorMessageElement\r\n }\r\n var viewElement = rowIndex >= 0 || !that._columnHeadersView.isVisible() ? that._rowsView : that._columnHeadersView;\r\n var $tableElements = viewElement.getTableElements();\r\n each($tableElements, (_, tableElement) => {\r\n $errorMessageElement = that._createErrorRow(error, $tableElements);\r\n $firstErrorRow = $firstErrorRow || $errorMessageElement;\r\n if (rowIndex >= 0) {\r\n var $row = viewElement._getRowElements($(tableElement)).eq(rowIndex);\r\n that.removeErrorRow($row.next());\r\n $errorMessageElement.insertAfter($row)\r\n } else {\r\n var $tbody = $(tableElement).children(\"tbody\");\r\n var rowElements = $tbody.children(\"tr\");\r\n if (that._columnHeadersView.isVisible()) {\r\n that.removeErrorRow(rowElements.last());\r\n $(tableElement).append($errorMessageElement)\r\n } else {\r\n that.removeErrorRow(rowElements.first());\r\n $tbody.first().prepend($errorMessageElement)\r\n }\r\n }\r\n });\r\n var resizingController = that.getController(\"resizing\");\r\n resizingController && resizingController.fireContentReadyAction();\r\n return $firstErrorRow\r\n },\r\n removeErrorRow($row) {\r\n if (!$row) {\r\n var $columnHeaders = this._columnHeadersView && this._columnHeadersView.element();\r\n $row = $columnHeaders && $columnHeaders.find(\".\".concat(ERROR_ROW_CLASS));\r\n if (!$row || !$row.length) {\r\n var $rowsViewElement = this._rowsView.element();\r\n $row = $rowsViewElement && $rowsViewElement.find(\".\".concat(ERROR_ROW_CLASS))\r\n }\r\n }\r\n $row && $row.hasClass(ERROR_ROW_CLASS) && $row.remove()\r\n },\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"errorRowEnabled\":\r\n args.handled = true;\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nexport var errorHandlingModule = {\r\n defaultOptions: () => ({\r\n errorRowEnabled: true\r\n }),\r\n controllers: {\r\n errorHandling: ErrorHandlingController\r\n },\r\n extenders: {\r\n controllers: {\r\n data: {\r\n init() {\r\n var that = this;\r\n var errorHandlingController = that.getController(\"errorHandling\");\r\n that.callBase();\r\n that.dataErrorOccurred.add((error, $popupContent) => {\r\n if (that.option(\"errorRowEnabled\")) {\r\n errorHandlingController.renderErrorRow(error, void 0, $popupContent)\r\n }\r\n });\r\n that.changed.add(e => {\r\n if (e && \"loadError\" === e.changeType) {\r\n return\r\n }\r\n var errorHandlingController = that.getController(\"errorHandling\");\r\n var editingController = that.getController(\"editing\");\r\n if (editingController && !editingController.hasChanges()) {\r\n errorHandlingController && errorHandlingController.removeErrorRow()\r\n }\r\n })\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/filter/m_filter_builder.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport FilterBuilder from \"../../../../ui/filter_builder\";\r\nimport Popup from \"../../../../ui/popup/ui.popup\";\r\nimport ScrollView from \"../../../../ui/scroll_view\";\r\nimport {\r\n restoreFocus\r\n} from \"../../../../ui/shared/accessibility\";\r\nimport modules from \"../m_modules\";\r\nvar FilterBuilderView = modules.View.inherit({\r\n _renderCore() {\r\n this._updatePopupOptions()\r\n },\r\n _updatePopupOptions() {\r\n if (this.option(\"filterBuilderPopup.visible\")) {\r\n this._initPopup()\r\n } else if (this._filterBuilderPopup) {\r\n this._filterBuilderPopup.hide()\r\n }\r\n },\r\n _disposePopup() {\r\n if (this._filterBuilderPopup) {\r\n this._filterBuilderPopup.dispose();\r\n this._filterBuilderPopup = void 0\r\n }\r\n if (this._filterBuilder) {\r\n this._filterBuilder.dispose();\r\n this._filterBuilder = void 0\r\n }\r\n },\r\n _initPopup() {\r\n var that = this;\r\n that._disposePopup();\r\n that._filterBuilderPopup = that._createComponent(that.element(), Popup, extend({\r\n title: messageLocalization.format(\"dxDataGrid-filterBuilderPopupTitle\"),\r\n contentTemplate: $contentElement => that._getPopupContentTemplate($contentElement),\r\n onOptionChanged(args) {\r\n if (\"visible\" === args.name) {\r\n that.option(\"filterBuilderPopup.visible\", args.value)\r\n }\r\n },\r\n toolbarItems: that._getPopupToolbarItems()\r\n }, that.option(\"filterBuilderPopup\"), {\r\n onHidden() {\r\n restoreFocus(that);\r\n that._disposePopup()\r\n }\r\n }))\r\n },\r\n _getPopupContentTemplate(contentElement) {\r\n var $contentElement = $(contentElement);\r\n var $filterBuilderContainer = $(\"
    \").appendTo($(contentElement));\r\n this._filterBuilder = this._createComponent($filterBuilderContainer, FilterBuilder, extend({\r\n value: this.option(\"filterValue\"),\r\n fields: this.getController(\"columns\").getFilteringColumns()\r\n }, this.option(\"filterBuilder\"), {\r\n customOperations: this.getController(\"filterSync\").getCustomFilterOperations()\r\n }));\r\n this._createComponent($contentElement, ScrollView, {\r\n direction: \"both\"\r\n })\r\n },\r\n _getPopupToolbarItems() {\r\n var that = this;\r\n return [{\r\n toolbar: \"bottom\",\r\n location: \"after\",\r\n widget: \"dxButton\",\r\n options: {\r\n text: messageLocalization.format(\"OK\"),\r\n onClick() {\r\n var filter = that._filterBuilder.option(\"value\");\r\n that.option(\"filterValue\", filter);\r\n that._filterBuilderPopup.hide()\r\n }\r\n }\r\n }, {\r\n toolbar: \"bottom\",\r\n location: \"after\",\r\n widget: \"dxButton\",\r\n options: {\r\n text: messageLocalization.format(\"Cancel\"),\r\n onClick() {\r\n that._filterBuilderPopup.hide()\r\n }\r\n }\r\n }]\r\n },\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"filterBuilder\":\r\n case \"filterBuilderPopup\":\r\n this._invalidate();\r\n args.handled = true;\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nexport var filterBuilderModule = {\r\n defaultOptions: () => ({\r\n filterBuilder: {\r\n groupOperationDescriptions: {\r\n and: messageLocalization.format(\"dxFilterBuilder-and\"),\r\n or: messageLocalization.format(\"dxFilterBuilder-or\"),\r\n notAnd: messageLocalization.format(\"dxFilterBuilder-notAnd\"),\r\n notOr: messageLocalization.format(\"dxFilterBuilder-notOr\")\r\n },\r\n filterOperationDescriptions: {\r\n between: messageLocalization.format(\"dxFilterBuilder-filterOperationBetween\"),\r\n equal: messageLocalization.format(\"dxFilterBuilder-filterOperationEquals\"),\r\n notEqual: messageLocalization.format(\"dxFilterBuilder-filterOperationNotEquals\"),\r\n lessThan: messageLocalization.format(\"dxFilterBuilder-filterOperationLess\"),\r\n lessThanOrEqual: messageLocalization.format(\"dxFilterBuilder-filterOperationLessOrEquals\"),\r\n greaterThan: messageLocalization.format(\"dxFilterBuilder-filterOperationGreater\"),\r\n greaterThanOrEqual: messageLocalization.format(\"dxFilterBuilder-filterOperationGreaterOrEquals\"),\r\n startsWith: messageLocalization.format(\"dxFilterBuilder-filterOperationStartsWith\"),\r\n contains: messageLocalization.format(\"dxFilterBuilder-filterOperationContains\"),\r\n notContains: messageLocalization.format(\"dxFilterBuilder-filterOperationNotContains\"),\r\n endsWith: messageLocalization.format(\"dxFilterBuilder-filterOperationEndsWith\"),\r\n isBlank: messageLocalization.format(\"dxFilterBuilder-filterOperationIsBlank\"),\r\n isNotBlank: messageLocalization.format(\"dxFilterBuilder-filterOperationIsNotBlank\")\r\n }\r\n },\r\n filterBuilderPopup: {}\r\n }),\r\n views: {\r\n filterBuilderView: FilterBuilderView\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/filter/m_filter_panel.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n captionize\r\n} from \"../../../../core/utils/inflector\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport CheckBox from \"../../../../ui/check_box\";\r\nimport {\r\n getCaptionByOperation,\r\n getCurrentLookupValueText,\r\n getCurrentValueText,\r\n getCustomOperation,\r\n getField,\r\n getGroupValue,\r\n isCondition,\r\n isGroup\r\n} from \"../../../../ui/filter_builder/utils\";\r\nimport {\r\n registerKeyboardAction\r\n} from \"../m_accessibility\";\r\nimport modules from \"../m_modules\";\r\nimport gridUtils from \"../m_utils\";\r\nvar FILTER_PANEL_CLASS = \"filter-panel\";\r\nvar FILTER_PANEL_TEXT_CLASS = \"\".concat(FILTER_PANEL_CLASS, \"-text\");\r\nvar FILTER_PANEL_CHECKBOX_CLASS = \"\".concat(FILTER_PANEL_CLASS, \"-checkbox\");\r\nvar FILTER_PANEL_CLEAR_FILTER_CLASS = \"\".concat(FILTER_PANEL_CLASS, \"-clear-filter\");\r\nvar FILTER_PANEL_LEFT_CONTAINER = \"\".concat(FILTER_PANEL_CLASS, \"-left\");\r\nvar FILTER_PANEL_TARGET = \"filterPanel\";\r\nvar FilterPanelView = modules.View.inherit({\r\n isVisible() {\r\n return this.option(\"filterPanel.visible\") && this.getController(\"data\").dataSource()\r\n },\r\n init() {\r\n this.getController(\"data\").dataSourceChanged.add(() => this.render());\r\n this._columnsController = this.getController(\"columns\")\r\n },\r\n _renderCore() {\r\n var $element = this.element();\r\n $element.empty();\r\n var isColumnsDefined = !!this._columnsController.getColumns().length;\r\n if (!isColumnsDefined) {\r\n return\r\n }\r\n $element.addClass(this.addWidgetPrefix(FILTER_PANEL_CLASS));\r\n var $leftContainer = $(\"
    \").addClass(this.addWidgetPrefix(FILTER_PANEL_LEFT_CONTAINER)).appendTo($element);\r\n this._renderFilterBuilderText($element, $leftContainer)\r\n },\r\n _renderFilterBuilderText($element, $leftContainer) {\r\n var $filterElement = this._getFilterElement();\r\n var $textElement = this._getTextElement();\r\n if (this.option(\"filterValue\") || this._filterValueBuffer) {\r\n var $checkElement = this._getCheckElement();\r\n var $removeButtonElement = this._getRemoveButtonElement();\r\n $leftContainer.append($checkElement).append($filterElement).append($textElement);\r\n $element.append($removeButtonElement);\r\n return\r\n }\r\n $leftContainer.append($filterElement).append($textElement)\r\n },\r\n _getCheckElement() {\r\n var that = this;\r\n var $element = $(\"
    \").addClass(this.addWidgetPrefix(FILTER_PANEL_CHECKBOX_CLASS));\r\n that._createComponent($element, CheckBox, {\r\n value: that.option(\"filterPanel.filterEnabled\"),\r\n onValueChanged(e) {\r\n that.option(\"filterPanel.filterEnabled\", e.value)\r\n }\r\n });\r\n $element.attr(\"title\", this.option(\"filterPanel.texts.filterEnabledHint\"));\r\n return $element\r\n },\r\n _getFilterElement() {\r\n var that = this;\r\n var $element = $(\"
    \").addClass(\"dx-icon-filter\");\r\n eventsEngine.on($element, \"click\", () => that._showFilterBuilder());\r\n registerKeyboardAction(\"filterPanel\", that, $element, void 0, () => that._showFilterBuilder());\r\n that._addTabIndexToElement($element);\r\n return $element\r\n },\r\n _getTextElement() {\r\n var that = this;\r\n var $textElement = $(\"
    \").addClass(that.addWidgetPrefix(FILTER_PANEL_TEXT_CLASS));\r\n var filterText;\r\n var filterValue = that.option(\"filterValue\");\r\n if (filterValue) {\r\n when(that.getFilterText(filterValue, that.getController(\"filterSync\").getCustomFilterOperations())).done(filterText => {\r\n var customizeText = that.option(\"filterPanel.customizeText\");\r\n if (customizeText) {\r\n var customText = customizeText({\r\n component: that.component,\r\n filterValue: filterValue,\r\n text: filterText\r\n });\r\n if (\"string\" === typeof customText) {\r\n filterText = customText\r\n }\r\n }\r\n $textElement.text(filterText)\r\n })\r\n } else {\r\n filterText = that.option(\"filterPanel.texts.createFilter\");\r\n $textElement.text(filterText)\r\n }\r\n eventsEngine.on($textElement, \"click\", () => that._showFilterBuilder());\r\n registerKeyboardAction(\"filterPanel\", that, $textElement, void 0, () => that._showFilterBuilder());\r\n that._addTabIndexToElement($textElement);\r\n return $textElement\r\n },\r\n _showFilterBuilder() {\r\n this.option(\"filterBuilderPopup.visible\", true)\r\n },\r\n _getRemoveButtonElement() {\r\n var that = this;\r\n var clearFilterValue = () => that.option(\"filterValue\", null);\r\n var $element = $(\"
    \").addClass(that.addWidgetPrefix(FILTER_PANEL_CLEAR_FILTER_CLASS)).text(that.option(\"filterPanel.texts.clearFilter\"));\r\n eventsEngine.on($element, \"click\", clearFilterValue);\r\n registerKeyboardAction(\"filterPanel\", this, $element, void 0, clearFilterValue);\r\n that._addTabIndexToElement($element);\r\n return $element\r\n },\r\n _addTabIndexToElement($element) {\r\n if (!this.option(\"useLegacyKeyboardNavigation\")) {\r\n var tabindex = this.option(\"tabindex\") || 0;\r\n $element.attr(\"tabindex\", tabindex)\r\n }\r\n },\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"filterValue\":\r\n this._invalidate();\r\n this.option(\"filterPanel.filterEnabled\", true);\r\n args.handled = true;\r\n break;\r\n case \"filterPanel\":\r\n this._invalidate();\r\n args.handled = true;\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _getConditionText(fieldText, operationText, valueText) {\r\n var result = \"[\".concat(fieldText, \"] \").concat(operationText);\r\n if (isDefined(valueText)) {\r\n result += valueText\r\n }\r\n return result\r\n },\r\n _getValueMaskedText: value => Array.isArray(value) ? \"('\".concat(value.join(\"', '\"), \"')\") : \" '\".concat(value, \"'\"),\r\n _getValueText(field, customOperation, value) {\r\n var deferred = new Deferred;\r\n var hasCustomOperation = customOperation && customOperation.customizeText;\r\n if (isDefined(value) || hasCustomOperation) {\r\n if (!hasCustomOperation && field.lookup) {\r\n getCurrentLookupValueText(field, value, data => {\r\n deferred.resolve(this._getValueMaskedText(data))\r\n })\r\n } else {\r\n var displayValue = Array.isArray(value) ? value : gridUtils.getDisplayValue(field, value, null);\r\n when(getCurrentValueText(field, displayValue, customOperation, FILTER_PANEL_TARGET)).done(data => {\r\n deferred.resolve(this._getValueMaskedText(data))\r\n })\r\n }\r\n } else {\r\n deferred.resolve(\"\")\r\n }\r\n return deferred.promise()\r\n },\r\n getConditionText(filterValue, options) {\r\n var that = this;\r\n var operation = filterValue[1];\r\n var deferred = new Deferred;\r\n var customOperation = getCustomOperation(options.customOperations, operation);\r\n var operationText;\r\n var field = getField(filterValue[0], options.columns);\r\n var fieldText = field.caption || \"\";\r\n var value = filterValue[2];\r\n if (customOperation) {\r\n operationText = customOperation.caption || captionize(customOperation.name)\r\n } else if (null === value) {\r\n operationText = getCaptionByOperation(\"=\" === operation ? \"isblank\" : \"isnotblank\", options.filterOperationDescriptions)\r\n } else {\r\n operationText = getCaptionByOperation(operation, options.filterOperationDescriptions)\r\n }\r\n this._getValueText(field, customOperation, value).done(valueText => {\r\n deferred.resolve(that._getConditionText(fieldText, operationText, valueText))\r\n });\r\n return deferred\r\n },\r\n getGroupText(filterValue, options, isInnerGroup) {\r\n var that = this;\r\n var result = new Deferred;\r\n var textParts = [];\r\n var groupValue = getGroupValue(filterValue);\r\n filterValue.forEach(item => {\r\n if (isCondition(item)) {\r\n textParts.push(that.getConditionText(item, options))\r\n } else if (isGroup(item)) {\r\n textParts.push(that.getGroupText(item, options, true))\r\n }\r\n });\r\n when.apply(this, textParts).done((function() {\r\n var text;\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n if (groupValue.startsWith(\"!\")) {\r\n var groupText = options.groupOperationDescriptions[\"not\".concat(groupValue.substring(1, 2).toUpperCase()).concat(groupValue.substring(2))].split(\" \");\r\n text = \"\".concat(groupText[0], \" \").concat(args[0])\r\n } else {\r\n text = args.join(\" \".concat(options.groupOperationDescriptions[groupValue], \" \"))\r\n }\r\n if (isInnerGroup) {\r\n text = \"(\".concat(text, \")\")\r\n }\r\n result.resolve(text)\r\n }));\r\n return result\r\n },\r\n getFilterText(filterValue, customOperations) {\r\n var options = {\r\n customOperations: customOperations,\r\n columns: this.getController(\"columns\").getFilteringColumns(),\r\n filterOperationDescriptions: this.option(\"filterBuilder.filterOperationDescriptions\"),\r\n groupOperationDescriptions: this.option(\"filterBuilder.groupOperationDescriptions\")\r\n };\r\n return isCondition(filterValue) ? this.getConditionText(filterValue, options) : this.getGroupText(filterValue, options)\r\n }\r\n});\r\nexport var filterPanelModule = {\r\n defaultOptions: () => ({\r\n filterPanel: {\r\n visible: false,\r\n filterEnabled: true,\r\n texts: {\r\n createFilter: messageLocalization.format(\"dxDataGrid-filterPanelCreateFilter\"),\r\n clearFilter: messageLocalization.format(\"dxDataGrid-filterPanelClearFilter\"),\r\n filterEnabledHint: messageLocalization.format(\"dxDataGrid-filterPanelFilterEnabledHint\")\r\n }\r\n }\r\n }),\r\n views: {\r\n filterPanelView: FilterPanelView\r\n },\r\n extenders: {\r\n controllers: {\r\n data: {\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"filterPanel\":\r\n this._applyFilter();\r\n args.handled = true;\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/filter/m_filter_row.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each,\r\n map\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getOuterWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport {\r\n normalizeKeyName\r\n} from \"../../../../events/utils/index\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport Editor from \"../../../../ui/editor/editor\";\r\nimport Menu from \"../../../../ui/menu\";\r\nimport Overlay from \"../../../../ui/overlay/ui.overlay\";\r\nimport {\r\n selectView\r\n} from \"../../../../ui/shared/accessibility\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar OPERATION_ICONS = {\r\n \"=\": \"filter-operation-equals\",\r\n \"<>\": \"filter-operation-not-equals\",\r\n \"<\": \"filter-operation-less\",\r\n \"<=\": \"filter-operation-less-equal\",\r\n \">\": \"filter-operation-greater\",\r\n \">=\": \"filter-operation-greater-equal\",\r\n default: \"filter-operation-default\",\r\n notcontains: \"filter-operation-not-contains\",\r\n contains: \"filter-operation-contains\",\r\n startswith: \"filter-operation-starts-with\",\r\n endswith: \"filter-operation-ends-with\",\r\n between: \"filter-operation-between\"\r\n};\r\nvar OPERATION_DESCRIPTORS = {\r\n \"=\": \"equal\",\r\n \"<>\": \"notEqual\",\r\n \"<\": \"lessThan\",\r\n \"<=\": \"lessThanOrEqual\",\r\n \">\": \"greaterThan\",\r\n \">=\": \"greaterThanOrEqual\",\r\n startswith: \"startsWith\",\r\n contains: \"contains\",\r\n notcontains: \"notContains\",\r\n endswith: \"endsWith\",\r\n between: \"between\"\r\n};\r\nvar FILTERING_TIMEOUT = 700;\r\nvar CORRECT_FILTER_RANGE_OVERLAY_WIDTH = 1;\r\nvar FILTER_ROW_CLASS = \"filter-row\";\r\nvar FILTER_RANGE_OVERLAY_CLASS = \"filter-range-overlay\";\r\nvar FILTER_RANGE_START_CLASS = \"filter-range-start\";\r\nvar FILTER_RANGE_END_CLASS = \"filter-range-end\";\r\nvar MENU_CLASS = \"dx-menu\";\r\nvar EDITOR_WITH_MENU_CLASS = \"dx-editor-with-menu\";\r\nvar EDITOR_CONTAINER_CLASS = \"dx-editor-container\";\r\nvar EDITOR_CELL_CLASS = \"dx-editor-cell\";\r\nvar FILTER_MENU = \"dx-filter-menu\";\r\nvar APPLY_BUTTON_CLASS = \"dx-apply-button\";\r\nvar HIGHLIGHT_OUTLINE_CLASS = \"dx-highlight-outline\";\r\nvar FOCUSED_CLASS = \"dx-focused\";\r\nvar CELL_FOCUS_DISABLED_CLASS = \"dx-cell-focus-disabled\";\r\nvar FILTER_RANGE_CONTENT_CLASS = \"dx-filter-range-content\";\r\nvar FILTER_MODIFIED_CLASS = \"dx-filter-modified\";\r\nvar EDITORS_INPUT_SELECTOR = \"input:not([type='hidden'])\";\r\nvar BETWEEN_OPERATION_DATA_TYPES = [\"date\", \"datetime\", \"number\"];\r\nvar ARIA_SEARCH_BOX = messageLocalization.format(\"dxDataGrid-ariaSearchBox\");\r\n\r\nfunction isOnClickApplyFilterMode(that) {\r\n return \"onClick\" === that.option(\"filterRow.applyFilter\")\r\n}\r\nvar getEditorInstance = function($editorContainer) {\r\n var $editor = $editorContainer && $editorContainer.children();\r\n var componentNames = $editor && $editor.data(\"dxComponents\");\r\n var editor = componentNames && componentNames.length && $editor.data(componentNames[0]);\r\n if (editor instanceof Editor) {\r\n return editor\r\n }\r\n return null\r\n};\r\nvar ColumnHeadersViewFilterRowExtender = function() {\r\n var getRangeTextByFilterValue = function(that, column) {\r\n var result = \"\";\r\n var rangeEnd = \"\";\r\n var filterValue = getColumnFilterValue(that, column);\r\n var formatOptions = gridCoreUtils.getFormatOptionsByColumn(column, \"filterRow\");\r\n if (Array.isArray(filterValue)) {\r\n result = gridCoreUtils.formatValue(filterValue[0], formatOptions);\r\n rangeEnd = gridCoreUtils.formatValue(filterValue[1], formatOptions);\r\n if (\"\" !== rangeEnd) {\r\n result += \" - \".concat(rangeEnd)\r\n }\r\n } else if (isDefined(filterValue)) {\r\n result = gridCoreUtils.formatValue(filterValue, formatOptions)\r\n }\r\n return result\r\n };\r\n\r\n function getColumnFilterValue(that, column) {\r\n if (column) {\r\n return isOnClickApplyFilterMode(that) && void 0 !== column.bufferedFilterValue ? column.bufferedFilterValue : column.filterValue\r\n }\r\n }\r\n var getColumnSelectedFilterOperation = function(that, column) {\r\n if (column) {\r\n return isOnClickApplyFilterMode(that) && void 0 !== column.bufferedSelectedFilterOperation ? column.bufferedSelectedFilterOperation : column.selectedFilterOperation\r\n }\r\n };\r\n var getFilterValue = function(that, columnIndex, $editorContainer) {\r\n var column = that._columnsController.columnOption(columnIndex);\r\n var filterValue = getColumnFilterValue(that, column);\r\n var isFilterRange = $editorContainer.closest(\".\".concat(that.addWidgetPrefix(FILTER_RANGE_OVERLAY_CLASS))).length;\r\n var isRangeStart = $editorContainer.hasClass(that.addWidgetPrefix(FILTER_RANGE_START_CLASS));\r\n if (filterValue && Array.isArray(filterValue) && \"between\" === getColumnSelectedFilterOperation(that, column)) {\r\n if (isRangeStart) {\r\n return filterValue[0]\r\n }\r\n return filterValue[1]\r\n }\r\n return !isFilterRange && function(filterValue, column) {\r\n if (column && BETWEEN_OPERATION_DATA_TYPES.includes(column.dataType) && Array.isArray(filterValue)) {\r\n return false\r\n }\r\n return void 0 !== filterValue\r\n }(filterValue, column) ? filterValue : null\r\n };\r\n var updateFilterValue = function(that, options) {\r\n var value = \"\" === options.value ? null : options.value;\r\n var $editorContainer = options.container;\r\n var column = that._columnsController.columnOption(options.column.index);\r\n var filterValue = getFilterValue(that, column.index, $editorContainer);\r\n if (!isDefined(filterValue) && !isDefined(value)) {\r\n return\r\n }\r\n that._applyFilterViewController.setHighLight($editorContainer, filterValue !== value);\r\n var columnOptionName = isOnClickApplyFilterMode(that) ? \"bufferedFilterValue\" : \"filterValue\";\r\n var normalizedValue = function(that, filterValue, column, $editorContainer) {\r\n if (\"between\" === getColumnSelectedFilterOperation(that, column)) {\r\n var columnFilterValue = getColumnFilterValue(that, column);\r\n if ($editorContainer.hasClass(that.addWidgetPrefix(FILTER_RANGE_START_CLASS))) {\r\n return [filterValue, Array.isArray(columnFilterValue) ? columnFilterValue[1] : void 0]\r\n }\r\n return [Array.isArray(columnFilterValue) ? columnFilterValue[0] : columnFilterValue, filterValue]\r\n }\r\n return filterValue\r\n }(that, value, column, $editorContainer);\r\n var isBetween = \"between\" === getColumnSelectedFilterOperation(that, column);\r\n var notFireEvent = options.notFireEvent || isBetween && Array.isArray(normalizedValue) && normalizedValue.includes(void 0);\r\n that._columnsController.columnOption(column.index, columnOptionName, normalizedValue, notFireEvent)\r\n };\r\n return {\r\n _updateEditorValue(column, $editorContainer) {\r\n var editor = getEditorInstance($editorContainer);\r\n editor && editor.option(\"value\", getFilterValue(this, column.index, $editorContainer))\r\n },\r\n _columnOptionChanged(e) {\r\n var {\r\n optionNames: optionNames\r\n } = e;\r\n var $cell;\r\n var $editorContainer;\r\n var $editorRangeElements;\r\n var $menu;\r\n if (gridCoreUtils.checkChanges(optionNames, [\"filterValue\", \"bufferedFilterValue\", \"selectedFilterOperation\", \"bufferedSelectedFilterOperation\", \"filterValues\", \"filterType\"]) && void 0 !== e.columnIndex) {\r\n var visibleIndex = this._columnsController.getVisibleIndex(e.columnIndex);\r\n var column = this._columnsController.columnOption(e.columnIndex);\r\n $cell = this._getCellElement(this.element().find(\".\".concat(this.addWidgetPrefix(FILTER_ROW_CLASS))).index(), visibleIndex) || $();\r\n $editorContainer = $cell.find(\".\".concat(EDITOR_CONTAINER_CLASS)).first();\r\n if (optionNames.filterValue || optionNames.bufferedFilterValue) {\r\n this._updateEditorValue(column, $editorContainer);\r\n var overlayInstance = $cell.find(\".\".concat(this.addWidgetPrefix(FILTER_RANGE_OVERLAY_CLASS))).data(\"dxOverlay\");\r\n if (overlayInstance) {\r\n $editorRangeElements = overlayInstance.$content().find(\".\".concat(EDITOR_CONTAINER_CLASS));\r\n this._updateEditorValue(column, $editorRangeElements.first());\r\n this._updateEditorValue(column, $editorRangeElements.last())\r\n }\r\n if (!overlayInstance || !overlayInstance.option(\"visible\")) {\r\n this._updateFilterRangeContent($cell, getRangeTextByFilterValue(this, column))\r\n }\r\n }\r\n if (optionNames.selectedFilterOperation || optionNames.bufferedSelectedFilterOperation) {\r\n if (visibleIndex >= 0 && column) {\r\n $menu = $cell.find(\".\".concat(MENU_CLASS));\r\n if ($menu.length) {\r\n this._updateFilterOperationChooser($menu, column, $editorContainer);\r\n if (\"between\" === getColumnSelectedFilterOperation(this, column)) {\r\n this._renderFilterRangeContent($cell, column)\r\n } else if ($editorContainer.find(\".\".concat(FILTER_RANGE_CONTENT_CLASS)).length) {\r\n this._renderEditor($editorContainer, this._getEditorOptions($editorContainer, column));\r\n this._hideFilterRange()\r\n }\r\n }\r\n }\r\n }\r\n return\r\n }\r\n this.callBase(e)\r\n },\r\n _renderCore() {\r\n this._filterRangeOverlayInstance = null;\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _resizeCore() {\r\n this.callBase.apply(this, arguments);\r\n this._filterRangeOverlayInstance && this._filterRangeOverlayInstance.repaint()\r\n },\r\n isFilterRowVisible() {\r\n return this._isElementVisible(this.option(\"filterRow\"))\r\n },\r\n isVisible() {\r\n return this.callBase() || this.isFilterRowVisible()\r\n },\r\n init() {\r\n this.callBase();\r\n this._applyFilterViewController = this.getController(\"applyFilter\")\r\n },\r\n _initFilterRangeOverlay($cell, column) {\r\n var that = this;\r\n var sharedData = {};\r\n var $editorContainer = $cell.find(\".dx-editor-container\");\r\n var filterRangeOverlayClass = that.addWidgetPrefix(FILTER_RANGE_OVERLAY_CLASS);\r\n var $overlay = $(\"
    \").addClass(filterRangeOverlayClass).appendTo($cell);\r\n return that._createComponent($overlay, Overlay, {\r\n height: \"auto\",\r\n shading: false,\r\n showTitle: false,\r\n focusStateEnabled: false,\r\n hideOnOutsideClick: true,\r\n wrapperAttr: {\r\n class: filterRangeOverlayClass\r\n },\r\n animation: false,\r\n position: {\r\n my: \"top\",\r\n at: \"top\",\r\n of: $editorContainer.length && $editorContainer || $cell,\r\n offset: \"0 -1\"\r\n },\r\n contentTemplate(contentElement) {\r\n var editorOptions;\r\n var $editor = $(\"
    \").addClass(\"\".concat(EDITOR_CONTAINER_CLASS, \" \").concat(that.addWidgetPrefix(FILTER_RANGE_START_CLASS))).appendTo(contentElement);\r\n column = that._columnsController.columnOption(column.index);\r\n editorOptions = that._getEditorOptions($editor, column);\r\n editorOptions.sharedData = sharedData;\r\n that._renderEditor($editor, editorOptions);\r\n eventsEngine.on($editor.find(EDITORS_INPUT_SELECTOR), \"keydown\", e => {\r\n var $prevElement = $cell.find(\"[tabindex]\").not(e.target).first();\r\n if (\"tab\" === normalizeKeyName(e) && e.shiftKey) {\r\n e.preventDefault();\r\n that._hideFilterRange();\r\n if (!$prevElement.length) {\r\n $prevElement = $cell.prev().find(\"[tabindex]\").last()\r\n }\r\n eventsEngine.trigger($prevElement, \"focus\")\r\n }\r\n });\r\n $editor = $(\"
    \").addClass(\"\".concat(EDITOR_CONTAINER_CLASS, \" \").concat(that.addWidgetPrefix(FILTER_RANGE_END_CLASS))).appendTo(contentElement);\r\n editorOptions = that._getEditorOptions($editor, column);\r\n editorOptions.sharedData = sharedData;\r\n that._renderEditor($editor, editorOptions);\r\n eventsEngine.on($editor.find(EDITORS_INPUT_SELECTOR), \"keydown\", e => {\r\n if (\"tab\" === normalizeKeyName(e) && !e.shiftKey) {\r\n e.preventDefault();\r\n that._hideFilterRange();\r\n eventsEngine.trigger($cell.next().find(\"[tabindex]\").first(), \"focus\")\r\n }\r\n });\r\n return $(contentElement).addClass(that.getWidgetContainerClass())\r\n },\r\n onShown(e) {\r\n var $editor = e.component.$content().find(\".\".concat(EDITOR_CONTAINER_CLASS)).first();\r\n eventsEngine.trigger($editor.find(EDITORS_INPUT_SELECTOR), \"focus\")\r\n },\r\n onHidden() {\r\n column = that._columnsController.columnOption(column.index);\r\n $cell.find(\".\".concat(MENU_CLASS)).parent().addClass(EDITOR_WITH_MENU_CLASS);\r\n if (\"between\" === getColumnSelectedFilterOperation(that, column)) {\r\n that._updateFilterRangeContent($cell, getRangeTextByFilterValue(that, column));\r\n that.component.updateDimensions()\r\n }\r\n }\r\n })\r\n },\r\n _updateFilterRangeOverlay(options) {\r\n var overlayInstance = this._filterRangeOverlayInstance;\r\n overlayInstance && overlayInstance.option(options)\r\n },\r\n _showFilterRange($cell, column) {\r\n var $overlay = $cell.children(\".\".concat(this.addWidgetPrefix(FILTER_RANGE_OVERLAY_CLASS)));\r\n var overlayInstance = $overlay.length && $overlay.data(\"dxOverlay\");\r\n if (!overlayInstance && column) {\r\n overlayInstance = this._initFilterRangeOverlay($cell, column)\r\n }\r\n if (!overlayInstance.option(\"visible\")) {\r\n this._filterRangeOverlayInstance && this._filterRangeOverlayInstance.hide();\r\n this._filterRangeOverlayInstance = overlayInstance;\r\n this._updateFilterRangeOverlay({\r\n width: getOuterWidth($cell, true) + CORRECT_FILTER_RANGE_OVERLAY_WIDTH\r\n });\r\n this._filterRangeOverlayInstance && this._filterRangeOverlayInstance.show()\r\n }\r\n },\r\n _hideFilterRange() {\r\n var overlayInstance = this._filterRangeOverlayInstance;\r\n overlayInstance && overlayInstance.hide()\r\n },\r\n getFilterRangeOverlayInstance() {\r\n return this._filterRangeOverlayInstance\r\n },\r\n _createRow(row) {\r\n var $row = this.callBase(row);\r\n if (\"filter\" === row.rowType) {\r\n $row.addClass(this.addWidgetPrefix(FILTER_ROW_CLASS));\r\n if (!this.option(\"useLegacyKeyboardNavigation\")) {\r\n eventsEngine.on($row, \"keydown\", event => selectView(\"filterRow\", this, event))\r\n }\r\n }\r\n return $row\r\n },\r\n _getRows() {\r\n var result = this.callBase();\r\n if (this.isFilterRowVisible()) {\r\n result.push({\r\n rowType: \"filter\"\r\n })\r\n }\r\n return result\r\n },\r\n _renderFilterCell(cell, options) {\r\n var {\r\n column: column\r\n } = options;\r\n var $cell = $(cell);\r\n if (this.component.option(\"showColumnHeaders\")) {\r\n this.setAria(\"describedby\", column.headerId, $cell)\r\n }\r\n this.setAria(\"label\", messageLocalization.format(\"dxDataGrid-ariaFilterCell\"), $cell);\r\n $cell.addClass(EDITOR_CELL_CLASS);\r\n var $container = $(\"
    \").appendTo($cell);\r\n var $editorContainer = $(\"
    \").addClass(EDITOR_CONTAINER_CLASS).appendTo($container);\r\n if (\"between\" === getColumnSelectedFilterOperation(this, column)) {\r\n this._renderFilterRangeContent($cell, column)\r\n } else {\r\n var editorOptions = this._getEditorOptions($editorContainer, column);\r\n this._renderEditor($editorContainer, editorOptions)\r\n }\r\n var {\r\n alignment: alignment\r\n } = column;\r\n if (alignment && \"center\" !== alignment) {\r\n $cell.find(EDITORS_INPUT_SELECTOR).first().css(\"textAlign\", column.alignment)\r\n }\r\n if (column.filterOperations && column.filterOperations.length) {\r\n this._renderFilterOperationChooser($container, column, $editorContainer)\r\n }\r\n },\r\n _renderCellContent($cell, options) {\r\n var that = this;\r\n var {\r\n column: column\r\n } = options;\r\n if (\"filter\" === options.rowType) {\r\n if (column.command) {\r\n $cell.html(\" \")\r\n } else if (column.allowFiltering) {\r\n that.renderTemplate($cell, that._renderFilterCell.bind(that), options).done(() => {\r\n that._updateCell($cell, options)\r\n });\r\n return\r\n }\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _getEditorOptions($editorContainer, column) {\r\n var that = this;\r\n var accessibilityOptions = {\r\n editorOptions: {\r\n inputAttr: that._getFilterInputAccessibilityAttributes(column)\r\n }\r\n };\r\n var result = extend(accessibilityOptions, column, {\r\n value: getFilterValue(that, column.index, $editorContainer),\r\n parentType: \"filterRow\",\r\n showAllText: that.option(\"filterRow.showAllText\"),\r\n updateValueTimeout: \"onClick\" === that.option(\"filterRow.applyFilter\") ? 0 : FILTERING_TIMEOUT,\r\n width: null,\r\n setValue(value, notFireEvent) {\r\n updateFilterValue(that, {\r\n column: column,\r\n value: value,\r\n container: $editorContainer,\r\n notFireEvent: notFireEvent\r\n })\r\n }\r\n });\r\n if (\"between\" === getColumnSelectedFilterOperation(that, column)) {\r\n if ($editorContainer.hasClass(that.addWidgetPrefix(FILTER_RANGE_START_CLASS))) {\r\n result.placeholder = that.option(\"filterRow.betweenStartText\")\r\n } else {\r\n result.placeholder = that.option(\"filterRow.betweenEndText\")\r\n }\r\n }\r\n return result\r\n },\r\n _getFilterInputAccessibilityAttributes(column) {\r\n var columnAriaLabel = messageLocalization.format(\"dxDataGrid-ariaFilterCell\");\r\n if (this.component.option(\"showColumnHeaders\")) {\r\n return {\r\n \"aria-label\": columnAriaLabel,\r\n \"aria-describedby\": column.headerId\r\n }\r\n }\r\n return {\r\n \"aria-label\": columnAriaLabel\r\n }\r\n },\r\n _renderEditor($editorContainer, options) {\r\n $editorContainer.empty();\r\n var $element = $(\"
    \").appendTo($editorContainer);\r\n var editorController = this.getController(\"editorFactory\");\r\n var dataSource = this.getController(\"data\").dataSource();\r\n var filterRowController = this.getController(\"applyFilter\");\r\n if (options.lookup && this.option(\"syncLookupFilterValues\")) {\r\n filterRowController.setCurrentColumnForFiltering(options);\r\n var filter = this.getController(\"data\").getCombinedFilter();\r\n filterRowController.setCurrentColumnForFiltering(null);\r\n var lookupDataSource = gridCoreUtils.getWrappedLookupDataSource(options, dataSource, filter);\r\n var lookupOptions = _extends(_extends({}, options), {\r\n lookup: _extends(_extends({}, options.lookup), {\r\n dataSource: lookupDataSource\r\n })\r\n });\r\n return editorController.createEditor($element, lookupOptions)\r\n }\r\n return editorController.createEditor($element, options)\r\n },\r\n _renderFilterRangeContent($cell, column) {\r\n var that = this;\r\n var $editorContainer = $cell.find(\".\".concat(EDITOR_CONTAINER_CLASS)).first();\r\n $editorContainer.empty();\r\n var $filterRangeContent = $(\"
    \").addClass(FILTER_RANGE_CONTENT_CLASS).attr(\"tabindex\", this.option(\"tabIndex\"));\r\n eventsEngine.on($filterRangeContent, \"focusin\", () => {\r\n that._showFilterRange($cell, column)\r\n });\r\n $filterRangeContent.appendTo($editorContainer);\r\n that._updateFilterRangeContent($cell, getRangeTextByFilterValue(that, column))\r\n },\r\n _updateFilterRangeContent($cell, value) {\r\n var $filterRangeContent = $cell.find(\".\".concat(FILTER_RANGE_CONTENT_CLASS));\r\n if ($filterRangeContent.length) {\r\n if (\"\" === value) {\r\n $filterRangeContent.html(\" \")\r\n } else {\r\n $filterRangeContent.text(value)\r\n }\r\n }\r\n },\r\n _updateFilterOperationChooser($menu, column, $editorContainer) {\r\n var that = this;\r\n var isCellWasFocused;\r\n var restoreFocus = function() {\r\n var menu = Menu.getInstance($menu);\r\n menu && menu.option(\"focusedElement\", null);\r\n isCellWasFocused && that._focusEditor($editorContainer)\r\n };\r\n that._createComponent($menu, Menu, {\r\n integrationOptions: {},\r\n activeStateEnabled: false,\r\n selectionMode: \"single\",\r\n cssClass: \"\".concat(that.getWidgetContainerClass(), \" \").concat(CELL_FOCUS_DISABLED_CLASS, \" \").concat(FILTER_MENU),\r\n showFirstSubmenuMode: \"onHover\",\r\n hideSubmenuOnMouseLeave: true,\r\n items: [{\r\n disabled: !(column.filterOperations && column.filterOperations.length),\r\n icon: OPERATION_ICONS[getColumnSelectedFilterOperation(that, column) || \"default\"],\r\n selectable: false,\r\n items: that._getFilterOperationMenuItems(column)\r\n }],\r\n onItemRendered: _ref => {\r\n var {\r\n itemElement: itemElement\r\n } = _ref;\r\n this.setAria(\"label\", ARIA_SEARCH_BOX, $(itemElement))\r\n },\r\n onItemClick(properties) {\r\n var selectedFilterOperation = properties.itemData.name;\r\n var columnSelectedFilterOperation = getColumnSelectedFilterOperation(that, column);\r\n var notFocusEditor = false;\r\n var isOnClickMode = isOnClickApplyFilterMode(that);\r\n var options = {};\r\n if (properties.itemData.items || selectedFilterOperation && selectedFilterOperation === columnSelectedFilterOperation) {\r\n return\r\n }\r\n if (selectedFilterOperation) {\r\n options[isOnClickMode ? \"bufferedSelectedFilterOperation\" : \"selectedFilterOperation\"] = selectedFilterOperation;\r\n if (\"between\" === selectedFilterOperation || \"between\" === columnSelectedFilterOperation) {\r\n notFocusEditor = \"between\" === selectedFilterOperation;\r\n options[isOnClickMode ? \"bufferedFilterValue\" : \"filterValue\"] = null\r\n }\r\n } else {\r\n options[isOnClickMode ? \"bufferedFilterValue\" : \"filterValue\"] = null;\r\n options[isOnClickMode ? \"bufferedSelectedFilterOperation\" : \"selectedFilterOperation\"] = column.defaultSelectedFilterOperation || null\r\n }\r\n that._columnsController.columnOption(column.index, options);\r\n that._applyFilterViewController.setHighLight($editorContainer, true);\r\n if (!selectedFilterOperation) {\r\n var editor = getEditorInstance($editorContainer);\r\n if (editor && \"dxDateBox\" === editor.NAME && !editor.option(\"isValid\")) {\r\n editor.reset();\r\n editor.option(\"isValid\", true)\r\n }\r\n }\r\n if (!notFocusEditor) {\r\n that._focusEditor($editorContainer)\r\n } else {\r\n that._showFilterRange($editorContainer.closest(\".\".concat(EDITOR_CELL_CLASS)), column)\r\n }\r\n },\r\n onSubmenuShowing() {\r\n isCellWasFocused = that._isEditorFocused($editorContainer);\r\n that.getController(\"editorFactory\").loseFocus()\r\n },\r\n onSubmenuHiding() {\r\n eventsEngine.trigger($menu, \"blur\");\r\n restoreFocus()\r\n },\r\n onContentReady(e) {\r\n eventsEngine.on($menu, \"blur\", () => {\r\n var menu = e.component;\r\n menu._hideSubmenuAfterTimeout();\r\n restoreFocus()\r\n })\r\n },\r\n rtlEnabled: that.option(\"rtlEnabled\")\r\n })\r\n },\r\n _isEditorFocused: $container => $container.hasClass(FOCUSED_CLASS) || $container.parents(\".\".concat(FOCUSED_CLASS)).length,\r\n _focusEditor($container) {\r\n this.getController(\"editorFactory\").focus($container);\r\n eventsEngine.trigger($container.find(EDITORS_INPUT_SELECTOR), \"focus\")\r\n },\r\n _renderFilterOperationChooser($container, column, $editorContainer) {\r\n var $menu;\r\n if (this.option(\"filterRow.showOperationChooser\")) {\r\n $container.addClass(EDITOR_WITH_MENU_CLASS);\r\n $menu = $(\"
    \").prependTo($container);\r\n this._updateFilterOperationChooser($menu, column, $editorContainer)\r\n }\r\n },\r\n _getFilterOperationMenuItems(column) {\r\n var that = this;\r\n var result = [{}];\r\n var filterRowOptions = that.option(\"filterRow\");\r\n var operationDescriptions = filterRowOptions && filterRowOptions.operationDescriptions || {};\r\n if (column.filterOperations && column.filterOperations.length) {\r\n var availableFilterOperations = column.filterOperations.filter(value => isDefined(OPERATION_DESCRIPTORS[value]));\r\n result = map(availableFilterOperations, value => {\r\n var descriptionName = OPERATION_DESCRIPTORS[value];\r\n return {\r\n name: value,\r\n selected: (getColumnSelectedFilterOperation(that, column) || column.defaultFilterOperation) === value,\r\n text: operationDescriptions[descriptionName],\r\n icon: OPERATION_ICONS[value]\r\n }\r\n });\r\n result.push({\r\n name: null,\r\n text: filterRowOptions && filterRowOptions.resetOperationText,\r\n icon: OPERATION_ICONS.default\r\n })\r\n }\r\n return result\r\n },\r\n _handleDataChanged(e) {\r\n var _a, _b, _c, _d, _e, _f;\r\n var dataSource = null === (_b = null === (_a = this._dataController) || void 0 === _a ? void 0 : _a.dataSource) || void 0 === _b ? void 0 : _b.call(_a);\r\n var lastLoadOptions = null === (_c = null === dataSource || void 0 === dataSource ? void 0 : dataSource.lastLoadOptions) || void 0 === _c ? void 0 : _c.call(dataSource);\r\n this.callBase.apply(this, arguments);\r\n if ((null === (_d = e.operationTypes) || void 0 === _d ? void 0 : _d.filtering) || (null === (_e = e.operationTypes) || void 0 === _e ? void 0 : _e.fullReload)) {\r\n this.updateLookupDataSource((null === (_f = e.operationTypes) || void 0 === _f ? void 0 : _f.filtering) || (null === lastLoadOptions || void 0 === lastLoadOptions ? void 0 : lastLoadOptions.filter))\r\n }\r\n },\r\n updateLookupDataSource(filterChanged) {\r\n if (!this.option(\"syncLookupFilterValues\")) {\r\n return\r\n }\r\n if (!this.element()) {\r\n return\r\n }\r\n var columns = this._columnsController.getVisibleColumns();\r\n var dataSource = this._dataController.dataSource();\r\n var applyFilterViewController = this._applyFilterViewController;\r\n var rowIndex = this.element().find(\".\".concat(this.addWidgetPrefix(FILTER_ROW_CLASS))).index();\r\n if (-1 === rowIndex) {\r\n return\r\n }\r\n columns.forEach((column, index) => {\r\n if (!column.lookup || column.calculateCellValue !== column.defaultCalculateCellValue) {\r\n return\r\n }\r\n var $cell = this._getCellElement(rowIndex, index);\r\n var editor = getEditorInstance(null === $cell || void 0 === $cell ? void 0 : $cell.find(\".dx-editor-container\"));\r\n if (editor) {\r\n applyFilterViewController.setCurrentColumnForFiltering(column);\r\n var filter = this._dataController.getCombinedFilter() || null;\r\n applyFilterViewController.setCurrentColumnForFiltering(null);\r\n var editorDataSource = editor.option(\"dataSource\");\r\n var shouldUpdateFilter = !filterChanged || !equalByValue(editorDataSource.__dataGridSourceFilter || null, filter);\r\n if (shouldUpdateFilter) {\r\n var lookupDataSource = gridCoreUtils.getWrappedLookupDataSource(column, dataSource, filter);\r\n editor.option(\"dataSource\", lookupDataSource)\r\n }\r\n }\r\n })\r\n },\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"filterRow\":\r\n case \"showColumnLines\":\r\n this._invalidate(true, true);\r\n args.handled = true;\r\n break;\r\n case \"syncLookupFilterValues\":\r\n if (args.value) {\r\n this.updateLookupDataSource()\r\n } else {\r\n this.render()\r\n }\r\n args.handled = true;\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n }\r\n}();\r\nvar DataControllerFilterRowExtender = {\r\n skipCalculateColumnFilters: () => false,\r\n _calculateAdditionalFilter() {\r\n if (this.skipCalculateColumnFilters()) {\r\n return this.callBase()\r\n }\r\n var filters = [this.callBase()];\r\n var columns = this._columnsController.getVisibleColumns(null, true);\r\n var filterRowController = this.getController(\"applyFilter\");\r\n each(columns, (function() {\r\n var _a;\r\n var shouldSkip = (null === (_a = filterRowController.getCurrentColumnForFiltering()) || void 0 === _a ? void 0 : _a.index) === this.index;\r\n if (this.allowFiltering && this.calculateFilterExpression && isDefined(this.filterValue) && !shouldSkip) {\r\n var filter = this.createFilterExpression(this.filterValue, this.selectedFilterOperation || this.defaultFilterOperation, \"filterRow\");\r\n filters.push(filter)\r\n }\r\n }));\r\n return gridCoreUtils.combineFilters(filters)\r\n }\r\n};\r\nvar ApplyFilterViewController = modules.ViewController.inherit({\r\n _getHeaderPanel() {\r\n if (!this._headerPanel) {\r\n this._headerPanel = this.getView(\"headerPanel\")\r\n }\r\n return this._headerPanel\r\n },\r\n setHighLight($element, value) {\r\n if (isOnClickApplyFilterMode(this)) {\r\n $element && $element.toggleClass(HIGHLIGHT_OUTLINE_CLASS, value) && $element.closest(\".\".concat(EDITOR_CELL_CLASS)).toggleClass(FILTER_MODIFIED_CLASS, value);\r\n this._getHeaderPanel().enableApplyButton(value)\r\n }\r\n },\r\n applyFilter() {\r\n var columnsController = this.getController(\"columns\");\r\n var columns = columnsController.getColumns();\r\n columnsController.beginUpdate();\r\n for (var i = 0; i < columns.length; i++) {\r\n var column = columns[i];\r\n if (void 0 !== column.bufferedFilterValue) {\r\n columnsController.columnOption(i, \"filterValue\", column.bufferedFilterValue);\r\n column.bufferedFilterValue = void 0\r\n }\r\n if (void 0 !== column.bufferedSelectedFilterOperation) {\r\n columnsController.columnOption(i, \"selectedFilterOperation\", column.bufferedSelectedFilterOperation);\r\n column.bufferedSelectedFilterOperation = void 0\r\n }\r\n }\r\n columnsController.endUpdate();\r\n this.removeHighLights()\r\n },\r\n removeHighLights() {\r\n if (isOnClickApplyFilterMode(this)) {\r\n var columnHeadersViewElement = this.getView(\"columnHeadersView\").element();\r\n columnHeadersViewElement.find(\".\".concat(this.addWidgetPrefix(FILTER_ROW_CLASS), \" .\").concat(HIGHLIGHT_OUTLINE_CLASS)).removeClass(HIGHLIGHT_OUTLINE_CLASS);\r\n columnHeadersViewElement.find(\".\".concat(this.addWidgetPrefix(FILTER_ROW_CLASS), \" .\").concat(FILTER_MODIFIED_CLASS)).removeClass(FILTER_MODIFIED_CLASS);\r\n this._getHeaderPanel().enableApplyButton(false)\r\n }\r\n },\r\n setCurrentColumnForFiltering(column) {\r\n this._currentColumn = column\r\n },\r\n getCurrentColumnForFiltering() {\r\n return this._currentColumn\r\n }\r\n});\r\nexport var filterRowModule = {\r\n defaultOptions: () => ({\r\n syncLookupFilterValues: true,\r\n filterRow: {\r\n visible: false,\r\n showOperationChooser: true,\r\n showAllText: messageLocalization.format(\"dxDataGrid-filterRowShowAllText\"),\r\n resetOperationText: messageLocalization.format(\"dxDataGrid-filterRowResetOperationText\"),\r\n applyFilter: \"auto\",\r\n applyFilterText: messageLocalization.format(\"dxDataGrid-applyFilterText\"),\r\n operationDescriptions: {\r\n equal: messageLocalization.format(\"dxDataGrid-filterRowOperationEquals\"),\r\n notEqual: messageLocalization.format(\"dxDataGrid-filterRowOperationNotEquals\"),\r\n lessThan: messageLocalization.format(\"dxDataGrid-filterRowOperationLess\"),\r\n lessThanOrEqual: messageLocalization.format(\"dxDataGrid-filterRowOperationLessOrEquals\"),\r\n greaterThan: messageLocalization.format(\"dxDataGrid-filterRowOperationGreater\"),\r\n greaterThanOrEqual: messageLocalization.format(\"dxDataGrid-filterRowOperationGreaterOrEquals\"),\r\n startsWith: messageLocalization.format(\"dxDataGrid-filterRowOperationStartsWith\"),\r\n contains: messageLocalization.format(\"dxDataGrid-filterRowOperationContains\"),\r\n notContains: messageLocalization.format(\"dxDataGrid-filterRowOperationNotContains\"),\r\n endsWith: messageLocalization.format(\"dxDataGrid-filterRowOperationEndsWith\"),\r\n between: messageLocalization.format(\"dxDataGrid-filterRowOperationBetween\"),\r\n isBlank: messageLocalization.format(\"dxFilterBuilder-filterOperationIsBlank\"),\r\n isNotBlank: messageLocalization.format(\"dxFilterBuilder-filterOperationIsNotBlank\")\r\n },\r\n betweenStartText: messageLocalization.format(\"dxDataGrid-filterRowOperationBetweenStartText\"),\r\n betweenEndText: messageLocalization.format(\"dxDataGrid-filterRowOperationBetweenEndText\")\r\n }\r\n }),\r\n controllers: {\r\n applyFilter: ApplyFilterViewController\r\n },\r\n extenders: {\r\n controllers: {\r\n data: DataControllerFilterRowExtender,\r\n columnsResizer: {\r\n _startResizing() {\r\n this.callBase.apply(this, arguments);\r\n if (this.isResizing()) {\r\n var overlayInstance = this._columnHeadersView.getFilterRangeOverlayInstance();\r\n if (overlayInstance) {\r\n var cellIndex = overlayInstance.$element().closest(\"td\").index();\r\n if (cellIndex === this._targetPoint.columnIndex || cellIndex === this._targetPoint.columnIndex + 1) {\r\n overlayInstance.$content().hide()\r\n }\r\n }\r\n }\r\n },\r\n _endResizing() {\r\n var $cell;\r\n if (this.isResizing()) {\r\n var overlayInstance = this._columnHeadersView.getFilterRangeOverlayInstance();\r\n if (overlayInstance) {\r\n $cell = overlayInstance.$element().closest(\"td\");\r\n this._columnHeadersView._updateFilterRangeOverlay({\r\n width: getOuterWidth($cell, true) + CORRECT_FILTER_RANGE_OVERLAY_WIDTH\r\n });\r\n overlayInstance.$content().show()\r\n }\r\n }\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n editing: {\r\n updateFieldValue(options) {\r\n if (options.column.lookup) {\r\n this._needUpdateLookupDataSource = true\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _afterSaveEditData(cancel) {\r\n var _a;\r\n if (this._needUpdateLookupDataSource && !cancel) {\r\n null === (_a = this.getView(\"columnHeadersView\")) || void 0 === _a ? void 0 : _a.updateLookupDataSource()\r\n }\r\n this._needUpdateLookupDataSource = false;\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _afterCancelEditData() {\r\n this._needUpdateLookupDataSource = false;\r\n return this.callBase.apply(this, arguments)\r\n }\r\n }\r\n },\r\n views: {\r\n columnHeadersView: ColumnHeadersViewFilterRowExtender,\r\n headerPanel: {\r\n _getToolbarItems() {\r\n var items = this.callBase();\r\n var filterItem = this._prepareFilterItem(items);\r\n return filterItem.concat(items)\r\n },\r\n _prepareFilterItem() {\r\n var that = this;\r\n var filterItem = [];\r\n if (that._isShowApplyFilterButton()) {\r\n var hintText = that.option(\"filterRow.applyFilterText\");\r\n var columns = that._columnsController.getColumns();\r\n var disabled = !columns.filter(column => void 0 !== column.bufferedFilterValue).length;\r\n var toolbarItem = {\r\n widget: \"dxButton\",\r\n options: {\r\n icon: \"apply-filter\",\r\n disabled: disabled,\r\n onClick: function() {\r\n that._applyFilterViewController.applyFilter()\r\n },\r\n hint: hintText,\r\n text: hintText,\r\n onInitialized: function(e) {\r\n $(e.element).addClass(that._getToolbarButtonClass(APPLY_BUTTON_CLASS))\r\n }\r\n },\r\n showText: \"inMenu\",\r\n name: \"applyFilterButton\",\r\n location: \"after\",\r\n locateInMenu: \"auto\",\r\n sortIndex: 10\r\n };\r\n filterItem.push(toolbarItem)\r\n }\r\n return filterItem\r\n },\r\n _isShowApplyFilterButton() {\r\n var filterRowOptions = this.option(\"filterRow\");\r\n return filterRowOptions && filterRowOptions.visible && \"onClick\" === filterRowOptions.applyFilter\r\n },\r\n init() {\r\n this.callBase();\r\n this._dataController = this.getController(\"data\");\r\n this._applyFilterViewController = this.getController(\"applyFilter\")\r\n },\r\n enableApplyButton(value) {\r\n this.setToolbarItemDisabled(\"applyFilterButton\", !value)\r\n },\r\n isVisible() {\r\n return this.callBase() || this._isShowApplyFilterButton()\r\n },\r\n optionChanged(args) {\r\n if (\"filterRow\" === args.name) {\r\n this._invalidate();\r\n args.handled = true\r\n } else {\r\n this.callBase(args)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/filter/m_filter_custom_operations.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n Deferred\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n DataSource\r\n} from \"../../../../data/data_source/data_source\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport {\r\n getFilterExpression,\r\n isCondition,\r\n isGroup,\r\n renderValueText\r\n} from \"../../../../ui/filter_builder/utils\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\n\r\nfunction baseOperation(grid) {\r\n var getFullText = function(itemText, parentText) {\r\n return parentText ? \"\".concat(parentText, \"/\").concat(itemText) : itemText\r\n };\r\n var headerFilterController = grid && grid.getController(\"headerFilter\");\r\n return {\r\n dataTypes: [\"string\", \"date\", \"datetime\", \"number\", \"boolean\", \"object\"],\r\n calculateFilterExpression: function(filterValue, field, fields) {\r\n var result = [];\r\n var lastIndex = filterValue.length - 1;\r\n filterValue && filterValue.forEach((value, index) => {\r\n if (isCondition(value) || isGroup(value)) {\r\n var filterExpression = getFilterExpression(value, fields, [], \"headerFilter\");\r\n result.push(filterExpression)\r\n } else {\r\n var _filterExpression = getFilterExpression([field.dataField, \"=\", value], fields, [], \"headerFilter\");\r\n result.push(_filterExpression)\r\n }\r\n index !== lastIndex && result.push(\"or\")\r\n });\r\n if (1 === result.length) {\r\n return result[0]\r\n }\r\n return result\r\n },\r\n editorTemplate(conditionInfo, container) {\r\n var div = $(\"
    \").addClass(\"dx-filterbuilder-item-value-text\").appendTo(container);\r\n var column = extend(true, {}, grid.columnOption(conditionInfo.field.dataField));\r\n renderValueText(div, conditionInfo.text && conditionInfo.text.split(\"|\"));\r\n column.filterType = \"include\";\r\n column.filterValues = conditionInfo.value ? conditionInfo.value.slice() : [];\r\n headerFilterController.showHeaderFilterMenuBase({\r\n columnElement: div,\r\n column: column,\r\n apply() {\r\n value = this.filterValues, void conditionInfo.setValue(value);\r\n var value;\r\n headerFilterController.hideHeaderFilterMenu();\r\n conditionInfo.closeEditor()\r\n },\r\n onHidden() {\r\n conditionInfo.closeEditor()\r\n },\r\n isFilterBuilder: true\r\n });\r\n return container\r\n },\r\n customizeText: function(fieldInfo, options) {\r\n options = options || {};\r\n var {\r\n value: value\r\n } = fieldInfo;\r\n var column = grid.columnOption(fieldInfo.field.dataField);\r\n var headerFilter = column && column.headerFilter;\r\n var lookup = column && column.lookup;\r\n var values = options.values || [value];\r\n if (headerFilter && headerFilter.dataSource || lookup && lookup.dataSource) {\r\n var result = new Deferred;\r\n var itemsDeferred = options.items || new Deferred;\r\n if (!options.items) {\r\n column = extend({}, column, {\r\n filterType: \"include\",\r\n filterValues: values\r\n });\r\n var dataSourceOptions = headerFilterController.getDataSource(column);\r\n dataSourceOptions.paginate = false;\r\n var dataSource = new DataSource(dataSourceOptions);\r\n var key = dataSource.store().key();\r\n if (key) {\r\n var {\r\n values: _values\r\n } = options;\r\n if (_values && _values.length > 1) {\r\n var filter = _values.reduce((result, value) => {\r\n if (result.length) {\r\n result.push(\"or\")\r\n }\r\n result.push([key, \"=\", value]);\r\n return result\r\n }, []);\r\n dataSource.filter(filter)\r\n } else {\r\n dataSource.filter([key, \"=\", fieldInfo.value])\r\n }\r\n } else if (fieldInfo.field.calculateDisplayValue) {\r\n errors.log(\"W1017\")\r\n }\r\n options.items = itemsDeferred;\r\n dataSource.load().done(itemsDeferred.resolve)\r\n }\r\n itemsDeferred.done(items => {\r\n var index = values.indexOf(fieldInfo.value);\r\n result.resolve(function getSelectedItemsTexts(items, parentText) {\r\n var result = [];\r\n items.forEach(item => {\r\n if (item.items) {\r\n var selectedItemsTexts = getSelectedItemsTexts(item.items, getFullText(item.text, parentText));\r\n result = result.concat(selectedItemsTexts)\r\n }\r\n item.selected && result.push(getFullText(item.text, parentText))\r\n });\r\n return result\r\n }(items, null)[index])\r\n });\r\n return result\r\n }\r\n var text = headerFilterController.getHeaderItemText(value, column, 0, grid.option(\"headerFilter\"));\r\n return text\r\n }\r\n }\r\n}\r\nexport function anyOf(grid) {\r\n return extend(baseOperation(grid), {\r\n name: \"anyof\",\r\n icon: \"selectall\",\r\n caption: messageLocalization.format(\"dxFilterBuilder-filterOperationAnyOf\")\r\n })\r\n}\r\nexport function noneOf(grid) {\r\n var baseOp = baseOperation(grid);\r\n return extend({}, baseOp, {\r\n calculateFilterExpression(filterValue, field, fields) {\r\n var baseFilter = baseOp.calculateFilterExpression(filterValue, field, fields);\r\n if (!baseFilter || 0 === baseFilter.length) {\r\n return null\r\n }\r\n return \"!\" === baseFilter[0] ? baseFilter : [\"!\", baseFilter]\r\n },\r\n name: \"noneof\",\r\n icon: \"unselectall\",\r\n caption: messageLocalization.format(\"dxFilterBuilder-filterOperationNoneOf\")\r\n })\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/filter/m_filter_sync.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n Deferred\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n addItem,\r\n filterHasField,\r\n getDefaultOperation,\r\n getFilterExpression,\r\n getMatchedConditions,\r\n getNormalizedFilter,\r\n removeFieldConditionsFromFilter,\r\n syncFilters\r\n} from \"../../../../ui/filter_builder/utils\";\r\nimport filterUtils from \"../../../../ui/shared/filtering\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n anyOf,\r\n noneOf\r\n} from \"./m_filter_custom_operations\";\r\nvar FILTER_ROW_OPERATIONS = [\"=\", \"<>\", \"<\", \"<=\", \">\", \">=\", \"notcontains\", \"contains\", \"startswith\", \"endswith\", \"between\"];\r\nvar FILTER_TYPES_INCLUDE = \"include\";\r\nvar FILTER_TYPES_EXCLUDE = \"exclude\";\r\n\r\nfunction getColumnIdentifier(column) {\r\n return column.name || column.dataField\r\n}\r\n\r\nfunction checkForErrors(columns) {\r\n columns.forEach(column => {\r\n var identifier = getColumnIdentifier(column);\r\n if (!isDefined(identifier) && column.allowFiltering) {\r\n throw new errors.Error(\"E1049\", column.caption)\r\n }\r\n })\r\n}\r\nvar FilterSyncController = modules.Controller.inherit(function() {\r\n var getEmptyFilterValues = function() {\r\n return {\r\n filterType: FILTER_TYPES_INCLUDE,\r\n filterValues: void 0\r\n }\r\n };\r\n var canSyncHeaderFilterWithFilterRow = function(column) {\r\n var filterValues = column.filterValues || [];\r\n return !filterUtils.getGroupInterval(column) && !(column.headerFilter && column.headerFilter.dataSource) || 1 === filterValues.length && null === filterValues[0]\r\n };\r\n var getConditionFromFilterRow = function(column) {\r\n var value = column.filterValue;\r\n if (isDefined(value)) {\r\n var operation = column.selectedFilterOperation || column.defaultFilterOperation || getDefaultOperation(column);\r\n var filter = [getColumnIdentifier(column), operation, column.filterValue];\r\n return filter\r\n }\r\n return null\r\n };\r\n var getConditionFromHeaderFilter = function(column) {\r\n var selectedOperation;\r\n var value;\r\n var {\r\n filterValues: filterValues\r\n } = column;\r\n if (!filterValues) {\r\n return null\r\n }\r\n if (1 === filterValues.length && canSyncHeaderFilterWithFilterRow(column) && !Array.isArray(filterValues[0])) {\r\n column.filterType === FILTER_TYPES_EXCLUDE ? selectedOperation = \"<>\" : selectedOperation = \"=\";\r\n value = filterValues[0]\r\n } else {\r\n column.filterType === FILTER_TYPES_EXCLUDE ? selectedOperation = \"noneof\" : selectedOperation = \"anyof\";\r\n value = filterValues\r\n }\r\n return [getColumnIdentifier(column), selectedOperation, value]\r\n };\r\n var updateHeaderFilterCondition = function(columnsController, column, headerFilterCondition) {\r\n var headerFilter = function(headerFilterCondition, column) {\r\n if (!headerFilterCondition) {\r\n return getEmptyFilterValues()\r\n }\r\n var filterType;\r\n var selectedFilterOperation = headerFilterCondition[1];\r\n var value = headerFilterCondition[2];\r\n var hasArrayValue = Array.isArray(value);\r\n if (!hasArrayValue) {\r\n if (!canSyncHeaderFilterWithFilterRow(column)) {\r\n return getEmptyFilterValues()\r\n }\r\n }\r\n switch (selectedFilterOperation) {\r\n case \"anyof\":\r\n case \"=\":\r\n filterType = FILTER_TYPES_INCLUDE;\r\n break;\r\n case \"noneof\":\r\n case \"<>\":\r\n filterType = FILTER_TYPES_EXCLUDE;\r\n break;\r\n default:\r\n return getEmptyFilterValues()\r\n }\r\n return {\r\n filterType: filterType,\r\n filterValues: hasArrayValue ? value : [value]\r\n }\r\n }(headerFilterCondition, column);\r\n columnsController.columnOption(getColumnIdentifier(column), headerFilter)\r\n };\r\n var updateFilterRowCondition = function(columnsController, column, condition) {\r\n var filterRowOptions;\r\n var selectedFilterOperation = null === condition || void 0 === condition ? void 0 : condition[1];\r\n var filterValue = null === condition || void 0 === condition ? void 0 : condition[2];\r\n var filterOperations = column.filterOperations || column.defaultFilterOperations;\r\n if ((!filterOperations || filterOperations.indexOf(selectedFilterOperation) >= 0 || selectedFilterOperation === column.defaultFilterOperation) && FILTER_ROW_OPERATIONS.includes(selectedFilterOperation) && null !== filterValue) {\r\n if (selectedFilterOperation === column.defaultFilterOperation && !isDefined(column.selectedFilterOperation)) {\r\n selectedFilterOperation = column.selectedFilterOperation\r\n }\r\n filterRowOptions = {\r\n filterValue: filterValue,\r\n selectedFilterOperation: selectedFilterOperation\r\n }\r\n } else {\r\n filterRowOptions = {\r\n filterValue: void 0,\r\n selectedFilterOperation: void 0\r\n }\r\n }\r\n columnsController.columnOption(getColumnIdentifier(column), filterRowOptions)\r\n };\r\n return {\r\n syncFilterValue() {\r\n var that = this;\r\n var columnsController = that.getController(\"columns\");\r\n var columns = columnsController.getFilteringColumns();\r\n this._skipSyncColumnOptions = true;\r\n columns.forEach(column => {\r\n var filterConditions = getMatchedConditions(that.option(\"filterValue\"), getColumnIdentifier(column));\r\n if (1 === filterConditions.length) {\r\n var filterCondition = filterConditions[0];\r\n updateHeaderFilterCondition(columnsController, column, filterCondition);\r\n updateFilterRowCondition(columnsController, column, filterCondition)\r\n } else {\r\n isDefined(column.filterValues) && updateHeaderFilterCondition(columnsController, column, null);\r\n isDefined(column.filterValue) && updateFilterRowCondition(columnsController, column, null)\r\n }\r\n });\r\n this._skipSyncColumnOptions = false\r\n },\r\n _initSync() {\r\n var columns = this.getController(\"columns\").getColumns();\r\n var dataController = this.getController(\"data\");\r\n var pageIndex = dataController.pageIndex();\r\n checkForErrors(columns);\r\n if (!this.option(\"filterValue\")) {\r\n var filteringColumns = this.getController(\"columns\").getFilteringColumns();\r\n var filterValue = this.getFilterValueFromColumns(filteringColumns);\r\n this._silentOption(\"filterValue\", filterValue)\r\n }\r\n this.syncFilterValue();\r\n dataController.pageIndex(pageIndex)\r\n },\r\n init() {\r\n var dataController = this.getController(\"data\");\r\n if (dataController.isFilterSyncActive()) {\r\n if (this.getController(\"columns\").isAllDataTypesDefined()) {\r\n this._initSync()\r\n } else {\r\n dataController.dataSourceChanged.add(() => this._initSync())\r\n }\r\n }\r\n },\r\n _getSyncFilterRow(filterValue, column) {\r\n var filter = getConditionFromFilterRow(column);\r\n if (isDefined(filter)) {\r\n return syncFilters(filterValue, filter)\r\n }\r\n return removeFieldConditionsFromFilter(filterValue, getColumnIdentifier(column))\r\n },\r\n _getSyncHeaderFilter(filterValue, column) {\r\n var filter = getConditionFromHeaderFilter(column);\r\n if (filter) {\r\n return syncFilters(filterValue, filter)\r\n }\r\n return removeFieldConditionsFromFilter(filterValue, getColumnIdentifier(column))\r\n },\r\n getFilterValueFromColumns(columns) {\r\n if (!this.getController(\"data\").isFilterSyncActive()) {\r\n return null\r\n }\r\n var filterValue = [\"and\"];\r\n columns && columns.forEach(column => {\r\n var headerFilter = getConditionFromHeaderFilter(column);\r\n var filterRow = getConditionFromFilterRow(column);\r\n headerFilter && addItem(headerFilter, filterValue);\r\n filterRow && addItem(filterRow, filterValue)\r\n });\r\n return getNormalizedFilter(filterValue)\r\n },\r\n syncFilterRow(column) {\r\n this.option(\"filterValue\", this._getSyncFilterRow(this.option(\"filterValue\"), column))\r\n },\r\n syncHeaderFilter(column) {\r\n this.option(\"filterValue\", this._getSyncHeaderFilter(this.option(\"filterValue\"), column))\r\n },\r\n getCustomFilterOperations() {\r\n var filterBuilderCustomOperations = this.option(\"filterBuilder.customOperations\") || [];\r\n return [anyOf(this.component), noneOf(this.component)].concat(filterBuilderCustomOperations)\r\n },\r\n publicMethods: () => [\"getCustomFilterOperations\"]\r\n }\r\n}());\r\nvar DataControllerFilterSyncExtender = {\r\n isFilterSyncActive() {\r\n var filterSyncEnabledValue = this.option(\"filterSyncEnabled\");\r\n return \"auto\" === filterSyncEnabledValue ? this.option(\"filterPanel.visible\") : filterSyncEnabledValue\r\n },\r\n skipCalculateColumnFilters() {\r\n var filterSyncController = this.getController(\"filterSync\");\r\n return (isDefined(this.option(\"filterValue\")) || filterSyncController._skipSyncColumnOptions) && this.isFilterSyncActive()\r\n },\r\n _calculateAdditionalFilter() {\r\n if (false === this.option(\"filterPanel.filterEnabled\")) {\r\n return this.callBase()\r\n }\r\n var filters = [this.callBase()];\r\n var columns = this.getController(\"columns\").getFilteringColumns();\r\n var filterValue = this.option(\"filterValue\");\r\n if (this.isFilterSyncActive()) {\r\n var currentColumnForHeaderFilter = this.getController(\"headerFilter\").getCurrentColumn();\r\n var currentColumnForFilterRow = this.getController(\"applyFilter\").getCurrentColumnForFiltering();\r\n var currentColumn = currentColumnForHeaderFilter || currentColumnForFilterRow;\r\n var needRemoveCurrentColumnFilter = currentColumnForHeaderFilter || isDefined(null === currentColumnForFilterRow || void 0 === currentColumnForFilterRow ? void 0 : currentColumnForFilterRow.filterValue);\r\n if (needRemoveCurrentColumnFilter && filterValue) {\r\n filterValue = removeFieldConditionsFromFilter(filterValue, getColumnIdentifier(currentColumn))\r\n }\r\n }\r\n var customOperations = this.getController(\"filterSync\").getCustomFilterOperations();\r\n var calculatedFilterValue = getFilterExpression(filterValue, columns, customOperations, \"filterBuilder\");\r\n if (calculatedFilterValue) {\r\n filters.push(calculatedFilterValue)\r\n }\r\n return gridCoreUtils.combineFilters(filters)\r\n },\r\n _parseColumnPropertyName(fullName) {\r\n var matched = fullName.match(/.*\\.(.*)/);\r\n if (matched) {\r\n return matched[1]\r\n }\r\n return null\r\n },\r\n clearFilter(filterName) {\r\n this.component.beginUpdate();\r\n if (arguments.length > 0) {\r\n if (\"filterValue\" === filterName) {\r\n this.option(\"filterValue\", null)\r\n }\r\n this.callBase(filterName)\r\n } else {\r\n this.option(\"filterValue\", null);\r\n this.callBase()\r\n }\r\n this.component.endUpdate()\r\n },\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"filterValue\":\r\n this._applyFilter();\r\n this.isFilterSyncActive() && this.getController(\"filterSync\").syncFilterValue();\r\n args.handled = true;\r\n break;\r\n case \"filterSyncEnabled\":\r\n args.handled = true;\r\n break;\r\n case \"columns\":\r\n if (this.isFilterSyncActive()) {\r\n var column = this.getController(\"columns\").getColumnByPath(args.fullName);\r\n var filterSyncController = this.getController(\"filterSync\");\r\n if (column && !filterSyncController._skipSyncColumnOptions) {\r\n var propertyName = this._parseColumnPropertyName(args.fullName);\r\n filterSyncController._skipSyncColumnOptions = true;\r\n if (\"filterType\" === propertyName) {\r\n if (FILTER_TYPES_EXCLUDE === args.value || FILTER_TYPES_EXCLUDE === args.previousValue) {\r\n filterSyncController.syncHeaderFilter(column)\r\n }\r\n } else if (\"filterValues\" === propertyName) {\r\n filterSyncController.syncHeaderFilter(column)\r\n } else if ([\"filterValue\", \"selectedFilterOperation\"].includes(propertyName)) {\r\n filterSyncController.syncFilterRow(column, column.filterValue)\r\n }\r\n filterSyncController._skipSyncColumnOptions = false\r\n }\r\n }\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _applyFilter() {\r\n var filterSyncController = this.getController(\"filterSync\");\r\n if (filterSyncController._skipSyncColumnOptions) {\r\n return (new Deferred).resolve()\r\n }\r\n return this.callBase.apply(this, arguments)\r\n }\r\n};\r\nvar ColumnHeadersViewFilterSyncExtender = {\r\n _isHeaderFilterEmpty(column) {\r\n if (this.getController(\"data\").isFilterSyncActive()) {\r\n return !filterHasField(this.option(\"filterValue\"), getColumnIdentifier(column))\r\n }\r\n return this.callBase(column)\r\n },\r\n _needUpdateFilterIndicators() {\r\n return !this.getController(\"data\").isFilterSyncActive()\r\n },\r\n optionChanged(args) {\r\n if (\"filterValue\" === args.name) {\r\n this._updateHeaderFilterIndicators()\r\n } else {\r\n this.callBase(args)\r\n }\r\n }\r\n};\r\nexport var filterSyncModule = {\r\n defaultOptions: () => ({\r\n filterValue: null,\r\n filterSyncEnabled: \"auto\"\r\n }),\r\n controllers: {\r\n filterSync: FilterSyncController\r\n },\r\n extenders: {\r\n controllers: {\r\n data: DataControllerFilterSyncExtender\r\n },\r\n views: {\r\n columnHeadersView: ColumnHeadersViewFilterSyncExtender\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/focus/m_focus_utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dateSerialization from \"../../../../core/utils/date_serialization\";\r\nimport {\r\n isDate,\r\n isFunction\r\n} from \"../../../../core/utils/type\";\r\nvar getSortFilterValue = (sortInfo, rowData, _ref) => {\r\n var {\r\n isRemoteFiltering: isRemoteFiltering,\r\n dateSerializationFormat: dateSerializationFormat,\r\n getSelector: getSelector\r\n } = _ref;\r\n var {\r\n selector: selector\r\n } = sortInfo;\r\n var getter = isFunction(selector) ? selector : getSelector(selector);\r\n var rawValue = getter ? getter(rowData) : rowData[selector];\r\n var safeValue = isRemoteFiltering && isDate(rawValue) ? dateSerialization.serializeDate(rawValue, dateSerializationFormat) : rawValue;\r\n return {\r\n getter: getter,\r\n rawValue: rawValue,\r\n safeValue: safeValue\r\n }\r\n};\r\nexport var UiGridCoreFocusUtils = {\r\n getSortFilterValue: getSortFilterValue\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/focus/m_focus.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n isBoolean,\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n isNewRowTempKey\r\n} from \"../editing/m_editing_utils\";\r\nimport core from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n UiGridCoreFocusUtils\r\n} from \"./m_focus_utils\";\r\nvar ROW_FOCUSED_CLASS = \"dx-row-focused\";\r\nvar FOCUSED_ROW_SELECTOR = \".dx-row.\".concat(ROW_FOCUSED_CLASS);\r\nvar TABLE_POSTFIX_CLASS = \"table\";\r\nvar CELL_FOCUS_DISABLED_CLASS = \"dx-cell-focus-disabled\";\r\nvar FocusController = core.ViewController.inherit(function() {\r\n var members = {\r\n init() {\r\n this._dataController = this.getController(\"data\");\r\n this._keyboardController = this.getController(\"keyboardNavigation\");\r\n this.component._optionsByReference.focusedRowKey = true\r\n },\r\n optionChanged(args) {\r\n var {\r\n name: name,\r\n value: value,\r\n previousValue: previousValue\r\n } = args;\r\n switch (name) {\r\n case \"focusedRowIndex\":\r\n this._focusRowByIndex(value);\r\n this._keyboardController._fireFocusedRowChanged();\r\n args.handled = true;\r\n break;\r\n case \"focusedRowKey\":\r\n if (Array.isArray(value) && JSON.stringify(value) === JSON.stringify(previousValue)) {\r\n return\r\n }\r\n this._focusRowByKey(value);\r\n this._keyboardController._fireFocusedRowChanged();\r\n args.handled = true;\r\n break;\r\n case \"focusedColumnIndex\":\r\n case \"focusedRowEnabled\":\r\n case \"autoNavigateToFocusedRow\":\r\n args.handled = true;\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n isAutoNavigateToFocusedRow() {\r\n return \"infinite\" !== this.option(\"scrolling.mode\") && this.option(\"autoNavigateToFocusedRow\")\r\n },\r\n _focusRowByIndex(index, operationTypes) {\r\n if (!this.option(\"focusedRowEnabled\")) {\r\n return\r\n }\r\n index = void 0 !== index ? index : this.option(\"focusedRowIndex\");\r\n if (index < 0) {\r\n if (this.isAutoNavigateToFocusedRow()) {\r\n this._resetFocusedRow()\r\n }\r\n } else {\r\n this._focusRowByIndexCore(index, operationTypes)\r\n }\r\n },\r\n _focusRowByIndexCore(index, operationTypes) {\r\n var dataController = this.getController(\"data\");\r\n var pageSize = dataController.pageSize();\r\n var setKeyByIndex = () => {\r\n if (this._isValidFocusedRowIndex(index)) {\r\n var rowIndex = index - dataController.getRowIndexOffset(true);\r\n if (!operationTypes || operationTypes.paging && !operationTypes.filtering) {\r\n var lastItemIndex = dataController._getLastItemIndex();\r\n rowIndex = Math.min(rowIndex, lastItemIndex)\r\n }\r\n var focusedRowKey = dataController.getKeyByRowIndex(rowIndex, true);\r\n if (isDefined(focusedRowKey) && !this.isRowFocused(focusedRowKey)) {\r\n this.option(\"focusedRowKey\", focusedRowKey)\r\n }\r\n }\r\n };\r\n if (pageSize >= 0) {\r\n if (!this._isLocalRowIndex(index)) {\r\n var pageIndex = Math.floor(index / dataController.pageSize());\r\n when(dataController.pageIndex(pageIndex), dataController.waitReady()).done(() => {\r\n setKeyByIndex()\r\n })\r\n } else {\r\n setKeyByIndex()\r\n }\r\n }\r\n },\r\n _isLocalRowIndex(index) {\r\n var dataController = this.getController(\"data\");\r\n var isVirtualScrolling = this.getController(\"keyboardNavigation\")._isVirtualScrolling();\r\n if (isVirtualScrolling) {\r\n var pageIndex = Math.floor(index / dataController.pageSize());\r\n var virtualItems = dataController.virtualItemsCount();\r\n var virtualItemsBegin = virtualItems ? virtualItems.begin : -1;\r\n var visibleRowsCount = dataController.getVisibleRows().length + dataController.getRowIndexOffset();\r\n var visiblePagesCount = Math.ceil(visibleRowsCount / dataController.pageSize());\r\n return virtualItemsBegin <= index && visiblePagesCount > pageIndex\r\n }\r\n return true\r\n },\r\n _setFocusedRowKeyByIndex(index) {\r\n var dataController = this.getController(\"data\");\r\n if (this._isValidFocusedRowIndex(index)) {\r\n var rowIndex = Math.min(index - dataController.getRowIndexOffset(), dataController.items().length - 1);\r\n var focusedRowKey = dataController.getKeyByRowIndex(rowIndex);\r\n if (isDefined(focusedRowKey) && !this.isRowFocused(focusedRowKey)) {\r\n this.option(\"focusedRowKey\", focusedRowKey)\r\n }\r\n }\r\n },\r\n _focusRowByKey(key) {\r\n if (!isDefined(key)) {\r\n this._resetFocusedRow()\r\n } else {\r\n this._navigateToRow(key, true)\r\n }\r\n },\r\n _resetFocusedRow() {\r\n var focusedRowKey = this.option(\"focusedRowKey\");\r\n var isFocusedRowKeyDefined = isDefined(focusedRowKey);\r\n if (!isFocusedRowKeyDefined && this.option(\"focusedRowIndex\") < 0) {\r\n return\r\n }\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n if (isFocusedRowKeyDefined) {\r\n this.option(\"focusedRowKey\", null)\r\n }\r\n keyboardController.setFocusedRowIndex(-1);\r\n this.option(\"focusedRowIndex\", -1);\r\n this.getController(\"data\").updateItems({\r\n changeType: \"updateFocusedRow\",\r\n focusedRowKey: null\r\n });\r\n keyboardController._fireFocusedRowChanged(void 0, -1)\r\n },\r\n _isValidFocusedRowIndex(rowIndex) {\r\n var dataController = this.getController(\"data\");\r\n var row = dataController.getVisibleRows()[rowIndex];\r\n return !row || \"data\" === row.rowType || \"group\" === row.rowType\r\n },\r\n publicMethods: () => [\"navigateToRow\", \"isRowFocused\"],\r\n navigateToRow(key) {\r\n if (!this.isAutoNavigateToFocusedRow()) {\r\n this.option(\"focusedRowIndex\", -1)\r\n }\r\n return this._navigateToRow(key)\r\n },\r\n _navigateToRow(key, needFocusRow) {\r\n var that = this;\r\n var dataController = that.getController(\"data\");\r\n var isAutoNavigate = that.isAutoNavigateToFocusedRow();\r\n var d = new Deferred;\r\n if (void 0 === key || !dataController.dataSource()) {\r\n return d.reject().promise()\r\n }\r\n var rowIndexByKey = that.getFocusedRowIndexByKey(key);\r\n if (!isAutoNavigate && needFocusRow || rowIndexByKey >= 0) {\r\n that._navigateTo(key, d, needFocusRow)\r\n } else {\r\n dataController.getPageIndexByKey(key).done(pageIndex => {\r\n if (pageIndex < 0) {\r\n d.resolve(-1);\r\n return\r\n }\r\n if (pageIndex === dataController.pageIndex()) {\r\n dataController.reload().done(() => {\r\n if (that.isRowFocused(key) && dataController.getRowIndexByKey(key) >= 0) {\r\n d.resolve(that.getFocusedRowIndexByKey(key))\r\n } else {\r\n that._navigateTo(key, d, needFocusRow)\r\n }\r\n }).fail(d.reject)\r\n } else {\r\n dataController.pageIndex(pageIndex).done(() => {\r\n that._navigateTo(key, d, needFocusRow)\r\n }).fail(d.reject)\r\n }\r\n }).fail(d.reject)\r\n }\r\n return d.promise()\r\n },\r\n _navigateTo(key, deferred, needFocusRow) {\r\n var visibleRowIndex = this.getController(\"data\").getRowIndexByKey(key);\r\n var isVirtualRowRenderingMode = gridCoreUtils.isVirtualRowRendering(this);\r\n var isAutoNavigate = this.isAutoNavigateToFocusedRow();\r\n if (isAutoNavigate && isVirtualRowRenderingMode && visibleRowIndex < 0) {\r\n this._navigateToVirtualRow(key, deferred, needFocusRow)\r\n } else {\r\n this._navigateToVisibleRow(key, deferred, needFocusRow)\r\n }\r\n },\r\n _navigateToVisibleRow(key, deferred, needFocusRow) {\r\n if (needFocusRow) {\r\n this._triggerUpdateFocusedRow(key, deferred)\r\n } else {\r\n var focusedRowIndex = this.getFocusedRowIndexByKey(key);\r\n this.getView(\"rowsView\").scrollToRowElement(key, deferred).done(() => {\r\n deferred.resolve(focusedRowIndex)\r\n })\r\n }\r\n },\r\n _navigateToVirtualRow(key, deferred, needFocusRow) {\r\n var dataController = this.getController(\"data\");\r\n var rowsScrollController = dataController._rowsScrollController;\r\n var rowIndex = gridCoreUtils.getIndexByKey(key, dataController.items(true));\r\n var scrollable = this.getView(\"rowsView\").getScrollable();\r\n if (rowsScrollController && scrollable && rowIndex >= 0) {\r\n var focusedRowIndex = rowIndex + dataController.getRowIndexOffset(true);\r\n var offset = rowsScrollController.getItemOffset(focusedRowIndex);\r\n var triggerUpdateFocusedRow = () => {\r\n if (dataController.totalCount() && !dataController.items().length) {\r\n return\r\n }\r\n this.component.off(\"contentReady\", triggerUpdateFocusedRow);\r\n if (needFocusRow) {\r\n this._triggerUpdateFocusedRow(key, deferred)\r\n } else {\r\n deferred.resolve(focusedRowIndex)\r\n }\r\n };\r\n this.component.on(\"contentReady\", triggerUpdateFocusedRow);\r\n this.getView(\"rowsView\").scrollTopPosition(offset)\r\n } else {\r\n deferred.resolve(-1)\r\n }\r\n },\r\n _triggerUpdateFocusedRow(key, deferred) {\r\n var dataController = this.getController(\"data\");\r\n var focusedRowIndex = this.getFocusedRowIndexByKey(key);\r\n if (this._isValidFocusedRowIndex(focusedRowIndex)) {\r\n var d;\r\n if (this.option(\"focusedRowEnabled\")) {\r\n dataController.updateItems({\r\n changeType: \"updateFocusedRow\",\r\n focusedRowKey: key\r\n })\r\n } else {\r\n d = this.getView(\"rowsView\").scrollToRowElement(key)\r\n }\r\n when(d).done(() => {\r\n this.getController(\"keyboardNavigation\").setFocusedRowIndex(focusedRowIndex);\r\n deferred && deferred.resolve(focusedRowIndex)\r\n })\r\n } else {\r\n deferred && deferred.resolve(-1)\r\n }\r\n },\r\n getFocusedRowIndexByKey(key) {\r\n var dataController = this.getController(\"data\");\r\n var loadedRowIndex = dataController.getRowIndexByKey(key, true);\r\n return loadedRowIndex >= 0 ? loadedRowIndex + dataController.getRowIndexOffset(true) : -1\r\n },\r\n _focusRowByKeyOrIndex() {\r\n var focusedRowKey = this.option(\"focusedRowKey\");\r\n var currentFocusedRowIndex = this.option(\"focusedRowIndex\");\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n var dataController = this.getController(\"data\");\r\n if (isDefined(focusedRowKey)) {\r\n var visibleRowIndex = dataController.getRowIndexByKey(focusedRowKey);\r\n if (visibleRowIndex >= 0) {\r\n if (keyboardController._isVirtualScrolling()) {\r\n currentFocusedRowIndex = visibleRowIndex + dataController.getRowIndexOffset()\r\n }\r\n keyboardController.setFocusedRowIndex(currentFocusedRowIndex);\r\n this._triggerUpdateFocusedRow(focusedRowKey)\r\n } else {\r\n this._navigateToRow(focusedRowKey, true).done(focusedRowIndex => {\r\n if (currentFocusedRowIndex >= 0 && focusedRowIndex < 0) {\r\n this._focusRowByIndex()\r\n } else if (currentFocusedRowIndex < 0 && focusedRowIndex >= 0) {\r\n keyboardController.setFocusedRowIndex(focusedRowIndex)\r\n }\r\n })\r\n }\r\n } else if (currentFocusedRowIndex >= 0) {\r\n this.getController(\"focus\")._focusRowByIndex(currentFocusedRowIndex)\r\n }\r\n },\r\n isRowFocused(key) {\r\n var focusedRowKey = this.option(\"focusedRowKey\");\r\n if (isDefined(focusedRowKey)) {\r\n return equalByValue(key, this.option(\"focusedRowKey\"))\r\n }\r\n return\r\n },\r\n updateFocusedRow(_ref) {\r\n var {\r\n focusedRowKey: focusedRowKey\r\n } = _ref;\r\n var that = this;\r\n var focusedRowIndex = that._dataController.getRowIndexByKey(focusedRowKey);\r\n var rowsView = that.getView(\"rowsView\");\r\n var $tableElement;\r\n var $mainRow;\r\n each(rowsView.getTableElements(), (index, element) => {\r\n var isMainTable = 0 === index;\r\n $tableElement = $(element);\r\n that._clearPreviousFocusedRow($tableElement, focusedRowIndex);\r\n var $row = that._prepareFocusedRow({\r\n changedItem: that._dataController.getVisibleRows()[focusedRowIndex],\r\n $tableElement: $tableElement,\r\n focusedRowIndex: focusedRowIndex\r\n });\r\n if (isMainTable) {\r\n $mainRow = $row\r\n }\r\n });\r\n $mainRow && rowsView.scrollToElementVertically($mainRow)\r\n },\r\n _clearPreviousFocusedRow($tableElement, focusedRowIndex) {\r\n var $prevRowFocusedElement = $tableElement.find(FOCUSED_ROW_SELECTOR).filter((_, focusedRow) => {\r\n var $focusedRowTable = $(focusedRow).closest(\".\".concat(this.addWidgetPrefix(TABLE_POSTFIX_CLASS)));\r\n return $tableElement.is($focusedRowTable)\r\n });\r\n $prevRowFocusedElement.removeClass(ROW_FOCUSED_CLASS).removeClass(CELL_FOCUS_DISABLED_CLASS).removeAttr(\"tabindex\");\r\n $prevRowFocusedElement.children(\"td\").removeAttr(\"tabindex\");\r\n if (0 !== focusedRowIndex) {\r\n var $firstRow = $(this.getView(\"rowsView\").getRowElement(0));\r\n $firstRow.removeClass(CELL_FOCUS_DISABLED_CLASS).removeAttr(\"tabIndex\")\r\n }\r\n },\r\n _prepareFocusedRow(options) {\r\n var $row;\r\n var {\r\n changedItem: changedItem\r\n } = options;\r\n if (changedItem && (\"data\" === changedItem.rowType || \"group\" === changedItem.rowType)) {\r\n var {\r\n focusedRowIndex: focusedRowIndex\r\n } = options;\r\n var {\r\n $tableElement: $tableElement\r\n } = options;\r\n var tabIndex = this.option(\"tabindex\") || 0;\r\n var rowsView = this.getView(\"rowsView\");\r\n $row = $(rowsView._getRowElements($tableElement).eq(focusedRowIndex));\r\n $row.addClass(ROW_FOCUSED_CLASS).attr(\"tabindex\", tabIndex)\r\n }\r\n return $row\r\n }\r\n };\r\n return members\r\n}());\r\nexport var focusModule = {\r\n defaultOptions: () => ({\r\n focusedRowEnabled: false,\r\n autoNavigateToFocusedRow: true,\r\n focusedRowKey: null,\r\n focusedRowIndex: -1,\r\n focusedColumnIndex: -1\r\n }),\r\n controllers: {\r\n focus: FocusController\r\n },\r\n extenders: {\r\n controllers: {\r\n keyboardNavigation: {\r\n init() {\r\n var rowIndex = this.option(\"focusedRowIndex\");\r\n var columnIndex = this.option(\"focusedColumnIndex\");\r\n this.createAction(\"onFocusedRowChanging\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onFocusedRowChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onFocusedCellChanging\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onFocusedCellChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.callBase();\r\n this.setRowFocusType();\r\n this._focusedCellPosition = {};\r\n if (isDefined(rowIndex) && rowIndex >= 0) {\r\n this._focusedCellPosition.rowIndex = rowIndex\r\n }\r\n if (isDefined(columnIndex) && columnIndex >= 0) {\r\n this._focusedCellPosition.columnIndex = columnIndex\r\n }\r\n },\r\n setFocusedRowIndex(rowIndex) {\r\n this.callBase(rowIndex);\r\n this.option(\"focusedRowIndex\", rowIndex)\r\n },\r\n setFocusedColumnIndex(columnIndex) {\r\n this.callBase(columnIndex);\r\n this.option(\"focusedColumnIndex\", columnIndex)\r\n },\r\n _escapeKeyHandler(eventArgs, isEditing) {\r\n if (isEditing || !this.option(\"focusedRowEnabled\")) {\r\n return this.callBase(eventArgs, isEditing)\r\n }\r\n if (this.isCellFocusType()) {\r\n this.setRowFocusType();\r\n this._focus(this._getCellElementFromTarget(eventArgs.originalEvent.target), true);\r\n return true\r\n }\r\n return false\r\n },\r\n _updateFocusedCellPosition($cell, direction) {\r\n var position = this.callBase($cell, direction);\r\n if (position && position.columnIndex >= 0) {\r\n this._fireFocusedCellChanged($cell)\r\n }\r\n }\r\n },\r\n editorFactory: {\r\n renderFocusOverlay($element, isHideBorder) {\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n var focusedRowEnabled = this.option(\"focusedRowEnabled\");\r\n var editingController = this.getController(\"editing\");\r\n var $cell;\r\n if (!focusedRowEnabled || !(null === keyboardController || void 0 === keyboardController ? void 0 : keyboardController.isRowFocusType()) || editingController.isEditing()) {\r\n this.callBase($element, isHideBorder)\r\n } else if (focusedRowEnabled) {\r\n var isRowElement = \"row\" === keyboardController._getElementType($element);\r\n if (isRowElement && !$element.hasClass(ROW_FOCUSED_CLASS)) {\r\n $cell = keyboardController.getFirstValidCellInRow($element);\r\n keyboardController.focus($cell)\r\n }\r\n }\r\n }\r\n },\r\n columns: {\r\n getSortDataSourceParameters(_, sortByKey) {\r\n var result = this.callBase.apply(this, arguments);\r\n var dataController = this.getController(\"data\");\r\n var dataSource = dataController._dataSource;\r\n var store = dataController.store();\r\n var key = store && store.key();\r\n var remoteOperations = dataSource && dataSource.remoteOperations() || {};\r\n var isLocalOperations = Object.keys(remoteOperations).every(operationName => !remoteOperations[operationName]);\r\n if (key && (this.option(\"focusedRowEnabled\") && false !== this.getController(\"focus\").isAutoNavigateToFocusedRow() || sortByKey)) {\r\n key = Array.isArray(key) ? key : [key];\r\n var notSortedKeys = key.filter(key => !this.columnOption(key, \"sortOrder\"));\r\n if (notSortedKeys.length) {\r\n result = result || [];\r\n if (isLocalOperations) {\r\n result.push({\r\n selector: dataSource.getDataIndexGetter(),\r\n desc: false\r\n })\r\n } else {\r\n notSortedKeys.forEach(notSortedKey => result.push({\r\n selector: notSortedKey,\r\n desc: false\r\n }))\r\n }\r\n }\r\n }\r\n return result\r\n }\r\n },\r\n data: {\r\n _applyChange(change) {\r\n if (change && \"updateFocusedRow\" === change.changeType) {\r\n return\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _fireChanged(e) {\r\n this.callBase(e);\r\n if (this.option(\"focusedRowEnabled\") && this._dataSource) {\r\n var isPartialUpdate = \"update\" === e.changeType && e.repaintChangesOnly;\r\n var isPartialUpdateWithDeleting = isPartialUpdate && e.changeTypes && e.changeTypes.indexOf(\"remove\") >= 0;\r\n if (\"refresh\" === e.changeType && e.items.length || isPartialUpdateWithDeleting) {\r\n this._updatePageIndexes();\r\n this._updateFocusedRow(e)\r\n } else if (\"append\" === e.changeType || \"prepend\" === e.changeType) {\r\n this._updatePageIndexes()\r\n } else if (\"update\" === e.changeType && e.repaintChangesOnly) {\r\n this._updateFocusedRow(e)\r\n }\r\n }\r\n },\r\n _updatePageIndexes() {\r\n var prevRenderingPageIndex = this._lastRenderingPageIndex || 0;\r\n var renderingPageIndex = this._rowsScrollController ? this._rowsScrollController.pageIndex() : 0;\r\n this._lastRenderingPageIndex = renderingPageIndex;\r\n this._isPagingByRendering = renderingPageIndex !== prevRenderingPageIndex\r\n },\r\n isPagingByRendering() {\r\n return this._isPagingByRendering\r\n },\r\n _updateFocusedRow(e) {\r\n var operationTypes = e.operationTypes || {};\r\n var focusController = this.getController(\"focus\");\r\n var {\r\n reload: reload,\r\n fullReload: fullReload,\r\n pageIndex: pageIndex,\r\n paging: paging\r\n } = operationTypes;\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n var isVirtualScrolling = keyboardController._isVirtualScrolling();\r\n var pagingWithoutVirtualScrolling = paging && !isVirtualScrolling;\r\n var focusedRowKey = this.option(\"focusedRowKey\");\r\n var isAutoNavigate = focusController.isAutoNavigateToFocusedRow();\r\n var isReload = reload && false === pageIndex;\r\n if (isReload && !fullReload && isDefined(focusedRowKey)) {\r\n focusController._navigateToRow(focusedRowKey, true).done(focusedRowIndex => {\r\n if (focusedRowIndex < 0) {\r\n focusController._focusRowByIndex(void 0, operationTypes)\r\n }\r\n })\r\n } else if (pagingWithoutVirtualScrolling && isAutoNavigate) {\r\n var rowIndexByKey = this.getRowIndexByKey(focusedRowKey);\r\n var focusedRowIndex = this.option(\"focusedRowIndex\");\r\n var isValidRowIndexByKey = rowIndexByKey >= 0;\r\n var isValidFocusedRowIndex = focusedRowIndex >= 0;\r\n var isSameRowIndex = focusedRowIndex === rowIndexByKey;\r\n if (isValidFocusedRowIndex && (isSameRowIndex || !isValidRowIndexByKey)) {\r\n focusController._focusRowByIndex(focusedRowIndex, operationTypes)\r\n }\r\n } else if (pagingWithoutVirtualScrolling && !isAutoNavigate && this.getRowIndexByKey(focusedRowKey) < 0) {\r\n this.option(\"focusedRowIndex\", -1)\r\n } else if (operationTypes.fullReload) {\r\n focusController._focusRowByKeyOrIndex()\r\n }\r\n },\r\n getPageIndexByKey(key) {\r\n var that = this;\r\n var d = new Deferred;\r\n that.getGlobalRowIndexByKey(key).done(globalIndex => {\r\n d.resolve(globalIndex >= 0 ? Math.floor(globalIndex / that.pageSize()) : -1)\r\n }).fail(d.reject);\r\n return d.promise()\r\n },\r\n getGlobalRowIndexByKey(key) {\r\n if (this._dataSource.group()) {\r\n return this._calculateGlobalRowIndexByGroupedData(key)\r\n }\r\n return this._calculateGlobalRowIndexByFlatData(key)\r\n },\r\n _calculateGlobalRowIndexByFlatData(key, groupFilter, useGroup) {\r\n var that = this;\r\n var deferred = new Deferred;\r\n var dataSource = that._dataSource;\r\n if (Array.isArray(key) || isNewRowTempKey(key)) {\r\n return deferred.resolve(-1).promise()\r\n }\r\n var filter = that._generateFilterByKey(key);\r\n dataSource.load({\r\n filter: that._concatWithCombinedFilter(filter),\r\n skip: 0,\r\n take: 1\r\n }).done(data => {\r\n if (data.length > 0) {\r\n filter = that._generateOperationFilterByKey(key, data[0], useGroup);\r\n dataSource.load({\r\n filter: that._concatWithCombinedFilter(filter, groupFilter),\r\n skip: 0,\r\n take: 1,\r\n requireTotalCount: true\r\n }).done((_, extra) => {\r\n deferred.resolve(extra.totalCount)\r\n })\r\n } else {\r\n deferred.resolve(-1)\r\n }\r\n });\r\n return deferred.promise()\r\n },\r\n _concatWithCombinedFilter(filter, groupFilter) {\r\n var combinedFilter = this.getCombinedFilter();\r\n return gridCoreUtils.combineFilters([filter, combinedFilter, groupFilter])\r\n },\r\n _generateBooleanFilter(selector, value, sortInfo) {\r\n var {\r\n desc: desc\r\n } = sortInfo;\r\n switch (true) {\r\n case false === value && desc:\r\n return [selector, \"=\", true];\r\n case false === value && !desc:\r\n return [selector, \"=\", null];\r\n case true === value && !desc:\r\n case !isBoolean(value) && desc:\r\n return [selector, \"<>\", value];\r\n default:\r\n return\r\n }\r\n },\r\n _generateOperationFilterByKey(key, rowData, useGroup) {\r\n var that = this;\r\n var dateSerializationFormat = that.option(\"dateSerializationFormat\");\r\n var isRemoteFiltering = that._dataSource.remoteOperations().filtering;\r\n var isRemoteSorting = that._dataSource.remoteOperations().sorting;\r\n var filter = that._generateFilterByKey(key, \"<\");\r\n var sort = that._columnsController.getSortDataSourceParameters(!isRemoteFiltering, true);\r\n if (useGroup) {\r\n var group = that._columnsController.getGroupDataSourceParameters(!isRemoteFiltering);\r\n if (group) {\r\n sort = sort ? group.concat(sort) : group\r\n }\r\n }\r\n if (sort) {\r\n sort.slice().reverse().forEach(sortInfo => {\r\n var {\r\n selector: selector,\r\n desc: desc,\r\n compare: compare\r\n } = sortInfo;\r\n var {\r\n getter: getter,\r\n rawValue: rawValue,\r\n safeValue: safeValue\r\n } = UiGridCoreFocusUtils.getSortFilterValue(sortInfo, rowData, {\r\n isRemoteFiltering: isRemoteFiltering,\r\n dateSerializationFormat: dateSerializationFormat,\r\n getSelector: selector => that._columnsController.columnOption(selector, \"selector\")\r\n });\r\n filter = [\r\n [selector, \"=\", safeValue], \"and\", filter\r\n ];\r\n if (null === rawValue || isBoolean(rawValue)) {\r\n var booleanFilter = that._generateBooleanFilter(selector, safeValue, desc);\r\n if (booleanFilter) {\r\n filter = [booleanFilter, \"or\", filter]\r\n }\r\n } else {\r\n var filterOperation = desc ? \">\" : \"<\";\r\n var sortFilter;\r\n if (compare && !isRemoteSorting) {\r\n sortFilter = data => {\r\n if (\"<\" === filterOperation) {\r\n return compare(rawValue, getter(data)) >= 1\r\n }\r\n return compare(rawValue, getter(data)) <= -1\r\n }\r\n } else {\r\n sortFilter = [selector, filterOperation, safeValue];\r\n if (!desc) {\r\n sortFilter = [sortFilter, \"or\", [selector, \"=\", null]]\r\n }\r\n }\r\n filter = [sortFilter, \"or\", filter]\r\n }\r\n })\r\n }\r\n return filter\r\n },\r\n _generateFilterByKey(key, operation) {\r\n var dataSourceKey = this._dataSource.key();\r\n var filter = [];\r\n if (!operation) {\r\n operation = \"=\"\r\n }\r\n if (Array.isArray(dataSourceKey)) {\r\n for (var i = 0; i < dataSourceKey.length; ++i) {\r\n var keyPart = key[dataSourceKey[i]];\r\n if (keyPart) {\r\n if (filter.length > 0) {\r\n filter.push(\"and\")\r\n }\r\n filter.push([dataSourceKey[i], operation, keyPart])\r\n }\r\n }\r\n } else {\r\n filter = [dataSourceKey, operation, key]\r\n }\r\n return filter\r\n },\r\n _getLastItemIndex() {\r\n return this.items(true).length - 1\r\n }\r\n },\r\n editing: {\r\n _deleteRowCore(rowIndex) {\r\n var deferred = this.callBase.apply(this, arguments);\r\n var dataController = this.getController(\"data\");\r\n var rowKey = dataController.getKeyByRowIndex(rowIndex);\r\n deferred.done(() => {\r\n var rowIndex = dataController.getRowIndexByKey(rowKey);\r\n var visibleRows = dataController.getVisibleRows();\r\n if (-1 === rowIndex && !visibleRows.length) {\r\n this.getController(\"focus\")._resetFocusedRow()\r\n }\r\n })\r\n }\r\n }\r\n },\r\n views: {\r\n rowsView: {\r\n _createRow(row) {\r\n var $row = this.callBase.apply(this, arguments);\r\n if (this.option(\"focusedRowEnabled\") && row) {\r\n if (this.getController(\"focus\").isRowFocused(row.key)) {\r\n $row.addClass(ROW_FOCUSED_CLASS)\r\n }\r\n }\r\n return $row\r\n },\r\n _checkRowKeys(options) {\r\n this.callBase.apply(this, arguments);\r\n if (this.option(\"focusedRowEnabled\") && this.option(\"dataSource\")) {\r\n var store = this._dataController.store();\r\n if (store && !store.key()) {\r\n this._dataController.fireError(\"E1042\", \"Row focusing\")\r\n }\r\n }\r\n },\r\n _update(change) {\r\n if (\"updateFocusedRow\" === change.changeType) {\r\n if (this.option(\"focusedRowEnabled\")) {\r\n this.getController(\"focus\").updateFocusedRow(change)\r\n }\r\n } else {\r\n this.callBase(change)\r\n }\r\n },\r\n updateFocusElementTabIndex($cellElements, preventScroll) {\r\n if (this.option(\"focusedRowEnabled\")) {\r\n this._setFocusedRowElementTabIndex(preventScroll)\r\n } else {\r\n this.callBase($cellElements)\r\n }\r\n },\r\n _setFocusedRowElementTabIndex(preventScroll) {\r\n var focusedRowKey = this.option(\"focusedRowKey\");\r\n var tabIndex = this.option(\"tabIndex\") || 0;\r\n var dataController = this._dataController;\r\n var columnsController = this._columnsController;\r\n var rowIndex = dataController.getRowIndexByKey(focusedRowKey);\r\n var columnIndex = this.option(\"focusedColumnIndex\");\r\n var $row = this._findRowElementForTabIndex();\r\n if (!isDefined(this._scrollToFocusOnResize)) {\r\n this._scrollToFocusOnResize = () => {\r\n this.scrollToElementVertically(this._findRowElementForTabIndex());\r\n this.resizeCompleted.remove(this._scrollToFocusOnResize)\r\n }\r\n }\r\n $row.attr(\"tabIndex\", tabIndex);\r\n if (rowIndex >= 0 && !preventScroll) {\r\n if (columnIndex < 0) {\r\n columnIndex = 0\r\n }\r\n rowIndex += dataController.getRowIndexOffset();\r\n columnIndex += columnsController.getColumnIndexOffset();\r\n this.getController(\"keyboardNavigation\").setFocusedCellPosition(rowIndex, columnIndex);\r\n if (this.getController(\"focus\").isAutoNavigateToFocusedRow()) {\r\n var dataSource = dataController.dataSource();\r\n var operationTypes = dataSource && dataSource.operationTypes();\r\n if (operationTypes && !operationTypes.paging && !dataController.isPagingByRendering()) {\r\n this.resizeCompleted.remove(this._scrollToFocusOnResize);\r\n this.resizeCompleted.add(this._scrollToFocusOnResize)\r\n }\r\n }\r\n }\r\n },\r\n _findRowElementForTabIndex() {\r\n var focusedRowKey = this.option(\"focusedRowKey\");\r\n var rowIndex = this._dataController.getRowIndexByKey(focusedRowKey);\r\n return $(this.getRowElement(rowIndex >= 0 ? rowIndex : 0))\r\n },\r\n scrollToRowElement(key) {\r\n var rowIndex = this.getController(\"data\").getRowIndexByKey(key);\r\n var $row = $(this.getRow(rowIndex));\r\n return this.scrollToElementVertically($row)\r\n },\r\n scrollToElementVertically($row) {\r\n var scrollable = this.getScrollable();\r\n if (scrollable && $row.length) {\r\n var position = scrollable.getScrollElementPosition($row, \"vertical\");\r\n return this.scrollTopPosition(position)\r\n }\r\n return (new Deferred).resolve()\r\n },\r\n scrollTopPosition(scrollTop) {\r\n var d = new Deferred;\r\n var scrollable = this.getScrollable();\r\n if (scrollable) {\r\n var currentScrollTop = scrollable.scrollTop();\r\n var scrollHandler = () => {\r\n scrollable.off(\"scroll\", scrollHandler);\r\n d.resolve()\r\n };\r\n if (scrollTop !== currentScrollTop) {\r\n scrollable.on(\"scroll\", scrollHandler);\r\n this._dataController.resetFilterApplying();\r\n scrollable.scrollTo({\r\n top: scrollTop\r\n });\r\n return d.promise()\r\n }\r\n }\r\n return d.resolve()\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/header_filter/m_header_filter.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n compileGetter\r\n} from \"../../../../core/utils/data\";\r\nimport {\r\n Deferred\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getDefaultAlignment\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isObject\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n normalizeDataSourceOptions\r\n} from \"../../../../data/data_source/utils\";\r\nimport dataQuery from \"../../../../data/query\";\r\nimport storeHelper from \"../../../../data/store_helper\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../../events/click\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport dateLocalization from \"../../../../localization/date\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport {\r\n restoreFocus,\r\n saveFocusedElementInfo\r\n} from \"../../../../ui/shared/accessibility\";\r\nimport filterUtils from \"../../../../ui/shared/filtering\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n allowHeaderFiltering,\r\n headerFilterMixin,\r\n HeaderFilterView,\r\n updateHeaderFilterItemSelectionState\r\n} from \"./m_header_filter_core\";\r\nvar DATE_INTERVAL_FORMATS = {\r\n month: value => dateLocalization.getMonthNames()[value - 1],\r\n quarter: value => dateLocalization.format(new Date(2e3, 3 * value - 1), \"quarter\")\r\n};\r\n\r\nfunction ungroupUTCDates(items, dateParts, dates) {\r\n dateParts = dateParts || [];\r\n dates = dates || [];\r\n items.forEach(item => {\r\n if (isDefined(item.key)) {\r\n var isMonthPart = 1 === dateParts.length;\r\n dateParts.push(isMonthPart ? item.key - 1 : item.key);\r\n if (item.items) {\r\n ungroupUTCDates(item.items, dateParts, dates)\r\n } else {\r\n var date = new Date(Date.UTC.apply(Date, dateParts));\r\n dates.push(date)\r\n }\r\n dateParts.pop()\r\n } else {\r\n dates.push(null)\r\n }\r\n });\r\n return dates\r\n}\r\n\r\nfunction convertDataFromUTCToLocal(data, column) {\r\n var dates = ungroupUTCDates(data);\r\n var query = dataQuery(dates);\r\n var group = gridCoreUtils.getHeaderFilterGroupParameters(_extends(_extends({}, column), {\r\n calculateCellValue: date => date\r\n }));\r\n return storeHelper.queryByOptions(query, {\r\n group: group\r\n }).toArray()\r\n}\r\n\r\nfunction isUTCFormat(format) {\r\n return \"Z\" === (null === format || void 0 === format ? void 0 : format.slice(-1)) || \"'Z'\" === (null === format || void 0 === format ? void 0 : format.slice(-3))\r\n}\r\nvar HeaderFilterController = modules.ViewController.inherit({\r\n init() {\r\n this._columnsController = this.getController(\"columns\");\r\n this._dataController = this.getController(\"data\");\r\n this._headerFilterView = this.getView(\"headerFilterView\")\r\n },\r\n _updateSelectedState(items, column) {\r\n var i = items.length;\r\n var isExclude = \"exclude\" === column.filterType;\r\n while (i--) {\r\n var item = items[i];\r\n if (\"items\" in items[i]) {\r\n this._updateSelectedState(items[i].items, column)\r\n }\r\n updateHeaderFilterItemSelectionState(item, gridCoreUtils.getIndexByKey(items[i].value, column.filterValues, null) > -1, isExclude)\r\n }\r\n },\r\n _normalizeGroupItem(item, currentLevel, options) {\r\n var value;\r\n var displayValue;\r\n var {\r\n path: path\r\n } = options;\r\n var {\r\n valueSelector: valueSelector\r\n } = options;\r\n var {\r\n displaySelector: displaySelector\r\n } = options;\r\n var {\r\n column: column\r\n } = options;\r\n if (valueSelector && displaySelector) {\r\n value = valueSelector(item);\r\n displayValue = displaySelector(item)\r\n } else {\r\n value = item.key;\r\n displayValue = value\r\n }\r\n if (!isObject(item)) {\r\n item = {}\r\n } else {\r\n item = extend({}, item)\r\n }\r\n path.push(value);\r\n if (1 === path.length) {\r\n item.value = path[0]\r\n } else {\r\n item.value = path.join(\"/\")\r\n }\r\n item.text = this.getHeaderItemText(displayValue, column, currentLevel, options.headerFilterOptions);\r\n return item\r\n },\r\n getHeaderItemText(displayValue, column, currentLevel, headerFilterOptions) {\r\n var text = gridCoreUtils.formatValue(displayValue, function(value, column, currentLevel) {\r\n var groupInterval = filterUtils.getGroupInterval(column);\r\n var result = gridCoreUtils.getFormatOptionsByColumn(column, \"headerFilter\");\r\n if (groupInterval) {\r\n result.groupInterval = groupInterval[currentLevel];\r\n if (gridCoreUtils.isDateType(column.dataType)) {\r\n result.format = DATE_INTERVAL_FORMATS[groupInterval[currentLevel]]\r\n } else if (\"number\" === column.dataType) {\r\n result.getDisplayFormat = function() {\r\n var formatOptions = {\r\n format: column.format,\r\n target: \"headerFilter\"\r\n };\r\n var firstValueText = gridCoreUtils.formatValue(value, formatOptions);\r\n var secondValue = value + groupInterval[currentLevel];\r\n var secondValueText = gridCoreUtils.formatValue(secondValue, formatOptions);\r\n return firstValueText && secondValueText ? \"\".concat(firstValueText, \" - \").concat(secondValueText) : \"\"\r\n }\r\n }\r\n }\r\n return result\r\n }(displayValue, column, currentLevel));\r\n if (!text) {\r\n text = headerFilterOptions.texts.emptyValue\r\n }\r\n return text\r\n },\r\n _processGroupItems(groupItems, currentLevel, path, options) {\r\n var displaySelector;\r\n var valueSelector;\r\n var {\r\n column: column\r\n } = options;\r\n var {\r\n lookup: lookup\r\n } = column;\r\n var {\r\n level: level\r\n } = options;\r\n path = path || [];\r\n currentLevel = currentLevel || 0;\r\n if (lookup) {\r\n displaySelector = compileGetter(lookup.displayExpr);\r\n valueSelector = compileGetter(lookup.valueExpr)\r\n }\r\n for (var i = 0; i < groupItems.length; i++) {\r\n groupItems[i] = this._normalizeGroupItem(groupItems[i], currentLevel, {\r\n column: options.column,\r\n headerFilterOptions: options.headerFilterOptions,\r\n displaySelector: displaySelector,\r\n valueSelector: valueSelector,\r\n path: path\r\n });\r\n if (\"items\" in groupItems[i]) {\r\n if (currentLevel === level || !isDefined(groupItems[i].value)) {\r\n delete groupItems[i].items\r\n } else {\r\n this._processGroupItems(groupItems[i].items, currentLevel + 1, path, options)\r\n }\r\n }\r\n path.pop()\r\n }\r\n },\r\n getDataSource(column) {\r\n var _a;\r\n var dataSource = this._dataController.dataSource();\r\n var remoteGrouping = null === dataSource || void 0 === dataSource ? void 0 : dataSource.remoteOperations().grouping;\r\n var group = gridCoreUtils.getHeaderFilterGroupParameters(column, remoteGrouping);\r\n var headerFilterDataSource = null === (_a = column.headerFilter) || void 0 === _a ? void 0 : _a.dataSource;\r\n var headerFilterOptions = this.option(\"headerFilter\");\r\n var isLookup = false;\r\n var options = {\r\n component: this.component\r\n };\r\n if (!dataSource) {\r\n return\r\n }\r\n if (isDefined(headerFilterDataSource) && !isFunction(headerFilterDataSource)) {\r\n options.dataSource = normalizeDataSourceOptions(headerFilterDataSource)\r\n } else if (column.lookup) {\r\n isLookup = true;\r\n if (this.option(\"syncLookupFilterValues\")) {\r\n this._currentColumn = column;\r\n var filter = this._dataController.getCombinedFilter();\r\n this._currentColumn = null;\r\n options.dataSource = gridCoreUtils.getWrappedLookupDataSource(column, dataSource, filter)\r\n } else {\r\n options.dataSource = gridCoreUtils.normalizeLookupDataSource(column.lookup)\r\n }\r\n } else {\r\n var cutoffLevel = Array.isArray(group) ? group.length - 1 : 0;\r\n this._currentColumn = column;\r\n var _filter = this._dataController.getCombinedFilter();\r\n this._currentColumn = null;\r\n options.dataSource = {\r\n filter: _filter,\r\n group: group,\r\n useDefaultSearch: true,\r\n load: options => {\r\n var d = new Deferred;\r\n options.dataField = column.dataField || column.name;\r\n dataSource.load(options).done(data => {\r\n var convertUTCDates = remoteGrouping && isUTCFormat(column.serializationFormat) && cutoffLevel > 3;\r\n if (convertUTCDates) {\r\n data = convertDataFromUTCToLocal(data, column)\r\n }\r\n that._processGroupItems(data, null, null, {\r\n level: cutoffLevel,\r\n column: column,\r\n headerFilterOptions: headerFilterOptions\r\n });\r\n d.resolve(data)\r\n }).fail(d.reject);\r\n return d\r\n }\r\n }\r\n }\r\n if (isFunction(headerFilterDataSource)) {\r\n headerFilterDataSource.call(column, options)\r\n }\r\n var origPostProcess = options.dataSource.postProcess;\r\n var that = this;\r\n options.dataSource.postProcess = function(data) {\r\n var items = data;\r\n if (isLookup) {\r\n items = items.filter(item => null !== item[column.lookup.valueExpr]);\r\n if (0 === this.pageIndex() && !this.searchValue()) {\r\n items = items.slice(0);\r\n items.unshift(null)\r\n }\r\n that._processGroupItems(items, null, null, {\r\n level: 0,\r\n column: column,\r\n headerFilterOptions: headerFilterOptions\r\n })\r\n }\r\n items = origPostProcess && origPostProcess.call(this, items) || items;\r\n that._updateSelectedState(items, column);\r\n return items\r\n };\r\n return options.dataSource\r\n },\r\n getCurrentColumn() {\r\n return this._currentColumn\r\n },\r\n showHeaderFilterMenu(columnIndex, isGroupPanel) {\r\n var columnsController = this._columnsController;\r\n var column = extend(true, {}, this._columnsController.getColumns()[columnIndex]);\r\n if (column) {\r\n var visibleIndex = columnsController.getVisibleIndex(columnIndex);\r\n var view = isGroupPanel ? this.getView(\"headerPanel\") : this.getView(\"columnHeadersView\");\r\n var $columnElement = $columnElement || view.getColumnElements().eq(isGroupPanel ? column.groupIndex : visibleIndex);\r\n this.showHeaderFilterMenuBase({\r\n columnElement: $columnElement,\r\n column: column,\r\n applyFilter: true,\r\n apply() {\r\n columnsController.columnOption(columnIndex, {\r\n filterValues: this.filterValues,\r\n filterType: this.filterType\r\n })\r\n }\r\n })\r\n }\r\n },\r\n showHeaderFilterMenuBase(options) {\r\n var that = this;\r\n var {\r\n column: column\r\n } = options;\r\n if (column) {\r\n var groupInterval = filterUtils.getGroupInterval(column);\r\n var dataSource = that._dataController.dataSource();\r\n var remoteFiltering = dataSource && dataSource.remoteOperations().filtering;\r\n var previousOnHidden = options.onHidden;\r\n extend(options, column, {\r\n type: groupInterval && groupInterval.length > 1 ? \"tree\" : \"list\",\r\n remoteFiltering: remoteFiltering,\r\n onShowing(e) {\r\n var dxResizableInstance = e.component.$overlayContent().dxResizable(\"instance\");\r\n dxResizableInstance && dxResizableInstance.option(\"onResizeEnd\", e => {\r\n var columnsController = that.getController(\"columns\");\r\n var headerFilterByColumn = columnsController.columnOption(options.dataField, \"headerFilter\");\r\n headerFilterByColumn = headerFilterByColumn || {};\r\n headerFilterByColumn.width = e.width;\r\n headerFilterByColumn.height = e.height;\r\n columnsController.columnOption(options.dataField, \"headerFilter\", headerFilterByColumn, true)\r\n })\r\n },\r\n onHidden: () => {\r\n null === previousOnHidden || void 0 === previousOnHidden ? void 0 : previousOnHidden();\r\n restoreFocus(this)\r\n }\r\n });\r\n options.dataSource = that.getDataSource(options);\r\n if (options.isFilterBuilder) {\r\n options.dataSource.filter = null;\r\n options.alignment = \"right\"\r\n }\r\n that._headerFilterView.showHeaderFilterMenu(options.columnElement, options)\r\n }\r\n },\r\n hideHeaderFilterMenu() {\r\n this._headerFilterView.hideHeaderFilterMenu()\r\n }\r\n});\r\nvar ColumnHeadersViewHeaderFilterExtender = extend({}, headerFilterMixin, {\r\n _renderCellContent($cell, options) {\r\n var $headerFilterIndicator;\r\n var {\r\n column: column\r\n } = options;\r\n if (!column.command && allowHeaderFiltering(column) && this.option(\"headerFilter.visible\") && \"header\" === options.rowType) {\r\n $headerFilterIndicator = this._applyColumnState({\r\n name: \"headerFilter\",\r\n rootElement: $cell,\r\n column: column,\r\n showColumnLines: this.option(\"showColumnLines\")\r\n });\r\n $headerFilterIndicator && this._subscribeToIndicatorEvent($headerFilterIndicator, column, \"headerFilter\")\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _subscribeToIndicatorEvent($indicator, column, indicatorName) {\r\n if (\"headerFilter\" === indicatorName) {\r\n eventsEngine.on($indicator, clickEventName, this.createAction(e => {\r\n e.event.stopPropagation();\r\n saveFocusedElementInfo($indicator, this);\r\n this.getController(\"headerFilter\").showHeaderFilterMenu(column.index, false)\r\n }))\r\n }\r\n },\r\n _updateIndicator($cell, column, indicatorName) {\r\n var $indicator = this.callBase($cell, column, indicatorName);\r\n $indicator && this._subscribeToIndicatorEvent($indicator, column, indicatorName)\r\n },\r\n _updateHeaderFilterIndicators() {\r\n if (this.option(\"headerFilter.visible\")) {\r\n this._updateIndicators(\"headerFilter\")\r\n }\r\n },\r\n _needUpdateFilterIndicators: () => true,\r\n _columnOptionChanged(e) {\r\n var {\r\n optionNames: optionNames\r\n } = e;\r\n var isFilterRowAndHeaderFilterValuesChanged = gridCoreUtils.checkChanges(optionNames, [\"filterValues\", \"filterValue\"]);\r\n var isHeaderFilterValuesAndTypeChanged = gridCoreUtils.checkChanges(optionNames, [\"filterValues\", \"filterType\"]);\r\n var shouldUpdateFilterIndicators = (isFilterRowAndHeaderFilterValuesChanged || isHeaderFilterValuesAndTypeChanged) && this._needUpdateFilterIndicators();\r\n if (shouldUpdateFilterIndicators) {\r\n this._updateHeaderFilterIndicators()\r\n }\r\n if (!isHeaderFilterValuesAndTypeChanged) {\r\n this.callBase(e)\r\n }\r\n }\r\n});\r\nvar HeaderPanelHeaderFilterExtender = extend({}, headerFilterMixin, {\r\n _createGroupPanelItem($rootElement, groupColumn) {\r\n var that = this;\r\n var $item = that.callBase.apply(that, arguments);\r\n var $headerFilterIndicator;\r\n if (!groupColumn.command && allowHeaderFiltering(groupColumn) && that.option(\"headerFilter.visible\")) {\r\n $headerFilterIndicator = that._applyColumnState({\r\n name: \"headerFilter\",\r\n rootElement: $item,\r\n column: {\r\n alignment: getDefaultAlignment(that.option(\"rtlEnabled\")),\r\n filterValues: groupColumn.filterValues,\r\n allowHeaderFiltering: true\r\n },\r\n showColumnLines: true\r\n });\r\n $headerFilterIndicator && eventsEngine.on($headerFilterIndicator, clickEventName, that.createAction(e => {\r\n var {\r\n event: event\r\n } = e;\r\n event.stopPropagation();\r\n that.getController(\"headerFilter\").showHeaderFilterMenu(groupColumn.index, true)\r\n }))\r\n }\r\n return $item\r\n }\r\n});\r\nexport function invertFilterExpression(filter) {\r\n return [\"!\", filter]\r\n}\r\nvar DataControllerFilterRowExtender = {\r\n skipCalculateColumnFilters: () => false,\r\n _calculateAdditionalFilter() {\r\n if (this.skipCalculateColumnFilters()) {\r\n return this.callBase()\r\n }\r\n var filters = [this.callBase()];\r\n var columns = this._columnsController.getVisibleColumns(null, true);\r\n var headerFilterController = this.getController(\"headerFilter\");\r\n var currentColumn = headerFilterController.getCurrentColumn();\r\n each(columns, (_, column) => {\r\n var filter;\r\n if (currentColumn && currentColumn.index === column.index) {\r\n return\r\n }\r\n if (allowHeaderFiltering(column) && column.calculateFilterExpression && Array.isArray(column.filterValues) && column.filterValues.length) {\r\n var filterValues = [];\r\n each(column.filterValues, (_, filterValue) => {\r\n if (Array.isArray(filterValue)) {\r\n filter = filterValue\r\n } else {\r\n if (column.deserializeValue && !gridCoreUtils.isDateType(column.dataType) && \"number\" !== column.dataType) {\r\n filterValue = column.deserializeValue(filterValue)\r\n }\r\n filter = column.createFilterExpression(filterValue, \"=\", \"headerFilter\")\r\n }\r\n if (filter) {\r\n filter.columnIndex = column.index\r\n }\r\n filterValues.push(filter)\r\n });\r\n filterValues = gridCoreUtils.combineFilters(filterValues, \"or\");\r\n filters.push(\"exclude\" === column.filterType ? [\"!\", filterValues] : filterValues)\r\n }\r\n });\r\n return gridCoreUtils.combineFilters(filters)\r\n }\r\n};\r\nexport var headerFilterModule = {\r\n defaultOptions: () => ({\r\n syncLookupFilterValues: true,\r\n headerFilter: {\r\n visible: false,\r\n width: 252,\r\n height: 325,\r\n allowSearch: false,\r\n searchTimeout: 500,\r\n texts: {\r\n emptyValue: messageLocalization.format(\"dxDataGrid-headerFilterEmptyValue\"),\r\n ok: messageLocalization.format(\"dxDataGrid-headerFilterOK\"),\r\n cancel: messageLocalization.format(\"dxDataGrid-headerFilterCancel\")\r\n }\r\n }\r\n }),\r\n controllers: {\r\n headerFilter: HeaderFilterController\r\n },\r\n views: {\r\n headerFilterView: HeaderFilterView\r\n },\r\n extenders: {\r\n controllers: {\r\n data: DataControllerFilterRowExtender\r\n },\r\n views: {\r\n columnHeadersView: ColumnHeadersViewHeaderFilterExtender,\r\n headerPanel: HeaderPanelHeaderFilterExtender\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/header_filter/m_header_filter_core.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport \"../../../../ui/list/modules/search\";\r\nimport \"../../../../ui/list/modules/selection\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n isDefined,\r\n isFunction\r\n} from \"../../../../core/utils/type\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport List from \"../../../../ui/list_light\";\r\nimport Popup from \"../../../../ui/popup/ui.popup\";\r\nimport TreeView from \"../../../../ui/tree_view\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar HEADER_FILTER_CLASS = \"dx-header-filter\";\r\nvar HEADER_FILTER_MENU_CLASS = \"dx-header-filter-menu\";\r\nvar DEFAULT_SEARCH_EXPRESSION = \"text\";\r\n\r\nfunction resetChildrenItemSelection(items) {\r\n items = items || [];\r\n for (var i = 0; i < items.length; i++) {\r\n items[i].selected = false;\r\n resetChildrenItemSelection(items[i].items)\r\n }\r\n}\r\n\r\nfunction updateSelectAllState(e, filterValues) {\r\n if (e.component.option(\"searchValue\")) {\r\n return\r\n }\r\n var selectAllCheckBox = $(e.element).find(\".dx-list-select-all-checkbox\").data(\"dxCheckBox\");\r\n if (selectAllCheckBox && filterValues && filterValues.length) {\r\n selectAllCheckBox.option(\"value\", void 0)\r\n }\r\n}\r\n\r\nfunction isSearchEnabled(that, options) {\r\n var {\r\n headerFilter: headerFilter\r\n } = options;\r\n if (headerFilter && isDefined(headerFilter.allowSearch)) {\r\n return headerFilter.allowSearch\r\n }\r\n return that.option(\"headerFilter.allowSearch\")\r\n}\r\nexport function updateHeaderFilterItemSelectionState(item, filterValuesMatch, isExcludeFilter) {\r\n if (filterValuesMatch ^ isExcludeFilter) {\r\n item.selected = true;\r\n if (isExcludeFilter && item.items) {\r\n for (var j = 0; j < item.items.length; j++) {\r\n if (!item.items[j].selected) {\r\n item.selected = void 0;\r\n break\r\n }\r\n }\r\n }\r\n } else if (isExcludeFilter || item.selected) {\r\n item.selected = false;\r\n resetChildrenItemSelection(item.items)\r\n }\r\n}\r\nexport var HeaderFilterView = modules.View.inherit({\r\n getPopupContainer() {\r\n return this._popupContainer\r\n },\r\n getListContainer() {\r\n return this._listContainer\r\n },\r\n applyHeaderFilter(options) {\r\n var list = this.getListContainer();\r\n var searchValue = list.option(\"searchValue\");\r\n var isSelectAll = !searchValue && !options.isFilterBuilder && list.$element().find(\".dx-checkbox\").eq(0).hasClass(\"dx-checkbox-checked\");\r\n var filterValues = [];\r\n if (!isSelectAll) {\r\n if (\"tree\" === options.type) {\r\n if (options.filterType) {\r\n options.filterType = \"include\"\r\n }! function fillSelectedItemKeys(filterValues, items, isExclude) {\r\n each(items, (_, item) => {\r\n if (void 0 !== item.selected && !!item.selected ^ isExclude) {\r\n var node = list._getNode(item);\r\n var hasChildren = list._hasChildren(node);\r\n var hasChildrenWithSelection = hasChildren && item.items && item.items.some(item => item.selected);\r\n if (!searchValue || !hasChildrenWithSelection) {\r\n filterValues.push(item.value);\r\n return\r\n }\r\n }\r\n if (item.items && item.items.length) {\r\n fillSelectedItemKeys(filterValues, item.items, isExclude)\r\n }\r\n })\r\n }(filterValues, list.option(\"items\"), false);\r\n options.filterValues = filterValues\r\n }\r\n } else {\r\n if (\"tree\" === options.type) {\r\n options.filterType = \"exclude\"\r\n }\r\n if (Array.isArray(options.filterValues)) {\r\n options.filterValues = []\r\n }\r\n }\r\n if (options.filterValues && !options.filterValues.length) {\r\n options.filterValues = null\r\n }\r\n options.apply();\r\n this.hideHeaderFilterMenu()\r\n },\r\n showHeaderFilterMenu($columnElement, options) {\r\n if (options) {\r\n this._initializePopupContainer(options);\r\n var popupContainer = this.getPopupContainer();\r\n this.hideHeaderFilterMenu();\r\n this.updatePopup($columnElement, options);\r\n popupContainer.show()\r\n }\r\n },\r\n hideHeaderFilterMenu() {\r\n var headerFilterMenu = this.getPopupContainer();\r\n headerFilterMenu && headerFilterMenu.hide()\r\n },\r\n updatePopup($element, options) {\r\n var showColumnLines = this.option(\"showColumnLines\");\r\n var alignment = \"right\" === options.alignment ^ !showColumnLines ? \"left\" : \"right\";\r\n this._popupContainer.setAria({\r\n role: \"dialog\",\r\n label: messageLocalization.format(\"dxDataGrid-headerFilterLabel\")\r\n });\r\n if (this._popupContainer) {\r\n this._cleanPopupContent();\r\n this._popupContainer.option(\"position\", {\r\n my: \"\".concat(alignment, \" top\"),\r\n at: \"\".concat(alignment, \" bottom\"),\r\n of: $element,\r\n collision: \"fit fit\"\r\n })\r\n }\r\n },\r\n _getSearchExpr(options) {\r\n var {\r\n lookup: lookup\r\n } = options;\r\n var {\r\n useDefaultSearchExpr: useDefaultSearchExpr\r\n } = options;\r\n var headerFilterDataSource = options.headerFilter && options.headerFilter.dataSource;\r\n if (useDefaultSearchExpr || isDefined(headerFilterDataSource) && !isFunction(headerFilterDataSource)) {\r\n return DEFAULT_SEARCH_EXPRESSION\r\n }\r\n if (lookup) {\r\n return lookup.displayExpr || \"this\"\r\n }\r\n if (options.dataSource) {\r\n var {\r\n group: group\r\n } = options.dataSource;\r\n if (Array.isArray(group) && group.length > 0) {\r\n return group[0].selector\r\n }\r\n if (isFunction(group) && !options.remoteFiltering) {\r\n return group\r\n }\r\n }\r\n return options.dataField || options.selector\r\n },\r\n _cleanPopupContent() {\r\n this._popupContainer && this._popupContainer.$content().empty()\r\n },\r\n _initializePopupContainer(options) {\r\n var that = this;\r\n var $element = that.element();\r\n var headerFilterOptions = that.option(\"headerFilter\");\r\n var width = options.headerFilter && options.headerFilter.width || headerFilterOptions && headerFilterOptions.width;\r\n var height = options.headerFilter && options.headerFilter.height || headerFilterOptions && headerFilterOptions.height;\r\n var dxPopupOptions = {\r\n width: width,\r\n height: height,\r\n visible: false,\r\n shading: false,\r\n showTitle: false,\r\n showCloseButton: false,\r\n hideOnParentScroll: false,\r\n dragEnabled: false,\r\n hideOnOutsideClick: true,\r\n wrapperAttr: {\r\n class: HEADER_FILTER_MENU_CLASS\r\n },\r\n focusStateEnabled: false,\r\n toolbarItems: [{\r\n toolbar: \"bottom\",\r\n location: \"after\",\r\n widget: \"dxButton\",\r\n options: {\r\n text: headerFilterOptions.texts.ok,\r\n onClick() {\r\n that.applyHeaderFilter(options)\r\n }\r\n }\r\n }, {\r\n toolbar: \"bottom\",\r\n location: \"after\",\r\n widget: \"dxButton\",\r\n options: {\r\n text: headerFilterOptions.texts.cancel,\r\n onClick() {\r\n that.hideHeaderFilterMenu()\r\n }\r\n }\r\n }],\r\n resizeEnabled: true,\r\n onShowing(e) {\r\n e.component.$content().parent().addClass(\"dx-dropdowneditor-overlay\");\r\n that._initializeListContainer(options);\r\n options.onShowing && options.onShowing(e)\r\n },\r\n onShown() {\r\n that.getListContainer().focus()\r\n },\r\n onHidden: options.onHidden,\r\n onInitialized(e) {\r\n var {\r\n component: component\r\n } = e;\r\n component.option(\"animation\", component._getDefaultOptions().animation)\r\n }\r\n };\r\n if (!isDefined(that._popupContainer)) {\r\n that._popupContainer = that._createComponent($element, Popup, dxPopupOptions)\r\n } else {\r\n that._popupContainer.option(dxPopupOptions)\r\n }\r\n },\r\n _initializeListContainer(options) {\r\n var that = this;\r\n var $content = that._popupContainer.$content();\r\n var widgetOptions = {\r\n searchEnabled: isSearchEnabled(that, options),\r\n searchTimeout: that.option(\"headerFilter.searchTimeout\"),\r\n searchMode: options.headerFilter && options.headerFilter.searchMode || \"\",\r\n dataSource: options.dataSource,\r\n onContentReady() {\r\n that.renderCompleted.fire()\r\n },\r\n itemTemplate(data, _, element) {\r\n var $element = $(element);\r\n if (options.encodeHtml) {\r\n return $element.text(data.text)\r\n }\r\n return $element.html(data.text)\r\n }\r\n };\r\n\r\n function onOptionChanged(e) {\r\n if (\"searchValue\" === e.fullName && !options.isFilterBuilder && false !== that.option(\"headerFilter.hideSelectAllOnSearch\")) {\r\n if (\"tree\" === options.type) {\r\n e.component.option(\"showCheckBoxesMode\", e.value ? \"normal\" : \"selectAll\")\r\n } else {\r\n e.component.option(\"selectionMode\", e.value ? \"multiple\" : \"all\")\r\n }\r\n }\r\n }\r\n if (\"tree\" === options.type) {\r\n that._listContainer = that._createComponent($(\"
    \").appendTo($content), TreeView, extend(widgetOptions, {\r\n showCheckBoxesMode: options.isFilterBuilder ? \"normal\" : \"selectAll\",\r\n onOptionChanged: onOptionChanged,\r\n keyExpr: \"id\"\r\n }))\r\n } else {\r\n that._listContainer = that._createComponent($(\"
    \").appendTo($content), List, extend(widgetOptions, {\r\n searchExpr: that._getSearchExpr(options),\r\n pageLoadMode: \"scrollBottom\",\r\n showSelectionControls: true,\r\n selectionMode: options.isFilterBuilder ? \"multiple\" : \"all\",\r\n onOptionChanged: onOptionChanged,\r\n onSelectionChanged(e) {\r\n var items = e.component.option(\"items\");\r\n var selectedItems = e.component.option(\"selectedItems\");\r\n if (!e.component._selectedItemsUpdating && !e.component.option(\"searchValue\") && !options.isFilterBuilder) {\r\n var filterValues = options.filterValues || [];\r\n var isExclude = \"exclude\" === options.filterType;\r\n if (0 === selectedItems.length && items.length && (filterValues.length <= 1 || isExclude && filterValues.length === items.length - 1)) {\r\n options.filterType = \"include\";\r\n options.filterValues = []\r\n } else if (selectedItems.length === items.length) {\r\n options.filterType = \"exclude\";\r\n options.filterValues = []\r\n }\r\n }\r\n each(items, (index, item) => {\r\n var selected = gridCoreUtils.getIndexByKey(item, selectedItems, null) >= 0;\r\n var oldSelected = !!item.selected;\r\n if (oldSelected !== selected) {\r\n item.selected = selected;\r\n options.filterValues = options.filterValues || [];\r\n var filterValueIndex = gridCoreUtils.getIndexByKey(item.value, options.filterValues, null);\r\n if (filterValueIndex >= 0) {\r\n options.filterValues.splice(filterValueIndex, 1)\r\n }\r\n var isExcludeFilterType = \"exclude\" === options.filterType;\r\n if (selected ^ isExcludeFilterType) {\r\n options.filterValues.push(item.value)\r\n }\r\n }\r\n });\r\n updateSelectAllState(e, options.filterValues)\r\n },\r\n onContentReady(e) {\r\n var {\r\n component: component\r\n } = e;\r\n var items = component.option(\"items\");\r\n var selectedItems = [];\r\n each(items, (function() {\r\n if (this.selected) {\r\n selectedItems.push(this)\r\n }\r\n }));\r\n component._selectedItemsUpdating = true;\r\n component.option(\"selectedItems\", selectedItems);\r\n component._selectedItemsUpdating = false;\r\n updateSelectAllState(e, options.filterValues)\r\n }\r\n }))\r\n }\r\n },\r\n _renderCore() {\r\n this.element().addClass(HEADER_FILTER_MENU_CLASS)\r\n }\r\n});\r\nexport var allowHeaderFiltering = function(column) {\r\n return isDefined(column.allowHeaderFiltering) ? column.allowHeaderFiltering : column.allowFiltering\r\n};\r\nexport var headerFilterMixin = {\r\n _applyColumnState(options) {\r\n var $headerFilterIndicator;\r\n var {\r\n rootElement: rootElement\r\n } = options;\r\n var {\r\n column: column\r\n } = options;\r\n if (\"headerFilter\" === options.name) {\r\n rootElement.find(\".\".concat(HEADER_FILTER_CLASS)).remove();\r\n if (allowHeaderFiltering(column)) {\r\n $headerFilterIndicator = this.callBase(options).toggleClass(\"dx-header-filter-empty\", this._isHeaderFilterEmpty(column));\r\n if (!this.option(\"useLegacyKeyboardNavigation\")) {\r\n $headerFilterIndicator.attr(\"tabindex\", this.option(\"tabindex\") || 0)\r\n }\r\n var indicatorLabel = messageLocalization.format(\"dxDataGrid-headerFilterIndicatorLabel\", column.caption);\r\n $headerFilterIndicator.attr(\"aria-label\", indicatorLabel);\r\n $headerFilterIndicator.attr(\"aria-haspopup\", \"dialog\");\r\n $headerFilterIndicator.attr(\"role\", \"button\")\r\n }\r\n return $headerFilterIndicator\r\n }\r\n return this.callBase(options)\r\n },\r\n _isHeaderFilterEmpty: column => !column.filterValues || !column.filterValues.length,\r\n _getIndicatorClassName(name) {\r\n if (\"headerFilter\" === name) {\r\n return HEADER_FILTER_CLASS\r\n }\r\n return this.callBase(name)\r\n },\r\n _renderIndicator(options) {\r\n var $container = options.container;\r\n var $indicator = options.indicator;\r\n if (\"headerFilter\" === options.name) {\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n if ($container.children().length && (!rtlEnabled && \"right\" === options.columnAlignment || rtlEnabled && \"left\" === options.columnAlignment)) {\r\n $container.prepend($indicator);\r\n return\r\n }\r\n }\r\n this.callBase(options)\r\n },\r\n optionChanged(args) {\r\n if (\"headerFilter\" === args.name) {\r\n var requireReady = \"columnHeadersView\" === this.name;\r\n this._invalidate(requireReady, requireReady);\r\n args.handled = true\r\n } else {\r\n this.callBase(args)\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/header_panel/m_header_panel.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n getPathParts\r\n} from \"../../../../core/utils/data\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n isDefined,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport Toolbar from \"../../../../ui/toolbar\";\r\nimport {\r\n ColumnsView\r\n} from \"../views/m_columns_view\";\r\nvar HEADER_PANEL_CLASS = \"header-panel\";\r\nvar TOOLBAR_BUTTON_CLASS = \"toolbar-button\";\r\nvar TOOLBAR_ARIA_LABEL = \"-ariaToolbar\";\r\nvar DEFAULT_TOOLBAR_ITEM_NAMES = [\"addRowButton\", \"applyFilterButton\", \"columnChooserButton\", \"exportButton\", \"groupPanel\", \"revertButton\", \"saveButton\", \"searchPanel\"];\r\nexport class HeaderPanel extends ColumnsView {\r\n _getToolbarItems() {\r\n return []\r\n }\r\n _getButtonContainer() {\r\n return $(\"
    \").addClass(this.addWidgetPrefix(TOOLBAR_BUTTON_CLASS))\r\n }\r\n _getToolbarButtonClass(specificClass) {\r\n var secondClass = specificClass ? \" \".concat(specificClass) : \"\";\r\n return this.addWidgetPrefix(TOOLBAR_BUTTON_CLASS) + secondClass\r\n }\r\n _getToolbarOptions() {\r\n var userToolbarOptions = this.option(\"toolbar\");\r\n var options = {\r\n toolbarOptions: {\r\n items: this._getToolbarItems(),\r\n visible: null === userToolbarOptions || void 0 === userToolbarOptions ? void 0 : userToolbarOptions.visible,\r\n disabled: null === userToolbarOptions || void 0 === userToolbarOptions ? void 0 : userToolbarOptions.disabled,\r\n onItemRendered(e) {\r\n var itemRenderedCallback = e.itemData.onItemRendered;\r\n if (itemRenderedCallback) {\r\n itemRenderedCallback(e)\r\n }\r\n }\r\n }\r\n };\r\n var userItems = null === userToolbarOptions || void 0 === userToolbarOptions ? void 0 : userToolbarOptions.items;\r\n options.toolbarOptions.items = this._normalizeToolbarItems(options.toolbarOptions.items, userItems);\r\n this.executeAction(\"onToolbarPreparing\", options);\r\n if (options.toolbarOptions && !isDefined(options.toolbarOptions.visible)) {\r\n var toolbarItems = options.toolbarOptions.items;\r\n options.toolbarOptions.visible = !!(null === toolbarItems || void 0 === toolbarItems ? void 0 : toolbarItems.length)\r\n }\r\n return options.toolbarOptions\r\n }\r\n _normalizeToolbarItems(defaultItems, userItems) {\r\n defaultItems.forEach(button => {\r\n if (!DEFAULT_TOOLBAR_ITEM_NAMES.includes(button.name)) {\r\n throw new Error(\"Default toolbar item '\".concat(button.name, \"' is not added to DEFAULT_TOOLBAR_ITEM_NAMES\"))\r\n }\r\n });\r\n var defaultProps = {\r\n location: \"after\"\r\n };\r\n var isArray = Array.isArray(userItems);\r\n if (!isDefined(userItems)) {\r\n return defaultItems\r\n }\r\n if (!isArray) {\r\n userItems = [userItems]\r\n }\r\n var defaultButtonsByNames = {};\r\n defaultItems.forEach(button => {\r\n defaultButtonsByNames[button.name] = button\r\n });\r\n var normalizedItems = userItems.map(button => {\r\n if (isString(button)) {\r\n button = {\r\n name: button\r\n }\r\n }\r\n if (isDefined(button.name)) {\r\n if (isDefined(defaultButtonsByNames[button.name])) {\r\n button = extend(true, {}, defaultButtonsByNames[button.name], button)\r\n } else if (DEFAULT_TOOLBAR_ITEM_NAMES.includes(button.name)) {\r\n button = _extends(_extends({}, button), {\r\n visible: false\r\n })\r\n }\r\n }\r\n return extend(true, {}, defaultProps, button)\r\n });\r\n return isArray ? normalizedItems : normalizedItems[0]\r\n }\r\n _renderCore() {\r\n if (!this._toolbar) {\r\n var $headerPanel = this.element();\r\n $headerPanel.addClass(this.addWidgetPrefix(HEADER_PANEL_CLASS));\r\n var label = messageLocalization.format(this.component.NAME + TOOLBAR_ARIA_LABEL);\r\n var $toolbar = $(\"
    \").attr(\"aria-label\", label).appendTo($headerPanel);\r\n this._toolbar = this._createComponent($toolbar, Toolbar, this._toolbarOptions)\r\n } else {\r\n this._toolbar.option(this._toolbarOptions)\r\n }\r\n }\r\n _columnOptionChanged() {}\r\n _handleDataChanged() {\r\n if (this._requireReady) {\r\n this.render()\r\n }\r\n }\r\n _isDisabledDefinedByUser(name) {\r\n var _a;\r\n var userItems = null === (_a = this.option(\"toolbar\")) || void 0 === _a ? void 0 : _a.items;\r\n var userItem = null === userItems || void 0 === userItems ? void 0 : userItems.find(item => (null === item || void 0 === item ? void 0 : item.name) === name);\r\n return isDefined(null === userItem || void 0 === userItem ? void 0 : userItem.disabled)\r\n }\r\n init() {\r\n super.init();\r\n this.createAction(\"onToolbarPreparing\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n }\r\n render() {\r\n this._toolbarOptions = this._getToolbarOptions();\r\n super.render.apply(this, arguments)\r\n }\r\n setToolbarItemDisabled(name, disabled) {\r\n var _a;\r\n var toolbar = this._toolbar;\r\n var isDefinedByUser = this._isDisabledDefinedByUser(name);\r\n if (!toolbar || isDefinedByUser) {\r\n return\r\n }\r\n var items = null !== (_a = toolbar.option(\"items\")) && void 0 !== _a ? _a : [];\r\n var itemIndex = items.findIndex(item => item.name === name);\r\n if (itemIndex < 0) {\r\n return\r\n }\r\n var item = toolbar.option(\"items[\".concat(itemIndex, \"]\"));\r\n toolbar.option(\"items[\".concat(itemIndex, \"].disabled\"), disabled);\r\n if (item.options) {\r\n toolbar.option(\"items[\".concat(itemIndex, \"].options.disabled\"), disabled)\r\n }\r\n }\r\n updateToolbarDimensions() {\r\n var _a;\r\n null === (_a = this._toolbar) || void 0 === _a ? void 0 : _a.updateDimensions()\r\n }\r\n getHeaderPanel() {\r\n return this.element()\r\n }\r\n getHeight() {\r\n return this.getElementHeight()\r\n }\r\n optionChanged(args) {\r\n if (\"onToolbarPreparing\" === args.name) {\r\n this._invalidate();\r\n args.handled = true\r\n }\r\n if (\"toolbar\" === args.name) {\r\n args.handled = true;\r\n if (this._toolbar) {\r\n var parts = getPathParts(args.fullName);\r\n var optionName = args.fullName.replace(/^toolbar\\./, \"\");\r\n if (1 === parts.length) {\r\n var toolbarOptions = this._getToolbarOptions();\r\n this._toolbar.option(toolbarOptions)\r\n } else if (\"items\" === parts[1]) {\r\n if (2 === parts.length) {\r\n var _toolbarOptions = this._getToolbarOptions();\r\n this._toolbar.option(\"items\", _toolbarOptions.items)\r\n } else if (3 === parts.length) {\r\n var normalizedItem = this._normalizeToolbarItems(this._getToolbarItems(), args.value);\r\n this._toolbar.option(optionName, normalizedItem)\r\n } else if (parts.length >= 4) {\r\n this._toolbar.option(optionName, args.value)\r\n }\r\n } else {\r\n this._toolbar.option(optionName, args.value)\r\n }\r\n }\r\n }\r\n super.optionChanged(args)\r\n }\r\n isVisible() {\r\n return !!(this._toolbarOptions && this._toolbarOptions.visible)\r\n }\r\n allowDragging() {}\r\n}\r\nexport var headerPanelModule = {\r\n defaultOptions: () => ({}),\r\n views: {\r\n headerPanel: HeaderPanel\r\n },\r\n extenders: {\r\n controllers: {\r\n resizing: {\r\n _updateDimensionsCore() {\r\n this.callBase.apply(this, arguments);\r\n this.getView(\"headerPanel\").updateToolbarDimensions()\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/utils/memoize.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n equalByValue\r\n} from \"../../core/utils/common\";\r\nvar compareByReference = (args, lastArgs) => args.length === lastArgs.length && !Object.keys(args).some(key => args[key] !== lastArgs[key]);\r\nvar compareByValue = (args, lastArgs) => equalByValue(args, lastArgs, {\r\n maxDepth: 4,\r\n strict: true\r\n});\r\nvar createCacheFunc = (firstArgs, firstResult, originFunc, compareFunc) => {\r\n var lastArgs = firstArgs;\r\n var lastResult = firstResult;\r\n return function() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n var argsEquals = compareFunc(args, lastArgs);\r\n if (argsEquals) {\r\n return lastResult\r\n }\r\n lastArgs = args;\r\n lastResult = originFunc(...lastArgs);\r\n return lastResult\r\n }\r\n};\r\nvar MEMOIZE_DEFAULT_OPTIONS = {\r\n compareType: \"reference\"\r\n};\r\nexport var memoize = function(func) {\r\n var {\r\n compareType: compareType\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : MEMOIZE_DEFAULT_OPTIONS;\r\n var cachedFunc = null;\r\n return function() {\r\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n args[_key2] = arguments[_key2]\r\n }\r\n if (!cachedFunc) {\r\n var firstResult = func(...args);\r\n cachedFunc = createCacheFunc(args, firstResult, func, \"reference\" === compareType ? compareByReference : compareByValue);\r\n return firstResult\r\n }\r\n return cachedFunc(...args)\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/keyboard_navigation/const.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var ATTRIBUTES = {\r\n ariaColIndex: \"aria-colindex\",\r\n dragCell: \"dx-drag-cell\"\r\n};\r\nexport var ROWS_VIEW_CLASS = \"rowsview\";\r\nexport var EDIT_FORM_CLASS = \"edit-form\";\r\nexport var GROUP_FOOTER_CLASS = \"group-footer\";\r\nexport var ROW_CLASS = \"dx-row\";\r\nexport var DATA_ROW_CLASS = \"dx-data-row\";\r\nexport var GROUP_ROW_CLASS = \"dx-group-row\";\r\nexport var HEADER_ROW_CLASS = \"dx-header-row\";\r\nexport var EDIT_FORM_ITEM_CLASS = \"edit-form-item\";\r\nexport var MASTER_DETAIL_ROW_CLASS = \"dx-master-detail-row\";\r\nexport var FREESPACE_ROW_CLASS = \"dx-freespace-row\";\r\nexport var VIRTUAL_ROW_CLASS = \"dx-virtual-row\";\r\nexport var MASTER_DETAIL_CELL_CLASS = \"dx-master-detail-cell\";\r\nexport var EDITOR_CELL_CLASS = \"dx-editor-cell\";\r\nexport var DROPDOWN_EDITOR_OVERLAY_CLASS = \"dx-dropdowneditor-overlay\";\r\nexport var COMMAND_EXPAND_CLASS = \"dx-command-expand\";\r\nexport var COMMAND_SELECT_CLASS = \"dx-command-select\";\r\nexport var COMMAND_EDIT_CLASS = \"dx-command-edit\";\r\nexport var COMMAND_CELL_SELECTOR = \"[class^=dx-command]\";\r\nexport var CELL_FOCUS_DISABLED_CLASS = \"dx-cell-focus-disabled\";\r\nexport var DATEBOX_WIDGET_NAME = \"dxDateBox\";\r\nexport var FOCUS_STATE_CLASS = \"dx-state-focused\";\r\nexport var WIDGET_CLASS = \"dx-widget\";\r\nexport var REVERT_BUTTON_CLASS = \"dx-revert-button\";\r\nexport var FOCUSED_CLASS = \"dx-focused\";\r\nexport var FAST_EDITING_DELETE_KEY = \"delete\";\r\nexport var INTERACTIVE_ELEMENTS_SELECTOR = '\\n input:not([type=\"hidden\"]):not([disabled]),\\n textarea:not([disabled]),\\n a:not([disabled]),\\n select:not([disabled]),\\n button:not([disabled]),\\n [tabindex]:not([disabled]),\\n .dx-checkbox:not([disabled],.dx-state-readonly)\\n';\r\nexport var NON_FOCUSABLE_ELEMENTS_SELECTOR = \"\".concat(INTERACTIVE_ELEMENTS_SELECTOR, \", .dx-dropdowneditor-icon\");\r\nexport var EDIT_MODE_FORM = \"form\";\r\nexport var FOCUS_TYPE_ROW = \"row\";\r\nexport var FOCUS_TYPE_CELL = \"cell\";\r\nexport var COLUMN_HEADERS_VIEW = \"columnHeadersView\";\r\nexport var FUNCTIONAL_KEYS = [\"shift\", \"control\", \"alt\"];\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/keyboard_navigation/dom.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n ATTRIBUTES\r\n} from \"./const\";\r\nvar isDragCell = $cell => void 0 !== $cell.attr(ATTRIBUTES.dragCell);\r\nvar getCellToFocus = ($cellElements, columnIndex) => $cellElements.filter(\"[\".concat(ATTRIBUTES.ariaColIndex, '=\"').concat(columnIndex + 1, '\"]:not([').concat(ATTRIBUTES.dragCell, \"])\")).first();\r\nexport var GridCoreKeyboardNavigationDom = {\r\n isDragCell: isDragCell,\r\n getCellToFocus: getCellToFocus\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/keyboard_navigation/m_keyboard_navigation_utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../../../../core/devices\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n EDITOR_CELL_CLASS\r\n} from \"../editing/const\";\r\nimport {\r\n COMMAND_SELECT_CLASS,\r\n DATA_ROW_CLASS,\r\n FREESPACE_ROW_CLASS,\r\n GROUP_ROW_CLASS,\r\n HEADER_ROW_CLASS,\r\n MASTER_DETAIL_ROW_CLASS,\r\n VIRTUAL_ROW_CLASS\r\n} from \"./const\";\r\nvar DATAGRID_GROUP_FOOTER_CLASS = \"dx-datagrid-group-footer\";\r\nexport function isGroupRow($row) {\r\n return $row && $row.hasClass(GROUP_ROW_CLASS)\r\n}\r\nexport function isGroupFooterRow($row) {\r\n return $row && $row.hasClass(DATAGRID_GROUP_FOOTER_CLASS)\r\n}\r\nexport function isDetailRow($row) {\r\n return $row && $row.hasClass(MASTER_DETAIL_ROW_CLASS)\r\n}\r\nexport function isDataRow($row) {\r\n return $row && $row.hasClass(DATA_ROW_CLASS)\r\n}\r\nexport function isNotFocusedRow($row) {\r\n return !$row || $row.hasClass(FREESPACE_ROW_CLASS) || $row.hasClass(VIRTUAL_ROW_CLASS)\r\n}\r\nexport function isEditorCell(that, $cell) {\r\n return !that._isRowEditMode() && $cell && !$cell.hasClass(COMMAND_SELECT_CLASS) && $cell.hasClass(EDITOR_CELL_CLASS)\r\n}\r\nexport function isElementDefined($element) {\r\n return isDefined($element) && $element.length > 0\r\n}\r\nexport function isMobile() {\r\n return \"desktop\" !== devices.current().deviceType\r\n}\r\nexport function isCellInHeaderRow($cell) {\r\n return !!$cell.parent(\".\".concat(HEADER_ROW_CLASS)).length\r\n}\r\nexport function isFixedColumnIndexOffsetRequired(that, column) {\r\n var rtlEnabled = that.option(\"rtlEnabled\");\r\n if (rtlEnabled) {\r\n return !(\"right\" === column.fixedPosition || isDefined(column.command) && !isDefined(column.fixedPosition))\r\n }\r\n return !(!isDefined(column.fixedPosition) || \"left\" === column.fixedPosition)\r\n}\r\nexport function shouldPreventScroll(that) {\r\n var keyboardController = that.getController(\"keyboardNavigation\");\r\n return keyboardController._isVirtualScrolling() ? that.option(\"focusedRowIndex\") === keyboardController.getRowIndex() : false\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/keyboard_navigation/m_keyboard_navigation.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../../../core/utils/common\";\r\nimport domAdapter from \"../../../../core/dom_adapter\";\r\nimport {\r\n getPublicElement\r\n} from \"../../../../core/element\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport browser from \"../../../../core/utils/browser\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n getHeight,\r\n getOuterHeight,\r\n getOuterWidth,\r\n getWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDeferred,\r\n isDefined,\r\n isEmptyObject\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../../events/click\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport pointerEvents from \"../../../../events/pointer\";\r\nimport {\r\n keyboard\r\n} from \"../../../../events/short\";\r\nimport {\r\n addNamespace,\r\n createEvent,\r\n isCommandKeyPressed\r\n} from \"../../../../events/utils/index\";\r\nimport * as accessibility from \"../../../../ui/shared/accessibility\";\r\nimport {\r\n focused\r\n} from \"../../../../ui/widget/selectors\";\r\nimport {\r\n memoize\r\n} from \"../../../utils/memoize\";\r\nimport {\r\n EDIT_FORM_CLASS,\r\n EDIT_MODE_BATCH,\r\n EDIT_MODE_CELL,\r\n EDIT_MODE_FORM,\r\n EDIT_MODE_ROW,\r\n EDITOR_CELL_CLASS,\r\n FOCUSABLE_ELEMENT_SELECTOR,\r\n ROW_CLASS\r\n} from \"../editing/const\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n CELL_FOCUS_DISABLED_CLASS,\r\n COLUMN_HEADERS_VIEW,\r\n COMMAND_CELL_SELECTOR,\r\n COMMAND_EDIT_CLASS,\r\n COMMAND_EXPAND_CLASS,\r\n COMMAND_SELECT_CLASS,\r\n DATA_ROW_CLASS,\r\n DATEBOX_WIDGET_NAME,\r\n DROPDOWN_EDITOR_OVERLAY_CLASS,\r\n EDIT_FORM_ITEM_CLASS,\r\n FAST_EDITING_DELETE_KEY,\r\n FOCUS_STATE_CLASS,\r\n FOCUS_TYPE_CELL,\r\n FOCUS_TYPE_ROW,\r\n FOCUSED_CLASS,\r\n FREESPACE_ROW_CLASS,\r\n FUNCTIONAL_KEYS,\r\n INTERACTIVE_ELEMENTS_SELECTOR,\r\n MASTER_DETAIL_CELL_CLASS,\r\n NON_FOCUSABLE_ELEMENTS_SELECTOR,\r\n REVERT_BUTTON_CLASS,\r\n ROWS_VIEW_CLASS,\r\n WIDGET_CLASS\r\n} from \"./const\";\r\nimport {\r\n GridCoreKeyboardNavigationDom\r\n} from \"./dom\";\r\nimport {\r\n isCellInHeaderRow,\r\n isDataRow,\r\n isDetailRow,\r\n isEditorCell,\r\n isElementDefined,\r\n isFixedColumnIndexOffsetRequired,\r\n isGroupFooterRow,\r\n isGroupRow,\r\n isMobile,\r\n isNotFocusedRow,\r\n shouldPreventScroll\r\n} from \"./m_keyboard_navigation_utils\";\r\nexport class KeyboardNavigationController extends modules.ViewController {\r\n init() {\r\n var _a, _b;\r\n this._dataController = this.getController(\"data\");\r\n this._selectionController = this.getController(\"selection\");\r\n this._editingController = this.getController(\"editing\");\r\n this._headerPanel = this.getView(\"headerPanel\");\r\n this._rowsView = this.getView(\"rowsView\");\r\n this._columnsController = this.getController(\"columns\");\r\n this._editorFactory = this.getController(\"editorFactory\");\r\n this._focusController = this.getController(\"focus\");\r\n this._memoFireFocusedCellChanged = memoize(this._memoFireFocusedCellChanged.bind(this), {\r\n compareType: \"value\"\r\n });\r\n this._memoFireFocusedRowChanged = memoize(this._memoFireFocusedRowChanged.bind(this), {\r\n compareType: \"value\"\r\n });\r\n this.focusedHandlerWithContext = this.focusedHandlerWithContext || this.focusedHandler.bind(this);\r\n this.renderCompletedWithContext = this.renderCompletedWithContext || this.renderCompleted.bind(this);\r\n this.rowsViewFocusHandlerContext = this.rowsViewFocusHandlerContext || this.rowsViewFocusHandler.bind(this);\r\n this._updateFocusTimeout = null;\r\n this._fastEditingStarted = false;\r\n this._focusedCellPosition = {};\r\n this._canceledCellPosition = null;\r\n if (this.isKeyboardEnabled()) {\r\n accessibility.subscribeVisibilityChange();\r\n null === (_a = this._editorFactory) || void 0 === _a ? void 0 : _a.focused.add(this.focusedHandlerWithContext);\r\n this.createAction(\"onKeyDown\")\r\n } else {\r\n accessibility.unsubscribeVisibilityChange();\r\n null === (_b = this._editorFactory) || void 0 === _b ? void 0 : _b.focused.remove(this.focusedHandlerWithContext)\r\n }\r\n this.initViewHandlers();\r\n this.initDocumentHandlers()\r\n }\r\n focusedHandler($element) {\r\n this.setupFocusedView();\r\n if (this._isNeedScroll) {\r\n if ($element.is(\":visible\") && this._focusedView && this._focusedView.getScrollable) {\r\n this._focusedView._scrollToElement($element);\r\n this._isNeedScroll = false\r\n }\r\n }\r\n }\r\n rowsViewFocusHandler(event) {\r\n var _a;\r\n var $element = $(event.target);\r\n var isRelatedTargetInRowsView = $(event.relatedTarget).closest(this._rowsView.element()).length;\r\n var isLink = $element.is(\"a\");\r\n if (event.relatedTarget && isLink && !isRelatedTargetInRowsView && this._isEventInCurrentGrid(event)) {\r\n var $focusedCell = this._getFocusedCell();\r\n $focusedCell = !isElementDefined($focusedCell) ? this._rowsView.getCellElements(0).filter(\"[tabindex]\").eq(0) : $focusedCell;\r\n if (!$element.closest($focusedCell).length) {\r\n event.preventDefault();\r\n eventsEngine.trigger($focusedCell, \"focus\")\r\n }\r\n }\r\n var isCell = $element.is(\"td\");\r\n var needSetFocusPosition = (null !== (_a = this.option(\"focusedRowIndex\")) && void 0 !== _a ? _a : -1) < 0;\r\n if (isCell && needSetFocusPosition) {\r\n this._updateFocusedCellPosition($element)\r\n }\r\n }\r\n subscribeToRowsViewFocusEvent() {\r\n var _a;\r\n var $rowsView = null === (_a = this._rowsView) || void 0 === _a ? void 0 : _a.element();\r\n eventsEngine.on($rowsView, \"focusin\", this.rowsViewFocusHandlerContext)\r\n }\r\n unsubscribeFromRowsViewFocusEvent() {\r\n var _a;\r\n var $rowsView = null === (_a = this._rowsView) || void 0 === _a ? void 0 : _a.element();\r\n eventsEngine.off($rowsView, \"focusin\", this.rowsViewFocusHandlerContext)\r\n }\r\n renderCompleted(e) {\r\n var $rowsView = this._rowsView.element();\r\n var isFullUpdate = !e || \"refresh\" === e.changeType;\r\n var isFocusedViewCorrect = this._focusedView && this._focusedView.name === this._rowsView.name;\r\n var needUpdateFocus = false;\r\n var isAppend = e && (\"append\" === e.changeType || \"prepend\" === e.changeType);\r\n var root = $(domAdapter.getRootNode($rowsView.get && $rowsView.get(0)));\r\n var $focusedElement = root.find(\":focus\");\r\n var isFocusedElementCorrect = !$focusedElement.length || $focusedElement.closest($rowsView).length;\r\n this.unsubscribeFromRowsViewFocusEvent();\r\n this.subscribeToRowsViewFocusEvent();\r\n this.initPointerEventHandler();\r\n this.initKeyDownHandler();\r\n this._setRowsViewAttributes();\r\n if (isFocusedViewCorrect && isFocusedElementCorrect) {\r\n needUpdateFocus = this._isNeedFocus ? !isAppend : this._isHiddenFocus && isFullUpdate && !(null === e || void 0 === e ? void 0 : e.virtualColumnsScrolling);\r\n needUpdateFocus && this._updateFocus(true)\r\n }\r\n }\r\n initViewHandlers() {\r\n var _a, _b;\r\n this.unsubscribeFromRowsViewFocusEvent();\r\n this.unsubscribeFromPointerEvent();\r\n this.unsubscribeFromKeyDownEvent();\r\n null === (_b = null === (_a = this._rowsView) || void 0 === _a ? void 0 : _a.renderCompleted) || void 0 === _b ? void 0 : _b.remove(this.renderCompletedWithContext);\r\n if (this.isKeyboardEnabled()) {\r\n this._rowsView.renderCompleted.add(this.renderCompletedWithContext)\r\n }\r\n }\r\n initDocumentHandlers() {\r\n var document = domAdapter.getDocument();\r\n this._documentClickHandler = this._documentClickHandler || this.createAction(e => {\r\n var $target = $(e.event.target);\r\n var isCurrentRowsViewClick = this._isEventInCurrentGrid(e.event) && $target.closest(\".\".concat(this.addWidgetPrefix(ROWS_VIEW_CLASS))).length;\r\n var isEditorOverlay = $target.closest(\".\".concat(DROPDOWN_EDITOR_OVERLAY_CLASS)).length;\r\n var columnsResizerController = this.getController(\"columnsResizer\");\r\n var isColumnResizing = !!columnsResizerController && columnsResizerController.isResizing();\r\n if (!isCurrentRowsViewClick && !isEditorOverlay && !isColumnResizing) {\r\n var targetInsideFocusedView = this._focusedView ? $target.parents().filter(this._focusedView.element()).length > 0 : false;\r\n !targetInsideFocusedView && this._resetFocusedCell(true);\r\n this._resetFocusedView()\r\n }\r\n });\r\n eventsEngine.off(document, addNamespace(pointerEvents.down, \"dxDataGridKeyboardNavigation\"), this._documentClickHandler);\r\n if (this.isKeyboardEnabled()) {\r\n eventsEngine.on(document, addNamespace(pointerEvents.down, \"dxDataGridKeyboardNavigation\"), this._documentClickHandler)\r\n }\r\n }\r\n _setRowsViewAttributes() {\r\n var $rowsView = this._getRowsViewElement();\r\n var isGridEmpty = !this._dataController.getVisibleRows().length;\r\n if (isGridEmpty) {\r\n this._applyTabIndexToElement($rowsView)\r\n }\r\n }\r\n unsubscribeFromPointerEvent() {\r\n var pointerEventName = !isMobile() ? pointerEvents.down : clickEventName;\r\n var $rowsView = this._getRowsViewElement();\r\n this._pointerEventAction && eventsEngine.off($rowsView, addNamespace(pointerEventName, \"dxDataGridKeyboardNavigation\"), this._pointerEventAction)\r\n }\r\n subscribeToPointerEvent() {\r\n var pointerEventName = !isMobile() ? pointerEvents.down : clickEventName;\r\n var $rowsView = this._getRowsViewElement();\r\n var clickSelector = \".\".concat(ROW_CLASS, \" > td, .\").concat(ROW_CLASS);\r\n eventsEngine.on($rowsView, addNamespace(pointerEventName, \"dxDataGridKeyboardNavigation\"), clickSelector, this._pointerEventAction)\r\n }\r\n initPointerEventHandler() {\r\n this._pointerEventAction = this._pointerEventAction || this.createAction(this._pointerEventHandler);\r\n this.unsubscribeFromPointerEvent();\r\n this.subscribeToPointerEvent()\r\n }\r\n unsubscribeFromKeyDownEvent() {\r\n keyboard.off(this._keyDownListener)\r\n }\r\n subscribeToKeyDownEvent() {\r\n var $rowsView = this._getRowsViewElement();\r\n this._keyDownListener = keyboard.on($rowsView, null, e => this._keyDownHandler(e))\r\n }\r\n initKeyDownHandler() {\r\n this._keyDownListener && this.unsubscribeFromKeyDownEvent();\r\n this.subscribeToKeyDownEvent()\r\n }\r\n dispose() {\r\n super.dispose();\r\n this._resetFocusedView();\r\n keyboard.off(this._keyDownListener);\r\n eventsEngine.off(domAdapter.getDocument(), addNamespace(pointerEvents.down, \"dxDataGridKeyboardNavigation\"), this._documentClickHandler);\r\n clearTimeout(this._updateFocusTimeout);\r\n accessibility.unsubscribeVisibilityChange()\r\n }\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"keyboardNavigation\":\r\n if (\"keyboardNavigation.enabled\" === args.fullName) {\r\n this.init()\r\n }\r\n args.handled = true;\r\n break;\r\n case \"useLegacyKeyboardNavigation\":\r\n this.init();\r\n args.handled = true;\r\n break;\r\n default:\r\n super.optionChanged(args)\r\n }\r\n }\r\n isRowFocusType() {\r\n return this.focusType === FOCUS_TYPE_ROW\r\n }\r\n isCellFocusType() {\r\n return this.focusType === FOCUS_TYPE_CELL\r\n }\r\n setRowFocusType() {\r\n if (this.option(\"focusedRowEnabled\")) {\r\n this.focusType = FOCUS_TYPE_ROW\r\n }\r\n }\r\n setCellFocusType() {\r\n this.focusType = FOCUS_TYPE_CELL\r\n }\r\n _keyDownHandler(e) {\r\n var _a;\r\n var needStopPropagation = true;\r\n this._isNeedFocus = true;\r\n this._isNeedScroll = true;\r\n var isHandled = this._processOnKeyDown(e);\r\n var isEditing = null === (_a = this._editingController) || void 0 === _a ? void 0 : _a.isEditing();\r\n var {\r\n originalEvent: originalEvent\r\n } = e;\r\n if (originalEvent.isDefaultPrevented()) {\r\n this._isNeedFocus = false;\r\n this._isNeedScroll = false;\r\n return\r\n }!FUNCTIONAL_KEYS.includes(e.keyName) && this._updateFocusedCellPositionByTarget(originalEvent.target);\r\n if (!isHandled) {\r\n switch (e.keyName) {\r\n case \"leftArrow\":\r\n case \"rightArrow\":\r\n this._leftRightKeysHandler(e, isEditing);\r\n isHandled = true;\r\n break;\r\n case \"upArrow\":\r\n case \"downArrow\":\r\n if (e.ctrl) {\r\n accessibility.selectView(\"rowsView\", this, originalEvent)\r\n } else {\r\n this._upDownKeysHandler(e, isEditing)\r\n }\r\n isHandled = true;\r\n break;\r\n case \"pageUp\":\r\n case \"pageDown\":\r\n this._pageUpDownKeyHandler(e);\r\n isHandled = true;\r\n break;\r\n case \"space\":\r\n isHandled = this._spaceKeyHandler(e, isEditing);\r\n break;\r\n case \"A\":\r\n if (isCommandKeyPressed(e.originalEvent)) {\r\n this._ctrlAKeyHandler(e, isEditing);\r\n isHandled = true\r\n } else {\r\n isHandled = this._beginFastEditing(e.originalEvent)\r\n }\r\n break;\r\n case \"tab\":\r\n this._tabKeyHandler(e, isEditing);\r\n isHandled = true;\r\n break;\r\n case \"enter\":\r\n this._enterKeyHandler(e, isEditing);\r\n isHandled = true;\r\n break;\r\n case \"escape\":\r\n isHandled = this._escapeKeyHandler(e, isEditing);\r\n break;\r\n case \"F\":\r\n if (isCommandKeyPressed(e.originalEvent)) {\r\n this._ctrlFKeyHandler(e);\r\n isHandled = true\r\n } else {\r\n isHandled = this._beginFastEditing(e.originalEvent)\r\n }\r\n break;\r\n case \"F2\":\r\n this._f2KeyHandler();\r\n isHandled = true;\r\n break;\r\n case \"del\":\r\n case \"backspace\":\r\n if (this._isFastEditingAllowed() && !this._isFastEditingStarted()) {\r\n isHandled = this._beginFastEditing(originalEvent, true)\r\n }\r\n }\r\n if (!isHandled && !this._beginFastEditing(originalEvent)) {\r\n this._isNeedFocus = false;\r\n this._isNeedScroll = false;\r\n needStopPropagation = false\r\n }\r\n if (needStopPropagation) {\r\n originalEvent.stopPropagation()\r\n }\r\n }\r\n }\r\n _processOnKeyDown(eventArgs) {\r\n var {\r\n originalEvent: originalEvent\r\n } = eventArgs;\r\n var args = {\r\n handled: false,\r\n event: originalEvent\r\n };\r\n this.executeAction(\"onKeyDown\", args);\r\n eventArgs.ctrl = originalEvent.ctrlKey;\r\n eventArgs.alt = originalEvent.altKey;\r\n eventArgs.shift = originalEvent.shiftKey;\r\n return !!args.handled\r\n }\r\n _closeEditCell() {\r\n setTimeout(() => {\r\n this._editingController.closeEditCell()\r\n })\r\n }\r\n _leftRightKeysHandler(eventArgs, isEditing) {\r\n var rowIndex = this.getVisibleRowIndex();\r\n var $event = eventArgs.originalEvent;\r\n var $row = this._focusedView && this._focusedView.getRow(rowIndex);\r\n var directionCode = this._getDirectionCodeByKey(eventArgs.keyName);\r\n var isEditingNavigationMode = this._isFastEditingStarted();\r\n var allowNavigate = (!isEditing || isEditingNavigationMode) && isDataRow($row);\r\n if (allowNavigate) {\r\n this.setCellFocusType();\r\n isEditingNavigationMode && this._closeEditCell();\r\n if (this._isVirtualColumnRender()) {\r\n this._processVirtualHorizontalPosition(directionCode)\r\n }\r\n var $cell = this._getNextCell(directionCode);\r\n if (isElementDefined($cell)) {\r\n this._arrowKeysHandlerFocusCell($event, $cell, directionCode)\r\n }\r\n $event && $event.preventDefault()\r\n }\r\n }\r\n _upDownKeysHandler(eventArgs, isEditing) {\r\n var _a, _b;\r\n var visibleRowIndex = this.getVisibleRowIndex();\r\n var $row = this._focusedView && this._focusedView.getRow(visibleRowIndex);\r\n var $event = eventArgs.originalEvent;\r\n var isUpArrow = \"upArrow\" === eventArgs.keyName;\r\n var dataSource = this._dataController.dataSource();\r\n var isRowEditingInCurrentRow = null === (_b = null === (_a = this._editingController) || void 0 === _a ? void 0 : _a.isEditRowByIndex) || void 0 === _b ? void 0 : _b.call(_a, visibleRowIndex);\r\n var isEditingNavigationMode = this._isFastEditingStarted();\r\n var allowNavigate = (!isRowEditingInCurrentRow || !isEditing || isEditingNavigationMode) && $row && !isDetailRow($row);\r\n if (allowNavigate) {\r\n isEditingNavigationMode && this._closeEditCell();\r\n if (!this._navigateNextCell($event, eventArgs.keyName)) {\r\n if (this._isVirtualRowRender() && isUpArrow && dataSource && !dataSource.isLoading()) {\r\n var rowHeight = getOuterHeight($row);\r\n var rowIndex = this._focusedCellPosition.rowIndex - 1;\r\n this._scrollBy(0, -rowHeight, rowIndex, $event)\r\n }\r\n }\r\n $event && $event.preventDefault()\r\n }\r\n }\r\n _pageUpDownKeyHandler(eventArgs) {\r\n var pageIndex = this._dataController.pageIndex();\r\n var pageCount = this._dataController.pageCount();\r\n var pagingEnabled = this.option(\"paging.enabled\");\r\n var isPageUp = \"pageUp\" === eventArgs.keyName;\r\n var pageStep = isPageUp ? -1 : 1;\r\n var scrollable = this._rowsView.getScrollable();\r\n if (pagingEnabled && !this._isVirtualScrolling()) {\r\n if ((isPageUp ? pageIndex > 0 : pageIndex < pageCount - 1) && !this._isVirtualScrolling()) {\r\n this._dataController.pageIndex(pageIndex + pageStep);\r\n eventArgs.originalEvent.preventDefault()\r\n }\r\n } else if (scrollable && getHeight(scrollable.container()) < getHeight(scrollable.$content())) {\r\n this._scrollBy(0, getHeight(scrollable.container()) * pageStep);\r\n eventArgs.originalEvent.preventDefault()\r\n }\r\n }\r\n _spaceKeyHandler(eventArgs, isEditing) {\r\n var rowIndex = this.getVisibleRowIndex();\r\n var $target = $(eventArgs.originalEvent && eventArgs.originalEvent.target);\r\n if (this.option(\"selection\") && \"none\" !== this.option(\"selection\").mode && !isEditing) {\r\n var isFocusedRowElement = \"row\" === this._getElementType($target) && this.isRowFocusType() && isDataRow($target);\r\n var isFocusedSelectionCell = $target.hasClass(COMMAND_SELECT_CLASS);\r\n if (isFocusedSelectionCell && \"onClick\" === this.option(\"selection.showCheckBoxesMode\")) {\r\n this._selectionController.startSelectionWithCheckboxes()\r\n }\r\n if (isFocusedRowElement || $target.parent().hasClass(DATA_ROW_CLASS) || $target.hasClass(this.addWidgetPrefix(ROWS_VIEW_CLASS))) {\r\n this._selectionController.changeItemSelection(rowIndex, {\r\n shift: eventArgs.shift,\r\n control: eventArgs.ctrl\r\n });\r\n eventArgs.originalEvent.preventDefault();\r\n return true\r\n }\r\n return false\r\n }\r\n return this._beginFastEditing(eventArgs.originalEvent)\r\n }\r\n _ctrlAKeyHandler(eventArgs, isEditing) {\r\n if (!isEditing && !eventArgs.alt && \"multiple\" === this.option(\"selection.mode\") && this.option(\"selection.allowSelectAll\")) {\r\n this._selectionController.selectAll();\r\n eventArgs.originalEvent.preventDefault()\r\n }\r\n }\r\n _tabKeyHandler(eventArgs, isEditing) {\r\n var editingOptions = this.option(\"editing\");\r\n var direction = eventArgs.shift ? \"previous\" : \"next\";\r\n var isCellPositionDefined = isDefined(this._focusedCellPosition) && !isEmptyObject(this._focusedCellPosition);\r\n var isOriginalHandlerRequired = !isCellPositionDefined || !eventArgs.shift && this._isLastValidCell(this._focusedCellPosition) || eventArgs.shift && this._isFirstValidCell(this._focusedCellPosition);\r\n var eventTarget = eventArgs.originalEvent.target;\r\n var focusedViewElement = this._focusedView && this._focusedView.element();\r\n if (this._handleTabKeyOnMasterDetailCell(eventTarget, direction)) {\r\n return\r\n }\r\n $(focusedViewElement).addClass(FOCUS_STATE_CLASS);\r\n if (editingOptions && eventTarget && !isOriginalHandlerRequired) {\r\n if ($(eventTarget).hasClass(this.addWidgetPrefix(ROWS_VIEW_CLASS))) {\r\n this._resetFocusedCell()\r\n }\r\n if (this._isVirtualColumnRender()) {\r\n this._processVirtualHorizontalPosition(direction)\r\n }\r\n if (isEditing) {\r\n if (!this._editingCellTabHandler(eventArgs, direction)) {\r\n return\r\n }\r\n } else if (this._targetCellTabHandler(eventArgs, direction)) {\r\n isOriginalHandlerRequired = true\r\n }\r\n }\r\n if (isOriginalHandlerRequired) {\r\n this._editorFactory.loseFocus();\r\n if (this._editingController.isEditing() && !this._isRowEditMode()) {\r\n this._resetFocusedCell(true);\r\n this._resetFocusedView();\r\n this._closeEditCell()\r\n }\r\n } else {\r\n eventArgs.originalEvent.preventDefault()\r\n }\r\n }\r\n _getMaxHorizontalOffset() {\r\n var scrollable = this.component.getScrollable();\r\n return scrollable ? scrollable.scrollWidth() - getWidth(this._rowsView.element()) : 0\r\n }\r\n _isColumnRendered(columnIndex) {\r\n var allVisibleColumns = this._columnsController.getVisibleColumns(null, true);\r\n var renderedVisibleColumns = this._columnsController.getVisibleColumns();\r\n var column = allVisibleColumns[columnIndex];\r\n var result = false;\r\n if (column) {\r\n result = renderedVisibleColumns.indexOf(column) >= 0\r\n }\r\n return result\r\n }\r\n _isFixedColumn(columnIndex) {\r\n var allVisibleColumns = this._columnsController.getVisibleColumns(null, true);\r\n var column = allVisibleColumns[columnIndex];\r\n return !!column && !!column.fixed\r\n }\r\n _isColumnVirtual(columnIndex) {\r\n var localColumnIndex = columnIndex - this._columnsController.getColumnIndexOffset();\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n var column = visibleColumns[localColumnIndex];\r\n return !!column && \"virtual\" === column.command\r\n }\r\n _processVirtualHorizontalPosition(direction) {\r\n var scrollable = this.component.getScrollable();\r\n var columnIndex = this.getColumnIndex();\r\n var nextColumnIndex;\r\n var horizontalScrollPosition = 0;\r\n var needToScroll = false;\r\n switch (direction) {\r\n case \"next\":\r\n case \"nextInRow\":\r\n var columnsCount = this._getVisibleColumnCount();\r\n nextColumnIndex = columnIndex + 1;\r\n horizontalScrollPosition = this.option(\"rtlEnabled\") ? this._getMaxHorizontalOffset() : 0;\r\n if (\"next\" === direction) {\r\n needToScroll = columnsCount === nextColumnIndex || this._isFixedColumn(columnIndex) && !this._isColumnRendered(nextColumnIndex)\r\n } else {\r\n needToScroll = columnsCount > nextColumnIndex && this._isFixedColumn(columnIndex) && !this._isColumnRendered(nextColumnIndex)\r\n }\r\n break;\r\n case \"previous\":\r\n case \"previousInRow\":\r\n nextColumnIndex = columnIndex - 1;\r\n horizontalScrollPosition = this.option(\"rtlEnabled\") ? 0 : this._getMaxHorizontalOffset();\r\n if (\"previous\" === direction) {\r\n var columnIndexOffset = this._columnsController.getColumnIndexOffset();\r\n var leftEdgePosition = nextColumnIndex < 0 && 0 === columnIndexOffset;\r\n needToScroll = leftEdgePosition || this._isFixedColumn(columnIndex) && !this._isColumnRendered(nextColumnIndex)\r\n } else {\r\n needToScroll = nextColumnIndex >= 0 && this._isFixedColumn(columnIndex) && !this._isColumnRendered(nextColumnIndex)\r\n }\r\n }\r\n if (needToScroll) {\r\n scrollable.scrollTo({\r\n left: horizontalScrollPosition\r\n })\r\n } else if (isDefined(nextColumnIndex) && isDefined(direction) && this._isColumnVirtual(nextColumnIndex)) {\r\n horizontalScrollPosition = this._getHorizontalScrollPositionOffset(direction);\r\n 0 !== horizontalScrollPosition && scrollable.scrollBy({\r\n left: horizontalScrollPosition,\r\n top: 0\r\n })\r\n }\r\n }\r\n _getHorizontalScrollPositionOffset(direction) {\r\n var positionOffset = 0;\r\n var $currentCell = this._getCell(this._focusedCellPosition);\r\n var currentCellWidth = $currentCell && getOuterWidth($currentCell);\r\n if (currentCellWidth > 0) {\r\n var rtlMultiplier = this.option(\"rtlEnabled\") ? -1 : 1;\r\n positionOffset = \"nextInRow\" === direction || \"next\" === direction ? currentCellWidth * rtlMultiplier : currentCellWidth * rtlMultiplier * -1\r\n }\r\n return positionOffset\r\n }\r\n _editingCellTabHandler(eventArgs, direction) {\r\n var eventTarget = eventArgs.originalEvent.target;\r\n var $cell = this._getCellElementFromTarget(eventTarget);\r\n var isEditingAllowed;\r\n var $event = eventArgs.originalEvent;\r\n var elementType = this._getElementType(eventTarget);\r\n if ($cell.is(COMMAND_CELL_SELECTOR)) {\r\n return !this._targetCellTabHandler(eventArgs, direction)\r\n }\r\n this._updateFocusedCellPosition($cell);\r\n var nextCellInfo = this._getNextCellByTabKey($event, direction, elementType);\r\n $cell = nextCellInfo.$cell;\r\n if (!$cell || this._handleTabKeyOnMasterDetailCell($cell, direction)) {\r\n return false\r\n }\r\n var column = this._getColumnByCellElement($cell);\r\n var $row = $cell.parent();\r\n var rowIndex = this._getRowIndex($row);\r\n var row = this._dataController.items()[rowIndex];\r\n var editingController = this._editingController;\r\n if (column && column.allowEditing) {\r\n var _isDataRow = !row || \"data\" === row.rowType;\r\n isEditingAllowed = editingController.allowUpdating({\r\n row: row\r\n }) ? _isDataRow : row && row.isNewRow\r\n }\r\n if (!isEditingAllowed) {\r\n this._closeEditCell()\r\n }\r\n if (this._focusCell($cell, !nextCellInfo.isHighlighted)) {\r\n if (!this._isRowEditMode() && isEditingAllowed) {\r\n this._editFocusedCell()\r\n } else {\r\n this._focusInteractiveElement($cell, eventArgs.shift)\r\n }\r\n }\r\n return true\r\n }\r\n _targetCellTabHandler(eventArgs, direction) {\r\n var $event = eventArgs.originalEvent;\r\n var eventTarget = $event.target;\r\n var elementType = this._getElementType(eventTarget);\r\n var $cell = this._getCellElementFromTarget(eventTarget);\r\n var $lastInteractiveElement = \"cell\" === elementType && this._getInteractiveElement($cell, !eventArgs.shift);\r\n var isOriginalHandlerRequired = false;\r\n if (!isEditorCell(this, $cell) && (null === $lastInteractiveElement || void 0 === $lastInteractiveElement ? void 0 : $lastInteractiveElement.length) && eventTarget !== $lastInteractiveElement.get(0)) {\r\n isOriginalHandlerRequired = true\r\n } else {\r\n if (void 0 === this._focusedCellPosition.rowIndex && $(eventTarget).hasClass(ROW_CLASS)) {\r\n this._updateFocusedCellPosition($cell)\r\n }\r\n elementType = this._getElementType(eventTarget);\r\n if (this.isRowFocusType()) {\r\n this.setCellFocusType();\r\n if (\"row\" === elementType && isDataRow($(eventTarget))) {\r\n eventTarget = this.getFirstValidCellInRow($(eventTarget));\r\n elementType = this._getElementType(eventTarget)\r\n }\r\n }\r\n var nextCellInfo = this._getNextCellByTabKey($event, direction, elementType);\r\n $cell = nextCellInfo.$cell;\r\n if (!$cell) {\r\n return false\r\n }\r\n $cell = this._checkNewLineTransition($event, $cell);\r\n if (!$cell) {\r\n return false\r\n }\r\n this._focusCell($cell, !nextCellInfo.isHighlighted);\r\n if (!isEditorCell(this, $cell)) {\r\n this._focusInteractiveElement($cell, eventArgs.shift)\r\n }\r\n }\r\n return isOriginalHandlerRequired\r\n }\r\n _getNextCellByTabKey($event, direction, elementType) {\r\n var $cell = this._getNextCell(direction, elementType);\r\n var args = $cell && this._fireFocusedCellChanging($event, $cell, true);\r\n if (!args || args.cancel) {\r\n return {}\r\n }\r\n if (args.$newCellElement) {\r\n $cell = args.$newCellElement\r\n }\r\n return {\r\n $cell: $cell,\r\n isHighlighted: args.isHighlighted\r\n }\r\n }\r\n _checkNewLineTransition($event, $cell) {\r\n var rowIndex = this.getVisibleRowIndex();\r\n var $row = $cell.parent();\r\n if (rowIndex !== this._getRowIndex($row)) {\r\n var cellPosition = this._getCellPosition($cell);\r\n var args = this._fireFocusedRowChanging($event, $row);\r\n if (args.cancel) {\r\n return\r\n }\r\n if (args.rowIndexChanged && cellPosition) {\r\n this.setFocusedColumnIndex(cellPosition.columnIndex);\r\n $cell = this._getFocusedCell()\r\n }\r\n }\r\n return $cell\r\n }\r\n _enterKeyHandler(eventArgs, isEditing) {\r\n var $cell = this._getFocusedCell();\r\n var rowIndex = this.getVisibleRowIndex();\r\n var $row = this._focusedView && this._focusedView.getRow(rowIndex);\r\n if (this.option(\"grouping.allowCollapsing\") && isGroupRow($row) || this.option(\"masterDetail.enabled\") && $cell && $cell.hasClass(COMMAND_EXPAND_CLASS)) {\r\n var key = this._dataController.getKeyByRowIndex(rowIndex);\r\n var item = this._dataController.items()[rowIndex];\r\n if (void 0 !== key && item && item.data && !item.data.isContinuation) {\r\n this._dataController.changeRowExpand(key)\r\n }\r\n } else if (!(null === $cell || void 0 === $cell ? void 0 : $cell.hasClass(COMMAND_EDIT_CLASS))) {\r\n this._processEnterKeyForDataCell(eventArgs, isEditing)\r\n }\r\n }\r\n _processEnterKeyForDataCell(eventArgs, isEditing) {\r\n var direction = this._getEnterKeyDirection(eventArgs);\r\n var allowEditingOnEnterKey = this._allowEditingOnEnterKey();\r\n if (isEditing || !allowEditingOnEnterKey && direction) {\r\n this._handleEnterKeyEditingCell(eventArgs.originalEvent);\r\n if (\"next\" === direction || \"previous\" === direction) {\r\n this._targetCellTabHandler(eventArgs, direction)\r\n } else if (\"upArrow\" === direction || \"downArrow\" === direction) {\r\n this._navigateNextCell(eventArgs.originalEvent, direction)\r\n }\r\n } else if (allowEditingOnEnterKey) {\r\n this._startEditing(eventArgs)\r\n }\r\n }\r\n _getEnterKeyDirection(eventArgs) {\r\n var enterKeyDirection = this.option(\"keyboardNavigation.enterKeyDirection\");\r\n var isShift = eventArgs.shift;\r\n if (\"column\" === enterKeyDirection) {\r\n return isShift ? \"upArrow\" : \"downArrow\"\r\n }\r\n if (\"row\" === enterKeyDirection) {\r\n return isShift ? \"previous\" : \"next\"\r\n }\r\n return\r\n }\r\n _handleEnterKeyEditingCell(event) {\r\n var {\r\n target: target\r\n } = event;\r\n var $cell = this._getCellElementFromTarget(target);\r\n var isRowEditMode = this._isRowEditMode();\r\n this._updateFocusedCellPosition($cell);\r\n if (isRowEditMode) {\r\n this._focusEditFormCell($cell);\r\n setTimeout(this._editingController.saveEditData.bind(this._editingController))\r\n } else {\r\n eventsEngine.trigger($(target), \"change\");\r\n this._closeEditCell();\r\n event.preventDefault()\r\n }\r\n }\r\n _escapeKeyHandler(eventArgs, isEditing) {\r\n var $cell = this._getCellElementFromTarget(eventArgs.originalEvent.target);\r\n if (isEditing) {\r\n this._updateFocusedCellPosition($cell);\r\n if (!this._isRowEditMode()) {\r\n if (\"cell\" === this._editingController.getEditMode()) {\r\n this._editingController.cancelEditData()\r\n } else {\r\n this._closeEditCell()\r\n }\r\n } else {\r\n this._focusEditFormCell($cell);\r\n this._editingController.cancelEditData();\r\n if (0 === this._dataController.items().length) {\r\n this._resetFocusedCell();\r\n this._editorFactory.loseFocus()\r\n }\r\n }\r\n eventArgs.originalEvent.preventDefault();\r\n return true\r\n }\r\n return false\r\n }\r\n _ctrlFKeyHandler(eventArgs) {\r\n if (this.option(\"searchPanel.visible\")) {\r\n var searchTextEditor = this._headerPanel.getSearchTextEditor();\r\n if (searchTextEditor) {\r\n searchTextEditor.focus();\r\n eventArgs.originalEvent.preventDefault()\r\n }\r\n }\r\n }\r\n _f2KeyHandler() {\r\n var isEditing = this._editingController.isEditing();\r\n var rowIndex = this.getVisibleRowIndex();\r\n var $row = this._focusedView && this._focusedView.getRow(rowIndex);\r\n if (!isEditing && isDataRow($row)) {\r\n this._startEditing()\r\n }\r\n }\r\n _navigateNextCell($event, keyCode) {\r\n var $cell = this._getNextCell(keyCode);\r\n var directionCode = this._getDirectionCodeByKey(keyCode);\r\n var isCellValid = $cell && this._isCellValid($cell);\r\n var result = isCellValid ? this._arrowKeysHandlerFocusCell($event, $cell, directionCode) : false;\r\n return result\r\n }\r\n _arrowKeysHandlerFocusCell($event, $nextCell, direction) {\r\n var isVerticalDirection = \"prevRow\" === direction || \"nextRow\" === direction;\r\n var args = this._fireFocusChangingEvents($event, $nextCell, isVerticalDirection, true);\r\n $nextCell = args.$newCellElement;\r\n if (!args.cancel && this._isCellValid($nextCell)) {\r\n this._focus($nextCell, !args.isHighlighted);\r\n return true\r\n }\r\n return false\r\n }\r\n _beginFastEditing(originalEvent, isDeleting) {\r\n if (!this._isFastEditingAllowed() || originalEvent.altKey || originalEvent.ctrlKey || this._editingController.isEditing()) {\r\n return false\r\n }\r\n if (isDeleting) {\r\n this._startEditing(originalEvent, FAST_EDITING_DELETE_KEY)\r\n } else {\r\n var {\r\n key: key\r\n } = originalEvent;\r\n var keyCode = originalEvent.keyCode || originalEvent.which;\r\n var fastEditingKey = key || keyCode && String.fromCharCode(keyCode);\r\n if (fastEditingKey && (1 === fastEditingKey.length || fastEditingKey === FAST_EDITING_DELETE_KEY)) {\r\n this._startEditing(originalEvent, fastEditingKey)\r\n }\r\n }\r\n return true\r\n }\r\n _pointerEventHandler(e) {\r\n var _a;\r\n var event = e.event || e;\r\n var $target = $(event.currentTarget);\r\n var focusedViewElement = null === (_a = this._rowsView) || void 0 === _a ? void 0 : _a.element();\r\n var $parent = $target.parent();\r\n var isInteractiveElement = $(event.target).is(INTERACTIVE_ELEMENTS_SELECTOR);\r\n var isRevertButton = !!$(event.target).closest(\".\".concat(REVERT_BUTTON_CLASS)).length;\r\n var isExpandCommandCell = $target.hasClass(COMMAND_EXPAND_CLASS);\r\n if (!this._isEventInCurrentGrid(event)) {\r\n return\r\n }\r\n if (!isRevertButton && (this._isCellValid($target, !isInteractiveElement) || isExpandCommandCell)) {\r\n $target = this._isInsideEditForm($target) ? $(event.target) : $target;\r\n this._focusView();\r\n $(focusedViewElement).removeClass(FOCUS_STATE_CLASS);\r\n if ($parent.hasClass(FREESPACE_ROW_CLASS)) {\r\n this._updateFocusedCellPosition($target);\r\n this._applyTabIndexToElement(this._focusedView.element());\r\n this._focusedView.focus(true)\r\n } else if (!this._isMasterDetailCell($target)) {\r\n this._clickTargetCellHandler(event, $target)\r\n } else {\r\n this._updateFocusedCellPosition($target)\r\n }\r\n } else if ($target.is(\"td\")) {\r\n this._resetFocusedCell()\r\n }\r\n }\r\n _clickTargetCellHandler(event, $cell) {\r\n var column = this._getColumnByCellElement($cell);\r\n var isCellEditMode = this._isCellEditMode();\r\n this.setCellFocusType();\r\n var args = this._fireFocusChangingEvents(event, $cell, true);\r\n $cell = args.$newCellElement;\r\n if (!args.cancel) {\r\n if (args.resetFocusedRow) {\r\n this.getController(\"focus\")._resetFocusedRow();\r\n return\r\n }\r\n if (args.rowIndexChanged) {\r\n $cell = this._getFocusedCell()\r\n }\r\n if (!args.isHighlighted && !isCellEditMode) {\r\n this.setRowFocusType()\r\n }\r\n this._updateFocusedCellPosition($cell);\r\n if (this._allowRowUpdating() && isCellEditMode && column && column.allowEditing) {\r\n this._isNeedFocus = false;\r\n this._isHiddenFocus = false\r\n } else {\r\n $cell = this._getFocusedCell();\r\n var $target = event && $(event.target).closest(\"\".concat(NON_FOCUSABLE_ELEMENTS_SELECTOR, \", td\"));\r\n var skipFocusEvent = $target && $target.not($cell).is(NON_FOCUSABLE_ELEMENTS_SELECTOR);\r\n var isEditor = !!column && !column.command && $cell.hasClass(EDITOR_CELL_CLASS);\r\n var isDisabled = !isEditor && (!args.isHighlighted || skipFocusEvent);\r\n this._focus($cell, isDisabled, skipFocusEvent)\r\n }\r\n } else {\r\n this.setRowFocusType();\r\n this.setFocusedRowIndex(args.prevRowIndex);\r\n if (this._editingController.isEditing() && isCellEditMode) {\r\n this._closeEditCell()\r\n }\r\n }\r\n }\r\n _allowRowUpdating() {\r\n var rowIndex = this.getVisibleRowIndex();\r\n var row = this._dataController.items()[rowIndex];\r\n return this._editingController.allowUpdating({\r\n row: row\r\n }, \"click\")\r\n }\r\n focus(element) {\r\n var activeElementSelector;\r\n var focusedRowEnabled = this.option(\"focusedRowEnabled\");\r\n var isHighlighted = this._isCellElement($(element));\r\n if (!element) {\r\n activeElementSelector = \".dx-datagrid-rowsview .dx-row[tabindex]\";\r\n if (!focusedRowEnabled) {\r\n activeElementSelector += \", .dx-datagrid-rowsview .dx-row > td[tabindex]\"\r\n }\r\n element = this.component.$element().find(activeElementSelector).first()\r\n }\r\n element && this._focusElement($(element), isHighlighted)\r\n }\r\n getFocusedView() {\r\n return this._focusedView\r\n }\r\n setupFocusedView() {\r\n if (this.isKeyboardEnabled() && !isDefined(this._focusedView)) {\r\n this._focusView()\r\n }\r\n }\r\n _focusElement($element, isHighlighted) {\r\n var rowsViewElement = $(this._getRowsViewElement());\r\n var $focusedView = $element.closest(rowsViewElement);\r\n var isRowFocusType = this.isRowFocusType();\r\n var args = {};\r\n if (!$focusedView.length || this._isCellElement($element) && !this._isCellValid($element)) {\r\n return\r\n }\r\n this._focusView();\r\n this._isNeedFocus = true;\r\n this._isNeedScroll = true;\r\n if (this._isCellElement($element) || isGroupRow($element)) {\r\n this.setCellFocusType();\r\n args = this._fireFocusChangingEvents(null, $element, true, isHighlighted);\r\n $element = args.$newCellElement;\r\n if (isRowFocusType && !args.isHighlighted) {\r\n this.setRowFocusType()\r\n }\r\n }\r\n if (!args.cancel) {\r\n this._focus($element, !args.isHighlighted);\r\n this._focusInteractiveElement($element)\r\n }\r\n }\r\n _getFocusedViewByElement($element) {\r\n var view = this.getFocusedView();\r\n var $view = view && $(view.element());\r\n return $element && 0 !== $element.closest($view).length\r\n }\r\n _focusView() {\r\n this._focusedView = this._rowsView\r\n }\r\n _resetFocusedView() {\r\n this.setRowFocusType();\r\n this._focusedView = null\r\n }\r\n _focusInteractiveElement($cell, isLast) {\r\n if (!$cell) {\r\n return\r\n }\r\n var $focusedElement = this._getInteractiveElement($cell, isLast);\r\n gridCoreUtils.focusAndSelectElement(this, $focusedElement)\r\n }\r\n _focus($cell, disableFocus, skipFocusEvent) {\r\n var $row = $cell && !$cell.hasClass(ROW_CLASS) ? $cell.closest(\".\".concat(ROW_CLASS)) : $cell;\r\n if ($row && isNotFocusedRow($row)) {\r\n return\r\n }\r\n var focusedView = this._focusedView;\r\n var $focusViewElement = focusedView && focusedView.element();\r\n var $focusElement;\r\n this._isHiddenFocus = disableFocus;\r\n var isRowFocus = isGroupRow($row) || isGroupFooterRow($row) || this.isRowFocusType();\r\n if (isRowFocus) {\r\n $focusElement = $row;\r\n if (focusedView) {\r\n this.setFocusedRowIndex(this._getRowIndex($row))\r\n }\r\n } else if (this._isCellElement($cell)) {\r\n $focusElement = $cell;\r\n this._updateFocusedCellPosition($cell)\r\n }\r\n if ($focusElement) {\r\n if ($focusViewElement) {\r\n $focusViewElement.find(\".dx-row[tabindex], .dx-row > td[tabindex]\").not($focusElement).removeClass(CELL_FOCUS_DISABLED_CLASS).removeClass(FOCUSED_CLASS).removeAttr(\"tabindex\")\r\n }\r\n eventsEngine.one($focusElement, \"blur\", e => {\r\n if (e.relatedTarget) {\r\n $focusElement.removeClass(CELL_FOCUS_DISABLED_CLASS).removeClass(FOCUSED_CLASS)\r\n }\r\n });\r\n if (!skipFocusEvent) {\r\n this._applyTabIndexToElement($focusElement);\r\n eventsEngine.trigger($focusElement, \"focus\")\r\n }\r\n if (disableFocus) {\r\n $focusElement.addClass(CELL_FOCUS_DISABLED_CLASS);\r\n if (isRowFocus) {\r\n $cell.addClass(CELL_FOCUS_DISABLED_CLASS)\r\n }\r\n } else {\r\n this._editorFactory.focus($focusElement)\r\n }\r\n }\r\n }\r\n _updateFocus(isRenderView) {\r\n this._updateFocusTimeout = setTimeout(() => {\r\n if (this._needFocusEditingCell()) {\r\n this._editingController._focusEditingCell();\r\n return\r\n }\r\n var $cell = this._getFocusedCell();\r\n var isEditing = this._editingController.isEditing();\r\n if (!this._isMasterDetailCell($cell) || this._isRowEditMode()) {\r\n if (this._hasSkipRow($cell.parent())) {\r\n var direction = this._focusedCellPosition && this._focusedCellPosition.rowIndex > 0 ? \"upArrow\" : \"downArrow\";\r\n $cell = this._getNextCell(direction)\r\n }\r\n if (isElementDefined($cell)) {\r\n if ($cell.is(\"td\") || $cell.hasClass(this.addWidgetPrefix(EDIT_FORM_ITEM_CLASS))) {\r\n var isCommandCell = $cell.is(COMMAND_CELL_SELECTOR);\r\n var $focusedElementInsideCell = $cell.find(\":focus\");\r\n var isFocusedElementDefined = isElementDefined($focusedElementInsideCell);\r\n var column = this._getColumnByCellElement($cell);\r\n if ((isRenderView || !isCommandCell) && this._editorFactory.focus()) {\r\n if (isCommandCell && isFocusedElementDefined) {\r\n gridCoreUtils.focusAndSelectElement(this, $focusedElementInsideCell);\r\n return\r\n }!isFocusedElementDefined && this._focus($cell)\r\n } else if (!isFocusedElementDefined && (this._isNeedFocus || this._isHiddenFocus)) {\r\n this._focus($cell, this._isHiddenFocus)\r\n }\r\n if (isEditing && !(null === column || void 0 === column ? void 0 : column.showEditorAlways)) {\r\n this._focusInteractiveElement.bind(this)($cell)\r\n }\r\n } else {\r\n eventsEngine.trigger($cell, \"focus\")\r\n }\r\n }\r\n }\r\n })\r\n }\r\n _getColumnByCellElement($cell) {\r\n var cellIndex = this._rowsView.getCellIndex($cell);\r\n var columnIndex = cellIndex + this._columnsController.getColumnIndexOffset();\r\n return this._columnsController.getVisibleColumns(null, true)[columnIndex]\r\n }\r\n _needFocusEditingCell() {\r\n var isCellEditMode = this._editingController.getEditMode() === EDIT_MODE_CELL;\r\n var isBatchEditMode = this._editingController.getEditMode() === EDIT_MODE_BATCH;\r\n var cellEditModeHasChanges = isCellEditMode && this._editingController.hasChanges();\r\n var isNewRowBatchEditMode = isBatchEditMode && this._editingController.isNewRowInEditMode();\r\n var $cell = this._getFocusedCell();\r\n return (0 === $cell.children().length || $cell.find(FOCUSABLE_ELEMENT_SELECTOR).length > 0) && (cellEditModeHasChanges || isNewRowBatchEditMode)\r\n }\r\n _getFocusedCell() {\r\n return $(this._getCell(this._focusedCellPosition))\r\n }\r\n _updateFocusedCellPositionByTarget(target) {\r\n var _a;\r\n var elementType = this._getElementType(target);\r\n if (\"row\" === elementType && isDefined(null === (_a = this._focusedCellPosition) || void 0 === _a ? void 0 : _a.columnIndex)) {\r\n var $row = $(target);\r\n this._focusedView && isGroupRow($row) && this.setFocusedRowIndex(this._getRowIndex($row))\r\n } else {\r\n this._updateFocusedCellPosition(this._getCellElementFromTarget(target))\r\n }\r\n }\r\n _updateFocusedCellPosition($cell, direction) {\r\n var position = this._getCellPosition($cell, direction);\r\n if (position) {\r\n if (!$cell.length || position.rowIndex >= 0 && position.columnIndex >= 0) {\r\n this.setFocusedCellPosition(position.rowIndex, position.columnIndex)\r\n }\r\n }\r\n return position\r\n }\r\n _getFocusedColumnIndexOffset(columnIndex) {\r\n var offset = 0;\r\n var column = this._columnsController.getVisibleColumns()[columnIndex];\r\n if (column && column.fixed) {\r\n offset = this._getFixedColumnIndexOffset(column)\r\n } else if (columnIndex >= 0) {\r\n offset = this._columnsController.getColumnIndexOffset()\r\n }\r\n return offset\r\n }\r\n _getFixedColumnIndexOffset(column) {\r\n var offset = isFixedColumnIndexOffsetRequired(this, column) ? this._getVisibleColumnCount() - this._columnsController.getVisibleColumns().length : 0;\r\n return offset\r\n }\r\n _getCellPosition($cell, direction) {\r\n var columnIndex;\r\n var $row = isElementDefined($cell) && $cell.closest(\"tr\");\r\n if (isElementDefined($row)) {\r\n var rowIndex = this._getRowIndex($row);\r\n columnIndex = this._rowsView.getCellIndex($cell, rowIndex);\r\n columnIndex += this._getFocusedColumnIndexOffset(columnIndex);\r\n if (direction) {\r\n columnIndex = \"previous\" === direction ? columnIndex - 1 : columnIndex + 1;\r\n columnIndex = this._applyColumnIndexBoundaries(columnIndex)\r\n }\r\n return {\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex\r\n }\r\n }\r\n return\r\n }\r\n _focusCell($cell, isDisabled) {\r\n if (this._isCellValid($cell)) {\r\n this._focus($cell, isDisabled);\r\n return true\r\n }\r\n return\r\n }\r\n _focusEditFormCell($cell) {\r\n if ($cell.hasClass(MASTER_DETAIL_CELL_CLASS)) {\r\n this._editorFactory.focus($cell, true)\r\n }\r\n }\r\n _resetFocusedCell(preventScroll) {\r\n var _a;\r\n var $cell = this._getFocusedCell();\r\n isElementDefined($cell) && $cell.removeAttr(\"tabindex\");\r\n this._isNeedFocus = false;\r\n this._isNeedScroll = false;\r\n this._focusedCellPosition = {};\r\n clearTimeout(this._updateFocusTimeout);\r\n null === (_a = this._focusedView) || void 0 === _a ? void 0 : _a.renderFocusState({\r\n preventScroll: preventScroll\r\n })\r\n }\r\n restoreFocusableElement(rowIndex, $event) {\r\n var args;\r\n var $rowElement;\r\n var isUpArrow = isDefined(rowIndex);\r\n var $rowsViewElement = this._rowsView.element();\r\n var {\r\n columnIndex: columnIndex\r\n } = this._focusedCellPosition;\r\n var rowIndexOffset = this._dataController.getRowIndexOffset();\r\n rowIndex = isUpArrow ? rowIndex : this._rowsView.getTopVisibleItemIndex() + rowIndexOffset;\r\n if (!isUpArrow) {\r\n this._editorFactory.loseFocus();\r\n this._applyTabIndexToElement($rowsViewElement);\r\n eventsEngine.trigger($rowsViewElement, \"focus\")\r\n } else {\r\n $rowElement = this._rowsView.getRow(rowIndex - rowIndexOffset);\r\n args = this._fireFocusedRowChanging($event, $rowElement);\r\n if (!args.cancel && args.rowIndexChanged) {\r\n rowIndex = args.newRowIndex\r\n }\r\n }\r\n if (!isUpArrow || !args.cancel) {\r\n this.setFocusedCellPosition(rowIndex, columnIndex)\r\n }\r\n isUpArrow && this._updateFocus()\r\n }\r\n _getNewPositionByCode(cellPosition, elementType, code) {\r\n var {\r\n columnIndex: columnIndex\r\n } = cellPosition;\r\n var {\r\n rowIndex: rowIndex\r\n } = cellPosition;\r\n var visibleColumnsCount;\r\n if (void 0 === cellPosition.rowIndex && \"next\" === code) {\r\n return {\r\n columnIndex: 0,\r\n rowIndex: 0\r\n }\r\n }\r\n switch (code) {\r\n case \"nextInRow\":\r\n case \"next\":\r\n visibleColumnsCount = this._getVisibleColumnCount();\r\n if (columnIndex < visibleColumnsCount - 1 && \"row\" !== elementType && this._hasValidCellAfterPosition({\r\n columnIndex: columnIndex,\r\n rowIndex: rowIndex\r\n })) {\r\n columnIndex++\r\n } else if (!this._isLastRow(rowIndex) && \"next\" === code) {\r\n columnIndex = 0;\r\n rowIndex++\r\n }\r\n break;\r\n case \"previousInRow\":\r\n case \"previous\":\r\n if (columnIndex > 0 && \"row\" !== elementType && this._hasValidCellBeforePosition({\r\n columnIndex: columnIndex,\r\n rowIndex: rowIndex\r\n })) {\r\n columnIndex--\r\n } else if (rowIndex > 0 && \"previous\" === code) {\r\n rowIndex--;\r\n visibleColumnsCount = this._getVisibleColumnCount();\r\n columnIndex = visibleColumnsCount - 1\r\n }\r\n break;\r\n case \"upArrow\":\r\n rowIndex = rowIndex > 0 ? rowIndex - 1 : rowIndex;\r\n break;\r\n case \"downArrow\":\r\n rowIndex = !this._isLastRow(rowIndex) ? rowIndex + 1 : rowIndex\r\n }\r\n return {\r\n columnIndex: columnIndex,\r\n rowIndex: rowIndex\r\n }\r\n }\r\n setFocusedCellPosition(rowIndex, columnIndex) {\r\n this.setFocusedRowIndex(rowIndex);\r\n this.setFocusedColumnIndex(columnIndex)\r\n }\r\n setFocusedRowIndex(rowIndex) {\r\n if (!this._focusedCellPosition) {\r\n this._focusedCellPosition = {}\r\n }\r\n this._focusedCellPosition.rowIndex = rowIndex\r\n }\r\n setFocusedColumnIndex(columnIndex) {\r\n if (!this._focusedCellPosition) {\r\n this._focusedCellPosition = {}\r\n }\r\n this._focusedCellPosition.columnIndex = columnIndex\r\n }\r\n getRowIndex() {\r\n return this._focusedCellPosition ? this._focusedCellPosition.rowIndex : -1\r\n }\r\n getColumnIndex() {\r\n return this._focusedCellPosition ? this._focusedCellPosition.columnIndex : -1\r\n }\r\n getVisibleRowIndex() {\r\n var _a;\r\n var rowIndex = null === (_a = this._focusedCellPosition) || void 0 === _a ? void 0 : _a.rowIndex;\r\n return !isDefined(rowIndex) || rowIndex < 0 ? -1 : rowIndex - this._dataController.getRowIndexOffset()\r\n }\r\n getVisibleColumnIndex() {\r\n var _a;\r\n var columnIndex = null === (_a = this._focusedCellPosition) || void 0 === _a ? void 0 : _a.columnIndex;\r\n return !isDefined(columnIndex) ? -1 : columnIndex - this._columnsController.getColumnIndexOffset()\r\n }\r\n _applyColumnIndexBoundaries(columnIndex) {\r\n var visibleColumnsCount = this._getVisibleColumnCount();\r\n if (columnIndex < 0) {\r\n columnIndex = 0\r\n } else if (columnIndex >= visibleColumnsCount) {\r\n columnIndex = visibleColumnsCount - 1\r\n }\r\n return columnIndex\r\n }\r\n _isCellByPositionValid(cellPosition) {\r\n var $cell = $(this._getCell(cellPosition));\r\n return this._isCellValid($cell)\r\n }\r\n _isLastRow(rowIndex) {\r\n var dataController = this._dataController;\r\n if (this._isVirtualRowRender()) {\r\n return rowIndex >= dataController.getMaxRowIndex()\r\n }\r\n var lastVisibleIndex = Math.max(...dataController.items().map((item, index) => false !== item.visible ? index : -1));\r\n return rowIndex === lastVisibleIndex\r\n }\r\n _isFirstValidCell(cellPosition) {\r\n var isFirstValidCell = false;\r\n if (0 === cellPosition.rowIndex && cellPosition.columnIndex >= 0) {\r\n isFirstValidCell = isFirstValidCell || !this._hasValidCellBeforePosition(cellPosition)\r\n }\r\n return isFirstValidCell\r\n }\r\n _hasValidCellBeforePosition(cellPosition) {\r\n var {\r\n columnIndex: columnIndex\r\n } = cellPosition;\r\n var hasValidCells = false;\r\n while (columnIndex > 0 && !hasValidCells) {\r\n var checkingPosition = {\r\n columnIndex: --columnIndex,\r\n rowIndex: cellPosition.rowIndex\r\n };\r\n hasValidCells = this._isCellByPositionValid(checkingPosition)\r\n }\r\n return hasValidCells\r\n }\r\n _hasValidCellAfterPosition(cellPosition) {\r\n var {\r\n columnIndex: columnIndex\r\n } = cellPosition;\r\n var hasValidCells = false;\r\n var visibleColumnCount = this._getVisibleColumnCount();\r\n while (columnIndex < visibleColumnCount - 1 && !hasValidCells) {\r\n var checkingPosition = {\r\n columnIndex: ++columnIndex,\r\n rowIndex: cellPosition.rowIndex\r\n };\r\n hasValidCells = this._isCellByPositionValid(checkingPosition)\r\n }\r\n return hasValidCells\r\n }\r\n _isLastValidCell(cellPosition) {\r\n var nextColumnIndex = cellPosition.columnIndex >= 0 ? cellPosition.columnIndex + 1 : 0;\r\n var {\r\n rowIndex: rowIndex\r\n } = cellPosition;\r\n var checkingPosition = {\r\n columnIndex: nextColumnIndex,\r\n rowIndex: rowIndex\r\n };\r\n var visibleRows = this._dataController.getVisibleRows();\r\n var row = visibleRows && visibleRows[rowIndex];\r\n var isLastRow = this._isLastRow(rowIndex);\r\n if (!isLastRow) {\r\n return false\r\n }\r\n if (row && \"group\" === row.rowType && cellPosition.columnIndex > 0) {\r\n return true\r\n }\r\n if (cellPosition.columnIndex === this._getVisibleColumnCount() - 1) {\r\n return true\r\n }\r\n if (this._isCellByPositionValid(checkingPosition)) {\r\n return false\r\n }\r\n return this._isLastValidCell(checkingPosition)\r\n }\r\n _isCellValid($cell, isClick) {\r\n if (isElementDefined($cell)) {\r\n var $row = $cell.parent();\r\n var columnIndex = this._rowsView.getCellIndex($cell) + this._columnsController.getColumnIndexOffset();\r\n var column = this._getColumnByCellElement($cell);\r\n var visibleColumnCount = this._getVisibleColumnCount();\r\n var editingController = this._editingController;\r\n var isMasterDetailRow = isDetailRow($row);\r\n var isShowWhenGrouped = column && column.showWhenGrouped;\r\n var isDataCell = column && !$cell.hasClass(COMMAND_EXPAND_CLASS) && isDataRow($row);\r\n var isDragCell = GridCoreKeyboardNavigationDom.isDragCell($cell);\r\n if (isDragCell) {\r\n return false\r\n }\r\n if (this._isMasterDetailCell($cell)) {\r\n return true\r\n }\r\n if (visibleColumnCount > columnIndex && (!isMasterDetailRow && column && (!isDefined(column.groupIndex) || isShowWhenGrouped && isDataCell) || parseInt($cell.attr(\"colspan\"), 10) > 1)) {\r\n var rowItems = this._dataController.items();\r\n var visibleRowIndex = this._rowsView.getRowIndex($row);\r\n var row = rowItems[visibleRowIndex];\r\n var isCellEditing = editingController && this._isCellEditMode() && editingController.isEditing();\r\n var isRowEditingInCurrentRow = editingController && editingController.isEditRow(visibleRowIndex);\r\n var isEditing = isRowEditingInCurrentRow || isCellEditing;\r\n if (column.command) {\r\n if (this._isLegacyNavigation()) {\r\n return !isEditing && \"expand\" === column.command\r\n }\r\n if (isCellEditing) {\r\n return false\r\n }\r\n if (isRowEditingInCurrentRow) {\r\n return \"select\" !== column.command\r\n }\r\n return !isEditing\r\n }\r\n if (isCellEditing && row && \"data\" !== row.rowType) {\r\n return false\r\n }\r\n return !isEditing || column.allowEditing || isClick\r\n }\r\n }\r\n }\r\n getFirstValidCellInRow($row, columnIndex) {\r\n var $cells = $row.find(\"> td\");\r\n var $cell;\r\n var $result;\r\n columnIndex = columnIndex || 0;\r\n for (var i = columnIndex; i < $cells.length; ++i) {\r\n $cell = $cells.eq(i);\r\n if (this._isCellValid($cell)) {\r\n $result = $cell;\r\n break\r\n }\r\n }\r\n return $result\r\n }\r\n _getNextCell(keyCode, elementType, cellPosition) {\r\n var focusedCellPosition = cellPosition || this._focusedCellPosition;\r\n var isRowFocusType = this.isRowFocusType();\r\n var includeCommandCells = isRowFocusType || [\"next\", \"previous\"].includes(keyCode);\r\n var $cell;\r\n var $row;\r\n if (this._focusedView && focusedCellPosition) {\r\n var newFocusedCellPosition = this._getNewPositionByCode(focusedCellPosition, elementType, keyCode);\r\n $cell = $(this._getCell(newFocusedCellPosition));\r\n var isLastCellOnDirection = \"previous\" === keyCode ? this._isFirstValidCell(newFocusedCellPosition) : this._isLastValidCell(newFocusedCellPosition);\r\n if (isElementDefined($cell) && !this._isCellValid($cell) && this._isCellInRow(newFocusedCellPosition, includeCommandCells) && !isLastCellOnDirection) {\r\n if (isRowFocusType) {\r\n $cell = this.getFirstValidCellInRow($cell.parent(), newFocusedCellPosition.columnIndex)\r\n } else {\r\n $cell = this._getNextCell(keyCode, \"cell\", newFocusedCellPosition)\r\n }\r\n }\r\n $row = isElementDefined($cell) && $cell.parent();\r\n if (this._hasSkipRow($row)) {\r\n var rowIndex = this._getRowIndex($row);\r\n if (!this._isLastRow(rowIndex)) {\r\n $cell = this._getNextCell(keyCode, \"row\", {\r\n columnIndex: focusedCellPosition.columnIndex,\r\n rowIndex: rowIndex\r\n })\r\n } else {\r\n return null\r\n }\r\n }\r\n return isElementDefined($cell) ? $cell : null\r\n }\r\n return null\r\n }\r\n _startEditing(eventArgs, fastEditingKey) {\r\n var focusedCellPosition = this._focusedCellPosition;\r\n var visibleRowIndex = this.getVisibleRowIndex();\r\n var visibleColumnIndex = this.getVisibleColumnIndex();\r\n var row = this._dataController.items()[visibleRowIndex];\r\n var column = this._columnsController.getVisibleColumns()[visibleColumnIndex];\r\n if (this._isAllowEditing(row, column)) {\r\n if (this._isRowEditMode()) {\r\n this._editingController.editRow(visibleRowIndex)\r\n } else if (focusedCellPosition) {\r\n this._startEditCell(eventArgs, fastEditingKey)\r\n }\r\n }\r\n }\r\n _isAllowEditing(row, column) {\r\n return this._editingController.allowUpdating({\r\n row: row\r\n }) && column && column.allowEditing\r\n }\r\n _editFocusedCell() {\r\n var rowIndex = this.getVisibleRowIndex();\r\n var colIndex = this.getVisibleColumnIndex();\r\n return this._editingController.editCell(rowIndex, colIndex)\r\n }\r\n _startEditCell(eventArgs, fastEditingKey) {\r\n this._fastEditingStarted = isDefined(fastEditingKey);\r\n var editResult = this._editFocusedCell();\r\n var isEditResultDeferred = isDeferred(editResult);\r\n var isFastEditingStarted = this._isFastEditingStarted();\r\n if (!isFastEditingStarted || !isEditResultDeferred && !editResult) {\r\n return\r\n }\r\n var editorValue = isEditResultDeferred && fastEditingKey === FAST_EDITING_DELETE_KEY ? \"\" : fastEditingKey;\r\n var editResultDeferred = isEditResultDeferred ? editResult : Deferred().resolve();\r\n var waitTemplatesDeferred = this._rowsView.waitAsyncTemplates(true);\r\n when(editResultDeferred, waitTemplatesDeferred).done(() => {\r\n this._editingCellHandler(eventArgs, editorValue)\r\n })\r\n }\r\n _editingCellHandler(eventArgs, editorValue) {\r\n var _a, _b;\r\n var $input = this._getFocusedCell().find(INTERACTIVE_ELEMENTS_SELECTOR).eq(0);\r\n var $inputElement = $input.get(0);\r\n if (!$inputElement) {\r\n return\r\n }\r\n var keyDownEvent = createEvent(eventArgs, {\r\n type: \"keydown\",\r\n target: $inputElement\r\n });\r\n var keyPressEvent = createEvent(eventArgs, {\r\n type: \"keypress\",\r\n target: $inputElement\r\n });\r\n var inputEvent = createEvent(eventArgs, {\r\n type: \"input\",\r\n target: $inputElement\r\n });\r\n if (inputEvent.originalEvent) {\r\n inputEvent.originalEvent = createEvent(inputEvent.originalEvent, {\r\n data: editorValue\r\n })\r\n }\r\n null === (_b = (_a = $inputElement).select) || void 0 === _b ? void 0 : _b.call(_a);\r\n eventsEngine.trigger($input, keyDownEvent);\r\n if (!keyDownEvent.isDefaultPrevented()) {\r\n eventsEngine.trigger($input, keyPressEvent);\r\n if (!keyPressEvent.isDefaultPrevented()) {\r\n var timeout = browser.mozilla ? 25 : 0;\r\n setTimeout(() => {\r\n var inputValue = this._getKeyPressInputValue($input, editorValue);\r\n $input.val(inputValue);\r\n var $widgetContainer = $input.closest(\".\".concat(WIDGET_CLASS));\r\n eventsEngine.off($widgetContainer, \"focusout\");\r\n eventsEngine.one($widgetContainer, \"focusout\", () => {\r\n eventsEngine.trigger($input, \"change\")\r\n });\r\n eventsEngine.trigger($input, inputEvent)\r\n }, timeout)\r\n }\r\n }\r\n }\r\n _getKeyPressInputValue($input, editorValue) {\r\n var inputCurrentValue = $input.val();\r\n return \"-\" === editorValue && \"-0\" === inputCurrentValue ? \"-0\" : editorValue\r\n }\r\n _fireFocusChangingEvents($event, $cell, fireRowEvent, isHighlighted) {\r\n var _a;\r\n var args = {};\r\n var cellPosition = null !== (_a = this._getCellPosition($cell)) && void 0 !== _a ? _a : {};\r\n if (this.isCellFocusType()) {\r\n args = this._fireFocusedCellChanging($event, $cell, isHighlighted);\r\n if (!args.cancel) {\r\n cellPosition.columnIndex = args.newColumnIndex;\r\n cellPosition.rowIndex = args.newRowIndex;\r\n isHighlighted = args.isHighlighted;\r\n $cell = $(this._getCell(cellPosition))\r\n }\r\n }\r\n if (!args.cancel && fireRowEvent && $cell) {\r\n args = this._fireFocusedRowChanging($event, $cell.parent());\r\n if (!args.cancel) {\r\n cellPosition.rowIndex = args.newRowIndex;\r\n args.isHighlighted = isHighlighted\r\n }\r\n }\r\n args.$newCellElement = $(this._getCell(cellPosition));\r\n if (!args.$newCellElement.length) {\r\n args.$newCellElement = $cell\r\n }\r\n return args\r\n }\r\n _fireFocusedCellChanging($event, $cellElement, isHighlighted) {\r\n var prevColumnIndex = this.option(\"focusedColumnIndex\");\r\n var prevRowIndex = this.option(\"focusedRowIndex\");\r\n var cellPosition = this._getCellPosition($cellElement);\r\n var columnIndex = cellPosition ? cellPosition.columnIndex : -1;\r\n var rowIndex = cellPosition ? cellPosition.rowIndex : -1;\r\n var visibleRows = this._dataController.getVisibleRows();\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n var args = {\r\n cellElement: $cellElement,\r\n prevColumnIndex: prevColumnIndex,\r\n prevRowIndex: prevRowIndex,\r\n newColumnIndex: columnIndex,\r\n newRowIndex: rowIndex,\r\n rows: visibleRows,\r\n columns: visibleColumns,\r\n event: $event,\r\n isHighlighted: isHighlighted || false,\r\n cancel: false\r\n };\r\n this._canceledCellPosition = null;\r\n this.executeAction(\"onFocusedCellChanging\", args);\r\n if (args.newColumnIndex !== columnIndex || args.newRowIndex !== rowIndex) {\r\n args.$newCellElement = $(this._getCell({\r\n columnIndex: args.newColumnIndex,\r\n rowIndex: args.newRowIndex\r\n }))\r\n }\r\n if (args.cancel) {\r\n this._canceledCellPosition = {\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex\r\n }\r\n }\r\n return args\r\n }\r\n _fireFocusedCellChanged($cell) {\r\n var columnIndex = this._rowsView.getCellIndex($cell);\r\n var rowOptions = null === $cell || void 0 === $cell ? void 0 : $cell.parent().data(\"options\");\r\n var focusedRowKey = null === rowOptions || void 0 === rowOptions ? void 0 : rowOptions.key;\r\n this._memoFireFocusedCellChanged(focusedRowKey, columnIndex)\r\n }\r\n _memoFireFocusedCellChanged(rowKey, columnIndex) {\r\n var $cell = this._getFocusedCell();\r\n var rowIndex = this._getRowIndex(null === $cell || void 0 === $cell ? void 0 : $cell.parent());\r\n var localRowIndex = Math.min(rowIndex - this._dataController.getRowIndexOffset(), this._dataController.items().length - 1);\r\n var isEditingCell = this._editingController.isEditCell(localRowIndex, columnIndex);\r\n if (isEditingCell) {\r\n return\r\n }\r\n var row = this._dataController.items()[localRowIndex];\r\n var column = this._columnsController.getVisibleColumns()[columnIndex];\r\n this.executeAction(\"onFocusedCellChanged\", {\r\n cellElement: $cell ? getPublicElement($cell) : void 0,\r\n columnIndex: columnIndex,\r\n rowIndex: rowIndex,\r\n row: row,\r\n column: column\r\n })\r\n }\r\n _fireFocusedRowChanging(eventArgs, $newFocusedRow) {\r\n var newRowIndex = this._getRowIndex($newFocusedRow);\r\n var prevFocusedRowIndex = this.option(\"focusedRowIndex\");\r\n var loadingOperationTypes = this._dataController.loadingOperationTypes();\r\n var args = {\r\n rowElement: $newFocusedRow,\r\n prevRowIndex: prevFocusedRowIndex,\r\n newRowIndex: newRowIndex,\r\n event: eventArgs,\r\n rows: this._dataController.getVisibleRows(),\r\n cancel: false\r\n };\r\n var loadingOperations = loadingOperationTypes.sorting || loadingOperationTypes.grouping || loadingOperationTypes.filtering || loadingOperationTypes.paging;\r\n if (!this._dataController || this._dataController.isLoading() && loadingOperations) {\r\n args.cancel = true;\r\n return args\r\n }\r\n if (this.option(\"focusedRowEnabled\")) {\r\n this.executeAction(\"onFocusedRowChanging\", args);\r\n if (!args.cancel && args.newRowIndex !== newRowIndex) {\r\n args.resetFocusedRow = args.newRowIndex < 0;\r\n if (!args.resetFocusedRow) {\r\n this.setFocusedRowIndex(args.newRowIndex)\r\n }\r\n args.rowIndexChanged = true\r\n }\r\n }\r\n return args\r\n }\r\n _fireFocusedRowChanged() {\r\n var _a;\r\n var focusedRowEnabled = this.option(\"focusedRowEnabled\");\r\n var focusedRowKey = this.option(\"focusedRowKey\");\r\n var focusedRowIndex = null === (_a = this._focusController) || void 0 === _a ? void 0 : _a.getFocusedRowIndexByKey(focusedRowKey);\r\n if (!focusedRowEnabled || isDefined(focusedRowKey) && focusedRowIndex < 0) {\r\n return\r\n }\r\n this._memoFireFocusedRowChanged(focusedRowKey, focusedRowIndex)\r\n }\r\n _memoFireFocusedRowChanged(focusedRowKey, focusedRowIndex) {\r\n var localRowIndex = focusedRowIndex - this._dataController.getRowIndexOffset();\r\n this.executeAction(\"onFocusedRowChanged\", {\r\n rowElement: focusedRowIndex < 0 ? void 0 : this._rowsView.getRowElement(localRowIndex),\r\n rowIndex: focusedRowIndex,\r\n row: focusedRowIndex < 0 ? void 0 : this._dataController.getVisibleRows()[localRowIndex]\r\n })\r\n }\r\n _isEventInCurrentGrid(event) {\r\n return gridCoreUtils.isElementInCurrentGrid(this, $(event.target))\r\n }\r\n _isRowEditMode() {\r\n var editMode = this._editingController.getEditMode();\r\n return editMode === EDIT_MODE_ROW || editMode === EDIT_MODE_FORM\r\n }\r\n _isCellEditMode() {\r\n var editMode = this._editingController.getEditMode();\r\n return editMode === EDIT_MODE_CELL || editMode === EDIT_MODE_BATCH\r\n }\r\n _isFastEditingAllowed() {\r\n return this._isCellEditMode() && this.option(\"keyboardNavigation.editOnKeyPress\")\r\n }\r\n _getInteractiveElement($cell, isLast) {\r\n var $focusedElement = $cell.find(INTERACTIVE_ELEMENTS_SELECTOR).filter(\":visible\");\r\n return isLast ? $focusedElement.last() : $focusedElement.first()\r\n }\r\n _applyTabIndexToElement($element) {\r\n var tabIndex = this.option(\"tabIndex\") || 0;\r\n $element.attr(\"tabindex\", isDefined(tabIndex) ? tabIndex : 0)\r\n }\r\n _getCell(cellPosition) {\r\n if (this._focusedView && cellPosition) {\r\n var rowIndexOffset = this._dataController.getRowIndexOffset();\r\n var column = this._columnsController.getVisibleColumns(null, true)[cellPosition.columnIndex];\r\n var columnIndexOffset = column && column.fixed ? this._getFixedColumnIndexOffset(column) : this._columnsController.getColumnIndexOffset();\r\n var rowIndex = cellPosition.rowIndex >= 0 ? cellPosition.rowIndex - rowIndexOffset : -1;\r\n var columnIndex = cellPosition.columnIndex >= 0 ? cellPosition.columnIndex - columnIndexOffset : -1;\r\n return this._focusedView.getCell({\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex\r\n })\r\n }\r\n }\r\n _getRowIndex($row) {\r\n var rowIndex = this._rowsView.getRowIndex($row);\r\n if (rowIndex >= 0) {\r\n rowIndex += this._dataController.getRowIndexOffset()\r\n }\r\n return rowIndex\r\n }\r\n _hasSkipRow($row) {\r\n var row = $row && $row.get(0);\r\n return row && (\"none\" === row.style.display || isDetailRow($row) && !$row.hasClass(this.addWidgetPrefix(EDIT_FORM_CLASS)))\r\n }\r\n _allowEditingOnEnterKey() {\r\n return \"startEdit\" === this.option(\"keyboardNavigation.enterKeyAction\")\r\n }\r\n _isLegacyNavigation() {\r\n return this.option(\"useLegacyKeyboardNavigation\")\r\n }\r\n _getDirectionCodeByKey(key) {\r\n var directionCode;\r\n switch (key) {\r\n case \"upArrow\":\r\n directionCode = \"prevRow\";\r\n break;\r\n case \"downArrow\":\r\n directionCode = \"nextRow\";\r\n break;\r\n case \"leftArrow\":\r\n directionCode = this.option(\"rtlEnabled\") ? \"nextInRow\" : \"previousInRow\";\r\n break;\r\n case \"rightArrow\":\r\n directionCode = this.option(\"rtlEnabled\") ? \"previousInRow\" : \"nextInRow\"\r\n }\r\n return directionCode\r\n }\r\n _isVirtualScrolling() {\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n return \"virtual\" === scrollingMode || \"infinite\" === scrollingMode\r\n }\r\n _isVirtualRowRender() {\r\n return this._isVirtualScrolling() || gridCoreUtils.isVirtualRowRendering(this)\r\n }\r\n _isVirtualColumnRender() {\r\n return \"virtual\" === this.option(\"scrolling.columnRenderingMode\")\r\n }\r\n _scrollBy(left, top, rowIndex, $event) {\r\n var that = this;\r\n var scrollable = this._rowsView.getScrollable();\r\n if (that._focusedCellPosition) {\r\n scrollable.on(\"scroll\", (function scrollHandler() {\r\n scrollable.off(\"scroll\", scrollHandler);\r\n setTimeout(that.restoreFocusableElement.bind(that, rowIndex, $event))\r\n }))\r\n }\r\n return scrollable.scrollBy({\r\n left: left,\r\n top: top\r\n })\r\n }\r\n _isInsideEditForm(element) {\r\n var $editForm = $(element).closest(\".\".concat(this.addWidgetPrefix(EDIT_FORM_CLASS)));\r\n return $editForm.length && this.elementIsInsideGrid($editForm)\r\n }\r\n _isMasterDetailCell(element) {\r\n var $masterDetailCell = $(element).closest(\".\".concat(MASTER_DETAIL_CELL_CLASS));\r\n return $masterDetailCell.length && this.elementIsInsideGrid($masterDetailCell)\r\n }\r\n _processNextCellInMasterDetail($nextCell, _$cell) {\r\n if (!this._isInsideEditForm($nextCell) && $nextCell) {\r\n this._applyTabIndexToElement($nextCell)\r\n }\r\n }\r\n _handleTabKeyOnMasterDetailCell(target, direction) {\r\n if (this._isMasterDetailCell(target)) {\r\n this._updateFocusedCellPosition($(target), direction);\r\n var $nextCell = this._getNextCell(direction, \"row\");\r\n this._processNextCellInMasterDetail($nextCell, $(target));\r\n return true\r\n }\r\n return false\r\n }\r\n _getElementType(target) {\r\n return $(target).is(\"tr\") ? \"row\" : \"cell\"\r\n }\r\n _isFastEditingStarted() {\r\n return this._isFastEditingAllowed() && this._fastEditingStarted\r\n }\r\n _getVisibleColumnCount() {\r\n return this._columnsController.getVisibleColumns(null, true).length\r\n }\r\n _isCellInRow(cellPosition, includeCommandCells) {\r\n var {\r\n columnIndex: columnIndex\r\n } = cellPosition;\r\n var visibleColumnsCount = this._getVisibleColumnCount();\r\n return includeCommandCells ? columnIndex >= 0 && columnIndex <= visibleColumnsCount - 1 : columnIndex > 0 && columnIndex < visibleColumnsCount - 1\r\n }\r\n _isCellElement($element) {\r\n return $element.length && \"TD\" === $element[0].tagName\r\n }\r\n _getCellElementFromTarget(target) {\r\n var elementType = this._getElementType(target);\r\n var $targetElement = $(target);\r\n var $cell;\r\n if (\"cell\" === elementType) {\r\n $cell = $targetElement.closest(\".\".concat(ROW_CLASS, \" > td\"))\r\n } else {\r\n $cell = $targetElement.children().not(\".\".concat(COMMAND_EXPAND_CLASS)).first()\r\n }\r\n return $cell\r\n }\r\n _getRowsViewElement() {\r\n var _a;\r\n return null === (_a = this._rowsView) || void 0 === _a ? void 0 : _a.element()\r\n }\r\n isKeyboardEnabled() {\r\n return this.option(\"keyboardNavigation.enabled\")\r\n }\r\n _processCanceledEditCellPosition(rowIndex, columnIndex) {\r\n if (this._canceledCellPosition) {\r\n var isCanceled = this._canceledCellPosition.rowIndex === rowIndex && this._canceledCellPosition.columnIndex === columnIndex;\r\n this._canceledCellPosition = null;\r\n return isCanceled\r\n }\r\n return\r\n }\r\n updateFocusedRowIndex() {\r\n var dataController = this._dataController;\r\n var visibleRowIndex = this.getVisibleRowIndex();\r\n var visibleItems = dataController.items();\r\n var lastVisibleIndex = visibleItems.length ? visibleItems.length - 1 : -1;\r\n var rowIndexOffset = dataController.getRowIndexOffset();\r\n if (lastVisibleIndex >= 0 && visibleRowIndex > lastVisibleIndex) {\r\n this.setFocusedRowIndex(lastVisibleIndex + rowIndexOffset)\r\n }\r\n }\r\n}\r\nexport var keyboardNavigationModule = {\r\n defaultOptions: () => ({\r\n useLegacyKeyboardNavigation: false,\r\n keyboardNavigation: {\r\n enabled: true,\r\n enterKeyAction: \"startEdit\",\r\n enterKeyDirection: \"none\",\r\n editOnKeyPress: false\r\n }\r\n }),\r\n controllers: {\r\n keyboardNavigation: KeyboardNavigationController\r\n },\r\n extenders: {\r\n views: {\r\n rowsView: {\r\n _rowClick(e) {\r\n var editRowIndex = this.getController(\"editing\").getEditRowIndex();\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n var isKeyboardEnabled = keyboardController.isKeyboardEnabled();\r\n if (editRowIndex === e.rowIndex) {\r\n keyboardController.setCellFocusType()\r\n }\r\n var needTriggerPointerEventHandler = (isMobile() || !isKeyboardEnabled) && this.option(\"focusedRowEnabled\");\r\n if (needTriggerPointerEventHandler) {\r\n this._triggerPointerDownEventHandler(e, !isKeyboardEnabled)\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _triggerPointerDownEventHandler(e, force) {\r\n var {\r\n originalEvent: originalEvent\r\n } = e.event;\r\n if (originalEvent) {\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n var $cell = $(originalEvent.target);\r\n var columnIndex = this.getCellIndex($cell);\r\n var column = this.getController(\"columns\").getVisibleColumns()[columnIndex];\r\n var row = this.getController(\"data\").items()[e.rowIndex];\r\n if (keyboardController._isAllowEditing(row, column) || force) {\r\n var eventArgs = createEvent(originalEvent, {\r\n currentTarget: originalEvent.target\r\n });\r\n keyboardController._pointerEventHandler(eventArgs)\r\n }\r\n }\r\n },\r\n renderFocusState(params) {\r\n var {\r\n preventScroll: preventScroll,\r\n pageSizeChanged: pageSizeChanged\r\n } = null !== params && void 0 !== params ? params : {};\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n var $rowsViewElement = this.element();\r\n if ($rowsViewElement && !focused($rowsViewElement)) {\r\n $rowsViewElement.attr(\"tabindex\", null)\r\n }\r\n pageSizeChanged && keyboardController.updateFocusedRowIndex();\r\n var rowIndex = keyboardController.getVisibleRowIndex();\r\n if (!isDefined(rowIndex) || rowIndex < 0) {\r\n rowIndex = 0\r\n }\r\n var cellElements = this.getCellElements(rowIndex);\r\n if (keyboardController.isKeyboardEnabled() && (null === cellElements || void 0 === cellElements ? void 0 : cellElements.length)) {\r\n this.updateFocusElementTabIndex(cellElements, preventScroll)\r\n }\r\n },\r\n updateFocusElementTabIndex(cellElements) {\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n var $row = cellElements.eq(0).parent();\r\n if (isGroupRow($row)) {\r\n keyboardController._applyTabIndexToElement($row)\r\n } else {\r\n var columnIndex = keyboardController.getColumnIndex();\r\n if (!isDefined(columnIndex) || columnIndex < 0) {\r\n columnIndex = 0\r\n }\r\n this._updateFocusedCellTabIndex(cellElements, columnIndex)\r\n }\r\n },\r\n _updateFocusedCellTabIndex(cellElements, columnIndex) {\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n var cellElementsLength = cellElements ? cellElements.length : -1;\r\n var updateCellTabIndex = function($cell) {\r\n var isMasterDetailCell = keyboardController._isMasterDetailCell($cell);\r\n var isValidCell = keyboardController._isCellValid($cell);\r\n if (!isMasterDetailCell && isValidCell && keyboardController._isCellElement($cell)) {\r\n keyboardController._applyTabIndexToElement($cell);\r\n keyboardController.setCellFocusType();\r\n return true\r\n }\r\n return\r\n };\r\n var $cell = GridCoreKeyboardNavigationDom.getCellToFocus(cellElements, columnIndex);\r\n if ($cell.length) {\r\n updateCellTabIndex($cell)\r\n } else {\r\n if (cellElementsLength <= columnIndex) {\r\n columnIndex = cellElementsLength - 1\r\n }\r\n for (var i = columnIndex; i < cellElementsLength; ++i) {\r\n if (updateCellTabIndex($(cellElements[i]))) {\r\n break\r\n }\r\n }\r\n }\r\n },\r\n renderDelayedTemplates(change) {\r\n this.callBase.apply(this, arguments);\r\n this._renderFocusByChange(change)\r\n },\r\n _renderFocusByChange(change) {\r\n var _a;\r\n var {\r\n operationTypes: operationTypes,\r\n repaintChangesOnly: repaintChangesOnly\r\n } = null !== change && void 0 !== change ? change : {};\r\n var {\r\n fullReload: fullReload,\r\n pageSize: pageSize\r\n } = null !== operationTypes && void 0 !== operationTypes ? operationTypes : {};\r\n var hasInsertsOrRemoves = !!(null === (_a = null === change || void 0 === change ? void 0 : change.changeTypes) || void 0 === _a ? void 0 : _a.find(changeType => \"insert\" === changeType || \"remove\" === changeType));\r\n if (!change || !repaintChangesOnly || fullReload || pageSize || hasInsertsOrRemoves) {\r\n var preventScroll = shouldPreventScroll(this);\r\n this.renderFocusState({\r\n preventScroll: preventScroll,\r\n pageSizeChanged: pageSize\r\n })\r\n }\r\n },\r\n _renderCore(change) {\r\n var deferred = this.callBase.apply(this, arguments);\r\n this._renderFocusByChange(change);\r\n return deferred\r\n },\r\n _editCellPrepared($cell) {\r\n var editorInstance = this._getEditorInstance($cell);\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n var isEditingNavigationMode = keyboardController && keyboardController._isFastEditingStarted();\r\n if (editorInstance && isEditingNavigationMode) {\r\n this._handleEditingNavigationMode(editorInstance)\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _handleEditingNavigationMode(editorInstance) {\r\n [\"downArrow\", \"upArrow\"].forEach(keyName => {\r\n var originalKeyHandler = editorInstance._supportedKeys()[keyName];\r\n editorInstance.registerKeyHandler(keyName, e => {\r\n var isDropDownOpened = \"true\" === editorInstance._input().attr(\"aria-expanded\");\r\n if (isDropDownOpened) {\r\n return originalKeyHandler && originalKeyHandler.call(editorInstance, e)\r\n }\r\n })\r\n });\r\n editorInstance.registerKeyHandler(\"leftArrow\", noop);\r\n editorInstance.registerKeyHandler(\"rightArrow\", noop);\r\n var isDateBoxWithMask = editorInstance.NAME === DATEBOX_WIDGET_NAME && editorInstance.option(\"useMaskBehavior\");\r\n if (isDateBoxWithMask) {\r\n editorInstance.registerKeyHandler(\"enter\", noop)\r\n }\r\n },\r\n _getEditorInstance($cell) {\r\n var $editor = $cell.find(\".dx-texteditor\").eq(0);\r\n return gridCoreUtils.getWidgetInstance($editor)\r\n }\r\n }\r\n },\r\n controllers: {\r\n editing: {\r\n editCell(rowIndex, columnIndex) {\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n if (keyboardController._processCanceledEditCellPosition(rowIndex, columnIndex)) {\r\n return false\r\n }\r\n var isCellEditing = this.callBase(rowIndex, columnIndex);\r\n if (isCellEditing) {\r\n keyboardController.setupFocusedView()\r\n }\r\n return isCellEditing\r\n },\r\n editRow(rowIndex) {\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n var visibleColumnIndex = keyboardController.getVisibleColumnIndex();\r\n var column = this._columnsController.getVisibleColumns()[visibleColumnIndex];\r\n if (column && column.type || this.option(\"editing.mode\") === EDIT_MODE_FORM) {\r\n keyboardController._resetFocusedCell()\r\n }\r\n this.callBase(rowIndex)\r\n },\r\n addRow(parentKey) {\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n keyboardController.setupFocusedView();\r\n keyboardController.setCellFocusType();\r\n return this.callBase.apply(this, arguments)\r\n },\r\n getFocusedCellInRow(rowIndex) {\r\n var keyboardNavigationController = this.getController(\"keyboardNavigation\");\r\n var $cell = this.callBase(rowIndex);\r\n var rowIndexOffset = this._dataController.getRowIndexOffset();\r\n var focusedRowIndex = keyboardNavigationController._focusedCellPosition.rowIndex - rowIndexOffset;\r\n if (keyboardNavigationController.isKeyboardEnabled() && focusedRowIndex === rowIndex) {\r\n var $focusedCell = keyboardNavigationController._getFocusedCell();\r\n if (isElementDefined($focusedCell) && !$focusedCell.hasClass(COMMAND_EDIT_CLASS)) {\r\n $cell = $focusedCell\r\n }\r\n }\r\n return $cell\r\n },\r\n _processCanceledEditingCell() {\r\n this.closeEditCell().done(() => {\r\n var keyboardNavigation = this.getController(\"keyboardNavigation\");\r\n keyboardNavigation._updateFocus()\r\n })\r\n },\r\n init() {\r\n this.callBase();\r\n this._keyboardNavigationController = this.getController(\"keyboardNavigation\")\r\n },\r\n closeEditCell() {\r\n var keyboardNavigation = this._keyboardNavigationController;\r\n keyboardNavigation._fastEditingStarted = false;\r\n var result = this.callBase.apply(this, arguments);\r\n keyboardNavigation._updateFocus();\r\n return result\r\n },\r\n _delayedInputFocus() {\r\n this._keyboardNavigationController._isNeedScroll = true;\r\n this.callBase.apply(this, arguments)\r\n },\r\n _isEditingStart() {\r\n var keyboardNavigation = this.getController(\"keyboardNavigation\");\r\n var cancel = this.callBase.apply(this, arguments);\r\n if (cancel && !keyboardNavigation._isNeedFocus) {\r\n var $cell = keyboardNavigation._getFocusedCell();\r\n keyboardNavigation._focus($cell, true)\r\n }\r\n return cancel\r\n }\r\n },\r\n data: {\r\n _correctRowIndices(getRowIndexCorrection) {\r\n var keyboardNavigationController = this.getController(\"keyboardNavigation\");\r\n var editorFactory = this.getController(\"editorFactory\");\r\n var focusedCellPosition = keyboardNavigationController._focusedCellPosition;\r\n this.callBase.apply(this, arguments);\r\n if (focusedCellPosition && focusedCellPosition.rowIndex >= 0) {\r\n var focusedRowIndexCorrection = getRowIndexCorrection(focusedCellPosition.rowIndex);\r\n if (focusedRowIndexCorrection) {\r\n focusedCellPosition.rowIndex += focusedRowIndexCorrection;\r\n editorFactory.refocus()\r\n }\r\n }\r\n },\r\n getMaxRowIndex() {\r\n var result = this.items().length - 1;\r\n var virtualItemsCount = this.virtualItemsCount();\r\n if (virtualItemsCount) {\r\n var rowIndexOffset = this.getRowIndexOffset();\r\n result += rowIndexOffset + virtualItemsCount.end\r\n }\r\n return result\r\n }\r\n },\r\n adaptiveColumns: {\r\n _showHiddenCellsInView(_ref) {\r\n var {\r\n viewName: viewName,\r\n $cells: $cells,\r\n isCommandColumn: isCommandColumn\r\n } = _ref;\r\n this.callBase.apply(this, arguments);\r\n viewName === COLUMN_HEADERS_VIEW && !isCommandColumn && $cells.each((_, cellElement) => {\r\n var $cell = $(cellElement);\r\n isCellInHeaderRow($cell) && $cell.attr(\"tabindex\", 0)\r\n })\r\n },\r\n _hideVisibleCellInView(_ref2) {\r\n var {\r\n viewName: viewName,\r\n $cell: $cell,\r\n isCommandColumn: isCommandColumn\r\n } = _ref2;\r\n this.callBase.apply(this, arguments);\r\n if (viewName === COLUMN_HEADERS_VIEW && !isCommandColumn && isCellInHeaderRow($cell)) {\r\n $cell.removeAttr(\"tabindex\")\r\n }\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/m_accessibility.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport * as accessibility from \"../../../ui/shared/accessibility\";\r\nexport var registerKeyboardAction = function(viewName, instance, $element, selector, action) {\r\n var keyboardController = instance.getController(\"keyboardNavigation\");\r\n if (instance.option(\"useLegacyKeyboardNavigation\") || keyboardController && !keyboardController.isKeyboardEnabled()) {\r\n return\r\n }\r\n instance.createAction(\"onKeyDown\");\r\n accessibility.registerKeyboardAction(viewName, instance, $element, selector, action, args => {\r\n instance.executeAction(\"onKeyDown\", args)\r\n })\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/m_export.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\n\r\nfunction prepareItems(items, emptyCell) {\r\n var defaultSetter = value => !value ? 1 : value;\r\n var resultItems = [];\r\n var cols = (items[0] || []).reduce((sum, item) => sum + defaultSetter(item.colspan), 0);\r\n var getItem = (items => {\r\n var rowIndex = 0;\r\n var cellIndex = 0;\r\n return () => {\r\n var row = items[rowIndex] || [];\r\n var item = row[cellIndex++];\r\n if (cellIndex >= row.length) {\r\n rowIndex++;\r\n cellIndex = 0\r\n }\r\n if (item) {\r\n item.colspan = defaultSetter(item.colspan);\r\n item.rowspan = defaultSetter(item.rowspan)\r\n }\r\n return item\r\n }\r\n })(items);\r\n var addItem = (rowIndex, cellIndex, item) => {\r\n var row = resultItems[rowIndex] = resultItems[rowIndex] || [];\r\n row[cellIndex] = item;\r\n if (item.colspan > 1 || item.rowspan > 1) {\r\n var clone = (item => extend({}, item, emptyCell))(item);\r\n for (var c = 1; c < item.colspan; c++) {\r\n addItem(rowIndex, cellIndex + c, clone)\r\n }\r\n for (var r = 1; r < item.rowspan; r++) {\r\n for (var _c = 0; _c < item.colspan; _c++) {\r\n addItem(rowIndex + r, cellIndex + _c, clone)\r\n }\r\n }\r\n }\r\n };\r\n var item = getItem();\r\n var rowIndex = 0;\r\n while (item) {\r\n for (var cellIndex = 0; cellIndex < cols; cellIndex++) {\r\n if (!item) {\r\n break\r\n }\r\n if (resultItems[rowIndex] && resultItems[rowIndex][cellIndex]) {\r\n continue\r\n }\r\n addItem(rowIndex, cellIndex, item);\r\n cellIndex += item.colspan - 1;\r\n item = getItem()\r\n }\r\n rowIndex++\r\n }\r\n return resultItems\r\n}\r\nexport {\r\n prepareItems\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/m_modules.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport Class from \"../../../core/class\";\r\nimport $ from \"../../../core/renderer\";\r\nimport Callbacks from \"../../../core/utils/callbacks\";\r\nimport {\r\n grep\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n isFunction\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n hasWindow\r\n} from \"../../../core/utils/window\";\r\nimport messageLocalization from \"../../../localization/message\";\r\nimport errors from \"../../../ui/widget/ui.errors\";\r\nvar WIDGET_WITH_LEGACY_CONTAINER_NAME = \"dxDataGrid\";\r\nvar ModuleItem = Class.inherit({\r\n _endUpdateCore() {},\r\n ctor(component) {\r\n var that = this;\r\n that._updateLockCount = 0;\r\n that.component = component;\r\n that._actions = {};\r\n that._actionConfigs = {};\r\n each(this.callbackNames() || [], (function(index, name) {\r\n var flags = that.callbackFlags(name) || {};\r\n flags.unique = true;\r\n flags.syncStrategy = true;\r\n that[this] = Callbacks(flags)\r\n }))\r\n },\r\n init() {},\r\n callbackNames() {},\r\n callbackFlags() {},\r\n publicMethods() {},\r\n beginUpdate() {\r\n this._updateLockCount++\r\n },\r\n endUpdate() {\r\n if (this._updateLockCount > 0) {\r\n this._updateLockCount--;\r\n if (!this._updateLockCount) {\r\n this._endUpdateCore()\r\n }\r\n }\r\n },\r\n option(name) {\r\n var {\r\n component: component\r\n } = this;\r\n var optionCache = component._optionCache;\r\n if (1 === arguments.length && optionCache) {\r\n if (!(name in optionCache)) {\r\n optionCache[name] = component.option(name)\r\n }\r\n return optionCache[name]\r\n }\r\n return component.option.apply(component, arguments)\r\n },\r\n _silentOption(name, value) {\r\n var {\r\n component: component\r\n } = this;\r\n var optionCache = component._optionCache;\r\n if (optionCache) {\r\n optionCache[name] = value\r\n }\r\n return component._setOptionWithoutOptionChange(name, value)\r\n },\r\n localize(name) {\r\n var optionCache = this.component._optionCache;\r\n if (optionCache) {\r\n if (!(name in optionCache)) {\r\n optionCache[name] = messageLocalization.format(name)\r\n }\r\n return optionCache[name]\r\n }\r\n return messageLocalization.format(name)\r\n },\r\n on() {\r\n return this.component.on.apply(this.component, arguments)\r\n },\r\n off() {\r\n return this.component.off.apply(this.component, arguments)\r\n },\r\n optionChanged(args) {\r\n if (args.name in this._actions) {\r\n this.createAction(args.name, this._actionConfigs[args.name]);\r\n args.handled = true\r\n }\r\n },\r\n getAction(actionName) {\r\n return this._actions[actionName]\r\n },\r\n setAria(name, value, $target) {\r\n var target = $target.get(0);\r\n var prefix = \"role\" !== name && \"id\" !== name ? \"aria-\" : \"\";\r\n if (target.setAttribute) {\r\n target.setAttribute(prefix + name, value)\r\n } else {\r\n $target.attr(prefix + name, value)\r\n }\r\n },\r\n _createComponent() {\r\n return this.component._createComponent.apply(this.component, arguments)\r\n },\r\n getController(name) {\r\n return this.component._controllers[name]\r\n },\r\n createAction(actionName, config) {\r\n if (isFunction(actionName)) {\r\n var action = this.component._createAction(actionName.bind(this), config);\r\n return function(e) {\r\n action({\r\n event: e\r\n })\r\n }\r\n }\r\n this._actions[actionName] = this.component._createActionByOption(actionName, config);\r\n this._actionConfigs[actionName] = config;\r\n return\r\n },\r\n executeAction(actionName, options) {\r\n var action = this._actions[actionName];\r\n return action && action(options)\r\n },\r\n dispose() {\r\n var that = this;\r\n each(that.callbackNames() || [], (function() {\r\n that[this].empty()\r\n }))\r\n },\r\n addWidgetPrefix(className) {\r\n var componentName = this.component.NAME;\r\n return \"dx-\".concat(componentName.slice(2).toLowerCase()).concat(className ? \"-\".concat(className) : \"\")\r\n },\r\n getWidgetContainerClass() {\r\n var containerName = this.component.NAME === WIDGET_WITH_LEGACY_CONTAINER_NAME ? null : \"container\";\r\n return this.addWidgetPrefix(containerName)\r\n },\r\n elementIsInsideGrid($element) {\r\n var $gridElement = $element.closest(\".\".concat(this.getWidgetContainerClass())).parent();\r\n return $gridElement.is(this.component.$element())\r\n }\r\n});\r\nvar Controller = ModuleItem;\r\nvar ViewController = Controller.inherit({\r\n getView(name) {\r\n return this.component._views[name]\r\n },\r\n getViews() {\r\n return this.component._views\r\n }\r\n});\r\nvar View = ModuleItem.inherit({\r\n _isReady() {\r\n return this.component.isReady()\r\n },\r\n _endUpdateCore() {\r\n this.callBase();\r\n if (!this._isReady() && this._requireReady) {\r\n this._requireRender = false;\r\n this.component._requireResize = false\r\n }\r\n if (this._requireRender) {\r\n this._requireRender = false;\r\n this.render(this._$parent)\r\n }\r\n },\r\n _invalidate(requireResize, requireReady) {\r\n this._requireRender = true;\r\n this.component._requireResize = hasWindow() && (this.component._requireResize || requireResize);\r\n this._requireReady = this._requireReady || requireReady\r\n },\r\n _renderCore() {},\r\n _resizeCore() {},\r\n _parentElement() {\r\n return this._$parent\r\n },\r\n ctor(component) {\r\n this.callBase(component);\r\n this.renderCompleted = Callbacks();\r\n this.resizeCompleted = Callbacks()\r\n },\r\n element() {\r\n return this._$element\r\n },\r\n getElementHeight() {\r\n var $element = this.element();\r\n if (!$element) {\r\n return 0\r\n }\r\n var marginTop = parseFloat($element.css(\"marginTop\")) || 0;\r\n var marginBottom = parseFloat($element.css(\"marginBottom\")) || 0;\r\n var {\r\n offsetHeight: offsetHeight\r\n } = $element.get(0);\r\n return offsetHeight + marginTop + marginBottom\r\n },\r\n isVisible: () => true,\r\n getTemplate(name) {\r\n return this.component._getTemplate(name)\r\n },\r\n render($parent, options) {\r\n var $element = this._$element;\r\n var isVisible = this.isVisible();\r\n if (!$element && !$parent) {\r\n return\r\n }\r\n this._requireReady = false;\r\n if (!$element) {\r\n $element = this._$element = $(\"
    \").appendTo($parent);\r\n this._$parent = $parent\r\n }\r\n $element.toggleClass(\"dx-hidden\", !isVisible);\r\n if (isVisible) {\r\n this.component._optionCache = {};\r\n var deferred = this._renderCore(options);\r\n this.component._optionCache = void 0;\r\n if (deferred) {\r\n deferred.done(() => {\r\n this.renderCompleted.fire(options)\r\n })\r\n } else {\r\n this.renderCompleted.fire(options)\r\n }\r\n }\r\n },\r\n resize() {\r\n this.isResizing = true;\r\n this._resizeCore();\r\n this.resizeCompleted.fire();\r\n this.isResizing = false\r\n },\r\n focus(preventScroll) {\r\n this.element().get(0).focus({\r\n preventScroll: preventScroll\r\n })\r\n }\r\n});\r\nvar MODULES_ORDER_MAX_INDEX = 1e6;\r\n\r\nfunction getExtendedTypes(types) {\r\n var moduleExtenders = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n var extendTypes = {};\r\n Object.entries(moduleExtenders).forEach(_ref => {\r\n var [name, extender] = _ref;\r\n var currentType = types[name];\r\n if (currentType) {\r\n if (isFunction(extender)) {\r\n extendTypes[name] = extender(currentType)\r\n } else {\r\n var classType = currentType;\r\n extendTypes[name] = classType.inherit(extender)\r\n }\r\n }\r\n });\r\n return extendTypes\r\n}\r\n\r\nfunction registerPublicMethods(componentInstance, name, moduleItem) {\r\n var publicMethods = moduleItem.publicMethods();\r\n if (publicMethods) {\r\n each(publicMethods, (_, methodName) => {\r\n if (moduleItem[methodName]) {\r\n if (!componentInstance[methodName]) {\r\n componentInstance[methodName] = function() {\r\n return moduleItem[methodName](...arguments)\r\n }\r\n } else {\r\n throw errors.Error(\"E1005\", methodName)\r\n }\r\n } else {\r\n throw errors.Error(\"E1006\", name, methodName)\r\n }\r\n })\r\n }\r\n}\r\nexport function processModules(componentInstance, componentClass) {\r\n var {\r\n modules: modules\r\n } = componentClass;\r\n var {\r\n modulesOrder: modulesOrder\r\n } = componentClass;\r\n\r\n function createModuleItems(moduleTypes) {\r\n var moduleItems = {};\r\n each(moduleTypes, (name, moduleType) => {\r\n var moduleItem = new moduleType(componentInstance);\r\n moduleItem.name = name;\r\n registerPublicMethods(componentInstance, name, moduleItem);\r\n moduleItems[name] = moduleItem\r\n });\r\n return moduleItems\r\n }\r\n if (modulesOrder) {\r\n modules.sort((module1, module2) => {\r\n var orderIndex1 = modulesOrder.indexOf(module1.name);\r\n var orderIndex2 = modulesOrder.indexOf(module2.name);\r\n if (orderIndex1 < 0) {\r\n orderIndex1 = MODULES_ORDER_MAX_INDEX\r\n }\r\n if (orderIndex2 < 0) {\r\n orderIndex2 = MODULES_ORDER_MAX_INDEX\r\n }\r\n return orderIndex1 - orderIndex2\r\n })\r\n }\r\n var rootControllerTypes = {};\r\n var rootViewTypes = {};\r\n modules.forEach(_ref2 => {\r\n var {\r\n name: moduleName,\r\n controllers: controllers = {},\r\n views: views = {}\r\n } = _ref2;\r\n Object.entries(controllers).forEach(_ref3 => {\r\n var [name, type] = _ref3;\r\n var _a;\r\n if (rootControllerTypes[name]) {\r\n throw errors.Error(\"E1001\", moduleName, name)\r\n } else if (!(null === (_a = null === type || void 0 === type ? void 0 : type.subclassOf) || void 0 === _a ? void 0 : _a.call(type, Controller))) {\r\n throw errors.Error(\"E1002\", moduleName, name)\r\n }\r\n rootControllerTypes[name] = type\r\n });\r\n Object.entries(views).forEach(_ref4 => {\r\n var [name, type] = _ref4;\r\n var _a;\r\n if (rootViewTypes[name]) {\r\n throw errors.Error(\"E1003\", moduleName, name)\r\n } else if (!(null === (_a = null === type || void 0 === type ? void 0 : type.subclassOf) || void 0 === _a ? void 0 : _a.call(type, View))) {\r\n throw errors.Error(\"E1004\", moduleName, name)\r\n }\r\n rootViewTypes[name] = type\r\n })\r\n });\r\n var moduleExtenders = modules.filter(_ref5 => {\r\n var {\r\n extenders: extenders\r\n } = _ref5;\r\n return !!extenders\r\n });\r\n var controllerTypes = moduleExtenders.reduce((types, _ref6) => {\r\n var {\r\n extenders: extenders\r\n } = _ref6;\r\n return _extends(_extends({}, types), getExtendedTypes(types, null === extenders || void 0 === extenders ? void 0 : extenders.controllers))\r\n }, rootControllerTypes);\r\n var viewTypes = moduleExtenders.reduce((types, _ref7) => {\r\n var {\r\n extenders: extenders\r\n } = _ref7;\r\n return _extends(_extends({}, types), getExtendedTypes(types, null === extenders || void 0 === extenders ? void 0 : extenders.views))\r\n }, rootViewTypes);\r\n componentInstance._controllers = createModuleItems(controllerTypes);\r\n componentInstance._views = createModuleItems(viewTypes)\r\n}\r\nvar callModuleItemsMethod = function(that, methodName, args) {\r\n args = args || [];\r\n if (that._controllers) {\r\n each(that._controllers, (function() {\r\n this[methodName] && this[methodName].apply(this, args)\r\n }))\r\n }\r\n if (that._views) {\r\n each(that._views, (function() {\r\n this[methodName] && this[methodName].apply(this, args)\r\n }))\r\n }\r\n};\r\nexport default {\r\n modules: [],\r\n View: View,\r\n ViewController: ViewController,\r\n Controller: Controller,\r\n registerModule(name, module) {\r\n var {\r\n modules: modules\r\n } = this;\r\n for (var i = 0; i < modules.length; i++) {\r\n if (modules[i].name === name) {\r\n return\r\n }\r\n }\r\n module.name = name;\r\n modules.push(module)\r\n },\r\n registerModulesOrder(moduleNames) {\r\n this.modulesOrder = moduleNames\r\n },\r\n unregisterModule(name) {\r\n this.modules = grep(this.modules, module => module.name !== name)\r\n },\r\n processModules: processModules,\r\n callModuleItemsMethod: callModuleItemsMethod\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/m_utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n equalByValue\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n toComparable\r\n} from \"../../../core/utils/data\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../../core/utils/position\";\r\nimport {\r\n getHeight\r\n} from \"../../../core/utils/size\";\r\nimport {\r\n format\r\n} from \"../../../core/utils/string\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isString\r\n} from \"../../../core/utils/type\";\r\nimport variableWrapper from \"../../../core/utils/variable_wrapper\";\r\nimport {\r\n getWindow\r\n} from \"../../../core/utils/window\";\r\nimport {\r\n DataSource\r\n} from \"../../../data/data_source/data_source\";\r\nimport {\r\n normalizeDataSourceOptions\r\n} from \"../../../data/data_source/utils\";\r\nimport {\r\n normalizeSortingInfo as normalizeSortingInfoUtility\r\n} from \"../../../data/utils\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport formatHelper from \"../../../format_helper\";\r\nimport LoadPanel from \"../../../ui/load_panel\";\r\nimport sharedFiltering from \"../../../ui/shared/filtering\";\r\nvar DATAGRID_SELECTION_DISABLED_CLASS = \"dx-selection-disabled\";\r\nvar DATAGRID_GROUP_OPENED_CLASS = \"dx-datagrid-group-opened\";\r\nvar DATAGRID_GROUP_CLOSED_CLASS = \"dx-datagrid-group-closed\";\r\nvar DATAGRID_EXPAND_CLASS = \"dx-datagrid-expand\";\r\nvar NO_DATA_CLASS = \"nodata\";\r\nvar SCROLLING_MODE_INFINITE = \"infinite\";\r\nvar SCROLLING_MODE_VIRTUAL = \"virtual\";\r\nvar LEGACY_SCROLLING_MODE = \"scrolling.legacyMode\";\r\nvar SCROLLING_MODE_OPTION = \"scrolling.mode\";\r\nvar ROW_RENDERING_MODE_OPTION = \"scrolling.rowRenderingMode\";\r\nvar DATE_INTERVAL_SELECTORS = {\r\n year: value => value && value.getFullYear(),\r\n month: value => value && value.getMonth() + 1,\r\n day: value => value && value.getDate(),\r\n quarter: value => value && Math.floor(value.getMonth() / 3) + 1,\r\n hour: value => value && value.getHours(),\r\n minute: value => value && value.getMinutes(),\r\n second: value => value && value.getSeconds()\r\n};\r\nvar getIntervalSelector = function() {\r\n var data = arguments[1];\r\n var value = this.calculateCellValue(data);\r\n if (!isDefined(value)) {\r\n return null\r\n }\r\n if (isDateType(this.dataType)) {\r\n var nameIntervalSelector = arguments[0];\r\n return DATE_INTERVAL_SELECTORS[nameIntervalSelector](value)\r\n }\r\n if (\"number\" === this.dataType) {\r\n var groupInterval = arguments[0];\r\n return Math.floor(Number(value) / groupInterval) * groupInterval\r\n }\r\n};\r\nvar equalSelectors = function(selector1, selector2) {\r\n if (isFunction(selector1) && isFunction(selector2)) {\r\n if (selector1.originalCallback && selector2.originalCallback) {\r\n return selector1.originalCallback === selector2.originalCallback && selector1.columnIndex === selector2.columnIndex\r\n }\r\n }\r\n return selector1 === selector2\r\n};\r\n\r\nfunction isDateType(dataType) {\r\n return \"date\" === dataType || \"datetime\" === dataType\r\n}\r\nvar setEmptyText = function($container) {\r\n $container.get(0).textContent = \"\\xa0\"\r\n};\r\nvar normalizeSortingInfo = function(sort) {\r\n sort = sort || [];\r\n var result = normalizeSortingInfoUtility(sort);\r\n for (var i = 0; i < sort.length; i++) {\r\n if (sort && sort[i] && void 0 !== sort[i].isExpanded) {\r\n result[i].isExpanded = sort[i].isExpanded\r\n }\r\n if (sort && sort[i] && void 0 !== sort[i].groupInterval) {\r\n result[i].groupInterval = sort[i].groupInterval\r\n }\r\n }\r\n return result\r\n};\r\nvar formatValue = function(value, options) {\r\n var valueText = formatHelper.format(value, options.format) || value && value.toString() || \"\";\r\n var formatObject = {\r\n value: value,\r\n valueText: options.getDisplayFormat ? options.getDisplayFormat(valueText) : valueText,\r\n target: options.target || \"row\",\r\n groupInterval: options.groupInterval\r\n };\r\n return options.customizeText ? options.customizeText.call(options, formatObject) : formatObject.valueText\r\n};\r\nvar getSummaryText = function(summaryItem, summaryTexts) {\r\n var displayFormat = summaryItem.displayFormat || summaryItem.columnCaption && summaryTexts[\"\".concat(summaryItem.summaryType, \"OtherColumn\")] || summaryTexts[summaryItem.summaryType];\r\n return formatValue(summaryItem.value, {\r\n format: summaryItem.valueFormat,\r\n getDisplayFormat: valueText => displayFormat ? format(displayFormat, valueText, summaryItem.columnCaption) : valueText,\r\n customizeText: summaryItem.customizeText\r\n })\r\n};\r\nvar getWidgetInstance = function($element) {\r\n var editorData = $element.data && $element.data();\r\n var dxComponents = editorData && editorData.dxComponents;\r\n var widgetName = dxComponents && dxComponents[0];\r\n return widgetName && editorData[widgetName]\r\n};\r\nvar equalFilterParameters = function equalFilterParameters(filter1, filter2) {\r\n if (Array.isArray(filter1) && Array.isArray(filter2)) {\r\n if (filter1.length !== filter2.length) {\r\n return false\r\n }\r\n for (var i = 0; i < filter1.length; i++) {\r\n if (!equalFilterParameters(filter1[i], filter2[i])) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n if (isFunction(filter1) && filter1.columnIndex >= 0 && isFunction(filter2) && filter2.columnIndex >= 0) {\r\n return filter1.columnIndex === filter2.columnIndex && toComparable(filter1.filterValue) === toComparable(filter2.filterValue) && toComparable(filter1.selectedFilterOperation) === toComparable(filter2.selectedFilterOperation)\r\n }\r\n return toComparable(filter1) == toComparable(filter2)\r\n};\r\n\r\nfunction normalizeGroupingLoadOptions(group) {\r\n if (!Array.isArray(group)) {\r\n group = [group]\r\n }\r\n return group.map((item, i) => {\r\n if (isString(item)) {\r\n return {\r\n selector: item,\r\n isExpanded: i < group.length - 1\r\n }\r\n }\r\n return item\r\n })\r\n}\r\nexport default {\r\n renderNoDataText($element) {\r\n $element = $element || this.element();\r\n if (!$element) {\r\n return\r\n }\r\n var noDataClass = this.addWidgetPrefix(NO_DATA_CLASS);\r\n var noDataElement = $element.find(\".\".concat(noDataClass)).last();\r\n var isVisible = this._dataController.isEmpty();\r\n var isLoading = this._dataController.isLoading();\r\n if (!noDataElement.length) {\r\n noDataElement = $(\"\").addClass(noDataClass)\r\n }\r\n if (!noDataElement.parent().is($element)) {\r\n noDataElement.appendTo($element)\r\n }\r\n if (isVisible && !isLoading) {\r\n noDataElement.removeClass(\"dx-hidden\").text(this._getNoDataText())\r\n } else {\r\n noDataElement.addClass(\"dx-hidden\")\r\n }\r\n },\r\n renderLoadPanel($element, $container, isLocalStore) {\r\n var loadPanelOptions;\r\n this._loadPanel && this._loadPanel.$element().remove();\r\n loadPanelOptions = this.option(\"loadPanel\");\r\n if (loadPanelOptions && (\"auto\" === loadPanelOptions.enabled ? !isLocalStore : loadPanelOptions.enabled)) {\r\n loadPanelOptions = extend({\r\n shading: false,\r\n message: loadPanelOptions.text,\r\n container: $container\r\n }, loadPanelOptions);\r\n this._loadPanel = this._createComponent($(\"
    \").appendTo($container), LoadPanel, loadPanelOptions)\r\n } else {\r\n this._loadPanel = null\r\n }\r\n },\r\n calculateLoadPanelPosition($element) {\r\n var $window = $(getWindow());\r\n if (getHeight($element) > getHeight($window)) {\r\n return {\r\n of: $window,\r\n boundary: $element,\r\n collision: \"fit\"\r\n }\r\n }\r\n return {\r\n of: $element\r\n }\r\n },\r\n getIndexByKey(key, items, keyName) {\r\n var index = -1;\r\n if (void 0 !== key && Array.isArray(items)) {\r\n keyName = arguments.length <= 2 ? \"key\" : keyName;\r\n for (var i = 0; i < items.length; i++) {\r\n var item = isDefined(keyName) ? items[i][keyName] : items[i];\r\n if (equalByValue(key, item)) {\r\n index = i;\r\n break\r\n }\r\n }\r\n }\r\n return index\r\n },\r\n combineFilters(filters, operation) {\r\n var _a;\r\n var resultFilter = [];\r\n operation = operation || \"and\";\r\n for (var i = 0; i < filters.length; i++) {\r\n if (!filters[i]) {\r\n continue\r\n }\r\n if (1 === (null === (_a = filters[i]) || void 0 === _a ? void 0 : _a.length) && \"!\" === filters[i][0]) {\r\n if (\"and\" === operation) {\r\n return [\"!\"]\r\n }\r\n if (\"or\" === operation) {\r\n continue\r\n }\r\n }\r\n if (resultFilter.length) {\r\n resultFilter.push(operation)\r\n }\r\n resultFilter.push(filters[i])\r\n }\r\n if (1 === resultFilter.length) {\r\n resultFilter = resultFilter[0]\r\n }\r\n if (resultFilter.length) {\r\n return resultFilter\r\n }\r\n return\r\n },\r\n checkChanges(changes, changeNames) {\r\n var changesWithChangeNamesCount = 0;\r\n for (var i = 0; i < changeNames.length; i++) {\r\n if (changes[changeNames[i]]) {\r\n changesWithChangeNamesCount++\r\n }\r\n }\r\n return changes.length && changes.length === changesWithChangeNamesCount\r\n },\r\n equalFilterParameters: equalFilterParameters,\r\n proxyMethod(instance, methodName, defaultResult) {\r\n if (!instance[methodName]) {\r\n instance[methodName] = function() {\r\n var dataSource = this._dataSource;\r\n return dataSource ? dataSource[methodName].apply(dataSource, arguments) : defaultResult\r\n }\r\n }\r\n },\r\n formatValue: formatValue,\r\n getFormatOptionsByColumn: (column, target) => ({\r\n format: column.format,\r\n getDisplayFormat: column.getDisplayFormat,\r\n customizeText: column.customizeText,\r\n target: target,\r\n trueText: column.trueText,\r\n falseText: column.falseText\r\n }),\r\n getDisplayValue(column, value, data, rowType) {\r\n if (column.displayValueMap && void 0 !== column.displayValueMap[value]) {\r\n return column.displayValueMap[value]\r\n }\r\n if (column.calculateDisplayValue && data && \"group\" !== rowType) {\r\n return column.calculateDisplayValue(data)\r\n }\r\n if (column.lookup && !(\"group\" === rowType && (column.calculateGroupValue || column.calculateDisplayValue))) {\r\n return column.lookup.calculateCellValue(value)\r\n }\r\n return value\r\n },\r\n getGroupRowSummaryText(summaryItems, summaryTexts) {\r\n var result = \"(\";\r\n for (var i = 0; i < summaryItems.length; i++) {\r\n var summaryItem = summaryItems[i];\r\n result += (i > 0 ? \", \" : \"\") + getSummaryText(summaryItem, summaryTexts)\r\n }\r\n return result + \")\"\r\n },\r\n getSummaryText: getSummaryText,\r\n normalizeSortingInfo: normalizeSortingInfo,\r\n getFormatByDataType(dataType) {\r\n switch (dataType) {\r\n case \"date\":\r\n return \"shortDate\";\r\n case \"datetime\":\r\n return \"shortDateShortTime\";\r\n default:\r\n return\r\n }\r\n },\r\n getHeaderFilterGroupParameters(column, remoteGrouping) {\r\n var result = [];\r\n var dataField = column.dataField || column.name;\r\n var groupInterval = sharedFiltering.getGroupInterval(column);\r\n if (groupInterval) {\r\n each(groupInterval, (index, interval) => {\r\n result.push(remoteGrouping ? {\r\n selector: dataField,\r\n groupInterval: interval,\r\n isExpanded: index < groupInterval.length - 1\r\n } : getIntervalSelector.bind(column, interval))\r\n });\r\n return result\r\n }\r\n if (remoteGrouping) {\r\n result = [{\r\n selector: dataField,\r\n isExpanded: false\r\n }]\r\n } else {\r\n result = function(data) {\r\n var result = column.calculateCellValue(data);\r\n if (void 0 === result || \"\" === result) {\r\n result = null\r\n }\r\n return result\r\n };\r\n if (column.sortingMethod) {\r\n result = [{\r\n selector: result,\r\n compare: column.sortingMethod.bind(column)\r\n }]\r\n }\r\n }\r\n return result\r\n },\r\n equalSortParameters(sortParameters1, sortParameters2, ignoreIsExpanded) {\r\n sortParameters1 = normalizeSortingInfo(sortParameters1);\r\n sortParameters2 = normalizeSortingInfo(sortParameters2);\r\n if (Array.isArray(sortParameters1) && Array.isArray(sortParameters2)) {\r\n if (sortParameters1.length !== sortParameters2.length) {\r\n return false\r\n }\r\n for (var i = 0; i < sortParameters1.length; i++) {\r\n if (!equalSelectors(sortParameters1[i].selector, sortParameters2[i].selector) || sortParameters1[i].desc !== sortParameters2[i].desc || sortParameters1[i].groupInterval !== sortParameters2[i].groupInterval || !ignoreIsExpanded && Boolean(sortParameters1[i].isExpanded) !== Boolean(sortParameters2[i].isExpanded)) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n return (!sortParameters1 || !sortParameters1.length) === (!sortParameters2 || !sortParameters2.length)\r\n },\r\n getPointsByColumns(items, pointCreated, isVertical, startColumnIndex) {\r\n var cellsLength = items.length;\r\n var notCreatePoint = false;\r\n var item;\r\n var offset;\r\n var columnIndex = startColumnIndex || 0;\r\n var result = [];\r\n var rtlEnabled;\r\n for (var i = 0; i <= cellsLength; i++) {\r\n if (i < cellsLength) {\r\n item = items.eq(i);\r\n offset = item.offset();\r\n rtlEnabled = \"rtl\" === item.css(\"direction\")\r\n }\r\n var point = {\r\n index: columnIndex,\r\n x: offset ? offset.left + (!isVertical && rtlEnabled ^ i === cellsLength ? getBoundingRect(item[0]).width : 0) : 0,\r\n y: offset ? offset.top + (isVertical && i === cellsLength ? getBoundingRect(item[0]).height : 0) : 0,\r\n columnIndex: columnIndex\r\n };\r\n if (!isVertical && i > 0) {\r\n var prevItemOffset = items.eq(i - 1).offset();\r\n if (prevItemOffset.top < point.y) {\r\n point.y = prevItemOffset.top\r\n }\r\n }\r\n if (pointCreated) {\r\n notCreatePoint = pointCreated(point)\r\n }\r\n if (!notCreatePoint) {\r\n result.push(point)\r\n }\r\n columnIndex++\r\n }\r\n return result\r\n },\r\n getExpandCellTemplate: () => ({\r\n allowRenderToDetachedContainer: true,\r\n render(container, options) {\r\n var $container = $(container);\r\n if (isDefined(options.value) && !(options.data && options.data.isContinuation) && !options.row.isNewRow) {\r\n var rowsView = options.component.getView(\"rowsView\");\r\n $container.addClass(DATAGRID_EXPAND_CLASS).addClass(DATAGRID_SELECTION_DISABLED_CLASS);\r\n $(\"
    \").addClass(options.value ? DATAGRID_GROUP_OPENED_CLASS : DATAGRID_GROUP_CLOSED_CLASS).appendTo($container);\r\n rowsView.setAria(\"label\", options.value ? rowsView.localize(\"dxDataGrid-ariaCollapse\") : rowsView.localize(\"dxDataGrid-ariaExpand\"), $container)\r\n } else {\r\n setEmptyText($container)\r\n }\r\n }\r\n }),\r\n setEmptyText: setEmptyText,\r\n isDateType: isDateType,\r\n getSelectionRange(focusedElement) {\r\n try {\r\n if (focusedElement) {\r\n return {\r\n selectionStart: focusedElement.selectionStart,\r\n selectionEnd: focusedElement.selectionEnd\r\n }\r\n }\r\n } catch (e) {}\r\n return {}\r\n },\r\n setSelectionRange(focusedElement, selectionRange) {\r\n try {\r\n if (focusedElement && focusedElement.setSelectionRange) {\r\n focusedElement.setSelectionRange(selectionRange.selectionStart, selectionRange.selectionEnd)\r\n }\r\n } catch (e) {}\r\n },\r\n focusAndSelectElement(component, $element) {\r\n var isFocused = $element.is(\":focus\");\r\n eventsEngine.trigger($element, \"focus\");\r\n var isSelectTextOnEditingStart = component.option(\"editing.selectTextOnEditStart\");\r\n var element = $element.get(0);\r\n if (!isFocused && isSelectTextOnEditingStart && $element.is(\".dx-texteditor-input\") && !$element.is(\"[readonly]\")) {\r\n var editor = getWidgetInstance($element.closest(\".dx-texteditor\"));\r\n when(editor && editor._loadItemDeferred).done(() => {\r\n element.select()\r\n })\r\n }\r\n },\r\n getWidgetInstance: getWidgetInstance,\r\n getLastResizableColumnIndex(columns, resultWidths) {\r\n var hasResizableColumns = columns.some(column => column && !column.command && !column.fixed && false !== column.allowResizing);\r\n var lastColumnIndex;\r\n for (lastColumnIndex = columns.length - 1; columns[lastColumnIndex]; lastColumnIndex--) {\r\n var column = columns[lastColumnIndex];\r\n var width = resultWidths && resultWidths[lastColumnIndex];\r\n var allowResizing = !hasResizableColumns || false !== column.allowResizing;\r\n if (!column.command && !column.fixed && \"adaptiveHidden\" !== width && allowResizing) {\r\n break\r\n }\r\n }\r\n return lastColumnIndex\r\n },\r\n isElementInCurrentGrid(controller, $element) {\r\n if ($element && $element.length) {\r\n var $grid = $element.closest(\".\".concat(controller.getWidgetContainerClass())).parent();\r\n return $grid.is(controller.component.$element())\r\n }\r\n return false\r\n },\r\n isVirtualRowRendering(that) {\r\n var rowRenderingMode = that.option(ROW_RENDERING_MODE_OPTION);\r\n var isVirtualMode = that.option(SCROLLING_MODE_OPTION) === SCROLLING_MODE_VIRTUAL;\r\n var isAppendMode = that.option(SCROLLING_MODE_OPTION) === SCROLLING_MODE_INFINITE;\r\n if (false === that.option(LEGACY_SCROLLING_MODE) && (isVirtualMode || isAppendMode)) {\r\n return true\r\n }\r\n return rowRenderingMode === SCROLLING_MODE_VIRTUAL\r\n },\r\n getPixelRatio: window => window.devicePixelRatio || 1,\r\n getContentHeightLimit(browser) {\r\n if (browser.mozilla) {\r\n return 8e6\r\n }\r\n return 15e6 / this.getPixelRatio(getWindow())\r\n },\r\n normalizeLookupDataSource(lookup) {\r\n var lookupDataSourceOptions;\r\n if (lookup.items) {\r\n lookupDataSourceOptions = lookup.items\r\n } else {\r\n lookupDataSourceOptions = lookup.dataSource;\r\n if (isFunction(lookupDataSourceOptions) && !variableWrapper.isWrapped(lookupDataSourceOptions)) {\r\n lookupDataSourceOptions = lookupDataSourceOptions({})\r\n }\r\n }\r\n return normalizeDataSourceOptions(lookupDataSourceOptions)\r\n },\r\n getWrappedLookupDataSource(column, dataSource, filter) {\r\n if (!dataSource) {\r\n return []\r\n }\r\n var lookupDataSourceOptions = this.normalizeLookupDataSource(column.lookup);\r\n if (column.calculateCellValue !== column.defaultCalculateCellValue) {\r\n return lookupDataSourceOptions\r\n }\r\n var hasGroupPaging = dataSource.remoteOperations().groupPaging;\r\n var hasLookupOptimization = column.displayField && isString(column.displayField);\r\n var cachedUniqueRelevantItems;\r\n var previousTake;\r\n var previousSkip;\r\n var sliceItems = (items, loadOptions) => {\r\n var _a;\r\n var start = null !== (_a = loadOptions.skip) && void 0 !== _a ? _a : 0;\r\n var end = loadOptions.take ? start + loadOptions.take : items.length;\r\n return items.slice(start, end)\r\n };\r\n var lookupDataSource = _extends(_extends({}, lookupDataSourceOptions), {\r\n __dataGridSourceFilter: filter,\r\n load: loadOptions => {\r\n var d = new Deferred;\r\n (loadOptions => {\r\n var group = normalizeGroupingLoadOptions(hasLookupOptimization ? [column.dataField, column.displayField] : column.dataField);\r\n var d = new Deferred;\r\n var canUseCache = cachedUniqueRelevantItems && (!hasGroupPaging || loadOptions.skip === previousSkip && loadOptions.take === previousTake);\r\n if (canUseCache) {\r\n d.resolve(sliceItems(cachedUniqueRelevantItems, loadOptions))\r\n } else {\r\n previousSkip = loadOptions.skip;\r\n previousTake = loadOptions.take;\r\n dataSource.load({\r\n filter: filter,\r\n group: group,\r\n take: hasGroupPaging ? loadOptions.take : void 0,\r\n skip: hasGroupPaging ? loadOptions.skip : void 0\r\n }).done(items => {\r\n cachedUniqueRelevantItems = items;\r\n d.resolve(hasGroupPaging ? items : sliceItems(items, loadOptions))\r\n }).fail(d.fail)\r\n }\r\n return d\r\n })(loadOptions).done(items => {\r\n if (0 === items.length) {\r\n d.resolve([]);\r\n return\r\n }\r\n var filter = this.combineFilters(items.flatMap(data => data.key).map(key => [column.lookup.valueExpr, key]), \"or\");\r\n var newDataSource = new DataSource(_extends(_extends(_extends({}, lookupDataSourceOptions), loadOptions), {\r\n filter: this.combineFilters([filter, loadOptions.filter], \"and\"),\r\n paginate: false\r\n }));\r\n newDataSource.load().done(d.resolve).fail(d.fail)\r\n }).fail(d.fail);\r\n return d\r\n },\r\n key: column.lookup.valueExpr,\r\n byKey(key) {\r\n var d = Deferred();\r\n this.load({\r\n filter: [column.lookup.valueExpr, \"=\", key]\r\n }).done(arr => {\r\n d.resolve(arr[0])\r\n });\r\n return d.promise()\r\n }\r\n });\r\n return lookupDataSource\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/master_detail/m_master_detail.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n grep\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getHeight,\r\n getWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar MASTER_DETAIL_CELL_CLASS = \"dx-master-detail-cell\";\r\nvar MASTER_DETAIL_ROW_CLASS = \"dx-master-detail-row\";\r\nvar CELL_FOCUS_DISABLED_CLASS = \"dx-cell-focus-disabled\";\r\nvar ROW_LINES_CLASS = \"dx-row-lines\";\r\nexport var masterDetailModule = {\r\n defaultOptions: () => ({\r\n masterDetail: {\r\n enabled: false,\r\n autoExpandAll: false,\r\n template: null\r\n }\r\n }),\r\n extenders: {\r\n controllers: {\r\n columns: {\r\n _getExpandColumnsCore() {\r\n var expandColumns = this.callBase();\r\n if (this.option(\"masterDetail.enabled\")) {\r\n expandColumns.push({\r\n type: \"detailExpand\",\r\n cellTemplate: gridCoreUtils.getExpandCellTemplate()\r\n })\r\n }\r\n return expandColumns\r\n }\r\n },\r\n data: function() {\r\n var initMasterDetail = function(that) {\r\n that._expandedItems = [];\r\n that._isExpandAll = that.option(\"masterDetail.autoExpandAll\")\r\n };\r\n return {\r\n init() {\r\n initMasterDetail(this);\r\n this.callBase()\r\n },\r\n expandAll(groupIndex) {\r\n if (groupIndex < 0) {\r\n this._isExpandAll = true;\r\n this._expandedItems = [];\r\n this.updateItems()\r\n } else {\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n collapseAll(groupIndex) {\r\n if (groupIndex < 0) {\r\n this._isExpandAll = false;\r\n this._expandedItems = [];\r\n this.updateItems()\r\n } else {\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n isRowExpanded(key) {\r\n var expandIndex = gridCoreUtils.getIndexByKey(key, this._expandedItems);\r\n if (Array.isArray(key)) {\r\n return this.callBase.apply(this, arguments)\r\n }\r\n return !!(this._isExpandAll ^ (expandIndex >= 0 && this._expandedItems[expandIndex].visible))\r\n },\r\n _getRowIndicesForExpand(key) {\r\n var rowIndex = this.getRowIndexByKey(key);\r\n return [rowIndex, rowIndex + 1]\r\n },\r\n _changeRowExpandCore(key) {\r\n var result;\r\n if (Array.isArray(key)) {\r\n result = this.callBase.apply(this, arguments)\r\n } else {\r\n var expandIndex = gridCoreUtils.getIndexByKey(key, this._expandedItems);\r\n if (expandIndex >= 0) {\r\n var {\r\n visible: visible\r\n } = this._expandedItems[expandIndex];\r\n this._expandedItems[expandIndex].visible = !visible\r\n } else {\r\n this._expandedItems.push({\r\n key: key,\r\n visible: true\r\n })\r\n }\r\n this.updateItems({\r\n changeType: \"update\",\r\n rowIndices: this._getRowIndicesForExpand(key)\r\n });\r\n result = (new Deferred).resolve()\r\n }\r\n return result\r\n },\r\n _processDataItem(data, options) {\r\n var dataItem = this.callBase.apply(this, arguments);\r\n dataItem.isExpanded = this.isRowExpanded(dataItem.key);\r\n if (void 0 === options.detailColumnIndex) {\r\n options.detailColumnIndex = -1;\r\n each(options.visibleColumns, (index, column) => {\r\n if (\"expand\" === column.command && !isDefined(column.groupIndex)) {\r\n options.detailColumnIndex = index;\r\n return false\r\n }\r\n return\r\n })\r\n }\r\n if (options.detailColumnIndex >= 0) {\r\n dataItem.values[options.detailColumnIndex] = dataItem.isExpanded\r\n }\r\n return dataItem\r\n },\r\n _processItems(items, change) {\r\n var that = this;\r\n var {\r\n changeType: changeType\r\n } = change;\r\n var result = [];\r\n items = that.callBase.apply(that, arguments);\r\n if (\"loadingAll\" === changeType) {\r\n return items\r\n }\r\n if (\"refresh\" === changeType) {\r\n that._expandedItems = grep(that._expandedItems, item => item.visible)\r\n }\r\n each(items, (index, item) => {\r\n result.push(item);\r\n var expandIndex = gridCoreUtils.getIndexByKey(item.key, that._expandedItems);\r\n if (\"data\" === item.rowType && (item.isExpanded || expandIndex >= 0) && !item.isNewRow) {\r\n result.push({\r\n visible: item.isExpanded,\r\n rowType: \"detail\",\r\n key: item.key,\r\n data: item.data,\r\n values: []\r\n })\r\n }\r\n });\r\n return result\r\n },\r\n optionChanged(args) {\r\n var isEnabledChanged;\r\n var isAutoExpandAllChanged;\r\n if (\"masterDetail\" === args.name) {\r\n args.name = \"dataSource\";\r\n switch (args.fullName) {\r\n case \"masterDetail\":\r\n var value = args.value || {};\r\n var previousValue = args.previousValue || {};\r\n isEnabledChanged = value.enabled !== previousValue.enabled;\r\n isAutoExpandAllChanged = value.autoExpandAll !== previousValue.autoExpandAll;\r\n break;\r\n case \"masterDetail.template\":\r\n initMasterDetail(this);\r\n break;\r\n case \"masterDetail.enabled\":\r\n isEnabledChanged = true;\r\n break;\r\n case \"masterDetail.autoExpandAll\":\r\n isAutoExpandAllChanged = true\r\n }\r\n if (isEnabledChanged || isAutoExpandAllChanged) {\r\n initMasterDetail(this)\r\n }\r\n }\r\n this.callBase(args)\r\n }\r\n }\r\n }(),\r\n resizing: {\r\n fireContentReadyAction() {\r\n this.callBase.apply(this, arguments);\r\n this._updateParentDataGrids(this.component.$element())\r\n },\r\n _updateParentDataGrids($element) {\r\n var $masterDetailRow = $element.closest(\".\".concat(MASTER_DETAIL_ROW_CLASS));\r\n if ($masterDetailRow.length) {\r\n when(this._updateMasterDataGrid($masterDetailRow, $element)).done(() => {\r\n this._updateParentDataGrids($masterDetailRow.parent())\r\n })\r\n }\r\n },\r\n _updateMasterDataGrid($masterDetailRow, $detailElement) {\r\n var masterRowOptions = $($masterDetailRow).data(\"options\");\r\n var masterDataGrid = $($masterDetailRow).closest(\".\".concat(this.getWidgetContainerClass())).parent().data(\"dxDataGrid\");\r\n if (masterRowOptions && masterDataGrid) {\r\n return this._updateMasterDataGridCore(masterDataGrid, masterRowOptions)\r\n }\r\n },\r\n _updateMasterDataGridCore(masterDataGrid, masterRowOptions) {\r\n var d = Deferred();\r\n if (masterDataGrid.getView(\"rowsView\").isFixedColumns()) {\r\n this._updateFixedMasterDetailGrids(masterDataGrid, masterRowOptions.rowIndex, $(masterRowOptions.rowElement)).done(d.resolve)\r\n } else {\r\n if (true === masterDataGrid.option(\"scrolling.useNative\")) {\r\n masterDataGrid.updateDimensions().done(() => d.resolve(true));\r\n return\r\n }\r\n var scrollable = masterDataGrid.getScrollable();\r\n if (scrollable) {\r\n null === scrollable || void 0 === scrollable ? void 0 : scrollable.update().done(() => d.resolve())\r\n } else {\r\n d.resolve()\r\n }\r\n }\r\n return d.promise()\r\n },\r\n _updateFixedMasterDetailGrids(masterDataGrid, masterRowIndex, $detailElement) {\r\n var d = Deferred();\r\n var $rows = $(masterDataGrid.getRowElement(masterRowIndex));\r\n var $tables = $(masterDataGrid.getView(\"rowsView\").getTableElements());\r\n var rowsNotEqual = 2 === (null === $rows || void 0 === $rows ? void 0 : $rows.length) && getHeight($rows.eq(0)) !== getHeight($rows.eq(1));\r\n var tablesNotEqual = 2 === (null === $tables || void 0 === $tables ? void 0 : $tables.length) && getHeight($tables.eq(0)) !== getHeight($tables.eq(1));\r\n if (rowsNotEqual || tablesNotEqual) {\r\n var detailElementWidth = getWidth($detailElement);\r\n masterDataGrid.updateDimensions().done(() => {\r\n var isDetailHorizontalScrollCanBeShown = this.option(\"columnAutoWidth\") && true === masterDataGrid.option(\"scrolling.useNative\");\r\n var isDetailGridWidthChanged = isDetailHorizontalScrollCanBeShown && detailElementWidth !== getWidth($detailElement);\r\n if (isDetailHorizontalScrollCanBeShown && isDetailGridWidthChanged) {\r\n this.updateDimensions().done(() => d.resolve(true))\r\n } else {\r\n d.resolve(true)\r\n }\r\n });\r\n return d.promise()\r\n }\r\n return Deferred().resolve()\r\n },\r\n _toggleBestFitMode(isBestFit) {\r\n this.callBase.apply(this, arguments);\r\n if (this.option(\"masterDetail.template\")) {\r\n var $rowsTable = this._rowsView.getTableElement();\r\n if ($rowsTable) {\r\n $rowsTable.find(\".dx-master-detail-cell\").css(\"maxWidth\", isBestFit ? 0 : \"\")\r\n }\r\n }\r\n }\r\n }\r\n },\r\n views: {\r\n rowsView: {\r\n _getCellTemplate(options) {\r\n var {\r\n column: column\r\n } = options;\r\n var editingController = this.getController(\"editing\");\r\n var isEditRow = editingController && editingController.isEditRow(options.rowIndex);\r\n var template;\r\n if (\"detail\" === column.command && !isEditRow) {\r\n template = this.option(\"masterDetail.template\") || {\r\n allowRenderToDetachedContainer: false,\r\n render: this._getDefaultTemplate(column)\r\n }\r\n } else {\r\n template = this.callBase.apply(this, arguments)\r\n }\r\n return template\r\n },\r\n _isDetailRow: row => row && row.rowType && 0 === row.rowType.indexOf(\"detail\"),\r\n _createRow(row) {\r\n var $row = this.callBase.apply(this, arguments);\r\n if (row && this._isDetailRow(row)) {\r\n this.option(\"showRowLines\") && $row.addClass(ROW_LINES_CLASS);\r\n $row.addClass(MASTER_DETAIL_ROW_CLASS);\r\n if (isDefined(row.visible)) {\r\n $row.toggle(row.visible)\r\n }\r\n }\r\n return $row\r\n },\r\n _renderCells($row, options) {\r\n var {\r\n row: row\r\n } = options;\r\n var $detailCell;\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n if (row.rowType && this._isDetailRow(row)) {\r\n if (this._needRenderCell(0, options.columnIndices)) {\r\n $detailCell = this._renderCell($row, {\r\n value: null,\r\n row: row,\r\n rowIndex: row.rowIndex,\r\n column: {\r\n command: \"detail\"\r\n },\r\n columnIndex: 0,\r\n change: options.change\r\n });\r\n $detailCell.addClass(CELL_FOCUS_DISABLED_CLASS).addClass(MASTER_DETAIL_CELL_CLASS).attr(\"colSpan\", visibleColumns.length)\r\n }\r\n } else {\r\n this.callBase.apply(this, arguments)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/grid_pager.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Component from \"./common/component\";\r\nexport class GridPagerWrapper extends Component {\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"pageIndex\":\r\n var pageIndexChanged = this.option(\"pageIndexChanged\");\r\n if (pageIndexChanged) {\r\n pageIndexChanged(args.value)\r\n }\r\n break;\r\n case \"pageSize\":\r\n var pageSizeChanged = this.option(\"pageSizeChanged\");\r\n if (pageSizeChanged) {\r\n pageSizeChanged(args.value)\r\n }\r\n }\r\n super._optionChanged(args)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/utils/get_element_width.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport getElementComputedStyle from \"../../../utils/get_computed_style\";\r\nimport {\r\n toNumber\r\n} from \"../../../utils/type_conversion\";\r\nexport function getElementStyle(name, element) {\r\n var _getElementComputedSt;\r\n var computedStyle = null !== (_getElementComputedSt = getElementComputedStyle(element)) && void 0 !== _getElementComputedSt ? _getElementComputedSt : {};\r\n return toNumber(computedStyle[name])\r\n}\r\nexport function getElementContentWidth(element) {\r\n var padding = getElementStyle(\"paddingLeft\", element) + getElementStyle(\"paddingRight\", element);\r\n var width = getElementStyle(\"width\", element);\r\n return width - padding\r\n}\r\nexport function getElementWidth(element) {\r\n var margin = getElementStyle(\"marginLeft\", element) + getElementStyle(\"marginRight\", element);\r\n var width = getElementStyle(\"width\", element);\r\n return margin + width\r\n}\r\nexport function getElementMinWidth(element) {\r\n return getElementStyle(\"minWidth\", element)\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/resizable_container.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"contentTemplate\", \"pagerProps\"];\r\nimport {\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport resizeCallbacks from \"../../../core/utils/resize_callbacks\";\r\nimport {\r\n getElementWidth,\r\n getElementStyle,\r\n getElementContentWidth\r\n} from \"./utils/get_element_width\";\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n contentAttributes: contentAttributes,\r\n infoTextRef: infoTextRef,\r\n infoTextVisible: infoTextVisible,\r\n isLargeDisplayMode: isLargeDisplayMode,\r\n pageSizesRef: pageSizesRef,\r\n pagesRef: pagesRef,\r\n parentRef: parentRef,\r\n props: {\r\n contentTemplate: Content\r\n }\r\n } = _ref;\r\n return Content(_extends({\r\n rootElementRef: parentRef,\r\n pageSizesRef: pageSizesRef,\r\n infoTextRef: infoTextRef,\r\n pagesRef: pagesRef,\r\n infoTextVisible: infoTextVisible,\r\n isLargeDisplayMode: isLargeDisplayMode\r\n }, contentAttributes))\r\n};\r\nexport function calculateLargeDisplayMode(_ref2) {\r\n var {\r\n pageSizes: pageSizesWidth,\r\n pages: pagesWidth,\r\n parent: parentWidth\r\n } = _ref2;\r\n return parentWidth - (pageSizesWidth + pagesWidth) > 0\r\n}\r\nexport function calculateInfoTextVisible(_ref3) {\r\n var {\r\n info: infoWidth,\r\n pageSizes: pageSizesWidth,\r\n pages: pagesWidth,\r\n parent: parentWidth\r\n } = _ref3;\r\n var minimalWidth = pageSizesWidth + pagesWidth + infoWidth;\r\n return parentWidth - minimalWidth > 0\r\n}\r\n\r\nfunction getElementsWidth(_ref4) {\r\n var {\r\n info: info,\r\n pageSizes: pageSizes,\r\n pages: pages,\r\n parent: parent\r\n } = _ref4;\r\n var parentWidth = getElementContentWidth(parent);\r\n var pageSizesWidth = getElementWidth(pageSizes);\r\n var infoWidth = getElementWidth(info);\r\n var pagesHtmlWidth = getElementWidth(pages);\r\n return {\r\n parent: parentWidth,\r\n pageSizes: pageSizesWidth,\r\n info: infoWidth + getElementStyle(\"marginLeft\", info) + getElementStyle(\"marginRight\", info),\r\n pages: pagesHtmlWidth\r\n }\r\n}\r\nexport var ResizableContainerProps = {};\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class ResizableContainer extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.parentRef = infernoCreateRef();\r\n this.pageSizesRef = infernoCreateRef();\r\n this.infoTextRef = infernoCreateRef();\r\n this.pagesRef = infernoCreateRef();\r\n this.actualIsLargeDisplayMode = true;\r\n this.actualInfoTextVisible = true;\r\n this.state = {\r\n infoTextVisible: true,\r\n isLargeDisplayMode: true\r\n };\r\n this.subscribeToResize = this.subscribeToResize.bind(this);\r\n this.effectUpdateChildProps = this.effectUpdateChildProps.bind(this);\r\n this.updateAdaptivityProps = this.updateAdaptivityProps.bind(this)\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.subscribeToResize, [this.state.infoTextVisible, this.state.isLargeDisplayMode]), new InfernoEffect(this.effectUpdateChildProps, [this.props, this.state.infoTextVisible, this.state.isLargeDisplayMode, this.props.pagerProps, this.props.contentTemplate])]\r\n }\r\n updateEffects() {\r\n var _this$_effects$, _this$_effects$2;\r\n null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.state.infoTextVisible, this.state.isLargeDisplayMode]);\r\n null === (_this$_effects$2 = this._effects[1]) || void 0 === _this$_effects$2 ? void 0 : _this$_effects$2.update([this.props, this.state.infoTextVisible, this.state.isLargeDisplayMode, this.props.pagerProps, this.props.contentTemplate])\r\n }\r\n subscribeToResize() {\r\n var callback = () => {\r\n this.parentWidth > 0 && this.updateAdaptivityProps()\r\n };\r\n resizeCallbacks.add(callback);\r\n return () => {\r\n resizeCallbacks.remove(callback)\r\n }\r\n }\r\n effectUpdateChildProps() {\r\n if (this.parentWidth > 0) {\r\n this.updateAdaptivityProps()\r\n }\r\n }\r\n get contentAttributes() {\r\n var {\r\n className: className,\r\n displayMode: displayMode,\r\n gridCompatibility: gridCompatibility,\r\n hasKnownLastPage: hasKnownLastPage,\r\n infoText: infoText,\r\n label: label,\r\n lightModeEnabled: lightModeEnabled,\r\n maxPagesCount: maxPagesCount,\r\n onKeyDown: onKeyDown,\r\n pageCount: pageCount,\r\n pageIndex: pageIndex,\r\n pageIndexChange: pageIndexChange,\r\n pageSize: pageSize,\r\n pageSizeChange: pageSizeChange,\r\n pageSizes: pageSizes,\r\n pagesCountText: pagesCountText,\r\n pagesNavigatorVisible: pagesNavigatorVisible,\r\n rtlEnabled: rtlEnabled,\r\n showInfo: showInfo,\r\n showNavigationButtons: showNavigationButtons,\r\n showPageSizes: showPageSizes,\r\n totalCount: totalCount,\r\n visible: visible\r\n } = this.props.pagerProps;\r\n return _extends({}, this.restAttributes, {\r\n pageSize: pageSize,\r\n pageIndex: pageIndex,\r\n pageIndexChange: pageIndexChange,\r\n pageSizeChange: pageSizeChange,\r\n gridCompatibility: gridCompatibility,\r\n className: className,\r\n showInfo: showInfo,\r\n infoText: infoText,\r\n lightModeEnabled: lightModeEnabled,\r\n displayMode: displayMode,\r\n maxPagesCount: maxPagesCount,\r\n pageCount: pageCount,\r\n pagesCountText: pagesCountText,\r\n visible: visible,\r\n hasKnownLastPage: hasKnownLastPage,\r\n pagesNavigatorVisible: pagesNavigatorVisible,\r\n showPageSizes: showPageSizes,\r\n pageSizes: pageSizes,\r\n rtlEnabled: rtlEnabled,\r\n showNavigationButtons: showNavigationButtons,\r\n totalCount: totalCount,\r\n onKeyDown: onKeyDown,\r\n label: label\r\n })\r\n }\r\n get parentWidth() {\r\n return this.parentRef.current ? getElementWidth(this.parentRef.current) : 0\r\n }\r\n updateAdaptivityProps() {\r\n var currentElementsWidth = getElementsWidth({\r\n parent: this.parentRef.current,\r\n pageSizes: this.pageSizesRef.current,\r\n info: this.infoTextRef.current,\r\n pages: this.pagesRef.current\r\n });\r\n if (this.actualInfoTextVisible !== this.state.infoTextVisible || this.actualIsLargeDisplayMode !== this.state.isLargeDisplayMode) {\r\n return\r\n }\r\n var isEmpty = !isDefined(this.elementsWidth);\r\n if (isEmpty) {\r\n this.elementsWidth = {}\r\n }\r\n if (isEmpty || this.state.isLargeDisplayMode) {\r\n this.elementsWidth.pageSizes = currentElementsWidth.pageSizes;\r\n this.elementsWidth.pages = currentElementsWidth.pages\r\n }\r\n if (isEmpty || this.state.infoTextVisible) {\r\n this.elementsWidth.info = currentElementsWidth.info\r\n }\r\n this.actualIsLargeDisplayMode = calculateLargeDisplayMode(_extends({\r\n parent: currentElementsWidth.parent\r\n }, {\r\n pageSizes: this.elementsWidth.pageSizes,\r\n pages: this.elementsWidth.pages\r\n }));\r\n this.actualInfoTextVisible = calculateInfoTextVisible(_extends({}, currentElementsWidth, {\r\n info: this.elementsWidth.info\r\n }));\r\n this.setState(__state_argument => ({\r\n infoTextVisible: this.actualInfoTextVisible\r\n }));\r\n this.setState(__state_argument => ({\r\n isLargeDisplayMode: this.actualIsLargeDisplayMode\r\n }))\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n contentTemplate: getTemplate(props.contentTemplate)\r\n }),\r\n infoTextVisible: this.state.infoTextVisible,\r\n isLargeDisplayMode: this.state.isLargeDisplayMode,\r\n parentRef: this.parentRef,\r\n pageSizesRef: this.pageSizesRef,\r\n infoTextRef: this.infoTextRef,\r\n pagesRef: this.pagesRef,\r\n contentAttributes: this.contentAttributes,\r\n parentWidth: this.parentWidth,\r\n updateAdaptivityProps: this.updateAdaptivityProps,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nResizableContainer.defaultProps = ResizableContainerProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/common/base_pager_props.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport messageLocalization from \"../../../../localization/message\";\r\nexport var BasePagerProps = {\r\n gridCompatibility: true,\r\n showInfo: false,\r\n displayMode: \"adaptive\",\r\n maxPagesCount: 10,\r\n pageCount: 10,\r\n visible: true,\r\n hasKnownLastPage: true,\r\n pagesNavigatorVisible: \"auto\",\r\n showPageSizes: true,\r\n pageSizes: Object.freeze([5, 10]),\r\n showNavigationButtons: false,\r\n totalCount: 0,\r\n get label() {\r\n return messageLocalization.format(\"dxPager-ariaLabel\")\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/common/pager_props.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n BasePagerProps\r\n} from \"./base_pager_props\";\r\nexport var PagerProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(BasePagerProps), Object.getOwnPropertyDescriptors({\r\n defaultPageSize: 5,\r\n pageSizeChange: () => {},\r\n defaultPageIndex: 1,\r\n pageIndexChange: () => {}\r\n})));\r\nexport var InternalPagerProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(BasePagerProps), Object.getOwnPropertyDescriptors({\r\n pageSize: 5,\r\n pageIndex: 1\r\n})));\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/info.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"infoText\", \"pageCount\", \"pageIndex\", \"rootElementRef\", \"totalCount\"];\r\nimport {\r\n createVNode\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n format\r\n} from \"../../../core/utils/string\";\r\nimport messageLocalization from \"../../../localization/message\";\r\nimport {\r\n InternalPagerProps\r\n} from \"./common/pager_props\";\r\nexport var PAGER_INFO_CLASS = \"dx-info\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n props: {\r\n rootElementRef: rootElementRef\r\n },\r\n text: text\r\n } = _ref;\r\n return createVNode(1, \"div\", PAGER_INFO_CLASS, text, 0, null, null, rootElementRef)\r\n};\r\nexport var InfoTextProps = {};\r\nvar InfoTextPropsType = {\r\n get pageIndex() {\r\n return InternalPagerProps.pageIndex\r\n },\r\n get pageCount() {\r\n return InternalPagerProps.pageCount\r\n },\r\n get totalCount() {\r\n return InternalPagerProps.totalCount\r\n }\r\n};\r\nexport class InfoText extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get infoText() {\r\n var _this$props$infoText;\r\n return (null !== (_this$props$infoText = this.props.infoText) && void 0 !== _this$props$infoText ? _this$props$infoText : \"\") || messageLocalization.getFormatter(\"dxPager-infoText\")()\r\n }\r\n get text() {\r\n var {\r\n pageCount: pageCount,\r\n pageIndex: pageIndex,\r\n totalCount: totalCount\r\n } = this.props;\r\n return format(this.infoText, (pageIndex + 1).toString(), pageCount.toString(), totalCount.toString())\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n infoText: this.infoText,\r\n text: this.text,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nInfoText.defaultProps = InfoTextPropsType;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/common/keyboard_action_context.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n createContext\r\n} from \"@devextreme/runtime/inferno\";\r\nexport var KeyboardActionContext = createContext(void 0);\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/common/light_button.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"children\", \"className\", \"label\", \"onClick\", \"selected\", \"tabIndex\"];\r\nimport {\r\n createVNode\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n subscribeToClickEvent\r\n} from \"../../../utils/subscribe_to_event\";\r\nimport {\r\n KeyboardActionContext\r\n} from \"./keyboard_action_context\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n props: {\r\n children: children,\r\n className: className,\r\n label: label,\r\n selected: selected,\r\n tabIndex: tabIndex\r\n },\r\n widgetRef: widgetRef\r\n } = _ref;\r\n return createVNode(1, \"div\", className, children, 0, {\r\n tabIndex: tabIndex,\r\n role: \"button\",\r\n \"aria-label\": label,\r\n \"aria-current\": selected ? \"page\" : void 0\r\n }, null, widgetRef)\r\n};\r\nexport var LightButtonProps = {\r\n className: \"\",\r\n label: \"\",\r\n tabIndex: 0,\r\n selected: false\r\n};\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class LightButton extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.widgetRef = infernoCreateRef();\r\n this.keyboardEffect = this.keyboardEffect.bind(this);\r\n this.subscribeToClick = this.subscribeToClick.bind(this)\r\n }\r\n get keyboardContext() {\r\n if (this.context[KeyboardActionContext.id]) {\r\n return this.context[KeyboardActionContext.id]\r\n }\r\n return KeyboardActionContext.defaultValue\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.keyboardEffect, [this.keyboardContext, this.props.onClick]), new InfernoEffect(this.subscribeToClick, [this.props.onClick])]\r\n }\r\n updateEffects() {\r\n var _this$_effects$, _this$_effects$2;\r\n null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.keyboardContext, this.props.onClick]);\r\n null === (_this$_effects$2 = this._effects[1]) || void 0 === _this$_effects$2 ? void 0 : _this$_effects$2.update([this.props.onClick])\r\n }\r\n keyboardEffect() {\r\n return this.keyboardContext.registerKeyboardAction(this.widgetRef.current, this.props.onClick)\r\n }\r\n subscribeToClick() {\r\n return subscribeToClickEvent(this.widgetRef.current, this.props.onClick)\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n widgetRef: this.widgetRef,\r\n keyboardContext: this.keyboardContext,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nLightButton.defaultProps = LightButtonProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/common/consts.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var PAGER_CLASS = \"dx-pager\";\r\nexport var LIGHT_MODE_CLASS = \"dx-light-mode\";\r\nexport var PAGER_PAGES_CLASS = \"dx-pages\";\r\nexport var PAGER_PAGE_INDEXES_CLASS = \"dx-page-indexes\";\r\nexport var PAGER_PAGE_CLASS = \"dx-page\";\r\nexport var PAGER_SELECTION_CLASS = \"dx-selection\";\r\nexport var PAGER_PAGE_SIZE_CLASS = \"dx-page-size\";\r\nexport var PAGER_PAGE_SIZES_CLASS = \"dx-page-sizes\";\r\nexport var PAGER_SELECTED_PAGE_SIZE_CLASS = \"\".concat(PAGER_PAGE_SIZE_CLASS, \" \").concat(PAGER_SELECTION_CLASS);\r\nexport var FIRST_CHILD_CLASS = \"dx-first-child\";\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/pages/page.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"className\", \"index\", \"onClick\", \"selected\"];\r\nimport {\r\n createComponentVNode\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n LightButton\r\n} from \"../common/light_button\";\r\nimport {\r\n PAGER_PAGE_CLASS,\r\n PAGER_SELECTION_CLASS\r\n} from \"../common/consts\";\r\nimport {\r\n combineClasses\r\n} from \"../../../utils/combine_classes\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport {\r\n format\r\n} from \"../../../../core/utils/string\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n className: className,\r\n label: label,\r\n props: {\r\n onClick: onClick,\r\n selected: selected\r\n },\r\n value: value\r\n } = _ref;\r\n return createComponentVNode(2, LightButton, {\r\n className: className,\r\n label: label,\r\n onClick: onClick,\r\n selected: selected,\r\n children: value\r\n })\r\n};\r\nexport var PageProps = {\r\n index: 0,\r\n selected: false,\r\n className: PAGER_PAGE_CLASS\r\n};\r\nexport class Page extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get label() {\r\n return format(messageLocalization.getFormatter(\"dxPager-page\"), this.value)\r\n }\r\n get value() {\r\n return this.props.index + 1\r\n }\r\n get className() {\r\n var {\r\n selected: selected\r\n } = this.props;\r\n return combineClasses({\r\n [\"\".concat(this.props.className)]: !!this.props.className,\r\n [PAGER_SELECTION_CLASS]: !!selected\r\n })\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n label: this.label,\r\n value: this.value,\r\n className: this.className,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nPage.defaultProps = PageProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/pages/large.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"pageIndexes\"],\r\n _excluded2 = [\"maxPagesCount\", \"pageCount\", \"pageIndex\", \"pageIndexChange\"];\r\nimport {\r\n createVNode,\r\n createFragment,\r\n createComponentVNode\r\n} from \"inferno\";\r\nimport {\r\n Fragment\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n Page\r\n} from \"./page\";\r\nimport {\r\n InternalPagerProps\r\n} from \"../common/pager_props\";\r\nimport {\r\n ConfigContext\r\n} from \"../../../common/config_context\";\r\nvar PAGER_PAGE_SEPARATOR_CLASS = \"dx-separator\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n pages: pages\r\n } = _ref;\r\n var PagesMarkup = pages.map(_ref2 => {\r\n var {\r\n key: key,\r\n pageProps: pageProps\r\n } = _ref2;\r\n return pageProps ? createComponentVNode(2, Page, {\r\n index: pageProps.index,\r\n selected: pageProps.selected,\r\n onClick: pageProps.onClick\r\n }, key) : createVNode(1, \"div\", PAGER_PAGE_SEPARATOR_CLASS, \". . .\", 16, null, key)\r\n });\r\n return createFragment(PagesMarkup, 0)\r\n};\r\nvar PAGES_LIMITER = 4;\r\n\r\nfunction getDelimiterType(startIndex, slidingWindowSize, pageCount) {\r\n if (1 === startIndex) {\r\n return \"high\"\r\n }\r\n if (startIndex + slidingWindowSize === pageCount - 1) {\r\n return \"low\"\r\n }\r\n return \"both\"\r\n}\r\n\r\nfunction createPageIndexesBySlidingWindowIndexes(slidingWindowIndexes, pageCount, delimiter) {\r\n var pageIndexes = [];\r\n var indexesForReuse = [];\r\n switch (delimiter) {\r\n case \"none\":\r\n pageIndexes = [...slidingWindowIndexes];\r\n break;\r\n case \"both\":\r\n pageIndexes = [0, \"low\", ...slidingWindowIndexes, \"high\", pageCount - 1];\r\n indexesForReuse = slidingWindowIndexes.slice(1, -1);\r\n break;\r\n case \"high\":\r\n pageIndexes = [0, ...slidingWindowIndexes, \"high\", pageCount - 1];\r\n indexesForReuse = slidingWindowIndexes.slice(0, -1);\r\n break;\r\n case \"low\":\r\n pageIndexes = [0, \"low\", ...slidingWindowIndexes, pageCount - 1];\r\n indexesForReuse = slidingWindowIndexes.slice(1)\r\n }\r\n return {\r\n slidingWindowIndexes: slidingWindowIndexes,\r\n indexesForReuse: indexesForReuse,\r\n pageIndexes: pageIndexes\r\n }\r\n}\r\n\r\nfunction createPageIndexes(startIndex, slidingWindowSize, pageCount, delimiter) {\r\n var slidingWindowIndexes = [];\r\n for (var i = 0; i < slidingWindowSize; i += 1) {\r\n slidingWindowIndexes.push(i + startIndex)\r\n }\r\n return createPageIndexesBySlidingWindowIndexes(slidingWindowIndexes, pageCount, delimiter)\r\n}\r\nvar PagesLargePropsType = {\r\n get pageIndex() {\r\n return InternalPagerProps.pageIndex\r\n },\r\n get maxPagesCount() {\r\n return InternalPagerProps.maxPagesCount\r\n },\r\n get pageCount() {\r\n return InternalPagerProps.pageCount\r\n }\r\n};\r\nexport class PagesLarge extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.canReuseSlidingWindow = this.canReuseSlidingWindow.bind(this);\r\n this.generatePageIndexes = this.generatePageIndexes.bind(this);\r\n this.isSlidingWindowMode = this.isSlidingWindowMode.bind(this);\r\n this.onPageClick = this.onPageClick.bind(this)\r\n }\r\n get config() {\r\n if (this.context[ConfigContext.id]) {\r\n return this.context[ConfigContext.id]\r\n }\r\n return ConfigContext.defaultValue\r\n }\r\n get slidingWindowState() {\r\n var slidingWindowState = this.slidingWindowStateHolder;\r\n if (!slidingWindowState) {\r\n return {\r\n indexesForReuse: [],\r\n slidingWindowIndexes: []\r\n }\r\n }\r\n return slidingWindowState\r\n }\r\n canReuseSlidingWindow(currentPageCount, pageIndex) {\r\n var {\r\n indexesForReuse: indexesForReuse\r\n } = this.slidingWindowState;\r\n var lastPageIsFartherThanWindow = indexesForReuse.slice(-1)[0] < currentPageCount - 1;\r\n var pageIndexExistInIndexes = indexesForReuse.includes(pageIndex);\r\n return lastPageIsFartherThanWindow && pageIndexExistInIndexes\r\n }\r\n generatePageIndexes() {\r\n var {\r\n pageCount: pageCount,\r\n pageIndex: pageIndex\r\n } = this.props;\r\n var startIndex = 0;\r\n var {\r\n slidingWindowIndexes: slidingWindowIndexes\r\n } = this.slidingWindowState;\r\n if (pageIndex === slidingWindowIndexes[0]) {\r\n startIndex = pageIndex - 1\r\n } else if (pageIndex === slidingWindowIndexes[slidingWindowIndexes.length - 1]) {\r\n startIndex = pageIndex + 2 - PAGES_LIMITER\r\n } else if (pageIndex < PAGES_LIMITER) {\r\n startIndex = 1\r\n } else if (pageIndex >= pageCount - PAGES_LIMITER) {\r\n startIndex = pageCount - PAGES_LIMITER - 1\r\n } else {\r\n startIndex = pageIndex - 1\r\n }\r\n var slidingWindowSize = PAGES_LIMITER;\r\n var delimiter = getDelimiterType(startIndex, slidingWindowSize, pageCount);\r\n var _createPageIndexes = createPageIndexes(startIndex, slidingWindowSize, pageCount, delimiter),\r\n {\r\n pageIndexes: pageIndexes\r\n } = _createPageIndexes,\r\n slidingWindowState = _objectWithoutPropertiesLoose(_createPageIndexes, _excluded);\r\n this.slidingWindowStateHolder = slidingWindowState;\r\n return pageIndexes\r\n }\r\n isSlidingWindowMode() {\r\n var {\r\n maxPagesCount: maxPagesCount,\r\n pageCount: pageCount\r\n } = this.props;\r\n return pageCount <= PAGES_LIMITER || pageCount <= maxPagesCount\r\n }\r\n onPageClick(pageIndex) {\r\n this.props.pageIndexChange(pageIndex)\r\n }\r\n get pageIndexes() {\r\n var {\r\n pageCount: pageCount\r\n } = this.props;\r\n if (this.isSlidingWindowMode()) {\r\n return createPageIndexes(0, pageCount, pageCount, \"none\").pageIndexes\r\n }\r\n if (this.canReuseSlidingWindow(pageCount, this.props.pageIndex)) {\r\n var {\r\n slidingWindowIndexes: slidingWindowIndexes\r\n } = this.slidingWindowState;\r\n var delimiter = getDelimiterType(slidingWindowIndexes[0], PAGES_LIMITER, pageCount);\r\n return createPageIndexesBySlidingWindowIndexes(slidingWindowIndexes, pageCount, delimiter).pageIndexes\r\n }\r\n return this.generatePageIndexes()\r\n }\r\n get pages() {\r\n var _this$config;\r\n var {\r\n pageIndex: pageIndex\r\n } = this.props;\r\n var createPage = index => {\r\n var pagerProps = \"low\" === index || \"high\" === index ? null : {\r\n index: index,\r\n onClick: () => this.onPageClick(index),\r\n selected: pageIndex === index\r\n };\r\n return {\r\n key: index.toString(),\r\n pageProps: pagerProps\r\n }\r\n };\r\n var rtlPageIndexes = null !== (_this$config = this.config) && void 0 !== _this$config && _this$config.rtlEnabled ? [...this.pageIndexes].reverse() : this.pageIndexes;\r\n return rtlPageIndexes.map(index => createPage(index))\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded2);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n config: this.config,\r\n pageIndexes: this.pageIndexes,\r\n pages: this.pages,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nPagesLarge.defaultProps = PagesLargePropsType;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/common/editor_state_props.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../../../../core/devices\";\r\nexport var EditorStateProps = {\r\n hoverStateEnabled: true,\r\n activeStateEnabled: true,\r\n get focusStateEnabled() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/common/editor_label_props.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isMaterial,\r\n current\r\n} from \"../../../../ui/themes\";\r\nexport var EditorLabelProps = {\r\n label: \"\",\r\n get labelMode() {\r\n return isMaterial(current()) ? \"floating\" : \"static\"\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/number_box.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"accessKey\", \"activeStateEnabled\", \"className\", \"defaultValue\", \"disabled\", \"focusStateEnabled\", \"height\", \"hint\", \"hoverStateEnabled\", \"inputAttr\", \"invalidValueMessage\", \"isValid\", \"label\", \"labelMode\", \"max\", \"min\", \"mode\", \"name\", \"onClick\", \"onFocusIn\", \"onKeyDown\", \"readOnly\", \"rtlEnabled\", \"showSpinButtons\", \"step\", \"tabIndex\", \"useLargeSpinButtons\", \"validationError\", \"validationErrors\", \"validationMessageMode\", \"validationMessagePosition\", \"validationStatus\", \"value\", \"valueChange\", \"visible\", \"width\"];\r\nimport {\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport LegacyNumberBox from \"../../../ui/number_box\";\r\nimport {\r\n DomComponentWrapper\r\n} from \"../common/dom_component_wrapper\";\r\nimport {\r\n EditorProps\r\n} from \"./common/editor\";\r\nimport {\r\n EditorStateProps\r\n} from \"./common/editor_state_props\";\r\nimport {\r\n EditorLabelProps\r\n} from \"./common/editor_label_props\";\r\nvar DEFAULT_VALUE = 0;\r\nexport var viewFunction = _ref => {\r\n var {\r\n componentProps: componentProps,\r\n restAttributes: restAttributes\r\n } = _ref;\r\n return normalizeProps(createComponentVNode(2, DomComponentWrapper, _extends({\r\n componentType: LegacyNumberBox,\r\n componentProps: componentProps,\r\n templateNames: []\r\n }, restAttributes)))\r\n};\r\nexport var NumberBoxProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(EditorProps), Object.getOwnPropertyDescriptors({\r\n defaultValue: DEFAULT_VALUE,\r\n isReactComponentWrapper: true\r\n})));\r\nexport var NumberBoxPropsType = {\r\n get defaultValue() {\r\n return NumberBoxProps.defaultValue\r\n },\r\n get readOnly() {\r\n return NumberBoxProps.readOnly\r\n },\r\n get name() {\r\n return NumberBoxProps.name\r\n },\r\n get validationError() {\r\n return NumberBoxProps.validationError\r\n },\r\n get validationErrors() {\r\n return NumberBoxProps.validationErrors\r\n },\r\n get validationMessageMode() {\r\n return NumberBoxProps.validationMessageMode\r\n },\r\n get validationMessagePosition() {\r\n return NumberBoxProps.validationMessagePosition\r\n },\r\n get validationStatus() {\r\n return NumberBoxProps.validationStatus\r\n },\r\n get isValid() {\r\n return NumberBoxProps.isValid\r\n },\r\n get inputAttr() {\r\n return NumberBoxProps.inputAttr\r\n },\r\n get className() {\r\n return NumberBoxProps.className\r\n },\r\n get activeStateEnabled() {\r\n return EditorStateProps.activeStateEnabled\r\n },\r\n get disabled() {\r\n return NumberBoxProps.disabled\r\n },\r\n get focusStateEnabled() {\r\n return EditorStateProps.focusStateEnabled\r\n },\r\n get hoverStateEnabled() {\r\n return EditorStateProps.hoverStateEnabled\r\n },\r\n get tabIndex() {\r\n return NumberBoxProps.tabIndex\r\n },\r\n get visible() {\r\n return NumberBoxProps.visible\r\n },\r\n get label() {\r\n return EditorLabelProps.label\r\n },\r\n get labelMode() {\r\n return EditorLabelProps.labelMode\r\n },\r\n isReactComponentWrapper: true\r\n};\r\nexport class NumberBox extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n value: void 0 !== this.props.value ? this.props.value : this.props.defaultValue\r\n }\r\n }\r\n get componentProps() {\r\n return _extends({}, this.props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n })\r\n }\r\n get restAttributes() {\r\n var _this$props$value = _extends({}, this.props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }),\r\n restProps = _objectWithoutPropertiesLoose(_this$props$value, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }),\r\n componentProps: this.componentProps,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nNumberBox.defaultProps = NumberBoxPropsType;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/utils/calculate_values_fitted_width.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var oneDigitWidth = 10;\r\nexport function calculateValuesFittedWidth(minWidth, values) {\r\n return minWidth + oneDigitWidth * Math.max(...values).toString().length\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/pages/small.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"inputAttr\", \"pageCount\", \"pageIndex\", \"pageIndexChange\", \"pagesCountText\"];\r\nimport {\r\n createVNode,\r\n createComponentVNode\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n Page\r\n} from \"./page\";\r\nimport {\r\n PAGER_INFO_CLASS\r\n} from \"../info\";\r\nimport {\r\n NumberBox\r\n} from \"../../editors/number_box\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport {\r\n calculateValuesFittedWidth\r\n} from \"../utils/calculate_values_fitted_width\";\r\nimport {\r\n getElementMinWidth\r\n} from \"../utils/get_element_width\";\r\nimport {\r\n InternalPagerProps\r\n} from \"../common/pager_props\";\r\nvar PAGER_INFO_TEXT_CLASS = \"\".concat(PAGER_INFO_CLASS, \" dx-info-text\");\r\nvar PAGER_PAGE_INDEX_CLASS = \"dx-page-index\";\r\nvar LIGHT_PAGES_CLASS = \"dx-light-pages\";\r\nvar PAGER_PAGES_COUNT_CLASS = \"dx-pages-count\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n pageIndexRef: pageIndexRef,\r\n pagesCountText: pagesCountText,\r\n props: {\r\n inputAttr: inputAttr,\r\n pageCount: pageCount\r\n },\r\n selectLastPageIndex: selectLastPageIndex,\r\n value: value,\r\n valueChange: valueChange,\r\n width: width\r\n } = _ref;\r\n return createVNode(1, \"div\", LIGHT_PAGES_CLASS, [createComponentVNode(2, NumberBox, {\r\n className: PAGER_PAGE_INDEX_CLASS,\r\n min: 1,\r\n max: Math.max(pageCount, value),\r\n width: width,\r\n value: value,\r\n valueChange: valueChange,\r\n inputAttr: inputAttr\r\n }), createVNode(1, \"span\", PAGER_INFO_TEXT_CLASS, pagesCountText, 0), createComponentVNode(2, Page, {\r\n className: PAGER_PAGES_COUNT_CLASS,\r\n selected: false,\r\n index: pageCount - 1,\r\n onClick: selectLastPageIndex\r\n })], 4, null, null, pageIndexRef)\r\n};\r\nexport var PagerSmallProps = {\r\n inputAttr: Object.freeze({\r\n \"aria-label\": messageLocalization.format(\"dxPager-ariaPageNumber\")\r\n })\r\n};\r\nvar PagerSmallPropsType = {\r\n get pageIndex() {\r\n return InternalPagerProps.pageIndex\r\n },\r\n get pageCount() {\r\n return InternalPagerProps.pageCount\r\n },\r\n get inputAttr() {\r\n return PagerSmallProps.inputAttr\r\n }\r\n};\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class PagesSmall extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.pageIndexRef = infernoCreateRef();\r\n this.state = {\r\n minWidth: 10\r\n };\r\n this.updateWidth = this.updateWidth.bind(this);\r\n this.selectLastPageIndex = this.selectLastPageIndex.bind(this);\r\n this.valueChange = this.valueChange.bind(this)\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.updateWidth, [this.state.minWidth])]\r\n }\r\n updateEffects() {\r\n var _this$_effects$;\r\n null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.state.minWidth])\r\n }\r\n updateWidth() {\r\n var _this$pageIndexRef$cu;\r\n var el = null === (_this$pageIndexRef$cu = this.pageIndexRef.current) || void 0 === _this$pageIndexRef$cu ? void 0 : _this$pageIndexRef$cu.querySelector(\".\".concat(PAGER_PAGE_INDEX_CLASS));\r\n this.setState(__state_argument => ({\r\n minWidth: el && getElementMinWidth(el) || __state_argument.minWidth\r\n }))\r\n }\r\n get value() {\r\n return this.props.pageIndex + 1\r\n }\r\n get width() {\r\n var {\r\n pageCount: pageCount\r\n } = this.props;\r\n return calculateValuesFittedWidth(this.state.minWidth, [pageCount])\r\n }\r\n get pagesCountText() {\r\n var _this$props$pagesCoun;\r\n return (null !== (_this$props$pagesCoun = this.props.pagesCountText) && void 0 !== _this$props$pagesCoun ? _this$props$pagesCoun : \"\") || messageLocalization.getFormatter(\"dxPager-pagesCountText\")()\r\n }\r\n selectLastPageIndex() {\r\n this.props.pageIndexChange(this.props.pageCount - 1)\r\n }\r\n valueChange(value) {\r\n this.props.pageIndexChange(value - 1)\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n pageIndexRef: this.pageIndexRef,\r\n value: this.value,\r\n width: this.width,\r\n pagesCountText: this.pagesCountText,\r\n selectLastPageIndex: this.selectLastPageIndex,\r\n valueChange: this.valueChange,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nPagesSmall.defaultProps = PagerSmallPropsType;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/pages/page_index_selector.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"hasKnownLastPage\", \"isLargeDisplayMode\", \"maxPagesCount\", \"pageCount\", \"pageIndex\", \"pageIndexChange\", \"pagesCountText\", \"showNavigationButtons\", \"totalCount\"];\r\nimport {\r\n createFragment,\r\n createComponentVNode\r\n} from \"inferno\";\r\nimport {\r\n Fragment\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n LightButton\r\n} from \"../common/light_button\";\r\nimport {\r\n PagesLarge\r\n} from \"./large\";\r\nimport {\r\n PagesSmall\r\n} from \"./small\";\r\nimport {\r\n InternalPagerProps\r\n} from \"../common/pager_props\";\r\nimport {\r\n ConfigContext\r\n} from \"../../../common/config_context\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nvar PAGER_NAVIGATE_BUTTON = \"dx-navigate-button\";\r\nvar PAGER_PREV_BUTTON_CLASS = \"dx-prev-button\";\r\nvar PAGER_NEXT_BUTTON_CLASS = \"dx-next-button\";\r\nexport var PAGER_BUTTON_DISABLE_CLASS = \"dx-button-disable\";\r\nvar getNextButtonLabel = () => messageLocalization.getFormatter(\"dxPager-nextPage\")();\r\nvar getPrevButtonLabel = () => messageLocalization.getFormatter(\"dxPager-prevPage\")();\r\nvar classNames = {\r\n nextEnabledClass: \"\".concat(PAGER_NAVIGATE_BUTTON, \" \").concat(PAGER_NEXT_BUTTON_CLASS),\r\n prevEnabledClass: \"\".concat(PAGER_NAVIGATE_BUTTON, \" \").concat(PAGER_PREV_BUTTON_CLASS),\r\n nextDisabledClass: \"\".concat(PAGER_BUTTON_DISABLE_CLASS, \" \").concat(PAGER_NAVIGATE_BUTTON, \" \").concat(PAGER_NEXT_BUTTON_CLASS),\r\n prevDisabledClass: \"\".concat(PAGER_BUTTON_DISABLE_CLASS, \" \").concat(PAGER_NAVIGATE_BUTTON, \" \").concat(PAGER_PREV_BUTTON_CLASS)\r\n};\r\nvar reverseDirections = {\r\n next: \"prev\",\r\n prev: \"next\"\r\n};\r\nexport var viewFunction = _ref => {\r\n var {\r\n nextButtonProps: nextButtonProps,\r\n pageIndexChange: pageIndexChange,\r\n prevButtonProps: prevButtonProps,\r\n props: {\r\n isLargeDisplayMode: isLargeDisplayMode,\r\n maxPagesCount: maxPagesCount,\r\n pageCount: pageCount,\r\n pageIndex: pageIndex,\r\n pagesCountText: pagesCountText\r\n },\r\n renderNextButton: renderNextButton,\r\n renderPrevButton: renderPrevButton\r\n } = _ref;\r\n return createFragment([renderPrevButton && createComponentVNode(2, LightButton, {\r\n label: getPrevButtonLabel(),\r\n className: prevButtonProps.className,\r\n tabIndex: prevButtonProps.tabIndex,\r\n onClick: prevButtonProps.navigate\r\n }), isLargeDisplayMode && createComponentVNode(2, PagesLarge, {\r\n maxPagesCount: maxPagesCount,\r\n pageCount: pageCount,\r\n pageIndex: pageIndex,\r\n pageIndexChange: pageIndexChange\r\n }), !isLargeDisplayMode && createComponentVNode(2, PagesSmall, {\r\n pageCount: pageCount,\r\n pageIndex: pageIndex,\r\n pageIndexChange: pageIndexChange,\r\n pagesCountText: pagesCountText\r\n }), renderNextButton && createComponentVNode(2, LightButton, {\r\n label: getNextButtonLabel(),\r\n className: nextButtonProps.className,\r\n tabIndex: nextButtonProps.tabIndex,\r\n onClick: nextButtonProps.navigate\r\n })], 0)\r\n};\r\n\r\nfunction getIncrement(direction) {\r\n return \"next\" === direction ? 1 : -1\r\n}\r\nexport var PageIndexSelectorProps = {\r\n isLargeDisplayMode: true\r\n};\r\nvar PageIndexSelectorPropsType = {\r\n get pageIndex() {\r\n return InternalPagerProps.pageIndex\r\n },\r\n get maxPagesCount() {\r\n return InternalPagerProps.maxPagesCount\r\n },\r\n get pageCount() {\r\n return InternalPagerProps.pageCount\r\n },\r\n get hasKnownLastPage() {\r\n return InternalPagerProps.hasKnownLastPage\r\n },\r\n get showNavigationButtons() {\r\n return InternalPagerProps.showNavigationButtons\r\n },\r\n get totalCount() {\r\n return InternalPagerProps.totalCount\r\n },\r\n get isLargeDisplayMode() {\r\n return PageIndexSelectorProps.isLargeDisplayMode\r\n }\r\n};\r\nexport class PageIndexSelector extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.__getterCache = {};\r\n this.pageIndexChange = this.pageIndexChange.bind(this);\r\n this.getButtonProps = this.getButtonProps.bind(this);\r\n this.canNavigateToPage = this.canNavigateToPage.bind(this);\r\n this.getNextPageIndex = this.getNextPageIndex.bind(this);\r\n this.canNavigateTo = this.canNavigateTo.bind(this);\r\n this.navigateToPage = this.navigateToPage.bind(this)\r\n }\r\n get config() {\r\n if (this.context[ConfigContext.id]) {\r\n return this.context[ConfigContext.id]\r\n }\r\n return ConfigContext.defaultValue\r\n }\r\n pageIndexChange(pageIndex) {\r\n if (this.canNavigateToPage(pageIndex)) {\r\n this.props.pageIndexChange(pageIndex)\r\n }\r\n }\r\n getButtonProps(direction) {\r\n var _this$config;\r\n var rtlAwareDirection = null !== (_this$config = this.config) && void 0 !== _this$config && _this$config.rtlEnabled ? reverseDirections[direction] : direction;\r\n var canNavigate = this.canNavigateTo(rtlAwareDirection);\r\n var className = classNames[\"\".concat(direction).concat(canNavigate ? \"Enabled\" : \"Disabled\", \"Class\")];\r\n return {\r\n className: className,\r\n tabIndex: canNavigate ? 0 : -1,\r\n navigate: () => this.navigateToPage(rtlAwareDirection)\r\n }\r\n }\r\n canNavigateToPage(pageIndex) {\r\n if (!this.props.hasKnownLastPage) {\r\n return pageIndex >= 0\r\n }\r\n return pageIndex >= 0 && pageIndex <= this.props.pageCount - 1\r\n }\r\n getNextPageIndex(direction) {\r\n return this.props.pageIndex + getIncrement(direction)\r\n }\r\n canNavigateTo(direction) {\r\n return this.canNavigateToPage(this.getNextPageIndex(direction))\r\n }\r\n navigateToPage(direction) {\r\n this.pageIndexChange(this.getNextPageIndex(direction))\r\n }\r\n get renderPrevButton() {\r\n var {\r\n isLargeDisplayMode: isLargeDisplayMode,\r\n showNavigationButtons: showNavigationButtons\r\n } = this.props;\r\n return !isLargeDisplayMode || showNavigationButtons\r\n }\r\n get renderNextButton() {\r\n return this.renderPrevButton || !this.props.hasKnownLastPage\r\n }\r\n get prevButtonProps() {\r\n if (void 0 !== this.__getterCache.prevButtonProps) {\r\n return this.__getterCache.prevButtonProps\r\n }\r\n return this.__getterCache.prevButtonProps = (() => this.getButtonProps(\"prev\"))()\r\n }\r\n get nextButtonProps() {\r\n if (void 0 !== this.__getterCache.nextButtonProps) {\r\n return this.__getterCache.nextButtonProps\r\n }\r\n return this.__getterCache.nextButtonProps = (() => this.getButtonProps(\"next\"))()\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n if (this.context[ConfigContext.id] !== context[ConfigContext.id] || this.props.hasKnownLastPage !== nextProps.hasKnownLastPage || this.props.pageCount !== nextProps.pageCount || this.props.pageIndex !== nextProps.pageIndex || this.props.pageIndexChange !== nextProps.pageIndexChange) {\r\n this.__getterCache.prevButtonProps = void 0\r\n }\r\n if (this.context[ConfigContext.id] !== context[ConfigContext.id] || this.props.hasKnownLastPage !== nextProps.hasKnownLastPage || this.props.pageCount !== nextProps.pageCount || this.props.pageIndex !== nextProps.pageIndex || this.props.pageIndexChange !== nextProps.pageIndexChange) {\r\n this.__getterCache.nextButtonProps = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n config: this.config,\r\n pageIndexChange: this.pageIndexChange,\r\n renderPrevButton: this.renderPrevButton,\r\n renderNextButton: this.renderNextButton,\r\n prevButtonProps: this.prevButtonProps,\r\n nextButtonProps: this.nextButtonProps,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nPageIndexSelector.defaultProps = PageIndexSelectorPropsType;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/drop_down_editors/select_box.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"accessKey\", \"activeStateEnabled\", \"className\", \"dataSource\", \"defaultValue\", \"disabled\", \"displayExpr\", \"focusStateEnabled\", \"height\", \"hint\", \"hoverStateEnabled\", \"inputAttr\", \"isValid\", \"label\", \"labelMode\", \"name\", \"onClick\", \"onFocusIn\", \"onKeyDown\", \"placeholder\", \"readOnly\", \"rtlEnabled\", \"searchEnabled\", \"tabIndex\", \"validationError\", \"validationErrors\", \"validationMessageMode\", \"validationMessagePosition\", \"validationStatus\", \"value\", \"valueChange\", \"valueExpr\", \"visible\", \"width\"];\r\nimport {\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport LegacySelectBox from \"../../../../ui/select_box\";\r\nimport {\r\n DomComponentWrapper\r\n} from \"../../common/dom_component_wrapper\";\r\nimport {\r\n EditorProps\r\n} from \"../common/editor\";\r\nimport {\r\n EditorStateProps\r\n} from \"../common/editor_state_props\";\r\nimport {\r\n EditorLabelProps\r\n} from \"../common/editor_label_props\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n componentProps: componentProps,\r\n restAttributes: restAttributes\r\n } = _ref;\r\n return normalizeProps(createComponentVNode(2, DomComponentWrapper, _extends({\r\n componentType: LegacySelectBox,\r\n componentProps: componentProps,\r\n templateNames: [\"dropDownButtonTemplate\", \"groupTemplate\", \"itemTemplate\"]\r\n }, restAttributes)))\r\n};\r\nexport var SelectBoxProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(EditorProps), Object.getOwnPropertyDescriptors({\r\n placeholder: \"\",\r\n hoverStateEnabled: true,\r\n searchEnabled: false,\r\n defaultValue: null,\r\n isReactComponentWrapper: true\r\n})));\r\nexport var SelectBoxPropsType = {\r\n get placeholder() {\r\n return SelectBoxProps.placeholder\r\n },\r\n get hoverStateEnabled() {\r\n return EditorStateProps.hoverStateEnabled\r\n },\r\n get searchEnabled() {\r\n return SelectBoxProps.searchEnabled\r\n },\r\n get defaultValue() {\r\n return SelectBoxProps.defaultValue\r\n },\r\n get readOnly() {\r\n return SelectBoxProps.readOnly\r\n },\r\n get name() {\r\n return SelectBoxProps.name\r\n },\r\n get validationError() {\r\n return SelectBoxProps.validationError\r\n },\r\n get validationErrors() {\r\n return SelectBoxProps.validationErrors\r\n },\r\n get validationMessageMode() {\r\n return SelectBoxProps.validationMessageMode\r\n },\r\n get validationMessagePosition() {\r\n return SelectBoxProps.validationMessagePosition\r\n },\r\n get validationStatus() {\r\n return SelectBoxProps.validationStatus\r\n },\r\n get isValid() {\r\n return SelectBoxProps.isValid\r\n },\r\n get inputAttr() {\r\n return SelectBoxProps.inputAttr\r\n },\r\n get className() {\r\n return SelectBoxProps.className\r\n },\r\n get activeStateEnabled() {\r\n return EditorStateProps.activeStateEnabled\r\n },\r\n get disabled() {\r\n return SelectBoxProps.disabled\r\n },\r\n get focusStateEnabled() {\r\n return EditorStateProps.focusStateEnabled\r\n },\r\n get tabIndex() {\r\n return SelectBoxProps.tabIndex\r\n },\r\n get visible() {\r\n return SelectBoxProps.visible\r\n },\r\n get label() {\r\n return EditorLabelProps.label\r\n },\r\n get labelMode() {\r\n return EditorLabelProps.labelMode\r\n },\r\n isReactComponentWrapper: true\r\n};\r\nexport class SelectBox extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n value: void 0 !== this.props.value ? this.props.value : this.props.defaultValue\r\n }\r\n }\r\n get componentProps() {\r\n return _extends({}, this.props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n })\r\n }\r\n get restAttributes() {\r\n var _this$props$value = _extends({}, this.props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }),\r\n restProps = _objectWithoutPropertiesLoose(_this$props$value, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }),\r\n componentProps: this.componentProps,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nSelectBox.defaultProps = SelectBoxPropsType;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/page_size/small.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"inputAttr\", \"pageSize\", \"pageSizeChange\", \"pageSizes\", \"parentRef\"];\r\nimport {\r\n createComponentVNode\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport {\r\n SelectBox\r\n} from \"../../editors/drop_down_editors/select_box\";\r\nimport {\r\n calculateValuesFittedWidth\r\n} from \"../utils/calculate_values_fitted_width\";\r\nimport {\r\n getElementMinWidth\r\n} from \"../utils/get_element_width\";\r\nimport {\r\n InternalPagerProps\r\n} from \"../common/pager_props\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n props: {\r\n inputAttr: inputAttr,\r\n pageSize: pageSize,\r\n pageSizeChange: pageSizeChange,\r\n pageSizes: pageSizes\r\n },\r\n width: width\r\n } = _ref;\r\n return createComponentVNode(2, SelectBox, {\r\n displayExpr: \"text\",\r\n valueExpr: \"value\",\r\n dataSource: pageSizes,\r\n value: pageSize,\r\n valueChange: pageSizeChange,\r\n width: width,\r\n inputAttr: inputAttr\r\n })\r\n};\r\nexport var PageSizeSmallProps = {\r\n inputAttr: Object.freeze({\r\n \"aria-label\": messageLocalization.format(\"dxPager-ariaPageSize\")\r\n })\r\n};\r\nvar PageSizeSmallPropsType = {\r\n get pageSize() {\r\n return InternalPagerProps.pageSize\r\n },\r\n get inputAttr() {\r\n return PageSizeSmallProps.inputAttr\r\n }\r\n};\r\nexport class PageSizeSmall extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n minWidth: 10\r\n };\r\n this.updateWidth = this.updateWidth.bind(this)\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.updateWidth, [this.props, this.state.minWidth, this.props.pageSize, this.props.pageSizeChange, this.props.pageSizes, this.props.inputAttr])]\r\n }\r\n updateEffects() {\r\n var _this$_effects$;\r\n null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props, this.state.minWidth, this.props.pageSize, this.props.pageSizeChange, this.props.pageSizes, this.props.inputAttr])\r\n }\r\n updateWidth() {\r\n this.setState(__state_argument => ({\r\n minWidth: getElementMinWidth(this.props.parentRef.current) || __state_argument.minWidth\r\n }))\r\n }\r\n get width() {\r\n return calculateValuesFittedWidth(this.state.minWidth, this.props.pageSizes.map(p => p.value))\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n width: this.width,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nPageSizeSmall.defaultProps = PageSizeSmallPropsType;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/page_size/large.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"pageSize\", \"pageSizeChange\", \"pageSizes\"];\r\nimport {\r\n createFragment,\r\n createComponentVNode\r\n} from \"inferno\";\r\nimport {\r\n Fragment\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n combineClasses\r\n} from \"../../../utils/combine_classes\";\r\nimport {\r\n LightButton\r\n} from \"../common/light_button\";\r\nimport {\r\n InternalPagerProps\r\n} from \"../common/pager_props\";\r\nimport {\r\n PAGER_SELECTED_PAGE_SIZE_CLASS,\r\n PAGER_PAGE_SIZE_CLASS,\r\n FIRST_CHILD_CLASS\r\n} from \"../common/consts\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport {\r\n format\r\n} from \"../../../../core/utils/string\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n pageSizesText: pageSizesText\r\n } = _ref;\r\n return createFragment(pageSizesText.map(_ref2 => {\r\n var {\r\n className: className,\r\n click: click,\r\n label: label,\r\n text: text\r\n } = _ref2;\r\n return createComponentVNode(2, LightButton, {\r\n className: className,\r\n label: label,\r\n onClick: click,\r\n children: text\r\n }, text)\r\n }), 0)\r\n};\r\nexport var PageSizeLargeProps = {};\r\nvar PageSizeLargePropsType = {\r\n get pageSize() {\r\n return InternalPagerProps.pageSize\r\n }\r\n};\r\nexport class PageSizeLarge extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.__getterCache = {};\r\n this.onPageSizeChange = this.onPageSizeChange.bind(this)\r\n }\r\n get pageSizesText() {\r\n if (void 0 !== this.__getterCache.pageSizesText) {\r\n return this.__getterCache.pageSizesText\r\n }\r\n return this.__getterCache.pageSizesText = (() => {\r\n var {\r\n pageSize: pageSize,\r\n pageSizes: pageSizes\r\n } = this.props;\r\n return pageSizes.map((_ref3, index) => {\r\n var {\r\n text: text,\r\n value: processedPageSize\r\n } = _ref3;\r\n var selected = processedPageSize === pageSize;\r\n var className = combineClasses({\r\n [selected ? PAGER_SELECTED_PAGE_SIZE_CLASS : PAGER_PAGE_SIZE_CLASS]: true,\r\n [FIRST_CHILD_CLASS]: 0 === index\r\n });\r\n return {\r\n className: className,\r\n click: this.onPageSizeChange(processedPageSize),\r\n label: format(messageLocalization.getFormatter(\"dxPager-pageSize\"), processedPageSize || messageLocalization.getFormatter(\"dxPager-pageSizesAllText\")),\r\n text: text\r\n }\r\n })\r\n })()\r\n }\r\n onPageSizeChange(processedPageSize) {\r\n return () => {\r\n this.props.pageSizeChange(processedPageSize);\r\n return this.props.pageSize\r\n }\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n if (this.props.pageSize !== nextProps.pageSize || this.props.pageSizes !== nextProps.pageSizes || this.props.pageSizeChange !== nextProps.pageSizeChange) {\r\n this.__getterCache.pageSizesText = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n pageSizesText: this.pageSizesText,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nPageSizeLarge.defaultProps = PageSizeLargePropsType;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/page_size/selector.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"isLargeDisplayMode\", \"pageSize\", \"pageSizeChange\", \"pageSizes\", \"rootElementRef\"];\r\nimport {\r\n createVNode,\r\n createComponentVNode\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n PageSizeSmall\r\n} from \"./small\";\r\nimport {\r\n PageSizeLarge\r\n} from \"./large\";\r\nimport {\r\n InternalPagerProps\r\n} from \"../common/pager_props\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport {\r\n PAGER_PAGE_SIZES_CLASS\r\n} from \"../common/consts\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n htmlRef: htmlRef,\r\n normalizedPageSizes: normalizedPageSizes,\r\n props: {\r\n isLargeDisplayMode: isLargeDisplayMode,\r\n pageSize: pageSize,\r\n pageSizeChange: pageSizeChange\r\n }\r\n } = _ref;\r\n return createVNode(1, \"div\", PAGER_PAGE_SIZES_CLASS, [isLargeDisplayMode && createComponentVNode(2, PageSizeLarge, {\r\n pageSizes: normalizedPageSizes,\r\n pageSize: pageSize,\r\n pageSizeChange: pageSizeChange\r\n }), !isLargeDisplayMode && createComponentVNode(2, PageSizeSmall, {\r\n parentRef: htmlRef,\r\n pageSizes: normalizedPageSizes,\r\n pageSize: pageSize,\r\n pageSizeChange: pageSizeChange\r\n })], 0, null, null, htmlRef)\r\n};\r\n\r\nfunction getAllText() {\r\n return messageLocalization.getFormatter(\"dxPager-pageSizesAllText\")()\r\n}\r\nvar PageSizeSelectorProps = {\r\n isLargeDisplayMode: true\r\n};\r\nvar PageSizeSelectorPropsType = {\r\n get pageSize() {\r\n return InternalPagerProps.pageSize\r\n },\r\n get pageSizes() {\r\n return InternalPagerProps.pageSizes\r\n },\r\n get isLargeDisplayMode() {\r\n return PageSizeSelectorProps.isLargeDisplayMode\r\n }\r\n};\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class PageSizeSelector extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.htmlRef = infernoCreateRef();\r\n this.__getterCache = {};\r\n this.setRootElementRef = this.setRootElementRef.bind(this)\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.setRootElementRef, [])]\r\n }\r\n setRootElementRef() {\r\n var {\r\n rootElementRef: rootElementRef\r\n } = this.props;\r\n if (rootElementRef) {\r\n rootElementRef.current = this.htmlRef.current\r\n }\r\n }\r\n get normalizedPageSizes() {\r\n if (void 0 !== this.__getterCache.normalizedPageSizes) {\r\n return this.__getterCache.normalizedPageSizes\r\n }\r\n return this.__getterCache.normalizedPageSizes = (() => {\r\n var {\r\n pageSizes: pageSizes\r\n } = this.props;\r\n return pageSizes.map(p => \"all\" === p || 0 === p ? {\r\n text: getAllText(),\r\n value: 0\r\n } : {\r\n text: String(p),\r\n value: p\r\n })\r\n })()\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n super.componentWillUpdate();\r\n if (this.props.pageSizes !== nextProps.pageSizes) {\r\n this.__getterCache.normalizedPageSizes = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n htmlRef: this.htmlRef,\r\n normalizedPageSizes: this.normalizedPageSizes,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nPageSizeSelector.defaultProps = PageSizeSelectorPropsType;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/content.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"className\", \"displayMode\", \"gridCompatibility\", \"hasKnownLastPage\", \"infoText\", \"infoTextRef\", \"infoTextVisible\", \"isLargeDisplayMode\", \"label\", \"lightModeEnabled\", \"maxPagesCount\", \"onKeyDown\", \"pageCount\", \"pageIndex\", \"pageIndexChange\", \"pageSize\", \"pageSizeChange\", \"pageSizes\", \"pageSizesRef\", \"pagesCountText\", \"pagesNavigatorVisible\", \"pagesRef\", \"rootElementRef\", \"rtlEnabled\", \"showInfo\", \"showNavigationButtons\", \"showPageSizes\", \"totalCount\", \"visible\"];\r\nimport {\r\n createVNode,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n normalizeStyles\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n InfoText\r\n} from \"./info\";\r\nimport {\r\n PageIndexSelector\r\n} from \"./pages/page_index_selector\";\r\nimport {\r\n PageSizeSelector\r\n} from \"./page_size/selector\";\r\nimport {\r\n PAGER_PAGES_CLASS,\r\n PAGER_PAGE_INDEXES_CLASS,\r\n LIGHT_MODE_CLASS,\r\n PAGER_CLASS\r\n} from \"./common/consts\";\r\nimport {\r\n InternalPagerProps\r\n} from \"./common/pager_props\";\r\nimport {\r\n combineClasses\r\n} from \"../../utils/combine_classes\";\r\nimport {\r\n Widget\r\n} from \"../common/widget\";\r\nimport {\r\n registerKeyboardAction as _registerKeyboardAction\r\n} from \"../../../ui/shared/accessibility\";\r\nimport {\r\n KeyboardActionContext\r\n} from \"./common/keyboard_action_context\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n aria: aria,\r\n classes: classes,\r\n infoVisible: infoVisible,\r\n isLargeDisplayMode: isLargeDisplayMode,\r\n pageIndexSelectorVisible: pageIndexSelectorVisible,\r\n pagesContainerVisibility: pagesContainerVisibility,\r\n pagesContainerVisible: pagesContainerVisible,\r\n props: {\r\n hasKnownLastPage: hasKnownLastPage,\r\n infoText: infoText,\r\n infoTextRef: infoTextRef,\r\n maxPagesCount: maxPagesCount,\r\n pageCount: pageCount,\r\n pageIndex: pageIndex,\r\n pageIndexChange: pageIndexChange,\r\n pageSize: pageSize,\r\n pageSizeChange: pageSizeChange,\r\n pageSizes: pageSizes,\r\n pageSizesRef: pageSizesRef,\r\n pagesCountText: pagesCountText,\r\n pagesRef: pagesRef,\r\n rtlEnabled: rtlEnabled,\r\n showNavigationButtons: showNavigationButtons,\r\n showPageSizes: showPageSizes,\r\n totalCount: totalCount,\r\n visible: visible\r\n },\r\n restAttributes: restAttributes,\r\n widgetRootElementRef: widgetRootElementRef\r\n } = _ref;\r\n return normalizeProps(createComponentVNode(2, Widget, _extends({\r\n rootElementRef: widgetRootElementRef,\r\n rtlEnabled: rtlEnabled,\r\n classes: classes,\r\n visible: visible,\r\n aria: aria\r\n }, restAttributes, {\r\n children: [showPageSizes && createComponentVNode(2, PageSizeSelector, {\r\n rootElementRef: pageSizesRef,\r\n isLargeDisplayMode: isLargeDisplayMode,\r\n pageSize: pageSize,\r\n pageSizeChange: pageSizeChange,\r\n pageSizes: pageSizes\r\n }), pagesContainerVisible && createVNode(1, \"div\", PAGER_PAGES_CLASS, [infoVisible && createComponentVNode(2, InfoText, {\r\n rootElementRef: infoTextRef,\r\n infoText: infoText,\r\n pageCount: pageCount,\r\n pageIndex: pageIndex,\r\n totalCount: totalCount\r\n }), pageIndexSelectorVisible && createVNode(1, \"div\", PAGER_PAGE_INDEXES_CLASS, createComponentVNode(2, PageIndexSelector, {\r\n hasKnownLastPage: hasKnownLastPage,\r\n isLargeDisplayMode: isLargeDisplayMode,\r\n maxPagesCount: maxPagesCount,\r\n pageCount: pageCount,\r\n pageIndex: pageIndex,\r\n pageIndexChange: pageIndexChange,\r\n pagesCountText: pagesCountText,\r\n showNavigationButtons: showNavigationButtons,\r\n totalCount: totalCount\r\n }), 2, null, null, pagesRef)], 0, {\r\n style: normalizeStyles({\r\n visibility: pagesContainerVisibility\r\n })\r\n })]\r\n })))\r\n};\r\nexport var PagerContentProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(InternalPagerProps), Object.getOwnPropertyDescriptors({\r\n infoTextVisible: true,\r\n isLargeDisplayMode: true\r\n})));\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class PagerContent extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.widgetRootElementRef = infernoCreateRef();\r\n this.__getterCache = {};\r\n this.setRootElementRef = this.setRootElementRef.bind(this);\r\n this.createFakeInstance = this.createFakeInstance.bind(this)\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.setRootElementRef, [])]\r\n }\r\n getChildContext() {\r\n return _extends({}, this.context, {\r\n [KeyboardActionContext.id]: this.keyboardAction || KeyboardActionContext.defaultValue\r\n })\r\n }\r\n setRootElementRef() {\r\n var {\r\n rootElementRef: rootElementRef\r\n } = this.props;\r\n if (rootElementRef) {\r\n rootElementRef.current = this.widgetRootElementRef.current\r\n }\r\n }\r\n createFakeInstance() {\r\n return {\r\n option: () => false,\r\n element: () => this.widgetRootElementRef.current,\r\n _createActionByOption: () => e => {\r\n var _this$props$onKeyDown, _this$props;\r\n null === (_this$props$onKeyDown = (_this$props = this.props).onKeyDown) || void 0 === _this$props$onKeyDown ? void 0 : _this$props$onKeyDown.call(_this$props, e)\r\n }\r\n }\r\n }\r\n get keyboardAction() {\r\n if (void 0 !== this.__getterCache.keyboardAction) {\r\n return this.__getterCache.keyboardAction\r\n }\r\n return this.__getterCache.keyboardAction = (() => ({\r\n registerKeyboardAction: (element, action) => {\r\n var fakePagerInstance = this.createFakeInstance();\r\n return _registerKeyboardAction(\"pager\", fakePagerInstance, element, void 0, action)\r\n }\r\n }))()\r\n }\r\n get infoVisible() {\r\n var {\r\n infoTextVisible: infoTextVisible,\r\n showInfo: showInfo\r\n } = this.props;\r\n return showInfo && infoTextVisible\r\n }\r\n get pageIndexSelectorVisible() {\r\n return 0 !== this.props.pageSize\r\n }\r\n get normalizedDisplayMode() {\r\n var {\r\n displayMode: displayMode,\r\n lightModeEnabled: lightModeEnabled\r\n } = this.props;\r\n if (\"adaptive\" === displayMode && void 0 !== lightModeEnabled) {\r\n return lightModeEnabled ? \"compact\" : \"full\"\r\n }\r\n return displayMode\r\n }\r\n get pagesContainerVisible() {\r\n return !!this.props.pagesNavigatorVisible && this.props.pageCount > 0\r\n }\r\n get pagesContainerVisibility() {\r\n if (\"auto\" === this.props.pagesNavigatorVisible && 1 === this.props.pageCount && this.props.hasKnownLastPage) {\r\n return \"hidden\"\r\n }\r\n return\r\n }\r\n get isLargeDisplayMode() {\r\n var displayMode = this.normalizedDisplayMode;\r\n var result = false;\r\n if (\"adaptive\" === displayMode) {\r\n result = this.props.isLargeDisplayMode\r\n } else {\r\n result = \"full\" === displayMode\r\n }\r\n return result\r\n }\r\n get classes() {\r\n var classesMap = {\r\n [\"\".concat(this.props.className)]: !!this.props.className,\r\n [PAGER_CLASS]: true,\r\n [LIGHT_MODE_CLASS]: !this.isLargeDisplayMode\r\n };\r\n return combineClasses(classesMap)\r\n }\r\n get aria() {\r\n return {\r\n role: \"navigation\",\r\n label: this.props.label\r\n }\r\n }\r\n get restAttributes() {\r\n var _this$props2 = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props2, _excluded);\r\n return restProps\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n super.componentWillUpdate();\r\n if (this.props.onKeyDown !== nextProps.onKeyDown) {\r\n this.__getterCache.keyboardAction = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n widgetRootElementRef: this.widgetRootElementRef,\r\n keyboardAction: this.keyboardAction,\r\n infoVisible: this.infoVisible,\r\n pageIndexSelectorVisible: this.pageIndexSelectorVisible,\r\n pagesContainerVisible: this.pagesContainerVisible,\r\n pagesContainerVisibility: this.pagesContainerVisibility,\r\n isLargeDisplayMode: this.isLargeDisplayMode,\r\n classes: this.classes,\r\n aria: this.aria,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nPagerContent.defaultProps = PagerContentProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/pager.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"className\", \"defaultPageIndex\", \"defaultPageSize\", \"displayMode\", \"gridCompatibility\", \"hasKnownLastPage\", \"infoText\", \"label\", \"lightModeEnabled\", \"maxPagesCount\", \"onKeyDown\", \"pageCount\", \"pageIndex\", \"pageIndexChange\", \"pageSize\", \"pageSizeChange\", \"pageSizes\", \"pagesCountText\", \"pagesNavigatorVisible\", \"rtlEnabled\", \"showInfo\", \"showNavigationButtons\", \"showPageSizes\", \"totalCount\", \"visible\"];\r\nimport {\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n InfernoWrapperComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n ResizableContainer\r\n} from \"./resizable_container\";\r\nimport {\r\n PagerProps\r\n} from \"./common/pager_props\";\r\nimport {\r\n PagerContent\r\n} from \"./content\";\r\nimport {\r\n combineClasses\r\n} from \"../../utils/combine_classes\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n pagerProps: pagerProps,\r\n restAttributes: restAttributes\r\n } = _ref;\r\n return normalizeProps(createComponentVNode(2, ResizableContainer, _extends({\r\n contentTemplate: PagerContent,\r\n pagerProps: pagerProps\r\n }, restAttributes)))\r\n};\r\nimport {\r\n createReRenderEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nexport class Pager extends InfernoWrapperComponent {\r\n constructor(props) {\r\n super(props);\r\n this.__getterCache = {};\r\n this.state = {\r\n pageSize: void 0 !== this.props.pageSize ? this.props.pageSize : this.props.defaultPageSize,\r\n pageIndex: void 0 !== this.props.pageIndex ? this.props.pageIndex : this.props.defaultPageIndex\r\n };\r\n this.pageIndexChange = this.pageIndexChange.bind(this);\r\n this.pageSizeChange = this.pageSizeChange.bind(this)\r\n }\r\n createEffects() {\r\n return [createReRenderEffect()]\r\n }\r\n pageIndexChange(newPageIndex) {\r\n if (this.props.gridCompatibility) {\r\n var __newValue;\r\n this.setState(__state_argument => {\r\n __newValue = newPageIndex + 1;\r\n return {\r\n pageIndex: __newValue\r\n }\r\n });\r\n this.props.pageIndexChange(__newValue)\r\n } else {\r\n var _newValue;\r\n this.setState(__state_argument => {\r\n _newValue = newPageIndex;\r\n return {\r\n pageIndex: _newValue\r\n }\r\n });\r\n this.props.pageIndexChange(_newValue)\r\n }\r\n }\r\n get pageIndex() {\r\n if (this.props.gridCompatibility) {\r\n return (void 0 !== this.props.pageIndex ? this.props.pageIndex : this.state.pageIndex) - 1\r\n }\r\n return void 0 !== this.props.pageIndex ? this.props.pageIndex : this.state.pageIndex\r\n }\r\n pageSizeChange(newPageSize) {\r\n var __newValue;\r\n this.setState(__state_argument => {\r\n __newValue = newPageSize;\r\n return {\r\n pageSize: __newValue\r\n }\r\n });\r\n this.props.pageSizeChange(__newValue)\r\n }\r\n get className() {\r\n if (this.props.gridCompatibility) {\r\n return combineClasses({\r\n \"dx-datagrid-pager\": true,\r\n [\"\".concat(this.props.className)]: !!this.props.className\r\n })\r\n }\r\n return this.props.className\r\n }\r\n get pagerProps() {\r\n if (void 0 !== this.__getterCache.pagerProps) {\r\n return this.__getterCache.pagerProps\r\n }\r\n return this.__getterCache.pagerProps = (() => _extends({}, _extends({}, this.props, {\r\n pageSize: void 0 !== this.props.pageSize ? this.props.pageSize : this.state.pageSize,\r\n pageIndex: void 0 !== this.props.pageIndex ? this.props.pageIndex : this.state.pageIndex\r\n }), {\r\n className: this.className,\r\n pageIndex: this.pageIndex,\r\n pageIndexChange: pageIndex => this.pageIndexChange(pageIndex),\r\n pageSizeChange: pageSize => this.pageSizeChange(pageSize)\r\n }))()\r\n }\r\n get restAttributes() {\r\n var _this$props$pageSize$ = _extends({}, this.props, {\r\n pageSize: void 0 !== this.props.pageSize ? this.props.pageSize : this.state.pageSize,\r\n pageIndex: void 0 !== this.props.pageIndex ? this.props.pageIndex : this.state.pageIndex\r\n }),\r\n restProps = _objectWithoutPropertiesLoose(_this$props$pageSize$, _excluded);\r\n return restProps\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n super.componentWillUpdate();\r\n if (this.props !== nextProps || this.props.gridCompatibility !== nextProps.gridCompatibility || this.props.className !== nextProps.className || this.state.pageIndex !== nextState.pageIndex || this.props.pageIndex !== nextProps.pageIndex || this.props.pageIndexChange !== nextProps.pageIndexChange || this.props.pageSizeChange !== nextProps.pageSizeChange) {\r\n this.__getterCache.pagerProps = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n pageSize: void 0 !== this.props.pageSize ? this.props.pageSize : this.state.pageSize,\r\n pageIndex: void 0 !== this.props.pageIndex ? this.props.pageIndex : this.state.pageIndex\r\n }),\r\n pageIndexChange: this.pageIndexChange,\r\n pageIndex: this.pageIndex,\r\n pageSizeChange: this.pageSizeChange,\r\n className: this.className,\r\n pagerProps: this.pagerProps,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nPager.defaultProps = PagerProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/pager.j.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../../core/component_registrator\";\r\nimport {\r\n GridPagerWrapper\r\n} from \"../../component_wrapper/grid_pager\";\r\nimport {\r\n Pager as PagerComponent\r\n} from \"./pager\";\r\nexport default class Pager extends GridPagerWrapper {\r\n getProps() {\r\n var props = super.getProps();\r\n props.onKeyDown = this._wrapKeyDownHandler(props.onKeyDown);\r\n return props\r\n }\r\n get _propsInfo() {\r\n return {\r\n twoWay: [\r\n [\"pageSize\", \"defaultPageSize\", \"pageSizeChange\"],\r\n [\"pageIndex\", \"defaultPageIndex\", \"pageIndexChange\"]\r\n ],\r\n allowNull: [],\r\n elements: [],\r\n templates: [],\r\n props: [\"defaultPageSize\", \"pageSizeChange\", \"defaultPageIndex\", \"pageIndexChange\", \"gridCompatibility\", \"className\", \"showInfo\", \"infoText\", \"lightModeEnabled\", \"displayMode\", \"maxPagesCount\", \"pageCount\", \"pagesCountText\", \"visible\", \"hasKnownLastPage\", \"pagesNavigatorVisible\", \"showPageSizes\", \"pageSizes\", \"rtlEnabled\", \"showNavigationButtons\", \"totalCount\", \"label\", \"onKeyDown\", \"pageSize\", \"pageIndex\"]\r\n }\r\n }\r\n get _viewComponent() {\r\n return PagerComponent\r\n }\r\n}\r\nregisterComponent(\"dxPager\", Pager);\r\n","/**\r\n * DevExtreme (esm/ui/pager.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Widget from \"../renovation/ui/pager/pager.j\";\r\nexport default Widget;\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/pager/m_pager.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n hasWindow\r\n} from \"../../../../core/utils/window\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport Pager from \"../../../../ui/pager\";\r\nimport modules from \"../m_modules\";\r\nvar PAGER_CLASS = \"pager\";\r\nvar MAX_PAGES_COUNT = 10;\r\nvar getPageIndex = function(dataController) {\r\n return 1 + (parseInt(dataController.pageIndex()) || 0)\r\n};\r\nvar PagerView = modules.View.inherit({\r\n init() {\r\n var dataController = this.getController(\"data\");\r\n dataController.changed.add(e => {\r\n if (e && e.repaintChangesOnly) {\r\n var pager = this._pager;\r\n if (pager) {\r\n pager.option({\r\n pageIndex: getPageIndex(dataController),\r\n pageSize: dataController.pageSize(),\r\n pageCount: dataController.pageCount(),\r\n totalCount: dataController.totalCount(),\r\n hasKnownLastPage: dataController.hasKnownLastPage()\r\n })\r\n } else {\r\n this.render()\r\n }\r\n } else if (!e || \"update\" !== e.changeType && \"updateSelection\" !== e.changeType && \"updateFocusedRow\" !== e.changeType) {\r\n this._pager = null;\r\n this.render()\r\n }\r\n })\r\n },\r\n _renderCore() {\r\n var $element = this.element().addClass(this.addWidgetPrefix(PAGER_CLASS));\r\n var pagerOptions = this.option(\"pager\") || {};\r\n var dataController = this.getController(\"data\");\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n var options = {\r\n maxPagesCount: MAX_PAGES_COUNT,\r\n pageIndex: getPageIndex(dataController),\r\n pageCount: dataController.pageCount(),\r\n pageSize: dataController.pageSize(),\r\n showPageSizes: pagerOptions.showPageSizeSelector,\r\n showInfo: pagerOptions.showInfo,\r\n displayMode: pagerOptions.displayMode,\r\n pagesNavigatorVisible: pagerOptions.visible,\r\n showNavigationButtons: pagerOptions.showNavigationButtons,\r\n label: pagerOptions.label,\r\n pageSizes: this.getPageSizes(),\r\n totalCount: dataController.totalCount(),\r\n hasKnownLastPage: dataController.hasKnownLastPage(),\r\n pageIndexChanged(pageIndex) {\r\n if (dataController.pageIndex() !== pageIndex - 1) {\r\n dataController.pageIndex(pageIndex - 1)\r\n }\r\n },\r\n pageSizeChanged(pageSize) {\r\n dataController.pageSize(pageSize)\r\n },\r\n onKeyDown: e => keyboardController && keyboardController.executeAction(\"onKeyDown\", e),\r\n useLegacyKeyboardNavigation: this.option(\"useLegacyKeyboardNavigation\"),\r\n useKeyboard: this.option(\"keyboardNavigation.enabled\")\r\n };\r\n if (isDefined(pagerOptions.infoText)) {\r\n options.infoText = pagerOptions.infoText\r\n }\r\n if (this._pager) {\r\n this._pager.repaint();\r\n return\r\n }\r\n if (hasWindow()) {\r\n this._pager = this._createComponent($element, Pager, options)\r\n } else {\r\n $element.addClass(\"dx-pager\").html('
    ')\r\n }\r\n },\r\n getPager() {\r\n return this._pager\r\n },\r\n getPageSizes() {\r\n var dataController = this.getController(\"data\");\r\n var pagerOptions = this.option(\"pager\");\r\n var allowedPageSizes = pagerOptions && pagerOptions.allowedPageSizes;\r\n var pageSize = dataController.pageSize();\r\n if (!isDefined(this._pageSizes) || !this._pageSizes.includes(pageSize)) {\r\n this._pageSizes = [];\r\n if (pagerOptions) {\r\n if (Array.isArray(allowedPageSizes)) {\r\n this._pageSizes = allowedPageSizes\r\n } else if (allowedPageSizes && pageSize > 1) {\r\n this._pageSizes = [Math.floor(pageSize / 2), pageSize, 2 * pageSize]\r\n }\r\n }\r\n }\r\n return this._pageSizes\r\n },\r\n isVisible() {\r\n var dataController = this.getController(\"data\");\r\n var pagerOptions = this.option(\"pager\");\r\n var pagerVisible = pagerOptions && pagerOptions.visible;\r\n var scrolling = this.option(\"scrolling\");\r\n if (\"auto\" === pagerVisible) {\r\n if (scrolling && (\"virtual\" === scrolling.mode || \"infinite\" === scrolling.mode)) {\r\n pagerVisible = false\r\n } else {\r\n pagerVisible = dataController.pageCount() > 1 || dataController.isLoaded() && !dataController.hasKnownLastPage()\r\n }\r\n }\r\n return pagerVisible\r\n },\r\n getHeight() {\r\n return this.getElementHeight()\r\n },\r\n optionChanged(args) {\r\n var {\r\n name: name\r\n } = args;\r\n var isPager = \"pager\" === name;\r\n var isPaging = \"paging\" === name;\r\n var isDataSource = \"dataSource\" === name;\r\n var isScrolling = \"scrolling\" === name;\r\n var dataController = this.getController(\"data\");\r\n if (isPager || isPaging || isScrolling || isDataSource) {\r\n args.handled = true;\r\n if (dataController.skipProcessingPagingChange(args.fullName)) {\r\n return\r\n }\r\n if (isPager || isPaging) {\r\n this._pageSizes = null\r\n }\r\n if (!isDataSource) {\r\n this._pager = null;\r\n this._invalidate();\r\n if (hasWindow() && isPager && this.component) {\r\n this.component.resize()\r\n }\r\n }\r\n }\r\n },\r\n dispose() {\r\n this._pager = null\r\n }\r\n});\r\nexport var pagerModule = {\r\n defaultOptions: () => ({\r\n pager: {\r\n visible: \"auto\",\r\n showPageSizeSelector: false,\r\n allowedPageSizes: \"auto\",\r\n label: messageLocalization.format(\"dxPager-ariaLabel\")\r\n }\r\n }),\r\n views: {\r\n pagerView: PagerView\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/row_dragging/const.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var ATTRIBUTES = {\r\n dragCell: \"dx-drag-cell\"\r\n};\r\nexport var CLASSES = {\r\n cellFocusDisabled: \"dx-cell-focus-disabled\",\r\n handleIcon: \"drag-icon\",\r\n commandDrag: \"dx-command-drag\",\r\n sortableWithoutHandle: \"dx-sortable-without-handle\",\r\n rowsView: \"rowsview\"\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/row_dragging/dom.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n CLASSES\r\n} from \"./const\";\r\nvar createHandleTemplateFunc = addWidgetPrefix => (container, options) => {\r\n var $container = $(container);\r\n if (\"data\" === options.rowType) {\r\n $container.addClass(CLASSES.cellFocusDisabled);\r\n return $(\"\").addClass(addWidgetPrefix(CLASSES.handleIcon))\r\n }\r\n gridCoreUtils.setEmptyText($container);\r\n return\r\n};\r\nexport var GridCoreRowDraggingDom = {\r\n createHandleTemplateFunc: createHandleTemplateFunc\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/row_dragging/m_row_dragging.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../../../core/../core/utils/extend\";\r\nimport {\r\n deferUpdate\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n getWidth,\r\n setWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport Sortable from \"../../../../ui/sortable\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n ATTRIBUTES,\r\n CLASSES\r\n} from \"./const\";\r\nimport {\r\n GridCoreRowDraggingDom\r\n} from \"./dom\";\r\nvar RowDraggingExtender = {\r\n init() {\r\n this.callBase.apply(this, arguments);\r\n this._updateHandleColumn()\r\n },\r\n _allowReordering() {\r\n var rowDragging = this.option(\"rowDragging\");\r\n return !!(rowDragging && (rowDragging.allowReordering || rowDragging.allowDropInsideItem || rowDragging.group))\r\n },\r\n _updateHandleColumn() {\r\n var rowDragging = this.option(\"rowDragging\");\r\n var allowReordering = this._allowReordering();\r\n var columnsController = this._columnsController;\r\n var isHandleColumnVisible = allowReordering && rowDragging.showDragIcons;\r\n null === columnsController || void 0 === columnsController ? void 0 : columnsController.addCommandColumn({\r\n type: \"drag\",\r\n command: \"drag\",\r\n visibleIndex: -2,\r\n alignment: \"center\",\r\n elementAttr: [{\r\n name: ATTRIBUTES.dragCell,\r\n value: \"\"\r\n }],\r\n cssClass: CLASSES.commandDrag,\r\n width: \"auto\",\r\n cellTemplate: this._getHandleTemplate(),\r\n visible: isHandleColumnVisible\r\n });\r\n null === columnsController || void 0 === columnsController ? void 0 : columnsController.columnOption(\"type:drag\", \"visible\", isHandleColumnVisible)\r\n },\r\n _renderContent() {\r\n var rowDragging = this.option(\"rowDragging\");\r\n var allowReordering = this._allowReordering();\r\n var $content = this.callBase.apply(this, arguments);\r\n var isFixedTableRendering = this._isFixedTableRendering;\r\n var currentSortableName = isFixedTableRendering ? \"_sortableFixed\" : \"_sortable\";\r\n var anotherSortableName = isFixedTableRendering ? \"_sortable\" : \"_sortableFixed\";\r\n var togglePointerEventsStyle = toggle => {\r\n var _a;\r\n null === (_a = this._sortableFixed) || void 0 === _a ? void 0 : _a.$element().css(\"pointerEvents\", toggle ? \"auto\" : \"\")\r\n };\r\n var rowSelector = \".dx-row:not(.dx-freespace-row):not(.dx-virtual-row):not(.dx-header-row):not(.dx-footer-row)\";\r\n var filter = this.option(\"dataRowTemplate\") ? \"> table > tbody\".concat(rowSelector) : \"> table > tbody > \".concat(rowSelector);\r\n if ((allowReordering || this[currentSortableName]) && $content.length) {\r\n this[currentSortableName] = this._createComponent($content, Sortable, extend({\r\n component: this.component,\r\n contentTemplate: null,\r\n filter: filter,\r\n cursorOffset: options => {\r\n var {\r\n event: event\r\n } = options;\r\n var rowsViewOffset = $(this.element()).offset();\r\n return {\r\n x: event.pageX - rowsViewOffset.left\r\n }\r\n },\r\n onDraggableElementShown: e => {\r\n if (rowDragging.dragTemplate) {\r\n return\r\n }\r\n var $dragElement = $(e.dragElement);\r\n var gridInstance = $dragElement.children(\".dx-widget\").data(this.component.NAME);\r\n this._synchronizeScrollLeftPosition(gridInstance)\r\n },\r\n dragTemplate: this._getDraggableRowTemplate(),\r\n handle: rowDragging.showDragIcons && \".\".concat(CLASSES.commandDrag),\r\n dropFeedbackMode: \"indicate\"\r\n }, rowDragging, {\r\n onDragStart: e => {\r\n var _a, _b;\r\n null === (_a = this.getController(\"keyboardNavigation\")) || void 0 === _a ? void 0 : _a._resetFocusedCell();\r\n var row = e.component.getVisibleRows()[e.fromIndex];\r\n e.itemData = row && row.data;\r\n var isDataRow = row && \"data\" === row.rowType;\r\n e.cancel = !allowReordering || !isDataRow;\r\n null === (_b = rowDragging.onDragStart) || void 0 === _b ? void 0 : _b.call(rowDragging, e)\r\n },\r\n onDragEnter: () => {\r\n togglePointerEventsStyle(true)\r\n },\r\n onDragLeave: () => {\r\n togglePointerEventsStyle(false)\r\n },\r\n onDragEnd: e => {\r\n var _a;\r\n togglePointerEventsStyle(false);\r\n null === (_a = rowDragging.onDragEnd) || void 0 === _a ? void 0 : _a.call(rowDragging, e)\r\n },\r\n onAdd: e => {\r\n var _a;\r\n togglePointerEventsStyle(false);\r\n null === (_a = rowDragging.onAdd) || void 0 === _a ? void 0 : _a.call(rowDragging, e)\r\n },\r\n dropFeedbackMode: rowDragging.dropFeedbackMode,\r\n onOptionChanged: e => {\r\n var hasFixedSortable = this._sortableFixed;\r\n if (hasFixedSortable) {\r\n if (\"fromIndex\" === e.name || \"toIndex\" === e.name) {\r\n this[anotherSortableName].option(e.name, e.value)\r\n }\r\n }\r\n }\r\n }));\r\n $content.toggleClass(\"dx-scrollable-container\", isFixedTableRendering);\r\n $content.toggleClass(CLASSES.sortableWithoutHandle, allowReordering && !rowDragging.showDragIcons)\r\n }\r\n return $content\r\n },\r\n _renderCore(e) {\r\n this.callBase.apply(this, arguments);\r\n if (e && \"update\" === e.changeType && e.repaintChangesOnly && gridCoreUtils.isVirtualRowRendering(this)) {\r\n deferUpdate(() => {\r\n this._updateSortable()\r\n })\r\n }\r\n },\r\n _updateSortable() {\r\n var offset = this._dataController.getRowIndexOffset();\r\n var offsetDiff = offset - this._previousOffset;\r\n [this._sortable, this._sortableFixed].forEach(sortable => {\r\n var toIndex = null === sortable || void 0 === sortable ? void 0 : sortable.option(\"toIndex\");\r\n if (isDefined(toIndex) && isDefined(this._previousOffset)) {\r\n null === sortable || void 0 === sortable ? void 0 : sortable.option(\"toIndex\", toIndex - offsetDiff)\r\n }\r\n null === sortable || void 0 === sortable ? void 0 : sortable.option(\"offset\", offset);\r\n null === sortable || void 0 === sortable ? void 0 : sortable.update()\r\n });\r\n this._previousOffset = offset\r\n },\r\n _resizeCore() {\r\n this.callBase.apply(this, arguments);\r\n this._updateSortable()\r\n },\r\n _getDraggableGridOptions(options) {\r\n var gridOptions = this.option();\r\n var columns = this.getColumns();\r\n var $rowElement = $(this.getRowElement(options.rowIndex));\r\n return {\r\n dataSource: [{\r\n id: 1,\r\n parentId: 0\r\n }],\r\n showBorders: true,\r\n showColumnHeaders: false,\r\n scrolling: {\r\n useNative: false,\r\n showScrollbar: \"never\"\r\n },\r\n pager: {\r\n visible: false\r\n },\r\n loadingTimeout: null,\r\n columnFixing: gridOptions.columnFixing,\r\n columnAutoWidth: gridOptions.columnAutoWidth,\r\n showColumnLines: gridOptions.showColumnLines,\r\n columns: columns.map(column => ({\r\n width: column.width || column.visibleWidth,\r\n fixed: column.fixed,\r\n fixedPosition: column.fixedPosition\r\n })),\r\n onRowPrepared: e => {\r\n var rowsView = e.component.getView(\"rowsView\");\r\n $(e.rowElement).replaceWith($rowElement.eq(rowsView._isFixedTableRendering ? 1 : 0).clone())\r\n }\r\n }\r\n },\r\n _synchronizeScrollLeftPosition(gridInstance) {\r\n var scrollable = null === gridInstance || void 0 === gridInstance ? void 0 : gridInstance.getScrollable();\r\n null === scrollable || void 0 === scrollable ? void 0 : scrollable.scrollTo({\r\n x: this._scrollLeft\r\n })\r\n },\r\n _getDraggableRowTemplate() {\r\n return options => {\r\n var $rootElement = this.component.$element();\r\n var $dataGridContainer = $(\"
    \");\r\n setWidth($dataGridContainer, getWidth($rootElement));\r\n var items = this._dataController.items();\r\n var row = items && items[options.fromIndex];\r\n var gridOptions = this._getDraggableGridOptions(row);\r\n this._createComponent($dataGridContainer, this.component.NAME, gridOptions);\r\n $dataGridContainer.find(\".dx-gridbase-container\").children(\":not(.\".concat(this.addWidgetPrefix(CLASSES.rowsView), \")\")).hide();\r\n return $dataGridContainer\r\n }\r\n },\r\n _getHandleTemplate() {\r\n return GridCoreRowDraggingDom.createHandleTemplateFunc(string => this.addWidgetPrefix(string))\r\n },\r\n optionChanged(args) {\r\n if (\"rowDragging\" === args.name) {\r\n this._updateHandleColumn();\r\n this._invalidate(true, true);\r\n args.handled = true\r\n }\r\n this.callBase.apply(this, arguments)\r\n }\r\n};\r\nexport var rowDraggingModule = {\r\n defaultOptions: () => ({\r\n rowDragging: {\r\n showDragIcons: true,\r\n dropFeedbackMode: \"indicate\",\r\n allowReordering: false,\r\n allowDropInsideItem: false\r\n }\r\n }),\r\n extenders: {\r\n views: {\r\n rowsView: RowDraggingExtender\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/search/m_search.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../../../core/dom_adapter\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n compileGetter\r\n} from \"../../../../core/utils/data\";\r\nimport dataQuery from \"../../../../data/query\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar SEARCH_PANEL_CLASS = \"search-panel\";\r\nvar SEARCH_TEXT_CLASS = \"search-text\";\r\nvar HEADER_PANEL_CLASS = \"header-panel\";\r\nvar FILTERING_TIMEOUT = 700;\r\n\r\nfunction allowSearch(column) {\r\n var _a;\r\n return !!(null !== (_a = column.allowSearch) && void 0 !== _a ? _a : column.allowFiltering)\r\n}\r\n\r\nfunction parseValue(column, text) {\r\n var {\r\n lookup: lookup\r\n } = column;\r\n if (!column.parseValue) {\r\n return text\r\n }\r\n if (lookup) {\r\n return column.parseValue.call(lookup, text)\r\n }\r\n return column.parseValue(text)\r\n}\r\nvar dataController = base => class extends base {\r\n publicMethods() {\r\n return super.publicMethods().concat([\"searchByText\"])\r\n }\r\n _calculateAdditionalFilter() {\r\n var filter = super._calculateAdditionalFilter();\r\n var searchFilter = this.calculateSearchFilter(this.option(\"searchPanel.text\"));\r\n return gridCoreUtils.combineFilters([filter, searchFilter])\r\n }\r\n searchByText(text) {\r\n this.option(\"searchPanel.text\", text)\r\n }\r\n optionChanged(args) {\r\n switch (args.fullName) {\r\n case \"searchPanel.text\":\r\n case \"searchPanel\":\r\n this._applyFilter();\r\n args.handled = true;\r\n break;\r\n default:\r\n super.optionChanged(args)\r\n }\r\n }\r\n calculateSearchFilter(text) {\r\n var i;\r\n var column;\r\n var columns = this._columnsController.getColumns();\r\n var searchVisibleColumnsOnly = this.option(\"searchPanel.searchVisibleColumnsOnly\");\r\n var lookup;\r\n var filters = [];\r\n if (!text) {\r\n return null\r\n }\r\n\r\n function onQueryDone(items) {\r\n var valueGetter = compileGetter(lookup.valueExpr);\r\n for (var _i = 0; _i < items.length; _i++) {\r\n var value = valueGetter(items[_i]);\r\n filters.push(column.createFilterExpression(value, null, \"search\"))\r\n }\r\n }\r\n for (i = 0; i < columns.length; i++) {\r\n column = columns[i];\r\n if (searchVisibleColumnsOnly && !column.visible) {\r\n continue\r\n }\r\n if (allowSearch(column) && column.calculateFilterExpression) {\r\n lookup = column.lookup;\r\n var filterValue = parseValue(column, text);\r\n if (lookup && lookup.items) {\r\n dataQuery(lookup.items).filter(column.createFilterExpression.call({\r\n dataField: lookup.displayExpr,\r\n dataType: lookup.dataType,\r\n calculateFilterExpression: column.calculateFilterExpression\r\n }, filterValue, null, \"search\")).enumerate().done(onQueryDone)\r\n } else if (void 0 !== filterValue) {\r\n filters.push(column.createFilterExpression(filterValue, null, \"search\"))\r\n }\r\n }\r\n }\r\n if (0 === filters.length) {\r\n return [\"!\"]\r\n }\r\n return gridCoreUtils.combineFilters(filters, \"or\")\r\n }\r\n};\r\nvar headerPanel = Base => class extends Base {\r\n _getToolbarItems() {\r\n var items = super._getToolbarItems();\r\n return this._prepareSearchItem(items)\r\n }\r\n _prepareSearchItem(items) {\r\n var that = this;\r\n var dataController = that.getController(\"data\");\r\n var searchPanelOptions = this.option(\"searchPanel\");\r\n if (searchPanelOptions && searchPanelOptions.visible) {\r\n var toolbarItem = {\r\n template(data, index, container) {\r\n var $search = $(\"
    \").addClass(that.addWidgetPrefix(SEARCH_PANEL_CLASS)).appendTo(container);\r\n that.getController(\"editorFactory\").createEditor($search, {\r\n width: searchPanelOptions.width,\r\n placeholder: searchPanelOptions.placeholder,\r\n parentType: \"searchPanel\",\r\n value: that.option(\"searchPanel.text\"),\r\n updateValueTimeout: FILTERING_TIMEOUT,\r\n setValue(value) {\r\n dataController.searchByText(value)\r\n },\r\n editorOptions: {\r\n inputAttr: {\r\n \"aria-label\": messageLocalization.format(\"\".concat(that.component.NAME, \"-ariaSearchInGrid\"))\r\n }\r\n }\r\n });\r\n that.resize()\r\n },\r\n name: \"searchPanel\",\r\n location: \"after\",\r\n locateInMenu: \"never\",\r\n sortIndex: 40\r\n };\r\n items.push(toolbarItem)\r\n }\r\n return items\r\n }\r\n getSearchTextEditor() {\r\n var that = this;\r\n var $element = that.element();\r\n var $searchPanel = $element.find(\".\".concat(that.addWidgetPrefix(SEARCH_PANEL_CLASS))).filter((function() {\r\n return $(this).closest(\".\".concat(that.addWidgetPrefix(HEADER_PANEL_CLASS))).is($element)\r\n }));\r\n if ($searchPanel.length) {\r\n return $searchPanel.dxTextBox(\"instance\")\r\n }\r\n return null\r\n }\r\n isVisible() {\r\n var searchPanelOptions = this.option(\"searchPanel\");\r\n return super.isVisible() || !!(null === searchPanelOptions || void 0 === searchPanelOptions ? void 0 : searchPanelOptions.visible)\r\n }\r\n optionChanged(args) {\r\n if (\"searchPanel\" === args.name) {\r\n if (\"searchPanel.text\" === args.fullName) {\r\n var editor = this.getSearchTextEditor();\r\n if (editor) {\r\n editor.option(\"value\", args.value)\r\n }\r\n } else {\r\n this._invalidate()\r\n }\r\n args.handled = true\r\n } else {\r\n super.optionChanged(args)\r\n }\r\n }\r\n};\r\nvar rowsView = Base => class extends Base {\r\n init() {\r\n super.init.apply(this, arguments);\r\n this._searchParams = []\r\n }\r\n _getFormattedSearchText(column, searchText) {\r\n var value = parseValue(column, searchText);\r\n var formatOptions = gridCoreUtils.getFormatOptionsByColumn(column, \"search\");\r\n return gridCoreUtils.formatValue(value, formatOptions)\r\n }\r\n _getStringNormalizer() {\r\n var isCaseSensitive = this.option(\"searchPanel.highlightCaseSensitive\");\r\n return function(str) {\r\n return isCaseSensitive ? str : str.toLowerCase()\r\n }\r\n }\r\n _findHighlightingTextNodes(column, cellElement, searchText) {\r\n var $parent = cellElement.parent();\r\n var $items;\r\n var stringNormalizer = this._getStringNormalizer();\r\n var normalizedSearchText = stringNormalizer(searchText);\r\n var resultTextNodes = [];\r\n if (!$parent.length) {\r\n $parent = $(\"
    \").append(cellElement)\r\n } else if (column) {\r\n if (column.groupIndex >= 0 && !column.showWhenGrouped) {\r\n $items = cellElement\r\n } else {\r\n var columnIndex = this._columnsController.getVisibleIndex(column.index);\r\n $items = $parent.children(\"td\").eq(columnIndex).find(\"*\")\r\n }\r\n }\r\n $items = (null === $items || void 0 === $items ? void 0 : $items.length) ? $items : $parent.find(\"*\");\r\n $items.each((_, element) => {\r\n var _a, _b;\r\n var $contents = $(element).contents();\r\n for (var i = 0; i < $contents.length; i++) {\r\n var node = $contents.get(i);\r\n if (3 === node.nodeType) {\r\n var normalizedText = stringNormalizer(null !== (_b = null !== (_a = node.textContent) && void 0 !== _a ? _a : node.nodeValue) && void 0 !== _b ? _b : \"\");\r\n if (normalizedText.includes(normalizedSearchText)) {\r\n resultTextNodes.push(node)\r\n }\r\n }\r\n }\r\n });\r\n return resultTextNodes\r\n }\r\n _highlightSearchTextCore($textNode, searchText) {\r\n var $searchTextSpan = $(\"\").addClass(this.addWidgetPrefix(SEARCH_TEXT_CLASS));\r\n var text = $textNode.text();\r\n var firstContentElement = $textNode[0];\r\n var stringNormalizer = this._getStringNormalizer();\r\n var index = stringNormalizer(text).indexOf(stringNormalizer(searchText));\r\n if (index >= 0) {\r\n if (firstContentElement.textContent) {\r\n firstContentElement.textContent = text.substr(0, index)\r\n } else {\r\n firstContentElement.nodeValue = text.substr(0, index)\r\n }\r\n $textNode.after($searchTextSpan.text(text.substr(index, searchText.length)));\r\n $textNode = $(domAdapter.createTextNode(text.substr(index + searchText.length))).insertAfter($searchTextSpan);\r\n return this._highlightSearchTextCore($textNode, searchText)\r\n }\r\n }\r\n _highlightSearchText(cellElement, isEquals, column) {\r\n var that = this;\r\n var stringNormalizer = this._getStringNormalizer();\r\n var searchText = that.option(\"searchPanel.text\");\r\n if (isEquals && column) {\r\n searchText = searchText && that._getFormattedSearchText(column, searchText)\r\n }\r\n if (searchText && that.option(\"searchPanel.highlightSearchText\")) {\r\n var textNodes = that._findHighlightingTextNodes(column, cellElement, searchText);\r\n textNodes.forEach(textNode => {\r\n if (isEquals) {\r\n if (stringNormalizer($(textNode).text()) === stringNormalizer(null !== searchText && void 0 !== searchText ? searchText : \"\")) {\r\n $(textNode).replaceWith($(\"\").addClass(that.addWidgetPrefix(SEARCH_TEXT_CLASS)).text($(textNode).text()))\r\n }\r\n } else {\r\n that._highlightSearchTextCore($(textNode), searchText)\r\n }\r\n })\r\n }\r\n }\r\n _renderCore() {\r\n var deferred = super._renderCore.apply(this, arguments);\r\n if (this.option().rowTemplate || this.option(\"dataRowTemplate\")) {\r\n if (this.option(\"templatesRenderAsynchronously\")) {\r\n clearTimeout(this._highlightTimer);\r\n this._highlightTimer = setTimeout(() => {\r\n this._highlightSearchText(this.getTableElement())\r\n })\r\n } else {\r\n this._highlightSearchText(this.getTableElement())\r\n }\r\n }\r\n return deferred\r\n }\r\n _updateCell($cell, parameters) {\r\n var {\r\n column: column\r\n } = parameters;\r\n var dataType = column.lookup && column.lookup.dataType || column.dataType;\r\n var isEquals = \"string\" !== dataType;\r\n if (allowSearch(column) && !parameters.isOnForm) {\r\n if (this.option(\"templatesRenderAsynchronously\")) {\r\n if (!this._searchParams.length) {\r\n clearTimeout(this._highlightTimer);\r\n this._highlightTimer = setTimeout(() => {\r\n this._searchParams.forEach(params => {\r\n this._highlightSearchText.apply(this, params)\r\n });\r\n this._searchParams = []\r\n })\r\n }\r\n this._searchParams.push([$cell, isEquals, column])\r\n } else {\r\n this._highlightSearchText($cell, isEquals, column)\r\n }\r\n }\r\n super._updateCell($cell, parameters)\r\n }\r\n dispose() {\r\n clearTimeout(this._highlightTimer);\r\n super.dispose()\r\n }\r\n};\r\nexport var searchModule = {\r\n defaultOptions: () => ({\r\n searchPanel: {\r\n visible: false,\r\n width: 160,\r\n placeholder: messageLocalization.format(\"dxDataGrid-searchPanelPlaceholder\"),\r\n highlightSearchText: true,\r\n highlightCaseSensitive: false,\r\n text: \"\",\r\n searchVisibleColumnsOnly: false\r\n }\r\n }),\r\n extenders: {\r\n controllers: {\r\n data: dataController\r\n },\r\n views: {\r\n headerPanel: headerPanel,\r\n rowsView: rowsView\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/selection/m_selection.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n touch\r\n} from \"../../../../core/utils/support\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n applyBatch\r\n} from \"../../../../data/array_utils\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../../events/click\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport holdEvent from \"../../../../events/hold\";\r\nimport {\r\n addNamespace,\r\n isCommandKeyPressed\r\n} from \"../../../../events/utils/index\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport Selection from \"../../../../ui/selection/selection\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar EDITOR_CELL_CLASS = \"dx-editor-cell\";\r\nvar ROW_CLASS = \"dx-row\";\r\nvar ROW_SELECTION_CLASS = \"dx-selection\";\r\nvar SELECT_CHECKBOX_CLASS = \"dx-select-checkbox\";\r\nvar CHECKBOXES_HIDDEN_CLASS = \"dx-select-checkboxes-hidden\";\r\nvar COMMAND_SELECT_CLASS = \"dx-command-select\";\r\nvar SELECTION_DISABLED_CLASS = \"dx-selection-disabled\";\r\nvar DATA_ROW_CLASS = \"dx-data-row\";\r\nvar SHOW_CHECKBOXES_MODE = \"selection.showCheckBoxesMode\";\r\nvar SELECTION_MODE = \"selection.mode\";\r\nvar processLongTap = function(that, dxEvent) {\r\n var selectionController = that.getController(\"selection\");\r\n var rowsView = that.getView(\"rowsView\");\r\n var $row = $(dxEvent.target).closest(\".\".concat(DATA_ROW_CLASS));\r\n var rowIndex = rowsView.getRowIndex($row);\r\n if (rowIndex < 0) {\r\n return\r\n }\r\n if (\"onLongTap\" === that.option(SHOW_CHECKBOXES_MODE)) {\r\n if (selectionController.isSelectionWithCheckboxes()) {\r\n selectionController.stopSelectionWithCheckboxes()\r\n } else {\r\n selectionController.startSelectionWithCheckboxes()\r\n }\r\n } else {\r\n if (\"onClick\" === that.option(SHOW_CHECKBOXES_MODE)) {\r\n selectionController.startSelectionWithCheckboxes()\r\n }\r\n if (\"always\" !== that.option(SHOW_CHECKBOXES_MODE)) {\r\n selectionController.changeItemSelection(rowIndex, {\r\n control: true\r\n })\r\n }\r\n }\r\n};\r\nvar isSeveralRowsSelected = function(that, selectionFilter) {\r\n var keyIndex = 0;\r\n var store = that._dataController.store();\r\n var key = store && store.key();\r\n var isComplexKey = Array.isArray(key);\r\n if (!selectionFilter.length) {\r\n return false\r\n }\r\n if (isComplexKey && Array.isArray(selectionFilter[0]) && \"and\" === selectionFilter[1]) {\r\n for (var i = 0; i < selectionFilter.length; i++) {\r\n if (Array.isArray(selectionFilter[i])) {\r\n if (selectionFilter[i][0] !== key[keyIndex] || \"=\" !== selectionFilter[i][1]) {\r\n return true\r\n }\r\n keyIndex++\r\n }\r\n }\r\n return false\r\n }\r\n return key !== selectionFilter[0]\r\n};\r\nvar selectionCellTemplate = (container, options) => {\r\n var {\r\n component: component\r\n } = options;\r\n var rowsView = component.getView(\"rowsView\");\r\n if (component.option(\"renderAsync\") && !component.option(\"selection.deferred\")) {\r\n options.value = component.isRowSelected(options.row.key)\r\n }\r\n rowsView.renderSelectCheckBoxContainer($(container), options)\r\n};\r\nvar selectionHeaderTemplate = (container, options) => {\r\n var {\r\n column: column\r\n } = options;\r\n var $cellElement = $(container);\r\n var columnHeadersView = options.component.getView(\"columnHeadersView\");\r\n $cellElement.addClass(EDITOR_CELL_CLASS);\r\n columnHeadersView._renderSelectAllCheckBox($cellElement, column);\r\n columnHeadersView._attachSelectAllCheckBoxClickEvent($cellElement)\r\n};\r\nexport class SelectionController extends modules.Controller {\r\n init() {\r\n var _a;\r\n var {\r\n deferred: deferred,\r\n selectAllMode: selectAllMode,\r\n mode: mode\r\n } = null !== (_a = this.option(\"selection\")) && void 0 !== _a ? _a : {};\r\n if (\"infinite\" === this.option(\"scrolling.mode\") && !deferred && \"multiple\" === mode && \"allPages\" === selectAllMode) {\r\n errors.log(\"W1018\")\r\n }\r\n this._dataController = this.getController(\"data\");\r\n this._selectionMode = mode;\r\n this._isSelectionWithCheckboxes = false;\r\n this._selection = this._createSelection();\r\n this._updateSelectColumn();\r\n this.createAction(\"onSelectionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n if (!this._dataPushedHandler) {\r\n this._dataPushedHandler = this._handleDataPushed.bind(this);\r\n this._dataController.pushed.add(this._dataPushedHandler)\r\n }\r\n }\r\n _handleDataPushed(changes) {\r\n this._deselectRemovedOnPush(changes);\r\n this._updateSelectedOnPush(changes)\r\n }\r\n _deselectRemovedOnPush(changes) {\r\n var isDeferredSelection = this.option(\"selection.deferred\");\r\n var removedKeys = changes.filter(change => \"remove\" === change.type).map(change => change.key);\r\n if (isDeferredSelection) {\r\n var selectedKeys = this._dataController.items().filter(item => item.isSelected).map(item => item.key);\r\n removedKeys = removedKeys.filter(key => selectedKeys.find(selectedKey => equalByValue(selectedKey, key)))\r\n }\r\n removedKeys.length && this.deselectRows(removedKeys)\r\n }\r\n _updateSelectedOnPush(changes) {\r\n var isDeferredSelection = this.option(\"selection.deferred\");\r\n if (isDeferredSelection) {\r\n return\r\n }\r\n var updateChanges = changes.filter(change => \"update\" === change.type);\r\n var data = this.getSelectedRowsData();\r\n applyBatch({\r\n keyInfo: this._selection.options,\r\n data: data,\r\n changes: updateChanges\r\n })\r\n }\r\n _getSelectionConfig() {\r\n var _a;\r\n var dataController = this._dataController;\r\n var columnsController = this.getController(\"columns\");\r\n var selectionOptions = null !== (_a = this.option(\"selection\")) && void 0 !== _a ? _a : {};\r\n var {\r\n deferred: deferred\r\n } = selectionOptions;\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n var virtualPaging = \"virtual\" === scrollingMode || \"infinite\" === scrollingMode;\r\n var allowSelectAll = this.option(\"selection.allowSelectAll\");\r\n var legacyScrollingMode = this.option(\"scrolling.legacyMode\");\r\n return {\r\n selectedKeys: this.option(\"selectedRowKeys\"),\r\n mode: this._selectionMode,\r\n deferred: deferred,\r\n maxFilterLengthInRequest: selectionOptions.maxFilterLengthInRequest,\r\n selectionFilter: this.option(\"selectionFilter\"),\r\n ignoreDisabledItems: true,\r\n allowLoadByRange() {\r\n var hasGroupColumns = columnsController.getGroupColumns().length > 0;\r\n return virtualPaging && !legacyScrollingMode && !hasGroupColumns && allowSelectAll && !deferred\r\n },\r\n key: () => null === dataController || void 0 === dataController ? void 0 : dataController.key(),\r\n keyOf: item => null === dataController || void 0 === dataController ? void 0 : dataController.keyOf(item),\r\n dataFields() {\r\n var _a;\r\n return null === (_a = dataController.dataSource()) || void 0 === _a ? void 0 : _a.select()\r\n },\r\n load(options) {\r\n var _a;\r\n return (null === (_a = dataController.dataSource()) || void 0 === _a ? void 0 : _a.load(options)) || (new Deferred).resolve([])\r\n },\r\n plainItems: () => dataController.items(true),\r\n isItemSelected: item => item.selected,\r\n isSelectableItem: item => \"data\" === (null === item || void 0 === item ? void 0 : item.rowType) && !item.isNewRow,\r\n getItemData: item => isDefined(null === item || void 0 === item ? void 0 : item.rowType) ? (null === item || void 0 === item ? void 0 : item.oldData) || (null === item || void 0 === item ? void 0 : item.data) : item,\r\n filter: () => dataController.getCombinedFilter(deferred),\r\n totalCount: () => dataController.totalCount(),\r\n getLoadOptions(loadItemIndex, focusedItemIndex, shiftItemIndex) {\r\n var _a, _b;\r\n var {\r\n sort: sort,\r\n filter: filter\r\n } = null !== (_b = null === (_a = dataController.dataSource()) || void 0 === _a ? void 0 : _a.lastLoadOptions()) && void 0 !== _b ? _b : {};\r\n var minIndex = Math.min(loadItemIndex, focusedItemIndex);\r\n var maxIndex = Math.max(loadItemIndex, focusedItemIndex);\r\n if (isDefined(shiftItemIndex)) {\r\n minIndex = Math.min(shiftItemIndex, minIndex);\r\n maxIndex = Math.max(shiftItemIndex, maxIndex)\r\n }\r\n var take = maxIndex - minIndex + 1;\r\n return {\r\n skip: minIndex,\r\n take: take,\r\n filter: filter,\r\n sort: sort\r\n }\r\n },\r\n onSelectionChanged: this._updateSelectedItems.bind(this)\r\n }\r\n }\r\n _updateSelectColumn() {\r\n var columnsController = this.getController(\"columns\");\r\n var isSelectColumnVisible = this.isSelectColumnVisible();\r\n columnsController.addCommandColumn({\r\n type: \"selection\",\r\n command: \"select\",\r\n visible: isSelectColumnVisible,\r\n visibleIndex: -1,\r\n dataType: \"boolean\",\r\n alignment: \"center\",\r\n cssClass: COMMAND_SELECT_CLASS,\r\n width: \"auto\",\r\n cellTemplate: selectionCellTemplate,\r\n headerCellTemplate: selectionHeaderTemplate\r\n });\r\n columnsController.columnOption(\"command:select\", \"visible\", isSelectColumnVisible)\r\n }\r\n _createSelection() {\r\n var options = this._getSelectionConfig();\r\n return new Selection(options)\r\n }\r\n _fireSelectionChanged(options) {\r\n var argument = this.option(\"selection.deferred\") ? {\r\n selectionFilter: this.option(\"selectionFilter\")\r\n } : {\r\n selectedRowKeys: this.option(\"selectedRowKeys\")\r\n };\r\n this.selectionChanged.fire(argument);\r\n if (options) {\r\n this.executeAction(\"onSelectionChanged\", options)\r\n }\r\n }\r\n _updateCheckboxesState(options) {\r\n var {\r\n isDeferredMode: isDeferredMode\r\n } = options;\r\n var {\r\n selectionFilter: selectionFilter\r\n } = options;\r\n var {\r\n selectedItemKeys: selectedItemKeys\r\n } = options;\r\n var {\r\n removedItemKeys: removedItemKeys\r\n } = options;\r\n if (\"onClick\" === this.option(SHOW_CHECKBOXES_MODE)) {\r\n if (isDeferredMode ? selectionFilter && isSeveralRowsSelected(this, selectionFilter) : selectedItemKeys.length > 1) {\r\n this.startSelectionWithCheckboxes()\r\n } else if (isDeferredMode ? selectionFilter && !selectionFilter.length : 0 === selectedItemKeys.length && removedItemKeys.length) {\r\n this.stopSelectionWithCheckboxes()\r\n }\r\n }\r\n }\r\n _updateSelectedItems(args) {\r\n var selectionChangedOptions;\r\n var isDeferredMode = this.option(\"selection.deferred\");\r\n var selectionFilter = this._selection.selectionFilter();\r\n var dataController = this._dataController;\r\n var items = dataController.items(true);\r\n var visibleItems = dataController.items();\r\n if (!items) {\r\n return\r\n }\r\n var isSelectionWithCheckboxes = this.isSelectionWithCheckboxes();\r\n var changedItemIndexes = this.getChangedItemIndexes(items);\r\n var visibleChangedItemIndexes = this.getChangedItemIndexes(visibleItems);\r\n this._updateCheckboxesState({\r\n selectedItemKeys: args.selectedItemKeys,\r\n removedItemKeys: args.removedItemKeys,\r\n selectionFilter: selectionFilter,\r\n isDeferredMode: isDeferredMode\r\n });\r\n if (changedItemIndexes.length || isSelectionWithCheckboxes !== this.isSelectionWithCheckboxes()) {\r\n dataController.updateItems({\r\n changeType: \"updateSelection\",\r\n itemIndexes: visibleChangedItemIndexes\r\n })\r\n }\r\n if (isDeferredMode) {\r\n this.option(\"selectionFilter\", selectionFilter);\r\n selectionChangedOptions = {}\r\n } else if (args.addedItemKeys.length || args.removedItemKeys.length) {\r\n this._selectedItemsInternalChange = true;\r\n this.option(\"selectedRowKeys\", args.selectedItemKeys.slice(0));\r\n this._selectedItemsInternalChange = false;\r\n selectionChangedOptions = {\r\n selectedRowsData: args.selectedItems.slice(0),\r\n selectedRowKeys: args.selectedItemKeys.slice(0),\r\n currentSelectedRowKeys: args.addedItemKeys.slice(0),\r\n currentDeselectedRowKeys: args.removedItemKeys.slice(0)\r\n }\r\n }\r\n this._fireSelectionChanged(selectionChangedOptions)\r\n }\r\n getChangedItemIndexes(items) {\r\n var itemIndexes = [];\r\n var isDeferredSelection = this.option(\"selection.deferred\");\r\n for (var i = 0, {\r\n length: length\r\n } = items; i < length; i++) {\r\n var row = items[i];\r\n var isItemSelected = this.isRowSelected(isDeferredSelection ? row.data : row.key);\r\n if (this._selection.isDataItem(row) && row.isSelected !== isItemSelected) {\r\n itemIndexes.push(i)\r\n }\r\n }\r\n return itemIndexes\r\n }\r\n callbackNames() {\r\n return [\"selectionChanged\"]\r\n }\r\n optionChanged(args) {\r\n super.optionChanged(args);\r\n switch (args.name) {\r\n case \"selection\":\r\n var oldSelectionMode = this._selectionMode;\r\n this.init();\r\n if (\"selection.showCheckBoxesMode\" !== args.fullName) {\r\n var selectionMode = this._selectionMode;\r\n var selectedRowKeys = this.option(\"selectedRowKeys\");\r\n if (oldSelectionMode !== selectionMode) {\r\n if (\"single\" === selectionMode) {\r\n if (selectedRowKeys.length > 1) {\r\n selectedRowKeys = [selectedRowKeys[0]]\r\n }\r\n } else if (\"multiple\" !== selectionMode) {\r\n selectedRowKeys = []\r\n }\r\n }\r\n this.selectRows(selectedRowKeys).always(() => {\r\n this._fireSelectionChanged()\r\n })\r\n }\r\n this.getController(\"columns\").updateColumns();\r\n args.handled = true;\r\n break;\r\n case \"selectionFilter\":\r\n this._selection.selectionFilter(args.value);\r\n args.handled = true;\r\n break;\r\n case \"selectedRowKeys\":\r\n var value = args.value || [];\r\n if (Array.isArray(value) && !this._selectedItemsInternalChange && (this.component.getDataSource() || !value.length)) {\r\n this.selectRows(value)\r\n }\r\n args.handled = true\r\n }\r\n }\r\n publicMethods() {\r\n return [\"selectRows\", \"deselectRows\", \"selectRowsByIndexes\", \"getSelectedRowKeys\", \"getSelectedRowsData\", \"clearSelection\", \"selectAll\", \"deselectAll\", \"startSelectionWithCheckboxes\", \"stopSelectionWithCheckboxes\", \"isRowSelected\"]\r\n }\r\n isRowSelected(arg) {\r\n return this._selection.isItemSelected(arg)\r\n }\r\n isSelectColumnVisible() {\r\n return \"multiple\" === this.option(SELECTION_MODE) && (\"always\" === this.option(SHOW_CHECKBOXES_MODE) || \"onClick\" === this.option(SHOW_CHECKBOXES_MODE) || this._isSelectionWithCheckboxes)\r\n }\r\n _isOnePageSelectAll() {\r\n return \"page\" === this.option(\"selection.selectAllMode\")\r\n }\r\n isSelectAll() {\r\n return this._selection.getSelectAllState(this._isOnePageSelectAll())\r\n }\r\n selectAll() {\r\n if (\"onClick\" === this.option(SHOW_CHECKBOXES_MODE)) {\r\n this.startSelectionWithCheckboxes()\r\n }\r\n return this._selection.selectAll(this._isOnePageSelectAll())\r\n }\r\n deselectAll() {\r\n return this._selection.deselectAll(this._isOnePageSelectAll())\r\n }\r\n clearSelection() {\r\n return this.selectedItemKeys([])\r\n }\r\n refresh() {\r\n var _a;\r\n var selectedRowKeys = null !== (_a = this.option(\"selectedRowKeys\")) && void 0 !== _a ? _a : [];\r\n if (!this.option(\"selection.deferred\") && selectedRowKeys.length) {\r\n return this.selectedItemKeys(selectedRowKeys)\r\n }\r\n return (new Deferred).resolve().promise()\r\n }\r\n selectedItemKeys(value, preserve, isDeselect, isSelectAll) {\r\n return this._selection.selectedItemKeys(value, preserve, isDeselect, isSelectAll)\r\n }\r\n getSelectedRowKeys() {\r\n return this._selection.getSelectedItemKeys()\r\n }\r\n selectRows(keys, preserve) {\r\n return this.selectedItemKeys(keys, preserve)\r\n }\r\n deselectRows(keys) {\r\n return this.selectedItemKeys(keys, true, true)\r\n }\r\n selectRowsByIndexes(indexes) {\r\n var items = this._dataController.items();\r\n var keys = [];\r\n if (!Array.isArray(indexes)) {\r\n indexes = Array.prototype.slice.call(arguments, 0)\r\n }\r\n each(indexes, (function() {\r\n var item = items[this];\r\n if (item && \"data\" === item.rowType) {\r\n keys.push(item.key)\r\n }\r\n }));\r\n return this.selectRows(keys)\r\n }\r\n getSelectedRowsData() {\r\n return this._selection.getSelectedItems()\r\n }\r\n loadSelectedItemsWithFilter() {\r\n return this._selection.loadSelectedItemsWithFilter()\r\n }\r\n changeItemSelection(visibleItemIndex, keys, setFocusOnly) {\r\n keys = keys || {};\r\n if (this.isSelectionWithCheckboxes()) {\r\n keys.control = true\r\n }\r\n var loadedItemIndex = visibleItemIndex + this._dataController.getRowIndexOffset() - this._dataController.getRowIndexOffset(true);\r\n return this._selection.changeItemSelection(loadedItemIndex, keys, setFocusOnly)\r\n }\r\n focusedItemIndex(itemIndex) {\r\n if (isDefined(itemIndex)) {\r\n this._selection._focusedItemIndex = itemIndex\r\n } else {\r\n return this._selection._focusedItemIndex\r\n }\r\n return\r\n }\r\n isSelectionWithCheckboxes() {\r\n return \"multiple\" === this.option(SELECTION_MODE) && (\"always\" === this.option(SHOW_CHECKBOXES_MODE) || this._isSelectionWithCheckboxes)\r\n }\r\n startSelectionWithCheckboxes() {\r\n if (\"multiple\" === this.option(SELECTION_MODE) && !this.isSelectionWithCheckboxes()) {\r\n this._isSelectionWithCheckboxes = true;\r\n this._updateSelectColumn();\r\n return true\r\n }\r\n return false\r\n }\r\n stopSelectionWithCheckboxes() {\r\n if (this._isSelectionWithCheckboxes) {\r\n this._isSelectionWithCheckboxes = false;\r\n this._updateSelectColumn();\r\n return true\r\n }\r\n return false\r\n }\r\n}\r\nexport var selectionModule = {\r\n defaultOptions: () => ({\r\n selection: {\r\n mode: \"none\",\r\n showCheckBoxesMode: \"onClick\",\r\n allowSelectAll: true,\r\n selectAllMode: \"allPages\",\r\n maxFilterLengthInRequest: 1500,\r\n deferred: false\r\n },\r\n selectionFilter: [],\r\n selectedRowKeys: []\r\n }),\r\n controllers: {\r\n selection: SelectionController\r\n },\r\n extenders: {\r\n controllers: {\r\n data: {\r\n init() {\r\n var selectionController = this.getController(\"selection\");\r\n var isDeferredMode = this.option(\"selection.deferred\");\r\n this.callBase.apply(this, arguments);\r\n if (isDeferredMode) {\r\n selectionController._updateCheckboxesState({\r\n isDeferredMode: true,\r\n selectionFilter: this.option(\"selectionFilter\")\r\n })\r\n }\r\n },\r\n _loadDataSource() {\r\n var that = this;\r\n return that.callBase().always(() => {\r\n that.getController(\"selection\").refresh()\r\n })\r\n },\r\n _processDataItem(item, options) {\r\n var selectionController = this.getController(\"selection\");\r\n var hasSelectColumn = selectionController.isSelectColumnVisible();\r\n var isDeferredSelection = options.isDeferredSelection = void 0 === options.isDeferredSelection ? this.option(\"selection.deferred\") : options.isDeferredSelection;\r\n var dataItem = this.callBase.apply(this, arguments);\r\n dataItem.isSelected = selectionController.isRowSelected(isDeferredSelection ? dataItem.data : dataItem.key);\r\n if (hasSelectColumn && dataItem.values) {\r\n for (var i = 0; i < options.visibleColumns.length; i++) {\r\n if (\"select\" === options.visibleColumns[i].command) {\r\n dataItem.values[i] = dataItem.isSelected;\r\n break\r\n }\r\n }\r\n }\r\n return dataItem\r\n },\r\n refresh(options) {\r\n var that = this;\r\n var d = new Deferred;\r\n this.callBase.apply(this, arguments).done(() => {\r\n if (!options || options.selection) {\r\n that.getController(\"selection\").refresh().done(d.resolve).fail(d.reject)\r\n } else {\r\n d.resolve()\r\n }\r\n }).fail(d.reject);\r\n return d.promise()\r\n },\r\n _handleDataChanged(e) {\r\n this.callBase.apply(this, arguments);\r\n if ((!e || \"refresh\" === e.changeType) && !this._repaintChangesOnly) {\r\n this.getController(\"selection\").focusedItemIndex(-1)\r\n }\r\n },\r\n _applyChange(change) {\r\n if (change && \"updateSelection\" === change.changeType) {\r\n change.items.forEach((item, index) => {\r\n var currentItem = this._items[index];\r\n if (currentItem) {\r\n currentItem.isSelected = item.isSelected;\r\n currentItem.values = item.values\r\n }\r\n });\r\n return\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _endUpdateCore() {\r\n var changes = this._changes;\r\n var isUpdateSelection = changes.length > 1 && changes.every(change => \"updateSelection\" === change.changeType);\r\n if (isUpdateSelection) {\r\n var itemIndexes = changes.map(change => change.itemIndexes || []).reduce((a, b) => a.concat(b));\r\n this._changes = [{\r\n changeType: \"updateSelection\",\r\n itemIndexes: itemIndexes\r\n }]\r\n }\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n contextMenu: {\r\n _contextMenuPrepared(options) {\r\n var dxEvent = options.event;\r\n if (dxEvent.originalEvent && \"dxhold\" !== dxEvent.originalEvent.type || options.items && options.items.length > 0) {\r\n return\r\n }\r\n processLongTap(this, dxEvent)\r\n }\r\n }\r\n },\r\n views: {\r\n columnHeadersView: {\r\n init() {\r\n this.callBase();\r\n this.getController(\"selection\").selectionChanged.add(this._updateSelectAllValue.bind(this))\r\n },\r\n _updateSelectAllValue() {\r\n var $element = this.element();\r\n var $editor = $element && $element.find(\".\".concat(SELECT_CHECKBOX_CLASS));\r\n if ($element && $editor.length && \"multiple\" === this.option(\"selection.mode\")) {\r\n var selectAllValue = this.getController(\"selection\").isSelectAll();\r\n var hasSelection = false !== selectAllValue;\r\n var isVisible = this.option(\"selection.allowSelectAll\") ? !this.getController(\"data\").isEmpty() : hasSelection;\r\n $editor.dxCheckBox(\"instance\").option({\r\n visible: isVisible,\r\n value: selectAllValue\r\n })\r\n }\r\n },\r\n _handleDataChanged(e) {\r\n this.callBase(e);\r\n if (!e || \"refresh\" === e.changeType || e.repaintChangesOnly && \"update\" === e.changeType) {\r\n this.waitAsyncTemplates().done(() => {\r\n this._updateSelectAllValue()\r\n })\r\n }\r\n },\r\n _renderSelectAllCheckBox($container, column) {\r\n var that = this;\r\n var selectionController = that.getController(\"selection\");\r\n var isEmptyData = that.getController(\"data\").isEmpty();\r\n var groupElement = $(\"
    \").appendTo($container).addClass(SELECT_CHECKBOX_CLASS);\r\n that.setAria(\"label\", messageLocalization.format(\"dxDataGrid-ariaSelectAll\"), groupElement);\r\n that.getController(\"editorFactory\").createEditor(groupElement, extend({}, column, {\r\n parentType: \"headerRow\",\r\n dataType: \"boolean\",\r\n value: selectionController.isSelectAll(),\r\n editorOptions: {\r\n visible: !isEmptyData && (that.option(\"selection.allowSelectAll\") || false !== selectionController.isSelectAll())\r\n },\r\n tabIndex: that.option(\"useLegacyKeyboardNavigation\") ? -1 : that.option(\"tabIndex\") || 0,\r\n setValue(value, e) {\r\n var allowSelectAll = that.option(\"selection.allowSelectAll\");\r\n e.component.option(\"visible\", allowSelectAll || false !== e.component.option(\"value\"));\r\n if (!e.event || selectionController.isSelectAll() === value) {\r\n return\r\n }\r\n if (e.value && !allowSelectAll) {\r\n e.component.option(\"value\", false)\r\n } else {\r\n e.value ? selectionController.selectAll() : selectionController.deselectAll()\r\n }\r\n e.event.preventDefault()\r\n }\r\n }));\r\n return groupElement\r\n },\r\n _attachSelectAllCheckBoxClickEvent($element) {\r\n eventsEngine.on($element, clickEventName, this.createAction(e => {\r\n var {\r\n event: event\r\n } = e;\r\n if (!$(event.target).closest(\".\".concat(SELECT_CHECKBOX_CLASS)).length) {\r\n eventsEngine.trigger($(event.currentTarget).children(\".\".concat(SELECT_CHECKBOX_CLASS)), clickEventName)\r\n }\r\n event.preventDefault()\r\n }))\r\n }\r\n },\r\n rowsView: {\r\n renderSelectCheckBoxContainer($container, options) {\r\n if (\"data\" === options.rowType && !options.row.isNewRow) {\r\n $container.addClass(EDITOR_CELL_CLASS);\r\n this._attachCheckBoxClickEvent($container);\r\n this._renderSelectCheckBox($container, options)\r\n } else {\r\n gridCoreUtils.setEmptyText($container)\r\n }\r\n },\r\n _renderSelectCheckBox(container, options) {\r\n var groupElement = $(\"
    \").addClass(SELECT_CHECKBOX_CLASS).appendTo(container);\r\n this.setAria(\"label\", messageLocalization.format(\"dxDataGrid-ariaSelectRow\"), groupElement);\r\n this.getController(\"editorFactory\").createEditor(groupElement, extend({}, options.column, {\r\n parentType: \"dataRow\",\r\n dataType: \"boolean\",\r\n lookup: null,\r\n value: options.value,\r\n setValue(value, e) {\r\n var _a;\r\n if (\"keydown\" === (null === (_a = null === e || void 0 === e ? void 0 : e.event) || void 0 === _a ? void 0 : _a.type)) {\r\n eventsEngine.trigger(e.element, clickEventName, e)\r\n }\r\n },\r\n row: options.row\r\n }));\r\n return groupElement\r\n },\r\n _attachCheckBoxClickEvent($element) {\r\n eventsEngine.on($element, clickEventName, this.createAction((function(e) {\r\n var selectionController = this.getController(\"selection\");\r\n var {\r\n event: event\r\n } = e;\r\n var rowIndex = this.getRowIndex($(event.currentTarget).closest(\".\".concat(ROW_CLASS)));\r\n if (rowIndex >= 0) {\r\n selectionController.startSelectionWithCheckboxes();\r\n selectionController.changeItemSelection(rowIndex, {\r\n shift: event.shiftKey\r\n });\r\n if ($(event.target).closest(\".\".concat(SELECT_CHECKBOX_CLASS)).length) {\r\n this.getController(\"data\").updateItems({\r\n changeType: \"updateSelection\",\r\n itemIndexes: [rowIndex]\r\n })\r\n }\r\n }\r\n })))\r\n },\r\n _update(change) {\r\n var that = this;\r\n var tableElements = that.getTableElements();\r\n if (\"updateSelection\" === change.changeType) {\r\n if (tableElements.length > 0) {\r\n each(tableElements, (_, tableElement) => {\r\n each(change.itemIndexes || [], (_, index) => {\r\n var $row;\r\n if (change.items[index]) {\r\n $row = that._getRowElements($(tableElement)).eq(index);\r\n if ($row.length) {\r\n var {\r\n isSelected: isSelected\r\n } = change.items[index];\r\n $row.toggleClass(ROW_SELECTION_CLASS, void 0 === isSelected ? false : isSelected).find(\".\".concat(SELECT_CHECKBOX_CLASS)).dxCheckBox(\"option\", \"value\", isSelected);\r\n that.setAria(\"selected\", isSelected, $row)\r\n }\r\n }\r\n })\r\n });\r\n that._updateCheckboxesClass()\r\n }\r\n } else {\r\n that.callBase(change)\r\n }\r\n },\r\n _createTable() {\r\n var that = this;\r\n var selectionMode = that.option(\"selection.mode\");\r\n var $table = that.callBase.apply(that, arguments);\r\n if (\"none\" !== selectionMode) {\r\n if (\"onLongTap\" === that.option(SHOW_CHECKBOXES_MODE) || !touch) {\r\n eventsEngine.on($table, addNamespace(holdEvent.name, \"dxDataGridRowsView\"), \".\".concat(DATA_ROW_CLASS), that.createAction(e => {\r\n processLongTap(that.component, e.event);\r\n e.event.stopPropagation()\r\n }))\r\n }\r\n eventsEngine.on($table, \"mousedown selectstart\", that.createAction(e => {\r\n var {\r\n event: event\r\n } = e;\r\n if (event.shiftKey) {\r\n event.preventDefault()\r\n }\r\n }))\r\n }\r\n return $table\r\n },\r\n _createRow(row) {\r\n var $row = this.callBase.apply(this, arguments);\r\n if (row) {\r\n var {\r\n isSelected: isSelected\r\n } = row;\r\n if (isSelected) {\r\n $row.addClass(ROW_SELECTION_CLASS)\r\n }\r\n var selectionMode = this.option(SELECTION_MODE);\r\n if (\"none\" !== selectionMode) {\r\n this.setAria(\"selected\", isSelected, $row)\r\n }\r\n }\r\n return $row\r\n },\r\n _rowClick(e) {\r\n var dxEvent = e.event;\r\n var isSelectionDisabled = $(dxEvent.target).closest(\".\".concat(SELECTION_DISABLED_CLASS)).length;\r\n if (!this.isClickableElement($(dxEvent.target))) {\r\n if (!isSelectionDisabled && (\"multiple\" !== this.option(SELECTION_MODE) || \"always\" !== this.option(SHOW_CHECKBOXES_MODE))) {\r\n if (this.getController(\"selection\").changeItemSelection(e.rowIndex, {\r\n control: isCommandKeyPressed(dxEvent),\r\n shift: dxEvent.shiftKey\r\n })) {\r\n dxEvent.preventDefault();\r\n e.handled = true\r\n }\r\n }\r\n this.callBase(e)\r\n }\r\n },\r\n isClickableElement($target) {\r\n var isCommandSelect = $target.closest(\".\".concat(COMMAND_SELECT_CLASS)).length;\r\n return !!isCommandSelect\r\n },\r\n _renderCore(change) {\r\n var deferred = this.callBase(change);\r\n this._updateCheckboxesClass();\r\n return deferred\r\n },\r\n _updateCheckboxesClass() {\r\n var tableElements = this.getTableElements();\r\n var selectionController = this.getController(\"selection\");\r\n var isCheckBoxesHidden = selectionController.isSelectColumnVisible() && !selectionController.isSelectionWithCheckboxes();\r\n each(tableElements, (_, tableElement) => {\r\n $(tableElement).toggleClass(CHECKBOXES_HIDDEN_CLASS, isCheckBoxesHidden)\r\n })\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/sorting/m_sorting.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../../events/click\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport {\r\n addNamespace,\r\n isCommandKeyPressed\r\n} from \"../../../../events/utils/index\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport sortingMixin from \"./m_sorting_mixin\";\r\nvar COLUMN_HEADERS_VIEW_NAMESPACE = \"dxDataGridColumnHeadersView\";\r\nvar ColumnHeadersViewSortingExtender = extend({}, sortingMixin, {\r\n _createRow(row) {\r\n var $row = this.callBase(row);\r\n if (\"header\" === row.rowType) {\r\n eventsEngine.on($row, addNamespace(clickEventName, COLUMN_HEADERS_VIEW_NAMESPACE), \"td\", this.createAction(e => {\r\n this._processHeaderAction(e.event, $row)\r\n }))\r\n }\r\n return $row\r\n },\r\n _processHeaderAction(event, $row) {\r\n if ($(event.currentTarget).parent().get(0) !== $row.get(0)) {\r\n return\r\n }\r\n var that = this;\r\n var keyName = null;\r\n var $cellElementFromEvent = $(event.currentTarget);\r\n var rowIndex = $cellElementFromEvent.parent().index();\r\n var columnIndex = -1;\r\n [].slice.call(that.getCellElements(rowIndex)).some(($cellElement, index) => {\r\n if ($cellElement === $cellElementFromEvent.get(0)) {\r\n columnIndex = index;\r\n return true\r\n }\r\n return\r\n });\r\n var visibleColumns = that._columnsController.getVisibleColumns(rowIndex);\r\n var column = visibleColumns[columnIndex];\r\n var editingController = that.getController(\"editing\");\r\n var editingMode = that.option(\"editing.mode\");\r\n var isCellEditing = editingController && editingController.isEditing() && (\"batch\" === editingMode || \"cell\" === editingMode);\r\n if (isCellEditing || !that._isSortableElement($(event.target))) {\r\n return\r\n }\r\n if (column && !isDefined(column.groupIndex) && !column.command) {\r\n if (event.shiftKey) {\r\n keyName = \"shift\"\r\n } else if (isCommandKeyPressed(event)) {\r\n keyName = \"ctrl\"\r\n }\r\n setTimeout(() => {\r\n that._columnsController.changeSortOrder(column.index, keyName)\r\n })\r\n }\r\n },\r\n _renderCellContent($cell, options) {\r\n var {\r\n column: column\r\n } = options;\r\n if (!column.command && \"header\" === options.rowType) {\r\n this._applyColumnState({\r\n name: \"sort\",\r\n rootElement: $cell,\r\n column: column,\r\n showColumnLines: this.option(\"showColumnLines\")\r\n })\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _columnOptionChanged(e) {\r\n var {\r\n changeTypes: changeTypes\r\n } = e;\r\n if (1 === changeTypes.length && changeTypes.sorting) {\r\n this._updateIndicators(\"sort\");\r\n return\r\n }\r\n this.callBase(e)\r\n },\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"sorting\":\r\n this._invalidate();\r\n args.handled = true;\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nvar HeaderPanelSortingExtender = extend({}, sortingMixin, {\r\n _createGroupPanelItem($rootElement, groupColumn) {\r\n var that = this;\r\n var $item = that.callBase(...arguments);\r\n eventsEngine.on($item, addNamespace(clickEventName, \"dxDataGridHeaderPanel\"), that.createAction(() => {\r\n that._processGroupItemAction(groupColumn.index)\r\n }));\r\n that._applyColumnState({\r\n name: \"sort\",\r\n rootElement: $item,\r\n column: {\r\n alignment: that.option(\"rtlEnabled\") ? \"right\" : \"left\",\r\n allowSorting: groupColumn.allowSorting,\r\n sortOrder: \"desc\" === groupColumn.sortOrder ? \"desc\" : \"asc\"\r\n },\r\n showColumnLines: true\r\n });\r\n return $item\r\n },\r\n _processGroupItemAction(groupColumnIndex) {\r\n setTimeout(() => this.getController(\"columns\").changeSortOrder(groupColumnIndex))\r\n },\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"sorting\":\r\n this._invalidate();\r\n args.handled = true;\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nexport var sortingModule = {\r\n defaultOptions: () => ({\r\n sorting: {\r\n mode: \"single\",\r\n ascendingText: messageLocalization.format(\"dxDataGrid-sortingAscendingText\"),\r\n descendingText: messageLocalization.format(\"dxDataGrid-sortingDescendingText\"),\r\n clearText: messageLocalization.format(\"dxDataGrid-sortingClearText\"),\r\n showSortIndexes: true\r\n }\r\n }),\r\n extenders: {\r\n views: {\r\n columnHeadersView: ColumnHeadersViewSortingExtender,\r\n headerPanel: HeaderPanelSortingExtender\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/sorting/m_sorting_mixin.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nvar SORT_CLASS = \"dx-sort\";\r\nvar SORT_NONE_CLASS = \"dx-sort-none\";\r\nvar SORTUP_CLASS = \"dx-sort-up\";\r\nvar SORTDOWN_CLASS = \"dx-sort-down\";\r\nvar SORT_INDEX_CLASS = \"dx-sort-index\";\r\nvar SORT_INDEX_ICON_CLASS = \"dx-sort-index-icon\";\r\nvar HEADERS_ACTION_CLASS = \"action\";\r\nexport default {\r\n _applyColumnState(options) {\r\n var ariaSortState;\r\n var $sortIndicator;\r\n var sortingMode = this.option(\"sorting.mode\");\r\n var {\r\n rootElement: rootElement\r\n } = options;\r\n var {\r\n column: column\r\n } = options;\r\n var $indicatorsContainer = this._getIndicatorContainer(rootElement);\r\n if (\"sort\" === options.name) {\r\n rootElement.find(\".\".concat(SORT_CLASS)).remove();\r\n !$indicatorsContainer.children().length && $indicatorsContainer.remove();\r\n var isSortingAllowed = \"none\" !== sortingMode && column.allowSorting;\r\n if (!isDefined(column.groupIndex) && (isSortingAllowed || isDefined(column.sortOrder))) {\r\n ariaSortState = \"asc\" === column.sortOrder ? \"ascending\" : \"descending\";\r\n $sortIndicator = this.callBase(options).toggleClass(SORTUP_CLASS, \"asc\" === column.sortOrder).toggleClass(SORTDOWN_CLASS, \"desc\" === column.sortOrder);\r\n var hasSeveralSortIndexes = this.getController && !!this.getController(\"columns\").columnOption(\"sortIndex:1\");\r\n if (hasSeveralSortIndexes && this.option(\"sorting.showSortIndexes\") && column.sortIndex >= 0) {\r\n $(\"\").addClass(SORT_INDEX_ICON_CLASS).text(column.sortIndex + 1).appendTo($sortIndicator);\r\n $sortIndicator.addClass(SORT_INDEX_CLASS)\r\n }\r\n if (isSortingAllowed) {\r\n options.rootElement.addClass(this.addWidgetPrefix(HEADERS_ACTION_CLASS))\r\n }\r\n }\r\n if (!isDefined(column.sortOrder)) {\r\n this.setAria(\"sort\", \"none\", rootElement)\r\n } else {\r\n this.setAria(\"sort\", ariaSortState, rootElement)\r\n }\r\n return $sortIndicator\r\n }\r\n return this.callBase(options)\r\n },\r\n _getIndicatorClassName(name) {\r\n if (\"sort\" === name) {\r\n return SORT_CLASS\r\n }\r\n if (\"sortIndex\" === name) {\r\n return SORT_INDEX_ICON_CLASS\r\n }\r\n return this.callBase(name)\r\n },\r\n _renderIndicator(options) {\r\n var {\r\n column: column\r\n } = options;\r\n var $container = options.container;\r\n var $indicator = options.indicator;\r\n if (\"sort\" === options.name) {\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n if (!isDefined(column.sortOrder)) {\r\n $indicator && $indicator.addClass(SORT_NONE_CLASS)\r\n }\r\n if ($container.children().length && (!rtlEnabled && \"left\" === options.columnAlignment || rtlEnabled && \"right\" === options.columnAlignment)) {\r\n $container.prepend($indicator);\r\n return\r\n }\r\n }\r\n this.callBase(options)\r\n },\r\n _updateIndicator($cell, column, indicatorName) {\r\n if (\"sort\" === indicatorName && isDefined(column.groupIndex)) {\r\n return\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _getIndicatorElements($cell, returnAll) {\r\n var $indicatorElements = this.callBase($cell);\r\n return returnAll ? $indicatorElements : $indicatorElements && $indicatorElements.not(\".\".concat(SORT_NONE_CLASS))\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/state_storing/m_state_storing.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n equalByValue,\r\n getKeyHash\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport stateStoringCore from \"./m_state_storing_core\";\r\nvar getDataState = that => {\r\n var pagerView = that.getView(\"pagerView\");\r\n var dataController = that.getController(\"data\");\r\n var state = {\r\n allowedPageSizes: pagerView ? pagerView.getPageSizes() : void 0,\r\n filterPanel: {\r\n filterEnabled: that.option(\"filterPanel.filterEnabled\")\r\n },\r\n filterValue: that.option(\"filterValue\"),\r\n focusedRowKey: that.option(\"focusedRowEnabled\") ? that.option(\"focusedRowKey\") : void 0\r\n };\r\n return extend(state, dataController.getUserState())\r\n};\r\nvar processLoadState = that => {\r\n var columnsController = that.getController(\"columns\");\r\n var selectionController = that.getController(\"selection\");\r\n var exportController = that.getController(\"export\");\r\n var dataController = that.getController(\"data\");\r\n if (columnsController) {\r\n columnsController.columnsChanged.add(() => {\r\n that.updateState({\r\n columns: columnsController.getUserState()\r\n })\r\n })\r\n }\r\n if (selectionController) {\r\n selectionController.selectionChanged.add(e => {\r\n that.updateState({\r\n selectedRowKeys: e.selectedRowKeys,\r\n selectionFilter: e.selectionFilter\r\n })\r\n })\r\n }\r\n if (dataController) {\r\n that._initialPageSize = that.option(\"paging.pageSize\");\r\n that._initialFilterValue = that.option(\"filterValue\");\r\n dataController.changed.add(() => {\r\n var state = getDataState(that);\r\n that.updateState(state)\r\n })\r\n }\r\n if (exportController) {\r\n exportController.selectionOnlyChanged.add(() => {\r\n that.updateState({\r\n exportSelectionOnly: exportController.selectionOnly()\r\n })\r\n })\r\n }\r\n};\r\nvar DEFAULT_FILTER_VALUE = null;\r\nvar getFilterValue = (that, state) => {\r\n var filterSyncController = that.getController(\"filterSync\");\r\n var columnsController = that.getController(\"columns\");\r\n var hasFilterState = state.columns || void 0 !== state.filterValue;\r\n if (filterSyncController) {\r\n if (hasFilterState) {\r\n return state.filterValue || filterSyncController.getFilterValueFromColumns(state.columns)\r\n }\r\n return that._initialFilterValue || filterSyncController.getFilterValueFromColumns(columnsController.getColumns())\r\n }\r\n return DEFAULT_FILTER_VALUE\r\n};\r\nexport var stateStoringModule = {\r\n defaultOptions: () => ({\r\n stateStoring: {\r\n enabled: false,\r\n storageKey: null,\r\n type: \"localStorage\",\r\n customLoad: null,\r\n customSave: null,\r\n savingTimeout: 2e3\r\n }\r\n }),\r\n controllers: {\r\n stateStoring: stateStoringCore.StateStoringController\r\n },\r\n extenders: {\r\n views: {\r\n rowsView: {\r\n init() {\r\n var that = this;\r\n var dataController = that.getController(\"data\");\r\n that.callBase();\r\n dataController.stateLoaded.add(() => {\r\n if (dataController.isLoaded() && !dataController.getDataSource()) {\r\n that.setLoading(false);\r\n that.renderNoDataText();\r\n var columnHeadersView = that.component.getView(\"columnHeadersView\");\r\n columnHeadersView && columnHeadersView.render();\r\n that.component._fireContentReadyAction()\r\n }\r\n })\r\n }\r\n }\r\n },\r\n controllers: {\r\n stateStoring: {\r\n init() {\r\n this.callBase.apply(this, arguments);\r\n processLoadState(this)\r\n },\r\n isLoading() {\r\n return this.callBase() || this.getController(\"data\").isStateLoading()\r\n },\r\n state(state) {\r\n var result = this.callBase.apply(this, arguments);\r\n if (void 0 !== state) {\r\n this.applyState(extend(true, {}, state))\r\n }\r\n return result\r\n },\r\n updateState(state) {\r\n if (this.isEnabled()) {\r\n var oldState = this.state();\r\n var newState = extend({}, oldState, state);\r\n var oldStateHash = getKeyHash(oldState);\r\n var newStateHash = getKeyHash(newState);\r\n if (!equalByValue(oldStateHash, newStateHash)) {\r\n state = extend(true, {}, state);\r\n extend(this._state, state);\r\n this.save()\r\n }\r\n } else {\r\n extend(this._state, state)\r\n }\r\n },\r\n applyState(state) {\r\n var _a;\r\n var {\r\n allowedPageSizes: allowedPageSizes\r\n } = state;\r\n var {\r\n searchText: searchText\r\n } = state;\r\n var {\r\n selectedRowKeys: selectedRowKeys\r\n } = state;\r\n var {\r\n selectionFilter: selectionFilter\r\n } = state;\r\n var exportController = this.getController(\"export\");\r\n var columnsController = this.getController(\"columns\");\r\n var dataController = this.getController(\"data\");\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n var isVirtualScrollingMode = \"virtual\" === scrollingMode || \"infinite\" === scrollingMode;\r\n var showPageSizeSelector = true === this.option(\"pager.visible\") && this.option(\"pager.showPageSizeSelector\");\r\n var hasHeight = null === (_a = this.getView(\"rowsView\")) || void 0 === _a ? void 0 : _a.hasHeight();\r\n this.component.beginUpdate();\r\n if (columnsController) {\r\n columnsController.setUserState(state.columns)\r\n }\r\n if (exportController) {\r\n exportController.selectionOnly(state.exportSelectionOnly)\r\n }\r\n if (!this.option(\"selection.deferred\")) {\r\n this.option(\"selectedRowKeys\", selectedRowKeys || [])\r\n }\r\n this.option(\"selectionFilter\", selectionFilter);\r\n if (allowedPageSizes && \"auto\" === this.option(\"pager.allowedPageSizes\")) {\r\n this.option(\"pager\").allowedPageSizes = allowedPageSizes\r\n }\r\n if (this.option(\"focusedRowEnabled\")) {\r\n this.option(\"focusedRowIndex\", -1);\r\n this.option(\"focusedRowKey\", state.focusedRowKey || null)\r\n }\r\n this.component.endUpdate();\r\n this.option(\"searchPanel.text\", searchText || \"\");\r\n this.option(\"filterValue\", getFilterValue(this, state));\r\n this.option(\"filterPanel.filterEnabled\", state.filterPanel ? state.filterPanel.filterEnabled : true);\r\n this.option(\"paging.pageIndex\", (!isVirtualScrollingMode || hasHeight) && state.pageIndex || 0);\r\n this.option(\"paging.pageSize\", (!isVirtualScrollingMode || showPageSizeSelector) && isDefined(state.pageSize) ? state.pageSize : this._initialPageSize);\r\n dataController && dataController.reset()\r\n }\r\n },\r\n columns: {\r\n _shouldReturnVisibleColumns() {\r\n var result = this.callBase.apply(this, arguments);\r\n var stateStoringController = this.getController(\"stateStoring\");\r\n return result && (!stateStoringController.isEnabled() || stateStoringController.isLoaded())\r\n }\r\n },\r\n data: {\r\n callbackNames() {\r\n return this.callBase().concat([\"stateLoaded\"])\r\n },\r\n _refreshDataSource() {\r\n var {\r\n callBase: callBase\r\n } = this;\r\n var stateStoringController = this.getController(\"stateStoring\");\r\n if (stateStoringController.isEnabled() && !stateStoringController.isLoaded()) {\r\n clearTimeout(this._restoreStateTimeoutID);\r\n var deferred = new Deferred;\r\n this._restoreStateTimeoutID = setTimeout(() => {\r\n stateStoringController.load().always(() => {\r\n this._restoreStateTimeoutID = null\r\n }).done(() => {\r\n callBase.call(this);\r\n this.stateLoaded.fire();\r\n deferred.resolve()\r\n }).fail(error => {\r\n this.stateLoaded.fire();\r\n this._handleLoadError(error || \"Unknown error\");\r\n deferred.reject()\r\n })\r\n });\r\n return deferred.promise()\r\n }\r\n if (!this.isStateLoading()) {\r\n callBase.call(this)\r\n }\r\n },\r\n isLoading() {\r\n var stateStoringController = this.getController(\"stateStoring\");\r\n return this.callBase() || stateStoringController.isLoading()\r\n },\r\n isStateLoading() {\r\n return isDefined(this._restoreStateTimeoutID)\r\n },\r\n isLoaded() {\r\n return this.callBase() && !this.isStateLoading()\r\n },\r\n dispose() {\r\n clearTimeout(this._restoreStateTimeoutID);\r\n this.callBase()\r\n }\r\n },\r\n selection: {\r\n _fireSelectionChanged(options) {\r\n var stateStoringController = this.getController(\"stateStoring\");\r\n var isDeferredSelection = this.option(\"selection.deferred\");\r\n if (stateStoringController.isLoading() && isDeferredSelection) {\r\n return\r\n }\r\n this.callBase.apply(this, arguments)\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/state_storing/m_state_storing_core.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n fromPromise\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n sessionStorage\r\n} from \"../../../../core/utils/storage\";\r\nimport {\r\n isDefined,\r\n isEmptyObject,\r\n isPlainObject\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n getWindow\r\n} from \"../../../../core/utils/window\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\nimport modules from \"../m_modules\";\r\nvar DATE_REGEX = /^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}(?:\\.\\d*)?)Z$/;\r\nvar parseDates = function parseDates(state) {\r\n if (!state) {\r\n return\r\n }\r\n each(state, (key, value) => {\r\n if (isPlainObject(value) || Array.isArray(value)) {\r\n parseDates(value)\r\n } else if (\"string\" === typeof value) {\r\n var date = DATE_REGEX.exec(value);\r\n if (date) {\r\n state[key] = new Date(Date.UTC(+date[1], +date[2] - 1, +date[3], +date[4], +date[5], +date[6]))\r\n }\r\n }\r\n })\r\n};\r\nvar StateStoringController = modules.ViewController.inherit(function() {\r\n var getStorage = function(options) {\r\n var storage = \"sessionStorage\" === options.type ? sessionStorage() : getWindow().localStorage;\r\n if (!storage) {\r\n throw new Error(\"E1007\")\r\n }\r\n return storage\r\n };\r\n var getUniqueStorageKey = function(options) {\r\n return isDefined(options.storageKey) ? options.storageKey : \"storage\"\r\n };\r\n return {\r\n _loadState() {\r\n var options = this.option(\"stateStoring\");\r\n if (\"custom\" === options.type) {\r\n return options.customLoad && options.customLoad()\r\n }\r\n try {\r\n return JSON.parse(getStorage(options).getItem(getUniqueStorageKey(options)))\r\n } catch (e) {\r\n errors.log(\"W1022\", \"State storing\", e.message)\r\n }\r\n },\r\n _saveState(state) {\r\n var options = this.option(\"stateStoring\");\r\n if (\"custom\" === options.type) {\r\n options.customSave && options.customSave(state);\r\n return\r\n }\r\n try {\r\n getStorage(options).setItem(getUniqueStorageKey(options), JSON.stringify(state))\r\n } catch (e) {\r\n errors.log(e.message)\r\n }\r\n },\r\n publicMethods: () => [\"state\"],\r\n isEnabled() {\r\n return this.option(\"stateStoring.enabled\")\r\n },\r\n init() {\r\n var that = this;\r\n that._state = {};\r\n that._isLoaded = false;\r\n that._isLoading = false;\r\n that._windowUnloadHandler = function() {\r\n if (void 0 !== that._savingTimeoutID) {\r\n that._saveState(that.state())\r\n }\r\n };\r\n eventsEngine.on(getWindow(), \"unload\", that._windowUnloadHandler);\r\n return that\r\n },\r\n isLoaded() {\r\n return this._isLoaded\r\n },\r\n isLoading() {\r\n return this._isLoading\r\n },\r\n load() {\r\n this._isLoading = true;\r\n var loadResult = fromPromise(this._loadState());\r\n loadResult.always(() => {\r\n this._isLoaded = true;\r\n this._isLoading = false\r\n }).done(state => {\r\n if (null !== state && !isEmptyObject(state)) {\r\n this.state(state)\r\n }\r\n });\r\n return loadResult\r\n },\r\n state(state) {\r\n if (!arguments.length) {\r\n return extend(true, {}, this._state)\r\n }\r\n this._state = extend({}, state);\r\n parseDates(this._state)\r\n },\r\n save() {\r\n var that = this;\r\n clearTimeout(that._savingTimeoutID);\r\n that._savingTimeoutID = setTimeout(() => {\r\n that._saveState(that.state());\r\n that._savingTimeoutID = void 0\r\n }, that.option(\"stateStoring.savingTimeout\"))\r\n },\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"stateStoring\":\r\n if (this.isEnabled() && !this.isLoading()) {\r\n this.load()\r\n }\r\n args.handled = true;\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n dispose() {\r\n clearTimeout(this._savingTimeoutID);\r\n eventsEngine.off(getWindow(), \"unload\", this._windowUnloadHandler)\r\n }\r\n }\r\n}());\r\nexport default {\r\n StateStoringController: StateStoringController\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/validating/m_validating.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport browser from \"../../../../core/utils/browser\";\r\nimport {\r\n deferUpdate,\r\n equalByValue,\r\n getKeyHash\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n fromPromise,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getOuterHeight,\r\n getOuterWidth,\r\n getWidth,\r\n setHeight\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n encodeHtml\r\n} from \"../../../../core/utils/string\";\r\nimport {\r\n isDefined,\r\n isEmptyObject,\r\n isObject\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n createObjectWithChanges\r\n} from \"../../../../data/array_utils\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport pointerEvents from \"../../../../events/pointer\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport Button from \"../../../../ui/button\";\r\nimport LoadIndicator from \"../../../../ui/load_indicator\";\r\nimport Overlay from \"../../../../ui/overlay/ui.overlay\";\r\nimport ValidationEngine from \"../../../../ui/validation_engine\";\r\nimport Validator from \"../../../../ui/validator\";\r\nimport {\r\n focused\r\n} from \"../../../../ui/widget/selectors\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar INVALIDATE_CLASS = \"invalid\";\r\nvar REVERT_TOOLTIP_CLASS = \"revert-tooltip\";\r\nvar INVALID_MESSAGE_CLASS = \"dx-invalid-message\";\r\nvar WIDGET_INVALID_MESSAGE_CLASS = \"invalid-message\";\r\nvar INVALID_MESSAGE_ALWAYS_CLASS = \"dx-invalid-message-always\";\r\nvar REVERT_BUTTON_CLASS = \"dx-revert-button\";\r\nvar VALIDATOR_CLASS = \"validator\";\r\nvar PENDING_INDICATOR_CLASS = \"dx-pending-indicator\";\r\nvar VALIDATION_PENDING_CLASS = \"dx-validation-pending\";\r\nvar CONTENT_CLASS = \"content\";\r\nvar INSERT_INDEX = \"__DX_INSERT_INDEX__\";\r\nvar PADDING_BETWEEN_TOOLTIPS = 2;\r\nvar EDIT_MODE_ROW = \"row\";\r\nvar EDIT_MODE_FORM = \"form\";\r\nvar EDIT_MODE_BATCH = \"batch\";\r\nvar EDIT_MODE_CELL = \"cell\";\r\nvar EDIT_MODE_POPUP = \"popup\";\r\nvar GROUP_CELL_CLASS = \"dx-group-cell\";\r\nvar FORM_BASED_MODES = [EDIT_MODE_POPUP, EDIT_MODE_FORM];\r\nvar COMMAND_TRANSPARENT = \"transparent\";\r\nvar VALIDATION_STATUS = {\r\n valid: \"valid\",\r\n invalid: \"invalid\",\r\n pending: \"pending\"\r\n};\r\nvar EDIT_DATA_INSERT_TYPE = \"insert\";\r\nvar EDIT_DATA_REMOVE_TYPE = \"remove\";\r\nvar VALIDATION_CANCELLED = \"cancel\";\r\nvar validationResultIsValid = function(result) {\r\n return isDefined(result) && result !== VALIDATION_CANCELLED\r\n};\r\nvar cellValueShouldBeValidated = function(value, rowOptions) {\r\n return void 0 !== value || void 0 === value && rowOptions && !rowOptions.isNewRow\r\n};\r\nvar ValidatingController = modules.Controller.inherit({\r\n init() {\r\n this._editingController = this.getController(\"editing\");\r\n this.createAction(\"onRowValidating\");\r\n if (!this._validationState) {\r\n this.initValidationState()\r\n }\r\n },\r\n initValidationState() {\r\n this._validationState = [];\r\n this._validationStateCache = {}\r\n },\r\n _rowIsValidated(change) {\r\n var validationData = this._getValidationData(null === change || void 0 === change ? void 0 : change.key);\r\n return !!validationData && !!validationData.validated\r\n },\r\n _getValidationData(key, create) {\r\n var keyHash = getKeyHash(key);\r\n var isObjectKeyHash = isObject(keyHash);\r\n var validationData;\r\n if (isObjectKeyHash) {\r\n validationData = this._validationState.filter(data => equalByValue(data.key, key))[0]\r\n } else {\r\n validationData = this._validationStateCache[keyHash]\r\n }\r\n if (!validationData && create) {\r\n validationData = {\r\n key: key,\r\n isValid: true\r\n };\r\n this._validationState.push(validationData);\r\n if (!isObjectKeyHash) {\r\n this._validationStateCache[keyHash] = validationData\r\n }\r\n }\r\n return validationData\r\n },\r\n _getBrokenRules(validationData, validationResults) {\r\n var brokenRules;\r\n if (validationResults) {\r\n brokenRules = validationResults.brokenRules || validationResults.brokenRule && [validationResults.brokenRule]\r\n } else {\r\n brokenRules = validationData.brokenRules || []\r\n }\r\n return brokenRules\r\n },\r\n _rowValidating(validationData, validationResults) {\r\n var deferred = new Deferred;\r\n var change = this._editingController.getChangeByKey(null === validationData || void 0 === validationData ? void 0 : validationData.key);\r\n var brokenRules = this._getBrokenRules(validationData, validationResults);\r\n var isValid = validationResults ? validationResults.isValid : validationData.isValid;\r\n var parameters = {\r\n brokenRules: brokenRules,\r\n isValid: isValid,\r\n key: change.key,\r\n newData: change.data,\r\n oldData: this._editingController._getOldData(change.key),\r\n promise: null,\r\n errorText: this.getHiddenValidatorsErrorText(brokenRules)\r\n };\r\n this.executeAction(\"onRowValidating\", parameters);\r\n when(fromPromise(parameters.promise)).always(() => {\r\n validationData.isValid = parameters.isValid;\r\n validationData.errorText = parameters.errorText;\r\n deferred.resolve(parameters)\r\n });\r\n return deferred.promise()\r\n },\r\n getHiddenValidatorsErrorText(brokenRules) {\r\n var brokenRulesMessages = [];\r\n each(brokenRules, (_, brokenRule) => {\r\n var {\r\n column: column\r\n } = brokenRule;\r\n var isGroupExpandColumn = column && void 0 !== column.groupIndex && !column.showWhenGrouped;\r\n var isVisibleColumn = column && column.visible;\r\n if (!brokenRule.validator.$element().parent().length && (!isVisibleColumn || isGroupExpandColumn)) {\r\n brokenRulesMessages.push(brokenRule.message)\r\n }\r\n });\r\n return brokenRulesMessages.join(\", \")\r\n },\r\n validate(isFull) {\r\n var isValid = true;\r\n var editingController = this._editingController;\r\n var deferred = new Deferred;\r\n var completeList = [];\r\n var editMode = editingController.getEditMode();\r\n isFull = isFull || editMode === EDIT_MODE_ROW;\r\n if (this._isValidationInProgress) {\r\n return deferred.resolve(false).promise()\r\n }\r\n this._isValidationInProgress = true;\r\n if (isFull) {\r\n editingController.addDeferred(deferred);\r\n var changes = editingController.getChanges();\r\n each(changes, (index, _ref) => {\r\n var {\r\n type: type,\r\n key: key\r\n } = _ref;\r\n if (\"remove\" !== type) {\r\n var validationData = this._getValidationData(key, true);\r\n var validationResult = this.validateGroup(validationData);\r\n completeList.push(validationResult);\r\n validationResult.done(validationResult => {\r\n validationData.validated = true;\r\n isValid = isValid && validationResult.isValid\r\n })\r\n }\r\n })\r\n } else if (this._currentCellValidator) {\r\n var validationResult = this.validateGroup(this._currentCellValidator._findGroup());\r\n completeList.push(validationResult);\r\n validationResult.done(validationResult => {\r\n isValid = validationResult.isValid\r\n })\r\n }\r\n when(...completeList).done(() => {\r\n this._isValidationInProgress = false;\r\n deferred.resolve(isValid)\r\n });\r\n return deferred.promise()\r\n },\r\n validateGroup(validationData) {\r\n var result = new Deferred;\r\n var validateGroup = validationData && ValidationEngine.getGroupConfig(validationData);\r\n var validationResult;\r\n if (null === validateGroup || void 0 === validateGroup ? void 0 : validateGroup.validators.length) {\r\n this.resetRowValidationResults(validationData);\r\n validationResult = ValidationEngine.validateGroup(validationData)\r\n }\r\n when((null === validationResult || void 0 === validationResult ? void 0 : validationResult.complete) || validationResult).done(validationResult => {\r\n when(this._rowValidating(validationData, validationResult)).done(result.resolve)\r\n });\r\n return result.promise()\r\n },\r\n isRowDataModified: change => !isEmptyObject(change.data),\r\n updateValidationState(change) {\r\n var editMode = this._editingController.getEditMode();\r\n var {\r\n key: key\r\n } = change;\r\n var validationData = this._getValidationData(key, true);\r\n if (!FORM_BASED_MODES.includes(editMode)) {\r\n if (change.type === EDIT_DATA_INSERT_TYPE && !this.isRowDataModified(change)) {\r\n validationData.isValid = true;\r\n return\r\n }\r\n this.setDisableApplyValidationResults(true);\r\n var groupConfig = ValidationEngine.getGroupConfig(validationData);\r\n if (groupConfig) {\r\n var validationResult = ValidationEngine.validateGroup(validationData);\r\n when(validationResult.complete || validationResult).done(validationResult => {\r\n validationData.isValid = validationResult.isValid;\r\n validationData.brokenRules = validationResult.brokenRules\r\n })\r\n } else if (!validationData.brokenRules || !validationData.brokenRules.length) {\r\n validationData.isValid = true\r\n }\r\n this.setDisableApplyValidationResults(false)\r\n } else {\r\n validationData.isValid = true\r\n }\r\n },\r\n setValidator(validator) {\r\n this._currentCellValidator = validator\r\n },\r\n renderCellPendingIndicator($container) {\r\n var $indicator = $container.find(\".\".concat(PENDING_INDICATOR_CLASS));\r\n if (!$indicator.length) {\r\n var $indicatorContainer = $container;\r\n $indicator = $(\"
    \").appendTo($indicatorContainer).addClass(PENDING_INDICATOR_CLASS);\r\n this._createComponent($indicator, LoadIndicator);\r\n $container.addClass(VALIDATION_PENDING_CLASS)\r\n }\r\n },\r\n disposeCellPendingIndicator($container) {\r\n var $indicator = $container.find(\".\".concat(PENDING_INDICATOR_CLASS));\r\n if ($indicator.length) {\r\n var indicator = LoadIndicator.getInstance($indicator);\r\n if (indicator) {\r\n indicator.dispose();\r\n indicator.$element().remove()\r\n }\r\n $container.removeClass(VALIDATION_PENDING_CLASS)\r\n }\r\n },\r\n validationStatusChanged(result) {\r\n var {\r\n validator: validator\r\n } = result;\r\n var validationGroup = validator.option(\"validationGroup\");\r\n var {\r\n column: column\r\n } = validator.option(\"dataGetter\")();\r\n this.updateCellValidationResult({\r\n rowKey: validationGroup.key,\r\n columnIndex: column.index,\r\n validationResult: result\r\n })\r\n },\r\n validatorInitialized(arg) {\r\n arg.component.on(\"validating\", this.validationStatusChanged.bind(this));\r\n arg.component.on(\"validated\", this.validationStatusChanged.bind(this))\r\n },\r\n validatorDisposing(arg) {\r\n var validator = arg.component;\r\n var validationGroup = validator.option(\"validationGroup\");\r\n var {\r\n column: column\r\n } = validator.option(\"dataGetter\")();\r\n var result = this.getCellValidationResult({\r\n rowKey: null === validationGroup || void 0 === validationGroup ? void 0 : validationGroup.key,\r\n columnIndex: column.index\r\n });\r\n if (validationResultIsValid(result) && result.status === VALIDATION_STATUS.pending) {\r\n this.cancelCellValidationResult({\r\n change: validationGroup,\r\n columnIndex: column.index\r\n })\r\n }\r\n },\r\n applyValidationResult($container, result) {\r\n var {\r\n validator: validator\r\n } = result;\r\n var validationGroup = validator.option(\"validationGroup\");\r\n var {\r\n column: column\r\n } = validator.option(\"dataGetter\")();\r\n result.brokenRules && result.brokenRules.forEach(rule => {\r\n rule.columnIndex = column.index;\r\n rule.column = column\r\n });\r\n if ($container) {\r\n var validationResult = this.getCellValidationResult({\r\n rowKey: validationGroup.key,\r\n columnIndex: column.index\r\n });\r\n var requestIsDisabled = validationResultIsValid(validationResult) && validationResult.disabledPendingId === result.id;\r\n if (this._disableApplyValidationResults || requestIsDisabled) {\r\n return\r\n }\r\n if (result.status === VALIDATION_STATUS.invalid) {\r\n var $focus = $container.find(\":focus\");\r\n if (!focused($focus)) {\r\n eventsEngine.trigger($focus, \"focus\");\r\n eventsEngine.trigger($focus, pointerEvents.down)\r\n }\r\n }\r\n var editor = !column.editCellTemplate && this.getController(\"editorFactory\").getEditorInstance($container);\r\n if (result.status === VALIDATION_STATUS.pending) {\r\n if (editor) {\r\n editor.option(\"validationStatus\", VALIDATION_STATUS.pending)\r\n } else {\r\n this.renderCellPendingIndicator($container)\r\n }\r\n } else if (editor) {\r\n editor.option(\"validationStatus\", VALIDATION_STATUS.valid)\r\n } else {\r\n this.disposeCellPendingIndicator($container)\r\n }\r\n $container.toggleClass(this.addWidgetPrefix(INVALIDATE_CLASS), result.status === VALIDATION_STATUS.invalid)\r\n }\r\n },\r\n _syncInternalEditingData(parameters) {\r\n var _a;\r\n var editingController = this._editingController;\r\n var change = editingController.getChangeByKey(parameters.key);\r\n var oldDataFromState = editingController._getOldData(parameters.key);\r\n var oldData = null === (_a = parameters.row) || void 0 === _a ? void 0 : _a.oldData;\r\n if (change && oldData && !oldDataFromState) {\r\n editingController._addInternalData({\r\n key: parameters.key,\r\n oldData: oldData\r\n })\r\n }\r\n },\r\n createValidator(parameters, $container) {\r\n var _a, _b;\r\n var editingController = this._editingController;\r\n var {\r\n column: column\r\n } = parameters;\r\n var {\r\n showEditorAlways: showEditorAlways\r\n } = column;\r\n if (isDefined(column.command) || !column.validationRules || !Array.isArray(column.validationRules) || !column.validationRules.length) {\r\n return\r\n }\r\n var editIndex = editingController.getIndexByKey(parameters.key, editingController.getChanges());\r\n var needCreateValidator = editIndex > -1;\r\n if (!needCreateValidator) {\r\n if (!showEditorAlways) {\r\n var columnsController = this.getController(\"columns\");\r\n var visibleColumns = (null === columnsController || void 0 === columnsController ? void 0 : columnsController.getVisibleColumns()) || [];\r\n showEditorAlways = visibleColumns.some(column => column.showEditorAlways)\r\n }\r\n var isEditRow = equalByValue(this.option(\"editing.editRowKey\"), parameters.key);\r\n var isCellOrBatchEditingAllowed = editingController.isCellOrBatchEditMode() && editingController.allowUpdating({\r\n row: parameters.row\r\n });\r\n needCreateValidator = isEditRow || isCellOrBatchEditingAllowed && showEditorAlways;\r\n if (isCellOrBatchEditingAllowed && showEditorAlways) {\r\n editingController._addInternalData({\r\n key: parameters.key,\r\n oldData: null !== (_b = null === (_a = parameters.row) || void 0 === _a ? void 0 : _a.oldData) && void 0 !== _b ? _b : parameters.data\r\n })\r\n }\r\n }\r\n if (needCreateValidator) {\r\n if ($container && !$container.length) {\r\n errors.log(\"E1050\");\r\n return\r\n }\r\n this._syncInternalEditingData(parameters);\r\n var validationData = this._getValidationData(parameters.key, true);\r\n var getValue = () => {\r\n var change = editingController.getChangeByKey(null === validationData || void 0 === validationData ? void 0 : validationData.key);\r\n var value = column.calculateCellValue((null === change || void 0 === change ? void 0 : change.data) || {});\r\n return void 0 !== value ? value : parameters.value\r\n };\r\n var useDefaultValidator = $container && $container.hasClass(\"dx-widget\");\r\n $container && $container.addClass(this.addWidgetPrefix(VALIDATOR_CLASS));\r\n var validator = new Validator($container || $(\"
    \"), {\r\n name: column.caption,\r\n validationRules: extend(true, [], column.validationRules),\r\n validationGroup: validationData,\r\n adapter: useDefaultValidator ? null : {\r\n getValue: getValue,\r\n applyValidationResults: result => {\r\n this.applyValidationResult($container, result)\r\n }\r\n },\r\n dataGetter() {\r\n var key = null === validationData || void 0 === validationData ? void 0 : validationData.key;\r\n var change = editingController.getChangeByKey(key);\r\n var oldData = editingController._getOldData(key);\r\n return {\r\n data: createObjectWithChanges(oldData, null === change || void 0 === change ? void 0 : change.data),\r\n column: column\r\n }\r\n },\r\n onInitialized: this.validatorInitialized.bind(this),\r\n onDisposing: this.validatorDisposing.bind(this)\r\n });\r\n if (useDefaultValidator) {\r\n var adapter = validator.option(\"adapter\");\r\n if (adapter) {\r\n var originBypass = adapter.bypass;\r\n var defaultAdapterBypass = () => parameters.row.isNewRow && !this._isValidationInProgress && !editingController.isCellModified(parameters);\r\n adapter.getValue = getValue;\r\n adapter.validationRequestsCallbacks = [];\r\n adapter.bypass = () => originBypass.call(adapter) || defaultAdapterBypass()\r\n }\r\n }\r\n return validator\r\n }\r\n return\r\n },\r\n setDisableApplyValidationResults(flag) {\r\n this._disableApplyValidationResults = flag\r\n },\r\n getDisableApplyValidationResults() {\r\n return this._disableApplyValidationResults\r\n },\r\n isCurrentValidatorProcessing(_ref2) {\r\n var {\r\n rowKey: rowKey,\r\n columnIndex: columnIndex\r\n } = _ref2;\r\n return this._currentCellValidator && equalByValue(this._currentCellValidator.option(\"validationGroup\").key, rowKey) && this._currentCellValidator.option(\"dataGetter\")().column.index === columnIndex\r\n },\r\n validateCell(validator) {\r\n var cellParams = {\r\n rowKey: validator.option(\"validationGroup\").key,\r\n columnIndex: validator.option(\"dataGetter\")().column.index\r\n };\r\n var validationResult = this.getCellValidationResult(cellParams);\r\n var stateRestored = validationResultIsValid(validationResult);\r\n var adapter = validator.option(\"adapter\");\r\n if (!stateRestored) {\r\n validationResult = validator.validate()\r\n } else {\r\n var currentCellValue = adapter.getValue();\r\n if (!equalByValue(currentCellValue, validationResult.value)) {\r\n validationResult = validator.validate()\r\n }\r\n }\r\n var deferred = new Deferred;\r\n if (stateRestored && validationResult.status === VALIDATION_STATUS.pending) {\r\n this.updateCellValidationResult(cellParams);\r\n adapter.applyValidationResults(validationResult)\r\n }\r\n when(validationResult.complete || validationResult).done(validationResult => {\r\n stateRestored && adapter.applyValidationResults(validationResult);\r\n deferred.resolve(validationResult)\r\n });\r\n return deferred.promise()\r\n },\r\n updateCellValidationResult(_ref3) {\r\n var {\r\n rowKey: rowKey,\r\n columnIndex: columnIndex,\r\n validationResult: validationResult\r\n } = _ref3;\r\n var validationData = this._getValidationData(rowKey);\r\n if (!validationData) {\r\n return\r\n }\r\n if (!validationData.validationResults) {\r\n validationData.validationResults = {}\r\n }\r\n var result;\r\n if (validationResult) {\r\n result = extend({}, validationResult);\r\n validationData.validationResults[columnIndex] = result;\r\n if (validationResult.status === VALIDATION_STATUS.pending) {\r\n if (this._editingController.getEditMode() === EDIT_MODE_CELL) {\r\n result.deferred = new Deferred;\r\n result.complete.always(() => {\r\n result.deferred.resolve()\r\n });\r\n this._editingController.addDeferred(result.deferred)\r\n }\r\n if (this._disableApplyValidationResults) {\r\n result.disabledPendingId = validationResult.id;\r\n return\r\n }\r\n }\r\n } else {\r\n result = validationData.validationResults[columnIndex]\r\n }\r\n if (result && result.disabledPendingId) {\r\n delete result.disabledPendingId\r\n }\r\n },\r\n getCellValidationResult(_ref4) {\r\n var {\r\n rowKey: rowKey,\r\n columnIndex: columnIndex\r\n } = _ref4;\r\n var _a;\r\n var validationData = this._getValidationData(rowKey, true);\r\n return null === (_a = null === validationData || void 0 === validationData ? void 0 : validationData.validationResults) || void 0 === _a ? void 0 : _a[columnIndex]\r\n },\r\n removeCellValidationResult(_ref5) {\r\n var {\r\n change: change,\r\n columnIndex: columnIndex\r\n } = _ref5;\r\n var validationData = this._getValidationData(null === change || void 0 === change ? void 0 : change.key);\r\n if (validationData && validationData.validationResults) {\r\n this.cancelCellValidationResult({\r\n change: change,\r\n columnIndex: columnIndex\r\n });\r\n delete validationData.validationResults[columnIndex]\r\n }\r\n },\r\n cancelCellValidationResult(_ref6) {\r\n var {\r\n change: change,\r\n columnIndex: columnIndex\r\n } = _ref6;\r\n var validationData = this._getValidationData(change.key);\r\n if (change && validationData.validationResults) {\r\n var result = validationData.validationResults[columnIndex];\r\n if (result) {\r\n result.deferred && result.deferred.reject(VALIDATION_CANCELLED);\r\n validationData.validationResults[columnIndex] = VALIDATION_CANCELLED\r\n }\r\n }\r\n },\r\n resetRowValidationResults(validationData) {\r\n if (validationData) {\r\n validationData.validationResults && delete validationData.validationResults;\r\n delete validationData.validated\r\n }\r\n },\r\n isInvalidCell(_ref7) {\r\n var {\r\n rowKey: rowKey,\r\n columnIndex: columnIndex\r\n } = _ref7;\r\n var result = this.getCellValidationResult({\r\n rowKey: rowKey,\r\n columnIndex: columnIndex\r\n });\r\n return validationResultIsValid(result) && result.status === VALIDATION_STATUS.invalid\r\n },\r\n getCellValidator(_ref8) {\r\n var {\r\n rowKey: rowKey,\r\n columnIndex: columnIndex\r\n } = _ref8;\r\n var validationData = this._getValidationData(rowKey);\r\n var groupConfig = validationData && ValidationEngine.getGroupConfig(validationData);\r\n var validators = groupConfig && groupConfig.validators;\r\n return validators && validators.filter(v => {\r\n var {\r\n column: column\r\n } = v.option(\"dataGetter\")();\r\n return column ? column.index === columnIndex : false\r\n })[0]\r\n },\r\n setCellValidationStatus(cellOptions) {\r\n var validationResult = this.getCellValidationResult({\r\n rowKey: cellOptions.key,\r\n columnIndex: cellOptions.column.index\r\n });\r\n if (isDefined(validationResult)) {\r\n cellOptions.validationStatus = validationResult !== VALIDATION_CANCELLED ? validationResult.status : VALIDATION_CANCELLED\r\n } else {\r\n delete cellOptions.validationStatus\r\n }\r\n }\r\n});\r\nexport var validatingModule = {\r\n defaultOptions: () => ({\r\n editing: {\r\n texts: {\r\n validationCancelChanges: messageLocalization.format(\"dxDataGrid-validationCancelChanges\")\r\n }\r\n }\r\n }),\r\n controllers: {\r\n validating: ValidatingController\r\n },\r\n extenders: {\r\n controllers: {\r\n editing: {\r\n _addChange(changeParams) {\r\n var change = this.callBase.apply(this, arguments);\r\n var validatingController = this.getController(\"validating\");\r\n if (change && changeParams.type !== EDIT_DATA_REMOVE_TYPE) {\r\n validatingController.updateValidationState(change)\r\n }\r\n return change\r\n },\r\n _handleChangesChange(args) {\r\n this.callBase.apply(this, arguments);\r\n var validatingController = this.getController(\"validating\");\r\n args.value.forEach(change => {\r\n if (void 0 === validatingController._getValidationData(change.key)) {\r\n validatingController.updateValidationState(change)\r\n }\r\n })\r\n },\r\n _updateRowAndPageIndices() {\r\n var that = this;\r\n var startInsertIndex = that.getView(\"rowsView\").getTopVisibleItemIndex();\r\n var rowIndex = startInsertIndex;\r\n each(that.getChanges(), (_, _ref9) => {\r\n var {\r\n key: key,\r\n type: type\r\n } = _ref9;\r\n var validationData = this.getController(\"validating\")._getValidationData(key);\r\n if (validationData && !validationData.isValid && validationData.pageIndex !== that._pageIndex) {\r\n validationData.pageIndex = that._pageIndex;\r\n if (type === EDIT_DATA_INSERT_TYPE) {\r\n validationData.rowIndex = startInsertIndex\r\n } else {\r\n validationData.rowIndex = rowIndex\r\n }\r\n rowIndex++\r\n }\r\n })\r\n },\r\n _getValidationGroupsInForm(detailOptions) {\r\n var validatingController = this.getController(\"validating\");\r\n var validationData = validatingController._getValidationData(detailOptions.key, true);\r\n return {\r\n validationGroup: validationData\r\n }\r\n },\r\n _validateEditFormAfterUpdate(row, isCustomSetCellValue) {\r\n if (isCustomSetCellValue && this._editForm) {\r\n this._editForm.validate()\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _prepareEditCell(params) {\r\n var isNotCanceled = this.callBase.apply(this, arguments);\r\n var validatingController = this.getController(\"validating\");\r\n if (isNotCanceled && params.column.showEditorAlways) {\r\n validatingController.updateValidationState({\r\n key: params.key\r\n })\r\n }\r\n return isNotCanceled\r\n },\r\n processItems(items, changeType) {\r\n var changes = this.getChanges();\r\n var dataController = this.getController(\"data\");\r\n var validatingController = this.getController(\"validating\");\r\n items = this.callBase(items, changeType);\r\n var itemsCount = items.length;\r\n var addInValidItem = function(change, validationData) {\r\n var data = {\r\n key: change.key\r\n };\r\n var index = function(change, items) {\r\n var index = -1;\r\n var isInsert = change.type === EDIT_DATA_INSERT_TYPE;\r\n var {\r\n key: key\r\n } = change;\r\n each(items, (i, item) => {\r\n if (equalByValue(key, isInsert ? item.key : dataController.keyOf(item))) {\r\n index = i;\r\n return false\r\n }\r\n return\r\n });\r\n return index\r\n }(change, items);\r\n if (index >= 0) {\r\n return\r\n }\r\n validationData.rowIndex = validationData.rowIndex > itemsCount ? validationData.rowIndex % itemsCount : validationData.rowIndex;\r\n var {\r\n rowIndex: rowIndex\r\n } = validationData;\r\n data[INSERT_INDEX] = 1;\r\n items.splice(rowIndex, 0, data)\r\n };\r\n if (this.getEditMode() === EDIT_MODE_BATCH && \"prepend\" !== changeType && \"append\" !== changeType) {\r\n changes.forEach(change => {\r\n var {\r\n key: key\r\n } = change;\r\n var validationData = validatingController._getValidationData(key);\r\n if (validationData && change.type && validationData.pageIndex === this._pageIndex && (null === change || void 0 === change ? void 0 : change.pageIndex) !== this._pageIndex) {\r\n addInValidItem(change, validationData)\r\n }\r\n })\r\n }\r\n return items\r\n },\r\n processDataItem(item) {\r\n var isInserted = item.data[INSERT_INDEX];\r\n var key = isInserted ? item.data.key : item.key;\r\n var editMode = this.getEditMode();\r\n if (editMode === EDIT_MODE_BATCH && isInserted && key) {\r\n var changes = this.getChanges();\r\n var editIndex = gridCoreUtils.getIndexByKey(key, changes);\r\n if (editIndex >= 0) {\r\n var change = changes[editIndex];\r\n if (change.type !== EDIT_DATA_INSERT_TYPE) {\r\n var oldData = this._getOldData(change.key);\r\n item.data = extend(true, {}, oldData, change.data);\r\n item.key = key\r\n }\r\n }\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _createInvisibleColumnValidators(changes) {\r\n var that = this;\r\n var validatingController = this.getController(\"validating\");\r\n var columnsController = this.getController(\"columns\");\r\n var columns = columnsController.getColumns();\r\n var invisibleColumns = columnsController.getInvisibleColumns().filter(column => !column.isBand);\r\n var groupColumns = columnsController.getGroupColumns().filter(column => !column.showWhenGrouped && -1 === invisibleColumns.indexOf(column));\r\n var invisibleColumnValidators = [];\r\n var isCellVisible = (column, rowKey) => this._dataController.getRowIndexByKey(rowKey) >= 0 && invisibleColumns.indexOf(column) < 0;\r\n invisibleColumns.push(...groupColumns);\r\n if (!FORM_BASED_MODES.includes(this.getEditMode())) {\r\n each(columns, (_, column) => {\r\n changes.forEach(change => {\r\n var data;\r\n if (isCellVisible(column, change.key)) {\r\n return\r\n }\r\n if (change.type === EDIT_DATA_INSERT_TYPE) {\r\n data = change.data\r\n } else if (\"update\" === change.type) {\r\n var oldData = that._getOldData(change.key);\r\n if (!isDefined(oldData)) {\r\n return\r\n }\r\n data = createObjectWithChanges(oldData, change.data)\r\n }\r\n if (data) {\r\n var validator = validatingController.createValidator({\r\n column: column,\r\n key: change.key,\r\n value: column.calculateCellValue(data)\r\n });\r\n if (validator) {\r\n invisibleColumnValidators.push(validator)\r\n }\r\n }\r\n })\r\n })\r\n }\r\n return function() {\r\n invisibleColumnValidators.forEach(validator => {\r\n validator.dispose()\r\n })\r\n }\r\n },\r\n _beforeSaveEditData(change, editIndex) {\r\n var result = this.callBase.apply(this, arguments);\r\n var validatingController = this.getController(\"validating\");\r\n var validationData = validatingController._getValidationData(null === change || void 0 === change ? void 0 : change.key);\r\n if (change) {\r\n var isValid = \"remove\" === change.type || validationData.isValid;\r\n result = result || !isValid\r\n } else {\r\n var disposeValidators = this._createInvisibleColumnValidators(this.getChanges());\r\n result = new Deferred;\r\n this.executeOperation(result, () => {\r\n validatingController.validate(true).done(isFullValid => {\r\n disposeValidators();\r\n this._updateRowAndPageIndices();\r\n switch (this.getEditMode()) {\r\n case EDIT_MODE_CELL:\r\n if (!isFullValid) {\r\n this._focusEditingCell()\r\n }\r\n break;\r\n case EDIT_MODE_BATCH:\r\n if (!isFullValid) {\r\n this._resetEditRowKey();\r\n this._resetEditColumnName();\r\n this.getController(\"data\").updateItems()\r\n }\r\n }\r\n result.resolve(!isFullValid)\r\n })\r\n })\r\n }\r\n return result.promise ? result.promise() : result\r\n },\r\n _beforeEditCell(rowIndex, columnIndex, item) {\r\n var result = this.callBase(rowIndex, columnIndex, item);\r\n if (this.getEditMode() === EDIT_MODE_CELL) {\r\n var $cell = this._rowsView._getCellElement(rowIndex, columnIndex);\r\n var validator = $cell && $cell.data(\"dxValidator\");\r\n var rowOptions = $cell && $cell.closest(\".dx-row\").data(\"options\");\r\n var value = validator && validator.option(\"adapter\").getValue();\r\n if (validator && cellValueShouldBeValidated(value, rowOptions)) {\r\n var validatingController = this.getController(\"validating\");\r\n var deferred = new Deferred;\r\n when(validatingController.validateCell(validator), result).done((validationResult, result) => {\r\n deferred.resolve(validationResult.status === VALIDATION_STATUS.valid && result)\r\n });\r\n return deferred.promise()\r\n }\r\n if (!validator) {\r\n return result\r\n }\r\n }\r\n return false\r\n },\r\n _afterSaveEditData(cancel) {\r\n var $firstErrorRow;\r\n var isCellEditMode = this.getEditMode() === EDIT_MODE_CELL;\r\n each(this.getChanges(), (_, change) => {\r\n var $errorRow = this._showErrorRow(change);\r\n $firstErrorRow = $firstErrorRow || $errorRow\r\n });\r\n if ($firstErrorRow) {\r\n var scrollable = this._rowsView.getScrollable();\r\n if (scrollable) {\r\n scrollable.update();\r\n scrollable.scrollToElement($firstErrorRow)\r\n }\r\n }\r\n if (cancel && isCellEditMode && this._needUpdateRow()) {\r\n var editRowIndex = this.getEditRowIndex();\r\n this._dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: [editRowIndex]\r\n });\r\n this._focusEditingCell()\r\n } else if (!cancel) {\r\n var shouldResetValidationState = true;\r\n if (isCellEditMode) {\r\n var columns = this.getController(\"columns\").getColumns();\r\n var columnsWithValidatingEditors = columns.filter(col => {\r\n var _a;\r\n return col.showEditorAlways && (null === (_a = col.validationRules) || void 0 === _a ? void 0 : _a.length) > 0\r\n }).length > 0;\r\n shouldResetValidationState = !columnsWithValidatingEditors\r\n }\r\n if (shouldResetValidationState) {\r\n this.getController(\"validating\").initValidationState()\r\n }\r\n }\r\n },\r\n _handleDataChanged(args) {\r\n var validationState = this.getController(\"validating\")._validationState;\r\n if (\"standard\" === this.option(\"scrolling.mode\")) {\r\n this.resetRowAndPageIndices()\r\n }\r\n if (\"prepend\" === args.changeType) {\r\n each(validationState, (_, validationData) => {\r\n validationData.rowIndex += args.items.length\r\n })\r\n }\r\n this.callBase(args)\r\n },\r\n resetRowAndPageIndices() {\r\n var validationState = this.getController(\"validating\")._validationState;\r\n each(validationState, (_, validationData) => {\r\n if (validationData.pageIndex !== this._pageIndex) {\r\n delete validationData.pageIndex;\r\n delete validationData.rowIndex\r\n }\r\n })\r\n },\r\n _beforeCancelEditData() {\r\n this.getController(\"validating\").initValidationState();\r\n this.callBase()\r\n },\r\n _showErrorRow(change) {\r\n var $popupContent;\r\n var errorHandling = this.getController(\"errorHandling\");\r\n var items = this.getController(\"data\").items();\r\n var rowIndex = this.getIndexByKey(change.key, items);\r\n var validationData = this.getController(\"validating\")._getValidationData(change.key);\r\n if (!(null === validationData || void 0 === validationData ? void 0 : validationData.isValid) && (null === validationData || void 0 === validationData ? void 0 : validationData.errorText) && rowIndex >= 0) {\r\n $popupContent = this.getPopupContent();\r\n return errorHandling && errorHandling.renderErrorRow(null === validationData || void 0 === validationData ? void 0 : validationData.errorText, rowIndex, $popupContent)\r\n }\r\n },\r\n updateFieldValue(e) {\r\n var validatingController = this.getController(\"validating\");\r\n var deferred = new Deferred;\r\n validatingController.removeCellValidationResult({\r\n change: this.getChangeByKey(e.key),\r\n columnIndex: e.column.index\r\n });\r\n this.callBase.apply(this, arguments).done(() => {\r\n var currentValidator = validatingController.getCellValidator({\r\n rowKey: e.key,\r\n columnIndex: e.column.index\r\n });\r\n when(currentValidator && validatingController.validateCell(currentValidator)).done(validationResult => {\r\n this.getController(\"editorFactory\").refocus();\r\n deferred.resolve(validationResult)\r\n })\r\n });\r\n return deferred.promise()\r\n },\r\n highlightDataCell($cell, parameters) {\r\n this.callBase.apply(this, arguments);\r\n var validatingController = this.getController(\"validating\");\r\n validatingController.setCellValidationStatus(parameters);\r\n var isEditableCell = !!parameters.setValue;\r\n var cellModified = this.isCellModified(parameters);\r\n var isValidated = isDefined(parameters.validationStatus);\r\n var needValidation = cellModified && parameters.column.setCellValue || isEditableCell && !cellModified && !(parameters.row.isNewRow || !isValidated);\r\n if (needValidation) {\r\n var validator = $cell.data(\"dxValidator\");\r\n if (validator) {\r\n when(this.getController(\"validating\").validateCell(validator)).done(() => {\r\n validatingController.setCellValidationStatus(parameters)\r\n })\r\n }\r\n }\r\n },\r\n getChangeByKey(key) {\r\n var changes = this.getChanges();\r\n return changes[gridCoreUtils.getIndexByKey(key, changes)]\r\n },\r\n isCellModified(parameters) {\r\n var cellModified = this.callBase(parameters);\r\n var change = this.getChangeByKey(parameters.key);\r\n var isCellInvalid = !!parameters.row && this.getController(\"validating\").isInvalidCell({\r\n rowKey: parameters.key,\r\n columnIndex: parameters.column.index\r\n });\r\n return cellModified || this.getController(\"validating\")._rowIsValidated(change) && isCellInvalid\r\n }\r\n },\r\n editorFactory: {\r\n _showRevertButton($container) {\r\n var _a;\r\n var $tooltipElement = null === (_a = this._revertTooltip) || void 0 === _a ? void 0 : _a.$element();\r\n if (!$container || !$container.length) {\r\n null === $tooltipElement || void 0 === $tooltipElement ? void 0 : $tooltipElement.remove();\r\n this._revertTooltip = void 0;\r\n return\r\n }\r\n if ($container.find($tooltipElement).length) {\r\n return\r\n }\r\n var $overlayContainer = $container.closest(\".\".concat(this.addWidgetPrefix(CONTENT_CLASS)));\r\n var revertTooltipClass = this.addWidgetPrefix(REVERT_TOOLTIP_CLASS);\r\n null === $tooltipElement || void 0 === $tooltipElement ? void 0 : $tooltipElement.remove();\r\n $tooltipElement = $(\"
    \").addClass(revertTooltipClass).appendTo($container);\r\n var tooltipOptions = {\r\n animation: null,\r\n visible: true,\r\n width: \"auto\",\r\n height: \"auto\",\r\n shading: false,\r\n container: $overlayContainer,\r\n propagateOutsideClick: true,\r\n hideOnOutsideClick: false,\r\n wrapperAttr: {\r\n class: revertTooltipClass\r\n },\r\n contentTemplate: () => {\r\n var $buttonElement = $(\"
    \").addClass(REVERT_BUTTON_CLASS);\r\n var buttonOptions = {\r\n icon: \"revert\",\r\n hint: this.option(\"editing.texts.validationCancelChanges\"),\r\n onClick: () => {\r\n this._editingController.cancelEditData()\r\n }\r\n };\r\n return new Button($buttonElement, buttonOptions).$element()\r\n },\r\n position: {\r\n my: \"left top\",\r\n at: \"right top\",\r\n offset: \"1 0\",\r\n collision: \"flip\",\r\n boundaryOffset: \"0 0\",\r\n boundary: this._rowsView.element(),\r\n of: $container\r\n },\r\n onPositioned: this._positionedHandler.bind(this)\r\n };\r\n this._revertTooltip = new Overlay($tooltipElement, tooltipOptions)\r\n },\r\n _hideFixedGroupCell($cell, overlayOptions) {\r\n var $nextFixedRowElement;\r\n var $groupCellElement;\r\n var isFixedColumns = this._rowsView.isFixedColumns();\r\n var isFormOrPopupEditMode = this._editingController.isFormOrPopupEditMode();\r\n if (isFixedColumns && !isFormOrPopupEditMode) {\r\n var nextRowOptions = $cell.closest(\".dx-row\").next().data(\"options\");\r\n if (nextRowOptions && \"group\" === nextRowOptions.rowType) {\r\n $nextFixedRowElement = $(this._rowsView.getRowElement(nextRowOptions.rowIndex)).last();\r\n $groupCellElement = $nextFixedRowElement.find(\".\".concat(GROUP_CELL_CLASS));\r\n if ($groupCellElement.length && \"hidden\" !== $groupCellElement.get(0).style.visibility) {\r\n $groupCellElement.css(\"visibility\", \"hidden\");\r\n overlayOptions.onDisposing = function() {\r\n $groupCellElement.css(\"visibility\", \"\")\r\n }\r\n }\r\n }\r\n }\r\n },\r\n _positionedHandler(e, isOverlayVisible) {\r\n if (!e.component.__skipPositionProcessing) {\r\n var isRevertButton = $(e.element).hasClass(this.addWidgetPrefix(REVERT_TOOLTIP_CLASS));\r\n var needRepaint = !isRevertButton && this._rowsView.updateFreeSpaceRowHeight();\r\n var normalizedPosition = this._normalizeValidationMessagePositionAndMaxWidth(e, isRevertButton, isOverlayVisible);\r\n e.component.__skipPositionProcessing = !!(needRepaint || normalizedPosition);\r\n if (normalizedPosition) {\r\n e.component.option(normalizedPosition)\r\n } else if (needRepaint) {\r\n e.component.repaint()\r\n }\r\n }\r\n },\r\n _showValidationMessage($cell, messages, alignment) {\r\n var _a;\r\n var editorPopup = $cell.find(\".dx-dropdowneditor-overlay\").data(\"dxPopup\");\r\n var isOverlayVisible = editorPopup && editorPopup.option(\"visible\");\r\n var myPosition = isOverlayVisible ? \"top right\" : \"top \".concat(alignment);\r\n var atPosition = isOverlayVisible ? \"top left\" : \"bottom \".concat(alignment);\r\n var hasFixedColumns = (null === (_a = this._columnsController.getFixedColumns()) || void 0 === _a ? void 0 : _a.length) > 0;\r\n var $overlayContainer = hasFixedColumns ? this.getView(\"rowsView\").element() : $cell.closest(\".\".concat(this.addWidgetPrefix(CONTENT_CLASS)));\r\n var errorMessageText = \"\";\r\n messages && messages.forEach(message => {\r\n errorMessageText += (errorMessageText.length ? \"
    \" : \"\") + encodeHtml(message)\r\n });\r\n var invalidMessageClass = this.addWidgetPrefix(WIDGET_INVALID_MESSAGE_CLASS);\r\n this._rowsView.element().find(\".\".concat(invalidMessageClass)).remove();\r\n var $overlayElement = $(\"
    \").addClass(INVALID_MESSAGE_CLASS).addClass(INVALID_MESSAGE_ALWAYS_CLASS).addClass(invalidMessageClass).html(errorMessageText).appendTo($cell);\r\n var overlayOptions = {\r\n container: $overlayContainer,\r\n shading: false,\r\n width: \"auto\",\r\n height: \"auto\",\r\n visible: true,\r\n animation: false,\r\n propagateOutsideClick: true,\r\n hideOnOutsideClick: false,\r\n wrapperAttr: {\r\n class: \"\".concat(INVALID_MESSAGE_CLASS, \" \").concat(INVALID_MESSAGE_ALWAYS_CLASS, \" \").concat(invalidMessageClass)\r\n },\r\n position: {\r\n collision: \"flip\",\r\n boundary: this._rowsView.element(),\r\n boundaryOffset: \"0 0\",\r\n offset: {\r\n x: 0,\r\n y: !isOverlayVisible && browser.mozilla ? -1 : 0\r\n },\r\n my: myPosition,\r\n at: atPosition,\r\n of: $cell\r\n },\r\n onPositioned: e => {\r\n this._positionedHandler(e, isOverlayVisible);\r\n this._shiftValidationMessageIfNeed(e.component.$content(), $cell)\r\n }\r\n };\r\n this._hideFixedGroupCell($cell, overlayOptions);\r\n new Overlay($overlayElement, overlayOptions)\r\n },\r\n _hideValidationMessage() {\r\n var _a;\r\n var validationMessages = null === (_a = this._rowsView.element()) || void 0 === _a ? void 0 : _a.find(this._getValidationMessagesSelector());\r\n null === validationMessages || void 0 === validationMessages ? void 0 : validationMessages.remove()\r\n },\r\n _normalizeValidationMessagePositionAndMaxWidth(options, isRevertButton, isOverlayVisible) {\r\n var fixedColumns = this._columnsController.getFixedColumns();\r\n if (!fixedColumns || !fixedColumns.length) {\r\n return\r\n }\r\n var position;\r\n var visibleTableWidth = !isRevertButton && (that = this, element = options.element, rowIndex = $(element).closest(\"tr\").index(), $cellElements = $(that._rowsView.getRowElement(rowIndex)).first().children().filter(\":not(.dx-hidden-cell)\"), that._rowsView._getWidths($cellElements).reduce((w1, w2) => w1 + w2, 0));\r\n var that, element, rowIndex, $cellElements;\r\n var $overlayContentElement = options.component.$content();\r\n var validationMessageWidth = getOuterWidth($overlayContentElement, true);\r\n var needMaxWidth = !isRevertButton && validationMessageWidth > visibleTableWidth;\r\n var columnIndex = this._rowsView.getCellIndex($(options.element).closest(\"td\"));\r\n var boundaryNonFixedColumnsInfo = function(fixedColumns) {\r\n var firstNonFixedColumnIndex;\r\n var lastNonFixedColumnIndex;\r\n fixedColumns.some((column, index) => {\r\n if (column.command === COMMAND_TRANSPARENT) {\r\n firstNonFixedColumnIndex = 0 === index ? -1 : index;\r\n lastNonFixedColumnIndex = index === fixedColumns.length - 1 ? -1 : index + column.colspan - 1;\r\n return true\r\n }\r\n return\r\n });\r\n return {\r\n startColumnIndex: firstNonFixedColumnIndex,\r\n endColumnIndex: lastNonFixedColumnIndex\r\n }\r\n }(fixedColumns);\r\n if (!isRevertButton && (columnIndex === boundaryNonFixedColumnsInfo.startColumnIndex || needMaxWidth)) {\r\n position = {\r\n collision: \"none flip\",\r\n my: \"top left\",\r\n at: isOverlayVisible ? \"top right\" : \"bottom left\"\r\n }\r\n } else if (columnIndex === boundaryNonFixedColumnsInfo.endColumnIndex) {\r\n position = {\r\n collision: \"none flip\",\r\n my: \"top right\",\r\n at: isRevertButton || isOverlayVisible ? \"top left\" : \"bottom right\"\r\n };\r\n if (isRevertButton) {\r\n position.offset = \"-1 0\"\r\n }\r\n }\r\n return position && {\r\n position: position,\r\n maxWidth: needMaxWidth ? visibleTableWidth - 2 : void 0\r\n }\r\n },\r\n _shiftValidationMessageIfNeed($content, $cell) {\r\n var $revertContent = this._revertTooltip && this._revertTooltip.$content();\r\n if (!$revertContent) {\r\n return\r\n }\r\n var contentOffset = $content.offset();\r\n var revertContentOffset = $revertContent.offset();\r\n if (contentOffset.top === revertContentOffset.top && contentOffset.left + getWidth($content) > revertContentOffset.left) {\r\n var left = getWidth($revertContent) + PADDING_BETWEEN_TOOLTIPS;\r\n $content.css(\"left\", revertContentOffset.left < $cell.offset().left ? -left : left)\r\n }\r\n },\r\n _getRevertTooltipsSelector() {\r\n var revertTooltipClass = this.addWidgetPrefix(REVERT_TOOLTIP_CLASS);\r\n return \".dx-editor-cell .\".concat(revertTooltipClass)\r\n },\r\n _getValidationMessagesSelector() {\r\n var invalidMessageClass = this.addWidgetPrefix(WIDGET_INVALID_MESSAGE_CLASS);\r\n return \".dx-editor-cell .\".concat(invalidMessageClass, \", .dx-cell-modified .\").concat(invalidMessageClass)\r\n },\r\n init() {\r\n this.callBase();\r\n this._editingController = this.getController(\"editing\");\r\n this._columnsController = this.getController(\"columns\");\r\n this._rowsView = this.getView(\"rowsView\")\r\n },\r\n loseFocus(skipValidator) {\r\n if (!skipValidator) {\r\n this.getController(\"validating\").setValidator(null)\r\n }\r\n this.callBase()\r\n },\r\n updateCellState($element, validationResult, isHideBorder) {\r\n var _a;\r\n var $focus = null === $element || void 0 === $element ? void 0 : $element.closest(this._getFocusCellSelector());\r\n var $cell = (null === $focus || void 0 === $focus ? void 0 : $focus.is(\"td\")) ? $focus : null;\r\n var rowOptions = null === $focus || void 0 === $focus ? void 0 : $focus.closest(\".dx-row\").data(\"options\");\r\n var change = rowOptions ? this.getController(\"editing\").getChangeByKey(rowOptions.key) : null;\r\n var column = $cell && this.getController(\"columns\").getVisibleColumns()[$cell.index()];\r\n var isCellModified = void 0 !== (null === (_a = null === change || void 0 === change ? void 0 : change.data) || void 0 === _a ? void 0 : _a[null === column || void 0 === column ? void 0 : column.name]) && !this._editingController.isSaving();\r\n if (this._editingController.getEditMode() === EDIT_MODE_CELL) {\r\n if ((null === validationResult || void 0 === validationResult ? void 0 : validationResult.status) === VALIDATION_STATUS.invalid || isCellModified) {\r\n this._showRevertButton($focus)\r\n } else {\r\n this._revertTooltip && this._revertTooltip.$element().remove()\r\n }\r\n }\r\n var showValidationMessage = validationResult && validationResult.status === VALIDATION_STATUS.invalid;\r\n if (showValidationMessage && $cell && column && validationResult && validationResult.brokenRules) {\r\n var errorMessages = [];\r\n validationResult.brokenRules.forEach(rule => {\r\n if (rule.message) {\r\n errorMessages.push(rule.message)\r\n }\r\n });\r\n if (errorMessages.length) {\r\n this._showValidationMessage($focus, errorMessages, column.alignment || \"left\")\r\n }\r\n }!isHideBorder && this._rowsView.element() && this._rowsView.updateFreeSpaceRowHeight()\r\n },\r\n focus($element, isHideBorder) {\r\n if (!arguments.length) {\r\n return this.callBase()\r\n }\r\n this._hideValidationMessage();\r\n if ((null === $element || void 0 === $element ? void 0 : $element.hasClass(\"dx-row\")) || (null === $element || void 0 === $element ? void 0 : $element.hasClass(\"dx-master-detail-cell\"))) {\r\n return this.callBase($element, isHideBorder)\r\n }\r\n var $focus = null === $element || void 0 === $element ? void 0 : $element.closest(this._getFocusCellSelector());\r\n var {\r\n callBase: callBase\r\n } = this;\r\n var validator = $focus && ($focus.data(\"dxValidator\") || $element.find(\".\".concat(this.addWidgetPrefix(VALIDATOR_CLASS))).eq(0).data(\"dxValidator\"));\r\n var rowOptions = $focus && $focus.closest(\".dx-row\").data(\"options\");\r\n var editingController = this.getController(\"editing\");\r\n var change = rowOptions ? editingController.getChangeByKey(rowOptions.key) : null;\r\n var validatingController = this.getController(\"validating\");\r\n var validationResult;\r\n if (validator) {\r\n validatingController.setValidator(validator);\r\n var value = validator.option(\"adapter\").getValue();\r\n if (cellValueShouldBeValidated(value, rowOptions) || validatingController._rowIsValidated(change)) {\r\n editingController.waitForDeferredOperations().done(() => {\r\n var isDetached = !this._rowsView.isElementInside($element);\r\n if (isDetached) {\r\n return\r\n }\r\n when(validatingController.validateCell(validator)).done(result => {\r\n validationResult = result;\r\n var {\r\n column: column\r\n } = validationResult.validator.option(\"dataGetter\")();\r\n if (change && column && !validatingController.isCurrentValidatorProcessing({\r\n rowKey: change.key,\r\n columnIndex: column.index\r\n })) {\r\n return\r\n }\r\n if (validationResult.status === VALIDATION_STATUS.invalid) {\r\n isHideBorder = true\r\n }\r\n this.updateCellState($element, validationResult, isHideBorder);\r\n callBase.call(this, $element, isHideBorder)\r\n })\r\n });\r\n return this.callBase($element, isHideBorder)\r\n }\r\n }\r\n this.updateCellState($element, validationResult, isHideBorder);\r\n return this.callBase($element, isHideBorder)\r\n },\r\n getEditorInstance($container) {\r\n var $editor = $container.find(\".dx-texteditor\").eq(0);\r\n return gridCoreUtils.getWidgetInstance($editor)\r\n }\r\n },\r\n data: {\r\n _getValidationStatus(validationResult) {\r\n var validationStatus = validationResultIsValid(validationResult) ? validationResult.status : validationResult;\r\n return validationStatus || VALIDATION_STATUS.valid\r\n },\r\n _isCellChanged(oldRow, newRow, visibleRowIndex, columnIndex, isLiveUpdate) {\r\n var _a, _b;\r\n var cell = null === (_a = oldRow.cells) || void 0 === _a ? void 0 : _a[columnIndex];\r\n var oldValidationStatus = this._getValidationStatus({\r\n status: null === cell || void 0 === cell ? void 0 : cell.validationStatus\r\n });\r\n var validatingController = this.getController(\"validating\");\r\n var validationResult = validatingController.getCellValidationResult({\r\n rowKey: oldRow.key,\r\n columnIndex: columnIndex\r\n });\r\n var validationData = validatingController._getValidationData(oldRow.key);\r\n var newValidationStatus = this._getValidationStatus(validationResult);\r\n var rowIsModified = JSON.stringify(newRow.modifiedValues) !== JSON.stringify(oldRow.modifiedValues);\r\n var validationStatusChanged = oldValidationStatus !== newValidationStatus && rowIsModified;\r\n var cellIsMarkedAsInvalid = $(null === cell || void 0 === cell ? void 0 : cell.cellElement).hasClass(this.addWidgetPrefix(INVALIDATE_CLASS));\r\n var hasValidationRules = null === (_b = null === cell || void 0 === cell ? void 0 : cell.column.validationRules) || void 0 === _b ? void 0 : _b.length;\r\n var rowEditStateChanged = oldRow.isEditing !== newRow.isEditing && hasValidationRules;\r\n var cellValidationStateChanged = validationStatusChanged || validationData.isValid && cellIsMarkedAsInvalid;\r\n if (rowEditStateChanged || cellValidationStateChanged) {\r\n return true\r\n }\r\n return this.callBase.apply(this, arguments)\r\n }\r\n }\r\n },\r\n views: {\r\n rowsView: {\r\n updateFreeSpaceRowHeight($table) {\r\n var $rowElements;\r\n var $freeSpaceRowElement;\r\n var $freeSpaceRowElements;\r\n var $element = this.element();\r\n var $tooltipContent = $element && $element.find(\".\".concat(this.addWidgetPrefix(WIDGET_INVALID_MESSAGE_CLASS), \" .dx-overlay-content\"));\r\n this.callBase($table);\r\n if ($tooltipContent && $tooltipContent.length) {\r\n $rowElements = this._getRowElements();\r\n $freeSpaceRowElements = this._getFreeSpaceRowElements($table);\r\n $freeSpaceRowElement = $freeSpaceRowElements.first();\r\n if ($freeSpaceRowElement && 1 === $rowElements.length && (!$freeSpaceRowElement.is(\":visible\") || getOuterHeight($tooltipContent) > getOuterHeight($freeSpaceRowElement))) {\r\n $freeSpaceRowElements.show();\r\n setHeight($freeSpaceRowElements, getOuterHeight($tooltipContent));\r\n return true\r\n }\r\n }\r\n return\r\n },\r\n _formItemPrepared(cellOptions, $container) {\r\n this.callBase.apply(this, arguments);\r\n deferUpdate(() => {\r\n var $editor = $container.find(\".dx-widget\").first();\r\n var isEditorDisposed = $editor.length && !$editor.children().length;\r\n if (!isEditorDisposed) {\r\n this.getController(\"validating\").createValidator(cellOptions, $editor)\r\n }\r\n })\r\n },\r\n _cellPrepared($cell, parameters) {\r\n if (!this.getController(\"editing\").isFormOrPopupEditMode()) {\r\n this.getController(\"validating\").createValidator(parameters, $cell)\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _restoreErrorRow(contentTable) {\r\n var editingController = this.getController(\"editing\");\r\n editingController && editingController.hasChanges() && this._getRowElements(contentTable).each((_, item) => {\r\n var rowOptions = $(item).data(\"options\");\r\n if (rowOptions) {\r\n var change = editingController.getChangeByKey(rowOptions.key);\r\n change && editingController._showErrorRow(change)\r\n }\r\n })\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/views/m_columns_view.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../../../core/dom_adapter\";\r\nimport {\r\n getPublicElement\r\n} from \"../../../../core/element\";\r\nimport {\r\n data as elementData\r\n} from \"../../../../core/element_data\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport browser from \"../../../../core/utils/browser\";\r\nimport {\r\n noop\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport * as iteratorUtils from \"../../../../core/utils/iterator\";\r\nimport {\r\n getBoundingRect,\r\n getDefaultAlignment\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n getHeight,\r\n getOuterHeight,\r\n getOuterWidth,\r\n getWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n setWidth\r\n} from \"../../../../core/utils/style\";\r\nimport {\r\n nativeScrolling\r\n} from \"../../../../core/utils/support\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isNumeric,\r\n isRenderer,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../../../core/utils/window\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../../events/click\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport {\r\n name as dblclickEvent\r\n} from \"../../../../events/double_click\";\r\nimport pointerEvents from \"../../../../events/pointer\";\r\nimport {\r\n removeEvent\r\n} from \"../../../../events/remove\";\r\nimport columnStateMixin from \"../../../grids/grid_core/column_state_mixin/m_column_state_mixin\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar SCROLL_CONTAINER_CLASS = \"scroll-container\";\r\nvar SCROLLABLE_SIMULATED_CLASS = \"scrollable-simulated\";\r\nvar GROUP_SPACE_CLASS = \"group-space\";\r\nvar CONTENT_CLASS = \"content\";\r\nvar TABLE_CLASS = \"table\";\r\nvar TABLE_FIXED_CLASS = \"table-fixed\";\r\nvar CONTENT_FIXED_CLASS = \"content-fixed\";\r\nvar ROW_CLASS = \"dx-row\";\r\nvar GROUP_ROW_CLASS = \"dx-group-row\";\r\nvar GROUP_CELL_CLASS = \"dx-group-cell\";\r\nvar DETAIL_ROW_CLASS = \"dx-master-detail-row\";\r\nvar FILTER_ROW_CLASS = \"filter-row\";\r\nvar ERROR_ROW_CLASS = \"dx-error-row\";\r\nvar CELL_UPDATED_ANIMATION_CLASS = \"cell-updated-animation\";\r\nvar HIDDEN_COLUMNS_WIDTH = \"0.0001px\";\r\nvar CELL_HINT_VISIBLE = \"dxCellHintVisible\";\r\nvar FORM_FIELD_ITEM_CONTENT_CLASS = \"dx-field-item-content\";\r\nvar appendElementTemplate = {\r\n render(options) {\r\n options.container.append(options.content)\r\n }\r\n};\r\nvar subscribeToRowEvents = function(that, $table) {\r\n var touchTarget;\r\n var touchCurrentTarget;\r\n var timeoutId;\r\n\r\n function clearTouchTargets(timeout) {\r\n return setTimeout(() => {\r\n touchTarget = touchCurrentTarget = null\r\n }, timeout)\r\n }\r\n eventsEngine.on($table, \"touchstart touchend\", \".dx-row\", e => {\r\n clearTimeout(timeoutId);\r\n if (\"touchstart\" === e.type) {\r\n touchTarget = e.target;\r\n touchCurrentTarget = e.currentTarget;\r\n timeoutId = clearTouchTargets(1e3)\r\n } else {\r\n timeoutId = clearTouchTargets()\r\n }\r\n });\r\n eventsEngine.on($table, [clickEventName, dblclickEvent, pointerEvents.down].join(\" \"), \".dx-row\", that.createAction(e => {\r\n var {\r\n event: event\r\n } = e;\r\n if (touchTarget) {\r\n event.target = touchTarget;\r\n event.currentTarget = touchCurrentTarget\r\n }\r\n if (!$(event.target).closest(\"a\").length) {\r\n e.rowIndex = that.getRowIndex(event.currentTarget);\r\n if (e.rowIndex >= 0) {\r\n e.rowElement = getPublicElement($(event.currentTarget));\r\n e.columns = that.getColumns();\r\n if (event.type === pointerEvents.down) {\r\n that._rowPointerDown(e)\r\n } else if (event.type === clickEventName) {\r\n that._rowClick(e)\r\n } else {\r\n that._rowDblClick(e)\r\n }\r\n }\r\n }\r\n }))\r\n};\r\nvar getWidthStyle = function(width) {\r\n if (\"auto\" === width) {\r\n return \"\"\r\n }\r\n return isNumeric(width) ? \"\".concat(width, \"px\") : width\r\n};\r\nvar setCellWidth = function(cell, column, width) {\r\n cell.style.width = cell.style.maxWidth = \"auto\" === column.width ? \"\" : width\r\n};\r\nvar copyAttributes = function(element, newElement) {\r\n if (!element || !newElement) {\r\n return\r\n }\r\n var oldAttributes = element.attributes;\r\n var newAttributes = newElement.attributes;\r\n var i;\r\n for (i = 0; i < oldAttributes.length; i++) {\r\n var name = oldAttributes[i].nodeName;\r\n if (!newElement.hasAttribute(name)) {\r\n element.removeAttribute(name)\r\n }\r\n }\r\n for (i = 0; i < newAttributes.length; i++) {\r\n element.setAttribute(newAttributes[i].nodeName, newAttributes[i].nodeValue)\r\n }\r\n};\r\nvar removeHandler = function(templateDeferred) {\r\n templateDeferred.resolve()\r\n};\r\nexport var normalizeWidth = width => {\r\n if (\"number\" === typeof width) {\r\n return \"\".concat(width.toFixed(3), \"px\")\r\n }\r\n if (\"adaptiveHidden\" === width) {\r\n return HIDDEN_COLUMNS_WIDTH\r\n }\r\n return width\r\n};\r\nvar viewWithColumnStateMixin = modules.View.inherit(columnStateMixin);\r\nexport class ColumnsView extends viewWithColumnStateMixin {\r\n setTableRole($tableElement) {}\r\n _createScrollableOptions() {\r\n var scrollingOptions = this.option(\"scrolling\");\r\n var useNativeScrolling = this.option(\"scrolling.useNative\");\r\n var options = extend({}, scrollingOptions, {\r\n direction: \"both\",\r\n bounceEnabled: false,\r\n useKeyboard: false\r\n });\r\n if (void 0 === useNativeScrolling) {\r\n useNativeScrolling = true\r\n }\r\n if (\"auto\" === useNativeScrolling) {\r\n delete options.useNative;\r\n delete options.useSimulatedScrollbar\r\n } else {\r\n options.useNative = !!useNativeScrolling;\r\n options.useSimulatedScrollbar = !useNativeScrolling\r\n }\r\n return options\r\n }\r\n _updateCell($cell, parameters) {\r\n if (parameters.rowType) {\r\n this._cellPrepared($cell, parameters)\r\n }\r\n }\r\n _createCell(options) {\r\n var {\r\n column: column\r\n } = options;\r\n var alignment = column.alignment || getDefaultAlignment(this.option(\"rtlEnabled\"));\r\n var cell = domAdapter.createElement(\"td\");\r\n cell.style.textAlign = alignment;\r\n var $cell = $(cell);\r\n if (\"data\" === options.rowType && column.headerId && !column.type) {\r\n if (this.component.option(\"showColumnHeaders\")) {\r\n this.setAria(\"describedby\", column.headerId, $cell)\r\n }\r\n }\r\n if (column.cssClass) {\r\n $cell.addClass(column.cssClass)\r\n }\r\n if (Array.isArray(column.elementAttr)) {\r\n column.elementAttr.forEach(_ref => {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref;\r\n $cell.attr(name, value)\r\n })\r\n }\r\n if (\"expand\" === column.command) {\r\n $cell.addClass(column.cssClass);\r\n $cell.addClass(this.addWidgetPrefix(GROUP_SPACE_CLASS))\r\n }\r\n if (column.colspan > 1) {\r\n $cell.attr(\"colSpan\", column.colspan)\r\n } else if (!column.isBand && \"auto\" !== column.visibleWidth && this.option(\"columnAutoWidth\")) {\r\n if (column.width || column.minWidth) {\r\n cell.style.minWidth = getWidthStyle(column.minWidth || column.width)\r\n }\r\n if (column.width) {\r\n setCellWidth(cell, column, getWidthStyle(column.width))\r\n }\r\n }\r\n return $cell\r\n }\r\n _createRow(rowObject, tagName) {\r\n tagName = tagName || \"tr\";\r\n var $element = $(\"<\".concat(tagName, \">\")).addClass(ROW_CLASS);\r\n this.setAria(\"role\", \"row\", $element);\r\n return $element\r\n }\r\n _isAltRow(row) {\r\n return row && row.dataIndex % 2 === 1\r\n }\r\n _createTable(columns, isAppend) {\r\n var $table = $(\"\").addClass(this.addWidgetPrefix(TABLE_CLASS)).addClass(this.addWidgetPrefix(TABLE_FIXED_CLASS));\r\n if (columns && !isAppend) {\r\n $table.append(this._createColGroup(columns));\r\n if (browser.safari) {\r\n $table.append($(\"\").append(\"\"))\r\n }\r\n this.setTableRole($table)\r\n } else {\r\n this.setAria(\"hidden\", true, $table)\r\n }\r\n this.setAria(\"role\", \"presentation\", $(\"\").appendTo($table));\r\n if (isAppend) {\r\n return $table\r\n }\r\n if (browser.mozilla) {\r\n eventsEngine.on($table, \"mousedown\", \"td\", e => {\r\n if (e.ctrlKey) {\r\n e.preventDefault()\r\n }\r\n })\r\n }\r\n if (this.option(\"cellHintEnabled\")) {\r\n eventsEngine.on($table, \"mousemove\", \".dx-row > td\", this.createAction(args => {\r\n var e = args.event;\r\n var $element = $(e.target);\r\n var $cell = $(e.currentTarget);\r\n var $row = $cell.parent();\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n var rowOptions = $row.data(\"options\");\r\n var columnIndex = $cell.index();\r\n var cellOptions = rowOptions && rowOptions.cells && rowOptions.cells[columnIndex];\r\n var column = cellOptions ? cellOptions.column : visibleColumns[columnIndex];\r\n var isHeaderRow = $row.hasClass(\"dx-header-row\");\r\n var isDataRow = $row.hasClass(\"dx-data-row\");\r\n var isMasterDetailRow = $row.hasClass(DETAIL_ROW_CLASS);\r\n var isGroupRow = $row.hasClass(GROUP_ROW_CLASS);\r\n var isFilterRow = $row.hasClass(this.addWidgetPrefix(FILTER_ROW_CLASS));\r\n var isDataRowWithTemplate = isDataRow && (!column || column.cellTemplate);\r\n var isEditorShown = isDataRow && cellOptions && (rowOptions.isEditing || cellOptions.isEditing || (null === column || void 0 === column ? void 0 : column.showEditorAlways));\r\n var isHeaderRowWithTemplate = isHeaderRow && (!column || column.headerCellTemplate);\r\n var isGroupCellWithTemplate = isGroupRow && (!column || column.groupIndex && column.groupCellTemplate);\r\n var shouldShowHint = !isMasterDetailRow && !isFilterRow && !isEditorShown && !isDataRowWithTemplate && !isHeaderRowWithTemplate && !isGroupCellWithTemplate;\r\n if (shouldShowHint) {\r\n if ($element.data(CELL_HINT_VISIBLE)) {\r\n $element.removeAttr(\"title\");\r\n $element.data(CELL_HINT_VISIBLE, false)\r\n }\r\n var difference = $element[0].scrollWidth - $element[0].clientWidth;\r\n if (difference > 0 && !isDefined($element.attr(\"title\"))) {\r\n $element.attr(\"title\", $element.text());\r\n $element.data(CELL_HINT_VISIBLE, true)\r\n }\r\n }\r\n }))\r\n }\r\n var getOptions = event => {\r\n var $cell = $(event.currentTarget);\r\n var $fieldItemContent = $(event.target).closest(\".\".concat(FORM_FIELD_ITEM_CONTENT_CLASS));\r\n var $row = $cell.parent();\r\n var rowOptions = $row.data(\"options\");\r\n var options = rowOptions && rowOptions.cells && rowOptions.cells[$cell.index()];\r\n if (!$cell.closest(\"table\").is(event.delegateTarget)) {\r\n return\r\n }\r\n var resultOptions = extend({}, options, {\r\n cellElement: getPublicElement($cell),\r\n event: event,\r\n eventType: event.type\r\n });\r\n resultOptions.rowIndex = this.getRowIndex($row);\r\n if ($fieldItemContent.length) {\r\n var formItemOptions = $fieldItemContent.data(\"dx-form-item\");\r\n if (formItemOptions.column) {\r\n resultOptions.column = formItemOptions.column;\r\n resultOptions.columnIndex = this._columnsController.getVisibleIndex(resultOptions.column.index)\r\n }\r\n }\r\n return resultOptions\r\n };\r\n eventsEngine.on($table, \"mouseover\", \".dx-row > td\", e => {\r\n var options = getOptions(e);\r\n options && this.executeAction(\"onCellHoverChanged\", options)\r\n });\r\n eventsEngine.on($table, \"mouseout\", \".dx-row > td\", e => {\r\n var options = getOptions(e);\r\n options && this.executeAction(\"onCellHoverChanged\", options)\r\n });\r\n eventsEngine.on($table, clickEventName, \".dx-row > td\", e => {\r\n var options = getOptions(e);\r\n options && this.executeAction(\"onCellClick\", options)\r\n });\r\n eventsEngine.on($table, dblclickEvent, \".dx-row > td\", e => {\r\n var options = getOptions(e);\r\n options && this.executeAction(\"onCellDblClick\", options)\r\n });\r\n subscribeToRowEvents(this, $table);\r\n return $table\r\n }\r\n _rowPointerDown() {}\r\n _rowClick() {}\r\n _rowDblClick() {}\r\n _createColGroup(columns) {\r\n var colgroupElement = $(\"\");\r\n for (var i = 0; i < columns.length; i++) {\r\n var colspan = columns[i].colspan || 1;\r\n for (var j = 0; j < colspan; j++) {\r\n colgroupElement.append(this._createCol(columns[i]))\r\n }\r\n }\r\n return colgroupElement\r\n }\r\n _createCol(column) {\r\n var width = column.visibleWidth || column.width;\r\n if (\"adaptiveHidden\" === width) {\r\n width = HIDDEN_COLUMNS_WIDTH\r\n }\r\n var col = $(\"\");\r\n setWidth(col, width);\r\n return col\r\n }\r\n renderDelayedTemplates(change) {\r\n var delayedTemplates = this._delayedTemplates;\r\n var syncTemplates = delayedTemplates.filter(template => !template.async);\r\n var asyncTemplates = delayedTemplates.filter(template => template.async);\r\n this._delayedTemplates = [];\r\n this._renderDelayedTemplatesCore(syncTemplates, false, change);\r\n this._renderDelayedTemplatesCoreAsync(asyncTemplates)\r\n }\r\n _renderDelayedTemplatesCoreAsync(templates) {\r\n if (templates.length) {\r\n var templateTimeout = getWindow().setTimeout(() => {\r\n this._templateTimeouts.delete(templateTimeout);\r\n this._renderDelayedTemplatesCore(templates, true)\r\n });\r\n this._templateTimeouts.add(templateTimeout)\r\n }\r\n }\r\n _renderDelayedTemplatesCore(templates, isAsync, change) {\r\n var date = new Date;\r\n while (templates.length) {\r\n var templateParameters = templates.shift();\r\n var {\r\n options: options\r\n } = templateParameters;\r\n var doc = domAdapter.getRootNode($(options.container).get(0));\r\n var needWaitAsyncTemplates = this.needWaitAsyncTemplates();\r\n if (!isAsync || $(options.container).closest(doc).length || needWaitAsyncTemplates) {\r\n if (change) {\r\n options.change = change\r\n }\r\n templateParameters.template.render(options)\r\n }\r\n if (isAsync && new Date - date > 30) {\r\n this._renderDelayedTemplatesCoreAsync(templates);\r\n break\r\n }\r\n }\r\n if (!templates.length && this._delayedTemplates.length) {\r\n this.renderDelayedTemplates()\r\n }\r\n }\r\n _processTemplate(template, options) {\r\n var renderingTemplate;\r\n if (template && template.render && !isRenderer(template)) {\r\n renderingTemplate = {\r\n allowRenderToDetachedContainer: template.allowRenderToDetachedContainer,\r\n render(options) {\r\n template.render(options.container, options.model, options.change);\r\n options.deferred && options.deferred.resolve()\r\n }\r\n }\r\n } else if (isFunction(template)) {\r\n renderingTemplate = {\r\n render(options) {\r\n var renderedTemplate = template(getPublicElement(options.container), options.model, options.change);\r\n if (renderedTemplate && (renderedTemplate.nodeType || isRenderer(renderedTemplate))) {\r\n options.container.append(renderedTemplate)\r\n }\r\n options.deferred && options.deferred.resolve()\r\n }\r\n }\r\n } else {\r\n var templateID = isString(template) ? template : $(template).attr(\"id\");\r\n if (!templateID) {\r\n renderingTemplate = this.getTemplate(template)\r\n } else {\r\n if (!this._templatesCache[templateID]) {\r\n this._templatesCache[templateID] = this.getTemplate(template)\r\n }\r\n renderingTemplate = this._templatesCache[templateID]\r\n }\r\n }\r\n return renderingTemplate\r\n }\r\n renderTemplate(container, template, options, allowRenderToDetachedContainer, change) {\r\n var _a;\r\n var renderingTemplate = this._processTemplate(template, options);\r\n var {\r\n column: column\r\n } = options;\r\n var isDataRow = \"data\" === options.rowType;\r\n var templateDeferred = new Deferred;\r\n var templateOptions = {\r\n container: container,\r\n model: options,\r\n deferred: templateDeferred,\r\n onRendered: () => {\r\n if (this.isDisposed()) {\r\n templateDeferred.reject()\r\n } else {\r\n templateDeferred.resolve()\r\n }\r\n }\r\n };\r\n if (renderingTemplate) {\r\n options.component = this.component;\r\n var columnAsync = column && (column.renderAsync && isDataRow || this.option(\"renderAsync\") && (false !== column.renderAsync && (column.command || column.showEditorAlways) && isDataRow || \"filter\" === options.rowType));\r\n var async = null !== (_a = options.renderAsync) && void 0 !== _a ? _a : columnAsync;\r\n if ((renderingTemplate.allowRenderToDetachedContainer || allowRenderToDetachedContainer) && !async) {\r\n renderingTemplate.render(templateOptions)\r\n } else {\r\n this._delayedTemplates.push({\r\n template: renderingTemplate,\r\n options: templateOptions,\r\n async: async\r\n })\r\n }\r\n this._templateDeferreds.add(templateDeferred);\r\n eventsEngine.on(container, removeEvent, removeHandler.bind(null, templateDeferred))\r\n } else {\r\n templateDeferred.reject()\r\n }\r\n return templateDeferred.promise().always(() => {\r\n this._templateDeferreds.delete(templateDeferred)\r\n })\r\n }\r\n _getBodies(tableElement) {\r\n return $(tableElement).children(\"tbody\").not(\".dx-header\").not(\".dx-footer\")\r\n }\r\n _needWrapRow($tableElement) {\r\n var _a;\r\n var hasRowTemplate = !!this.option().rowTemplate;\r\n return hasRowTemplate && !!(null === (_a = this._getBodies($tableElement)) || void 0 === _a ? void 0 : _a.filter(\".\".concat(ROW_CLASS)).length)\r\n }\r\n _wrapRowIfNeed($table, $row, isRefreshing) {\r\n var $tableElement = isRefreshing ? $table || this._tableElement : this._tableElement || $table;\r\n var needWrapRow = this._needWrapRow($tableElement);\r\n if (needWrapRow) {\r\n var $tbody = $(\"\").addClass($row.attr(\"class\"));\r\n this.setAria(\"role\", \"presentation\", $tbody);\r\n return $tbody.append($row)\r\n }\r\n return $row\r\n }\r\n _appendRow($table, $row, appendTemplate) {\r\n appendTemplate = appendTemplate || appendElementTemplate;\r\n appendTemplate.render({\r\n content: $row,\r\n container: $table\r\n })\r\n }\r\n _resizeCore() {\r\n var scrollLeft = this._scrollLeft;\r\n if (scrollLeft >= 0) {\r\n this._scrollLeft = 0;\r\n this.scrollTo({\r\n left: scrollLeft\r\n })\r\n }\r\n }\r\n _renderCore(e) {\r\n var $root = this.element().parent();\r\n if (!$root || $root.parent().length) {\r\n this.renderDelayedTemplates(e)\r\n }\r\n }\r\n _renderTable(options) {\r\n options = options || {};\r\n options.columns = this._columnsController.getVisibleColumns();\r\n var changeType = options.change && options.change.changeType;\r\n var $table = this._createTable(options.columns, \"append\" === changeType || \"prepend\" === changeType || \"update\" === changeType);\r\n this._renderRows($table, options);\r\n return $table\r\n }\r\n _renderRows($table, options) {\r\n var rows = this._getRows(options.change);\r\n var columnIndices = options.change && options.change.columnIndices || [];\r\n var changeTypes = options.change && options.change.changeTypes || [];\r\n for (var i = 0; i < rows.length; i++) {\r\n this._renderRow($table, extend({\r\n row: rows[i],\r\n columnIndices: columnIndices[i],\r\n changeType: changeTypes[i]\r\n }, options))\r\n }\r\n }\r\n _renderRow($table, options) {\r\n if (!options.columnIndices) {\r\n options.row.cells = []\r\n }\r\n var $row = this._createRow(options.row);\r\n var $wrappedRow = this._wrapRowIfNeed($table, $row);\r\n if (\"remove\" !== options.changeType) {\r\n this._renderCells($row, options)\r\n }\r\n this._appendRow($table, $wrappedRow);\r\n var rowOptions = extend({\r\n columns: options.columns\r\n }, options.row);\r\n this._addWatchMethod(rowOptions, options.row);\r\n this._rowPrepared($wrappedRow, rowOptions, options.row)\r\n }\r\n _needRenderCell(columnIndex, columnIndices) {\r\n return !columnIndices || columnIndices.indexOf(columnIndex) >= 0\r\n }\r\n _renderCells($row, options) {\r\n var columnIndex = 0;\r\n var {\r\n row: row\r\n } = options;\r\n var {\r\n columns: columns\r\n } = options;\r\n for (var i = 0; i < columns.length; i++) {\r\n if (this._needRenderCell(i, options.columnIndices)) {\r\n this._renderCell($row, extend({\r\n column: columns[i],\r\n columnIndex: columnIndex,\r\n value: row.values && row.values[columnIndex],\r\n oldValue: row.oldValues && row.oldValues[columnIndex]\r\n }, options))\r\n }\r\n if (columns[i].colspan > 1) {\r\n columnIndex += columns[i].colspan\r\n } else {\r\n columnIndex++\r\n }\r\n }\r\n }\r\n _updateCells($rowElement, $newRowElement, columnIndices) {\r\n var $cells = $rowElement.children();\r\n var $newCells = $newRowElement.children();\r\n var highlightChanges = this.option(\"highlightChanges\");\r\n var cellUpdatedClass = this.addWidgetPrefix(CELL_UPDATED_ANIMATION_CLASS);\r\n columnIndices.forEach((columnIndex, index) => {\r\n var $cell = $cells.eq(columnIndex);\r\n var $newCell = $newCells.eq(index);\r\n $cell.replaceWith($newCell);\r\n if (highlightChanges && !$newCell.hasClass(\"dx-command-expand\")) {\r\n $newCell.addClass(cellUpdatedClass)\r\n }\r\n });\r\n copyAttributes($rowElement.get(0), $newRowElement.get(0))\r\n }\r\n _setCellAriaAttributes($cell, cellOptions) {\r\n if (\"freeSpace\" !== cellOptions.rowType) {\r\n this.setAria(\"role\", \"gridcell\", $cell);\r\n var columnIndexOffset = this._columnsController.getColumnIndexOffset();\r\n var ariaColIndex = cellOptions.columnIndex + columnIndexOffset + 1;\r\n this.setAria(\"colindex\", ariaColIndex, $cell)\r\n }\r\n }\r\n _renderCell($row, options) {\r\n var cellOptions = this._getCellOptions(options);\r\n if (options.columnIndices) {\r\n if (options.row.cells) {\r\n var cellIndex = options.row.cells.findIndex(cell => cell.columnIndex === cellOptions.columnIndex);\r\n options.row.cells[cellIndex] = cellOptions\r\n }\r\n } else {\r\n options.row.cells.push(cellOptions)\r\n }\r\n var $cell = this._createCell(cellOptions);\r\n this._setCellAriaAttributes($cell, cellOptions);\r\n this._renderCellContent($cell, cellOptions, options);\r\n $row.get(0).appendChild($cell.get(0));\r\n return $cell\r\n }\r\n _renderCellContent($cell, options, renderOptions) {\r\n var template = this._getCellTemplate(options);\r\n when(!template || this.renderTemplate($cell, template, options, void 0, renderOptions.change)).done(() => {\r\n this._updateCell($cell, options)\r\n })\r\n }\r\n _getCellTemplate(options) {}\r\n _getRows(change) {\r\n return []\r\n }\r\n _getCellOptions(options) {\r\n var cellOptions = {\r\n column: options.column,\r\n columnIndex: options.columnIndex,\r\n rowType: options.row.rowType,\r\n isAltRow: this._isAltRow(options.row)\r\n };\r\n this._addWatchMethod(cellOptions);\r\n return cellOptions\r\n }\r\n _addWatchMethod(options, source) {\r\n if (!this.option(\"repaintChangesOnly\")) {\r\n return\r\n }\r\n var watchers = [];\r\n source = source || options;\r\n source.watch = source.watch || function(getter, updateValueFunc, updateRowFunc) {\r\n var oldValue = getter(source.data);\r\n var watcher = function(row) {\r\n if (row && updateRowFunc) {\r\n updateRowFunc(row)\r\n }\r\n var newValue = getter(source.data);\r\n if (JSON.stringify(oldValue) !== JSON.stringify(newValue)) {\r\n if (row) {\r\n updateValueFunc(newValue)\r\n }\r\n oldValue = newValue\r\n }\r\n };\r\n watchers.push(watcher);\r\n return function() {\r\n var index = watchers.indexOf(watcher);\r\n if (index >= 0) {\r\n watchers.splice(index, 1)\r\n }\r\n }\r\n };\r\n source.update = source.update || function(row, keepRow) {\r\n if (row) {\r\n this.data = options.data = row.data;\r\n this.rowIndex = options.rowIndex = row.rowIndex;\r\n this.dataIndex = options.dataIndex = row.dataIndex;\r\n this.isExpanded = options.isExpanded = row.isExpanded;\r\n if (options.row && !keepRow) {\r\n options.row = row\r\n }\r\n }\r\n watchers.forEach(watcher => {\r\n watcher(row)\r\n })\r\n };\r\n if (source !== options) {\r\n options.watch = source.watch.bind(source)\r\n }\r\n return options\r\n }\r\n _cellPrepared(cell, options) {\r\n options.cellElement = getPublicElement($(cell));\r\n this.executeAction(\"onCellPrepared\", options)\r\n }\r\n _rowPrepared($row, options, row) {\r\n elementData($row.get(0), \"options\", options);\r\n options.rowElement = getPublicElement($row);\r\n this.executeAction(\"onRowPrepared\", options)\r\n }\r\n _columnOptionChanged(e) {\r\n var {\r\n optionNames: optionNames\r\n } = e;\r\n if (gridCoreUtils.checkChanges(optionNames, [\"width\", \"visibleWidth\"])) {\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n var widths = visibleColumns.map(column => column.visibleWidth || column.width);\r\n this.setColumnWidths({\r\n widths: widths,\r\n optionNames: optionNames\r\n });\r\n return\r\n }\r\n if (!this._requireReady) {\r\n this.render()\r\n }\r\n }\r\n getCellIndex($cell) {\r\n var cellIndex = $cell.length ? $cell[0].cellIndex : -1;\r\n return cellIndex\r\n }\r\n getTableElements() {\r\n return this._tableElement || $()\r\n }\r\n getTableElement(isFixedTableRendering) {\r\n return this._tableElement\r\n }\r\n setTableElement(tableElement, isFixedTableRendering) {\r\n this._tableElement = tableElement\r\n }\r\n optionChanged(args) {\r\n super.optionChanged(args);\r\n switch (args.name) {\r\n case \"cellHintEnabled\":\r\n case \"onCellPrepared\":\r\n case \"onRowPrepared\":\r\n case \"onCellHoverChanged\":\r\n this._invalidate(true, true);\r\n args.handled = true;\r\n break;\r\n case \"keyboardNavigation\":\r\n if (\"keyboardNavigation.enabled\" === args.fullName) {\r\n this._invalidate(true, true)\r\n }\r\n args.handled = true\r\n }\r\n }\r\n init() {\r\n this._scrollLeft = -1;\r\n this._columnsController = this.getController(\"columns\");\r\n this._dataController = this.getController(\"data\");\r\n this._delayedTemplates = [];\r\n this._templateDeferreds = new Set;\r\n this._templatesCache = {};\r\n this._templateTimeouts = new Set;\r\n this.createAction(\"onCellClick\");\r\n this.createAction(\"onRowClick\");\r\n this.createAction(\"onCellDblClick\");\r\n this.createAction(\"onRowDblClick\");\r\n this.createAction(\"onCellHoverChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onCellPrepared\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"],\r\n category: \"rendering\"\r\n });\r\n this.createAction(\"onRowPrepared\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"],\r\n category: \"rendering\",\r\n afterExecute: e => {\r\n this._afterRowPrepared(e)\r\n }\r\n });\r\n this._columnsController.columnsChanged.add(this._columnOptionChanged.bind(this));\r\n this._dataController && this._dataController.changed.add(this._handleDataChanged.bind(this))\r\n }\r\n _afterRowPrepared(e) {}\r\n _handleDataChanged() {}\r\n callbackNames() {\r\n return [\"scrollChanged\"]\r\n }\r\n _updateScrollLeftPosition() {\r\n var scrollLeft = this._scrollLeft;\r\n if (scrollLeft >= 0) {\r\n this._scrollLeft = 0;\r\n this.scrollTo({\r\n left: scrollLeft\r\n })\r\n }\r\n }\r\n scrollTo(pos) {\r\n var $element = this.element();\r\n var $scrollContainer = $element && $element.children(\".\".concat(this.addWidgetPrefix(SCROLL_CONTAINER_CLASS))).not(\".\".concat(this.addWidgetPrefix(CONTENT_FIXED_CLASS)));\r\n if (isDefined(pos) && isDefined(pos.left) && this._scrollLeft !== pos.left) {\r\n this._scrollLeft = pos.left;\r\n $scrollContainer && $scrollContainer.scrollLeft(pos.left)\r\n }\r\n }\r\n _getContent(isFixedTableRendering) {\r\n var _a;\r\n return null === (_a = this._tableElement) || void 0 === _a ? void 0 : _a.parent()\r\n }\r\n _removeContent(isFixedTableRendering) {\r\n var $scrollContainer = this._getContent(isFixedTableRendering);\r\n if (null === $scrollContainer || void 0 === $scrollContainer ? void 0 : $scrollContainer.length) {\r\n $scrollContainer.remove()\r\n }\r\n }\r\n _wrapTableInScrollContainer($table, isFixedTableRendering) {\r\n var $scrollContainer = $(\"
    \");\r\n var useNative = this.option(\"scrolling.useNative\");\r\n if (false === useNative || \"auto\" === useNative && !nativeScrolling) {\r\n $scrollContainer.addClass(this.addWidgetPrefix(SCROLLABLE_SIMULATED_CLASS))\r\n }\r\n eventsEngine.on($scrollContainer, \"scroll\", () => {\r\n var scrollLeft = $scrollContainer.scrollLeft();\r\n if (scrollLeft !== this._scrollLeft) {\r\n this.scrollChanged.fire({\r\n left: scrollLeft\r\n }, this.name)\r\n }\r\n });\r\n $scrollContainer.addClass(this.addWidgetPrefix(CONTENT_CLASS)).addClass(this.addWidgetPrefix(SCROLL_CONTAINER_CLASS)).append($table).appendTo(this.element());\r\n this.setAria(\"role\", \"presentation\", $scrollContainer);\r\n return $scrollContainer\r\n }\r\n needWaitAsyncTemplates() {\r\n return this.option(\"templatesRenderAsynchronously\") && false === this.option(\"renderAsync\")\r\n }\r\n waitAsyncTemplates() {\r\n var forceWaiting = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : false;\r\n var result = new Deferred;\r\n var needWaitAsyncTemplates = forceWaiting || this.needWaitAsyncTemplates();\r\n if (!needWaitAsyncTemplates) {\r\n return result.resolve()\r\n }\r\n var waitTemplatesRecursion = () => when.apply(this, Array.from(this._templateDeferreds)).done(() => {\r\n if (this.isDisposed()) {\r\n result.reject()\r\n } else if (this._templateDeferreds.size > 0) {\r\n waitTemplatesRecursion()\r\n } else {\r\n result.resolve()\r\n }\r\n }).fail(result.reject);\r\n waitTemplatesRecursion();\r\n return result.promise()\r\n }\r\n _updateContent($newTableElement, change, isFixedTableRendering) {\r\n return this.waitAsyncTemplates().done(() => {\r\n this._removeContent(isFixedTableRendering);\r\n this.setTableElement($newTableElement, isFixedTableRendering);\r\n this._wrapTableInScrollContainer($newTableElement, isFixedTableRendering)\r\n })\r\n }\r\n _findContentElement() {}\r\n _getWidths($cellElements) {\r\n if (!$cellElements) {\r\n return []\r\n }\r\n var result = [];\r\n var cellElements = $cellElements.toArray();\r\n cellElements.forEach(cell => {\r\n var width = cell.offsetWidth;\r\n if (cell.getBoundingClientRect) {\r\n var rect = getBoundingRect(cell);\r\n if (rect.width > cell.offsetWidth - 1) {\r\n width = rect.width\r\n }\r\n }\r\n result.push(width)\r\n });\r\n return result\r\n }\r\n getColumnWidths($tableElement) {\r\n (this.option(\"forceApplyBindings\") || noop)();\r\n $tableElement = null !== $tableElement && void 0 !== $tableElement ? $tableElement : this.getTableElement();\r\n if ($tableElement) {\r\n var $rows = $tableElement.children(\"tbody:not(.dx-header)\").children();\r\n for (var i = 0; i < $rows.length; i++) {\r\n var $row = $rows.eq(i);\r\n var isGroupRow = $row.hasClass(GROUP_ROW_CLASS);\r\n var isDetailRow = $row.hasClass(DETAIL_ROW_CLASS);\r\n var isErrorRow = $row.hasClass(ERROR_ROW_CLASS);\r\n var isRowVisible = \"none\" !== $row.get(0).style.display && !$row.hasClass(\"dx-state-invisible\");\r\n var isRelevantRow = !isGroupRow && !isDetailRow && !isErrorRow;\r\n if (isRowVisible && isRelevantRow) {\r\n var $cells = $row.children(\"td\");\r\n var result = this._getWidths($cells);\r\n return result\r\n }\r\n }\r\n }\r\n return []\r\n }\r\n getVisibleColumnIndex(columnIndex, rowIndex) {\r\n return columnIndex\r\n }\r\n setColumnWidths(_ref2) {\r\n var {\r\n widths: widths,\r\n optionNames: optionNames\r\n } = _ref2;\r\n var $tableElement = this.getTableElement();\r\n if (!(null === $tableElement || void 0 === $tableElement ? void 0 : $tableElement.length) || !widths) {\r\n return\r\n }\r\n var columns = this.getColumns();\r\n var columnAutoWidth = this.option(\"columnAutoWidth\");\r\n var $cols = $tableElement.children(\"colgroup\").children(\"col\");\r\n $cols.toArray().forEach(col => col.removeAttribute(\"style\"));\r\n columns.forEach((column, columnIndex) => {\r\n if (columnAutoWidth && column.width && !column.command) {\r\n var width = getWidthStyle(column.visibleWidth || column.width);\r\n var minWidth = getWidthStyle(column.minWidth || width);\r\n var $rows = $tableElement.children().children(\".dx-row\").not(\".\".concat(DETAIL_ROW_CLASS));\r\n for (var rowIndex = 0; rowIndex < $rows.length; rowIndex++) {\r\n var visibleIndex = this.getVisibleColumnIndex(columnIndex, rowIndex);\r\n if (visibleIndex >= 0) {\r\n var $row = $rows.eq(rowIndex);\r\n var $cell = $row.hasClass(GROUP_ROW_CLASS) ? $row.find(\"td[aria-colindex='\".concat(visibleIndex + 1, \"']:not(.\").concat(GROUP_CELL_CLASS, \")\")) : $row.find(\"td\").eq(visibleIndex);\r\n if ($cell.length) {\r\n var cell = $cell.get(0);\r\n setCellWidth(cell, column, width);\r\n cell.style.minWidth = minWidth\r\n }\r\n }\r\n }\r\n }\r\n var colWidth = normalizeWidth(widths[columnIndex]);\r\n if (isDefined(colWidth)) {\r\n setWidth($cols.eq(columnIndex), colWidth)\r\n }\r\n })\r\n }\r\n getCellElements(rowIndex) {\r\n return this._getCellElementsCore(rowIndex)\r\n }\r\n _getCellElementsCore(rowIndex) {\r\n if (rowIndex < 0) {\r\n return\r\n }\r\n var $row = this._getRowElements().eq(rowIndex);\r\n return $row.children()\r\n }\r\n _getCellElement(rowIndex, columnIdentifier) {\r\n var $cells = this.getCellElements(rowIndex);\r\n var columnVisibleIndex = this._getVisibleColumnIndex($cells, rowIndex, columnIdentifier);\r\n if (!(null === $cells || void 0 === $cells ? void 0 : $cells.length) || columnVisibleIndex < 0) {\r\n return\r\n }\r\n var $cell = $cells.eq(columnVisibleIndex);\r\n return $cell.length > 0 ? $cell : void 0\r\n }\r\n _getRowElement(rowIndex) {\r\n var that = this;\r\n var $rowElement = $();\r\n var $tableElements = that.getTableElements();\r\n iteratorUtils.each($tableElements, (_, tableElement) => {\r\n $rowElement = $rowElement.add(that._getRowElements($(tableElement)).eq(rowIndex))\r\n });\r\n if ($rowElement.length) {\r\n return $rowElement\r\n }\r\n return\r\n }\r\n getCellElement(rowIndex, columnIdentifier) {\r\n var $cell = this._getCellElement(rowIndex, columnIdentifier);\r\n if ($cell) {\r\n return getPublicElement($cell)\r\n }\r\n return\r\n }\r\n getRowElement(rowIndex) {\r\n var $rows = this._getRowElement(rowIndex);\r\n var elements = [];\r\n if ($rows && !getPublicElement($rows).get) {\r\n for (var i = 0; i < $rows.length; i++) {\r\n elements.push($rows[i])\r\n }\r\n } else {\r\n elements = $rows\r\n }\r\n return elements\r\n }\r\n _getVisibleColumnIndex($cells, rowIndex, columnIdentifier) {\r\n if (isString(columnIdentifier)) {\r\n var columnIndex = this._columnsController.columnOption(columnIdentifier, \"index\");\r\n return this._columnsController.getVisibleIndex(columnIndex)\r\n }\r\n return columnIdentifier\r\n }\r\n getColumnElements() {}\r\n getColumns(rowIndex) {\r\n return this._columnsController.getVisibleColumns(rowIndex)\r\n }\r\n getCell(cellPosition, rows, cells) {\r\n var $rows = rows || this._getRowElements();\r\n var $cells;\r\n if ($rows.length > 0 && cellPosition.rowIndex >= 0) {\r\n if (\"virtual\" !== this.option(\"scrolling.mode\") && \"virtual\" !== this.option(\"scrolling.rowRenderingMode\")) {\r\n cellPosition.rowIndex = cellPosition.rowIndex < $rows.length ? cellPosition.rowIndex : $rows.length - 1\r\n }\r\n $cells = cells || this.getCellElements(cellPosition.rowIndex);\r\n if ((null === $cells || void 0 === $cells ? void 0 : $cells.length) > 0) {\r\n return $cells.eq($cells.length > cellPosition.columnIndex ? cellPosition.columnIndex : $cells.length - 1)\r\n }\r\n }\r\n }\r\n getRowsCount() {\r\n var tableElement = this.getTableElement();\r\n if (tableElement && 1 === tableElement.length) {\r\n return tableElement[0].rows.length\r\n }\r\n return 0\r\n }\r\n _getRowElementsCore(tableElement) {\r\n tableElement = tableElement || this.getTableElement();\r\n if (tableElement) {\r\n var hasRowTemplate = this.option().rowTemplate || this.option(\"dataRowTemplate\");\r\n var tBodies = hasRowTemplate && tableElement.find(\"> tbody.\".concat(ROW_CLASS));\r\n return tBodies && tBodies.length ? tBodies : tableElement.find(\"> tbody > \" + \".\".concat(ROW_CLASS, \", > .\").concat(ROW_CLASS))\r\n }\r\n return $()\r\n }\r\n _getRowElements(tableElement) {\r\n return this._getRowElementsCore(tableElement)\r\n }\r\n getRowIndex($row) {\r\n return this._getRowElements().index($row)\r\n }\r\n getBoundingRect() {}\r\n getName() {}\r\n setScrollerSpacing(width) {\r\n var $element = this.element();\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n $element && $element.css({\r\n paddingLeft: rtlEnabled ? width : \"\",\r\n paddingRight: !rtlEnabled ? width : \"\"\r\n })\r\n }\r\n isScrollbarVisible(isHorizontal) {\r\n var $element = this.element();\r\n var $tableElement = this._tableElement;\r\n if ($element && $tableElement) {\r\n return isHorizontal ? getOuterWidth($tableElement) - getWidth($element) > 0 : getOuterHeight($tableElement) - getHeight($element) > 0\r\n }\r\n return false\r\n }\r\n isDisposed() {\r\n var _a;\r\n return null === (_a = this.component) || void 0 === _a ? void 0 : _a._disposed\r\n }\r\n dispose() {\r\n var _a, _b;\r\n if (hasWindow()) {\r\n var window = getWindow();\r\n null === (_a = this._templateTimeouts) || void 0 === _a ? void 0 : _a.forEach(templateTimeout => window.clearTimeout(templateTimeout));\r\n null === (_b = this._templateTimeouts) || void 0 === _b ? void 0 : _b.clear()\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/views/m_grid_view.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../../../core/dom_adapter\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport browser from \"../../../../core/utils/browser\";\r\nimport {\r\n deferRender,\r\n deferUpdate\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n getHeight,\r\n getInnerWidth,\r\n getOuterWidth,\r\n getWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined,\r\n isNumeric,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../../../core/utils/window\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport * as accessibility from \"../../../../ui/shared/accessibility\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar BORDERS_CLASS = \"borders\";\r\nvar TABLE_FIXED_CLASS = \"table-fixed\";\r\nvar IMPORTANT_MARGIN_CLASS = \"important-margin\";\r\nvar GRIDBASE_CONTAINER_CLASS = \"dx-gridbase-container\";\r\nvar GROUP_ROW_SELECTOR = \"tr.dx-group-row\";\r\nvar HIDDEN_COLUMNS_WIDTH = \"adaptiveHidden\";\r\nvar VIEW_NAMES = [\"columnsSeparatorView\", \"blockSeparatorView\", \"trackerView\", \"headerPanel\", \"columnHeadersView\", \"rowsView\", \"footerView\", \"columnChooserView\", \"filterPanelView\", \"pagerView\", \"draggingHeaderView\", \"contextMenuView\", \"errorView\", \"headerFilterView\", \"filterBuilderView\"];\r\nvar isPercentWidth = function(width) {\r\n return isString(width) && width.endsWith(\"%\")\r\n};\r\nvar isPixelWidth = function(width) {\r\n return isString(width) && width.endsWith(\"px\")\r\n};\r\nvar calculateFreeWidth = function(that, widths) {\r\n var contentWidth = that._rowsView.contentWidth();\r\n var totalWidth = that._getTotalWidth(widths, contentWidth);\r\n return contentWidth - totalWidth\r\n};\r\nvar calculateFreeWidthWithCurrentMinWidth = function(that, columnIndex, currentMinWidth, widths) {\r\n return calculateFreeWidth(that, widths.map((width, index) => index === columnIndex ? currentMinWidth : width))\r\n};\r\nvar restoreFocus = function(focusedElement, selectionRange) {\r\n accessibility.hiddenFocus(focusedElement, true);\r\n gridCoreUtils.setSelectionRange(focusedElement, selectionRange)\r\n};\r\nvar resizingControllerMembers = {\r\n _initPostRenderHandlers() {\r\n if (!this._refreshSizesHandler) {\r\n this._refreshSizesHandler = e => {\r\n var resizeDeferred = (new Deferred).resolve(null);\r\n var changeType = null === e || void 0 === e ? void 0 : e.changeType;\r\n var isDelayed = null === e || void 0 === e ? void 0 : e.isDelayed;\r\n var needFireContentReady = changeType && \"updateSelection\" !== changeType && \"updateFocusedRow\" !== changeType && \"pageIndex\" !== changeType && !isDelayed;\r\n this._dataController.changed.remove(this._refreshSizesHandler);\r\n if (this._checkSize()) {\r\n resizeDeferred = this._refreshSizes(e)\r\n }\r\n if (needFireContentReady) {\r\n when(resizeDeferred).done(() => {\r\n this._setAriaLabel();\r\n this.fireContentReadyAction()\r\n })\r\n }\r\n };\r\n this._dataController.changed.add(() => {\r\n this._dataController.changed.add(this._refreshSizesHandler)\r\n })\r\n }\r\n },\r\n _refreshSizes(e) {\r\n var _a;\r\n var resizeDeferred = (new Deferred).resolve(null);\r\n var changeType = null === e || void 0 === e ? void 0 : e.changeType;\r\n var isDelayed = null === e || void 0 === e ? void 0 : e.isDelayed;\r\n var items = this._dataController.items();\r\n if (!e || \"refresh\" === changeType || \"prepend\" === changeType || \"append\" === changeType) {\r\n if (!isDelayed) {\r\n resizeDeferred = this.resize()\r\n }\r\n } else if (\"update\" === changeType) {\r\n if (0 === (null === (_a = e.changeTypes) || void 0 === _a ? void 0 : _a.length)) {\r\n return resizeDeferred\r\n }\r\n if ((items.length > 1 || \"insert\" !== e.changeTypes[0]) && !(0 === items.length && \"remove\" === e.changeTypes[0]) && !e.needUpdateDimensions) {\r\n resizeDeferred = new Deferred;\r\n this._waitAsyncTemplates().done(() => {\r\n deferUpdate(() => deferRender(() => deferUpdate(() => {\r\n this._setScrollerSpacing();\r\n this._rowsView.resize();\r\n resizeDeferred.resolve()\r\n })))\r\n }).fail(resizeDeferred.reject)\r\n } else {\r\n resizeDeferred = this.resize()\r\n }\r\n }\r\n return resizeDeferred\r\n },\r\n fireContentReadyAction() {\r\n this.component._fireContentReadyAction()\r\n },\r\n _getWidgetAriaLabel: () => \"dxDataGrid-ariaDataGrid\",\r\n _setAriaLabel() {\r\n var totalItemsCount = Math.max(0, this._dataController.totalItemsCount());\r\n this.component.setAria(\"label\", messageLocalization.format(this._getWidgetAriaLabel(), totalItemsCount, this.component.columnCount()), this.component.$element().children(\".\".concat(GRIDBASE_CONTAINER_CLASS)))\r\n },\r\n _getBestFitWidths() {\r\n var _a;\r\n var rowsView = this._rowsView;\r\n var columnHeadersView = this._columnHeadersView;\r\n var widths = rowsView.getColumnWidths();\r\n if (!(null === widths || void 0 === widths ? void 0 : widths.length)) {\r\n var headersTableElement = columnHeadersView.getTableElement();\r\n columnHeadersView.setTableElement(null === (_a = rowsView.getTableElement()) || void 0 === _a ? void 0 : _a.children(\".dx-header\"));\r\n widths = columnHeadersView.getColumnWidths();\r\n columnHeadersView.setTableElement(headersTableElement)\r\n }\r\n return widths\r\n },\r\n _setVisibleWidths(visibleColumns, widths) {\r\n var columnsController = this._columnsController;\r\n columnsController.beginUpdate();\r\n each(visibleColumns, (index, column) => {\r\n var columnId = columnsController.getColumnId(column);\r\n columnsController.columnOption(columnId, \"visibleWidth\", widths[index])\r\n });\r\n columnsController.endUpdate()\r\n },\r\n _toggleBestFitModeForView(view, className, isBestFit) {\r\n if (!view || !view.isVisible()) {\r\n return\r\n }\r\n var $rowsTables = this._rowsView.getTableElements();\r\n var $viewTables = view.getTableElements();\r\n each($rowsTables, (index, tableElement) => {\r\n var $tableBody;\r\n var $rowsTable = $(tableElement);\r\n var $viewTable = $viewTables.eq(index);\r\n if ($viewTable && $viewTable.length) {\r\n if (isBestFit) {\r\n $tableBody = $viewTable.children(\"tbody\").appendTo($rowsTable)\r\n } else {\r\n $tableBody = $rowsTable.children(\".\".concat(className)).appendTo($viewTable)\r\n }\r\n $tableBody.toggleClass(className, isBestFit);\r\n $tableBody.toggleClass(this.addWidgetPrefix(\"best-fit\"), isBestFit)\r\n }\r\n })\r\n },\r\n _toggleBestFitMode(isBestFit) {\r\n var $rowsTable = this._rowsView.getTableElement();\r\n var $rowsFixedTable = this._rowsView.getTableElements().eq(1);\r\n if (!$rowsTable) {\r\n return\r\n }\r\n $rowsTable.css(\"tableLayout\", isBestFit ? \"auto\" : \"fixed\");\r\n $rowsTable.children(\"colgroup\").css(\"display\", isBestFit ? \"none\" : \"\");\r\n each($rowsFixedTable.find(GROUP_ROW_SELECTOR), (idx, item) => {\r\n $(item).css(\"display\", isBestFit ? \"none\" : \"\")\r\n });\r\n $rowsFixedTable.toggleClass(this.addWidgetPrefix(TABLE_FIXED_CLASS), !isBestFit);\r\n this._toggleBestFitModeForView(this._columnHeadersView, \"dx-header\", isBestFit);\r\n this._toggleBestFitModeForView(this._footerView, \"dx-footer\", isBestFit);\r\n if (this._needStretch()) {\r\n $rowsTable.get(0).style.width = isBestFit ? \"auto\" : \"\"\r\n }\r\n },\r\n _toggleContentMinHeight(value) {\r\n var scrollable = this._rowsView.getScrollable();\r\n var $contentElement = this._rowsView._findContentElement();\r\n if (false === (null === scrollable || void 0 === scrollable ? void 0 : scrollable.option(\"useNative\"))) {\r\n if (true === value) {\r\n this._prevContentMinHeight = $contentElement.get(0).style.minHeight\r\n }\r\n if (isDefined(this._prevContentMinHeight)) {\r\n $contentElement.css({\r\n minHeight: value ? gridCoreUtils.getContentHeightLimit(browser) : this._prevContentMinHeight\r\n })\r\n }\r\n }\r\n },\r\n _synchronizeColumns() {\r\n var columnsController = this._columnsController;\r\n var visibleColumns = columnsController.getVisibleColumns();\r\n var columnAutoWidth = this.option(\"columnAutoWidth\");\r\n var wordWrapEnabled = this.option(\"wordWrapEnabled\");\r\n var hasUndefinedColumnWidth = visibleColumns.some(column => !isDefined(column.width));\r\n var needBestFit = this._needBestFit();\r\n var hasMinWidth = false;\r\n var resetBestFitMode;\r\n var isColumnWidthsCorrected = false;\r\n var resultWidths = [];\r\n var focusedElement;\r\n var selectionRange;\r\n !needBestFit && each(visibleColumns, (index, column) => {\r\n if (\"auto\" === column.width) {\r\n needBestFit = true;\r\n return false\r\n }\r\n return\r\n });\r\n each(visibleColumns, (index, column) => {\r\n if (column.minWidth) {\r\n hasMinWidth = true;\r\n return false\r\n }\r\n return\r\n });\r\n this._setVisibleWidths(visibleColumns, []);\r\n var $element = this.component.$element();\r\n if (needBestFit) {\r\n focusedElement = domAdapter.getActiveElement($element.get(0));\r\n selectionRange = gridCoreUtils.getSelectionRange(focusedElement);\r\n this._toggleBestFitMode(true);\r\n resetBestFitMode = true\r\n }\r\n this._toggleContentMinHeight(wordWrapEnabled);\r\n if ($element && $element.get(0) && this._maxWidth) {\r\n delete this._maxWidth;\r\n $element[0].style.maxWidth = \"\"\r\n }\r\n deferUpdate(() => {\r\n if (needBestFit) {\r\n resultWidths = this._getBestFitWidths();\r\n each(visibleColumns, (index, column) => {\r\n var columnId = columnsController.getColumnId(column);\r\n columnsController.columnOption(columnId, \"bestFitWidth\", resultWidths[index], true)\r\n })\r\n } else if (hasMinWidth) {\r\n resultWidths = this._getBestFitWidths()\r\n }\r\n each(visibleColumns, (function(index) {\r\n var {\r\n width: width\r\n } = this;\r\n if (\"auto\" !== width) {\r\n if (isDefined(width)) {\r\n resultWidths[index] = isNumeric(width) || isPixelWidth(width) ? parseFloat(width) : width\r\n } else if (!columnAutoWidth) {\r\n resultWidths[index] = void 0\r\n }\r\n }\r\n }));\r\n if (resetBestFitMode) {\r\n this._toggleBestFitMode(false);\r\n resetBestFitMode = false;\r\n if (focusedElement && focusedElement !== domAdapter.getActiveElement()) {\r\n var isFocusOutsideWindow = getBoundingRect(focusedElement).bottom < 0;\r\n if (!isFocusOutsideWindow) {\r\n restoreFocus(focusedElement, selectionRange)\r\n }\r\n }\r\n }\r\n isColumnWidthsCorrected = this._correctColumnWidths(resultWidths, visibleColumns);\r\n if (columnAutoWidth) {\r\n ! function() {\r\n var expandColumnWidth;\r\n each(visibleColumns, (index, column) => {\r\n if (\"groupExpand\" === column.type) {\r\n expandColumnWidth = resultWidths[index]\r\n }\r\n });\r\n each(visibleColumns, (index, column) => {\r\n if (\"groupExpand\" === column.type && expandColumnWidth) {\r\n resultWidths[index] = expandColumnWidth\r\n }\r\n })\r\n }();\r\n if (this._needStretch()) {\r\n this._processStretch(resultWidths, visibleColumns)\r\n }\r\n }\r\n deferRender(() => {\r\n if (needBestFit || isColumnWidthsCorrected || hasUndefinedColumnWidth) {\r\n this._setVisibleWidths(visibleColumns, resultWidths)\r\n }\r\n if (wordWrapEnabled) {\r\n this._toggleContentMinHeight(false)\r\n }\r\n })\r\n })\r\n },\r\n _needBestFit() {\r\n return this.option(\"columnAutoWidth\")\r\n },\r\n _needStretch() {\r\n return this._columnsController.getVisibleColumns().some(c => \"auto\" === c.width && !c.command)\r\n },\r\n _getAverageColumnsWidth(resultWidths) {\r\n var freeWidth = calculateFreeWidth(this, resultWidths);\r\n var columnCountWithoutWidth = resultWidths.filter(width => void 0 === width).length;\r\n return freeWidth / columnCountWithoutWidth\r\n },\r\n _correctColumnWidths(resultWidths, visibleColumns) {\r\n var that = this;\r\n var i;\r\n var hasPercentWidth = false;\r\n var hasAutoWidth = false;\r\n var isColumnWidthsCorrected = false;\r\n var $element = that.component.$element();\r\n var hasWidth = that._hasWidth;\r\n var _loop = function() {\r\n var index = i;\r\n var column = visibleColumns[index];\r\n var isHiddenColumn = resultWidths[index] === HIDDEN_COLUMNS_WIDTH;\r\n var width = resultWidths[index];\r\n var {\r\n minWidth: minWidth\r\n } = column;\r\n if (minWidth) {\r\n if (void 0 === width) {\r\n var averageColumnsWidth = that._getAverageColumnsWidth(resultWidths);\r\n width = averageColumnsWidth\r\n } else if (isPercentWidth(width)) {\r\n var freeWidth = calculateFreeWidthWithCurrentMinWidth(that, index, minWidth, resultWidths);\r\n if (freeWidth < 0) {\r\n width = -1\r\n }\r\n }\r\n }\r\n var realColumnWidth = that._getRealColumnWidth(index, resultWidths.map((columnWidth, columnIndex) => index === columnIndex ? width : columnWidth));\r\n if (minWidth && !isHiddenColumn && realColumnWidth < minWidth) {\r\n resultWidths[index] = minWidth;\r\n isColumnWidthsCorrected = true;\r\n i = -1\r\n }\r\n if (!isDefined(column.width)) {\r\n hasAutoWidth = true\r\n }\r\n if (isPercentWidth(column.width)) {\r\n hasPercentWidth = true\r\n }\r\n };\r\n for (i = 0; i < visibleColumns.length; i++) {\r\n _loop()\r\n }\r\n if (!hasAutoWidth && resultWidths.length) {\r\n var $rowsViewElement = that._rowsView.element();\r\n var contentWidth = that._rowsView.contentWidth();\r\n var scrollbarWidth = that._rowsView.getScrollbarWidth();\r\n var totalWidth = that._getTotalWidth(resultWidths, contentWidth);\r\n if (totalWidth < contentWidth) {\r\n var lastColumnIndex = gridCoreUtils.getLastResizableColumnIndex(visibleColumns, resultWidths);\r\n if (lastColumnIndex >= 0) {\r\n resultWidths[lastColumnIndex] = \"auto\";\r\n isColumnWidthsCorrected = true;\r\n if (false === hasWidth && !hasPercentWidth) {\r\n var borderWidth = that.option(\"showBorders\") ? Math.ceil(getOuterWidth($rowsViewElement) - getInnerWidth($rowsViewElement)) : 0;\r\n that._maxWidth = totalWidth + scrollbarWidth + borderWidth;\r\n $element.css(\"maxWidth\", that._maxWidth)\r\n }\r\n }\r\n }\r\n }\r\n return isColumnWidthsCorrected\r\n },\r\n _processStretch(resultSizes, visibleColumns) {\r\n var groupSize = this._rowsView.contentWidth();\r\n var tableSize = this._getTotalWidth(resultSizes, groupSize);\r\n var unusedIndexes = {\r\n length: 0\r\n };\r\n if (!resultSizes.length) {\r\n return\r\n }\r\n each(visibleColumns, (function(index) {\r\n if (this.width || resultSizes[index] === HIDDEN_COLUMNS_WIDTH) {\r\n unusedIndexes[index] = true;\r\n unusedIndexes.length++\r\n }\r\n }));\r\n var diff = groupSize - tableSize;\r\n var diffElement = Math.floor(diff / (resultSizes.length - unusedIndexes.length));\r\n var onePixelElementsCount = diff - diffElement * (resultSizes.length - unusedIndexes.length);\r\n if (diff >= 0) {\r\n for (var i = 0; i < resultSizes.length; i++) {\r\n if (unusedIndexes[i]) {\r\n continue\r\n }\r\n resultSizes[i] += diffElement;\r\n if (onePixelElementsCount > 0) {\r\n if (onePixelElementsCount < 1) {\r\n resultSizes[i] += onePixelElementsCount;\r\n onePixelElementsCount = 0\r\n } else {\r\n resultSizes[i]++;\r\n onePixelElementsCount--\r\n }\r\n }\r\n }\r\n }\r\n },\r\n _getRealColumnWidth(columnIndex, columnWidths, groupWidth) {\r\n var ratio = 1;\r\n var width = columnWidths[columnIndex];\r\n if (!isPercentWidth(width)) {\r\n return parseFloat(width)\r\n }\r\n var percentTotalWidth = columnWidths.reduce((sum, width, index) => {\r\n if (!isPercentWidth(width)) {\r\n return sum\r\n }\r\n return sum + parseFloat(width)\r\n }, 0);\r\n var pixelTotalWidth = columnWidths.reduce((sum, width) => {\r\n if (!width || width === HIDDEN_COLUMNS_WIDTH || isPercentWidth(width)) {\r\n return sum\r\n }\r\n return sum + parseFloat(width)\r\n }, 0);\r\n groupWidth = groupWidth || this._rowsView.contentWidth();\r\n var freeSpace = groupWidth - pixelTotalWidth;\r\n var percentTotalWidthInPixel = percentTotalWidth * groupWidth / 100;\r\n if (pixelTotalWidth > 0 && percentTotalWidthInPixel + pixelTotalWidth >= groupWidth) {\r\n ratio = percentTotalWidthInPixel > freeSpace ? freeSpace / percentTotalWidthInPixel : 1\r\n }\r\n return parseFloat(width) * groupWidth * ratio / 100\r\n },\r\n _getTotalWidth(widths, groupWidth) {\r\n var result = 0;\r\n for (var i = 0; i < widths.length; i++) {\r\n var width = widths[i];\r\n if (width && width !== HIDDEN_COLUMNS_WIDTH) {\r\n result += this._getRealColumnWidth(i, widths, groupWidth)\r\n }\r\n }\r\n return Math.ceil(result)\r\n },\r\n _getGroupElement() {\r\n return this.component.$element().children().get(0)\r\n },\r\n updateSize(rootElement) {\r\n var $rootElement = $(rootElement);\r\n var importantMarginClass = this.addWidgetPrefix(IMPORTANT_MARGIN_CLASS);\r\n if (void 0 === this._hasHeight && $rootElement && $rootElement.is(\":visible\") && getWidth($rootElement)) {\r\n var $groupElement = $rootElement.children(\".\".concat(this.getWidgetContainerClass()));\r\n if ($groupElement.length) {\r\n $groupElement.detach()\r\n }\r\n this._hasHeight = !!getHeight($rootElement);\r\n var width = getWidth($rootElement);\r\n $rootElement.addClass(importantMarginClass);\r\n this._hasWidth = getWidth($rootElement) === width;\r\n $rootElement.removeClass(importantMarginClass);\r\n if ($groupElement.length) {\r\n $groupElement.appendTo($rootElement)\r\n }\r\n }\r\n },\r\n publicMethods: () => [\"resize\", \"updateDimensions\"],\r\n _waitAsyncTemplates() {\r\n var _a, _b, _c;\r\n return when(null === (_a = this._columnHeadersView) || void 0 === _a ? void 0 : _a.waitAsyncTemplates(true), null === (_b = this._rowsView) || void 0 === _b ? void 0 : _b.waitAsyncTemplates(true), null === (_c = this._footerView) || void 0 === _c ? void 0 : _c.waitAsyncTemplates(true))\r\n },\r\n resize() {\r\n if (this.component._requireResize) {\r\n return\r\n }\r\n var d = new Deferred;\r\n this._waitAsyncTemplates().done(() => {\r\n when(this.updateDimensions()).done(d.resolve).fail(d.reject)\r\n }).fail(d.reject);\r\n return d.promise()\r\n },\r\n updateDimensions(checkSize) {\r\n var that = this;\r\n that._initPostRenderHandlers();\r\n if (!that._checkSize(checkSize)) {\r\n return\r\n }\r\n var prevResult = that._resizeDeferred;\r\n var result = that._resizeDeferred = new Deferred;\r\n when(prevResult).always(() => {\r\n deferRender(() => {\r\n if (that._dataController.isLoaded()) {\r\n that._synchronizeColumns()\r\n }\r\n that._resetGroupElementHeight();\r\n deferUpdate(() => {\r\n deferRender(() => {\r\n deferUpdate(() => {\r\n that._updateDimensionsCore()\r\n })\r\n })\r\n })\r\n }).done(result.resolve).fail(result.reject)\r\n });\r\n return result.promise()\r\n },\r\n _resetGroupElementHeight() {\r\n var groupElement = this._getGroupElement();\r\n var scrollable = this._rowsView.getScrollable();\r\n if (groupElement && groupElement.style.height && (!scrollable || !scrollable.scrollTop())) {\r\n groupElement.style.height = \"\"\r\n }\r\n },\r\n _checkSize(checkSize) {\r\n var $rootElement = this.component.$element();\r\n var isWidgetVisible = $rootElement.is(\":visible\");\r\n var isGridSizeChanged = this._lastWidth !== getWidth($rootElement) || this._lastHeight !== getHeight($rootElement) || this._devicePixelRatio !== getWindow().devicePixelRatio;\r\n return isWidgetVisible && (!checkSize || isGridSizeChanged)\r\n },\r\n _setScrollerSpacingCore() {\r\n var that = this;\r\n var vScrollbarWidth = that._rowsView.getScrollbarWidth();\r\n var hScrollbarWidth = that._rowsView.getScrollbarWidth(true);\r\n deferRender(() => {\r\n that._columnHeadersView && that._columnHeadersView.setScrollerSpacing(vScrollbarWidth);\r\n that._footerView && that._footerView.setScrollerSpacing(vScrollbarWidth);\r\n that._rowsView.setScrollerSpacing(vScrollbarWidth, hScrollbarWidth)\r\n })\r\n },\r\n _setScrollerSpacing() {\r\n var scrollable = this._rowsView.getScrollable();\r\n var isNativeScrolling = true === this.option(\"scrolling.useNative\");\r\n if (!scrollable || isNativeScrolling) {\r\n deferRender(() => {\r\n deferUpdate(() => {\r\n this._setScrollerSpacingCore()\r\n })\r\n })\r\n } else {\r\n this._setScrollerSpacingCore()\r\n }\r\n },\r\n _updateDimensionsCore() {\r\n var that = this;\r\n var dataController = that._dataController;\r\n var editorFactory = that.getController(\"editorFactory\");\r\n var rowsView = that._rowsView;\r\n var $rootElement = that.component.$element();\r\n var groupElement = this._getGroupElement();\r\n var rootElementHeight = getHeight($rootElement);\r\n var height = that.option(\"height\") || $rootElement.get(0).style.height;\r\n var isHeightSpecified = !!height && \"auto\" !== height;\r\n var maxHeight = parseInt($rootElement.css(\"maxHeight\"));\r\n var maxHeightHappened = maxHeight && rootElementHeight >= maxHeight;\r\n var isMaxHeightApplied = groupElement && groupElement.scrollHeight === groupElement.offsetHeight;\r\n that.updateSize($rootElement);\r\n deferRender(() => {\r\n var hasHeight = that._hasHeight || !!maxHeight || isHeightSpecified;\r\n rowsView.hasHeight(hasHeight);\r\n if (maxHeightHappened && !isMaxHeightApplied) {\r\n $(groupElement).css(\"height\", maxHeight)\r\n }\r\n if (!dataController.isLoaded()) {\r\n rowsView.setLoading(dataController.isLoading());\r\n return\r\n }\r\n deferUpdate(() => {\r\n that._updateLastSizes($rootElement);\r\n that._setScrollerSpacing();\r\n each(VIEW_NAMES, (index, viewName) => {\r\n var view = that.getView(viewName);\r\n if (view) {\r\n view.resize()\r\n }\r\n });\r\n editorFactory && editorFactory.resize()\r\n })\r\n })\r\n },\r\n _updateLastSizes($rootElement) {\r\n this._lastWidth = getWidth($rootElement);\r\n this._lastHeight = getHeight($rootElement);\r\n this._devicePixelRatio = getWindow().devicePixelRatio\r\n },\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"width\":\r\n case \"height\":\r\n this.component._renderDimensions();\r\n this.resize();\r\n case \"renderAsync\":\r\n args.handled = true;\r\n return;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n init() {\r\n this._prevContentMinHeight = null;\r\n this._dataController = this.getController(\"data\");\r\n this._columnsController = this.getController(\"columns\");\r\n this._columnHeadersView = this.getView(\"columnHeadersView\");\r\n this._footerView = this.getView(\"footerView\");\r\n this._rowsView = this.getView(\"rowsView\")\r\n }\r\n};\r\nvar ResizingController = modules.ViewController.inherit(resizingControllerMembers);\r\nvar SynchronizeScrollingController = modules.ViewController.inherit({\r\n _scrollChangedHandler(views, pos, viewName) {\r\n for (var j = 0; j < views.length; j++) {\r\n if (views[j] && views[j].name !== viewName) {\r\n views[j].scrollTo({\r\n left: pos.left,\r\n top: pos.top\r\n })\r\n }\r\n }\r\n },\r\n init() {\r\n var views = [this.getView(\"columnHeadersView\"), this.getView(\"footerView\"), this.getView(\"rowsView\")];\r\n for (var i = 0; i < views.length; i++) {\r\n var view = views[i];\r\n if (view) {\r\n view.scrollChanged.add(this._scrollChangedHandler.bind(this, views))\r\n }\r\n }\r\n }\r\n});\r\nvar GridView = modules.View.inherit({\r\n _endUpdateCore() {\r\n if (this.component._requireResize) {\r\n this.component._requireResize = false;\r\n this._resizingController.resize()\r\n }\r\n },\r\n init() {\r\n this._resizingController = this.getController(\"resizing\");\r\n this._dataController = this.getController(\"data\")\r\n },\r\n getView(name) {\r\n return this.component._views[name]\r\n },\r\n element() {\r\n return this._groupElement\r\n },\r\n optionChanged(args) {\r\n if (isDefined(this._groupElement) && \"showBorders\" === args.name) {\r\n this._groupElement.toggleClass(this.addWidgetPrefix(BORDERS_CLASS), !!args.value);\r\n args.handled = true\r\n } else {\r\n this.callBase(args)\r\n }\r\n },\r\n _renderViews($groupElement) {\r\n var that = this;\r\n each(VIEW_NAMES, (index, viewName) => {\r\n var view = that.getView(viewName);\r\n if (view) {\r\n view.render($groupElement)\r\n }\r\n })\r\n },\r\n _getTableRoleName: () => \"group\",\r\n render($rootElement) {\r\n var isFirstRender = !this._groupElement;\r\n var $groupElement = this._groupElement || $(\"
    \").addClass(this.getWidgetContainerClass());\r\n $groupElement.addClass(GRIDBASE_CONTAINER_CLASS);\r\n $groupElement.toggleClass(this.addWidgetPrefix(BORDERS_CLASS), !!this.option(\"showBorders\"));\r\n this.setAria(\"role\", \"presentation\", $rootElement);\r\n this.component.setAria(\"role\", this._getTableRoleName(), $groupElement);\r\n this._rootElement = $rootElement || this._rootElement;\r\n if (isFirstRender) {\r\n this._groupElement = $groupElement;\r\n hasWindow() && this.getController(\"resizing\").updateSize($rootElement);\r\n $groupElement.appendTo($rootElement)\r\n }\r\n this._renderViews($groupElement)\r\n },\r\n update() {\r\n var $rootElement = this._rootElement;\r\n var $groupElement = this._groupElement;\r\n var resizingController = this.getController(\"resizing\");\r\n if ($rootElement && $groupElement) {\r\n resizingController.resize();\r\n if (this._dataController.isLoaded()) {\r\n this._resizingController.fireContentReadyAction()\r\n }\r\n }\r\n }\r\n});\r\nexport var gridViewModule = {\r\n defaultOptions: () => ({\r\n showBorders: false,\r\n renderAsync: false\r\n }),\r\n controllers: {\r\n resizing: ResizingController,\r\n synchronizeScrolling: SynchronizeScrollingController\r\n },\r\n views: {\r\n gridView: GridView\r\n },\r\n VIEW_NAMES: VIEW_NAMES\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/views/m_rows_view.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport browser from \"../../../../core/utils/browser\";\r\nimport {\r\n deferRender,\r\n deferUpdate\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n compileGetter\r\n} from \"../../../../core/utils/data\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getBoundingRect,\r\n getDefaultAlignment\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n getHeight,\r\n getOuterHeight,\r\n getWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isEmpty\r\n} from \"../../../../core/utils/string\";\r\nimport {\r\n setHeight\r\n} from \"../../../../core/utils/style\";\r\nimport {\r\n isDefined,\r\n isNumeric,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../../../core/utils/window\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport {\r\n removeEvent\r\n} from \"../../../../events/remove\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport Scrollable from \"../../../../ui/scroll_view/ui.scrollable\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n ColumnsView\r\n} from \"./m_columns_view\";\r\nvar ROWS_VIEW_CLASS = \"rowsview\";\r\nvar CONTENT_CLASS = \"content\";\r\nvar NOWRAP_CLASS = \"nowrap\";\r\nvar GROUP_ROW_CLASS = \"dx-group-row\";\r\nvar GROUP_CELL_CLASS = \"dx-group-cell\";\r\nvar DATA_ROW_CLASS = \"dx-data-row\";\r\nvar FREE_SPACE_CLASS = \"dx-freespace-row\";\r\nvar ROW_LINES_CLASS = \"dx-row-lines\";\r\nvar COLUMN_LINES_CLASS = \"dx-column-lines\";\r\nvar ROW_ALTERNATION_CLASS = \"dx-row-alt\";\r\nvar LAST_ROW_BORDER = \"dx-last-row-border\";\r\nvar EMPTY_CLASS = \"dx-empty\";\r\nvar ROW_INSERTED_ANIMATION_CLASS = \"row-inserted-animation\";\r\nvar LOADPANEL_HIDE_TIMEOUT = 200;\r\n\r\nfunction getMaxHorizontalScrollOffset(scrollable) {\r\n return scrollable ? Math.round(scrollable.scrollWidth() - scrollable.clientWidth()) : 0\r\n}\r\n\r\nfunction isGroupRow(_ref) {\r\n var {\r\n rowType: rowType,\r\n column: column\r\n } = _ref;\r\n return \"group\" === rowType && isDefined(column.groupIndex) && !column.showWhenGrouped && !column.command\r\n}\r\n\r\nfunction setWatcher(_ref2) {\r\n var {\r\n element: element,\r\n watch: watch,\r\n getter: getter,\r\n callBack: callBack\r\n } = _ref2;\r\n if (watch) {\r\n var dispose = watch(getter, callBack);\r\n eventsEngine.on(element, removeEvent, dispose)\r\n }\r\n}\r\nvar defaultCellTemplate = function($container, options) {\r\n var isDataTextEmpty = isEmpty(options.text) && \"data\" === options.rowType;\r\n var {\r\n text: text\r\n } = options;\r\n var container = $container.get(0);\r\n if (isDataTextEmpty) {\r\n gridCoreUtils.setEmptyText($container)\r\n } else if (options.column.encodeHtml) {\r\n container.textContent = text\r\n } else {\r\n container.innerHTML = text\r\n }\r\n};\r\nvar getScrollableBottomPadding = function(that) {\r\n var scrollable = that.getScrollable();\r\n return scrollable ? Math.ceil(parseFloat($(scrollable.content()).css(\"paddingBottom\"))) : 0\r\n};\r\nexport class RowsView extends ColumnsView {\r\n _getDefaultTemplate(column) {\r\n switch (column.command) {\r\n case \"empty\":\r\n return function(container) {\r\n container.html(\" \")\r\n };\r\n default:\r\n return defaultCellTemplate\r\n }\r\n }\r\n _getDefaultGroupTemplate(column) {\r\n var summaryTexts = this.option(\"summary.texts\");\r\n return function($container, options) {\r\n var {\r\n data: data\r\n } = options;\r\n var text = \"\".concat(options.column.caption, \": \").concat(options.text);\r\n var container = $container.get(0);\r\n if (options.summaryItems && options.summaryItems.length) {\r\n text += \" \".concat(gridCoreUtils.getGroupRowSummaryText(options.summaryItems, summaryTexts))\r\n }\r\n if (data) {\r\n if (options.groupContinuedMessage && options.groupContinuesMessage) {\r\n text += \" (\".concat(options.groupContinuedMessage, \". \").concat(options.groupContinuesMessage, \")\")\r\n } else if (options.groupContinuesMessage) {\r\n text += \" (\".concat(options.groupContinuesMessage, \")\")\r\n } else if (options.groupContinuedMessage) {\r\n text += \" (\".concat(options.groupContinuedMessage, \")\")\r\n }\r\n }\r\n if (column.encodeHtml) {\r\n container.textContent = text\r\n } else {\r\n container.innerHTML = text\r\n }\r\n }\r\n }\r\n _update(change) {}\r\n _updateCell($cell, options) {\r\n if (isGroupRow(options)) {\r\n $cell.addClass(GROUP_CELL_CLASS)\r\n }\r\n super._updateCell.apply(this, arguments)\r\n }\r\n _getCellTemplate(options) {\r\n var {\r\n column: column\r\n } = options;\r\n var template;\r\n if (isGroupRow(options)) {\r\n template = column.groupCellTemplate || {\r\n allowRenderToDetachedContainer: true,\r\n render: this._getDefaultGroupTemplate(column)\r\n }\r\n } else if ((\"data\" === options.rowType || column.command) && column.cellTemplate) {\r\n template = column.cellTemplate\r\n } else {\r\n template = {\r\n allowRenderToDetachedContainer: true,\r\n render: this._getDefaultTemplate(column)\r\n }\r\n }\r\n return template\r\n }\r\n _createRow(row, tag) {\r\n var $row = super._createRow.apply(this, arguments);\r\n if (row) {\r\n var isGroup = \"group\" === row.rowType;\r\n var isDataRow = \"data\" === row.rowType;\r\n isDataRow && $row.addClass(DATA_ROW_CLASS);\r\n isDataRow && this.option(\"showRowLines\") && $row.addClass(ROW_LINES_CLASS);\r\n this.option(\"showColumnLines\") && $row.addClass(COLUMN_LINES_CLASS);\r\n if (false === row.visible) {\r\n $row.hide()\r\n }\r\n if (isGroup) {\r\n $row.addClass(GROUP_ROW_CLASS);\r\n var isRowExpanded = row.isExpanded;\r\n this.setAria(\"role\", \"row\", $row);\r\n this.setAria(\"expanded\", isDefined(isRowExpanded) && isRowExpanded.toString(), $row)\r\n }\r\n }\r\n return $row\r\n }\r\n _rowPrepared($row, rowOptions, row) {\r\n if (\"data\" === rowOptions.rowType) {\r\n if (this.option(\"rowAlternationEnabled\")) {\r\n this._isAltRow(row) && $row.addClass(ROW_ALTERNATION_CLASS);\r\n setWatcher({\r\n element: $row.get(0),\r\n watch: rowOptions.watch,\r\n getter: () => this._isAltRow(row),\r\n callBack: value => {\r\n $row.toggleClass(ROW_ALTERNATION_CLASS, value)\r\n }\r\n })\r\n }\r\n this._setAriaRowIndex(rowOptions, $row);\r\n setWatcher({\r\n element: $row.get(0),\r\n watch: rowOptions.watch,\r\n getter: () => rowOptions.rowIndex,\r\n callBack: () => this._setAriaRowIndex(rowOptions, $row)\r\n })\r\n }\r\n super._rowPrepared.apply(this, arguments)\r\n }\r\n _setAriaRowIndex(row, $row) {\r\n var {\r\n component: component\r\n } = this;\r\n var isPagerMode = \"standard\" === component.option(\"scrolling.mode\") && !gridCoreUtils.isVirtualRowRendering(component);\r\n var rowIndex = row.rowIndex + 1;\r\n if (isPagerMode) {\r\n rowIndex = component.pageIndex() * component.pageSize() + rowIndex\r\n } else {\r\n rowIndex += this._dataController.getRowIndexOffset()\r\n }\r\n this.setAria(\"rowindex\", rowIndex, $row)\r\n }\r\n _afterRowPrepared(e) {\r\n var arg = e.args[0];\r\n var dataController = this._dataController;\r\n var row = dataController.getVisibleRows()[arg.rowIndex];\r\n var watch = this.option(\"integrationOptions.watchMethod\");\r\n if (!arg.data || \"data\" !== arg.rowType || arg.isNewRow || !this.option(\"twoWayBindingEnabled\") || !watch || !row) {\r\n return\r\n }\r\n var dispose = watch(() => dataController.generateDataValues(arg.data, arg.columns), () => {\r\n dataController.repaintRows([row.rowIndex], this.option(\"repaintChangesOnly\"))\r\n }, {\r\n deep: true,\r\n skipImmediate: true\r\n });\r\n eventsEngine.on(arg.rowElement, removeEvent, dispose)\r\n }\r\n _renderScrollable(force) {\r\n var $element = this.element();\r\n if (!$element.children().length) {\r\n $element.append(\"
    \")\r\n }\r\n if (force || !this._loadPanel) {\r\n this._renderLoadPanel($element, $element.parent(), this._dataController.isLocalStore())\r\n }\r\n if ((force || !this.getScrollable()) && this._dataController.isLoaded()) {\r\n var columns = this.getColumns();\r\n var allColumnsHasWidth = true;\r\n for (var i = 0; i < columns.length; i++) {\r\n if (!columns[i].width && !columns[i].minWidth) {\r\n allColumnsHasWidth = false;\r\n break\r\n }\r\n }\r\n if (this.option(\"columnAutoWidth\") || this._hasHeight || allColumnsHasWidth || this._columnsController._isColumnFixing()) {\r\n this._renderScrollableCore($element)\r\n }\r\n }\r\n }\r\n _handleScroll(e) {\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var isNativeScrolling = e.component.option(\"useNative\");\r\n this._scrollTop = e.scrollOffset.top;\r\n this._scrollLeft = e.scrollOffset.left;\r\n var scrollLeft = e.scrollOffset.left;\r\n if (rtlEnabled) {\r\n this._scrollRight = getMaxHorizontalScrollOffset(e.component) - this._scrollLeft;\r\n if (isNativeScrolling) {\r\n scrollLeft = -this._scrollRight\r\n }\r\n if (!this.isScrollbarVisible(true)) {\r\n this._scrollLeft = -1\r\n }\r\n }\r\n this.scrollChanged.fire(_extends(_extends({}, e.scrollOffset), {\r\n left: scrollLeft\r\n }), this.name)\r\n }\r\n _renderScrollableCore($element) {\r\n var dxScrollableOptions = this._createScrollableOptions();\r\n var scrollHandler = this._handleScroll.bind(this);\r\n dxScrollableOptions.onScroll = scrollHandler;\r\n this._scrollable = this._createComponent($element, Scrollable, dxScrollableOptions);\r\n this._scrollableContainer = this._scrollable && $(this._scrollable.container())\r\n }\r\n _renderLoadPanel() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n return gridCoreUtils.renderLoadPanel.apply(this, arguments)\r\n }\r\n _renderContent(contentElement, tableElement, isFixedTableRendering) {\r\n contentElement.empty().append(tableElement);\r\n return this._findContentElement()\r\n }\r\n _updateContent(newTableElement, change, isFixedTableRendering) {\r\n this._contentChanges.push({\r\n newTableElement: newTableElement,\r\n change: change,\r\n isFixedTableRendering: isFixedTableRendering\r\n });\r\n return this.waitAsyncTemplates().done(() => {\r\n var contentChanges = this._contentChanges;\r\n this._contentChanges = [];\r\n contentChanges.forEach(_ref3 => {\r\n var {\r\n newTableElement: newTableElement,\r\n change: change,\r\n isFixedTableRendering: isFixedTableRendering\r\n } = _ref3;\r\n var tableElement = this.getTableElement(isFixedTableRendering);\r\n var contentElement = this._findContentElement(isFixedTableRendering);\r\n var changeType = null === change || void 0 === change ? void 0 : change.changeType;\r\n var executors = [];\r\n var highlightChanges = this.option(\"highlightChanges\");\r\n var rowInsertedClass = this.addWidgetPrefix(ROW_INSERTED_ANIMATION_CLASS);\r\n switch (changeType) {\r\n case \"update\":\r\n each(change.rowIndices, (index, rowIndex) => {\r\n var _a;\r\n var $newRowElement = this._getRowElements(newTableElement).eq(index);\r\n var dataChangeType = null === (_a = change.changeTypes) || void 0 === _a ? void 0 : _a[index];\r\n var item = change.items && change.items[index];\r\n executors.push(() => {\r\n var _a;\r\n var $rowElements = this._getRowElements(tableElement);\r\n var $rowElement = $rowElements.eq(rowIndex);\r\n switch (dataChangeType) {\r\n case \"update\":\r\n if (item) {\r\n var columnIndices = null === (_a = change.columnIndices) || void 0 === _a ? void 0 : _a[index];\r\n if (isDefined(item.visible) && item.visible !== $rowElement.is(\":visible\")) {\r\n $rowElement.toggle(item.visible)\r\n } else if (columnIndices) {\r\n this._updateCells($rowElement, $newRowElement, columnIndices)\r\n } else {\r\n $rowElement.replaceWith($newRowElement)\r\n }\r\n }\r\n break;\r\n case \"insert\":\r\n if (!$rowElements.length) {\r\n if (tableElement) {\r\n var target = $newRowElement.is(\"tbody\") ? tableElement : tableElement.children(\"tbody\");\r\n $newRowElement.prependTo(target)\r\n }\r\n } else if ($rowElement.length) {\r\n $newRowElement.insertBefore($rowElement)\r\n } else {\r\n $newRowElement.insertAfter($rowElements.last())\r\n }\r\n if (highlightChanges && change.isLiveUpdate) {\r\n $newRowElement.addClass(rowInsertedClass)\r\n }\r\n break;\r\n case \"remove\":\r\n $rowElement.remove()\r\n }\r\n })\r\n });\r\n each(executors, (function() {\r\n this()\r\n }));\r\n newTableElement.remove();\r\n break;\r\n default:\r\n this.setTableElement(newTableElement, isFixedTableRendering);\r\n contentElement.addClass(this.addWidgetPrefix(CONTENT_CLASS));\r\n this._renderContent(contentElement, newTableElement, isFixedTableRendering)\r\n }\r\n })\r\n }).fail(() => {\r\n this._contentChanges = []\r\n })\r\n }\r\n _createEmptyRow(className, isFixed, height) {\r\n var $cell;\r\n var $row = this._createRow();\r\n var columns = isFixed ? this.getFixedColumns() : this.getColumns();\r\n $row.addClass(className).toggleClass(COLUMN_LINES_CLASS, this.option(\"showColumnLines\"));\r\n for (var i = 0; i < columns.length; i++) {\r\n $cell = this._createCell({\r\n column: columns[i],\r\n rowType: \"freeSpace\",\r\n columnIndex: i,\r\n columns: columns\r\n });\r\n isNumeric(height) && $cell.css(\"height\", height);\r\n $row.append($cell)\r\n }\r\n this.setAria(\"role\", \"presentation\", $row);\r\n return $row\r\n }\r\n getFixedColumns() {\r\n throw new Error(\"Method not implemented.\")\r\n }\r\n _appendEmptyRow($table, $emptyRow, location) {\r\n var $tBodies = this._getBodies($table);\r\n var isTableContainer = !$tBodies.length || $emptyRow.is(\"tbody\");\r\n var $container = isTableContainer ? $table : $tBodies;\r\n if (\"top\" === location) {\r\n $container.first().prepend($emptyRow);\r\n if (isTableContainer) {\r\n var $colgroup = $container.children(\"colgroup\");\r\n $container.prepend($colgroup)\r\n }\r\n } else {\r\n $container.last().append($emptyRow)\r\n }\r\n }\r\n _renderFreeSpaceRow($tableElement, change) {\r\n var $freeSpaceRowElement = this._createEmptyRow(FREE_SPACE_CLASS);\r\n $freeSpaceRowElement = this._wrapRowIfNeed($tableElement, $freeSpaceRowElement, \"refresh\" === (null === change || void 0 === change ? void 0 : change.changeType));\r\n this._appendEmptyRow($tableElement, $freeSpaceRowElement)\r\n }\r\n _checkRowKeys(options) {\r\n var that = this;\r\n var rows = that._getRows(options);\r\n var keyExpr = that._dataController.store() && that._dataController.store().key();\r\n keyExpr && rows.some(row => {\r\n if (\"data\" === row.rowType && void 0 === row.key) {\r\n that._dataController.fireError(\"E1046\", keyExpr);\r\n return true\r\n }\r\n return\r\n })\r\n }\r\n _needUpdateRowHeight(itemsCount) {\r\n return itemsCount > 0 && !this._rowHeight\r\n }\r\n _getRowsHeight($tableElement) {\r\n $tableElement = $tableElement || this._tableElement;\r\n var $rowElements = $tableElement.children(\"tbody\").children().not(\".dx-virtual-row\").not(\".\".concat(FREE_SPACE_CLASS));\r\n return $rowElements.toArray().reduce((sum, row) => sum + getBoundingRect(row).height, 0)\r\n }\r\n _updateRowHeight() {\r\n var $tableElement = this.getTableElement();\r\n var itemsCount = this._dataController.items().length;\r\n if ($tableElement && this._needUpdateRowHeight(itemsCount)) {\r\n var rowsHeight = this._getRowsHeight($tableElement);\r\n this._rowHeight = rowsHeight / itemsCount\r\n }\r\n }\r\n _findContentElement(isFixedTableRendering) {\r\n var $content = this.element();\r\n var scrollable = this.getScrollable();\r\n if ($content) {\r\n if (scrollable) {\r\n $content = $(scrollable.content())\r\n }\r\n return $content.children().first()\r\n }\r\n }\r\n _getRowElements(tableElement) {\r\n var $rows = super._getRowElements(tableElement);\r\n return $rows && $rows.not(\".\".concat(FREE_SPACE_CLASS))\r\n }\r\n _getFreeSpaceRowElements($table) {\r\n var tableElements = $table || this.getTableElements();\r\n return tableElements && tableElements.children(\"tbody\").children(\".\".concat(FREE_SPACE_CLASS))\r\n }\r\n _getNoDataText() {\r\n return this.option(\"noDataText\")\r\n }\r\n _rowClick(e) {\r\n var item = this._dataController.items()[e.rowIndex] || {};\r\n this.executeAction(\"onRowClick\", extend({\r\n evaluate(expr) {\r\n var getter = compileGetter(expr);\r\n return getter(item.data)\r\n }\r\n }, e, item))\r\n }\r\n _rowDblClick(e) {\r\n var item = this._dataController.items()[e.rowIndex] || {};\r\n this.executeAction(\"onRowDblClick\", extend({}, e, item))\r\n }\r\n _getColumnsCountBeforeGroups(columns) {\r\n for (var i = 0; i < columns.length; i++) {\r\n if (\"groupExpand\" === columns[i].type) {\r\n return i\r\n }\r\n }\r\n return 0\r\n }\r\n _getGroupCellOptions(options) {\r\n var columnsCountBeforeGroups = this._getColumnsCountBeforeGroups(options.columns);\r\n var columnIndex = (options.row.groupIndex || 0) + columnsCountBeforeGroups;\r\n return {\r\n columnIndex: columnIndex,\r\n colspan: options.columns.length - columnIndex - 1\r\n }\r\n }\r\n _needWrapRow() {\r\n return super._needWrapRow.apply(this, arguments) || !!this.option(\"dataRowTemplate\")\r\n }\r\n _renderCells($row, options) {\r\n if (\"group\" === options.row.rowType) {\r\n this._renderGroupedCells($row, options)\r\n } else if (options.row.values) {\r\n super._renderCells($row, options)\r\n }\r\n }\r\n _renderGroupedCells($row, options) {\r\n var {\r\n row: row\r\n } = options;\r\n var expandColumn;\r\n var {\r\n columns: columns\r\n } = options;\r\n var {\r\n rowIndex: rowIndex\r\n } = row;\r\n var isExpanded;\r\n var groupCellOptions = this._getGroupCellOptions(options);\r\n for (var i = 0; i <= groupCellOptions.columnIndex; i++) {\r\n if (i === groupCellOptions.columnIndex && columns[i].allowCollapsing && \"infinite\" !== options.scrollingMode) {\r\n isExpanded = !!row.isExpanded;\r\n expandColumn = columns[i]\r\n } else {\r\n isExpanded = null;\r\n expandColumn = {\r\n command: \"expand\",\r\n cssClass: columns[i].cssClass\r\n }\r\n }\r\n if (this._needRenderCell(i, options.columnIndices)) {\r\n this._renderCell($row, {\r\n value: isExpanded,\r\n row: row,\r\n rowIndex: rowIndex,\r\n column: expandColumn,\r\n columnIndex: i,\r\n columnIndices: options.columnIndices,\r\n change: options.change\r\n })\r\n }\r\n }\r\n var groupColumnAlignment = getDefaultAlignment(this.option(\"rtlEnabled\"));\r\n var groupColumn = extend({}, columns[groupCellOptions.columnIndex], {\r\n command: null,\r\n type: null,\r\n cssClass: null,\r\n width: null,\r\n showWhenGrouped: false,\r\n alignment: groupColumnAlignment\r\n });\r\n if (groupCellOptions.colspan > 1) {\r\n groupColumn.colspan = groupCellOptions.colspan\r\n }\r\n if (this._needRenderCell(groupCellOptions.columnIndex + 1, options.columnIndices)) {\r\n this._renderCell($row, {\r\n value: row.values[row.groupIndex],\r\n row: row,\r\n rowIndex: rowIndex,\r\n column: groupColumn,\r\n columnIndex: groupCellOptions.columnIndex + 1,\r\n columnIndices: options.columnIndices,\r\n change: options.change\r\n })\r\n }\r\n }\r\n _renderRows($table, options) {\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n super._renderRows($table, extend({\r\n scrollingMode: scrollingMode\r\n }, options));\r\n this._checkRowKeys(options.change);\r\n this._renderFreeSpaceRow($table, options.change);\r\n if (!this._hasHeight) {\r\n this.updateFreeSpaceRowHeight($table)\r\n }\r\n }\r\n _renderDataRowByTemplate($table, options, dataRowTemplate) {\r\n var {\r\n row: row\r\n } = options;\r\n var rowOptions = extend({\r\n columns: options.columns\r\n }, row);\r\n var $tbody = this._createRow(row, \"tbody\");\r\n $tbody.appendTo($table);\r\n this.renderTemplate($tbody, dataRowTemplate, rowOptions, true, options.change);\r\n this._rowPrepared($tbody, rowOptions, options.row)\r\n }\r\n _renderRow($table, options) {\r\n var {\r\n row: row\r\n } = options;\r\n var {\r\n rowTemplate: rowTemplate\r\n } = this.option();\r\n var dataRowTemplate = this.option(\"dataRowTemplate\");\r\n if (\"data\" === row.rowType && dataRowTemplate) {\r\n this._renderDataRowByTemplate($table, options, dataRowTemplate)\r\n } else if ((\"data\" === row.rowType || \"group\" === row.rowType) && !isDefined(row.groupIndex) && rowTemplate) {\r\n this.renderTemplate($table, rowTemplate, extend({\r\n columns: options.columns\r\n }, row), true)\r\n } else {\r\n super._renderRow($table, options)\r\n }\r\n }\r\n _renderTable(options) {\r\n var that = this;\r\n var $table = super._renderTable(options);\r\n if (!isDefined(that.getTableElement())) {\r\n that.setTableElement($table);\r\n that._renderScrollable(true);\r\n that.resizeCompleted.add((function resizeCompletedHandler() {\r\n var scrollableInstance = that.getScrollable();\r\n if (scrollableInstance && that.element().closest(getWindow().document).length) {\r\n that.resizeCompleted.remove(resizeCompletedHandler);\r\n scrollableInstance._visibilityChanged(true)\r\n }\r\n }))\r\n } else {\r\n that._renderScrollable()\r\n }\r\n return $table\r\n }\r\n _createTable() {\r\n var $table = super._createTable.apply(this, arguments);\r\n if (this.option().rowTemplate || this.option().dataRowTemplate) {\r\n $table.appendTo(this.component.$element())\r\n }\r\n return $table\r\n }\r\n _renderCore(change) {\r\n var $element = this.element();\r\n $element.addClass(this.addWidgetPrefix(ROWS_VIEW_CLASS)).toggleClass(this.addWidgetPrefix(NOWRAP_CLASS), !this.option(\"wordWrapEnabled\"));\r\n $element.toggleClass(EMPTY_CLASS, this._dataController.isEmpty());\r\n this.setAria(\"role\", \"presentation\", $element);\r\n var $table = this._renderTable({\r\n change: change\r\n });\r\n var deferred = this._updateContent($table, change);\r\n super._renderCore(change);\r\n this._lastColumnWidths = null;\r\n return deferred\r\n }\r\n _getRows(change) {\r\n return change && change.items || this._dataController.items()\r\n }\r\n _getCellOptions(options) {\r\n var {\r\n column: column\r\n } = options;\r\n var {\r\n row: row\r\n } = options;\r\n var {\r\n data: data\r\n } = row;\r\n var summaryCells = row && row.summaryCells;\r\n var {\r\n value: value\r\n } = options;\r\n var displayValue = gridCoreUtils.getDisplayValue(column, value, data, row.rowType);\r\n var parameters = super._getCellOptions(options);\r\n parameters.value = value;\r\n parameters.oldValue = options.oldValue;\r\n parameters.displayValue = displayValue;\r\n parameters.row = row;\r\n parameters.key = row.key;\r\n parameters.data = data;\r\n parameters.rowType = row.rowType;\r\n parameters.values = row.values;\r\n parameters.text = !column.command ? gridCoreUtils.formatValue(displayValue, column) : \"\";\r\n parameters.rowIndex = row.rowIndex;\r\n parameters.summaryItems = summaryCells && summaryCells[options.columnIndex];\r\n parameters.resized = column.resizedCallbacks;\r\n if (isDefined(column.groupIndex) && !column.command) {\r\n var groupingTextsOptions = this.option(\"grouping.texts\");\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n if (\"virtual\" !== scrollingMode && \"infinite\" !== scrollingMode) {\r\n parameters.groupContinuesMessage = data && data.isContinuationOnNextPage && groupingTextsOptions && groupingTextsOptions.groupContinuesMessage;\r\n parameters.groupContinuedMessage = data && data.isContinuation && groupingTextsOptions && groupingTextsOptions.groupContinuedMessage\r\n }\r\n }\r\n return parameters\r\n }\r\n _setRowsOpacityCore($rows, visibleColumns, columnIndex, value) {\r\n var columnsController = this._columnsController;\r\n var columns = columnsController.getColumns();\r\n var column = columns && columns[columnIndex];\r\n var columnID = column && column.isBand && column.index;\r\n each($rows, (rowIndex, row) => {\r\n if (!$(row).hasClass(GROUP_ROW_CLASS)) {\r\n for (var i = 0; i < visibleColumns.length; i++) {\r\n if (isNumeric(columnID) && columnsController.isParentBandColumn(visibleColumns[i].index, columnID) || visibleColumns[i].index === columnIndex) {\r\n $rows.eq(rowIndex).children().eq(i).css({\r\n opacity: value\r\n });\r\n if (!isNumeric(columnID)) {\r\n break\r\n }\r\n }\r\n }\r\n }\r\n })\r\n }\r\n _getDevicePixelRatio() {\r\n return getWindow().devicePixelRatio\r\n }\r\n renderNoDataText() {\r\n return gridCoreUtils.renderNoDataText.apply(this, arguments)\r\n }\r\n getCellOptions(rowIndex, columnIdentifier) {\r\n var rowOptions = this._dataController.items()[rowIndex];\r\n var cellOptions;\r\n var column;\r\n if (rowOptions) {\r\n if (isString(columnIdentifier)) {\r\n column = this._columnsController.columnOption(columnIdentifier)\r\n } else {\r\n column = this._columnsController.getVisibleColumns()[columnIdentifier]\r\n }\r\n if (column) {\r\n cellOptions = this._getCellOptions({\r\n value: column.calculateCellValue(rowOptions.data),\r\n rowIndex: rowOptions.rowIndex,\r\n row: rowOptions,\r\n column: column\r\n })\r\n }\r\n }\r\n return cellOptions\r\n }\r\n getRow(index) {\r\n if (index >= 0) {\r\n var rows = this._getRowElements();\r\n if (rows.length > index) {\r\n return $(rows[index])\r\n }\r\n }\r\n return\r\n }\r\n updateFreeSpaceRowHeight($table) {\r\n var dataController = this._dataController;\r\n var itemCount = dataController.items(true).length;\r\n var contentElement = this._findContentElement();\r\n var freeSpaceRowElements = this._getFreeSpaceRowElements($table);\r\n if (freeSpaceRowElements && contentElement && dataController.totalCount() >= 0) {\r\n var isFreeSpaceRowVisible = false;\r\n if (itemCount > 0) {\r\n if (!this._hasHeight) {\r\n var freeSpaceRowCount = dataController.pageSize() - itemCount;\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n if (freeSpaceRowCount > 0 && dataController.pageCount() > 1 && \"virtual\" !== scrollingMode && \"infinite\" !== scrollingMode) {\r\n setHeight(freeSpaceRowElements, freeSpaceRowCount * this._rowHeight);\r\n isFreeSpaceRowVisible = true\r\n }\r\n if (!isFreeSpaceRowVisible && $table) {\r\n setHeight(freeSpaceRowElements, 0)\r\n } else {\r\n freeSpaceRowElements.toggle(isFreeSpaceRowVisible)\r\n }\r\n this._updateLastRowBorder(isFreeSpaceRowVisible)\r\n } else {\r\n freeSpaceRowElements.hide();\r\n deferUpdate(() => {\r\n var scrollbarWidth = this.getScrollbarWidth(true);\r\n var elementHeightWithoutScrollbar = getHeight(this.element()) - scrollbarWidth;\r\n var contentHeight = getOuterHeight(contentElement);\r\n var showFreeSpaceRow = elementHeightWithoutScrollbar - contentHeight > 0;\r\n var rowsHeight = this._getRowsHeight(contentElement.children().first());\r\n var $tableElement = $table || this.getTableElements();\r\n var borderTopWidth = Math.ceil(parseFloat($tableElement.css(\"borderTopWidth\")));\r\n var heightCorrection = this._getHeightCorrection();\r\n var resultHeight = elementHeightWithoutScrollbar - rowsHeight - borderTopWidth - heightCorrection;\r\n if (showFreeSpaceRow) {\r\n deferRender(() => {\r\n freeSpaceRowElements.css(\"height\", resultHeight);\r\n isFreeSpaceRowVisible = true;\r\n freeSpaceRowElements.show()\r\n })\r\n }\r\n deferRender(() => this._updateLastRowBorder(isFreeSpaceRowVisible))\r\n })\r\n }\r\n } else {\r\n freeSpaceRowElements.css(\"height\", 0);\r\n freeSpaceRowElements.show();\r\n this._updateLastRowBorder(true)\r\n }\r\n }\r\n }\r\n _getHeightCorrection() {\r\n var isZoomedWebkit = browser.webkit && this._getDevicePixelRatio() >= 2;\r\n var isChromeLatest = browser.chrome && browser.version >= 91;\r\n var hasExtraBorderTop = browser.mozilla && browser.version >= 70 && !this.option(\"showRowLines\");\r\n return isZoomedWebkit || hasExtraBorderTop || isChromeLatest ? 1 : 0\r\n }\r\n _columnOptionChanged(e) {\r\n var {\r\n optionNames: optionNames\r\n } = e;\r\n if (e.changeTypes.grouping) {\r\n return\r\n }\r\n if (optionNames.width || optionNames.visibleWidth) {\r\n super._columnOptionChanged(e);\r\n this._fireColumnResizedCallbacks()\r\n }\r\n }\r\n getScrollable() {\r\n return this._scrollable\r\n }\r\n init() {\r\n var that = this;\r\n var dataController = that.getController(\"data\");\r\n super.init();\r\n that._editorFactoryController = that.getController(\"editorFactory\");\r\n that._rowHeight = 0;\r\n that._scrollTop = 0;\r\n that._scrollLeft = -1;\r\n that._scrollRight = 0;\r\n that._hasHeight = void 0;\r\n that._contentChanges = [];\r\n dataController.loadingChanged.add((isLoading, messageText) => {\r\n that.setLoading(isLoading, messageText)\r\n });\r\n dataController.dataSourceChanged.add(() => {\r\n if (this._scrollLeft >= 0 && !this._dataController.isLoading()) {\r\n this._handleScroll({\r\n component: this.getScrollable(),\r\n forceUpdateScrollPosition: true,\r\n scrollOffset: {\r\n top: this._scrollTop,\r\n left: this._scrollLeft\r\n }\r\n })\r\n }\r\n })\r\n }\r\n _handleDataChanged(change) {\r\n switch (change.changeType) {\r\n case \"refresh\":\r\n case \"prepend\":\r\n case \"append\":\r\n case \"update\":\r\n this.render(null, change);\r\n break;\r\n default:\r\n this._update(change)\r\n }\r\n }\r\n publicMethods() {\r\n return [\"isScrollbarVisible\", \"getTopVisibleRowData\", \"getScrollbarWidth\", \"getCellElement\", \"getRowElement\", \"getScrollable\"]\r\n }\r\n contentWidth() {\r\n return getWidth(this.element()) - this.getScrollbarWidth()\r\n }\r\n getScrollbarWidth(isHorizontal) {\r\n var scrollableContainer = this._scrollableContainer && this._scrollableContainer.get(0);\r\n var scrollbarWidth = 0;\r\n if (scrollableContainer) {\r\n if (!isHorizontal) {\r\n scrollbarWidth = scrollableContainer.clientWidth ? scrollableContainer.offsetWidth - scrollableContainer.clientWidth : 0\r\n } else {\r\n scrollbarWidth = scrollableContainer.clientHeight ? scrollableContainer.offsetHeight - scrollableContainer.clientHeight : 0;\r\n scrollbarWidth += getScrollableBottomPadding(this)\r\n }\r\n }\r\n return scrollbarWidth > 0 ? scrollbarWidth : 0\r\n }\r\n _fireColumnResizedCallbacks() {\r\n var lastColumnWidths = this._lastColumnWidths || [];\r\n var columnWidths = [];\r\n var columns = this.getColumns();\r\n for (var i = 0; i < columns.length; i++) {\r\n columnWidths[i] = columns[i].visibleWidth;\r\n if (columns[i].resizedCallbacks && !isDefined(columns[i].groupIndex) && lastColumnWidths[i] !== columnWidths[i]) {\r\n columns[i].resizedCallbacks.fire(columnWidths[i])\r\n }\r\n }\r\n this._lastColumnWidths = columnWidths\r\n }\r\n _updateLastRowBorder(isFreeSpaceRowVisible) {\r\n if (this.option(\"showBorders\") && this.option(\"showRowLines\") && !isFreeSpaceRowVisible) {\r\n this.element().addClass(LAST_ROW_BORDER)\r\n } else {\r\n this.element().removeClass(LAST_ROW_BORDER)\r\n }\r\n }\r\n _updateScrollable() {\r\n var scrollable = Scrollable.getInstance(this.element());\r\n if (scrollable) {\r\n scrollable.update();\r\n if (scrollable.option(\"useNative\") || !(null === scrollable || void 0 === scrollable ? void 0 : scrollable.isRenovated())) {\r\n this._updateHorizontalScrollPosition()\r\n }\r\n }\r\n }\r\n _updateHorizontalScrollPosition() {\r\n var scrollable = this.getScrollable();\r\n var scrollLeft = scrollable && scrollable.scrollOffset().left;\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n if (rtlEnabled) {\r\n var maxHorizontalScrollOffset = getMaxHorizontalScrollOffset(scrollable);\r\n var scrollRight = maxHorizontalScrollOffset - scrollLeft;\r\n if (scrollRight !== this._scrollRight) {\r\n this._scrollLeft = maxHorizontalScrollOffset - this._scrollRight\r\n }\r\n }\r\n if (this._scrollLeft >= 0 && scrollLeft !== this._scrollLeft) {\r\n scrollable.scrollTo({\r\n x: this._scrollLeft\r\n })\r\n }\r\n }\r\n _resizeCore() {\r\n var that = this;\r\n that._fireColumnResizedCallbacks();\r\n that._updateRowHeight();\r\n deferRender(() => {\r\n that._renderScrollable();\r\n that.renderNoDataText();\r\n that.updateFreeSpaceRowHeight();\r\n deferUpdate(() => {\r\n that._updateScrollable()\r\n })\r\n })\r\n }\r\n scrollTo(location) {\r\n var $element = this.element();\r\n var dxScrollable = $element && Scrollable.getInstance($element);\r\n if (dxScrollable) {\r\n dxScrollable.scrollTo(location)\r\n }\r\n }\r\n height(height) {\r\n var $element = this.element();\r\n if (0 === arguments.length) {\r\n return $element ? getOuterHeight($element, true) : 0\r\n }\r\n if (isDefined(height) && $element) {\r\n this.hasHeight(\"auto\" !== height);\r\n setHeight($element, height)\r\n }\r\n }\r\n hasHeight(hasHeight) {\r\n if (0 === arguments.length) {\r\n return !!this._hasHeight\r\n }\r\n this._hasHeight = hasHeight;\r\n return\r\n }\r\n setLoading(isLoading, messageText) {\r\n var loadPanel = this._loadPanel;\r\n var dataController = this._dataController;\r\n var loadPanelOptions = this.option(\"loadPanel\") || {};\r\n var animation = dataController.isLoaded() ? loadPanelOptions.animation : null;\r\n var $element = this.element();\r\n if (!hasWindow()) {\r\n return\r\n }\r\n if (!loadPanel && void 0 !== messageText && dataController.isLocalStore() && \"auto\" === loadPanelOptions.enabled && $element) {\r\n this._renderLoadPanel($element, $element.parent());\r\n loadPanel = this._loadPanel\r\n }\r\n if (loadPanel) {\r\n var visibilityOptions = {\r\n message: messageText || loadPanelOptions.text,\r\n animation: animation,\r\n visible: isLoading\r\n };\r\n if (isLoading) {\r\n visibilityOptions.position = gridCoreUtils.calculateLoadPanelPosition($element)\r\n }\r\n clearTimeout(this._hideLoadingTimeoutID);\r\n if (loadPanel.option(\"visible\") && !isLoading) {\r\n this._hideLoadingTimeoutID = setTimeout(() => {\r\n loadPanel.option(visibilityOptions)\r\n }, LOADPANEL_HIDE_TIMEOUT)\r\n } else {\r\n loadPanel.option(visibilityOptions)\r\n }\r\n }\r\n }\r\n setRowsOpacity(columnIndex, value) {\r\n var $rows = this._getRowElements().not(\".\".concat(GROUP_ROW_CLASS)) || [];\r\n this._setRowsOpacityCore($rows, this.getColumns(), columnIndex, value)\r\n }\r\n _getCellElementsCore(rowIndex) {\r\n var $cells = super._getCellElementsCore.apply(this, arguments);\r\n if ($cells) {\r\n var groupCellIndex = $cells.filter(\".\".concat(GROUP_CELL_CLASS)).index();\r\n if (groupCellIndex >= 0 && $cells.length > groupCellIndex + 1) {\r\n return $cells.slice(0, groupCellIndex + 1)\r\n }\r\n }\r\n return $cells\r\n }\r\n _getBoundaryVisibleItemIndex(isTop, isFloor) {\r\n var itemIndex = 0;\r\n var prevOffset = 0;\r\n var offset = 0;\r\n var viewportBoundary = this._scrollTop;\r\n var $contentElement = this._findContentElement();\r\n var contentElementOffsetTop = $contentElement && $contentElement.offset().top;\r\n var dataController = this.getController(\"data\");\r\n var items = dataController.items();\r\n var tableElement = this.getTableElement();\r\n if (items.length && tableElement) {\r\n var rowElements = this._getRowElements(tableElement).filter(\":visible\");\r\n if (!isTop) {\r\n var height = getOuterHeight(this._hasHeight ? this.element() : getWindow());\r\n viewportBoundary += height\r\n }\r\n for (itemIndex = 0; itemIndex < items.length; itemIndex++) {\r\n prevOffset = offset;\r\n var $rowElement = $(rowElements).eq(itemIndex);\r\n if ($rowElement.length) {\r\n offset = $rowElement.offset();\r\n offset = (isTop ? offset.top : offset.top + getOuterHeight($rowElement)) - contentElementOffsetTop;\r\n if (offset > viewportBoundary) {\r\n if (itemIndex) {\r\n if (isFloor || 2 * viewportBoundary < Math.round(offset + prevOffset)) {\r\n itemIndex--\r\n }\r\n }\r\n break\r\n }\r\n }\r\n }\r\n if (itemIndex && itemIndex === items.length) {\r\n itemIndex--\r\n }\r\n }\r\n return itemIndex\r\n }\r\n getTopVisibleItemIndex(isFloor) {\r\n return this._getBoundaryVisibleItemIndex(true, isFloor)\r\n }\r\n getBottomVisibleItemIndex(isFloor) {\r\n return this._getBoundaryVisibleItemIndex(false, isFloor)\r\n }\r\n getTopVisibleRowData() {\r\n var itemIndex = this.getTopVisibleItemIndex();\r\n var items = this._dataController.items();\r\n if (items[itemIndex]) {\r\n return items[itemIndex].data\r\n }\r\n return\r\n }\r\n _scrollToElement($element, offset) {\r\n var scrollable = this.getScrollable();\r\n scrollable && scrollable.scrollToElement($element, offset)\r\n }\r\n optionChanged(args) {\r\n super.optionChanged(args);\r\n switch (args.name) {\r\n case \"wordWrapEnabled\":\r\n case \"showColumnLines\":\r\n case \"showRowLines\":\r\n case \"rowAlternationEnabled\":\r\n case \"rowTemplate\":\r\n case \"dataRowTemplate\":\r\n case \"twoWayBindingEnabled\":\r\n this._invalidate(true, true);\r\n args.handled = true;\r\n break;\r\n case \"scrolling\":\r\n this._rowHeight = null;\r\n this._tableElement = null;\r\n args.handled = true;\r\n break;\r\n case \"rtlEnabled\":\r\n this._rowHeight = null;\r\n this._tableElement = null;\r\n break;\r\n case \"loadPanel\":\r\n this._tableElement = null;\r\n this._invalidate(true, \"loadPanel.enabled\" !== args.fullName);\r\n args.handled = true;\r\n break;\r\n case \"noDataText\":\r\n this.renderNoDataText();\r\n args.handled = true\r\n }\r\n }\r\n dispose() {\r\n super.dispose();\r\n clearTimeout(this._hideLoadingTimeoutID);\r\n this._scrollable && this._scrollable.dispose()\r\n }\r\n setScrollerSpacing() {}\r\n _restoreErrorRow() {}\r\n isElementInside($element) {\r\n var $rowsViewElement = $element.closest(\".\".concat(this.addWidgetPrefix(ROWS_VIEW_CLASS)));\r\n return $rowsViewElement.is(this.element())\r\n }\r\n}\r\nexport var rowsModule = {\r\n defaultOptions: () => ({\r\n hoverStateEnabled: false,\r\n scrolling: {\r\n useNative: \"auto\"\r\n },\r\n loadPanel: {\r\n enabled: \"auto\",\r\n text: messageLocalization.format(\"Loading\"),\r\n width: 200,\r\n height: 90,\r\n showIndicator: true,\r\n indicatorSrc: \"\",\r\n showPane: true\r\n },\r\n dataRowTemplate: null,\r\n columnAutoWidth: false,\r\n noDataText: messageLocalization.format(\"dxDataGrid-noDataText\"),\r\n wordWrapEnabled: false,\r\n showColumnLines: true,\r\n showRowLines: false,\r\n rowAlternationEnabled: false,\r\n activeStateEnabled: false,\r\n twoWayBindingEnabled: true\r\n }),\r\n views: {\r\n rowsView: RowsView\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/virtual_columns/m_virtual_columns.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport browser from \"../../../../core/utils/browser\";\r\nimport {\r\n getHeight,\r\n getOuterWidth,\r\n getWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n hasWindow\r\n} from \"../../../../core/utils/window\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n createColumnsInfo\r\n} from \"./m_virtual_columns_core\";\r\nvar DEFAULT_COLUMN_WIDTH = 50;\r\nvar VirtualScrollingRowsViewExtender = {\r\n _resizeCore() {\r\n this.callBase.apply(this, arguments);\r\n this._columnsController.resize()\r\n },\r\n _handleScroll(e) {\r\n var scrollable = this.getScrollable();\r\n var {\r\n left: left\r\n } = e.scrollOffset;\r\n this.callBase.apply(this, arguments);\r\n if (this.option(\"rtlEnabled\") && scrollable) {\r\n left = getWidth(scrollable.$content()) - getWidth(scrollable.$element()) - left\r\n }\r\n this._columnsController.setScrollPosition(left)\r\n },\r\n _renderCore(e) {\r\n var _a, _b;\r\n if (null === e || void 0 === e ? void 0 : e.virtualColumnsScrolling) {\r\n var $contentElement = this._findContentElement();\r\n var fixedColumns = null === (_a = this._columnsController) || void 0 === _a ? void 0 : _a.getFixedColumns();\r\n var useNativeScrolling = null === (_b = this._scrollable) || void 0 === _b ? void 0 : _b.option(\"useNative\");\r\n if (null === fixedColumns || void 0 === fixedColumns ? void 0 : fixedColumns.length) {\r\n $contentElement.css({\r\n minHeight: useNativeScrolling ? getHeight($contentElement) : gridCoreUtils.getContentHeightLimit(browser)\r\n });\r\n var resizeCompletedHandler = () => {\r\n this.resizeCompleted.remove(resizeCompletedHandler);\r\n $contentElement.css({\r\n minHeight: \"\"\r\n })\r\n };\r\n this.resizeCompleted.add(resizeCompletedHandler)\r\n }\r\n }\r\n return this.callBase.apply(this, arguments)\r\n }\r\n};\r\nvar HeaderViewExtender = {\r\n _renderCore() {\r\n var deferred = this.callBase.apply(this, arguments);\r\n if (this._columnsController.isVirtualMode()) {\r\n this._updateScrollLeftPosition()\r\n }\r\n return deferred\r\n }\r\n};\r\nvar ColumnsControllerExtender = function() {\r\n var getWidths = function(columns) {\r\n return columns.map(column => column.visibleWidth || parseFloat(column.width) || DEFAULT_COLUMN_WIDTH)\r\n };\r\n var members = {\r\n init() {\r\n this.callBase.apply(this, arguments);\r\n this._beginPageIndex = null;\r\n this._endPageIndex = null;\r\n this._position = 0;\r\n this._virtualVisibleColumns = {}\r\n },\r\n resetColumnsCache() {\r\n this.callBase();\r\n this._virtualVisibleColumns = {}\r\n },\r\n getBeginPageIndex(position) {\r\n var visibleColumns = this.getVisibleColumns(void 0, true);\r\n var widths = getWidths(visibleColumns);\r\n var currentPosition = 0;\r\n for (var index = 0; index < widths.length; index++) {\r\n if (currentPosition >= position) {\r\n return Math.floor(index / this.getColumnPageSize())\r\n }\r\n currentPosition += widths[index]\r\n }\r\n return 0\r\n },\r\n getTotalWidth() {\r\n var width = this.option(\"width\");\r\n if (\"number\" === typeof width) {\r\n return width\r\n }\r\n return this.getController(\"resizing\")._lastWidth || getOuterWidth(this.component.$element())\r\n },\r\n getEndPageIndex(position) {\r\n var visibleColumns = this.getVisibleColumns(void 0, true);\r\n var widths = getWidths(visibleColumns);\r\n var currentPosition = 0;\r\n position += this.getTotalWidth();\r\n for (var index = 0; index < widths.length; index++) {\r\n if (currentPosition >= position) {\r\n return Math.ceil(index / this.getColumnPageSize())\r\n }\r\n currentPosition += widths[index]\r\n }\r\n return Math.ceil(widths.length / this.getColumnPageSize())\r\n },\r\n getColumnPageSize() {\r\n return this.option(\"scrolling.columnPageSize\")\r\n },\r\n _fireColumnsChanged() {\r\n var date = new Date;\r\n this.columnsChanged.fire({\r\n optionNames: {\r\n all: true,\r\n length: 1\r\n },\r\n changeTypes: {\r\n columns: true,\r\n virtualColumnsScrolling: true,\r\n length: 2\r\n }\r\n });\r\n this._renderTime = new Date - date\r\n },\r\n getScrollingTimeout() {\r\n var renderingThreshold = this.option(\"scrolling.columnRenderingThreshold\");\r\n var renderAsync = this.option(\"scrolling.renderAsync\");\r\n var scrollingTimeout = 0;\r\n if (!isDefined(renderAsync) && this._renderTime > renderingThreshold || renderAsync) {\r\n scrollingTimeout = this.option(\"scrolling.timeout\")\r\n }\r\n return scrollingTimeout\r\n },\r\n setScrollPosition(position) {\r\n var scrollingTimeout = this.getScrollingTimeout();\r\n if (scrollingTimeout > 0) {\r\n clearTimeout(this._changedTimeout);\r\n this._changedTimeout = setTimeout(() => {\r\n this._setScrollPositionCore(position)\r\n }, scrollingTimeout)\r\n } else {\r\n this._setScrollPositionCore(position)\r\n }\r\n },\r\n isVirtualMode() {\r\n return hasWindow() && \"virtual\" === this.option(\"scrolling.columnRenderingMode\")\r\n },\r\n resize() {\r\n this._setScrollPositionCore(this._position)\r\n },\r\n _setScrollPositionCore(position) {\r\n if (this.isVirtualMode()) {\r\n var beginPageIndex = this.getBeginPageIndex(position);\r\n var endPageIndex = this.getEndPageIndex(position);\r\n var needColumnsChanged = position < this._position ? this._beginPageIndex > beginPageIndex : this._endPageIndex < endPageIndex;\r\n this._position = position;\r\n if (needColumnsChanged) {\r\n this._beginPageIndex = beginPageIndex;\r\n this._endPageIndex = endPageIndex;\r\n this._fireColumnsChanged()\r\n }\r\n }\r\n },\r\n getFixedColumns(rowIndex, isBase) {\r\n var fixedColumns = this.callBase(rowIndex);\r\n if (this.isVirtualMode() && !isBase && fixedColumns.length) {\r\n var transparentColumnIndex = fixedColumns.map(c => c.command).indexOf(\"transparent\");\r\n fixedColumns[transparentColumnIndex].colspan = this.getVisibleColumns().length - this.callBase().length + 1;\r\n return fixedColumns\r\n }\r\n return fixedColumns\r\n },\r\n _compileVisibleColumns(rowIndex, isBase) {\r\n var _a;\r\n if (isBase || !this.isVirtualMode() || !this._shouldReturnVisibleColumns()) {\r\n return this.callBase(rowIndex)\r\n }\r\n if ((null === (_a = this._columns) || void 0 === _a ? void 0 : _a.length) && !isDefined(this._beginPageIndex) && !isDefined(this._endPageIndex)) {\r\n this._beginPageIndex = this.getBeginPageIndex(this._position);\r\n this._endPageIndex = this.getEndPageIndex(this._position)\r\n }\r\n var beginPageIndex = this._beginPageIndex;\r\n var endPageIndex = this._endPageIndex;\r\n var visibleColumnsHash = \"\".concat(rowIndex, \"-\").concat(beginPageIndex, \"-\").concat(endPageIndex);\r\n if (this._virtualVisibleColumns[visibleColumnsHash]) {\r\n return this._virtualVisibleColumns[visibleColumnsHash]\r\n }\r\n var visibleColumns = this.callBase();\r\n var rowCount = this.getRowCount();\r\n var pageSize = this.getColumnPageSize();\r\n var startIndex = beginPageIndex * pageSize;\r\n var endIndex = endPageIndex * pageSize;\r\n var fixedColumns = this.getFixedColumns(void 0, true);\r\n var transparentColumnIndex = fixedColumns.map(c => c.command).indexOf(\"transparent\");\r\n var beginFixedColumnCount = fixedColumns.length ? transparentColumnIndex : 0;\r\n var beginFixedColumns = visibleColumns.slice(0, beginFixedColumnCount);\r\n var beginColumns = visibleColumns.slice(beginFixedColumnCount, startIndex);\r\n var beginWidth = getWidths(beginColumns).reduce((a, b) => a + b, 0);\r\n if (!beginWidth) {\r\n startIndex = 0\r\n }\r\n var endFixedColumnCount = fixedColumns.length ? fixedColumns.length - transparentColumnIndex - 1 : 0;\r\n var endFixedColumns = visibleColumns.slice(visibleColumns.length - endFixedColumnCount);\r\n var endColumns = visibleColumns.slice(endIndex, visibleColumns.length - endFixedColumnCount);\r\n var endWidth = getWidths(endColumns).reduce((a, b) => a + b, 0);\r\n if (!endWidth) {\r\n endIndex = visibleColumns.length\r\n }\r\n if (rowCount > 1 && \"number\" === typeof rowIndex) {\r\n var columnsInfo = [];\r\n for (var i = 0; i <= rowCount; i++) {\r\n columnsInfo.push(this.callBase(i))\r\n }\r\n beginFixedColumns = createColumnsInfo(columnsInfo, 0, beginFixedColumns.length)[rowIndex] || [];\r\n endFixedColumns = createColumnsInfo(columnsInfo, visibleColumns.length - endFixedColumns.length, visibleColumns.length)[rowIndex] || [];\r\n visibleColumns = createColumnsInfo(columnsInfo, startIndex, endIndex)[rowIndex] || []\r\n } else {\r\n visibleColumns = visibleColumns.slice(startIndex, endIndex)\r\n }\r\n if (beginWidth) {\r\n visibleColumns.unshift({\r\n command: \"virtual\",\r\n width: beginWidth\r\n });\r\n visibleColumns = beginFixedColumns.concat(visibleColumns)\r\n }\r\n if (endWidth) {\r\n visibleColumns.push({\r\n command: \"virtual\",\r\n width: endWidth\r\n });\r\n visibleColumns = visibleColumns.concat(endFixedColumns)\r\n }\r\n this._virtualVisibleColumns[visibleColumnsHash] = visibleColumns;\r\n return visibleColumns\r\n },\r\n getColumnIndexOffset() {\r\n var offset = 0;\r\n if (this._beginPageIndex > 0) {\r\n var fixedColumns = this.getFixedColumns();\r\n var transparentColumnIndex = fixedColumns.map(c => c.command).indexOf(\"transparent\");\r\n var leftFixedColumnCount = transparentColumnIndex >= 0 ? transparentColumnIndex : 0;\r\n offset = this._beginPageIndex * this.getColumnPageSize() - leftFixedColumnCount - 1\r\n }\r\n return offset > 0 ? offset : 0\r\n },\r\n dispose() {\r\n clearTimeout(this._changedTimeout);\r\n this.callBase.apply(this, arguments)\r\n }\r\n };\r\n return members\r\n}();\r\nexport var virtualColumnsModule = {\r\n defaultOptions: () => ({\r\n scrolling: {\r\n columnRenderingMode: \"standard\",\r\n columnPageSize: 5,\r\n columnRenderingThreshold: 300\r\n }\r\n }),\r\n extenders: {\r\n controllers: {\r\n columns: ColumnsControllerExtender\r\n },\r\n views: {\r\n columnHeadersView: HeaderViewExtender,\r\n rowsView: VirtualScrollingRowsViewExtender\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/virtual_columns/m_virtual_columns_core.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nexport function foreachColumnInfo(info, callback, rowIndex, offsets, columnCount, lastProcessedIndexes) {\r\n rowIndex = rowIndex || 0;\r\n offsets = offsets || [];\r\n lastProcessedIndexes = lastProcessedIndexes || [];\r\n offsets[rowIndex] = offsets[rowIndex] || 0;\r\n var row = info[rowIndex];\r\n var startIndex = lastProcessedIndexes[rowIndex] + 1 || 0;\r\n var processedColumnCount = 0;\r\n var colIndex;\r\n if (!row) {\r\n return\r\n }\r\n for (colIndex = startIndex; colIndex < row.length; colIndex++) {\r\n var cell = row[colIndex];\r\n var visibleIndex = colIndex + offsets[rowIndex];\r\n var colspan = cell.colspan || 1;\r\n foreachColumnInfo(info, callback, rowIndex + (cell.rowspan || 1), offsets, colspan, lastProcessedIndexes);\r\n offsets[rowIndex] += colspan - 1;\r\n processedColumnCount += colspan;\r\n if (cell.rowspan) {\r\n for (var i = rowIndex + 1; i < rowIndex + cell.rowspan; i++) {\r\n offsets[i] = offsets[i] || 0;\r\n offsets[i] += cell.colspan || 1\r\n }\r\n }\r\n if (false === callback(cell, visibleIndex, rowIndex, colIndex)) {\r\n break\r\n }\r\n if (void 0 !== columnCount && processedColumnCount >= columnCount) {\r\n break\r\n }\r\n }\r\n lastProcessedIndexes[rowIndex] = colIndex\r\n}\r\nexport function createColumnsInfo(info, startIndex, endIndex) {\r\n var newInfo = [];\r\n foreachColumnInfo(info, (columnInfo, visibleIndex, rowIndex) => {\r\n var cell = columnInfo;\r\n var colspan;\r\n var cellColspan = cell.colspan || 1;\r\n var isVisible = visibleIndex + cellColspan - 1 >= startIndex && visibleIndex < endIndex;\r\n newInfo[rowIndex] = newInfo[rowIndex] || [];\r\n if (isVisible) {\r\n if (visibleIndex < startIndex) {\r\n colspan = cellColspan - (startIndex - visibleIndex);\r\n visibleIndex = startIndex\r\n } else {\r\n colspan = cellColspan\r\n }\r\n if (visibleIndex + colspan > endIndex) {\r\n colspan = endIndex - visibleIndex\r\n }\r\n if (colspan !== cellColspan) {\r\n cell = extend({}, cell, {\r\n colspan: colspan\r\n })\r\n }\r\n newInfo[rowIndex].push(cell)\r\n } else if (visibleIndex > endIndex) {\r\n return false\r\n }\r\n return\r\n });\r\n for (var i = 0; i < newInfo.length; i++) {\r\n newInfo[i] = newInfo[i] || []\r\n }\r\n return newInfo\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/virtual_scrolling/m_virtual_scrolling.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport browser from \"../../../../core/utils/browser\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n isElementInDom\r\n} from \"../../../../core/utils/dom\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n getOuterHeight\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n getWindow\r\n} from \"../../../../core/utils/window\";\r\nimport LoadIndicator from \"../../../../ui/load_indicator\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n subscribeToExternalScrollers,\r\n VirtualScrollController\r\n} from \"./m_virtual_scrolling_core\";\r\nvar BOTTOM_LOAD_PANEL_CLASS = \"bottom-load-panel\";\r\nvar GROUP_SPACE_CLASS = \"group-space\";\r\nvar FREESPACE_CLASS = \"dx-freespace-row\";\r\nvar COLUMN_LINES_CLASS = \"dx-column-lines\";\r\nvar VIRTUAL_ROW_CLASS = \"dx-virtual-row\";\r\nvar ROW_INSERTED = \"dx-row-inserted\";\r\nvar SCROLLING_MODE_INFINITE = \"infinite\";\r\nvar SCROLLING_MODE_VIRTUAL = \"virtual\";\r\nvar LOAD_TIMEOUT = 300;\r\nvar LEGACY_SCROLLING_MODE = \"scrolling.legacyMode\";\r\nvar VISIBLE_PAGE_INDEX = \"paging.pageIndex\";\r\nvar isVirtualMode = function(that) {\r\n return that.option(\"scrolling.mode\") === SCROLLING_MODE_VIRTUAL\r\n};\r\nvar isAppendMode = function(that) {\r\n return that.option(\"scrolling.mode\") === SCROLLING_MODE_INFINITE\r\n};\r\nvar isVirtualPaging = function(that) {\r\n return isVirtualMode(that) || isAppendMode(that)\r\n};\r\nvar correctCount = function(items, count, fromEnd, isItemCountableFunc) {\r\n for (var i = 0; i < count + 1; i++) {\r\n var item = items[fromEnd ? items.length - 1 - i : i];\r\n if (item && !isItemCountableFunc(item, i === count, fromEnd)) {\r\n count++\r\n }\r\n }\r\n return count\r\n};\r\nvar isItemCountableByDataSource = function(item, dataSource) {\r\n return \"data\" === item.rowType && !item.isNewRow || \"group\" === item.rowType && dataSource.isGroupItemCountable(item.data)\r\n};\r\nvar updateItemIndices = function(items) {\r\n items.forEach((item, index) => {\r\n item.rowIndex = index\r\n });\r\n return items\r\n};\r\nvar VirtualScrollingDataSourceAdapterExtender = function() {\r\n var updateLoading = function(that) {\r\n var beginPageIndex = that._virtualScrollController.beginPageIndex(-1);\r\n if (isVirtualMode(that)) {\r\n if (beginPageIndex < 0 || that.viewportSize() >= 0 && that.getViewportItemIndex() >= 0 && (beginPageIndex * that.pageSize() > that.getViewportItemIndex() || beginPageIndex * that.pageSize() + that.itemsCount() < that.getViewportItemIndex() + that.viewportSize()) && that._dataSource.isLoading()) {\r\n if (!that._isLoading) {\r\n that._isLoading = true;\r\n that.loadingChanged.fire(true)\r\n }\r\n } else if (that._isLoading) {\r\n that._isLoading = false;\r\n that.loadingChanged.fire(false)\r\n }\r\n }\r\n };\r\n var result = {\r\n init() {\r\n this.callBase.apply(this, arguments);\r\n this._items = [];\r\n this._totalCount = -1;\r\n this._isLoaded = true;\r\n this._loadPageCount = 1;\r\n this._virtualScrollController = new VirtualScrollController(this.component, this._getVirtualScrollDataOptions())\r\n },\r\n _getVirtualScrollDataOptions() {\r\n var that = this;\r\n return {\r\n pageSize: () => that.pageSize(),\r\n totalItemsCount: () => that.totalItemsCount(),\r\n hasKnownLastPage: () => that.hasKnownLastPage(),\r\n pageIndex: index => that._dataSource.pageIndex(index),\r\n isLoading: () => that._dataSource.isLoading() && !that.isCustomLoading(),\r\n pageCount: () => that.pageCount(),\r\n load: () => that._dataSource.load(),\r\n updateLoading() {\r\n updateLoading(that)\r\n },\r\n itemsCount: () => that.itemsCount(true),\r\n items: () => that._dataSource.items(),\r\n viewportItems(items) {\r\n if (items) {\r\n that._items = items\r\n }\r\n return that._items\r\n },\r\n onChanged(e) {\r\n that.changed.fire(e)\r\n },\r\n changingDuration() {\r\n if (that.isLoading()) {\r\n return LOAD_TIMEOUT\r\n }\r\n return that._renderTime || 0\r\n }\r\n }\r\n },\r\n _handleLoadingChanged(isLoading) {\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n this.callBase.apply(this, arguments);\r\n return\r\n }\r\n if (!isVirtualMode(this) || this._isLoadingAll) {\r\n this._isLoading = isLoading;\r\n this.callBase.apply(this, arguments)\r\n }\r\n if (isLoading) {\r\n this._startLoadTime = new Date\r\n } else {\r\n this._startLoadTime = void 0\r\n }\r\n },\r\n _handleLoadError() {\r\n if (false !== this.option(LEGACY_SCROLLING_MODE)) {\r\n this._isLoading = false;\r\n this.loadingChanged.fire(false)\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _handleDataChanged(e) {\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n this._items = this._dataSource.items().slice();\r\n this._totalCount = this._dataSourceTotalCount(true);\r\n this.callBase.apply(this, arguments);\r\n return\r\n }\r\n var callBase = this.callBase.bind(this);\r\n this._virtualScrollController.handleDataChanged(callBase, e)\r\n },\r\n _customizeRemoteOperations(options, operationTypes) {\r\n var newMode = false === this.option(LEGACY_SCROLLING_MODE);\r\n var renderAsync = this.option(\"scrolling.renderAsync\");\r\n if (!isDefined(renderAsync)) {\r\n renderAsync = this._renderTime >= this.option(\"scrolling.renderingThreshold\")\r\n }\r\n if ((isVirtualMode(this) || isAppendMode(this) && newMode) && !operationTypes.reload && (operationTypes.skip || newMode) && !renderAsync) {\r\n options.delay = void 0\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n items() {\r\n return this._items\r\n },\r\n _dataSourceTotalCount(isBase) {\r\n return false === this.option(LEGACY_SCROLLING_MODE) && isVirtualMode(this) && !isBase ? this._totalCount : this.callBase()\r\n },\r\n itemsCount(isBase) {\r\n if (isBase || false === this.option(LEGACY_SCROLLING_MODE)) {\r\n return this.callBase()\r\n }\r\n return this._virtualScrollController.itemsCount()\r\n },\r\n load(loadOptions) {\r\n if (false === this.option(LEGACY_SCROLLING_MODE) || loadOptions) {\r\n return this.callBase(loadOptions)\r\n }\r\n return this._virtualScrollController.load()\r\n },\r\n isLoading() {\r\n return false === this.option(LEGACY_SCROLLING_MODE) ? this._dataSource.isLoading() : this._isLoading\r\n },\r\n isLoaded() {\r\n return this._dataSource.isLoaded() && this._isLoaded\r\n },\r\n resetPagesCache(isLiveUpdate) {\r\n if (!isLiveUpdate) {\r\n this._virtualScrollController.reset(true)\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _changeRowExpandCore() {\r\n var result = this.callBase.apply(this, arguments);\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n return result\r\n }\r\n this.resetPagesCache();\r\n updateLoading(this);\r\n return result\r\n },\r\n reload() {\r\n this._dataSource.pageIndex(this.pageIndex());\r\n var virtualScrollController = this._virtualScrollController;\r\n if (false !== this.option(LEGACY_SCROLLING_MODE) && virtualScrollController) {\r\n var d = new Deferred;\r\n this.callBase.apply(this, arguments).done(r => {\r\n var delayDeferred = virtualScrollController.getDelayDeferred();\r\n if (delayDeferred) {\r\n delayDeferred.done(d.resolve).fail(d.reject)\r\n } else {\r\n d.resolve(r)\r\n }\r\n }).fail(d.reject);\r\n return d\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n refresh(options, operationTypes) {\r\n if (false !== this.option(LEGACY_SCROLLING_MODE)) {\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n var dataSource = this._dataSource;\r\n if (operationTypes.reload) {\r\n this._virtualScrollController.reset();\r\n dataSource.items().length = 0;\r\n this._isLoaded = false;\r\n updateLoading(this);\r\n this._isLoaded = true;\r\n if (isAppendMode(this)) {\r\n this.pageIndex(0);\r\n dataSource.pageIndex(0);\r\n storeLoadOptions.pageIndex = 0;\r\n options.pageIndex = 0;\r\n storeLoadOptions.skip = 0\r\n } else {\r\n dataSource.pageIndex(this.pageIndex());\r\n if (dataSource.paginate()) {\r\n options.pageIndex = this.pageIndex();\r\n storeLoadOptions.skip = this.pageIndex() * this.pageSize()\r\n }\r\n }\r\n } else if (isAppendMode(this) && storeLoadOptions.skip && this._totalCountCorrection < 0) {\r\n storeLoadOptions.skip += this._totalCountCorrection\r\n }\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n dispose() {\r\n this._virtualScrollController.dispose();\r\n this.callBase.apply(this, arguments)\r\n },\r\n loadPageCount(count) {\r\n if (!isDefined(count)) {\r\n return this._loadPageCount\r\n }\r\n this._loadPageCount = count\r\n },\r\n _handleDataLoading(options) {\r\n var loadPageCount = this.loadPageCount();\r\n var pageSize = this.pageSize();\r\n var newMode = false === this.option(LEGACY_SCROLLING_MODE);\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n var takeIsDefined = isDefined(storeLoadOptions.take);\r\n options.loadPageCount = loadPageCount;\r\n if (!options.isCustomLoading && newMode && takeIsDefined && loadPageCount > 1 && pageSize > 0) {\r\n storeLoadOptions.take = loadPageCount * pageSize\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _loadPageSize() {\r\n return this.callBase.apply(this, arguments) * this.loadPageCount()\r\n }\r\n };\r\n [\"beginPageIndex\", \"endPageIndex\", \"pageIndex\"].forEach(name => {\r\n result[name] = function() {\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n var dataSource = this._dataSource;\r\n return dataSource.pageIndex.apply(dataSource, arguments)\r\n }\r\n var virtualScrollController = this._virtualScrollController;\r\n return virtualScrollController[name].apply(virtualScrollController, arguments)\r\n }\r\n });\r\n [\"virtualItemsCount\", \"getContentOffset\", \"getVirtualContentSize\", \"setContentItemSizes\", \"setViewportPosition\", \"getViewportItemIndex\", \"setViewportItemIndex\", \"getItemIndexByPosition\", \"viewportSize\", \"viewportItemSize\", \"getItemSize\", \"getItemSizes\", \"loadIfNeed\"].forEach(name => {\r\n result[name] = function() {\r\n var virtualScrollController = this._virtualScrollController;\r\n return virtualScrollController[name].apply(virtualScrollController, arguments)\r\n }\r\n });\r\n return result\r\n}();\r\nvar VirtualScrollingRowsViewExtender = function() {\r\n var removeEmptyRows = function($emptyRows, className) {\r\n var tBodies = $emptyRows.toArray().map(row => $(row).parent(\".\".concat(className)).get(0)).filter(row => row);\r\n if (tBodies.length) {\r\n $emptyRows = $(tBodies)\r\n }\r\n var rowCount = className === FREESPACE_CLASS ? $emptyRows.length - 1 : $emptyRows.length;\r\n for (var i = 0; i < rowCount; i++) {\r\n $emptyRows.eq(i).remove()\r\n }\r\n };\r\n return {\r\n init() {\r\n var _a;\r\n var dataController = this.getController(\"data\");\r\n this.callBase();\r\n dataController.pageChanged.add(pageIndex => {\r\n var scrollTop = this._scrollTop;\r\n this.scrollToPage(null !== pageIndex && void 0 !== pageIndex ? pageIndex : dataController.pageIndex());\r\n if (false === this.option(LEGACY_SCROLLING_MODE) && this._scrollTop === scrollTop) {\r\n dataController.updateViewport()\r\n }\r\n });\r\n dataController.dataSourceChanged.add(() => {\r\n !this._scrollTop && this._scrollToCurrentPageOnResize()\r\n });\r\n null === (_a = dataController.stateLoaded) || void 0 === _a ? void 0 : _a.add(() => {\r\n this._scrollToCurrentPageOnResize()\r\n });\r\n this._scrollToCurrentPageOnResize()\r\n },\r\n _scrollToCurrentPageOnResize() {\r\n var dataController = this.getController(\"data\");\r\n if (dataController.pageIndex() > 0) {\r\n var resizeHandler = () => {\r\n this.resizeCompleted.remove(resizeHandler);\r\n this.scrollToPage(dataController.pageIndex())\r\n };\r\n this.resizeCompleted.add(resizeHandler)\r\n }\r\n },\r\n scrollToPage(pageIndex) {\r\n var dataController = this._dataController;\r\n var pageSize = dataController ? dataController.pageSize() : 0;\r\n var scrollPosition;\r\n if (isVirtualMode(this) || isAppendMode(this)) {\r\n var itemSize = dataController.getItemSize();\r\n var itemSizes = dataController.getItemSizes();\r\n var itemIndex = pageIndex * pageSize;\r\n scrollPosition = itemIndex * itemSize;\r\n for (var index in itemSizes) {\r\n if (parseInt(index) < itemIndex) {\r\n scrollPosition += itemSizes[index] - itemSize\r\n }\r\n }\r\n } else {\r\n scrollPosition = 0\r\n }\r\n this.scrollTo({\r\n y: scrollPosition,\r\n x: this._scrollLeft\r\n })\r\n },\r\n renderDelayedTemplates() {\r\n this.waitAsyncTemplates().done(() => {\r\n this._updateContentPosition(true)\r\n });\r\n this.callBase.apply(this, arguments)\r\n },\r\n _renderCore(e) {\r\n var startRenderTime = new Date;\r\n var deferred = this.callBase.apply(this, arguments);\r\n var dataSource = this._dataController._dataSource;\r\n if (dataSource && e) {\r\n var itemCount = e.items ? e.items.length : 20;\r\n var viewportSize = this._dataController.viewportSize() || 20;\r\n if (gridCoreUtils.isVirtualRowRendering(this) && itemCount > 0 && false !== this.option(LEGACY_SCROLLING_MODE)) {\r\n dataSource._renderTime = (new Date - startRenderTime) * viewportSize / itemCount\r\n } else {\r\n dataSource._renderTime = new Date - startRenderTime\r\n }\r\n }\r\n return deferred\r\n },\r\n _getRowElements(tableElement) {\r\n var $rows = this.callBase(tableElement);\r\n return $rows && $rows.not(\".\".concat(VIRTUAL_ROW_CLASS))\r\n },\r\n _removeRowsElements(contentTable, removeCount, changeType) {\r\n var rowElements = this._getRowElements(contentTable).toArray();\r\n if (\"append\" === changeType) {\r\n rowElements = rowElements.slice(0, removeCount)\r\n } else {\r\n rowElements = rowElements.slice(-removeCount)\r\n }\r\n var errorHandlingController = this.getController(\"errorHandling\");\r\n rowElements.map(rowElement => {\r\n var $rowElement = $(rowElement);\r\n errorHandlingController && errorHandlingController.removeErrorRow($rowElement.next());\r\n $rowElement.remove()\r\n })\r\n },\r\n _updateContent(tableElement, change) {\r\n var $freeSpaceRowElements;\r\n var contentElement = this._findContentElement();\r\n var changeType = change && change.changeType;\r\n var d = Deferred();\r\n var contentTable = contentElement.children().first();\r\n if (\"append\" === changeType || \"prepend\" === changeType) {\r\n this.waitAsyncTemplates().done(() => {\r\n var $tBodies = this._getBodies(tableElement);\r\n if (1 === $tBodies.length) {\r\n this._getBodies(contentTable)[\"append\" === changeType ? \"append\" : \"prepend\"]($tBodies.children())\r\n } else {\r\n $tBodies[\"append\" === changeType ? \"appendTo\" : \"prependTo\"](contentTable)\r\n }\r\n tableElement.remove();\r\n $freeSpaceRowElements = this._getFreeSpaceRowElements(contentTable);\r\n removeEmptyRows($freeSpaceRowElements, FREESPACE_CLASS);\r\n if (change.removeCount) {\r\n this._removeRowsElements(contentTable, change.removeCount, changeType)\r\n }\r\n this._restoreErrorRow(contentTable);\r\n d.resolve()\r\n }).fail(d.reject)\r\n } else {\r\n this.callBase.apply(this, arguments).done(() => {\r\n if (\"update\" === changeType) {\r\n this._restoreErrorRow(contentTable)\r\n }\r\n d.resolve()\r\n }).fail(d.reject)\r\n }\r\n return d.promise().done(() => {\r\n this._updateBottomLoading()\r\n })\r\n },\r\n _addVirtualRow($table, isFixed, location, position) {\r\n if (!position) {\r\n return\r\n }\r\n var $virtualRow = this._createEmptyRow(VIRTUAL_ROW_CLASS, isFixed, position);\r\n $virtualRow = this._wrapRowIfNeed($table, $virtualRow);\r\n this._appendEmptyRow($table, $virtualRow, location)\r\n },\r\n _updateContentItemSizes() {\r\n var rowHeights = this._getRowHeights();\r\n var correctedRowHeights = this._correctRowHeights(rowHeights);\r\n this._dataController.setContentItemSizes(correctedRowHeights)\r\n },\r\n _updateViewportSize(viewportHeight, scrollTop) {\r\n if (!isDefined(viewportHeight)) {\r\n viewportHeight = this._hasHeight ? getOuterHeight(this.element()) : getOuterHeight(getWindow())\r\n }\r\n this._dataController.viewportHeight(viewportHeight, scrollTop)\r\n },\r\n _getRowHeights() {\r\n var _a, _b;\r\n var isPopupEditMode = null === (_b = null === (_a = this.getController(\"editing\")) || void 0 === _a ? void 0 : _a.isPopupEditMode) || void 0 === _b ? void 0 : _b.call(_a);\r\n var rowElements = this._getRowElements(this._tableElement).toArray();\r\n if (isPopupEditMode) {\r\n rowElements = rowElements.filter(row => !$(row).hasClass(ROW_INSERTED))\r\n }\r\n return rowElements.map(row => getBoundingRect(row).height)\r\n },\r\n _correctRowHeights(rowHeights) {\r\n var dataController = this._dataController;\r\n var dataSource = dataController._dataSource;\r\n var correctedRowHeights = [];\r\n var visibleRows = dataController.getVisibleRows();\r\n var itemSize = 0;\r\n var firstCountableItem = true;\r\n var lastLoadIndex = -1;\r\n for (var i = 0; i < rowHeights.length; i++) {\r\n var currentItem = visibleRows[i];\r\n if (!isDefined(currentItem)) {\r\n continue\r\n }\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n if (lastLoadIndex >= 0 && lastLoadIndex !== currentItem.loadIndex) {\r\n correctedRowHeights.push(itemSize);\r\n itemSize = 0\r\n }\r\n lastLoadIndex = currentItem.loadIndex\r\n } else if (isItemCountableByDataSource(currentItem, dataSource)) {\r\n if (firstCountableItem) {\r\n firstCountableItem = false\r\n } else {\r\n correctedRowHeights.push(itemSize);\r\n itemSize = 0\r\n }\r\n }\r\n itemSize += rowHeights[i]\r\n }\r\n itemSize > 0 && correctedRowHeights.push(itemSize);\r\n return correctedRowHeights\r\n },\r\n _updateContentPosition(isRender) {\r\n var dataController = this._dataController;\r\n var rowHeight = this._rowHeight || 20;\r\n dataController.viewportItemSize(rowHeight);\r\n if (isVirtualMode(this) || gridCoreUtils.isVirtualRowRendering(this)) {\r\n if (!isRender) {\r\n this._updateContentItemSizes()\r\n }\r\n var top = dataController.getContentOffset(\"begin\");\r\n var bottom = dataController.getContentOffset(\"end\");\r\n var $tables = this.getTableElements();\r\n var $virtualRows = $tables.children(\"tbody\").children(\".\".concat(VIRTUAL_ROW_CLASS));\r\n removeEmptyRows($virtualRows, VIRTUAL_ROW_CLASS);\r\n $tables.each((index, element) => {\r\n var isFixed = index > 0;\r\n var prevFixed = this._isFixedTableRendering;\r\n this._isFixedTableRendering = isFixed;\r\n this._addVirtualRow($(element), isFixed, \"top\", top);\r\n this._addVirtualRow($(element), isFixed, \"bottom\", bottom);\r\n this._isFixedTableRendering = prevFixed\r\n })\r\n }\r\n },\r\n _isTableLinesDisplaysCorrect(table) {\r\n var hasColumnLines = table.find(\".\".concat(COLUMN_LINES_CLASS)).length > 0;\r\n return hasColumnLines === this.option(\"showColumnLines\")\r\n },\r\n _isColumnElementsEqual($columns, $virtualColumns) {\r\n var result = $columns.length === $virtualColumns.length;\r\n if (result) {\r\n each($columns, (index, element) => {\r\n if (element.style.width !== $virtualColumns[index].style.width) {\r\n result = false;\r\n return result\r\n }\r\n return\r\n })\r\n }\r\n return result\r\n },\r\n _getCellClasses(column) {\r\n var classes = [];\r\n var {\r\n cssClass: cssClass\r\n } = column;\r\n var isExpandColumn = \"expand\" === column.command;\r\n cssClass && classes.push(cssClass);\r\n isExpandColumn && classes.push(this.addWidgetPrefix(GROUP_SPACE_CLASS));\r\n return classes\r\n },\r\n _findBottomLoadPanel($contentElement) {\r\n var $element = $contentElement || this.element();\r\n var $bottomLoadPanel = $element && $element.find(\".\".concat(this.addWidgetPrefix(BOTTOM_LOAD_PANEL_CLASS)));\r\n if ($bottomLoadPanel && $bottomLoadPanel.length) {\r\n return $bottomLoadPanel\r\n }\r\n },\r\n _updateBottomLoading() {\r\n var virtualMode = isVirtualMode(this);\r\n var appendMode = isAppendMode(this);\r\n var showBottomLoading = !this._dataController.hasKnownLastPage() && this._dataController.isLoaded() && (virtualMode || appendMode);\r\n var $contentElement = this._findContentElement();\r\n var bottomLoadPanelElement = this._findBottomLoadPanel($contentElement);\r\n if (showBottomLoading) {\r\n if (!bottomLoadPanelElement) {\r\n $(\"
    \").addClass(this.addWidgetPrefix(BOTTOM_LOAD_PANEL_CLASS)).append(this._createComponent($(\"
    \"), LoadIndicator).$element()).appendTo($contentElement)\r\n }\r\n } else if (bottomLoadPanelElement) {\r\n bottomLoadPanelElement.remove()\r\n }\r\n },\r\n _handleScroll(e) {\r\n var legacyScrollingMode = true === this.option(LEGACY_SCROLLING_MODE);\r\n var zeroTopPosition = 0 === e.scrollOffset.top;\r\n var isScrollTopChanged = this._scrollTop !== e.scrollOffset.top;\r\n var hasScrolled = isScrollTopChanged || e.forceUpdateScrollPosition;\r\n var isValidScrollTarget = this._hasHeight || !legacyScrollingMode && zeroTopPosition;\r\n if (hasScrolled && isValidScrollTarget && this._rowHeight) {\r\n this._scrollTop = e.scrollOffset.top;\r\n var isVirtualRowRendering = isVirtualMode(this) || \"standard\" !== this.option(\"scrolling.rowRenderingMode\");\r\n if (isVirtualRowRendering && false === this.option(LEGACY_SCROLLING_MODE)) {\r\n this._updateContentItemSizes();\r\n this._updateViewportSize(null, this._scrollTop)\r\n }\r\n this._dataController.setViewportPosition(e.scrollOffset.top)\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _needUpdateRowHeight(itemsCount) {\r\n return this.callBase.apply(this, arguments) || itemsCount > 0 && isAppendMode(this) && !gridCoreUtils.isVirtualRowRendering(this)\r\n },\r\n _updateRowHeight() {\r\n this.callBase.apply(this, arguments);\r\n if (this._rowHeight) {\r\n this._updateContentPosition();\r\n var viewportHeight = this._hasHeight ? getOuterHeight(this.element()) : getOuterHeight(getWindow());\r\n var dataController = this._dataController;\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n this._updateViewportSize(viewportHeight);\r\n dataController.updateViewport()\r\n } else {\r\n dataController.viewportSize(Math.ceil(viewportHeight / this._rowHeight))\r\n }\r\n }\r\n },\r\n updateFreeSpaceRowHeight() {\r\n var result = this.callBase.apply(this, arguments);\r\n if (result) {\r\n this._updateContentPosition()\r\n }\r\n return result\r\n },\r\n setLoading(isLoading, messageText) {\r\n var dataController = this._dataController;\r\n var hasBottomLoadPanel = dataController.pageIndex() > 0 && dataController.isLoaded() && !!this._findBottomLoadPanel();\r\n if (false === this.option(LEGACY_SCROLLING_MODE) && isLoading && dataController.isViewportChanging()) {\r\n return\r\n }\r\n if (hasBottomLoadPanel) {\r\n isLoading = false\r\n }\r\n this.callBase.call(this, isLoading, messageText)\r\n },\r\n throwHeightWarningIfNeed() {\r\n if (void 0 === this._hasHeight) {\r\n return\r\n }\r\n var needToThrow = !this._hasHeight && isVirtualPaging(this);\r\n if (needToThrow && !this._heightWarningIsThrown) {\r\n this._heightWarningIsThrown = true;\r\n errors.log(\"W1025\")\r\n }\r\n },\r\n _resizeCore() {\r\n var that = this;\r\n var $element = that.element();\r\n that.callBase();\r\n this.throwHeightWarningIfNeed();\r\n if (that.component.$element() && !that._windowScroll && isElementInDom($element)) {\r\n that._windowScroll = subscribeToExternalScrollers($element, scrollPos => {\r\n if (!that._hasHeight && that._rowHeight) {\r\n that._dataController.setViewportPosition(scrollPos)\r\n }\r\n }, that.component.$element());\r\n that.on(\"disposing\", () => {\r\n that._windowScroll.dispose()\r\n })\r\n }\r\n if (false !== this.option(LEGACY_SCROLLING_MODE)) {\r\n that.loadIfNeed()\r\n }\r\n },\r\n loadIfNeed() {\r\n var _a;\r\n var dataController = this._dataController;\r\n null === (_a = null === dataController || void 0 === dataController ? void 0 : dataController.loadIfNeed) || void 0 === _a ? void 0 : _a.call(dataController)\r\n },\r\n _restoreErrorRow() {\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n var errorHandling = this.getController(\"errorHandling\");\r\n null === errorHandling || void 0 === errorHandling ? void 0 : errorHandling.removeErrorRow()\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n dispose() {\r\n clearTimeout(this._scrollTimeoutID);\r\n this.callBase()\r\n }\r\n }\r\n}();\r\nexport var virtualScrollingModule = {\r\n defaultOptions: () => ({\r\n scrolling: {\r\n timeout: 300,\r\n updateTimeout: 300,\r\n minTimeout: 0,\r\n renderingThreshold: 100,\r\n removeInvisiblePages: true,\r\n rowPageSize: 5,\r\n prerenderedRowChunkSize: 1,\r\n mode: \"standard\",\r\n preloadEnabled: false,\r\n rowRenderingMode: \"standard\",\r\n loadTwoPagesOnStart: false,\r\n legacyMode: false,\r\n prerenderedRowCount: 1\r\n }\r\n }),\r\n extenders: {\r\n dataSourceAdapter: VirtualScrollingDataSourceAdapterExtender,\r\n controllers: {\r\n data: function() {\r\n var members = {\r\n _refreshDataSource() {\r\n var baseResult = this.callBase.apply(this, arguments) || (new Deferred).resolve().promise();\r\n baseResult.done(this.initVirtualRows.bind(this));\r\n return baseResult\r\n },\r\n _loadDataSource() {\r\n var _a;\r\n if (this._rowsScrollController && isVirtualPaging(this)) {\r\n var {\r\n loadPageCount: loadPageCount\r\n } = isDefined(this._loadViewportParams) ? this.getLoadPageParams() : {\r\n loadPageCount: void 0\r\n };\r\n loadPageCount >= 1 && (null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.loadPageCount(loadPageCount))\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n getRowPageSize() {\r\n var rowPageSize = this.option(\"scrolling.rowPageSize\");\r\n var pageSize = this.pageSize();\r\n return pageSize && pageSize < rowPageSize ? pageSize : rowPageSize\r\n },\r\n reload() {\r\n var rowsScrollController = this._rowsScrollController || this._dataSource;\r\n var itemIndex = rowsScrollController && rowsScrollController.getItemIndexByPosition();\r\n var result = this.callBase.apply(this, arguments);\r\n return result && result.done(() => {\r\n var _a;\r\n if (isVirtualMode(this) || gridCoreUtils.isVirtualRowRendering(this)) {\r\n var rowIndexOffset = this.getRowIndexOffset();\r\n var rowIndex = Math.floor(itemIndex) - rowIndexOffset;\r\n var {\r\n component: component\r\n } = this;\r\n var scrollable = component.getScrollable && component.getScrollable();\r\n var isSortingOperation = this.dataSource().operationTypes().sorting;\r\n if (scrollable && !isSortingOperation && rowIndex >= 0) {\r\n var rowElement = component.getRowElement(rowIndex);\r\n var $rowElement = rowElement && rowElement[0] && $(rowElement[0]);\r\n var top = $rowElement && $rowElement.position().top;\r\n var isChromeLatest = browser.chrome && Number(null !== (_a = browser.version) && void 0 !== _a ? _a : 0) >= 91;\r\n var allowedTopOffset = browser.mozilla || isChromeLatest ? 1 : 0;\r\n if (top > allowedTopOffset) {\r\n top = Math.round(top + getOuterHeight($rowElement) * (itemIndex % 1));\r\n scrollable.scrollTo({\r\n y: top\r\n })\r\n }\r\n }\r\n }\r\n })\r\n },\r\n initVirtualRows() {\r\n var virtualRowsRendering = gridCoreUtils.isVirtualRowRendering(this);\r\n this._allItems = null;\r\n this._loadViewportParams = null;\r\n if (\"virtual\" !== this.option(\"scrolling.mode\") && !virtualRowsRendering || !virtualRowsRendering || false !== this.option(LEGACY_SCROLLING_MODE) && !this.option(\"scrolling.rowPageSize\")) {\r\n this._visibleItems = null;\r\n this._rowsScrollController = null;\r\n return\r\n }\r\n var pageIndex = !isVirtualMode(this) && this.pageIndex() >= this.pageCount() ? this.pageCount() - 1 : this.pageIndex();\r\n this._rowPageIndex = Math.ceil(pageIndex * this.pageSize() / this.getRowPageSize());\r\n this._visibleItems = false === this.option(LEGACY_SCROLLING_MODE) ? null : [];\r\n this._viewportChanging = false;\r\n this._needUpdateViewportAfterLoading = false;\r\n if (!this._rowsScrollController) {\r\n this._rowsScrollController = new VirtualScrollController(this.component, this._getRowsScrollDataOptions(), true);\r\n this._rowsScrollController.positionChanged.add(() => {\r\n var _a;\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n this._viewportChanging = true;\r\n this.loadViewport();\r\n this._viewportChanging = false;\r\n return\r\n }\r\n null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.setViewportItemIndex(this._rowsScrollController.getViewportItemIndex())\r\n })\r\n }\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n this._updateLoadViewportParams()\r\n }\r\n if (this.isLoaded() && false !== this.option(LEGACY_SCROLLING_MODE)) {\r\n this._rowsScrollController.load()\r\n }\r\n },\r\n isViewportChanging() {\r\n return this._viewportChanging\r\n },\r\n _getRowsScrollDataOptions() {\r\n var that = this;\r\n var isItemCountable = function(item) {\r\n return isItemCountableByDataSource(item, that._dataSource)\r\n };\r\n return {\r\n pageSize: () => that.getRowPageSize(),\r\n loadedOffset() {\r\n var _a;\r\n return isVirtualMode(that) && (null === (_a = that._dataSource) || void 0 === _a ? void 0 : _a.lastLoadOptions().skip) || 0\r\n },\r\n loadedItemCount: () => that._itemCount,\r\n totalItemsCount() {\r\n if (isVirtualPaging(that)) {\r\n return that.totalItemsCount()\r\n }\r\n return false === that.option(LEGACY_SCROLLING_MODE) ? that._itemCount : that._items.filter(isItemCountable).length\r\n },\r\n hasKnownLastPage: () => false === that.option(LEGACY_SCROLLING_MODE) ? that.hasKnownLastPage() : true,\r\n pageIndex(index) {\r\n if (void 0 !== index) {\r\n that._rowPageIndex = index\r\n }\r\n return that._rowPageIndex\r\n },\r\n isLoading: () => that.isLoading(),\r\n pageCount() {\r\n var pageCount = Math.ceil(this.totalItemsCount() / this.pageSize());\r\n return pageCount || 1\r\n },\r\n load() {\r\n if (that._rowsScrollController.pageIndex() >= this.pageCount()) {\r\n that._rowPageIndex = this.pageCount() - 1;\r\n that._rowsScrollController.pageIndex(that._rowPageIndex)\r\n }\r\n if (!this.items().length && this.totalItemsCount()) {\r\n return\r\n }\r\n that._rowsScrollController.handleDataChanged(change => {\r\n change = change || {};\r\n change.changeType = change.changeType || \"refresh\";\r\n change.items = change.items || that._visibleItems;\r\n that._visibleItems.forEach((item, index) => {\r\n item.rowIndex = index\r\n });\r\n that._fireChanged(change)\r\n })\r\n },\r\n updateLoading() {},\r\n itemsCount() {\r\n return this.items(true).length\r\n },\r\n correctCount: (items, count, fromEnd) => correctCount(items, count, fromEnd, (item, isNextAfterLast, fromEnd) => {\r\n if (item.isNewRow) {\r\n return isNextAfterLast && !fromEnd\r\n }\r\n if (isNextAfterLast && fromEnd) {\r\n return !item.isNewRow\r\n }\r\n return isItemCountable(item)\r\n }),\r\n items(countableOnly) {\r\n var result = that._items;\r\n if (that.option(LEGACY_SCROLLING_MODE)) {\r\n var dataSource = that.dataSource();\r\n var virtualItemsCount = null === dataSource || void 0 === dataSource ? void 0 : dataSource.virtualItemsCount();\r\n var begin = virtualItemsCount ? virtualItemsCount.begin : 0;\r\n var rowPageSize = that.getRowPageSize();\r\n var skip = that._rowPageIndex * rowPageSize - begin;\r\n var take = rowPageSize;\r\n if (skip < 0) {\r\n return []\r\n }\r\n if (skip) {\r\n skip = this.correctCount(result, skip);\r\n result = result.slice(skip)\r\n }\r\n if (take) {\r\n take = this.correctCount(result, take);\r\n result = result.slice(0, take)\r\n }\r\n }\r\n return countableOnly ? result.filter(isItemCountable) : result\r\n },\r\n viewportItems(items) {\r\n if (items && false !== that.option(LEGACY_SCROLLING_MODE)) {\r\n that._visibleItems = items\r\n }\r\n return that._visibleItems\r\n },\r\n onChanged() {},\r\n changingDuration() {\r\n var dataSource = that.dataSource();\r\n if ((null === dataSource || void 0 === dataSource ? void 0 : dataSource.isLoading()) && false !== that.option(LEGACY_SCROLLING_MODE)) {\r\n return LOAD_TIMEOUT\r\n }\r\n return (null === dataSource || void 0 === dataSource ? void 0 : dataSource._renderTime) || 0\r\n }\r\n }\r\n },\r\n _updateItemsCore(change) {\r\n var delta = this.getRowIndexDelta();\r\n this.callBase.apply(this, arguments);\r\n if (false === this.option(LEGACY_SCROLLING_MODE) && gridCoreUtils.isVirtualRowRendering(this)) {\r\n if (\"update\" === change.changeType && 0 === change.rowIndices.length && change.cancelEmptyChanges) {\r\n change.cancel = true\r\n }\r\n return\r\n }\r\n var rowsScrollController = this._rowsScrollController;\r\n if (rowsScrollController) {\r\n var visibleItems = this._visibleItems;\r\n var isRefresh = \"refresh\" === change.changeType || change.isLiveUpdate;\r\n if (\"append\" === change.changeType && change.items && !change.items.length) {\r\n return\r\n }\r\n if (isRefresh || \"append\" === change.changeType || \"prepend\" === change.changeType) {\r\n change.cancel = true;\r\n isRefresh && rowsScrollController.reset(true);\r\n rowsScrollController.load()\r\n } else {\r\n if (\"update\" === change.changeType) {\r\n change.rowIndices.forEach((rowIndex, index) => {\r\n var changeType = change.changeTypes[index];\r\n var newItem = change.items[index];\r\n if (\"update\" === changeType) {\r\n visibleItems[rowIndex] = newItem\r\n } else if (\"insert\" === changeType) {\r\n visibleItems.splice(rowIndex, 0, newItem)\r\n } else if (\"remove\" === changeType) {\r\n visibleItems.splice(rowIndex, 1)\r\n }\r\n })\r\n } else {\r\n visibleItems.forEach((item, index) => {\r\n visibleItems[index] = this._items[index + delta] || visibleItems[index]\r\n });\r\n change.items = visibleItems\r\n }\r\n updateItemIndices(visibleItems)\r\n }\r\n }\r\n },\r\n _updateLoadViewportParams() {\r\n var viewportParams = this._rowsScrollController.getViewportParams();\r\n var pageSize = this.pageSize();\r\n if (viewportParams && !isVirtualPaging(this) && pageSize > 0) {\r\n var pageOffset = this.pageIndex() * pageSize;\r\n viewportParams.skip += pageOffset\r\n }\r\n this._loadViewportParams = viewportParams\r\n },\r\n _processItems() {\r\n var _a;\r\n var resultItems = this.callBase.apply(this, arguments);\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n var dataSource = this._dataSource;\r\n var currentIndex = null !== (_a = null === dataSource || void 0 === dataSource ? void 0 : dataSource.lastLoadOptions().skip) && void 0 !== _a ? _a : 0;\r\n var prevCountable;\r\n var prevRowType;\r\n var isPrevRowNew;\r\n var wasCountableItem = false;\r\n var newRows = [];\r\n resultItems.forEach(item => {\r\n var {\r\n rowType: rowType\r\n } = item;\r\n var itemCountable = isItemCountableByDataSource(item, dataSource);\r\n var isNextGroupItem = \"group\" === rowType && (prevCountable || itemCountable || \"group\" !== prevRowType && currentIndex > 0);\r\n var isNextDataItem = \"data\" === rowType && itemCountable && (prevCountable || \"group\" !== prevRowType);\r\n if (!item.isNewRow && isDefined(prevCountable)) {\r\n var isPrevNewRowFirst = isPrevRowNew && !wasCountableItem;\r\n if ((isNextGroupItem || isNextDataItem) && !isPrevNewRowFirst) {\r\n currentIndex++\r\n }\r\n }\r\n if (isNextGroupItem || isNextDataItem) {\r\n wasCountableItem = true\r\n }\r\n if (item.isNewRow) {\r\n newRows.push(item)\r\n } else {\r\n newRows.forEach(it => {\r\n it.loadIndex = currentIndex\r\n });\r\n newRows = []\r\n }\r\n item.loadIndex = currentIndex;\r\n prevCountable = itemCountable;\r\n prevRowType = rowType;\r\n isPrevRowNew = item.isNewRow\r\n });\r\n newRows.forEach(it => {\r\n it.loadIndex = currentIndex\r\n })\r\n }\r\n return resultItems\r\n },\r\n _afterProcessItems(items) {\r\n this._itemCount = items.filter(item => isItemCountableByDataSource(item, this._dataSource)).length;\r\n if (isDefined(this._loadViewportParams)) {\r\n this._updateLoadViewportParams();\r\n var result = items;\r\n this._allItems = items;\r\n if (items.length) {\r\n var {\r\n skipForCurrentPage: skipForCurrentPage\r\n } = this.getLoadPageParams(true);\r\n var skip = items[0].loadIndex + skipForCurrentPage;\r\n var {\r\n take: take\r\n } = this._loadViewportParams;\r\n result = items.filter(it => {\r\n var isNewRowInEmptyData = it.isNewRow && it.loadIndex === skip && 0 === take;\r\n var isLoadIndexGreaterStart = it.loadIndex >= skip;\r\n var isLoadIndexLessEnd = it.loadIndex < skip + take || isNewRowInEmptyData;\r\n return isLoadIndexGreaterStart && isLoadIndexLessEnd\r\n })\r\n }\r\n return result\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _applyChange(change) {\r\n var that = this;\r\n var {\r\n items: items\r\n } = change;\r\n var {\r\n changeType: changeType\r\n } = change;\r\n var {\r\n removeCount: removeCount\r\n } = change;\r\n if (removeCount) {\r\n var fromEnd = \"prepend\" === changeType;\r\n removeCount = correctCount(that._items, removeCount, fromEnd, (item, isNextAfterLast) => \"data\" === item.rowType && !item.isNewRow || \"group\" === item.rowType && (that._dataSource.isGroupItemCountable(item.data) || isNextAfterLast));\r\n change.removeCount = removeCount\r\n }\r\n switch (changeType) {\r\n case \"prepend\":\r\n that._items.unshift.apply(that._items, items);\r\n if (removeCount) {\r\n that._items.splice(-removeCount)\r\n }\r\n break;\r\n case \"append\":\r\n that._items.push.apply(that._items, items);\r\n if (removeCount) {\r\n that._items.splice(0, removeCount)\r\n }\r\n break;\r\n default:\r\n that.callBase(change)\r\n }\r\n },\r\n items(allItems) {\r\n return allItems ? this._allItems || this._items : this._visibleItems || this._items\r\n },\r\n getRowIndexDelta() {\r\n var delta = 0;\r\n if (this.option(LEGACY_SCROLLING_MODE)) {\r\n var visibleItems = this._visibleItems;\r\n if (visibleItems && visibleItems[0]) {\r\n delta = this._items.indexOf(visibleItems[0])\r\n }\r\n }\r\n return delta < 0 ? 0 : delta\r\n },\r\n getRowIndexOffset(byLoadedRows, needGroupOffset) {\r\n var _a, _b;\r\n var offset = 0;\r\n var dataSource = this.dataSource();\r\n var rowsScrollController = this._rowsScrollController;\r\n var newMode = false === this.option(LEGACY_SCROLLING_MODE);\r\n var virtualPaging = isVirtualPaging(this);\r\n if (rowsScrollController && !byLoadedRows) {\r\n if (newMode && isDefined(this._loadViewportParams)) {\r\n var {\r\n skipForCurrentPage: skipForCurrentPage,\r\n pageIndex: pageIndex\r\n } = this.getLoadPageParams(true);\r\n var items = this.items(true);\r\n offset = virtualPaging ? pageIndex * this.pageSize() : 0;\r\n if (items.length) {\r\n var firstLoadIndex = items[0].loadIndex;\r\n offset += items.filter(item => item.loadIndex < firstLoadIndex + skipForCurrentPage).length\r\n }\r\n } else {\r\n offset = rowsScrollController.beginPageIndex() * rowsScrollController.pageSize()\r\n }\r\n } else if (virtualPaging && newMode && dataSource) {\r\n var lastLoadOptions = dataSource.lastLoadOptions();\r\n if (needGroupOffset && (null === (_a = lastLoadOptions.skips) || void 0 === _a ? void 0 : _a.length)) {\r\n offset = lastLoadOptions.skips.reduce((res, skip) => res + skip, 0)\r\n } else {\r\n offset = null !== (_b = lastLoadOptions.skip) && void 0 !== _b ? _b : 0\r\n }\r\n } else if (isVirtualMode(this) && dataSource) {\r\n offset = dataSource.beginPageIndex() * dataSource.pageSize()\r\n }\r\n return offset\r\n },\r\n getDataIndex() {\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n return this.getRowIndexOffset(true, true)\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n viewportSize() {\r\n var rowsScrollController = this._rowsScrollController;\r\n var dataSource = this._dataSource;\r\n var result = null === rowsScrollController || void 0 === rowsScrollController ? void 0 : rowsScrollController.viewportSize.apply(rowsScrollController, arguments);\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n return result\r\n }\r\n return null === dataSource || void 0 === dataSource ? void 0 : dataSource.viewportSize.apply(dataSource, arguments)\r\n },\r\n viewportHeight(height, scrollTop) {\r\n var _a;\r\n null === (_a = this._rowsScrollController) || void 0 === _a ? void 0 : _a.viewportHeight(height, scrollTop)\r\n },\r\n viewportItemSize() {\r\n var rowsScrollController = this._rowsScrollController;\r\n var dataSource = this._dataSource;\r\n var result = null === rowsScrollController || void 0 === rowsScrollController ? void 0 : rowsScrollController.viewportItemSize.apply(rowsScrollController, arguments);\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n return result\r\n }\r\n return null === dataSource || void 0 === dataSource ? void 0 : dataSource.viewportItemSize.apply(dataSource, arguments)\r\n },\r\n setViewportPosition() {\r\n var rowsScrollController = this._rowsScrollController;\r\n var dataSource = this._dataSource;\r\n this._isPaging = false;\r\n if (rowsScrollController) {\r\n rowsScrollController.setViewportPosition.apply(rowsScrollController, arguments)\r\n } else {\r\n null === dataSource || void 0 === dataSource ? void 0 : dataSource.setViewportPosition.apply(dataSource, arguments)\r\n }\r\n },\r\n setContentItemSizes(sizes) {\r\n var rowsScrollController = this._rowsScrollController;\r\n var dataSource = this._dataSource;\r\n var result = null === rowsScrollController || void 0 === rowsScrollController ? void 0 : rowsScrollController.setContentItemSizes(sizes);\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n return result\r\n }\r\n return null === dataSource || void 0 === dataSource ? void 0 : dataSource.setContentItemSizes(sizes)\r\n },\r\n getPreloadedRowCount() {\r\n var preloadCount = this.option(\"scrolling.preloadedRowCount\");\r\n var preloadEnabled = this.option(\"scrolling.preloadEnabled\");\r\n if (isDefined(preloadCount)) {\r\n return preloadCount\r\n }\r\n var viewportSize = this.viewportSize();\r\n return preloadEnabled ? 2 * viewportSize : viewportSize\r\n },\r\n getLoadPageParams(byLoadedPage) {\r\n var _a, _b;\r\n var pageSize = this.pageSize();\r\n var viewportParams = this._loadViewportParams;\r\n var lastLoadOptions = null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.lastLoadOptions();\r\n var loadedPageIndex = (null === lastLoadOptions || void 0 === lastLoadOptions ? void 0 : lastLoadOptions.pageIndex) || 0;\r\n var loadedTake = (null === lastLoadOptions || void 0 === lastLoadOptions ? void 0 : lastLoadOptions.take) || 0;\r\n var isScrollingBack = this._rowsScrollController.isScrollingBack();\r\n var topPreloadCount = isScrollingBack ? this.getPreloadedRowCount() : 0;\r\n var bottomPreloadCount = isScrollingBack ? 0 : this.getPreloadedRowCount();\r\n var totalCountCorrection = (null === (_b = this._dataSource) || void 0 === _b ? void 0 : _b.totalCountCorrection()) || 0;\r\n var skipWithPreload = Math.max(0, viewportParams.skip - topPreloadCount);\r\n var pageIndex = byLoadedPage ? loadedPageIndex : Math.floor(pageSize ? skipWithPreload / pageSize : 0);\r\n var pageOffset = pageIndex * pageSize;\r\n var skipForCurrentPage = viewportParams.skip - pageOffset;\r\n var loadingTake = viewportParams.take + skipForCurrentPage + bottomPreloadCount - totalCountCorrection;\r\n var take = byLoadedPage ? loadedTake : loadingTake;\r\n var loadPageCount = Math.ceil(pageSize ? take / pageSize : 0);\r\n return {\r\n pageIndex: pageIndex,\r\n loadPageCount: Math.max(1, loadPageCount),\r\n skipForCurrentPage: Math.max(0, skipForCurrentPage)\r\n }\r\n },\r\n _updateVisiblePageIndex(currentPageIndex) {\r\n if (!this._rowsScrollController) {\r\n return\r\n }\r\n if (isDefined(currentPageIndex)) {\r\n this._silentOption(VISIBLE_PAGE_INDEX, currentPageIndex);\r\n this.pageChanged.fire();\r\n return\r\n }\r\n var viewPortItemIndex = this._rowsScrollController.getViewportItemIndex();\r\n var newPageIndex = Math.floor(viewPortItemIndex / this.pageSize());\r\n if (this.pageIndex() !== newPageIndex) {\r\n this._silentOption(VISIBLE_PAGE_INDEX, newPageIndex);\r\n this.updateItems({\r\n changeType: \"pageIndex\"\r\n })\r\n }\r\n },\r\n _getChangedLoadParams() {\r\n var loadedPageParams = this.getLoadPageParams(true);\r\n var {\r\n pageIndex: pageIndex,\r\n loadPageCount: loadPageCount\r\n } = this.getLoadPageParams();\r\n var pageIndexIsValid = this._pageIndexIsValid(pageIndex);\r\n var result = null;\r\n if (!this._isLoading && pageIndexIsValid && (pageIndex !== loadedPageParams.pageIndex || loadPageCount !== loadedPageParams.loadPageCount)) {\r\n result = {\r\n pageIndex: pageIndex,\r\n loadPageCount: loadPageCount\r\n }\r\n }\r\n return result\r\n },\r\n _pageIndexIsValid(pageIndex) {\r\n var result = true;\r\n if (isAppendMode(this) && this.hasKnownLastPage() || isVirtualMode(this)) {\r\n result = pageIndex * this.pageSize() < this.totalItemsCount()\r\n }\r\n return result\r\n },\r\n _loadItems(checkLoading, viewportIsFilled) {\r\n var _a, _b;\r\n var virtualPaging = isVirtualPaging(this);\r\n var dataSourceAdapter = this._dataSource;\r\n var changedParams = this._getChangedLoadParams();\r\n var currentLoadPageCount = null !== (_a = null === dataSourceAdapter || void 0 === dataSourceAdapter ? void 0 : dataSourceAdapter.loadPageCount()) && void 0 !== _a ? _a : 0;\r\n var lastRequiredItemCount = this.pageSize() * currentLoadPageCount;\r\n var currentPageIndex = null !== (_b = null === dataSourceAdapter || void 0 === dataSourceAdapter ? void 0 : dataSourceAdapter.pageIndex()) && void 0 !== _b ? _b : 0;\r\n var pageIndexNotChanged = (null === changedParams || void 0 === changedParams ? void 0 : changedParams.pageIndex) === currentPageIndex;\r\n var allLoadedInAppendMode = isAppendMode(this) && this.totalItemsCount() < lastRequiredItemCount;\r\n var isRepaintMode = \"repaint\" === this.option(\"editing.refreshMode\");\r\n var pageIndexIncreased = (null === changedParams || void 0 === changedParams ? void 0 : changedParams.pageIndex) > currentPageIndex;\r\n var result = false;\r\n if (!dataSourceAdapter || virtualPaging && checkLoading && (isRepaintMode && viewportIsFilled || pageIndexIncreased || pageIndexNotChanged && allLoadedInAppendMode)) {\r\n return result\r\n }\r\n if (virtualPaging && this._isLoading) {\r\n this._needUpdateViewportAfterLoading = true\r\n }\r\n if (virtualPaging && changedParams) {\r\n result = true;\r\n dataSourceAdapter.pageIndex(changedParams.pageIndex);\r\n dataSourceAdapter.loadPageCount(changedParams.loadPageCount);\r\n this._repaintChangesOnly = true;\r\n this._needUpdateDimensions = true;\r\n var viewportChanging = this._viewportChanging;\r\n this.load().always(() => {\r\n this._repaintChangesOnly = void 0;\r\n this._needUpdateDimensions = void 0\r\n }).done(() => {\r\n var isLastPage = this.pageCount() > 0 && this.pageIndex() === this.pageCount() - 1;\r\n (viewportChanging || isLastPage) && this._updateVisiblePageIndex();\r\n if (this._needUpdateViewportAfterLoading) {\r\n this._needUpdateViewportAfterLoading = false;\r\n this.loadViewport({\r\n checkLoadedParamsOnly: true\r\n })\r\n }\r\n })\r\n }\r\n return result\r\n },\r\n loadViewport(params) {\r\n var _a, _b, _c;\r\n var {\r\n checkLoadedParamsOnly: checkLoadedParamsOnly,\r\n checkLoading: checkLoading,\r\n viewportIsNotFilled: viewportIsNotFilled\r\n } = null !== params && void 0 !== params ? params : {};\r\n var virtualPaging = isVirtualPaging(this);\r\n if (virtualPaging || gridCoreUtils.isVirtualRowRendering(this)) {\r\n this._updateLoadViewportParams();\r\n var loadingItemsStarted = this._loadItems(checkLoading, !viewportIsNotFilled);\r\n var isCustomLoading = null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.isCustomLoading();\r\n var isLoading = checkLoading && !isCustomLoading && this._isLoading;\r\n var needToUpdateItems = !(loadingItemsStarted || isLoading || checkLoadedParamsOnly);\r\n if (needToUpdateItems) {\r\n var noPendingChangesInEditing = !(null === (_c = null === (_b = this.getController(\"editing\")) || void 0 === _b ? void 0 : _b.getChanges()) || void 0 === _c ? void 0 : _c.length);\r\n this.updateItems({\r\n repaintChangesOnly: true,\r\n needUpdateDimensions: true,\r\n useProcessedItemsCache: noPendingChangesInEditing,\r\n cancelEmptyChanges: true\r\n })\r\n }\r\n }\r\n },\r\n updateViewport() {\r\n var _a, _b;\r\n var viewportSize = this.viewportSize();\r\n var itemCount = this.items().length;\r\n var viewportIsNotFilled = viewportSize > itemCount;\r\n var currentTake = null !== (_b = null === (_a = this._loadViewportParams) || void 0 === _a ? void 0 : _a.take) && void 0 !== _b ? _b : 0;\r\n var rowsScrollController = this._rowsScrollController;\r\n var newTake = null === rowsScrollController || void 0 === rowsScrollController ? void 0 : rowsScrollController.getViewportParams().take;\r\n (viewportIsNotFilled || currentTake < newTake) && !this._isPaging && itemCount && this.loadViewport({\r\n checkLoading: true,\r\n viewportIsNotFilled: viewportIsNotFilled\r\n })\r\n },\r\n loadIfNeed() {\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n return\r\n }\r\n var rowsScrollController = this._rowsScrollController;\r\n rowsScrollController && rowsScrollController.loadIfNeed();\r\n var dataSource = this._dataSource;\r\n return dataSource && dataSource.loadIfNeed()\r\n },\r\n getItemSize() {\r\n var rowsScrollController = this._rowsScrollController;\r\n if (rowsScrollController) {\r\n return rowsScrollController.getItemSize.apply(rowsScrollController, arguments)\r\n }\r\n var dataSource = this._dataSource;\r\n return dataSource && dataSource.getItemSize.apply(dataSource, arguments)\r\n },\r\n getItemSizes() {\r\n var rowsScrollController = this._rowsScrollController;\r\n if (rowsScrollController) {\r\n return rowsScrollController.getItemSizes.apply(rowsScrollController, arguments)\r\n }\r\n var dataSource = this._dataSource;\r\n return dataSource && dataSource.getItemSizes.apply(dataSource, arguments)\r\n },\r\n getContentOffset() {\r\n var rowsScrollController = this._rowsScrollController;\r\n if (rowsScrollController) {\r\n return rowsScrollController.getContentOffset.apply(rowsScrollController, arguments)\r\n }\r\n var dataSource = this._dataSource;\r\n return dataSource && dataSource.getContentOffset.apply(dataSource, arguments)\r\n },\r\n refresh(options) {\r\n var dataSource = this._dataSource;\r\n if (dataSource && options && options.load && isAppendMode(this)) {\r\n dataSource.resetCurrentTotalCount()\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n dispose() {\r\n var rowsScrollController = this._rowsScrollController;\r\n rowsScrollController && rowsScrollController.dispose();\r\n this.callBase.apply(this, arguments)\r\n },\r\n topItemIndex() {\r\n var _a;\r\n return null === (_a = this._loadViewportParams) || void 0 === _a ? void 0 : _a.skip\r\n },\r\n bottomItemIndex() {\r\n var viewportParams = this._loadViewportParams;\r\n return viewportParams && viewportParams.skip + viewportParams.take\r\n },\r\n virtualItemsCount() {\r\n var rowsScrollController = this._rowsScrollController;\r\n if (rowsScrollController) {\r\n return rowsScrollController.virtualItemsCount.apply(rowsScrollController, arguments)\r\n }\r\n var dataSource = this._dataSource;\r\n return null === dataSource || void 0 === dataSource ? void 0 : dataSource.virtualItemsCount.apply(dataSource, arguments)\r\n },\r\n pageIndex(pageIndex) {\r\n var _a;\r\n var virtualPaging = isVirtualPaging(this);\r\n var rowsScrollController = this._rowsScrollController;\r\n if (false === this.option(LEGACY_SCROLLING_MODE) && virtualPaging && rowsScrollController) {\r\n if (void 0 === pageIndex) {\r\n return null !== (_a = this.option(VISIBLE_PAGE_INDEX)) && void 0 !== _a ? _a : 0\r\n }\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _fireChanged(e) {\r\n this.callBase.apply(this, arguments);\r\n var {\r\n operationTypes: operationTypes\r\n } = e;\r\n if (false === this.option(LEGACY_SCROLLING_MODE) && isVirtualPaging(this) && operationTypes) {\r\n var {\r\n fullReload: fullReload,\r\n pageIndex: pageIndex\r\n } = operationTypes;\r\n if (e.isDataChanged && !fullReload && pageIndex) {\r\n this._updateVisiblePageIndex(this._dataSource.pageIndex())\r\n }\r\n }\r\n },\r\n _getPagingOptionValue(optionName) {\r\n var result = this.callBase.apply(this, arguments);\r\n if (false === this.option(LEGACY_SCROLLING_MODE) && isVirtualPaging(this)) {\r\n result = this[optionName]()\r\n }\r\n return result\r\n },\r\n isEmpty() {\r\n return false === this.option(LEGACY_SCROLLING_MODE) ? !this.items(true).length : this.callBase(this, arguments)\r\n },\r\n isLastPageLoaded() {\r\n var result = false;\r\n if (false === this.option(LEGACY_SCROLLING_MODE) && isVirtualPaging(this)) {\r\n var {\r\n pageIndex: pageIndex,\r\n loadPageCount: loadPageCount\r\n } = this.getLoadPageParams(true);\r\n var pageCount = this.pageCount();\r\n result = pageIndex + loadPageCount >= pageCount\r\n } else {\r\n result = this.callBase.apply(this, arguments)\r\n }\r\n return result\r\n },\r\n reset() {\r\n this._itemCount = 0;\r\n this._allItems = null;\r\n this.callBase.apply(this, arguments)\r\n },\r\n _applyFilter() {\r\n var _a;\r\n null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.loadPageCount(1);\r\n return this.callBase.apply(this, arguments)\r\n }\r\n };\r\n gridCoreUtils.proxyMethod(members, \"getVirtualContentSize\");\r\n gridCoreUtils.proxyMethod(members, \"setViewportItemIndex\");\r\n return members\r\n }(),\r\n resizing: {\r\n _updateMasterDataGridCore(masterDataGrid) {\r\n return when(this.callBase.apply(this, arguments)).done(masterDataGridUpdated => {\r\n var isNewVirtualMode = isVirtualMode(masterDataGrid) && false === masterDataGrid.option(LEGACY_SCROLLING_MODE);\r\n if (!masterDataGridUpdated && isNewVirtualMode) {\r\n var scrollable = masterDataGrid.getScrollable();\r\n if (scrollable) {\r\n masterDataGrid.updateDimensions()\r\n }\r\n }\r\n })\r\n },\r\n hasResizeTimeout() {\r\n return !!this._resizeTimeout\r\n },\r\n resize() {\r\n var {\r\n callBase: callBase\r\n } = this;\r\n var result;\r\n if (isVirtualMode(this) || gridCoreUtils.isVirtualRowRendering(this)) {\r\n clearTimeout(this._resizeTimeout);\r\n this._resizeTimeout = null;\r\n var diff = new Date - this._lastTime;\r\n var updateTimeout = this.option(\"scrolling.updateTimeout\");\r\n if (this._lastTime && diff < updateTimeout) {\r\n result = new Deferred;\r\n this._resizeTimeout = setTimeout(() => {\r\n this._resizeTimeout = null;\r\n callBase.apply(this).done(result.resolve).fail(result.reject);\r\n this._lastTime = new Date\r\n }, updateTimeout);\r\n this._lastTime = new Date\r\n } else {\r\n result = callBase.apply(this);\r\n if (this._dataController.isLoaded()) {\r\n this._lastTime = new Date\r\n }\r\n }\r\n } else {\r\n result = callBase.apply(this)\r\n }\r\n return result\r\n },\r\n dispose() {\r\n this.callBase.apply(this, arguments);\r\n clearTimeout(this._resizeTimeout)\r\n }\r\n }\r\n },\r\n views: {\r\n rowsView: VirtualScrollingRowsViewExtender\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/virtual_data_loader/m_virtual_data_loader.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n isObject,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nvar LEGACY_SCROLLING_MODE = \"scrolling.legacyMode\";\r\nvar needTwoPagesLoading = that => that.option(\"scrolling.loadTwoPagesOnStart\") || that._controller.isVirtual() || that._controller.getViewportItemIndex() > 0;\r\nvar getBeginPageIndex = that => that._cache.length ? that._cache[0].pageIndex : -1;\r\nvar getEndPageIndex = that => that._cache.length ? that._cache[that._cache.length - 1].pageIndex : -1;\r\nvar fireChanged = (that, changed, args) => {\r\n that._isChangedFiring = true;\r\n changed(args);\r\n that._isChangedFiring = false\r\n};\r\nvar processDelayChanged = (that, changed, args) => {\r\n if (that._isDelayChanged) {\r\n that._isDelayChanged = false;\r\n fireChanged(that, changed, args);\r\n return true\r\n }\r\n};\r\nvar getViewportPageCount = that => {\r\n var pageSize = that._dataOptions.pageSize();\r\n var preventPreload = that.option(\"scrolling.preventPreload\");\r\n if (preventPreload) {\r\n return 0\r\n }\r\n var realViewportSize = that._controller.viewportSize();\r\n if (that._controller.isVirtualMode() && that.option(\"scrolling.removeInvisiblePages\")) {\r\n realViewportSize = 0;\r\n var viewportSize = that._controller.viewportSize() * that._controller.viewportItemSize();\r\n var offset = that._controller.getContentOffset();\r\n var position = that._controller.getViewportPosition();\r\n var virtualItemsCount = that._controller.virtualItemsCount();\r\n var totalItemsCount = that._dataOptions.totalItemsCount();\r\n for (var itemIndex = virtualItemsCount.begin; itemIndex < totalItemsCount; itemIndex++) {\r\n if (offset >= position + viewportSize) {\r\n break\r\n }\r\n var itemSize = that._controller.getItemSizes()[itemIndex] || that._controller.viewportItemSize();\r\n offset += itemSize;\r\n if (offset >= position) {\r\n realViewportSize++\r\n }\r\n }\r\n }\r\n return pageSize && realViewportSize > 0 ? Math.ceil(realViewportSize / pageSize) : 1\r\n};\r\nvar getPreloadPageCount = (that, previous) => {\r\n var preloadEnabled = that.option(\"scrolling.preloadEnabled\");\r\n var pageCount = getViewportPageCount(that);\r\n var isAppendMode = that._controller.isAppendMode();\r\n if (pageCount) {\r\n if (previous) {\r\n pageCount = preloadEnabled ? 1 : 0\r\n } else {\r\n if (preloadEnabled) {\r\n pageCount++\r\n }\r\n if (isAppendMode || !needTwoPagesLoading(that)) {\r\n pageCount--\r\n }\r\n }\r\n }\r\n return pageCount\r\n};\r\nvar getPageIndexForLoad = that => {\r\n var result = -1;\r\n var beginPageIndex = getBeginPageIndex(that);\r\n var dataOptions = that._dataOptions;\r\n if (beginPageIndex < 0) {\r\n result = that._pageIndex\r\n } else if (!that._cache[that._pageIndex - beginPageIndex]) {\r\n result = that._pageIndex\r\n } else if (beginPageIndex >= 0 && that._controller.viewportSize() >= 0) {\r\n if (beginPageIndex > 0) {\r\n var needToLoadPageBeforeLast = getEndPageIndex(that) + 1 === dataOptions.pageCount() && that._cache.length < getPreloadPageCount(that) + 1;\r\n var needToLoadPrevPage = needToLoadPageBeforeLast || that._pageIndex === beginPageIndex && getPreloadPageCount(that, true);\r\n if (needToLoadPrevPage) {\r\n result = beginPageIndex - 1\r\n }\r\n }\r\n if (result < 0) {\r\n var needToLoadNextPage = beginPageIndex + that._cache.length <= that._pageIndex + getPreloadPageCount(that);\r\n if (needToLoadNextPage) {\r\n result = beginPageIndex + that._cache.length\r\n }\r\n }\r\n }\r\n if (that._loadingPageIndexes[result]) {\r\n result = -1\r\n }\r\n return result\r\n};\r\nvar loadCore = (that, pageIndex) => {\r\n var dataOptions = that._dataOptions;\r\n if (pageIndex === that.pageIndex() || !dataOptions.isLoading() && pageIndex < dataOptions.pageCount() || !dataOptions.hasKnownLastPage() && pageIndex === dataOptions.pageCount()) {\r\n dataOptions.pageIndex(pageIndex);\r\n that._loadingPageIndexes[pageIndex] = true;\r\n return when(dataOptions.load()).always(() => {\r\n that._loadingPageIndexes[pageIndex] = false\r\n })\r\n }\r\n};\r\nvar processChanged = (that, changed, changeType, isDelayChanged, removeCacheItem) => {\r\n var dataOptions = that._dataOptions;\r\n var items = dataOptions.items().slice();\r\n var change = isObject(changeType) ? changeType : void 0;\r\n var isPrepend = \"prepend\" === changeType;\r\n var viewportItems = dataOptions.viewportItems();\r\n if (changeType && isString(changeType) && !that._isDelayChanged) {\r\n change = {\r\n changeType: changeType,\r\n items: items\r\n };\r\n if (removeCacheItem) {\r\n change.removeCount = removeCacheItem.itemsCount;\r\n if (change.removeCount && dataOptions.correctCount) {\r\n change.removeCount = dataOptions.correctCount(viewportItems, change.removeCount, isPrepend)\r\n }\r\n }\r\n }\r\n var removeItemCount = removeCacheItem ? removeCacheItem.itemsLength : 0;\r\n if (removeItemCount && dataOptions.correctCount) {\r\n removeItemCount = dataOptions.correctCount(viewportItems, removeItemCount, isPrepend)\r\n }\r\n if (\"append\" === changeType) {\r\n viewportItems.push.apply(viewportItems, items);\r\n if (removeCacheItem) {\r\n viewportItems.splice(0, removeItemCount)\r\n }\r\n } else if (isPrepend) {\r\n viewportItems.unshift.apply(viewportItems, items);\r\n if (removeCacheItem) {\r\n viewportItems.splice(-removeItemCount)\r\n }\r\n } else {\r\n that._dataOptions.viewportItems(items)\r\n }\r\n dataOptions.updateLoading();\r\n that._lastPageIndex = that.pageIndex();\r\n that._isDelayChanged = isDelayChanged;\r\n if (!isDelayChanged) {\r\n fireChanged(that, changed, change)\r\n }\r\n};\r\nexport class VirtualDataLoader {\r\n constructor(controller, dataOptions) {\r\n this._controller = controller;\r\n this._dataOptions = dataOptions;\r\n this._pageIndex = this._lastPageIndex = dataOptions.pageIndex();\r\n this._cache = [];\r\n this._loadingPageIndexes = {}\r\n }\r\n option() {\r\n return this._controller.option.apply(this._controller, arguments)\r\n }\r\n viewportItemIndexChanged(itemIndex) {\r\n var pageSize = this._dataOptions.pageSize();\r\n var pageCount = this._dataOptions.pageCount();\r\n var virtualMode = this._controller.isVirtualMode();\r\n var appendMode = this._controller.isAppendMode();\r\n var totalItemsCount = this._dataOptions.totalItemsCount();\r\n var newPageIndex;\r\n if (pageSize && (virtualMode || appendMode) && totalItemsCount >= 0) {\r\n var viewportSize = this._controller.viewportSize();\r\n if (viewportSize && itemIndex + viewportSize >= totalItemsCount && !this._controller.isVirtual()) {\r\n if (this._dataOptions.hasKnownLastPage()) {\r\n newPageIndex = pageCount - 1;\r\n var lastPageSize = totalItemsCount % pageSize;\r\n if (newPageIndex > 0 && lastPageSize > 0 && lastPageSize < viewportSize) {\r\n newPageIndex--\r\n }\r\n } else {\r\n newPageIndex = pageCount\r\n }\r\n } else {\r\n newPageIndex = Math.floor(itemIndex / pageSize);\r\n var maxPageIndex = pageCount - 1;\r\n newPageIndex = Math.max(newPageIndex, 0);\r\n newPageIndex = Math.min(newPageIndex, maxPageIndex)\r\n }\r\n this.pageIndex(newPageIndex);\r\n return this.load()\r\n }\r\n }\r\n pageIndex(pageIndex) {\r\n var isVirtualMode = this._controller.isVirtualMode();\r\n var isAppendMode = this._controller.isAppendMode();\r\n if (false !== this.option(LEGACY_SCROLLING_MODE) && (isVirtualMode || isAppendMode)) {\r\n if (void 0 !== pageIndex) {\r\n this._pageIndex = pageIndex\r\n }\r\n return this._pageIndex\r\n }\r\n return this._dataOptions.pageIndex(pageIndex)\r\n }\r\n beginPageIndex(defaultPageIndex) {\r\n var beginPageIndex = getBeginPageIndex(this);\r\n if (beginPageIndex < 0) {\r\n beginPageIndex = void 0 !== defaultPageIndex ? defaultPageIndex : this.pageIndex()\r\n }\r\n return beginPageIndex\r\n }\r\n endPageIndex() {\r\n var endPageIndex = getEndPageIndex(this);\r\n return endPageIndex > 0 ? endPageIndex : this._lastPageIndex\r\n }\r\n pageSize() {\r\n return this._dataOptions.pageSize()\r\n }\r\n load() {\r\n var dataOptions = this._dataOptions;\r\n var result;\r\n var isVirtualMode = this._controller.isVirtualMode();\r\n var isAppendMode = this._controller.isAppendMode();\r\n if (false !== this.option(LEGACY_SCROLLING_MODE) && (isVirtualMode || isAppendMode)) {\r\n var pageIndexForLoad = getPageIndexForLoad(this);\r\n if (pageIndexForLoad >= 0) {\r\n var loadResult = loadCore(this, pageIndexForLoad);\r\n if (loadResult) {\r\n result = new Deferred;\r\n loadResult.done(() => {\r\n var delayDeferred = this._delayDeferred;\r\n if (delayDeferred) {\r\n delayDeferred.done(result.resolve).fail(result.reject)\r\n } else {\r\n result.resolve()\r\n }\r\n }).fail(result.reject);\r\n dataOptions.updateLoading()\r\n }\r\n }\r\n } else {\r\n result = dataOptions.load()\r\n }\r\n if (!result && this._lastPageIndex !== this.pageIndex()) {\r\n this._dataOptions.onChanged({\r\n changeType: \"pageIndex\"\r\n })\r\n }\r\n return result || (new Deferred).resolve()\r\n }\r\n loadIfNeed() {\r\n var isVirtualMode = this._controller.isVirtualMode();\r\n var isAppendMode = this._controller.isAppendMode();\r\n if ((isVirtualMode || isAppendMode) && !this._dataOptions.isLoading() && (!this._isChangedFiring || this._controller.isVirtual())) {\r\n var position = this._controller.getViewportPosition();\r\n if (position > 0) {\r\n this._controller._setViewportPositionCore(position)\r\n } else {\r\n this.load()\r\n }\r\n }\r\n }\r\n handleDataChanged(callBase, e) {\r\n var dataOptions = this._dataOptions;\r\n var lastCacheLength = this._cache.length;\r\n var changeType;\r\n var removeInvisiblePages;\r\n var isVirtualMode = this._controller.isVirtualMode();\r\n var isAppendMode = this._controller.isAppendMode();\r\n if (e && e.changes) {\r\n fireChanged(this, callBase, e)\r\n } else if (false !== this.option(LEGACY_SCROLLING_MODE) && (isVirtualMode || isAppendMode)) {\r\n var beginPageIndex = getBeginPageIndex(this);\r\n if (beginPageIndex >= 0) {\r\n if (isVirtualMode && beginPageIndex + this._cache.length !== dataOptions.pageIndex() && beginPageIndex - 1 !== dataOptions.pageIndex()) {\r\n lastCacheLength = 0;\r\n this._cache = []\r\n }\r\n if (isAppendMode) {\r\n if (0 === dataOptions.pageIndex()) {\r\n this._cache = []\r\n } else if (dataOptions.pageIndex() < getEndPageIndex(this)) {\r\n fireChanged(this, callBase, {\r\n changeType: \"append\",\r\n items: []\r\n });\r\n return\r\n }\r\n }\r\n }\r\n var cacheItem = {\r\n pageIndex: dataOptions.pageIndex(),\r\n itemsLength: dataOptions.items(true).length,\r\n itemsCount: this.itemsCount(true)\r\n };\r\n if (this.option(\"scrolling.removeInvisiblePages\") && isVirtualMode) {\r\n removeInvisiblePages = this._cache.length > Math.max(getPreloadPageCount(this) + (this.option(\"scrolling.preloadEnabled\") ? 1 : 0), 2)\r\n } else {\r\n processDelayChanged(this, callBase, {\r\n isDelayed: true\r\n })\r\n }\r\n var removeCacheItem;\r\n if (beginPageIndex === dataOptions.pageIndex() + 1) {\r\n if (removeInvisiblePages) {\r\n removeCacheItem = this._cache.pop()\r\n }\r\n changeType = \"prepend\";\r\n this._cache.unshift(cacheItem)\r\n } else {\r\n if (removeInvisiblePages) {\r\n removeCacheItem = this._cache.shift()\r\n }\r\n changeType = \"append\";\r\n this._cache.push(cacheItem)\r\n }\r\n var isDelayChanged = isVirtualMode && 0 === lastCacheLength && needTwoPagesLoading(this);\r\n processChanged(this, callBase, this._cache.length > 1 ? changeType : void 0, isDelayChanged, removeCacheItem);\r\n this._delayDeferred = this.load().done(() => {\r\n if (processDelayChanged(this, callBase)) {\r\n this.load()\r\n }\r\n })\r\n } else {\r\n processChanged(this, callBase, e)\r\n }\r\n }\r\n getDelayDeferred() {\r\n return this._delayDeferred\r\n }\r\n itemsCount(isBase) {\r\n var itemsCount = 0;\r\n var isVirtualMode = this._controller.isVirtualMode();\r\n if (!isBase && isVirtualMode) {\r\n this._cache.forEach(cacheItem => {\r\n itemsCount += cacheItem.itemsCount\r\n })\r\n } else {\r\n itemsCount = this._dataOptions.itemsCount()\r\n }\r\n return itemsCount\r\n }\r\n virtualItemsCount() {\r\n var pageIndex = getBeginPageIndex(this);\r\n if (pageIndex < 0) {\r\n pageIndex = this._dataOptions.pageIndex()\r\n }\r\n var beginItemsCount = pageIndex * this._dataOptions.pageSize();\r\n var itemsCount = this._cache.length * this._dataOptions.pageSize();\r\n var endItemsCount = Math.max(0, this._dataOptions.totalItemsCount() - itemsCount - beginItemsCount);\r\n return {\r\n begin: beginItemsCount,\r\n end: endItemsCount\r\n }\r\n }\r\n reset() {\r\n this._loadingPageIndexes = {};\r\n this._cache = []\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/virtual_scrolling/m_virtual_scrolling_core.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport positionUtils from \"../../../../animation/position\";\r\nimport Class from \"../../../../core/class\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport browser from \"../../../../core/utils/browser\";\r\nimport Callbacks from \"../../../../core/utils/callbacks\";\r\nimport {\r\n Deferred\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n getWindow\r\n} from \"../../../../core/utils/window\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n VirtualDataLoader\r\n} from \"../virtual_data_loader/m_virtual_data_loader\";\r\nvar SCROLLING_MODE_INFINITE = \"infinite\";\r\nvar SCROLLING_MODE_VIRTUAL = \"virtual\";\r\nvar LEGACY_SCROLLING_MODE = \"scrolling.legacyMode\";\r\nvar isVirtualMode = that => that.option(\"scrolling.mode\") === SCROLLING_MODE_VIRTUAL || that._isVirtual;\r\nvar isAppendMode = that => that.option(\"scrolling.mode\") === SCROLLING_MODE_INFINITE && !that._isVirtual;\r\n\r\nfunction subscribeToExternalScrollers($element, scrollChangedHandler, $targetElement) {\r\n var $scrollElement;\r\n var scrollableArray = [];\r\n var scrollToArray = [];\r\n var disposeArray = [];\r\n $targetElement = $targetElement || $element;\r\n\r\n function getElementOffset(scrollable) {\r\n var $scrollableElement = scrollable.element ? scrollable.$element() : scrollable;\r\n var scrollableOffset = positionUtils.offset($scrollableElement);\r\n if (!scrollableOffset) {\r\n return $element.offset().top\r\n }\r\n return scrollable.scrollTop() - (scrollableOffset.top - $element.offset().top)\r\n }\r\n var widgetScrollStrategy = {\r\n on(scrollable, eventName, handler) {\r\n scrollable.on(\"scroll\", handler)\r\n },\r\n off(scrollable, eventName, handler) {\r\n scrollable.off(\"scroll\", handler)\r\n }\r\n };\r\n\r\n function subscribeToScrollEvents($scrollElement) {\r\n var isDocument = \"#document\" === $scrollElement.get(0).nodeName;\r\n var isElement = $scrollElement.get(0).nodeType === getWindow().Node.ELEMENT_NODE;\r\n var scrollable = $scrollElement.data(\"dxScrollable\");\r\n var eventsStrategy = widgetScrollStrategy;\r\n if (!scrollable) {\r\n scrollable = isDocument && $(getWindow()) || isElement && \"auto\" === $scrollElement.css(\"overflowY\") && $scrollElement;\r\n eventsStrategy = eventsEngine;\r\n if (!scrollable) {\r\n return\r\n }\r\n }\r\n var handler = function(scrollable) {\r\n return function() {\r\n var scrollTop = scrollable.scrollTop() - getElementOffset(scrollable);\r\n scrollTop = scrollTop > 0 ? scrollTop : 0;\r\n scrollChangedHandler(scrollTop)\r\n }\r\n }(scrollable);\r\n eventsStrategy.on(scrollable, \"scroll\", handler);\r\n scrollToArray.push(pos => {\r\n var topOffset = getElementOffset(scrollable);\r\n var scrollMethod = scrollable.scrollTo ? \"scrollTo\" : \"scrollTop\";\r\n if (pos - topOffset >= 0) {\r\n scrollable[scrollMethod](pos + topOffset)\r\n }\r\n });\r\n scrollableArray.push(scrollable);\r\n disposeArray.push(() => {\r\n eventsStrategy.off(scrollable, \"scroll\", handler)\r\n })\r\n }\r\n var getScrollElementParent = $element => {\r\n var _a;\r\n return $(null !== (_a = $element.get(0).parentNode) && void 0 !== _a ? _a : $element.get(0).host)\r\n };\r\n for ($scrollElement = $targetElement.parent(); $scrollElement.length; $scrollElement = getScrollElementParent($scrollElement)) {\r\n subscribeToScrollEvents($scrollElement)\r\n }\r\n return {\r\n scrollTo(pos) {\r\n each(scrollToArray, (_, scrollTo) => {\r\n scrollTo(pos)\r\n })\r\n },\r\n dispose() {\r\n each(disposeArray, (_, dispose) => {\r\n dispose()\r\n })\r\n }\r\n }\r\n}\r\nvar VirtualScrollController = Class.inherit(function() {\r\n var members = {\r\n ctor(component, dataOptions, isVirtual) {\r\n this._dataOptions = dataOptions;\r\n this.component = component;\r\n this._viewportSize = false === component.option(LEGACY_SCROLLING_MODE) ? 15 : 0;\r\n this._viewportItemSize = 20;\r\n this._viewportItemIndex = 0;\r\n this._position = 0;\r\n this._isScrollingBack = false;\r\n this._contentSize = 0;\r\n this._itemSizes = {};\r\n this._sizeRatio = 1;\r\n this._isVirtual = isVirtual;\r\n this.positionChanged = Callbacks();\r\n this._dataLoader = new VirtualDataLoader(this, this._dataOptions)\r\n },\r\n getItemSizes() {\r\n return this._itemSizes\r\n },\r\n option() {\r\n return this.component.option.apply(this.component, arguments)\r\n },\r\n isVirtual() {\r\n return this._isVirtual\r\n },\r\n virtualItemsCount() {\r\n if (isVirtualMode(this)) {\r\n var dataOptions = this._dataOptions;\r\n var totalItemsCount = dataOptions.totalItemsCount();\r\n if (false === this.option(LEGACY_SCROLLING_MODE) && -1 !== totalItemsCount) {\r\n var viewportParams = this.getViewportParams();\r\n var loadedOffset = dataOptions.loadedOffset();\r\n var loadedItemCount = dataOptions.loadedItemCount();\r\n var skip = Math.max(viewportParams.skip, loadedOffset);\r\n var take = Math.min(viewportParams.take, loadedItemCount);\r\n var endItemsCount = Math.max(totalItemsCount - (skip + take), 0);\r\n return {\r\n begin: skip,\r\n end: endItemsCount\r\n }\r\n }\r\n return this._dataLoader.virtualItemsCount.apply(this._dataLoader, arguments)\r\n }\r\n },\r\n getScrollingTimeout() {\r\n var _a;\r\n var renderAsync = this.option(\"scrolling.renderAsync\");\r\n var scrollingTimeout = 0;\r\n if (!isDefined(renderAsync)) {\r\n scrollingTimeout = Math.min(this.option(\"scrolling.timeout\") || 0, this._dataOptions.changingDuration());\r\n if (scrollingTimeout < this.option(\"scrolling.renderingThreshold\")) {\r\n scrollingTimeout = this.option(\"scrolling.minTimeout\") || 0\r\n }\r\n } else if (renderAsync) {\r\n scrollingTimeout = null !== (_a = this.option(\"scrolling.timeout\")) && void 0 !== _a ? _a : 0\r\n }\r\n return scrollingTimeout\r\n },\r\n setViewportPosition(position) {\r\n var result = new Deferred;\r\n var scrollingTimeout = this.getScrollingTimeout();\r\n clearTimeout(this._scrollTimeoutID);\r\n if (scrollingTimeout > 0) {\r\n this._scrollTimeoutID = setTimeout(() => {\r\n this._setViewportPositionCore(position);\r\n result.resolve()\r\n }, scrollingTimeout)\r\n } else {\r\n this._setViewportPositionCore(position);\r\n result.resolve()\r\n }\r\n return result.promise()\r\n },\r\n getViewportPosition() {\r\n return this._position\r\n },\r\n getItemIndexByPosition(position, viewportItemIndex, height) {\r\n position = null !== position && void 0 !== position ? position : this._position;\r\n var defaultItemSize = this.getItemSize();\r\n var offset = 0;\r\n var itemOffset = 0;\r\n var itemOffsetsWithSize = Object.keys(this._itemSizes).concat(-1);\r\n for (var i = 0; i < itemOffsetsWithSize.length && offset < position; i++) {\r\n var itemOffsetWithSize = parseInt(itemOffsetsWithSize[i]);\r\n var itemOffsetDiff = (position - offset) / defaultItemSize;\r\n if (itemOffsetWithSize < 0 || itemOffset + itemOffsetDiff < itemOffsetWithSize) {\r\n itemOffset += itemOffsetDiff;\r\n if (this._sizeRatio < 1 && isDefined(viewportItemIndex)) {\r\n itemOffset = viewportItemIndex + height / this._viewportItemSize\r\n }\r\n break\r\n } else {\r\n itemOffsetDiff = itemOffsetWithSize - itemOffset;\r\n offset += itemOffsetDiff * defaultItemSize;\r\n itemOffset += itemOffsetDiff\r\n }\r\n var itemSize = this._itemSizes[itemOffsetWithSize];\r\n offset += itemSize;\r\n itemOffset += offset < position ? 1 : (position - offset + itemSize) / itemSize\r\n }\r\n return Math.round(50 * itemOffset) / 50\r\n },\r\n isScrollingBack() {\r\n return this._isScrollingBack\r\n },\r\n _setViewportPositionCore(position) {\r\n var prevPosition = this._position || 0;\r\n this._position = position;\r\n if (prevPosition !== this._position) {\r\n this._isScrollingBack = this._position < prevPosition\r\n }\r\n var itemIndex = this.getItemIndexByPosition();\r\n var result = this.setViewportItemIndex(itemIndex);\r\n this.positionChanged.fire();\r\n return result\r\n },\r\n setContentItemSizes(sizes) {\r\n var virtualItemsCount = this.virtualItemsCount();\r\n this._contentSize = sizes.reduce((a, b) => a + b, 0);\r\n if (virtualItemsCount) {\r\n sizes.forEach((size, index) => {\r\n this._itemSizes[virtualItemsCount.begin + index] = size\r\n });\r\n var virtualContentSize = (virtualItemsCount.begin + virtualItemsCount.end + this.itemsCount()) * this._viewportItemSize;\r\n var contentHeightLimit = gridCoreUtils.getContentHeightLimit(browser);\r\n if (virtualContentSize > contentHeightLimit) {\r\n this._sizeRatio = contentHeightLimit / virtualContentSize\r\n } else {\r\n this._sizeRatio = 1\r\n }\r\n }\r\n },\r\n getItemSize() {\r\n return this._viewportItemSize * this._sizeRatio\r\n },\r\n getItemOffset(itemIndex, isEnd) {\r\n var virtualItemsCount = this.virtualItemsCount();\r\n var itemCount = itemIndex;\r\n if (!virtualItemsCount) {\r\n return 0\r\n }\r\n var offset = 0;\r\n var totalItemsCount = this._dataOptions.totalItemsCount();\r\n Object.keys(this._itemSizes).forEach(currentItemIndex => {\r\n if (!itemCount) {\r\n return\r\n }\r\n if (isEnd ? currentItemIndex >= totalItemsCount - itemIndex : currentItemIndex < itemIndex) {\r\n offset += this._itemSizes[currentItemIndex];\r\n itemCount--\r\n }\r\n });\r\n return Math.floor(offset + itemCount * this._viewportItemSize * this._sizeRatio)\r\n },\r\n getContentOffset(type) {\r\n var isEnd = \"end\" === type;\r\n var virtualItemsCount = this.virtualItemsCount();\r\n if (!virtualItemsCount) {\r\n return 0\r\n }\r\n return this.getItemOffset(isEnd ? virtualItemsCount.end : virtualItemsCount.begin, isEnd)\r\n },\r\n getVirtualContentSize() {\r\n var virtualItemsCount = this.virtualItemsCount();\r\n return virtualItemsCount ? this.getContentOffset(\"begin\") + this.getContentOffset(\"end\") + this._contentSize : 0\r\n },\r\n getViewportItemIndex() {\r\n return this._viewportItemIndex\r\n },\r\n setViewportItemIndex(itemIndex) {\r\n this._viewportItemIndex = itemIndex;\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n return\r\n }\r\n return this._dataLoader.viewportItemIndexChanged.apply(this._dataLoader, arguments)\r\n },\r\n viewportItemSize(size) {\r\n if (void 0 !== size) {\r\n this._viewportItemSize = size\r\n }\r\n return this._viewportItemSize\r\n },\r\n viewportSize(size) {\r\n if (void 0 !== size) {\r\n this._viewportSize = size\r\n }\r\n return this._viewportSize\r\n },\r\n viewportHeight(height, scrollTop) {\r\n var position = null !== scrollTop && void 0 !== scrollTop ? scrollTop : this._position;\r\n var begin = this.getItemIndexByPosition(position);\r\n var end = this.getItemIndexByPosition(position + height, begin, height);\r\n this.viewportSize(Math.ceil(end - begin));\r\n if (!isDefined(scrollTop) && this._viewportItemIndex !== begin) {\r\n this._setViewportPositionCore(position)\r\n }\r\n },\r\n reset(isRefresh) {\r\n this._dataLoader.reset();\r\n if (!isRefresh) {\r\n this._itemSizes = {}\r\n }\r\n },\r\n subscribeToWindowScrollEvents($element) {\r\n this._windowScroll = this._windowScroll || subscribeToExternalScrollers($element, scrollTop => {\r\n if (this.viewportItemSize()) {\r\n this.setViewportPosition(scrollTop)\r\n }\r\n })\r\n },\r\n dispose() {\r\n clearTimeout(this._scrollTimeoutID);\r\n this._windowScroll && this._windowScroll.dispose();\r\n this._windowScroll = null\r\n },\r\n scrollTo(pos) {\r\n this._windowScroll && this._windowScroll.scrollTo(pos)\r\n },\r\n isVirtualMode() {\r\n return isVirtualMode(this)\r\n },\r\n isAppendMode() {\r\n return isAppendMode(this)\r\n },\r\n getViewportParams() {\r\n var _a;\r\n var virtualMode = this.option(\"scrolling.mode\") === SCROLLING_MODE_VIRTUAL;\r\n var totalItemsCount = this._dataOptions.totalItemsCount();\r\n var hasKnownLastPage = this._dataOptions.hasKnownLastPage();\r\n var topIndex = hasKnownLastPage && this._viewportItemIndex > totalItemsCount ? totalItemsCount : this._viewportItemIndex;\r\n var bottomIndex = this._viewportSize + topIndex;\r\n var maxGap = this.option(\"scrolling.prerenderedRowChunkSize\") || 1;\r\n var isScrollingBack = this.isScrollingBack();\r\n var minGap = null !== (_a = this.option(\"scrolling.prerenderedRowCount\")) && void 0 !== _a ? _a : 1;\r\n var topMinGap = isScrollingBack ? minGap : 0;\r\n var bottomMinGap = isScrollingBack ? 0 : minGap;\r\n var skip = Math.floor(Math.max(0, topIndex - topMinGap) / maxGap) * maxGap;\r\n var take = Math.ceil((bottomIndex + bottomMinGap - skip) / maxGap) * maxGap;\r\n if (virtualMode) {\r\n var remainedItems = Math.max(0, totalItemsCount - skip);\r\n take = Math.min(take, remainedItems)\r\n }\r\n return {\r\n skip: skip,\r\n take: take\r\n }\r\n },\r\n itemsCount() {\r\n var result = 0;\r\n if (this.option(LEGACY_SCROLLING_MODE)) {\r\n result = this._dataLoader.itemsCount.apply(this._dataLoader, arguments)\r\n } else {\r\n result = this._dataOptions.itemsCount()\r\n }\r\n return result\r\n }\r\n };\r\n [\"pageIndex\", \"beginPageIndex\", \"endPageIndex\", \"pageSize\", \"load\", \"loadIfNeed\", \"handleDataChanged\", \"getDelayDeferred\"].forEach(name => {\r\n members[name] = function() {\r\n return this._dataLoader[name].apply(this._dataLoader, arguments)\r\n }\r\n });\r\n return members\r\n}());\r\nexport default {\r\n VirtualScrollController: VirtualScrollController\r\n};\r\nexport {\r\n subscribeToExternalScrollers,\r\n VirtualScrollController\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/pivot_grid/local_store/m_local_store.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../../../core/class\";\r\nimport {\r\n noop\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n compileGetter,\r\n toComparable\r\n} from \"../../../../core/utils/data\";\r\nimport dateSerialization from \"../../../../core/utils/date_serialization\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n isDefined,\r\n isNumeric,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport ArrayStore from \"../../../../data/array_store\";\r\nimport CustomStore from \"../../../../data/custom_store\";\r\nimport {\r\n DataSource\r\n} from \"../../../../data/data_source/data_source\";\r\nimport dataQuery from \"../../../../data/query\";\r\nimport {\r\n aggregators\r\n} from \"../../../../data/utils\";\r\nimport {\r\n discoverObjectFields,\r\n getFiltersByPath,\r\n setDefaultFieldValueFormatting,\r\n setFieldProperty,\r\n storeDrillDownMixin\r\n} from \"../m_widget_utils\";\r\nvar PATH_DELIMETER = \"/./\";\r\nvar LocalStore = Class.inherit(function() {\r\n var DATE_INTERVAL_SELECTORS = {\r\n year: date => date && date.getFullYear(),\r\n quarter: date => date && Math.floor(date.getMonth() / 3) + 1,\r\n month: date => date && date.getMonth() + 1,\r\n day: date => date && date.getDate(),\r\n dayOfWeek: date => date && date.getDay()\r\n };\r\n\r\n function getDataSelector(dataField) {\r\n return -1 !== dataField.indexOf(\".\") ? compileGetter(dataField) : function(data) {\r\n return data[dataField]\r\n }\r\n }\r\n\r\n function getDateValue(dataSelector) {\r\n return function(data) {\r\n var value = dataSelector(data);\r\n if (value && !(value instanceof Date)) {\r\n value = dateSerialization.deserializeDate(value)\r\n }\r\n return value\r\n }\r\n }\r\n\r\n function prepareFields(fields) {\r\n each(fields || [], (_, field) => {\r\n var fieldSelector;\r\n var intervalSelector;\r\n var {\r\n dataField: dataField\r\n } = field;\r\n var groupInterval;\r\n var {\r\n levels: levels\r\n } = field;\r\n var dataSelector;\r\n if (!field.selector) {\r\n if (!dataField) {\r\n dataSelector = function(data) {\r\n return data\r\n }\r\n } else {\r\n dataSelector = getDataSelector(dataField)\r\n }\r\n if (levels) {\r\n prepareFields(levels)\r\n }\r\n if (\"date\" === field.dataType) {\r\n intervalSelector = DATE_INTERVAL_SELECTORS[field.groupInterval];\r\n var valueSelector = getDateValue(dataSelector);\r\n fieldSelector = function(data) {\r\n var value = valueSelector(data);\r\n return intervalSelector ? intervalSelector(value) : value\r\n }\r\n } else if (\"number\" === field.dataType) {\r\n groupInterval = isNumeric(field.groupInterval) && field.groupInterval > 0 && field.groupInterval;\r\n fieldSelector = function(data) {\r\n var value = dataSelector(data);\r\n if (isString(value)) {\r\n value = Number(value)\r\n }\r\n return groupInterval ? Math.floor(value / groupInterval) * groupInterval : value\r\n }\r\n } else {\r\n fieldSelector = dataSelector\r\n }\r\n setDefaultFieldValueFormatting(field);\r\n setFieldProperty(field, \"selector\", fieldSelector)\r\n }\r\n })\r\n }\r\n\r\n function generateHierarchyItems(data, loadOptions, headers, headerName) {\r\n var result = [0];\r\n var expandIndex = loadOptions.headerName === headerName ? loadOptions.path.length : 0;\r\n var expandedPaths = \"rows\" === headerName ? loadOptions.rowExpandedPaths : loadOptions.columnExpandedPaths;\r\n var options = {\r\n data: data,\r\n childrenHash: headers[\"\".concat(headerName, \"Hash\")],\r\n dimensions: loadOptions[headerName],\r\n expandedPathsHash: loadOptions.headerName !== headerName && expandedPaths && expandedPaths.hash\r\n };\r\n ! function fillHierarchyItemIndexesCore(indexes, options, children, expandIndex, pathHash) {\r\n var dimension = options.dimensions[expandIndex];\r\n var {\r\n expandedPathsHash: expandedPathsHash\r\n } = options;\r\n var dimensionValue;\r\n var hierarchyItem;\r\n if (dimension) {\r\n dimensionValue = dimension.selector(options.data);\r\n pathHash = void 0 !== pathHash ? pathHash + PATH_DELIMETER + dimensionValue : \"\".concat(dimensionValue);\r\n hierarchyItem = function(value, hierarchyItems, pathHash, childrenHash) {\r\n var hierarchyItem = childrenHash[pathHash];\r\n if (!hierarchyItem) {\r\n hierarchyItem = {\r\n value: value,\r\n index: childrenHash.length++\r\n };\r\n childrenHash[pathHash] = hierarchyItem;\r\n hierarchyItems.push(hierarchyItem)\r\n }\r\n return hierarchyItem\r\n }(dimensionValue, children, pathHash, options.childrenHash);\r\n indexes.push(hierarchyItem.index);\r\n if (expandedPathsHash && expandedPathsHash[pathHash] || dimension.expanded) {\r\n if (!hierarchyItem.children) {\r\n hierarchyItem.children = []\r\n }\r\n fillHierarchyItemIndexesCore(indexes, options, hierarchyItem.children, expandIndex + 1, pathHash)\r\n }\r\n }\r\n }(result, options, headers[headerName], expandIndex);\r\n return result\r\n }\r\n\r\n function generateAggregationCells(data, cells, headers, options) {\r\n var cellSet = [];\r\n var x;\r\n var y;\r\n var rowIndex;\r\n var columnIndex;\r\n var rowIndexes = generateHierarchyItems(data, options, headers, \"rows\");\r\n var columnIndexes = generateHierarchyItems(data, options, headers, \"columns\");\r\n for (y = 0; y < rowIndexes.length; y += 1) {\r\n rowIndex = rowIndexes[y];\r\n cells[rowIndex] = cells[rowIndex] || [];\r\n for (x = 0; x < columnIndexes.length; x += 1) {\r\n columnIndex = columnIndexes[x];\r\n cellSet.push(cells[rowIndex][columnIndex] = cells[rowIndex][columnIndex] || [])\r\n }\r\n }\r\n return cellSet\r\n }\r\n\r\n function fillHashExpandedPath(expandedPaths) {\r\n if (expandedPaths) {\r\n var hash = expandedPaths.hash = {};\r\n expandedPaths.forEach(path => {\r\n var pathValue = path.map(value => \"\".concat(value)).join(PATH_DELIMETER);\r\n hash[pathValue] = true\r\n })\r\n }\r\n }\r\n\r\n function prepareLoadOption(options) {\r\n options.rows = options.rows || [];\r\n options.columns = options.columns || [];\r\n options.filters = options.filters || [];\r\n fillHashExpandedPath(options.columnExpandedPaths);\r\n fillHashExpandedPath(options.rowExpandedPaths);\r\n prepareFields(options.columns);\r\n prepareFields(options.rows);\r\n prepareFields(options.values);\r\n prepareFields(options.filters)\r\n }\r\n\r\n function getAggregator(field) {\r\n if (\"custom\" === field.summaryType) {\r\n field.calculateCustomSummary = field.calculateCustomSummary || noop;\r\n return {\r\n seed() {\r\n var options = {\r\n summaryProcess: \"start\",\r\n totalValue: void 0\r\n };\r\n field.calculateCustomSummary(options);\r\n return options\r\n },\r\n step(options, value) {\r\n options.summaryProcess = \"calculate\";\r\n options.value = value;\r\n field.calculateCustomSummary(options);\r\n return options\r\n },\r\n finalize(options) {\r\n options.summaryProcess = \"finalize\";\r\n delete options.value;\r\n field.calculateCustomSummary(options);\r\n return options.totalValue\r\n }\r\n }\r\n }\r\n return aggregators[field.summaryType] || aggregators.count\r\n }\r\n\r\n function aggregationStep(measures, aggregationCells, data) {\r\n for (var aggregatorIndex = 0; aggregatorIndex < measures.length; aggregatorIndex += 1) {\r\n var cellField = measures[aggregatorIndex];\r\n var cellValue = cellField.selector(data);\r\n var aggregator = getAggregator(cellField);\r\n var isAggregatorSeedFunction = \"function\" === typeof aggregator.seed;\r\n for (var cellSetIndex = 0; cellSetIndex < aggregationCells.length; cellSetIndex += 1) {\r\n var cell = aggregationCells[cellSetIndex];\r\n if (cell.length <= aggregatorIndex) {\r\n cell[aggregatorIndex] = isAggregatorSeedFunction ? aggregator.seed() : aggregator.seed\r\n }\r\n if (void 0 === cell[aggregatorIndex]) {\r\n cell[aggregatorIndex] = cellValue\r\n } else if (isDefined(cellValue)) {\r\n cell[aggregatorIndex] = aggregator.step(cell[aggregatorIndex], cellValue)\r\n }\r\n }\r\n }\r\n }\r\n\r\n function areValuesEqual(filterValue, fieldValue) {\r\n var valueOfFilter = filterValue && filterValue.valueOf();\r\n var valueOfField = fieldValue && fieldValue.valueOf();\r\n if (Array.isArray(filterValue)) {\r\n fieldValue = fieldValue || [];\r\n for (var i = 0; i < filterValue.length; i += 1) {\r\n valueOfFilter = filterValue[i] && filterValue[i].valueOf();\r\n valueOfField = fieldValue[i] && fieldValue[i].valueOf();\r\n if (valueOfFilter !== valueOfField) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n return valueOfFilter === valueOfField\r\n }\r\n\r\n function createDimensionFilters(dimension) {\r\n var filters = [];\r\n each(dimension, (_, field) => {\r\n var filterValues = field.filterValues || [];\r\n var {\r\n groupName: groupName\r\n } = field;\r\n if (groupName && isNumeric(field.groupIndex)) {\r\n return\r\n }\r\n filterValues.length && filters.push((function(dataItem) {\r\n var value = field.levels ? function(levels, data) {\r\n var value = [];\r\n each(levels, (_, field) => {\r\n value.push(field.selector(data))\r\n });\r\n return value\r\n }(field.levels, dataItem) : field.selector(dataItem);\r\n var result = false;\r\n for (var i = 0; i < filterValues.length; i += 1) {\r\n if (areValuesEqual(filterValues[i], value)) {\r\n result = true;\r\n break\r\n }\r\n }\r\n return \"exclude\" === field.filterType ? !result : result\r\n }))\r\n });\r\n return filters\r\n }\r\n\r\n function createFilter(options) {\r\n var filters = createDimensionFilters(options.rows).concat(createDimensionFilters(options.columns)).concat(createDimensionFilters(options.filters));\r\n var expandedDimensions = options[options.headerName];\r\n var {\r\n path: path\r\n } = options;\r\n if (expandedDimensions) {\r\n filters.push(dataItem => {\r\n var expandValue;\r\n for (var i = 0; i < path.length; i += 1) {\r\n expandValue = expandedDimensions[i].selector(dataItem);\r\n if (toComparable(expandValue, true) !== toComparable(path[i], true)) {\r\n return false\r\n }\r\n }\r\n return true\r\n })\r\n }\r\n return function(dataItem) {\r\n for (var i = 0; i < filters.length; i += 1) {\r\n if (!filters[i](dataItem)) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n }\r\n\r\n function loadCore(items, options, notifyProgress) {\r\n var headers = {\r\n columns: [],\r\n rows: [],\r\n columnsHash: {\r\n length: 1\r\n },\r\n rowsHash: {\r\n length: 1\r\n }\r\n };\r\n var values = [];\r\n var aggregationCells;\r\n var data;\r\n var d = new Deferred;\r\n var i = 0;\r\n var filter = createFilter(options);\r\n ! function processData() {\r\n var t = new Date;\r\n var startIndex = i;\r\n for (; i < items.length; i += 1) {\r\n if (i > startIndex && i % 1e4 === 0) {\r\n if (new Date - t >= 300) {\r\n notifyProgress(i / items.length);\r\n setTimeout(processData, 0);\r\n return\r\n }\r\n }\r\n data = items[i];\r\n if (filter(data)) {\r\n aggregationCells = generateAggregationCells(data, values, headers, options);\r\n aggregationStep(options.values, aggregationCells, data)\r\n }\r\n }\r\n measures = options.values, cells = values, void each(measures, (aggregatorIndex, cellField) => {\r\n var aggregator = getAggregator(cellField);\r\n if (aggregator.finalize) {\r\n each(cells, (_, row) => {\r\n each(row, (_, cell) => {\r\n if (cell && void 0 !== cell[aggregatorIndex]) {\r\n cell[aggregatorIndex] = aggregator.finalize(cell[aggregatorIndex])\r\n }\r\n })\r\n })\r\n }\r\n });\r\n var measures, cells;\r\n notifyProgress(1);\r\n d.resolve({\r\n rows: headers.rows,\r\n columns: headers.columns,\r\n values: values,\r\n grandTotalRowIndex: 0,\r\n grandTotalColumnIndex: 0\r\n })\r\n }();\r\n return d\r\n }\r\n\r\n function filterDataSource(dataSource, fieldSelectors) {\r\n var filter = dataSource.filter();\r\n if (dataSource.store() instanceof CustomStore && filter) {\r\n filter = processFilter(filter, fieldSelectors);\r\n return dataQuery(dataSource.items()).filter(filter).toArray()\r\n }\r\n return dataSource.items()\r\n }\r\n\r\n function loadDataSource(dataSource, fieldSelectors, reload) {\r\n var d = new Deferred;\r\n var customizeStoreLoadOptionsHandler = function(options) {\r\n if (dataSource.store() instanceof ArrayStore) {\r\n options.storeLoadOptions.filter = processFilter(options.storeLoadOptions.filter, fieldSelectors)\r\n }\r\n };\r\n dataSource.on(\"customizeStoreLoadOptions\", customizeStoreLoadOptionsHandler);\r\n if (!dataSource.isLoaded() || reload) {\r\n var loadDeferred = reload ? dataSource.load() : dataSource.reload();\r\n when(loadDeferred).done(() => {\r\n loadDataSource(dataSource, fieldSelectors).done(() => {\r\n d.resolve(filterDataSource(dataSource, fieldSelectors))\r\n }).fail(d.reject)\r\n }).fail(d.reject)\r\n } else {\r\n d.resolve(filterDataSource(dataSource, fieldSelectors))\r\n }\r\n return d.always(() => {\r\n dataSource.off(\"customizeStoreLoadOptions\", customizeStoreLoadOptionsHandler)\r\n })\r\n }\r\n\r\n function fillSelectorsByFields(selectors, fields) {\r\n fields.forEach(field => {\r\n if (field.dataField && \"date\" === field.dataType) {\r\n var valueSelector = getDateValue(getDataSelector(field.dataField));\r\n selectors[field.dataField] = function(data) {\r\n return valueSelector(data)\r\n }\r\n }\r\n })\r\n }\r\n\r\n function getFieldSelectors(options) {\r\n var selectors = {};\r\n if (Array.isArray(options)) {\r\n fillSelectorsByFields(selectors, options)\r\n } else if (options) {\r\n [\"rows\", \"columns\", \"filters\"].forEach(area => {\r\n options[area] && fillSelectorsByFields(selectors, options[area])\r\n })\r\n }\r\n return selectors\r\n }\r\n\r\n function processFilter(filter, fieldSelectors) {\r\n if (!Array.isArray(filter)) {\r\n return filter\r\n }\r\n filter = filter.slice(0);\r\n if (isString(filter[0]) && (filter[1] instanceof Date || filter[2] instanceof Date)) {\r\n filter[0] = fieldSelectors[filter[0]]\r\n }\r\n for (var i = 0; i < filter.length; i += 1) {\r\n filter[i] = processFilter(filter[i], fieldSelectors)\r\n }\r\n return filter\r\n }\r\n return {\r\n ctor(options) {\r\n this._progressChanged = options.onProgressChanged || noop;\r\n this._dataSource = new DataSource(options);\r\n this._dataSource.paginate(false)\r\n },\r\n getFields(fields) {\r\n var dataSource = this._dataSource;\r\n var d = new Deferred;\r\n loadDataSource(dataSource, getFieldSelectors(fields)).done(data => {\r\n d.resolve(discoverObjectFields(data, fields))\r\n }).fail(d.reject);\r\n return d\r\n },\r\n key() {\r\n return this._dataSource.key()\r\n },\r\n load(options) {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var d = new Deferred;\r\n prepareLoadOption(options);\r\n loadDataSource(dataSource, getFieldSelectors(options), options.reload).done(data => {\r\n when(loadCore(data, options, that._progressChanged)).done(d.resolve)\r\n }).fail(d.reject);\r\n return d\r\n },\r\n filter() {\r\n var dataSource = this._dataSource;\r\n return dataSource.filter.apply(dataSource, arguments)\r\n },\r\n supportPaging: () => false,\r\n getDrillDownItems(loadOptions, params) {\r\n loadOptions = loadOptions || {};\r\n params = params || {};\r\n prepareLoadOption(loadOptions);\r\n var drillDownItems = [];\r\n var items = this._dataSource.items();\r\n var item;\r\n var {\r\n maxRowCount: maxRowCount\r\n } = params;\r\n var {\r\n customColumns: customColumns\r\n } = params;\r\n var filter = createFilter(loadOptions);\r\n var pathFilter = createFilter({\r\n rows: getFiltersByPath(loadOptions.rows, params.rowPath),\r\n columns: getFiltersByPath(loadOptions.columns, params.columnPath),\r\n filters: []\r\n });\r\n for (var i = 0; i < items.length; i += 1) {\r\n if (pathFilter(items[i]) && filter(items[i])) {\r\n if (customColumns) {\r\n item = {};\r\n for (var j = 0; j < customColumns.length; j += 1) {\r\n item[customColumns[j]] = items[i][customColumns[j]]\r\n }\r\n } else {\r\n item = items[i]\r\n }\r\n drillDownItems.push(item)\r\n }\r\n if (maxRowCount > 0 && drillDownItems.length === maxRowCount) {\r\n break\r\n }\r\n }\r\n return drillDownItems\r\n }\r\n }\r\n}()).include(storeDrillDownMixin);\r\nexport default {\r\n LocalStore: LocalStore\r\n};\r\nexport {\r\n LocalStore\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/pivot_grid/remote_store/m_remote_store_utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar forEachGroup = function forEachGroup(data, callback, level) {\r\n data = data || [];\r\n level = level || 0;\r\n for (var i = 0; i < data.length; i += 1) {\r\n var group = data[i];\r\n callback(group, level);\r\n if (group && group.items && group.items.length) {\r\n forEachGroup(group.items, callback, level + 1)\r\n }\r\n }\r\n};\r\nexport default {\r\n forEachGroup: forEachGroup\r\n};\r\nexport {\r\n forEachGroup\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/pivot_grid/remote_store/m_remote_store.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../../../core/class\";\r\nimport dateSerialization from \"../../../../core/utils/date_serialization\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n isDefined,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n DataSource\r\n} from \"../../../../data/data_source/data_source\";\r\nimport {\r\n normalizeLoadResult\r\n} from \"../../../../data/data_source/utils\";\r\nimport pivotGridUtils, {\r\n capitalizeFirstLetter,\r\n getExpandedLevel,\r\n getFiltersByPath,\r\n setDefaultFieldValueFormatting\r\n} from \"../m_widget_utils\";\r\nimport {\r\n forEachGroup\r\n} from \"./m_remote_store_utils\";\r\n\r\nfunction createGroupingOptions(dimensionOptions, useSortOrder) {\r\n var groupingOptions = [];\r\n each(dimensionOptions, (index, dimensionOption) => {\r\n groupingOptions.push({\r\n selector: dimensionOption.dataField,\r\n groupInterval: dimensionOption.groupInterval,\r\n desc: useSortOrder && \"desc\" === dimensionOption.sortOrder,\r\n isExpanded: index < dimensionOptions.length - 1\r\n })\r\n });\r\n return groupingOptions\r\n}\r\n\r\nfunction getFieldFilterSelector(field) {\r\n var selector = field.dataField;\r\n var {\r\n groupInterval: groupInterval\r\n } = field;\r\n if (\"date\" === field.dataType && \"string\" === typeof groupInterval) {\r\n if (\"quarter\" === groupInterval.toLowerCase()) {\r\n groupInterval = \"Month\"\r\n }\r\n selector = \"\".concat(selector, \".\").concat(capitalizeFirstLetter(groupInterval))\r\n }\r\n return selector\r\n}\r\n\r\nfunction getIntervalFilterExpression(selector, numericInterval, numericValue, isExcludedFilterType) {\r\n var startFilterValue = [selector, isExcludedFilterType ? \"<\" : \">=\", numericValue];\r\n var endFilterValue = [selector, isExcludedFilterType ? \">=\" : \"<\", numericValue + numericInterval];\r\n return [startFilterValue, isExcludedFilterType ? \"or\" : \"and\", endFilterValue]\r\n}\r\n\r\nfunction getFilterExpressionForFilterValue(field, filterValue) {\r\n var selector = getFieldFilterSelector(field);\r\n var isExcludedFilterType = \"exclude\" === field.filterType;\r\n var expression = [selector, isExcludedFilterType ? \"<>\" : \"=\", filterValue];\r\n if (isDefined(field.groupInterval)) {\r\n if (\"string\" === typeof field.groupInterval && \"quarter\" === field.groupInterval.toLowerCase()) {\r\n expression = getIntervalFilterExpression(selector, 3, 3 * (filterValue - 1) + 1, isExcludedFilterType)\r\n } else if (\"number\" === typeof field.groupInterval && \"date\" !== field.dataType) {\r\n expression = getIntervalFilterExpression(selector, field.groupInterval, filterValue, isExcludedFilterType)\r\n }\r\n }\r\n return expression\r\n}\r\n\r\nfunction createFieldFilterExpressions(field, operation) {\r\n var fieldFilterExpressions = [];\r\n if (field.searchValue) {\r\n return [field.dataField, \"contains\", field.searchValue]\r\n }\r\n if (\"exclude\" === field.filterType) {\r\n operation = operation || \"and\"\r\n } else {\r\n operation = operation || \"or\"\r\n }\r\n each(field.filterValues, (index, filterValue) => {\r\n var currentExpression = [];\r\n if (Array.isArray(filterValue)) {\r\n var parseLevelsRecursive = field.levels && field.levels.length;\r\n if (parseLevelsRecursive) {\r\n currentExpression = createFieldFilterExpressions({\r\n filterValues: filterValue,\r\n filterType: field.filterType,\r\n levels: field.levels\r\n }, \"and\")\r\n }\r\n } else {\r\n var currentField = field.levels ? field.levels[index] : field;\r\n currentExpression = getFilterExpressionForFilterValue(currentField, filterValue)\r\n }\r\n if (!currentExpression.length) {\r\n return\r\n }\r\n if (fieldFilterExpressions.length) {\r\n fieldFilterExpressions.push(operation)\r\n }\r\n fieldFilterExpressions.push(currentExpression)\r\n });\r\n return fieldFilterExpressions\r\n}\r\n\r\nfunction createFilterExpressions(fields) {\r\n var filterExpressions = [];\r\n each(fields, (_, field) => {\r\n var fieldExpressions = createFieldFilterExpressions(field);\r\n if (!fieldExpressions.length) {\r\n return []\r\n }\r\n if (filterExpressions.length) {\r\n filterExpressions.push(\"and\")\r\n }\r\n filterExpressions.push(fieldExpressions);\r\n return\r\n });\r\n if (1 === filterExpressions.length) {\r\n filterExpressions = filterExpressions[0]\r\n }\r\n return filterExpressions\r\n}\r\n\r\nfunction mergeFilters(filter1, filter2) {\r\n var mergedFilter;\r\n var notEmpty = function(filter) {\r\n return filter && filter.length\r\n };\r\n if (notEmpty(filter1) && notEmpty(filter2)) {\r\n mergedFilter = [filter1, \"and\", filter2]\r\n } else {\r\n mergedFilter = notEmpty(filter1) ? filter1 : filter2\r\n }\r\n return mergedFilter\r\n}\r\n\r\nfunction createLoadOptions(options, externalFilterExpr, hasRows) {\r\n var filterExpressions = createFilterExpressions(options.filters);\r\n var groupingOptions = createGroupingOptions(options.rows, options.rowTake).concat(createGroupingOptions(options.columns, options.columnTake));\r\n var loadOptions = {\r\n groupSummary: [],\r\n totalSummary: [],\r\n group: groupingOptions.length ? groupingOptions : void 0,\r\n take: groupingOptions.length ? void 0 : 1\r\n };\r\n if (options.rows.length && options.rowTake) {\r\n loadOptions.skip = options.rowSkip;\r\n loadOptions.take = options.rowTake;\r\n loadOptions.requireGroupCount = true\r\n } else if (options.columns.length && options.columnTake && !hasRows) {\r\n loadOptions.skip = options.columnSkip;\r\n loadOptions.take = options.columnTake;\r\n loadOptions.requireGroupCount = true\r\n }\r\n if (externalFilterExpr) {\r\n filterExpressions = mergeFilters(filterExpressions, externalFilterExpr)\r\n }\r\n if (filterExpressions.length) {\r\n loadOptions.filter = filterExpressions\r\n }\r\n each(options.values, (_, value) => {\r\n var summaryOption = {\r\n selector: value.dataField,\r\n summaryType: value.summaryType || \"count\"\r\n };\r\n loadOptions.groupSummary.push(summaryOption);\r\n options.includeTotalSummary && loadOptions.totalSummary.push(summaryOption)\r\n });\r\n return loadOptions\r\n}\r\n\r\nfunction setValue(valuesArray, value, rowIndex, columnIndex, dataIndex) {\r\n valuesArray[rowIndex] = valuesArray[rowIndex] || [];\r\n valuesArray[rowIndex][columnIndex] = valuesArray[rowIndex][columnIndex] || [];\r\n if (!isDefined(valuesArray[rowIndex][columnIndex][dataIndex])) {\r\n valuesArray[rowIndex][columnIndex][dataIndex] = value\r\n }\r\n}\r\n\r\nfunction parseValue(value, field) {\r\n if (field && \"number\" === field.dataType && isString(value)) {\r\n return Number(value)\r\n }\r\n if (field && \"date\" === field.dataType && !field.groupInterval && !(value instanceof Date)) {\r\n return dateSerialization.deserializeDate(value)\r\n }\r\n return value\r\n}\r\n\r\nfunction parseResult(data, total, descriptions, result) {\r\n var rowPath = [];\r\n var columnPath = [];\r\n var {\r\n rowHash: rowHash\r\n } = result;\r\n var {\r\n columnHash: columnHash\r\n } = result;\r\n if (total && total.summary) {\r\n each(total.summary, (index, summary) => {\r\n setValue(result.values, summary, result.grandTotalRowIndex, result.grandTotalColumnIndex, index)\r\n })\r\n }\r\n if (total && total.groupCount >= 0) {\r\n var skip = descriptions.rows.length ? descriptions.rowSkip : descriptions.columnSkip;\r\n data = [...Array(skip)].concat(data);\r\n data.length = total.groupCount\r\n }\r\n\r\n function getItem(dataItem, dimensionName, path, level, field) {\r\n var dimensionHash = result[\"\".concat(dimensionName, \"Hash\")];\r\n var parentItem;\r\n var parentItemChildren;\r\n var item;\r\n var pathValue = path.slice(0, level + 1).join(\"/\");\r\n var parentPathValue;\r\n if (void 0 !== dimensionHash[pathValue]) {\r\n item = dimensionHash[pathValue]\r\n } else {\r\n item = {\r\n value: parseValue(dataItem.key, field),\r\n index: result[\"\".concat(dimensionName, \"Index\")]++,\r\n displayText: dataItem.displayText\r\n };\r\n parentPathValue = path.slice(0, level).join(\"/\");\r\n if (level > 0 && void 0 !== dimensionHash[parentPathValue]) {\r\n parentItem = dimensionHash[parentPathValue];\r\n parentItemChildren = parentItem.children = parentItem.children || []\r\n } else {\r\n parentItemChildren = result[\"\".concat(dimensionName, \"s\")]\r\n }\r\n parentItemChildren.push(item);\r\n dimensionHash[pathValue] = item\r\n }\r\n return item\r\n }\r\n forEachGroup(data, (item, level) => {\r\n var rowLevel = level >= descriptions.rows.length ? descriptions.rows.length : level;\r\n var columnLevel = level >= descriptions.rows.length ? level - descriptions.rows.length : 0;\r\n var columnItem;\r\n var rowItem;\r\n if (level >= descriptions.rows.length && columnLevel >= descriptions.columns.length) {\r\n return\r\n }\r\n if (level < descriptions.rows.length) {\r\n columnPath = []\r\n }\r\n if (level >= descriptions.rows.length) {\r\n if (item) {\r\n columnPath[columnLevel] = \"\".concat(item.key);\r\n columnItem = getItem(item, \"column\", columnPath, columnLevel, descriptions.columns[columnLevel]);\r\n rowItem = rowHash[rowPath.slice(0, rowLevel + 1).join(\"/\")]\r\n } else {\r\n result.columns.push({})\r\n }\r\n } else if (item) {\r\n rowPath[rowLevel] = \"\".concat(item.key);\r\n rowItem = getItem(item, \"row\", rowPath, rowLevel, descriptions.rows[rowLevel]);\r\n columnItem = columnHash[columnPath.slice(0, columnLevel + 1).join(\"/\")]\r\n } else {\r\n result.rows.push({})\r\n }\r\n var currentRowIndex = rowItem && rowItem.index || result.grandTotalRowIndex;\r\n var currentColumnIndex = columnItem && columnItem.index || result.grandTotalColumnIndex;\r\n each(item && item.summary || [], (i, summary) => {\r\n setValue(result.values, summary, currentRowIndex, currentColumnIndex, i)\r\n })\r\n });\r\n return result\r\n}\r\n\r\nfunction getFiltersForDimension(fields) {\r\n return (fields || []).filter(f => f.filterValues && f.filterValues.length || f.searchValue)\r\n}\r\n\r\nfunction getExpandedIndex(options, axis) {\r\n if (options.headerName) {\r\n if (axis === options.headerName) {\r\n return options.path.length\r\n }\r\n if (options.oppositePath) {\r\n return options.oppositePath.length\r\n }\r\n }\r\n return 0\r\n}\r\n\r\nfunction getFiltersForExpandedDimension(options) {\r\n return getFiltersByPath(options[options.headerName], options.path).concat(getFiltersByPath(options[\"rows\" === options.headerName ? \"columns\" : \"rows\"], options.oppositePath || []))\r\n}\r\n\r\nfunction getExpandedPathSliceFilter(options, dimensionName, level, firstCollapsedFieldIndex) {\r\n var result = [];\r\n var startSliceIndex = level > firstCollapsedFieldIndex ? 0 : firstCollapsedFieldIndex;\r\n var fields = options.headerName !== dimensionName ? options[dimensionName].slice(startSliceIndex, level) : [];\r\n var paths = \"rows\" === dimensionName ? options.rowExpandedPaths : options.columnExpandedPaths;\r\n each(fields, (index, field) => {\r\n var filterValues = [];\r\n each(paths, (_, path) => {\r\n path = path.slice(startSliceIndex, level);\r\n if (index < path.length) {\r\n var filterValue = path[index];\r\n if (!filterValues.includes(filterValue)) {\r\n filterValues.push(filterValue)\r\n }\r\n }\r\n });\r\n if (filterValues.length) {\r\n result.push(extend({}, field, {\r\n filterType: \"include\",\r\n filterValues: filterValues\r\n }))\r\n }\r\n });\r\n return result\r\n}\r\n\r\nfunction getGrandTotalRequest(options, dimensionName, expandedIndex, expandedLevel, commonFilters, firstCollapsedFieldIndex) {\r\n var expandedPaths = (\"columns\" === dimensionName ? options.columnExpandedPaths : options.rowExpandedPaths) || [];\r\n var oppositeDimensionName = \"columns\" === dimensionName ? \"rows\" : \"columns\";\r\n var fields = options[dimensionName];\r\n var result = [];\r\n var newOptions;\r\n if (expandedPaths.length) {\r\n for (var i = expandedIndex; i < expandedLevel + 1; i += 1) {\r\n newOptions = {\r\n filters: commonFilters.concat(getExpandedPathSliceFilter(options, dimensionName, i, firstCollapsedFieldIndex))\r\n };\r\n newOptions[dimensionName] = fields.slice(expandedIndex, i + 1);\r\n newOptions[oppositeDimensionName] = [];\r\n result.push(extend({}, options, newOptions))\r\n }\r\n } else {\r\n newOptions = {\r\n filters: commonFilters\r\n };\r\n newOptions[dimensionName] = fields.slice(expandedIndex, expandedLevel + 1);\r\n newOptions[oppositeDimensionName] = [];\r\n result.push(extend({}, options, newOptions))\r\n }\r\n result[0].includeTotalSummary = true;\r\n return result\r\n}\r\n\r\nfunction getFirstCollapsedIndex(fields) {\r\n var firstCollapsedIndex = 0;\r\n each(fields, (index, field) => {\r\n if (!field.expanded) {\r\n firstCollapsedIndex = index;\r\n return false\r\n }\r\n return\r\n });\r\n return firstCollapsedIndex\r\n}\r\n\r\nfunction getRequestsData(options) {\r\n var rowExpandedLevel = getExpandedLevel(options, \"rows\");\r\n var columnExpandedLevel = getExpandedLevel(options, \"columns\");\r\n var filters = options.filters || [];\r\n var columnExpandedIndex = getExpandedIndex(options, \"columns\");\r\n var firstCollapsedColumnIndex = getFirstCollapsedIndex(options.columns);\r\n var firstCollapsedRowIndex = getFirstCollapsedIndex(options.rows);\r\n var rowExpandedIndex = getExpandedIndex(options, \"rows\");\r\n var data = [];\r\n filters = filters.concat(getFiltersForDimension(options.rows)).concat(getFiltersForDimension(options.columns)).concat(getFiltersForExpandedDimension(options));\r\n var columnTotalsOptions = getGrandTotalRequest(options, \"columns\", columnExpandedIndex, columnExpandedLevel, filters, firstCollapsedColumnIndex);\r\n if (options.rows.length && options.columns.length) {\r\n if (\"rows\" !== options.headerName) {\r\n data = data.concat(columnTotalsOptions)\r\n }\r\n for (var i = rowExpandedIndex; i < rowExpandedLevel + 1; i += 1) {\r\n var rows = options.rows.slice(rowExpandedIndex, i + 1);\r\n var rowFilterByExpandedPaths = getExpandedPathSliceFilter(options, \"rows\", i, firstCollapsedRowIndex);\r\n for (var j = columnExpandedIndex; j < columnExpandedLevel + 1; j += 1) {\r\n var preparedOptions = extend({}, options, {\r\n columns: options.columns.slice(columnExpandedIndex, j + 1),\r\n rows: rows,\r\n filters: filters.concat(getExpandedPathSliceFilter(options, \"columns\", j, firstCollapsedColumnIndex)).concat(rowFilterByExpandedPaths)\r\n });\r\n data.push(preparedOptions)\r\n }\r\n }\r\n } else {\r\n data = options.columns.length ? columnTotalsOptions : getGrandTotalRequest(options, \"rows\", rowExpandedIndex, rowExpandedLevel, filters, firstCollapsedRowIndex)\r\n }\r\n return data\r\n}\r\n\r\nfunction prepareFields(fields) {\r\n each(fields || [], (_, field) => {\r\n var {\r\n levels: levels\r\n } = field;\r\n if (levels) {\r\n prepareFields(levels)\r\n }\r\n setDefaultFieldValueFormatting(field)\r\n })\r\n}\r\nvar RemoteStore = Class.inherit({\r\n ctor(options) {\r\n this._dataSource = new DataSource(options);\r\n this._store = this._dataSource.store()\r\n },\r\n getFields(fields) {\r\n var d = new Deferred;\r\n this._store.load({\r\n skip: 0,\r\n take: 20\r\n }).done(data => {\r\n var normalizedArguments = normalizeLoadResult(data);\r\n d.resolve(pivotGridUtils.discoverObjectFields(normalizedArguments.data, fields))\r\n }).fail(d.reject);\r\n return d\r\n },\r\n key() {\r\n return this._store.key()\r\n },\r\n load(options) {\r\n var that = this;\r\n var d = new Deferred;\r\n var result = {\r\n rows: [],\r\n columns: [],\r\n values: [],\r\n grandTotalRowIndex: 0,\r\n grandTotalColumnIndex: 0,\r\n rowHash: {},\r\n columnHash: {},\r\n rowIndex: 1,\r\n columnIndex: 1\r\n };\r\n var requestsData = getRequestsData(options);\r\n var deferreds = [];\r\n prepareFields(options.rows);\r\n prepareFields(options.columns);\r\n prepareFields(options.filters);\r\n each(requestsData, (_, dataItem) => {\r\n deferreds.push(that._store.load(createLoadOptions(dataItem, that.filter(), options.rows.length)))\r\n });\r\n when.apply(null, deferreds).done((function() {\r\n var args = deferreds.length > 1 ? arguments : [arguments];\r\n each(args, (index, argument) => {\r\n var normalizedArguments = normalizeLoadResult(argument[0], argument[1]);\r\n parseResult(normalizedArguments.data, normalizedArguments.extra, requestsData[index], result)\r\n });\r\n d.resolve({\r\n rows: result.rows,\r\n columns: result.columns,\r\n values: result.values,\r\n grandTotalRowIndex: result.grandTotalRowIndex,\r\n grandTotalColumnIndex: result.grandTotalColumnIndex\r\n })\r\n })).fail(d.reject);\r\n return d\r\n },\r\n filter() {\r\n return this._dataSource.filter.apply(this._dataSource, arguments)\r\n },\r\n supportPaging: () => false,\r\n createDrillDownDataSource(loadOptions, params) {\r\n loadOptions = loadOptions || {};\r\n params = params || {};\r\n var store = this._store;\r\n var filters = getFiltersByPath(loadOptions.rows, params.rowPath).concat(getFiltersByPath(loadOptions.columns, params.columnPath)).concat(getFiltersForDimension(loadOptions.rows)).concat(loadOptions.filters || []).concat(getFiltersForDimension(loadOptions.columns));\r\n var filterExp = createFilterExpressions(filters);\r\n return new DataSource({\r\n load: loadOptions => store.load(extend({}, loadOptions, {\r\n filter: mergeFilters(filterExp, loadOptions.filter),\r\n select: params.customColumns\r\n }))\r\n })\r\n }\r\n});\r\nexport default {\r\n RemoteStore: RemoteStore\r\n};\r\nexport {\r\n RemoteStore\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/pivot_grid/summary_display_modes/m_summary_display_modes.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isObject\r\n} from \"../../../../core/utils/type\";\r\nimport pivotGridUtils, {\r\n findField,\r\n foreachTree\r\n} from \"../m_widget_utils\";\r\nvar COLUMN = \"column\";\r\nvar ROW = \"row\";\r\nvar NULL = null;\r\nvar calculatePercentValue = function(value, totalValue) {\r\n var result = value / totalValue;\r\n if (!isDefined(value) || isNaN(result)) {\r\n result = NULL\r\n }\r\n return result\r\n};\r\nvar percentOfGrandTotal = function(e, dimension) {\r\n return calculatePercentValue(e.value(), e.grandTotal(dimension).value())\r\n};\r\nvar percentOfParent = function(e, dimension) {\r\n var parent = e.parent(dimension);\r\n var parentValue = parent ? parent.value() : e.value();\r\n return calculatePercentValue(e.value(), parentValue)\r\n};\r\nvar createAbsoluteVariationExp = function(allowCrossGroup) {\r\n return function(e) {\r\n var prevCell = e.prev(COLUMN, allowCrossGroup);\r\n var prevValue = prevCell && prevCell.value();\r\n if (isDefined(prevValue) && isDefined(e.value())) {\r\n return e.value() - prevValue\r\n }\r\n return NULL\r\n }\r\n};\r\nvar createPercentVariationExp = function(allowCrossGroup) {\r\n var absoluteExp = createAbsoluteVariationExp(allowCrossGroup);\r\n return function(e) {\r\n var absVar = absoluteExp(e);\r\n var prevCell = e.prev(COLUMN, allowCrossGroup);\r\n var prevValue = prevCell && prevCell.value();\r\n return absVar !== NULL && prevValue ? absVar / prevValue : NULL\r\n }\r\n};\r\nvar summaryDictionary = {\r\n percentOfColumnTotal: e => percentOfParent(e, ROW),\r\n percentOfRowTotal: e => percentOfParent(e, COLUMN),\r\n percentOfColumnGrandTotal: e => percentOfGrandTotal(e, ROW),\r\n percentOfRowGrandTotal: e => percentOfGrandTotal(e, COLUMN),\r\n percentOfGrandTotal: e => percentOfGrandTotal(e)\r\n};\r\nvar getPrevCellCrossGroup = function getPrevCellCrossGroup(cell, direction) {\r\n if (!cell || !cell.parent(direction)) {\r\n return\r\n }\r\n var prevCell = cell.prev(direction);\r\n if (!prevCell) {\r\n prevCell = getPrevCellCrossGroup(cell.parent(direction), direction)\r\n }\r\n return prevCell\r\n};\r\nvar createRunningTotalExpr = function(field) {\r\n if (!field.runningTotal) {\r\n return\r\n }\r\n var direction = field.runningTotal === COLUMN ? ROW : COLUMN;\r\n return function(e) {\r\n var prevCell = field.allowCrossGroupCalculation ? getPrevCellCrossGroup(e, direction) : e.prev(direction, false);\r\n var value = e.value(true);\r\n var prevValue = prevCell && prevCell.value(true);\r\n if (isDefined(prevValue) && isDefined(value)) {\r\n value = prevValue + value\r\n } else if (isDefined(prevValue)) {\r\n value = prevValue\r\n }\r\n return value\r\n }\r\n};\r\n\r\nfunction createCache() {\r\n return {\r\n fields: {},\r\n positions: {}\r\n }\r\n}\r\n\r\nfunction getFieldPos(descriptions, field, cache) {\r\n var fieldParams = {\r\n index: -1\r\n };\r\n if (!isObject(field)) {\r\n if (cache.fields[field]) {\r\n field = cache[field]\r\n } else {\r\n var allFields = descriptions.columns.concat(descriptions.rows).concat(descriptions.values);\r\n var fieldIndex = findField(allFields, field);\r\n field = cache[field] = allFields[fieldIndex]\r\n }\r\n }\r\n if (field) {\r\n var area = field.area || \"data\";\r\n fieldParams = cache.positions[field.index] = cache.positions[field.index] || {\r\n area: area,\r\n index: descriptions[\"data\" === area ? \"values\" : \"\".concat(area, \"s\")].indexOf(field)\r\n }\r\n }\r\n return fieldParams\r\n}\r\n\r\nfunction getPathFieldName(dimension) {\r\n return dimension === ROW ? \"_rowPath\" : \"_columnPath\"\r\n}\r\nvar SummaryCell = function(columnPath, rowPath, data, descriptions, fieldIndex, fieldsCache) {\r\n this._columnPath = columnPath;\r\n this._rowPath = rowPath;\r\n this._fieldIndex = fieldIndex;\r\n this._fieldsCache = fieldsCache || createCache();\r\n this._data = data;\r\n this._descriptions = descriptions;\r\n var cell = data.values && data.values[rowPath[0].index] && data.values[rowPath[0].index][columnPath[0].index];\r\n if (cell) {\r\n cell.originalCell = cell.originalCell || cell.slice();\r\n cell.postProcessedFlags = cell.postProcessedFlags || [];\r\n this._cell = cell\r\n }\r\n};\r\nSummaryCell.prototype = extend(SummaryCell.prototype, {\r\n _getPath(dimension) {\r\n return this[getPathFieldName(dimension)]\r\n },\r\n _getDimension(dimension) {\r\n dimension = dimension === ROW ? \"rows\" : \"columns\";\r\n return this._descriptions[dimension]\r\n },\r\n _createCell(config) {\r\n return new SummaryCell(config._columnPath || this._columnPath, config._rowPath || this._rowPath, this._data, this._descriptions, this._fieldIndex)\r\n },\r\n parent(direction) {\r\n var path = this._getPath(direction).slice();\r\n var config = {};\r\n path.shift();\r\n if (path.length) {\r\n config[getPathFieldName(direction)] = path;\r\n return this._createCell(config)\r\n }\r\n return NULL\r\n },\r\n children(direction) {\r\n var path = this._getPath(direction).slice();\r\n var item = path[0];\r\n var result = [];\r\n var cellConfig = {};\r\n if (item.children) {\r\n for (var i = 0; i < item.children.length; i += 1) {\r\n cellConfig[getPathFieldName(direction)] = [item.children[i]].concat(path.slice());\r\n result.push(this._createCell(cellConfig))\r\n }\r\n }\r\n return result\r\n },\r\n grandTotal(direction) {\r\n var config = {};\r\n var rowPath = this._rowPath;\r\n var columnPath = this._columnPath;\r\n var dimensionPath = this._getPath(direction);\r\n var pathFieldName = getPathFieldName(direction);\r\n if (!direction) {\r\n config._rowPath = [rowPath[rowPath.length - 1]];\r\n config._columnPath = [columnPath[columnPath.length - 1]]\r\n } else {\r\n config[pathFieldName] = [dimensionPath[dimensionPath.length - 1]]\r\n }\r\n return this._createCell(config)\r\n },\r\n next(direction, allowCrossGroup) {\r\n var currentPath = this._getPath(direction);\r\n var item = currentPath[0];\r\n var parent = this.parent(direction);\r\n var siblings;\r\n if (parent) {\r\n var index = currentPath[1].children.indexOf(item);\r\n siblings = parent.children(direction);\r\n if (siblings[index + 1]) {\r\n return siblings[index + 1]\r\n }\r\n }\r\n if (allowCrossGroup && parent) {\r\n do {\r\n parent = parent.next(direction, allowCrossGroup);\r\n siblings = parent ? parent.children(direction) : []\r\n } while (parent && !siblings.length);\r\n return siblings[0] || NULL\r\n }\r\n return NULL\r\n },\r\n prev(direction, allowCrossGroup) {\r\n var currentPath = this._getPath(direction);\r\n var item = currentPath[0];\r\n var parent = this.parent(direction);\r\n var siblings;\r\n if (parent) {\r\n var index = currentPath[1].children.indexOf(item);\r\n siblings = parent.children(direction);\r\n if (siblings[index - 1]) {\r\n return siblings[index - 1]\r\n }\r\n }\r\n if (allowCrossGroup && parent) {\r\n do {\r\n parent = parent.prev(direction, allowCrossGroup);\r\n siblings = parent ? parent.children(direction) : []\r\n } while (parent && !siblings.length);\r\n return siblings[siblings.length - 1] || NULL\r\n }\r\n return NULL\r\n },\r\n cell() {\r\n return this._cell\r\n },\r\n field(area) {\r\n if (\"data\" === area) {\r\n return this._descriptions.values[this._fieldIndex]\r\n }\r\n var path = this._getPath(area);\r\n var descriptions = this._getDimension(area);\r\n var field = descriptions[path.length - 2];\r\n return field || NULL\r\n },\r\n child(direction, fieldValue) {\r\n var childLevelField;\r\n var children = this.children(direction);\r\n for (var i = 0; i < children.length; i += 1) {\r\n childLevelField = childLevelField || children[i].field(direction);\r\n if (children[i].value(childLevelField) === fieldValue) {\r\n return children[i]\r\n }\r\n }\r\n return NULL\r\n },\r\n slice(field, value) {\r\n var config = {};\r\n var fieldPos = getFieldPos(this._descriptions, field, this._fieldsCache);\r\n var {\r\n area: area\r\n } = fieldPos;\r\n var fieldIndex = fieldPos.index;\r\n var sliceCell = NULL;\r\n if (area === ROW || area === COLUMN) {\r\n var path = this._getPath(area).slice();\r\n var level = -1 !== fieldIndex && path.length - 2 - fieldIndex;\r\n if (path[level]) {\r\n [][path.length - 1] = path[path.length - 1];\r\n for (var i = level; i >= 0; i -= 1) {\r\n if (path[i + 1]) {\r\n var childItems = path[i + 1].children || [];\r\n var currentValue = i === level ? value : path[i].value;\r\n path[i] = void 0;\r\n for (var childIndex = 0; childIndex < childItems.length; childIndex += 1) {\r\n if (childItems[childIndex].value === currentValue) {\r\n path[i] = childItems[childIndex];\r\n break\r\n }\r\n }\r\n }\r\n if (void 0 === path[i]) {\r\n return sliceCell\r\n }\r\n }\r\n config[getPathFieldName(area)] = path;\r\n sliceCell = this._createCell(config)\r\n }\r\n }\r\n return sliceCell\r\n },\r\n value(arg1, arg2) {\r\n var cell = this._cell;\r\n var fieldIndex = this._fieldIndex;\r\n var fistArgIsBoolean = true === arg1 || false === arg1;\r\n var field = !fistArgIsBoolean ? arg1 : NULL;\r\n var needCalculatedValue = fistArgIsBoolean && arg1 || arg2;\r\n if (isDefined(field)) {\r\n var fieldPos = getFieldPos(this._descriptions, field, this._fieldsCache);\r\n fieldIndex = fieldPos.index;\r\n if (\"data\" !== fieldPos.area) {\r\n var path = this._getPath(fieldPos.area);\r\n var level = -1 !== fieldIndex && path.length - 2 - fieldIndex;\r\n return path[level] && path[level].value\r\n }\r\n }\r\n if (cell && cell.originalCell) {\r\n return needCalculatedValue ? cell[fieldIndex] : cell.originalCell[fieldIndex]\r\n }\r\n return NULL\r\n },\r\n isPostProcessed(field) {\r\n var fieldIndex = this._fieldIndex;\r\n if (isDefined(field)) {\r\n var fieldPos = getFieldPos(this._descriptions, field, this._fieldsCache);\r\n fieldIndex = fieldPos.index;\r\n if (\"data\" !== fieldPos.area) {\r\n return false\r\n }\r\n }\r\n return !!(this._cell && this._cell.postProcessedFlags[fieldIndex])\r\n }\r\n});\r\n\r\nfunction getExpression(field) {\r\n var {\r\n summaryDisplayMode: summaryDisplayMode\r\n } = field;\r\n var crossGroupCalculation = field.allowCrossGroupCalculation;\r\n var expression = NULL;\r\n if (isFunction(field.calculateSummaryValue)) {\r\n expression = field.calculateSummaryValue\r\n } else if (summaryDisplayMode) {\r\n if (\"absoluteVariation\" === summaryDisplayMode) {\r\n expression = createAbsoluteVariationExp(crossGroupCalculation)\r\n } else if (\"percentVariation\" === summaryDisplayMode) {\r\n expression = createPercentVariationExp(crossGroupCalculation)\r\n } else {\r\n expression = summaryDictionary[summaryDisplayMode]\r\n }\r\n if (expression && !field.format && -1 !== summaryDisplayMode.indexOf(\"percent\")) {\r\n pivotGridUtils.setFieldProperty(field, \"format\", \"percent\")\r\n }\r\n }\r\n return expression\r\n}\r\n\r\nfunction processDataCell(data, rowIndex, columnIndex, isRunningTotalCalculation) {\r\n var values = data.values[rowIndex][columnIndex] = data.values[rowIndex][columnIndex] || [];\r\n var {\r\n originalCell: originalCell\r\n } = values;\r\n if (!originalCell) {\r\n return\r\n }\r\n if (values.allowResetting || !isRunningTotalCalculation) {\r\n data.values[rowIndex][columnIndex] = originalCell.slice()\r\n }\r\n data.values[rowIndex][columnIndex].allowResetting = isRunningTotalCalculation\r\n}\r\n\r\nfunction applyDisplaySummaryMode(descriptions, data) {\r\n var expressions = [];\r\n var columnElements = [{\r\n index: data.grandTotalColumnIndex,\r\n children: data.columns\r\n }];\r\n var rowElements = [{\r\n index: data.grandTotalRowIndex,\r\n children: data.rows\r\n }];\r\n var valueFields = descriptions.values;\r\n var fieldsCache = createCache();\r\n data.values = data.values || [];\r\n foreachTree(columnElements, columnPath => {\r\n columnPath[0].isEmpty = []\r\n }, false);\r\n foreachTree(rowElements, rowPath => {\r\n var rowItem = rowPath[0];\r\n rowItem.isEmpty = [];\r\n data.values[rowItem.index] = data.values[rowItem.index] || [];\r\n foreachTree(columnElements, columnPath => {\r\n var columnItem = columnPath[0];\r\n var isEmptyCell;\r\n processDataCell(data, rowItem.index, columnItem.index, false);\r\n for (var i = 0; i < valueFields.length; i += 1) {\r\n var field = valueFields[i];\r\n var expression = expressions[i] = void 0 === expressions[i] ? getExpression(field) : expressions[i];\r\n isEmptyCell = false;\r\n if (expression) {\r\n var expressionArg = new SummaryCell(columnPath, rowPath, data, descriptions, i, fieldsCache);\r\n var cell = expressionArg.cell();\r\n var value = cell[i] = expression(expressionArg);\r\n cell.postProcessedFlags[i] = true;\r\n isEmptyCell = null === value || void 0 === value\r\n }\r\n if (void 0 === columnItem.isEmpty[i]) {\r\n columnItem.isEmpty[i] = true\r\n }\r\n if (void 0 === rowItem.isEmpty[i]) {\r\n rowItem.isEmpty[i] = true\r\n }\r\n if (!isEmptyCell) {\r\n rowItem.isEmpty[i] = columnItem.isEmpty[i] = false\r\n }\r\n }\r\n }, false)\r\n }, false);\r\n data.isEmptyGrandTotalRow = rowElements[0].isEmpty;\r\n data.isEmptyGrandTotalColumn = columnElements[0].isEmpty\r\n}\r\n\r\nfunction applyRunningTotal(descriptions, data) {\r\n var expressions = [];\r\n var columnElements = [{\r\n index: data.grandTotalColumnIndex,\r\n children: data.columns\r\n }];\r\n var rowElements = [{\r\n index: data.grandTotalRowIndex,\r\n children: data.rows\r\n }];\r\n var valueFields = descriptions.values;\r\n var fieldsCache = createCache();\r\n data.values = data.values || [];\r\n foreachTree(rowElements, rowPath => {\r\n var rowItem = rowPath[0];\r\n data.values[rowItem.index] = data.values[rowItem.index] || [];\r\n foreachTree(columnElements, columnPath => {\r\n var columnItem = columnPath[0];\r\n processDataCell(data, rowItem.index, columnItem.index, true);\r\n for (var i = 0; i < valueFields.length; i += 1) {\r\n var field = valueFields[i];\r\n var expression = expressions[i] = void 0 === expressions[i] ? createRunningTotalExpr(field) : expressions[i];\r\n if (expression) {\r\n var expressionArg = new SummaryCell(columnPath, rowPath, data, descriptions, i, fieldsCache);\r\n var cell = expressionArg.cell();\r\n cell[i] = expression(expressionArg);\r\n cell.postProcessedFlags[i] = true\r\n }\r\n }\r\n }, false)\r\n }, false)\r\n}\r\n\r\nfunction createMockSummaryCell(descriptions, fields, indices) {\r\n var summaryCell = new SummaryCell([], [], {}, descriptions, 0);\r\n summaryCell.value = function(fieldId) {\r\n if (isDefined(fieldId)) {\r\n var index = findField(fields, fieldId);\r\n var field = fields[index];\r\n if (!indices[index] && field && !isDefined(field.area)) {\r\n descriptions.values.push(field);\r\n indices[index] = true\r\n }\r\n }\r\n };\r\n summaryCell.grandTotal = function() {\r\n return this\r\n };\r\n summaryCell.children = function() {\r\n return []\r\n };\r\n return summaryCell\r\n}\r\nexport default {\r\n Cell: SummaryCell,\r\n summaryDictionary: summaryDictionary,\r\n getExpression: getExpression,\r\n applyRunningTotal: applyRunningTotal,\r\n createMockSummaryCell: createMockSummaryCell,\r\n applyDisplaySummaryMode: applyDisplaySummaryMode\r\n};\r\nexport {\r\n applyDisplaySummaryMode,\r\n applyRunningTotal,\r\n SummaryCell as Cell,\r\n createMockSummaryCell,\r\n getExpression,\r\n summaryDictionary\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/pivot_grid/xmla_store/m_xmla_store.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../../../core/class\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each,\r\n map\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n format as stringFormat\r\n} from \"../../../../core/utils/string\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isNumeric,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n getWindow\r\n} from \"../../../../core/utils/window\";\r\nimport {\r\n errors\r\n} from \"../../../../data/errors\";\r\nimport {\r\n getLanguageId\r\n} from \"../../../../localization/language_codes\";\r\nimport pivotGridUtils, {\r\n foreachTree,\r\n getExpandedLevel,\r\n storeDrillDownMixin\r\n} from \"../m_widget_utils\";\r\nvar window = getWindow();\r\nvar XmlaStore = Class.inherit(function() {\r\n var discover = '{2}{0}{1}{0}{3}';\r\n var mdx = \"SELECT {2} FROM {0} {1} CELL PROPERTIES VALUE, FORMAT_STRING, LANGUAGE, BACK_COLOR, FORE_COLOR, FONT_FLAGS\";\r\n\r\n function execXMLA(requestOptions, data) {\r\n var deferred = new Deferred;\r\n var {\r\n beforeSend: beforeSend\r\n } = requestOptions;\r\n var ajaxSettings = {\r\n url: requestOptions.url,\r\n dataType: \"text\",\r\n data: data,\r\n headers: {\r\n \"Content-Type\": \"text/xml\"\r\n },\r\n xhrFields: {},\r\n method: \"POST\"\r\n };\r\n if (isFunction(beforeSend)) {\r\n beforeSend(ajaxSettings)\r\n }\r\n pivotGridUtils.sendRequest(ajaxSettings).fail((function() {\r\n deferred.reject(arguments)\r\n })).done(text => {\r\n var parser = new window.DOMParser;\r\n var xml;\r\n try {\r\n try {\r\n xml = parser.parseFromString(text, \"text/xml\")\r\n } catch (e) {\r\n xml = void 0\r\n }\r\n if (!xml || xml.getElementsByTagName(\"parsererror\").length || 0 === xml.childNodes.length) {\r\n throw new errors.Error(\"E4023\", text)\r\n }\r\n } catch (e) {\r\n deferred.reject({\r\n statusText: e.message,\r\n stack: e.stack,\r\n responseText: text\r\n })\r\n }\r\n deferred.resolve(xml)\r\n });\r\n return deferred\r\n }\r\n\r\n function getLocaleIdProperty() {\r\n var languageId = getLanguageId();\r\n if (void 0 !== languageId) {\r\n return stringFormat(\"{0}\", languageId)\r\n }\r\n return \"\"\r\n }\r\n\r\n function getAllMember(dimension) {\r\n return \"\".concat(dimension.hierarchyName || dimension.dataField, \".[All]\")\r\n }\r\n\r\n function getAllMembers(field) {\r\n var result = \"\".concat(field.dataField, \".allMembers\");\r\n var {\r\n searchValue: searchValue\r\n } = field;\r\n if (searchValue) {\r\n searchValue = searchValue.replace(/'/g, \"''\");\r\n result = \"Filter(\".concat(result, \", instr(\").concat(field.dataField, \".currentmember.member_caption,'\").concat(searchValue, \"') > 0)\")\r\n }\r\n return result\r\n }\r\n\r\n function crossJoinElements(elements) {\r\n var elementsString = elements.join(\",\");\r\n return elements.length > 1 ? stringFormat(\"CrossJoin({0})\", elementsString) : elementsString\r\n }\r\n\r\n function generateCrossJoin(path, expandLevel, expandAllCount, expandIndex, slicePath, options, axisName, take) {\r\n var crossJoinArgs = [];\r\n var dimensions = options[axisName];\r\n var fields = [];\r\n var arg;\r\n var prevDimension;\r\n var member;\r\n for (var i = expandIndex; i <= expandLevel; i += 1) {\r\n var field = dimensions[i];\r\n var {\r\n dataField: dataField\r\n } = field;\r\n var prevHierarchyName = dimensions[i - 1] && dimensions[i - 1].hierarchyName;\r\n var {\r\n hierarchyName: hierarchyName\r\n } = field;\r\n var isLastDimensionInGroup = !hierarchyName || !dimensions[i + 1] || dimensions[i + 1].hierarchyName !== hierarchyName;\r\n var expandAllIndex = path.length + expandAllCount + expandIndex;\r\n arg = null;\r\n fields.push(field);\r\n if (i < path.length) {\r\n if (isLastDimensionInGroup) {\r\n arg = \"(\".concat(dataField, \".\").concat(preparePathValue(path[i], dataField), \")\")\r\n }\r\n } else if (i <= expandAllIndex) {\r\n if (0 === i && 0 === expandAllCount) {\r\n var allMember = getAllMember(dimensions[expandIndex]);\r\n if (!hierarchyName) {\r\n arg = getAllMembers(dimensions[expandIndex])\r\n } else {\r\n arg = \"\".concat(allMember, \",\").concat(dimensions[expandIndex].dataField)\r\n }\r\n } else if (hierarchyName) {\r\n member = preparePathValue(slicePath[slicePath.length - 1]);\r\n if (isLastDimensionInGroup || i === expandAllIndex) {\r\n if (prevHierarchyName === hierarchyName) {\r\n if (slicePath.length) {\r\n prevDimension = dimensions[slicePath.length - 1]\r\n }\r\n if (!prevDimension || prevDimension.hierarchyName !== hierarchyName) {\r\n prevDimension = dimensions[i - 1];\r\n member = \"\"\r\n }\r\n arg = (level = prevDimension.dataField, levelMember = member, nextLevel = dataField, memberExpression = void 0, memberExpression = levelMember || level, \"Descendants({\".concat(memberExpression, \"}, \").concat(nextLevel, \", SELF_AND_BEFORE)\"))\r\n } else {\r\n arg = getAllMembers(field)\r\n }\r\n }\r\n } else {\r\n arg = getAllMembers(field)\r\n }\r\n } else {\r\n var isFirstDimensionInGroup = !hierarchyName || prevHierarchyName !== hierarchyName;\r\n if (isFirstDimensionInGroup) {\r\n arg = \"(\".concat(getAllMember(field), \")\")\r\n }\r\n }\r\n if (arg) {\r\n arg = stringFormat(\"{{0}}\", arg);\r\n if (take) {\r\n var sortBy = (field.hierarchyName || field.dataField) + (\"displayText\" === field.sortBy ? \".MEMBER_CAPTION\" : \".MEMBER_VALUE\");\r\n arg = stringFormat(\"Order({0}, {1}, {2})\", arg, sortBy, \"desc\" === field.sortOrder ? \"DESC\" : \"ASC\")\r\n }\r\n crossJoinArgs.push(arg)\r\n }\r\n }\r\n var level, levelMember, nextLevel, memberExpression;\r\n return crossJoinElements(crossJoinArgs)\r\n }\r\n\r\n function fillCrossJoins(crossJoins, path, expandLevel, expandIndex, slicePath, options, axisName, cellsString, take, totalsOnly) {\r\n var expandAllCount = -1;\r\n var dimensions = options[axisName];\r\n var dimensionIndex;\r\n do {\r\n expandAllCount += 1;\r\n dimensionIndex = path.length + expandAllCount + expandIndex;\r\n var crossJoin = generateCrossJoin(path, expandLevel, expandAllCount, expandIndex, slicePath, options, axisName, take);\r\n if (!take && !totalsOnly) {\r\n crossJoin = stringFormat(\"NonEmpty({0}, {1})\", crossJoin, cellsString)\r\n }\r\n crossJoins.push(crossJoin)\r\n } while (dimensions[dimensionIndex] && dimensions[dimensionIndex + 1] && dimensions[dimensionIndex].expanded)\r\n }\r\n\r\n function declare(expression, withArray, name, type) {\r\n name = name || \"[DX_Set_\".concat(withArray.length, \"]\");\r\n type = type || \"set\";\r\n withArray.push(stringFormat(\"{0} {1} as {2}\", type, name, expression));\r\n return name\r\n }\r\n\r\n function generateAxisMdx(options, axisName, cells, withArray, parseOptions) {\r\n var dimensions = options[axisName];\r\n var crossJoins = [];\r\n var path = [];\r\n var expandedPaths = [];\r\n var expandIndex = 0;\r\n var expandLevel = 0;\r\n var result = [];\r\n var cellsString = stringFormat(\"{{0}}\", cells.join(\",\"));\r\n if (dimensions && dimensions.length) {\r\n if (options.headerName === axisName) {\r\n path = options.path;\r\n expandIndex = path.length\r\n } else if (options.headerName && options.oppositePath) {\r\n path = options.oppositePath;\r\n expandIndex = path.length\r\n } else {\r\n expandedPaths = (\"columns\" === axisName ? options.columnExpandedPaths : options.rowExpandedPaths) || expandedPaths\r\n }\r\n expandLevel = getExpandedLevel(options, axisName);\r\n fillCrossJoins(crossJoins, [], expandLevel, expandIndex, path, options, axisName, cellsString, \"rows\" === axisName ? options.rowTake : options.columnTake, options.totalsOnly);\r\n each(expandedPaths, (_, expandedPath) => {\r\n fillCrossJoins(crossJoins, expandedPath, expandLevel, expandIndex, expandedPath, options, axisName, cellsString)\r\n });\r\n for (var i = expandLevel; i >= path.length; i -= 1) {\r\n if (dimensions[i].hierarchyName) {\r\n parseOptions.visibleLevels[dimensions[i].hierarchyName] = parseOptions.visibleLevels[dimensions[i].hierarchyName] || [];\r\n parseOptions.visibleLevels[dimensions[i].hierarchyName].push(dimensions[i].dataField)\r\n }\r\n }\r\n }\r\n if (crossJoins.length) {\r\n var expression = (elements = crossJoins, elementsString = elements.join(\",\"), elements.length > 1 ? \"Union(\".concat(elementsString, \")\") : elementsString);\r\n if (\"rows\" === axisName && options.rowTake) {\r\n expression = stringFormat(\"Subset({0}, {1}, {2})\", expression, options.rowSkip > 0 ? options.rowSkip + 1 : 0, options.rowSkip > 0 ? options.rowTake : options.rowTake + 1)\r\n }\r\n if (\"columns\" === axisName && options.columnTake) {\r\n expression = stringFormat(\"Subset({0}, {1}, {2})\", expression, options.columnSkip > 0 ? options.columnSkip + 1 : 0, options.columnSkip > 0 ? options.columnTake : options.columnTake + 1)\r\n }\r\n var axisSet = \"[DX_\".concat(axisName, \"]\");\r\n result.push(declare(expression, withArray, axisSet));\r\n if (options.totalsOnly) {\r\n result.push(declare(\"COUNT(\".concat(axisSet, \")\"), withArray, \"[DX_\".concat(axisName, \"_count]\"), \"member\"))\r\n }\r\n }\r\n var elements, elementsString;\r\n if (\"columns\" === axisName && cells.length && !options.skipValues) {\r\n result.push(cellsString)\r\n }\r\n return stringFormat(\"{0} DIMENSION PROPERTIES PARENT_UNIQUE_NAME,HIERARCHY_UNIQUE_NAME, MEMBER_VALUE ON {1}\", crossJoinElements(result), axisName)\r\n }\r\n\r\n function generateAxisFieldsFilter(fields) {\r\n var filterMembers = [];\r\n each(fields, (_, field) => {\r\n var {\r\n dataField: dataField\r\n } = field;\r\n var filterExpression = [];\r\n var filterValues = field.filterValues || [];\r\n var filterStringExpression;\r\n if (field.hierarchyName && isNumeric(field.groupIndex)) {\r\n return\r\n }\r\n each(filterValues, (_, filterValue) => {\r\n var filterMdx = \"\".concat(dataField, \".\").concat(preparePathValue(Array.isArray(filterValue) ? filterValue[filterValue.length - 1] : filterValue, dataField));\r\n if (\"exclude\" === field.filterType) {\r\n filterExpression.push(\"\".concat(filterMdx, \".parent\"));\r\n filterMdx = \"Descendants(\".concat(filterMdx, \")\")\r\n }\r\n filterExpression.push(filterMdx)\r\n });\r\n if (filterValues.length) {\r\n filterStringExpression = stringFormat(\"{{0}}\", filterExpression.join(\",\"));\r\n if (\"exclude\" === field.filterType) {\r\n filterStringExpression = \"Except(\".concat(getAllMembers(field), \",\").concat(filterStringExpression, \")\")\r\n }\r\n filterMembers.push(filterStringExpression)\r\n }\r\n });\r\n return filterMembers.length ? crossJoinElements(filterMembers) : \"\"\r\n }\r\n\r\n function generateFrom(columnsFilter, rowsFilter, filter, cubeName) {\r\n var from = \"[\".concat(cubeName, \"]\");\r\n each([columnsFilter, rowsFilter, filter], (_, filter) => {\r\n if (filter) {\r\n from = stringFormat(\"(SELECT {0} FROM {1})\", \"\".concat(filter, \"on 0\"), from)\r\n }\r\n });\r\n return from\r\n }\r\n\r\n function generateMdxCore(axisStrings, withArray, columns, rows, filters, slice, cubeName) {\r\n var options = arguments.length > 7 && void 0 !== arguments[7] ? arguments[7] : {};\r\n var mdxString = \"\";\r\n var withString = \"\".concat(withArray.length ? \"with \".concat(withArray.join(\" \")) : \"\", \" \");\r\n if (axisStrings.length) {\r\n var select;\r\n if (options.totalsOnly) {\r\n var countMembers = [];\r\n if (rows.length) {\r\n countMembers.push(\"[DX_rows_count]\")\r\n }\r\n if (columns.length) {\r\n countMembers.push(\"[DX_columns_count]\")\r\n }\r\n select = \"{\".concat(countMembers.join(\",\"), \"} on columns\")\r\n } else {\r\n select = axisStrings.join(\",\")\r\n }\r\n mdxString = withString + stringFormat(mdx, generateFrom(generateAxisFieldsFilter(columns), generateAxisFieldsFilter(rows), generateAxisFieldsFilter(filters || []), cubeName), slice.length ? stringFormat(\"WHERE ({0})\", slice.join(\",\")) : \"\", select)\r\n }\r\n return mdxString\r\n }\r\n\r\n function prepareDataFields(withArray, valueFields) {\r\n return map(valueFields, cell => {\r\n if (isString(cell.expression)) {\r\n declare(cell.expression, withArray, cell.dataField, \"member\")\r\n }\r\n return cell.dataField\r\n })\r\n }\r\n\r\n function addSlices(slices, options, headerName, path) {\r\n each(path, (index, value) => {\r\n var dimension = options[headerName][index];\r\n if (!dimension.hierarchyName || dimension.hierarchyName !== options[headerName][index + 1].hierarchyName) {\r\n slices.push(\"\".concat(dimension.dataField, \".\").concat(preparePathValue(value, dimension.dataField)))\r\n }\r\n })\r\n }\r\n\r\n function generateMDX(options, cubeName, parseOptions) {\r\n var columns = options.columns || [];\r\n var rows = options.rows || [];\r\n var values = options.values && options.values.length ? options.values : [{\r\n dataField: \"[Measures]\"\r\n }];\r\n var slice = [];\r\n var withArray = [];\r\n var axisStrings = [];\r\n var dataFields = prepareDataFields(withArray, values);\r\n parseOptions.measureCount = options.skipValues ? 1 : values.length;\r\n parseOptions.visibleLevels = {};\r\n if (options.headerName && options.path) {\r\n addSlices(slice, options, options.headerName, options.path)\r\n }\r\n if (options.headerName && options.oppositePath) {\r\n addSlices(slice, options, \"rows\" === options.headerName ? \"columns\" : \"rows\", options.oppositePath)\r\n }\r\n if (columns.length || dataFields.length) {\r\n axisStrings.push(generateAxisMdx(options, \"columns\", dataFields, withArray, parseOptions))\r\n }\r\n if (rows.length) {\r\n axisStrings.push(generateAxisMdx(options, \"rows\", dataFields, withArray, parseOptions))\r\n }\r\n return generateMdxCore(axisStrings, withArray, columns, rows, options.filters, slice, cubeName, options)\r\n }\r\n\r\n function createDrillDownAxisSlice(slice, fields, path) {\r\n each(path, (index, value) => {\r\n var field = fields[index];\r\n if (field.hierarchyName && (fields[index + 1] || {}).hierarchyName === field.hierarchyName) {\r\n return\r\n }\r\n slice.push(\"\".concat(field.dataField, \".\").concat(preparePathValue(value, field.dataField)))\r\n })\r\n }\r\n\r\n function getNumber(str) {\r\n return parseInt(str, 10)\r\n }\r\n\r\n function getFirstChildText(node, childTagName) {\r\n return getNodeText(function(node, tagName) {\r\n return (node.getElementsByTagName(tagName) || [])[0]\r\n }(node, childTagName))\r\n }\r\n\r\n function getNodeText(node) {\r\n return node && (node.textContent || node.text || node.innerHTML) || \"\"\r\n }\r\n\r\n function parseCells(xml, axes, measureCount) {\r\n var cells = [];\r\n var cell = [];\r\n var index = 0;\r\n var cellsOriginal = [];\r\n var cellElements = xml.getElementsByTagName(\"Cell\");\r\n var errorDictionary = {};\r\n for (var i = 0; i < cellElements.length; i += 1) {\r\n var xmlCell = cellElements[i];\r\n var valueElement = xmlCell.getElementsByTagName(\"Value\")[0];\r\n var errorElements = valueElement && valueElement.getElementsByTagName(\"Error\") || [];\r\n var text = 0 === errorElements.length ? getNodeText(valueElement) : \"#N/A\";\r\n var value = parseFloat(text);\r\n var _isNumeric = text - value + 1 > 0;\r\n var cellOrdinal = getNumber(xmlCell.getAttribute(\"CellOrdinal\"));\r\n if (errorElements.length) {\r\n errorDictionary[getNodeText(errorElements[0].getElementsByTagName(\"ErrorCode\")[0])] = getNodeText(errorElements[0].getElementsByTagName(\"Description\")[0])\r\n }\r\n cellsOriginal[cellOrdinal] = {\r\n value: _isNumeric ? value : text || null\r\n }\r\n }\r\n each(axes[1], () => {\r\n var row = [];\r\n cells.push(row);\r\n each(axes[0], () => {\r\n var measureIndex = index % measureCount;\r\n if (0 === measureIndex) {\r\n cell = [];\r\n row.push(cell)\r\n }\r\n cell.push(cellsOriginal[index] ? cellsOriginal[index].value : null);\r\n index += 1\r\n })\r\n });\r\n Object.keys(errorDictionary).forEach(key => {\r\n errors.log(\"W4002\", errorDictionary[key])\r\n });\r\n return cells\r\n }\r\n\r\n function preparePathValue(pathValue, dataField) {\r\n if (pathValue) {\r\n pathValue = isString(pathValue) && pathValue.includes(\"&\") ? pathValue : \"[\".concat(pathValue, \"]\");\r\n if (dataField && 0 === pathValue.indexOf(\"\".concat(dataField, \".\"))) {\r\n pathValue = pathValue.slice(dataField.length + 1, pathValue.length)\r\n }\r\n }\r\n return pathValue\r\n }\r\n\r\n function getItem(hash, name, member, index) {\r\n var item = hash[name];\r\n if (!item) {\r\n item = {};\r\n hash[name] = item\r\n }\r\n if (!isDefined(item.value) && member) {\r\n item.text = member.caption;\r\n item.value = member.value;\r\n item.key = name || \"\";\r\n item.levelName = member.levelName;\r\n item.hierarchyName = member.hierarchyName;\r\n item.parentName = member.parentName;\r\n item.index = index;\r\n item.level = member.level\r\n }\r\n return item\r\n }\r\n\r\n function getVisibleChildren(item, visibleLevels) {\r\n var result = [];\r\n var children = item.children && (item.children.length ? item.children : Object.keys(item.children.grandTotalHash || {}).reduce((result, name) => result.concat(item.children.grandTotalHash[name].children), []));\r\n var firstChild = children && children[0];\r\n if (firstChild && (visibleLevels[firstChild.hierarchyName] && visibleLevels[firstChild.hierarchyName].includes(firstChild.levelName) || !visibleLevels[firstChild.hierarchyName] || 0 === firstChild.level)) {\r\n var newChildren = children.filter(child => child.hierarchyName === firstChild.hierarchyName);\r\n newChildren.grandTotalHash = children.grandTotalHash;\r\n return newChildren\r\n }\r\n if (firstChild) {\r\n for (var i = 0; i < children.length; i += 1) {\r\n if (children[i].hierarchyName === firstChild.hierarchyName) {\r\n result.push.apply(result, getVisibleChildren(children[i], visibleLevels))\r\n }\r\n }\r\n }\r\n return result\r\n }\r\n\r\n function fillDataSourceAxes(dataSourceAxis, axisTuples, measureCount, visibleLevels) {\r\n var result = [];\r\n each(axisTuples, (tupleIndex, members) => {\r\n var parentItem = {\r\n children: result\r\n };\r\n var dataIndex = isDefined(measureCount) ? Math.floor(tupleIndex / measureCount) : tupleIndex;\r\n each(members, (_, member) => {\r\n parentItem = function(dataIndex, member, parentItem) {\r\n var children = parentItem.children = parentItem.children || [];\r\n var hash = children.hash = children.hash || {};\r\n var grandTotalHash = children.grandTotalHash = children.grandTotalHash || {};\r\n if (member.parentName) {\r\n parentItem = getItem(hash, member.parentName);\r\n children = parentItem.children = parentItem.children || []\r\n }\r\n var currentItem = getItem(hash, member.name, member, dataIndex);\r\n if (member.hasValue && !currentItem.added) {\r\n currentItem.index = dataIndex;\r\n currentItem.added = true;\r\n children.push(currentItem)\r\n }\r\n if ((!parentItem.value || !parentItem.parentName) && member.parentName) {\r\n grandTotalHash[member.parentName] = parentItem\r\n } else if (grandTotalHash[parentItem.name]) {\r\n delete grandTotalHash[member.parentName]\r\n }\r\n return currentItem\r\n }(dataIndex, member, parentItem)\r\n })\r\n });\r\n var parentItem = {\r\n children: result\r\n };\r\n parentItem.children = getVisibleChildren(parentItem, visibleLevels);\r\n var grandTotalIndex = function(parentItem, visibleLevels) {\r\n var grandTotalIndex;\r\n if (1 === parentItem.children.length && \"\" === parentItem.children[0].parentName) {\r\n grandTotalIndex = parentItem.children[0].index;\r\n var {\r\n grandTotalHash: grandTotalHash\r\n } = parentItem.children;\r\n parentItem.children = parentItem.children[0].children || [];\r\n parentItem.children.grandTotalHash = grandTotalHash;\r\n parentItem.children = getVisibleChildren(parentItem, visibleLevels)\r\n } else if (0 === parentItem.children.length) {\r\n grandTotalIndex = 0\r\n }\r\n return grandTotalIndex\r\n }(parentItem, visibleLevels);\r\n foreachTree(parentItem.children, items => {\r\n var item = items[0];\r\n var children = getVisibleChildren(item, visibleLevels);\r\n if (children.length) {\r\n item.children = children\r\n } else {\r\n delete item.children\r\n }\r\n delete item.levelName;\r\n delete item.hierarchyName;\r\n delete item.added;\r\n delete item.parentName;\r\n delete item.level\r\n }, true);\r\n each(parentItem.children || [], (_, e) => {\r\n dataSourceAxis.push(e)\r\n });\r\n return grandTotalIndex\r\n }\r\n\r\n function checkError(xml) {\r\n var faultElementNS = xml.getElementsByTagName(\"soap:Fault\");\r\n var faultElement = xml.getElementsByTagName(\"Fault\");\r\n var errorElement = $([].slice.call(faultElement.length ? faultElement : faultElementNS)).find(\"Error\");\r\n if (errorElement.length) {\r\n var description = errorElement.attr(\"Description\");\r\n var error = new errors.Error(\"E4000\", description);\r\n errors.log(\"E4000\", description);\r\n return error\r\n }\r\n return null\r\n }\r\n\r\n function parseResult(xml, parseOptions) {\r\n var dataSource = {\r\n columns: [],\r\n rows: []\r\n };\r\n var {\r\n measureCount: measureCount\r\n } = parseOptions;\r\n var axes = function(xml, skipValues) {\r\n var axes = [];\r\n each(xml.getElementsByTagName(\"Axis\"), (_, axisElement) => {\r\n var name = axisElement.getAttribute(\"name\");\r\n var axis = [];\r\n var index = 0;\r\n if (0 === name.indexOf(\"Axis\") && isNumeric(getNumber(name.substr(4)))) {\r\n axes.push(axis);\r\n each(axisElement.getElementsByTagName(\"Tuple\"), (_, tupleElement) => {\r\n var tupleMembers = tupleElement.childNodes;\r\n var levelSum = 0;\r\n var members = [];\r\n var membersCount = skipValues ? tupleMembers.length : tupleMembers.length - 1;\r\n var isAxisWithMeasure = 1 === axes.length;\r\n if (isAxisWithMeasure) {\r\n membersCount -= 1\r\n }\r\n axis.push(members);\r\n for (var i = membersCount; i >= 0; i -= 1) {\r\n var tuple = tupleMembers[i];\r\n var level = getNumber(getFirstChildText(tuple, \"LNum\"));\r\n members[i] = {\r\n caption: getFirstChildText(tuple, \"Caption\"),\r\n value: (valueText = getFirstChildText(tuple, \"MEMBER_VALUE\"), isNumeric(valueText) ? parseFloat(valueText) : valueText),\r\n level: level,\r\n index: index++,\r\n hasValue: !levelSum && (!!level || 0 === i),\r\n name: getFirstChildText(tuple, \"UName\"),\r\n hierarchyName: tupleMembers[i].getAttribute(\"Hierarchy\"),\r\n parentName: getFirstChildText(tuple, \"PARENT_UNIQUE_NAME\"),\r\n levelName: getFirstChildText(tuple, \"LName\")\r\n };\r\n levelSum += level\r\n }\r\n var valueText\r\n })\r\n }\r\n });\r\n while (axes.length < 2) {\r\n axes.push([\r\n [{\r\n level: 0\r\n }]\r\n ])\r\n }\r\n return axes\r\n }(xml, parseOptions.skipValues);\r\n dataSource.grandTotalColumnIndex = fillDataSourceAxes(dataSource.columns, axes[0], measureCount, parseOptions.visibleLevels);\r\n dataSource.grandTotalRowIndex = fillDataSourceAxes(dataSource.rows, axes[1], void 0, parseOptions.visibleLevels);\r\n dataSource.values = parseCells(xml, axes, measureCount);\r\n return dataSource\r\n }\r\n\r\n function parseDiscoverRowSet(xml, schema, dimensions, translatedDisplayFolders) {\r\n var result = [];\r\n var isMeasure = \"MEASURE\" === schema;\r\n var displayFolderField = isMeasure ? \"MEASUREGROUP_NAME\" : \"\".concat(schema, \"_DISPLAY_FOLDER\");\r\n each(xml.getElementsByTagName(\"row\"), (_, row) => {\r\n var hierarchyName = \"LEVEL\" === schema ? getFirstChildText(row, \"HIERARCHY_UNIQUE_NAME\") : void 0;\r\n var levelNumber = getFirstChildText(row, \"LEVEL_NUMBER\");\r\n var displayFolder = getFirstChildText(row, displayFolderField);\r\n if (isMeasure) {\r\n displayFolder = translatedDisplayFolders[displayFolder] || displayFolder\r\n }\r\n if ((\"0\" !== levelNumber || \"true\" !== getFirstChildText(row, \"\".concat(schema, \"_IS_VISIBLE\"))) && \"2\" !== getFirstChildText(row, \"DIMENSION_TYPE\")) {\r\n var dimension = isMeasure ? \"DX_MEASURES\" : getFirstChildText(row, \"DIMENSION_UNIQUE_NAME\");\r\n var dataField = getFirstChildText(row, \"\".concat(schema, \"_UNIQUE_NAME\"));\r\n result.push({\r\n dimension: dimensions.names[dimension] || dimension,\r\n groupIndex: levelNumber ? getNumber(levelNumber) - 1 : void 0,\r\n dataField: dataField,\r\n caption: getFirstChildText(row, \"\".concat(schema, \"_CAPTION\")),\r\n hierarchyName: hierarchyName,\r\n groupName: hierarchyName,\r\n displayFolder: displayFolder,\r\n isMeasure: isMeasure,\r\n isDefault: !!dimensions.defaultHierarchies[dataField]\r\n })\r\n }\r\n });\r\n return result\r\n }\r\n\r\n function parseStringWithUnicodeSymbols(str) {\r\n str = str.replace(/_x(....)_/g, (_, group1) => String.fromCharCode(parseInt(group1, 16)));\r\n var stringArray = str.match(/\\[.+?\\]/gi);\r\n if (stringArray && stringArray.length) {\r\n str = stringArray[stringArray.length - 1]\r\n }\r\n return str.replace(/\\[/gi, \"\").replace(/\\]/gi, \"\").replace(/\\$/gi, \"\").replace(/\\./gi, \" \")\r\n }\r\n\r\n function sendQuery(storeOptions, mdxString) {\r\n mdxString = $(\"
    \").text(mdxString).html();\r\n return execXMLA(storeOptions, stringFormat('{0}{1}TrueMicrosoft SQL Server Management Studio3600{2}', mdxString, storeOptions.catalog, getLocaleIdProperty()))\r\n }\r\n return {\r\n ctor(options) {\r\n this._options = options\r\n },\r\n getFields() {\r\n var options = this._options;\r\n var {\r\n catalog: catalog\r\n } = options;\r\n var {\r\n cube: cube\r\n } = options;\r\n var localeIdProperty = getLocaleIdProperty();\r\n var dimensionsRequest = execXMLA(options, stringFormat(discover, catalog, cube, \"MDSCHEMA_DIMENSIONS\", localeIdProperty));\r\n var measuresRequest = execXMLA(options, stringFormat(discover, catalog, cube, \"MDSCHEMA_MEASURES\", localeIdProperty));\r\n var hierarchiesRequest = execXMLA(options, stringFormat(discover, catalog, cube, \"MDSCHEMA_HIERARCHIES\", localeIdProperty));\r\n var levelsRequest = execXMLA(options, stringFormat(discover, catalog, cube, \"MDSCHEMA_LEVELS\", localeIdProperty));\r\n var result = new Deferred;\r\n when(dimensionsRequest, measuresRequest, hierarchiesRequest, levelsRequest).then((dimensionsResponse, measuresResponse, hierarchiesResponse, levelsResponse) => {\r\n execXMLA(options, stringFormat(discover, catalog, cube, \"MDSCHEMA_MEASUREGROUPS\", localeIdProperty)).done(measureGroupsResponse => {\r\n var dimensions = function(xml) {\r\n var result = {\r\n names: {},\r\n defaultHierarchies: {}\r\n };\r\n each($(xml).find(\"row\"), (function() {\r\n var $row = $(this);\r\n var type = $row.children(\"DIMENSION_TYPE\").text();\r\n var dimensionName = \"2\" === type ? \"DX_MEASURES\" : $row.children(\"DIMENSION_UNIQUE_NAME\").text();\r\n result.names[dimensionName] = $row.children(\"DIMENSION_CAPTION\").text();\r\n result.defaultHierarchies[$row.children(\"DEFAULT_HIERARCHY\").text()] = true\r\n }));\r\n return result\r\n }(dimensionsResponse);\r\n var hierarchies = parseDiscoverRowSet(hierarchiesResponse, \"HIERARCHY\", dimensions);\r\n var levels = parseDiscoverRowSet(levelsResponse, \"LEVEL\", dimensions);\r\n var measureGroups = function(xml) {\r\n var measureGroups = {};\r\n each(xml.getElementsByTagName(\"row\"), (_, row) => {\r\n measureGroups[getFirstChildText(row, \"MEASUREGROUP_NAME\")] = getFirstChildText(row, \"MEASUREGROUP_CAPTION\")\r\n });\r\n return measureGroups\r\n }(measureGroupsResponse);\r\n var fields = parseDiscoverRowSet(measuresResponse, \"MEASURE\", dimensions, measureGroups).concat(hierarchies);\r\n var levelsByHierarchy = {};\r\n each(levels, (_, level) => {\r\n levelsByHierarchy[level.hierarchyName] = levelsByHierarchy[level.hierarchyName] || [];\r\n levelsByHierarchy[level.hierarchyName].push(level)\r\n });\r\n each(hierarchies, (_, hierarchy) => {\r\n if (levelsByHierarchy[hierarchy.dataField] && levelsByHierarchy[hierarchy.dataField].length > 1) {\r\n hierarchy.groupName = hierarchy.hierarchyName = hierarchy.dataField;\r\n fields.push.apply(fields, levelsByHierarchy[hierarchy.hierarchyName])\r\n }\r\n });\r\n result.resolve(fields)\r\n }).fail(result.reject)\r\n }).fail(result.reject);\r\n return result\r\n },\r\n load(options) {\r\n var result = new Deferred;\r\n var storeOptions = this._options;\r\n var parseOptions = {\r\n skipValues: options.skipValues\r\n };\r\n var mdxString = generateMDX(options, storeOptions.cube, parseOptions);\r\n var rowCountMdx;\r\n if (options.rowSkip || options.rowTake || options.columnTake || options.columnSkip) {\r\n rowCountMdx = generateMDX(extend({}, options, {\r\n totalsOnly: true,\r\n rowSkip: null,\r\n rowTake: null,\r\n columnSkip: null,\r\n columnTake: null\r\n }), storeOptions.cube, {})\r\n }\r\n var load = () => {\r\n if (mdxString) {\r\n when(sendQuery(storeOptions, mdxString), rowCountMdx && sendQuery(storeOptions, rowCountMdx)).done((executeXml, rowCountXml) => {\r\n var error = checkError(executeXml) || rowCountXml && checkError(rowCountXml);\r\n if (!error) {\r\n var response = parseResult(executeXml, parseOptions);\r\n if (rowCountXml) {\r\n ! function(data, options, totalCountXml) {\r\n var axes = [];\r\n var columnOptions = options.columns || [];\r\n var rowOptions = options.rows || [];\r\n if (columnOptions.length) {\r\n axes.push({})\r\n }\r\n if (rowOptions.length) {\r\n axes.push({})\r\n }\r\n var cells = parseCells(totalCountXml, [\r\n [{}],\r\n [{}, {}]\r\n ], 1);\r\n if (!columnOptions.length && rowOptions.length) {\r\n data.rowCount = Math.max(cells[0][0][0] - 1, 0)\r\n }\r\n if (!rowOptions.length && columnOptions.length) {\r\n data.columnCount = Math.max(cells[0][0][0] - 1, 0)\r\n }\r\n if (rowOptions.length && columnOptions.length) {\r\n data.rowCount = Math.max(cells[0][0][0] - 1, 0);\r\n data.columnCount = Math.max(cells[1][0][0] - 1, 0)\r\n }\r\n if (void 0 !== data.rowCount && options.rowTake) {\r\n data.rows = [...Array(options.rowSkip)].concat(data.rows);\r\n data.rows.length = data.rowCount;\r\n for (var i = 0; i < data.rows.length; i += 1) {\r\n data.rows[i] = data.rows[i] || {}\r\n }\r\n }\r\n if (void 0 !== data.columnCount && options.columnTake) {\r\n data.columns = [...Array(options.columnSkip)].concat(data.columns);\r\n data.columns.length = data.columnCount;\r\n for (var _i = 0; _i < data.columns.length; _i += 1) {\r\n data.columns[_i] = data.columns[_i] || {}\r\n }\r\n }\r\n }(response, options, rowCountXml)\r\n }\r\n result.resolve(response)\r\n } else {\r\n result.reject(error)\r\n }\r\n }).fail(result.reject)\r\n } else {\r\n result.resolve({\r\n columns: [],\r\n rows: [],\r\n values: [],\r\n grandTotalColumnIndex: 0,\r\n grandTotalRowIndex: 0\r\n })\r\n }\r\n };\r\n if (options.delay) {\r\n setTimeout(load, options.delay)\r\n } else {\r\n load()\r\n }\r\n return result\r\n },\r\n supportPaging: () => true,\r\n getDrillDownItems(options, params) {\r\n var result = new Deferred;\r\n var storeOptions = this._options;\r\n var mdxString = function(options, cubeName, params) {\r\n var columns = options.columns || [];\r\n var rows = options.rows || [];\r\n var values = options.values && options.values.length ? options.values : [{\r\n dataField: \"[Measures]\"\r\n }];\r\n var slice = [];\r\n var withArray = [];\r\n var axisStrings = [];\r\n var dataFields = prepareDataFields(withArray, values);\r\n var {\r\n maxRowCount: maxRowCount\r\n } = params;\r\n var customColumns = params.customColumns || [];\r\n var customColumnsString = customColumns.length > 0 ? \" return \".concat(customColumns.join(\",\")) : \"\";\r\n createDrillDownAxisSlice(slice, columns, params.columnPath || []);\r\n createDrillDownAxisSlice(slice, rows, params.rowPath || []);\r\n if (columns.length || dataFields.length) {\r\n axisStrings.push([\"\".concat(dataFields[params.dataIndex] || dataFields[0], \" on 0\")])\r\n }\r\n var coreMDX = generateMdxCore(axisStrings, withArray, columns, rows, options.filters, slice, cubeName);\r\n return coreMDX ? \"drillthrough\".concat(maxRowCount > 0 ? \" maxrows \".concat(maxRowCount) : \"\").concat(coreMDX).concat(customColumnsString) : coreMDX\r\n }(options, storeOptions.cube, params);\r\n if (mdxString) {\r\n when(sendQuery(storeOptions, mdxString)).done(executeXml => {\r\n var error = checkError(executeXml);\r\n if (!error) {\r\n result.resolve(function(xml) {\r\n var rows = xml.getElementsByTagName(\"row\");\r\n var result = [];\r\n var columnNames = {};\r\n for (var i = 0; i < rows.length; i += 1) {\r\n var children = rows[i].childNodes;\r\n var item = {};\r\n for (var j = 0; j < children.length; j += 1) {\r\n var {\r\n tagName: tagName\r\n } = children[j];\r\n var name = columnNames[tagName] = columnNames[tagName] || parseStringWithUnicodeSymbols(tagName);\r\n item[name] = getNodeText(children[j])\r\n }\r\n result.push(item)\r\n }\r\n return result\r\n }(executeXml))\r\n } else {\r\n result.reject(error)\r\n }\r\n }).fail(result.reject)\r\n } else {\r\n result.resolve([])\r\n }\r\n return result\r\n },\r\n key: noop,\r\n filter: noop\r\n }\r\n}()).include(storeDrillDownMixin);\r\nexport default {\r\n XmlaStore: XmlaStore\r\n};\r\nexport {\r\n XmlaStore\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/pivot_grid/data_source/m_data_source_utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n map\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n createPath,\r\n findField,\r\n foreachDataLevel,\r\n foreachTree,\r\n getCompareFunction\r\n} from \"../m_widget_utils\";\r\n\r\nfunction sort(loadOptions, dataSource, getAscOrder) {\r\n sortDimension(dataSource, loadOptions, \"rows\", getAscOrder);\r\n sortDimension(dataSource, loadOptions, \"columns\", getAscOrder)\r\n}\r\n\r\nfunction sortDimension(dataSource, loadOptions, dimensionName, getAscOrder) {\r\n var fields = loadOptions[dimensionName] || [];\r\n var baseIndex = loadOptions.headerName === dimensionName ? loadOptions.path.length : 0;\r\n var sortingMethodByLevel = [];\r\n foreachDataLevel(dataSource[dimensionName], (item, index) => {\r\n var field = fields[index] || {};\r\n var sortingMethod = sortingMethodByLevel[index] = sortingMethodByLevel[index] || getSortingMethod(field, dataSource, loadOptions, dimensionName, getAscOrder);\r\n item.sort(sortingMethod)\r\n }, baseIndex)\r\n}\r\n\r\nfunction getSortingMethod(field, dataSource, loadOptions, dimensionName, getAscOrder) {\r\n var sortOrder = getAscOrder ? \"asc\" : field.sortOrder;\r\n var sortBy = getMemberForSortBy(field.sortBy, getAscOrder);\r\n var defaultCompare = field.sortingMethod ? function(a, b) {\r\n return field.sortingMethod(a, b)\r\n } : getCompareFunction(item => item[sortBy]);\r\n var summaryValueSelector = !getAscOrder && getFieldSummaryValueSelector(field, dataSource, loadOptions, dimensionName);\r\n var summaryCompare = summaryValueSelector && getCompareFunction(summaryValueSelector);\r\n return function(a, b) {\r\n var result = summaryCompare && summaryCompare(a, b) || defaultCompare(a, b);\r\n return \"desc\" === sortOrder ? -result : result\r\n }\r\n}\r\n\r\nfunction getFieldSummaryValueSelector(field, dataSource, loadOptions, dimensionName) {\r\n var {\r\n values: values\r\n } = dataSource;\r\n var sortBySummaryFieldIndex = findField(loadOptions.values, field.sortBySummaryField);\r\n var areRows = \"rows\" === dimensionName;\r\n var sortByDimension = areRows ? dataSource.columns : dataSource.rows;\r\n var grandTotalIndex = areRows ? dataSource.grandTotalRowIndex : dataSource.grandTotalColumnIndex;\r\n var sortBySummaryPath = field.sortBySummaryPath || [];\r\n var sliceIndex = sortBySummaryPath.length ? getSliceIndex(sortByDimension, sortBySummaryPath) : grandTotalIndex;\r\n if (values && values.length && sortBySummaryFieldIndex >= 0 && isDefined(sliceIndex)) {\r\n return function(field) {\r\n var rowIndex = areRows ? field.index : sliceIndex;\r\n var columnIndex = areRows ? sliceIndex : field.index;\r\n var value = ((values[rowIndex] || [\r\n []\r\n ])[columnIndex] || [])[sortBySummaryFieldIndex];\r\n return isDefined(value) ? value : null\r\n }\r\n }\r\n return\r\n}\r\n\r\nfunction getMemberForSortBy(sortBy, getAscOrder) {\r\n var member = \"text\";\r\n if (\"none\" === sortBy) {\r\n member = \"index\"\r\n } else if (getAscOrder || \"displayText\" !== sortBy) {\r\n member = \"value\"\r\n }\r\n return member\r\n}\r\n\r\nfunction getSliceIndex(items, path) {\r\n var index = null;\r\n var pathValue = (path || []).join(\".\");\r\n if (pathValue.length) {\r\n foreachTree(items, items => {\r\n var item = items[0];\r\n var itemPath = createPath(items).join(\".\");\r\n var textPath = map(items, item => item.text).reverse().join(\".\");\r\n if (pathValue === itemPath || item.key && textPath === pathValue) {\r\n index = items[0].index;\r\n return false\r\n }\r\n return\r\n })\r\n }\r\n return index\r\n}\r\nexport default {\r\n sort: sort\r\n};\r\nexport {\r\n sort\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/pivot_grid/data_source/m_data_source.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../../../core/class\";\r\nimport {\r\n EventsStrategy\r\n} from \"../../../../core/events_strategy\";\r\nimport {\r\n normalizeIndexes\r\n} from \"../../../../core/utils/array\";\r\nimport {\r\n executeAsync\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n titleize\r\n} from \"../../../../core/utils/inflector\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isNumeric,\r\n isPlainObject,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport Store from \"../../../../data/abstract_store\";\r\nimport {\r\n normalizeDataSourceOptions\r\n} from \"../../../../data/data_source/utils\";\r\nimport {\r\n LocalStore\r\n} from \"../local_store/m_local_store\";\r\nimport {\r\n createPath,\r\n findField,\r\n foreachTree,\r\n foreachTreeAsync,\r\n formatValue,\r\n getFieldsDataType,\r\n setFieldProperty\r\n} from \"../m_widget_utils\";\r\nimport {\r\n RemoteStore\r\n} from \"../remote_store/m_remote_store\";\r\nimport summaryUtils from \"../summary_display_modes/m_summary_display_modes\";\r\nimport xmlaStore from \"../xmla_store/m_xmla_store\";\r\nimport {\r\n sort\r\n} from \"./m_data_source_utils\";\r\nvar DESCRIPTION_NAME_BY_AREA = {\r\n row: \"rows\",\r\n column: \"columns\",\r\n data: \"values\",\r\n filter: \"filters\"\r\n};\r\nvar STATE_PROPERTIES = [\"area\", \"areaIndex\", \"sortOrder\", \"filterType\", \"filterValues\", \"sortBy\", \"sortBySummaryField\", \"sortBySummaryPath\", \"expanded\", \"summaryType\", \"summaryDisplayMode\"];\r\nvar CALCULATED_PROPERTIES = [\"format\", \"selector\", \"customizeText\", \"caption\"];\r\nvar ALL_CALCULATED_PROPERTIES = CALCULATED_PROPERTIES.concat([\"allowSorting\", \"allowSortingBySummary\", \"allowFiltering\", \"allowExpandAll\"]);\r\n\r\nfunction createCaption(field) {\r\n var caption = field.dataField || field.groupName || \"\";\r\n var summaryType = (field.summaryType || \"\").toLowerCase();\r\n if (isString(field.groupInterval)) {\r\n caption += \"_\".concat(field.groupInterval)\r\n }\r\n if (summaryType && \"custom\" !== summaryType) {\r\n summaryType = summaryType.replace(/^./, summaryType[0].toUpperCase());\r\n if (caption.length) {\r\n summaryType = \" (\".concat(summaryType, \")\")\r\n }\r\n } else {\r\n summaryType = \"\"\r\n }\r\n return titleize(caption) + summaryType\r\n}\r\n\r\nfunction resetFieldState(field, properties) {\r\n var initialProperties = field._initProperties || {};\r\n each(properties, (_, prop) => {\r\n if (Object.prototype.hasOwnProperty.call(initialProperties, prop)) {\r\n field[prop] = initialProperties[prop]\r\n }\r\n })\r\n}\r\n\r\nfunction updateCalculatedFieldProperties(field, calculatedProperties) {\r\n resetFieldState(field, calculatedProperties);\r\n if (!isDefined(field.caption)) {\r\n setFieldProperty(field, \"caption\", createCaption(field))\r\n }\r\n}\r\n\r\nfunction areExpressionsUsed(dataFields) {\r\n return dataFields.some(field => field.summaryDisplayMode || field.calculateSummaryValue)\r\n}\r\n\r\nfunction isRunningTotalUsed(dataFields) {\r\n return dataFields.some(field => !!field.runningTotal)\r\n}\r\n\r\nfunction isDataExists(data) {\r\n return data.rows.length || data.columns.length || data.values.length\r\n}\r\nvar PivotGridDataSource = Class.inherit(function() {\r\n var findHeaderItem = function(headerItems, path) {\r\n if (headerItems._cacheByPath) {\r\n return headerItems._cacheByPath[path.join(\".\")] || null\r\n }\r\n return\r\n };\r\n var getHeaderItemsLastIndex = function getHeaderItemsLastIndex(headerItems, grandTotalIndex) {\r\n var i;\r\n var lastIndex = -1;\r\n var headerItem;\r\n if (headerItems) {\r\n for (i = 0; i < headerItems.length; i += 1) {\r\n headerItem = headerItems[i];\r\n if (void 0 !== headerItem.index) {\r\n lastIndex = Math.max(lastIndex, headerItem.index)\r\n }\r\n if (headerItem.children) {\r\n lastIndex = Math.max(lastIndex, getHeaderItemsLastIndex(headerItem.children))\r\n } else if (headerItem.collapsedChildren) {\r\n lastIndex = Math.max(lastIndex, getHeaderItemsLastIndex(headerItem.collapsedChildren))\r\n }\r\n }\r\n }\r\n if (isDefined(grandTotalIndex)) {\r\n lastIndex = Math.max(lastIndex, grandTotalIndex)\r\n }\r\n return lastIndex\r\n };\r\n var updateHeaderItemChildren = function(headerItems, headerItem, children, grandTotalIndex) {\r\n var applyingHeaderItemsCount = getHeaderItemsLastIndex(children) + 1;\r\n var emptyIndex = getHeaderItemsLastIndex(headerItems, grandTotalIndex) + 1;\r\n var index;\r\n var applyingItemIndexesToCurrent = [];\r\n var needIndexUpdate = false;\r\n var d = new Deferred;\r\n if (headerItem.children && headerItem.children.length === children.length) {\r\n for (var i = 0; i < children.length; i += 1) {\r\n var child = children[i];\r\n if (void 0 !== child.index) {\r\n if (void 0 === headerItem.children[i].index) {\r\n child.index = applyingItemIndexesToCurrent[child.index] = emptyIndex++;\r\n headerItem.children[i] = child\r\n } else {\r\n applyingItemIndexesToCurrent[child.index] = headerItem.children[i].index\r\n }\r\n }\r\n }\r\n } else {\r\n needIndexUpdate = true;\r\n for (index = 0; index < applyingHeaderItemsCount; index += 1) {\r\n applyingItemIndexesToCurrent[index] = emptyIndex++\r\n }\r\n headerItem.children = children\r\n }\r\n when(foreachTreeAsync(headerItem.children, items => {\r\n if (needIndexUpdate) {\r\n items[0].index = applyingItemIndexesToCurrent[items[0].index]\r\n }\r\n })).done(() => {\r\n d.resolve(applyingItemIndexesToCurrent)\r\n });\r\n return d\r\n };\r\n var updateHeaderItems = function(headerItems, newHeaderItems, grandTotalIndex) {\r\n var d = new Deferred;\r\n var emptyIndex = grandTotalIndex >= 0 && getHeaderItemsLastIndex(headerItems, grandTotalIndex) + 1;\r\n var applyingItemIndexesToCurrent = [];\r\n when(foreachTreeAsync(headerItems, items => {\r\n delete items[0].collapsedChildren\r\n })).done(() => {\r\n when(foreachTreeAsync(newHeaderItems, (newItems, index) => {\r\n var newItem = newItems[0];\r\n if (newItem.index >= 0) {\r\n var headerItem = findHeaderItem(headerItems, createPath(newItems));\r\n if (headerItem && headerItem.index >= 0) {\r\n applyingItemIndexesToCurrent[newItem.index] = headerItem.index\r\n } else if (emptyIndex) {\r\n var path = createPath(newItems.slice(1));\r\n headerItem = findHeaderItem(headerItems, path);\r\n var parentItems = path.length ? headerItem && headerItem.children : headerItems;\r\n if (parentItems) {\r\n parentItems[index] = newItem;\r\n newItem.index = applyingItemIndexesToCurrent[newItem.index] = emptyIndex++\r\n }\r\n }\r\n }\r\n })).done(() => {\r\n d.resolve(applyingItemIndexesToCurrent)\r\n })\r\n });\r\n return d\r\n };\r\n var updateDataSourceCells = function(dataSource, newDataSourceCells, newRowItemIndexesToCurrent, newColumnItemIndexesToCurrent) {\r\n var newRowIndex;\r\n var newColumnIndex;\r\n var newRowCells;\r\n var newCell;\r\n var rowIndex;\r\n var columnIndex;\r\n var dataSourceCells = dataSource.values;\r\n if (newDataSourceCells) {\r\n for (newRowIndex = 0; newRowIndex < newDataSourceCells.length; newRowIndex += 1) {\r\n newRowCells = newDataSourceCells[newRowIndex];\r\n rowIndex = newRowItemIndexesToCurrent[newRowIndex];\r\n if (!isDefined(rowIndex)) {\r\n rowIndex = dataSource.grandTotalRowIndex\r\n }\r\n if (newRowCells && isDefined(rowIndex)) {\r\n if (!dataSourceCells[rowIndex]) {\r\n dataSourceCells[rowIndex] = []\r\n }\r\n for (newColumnIndex = 0; newColumnIndex < newRowCells.length; newColumnIndex += 1) {\r\n newCell = newRowCells[newColumnIndex];\r\n columnIndex = newColumnItemIndexesToCurrent[newColumnIndex];\r\n if (!isDefined(columnIndex)) {\r\n columnIndex = dataSource.grandTotalColumnIndex\r\n }\r\n if (isDefined(newCell) && isDefined(columnIndex)) {\r\n dataSourceCells[rowIndex][columnIndex] = newCell\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n function createLocalOrRemoteStore(dataSourceOptions, notifyProgress) {\r\n var StoreConstructor = dataSourceOptions.remoteOperations || dataSourceOptions.paginate ? RemoteStore : LocalStore;\r\n return new StoreConstructor(extend(normalizeDataSourceOptions(dataSourceOptions), {\r\n onChanged: null,\r\n onLoadingChanged: null,\r\n onProgressChanged: notifyProgress\r\n }))\r\n }\r\n\r\n function getExpandedPaths(dataSource, loadOptions, dimensionName, prevLoadOptions) {\r\n var result = [];\r\n var fields = loadOptions && loadOptions[dimensionName] || [];\r\n var prevFields = prevLoadOptions && prevLoadOptions[dimensionName] || [];\r\n foreachTree(dataSource[dimensionName], items => {\r\n var item = items[0];\r\n var path = createPath(items);\r\n if (item.children && fields[path.length - 1] && !fields[path.length - 1].expanded) {\r\n if (path.length < fields.length && (!prevLoadOptions || function(fields, prevFields, count) {\r\n for (var i = 0; i < count; i += 1) {\r\n if (!fields[i] || !prevFields[i] || fields[i].index !== prevFields[i].index) {\r\n return false\r\n }\r\n }\r\n return true\r\n }(fields, prevFields, path.length))) {\r\n result.push(path.slice())\r\n }\r\n }\r\n }, true);\r\n return result\r\n }\r\n\r\n function setFieldProperties(field, srcField, skipInitPropertySave, properties) {\r\n if (srcField) {\r\n each(properties, (_, name) => {\r\n if (skipInitPropertySave) {\r\n field[name] = srcField[name]\r\n } else {\r\n if ((\"summaryType\" === name || \"summaryDisplayMode\" === name) && void 0 === srcField[name]) {\r\n return\r\n }\r\n setFieldProperty(field, name, srcField[name])\r\n }\r\n })\r\n } else {\r\n resetFieldState(field, properties)\r\n }\r\n return field\r\n }\r\n\r\n function getFieldsState(fields, properties) {\r\n var result = [];\r\n each(fields, (_, field) => {\r\n result.push(setFieldProperties({\r\n dataField: field.dataField,\r\n name: field.name\r\n }, field, true, properties))\r\n });\r\n return result\r\n }\r\n\r\n function getFieldStateId(field) {\r\n if (field.name) {\r\n return field.name\r\n }\r\n return \"\".concat(field.dataField)\r\n }\r\n\r\n function getFieldsById(fields, id) {\r\n var result = [];\r\n each(fields || [], (_, field) => {\r\n if (getFieldStateId(field) === id) {\r\n result.push(field)\r\n }\r\n });\r\n return result\r\n }\r\n\r\n function setFieldsState(stateFields, fields) {\r\n stateFields = stateFields || [];\r\n var fieldsById = {};\r\n var id;\r\n each(fields, (_, field) => {\r\n id = getFieldStateId(field);\r\n if (!fieldsById[id]) {\r\n fieldsById[id] = getFieldsById(fields, getFieldStateId(field))\r\n }\r\n });\r\n each(fieldsById, (id, fields) => {\r\n ! function(stateFields, fields) {\r\n stateFields = stateFields || [];\r\n each(fields, (index, field) => {\r\n setFieldProperties(field, stateFields[index], false, STATE_PROPERTIES);\r\n updateCalculatedFieldProperties(field, CALCULATED_PROPERTIES)\r\n });\r\n return fields\r\n }(getFieldsById(stateFields, id), fields)\r\n });\r\n return fields\r\n }\r\n\r\n function sortFieldsByAreaIndex(fields) {\r\n fields.sort((field1, field2) => field1.areaIndex - field2.areaIndex || field1.groupIndex - field2.groupIndex)\r\n }\r\n\r\n function getFieldId(field, retrieveFieldsOptionValue) {\r\n var groupName = field.groupName || \"\";\r\n return (field.dataField || groupName) + (field.groupInterval ? groupName + field.groupInterval : \"NOGROUP\") + (retrieveFieldsOptionValue ? \"\" : groupName)\r\n }\r\n\r\n function mergeFields(fields, storeFields, retrieveFieldsOptionValue) {\r\n var result = [];\r\n var fieldsDictionary = {};\r\n var removedFields = {};\r\n var dataTypes = getFieldsDataType(fields);\r\n if (storeFields) {\r\n each(storeFields, (_, field) => {\r\n fieldsDictionary[getFieldId(field, retrieveFieldsOptionValue)] = field\r\n });\r\n each(fields, (_, field) => {\r\n var fieldKey = getFieldId(field, retrieveFieldsOptionValue);\r\n var storeField = fieldsDictionary[fieldKey] || removedFields[fieldKey];\r\n var mergedField;\r\n if (storeField) {\r\n if (storeField._initProperties) {\r\n resetFieldState(storeField, ALL_CALCULATED_PROPERTIES)\r\n }\r\n mergedField = extend({}, storeField, field, {\r\n _initProperties: null\r\n })\r\n } else {\r\n fieldsDictionary[fieldKey] = mergedField = field\r\n }\r\n if (!mergedField.dataType && dataTypes[field.dataField]) {\r\n mergedField.dataType = dataTypes[field.dataField]\r\n }\r\n delete fieldsDictionary[fieldKey];\r\n removedFields[fieldKey] = storeField;\r\n result.push(mergedField)\r\n });\r\n if (retrieveFieldsOptionValue) {\r\n each(fieldsDictionary, (_, field) => {\r\n result.push(field)\r\n })\r\n }\r\n } else {\r\n result = fields\r\n }\r\n result.push.apply(result, []);\r\n ! function(fields) {\r\n fields.forEach(field => {\r\n if (field.groupName && field.groupInterval && void 0 === field.groupIndex) {\r\n var maxGroupIndex = fields.filter(f => f.groupName === field.groupName && isNumeric(f.groupIndex)).map(f => f.groupIndex).reduce((prev, current) => Math.max(prev, current), -1);\r\n field.groupIndex = maxGroupIndex + 1\r\n }\r\n })\r\n }(result);\r\n return result\r\n }\r\n\r\n function getFields(that) {\r\n var result = new Deferred;\r\n var store = that._store;\r\n var storeFields = store && store.getFields(that._fields);\r\n var mergedFields;\r\n when(storeFields).done(storeFields => {\r\n that._storeFields = storeFields;\r\n mergedFields = mergeFields(that._fields, storeFields, that._retrieveFields);\r\n result.resolve(mergedFields)\r\n }).fail(result.reject);\r\n return result\r\n }\r\n\r\n function formatHeaderItems(data, loadOptions, headerName) {\r\n return foreachTreeAsync(data[headerName], items => {\r\n var item = items[0];\r\n item.text = item.text || formatValue(item.value, loadOptions[headerName][createPath(items).length - 1])\r\n })\r\n }\r\n\r\n function formatHeaders(loadOptions, data) {\r\n return when(formatHeaderItems(data, loadOptions, \"columns\"), formatHeaderItems(data, loadOptions, \"rows\"))\r\n }\r\n\r\n function updateCache(headerItems) {\r\n var d = new Deferred;\r\n var cacheByPath = {};\r\n when(foreachTreeAsync(headerItems, items => {\r\n var path = createPath(items).join(\".\");\r\n cacheByPath[path] = items[0]\r\n })).done(d.resolve);\r\n headerItems._cacheByPath = cacheByPath;\r\n return d\r\n }\r\n\r\n function getAreaFields(fields, area) {\r\n var areaFields = [];\r\n each(fields, (function() {\r\n if (function(field, area) {\r\n var canAddFieldInArea = \"data\" === area || false !== field.visible;\r\n return field.area === area && !isDefined(field.groupIndex) && canAddFieldInArea\r\n }(this, area)) {\r\n areaFields.push(this)\r\n }\r\n }));\r\n return areaFields\r\n }\r\n return {\r\n ctor(options) {\r\n options = options || {};\r\n this._eventsStrategy = new EventsStrategy(this);\r\n var that = this;\r\n var store = function(dataSourceOptions, notifyProgress) {\r\n var store;\r\n var storeOptions;\r\n if (isPlainObject(dataSourceOptions) && dataSourceOptions.load) {\r\n store = createLocalOrRemoteStore(dataSourceOptions, notifyProgress)\r\n } else {\r\n if (dataSourceOptions && !dataSourceOptions.store) {\r\n dataSourceOptions = {\r\n store: dataSourceOptions\r\n }\r\n }\r\n storeOptions = dataSourceOptions.store;\r\n if (\"xmla\" === storeOptions.type) {\r\n store = new xmlaStore.XmlaStore(storeOptions)\r\n } else if (isPlainObject(storeOptions) && storeOptions.type || storeOptions instanceof Store || Array.isArray(storeOptions)) {\r\n store = createLocalOrRemoteStore(dataSourceOptions, notifyProgress)\r\n } else if (storeOptions instanceof Class) {\r\n store = storeOptions\r\n }\r\n }\r\n return store\r\n }(options, progress => {\r\n that._eventsStrategy.fireEvent(\"progressChanged\", [progress])\r\n });\r\n that._store = store;\r\n that._paginate = !!options.paginate;\r\n that._pageSize = options.pageSize || 40;\r\n that._data = {\r\n rows: [],\r\n columns: [],\r\n values: []\r\n };\r\n that._loadingCount = 0;\r\n that._isFieldsModified = false;\r\n each([\"changed\", \"loadError\", \"loadingChanged\", \"progressChanged\", \"fieldsPrepared\", \"expandValueChanging\"], (_, eventName) => {\r\n var optionName = \"on\".concat(eventName[0].toUpperCase()).concat(eventName.slice(1));\r\n if (Object.prototype.hasOwnProperty.call(options, optionName)) {\r\n this.on(eventName, options[optionName])\r\n }\r\n });\r\n that._retrieveFields = isDefined(options.retrieveFields) ? options.retrieveFields : true;\r\n that._fields = options.fields || [];\r\n that._descriptions = options.descriptions ? extend(that._createDescriptions(), options.descriptions) : void 0;\r\n if (!store) {\r\n extend(true, that._data, options.store || options)\r\n }\r\n },\r\n getData() {\r\n return this._data\r\n },\r\n getAreaFields(area, collectGroups) {\r\n var areaFields = [];\r\n var descriptions;\r\n if (collectGroups || \"data\" === area) {\r\n areaFields = getAreaFields(this._fields, area);\r\n sortFieldsByAreaIndex(areaFields)\r\n } else {\r\n descriptions = this._descriptions || {};\r\n areaFields = descriptions[DESCRIPTION_NAME_BY_AREA[area]] || []\r\n }\r\n return areaFields\r\n },\r\n fields(fields) {\r\n if (fields) {\r\n this._fields = mergeFields(fields, this._storeFields, this._retrieveFields);\r\n this._fieldsPrepared(this._fields)\r\n }\r\n return this._fields\r\n },\r\n field(id, options) {\r\n var fields = this._fields;\r\n var field = fields && fields[isNumeric(id) ? id : findField(fields, id)];\r\n var levels;\r\n if (field && options) {\r\n each(options, (optionName, optionValue) => {\r\n var isInitialization = !STATE_PROPERTIES.includes(optionName);\r\n setFieldProperty(field, optionName, optionValue, isInitialization);\r\n if (\"sortOrder\" === optionName) {\r\n levels = field.levels || [];\r\n for (var i = 0; i < levels.length; i += 1) {\r\n levels[i][optionName] = optionValue\r\n }\r\n }\r\n });\r\n updateCalculatedFieldProperties(field, CALCULATED_PROPERTIES);\r\n this._descriptions = this._createDescriptions(field);\r\n this._isFieldsModified = true;\r\n this._eventsStrategy.fireEvent(\"fieldChanged\", [field])\r\n }\r\n return field\r\n },\r\n getFieldValues(index, applyFilters, options) {\r\n var that = this;\r\n var field = this._fields && this._fields[index];\r\n var store = this.store();\r\n var loadFields = [];\r\n var loadOptions = {\r\n columns: loadFields,\r\n rows: [],\r\n values: this.getAreaFields(\"data\"),\r\n filters: applyFilters ? this._fields.filter(f => f !== field && f.area && f.filterValues && f.filterValues.length) : [],\r\n skipValues: true\r\n };\r\n var searchValue;\r\n var d = new Deferred;\r\n if (options) {\r\n searchValue = options.searchValue;\r\n loadOptions.columnSkip = options.skip;\r\n loadOptions.columnTake = options.take\r\n }\r\n if (field && store) {\r\n each(field.levels || [field], (function() {\r\n loadFields.push(extend({}, this, {\r\n expanded: true,\r\n filterValues: null,\r\n sortOrder: \"asc\",\r\n sortBySummaryField: null,\r\n searchValue: searchValue\r\n }))\r\n }));\r\n store.load(loadOptions).done(data => {\r\n if (loadOptions.columnSkip) {\r\n data.columns = data.columns.slice(loadOptions.columnSkip)\r\n }\r\n if (loadOptions.columnTake) {\r\n data.columns = data.columns.slice(0, loadOptions.columnTake)\r\n }\r\n formatHeaders(loadOptions, data);\r\n if (!loadOptions.columnTake) {\r\n that._sort(loadOptions, data)\r\n }\r\n d.resolve(data.columns)\r\n }).fail(d)\r\n } else {\r\n d.reject()\r\n }\r\n return d\r\n },\r\n reload() {\r\n return this.load({\r\n reload: true\r\n })\r\n },\r\n filter() {\r\n var store = this._store;\r\n return store.filter.apply(store, arguments)\r\n },\r\n load: function(options) {\r\n var that = this;\r\n var d = new Deferred;\r\n options = options || {};\r\n that.beginLoading();\r\n d.fail(e => {\r\n that._eventsStrategy.fireEvent(\"loadError\", [e])\r\n }).always(() => {\r\n that.endLoading()\r\n });\r\n\r\n function loadTask() {\r\n that._delayedLoadTask = void 0;\r\n if (!that._descriptions) {\r\n when(getFields(that)).done(fields => {\r\n that._fieldsPrepared(fields);\r\n that._loadCore(options, d)\r\n }).fail(d.reject).fail(that._loadErrorHandler)\r\n } else {\r\n that._loadCore(options, d)\r\n }\r\n }\r\n if (that.store()) {\r\n that._delayedLoadTask = executeAsync(loadTask)\r\n } else {\r\n loadTask()\r\n }\r\n return d\r\n },\r\n createDrillDownDataSource(params) {\r\n return this._store.createDrillDownDataSource(this._descriptions, params)\r\n },\r\n _createDescriptions(currentField) {\r\n var fields = this.fields();\r\n var descriptions = {\r\n rows: [],\r\n columns: [],\r\n values: [],\r\n filters: []\r\n };\r\n each([\"row\", \"column\", \"data\", \"filter\"], (_, areaName) => {\r\n normalizeIndexes(getAreaFields(fields, areaName), \"areaIndex\", currentField)\r\n });\r\n each(fields || [], (_, field) => {\r\n var descriptionName = DESCRIPTION_NAME_BY_AREA[field.area];\r\n var dimension = descriptions[descriptionName];\r\n var {\r\n groupName: groupName\r\n } = field;\r\n if (groupName && !isNumeric(field.groupIndex)) {\r\n field.levels = function(fields, groupingField) {\r\n return fields.filter(field => field.groupName === groupingField.groupName && isNumeric(field.groupIndex) && false !== field.visible).map(field => extend(field, {\r\n areaIndex: groupingField.areaIndex,\r\n area: groupingField.area,\r\n expanded: isDefined(field.expanded) ? field.expanded : groupingField.expanded,\r\n dataField: field.dataField || groupingField.dataField,\r\n dataType: field.dataType || groupingField.dataType,\r\n sortBy: field.sortBy || groupingField.sortBy,\r\n sortOrder: field.sortOrder || groupingField.sortOrder,\r\n sortBySummaryField: field.sortBySummaryField || groupingField.sortBySummaryField,\r\n sortBySummaryPath: field.sortBySummaryPath || groupingField.sortBySummaryPath,\r\n visible: field.visible || groupingField.visible,\r\n showTotals: isDefined(field.showTotals) ? field.showTotals : groupingField.showTotals,\r\n showGrandTotals: isDefined(field.showGrandTotals) ? field.showGrandTotals : groupingField.showGrandTotals\r\n })).sort((a, b) => a.groupIndex - b.groupIndex)\r\n }(fields, field)\r\n }\r\n if (!dimension || groupName && isNumeric(field.groupIndex) || false === field.visible && \"data\" !== field.area && \"filter\" !== field.area) {\r\n return\r\n }\r\n if (field.levels && dimension !== descriptions.filters && dimension !== descriptions.values) {\r\n dimension.push.apply(dimension, field.levels);\r\n if (field.filterValues && field.filterValues.length) {\r\n descriptions.filters.push(field)\r\n }\r\n } else {\r\n dimension.push(field)\r\n }\r\n });\r\n each(descriptions, (_, fields) => {\r\n sortFieldsByAreaIndex(fields)\r\n });\r\n var indices = {};\r\n each(descriptions.values, (_, field) => {\r\n var expression = field.calculateSummaryValue;\r\n if (isFunction(expression)) {\r\n var summaryCell = summaryUtils.createMockSummaryCell(descriptions, fields, indices);\r\n expression(summaryCell)\r\n }\r\n });\r\n return descriptions\r\n },\r\n _fieldsPrepared(fields) {\r\n this._fields = fields;\r\n each(fields, (index, field) => {\r\n field.index = index;\r\n updateCalculatedFieldProperties(field, ALL_CALCULATED_PROPERTIES)\r\n });\r\n var currentFieldState = getFieldsState(fields, [\"caption\"]);\r\n this._eventsStrategy.fireEvent(\"fieldsPrepared\", [fields]);\r\n for (var i = 0; i < fields.length; i += 1) {\r\n if (fields[i].caption !== currentFieldState[i].caption) {\r\n setFieldProperty(fields[i], \"caption\", fields[i].caption, true)\r\n }\r\n }\r\n this._descriptions = this._createDescriptions()\r\n },\r\n isLoading() {\r\n return this._loadingCount > 0\r\n },\r\n state(state, skipLoading) {\r\n var that = this;\r\n if (arguments.length) {\r\n state = extend({\r\n rowExpandedPaths: [],\r\n columnExpandedPaths: []\r\n }, state);\r\n if (!that._descriptions) {\r\n that.beginLoading();\r\n when(getFields(that)).done(fields => {\r\n that._fields = setFieldsState(state.fields, fields);\r\n that._fieldsPrepared(fields);\r\n !skipLoading && that.load(state)\r\n }).always(() => {\r\n that.endLoading()\r\n })\r\n } else {\r\n that._fields = setFieldsState(state.fields, that._fields);\r\n that._descriptions = that._createDescriptions();\r\n !skipLoading && that.load(state)\r\n }\r\n return\r\n }\r\n return {\r\n fields: getFieldsState(that._fields, STATE_PROPERTIES),\r\n columnExpandedPaths: getExpandedPaths(that._data, that._descriptions, \"columns\", that._lastLoadOptions),\r\n rowExpandedPaths: getExpandedPaths(that._data, that._descriptions, \"rows\", that._lastLoadOptions)\r\n }\r\n },\r\n beginLoading() {\r\n this._changeLoadingCount(1)\r\n },\r\n endLoading() {\r\n this._changeLoadingCount(-1)\r\n },\r\n _changeLoadingCount(increment) {\r\n var oldLoading = this.isLoading();\r\n this._loadingCount += increment;\r\n var newLoading = this.isLoading();\r\n if (oldLoading ^ newLoading) {\r\n this._eventsStrategy.fireEvent(\"loadingChanged\", [newLoading])\r\n }\r\n },\r\n _hasPagingValues(options, area, oppositeIndex) {\r\n var takeField = \"\".concat(area, \"Take\");\r\n var skipField = \"\".concat(area, \"Skip\");\r\n var {\r\n values: values\r\n } = this._data;\r\n var items = this._data[\"\".concat(area, \"s\")];\r\n var oppositeArea = \"row\" === area ? \"column\" : \"row\";\r\n var indices = [];\r\n if (options.path && options.area === area) {\r\n var headerItem = findHeaderItem(items, options.path);\r\n items = headerItem && headerItem.children;\r\n if (!items) {\r\n return false\r\n }\r\n }\r\n if (options.oppositePath && options.area === oppositeArea) {\r\n var _headerItem = findHeaderItem(items, options.oppositePath);\r\n items = _headerItem && _headerItem.children;\r\n if (!items) {\r\n return false\r\n }\r\n }\r\n for (var i = options[skipField]; i < options[skipField] + options[takeField]; i += 1) {\r\n if (items[i]) {\r\n indices.push(items[i].index)\r\n }\r\n }\r\n return indices.every(index => {\r\n if (void 0 !== index) {\r\n if (\"row\" === area) {\r\n return (values[index] || [])[oppositeIndex]\r\n }\r\n return (values[oppositeIndex] || [])[index]\r\n }\r\n return\r\n })\r\n },\r\n _processPagingCacheByArea(options, pageSize, area) {\r\n var takeField = \"\".concat(area, \"Take\");\r\n var skipField = \"\".concat(area, \"Skip\");\r\n var items = this._data[\"\".concat(area, \"s\")];\r\n var oppositeArea = \"row\" === area ? \"column\" : \"row\";\r\n var item;\r\n if (options[takeField]) {\r\n if (options.path && options.area === area) {\r\n var headerItem = findHeaderItem(items, options.path);\r\n items = headerItem && headerItem.children || []\r\n }\r\n if (options.oppositePath && options.area === oppositeArea) {\r\n var _headerItem2 = findHeaderItem(items, options.oppositePath);\r\n items = _headerItem2 && _headerItem2.children || []\r\n }\r\n do {\r\n item = items[options[skipField]];\r\n if (item && void 0 !== item.index) {\r\n if (this._hasPagingValues(options, oppositeArea, item.index)) {\r\n options[skipField]++;\r\n options[takeField]--\r\n } else {\r\n break\r\n }\r\n }\r\n } while (item && void 0 !== item.index && options[takeField]);\r\n if (options[takeField]) {\r\n var start = Math.floor(options[skipField] / pageSize) * pageSize;\r\n var end = Math.ceil((options[skipField] + options[takeField]) / pageSize) * pageSize;\r\n options[skipField] = start;\r\n options[takeField] = end - start\r\n }\r\n }\r\n },\r\n _processPagingCache(storeLoadOptions) {\r\n var pageSize = this._pageSize;\r\n if (pageSize < 0) {\r\n return\r\n }\r\n for (var i = 0; i < storeLoadOptions.length; i += 1) {\r\n this._processPagingCacheByArea(storeLoadOptions[i], pageSize, \"row\");\r\n this._processPagingCacheByArea(storeLoadOptions[i], pageSize, \"column\")\r\n }\r\n },\r\n _loadCore(options, deferred) {\r\n var that = this;\r\n var store = this._store;\r\n var descriptions = this._descriptions;\r\n var reload = options.reload || this.paginate() && that._isFieldsModified;\r\n var paginate = this.paginate();\r\n var headerName = DESCRIPTION_NAME_BY_AREA[options.area];\r\n options = options || {};\r\n if (store) {\r\n extend(options, descriptions);\r\n options.columnExpandedPaths = options.columnExpandedPaths || getExpandedPaths(this._data, options, \"columns\", that._lastLoadOptions);\r\n options.rowExpandedPaths = options.rowExpandedPaths || getExpandedPaths(this._data, options, \"rows\", that._lastLoadOptions);\r\n if (paginate) {\r\n options.pageSize = this._pageSize\r\n }\r\n if (headerName) {\r\n options.headerName = headerName\r\n }\r\n that.beginLoading();\r\n deferred.always(() => {\r\n that.endLoading()\r\n });\r\n var storeLoadOptions = [options];\r\n that._eventsStrategy.fireEvent(\"customizeStoreLoadOptions\", [storeLoadOptions, reload]);\r\n if (!reload) {\r\n that._processPagingCache(storeLoadOptions)\r\n }\r\n storeLoadOptions = storeLoadOptions.filter(options => !(options.rows.length && 0 === options.rowTake) && !(options.columns.length && 0 === options.columnTake));\r\n if (!storeLoadOptions.length) {\r\n that._update(deferred);\r\n return\r\n }\r\n var results = storeLoadOptions.map(options => store.load(options));\r\n when.apply(null, results).done((function() {\r\n var results = arguments;\r\n for (var i = 0; i < results.length; i += 1) {\r\n var _options = storeLoadOptions[i];\r\n var data = results[i];\r\n var isLast = i === results.length - 1;\r\n if (_options.path) {\r\n that.applyPartialDataSource(_options.area, _options.path, data, isLast ? deferred : false, _options.oppositePath)\r\n } else if (paginate && !reload && isDataExists(that._data)) {\r\n that.mergePartialDataSource(data, isLast ? deferred : false)\r\n } else {\r\n extend(that._data, data);\r\n that._lastLoadOptions = _options;\r\n that._update(isLast ? deferred : false)\r\n }\r\n }\r\n })).fail(deferred.reject)\r\n } else {\r\n that._update(deferred)\r\n }\r\n },\r\n _sort(descriptions, data, getAscOrder) {\r\n var store = this._store;\r\n if (store && !this._paginate) {\r\n sort(descriptions, data, getAscOrder)\r\n }\r\n },\r\n sortLocal() {\r\n this._sort(this._descriptions, this._data);\r\n this._eventsStrategy.fireEvent(\"changed\")\r\n },\r\n paginate() {\r\n return this._paginate && this._store && this._store.supportPaging()\r\n },\r\n isEmpty() {\r\n var dataFields = this.getAreaFields(\"data\").filter(f => false !== f.visible);\r\n var data = this.getData();\r\n return !dataFields.length || !data.values.length\r\n },\r\n _update(deferred) {\r\n var that = this;\r\n var descriptions = that._descriptions;\r\n var loadedData = that._data;\r\n var dataFields = descriptions.values;\r\n var expressionsUsed = areExpressionsUsed(dataFields);\r\n when(formatHeaders(descriptions, loadedData), updateCache(loadedData.rows), updateCache(loadedData.columns)).done(() => {\r\n if (expressionsUsed) {\r\n that._sort(descriptions, loadedData, expressionsUsed);\r\n !that.isEmpty() && summaryUtils.applyDisplaySummaryMode(descriptions, loadedData)\r\n }\r\n that._sort(descriptions, loadedData);\r\n !that.isEmpty() && isRunningTotalUsed(dataFields) && summaryUtils.applyRunningTotal(descriptions, loadedData);\r\n that._data = loadedData;\r\n false !== deferred && when(deferred).done(() => {\r\n that._isFieldsModified = false;\r\n that._eventsStrategy.fireEvent(\"changed\");\r\n if (isDefined(that._data.grandTotalRowIndex)) {\r\n loadedData.grandTotalRowIndex = that._data.grandTotalRowIndex\r\n }\r\n if (isDefined(that._data.grandTotalColumnIndex)) {\r\n loadedData.grandTotalColumnIndex = that._data.grandTotalColumnIndex\r\n }\r\n });\r\n deferred && deferred.resolve(that._data)\r\n });\r\n return deferred\r\n },\r\n store() {\r\n return this._store\r\n },\r\n collapseHeaderItem(area, path) {\r\n var headerItems = \"column\" === area ? this._data.columns : this._data.rows;\r\n var headerItem = findHeaderItem(headerItems, path);\r\n var field = this.getAreaFields(area)[path.length - 1];\r\n if (headerItem && headerItem.children) {\r\n this._eventsStrategy.fireEvent(\"expandValueChanging\", [{\r\n area: area,\r\n path: path,\r\n expanded: false\r\n }]);\r\n if (field) {\r\n field.expanded = false\r\n }\r\n headerItem.collapsedChildren = headerItem.children;\r\n delete headerItem.children;\r\n this._update();\r\n if (this.paginate()) {\r\n this.load()\r\n }\r\n return true\r\n }\r\n return false\r\n },\r\n collapseAll(id) {\r\n var dataChanged = false;\r\n var field = this.field(id) || {};\r\n var areaOffsets = [this.getAreaFields(field.area).indexOf(field)];\r\n field.expanded = false;\r\n if (field && field.levels) {\r\n areaOffsets = [];\r\n field.levels.forEach(f => {\r\n areaOffsets.push(this.getAreaFields(field.area).indexOf(f));\r\n f.expanded = false\r\n })\r\n }\r\n foreachTree(this._data[\"\".concat(field.area, \"s\")], items => {\r\n var item = items[0];\r\n var path = createPath(items);\r\n if (item && item.children && areaOffsets.includes(path.length - 1)) {\r\n item.collapsedChildren = item.children;\r\n delete item.children;\r\n dataChanged = true\r\n }\r\n }, true);\r\n dataChanged && this._update()\r\n },\r\n expandAll(id) {\r\n var field = this.field(id);\r\n if (field && field.area) {\r\n field.expanded = true;\r\n if (field && field.levels) {\r\n field.levels.forEach(f => {\r\n f.expanded = true\r\n })\r\n }\r\n this.load()\r\n }\r\n },\r\n expandHeaderItem(area, path) {\r\n var headerItems = \"column\" === area ? this._data.columns : this._data.rows;\r\n var headerItem = findHeaderItem(headerItems, path);\r\n if (headerItem && !headerItem.children) {\r\n var hasCache = !!headerItem.collapsedChildren;\r\n var options = {\r\n area: area,\r\n path: path,\r\n expanded: true,\r\n needExpandData: !hasCache\r\n };\r\n this._eventsStrategy.fireEvent(\"expandValueChanging\", [options]);\r\n if (hasCache) {\r\n headerItem.children = headerItem.collapsedChildren;\r\n delete headerItem.collapsedChildren;\r\n this._update()\r\n } else if (this.store()) {\r\n this.load(options)\r\n }\r\n return hasCache\r\n }\r\n return false\r\n },\r\n mergePartialDataSource(dataSource, deferred) {\r\n var that = this;\r\n var loadedData = that._data;\r\n var newRowItemIndexesToCurrent;\r\n var newColumnItemIndexesToCurrent;\r\n if (dataSource && dataSource.values) {\r\n dataSource.rows = dataSource.rows || [];\r\n dataSource.columns = dataSource.columns || [];\r\n newRowItemIndexesToCurrent = updateHeaderItems(loadedData.rows, dataSource.rows, loadedData.grandTotalColumnIndex);\r\n newColumnItemIndexesToCurrent = updateHeaderItems(loadedData.columns, dataSource.columns, loadedData.grandTotalColumnIndex);\r\n when(newRowItemIndexesToCurrent, newColumnItemIndexesToCurrent).done((newRowItemIndexesToCurrent, newColumnItemIndexesToCurrent) => {\r\n if (newRowItemIndexesToCurrent.length || newColumnItemIndexesToCurrent.length) {\r\n updateDataSourceCells(loadedData, dataSource.values, newRowItemIndexesToCurrent, newColumnItemIndexesToCurrent)\r\n }\r\n that._update(deferred)\r\n })\r\n }\r\n },\r\n applyPartialDataSource(area, path, dataSource, deferred, oppositePath) {\r\n var that = this;\r\n var loadedData = that._data;\r\n var headerItems = \"column\" === area ? loadedData.columns : loadedData.rows;\r\n var headerItem;\r\n var oppositeHeaderItems = \"column\" === area ? loadedData.rows : loadedData.columns;\r\n var oppositeHeaderItem;\r\n var newRowItemIndexesToCurrent;\r\n var newColumnItemIndexesToCurrent;\r\n if (dataSource && dataSource.values) {\r\n dataSource.rows = dataSource.rows || [];\r\n dataSource.columns = dataSource.columns || [];\r\n headerItem = findHeaderItem(headerItems, path);\r\n oppositeHeaderItem = oppositePath && findHeaderItem(oppositeHeaderItems, oppositePath);\r\n if (headerItem) {\r\n if (\"column\" === area) {\r\n newColumnItemIndexesToCurrent = updateHeaderItemChildren(headerItems, headerItem, dataSource.columns, loadedData.grandTotalColumnIndex);\r\n if (oppositeHeaderItem) {\r\n newRowItemIndexesToCurrent = updateHeaderItemChildren(oppositeHeaderItems, oppositeHeaderItem, dataSource.rows, loadedData.grandTotalRowIndex)\r\n } else {\r\n newRowItemIndexesToCurrent = updateHeaderItems(loadedData.rows, dataSource.rows, loadedData.grandTotalRowIndex)\r\n }\r\n } else {\r\n newRowItemIndexesToCurrent = updateHeaderItemChildren(headerItems, headerItem, dataSource.rows, loadedData.grandTotalRowIndex);\r\n if (oppositeHeaderItem) {\r\n newColumnItemIndexesToCurrent = updateHeaderItemChildren(oppositeHeaderItems, oppositeHeaderItem, dataSource.columns, loadedData.grandTotalColumnIndex)\r\n } else {\r\n newColumnItemIndexesToCurrent = updateHeaderItems(loadedData.columns, dataSource.columns, loadedData.grandTotalColumnIndex)\r\n }\r\n }\r\n when(newRowItemIndexesToCurrent, newColumnItemIndexesToCurrent).done((newRowItemIndexesToCurrent, newColumnItemIndexesToCurrent) => {\r\n if (\"row\" === area && newRowItemIndexesToCurrent.length || \"column\" === area && newColumnItemIndexesToCurrent.length) {\r\n updateDataSourceCells(loadedData, dataSource.values, newRowItemIndexesToCurrent, newColumnItemIndexesToCurrent)\r\n }\r\n that._update(deferred)\r\n })\r\n }\r\n }\r\n },\r\n on(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n },\r\n dispose() {\r\n var delayedLoadTask = this._delayedLoadTask;\r\n this._eventsStrategy.dispose();\r\n if (delayedLoadTask) {\r\n delayedLoadTask.abort()\r\n }\r\n this._isDisposed = true\r\n },\r\n isDisposed() {\r\n return !!this._isDisposed\r\n }\r\n }\r\n}());\r\nexport default {\r\n PivotGridDataSource: PivotGridDataSource\r\n};\r\nexport {\r\n PivotGridDataSource\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/pivot_grid/field_chooser/const.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var ATTRIBUTES = {\r\n treeViewItem: \"tree-view-item\",\r\n allowScrolling: \"allow-scrolling\",\r\n itemGroup: \"item-group\"\r\n};\r\nexport var CLASSES = {\r\n area: {\r\n self: \"dx-area\",\r\n box: \"dx-area-box\",\r\n caption: \"dx-area-caption\",\r\n icon: \"dx-area-icon\",\r\n field: \"dx-area-field\",\r\n fieldContainer: \"dx-area-field-container\",\r\n fieldContent: \"dx-area-field-content\",\r\n fieldList: \"dx-area-fields\",\r\n fieldListHeader: \"dx-area-fields-header\"\r\n },\r\n pivotGrid: {\r\n dragAction: \"dx-pivotgrid-drag-action\",\r\n fieldsContainer: \"dx-pivotgrid-fields-container\"\r\n },\r\n fieldChooser: {\r\n self: \"dx-pivotgridfieldchooser\",\r\n container: \"dx-pivotgridfieldchooser-container\",\r\n contextMenu: \"dx-pivotgridfieldchooser-context-menu\"\r\n },\r\n layout: {\r\n zero: \"dx-layout-0\",\r\n second: \"dx-layout-2\"\r\n },\r\n treeView: {\r\n self: \"dx-treeview\",\r\n borderVisible: \"dx-treeview-border-visible\"\r\n },\r\n scrollable: {\r\n self: \"dx-scrollable\"\r\n },\r\n allFields: \"dx-all-fields\",\r\n col: \"dx-col\",\r\n headerFilter: \"dx-header-filter\",\r\n row: \"dx-row\",\r\n widget: \"dx-widget\"\r\n};\r\nexport var ICONS = {\r\n measure: \"measure\",\r\n hierarchy: \"hierarchy\",\r\n dimension: \"dimension\"\r\n};\r\nexport var SORTABLE_CONST = {\r\n targets: {\r\n drag: \"drag\"\r\n }\r\n};\r\nexport var SORT_ORDER = {\r\n descending: \"desc\",\r\n ascending: \"asc\"\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/pivot_grid/field_chooser/m_field_chooser.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport \"../data_source/m_data_source\";\r\nimport registerComponent from \"../../../../core/component_registrator\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n getImageContainer\r\n} from \"../../../../core/utils/icon\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n hasWindow as hasWindowFn\r\n} from \"../../../../core/utils/window\";\r\nimport localizationMessage from \"../../../../localization/message\";\r\nimport ContextMenu from \"../../../../ui/context_menu\";\r\nimport TreeView from \"../../../../ui/tree_view\";\r\nimport {\r\n foreachDataLevel,\r\n getCompareFunction\r\n} from \"../m_widget_utils\";\r\nimport {\r\n ATTRIBUTES,\r\n CLASSES,\r\n ICONS\r\n} from \"./const\";\r\nimport {\r\n FieldChooserBase\r\n} from \"./m_field_chooser_base\";\r\nvar DIV = \"
    \";\r\nvar hasWindow = hasWindowFn();\r\n\r\nfunction getDimensionFields(item, fields) {\r\n var result = [];\r\n if (item.items) {\r\n for (var i = 0; i < item.items.length; i += 1) {\r\n result.push.apply(result, getDimensionFields(item.items[i], fields))\r\n }\r\n } else if (isDefined(item.index)) {\r\n result.push(fields[item.index])\r\n }\r\n return result\r\n}\r\n\r\nfunction getFirstItem(item, condition) {\r\n if (item.items) {\r\n for (var i = 0; i < item.items.length; i += 1) {\r\n var childrenItem = getFirstItem(item.items[i], condition);\r\n if (childrenItem) {\r\n return childrenItem\r\n }\r\n }\r\n }\r\n if (condition(item)) {\r\n return item\r\n }\r\n return\r\n}\r\nvar compareOrder = [function(a, b) {\r\n var aValue = -!!a.isMeasure;\r\n var bValue = +!!b.isMeasure;\r\n return aValue + bValue\r\n}, function(a, b) {\r\n var aValue = -!!(a.items && a.items.length);\r\n var bValue = +!!(b.items && b.items.length);\r\n return aValue + bValue\r\n}, function(a, b) {\r\n var aValue = +!!(false === a.isMeasure && a.field && a.field.levels && a.field.levels.length);\r\n var bValue = -!!(false === b.isMeasure && b.field && b.field.levels && b.field.levels.length);\r\n return aValue + bValue\r\n}, getCompareFunction(item => item.text)];\r\n\r\nfunction compareItems(a, b) {\r\n var result = 0;\r\n var i = 0;\r\n while (!result && compareOrder[i]) {\r\n result = compareOrder[i++](a, b)\r\n }\r\n return result\r\n}\r\n\r\nfunction getScrollable(container) {\r\n return container.find(\".\".concat(CLASSES.scrollable.self)).dxScrollable(\"instance\")\r\n}\r\nvar FieldChooser = FieldChooserBase.inherit({\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n height: 400,\r\n layout: 0,\r\n dataSource: null,\r\n encodeHtml: true,\r\n onContextMenuPreparing: null,\r\n allowSearch: false,\r\n searchTimeout: 500,\r\n texts: {\r\n columnFields: localizationMessage.format(\"dxPivotGrid-columnFields\"),\r\n rowFields: localizationMessage.format(\"dxPivotGrid-rowFields\"),\r\n dataFields: localizationMessage.format(\"dxPivotGrid-dataFields\"),\r\n filterFields: localizationMessage.format(\"dxPivotGrid-filterFields\"),\r\n allFields: localizationMessage.format(\"dxPivotGrid-allFields\")\r\n }\r\n })\r\n },\r\n _refreshDataSource() {\r\n var that = this;\r\n that._expandedPaths = [];\r\n that._changedHandler = that._changedHandler || function() {\r\n each(that._dataChangedHandlers, (_, func) => {\r\n func()\r\n });\r\n that._fireContentReadyAction();\r\n that._skipStateChange = true;\r\n that.option(\"state\", that._dataSource.state());\r\n that._skipStateChange = false\r\n };\r\n that._disposeDataSource();\r\n that.callBase();\r\n that._dataSource && that._dataSource.on(\"changed\", that._changedHandler)\r\n },\r\n _disposeDataSource() {\r\n var dataSource = this._dataSource;\r\n if (dataSource) {\r\n dataSource.off(\"changed\", this._changedHandler);\r\n this._dataSource = void 0\r\n }\r\n },\r\n _dispose() {\r\n this._disposeDataSource();\r\n this.callBase.apply(this, arguments)\r\n },\r\n _init() {\r\n this.callBase();\r\n this._refreshDataSource();\r\n this._dataChangedHandlers = [];\r\n this._initActions()\r\n },\r\n _initActions() {\r\n this._actions = {\r\n onContextMenuPreparing: this._createActionByOption(\"onContextMenuPreparing\")\r\n }\r\n },\r\n _trigger(eventName, eventArg) {\r\n this._actions[eventName](eventArg)\r\n },\r\n _setOptionsByReference() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n dataSource: true\r\n })\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"dataSource\":\r\n this._refreshDataSource();\r\n this._invalidate();\r\n break;\r\n case \"layout\":\r\n case \"texts\":\r\n case \"allowSearch\":\r\n case \"searchTimeout\":\r\n case \"encodeHtml\":\r\n this._invalidate();\r\n break;\r\n case \"onContextMenuPreparing\":\r\n this._actions[args.name] = this._createActionByOption(args.name);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _clean(skipStateSetting) {\r\n !skipStateSetting && this._dataSource && this.option(\"state\", this._dataSource.state());\r\n this.$element().children(\".\".concat(CLASSES.fieldChooser.container)).remove()\r\n },\r\n _renderLayout0($container) {\r\n $container.addClass(CLASSES.layout.zero);\r\n var $row1 = $(DIV).addClass(CLASSES.row).appendTo($container);\r\n var $row2 = $(DIV).addClass(CLASSES.row).appendTo($container);\r\n var $col1 = $(DIV).addClass(CLASSES.col).appendTo($row1);\r\n var $col2 = $(DIV).addClass(CLASSES.col).appendTo($row1);\r\n var $col3 = $(DIV).addClass(CLASSES.col).appendTo($row2);\r\n var $col4 = $(DIV).addClass(CLASSES.col).appendTo($row2);\r\n this._renderArea($col1, \"all\");\r\n this._renderArea($col2, \"row\");\r\n this._renderArea($col2, \"column\");\r\n this._renderArea($col3, \"filter\");\r\n this._renderArea($col4, \"data\")\r\n },\r\n _renderLayout1($container) {\r\n var $col1 = $(DIV).addClass(CLASSES.col).appendTo($container);\r\n var $col2 = $(DIV).addClass(CLASSES.col).appendTo($container);\r\n this._renderArea($col1, \"all\");\r\n this._renderArea($col2, \"filter\");\r\n this._renderArea($col2, \"row\");\r\n this._renderArea($col2, \"column\");\r\n this._renderArea($col2, \"data\")\r\n },\r\n _renderLayout2($container) {\r\n $container.addClass(CLASSES.layout.second);\r\n var $row1 = $(DIV).addClass(CLASSES.row).appendTo($container);\r\n this._renderArea($row1, \"all\");\r\n var $row2 = $(DIV).addClass(CLASSES.row).appendTo($container);\r\n var $col1 = $(DIV).addClass(CLASSES.col).appendTo($row2);\r\n var $col2 = $(DIV).addClass(CLASSES.col).appendTo($row2);\r\n this._renderArea($col1, \"filter\");\r\n this._renderArea($col1, \"row\");\r\n this._renderArea($col2, \"column\");\r\n this._renderArea($col2, \"data\")\r\n },\r\n _initMarkup() {\r\n var $element = this.$element();\r\n var $container = $(DIV).addClass(CLASSES.fieldChooser.container).appendTo($element);\r\n var layout = this.option(\"layout\");\r\n this.callBase();\r\n $element.addClass(CLASSES.fieldChooser.self).addClass(CLASSES.pivotGrid.fieldsContainer);\r\n this._dataChangedHandlers = [];\r\n var dataSource = this._dataSource;\r\n var currentState = \"instantly\" !== this.option(\"applyChangesMode\") && dataSource && dataSource.state();\r\n currentState && this.option(\"state\") && dataSource.state(this.option(\"state\"), true);\r\n if (0 === layout) {\r\n this._renderLayout0($container)\r\n } else if (1 === layout) {\r\n this._renderLayout1($container)\r\n } else {\r\n this._renderLayout2($container)\r\n }\r\n currentState && dataSource.state(currentState, true)\r\n },\r\n _renderContentImpl() {\r\n this.callBase();\r\n this.renderSortable();\r\n this._renderContextMenu();\r\n this.updateDimensions()\r\n },\r\n _fireContentReadyAction() {\r\n if (!this._dataSource || !this._dataSource.isLoading()) {\r\n this.callBase()\r\n }\r\n },\r\n _getContextMenuArgs(dxEvent) {\r\n var targetFieldElement = $(dxEvent.target).closest(\".\".concat(CLASSES.area.field));\r\n var targetGroupElement = $(dxEvent.target).closest(\".\".concat(CLASSES.area.fieldList));\r\n var field;\r\n var area;\r\n if (targetFieldElement.length) {\r\n var fieldCopy = targetFieldElement.data(\"field\");\r\n if (fieldCopy) {\r\n field = this.getDataSource().field(fieldCopy.index) || fieldCopy\r\n }\r\n }\r\n if (targetGroupElement.length) {\r\n area = targetGroupElement.attr(\"group\")\r\n }\r\n return {\r\n event: dxEvent,\r\n field: field,\r\n area: area,\r\n items: []\r\n }\r\n },\r\n _renderContextMenu() {\r\n var that = this;\r\n var $container = that.$element();\r\n if (that._contextMenu) {\r\n that._contextMenu.$element().remove()\r\n }\r\n that._contextMenu = that._createComponent($(DIV).appendTo($container), ContextMenu, {\r\n onPositioning(actionArgs) {\r\n var {\r\n event: event\r\n } = actionArgs;\r\n if (!event) {\r\n return\r\n }\r\n var args = that._getContextMenuArgs(event);\r\n that._trigger(\"onContextMenuPreparing\", args);\r\n if (args.items && args.items.length) {\r\n actionArgs.component.option(\"items\", args.items)\r\n } else {\r\n actionArgs.cancel = true\r\n }\r\n },\r\n target: $container,\r\n onItemClick(params) {\r\n params.itemData.onItemClick && params.itemData.onItemClick(params)\r\n },\r\n cssClass: CLASSES.fieldChooser.contextMenu\r\n })\r\n },\r\n _createTreeItems(fields, groupFieldNames, path) {\r\n var that = this;\r\n var isMeasure;\r\n var resultItems = [];\r\n var groupedItems = [];\r\n var groupFieldName = groupFieldNames[0];\r\n var fieldsByGroup = {};\r\n if (!groupFieldName) {\r\n each(fields, (_, field) => {\r\n var icon;\r\n if (true === field.isMeasure) {\r\n icon = ICONS.measure\r\n }\r\n if (false === field.isMeasure) {\r\n icon = field.groupName ? ICONS.hierarchy : ICONS.dimension\r\n }\r\n resultItems.push({\r\n index: field.index,\r\n field: field,\r\n key: field.dataField,\r\n selected: isDefined(field.area),\r\n text: field.caption || field.dataField,\r\n icon: icon,\r\n isMeasure: field.isMeasure,\r\n isDefault: field.isDefault\r\n })\r\n })\r\n } else {\r\n each(fields, (_, field) => {\r\n var groupName = field[groupFieldName] || \"\";\r\n fieldsByGroup[groupName] = fieldsByGroup[groupName] || [];\r\n fieldsByGroup[groupName].push(field);\r\n if (void 0 === isMeasure) {\r\n isMeasure = true\r\n }\r\n isMeasure = isMeasure && true === field.isMeasure\r\n });\r\n each(fieldsByGroup, (groupName, fields) => {\r\n var currentPath = path ? \"\".concat(path, \".\").concat(groupName) : groupName;\r\n var items = that._createTreeItems(fields, groupFieldNames.slice(1), currentPath);\r\n if (groupName) {\r\n groupedItems.push({\r\n key: groupName,\r\n text: groupName,\r\n path: currentPath,\r\n isMeasure: items.isMeasure,\r\n expanded: that._expandedPaths.includes(currentPath),\r\n items: items\r\n })\r\n } else {\r\n resultItems = items\r\n }\r\n });\r\n resultItems = groupedItems.concat(resultItems);\r\n resultItems.isMeasure = isMeasure\r\n }\r\n return resultItems\r\n },\r\n _createFieldsDataSource(dataSource) {\r\n var fields = dataSource && dataSource.fields() || [];\r\n fields = fields.filter(field => false !== field.visible && !isDefined(field.groupIndex));\r\n var treeItems = this._createTreeItems(fields, [\"dimension\", \"displayFolder\"]);\r\n foreachDataLevel(treeItems, items => {\r\n items.sort(compareItems)\r\n }, 0, \"items\");\r\n return treeItems\r\n },\r\n _renderFieldsTreeView(container) {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var treeView = that._createComponent(container, TreeView, {\r\n dataSource: that._createFieldsDataSource(dataSource),\r\n showCheckBoxesMode: \"normal\",\r\n expandNodesRecursive: false,\r\n searchEnabled: that.option(\"allowSearch\"),\r\n searchTimeout: that.option(\"searchTimeout\"),\r\n useNativeScrolling: false,\r\n itemTemplate(itemData, itemIndex, itemElement) {\r\n var _a;\r\n var $item = $(\"
    \").toggleClass(CLASSES.area.field, !itemData.items).attr(ATTRIBUTES.treeViewItem, true).data(\"field\", itemData.field).appendTo(itemElement);\r\n if (itemData.icon) {\r\n null === (_a = getImageContainer(itemData.icon)) || void 0 === _a ? void 0 : _a.appendTo($item)\r\n }\r\n $(\"\").text(itemData.text).appendTo($item)\r\n },\r\n onItemCollapsed(e) {\r\n var index = that._expandedPaths.indexOf(e.itemData.path);\r\n if (index >= 0) {\r\n that._expandedPaths.splice(index, 1)\r\n }\r\n },\r\n onItemExpanded(e) {\r\n var index = that._expandedPaths.indexOf(e.itemData.path);\r\n if (index < 0) {\r\n that._expandedPaths.push(e.itemData.path)\r\n }\r\n },\r\n onItemSelectionChanged(e) {\r\n var data = e.itemData;\r\n var field;\r\n var fields;\r\n var needSelectDefaultItem = true;\r\n var area;\r\n if (data.items) {\r\n if (data.selected) {\r\n treeView.unselectItem(data);\r\n return\r\n }\r\n that._processDemandState(() => {\r\n fields = getDimensionFields(data, dataSource.fields());\r\n for (var i = 0; i < fields.length; i += 1) {\r\n if (fields[i].area) {\r\n needSelectDefaultItem = false;\r\n break\r\n }\r\n }\r\n });\r\n if (needSelectDefaultItem) {\r\n var item = getFirstItem(data, item => item.isDefault) || getFirstItem(data, item => isDefined(item.index));\r\n item && treeView.selectItem(item);\r\n return\r\n }\r\n } else {\r\n field = dataSource.fields()[data.index];\r\n if (data.selected) {\r\n area = field.isMeasure ? \"data\" : \"column\"\r\n }\r\n if (field) {\r\n fields = [field]\r\n }\r\n }\r\n that._applyChanges(fields, {\r\n area: area,\r\n areaIndex: void 0\r\n })\r\n }\r\n });\r\n that._dataChangedHandlers.push((function() {\r\n var scrollable = getScrollable(container);\r\n var scrollTop = scrollable ? scrollable.scrollTop() : 0;\r\n treeView.option({\r\n dataSource: that._createFieldsDataSource(dataSource)\r\n });\r\n scrollable = getScrollable(container);\r\n if (scrollable) {\r\n scrollable.scrollTo({\r\n y: scrollTop\r\n });\r\n scrollable.update()\r\n }\r\n }))\r\n },\r\n _renderAreaFields($container, area) {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var fields = dataSource ? extend(true, [], dataSource.getAreaFields(area, true)) : [];\r\n $container.empty();\r\n each(fields, (_, field) => {\r\n if (false !== field.visible) {\r\n that.renderField(field, true).appendTo($container)\r\n }\r\n })\r\n },\r\n _renderArea(container, area) {\r\n var that = this;\r\n var $areaContainer = $(DIV).addClass(CLASSES.area.self).appendTo(container);\r\n var $fieldsHeaderContainer = $(DIV).addClass(CLASSES.area.fieldListHeader).appendTo($areaContainer);\r\n var caption = that.option(\"texts.\".concat(area, \"Fields\"));\r\n var $fieldsContent;\r\n var render;\r\n $(\"\").addClass(CLASSES.area.icon).addClass(\"dx-area-icon-\".concat(area)).appendTo($fieldsHeaderContainer);\r\n $(\"\").html(\" \").appendTo($fieldsHeaderContainer);\r\n $(\"\").addClass(CLASSES.area.caption).text(caption).appendTo($fieldsHeaderContainer);\r\n var $fieldsContainer = $(DIV).addClass(CLASSES.area.fieldList).addClass(CLASSES.pivotGrid.dragAction).appendTo($areaContainer);\r\n if (\"all\" !== area) {\r\n $fieldsContainer.attr(\"group\", area).attr(ATTRIBUTES.allowScrolling, true);\r\n $fieldsContent = $(DIV).addClass(CLASSES.area.fieldContainer).appendTo($fieldsContainer);\r\n render = function() {\r\n that._renderAreaFields($fieldsContent, area)\r\n };\r\n that._dataChangedHandlers.push(render);\r\n render();\r\n $fieldsContainer.dxScrollable({\r\n useNative: false\r\n })\r\n } else {\r\n $areaContainer.addClass(CLASSES.allFields);\r\n $fieldsContainer.addClass(CLASSES.treeView.borderVisible);\r\n that._renderFieldsTreeView($fieldsContainer)\r\n }\r\n },\r\n _getSortableOptions: () => ({}),\r\n _adjustSortableOnChangedArgs() {},\r\n resetTreeView() {\r\n var treeView = this.$element().find(\".\".concat(CLASSES.treeView.self)).dxTreeView(\"instance\");\r\n if (treeView) {\r\n treeView.option(\"searchValue\", \"\");\r\n treeView.collapseAll()\r\n }\r\n },\r\n applyChanges() {\r\n var state = this.option(\"state\");\r\n if (isDefined(state)) {\r\n this._dataSource.state(state)\r\n }\r\n },\r\n cancelChanges() {\r\n var dataSource = this._dataSource;\r\n if (!dataSource.isLoading()) {\r\n this.option(\"state\", dataSource.state());\r\n return true\r\n }\r\n return false\r\n },\r\n getDataSource() {\r\n return this._dataSource\r\n },\r\n updateDimensions() {\r\n var $scrollableElements = this.$element().find(\".\".concat(CLASSES.area.self, \" .\").concat(CLASSES.scrollable.self));\r\n $scrollableElements.dxScrollable(\"update\")\r\n },\r\n _visibilityChanged(visible) {\r\n if (visible && hasWindow) {\r\n this.updateDimensions()\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxPivotGridFieldChooser\", FieldChooser);\r\nexport default {\r\n FieldChooser: FieldChooser\r\n};\r\nexport {\r\n FieldChooser\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/pivot_grid/sortable/m_sortable.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../../../core/component_registrator\";\r\nimport domAdapter from \"../../../../core/dom_adapter\";\r\nimport DOMComponent from \"../../../../core/dom_component\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getHeight,\r\n getOuterHeight,\r\n getOuterWidth,\r\n getWidth,\r\n setHeight,\r\n setWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport {\r\n drop as dragEventDrop,\r\n end as dragEventEnd,\r\n enter as dragEventEnter,\r\n leave as dragEventLeave,\r\n move as dragEventMove,\r\n start as dragEventStart\r\n} from \"../../../../events/drag\";\r\nimport {\r\n addNamespace\r\n} from \"../../../../events/utils/index\";\r\nimport swatchContainer from \"../../../../ui/widget/swatch_container\";\r\nvar {\r\n getSwatchContainer: getSwatchContainer\r\n} = swatchContainer;\r\nvar SORTABLE_NAMESPACE = \"dxSortable\";\r\nvar SORTABLE_CLASS = \"dx-sortable-old\";\r\nvar SCROLL_STEP = 2;\r\nvar START_SCROLL_OFFSET = 20;\r\nvar SCROLL_TIMEOUT = 10;\r\n\r\nfunction elementHasPoint(element, x, y) {\r\n var $item = $(element);\r\n var offset = $item.offset();\r\n if (x >= offset.left && x <= offset.left + getOuterWidth($item, true)) {\r\n if (y >= offset.top && y <= offset.top + getOuterHeight($item, true)) {\r\n return true\r\n }\r\n }\r\n return\r\n}\r\n\r\nfunction checkHorizontalPosition(position, itemOffset, rtl) {\r\n if (isDefined(itemOffset.posHorizontal)) {\r\n return rtl ? position > itemOffset.posHorizontal : position < itemOffset.posHorizontal\r\n }\r\n return true\r\n}\r\n\r\nfunction getIndex($items, $item) {\r\n var index = -1;\r\n var itemElement = $item.get(0);\r\n each($items, (elementIndex, element) => {\r\n var $element = $(element);\r\n if (!($element.attr(\"item-group\") && $element.attr(\"item-group\") === $items.eq(elementIndex - 1).attr(\"item-group\"))) {\r\n index += 1\r\n }\r\n if (element === itemElement) {\r\n return false\r\n }\r\n return\r\n });\r\n return index === $items.length ? -1 : index\r\n}\r\n\r\nfunction getTargetGroup(e, $groups) {\r\n var result;\r\n each($groups, (function() {\r\n if (elementHasPoint(this, e.pageX, e.pageY)) {\r\n result = $(this)\r\n }\r\n }));\r\n return result\r\n}\r\n\r\nfunction getItemsOffset($elements, isVertical, $itemsContainer) {\r\n var result = [];\r\n var $item = [];\r\n for (var i = 0; i < $elements.length; i += $item.length) {\r\n $item = $elements.eq(i);\r\n if ($item.attr(\"item-group\")) {\r\n $item = $itemsContainer.find(\"[item-group='\".concat($item.attr(\"item-group\"), \"']\"))\r\n }\r\n if ($item.is(\":visible\")) {\r\n var offset = {\r\n item: $item,\r\n index: result.length,\r\n posVertical: isVertical ? ($item.last().offset().top + $item.offset().top + getOuterHeight($item.last(), true)) / 2 : getOuterHeight($item.last(), true) + $item.last().offset().top,\r\n posHorizontal: isVertical ? void 0 : (getOuterWidth($item.last(), true) + $item.last().offset().left + $item.offset().left) / 2\r\n };\r\n result.push(offset)\r\n }\r\n }\r\n return result\r\n}\r\n\r\nfunction getScrollWrapper(scrollable) {\r\n var timeout;\r\n var scrollTop = scrollable.scrollTop();\r\n var $element = scrollable.$element();\r\n var {\r\n top: top\r\n } = $element.offset();\r\n var height = getHeight($element);\r\n var delta = 0;\r\n\r\n function onScroll(e) {\r\n scrollTop = e.scrollOffset.top\r\n }\r\n scrollable.on(\"scroll\", onScroll);\r\n\r\n function move() {\r\n stop();\r\n scrollable.scrollTo(scrollTop += delta);\r\n timeout = setTimeout(move, SCROLL_TIMEOUT)\r\n }\r\n\r\n function stop() {\r\n clearTimeout(timeout)\r\n }\r\n return {\r\n moveIfNeed: function(event) {\r\n if (event.pageY <= top + START_SCROLL_OFFSET) {\r\n delta = -SCROLL_STEP\r\n } else if (event.pageY >= top + height - START_SCROLL_OFFSET) {\r\n delta = SCROLL_STEP\r\n } else {\r\n delta = 0;\r\n stop();\r\n return\r\n }\r\n move()\r\n },\r\n element: () => $element,\r\n dispose() {\r\n stop();\r\n scrollable.off(\"scroll\", onScroll)\r\n }\r\n }\r\n}\r\nvar Sortable = DOMComponent.inherit({\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n onChanged: null,\r\n onDragging: null,\r\n itemRender: null,\r\n groupSelector: null,\r\n itemSelector: \".dx-sort-item\",\r\n itemContainerSelector: \".dx-sortable-old\",\r\n sourceClass: \"dx-drag-source\",\r\n dragClass: \"dx-drag\",\r\n targetClass: \"dx-drag-target\",\r\n direction: \"vertical\",\r\n allowDragging: true,\r\n groupFilter: null,\r\n useIndicator: false\r\n })\r\n },\r\n _renderItem($sourceItem, target) {\r\n var itemRender = this.option(\"itemRender\");\r\n var $item;\r\n if (itemRender) {\r\n $item = itemRender($sourceItem, target)\r\n } else {\r\n $item = $sourceItem.clone();\r\n $item.css({\r\n width: getWidth($sourceItem),\r\n height: getHeight($sourceItem)\r\n })\r\n }\r\n return $item\r\n },\r\n _renderIndicator($item, isVertical, $targetGroup, isLast) {\r\n var height = getOuterHeight($item, true);\r\n var width = getOuterWidth($item, true);\r\n var top = $item.offset().top - $targetGroup.offset().top;\r\n var left = $item.offset().left - $targetGroup.offset().left;\r\n this._indicator.css({\r\n position: \"absolute\",\r\n top: isLast && isVertical ? top + height : top,\r\n left: isLast && !isVertical ? left + width : left\r\n }).toggleClass(\"dx-position-indicator-horizontal\", !isVertical).toggleClass(\"dx-position-indicator-vertical\", !!isVertical).toggleClass(\"dx-position-indicator-last\", !!isLast).appendTo($targetGroup);\r\n setHeight(this._indicator, \"\");\r\n setWidth(this._indicator, \"\");\r\n if (isVertical) {\r\n setWidth(this._indicator, width)\r\n } else {\r\n setHeight(this._indicator, height)\r\n }\r\n },\r\n _renderDraggable($sourceItem) {\r\n this._$draggable && this._$draggable.remove();\r\n this._$draggable = this._renderItem($sourceItem, \"drag\").addClass(this.option(\"dragClass\")).appendTo(getSwatchContainer($sourceItem)).css({\r\n zIndex: 1e6,\r\n position: \"absolute\"\r\n })\r\n },\r\n _detachEventHandlers() {\r\n var dragEventsString = [dragEventMove, dragEventStart, dragEventEnd, dragEventEnter, dragEventLeave, dragEventDrop].join(\" \");\r\n eventsEngine.off(this._getEventListener(), addNamespace(dragEventsString, SORTABLE_NAMESPACE), void 0)\r\n },\r\n _getItemOffset(isVertical, itemsOffset, e) {\r\n for (var i = 0; i < itemsOffset.length; i += 1) {\r\n var shouldInsert = void 0;\r\n var sameLine = e.pageY < itemsOffset[i].posVertical;\r\n if (isVertical) {\r\n shouldInsert = sameLine\r\n } else if (sameLine) {\r\n shouldInsert = checkHorizontalPosition(e.pageX, itemsOffset[i], this.option(\"rtlEnabled\"));\r\n if (!shouldInsert && itemsOffset[i + 1] && itemsOffset[i + 1].posVertical > itemsOffset[i].posVertical) {\r\n shouldInsert = true\r\n }\r\n }\r\n if (shouldInsert) {\r\n return itemsOffset[i]\r\n }\r\n }\r\n return\r\n },\r\n _getEventListener() {\r\n var groupSelector = this.option(\"groupSelector\");\r\n var element = this.$element();\r\n return groupSelector ? element.find(groupSelector) : element\r\n },\r\n _attachEventHandlers() {\r\n var that = this;\r\n var itemSelector = that.option(\"itemSelector\");\r\n var itemContainerSelector = that.option(\"itemContainerSelector\");\r\n var groupSelector = that.option(\"groupSelector\");\r\n var sourceClass = that.option(\"sourceClass\");\r\n var targetClass = that.option(\"targetClass\");\r\n var onDragging = that.option(\"onDragging\");\r\n var groupFilter = that.option(\"groupFilter\");\r\n var $sourceItem;\r\n var sourceIndex;\r\n var $targetItem;\r\n var $targetGroup;\r\n var startPositions;\r\n var sourceGroup;\r\n var element = that.$element();\r\n var $groups;\r\n var scrollWrapper = null;\r\n var targetIndex = -1;\r\n var disposeScrollWrapper = function() {\r\n null === scrollWrapper || void 0 === scrollWrapper ? void 0 : scrollWrapper.dispose();\r\n scrollWrapper = null\r\n };\r\n that._detachEventHandlers();\r\n if (that.option(\"allowDragging\")) {\r\n var $eventListener = that._getEventListener();\r\n eventsEngine.on($eventListener, addNamespace(dragEventStart, SORTABLE_NAMESPACE), itemSelector, e => {\r\n $sourceItem = $(e.currentTarget);\r\n var $sourceGroup = $sourceItem.closest(groupSelector);\r\n sourceGroup = $sourceGroup.attr(\"group\");\r\n sourceIndex = getIndex((groupSelector ? $sourceGroup : element).find(itemSelector), $sourceItem);\r\n if ($sourceItem.attr(\"item-group\")) {\r\n $sourceItem = $sourceGroup.find(\"[item-group='\".concat($sourceItem.attr(\"item-group\"), \"']\"))\r\n }\r\n that._renderDraggable($sourceItem);\r\n $targetItem = that._renderItem($sourceItem, \"target\").addClass(targetClass);\r\n $sourceItem.addClass(sourceClass);\r\n ! function() {\r\n startPositions = [];\r\n each($sourceItem, (_, item) => {\r\n startPositions.push($(item).offset())\r\n })\r\n }();\r\n $groups = function() {\r\n var root = domAdapter.getRootNode(that.$element().get(0));\r\n if (!groupSelector) {\r\n return element\r\n }\r\n return groupFilter ? $(root).find(groupSelector).filter(groupFilter) : element.find(groupSelector)\r\n }();\r\n that._indicator = $(\"
    \").addClass(\"dx-position-indicator\")\r\n });\r\n eventsEngine.on($eventListener, addNamespace(dragEventMove, SORTABLE_NAMESPACE), e => {\r\n var $item;\r\n var $lastItem;\r\n var $prevItem;\r\n if (!$sourceItem) {\r\n return\r\n }\r\n targetIndex = -1;\r\n that._indicator.detach();\r\n each(that._$draggable, (index, draggableElement) => {\r\n $(draggableElement).css({\r\n top: startPositions[index].top + e.offset.y,\r\n left: startPositions[index].left + e.offset.x\r\n })\r\n });\r\n $targetGroup && $targetGroup.removeClass(targetClass);\r\n $targetGroup = getTargetGroup(e, $groups);\r\n $targetGroup && function() {\r\n var draggingArgs = {\r\n sourceGroup: sourceGroup,\r\n sourceIndex: sourceIndex,\r\n sourceElement: $sourceItem,\r\n targetGroup: $targetGroup.attr(\"group\"),\r\n targetIndex: $targetGroup.find(itemSelector).index($targetItem)\r\n };\r\n onDragging && onDragging(draggingArgs);\r\n if (draggingArgs.cancel) {\r\n $targetGroup = void 0\r\n }\r\n }();\r\n if ($targetGroup && scrollWrapper && $targetGroup.get(0) !== scrollWrapper.element().get(0)) {\r\n disposeScrollWrapper()\r\n }\r\n scrollWrapper && scrollWrapper.moveIfNeed(e);\r\n if (!$targetGroup) {\r\n $targetItem.detach();\r\n return\r\n }\r\n if (!scrollWrapper && $targetGroup.attr(\"allow-scrolling\")) {\r\n scrollWrapper = getScrollWrapper($targetGroup.dxScrollable(\"instance\"))\r\n }\r\n $targetGroup.addClass(targetClass);\r\n var $itemContainer = $targetGroup.find(itemContainerSelector);\r\n var $items = $itemContainer.find(itemSelector);\r\n var targetSortable = $targetGroup.closest(\".\".concat(SORTABLE_CLASS)).data(\"dxSortableOld\");\r\n var useIndicator = targetSortable.option(\"useIndicator\");\r\n var isVertical = \"vertical\" === (targetSortable || that).option(\"direction\");\r\n var itemsOffset = getItemsOffset($items, isVertical, $itemContainer);\r\n var itemOffset = that._getItemOffset(isVertical, itemsOffset, e);\r\n if (itemOffset) {\r\n $item = itemOffset.item;\r\n $prevItem = itemsOffset[itemOffset.index - 1] && itemsOffset[itemOffset.index - 1].item;\r\n if ($item.hasClass(sourceClass) || $prevItem && $prevItem.hasClass(sourceClass) && $prevItem.is(\":visible\")) {\r\n $targetItem.detach();\r\n return\r\n }\r\n targetIndex = itemOffset.index;\r\n if (!useIndicator) {\r\n $targetItem.insertBefore($item);\r\n return\r\n }\r\n var isAnotherGroup = $targetGroup.attr(\"group\") !== sourceGroup;\r\n var isSameIndex = targetIndex === sourceIndex;\r\n var isNextIndex = targetIndex === sourceIndex + 1;\r\n if (isAnotherGroup) {\r\n that._renderIndicator($item, isVertical, $targetGroup, that.option(\"rtlEnabled\") && !isVertical);\r\n return\r\n }\r\n if (!isSameIndex && !isNextIndex) {\r\n that._renderIndicator($item, isVertical, $targetGroup, that.option(\"rtlEnabled\") && !isVertical)\r\n }\r\n } else {\r\n $lastItem = $items.last();\r\n if ($lastItem.is(\":visible\") && $lastItem.hasClass(sourceClass)) {\r\n return\r\n }\r\n if ($itemContainer.length) {\r\n targetIndex = itemsOffset.length ? itemsOffset[itemsOffset.length - 1].index + 1 : 0\r\n }\r\n if (useIndicator) {\r\n $items.length && that._renderIndicator($lastItem, isVertical, $targetGroup, !that.option(\"rtlEnabled\") || isVertical)\r\n } else {\r\n $targetItem.appendTo($itemContainer)\r\n }\r\n }\r\n });\r\n eventsEngine.on($eventListener, addNamespace(dragEventEnd, SORTABLE_NAMESPACE), () => {\r\n disposeScrollWrapper();\r\n if (!$sourceItem) {\r\n return\r\n }\r\n var onChanged = that.option(\"onChanged\");\r\n var changedArgs = {\r\n sourceIndex: sourceIndex,\r\n sourceElement: $sourceItem,\r\n sourceGroup: sourceGroup,\r\n targetIndex: targetIndex,\r\n removeSourceElement: true,\r\n removeTargetElement: false,\r\n removeSourceClass: true\r\n };\r\n if ($targetGroup) {\r\n $targetGroup.removeClass(targetClass);\r\n changedArgs.targetGroup = $targetGroup.attr(\"group\");\r\n if (sourceGroup !== changedArgs.targetGroup || targetIndex > -1) {\r\n onChanged && onChanged(changedArgs);\r\n changedArgs.removeSourceElement && $sourceItem.remove()\r\n }\r\n }\r\n that._indicator.detach();\r\n changedArgs.removeSourceClass && $sourceItem.removeClass(sourceClass);\r\n $sourceItem = null;\r\n that._$draggable.remove();\r\n that._$draggable = null;\r\n changedArgs.removeTargetElement && $targetItem.remove();\r\n $targetItem.removeClass(targetClass);\r\n $targetItem = null\r\n })\r\n }\r\n },\r\n _init() {\r\n this.callBase();\r\n this._attachEventHandlers()\r\n },\r\n _render() {\r\n this.callBase();\r\n this.$element().addClass(SORTABLE_CLASS)\r\n },\r\n _dispose() {\r\n this.callBase.apply(this, arguments);\r\n this._$draggable && this._$draggable.detach();\r\n this._indicator && this._indicator.detach()\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"onDragging\":\r\n case \"onChanged\":\r\n case \"itemRender\":\r\n case \"groupSelector\":\r\n case \"itemSelector\":\r\n case \"itemContainerSelector\":\r\n case \"sourceClass\":\r\n case \"targetClass\":\r\n case \"dragClass\":\r\n case \"allowDragging\":\r\n case \"groupFilter\":\r\n case \"useIndicator\":\r\n this._attachEventHandlers();\r\n break;\r\n case \"direction\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _useTemplates: () => false\r\n});\r\nregisterComponent(\"dxSortableOld\", Sortable);\r\nexport default {\r\n Sortable: Sortable\r\n};\r\nexport {\r\n Sortable\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/pivot_grid/field_chooser/dom.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n getOuterWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n ATTRIBUTES,\r\n CLASSES,\r\n SORTABLE_CONST\r\n} from \"./const\";\r\n\r\nfunction getTreeViewItem($sourceItem) {\r\n return $sourceItem.clone().addClass(CLASSES.area.box).css(\"width\", parseFloat(getOuterWidth($sourceItem)))\r\n}\r\n\r\nfunction getAreaBoxItemArray($sourceItem, target) {\r\n var $itemArray = $sourceItem.clone();\r\n if (target === SORTABLE_CONST.targets.drag) {\r\n $sourceItem.each((idx, sourceItem) => {\r\n var width = parseFloat(getOuterWidth(sourceItem));\r\n $itemArray.eq(idx).css(\"width\", width);\r\n return true\r\n })\r\n }\r\n return $itemArray\r\n}\r\n\r\nfunction getDefaultItem($sourceItem) {\r\n return $(\"
    \").addClass(CLASSES.area.field).addClass(CLASSES.area.box).text($sourceItem.text())\r\n}\r\n\r\nfunction getItemArray($sourceItem, target) {\r\n var isAreaBox = $sourceItem.hasClass(CLASSES.area.box);\r\n var isTreeList = $sourceItem.attr(ATTRIBUTES.treeViewItem);\r\n if (isAreaBox) {\r\n return getAreaBoxItemArray($sourceItem, target)\r\n }\r\n if (isTreeList) {\r\n return getTreeViewItem($sourceItem)\r\n }\r\n return getDefaultItem($sourceItem)\r\n}\r\n\r\nfunction wrapItemsInFieldsContainer($itemArray) {\r\n var $wrappedTmpContainer = $(\"
    \");\r\n $itemArray.each((_, item) => {\r\n var $wrappedItem = $(\"
    \").addClass(CLASSES.pivotGrid.fieldsContainer).addClass(CLASSES.widget).append($(item));\r\n $wrappedTmpContainer.append($wrappedItem);\r\n return true\r\n });\r\n return $wrappedTmpContainer.children()\r\n}\r\nexport function dragAndDropItemRender($sourceItem, target) {\r\n var $itemArray = getItemArray($sourceItem, target);\r\n if (target === SORTABLE_CONST.targets.drag) {\r\n return wrapItemsInFieldsContainer($itemArray)\r\n }\r\n return $itemArray\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/grids/pivot_grid/field_chooser/utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n SORT_ORDER\r\n} from \"./const\";\r\nexport var reverseSortOrder = sortOrder => sortOrder === SORT_ORDER.descending ? SORT_ORDER.ascending : SORT_ORDER.descending;\r\n","/**\r\n * DevExtreme (esm/__internal/grids/pivot_grid/field_chooser/m_field_chooser_base.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../../../core/component_registrator\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each,\r\n map\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport ArrayStore from \"../../../../data/array_store\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../../events/click\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport localizationMessage from \"../../../../localization/message\";\r\nimport Widget from \"../../../../ui/widget/ui.widget\";\r\nimport columnStateMixin from \"../../../grids/grid_core/column_state_mixin/m_column_state_mixin\";\r\nimport {\r\n headerFilterMixin,\r\n HeaderFilterView as HeaderFilterViewBase,\r\n updateHeaderFilterItemSelectionState\r\n} from \"../../../grids/grid_core/header_filter/m_header_filter_core\";\r\nimport sortingMixin from \"../../../grids/grid_core/sorting/m_sorting_mixin\";\r\nimport {\r\n createPath,\r\n foreachTree\r\n} from \"../m_widget_utils\";\r\nimport {\r\n Sortable\r\n} from \"../sortable/m_sortable\";\r\nimport {\r\n ATTRIBUTES,\r\n CLASSES\r\n} from \"./const\";\r\nimport {\r\n dragAndDropItemRender\r\n} from \"./dom\";\r\nimport {\r\n reverseSortOrder\r\n} from \"./utils\";\r\nvar DIV = \"
    \";\r\nvar HeaderFilterView = HeaderFilterViewBase.inherit({\r\n _getSearchExpr(options) {\r\n options.useDefaultSearchExpr = true;\r\n return this.callBase(options)\r\n }\r\n});\r\nvar processItems = function(groupItems, field) {\r\n var filterValues = [];\r\n var isTree = !!field.groupName;\r\n var isExcludeFilterType = \"exclude\" === field.filterType;\r\n if (field.filterValues) {\r\n each(field.filterValues, (_, filterValue) => {\r\n filterValues.push(Array.isArray(filterValue) ? filterValue.join(\"/\") : filterValue && filterValue.valueOf())\r\n })\r\n }\r\n foreachTree(groupItems, items => {\r\n var item = items[0];\r\n var path = createPath(items);\r\n var preparedFilterValueByText = isTree ? map(items, item => item.text).reverse().join(\"/\") : item.text;\r\n item.value = isTree ? path.slice(0) : item.key || item.value;\r\n var preparedFilterValue = isTree ? path.join(\"/\") : item.value && item.value.valueOf();\r\n if (item.children) {\r\n item.items = item.children;\r\n item.children = null\r\n }\r\n updateHeaderFilterItemSelectionState(item, item.key && filterValues.includes(preparedFilterValueByText) || filterValues.includes(preparedFilterValue), isExcludeFilterType)\r\n })\r\n};\r\n\r\nfunction getMainGroupField(dataSource, sourceField) {\r\n var field = sourceField;\r\n if (isDefined(sourceField.groupIndex)) {\r\n field = dataSource.getAreaFields(sourceField.area, true)[sourceField.areaIndex]\r\n }\r\n return field\r\n}\r\n\r\nfunction getStringState(state) {\r\n state = state || {};\r\n return JSON.stringify([state.fields, state.columnExpandedPaths, state.rowExpandedPaths])\r\n}\r\nvar FieldChooserBase = Widget.inherit(columnStateMixin).inherit(sortingMixin).inherit(headerFilterMixin).inherit({\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n allowFieldDragging: true,\r\n applyChangesMode: \"instantly\",\r\n state: null,\r\n headerFilter: {\r\n width: 252,\r\n height: 325,\r\n searchTimeout: 500,\r\n texts: {\r\n emptyValue: localizationMessage.format(\"dxDataGrid-headerFilterEmptyValue\"),\r\n ok: localizationMessage.format(\"dxDataGrid-headerFilterOK\"),\r\n cancel: localizationMessage.format(\"dxDataGrid-headerFilterCancel\")\r\n }\r\n },\r\n remoteSort: false\r\n })\r\n },\r\n _init() {\r\n this.callBase();\r\n this._headerFilterView = new HeaderFilterView(this);\r\n this._refreshDataSource();\r\n this.subscribeToEvents()\r\n },\r\n _refreshDataSource() {\r\n var dataSource = this.option(\"dataSource\");\r\n if (dataSource && dataSource.fields && dataSource.load) {\r\n this._dataSource = dataSource\r\n }\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"dataSource\":\r\n this._refreshDataSource();\r\n break;\r\n case \"applyChangesMode\":\r\n case \"remoteSort\":\r\n break;\r\n case \"state\":\r\n if (this._skipStateChange || !this._dataSource) {\r\n break\r\n }\r\n if (\"instantly\" === this.option(\"applyChangesMode\") && getStringState(this._dataSource.state()) !== getStringState(args.value)) {\r\n this._dataSource.state(args.value)\r\n } else {\r\n this._clean(true);\r\n this._renderComponent()\r\n }\r\n break;\r\n case \"headerFilter\":\r\n case \"allowFieldDragging\":\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n renderField(field, showColumnLines) {\r\n var $fieldContent = $(DIV).addClass(CLASSES.area.fieldContent).text(field.caption || field.dataField);\r\n var $fieldElement = $(DIV).addClass(CLASSES.area.field).addClass(CLASSES.area.box).data(\"field\", field).append($fieldContent);\r\n var mainGroupField = getMainGroupField(this._dataSource, field);\r\n if (\"data\" !== field.area) {\r\n if (field.allowSorting) {\r\n this._applyColumnState({\r\n name: \"sort\",\r\n rootElement: $fieldElement,\r\n column: {\r\n alignment: this.option(\"rtlEnabled\") ? \"right\" : \"left\",\r\n sortOrder: \"desc\" === field.sortOrder ? \"desc\" : \"asc\",\r\n allowSorting: field.allowSorting\r\n },\r\n showColumnLines: showColumnLines\r\n })\r\n }\r\n this._applyColumnState({\r\n name: \"headerFilter\",\r\n rootElement: $fieldElement,\r\n column: {\r\n alignment: this.option(\"rtlEnabled\") ? \"right\" : \"left\",\r\n filterValues: mainGroupField.filterValues,\r\n allowFiltering: mainGroupField.allowFiltering && !field.groupIndex,\r\n allowSorting: field.allowSorting\r\n },\r\n showColumnLines: showColumnLines\r\n })\r\n }\r\n if (field.groupName) {\r\n $fieldElement.attr(ATTRIBUTES.itemGroup, field.groupName)\r\n }\r\n return $fieldElement\r\n },\r\n _clean() {},\r\n _render() {\r\n this.callBase();\r\n this._headerFilterView.render(this.$element())\r\n },\r\n renderSortable() {\r\n var that = this;\r\n that._createComponent(that.$element(), Sortable, extend({\r\n allowDragging: that.option(\"allowFieldDragging\"),\r\n itemSelector: \".\".concat(CLASSES.area.field),\r\n itemContainerSelector: \".\".concat(CLASSES.area.fieldContainer),\r\n groupSelector: \".\".concat(CLASSES.area.fieldList),\r\n groupFilter() {\r\n var dataSource = that._dataSource;\r\n var $sortable = $(this).closest(\".dx-sortable-old\");\r\n var pivotGrid = $sortable.data(\"dxPivotGrid\");\r\n var pivotGridFieldChooser = $sortable.data(\"dxPivotGridFieldChooser\");\r\n if (pivotGrid) {\r\n return pivotGrid.getDataSource() === dataSource\r\n }\r\n if (pivotGridFieldChooser) {\r\n return pivotGridFieldChooser.option(\"dataSource\") === dataSource\r\n }\r\n return false\r\n },\r\n itemRender: dragAndDropItemRender,\r\n onDragging(e) {\r\n var field = e.sourceElement.data(\"field\");\r\n var {\r\n targetGroup: targetGroup\r\n } = e;\r\n e.cancel = false;\r\n if (true === field.isMeasure) {\r\n if (\"column\" === targetGroup || \"row\" === targetGroup || \"filter\" === targetGroup) {\r\n e.cancel = true\r\n }\r\n } else if (false === field.isMeasure && \"data\" === targetGroup) {\r\n e.cancel = true\r\n }\r\n },\r\n useIndicator: true,\r\n onChanged(e) {\r\n var field = e.sourceElement.data(\"field\");\r\n e.removeSourceElement = !!e.sourceGroup;\r\n that._adjustSortableOnChangedArgs(e);\r\n if (field) {\r\n var {\r\n targetIndex: targetIndex\r\n } = e;\r\n var mainGroupField;\r\n var invisibleFieldsIndexOffset = 0;\r\n that._processDemandState(dataSource => {\r\n var fields = dataSource.getAreaFields(field.area, true);\r\n mainGroupField = getMainGroupField(dataSource, field);\r\n var visibleFields = fields.filter(f => false !== f.visible);\r\n var fieldBeforeTarget = visibleFields[targetIndex - 1];\r\n if (fieldBeforeTarget) {\r\n invisibleFieldsIndexOffset = fields.filter(f => false === f.visible && f.areaIndex <= fieldBeforeTarget.areaIndex).length\r\n }\r\n });\r\n that._applyChanges([mainGroupField], {\r\n area: e.targetGroup,\r\n areaIndex: targetIndex + invisibleFieldsIndexOffset\r\n })\r\n }\r\n }\r\n }, that._getSortableOptions()))\r\n },\r\n _processDemandState(func) {\r\n var isInstantlyMode = \"instantly\" === this.option(\"applyChangesMode\");\r\n var dataSource = this._dataSource;\r\n if (isInstantlyMode) {\r\n func(dataSource, isInstantlyMode)\r\n } else {\r\n var currentState = dataSource.state();\r\n var pivotGridState = this.option(\"state\");\r\n if (pivotGridState) {\r\n dataSource.state(pivotGridState, true)\r\n }\r\n func(dataSource, isInstantlyMode);\r\n dataSource.state(currentState, true)\r\n }\r\n },\r\n _applyChanges(fields, props) {\r\n var that = this;\r\n that._processDemandState((dataSource, isInstantlyMode) => {\r\n fields.forEach(_ref => {\r\n var {\r\n index: index\r\n } = _ref;\r\n dataSource.field(index, props)\r\n });\r\n if (isInstantlyMode) {\r\n dataSource.load()\r\n } else {\r\n that._changedHandler()\r\n }\r\n })\r\n },\r\n _applyLocalSortChanges(fieldIdx, sortOrder) {\r\n this._processDemandState(dataSource => {\r\n dataSource.field(fieldIdx, {\r\n sortOrder: sortOrder\r\n });\r\n dataSource.sortLocal()\r\n })\r\n },\r\n _adjustSortableOnChangedArgs(e) {\r\n e.removeSourceElement = false;\r\n e.removeTargetElement = true;\r\n e.removeSourceClass = false\r\n },\r\n _getSortableOptions: () => ({\r\n direction: \"auto\"\r\n }),\r\n subscribeToEvents(element) {\r\n var that = this;\r\n var func = function(e) {\r\n var field = $(e.currentTarget).data(\"field\");\r\n var mainGroupField = extend(true, {}, getMainGroupField(that._dataSource, field));\r\n var isHeaderFilter = $(e.target).hasClass(CLASSES.headerFilter);\r\n var dataSource = that._dataSource;\r\n var type = mainGroupField.groupName ? \"tree\" : \"list\";\r\n var paginate = dataSource.paginate() && \"list\" === type;\r\n if (isHeaderFilter) {\r\n that._headerFilterView.showHeaderFilterMenu($(e.currentTarget), extend(mainGroupField, {\r\n type: type,\r\n encodeHtml: that.option(\"encodeHtml\"),\r\n dataSource: {\r\n useDefaultSearch: !paginate,\r\n load(options) {\r\n var {\r\n userData: userData\r\n } = options;\r\n if (userData.store) {\r\n return userData.store.load(options)\r\n }\r\n var d = new Deferred;\r\n dataSource.getFieldValues(mainGroupField.index, that.option(\"headerFilter.showRelevantValues\"), paginate ? options : void 0).done(data => {\r\n var emptyValue = that.option(\"headerFilter.texts.emptyValue\");\r\n data.forEach(element => {\r\n if (!element.text) {\r\n element.text = emptyValue\r\n }\r\n });\r\n if (paginate) {\r\n d.resolve(data)\r\n } else {\r\n userData.store = new ArrayStore(data);\r\n userData.store.load(options).done(d.resolve).fail(d.reject)\r\n }\r\n }).fail(d.reject);\r\n return d\r\n },\r\n postProcess(data) {\r\n processItems(data, mainGroupField);\r\n return data\r\n }\r\n },\r\n apply() {\r\n that._applyChanges([mainGroupField], {\r\n filterValues: this.filterValues,\r\n filterType: this.filterType\r\n })\r\n }\r\n }))\r\n } else if (field.allowSorting && \"data\" !== field.area) {\r\n var isRemoteSort = that.option(\"remoteSort\");\r\n var sortOrder = reverseSortOrder(field.sortOrder);\r\n if (isRemoteSort) {\r\n that._applyChanges([field], {\r\n sortOrder: sortOrder\r\n })\r\n } else {\r\n that._applyLocalSortChanges(field.index, sortOrder)\r\n }\r\n }\r\n };\r\n if (element) {\r\n eventsEngine.on(element, clickEventName, \".\".concat(CLASSES.area.field, \".\").concat(CLASSES.area.box), func);\r\n return\r\n }\r\n eventsEngine.on(that.$element(), clickEventName, \".\".concat(CLASSES.area.field, \".\").concat(CLASSES.area.box), func)\r\n },\r\n _initTemplates: noop,\r\n addWidgetPrefix: className => \"dx-pivotgrid-\".concat(className)\r\n});\r\nregisterComponent(\"dxPivotGridFieldChooserBase\", FieldChooserBase);\r\nexport default {\r\n FieldChooserBase: FieldChooserBase\r\n};\r\nexport {\r\n FieldChooserBase\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/pivot_grid/const.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var CLASSES = {\r\n scrollBarMeasureElement: \"dx-pivotgrid-scrollbar-measure-element\"\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/pivot_grid/m_widget_utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../../core/dom_adapter\";\r\nimport coreAjaxUtils from \"../../../core/utils/ajax\";\r\nimport callOnce from \"../../../core/utils/call_once\";\r\nimport {\r\n compileGetter\r\n} from \"../../../core/utils/data\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n each,\r\n map\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n isDefined,\r\n isNumeric,\r\n type\r\n} from \"../../../core/utils/type\";\r\nimport ArrayStore from \"../../../data/array_store\";\r\nimport {\r\n DataSource\r\n} from \"../../../data/data_source/data_source\";\r\nimport formatHelper from \"../../../format_helper\";\r\nimport localizationDate from \"../../../localization/date\";\r\nimport {\r\n CLASSES\r\n} from \"./const\";\r\nvar setFieldProperty = function(field, property, value, isInitialization) {\r\n var initProperties = field._initProperties = field._initProperties || {};\r\n var initValue = isInitialization ? value : field[property];\r\n var needInitProperty = !Object.prototype.hasOwnProperty.call(initProperties, property) || isInitialization;\r\n if (needInitProperty && \"_initProperties\" !== property) {\r\n initProperties[property] = initValue\r\n }\r\n field[property] = value\r\n};\r\n\r\nfunction sendRequest(options) {\r\n return coreAjaxUtils.sendRequest(options)\r\n}\r\nvar foreachTreeAsyncDate = new Date;\r\n\r\nfunction createForeachTreeFunc(isAsync) {\r\n return function foreachTreeFunc(items, callback, parentAtFirst, members, index, isChildrenProcessing) {\r\n members = members || [];\r\n items = items || [];\r\n var i;\r\n var deferred;\r\n index = index || 0;\r\n\r\n function createForeachTreeAsyncHandler(deferred, i, isChildrenProcessing) {\r\n when(foreachTreeFunc(items, callback, parentAtFirst, members, i, isChildrenProcessing)).done(deferred.resolve)\r\n }\r\n for (i = index; i < items.length; i += 1) {\r\n if (isAsync && i > index && i % 1e4 === 0 && new Date - foreachTreeAsyncDate >= 300) {\r\n foreachTreeAsyncDate = new Date;\r\n deferred = new Deferred;\r\n createForeachTreeAsyncHandler(deferred, i, false);\r\n return deferred\r\n }\r\n var item = items[i];\r\n if (!isChildrenProcessing) {\r\n members.unshift(item);\r\n if (parentAtFirst && false === callback(members, i)) {\r\n return\r\n }\r\n if (item.children) {\r\n var childrenDeferred = foreachTreeFunc(item.children, callback, parentAtFirst, members);\r\n if (isAsync && childrenDeferred) {\r\n deferred = new Deferred;\r\n childrenDeferred.done(createForeachTreeAsyncHandler(deferred, i, true));\r\n return deferred\r\n }\r\n }\r\n }\r\n isChildrenProcessing = false;\r\n if (!parentAtFirst && false === callback(members, i)) {\r\n return\r\n }\r\n members.shift();\r\n if (items[i] !== item) {\r\n i -= 1\r\n }\r\n }\r\n return\r\n }\r\n}\r\nvar foreachTree = createForeachTreeFunc(false);\r\nvar foreachTreeAsync = createForeachTreeFunc(true);\r\n\r\nfunction findField(fields, id) {\r\n if (fields && isDefined(id)) {\r\n for (var i = 0; i < fields.length; i += 1) {\r\n var field = fields[i];\r\n if (field.name === id || field.caption === id || field.dataField === id || field.index === id) {\r\n return i\r\n }\r\n }\r\n }\r\n return -1\r\n}\r\n\r\nfunction formatValue(value, options) {\r\n var valueText = value === value && formatHelper.format(value, options.format);\r\n var formatObject = {\r\n value: value,\r\n valueText: valueText || \"\"\r\n };\r\n return options.customizeText ? options.customizeText.call(options, formatObject) : formatObject.valueText\r\n}\r\n\r\nfunction getCompareFunction(valueSelector) {\r\n return function(a, b) {\r\n var result = 0;\r\n var valueA = valueSelector(a);\r\n var valueB = valueSelector(b);\r\n var aIsDefined = isDefined(valueA);\r\n var bIsDefined = isDefined(valueB);\r\n if (aIsDefined && bIsDefined) {\r\n if (valueA > valueB) {\r\n result = 1\r\n } else if (valueA < valueB) {\r\n result = -1\r\n }\r\n }\r\n if (aIsDefined && !bIsDefined) {\r\n result = 1\r\n }\r\n if (!aIsDefined && bIsDefined) {\r\n result = -1\r\n }\r\n return result\r\n }\r\n}\r\n\r\nfunction createPath(items) {\r\n var result = [];\r\n for (var i = items.length - 1; i >= 0; i -= 1) {\r\n result.push(items[i].key || items[i].value)\r\n }\r\n return result\r\n}\r\n\r\nfunction foreachDataLevel(data, callback, index, childrenField) {\r\n index = index || 0;\r\n childrenField = childrenField || \"children\";\r\n if (data.length) {\r\n callback(data, index)\r\n }\r\n for (var i = 0; i < data.length; i += 1) {\r\n var item = data[i];\r\n if (item[childrenField] && item[childrenField].length) {\r\n foreachDataLevel(item[childrenField], callback, index + 1, childrenField)\r\n }\r\n }\r\n}\r\n\r\nfunction mergeArraysByMaxValue(values1, values2) {\r\n var result = [];\r\n for (var i = 0; i < values1.length; i += 1) {\r\n result.push(Math.max(values1[i] || 0, values2[i] || 0))\r\n }\r\n return result\r\n}\r\n\r\nfunction getExpandedLevel(options, axisName) {\r\n var dimensions = options[axisName];\r\n var expandLevel = 0;\r\n var expandedPaths = (\"columns\" === axisName ? options.columnExpandedPaths : options.rowExpandedPaths) || [];\r\n if (options.headerName === axisName) {\r\n expandLevel = options.path.length\r\n } else if (options.headerName && options.headerName !== axisName && options.oppositePath) {\r\n expandLevel = options.oppositePath.length\r\n } else {\r\n each(expandedPaths, (_, path) => {\r\n expandLevel = Math.max(expandLevel, path.length)\r\n })\r\n }\r\n while (dimensions[expandLevel + 1] && dimensions[expandLevel].expanded) {\r\n expandLevel += 1\r\n }\r\n return expandLevel\r\n}\r\n\r\nfunction createGroupFields(item) {\r\n return map([\"year\", \"quarter\", \"month\"], (value, index) => extend({}, item, {\r\n groupInterval: value,\r\n groupIndex: index\r\n }))\r\n}\r\n\r\nfunction parseFields(dataSource, fieldsList, path, fieldsDataType) {\r\n var result = [];\r\n Object.keys(fieldsList || []).forEach(field => {\r\n if (field && field.startsWith(\"__\")) {\r\n return\r\n }\r\n var dataIndex = 1;\r\n var currentPath = path.length ? \"\".concat(path, \".\").concat(field) : field;\r\n var dataType = fieldsDataType[currentPath];\r\n var getter = compileGetter(currentPath);\r\n var value = fieldsList[field];\r\n var items;\r\n while (!isDefined(value) && dataSource[dataIndex]) {\r\n value = getter(dataSource[dataIndex]);\r\n dataIndex += 1\r\n }\r\n if (!dataType && isDefined(value)) {\r\n dataType = type(value)\r\n }\r\n items = [{\r\n dataField: currentPath,\r\n dataType: dataType,\r\n groupName: \"date\" === dataType ? field : void 0,\r\n groupInterval: void 0,\r\n displayFolder: path\r\n }];\r\n if (\"date\" === dataType) {\r\n items = items.concat(createGroupFields(items[0]))\r\n } else if (\"object\" === dataType) {\r\n items = parseFields(dataSource, value, currentPath, fieldsDataType)\r\n }\r\n result.push.apply(result, items)\r\n });\r\n return result\r\n}\r\n\r\nfunction discoverObjectFields(items, fields) {\r\n var fieldsDataType = getFieldsDataType(fields);\r\n return parseFields(items, items[0], \"\", fieldsDataType)\r\n}\r\n\r\nfunction getFieldsDataType(fields) {\r\n var result = {};\r\n each(fields, (_, field) => {\r\n result[field.dataField] = result[field.dataField] || field.dataType\r\n });\r\n return result\r\n}\r\nvar DATE_INTERVAL_FORMATS = {\r\n month: value => localizationDate.getMonthNames()[value - 1],\r\n quarter: value => localizationDate.format(new Date(2e3, 3 * value - 1), \"quarter\"),\r\n dayOfWeek: value => localizationDate.getDayNames()[value]\r\n};\r\n\r\nfunction setDefaultFieldValueFormatting(field) {\r\n if (\"date\" === field.dataType) {\r\n if (!field.format) {\r\n setFieldProperty(field, \"format\", DATE_INTERVAL_FORMATS[field.groupInterval])\r\n }\r\n } else if (\"number\" === field.dataType) {\r\n var groupInterval = isNumeric(field.groupInterval) && field.groupInterval > 0 && field.groupInterval;\r\n if (groupInterval && !field.customizeText) {\r\n setFieldProperty(field, \"customizeText\", formatObject => {\r\n var secondValue = formatObject.value + groupInterval;\r\n var secondValueText = formatHelper.format(secondValue, field.format);\r\n return formatObject.valueText && secondValueText ? \"\".concat(formatObject.valueText, \" - \").concat(secondValueText) : \"\"\r\n })\r\n }\r\n }\r\n}\r\n\r\nfunction getFiltersByPath(fields, path) {\r\n var result = [];\r\n path = path || [];\r\n for (var i = 0; i < path.length; i += 1) {\r\n result.push(extend({}, fields[i], {\r\n groupIndex: null,\r\n groupName: null,\r\n filterType: \"include\",\r\n filterValues: [path[i]]\r\n }))\r\n }\r\n return result\r\n}\r\nvar storeDrillDownMixin = {\r\n createDrillDownDataSource(descriptions, params) {\r\n var items = this.getDrillDownItems(descriptions, params);\r\n\r\n function createCustomStoreMethod(methodName) {\r\n return function(options) {\r\n var d;\r\n if (void 0) {\r\n d = (void 0)[methodName](options)\r\n } else {\r\n d = new Deferred;\r\n when(items).done(data => {\r\n var arrayStore = new ArrayStore(data);\r\n arrayStore[methodName](options).done(d.resolve).fail(d.reject)\r\n }).fail(d.reject)\r\n }\r\n return d\r\n }\r\n }\r\n var dataSource = new DataSource({\r\n load: createCustomStoreMethod(\"load\"),\r\n totalCount: createCustomStoreMethod(\"totalCount\"),\r\n key: this.key()\r\n });\r\n return dataSource\r\n }\r\n};\r\n\r\nfunction capitalizeFirstLetter(string) {\r\n return string.charAt(0).toUpperCase() + string.slice(1)\r\n}\r\nvar getScrollbarWidth = containerElement => containerElement.offsetWidth - containerElement.clientWidth;\r\nvar calculateScrollbarWidth = callOnce(() => {\r\n var document = domAdapter.getDocument();\r\n document.body.insertAdjacentHTML(\"beforeend\", '
    '));\r\n var scrollbar = document.body.lastElementChild;\r\n var scrollbarWidth = getScrollbarWidth(scrollbar);\r\n if (scrollbar) {\r\n document.body.removeChild(scrollbar)\r\n }\r\n return scrollbarWidth\r\n});\r\nexport default {\r\n setFieldProperty: setFieldProperty,\r\n sendRequest: sendRequest,\r\n foreachTree: foreachTree,\r\n foreachTreeAsync: foreachTreeAsync,\r\n findField: findField,\r\n formatValue: formatValue,\r\n getCompareFunction: getCompareFunction,\r\n createPath: createPath,\r\n foreachDataLevel: foreachDataLevel,\r\n mergeArraysByMaxValue: mergeArraysByMaxValue,\r\n getExpandedLevel: getExpandedLevel,\r\n discoverObjectFields: discoverObjectFields,\r\n getFieldsDataType: getFieldsDataType,\r\n setDefaultFieldValueFormatting: setDefaultFieldValueFormatting,\r\n getFiltersByPath: getFiltersByPath,\r\n storeDrillDownMixin: storeDrillDownMixin,\r\n capitalizeFirstLetter: capitalizeFirstLetter,\r\n getScrollbarWidth: getScrollbarWidth,\r\n calculateScrollbarWidth: calculateScrollbarWidth\r\n};\r\nexport {\r\n calculateScrollbarWidth,\r\n capitalizeFirstLetter,\r\n createPath,\r\n discoverObjectFields,\r\n findField,\r\n foreachDataLevel,\r\n foreachTree,\r\n foreachTreeAsync,\r\n formatValue,\r\n getCompareFunction,\r\n getExpandedLevel,\r\n getFieldsDataType,\r\n getFiltersByPath,\r\n getScrollbarWidth,\r\n mergeArraysByMaxValue,\r\n sendRequest,\r\n setDefaultFieldValueFormatting,\r\n setFieldProperty,\r\n storeDrillDownMixin\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/m_draggable.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport positionUtils from \"../animation/position\";\r\nimport {\r\n locate,\r\n move\r\n} from \"../animation/translator\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport DOMComponent from \"../core/dom_component\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n EmptyTemplate\r\n} from \"../core/templates/empty_template\";\r\nimport {\r\n noop,\r\n splitPair\r\n} from \"../core/utils/common\";\r\nimport {\r\n Deferred,\r\n fromPromise,\r\n when\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n dasherize\r\n} from \"../core/utils/inflector\";\r\nimport {\r\n getBoundingRect\r\n} from \"../core/utils/position\";\r\nimport {\r\n getHeight,\r\n getOuterHeight,\r\n getOuterWidth,\r\n getWidth\r\n} from \"../core/utils/size\";\r\nimport {\r\n quadToObject\r\n} from \"../core/utils/string\";\r\nimport {\r\n isFunction,\r\n isNumeric,\r\n isObject\r\n} from \"../core/utils/type\";\r\nimport {\r\n value as viewPort\r\n} from \"../core/utils/view_port\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n end as dragEventEnd,\r\n enter as dragEventEnter,\r\n leave as dragEventLeave,\r\n move as dragEventMove,\r\n start as dragEventStart\r\n} from \"../events/drag\";\r\nimport pointerEvents from \"../events/pointer\";\r\nimport {\r\n addNamespace,\r\n needSkipEvent\r\n} from \"../events/utils/index\";\r\nimport Animator from \"../ui/scroll_view/animator\";\r\nvar window = getWindow();\r\nvar KEYDOWN_EVENT = \"keydown\";\r\nvar DRAGGABLE = \"dxDraggable\";\r\nvar DRAGSTART_EVENT_NAME = addNamespace(dragEventStart, DRAGGABLE);\r\nvar DRAG_EVENT_NAME = addNamespace(dragEventMove, DRAGGABLE);\r\nvar DRAGEND_EVENT_NAME = addNamespace(dragEventEnd, DRAGGABLE);\r\nvar DRAG_ENTER_EVENT_NAME = addNamespace(dragEventEnter, DRAGGABLE);\r\nvar DRAGEND_LEAVE_EVENT_NAME = addNamespace(dragEventLeave, DRAGGABLE);\r\nvar POINTERDOWN_EVENT_NAME = addNamespace(pointerEvents.down, DRAGGABLE);\r\nvar KEYDOWN_EVENT_NAME = addNamespace(KEYDOWN_EVENT, DRAGGABLE);\r\nvar CLONE_CLASS = \"clone\";\r\nvar targetDraggable;\r\nvar sourceDraggable;\r\nvar ANONYMOUS_TEMPLATE_NAME = \"content\";\r\nvar getMousePosition = event => ({\r\n x: event.pageX - $(window).scrollLeft(),\r\n y: event.pageY - $(window).scrollTop()\r\n});\r\nvar GESTURE_COVER_CLASS = \"dx-gesture-cover\";\r\nvar OVERLAY_WRAPPER_CLASS = \"dx-overlay-wrapper\";\r\nvar OVERLAY_CONTENT_CLASS = \"dx-overlay-content\";\r\nclass ScrollHelper {\r\n constructor(orientation, component) {\r\n this._$scrollableAtPointer = null;\r\n this._preventScroll = true;\r\n this._component = component;\r\n if (\"vertical\" === orientation) {\r\n this._scrollValue = \"scrollTop\";\r\n this._overFlowAttr = \"overflowY\";\r\n this._sizeAttr = \"height\";\r\n this._scrollSizeProp = \"scrollHeight\";\r\n this._clientSizeProp = \"clientHeight\";\r\n this._limitProps = {\r\n start: \"top\",\r\n end: \"bottom\"\r\n }\r\n } else {\r\n this._scrollValue = \"scrollLeft\";\r\n this._overFlowAttr = \"overflowX\";\r\n this._sizeAttr = \"width\";\r\n this._scrollSizeProp = \"scrollWidth\";\r\n this._clientSizeProp = \"clientWidth\";\r\n this._limitProps = {\r\n start: \"left\",\r\n end: \"right\"\r\n }\r\n }\r\n }\r\n updateScrollable(elements, mousePosition) {\r\n var isScrollableFound = false;\r\n elements.some(element => {\r\n var $element = $(element);\r\n var isTargetOverOverlayWrapper = $element.hasClass(OVERLAY_WRAPPER_CLASS);\r\n var isTargetOverOverlayContent = $element.hasClass(OVERLAY_CONTENT_CLASS);\r\n if (isTargetOverOverlayWrapper || isTargetOverOverlayContent) {\r\n return true\r\n }\r\n isScrollableFound = this._trySetScrollable(element, mousePosition);\r\n return isScrollableFound\r\n });\r\n if (!isScrollableFound) {\r\n this._$scrollableAtPointer = null;\r\n this._scrollSpeed = 0\r\n }\r\n }\r\n isScrolling() {\r\n return !!this._scrollSpeed\r\n }\r\n isScrollable($element) {\r\n return (\"auto\" === $element.css(this._overFlowAttr) || $element.hasClass(\"dx-scrollable-container\")) && $element.prop(this._scrollSizeProp) > Math.ceil(\"width\" === this._sizeAttr ? getWidth($element) : getHeight($element))\r\n }\r\n _trySetScrollable(element, mousePosition) {\r\n var $element = $(element);\r\n var distanceToBorders;\r\n var sensitivity = this._component.option(\"scrollSensitivity\");\r\n var isScrollable = this.isScrollable($element);\r\n if (isScrollable) {\r\n distanceToBorders = this._calculateDistanceToBorders($element, mousePosition);\r\n if (sensitivity > distanceToBorders[this._limitProps.start]) {\r\n if (!this._preventScroll) {\r\n this._scrollSpeed = -this._calculateScrollSpeed(distanceToBorders[this._limitProps.start]);\r\n this._$scrollableAtPointer = $element\r\n }\r\n } else if (sensitivity > distanceToBorders[this._limitProps.end]) {\r\n if (!this._preventScroll) {\r\n this._scrollSpeed = this._calculateScrollSpeed(distanceToBorders[this._limitProps.end]);\r\n this._$scrollableAtPointer = $element\r\n }\r\n } else {\r\n isScrollable = false;\r\n this._preventScroll = false\r\n }\r\n }\r\n return isScrollable\r\n }\r\n _calculateDistanceToBorders($area, mousePosition) {\r\n var area = $area.get(0);\r\n var areaBoundingRect;\r\n if (area) {\r\n areaBoundingRect = getBoundingRect(area);\r\n return {\r\n left: mousePosition.x - areaBoundingRect.left,\r\n top: mousePosition.y - areaBoundingRect.top,\r\n right: areaBoundingRect.right - mousePosition.x,\r\n bottom: areaBoundingRect.bottom - mousePosition.y\r\n }\r\n }\r\n return {}\r\n }\r\n _calculateScrollSpeed(distance) {\r\n var component = this._component;\r\n var sensitivity = component.option(\"scrollSensitivity\");\r\n var maxSpeed = component.option(\"scrollSpeed\");\r\n return Math.ceil(Math.pow((sensitivity - distance) / sensitivity, 2) * maxSpeed)\r\n }\r\n scrollByStep() {\r\n if (this._$scrollableAtPointer && this._scrollSpeed) {\r\n if (this._$scrollableAtPointer.hasClass(\"dx-scrollable-container\")) {\r\n var $scrollable = this._$scrollableAtPointer.closest(\".dx-scrollable\");\r\n var scrollableInstance = $scrollable.data(\"dxScrollable\") || $scrollable.data(\"dxScrollView\");\r\n if (scrollableInstance) {\r\n var nextScrollPosition = scrollableInstance.scrollOffset()[this._limitProps.start] + this._scrollSpeed;\r\n scrollableInstance.scrollTo({\r\n [this._limitProps.start]: nextScrollPosition\r\n })\r\n }\r\n } else {\r\n var _nextScrollPosition = this._$scrollableAtPointer[this._scrollValue]() + this._scrollSpeed;\r\n this._$scrollableAtPointer[this._scrollValue](_nextScrollPosition)\r\n }\r\n var dragMoveArgs = this._component._dragMoveArgs;\r\n if (dragMoveArgs) {\r\n this._component._dragMoveHandler(dragMoveArgs)\r\n }\r\n }\r\n }\r\n reset() {\r\n this._$scrollableAtPointer = null;\r\n this._scrollSpeed = 0;\r\n this._preventScroll = true\r\n }\r\n isOutsideScrollable($scrollable, event) {\r\n if (!$scrollable) {\r\n return false\r\n }\r\n var scrollableSize = getBoundingRect($scrollable.get(0));\r\n var start = scrollableSize[this._limitProps.start];\r\n var size = scrollableSize[this._sizeAttr];\r\n var mousePosition = getMousePosition(event);\r\n var location = \"width\" === this._sizeAttr ? mousePosition.x : mousePosition.y;\r\n return location < start || location > start + size\r\n }\r\n}\r\nvar ScrollAnimator = Animator.inherit({\r\n ctor(strategy) {\r\n this.callBase();\r\n this._strategy = strategy\r\n },\r\n _step() {\r\n var horizontalScrollHelper = this._strategy._horizontalScrollHelper;\r\n var verticalScrollHelper = this._strategy._verticalScrollHelper;\r\n horizontalScrollHelper && horizontalScrollHelper.scrollByStep();\r\n verticalScrollHelper && verticalScrollHelper.scrollByStep()\r\n }\r\n});\r\nvar Draggable = DOMComponent.inherit({\r\n reset: noop,\r\n dragMove: noop,\r\n dragEnter: noop,\r\n dragLeave: noop,\r\n dragEnd(sourceEvent) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n sourceDraggable._fireRemoveEvent(sourceEvent);\r\n return Deferred().resolve()\r\n },\r\n _fireRemoveEvent: noop,\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n onDragStart: null,\r\n onDragMove: null,\r\n onDragEnd: null,\r\n onDragEnter: null,\r\n onDragLeave: null,\r\n onDragCancel: null,\r\n onCancelByEsc: false,\r\n onDrop: null,\r\n immediate: true,\r\n dragDirection: \"both\",\r\n boundary: void 0,\r\n boundOffset: 0,\r\n allowMoveByClick: false,\r\n itemData: null,\r\n container: void 0,\r\n dragTemplate: void 0,\r\n contentTemplate: \"content\",\r\n handle: \"\",\r\n filter: \"\",\r\n clone: false,\r\n autoScroll: true,\r\n scrollSpeed: 30,\r\n scrollSensitivity: 60,\r\n group: void 0,\r\n data: void 0\r\n })\r\n },\r\n _setOptionsByReference() {\r\n this.callBase.apply(this, arguments);\r\n extend(this._optionsByReference, {\r\n component: true,\r\n group: true,\r\n itemData: true,\r\n data: true\r\n })\r\n },\r\n _init() {\r\n this.callBase();\r\n this._attachEventHandlers();\r\n this._scrollAnimator = new ScrollAnimator(this);\r\n this._horizontalScrollHelper = new ScrollHelper(\"horizontal\", this);\r\n this._verticalScrollHelper = new ScrollHelper(\"vertical\", this);\r\n this._initScrollTop = 0;\r\n this._initScrollLeft = 0\r\n },\r\n _normalizeCursorOffset(offset) {\r\n if (isObject(offset)) {\r\n offset = {\r\n h: offset.x,\r\n v: offset.y\r\n }\r\n }\r\n offset = splitPair(offset).map(value => parseFloat(value));\r\n return {\r\n left: offset[0],\r\n top: 1 === offset.length ? offset[0] : offset[1]\r\n }\r\n },\r\n _getNormalizedCursorOffset(offset, options) {\r\n if (isFunction(offset)) {\r\n offset = offset.call(this, options)\r\n }\r\n return this._normalizeCursorOffset(offset)\r\n },\r\n _calculateElementOffset(options) {\r\n var elementOffset;\r\n var dragElementOffset;\r\n var {\r\n event: event\r\n } = options;\r\n var $element = $(options.itemElement);\r\n var $dragElement = $(options.dragElement);\r\n var isCloned = this._dragElementIsCloned();\r\n var cursorOffset = this.option(\"cursorOffset\");\r\n var normalizedCursorOffset = {\r\n left: 0,\r\n top: 0\r\n };\r\n var currentLocate = this._initialLocate = locate($dragElement);\r\n if (isCloned || options.initialOffset || cursorOffset) {\r\n elementOffset = options.initialOffset || $element.offset();\r\n if (cursorOffset) {\r\n normalizedCursorOffset = this._getNormalizedCursorOffset(cursorOffset, options);\r\n if (isFinite(normalizedCursorOffset.left)) {\r\n elementOffset.left = event.pageX\r\n }\r\n if (isFinite(normalizedCursorOffset.top)) {\r\n elementOffset.top = event.pageY\r\n }\r\n }\r\n dragElementOffset = $dragElement.offset();\r\n elementOffset.top -= dragElementOffset.top + (normalizedCursorOffset.top || 0) - currentLocate.top;\r\n elementOffset.left -= dragElementOffset.left + (normalizedCursorOffset.left || 0) - currentLocate.left\r\n }\r\n return elementOffset\r\n },\r\n _initPosition(options) {\r\n var $dragElement = $(options.dragElement);\r\n var elementOffset = this._calculateElementOffset(options);\r\n if (elementOffset) {\r\n this._move(elementOffset, $dragElement)\r\n }\r\n this._startPosition = locate($dragElement)\r\n },\r\n _startAnimator() {\r\n if (!this._scrollAnimator.inProgress()) {\r\n this._scrollAnimator.start()\r\n }\r\n },\r\n _stopAnimator() {\r\n this._scrollAnimator.stop()\r\n },\r\n _addWidgetPrefix(className) {\r\n var componentName = this.NAME;\r\n return dasherize(componentName) + (className ? \"-\".concat(className) : \"\")\r\n },\r\n _getItemsSelector() {\r\n return this.option(\"filter\") || \"\"\r\n },\r\n _$content() {\r\n var $element = this.$element();\r\n var $wrapper = $element.children(\".dx-template-wrapper\");\r\n return $wrapper.length ? $wrapper : $element\r\n },\r\n _attachEventHandlers() {\r\n if (this.option(\"disabled\")) {\r\n return\r\n }\r\n var $element = this._$content();\r\n var itemsSelector = this._getItemsSelector();\r\n var allowMoveByClick = this.option(\"allowMoveByClick\");\r\n var data = {\r\n direction: this.option(\"dragDirection\"),\r\n immediate: this.option(\"immediate\"),\r\n checkDropTarget: ($target, event) => {\r\n var targetGroup = this.option(\"group\");\r\n var sourceGroup = this._getSourceDraggable().option(\"group\");\r\n var $scrollable = this._getScrollable($target);\r\n if (this._verticalScrollHelper.isOutsideScrollable($scrollable, event) || this._horizontalScrollHelper.isOutsideScrollable($scrollable, event)) {\r\n return false\r\n }\r\n return sourceGroup && sourceGroup === targetGroup\r\n }\r\n };\r\n if (allowMoveByClick) {\r\n $element = this._getArea();\r\n eventsEngine.on($element, POINTERDOWN_EVENT_NAME, data, this._pointerDownHandler.bind(this))\r\n }\r\n if (\">\" === itemsSelector[0]) {\r\n itemsSelector = itemsSelector.slice(1)\r\n }\r\n eventsEngine.on($element, DRAGSTART_EVENT_NAME, itemsSelector, data, this._dragStartHandler.bind(this));\r\n eventsEngine.on($element, DRAG_EVENT_NAME, data, this._dragMoveHandler.bind(this));\r\n eventsEngine.on($element, DRAGEND_EVENT_NAME, data, this._dragEndHandler.bind(this));\r\n eventsEngine.on($element, DRAG_ENTER_EVENT_NAME, data, this._dragEnterHandler.bind(this));\r\n eventsEngine.on($element, DRAGEND_LEAVE_EVENT_NAME, data, this._dragLeaveHandler.bind(this));\r\n if (this.option(\"onCancelByEsc\")) {\r\n eventsEngine.on($element, KEYDOWN_EVENT_NAME, this._keydownHandler.bind(this))\r\n }\r\n },\r\n _dragElementIsCloned() {\r\n return this._$dragElement && this._$dragElement.hasClass(this._addWidgetPrefix(CLONE_CLASS))\r\n },\r\n _getDragTemplateArgs($element, $container) {\r\n return {\r\n container: getPublicElement($container),\r\n model: {\r\n itemData: this.option(\"itemData\"),\r\n itemElement: getPublicElement($element)\r\n }\r\n }\r\n },\r\n _createDragElement($element) {\r\n var result = $element;\r\n var clone = this.option(\"clone\");\r\n var $container = this._getContainer();\r\n var template = this.option(\"dragTemplate\");\r\n if (template) {\r\n template = this._getTemplate(template);\r\n result = $(\"
    \").appendTo($container);\r\n template.render(this._getDragTemplateArgs($element, result))\r\n } else if (clone) {\r\n result = $(\"
    \").appendTo($container);\r\n $element.clone().css({\r\n width: $element.css(\"width\"),\r\n height: $element.css(\"height\")\r\n }).appendTo(result)\r\n }\r\n return result.toggleClass(this._addWidgetPrefix(CLONE_CLASS), result.get(0) !== $element.get(0)).toggleClass(\"dx-rtl\", this.option(\"rtlEnabled\"))\r\n },\r\n _resetDragElement() {\r\n if (this._dragElementIsCloned()) {\r\n this._$dragElement.remove()\r\n } else {\r\n this._toggleDraggingClass(false)\r\n }\r\n this._$dragElement = null\r\n },\r\n _resetSourceElement() {\r\n this._toggleDragSourceClass(false);\r\n this._$sourceElement = null\r\n },\r\n _detachEventHandlers() {\r\n eventsEngine.off(this._$content(), \".\".concat(DRAGGABLE));\r\n eventsEngine.off(this._getArea(), \".\".concat(DRAGGABLE))\r\n },\r\n _move(position, $element) {\r\n move($element || this._$dragElement, position)\r\n },\r\n _getDraggableElement(e) {\r\n var $sourceElement = this._getSourceElement();\r\n if ($sourceElement) {\r\n return $sourceElement\r\n }\r\n var allowMoveByClick = this.option(\"allowMoveByClick\");\r\n if (allowMoveByClick) {\r\n return this.$element()\r\n }\r\n var $target = $(e && e.target);\r\n var itemsSelector = this._getItemsSelector();\r\n if (\">\" === itemsSelector[0]) {\r\n var $items = this._$content().find(itemsSelector);\r\n if (!$items.is($target)) {\r\n $target = $target.closest($items)\r\n }\r\n }\r\n return $target\r\n },\r\n _getSourceElement() {\r\n var draggable = this._getSourceDraggable();\r\n return draggable._$sourceElement\r\n },\r\n _pointerDownHandler(e) {\r\n if (needSkipEvent(e)) {\r\n return\r\n }\r\n var position = {};\r\n var $element = this.$element();\r\n var dragDirection = this.option(\"dragDirection\");\r\n if (\"horizontal\" === dragDirection || \"both\" === dragDirection) {\r\n position.left = e.pageX - $element.offset().left + locate($element).left - getWidth($element) / 2\r\n }\r\n if (\"vertical\" === dragDirection || \"both\" === dragDirection) {\r\n position.top = e.pageY - $element.offset().top + locate($element).top - getHeight($element) / 2\r\n }\r\n this._move(position, $element);\r\n this._getAction(\"onDragMove\")(this._getEventArgs(e))\r\n },\r\n _isValidElement(event, $element) {\r\n var handle = this.option(\"handle\");\r\n var $target = $(event.originalEvent && event.originalEvent.target);\r\n if (handle && !$target.closest(handle).length) {\r\n return false\r\n }\r\n if (!$element.length) {\r\n return false\r\n }\r\n return !$element.is(\".dx-state-disabled, .dx-state-disabled *\")\r\n },\r\n _dragStartHandler(e) {\r\n var $element = this._getDraggableElement(e);\r\n this.dragInProgress = true;\r\n if (!this._isValidElement(e, $element)) {\r\n e.cancel = true;\r\n return\r\n }\r\n if (this._$sourceElement) {\r\n return\r\n }\r\n var dragStartArgs = this._getDragStartArgs(e, $element);\r\n this._getAction(\"onDragStart\")(dragStartArgs);\r\n if (dragStartArgs.cancel) {\r\n e.cancel = true;\r\n return\r\n }\r\n this.option(\"itemData\", dragStartArgs.itemData);\r\n this._setSourceDraggable();\r\n this._$sourceElement = $element;\r\n var initialOffset = $element.offset();\r\n if (!this._hasClonedDraggable() && this.option(\"autoScroll\")) {\r\n this._initScrollTop = this._getScrollableScrollTop();\r\n this._initScrollLeft = this._getScrollableScrollLeft();\r\n initialOffset = this._getDraggableElementOffset(initialOffset.left, initialOffset.top)\r\n }\r\n var $dragElement = this._$dragElement = this._createDragElement($element);\r\n this._toggleDraggingClass(true);\r\n this._toggleDragSourceClass(true);\r\n this._setGestureCoverCursor($dragElement.children());\r\n var isFixedPosition = \"fixed\" === $dragElement.css(\"position\");\r\n this._initPosition(extend({}, dragStartArgs, {\r\n dragElement: $dragElement.get(0),\r\n initialOffset: isFixedPosition && initialOffset\r\n }));\r\n this._getAction(\"onDraggableElementShown\")(_extends(_extends({}, dragStartArgs), {\r\n dragElement: $dragElement\r\n }));\r\n var $area = this._getArea();\r\n var areaOffset = this._getAreaOffset($area);\r\n var boundOffset = this._getBoundOffset();\r\n var areaWidth = getOuterWidth($area);\r\n var areaHeight = getOuterHeight($area);\r\n var elementWidth = getWidth($dragElement);\r\n var elementHeight = getHeight($dragElement);\r\n var startOffset_left = $dragElement.offset().left - areaOffset.left,\r\n startOffset_top = $dragElement.offset().top - areaOffset.top;\r\n if ($area.length) {\r\n e.maxLeftOffset = startOffset_left - boundOffset.left;\r\n e.maxRightOffset = areaWidth - startOffset_left - elementWidth - boundOffset.right;\r\n e.maxTopOffset = startOffset_top - boundOffset.top;\r\n e.maxBottomOffset = areaHeight - startOffset_top - elementHeight - boundOffset.bottom\r\n }\r\n if (this.option(\"autoScroll\")) {\r\n this._startAnimator()\r\n }\r\n },\r\n _getAreaOffset($area) {\r\n var offset = $area && positionUtils.offset($area);\r\n return offset || {\r\n left: 0,\r\n top: 0\r\n }\r\n },\r\n _toggleDraggingClass(value) {\r\n this._$dragElement && this._$dragElement.toggleClass(this._addWidgetPrefix(\"dragging\"), value)\r\n },\r\n _toggleDragSourceClass(value, $element) {\r\n var $sourceElement = $element || this._$sourceElement;\r\n $sourceElement && $sourceElement.toggleClass(this._addWidgetPrefix(\"source\"), value)\r\n },\r\n _setGestureCoverCursor($element) {\r\n $(\".\".concat(GESTURE_COVER_CLASS)).css(\"cursor\", $element.css(\"cursor\"))\r\n },\r\n _getBoundOffset() {\r\n var boundOffset = this.option(\"boundOffset\");\r\n if (isFunction(boundOffset)) {\r\n boundOffset = boundOffset.call(this)\r\n }\r\n return quadToObject(boundOffset)\r\n },\r\n _getArea() {\r\n var area = this.option(\"boundary\");\r\n if (isFunction(area)) {\r\n area = area.call(this)\r\n }\r\n return $(area)\r\n },\r\n _getContainer() {\r\n var container = this.option(\"container\");\r\n if (void 0 === container) {\r\n container = viewPort()\r\n }\r\n return $(container)\r\n },\r\n _getDraggableElementOffset(initialOffsetX, initialOffsetY) {\r\n var _a, _b, _c, _d;\r\n var initScrollTop = this._initScrollTop;\r\n var initScrollLeft = this._initScrollLeft;\r\n var scrollTop = this._getScrollableScrollTop();\r\n var scrollLeft = this._getScrollableScrollLeft();\r\n var elementPosition = $(this.element()).css(\"position\");\r\n var isFixedPosition = \"fixed\" === elementPosition;\r\n var result = {\r\n left: (null !== (_b = null === (_a = this._startPosition) || void 0 === _a ? void 0 : _a.left) && void 0 !== _b ? _b : 0) + initialOffsetX,\r\n top: (null !== (_d = null === (_c = this._startPosition) || void 0 === _c ? void 0 : _c.top) && void 0 !== _d ? _d : 0) + initialOffsetY\r\n };\r\n if (isFixedPosition || this._hasClonedDraggable()) {\r\n return result\r\n }\r\n return {\r\n left: isNumeric(scrollLeft) ? result.left + scrollLeft - initScrollLeft : result.left,\r\n top: isNumeric(scrollTop) ? result.top + scrollTop - initScrollTop : result.top\r\n }\r\n },\r\n _hasClonedDraggable() {\r\n return this.option(\"clone\") || this.option(\"dragTemplate\")\r\n },\r\n _dragMoveHandler(e) {\r\n this._dragMoveArgs = e;\r\n if (!this._$dragElement) {\r\n e.cancel = true;\r\n return\r\n }\r\n var offset = this._getDraggableElementOffset(e.offset.x, e.offset.y);\r\n this._move(offset);\r\n this._updateScrollable(e);\r\n var eventArgs = this._getEventArgs(e);\r\n this._getAction(\"onDragMove\")(eventArgs);\r\n if (true === eventArgs.cancel) {\r\n return\r\n }\r\n var targetDraggable = this._getTargetDraggable();\r\n targetDraggable.dragMove(e, scrollBy)\r\n },\r\n _updateScrollable(e) {\r\n if (this.option(\"autoScroll\")) {\r\n var mousePosition = getMousePosition(e);\r\n var allObjects = domAdapter.elementsFromPoint(mousePosition.x, mousePosition.y, this.$element().get(0));\r\n this._verticalScrollHelper.updateScrollable(allObjects, mousePosition);\r\n this._horizontalScrollHelper.updateScrollable(allObjects, mousePosition)\r\n }\r\n },\r\n _getScrollable($element) {\r\n var $scrollable;\r\n $element.parents().toArray().some(parent => {\r\n var $parent = $(parent);\r\n if (this._horizontalScrollHelper.isScrollable($parent) || this._verticalScrollHelper.isScrollable($parent)) {\r\n $scrollable = $parent;\r\n return true\r\n }\r\n return false\r\n });\r\n return $scrollable\r\n },\r\n _getScrollableScrollTop() {\r\n var _a, _b;\r\n return null !== (_b = null === (_a = this._getScrollable($(this.element()))) || void 0 === _a ? void 0 : _a.scrollTop()) && void 0 !== _b ? _b : 0\r\n },\r\n _getScrollableScrollLeft() {\r\n var _a, _b;\r\n return null !== (_b = null === (_a = this._getScrollable($(this.element()))) || void 0 === _a ? void 0 : _a.scrollLeft()) && void 0 !== _b ? _b : 0\r\n },\r\n _defaultActionArgs() {\r\n var args = this.callBase.apply(this, arguments);\r\n var component = this.option(\"component\");\r\n if (component) {\r\n args.component = component;\r\n args.element = component.element()\r\n }\r\n return args\r\n },\r\n _getEventArgs(e) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n var targetDraggable = this._getTargetDraggable();\r\n return {\r\n event: e,\r\n itemData: sourceDraggable.option(\"itemData\"),\r\n itemElement: getPublicElement(sourceDraggable._$sourceElement),\r\n fromComponent: sourceDraggable.option(\"component\") || sourceDraggable,\r\n toComponent: targetDraggable.option(\"component\") || targetDraggable,\r\n fromData: sourceDraggable.option(\"data\"),\r\n toData: targetDraggable.option(\"data\")\r\n }\r\n },\r\n _getDragStartArgs(e, $itemElement) {\r\n var args = this._getEventArgs(e);\r\n return {\r\n event: args.event,\r\n itemData: args.itemData,\r\n itemElement: $itemElement,\r\n fromData: args.fromData\r\n }\r\n },\r\n _revertItemToInitialPosition() {\r\n !this._dragElementIsCloned() && this._move(this._initialLocate, this._$sourceElement)\r\n },\r\n _dragEndHandler(e) {\r\n var d = Deferred();\r\n var dragEndEventArgs = this._getEventArgs(e);\r\n var dropEventArgs = this._getEventArgs(e);\r\n var targetDraggable = this._getTargetDraggable();\r\n var needRevertPosition = true;\r\n this.dragInProgress = false;\r\n try {\r\n this._getAction(\"onDragEnd\")(dragEndEventArgs)\r\n } finally {\r\n when(fromPromise(dragEndEventArgs.cancel)).done(cancel => {\r\n if (!cancel) {\r\n if (targetDraggable !== this) {\r\n targetDraggable._getAction(\"onDrop\")(dropEventArgs)\r\n }\r\n if (!dropEventArgs.cancel) {\r\n needRevertPosition = false;\r\n when(fromPromise(targetDraggable.dragEnd(dragEndEventArgs))).always(d.resolve);\r\n return\r\n }\r\n }\r\n d.resolve()\r\n }).fail(d.resolve);\r\n d.done(() => {\r\n if (needRevertPosition) {\r\n this._revertItemToInitialPosition()\r\n }\r\n this._resetDragOptions(targetDraggable)\r\n })\r\n }\r\n },\r\n _isTargetOverAnotherDraggable(e) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n if (this === sourceDraggable) {\r\n return false\r\n }\r\n var $dragElement = sourceDraggable._$dragElement;\r\n var $sourceDraggableElement = sourceDraggable.$element();\r\n var $targetDraggableElement = this.$element();\r\n var mousePosition = getMousePosition(e);\r\n var elements = domAdapter.elementsFromPoint(mousePosition.x, mousePosition.y, this.element());\r\n var firstWidgetElement = elements.filter(element => {\r\n var $element = $(element);\r\n if ($element.hasClass(this._addWidgetPrefix())) {\r\n return !$element.closest($dragElement).length\r\n }\r\n return false\r\n })[0];\r\n var $sourceElement = this._getSourceElement();\r\n var isTargetOverItself = firstWidgetElement === $sourceDraggableElement.get(0);\r\n var isTargetOverNestedDraggable = $(firstWidgetElement).closest($sourceElement).length;\r\n return !firstWidgetElement || firstWidgetElement === $targetDraggableElement.get(0) && !isTargetOverItself && !isTargetOverNestedDraggable\r\n },\r\n _dragEnterHandler(e) {\r\n this._fireDragEnterEvent(e);\r\n if (this._isTargetOverAnotherDraggable(e)) {\r\n this._setTargetDraggable()\r\n }\r\n var sourceDraggable = this._getSourceDraggable();\r\n sourceDraggable.dragEnter(e)\r\n },\r\n _dragLeaveHandler(e) {\r\n this._fireDragLeaveEvent(e);\r\n this._resetTargetDraggable();\r\n if (this !== this._getSourceDraggable()) {\r\n this.reset()\r\n }\r\n var sourceDraggable = this._getSourceDraggable();\r\n sourceDraggable.dragLeave(e)\r\n },\r\n _keydownHandler(e) {\r\n if (this.dragInProgress && \"Escape\" === e.key) {\r\n this._keydownEscapeHandler(e)\r\n }\r\n },\r\n _keydownEscapeHandler(e) {\r\n var $sourceElement = this._getSourceElement();\r\n if (!$sourceElement) {\r\n return\r\n }\r\n var dragCancelEventArgs = this._getEventArgs(e);\r\n this._getAction(\"onDragCancel\")(dragCancelEventArgs);\r\n if (dragCancelEventArgs.cancel) {\r\n return\r\n }\r\n this.dragInProgress = false;\r\n null === sourceDraggable || void 0 === sourceDraggable ? void 0 : sourceDraggable._toggleDraggingClass(false);\r\n this._detachEventHandlers();\r\n this._revertItemToInitialPosition();\r\n var targetDraggable = this._getTargetDraggable();\r\n this._resetDragOptions(targetDraggable);\r\n this._attachEventHandlers()\r\n },\r\n _getAction(name) {\r\n return this[\"_\".concat(name, \"Action\")] || this._createActionByOption(name)\r\n },\r\n _getAnonymousTemplateName: () => ANONYMOUS_TEMPLATE_NAME,\r\n _initTemplates() {\r\n if (!this.option(\"contentTemplate\")) {\r\n return\r\n }\r\n this._templateManager.addDefaultTemplates({\r\n content: new EmptyTemplate\r\n });\r\n this.callBase.apply(this, arguments)\r\n },\r\n _render() {\r\n this.callBase();\r\n this.$element().addClass(this._addWidgetPrefix());\r\n var transclude = this._templateManager.anonymousTemplateName === this.option(\"contentTemplate\");\r\n var template = this._getTemplateByOption(\"contentTemplate\");\r\n if (template) {\r\n $(template.render({\r\n container: this.element(),\r\n transclude: transclude\r\n }))\r\n }\r\n },\r\n _optionChanged(args) {\r\n var {\r\n name: name\r\n } = args;\r\n switch (name) {\r\n case \"onDragStart\":\r\n case \"onDragMove\":\r\n case \"onDragEnd\":\r\n case \"onDrop\":\r\n case \"onDragEnter\":\r\n case \"onDragLeave\":\r\n case \"onDragCancel\":\r\n case \"onDraggableElementShown\":\r\n this[\"_\".concat(name, \"Action\")] = this._createActionByOption(name);\r\n break;\r\n case \"dragTemplate\":\r\n case \"contentTemplate\":\r\n case \"container\":\r\n case \"clone\":\r\n break;\r\n case \"allowMoveByClick\":\r\n case \"dragDirection\":\r\n case \"disabled\":\r\n case \"boundary\":\r\n case \"filter\":\r\n case \"immediate\":\r\n this._resetDragElement();\r\n this._detachEventHandlers();\r\n this._attachEventHandlers();\r\n break;\r\n case \"onCancelByEsc\":\r\n this._keydownHandler();\r\n break;\r\n case \"autoScroll\":\r\n this._verticalScrollHelper.reset();\r\n this._horizontalScrollHelper.reset();\r\n break;\r\n case \"scrollSensitivity\":\r\n case \"scrollSpeed\":\r\n case \"boundOffset\":\r\n case \"handle\":\r\n case \"group\":\r\n case \"data\":\r\n case \"itemData\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _getTargetDraggable() {\r\n return targetDraggable || this\r\n },\r\n _getSourceDraggable() {\r\n return sourceDraggable || this\r\n },\r\n _setTargetDraggable() {\r\n var currentGroup = this.option(\"group\");\r\n var sourceDraggable = this._getSourceDraggable();\r\n if (currentGroup && currentGroup === sourceDraggable.option(\"group\")) {\r\n targetDraggable = this\r\n }\r\n },\r\n _setSourceDraggable() {\r\n sourceDraggable = this\r\n },\r\n _resetSourceDraggable() {\r\n sourceDraggable = null\r\n },\r\n _resetTargetDraggable() {\r\n targetDraggable = null\r\n },\r\n _resetDragOptions(targetDraggable) {\r\n this.reset();\r\n targetDraggable.reset();\r\n this._stopAnimator();\r\n this._horizontalScrollHelper.reset();\r\n this._verticalScrollHelper.reset();\r\n this._resetDragElement();\r\n this._resetSourceElement();\r\n this._resetTargetDraggable();\r\n this._resetSourceDraggable()\r\n },\r\n _dispose() {\r\n this.callBase();\r\n this._detachEventHandlers();\r\n this._resetDragElement();\r\n this._resetTargetDraggable();\r\n this._resetSourceDraggable();\r\n this._$sourceElement = null;\r\n this._stopAnimator()\r\n },\r\n _fireDragEnterEvent(sourceEvent) {\r\n var args = this._getEventArgs(sourceEvent);\r\n this._getAction(\"onDragEnter\")(args)\r\n },\r\n _fireDragLeaveEvent(sourceEvent) {\r\n var args = this._getEventArgs(sourceEvent);\r\n this._getAction(\"onDragLeave\")(args)\r\n }\r\n});\r\nregisterComponent(DRAGGABLE, Draggable);\r\nexport default Draggable;\r\n",null,null,null,null,"/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"/**\r\n * DevExtreme (esm/__internal/scheduler/m_recurrence.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errors from \"../../core/errors\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n RRule,\r\n RRuleSet\r\n} from \"rrule\";\r\nimport timeZoneUtils from \"./m_utils_time_zone\";\r\nvar toMs = dateUtils.dateToMilliseconds;\r\nvar ruleNames = [\"freq\", \"interval\", \"byday\", \"byweekno\", \"byyearday\", \"bymonth\", \"bymonthday\", \"count\", \"until\", \"byhour\", \"byminute\", \"bysecond\", \"bysetpos\", \"wkst\"];\r\nvar freqNames = [\"DAILY\", \"WEEKLY\", \"MONTHLY\", \"YEARLY\", \"SECONDLY\", \"MINUTELY\", \"HOURLY\"];\r\nvar days = {\r\n SU: 0,\r\n MO: 1,\r\n TU: 2,\r\n WE: 3,\r\n TH: 4,\r\n FR: 5,\r\n SA: 6\r\n};\r\nvar loggedWarnings = [];\r\nvar MS_IN_HOUR = 36e5;\r\nvar MS_IN_DAY = 24 * MS_IN_HOUR;\r\nvar RRULE_BROKEN_TIMEZONES = [\"Etc/GMT-13\", \"MIT\", \"Pacific/Apia\", \"Pacific/Enderbury\", \"Pacific/Tongatapu\", \"Etc/GMT-14\", \"Pacific/Kiritimati\"];\r\nvar recurrence = null;\r\nexport function getRecurrenceProcessor() {\r\n if (!recurrence) {\r\n recurrence = new RecurrenceProcessor\r\n }\r\n return recurrence\r\n}\r\nclass RecurrenceProcessor {\r\n constructor() {\r\n this.rRule = null;\r\n this.rRuleSet = null;\r\n this.validator = new RecurrenceValidator\r\n }\r\n generateDates(options) {\r\n var recurrenceRule = this.evalRecurrenceRule(options.rule);\r\n var {\r\n rule: rule\r\n } = recurrenceRule;\r\n if (!recurrenceRule.isValid || !rule.freq) {\r\n return []\r\n }\r\n var rruleIntervalParams = this._createRruleIntervalParams(options);\r\n this._initializeRRule(options, rruleIntervalParams.startIntervalDate, rule.until);\r\n return this.rRuleSet.between(rruleIntervalParams.minViewDate, rruleIntervalParams.maxViewDate, true).filter(date => date.getTime() + rruleIntervalParams.appointmentDuration >= rruleIntervalParams.minViewTime).map(date => this._convertRruleResult(rruleIntervalParams, options, date))\r\n }\r\n _createRruleIntervalParams(options) {\r\n var {\r\n start: start,\r\n min: min,\r\n max: max,\r\n appointmentTimezoneOffset: appointmentTimezoneOffset\r\n } = options;\r\n var clientOffsets_startDate = timeZoneUtils.getClientTimezoneOffset(start),\r\n clientOffsets_minViewDate = timeZoneUtils.getClientTimezoneOffset(min),\r\n clientOffsets_maxViewDate = timeZoneUtils.getClientTimezoneOffset(max);\r\n var duration = options.end ? options.end.getTime() - options.start.getTime() : 0;\r\n var startIntervalDate = timeZoneUtils.setOffsetsToDate(options.start, [-clientOffsets_startDate, appointmentTimezoneOffset]);\r\n var minViewTime = options.min.getTime() - clientOffsets_minViewDate + appointmentTimezoneOffset;\r\n var minViewDate = new Date(minViewTime - duration);\r\n var maxViewDate = timeZoneUtils.setOffsetsToDate(options.max, [-clientOffsets_maxViewDate, appointmentTimezoneOffset]);\r\n var startDateDSTDifferenceMs = timeZoneUtils.getDiffBetweenClientTimezoneOffsets(options.start, startIntervalDate);\r\n var switchToSummerTime = startDateDSTDifferenceMs < 0;\r\n return {\r\n startIntervalDate: startIntervalDate,\r\n minViewTime: minViewTime,\r\n minViewDate: minViewDate,\r\n maxViewDate: maxViewDate,\r\n startIntervalDateDSTShift: switchToSummerTime ? 0 : startDateDSTDifferenceMs,\r\n appointmentDuration: duration\r\n }\r\n }\r\n _convertRruleResult(rruleIntervalParams, options, rruleDate) {\r\n var convertedBackDate = timeZoneUtils.setOffsetsToDate(rruleDate, [...this._getLocalMachineOffset(rruleDate), -options.appointmentTimezoneOffset, rruleIntervalParams.startIntervalDateDSTShift]);\r\n var convertedDateDSTShift = timeZoneUtils.getDiffBetweenClientTimezoneOffsets(convertedBackDate, rruleDate);\r\n var switchToSummerTime = convertedDateDSTShift < 0;\r\n var resultDate = timeZoneUtils.setOffsetsToDate(convertedBackDate, [convertedDateDSTShift]);\r\n var resultDateDSTShift = timeZoneUtils.getDiffBetweenClientTimezoneOffsets(resultDate, convertedBackDate);\r\n if (resultDateDSTShift && switchToSummerTime) {\r\n return new Date(resultDate.getTime() + resultDateDSTShift)\r\n }\r\n return resultDate\r\n }\r\n _getLocalMachineOffset(rruleDate) {\r\n var machineTimezoneOffset = timeZoneUtils.getClientTimezoneOffset(rruleDate);\r\n var machineTimezoneName = dateUtils.getMachineTimezoneName();\r\n var result = [machineTimezoneOffset];\r\n var isTimezoneOffsetInBrokenRange = machineTimezoneOffset / MS_IN_HOUR <= -13;\r\n var isTimezoneNameInBrokenNames = !machineTimezoneName || RRULE_BROKEN_TIMEZONES.some(timezone => machineTimezoneName.includes(timezone));\r\n if (isTimezoneOffsetInBrokenRange && isTimezoneNameInBrokenNames) {\r\n result.push(-MS_IN_DAY)\r\n }\r\n return result\r\n }\r\n hasRecurrence(options) {\r\n return !!this.generateDates(options).length\r\n }\r\n evalRecurrenceRule(rule) {\r\n var result = {\r\n rule: {},\r\n isValid: false\r\n };\r\n if (rule) {\r\n result.rule = this._parseRecurrenceRule(rule);\r\n result.isValid = this.validator.validateRRule(result.rule, rule)\r\n }\r\n return result\r\n }\r\n isValidRecurrenceRule(rule) {\r\n return this.evalRecurrenceRule(rule).isValid\r\n }\r\n daysFromByDayRule(rule) {\r\n var result = [];\r\n if (rule.byday) {\r\n if (Array.isArray(rule.byday)) {\r\n result = rule.byday\r\n } else {\r\n result = rule.byday.split(\",\")\r\n }\r\n }\r\n return result.map(item => {\r\n var match = item.match(/[A-Za-z]+/);\r\n return !!match && match[0]\r\n }).filter(item => !!item)\r\n }\r\n getAsciiStringByDate(date) {\r\n var currentOffset = date.getTimezoneOffset() * toMs(\"minute\");\r\n var offsetDate = new Date(date.getTime() + currentOffset);\r\n return \"\".concat(offsetDate.getFullYear() + \"0\".concat(offsetDate.getMonth() + 1).slice(-2) + \"0\".concat(offsetDate.getDate()).slice(-2), \"T\").concat(\"0\".concat(offsetDate.getHours()).slice(-2)).concat(\"0\".concat(offsetDate.getMinutes()).slice(-2)).concat(\"0\".concat(offsetDate.getSeconds()).slice(-2), \"Z\")\r\n }\r\n getRecurrenceString(object) {\r\n if (!object || !object.freq) {\r\n return\r\n }\r\n var result = \"\";\r\n for (var field in object) {\r\n var value = object[field];\r\n if (\"interval\" === field && value < 2) {\r\n continue\r\n }\r\n if (\"until\" === field) {\r\n value = this.getAsciiStringByDate(value)\r\n }\r\n result += \"\".concat(field, \"=\").concat(value, \";\")\r\n }\r\n result = result.substring(0, result.length - 1);\r\n return result.toUpperCase()\r\n }\r\n _parseExceptionToRawArray(value) {\r\n return value.match(/(\\d{4})(\\d{2})(\\d{2})(T(\\d{2})(\\d{2})(\\d{2}))?(Z)?/)\r\n }\r\n getDateByAsciiString(exceptionText) {\r\n if (\"string\" !== typeof exceptionText) {\r\n return exceptionText\r\n }\r\n var result = this._parseExceptionToRawArray(exceptionText);\r\n if (!result) {\r\n return null\r\n }\r\n var [year, month, date, hours, minutes, seconds, isUtc] = this._createDateTuple(result);\r\n if (isUtc) {\r\n return new Date(Date.UTC(year, month, date, hours, minutes, seconds))\r\n }\r\n return new Date(year, month, date, hours, minutes, seconds)\r\n }\r\n _dispose() {\r\n if (this.rRuleSet) {\r\n delete this.rRuleSet;\r\n this.rRuleSet = null\r\n }\r\n if (this.rRule) {\r\n delete this.rRule;\r\n this.rRule = null\r\n }\r\n }\r\n _getTimeZoneOffset() {\r\n return (new Date).getTimezoneOffset()\r\n }\r\n _initializeRRule(options, startDateUtc, until) {\r\n var ruleOptions = RRule.parseString(options.rule);\r\n var {\r\n firstDayOfWeek: firstDayOfWeek\r\n } = options;\r\n ruleOptions.dtstart = startDateUtc;\r\n if (!ruleOptions.wkst && firstDayOfWeek) {\r\n ruleOptions.wkst = [6, 0, 1, 2, 3, 4, 5][firstDayOfWeek]\r\n }\r\n if (until) {\r\n ruleOptions.until = timeZoneUtils.setOffsetsToDate(until, [-timeZoneUtils.getClientTimezoneOffset(until), options.appointmentTimezoneOffset])\r\n }\r\n this._createRRule(ruleOptions);\r\n if (options.exception) {\r\n var exceptionStrings = options.exception;\r\n var exceptionDates = exceptionStrings.split(\",\").map(rule => this.getDateByAsciiString(rule));\r\n exceptionDates.forEach(date => {\r\n if (options.getPostProcessedException) {\r\n date = options.getPostProcessedException(date)\r\n }\r\n var utcDate = timeZoneUtils.setOffsetsToDate(date, [-timeZoneUtils.getClientTimezoneOffset(date), options.appointmentTimezoneOffset]);\r\n this.rRuleSet.exdate(utcDate)\r\n })\r\n }\r\n }\r\n _createRRule(ruleOptions) {\r\n this._dispose();\r\n this.rRuleSet = new RRuleSet;\r\n this.rRule = new RRule(ruleOptions);\r\n this.rRuleSet.rrule(this.rRule)\r\n }\r\n _parseRecurrenceRule(recurrence) {\r\n var ruleObject = {};\r\n var ruleParts = recurrence.split(\";\");\r\n for (var i = 0, len = ruleParts.length; i < len; i++) {\r\n var rule = ruleParts[i].split(\"=\");\r\n var ruleName = rule[0].toLowerCase();\r\n var ruleValue = rule[1];\r\n ruleObject[ruleName] = ruleValue\r\n }\r\n var count = parseInt(ruleObject.count);\r\n if (!isNaN(count)) {\r\n ruleObject.count = count\r\n }\r\n if (ruleObject.interval) {\r\n var interval = parseInt(ruleObject.interval);\r\n if (!isNaN(interval)) {\r\n ruleObject.interval = interval\r\n }\r\n } else {\r\n ruleObject.interval = 1\r\n }\r\n if (ruleObject.freq && ruleObject.until) {\r\n ruleObject.until = this.getDateByAsciiString(ruleObject.until)\r\n }\r\n return ruleObject\r\n }\r\n _createDateTuple(parseResult) {\r\n var isUtc = void 0 !== parseResult[8];\r\n parseResult.shift();\r\n if (void 0 === parseResult[3]) {\r\n parseResult.splice(3)\r\n } else {\r\n parseResult.splice(3, 1);\r\n parseResult.splice(6)\r\n }\r\n parseResult[1]--;\r\n parseResult.unshift(null);\r\n return [parseInt(parseResult[1]), parseInt(parseResult[2]), parseInt(parseResult[3]), parseInt(parseResult[4]) || 0, parseInt(parseResult[5]) || 0, parseInt(parseResult[6]) || 0, isUtc]\r\n }\r\n}\r\nclass RecurrenceValidator {\r\n validateRRule(rule, recurrence) {\r\n if (this._brokenRuleNameExists(rule) || !freqNames.includes(rule.freq) || this._wrongCountRule(rule) || this._wrongIntervalRule(rule) || this._wrongDayOfWeek(rule) || this._wrongByMonthDayRule(rule) || this._wrongByMonth(rule) || this._wrongUntilRule(rule)) {\r\n this._logBrokenRule(recurrence);\r\n return false\r\n }\r\n return true\r\n }\r\n _wrongUntilRule(rule) {\r\n var wrongUntil = false;\r\n var {\r\n until: until\r\n } = rule;\r\n if (void 0 !== until && !(until instanceof Date)) {\r\n wrongUntil = true\r\n }\r\n return wrongUntil\r\n }\r\n _wrongCountRule(rule) {\r\n var wrongCount = false;\r\n var {\r\n count: count\r\n } = rule;\r\n if (count && \"string\" === typeof count) {\r\n wrongCount = true\r\n }\r\n return wrongCount\r\n }\r\n _wrongByMonthDayRule(rule) {\r\n var wrongByMonthDay = false;\r\n var byMonthDay = rule.bymonthday;\r\n if (byMonthDay && isNaN(parseInt(byMonthDay))) {\r\n wrongByMonthDay = true\r\n }\r\n return wrongByMonthDay\r\n }\r\n _wrongByMonth(rule) {\r\n var wrongByMonth = false;\r\n var byMonth = rule.bymonth;\r\n if (byMonth && isNaN(parseInt(byMonth))) {\r\n wrongByMonth = true\r\n }\r\n return wrongByMonth\r\n }\r\n _wrongIntervalRule(rule) {\r\n var wrongInterval = false;\r\n var {\r\n interval: interval\r\n } = rule;\r\n if (interval && \"string\" === typeof interval) {\r\n wrongInterval = true\r\n }\r\n return wrongInterval\r\n }\r\n _wrongDayOfWeek(rule) {\r\n var byDay = rule.byday;\r\n var daysByRule = getRecurrenceProcessor().daysFromByDayRule(rule);\r\n var brokenDaysExist = false;\r\n if (\"\" === byDay) {\r\n brokenDaysExist = true\r\n }\r\n each(daysByRule, (_, day) => {\r\n if (!Object.prototype.hasOwnProperty.call(days, day)) {\r\n brokenDaysExist = true;\r\n return false\r\n }\r\n return\r\n });\r\n return brokenDaysExist\r\n }\r\n _brokenRuleNameExists(rule) {\r\n var brokenRuleExists = false;\r\n each(rule, ruleName => {\r\n if (!ruleNames.includes(ruleName)) {\r\n brokenRuleExists = true;\r\n return false\r\n }\r\n return\r\n });\r\n return brokenRuleExists\r\n }\r\n _logBrokenRule(recurrence) {\r\n if (!loggedWarnings.includes(recurrence)) {\r\n errors.log(\"W0006\", recurrence);\r\n loggedWarnings.push(recurrence)\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/m_recurrence_editor.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport \"../../ui/radio_group\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport Guid from \"../../core/guid\";\r\nimport $ from \"../../core/renderer\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport dateLocalization from \"../../localization/date\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n PathTimeZoneConversion\r\n} from \"../../renovation/ui/scheduler/timeZoneCalculator/types\";\r\nimport ButtonGroup from \"../../ui/button_group\";\r\nimport DateBox from \"../../ui/date_box\";\r\nimport Editor from \"../../ui/editor/editor\";\r\nimport Form from \"../../ui/form\";\r\nimport NumberBox from \"../../ui/number_box\";\r\nimport {\r\n getRecurrenceProcessor\r\n} from \"./m_recurrence\";\r\nvar RECURRENCE_EDITOR = \"dx-recurrence-editor\";\r\nvar LABEL_POSTFIX = \"-label\";\r\nvar WRAPPER_POSTFIX = \"-wrapper\";\r\nvar RECURRENCE_EDITOR_CONTAINER = \"dx-recurrence-editor-container\";\r\nvar REPEAT_END_EDITOR = \"dx-recurrence-repeat-end\";\r\nvar REPEAT_END_TYPE_EDITOR = \"dx-recurrence-radiogroup-repeat-type\";\r\nvar REPEAT_COUNT_EDITOR = \"dx-recurrence-numberbox-repeat-count\";\r\nvar REPEAT_UNTIL_DATE_EDITOR = \"dx-recurrence-datebox-until-date\";\r\nvar RECURRENCE_BUTTON_GROUP = \"dx-recurrence-button-group\";\r\nvar FREQUENCY_EDITOR = \"dx-recurrence-selectbox-freq\";\r\nvar INTERVAL_EDITOR = \"dx-recurrence-numberbox-interval\";\r\nvar REPEAT_ON_EDITOR = \"dx-recurrence-repeat-on\";\r\nvar DAY_OF_MONTH = \"dx-recurrence-numberbox-day-of-month\";\r\nvar MONTH_OF_YEAR = \"dx-recurrence-selectbox-month-of-year\";\r\nvar recurrentEditorNumberBoxWidth = 70;\r\nvar recurrentEditorSelectBoxWidth = 120;\r\nvar defaultRecurrenceTypeIndex = 1;\r\nvar frequenciesMessages = [{\r\n recurrence: \"dxScheduler-recurrenceHourly\",\r\n value: \"hourly\"\r\n}, {\r\n recurrence: \"dxScheduler-recurrenceDaily\",\r\n value: \"daily\"\r\n}, {\r\n recurrence: \"dxScheduler-recurrenceWeekly\",\r\n value: \"weekly\"\r\n}, {\r\n recurrence: \"dxScheduler-recurrenceMonthly\",\r\n value: \"monthly\"\r\n}, {\r\n recurrence: \"dxScheduler-recurrenceYearly\",\r\n value: \"yearly\"\r\n}];\r\nvar frequencies = frequenciesMessages.map(item => ({\r\n text: () => messageLocalization.format(item.recurrence),\r\n value: item.value\r\n}));\r\nvar repeatEndTypes = [{\r\n type: \"never\"\r\n}, {\r\n type: \"until\"\r\n}, {\r\n type: \"count\"\r\n}];\r\nvar days = [\"SU\", \"MO\", \"TU\", \"WE\", \"TH\", \"FR\", \"SA\"];\r\nclass RecurrenceRule {\r\n constructor(rule) {\r\n this._recurrenceProcessor = getRecurrenceProcessor();\r\n this._recurrenceProcessor = getRecurrenceProcessor();\r\n this._recurrenceRule = this._recurrenceProcessor.evalRecurrenceRule(rule).rule\r\n }\r\n makeRules(string) {\r\n this._recurrenceRule = this._recurrenceProcessor.evalRecurrenceRule(string).rule\r\n }\r\n makeRule(field, value) {\r\n if (!value || Array.isArray(value) && !value.length) {\r\n delete this._recurrenceRule[field];\r\n return\r\n }\r\n if (isDefined(field)) {\r\n if (\"until\" === field) {\r\n delete this._recurrenceRule.count\r\n }\r\n if (\"count\" === field) {\r\n delete this._recurrenceRule.until\r\n }\r\n this._recurrenceRule[field] = value\r\n }\r\n }\r\n getRepeatEndRule() {\r\n var rules = this._recurrenceRule;\r\n if (\"count\" in rules) {\r\n return \"count\"\r\n }\r\n if (\"until\" in rules) {\r\n return \"until\"\r\n }\r\n return \"never\"\r\n }\r\n getRecurrenceString() {\r\n return this._recurrenceProcessor.getRecurrenceString(this._recurrenceRule)\r\n }\r\n getRules() {\r\n return this._recurrenceRule\r\n }\r\n getDaysFromByDayRule() {\r\n return this._recurrenceProcessor.daysFromByDayRule(this._recurrenceRule)\r\n }\r\n}\r\nclass RecurrenceEditor extends Editor {\r\n _getDefaultOptions() {\r\n var defaultOptions = super._getDefaultOptions();\r\n return extend(defaultOptions, {\r\n value: null,\r\n startDate: new Date,\r\n firstDayOfWeek: void 0\r\n })\r\n }\r\n _getFirstDayOfWeek() {\r\n var firstDayOfWeek = this.option(\"firstDayOfWeek\");\r\n return isDefined(firstDayOfWeek) ? firstDayOfWeek : dateLocalization.firstDayOfWeekIndex()\r\n }\r\n _createComponent(element, name) {\r\n var config = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n this._extendConfig(config, {\r\n readOnly: this.option(\"readOnly\")\r\n });\r\n return super._createComponent(element, name, config)\r\n }\r\n _init() {\r\n super._init();\r\n this._recurrenceRule = new RecurrenceRule(this.option(\"value\"))\r\n }\r\n _render() {\r\n super._render();\r\n this.$element().addClass(RECURRENCE_EDITOR);\r\n this._$container = $(\"
    \").addClass(RECURRENCE_EDITOR_CONTAINER).appendTo(this.$element());\r\n this._prepareEditors();\r\n this._renderEditors(this._$container)\r\n }\r\n getEditorByField(fieldName) {\r\n var editor = this.getRecurrenceForm().getEditor(fieldName);\r\n if (!isDefined(editor)) {\r\n switch (fieldName) {\r\n case \"byday\":\r\n editor = this._weekEditor;\r\n break;\r\n case \"count\":\r\n editor = this._repeatCountEditor;\r\n break;\r\n case \"until\":\r\n editor = this._repeatUntilDate\r\n }\r\n }\r\n return editor\r\n }\r\n _prepareEditors() {\r\n var freq = (this._recurrenceRule.getRules().freq || frequenciesMessages[defaultRecurrenceTypeIndex].value).toLowerCase();\r\n this._editors = [this._createFreqEditor(freq), this._createIntervalEditor(freq), this._createRepeatOnLabel(freq), {\r\n itemType: \"group\",\r\n cssClass: REPEAT_ON_EDITOR,\r\n colCount: 2,\r\n colCountByScreen: {\r\n xs: 2\r\n },\r\n items: this._createRepeatOnEditor(freq)\r\n }, {\r\n itemType: \"group\",\r\n items: this._createRepeatEndEditor()\r\n }];\r\n return this._editors\r\n }\r\n _createFreqEditor(freq) {\r\n return {\r\n dataField: \"freq\",\r\n name: \"FREQ\",\r\n editorType: \"dxSelectBox\",\r\n cssClass: FREQUENCY_EDITOR,\r\n editorOptions: {\r\n items: frequencies,\r\n value: freq,\r\n field: \"freq\",\r\n valueExpr: \"value\",\r\n displayExpr: \"text\",\r\n layout: \"horizontal\",\r\n elementAttr: {\r\n class: FREQUENCY_EDITOR\r\n },\r\n onValueChanged: args => this._valueChangedHandler(args)\r\n },\r\n label: {\r\n text: messageLocalization.format(\"dxScheduler-editorLabelRecurrence\")\r\n }\r\n }\r\n }\r\n _createIntervalEditor(freq) {\r\n var interval = this._recurrenceRule.getRules().interval || 1;\r\n return {\r\n itemType: \"group\",\r\n colCount: 2,\r\n cssClass: \"\".concat(INTERVAL_EDITOR).concat(WRAPPER_POSTFIX),\r\n colCountByScreen: {\r\n xs: 2\r\n },\r\n items: [{\r\n dataField: \"interval\",\r\n editorType: \"dxNumberBox\",\r\n editorOptions: {\r\n format: \"#\",\r\n width: recurrentEditorNumberBoxWidth,\r\n min: 1,\r\n field: \"interval\",\r\n value: interval,\r\n showSpinButtons: true,\r\n useLargeSpinButtons: false,\r\n elementAttr: {\r\n class: INTERVAL_EDITOR\r\n },\r\n onValueChanged: args => this._valueChangedHandler(args)\r\n },\r\n label: {\r\n text: messageLocalization.format(\"dxScheduler-recurrenceRepeatEvery\")\r\n }\r\n }, {\r\n name: \"intervalLabel\",\r\n cssClass: \"\".concat(INTERVAL_EDITOR).concat(LABEL_POSTFIX),\r\n template: () => messageLocalization.format(\"dxScheduler-recurrenceRepeat\".concat(freq.charAt(0).toUpperCase()).concat(freq.substr(1).toLowerCase()))\r\n }]\r\n }\r\n }\r\n _createRepeatOnLabel(freq) {\r\n return {\r\n itemType: \"group\",\r\n cssClass: \"\".concat(REPEAT_ON_EDITOR).concat(LABEL_POSTFIX),\r\n items: [{\r\n name: \"repeatOnLabel\",\r\n colSpan: 2,\r\n template: () => messageLocalization.format(\"dxScheduler-recurrenceRepeatOn\"),\r\n visible: freq && \"daily\" !== freq && \"hourly\" !== freq\r\n }]\r\n }\r\n }\r\n _createRepeatOnEditor(freq) {\r\n return [this._createByDayEditor(freq), this._createByMonthEditor(freq), this._createByMonthDayEditor(freq)]\r\n }\r\n _createByDayEditor(freq) {\r\n return {\r\n dataField: \"byday\",\r\n colSpan: 2,\r\n template: (_, itemElement) => {\r\n var firstDayOfWeek = this._getFirstDayOfWeek();\r\n var byDay = this._daysOfWeekByRules();\r\n var localDaysNames = dateLocalization.getDayNames(\"abbreviated\");\r\n var dayNames = days.slice(firstDayOfWeek).concat(days.slice(0, firstDayOfWeek));\r\n var itemsButtonGroup = localDaysNames.slice(firstDayOfWeek).concat(localDaysNames.slice(0, firstDayOfWeek)).map((item, index) => ({\r\n text: item,\r\n key: dayNames[index]\r\n }));\r\n this._$repeatOnWeek = $(\"
    \").addClass(RECURRENCE_BUTTON_GROUP).appendTo(itemElement);\r\n this._weekEditor = this._createComponent(this._$repeatOnWeek, ButtonGroup, {\r\n items: itemsButtonGroup,\r\n field: \"byday\",\r\n selectionMode: \"multiple\",\r\n selectedItemKeys: byDay,\r\n keyExpr: \"key\",\r\n onSelectionChanged: e => {\r\n var selectedItemKeys = e.component.option(\"selectedItemKeys\");\r\n var selectedKeys = (null === selectedItemKeys || void 0 === selectedItemKeys ? void 0 : selectedItemKeys.length) ? selectedItemKeys : this._getDefaultByDayValue();\r\n this._recurrenceRule.makeRule(\"byday\", selectedKeys);\r\n this._changeEditorValue()\r\n }\r\n })\r\n },\r\n visible: \"weekly\" === freq,\r\n label: {\r\n visible: false\r\n }\r\n }\r\n }\r\n _createByMonthEditor(freq) {\r\n var monthsName = dateLocalization.getMonthNames(\"wide\");\r\n var months = [...Array(12)].map((_, i) => ({\r\n value: \"\".concat(i + 1),\r\n text: monthsName[i]\r\n }));\r\n return {\r\n dataField: \"bymonth\",\r\n editorType: \"dxSelectBox\",\r\n editorOptions: {\r\n field: \"bymonth\",\r\n items: months,\r\n value: this._monthOfYearByRules(),\r\n width: recurrentEditorSelectBoxWidth,\r\n displayExpr: \"text\",\r\n valueExpr: \"value\",\r\n elementAttr: {\r\n class: MONTH_OF_YEAR\r\n },\r\n onValueChanged: args => this._valueChangedHandler(args)\r\n },\r\n visible: \"yearly\" === freq,\r\n label: {\r\n visible: false\r\n }\r\n }\r\n }\r\n _createByMonthDayEditor(freq) {\r\n return {\r\n dataField: \"bymonthday\",\r\n editorType: \"dxNumberBox\",\r\n editorOptions: {\r\n min: 1,\r\n max: 31,\r\n format: \"#\",\r\n width: recurrentEditorNumberBoxWidth,\r\n field: \"bymonthday\",\r\n showSpinButtons: true,\r\n useLargeSpinButtons: false,\r\n value: this._dayOfMonthByRules(),\r\n elementAttr: {\r\n class: DAY_OF_MONTH\r\n },\r\n onValueChanged: args => this._valueChangedHandler(args)\r\n },\r\n visible: \"monthly\" === freq || \"yearly\" === freq,\r\n label: {\r\n visible: false\r\n }\r\n }\r\n }\r\n _createRepeatEndEditor() {\r\n var repeatType = this._recurrenceRule.getRepeatEndRule();\r\n return [{\r\n dataField: \"repeatEnd\",\r\n editorType: \"dxRadioGroup\",\r\n editorOptions: {\r\n items: repeatEndTypes,\r\n value: repeatType,\r\n valueExpr: \"type\",\r\n field: \"repeatEnd\",\r\n itemTemplate: itemData => {\r\n if (\"count\" === itemData.type) {\r\n return this._renderRepeatCountEditor()\r\n }\r\n if (\"until\" === itemData.type) {\r\n return this._renderRepeatUntilEditor()\r\n }\r\n return this._renderDefaultRepeatEnd()\r\n },\r\n layout: \"vertical\",\r\n elementAttr: {\r\n class: REPEAT_END_TYPE_EDITOR\r\n },\r\n onValueChanged: args => this._repeatEndValueChangedHandler(args)\r\n },\r\n label: {\r\n text: messageLocalization.format(\"dxScheduler-recurrenceEnd\")\r\n }\r\n }]\r\n }\r\n _renderEditors($container) {\r\n this._recurrenceForm = this._createComponent($container, Form, {\r\n items: this._editors,\r\n showValidationSummary: false,\r\n scrollingEnabled: true,\r\n showColonAfterLabel: false,\r\n labelLocation: \"top\"\r\n });\r\n this._disableRepeatEndParts()\r\n }\r\n _setAriaDescribedBy(editor, $label) {\r\n var labelId = \"label-\".concat(new Guid);\r\n editor.setAria(\"describedby\", labelId);\r\n editor.setAria(\"id\", labelId, $label)\r\n }\r\n getRecurrenceForm() {\r\n return this._recurrenceForm\r\n }\r\n changeValueByVisibility(value) {\r\n if (value) {\r\n if (!this.option(\"value\")) {\r\n this._handleDefaults()\r\n }\r\n } else {\r\n this._recurrenceRule.makeRules(\"\");\r\n this.option(\"value\", \"\")\r\n }\r\n }\r\n _handleDefaults() {\r\n this._recurrenceRule.makeRule(\"freq\", frequenciesMessages[defaultRecurrenceTypeIndex].value);\r\n this._changeEditorValue()\r\n }\r\n _changeEditorValue() {\r\n this.option(\"value\", this._recurrenceRule.getRecurrenceString() || \"\")\r\n }\r\n _daysOfWeekByRules() {\r\n var daysByRule = this._recurrenceRule.getDaysFromByDayRule();\r\n if (!daysByRule.length) {\r\n daysByRule = this._getDefaultByDayValue()\r\n }\r\n return daysByRule\r\n }\r\n _getDefaultByDayValue() {\r\n var startDate = this.option(\"startDate\");\r\n var startDay = startDate.getDay();\r\n return [days[startDay]]\r\n }\r\n _dayOfMonthByRules() {\r\n var dayByRule = this._recurrenceRule.getRules().bymonthday;\r\n if (!dayByRule) {\r\n dayByRule = this.option(\"startDate\").getDate()\r\n }\r\n return dayByRule\r\n }\r\n _monthOfYearByRules() {\r\n var monthByRule = this._recurrenceRule.getRules().bymonth;\r\n if (!monthByRule) {\r\n monthByRule = this.option(\"startDate\").getMonth() + 1\r\n }\r\n return String(monthByRule)\r\n }\r\n _renderDefaultRepeatEnd() {\r\n var $editorTemplate = $(\"
    \").addClass(REPEAT_END_EDITOR + WRAPPER_POSTFIX);\r\n $(\"
    \").text(messageLocalization.format(\"dxScheduler-recurrenceNever\")).addClass(REPEAT_END_EDITOR + LABEL_POSTFIX).appendTo($editorTemplate);\r\n return $editorTemplate\r\n }\r\n _repeatEndValueChangedHandler(args) {\r\n var {\r\n value: value\r\n } = args;\r\n this._disableRepeatEndParts(value);\r\n if (\"until\" === value) {\r\n this._recurrenceRule.makeRule(value, this._getUntilValue())\r\n }\r\n if (\"count\" === value) {\r\n this._recurrenceRule.makeRule(value, this._repeatCountEditor.option(\"value\"))\r\n }\r\n if (\"never\" === value) {\r\n this._recurrenceRule.makeRule(\"count\", \"\");\r\n this._recurrenceRule.makeRule(\"until\", \"\")\r\n }\r\n this._changeEditorValue()\r\n }\r\n _disableRepeatEndParts() {\r\n var value = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._recurrenceRule.getRepeatEndRule();\r\n if (\"until\" === value) {\r\n this._repeatCountEditor.option(\"disabled\", true);\r\n this._repeatUntilDate.option(\"disabled\", false)\r\n }\r\n if (\"count\" === value) {\r\n this._repeatCountEditor.option(\"disabled\", false);\r\n this._repeatUntilDate.option(\"disabled\", true)\r\n }\r\n if (\"never\" === value) {\r\n this._repeatCountEditor.option(\"disabled\", true);\r\n this._repeatUntilDate.option(\"disabled\", true)\r\n }\r\n }\r\n _renderRepeatCountEditor() {\r\n var repeatCount = this._recurrenceRule.getRules().count || 1;\r\n var $editorWrapper = $(\"
    \").addClass(REPEAT_END_EDITOR + WRAPPER_POSTFIX);\r\n $(\"
    \").text(messageLocalization.format(\"dxScheduler-recurrenceAfter\")).addClass(REPEAT_END_EDITOR + LABEL_POSTFIX).appendTo($editorWrapper);\r\n this._$repeatCountEditor = $(\"
    \").addClass(REPEAT_COUNT_EDITOR).appendTo($editorWrapper);\r\n $(\"
    \").text(messageLocalization.format(\"dxScheduler-recurrenceRepeatCount\")).addClass(REPEAT_END_EDITOR + LABEL_POSTFIX).appendTo($editorWrapper);\r\n this._repeatCountEditor = this._createComponent(this._$repeatCountEditor, NumberBox, {\r\n field: \"count\",\r\n format: \"#\",\r\n width: recurrentEditorNumberBoxWidth,\r\n min: 1,\r\n showSpinButtons: true,\r\n useLargeSpinButtons: false,\r\n value: repeatCount,\r\n onValueChanged: this._repeatCountValueChangeHandler.bind(this)\r\n });\r\n return $editorWrapper\r\n }\r\n _repeatCountValueChangeHandler(args) {\r\n if (\"count\" === this._recurrenceRule.getRepeatEndRule()) {\r\n var {\r\n value: value\r\n } = args;\r\n this._recurrenceRule.makeRule(\"count\", value);\r\n this._changeEditorValue()\r\n }\r\n }\r\n _formatUntilDate(date) {\r\n if (this._recurrenceRule.getRules().until && dateUtils.sameDate(this._recurrenceRule.getRules().until, date)) {\r\n return date\r\n }\r\n return dateUtils.setToDayEnd(date)\r\n }\r\n _renderRepeatUntilEditor() {\r\n var repeatUntil = this._getUntilValue();\r\n var $editorWrapper = $(\"
    \").addClass(REPEAT_END_EDITOR + WRAPPER_POSTFIX);\r\n $(\"
    \").text(messageLocalization.format(\"dxScheduler-recurrenceOn\")).addClass(REPEAT_END_EDITOR + LABEL_POSTFIX).appendTo($editorWrapper);\r\n this._$repeatDateEditor = $(\"
    \").addClass(REPEAT_UNTIL_DATE_EDITOR).appendTo($editorWrapper);\r\n this._repeatUntilDate = this._createComponent(this._$repeatDateEditor, DateBox, {\r\n field: \"until\",\r\n value: repeatUntil,\r\n type: \"date\",\r\n onValueChanged: this._repeatUntilValueChangeHandler.bind(this),\r\n calendarOptions: {\r\n firstDayOfWeek: this._getFirstDayOfWeek()\r\n },\r\n useMaskBehavior: true\r\n });\r\n return $editorWrapper\r\n }\r\n _repeatUntilValueChangeHandler(args) {\r\n if (\"until\" === this._recurrenceRule.getRepeatEndRule()) {\r\n var dateInTimeZone = this._formatUntilDate(new Date(args.value));\r\n var getStartDateTimeZone = this.option(\"getStartDateTimeZone\");\r\n var appointmentTimeZone = getStartDateTimeZone();\r\n var path = appointmentTimeZone ? PathTimeZoneConversion.fromAppointmentToSource : PathTimeZoneConversion.fromGridToSource;\r\n var dateInLocaleTimeZone = this.option(\"timeZoneCalculator\").createDate(dateInTimeZone, {\r\n path: path,\r\n appointmentTimeZone: appointmentTimeZone\r\n });\r\n this._recurrenceRule.makeRule(\"until\", dateInLocaleTimeZone);\r\n this._changeEditorValue()\r\n }\r\n }\r\n _valueChangedHandler(args) {\r\n var {\r\n value: value,\r\n previousValue: previousValue\r\n } = args;\r\n var field = args.component.option(\"field\");\r\n if (!this.option(\"visible\")) {\r\n this.option(\"value\", \"\")\r\n } else {\r\n this._recurrenceRule.makeRule(field, value);\r\n if (\"freq\" === field) {\r\n this._makeRepeatOnRule(value);\r\n this._changeRepeatOnVisibility(value, previousValue)\r\n }\r\n this._changeEditorValue()\r\n }\r\n }\r\n _makeRepeatOnRule(value) {\r\n if (\"daily\" === value || \"hourly\" === value) {\r\n this._recurrenceRule.makeRule(\"byday\", \"\");\r\n this._recurrenceRule.makeRule(\"bymonth\", \"\");\r\n this._recurrenceRule.makeRule(\"bymonthday\", \"\")\r\n }\r\n if (\"weekly\" === value) {\r\n this._recurrenceRule.makeRule(\"byday\", this._daysOfWeekByRules());\r\n this._recurrenceRule.makeRule(\"bymonth\", \"\");\r\n this._recurrenceRule.makeRule(\"bymonthday\", \"\")\r\n }\r\n if (\"monthly\" === value) {\r\n this._recurrenceRule.makeRule(\"bymonthday\", this._dayOfMonthByRules());\r\n this._recurrenceRule.makeRule(\"bymonth\", \"\");\r\n this._recurrenceRule.makeRule(\"byday\", \"\")\r\n }\r\n if (\"yearly\" === value) {\r\n this._recurrenceRule.makeRule(\"bymonthday\", this._dayOfMonthByRules());\r\n this._recurrenceRule.makeRule(\"bymonth\", this._monthOfYearByRules());\r\n this._recurrenceRule.makeRule(\"byday\", \"\")\r\n }\r\n }\r\n _optionChanged(args) {\r\n var _a, _b, _c, _d;\r\n switch (args.name) {\r\n case \"readOnly\":\r\n null === (_a = this._recurrenceForm) || void 0 === _a ? void 0 : _a.option(\"readOnly\", args.value);\r\n null === (_b = this._repeatCountEditor) || void 0 === _b ? void 0 : _b.option(\"readOnly\", args.value);\r\n null === (_c = this._weekEditor) || void 0 === _c ? void 0 : _c.option(\"readOnly\", args.value);\r\n null === (_d = this._repeatUntilDate) || void 0 === _d ? void 0 : _d.option(\"readOnly\", args.value);\r\n super._optionChanged(args);\r\n break;\r\n case \"value\":\r\n this._recurrenceRule.makeRules(args.value);\r\n this._changeRepeatIntervalLabel();\r\n this._disableRepeatEndParts();\r\n this._changeEditorsValue(this._recurrenceRule.getRules());\r\n super._optionChanged(args);\r\n break;\r\n case \"startDate\":\r\n this._makeRepeatOnRule(this._recurrenceRule.getRules().freq);\r\n if (isDefined(this._recurrenceRule.getRecurrenceString())) {\r\n this._changeEditorValue()\r\n }\r\n break;\r\n case \"firstDayOfWeek\":\r\n if (this._weekEditor) {\r\n var localDaysNames = dateLocalization.getDayNames(\"abbreviated\");\r\n var dayNames = days.slice(args.value).concat(days.slice(0, args.value));\r\n var itemsButtonGroup = localDaysNames.slice(args.value).concat(localDaysNames.slice(0, args.value)).map((item, index) => ({\r\n text: item,\r\n key: dayNames[index]\r\n }));\r\n this._weekEditor.option(\"items\", itemsButtonGroup)\r\n }\r\n if (this._$repeatDateEditor) {\r\n this._repeatUntilDate.option(\"calendarOptions.firstDayOfWeek\", this._getFirstDayOfWeek())\r\n }\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _changeRepeatOnVisibility(freq, previousFreq) {\r\n if (freq !== previousFreq) {\r\n this._recurrenceForm.itemOption(\"byday\", \"visible\", false);\r\n this._recurrenceForm.itemOption(\"bymonthday\", \"visible\", false);\r\n this._recurrenceForm.itemOption(\"bymonth\", \"visible\", false);\r\n this._recurrenceForm.itemOption(\"repeatOnLabel\", \"visible\", freq && \"daily\" !== freq && \"hourly\" !== freq);\r\n if (\"weekly\" === freq) {\r\n this._recurrenceForm.itemOption(\"byday\", \"visible\", true)\r\n }\r\n if (\"monthly\" === freq) {\r\n this._recurrenceForm.itemOption(\"bymonthday\", \"visible\", true)\r\n }\r\n if (\"yearly\" === freq) {\r\n this._recurrenceForm.itemOption(\"bymonthday\", \"visible\", true);\r\n this._recurrenceForm.itemOption(\"bymonth\", \"visible\", true)\r\n }\r\n }\r\n }\r\n _changeRepeatIntervalLabel() {\r\n var {\r\n freq: freq\r\n } = this._recurrenceRule.getRules();\r\n freq && this._recurrenceForm.itemOption(\"intervalLabel\", \"template\", messageLocalization.format(\"dxScheduler-recurrenceRepeat\".concat(freq.charAt(0).toUpperCase()).concat(freq.substr(1).toLowerCase())))\r\n }\r\n _changeEditorsValue(rules) {\r\n this._recurrenceForm.getEditor(\"freq\").option(\"value\", (rules.freq || frequenciesMessages[defaultRecurrenceTypeIndex].value).toLowerCase());\r\n this._changeDayOfWeekValue();\r\n this._changeDayOfMonthValue();\r\n this._changeMonthOfYearValue();\r\n this._changeIntervalValue(rules.interval);\r\n this._changeRepeatCountValue();\r\n this._changeRepeatEndValue();\r\n this._changeRepeatUntilValue()\r\n }\r\n _changeIntervalValue(value) {\r\n this._recurrenceForm.getEditor(\"interval\").option(\"value\", value || 1)\r\n }\r\n _changeRepeatEndValue() {\r\n var repeatType = this._recurrenceRule.getRepeatEndRule();\r\n this._recurrenceForm.getEditor(\"repeatEnd\").option(\"value\", repeatType)\r\n }\r\n _changeDayOfWeekValue() {\r\n var isEditorVisible = this._recurrenceForm.itemOption(\"byday\").visible;\r\n if (isEditorVisible) {\r\n var _days = this._daysOfWeekByRules();\r\n this.getEditorByField(\"byday\").option(\"selectedItemKeys\", _days)\r\n }\r\n }\r\n _changeDayOfMonthValue() {\r\n var isEditorVisible = this._recurrenceForm.itemOption(\"bymonthday\").visible;\r\n if (isEditorVisible) {\r\n var day = this._dayOfMonthByRules();\r\n this._recurrenceForm.getEditor(\"bymonthday\").option(\"value\", day)\r\n }\r\n }\r\n _changeMonthOfYearValue() {\r\n var isEditorVisible = this._recurrenceForm.itemOption(\"bymonth\").visible;\r\n if (isEditorVisible) {\r\n var month = this._monthOfYearByRules();\r\n this._recurrenceForm.getEditor(\"bymonth\").option(\"value\", month)\r\n }\r\n }\r\n _changeRepeatCountValue() {\r\n var count = this._recurrenceRule.getRules().count || 1;\r\n this._repeatCountEditor.option(\"value\", count)\r\n }\r\n _changeRepeatUntilValue() {\r\n this._repeatUntilDate.option(\"value\", this._getUntilValue())\r\n }\r\n _getUntilValue() {\r\n var untilDate = this._recurrenceRule.getRules().until;\r\n if (!untilDate) {\r\n return this._formatUntilDate(new Date)\r\n }\r\n var getStartDateTimeZone = this.option(\"getStartDateTimeZone\");\r\n var appointmentTimeZone = getStartDateTimeZone();\r\n var path = appointmentTimeZone ? PathTimeZoneConversion.fromSourceToAppointment : PathTimeZoneConversion.fromSourceToGrid;\r\n return this.option(\"timeZoneCalculator\").createDate(untilDate, {\r\n path: path,\r\n appointmentTimeZone: appointmentTimeZone\r\n })\r\n }\r\n toggle() {\r\n this._freqEditor.focus()\r\n }\r\n setAria() {\r\n if (this._switchEditor) {\r\n this._switchEditor.setAria(arguments.length <= 0 ? void 0 : arguments[0], arguments.length <= 1 ? void 0 : arguments[1])\r\n }\r\n }\r\n}\r\nregisterComponent(\"dxRecurrenceEditor\", RecurrenceEditor);\r\nexport default RecurrenceEditor;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/m_date_adapter.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dateUtils from \"../../core/utils/date\";\r\nvar toMs = dateUtils.dateToMilliseconds;\r\nclass DateAdapterCore {\r\n constructor(source) {\r\n this._source = new Date(source.getTime ? source.getTime() : source)\r\n }\r\n get source() {\r\n return this._source\r\n }\r\n result() {\r\n return this._source\r\n }\r\n getTimezoneOffset() {\r\n var format = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : void 0;\r\n var value = this._source.getTimezoneOffset();\r\n if (\"minute\" === format) {\r\n return value * toMs(\"minute\")\r\n }\r\n return value\r\n }\r\n getTime() {\r\n return this._source.getTime()\r\n }\r\n setTime(value) {\r\n this._source.setTime(value);\r\n return this\r\n }\r\n addTime(value) {\r\n this._source.setTime(this._source.getTime() + value);\r\n return this\r\n }\r\n setMinutes(value) {\r\n this._source.setMinutes(value);\r\n return this\r\n }\r\n addMinutes(value) {\r\n this._source.setMinutes(this._source.getMinutes() + value);\r\n return this\r\n }\r\n subtractMinutes(value) {\r\n this._source.setMinutes(this._source.getMinutes() - value);\r\n return this\r\n }\r\n}\r\nvar DateAdapter = date => new DateAdapterCore(date);\r\nexport default DateAdapter;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/m_utils_time_zone.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport DateAdapter from \"./m_date_adapter\";\r\nimport timeZoneDataUtils from \"./timezones/m_utils_timezones_data\";\r\nvar toMs = dateUtils.dateToMilliseconds;\r\nvar MINUTES_IN_HOUR = 60;\r\nvar MS_IN_MINUTE = 6e4;\r\nvar createUTCDateWithLocalOffset = date => {\r\n if (!date) {\r\n return null\r\n }\r\n return new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds()))\r\n};\r\nvar createDateFromUTCWithLocalOffset = date => {\r\n var result = DateAdapter(date);\r\n var timezoneOffsetBeforeInMin = result.getTimezoneOffset();\r\n result.addTime(result.getTimezoneOffset(\"minute\"));\r\n result.subtractMinutes(timezoneOffsetBeforeInMin - result.getTimezoneOffset());\r\n return result.source\r\n};\r\nvar getTimeZones = function() {\r\n var date = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : new Date;\r\n var dateInUTC = createUTCDate(date);\r\n return timeZoneDataUtils.getDisplayedTimeZones(dateInUTC.getTime())\r\n};\r\nvar createUTCDate = date => new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes()));\r\nvar getTimezoneOffsetChangeInMinutes = (startDate, endDate, updatedStartDate, updatedEndDate) => getDaylightOffset(updatedStartDate, updatedEndDate) - getDaylightOffset(startDate, endDate);\r\nvar getTimezoneOffsetChangeInMs = (startDate, endDate, updatedStartDate, updatedEndDate) => getTimezoneOffsetChangeInMinutes(startDate, endDate, updatedStartDate, updatedEndDate) * toMs(\"minute\");\r\nvar getDaylightOffset = (startDate, endDate) => new Date(startDate).getTimezoneOffset() - new Date(endDate).getTimezoneOffset();\r\nvar getDaylightOffsetInMs = (startDate, endDate) => getDaylightOffset(startDate, endDate) * toMs(\"minute\");\r\nvar calculateTimezoneByValue = function(timezone) {\r\n var date = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : new Date;\r\n if (\"string\" === typeof timezone) {\r\n var dateUtc = createUTCDate(date);\r\n return timeZoneDataUtils.getTimeZoneOffsetById(timezone, dateUtc.getTime())\r\n }\r\n return timezone\r\n};\r\nvar _getDaylightOffsetByTimezone = (startDate, endDate, timeZone) => calculateTimezoneByValue(timeZone, startDate) - calculateTimezoneByValue(timeZone, endDate);\r\nvar getCorrectedDateByDaylightOffsets = (convertedOriginalStartDate, convertedDate, date, timeZone, startDateTimezone) => {\r\n var daylightOffsetByCommonTimezone = _getDaylightOffsetByTimezone(convertedOriginalStartDate, convertedDate, timeZone);\r\n var daylightOffsetByAppointmentTimezone = _getDaylightOffsetByTimezone(convertedOriginalStartDate, convertedDate, startDateTimezone);\r\n var diff = daylightOffsetByCommonTimezone - daylightOffsetByAppointmentTimezone;\r\n return new Date(date.getTime() - diff * toMs(\"hour\"))\r\n};\r\nvar correctRecurrenceExceptionByTimezone = function(exception, exceptionByStartDate, timeZone, startDateTimeZone) {\r\n var isBackConversion = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : false;\r\n var timezoneOffset = (exception.getTimezoneOffset() - exceptionByStartDate.getTimezoneOffset()) / MINUTES_IN_HOUR;\r\n if (startDateTimeZone) {\r\n timezoneOffset = _getDaylightOffsetByTimezone(exceptionByStartDate, exception, startDateTimeZone)\r\n } else if (timeZone) {\r\n timezoneOffset = _getDaylightOffsetByTimezone(exceptionByStartDate, exception, timeZone)\r\n }\r\n return new Date(exception.getTime() + (isBackConversion ? -1 : 1) * timezoneOffset * toMs(\"hour\"))\r\n};\r\nvar isTimezoneChangeInDate = date => {\r\n var startDayDate = new Date(new Date(date).setHours(0, 0, 0, 0));\r\n var endDayDate = new Date(new Date(date).setHours(23, 59, 59, 0));\r\n return startDayDate.getTimezoneOffset() - endDayDate.getTimezoneOffset() !== 0\r\n};\r\nvar getDateWithoutTimezoneChange = date => {\r\n var clonedDate = new Date(date);\r\n if (isTimezoneChangeInDate(clonedDate)) {\r\n var result = new Date(clonedDate);\r\n return new Date(result.setDate(result.getDate() + 1))\r\n }\r\n return clonedDate\r\n};\r\nvar isSameAppointmentDates = (startDate, endDate) => {\r\n endDate = new Date(endDate.getTime() - 1);\r\n return dateUtils.sameDate(startDate, endDate)\r\n};\r\nvar getClientTimezoneOffset = function() {\r\n var date = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : new Date;\r\n return date.getTimezoneOffset() * MS_IN_MINUTE\r\n};\r\nvar getDiffBetweenClientTimezoneOffsets = function() {\r\n var firstDate = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : new Date;\r\n var secondDate = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : new Date;\r\n return getClientTimezoneOffset(firstDate) - getClientTimezoneOffset(secondDate)\r\n};\r\nvar isEqualLocalTimeZone = function(timeZoneName) {\r\n var date = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : new Date;\r\n if (Intl) {\r\n var localTimeZoneName = Intl.DateTimeFormat().resolvedOptions().timeZone;\r\n if (localTimeZoneName === timeZoneName) {\r\n return true\r\n }\r\n }\r\n return isEqualLocalTimeZoneByDeclaration(timeZoneName, date)\r\n};\r\nvar hasDSTInLocalTimeZone = () => {\r\n var [startDate, endDate] = getExtremeDates();\r\n return startDate.getTimezoneOffset() !== endDate.getTimezoneOffset()\r\n};\r\nvar isEqualLocalTimeZoneByDeclaration = (timeZoneName, date) => {\r\n var year = date.getFullYear();\r\n var getOffset = date => -date.getTimezoneOffset() / 60;\r\n var getDateAndMoveHourBack = dateStamp => new Date(dateStamp - 36e5);\r\n var configTuple = timeZoneDataUtils.getTimeZoneDeclarationTuple(timeZoneName, year);\r\n var [summerTime, winterTime] = configTuple;\r\n var noDSTInTargetTimeZone = configTuple.length < 2;\r\n if (noDSTInTargetTimeZone) {\r\n var targetTimeZoneOffset = timeZoneDataUtils.getTimeZoneOffsetById(timeZoneName, date);\r\n var localTimeZoneOffset = getOffset(date);\r\n if (targetTimeZoneOffset !== localTimeZoneOffset) {\r\n return false\r\n }\r\n return !hasDSTInLocalTimeZone()\r\n }\r\n var localSummerOffset = getOffset(new Date(summerTime.date));\r\n var localWinterOffset = getOffset(new Date(winterTime.date));\r\n if (localSummerOffset !== summerTime.offset) {\r\n return false\r\n }\r\n if (localSummerOffset === getOffset(getDateAndMoveHourBack(summerTime.date))) {\r\n return false\r\n }\r\n if (localWinterOffset !== winterTime.offset) {\r\n return false\r\n }\r\n if (localWinterOffset === getOffset(getDateAndMoveHourBack(winterTime.date))) {\r\n return false\r\n }\r\n return true\r\n};\r\nvar getExtremeDates = () => {\r\n var nowDate = new Date(Date.now());\r\n var startDate = new Date;\r\n var endDate = new Date;\r\n startDate.setFullYear(nowDate.getFullYear(), 0, 1);\r\n endDate.setFullYear(nowDate.getFullYear(), 6, 1);\r\n return [startDate, endDate]\r\n};\r\nvar setOffsetsToDate = (targetDate, offsetsArray) => {\r\n var newDateMs = offsetsArray.reduce((result, offset) => result + offset, targetDate.getTime());\r\n return new Date(newDateMs)\r\n};\r\nvar utils = {\r\n getDaylightOffset: getDaylightOffset,\r\n getDaylightOffsetInMs: getDaylightOffsetInMs,\r\n getTimezoneOffsetChangeInMinutes: getTimezoneOffsetChangeInMinutes,\r\n getTimezoneOffsetChangeInMs: getTimezoneOffsetChangeInMs,\r\n calculateTimezoneByValue: calculateTimezoneByValue,\r\n getCorrectedDateByDaylightOffsets: getCorrectedDateByDaylightOffsets,\r\n isSameAppointmentDates: isSameAppointmentDates,\r\n correctRecurrenceExceptionByTimezone: correctRecurrenceExceptionByTimezone,\r\n getClientTimezoneOffset: getClientTimezoneOffset,\r\n getDiffBetweenClientTimezoneOffsets: getDiffBetweenClientTimezoneOffsets,\r\n createUTCDateWithLocalOffset: createUTCDateWithLocalOffset,\r\n createDateFromUTCWithLocalOffset: createDateFromUTCWithLocalOffset,\r\n createUTCDate: createUTCDate,\r\n isTimezoneChangeInDate: isTimezoneChangeInDate,\r\n getDateWithoutTimezoneChange: getDateWithoutTimezoneChange,\r\n hasDSTInLocalTimeZone: hasDSTInLocalTimeZone,\r\n isEqualLocalTimeZone: isEqualLocalTimeZone,\r\n isEqualLocalTimeZoneByDeclaration: isEqualLocalTimeZoneByDeclaration,\r\n getTimeZones: getTimeZones,\r\n setOffsetsToDate: setOffsetsToDate\r\n};\r\nexport default utils;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/timezones/m_utils_timezones_data.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errors from \"../../../core/errors\";\r\nimport {\r\n sign\r\n} from \"../../../core/utils/math\";\r\nimport query from \"../../../data/query\";\r\nimport tzData from \"./timezones_data\";\r\nvar getConvertedUntils = value => value.split(\"|\").map(until => {\r\n if (\"Infinity\" === until) {\r\n return null\r\n }\r\n return 1e3 * parseInt(until, 36)\r\n});\r\nvar parseTimezone = timeZoneConfig => {\r\n var {\r\n offsets: offsets\r\n } = timeZoneConfig;\r\n var {\r\n offsetIndices: offsetIndices\r\n } = timeZoneConfig;\r\n var {\r\n untils: untils\r\n } = timeZoneConfig;\r\n var offsetList = offsets.split(\"|\").map(value => parseInt(value));\r\n var offsetIndexList = offsetIndices.split(\"\").map(value => parseInt(value));\r\n var dateList = getConvertedUntils(untils).map((accumulator = 0, value => accumulator += value));\r\n var accumulator;\r\n return {\r\n offsetList: offsetList,\r\n offsetIndexList: offsetIndexList,\r\n dateList: dateList\r\n }\r\n};\r\nclass TimeZoneCache {\r\n constructor() {\r\n this.map = new Map\r\n }\r\n tryGet(id) {\r\n if (!this.map.get(id)) {\r\n var config = timeZoneDataUtils.getTimezoneById(id);\r\n if (!config) {\r\n return false\r\n }\r\n var timeZoneInfo = parseTimezone(config);\r\n this.map.set(id, timeZoneInfo)\r\n }\r\n return this.map.get(id)\r\n }\r\n}\r\nvar tzCache = new TimeZoneCache;\r\nvar timeZoneDataUtils = {\r\n _tzCache: tzCache,\r\n _timeZones: tzData.zones,\r\n getDisplayedTimeZones(timestamp) {\r\n var timeZones = this._timeZones.map(timezone => {\r\n var timeZoneInfo = parseTimezone(timezone);\r\n var offset = this.getUtcOffset(timeZoneInfo, timestamp);\r\n var title = \"(GMT \".concat(this.formatOffset(offset), \") \").concat(this.formatId(timezone.id));\r\n return {\r\n offset: offset,\r\n title: title,\r\n id: timezone.id\r\n }\r\n });\r\n return query(timeZones).sortBy(\"offset\").toArray()\r\n },\r\n formatOffset(offset) {\r\n var hours = Math.floor(offset);\r\n var minutesInDecimal = offset - hours;\r\n var signString = sign(offset) >= 0 ? \"+\" : \"-\";\r\n var hoursString = \"0\".concat(Math.abs(hours)).slice(-2);\r\n var minutesString = minutesInDecimal > 0 ? \":\".concat(60 * minutesInDecimal) : \":00\";\r\n return signString + hoursString + minutesString\r\n },\r\n formatId: id => id.split(\"/\").join(\" - \").split(\"_\").join(\" \"),\r\n getTimezoneById(id) {\r\n if (!id) {\r\n return\r\n }\r\n var tzList = this._timeZones;\r\n for (var i = 0; i < tzList.length; i++) {\r\n var currentId = tzList[i].id;\r\n if (currentId === id) {\r\n return tzList[i]\r\n }\r\n }\r\n errors.log(\"W0009\", id);\r\n return\r\n },\r\n getTimeZoneOffsetById(id, timestamp) {\r\n var timeZoneInfo = tzCache.tryGet(id);\r\n return timeZoneInfo ? this.getUtcOffset(timeZoneInfo, timestamp) : void 0\r\n },\r\n getTimeZoneDeclarationTuple(id, year) {\r\n var timeZoneInfo = tzCache.tryGet(id);\r\n return timeZoneInfo ? this.getTimeZoneDeclarationTupleCore(timeZoneInfo, year) : []\r\n },\r\n getTimeZoneDeclarationTupleCore(timeZoneInfo, year) {\r\n var {\r\n offsetList: offsetList\r\n } = timeZoneInfo;\r\n var {\r\n offsetIndexList: offsetIndexList\r\n } = timeZoneInfo;\r\n var {\r\n dateList: dateList\r\n } = timeZoneInfo;\r\n var tupleResult = [];\r\n for (var i = 0; i < dateList.length; i++) {\r\n var currentDate = dateList[i];\r\n var currentYear = new Date(currentDate).getFullYear();\r\n if (currentYear === year) {\r\n var offset = offsetList[offsetIndexList[i + 1]];\r\n tupleResult.push({\r\n date: currentDate,\r\n offset: -offset / 60\r\n })\r\n }\r\n if (currentYear > year) {\r\n break\r\n }\r\n }\r\n return tupleResult\r\n },\r\n getUtcOffset(timeZoneInfo, dateTimeStamp) {\r\n var {\r\n offsetList: offsetList\r\n } = timeZoneInfo;\r\n var {\r\n offsetIndexList: offsetIndexList\r\n } = timeZoneInfo;\r\n var {\r\n dateList: dateList\r\n } = timeZoneInfo;\r\n var lastIntervalStartIndex = dateList.length - 1 - 1;\r\n var index = lastIntervalStartIndex;\r\n while (index >= 0 && dateTimeStamp < dateList[index]) {\r\n index--\r\n }\r\n var offset = offsetList[offsetIndexList[index + 1]];\r\n return -offset / 60 || offset\r\n }\r\n};\r\nexport default timeZoneDataUtils;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/timezones/timezones_data.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport default {\r\n zones: [{\r\n id: \"Africa/Abidjan\",\r\n untils: \"-u9rgl4|Infinity\",\r\n offsets: \"16.1333|0\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Africa/Accra\",\r\n untils: \"-r507yk|1e3pak|681qo|cjvlc|681qo|cjvlc|681qo|cjvlc|681qo|clq9c|681qo|cjvlc|681qo|cjvlc|681qo|cjvlc|681qo|clq9c|681qo|cjvlc|681qo|cjvlc|681qo|cjvlc|681qo|clq9c|681qo|cjvlc|681qo|cjvlc|681qo|cjvlc|681qo|clq9c|681qo|cjvlc|681qo|cjvlc|681qo|cjvlc|681qo|clq9c|681qo|cjvlc|681qo|cjvlc|681qo|Infinity\",\r\n offsets: \"0.8667|0|-20\",\r\n offsetIndices: \"012121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Africa/Addis_Ababa\",\r\n untils: \"-lnsetg|s8mhg|57v020|afrrb0|Infinity\",\r\n offsets: \"-147.2667|-180|-150|-165\",\r\n offsetIndices: \"01231\"\r\n }, {\r\n id: \"Africa/Algiers\",\r\n untils: \"-uozn3l|2qx1nl|5luo0|8y800|a4tc0|7vc00|auqo0|7idc0|b7pc0|6sg00|cyo00|7ayo0|53c00|9idxc0|3i040|51mw0|253uk0|9o2k0|92040|8l3s0|jutc0|4uy840|3rdzw0|46xc00|7x6o0|2xco40|8n180|7x9g0|9d440|kiqg0|9d440|9q2s0|9cyk0|Infinity\",\r\n offsets: \"-9.35|0|-60|-120\",\r\n offsetIndices: \"0121212121212121232321212122321212\"\r\n }, {\r\n id: \"Africa/Asmara\",\r\n untils: \"-lnsetg|s8mhg|57v020|afrrb0|Infinity\",\r\n offsets: \"-147.2667|-180|-150|-165\",\r\n offsetIndices: \"01231\"\r\n }, {\r\n id: \"Africa/Asmera\",\r\n untils: \"-lnsetg|s8mhg|57v020|afrrb0|Infinity\",\r\n offsets: \"-147.2667|-180|-150|-165\",\r\n offsetIndices: \"01231\"\r\n }, {\r\n id: \"Africa/Bamako\",\r\n untils: \"-u9rgl4|Infinity\",\r\n offsets: \"16.1333|0\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Africa/Bangui\",\r\n untils: \"-q9qbao|Infinity\",\r\n offsets: \"-13.6|-60\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Africa/Banjul\",\r\n untils: \"-u9rgl4|Infinity\",\r\n offsets: \"16.1333|0\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Africa/Bissau\",\r\n untils: \"-u9rek0|wvoyo0|Infinity\",\r\n offsets: \"62.3333|60|0\",\r\n offsetIndices: \"012\"\r\n }, {\r\n id: \"Africa/Blantyre\",\r\n untils: \"-yvtfd8|Infinity\",\r\n offsets: \"-130.3333|-120\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Africa/Brazzaville\",\r\n untils: \"-q9qbao|Infinity\",\r\n offsets: \"-13.6|-60\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Africa/Bujumbura\",\r\n untils: \"-yvtfd8|Infinity\",\r\n offsets: \"-130.3333|-120\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Africa/Cairo\",\r\n untils: \"-fdls80|40d80|a31g0|7x3w0|a4w40|aqyk0|80ys0|b07w0|7tk40|b07w0|8jhg0|a8fw0|60go40|7el80|awo40|7v980|awqw0|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7tk40|ayd80|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|f9x80|3i040|eluk0|462s0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|b5rw0|7m5g0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|aqvs0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7k580|b5xg0|6u7w0|bvus0|6h980|c8tg0|64ak0|cyqs0|5anw0|1jms0|12t80|1w22s0|25p80|1sw40|2vmk0|Infinity\",\r\n offsets: \"-120|-180\",\r\n offsetIndices: \"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Africa/Casablanca\",\r\n untils: \"-tblt9g|di7nxg|3huk0|51k40|2znuk0|2dp9g0|776k0|8nt2s0|657w0|3ifxg0|3jp80|va040|4qak0|e1ms0|7pp80|cnms0|3afw0|2xi840|xqqk0|bp56s0|4qak0|e1ms0|45x80|d2g40|51ek0|c8tg0|64ak0|e1sc0|47uo0|1leo0|23xc0|asw00|3lmo0|1qyo0|40g00|7x6o0|4mo00|1stc0|4deo0|7x6o0|3ylc0|1stc0|51hc0|7x6o0|3lmo0|1stc0|5reo0|7k800|2vpc0|25s00|64dc0|7k800|2iqo0|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|g7c00|25s00|g7c00|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|g7c00|25s00|g7c00|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|g7c00|25s00|g7c00|25s00|g7c00|1stc0|g7c00|25s00|Infinity\",\r\n offsets: \"30.3333|0|-60\",\r\n offsetIndices: \"01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212\"\r\n }, {\r\n id: \"Africa/Ceuta\",\r\n untils: \"-qyiys0|7x3w0|2vt440|8sqs0|ssyk0|8n6s0|9px80|905g0|a2yo0|902o0|k69dc0|657w0|3ifxg0|3jp80|va040|4qak0|e1ms0|7pp80|cnms0|3afw0|2xi840|129us0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"0|-60|-120\",\r\n offsetIndices: \"010101010101010101010121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Africa/Conakry\",\r\n untils: \"-u9rgl4|Infinity\",\r\n offsets: \"16.1333|0\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Africa/Dakar\",\r\n untils: \"-u9rgl4|Infinity\",\r\n offsets: \"16.1333|0\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Africa/Dar_es_Salaam\",\r\n untils: \"-lnsetg|s8mhg|57v020|afrrb0|Infinity\",\r\n offsets: \"-147.2667|-180|-150|-165\",\r\n offsetIndices: \"01231\"\r\n }, {\r\n id: \"Africa/Djibouti\",\r\n untils: \"-lnsetg|s8mhg|57v020|afrrb0|Infinity\",\r\n offsets: \"-147.2667|-180|-150|-165\",\r\n offsetIndices: \"01231\"\r\n }, {\r\n id: \"Africa/Douala\",\r\n untils: \"-q9qbao|Infinity\",\r\n offsets: \"-13.6|-60\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Africa/El_Aaiun\",\r\n untils: \"-isdxk0|m2g0c0|vek0|4qak0|e1ms0|7pp80|cnms0|3afw0|fke5g0|4qak0|e1ms0|45x80|d2g40|51ek0|c8tg0|64ak0|e1sc0|47uo0|1leo0|23xc0|asw00|3lmo0|1qyo0|40g00|7x6o0|4mo00|1stc0|4deo0|7x6o0|3ylc0|1stc0|51hc0|7x6o0|3lmo0|1stc0|5reo0|7k800|2vpc0|25s00|64dc0|7k800|2iqo0|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|g7c00|25s00|g7c00|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|g7c00|25s00|g7c00|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|g7c00|25s00|g7c00|25s00|g7c00|1stc0|g7c00|25s00|Infinity\",\r\n offsets: \"52.8|60|0|-60\",\r\n offsetIndices: \"012323232323232323232323232323232323232323232323232323232323232323232323232323232323\"\r\n }, {\r\n id: \"Africa/Freetown\",\r\n untils: \"-u9rgl4|Infinity\",\r\n offsets: \"16.1333|0\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Africa/Gaborone\",\r\n untils: \"-yvtfd8|Infinity\",\r\n offsets: \"-130.3333|-120\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Africa/Harare\",\r\n untils: \"-yvtfd8|Infinity\",\r\n offsets: \"-130.3333|-120\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Africa/Johannesburg\",\r\n untils: \"-yvtdi0|kn7o60|9cyk0|9d440|9cyk0|Infinity\",\r\n offsets: \"-90|-120|-180\",\r\n offsetIndices: \"012121\"\r\n }, {\r\n id: \"Africa/Juba\",\r\n untils: \"-kcrsis|kixuys|8l6k0|a4w40|8n180|a6qs0|8n180|a31g0|8ovw0|a16s0|8qqk0|9zc40|8sl80|9xhg0|8wak0|9ts40|8y580|a4w40|8n180|a31g0|8ovw0|a16s0|8sl80|9xhg0|8ufw0|9vms0|8wak0|9ts40|8y580|a4w40|8ovw0|a16s0|8qqk0|7frw40|Infinity\",\r\n offsets: \"-126.4667|-120|-180\",\r\n offsetIndices: \"01212121212121212121212121212121212\"\r\n }, {\r\n id: \"Africa/Kampala\",\r\n untils: \"-lnsetg|s8mhg|57v020|afrrb0|Infinity\",\r\n offsets: \"-147.2667|-180|-150|-165\",\r\n offsetIndices: \"01231\"\r\n }, {\r\n id: \"Africa/Khartoum\",\r\n untils: \"-kcrsow|kixv4w|8l6k0|a4w40|8n180|a6qs0|8n180|a31g0|8ovw0|a16s0|8qqk0|9zc40|8sl80|9xhg0|8wak0|9ts40|8y580|a4w40|8n180|a31g0|8ovw0|a16s0|8sl80|9xhg0|8ufw0|9vms0|8wak0|9ts40|8y580|a4w40|8ovw0|a16s0|8qqk0|7frw40|9ac180|Infinity\",\r\n offsets: \"-130.1333|-120|-180\",\r\n offsetIndices: \"012121212121212121212121212121212121\"\r\n }, {\r\n id: \"Africa/Kigali\",\r\n untils: \"-yvtfd8|Infinity\",\r\n offsets: \"-130.3333|-120\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Africa/Kinshasa\",\r\n untils: \"-q9qbao|Infinity\",\r\n offsets: \"-13.6|-60\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Africa/Lagos\",\r\n untils: \"-q9qbao|Infinity\",\r\n offsets: \"-13.6|-60\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Africa/Libreville\",\r\n untils: \"-q9qbao|Infinity\",\r\n offsets: \"-13.6|-60\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Africa/Lome\",\r\n untils: \"-u9rgl4|Infinity\",\r\n offsets: \"16.1333|0\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Africa/Luanda\",\r\n untils: \"-q9qbao|Infinity\",\r\n offsets: \"-13.6|-60\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Africa/Lubumbashi\",\r\n untils: \"-yvtfd8|Infinity\",\r\n offsets: \"-130.3333|-120\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Africa/Lusaka\",\r\n untils: \"-yvtfd8|Infinity\",\r\n offsets: \"-130.3333|-120\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Africa/Malabo\",\r\n untils: \"-q9qbao|Infinity\",\r\n offsets: \"-13.6|-60\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Africa/Maputo\",\r\n untils: \"-yvtfd8|Infinity\",\r\n offsets: \"-130.3333|-120\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Africa/Maseru\",\r\n untils: \"-yvtdi0|kn7o60|9cyk0|9d440|9cyk0|Infinity\",\r\n offsets: \"-90|-120|-180\",\r\n offsetIndices: \"012121\"\r\n }, {\r\n id: \"Africa/Mbabane\",\r\n untils: \"-yvtdi0|kn7o60|9cyk0|9d440|9cyk0|Infinity\",\r\n offsets: \"-90|-120|-180\",\r\n offsetIndices: \"012121\"\r\n }, {\r\n id: \"Africa/Mogadishu\",\r\n untils: \"-lnsetg|s8mhg|57v020|afrrb0|Infinity\",\r\n offsets: \"-147.2667|-180|-150|-165\",\r\n offsetIndices: \"01231\"\r\n }, {\r\n id: \"Africa/Monrovia\",\r\n untils: \"-qj6zc4|rl202a|Infinity\",\r\n offsets: \"43.1333|44.5|0\",\r\n offsetIndices: \"012\"\r\n }, {\r\n id: \"Africa/Nairobi\",\r\n untils: \"-lnsetg|s8mhg|57v020|afrrb0|Infinity\",\r\n offsets: \"-147.2667|-180|-150|-165\",\r\n offsetIndices: \"01231\"\r\n }, {\r\n id: \"Africa/Ndjamena\",\r\n untils: \"-u9rk4c|zdk5cc|7iak0|Infinity\",\r\n offsets: \"-60.2|-60|-120\",\r\n offsetIndices: \"0121\"\r\n }, {\r\n id: \"Africa/Niamey\",\r\n untils: \"-q9qbao|Infinity\",\r\n offsets: \"-13.6|-60\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Africa/Nouakchott\",\r\n untils: \"-u9rgl4|Infinity\",\r\n offsets: \"16.1333|0\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Africa/Ouagadougou\",\r\n untils: \"-u9rgl4|Infinity\",\r\n offsets: \"16.1333|0\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Africa/Porto-Novo\",\r\n untils: \"-q9qbao|Infinity\",\r\n offsets: \"-13.6|-60\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Africa/Sao_Tome\",\r\n untils: \"-u9rhc0|1jbm840|irxc0|Infinity\",\r\n offsets: \"36.75|0|-60\",\r\n offsetIndices: \"0121\"\r\n }, {\r\n id: \"Africa/Timbuktu\",\r\n untils: \"-u9rgl4|Infinity\",\r\n offsets: \"16.1333|0\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Africa/Tripoli\",\r\n untils: \"-q3gfrw|gl6ajw|422c0|xado0|4bbo0|wrpg0|4s580|1kdpg0|c05bw0|4mqs0|9et80|9d440|9et80|9eys0|9et80|9mdg0|95jw0|9io40|9cyk0|99es0|9et80|9eys0|9et80|9d440|9et80|b2840|3cf3w0|9kis0|9et80|7vqyw0|75eo0|asw00|Infinity\",\r\n offsets: \"-52.7333|-60|-120\",\r\n offsetIndices: \"012121212121212121212121212122122\"\r\n }, {\r\n id: \"Africa/Tunis\",\r\n untils: \"-uozn3l|enxevl|b5uo0|53c00|u8w00|7x9g0|c8w80|7k800|z3w0|ew40|8bx80|9d440|9nx00|925o0|8l100|gi3440|7k800|b9k00|7vc00|51mw00|5ytc0|9d1c0|9d1c0|b9k00|7thc0|7m0tc0|7tk40|93us0|b5uo0|7k800|b5uo0|7x6o0|asw00|Infinity\",\r\n offsets: \"-9.35|-60|-120\",\r\n offsetIndices: \"0121212121212121212121212121212121\"\r\n }, {\r\n id: \"Africa/Windhoek\",\r\n untils: \"-yvtdi0|kn7o60|9cyk0|oj2nw0|235k00|8lho0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|Infinity\",\r\n offsets: \"-90|-120|-180|-60\",\r\n offsetIndices: \"01211313131313131313131313131313131313131313131313131\"\r\n }, {\r\n id: \"America/Adak\",\r\n untils: \"-ek1nw0|1tyug0|2e6s0|b7yik0|12y080|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1l940|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"660|600|540\",\r\n offsetIndices: \"011001010101010101010101010101010111212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Anchorage\",\r\n untils: \"-ek1qo0|1tyx80|2e400|b7yik0|12y080|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1l940|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"600|540|480\",\r\n offsetIndices: \"011001010101010101010101010101010111212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Anguilla\",\r\n untils: \"-u6m79w|Infinity\",\r\n offsets: \"246.0667|240\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"America/Antigua\",\r\n untils: \"-u6m79w|Infinity\",\r\n offsets: \"246.0667|240\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"America/Araguaina\",\r\n untils: \"-t85j2o|99k8mo|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|2yl440|64ak0|c8tg0|6u7w0|bxpg0|7iak0|biw40|6u7w0|biw40|7k580|biw40|6u7w0|c8tg0|6h980|dbpg0|5ed80|51udg0|64ak0|Infinity\",\r\n offsets: \"192.8|180|120\",\r\n offsetIndices: \"0121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Argentina/Buenos_Aires\",\r\n untils: \"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvus0|6u7w0|bvus0|776k0|7qcg40|3yik0|b5xg0|7k580|Infinity\",\r\n offsets: \"256.8|240|180|120\",\r\n offsetIndices: \"01212121212121212121212121212121212121212123232323232323232\"\r\n }, {\r\n id: \"America/Argentina/Catamarca\",\r\n untils: \"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|5v42s0|z9g0|1u93w0|3yik0|Infinity\",\r\n offsets: \"256.8|240|180|120\",\r\n offsetIndices: \"01212121212121212121212121212121212121212123232323132321232\"\r\n }, {\r\n id: \"America/Argentina/ComodRivadavia\",\r\n untils: \"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|5v42s0|z9g0|1u93w0|3yik0|Infinity\",\r\n offsets: \"256.8|240|180|120\",\r\n offsetIndices: \"01212121212121212121212121212121212121212123232323132321232\"\r\n }, {\r\n id: \"America/Argentina/Cordoba\",\r\n untils: \"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|7qcg40|3yik0|b5xg0|7k580|Infinity\",\r\n offsets: \"256.8|240|180|120\",\r\n offsetIndices: \"01212121212121212121212121212121212121212123232323132323232\"\r\n }, {\r\n id: \"America/Argentina/Jujuy\",\r\n untils: \"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|c8w80|776k0|ag040|7k2g0|bvus0|776k0|7qcg40|3yik0|Infinity\",\r\n offsets: \"256.8|240|180|120\",\r\n offsetIndices: \"012121212121212121212121212121212121212121232323121323232\"\r\n }, {\r\n id: \"America/Argentina/La_Rioja\",\r\n untils: \"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6qik0|3g880|8jbw0|6u7w0|bvus0|776k0|5v42s0|z9g0|1u93w0|3yik0|Infinity\",\r\n offsets: \"256.8|240|180|120\",\r\n offsetIndices: \"012121212121212121212121212121212121212121232323231232321232\"\r\n }, {\r\n id: \"America/Argentina/Mendoza\",\r\n untils: \"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bktk0|71mk0|bqas0|73h80|bvus0|773s0|5unes0|6hes0|1p7mk0|3yik0|Infinity\",\r\n offsets: \"256.8|240|180|120\",\r\n offsetIndices: \"01212121212121212121212121212121212121212123232312121321232\"\r\n }, {\r\n id: \"America/Argentina/Rio_Gallegos\",\r\n untils: \"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvus0|6u7w0|bvus0|776k0|5v42s0|z9g0|1u93w0|3yik0|Infinity\",\r\n offsets: \"256.8|240|180|120\",\r\n offsetIndices: \"01212121212121212121212121212121212121212123232323232321232\"\r\n }, {\r\n id: \"America/Argentina/Salta\",\r\n untils: \"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|7qcg40|3yik0|Infinity\",\r\n offsets: \"256.8|240|180|120\",\r\n offsetIndices: \"012121212121212121212121212121212121212121232323231323232\"\r\n }, {\r\n id: \"America/Argentina/San_Juan\",\r\n untils: \"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6qik0|3g880|8jbw0|6u7w0|bvus0|776k0|5v2840|2txg0|1sgak0|3yik0|Infinity\",\r\n offsets: \"256.8|240|180|120\",\r\n offsetIndices: \"012121212121212121212121212121212121212121232323231232321232\"\r\n }, {\r\n id: \"America/Argentina/San_Luis\",\r\n untils: \"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|7pp80|b2aw0|71mk0|4qg40|6s8ik0|2txg0|1sgak0|14nw0|2gys0|b5xg0|7k580|b5xg0|Infinity\",\r\n offsets: \"256.8|240|180|120\",\r\n offsetIndices: \"012121212121212121212121212121212121212121232323121212321212\"\r\n }, {\r\n id: \"America/Argentina/Tucuman\",\r\n untils: \"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|5v42s0|mas0|1um2k0|3yik0|b5xg0|7k580|Infinity\",\r\n offsets: \"256.8|240|180|120\",\r\n offsetIndices: \"0121212121212121212121212121212121212121212323232313232123232\"\r\n }, {\r\n id: \"America/Argentina/Ushuaia\",\r\n untils: \"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvus0|6u7w0|bvus0|776k0|5v0dg0|12ys0|1u93w0|3yik0|Infinity\",\r\n offsets: \"256.8|240|180|120\",\r\n offsetIndices: \"01212121212121212121212121212121212121212123232323232321232\"\r\n }, {\r\n id: \"America/Aruba\",\r\n untils: \"-u7lckd|rlo7qd|Infinity\",\r\n offsets: \"275.7833|270|240\",\r\n offsetIndices: \"012\"\r\n }, {\r\n id: \"America/Asuncion\",\r\n untils: \"-jy93zk|ldwofk|s4vw0|s6w40|7tek0|b0dg0|7rjw0|b0dg0|7rjw0|b0dg0|9cyk0|9eys0|9et80|9eys0|9cyk0|9eys0|9cyk0|9eys0|9cyk0|9eys0|9et80|9eys0|9cyk0|9eys0|9cyk0|9eys0|9cyk0|9eys0|9et80|9eys0|9cyk0|ahus0|8a2k0|9eys0|9cyk0|9o840|7k580|b7s40|93p80|9gtg0|7nuk0|b42s0|7lzw0|b5xg0|7tek0|b9ms0|776k0|biw40|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|9cyk0|7kas0|b5rw0|7x9g0|ast80|a31g0|7k580|b5xg0|7k580|b5xg0|7k580|biw40|776k0|biw40|776k0|biw40|8zzw0|905g0|9px80|905g0|9px80|9d440|8n180|a31g0|8n180|a31g0|8n180|a31g0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|a31g0|8n180|a31g0|8n180|a31g0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|a31g0|8n180|a31g0|8n180|a31g0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|a31g0|8n180|a31g0|8n180|a31g0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|a31g0|8n180|a31g0|8n180|a31g0|Infinity\",\r\n offsets: \"230.6667|240|180\",\r\n offsetIndices: \"012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212\"\r\n }, {\r\n id: \"America/Atikokan\",\r\n untils: \"-qzov40|a2vw0|bfxjw0|pmdk0|1tz8c0|2dsw0|Infinity\",\r\n offsets: \"360|300\",\r\n offsetIndices: \"0101111\"\r\n }, {\r\n id: \"America/Atka\",\r\n untils: \"-ek1nw0|1tyug0|2e6s0|b7yik0|12y080|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1l940|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"660|600|540\",\r\n offsetIndices: \"011001010101010101010101010101010111212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Bahia_Banderas\",\r\n untils: \"-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|591h80|3ie2s0|axvpg0|dpgw40|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|asqg0|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity\",\r\n offsets: \"421|420|360|480|300\",\r\n offsetIndices: \"0121212131212121212121212121212121212142424242424242424242424242424242424242424242424242424242\"\r\n }, {\r\n id: \"America/Bahia\",\r\n untils: \"-t85kv8|99kaf8|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|cyqs0|64ak0|cls40|5rbw0|dbpg0|51ek0|dbpg0|6h980|c8tg0|6h980|c8tg0|64ak0|c8tg0|6u7w0|bxpg0|7iak0|biw40|6u7w0|biw40|7k580|biw40|6u7w0|c8tg0|6h980|dbpg0|5ed80|4irc40|6u7w0|Infinity\",\r\n offsets: \"154.0667|180|120\",\r\n offsetIndices: \"01212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Barbados\",\r\n untils: \"-o0aiaj|46b400|npv1mj|5rbw0|a31g0|8n180|a31g0|8n180|ag040|84ik0|Infinity\",\r\n offsets: \"238.4833|240|180\",\r\n offsetIndices: \"00121212121\"\r\n }, {\r\n id: \"America/Belem\",\r\n untils: \"-t85j0s|99k8ks|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|Infinity\",\r\n offsets: \"193.9333|180|120\",\r\n offsetIndices: \"012121212121212121212121212121\"\r\n }, {\r\n id: \"America/Belize\",\r\n untils: \"-u52ic0|3edkc0|6ham0|c8s20|6u9a0|bvte0|6u9a0|bvte0|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|bvte0|6u9a0|bvte0|6u9a0|bvte0|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|bvte0|6u9a0|bvte0|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|bvte0|6u9a0|bvte0|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|bvte0|6u9a0|g2t2q0|3e580|4mcys0|2vmk0|Infinity\",\r\n offsets: \"352.8|360|330|300\",\r\n offsetIndices: \"01212121212121212121212121212121212121212121212121213131\"\r\n }, {\r\n id: \"America/Blanc-Sablon\",\r\n untils: \"-qzp0o0|a2vw0|c5jxg0|1tzdw0|2dnc0|Infinity\",\r\n offsets: \"240|180\",\r\n offsetIndices: \"010110\"\r\n }, {\r\n id: \"America/Boa_Vista\",\r\n untils: \"-t85grk|99k93k|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|62xk40|7k580|biw40|cvw0|Infinity\",\r\n offsets: \"242.6667|240|180\",\r\n offsetIndices: \"0121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Bogota\",\r\n untils: \"-srdoy8|14f1hi8|ha580|Infinity\",\r\n offsets: \"296.2667|300|240\",\r\n offsetIndices: \"0121\"\r\n }, {\r\n id: \"America/Boise\",\r\n untils: \"-r0emw0|ast80|7x9g0|ast80|1um840|9s7jw0|1tz5k0|2dvo0|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|51k40|doik0|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"480|420|360\",\r\n offsetIndices: \"0101012212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Buenos_Aires\",\r\n untils: \"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvus0|6u7w0|bvus0|776k0|7qcg40|3yik0|b5xg0|7k580|Infinity\",\r\n offsets: \"256.8|240|180|120\",\r\n offsetIndices: \"01212121212121212121212121212121212121212123232323232323232\"\r\n }, {\r\n id: \"America/Cambridge_Bay\",\r\n untils: \"-q3gdc0|bjeec0|1tz5k0|2dvo0|a7n3w0|9q000|7k85k0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x6o0|ast80|ct40|7kj40|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"0|420|360|300\",\r\n offsetIndices: \"0122131212121212121212121212121212121212121212233221212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Campo_Grande\",\r\n untils: \"-t85hvw|99ka7w|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|cyqs0|64ak0|cls40|5rbw0|dbpg0|51ek0|dbpg0|6h980|c8tg0|6h980|c8tg0|64ak0|c8tg0|6u7w0|bxpg0|7iak0|biw40|6u7w0|biw40|7k580|biw40|6u7w0|c8tg0|6h980|dbpg0|5ed80|cls40|64ak0|dfes0|5nmk0|c8tg0|6h980|dbpg0|5rbw0|bvus0|6h980|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6u7w0|c8tg0|64ak0|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6h980|c8tg0|6h980|dbpg0|5ed80|Infinity\",\r\n offsets: \"218.4667|240|180\",\r\n offsetIndices: \"01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Cancun\",\r\n untils: \"-p1u7c0|vauo00|7ggw40|afuk0|8a840|afuk0|8a840|64ak0|4bms0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|51k40|Infinity\",\r\n offsets: \"347.0667|360|300|240\",\r\n offsetIndices: \"0123232321212121212121212121212121212121212\"\r\n }, {\r\n id: \"America/Caracas\",\r\n untils: \"-u7lcxw|rlo83w|meoxm0|4dps00|Infinity\",\r\n offsets: \"267.6667|270|240\",\r\n offsetIndices: \"01212\"\r\n }, {\r\n id: \"America/Catamarca\",\r\n untils: \"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|5v42s0|z9g0|1u93w0|3yik0|Infinity\",\r\n offsets: \"256.8|240|180|120\",\r\n offsetIndices: \"01212121212121212121212121212121212121212123232323132321232\"\r\n }, {\r\n id: \"America/Cayenne\",\r\n untils: \"-uj7yb4|tcw6r4|Infinity\",\r\n offsets: \"209.3333|240|180\",\r\n offsetIndices: \"012\"\r\n }, {\r\n id: \"America/Cayman\",\r\n untils: \"-w757vc|Infinity\",\r\n offsets: \"319.6|300\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"America/Chicago\",\r\n untils: \"-r0esg0|ast80|7x9g0|ast80|bvus0|776k0|7kas0|b5rw0|9d440|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|7x9g0|dbjw0|8a840|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|6w840|1tz8c0|2dsw0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"360|300\",\r\n offsetIndices: \"01010101010101010101010101010101010101010101010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"America/Chihuahua\",\r\n untils: \"-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|xes2s0|afuk0|8a840|afuk0|8aaw0|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity\",\r\n offsets: \"424.3333|420|360|300\",\r\n offsetIndices: \"0121212323221212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Coral_Harbour\",\r\n untils: \"-qzov40|a2vw0|bfxjw0|pmdk0|1tz8c0|2dsw0|Infinity\",\r\n offsets: \"360|300\",\r\n offsetIndices: \"0101111\"\r\n }, {\r\n id: \"America/Cordoba\",\r\n untils: \"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|7qcg40|3yik0|b5xg0|7k580|Infinity\",\r\n offsets: \"256.8|240|180|120\",\r\n offsetIndices: \"01212121212121212121212121212121212121212123232323132323232\"\r\n }, {\r\n id: \"America/Costa_Rica\",\r\n untils: \"-pjw8fn|ubtl3n|51ek0|doo40|51ek0|5jso40|8drw0|acas0|2xh80|Infinity\",\r\n offsets: \"336.2167|360|300\",\r\n offsetIndices: \"0121212121\"\r\n }, {\r\n id: \"America/Creston\",\r\n untils: \"-rshz80|vbus0|Infinity\",\r\n offsets: \"420|480\",\r\n offsetIndices: \"010\"\r\n }, {\r\n id: \"America/Cuiaba\",\r\n untils: \"-t85hm4|99k9y4|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|cyqs0|64ak0|cls40|5rbw0|dbpg0|51ek0|dbpg0|6h980|c8tg0|6h980|c8tg0|64ak0|c8tg0|6u7w0|bxpg0|7iak0|biw40|6u7w0|biw40|7k580|biw40|6u7w0|c8tg0|6h980|dbpg0|5ed80|w5hg0|5nmk0|c8tg0|6h980|dbpg0|5rbw0|bvus0|6h980|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6u7w0|c8tg0|64ak0|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6h980|c8tg0|6h980|dbpg0|5ed80|Infinity\",\r\n offsets: \"224.3333|240|180\",\r\n offsetIndices: \"012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Curacao\",\r\n untils: \"-u7lckd|rlo7qd|Infinity\",\r\n offsets: \"275.7833|270|240\",\r\n offsetIndices: \"012\"\r\n }, {\r\n id: \"America/Danmarkshavn\",\r\n untils: \"-rvusjk|x8nx3k|8zrk0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|53hk0|Infinity\",\r\n offsets: \"74.6667|180|120|0\",\r\n offsetIndices: \"01212121212121212121212121212121213\"\r\n }, {\r\n id: \"America/Dawson_Creek\",\r\n untils: \"-qzopk0|a2vw0|c5jxg0|1tz2s0|2dyg0|tj1g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|69uk0|Infinity\",\r\n offsets: \"480|420\",\r\n offsetIndices: \"0101101010101010101010101010101010101010101010101010101011\"\r\n }, {\r\n id: \"America/Dawson\",\r\n untils: \"-qzoms0|a2vw0|asys0|882c0|bmiwc0|1tz000|2e180|a7n3w0|9q000|465k00|3e2is0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|Infinity\",\r\n offsets: \"540|480|420\",\r\n offsetIndices: \"01010110201212121212121212121212121212121212121212121212121212121212121212121212121212121212\"\r\n }, {\r\n id: \"America/Denver\",\r\n untils: \"-r0epo0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|2vmk0|ataw40|1tz5k0|2dvo0|a7n9g0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"420|360\",\r\n offsetIndices: \"01010101011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"America/Detroit\",\r\n untils: \"-xx8dyd|5eraud|dyeyk0|1tzb40|2dq40|1c9440|7x3w0|9rlbxo|71s2c|9d440|9cyk0|2cmdg0|9cyk0|3lpg0|f4d80|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"332.1833|360|300|240\",\r\n offsetIndices: \"0123323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"\r\n }, {\r\n id: \"America/Dominica\",\r\n untils: \"-u6m79w|Infinity\",\r\n offsets: \"246.0667|240\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"America/Edmonton\",\r\n untils: \"-x1yazk|629ink|a2vw0|8n6s0|29ek0|h6lg0|9px80|905g0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|9l0g40|1tz5k0|2dvo0|tj1g0|7x3w0|ctzk40|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"453.8667|420|360\",\r\n offsetIndices: \"0121212121212122121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Eirunepe\",\r\n untils: \"-t85f28|99ka68|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|2yy2s0|6h980|7hg2s0|2t2t80|Infinity\",\r\n offsets: \"279.4667|300|240\",\r\n offsetIndices: \"0121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/El_Salvador\",\r\n untils: \"-pkm4tc|ymao5c|7k580|b5xg0|7k580|Infinity\",\r\n offsets: \"356.8|360|300\",\r\n offsetIndices: \"012121\"\r\n }, {\r\n id: \"America/Ensenada\",\r\n untils: \"-p1u1s0|11jrw0|1sns00|1sgdc0|71s40|9cyk0|5iidg0|1q6700|4lfk0|190g40|eluk0|2r4o80|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|84qys0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|77c40|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"468.0667|420|480\",\r\n offsetIndices: \"012121211212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212\"\r\n }, {\r\n id: \"America/Fort_Nelson\",\r\n untils: \"-qzopk0|a2vw0|c5jxg0|1tz2s0|2dyg0|tj1g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|Infinity\",\r\n offsets: \"480|420\",\r\n offsetIndices: \"01011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101\"\r\n }, {\r\n id: \"America/Fort_Wayne\",\r\n untils: \"-r0esg0|ast80|7x9g0|ast80|baw840|51ek0|6w840|1tz8c0|2dsw0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|19q7w0|asys0|5qonw0|9cyk0|9d440|9cyk0|ihslg0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"360|300|240\",\r\n offsetIndices: \"010101011010101010101010101010121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Fortaleza\",\r\n untils: \"-t85kvc|99kafc|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|514g40|7k580|biw40|puk0|id6s0|6h980|Infinity\",\r\n offsets: \"154|180|120\",\r\n offsetIndices: \"0121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Glace_Bay\",\r\n untils: \"-z94kwc|89fk8c|a2vw0|c5jxg0|1tzdw0|2dnc0|3y8g40|7x3w0|9pa5g0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"239.8|240|180\",\r\n offsetIndices: \"012122121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Godthab\",\r\n untils: \"-rvumf4|x8nqz4|8zrk0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"206.9333|180|120\",\r\n offsetIndices: \"0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Goose_Bay\",\r\n untils: \"-qzp20k|a2vw0|8kjbw0|kzjyk|7k580|b5xg0|7k580|b5xg0|7k580|biw40|776k0|biw40|7k580|b5xg0|7k580|b5xg0|1pb260|2dly0|biw40|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|biw40|7k580|ag040|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|6y2s0|22420|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a2lo|afuk0|8a840|asqg0|7xc80|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8tec|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"210.8667|150.8667|210|150|240|180|120\",\r\n offsetIndices: \"010232323232323233232323232323232323232323232323232323232324545454545454545454545454545454545454545454546454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454\"\r\n }, {\r\n id: \"America/Grand_Turk\",\r\n untils: \"-u85og2|z3brw2|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|18ais0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"307.1667|300|240\",\r\n offsetIndices: \"01212121212121212121212121212121212121212121212121212121212121212121212121222121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Grenada\",\r\n untils: \"-u6m79w|Infinity\",\r\n offsets: \"246.0667|240\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"America/Guadeloupe\",\r\n untils: \"-u6m79w|Infinity\",\r\n offsets: \"246.0667|240\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"America/Guatemala\",\r\n untils: \"-qqqskk|ss0akk|4ofw0|4tidg0|6djw0|3wwas0|8n180|7n5ms0|7x3w0|Infinity\",\r\n offsets: \"362.0667|360|300\",\r\n offsetIndices: \"0121212121\"\r\n }, {\r\n id: \"America/Guayaquil\",\r\n untils: \"-kcr84o|wb620o|3jp80|Infinity\",\r\n offsets: \"314|300|240\",\r\n offsetIndices: \"0121\"\r\n }, {\r\n id: \"America/Guyana\",\r\n untils: \"-smcak8|vj4sz8|81rf90|Infinity\",\r\n offsets: \"232.6667|225|180|240\",\r\n offsetIndices: \"0123\"\r\n }, {\r\n id: \"America/Halifax\",\r\n untils: \"-z94k80|777go0|9et80|st9o0|a2vw0|ssyk0|5rbw0|cv1g0|69uk0|c6ys0|6kyk0|ci2s0|67zw0|ci2s0|6w2k0|bu040|7lzw0|bu040|66580|bu040|7lzw0|bu040|64ak0|cls40|5v180|cv1g0|6j3w0|c6ys0|79180|b42s0|7lzw0|b42s0|7yyk0|bu040|64ak0|dbpg0|66580|cls40|5ed80|bu040|7lzw0|b42s0|7lzw0|cjxg0|66580|bh1g0|7lzw0|b42s0|7lzw0|6uj00|1tzdw0|2dnc0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|tw040|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|tw040|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|1cm2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"254.4|240|180\",\r\n offsetIndices: \"0121212121212121212121212121212121212121212121212122121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Havana\",\r\n untils: \"-n7762o|1icfyo|69uk0|62s040|4ofw0|e1ms0|51ek0|e1ms0|4ofw0|1fhs40|4ofw0|e1ms0|4ofw0|9s9k40|67zw0|cedg0|6h980|9o840|7yyk0|b5xg0|7k580|bvus0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|8a2k0|ag040|8bx80|ae5g0|8drw0|acas0|9cyk0|9d440|9px80|905g0|9px80|9q2s0|7x3w0|8a840|ast80|7x9g0|ast80|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|8a2k0|ag040|8a2k0|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|905g0|a2vw0|905g0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|8n400|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|7x6o0|1cm000|6uao0|bvs00|779c0|bitc0|6uao0|bvs00|779c0|bvs00|779c0|c8qo0|779c0|b5uo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|Infinity\",\r\n offsets: \"329.6|300|240\",\r\n offsetIndices: \"012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Hermosillo\",\r\n untils: \"-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|591h80|3ie2s0|axvpg0|dpgw40|afuk0|8a840|afuk0|8a840|afuk0|Infinity\",\r\n offsets: \"443.8667|420|360|480\",\r\n offsetIndices: \"0121212131212121\"\r\n }, {\r\n id: \"America/Indiana/Indianapolis\",\r\n untils: \"-r0esg0|ast80|7x9g0|ast80|baw840|51ek0|6w840|1tz8c0|2dsw0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|19q7w0|asys0|5qonw0|9cyk0|9d440|9cyk0|ihslg0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"360|300|240\",\r\n offsetIndices: \"010101011010101010101010101010121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Indiana/Knox\",\r\n untils: \"-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|tj1g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|7x3w0|asys0|7x3w0|asys0|9cyk0|9d440|9px80|9d440|9cyk0|9d440|s3180|1twas0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|7j5400|asw00|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"360|300\",\r\n offsetIndices: \"0101011010101010101010101010101010101010101010101010101010101010101010101010101010101010111010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"America/Indiana/Marengo\",\r\n untils: \"-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|2wsas0|7x3w0|1c9440|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|465h80|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4g00|64dc0|clmk0|fvt9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"360|300|240\",\r\n offsetIndices: \"0101011010101010101010101212121212111212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Indiana/Petersburg\",\r\n untils: \"-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|501ek0|7kas0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|sfzw0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|eu02o0|asw00|6udg0|c8nw0|6hc00|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"360|300|240\",\r\n offsetIndices: \"01010110101010101010101010101010101010101010101010111011212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Indiana/Tell_City\",\r\n untils: \"-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|501ek0|7kas0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|1tw580|9d440|9cyk0|9d440|9cvs0|9d440|9cyk0|ihslg0|asw00|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"360|300|240\",\r\n offsetIndices: \"01010110101010101010101010101021211010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"America/Indiana/Vevay\",\r\n untils: \"-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|4gyis0|7txx80|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|hfzhg0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"360|300|240\",\r\n offsetIndices: \"010101101212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Indiana/Vincennes\",\r\n untils: \"-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|asys0|7x3w0|3fidg0|7x3w0|asys0|7x3w0|b5rw0|7kas0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|7k580|b5xg0|9cyk0|9d440|9cyk0|9d440|2lz980|9cyk0|9d440|9cyk0|ihslg0|asw00|6udg0|c8nw0|6hc00|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"360|300|240\",\r\n offsetIndices: \"01010110101010101010101010101010121211011212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Indiana/Winamac\",\r\n untils: \"-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|465h80|9cyk0|9d440|9cyk0|ihslg0|asw00|6udg0|c8l40|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"360|300|240\",\r\n offsetIndices: \"01010110101010101010101010101010101010121211021212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Indianapolis\",\r\n untils: \"-r0esg0|ast80|7x9g0|ast80|baw840|51ek0|6w840|1tz8c0|2dsw0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|19q7w0|asys0|5qonw0|9cyk0|9d440|9cyk0|ihslg0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"360|300|240\",\r\n offsetIndices: \"010101011010101010101010101010121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Inuvik\",\r\n untils: \"-8ve5c0|6fce80|9q000|71i2w0|ipzw0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"0|480|360|420\",\r\n offsetIndices: \"0121323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323\"\r\n }, {\r\n id: \"America/Iqaluit\",\r\n untils: \"-eb6ao0|1l3h80|2dq40|a7n3w0|9q000|7k85k0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7xc80|ast80|7x6o0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"0|240|300|180|360\",\r\n offsetIndices: \"01123212121212121212121212121212121212121212142212121212121212121212121212121212121212121212121212121212121212121212121212\"\r\n }, {\r\n id: \"America/Jamaica\",\r\n untils: \"-u85og2|wbl182|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|Infinity\",\r\n offsets: \"307.1667|300|240\",\r\n offsetIndices: \"0121212121212121212121\"\r\n }, {\r\n id: \"America/Jujuy\",\r\n untils: \"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|c8w80|776k0|ag040|7k2g0|bvus0|776k0|7qcg40|3yik0|Infinity\",\r\n offsets: \"256.8|240|180|120\",\r\n offsetIndices: \"012121212121212121212121212121212121212121232323121323232\"\r\n }, {\r\n id: \"America/Juneau\",\r\n untils: \"-ek1w80|1tz2s0|2dyg0|cawis0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9d1c0|9d1c0|9cyk0|9d440|9px80|905g0|9px80|1leo0|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"480|420|540\",\r\n offsetIndices: \"01101010101010101010101010001010122020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202\"\r\n }, {\r\n id: \"America/Kentucky/Louisville\",\r\n untils: \"-r0esg0|ast80|7x9g0|ast80|sg5g0|6bp80|a98o40|7x3w0|6w840|1tz8c0|2dsw0|ast9o|1sw2c|21gis0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|4bh80|3j3xc0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4g00|64dc0|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"360|300|240\",\r\n offsetIndices: \"0101010101101010101010101010101010101121212121212111212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Kentucky/Monticello\",\r\n untils: \"-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|bs6g40|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x6o0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"360|300|240\",\r\n offsetIndices: \"0101011010101010101010101010101010101010101010101010101010101010101010101121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Knox_IN\",\r\n untils: \"-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|tj1g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|7x3w0|asys0|7x3w0|asys0|9cyk0|9d440|9px80|9d440|9cyk0|9d440|s3180|1twas0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|7j5400|asw00|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"360|300\",\r\n offsetIndices: \"0101011010101010101010101010101010101010101010101010101010101010101010101010101010101010111010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"America/Kralendijk\",\r\n untils: \"-u7lckd|rlo7qd|Infinity\",\r\n offsets: \"275.7833|270|240\",\r\n offsetIndices: \"012\"\r\n }, {\r\n id: \"America/La_Paz\",\r\n untils: \"-jxzspo|84ik0|Infinity\",\r\n offsets: \"272.6|212.6|240\",\r\n offsetIndices: \"012\"\r\n }, {\r\n id: \"America/Lima\",\r\n untils: \"-w25lpo|fcxjlo|4ml80|93us0|9cyk0|9d440|9cyk0|nw16s0|4ml80|e5c40|4ml80|1fr1g0|4ml80|1yiys0|4ml80|Infinity\",\r\n offsets: \"308.6|300|240\",\r\n offsetIndices: \"0121212121212121\"\r\n }, {\r\n id: \"America/Los_Angeles\",\r\n untils: \"-r0emw0|ast80|7x9g0|ast80|bmtus0|1tz2s0|2dyg0|1a3c5o|f2iic|owao0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|9q000|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"480|420\",\r\n offsetIndices: \"010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"America/Louisville\",\r\n untils: \"-r0esg0|ast80|7x9g0|ast80|sg5g0|6bp80|a98o40|7x3w0|6w840|1tz8c0|2dsw0|ast9o|1sw2c|21gis0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|4bh80|3j3xc0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4g00|64dc0|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"360|300|240\",\r\n offsetIndices: \"0101010101101010101010101010101010101121212121212111212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Lower_Princes\",\r\n untils: \"-u7lckd|rlo7qd|Infinity\",\r\n offsets: \"275.7833|270|240\",\r\n offsetIndices: \"012\"\r\n }, {\r\n id: \"America/Maceio\",\r\n untils: \"-t85ldw|99kaxw|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|2yl440|64ak0|1wf1g0|7k580|biw40|puk0|id6s0|6h980|Infinity\",\r\n offsets: \"142.8667|180|120\",\r\n offsetIndices: \"012121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Managua\",\r\n untils: \"-ijh6oo|ka1i0o|xqqk0|24p6s0|53980|dmtg0|53980|60itw0|dq240|53es0|235h80|4beis0|8zzw0|at4c0|7x140|Infinity\",\r\n offsets: \"345.2|360|300\",\r\n offsetIndices: \"0121212121212121\"\r\n }, {\r\n id: \"America/Manaus\",\r\n untils: \"-t85gvw|99k97w|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|2yy2s0|6h980|Infinity\",\r\n offsets: \"240.0667|240|180\",\r\n offsetIndices: \"01212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Marigot\",\r\n untils: \"-u6m79w|Infinity\",\r\n offsets: \"246.0667|240\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"America/Martinique\",\r\n untils: \"-umcvcs|zz5x4s|8zzw0|Infinity\",\r\n offsets: \"244.3333|240|180\",\r\n offsetIndices: \"0121\"\r\n }, {\r\n id: \"America/Matamoros\",\r\n untils: \"-p1u7c0|ykt480|ast80|3vppg0|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|77c40|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"400|360|300\",\r\n offsetIndices: \"0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Mazatlan\",\r\n untils: \"-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|591h80|3ie2s0|axvpg0|dpgw40|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity\",\r\n offsets: \"425.6667|420|360|480\",\r\n offsetIndices: \"0121212131212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Mendoza\",\r\n untils: \"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bktk0|71mk0|bqas0|73h80|bvus0|773s0|5unes0|6hes0|1p7mk0|3yik0|Infinity\",\r\n offsets: \"256.8|240|180|120\",\r\n offsetIndices: \"01212121212121212121212121212121212121212123232312121321232\"\r\n }, {\r\n id: \"America/Menominee\",\r\n untils: \"-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|asys0|7x3w0|a7n9g0|9px80|1at9g0|2396k0|9d1c0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"360|300\",\r\n offsetIndices: \"01010110101011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"America/Merida\",\r\n untils: \"-p1u7c0|vauo00|hoyk0|6ys0c0|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity\",\r\n offsets: \"358.4667|360|300\",\r\n offsetIndices: \"0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Metlakatla\",\r\n untils: \"-ek1w80|1tz2s0|2dyg0|cawis0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|gpc840|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|3ylc0|2itg0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"480|420|540\",\r\n offsetIndices: \"01101010101010101010101010101010102020200202020202020202020202020202020202020202\"\r\n }, {\r\n id: \"America/Mexico_City\",\r\n untils: \"-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|3knek0|776k0|rf440|5t6k0|1evk40|71mk0|30p1g0|8n180|nufxo0|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity\",\r\n offsets: \"396.6|420|360|300\",\r\n offsetIndices: \"012121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"\r\n }, {\r\n id: \"America/Miquelon\",\r\n untils: \"-ulmyxk|zzqbdk|3m59g0|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"224.6667|240|180|120\",\r\n offsetIndices: \"012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"\r\n }, {\r\n id: \"America/Moncton\",\r\n untils: \"-z94i40|89fhg0|a2vw0|7mqqo0|4ofw0|e1ms0|4ofw0|e1ms0|4ofw0|e1ms0|4ofw0|e1ms0|4ofw0|e1ms0|4ofw0|dmtg0|64ak0|cao40|6fek0|bkqs0|7iak0|6y5k0|1tzdw0|2dnc0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|s36s0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a2lo|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6uiyc|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"300|240|180\",\r\n offsetIndices: \"012121212121212121212122121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Monterrey\",\r\n untils: \"-p1u7c0|ykt480|ast80|3vppg0|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity\",\r\n offsets: \"401.2667|360|300\",\r\n offsetIndices: \"0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Montevideo\",\r\n untils: \"-w4mll9|67elc0|1s74p9|9et80|9exe0|9czy0|9exe0|9czy0|3ydyq0|7x5a0|asxe0|7x5a0|asxe0|7x5a0|asxe0|7x5a0|b5w20|7k6m0|b5w20|7k6m0|9q1e0|9czy0|asxe0|7x5a0|6do20|ppvy0|4mmm0|8g9qq0|901a0|38pe0|2inw0|2nf9g0|8zzw0|1e3s40|9o3y0|q8he0|2kik0|yxhg0|4bh80|s36s0|2vl60|905g0|5rg20|51ek0|weqs0|3yik0|e1ms0|4ofw0|erk40|3yik0|2vs40|gk7w0|41iys0|3wnw0|erk40|4bh80|c8tg0|64ak0|c8tg0|6u7w0|c8tg0|6h980|bvus0|6u7w0|614qs0|9q2s0|a31g0|7x3w0|ag040|8a2k0|asys0|7x3w0|asys0|7x3w0|asys0|8a2k0|ag040|8a2k0|ag040|8a2k0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|Infinity\",\r\n offsets: \"224.85|240|180|210|150|120|90\",\r\n offsetIndices: \"001232323232323232323232324242525242525264252525252525252525252525252525252525252525252\"\r\n }, {\r\n id: \"America/Montreal\",\r\n untils: \"-qzoxw0|a2vw0|7yx60|aqzy0|9q8c0|7jzo0|bw0c0|6bp80|cedg0|6h980|c8tg0|6h980|bvus0|776k0|biw40|776k0|biw40|776k0|biw40|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|xjeo0|1tzb40|2dq40|asys0|7x3w0|ast80|7x3w0|asys0|7x3w0|asys0|b5rw0|7xf00|ast80|7x9g0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"300|240\",\r\n offsetIndices: \"01010101010101010101010101010101010101010101011101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"America/Montserrat\",\r\n untils: \"-u6m79w|Infinity\",\r\n offsets: \"246.0667|240\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"America/Nassau\",\r\n untils: \"-u6m4c6|r7u7s6|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"309.5|300|240\",\r\n offsetIndices: \"012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/New_York\",\r\n untils: \"-r0ev80|ast80|7x9g0|ast80|7x9g0|b5rw0|905g0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|6w840|1tzb40|2dq40|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"300|240\",\r\n offsetIndices: \"01010101010101010101010101010101010101010101010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"America/Nipigon\",\r\n untils: \"-qzoxw0|a2vw0|bfxjw0|pmdk0|1tzb40|2dq40|ewvus0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"300|240\",\r\n offsetIndices: \"010111010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"America/Nome\",\r\n untils: \"-ek1nw0|1tyug0|2e6s0|b7yik0|12y080|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1l6c0|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"660|600|540|480\",\r\n offsetIndices: \"011001010101010101010101010101010122323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"\r\n }, {\r\n id: \"America/Noronha\",\r\n untils: \"-t85lzw|99k8rw|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|514g40|7k580|biw40|cvw0|iq5g0|6h980|Infinity\",\r\n offsets: \"129.6667|120|60\",\r\n offsetIndices: \"0121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/North_Dakota/Beulah\",\r\n untils: \"-r0epo0|ast80|7x9g0|ast80|bmtus0|1tz5k0|2dvo0|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hc00|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"420|360|300\",\r\n offsetIndices: \"010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101011212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/North_Dakota/Center\",\r\n untils: \"-r0epo0|ast80|7x9g0|ast80|bmtus0|1tz5k0|2dvo0|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a5c0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"420|360|300\",\r\n offsetIndices: \"010101101010101010101010101010101010101010101010101010101011212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/North_Dakota/New_Salem\",\r\n untils: \"-r0epo0|ast80|7x9g0|ast80|bmtus0|1tz5k0|2dvo0|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a5c0|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"420|360|300\",\r\n offsetIndices: \"010101101010101010101010101010101010101010101010101010101010101010101010101010101121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Nuuk\",\r\n untils: \"-rvumf4|x8nqz4|8zrk0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"206.9333|180|120\",\r\n offsetIndices: \"0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Ojinaga\",\r\n untils: \"-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|xes2s0|afuk0|8a840|afuk0|8aaw0|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|77c40|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"417.6667|420|360|300\",\r\n offsetIndices: \"0121212323221212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Panama\",\r\n untils: \"-w757vc|Infinity\",\r\n offsets: \"319.6|300\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"America/Pangnirtung\",\r\n untils: \"-pkmlc0|b0ke00|1tzdw0|2dnc0|a7n3w0|9q000|7k85k0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|asw00|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7xc80|ast80|7x6o0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"0|240|180|120|300|360\",\r\n offsetIndices: \"012213121212121212121212121212121212114141414154414141414141414141414141414141414141414141414141414141414141414141414141414\"\r\n }, {\r\n id: \"America/Paramaribo\",\r\n untils: \"-usj4g8|cixc0c|5lydbk|kcrm6c|Infinity\",\r\n offsets: \"220.6667|220.8667|220.6|210|180\",\r\n offsetIndices: \"01234\"\r\n }, {\r\n id: \"America/Phoenix\",\r\n untils: \"-r0epo0|ast80|7x9g0|ast80|bmtus0|zjedo|4olg0|9et80|bs6lmc|9cyk0|Infinity\",\r\n offsets: \"420|360\",\r\n offsetIndices: \"01010101010\"\r\n }, {\r\n id: \"America/Port_of_Spain\",\r\n untils: \"-u6m79w|Infinity\",\r\n offsets: \"246.0667|240\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"America/Port-au-Prince\",\r\n untils: \"-rmk9ac|ylcf6c|8zzw0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8aaw0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|3vpjw0|ast80|7x9g0|ast80|2stv00|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|pkg40|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"289|300|240\",\r\n offsetIndices: \"01212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Porto_Acre\",\r\n untils: \"-t85fg0|99kak0|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|amves0|2t2t80|Infinity\",\r\n offsets: \"271.2|300|240\",\r\n offsetIndices: \"01212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Porto_Velho\",\r\n untils: \"-t85g60|99k8i0|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|Infinity\",\r\n offsets: \"255.6|240|180\",\r\n offsetIndices: \"012121212121212121212121212121\"\r\n }, {\r\n id: \"America/Puerto_Rico\",\r\n untils: \"-efsnk0|1ppu40|2dnc0|Infinity\",\r\n offsets: \"240|180\",\r\n offsetIndices: \"0110\"\r\n }, {\r\n id: \"America/Punta_Arenas\",\r\n untils: \"-vauawq|3dlssq|157b7a|f4e0q|49hzba|aye0q|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|534ik0|351g0|2fnh80|2mg00|b73400|7k580|c8tg0|6h980|a31g0|7x3w0|asys0|7x3w0|b5xg0|7k580|ag040|8a2k0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|9cyk0|9d440|7x3w0|asys0|7x3w0|b5xg0|7k580|9q2s0|8zzw0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|a31g0|9px80|9q2s0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|asys0|8zzw0|9q2s0|ast80|5eis0|cyl80|6hes0|c8nw0|6udg0|bvp80|6udg0|vonw0|4olg0|Infinity\",\r\n offsets: \"282.7667|300|240|180\",\r\n offsetIndices: \"0102021212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323\"\r\n }, {\r\n id: \"America/Rainy_River\",\r\n untils: \"-qzov40|a2vw0|bfxjw0|pmdk0|1tz8c0|2dsw0|ewvus0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"360|300\",\r\n offsetIndices: \"010111010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"America/Rankin_Inlet\",\r\n untils: \"-6s8lc0|4c6oo0|9q000|7k85k0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"0|360|240|300\",\r\n offsetIndices: \"012131313131313131313131313131313131313131313331313131313131313131313131313131313131313131313131313131313131313131313131\"\r\n }, {\r\n id: \"America/Recife\",\r\n untils: \"-t85ljc|99kb3c|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|514g40|7k580|biw40|cvw0|iq5g0|6h980|Infinity\",\r\n offsets: \"139.6|180|120\",\r\n offsetIndices: \"0121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Regina\",\r\n untils: \"-xkq9yc|6l1hmc|a2vw0|60enw0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|1b6840|9cyk0|9d440|8zzw0|9q2s0|9cyk0|9q2s0|9cyk0|9d440|9cyk0|66gc0|1tz5k0|2dvo0|a31g0|9cyk0|a31g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|tj1g0|9cyk0|9d440|Infinity\",\r\n offsets: \"418.6|420|360\",\r\n offsetIndices: \"012121212121212121212121221212121212121212121212121212\"\r\n }, {\r\n id: \"America/Resolute\",\r\n untils: \"-bnp9c0|97nco0|9q000|7k85k0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"0|360|240|300\",\r\n offsetIndices: \"012131313131313131313131313131313131313131313331313131313331313131313131313131313131313131313131313131313131313131313131\"\r\n }, {\r\n id: \"America/Rio_Branco\",\r\n untils: \"-t85fg0|99kak0|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|amves0|2t2t80|Infinity\",\r\n offsets: \"271.2|300|240\",\r\n offsetIndices: \"01212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Rosario\",\r\n untils: \"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|7qcg40|3yik0|b5xg0|7k580|Infinity\",\r\n offsets: \"256.8|240|180|120\",\r\n offsetIndices: \"01212121212121212121212121212121212121212123232323132323232\"\r\n }, {\r\n id: \"America/Santa_Isabel\",\r\n untils: \"-p1u1s0|11jrw0|1sns00|1sgdc0|71s40|9cyk0|5iidg0|1q6700|4lfk0|190g40|eluk0|2r4o80|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|84qys0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|77c40|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"468.0667|420|480\",\r\n offsetIndices: \"012121211212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212\"\r\n }, {\r\n id: \"America/Santarem\",\r\n untils: \"-t85hvc|99ka7c|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|amves0|Infinity\",\r\n offsets: \"218.8|240|180\",\r\n offsetIndices: \"0121212121212121212121212121212\"\r\n }, {\r\n id: \"America/Santiago\",\r\n untils: \"-vauawq|3dlssq|157b7a|f4e0q|49hzba|aye0q|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|534ik0|351g0|229zw0|2gt80|awo40|2mg00|b73400|7k580|c8tg0|6h980|a31g0|7x3w0|asys0|7x3w0|b5xg0|7k580|ag040|8a2k0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|9cyk0|9d440|7x3w0|asys0|7x3w0|b5xg0|7k580|9q2s0|8zzw0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|a31g0|9px80|9q2s0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|asys0|8zzw0|9q2s0|ast80|5eis0|cyl80|6hes0|c8nw0|6udg0|bvp80|6udg0|vonw0|4olg0|e1h80|4olg0|e1h80|4olg0|c8nw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|Infinity\",\r\n offsets: \"282.7667|300|240|180\",\r\n offsetIndices: \"010202121212121212321232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323\"\r\n }, {\r\n id: \"America/Santo_Domingo\",\r\n untils: \"-j6hz1c|hiw29c|67zw0|1dy840|62ha0|cnle0|4h2m0|elyq0|47ta0|ei9e0|4bim0|eek20|4dda0|ecpe0|dkmtg0|1stc0|Infinity\",\r\n offsets: \"280|300|240|270\",\r\n offsetIndices: \"01213131313131212\"\r\n }, {\r\n id: \"America/Sao_Paulo\",\r\n untils: \"-t85jd8|99k8x8|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5k02s0|6onw0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|cyqs0|64ak0|cls40|5rbw0|dbpg0|51ek0|dbpg0|6h980|c8tg0|6h980|c8tg0|64ak0|c8tg0|6u7w0|bxpg0|7iak0|biw40|6u7w0|biw40|7k580|biw40|6u7w0|c8tg0|6h980|dbpg0|5ed80|cls40|64ak0|dfes0|5nmk0|c8tg0|6h980|dbpg0|5rbw0|bvus0|6h980|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6u7w0|c8tg0|64ak0|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6h980|c8tg0|6h980|dbpg0|5ed80|Infinity\",\r\n offsets: \"186.4667|180|120\",\r\n offsetIndices: \"01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Scoresbysund\",\r\n untils: \"-rvurxk|x8ntpk|902o0|9cvs0|9cyk0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"87.8667|120|60|0\",\r\n offsetIndices: \"0121323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"\r\n }, {\r\n id: \"America/Shiprock\",\r\n untils: \"-r0epo0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|2vmk0|ataw40|1tz5k0|2dvo0|a7n9g0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"420|360\",\r\n offsetIndices: \"01010101011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"America/Sitka\",\r\n untils: \"-ek1w80|1tz2s0|2dyg0|cawis0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1leo0|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"480|420|540\",\r\n offsetIndices: \"01101010101010101010101010101010122020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202\"\r\n }, {\r\n id: \"America/St_Barthelemy\",\r\n untils: \"-u6m79w|Infinity\",\r\n offsets: \"246.0667|240\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"America/St_Johns\",\r\n untils: \"-ris3ck|8bx80|ar440|a2vw0|9tjs0|53980|dkys0|9cyk0|9d440|9cyk0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|9cyk0|9d440|9cyk0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|9cyk0|9q2s0|8zzw0|9q2s0|8zzw0|7tmw0|1wfuk|8zzw0|a3480|7k580|b5xg0|7k580|b5xg0|7k580|biw40|776k0|biw40|7k580|b5xg0|7k580|b5xg0|1pb260|2dly0|biw40|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|biw40|7k580|ag040|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a2lo|afuk0|8a840|asqg0|7xc80|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8tec|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"210.8667|150.8667|210|150|90\",\r\n offsetIndices: \"01010101010101010101010101010101010102323232323232323323232323232323232323232323232323232323232323232323232323232323232323232323232323232324232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"\r\n }, {\r\n id: \"America/St_Kitts\",\r\n untils: \"-u6m79w|Infinity\",\r\n offsets: \"246.0667|240\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"America/St_Lucia\",\r\n untils: \"-u6m79w|Infinity\",\r\n offsets: \"246.0667|240\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"America/St_Thomas\",\r\n untils: \"-u6m79w|Infinity\",\r\n offsets: \"246.0667|240\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"America/St_Vincent\",\r\n untils: \"-u6m79w|Infinity\",\r\n offsets: \"246.0667|240\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"America/Swift_Current\",\r\n untils: \"-xkq9d4|6l1h14|a2vw0|c5jxg0|1tz5k0|2dvo0|asys0|8n180|a31g0|7x3w0|asys0|7x3w0|asys0|7x3w0|3yles0|9cyk0|s36s0|9cyk0|9d440|7x3w0|b5xg0|7k580|5j4lg0|Infinity\",\r\n offsets: \"431.3333|420|360\",\r\n offsetIndices: \"012122121212121212121212\"\r\n }, {\r\n id: \"America/Tegucigalpa\",\r\n untils: \"-pfzh6k|yho0ik|7k580|b5xg0|7k580|96x1g0|4qak0|Infinity\",\r\n offsets: \"348.8667|360|300\",\r\n offsetIndices: \"01212121\"\r\n }, {\r\n id: \"America/Thule\",\r\n untils: \"-rvuj9g|12yzilg|9cyk0|9d440|9cyk0|9q2s0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"275.1333|240|180\",\r\n offsetIndices: \"012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Thunder_Bay\",\r\n untils: \"-vbavc0|gr8qs0|1tzb40|2dq40|ctmlg0|9cyk0|9d440|9px80|9d440|9cyk0|s36s0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"360|300|240\",\r\n offsetIndices: \"0122121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"America/Tijuana\",\r\n untils: \"-p1u1s0|11jrw0|1sns00|1sgdc0|71s40|9cyk0|5iidg0|1q6700|4lfk0|190g40|eluk0|2r4o80|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|84qys0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|77c40|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"468.0667|420|480\",\r\n offsetIndices: \"012121211212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212\"\r\n }, {\r\n id: \"America/Toronto\",\r\n untils: \"-qzoxw0|a2vw0|7yx60|aqzy0|9q8c0|7jzo0|bw0c0|6bp80|cedg0|6h980|c8tg0|6h980|bvus0|776k0|biw40|776k0|biw40|776k0|biw40|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|xjeo0|1tzb40|2dq40|asys0|7x3w0|ast80|7x3w0|asys0|7x3w0|asys0|b5rw0|7xf00|ast80|7x9g0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"300|240\",\r\n offsetIndices: \"01010101010101010101010101010101010101010101011101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"America/Tortola\",\r\n untils: \"-u6m79w|Infinity\",\r\n offsets: \"246.0667|240\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"America/Vancouver\",\r\n untils: \"-qzopk0|a2vw0|c5jxg0|1tz2s0|2dyg0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"480|420\",\r\n offsetIndices: \"0101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"America/Virgin\",\r\n untils: \"-u6m79w|Infinity\",\r\n offsets: \"246.0667|240\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"America/Whitehorse\",\r\n untils: \"-qzoms0|a2vw0|asys0|882c0|bmiwc0|1tz000|2e180|a7n3w0|9q000|tiyo0|6qp440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|Infinity\",\r\n offsets: \"540|480|420\",\r\n offsetIndices: \"01010110201212121212121212121212121212121212121212121212121212121212121212121212121212121212\"\r\n }, {\r\n id: \"America/Winnipeg\",\r\n untils: \"-s0s7c0|7k580|tj700|a2vw0|9ok840|6u7w0|2a5hg0|1tz8c0|2dsw0|biw40|7x3w0|a31g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b7s40|7tek0|autg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9cyk0|9d440|7x3w0|1cm2s0|7k580|1cm2s0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"360|300\",\r\n offsetIndices: \"010101011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"America/Yakutat\",\r\n untils: \"-ek1tg0|1tz000|2e180|cawis0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1lbw0|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"540|480\",\r\n offsetIndices: \"01101010101010101010101010101010100101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"America/Yellowknife\",\r\n untils: \"-i9m2o0|3pk3o0|1tz5k0|2dvo0|a7n3w0|9q000|7k85k0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"0|420|360|300\",\r\n offsetIndices: \"012213121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Antarctica/Casey\",\r\n untils: \"-irxc0|lag4o0|73bo0|uz1o0|60l80|2fnh80|pz9g0|Infinity\",\r\n offsets: \"0|-480|-660\",\r\n offsetIndices: \"01212121\"\r\n }, {\r\n id: \"Antarctica/Davis\",\r\n untils: \"-6rmdc0|42jdw0|27wgs0|l8uss0|7eqs0|unmk0|60qs0|Infinity\",\r\n offsets: \"0|-420|-300\",\r\n offsetIndices: \"01012121\"\r\n }, {\r\n id: \"Antarctica/DumontDUrville\",\r\n untils: \"-c05eo0|2mks80|2i72g0|Infinity\",\r\n offsets: \"0|-600\",\r\n offsetIndices: \"0101\"\r\n }, {\r\n id: \"Antarctica/Macquarie\",\r\n untils: \"-rsj4w0|8zzw0|11wqk0|f4kh40|a6p8g0|9d1c0|asw00|6uao0|bvs00|6uao0|bvs00|779c0|bvs00|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|b5uo0|7k800|b5uo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|bvs00|7k800|bitc0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x6o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|7x6o0|asw00|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|Infinity\",\r\n offsets: \"-600|-660|0\",\r\n offsetIndices: \"0102010101010101010101010101010101010101010101010101010101010101010101010101010101010101011\"\r\n }, {\r\n id: \"Antarctica/Mawson\",\r\n untils: \"-8aelc0|t22y80|Infinity\",\r\n offsets: \"0|-360|-300\",\r\n offsetIndices: \"012\"\r\n }, {\r\n id: \"Antarctica/McMurdo\",\r\n untils: \"-m01p20|64ak0|biw40|7x5a0|asxe0|7x5a0|asxe0|7x5a0|asxe0|8a3y0|afyq0|8a3y0|afyq0|afvy0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|b5ta0|7k9e0|b5ta0|7x820|hsl2m0|5reo0|clpc0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|b5uo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|Infinity\",\r\n offsets: \"-690|-750|-720|-780\",\r\n offsetIndices: \"01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323\"\r\n }, {\r\n id: \"Antarctica/Palmer\",\r\n untils: \"-2lxhc0|31ho0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|46b6s0|8c2s0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|9cyk0|9d440|7x3w0|asys0|7x3w0|b5xg0|7k580|9q2s0|8zzw0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|a31g0|9px80|9q2s0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|asys0|8zzw0|9q2s0|ast80|5eis0|cyl80|6hes0|c8nw0|6udg0|bvp80|6udg0|vonw0|4olg0|Infinity\",\r\n offsets: \"0|180|240|120\",\r\n offsetIndices: \"0121212121213121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Antarctica/Rothera\",\r\n untils: \"3lxs00|Infinity\",\r\n offsets: \"0|180\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Antarctica/South_Pole\",\r\n untils: \"-m01p20|64ak0|biw40|7x5a0|asxe0|7x5a0|asxe0|7x5a0|asxe0|8a3y0|afyq0|8a3y0|afyq0|afvy0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|b5ta0|7k9e0|b5ta0|7x820|hsl2m0|5reo0|clpc0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|b5uo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|Infinity\",\r\n offsets: \"-690|-750|-720|-780\",\r\n offsetIndices: \"01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323\"\r\n }, {\r\n id: \"Antarctica/Syowa\",\r\n untils: \"-6qsqo0|Infinity\",\r\n offsets: \"0|-180\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Antarctica/Troll\",\r\n untils: \"ibruo0|27pg0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"0|-120\",\r\n offsetIndices: \"00101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Antarctica/Vostok\",\r\n untils: \"-6aaao0|Infinity\",\r\n offsets: \"0|-360\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Arctic/Longyearbyen\",\r\n untils: \"-rzayo0|6qfs0|cgcqo0|15tsc0|7k800|9q000|9d1c0|9d1c0|9d1c0|9d1c0|70q5c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|b5uo0|7k800|7law00|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-60|-120\",\r\n offsetIndices: \"010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Asia/Aden\",\r\n untils: \"-bwgbbg|Infinity\",\r\n offsets: \"-186.8667|-180\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Asia/Almaty\",\r\n untils: \"-nu1a90|37a0d0|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|Infinity\",\r\n offsets: \"-307.8|-300|-360|-420\",\r\n offsetIndices: \"012323232323232323232321232323232323232323232323232\"\r\n }, {\r\n id: \"Asia/Amman\",\r\n untils: \"-kcrtbk|m566fk|60l80|awo40|7v980|awo40|7v980|ayis0|9gnw0|9b9g0|7v980|autg0|7v980|3e6840|9et80|9io40|9cyk0|9d440|9cyk0|9d440|9px80|ayis0|7rjw0|ag040|8a2k0|9zc40|8drw0|a31g0|8zzw0|9d440|9cyk0|9d440|8n180|ag040|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|epmo0|4deo0|9o5c0|9ew00|9b6o0|9ew00|9d1c0|9d1c0|9d1c0|asw00|7x6o0|afxc0|8n400|9d1c0|9d1c0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|wel80|51k40|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|Infinity\",\r\n offsets: \"-143.7333|-120|-180\",\r\n offsetIndices: \"0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Asia/Anadyr\",\r\n untils: \"-nu1sv8|379zj8|qi27w0|9et80|is040|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|j3440|7k800|Infinity\",\r\n offsets: \"-709.9333|-720|-780|-840|-660\",\r\n offsetIndices: \"01232121212121212121214121212121212121212121212121212121212141\"\r\n }, {\r\n id: \"Asia/Aqtau\",\r\n untils: \"-nu15b4|379y74|qrh3w0|iruk0|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|Infinity\",\r\n offsets: \"-201.0667|-240|-300|-360\",\r\n offsetIndices: \"012323232323232323232123232312121212121212121212\"\r\n }, {\r\n id: \"Asia/Aqtobe\",\r\n untils: \"-nu16l4|379zh4|qi27w0|s6qk0|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|Infinity\",\r\n offsets: \"-228.6667|-240|-300|-360\",\r\n offsetIndices: \"0123232323232323232321232323232323232323232323232\"\r\n }, {\r\n id: \"Asia/Ashgabat\",\r\n untils: \"-nu16t8|379zp8|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|Infinity\",\r\n offsets: \"-233.5333|-240|-300|-360\",\r\n offsetIndices: \"0123232323232323232323212\"\r\n }, {\r\n id: \"Asia/Ashkhabad\",\r\n untils: \"-nu16t8|379zp8|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|Infinity\",\r\n offsets: \"-233.5333|-240|-300|-360\",\r\n offsetIndices: \"0123232323232323232323212\"\r\n }, {\r\n id: \"Asia/Atyrau\",\r\n untils: \"-nu15m8|37a1a8|qrh140|iruk0|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|j3440|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|Infinity\",\r\n offsets: \"-207.7333|-180|-300|-360|-240\",\r\n offsetIndices: \"01232323232323232323242323232323232324242424242\"\r\n }, {\r\n id: \"Asia/Baghdad\",\r\n untils: \"-r50g80|xkn3w0|7v980|9b9g0|9gnw0|9eys0|9et80|9d440|9b9g0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9f1k0|9ew00|9ew00|9ew00|9d1c0|9ew00|9d1c0|9ew00|9d1c0|9ew00|9ew00|9ew00|9d1c0|9ew00|9d1c0|9ew00|9d1c0|9ew00|9ew00|9ew00|9d1c0|9ew00|9d1c0|9ew00|9d1c0|9ew00|9ew00|9ew00|9d1c0|9ew00|9d1c0|9ew00|9d1c0|9ew00|Infinity\",\r\n offsets: \"-177.6|-180|-240\",\r\n offsetIndices: \"012121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Asia/Bahrain\",\r\n untils: \"-q3gmvk|rctnrk|Infinity\",\r\n offsets: \"-206.1333|-240|-180\",\r\n offsetIndices: \"012\"\r\n }, {\r\n id: \"Asia/Baku\",\r\n untils: \"-nu158c|h4tkwc|ckinw0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|9d1c0|239ew0|asw00|7x3w0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-199.4|-180|-240|-300\",\r\n offsetIndices: \"01232323232323232323232123232323232323232323232323232323232323232\"\r\n }, {\r\n id: \"Asia/Bangkok\",\r\n untils: \"-pysda4|Infinity\",\r\n offsets: \"-402.0667|-420\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Asia/Barnaul\",\r\n untils: \"-q4ljic|5hu6uc|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|38fo0|64og0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|qnc40|Infinity\",\r\n offsets: \"-335|-360|-420|-480\",\r\n offsetIndices: \"0123232323232323232323212323232321212121212121212121212121212121212\"\r\n }, {\r\n id: \"Asia/Beirut\",\r\n untils: \"-pyzew0|aunw0|88dg0|9et80|8yas0|a2vw0|a31g0|7k580|hjqo40|7v980|awo40|7v980|awo40|7v980|ayis0|7v980|awo40|7v980|5lhs40|56yk0|awo40|7v980|awo40|7v980|awo40|7v980|ayis0|7v980|awo40|7v980|autg0|7v980|2wxus0|8n180|a4w40|8n180|a4w40|8n180|a4w40|8n180|bs5g0|71mk0|alk40|86d80|a4w40|8n180|a4w40|8n180|a6qs0|80t80|905g0|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|Infinity\",\r\n offsets: \"-120|-180\",\r\n offsetIndices: \"010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Asia/Bishkek\",\r\n untils: \"-nu19tc|379zxc|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|h8dc0|bkl80|8n180|a31g0|8n180|a31g0|8n180|a31g0|8n180|a31g0|8zzw0|9db20|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|Infinity\",\r\n offsets: \"-298.4|-300|-360|-420\",\r\n offsetIndices: \"012323232323232323232321212121212121212121212121212\"\r\n }, {\r\n id: \"Asia/Brunei\",\r\n untils: \"-mvofy4|3khxs4|Infinity\",\r\n offsets: \"-459.6667|-450|-480\",\r\n offsetIndices: \"012\"\r\n }, {\r\n id: \"Asia/Calcutta\",\r\n untils: \"-xehava|innm9a|bmfw0|5lxg0|1mn180|Infinity\",\r\n offsets: \"-321.1667|-330|-390\",\r\n offsetIndices: \"012121\"\r\n }, {\r\n id: \"Asia/Chita\",\r\n untils: \"-q4cfog|5hkxgg|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|qnew0|Infinity\",\r\n offsets: \"-453.8667|-480|-540|-600\",\r\n offsetIndices: \"012323232323232323232321232323232323232323232323232323232323232312\"\r\n }, {\r\n id: \"Asia/Choibalsan\",\r\n untils: \"-xmct7c|11sndrc|2qk2k0|9eqg0|9eys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|1ckdo0|7x3w0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|s6qk0|3nc0c0|9ct00|9d9o0|9ct00|Infinity\",\r\n offsets: \"-458|-420|-480|-600|-540\",\r\n offsetIndices: \"0123434343434343434343434343434343434343434343424242\"\r\n }, {\r\n id: \"Asia/Chongqing\",\r\n untils: \"-qh00w0|8sl80|asbpg0|6w2k0|7ves0|bxjw0|4mqs0|1vduk0|d4as0|75bw0|a31g0|aaak0|9d440|7v980|awo40|1dx80|j9xpo0|6u7w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|Infinity\",\r\n offsets: \"-480|-540\",\r\n offsetIndices: \"01010101010101010101010101010\"\r\n }, {\r\n id: \"Asia/Chungking\",\r\n untils: \"-qh00w0|8sl80|asbpg0|6w2k0|7ves0|bxjw0|4mqs0|1vduk0|d4as0|75bw0|a31g0|aaak0|9d440|7v980|awo40|1dx80|j9xpo0|6u7w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|Infinity\",\r\n offsets: \"-480|-540\",\r\n offsetIndices: \"01010101010101010101010101010\"\r\n }, {\r\n id: \"Asia/Colombo\",\r\n untils: \"-xehask|isle6k|cajy0|1mp2u0|qetjw0|7x5a0|4xvqq0|Infinity\",\r\n offsets: \"-319.5333|-330|-360|-390\",\r\n offsetIndices: \"01231321\"\r\n }, {\r\n id: \"Asia/Dacca\",\r\n untils: \"-eqtpow|bmgyw|5lxg0|4qknw0|u4ijy0|a1400|Infinity\",\r\n offsets: \"-353.3333|-390|-330|-360|-420\",\r\n offsetIndices: \"0121343\"\r\n }, {\r\n id: \"Asia/Damascus\",\r\n untils: \"-q3gk20|5k6q0|8n180|a31g0|8n180|a31g0|8n180|a31g0|8zzw0|k4hk40|7yyk0|awo40|7tek0|b0dg0|7v980|awo40|7tek0|alk40|887w0|awo40|7v980|ayis0|7v980|awo40|7v980|awo40|7v980|awo40|7v980|ayis0|7v980|awo40|7v980|awo40|7v980|awo40|7v980|ayis0|7v980|awo40|6bp80|cg840|6bp80|2eh1g0|8zzw0|9ts40|8zzw0|pvk40|c33w0|7cw40|cjrw0|6zxg0|btuk0|7rpg0|9gnw0|9d440|9cyk0|9et80|9et80|9rxg0|91uk0|92040|9et80|9o840|9et80|9d440|9et80|9eys0|9et80|9b9g0|9gnw0|99es0|9iik0|9d440|9et80|9eys0|9et80|9d440|9et80|9d440|9et80|9d440|9et80|9eys0|9et80|9d440|9et80|9d440|8y580|9q2s0|b5rw0|7x9g0|aunw0|7ig40|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|Infinity\",\r\n offsets: \"-145.2|-120|-180\",\r\n offsetIndices: \"01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Asia/Dhaka\",\r\n untils: \"-eqtpow|bmgyw|5lxg0|4qknw0|u4ijy0|a1400|Infinity\",\r\n offsets: \"-353.3333|-390|-330|-360|-420\",\r\n offsetIndices: \"0121343\"\r\n }, {\r\n id: \"Asia/Dili\",\r\n untils: \"-u9s4l8|fqcu98|hufs00|cpz440|Infinity\",\r\n offsets: \"-502.3333|-480|-540\",\r\n offsetIndices: \"01212\"\r\n }, {\r\n id: \"Asia/Dubai\",\r\n untils: \"-q3gnko|Infinity\",\r\n offsets: \"-221.2|-240\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Asia/Dushanbe\",\r\n untils: \"-nu18qo|379yuo|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|hp440|Infinity\",\r\n offsets: \"-275.2|-300|-360|-420\",\r\n offsetIndices: \"012323232323232323232321\"\r\n }, {\r\n id: \"Asia/Famagusta\",\r\n untils: \"-p4bqac|rvhy2c|9cyk0|b42s0|7nuk0|8yas0|8zzw0|9q2s0|9et80|9b9g0|9cyk0|9q2s0|8zzw0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|at4c0|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|8h8w0|leog0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-135.8|-120|-180\",\r\n offsetIndices: \"0121212121212121212121212121212121212121212121212121212121212121212121212121212121212212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Asia/Gaza\",\r\n untils: \"-ffv9k0|19f3w0|7rv00|b02c0|7tk40|b07w0|8jhg0|a8lg0|8jhg0|a8ac0|5hoqs0|7el80|awo40|7v980|awqw0|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7tk40|ayd80|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7ves0|awik0|1sns0|3p6is0|51ek0|9q2s0|6u7w0|2khpg0|25s00|1weyo0|5reo0|bxmo0|7x3w0|cls40|5rbw0|bbhg0|7rjw0|asys0|7k580|c8tg0|6h980|ag040|7x3w0|asys0|8a2k0|asys0|8a2k0|ap9g0|80t80|ap9g0|7nuk0|b2840|80t80|66as0|4vxc0|8n400|a2yo0|8n400|a2yo0|8n400|asw00|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|8n400|a2yo0|8ulg0|97ek0|8y580|9ts40|8hms0|a4qk0|7x3w0|asys0|8a5c0|ahs1o|71mic|bzk5o|69uic|cg840|902o0|9q000|9cyk0|9d440|ast80|7z440|aqyk0|7z6w0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7vc00|auqo0|7vc00|b7pc0|7idc0|b7pc0|7idc0|b7pc0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|b7pc0|7idc0|b7pc0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|b7pc0|7idc0|b7pc0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|b7pc0|Infinity\",\r\n offsets: \"-120|-180\",\r\n offsetIndices: \"0101010101010101010101010101010101010101010101010101010101010100101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Asia/Harbin\",\r\n untils: \"-qh00w0|8sl80|asbpg0|6w2k0|7ves0|bxjw0|4mqs0|1vduk0|d4as0|75bw0|a31g0|aaak0|9d440|7v980|awo40|1dx80|j9xpo0|6u7w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|Infinity\",\r\n offsets: \"-480|-540\",\r\n offsetIndices: \"01010101010101010101010101010\"\r\n }, {\r\n id: \"Asia/Hebron\",\r\n untils: \"-ffv9k0|19f3w0|7rv00|b02c0|7tk40|b07w0|8jhg0|a8lg0|8jhg0|a8ac0|5hoqs0|7el80|awo40|7v980|awqw0|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7tk40|ayd80|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7ves0|awik0|1sns0|3p6is0|51ek0|9q2s0|6u7w0|2khpg0|25s00|1weyo0|5reo0|bxmo0|7x3w0|cls40|5rbw0|bbhg0|7rjw0|asys0|7k580|c8tg0|6h980|ag040|7x3w0|asys0|8a2k0|asys0|8a2k0|ap9g0|80t80|ap9g0|7nuk0|b2840|80t80|66as0|4vxc0|8n400|a2yo0|8n400|a2yo0|8n400|asw00|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|8n400|a2yo0|8ulg0|97ek0|8y580|9ts40|8hms0|a4qk0|82nw0|anes0|8a5c0|afxc0|73h80|bzk5o|69uic|1hs40|1lbw0|9d440|902o0|9q000|9cyk0|9d440|ast80|7z440|aqyk0|7z6w0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7vc00|auqo0|7vc00|b7pc0|7idc0|b7pc0|7idc0|b7pc0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|b7pc0|7idc0|b7pc0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|b7pc0|7idc0|b7pc0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|b7pc0|Infinity\",\r\n offsets: \"-120|-180\",\r\n offsetIndices: \"010101010101010101010101010101010101010101010101010101010101010010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Asia/Ho_Chi_Minh\",\r\n untils: \"-x56934|2isioa|gj25iu|15ct80|8so00|tmtk0|4azjw0|2cmao0|8285c0|Infinity\",\r\n offsets: \"-426.6667|-426.5|-420|-480|-540\",\r\n offsetIndices: \"0123423232\"\r\n }, {\r\n id: \"Asia/Hong_Kong\",\r\n untils: \"-y0i0s0|j44dk0|5k000|4d4y0|2195i0|7x3w0|bj320|6uao0|bvs00|7x6o0|9d1c0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|ast80|77c40|biqk0|77c40|bvp80|6udg0|bvp80|77c40|biqk0|77c40|biqk0|77c40|biqk0|77c40|bvp80|6udg0|bvp80|6udg0|bvp80|77c40|biqk0|77c40|biqk0|8n6s0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|3lpg0|f4d80|9d440|9cyk0|9d440|9cyk0|1c9440|8a2k0|Infinity\",\r\n offsets: \"-456.7|-480|-540|-510\",\r\n offsetIndices: \"0123212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Asia/Hovd\",\r\n untils: \"-xmcoz0|11sncb0|2qk2k0|9et80|9eys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|1ckdo0|7x3w0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|4fio40|9ct00|9d9o0|9ct00|Infinity\",\r\n offsets: \"-366.6|-360|-420|-480\",\r\n offsetIndices: \"012323232323232323232323232323232323232323232323232\"\r\n }, {\r\n id: \"Asia/Irkutsk\",\r\n untils: \"-q28gn5|5fh175|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity\",\r\n offsets: \"-417.0833|-420|-480|-540\",\r\n offsetIndices: \"01232323232323232323232123232323232323232323232323232323232323232\"\r\n }, {\r\n id: \"Asia/Istanbul\",\r\n untils: \"-ux9xew|2wvx6w|7v980|1tjc40|aunw0|88dg0|9et80|8yas0|a2vw0|tzpg0|79180|awo40|7v980|7p4040|4zjw0|2vs40|f4d80|9vms0|1u5ek0|c5440|69uk0|acas0|8n180|a31g0|8n180|9q2s0|8zzw0|a31g0|8zzw0|a31g0|8n180|5md9g0|o9zw0|a6qs0|75bw0|4iwyw0|7x6o0|7kas0|b5rw0|75hg0|bkl80|77c40|biqk0|7x9g0|a2vw0|8n6s0|4iqc0|2nkw80|38l80|kdes0|8qtc0|8a5c0|9ew00|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|902o0|9q000|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7kdk0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7m2o0|b4000|7k800|b5uo0|7x6o0|asw00|7z1c0|ar1c0|7x6o0|bitc0|779c0|8fe80|Infinity\",\r\n offsets: \"-116.9333|-120|-180|-240\",\r\n offsetIndices: \"0121212121212121212121212121212121212121212121223212121212121212121212121212121212121212121212121212121212121212122\"\r\n }, {\r\n id: \"Asia/Jakarta\",\r\n untils: \"-o0bdpc|4lzxc0|4wdzjc|1tu960|1cx860|11jta0|74uc20|Infinity\",\r\n offsets: \"-427.2|-440|-450|-540|-480|-420\",\r\n offsetIndices: \"01232425\"\r\n }, {\r\n id: \"Asia/Jayapura\",\r\n untils: \"-jebm20|66bqe0|a37vy0|Infinity\",\r\n offsets: \"-562.8|-540|-570\",\r\n offsetIndices: \"0121\"\r\n }, {\r\n id: \"Asia/Jerusalem\",\r\n untils: \"-r50eig|bp54yg|19f3w0|7rv00|b02c0|7tk40|b07w0|8jhg0|a8lg0|8jhg0|a8ac0|t9s40|56vs0|35700|9b3w0|9gtg0|8jbw0|7tmw0|a6ig0|biyw0|8a5c0|9d1c0|902o0|7x6o0|e1eg0|4ofw0|dzxo0|4q500|doo40|64iw0|auqo0|7i500|8rfms0|51ek0|9q2s0|6u7w0|2khpg0|25s00|1weyo0|5reo0|bxmo0|7x3w0|cls40|5rbw0|bbhg0|7rjw0|asys0|7k580|c8tg0|6h980|ag040|7x3w0|asys0|8a2k0|asys0|8a2k0|ap9g0|80t80|ap9g0|7nuk0|b2840|80t80|9zc40|9iik0|9kis0|93p80|9mdg0|8qqk0|apf00|7x3w0|biw40|8zx40|9io40|8n180|9kis0|9vh80|8ulg0|9px80|9mdg0|8n180|9tuw0|9tmk0|8wg40|9gnw0|99es0|8qqk0|9zc40|9tmk0|8wg40|9gnw0|99es0|8qqk0|acas0|9gnw0|99es0|93p80|9mdg0|awik0|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|Infinity\",\r\n offsets: \"-140.6667|-120|-180|-240\",\r\n offsetIndices: \"012121212121321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Asia/Kabul\",\r\n untils: \"-d1pkg0|Infinity\",\r\n offsets: \"-240|-270\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Asia/Kamchatka\",\r\n untils: \"-olrupo|3z045o|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|j3440|7k800|Infinity\",\r\n offsets: \"-634.6|-660|-720|-780\",\r\n offsetIndices: \"012323232323232323232321232323232323232323232323232323232323212\"\r\n }, {\r\n id: \"Asia/Karachi\",\r\n untils: \"-wvpb30|im3zt0|1mn180|33xpg0|a63o20|g72qo0|9cyk0|2y85g0|7v980|8hms0|aaak0|Infinity\",\r\n offsets: \"-268.2|-330|-390|-300|-360\",\r\n offsetIndices: \"012133434343\"\r\n }, {\r\n id: \"Asia/Kashgar\",\r\n untils: \"-lx5pjw|Infinity\",\r\n offsets: \"-350.3333|-360\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Asia/Kathmandu\",\r\n untils: \"-q3gt4s|yg2lus|Infinity\",\r\n offsets: \"-341.2667|-330|-345\",\r\n offsetIndices: \"012\"\r\n }, {\r\n id: \"Asia/Katmandu\",\r\n untils: \"-q3gt4s|yg2lus|Infinity\",\r\n offsets: \"-341.2667|-330|-345\",\r\n offsetIndices: \"012\"\r\n }, {\r\n id: \"Asia/Khandyga\",\r\n untils: \"-q4cjrp|5hl1jp|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|3fx40|4h6s0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|8ql00|1mlho0|Infinity\",\r\n offsets: \"-542.2167|-480|-540|-600|-660\",\r\n offsetIndices: \"0123232323232323232323212323232323232323232323232343434343434343432\"\r\n }, {\r\n id: \"Asia/Kolkata\",\r\n untils: \"-xehava|innm9a|bmfw0|5lxg0|1mn180|Infinity\",\r\n offsets: \"-321.1667|-330|-390\",\r\n offsetIndices: \"012121\"\r\n }, {\r\n id: \"Asia/Krasnoyarsk\",\r\n untils: \"-q37l72|5gg8j2|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity\",\r\n offsets: \"-371.4333|-360|-420|-480\",\r\n offsetIndices: \"01232323232323232323232123232323232323232323232323232323232323232\"\r\n }, {\r\n id: \"Asia/Kuala_Lumpur\",\r\n untils: \"-xphpwd|eeb94d|4it32o|8n3jc|1v2p60|iy3o60|Infinity\",\r\n offsets: \"-415.4167|-420|-440|-450|-540|-480\",\r\n offsetIndices: \"0123435\"\r\n }, {\r\n id: \"Asia/Kuching\",\r\n untils: \"-mvof3k|3khwxk|1epvy0|4ohqo|e5a9c|4ohqo|e3flc|4ohqo|e3flc|4ohqo|e3flc|4ohqo|e5a9c|4ohqo|e3flc|4ohqo|3ajlc|1v2qk0|Infinity\",\r\n offsets: \"-441.3333|-450|-480|-500|-540\",\r\n offsetIndices: \"0123232323232323242\"\r\n }, {\r\n id: \"Asia/Kuwait\",\r\n untils: \"-bwgbbg|Infinity\",\r\n offsets: \"-186.8667|-180\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Asia/Macao\",\r\n untils: \"-y0i2cy|jdvyoy|6onw0|ac580|8fs40|7v980|11luw0|awlc0|7vc00|ac800|bko00|7x6o0|9d1c0|7vc00|asw00|7x6o0|asw00|7x6o0|auqo0|88ao0|asw00|7x6o0|asw00|779c0|bitc0|779c0|bvs00|6uao0|bw1q0|77c40|biqk0|77c40|biqk0|77c40|biqk0|77c40|bvp80|6udg0|bvp80|6udg0|bvp80|77c40|biqk0|77c40|biqk0|8n6s0|9cvs0|9d6w0|9cvs0|9d6w0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|3lpg0|f4d80|9d440|9cyk0|9d440|9cyk0|1c9440|8a2k0|Infinity\",\r\n offsets: \"-454.1667|-480|-540|-600\",\r\n offsetIndices: \"012323212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Asia/Macau\",\r\n untils: \"-y0i2cy|jdvyoy|6onw0|ac580|8fs40|7v980|11luw0|awlc0|7vc00|ac800|bko00|7x6o0|9d1c0|7vc00|asw00|7x6o0|asw00|7x6o0|auqo0|88ao0|asw00|7x6o0|asw00|779c0|bitc0|779c0|bvs00|6uao0|bw1q0|77c40|biqk0|77c40|biqk0|77c40|biqk0|77c40|bvp80|6udg0|bvp80|6udg0|bvp80|77c40|biqk0|77c40|biqk0|8n6s0|9cvs0|9d6w0|9cvs0|9d6w0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|3lpg0|f4d80|9d440|9cyk0|9d440|9cyk0|1c9440|8a2k0|Infinity\",\r\n offsets: \"-454.1667|-480|-540|-600\",\r\n offsetIndices: \"012323212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Asia/Magadan\",\r\n untils: \"-nu1nxc|37a05c|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|s39k0|Infinity\",\r\n offsets: \"-603.2|-600|-660|-720\",\r\n offsetIndices: \"012323232323232323232321232323232323232323232323232323232323232312\"\r\n }, {\r\n id: \"Asia/Makassar\",\r\n untils: \"-q3gzg0|6p5hc0|4u87w0|1w02k0|Infinity\",\r\n offsets: \"-477.6|-480|-540\",\r\n offsetIndices: \"00121\"\r\n }, {\r\n id: \"Asia/Manila\",\r\n untils: \"-hb5y80|4qak0|2qidg0|1b2d80|4xf440|442k0|cdqdg0|9et80|Infinity\",\r\n offsets: \"-480|-540\",\r\n offsetIndices: \"010101010\"\r\n }, {\r\n id: \"Asia/Muscat\",\r\n untils: \"-q3gnko|Infinity\",\r\n offsets: \"-221.2|-240\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Asia/Nicosia\",\r\n untils: \"-p4bq6g|rvhxyg|9cyk0|b42s0|7nuk0|8yas0|8zzw0|9q2s0|9et80|9b9g0|9cyk0|9q2s0|8zzw0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|at4c0|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-133.4667|-120|-180\",\r\n offsetIndices: \"01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Asia/Novokuznetsk\",\r\n untils: \"-nu36tc|37bu5c|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|j3440|7k800|Infinity\",\r\n offsets: \"-348.8|-360|-420|-480\",\r\n offsetIndices: \"012323232323232323232321232323232323232323232323232323232323212\"\r\n }, {\r\n id: \"Asia/Novosibirsk\",\r\n untils: \"-q4do0s|5hmbcs|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|2vh00|6hn40|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|wrpg0|Infinity\",\r\n offsets: \"-331.6667|-360|-420|-480\",\r\n offsetIndices: \"0123232323232323232323212323212121212121212121212121212121212121212\"\r\n }, {\r\n id: \"Asia/Omsk\",\r\n untils: \"-q5xmx6|5j6d16|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity\",\r\n offsets: \"-293.5|-300|-360|-420\",\r\n offsetIndices: \"01232323232323232323232123232323232323232323232323232323232323232\"\r\n }, {\r\n id: \"Asia/Oral\",\r\n untils: \"-nu15ic|37a16c|qi2540|s6qk0|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|iq5g0|9d1c0|9q000|9d1c0|9d1c0|5reo0|cyo00|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|Infinity\",\r\n offsets: \"-205.4|-180|-300|-360|-240\",\r\n offsetIndices: \"01232323232323232424242424242424242424242424242\"\r\n }, {\r\n id: \"Asia/Phnom_Penh\",\r\n untils: \"-pysda4|Infinity\",\r\n offsets: \"-402.0667|-420\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Asia/Pontianak\",\r\n untils: \"-w6piww|cse2o0|4tnu2w|1wkei0|1cx860|11jta0|74uc20|cixam0|Infinity\",\r\n offsets: \"-437.3333|-450|-540|-480|-420\",\r\n offsetIndices: \"001213134\"\r\n }, {\r\n id: \"Asia/Pyongyang\",\r\n untils: \"-w895yc|1yh10c|hk5da0|10ipmo0|1f4qo0|Infinity\",\r\n offsets: \"-503|-510|-540\",\r\n offsetIndices: \"012212\"\r\n }, {\r\n id: \"Asia/Qatar\",\r\n untils: \"-q3gmvk|rctnrk|Infinity\",\r\n offsets: \"-206.1333|-240|-180\",\r\n offsetIndices: \"012\"\r\n }, {\r\n id: \"Asia/Qostanay\",\r\n untils: \"-nu17s4|37a0o4|qi27w0|s6qk0|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|Infinity\",\r\n offsets: \"-254.4667|-240|-300|-360\",\r\n offsetIndices: \"012323232323232323232123232323232323232323232323\"\r\n }, {\r\n id: \"Asia/Qyzylorda\",\r\n untils: \"-nu184g|37a10g|qi27w0|s6qk0|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|ohhc0|cyo00|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|7osl00|Infinity\",\r\n offsets: \"-261.8667|-240|-300|-360\",\r\n offsetIndices: \"01232323232323232323232323232323232323232323232\"\r\n }, {\r\n id: \"Asia/Rangoon\",\r\n untils: \"-q3gv5b|bnjp3b|1kh520|Infinity\",\r\n offsets: \"-384.7833|-390|-540\",\r\n offsetIndices: \"0121\"\r\n }, {\r\n id: \"Asia/Riyadh\",\r\n untils: \"-bwgbbg|Infinity\",\r\n offsets: \"-186.8667|-180\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Asia/Saigon\",\r\n untils: \"-x56934|2isioa|gj25iu|15ct80|8so00|tmtk0|4azjw0|2cmao0|8285c0|Infinity\",\r\n offsets: \"-426.6667|-426.5|-420|-480|-540\",\r\n offsetIndices: \"0123423232\"\r\n }, {\r\n id: \"Asia/Sakhalin\",\r\n untils: \"-xl87rc|kvnarc|ikvh40|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|iq5g0|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|qnc40|Infinity\",\r\n offsets: \"-570.8|-540|-660|-720|-600\",\r\n offsetIndices: \"01232323232323232323232423232323232424242424242424242424242424242\"\r\n }, {\r\n id: \"Asia/Samarkand\",\r\n untils: \"-nu18eh|37a1ah|qi27w0|s6qk0|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|Infinity\",\r\n offsets: \"-267.8833|-240|-300|-360\",\r\n offsetIndices: \"01232323232323232323232\"\r\n }, {\r\n id: \"Asia/Seoul\",\r\n untils: \"-w8966g|1yh18g|hkx5a0|1faao0|5cik0|ae5g0|8a2k0|ae5g0|8bx80|c8tg0|6h980|1bj6s0|l3aq0|6j3w0|d2g40|6u7w0|b5xg0|776k0|biw40|776k0|biw40|776k0|biw40|776k0|grs40|dfqxi0|7x6o0|asw00|7x6o0|Infinity\",\r\n offsets: \"-507.8667|-510|-540|-600|-570\",\r\n offsetIndices: \"012232323232141414141414123232\"\r\n }, {\r\n id: \"Asia/Shanghai\",\r\n untils: \"-qh00w0|8sl80|asbpg0|6w2k0|7ves0|bxjw0|4mqs0|1vduk0|d4as0|75bw0|a31g0|aaak0|9d440|7v980|awo40|1dx80|j9xpo0|6u7w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|Infinity\",\r\n offsets: \"-480|-540\",\r\n offsetIndices: \"01010101010101010101010101010\"\r\n }, {\r\n id: \"Asia/Singapore\",\r\n untils: \"-xphpwd|eeb94d|4it32o|8n3jc|1v2p60|iy3o60|Infinity\",\r\n offsets: \"-415.4167|-420|-440|-450|-540|-480\",\r\n offsetIndices: \"0123435\"\r\n }, {\r\n id: \"Asia/Srednekolymsk\",\r\n untils: \"-nu1ogs|37a0os|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity\",\r\n offsets: \"-614.8667|-600|-660|-720\",\r\n offsetIndices: \"01232323232323232323232123232323232323232323232323232323232323232\"\r\n }, {\r\n id: \"Asia/Taipei\",\r\n untils: \"-gtzfk0|45slc0|c51c0|75bw0|a31g0|aaak0|9d440|7v980|awo40|7v980|awo40|7v980|awo40|7v980|7tk40|clmk0|7rpg0|b07w0|7rpg0|b07w0|7rpg0|9et80|9eys0|9et80|9d440|9et80|9d440|9et80|9d440|9et80|cjxg0|69uk0|ci2s0|69uk0|6its40|9et80|9d440|9et80|1yf9g0|4qak0|Infinity\",\r\n offsets: \"-480|-540\",\r\n offsetIndices: \"01010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Asia/Tashkent\",\r\n untils: \"-nu18tz|379yxz|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|Infinity\",\r\n offsets: \"-277.1833|-300|-360|-420\",\r\n offsetIndices: \"012323232323232323232321\"\r\n }, {\r\n id: \"Asia/Tbilisi\",\r\n untils: \"-nu14an|h4tjyn|ckinw0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|9cvs0|9cyk0|9d440|9cyk0|9d440|ipzw0|9cyk0|9q2s0|tivw0|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|4ofw0|6hn40|7k800|Infinity\",\r\n offsets: \"-179.1833|-180|-240|-300\",\r\n offsetIndices: \"0123232323232323232323212121232323232323232323212\"\r\n }, {\r\n id: \"Asia/Tehran\",\r\n untils: \"-s6m6uw|fnolc0|gm3h4w|777y0|b07w0|3pes0|42c20|9cyk0|9gtg0|9kd80|5ja5g0|7avw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|1av440|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|Infinity\",\r\n offsets: \"-205.7333|-210|-240|-300|-270\",\r\n offsetIndices: \"00123214141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141\"\r\n }, {\r\n id: \"Asia/Tel_Aviv\",\r\n untils: \"-r50eig|bp54yg|19f3w0|7rv00|b02c0|7tk40|b07w0|8jhg0|a8lg0|8jhg0|a8ac0|t9s40|56vs0|35700|9b3w0|9gtg0|8jbw0|7tmw0|a6ig0|biyw0|8a5c0|9d1c0|902o0|7x6o0|e1eg0|4ofw0|dzxo0|4q500|doo40|64iw0|auqo0|7i500|8rfms0|51ek0|9q2s0|6u7w0|2khpg0|25s00|1weyo0|5reo0|bxmo0|7x3w0|cls40|5rbw0|bbhg0|7rjw0|asys0|7k580|c8tg0|6h980|ag040|7x3w0|asys0|8a2k0|asys0|8a2k0|ap9g0|80t80|ap9g0|7nuk0|b2840|80t80|9zc40|9iik0|9kis0|93p80|9mdg0|8qqk0|apf00|7x3w0|biw40|8zx40|9io40|8n180|9kis0|9vh80|8ulg0|9px80|9mdg0|8n180|9tuw0|9tmk0|8wg40|9gnw0|99es0|8qqk0|9zc40|9tmk0|8wg40|9gnw0|99es0|8qqk0|acas0|9gnw0|99es0|93p80|9mdg0|awik0|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|Infinity\",\r\n offsets: \"-140.6667|-120|-180|-240\",\r\n offsetIndices: \"012121212121321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Asia/Thimbu\",\r\n untils: \"-bojclo|kxymno|Infinity\",\r\n offsets: \"-358.6|-330|-360\",\r\n offsetIndices: \"012\"\r\n }, {\r\n id: \"Asia/Thimphu\",\r\n untils: \"-bojclo|kxymno|Infinity\",\r\n offsets: \"-358.6|-330|-360\",\r\n offsetIndices: \"012\"\r\n }, {\r\n id: \"Asia/Tokyo\",\r\n untils: \"-bb4900|6uao0|afxc0|8a5c0|c8qo0|6hc00|c8qo0|6hc00|Infinity\",\r\n offsets: \"-540|-600\",\r\n offsetIndices: \"010101010\"\r\n }, {\r\n id: \"Asia/Tomsk\",\r\n untils: \"-q3zbqf|5h7z2f|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|1leo0|97k40|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|tw040|Infinity\",\r\n offsets: \"-339.85|-360|-420|-480\",\r\n offsetIndices: \"0123232323232323232323212323232323232323232323212121212121212121212\"\r\n }, {\r\n id: \"Asia/Ujung_Pandang\",\r\n untils: \"-q3gzg0|6p5hc0|4u87w0|1w02k0|Infinity\",\r\n offsets: \"-477.6|-480|-540\",\r\n offsetIndices: \"00121\"\r\n }, {\r\n id: \"Asia/Ulaanbaatar\",\r\n untils: \"-xmcrsk|11sncck|2qk2k0|9et80|9eys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|1ckdo0|7x3w0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|4fio40|9ct00|9d9o0|9ct00|Infinity\",\r\n offsets: \"-427.5333|-420|-480|-540\",\r\n offsetIndices: \"012323232323232323232323232323232323232323232323232\"\r\n }, {\r\n id: \"Asia/Ulan_Bator\",\r\n untils: \"-xmcrsk|11sncck|2qk2k0|9et80|9eys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|1ckdo0|7x3w0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|4fio40|9ct00|9d9o0|9ct00|Infinity\",\r\n offsets: \"-427.5333|-420|-480|-540\",\r\n offsetIndices: \"012323232323232323232323232323232323232323232323232\"\r\n }, {\r\n id: \"Asia/Urumqi\",\r\n untils: \"-lx5pjw|Infinity\",\r\n offsets: \"-350.3333|-360\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Asia/Ust-Nera\",\r\n untils: \"-q4cl6u|5hl2yu|qi27w0|9eno0|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|8ql00|1mlho0|Infinity\",\r\n offsets: \"-572.9|-480|-540|-720|-660|-600\",\r\n offsetIndices: \"012343434343434343434345434343434343434343434343434343434343434345\"\r\n }, {\r\n id: \"Asia/Vientiane\",\r\n untils: \"-pysda4|Infinity\",\r\n offsets: \"-402.0667|-420\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Asia/Vladivostok\",\r\n untils: \"-oligf7|3yqvf7|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity\",\r\n offsets: \"-527.5167|-540|-600|-660\",\r\n offsetIndices: \"01232323232323232323232123232323232323232323232323232323232323232\"\r\n }, {\r\n id: \"Asia/Yakutsk\",\r\n untils: \"-q4cioy|5hl0gy|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity\",\r\n offsets: \"-518.9667|-480|-540|-600\",\r\n offsetIndices: \"01232323232323232323232123232323232323232323232323232323232323232\"\r\n }, {\r\n id: \"Asia/Yangon\",\r\n untils: \"-q3gv5b|bnjp3b|1kh520|Infinity\",\r\n offsets: \"-384.7833|-390|-540\",\r\n offsetIndices: \"0121\"\r\n }, {\r\n id: \"Asia/Yekaterinburg\",\r\n untils: \"-rx5hw9|1kybx4|5pfyv5|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity\",\r\n offsets: \"-242.55|-225.0833|-240|-300|-360\",\r\n offsetIndices: \"012343434343434343434343234343434343434343434343434343434343434343\"\r\n }, {\r\n id: \"Asia/Yerevan\",\r\n untils: \"-nu148o|h4tjwo|ckinw0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|11t180|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|Infinity\",\r\n offsets: \"-178|-180|-240|-300\",\r\n offsetIndices: \"0123232323232323232323212121212323232323232323232323232323232\"\r\n }, {\r\n id: \"Atlantic/Azores\",\r\n untils: \"-u9rbs0|2bufw0|6zxg0|66580|bq800|73k00|bodc0|71pc0|bq800|73k00|bq800|71pc0|bq800|1b2g00|9b6o0|saio0|8n400|9q000|902o0|a2yo0|902o0|a2yo0|8n400|st1c0|8n400|9d1c0|9d1c0|sg2o0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51hc0|bitc0|9d1c0|9ew00|88ao0|25p80|5reo0|3lpg0|779c0|1sqk0|6uao0|38qs0|6uao0|25p80|6hc00|38qs0|6uao0|25p80|6hc00|38qs0|8a5c0|9d1c0|9d9o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|s3400|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|5qbjo0|9d1c0|9q000|9d1c0|9d1c0|9d440|9cyk0|9d440|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9cyk0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9cyk0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"114.5333|120|60|0\",\r\n offsetIndices: \"01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121232323232323232323232323232323233323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"\r\n }, {\r\n id: \"Atlantic/Bermuda\",\r\n untils: \"-kvj2fu|n4pr3u|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"259.3|240|180\",\r\n offsetIndices: \"0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Atlantic/Canary\",\r\n untils: \"-oytbtc|ctvupc|hhq7s0|905g0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"61.6|60|0|-60\",\r\n offsetIndices: \"01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"\r\n }, {\r\n id: \"Atlantic/Cape_Verde\",\r\n untils: \"-u9rbs0|g06lc0|1mn180|fpqwc0|Infinity\",\r\n offsets: \"94.0667|120|60\",\r\n offsetIndices: \"01212\"\r\n }, {\r\n id: \"Atlantic/Faeroe\",\r\n untils: \"-wcehew|127keuw|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"27.0667|0|-60\",\r\n offsetIndices: \"01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Atlantic/Faroe\",\r\n untils: \"-wcehew|127keuw|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"27.0667|0|-60\",\r\n offsetIndices: \"01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Atlantic/Jan_Mayen\",\r\n untils: \"-rzayo0|6qfs0|cgcqo0|15tsc0|7k800|9q000|9d1c0|9d1c0|9d1c0|9d1c0|70q5c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|b5uo0|7k800|7law00|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-60|-120\",\r\n offsetIndices: \"010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Atlantic/Madeira\",\r\n untils: \"-u9rek0|2bufw0|6zxg0|66580|bq800|73k00|bodc0|71pc0|bq800|73k00|bq800|71pc0|bq800|1b2g00|9b6o0|saio0|8n400|9q000|902o0|a2yo0|902o0|a2yo0|8n400|st1c0|8n400|9d1c0|9d1c0|sg2o0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51hc0|bitc0|9d1c0|9ew00|88ao0|25p80|5reo0|3lpg0|779c0|1sqk0|6uao0|38qs0|6uao0|25p80|6hc00|38qs0|6uao0|25p80|6hc00|38qs0|8a5c0|9d1c0|9d9o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|s3400|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|5qbjo0|9d1c0|9q000|9d1c0|9d1c0|9d440|9cyk0|9d440|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9cyk0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"67.6|60|0|-60\",\r\n offsetIndices: \"01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"\r\n }, {\r\n id: \"Atlantic/Reykjavik\",\r\n untils: \"-wcwx9c|4rpd9c|ci2s0|69uk0|du840|4xp80|du840|p7bw0|4w040|9bdzw0|9d6w0|64g40|cyl80|64dc0|clpc0|6hc00|bvs00|6uao0|bvs00|6uao0|bvs00|6uao0|c8qo0|6hc00|c8qo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|afxc0|8a5c0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|8a5c0|Infinity\",\r\n offsets: \"88|60|0\",\r\n offsetIndices: \"012121212121212121212121212121212121212121212121212121212121212121212\"\r\n }, {\r\n id: \"Atlantic/South_Georgia\",\r\n untils: \"Infinity\",\r\n offsets: \"120\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Atlantic/St_Helena\",\r\n untils: \"-u9rgl4|Infinity\",\r\n offsets: \"16.1333|0\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Atlantic/Stanley\",\r\n untils: \"-u63pac|dbvxqc|8zzw0|9q2s0|8zzw0|a31g0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|4xp80|l1pus0|7k580|b5rw0|77c40|biqk0|id6s0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7kas0|biqk0|77c40|biqk0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7kas0|biqk0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5xg0|77c40|bvp80|6udg0|bvp80|77c40|biqk0|77c40|biqk0|77c40|biqk0|77c40|biqk0|77c40|bvp80|77c40|biqk0|77c40|biqk0|77c40|Infinity\",\r\n offsets: \"231.4|240|180|120\",\r\n offsetIndices: \"012121212121212323212121212121212121212121212121212121212121212121212\"\r\n }, {\r\n id: \"Australia/ACT\",\r\n untils: \"-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|8a5c0|asw00|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|7x6o0|asw00|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity\",\r\n offsets: \"-600|-660\",\r\n offsetIndices: \"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101\"\r\n }, {\r\n id: \"Australia/Adelaide\",\r\n untils: \"-rnsvoc|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|779c0|bitc0|6hc00|c8qo0|7k800|b5uo0|6uao0|c8qo0|779c0|bitc0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity\",\r\n offsets: \"-570|-630\",\r\n offsetIndices: \"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101\"\r\n }, {\r\n id: \"Australia/Brisbane\",\r\n untils: \"-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|97zuo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|Infinity\",\r\n offsets: \"-600|-660\",\r\n offsetIndices: \"01010101010101010\"\r\n }, {\r\n id: \"Australia/Broken_Hill\",\r\n untils: \"-rnsvoc|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|8a5c0|asw00|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity\",\r\n offsets: \"-570|-630\",\r\n offsetIndices: \"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101\"\r\n }, {\r\n id: \"Australia/Canberra\",\r\n untils: \"-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|8a5c0|asw00|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|7x6o0|asw00|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity\",\r\n offsets: \"-600|-660\",\r\n offsetIndices: \"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101\"\r\n }, {\r\n id: \"Australia/Currie\",\r\n untils: \"-rsj4w0|8zzw0|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|b5uo0|7k800|b5uo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|bvs00|7k800|bitc0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x6o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|7x6o0|asw00|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity\",\r\n offsets: \"-600|-660\",\r\n offsetIndices: \"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101\"\r\n }, {\r\n id: \"Australia/Darwin\",\r\n untils: \"-rnsvoc|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|Infinity\",\r\n offsets: \"-570|-630\",\r\n offsetIndices: \"010101010\"\r\n }, {\r\n id: \"Australia/Eucla\",\r\n untils: \"-rnstlc|49s2c|cxfms0|4h180|9d440|9cyk0|ghf1g0|6hc00|4ir9c0|6hc00|40r400|5eg00|7p9hc0|5reo0|b5uo0|7x6o0|asw00|7x6o0|Infinity\",\r\n offsets: \"-525|-585\",\r\n offsetIndices: \"0101010101010101010\"\r\n }, {\r\n id: \"Australia/Hobart\",\r\n untils: \"-rsj4w0|8zzw0|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|c9tms0|9d1c0|asw00|6uao0|bvs00|6uao0|bvs00|779c0|bvs00|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|b5uo0|7k800|b5uo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|bvs00|7k800|bitc0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x6o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|7x6o0|asw00|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity\",\r\n offsets: \"-600|-660\",\r\n offsetIndices: \"010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101\"\r\n }, {\r\n id: \"Australia/LHI\",\r\n untils: \"5tp880|c8uu0|6u7w0|c8tg0|6h980|c8tg0|6h980|c8tg0|6h980|c8tg0|777y0|b5w20|7k6m0|biuq0|7k6m0|biuq0|777y0|biuq0|6ham0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|7x5a0|asxe0|7x5a0|asxe0|7x5a0|asxe0|7x5a0|b5w20|7k6m0|7x820|asum0|b5w20|7x5a0|asxe0|7x5a0|asxe0|7x5a0|b5w20|7k6m0|b5w20|7x5a0|asxe0|7k6m0|b5w20|8a3y0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9pym0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|Infinity\",\r\n offsets: \"-600|-630|-690|-660\",\r\n offsetIndices: \"0121212121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313\"\r\n }, {\r\n id: \"Australia/Lindeman\",\r\n untils: \"-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|97zuo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|Infinity\",\r\n offsets: \"-600|-660\",\r\n offsetIndices: \"010101010101010101010\"\r\n }, {\r\n id: \"Australia/Lord_Howe\",\r\n untils: \"5tp880|c8uu0|6u7w0|c8tg0|6h980|c8tg0|6h980|c8tg0|6h980|c8tg0|777y0|b5w20|7k6m0|biuq0|7k6m0|biuq0|777y0|biuq0|6ham0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|7x5a0|asxe0|7x5a0|asxe0|7x5a0|asxe0|7x5a0|b5w20|7k6m0|7x820|asum0|b5w20|7x5a0|asxe0|7x5a0|asxe0|7x5a0|b5w20|7k6m0|b5w20|7x5a0|asxe0|7k6m0|b5w20|8a3y0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9pym0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|Infinity\",\r\n offsets: \"-600|-630|-690|-660\",\r\n offsetIndices: \"0121212121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313\"\r\n }, {\r\n id: \"Australia/Melbourne\",\r\n untils: \"-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|b5uo0|7x6o0|bitc0|779c0|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|7x6o0|asw00|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity\",\r\n offsets: \"-600|-660\",\r\n offsetIndices: \"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101\"\r\n }, {\r\n id: \"Australia/North\",\r\n untils: \"-rnsvoc|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|Infinity\",\r\n offsets: \"-570|-630\",\r\n offsetIndices: \"010101010\"\r\n }, {\r\n id: \"Australia/NSW\",\r\n untils: \"-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|8a5c0|asw00|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|7x6o0|asw00|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity\",\r\n offsets: \"-600|-660\",\r\n offsetIndices: \"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101\"\r\n }, {\r\n id: \"Australia/Perth\",\r\n untils: \"-rnsric|49s2c|cxfms0|4h180|9d440|9cyk0|ghf1g0|6hc00|4ir9c0|6hc00|40r400|5eg00|7p9hc0|5reo0|b5uo0|7x6o0|asw00|7x6o0|Infinity\",\r\n offsets: \"-480|-540\",\r\n offsetIndices: \"0101010101010101010\"\r\n }, {\r\n id: \"Australia/Queensland\",\r\n untils: \"-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|97zuo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|Infinity\",\r\n offsets: \"-600|-660\",\r\n offsetIndices: \"01010101010101010\"\r\n }, {\r\n id: \"Australia/South\",\r\n untils: \"-rnsvoc|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|779c0|bitc0|6hc00|c8qo0|7k800|b5uo0|6uao0|c8qo0|779c0|bitc0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity\",\r\n offsets: \"-570|-630\",\r\n offsetIndices: \"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101\"\r\n }, {\r\n id: \"Australia/Sydney\",\r\n untils: \"-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|8a5c0|asw00|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|7x6o0|asw00|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity\",\r\n offsets: \"-600|-660\",\r\n offsetIndices: \"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101\"\r\n }, {\r\n id: \"Australia/Tasmania\",\r\n untils: \"-rsj4w0|8zzw0|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|c9tms0|9d1c0|asw00|6uao0|bvs00|6uao0|bvs00|779c0|bvs00|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|b5uo0|7k800|b5uo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|bvs00|7k800|bitc0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x6o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|7x6o0|asw00|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity\",\r\n offsets: \"-600|-660\",\r\n offsetIndices: \"010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101\"\r\n }, {\r\n id: \"Australia/Victoria\",\r\n untils: \"-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|b5uo0|7x6o0|bitc0|779c0|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|7x6o0|asw00|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity\",\r\n offsets: \"-600|-660\",\r\n offsetIndices: \"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101\"\r\n }, {\r\n id: \"Australia/West\",\r\n untils: \"-rnsric|49s2c|cxfms0|4h180|9d440|9cyk0|ghf1g0|6hc00|4ir9c0|6hc00|40r400|5eg00|7p9hc0|5reo0|b5uo0|7x6o0|asw00|7x6o0|Infinity\",\r\n offsets: \"-480|-540\",\r\n offsetIndices: \"0101010101010101010\"\r\n }, {\r\n id: \"Australia/Yancowinna\",\r\n untils: \"-rnsvoc|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|8a5c0|asw00|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity\",\r\n offsets: \"-570|-630\",\r\n offsetIndices: \"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101\"\r\n }, {\r\n id: \"Brazil/Acre\",\r\n untils: \"-t85fg0|99kak0|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|amves0|2t2t80|Infinity\",\r\n offsets: \"271.2|300|240\",\r\n offsetIndices: \"01212121212121212121212121212121\"\r\n }, {\r\n id: \"Brazil/DeNoronha\",\r\n untils: \"-t85lzw|99k8rw|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|514g40|7k580|biw40|cvw0|iq5g0|6h980|Infinity\",\r\n offsets: \"129.6667|120|60\",\r\n offsetIndices: \"0121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Brazil/East\",\r\n untils: \"-t85jd8|99k8x8|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5k02s0|6onw0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|cyqs0|64ak0|cls40|5rbw0|dbpg0|51ek0|dbpg0|6h980|c8tg0|6h980|c8tg0|64ak0|c8tg0|6u7w0|bxpg0|7iak0|biw40|6u7w0|biw40|7k580|biw40|6u7w0|c8tg0|6h980|dbpg0|5ed80|cls40|64ak0|dfes0|5nmk0|c8tg0|6h980|dbpg0|5rbw0|bvus0|6h980|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6u7w0|c8tg0|64ak0|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6h980|c8tg0|6h980|dbpg0|5ed80|Infinity\",\r\n offsets: \"186.4667|180|120\",\r\n offsetIndices: \"01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Brazil/West\",\r\n untils: \"-t85gvw|99k97w|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|2yy2s0|6h980|Infinity\",\r\n offsets: \"240.0667|240|180\",\r\n offsetIndices: \"01212121212121212121212121212121\"\r\n }, {\r\n id: \"Canada/Atlantic\",\r\n untils: \"-z94k80|777go0|9et80|st9o0|a2vw0|ssyk0|5rbw0|cv1g0|69uk0|c6ys0|6kyk0|ci2s0|67zw0|ci2s0|6w2k0|bu040|7lzw0|bu040|66580|bu040|7lzw0|bu040|64ak0|cls40|5v180|cv1g0|6j3w0|c6ys0|79180|b42s0|7lzw0|b42s0|7yyk0|bu040|64ak0|dbpg0|66580|cls40|5ed80|bu040|7lzw0|b42s0|7lzw0|cjxg0|66580|bh1g0|7lzw0|b42s0|7lzw0|6uj00|1tzdw0|2dnc0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|tw040|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|tw040|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|1cm2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"254.4|240|180\",\r\n offsetIndices: \"0121212121212121212121212121212121212121212121212122121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Canada/Central\",\r\n untils: \"-s0s7c0|7k580|tj700|a2vw0|9ok840|6u7w0|2a5hg0|1tz8c0|2dsw0|biw40|7x3w0|a31g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b7s40|7tek0|autg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9cyk0|9d440|7x3w0|1cm2s0|7k580|1cm2s0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"360|300\",\r\n offsetIndices: \"010101011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Canada/Eastern\",\r\n untils: \"-qzoxw0|a2vw0|7yx60|aqzy0|9q8c0|7jzo0|bw0c0|6bp80|cedg0|6h980|c8tg0|6h980|bvus0|776k0|biw40|776k0|biw40|776k0|biw40|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|xjeo0|1tzb40|2dq40|asys0|7x3w0|ast80|7x3w0|asys0|7x3w0|asys0|b5rw0|7xf00|ast80|7x9g0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"300|240\",\r\n offsetIndices: \"01010101010101010101010101010101010101010101011101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Canada/Mountain\",\r\n untils: \"-x1yazk|629ink|a2vw0|8n6s0|29ek0|h6lg0|9px80|905g0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|9l0g40|1tz5k0|2dvo0|tj1g0|7x3w0|ctzk40|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"453.8667|420|360\",\r\n offsetIndices: \"0121212121212122121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Canada/Newfoundland\",\r\n untils: \"-ris3ck|8bx80|ar440|a2vw0|9tjs0|53980|dkys0|9cyk0|9d440|9cyk0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|9cyk0|9d440|9cyk0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|9cyk0|9q2s0|8zzw0|9q2s0|8zzw0|7tmw0|1wfuk|8zzw0|a3480|7k580|b5xg0|7k580|b5xg0|7k580|biw40|776k0|biw40|7k580|b5xg0|7k580|b5xg0|1pb260|2dly0|biw40|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|biw40|7k580|ag040|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a2lo|afuk0|8a840|asqg0|7xc80|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8tec|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"210.8667|150.8667|210|150|90\",\r\n offsetIndices: \"01010101010101010101010101010101010102323232323232323323232323232323232323232323232323232323232323232323232323232323232323232323232323232324232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"\r\n }, {\r\n id: \"Canada/Pacific\",\r\n untils: \"-qzopk0|a2vw0|c5jxg0|1tz2s0|2dyg0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"480|420\",\r\n offsetIndices: \"0101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Canada/Saskatchewan\",\r\n untils: \"-xkq9yc|6l1hmc|a2vw0|60enw0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|1b6840|9cyk0|9d440|8zzw0|9q2s0|9cyk0|9q2s0|9cyk0|9d440|9cyk0|66gc0|1tz5k0|2dvo0|a31g0|9cyk0|a31g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|tj1g0|9cyk0|9d440|Infinity\",\r\n offsets: \"418.6|420|360\",\r\n offsetIndices: \"012121212121212121212121221212121212121212121212121212\"\r\n }, {\r\n id: \"Canada/Yukon\",\r\n untils: \"-qzoms0|a2vw0|asys0|882c0|bmiwc0|1tz000|2e180|a7n3w0|9q000|tiyo0|6qp440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|Infinity\",\r\n offsets: \"540|480|420\",\r\n offsetIndices: \"01010110201212121212121212121212121212121212121212121212121212121212121212121212121212121212\"\r\n }, {\r\n id: \"CET\",\r\n untils: \"-s0e080|7ves0|a4yw0|7x6o0|asw00|7x6o0|b8qdc0|1cm000|7k800|9q000|9d1c0|9d1c0|9d1c0|8l9c0|ggp1c0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-60|-120\",\r\n offsetIndices: \"01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Chile/Continental\",\r\n untils: \"-vauawq|3dlssq|157b7a|f4e0q|49hzba|aye0q|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|534ik0|351g0|229zw0|2gt80|awo40|2mg00|b73400|7k580|c8tg0|6h980|a31g0|7x3w0|asys0|7x3w0|b5xg0|7k580|ag040|8a2k0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|9cyk0|9d440|7x3w0|asys0|7x3w0|b5xg0|7k580|9q2s0|8zzw0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|a31g0|9px80|9q2s0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|asys0|8zzw0|9q2s0|ast80|5eis0|cyl80|6hes0|c8nw0|6udg0|bvp80|6udg0|vonw0|4olg0|e1h80|4olg0|e1h80|4olg0|c8nw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|Infinity\",\r\n offsets: \"282.7667|300|240|180\",\r\n offsetIndices: \"010202121212121212321232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323\"\r\n }, {\r\n id: \"Chile/EasterIsland\",\r\n untils: \"-jhfaew|ivmeuw|7k580|c8tg0|6h980|a31g0|7x3w0|asys0|7x3w0|b5xg0|7k580|ag040|8a2k0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|iq2o0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|9cyk0|9d440|7x3w0|asys0|7x3w0|b5xg0|7k580|9q2s0|8zzw0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|a31g0|9px80|9q2s0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|asys0|8zzw0|9q2s0|ast80|5eis0|cyl80|6hes0|c8nw0|6udg0|bvp80|6udg0|vonw0|4olg0|e1h80|4olg0|e1h80|4olg0|c8nw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|Infinity\",\r\n offsets: \"437.4667|420|360|300\",\r\n offsetIndices: \"012121212121212121212121212123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323\"\r\n }, {\r\n id: \"CST6CDT\",\r\n untils: \"-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"360|300\",\r\n offsetIndices: \"010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Cuba\",\r\n untils: \"-n7762o|1icfyo|69uk0|62s040|4ofw0|e1ms0|51ek0|e1ms0|4ofw0|1fhs40|4ofw0|e1ms0|4ofw0|9s9k40|67zw0|cedg0|6h980|9o840|7yyk0|b5xg0|7k580|bvus0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|8a2k0|ag040|8bx80|ae5g0|8drw0|acas0|9cyk0|9d440|9px80|905g0|9px80|9q2s0|7x3w0|8a840|ast80|7x9g0|ast80|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|8a2k0|ag040|8a2k0|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|905g0|a2vw0|905g0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|8n400|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|7x6o0|1cm000|6uao0|bvs00|779c0|bitc0|6uao0|bvs00|779c0|bvs00|779c0|c8qo0|779c0|b5uo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|Infinity\",\r\n offsets: \"329.6|300|240\",\r\n offsetIndices: \"012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"EET\",\r\n untils: \"3s9ms0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-120|-180\",\r\n offsetIndices: \"010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Egypt\",\r\n untils: \"-fdls80|40d80|a31g0|7x3w0|a4w40|aqyk0|80ys0|b07w0|7tk40|b07w0|8jhg0|a8fw0|60go40|7el80|awo40|7v980|awqw0|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7tk40|ayd80|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|f9x80|3i040|eluk0|462s0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|b5rw0|7m5g0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|aqvs0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7k580|b5xg0|6u7w0|bvus0|6h980|c8tg0|64ak0|cyqs0|5anw0|1jms0|12t80|1w22s0|25p80|1sw40|2vmk0|Infinity\",\r\n offsets: \"-120|-180\",\r\n offsetIndices: \"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Eire\",\r\n untils: \"-rzcmlr|6uao0|9pytr|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|3g8800|8a5c0|bvs00|8n400|a2yo0|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"25.35|-34.65|0|-60\",\r\n offsetIndices: \"01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"\r\n }, {\r\n id: \"EST\",\r\n untils: \"Infinity\",\r\n offsets: \"300\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"EST5EDT\",\r\n untils: \"-r0ev80|ast80|7x9g0|ast80|bmtus0|1tzb40|2dq40|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"300|240\",\r\n offsetIndices: \"010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Etc/GMT-0\",\r\n untils: \"Infinity\",\r\n offsets: \"0\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/GMT-1\",\r\n untils: \"Infinity\",\r\n offsets: \"-60\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/GMT-10\",\r\n untils: \"Infinity\",\r\n offsets: \"-600\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/GMT-11\",\r\n untils: \"Infinity\",\r\n offsets: \"-660\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/GMT-12\",\r\n untils: \"Infinity\",\r\n offsets: \"-720\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/GMT-13\",\r\n untils: \"Infinity\",\r\n offsets: \"-780\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/GMT-14\",\r\n untils: \"Infinity\",\r\n offsets: \"-840\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/GMT-2\",\r\n untils: \"Infinity\",\r\n offsets: \"-120\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/GMT-3\",\r\n untils: \"Infinity\",\r\n offsets: \"-180\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/GMT-4\",\r\n untils: \"Infinity\",\r\n offsets: \"-240\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/GMT-5\",\r\n untils: \"Infinity\",\r\n offsets: \"-300\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/GMT-6\",\r\n untils: \"Infinity\",\r\n offsets: \"-360\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/GMT-7\",\r\n untils: \"Infinity\",\r\n offsets: \"-420\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/GMT-8\",\r\n untils: \"Infinity\",\r\n offsets: \"-480\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/GMT-9\",\r\n untils: \"Infinity\",\r\n offsets: \"-540\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/GMT\",\r\n untils: \"Infinity\",\r\n offsets: \"0\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/GMT+0\",\r\n untils: \"Infinity\",\r\n offsets: \"0\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/GMT+1\",\r\n untils: \"Infinity\",\r\n offsets: \"60\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/GMT+10\",\r\n untils: \"Infinity\",\r\n offsets: \"600\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/GMT+11\",\r\n untils: \"Infinity\",\r\n offsets: \"660\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/GMT+12\",\r\n untils: \"Infinity\",\r\n offsets: \"720\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/GMT+2\",\r\n untils: \"Infinity\",\r\n offsets: \"120\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/GMT+3\",\r\n untils: \"Infinity\",\r\n offsets: \"180\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/GMT+4\",\r\n untils: \"Infinity\",\r\n offsets: \"240\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/GMT+5\",\r\n untils: \"Infinity\",\r\n offsets: \"300\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/GMT+6\",\r\n untils: \"Infinity\",\r\n offsets: \"360\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/GMT+7\",\r\n untils: \"Infinity\",\r\n offsets: \"420\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/GMT+8\",\r\n untils: \"Infinity\",\r\n offsets: \"480\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/GMT+9\",\r\n untils: \"Infinity\",\r\n offsets: \"540\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/GMT0\",\r\n untils: \"Infinity\",\r\n offsets: \"0\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/Greenwich\",\r\n untils: \"Infinity\",\r\n offsets: \"0\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/UCT\",\r\n untils: \"Infinity\",\r\n offsets: \"0\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/Universal\",\r\n untils: \"Infinity\",\r\n offsets: \"0\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/UTC\",\r\n untils: \"Infinity\",\r\n offsets: \"0\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Etc/Zulu\",\r\n untils: \"Infinity\",\r\n offsets: \"0\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Europe/Amsterdam\",\r\n untils: \"-s0dvkk|7v980|a51o0|7x6o0|a2yo0|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9b6o0|a2yo0|c51c0|6l1c0|902o0|9q000|ci000|682o0|bgyo0|79400|bitc0|779c0|bmio0|7gio0|bbeo0|7eo00|bd9c0|7ctc0|bf400|7ayo0|bvs00|6uao0|bko00|7idc0|b9k00|7gio0|bbeo0|7eo00|bf400|7ayo0|btxc0|21uc0|4uaz8|bitc0|779c0|bko00|7idc0|bd3s0|1aarpc|7k800|9q000|9d1c0|9d1c0|9d1c0|8l9c0|ggp1c0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-19.5333|-79.5333|-80|-20|-120|-60\",\r\n offsetIndices: \"010101010101010101010101010101010101010101012323234545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545\"\r\n }, {\r\n id: \"Europe/Andorra\",\r\n untils: \"-c4xmo0|k3ctg0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"0|-60|-120\",\r\n offsetIndices: \"012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Europe/Astrakhan\",\r\n untils: \"-nu2zkc|37bv8c|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|iq5g0|9d1c0|9q000|9d1c0|s3400|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|qnc40|Infinity\",\r\n offsets: \"-192.2|-180|-240|-300\",\r\n offsetIndices: \"012323232323232323212121212121212121212121212121212121212121212\"\r\n }, {\r\n id: \"Europe/Athens\",\r\n untils: \"-rvv0cg|8bjasg|2vmk0|4hiw40|16ik0|scog0|7lx40|9o2k0|9eys0|4atzw0|6djw0|bplus0|bq800|71uw0|9d1c0|902o0|91xc0|9o5c0|905g0|9qgo0|9akg0|9iik0|99980|9dcg0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-94.8667|-120|-180|-60\",\r\n offsetIndices: \"012121313121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Europe/Belfast\",\r\n untils: \"-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"0|-60|-120\",\r\n offsetIndices: \"0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Europe/Belgrade\",\r\n untils: \"-ezayw0|swz00|7k800|9q000|9d1c0|9d1c0|b7pc0|6qlc0|jl1hc0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-60|-120\",\r\n offsetIndices: \"01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Europe/Berlin\",\r\n untils: \"-s0e080|7ves0|a4yw0|7x6o0|asw00|7x6o0|b8qdc0|1cm000|7k800|9q000|9d1c0|9d1c0|9d1c0|2o7w0|6bs00|2txg0|7k800|91xc0|9b9g0|1sqk0|2inw0|51k40|a2yo0|8n400|9q000|902o0|fx91c0|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-60|-120|-180\",\r\n offsetIndices: \"01010101010101210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Europe/Bratislava\",\r\n untils: \"-s0e080|7ves0|a4yw0|7x6o0|asw00|7x6o0|b8qdc0|1cm000|7k800|9q000|9d1c0|9d1c0|9d1c0|9d1c0|b5uo0|7vc00|2vs40|4bk00|2vmk0|8n400|a2yo0|8n400|9o5c0|91xc0|fe6000|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-60|-120|0\",\r\n offsetIndices: \"01010101010101010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Europe/Brussels\",\r\n untils: \"-ss5uo0|rrx80|7vc00|a4yw0|7x6o0|asw00|7x6o0|2wh40|5omo0|b5uo0|6uao0|cyo00|7ayo0|bko00|7rmo0|a2yo0|a2yo0|8n400|902o0|9q000|9d1c0|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|90b00|a2yo0|8n400|9q000|902o0|a2yo0|8n400|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51hc0|4deo0|1a36k0|7k800|9q000|9d1c0|8l9c0|a4tc0|8l9c0|clpc0|79400|fwu800|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"0|-60|-120\",\r\n offsetIndices: \"0121212101010101010101010101010101010101010101010101212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Europe/Bucharest\",\r\n untils: \"-k29zi0|fj8m0|6w5c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|kp0dc0|6h980|9q000|905g0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9cvs0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9cyk0|9d440|9cyk0|9q2s0|ast80|7xhs0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-104.4|-120|-180\",\r\n offsetIndices: \"0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Europe/Budapest\",\r\n untils: \"-s0e080|7ves0|a4yw0|7x6o0|a31g0|8n180|autg0|bgvw0|b5jeg0|th9k0|7k800|9q000|9d1c0|9d1c0|awd00|9ew00|7q0c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|a4tc0|9q000|1va2g0|6u7w0|bxpg0|6u7w0|cjxg0|64ak0|cluw0|64g40|br3ek0|905g0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-60|-120\",\r\n offsetIndices: \"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Europe/Busingen\",\r\n untils: \"-eyh6o0|7x6o0|asw00|7x6o0|k2zus0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-60|-120\",\r\n offsetIndices: \"01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Europe/Chisinau\",\r\n untils: \"-r2p1bo|70f1to|fj8m0|6w5c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|geqo0|ha580|oc8g0|7k800|9q000|9d1c0|7cl00|j3pbw0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|25p80|7kdk0|9d1c0|9d1c0|9cvs0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|ast80|7xf00|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-115|-104.4|-120|-180|-60|-240\",\r\n offsetIndices: \"012323232323232323232424235353535353535353535323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"\r\n }, {\r\n id: \"Europe/Copenhagen\",\r\n untils: \"-rzo2w0|75bw0|cbs2w0|1aco80|7k800|9q000|9d1c0|9d1c0|9d1c0|6y000|dbmo0|6bs00|clpc0|51hc0|e1k00|4oio0|giutc0|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-60|-120\",\r\n offsetIndices: \"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Europe/Dublin\",\r\n untils: \"-rzcmlr|6uao0|9pytr|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|3g8800|8a5c0|bvs00|8n400|a2yo0|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"25.35|-34.65|0|-60\",\r\n offsetIndices: \"01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"\r\n }, {\r\n id: \"Europe/Gibraltar\",\r\n untils: \"-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|d0tp80|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"0|-60|-120\",\r\n offsetIndices: \"010101010101010101010101010101010101010101010101012121212121010121010101010101010101012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Europe/Guernsey\",\r\n untils: \"-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"0|-60|-120\",\r\n offsetIndices: \"0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Europe/Helsinki\",\r\n untils: \"-peghyd|ax3tqd|9gqo0|k31s80|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-99.8167|-120|-180\",\r\n offsetIndices: \"0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Europe/Isle_of_Man\",\r\n untils: \"-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"0|-60|-120\",\r\n offsetIndices: \"0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Europe/Istanbul\",\r\n untils: \"-ux9xew|2wvx6w|7v980|1tjc40|aunw0|88dg0|9et80|8yas0|a2vw0|tzpg0|79180|awo40|7v980|7p4040|4zjw0|2vs40|f4d80|9vms0|1u5ek0|c5440|69uk0|acas0|8n180|a31g0|8n180|9q2s0|8zzw0|a31g0|8zzw0|a31g0|8n180|5md9g0|o9zw0|a6qs0|75bw0|4iwyw0|7x6o0|7kas0|b5rw0|75hg0|bkl80|77c40|biqk0|7x9g0|a2vw0|8n6s0|4iqc0|2nkw80|38l80|kdes0|8qtc0|8a5c0|9ew00|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|902o0|9q000|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7kdk0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7m2o0|b4000|7k800|b5uo0|7x6o0|asw00|7z1c0|ar1c0|7x6o0|bitc0|779c0|8fe80|Infinity\",\r\n offsets: \"-116.9333|-120|-180|-240\",\r\n offsetIndices: \"0121212121212121212121212121212121212121212121223212121212121212121212121212121212121212121212121212121212121212122\"\r\n }, {\r\n id: \"Europe/Jersey\",\r\n untils: \"-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"0|-60|-120\",\r\n offsetIndices: \"0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Europe/Kaliningrad\",\r\n untils: \"-s0e080|7ves0|a4yw0|7x6o0|asw00|7x6o0|b8qdc0|1cm000|7k800|9q000|9d1c0|9d1c0|9d1c0|el00|z6o0|9kd80|82tg0|i9avw0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity\",\r\n offsets: \"-60|-120|-180|-240\",\r\n offsetIndices: \"01010101010101121232323232323232322121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Europe/Kiev\",\r\n untils: \"-nu11ng|37a03g|5vd6k0|kzv40|7k800|9q000|1oyg0|jipzs0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|51ek0|neqw0|9cvs0|9cyk0|9d440|9cyk0|9d440|9cyk0|9dcg0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-122.0667|-120|-180|-60|-240\",\r\n offsetIndices: \"0121313242424242424242424242121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Europe/Kirov\",\r\n untils: \"-qcx400|5q5zo0|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|iq5g0|9d1c0|9q000|9d1c0|s3400|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity\",\r\n offsets: \"-198.8|-180|-240|-300\",\r\n offsetIndices: \"01232323232323232321212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Europe/Lisbon\",\r\n untils: \"-u9rhc0|2bufw0|6zxg0|66580|bq800|73k00|bodc0|71pc0|bq800|73k00|bq800|71pc0|bq800|1b2g00|9b6o0|saio0|8n400|9q000|902o0|a2yo0|902o0|a2yo0|8n400|st1c0|8n400|9d1c0|9d1c0|sg2o0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51hc0|bitc0|9d1c0|9ew00|88ao0|25p80|5reo0|3lpg0|779c0|1sqk0|6uao0|38qs0|6uao0|25p80|6hc00|38qs0|6uao0|25p80|6hc00|38qs0|8a5c0|9d1c0|9d9o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|s3400|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|5gyl40|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d440|9cyk0|9d440|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9cyk0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"36.75|0|-60|-120\",\r\n offsetIndices: \"012121212121212121212121212121212121212121212321232123212321212121212121212121212121212121212121212121212121212121212121212121212122323232212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Europe/Ljubljana\",\r\n untils: \"-ezayw0|swz00|7k800|9q000|9d1c0|9d1c0|b7pc0|6qlc0|jl1hc0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-60|-120\",\r\n offsetIndices: \"01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Europe/London\",\r\n untils: \"-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"0|-60|-120\",\r\n offsetIndices: \"0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Europe/Luxembourg\",\r\n untils: \"-y89550|68l290|75hg0|ast80|796s0|at1k0|7x6o0|3lh40|4zmo0|b6300|6u2c0|cytk0|7at40|bktk0|7rh40|a31g0|a2vw0|8n9k0|8zx40|9q2s0|9et80|9b9g0|a2vw0|8n6s0|9px80|905g0|a2vw0|905g0|a2vw0|8ncc0|9q000|902o0|a2yo0|8n400|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51hc0|42ao0|1aeak0|7k800|9q000|9d1c0|8n400|a2yo0|8l9c0|clpc0|79400|fwu800|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-24.6|-60|-120|0\",\r\n offsetIndices: \"0121212131313131313131313131313131313131313131313131212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Europe/Madrid\",\r\n untils: \"-qzlus0|8yas0|9cyk0|9eys0|2d2vw0|8sqs0|ssyk0|8n6s0|9px80|905g0|a2yo0|902o0|a2vw0|8n6s0|40lh80|5k2s0|9cyk0|1frw0|7z1c0|j1c80|8a2k0|13yt80|685g0|brzw0|8n6s0|a2vw0|8n6s0|a2vw0|8n6s0|a2vw0|8n6s0|1clx80|7x9g0|cswik0|905g0|9px80|905g0|8zzw0|9d440|9px80|905g0|9q5k0|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"0|-60|-120\",\r\n offsetIndices: \"010101010101010101210121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Europe/Malta\",\r\n untils: \"-rymys0|64ak0|9d440|9et80|88dg0|aunw0|7ig40|b5rw0|8n6s0|9cyk0|aau2s0|18r9k0|7k800|9q000|9b6o0|8n400|a4tc0|8j940|9f1k0|afxc0|89zs0|afxc0|7kdk0|b5uo0|979rs0|6h980|cls40|64dc0|clpc0|64dc0|cyo00|64dc0|clpc0|64dc0|c8qo0|6hc00|clpc0|6hc00|9b6o0|9d1c0|ahs00|7m2o0|b45k0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|a4w40|8y580|9q2s0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-60|-120\",\r\n offsetIndices: \"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Europe/Mariehamn\",\r\n untils: \"-peghyd|ax3tqd|9gqo0|k31s80|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-99.8167|-120|-180\",\r\n offsetIndices: \"0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Europe/Minsk\",\r\n untils: \"-nu113c|379zjc|5r1mk0|pbf40|7k800|9q000|9d1c0|4oac0|j6dmk0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|sg2o0|9d440|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|Infinity\",\r\n offsets: \"-110|-120|-180|-60|-240\",\r\n offsetIndices: \"01213131242424242424242424221212121212121212121212121212121212121212\"\r\n }, {\r\n id: \"Europe/Monaco\",\r\n untils: \"-uozn3l|2qx1nl|5luo0|8y800|a4tc0|7vc00|auqo0|7idc0|b7pc0|6sg00|cyo00|7ayo0|bko00|7rmo0|a2yo0|bvs00|6uao0|902o0|9q000|9d1c0|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|902o0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51po0|mdbo0|7x3w0|7x9g0|c8w80|7k800|9q000|9d1c0|9nzs0|922w0|8l9c0|fxlx80|9cyk0|9q5k0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-9.35|0|-60|-120\",\r\n offsetIndices: \"01212121212121212121212121212121212121212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"\r\n }, {\r\n id: \"Europe/Moscow\",\r\n untils: \"-rx5dmh|ipzua|97hc0|7yyk0|5i840|d9p80|1jwk7|2cvk0|s8o00|1qvw0|8fpc0|1jms0|is040|412as0|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d440|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity\",\r\n offsets: \"-150.2833|-151.3167|-211.3167|-271.3167|-240|-180|-300|-120\",\r\n offsetIndices: \"012132345464575454545454545454545455754545454545454545454545454545454545454545\"\r\n }, {\r\n id: \"Europe/Nicosia\",\r\n untils: \"-p4bq6g|rvhxyg|9cyk0|b42s0|7nuk0|8yas0|8zzw0|9q2s0|9et80|9b9g0|9cyk0|9q2s0|8zzw0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|at4c0|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-133.4667|-120|-180\",\r\n offsetIndices: \"01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Europe/Oslo\",\r\n untils: \"-rzayo0|6qfs0|cgcqo0|15tsc0|7k800|9q000|9d1c0|9d1c0|9d1c0|9d1c0|70q5c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|b5uo0|7k800|7law00|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-60|-120\",\r\n offsetIndices: \"010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Europe/Paris\",\r\n untils: \"-uozn1x|2qx1lx|5luo0|8y800|a4tc0|7vc00|auqo0|7idc0|b7pc0|6sg00|cyo00|7ayo0|bko00|7rmo0|a2yo0|bvs00|6uao0|902o0|9q000|9d1c0|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|902o0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51po0|5p8w0|18rcc0|7k800|9q000|9d1c0|7efo0|29k40|922w0|8l9c0|fxlx80|9cyk0|9q5k0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-9.35|0|-60|-120\",\r\n offsetIndices: \"0121212121212121212121212121212121212121212121212123232332323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"\r\n }, {\r\n id: \"Europe/Podgorica\",\r\n untils: \"-ezayw0|swz00|7k800|9q000|9d1c0|9d1c0|b7pc0|6qlc0|jl1hc0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-60|-120\",\r\n offsetIndices: \"01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Europe/Prague\",\r\n untils: \"-s0e080|7ves0|a4yw0|7x6o0|asw00|7x6o0|b8qdc0|1cm000|7k800|9q000|9d1c0|9d1c0|9d1c0|9d1c0|b5uo0|7vc00|2vs40|4bk00|2vmk0|8n400|a2yo0|8n400|9o5c0|91xc0|fe6000|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-60|-120|0\",\r\n offsetIndices: \"01010101010101010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Europe/Riga\",\r\n untils: \"-qznlky|7x6o0|a4tc0|2mg00|3myns0|7fhlky|gz180|p5v40|7k800|9q000|9d1c0|9d1c0|k7s0|j14ns0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d440|asw00|7x6o0|asw00|7x6o0|b5uo0|qaao0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-96.5667|-156.5667|-120|-180|-60|-240\",\r\n offsetIndices: \"010102324242435353535353535353323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"\r\n }, {\r\n id: \"Europe/Rome\",\r\n untils: \"-rymys0|64ak0|9d440|9et80|88dg0|aunw0|7ig40|b5rw0|8n6s0|9cyk0|aau2s0|18r9k0|7k800|9q000|9d1c0|8l9c0|a4tc0|8j940|9f1k0|afxc0|89zs0|afxc0|7kdk0|b5uo0|979rs0|6h980|cls40|64dc0|clpc0|64dc0|cyo00|64dc0|clpc0|64dc0|c8qo0|6hc00|clpc0|6hc00|clpc0|64dc0|c8qo0|6hc00|clpc0|64dc0|clpc0|64dc0|c8qo0|6hc00|clpc0|6hc00|c8qo0|6hc00|9q5k0|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-60|-120\",\r\n offsetIndices: \"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Europe/Samara\",\r\n untils: \"-qcx400|5q5zo0|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|iq5g0|9d1c0|9q000|jt1g0|89zs0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|j3440|7k800|Infinity\",\r\n offsets: \"-200.3333|-180|-240|-300\",\r\n offsetIndices: \"0123232323232323232121232323232323232323232323232323232323212\"\r\n }, {\r\n id: \"Europe/San_Marino\",\r\n untils: \"-rymys0|64ak0|9d440|9et80|88dg0|aunw0|7ig40|b5rw0|8n6s0|9cyk0|aau2s0|18r9k0|7k800|9q000|9d1c0|8l9c0|a4tc0|8j940|9f1k0|afxc0|89zs0|afxc0|7kdk0|b5uo0|979rs0|6h980|cls40|64dc0|clpc0|64dc0|cyo00|64dc0|clpc0|64dc0|c8qo0|6hc00|clpc0|6hc00|clpc0|64dc0|c8qo0|6hc00|clpc0|64dc0|clpc0|64dc0|c8qo0|6hc00|clpc0|6hc00|c8qo0|6hc00|9q5k0|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-60|-120\",\r\n offsetIndices: \"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Europe/Sarajevo\",\r\n untils: \"-ezayw0|swz00|7k800|9q000|9d1c0|9d1c0|b7pc0|6qlc0|jl1hc0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-60|-120\",\r\n offsetIndices: \"01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Europe/Saratov\",\r\n untils: \"-qcx400|5q5zo0|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|iq5g0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|s3400|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|13m040|Infinity\",\r\n offsets: \"-184.3|-180|-240|-300\",\r\n offsetIndices: \"012323232323232321212121212121212121212121212121212121212121212\"\r\n }, {\r\n id: \"Europe/Simferopol\",\r\n untils: \"-nu12ao|37a0qo|5xiyk0|iu340|7k800|9q000|9d1c0|iac0|jajmk0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|eeio0|wrjw0|9cyk0|9d440|9cyk0|9d440|1sqk0|7k580|9d440|9cyk0|9q2s0|at4c0|7x9g0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x3w0|asqg0|Infinity\",\r\n offsets: \"-136|-120|-180|-60|-240\",\r\n offsetIndices: \"012131312424242424242424242121212424242212121212121212121212121212121212142\"\r\n }, {\r\n id: \"Europe/Skopje\",\r\n untils: \"-ezayw0|swz00|7k800|9q000|9d1c0|9d1c0|b7pc0|6qlc0|jl1hc0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-60|-120\",\r\n offsetIndices: \"01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Europe/Sofia\",\r\n untils: \"-e6dzw0|7k800|9q000|9d1c0|9d1c0|9d440|hqq240|9eys0|9o2k0|92040|9o2k0|90880|9pug0|90b00|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9cvs0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|ast80|7xhs0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-120|-60|-180\",\r\n offsetIndices: \"01010102020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020\"\r\n }, {\r\n id: \"Europe/Stockholm\",\r\n untils: \"-rzo2w0|75hg0|x5bew0|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-60|-120\",\r\n offsetIndices: \"01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Europe/Tallinn\",\r\n untils: \"-r3exx0|3re10|7x6o0|et6g0|ygov0|a1zgd0|ktx80|l94g0|7k800|9q000|9d1c0|8uac0|j27mk0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asys0|7x6o0|b5uo0|19dc00|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-99|-60|-120|-180|-240\",\r\n offsetIndices: \"012102321212343434343434343433232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"\r\n }, {\r\n id: \"Europe/Tirane\",\r\n untils: \"-t85vo8|dt2gw8|18pew0|7k800|m800|g7ot40|7rjw0|autg0|7x3w0|ayis0|7x3w0|b5xg0|7k580|b42s0|7lzw0|b42s0|7lzw0|b42s0|7x3w0|ahus0|7x3w0|b5xg0|7x3w0|a4w40|8jbw0|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-79.3333|-60|-120\",\r\n offsetIndices: \"01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Europe/Tiraspol\",\r\n untils: \"-r2p1bo|70f1to|fj8m0|6w5c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|geqo0|ha580|oc8g0|7k800|9q000|9d1c0|7cl00|j3pbw0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|25p80|7kdk0|9d1c0|9d1c0|9cvs0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|ast80|7xf00|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-115|-104.4|-120|-180|-60|-240\",\r\n offsetIndices: \"012323232323232323232424235353535353535353535323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"\r\n }, {\r\n id: \"Europe/Ulyanovsk\",\r\n untils: \"-qcx400|5q5zo0|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|iq5g0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|qnc40|Infinity\",\r\n offsets: \"-193.6|-180|-240|-300|-120\",\r\n offsetIndices: \"01232323232323232321214121212121212121212121212121212121212121212\"\r\n }, {\r\n id: \"Europe/Uzhgorod\",\r\n untils: \"-fizzw0|1cm000|7k800|9q000|9d1c0|al900|cnms0|int140|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|eeio0|e1sc0|iprk0|9cyk0|9d440|9cyk0|9d440|9cyk0|9dcg0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-60|-120|-180|-240\",\r\n offsetIndices: \"010101023232323232323232320121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Europe/Vaduz\",\r\n untils: \"-eyh6o0|7x6o0|asw00|7x6o0|k2zus0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-60|-120\",\r\n offsetIndices: \"01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Europe/Vatican\",\r\n untils: \"-rymys0|64ak0|9d440|9et80|88dg0|aunw0|7ig40|b5rw0|8n6s0|9cyk0|aau2s0|18r9k0|7k800|9q000|9d1c0|8l9c0|a4tc0|8j940|9f1k0|afxc0|89zs0|afxc0|7kdk0|b5uo0|979rs0|6h980|cls40|64dc0|clpc0|64dc0|cyo00|64dc0|clpc0|64dc0|c8qo0|6hc00|clpc0|6hc00|clpc0|64dc0|c8qo0|6hc00|clpc0|64dc0|clpc0|64dc0|c8qo0|6hc00|clpc0|6hc00|c8qo0|6hc00|9q5k0|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-60|-120\",\r\n offsetIndices: \"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Europe/Vienna\",\r\n untils: \"-s0e080|7ves0|a4yw0|7x6o0|asw00|7x6o0|t6000|8a5c0|a7a800|1cm000|7k800|9q000|9d1c0|9d1c0|9d1c0|iio0|ivmo0|91xc0|9b6o0|9d1c0|a2yo0|8n400|gfyyg0|8zzw0|9d9o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-60|-120\",\r\n offsetIndices: \"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Europe/Vilnius\",\r\n untils: \"-rns980|1g224o|e75nc|4kqk0|acbs40|gpp40|pits0|7k800|9q000|9d1c0|65zo0|j4vx80|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x9g0|asw00|7x6o0|b5uo0|1s3eo0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-84|-95.6|-60|-120|-180|-240\",\r\n offsetIndices: \"012324323234545454545454545443434343434343434332334343434343434343434343434343434343434343434343434343434343434343434343\"\r\n }, {\r\n id: \"Europe/Volgograd\",\r\n untils: \"-q3cw84|5glrw4|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|iq5g0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|s3400|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|239c40|Infinity\",\r\n offsets: \"-177.6667|-180|-240|-300\",\r\n offsetIndices: \"012323232323232321212121212121212121212121212121212121212121212\"\r\n }, {\r\n id: \"Europe/Warsaw\",\r\n untils: \"-se9yk0|dvyc0|7ves0|a4yw0|7x6o0|asw00|7x6o0|aunw0|7x6o0|1evbs0|9fcwc0|18cao0|7k800|9q000|9d1c0|9gnw0|an980|9kd80|8fs40|922w0|ar1c0|7x6o0|a2yo0|8n400|9q000|902o0|4013w0|64dc0|9d1c0|9d1c0|clpc0|6hc00|9d1c0|9d1c0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|clpc0|64dc0|6j4tc0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-84|-60|-120|-180\",\r\n offsetIndices: \"012121223212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Europe/Zagreb\",\r\n untils: \"-ezayw0|swz00|7k800|9q000|9d1c0|9d1c0|b7pc0|6qlc0|jl1hc0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-60|-120\",\r\n offsetIndices: \"01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Europe/Zaporozhye\",\r\n untils: \"-nu12hc|37a0xc|5u1180|mc0g0|7k800|9q000|12qg0|jjc7s0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9cvs0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9dcg0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-140|-120|-180|-60|-240\",\r\n offsetIndices: \"01213132424242424242424242422121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Europe/Zurich\",\r\n untils: \"-eyh6o0|7x6o0|asw00|7x6o0|k2zus0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-60|-120\",\r\n offsetIndices: \"01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"GB-Eire\",\r\n untils: \"-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"0|-60|-120\",\r\n offsetIndices: \"0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"GB\",\r\n untils: \"-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"0|-60|-120\",\r\n offsetIndices: \"0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"GMT-0\",\r\n untils: \"Infinity\",\r\n offsets: \"0\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"GMT\",\r\n untils: \"Infinity\",\r\n offsets: \"0\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"GMT+0\",\r\n untils: \"Infinity\",\r\n offsets: \"0\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"GMT0\",\r\n untils: \"Infinity\",\r\n offsets: \"0\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Greenwich\",\r\n untils: \"Infinity\",\r\n offsets: \"0\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Hongkong\",\r\n untils: \"-y0i0s0|j44dk0|5k000|4d4y0|2195i0|7x3w0|bj320|6uao0|bvs00|7x6o0|9d1c0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|ast80|77c40|biqk0|77c40|bvp80|6udg0|bvp80|77c40|biqk0|77c40|biqk0|77c40|biqk0|77c40|bvp80|6udg0|bvp80|6udg0|bvp80|77c40|biqk0|77c40|biqk0|8n6s0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|3lpg0|f4d80|9d440|9cyk0|9d440|9cyk0|1c9440|8a2k0|Infinity\",\r\n offsets: \"-456.7|-480|-540|-510\",\r\n offsetIndices: \"0123212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"HST\",\r\n untils: \"Infinity\",\r\n offsets: \"600\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Iceland\",\r\n untils: \"-wcwx9c|4rpd9c|ci2s0|69uk0|du840|4xp80|du840|p7bw0|4w040|9bdzw0|9d6w0|64g40|cyl80|64dc0|clpc0|6hc00|bvs00|6uao0|bvs00|6uao0|bvs00|6uao0|c8qo0|6hc00|c8qo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|afxc0|8a5c0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|8a5c0|Infinity\",\r\n offsets: \"88|60|0\",\r\n offsetIndices: \"012121212121212121212121212121212121212121212121212121212121212121212\"\r\n }, {\r\n id: \"Indian/Antananarivo\",\r\n untils: \"-lnsetg|s8mhg|57v020|afrrb0|Infinity\",\r\n offsets: \"-147.2667|-180|-150|-165\",\r\n offsetIndices: \"01231\"\r\n }, {\r\n id: \"Indian/Chagos\",\r\n untils: \"-wvpc2s|1ag64us|Infinity\",\r\n offsets: \"-289.6667|-300|-360\",\r\n offsetIndices: \"012\"\r\n }, {\r\n id: \"Indian/Christmas\",\r\n untils: \"Infinity\",\r\n offsets: \"-420\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Indian/Cocos\",\r\n untils: \"Infinity\",\r\n offsets: \"-390\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Indian/Comoro\",\r\n untils: \"-lnsetg|s8mhg|57v020|afrrb0|Infinity\",\r\n offsets: \"-147.2667|-180|-150|-165\",\r\n offsetIndices: \"01231\"\r\n }, {\r\n id: \"Indian/Kerguelen\",\r\n untils: \"-afrs00|Infinity\",\r\n offsets: \"0|-300\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Indian/Mahe\",\r\n untils: \"-x6pjlo|Infinity\",\r\n offsets: \"-221.8|-240\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Indian/Maldives\",\r\n untils: \"-57x6y0|Infinity\",\r\n offsets: \"-294|-300\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Indian/Mauritius\",\r\n untils: \"-wvp9bc|13jnu7c|8bx80|dd0wc0|7x3w0|Infinity\",\r\n offsets: \"-230|-240|-300\",\r\n offsetIndices: \"012121\"\r\n }, {\r\n id: \"Indian/Mayotte\",\r\n untils: \"-lnsetg|s8mhg|57v020|afrrb0|Infinity\",\r\n offsets: \"-147.2667|-180|-150|-165\",\r\n offsetIndices: \"01231\"\r\n }, {\r\n id: \"Indian/Reunion\",\r\n untils: \"-uks29s|Infinity\",\r\n offsets: \"-221.8667|-240\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Iran\",\r\n untils: \"-s6m6uw|fnolc0|gm3h4w|777y0|b07w0|3pes0|42c20|9cyk0|9gtg0|9kd80|5ja5g0|7avw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|1av440|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|Infinity\",\r\n offsets: \"-205.7333|-210|-240|-300|-270\",\r\n offsetIndices: \"00123214141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141\"\r\n }, {\r\n id: \"Israel\",\r\n untils: \"-r50eig|bp54yg|19f3w0|7rv00|b02c0|7tk40|b07w0|8jhg0|a8lg0|8jhg0|a8ac0|t9s40|56vs0|35700|9b3w0|9gtg0|8jbw0|7tmw0|a6ig0|biyw0|8a5c0|9d1c0|902o0|7x6o0|e1eg0|4ofw0|dzxo0|4q500|doo40|64iw0|auqo0|7i500|8rfms0|51ek0|9q2s0|6u7w0|2khpg0|25s00|1weyo0|5reo0|bxmo0|7x3w0|cls40|5rbw0|bbhg0|7rjw0|asys0|7k580|c8tg0|6h980|ag040|7x3w0|asys0|8a2k0|asys0|8a2k0|ap9g0|80t80|ap9g0|7nuk0|b2840|80t80|9zc40|9iik0|9kis0|93p80|9mdg0|8qqk0|apf00|7x3w0|biw40|8zx40|9io40|8n180|9kis0|9vh80|8ulg0|9px80|9mdg0|8n180|9tuw0|9tmk0|8wg40|9gnw0|99es0|8qqk0|9zc40|9tmk0|8wg40|9gnw0|99es0|8qqk0|acas0|9gnw0|99es0|93p80|9mdg0|awik0|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|Infinity\",\r\n offsets: \"-140.6667|-120|-180|-240\",\r\n offsetIndices: \"012121212121321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Jamaica\",\r\n untils: \"-u85og2|wbl182|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|Infinity\",\r\n offsets: \"307.1667|300|240\",\r\n offsetIndices: \"0121212121212121212121\"\r\n }, {\r\n id: \"Japan\",\r\n untils: \"-bb4900|6uao0|afxc0|8a5c0|c8qo0|6hc00|c8qo0|6hc00|Infinity\",\r\n offsets: \"-540|-600\",\r\n offsetIndices: \"010101010\"\r\n }, {\r\n id: \"Kwajalein\",\r\n untils: \"-h817w0|27sas0|1hjus0|ddxug0|cgv6k0|Infinity\",\r\n offsets: \"-660|-600|-540|720|-720\",\r\n offsetIndices: \"012034\"\r\n }, {\r\n id: \"Libya\",\r\n untils: \"-q3gfrw|gl6ajw|422c0|xado0|4bbo0|wrpg0|4s580|1kdpg0|c05bw0|4mqs0|9et80|9d440|9et80|9eys0|9et80|9mdg0|95jw0|9io40|9cyk0|99es0|9et80|9eys0|9et80|9d440|9et80|b2840|3cf3w0|9kis0|9et80|7vqyw0|75eo0|asw00|Infinity\",\r\n offsets: \"-52.7333|-60|-120\",\r\n offsetIndices: \"012121212121212121212121212122122\"\r\n }, {\r\n id: \"MET\",\r\n untils: \"-s0e080|7ves0|a4yw0|7x6o0|asw00|7x6o0|b8qdc0|1cm000|7k800|9q000|9d1c0|9d1c0|9d1c0|8l9c0|ggp1c0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-60|-120\",\r\n offsetIndices: \"01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Mexico/BajaNorte\",\r\n untils: \"-p1u1s0|11jrw0|1sns00|1sgdc0|71s40|9cyk0|5iidg0|1q6700|4lfk0|190g40|eluk0|2r4o80|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|84qys0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|77c40|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"468.0667|420|480\",\r\n offsetIndices: \"012121211212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212\"\r\n }, {\r\n id: \"Mexico/BajaSur\",\r\n untils: \"-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|591h80|3ie2s0|axvpg0|dpgw40|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity\",\r\n offsets: \"425.6667|420|360|480\",\r\n offsetIndices: \"0121212131212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Mexico/General\",\r\n untils: \"-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|3knek0|776k0|rf440|5t6k0|1evk40|71mk0|30p1g0|8n180|nufxo0|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity\",\r\n offsets: \"396.6|420|360|300\",\r\n offsetIndices: \"012121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"\r\n }, {\r\n id: \"MST\",\r\n untils: \"Infinity\",\r\n offsets: \"420\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"MST7MDT\",\r\n untils: \"-r0epo0|ast80|7x9g0|ast80|bmtus0|1tz5k0|2dvo0|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"420|360\",\r\n offsetIndices: \"010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Navajo\",\r\n untils: \"-r0epo0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|2vmk0|ataw40|1tz5k0|2dvo0|a7n9g0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"420|360\",\r\n offsetIndices: \"01010101011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"NZ-CHAT\",\r\n untils: \"-ciya10|f1tq90|5reo0|clpc0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|b5uo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|Infinity\",\r\n offsets: \"-735|-765|-825\",\r\n offsetIndices: \"012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212\"\r\n }, {\r\n id: \"NZ\",\r\n untils: \"-m01p20|64ak0|biw40|7x5a0|asxe0|7x5a0|asxe0|7x5a0|asxe0|8a3y0|afyq0|8a3y0|afyq0|afvy0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|b5ta0|7k9e0|b5ta0|7x820|hsl2m0|5reo0|clpc0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|b5uo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|Infinity\",\r\n offsets: \"-690|-750|-720|-780\",\r\n offsetIndices: \"01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323\"\r\n }, {\r\n id: \"Pacific/Apia\",\r\n untils: \"-usiiv4|kcrmt4|vp3la0|9odo0|902o0|4zbk0|4qog0|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|Infinity\",\r\n offsets: \"686.9333|690|660|600|-840|-780\",\r\n offsetIndices: \"01232345454545454545454545454545454545454545454545454545454\"\r\n }, {\r\n id: \"Pacific/Auckland\",\r\n untils: \"-m01p20|64ak0|biw40|7x5a0|asxe0|7x5a0|asxe0|7x5a0|asxe0|8a3y0|afyq0|8a3y0|afyq0|afvy0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|b5ta0|7k9e0|b5ta0|7x820|hsl2m0|5reo0|clpc0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|b5uo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|Infinity\",\r\n offsets: \"-690|-750|-720|-780\",\r\n offsetIndices: \"01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323\"\r\n }, {\r\n id: \"Pacific/Bougainville\",\r\n untils: \"-ecsh40|1n05g0|1071c40|Infinity\",\r\n offsets: \"-600|-540|-660\",\r\n offsetIndices: \"0102\"\r\n }, {\r\n id: \"Pacific/Chatham\",\r\n untils: \"-ciya10|f1tq90|5reo0|clpc0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|b5uo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|Infinity\",\r\n offsets: \"-735|-765|-825\",\r\n offsetIndices: \"012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212\"\r\n }, {\r\n id: \"Pacific/Chuuk\",\r\n untils: \"-su4zs0|29hes0|bkenw0|29fk40|Infinity\",\r\n offsets: \"-600|-540\",\r\n offsetIndices: \"01010\"\r\n }, {\r\n id: \"Pacific/Easter\",\r\n untils: \"-jhfaew|ivmeuw|7k580|c8tg0|6h980|a31g0|7x3w0|asys0|7x3w0|b5xg0|7k580|ag040|8a2k0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|iq2o0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|9cyk0|9d440|7x3w0|asys0|7x3w0|b5xg0|7k580|9q2s0|8zzw0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|a31g0|9px80|9q2s0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|asys0|8zzw0|9q2s0|ast80|5eis0|cyl80|6hes0|c8nw0|6udg0|bvp80|6udg0|vonw0|4olg0|e1h80|4olg0|e1h80|4olg0|c8nw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|Infinity\",\r\n offsets: \"437.4667|420|360|300\",\r\n offsetIndices: \"012121212121212121212121212123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323\"\r\n }, {\r\n id: \"Pacific/Efate\",\r\n untils: \"-u964i4|11f4ba4|9cyk0|awo40|7tek0|9q2s0|8zzw0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|64ak0|e1ms0|4ofw0|Infinity\",\r\n offsets: \"-673.2667|-660|-720\",\r\n offsetIndices: \"0121212121212121212121\"\r\n }, {\r\n id: \"Pacific/Enderbury\",\r\n untils: \"535io0|7yiqk0|Infinity\",\r\n offsets: \"720|660|-780\",\r\n offsetIndices: \"012\"\r\n }, {\r\n id: \"Pacific/Fakaofo\",\r\n untils: \"lx0jw0|Infinity\",\r\n offsets: \"660|-780\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Pacific/Fiji\",\r\n untils: \"-sa2x4w|17bs00w|64dc0|cyo00|5reo0|53a5c0|64dc0|asw00|6uao0|bvs00|4oio0|e1k00|4oio0|eeio0|4bh80|erk40|3ylc0|erhc0|3ylc0|f4g00|3lmo0|f4g00|3lmo0|f4g00|3lmo0|fheo0|38o00|fheo0|3lmo0|fheo0|38o00|fheo0|38o00|fheo0|38o00|fheo0|38o00|fheo0|3lmo0|f4g00|3lmo0|fheo0|38o00|fheo0|38o00|fheo0|38o00|fheo0|38o00|fheo0|3lmo0|fheo0|38o00|fheo0|38o00|fheo0|38o00|fheo0|38o00|fheo0|3lmo0|f4g00|3lmo0|Infinity\",\r\n offsets: \"-715.7333|-720|-780\",\r\n offsetIndices: \"0121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Pacific/Funafuti\",\r\n untils: \"Infinity\",\r\n offsets: \"-720\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Pacific/Galapagos\",\r\n untils: \"-kcr62o|spdryo|3lsas0|3jp80|Infinity\",\r\n offsets: \"358.4|300|360\",\r\n offsetIndices: \"01212\"\r\n }, {\r\n id: \"Pacific/Gambier\",\r\n untils: \"-tvndoc|Infinity\",\r\n offsets: \"539.8|540\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Pacific/Guadalcanal\",\r\n untils: \"-tvowac|Infinity\",\r\n offsets: \"-639.8|-660\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Pacific/Guam\",\r\n untils: \"-en8eg0|1dl9g0|7s1k40|txp80|3frms0|qdrpo|7kgac|3ljw0|c8tg0|6u7w0|bvus0|6u7w0|16uo40|3ljw0|16aas0|4ivxo|cls2c|6h980|c65zw0|Infinity\",\r\n offsets: \"-600|-540|-660\",\r\n offsetIndices: \"01020202020202020200\"\r\n }, {\r\n id: \"Pacific/Honolulu\",\r\n untils: \"-j50la0|13l00|4jvb00|1tyvu0|2e5e0|votg0|Infinity\",\r\n offsets: \"630|570|600\",\r\n offsetIndices: \"0101102\"\r\n }, {\r\n id: \"Pacific/Johnston\",\r\n untils: \"-j50la0|13l00|4jvb00|1tyvu0|2e5e0|votg0|Infinity\",\r\n offsets: \"630|570|600\",\r\n offsetIndices: \"0101102\"\r\n }, {\r\n id: \"Pacific/Kiritimati\",\r\n untils: \"535eyo|7yirhc|Infinity\",\r\n offsets: \"640|600|-840\",\r\n offsetIndices: \"012\"\r\n }, {\r\n id: \"Pacific/Kosrae\",\r\n untils: \"-su52k0|29hhk0|9cmd40|27sas0|29fk40|cm2540|f9l3w0|Infinity\",\r\n offsets: \"-660|-540|-600|-720\",\r\n offsetIndices: \"01021030\"\r\n }, {\r\n id: \"Pacific/Kwajalein\",\r\n untils: \"-h817w0|27sas0|1hjus0|ddxug0|cgv6k0|Infinity\",\r\n offsets: \"-660|-600|-540|720|-720\",\r\n offsetIndices: \"012034\"\r\n }, {\r\n id: \"Pacific/Majuro\",\r\n untils: \"-su52k0|29hhk0|9cmd40|27sas0|1h6w40|deat40|Infinity\",\r\n offsets: \"-660|-540|-600|-720\",\r\n offsetIndices: \"0102103\"\r\n }, {\r\n id: \"Pacific/Marquesas\",\r\n untils: \"-tvncu0|Infinity\",\r\n offsets: \"558|570\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Pacific/Midway\",\r\n untils: \"-usij20|Infinity\",\r\n offsets: \"682.8|660\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Pacific/Nauru\",\r\n untils: \"-pjxiws|ba66ys|1kwca0|hfzda0|Infinity\",\r\n offsets: \"-667.6667|-690|-540|-720\",\r\n offsetIndices: \"01213\"\r\n }, {\r\n id: \"Pacific/Niue\",\r\n untils: \"-9wyz6o|ehcj4o|Infinity\",\r\n offsets: \"680|690|660\",\r\n offsetIndices: \"012\"\r\n }, {\r\n id: \"Pacific/Norfolk\",\r\n untils: \"-9x0ps0|cfj8q0|6hc00|l6nk00|239aq0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity\",\r\n offsets: \"-672|-690|-750|-660|-720\",\r\n offsetIndices: \"012134343434343434343434343434343434343434\"\r\n }, {\r\n id: \"Pacific/Noumea\",\r\n untils: \"-u9645o|ye0ixo|4dbw0|ecqs0|4f6k0|99p700|4oio0|Infinity\",\r\n offsets: \"-665.8|-660|-720\",\r\n offsetIndices: \"01212121\"\r\n }, {\r\n id: \"Pacific/Pago_Pago\",\r\n untils: \"-usij20|Infinity\",\r\n offsets: \"682.8|660\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Pacific/Palau\",\r\n untils: \"Infinity\",\r\n offsets: \"-540\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Pacific/Pitcairn\",\r\n untils: \"es2cy0|Infinity\",\r\n offsets: \"510|480\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Pacific/Pohnpei\",\r\n untils: \"-su52k0|29hhk0|9cmd40|27sas0|29fk40|Infinity\",\r\n offsets: \"-660|-540|-600\",\r\n offsetIndices: \"010210\"\r\n }, {\r\n id: \"Pacific/Ponape\",\r\n untils: \"-su52k0|29hhk0|9cmd40|27sas0|29fk40|Infinity\",\r\n offsets: \"-660|-540|-600\",\r\n offsetIndices: \"010210\"\r\n }, {\r\n id: \"Pacific/Port_Moresby\",\r\n untils: \"Infinity\",\r\n offsets: \"-600\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Pacific/Rarotonga\",\r\n untils: \"4mj960|5rbw0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|6ham0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|6ham0|Infinity\",\r\n offsets: \"630|570|600\",\r\n offsetIndices: \"012121212121212121212121212\"\r\n }, {\r\n id: \"Pacific/Saipan\",\r\n untils: \"-en8eg0|1dl9g0|7s1k40|txp80|3frms0|qdrpo|7kgac|3ljw0|c8tg0|6u7w0|bvus0|6u7w0|16uo40|3ljw0|16aas0|4ivxo|cls2c|6h980|c65zw0|Infinity\",\r\n offsets: \"-600|-540|-660\",\r\n offsetIndices: \"01020202020202020200\"\r\n }, {\r\n id: \"Pacific/Samoa\",\r\n untils: \"-usij20|Infinity\",\r\n offsets: \"682.8|660\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Pacific/Tahiti\",\r\n untils: \"-tvnayw|Infinity\",\r\n offsets: \"598.2667|600\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"Pacific/Tarawa\",\r\n untils: \"Infinity\",\r\n offsets: \"-720\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Pacific/Tongatapu\",\r\n untils: \"-f4vrlc|uo2edc|8fpc0|bvs00|4bh80|eelg0|4bh80|7pmis0|3lmo0|Infinity\",\r\n offsets: \"-740|-780|-840\",\r\n offsetIndices: \"0121212121\"\r\n }, {\r\n id: \"Pacific/Truk\",\r\n untils: \"-su4zs0|29hes0|bkenw0|29fk40|Infinity\",\r\n offsets: \"-600|-540\",\r\n offsetIndices: \"01010\"\r\n }, {\r\n id: \"Pacific/Wake\",\r\n untils: \"Infinity\",\r\n offsets: \"-720\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Pacific/Wallis\",\r\n untils: \"Infinity\",\r\n offsets: \"-720\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Pacific/Yap\",\r\n untils: \"-su4zs0|29hes0|bkenw0|29fk40|Infinity\",\r\n offsets: \"-600|-540\",\r\n offsetIndices: \"01010\"\r\n }, {\r\n id: \"Poland\",\r\n untils: \"-se9yk0|dvyc0|7ves0|a4yw0|7x6o0|asw00|7x6o0|aunw0|7x6o0|1evbs0|9fcwc0|18cao0|7k800|9q000|9d1c0|9gnw0|an980|9kd80|8fs40|922w0|ar1c0|7x6o0|a2yo0|8n400|9q000|902o0|4013w0|64dc0|9d1c0|9d1c0|clpc0|6hc00|9d1c0|9d1c0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|clpc0|64dc0|6j4tc0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"-84|-60|-120|-180\",\r\n offsetIndices: \"012121223212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"Portugal\",\r\n untils: \"-u9rhc0|2bufw0|6zxg0|66580|bq800|73k00|bodc0|71pc0|bq800|73k00|bq800|71pc0|bq800|1b2g00|9b6o0|saio0|8n400|9q000|902o0|a2yo0|902o0|a2yo0|8n400|st1c0|8n400|9d1c0|9d1c0|sg2o0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51hc0|bitc0|9d1c0|9ew00|88ao0|25p80|5reo0|3lpg0|779c0|1sqk0|6uao0|38qs0|6uao0|25p80|6hc00|38qs0|6uao0|25p80|6hc00|38qs0|8a5c0|9d1c0|9d9o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|s3400|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|5gyl40|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d440|9cyk0|9d440|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9cyk0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"36.75|0|-60|-120\",\r\n offsetIndices: \"012121212121212121212121212121212121212121212321232123212321212121212121212121212121212121212121212121212121212121212121212121212122323232212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"PRC\",\r\n untils: \"-qh00w0|8sl80|asbpg0|6w2k0|7ves0|bxjw0|4mqs0|1vduk0|d4as0|75bw0|a31g0|aaak0|9d440|7v980|awo40|1dx80|j9xpo0|6u7w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|Infinity\",\r\n offsets: \"-480|-540\",\r\n offsetIndices: \"01010101010101010101010101010\"\r\n }, {\r\n id: \"PST8PDT\",\r\n untils: \"-r0emw0|ast80|7x9g0|ast80|bmtus0|1tz2s0|2dyg0|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"480|420\",\r\n offsetIndices: \"010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"ROC\",\r\n untils: \"-gtzfk0|45slc0|c51c0|75bw0|a31g0|aaak0|9d440|7v980|awo40|7v980|awo40|7v980|awo40|7v980|7tk40|clmk0|7rpg0|b07w0|7rpg0|b07w0|7rpg0|9et80|9eys0|9et80|9d440|9et80|9d440|9et80|9d440|9et80|cjxg0|69uk0|ci2s0|69uk0|6its40|9et80|9d440|9et80|1yf9g0|4qak0|Infinity\",\r\n offsets: \"-480|-540\",\r\n offsetIndices: \"01010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"ROK\",\r\n untils: \"-w8966g|1yh18g|hkx5a0|1faao0|5cik0|ae5g0|8a2k0|ae5g0|8bx80|c8tg0|6h980|1bj6s0|l3aq0|6j3w0|d2g40|6u7w0|b5xg0|776k0|biw40|776k0|biw40|776k0|biw40|776k0|grs40|dfqxi0|7x6o0|asw00|7x6o0|Infinity\",\r\n offsets: \"-507.8667|-510|-540|-600|-570\",\r\n offsetIndices: \"012232323232141414141414123232\"\r\n }, {\r\n id: \"Singapore\",\r\n untils: \"-xphpwd|eeb94d|4it32o|8n3jc|1v2p60|iy3o60|Infinity\",\r\n offsets: \"-415.4167|-420|-440|-450|-540|-480\",\r\n offsetIndices: \"0123435\"\r\n }, {\r\n id: \"Turkey\",\r\n untils: \"-ux9xew|2wvx6w|7v980|1tjc40|aunw0|88dg0|9et80|8yas0|a2vw0|tzpg0|79180|awo40|7v980|7p4040|4zjw0|2vs40|f4d80|9vms0|1u5ek0|c5440|69uk0|acas0|8n180|a31g0|8n180|9q2s0|8zzw0|a31g0|8zzw0|a31g0|8n180|5md9g0|o9zw0|a6qs0|75bw0|4iwyw0|7x6o0|7kas0|b5rw0|75hg0|bkl80|77c40|biqk0|7x9g0|a2vw0|8n6s0|4iqc0|2nkw80|38l80|kdes0|8qtc0|8a5c0|9ew00|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|902o0|9q000|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7kdk0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7m2o0|b4000|7k800|b5uo0|7x6o0|asw00|7z1c0|ar1c0|7x6o0|bitc0|779c0|8fe80|Infinity\",\r\n offsets: \"-116.9333|-120|-180|-240\",\r\n offsetIndices: \"0121212121212121212121212121212121212121212121223212121212121212121212121212121212121212121212121212121212121212122\"\r\n }, {\r\n id: \"UCT\",\r\n untils: \"Infinity\",\r\n offsets: \"0\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"Universal\",\r\n untils: \"Infinity\",\r\n offsets: \"0\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"US/Alaska\",\r\n untils: \"-ek1qo0|1tyx80|2e400|b7yik0|12y080|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1l940|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"600|540|480\",\r\n offsetIndices: \"011001010101010101010101010101010111212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"US/Aleutian\",\r\n untils: \"-ek1nw0|1tyug0|2e6s0|b7yik0|12y080|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1l940|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"660|600|540\",\r\n offsetIndices: \"011001010101010101010101010101010111212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"US/Arizona\",\r\n untils: \"-r0epo0|ast80|7x9g0|ast80|bmtus0|zjedo|4olg0|9et80|bs6lmc|9cyk0|Infinity\",\r\n offsets: \"420|360\",\r\n offsetIndices: \"01010101010\"\r\n }, {\r\n id: \"US/Central\",\r\n untils: \"-r0esg0|ast80|7x9g0|ast80|bvus0|776k0|7kas0|b5rw0|9d440|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|7x9g0|dbjw0|8a840|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|6w840|1tz8c0|2dsw0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"360|300\",\r\n offsetIndices: \"01010101010101010101010101010101010101010101010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"US/East-Indiana\",\r\n untils: \"-r0esg0|ast80|7x9g0|ast80|baw840|51ek0|6w840|1tz8c0|2dsw0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|19q7w0|asys0|5qonw0|9cyk0|9d440|9cyk0|ihslg0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"360|300|240\",\r\n offsetIndices: \"010101011010101010101010101010121212121212121212121212121212121212121212121212121212121212121212121\"\r\n }, {\r\n id: \"US/Eastern\",\r\n untils: \"-r0ev80|ast80|7x9g0|ast80|7x9g0|b5rw0|905g0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|6w840|1tzb40|2dq40|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"300|240\",\r\n offsetIndices: \"01010101010101010101010101010101010101010101010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"US/Hawaii\",\r\n untils: \"-j50la0|13l00|4jvb00|1tyvu0|2e5e0|votg0|Infinity\",\r\n offsets: \"630|570|600\",\r\n offsetIndices: \"0101102\"\r\n }, {\r\n id: \"US/Indiana-Starke\",\r\n untils: \"-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|tj1g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|7x3w0|asys0|7x3w0|asys0|9cyk0|9d440|9px80|9d440|9cyk0|9d440|s3180|1twas0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|7j5400|asw00|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"360|300\",\r\n offsetIndices: \"0101011010101010101010101010101010101010101010101010101010101010101010101010101010101010111010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"US/Michigan\",\r\n untils: \"-xx8dyd|5eraud|dyeyk0|1tzb40|2dq40|1c9440|7x3w0|9rlbxo|71s2c|9d440|9cyk0|2cmdg0|9cyk0|3lpg0|f4d80|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"332.1833|360|300|240\",\r\n offsetIndices: \"0123323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"\r\n }, {\r\n id: \"US/Mountain\",\r\n untils: \"-r0epo0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|2vmk0|ataw40|1tz5k0|2dvo0|a7n9g0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"420|360\",\r\n offsetIndices: \"01010101011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"US/Pacific-New\",\r\n untils: \"-r0emw0|ast80|7x9g0|ast80|bmtus0|1tz2s0|2dyg0|1a3c5o|f2iic|owao0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|9q000|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"480|420\",\r\n offsetIndices: \"010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"US/Pacific\",\r\n untils: \"-r0emw0|ast80|7x9g0|ast80|bmtus0|1tz2s0|2dyg0|1a3c5o|f2iic|owao0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|9q000|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",\r\n offsets: \"480|420\",\r\n offsetIndices: \"010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"US/Samoa\",\r\n untils: \"-usij20|Infinity\",\r\n offsets: \"682.8|660\",\r\n offsetIndices: \"01\"\r\n }, {\r\n id: \"UTC\",\r\n untils: \"Infinity\",\r\n offsets: \"0\",\r\n offsetIndices: \"0\"\r\n }, {\r\n id: \"W-SU\",\r\n untils: \"-rx5dmh|ipzua|97hc0|7yyk0|5i840|d9p80|1jwk7|2cvk0|s8o00|1qvw0|8fpc0|1jms0|is040|412as0|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d440|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity\",\r\n offsets: \"-150.2833|-151.3167|-211.3167|-271.3167|-240|-180|-300|-120\",\r\n offsetIndices: \"012132345464575454545454545454545455754545454545454545454545454545454545454545\"\r\n }, {\r\n id: \"WET\",\r\n untils: \"3s9ms0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",\r\n offsets: \"0|-60\",\r\n offsetIndices: \"010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"\r\n }, {\r\n id: \"Zulu\",\r\n untils: \"Infinity\",\r\n offsets: \"0\",\r\n offsetIndices: \"0\"\r\n }]\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/viz/chart_components/m_advanced_chart.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n noop as _noop\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n extend as _extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n reverseEach as _reverseEach\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n isDefined as _isDefined,\r\n type\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n Axis\r\n} from \"../../../viz/axes/base_axis\";\r\nimport {\r\n SeriesFamily\r\n} from \"../../../viz/core/series_family\";\r\nimport {\r\n convertVisualRangeObject,\r\n map as _map,\r\n mergeMarginOptions,\r\n rangesAreEqual,\r\n setCanvasValues,\r\n unique\r\n} from \"../../../viz/core/utils\";\r\nimport rangeDataCalculator from \"../../../viz/series/helpers/range_data_calculator\";\r\nimport {\r\n Range\r\n} from \"../../../viz/translators/range\";\r\nimport {\r\n areCanvasesDifferent,\r\n floorCanvasDimensions\r\n} from \"../../../viz/utils\";\r\nimport {\r\n BaseChart\r\n} from \"./m_base_chart\";\r\nvar {\r\n isArray: isArray\r\n} = Array;\r\nvar DEFAULT_AXIS_NAME = \"defaultAxisName\";\r\nvar FONT = \"font\";\r\nvar COMMON_AXIS_SETTINGS = \"commonAxisSettings\";\r\nvar DEFAULT_PANE_NAME = \"default\";\r\nvar VISUAL_RANGE = \"VISUAL_RANGE\";\r\n\r\nfunction prepareAxis(axisOptions) {\r\n if (isArray(axisOptions)) {\r\n return 0 === axisOptions.length ? [{}] : axisOptions\r\n }\r\n return [axisOptions]\r\n}\r\n\r\nfunction processBubbleMargin(marginOptions, bubbleSize) {\r\n if (marginOptions.processBubbleSize) {\r\n marginOptions.size = bubbleSize\r\n }\r\n return marginOptions\r\n}\r\n\r\nfunction estimateBubbleSize(size, panesCount, maxSize, rotated) {\r\n var width = rotated ? size.width / panesCount : size.width;\r\n var height = rotated ? size.height : size.height / panesCount;\r\n return Math.min(width, height) * maxSize\r\n}\r\n\r\nfunction setAxisVisualRangeByOption(arg, axis, isDirectOption, index) {\r\n var options;\r\n var visualRange;\r\n if (isDirectOption) {\r\n visualRange = arg.value;\r\n options = {\r\n skipEventRising: true\r\n };\r\n var wrappedVisualRange = wrapVisualRange(arg.fullName, visualRange);\r\n if (wrappedVisualRange) {\r\n options = {\r\n allowPartialUpdate: true\r\n };\r\n visualRange = wrappedVisualRange\r\n }\r\n } else {\r\n visualRange = (_isDefined(index) ? arg.value[index] : arg.value).visualRange\r\n }\r\n axis.visualRange(visualRange, options)\r\n}\r\n\r\nfunction getAxisTypes(groupsData, axis, isArgumentAxes) {\r\n if (isArgumentAxes) {\r\n return {\r\n argumentAxisType: groupsData.argumentAxisType,\r\n argumentType: groupsData.argumentType\r\n }\r\n }\r\n var {\r\n valueAxisType: valueAxisType,\r\n valueType: valueType\r\n } = groupsData.groups.find(g => g.valueAxis === axis);\r\n return {\r\n valueAxisType: valueAxisType,\r\n valueType: valueType\r\n }\r\n}\r\n\r\nfunction wrapVisualRange(fullName, value) {\r\n var pathElements = fullName.split(\".\");\r\n var destElem = pathElements.at(-1);\r\n if (\"endValue\" === destElem || \"startValue\" === destElem) {\r\n return {\r\n [destElem]: value\r\n }\r\n }\r\n return\r\n}\r\nexport var AdvancedChart = BaseChart.inherit({\r\n _fontFields: [\"\".concat(COMMON_AXIS_SETTINGS, \".label.\").concat(FONT), \"\".concat(COMMON_AXIS_SETTINGS, \".title.\").concat(FONT)],\r\n _partialOptionChangesMap: {\r\n visualRange: VISUAL_RANGE,\r\n _customVisualRange: VISUAL_RANGE,\r\n strips: \"REFRESH_AXES\",\r\n constantLines: \"REFRESH_AXES\"\r\n },\r\n _partialOptionChangesPath: {\r\n argumentAxis: [\"strips\", \"constantLines\", \"visualRange\", \"_customVisualRange\"],\r\n valueAxis: [\"strips\", \"constantLines\", \"visualRange\", \"_customVisualRange\"]\r\n },\r\n _initCore() {\r\n this._panesClipRects = {};\r\n this.callBase()\r\n },\r\n _disposeCore() {\r\n var disposeObjectsInArray = this._disposeObjectsInArray;\r\n var panesClipRects = this._panesClipRects;\r\n this.callBase();\r\n disposeObjectsInArray.call(panesClipRects, \"fixed\");\r\n disposeObjectsInArray.call(panesClipRects, \"base\");\r\n disposeObjectsInArray.call(panesClipRects, \"wide\");\r\n this._panesClipRects = null;\r\n this._labelsAxesGroup.linkOff();\r\n this._labelsAxesGroup.dispose();\r\n this._labelsAxesGroup = null\r\n },\r\n _dispose() {\r\n var disposeObjectsInArray = this._disposeObjectsInArray;\r\n this.callBase();\r\n this.panes = null;\r\n if (this._legend) {\r\n this._legend.dispose();\r\n this._legend = null\r\n }\r\n disposeObjectsInArray.call(this, \"panesBackground\");\r\n disposeObjectsInArray.call(this, \"seriesFamilies\");\r\n this._disposeAxes()\r\n },\r\n _createPanes() {\r\n this._cleanPanesClipRects(\"fixed\");\r\n this._cleanPanesClipRects(\"base\");\r\n this._cleanPanesClipRects(\"wide\")\r\n },\r\n _cleanPanesClipRects(clipArrayName) {\r\n var clipArray = this._panesClipRects[clipArrayName];\r\n (clipArray || []).forEach(clipRect => {\r\n null === clipRect || void 0 === clipRect ? void 0 : clipRect.dispose()\r\n });\r\n this._panesClipRects[clipArrayName] = []\r\n },\r\n _getElementsClipRectID(paneName) {\r\n var clipShape = this._panesClipRects.fixed[this._getPaneIndex(paneName)];\r\n return null === clipShape || void 0 === clipShape ? void 0 : clipShape.id\r\n },\r\n _getPaneIndex(paneName) {\r\n var name = paneName || DEFAULT_PANE_NAME;\r\n return this.panes.findIndex(pane => pane.name === name)\r\n },\r\n _updateSize(forceUpdateCanvas) {\r\n this.callBase();\r\n if (forceUpdateCanvas && areCanvasesDifferent(this.__currentCanvas, this._canvas)) {\r\n this.__currentCanvas = floorCanvasDimensions(this._canvas)\r\n }\r\n setCanvasValues(this._canvas)\r\n },\r\n _reinitAxes() {\r\n this.panes = this._createPanes();\r\n this._populateAxes();\r\n this._axesReinitialized = true\r\n },\r\n _populateAxes() {\r\n var {\r\n panes: panes\r\n } = this;\r\n var rotated = this._isRotated();\r\n var argumentAxesOptions = prepareAxis(this.option(\"argumentAxis\") || {})[0];\r\n var valueAxisOption = this.option(\"valueAxis\");\r\n var valueAxesOptions = prepareAxis(valueAxisOption || {});\r\n var argumentAxesPopulatedOptions;\r\n var valueAxesPopulatedOptions = [];\r\n var axisNames = [];\r\n var valueAxesCounter = 0;\r\n var paneWithNonVirtualAxis;\r\n var crosshairMargins = this._getCrosshairMargins();\r\n\r\n function getNextAxisName() {\r\n var name = DEFAULT_AXIS_NAME + String(valueAxesCounter);\r\n valueAxesCounter += 1;\r\n return name\r\n }\r\n if (rotated) {\r\n paneWithNonVirtualAxis = \"right\" === argumentAxesOptions.position ? panes[panes.length - 1].name : panes[0].name\r\n } else {\r\n paneWithNonVirtualAxis = \"top\" === argumentAxesOptions.position ? panes[0].name : panes[panes.length - 1].name\r\n }\r\n argumentAxesPopulatedOptions = _map(panes, pane => {\r\n var virtual = pane.name !== paneWithNonVirtualAxis;\r\n return this._populateAxesOptions(\"argumentAxis\", argumentAxesOptions, {\r\n pane: pane.name,\r\n name: null,\r\n optionPath: \"argumentAxis\",\r\n crosshairMargin: rotated ? crosshairMargins.x : crosshairMargins.y\r\n }, rotated, virtual)\r\n });\r\n valueAxesOptions.forEach((axisOptions, priority) => {\r\n var _a;\r\n var axisPanes = [];\r\n var {\r\n name: name\r\n } = axisOptions;\r\n if (name && axisNames.includes(name)) {\r\n this._incidentOccurred(\"E2102\");\r\n return\r\n }\r\n if (name) {\r\n axisNames.push(name)\r\n }\r\n if (axisOptions.pane) {\r\n axisPanes.push(axisOptions.pane)\r\n }\r\n if (null === (_a = axisOptions.panes) || void 0 === _a ? void 0 : _a.length) {\r\n axisPanes = axisPanes.concat(axisOptions.panes.slice(0))\r\n }\r\n axisPanes = unique(axisPanes);\r\n if (!axisPanes.length) {\r\n axisPanes.push(void 0)\r\n }\r\n axisPanes.forEach(pane => {\r\n var optionPath = isArray(valueAxisOption) ? \"valueAxis[\".concat(String(priority), \"]\") : \"valueAxis\";\r\n valueAxesPopulatedOptions.push(this._populateAxesOptions(\"valueAxis\", axisOptions, {\r\n name: name || getNextAxisName(),\r\n pane: pane,\r\n priority: priority,\r\n optionPath: optionPath,\r\n crosshairMargin: rotated ? crosshairMargins.y : crosshairMargins.x\r\n }, rotated))\r\n })\r\n });\r\n this._redesignAxes(argumentAxesPopulatedOptions, true, paneWithNonVirtualAxis);\r\n this._redesignAxes(valueAxesPopulatedOptions, false)\r\n },\r\n _redesignAxes(options, isArgumentAxes, paneWithNonVirtualAxis) {\r\n var axesBasis = [];\r\n var axes = isArgumentAxes ? this._argumentAxes : this._valueAxes;\r\n options.forEach(opt => {\r\n var curAxes = null === axes || void 0 === axes ? void 0 : axes.filter(a => a.name === opt.name && (!_isDefined(opt.pane) && this.panes.some(p => p.name === a.pane) || a.pane === opt.pane));\r\n if (null === curAxes || void 0 === curAxes ? void 0 : curAxes.length) {\r\n curAxes.forEach(axis => {\r\n var axisTypes = getAxisTypes(this._groupsData, axis, isArgumentAxes);\r\n axis.updateOptions(opt);\r\n if (isArgumentAxes) {\r\n axis.setTypes(axisTypes.argumentAxisType, axisTypes.argumentType, \"argumentType\")\r\n } else {\r\n axis.setTypes(axisTypes.valueAxisType, axisTypes.valueType, \"valueType\")\r\n }\r\n axis.validate();\r\n axesBasis.push({\r\n axis: axis\r\n })\r\n })\r\n } else {\r\n axesBasis.push({\r\n options: opt\r\n })\r\n }\r\n });\r\n if (axes) {\r\n _reverseEach(axes, (index, axis) => {\r\n if (!axesBasis.some(basis => basis.axis && basis.axis === axis)) {\r\n this._disposeAxis(index, isArgumentAxes)\r\n }\r\n })\r\n } else if (isArgumentAxes) {\r\n axes = this._argumentAxes = []\r\n } else {\r\n axes = this._valueAxes = []\r\n }\r\n axesBasis.forEach(basis => {\r\n var {\r\n axis: axis\r\n } = basis;\r\n if (basis.axis && isArgumentAxes) {\r\n basis.axis.isVirtual = basis.axis.pane !== paneWithNonVirtualAxis\r\n } else if (basis.options) {\r\n axis = this._createAxis(isArgumentAxes, basis.options, isArgumentAxes ? basis.options.pane !== paneWithNonVirtualAxis : void 0);\r\n axes.push(axis)\r\n }\r\n axis.applyVisualRangeSetter(this._getVisualRangeSetter())\r\n })\r\n },\r\n _disposeAxis(index, isArgumentAxis) {\r\n var axes = isArgumentAxis ? this._argumentAxes : this._valueAxes;\r\n var axis = axes[index];\r\n if (!axis) {\r\n return\r\n }\r\n axis.dispose();\r\n axes.splice(index, 1)\r\n },\r\n _disposeAxes() {\r\n var disposeObjectsInArray = this._disposeObjectsInArray;\r\n disposeObjectsInArray.call(this, \"_argumentAxes\");\r\n disposeObjectsInArray.call(this, \"_valueAxes\")\r\n },\r\n _appendAdditionalSeriesGroups() {\r\n this._crosshairCursorGroup.linkAppend();\r\n if (this._scrollBar) {\r\n this._scrollBarGroup.linkAppend()\r\n }\r\n },\r\n _getLegendTargets() {\r\n return (this.series || []).map(s => {\r\n var item = this._getLegendOptions(s);\r\n item.legendData.series = s;\r\n if (!s.getOptions().showInLegend) {\r\n item.legendData.visible = false\r\n }\r\n return item\r\n })\r\n },\r\n _legendItemTextField: \"name\",\r\n _seriesPopulatedHandlerCore() {\r\n this._processSeriesFamilies();\r\n this._processValueAxisFormat()\r\n },\r\n _renderTrackers() {\r\n for (var i = 0; i < this.series.length; i += 1) {\r\n this.series[i].drawTrackers()\r\n }\r\n },\r\n _specialProcessSeries() {\r\n this._processSeriesFamilies()\r\n },\r\n _processSeriesFamilies() {\r\n var _a;\r\n var types = [];\r\n var families = [];\r\n var paneSeries;\r\n var themeManager = this._themeManager;\r\n var negativesAsZeroes = themeManager.getOptions(\"negativesAsZeroes\");\r\n var negativesAsZeros = themeManager.getOptions(\"negativesAsZeros\");\r\n var familyOptions = {\r\n minBubbleSize: themeManager.getOptions(\"minBubbleSize\"),\r\n maxBubbleSize: themeManager.getOptions(\"maxBubbleSize\"),\r\n barGroupPadding: themeManager.getOptions(\"barGroupPadding\"),\r\n barGroupWidth: themeManager.getOptions(\"barGroupWidth\"),\r\n negativesAsZeroes: _isDefined(negativesAsZeroes) ? negativesAsZeroes : negativesAsZeros\r\n };\r\n if (null === (_a = this.seriesFamilies) || void 0 === _a ? void 0 : _a.length) {\r\n this.seriesFamilies.forEach(family => {\r\n family.updateOptions(familyOptions);\r\n family.adjustSeriesValues()\r\n });\r\n return\r\n }\r\n this.series.forEach(item => {\r\n if (!types.includes(item.type)) {\r\n types.push(item.type)\r\n }\r\n });\r\n this._getLayoutTargets().forEach(pane => {\r\n paneSeries = this._getSeriesForPane(pane.name);\r\n types.forEach(type => {\r\n var family = new SeriesFamily({\r\n type: type,\r\n pane: pane.name,\r\n minBubbleSize: familyOptions.minBubbleSize,\r\n maxBubbleSize: familyOptions.maxBubbleSize,\r\n barGroupPadding: familyOptions.barGroupPadding,\r\n barGroupWidth: familyOptions.barGroupWidth,\r\n negativesAsZeroes: familyOptions.negativesAsZeroes,\r\n rotated: this._isRotated()\r\n });\r\n family.add(paneSeries);\r\n family.adjustSeriesValues();\r\n families.push(family)\r\n })\r\n });\r\n this.seriesFamilies = families\r\n },\r\n _updateSeriesDimensions() {\r\n var seriesFamilies = this.seriesFamilies || [];\r\n for (var i = 0; i < seriesFamilies.length; i += 1) {\r\n var family = seriesFamilies[i];\r\n family.updateSeriesValues();\r\n family.adjustSeriesDimensions()\r\n }\r\n },\r\n _getLegendCallBack(series) {\r\n var _a;\r\n return null === (_a = this._legend) || void 0 === _a ? void 0 : _a.getActionCallback(series)\r\n },\r\n _appendAxesGroups() {\r\n this._stripsGroup.linkAppend();\r\n this._gridGroup.linkAppend();\r\n this._axesGroup.linkAppend();\r\n this._labelsAxesGroup.linkAppend();\r\n this._constantLinesGroup.linkAppend();\r\n this._stripLabelAxesGroup.linkAppend();\r\n this._scaleBreaksGroup.linkAppend()\r\n },\r\n _populateMarginOptions() {\r\n var bubbleSize = estimateBubbleSize(this.getSize(), this.panes.length, this._themeManager.getOptions(\"maxBubbleSize\"), this._isRotated());\r\n var argumentMarginOptions = {};\r\n this._valueAxes.forEach(valueAxis => {\r\n var groupSeries = this.series.filter(series => series.getValueAxis() === valueAxis);\r\n var marginOptions = {};\r\n groupSeries.forEach(series => {\r\n if (series.isVisible()) {\r\n var seriesMarginOptions = processBubbleMargin(series.getMarginOptions(), bubbleSize);\r\n marginOptions = mergeMarginOptions(marginOptions, seriesMarginOptions);\r\n argumentMarginOptions = mergeMarginOptions(argumentMarginOptions, seriesMarginOptions)\r\n }\r\n });\r\n valueAxis.setMarginOptions(marginOptions)\r\n });\r\n this._argumentAxes.forEach(a => a.setMarginOptions(argumentMarginOptions))\r\n },\r\n _populateBusinessRange(updatedAxis, keepRange) {\r\n var rotated = this._isRotated();\r\n var series = this._getVisibleSeries();\r\n var argRanges = {};\r\n var commonArgRange = new Range({\r\n rotated: !!rotated\r\n });\r\n var getPaneName = axis => axis.pane || DEFAULT_PANE_NAME;\r\n this.panes.forEach(p => {\r\n argRanges[p.name] = new Range({\r\n rotated: !!rotated\r\n })\r\n });\r\n this._valueAxes.forEach(valueAxis => {\r\n var groupRange = new Range({\r\n rotated: !!rotated,\r\n pane: valueAxis.pane,\r\n axis: valueAxis.name\r\n });\r\n var groupSeries = series.filter(series => series.getValueAxis() === valueAxis);\r\n groupSeries.forEach(series => {\r\n var seriesRange = series.getRangeData();\r\n groupRange.addRange(seriesRange.val);\r\n argRanges[getPaneName(valueAxis)].addRange(seriesRange.arg)\r\n });\r\n if (!updatedAxis || updatedAxis && groupSeries.length && valueAxis === updatedAxis) {\r\n valueAxis.setGroupSeries(groupSeries);\r\n valueAxis.setBusinessRange(groupRange, this._axesReinitialized || keepRange, this._argumentAxes[0]._lastVisualRangeUpdateMode)\r\n }\r\n });\r\n if (!updatedAxis || updatedAxis && series.length) {\r\n Object.keys(argRanges).forEach(p => commonArgRange.addRange(argRanges[p]));\r\n var commonInterval = commonArgRange.interval;\r\n this._argumentAxes.forEach(a => {\r\n var _a;\r\n var currentInterval = null !== (_a = argRanges[getPaneName(a)].interval) && void 0 !== _a ? _a : commonInterval;\r\n a.setBusinessRange(new Range(_extends(_extends({}, commonArgRange), {\r\n interval: currentInterval\r\n })), this._axesReinitialized, void 0, this._groupsData.categories)\r\n })\r\n }\r\n this._populateMarginOptions()\r\n },\r\n getArgumentAxis() {\r\n return (this._argumentAxes || []).find(a => !a.isVirtual)\r\n },\r\n getValueAxis(name) {\r\n return (this._valueAxes || []).find(_isDefined(name) ? a => a.name === name : a => a.pane === this.defaultPane)\r\n },\r\n _getGroupsData() {\r\n var groups = [];\r\n this._valueAxes.forEach(axis => {\r\n groups.push({\r\n series: this.series.filter(series => series.getValueAxis() === axis),\r\n valueAxis: axis,\r\n valueOptions: axis.getOptions()\r\n })\r\n });\r\n return {\r\n groups: groups,\r\n argumentAxes: this._argumentAxes,\r\n argumentOptions: this._argumentAxes[0].getOptions()\r\n }\r\n },\r\n _groupSeries() {\r\n this._correctValueAxes(false);\r\n this._groupsData = this._getGroupsData()\r\n },\r\n _processValueAxisFormat() {\r\n var axesWithFullStackedFormat = [];\r\n this.series.forEach(series => {\r\n var axis = series.getValueAxis();\r\n if (series.isFullStackedSeries()) {\r\n axis.setPercentLabelFormat();\r\n axesWithFullStackedFormat.push(axis)\r\n }\r\n });\r\n this._valueAxes.forEach(axis => {\r\n if (!axesWithFullStackedFormat.includes(axis)) {\r\n axis.resetAutoLabelFormat()\r\n }\r\n })\r\n },\r\n _populateAxesOptions(typeSelector, userOptions, axisOptions, rotated, virtual) {\r\n var preparedUserOptions = this._prepareStripsAndConstantLines(typeSelector, userOptions, rotated);\r\n var options = _extend(true, {}, preparedUserOptions, axisOptions, this._prepareAxisOptions(typeSelector, preparedUserOptions, rotated));\r\n if (virtual) {\r\n options.visible = false;\r\n options.tick.visible = false;\r\n options.minorTick.visible = false;\r\n options.label.visible = false;\r\n options.title = {}\r\n }\r\n return options\r\n },\r\n _getValFilter: series => rangeDataCalculator.getViewPortFilter(series.getValueAxis().visualRange() || {}),\r\n _createAxis(isArgumentAxes, options, virtual) {\r\n var typeSelector = isArgumentAxes ? \"argumentAxis\" : \"valueAxis\";\r\n var renderingSettings = _extend({\r\n renderer: this._renderer,\r\n incidentOccurred: this._incidentOccurred,\r\n eventTrigger: this._eventTrigger,\r\n axisClass: isArgumentAxes ? \"arg\" : \"val\",\r\n widgetClass: \"dxc\",\r\n stripsGroup: this._stripsGroup,\r\n stripLabelAxesGroup: this._stripLabelAxesGroup,\r\n constantLinesGroup: this._constantLinesGroup,\r\n scaleBreaksGroup: this._scaleBreaksGroup,\r\n axesContainerGroup: this._axesGroup,\r\n labelsAxesGroup: this._labelsAxesGroup,\r\n gridGroup: this._gridGroup,\r\n isArgumentAxis: isArgumentAxes,\r\n getTemplate: template => this._getTemplate(template)\r\n }, this._getAxisRenderingOptions(typeSelector));\r\n var axis = new Axis(renderingSettings);\r\n axis.updateOptions(options);\r\n axis.isVirtual = virtual;\r\n return axis\r\n },\r\n _applyVisualRangeByVirtualAxes: () => false,\r\n _applyCustomVisualRangeOption(axis, range) {\r\n if (axis.getOptions().optionPath) {\r\n this._parseVisualRangeOption(\"\".concat(axis.getOptions().optionPath, \".visualRange\"), range)\r\n }\r\n },\r\n _getVisualRangeSetter() {\r\n return (axis, _ref) => {\r\n var {\r\n skipEventRising: skipEventRising,\r\n range: range\r\n } = _ref;\r\n this._applyCustomVisualRangeOption(axis, range);\r\n axis.setCustomVisualRange(range);\r\n axis.skipEventRising = skipEventRising;\r\n if (!this._applyVisualRangeByVirtualAxes(axis, range)) {\r\n if (this._applyingChanges) {\r\n this._change_VISUAL_RANGE()\r\n } else {\r\n this._requestChange([VISUAL_RANGE])\r\n }\r\n }\r\n }\r\n },\r\n _getTrackerSettings() {\r\n return _extend(this.callBase(), {\r\n argumentAxis: this.getArgumentAxis()\r\n })\r\n },\r\n _prepareStripsAndConstantLines(typeSelector, userOptions, rotated) {\r\n userOptions = this._themeManager.getOptions(typeSelector, userOptions, rotated);\r\n if (userOptions.strips) {\r\n userOptions.strips.forEach((line, i) => {\r\n userOptions.strips[i] = _extend(true, {}, userOptions.stripStyle, line)\r\n })\r\n }\r\n if (userOptions.constantLines) {\r\n userOptions.constantLines.forEach((line, i) => {\r\n userOptions.constantLines[i] = _extend(true, {}, userOptions.constantLineStyle, line)\r\n })\r\n }\r\n return userOptions\r\n },\r\n refresh() {\r\n this._disposeAxes();\r\n this.callBase()\r\n },\r\n _layoutAxes(drawAxes) {\r\n drawAxes();\r\n var needSpace = this.checkForMoreSpaceForPanesCanvas();\r\n if (needSpace) {\r\n var rect = this._rect.slice();\r\n var size = this._layout.backward(rect, rect, [needSpace.width, needSpace.height]);\r\n needSpace.width = Math.max(0, size[0]);\r\n needSpace.height = Math.max(0, size[1]);\r\n this._canvas = this._createCanvasFromRect(rect);\r\n drawAxes(needSpace)\r\n }\r\n },\r\n checkForMoreSpaceForPanesCanvas() {\r\n return this.layoutManager.needMoreSpaceForPanesCanvas(this._getLayoutTargets(), this._isRotated())\r\n },\r\n _parseVisualRangeOption(fullName, value) {\r\n var _a;\r\n var name = fullName.split(/[.[]/)[0];\r\n var index = fullName.match(/\\d+/g);\r\n index = _isDefined(index) ? parseInt(index[0], 10) : index;\r\n if (fullName.indexOf(\"visualRange\") > 0) {\r\n if (\"object\" !== type(value)) {\r\n value = null !== (_a = wrapVisualRange(fullName, value)) && void 0 !== _a ? _a : value\r\n }\r\n this._setCustomVisualRange(name, index, value)\r\n } else if ((\"object\" === type(value) || isArray(value)) && name.indexOf(\"Axis\") > 0 && JSON.stringify(value).indexOf(\"visualRange\") > 0) {\r\n if (_isDefined(value.visualRange)) {\r\n this._setCustomVisualRange(name, index, value.visualRange)\r\n } else if (isArray(value)) {\r\n value.forEach((a, i) => {\r\n if (_isDefined(a.visualRange)) {\r\n this._setCustomVisualRange(name, i, a.visualRange)\r\n }\r\n })\r\n }\r\n }\r\n },\r\n _setCustomVisualRange(axesName, index, value) {\r\n var options = this._options.silent(axesName);\r\n if (!options) {\r\n return\r\n }\r\n if (!_isDefined(index)) {\r\n options._customVisualRange = value\r\n } else {\r\n options[index]._customVisualRange = value\r\n }\r\n this._axesReinitialized = true\r\n },\r\n _raiseZoomEndHandlers() {\r\n this._valueAxes.forEach(axis => axis.handleZoomEnd())\r\n },\r\n _setOptionsByReference() {\r\n this.callBase();\r\n _extend(this._optionsByReference, {\r\n \"valueAxis.visualRange\": true\r\n })\r\n },\r\n _notifyOptionChanged(option, value) {\r\n this.callBase.apply(this, arguments);\r\n if (!this._optionChangedLocker) {\r\n this._parseVisualRangeOption(option, value)\r\n }\r\n },\r\n _notifyVisualRange() {\r\n this._valueAxes.forEach(axis => {\r\n var axisPath = axis.getOptions().optionPath;\r\n if (axisPath) {\r\n var path = \"\".concat(axisPath, \".visualRange\");\r\n var visualRange = convertVisualRangeObject(axis.visualRange(), !isArray(this.option(path)));\r\n if (!axis.skipEventRising || !rangesAreEqual(visualRange, this.option(path))) {\r\n if (!this.option(axisPath) && \"valueAxis\" !== axisPath) {\r\n this.option(axisPath, {\r\n name: axis.name,\r\n visualRange: visualRange\r\n })\r\n } else {\r\n this.option(path, visualRange)\r\n }\r\n } else {\r\n axis.skipEventRising = null\r\n }\r\n }\r\n })\r\n },\r\n _notify() {\r\n this.callBase();\r\n this._axesReinitialized = false;\r\n if (true !== this.option(\"disableTwoWayBinding\")) {\r\n this.skipOptionsRollBack = true;\r\n this._notifyVisualRange();\r\n this.skipOptionsRollBack = false\r\n }\r\n },\r\n _getAxesForScaling() {\r\n return this._valueAxes\r\n },\r\n _getAxesByOptionPath(arg, isDirectOption, optionName) {\r\n var sourceAxes = this._getAxesForScaling();\r\n var axes = [];\r\n if (isDirectOption) {\r\n var axisPath;\r\n if (arg.fullName) {\r\n axisPath = arg.fullName.slice(0, arg.fullName.indexOf(\".\"))\r\n }\r\n axes = sourceAxes.filter(a => a.getOptions().optionPath === axisPath)\r\n } else if (\"object\" === type(arg.value)) {\r\n axes = sourceAxes.filter(a => a.getOptions().optionPath === arg.name)\r\n } else if (isArray(arg.value)) {\r\n arg.value.forEach((v, index) => {\r\n var axis = sourceAxes.filter(a => a.getOptions().optionPath === \"\".concat(arg.name, \"[\").concat(index, \"]\"))[0];\r\n if (_isDefined(v[optionName]) && _isDefined(axis)) {\r\n axes[index] = axis\r\n }\r\n })\r\n }\r\n return axes\r\n },\r\n _optionChanged(arg) {\r\n if (!this._optionChangedLocker) {\r\n var axes;\r\n var isDirectOption = arg.fullName.indexOf(\"visualRange\") > 0 ? true : this.getPartialChangeOptionsName(arg).indexOf(\"visualRange\") > -1 ? false : void 0;\r\n if (_isDefined(isDirectOption)) {\r\n axes = this._getAxesByOptionPath(arg, isDirectOption, \"visualRange\");\r\n if (axes) {\r\n if (axes.length > 1 || isArray(arg.value)) {\r\n axes.forEach((a, index) => setAxisVisualRangeByOption(arg, a, isDirectOption, index))\r\n } else if (1 === axes.length) {\r\n setAxisVisualRangeByOption(arg, axes[0], isDirectOption)\r\n }\r\n }\r\n }\r\n }\r\n this.callBase(arg)\r\n },\r\n _change_VISUAL_RANGE() {\r\n this._recreateSizeDependentObjects(false);\r\n if (!this._changes.has(\"FULL_RENDER\")) {\r\n var resizePanesOnZoom = this.option(\"resizePanesOnZoom\");\r\n this._doRender({\r\n force: true,\r\n drawTitle: false,\r\n drawLegend: false,\r\n adjustAxes: null !== resizePanesOnZoom && void 0 !== resizePanesOnZoom ? resizePanesOnZoom : this.option(\"adjustAxesOnZoom\") || false,\r\n animate: false\r\n });\r\n this._raiseZoomEndHandlers()\r\n }\r\n },\r\n resetVisualRange() {\r\n this._valueAxes.forEach(axis => {\r\n axis.resetVisualRange(false);\r\n this._applyCustomVisualRangeOption(axis)\r\n });\r\n this._requestChange([VISUAL_RANGE])\r\n },\r\n _getCrosshairMargins: () => ({\r\n x: 0,\r\n y: 0\r\n }),\r\n _legendDataField: \"series\",\r\n _adjustSeriesLabels: _noop,\r\n _correctValueAxes: _noop\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/chart_components/tracker.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each as _each\r\n} from \"../../core/utils/iterator\";\r\nimport consts from \"../components/consts\";\r\nimport {\r\n getDistance,\r\n pointInCanvas as inCanvas,\r\n normalizeEnum as _normalizeEnum\r\n} from \"../core/utils\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nimport errors from \"../../core/errors\";\r\nvar _floor = Math.floor;\r\nvar eventsConsts = consts.events;\r\nvar statesConsts = consts.states;\r\nvar HOVER_STATE = statesConsts.hoverMark;\r\nvar NORMAL_STATE = statesConsts.normalMark;\r\nvar EVENT_NS = \"dxChartTracker\";\r\nvar DOT_EVENT_NS = \".\" + EVENT_NS;\r\nvar POINTER_ACTION = addNamespace([pointerEvents.down, pointerEvents.move], EVENT_NS);\r\nvar LEGEND_CLICK = \"legendClick\";\r\nvar SERIES_CLICK = \"seriesClick\";\r\nvar POINT_CLICK = \"pointClick\";\r\nvar POINT_DATA = \"chart-data-point\";\r\nvar SERIES_DATA = \"chart-data-series\";\r\nvar ARG_DATA = \"chart-data-argument\";\r\nvar DELAY = 100;\r\nvar HOLD_TIMEOUT = 300;\r\nvar NONE_MODE = \"none\";\r\nvar ALL_ARGUMENT_POINTS_MODE = \"allargumentpoints\";\r\nvar INCLUDE_POINTS_MODE = \"includepoints\";\r\nvar EXLUDE_POINTS_MODE = \"excludepoints\";\r\nvar LEGEND_HOVER_MODES = [INCLUDE_POINTS_MODE, EXLUDE_POINTS_MODE, NONE_MODE];\r\n\r\nfunction getData(event, dataKey, tryCheckParent) {\r\n var target = event.target;\r\n if (\"tspan\" === target.tagName) {\r\n return target.parentNode[dataKey]\r\n }\r\n var data = target[dataKey];\r\n if (tryCheckParent && !isDefined(data)) {\r\n return function getParentData(node) {\r\n if (node.parentNode) {\r\n if (isDefined(node.parentNode[dataKey])) {\r\n return node.parentNode[dataKey]\r\n } else {\r\n return getParentData(node.parentNode)\r\n }\r\n }\r\n return\r\n }(target)\r\n }\r\n return data\r\n}\r\n\r\nfunction eventCanceled(_ref, target, clickTarget) {\r\n var {\r\n event: event,\r\n cancel: cancel\r\n } = _ref;\r\n var deprecatedCancel = event.cancel;\r\n var eventCanceled = cancel || deprecatedCancel;\r\n if (deprecatedCancel) {\r\n errors.log(\"W0003\", \"\".concat(clickTarget, \"Click handler argument\"), \"event.cancel\", \"22.1\", \"Use the 'cancel' field instead\")\r\n }\r\n return eventCanceled || !target.getOptions()\r\n}\r\n\r\nfunction correctLegendHoverMode(mode) {\r\n if (LEGEND_HOVER_MODES.indexOf(mode) > -1) {\r\n return mode\r\n } else {\r\n return INCLUDE_POINTS_MODE\r\n }\r\n}\r\n\r\nfunction correctHoverMode(target) {\r\n var mode = target.getOptions().hoverMode;\r\n return mode === NONE_MODE ? mode : ALL_ARGUMENT_POINTS_MODE\r\n}\r\nvar baseTrackerPrototype = {\r\n ctor: function(options) {\r\n var that = this;\r\n var data = {\r\n tracker: that\r\n };\r\n that._renderer = options.renderer;\r\n that._legend = options.legend;\r\n that._tooltip = options.tooltip;\r\n that._eventTrigger = options.eventTrigger;\r\n that._seriesGroup = options.seriesGroup;\r\n options.seriesGroup.off(DOT_EVENT_NS).on(addNamespace(eventsConsts.showPointTooltip, EVENT_NS), data, that._showPointTooltip).on(addNamespace(eventsConsts.hidePointTooltip, EVENT_NS), data, that._hidePointTooltip);\r\n that._renderer.root.off(DOT_EVENT_NS).on(POINTER_ACTION, data, that._pointerHandler).on(addNamespace(pointerEvents.up, EVENT_NS), () => clearTimeout(that._holdTimer)).on(addNamespace(clickEventName, EVENT_NS), data, that._clickHandler)\r\n },\r\n update: function(options) {\r\n this._chart = options.chart\r\n },\r\n updateSeries(series, resetDecorations) {\r\n var that = this;\r\n var noHoveredSeries = !(null !== series && void 0 !== series && series.some(s => s === that.hoveredSeries) || that._hoveredPoint && that._hoveredPoint.series);\r\n if (that._storedSeries !== series) {\r\n that._storedSeries = series || []\r\n }\r\n if (noHoveredSeries) {\r\n that._clean();\r\n that._renderer.initHatching()\r\n }\r\n if (resetDecorations) {\r\n that.clearSelection();\r\n if (!noHoveredSeries) {\r\n that._hideTooltip(that.pointAtShownTooltip);\r\n that.clearHover()\r\n }\r\n }\r\n },\r\n setCanvases: function(mainCanvas, paneCanvases) {\r\n this._mainCanvas = mainCanvas;\r\n this._canvases = paneCanvases\r\n },\r\n repairTooltip: function() {\r\n var point = this.pointAtShownTooltip;\r\n if (!point || !point.series || !point.isVisible()) {\r\n this._hideTooltip(point, true)\r\n } else {\r\n this._showTooltip(point)\r\n }\r\n },\r\n _setHoveredPoint: function(point) {\r\n if (point === this._hoveredPoint) {\r\n return\r\n }\r\n this._releaseHoveredPoint();\r\n point.hover();\r\n this._hoveredPoint = point\r\n },\r\n _releaseHoveredPoint: function(isPointerOut) {\r\n if (this._hoveredPoint && this._hoveredPoint.getOptions()) {\r\n this._hoveredPoint.clearHover();\r\n this._hoveredPoint = null;\r\n if (this._tooltip.isEnabled()) {\r\n this._hideTooltip(this._hoveredPoint, false, isPointerOut)\r\n }\r\n }\r\n },\r\n _setHoveredSeries: function(series, mode) {\r\n this._releaseHoveredSeries();\r\n this._releaseHoveredPoint();\r\n series.hover(mode);\r\n this.hoveredSeries = series\r\n },\r\n _releaseHoveredSeries() {\r\n if (this.hoveredSeries) {\r\n this.hoveredSeries.clearHover();\r\n this.hoveredSeries = null\r\n }\r\n },\r\n clearSelection() {\r\n this._storedSeries.forEach(series => {\r\n if (series) {\r\n series.clearSelection();\r\n series.getPoints().forEach(point => point.clearSelection())\r\n }\r\n })\r\n },\r\n _clean: function() {\r\n this.hoveredPoint = this.hoveredSeries = this._hoveredArgumentPoints = null;\r\n this._hideTooltip(this.pointAtShownTooltip)\r\n },\r\n clearHover: function(isPointerOut) {\r\n this._resetHoveredArgument();\r\n this._releaseHoveredSeries();\r\n this._releaseHoveredPoint(isPointerOut)\r\n },\r\n _hideTooltip: function(point, silent, isPointerOut) {\r\n if (!this._tooltip || point && this.pointAtShownTooltip !== point) {\r\n return\r\n }\r\n if (!silent && this.pointAtShownTooltip) {\r\n this.pointAtShownTooltip = null\r\n }\r\n this._tooltip.hide(!!isPointerOut)\r\n },\r\n _showTooltip: function(point) {\r\n var that = this;\r\n var tooltipFormatObject;\r\n var eventData = {\r\n target: point\r\n };\r\n if (null !== point && void 0 !== point && point.getOptions()) {\r\n tooltipFormatObject = point.getTooltipFormatObject(that._tooltip, that._tooltip.isShared() && that._chart.getStackedPoints(point));\r\n if (!isDefined(tooltipFormatObject.valueText) && !tooltipFormatObject.points || !point.isVisible()) {\r\n return\r\n }\r\n var coords = point.getTooltipParams(that._tooltip.getLocation());\r\n var rootOffset = that._renderer.getRootOffset();\r\n coords.x += rootOffset.left;\r\n coords.y += rootOffset.top;\r\n var callback = result => {\r\n result && (that.pointAtShownTooltip = point)\r\n };\r\n callback(that._tooltip.show(tooltipFormatObject, coords, eventData, void 0, callback))\r\n }\r\n },\r\n _showPointTooltip: function(event, point) {\r\n var that = event.data.tracker;\r\n var pointWithTooltip = that.pointAtShownTooltip;\r\n if (pointWithTooltip && pointWithTooltip !== point) {\r\n that._hideTooltip(pointWithTooltip)\r\n }\r\n that._showTooltip(point)\r\n },\r\n _hidePointTooltip: function(event, point) {\r\n event.data.tracker._hideTooltip(point, false, true)\r\n },\r\n _enableOutHandler: function() {\r\n if (this._outHandler) {\r\n return\r\n }\r\n var that = this;\r\n var handler = function(e) {\r\n var rootOffset = that._renderer.getRootOffset();\r\n var x = _floor(e.pageX - rootOffset.left);\r\n var y = _floor(e.pageY - rootOffset.top);\r\n if (!inCanvas(that._mainCanvas, x, y) && !that._isCursorOnTooltip(e)) {\r\n that._pointerOut();\r\n that._disableOutHandler()\r\n }\r\n };\r\n eventsEngine.on(domAdapter.getDocument(), POINTER_ACTION, handler);\r\n this._outHandler = handler\r\n },\r\n _isCursorOnTooltip: function(e) {\r\n return this._tooltip.isEnabled() && this._tooltip.isCursorOnTooltip(e.pageX, e.pageY)\r\n },\r\n _disableOutHandler: function() {\r\n this._outHandler && eventsEngine.off(domAdapter.getDocument(), POINTER_ACTION, this._outHandler);\r\n this._outHandler = null\r\n },\r\n stopCurrentHandling: function() {\r\n this._pointerOut(true)\r\n },\r\n _pointerOut: function(force) {\r\n this.clearHover(true);\r\n (force || this._tooltip.isEnabled()) && this._hideTooltip(this.pointAtShownTooltip, false, true)\r\n },\r\n _triggerLegendClick: function(eventArgs, elementClick) {\r\n var eventTrigger = this._eventTrigger;\r\n eventTrigger(LEGEND_CLICK, eventArgs, (function() {\r\n !eventCanceled(eventArgs, eventArgs.target, \"legend\") && eventTrigger(elementClick, eventArgs)\r\n }))\r\n },\r\n _hoverLegendItem: function(x, y) {\r\n var item = this._legend.getItemByCoord(x, y);\r\n var series;\r\n var legendHoverMode = correctLegendHoverMode(this._legend.getOptions().hoverMode);\r\n if (item) {\r\n series = this._storedSeries[item.id];\r\n if (!series.isHovered() || series.lastHoverMode !== legendHoverMode) {\r\n this._setHoveredSeries(series, legendHoverMode)\r\n }\r\n this._tooltip.isEnabled() && this._hideTooltip(this.pointAtShownTooltip)\r\n } else {\r\n this.clearHover()\r\n }\r\n },\r\n _hoverArgument: function(argument, argumentIndex) {\r\n var hoverMode = this._getArgumentHoverMode();\r\n if (isDefined(argument)) {\r\n this._releaseHoveredPoint();\r\n this._hoveredArgument = argument;\r\n this._argumentIndex = argumentIndex;\r\n this._notifySeries({\r\n action: \"pointHover\",\r\n notifyLegend: this._notifyLegendOnHoverArgument,\r\n target: {\r\n argument: argument,\r\n fullState: HOVER_STATE,\r\n argumentIndex: argumentIndex,\r\n getOptions: function() {\r\n return {\r\n hoverMode: hoverMode\r\n }\r\n }\r\n }\r\n })\r\n }\r\n },\r\n _resetHoveredArgument: function() {\r\n var hoverMode;\r\n if (isDefined(this._hoveredArgument)) {\r\n hoverMode = this._getArgumentHoverMode();\r\n this._notifySeries({\r\n action: \"clearPointHover\",\r\n notifyLegend: this._notifyLegendOnHoverArgument,\r\n target: {\r\n fullState: NORMAL_STATE,\r\n argumentIndex: this._argumentIndex,\r\n argument: this._hoveredArgument,\r\n getOptions: function() {\r\n return {\r\n hoverMode: hoverMode\r\n }\r\n }\r\n }\r\n });\r\n this._hoveredArgument = null\r\n }\r\n },\r\n _notifySeries: function(data) {\r\n this._storedSeries.forEach((function(series) {\r\n series.notify(data)\r\n }))\r\n },\r\n _pointerHandler: function(e) {\r\n var _series;\r\n var that = e.data.tracker;\r\n var rootOffset = that._renderer.getRootOffset();\r\n var x = _floor(e.pageX - rootOffset.left);\r\n var y = _floor(e.pageY - rootOffset.top);\r\n var canvas = that._getCanvas(x, y);\r\n var series = getData(e, SERIES_DATA);\r\n var point = getData(e, POINT_DATA) || (null === (_series = series) || void 0 === _series ? void 0 : _series.getPointByCoord(x, y));\r\n that._isHolding = false;\r\n clearTimeout(that._holdTimer);\r\n if (e.type === pointerEvents.down) {\r\n that._holdTimer = setTimeout(() => that._isHolding = true, HOLD_TIMEOUT)\r\n }\r\n if (point && !point.getMarkerVisibility()) {\r\n point = void 0\r\n }\r\n that._enableOutHandler();\r\n if (that._legend.coordsIn(x, y)) {\r\n that._hoverLegendItem(x, y);\r\n return\r\n }\r\n if (that.hoveredSeries && that.hoveredSeries !== that._stuckSeries) {\r\n that._releaseHoveredSeries()\r\n }\r\n if (that._hoverArgumentAxis(x, y, e)) {\r\n return\r\n }\r\n if (that._isPointerOut(canvas, point)) {\r\n that._pointerOut()\r\n }\r\n if (!canvas && !point) {\r\n return\r\n }\r\n if (series && !point) {\r\n point = series.getNeighborPoint(x, y);\r\n if (!that._stickyHovering && point && !point.coordsIn(x, y)) {\r\n point = null\r\n }\r\n if (series !== that.hoveredSeries) {\r\n that._setTimeout((function() {\r\n that._setHoveredSeries(series);\r\n that._setStuckSeries(e, series, x, y);\r\n that._pointerComplete(point, x, y)\r\n }), series);\r\n return\r\n }\r\n } else if (point) {\r\n if (e.type !== pointerEvents.move && \"touch\" !== e.pointerType) {\r\n return\r\n }\r\n if (that.hoveredSeries) {\r\n that._setTimeout(() => that._pointerOnPoint(point, x, y, e), point)\r\n } else {\r\n that._pointerOnPoint(point, x, y, e)\r\n }\r\n return\r\n } else if (that._setStuckSeries(e, void 0, x, y) && that._stickyHovering) {\r\n var _point;\r\n series = that._stuckSeries;\r\n point = series.getNeighborPoint(x, y);\r\n that._releaseHoveredSeries();\r\n (null === (_point = point) || void 0 === _point ? void 0 : _point.getMarkerVisibility()) && that._setHoveredPoint(point)\r\n } else if (!that._stickyHovering) {\r\n that._pointerOut()\r\n }\r\n that._pointerComplete(point, x, y)\r\n },\r\n _pointerOnPoint: function(point, x, y) {\r\n this._resetHoveredArgument();\r\n this._setHoveredPoint(point);\r\n this._pointerComplete(point, x, y)\r\n },\r\n _pointerComplete: function(point) {\r\n this.pointAtShownTooltip !== point && this._tooltip.isEnabled() && this._showTooltip(point)\r\n },\r\n _clickHandler: function(e) {\r\n var _point2;\r\n var that = e.data.tracker;\r\n if (that._isHolding) {\r\n return\r\n }\r\n var rootOffset = that._renderer.getRootOffset();\r\n var x = _floor(e.pageX - rootOffset.left);\r\n var y = _floor(e.pageY - rootOffset.top);\r\n var point = getData(e, POINT_DATA);\r\n var series = that._stuckSeries || getData(e, SERIES_DATA) || (null === (_point2 = point) || void 0 === _point2 ? void 0 : _point2.series);\r\n var axis = that._argumentAxis;\r\n if (that._legend.coordsIn(x, y)) {\r\n var item = that._legend.getItemByCoord(x, y);\r\n if (item) {\r\n that._legendClick(item, e)\r\n }\r\n } else if (null !== axis && void 0 !== axis && axis.coordsIn(x, y)) {\r\n var argument = getData(e, ARG_DATA, true);\r\n if (isDefined(argument)) {\r\n that._eventTrigger(\"argumentAxisClick\", {\r\n argument: argument,\r\n event: e\r\n })\r\n }\r\n } else if (series) {\r\n var _point3;\r\n point = point || series.getPointByCoord(x, y);\r\n if (null !== (_point3 = point) && void 0 !== _point3 && _point3.getMarkerVisibility()) {\r\n that._pointClick(point, e)\r\n } else {\r\n getData(e, SERIES_DATA) && that._eventTrigger(SERIES_CLICK, {\r\n target: series,\r\n event: e\r\n })\r\n }\r\n }\r\n },\r\n dispose: function() {\r\n this._disableOutHandler();\r\n this._renderer.root.off(DOT_EVENT_NS);\r\n this._seriesGroup.off(DOT_EVENT_NS)\r\n }\r\n};\r\nexport var ChartTracker = function(options) {\r\n this.ctor(options)\r\n};\r\nextend(ChartTracker.prototype, baseTrackerPrototype, {\r\n _pointClick: function(point, event) {\r\n var eventTrigger = this._eventTrigger;\r\n var series = point.series;\r\n var eventArgs = {\r\n target: point,\r\n event: event\r\n };\r\n eventTrigger(POINT_CLICK, eventArgs, (function() {\r\n !eventCanceled(eventArgs, series, \"point\") && eventTrigger(SERIES_CLICK, {\r\n target: series,\r\n event: event\r\n })\r\n }))\r\n },\r\n update: function(options) {\r\n baseTrackerPrototype.update.call(this, options);\r\n this._argumentAxis = options.argumentAxis || {};\r\n this._axisHoverEnabled = this._argumentAxis && _normalizeEnum(this._argumentAxis.getOptions().hoverMode) === ALL_ARGUMENT_POINTS_MODE;\r\n this._rotated = options.rotated;\r\n this._crosshair = options.crosshair;\r\n this._stickyHovering = options.stickyHovering\r\n },\r\n _getCanvas: function(x, y) {\r\n var canvases = this._canvases || [];\r\n for (var i = 0; i < canvases.length; i++) {\r\n var c = canvases[i];\r\n if (inCanvas(c, x, y)) {\r\n return c\r\n }\r\n }\r\n return null\r\n },\r\n _isPointerOut: function(canvas) {\r\n return !canvas && this._stuckSeries\r\n },\r\n _hideCrosshair: function() {\r\n var _this$_crosshair;\r\n null === (_this$_crosshair = this._crosshair) || void 0 === _this$_crosshair ? void 0 : _this$_crosshair.hide()\r\n },\r\n _moveCrosshair: function(point, x, y) {\r\n if (this._crosshair && null !== point && void 0 !== point && point.isVisible()) {\r\n this._crosshair.show({\r\n point: point,\r\n x: x,\r\n y: y\r\n })\r\n }\r\n },\r\n _clean: function() {\r\n baseTrackerPrototype._clean.call(this);\r\n this._resetTimer();\r\n this._stuckSeries = null\r\n },\r\n _getSeriesForShared: function(x, y) {\r\n var _point4;\r\n var points = [];\r\n var point = null;\r\n var distance = 1 / 0;\r\n if (this._tooltip.isShared() && !this.hoveredSeries) {\r\n _each(this._storedSeries, (function(_, series) {\r\n var point = series.getNeighborPoint(x, y);\r\n point && points.push(point)\r\n }));\r\n _each(points, (function(_, p) {\r\n var coords = p.getCrosshairData(x, y);\r\n var d = getDistance(x, y, coords.x, coords.y);\r\n if (d < distance) {\r\n point = p;\r\n distance = d\r\n }\r\n }))\r\n }\r\n return null === (_point4 = point) || void 0 === _point4 ? void 0 : _point4.series\r\n },\r\n _setTimeout: function(callback, keeper) {\r\n var that = this;\r\n if (that._timeoutKeeper !== keeper) {\r\n that._resetTimer();\r\n that._hoverTimeout = setTimeout((function() {\r\n callback();\r\n that._timeoutKeeper = null\r\n }), DELAY);\r\n that._timeoutKeeper = keeper\r\n }\r\n },\r\n _resetTimer: function() {\r\n clearTimeout(this._hoverTimeout);\r\n this._timeoutKeeper = this._hoverTimeout = null\r\n },\r\n _stopEvent: function(e) {\r\n if (!isDefined(e.cancelable) || e.cancelable) {\r\n e.preventDefault();\r\n e.stopPropagation()\r\n }\r\n },\r\n _setStuckSeries: function(e, series, x, y) {\r\n if (\"mouse\" !== e.pointerType) {\r\n this._stuckSeries = null\r\n } else {\r\n this._stuckSeries = series || this._stuckSeries || this._getSeriesForShared(x, y)\r\n }\r\n return !!this._stuckSeries\r\n },\r\n _pointerOut: function() {\r\n var that = this;\r\n that._stuckSeries = null;\r\n that._hideCrosshair();\r\n that._resetTimer();\r\n baseTrackerPrototype._pointerOut.apply(that, arguments)\r\n },\r\n _hoverArgumentAxis: function(x, y, e) {\r\n this._resetHoveredArgument();\r\n if (this._axisHoverEnabled && this._argumentAxis.coordsIn(x, y)) {\r\n this._hoverArgument(getData(e, ARG_DATA, true));\r\n return true\r\n }\r\n },\r\n _pointerComplete: function(point, x, y) {\r\n this.hoveredSeries && this.hoveredSeries.updateHover(x, y);\r\n this._resetTimer();\r\n this._moveCrosshair(point, x, y);\r\n baseTrackerPrototype._pointerComplete.call(this, point)\r\n },\r\n _legendClick: function(item, e) {\r\n var series = this._storedSeries[item.id];\r\n this._triggerLegendClick({\r\n target: series,\r\n event: e\r\n }, SERIES_CLICK)\r\n },\r\n _hoverLegendItem: function(x, y) {\r\n this._stuckSeries = null;\r\n this._hideCrosshair();\r\n baseTrackerPrototype._hoverLegendItem.call(this, x, y)\r\n },\r\n _pointerOnPoint: function(point, x, y, e) {\r\n this._setStuckSeries(e, point.series, x, y);\r\n this._releaseHoveredSeries();\r\n baseTrackerPrototype._pointerOnPoint.call(this, point, x, y, e)\r\n },\r\n _notifyLegendOnHoverArgument: false,\r\n _getArgumentHoverMode: function() {\r\n return correctHoverMode(this._argumentAxis)\r\n },\r\n dispose: function() {\r\n this._resetTimer();\r\n baseTrackerPrototype.dispose.call(this)\r\n }\r\n});\r\nexport var PieTracker = function(options) {\r\n this.ctor(options)\r\n};\r\nextend(PieTracker.prototype, baseTrackerPrototype, {\r\n _isPointerOut: function(_, point) {\r\n return !point\r\n },\r\n _legendClick: function(item, e) {\r\n var points = [];\r\n this._storedSeries.forEach(s => points.push.apply(points, s.getPointsByKeys(item.argument, item.argumentIndex)));\r\n this._eventTrigger(LEGEND_CLICK, {\r\n target: item.argument,\r\n points: points,\r\n event: e\r\n })\r\n },\r\n _pointClick: function(point, e) {\r\n this._eventTrigger(POINT_CLICK, {\r\n target: point,\r\n event: e\r\n })\r\n },\r\n _hoverLegendItem: function(x, y) {\r\n var item = this._legend.getItemByCoord(x, y);\r\n if (item && this._hoveredArgument !== item.argument) {\r\n this._resetHoveredArgument();\r\n this._hoverArgument(item.argument, item.argumentIndex)\r\n } else if (!item) {\r\n this.clearHover()\r\n }\r\n },\r\n _getArgumentHoverMode: function() {\r\n return correctHoverMode(this._legend)\r\n },\r\n _hoverArgumentAxis: _noop,\r\n _setStuckSeries: _noop,\r\n _getCanvas: _noop,\r\n _notifyLegendOnHoverArgument: true\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/viz/chart_components/rolling_stock.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport class RollingStock {\r\n constructor(label, isRotated, shiftFunction) {\r\n var bBox = label.getBoundingRect();\r\n var {\r\n x: x\r\n } = bBox;\r\n var {\r\n y: y\r\n } = bBox;\r\n var endX = bBox.x + bBox.width;\r\n var endY = bBox.y + bBox.height;\r\n this.labels = [label];\r\n this.shiftFunction = shiftFunction;\r\n this.bBox = {\r\n start: isRotated ? x : y,\r\n width: isRotated ? bBox.width : bBox.height,\r\n end: isRotated ? endX : endY,\r\n oppositeStart: isRotated ? y : x,\r\n oppositeEnd: isRotated ? endY : endX\r\n };\r\n this.initialPosition = isRotated ? bBox.x : bBox.y\r\n }\r\n toChain(nextRollingStock) {\r\n var nextRollingStockBBox = nextRollingStock.getBoundingRect();\r\n nextRollingStock.shift(nextRollingStockBBox.start - this.bBox.end);\r\n this.changeBoxWidth(nextRollingStockBBox.width);\r\n this.labels = this.labels.concat(nextRollingStock.labels)\r\n }\r\n getBoundingRect() {\r\n return this.bBox\r\n }\r\n shift(shiftLength) {\r\n this.labels.forEach(label => {\r\n var bBox = label.getBoundingRect();\r\n var coords = this.shiftFunction(bBox, shiftLength);\r\n if (!label.hideInsideLabel(coords)) {\r\n label.shift(coords.x, coords.y)\r\n }\r\n });\r\n this.bBox.end -= shiftLength;\r\n this.bBox.start -= shiftLength\r\n }\r\n setRollingStockInCanvas(canvas) {\r\n if (this.bBox.end > canvas.end) {\r\n this.shift(this.bBox.end - canvas.end)\r\n }\r\n }\r\n getLabels() {\r\n return this.labels\r\n }\r\n value() {\r\n return this.labels[0].getData().value\r\n }\r\n getInitialPosition() {\r\n return this.initialPosition\r\n }\r\n changeBoxWidth(width) {\r\n this.bBox.end += width;\r\n this.bBox.width += width\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/viz/chart_components/m_base_chart.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n grep,\r\n noop\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n reverseEach as _reverseEach\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n isDefined as _isDefined,\r\n isFunction\r\n} from \"../../../core/utils/type\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport {\r\n isPointerEvent,\r\n isTouchEvent\r\n} from \"../../../events/utils/index\";\r\nimport {\r\n LayoutManager\r\n} from \"../../../viz/chart_components/layout_manager\";\r\nimport * as trackerModule from \"../../../viz/chart_components/tracker\";\r\nimport {\r\n ThemeManager\r\n} from \"../../../viz/components/chart_theme_manager\";\r\nimport {\r\n validateData\r\n} from \"../../../viz/components/data_validator\";\r\nimport {\r\n Legend\r\n} from \"../../../viz/components/legend\";\r\nimport {\r\n plugin as dataSourcePlugin\r\n} from \"../../../viz/core/data_source\";\r\nimport {\r\n plugin as exportPlugin\r\n} from \"../../../viz/core/export\";\r\nimport {\r\n plugin as loadingIndicatorPlugin\r\n} from \"../../../viz/core/loading_indicator\";\r\nimport {\r\n plugin as titlePlugin\r\n} from \"../../../viz/core/title\";\r\nimport {\r\n plugin as tooltipPlugin\r\n} from \"../../../viz/core/tooltip\";\r\nimport {\r\n map as _map,\r\n processSeriesTemplate,\r\n setCanvasValues as _setCanvasValues\r\n} from \"../../../viz/core/utils\";\r\nimport {\r\n Series\r\n} from \"../../../viz/series/base_series\";\r\nimport BaseWidget from \"../core/m_base_widget\";\r\nimport {\r\n RollingStock\r\n} from \"./rolling_stock\";\r\nvar {\r\n isArray: isArray\r\n} = Array;\r\nvar REINIT_REFRESH_ACTION = \"_reinit\";\r\nvar REINIT_DATA_SOURCE_REFRESH_ACTION = \"_updateDataSource\";\r\nvar DATA_INIT_REFRESH_ACTION = \"_dataInit\";\r\nvar FORCE_RENDER_REFRESH_ACTION = \"_forceRender\";\r\nvar RESIZE_REFRESH_ACTION = \"_resize\";\r\nvar ACTIONS_BY_PRIORITY = [REINIT_REFRESH_ACTION, REINIT_DATA_SOURCE_REFRESH_ACTION, DATA_INIT_REFRESH_ACTION, FORCE_RENDER_REFRESH_ACTION, RESIZE_REFRESH_ACTION];\r\nvar DEFAULT_OPACITY = .3;\r\nvar REFRESH_SERIES_DATA_INIT_ACTION_OPTIONS = [\"series\", \"commonSeriesSettings\", \"dataPrepareSettings\", \"seriesSelectionMode\", \"pointSelectionMode\", \"synchronizeMultiAxes\", \"resolveLabelsOverlapping\"];\r\nvar REFRESH_SERIES_FAMILIES_ACTION_OPTIONS = [\"minBubbleSize\", \"maxBubbleSize\", \"barGroupPadding\", \"barGroupWidth\", \"negativesAsZeroes\", \"negativesAsZeros\"];\r\nvar FORCE_RENDER_REFRESH_ACTION_OPTIONS = [\"adaptiveLayout\", \"crosshair\", \"resolveLabelOverlapping\", \"adjustOnZoom\", \"stickyHovering\"];\r\nvar FONT = \"font\";\r\n\r\nfunction checkHeightRollingStock(rollingStocks, stubCanvas) {\r\n var canvasSize = stubCanvas.end - stubCanvas.start;\r\n var size = 0;\r\n rollingStocks.forEach(rollingStock => {\r\n size += rollingStock.getBoundingRect().width\r\n });\r\n while (canvasSize < size) {\r\n size -= findAndKillSmallValue(rollingStocks)\r\n }\r\n}\r\n\r\nfunction findAndKillSmallValue(rollingStocks) {\r\n var smallestObject = rollingStocks.reduce((prev, rollingStock, index) => {\r\n if (!rollingStock) {\r\n return prev\r\n }\r\n var value = rollingStock.value();\r\n return value < prev.value ? {\r\n value: value,\r\n rollingStock: rollingStock,\r\n index: index\r\n } : prev\r\n }, {\r\n rollingStock: void 0,\r\n value: 1 / 0,\r\n index: void 0\r\n });\r\n smallestObject.rollingStock.getLabels()[0].draw(false);\r\n var {\r\n width: width\r\n } = smallestObject.rollingStock.getBoundingRect();\r\n rollingStocks[smallestObject.index] = null;\r\n return width\r\n}\r\n\r\nfunction checkStackOverlap(rollingStocks) {\r\n var i;\r\n var j;\r\n var iLength;\r\n var jLength;\r\n var overlap = false;\r\n for (i = 0, iLength = rollingStocks.length - 1; i < iLength; i++) {\r\n for (j = i + 1, jLength = rollingStocks.length; j < jLength; j++) {\r\n if (i !== j && checkStacksOverlapping(rollingStocks[i], rollingStocks[j], true)) {\r\n overlap = true;\r\n break\r\n }\r\n }\r\n if (overlap) {\r\n break\r\n }\r\n }\r\n return overlap\r\n}\r\n\r\nfunction resolveLabelOverlappingInOneDirection(points, canvas, isRotated, isInverted, shiftFunction) {\r\n var customSorting = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : () => 0;\r\n var rollingStocks = [];\r\n var stubCanvas = {\r\n start: isRotated ? canvas.left : canvas.top,\r\n end: isRotated ? canvas.width - canvas.right : canvas.height - canvas.bottom\r\n };\r\n var hasStackedSeries = false;\r\n var sortRollingStocks;\r\n points.forEach(p => {\r\n if (!p) {\r\n return\r\n }\r\n hasStackedSeries = hasStackedSeries || p.series.isStackedSeries() || p.series.isFullStackedSeries();\r\n p.getLabels().forEach(l => {\r\n if (l.isVisible()) {\r\n rollingStocks.push(new RollingStock(l, isRotated, shiftFunction))\r\n }\r\n })\r\n });\r\n if (hasStackedSeries) {\r\n if (Number(!isRotated) ^ Number(isInverted)) {\r\n rollingStocks.reverse()\r\n }\r\n sortRollingStocks = isInverted ? rollingStocks : sortRollingStocksByValue(rollingStocks)\r\n } else {\r\n var rollingStocksTmp = rollingStocks.slice();\r\n sortRollingStocks = rollingStocks.sort((a, b) => customSorting(a, b) || a.getInitialPosition() - b.getInitialPosition() || rollingStocksTmp.indexOf(a) - rollingStocksTmp.indexOf(b))\r\n }\r\n if (!checkStackOverlap(sortRollingStocks)) {\r\n return false\r\n }\r\n checkHeightRollingStock(sortRollingStocks, stubCanvas);\r\n prepareOverlapStacks(sortRollingStocks);\r\n sortRollingStocks.reverse();\r\n moveRollingStock(sortRollingStocks, stubCanvas);\r\n return true\r\n}\r\n\r\nfunction checkStacksOverlapping(firstRolling, secondRolling, inTwoSides) {\r\n if (!firstRolling || !secondRolling) {\r\n return\r\n }\r\n var firstRect = firstRolling.getBoundingRect();\r\n var secondRect = secondRolling.getBoundingRect();\r\n var oppositeOverlapping = inTwoSides ? firstRect.oppositeStart <= secondRect.oppositeStart && firstRect.oppositeEnd > secondRect.oppositeStart || secondRect.oppositeStart <= firstRect.oppositeStart && secondRect.oppositeEnd > firstRect.oppositeStart : true;\r\n return firstRect.end > secondRect.start && oppositeOverlapping\r\n}\r\n\r\nfunction sortRollingStocksByValue(rollingStocks) {\r\n var positiveRollingStocks = [];\r\n var negativeRollingStocks = [];\r\n rollingStocks.forEach(stock => {\r\n if (stock.value() > 0) {\r\n positiveRollingStocks.push(stock)\r\n } else {\r\n negativeRollingStocks.unshift(stock)\r\n }\r\n });\r\n return positiveRollingStocks.concat(negativeRollingStocks)\r\n}\r\n\r\nfunction prepareOverlapStacks(rollingStocks) {\r\n var root;\r\n for (var i = 0; i < rollingStocks.length - 1; i += 1) {\r\n var currentRollingStock = root || rollingStocks[i];\r\n if (checkStacksOverlapping(currentRollingStock, rollingStocks[i + 1])) {\r\n currentRollingStock.toChain(rollingStocks[i + 1]);\r\n rollingStocks[i + 1] = null;\r\n root = currentRollingStock\r\n } else {\r\n root = rollingStocks[i + 1] || currentRollingStock\r\n }\r\n }\r\n}\r\n\r\nfunction rollingStocksIsOut(rollingStock, canvas) {\r\n return rollingStock.getBoundingRect().end > canvas.end\r\n}\r\n\r\nfunction moveRollingStock(rollingStocks, canvas) {\r\n for (var i = 0; i < rollingStocks.length; i += 1) {\r\n var currentRollingStock = rollingStocks[i];\r\n var shouldSetCanvas = true;\r\n if (null !== currentRollingStock && rollingStocksIsOut(currentRollingStock, canvas)) {\r\n var currentBBox = currentRollingStock.getBoundingRect();\r\n for (var j = i + 1; j < rollingStocks.length; j += 1) {\r\n var nextRollingStock = rollingStocks[j];\r\n if (nextRollingStock) {\r\n var nextBBox = nextRollingStock.getBoundingRect();\r\n if (nextBBox.end > currentBBox.start - (currentBBox.end - canvas.end)) {\r\n nextRollingStock.toChain(currentRollingStock);\r\n shouldSetCanvas = false;\r\n break\r\n }\r\n }\r\n }\r\n }\r\n if (shouldSetCanvas) {\r\n null === currentRollingStock || void 0 === currentRollingStock ? void 0 : currentRollingStock.setRollingStockInCanvas(canvas)\r\n }\r\n }\r\n}\r\n\r\nfunction getLegendFields(name) {\r\n return {\r\n nameField: \"\".concat(name, \"Name\"),\r\n colorField: \"\".concat(name, \"Color\"),\r\n indexField: \"\".concat(name, \"Index\")\r\n }\r\n}\r\n\r\nfunction getLegendSettings(legendDataField) {\r\n var formatObjectFields = getLegendFields(legendDataField);\r\n return {\r\n getFormatObject(data) {\r\n var res = {};\r\n res[formatObjectFields.indexField] = data.id;\r\n res[formatObjectFields.colorField] = data.states.normal.fill;\r\n res[formatObjectFields.nameField] = data.text;\r\n return res\r\n },\r\n textField: formatObjectFields.nameField\r\n }\r\n}\r\n\r\nfunction checkOverlapping(firstRect, secondRect) {\r\n return (firstRect.x <= secondRect.x && secondRect.x <= firstRect.x + firstRect.width || firstRect.x >= secondRect.x && firstRect.x <= secondRect.x + secondRect.width) && (firstRect.y <= secondRect.y && secondRect.y <= firstRect.y + firstRect.height || firstRect.y >= secondRect.y && firstRect.y <= secondRect.y + secondRect.height)\r\n}\r\nexport var overlapping = {\r\n resolveLabelOverlappingInOneDirection: resolveLabelOverlappingInOneDirection\r\n};\r\nexport var BaseChart = BaseWidget.inherit({\r\n _eventsMap: {\r\n onSeriesClick: {\r\n name: \"seriesClick\"\r\n },\r\n onPointClick: {\r\n name: \"pointClick\"\r\n },\r\n onArgumentAxisClick: {\r\n name: \"argumentAxisClick\"\r\n },\r\n onLegendClick: {\r\n name: \"legendClick\"\r\n },\r\n onSeriesSelectionChanged: {\r\n name: \"seriesSelectionChanged\"\r\n },\r\n onPointSelectionChanged: {\r\n name: \"pointSelectionChanged\"\r\n },\r\n onSeriesHoverChanged: {\r\n name: \"seriesHoverChanged\"\r\n },\r\n onPointHoverChanged: {\r\n name: \"pointHoverChanged\"\r\n },\r\n onDone: {\r\n name: \"done\",\r\n actionSettings: {\r\n excludeValidators: [\"disabled\"]\r\n }\r\n },\r\n onZoomStart: {\r\n name: \"zoomStart\"\r\n },\r\n onZoomEnd: {\r\n name: \"zoomEnd\"\r\n }\r\n },\r\n _fontFields: [\"legend.\".concat(FONT), \"legend.title.\".concat(FONT), \"legend.title.subtitle.\".concat(FONT), \"commonSeriesSettings.label.\".concat(FONT)],\r\n _rootClassPrefix: \"dxc\",\r\n _rootClass: \"dxc-chart\",\r\n _initialChanges: [\"INIT\"],\r\n _themeDependentChanges: [\"REFRESH_SERIES_REINIT\"],\r\n _getThemeManagerOptions() {\r\n var themeOptions = this.callBase.apply(this, arguments);\r\n themeOptions.options = this.option();\r\n return themeOptions\r\n },\r\n _createThemeManager() {\r\n var chartOption = this.option();\r\n var themeManager = new ThemeManager(this._getThemeManagerOptions());\r\n themeManager.setTheme(chartOption.theme, chartOption.rtlEnabled);\r\n return themeManager\r\n },\r\n _initCore() {\r\n this._canvasClipRect = this._renderer.clipRect();\r\n this._createHtmlStructure();\r\n this._createLegend();\r\n this._createTracker();\r\n this._needHandleRenderComplete = true;\r\n this.layoutManager = new LayoutManager;\r\n this._createScrollBar();\r\n eventsEngine.on(this._$element, \"contextmenu\", event => {\r\n if (isTouchEvent(event) || isPointerEvent(event)) {\r\n event.preventDefault()\r\n }\r\n });\r\n eventsEngine.on(this._$element, \"MSHoldVisual\", event => {\r\n event.preventDefault()\r\n })\r\n },\r\n _getLayoutItems: noop,\r\n _layoutManagerOptions() {\r\n return this._themeManager.getOptions(\"adaptiveLayout\")\r\n },\r\n _reinit() {\r\n _setCanvasValues(this._canvas);\r\n this._reinitAxes();\r\n this._requestChange([\"DATA_SOURCE\", \"DATA_INIT\", \"CORRECT_AXIS\", \"FULL_RENDER\"])\r\n },\r\n _correctAxes: noop,\r\n _createHtmlStructure() {\r\n var renderer = this._renderer;\r\n var {\r\n root: root\r\n } = renderer;\r\n var createConstantLinesGroup = function() {\r\n return renderer.g().attr({\r\n class: \"dxc-constant-lines-group\"\r\n }).linkOn(root, \"constant-lines\")\r\n };\r\n this._constantLinesGroup = {\r\n dispose() {\r\n this.under.dispose();\r\n this.above.dispose()\r\n },\r\n linkOff() {\r\n this.under.linkOff();\r\n this.above.linkOff()\r\n },\r\n clear() {\r\n this.under.linkRemove().clear();\r\n this.above.linkRemove().clear()\r\n },\r\n linkAppend() {\r\n this.under.linkAppend();\r\n this.above.linkAppend()\r\n }\r\n };\r\n this._labelsAxesGroup = renderer.g().attr({\r\n class: \"dxc-elements-axes-group\"\r\n });\r\n var appendLabelsAxesGroup = () => {\r\n this._labelsAxesGroup.linkOn(root, \"elements\")\r\n };\r\n this._backgroundRect = renderer.rect().attr({\r\n fill: \"gray\",\r\n opacity: 1e-4\r\n }).append(root);\r\n this._panesBackgroundGroup = renderer.g().attr({\r\n class: \"dxc-background\"\r\n }).append(root);\r\n this._stripsGroup = renderer.g().attr({\r\n class: \"dxc-strips-group\"\r\n }).linkOn(root, \"strips\");\r\n this._gridGroup = renderer.g().attr({\r\n class: \"dxc-grids-group\"\r\n }).linkOn(root, \"grids\");\r\n this._panesBorderGroup = renderer.g().attr({\r\n class: \"dxc-border\"\r\n }).linkOn(root, \"border\");\r\n this._axesGroup = renderer.g().attr({\r\n class: \"dxc-axes-group\"\r\n }).linkOn(root, \"axes\");\r\n this._executeAppendBeforeSeries(appendLabelsAxesGroup);\r\n this._stripLabelAxesGroup = renderer.g().attr({\r\n class: \"dxc-strips-labels-group\"\r\n }).linkOn(root, \"strips-labels\");\r\n this._constantLinesGroup.under = createConstantLinesGroup();\r\n this._seriesGroup = renderer.g().attr({\r\n class: \"dxc-series-group\"\r\n }).linkOn(root, \"series\");\r\n this._executeAppendAfterSeries(appendLabelsAxesGroup);\r\n this._constantLinesGroup.above = createConstantLinesGroup();\r\n this._scaleBreaksGroup = renderer.g().attr({\r\n class: \"dxc-scale-breaks\"\r\n }).linkOn(root, \"scale-breaks\");\r\n this._labelsGroup = renderer.g().attr({\r\n class: \"dxc-labels-group\"\r\n }).linkOn(root, \"labels\");\r\n this._crosshairCursorGroup = renderer.g().attr({\r\n class: \"dxc-crosshair-cursor\"\r\n }).linkOn(root, \"crosshair\");\r\n this._legendGroup = renderer.g().attr({\r\n class: \"dxc-legend\",\r\n \"clip-path\": this._getCanvasClipRectID()\r\n }).linkOn(root, \"legend\").linkAppend(root).enableLinks();\r\n this._scrollBarGroup = renderer.g().attr({\r\n class: \"dxc-scroll-bar\"\r\n }).linkOn(root, \"scroll-bar\")\r\n },\r\n _executeAppendBeforeSeries() {},\r\n _executeAppendAfterSeries() {},\r\n _disposeObjectsInArray(propName, fieldNames) {\r\n (this[propName] || []).forEach(item => {\r\n if (fieldNames && item) {\r\n fieldNames.forEach(field => {\r\n var _a;\r\n null === (_a = item[field]) || void 0 === _a ? void 0 : _a.dispose()\r\n })\r\n } else {\r\n null === item || void 0 === item ? void 0 : item.dispose()\r\n }\r\n });\r\n this[propName] = null\r\n },\r\n _disposeCore() {\r\n var disposeObject = propName => {\r\n if (this[propName]) {\r\n this[propName].dispose();\r\n this[propName] = null\r\n }\r\n };\r\n var unlinkGroup = name => {\r\n this[name].linkOff()\r\n };\r\n var disposeObjectsInArray = this._disposeObjectsInArray;\r\n this._renderer.stopAllAnimations();\r\n disposeObjectsInArray.call(this, \"series\");\r\n disposeObject(\"_tracker\");\r\n disposeObject(\"_crosshair\");\r\n this.layoutManager = this._userOptions = this._canvas = this._groupsData = null;\r\n unlinkGroup(\"_stripsGroup\");\r\n unlinkGroup(\"_gridGroup\");\r\n unlinkGroup(\"_axesGroup\");\r\n unlinkGroup(\"_constantLinesGroup\");\r\n unlinkGroup(\"_stripLabelAxesGroup\");\r\n unlinkGroup(\"_panesBorderGroup\");\r\n unlinkGroup(\"_seriesGroup\");\r\n unlinkGroup(\"_labelsGroup\");\r\n unlinkGroup(\"_crosshairCursorGroup\");\r\n unlinkGroup(\"_legendGroup\");\r\n unlinkGroup(\"_scrollBarGroup\");\r\n unlinkGroup(\"_scaleBreaksGroup\");\r\n disposeObject(\"_canvasClipRect\");\r\n disposeObject(\"_panesBackgroundGroup\");\r\n disposeObject(\"_backgroundRect\");\r\n disposeObject(\"_stripsGroup\");\r\n disposeObject(\"_gridGroup\");\r\n disposeObject(\"_axesGroup\");\r\n disposeObject(\"_constantLinesGroup\");\r\n disposeObject(\"_stripLabelAxesGroup\");\r\n disposeObject(\"_panesBorderGroup\");\r\n disposeObject(\"_seriesGroup\");\r\n disposeObject(\"_labelsGroup\");\r\n disposeObject(\"_crosshairCursorGroup\");\r\n disposeObject(\"_legendGroup\");\r\n disposeObject(\"_scrollBarGroup\");\r\n disposeObject(\"_scaleBreaksGroup\")\r\n },\r\n _getAnimationOptions() {\r\n return this._themeManager.getOptions(\"animation\")\r\n },\r\n _getDefaultSize: () => ({\r\n width: 400,\r\n height: 400\r\n }),\r\n _getOption(name) {\r\n return this._themeManager.getOptions(name)\r\n },\r\n _applySize(rect) {\r\n this._rect = rect.slice();\r\n if (!this._changes.has(\"FULL_RENDER\")) {\r\n this._processRefreshData(RESIZE_REFRESH_ACTION)\r\n }\r\n },\r\n _resize() {\r\n this._doRender(this.__renderOptions || {\r\n animate: false,\r\n isResize: true\r\n })\r\n },\r\n _trackerType: \"ChartTracker\",\r\n _createTracker() {\r\n this._tracker = new trackerModule[this._trackerType]({\r\n seriesGroup: this._seriesGroup,\r\n renderer: this._renderer,\r\n tooltip: this._tooltip,\r\n legend: this._legend,\r\n eventTrigger: this._eventTrigger\r\n })\r\n },\r\n _getTrackerSettings() {\r\n return extend({\r\n chart: this\r\n }, this._getSelectionModes())\r\n },\r\n _getSelectionModes() {\r\n var themeManager = this._themeManager;\r\n return {\r\n seriesSelectionMode: themeManager.getOptions(\"seriesSelectionMode\"),\r\n pointSelectionMode: themeManager.getOptions(\"pointSelectionMode\")\r\n }\r\n },\r\n _updateTracker(trackerCanvases) {\r\n this._tracker.update(this._getTrackerSettings());\r\n this._tracker.setCanvases({\r\n left: 0,\r\n right: this._canvas.width,\r\n top: 0,\r\n bottom: this._canvas.height\r\n }, trackerCanvases)\r\n },\r\n _createCanvasFromRect(rect) {\r\n var currentCanvas = this._canvas;\r\n return _setCanvasValues({\r\n left: rect[0],\r\n top: rect[1],\r\n right: currentCanvas.width - rect[2],\r\n bottom: currentCanvas.height - rect[3],\r\n width: currentCanvas.width,\r\n height: currentCanvas.height\r\n })\r\n },\r\n _doRender(_options) {\r\n if (0 === this._canvas.width && 0 === this._canvas.height) {\r\n return\r\n }\r\n this._resetIsReady();\r\n var drawOptions = this._prepareDrawOptions(_options);\r\n var {\r\n recreateCanvas: recreateCanvas\r\n } = drawOptions;\r\n this._preserveOriginalCanvas();\r\n if (recreateCanvas) {\r\n this.__currentCanvas = this._canvas\r\n } else {\r\n this._canvas = this.__currentCanvas\r\n }\r\n recreateCanvas && this._updateCanvasClipRect(this._canvas);\r\n this._canvas = this._createCanvasFromRect(this._rect);\r\n this._renderer.stopAllAnimations(true);\r\n this._cleanGroups();\r\n var startTime = new Date;\r\n this._renderElements(drawOptions);\r\n this._lastRenderingTime = Number(new Date) - Number(startTime)\r\n },\r\n _preserveOriginalCanvas() {\r\n this.__originalCanvas = this._canvas;\r\n this._canvas = extend({}, this._canvas)\r\n },\r\n _layoutAxes: noop,\r\n _renderElements(drawOptions) {\r\n var preparedOptions = this._prepareToRender(drawOptions);\r\n var isRotated = this._isRotated();\r\n var isLegendInside = this._isLegendInside();\r\n var trackerCanvases = [];\r\n extend({}, this._canvas);\r\n var argBusinessRange;\r\n var zoomMinArg;\r\n var zoomMaxArg;\r\n this._renderer.lock();\r\n if (drawOptions.drawLegend && this._legend) {\r\n this._legendGroup.linkAppend()\r\n }\r\n this.layoutManager.setOptions(this._layoutManagerOptions());\r\n var layoutTargets = this._getLayoutTargets();\r\n this._layoutAxes(needSpace => {\r\n var axisDrawOptions = needSpace ? extend({}, drawOptions, {\r\n animate: false,\r\n recreateCanvas: true\r\n }) : drawOptions;\r\n var canvas = this._renderAxes(axisDrawOptions, preparedOptions);\r\n this._shrinkAxes(needSpace, canvas)\r\n });\r\n this._applyClipRects(preparedOptions);\r\n this._appendSeriesGroups();\r\n this._createCrosshairCursor();\r\n layoutTargets.forEach(_ref => {\r\n var {\r\n canvas: canvas\r\n } = _ref;\r\n trackerCanvases.push({\r\n left: canvas.left,\r\n right: canvas.width - canvas.right,\r\n top: canvas.top,\r\n bottom: canvas.height - canvas.bottom\r\n })\r\n });\r\n if (this._scrollBar) {\r\n argBusinessRange = this._argumentAxes[0].getTranslator().getBusinessRange();\r\n if (\"discrete\" === argBusinessRange.axisType && argBusinessRange.categories && argBusinessRange.categories.length <= 1 || \"discrete\" !== argBusinessRange.axisType && argBusinessRange.min === argBusinessRange.max) {\r\n zoomMinArg = zoomMaxArg = void 0\r\n } else {\r\n zoomMinArg = argBusinessRange.minVisible;\r\n zoomMaxArg = argBusinessRange.maxVisible\r\n }\r\n this._scrollBar.init(argBusinessRange, !this._argumentAxes[0].getOptions().valueMarginsEnabled).setPosition(zoomMinArg, zoomMaxArg)\r\n }\r\n this._updateTracker(trackerCanvases);\r\n this._updateLegendPosition(drawOptions, isLegendInside);\r\n this._applyPointMarkersAutoHiding();\r\n this._renderSeries(drawOptions, isRotated, isLegendInside);\r\n this._renderer.unlock()\r\n },\r\n _updateLegendPosition: noop,\r\n _createCrosshairCursor: noop,\r\n _appendSeriesGroups() {\r\n this._seriesGroup.linkAppend();\r\n this._labelsGroup.linkAppend();\r\n this._appendAdditionalSeriesGroups()\r\n },\r\n _renderSeries(drawOptions, isRotated, isLegendInside) {\r\n this._calculateSeriesLayout(drawOptions, isRotated);\r\n this._renderSeriesElements(drawOptions, isLegendInside)\r\n },\r\n _calculateSeriesLayout(drawOptions, isRotated) {\r\n drawOptions.hideLayoutLabels = this.layoutManager.needMoreSpaceForPanesCanvas(this._getLayoutTargets(), isRotated) && !this._themeManager.getOptions(\"adaptiveLayout\").keepLabels;\r\n this._updateSeriesDimensions(drawOptions)\r\n },\r\n _getArgFilter: () => () => true,\r\n _getValFilter: () => () => true,\r\n _getPointsToAnimation(series) {\r\n var argViewPortFilter = this._getArgFilter();\r\n return series.map(s => {\r\n var valViewPortFilter = this._getValFilter(s);\r\n return s.getPoints().filter(p => p.getOptions().visible && argViewPortFilter(p.argument) && (valViewPortFilter(p.getMinValue(true)) || valViewPortFilter(p.getMaxValue(true)))).length\r\n })\r\n },\r\n _renderSeriesElements(drawOptions, isLegendInside) {\r\n var {\r\n series: series\r\n } = this;\r\n var resolveLabelOverlapping = this._themeManager.getOptions(\"resolveLabelOverlapping\");\r\n var pointsToAnimation = this._getPointsToAnimation(series);\r\n series.forEach((singleSeries, index) => {\r\n this._applyExtraSettings(singleSeries, drawOptions);\r\n var animationEnabled = drawOptions.animate && pointsToAnimation[index] <= drawOptions.animationPointsLimit && this._renderer.animationEnabled();\r\n singleSeries.draw(animationEnabled, drawOptions.hideLayoutLabels, this._getLegendCallBack(singleSeries))\r\n });\r\n if (\"none\" === resolveLabelOverlapping) {\r\n this._adjustSeriesLabels(false)\r\n } else {\r\n this._locateLabels(resolveLabelOverlapping)\r\n }\r\n this._renderTrackers(isLegendInside);\r\n this._tracker.repairTooltip();\r\n this._renderExtraElements();\r\n this._clearCanvas();\r\n this._seriesElementsDrawn = true\r\n },\r\n _changesApplied() {\r\n if (this._seriesElementsDrawn) {\r\n this._seriesElementsDrawn = false;\r\n this._drawn();\r\n this._renderCompleteHandler()\r\n }\r\n },\r\n _locateLabels(resolveLabelOverlapping) {\r\n this._resolveLabelOverlapping(resolveLabelOverlapping)\r\n },\r\n _renderExtraElements() {},\r\n _clearCanvas() {\r\n this._canvas = this.__originalCanvas\r\n },\r\n _resolveLabelOverlapping(resolveLabelOverlapping) {\r\n var func;\r\n switch (resolveLabelOverlapping) {\r\n case \"stack\":\r\n func = this._resolveLabelOverlappingStack;\r\n break;\r\n case \"hide\":\r\n func = this._resolveLabelOverlappingHide;\r\n break;\r\n case \"shift\":\r\n func = this._resolveLabelOverlappingShift\r\n }\r\n return isFunction(func) && func.call(this)\r\n },\r\n _getVisibleSeries() {\r\n return grep(this.getAllSeries(), series => series.isVisible())\r\n },\r\n _resolveLabelOverlappingHide() {\r\n var labels = [];\r\n var currentLabel;\r\n var nextLabel;\r\n var currentLabelRect;\r\n var nextLabelRect;\r\n var i;\r\n var j;\r\n var points;\r\n var series = this._getVisibleSeries();\r\n for (i = 0; i < series.length; i++) {\r\n points = series[i].getVisiblePoints();\r\n for (j = 0; j < points.length; j++) {\r\n labels.push.apply(labels, points[j].getLabels())\r\n }\r\n }\r\n for (i = 0; i < labels.length; i++) {\r\n currentLabel = labels[i];\r\n if (!currentLabel.isVisible()) {\r\n continue\r\n }\r\n currentLabelRect = currentLabel.getBoundingRect();\r\n for (j = i + 1; j < labels.length; j++) {\r\n nextLabel = labels[j];\r\n nextLabelRect = nextLabel.getBoundingRect();\r\n if (checkOverlapping(currentLabelRect, nextLabelRect)) {\r\n nextLabel.draw(false)\r\n }\r\n }\r\n }\r\n },\r\n _cleanGroups() {\r\n this._stripsGroup.linkRemove().clear();\r\n this._gridGroup.linkRemove().clear();\r\n this._axesGroup.linkRemove().clear();\r\n this._constantLinesGroup.clear();\r\n this._stripLabelAxesGroup.linkRemove().clear();\r\n this._labelsGroup.linkRemove().clear();\r\n this._crosshairCursorGroup.linkRemove().clear();\r\n this._scaleBreaksGroup.linkRemove().clear()\r\n },\r\n _allowLegendInsidePosition: () => false,\r\n _createLegend() {\r\n var legendSettings = getLegendSettings(this._legendDataField);\r\n this._legend = new Legend({\r\n renderer: this._renderer,\r\n widget: this,\r\n group: this._legendGroup,\r\n backgroundClass: \"dxc-border\",\r\n itemGroupClass: \"dxc-item\",\r\n titleGroupClass: \"dxc-title\",\r\n textField: legendSettings.textField,\r\n getFormatObject: legendSettings.getFormatObject,\r\n allowInsidePosition: this._allowLegendInsidePosition()\r\n });\r\n this._updateLegend();\r\n this._layout.add(this._legend)\r\n },\r\n _updateLegend() {\r\n var themeManager = this._themeManager;\r\n var legendOptions = themeManager.getOptions(\"legend\");\r\n var legendData = this._getLegendData();\r\n legendOptions.containerBackgroundColor = themeManager.getOptions(\"containerBackgroundColor\");\r\n legendOptions._incidentOccurred = this._incidentOccurred;\r\n this._legend.update(legendData, legendOptions, themeManager.theme(\"legend\").title);\r\n this._change([\"LAYOUT\"])\r\n },\r\n _prepareDrawOptions(drawOptions) {\r\n var animationOptions = this._getAnimationOptions();\r\n var options = extend({}, {\r\n force: false,\r\n adjustAxes: true,\r\n drawLegend: true,\r\n drawTitle: true,\r\n animate: animationOptions.enabled,\r\n animationPointsLimit: animationOptions.maxPointCountSupported\r\n }, drawOptions, this.__renderOptions);\r\n if (!_isDefined(options.recreateCanvas)) {\r\n options.recreateCanvas = options.adjustAxes && options.drawLegend && options.drawTitle\r\n }\r\n return options\r\n },\r\n _processRefreshData(newRefreshAction) {\r\n var currentRefreshActionPosition = ACTIONS_BY_PRIORITY.indexOf(this._currentRefreshData);\r\n var newRefreshActionPosition = ACTIONS_BY_PRIORITY.indexOf(newRefreshAction);\r\n if (!this._currentRefreshData || currentRefreshActionPosition >= 0 && newRefreshActionPosition < currentRefreshActionPosition) {\r\n this._currentRefreshData = newRefreshAction\r\n }\r\n this._requestChange([\"REFRESH\"])\r\n },\r\n _getLegendData() {\r\n return _map(this._getLegendTargets(), item => {\r\n var {\r\n legendData: legendData\r\n } = item;\r\n var style = item.getLegendStyles;\r\n var {\r\n opacity: opacity\r\n } = style.normal;\r\n if (!item.visible) {\r\n if (!_isDefined(opacity) || opacity > DEFAULT_OPACITY) {\r\n opacity = DEFAULT_OPACITY\r\n }\r\n legendData.textOpacity = DEFAULT_OPACITY\r\n }\r\n var opacityStyle = {\r\n opacity: opacity\r\n };\r\n legendData.states = {\r\n hover: extend({}, style.hover, opacityStyle),\r\n selection: extend({}, style.selection, opacityStyle),\r\n normal: extend({}, style.normal, opacityStyle)\r\n };\r\n return legendData\r\n })\r\n },\r\n _getLegendOptions(item) {\r\n return {\r\n legendData: {\r\n text: item[this._legendItemTextField],\r\n id: item.index,\r\n visible: true\r\n },\r\n getLegendStyles: item.getLegendStyles(),\r\n visible: item.isVisible()\r\n }\r\n },\r\n _disposeSeries(seriesIndex) {\r\n var _a;\r\n if (this.series) {\r\n if (_isDefined(seriesIndex)) {\r\n this.series[seriesIndex].dispose();\r\n this.series.splice(seriesIndex, 1)\r\n } else {\r\n this.series.forEach(s => s.dispose());\r\n this.series.length = 0\r\n }\r\n }\r\n if (!(null === (_a = this.series) || void 0 === _a ? void 0 : _a.length)) {\r\n this.series = []\r\n }\r\n },\r\n _disposeSeriesFamilies() {\r\n (this.seriesFamilies || []).forEach(family => {\r\n family.dispose()\r\n });\r\n this.seriesFamilies = null;\r\n this._needHandleRenderComplete = true\r\n },\r\n _optionChanged(arg) {\r\n this._themeManager.resetOptions(arg.name);\r\n this.callBase.apply(this, arguments)\r\n },\r\n _applyChanges() {\r\n this._themeManager.update(this._options.silent());\r\n this.callBase(...arguments)\r\n },\r\n _optionChangesMap: {\r\n animation: \"ANIMATION\",\r\n dataSource: \"DATA_SOURCE\",\r\n palette: \"PALETTE\",\r\n paletteExtensionMode: \"PALETTE\",\r\n legend: \"FORCE_DATA_INIT\",\r\n seriesTemplate: \"FORCE_DATA_INIT\",\r\n export: \"FORCE_RENDER\",\r\n valueAxis: \"AXES_AND_PANES\",\r\n argumentAxis: \"AXES_AND_PANES\",\r\n commonAxisSettings: \"AXES_AND_PANES\",\r\n panes: \"AXES_AND_PANES\",\r\n commonPaneSettings: \"AXES_AND_PANES\",\r\n defaultPane: \"AXES_AND_PANES\",\r\n containerBackgroundColor: \"AXES_AND_PANES\",\r\n rotated: \"ROTATED\",\r\n autoHidePointMarkers: \"REFRESH_SERIES_REINIT\",\r\n customizePoint: \"REFRESH_SERIES_REINIT\",\r\n customizeLabel: \"REFRESH_SERIES_REINIT\",\r\n scrollBar: \"SCROLL_BAR\"\r\n },\r\n _optionChangesOrder: [\"ROTATED\", \"PALETTE\", \"REFRESH_SERIES_REINIT\", \"USE_SPIDER_WEB\", \"AXES_AND_PANES\", \"INIT\", \"REINIT\", \"DATA_SOURCE\", \"REFRESH_SERIES_DATA_INIT\", \"DATA_INIT\", \"FORCE_DATA_INIT\", \"REFRESH_AXES\", \"CORRECT_AXIS\"],\r\n _customChangesOrder: [\"ANIMATION\", \"REFRESH_SERIES_FAMILIES\", \"FORCE_FIRST_DRAWING\", \"FORCE_DRAWING\", \"FORCE_RENDER\", \"VISUAL_RANGE\", \"SCROLL_BAR\", \"REINIT\", \"REFRESH\", \"FULL_RENDER\"],\r\n _change_ANIMATION() {\r\n this._renderer.updateAnimationOptions(this._getAnimationOptions())\r\n },\r\n _change_DATA_SOURCE() {\r\n this._needHandleRenderComplete = true;\r\n this._updateDataSource()\r\n },\r\n _change_PALETTE() {\r\n this._themeManager.updatePalette();\r\n this._refreshSeries(\"DATA_INIT\")\r\n },\r\n _change_REFRESH_SERIES_DATA_INIT() {\r\n this._refreshSeries(\"DATA_INIT\")\r\n },\r\n _change_DATA_INIT() {\r\n if ((!this.series || this.needToPopulateSeries) && !this._changes.has(\"FORCE_DATA_INIT\")) {\r\n this._dataInit()\r\n }\r\n },\r\n _change_FORCE_DATA_INIT() {\r\n this._dataInit()\r\n },\r\n _change_REFRESH_SERIES_FAMILIES() {\r\n this._processSeriesFamilies();\r\n this._populateBusinessRange();\r\n this._processRefreshData(FORCE_RENDER_REFRESH_ACTION)\r\n },\r\n _change_FORCE_RENDER() {\r\n this._processRefreshData(FORCE_RENDER_REFRESH_ACTION)\r\n },\r\n _change_AXES_AND_PANES() {\r\n this._refreshSeries(\"INIT\")\r\n },\r\n _change_ROTATED() {\r\n this._createScrollBar();\r\n this._refreshSeries(\"INIT\")\r\n },\r\n _change_REFRESH_SERIES_REINIT() {\r\n this._refreshSeries(\"INIT\")\r\n },\r\n _change_REFRESH_AXES() {\r\n _setCanvasValues(this._canvas);\r\n this._reinitAxes();\r\n this._requestChange([\"CORRECT_AXIS\", \"FULL_RENDER\"])\r\n },\r\n _change_SCROLL_BAR() {\r\n this._createScrollBar();\r\n this._processRefreshData(FORCE_RENDER_REFRESH_ACTION)\r\n },\r\n _change_REINIT() {\r\n this._processRefreshData(REINIT_REFRESH_ACTION)\r\n },\r\n _change_FORCE_DRAWING() {\r\n this._resetComponentsAnimation()\r\n },\r\n _change_FORCE_FIRST_DRAWING() {\r\n this._resetComponentsAnimation(true)\r\n },\r\n _resetComponentsAnimation(isFirstDrawing) {\r\n this.series.forEach(s => {\r\n s.resetApplyingAnimation(isFirstDrawing)\r\n });\r\n this._resetAxesAnimation(isFirstDrawing)\r\n },\r\n _resetAxesAnimation: noop,\r\n _refreshSeries(actionName) {\r\n this.needToPopulateSeries = true;\r\n this._requestChange([actionName])\r\n },\r\n _change_CORRECT_AXIS() {\r\n this._correctAxes()\r\n },\r\n _doRefresh() {\r\n var methodName = this._currentRefreshData;\r\n if (methodName) {\r\n this._currentRefreshData = null;\r\n this._renderer.stopAllAnimations(true);\r\n this[methodName]()\r\n }\r\n },\r\n _updateCanvasClipRect(canvas) {\r\n var width = Math.max(canvas.width - canvas.left - canvas.right, 0);\r\n var height = Math.max(canvas.height - canvas.top - canvas.bottom, 0);\r\n this._canvasClipRect.attr({\r\n x: canvas.left,\r\n y: canvas.top,\r\n width: width,\r\n height: height\r\n });\r\n this._backgroundRect.attr({\r\n x: canvas.left,\r\n y: canvas.top,\r\n width: width,\r\n height: height\r\n })\r\n },\r\n _getCanvasClipRectID() {\r\n return this._canvasClipRect.id\r\n },\r\n _dataSourceChangedHandler() {\r\n if (this._changes.has(\"INIT\")) {\r\n this._requestChange([\"DATA_INIT\"])\r\n } else {\r\n this._requestChange([\"FORCE_DATA_INIT\"])\r\n }\r\n },\r\n _dataInit() {\r\n this._dataSpecificInit(true)\r\n },\r\n _processSingleSeries(singleSeries) {\r\n singleSeries.createPoints(false)\r\n },\r\n _handleSeriesDataUpdated() {\r\n if (this._getVisibleSeries().some(s => s.useAggregation())) {\r\n this._populateMarginOptions()\r\n }\r\n this.series.forEach(s => this._processSingleSeries(s), this)\r\n },\r\n _dataSpecificInit(needRedraw) {\r\n if (!this.series || this.needToPopulateSeries) {\r\n this.series = this._populateSeries()\r\n }\r\n this._repopulateSeries();\r\n this._seriesPopulatedHandlerCore();\r\n this._populateBusinessRange();\r\n this._tracker.updateSeries(this.series, this._changes.has(\"INIT\"));\r\n this._updateLegend();\r\n if (needRedraw) {\r\n this._requestChange([\"FULL_RENDER\"])\r\n }\r\n },\r\n _forceRender() {\r\n this._doRender({\r\n force: true\r\n })\r\n },\r\n _repopulateSeries() {\r\n var themeManager = this._themeManager;\r\n var data = this._dataSourceItems();\r\n var dataValidatorOptions = themeManager.getOptions(\"dataPrepareSettings\");\r\n var seriesTemplate = themeManager.getOptions(\"seriesTemplate\");\r\n if (seriesTemplate) {\r\n this._populateSeries(data)\r\n }\r\n this._groupSeries();\r\n var parsedData = validateData(data, this._groupsData, this._incidentOccurred, dataValidatorOptions);\r\n themeManager.resetPalette();\r\n this.series.forEach(singleSeries => {\r\n singleSeries.updateData(parsedData[singleSeries.getArgumentField()])\r\n });\r\n this._handleSeriesDataUpdated()\r\n },\r\n _renderCompleteHandler() {\r\n var allSeriesInited = true;\r\n if (this._needHandleRenderComplete) {\r\n this.series.forEach(s => {\r\n allSeriesInited = allSeriesInited && s.canRenderCompleteHandle()\r\n });\r\n if (allSeriesInited) {\r\n this._needHandleRenderComplete = false;\r\n this._eventTrigger(\"done\", {\r\n target: this\r\n })\r\n }\r\n }\r\n },\r\n _dataIsReady() {\r\n return _isDefined(this.option(\"dataSource\")) && this._dataIsLoaded()\r\n },\r\n _populateSeriesOptions(data) {\r\n var themeManager = this._themeManager;\r\n var seriesTemplate = themeManager.getOptions(\"seriesTemplate\");\r\n var seriesOptions = seriesTemplate ? processSeriesTemplate(seriesTemplate, data || []) : this.option(\"series\");\r\n var allSeriesOptions = isArray(seriesOptions) ? seriesOptions : seriesOptions ? [seriesOptions] : [];\r\n var extraOptions = this._getExtraOptions();\r\n var particularSeriesOptions;\r\n var seriesTheme;\r\n var seriesThemes = [];\r\n var seriesVisibilityChanged = target => {\r\n this._specialProcessSeries();\r\n this._populateBusinessRange(target && target.getValueAxis(), true);\r\n this._renderer.stopAllAnimations(true);\r\n this._updateLegend();\r\n this._requestChange([\"FULL_RENDER\"])\r\n };\r\n for (var i = 0; i < allSeriesOptions.length; i++) {\r\n particularSeriesOptions = extend(true, {}, allSeriesOptions[i], extraOptions);\r\n if (!_isDefined(particularSeriesOptions.name) || \"\" === particularSeriesOptions.name) {\r\n particularSeriesOptions.name = \"Series \".concat((i + 1).toString())\r\n }\r\n particularSeriesOptions.rotated = this._isRotated();\r\n particularSeriesOptions.customizePoint = themeManager.getOptions(\"customizePoint\");\r\n particularSeriesOptions.customizeLabel = themeManager.getOptions(\"customizeLabel\");\r\n particularSeriesOptions.visibilityChanged = seriesVisibilityChanged;\r\n particularSeriesOptions.incidentOccurred = this._incidentOccurred;\r\n seriesTheme = themeManager.getOptions(\"series\", particularSeriesOptions, allSeriesOptions.length);\r\n if (this._checkPaneName(seriesTheme)) {\r\n seriesThemes.push(seriesTheme)\r\n }\r\n }\r\n return seriesThemes\r\n },\r\n _populateSeries(data) {\r\n var _a;\r\n var seriesBasis = [];\r\n var incidentOccurred = this._incidentOccurred;\r\n var seriesThemes = this._populateSeriesOptions(data);\r\n var particularSeries;\r\n var disposeSeriesFamilies = false;\r\n this.needToPopulateSeries = false;\r\n seriesThemes.forEach(theme => {\r\n var _a;\r\n var curSeries = null === (_a = this.series) || void 0 === _a ? void 0 : _a.find(s => s.name === theme.name && !seriesBasis.map(sb => sb.series).includes(s));\r\n if (curSeries && curSeries.type === theme.type) {\r\n seriesBasis.push({\r\n series: curSeries,\r\n options: theme\r\n })\r\n } else {\r\n seriesBasis.push({\r\n options: theme\r\n });\r\n disposeSeriesFamilies = true\r\n }\r\n });\r\n 0 !== (null === (_a = this.series) || void 0 === _a ? void 0 : _a.length) && this._tracker.clearHover();\r\n _reverseEach(this.series, (index, series) => {\r\n if (!seriesBasis.some(s => series === s.series)) {\r\n this._disposeSeries(index);\r\n disposeSeriesFamilies = true\r\n }\r\n });\r\n !disposeSeriesFamilies && (disposeSeriesFamilies = seriesBasis.some(sb => sb.series.name !== seriesThemes[sb.series.index].name));\r\n this.series = [];\r\n disposeSeriesFamilies && this._disposeSeriesFamilies();\r\n this._themeManager.resetPalette();\r\n var eventPipe = data => {\r\n this.series.forEach(currentSeries => {\r\n currentSeries.notify(data)\r\n })\r\n };\r\n seriesBasis.forEach(basis => {\r\n var _a, _b;\r\n var seriesTheme = basis.options;\r\n var argumentAxis = null !== (_b = null === (_a = this._argumentAxes) || void 0 === _a ? void 0 : _a.filter(a => a.pane === seriesTheme.pane)[0]) && void 0 !== _b ? _b : this.getArgumentAxis();\r\n var renderSettings = {\r\n commonSeriesModes: this._getSelectionModes(),\r\n argumentAxis: argumentAxis,\r\n valueAxis: this._getValueAxis(seriesTheme.pane, seriesTheme.axis)\r\n };\r\n if (basis.series) {\r\n particularSeries = basis.series;\r\n particularSeries.updateOptions(seriesTheme, renderSettings)\r\n } else {\r\n particularSeries = new Series(extend({\r\n renderer: this._renderer,\r\n seriesGroup: this._seriesGroup,\r\n labelsGroup: this._labelsGroup,\r\n eventTrigger: this._eventTrigger,\r\n eventPipe: eventPipe,\r\n incidentOccurred: incidentOccurred\r\n }, renderSettings), seriesTheme)\r\n }\r\n if (!particularSeries.isUpdated) {\r\n incidentOccurred(\"E2101\", [seriesTheme.type])\r\n } else {\r\n particularSeries.index = this.series.length;\r\n this.series.push(particularSeries)\r\n }\r\n });\r\n return this.series\r\n },\r\n getStackedPoints(point) {\r\n var stackName = point.series.getStackName();\r\n return this._getVisibleSeries().reduce((stackPoints, series) => {\r\n if (!_isDefined(series.getStackName()) || !_isDefined(stackName) || stackName === series.getStackName()) {\r\n stackPoints = stackPoints.concat(series.getPointsByArg(point.argument))\r\n }\r\n return stackPoints\r\n }, [])\r\n },\r\n getAllSeries: function() {\r\n return (this.series || []).slice()\r\n },\r\n getSeriesByName: function(name) {\r\n var found = (this.series || []).find(singleSeries => singleSeries.name === name);\r\n return found || null\r\n },\r\n getSeriesByPos: function(pos) {\r\n return (this.series || [])[pos]\r\n },\r\n clearSelection: function() {\r\n this._tracker.clearSelection()\r\n },\r\n hideTooltip() {\r\n this._tracker._hideTooltip()\r\n },\r\n clearHover() {\r\n this._tracker.clearHover()\r\n },\r\n render(renderOptions) {\r\n this.__renderOptions = renderOptions;\r\n this.__forceRender = renderOptions && renderOptions.force;\r\n this.callBase.apply(this, arguments);\r\n this.__renderOptions = this.__forceRender = null;\r\n return this\r\n },\r\n refresh() {\r\n this._disposeSeries();\r\n this._disposeSeriesFamilies();\r\n this._requestChange([\"CONTAINER_SIZE\", \"REFRESH_SERIES_REINIT\"])\r\n },\r\n _getMinSize() {\r\n var adaptiveLayout = this._layoutManagerOptions();\r\n return [adaptiveLayout.width, adaptiveLayout.height]\r\n },\r\n _change_REFRESH() {\r\n if (!this._changes.has(\"INIT\")) {\r\n this._doRefresh()\r\n } else {\r\n this._currentRefreshData = null\r\n }\r\n },\r\n _change_FULL_RENDER() {\r\n this._forceRender()\r\n },\r\n _change_INIT() {\r\n this._reinit()\r\n },\r\n _stopCurrentHandling() {\r\n this._tracker.stopCurrentHandling()\r\n }\r\n});\r\nREFRESH_SERIES_DATA_INIT_ACTION_OPTIONS.forEach(name => {\r\n BaseChart.prototype._optionChangesMap[name] = \"REFRESH_SERIES_DATA_INIT\"\r\n});\r\nFORCE_RENDER_REFRESH_ACTION_OPTIONS.forEach(name => {\r\n BaseChart.prototype._optionChangesMap[name] = \"FORCE_RENDER\"\r\n});\r\nREFRESH_SERIES_FAMILIES_ACTION_OPTIONS.forEach(name => {\r\n BaseChart.prototype._optionChangesMap[name] = \"REFRESH_SERIES_FAMILIES\"\r\n});\r\nBaseChart.addPlugin(exportPlugin);\r\nBaseChart.addPlugin(titlePlugin);\r\nBaseChart.addPlugin(dataSourcePlugin);\r\nBaseChart.addPlugin(tooltipPlugin);\r\nBaseChart.addPlugin(loadingIndicatorPlugin);\r\nvar {\r\n _change_TITLE: _change_TITLE\r\n} = BaseChart.prototype;\r\nBaseChart.prototype._change_TITLE = function() {\r\n _change_TITLE.apply(this, arguments);\r\n this._change([\"FORCE_RENDER\"])\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/core/errors_warnings.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errorUtils from \"../../core/utils/error\";\r\nimport errors from \"../../core/errors\";\r\nexport default errorUtils(errors.ERROR_MESSAGES, {\r\n E2001: \"Invalid data source\",\r\n E2002: \"Axis type and data type are incompatible\",\r\n E2003: 'The \"{0}\" data source field contains data of unsupported type',\r\n E2004: 'The \"{0}\" data source field is inconsistent',\r\n E2005: 'The value field \"{0}\" is absent in the data source or all its values are negative',\r\n E2006: \"A cycle is detected in provided data\",\r\n E2007: 'The value field \"{0}\" is absent in the data source',\r\n E2008: 'The value field \"{0}\" must be a string',\r\n E2009: 'The value field \"{0}\" must be a positive numeric value',\r\n E2101: \"Unknown series type: {0}\",\r\n E2102: \"Ambiguity occurred between two value axes with the same name\",\r\n E2103: 'The \"{0}\" option is given an invalid value. Assign a function instead',\r\n E2104: \"Invalid logarithm base\",\r\n E2105: 'Invalid value of a \"{0}\"',\r\n E2202: \"Invalid {0} scale value\",\r\n E2203: \"The range you are trying to set is invalid\",\r\n W2002: \"The {0} series cannot be drawn because the {1} data field is missing\",\r\n W2003: \"Tick interval is too small\",\r\n W2101: 'The \"{0}\" pane does not exist; the last pane is used by default',\r\n W2102: 'A value axis with the \"{0}\" name was created automatically',\r\n W2103: \"The chart title was hidden due to the container size\",\r\n W2104: \"The legend was hidden due to the container size\",\r\n W2105: 'The title of the \"{0}\" axis was hidden due to the container size',\r\n W2106: 'The labels of the \"{0}\" axis were hidden due to the container size',\r\n W2107: \"The export menu was hidden due to the container size\",\r\n W2108: \"The browser does not support exporting images to {0} format.\",\r\n W2301: \"Invalid value range\"\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/core/base_widget.utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n version\r\n} from \"../../core/version\";\r\nimport {\r\n format as _stringFormat\r\n} from \"../../core/utils/string\";\r\nimport warnings from \"./errors_warnings\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport _windowResizeCallbacks from \"../../core/utils/resize_callbacks\";\r\nimport resizeObserverSingleton from \"../../core/resize_observer\";\r\nimport {\r\n normalizeEnum\r\n} from \"./utils\";\r\nvar ERROR_MESSAGES = warnings.ERROR_MESSAGES;\r\nexport function createEventTrigger(eventsMap, callbackGetter) {\r\n var triggers = {};\r\n each(eventsMap, (function(name, info) {\r\n if (info.name) {\r\n createEvent(name)\r\n }\r\n }));\r\n var changes;\r\n triggerEvent.change = function(name) {\r\n var eventInfo = eventsMap[name];\r\n if (eventInfo) {\r\n (changes = changes || {})[name] = eventInfo\r\n }\r\n return !!eventInfo\r\n };\r\n triggerEvent.applyChanges = function() {\r\n if (changes) {\r\n each(changes, (function(name, eventInfo) {\r\n createEvent(eventInfo.newName || name)\r\n }));\r\n changes = null\r\n }\r\n };\r\n triggerEvent.dispose = function() {\r\n eventsMap = callbackGetter = triggers = null\r\n };\r\n return triggerEvent;\r\n\r\n function createEvent(name) {\r\n var eventInfo = eventsMap[name];\r\n triggers[eventInfo.name] = callbackGetter(name, eventInfo.actionSettings)\r\n }\r\n\r\n function triggerEvent(name, arg, complete) {\r\n triggers[name](arg);\r\n complete && complete()\r\n }\r\n}\r\nexport var createIncidentOccurred = function(widgetName, eventTrigger) {\r\n return function(id, args) {\r\n eventTrigger(\"incidentOccurred\", {\r\n target: {\r\n id: id,\r\n type: \"E\" === id[0] ? \"error\" : \"warning\",\r\n args: args,\r\n text: _stringFormat.apply(null, [ERROR_MESSAGES[id]].concat(args || [])),\r\n widget: widgetName,\r\n version: version\r\n }\r\n })\r\n }\r\n};\r\n\r\nfunction getResizeManager(resizeCallback) {\r\n return (observe, unsubscribe) => {\r\n var {\r\n handler: handler,\r\n dispose: dispose\r\n } = createDeferredHandler(resizeCallback, unsubscribe);\r\n observe(handler);\r\n return dispose\r\n }\r\n}\r\n\r\nfunction createDeferredHandler(callback, unsubscribe) {\r\n var timeout;\r\n var handler = function() {\r\n clearTimeout(timeout);\r\n timeout = setTimeout(callback, 100)\r\n };\r\n return {\r\n handler: handler,\r\n dispose() {\r\n clearTimeout(timeout);\r\n unsubscribe(handler)\r\n }\r\n }\r\n}\r\nexport function createResizeHandler(contentElement, redrawOnResize, resize) {\r\n var disposeHandler;\r\n var resizeManager = getResizeManager(resize);\r\n if (\"windowonly\" === normalizeEnum(redrawOnResize)) {\r\n disposeHandler = resizeManager(handler => _windowResizeCallbacks.add(handler), handler => _windowResizeCallbacks.remove(handler))\r\n } else if (true === redrawOnResize) {\r\n disposeHandler = resizeManager(handler => resizeObserverSingleton.observe(contentElement, handler), () => resizeObserverSingleton.unobserve(contentElement))\r\n }\r\n return disposeHandler\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/core/layout.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n normalizeEnum as _normalizeEnum\r\n} from \"./utils\";\r\nvar _min = Math.min;\r\nvar _max = Math.max;\r\nvar _round = Math.round;\r\nvar ALIGN_START = 0;\r\nvar ALIGN_MIDDLE = 1;\r\nvar ALIGN_END = 2;\r\nvar horizontalAlignmentMap = {\r\n left: ALIGN_START,\r\n center: ALIGN_MIDDLE,\r\n right: ALIGN_END\r\n};\r\nvar verticalAlignmentMap = {\r\n top: ALIGN_START,\r\n center: ALIGN_MIDDLE,\r\n bottom: ALIGN_END\r\n};\r\nvar sideMap = {\r\n horizontal: 0,\r\n vertical: 1\r\n};\r\nvar slicersMap = {};\r\nvar BBOX_CEIL_CORRECTION = 2;\r\nslicersMap[ALIGN_START] = function(a, b, size) {\r\n return [a, _min(b, a + size)]\r\n};\r\nslicersMap[ALIGN_MIDDLE] = function(a, b, size) {\r\n return [_max(a, (a + b - size) / 2), _min(b, (a + b + size) / 2)]\r\n};\r\nslicersMap[ALIGN_END] = function(a, b, size) {\r\n return [_max(a, b - size), b]\r\n};\r\n\r\nfunction pickValue(value, map, defaultValue) {\r\n var val = _normalizeEnum(value);\r\n return val in map ? map[val] : defaultValue\r\n}\r\n\r\nfunction normalizeLayoutOptions(options) {\r\n var side = pickValue(options.side, sideMap, 1);\r\n var alignment = [pickValue(options.horizontalAlignment, horizontalAlignmentMap, ALIGN_MIDDLE), pickValue(options.verticalAlignment, verticalAlignmentMap, ALIGN_START)];\r\n return {\r\n side: side,\r\n primary: bringToEdge(alignment[side]),\r\n secondary: alignment[1 - side],\r\n weak: options.weak,\r\n priority: options.priority || 0,\r\n header: options.header,\r\n position: options.position\r\n }\r\n}\r\n\r\nfunction bringToEdge(primary) {\r\n return primary < 2 ? 0 : 2\r\n}\r\n\r\nfunction getConjugateSide(side) {\r\n return 1 - side\r\n}\r\n\r\nfunction getSlice(alignment, a, b, size) {\r\n return slicersMap[alignment](a, b, size)\r\n}\r\n\r\nfunction getShrink(alignment, size) {\r\n return (alignment > 0 ? -1 : 1) * size\r\n}\r\n\r\nfunction processForward(item, rect, minSize) {\r\n var side = item.side;\r\n var size = item.element.measure([rect[2] - rect[0], rect[3] - rect[1]]);\r\n var minSide = \"indside\" === item.position ? 0 : minSize[side];\r\n var isValid = size[side] < rect[2 + side] - rect[side] - minSide;\r\n if (isValid) {\r\n if (\"inside\" !== item.position) {\r\n rect[item.primary + side] += getShrink(item.primary, size[side])\r\n }\r\n item.size = size\r\n }\r\n return isValid\r\n}\r\n\r\nfunction processRectBackward(item, rect, alignmentRect) {\r\n var primarySide = item.side;\r\n var secondarySide = getConjugateSide(primarySide);\r\n var itemRect = [];\r\n var secondary = getSlice(item.secondary, alignmentRect[secondarySide], alignmentRect[2 + secondarySide], item.size[secondarySide]);\r\n itemRect[primarySide] = _round(itemRect[2 + primarySide] = rect[item.primary + primarySide] + (\"inside\" === item.position ? getShrink(item.primary, item.size[primarySide]) : 0));\r\n itemRect[item.primary + primarySide] = _round(rect[item.primary + primarySide] - getShrink(item.primary, item.size[primarySide]));\r\n if (\"inside\" !== item.position) {\r\n rect[item.primary + primarySide] = itemRect[item.primary + primarySide]\r\n }\r\n itemRect[secondarySide] = _round(secondary[0]);\r\n itemRect[2 + secondarySide] = _round(secondary[1]);\r\n return itemRect\r\n}\r\n\r\nfunction processBackward(item, rect, alignmentRect, fitRect, size, targetRect) {\r\n var itemRect = processRectBackward(item, rect, alignmentRect);\r\n var itemFitRect = processRectBackward(item, fitRect, fitRect);\r\n if (size[item.side] > 0) {\r\n size[item.side] -= item.size[item.side];\r\n targetRect[item.primary + item.side] = itemRect[item.primary + item.side];\r\n item.element.freeSpace()\r\n } else {\r\n item.element.move(itemRect, itemFitRect)\r\n }\r\n}\r\n\r\nfunction Layout() {\r\n this._targets = []\r\n}\r\nLayout.prototype = {\r\n constructor: Layout,\r\n dispose: function() {\r\n this._targets = null\r\n },\r\n add: function(target) {\r\n this._targets.push(target)\r\n },\r\n forward: function(targetRect, minSize) {\r\n var rect = targetRect.slice();\r\n var targets = createTargets(this._targets);\r\n var i;\r\n var ii = targets.length;\r\n var cache = [];\r\n for (i = 0; i < ii; ++i) {\r\n if (processForward(targets[i], rect, minSize)) {\r\n cache.push(targets[i])\r\n } else {\r\n targets[i].element.freeSpace()\r\n }\r\n }\r\n this._cache = cache.reverse();\r\n return rect\r\n },\r\n backward: function(targetRect, alignmentRect) {\r\n var size = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [0, 0];\r\n var backwardRect = targetRect.slice();\r\n var fitRect = targetRect.slice();\r\n var targets = this._cache;\r\n var targetSide = 0;\r\n var target;\r\n var i;\r\n var ii = targets.length;\r\n for (i = 0; i < ii; ++i) {\r\n target = targets[i];\r\n if (target.side !== targetSide) {\r\n backwardRect = targetRect.slice()\r\n }\r\n processBackward(target, backwardRect, alignmentRect, fitRect, size, targetRect);\r\n targetSide = target.side\r\n }\r\n return size\r\n }\r\n};\r\n\r\nfunction createTargets(targets) {\r\n var i;\r\n var ii = targets.length;\r\n var collection = [];\r\n var layout;\r\n for (i = 0; i < ii; ++i) {\r\n layout = targets[i].layoutOptions();\r\n if (layout) {\r\n layout = normalizeLayoutOptions(layout);\r\n layout.element = targets[i];\r\n collection.push(layout)\r\n }\r\n }\r\n collection.sort((function(a, b) {\r\n return b.side - a.side || a.priority - b.priority\r\n }));\r\n collection = processWeakItems(collection);\r\n return collection\r\n}\r\n\r\nfunction processWeakItems(collection) {\r\n var weakItem = collection.filter((function(item) {\r\n return true === item.weak\r\n }))[0];\r\n var headerItem;\r\n if (weakItem) {\r\n headerItem = collection.filter((function(item) {\r\n return weakItem.primary === item.primary && item.side === weakItem.side && item !== weakItem\r\n }))[0]\r\n }\r\n if (weakItem && headerItem) {\r\n return [makeHeader(headerItem, weakItem)].concat(collection.filter((function(item) {\r\n return !(item === headerItem || item === weakItem)\r\n })))\r\n }\r\n return collection\r\n}\r\n\r\nfunction processBackwardHeaderRect(element, rect) {\r\n var rectCopy = rect.slice();\r\n var itemRect = processRectBackward(element, rectCopy, rectCopy);\r\n itemRect[element.side] = rect[element.side];\r\n itemRect[2 + element.side] = rect[2 + element.side];\r\n return itemRect\r\n}\r\n\r\nfunction makeHeader(header, weakElement) {\r\n var side = header.side;\r\n var primary = header.primary;\r\n var secondary = header.secondary;\r\n return {\r\n side: side,\r\n primary: primary,\r\n secondary: secondary,\r\n priority: 0,\r\n element: {\r\n measure: function(targetSize) {\r\n var result = targetSize.slice();\r\n var weakSize = weakElement.element.measure(targetSize.slice());\r\n targetSize[primary] -= weakSize[primary];\r\n var headerSize = header.element.measure(targetSize.slice());\r\n result[side] = weakSize[side] = headerSize[side] = Math.max(headerSize[side], weakSize[side]);\r\n weakElement.size = weakSize;\r\n header.size = headerSize;\r\n return result\r\n },\r\n move: function(rect, fitRect) {\r\n if (fitRect[2] - fitRect[0] < header.size[0] + weakElement.size[0] - BBOX_CEIL_CORRECTION) {\r\n this.freeSpace();\r\n return\r\n }\r\n var weakRect = processBackwardHeaderRect(weakElement, fitRect);\r\n fitRect[2 + weakElement.primary] = weakRect[weakElement.primary];\r\n var headerFitReact = processBackwardHeaderRect(header, fitRect);\r\n if (fitRect[2 + weakElement.primary] < rect[2 + weakElement.primary] && header.size[header.primary] > rect[2 + header.primary] - rect[header.primary]) {\r\n rect[2 + weakElement.primary] = fitRect[2 + weakElement.primary]\r\n }\r\n var headerRect = processBackwardHeaderRect(header, rect);\r\n if (headerRect[2 + weakElement.primary] > fitRect[2 + weakElement.primary]) {\r\n rect[2 + weakElement.primary] = fitRect[2 + weakElement.primary];\r\n headerRect = processBackwardHeaderRect(header, rect)\r\n }\r\n weakElement.element.move(weakRect);\r\n header.element.move(headerRect, headerFitReact)\r\n },\r\n freeSpace: function() {\r\n header.element.freeSpace();\r\n weakElement.element.freeSpace()\r\n }\r\n }\r\n }\r\n}\r\nexport default Layout;\r\n","/**\r\n * DevExtreme (esm/__internal/viz/core/m_base_widget.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../../../core/devices\";\r\nimport domAdapter from \"../../../core/dom_adapter\";\r\nimport DOMComponent from \"../../../core/dom_component\";\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n when\r\n} from \"../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n getHeight,\r\n getWidth\r\n} from \"../../../core/utils/size\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isNumeric,\r\n isObject as _isObject,\r\n type\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../../core/utils/window\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport {\r\n BaseThemeManager\r\n} from \"../../../viz/core/base_theme_manager\";\r\nimport {\r\n createEventTrigger,\r\n createIncidentOccurred,\r\n createResizeHandler\r\n} from \"../../../viz/core/base_widget.utils\";\r\nimport warnings from \"../../../viz/core/errors_warnings\";\r\nimport {\r\n changes,\r\n replaceInherit\r\n} from \"../../../viz/core/helpers\";\r\nimport _Layout from \"../../../viz/core/layout\";\r\nimport {\r\n Renderer\r\n} from \"../../../viz/core/renderers/renderer\";\r\nimport {\r\n parseScalar as _parseScalar\r\n} from \"../../../viz/core/utils\";\r\nimport {\r\n areCanvasesDifferent,\r\n floorCanvasDimensions\r\n} from \"../../../viz/utils\";\r\nvar {\r\n log: log\r\n} = warnings;\r\nvar OPTION_RTL_ENABLED = \"rtlEnabled\";\r\nvar SIZED_ELEMENT_CLASS = \"dx-sized-element\";\r\nvar baseOptionMethod = DOMComponent.prototype.option;\r\n\r\nfunction getTrue() {\r\n return true\r\n}\r\n\r\nfunction getFalse() {\r\n return false\r\n}\r\n\r\nfunction defaultOnIncidentOccurred(e) {\r\n if (!e.component._eventsStrategy.hasEvent(\"incidentOccurred\")) {\r\n log.apply(null, [e.target.id].concat(e.target.args || []))\r\n }\r\n}\r\n\r\nfunction pickPositiveValue(values) {\r\n return values.reduce((result, value) => value > 0 && !result ? value : result, 0)\r\n}\r\nvar getEmptyComponent = function() {\r\n var emptyComponentConfig = {\r\n _initTemplates() {},\r\n ctor(element, options) {\r\n this.callBase(element, options);\r\n var sizedElement = domAdapter.createElement(\"div\");\r\n var width = options && isNumeric(options.width) ? \"\".concat(options.width, \"px\") : \"100%\";\r\n var height = options && isNumeric(options.height) ? \"\".concat(options.height, \"px\") : \"\".concat(this._getDefaultSize().height, \"px\");\r\n domAdapter.setStyle(sizedElement, \"width\", width);\r\n domAdapter.setStyle(sizedElement, \"height\", height);\r\n domAdapter.setClass(sizedElement, SIZED_ELEMENT_CLASS, false);\r\n domAdapter.insertElement(element, sizedElement)\r\n }\r\n };\r\n var EmptyComponent = DOMComponent.inherit(emptyComponentConfig);\r\n var originalInherit = EmptyComponent.inherit;\r\n EmptyComponent.inherit = function(config) {\r\n Object.keys(config).forEach(field => {\r\n if (isFunction(config[field]) && \"_\" !== field.substr(0, 1) && \"option\" !== field || \"_dispose\" === field || \"_optionChanged\" === field) {\r\n config[field] = noop\r\n }\r\n });\r\n return originalInherit.call(this, config)\r\n };\r\n return EmptyComponent\r\n};\r\n\r\nfunction callForEach(functions) {\r\n functions.forEach(c => c())\r\n}\r\nvar isServerSide = !hasWindow();\r\n\r\nfunction sizeIsValid(value) {\r\n return isDefined(value) && value > 0\r\n}\r\nvar baseWidget = isServerSide ? getEmptyComponent() : DOMComponent.inherit({\r\n _eventsMap: {\r\n onIncidentOccurred: {\r\n name: \"incidentOccurred\",\r\n actionSettings: {\r\n excludeValidators: [\"disabled\"]\r\n }\r\n },\r\n onDrawn: {\r\n name: \"drawn\",\r\n actionSettings: {\r\n excludeValidators: [\"disabled\"]\r\n }\r\n }\r\n },\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n onIncidentOccurred: defaultOnIncidentOccurred\r\n })\r\n },\r\n _useLinks: true,\r\n _init() {\r\n this._$element.children(\".\".concat(SIZED_ELEMENT_CLASS)).remove();\r\n this._$element.children(\".\".concat(SIZED_ELEMENT_CLASS)).remove();\r\n this.callBase(...arguments);\r\n this._changesLocker = 0;\r\n this._optionChangedLocker = 0;\r\n this._asyncFirstDrawing = true;\r\n this._changes = changes();\r\n this._suspendChanges();\r\n this._themeManager = this._createThemeManager();\r\n this._themeManager.setCallback(() => {\r\n this._requestChange(this._themeDependentChanges)\r\n });\r\n this._renderElementAttributes();\r\n this._initRenderer();\r\n var useLinks = this._useLinks;\r\n if (useLinks) {\r\n this._renderer.root.enableLinks().virtualLink(\"core\").virtualLink(\"peripheral\")\r\n }\r\n this._renderVisibilityChange();\r\n this._attachVisibilityChangeHandlers();\r\n this._toggleParentsScrollSubscription(this._isVisible());\r\n this._initEventTrigger();\r\n this._incidentOccurred = createIncidentOccurred(this.NAME, this._eventTrigger);\r\n this._layout = new _Layout;\r\n if (useLinks) {\r\n this._renderer.root.linkAfter(\"core\")\r\n }\r\n this._initPlugins();\r\n this._initCore();\r\n if (useLinks) {\r\n this._renderer.root.linkAfter()\r\n }\r\n this._change(this._initialChanges)\r\n },\r\n _createThemeManager() {\r\n return new BaseThemeManager(this._getThemeManagerOptions())\r\n },\r\n _getThemeManagerOptions() {\r\n return {\r\n themeSection: this._themeSection,\r\n fontFields: this._fontFields\r\n }\r\n },\r\n _initialChanges: [\"LAYOUT\", \"RESIZE_HANDLER\", \"THEME\", \"DISABLED\"],\r\n _initPlugins() {\r\n each(this._plugins, (_, plugin) => {\r\n plugin.init.call(this)\r\n })\r\n },\r\n _disposePlugins() {\r\n each(this._plugins.slice().reverse(), (_, plugin) => {\r\n plugin.dispose.call(this)\r\n })\r\n },\r\n _change(codes) {\r\n this._changes.add(codes)\r\n },\r\n _suspendChanges() {\r\n this._changesLocker += 1\r\n },\r\n _resumeChanges() {\r\n if (0 === --this._changesLocker && this._changes.count() > 0 && !this._applyingChanges) {\r\n this._renderer.lock();\r\n this._applyingChanges = true;\r\n this._applyChanges();\r\n this._changes.reset();\r\n this._applyingChanges = false;\r\n this._changesApplied();\r\n this._renderer.unlock();\r\n if (this._optionsQueue) {\r\n this._applyQueuedOptions()\r\n }\r\n this.resolveItemsDeferred(this._legend ? [this._legend] : []);\r\n this._optionChangedLocker += 1;\r\n this._notify();\r\n this._optionChangedLocker -= 1\r\n }\r\n },\r\n resolveItemsDeferred(items) {\r\n this._resolveDeferred(this._getTemplatesItems(items))\r\n },\r\n _collectTemplatesFromItems: items => items.reduce((prev, i) => ({\r\n items: prev.items.concat(i.getTemplatesDef()),\r\n groups: prev.groups.concat(i.getTemplatesGroups())\r\n }), {\r\n items: [],\r\n groups: []\r\n }),\r\n _getTemplatesItems(items) {\r\n var elements = this._collectTemplatesFromItems(items);\r\n var extraItems = this._getExtraTemplatesItems();\r\n return {\r\n items: extraItems.items.concat(elements.items),\r\n groups: extraItems.groups.concat(elements.groups),\r\n launchRequest: [extraItems.launchRequest],\r\n doneRequest: [extraItems.doneRequest]\r\n }\r\n },\r\n _getExtraTemplatesItems: () => ({\r\n items: [],\r\n groups: [],\r\n launchRequest: () => {},\r\n doneRequest: () => {}\r\n }),\r\n _resolveDeferred(_ref) {\r\n var {\r\n items: items,\r\n launchRequest: launchRequest,\r\n doneRequest: doneRequest,\r\n groups: groups\r\n } = _ref;\r\n this._setGroupsVisibility(groups, \"hidden\");\r\n if (this._changesApplying) {\r\n this._changesApplying = false;\r\n callForEach(doneRequest);\r\n return\r\n }\r\n var syncRendering = true;\r\n when.apply(this, items).done(() => {\r\n if (syncRendering) {\r\n this._setGroupsVisibility(groups, \"visible\");\r\n return\r\n }\r\n callForEach(launchRequest);\r\n this._changesApplying = true;\r\n var changes = [\"LAYOUT\", \"FULL_RENDER\"];\r\n if (this._asyncFirstDrawing) {\r\n changes.push(\"FORCE_FIRST_DRAWING\");\r\n this._asyncFirstDrawing = false\r\n } else {\r\n changes.push(\"FORCE_DRAWING\")\r\n }\r\n this._requestChange(changes);\r\n this._setGroupsVisibility(groups, \"visible\")\r\n });\r\n syncRendering = false\r\n },\r\n _setGroupsVisibility(groups, visibility) {\r\n groups.forEach(g => g.attr({\r\n visibility: visibility\r\n }))\r\n },\r\n _applyQueuedOptions() {\r\n var queue = this._optionsQueue;\r\n this._optionsQueue = null;\r\n this.beginUpdate();\r\n each(queue, (_, action) => {\r\n action()\r\n });\r\n this.endUpdate()\r\n },\r\n _requestChange(codes) {\r\n this._suspendChanges();\r\n this._change(codes);\r\n this._resumeChanges()\r\n },\r\n _applyChanges() {\r\n var changes = this._changes;\r\n var order = this._totalChangesOrder;\r\n var changesOrderLength = order.length;\r\n for (var i = 0; i < changesOrderLength; i += 1) {\r\n if (changes.has(order[i])) {\r\n this[\"_change_\".concat(order[i])]()\r\n }\r\n }\r\n },\r\n _optionChangesOrder: [\"EVENTS\", \"THEME\", \"RENDERER\", \"RESIZE_HANDLER\"],\r\n _layoutChangesOrder: [\"ELEMENT_ATTR\", \"CONTAINER_SIZE\", \"LAYOUT\"],\r\n _customChangesOrder: [\"DISABLED\"],\r\n _change_EVENTS() {\r\n this._eventTrigger.applyChanges()\r\n },\r\n _change_THEME() {\r\n this._setThemeAndRtl()\r\n },\r\n _change_RENDERER() {\r\n this._setRendererOptions()\r\n },\r\n _change_RESIZE_HANDLER() {\r\n this._setupResizeHandler()\r\n },\r\n _change_ELEMENT_ATTR() {\r\n this._renderElementAttributes();\r\n this._change([\"CONTAINER_SIZE\"])\r\n },\r\n _change_CONTAINER_SIZE() {\r\n this._updateSize()\r\n },\r\n _change_LAYOUT() {\r\n this._setContentSize()\r\n },\r\n _change_DISABLED() {\r\n var renderer = this._renderer;\r\n var {\r\n root: root\r\n } = renderer;\r\n if (this.option(\"disabled\")) {\r\n this._initDisabledState = root.attr(\"pointer-events\");\r\n root.attr({\r\n \"pointer-events\": \"none\",\r\n filter: renderer.getGrayScaleFilter().id\r\n })\r\n } else if (\"none\" === root.attr(\"pointer-events\")) {\r\n root.attr({\r\n \"pointer-events\": isDefined(this._initDisabledState) ? this._initDisabledState : null,\r\n filter: null\r\n })\r\n }\r\n },\r\n _themeDependentChanges: [\"RENDERER\"],\r\n _initRenderer() {\r\n var rawCanvas = this._calculateRawCanvas();\r\n this._canvas = floorCanvasDimensions(rawCanvas);\r\n this._renderer = new Renderer({\r\n cssClass: \"\".concat(this._rootClassPrefix, \" \").concat(this._rootClass),\r\n pathModified: this.option(\"pathModified\"),\r\n container: this._$element[0]\r\n });\r\n this._renderer.resize(this._canvas.width, this._canvas.height)\r\n },\r\n _disposeRenderer() {\r\n this._renderer.dispose()\r\n },\r\n _getAnimationOptions: noop,\r\n render() {\r\n this._requestChange([\"CONTAINER_SIZE\"]);\r\n var visible = this._isVisible();\r\n this._toggleParentsScrollSubscription(visible);\r\n !visible && this._stopCurrentHandling()\r\n },\r\n _toggleParentsScrollSubscription(subscribe) {\r\n var $parents = $(this._renderer.root.element).parents();\r\n if (\"generic\" === devices.real().platform) {\r\n $parents = $parents.add(getWindow())\r\n }\r\n this._proxiedTargetParentsScrollHandler = this._proxiedTargetParentsScrollHandler || function() {\r\n this._stopCurrentHandling()\r\n }.bind(this);\r\n eventsEngine.off($(\"\").add(this._$prevRootParents), \"scroll.viz_widgets\", this._proxiedTargetParentsScrollHandler);\r\n if (subscribe) {\r\n eventsEngine.on($parents, \"scroll.viz_widgets\", this._proxiedTargetParentsScrollHandler);\r\n this._$prevRootParents = $parents\r\n }\r\n },\r\n _stopCurrentHandling: noop,\r\n _dispose() {\r\n if (this._disposed) {\r\n return\r\n }\r\n this.callBase(...arguments);\r\n this._toggleParentsScrollSubscription(false);\r\n this._removeResizeHandler();\r\n this._layout.dispose();\r\n this._eventTrigger.dispose();\r\n this._disposeCore();\r\n this._disposePlugins();\r\n this._disposeRenderer();\r\n this._themeManager.dispose();\r\n this._themeManager = null;\r\n this._renderer = null;\r\n this._eventTrigger = null\r\n },\r\n _initEventTrigger() {\r\n this._eventTrigger = createEventTrigger(this._eventsMap, (name, actionSettings) => this._createActionByOption(name, actionSettings))\r\n },\r\n _calculateRawCanvas() {\r\n var size = this.option(\"size\") || {};\r\n var margin = this.option(\"margin\") || {};\r\n var defaultCanvas = this._getDefaultSize() || {};\r\n var getSizeOfSide = (size, side, getter) => {\r\n if (sizeIsValid(size[side]) || !hasWindow()) {\r\n return 0\r\n }\r\n var elementSize = getter(this._$element);\r\n return elementSize <= 1 ? 0 : elementSize\r\n };\r\n var elementWidth = getSizeOfSide(size, \"width\", x => getWidth(x));\r\n var elementHeight = getSizeOfSide(size, \"height\", x => getHeight(x));\r\n var canvas = {\r\n width: size.width <= 0 ? 0 : pickPositiveValue([size.width, elementWidth, defaultCanvas.width]),\r\n height: size.height <= 0 ? 0 : pickPositiveValue([size.height, elementHeight, defaultCanvas.height]),\r\n left: pickPositiveValue([margin.left, defaultCanvas.left]),\r\n top: pickPositiveValue([margin.top, defaultCanvas.top]),\r\n right: pickPositiveValue([margin.right, defaultCanvas.right]),\r\n bottom: pickPositiveValue([margin.bottom, defaultCanvas.bottom])\r\n };\r\n if (canvas.width - canvas.left - canvas.right <= 0 || canvas.height - canvas.top - canvas.bottom <= 0) {\r\n canvas = {\r\n width: 0,\r\n height: 0\r\n }\r\n }\r\n return canvas\r\n },\r\n _updateSize() {\r\n var rawCanvas = this._calculateRawCanvas();\r\n if (areCanvasesDifferent(this._canvas, rawCanvas) || this.__forceRender) {\r\n this._canvas = floorCanvasDimensions(rawCanvas);\r\n this._recreateSizeDependentObjects(true);\r\n this._renderer.resize(this._canvas.width, this._canvas.height);\r\n this._change([\"LAYOUT\"])\r\n }\r\n },\r\n _recreateSizeDependentObjects: noop,\r\n _getMinSize: () => [0, 0],\r\n _getAlignmentRect: noop,\r\n _setContentSize() {\r\n var canvas = this._canvas;\r\n var layout = this._layout;\r\n var rect = canvas.width > 0 && canvas.height > 0 ? [canvas.left, canvas.top, canvas.width - canvas.right, canvas.height - canvas.bottom] : [0, 0, 0, 0];\r\n rect = layout.forward(rect, this._getMinSize());\r\n var nextRect = this._applySize(rect) || rect;\r\n layout.backward(nextRect, this._getAlignmentRect() || nextRect)\r\n },\r\n _getOption(name, isScalar) {\r\n var theme = this._themeManager.theme(name);\r\n var option = this.option(name);\r\n return isScalar ? void 0 !== option ? option : theme : extend(true, {}, theme, option)\r\n },\r\n _setupResizeHandler() {\r\n var redrawOnResize = _parseScalar(this._getOption(\"redrawOnResize\", true), true);\r\n if (this._disposeResizeHandler) {\r\n this._removeResizeHandler()\r\n }\r\n this._disposeResizeHandler = createResizeHandler(this._$element[0], redrawOnResize, () => this._requestChange([\"CONTAINER_SIZE\"]))\r\n },\r\n _removeResizeHandler() {\r\n if (this._disposeResizeHandler) {\r\n this._disposeResizeHandler();\r\n this._disposeResizeHandler = null\r\n }\r\n },\r\n _onBeginUpdate: noop,\r\n beginUpdate() {\r\n if (this._initialized && this._isUpdateAllowed()) {\r\n this._onBeginUpdate();\r\n this._suspendChanges()\r\n }\r\n this.callBase(...arguments);\r\n return this\r\n },\r\n endUpdate() {\r\n this.callBase();\r\n this._isUpdateAllowed() && this._resumeChanges();\r\n return this\r\n },\r\n option(name) {\r\n if (this._initialized && this._applyingChanges && (arguments.length > 1 || _isObject(name))) {\r\n this._optionsQueue = this._optionsQueue || [];\r\n this._optionsQueue.push(this._getActionForUpdating(arguments))\r\n } else {\r\n return baseOptionMethod.apply(this, arguments)\r\n }\r\n },\r\n _getActionForUpdating(args) {\r\n return () => {\r\n baseOptionMethod.apply(this, args)\r\n }\r\n },\r\n _clean: noop,\r\n _render: noop,\r\n _optionChanged(arg) {\r\n if (this._optionChangedLocker) {\r\n return\r\n }\r\n var partialChanges = this.getPartialChangeOptionsName(arg);\r\n var changes = [];\r\n if (partialChanges.length > 0) {\r\n partialChanges.forEach(pc => changes.push(this._partialOptionChangesMap[pc]))\r\n } else {\r\n changes.push(this._optionChangesMap[arg.name])\r\n }\r\n changes = changes.filter(c => !!c);\r\n if (this._eventTrigger.change(arg.name)) {\r\n this._change([\"EVENTS\"])\r\n } else if (changes.length > 0) {\r\n this._change(changes)\r\n } else {\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n _notify: noop,\r\n _changesApplied: noop,\r\n _optionChangesMap: {\r\n size: \"CONTAINER_SIZE\",\r\n margin: \"CONTAINER_SIZE\",\r\n redrawOnResize: \"RESIZE_HANDLER\",\r\n theme: \"THEME\",\r\n rtlEnabled: \"THEME\",\r\n encodeHtml: \"THEME\",\r\n elementAttr: \"ELEMENT_ATTR\",\r\n disabled: \"DISABLED\"\r\n },\r\n _partialOptionChangesMap: {},\r\n _partialOptionChangesPath: {},\r\n getPartialChangeOptionsName(changedOption) {\r\n var {\r\n fullName: fullName\r\n } = changedOption;\r\n var sections = fullName.split(/[.]/);\r\n var {\r\n name: name\r\n } = changedOption;\r\n var {\r\n value: value\r\n } = changedOption;\r\n var options = this._partialOptionChangesPath[name];\r\n var partialChangeOptionsName = [];\r\n if (options) {\r\n if (true === options) {\r\n partialChangeOptionsName.push(name)\r\n } else {\r\n options.forEach(op => {\r\n fullName.indexOf(op) >= 0 && partialChangeOptionsName.push(op)\r\n });\r\n if (1 === sections.length) {\r\n if (\"object\" === type(value)) {\r\n this._addOptionsNameForPartialUpdate(value, options, partialChangeOptionsName)\r\n } else if (\"array\" === type(value)) {\r\n if (value.length > 0 && value.every(item => this._checkOptionsForPartialUpdate(item, options))) {\r\n value.forEach(item => {\r\n this._addOptionsNameForPartialUpdate(item, options, partialChangeOptionsName)\r\n })\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return partialChangeOptionsName.filter((value, index, self) => self.indexOf(value) === index)\r\n },\r\n _checkOptionsForPartialUpdate: (optionObject, options) => !Object.keys(optionObject).some(key => -1 === options.indexOf(key)),\r\n _addOptionsNameForPartialUpdate(optionObject, options, partialChangeOptionsName) {\r\n var optionKeys = Object.keys(optionObject);\r\n if (this._checkOptionsForPartialUpdate(optionObject, options)) {\r\n optionKeys.forEach(key => options.indexOf(key) > -1 && partialChangeOptionsName.push(key))\r\n }\r\n },\r\n _visibilityChanged() {\r\n this.render()\r\n },\r\n _setThemeAndRtl() {\r\n this._themeManager.setTheme(this.option(\"theme\"), this.option(OPTION_RTL_ENABLED))\r\n },\r\n _getRendererOptions() {\r\n return {\r\n rtl: this.option(OPTION_RTL_ENABLED),\r\n encodeHtml: this.option(\"encodeHtml\"),\r\n animation: this._getAnimationOptions()\r\n }\r\n },\r\n _setRendererOptions() {\r\n this._renderer.setOptions(this._getRendererOptions())\r\n },\r\n svg() {\r\n return this._renderer.svg()\r\n },\r\n getSize() {\r\n var canvas = this._canvas || {};\r\n return {\r\n width: canvas.width,\r\n height: canvas.height\r\n }\r\n },\r\n isReady: getFalse,\r\n _dataIsReady: getTrue,\r\n _resetIsReady() {\r\n this.isReady = getFalse\r\n },\r\n _drawn() {\r\n this.isReady = getFalse;\r\n if (this._dataIsReady()) {\r\n this._renderer.onEndAnimation(() => {\r\n this.isReady = getTrue\r\n })\r\n }\r\n this._eventTrigger(\"drawn\", {})\r\n }\r\n});\r\nexport default baseWidget;\r\nreplaceInherit(baseWidget);\r\n","/**\r\n * DevExtreme (esm/animation/frame.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n hasWindow,\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = hasWindow() ? getWindow() : {};\r\nimport callOnce from \"../core/utils/call_once\";\r\nvar FRAME_ANIMATION_STEP_TIME = 1e3 / 60;\r\nvar request = function(callback) {\r\n return setTimeout(callback, FRAME_ANIMATION_STEP_TIME)\r\n};\r\nvar cancel = function(requestID) {\r\n clearTimeout(requestID)\r\n};\r\nvar setAnimationFrameMethods = callOnce((function() {\r\n var nativeRequest = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame;\r\n var nativeCancel = window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || window.msCancelAnimationFrame;\r\n if (nativeRequest && nativeCancel) {\r\n request = nativeRequest;\r\n cancel = nativeCancel\r\n }\r\n}));\r\nexport function requestAnimationFrame() {\r\n setAnimationFrameMethods();\r\n return request.apply(window, arguments)\r\n}\r\nexport function cancelAnimationFrame() {\r\n setAnimationFrameMethods();\r\n cancel.apply(window, arguments)\r\n}\r\n","/**\r\n * DevExtreme (esm/animation/easing.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nvar CSS_TRANSITION_EASING_REGEX = /cubic-bezier\\((\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\)/;\r\nvar TransitionTimingFuncMap = {\r\n linear: \"cubic-bezier(0, 0, 1, 1)\",\r\n swing: \"cubic-bezier(0.445, 0.05, 0.55, 0.95)\",\r\n ease: \"cubic-bezier(0.25, 0.1, 0.25, 1)\",\r\n \"ease-in\": \"cubic-bezier(0.42, 0, 1, 1)\",\r\n \"ease-out\": \"cubic-bezier(0, 0, 0.58, 1)\",\r\n \"ease-in-out\": \"cubic-bezier(0.42, 0, 0.58, 1)\"\r\n};\r\nvar polynomBezier = function(x1, y1, x2, y2) {\r\n var Cx = 3 * x1;\r\n var Bx = 3 * (x2 - x1) - Cx;\r\n var Ax = 1 - Cx - Bx;\r\n var Cy = 3 * y1;\r\n var By = 3 * (y2 - y1) - Cy;\r\n var Ay = 1 - Cy - By;\r\n var bezierX = function(t) {\r\n return t * (Cx + t * (Bx + t * Ax))\r\n };\r\n var derivativeX = function(t) {\r\n return Cx + t * (2 * Bx + 3 * t * Ax)\r\n };\r\n return function(t) {\r\n return function(t) {\r\n return t * (Cy + t * (By + t * Ay))\r\n }(function(t) {\r\n var x = t;\r\n var i = 0;\r\n var z;\r\n while (i < 14) {\r\n z = bezierX(x) - t;\r\n if (Math.abs(z) < .001) {\r\n break\r\n }\r\n x -= z / derivativeX(x);\r\n i++\r\n }\r\n return x\r\n }(t))\r\n }\r\n};\r\nvar easing = {};\r\nexport var convertTransitionTimingFuncToEasing = function(cssTransitionEasing) {\r\n cssTransitionEasing = TransitionTimingFuncMap[cssTransitionEasing] || cssTransitionEasing;\r\n var coeffs = cssTransitionEasing.match(CSS_TRANSITION_EASING_REGEX);\r\n var forceName;\r\n if (!coeffs) {\r\n forceName = \"linear\";\r\n coeffs = TransitionTimingFuncMap[forceName].match(CSS_TRANSITION_EASING_REGEX)\r\n }\r\n coeffs = coeffs.slice(1, 5);\r\n for (var i = 0; i < coeffs.length; i++) {\r\n coeffs[i] = parseFloat(coeffs[i])\r\n }\r\n var easingName = forceName || \"cubicbezier_\" + coeffs.join(\"_\").replace(/\\./g, \"p\");\r\n if (!isFunction(easing[easingName])) {\r\n easing[easingName] = function(x, t, b, c, d) {\r\n return c * polynomBezier(coeffs[0], coeffs[1], coeffs[2], coeffs[3])(t / d) + b\r\n }\r\n }\r\n return easingName\r\n};\r\nexport function setEasing(value) {\r\n easing = value\r\n}\r\nexport function getEasing(name) {\r\n return easing[name]\r\n}\r\n","/**\r\n * DevExtreme (esm/animation/fx.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = getWindow();\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport errors from \"../core/errors\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n isFunction,\r\n isPlainObject\r\n} from \"../core/utils/type\";\r\nimport {\r\n each,\r\n map\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n getTranslateCss,\r\n parseTranslate,\r\n clearCache,\r\n locate,\r\n getTranslate\r\n} from \"./translator\";\r\nimport {\r\n convertTransitionTimingFuncToEasing,\r\n getEasing\r\n} from \"./easing\";\r\nimport {\r\n requestAnimationFrame,\r\n cancelAnimationFrame\r\n} from \"./frame\";\r\nimport {\r\n transitionEndEventName,\r\n transition\r\n} from \"../core/utils/support\";\r\nimport positionUtils from \"./position\";\r\nimport {\r\n removeEvent\r\n} from \"../events/remove\";\r\nimport {\r\n addNamespace\r\n} from \"../events/utils/index\";\r\nimport {\r\n when,\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nvar removeEventName = addNamespace(removeEvent, \"dxFX\");\r\nimport {\r\n noop\r\n} from \"../core/utils/common\";\r\nvar RELATIVE_VALUE_REGEX = /^([+-])=(.*)/i;\r\nvar ANIM_DATA_KEY = \"dxAnimData\";\r\nvar ANIM_QUEUE_KEY = \"dxAnimQueue\";\r\nvar TRANSFORM_PROP = \"transform\";\r\nvar TransitionAnimationStrategy = {\r\n initAnimation: function($element, config) {\r\n $element.css({\r\n transitionProperty: \"none\"\r\n });\r\n if (\"string\" === typeof config.from) {\r\n $element.addClass(config.from)\r\n } else {\r\n setProps($element, config.from)\r\n }\r\n var that = this;\r\n var deferred = new Deferred;\r\n var cleanupWhen = config.cleanupWhen;\r\n config.transitionAnimation = {\r\n deferred: deferred,\r\n finish: function() {\r\n that._finishTransition($element);\r\n if (cleanupWhen) {\r\n when(deferred, cleanupWhen).always((function() {\r\n that._cleanup($element, config)\r\n }))\r\n } else {\r\n that._cleanup($element, config)\r\n }\r\n deferred.resolveWith($element, [config, $element])\r\n }\r\n };\r\n this._completeAnimationCallback($element, config).done((function() {\r\n config.transitionAnimation.finish()\r\n })).fail((function() {\r\n deferred.rejectWith($element, [config, $element])\r\n }));\r\n if (!config.duration) {\r\n config.transitionAnimation.finish()\r\n }\r\n $element.css(\"transform\")\r\n },\r\n animate: function($element, config) {\r\n this._startAnimation($element, config);\r\n return config.transitionAnimation.deferred.promise()\r\n },\r\n _completeAnimationCallback: function($element, config) {\r\n var that = this;\r\n var startTime = Date.now() + config.delay;\r\n var deferred = new Deferred;\r\n var transitionEndFired = new Deferred;\r\n var simulatedTransitionEndFired = new Deferred;\r\n var simulatedEndEventTimer;\r\n var transitionEndEventFullName = transitionEndEventName() + \".dxFX\";\r\n config.transitionAnimation.cleanup = function() {\r\n clearTimeout(simulatedEndEventTimer);\r\n clearTimeout(waitForJSCompleteTimer);\r\n eventsEngine.off($element, transitionEndEventFullName);\r\n eventsEngine.off($element, removeEventName)\r\n };\r\n eventsEngine.one($element, transitionEndEventFullName, (function() {\r\n if (Date.now() - startTime >= config.duration) {\r\n transitionEndFired.reject()\r\n }\r\n }));\r\n eventsEngine.off($element, removeEventName);\r\n eventsEngine.on($element, removeEventName, (function() {\r\n that.stop($element, config);\r\n deferred.reject()\r\n }));\r\n var waitForJSCompleteTimer = setTimeout((function() {\r\n simulatedEndEventTimer = setTimeout((function() {\r\n simulatedTransitionEndFired.reject()\r\n }), config.duration + config.delay + fx._simulatedTransitionEndDelay);\r\n when(transitionEndFired, simulatedTransitionEndFired).fail(function() {\r\n deferred.resolve()\r\n }.bind(this))\r\n }));\r\n return deferred.promise()\r\n },\r\n _startAnimation: function($element, config) {\r\n $element.css({\r\n transitionProperty: \"all\",\r\n transitionDelay: config.delay + \"ms\",\r\n transitionDuration: config.duration + \"ms\",\r\n transitionTimingFunction: config.easing\r\n });\r\n if (\"string\" === typeof config.to) {\r\n $element[0].className += \" \" + config.to\r\n } else if (config.to) {\r\n setProps($element, config.to)\r\n }\r\n },\r\n _finishTransition: function($element) {\r\n $element.css(\"transition\", \"none\")\r\n },\r\n _cleanup: function($element, config) {\r\n config.transitionAnimation.cleanup();\r\n if (\"string\" === typeof config.from) {\r\n $element.removeClass(config.from);\r\n $element.removeClass(config.to)\r\n }\r\n },\r\n stop: function($element, config, jumpToEnd) {\r\n if (!config) {\r\n return\r\n }\r\n if (jumpToEnd) {\r\n config.transitionAnimation.finish()\r\n } else {\r\n if (isPlainObject(config.to)) {\r\n each(config.to, (function(key) {\r\n $element.css(key, $element.css(key))\r\n }))\r\n }\r\n this._finishTransition($element);\r\n this._cleanup($element, config)\r\n }\r\n }\r\n};\r\nvar FrameAnimationStrategy = {\r\n initAnimation: function($element, config) {\r\n setProps($element, config.from)\r\n },\r\n animate: function($element, config) {\r\n var deferred = new Deferred;\r\n var that = this;\r\n if (!config) {\r\n return deferred.reject().promise()\r\n }\r\n each(config.to, (function(prop) {\r\n if (void 0 === config.from[prop]) {\r\n config.from[prop] = that._normalizeValue($element.css(prop))\r\n }\r\n }));\r\n if (config.to[TRANSFORM_PROP]) {\r\n config.from[TRANSFORM_PROP] = that._parseTransform(config.from[TRANSFORM_PROP]);\r\n config.to[TRANSFORM_PROP] = that._parseTransform(config.to[TRANSFORM_PROP])\r\n }\r\n config.frameAnimation = {\r\n to: config.to,\r\n from: config.from,\r\n currentValue: config.from,\r\n easing: convertTransitionTimingFuncToEasing(config.easing),\r\n duration: config.duration,\r\n startTime: (new Date).valueOf(),\r\n finish: function() {\r\n this.currentValue = this.to;\r\n this.draw();\r\n cancelAnimationFrame(config.frameAnimation.animationFrameId);\r\n deferred.resolve()\r\n },\r\n draw: function() {\r\n if (config.draw) {\r\n config.draw(this.currentValue);\r\n return\r\n }\r\n var currentValue = extend({}, this.currentValue);\r\n if (currentValue[TRANSFORM_PROP]) {\r\n currentValue[TRANSFORM_PROP] = map(currentValue[TRANSFORM_PROP], (function(value, prop) {\r\n if (\"translate\" === prop) {\r\n return getTranslateCss(value)\r\n } else if (\"scale\" === prop) {\r\n return \"scale(\" + value + \")\"\r\n } else if (\"rotate\" === prop.substr(0, prop.length - 1)) {\r\n return prop + \"(\" + value + \"deg)\"\r\n }\r\n })).join(\" \")\r\n }\r\n $element.css(currentValue)\r\n }\r\n };\r\n if (config.delay) {\r\n config.frameAnimation.startTime += config.delay;\r\n config.frameAnimation.delayTimeout = setTimeout((function() {\r\n that._startAnimation($element, config)\r\n }), config.delay)\r\n } else {\r\n that._startAnimation($element, config)\r\n }\r\n return deferred.promise()\r\n },\r\n _startAnimation: function($element, config) {\r\n eventsEngine.off($element, removeEventName);\r\n eventsEngine.on($element, removeEventName, (function() {\r\n if (config.frameAnimation) {\r\n cancelAnimationFrame(config.frameAnimation.animationFrameId)\r\n }\r\n }));\r\n this._animationStep($element, config)\r\n },\r\n _parseTransform: function(transformString) {\r\n var result = {};\r\n each(transformString.match(/\\w+\\d*\\w*\\([^)]*\\)\\s*/g), (function(i, part) {\r\n var translateData = parseTranslate(part);\r\n var scaleData = part.match(/scale\\((.+?)\\)/);\r\n var rotateData = part.match(/(rotate.)\\((.+)deg\\)/);\r\n if (translateData) {\r\n result.translate = translateData\r\n }\r\n if (scaleData && scaleData[1]) {\r\n result.scale = parseFloat(scaleData[1])\r\n }\r\n if (rotateData && rotateData[1]) {\r\n result[rotateData[1]] = parseFloat(rotateData[2])\r\n }\r\n }));\r\n return result\r\n },\r\n stop: function($element, config, jumpToEnd) {\r\n var frameAnimation = config && config.frameAnimation;\r\n if (!frameAnimation) {\r\n return\r\n }\r\n cancelAnimationFrame(frameAnimation.animationFrameId);\r\n clearTimeout(frameAnimation.delayTimeout);\r\n if (jumpToEnd) {\r\n frameAnimation.finish()\r\n }\r\n delete config.frameAnimation\r\n },\r\n _animationStep: function($element, config) {\r\n var frameAnimation = config && config.frameAnimation;\r\n if (!frameAnimation) {\r\n return\r\n }\r\n var now = (new Date).valueOf();\r\n if (now >= frameAnimation.startTime + frameAnimation.duration) {\r\n frameAnimation.finish();\r\n return\r\n }\r\n frameAnimation.currentValue = this._calcStepValue(frameAnimation, now - frameAnimation.startTime);\r\n frameAnimation.draw();\r\n var that = this;\r\n frameAnimation.animationFrameId = requestAnimationFrame((function() {\r\n that._animationStep($element, config)\r\n }))\r\n },\r\n _calcStepValue: function(frameAnimation, currentDuration) {\r\n return function calcValueRecursively(from, to) {\r\n var result = Array.isArray(to) ? [] : {};\r\n each(to, (function(propName, endPropValue) {\r\n if (\"string\" === typeof endPropValue && false === parseFloat(endPropValue)) {\r\n return true\r\n }\r\n result[propName] = \"object\" === typeof endPropValue ? calcValueRecursively(from[propName], endPropValue) : function(propName) {\r\n var x = currentDuration / frameAnimation.duration;\r\n var t = currentDuration;\r\n var b = 1 * from[propName];\r\n var c = to[propName] - from[propName];\r\n var d = frameAnimation.duration;\r\n return getEasing(frameAnimation.easing)(x, t, b, c, d)\r\n }(propName)\r\n }));\r\n return result\r\n }(frameAnimation.from, frameAnimation.to)\r\n },\r\n _normalizeValue: function(value) {\r\n var numericValue = parseFloat(value);\r\n if (false === numericValue) {\r\n return value\r\n }\r\n return numericValue\r\n }\r\n};\r\nvar FallbackToNoAnimationStrategy = {\r\n initAnimation: function() {},\r\n animate: function() {\r\n return (new Deferred).resolve().promise()\r\n },\r\n stop: noop,\r\n isSynchronous: true\r\n};\r\nvar getAnimationStrategy = function(config) {\r\n config = config || {};\r\n var animationStrategies = {\r\n transition: transition() ? TransitionAnimationStrategy : FrameAnimationStrategy,\r\n frame: FrameAnimationStrategy,\r\n noAnimation: FallbackToNoAnimationStrategy\r\n };\r\n var strategy = config.strategy || \"transition\";\r\n if (\"css\" === config.type && !transition()) {\r\n strategy = \"noAnimation\"\r\n }\r\n return animationStrategies[strategy]\r\n};\r\nvar baseConfigValidator = function(config, animationType, validate, typeMessage) {\r\n each([\"from\", \"to\"], (function() {\r\n if (!validate(config[this])) {\r\n throw errors.Error(\"E0010\", animationType, this, typeMessage)\r\n }\r\n }))\r\n};\r\nvar isObjectConfigValidator = function(config, animationType) {\r\n return baseConfigValidator(config, animationType, (function(target) {\r\n return isPlainObject(target)\r\n }), \"a plain object\")\r\n};\r\nvar isStringConfigValidator = function(config, animationType) {\r\n return baseConfigValidator(config, animationType, (function(target) {\r\n return \"string\" === typeof target\r\n }), \"a string\")\r\n};\r\nvar CustomAnimationConfigurator = {\r\n setup: function() {}\r\n};\r\nvar CssAnimationConfigurator = {\r\n validateConfig: function(config) {\r\n isStringConfigValidator(config, \"css\")\r\n },\r\n setup: function() {}\r\n};\r\nvar positionAliases = {\r\n top: {\r\n my: \"bottom center\",\r\n at: \"top center\"\r\n },\r\n bottom: {\r\n my: \"top center\",\r\n at: \"bottom center\"\r\n },\r\n right: {\r\n my: \"left center\",\r\n at: \"right center\"\r\n },\r\n left: {\r\n my: \"right center\",\r\n at: \"left center\"\r\n }\r\n};\r\nvar SlideAnimationConfigurator = {\r\n validateConfig: function(config) {\r\n isObjectConfigValidator(config, \"slide\")\r\n },\r\n setup: function($element, config) {\r\n var location = locate($element);\r\n if (\"slide\" !== config.type) {\r\n var positioningConfig = \"slideIn\" === config.type ? config.from : config.to;\r\n positioningConfig.position = extend({\r\n of: window\r\n }, positionAliases[config.direction]);\r\n setupPosition($element, positioningConfig)\r\n }\r\n this._setUpConfig(location, config.from);\r\n this._setUpConfig(location, config.to);\r\n clearCache($element)\r\n },\r\n _setUpConfig: function(location, config) {\r\n config.left = \"left\" in config ? config.left : \"+=0\";\r\n config.top = \"top\" in config ? config.top : \"+=0\";\r\n this._initNewPosition(location, config)\r\n },\r\n _initNewPosition: function(location, config) {\r\n var position = {\r\n left: config.left,\r\n top: config.top\r\n };\r\n delete config.left;\r\n delete config.top;\r\n var relativeValue = this._getRelativeValue(position.left);\r\n if (void 0 !== relativeValue) {\r\n position.left = relativeValue + location.left\r\n } else {\r\n config.left = 0\r\n }\r\n relativeValue = this._getRelativeValue(position.top);\r\n if (void 0 !== relativeValue) {\r\n position.top = relativeValue + location.top\r\n } else {\r\n config.top = 0\r\n }\r\n config[TRANSFORM_PROP] = getTranslateCss({\r\n x: position.left,\r\n y: position.top\r\n })\r\n },\r\n _getRelativeValue: function(value) {\r\n var relativeValue;\r\n if (\"string\" === typeof value && (relativeValue = RELATIVE_VALUE_REGEX.exec(value))) {\r\n return parseInt(relativeValue[1] + \"1\") * relativeValue[2]\r\n }\r\n }\r\n};\r\nvar FadeAnimationConfigurator = {\r\n setup: function($element, config) {\r\n var _from$opacity, _to$opacity;\r\n var from = config.from;\r\n var to = config.to;\r\n var defaultFromOpacity = \"fadeOut\" === config.type ? 1 : 0;\r\n var defaultToOpacity = \"fadeOut\" === config.type ? 0 : 1;\r\n var fromOpacity = isPlainObject(from) ? String(null !== (_from$opacity = from.opacity) && void 0 !== _from$opacity ? _from$opacity : defaultFromOpacity) : String(from);\r\n var toOpacity = isPlainObject(to) ? String(null !== (_to$opacity = to.opacity) && void 0 !== _to$opacity ? _to$opacity : defaultToOpacity) : String(to);\r\n if (!config.skipElementInitialStyles) {\r\n fromOpacity = $element.css(\"opacity\")\r\n }\r\n switch (config.type) {\r\n case \"fadeIn\":\r\n toOpacity = 1;\r\n break;\r\n case \"fadeOut\":\r\n toOpacity = 0\r\n }\r\n config.from = {\r\n visibility: \"visible\",\r\n opacity: fromOpacity\r\n };\r\n config.to = {\r\n opacity: toOpacity\r\n }\r\n }\r\n};\r\nvar PopAnimationConfigurator = {\r\n validateConfig: function(config) {\r\n isObjectConfigValidator(config, \"pop\")\r\n },\r\n setup: function($element, config) {\r\n var from = config.from;\r\n var to = config.to;\r\n var fromOpacity = \"opacity\" in from ? from.opacity : $element.css(\"opacity\");\r\n var toOpacity = \"opacity\" in to ? to.opacity : 1;\r\n var fromScale = \"scale\" in from ? from.scale : 0;\r\n var toScale = \"scale\" in to ? to.scale : 1;\r\n config.from = {\r\n opacity: fromOpacity\r\n };\r\n var translate = getTranslate($element);\r\n config.from[TRANSFORM_PROP] = this._getCssTransform(translate, fromScale);\r\n config.to = {\r\n opacity: toOpacity\r\n };\r\n config.to[TRANSFORM_PROP] = this._getCssTransform(translate, toScale)\r\n },\r\n _getCssTransform: function(translate, scale) {\r\n return getTranslateCss(translate) + \"scale(\" + scale + \")\"\r\n }\r\n};\r\nvar animationConfigurators = {\r\n custom: CustomAnimationConfigurator,\r\n slide: SlideAnimationConfigurator,\r\n slideIn: SlideAnimationConfigurator,\r\n slideOut: SlideAnimationConfigurator,\r\n fade: FadeAnimationConfigurator,\r\n fadeIn: FadeAnimationConfigurator,\r\n fadeOut: FadeAnimationConfigurator,\r\n pop: PopAnimationConfigurator,\r\n css: CssAnimationConfigurator\r\n};\r\nvar getAnimationConfigurator = function(config) {\r\n var result = animationConfigurators[config.type];\r\n if (!result) {\r\n throw errors.Error(\"E0011\", config.type)\r\n }\r\n return result\r\n};\r\nvar defaultJSConfig = {\r\n type: \"custom\",\r\n from: {},\r\n to: {},\r\n duration: 400,\r\n start: noop,\r\n complete: noop,\r\n easing: \"ease\",\r\n delay: 0\r\n};\r\nvar defaultCssConfig = {\r\n duration: 400,\r\n easing: \"ease\",\r\n delay: 0\r\n};\r\n\r\nfunction setupAnimationOnElement() {\r\n var $element = this.element;\r\n var config = this.config;\r\n setupPosition($element, config.from);\r\n setupPosition($element, config.to);\r\n this.configurator.setup($element, config);\r\n $element.data(ANIM_DATA_KEY, this);\r\n if (fx.off) {\r\n config.duration = 0;\r\n config.delay = 0\r\n }\r\n this.strategy.initAnimation($element, config);\r\n if (config.start) {\r\n var element = getPublicElement($element);\r\n config.start.apply(this, [element, config])\r\n }\r\n}\r\nvar onElementAnimationComplete = function(animation) {\r\n var $element = animation.element;\r\n var config = animation.config;\r\n $element.removeData(ANIM_DATA_KEY);\r\n if (config.complete) {\r\n var element = getPublicElement($element);\r\n config.complete.apply(this, [element, config])\r\n }\r\n animation.deferred.resolveWith(this, [$element, config])\r\n};\r\nvar startAnimationOnElement = function() {\r\n var animation = this;\r\n var $element = animation.element;\r\n var config = animation.config;\r\n animation.isStarted = true;\r\n return animation.strategy.animate($element, config).done((function() {\r\n onElementAnimationComplete(animation)\r\n })).fail((function() {\r\n animation.deferred.rejectWith(this, [$element, config])\r\n }))\r\n};\r\nvar stopAnimationOnElement = function(jumpToEnd) {\r\n var $element = this.element;\r\n var config = this.config;\r\n clearTimeout(this.startTimeout);\r\n if (!this.isStarted) {\r\n this.start()\r\n }\r\n this.strategy.stop($element, config, jumpToEnd)\r\n};\r\nvar scopedRemoveEvent = addNamespace(removeEvent, \"dxFXStartAnimation\");\r\nvar subscribeToRemoveEvent = function(animation) {\r\n eventsEngine.off(animation.element, scopedRemoveEvent);\r\n eventsEngine.on(animation.element, scopedRemoveEvent, (function() {\r\n fx.stop(animation.element)\r\n }));\r\n animation.deferred.always((function() {\r\n eventsEngine.off(animation.element, scopedRemoveEvent)\r\n }))\r\n};\r\nvar createAnimation = function(element, initialConfig) {\r\n var defaultConfig = \"css\" === initialConfig.type ? defaultCssConfig : defaultJSConfig;\r\n var config = extend(true, {}, defaultConfig, initialConfig);\r\n var configurator = getAnimationConfigurator(config);\r\n var strategy = getAnimationStrategy(config);\r\n var animation = {\r\n element: $(element),\r\n config: config,\r\n configurator: configurator,\r\n strategy: strategy,\r\n isSynchronous: strategy.isSynchronous,\r\n setup: setupAnimationOnElement,\r\n start: startAnimationOnElement,\r\n stop: stopAnimationOnElement,\r\n deferred: new Deferred\r\n };\r\n if (isFunction(configurator.validateConfig)) {\r\n configurator.validateConfig(config)\r\n }\r\n subscribeToRemoveEvent(animation);\r\n return animation\r\n};\r\nvar animate = function(element, config) {\r\n var $element = $(element);\r\n if (!$element.length) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n var animation = createAnimation($element, config);\r\n pushInAnimationQueue($element, animation);\r\n return animation.deferred.promise()\r\n};\r\n\r\nfunction pushInAnimationQueue($element, animation) {\r\n var queueData = getAnimQueueData($element);\r\n writeAnimQueueData($element, queueData);\r\n queueData.push(animation);\r\n if (!isAnimating($element)) {\r\n shiftFromAnimationQueue($element, queueData)\r\n }\r\n}\r\n\r\nfunction getAnimQueueData($element) {\r\n return $element.data(ANIM_QUEUE_KEY) || []\r\n}\r\n\r\nfunction writeAnimQueueData($element, queueData) {\r\n $element.data(ANIM_QUEUE_KEY, queueData)\r\n}\r\nvar destroyAnimQueueData = function($element) {\r\n $element.removeData(ANIM_QUEUE_KEY)\r\n};\r\n\r\nfunction isAnimating($element) {\r\n return !!$element.data(ANIM_DATA_KEY)\r\n}\r\n\r\nfunction shiftFromAnimationQueue($element, queueData) {\r\n queueData = getAnimQueueData($element);\r\n if (!queueData.length) {\r\n return\r\n }\r\n var animation = queueData.shift();\r\n if (0 === queueData.length) {\r\n destroyAnimQueueData($element)\r\n }\r\n executeAnimation(animation).done((function() {\r\n if (!isAnimating($element)) {\r\n shiftFromAnimationQueue($element)\r\n }\r\n }))\r\n}\r\n\r\nfunction executeAnimation(animation) {\r\n animation.setup();\r\n if (fx.off || animation.isSynchronous) {\r\n animation.start()\r\n } else {\r\n animation.startTimeout = setTimeout((function() {\r\n animation.start()\r\n }))\r\n }\r\n return animation.deferred.promise()\r\n}\r\n\r\nfunction setupPosition($element, config) {\r\n if (!config || !config.position) {\r\n return\r\n }\r\n var win = $(window);\r\n var left = 0;\r\n var top = 0;\r\n var position = positionUtils.calculate($element, config.position);\r\n var offset = $element.offset();\r\n var currentPosition = $element.position();\r\n if (currentPosition.top > offset.top) {\r\n top = win.scrollTop()\r\n }\r\n if (currentPosition.left > offset.left) {\r\n left = win.scrollLeft()\r\n }\r\n extend(config, {\r\n left: position.h.location - offset.left + currentPosition.left - left,\r\n top: position.v.location - offset.top + currentPosition.top - top\r\n });\r\n delete config.position\r\n}\r\n\r\nfunction setProps($element, props) {\r\n each(props, (function(key, value) {\r\n try {\r\n $element.css(key, isFunction(value) ? value() : value)\r\n } catch (e) {}\r\n }))\r\n}\r\nvar stop = function(element, jumpToEnd) {\r\n var $element = $(element);\r\n var queueData = getAnimQueueData($element);\r\n each(queueData, (function(_, animation) {\r\n animation.config.delay = 0;\r\n animation.config.duration = 0;\r\n animation.isSynchronous = true\r\n }));\r\n if (!isAnimating($element)) {\r\n shiftFromAnimationQueue($element, queueData)\r\n }\r\n var animation = $element.data(ANIM_DATA_KEY);\r\n if (animation) {\r\n animation.stop(jumpToEnd)\r\n }\r\n $element.removeData(ANIM_DATA_KEY);\r\n destroyAnimQueueData($element)\r\n};\r\nvar fx = {\r\n off: false,\r\n animationTypes: animationConfigurators,\r\n animate: animate,\r\n createAnimation: createAnimation,\r\n isAnimating: isAnimating,\r\n stop: stop,\r\n _simulatedTransitionEndDelay: 100\r\n};\r\nexport default fx;\r\n","/**\r\n * DevExtreme (esm/animation/position.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth,\r\n getOuterHeight,\r\n getWidth,\r\n getHeight\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n splitPair,\r\n pairToObject\r\n} from \"../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = getWindow();\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport {\r\n isWindow,\r\n isDefined\r\n} from \"../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n getBoundingRect\r\n} from \"../core/utils/position\";\r\nimport browser from \"../core/utils/browser\";\r\nimport {\r\n resetPosition,\r\n move\r\n} from \"./translator\";\r\nimport {\r\n touch\r\n} from \"../core/utils/support\";\r\nimport devices from \"../core/devices\";\r\nvar horzRe = /left|right/;\r\nvar vertRe = /top|bottom/;\r\nvar collisionRe = /fit|flip|none/;\r\nvar scaleRe = /scale\\(.+?\\)/;\r\nvar IS_SAFARI = browser.safari;\r\nvar normalizeAlign = function(raw) {\r\n var result = {\r\n h: \"center\",\r\n v: \"center\"\r\n };\r\n var pair = splitPair(raw);\r\n if (pair) {\r\n each(pair, (function() {\r\n var w = String(this).toLowerCase();\r\n if (horzRe.test(w)) {\r\n result.h = w\r\n } else if (vertRe.test(w)) {\r\n result.v = w\r\n }\r\n }))\r\n }\r\n return result\r\n};\r\nvar normalizeOffset = function(raw, preventRound) {\r\n return pairToObject(raw, preventRound)\r\n};\r\nvar normalizeCollision = function(raw) {\r\n var pair = splitPair(raw);\r\n var h = String(pair && pair[0]).toLowerCase();\r\n var v = String(pair && pair[1]).toLowerCase();\r\n if (!collisionRe.test(h)) {\r\n h = \"none\"\r\n }\r\n if (!collisionRe.test(v)) {\r\n v = h\r\n }\r\n return {\r\n h: h,\r\n v: v\r\n }\r\n};\r\nvar getAlignFactor = function(align) {\r\n switch (align) {\r\n case \"center\":\r\n return .5;\r\n case \"right\":\r\n case \"bottom\":\r\n return 1;\r\n default:\r\n return 0\r\n }\r\n};\r\nvar inverseAlign = function(align) {\r\n switch (align) {\r\n case \"left\":\r\n return \"right\";\r\n case \"right\":\r\n return \"left\";\r\n case \"top\":\r\n return \"bottom\";\r\n case \"bottom\":\r\n return \"top\";\r\n default:\r\n return align\r\n }\r\n};\r\nvar calculateOversize = function(data, bounds) {\r\n var oversize = 0;\r\n if (data.myLocation < bounds.min) {\r\n oversize += bounds.min - data.myLocation\r\n }\r\n if (data.myLocation > bounds.max) {\r\n oversize += data.myLocation - bounds.max\r\n }\r\n return oversize\r\n};\r\nvar collisionSide = function(direction, data, bounds) {\r\n if (data.myLocation < bounds.min) {\r\n return \"h\" === direction ? \"left\" : \"top\"\r\n }\r\n if (data.myLocation > bounds.max) {\r\n return \"h\" === direction ? \"right\" : \"bottom\"\r\n }\r\n return \"none\"\r\n};\r\nvar initMyLocation = function(data) {\r\n data.myLocation = data.atLocation + getAlignFactor(data.atAlign) * data.atSize - getAlignFactor(data.myAlign) * data.mySize + data.offset\r\n};\r\nvar collisionResolvers = {\r\n fit: function(data, bounds) {\r\n var result = false;\r\n if (data.myLocation > bounds.max) {\r\n data.myLocation = bounds.max;\r\n result = true\r\n }\r\n if (data.myLocation < bounds.min) {\r\n data.myLocation = bounds.min;\r\n result = true\r\n }\r\n data.fit = result\r\n },\r\n flip: function(data, bounds) {\r\n data.flip = false;\r\n if (\"center\" === data.myAlign && \"center\" === data.atAlign) {\r\n return\r\n }\r\n if (data.myLocation < bounds.min || data.myLocation > bounds.max) {\r\n var inverseData = extend({}, data, {\r\n myAlign: inverseAlign(data.myAlign),\r\n atAlign: inverseAlign(data.atAlign),\r\n offset: -data.offset\r\n });\r\n initMyLocation(inverseData);\r\n inverseData.oversize = calculateOversize(inverseData, bounds);\r\n if (inverseData.myLocation >= bounds.min && inverseData.myLocation <= bounds.max || data.oversize > inverseData.oversize) {\r\n data.myLocation = inverseData.myLocation;\r\n data.oversize = inverseData.oversize;\r\n data.flip = true\r\n }\r\n }\r\n },\r\n flipfit: function(data, bounds) {\r\n this.flip(data, bounds);\r\n this.fit(data, bounds)\r\n },\r\n none: function(data) {\r\n data.oversize = 0\r\n }\r\n};\r\nvar scrollbarWidth;\r\nvar calculateScrollbarWidth = function() {\r\n var $scrollDiv = $(\"
    \").css({\r\n width: 100,\r\n height: 100,\r\n overflow: \"scroll\",\r\n position: \"absolute\",\r\n top: -9999\r\n }).appendTo($(\"body\"));\r\n var result = $scrollDiv.get(0).offsetWidth - $scrollDiv.get(0).clientWidth;\r\n $scrollDiv.remove();\r\n scrollbarWidth = result\r\n};\r\nvar defaultPositionResult = {\r\n h: {\r\n location: 0,\r\n flip: false,\r\n fit: false,\r\n oversize: 0\r\n },\r\n v: {\r\n location: 0,\r\n flip: false,\r\n fit: false,\r\n oversize: 0\r\n }\r\n};\r\nvar calculatePosition = function(what, options) {\r\n var $what = $(what);\r\n var currentOffset = $what.offset();\r\n var result = extend(true, {}, defaultPositionResult, {\r\n h: {\r\n location: currentOffset.left\r\n },\r\n v: {\r\n location: currentOffset.top\r\n }\r\n });\r\n if (!options) {\r\n return result\r\n }\r\n var my = normalizeAlign(options.my);\r\n var at = normalizeAlign(options.at);\r\n var of = $(options.of).length && options.of || window;\r\n var offset = normalizeOffset(options.offset, options.precise);\r\n var collision = normalizeCollision(options.collision);\r\n var boundary = options.boundary;\r\n var boundaryOffset = normalizeOffset(options.boundaryOffset, options.precise);\r\n var h = {\r\n mySize: getOuterWidth($what),\r\n myAlign: my.h,\r\n atAlign: at.h,\r\n offset: offset.h,\r\n collision: collision.h,\r\n boundaryOffset: boundaryOffset.h\r\n };\r\n var v = {\r\n mySize: getOuterHeight($what),\r\n myAlign: my.v,\r\n atAlign: at.v,\r\n offset: offset.v,\r\n collision: collision.v,\r\n boundaryOffset: boundaryOffset.v\r\n };\r\n if (of.preventDefault) {\r\n h.atLocation = of.pageX;\r\n v.atLocation = of.pageY;\r\n h.atSize = 0;\r\n v.atSize = 0\r\n } else {\r\n of = $(of);\r\n if (isWindow(of [0])) {\r\n h.atLocation = of.scrollLeft();\r\n v.atLocation = of.scrollTop();\r\n if (\"phone\" === devices.real().deviceType && of [0].visualViewport) {\r\n h.atLocation = Math.max(h.atLocation, of [0].visualViewport.offsetLeft);\r\n v.atLocation = Math.max(v.atLocation, of [0].visualViewport.offsetTop);\r\n h.atSize = of [0].visualViewport.width;\r\n v.atSize = of [0].visualViewport.height\r\n } else {\r\n h.atSize = of [0].innerWidth > of [0].outerWidth ? of [0].innerWidth : getWidth(of);\r\n v.atSize = of [0].innerHeight > of [0].outerHeight || IS_SAFARI ? of [0].innerHeight : getHeight(of)\r\n }\r\n } else if (9 === of [0].nodeType) {\r\n h.atLocation = 0;\r\n v.atLocation = 0;\r\n h.atSize = getWidth(of);\r\n v.atSize = getHeight(of)\r\n } else {\r\n var ofRect = getBoundingRect(of.get(0));\r\n var o = getOffsetWithoutScale(of);\r\n h.atLocation = o.left;\r\n v.atLocation = o.top;\r\n h.atSize = Math.max(ofRect.width, getOuterWidth(of));\r\n v.atSize = Math.max(ofRect.height, getOuterHeight(of))\r\n }\r\n }\r\n initMyLocation(h);\r\n initMyLocation(v);\r\n var bounds = function() {\r\n var win = $(window);\r\n var windowWidth = getWidth(win);\r\n var windowHeight = getHeight(win);\r\n var left = win.scrollLeft();\r\n var top = win.scrollTop();\r\n var documentElement = domAdapter.getDocumentElement();\r\n var hZoomLevel = touch ? documentElement.clientWidth / windowWidth : 1;\r\n var vZoomLevel = touch ? documentElement.clientHeight / windowHeight : 1;\r\n if (void 0 === scrollbarWidth) {\r\n calculateScrollbarWidth()\r\n }\r\n var boundaryWidth = windowWidth;\r\n var boundaryHeight = windowHeight;\r\n if (boundary && !isWindow(boundary)) {\r\n var $boundary = $(boundary);\r\n var boundaryPosition = $boundary.offset();\r\n left = boundaryPosition.left;\r\n top = boundaryPosition.top;\r\n boundaryWidth = getWidth($boundary);\r\n boundaryHeight = getHeight($boundary)\r\n }\r\n return {\r\n h: {\r\n min: left + h.boundaryOffset,\r\n max: left + boundaryWidth / hZoomLevel - h.mySize - h.boundaryOffset\r\n },\r\n v: {\r\n min: top + v.boundaryOffset,\r\n max: top + boundaryHeight / vZoomLevel - v.mySize - v.boundaryOffset\r\n }\r\n }\r\n }();\r\n h.oversize = calculateOversize(h, bounds.h);\r\n v.oversize = calculateOversize(v, bounds.v);\r\n h.collisionSide = collisionSide(\"h\", h, bounds.h);\r\n v.collisionSide = collisionSide(\"v\", v, bounds.v);\r\n if (collisionResolvers[h.collision]) {\r\n collisionResolvers[h.collision](h, bounds.h)\r\n }\r\n if (collisionResolvers[v.collision]) {\r\n collisionResolvers[v.collision](v, bounds.v)\r\n }\r\n var preciser = function(number) {\r\n return options.precise ? number : Math.round(number)\r\n };\r\n extend(true, result, {\r\n h: {\r\n location: preciser(h.myLocation),\r\n oversize: preciser(h.oversize),\r\n fit: h.fit,\r\n flip: h.flip,\r\n collisionSide: h.collisionSide\r\n },\r\n v: {\r\n location: preciser(v.myLocation),\r\n oversize: preciser(v.oversize),\r\n fit: v.fit,\r\n flip: v.flip,\r\n collisionSide: v.collisionSide\r\n },\r\n precise: options.precise\r\n });\r\n return result\r\n};\r\nvar setScaleProperty = function(element, scale, transformProp, styleAttr, isEmpty) {\r\n var stylePropIsValid = isDefined(element.style) && !domAdapter.isNode(element.style);\r\n if (stylePropIsValid) {\r\n element.style.transform = isEmpty ? transformProp.replace(scale, \"\") : transformProp\r\n } else {\r\n element.setAttribute(\"style\", isEmpty ? styleAttr.replace(scale, \"\") : styleAttr)\r\n }\r\n};\r\nvar getOffsetWithoutScale = function getOffsetWithoutScale($startElement) {\r\n var _currentElement$getAt, _currentElement$style, _style$match;\r\n var $currentElement = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : $startElement;\r\n var currentElement = $currentElement.get(0);\r\n if (!currentElement) {\r\n return $startElement.offset()\r\n }\r\n var style = (null === (_currentElement$getAt = currentElement.getAttribute) || void 0 === _currentElement$getAt ? void 0 : _currentElement$getAt.call(currentElement, \"style\")) || \"\";\r\n var transform = null === (_currentElement$style = currentElement.style) || void 0 === _currentElement$style ? void 0 : _currentElement$style.transform;\r\n var scale = null === (_style$match = style.match(scaleRe)) || void 0 === _style$match ? void 0 : _style$match[0];\r\n var offset;\r\n if (scale) {\r\n setScaleProperty(currentElement, scale, transform, style, true);\r\n offset = getOffsetWithoutScale($startElement, $currentElement.parent());\r\n setScaleProperty(currentElement, scale, transform, style, false)\r\n } else {\r\n offset = getOffsetWithoutScale($startElement, $currentElement.parent())\r\n }\r\n return offset\r\n};\r\nvar position = function(what, options) {\r\n var $what = $(what);\r\n if (!options) {\r\n return $what.offset()\r\n }\r\n resetPosition($what, true);\r\n var offset = getOffsetWithoutScale($what);\r\n var targetPosition = options.h && options.v ? options : calculatePosition($what, options);\r\n var preciser = function(number) {\r\n return options.precise ? number : Math.round(number)\r\n };\r\n move($what, {\r\n left: targetPosition.h.location - preciser(offset.left),\r\n top: targetPosition.v.location - preciser(offset.top)\r\n });\r\n return targetPosition\r\n};\r\nvar offset = function(element) {\r\n element = $(element).get(0);\r\n if (isWindow(element)) {\r\n return null\r\n } else if (element && \"pageY\" in element && \"pageX\" in element) {\r\n return {\r\n top: element.pageY,\r\n left: element.pageX\r\n }\r\n }\r\n return $(element).offset()\r\n};\r\nif (!position.inverseAlign) {\r\n position.inverseAlign = inverseAlign\r\n}\r\nif (!position.normalizeAlign) {\r\n position.normalizeAlign = normalizeAlign\r\n}\r\nexport default {\r\n calculateScrollbarWidth: calculateScrollbarWidth,\r\n calculate: calculatePosition,\r\n setup: position,\r\n offset: offset\r\n};\r\n","/**\r\n * DevExtreme (esm/animation/translator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n data as elementData,\r\n removeData\r\n} from \"../core/element_data\";\r\nimport {\r\n type\r\n} from \"../core/utils/type\";\r\nvar TRANSLATOR_DATA_KEY = \"dxTranslator\";\r\nvar TRANSFORM_MATRIX_REGEX = /matrix(3d)?\\((.+?)\\)/;\r\nvar TRANSLATE_REGEX = /translate(?:3d)?\\((.+?)\\)/;\r\nexport var locate = function($element) {\r\n $element = $($element);\r\n var translate = getTranslate($element);\r\n return {\r\n left: translate.x,\r\n top: translate.y\r\n }\r\n};\r\n\r\nfunction isPercentValue(value) {\r\n return \"string\" === type(value) && \"%\" === value[value.length - 1]\r\n}\r\n\r\nfunction cacheTranslate($element, translate) {\r\n if ($element.length) {\r\n elementData($element.get(0), TRANSLATOR_DATA_KEY, translate)\r\n }\r\n}\r\nexport var clearCache = function($element) {\r\n if ($element.length) {\r\n removeData($element.get(0), TRANSLATOR_DATA_KEY)\r\n }\r\n};\r\nexport var getTranslateCss = function(translate) {\r\n translate.x = translate.x || 0;\r\n translate.y = translate.y || 0;\r\n var xValueString = isPercentValue(translate.x) ? translate.x : translate.x + \"px\";\r\n var yValueString = isPercentValue(translate.y) ? translate.y : translate.y + \"px\";\r\n return \"translate(\" + xValueString + \", \" + yValueString + \")\"\r\n};\r\nexport var getTranslate = function($element) {\r\n var result = $element.length ? elementData($element.get(0), TRANSLATOR_DATA_KEY) : null;\r\n if (!result) {\r\n var transformValue = $element.css(\"transform\") || getTranslateCss({\r\n x: 0,\r\n y: 0\r\n });\r\n var matrix = transformValue.match(TRANSFORM_MATRIX_REGEX);\r\n var is3D = matrix && matrix[1];\r\n if (matrix) {\r\n matrix = matrix[2].split(\",\");\r\n if (\"3d\" === is3D) {\r\n matrix = matrix.slice(12, 15)\r\n } else {\r\n matrix.push(0);\r\n matrix = matrix.slice(4, 7)\r\n }\r\n } else {\r\n matrix = [0, 0, 0]\r\n }\r\n result = {\r\n x: parseFloat(matrix[0]),\r\n y: parseFloat(matrix[1]),\r\n z: parseFloat(matrix[2])\r\n };\r\n cacheTranslate($element, result)\r\n }\r\n return result\r\n};\r\nexport var move = function($element, position) {\r\n $element = $($element);\r\n var left = position.left;\r\n var top = position.top;\r\n var translate;\r\n if (void 0 === left) {\r\n translate = getTranslate($element);\r\n translate.y = top || 0\r\n } else if (void 0 === top) {\r\n translate = getTranslate($element);\r\n translate.x = left || 0\r\n } else {\r\n translate = {\r\n x: left || 0,\r\n y: top || 0,\r\n z: 0\r\n };\r\n cacheTranslate($element, translate)\r\n }\r\n $element.css({\r\n transform: getTranslateCss(translate)\r\n });\r\n if (isPercentValue(left) || isPercentValue(top)) {\r\n clearCache($element)\r\n }\r\n};\r\nexport var resetPosition = function($element, finishTransition) {\r\n $element = $($element);\r\n var originalTransition;\r\n var stylesConfig = {\r\n left: 0,\r\n top: 0,\r\n transform: \"none\"\r\n };\r\n if (finishTransition) {\r\n originalTransition = $element.css(\"transition\");\r\n stylesConfig.transition = \"none\"\r\n }\r\n $element.css(stylesConfig);\r\n clearCache($element);\r\n if (finishTransition) {\r\n $element.get(0).offsetHeight;\r\n $element.css(\"transition\", originalTransition)\r\n }\r\n};\r\nexport var parseTranslate = function(translateString) {\r\n var result = translateString.match(TRANSLATE_REGEX);\r\n if (!result || !result[1]) {\r\n return\r\n }\r\n result = result[1].split(\",\");\r\n result = {\r\n x: parseFloat(result[0]),\r\n y: parseFloat(result[1]),\r\n z: parseFloat(result[2])\r\n };\r\n return result\r\n};\r\n","/**\r\n * DevExtreme (esm/color.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar standardColorNames = {\r\n aliceblue: \"f0f8ff\",\r\n antiquewhite: \"faebd7\",\r\n aqua: \"00ffff\",\r\n aquamarine: \"7fffd4\",\r\n azure: \"f0ffff\",\r\n beige: \"f5f5dc\",\r\n bisque: \"ffe4c4\",\r\n black: \"000000\",\r\n blanchedalmond: \"ffebcd\",\r\n blue: \"0000ff\",\r\n blueviolet: \"8a2be2\",\r\n brown: \"a52a2a\",\r\n burlywood: \"deb887\",\r\n cadetblue: \"5f9ea0\",\r\n chartreuse: \"7fff00\",\r\n chocolate: \"d2691e\",\r\n coral: \"ff7f50\",\r\n cornflowerblue: \"6495ed\",\r\n cornsilk: \"fff8dc\",\r\n crimson: \"dc143c\",\r\n cyan: \"00ffff\",\r\n darkblue: \"00008b\",\r\n darkcyan: \"008b8b\",\r\n darkgoldenrod: \"b8860b\",\r\n darkgray: \"a9a9a9\",\r\n darkgreen: \"006400\",\r\n darkgrey: \"a9a9a9\",\r\n darkkhaki: \"bdb76b\",\r\n darkmagenta: \"8b008b\",\r\n darkolivegreen: \"556b2f\",\r\n darkorange: \"ff8c00\",\r\n darkorchid: \"9932cc\",\r\n darkred: \"8b0000\",\r\n darksalmon: \"e9967a\",\r\n darkseagreen: \"8fbc8f\",\r\n darkslateblue: \"483d8b\",\r\n darkslategray: \"2f4f4f\",\r\n darkslategrey: \"2f4f4f\",\r\n darkturquoise: \"00ced1\",\r\n darkviolet: \"9400d3\",\r\n deeppink: \"ff1493\",\r\n deepskyblue: \"00bfff\",\r\n dimgray: \"696969\",\r\n dimgrey: \"696969\",\r\n dodgerblue: \"1e90ff\",\r\n feldspar: \"d19275\",\r\n firebrick: \"b22222\",\r\n floralwhite: \"fffaf0\",\r\n forestgreen: \"228b22\",\r\n fuchsia: \"ff00ff\",\r\n gainsboro: \"dcdcdc\",\r\n ghostwhite: \"f8f8ff\",\r\n gold: \"ffd700\",\r\n goldenrod: \"daa520\",\r\n gray: \"808080\",\r\n green: \"008000\",\r\n greenyellow: \"adff2f\",\r\n grey: \"808080\",\r\n honeydew: \"f0fff0\",\r\n hotpink: \"ff69b4\",\r\n indianred: \"cd5c5c\",\r\n indigo: \"4b0082\",\r\n ivory: \"fffff0\",\r\n khaki: \"f0e68c\",\r\n lavender: \"e6e6fa\",\r\n lavenderblush: \"fff0f5\",\r\n lawngreen: \"7cfc00\",\r\n lemonchiffon: \"fffacd\",\r\n lightblue: \"add8e6\",\r\n lightcoral: \"f08080\",\r\n lightcyan: \"e0ffff\",\r\n lightgoldenrodyellow: \"fafad2\",\r\n lightgray: \"d3d3d3\",\r\n lightgreen: \"90ee90\",\r\n lightgrey: \"d3d3d3\",\r\n lightpink: \"ffb6c1\",\r\n lightsalmon: \"ffa07a\",\r\n lightseagreen: \"20b2aa\",\r\n lightskyblue: \"87cefa\",\r\n lightslateblue: \"8470ff\",\r\n lightslategray: \"778899\",\r\n lightslategrey: \"778899\",\r\n lightsteelblue: \"b0c4de\",\r\n lightyellow: \"ffffe0\",\r\n lime: \"00ff00\",\r\n limegreen: \"32cd32\",\r\n linen: \"faf0e6\",\r\n magenta: \"ff00ff\",\r\n maroon: \"800000\",\r\n mediumaquamarine: \"66cdaa\",\r\n mediumblue: \"0000cd\",\r\n mediumorchid: \"ba55d3\",\r\n mediumpurple: \"9370d8\",\r\n mediumseagreen: \"3cb371\",\r\n mediumslateblue: \"7b68ee\",\r\n mediumspringgreen: \"00fa9a\",\r\n mediumturquoise: \"48d1cc\",\r\n mediumvioletred: \"c71585\",\r\n midnightblue: \"191970\",\r\n mintcream: \"f5fffa\",\r\n mistyrose: \"ffe4e1\",\r\n moccasin: \"ffe4b5\",\r\n navajowhite: \"ffdead\",\r\n navy: \"000080\",\r\n oldlace: \"fdf5e6\",\r\n olive: \"808000\",\r\n olivedrab: \"6b8e23\",\r\n orange: \"ffa500\",\r\n orangered: \"ff4500\",\r\n orchid: \"da70d6\",\r\n palegoldenrod: \"eee8aa\",\r\n palegreen: \"98fb98\",\r\n paleturquoise: \"afeeee\",\r\n palevioletred: \"d87093\",\r\n papayawhip: \"ffefd5\",\r\n peachpuff: \"ffdab9\",\r\n peru: \"cd853f\",\r\n pink: \"ffc0cb\",\r\n plum: \"dda0dd\",\r\n powderblue: \"b0e0e6\",\r\n purple: \"800080\",\r\n rebeccapurple: \"663399\",\r\n red: \"ff0000\",\r\n rosybrown: \"bc8f8f\",\r\n royalblue: \"4169e1\",\r\n saddlebrown: \"8b4513\",\r\n salmon: \"fa8072\",\r\n sandybrown: \"f4a460\",\r\n seagreen: \"2e8b57\",\r\n seashell: \"fff5ee\",\r\n sienna: \"a0522d\",\r\n silver: \"c0c0c0\",\r\n skyblue: \"87ceeb\",\r\n slateblue: \"6a5acd\",\r\n slategray: \"708090\",\r\n slategrey: \"708090\",\r\n snow: \"fffafa\",\r\n springgreen: \"00ff7f\",\r\n steelblue: \"4682b4\",\r\n tan: \"d2b48c\",\r\n teal: \"008080\",\r\n thistle: \"d8bfd8\",\r\n tomato: \"ff6347\",\r\n turquoise: \"40e0d0\",\r\n violet: \"ee82ee\",\r\n violetred: \"d02090\",\r\n wheat: \"f5deb3\",\r\n white: \"ffffff\",\r\n whitesmoke: \"f5f5f5\",\r\n yellow: \"ffff00\",\r\n yellowgreen: \"9acd32\"\r\n};\r\nvar standardColorTypes = [{\r\n re: /^rgb\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,\r\n process: function(colorString) {\r\n return [parseInt(colorString[1], 10), parseInt(colorString[2], 10), parseInt(colorString[3], 10)]\r\n }\r\n}, {\r\n re: /^rgba\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d*\\.*\\d+)\\)$/,\r\n process: function(colorString) {\r\n return [parseInt(colorString[1], 10), parseInt(colorString[2], 10), parseInt(colorString[3], 10), parseFloat(colorString[4])]\r\n }\r\n}, {\r\n re: /^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})$/,\r\n process: function(colorString) {\r\n return [parseInt(colorString[1], 16), parseInt(colorString[2], 16), parseInt(colorString[3], 16)]\r\n }\r\n}, {\r\n re: /^#([a-f0-9]{1})([a-f0-9]{1})([a-f0-9]{1})$/,\r\n process: function(colorString) {\r\n return [parseInt(colorString[1] + colorString[1], 16), parseInt(colorString[2] + colorString[2], 16), parseInt(colorString[3] + colorString[3], 16)]\r\n }\r\n}, {\r\n re: /^hsv\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,\r\n process: function(colorString) {\r\n var h = parseInt(colorString[1], 10);\r\n var s = parseInt(colorString[2], 10);\r\n var v = parseInt(colorString[3], 10);\r\n var rgb = hsvToRgb(h, s, v);\r\n return [rgb[0], rgb[1], rgb[2], 1, [h, s, v]]\r\n }\r\n}, {\r\n re: /^hsl\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,\r\n process: function(colorString) {\r\n var h = parseInt(colorString[1], 10);\r\n var s = parseInt(colorString[2], 10);\r\n var l = parseInt(colorString[3], 10);\r\n var rgb = hslToRgb(h, s, l);\r\n return [rgb[0], rgb[1], rgb[2], 1, null, [h, s, l]]\r\n }\r\n}];\r\nvar _round = Math.round;\r\n\r\nfunction Color(value) {\r\n this.baseColor = value;\r\n var color;\r\n if (value) {\r\n color = String(value).toLowerCase().replace(/ /g, \"\");\r\n color = standardColorNames[color] ? \"#\" + standardColorNames[color] : color;\r\n color = parseColor(color)\r\n }\r\n if (!color) {\r\n this.colorIsInvalid = true\r\n }\r\n color = color || {};\r\n this.r = normalize(color[0]);\r\n this.g = normalize(color[1]);\r\n this.b = normalize(color[2]);\r\n this.a = normalize(color[3], 1, 1);\r\n if (color[4]) {\r\n this.hsv = {\r\n h: color[4][0],\r\n s: color[4][1],\r\n v: color[4][2]\r\n }\r\n } else {\r\n this.hsv = toHsvFromRgb(this.r, this.g, this.b)\r\n }\r\n if (color[5]) {\r\n this.hsl = {\r\n h: color[5][0],\r\n s: color[5][1],\r\n l: color[5][2]\r\n }\r\n } else {\r\n this.hsl = toHslFromRgb(this.r, this.g, this.b)\r\n }\r\n}\r\n\r\nfunction parseColor(color) {\r\n if (\"transparent\" === color) {\r\n return [0, 0, 0, 0]\r\n }\r\n var i = 0;\r\n var ii = standardColorTypes.length;\r\n var str;\r\n for (; i < ii; ++i) {\r\n str = standardColorTypes[i].re.exec(color);\r\n if (str) {\r\n return standardColorTypes[i].process(str)\r\n }\r\n }\r\n return null\r\n}\r\n\r\nfunction normalize(colorComponent, def, max) {\r\n def = def || 0;\r\n max = max || 255;\r\n return colorComponent < 0 || isNaN(colorComponent) ? def : colorComponent > max ? max : colorComponent\r\n}\r\n\r\nfunction toHexFromRgb(r, g, b) {\r\n return \"#\" + (16777216 | r << 16 | g << 8 | b).toString(16).slice(1)\r\n}\r\n\r\nfunction toHsvFromRgb(r, g, b) {\r\n var max = Math.max(r, g, b);\r\n var min = Math.min(r, g, b);\r\n var delta = max - min;\r\n var H;\r\n var S;\r\n var V = max;\r\n S = 0 === max ? 0 : 1 - min / max;\r\n if (max === min) {\r\n H = 0\r\n } else {\r\n switch (max) {\r\n case r:\r\n H = (g - b) / delta * 60;\r\n if (g < b) {\r\n H += 360\r\n }\r\n break;\r\n case g:\r\n H = (b - r) / delta * 60 + 120;\r\n break;\r\n case b:\r\n H = (r - g) / delta * 60 + 240\r\n }\r\n }\r\n S *= 100;\r\n V *= 100 / 255;\r\n return {\r\n h: Math.round(H),\r\n s: Math.round(S),\r\n v: Math.round(V)\r\n }\r\n}\r\n\r\nfunction hsvToRgb(h, s, v) {\r\n var index = Math.floor(h % 360 / 60);\r\n var vMin = (100 - s) * v / 100;\r\n var a = h % 60 / 60 * (v - vMin);\r\n var vInc = vMin + a;\r\n var vDec = v - a;\r\n var r;\r\n var g;\r\n var b;\r\n switch (index) {\r\n case 0:\r\n r = v;\r\n g = vInc;\r\n b = vMin;\r\n break;\r\n case 1:\r\n r = vDec;\r\n g = v;\r\n b = vMin;\r\n break;\r\n case 2:\r\n r = vMin;\r\n g = v;\r\n b = vInc;\r\n break;\r\n case 3:\r\n r = vMin;\r\n g = vDec;\r\n b = v;\r\n break;\r\n case 4:\r\n r = vInc;\r\n g = vMin;\r\n b = v;\r\n break;\r\n case 5:\r\n r = v;\r\n g = vMin;\r\n b = vDec\r\n }\r\n return [Math.round(2.55 * r), Math.round(2.55 * g), Math.round(2.55 * b)]\r\n}\r\n\r\nfunction calculateHue(r, g, b, delta) {\r\n var max = Math.max(r, g, b);\r\n switch (max) {\r\n case r:\r\n return (g - b) / delta + (g < b ? 6 : 0);\r\n case g:\r\n return (b - r) / delta + 2;\r\n case b:\r\n return (r - g) / delta + 4\r\n }\r\n}\r\n\r\nfunction toHslFromRgb(r, g, b) {\r\n r = convertTo01Bounds(r, 255);\r\n g = convertTo01Bounds(g, 255);\r\n b = convertTo01Bounds(b, 255);\r\n var max = Math.max(r, g, b);\r\n var min = Math.min(r, g, b);\r\n var maxMinSum = max + min;\r\n var h;\r\n var s;\r\n var l = maxMinSum / 2;\r\n if (max === min) {\r\n h = s = 0\r\n } else {\r\n var delta = max - min;\r\n if (l > .5) {\r\n s = delta / (2 - maxMinSum)\r\n } else {\r\n s = delta / maxMinSum\r\n }\r\n h = calculateHue(r, g, b, delta);\r\n h /= 6\r\n }\r\n return {\r\n h: _round(360 * h),\r\n s: _round(100 * s),\r\n l: _round(100 * l)\r\n }\r\n}\r\n\r\nfunction makeColorTint(colorPart, h) {\r\n var colorTint = h;\r\n if (\"r\" === colorPart) {\r\n colorTint = h + 1 / 3\r\n }\r\n if (\"b\" === colorPart) {\r\n colorTint = h - 1 / 3\r\n }\r\n return colorTint\r\n}\r\n\r\nfunction modifyColorTint(colorTint) {\r\n if (colorTint < 0) {\r\n colorTint += 1\r\n }\r\n if (colorTint > 1) {\r\n colorTint -= 1\r\n }\r\n return colorTint\r\n}\r\n\r\nfunction hueToRgb(p, q, colorTint) {\r\n colorTint = modifyColorTint(colorTint);\r\n if (colorTint < 1 / 6) {\r\n return p + 6 * (q - p) * colorTint\r\n }\r\n if (colorTint < .5) {\r\n return q\r\n }\r\n if (colorTint < 2 / 3) {\r\n return p + (q - p) * (2 / 3 - colorTint) * 6\r\n }\r\n return p\r\n}\r\n\r\nfunction hslToRgb(h, s, l) {\r\n var r;\r\n var g;\r\n var b;\r\n h = convertTo01Bounds(h, 360);\r\n s = convertTo01Bounds(s, 100);\r\n l = convertTo01Bounds(l, 100);\r\n if (0 === s) {\r\n r = g = b = l\r\n } else {\r\n var q = l < .5 ? l * (1 + s) : l + s - l * s;\r\n var p = 2 * l - q;\r\n r = hueToRgb(p, q, makeColorTint(\"r\", h));\r\n g = hueToRgb(p, q, makeColorTint(\"g\", h));\r\n b = hueToRgb(p, q, makeColorTint(\"b\", h))\r\n }\r\n return [_round(255 * r), _round(255 * g), _round(255 * b)]\r\n}\r\n\r\nfunction convertTo01Bounds(n, max) {\r\n n = Math.min(max, Math.max(0, parseFloat(n)));\r\n if (Math.abs(n - max) < 1e-6) {\r\n return 1\r\n }\r\n return n % max / parseFloat(max)\r\n}\r\n\r\nfunction isIntegerBetweenMinAndMax(number, min, max) {\r\n min = min || 0;\r\n max = max || 255;\r\n if (number % 1 !== 0 || number < min || number > max || \"number\" !== typeof number || isNaN(number)) {\r\n return false\r\n }\r\n return true\r\n}\r\nColor.prototype = {\r\n constructor: Color,\r\n highlight: function(step) {\r\n step = step || 10;\r\n return this.alter(step).toHex()\r\n },\r\n darken: function(step) {\r\n step = step || 10;\r\n return this.alter(-step).toHex()\r\n },\r\n alter: function(step) {\r\n var result = new Color;\r\n result.r = normalize(this.r + step);\r\n result.g = normalize(this.g + step);\r\n result.b = normalize(this.b + step);\r\n return result\r\n },\r\n blend: function(blendColor, opacity) {\r\n var other = blendColor instanceof Color ? blendColor : new Color(blendColor);\r\n var result = new Color;\r\n result.r = normalize(_round(this.r * (1 - opacity) + other.r * opacity));\r\n result.g = normalize(_round(this.g * (1 - opacity) + other.g * opacity));\r\n result.b = normalize(_round(this.b * (1 - opacity) + other.b * opacity));\r\n return result\r\n },\r\n toHex: function() {\r\n return toHexFromRgb(this.r, this.g, this.b)\r\n },\r\n getPureColor: function() {\r\n var rgb = hsvToRgb(this.hsv.h, 100, 100);\r\n return new Color(\"rgb(\" + rgb.join(\",\") + \")\")\r\n },\r\n isValidHex: function(hex) {\r\n return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(hex)\r\n },\r\n isValidRGB: function(r, g, b) {\r\n if (!isIntegerBetweenMinAndMax(r) || !isIntegerBetweenMinAndMax(g) || !isIntegerBetweenMinAndMax(b)) {\r\n return false\r\n }\r\n return true\r\n },\r\n isValidAlpha: function(a) {\r\n if (isNaN(a) || a < 0 || a > 1 || \"number\" !== typeof a) {\r\n return false\r\n }\r\n return true\r\n },\r\n colorIsInvalid: false,\r\n fromHSL: function(hsl) {\r\n var color = new Color;\r\n var rgb = hslToRgb(hsl.h, hsl.s, hsl.l);\r\n color.r = rgb[0];\r\n color.g = rgb[1];\r\n color.b = rgb[2];\r\n return color\r\n }\r\n};\r\nexport default Color;\r\n","/**\r\n * DevExtreme (esm/core/action.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"./renderer\";\r\nimport {\r\n getWindow\r\n} from \"./utils/window\";\r\nimport {\r\n isPlainObject,\r\n isFunction\r\n} from \"./utils/type\";\r\nimport {\r\n each\r\n} from \"./utils/iterator\";\r\nexport default class Action {\r\n constructor(action, config) {\r\n config = config || {};\r\n this._action = action;\r\n this._context = config.context || getWindow();\r\n this._beforeExecute = config.beforeExecute;\r\n this._afterExecute = config.afterExecute;\r\n this._component = config.component;\r\n this._validatingTargetName = config.validatingTargetName;\r\n var excludeValidators = this._excludeValidators = {};\r\n if (config.excludeValidators) {\r\n for (var i = 0; i < config.excludeValidators.length; i++) {\r\n excludeValidators[config.excludeValidators[i]] = true\r\n }\r\n }\r\n }\r\n execute() {\r\n var e = {\r\n action: this._action,\r\n args: Array.prototype.slice.call(arguments),\r\n context: this._context,\r\n component: this._component,\r\n validatingTargetName: this._validatingTargetName,\r\n cancel: false,\r\n handled: false\r\n };\r\n var beforeExecute = this._beforeExecute;\r\n var afterExecute = this._afterExecute;\r\n var argsBag = e.args[0] || {};\r\n if (!this._validateAction(e)) {\r\n return\r\n }\r\n null === beforeExecute || void 0 === beforeExecute ? void 0 : beforeExecute.call(this._context, e);\r\n if (e.cancel) {\r\n return\r\n }\r\n var result = this._executeAction(e);\r\n if (argsBag.cancel) {\r\n return\r\n }\r\n null === afterExecute || void 0 === afterExecute ? void 0 : afterExecute.call(this._context, e);\r\n return result\r\n }\r\n _validateAction(e) {\r\n var excludeValidators = this._excludeValidators;\r\n var {\r\n executors: executors\r\n } = Action;\r\n for (var name in executors) {\r\n if (!excludeValidators[name]) {\r\n var _executor$validate;\r\n var executor = executors[name];\r\n null === (_executor$validate = executor.validate) || void 0 === _executor$validate ? void 0 : _executor$validate.call(executor, e);\r\n if (e.cancel) {\r\n return false\r\n }\r\n }\r\n }\r\n return true\r\n }\r\n _executeAction(e) {\r\n var result;\r\n var {\r\n executors: executors\r\n } = Action;\r\n for (var name in executors) {\r\n var _executor$execute;\r\n var executor = executors[name];\r\n null === (_executor$execute = executor.execute) || void 0 === _executor$execute ? void 0 : _executor$execute.call(executor, e);\r\n if (e.handled) {\r\n result = e.result;\r\n break\r\n }\r\n }\r\n return result\r\n }\r\n static registerExecutor(name, executor) {\r\n if (isPlainObject(name)) {\r\n each(name, Action.registerExecutor);\r\n return\r\n }\r\n Action.executors[name] = executor\r\n }\r\n static unregisterExecutor() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n each(args, (function() {\r\n delete Action.executors[this]\r\n }))\r\n }\r\n}\r\nAction.executors = {};\r\nvar createValidatorByTargetElement = condition => e => {\r\n if (!e.args.length) {\r\n return\r\n }\r\n var args = e.args[0];\r\n var element = args[e.validatingTargetName] || args.element;\r\n if (element && condition($(element))) {\r\n e.cancel = true\r\n }\r\n};\r\nAction.registerExecutor({\r\n disabled: {\r\n validate: createValidatorByTargetElement($target => $target.is(\".dx-state-disabled, .dx-state-disabled *\"))\r\n },\r\n readOnly: {\r\n validate: createValidatorByTargetElement($target => $target.is(\".dx-state-readonly, .dx-state-readonly *:not(.dx-state-independent)\"))\r\n },\r\n undefined: {\r\n execute: e => {\r\n if (!e.action) {\r\n e.result = void 0;\r\n e.handled = true\r\n }\r\n }\r\n },\r\n func: {\r\n execute: e => {\r\n if (isFunction(e.action)) {\r\n e.result = e.action.call(e.context, e.args[0]);\r\n e.handled = true\r\n }\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/core/class.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errors from \"./errors\";\r\nimport {\r\n isWindow\r\n} from \"./utils/type\";\r\nvar wrapOverridden = function(baseProto, methodName, method) {\r\n return function() {\r\n var prevCallBase = this.callBase;\r\n this.callBase = baseProto[methodName];\r\n try {\r\n return method.apply(this, arguments)\r\n } finally {\r\n this.callBase = prevCallBase\r\n }\r\n }\r\n};\r\nvar clonePrototype = function(obj) {\r\n var func = function() {};\r\n func.prototype = obj.prototype;\r\n return new func\r\n};\r\nvar redefine = function(members) {\r\n var overridden;\r\n var memberName;\r\n var member;\r\n if (!members) {\r\n return this\r\n }\r\n for (memberName in members) {\r\n member = members[memberName];\r\n overridden = \"function\" === typeof this.prototype[memberName] && \"function\" === typeof member;\r\n this.prototype[memberName] = overridden ? wrapOverridden(this.parent.prototype, memberName, member) : member\r\n }\r\n return this\r\n};\r\nvar include = function() {\r\n var classObj = this;\r\n var argument;\r\n var name;\r\n var i;\r\n var hasClassObjOwnProperty = Object.prototype.hasOwnProperty.bind(classObj);\r\n var isES6Class = !hasClassObjOwnProperty(\"_includedCtors\") && !hasClassObjOwnProperty(\"_includedPostCtors\");\r\n if (isES6Class) {\r\n classObj._includedCtors = classObj._includedCtors.slice(0);\r\n classObj._includedPostCtors = classObj._includedPostCtors.slice(0)\r\n }\r\n for (i = 0; i < arguments.length; i++) {\r\n argument = arguments[i];\r\n if (argument.ctor) {\r\n classObj._includedCtors.push(argument.ctor)\r\n }\r\n if (argument.postCtor) {\r\n classObj._includedPostCtors.push(argument.postCtor)\r\n }\r\n for (name in argument) {\r\n if (\"ctor\" === name || \"postCtor\" === name || \"default\" === name) {\r\n continue\r\n }\r\n classObj.prototype[name] = argument[name]\r\n }\r\n }\r\n return classObj\r\n};\r\nvar subclassOf = function(parentClass) {\r\n var hasParentProperty = Object.prototype.hasOwnProperty.bind(this)(\"parent\");\r\n var isES6Class = !hasParentProperty && this.parent;\r\n if (isES6Class) {\r\n var baseClass = Object.getPrototypeOf(this);\r\n return baseClass === parentClass || baseClass.subclassOf(parentClass)\r\n } else {\r\n if (this.parent === parentClass) {\r\n return true\r\n }\r\n if (!this.parent || !this.parent.subclassOf) {\r\n return false\r\n }\r\n return this.parent.subclassOf(parentClass)\r\n }\r\n};\r\nvar abstract = function() {\r\n throw errors.Error(\"E0001\")\r\n};\r\nvar copyStatic = function() {\r\n var hasOwn = Object.prototype.hasOwnProperty;\r\n return function(source, destination) {\r\n for (var key in source) {\r\n if (!hasOwn.call(source, key)) {\r\n return\r\n }\r\n destination[key] = source[key]\r\n }\r\n }\r\n}();\r\nvar classImpl = function() {};\r\nclassImpl.inherit = function(members) {\r\n var inheritor = function() {\r\n if (!this || isWindow(this) || \"function\" !== typeof this.constructor) {\r\n throw errors.Error(\"E0003\")\r\n }\r\n var instance = this;\r\n var ctor = instance.ctor;\r\n var includedCtors = instance.constructor._includedCtors;\r\n var includedPostCtors = instance.constructor._includedPostCtors;\r\n var i;\r\n for (i = 0; i < includedCtors.length; i++) {\r\n includedCtors[i].call(instance)\r\n }\r\n if (ctor) {\r\n ctor.apply(instance, arguments)\r\n }\r\n for (i = 0; i < includedPostCtors.length; i++) {\r\n includedPostCtors[i].call(instance)\r\n }\r\n };\r\n inheritor.prototype = clonePrototype(this);\r\n copyStatic(this, inheritor);\r\n inheritor.inherit = this.inherit;\r\n inheritor.abstract = abstract;\r\n inheritor.redefine = redefine;\r\n inheritor.include = include;\r\n inheritor.subclassOf = subclassOf;\r\n inheritor.parent = this;\r\n inheritor._includedCtors = this._includedCtors ? this._includedCtors.slice(0) : [];\r\n inheritor._includedPostCtors = this._includedPostCtors ? this._includedPostCtors.slice(0) : [];\r\n inheritor.prototype.constructor = inheritor;\r\n inheritor.redefine(members);\r\n return inheritor\r\n};\r\nclassImpl.abstract = abstract;\r\nexport default classImpl;\r\n","/**\r\n * DevExtreme (esm/core/options/option_manager.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n compileGetter,\r\n compileSetter,\r\n getPathParts\r\n} from \"../utils/data\";\r\nimport {\r\n noop\r\n} from \"../utils/common\";\r\nimport {\r\n equals\r\n} from \"../utils/comparator\";\r\nimport {\r\n extend\r\n} from \"../utils/extend\";\r\nimport {\r\n isDefined,\r\n isPlainObject\r\n} from \"../utils/type\";\r\nimport {\r\n normalizeOptions\r\n} from \"./utils\";\r\nvar cachedGetters = {};\r\nvar cachedSetters = {};\r\nexport class OptionManager {\r\n constructor(options, optionsByReference) {\r\n this._options = options;\r\n this._optionsByReference = optionsByReference;\r\n this._changingCallback;\r\n this._changedCallback;\r\n this._namePreparedCallbacks\r\n }\r\n _setByReference(options, rulesOptions) {\r\n extend(true, options, rulesOptions);\r\n for (var fieldName in this._optionsByReference) {\r\n if (Object.prototype.hasOwnProperty.call(rulesOptions, fieldName)) {\r\n options[fieldName] = rulesOptions[fieldName]\r\n }\r\n }\r\n }\r\n _setPreparedValue(name, value, merge, silent) {\r\n var previousValue = this.get(this._options, name, false);\r\n if (!equals(previousValue, value)) {\r\n var path = getPathParts(name);\r\n !silent && this._changingCallback(name, previousValue, value);\r\n cachedSetters[name] = cachedSetters[name] || compileSetter(name);\r\n cachedSetters[name](this._options, value, {\r\n functionsAsIs: true,\r\n merge: isDefined(merge) ? merge : !this._optionsByReference[name],\r\n unwrapObservables: path.length > 1 && !!this._optionsByReference[path[0]]\r\n });\r\n !silent && this._changedCallback(name, value, previousValue)\r\n }\r\n }\r\n _prepareRelevantNames(options, name, value, silent) {\r\n if (isPlainObject(value)) {\r\n for (var valueName in value) {\r\n this._prepareRelevantNames(options, \"\".concat(name, \".\").concat(valueName), value[valueName])\r\n }\r\n }\r\n this._namePreparedCallbacks(options, name, value, silent)\r\n }\r\n get() {\r\n var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._options;\r\n var name = arguments.length > 1 ? arguments[1] : void 0;\r\n var unwrapObservables = arguments.length > 2 ? arguments[2] : void 0;\r\n cachedGetters[name] = cachedGetters[name] || compileGetter(name);\r\n return cachedGetters[name](options, {\r\n functionsAsIs: true,\r\n unwrapObservables: unwrapObservables\r\n })\r\n }\r\n set(options, value, merge, silent) {\r\n options = normalizeOptions(options, value);\r\n for (var name in options) {\r\n this._prepareRelevantNames(options, name, options[name], silent)\r\n }\r\n for (var _name in options) {\r\n this._setPreparedValue(_name, options[_name], merge, silent)\r\n }\r\n }\r\n onRelevantNamesPrepared(callBack) {\r\n this._namePreparedCallbacks = callBack\r\n }\r\n onChanging(callBack) {\r\n this._changingCallback = callBack\r\n }\r\n onChanged(callBack) {\r\n this._changedCallback = callBack\r\n }\r\n dispose() {\r\n this._changingCallback = noop;\r\n this._changedCallback = noop\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/options/index.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n isFunction,\r\n isObject,\r\n type\r\n} from \"../utils/type\";\r\nimport {\r\n equalByValue,\r\n noop\r\n} from \"../utils/common\";\r\nimport {\r\n OptionManager\r\n} from \"./option_manager\";\r\nimport {\r\n getPathParts\r\n} from \"../utils/data\";\r\nimport {\r\n getFieldName,\r\n getParentName,\r\n convertRulesToOptions,\r\n getNestedOptionValue\r\n} from \"./utils\";\r\nimport {\r\n extend\r\n} from \"../utils/extend\";\r\nexport class Options {\r\n constructor(options, defaultOptions, optionsByReference, deprecatedOptions) {\r\n this._deprecatedCallback;\r\n this._startChangeCallback;\r\n this._endChangeCallback;\r\n this._default = defaultOptions;\r\n this._deprecated = deprecatedOptions;\r\n this._deprecatedNames = [];\r\n this._initDeprecatedNames();\r\n this._optionManager = new OptionManager(options, optionsByReference);\r\n this._optionManager.onRelevantNamesPrepared((options, name, value, silent) => this._setRelevantNames(options, name, value, silent));\r\n this._cachedOptions = {};\r\n this._rules = []\r\n }\r\n set _initial(value) {\r\n this._initialOptions = value\r\n }\r\n get _initial() {\r\n if (!this._initialOptions) {\r\n var rulesOptions = this._getByRules(this.silent(\"defaultOptionsRules\"));\r\n this._initialOptions = this._default;\r\n this._optionManager._setByReference(this._initialOptions, rulesOptions)\r\n }\r\n return this._initialOptions\r\n }\r\n _initDeprecatedNames() {\r\n for (var optionName in this._deprecated) {\r\n this._deprecatedNames.push(optionName)\r\n }\r\n }\r\n _getByRules(rules) {\r\n rules = Array.isArray(rules) ? this._rules.concat(rules) : this._rules;\r\n return convertRulesToOptions(rules)\r\n }\r\n _notifyDeprecated(option) {\r\n var info = this._deprecated[option];\r\n if (info) {\r\n this._deprecatedCallback(option, info)\r\n }\r\n }\r\n _setRelevantNames(options, name, value, silent) {\r\n if (name) {\r\n var normalizedName = this._normalizeName(name, silent);\r\n if (normalizedName && normalizedName !== name) {\r\n this._setField(options, normalizedName, value);\r\n this._clearField(options, name)\r\n }\r\n }\r\n }\r\n _setField(options, fullName, value) {\r\n var fieldName = \"\";\r\n var fieldObject = null;\r\n do {\r\n fieldName = fieldName ? \".\".concat(fieldName) : \"\";\r\n fieldName = getFieldName(fullName) + fieldName;\r\n fullName = getParentName(fullName);\r\n fieldObject = fullName ? this._optionManager.get(options, fullName, false) : options\r\n } while (!fieldObject);\r\n fieldObject[fieldName] = value\r\n }\r\n _clearField(options, name) {\r\n delete options[name];\r\n var previousFieldName = getParentName(name);\r\n var fieldObject = previousFieldName ? this._optionManager.get(options, previousFieldName, false) : options;\r\n if (fieldObject) {\r\n delete fieldObject[getFieldName(name)]\r\n }\r\n }\r\n _normalizeName(name, silent) {\r\n if (this._deprecatedNames.length && name) {\r\n for (var i = 0; i < this._deprecatedNames.length; i++) {\r\n if (this._deprecatedNames[i] === name) {\r\n var deprecate = this._deprecated[name];\r\n if (deprecate) {\r\n !silent && this._notifyDeprecated(name);\r\n return deprecate.alias || name\r\n }\r\n }\r\n }\r\n }\r\n return name\r\n }\r\n addRules(rules) {\r\n this._rules = rules.concat(this._rules)\r\n }\r\n applyRules(rules) {\r\n var options = this._getByRules(rules);\r\n this.silent(options)\r\n }\r\n dispose() {\r\n this._deprecatedCallback = noop;\r\n this._startChangeCallback = noop;\r\n this._endChangeCallback = noop;\r\n this._optionManager.dispose()\r\n }\r\n onChanging(callBack) {\r\n this._optionManager.onChanging(callBack)\r\n }\r\n onChanged(callBack) {\r\n this._optionManager.onChanged(callBack)\r\n }\r\n onDeprecated(callBack) {\r\n this._deprecatedCallback = callBack\r\n }\r\n onStartChange(callBack) {\r\n this._startChangeCallback = callBack\r\n }\r\n onEndChange(callBack) {\r\n this._endChangeCallback = callBack\r\n }\r\n isInitial(name) {\r\n var value = this.silent(name);\r\n var initialValue = this.initial(name);\r\n var areFunctions = isFunction(value) && isFunction(initialValue);\r\n return areFunctions ? value.toString() === initialValue.toString() : equalByValue(value, initialValue)\r\n }\r\n initial(name) {\r\n return getNestedOptionValue(this._initial, name)\r\n }\r\n option(options, value) {\r\n var isGetter = arguments.length < 2 && \"object\" !== type(options);\r\n if (isGetter) {\r\n return this._optionManager.get(void 0, this._normalizeName(options))\r\n } else {\r\n this._startChangeCallback();\r\n try {\r\n this._optionManager.set(options, value)\r\n } finally {\r\n this._endChangeCallback()\r\n }\r\n }\r\n }\r\n silent(options, value) {\r\n var isGetter = arguments.length < 2 && \"object\" !== type(options);\r\n if (isGetter) {\r\n return this._optionManager.get(void 0, options, void 0, true)\r\n } else {\r\n this._optionManager.set(options, value, void 0, true)\r\n }\r\n }\r\n reset(name) {\r\n if (name) {\r\n var fullPath = getPathParts(name);\r\n var value = fullPath.reduce((value, field) => value ? value[field] : this.initial(field), null);\r\n var defaultValue = isObject(value) ? _extends({}, value) : value;\r\n this._optionManager.set(name, defaultValue, false)\r\n }\r\n }\r\n getAliasesByName(name) {\r\n return Object.keys(this._deprecated).filter(aliasName => name === this._deprecated[aliasName].alias)\r\n }\r\n isDeprecated(name) {\r\n return Object.prototype.hasOwnProperty.call(this._deprecated, name)\r\n }\r\n cache(name, options) {\r\n var isGetter = arguments.length < 2;\r\n if (isGetter) {\r\n return this._cachedOptions[name]\r\n } else {\r\n this._cachedOptions[name] = extend(this._cachedOptions[name], options)\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/postponed_operations.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n Deferred,\r\n when\r\n} from \"./utils/deferred\";\r\nimport {\r\n isDefined\r\n} from \"./utils/type\";\r\nexport class PostponedOperations {\r\n constructor() {\r\n this._postponedOperations = {}\r\n }\r\n add(key, fn, postponedPromise) {\r\n if (key in this._postponedOperations) {\r\n postponedPromise && this._postponedOperations[key].promises.push(postponedPromise)\r\n } else {\r\n var completePromise = new Deferred;\r\n this._postponedOperations[key] = {\r\n fn: fn,\r\n completePromise: completePromise,\r\n promises: postponedPromise ? [postponedPromise] : []\r\n }\r\n }\r\n return this._postponedOperations[key].completePromise.promise()\r\n }\r\n callPostponedOperations() {\r\n for (var key in this._postponedOperations) {\r\n var operation = this._postponedOperations[key];\r\n if (isDefined(operation)) {\r\n if (operation.promises && operation.promises.length) {\r\n when(...operation.promises).done(operation.fn).then(operation.completePromise.resolve)\r\n } else {\r\n operation.fn().done(operation.completePromise.resolve)\r\n }\r\n }\r\n }\r\n this._postponedOperations = {}\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/component.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Config from \"./config\";\r\nimport {\r\n extend\r\n} from \"./utils/extend\";\r\nimport {\r\n Options\r\n} from \"./options/index\";\r\nimport {\r\n convertRulesToOptions\r\n} from \"./options/utils\";\r\nimport Class from \"./class\";\r\nimport Action from \"./action\";\r\nimport errors from \"./errors\";\r\nimport Callbacks from \"./utils/callbacks\";\r\nimport {\r\n EventsStrategy\r\n} from \"./events_strategy\";\r\nimport {\r\n name as publicComponentName\r\n} from \"./utils/public_component\";\r\nimport {\r\n PostponedOperations\r\n} from \"./postponed_operations\";\r\nimport {\r\n isFunction,\r\n isPlainObject,\r\n isDefined\r\n} from \"./utils/type\";\r\nimport {\r\n noop\r\n} from \"./utils/common\";\r\nimport {\r\n getPathParts\r\n} from \"./utils/data\";\r\nvar getEventName = actionName => actionName.charAt(2).toLowerCase() + actionName.substr(3);\r\nvar isInnerOption = optionName => 0 === optionName.indexOf(\"_\", 0);\r\nexport var Component = Class.inherit({\r\n _setDeprecatedOptions() {\r\n this._deprecatedOptions = {}\r\n },\r\n _getDeprecatedOptions() {\r\n return this._deprecatedOptions\r\n },\r\n _getDefaultOptions: () => ({\r\n onInitialized: null,\r\n onOptionChanged: null,\r\n onDisposing: null,\r\n defaultOptionsRules: null\r\n }),\r\n _defaultOptionsRules: () => [],\r\n _setOptionsByDevice(rules) {\r\n this._options.applyRules(rules)\r\n },\r\n _convertRulesToOptions: rules => convertRulesToOptions(rules),\r\n _isInitialOptionValue(name) {\r\n return this._options.isInitial(name)\r\n },\r\n _setOptionsByReference() {\r\n this._optionsByReference = {}\r\n },\r\n _getOptionsByReference() {\r\n return this._optionsByReference\r\n },\r\n ctor() {\r\n var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};\r\n var {\r\n _optionChangedCallbacks: _optionChangedCallbacks,\r\n _disposingCallbacks: _disposingCallbacks\r\n } = options;\r\n this.NAME = publicComponentName(this.constructor);\r\n this._eventsStrategy = EventsStrategy.create(this, options.eventsStrategy);\r\n this._updateLockCount = 0;\r\n this._optionChangedCallbacks = _optionChangedCallbacks || Callbacks();\r\n this._disposingCallbacks = _disposingCallbacks || Callbacks();\r\n this.postponedOperations = new PostponedOperations;\r\n this._createOptions(options)\r\n },\r\n _createOptions(options) {\r\n this.beginUpdate();\r\n try {\r\n this._setOptionsByReference();\r\n this._setDeprecatedOptions();\r\n this._options = new Options(this._getDefaultOptions(), this._getDefaultOptions(), this._getOptionsByReference(), this._getDeprecatedOptions());\r\n this._options.onChanging((name, previousValue, value) => this._initialized && this._optionChanging(name, previousValue, value));\r\n this._options.onDeprecated((option, info) => this._logDeprecatedOptionWarning(option, info));\r\n this._options.onChanged((name, value, previousValue) => this._notifyOptionChanged(name, value, previousValue));\r\n this._options.onStartChange(() => this.beginUpdate());\r\n this._options.onEndChange(() => this.endUpdate());\r\n this._options.addRules(this._defaultOptionsRules());\r\n if (options && options.onInitializing) {\r\n options.onInitializing.apply(this, [options])\r\n }\r\n this._setOptionsByDevice(options.defaultOptionsRules);\r\n this._initOptions(options)\r\n } finally {\r\n this.endUpdate()\r\n }\r\n },\r\n _initOptions(options) {\r\n this.option(options)\r\n },\r\n _init() {\r\n this._createOptionChangedAction();\r\n this.on(\"disposing\", args => {\r\n this._disposingCallbacks.fireWith(this, [args])\r\n })\r\n },\r\n _logDeprecatedOptionWarning(option, info) {\r\n var message = info.message || \"Use the '\".concat(info.alias, \"' option instead\");\r\n errors.log(\"W0001\", this.NAME, option, info.since, message)\r\n },\r\n _logDeprecatedComponentWarning(since, alias) {\r\n errors.log(\"W0000\", this.NAME, since, \"Use the '\".concat(alias, \"' widget instead\"))\r\n },\r\n _createOptionChangedAction() {\r\n this._optionChangedAction = this._createActionByOption(\"onOptionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _createDisposingAction() {\r\n this._disposingAction = this._createActionByOption(\"onDisposing\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"onDisposing\":\r\n case \"onInitialized\":\r\n break;\r\n case \"onOptionChanged\":\r\n this._createOptionChangedAction()\r\n }\r\n },\r\n _dispose() {\r\n this._optionChangedCallbacks.empty();\r\n this._createDisposingAction();\r\n this._disposingAction();\r\n this._eventsStrategy.dispose();\r\n this._options.dispose();\r\n this._disposed = true\r\n },\r\n _lockUpdate() {\r\n this._updateLockCount++\r\n },\r\n _unlockUpdate() {\r\n this._updateLockCount = Math.max(this._updateLockCount - 1, 0)\r\n },\r\n _isUpdateAllowed() {\r\n return 0 === this._updateLockCount\r\n },\r\n _isInitializingRequired() {\r\n return !this._initializing && !this._initialized\r\n },\r\n isInitialized() {\r\n return this._initialized\r\n },\r\n _commitUpdate() {\r\n this.postponedOperations.callPostponedOperations();\r\n this._isInitializingRequired() && this._initializeComponent()\r\n },\r\n _initializeComponent() {\r\n this._initializing = true;\r\n try {\r\n this._init()\r\n } finally {\r\n this._initializing = false;\r\n this._lockUpdate();\r\n this._createActionByOption(\"onInitialized\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })();\r\n this._unlockUpdate();\r\n this._initialized = true\r\n }\r\n },\r\n instance() {\r\n return this\r\n },\r\n beginUpdate: function() {\r\n this._lockUpdate()\r\n },\r\n endUpdate: function() {\r\n this._unlockUpdate();\r\n this._isUpdateAllowed() && this._commitUpdate()\r\n },\r\n _optionChanging: noop,\r\n _notifyOptionChanged(option, value, previousValue) {\r\n if (this._initialized) {\r\n var optionNames = [option].concat(this._options.getAliasesByName(option));\r\n for (var i = 0; i < optionNames.length; i++) {\r\n var name = optionNames[i];\r\n var args = {\r\n name: getPathParts(name)[0],\r\n fullName: name,\r\n value: value,\r\n previousValue: previousValue\r\n };\r\n if (!isInnerOption(name)) {\r\n this._optionChangedCallbacks.fireWith(this, [extend(this._defaultActionArgs(), args)]);\r\n this._optionChangedAction(extend({}, args))\r\n }\r\n if (!this._disposed && this._cancelOptionChange !== name) {\r\n this._optionChanged(args)\r\n }\r\n }\r\n }\r\n },\r\n initialOption(name) {\r\n return this._options.initial(name)\r\n },\r\n _defaultActionConfig() {\r\n return {\r\n context: this,\r\n component: this\r\n }\r\n },\r\n _defaultActionArgs() {\r\n return {\r\n component: this\r\n }\r\n },\r\n _createAction(actionSource, config) {\r\n var action;\r\n return e => {\r\n if (!isDefined(e)) {\r\n e = {}\r\n }\r\n if (!isPlainObject(e)) {\r\n e = {\r\n actionValue: e\r\n }\r\n }\r\n action = action || new Action(actionSource, extend({}, config, this._defaultActionConfig()));\r\n return action.execute.call(action, extend(e, this._defaultActionArgs()))\r\n }\r\n },\r\n _createActionByOption(optionName, config) {\r\n var _this = this;\r\n var action;\r\n var eventName;\r\n var actionFunc;\r\n config = extend({}, config);\r\n var result = function() {\r\n if (!eventName) {\r\n config = config || {};\r\n if (\"string\" !== typeof optionName) {\r\n throw errors.Error(\"E0008\")\r\n }\r\n if (0 === optionName.indexOf(\"on\")) {\r\n eventName = getEventName(optionName)\r\n }\r\n actionFunc = _this.option(optionName)\r\n }\r\n if (!action && !actionFunc && !config.beforeExecute && !config.afterExecute && !_this._eventsStrategy.hasEvent(eventName)) {\r\n return\r\n }\r\n if (!action) {\r\n var beforeExecute = config.beforeExecute;\r\n config.beforeExecute = function() {\r\n for (var _len2 = arguments.length, props = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n props[_key2] = arguments[_key2]\r\n }\r\n beforeExecute && beforeExecute.apply(_this, props);\r\n _this._eventsStrategy.fireEvent(eventName, props[0].args)\r\n };\r\n action = _this._createAction(actionFunc, config)\r\n }\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n if (Config().wrapActionsBeforeExecute) {\r\n var beforeActionExecute = _this.option(\"beforeActionExecute\") || noop;\r\n var wrappedAction = beforeActionExecute(_this, action, config) || action;\r\n return wrappedAction.apply(_this, args)\r\n }\r\n return action.apply(_this, args)\r\n };\r\n if (Config().wrapActionsBeforeExecute) {\r\n return result\r\n }\r\n var onActionCreated = this.option(\"onActionCreated\") || noop;\r\n return onActionCreated(this, result, config) || result\r\n },\r\n on(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n },\r\n hasActionSubscription: function(actionName) {\r\n return !!this._options.silent(actionName) || this._eventsStrategy.hasEvent(getEventName(actionName))\r\n },\r\n isOptionDeprecated(name) {\r\n return this._options.isDeprecated(name)\r\n },\r\n _setOptionWithoutOptionChange(name, value) {\r\n this._cancelOptionChange = name;\r\n this.option(name, value);\r\n this._cancelOptionChange = false\r\n },\r\n _getOptionValue(name, context) {\r\n var value = this.option(name);\r\n if (isFunction(value)) {\r\n return value.bind(context)()\r\n }\r\n return value\r\n },\r\n option() {\r\n return this._options.option(...arguments)\r\n },\r\n resetOption(name) {\r\n this.beginUpdate();\r\n this._options.reset(name);\r\n this.endUpdate()\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/core/component_registrator_callbacks.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport MemorizedCallbacks from \"./memorized_callbacks\";\r\nexport default new MemorizedCallbacks;\r\n","/**\r\n * DevExtreme (esm/core/component_registrator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"./renderer\";\r\nimport callbacks from \"./component_registrator_callbacks\";\r\nimport errors from \"./errors\";\r\nimport {\r\n name as publicComponentName\r\n} from \"./utils/public_component\";\r\nvar registerComponent = function(name, namespace, componentClass) {\r\n if (!componentClass) {\r\n componentClass = namespace\r\n } else {\r\n namespace[name] = componentClass\r\n }\r\n publicComponentName(componentClass, name);\r\n callbacks.fire(name, componentClass)\r\n};\r\nvar registerRendererComponent = function(name, componentClass) {\r\n $.fn[name] = function(options) {\r\n var isMemberInvoke = \"string\" === typeof options;\r\n var result;\r\n if (isMemberInvoke) {\r\n var memberName = options;\r\n var memberArgs = [].slice.call(arguments).slice(1);\r\n this.each((function() {\r\n var instance = componentClass.getInstance(this);\r\n if (!instance) {\r\n throw errors.Error(\"E0009\", name)\r\n }\r\n var member = instance[memberName];\r\n var memberValue = member.apply(instance, memberArgs);\r\n if (void 0 === result) {\r\n result = memberValue\r\n }\r\n }))\r\n } else {\r\n this.each((function() {\r\n var instance = componentClass.getInstance(this);\r\n if (instance) {\r\n instance.option(options)\r\n } else {\r\n new componentClass(this, options)\r\n }\r\n }));\r\n result = this\r\n }\r\n return result\r\n }\r\n};\r\ncallbacks.add(registerRendererComponent);\r\nexport default registerComponent;\r\n","/**\r\n * DevExtreme (esm/core/config.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"./utils/extend\";\r\nimport errors from \"./errors\";\r\nvar config = {\r\n rtlEnabled: false,\r\n defaultCurrency: \"USD\",\r\n defaultUseCurrencyAccountingStyle: true,\r\n oDataFilterToLower: true,\r\n serverDecimalSeparator: \".\",\r\n decimalSeparator: \".\",\r\n thousandsSeparator: \",\",\r\n forceIsoDateParsing: true,\r\n wrapActionsBeforeExecute: true,\r\n useLegacyStoreResult: false,\r\n useJQuery: void 0,\r\n editorStylingMode: void 0,\r\n useLegacyVisibleIndex: false,\r\n floatingActionButtonConfig: {\r\n icon: \"add\",\r\n closeIcon: \"close\",\r\n label: \"\",\r\n position: {\r\n at: \"right bottom\",\r\n my: \"right bottom\",\r\n offset: {\r\n x: -16,\r\n y: -16\r\n }\r\n },\r\n maxSpeedDialActionCount: 5,\r\n shading: false,\r\n direction: \"auto\"\r\n },\r\n optionsParser: optionsString => {\r\n if (\"{\" !== optionsString.trim().charAt(0)) {\r\n optionsString = \"{\" + optionsString + \"}\"\r\n }\r\n try {\r\n return new Function(\"return \" + optionsString)()\r\n } catch (ex) {\r\n throw errors.Error(\"E3018\", ex, optionsString)\r\n }\r\n }\r\n};\r\nvar deprecatedFields = [\"decimalSeparator\", \"thousandsSeparator\"];\r\nvar configMethod = function() {\r\n if (!arguments.length) {\r\n return config\r\n }\r\n var newConfig = arguments.length <= 0 ? void 0 : arguments[0];\r\n deprecatedFields.forEach(deprecatedField => {\r\n if (newConfig[deprecatedField]) {\r\n var message = \"Now, the \".concat(deprecatedField, \" is selected based on the specified locale.\");\r\n errors.log(\"W0003\", \"config\", deprecatedField, \"19.2\", message)\r\n }\r\n });\r\n extend(config, newConfig)\r\n};\r\nif (\"undefined\" !== typeof DevExpress && DevExpress.config) {\r\n configMethod(DevExpress.config)\r\n}\r\nexport default configMethod;\r\n","/**\r\n * DevExtreme (esm/core/devices.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight,\r\n getWidth\r\n} from \"./utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n getWindow,\r\n getNavigator,\r\n hasWindow\r\n} from \"./utils/window\";\r\nimport {\r\n extend\r\n} from \"./utils/extend\";\r\nimport {\r\n isPlainObject\r\n} from \"./utils/type\";\r\nimport errors from \"./errors\";\r\nimport Callbacks from \"./utils/callbacks\";\r\nimport readyCallbacks from \"./utils/ready_callbacks\";\r\nimport resizeCallbacks from \"./utils/resize_callbacks\";\r\nimport {\r\n EventsStrategy\r\n} from \"./events_strategy\";\r\nimport {\r\n sessionStorage as SessionStorage\r\n} from \"./utils/storage\";\r\nimport {\r\n changeCallback,\r\n value as viewPort\r\n} from \"./utils/view_port\";\r\nimport Config from \"./config\";\r\nvar window = getWindow();\r\nvar KNOWN_UA_TABLE = {\r\n iPhone: \"iPhone\",\r\n iPhone5: \"iPhone\",\r\n iPhone6: \"iPhone\",\r\n iPhone6plus: \"iPhone\",\r\n iPad: \"iPad\",\r\n iPadMini: \"iPad Mini\",\r\n androidPhone: \"Android Mobile\",\r\n androidTablet: \"Android\",\r\n msSurface: \"Windows ARM Tablet PC\",\r\n desktop: \"desktop\"\r\n};\r\nvar DEFAULT_DEVICE = {\r\n deviceType: \"desktop\",\r\n platform: \"generic\",\r\n version: [],\r\n phone: false,\r\n tablet: false,\r\n android: false,\r\n ios: false,\r\n generic: true,\r\n grade: \"A\",\r\n mac: false\r\n};\r\nvar UA_PARSERS = {\r\n generic(userAgent) {\r\n var isPhone = /windows phone/i.test(userAgent) || userAgent.match(/WPDesktop/);\r\n var isTablet = !isPhone && /Windows(.*)arm(.*)Tablet PC/i.test(userAgent);\r\n var isDesktop = !isPhone && !isTablet && /msapphost/i.test(userAgent);\r\n var isMac = /((intel|ppc) mac os x)/.test(userAgent.toLowerCase());\r\n if (!(isPhone || isTablet || isDesktop || isMac)) {\r\n return null\r\n }\r\n return {\r\n deviceType: isPhone ? \"phone\" : isTablet ? \"tablet\" : \"desktop\",\r\n platform: \"generic\",\r\n version: [],\r\n grade: \"A\",\r\n mac: isMac\r\n }\r\n },\r\n appleTouchDevice(userAgent) {\r\n var navigator = getNavigator();\r\n var isIpadOs = /Macintosh/i.test(userAgent) && (null === navigator || void 0 === navigator ? void 0 : navigator.maxTouchPoints) > 2;\r\n var isAppleDevice = /ip(hone|od|ad)/i.test(userAgent);\r\n if (!isAppleDevice && !isIpadOs) {\r\n return null\r\n }\r\n var isPhone = /ip(hone|od)/i.test(userAgent);\r\n var matches = userAgent.match(/os\\s{0,}X? (\\d+)_(\\d+)_?(\\d+)?/i);\r\n var version = matches ? [parseInt(matches[1], 10), parseInt(matches[2], 10), parseInt(matches[3] || 0, 10)] : [];\r\n var isIPhone4 = 480 === window.screen.height;\r\n var grade = isIPhone4 ? \"B\" : \"A\";\r\n return {\r\n deviceType: isPhone ? \"phone\" : \"tablet\",\r\n platform: \"ios\",\r\n version: version,\r\n grade: grade\r\n }\r\n },\r\n android(userAgent) {\r\n var isAndroid = /android|htc_|silk/i.test(userAgent);\r\n var isWinPhone = /windows phone/i.test(userAgent);\r\n if (!isAndroid || isWinPhone) {\r\n return null\r\n }\r\n var isPhone = /mobile/i.test(userAgent);\r\n var matches = userAgent.match(/android (\\d+)\\.?(\\d+)?\\.?(\\d+)?/i);\r\n var version = matches ? [parseInt(matches[1], 10), parseInt(matches[2] || 0, 10), parseInt(matches[3] || 0, 10)] : [];\r\n var worseThan4_4 = version.length > 1 && (version[0] < 4 || 4 === version[0] && version[1] < 4);\r\n var grade = worseThan4_4 ? \"B\" : \"A\";\r\n return {\r\n deviceType: isPhone ? \"phone\" : \"tablet\",\r\n platform: \"android\",\r\n version: version,\r\n grade: grade\r\n }\r\n }\r\n};\r\nvar UA_PARSERS_ARRAY = [UA_PARSERS.appleTouchDevice, UA_PARSERS.android, UA_PARSERS.generic];\r\nclass Devices {\r\n constructor(options) {\r\n this._window = (null === options || void 0 === options ? void 0 : options.window) || window;\r\n this._realDevice = this._getDevice();\r\n this._currentDevice = void 0;\r\n this._currentOrientation = void 0;\r\n this._eventsStrategy = new EventsStrategy(this);\r\n this.changed = Callbacks();\r\n if (hasWindow()) {\r\n readyCallbacks.add(this._recalculateOrientation.bind(this));\r\n resizeCallbacks.add(this._recalculateOrientation.bind(this))\r\n }\r\n }\r\n current(deviceOrName) {\r\n if (deviceOrName) {\r\n this._currentDevice = this._getDevice(deviceOrName);\r\n this._forced = true;\r\n this.changed.fire();\r\n return\r\n }\r\n if (!this._currentDevice) {\r\n deviceOrName = void 0;\r\n try {\r\n deviceOrName = this._getDeviceOrNameFromWindowScope()\r\n } catch (e) {\r\n deviceOrName = this._getDeviceNameFromSessionStorage()\r\n } finally {\r\n if (!deviceOrName) {\r\n deviceOrName = this._getDeviceNameFromSessionStorage()\r\n }\r\n if (deviceOrName) {\r\n this._forced = true\r\n }\r\n }\r\n this._currentDevice = this._getDevice(deviceOrName)\r\n }\r\n return this._currentDevice\r\n }\r\n real(forceDevice) {\r\n return extend({}, this._realDevice)\r\n }\r\n orientation() {\r\n return this._currentOrientation\r\n }\r\n isForced() {\r\n return this._forced\r\n }\r\n isRippleEmulator() {\r\n return !!this._window.tinyHippos\r\n }\r\n _getCssClasses(device) {\r\n var result = [];\r\n var realDevice = this._realDevice;\r\n device = device || this.current();\r\n if (device.deviceType) {\r\n result.push(\"dx-device-\".concat(device.deviceType));\r\n if (\"desktop\" !== device.deviceType) {\r\n result.push(\"dx-device-mobile\")\r\n }\r\n }\r\n result.push(\"dx-device-\".concat(realDevice.platform));\r\n if (realDevice.version && realDevice.version.length) {\r\n result.push(\"dx-device-\".concat(realDevice.platform, \"-\").concat(realDevice.version[0]))\r\n }\r\n if (this.isSimulator()) {\r\n result.push(\"dx-simulator\")\r\n }\r\n if (Config().rtlEnabled) {\r\n result.push(\"dx-rtl\")\r\n }\r\n return result\r\n }\r\n attachCssClasses(element, device) {\r\n this._deviceClasses = this._getCssClasses(device).join(\" \");\r\n $(element).addClass(this._deviceClasses)\r\n }\r\n detachCssClasses(element) {\r\n $(element).removeClass(this._deviceClasses)\r\n }\r\n isSimulator() {\r\n try {\r\n return this._isSimulator || hasWindow() && this._window.top !== this._window.self && this._window.top[\"dx-force-device\"] || this.isRippleEmulator()\r\n } catch (e) {\r\n return false\r\n }\r\n }\r\n forceSimulator() {\r\n this._isSimulator = true\r\n }\r\n _getDevice(deviceName) {\r\n if (\"genericPhone\" === deviceName) {\r\n deviceName = {\r\n deviceType: \"phone\",\r\n platform: \"generic\",\r\n generic: true\r\n }\r\n }\r\n if (isPlainObject(deviceName)) {\r\n return this._fromConfig(deviceName)\r\n } else {\r\n var ua;\r\n if (deviceName) {\r\n ua = KNOWN_UA_TABLE[deviceName];\r\n if (!ua) {\r\n throw errors.Error(\"E0005\")\r\n }\r\n } else {\r\n var navigator = getNavigator();\r\n ua = navigator.userAgent\r\n }\r\n return this._fromUA(ua)\r\n }\r\n }\r\n _getDeviceOrNameFromWindowScope() {\r\n var result;\r\n if (hasWindow() && (this._window.top[\"dx-force-device-object\"] || this._window.top[\"dx-force-device\"])) {\r\n result = this._window.top[\"dx-force-device-object\"] || this._window.top[\"dx-force-device\"]\r\n }\r\n return result\r\n }\r\n _getDeviceNameFromSessionStorage() {\r\n var sessionStorage = SessionStorage();\r\n if (!sessionStorage) {\r\n return\r\n }\r\n var deviceOrName = sessionStorage.getItem(\"dx-force-device\");\r\n try {\r\n return JSON.parse(deviceOrName)\r\n } catch (ex) {\r\n return deviceOrName\r\n }\r\n }\r\n _fromConfig(config) {\r\n var result = extend({}, DEFAULT_DEVICE, this._currentDevice, config);\r\n var shortcuts = {\r\n phone: \"phone\" === result.deviceType,\r\n tablet: \"tablet\" === result.deviceType,\r\n android: \"android\" === result.platform,\r\n ios: \"ios\" === result.platform,\r\n generic: \"generic\" === result.platform\r\n };\r\n return extend(result, shortcuts)\r\n }\r\n _fromUA(ua) {\r\n for (var idx = 0; idx < UA_PARSERS_ARRAY.length; idx += 1) {\r\n var parser = UA_PARSERS_ARRAY[idx];\r\n var config = parser(ua);\r\n if (config) {\r\n return this._fromConfig(config)\r\n }\r\n }\r\n return DEFAULT_DEVICE\r\n }\r\n _changeOrientation() {\r\n var $window = $(this._window);\r\n var orientation = getHeight($window) > getWidth($window) ? \"portrait\" : \"landscape\";\r\n if (this._currentOrientation === orientation) {\r\n return\r\n }\r\n this._currentOrientation = orientation;\r\n this._eventsStrategy.fireEvent(\"orientationChanged\", [{\r\n orientation: orientation\r\n }])\r\n }\r\n _recalculateOrientation() {\r\n var windowWidth = getWidth(this._window);\r\n if (this._currentWidth === windowWidth) {\r\n return\r\n }\r\n this._currentWidth = windowWidth;\r\n this._changeOrientation()\r\n }\r\n on(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n }\r\n off(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n }\r\n}\r\nvar devices = new Devices;\r\nvar viewPortElement = viewPort();\r\nif (viewPortElement) {\r\n devices.attachCssClasses(viewPortElement)\r\n}\r\nchangeCallback.add((viewPort, prevViewport) => {\r\n devices.detachCssClasses(prevViewport);\r\n devices.attachCssClasses(viewPort)\r\n});\r\nexport default devices;\r\n","/**\r\n * DevExtreme (esm/core/dom_adapter.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport injector from \"./utils/dependency_injector\";\r\nimport {\r\n noop\r\n} from \"./utils/common\";\r\nimport {\r\n getShadowElementsFromPoint\r\n} from \"./utils/shadow_dom\";\r\nvar ELEMENT_NODE = 1;\r\nvar TEXT_NODE = 3;\r\nvar DOCUMENT_NODE = 9;\r\nvar DOCUMENT_FRAGMENT_NODE = 11;\r\nvar nativeDOMAdapterStrategy = {\r\n querySelectorAll: (element, selector) => element.querySelectorAll(selector),\r\n elementMatches(element, selector) {\r\n var matches = element.matches || element.matchesSelector || element.mozMatchesSelector || element.msMatchesSelector || element.oMatchesSelector || element.webkitMatchesSelector || (selector => {\r\n var doc = element.document || element.ownerDocument;\r\n if (!doc) {\r\n return false\r\n }\r\n var items = this.querySelectorAll(doc, selector);\r\n for (var i = 0; i < items.length; i++) {\r\n if (items[i] === element) {\r\n return true\r\n }\r\n }\r\n });\r\n return matches.call(element, selector)\r\n },\r\n createElement(tagName, context) {\r\n context = context || this._document;\r\n return context.createElement(tagName)\r\n },\r\n createElementNS(ns, tagName, context) {\r\n context = context || this._document;\r\n return context.createElementNS(ns, tagName)\r\n },\r\n createTextNode(text, context) {\r\n context = context || this._document;\r\n return context.createTextNode(text)\r\n },\r\n isNode: element => element && \"object\" === typeof element && \"nodeType\" in element && \"nodeName\" in element,\r\n isElementNode: element => element && element.nodeType === ELEMENT_NODE,\r\n isTextNode: element => element && element.nodeType === TEXT_NODE,\r\n isDocument: element => element && element.nodeType === DOCUMENT_NODE,\r\n isDocumentFragment: element => element && element.nodeType === DOCUMENT_FRAGMENT_NODE,\r\n removeElement(element) {\r\n var parentNode = element && element.parentNode;\r\n if (parentNode) {\r\n parentNode.removeChild(element)\r\n }\r\n },\r\n insertElement(parentElement, newElement, nextSiblingElement) {\r\n if (parentElement && newElement && parentElement !== newElement) {\r\n if (nextSiblingElement) {\r\n parentElement.insertBefore(newElement, nextSiblingElement)\r\n } else {\r\n parentElement.appendChild(newElement)\r\n }\r\n }\r\n },\r\n getAttribute: (element, name) => element.getAttribute(name),\r\n setAttribute(element, name, value) {\r\n element.setAttribute(name, value)\r\n },\r\n removeAttribute(element, name) {\r\n element.removeAttribute(name)\r\n },\r\n setProperty(element, name, value) {\r\n element[name] = value\r\n },\r\n setText(element, text) {\r\n if (element) {\r\n element.textContent = text\r\n }\r\n },\r\n setClass(element, className, isAdd) {\r\n if (1 === element.nodeType && className) {\r\n isAdd ? element.classList.add(className) : element.classList.remove(className)\r\n }\r\n },\r\n setStyle(element, name, value) {\r\n element.style[name] = value || \"\"\r\n },\r\n _document: \"undefined\" === typeof document ? void 0 : document,\r\n getDocument() {\r\n return this._document\r\n },\r\n getActiveElement(element) {\r\n var activeElementHolder = this.getRootNode(element);\r\n return activeElementHolder.activeElement\r\n },\r\n getRootNode(element) {\r\n var _element$getRootNode, _element$getRootNode2;\r\n return null !== (_element$getRootNode = null === element || void 0 === element ? void 0 : null === (_element$getRootNode2 = element.getRootNode) || void 0 === _element$getRootNode2 ? void 0 : _element$getRootNode2.call(element)) && void 0 !== _element$getRootNode ? _element$getRootNode : this._document\r\n },\r\n getBody() {\r\n return this._document.body\r\n },\r\n createDocumentFragment() {\r\n return this._document.createDocumentFragment()\r\n },\r\n getDocumentElement() {\r\n return this._document.documentElement\r\n },\r\n getLocation() {\r\n return this._document.location\r\n },\r\n getSelection() {\r\n return this._document.selection\r\n },\r\n getReadyState() {\r\n return this._document.readyState\r\n },\r\n getHead() {\r\n return this._document.head\r\n },\r\n hasDocumentProperty(property) {\r\n return property in this._document\r\n },\r\n listen(element, event, callback, options) {\r\n if (!element || !(\"addEventListener\" in element)) {\r\n return noop\r\n }\r\n element.addEventListener(event, callback, options);\r\n return () => {\r\n element.removeEventListener(event, callback)\r\n }\r\n },\r\n elementsFromPoint(x, y, element) {\r\n var activeElementHolder = this.getRootNode(element);\r\n if (activeElementHolder.host) {\r\n return getShadowElementsFromPoint(x, y, activeElementHolder)\r\n }\r\n return activeElementHolder.elementsFromPoint(x, y)\r\n }\r\n};\r\nexport default injector(nativeDOMAdapterStrategy);\r\n","/**\r\n * DevExtreme (esm/core/template_manager.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"./renderer\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isRenderer\r\n} from \"./utils/type\";\r\nimport {\r\n noop\r\n} from \"./utils/common\";\r\nimport {\r\n extend\r\n} from \"./utils/extend\";\r\nimport {\r\n FunctionTemplate\r\n} from \"./templates/function_template\";\r\nimport {\r\n EmptyTemplate\r\n} from \"./templates/empty_template\";\r\nimport {\r\n findTemplates,\r\n suitableTemplatesByName,\r\n templateKey,\r\n getNormalizedTemplateArgs,\r\n validateTemplateSource,\r\n defaultCreateElement,\r\n acquireTemplate\r\n} from \"./utils/template_manager\";\r\nvar TEXT_NODE = 3;\r\nvar ANONYMOUS_TEMPLATE_NAME = \"template\";\r\nvar TEMPLATE_OPTIONS_NAME = \"dxTemplate\";\r\nvar TEMPLATE_WRAPPER_CLASS = \"dx-template-wrapper\";\r\nvar DX_POLYMORPH_WIDGET_TEMPLATE = new FunctionTemplate(_ref => {\r\n var {\r\n model: model,\r\n parent: parent\r\n } = _ref;\r\n var widgetName = model.widget;\r\n if (!widgetName) {\r\n return $()\r\n }\r\n var widgetElement = $(\"
    \");\r\n var widgetOptions = model.options || {};\r\n if (parent) {\r\n parent._createComponent(widgetElement, widgetName, widgetOptions)\r\n } else {\r\n widgetElement[widgetName](widgetOptions)\r\n }\r\n return widgetElement\r\n});\r\nexport class TemplateManager {\r\n constructor(createElement, anonymousTemplateName) {\r\n this._tempTemplates = [];\r\n this._defaultTemplates = {};\r\n this._anonymousTemplateName = anonymousTemplateName || ANONYMOUS_TEMPLATE_NAME;\r\n this._createElement = createElement || defaultCreateElement;\r\n this._createTemplateIfNeeded = this._createTemplateIfNeeded.bind(this)\r\n }\r\n static createDefaultOptions() {\r\n return {\r\n integrationOptions: {\r\n watchMethod: function(fn, callback) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n if (!options.skipImmediate) {\r\n callback(fn())\r\n }\r\n return noop\r\n },\r\n templates: {\r\n \"dx-polymorph-widget\": DX_POLYMORPH_WIDGET_TEMPLATE\r\n },\r\n useDeferUpdateForTemplates: true\r\n }\r\n }\r\n }\r\n get anonymousTemplateName() {\r\n return this._anonymousTemplateName\r\n }\r\n addDefaultTemplates(templates) {\r\n this._defaultTemplates = extend({}, this._defaultTemplates, templates)\r\n }\r\n dispose() {\r\n this._tempTemplates.forEach(tempTemplate => {\r\n tempTemplate.template.dispose && tempTemplate.template.dispose()\r\n });\r\n this._tempTemplates = []\r\n }\r\n extractTemplates($el) {\r\n var templates = this._extractTemplates($el);\r\n var anonymousTemplateMeta = this._extractAnonymousTemplate($el);\r\n return {\r\n templates: templates,\r\n anonymousTemplateMeta: anonymousTemplateMeta\r\n }\r\n }\r\n _extractTemplates($el) {\r\n var templates = findTemplates($el, TEMPLATE_OPTIONS_NAME);\r\n var suitableTemplates = suitableTemplatesByName(templates);\r\n templates.forEach(_ref2 => {\r\n var {\r\n element: element,\r\n options: {\r\n name: name\r\n }\r\n } = _ref2;\r\n if (element === suitableTemplates[name]) {\r\n $(element).addClass(TEMPLATE_WRAPPER_CLASS).detach()\r\n } else {\r\n $(element).remove()\r\n }\r\n });\r\n return Object.keys(suitableTemplates).map(name => ({\r\n name: name,\r\n template: this._createTemplate(suitableTemplates[name])\r\n }))\r\n }\r\n _extractAnonymousTemplate($el) {\r\n var $anonymousTemplate = $el.contents().detach();\r\n var $notJunkTemplateContent = $anonymousTemplate.filter((_, element) => {\r\n var isTextNode = element.nodeType === TEXT_NODE;\r\n var isEmptyText = $(element).text().trim().length < 1;\r\n return !(isTextNode && isEmptyText)\r\n });\r\n return $notJunkTemplateContent.length > 0 ? {\r\n template: this._createTemplate($anonymousTemplate),\r\n name: this._anonymousTemplateName\r\n } : {}\r\n }\r\n _createTemplateIfNeeded(templateSource) {\r\n var cachedTemplate = this._tempTemplates.filter(tempTemplate => tempTemplate.source === templateKey(templateSource))[0];\r\n if (cachedTemplate) {\r\n return cachedTemplate.template\r\n }\r\n var template = this._createTemplate(templateSource);\r\n this._tempTemplates.push({\r\n template: template,\r\n source: templateKey(templateSource)\r\n });\r\n return template\r\n }\r\n _createTemplate(templateSource) {\r\n return this._createElement(validateTemplateSource(templateSource))\r\n }\r\n getTemplate(templateSource, templates, _ref3, context) {\r\n var {\r\n isAsyncTemplate: isAsyncTemplate,\r\n skipTemplates: skipTemplates\r\n } = _ref3;\r\n if (!isFunction(templateSource)) {\r\n return acquireTemplate(templateSource, this._createTemplateIfNeeded, templates, isAsyncTemplate, skipTemplates, this._defaultTemplates)\r\n }\r\n return new FunctionTemplate(options => {\r\n var templateSourceResult = templateSource.apply(context, getNormalizedTemplateArgs(options));\r\n if (!isDefined(templateSourceResult)) {\r\n return new EmptyTemplate\r\n }\r\n var dispose = false;\r\n var template = acquireTemplate(templateSourceResult, templateSource => {\r\n if (templateSource.nodeType || isRenderer(templateSource) && !$(templateSource).is(\"script\")) {\r\n return new FunctionTemplate(() => templateSource)\r\n }\r\n dispose = true;\r\n return this._createTemplate(templateSource)\r\n }, templates, isAsyncTemplate, skipTemplates, this._defaultTemplates);\r\n var result = template.render(options);\r\n dispose && template.dispose && template.dispose();\r\n return result\r\n })\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/dom_component.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport config from \"./config\";\r\nimport errors from \"./errors\";\r\nimport windowResizeCallbacks from \"../core/utils/resize_callbacks\";\r\nimport {\r\n Component\r\n} from \"./component\";\r\nimport {\r\n TemplateManager\r\n} from \"./template_manager\";\r\nimport {\r\n attachInstanceToElement,\r\n getInstanceByElement\r\n} from \"./utils/public_component\";\r\nimport {\r\n addShadowDomStyles\r\n} from \"./utils/shadow_dom\";\r\nimport {\r\n cleanDataRecursive\r\n} from \"./element_data\";\r\nimport {\r\n each\r\n} from \"./utils/iterator\";\r\nimport {\r\n extend\r\n} from \"./utils/extend\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport {\r\n grep,\r\n noop\r\n} from \"./utils/common\";\r\nimport {\r\n isString,\r\n isDefined,\r\n isFunction\r\n} from \"./utils/type\";\r\nimport {\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n resize as resizeEvent,\r\n visibility as visibilityEvents\r\n} from \"../events/short\";\r\nvar {\r\n abstract: abstract\r\n} = Component;\r\nvar DOMComponent = Component.inherit({\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n width: void 0,\r\n height: void 0,\r\n rtlEnabled: config().rtlEnabled,\r\n elementAttr: {},\r\n disabled: false,\r\n integrationOptions: {}\r\n }, this._useTemplates() ? TemplateManager.createDefaultOptions() : {})\r\n },\r\n ctor(element, options) {\r\n this._customClass = null;\r\n this._createElement(element);\r\n attachInstanceToElement(this._$element, this, this._dispose);\r\n this.callBase(options)\r\n },\r\n _createElement(element) {\r\n this._$element = $(element)\r\n },\r\n _getSynchronizableOptionsForCreateComponent: () => [\"rtlEnabled\", \"disabled\", \"templatesRenderAsynchronously\"],\r\n _checkFunctionValueDeprecation: function(optionNames) {\r\n if (!this.option(\"_ignoreFunctionValueDeprecation\")) {\r\n optionNames.forEach(optionName => {\r\n if (isFunction(this.option(optionName))) {\r\n errors.log(\"W0017\", optionName)\r\n }\r\n })\r\n }\r\n },\r\n _visibilityChanged: abstract,\r\n _dimensionChanged: abstract,\r\n _init() {\r\n this.callBase();\r\n this._checkFunctionValueDeprecation([\"width\", \"height\", \"maxHeight\", \"maxWidth\", \"minHeight\", \"minWidth\", \"popupHeight\", \"popupWidth\"]);\r\n this._attachWindowResizeCallback();\r\n this._initTemplateManager()\r\n },\r\n _setOptionsByDevice(instanceCustomRules) {\r\n this.callBase([].concat(this.constructor._classCustomRules || [], instanceCustomRules || []))\r\n },\r\n _isInitialOptionValue(name) {\r\n var isCustomOption = this.constructor._classCustomRules && Object.prototype.hasOwnProperty.call(this._convertRulesToOptions(this.constructor._classCustomRules), name);\r\n return !isCustomOption && this.callBase(name)\r\n },\r\n _attachWindowResizeCallback() {\r\n if (this._isDimensionChangeSupported()) {\r\n var windowResizeCallBack = this._windowResizeCallBack = this._dimensionChanged.bind(this);\r\n windowResizeCallbacks.add(windowResizeCallBack)\r\n }\r\n },\r\n _isDimensionChangeSupported() {\r\n return this._dimensionChanged !== abstract\r\n },\r\n _renderComponent() {\r\n this._initMarkup();\r\n hasWindow() && this._render()\r\n },\r\n _initMarkup() {\r\n var {\r\n rtlEnabled: rtlEnabled\r\n } = this.option() || {};\r\n this._renderElementAttributes();\r\n this._toggleRTLDirection(rtlEnabled);\r\n this._renderVisibilityChange();\r\n this._renderDimensions()\r\n },\r\n _render() {\r\n this._attachVisibilityChangeHandlers();\r\n addShadowDomStyles(this.$element())\r\n },\r\n _renderElementAttributes() {\r\n var {\r\n elementAttr: elementAttr\r\n } = this.option() || {};\r\n var attributes = extend({}, elementAttr);\r\n var classNames = attributes.class;\r\n delete attributes.class;\r\n this.$element().attr(attributes).removeClass(this._customClass).addClass(classNames);\r\n this._customClass = classNames\r\n },\r\n _renderVisibilityChange() {\r\n if (this._isDimensionChangeSupported()) {\r\n this._attachDimensionChangeHandlers()\r\n }\r\n if (this._isVisibilityChangeSupported()) {\r\n var $element = this.$element();\r\n $element.addClass(\"dx-visibility-change-handler\")\r\n }\r\n },\r\n _renderDimensions() {\r\n var $element = this.$element();\r\n var element = $element.get(0);\r\n var width = this._getOptionValue(\"width\", element);\r\n var height = this._getOptionValue(\"height\", element);\r\n if (this._isCssUpdateRequired(element, height, width)) {\r\n $element.css({\r\n width: null === width ? \"\" : width,\r\n height: null === height ? \"\" : height\r\n })\r\n }\r\n },\r\n _isCssUpdateRequired: (element, height, width) => !!(isDefined(width) || isDefined(height) || element.style.width || element.style.height),\r\n _attachDimensionChangeHandlers() {\r\n var $el = this.$element();\r\n var namespace = \"\".concat(this.NAME, \"VisibilityChange\");\r\n resizeEvent.off($el, {\r\n namespace: namespace\r\n });\r\n resizeEvent.on($el, () => this._dimensionChanged(), {\r\n namespace: namespace\r\n })\r\n },\r\n _attachVisibilityChangeHandlers() {\r\n if (this._isVisibilityChangeSupported()) {\r\n var $el = this.$element();\r\n var namespace = \"\".concat(this.NAME, \"VisibilityChange\");\r\n this._isHidden = !this._isVisible();\r\n visibilityEvents.off($el, {\r\n namespace: namespace\r\n });\r\n visibilityEvents.on($el, () => this._checkVisibilityChanged(\"shown\"), () => this._checkVisibilityChanged(\"hiding\"), {\r\n namespace: namespace\r\n })\r\n }\r\n },\r\n _isVisible() {\r\n var $element = this.$element();\r\n return $element.is(\":visible\")\r\n },\r\n _checkVisibilityChanged(action) {\r\n var isVisible = this._isVisible();\r\n if (isVisible) {\r\n if (\"hiding\" === action && !this._isHidden) {\r\n this._visibilityChanged(false);\r\n this._isHidden = true\r\n } else if (\"shown\" === action && this._isHidden) {\r\n this._isHidden = false;\r\n this._visibilityChanged(true)\r\n }\r\n }\r\n },\r\n _isVisibilityChangeSupported() {\r\n return this._visibilityChanged !== abstract && hasWindow()\r\n },\r\n _clean: noop,\r\n _modelByElement() {\r\n var {\r\n modelByElement: modelByElement\r\n } = this.option();\r\n var $element = this.$element();\r\n return modelByElement ? modelByElement($element) : void 0\r\n },\r\n _invalidate() {\r\n if (this._isUpdateAllowed()) {\r\n throw errors.Error(\"E0007\")\r\n }\r\n this._requireRefresh = true\r\n },\r\n _refresh() {\r\n this._clean();\r\n this._renderComponent()\r\n },\r\n _dispose() {\r\n this._templateManager && this._templateManager.dispose();\r\n this.callBase();\r\n this._clean();\r\n this._detachWindowResizeCallback()\r\n },\r\n _detachWindowResizeCallback() {\r\n if (this._isDimensionChangeSupported()) {\r\n windowResizeCallbacks.remove(this._windowResizeCallBack)\r\n }\r\n },\r\n _toggleRTLDirection(rtl) {\r\n var $element = this.$element();\r\n $element.toggleClass(\"dx-rtl\", rtl)\r\n },\r\n _createComponent(element, component) {\r\n var config = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var synchronizableOptions = grep(this._getSynchronizableOptionsForCreateComponent(), value => !(value in config));\r\n var {\r\n integrationOptions: integrationOptions\r\n } = this.option();\r\n var {\r\n nestedComponentOptions: nestedComponentOptions\r\n } = this.option();\r\n nestedComponentOptions = nestedComponentOptions || noop;\r\n var nestedComponentConfig = extend({\r\n integrationOptions: integrationOptions\r\n }, nestedComponentOptions(this));\r\n synchronizableOptions.forEach(optionName => nestedComponentConfig[optionName] = this.option(optionName));\r\n this._extendConfig(config, nestedComponentConfig);\r\n var instance = void 0;\r\n if (isString(component)) {\r\n var $element = $(element)[component](config);\r\n instance = $element[component](\"instance\")\r\n } else if (element) {\r\n instance = component.getInstance(element);\r\n if (instance) {\r\n instance.option(config)\r\n } else {\r\n instance = new component(element, config)\r\n }\r\n }\r\n if (instance) {\r\n var optionChangedHandler = _ref => {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref;\r\n if (synchronizableOptions.includes(name)) {\r\n instance.option(name, value)\r\n }\r\n };\r\n this.on(\"optionChanged\", optionChangedHandler);\r\n instance.on(\"disposing\", () => this.off(\"optionChanged\", optionChangedHandler))\r\n }\r\n return instance\r\n },\r\n _extendConfig(config, extendConfig) {\r\n each(extendConfig, (key, value) => {\r\n !Object.prototype.hasOwnProperty.call(config, key) && (config[key] = value)\r\n })\r\n },\r\n _defaultActionConfig() {\r\n var $element = this.$element();\r\n var context = this._modelByElement($element);\r\n return extend(this.callBase(), {\r\n context: context\r\n })\r\n },\r\n _defaultActionArgs() {\r\n var $element = this.$element();\r\n var model = this._modelByElement($element);\r\n var element = this.element();\r\n return extend(this.callBase(), {\r\n element: element,\r\n model: model\r\n })\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"width\":\r\n case \"height\":\r\n this._renderDimensions();\r\n break;\r\n case \"rtlEnabled\":\r\n this._invalidate();\r\n break;\r\n case \"elementAttr\":\r\n this._renderElementAttributes();\r\n break;\r\n case \"disabled\":\r\n case \"integrationOptions\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _removeAttributes(element) {\r\n var attrs = element.attributes;\r\n for (var i = attrs.length - 1; i >= 0; i--) {\r\n var attr = attrs[i];\r\n if (attr) {\r\n var {\r\n name: name\r\n } = attr;\r\n if (!name.indexOf(\"aria-\") || -1 !== name.indexOf(\"dx-\") || \"role\" === name || \"style\" === name || \"tabindex\" === name) {\r\n element.removeAttribute(name)\r\n }\r\n }\r\n }\r\n },\r\n _removeClasses(element) {\r\n element.className = element.className.split(\" \").filter(cssClass => 0 !== cssClass.lastIndexOf(\"dx-\", 0)).join(\" \")\r\n },\r\n _updateDOMComponent(renderRequired) {\r\n if (renderRequired) {\r\n this._renderComponent()\r\n } else if (this._requireRefresh) {\r\n this._requireRefresh = false;\r\n this._refresh()\r\n }\r\n },\r\n endUpdate() {\r\n var renderRequired = this._isInitializingRequired();\r\n this.callBase();\r\n this._isUpdateAllowed() && this._updateDOMComponent(renderRequired)\r\n },\r\n $element() {\r\n return this._$element\r\n },\r\n element() {\r\n var $element = this.$element();\r\n return getPublicElement($element)\r\n },\r\n dispose() {\r\n var element = this.$element().get(0);\r\n cleanDataRecursive(element, true);\r\n element.textContent = \"\";\r\n this._removeAttributes(element);\r\n this._removeClasses(element)\r\n },\r\n resetOption(optionName) {\r\n this.callBase(optionName);\r\n if (\"width\" === optionName || \"height\" === optionName) {\r\n var initialOption = this.initialOption(optionName);\r\n !isDefined(initialOption) && this.$element().css(optionName, \"\")\r\n }\r\n },\r\n _getAnonymousTemplateName() {\r\n return\r\n },\r\n _initTemplateManager() {\r\n if (this._templateManager || !this._useTemplates()) {\r\n return\r\n }\r\n var {\r\n integrationOptions: integrationOptions = {}\r\n } = this.option();\r\n var {\r\n createTemplate: createTemplate\r\n } = integrationOptions;\r\n this._templateManager = new TemplateManager(createTemplate, this._getAnonymousTemplateName());\r\n this._initTemplates()\r\n },\r\n _initTemplates() {\r\n var {\r\n templates: templates,\r\n anonymousTemplateMeta: anonymousTemplateMeta\r\n } = this._templateManager.extractTemplates(this.$element());\r\n var anonymousTemplate = this.option(\"integrationOptions.templates.\".concat(anonymousTemplateMeta.name));\r\n templates.forEach(_ref2 => {\r\n var {\r\n name: name,\r\n template: template\r\n } = _ref2;\r\n this._options.silent(\"integrationOptions.templates.\".concat(name), template)\r\n });\r\n if (anonymousTemplateMeta.name && !anonymousTemplate) {\r\n this._options.silent(\"integrationOptions.templates.\".concat(anonymousTemplateMeta.name), anonymousTemplateMeta.template);\r\n this._options.silent(\"_hasAnonymousTemplateContent\", true)\r\n }\r\n },\r\n _getTemplateByOption(optionName) {\r\n return this._getTemplate(this.option(optionName))\r\n },\r\n _getTemplate(templateSource) {\r\n var templates = this.option(\"integrationOptions.templates\");\r\n var isAsyncTemplate = this.option(\"templatesRenderAsynchronously\");\r\n var skipTemplates = this.option(\"integrationOptions.skipTemplates\");\r\n return this._templateManager.getTemplate(templateSource, templates, {\r\n isAsyncTemplate: isAsyncTemplate,\r\n skipTemplates: skipTemplates\r\n }, this)\r\n },\r\n _saveTemplate(name, template) {\r\n this._setOptionWithoutOptionChange(\"integrationOptions.templates.\" + name, this._templateManager._createTemplate(template))\r\n },\r\n _useTemplates: () => true\r\n});\r\nDOMComponent.getInstance = function(element) {\r\n return getInstanceByElement($(element), this)\r\n};\r\nDOMComponent.defaultOptions = function(rule) {\r\n this._classCustomRules = this._classCustomRules || [];\r\n this._classCustomRules.push(rule)\r\n};\r\nexport default DOMComponent;\r\n","/**\r\n * DevExtreme (esm/core/element.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar strategy = function(element) {\r\n return element && element.get(0)\r\n};\r\nexport function getPublicElement(element) {\r\n return strategy(element)\r\n}\r\nexport function setPublicElementWrapper(newStrategy) {\r\n strategy = newStrategy\r\n}\r\n","/**\r\n * DevExtreme (esm/core/element_data.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"./dom_adapter\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport MemorizedCallbacks from \"./memorized_callbacks\";\r\nvar dataMap = new WeakMap;\r\nvar strategy;\r\nexport var strategyChanging = new MemorizedCallbacks;\r\nvar beforeCleanDataFunc = function() {};\r\nvar afterCleanDataFunc = function() {};\r\nexport var setDataStrategy = function(value) {\r\n strategyChanging.fire(value);\r\n strategy = value;\r\n var cleanData = strategy.cleanData;\r\n strategy.cleanData = function(nodes) {\r\n beforeCleanDataFunc(nodes);\r\n var result = cleanData.call(this, nodes);\r\n afterCleanDataFunc(nodes);\r\n return result\r\n }\r\n};\r\nsetDataStrategy({\r\n data: function() {\r\n var element = arguments[0];\r\n var key = arguments[1];\r\n var value = arguments[2];\r\n if (!element) {\r\n return\r\n }\r\n var elementData = dataMap.get(element);\r\n if (!elementData) {\r\n elementData = {};\r\n dataMap.set(element, elementData)\r\n }\r\n if (void 0 === key) {\r\n return elementData\r\n }\r\n if (2 === arguments.length) {\r\n return elementData[key]\r\n }\r\n elementData[key] = value;\r\n return value\r\n },\r\n removeData: function(element, key) {\r\n if (!element) {\r\n return\r\n }\r\n if (void 0 === key) {\r\n dataMap.delete(element)\r\n } else {\r\n var elementData = dataMap.get(element);\r\n if (elementData) {\r\n delete elementData[key]\r\n }\r\n }\r\n },\r\n cleanData: function(elements) {\r\n for (var i = 0; i < elements.length; i++) {\r\n eventsEngine.off(elements[i]);\r\n dataMap.delete(elements[i])\r\n }\r\n }\r\n});\r\nexport function getDataStrategy() {\r\n return strategy\r\n}\r\nexport function data() {\r\n return strategy.data.apply(this, arguments)\r\n}\r\nexport function beforeCleanData(callback) {\r\n beforeCleanDataFunc = callback\r\n}\r\nexport function afterCleanData(callback) {\r\n afterCleanDataFunc = callback\r\n}\r\nexport function cleanData(nodes) {\r\n return strategy.cleanData.call(this, nodes)\r\n}\r\nexport function removeData(element, key) {\r\n return strategy.removeData.call(this, element, key)\r\n}\r\nexport function cleanDataRecursive(element, cleanSelf) {\r\n if (!domAdapter.isElementNode(element)) {\r\n return\r\n }\r\n var childElements = element.getElementsByTagName(\"*\");\r\n strategy.cleanData(childElements);\r\n if (cleanSelf) {\r\n strategy.cleanData([element])\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/errors.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errorUtils from \"./utils/error\";\r\nexport default errorUtils({\r\n E0001: \"Method is not implemented\",\r\n E0002: \"Member name collision: {0}\",\r\n E0003: \"A class must be instantiated using the 'new' keyword\",\r\n E0004: \"The NAME property of the component is not specified\",\r\n E0005: \"Unknown device\",\r\n E0006: \"Unknown endpoint key is requested\",\r\n E0007: \"'Invalidate' method is called outside the update transaction\",\r\n E0008: \"Type of the option name is not appropriate to create an action\",\r\n E0009: \"Component '{0}' has not been initialized for an element\",\r\n E0010: \"Animation configuration with the '{0}' type requires '{1}' configuration as {2}\",\r\n E0011: \"Unknown animation type '{0}'\",\r\n E0012: \"jQuery version is too old. Please upgrade jQuery to 1.10.0 or later\",\r\n E0013: \"KnockoutJS version is too old. Please upgrade KnockoutJS to 2.3.0 or later\",\r\n E0014: \"The 'release' method shouldn't be called for an unlocked Lock object\",\r\n E0015: \"Queued task returned an unexpected result\",\r\n E0017: \"Event namespace is not defined\",\r\n E0018: \"DevExpress.ui.DevExpressPopup widget is required\",\r\n E0020: \"Template engine '{0}' is not supported\",\r\n E0021: \"Unknown theme is set: {0}\",\r\n E0022: \"LINK[rel=DevExpress-theme] tags must go before DevExpress included scripts\",\r\n E0023: \"Template name is not specified\",\r\n E0024: \"DevExtreme bundle already included\",\r\n E0025: \"Unexpected argument type\",\r\n E0100: \"Unknown validation type is detected\",\r\n E0101: \"Misconfigured range validation rule is detected\",\r\n E0102: \"Misconfigured comparison validation rule is detected\",\r\n E0103: \"validationCallback of an asynchronous rule should return a jQuery or a native promise\",\r\n E0110: \"Unknown validation group is detected\",\r\n E0120: \"Adapter for a DevExpressValidator component cannot be configured\",\r\n E0121: \"The 'customItem' parameter of the 'onCustomItemCreating' function is empty or contains invalid data. Assign a custom object or a Promise that is resolved after the item is created.\",\r\n W0000: \"'{0}' is deprecated in {1}. {2}\",\r\n W0001: \"{0} - '{1}' option is deprecated in {2}. {3}\",\r\n W0002: \"{0} - '{1}' method is deprecated in {2}. {3}\",\r\n W0003: \"{0} - '{1}' property is deprecated in {2}. {3}\",\r\n W0004: \"Timeout for theme loading is over: {0}\",\r\n W0005: \"'{0}' event is deprecated in {1}. {2}\",\r\n W0006: \"Invalid recurrence rule: '{0}'\",\r\n W0007: \"'{0}' Globalize culture is not defined\",\r\n W0008: \"Invalid view name: '{0}'\",\r\n W0009: \"Invalid time zone name: '{0}'\",\r\n W0010: \"{0} is deprecated in {1}. {2}\",\r\n W0011: \"Number parsing is invoked while the parser is not defined\",\r\n W0012: \"Date parsing is invoked while the parser is not defined\",\r\n W0013: \"'{0}' file is deprecated in {1}. {2}\",\r\n W0014: \"{0} - '{1}' type is deprecated in {2}. {3}\",\r\n W0015: \"Instead of returning a value from the '{0}' function, write it into the '{1}' field of the function's parameter.\",\r\n W0016: 'The \"{0}\" option does not accept the \"{1}\" value since v{2}. {3}.',\r\n W0017: 'Setting the \"{0}\" property with a function is deprecated since v21.2',\r\n W0018: 'Setting the \"position\" property with a function is deprecated since v21.2'\r\n});\r\n","/**\r\n * DevExtreme (esm/core/events_strategy.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Callbacks from \"./utils/callbacks\";\r\nimport {\r\n each\r\n} from \"./utils/iterator\";\r\nimport {\r\n isFunction,\r\n isPlainObject\r\n} from \"./utils/type\";\r\nexport class EventsStrategy {\r\n constructor(owner) {\r\n var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n this._events = {};\r\n this._owner = owner;\r\n this._options = options\r\n }\r\n static create(owner, strategy) {\r\n if (strategy) {\r\n return isFunction(strategy) ? strategy(owner) : strategy\r\n } else {\r\n return new EventsStrategy(owner)\r\n }\r\n }\r\n hasEvent(eventName) {\r\n var callbacks = this._events[eventName];\r\n return callbacks ? callbacks.has() : false\r\n }\r\n fireEvent(eventName, eventArgs) {\r\n var callbacks = this._events[eventName];\r\n if (callbacks) {\r\n callbacks.fireWith(this._owner, eventArgs)\r\n }\r\n return this._owner\r\n }\r\n on(eventName, eventHandler) {\r\n if (isPlainObject(eventName)) {\r\n each(eventName, (e, h) => {\r\n this.on(e, h)\r\n })\r\n } else {\r\n var callbacks = this._events[eventName];\r\n if (!callbacks) {\r\n callbacks = Callbacks({\r\n syncStrategy: this._options.syncStrategy\r\n });\r\n this._events[eventName] = callbacks\r\n }\r\n var addFn = callbacks.originalAdd || callbacks.add;\r\n addFn.call(callbacks, eventHandler)\r\n }\r\n }\r\n off(eventName, eventHandler) {\r\n var callbacks = this._events[eventName];\r\n if (callbacks) {\r\n if (isFunction(eventHandler)) {\r\n callbacks.remove(eventHandler)\r\n } else {\r\n callbacks.empty()\r\n }\r\n }\r\n }\r\n dispose() {\r\n each(this._events, (eventName, event) => {\r\n event.empty()\r\n })\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/guid.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"./class\";\r\nvar Guid = Class.inherit({\r\n ctor: function(value) {\r\n if (value) {\r\n value = String(value)\r\n }\r\n this._value = this._normalize(value || this._generate())\r\n },\r\n _normalize: function(value) {\r\n value = value.replace(/[^a-f0-9]/gi, \"\").toLowerCase();\r\n while (value.length < 32) {\r\n value += \"0\"\r\n }\r\n return [value.substr(0, 8), value.substr(8, 4), value.substr(12, 4), value.substr(16, 4), value.substr(20, 12)].join(\"-\")\r\n },\r\n _generate: function() {\r\n var value = \"\";\r\n for (var i = 0; i < 32; i++) {\r\n value += Math.round(15 * Math.random()).toString(16)\r\n }\r\n return value\r\n },\r\n toString: function() {\r\n return this._value\r\n },\r\n valueOf: function() {\r\n return this._value\r\n },\r\n toJSON: function() {\r\n return this._value\r\n }\r\n});\r\nexport default Guid;\r\n","/**\r\n * DevExtreme (esm/core/memorized_callbacks.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport Callbacks from \"./utils/callbacks\";\r\nexport default class MemorizedCallbacks {\r\n constructor() {\r\n this.memory = [];\r\n this.callbacks = Callbacks()\r\n }\r\n add(fn) {\r\n each(this.memory, (_, item) => fn.apply(fn, item));\r\n this.callbacks.add(fn)\r\n }\r\n remove(fn) {\r\n this.callbacks.remove(fn)\r\n }\r\n fire() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n this.memory.push(args);\r\n this.callbacks.fire.apply(this.callbacks, args)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/options/utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../devices\";\r\nimport {\r\n isEmptyObject,\r\n isFunction\r\n} from \"../utils/type\";\r\nimport {\r\n findBestMatches\r\n} from \"../utils/common\";\r\nimport {\r\n extend\r\n} from \"../utils/extend\";\r\nimport {\r\n compileGetter\r\n} from \"../utils/data\";\r\nvar cachedGetters = {};\r\nexport var convertRulesToOptions = rules => {\r\n var currentDevice = devices.current();\r\n return rules.reduce((options, _ref) => {\r\n var {\r\n device: device,\r\n options: ruleOptions\r\n } = _ref;\r\n var deviceFilter = device || {};\r\n var match = isFunction(deviceFilter) ? deviceFilter(currentDevice) : deviceMatch(currentDevice, deviceFilter);\r\n if (match) {\r\n extend(true, options, ruleOptions)\r\n }\r\n return options\r\n }, {})\r\n};\r\nexport var normalizeOptions = (options, value) => \"string\" !== typeof options ? options : {\r\n [options]: value\r\n};\r\nexport var deviceMatch = (device, filter) => isEmptyObject(filter) || findBestMatches(device, [filter]).length > 0;\r\nexport var getFieldName = fullName => fullName.substr(fullName.lastIndexOf(\".\") + 1);\r\nexport var getParentName = fullName => fullName.substr(0, fullName.lastIndexOf(\".\"));\r\nexport var getNestedOptionValue = function(optionsObject, name) {\r\n cachedGetters[name] = cachedGetters[name] || compileGetter(name);\r\n return cachedGetters[name](optionsObject, {\r\n functionsAsIs: true\r\n })\r\n};\r\nexport var createDefaultOptionRules = function() {\r\n var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\r\n return options\r\n};\r\n","/**\r\n * DevExtreme (esm/core/renderer_base.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n cleanDataRecursive,\r\n removeData,\r\n data as elementData\r\n} from \"./element_data\";\r\nimport domAdapter from \"./dom_adapter\";\r\nimport {\r\n getWindow\r\n} from \"./utils/window\";\r\nimport {\r\n isObject,\r\n isWindow,\r\n isPlainObject,\r\n isString,\r\n isNumeric,\r\n isDefined,\r\n isFunction,\r\n type\r\n} from \"./utils/type\";\r\nimport {\r\n styleProp,\r\n normalizeStyleProp\r\n} from \"./utils/style\";\r\nimport {\r\n getOffset,\r\n getWindowByElement\r\n} from \"./utils/size\";\r\nimport {\r\n parseHTML,\r\n isTablePart\r\n} from \"./utils/html_parser\";\r\nvar window = getWindow();\r\nvar renderer;\r\nvar initRender = function(selector, context) {\r\n if (!selector) {\r\n this.length = 0;\r\n return this\r\n }\r\n if (\"string\" === typeof selector) {\r\n if (\"body\" === selector) {\r\n this[0] = context ? context.body : domAdapter.getBody();\r\n this.length = 1;\r\n return this\r\n }\r\n context = context || domAdapter.getDocument();\r\n if (\"<\" === selector[0]) {\r\n this[0] = domAdapter.createElement(selector.slice(1, -1), context);\r\n this.length = 1;\r\n return this\r\n } [].push.apply(this, domAdapter.querySelectorAll(context, selector));\r\n return this\r\n } else if (domAdapter.isNode(selector) || isWindow(selector)) {\r\n this[0] = selector;\r\n this.length = 1;\r\n return this\r\n } else if (Array.isArray(selector)) {\r\n [].push.apply(this, selector);\r\n return this\r\n }\r\n return renderer(selector.toArray ? selector.toArray() : [selector])\r\n};\r\nrenderer = function(selector, context) {\r\n return new initRender(selector, context)\r\n};\r\nrenderer.fn = {\r\n dxRenderer: true\r\n};\r\ninitRender.prototype = renderer.fn;\r\nvar repeatMethod = function(methodName, args) {\r\n for (var i = 0; i < this.length; i++) {\r\n var item = renderer(this[i]);\r\n item[methodName].apply(item, args)\r\n }\r\n return this\r\n};\r\nvar setAttributeValue = function(element, attrName, value) {\r\n if (void 0 !== value && null !== value && false !== value) {\r\n domAdapter.setAttribute(element, attrName, value)\r\n } else {\r\n domAdapter.removeAttribute(element, attrName)\r\n }\r\n};\r\ninitRender.prototype.show = function() {\r\n return this.toggle(true)\r\n};\r\ninitRender.prototype.hide = function() {\r\n return this.toggle(false)\r\n};\r\ninitRender.prototype.toggle = function(value) {\r\n if (this[0]) {\r\n this.toggleClass(\"dx-state-invisible\", !value)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.attr = function(attrName, value) {\r\n if (this.length > 1 && arguments.length > 1) {\r\n return repeatMethod.call(this, \"attr\", arguments)\r\n }\r\n if (!this[0]) {\r\n if (isObject(attrName) || void 0 !== value) {\r\n return this\r\n } else {\r\n return\r\n }\r\n }\r\n if (!this[0].getAttribute) {\r\n return this.prop(attrName, value)\r\n }\r\n if (\"string\" === typeof attrName && 1 === arguments.length) {\r\n var result = this[0].getAttribute(attrName);\r\n return null == result ? void 0 : result\r\n } else if (isPlainObject(attrName)) {\r\n for (var key in attrName) {\r\n this.attr(key, attrName[key])\r\n }\r\n } else {\r\n setAttributeValue(this[0], attrName, value)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.removeAttr = function(attrName) {\r\n this[0] && domAdapter.removeAttribute(this[0], attrName);\r\n return this\r\n};\r\ninitRender.prototype.prop = function(propName, value) {\r\n if (!this[0]) {\r\n return this\r\n }\r\n if (\"string\" === typeof propName && 1 === arguments.length) {\r\n return this[0][propName]\r\n } else if (isPlainObject(propName)) {\r\n for (var key in propName) {\r\n this.prop(key, propName[key])\r\n }\r\n } else {\r\n domAdapter.setProperty(this[0], propName, value)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.addClass = function(className) {\r\n return this.toggleClass(className, true)\r\n};\r\ninitRender.prototype.removeClass = function(className) {\r\n return this.toggleClass(className, false)\r\n};\r\ninitRender.prototype.hasClass = function(className) {\r\n if (!this[0] || void 0 === this[0].className) {\r\n return false\r\n }\r\n var classNames = className.split(\" \");\r\n for (var i = 0; i < classNames.length; i++) {\r\n if (this[0].classList) {\r\n if (this[0].classList.contains(classNames[i])) {\r\n return true\r\n }\r\n } else {\r\n var _className = isString(this[0].className) ? this[0].className : domAdapter.getAttribute(this[0], \"class\");\r\n if ((_className || \"\").split(\" \").indexOf(classNames[i]) >= 0) {\r\n return true\r\n }\r\n }\r\n }\r\n return false\r\n};\r\ninitRender.prototype.toggleClass = function(className, value) {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"toggleClass\", arguments)\r\n }\r\n if (!this[0] || !className) {\r\n return this\r\n }\r\n value = void 0 === value ? !this.hasClass(className) : value;\r\n var classNames = className.split(\" \");\r\n for (var i = 0; i < classNames.length; i++) {\r\n domAdapter.setClass(this[0], classNames[i], value)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.html = function(value) {\r\n if (!arguments.length) {\r\n return this[0].innerHTML\r\n }\r\n this.empty();\r\n if (\"string\" === typeof value && !isTablePart(value) || \"number\" === typeof value) {\r\n this[0].innerHTML = value;\r\n return this\r\n }\r\n return this.append(parseHTML(value))\r\n};\r\nvar appendElements = function(element, nextSibling) {\r\n if (!this[0] || !element) {\r\n return\r\n }\r\n if (\"string\" === typeof element) {\r\n element = parseHTML(element)\r\n } else if (element.nodeType) {\r\n element = [element]\r\n } else if (isNumeric(element)) {\r\n element = [domAdapter.createTextNode(element)]\r\n }\r\n for (var i = 0; i < element.length; i++) {\r\n var item = element[i];\r\n var container = this[0];\r\n var wrapTR = \"TABLE\" === container.tagName && \"TR\" === item.tagName;\r\n if (wrapTR && container.tBodies && container.tBodies.length) {\r\n container = container.tBodies[0]\r\n }\r\n domAdapter.insertElement(container, item.nodeType ? item : item[0], nextSibling)\r\n }\r\n};\r\nvar setCss = function(name, value) {\r\n if (!this[0] || !this[0].style) {\r\n return\r\n }\r\n if (null === value || \"number\" === typeof value && isNaN(value)) {\r\n return\r\n }\r\n name = styleProp(name);\r\n for (var i = 0; i < this.length; i++) {\r\n this[i].style[name] = normalizeStyleProp(name, value)\r\n }\r\n};\r\ninitRender.prototype.css = function(name, value) {\r\n if (isString(name)) {\r\n if (2 === arguments.length) {\r\n setCss.call(this, name, value)\r\n } else {\r\n if (!this[0]) {\r\n return\r\n }\r\n name = styleProp(name);\r\n var result = window.getComputedStyle(this[0])[name] || this[0].style[name];\r\n return isNumeric(result) ? result.toString() : result\r\n }\r\n } else if (isPlainObject(name)) {\r\n for (var key in name) {\r\n setCss.call(this, key, name[key])\r\n }\r\n }\r\n return this\r\n};\r\ninitRender.prototype.prepend = function(element) {\r\n if (arguments.length > 1) {\r\n for (var i = 0; i < arguments.length; i++) {\r\n this.prepend(arguments[i])\r\n }\r\n return this\r\n }\r\n appendElements.apply(this, [element, this[0].firstChild]);\r\n return this\r\n};\r\ninitRender.prototype.append = function(element) {\r\n if (arguments.length > 1) {\r\n for (var i = 0; i < arguments.length; i++) {\r\n this.append(arguments[i])\r\n }\r\n return this\r\n }\r\n appendElements.apply(this, [element]);\r\n return this\r\n};\r\ninitRender.prototype.prependTo = function(element) {\r\n if (this.length > 1) {\r\n for (var i = this.length - 1; i >= 0; i--) {\r\n renderer(this[i]).prependTo(element)\r\n }\r\n return this\r\n }\r\n element = renderer(element);\r\n if (element[0]) {\r\n domAdapter.insertElement(element[0], this[0], element[0].firstChild)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.appendTo = function(element) {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"appendTo\", arguments)\r\n }\r\n domAdapter.insertElement(renderer(element)[0], this[0]);\r\n return this\r\n};\r\ninitRender.prototype.insertBefore = function(element) {\r\n if (element && element[0]) {\r\n domAdapter.insertElement(element[0].parentNode, this[0], element[0])\r\n }\r\n return this\r\n};\r\ninitRender.prototype.insertAfter = function(element) {\r\n if (element && element[0]) {\r\n domAdapter.insertElement(element[0].parentNode, this[0], element[0].nextSibling)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.before = function(element) {\r\n if (this[0]) {\r\n domAdapter.insertElement(this[0].parentNode, element[0], this[0])\r\n }\r\n return this\r\n};\r\ninitRender.prototype.after = function(element) {\r\n if (this[0]) {\r\n domAdapter.insertElement(this[0].parentNode, element[0], this[0].nextSibling)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.wrap = function(wrapper) {\r\n if (this[0]) {\r\n var wrap = renderer(wrapper);\r\n wrap.insertBefore(this);\r\n wrap.append(this)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.wrapInner = function(wrapper) {\r\n var contents = this.contents();\r\n if (contents.length) {\r\n contents.wrap(wrapper)\r\n } else {\r\n this.append(wrapper)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.replaceWith = function(element) {\r\n if (!(element && element[0])) {\r\n return\r\n }\r\n if (element.is(this)) {\r\n return this\r\n }\r\n element.insertBefore(this);\r\n this.remove();\r\n return element\r\n};\r\ninitRender.prototype.remove = function() {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"remove\", arguments)\r\n }\r\n cleanDataRecursive(this[0], true);\r\n domAdapter.removeElement(this[0]);\r\n return this\r\n};\r\ninitRender.prototype.detach = function() {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"detach\", arguments)\r\n }\r\n domAdapter.removeElement(this[0]);\r\n return this\r\n};\r\ninitRender.prototype.empty = function() {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"empty\", arguments)\r\n }\r\n cleanDataRecursive(this[0]);\r\n domAdapter.setText(this[0], \"\");\r\n return this\r\n};\r\ninitRender.prototype.clone = function() {\r\n var result = [];\r\n for (var i = 0; i < this.length; i++) {\r\n result.push(this[i].cloneNode(true))\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.text = function(value) {\r\n if (!arguments.length) {\r\n var result = \"\";\r\n for (var i = 0; i < this.length; i++) {\r\n result += this[i] && this[i].textContent || \"\"\r\n }\r\n return result\r\n }\r\n var text = isFunction(value) ? value() : value;\r\n cleanDataRecursive(this[0], false);\r\n domAdapter.setText(this[0], isDefined(text) ? text : \"\");\r\n return this\r\n};\r\ninitRender.prototype.val = function(value) {\r\n if (1 === arguments.length) {\r\n return this.prop(\"value\", isDefined(value) ? value : \"\")\r\n }\r\n return this.prop(\"value\")\r\n};\r\ninitRender.prototype.contents = function() {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var result = [];\r\n result.push.apply(result, this[0].childNodes);\r\n return renderer(result)\r\n};\r\ninitRender.prototype.find = function(selector) {\r\n var result = renderer();\r\n if (!selector) {\r\n return result\r\n }\r\n var nodes = [];\r\n var i;\r\n if (\"string\" === typeof selector) {\r\n selector = selector.trim();\r\n for (i = 0; i < this.length; i++) {\r\n var element = this[i];\r\n if (domAdapter.isElementNode(element)) {\r\n var elementId = element.getAttribute(\"id\");\r\n var queryId = elementId || \"dx-query-children\";\r\n if (!elementId) {\r\n setAttributeValue(element, \"id\", queryId)\r\n }\r\n queryId = \"[id='\" + queryId + \"'] \";\r\n var querySelector = queryId + selector.replace(/([^\\\\])(,)/g, \"$1, \" + queryId);\r\n nodes.push.apply(nodes, domAdapter.querySelectorAll(element, querySelector));\r\n setAttributeValue(element, \"id\", elementId)\r\n } else if (domAdapter.isDocument(element) || domAdapter.isDocumentFragment(element)) {\r\n nodes.push.apply(nodes, domAdapter.querySelectorAll(element, selector))\r\n }\r\n }\r\n } else {\r\n for (i = 0; i < this.length; i++) {\r\n selector = domAdapter.isNode(selector) ? selector : selector[0];\r\n if (this[i] !== selector && this[i].contains(selector)) {\r\n nodes.push(selector)\r\n }\r\n }\r\n }\r\n return result.add(nodes)\r\n};\r\nvar isVisible = function(_, element) {\r\n var _element$host;\r\n element = null !== (_element$host = element.host) && void 0 !== _element$host ? _element$host : element;\r\n if (!element.nodeType) {\r\n return true\r\n }\r\n return !!(element.offsetWidth || element.offsetHeight || element.getClientRects().length)\r\n};\r\ninitRender.prototype.filter = function(selector) {\r\n if (!selector) {\r\n return renderer()\r\n }\r\n if (\":visible\" === selector) {\r\n return this.filter(isVisible)\r\n } else if (\":hidden\" === selector) {\r\n return this.filter((function(_, element) {\r\n return !isVisible(_, element)\r\n }))\r\n }\r\n var result = [];\r\n for (var i = 0; i < this.length; i++) {\r\n var item = this[i];\r\n if (domAdapter.isElementNode(item) && \"string\" === type(selector)) {\r\n domAdapter.elementMatches(item, selector) && result.push(item)\r\n } else if (domAdapter.isNode(selector) || isWindow(selector)) {\r\n selector === item && result.push(item)\r\n } else if (isFunction(selector)) {\r\n selector.call(item, i, item) && result.push(item)\r\n } else {\r\n for (var j = 0; j < selector.length; j++) {\r\n selector[j] === item && result.push(item)\r\n }\r\n }\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.not = function(selector) {\r\n var result = [];\r\n var nodes = this.filter(selector).toArray();\r\n for (var i = 0; i < this.length; i++) {\r\n if (-1 === nodes.indexOf(this[i])) {\r\n result.push(this[i])\r\n }\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.is = function(selector) {\r\n return !!this.filter(selector).length\r\n};\r\ninitRender.prototype.children = function(selector) {\r\n var result = [];\r\n for (var i = 0; i < this.length; i++) {\r\n var nodes = this[i] ? this[i].childNodes : [];\r\n for (var j = 0; j < nodes.length; j++) {\r\n if (domAdapter.isElementNode(nodes[j])) {\r\n result.push(nodes[j])\r\n }\r\n }\r\n }\r\n result = renderer(result);\r\n return selector ? result.filter(selector) : result\r\n};\r\ninitRender.prototype.siblings = function() {\r\n var element = this[0];\r\n if (!element || !element.parentNode) {\r\n return renderer()\r\n }\r\n var result = [];\r\n var parentChildNodes = element.parentNode.childNodes || [];\r\n for (var i = 0; i < parentChildNodes.length; i++) {\r\n var node = parentChildNodes[i];\r\n if (domAdapter.isElementNode(node) && node !== element) {\r\n result.push(node)\r\n }\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.each = function(callback) {\r\n for (var i = 0; i < this.length; i++) {\r\n if (false === callback.call(this[i], i, this[i])) {\r\n break\r\n }\r\n }\r\n};\r\ninitRender.prototype.index = function(element) {\r\n if (!element) {\r\n return this.parent().children().index(this)\r\n }\r\n element = renderer(element);\r\n return this.toArray().indexOf(element[0])\r\n};\r\ninitRender.prototype.get = function(index) {\r\n return this[index < 0 ? this.length + index : index]\r\n};\r\ninitRender.prototype.eq = function(index) {\r\n index = index < 0 ? this.length + index : index;\r\n return renderer(this[index])\r\n};\r\ninitRender.prototype.first = function() {\r\n return this.eq(0)\r\n};\r\ninitRender.prototype.last = function() {\r\n return this.eq(-1)\r\n};\r\ninitRender.prototype.select = function() {\r\n for (var i = 0; i < this.length; i += 1) {\r\n this[i].select && this[i].select()\r\n }\r\n return this\r\n};\r\ninitRender.prototype.parent = function(selector) {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var result = renderer(this[0].parentNode);\r\n return !selector || result.is(selector) ? result : renderer()\r\n};\r\ninitRender.prototype.parents = function(selector) {\r\n var result = [];\r\n var parent = this.parent();\r\n while (parent && parent[0] && !domAdapter.isDocument(parent[0])) {\r\n if (domAdapter.isElementNode(parent[0])) {\r\n if (!selector || parent.is(selector)) {\r\n result.push(parent.get(0))\r\n }\r\n }\r\n parent = parent.parent()\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.closest = function(selector) {\r\n if (this.is(selector)) {\r\n return this\r\n }\r\n var parent = this.parent();\r\n while (parent && parent.length) {\r\n if (parent.is(selector)) {\r\n return parent\r\n }\r\n parent = parent.parent()\r\n }\r\n return renderer()\r\n};\r\ninitRender.prototype.next = function(selector) {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var next = renderer(this[0].nextSibling);\r\n if (!arguments.length) {\r\n return next\r\n }\r\n while (next && next.length) {\r\n if (next.is(selector)) {\r\n return next\r\n }\r\n next = next.next()\r\n }\r\n return renderer()\r\n};\r\ninitRender.prototype.prev = function() {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n return renderer(this[0].previousSibling)\r\n};\r\ninitRender.prototype.add = function(selector) {\r\n var targets = renderer(selector);\r\n var result = this.toArray();\r\n for (var i = 0; i < targets.length; i++) {\r\n var target = targets[i];\r\n if (-1 === result.indexOf(target)) {\r\n result.push(target)\r\n }\r\n }\r\n return renderer(result)\r\n};\r\nvar emptyArray = [];\r\ninitRender.prototype.splice = function() {\r\n return renderer(emptyArray.splice.apply(this, arguments))\r\n};\r\ninitRender.prototype.slice = function() {\r\n return renderer(emptyArray.slice.apply(this, arguments))\r\n};\r\ninitRender.prototype.toArray = function() {\r\n return emptyArray.slice.call(this)\r\n};\r\ninitRender.prototype.offset = function() {\r\n if (!this[0]) {\r\n return\r\n }\r\n return getOffset(this[0])\r\n};\r\ninitRender.prototype.offsetParent = function() {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var offsetParent = renderer(this[0].offsetParent);\r\n while (offsetParent[0] && \"static\" === offsetParent.css(\"position\")) {\r\n offsetParent = renderer(offsetParent[0].offsetParent)\r\n }\r\n offsetParent = offsetParent[0] ? offsetParent : renderer(domAdapter.getDocumentElement());\r\n return offsetParent\r\n};\r\ninitRender.prototype.position = function() {\r\n if (!this[0]) {\r\n return\r\n }\r\n var offset;\r\n var marginTop = parseFloat(this.css(\"marginTop\"));\r\n var marginLeft = parseFloat(this.css(\"marginLeft\"));\r\n if (\"fixed\" === this.css(\"position\")) {\r\n offset = this[0].getBoundingClientRect();\r\n return {\r\n top: offset.top - marginTop,\r\n left: offset.left - marginLeft\r\n }\r\n }\r\n offset = this.offset();\r\n var offsetParent = this.offsetParent();\r\n var parentOffset = {\r\n top: 0,\r\n left: 0\r\n };\r\n if (\"HTML\" !== offsetParent[0].nodeName) {\r\n parentOffset = offsetParent.offset()\r\n }\r\n parentOffset = {\r\n top: parentOffset.top + parseFloat(offsetParent.css(\"borderTopWidth\")),\r\n left: parentOffset.left + parseFloat(offsetParent.css(\"borderLeftWidth\"))\r\n };\r\n return {\r\n top: offset.top - parentOffset.top - marginTop,\r\n left: offset.left - parentOffset.left - marginLeft\r\n }\r\n};\r\n[{\r\n name: \"scrollLeft\",\r\n offsetProp: \"pageXOffset\",\r\n scrollWindow: function(win, value) {\r\n win.scrollTo(value, win.pageYOffset)\r\n }\r\n}, {\r\n name: \"scrollTop\",\r\n offsetProp: \"pageYOffset\",\r\n scrollWindow: function(win, value) {\r\n win.scrollTo(win.pageXOffset, value)\r\n }\r\n}].forEach((function(directionStrategy) {\r\n var propName = directionStrategy.name;\r\n initRender.prototype[propName] = function(value) {\r\n if (!this[0]) {\r\n return\r\n }\r\n var window = getWindowByElement(this[0]);\r\n if (void 0 === value) {\r\n return window ? window[directionStrategy.offsetProp] : this[0][propName]\r\n }\r\n if (window) {\r\n directionStrategy.scrollWindow(window, value)\r\n } else {\r\n this[0][propName] = value\r\n }\r\n return this\r\n }\r\n}));\r\ninitRender.prototype.data = function(key, value) {\r\n if (!this[0]) {\r\n return\r\n }\r\n if (arguments.length < 2) {\r\n return elementData.call(renderer, this[0], key)\r\n }\r\n elementData.call(renderer, this[0], key, value);\r\n return this\r\n};\r\ninitRender.prototype.removeData = function(key) {\r\n this[0] && removeData(this[0], key);\r\n return this\r\n};\r\nvar rendererWrapper = function() {\r\n return renderer.apply(this, arguments)\r\n};\r\nObject.defineProperty(rendererWrapper, \"fn\", {\r\n enumerable: true,\r\n configurable: true,\r\n get: function() {\r\n return renderer.fn\r\n },\r\n set: function(value) {\r\n renderer.fn = value\r\n }\r\n});\r\nexport default {\r\n set: function(strategy) {\r\n renderer = strategy\r\n },\r\n get: function() {\r\n return rendererWrapper\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/core/renderer.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport rendererBase from \"./renderer_base\";\r\nexport default rendererBase.get();\r\n","/**\r\n * DevExtreme (esm/core/resize_observer.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"./utils/common\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"./utils/window\";\r\nvar window = getWindow();\r\nvar ResizeObserverMock = {\r\n observe: noop,\r\n unobserve: noop,\r\n disconnect: noop\r\n};\r\nclass ResizeObserverSingleton {\r\n constructor() {\r\n if (!hasWindow() || !window.ResizeObserver) {\r\n return ResizeObserverMock\r\n }\r\n this._callbacksMap = new Map;\r\n this._observer = new window.ResizeObserver(entries => {\r\n entries.forEach(entry => {\r\n var _this$_callbacksMap$g;\r\n null === (_this$_callbacksMap$g = this._callbacksMap.get(entry.target)) || void 0 === _this$_callbacksMap$g ? void 0 : _this$_callbacksMap$g(entry)\r\n })\r\n })\r\n }\r\n observe(element, callback) {\r\n this._callbacksMap.set(element, callback);\r\n this._observer.observe(element)\r\n }\r\n unobserve(element) {\r\n this._callbacksMap.delete(element);\r\n this._observer.unobserve(element)\r\n }\r\n disconnect() {\r\n this._callbacksMap.clear();\r\n this._observer.disconnect()\r\n }\r\n}\r\nvar resizeObserverSingleton = new ResizeObserverSingleton;\r\nexport default resizeObserverSingleton;\r\n","/**\r\n * DevExtreme (esm/core/templates/bindable_template.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../renderer\";\r\nimport {\r\n TemplateBase\r\n} from \"./template_base\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n removeEvent\r\n} from \"../../events/remove\";\r\nimport {\r\n isPrimitive\r\n} from \"../utils/type\";\r\nvar watchChanges = function(rawData, watchMethod, fields, fieldsMap, callback) {\r\n var fieldsDispose;\r\n var globalDispose = ((data, watchMethod, callback) => watchMethod(() => data, callback))(rawData, watchMethod, (function(dataWithRawFields) {\r\n fieldsDispose && fieldsDispose();\r\n if (isPrimitive(dataWithRawFields)) {\r\n callback(dataWithRawFields);\r\n return\r\n }\r\n fieldsDispose = function(data, watchMethod, fields, fieldsMap, callback) {\r\n var resolvedData = {};\r\n var missedFields = fields.slice();\r\n var watchHandlers = fields.map((function(name) {\r\n var fieldGetter = fieldsMap[name];\r\n return watchMethod(fieldGetter ? () => fieldGetter(data) : () => data[name], (function(value) {\r\n resolvedData[name] = value;\r\n if (missedFields.length) {\r\n var index = missedFields.indexOf(name);\r\n if (index >= 0) {\r\n missedFields.splice(index, 1)\r\n }\r\n }\r\n if (!missedFields.length) {\r\n callback(resolvedData)\r\n }\r\n }))\r\n }));\r\n return function() {\r\n watchHandlers.forEach(dispose => dispose())\r\n }\r\n }(dataWithRawFields, watchMethod, fields, fieldsMap, callback)\r\n }));\r\n return function() {\r\n fieldsDispose && fieldsDispose();\r\n globalDispose && globalDispose()\r\n }\r\n};\r\nexport class BindableTemplate extends TemplateBase {\r\n constructor(render, fields, watchMethod, fieldsMap) {\r\n super();\r\n this._render = render;\r\n this._fields = fields;\r\n this._fieldsMap = fieldsMap || {};\r\n this._watchMethod = watchMethod\r\n }\r\n _renderCore(options) {\r\n var $container = $(options.container);\r\n var dispose = watchChanges(options.model, this._watchMethod, this._fields, this._fieldsMap, data => {\r\n $container.empty();\r\n this._render($container, data, options.model)\r\n });\r\n eventsEngine.on($container, removeEvent, dispose);\r\n return $container.contents()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/templates/child_default_template.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n TemplateBase\r\n} from \"./template_base\";\r\nexport class ChildDefaultTemplate extends TemplateBase {\r\n constructor(name) {\r\n super();\r\n this.name = name\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/templates/empty_template.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../renderer\";\r\nimport {\r\n TemplateBase\r\n} from \"./template_base\";\r\nexport class EmptyTemplate extends TemplateBase {\r\n _renderCore() {\r\n return $()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/templates/function_template.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n TemplateBase\r\n} from \"./template_base\";\r\nimport {\r\n normalizeTemplateElement\r\n} from \"../utils/dom\";\r\nexport class FunctionTemplate extends TemplateBase {\r\n constructor(render) {\r\n super();\r\n this._render = render\r\n }\r\n _renderCore(options) {\r\n return normalizeTemplateElement(this._render(options))\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/templates/template_base.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../renderer\";\r\nimport domAdapter from \"../dom_adapter\";\r\nimport Callbacks from \"../utils/callbacks\";\r\nimport {\r\n contains\r\n} from \"../utils/dom\";\r\nimport {\r\n triggerShownEvent\r\n} from \"../../events/visibility_change\";\r\nimport errors from \"../errors\";\r\nexport var renderedCallbacks = Callbacks({\r\n syncStrategy: true\r\n});\r\nexport class TemplateBase {\r\n render(options) {\r\n options = options || {};\r\n var onRendered = options.onRendered;\r\n delete options.onRendered;\r\n var $result;\r\n if (options.renovated && options.transclude && this._element) {\r\n $result = $(\"
    \").append(this._element).contents()\r\n } else {\r\n $result = this._renderCore(options)\r\n }\r\n this._ensureResultInContainer($result, options.container);\r\n renderedCallbacks.fire($result, options.container);\r\n onRendered && onRendered();\r\n return $result\r\n }\r\n _ensureResultInContainer($result, container) {\r\n if (!container) {\r\n return\r\n }\r\n var $container = $(container);\r\n var resultInContainer = contains($container.get(0), $result.get(0));\r\n $container.append($result);\r\n if (resultInContainer) {\r\n return\r\n }\r\n var resultInBody = domAdapter.getBody().contains($container.get(0));\r\n if (!resultInBody) {\r\n return\r\n }\r\n triggerShownEvent($result)\r\n }\r\n _renderCore() {\r\n throw errors.Error(\"E0001\")\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/http_request.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWindow\r\n} from \"./utils/window\";\r\nvar window = getWindow();\r\nimport injector from \"./utils/dependency_injector\";\r\nvar nativeXMLHttpRequest = {\r\n getXhr: function() {\r\n return new window.XMLHttpRequest\r\n }\r\n};\r\nexport default injector(nativeXMLHttpRequest);\r\n","/**\r\n * DevExtreme (esm/core/utils/ajax.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n Deferred\r\n} from \"./deferred\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport httpRequest from \"../../core/http_request\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n extendFromObject\r\n} from \"./extend\";\r\nimport {\r\n isDefined\r\n} from \"./type\";\r\nimport injector from \"./dependency_injector\";\r\nvar SUCCESS = \"success\";\r\nvar ERROR = \"error\";\r\nvar TIMEOUT = \"timeout\";\r\nvar NO_CONTENT = \"nocontent\";\r\nvar PARSER_ERROR = \"parsererror\";\r\nvar isStatusSuccess = function(status) {\r\n return 200 <= status && status < 300\r\n};\r\nvar hasContent = function(status) {\r\n return 204 !== status\r\n};\r\nvar paramsConvert = function(params) {\r\n var result = [];\r\n for (var name in params) {\r\n var value = params[name];\r\n if (void 0 === value) {\r\n continue\r\n }\r\n if (null === value) {\r\n value = \"\"\r\n }\r\n if (\"function\" === typeof value) {\r\n value = value()\r\n }\r\n result.push(encodeURIComponent(name) + \"=\" + encodeURIComponent(value))\r\n }\r\n return result.join(\"&\")\r\n};\r\nvar createScript = function(options) {\r\n var script = domAdapter.createElement(\"script\");\r\n for (var name in options) {\r\n script[name] = options[name]\r\n }\r\n return script\r\n};\r\nvar removeScript = function(scriptNode) {\r\n scriptNode.parentNode.removeChild(scriptNode)\r\n};\r\nvar appendToHead = function(element) {\r\n return domAdapter.getHead().appendChild(element)\r\n};\r\nvar evalScript = function(code) {\r\n var script = createScript({\r\n text: code\r\n });\r\n appendToHead(script);\r\n removeScript(script)\r\n};\r\nvar evalCrossDomainScript = function(url) {\r\n var script = createScript({\r\n src: url\r\n });\r\n return new Promise((function(resolve, reject) {\r\n var events = {\r\n load: resolve,\r\n error: reject\r\n };\r\n var loadHandler = function(e) {\r\n events[e.type]();\r\n removeScript(script)\r\n };\r\n for (var event in events) {\r\n domAdapter.listen(script, event, loadHandler)\r\n }\r\n appendToHead(script)\r\n }))\r\n};\r\nvar getAcceptHeader = function(options) {\r\n var dataType = options.dataType || \"*\";\r\n var scriptAccept = \"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\";\r\n var accepts = {\r\n \"*\": \"*/*\",\r\n text: \"text/plain\",\r\n html: \"text/html\",\r\n xml: \"application/xml, text/xml\",\r\n json: \"application/json, text/javascript\",\r\n jsonp: scriptAccept,\r\n script: scriptAccept\r\n };\r\n extendFromObject(accepts, options.accepts, true);\r\n return accepts[dataType] ? accepts[dataType] + (\"*\" !== dataType ? \", */*; q=0.01\" : \"\") : accepts[\"*\"]\r\n};\r\nvar getContentTypeHeader = function(options) {\r\n var defaultContentType;\r\n if (options.data && !options.upload && \"GET\" !== getMethod(options)) {\r\n defaultContentType = \"application/x-www-form-urlencoded;charset=utf-8\"\r\n }\r\n return options.contentType || defaultContentType\r\n};\r\nvar getDataFromResponse = function(xhr) {\r\n return xhr.responseType && \"text\" !== xhr.responseType || \"string\" !== typeof xhr.responseText ? xhr.response : xhr.responseText\r\n};\r\nvar postProcess = function(deferred, xhr, dataType) {\r\n var data = getDataFromResponse(xhr);\r\n switch (dataType) {\r\n case \"jsonp\":\r\n evalScript(data);\r\n break;\r\n case \"script\":\r\n evalScript(data);\r\n deferred.resolve(data, SUCCESS, xhr);\r\n break;\r\n case \"json\":\r\n try {\r\n deferred.resolve(JSON.parse(data), SUCCESS, xhr)\r\n } catch (e) {\r\n deferred.reject(xhr, PARSER_ERROR, e)\r\n }\r\n break;\r\n default:\r\n deferred.resolve(data, SUCCESS, xhr)\r\n }\r\n};\r\nvar isCrossDomain = function(url) {\r\n if (!hasWindow()) {\r\n return true\r\n }\r\n var crossDomain = false;\r\n var originAnchor = domAdapter.createElement(\"a\");\r\n var urlAnchor = domAdapter.createElement(\"a\");\r\n originAnchor.href = window.location.href;\r\n try {\r\n urlAnchor.href = url;\r\n urlAnchor.href = urlAnchor.href;\r\n crossDomain = originAnchor.protocol + \"//\" + originAnchor.host !== urlAnchor.protocol + \"//\" + urlAnchor.host\r\n } catch (e) {\r\n crossDomain = true\r\n }\r\n return crossDomain\r\n};\r\nvar setHttpTimeout = function(timeout, xhr) {\r\n return timeout && setTimeout((function() {\r\n xhr.customStatus = TIMEOUT;\r\n xhr.abort()\r\n }), timeout)\r\n};\r\nvar getJsonpOptions = function(options) {\r\n if (\"jsonp\" === options.dataType) {\r\n var random = Math.random().toString().replace(/\\D/g, \"\");\r\n var callbackName = options.jsonpCallback || \"dxCallback\" + Date.now() + \"_\" + random;\r\n var callbackParameter = options.jsonp || \"callback\";\r\n options.data = options.data || {};\r\n options.data[callbackParameter] = callbackName;\r\n return callbackName\r\n }\r\n};\r\nvar getRequestOptions = function(options, headers) {\r\n var params = options.data;\r\n var paramsAlreadyString = \"string\" === typeof params;\r\n var url = options.url || window.location.href;\r\n if (!paramsAlreadyString && !options.cache) {\r\n params = params || {};\r\n params._ = Date.now()\r\n }\r\n if (params && !options.upload) {\r\n if (!paramsAlreadyString) {\r\n params = paramsConvert(params)\r\n }\r\n if (\"GET\" === getMethod(options)) {\r\n if (\"\" !== params) {\r\n url += (url.indexOf(\"?\") > -1 ? \"&\" : \"?\") + params\r\n }\r\n params = null\r\n } else if (headers[\"Content-Type\"] && headers[\"Content-Type\"].indexOf(\"application/x-www-form-urlencoded\") > -1) {\r\n params = params.replace(/%20/g, \"+\")\r\n }\r\n }\r\n return {\r\n url: url,\r\n parameters: params\r\n }\r\n};\r\n\r\nfunction getMethod(options) {\r\n return (options.method || \"GET\").toUpperCase()\r\n}\r\nvar getRequestHeaders = function(options) {\r\n var headers = options.headers || {};\r\n headers[\"Content-Type\"] = headers[\"Content-Type\"] || getContentTypeHeader(options);\r\n headers.Accept = headers.Accept || getAcceptHeader(options);\r\n if (!options.crossDomain && !headers[\"X-Requested-With\"]) {\r\n headers[\"X-Requested-With\"] = \"XMLHttpRequest\"\r\n }\r\n return headers\r\n};\r\nvar sendRequest = function(options) {\r\n var xhr = httpRequest.getXhr();\r\n var d = new Deferred;\r\n var result = d.promise();\r\n var async = isDefined(options.async) ? options.async : true;\r\n var dataType = options.dataType;\r\n var timeout = options.timeout || 0;\r\n var timeoutId;\r\n options.crossDomain = isCrossDomain(options.url);\r\n var needScriptEvaluation = \"jsonp\" === dataType || \"script\" === dataType;\r\n if (void 0 === options.cache) {\r\n options.cache = !needScriptEvaluation\r\n }\r\n var callbackName = getJsonpOptions(options);\r\n var headers = getRequestHeaders(options);\r\n var requestOptions = getRequestOptions(options, headers);\r\n var url = requestOptions.url;\r\n var parameters = requestOptions.parameters;\r\n if (callbackName) {\r\n window[callbackName] = function(data) {\r\n d.resolve(data, SUCCESS, xhr)\r\n }\r\n }\r\n if (options.crossDomain && needScriptEvaluation) {\r\n evalCrossDomainScript(url).then((function() {\r\n if (\"jsonp\" === dataType) {\r\n return\r\n }\r\n d.resolve(null, SUCCESS, xhr)\r\n }), (function() {\r\n d.reject(xhr, ERROR)\r\n }));\r\n return result\r\n }\r\n if (options.crossDomain && !(\"withCredentials\" in xhr)) {\r\n d.reject(xhr, ERROR);\r\n return result\r\n }\r\n xhr.open(getMethod(options), url, async, options.username, options.password);\r\n if (async) {\r\n xhr.timeout = timeout;\r\n timeoutId = setHttpTimeout(timeout, xhr)\r\n }\r\n xhr.onreadystatechange = function(e) {\r\n if (4 === xhr.readyState) {\r\n clearTimeout(timeoutId);\r\n if (isStatusSuccess(xhr.status)) {\r\n if (hasContent(xhr.status)) {\r\n postProcess(d, xhr, dataType)\r\n } else {\r\n d.resolve(null, NO_CONTENT, xhr)\r\n }\r\n } else {\r\n d.reject(xhr, xhr.customStatus || ERROR)\r\n }\r\n }\r\n };\r\n if (options.upload) {\r\n xhr.upload.onprogress = options.upload.onprogress;\r\n xhr.upload.onloadstart = options.upload.onloadstart;\r\n xhr.upload.onabort = options.upload.onabort\r\n }\r\n if (options.xhrFields) {\r\n for (var field in options.xhrFields) {\r\n xhr[field] = options.xhrFields[field]\r\n }\r\n }\r\n if (\"arraybuffer\" === options.responseType) {\r\n xhr.responseType = options.responseType\r\n }\r\n for (var name in headers) {\r\n if (Object.prototype.hasOwnProperty.call(headers, name) && isDefined(headers[name])) {\r\n xhr.setRequestHeader(name, headers[name])\r\n }\r\n }\r\n if (options.beforeSend) {\r\n options.beforeSend(xhr)\r\n }\r\n xhr.send(parameters);\r\n result.abort = function() {\r\n xhr.abort()\r\n };\r\n return result\r\n};\r\nexport default injector({\r\n sendRequest: sendRequest\r\n});\r\n","/**\r\n * DevExtreme (esm/core/utils/array.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"./type\";\r\nimport {\r\n orderEach\r\n} from \"./object\";\r\nimport config from \"../config\";\r\n\r\nfunction createOccurrenceMap(array) {\r\n return array.reduce((map, value) => {\r\n var _map$get;\r\n var count = (null !== (_map$get = map.get(value)) && void 0 !== _map$get ? _map$get : 0) + 1;\r\n map.set(value, count);\r\n return map\r\n }, new Map)\r\n}\r\nexport var wrapToArray = function(item) {\r\n return Array.isArray(item) ? item : [item]\r\n};\r\nexport var getUniqueValues = function(values) {\r\n return [...new Set(values)]\r\n};\r\nexport var getIntersection = function(firstArray, secondArray) {\r\n var toRemoveMap = createOccurrenceMap(secondArray);\r\n return firstArray.filter(value => {\r\n var occurrencesCount = toRemoveMap.get(value);\r\n occurrencesCount && toRemoveMap.set(value, occurrencesCount - 1);\r\n return occurrencesCount\r\n })\r\n};\r\nexport var removeDuplicates = function() {\r\n var from = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\r\n var toRemove = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [];\r\n var toRemoveMap = createOccurrenceMap(toRemove);\r\n return from.filter(value => {\r\n var occurrencesCount = toRemoveMap.get(value);\r\n occurrencesCount && toRemoveMap.set(value, occurrencesCount - 1);\r\n return !occurrencesCount\r\n })\r\n};\r\nexport var normalizeIndexes = function(items, indexPropName, currentItem, needIndexCallback) {\r\n var indexedItems = {};\r\n var {\r\n useLegacyVisibleIndex: useLegacyVisibleIndex\r\n } = config();\r\n var currentIndex = 0;\r\n var shouldUpdateIndex = item => !isDefined(item[indexPropName]) && (!needIndexCallback || needIndexCallback(item));\r\n items.forEach(item => {\r\n var index = item[indexPropName];\r\n if (index >= 0) {\r\n indexedItems[index] = indexedItems[index] || [];\r\n if (item === currentItem) {\r\n indexedItems[index].unshift(item)\r\n } else {\r\n indexedItems[index].push(item)\r\n }\r\n } else {\r\n item[indexPropName] = void 0\r\n }\r\n });\r\n if (!useLegacyVisibleIndex) {\r\n items.forEach(item => {\r\n if (shouldUpdateIndex(item)) {\r\n while (indexedItems[currentIndex]) {\r\n currentIndex++\r\n }\r\n indexedItems[currentIndex] = [item];\r\n currentIndex++\r\n }\r\n })\r\n }\r\n currentIndex = 0;\r\n orderEach(indexedItems, (function(index, items) {\r\n items.forEach(item => {\r\n if (index >= 0) {\r\n item[indexPropName] = currentIndex++\r\n }\r\n })\r\n }));\r\n if (useLegacyVisibleIndex) {\r\n items.forEach(item => {\r\n if (shouldUpdateIndex(item)) {\r\n item[indexPropName] = currentIndex++\r\n }\r\n })\r\n }\r\n};\r\nexport var groupBy = (array, getGroupName) => array.reduce((groupedResult, item) => {\r\n var _groupedResult$groupN;\r\n var groupName = getGroupName(item);\r\n groupedResult[groupName] = null !== (_groupedResult$groupN = groupedResult[groupName]) && void 0 !== _groupedResult$groupN ? _groupedResult$groupN : [];\r\n groupedResult[groupName].push(item);\r\n return groupedResult\r\n}, {});\r\n","/**\r\n * DevExtreme (esm/core/utils/array_compare.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isObject\r\n} from \"./type\";\r\nvar getKeyWrapper = function(item, getKey) {\r\n var key = getKey(item);\r\n if (isObject(key)) {\r\n try {\r\n return JSON.stringify(key)\r\n } catch (e) {\r\n return key\r\n }\r\n }\r\n return key\r\n};\r\nvar getSameNewByOld = function(oldItem, newItems, newIndexByKey, getKey) {\r\n var key = getKeyWrapper(oldItem, getKey);\r\n return newItems[newIndexByKey[key]]\r\n};\r\nexport var isKeysEqual = function(oldKeys, newKeys) {\r\n if (oldKeys.length !== newKeys.length) {\r\n return false\r\n }\r\n for (var i = 0; i < newKeys.length; i++) {\r\n if (oldKeys[i] !== newKeys[i]) {\r\n return false\r\n }\r\n }\r\n return true\r\n};\r\nexport var findChanges = function(oldItems, newItems, getKey, isItemEquals) {\r\n var oldIndexByKey = {};\r\n var newIndexByKey = {};\r\n var addedCount = 0;\r\n var removeCount = 0;\r\n var result = [];\r\n oldItems.forEach((function(item, index) {\r\n var key = getKeyWrapper(item, getKey);\r\n oldIndexByKey[key] = index\r\n }));\r\n newItems.forEach((function(item, index) {\r\n var key = getKeyWrapper(item, getKey);\r\n newIndexByKey[key] = index\r\n }));\r\n var itemCount = Math.max(oldItems.length, newItems.length);\r\n for (var index = 0; index < itemCount + addedCount; index++) {\r\n var newItem = newItems[index];\r\n var oldNextIndex = index - addedCount + removeCount;\r\n var nextOldItem = oldItems[oldNextIndex];\r\n var isRemoved = !newItem || nextOldItem && !getSameNewByOld(nextOldItem, newItems, newIndexByKey, getKey);\r\n if (isRemoved) {\r\n if (nextOldItem) {\r\n result.push({\r\n type: \"remove\",\r\n key: getKey(nextOldItem),\r\n index: index,\r\n oldItem: nextOldItem\r\n });\r\n removeCount++;\r\n index--\r\n }\r\n } else {\r\n var key = getKeyWrapper(newItem, getKey);\r\n var oldIndex = oldIndexByKey[key];\r\n var oldItem = oldItems[oldIndex];\r\n if (!oldItem) {\r\n addedCount++;\r\n result.push({\r\n type: \"insert\",\r\n data: newItem,\r\n index: index\r\n })\r\n } else if (oldIndex === oldNextIndex) {\r\n if (!isItemEquals(oldItem, newItem)) {\r\n result.push({\r\n type: \"update\",\r\n data: newItem,\r\n key: getKey(newItem),\r\n index: index,\r\n oldItem: oldItem\r\n })\r\n }\r\n } else {\r\n return\r\n }\r\n }\r\n }\r\n return result\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/browser.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"./extend\";\r\nimport {\r\n getNavigator\r\n} from \"./window\";\r\nvar navigator = getNavigator();\r\nvar webkitRegExp = /(webkit)[ /]([\\w.]+)/;\r\nvar mozillaRegExp = /(mozilla)(?:.*? rv:([\\w.]+))/;\r\nvar browserFromUA = ua => {\r\n ua = ua.toLowerCase();\r\n var result = {};\r\n var matches = webkitRegExp.exec(ua) || ua.indexOf(\"compatible\") < 0 && mozillaRegExp.exec(ua) || [];\r\n var browserName = matches[1];\r\n var browserVersion = matches[2];\r\n if (\"webkit\" === browserName) {\r\n result.webkit = true;\r\n if (ua.indexOf(\"chrome\") >= 0 || ua.indexOf(\"crios\") >= 0) {\r\n browserName = \"chrome\";\r\n browserVersion = /(?:chrome|crios)\\/(\\d+\\.\\d+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n } else if (ua.indexOf(\"fxios\") >= 0) {\r\n browserName = \"mozilla\";\r\n browserVersion = /fxios\\/(\\d+\\.\\d+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n } else if (ua.indexOf(\"safari\") >= 0 && /version|phantomjs/.test(ua)) {\r\n browserName = \"safari\";\r\n browserVersion = /(?:version|phantomjs)\\/([0-9.]+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n } else {\r\n browserName = \"unknown\";\r\n browserVersion = /applewebkit\\/([0-9.]+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n }\r\n }\r\n if (browserName) {\r\n result[browserName] = true;\r\n result.version = browserVersion\r\n }\r\n return result\r\n};\r\nexport default extend({\r\n _fromUA: browserFromUA\r\n}, browserFromUA(navigator.userAgent));\r\n","/**\r\n * DevExtreme (esm/core/utils/call_once.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar callOnce = function(handler) {\r\n var result;\r\n var _wrappedHandler = function() {\r\n result = handler.apply(this, arguments);\r\n _wrappedHandler = function() {\r\n return result\r\n };\r\n return result\r\n };\r\n return function() {\r\n return _wrappedHandler.apply(this, arguments)\r\n }\r\n};\r\nexport default callOnce;\r\n","/**\r\n * DevExtreme (esm/core/utils/callbacks.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar Callback = function(options) {\r\n this._options = options || {};\r\n this._list = [];\r\n this._queue = [];\r\n this._firing = false;\r\n this._fired = false;\r\n this._firingIndexes = []\r\n};\r\nCallback.prototype._fireCore = function(context, args) {\r\n var firingIndexes = this._firingIndexes;\r\n var list = this._list;\r\n var stopOnFalse = this._options.stopOnFalse;\r\n var step = firingIndexes.length;\r\n for (firingIndexes[step] = 0; firingIndexes[step] < list.length; firingIndexes[step]++) {\r\n var result = list[firingIndexes[step]].apply(context, args);\r\n if (false === result && stopOnFalse) {\r\n break\r\n }\r\n }\r\n firingIndexes.pop()\r\n};\r\nCallback.prototype.add = function(fn) {\r\n if (\"function\" === typeof fn && (!this._options.unique || !this.has(fn))) {\r\n this._list.push(fn)\r\n }\r\n return this\r\n};\r\nCallback.prototype.remove = function(fn) {\r\n var list = this._list;\r\n var firingIndexes = this._firingIndexes;\r\n var index = list.indexOf(fn);\r\n if (index > -1) {\r\n list.splice(index, 1);\r\n if (this._firing && firingIndexes.length) {\r\n for (var step = 0; step < firingIndexes.length; step++) {\r\n if (index <= firingIndexes[step]) {\r\n firingIndexes[step]--\r\n }\r\n }\r\n }\r\n }\r\n return this\r\n};\r\nCallback.prototype.has = function(fn) {\r\n var list = this._list;\r\n return fn ? list.indexOf(fn) > -1 : !!list.length\r\n};\r\nCallback.prototype.empty = function(fn) {\r\n this._list = [];\r\n return this\r\n};\r\nCallback.prototype.fireWith = function(context, args) {\r\n var queue = this._queue;\r\n args = args || [];\r\n args = args.slice ? args.slice() : args;\r\n if (this._options.syncStrategy) {\r\n this._firing = true;\r\n this._fireCore(context, args)\r\n } else {\r\n queue.push([context, args]);\r\n if (this._firing) {\r\n return\r\n }\r\n this._firing = true;\r\n while (queue.length) {\r\n var memory = queue.shift();\r\n this._fireCore(memory[0], memory[1])\r\n }\r\n }\r\n this._firing = false;\r\n this._fired = true;\r\n return this\r\n};\r\nCallback.prototype.fire = function() {\r\n this.fireWith(this, arguments)\r\n};\r\nCallback.prototype.fired = function() {\r\n return this._fired\r\n};\r\nvar Callbacks = function(options) {\r\n return new Callback(options)\r\n};\r\nexport default Callbacks;\r\n","/**\r\n * DevExtreme (esm/core/utils/common.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport config from \"../config\";\r\nimport Guid from \"../guid\";\r\nimport {\r\n when,\r\n Deferred\r\n} from \"../utils/deferred\";\r\nimport {\r\n toComparable\r\n} from \"./data\";\r\nimport {\r\n each\r\n} from \"./iterator\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isString,\r\n isObject,\r\n type\r\n} from \"./type\";\r\nexport var ensureDefined = function(value, defaultValue) {\r\n return isDefined(value) ? value : defaultValue\r\n};\r\nexport var executeAsync = function(action, context) {\r\n var deferred = new Deferred;\r\n var normalizedContext = context || this;\r\n var task = {\r\n promise: deferred.promise(),\r\n abort: function() {\r\n clearTimeout(timerId);\r\n deferred.rejectWith(normalizedContext)\r\n }\r\n };\r\n var callback = function() {\r\n var result = action.call(normalizedContext);\r\n if (result && result.done && isFunction(result.done)) {\r\n result.done((function() {\r\n deferred.resolveWith(normalizedContext)\r\n }))\r\n } else {\r\n deferred.resolveWith(normalizedContext)\r\n }\r\n };\r\n var timerId = (arguments[2] || setTimeout)(callback, \"number\" === typeof context ? context : 0);\r\n return task\r\n};\r\nvar delayedFuncs = [];\r\nvar delayedNames = [];\r\nvar delayedDeferreds = [];\r\nvar executingName;\r\nvar deferExecute = function(name, func, deferred) {\r\n if (executingName && executingName !== name) {\r\n delayedFuncs.push(func);\r\n delayedNames.push(name);\r\n deferred = deferred || new Deferred;\r\n delayedDeferreds.push(deferred);\r\n return deferred\r\n } else {\r\n var oldExecutingName = executingName;\r\n var currentDelayedCount = delayedDeferreds.length;\r\n executingName = name;\r\n var result = func();\r\n if (!result) {\r\n if (delayedDeferreds.length > currentDelayedCount) {\r\n result = when.apply(this, delayedDeferreds.slice(currentDelayedCount))\r\n } else if (deferred) {\r\n deferred.resolve()\r\n }\r\n }\r\n executingName = oldExecutingName;\r\n if (deferred && result && result.done) {\r\n result.done(deferred.resolve).fail(deferred.reject)\r\n }\r\n if (!executingName && delayedFuncs.length) {\r\n (\"render\" === delayedNames.shift() ? deferRender : deferUpdate)(delayedFuncs.shift(), delayedDeferreds.shift())\r\n }\r\n return result || when()\r\n }\r\n};\r\nexport var deferRender = function(func, deferred) {\r\n return deferExecute(\"render\", func, deferred)\r\n};\r\nexport var deferUpdate = function(func, deferred) {\r\n return deferExecute(\"update\", func, deferred)\r\n};\r\nexport var deferRenderer = function(func) {\r\n return function() {\r\n var that = this;\r\n return deferExecute(\"render\", (function() {\r\n return func.call(that)\r\n }))\r\n }\r\n};\r\nexport var deferUpdater = function(func) {\r\n return function() {\r\n var that = this;\r\n return deferExecute(\"update\", (function() {\r\n return func.call(that)\r\n }))\r\n }\r\n};\r\nexport var findBestMatches = function(targetFilter, items, mapFn) {\r\n var bestMatches = [];\r\n var maxMatchCount = 0;\r\n each(items, (index, itemSrc) => {\r\n var matchCount = 0;\r\n var item = mapFn ? mapFn(itemSrc) : itemSrc;\r\n each(targetFilter, (paramName, targetValue) => {\r\n var value = item[paramName];\r\n if (void 0 === value) {\r\n return\r\n }\r\n if (match(value, targetValue)) {\r\n matchCount++;\r\n return\r\n }\r\n matchCount = -1;\r\n return false\r\n });\r\n if (matchCount < maxMatchCount) {\r\n return\r\n }\r\n if (matchCount > maxMatchCount) {\r\n bestMatches.length = 0;\r\n maxMatchCount = matchCount\r\n }\r\n bestMatches.push(itemSrc)\r\n });\r\n return bestMatches\r\n};\r\nvar match = function(value, targetValue) {\r\n if (Array.isArray(value) && Array.isArray(targetValue)) {\r\n var mismatch = false;\r\n each(value, (index, valueItem) => {\r\n if (valueItem !== targetValue[index]) {\r\n mismatch = true;\r\n return false\r\n }\r\n });\r\n if (mismatch) {\r\n return false\r\n }\r\n return true\r\n }\r\n if (value === targetValue) {\r\n return true\r\n }\r\n return false\r\n};\r\nexport var splitPair = function(raw) {\r\n var _raw$x, _raw$y;\r\n switch (type(raw)) {\r\n case \"string\":\r\n return raw.split(/\\s+/, 2);\r\n case \"object\":\r\n return [null !== (_raw$x = raw.x) && void 0 !== _raw$x ? _raw$x : raw.h, null !== (_raw$y = raw.y) && void 0 !== _raw$y ? _raw$y : raw.v];\r\n case \"number\":\r\n return [raw];\r\n case \"array\":\r\n return raw;\r\n default:\r\n return null\r\n }\r\n};\r\nexport var normalizeKey = function(id) {\r\n var key = isString(id) ? id : id.toString();\r\n var arr = key.match(/[^a-zA-Z0-9_]/g);\r\n arr && each(arr, (_, sign) => {\r\n key = key.replace(sign, \"__\" + sign.charCodeAt() + \"__\")\r\n });\r\n return key\r\n};\r\nexport var denormalizeKey = function(key) {\r\n var arr = key.match(/__\\d+__/g);\r\n arr && arr.forEach(char => {\r\n var charCode = parseInt(char.replace(\"__\", \"\"));\r\n key = key.replace(char, String.fromCharCode(charCode))\r\n });\r\n return key\r\n};\r\nexport var pairToObject = function(raw, preventRound) {\r\n var pair = splitPair(raw);\r\n var h = preventRound ? parseFloat(pair && pair[0]) : parseInt(pair && pair[0], 10);\r\n var v = preventRound ? parseFloat(pair && pair[1]) : parseInt(pair && pair[1], 10);\r\n if (!isFinite(h)) {\r\n h = 0\r\n }\r\n if (!isFinite(v)) {\r\n v = h\r\n }\r\n return {\r\n h: h,\r\n v: v\r\n }\r\n};\r\nexport var getKeyHash = function(key) {\r\n if (key instanceof Guid) {\r\n return key.toString()\r\n } else if (isObject(key) || Array.isArray(key)) {\r\n try {\r\n var keyHash = JSON.stringify(key);\r\n return \"{}\" === keyHash ? key : keyHash\r\n } catch (e) {\r\n return key\r\n }\r\n }\r\n return key\r\n};\r\nexport var escapeRegExp = function(string) {\r\n return string.replace(/[[\\]{}\\-()*+?.\\\\^$|\\s]/g, \"\\\\$&\")\r\n};\r\nexport var applyServerDecimalSeparator = function(value) {\r\n var separator = config().serverDecimalSeparator;\r\n if (isDefined(value)) {\r\n value = value.toString().replace(\".\", separator)\r\n }\r\n return value\r\n};\r\nexport var noop = function() {};\r\nexport var asyncNoop = function() {\r\n return (new Deferred).resolve().promise()\r\n};\r\nexport var grep = function(elements, checkFunction, invert) {\r\n var result = [];\r\n var check;\r\n var expectedCheck = !invert;\r\n for (var i = 0; i < elements.length; i++) {\r\n check = !!checkFunction(elements[i], i);\r\n if (check === expectedCheck) {\r\n result.push(elements[i])\r\n }\r\n }\r\n return result\r\n};\r\nvar compareArrays = (array1, array2, depth, options) => {\r\n if (array1.length !== array2.length) {\r\n return false\r\n }\r\n return !array1.some((item, idx) => !compareByValue(item, array2[idx], depth + 1, _extends({}, options, {\r\n strict: true\r\n })))\r\n};\r\nvar compareObjects = (object1, object2, depth, options) => {\r\n var keys1 = Object.keys(object1);\r\n var keys2 = Object.keys(object2);\r\n if (keys1.length !== keys2.length) {\r\n return false\r\n }\r\n var keys2Set = new Set(keys2);\r\n return !keys1.some(key => !keys2Set.has(key) || !compareByValue(object1[key], object2[key], depth + 1, options))\r\n};\r\nvar DEFAULT_EQUAL_BY_VALUE_OPTS = {\r\n maxDepth: 3,\r\n strict: true\r\n};\r\nvar compareByValue = (value1, value2, depth, options) => {\r\n var {\r\n strict: strict,\r\n maxDepth: maxDepth\r\n } = options;\r\n var comparable1 = toComparable(value1, true);\r\n var comparable2 = toComparable(value2, true);\r\n var comparisonResult = strict ? comparable1 === comparable2 : comparable1 == comparable2;\r\n switch (true) {\r\n case comparisonResult:\r\n case depth >= maxDepth:\r\n return true;\r\n case isObject(comparable1) && isObject(comparable2):\r\n return compareObjects(comparable1, comparable2, depth, options);\r\n case Array.isArray(comparable1) && Array.isArray(comparable2):\r\n return compareArrays(comparable1, comparable2, depth, options);\r\n default:\r\n return false\r\n }\r\n};\r\nexport var equalByValue = function(value1, value2) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : DEFAULT_EQUAL_BY_VALUE_OPTS;\r\n var compareOptions = _extends({}, DEFAULT_EQUAL_BY_VALUE_OPTS, options);\r\n return compareByValue(value1, value2, 0, compareOptions)\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/comparator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../dom_adapter\";\r\nimport {\r\n toComparable\r\n} from \"./data\";\r\nimport {\r\n isRenderer\r\n} from \"./type\";\r\nvar hasNegation = function(oldValue, newValue) {\r\n return 1 / oldValue === 1 / newValue\r\n};\r\nexport var equals = function(oldValue, newValue) {\r\n oldValue = toComparable(oldValue, true);\r\n newValue = toComparable(newValue, true);\r\n if (oldValue && newValue && isRenderer(oldValue) && isRenderer(newValue)) {\r\n return newValue.is(oldValue)\r\n }\r\n var oldValueIsNaN = oldValue !== oldValue;\r\n var newValueIsNaN = newValue !== newValue;\r\n if (oldValueIsNaN && newValueIsNaN) {\r\n return true\r\n }\r\n if (0 === oldValue && 0 === newValue) {\r\n return hasNegation(oldValue, newValue)\r\n }\r\n if (null === oldValue || \"object\" !== typeof oldValue || domAdapter.isElementNode(oldValue)) {\r\n return oldValue === newValue\r\n }\r\n return false\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/console.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isFunction\r\n} from \"./type\";\r\nvar noop = function() {};\r\nvar getConsoleMethod = function(method) {\r\n if (\"undefined\" === typeof console || !isFunction(console[method])) {\r\n return noop\r\n }\r\n return console[method].bind(console)\r\n};\r\nexport var logger = {\r\n info: getConsoleMethod(\"info\"),\r\n warn: getConsoleMethod(\"warn\"),\r\n error: getConsoleMethod(\"error\")\r\n};\r\nexport var debug = function() {\r\n function assert(condition, message) {\r\n if (!condition) {\r\n throw new Error(message)\r\n }\r\n }\r\n return {\r\n assert: assert,\r\n assertParam: function(parameter, message) {\r\n assert(null !== parameter && void 0 !== parameter, message)\r\n }\r\n }\r\n}();\r\n","/**\r\n * DevExtreme (esm/core/utils/data.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errors from \"../errors\";\r\nimport Class from \"../class\";\r\nimport {\r\n deepExtendArraySafe\r\n} from \"./object\";\r\nimport {\r\n isObject,\r\n isPlainObject,\r\n isFunction,\r\n isDefined\r\n} from \"./type\";\r\nimport {\r\n each\r\n} from \"./iterator\";\r\nimport variableWrapper from \"./variable_wrapper\";\r\nvar unwrapVariable = variableWrapper.unwrap;\r\nvar isWrapped = variableWrapper.isWrapped;\r\nvar assign = variableWrapper.assign;\r\nvar bracketsToDots = function(expr) {\r\n return expr.replace(/\\[/g, \".\").replace(/\\]/g, \"\")\r\n};\r\nexport var getPathParts = function(name) {\r\n return bracketsToDots(name).split(\".\")\r\n};\r\nvar readPropValue = function(obj, propName, options) {\r\n options = options || {};\r\n if (\"this\" === propName) {\r\n return unwrap(obj, options)\r\n }\r\n return unwrap(obj[propName], options)\r\n};\r\nvar assignPropValue = function(obj, propName, value, options) {\r\n if (\"this\" === propName) {\r\n throw new errors.Error(\"E4016\")\r\n }\r\n var propValue = obj[propName];\r\n if (options.unwrapObservables && isWrapped(propValue)) {\r\n assign(propValue, value)\r\n } else {\r\n obj[propName] = value\r\n }\r\n};\r\nvar prepareOptions = function(options) {\r\n options = options || {};\r\n options.unwrapObservables = void 0 !== options.unwrapObservables ? options.unwrapObservables : true;\r\n return options\r\n};\r\n\r\nfunction unwrap(value, options) {\r\n return options.unwrapObservables ? unwrapVariable(value) : value\r\n}\r\nexport var compileGetter = function(expr) {\r\n if (arguments.length > 1) {\r\n expr = [].slice.call(arguments)\r\n }\r\n if (!expr || \"this\" === expr) {\r\n return function(obj) {\r\n return obj\r\n }\r\n }\r\n if (\"string\" === typeof expr) {\r\n var path = getPathParts(expr);\r\n return function(obj, options) {\r\n options = prepareOptions(options);\r\n var functionAsIs = options.functionsAsIs;\r\n var hasDefaultValue = \"defaultValue\" in options;\r\n var current = unwrap(obj, options);\r\n for (var i = 0; i < path.length; i++) {\r\n if (!current) {\r\n if (null == current && hasDefaultValue) {\r\n return options.defaultValue\r\n }\r\n break\r\n }\r\n var pathPart = path[i];\r\n if (hasDefaultValue && isObject(current) && !(pathPart in current)) {\r\n return options.defaultValue\r\n }\r\n var next = unwrap(current[pathPart], options);\r\n if (!functionAsIs && isFunction(next)) {\r\n next = next.call(current)\r\n }\r\n current = next\r\n }\r\n return current\r\n }\r\n }\r\n if (Array.isArray(expr)) {\r\n return combineGetters(expr)\r\n }\r\n if (isFunction(expr)) {\r\n return expr\r\n }\r\n};\r\n\r\nfunction combineGetters(getters) {\r\n var compiledGetters = {};\r\n for (var i = 0, l = getters.length; i < l; i++) {\r\n var getter = getters[i];\r\n compiledGetters[getter] = compileGetter(getter)\r\n }\r\n return function(obj, options) {\r\n var result;\r\n each(compiledGetters, (function(name) {\r\n var value = this(obj, options);\r\n if (void 0 === value) {\r\n return\r\n }\r\n var current = result || (result = {});\r\n var path = name.split(\".\");\r\n var last = path.length - 1;\r\n for (var _i = 0; _i < last; _i++) {\r\n var pathItem = path[_i];\r\n if (!(pathItem in current)) {\r\n current[pathItem] = {}\r\n }\r\n current = current[pathItem]\r\n }\r\n current[path[last]] = value\r\n }));\r\n return result\r\n }\r\n}\r\nvar ensurePropValueDefined = function(obj, propName, value, options) {\r\n if (isDefined(value)) {\r\n return value\r\n }\r\n var newValue = {};\r\n assignPropValue(obj, propName, newValue, options);\r\n return newValue\r\n};\r\nexport var compileSetter = function(expr) {\r\n expr = getPathParts(expr || \"this\");\r\n var lastLevelIndex = expr.length - 1;\r\n return function(obj, value, options) {\r\n options = prepareOptions(options);\r\n var currentValue = unwrap(obj, options);\r\n expr.forEach((function(propertyName, levelIndex) {\r\n var propertyValue = readPropValue(currentValue, propertyName, options);\r\n var isPropertyFunc = !options.functionsAsIs && isFunction(propertyValue) && !isWrapped(propertyValue);\r\n if (levelIndex === lastLevelIndex) {\r\n if (options.merge && isPlainObject(value) && (!isDefined(propertyValue) || isPlainObject(propertyValue))) {\r\n propertyValue = ensurePropValueDefined(currentValue, propertyName, propertyValue, options);\r\n deepExtendArraySafe(propertyValue, value, false, true)\r\n } else if (isPropertyFunc) {\r\n currentValue[propertyName](value)\r\n } else {\r\n assignPropValue(currentValue, propertyName, value, options)\r\n }\r\n } else {\r\n propertyValue = ensurePropValueDefined(currentValue, propertyName, propertyValue, options);\r\n if (isPropertyFunc) {\r\n propertyValue = propertyValue.call(currentValue)\r\n }\r\n currentValue = propertyValue\r\n }\r\n }))\r\n }\r\n};\r\nexport var toComparable = function(value, caseSensitive) {\r\n if (value instanceof Date) {\r\n return value.getTime()\r\n }\r\n if (value && value instanceof Class && value.valueOf) {\r\n return value.valueOf()\r\n }\r\n if (!caseSensitive && \"string\" === typeof value) {\r\n return value.toLowerCase()\r\n }\r\n return value\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/ui/common/utils/date/toMilliseconds.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar timeIntervals = {\r\n millisecond: 1,\r\n second: 1e3,\r\n minute: 6e4,\r\n hour: 36e5,\r\n day: 864e5,\r\n week: 6048e5,\r\n month: 2592e6,\r\n quarter: 7776e6,\r\n year: 31536e6\r\n};\r\nexport function toMilliseconds(value) {\r\n return timeIntervals[value]\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/date.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isObject,\r\n isString,\r\n isDate,\r\n isDefined,\r\n isNumeric\r\n} from \"./type\";\r\nimport {\r\n adjust\r\n} from \"./math\";\r\nimport {\r\n each\r\n} from \"./iterator\";\r\nimport {\r\n camelize\r\n} from \"./inflector\";\r\nimport {\r\n toMilliseconds\r\n} from \"../../renovation/ui/common/utils/date/index\";\r\nvar DAYS_IN_WEEK = 7;\r\nvar THURSDAY_WEEK_NUMBER = 4;\r\nvar SUNDAY_WEEK_NUMBER = 7;\r\nvar USUAL_WEEK_COUNT_IN_YEAR = 52;\r\nvar dateUnitIntervals = [\"millisecond\", \"second\", \"minute\", \"hour\", \"day\", \"week\", \"month\", \"quarter\", \"year\"];\r\nvar getDatesInterval = function(startDate, endDate, intervalUnit) {\r\n var delta = endDate.getTime() - startDate.getTime();\r\n var millisecondCount = toMilliseconds(intervalUnit) || 1;\r\n return Math.floor(delta / millisecondCount)\r\n};\r\nvar getNextDateUnit = function(unit, withWeeks) {\r\n var interval = getDateUnitInterval(unit);\r\n switch (interval) {\r\n case \"millisecond\":\r\n return \"second\";\r\n case \"second\":\r\n return \"minute\";\r\n case \"minute\":\r\n return \"hour\";\r\n case \"hour\":\r\n return \"day\";\r\n case \"day\":\r\n return withWeeks ? \"week\" : \"month\";\r\n case \"week\":\r\n return \"month\";\r\n case \"month\":\r\n return \"quarter\";\r\n case \"quarter\":\r\n case \"year\":\r\n return \"year\";\r\n default:\r\n return 0\r\n }\r\n};\r\nvar convertMillisecondsToDateUnits = function(value) {\r\n var i;\r\n var dateUnitCount;\r\n var dateUnitInterval;\r\n var dateUnitIntervals = [\"millisecond\", \"second\", \"minute\", \"hour\", \"day\", \"month\", \"year\"];\r\n var result = {};\r\n for (i = dateUnitIntervals.length - 1; i >= 0; i--) {\r\n dateUnitInterval = dateUnitIntervals[i];\r\n dateUnitCount = Math.floor(value / toMilliseconds(dateUnitInterval));\r\n if (dateUnitCount > 0) {\r\n result[dateUnitInterval + \"s\"] = dateUnitCount;\r\n value -= convertDateUnitToMilliseconds(dateUnitInterval, dateUnitCount)\r\n }\r\n }\r\n return result\r\n};\r\nvar dateToMilliseconds = function(tickInterval) {\r\n var milliseconds = 0;\r\n if (isObject(tickInterval)) {\r\n each(tickInterval, (function(key, value) {\r\n milliseconds += convertDateUnitToMilliseconds(key.substr(0, key.length - 1), value)\r\n }))\r\n }\r\n if (isString(tickInterval)) {\r\n milliseconds = convertDateUnitToMilliseconds(tickInterval, 1)\r\n }\r\n return milliseconds\r\n};\r\n\r\nfunction convertDateUnitToMilliseconds(dateUnit, count) {\r\n return toMilliseconds(dateUnit) * count\r\n}\r\n\r\nfunction getDateUnitInterval(tickInterval) {\r\n var maxInterval = -1;\r\n var i;\r\n if (isString(tickInterval)) {\r\n return tickInterval\r\n }\r\n if (isObject(tickInterval)) {\r\n each(tickInterval, (function(key, value) {\r\n for (i = 0; i < dateUnitIntervals.length; i++) {\r\n if (value && (key === dateUnitIntervals[i] + \"s\" || key === dateUnitIntervals[i]) && maxInterval < i) {\r\n maxInterval = i\r\n }\r\n }\r\n }));\r\n return dateUnitIntervals[maxInterval]\r\n }\r\n return \"\"\r\n}\r\nvar tickIntervalToFormatMap = {\r\n millisecond: \"millisecond\",\r\n second: \"longtime\",\r\n minute: \"shorttime\",\r\n hour: \"shorttime\",\r\n day: \"day\",\r\n week: \"day\",\r\n month: \"month\",\r\n quarter: \"quarter\",\r\n year: \"year\"\r\n};\r\n\r\nfunction getDateFormatByTickInterval(tickInterval) {\r\n return tickIntervalToFormatMap[getDateUnitInterval(tickInterval)] || \"\"\r\n}\r\nvar getQuarter = function(month) {\r\n return Math.floor(month / 3)\r\n};\r\nvar getFirstQuarterMonth = function(month) {\r\n return 3 * getQuarter(month)\r\n};\r\n\r\nfunction correctDateWithUnitBeginning(date, dateInterval, withCorrection, firstDayOfWeek) {\r\n date = new Date(date.getTime());\r\n var oldDate = new Date(date.getTime());\r\n var firstQuarterMonth;\r\n var month;\r\n var dateUnitInterval = getDateUnitInterval(dateInterval);\r\n switch (dateUnitInterval) {\r\n case \"second\":\r\n date = new Date(1e3 * Math.floor(oldDate.getTime() / 1e3));\r\n break;\r\n case \"minute\":\r\n date = new Date(6e4 * Math.floor(oldDate.getTime() / 6e4));\r\n break;\r\n case \"hour\":\r\n date = new Date(36e5 * Math.floor(oldDate.getTime() / 36e5));\r\n break;\r\n case \"year\":\r\n date.setMonth(0);\r\n case \"month\":\r\n date.setDate(1);\r\n case \"day\":\r\n date.setHours(0, 0, 0, 0);\r\n break;\r\n case \"week\":\r\n date = getFirstWeekDate(date, firstDayOfWeek || 0);\r\n date.setHours(0, 0, 0, 0);\r\n break;\r\n case \"quarter\":\r\n firstQuarterMonth = getFirstQuarterMonth(date.getMonth());\r\n month = date.getMonth();\r\n date.setDate(1);\r\n date.setHours(0, 0, 0, 0);\r\n if (month !== firstQuarterMonth) {\r\n date.setMonth(firstQuarterMonth)\r\n }\r\n }\r\n if (withCorrection && \"hour\" !== dateUnitInterval && \"minute\" !== dateUnitInterval && \"second\" !== dateUnitInterval) {\r\n fixTimezoneGap(oldDate, date)\r\n }\r\n return date\r\n}\r\n\r\nfunction trimTime(date) {\r\n return correctDateWithUnitBeginning(date, \"day\")\r\n}\r\nvar setToDayEnd = function(date) {\r\n var result = trimTime(date);\r\n result.setDate(result.getDate() + 1);\r\n return new Date(result.getTime() - 1)\r\n};\r\nvar getDatesDifferences = function(date1, date2) {\r\n var counter = 0;\r\n var differences = {\r\n year: date1.getFullYear() !== date2.getFullYear(),\r\n month: date1.getMonth() !== date2.getMonth(),\r\n day: date1.getDate() !== date2.getDate(),\r\n hour: date1.getHours() !== date2.getHours(),\r\n minute: date1.getMinutes() !== date2.getMinutes(),\r\n second: date1.getSeconds() !== date2.getSeconds(),\r\n millisecond: date1.getMilliseconds() !== date2.getMilliseconds()\r\n };\r\n each(differences, (function(key, value) {\r\n if (value) {\r\n counter++\r\n }\r\n }));\r\n if (0 === counter && 0 !== getTimezonesDifference(date1, date2)) {\r\n differences.hour = true;\r\n counter++\r\n }\r\n differences.count = counter;\r\n return differences\r\n};\r\n\r\nfunction addDateInterval(value, interval, dir) {\r\n var result = new Date(value.getTime());\r\n var intervalObject = isString(interval) ? getDateIntervalByString(interval.toLowerCase()) : isNumeric(interval) ? convertMillisecondsToDateUnits(interval) : interval;\r\n if (intervalObject.years) {\r\n result.setFullYear(result.getFullYear() + intervalObject.years * dir)\r\n }\r\n if (intervalObject.quarters) {\r\n result.setMonth(result.getMonth() + 3 * intervalObject.quarters * dir)\r\n }\r\n if (intervalObject.months) {\r\n result.setMonth(result.getMonth() + intervalObject.months * dir)\r\n }\r\n if (intervalObject.weeks) {\r\n result.setDate(result.getDate() + 7 * intervalObject.weeks * dir)\r\n }\r\n if (intervalObject.days) {\r\n result.setDate(result.getDate() + intervalObject.days * dir)\r\n }\r\n if (intervalObject.hours) {\r\n result.setTime(result.getTime() + 36e5 * intervalObject.hours * dir)\r\n }\r\n if (intervalObject.minutes) {\r\n result.setTime(result.getTime() + 6e4 * intervalObject.minutes * dir)\r\n }\r\n if (intervalObject.seconds) {\r\n result.setTime(result.getTime() + 1e3 * intervalObject.seconds * dir)\r\n }\r\n if (intervalObject.milliseconds) {\r\n result.setTime(result.getTime() + intervalObject.milliseconds * dir)\r\n }\r\n return result\r\n}\r\nvar addInterval = function(value, interval, isNegative) {\r\n var dir = isNegative ? -1 : 1;\r\n return isDate(value) ? addDateInterval(value, interval, dir) : adjust(value + interval * dir, interval)\r\n};\r\nvar getSequenceByInterval = function(min, max, interval) {\r\n var intervals = [];\r\n var cur;\r\n intervals.push(isDate(min) ? new Date(min.getTime()) : min);\r\n cur = min;\r\n while (cur < max) {\r\n cur = addInterval(cur, interval);\r\n intervals.push(cur)\r\n }\r\n return intervals\r\n};\r\nvar getViewFirstCellDate = function(viewType, date) {\r\n if (\"month\" === viewType) {\r\n return createDateWithFullYear(date.getFullYear(), date.getMonth(), 1)\r\n }\r\n if (\"year\" === viewType) {\r\n return createDateWithFullYear(date.getFullYear(), 0, date.getDate())\r\n }\r\n if (\"decade\" === viewType) {\r\n return createDateWithFullYear(getFirstYearInDecade(date), date.getMonth(), date.getDate())\r\n }\r\n if (\"century\" === viewType) {\r\n return createDateWithFullYear(getFirstDecadeInCentury(date), date.getMonth(), date.getDate())\r\n }\r\n};\r\nvar getViewLastCellDate = function(viewType, date) {\r\n if (\"month\" === viewType) {\r\n return createDateWithFullYear(date.getFullYear(), date.getMonth(), getLastMonthDay(date))\r\n }\r\n if (\"year\" === viewType) {\r\n return createDateWithFullYear(date.getFullYear(), 11, date.getDate())\r\n }\r\n if (\"decade\" === viewType) {\r\n return createDateWithFullYear(getFirstYearInDecade(date) + 9, date.getMonth(), date.getDate())\r\n }\r\n if (\"century\" === viewType) {\r\n return createDateWithFullYear(getFirstDecadeInCentury(date) + 90, date.getMonth(), date.getDate())\r\n }\r\n};\r\nvar getViewMinBoundaryDate = function(viewType, date) {\r\n var resultDate = createDateWithFullYear(date.getFullYear(), date.getMonth(), 1);\r\n if (\"month\" === viewType) {\r\n return resultDate\r\n }\r\n resultDate.setMonth(0);\r\n if (\"year\" === viewType) {\r\n return resultDate\r\n }\r\n if (\"decade\" === viewType) {\r\n resultDate.setFullYear(getFirstYearInDecade(date))\r\n }\r\n if (\"century\" === viewType) {\r\n resultDate.setFullYear(getFirstDecadeInCentury(date))\r\n }\r\n return resultDate\r\n};\r\nvar getViewMaxBoundaryDate = function(viewType, date) {\r\n var resultDate = new Date(date);\r\n resultDate.setDate(getLastMonthDay(date));\r\n if (\"month\" === viewType) {\r\n return resultDate\r\n }\r\n resultDate.setMonth(11);\r\n resultDate.setDate(getLastMonthDay(resultDate));\r\n if (\"year\" === viewType) {\r\n return resultDate\r\n }\r\n if (\"decade\" === viewType) {\r\n resultDate.setFullYear(getFirstYearInDecade(date) + 9)\r\n }\r\n if (\"century\" === viewType) {\r\n resultDate.setFullYear(getFirstDecadeInCentury(date) + 99)\r\n }\r\n return resultDate\r\n};\r\n\r\nfunction getLastMonthDay(date) {\r\n var resultDate = createDateWithFullYear(date.getFullYear(), date.getMonth() + 1, 0);\r\n return resultDate.getDate()\r\n}\r\nvar getViewUp = function(typeView) {\r\n switch (typeView) {\r\n case \"month\":\r\n return \"year\";\r\n case \"year\":\r\n return \"decade\";\r\n case \"decade\":\r\n return \"century\"\r\n }\r\n};\r\nvar getViewDown = function(typeView) {\r\n switch (typeView) {\r\n case \"century\":\r\n return \"decade\";\r\n case \"decade\":\r\n return \"year\";\r\n case \"year\":\r\n return \"month\"\r\n }\r\n};\r\nvar getDifferenceInMonth = function(typeView) {\r\n var difference = 1;\r\n if (\"year\" === typeView) {\r\n difference = 12\r\n }\r\n if (\"decade\" === typeView) {\r\n difference = 120\r\n }\r\n if (\"century\" === typeView) {\r\n difference = 1200\r\n }\r\n return difference\r\n};\r\nvar getDifferenceInMonthForCells = function(typeView) {\r\n var difference = 1;\r\n if (\"decade\" === typeView) {\r\n difference = 12\r\n }\r\n if (\"century\" === typeView) {\r\n difference = 120\r\n }\r\n return difference\r\n};\r\n\r\nfunction getDateIntervalByString(intervalString) {\r\n var result = {};\r\n switch (intervalString) {\r\n case \"year\":\r\n result.years = 1;\r\n break;\r\n case \"month\":\r\n result.months = 1;\r\n break;\r\n case \"quarter\":\r\n result.months = 3;\r\n break;\r\n case \"week\":\r\n result.weeks = 1;\r\n break;\r\n case \"day\":\r\n result.days = 1;\r\n break;\r\n case \"hour\":\r\n result.hours = 1;\r\n break;\r\n case \"minute\":\r\n result.minutes = 1;\r\n break;\r\n case \"second\":\r\n result.seconds = 1;\r\n break;\r\n case \"millisecond\":\r\n result.milliseconds = 1\r\n }\r\n return result\r\n}\r\n\r\nfunction sameDate(date1, date2) {\r\n return sameMonthAndYear(date1, date2) && date1.getDate() === date2.getDate()\r\n}\r\n\r\nfunction sameMonthAndYear(date1, date2) {\r\n return sameYear(date1, date2) && date1.getMonth() === date2.getMonth()\r\n}\r\n\r\nfunction sameYear(date1, date2) {\r\n return date1 && date2 && date1.getFullYear() === date2.getFullYear()\r\n}\r\n\r\nfunction sameHoursAndMinutes(date1, date2) {\r\n return date1 && date2 && date1.getHours() === date2.getHours() && date1.getMinutes() === date2.getMinutes()\r\n}\r\nvar sameDecade = function(date1, date2) {\r\n if (!isDefined(date1) || !isDefined(date2)) {\r\n return\r\n }\r\n var startDecadeDate1 = date1.getFullYear() - date1.getFullYear() % 10;\r\n var startDecadeDate2 = date2.getFullYear() - date2.getFullYear() % 10;\r\n return date1 && date2 && startDecadeDate1 === startDecadeDate2\r\n};\r\nvar sameCentury = function(date1, date2) {\r\n if (!isDefined(date1) || !isDefined(date2)) {\r\n return\r\n }\r\n var startCenturyDate1 = date1.getFullYear() - date1.getFullYear() % 100;\r\n var startCenturyDate2 = date2.getFullYear() - date2.getFullYear() % 100;\r\n return date1 && date2 && startCenturyDate1 === startCenturyDate2\r\n};\r\n\r\nfunction getFirstDecadeInCentury(date) {\r\n return date && date.getFullYear() - date.getFullYear() % 100\r\n}\r\n\r\nfunction getFirstYearInDecade(date) {\r\n return date && date.getFullYear() - date.getFullYear() % 10\r\n}\r\nvar getShortDateFormat = function() {\r\n return \"yyyy/MM/dd\"\r\n};\r\nvar getFirstMonthDate = function(date) {\r\n if (!isDefined(date)) {\r\n return\r\n }\r\n return createDateWithFullYear(date.getFullYear(), date.getMonth(), 1)\r\n};\r\nvar getLastMonthDate = function(date) {\r\n if (!isDefined(date)) {\r\n return\r\n }\r\n return createDateWithFullYear(date.getFullYear(), date.getMonth() + 1, 0)\r\n};\r\n\r\nfunction getFirstWeekDate(date, firstDayOfWeek) {\r\n var delta = (date.getDay() - firstDayOfWeek + DAYS_IN_WEEK) % DAYS_IN_WEEK;\r\n var result = new Date(date);\r\n result.setDate(date.getDate() - delta);\r\n return result\r\n}\r\n\r\nfunction getUTCTime(date) {\r\n return Date.UTC(date.getFullYear(), date.getMonth(), date.getDate())\r\n}\r\n\r\nfunction getDayNumber(date) {\r\n var ms = getUTCTime(date) - getUTCTime(getFirstDateInYear(date.getFullYear()));\r\n return 1 + Math.floor(ms / toMilliseconds(\"day\"))\r\n}\r\n\r\nfunction getFirstDateInYear(year) {\r\n return new Date(year, 0, 1)\r\n}\r\n\r\nfunction getLastDateInYear(year) {\r\n return new Date(year, 11, 31)\r\n}\r\n\r\nfunction getDayWeekNumber(date, firstDayOfWeek) {\r\n var day = date.getDay() - firstDayOfWeek + 1;\r\n if (day <= 0) {\r\n day += DAYS_IN_WEEK\r\n }\r\n return day\r\n}\r\n\r\nfunction getWeekNumber(date, firstDayOfWeek, rule) {\r\n var firstWeekDayInYear = getDayWeekNumber(getFirstDateInYear(date.getFullYear()), firstDayOfWeek);\r\n var lastWeekDayInYear = getDayWeekNumber(getLastDateInYear(date.getFullYear()), firstDayOfWeek);\r\n var daysInFirstWeek = DAYS_IN_WEEK - firstWeekDayInYear + 1;\r\n var weekNumber = Math.ceil((getDayNumber(date) - daysInFirstWeek) / 7);\r\n switch (rule) {\r\n case \"fullWeek\":\r\n if (daysInFirstWeek === DAYS_IN_WEEK) {\r\n weekNumber++\r\n }\r\n if (0 === weekNumber) {\r\n var lastDateInPreviousYear = getLastDateInYear(date.getFullYear() - 1);\r\n return getWeekNumber(lastDateInPreviousYear, firstDayOfWeek, rule)\r\n }\r\n return weekNumber;\r\n case \"firstDay\":\r\n if (daysInFirstWeek > 0) {\r\n weekNumber++\r\n }\r\n var isSunday = firstWeekDayInYear === SUNDAY_WEEK_NUMBER || lastWeekDayInYear === SUNDAY_WEEK_NUMBER;\r\n if (weekNumber > USUAL_WEEK_COUNT_IN_YEAR && !isSunday || 54 === weekNumber) {\r\n weekNumber = 1\r\n }\r\n return weekNumber;\r\n case \"firstFourDays\":\r\n if (daysInFirstWeek > 3) {\r\n weekNumber++\r\n }\r\n var isThursday = firstWeekDayInYear === THURSDAY_WEEK_NUMBER || lastWeekDayInYear === THURSDAY_WEEK_NUMBER;\r\n if (weekNumber > USUAL_WEEK_COUNT_IN_YEAR && !isThursday) {\r\n weekNumber = 1\r\n }\r\n if (0 === weekNumber) {\r\n var _lastDateInPreviousYear = getLastDateInYear(date.getFullYear() - 1);\r\n return getWeekNumber(_lastDateInPreviousYear, firstDayOfWeek, rule)\r\n }\r\n return weekNumber\r\n }\r\n}\r\nvar normalizeDateByWeek = function(date, currentDate) {\r\n var differenceInDays = dateUtils.getDatesInterval(date, currentDate, \"day\");\r\n var resultDate = new Date(date);\r\n if (differenceInDays >= 6) {\r\n resultDate = new Date(resultDate.setDate(resultDate.getDate() + 7))\r\n }\r\n return resultDate\r\n};\r\nvar dateInRange = function(date, min, max, format) {\r\n if (\"date\" === format) {\r\n min = min && dateUtils.correctDateWithUnitBeginning(min, \"day\");\r\n max = max && dateUtils.correctDateWithUnitBeginning(max, \"day\");\r\n date = date && dateUtils.correctDateWithUnitBeginning(date, \"day\")\r\n }\r\n return normalizeDate(date, min, max) === date\r\n};\r\nvar intervalsOverlap = function(options) {\r\n var {\r\n firstMin: firstMin,\r\n firstMax: firstMax,\r\n secondMin: secondMin,\r\n secondMax: secondMax\r\n } = options;\r\n return firstMin <= secondMin && secondMin <= firstMax || firstMin > secondMin && firstMin < secondMax || firstMin < secondMax && firstMax > secondMax\r\n};\r\nvar dateTimeFromDecimal = function(number) {\r\n var hours = Math.floor(number);\r\n var minutes = number % 1 * 60;\r\n return {\r\n hours: hours,\r\n minutes: minutes\r\n }\r\n};\r\nvar roundDateByStartDayHour = function(date, startDayHour) {\r\n var startTime = this.dateTimeFromDecimal(startDayHour);\r\n var result = new Date(date);\r\n if (date.getHours() === startTime.hours && date.getMinutes() < startTime.minutes || date.getHours() < startTime.hours) {\r\n result.setHours(startTime.hours, startTime.minutes, 0, 0)\r\n }\r\n return result\r\n};\r\n\r\nfunction normalizeDate(date, min, max) {\r\n var normalizedDate = date;\r\n if (!isDefined(date)) {\r\n return date\r\n }\r\n if (isDefined(min) && date < min) {\r\n normalizedDate = min\r\n }\r\n if (isDefined(max) && date > max) {\r\n normalizedDate = max\r\n }\r\n return normalizedDate\r\n}\r\n\r\nfunction fixTimezoneGap(oldDate, newDate) {\r\n if (!isDefined(oldDate)) {\r\n return\r\n }\r\n var diff = newDate.getHours() - oldDate.getHours();\r\n if (0 === diff) {\r\n return\r\n }\r\n var sign = 1 === diff || -23 === diff ? -1 : 1;\r\n var trial = new Date(newDate.getTime() + 36e5 * sign);\r\n if (sign > 0 || trial.getDate() === newDate.getDate()) {\r\n newDate.setTime(trial.getTime())\r\n }\r\n}\r\nvar roundToHour = function(date) {\r\n var result = new Date(date.getTime());\r\n result.setHours(result.getHours() + 1);\r\n result.setMinutes(0);\r\n return result\r\n};\r\n\r\nfunction getTimezonesDifference(min, max) {\r\n return 60 * (max.getTimezoneOffset() - min.getTimezoneOffset()) * 1e3\r\n}\r\nvar makeDate = function(date) {\r\n return new Date(date)\r\n};\r\nvar getDatesOfInterval = function(startDate, endDate, step) {\r\n var result = [];\r\n var currentDate = new Date(startDate.getTime());\r\n while (currentDate < endDate) {\r\n result.push(new Date(currentDate.getTime()));\r\n currentDate = this.addInterval(currentDate, step)\r\n }\r\n return result\r\n};\r\nvar createDateWithFullYear = function(year) {\r\n var result = new Date(...arguments);\r\n result.setFullYear(year);\r\n return result\r\n};\r\nvar getMachineTimezoneName = () => {\r\n var hasIntl = \"undefined\" !== typeof Intl;\r\n return hasIntl ? Intl.DateTimeFormat().resolvedOptions().timeZone : null\r\n};\r\nvar dateUtils = {\r\n dateUnitIntervals: dateUnitIntervals,\r\n convertMillisecondsToDateUnits: convertMillisecondsToDateUnits,\r\n dateToMilliseconds: dateToMilliseconds,\r\n getNextDateUnit: getNextDateUnit,\r\n convertDateUnitToMilliseconds: convertDateUnitToMilliseconds,\r\n getDateUnitInterval: getDateUnitInterval,\r\n getDateFormatByTickInterval: getDateFormatByTickInterval,\r\n getDatesDifferences: getDatesDifferences,\r\n correctDateWithUnitBeginning: correctDateWithUnitBeginning,\r\n trimTime: trimTime,\r\n setToDayEnd: setToDayEnd,\r\n roundDateByStartDayHour: roundDateByStartDayHour,\r\n dateTimeFromDecimal: dateTimeFromDecimal,\r\n addDateInterval: addDateInterval,\r\n addInterval: addInterval,\r\n getSequenceByInterval: getSequenceByInterval,\r\n getDateIntervalByString: getDateIntervalByString,\r\n sameHoursAndMinutes: sameHoursAndMinutes,\r\n sameDate: sameDate,\r\n sameMonthAndYear: sameMonthAndYear,\r\n sameMonth: sameMonthAndYear,\r\n sameYear: sameYear,\r\n sameDecade: sameDecade,\r\n sameCentury: sameCentury,\r\n getDifferenceInMonth: getDifferenceInMonth,\r\n getDifferenceInMonthForCells: getDifferenceInMonthForCells,\r\n getFirstYearInDecade: getFirstYearInDecade,\r\n getFirstDecadeInCentury: getFirstDecadeInCentury,\r\n getShortDateFormat: getShortDateFormat,\r\n getViewFirstCellDate: getViewFirstCellDate,\r\n getViewLastCellDate: getViewLastCellDate,\r\n getViewDown: getViewDown,\r\n getViewUp: getViewUp,\r\n getLastMonthDay: getLastMonthDay,\r\n getLastMonthDate: getLastMonthDate,\r\n getFirstMonthDate: getFirstMonthDate,\r\n getFirstWeekDate: getFirstWeekDate,\r\n getWeekNumber: getWeekNumber,\r\n normalizeDateByWeek: normalizeDateByWeek,\r\n getQuarter: getQuarter,\r\n getFirstQuarterMonth: getFirstQuarterMonth,\r\n dateInRange: dateInRange,\r\n intervalsOverlap: intervalsOverlap,\r\n roundToHour: roundToHour,\r\n normalizeDate: normalizeDate,\r\n getViewMinBoundaryDate: getViewMinBoundaryDate,\r\n getViewMaxBoundaryDate: getViewMaxBoundaryDate,\r\n fixTimezoneGap: fixTimezoneGap,\r\n getTimezonesDifference: getTimezonesDifference,\r\n makeDate: makeDate,\r\n getDatesInterval: getDatesInterval,\r\n getDatesOfInterval: getDatesOfInterval,\r\n createDateWithFullYear: createDateWithFullYear,\r\n getMachineTimezoneName: getMachineTimezoneName\r\n};\r\ndateUtils.sameView = function(view, date1, date2) {\r\n return dateUtils[camelize(\"same \" + view)](date1, date2)\r\n};\r\nexport default dateUtils;\r\n","/**\r\n * DevExtreme (esm/core/utils/date_serialization.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport config from \"../config\";\r\nimport {\r\n getFormatter as getLDMLFormatter\r\n} from \"../../localization/ldml/date.formatter\";\r\nimport defaultDateNames from \"../../localization/default_date_names\";\r\nimport {\r\n isString,\r\n isDate,\r\n isNumeric as isNumber\r\n} from \"./type\";\r\nvar NUMBER_SERIALIZATION_FORMAT = \"number\";\r\nvar DATE_SERIALIZATION_FORMAT = \"yyyy/MM/dd\";\r\nvar DATETIME_SERIALIZATION_FORMAT = \"yyyy/MM/dd HH:mm:ss\";\r\nvar ISO8601_PATTERN = /^(\\d{4,})(-)?(\\d{2})(-)?(\\d{2})(?:T(\\d{2})(:)?(\\d{2})?(:)?(\\d{2}(?:\\.(\\d{1,3})\\d*)?)?)?(Z|([+-])(\\d{2})(:)?(\\d{2})?)?$/;\r\nvar ISO8601_TIME_PATTERN = /^(\\d{2}):(\\d{2})(:(\\d{2}))?$/;\r\nvar ISO8601_PATTERN_PARTS = [\"\", \"yyyy\", \"\", \"MM\", \"\", \"dd\", \"THH\", \"\", \"mm\", \"\", \"ss\", \".SSS\"];\r\nvar DATE_SERIALIZATION_PATTERN = /^(\\d{4})\\/(\\d{2})\\/(\\d{2})$/;\r\nvar MILLISECOND_LENGHT = 3;\r\nvar dateParser = function(text, skipISO8601Parsing) {\r\n var result;\r\n if (isString(text) && !skipISO8601Parsing) {\r\n result = parseISO8601String(text)\r\n }\r\n return result || parseDate(text)\r\n};\r\n\r\nfunction getTimePart(part) {\r\n return +part || 0\r\n}\r\n\r\nfunction parseDate(text) {\r\n var isDefaultSerializationFormat = getDateSerializationFormat(text) === DATE_SERIALIZATION_FORMAT;\r\n var parsedValue = !isDate(text) && Date.parse(text);\r\n if (!parsedValue && isDefaultSerializationFormat) {\r\n var parts = text.match(DATE_SERIALIZATION_PATTERN);\r\n if (parts) {\r\n var newDate = new Date(getTimePart(parts[1]), getTimePart(parts[2]), getTimePart(parts[3]));\r\n newDate.setFullYear(getTimePart(parts[1]));\r\n newDate.setMonth(getTimePart(parts[2]) - 1);\r\n newDate.setDate(getTimePart(parts[3]));\r\n return newDate\r\n }\r\n }\r\n return isNumber(parsedValue) ? new Date(parsedValue) : text\r\n}\r\n\r\nfunction parseISO8601String(text) {\r\n var parts = text.match(ISO8601_PATTERN);\r\n if (!parts) {\r\n parts = text.match(ISO8601_TIME_PATTERN);\r\n if (parts) {\r\n return new Date(0, 0, 0, getTimePart(parts[1]), getTimePart(parts[2]), getTimePart(parts[4]))\r\n }\r\n return\r\n }\r\n var year = getTimePart(parts[1]);\r\n var month = --parts[3];\r\n var day = parts[5];\r\n var timeZoneHour = 0;\r\n var timeZoneMinute = 0;\r\n var correctYear = d => {\r\n year < 100 && d.setFullYear(year);\r\n return d\r\n };\r\n timeZoneHour = getTimePart(parts[14]);\r\n timeZoneMinute = getTimePart(parts[16]);\r\n if (\"-\" === parts[13]) {\r\n timeZoneHour = -timeZoneHour;\r\n timeZoneMinute = -timeZoneMinute\r\n }\r\n var hour = getTimePart(parts[6]) - timeZoneHour;\r\n var minute = getTimePart(parts[8]) - timeZoneMinute;\r\n var second = getTimePart(parts[10]);\r\n var millisecond = function(part) {\r\n part = part || \"\";\r\n return getTimePart(part) * Math.pow(10, MILLISECOND_LENGHT - part.length)\r\n }(parts[11]);\r\n if (parts[12]) {\r\n return correctYear(new Date(Date.UTC(year, month, day, hour, minute, second, millisecond)))\r\n }\r\n return correctYear(new Date(year, month, day, hour, minute, second, millisecond))\r\n}\r\nvar getIso8601Format = function(text, useUtc) {\r\n var parts = text.match(ISO8601_PATTERN);\r\n var result = \"\";\r\n if (!parts) {\r\n parts = text.match(ISO8601_TIME_PATTERN);\r\n if (parts) {\r\n return parts[3] ? \"HH:mm:ss\" : \"HH:mm\"\r\n }\r\n return\r\n }\r\n for (var i = 1; i < ISO8601_PATTERN_PARTS.length; i++) {\r\n if (parts[i]) {\r\n result += ISO8601_PATTERN_PARTS[i] || parts[i]\r\n }\r\n }\r\n if (\"Z\" === parts[12]) {\r\n result += \"'Z'\"\r\n }\r\n if (parts[14]) {\r\n if (parts[15]) {\r\n result += \"xxx\"\r\n } else if (parts[16]) {\r\n result += \"xx\"\r\n } else {\r\n result += \"x\"\r\n }\r\n }\r\n return result\r\n};\r\nvar deserializeDate = function(value) {\r\n if (\"number\" === typeof value) {\r\n return new Date(value)\r\n }\r\n return dateParser(value, !config().forceIsoDateParsing)\r\n};\r\nvar serializeDate = function(value, serializationFormat) {\r\n if (!serializationFormat) {\r\n return value\r\n }\r\n if (!isDate(value)) {\r\n return null\r\n }\r\n if (serializationFormat === NUMBER_SERIALIZATION_FORMAT) {\r\n return value && value.valueOf ? value.valueOf() : null\r\n }\r\n return getLDMLFormatter(serializationFormat, defaultDateNames)(value)\r\n};\r\nvar getDateSerializationFormat = function(value) {\r\n if (\"number\" === typeof value) {\r\n return NUMBER_SERIALIZATION_FORMAT\r\n } else if (isString(value)) {\r\n var format;\r\n if (config().forceIsoDateParsing) {\r\n format = getIso8601Format(value)\r\n }\r\n if (format) {\r\n return format\r\n } else if (value.indexOf(\":\") >= 0) {\r\n return DATETIME_SERIALIZATION_FORMAT\r\n } else {\r\n return DATE_SERIALIZATION_FORMAT\r\n }\r\n } else if (value) {\r\n return null\r\n }\r\n};\r\nexport default {\r\n dateParser: dateParser,\r\n deserializeDate: deserializeDate,\r\n serializeDate: serializeDate,\r\n getDateSerializationFormat: getDateSerializationFormat\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/deferred.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDeferred,\r\n isDefined,\r\n isPromise\r\n} from \"../utils/type\";\r\nimport {\r\n extend\r\n} from \"../utils/extend\";\r\nimport Callbacks from \"../utils/callbacks\";\r\nvar deferredConfig = [{\r\n method: \"resolve\",\r\n handler: \"done\",\r\n state: \"resolved\"\r\n}, {\r\n method: \"reject\",\r\n handler: \"fail\",\r\n state: \"rejected\"\r\n}, {\r\n method: \"notify\",\r\n handler: \"progress\"\r\n}];\r\nvar _DeferredObj = function() {\r\n var that = this;\r\n this._state = \"pending\";\r\n this._promise = {};\r\n deferredConfig.forEach(function(config) {\r\n var methodName = config.method;\r\n this[methodName + \"Callbacks\"] = Callbacks();\r\n this[methodName] = function() {\r\n return this[methodName + \"With\"](this._promise, arguments)\r\n }.bind(this);\r\n this._promise[config.handler] = function(handler) {\r\n if (!handler) {\r\n return this\r\n }\r\n var callbacks = that[methodName + \"Callbacks\"];\r\n if (callbacks.fired()) {\r\n handler.apply(that[methodName + \"Context\"], that[methodName + \"Args\"])\r\n } else {\r\n callbacks.add(function(context, args) {\r\n handler.apply(context, args)\r\n }.bind(this))\r\n }\r\n return this\r\n }\r\n }.bind(this));\r\n this._promise.always = function(handler) {\r\n return this.done(handler).fail(handler)\r\n };\r\n this._promise.catch = function(handler) {\r\n return this.then(null, handler)\r\n };\r\n this._promise.then = function(resolve, reject) {\r\n var result = new _DeferredObj;\r\n [\"done\", \"fail\"].forEach(function(method) {\r\n var callback = \"done\" === method ? resolve : reject;\r\n this[method]((function() {\r\n if (!callback) {\r\n result[\"done\" === method ? \"resolve\" : \"reject\"].apply(this, arguments);\r\n return\r\n }\r\n var callbackResult = callback && callback.apply(this, arguments);\r\n if (isDeferred(callbackResult)) {\r\n callbackResult.done(result.resolve).fail(result.reject)\r\n } else if (isPromise(callbackResult)) {\r\n callbackResult.then(result.resolve, result.reject)\r\n } else {\r\n result.resolve.apply(this, isDefined(callbackResult) ? [callbackResult] : arguments)\r\n }\r\n }))\r\n }.bind(this));\r\n return result.promise()\r\n };\r\n this._promise.state = function() {\r\n return that._state\r\n };\r\n this._promise.promise = function(args) {\r\n return args ? extend(args, that._promise) : that._promise\r\n };\r\n this._promise.promise(this)\r\n};\r\ndeferredConfig.forEach((function(config) {\r\n var methodName = config.method;\r\n var state = config.state;\r\n _DeferredObj.prototype[methodName + \"With\"] = function(context, args) {\r\n var callbacks = this[methodName + \"Callbacks\"];\r\n if (\"pending\" === this.state()) {\r\n this[methodName + \"Args\"] = args;\r\n this[methodName + \"Context\"] = context;\r\n if (state) {\r\n this._state = state\r\n }\r\n callbacks.fire(context, args)\r\n }\r\n return this\r\n }\r\n}));\r\nexport function fromPromise(promise, context) {\r\n if (isDeferred(promise)) {\r\n return promise\r\n } else if (isPromise(promise)) {\r\n var d = new _DeferredObj;\r\n promise.then((function() {\r\n d.resolveWith.apply(d, [context].concat([\r\n [].slice.call(arguments)\r\n ]))\r\n }), (function() {\r\n d.rejectWith.apply(d, [context].concat([\r\n [].slice.call(arguments)\r\n ]))\r\n }));\r\n return d\r\n }\r\n return (new _DeferredObj).resolveWith(context, [promise])\r\n}\r\nvar whenFunc = function() {\r\n if (1 === arguments.length) {\r\n return fromPromise(arguments[0])\r\n }\r\n var values = [].slice.call(arguments);\r\n var contexts = [];\r\n var resolvedCount = 0;\r\n var deferred = new _DeferredObj;\r\n var updateState = function(i) {\r\n return function(value) {\r\n contexts[i] = this;\r\n values[i] = arguments.length > 1 ? [].slice.call(arguments) : value;\r\n resolvedCount++;\r\n if (resolvedCount === values.length) {\r\n deferred.resolveWith(contexts, values)\r\n }\r\n }\r\n };\r\n for (var i = 0; i < values.length; i++) {\r\n if (isDeferred(values[i])) {\r\n values[i].promise().done(updateState(i)).fail(deferred.reject)\r\n } else {\r\n resolvedCount++\r\n }\r\n }\r\n if (resolvedCount === values.length) {\r\n deferred.resolveWith(contexts, values)\r\n }\r\n return deferred.promise()\r\n};\r\nexport function setStrategy(value) {\r\n _DeferredObj = value.Deferred;\r\n whenFunc = value.when\r\n}\r\nexport function Deferred() {\r\n return new _DeferredObj\r\n}\r\nexport function when() {\r\n return whenFunc.apply(this, arguments)\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/dependency_injector.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"./extend\";\r\nimport {\r\n isFunction\r\n} from \"./type\";\r\nimport {\r\n each\r\n} from \"./iterator\";\r\nimport Class from \"../class\";\r\nexport default function(object) {\r\n var BaseClass = Class.inherit(object);\r\n var InjectedClass = BaseClass;\r\n var instance = new InjectedClass(object);\r\n var initialFields = {};\r\n var injectFields = function(injectionObject, initial) {\r\n each(injectionObject, (function(key) {\r\n if (isFunction(instance[key])) {\r\n if (initial || !object[key]) {\r\n object[key] = function() {\r\n return instance[key].apply(object, arguments)\r\n }\r\n }\r\n } else {\r\n if (initial) {\r\n initialFields[key] = object[key]\r\n }\r\n object[key] = instance[key]\r\n }\r\n }))\r\n };\r\n injectFields(object, true);\r\n object.inject = function(injectionObject) {\r\n InjectedClass = InjectedClass.inherit(injectionObject);\r\n instance = new InjectedClass;\r\n injectFields(injectionObject)\r\n };\r\n object.resetInjection = function() {\r\n extend(object, initialFields);\r\n InjectedClass = BaseClass;\r\n instance = new BaseClass\r\n };\r\n return object\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/dom.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n each\r\n} from \"./iterator\";\r\nimport {\r\n isDefined,\r\n isRenderer,\r\n isWindow,\r\n isString\r\n} from \"./type\";\r\nimport {\r\n getWindow\r\n} from \"./window\";\r\nvar window = getWindow();\r\nvar getRootNodeHost = element => {\r\n if (!element.getRootNode) {\r\n return\r\n }\r\n var host = element.getRootNode().host;\r\n if (isString(host)) {\r\n return\r\n }\r\n return host\r\n};\r\nexport var resetActiveElement = () => {\r\n var activeElement = domAdapter.getActiveElement();\r\n if (activeElement && activeElement !== domAdapter.getBody()) {\r\n var _activeElement$blur;\r\n null === (_activeElement$blur = activeElement.blur) || void 0 === _activeElement$blur ? void 0 : _activeElement$blur.call(activeElement)\r\n }\r\n};\r\nexport var clearSelection = () => {\r\n var selection = window.getSelection();\r\n if (!selection) {\r\n return\r\n }\r\n if (\"Caret\" === selection.type) {\r\n return\r\n }\r\n if (selection.empty) {\r\n selection.empty()\r\n } else if (selection.removeAllRanges) {\r\n try {\r\n selection.removeAllRanges()\r\n } catch (e) {}\r\n }\r\n};\r\nexport var closestCommonParent = (startTarget, endTarget) => {\r\n var $startTarget = $(startTarget);\r\n var $endTarget = $(endTarget);\r\n if ($startTarget[0] === $endTarget[0]) {\r\n return $startTarget[0]\r\n }\r\n var $startParents = $startTarget.parents();\r\n var $endParents = $endTarget.parents();\r\n var startingParent = Math.min($startParents.length, $endParents.length);\r\n for (var i = -startingParent; i < 0; i++) {\r\n if ($startParents.get(i) === $endParents.get(i)) {\r\n return $startParents.get(i)\r\n }\r\n }\r\n};\r\nexport var extractTemplateMarkup = element => {\r\n element = $(element);\r\n var templateTag = element.length && element.filter((function() {\r\n var $node = $(this);\r\n return $node.is(\"script[type]\") && $node.attr(\"type\").indexOf(\"script\") < 0\r\n }));\r\n if (templateTag.length) {\r\n return templateTag.eq(0).html()\r\n } else {\r\n element = $(\"
    \").append(element);\r\n return element.html()\r\n }\r\n};\r\nexport var normalizeTemplateElement = element => {\r\n var $element = isDefined(element) && (element.nodeType || isRenderer(element)) ? $(element) : $(\"
    \").html(element).contents();\r\n if (1 === $element.length) {\r\n if ($element.is(\"script\")) {\r\n $element = normalizeTemplateElement($element.html().trim())\r\n } else if ($element.is(\"table\")) {\r\n $element = $element.children(\"tbody\").contents()\r\n }\r\n }\r\n return $element\r\n};\r\nexport var clipboardText = (event, text) => {\r\n var clipboard = event.originalEvent && event.originalEvent.clipboardData || window.clipboardData;\r\n if (!text) {\r\n return clipboard && clipboard.getData(\"Text\")\r\n }\r\n clipboard && clipboard.setData(\"Text\", text)\r\n};\r\nexport var contains = (container, element) => {\r\n if (!element) {\r\n return false\r\n }\r\n if (isWindow(container)) {\r\n return contains(container.document, element)\r\n }\r\n return container.contains(element) || contains(container, getRootNodeHost(element))\r\n};\r\nexport var createTextElementHiddenCopy = (element, text, options) => {\r\n var elementStyles = window.getComputedStyle($(element).get(0));\r\n var includePaddings = options && options.includePaddings;\r\n return $(\"
    \").text(text).css({\r\n fontStyle: elementStyles.fontStyle,\r\n fontVariant: elementStyles.fontVariant,\r\n fontWeight: elementStyles.fontWeight,\r\n fontSize: elementStyles.fontSize,\r\n fontFamily: elementStyles.fontFamily,\r\n letterSpacing: elementStyles.letterSpacing,\r\n border: elementStyles.border,\r\n paddingTop: includePaddings ? elementStyles.paddingTop : \"\",\r\n paddingRight: includePaddings ? elementStyles.paddingRight : \"\",\r\n paddingBottom: includePaddings ? elementStyles.paddingBottom : \"\",\r\n paddingLeft: includePaddings ? elementStyles.paddingLeft : \"\",\r\n visibility: \"hidden\",\r\n whiteSpace: \"pre\",\r\n position: \"absolute\",\r\n float: \"left\"\r\n })\r\n};\r\nexport var insertBefore = (element, newElement) => {\r\n if (newElement) {\r\n domAdapter.insertElement(element.parentNode, newElement, element)\r\n }\r\n return element\r\n};\r\nexport var replaceWith = (element, newElement) => {\r\n if (!(newElement && newElement[0])) {\r\n return\r\n }\r\n if (newElement.is(element)) {\r\n return element\r\n }\r\n each(newElement, (_, currentElement) => {\r\n insertBefore(element[0], currentElement)\r\n });\r\n element.remove();\r\n return newElement\r\n};\r\nexport var isElementInDom = $element => {\r\n var element = null === $element || void 0 === $element ? void 0 : $element.get(0);\r\n var shadowHost = null === element || void 0 === element ? void 0 : element.getRootNode().host;\r\n return !!$(shadowHost || element).closest(getWindow().document).length\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/error.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"./extend\";\r\nimport {\r\n logger\r\n} from \"./console\";\r\nimport {\r\n format\r\n} from \"./string\";\r\nimport {\r\n version\r\n} from \"../version\";\r\nvar ERROR_URL = \"http://js.devexpress.com/error/\" + version.split(\".\").slice(0, 2).join(\"_\") + \"/\";\r\nexport default function(baseErrors, errors) {\r\n var exports = {\r\n ERROR_MESSAGES: extend(errors, baseErrors),\r\n Error: function() {\r\n return makeError([].slice.call(arguments))\r\n },\r\n log: function(id) {\r\n var method = \"log\";\r\n if (/^E\\d+$/.test(id)) {\r\n method = \"error\"\r\n } else if (/^W\\d+$/.test(id)) {\r\n method = \"warn\"\r\n }\r\n logger[method](\"log\" === method ? id : combineMessage([].slice.call(arguments)))\r\n }\r\n };\r\n\r\n function combineMessage(args) {\r\n var id = args[0];\r\n args = args.slice(1);\r\n return formatMessage(id, formatDetails(id, args))\r\n }\r\n\r\n function formatDetails(id, args) {\r\n args = [exports.ERROR_MESSAGES[id]].concat(args);\r\n return format.apply(this, args).replace(/\\.*\\s*?$/, \"\")\r\n }\r\n\r\n function formatMessage(id, details) {\r\n return format.apply(this, [\"{0} - {1}. See:\\n{2}\", id, details, getErrorUrl(id)])\r\n }\r\n\r\n function makeError(args) {\r\n var id = args[0];\r\n args = args.slice(1);\r\n var details = formatDetails(id, args);\r\n var url = getErrorUrl(id);\r\n var message = formatMessage(id, details);\r\n return extend(new Error(message), {\r\n __id: id,\r\n __details: details,\r\n url: url\r\n })\r\n }\r\n\r\n function getErrorUrl(id) {\r\n return ERROR_URL + id\r\n }\r\n return exports\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/extend.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isPlainObject\r\n} from \"./type\";\r\nexport var extendFromObject = function(target, source, overrideExistingValues) {\r\n target = target || {};\r\n for (var prop in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, prop)) {\r\n var value = source[prop];\r\n if (!(prop in target) || overrideExistingValues) {\r\n target[prop] = value\r\n }\r\n }\r\n }\r\n return target\r\n};\r\nexport var extend = function extend(target) {\r\n target = target || {};\r\n var i = 1;\r\n var deep = false;\r\n if (\"boolean\" === typeof target) {\r\n deep = target;\r\n target = arguments[1] || {};\r\n i++\r\n }\r\n for (; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n if (null == source) {\r\n continue\r\n }\r\n for (var key in source) {\r\n var targetValue = target[key];\r\n var sourceValue = source[key];\r\n var sourceValueIsArray = false;\r\n var clone = void 0;\r\n if (\"__proto__\" === key || \"constructor\" === key || target === sourceValue) {\r\n continue\r\n }\r\n if (deep && sourceValue && (isPlainObject(sourceValue) || (sourceValueIsArray = Array.isArray(sourceValue)))) {\r\n if (sourceValueIsArray) {\r\n clone = targetValue && Array.isArray(targetValue) ? targetValue : []\r\n } else {\r\n clone = targetValue && isPlainObject(targetValue) ? targetValue : {}\r\n }\r\n target[key] = extend(deep, clone, sourceValue)\r\n } else if (void 0 !== sourceValue) {\r\n target[key] = sourceValue\r\n }\r\n }\r\n }\r\n return target\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/html_parser.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../dom_adapter\";\r\nvar isTagName = /<([a-z][^/\\0>\\x20\\t\\r\\n\\f]+)/i;\r\nvar tagWrappers = {\r\n default: {\r\n tagsCount: 0,\r\n startTags: \"\",\r\n endTags: \"\"\r\n },\r\n thead: {\r\n tagsCount: 1,\r\n startTags: \"
    \",\r\n endTags: \"
    \"\r\n },\r\n td: {\r\n tagsCount: 3,\r\n startTags: \"\",\r\n endTags: \"
    \"\r\n },\r\n col: {\r\n tagsCount: 2,\r\n startTags: \"\",\r\n endTags: \"
    \"\r\n },\r\n tr: {\r\n tagsCount: 2,\r\n startTags: \"\",\r\n endTags: \"
    \"\r\n }\r\n};\r\ntagWrappers.tbody = tagWrappers.colgroup = tagWrappers.caption = tagWrappers.tfoot = tagWrappers.thead;\r\ntagWrappers.th = tagWrappers.td;\r\nexport var parseHTML = function(html) {\r\n if (\"string\" !== typeof html) {\r\n return null\r\n }\r\n var fragment = domAdapter.createDocumentFragment();\r\n var container = fragment.appendChild(domAdapter.createElement(\"div\"));\r\n var tags = isTagName.exec(html);\r\n var firstRootTag = tags && tags[1].toLowerCase();\r\n var tagWrapper = tagWrappers[firstRootTag] || tagWrappers.default;\r\n container.innerHTML = tagWrapper.startTags + html + tagWrapper.endTags;\r\n for (var i = 0; i < tagWrapper.tagsCount; i++) {\r\n container = container.lastChild\r\n }\r\n return [...container.childNodes]\r\n};\r\nexport var isTablePart = function(html) {\r\n var tags = isTagName.exec(html);\r\n return tags && tags[1] in tagWrappers\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/icon.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nvar ICON_CLASS = \"dx-icon\";\r\nvar SVG_ICON_CLASS = \"dx-svg-icon\";\r\nexport var getImageSourceType = source => {\r\n if (!source || \"string\" !== typeof source) {\r\n return false\r\n }\r\n if (/^\\s*]*>(.|\\r?\\n)*?<\\/svg>\\s*$/i.test(source)) {\r\n return \"svg\"\r\n }\r\n if (/data:.*base64|\\.|[^<\\s]\\/{1,1}/.test(source)) {\r\n return \"image\"\r\n }\r\n if (/^[\\w-_]+$/.test(source)) {\r\n return \"dxIcon\"\r\n }\r\n if (/^\\s?([\\w-_]\\s?)+$/.test(source)) {\r\n return \"fontIcon\"\r\n }\r\n return false\r\n};\r\nexport var getImageContainer = source => {\r\n switch (getImageSourceType(source)) {\r\n case \"image\":\r\n return $(\"\").attr(\"src\", source).addClass(ICON_CLASS);\r\n case \"fontIcon\":\r\n return $(\"\").addClass(\"\".concat(ICON_CLASS, \" \").concat(source));\r\n case \"dxIcon\":\r\n return $(\"\").addClass(\"\".concat(ICON_CLASS, \" \").concat(ICON_CLASS, \"-\").concat(source));\r\n case \"svg\":\r\n return $(\"\").addClass(\"\".concat(ICON_CLASS, \" \").concat(SVG_ICON_CLASS)).append(source);\r\n default:\r\n return null\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/inflector.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n map\r\n} from \"./iterator\";\r\nvar _normalize = function(text) {\r\n if (void 0 === text || null === text) {\r\n return \"\"\r\n }\r\n return String(text)\r\n};\r\nvar _upperCaseFirst = function(text) {\r\n return _normalize(text).charAt(0).toUpperCase() + text.substr(1)\r\n};\r\nvar _chop = function(text) {\r\n return _normalize(text).replace(/([a-z\\d])([A-Z])/g, \"$1 $2\").split(/[\\s_-]+/)\r\n};\r\nexport var dasherize = function(text) {\r\n return map(_chop(text), (function(p) {\r\n return p.toLowerCase()\r\n })).join(\"-\")\r\n};\r\nexport var underscore = function(text) {\r\n return dasherize(text).replace(/-/g, \"_\")\r\n};\r\nexport var camelize = function(text, upperFirst) {\r\n return map(_chop(text), (function(p, i) {\r\n p = p.toLowerCase();\r\n if (upperFirst || i > 0) {\r\n p = _upperCaseFirst(p)\r\n }\r\n return p\r\n })).join(\"\")\r\n};\r\nexport var humanize = function(text) {\r\n return _upperCaseFirst(dasherize(text).replace(/-/g, \" \"))\r\n};\r\nexport var titleize = function(text) {\r\n return map(_chop(text), (function(p) {\r\n return _upperCaseFirst(p.toLowerCase())\r\n })).join(\" \")\r\n};\r\nvar DIGIT_CHARS = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"];\r\nexport var captionize = function(name) {\r\n var captionList = [];\r\n var i;\r\n var char;\r\n var isPrevCharNewWord = false;\r\n var isNewWord = false;\r\n for (i = 0; i < name.length; i++) {\r\n char = name.charAt(i);\r\n isNewWord = char === char.toUpperCase() && \"-\" !== char && \")\" !== char && \"/\" !== char || char in DIGIT_CHARS;\r\n if (\"_\" === char || \".\" === char) {\r\n char = \" \";\r\n isNewWord = true\r\n } else if (0 === i) {\r\n char = char.toUpperCase();\r\n isNewWord = true\r\n } else if (!isPrevCharNewWord && isNewWord) {\r\n if (captionList.length > 0) {\r\n captionList.push(\" \")\r\n }\r\n }\r\n captionList.push(char);\r\n isPrevCharNewWord = isNewWord\r\n }\r\n return captionList.join(\"\")\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/iterator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar map = (values, callback) => {\r\n if (Array.isArray(values)) {\r\n return values.map(callback)\r\n }\r\n var result = [];\r\n for (var key in values) {\r\n result.push(callback(values[key], key))\r\n }\r\n return result\r\n};\r\nvar each = (values, callback) => {\r\n if (!values) {\r\n return\r\n }\r\n if (\"length\" in values) {\r\n for (var i = 0; i < values.length; i++) {\r\n if (false === callback.call(values[i], i, values[i])) {\r\n break\r\n }\r\n }\r\n } else {\r\n for (var key in values) {\r\n if (false === callback.call(values[key], key, values[key])) {\r\n break\r\n }\r\n }\r\n }\r\n return values\r\n};\r\nvar reverseEach = (array, callback) => {\r\n if (!array || !(\"length\" in array) || 0 === array.length) {\r\n return\r\n }\r\n for (var i = array.length - 1; i >= 0; i--) {\r\n if (false === callback.call(array[i], i, array[i])) {\r\n break\r\n }\r\n }\r\n};\r\nexport {\r\n map,\r\n each,\r\n reverseEach\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/math.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isExponential\r\n} from \"./type\";\r\nvar sign = function(value) {\r\n if (0 === value) {\r\n return 0\r\n }\r\n return value / Math.abs(value)\r\n};\r\nvar fitIntoRange = function(value, minValue, maxValue) {\r\n var isMinValueUndefined = !minValue && 0 !== minValue;\r\n var isMaxValueUndefined = !maxValue && 0 !== maxValue;\r\n isMinValueUndefined && (minValue = !isMaxValueUndefined ? Math.min(value, maxValue) : value);\r\n isMaxValueUndefined && (maxValue = !isMinValueUndefined ? Math.max(value, minValue) : value);\r\n return Math.min(Math.max(value, minValue), maxValue)\r\n};\r\nvar inRange = function(value, minValue, maxValue) {\r\n return value >= minValue && value <= maxValue\r\n};\r\n\r\nfunction getExponent(value) {\r\n return Math.abs(parseInt(value.toExponential().split(\"e\")[1]))\r\n}\r\n\r\nfunction getExponentialNotation(value) {\r\n var parts = value.toExponential().split(\"e\");\r\n var mantissa = parseFloat(parts[0]);\r\n var exponent = parseInt(parts[1]);\r\n return {\r\n exponent: exponent,\r\n mantissa: mantissa\r\n }\r\n}\r\n\r\nfunction multiplyInExponentialForm(value, exponentShift) {\r\n var exponentialNotation = getExponentialNotation(value);\r\n return parseFloat(\"\".concat(exponentialNotation.mantissa, \"e\").concat(exponentialNotation.exponent + exponentShift))\r\n}\r\n\r\nfunction _isEdgeBug() {\r\n return \"0.000300\" !== 3e-4.toPrecision(3)\r\n}\r\n\r\nfunction adjust(value, interval) {\r\n var precision = getPrecision(interval || 0) + 2;\r\n var separatedValue = value.toString().split(\".\");\r\n var sourceValue = value;\r\n var absValue = Math.abs(value);\r\n var separatedAdjustedValue;\r\n var isExponentValue = isExponential(value);\r\n var integerPart = absValue > 1 ? 10 : 0;\r\n if (1 === separatedValue.length) {\r\n return value\r\n }\r\n if (!isExponentValue) {\r\n if (isExponential(interval)) {\r\n precision = separatedValue[0].length + getExponent(interval)\r\n }\r\n value = absValue;\r\n value = value - Math.floor(value) + integerPart\r\n }\r\n precision = _isEdgeBug() && getExponent(value) > 6 || precision > 7 ? 15 : 7;\r\n if (!isExponentValue) {\r\n separatedAdjustedValue = parseFloat(value.toPrecision(precision)).toString().split(\".\");\r\n if (separatedAdjustedValue[0] === integerPart.toString()) {\r\n return parseFloat(separatedValue[0] + \".\" + separatedAdjustedValue[1])\r\n }\r\n }\r\n return parseFloat(sourceValue.toPrecision(precision))\r\n}\r\n\r\nfunction getPrecision(value) {\r\n var str = value.toString();\r\n if (str.indexOf(\".\") < 0) {\r\n return 0\r\n }\r\n var mantissa = str.split(\".\");\r\n var positionOfDelimiter = mantissa[1].indexOf(\"e\");\r\n return positionOfDelimiter >= 0 ? positionOfDelimiter : mantissa[1].length\r\n}\r\n\r\nfunction getRoot(x, n) {\r\n if (x < 0 && n % 2 !== 1) {\r\n return NaN\r\n }\r\n var y = Math.pow(Math.abs(x), 1 / n);\r\n return n % 2 === 1 && x < 0 ? -y : y\r\n}\r\n\r\nfunction solveCubicEquation(a, b, c, d) {\r\n if (Math.abs(a) < 1e-8) {\r\n a = b;\r\n b = c;\r\n c = d;\r\n if (Math.abs(a) < 1e-8) {\r\n a = b;\r\n b = c;\r\n if (Math.abs(a) < 1e-8) {\r\n return []\r\n }\r\n return [-b / a]\r\n }\r\n var D2 = b * b - 4 * a * c;\r\n if (Math.abs(D2) < 1e-8) {\r\n return [-b / (2 * a)]\r\n } else if (D2 > 0) {\r\n return [(-b + Math.sqrt(D2)) / (2 * a), (-b - Math.sqrt(D2)) / (2 * a)]\r\n }\r\n return []\r\n }\r\n var p = (3 * a * c - b * b) / (3 * a * a);\r\n var q = (2 * b * b * b - 9 * a * b * c + 27 * a * a * d) / (27 * a * a * a);\r\n var roots;\r\n var u;\r\n if (Math.abs(p) < 1e-8) {\r\n roots = [getRoot(-q, 3)]\r\n } else if (Math.abs(q) < 1e-8) {\r\n roots = [0].concat(p < 0 ? [Math.sqrt(-p), -Math.sqrt(-p)] : [])\r\n } else {\r\n var D3 = q * q / 4 + p * p * p / 27;\r\n if (Math.abs(D3) < 1e-8) {\r\n roots = [-1.5 * q / p, 3 * q / p]\r\n } else if (D3 > 0) {\r\n u = getRoot(-q / 2 - Math.sqrt(D3), 3);\r\n roots = [u - p / (3 * u)]\r\n } else {\r\n u = 2 * Math.sqrt(-p / 3);\r\n var t = Math.acos(3 * q / p / u) / 3;\r\n var k = 2 * Math.PI / 3;\r\n roots = [u * Math.cos(t), u * Math.cos(t - k), u * Math.cos(t - 2 * k)]\r\n }\r\n }\r\n for (var i = 0; i < roots.length; i++) {\r\n roots[i] -= b / (3 * a)\r\n }\r\n return roots\r\n}\r\n\r\nfunction trunc(value) {\r\n return Math.trunc ? Math.trunc(value) : value > 0 ? Math.floor(value) : Math.ceil(value)\r\n}\r\n\r\nfunction getRemainderByDivision(dividend, divider, digitsCount) {\r\n if (divider === parseInt(divider)) {\r\n return dividend % divider\r\n }\r\n var quotient = roundFloatPart(dividend / divider, digitsCount);\r\n return (quotient - parseInt(quotient)) * divider\r\n}\r\n\r\nfunction getExponentLength(value) {\r\n var _valueString$split$;\r\n var valueString = value.toString();\r\n return (null === (_valueString$split$ = valueString.split(\".\")[1]) || void 0 === _valueString$split$ ? void 0 : _valueString$split$.length) || parseInt(valueString.split(\"e-\")[1]) || 0\r\n}\r\n\r\nfunction roundFloatPart(value) {\r\n var digitsCount = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;\r\n return parseFloat(value.toFixed(digitsCount))\r\n}\r\nexport {\r\n sign,\r\n fitIntoRange,\r\n inRange,\r\n adjust,\r\n getPrecision,\r\n getExponent,\r\n getRoot,\r\n solveCubicEquation,\r\n trunc,\r\n roundFloatPart,\r\n getExponentLength,\r\n getRemainderByDivision,\r\n multiplyInExponentialForm\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/object.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isNumeric,\r\n isPlainObject,\r\n isObject\r\n} from \"./type\";\r\nimport variableWrapper from \"./variable_wrapper\";\r\nvar clone = function() {\r\n function Clone() {}\r\n return function(obj) {\r\n Clone.prototype = obj;\r\n return new Clone\r\n }\r\n}();\r\nvar orderEach = function(map, func) {\r\n var keys = [];\r\n var key;\r\n var i;\r\n for (key in map) {\r\n if (Object.prototype.hasOwnProperty.call(map, key)) {\r\n keys.push(key)\r\n }\r\n }\r\n keys.sort((function(x, y) {\r\n var isNumberX = isNumeric(x);\r\n var isNumberY = isNumeric(y);\r\n if (isNumberX && isNumberY) {\r\n return x - y\r\n }\r\n if (isNumberX && !isNumberY) {\r\n return -1\r\n }\r\n if (!isNumberX && isNumberY) {\r\n return 1\r\n }\r\n if (x < y) {\r\n return -1\r\n }\r\n if (x > y) {\r\n return 1\r\n }\r\n return 0\r\n }));\r\n for (i = 0; i < keys.length; i++) {\r\n key = keys[i];\r\n func(key, map[key])\r\n }\r\n};\r\nvar assignValueToProperty = function(target, property, value, assignByReference) {\r\n if (!assignByReference && variableWrapper.isWrapped(target[property])) {\r\n variableWrapper.assign(target[property], value)\r\n } else {\r\n target[property] = value\r\n }\r\n};\r\nvar deepExtendArraySafe = function deepExtendArraySafe(target, changes, extendComplexObject, assignByReference) {\r\n var prevValue;\r\n var newValue;\r\n for (var name in changes) {\r\n prevValue = target[name];\r\n newValue = changes[name];\r\n if (\"__proto__\" === name || \"constructor\" === name || target === newValue) {\r\n continue\r\n }\r\n if (isPlainObject(newValue)) {\r\n var goDeeper = extendComplexObject ? isObject(prevValue) : isPlainObject(prevValue);\r\n newValue = deepExtendArraySafe(goDeeper ? prevValue : {}, newValue, extendComplexObject, assignByReference)\r\n }\r\n if (void 0 !== newValue && prevValue !== newValue) {\r\n assignValueToProperty(target, name, newValue, assignByReference)\r\n }\r\n }\r\n return target\r\n};\r\nexport {\r\n clone,\r\n orderEach,\r\n deepExtendArraySafe\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/position.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport config from \"../config\";\r\nimport {\r\n isWindow\r\n} from \"../utils/type\";\r\nvar getDefaultAlignment = isRtlEnabled => {\r\n var rtlEnabled = null !== isRtlEnabled && void 0 !== isRtlEnabled ? isRtlEnabled : config().rtlEnabled;\r\n return rtlEnabled ? \"right\" : \"left\"\r\n};\r\nvar getBoundingRect = element => {\r\n if (isWindow(element)) {\r\n return {\r\n width: element.outerWidth,\r\n height: element.outerHeight\r\n }\r\n }\r\n return element.getBoundingClientRect()\r\n};\r\nexport {\r\n getBoundingRect,\r\n getDefaultAlignment\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/public_component.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n data as elementData\r\n} from \"../../core/element_data\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n isDefined\r\n} from \"./type\";\r\nimport {\r\n removeEvent\r\n} from \"../../events/remove\";\r\nvar COMPONENT_NAMES_DATA_KEY = \"dxComponents\";\r\nvar ANONYMOUS_COMPONENT_DATA_KEY = \"dxPrivateComponent\";\r\nvar componentNames = new WeakMap;\r\nvar nextAnonymousComponent = 0;\r\nvar getName = function(componentClass, newName) {\r\n if (isDefined(newName)) {\r\n componentNames.set(componentClass, newName);\r\n return\r\n }\r\n if (!componentNames.has(componentClass)) {\r\n var generatedName = ANONYMOUS_COMPONENT_DATA_KEY + nextAnonymousComponent++;\r\n componentNames.set(componentClass, generatedName);\r\n return generatedName\r\n }\r\n return componentNames.get(componentClass)\r\n};\r\nexport function attachInstanceToElement($element, componentInstance, disposeFn) {\r\n var data = elementData($element.get(0));\r\n var name = getName(componentInstance.constructor);\r\n data[name] = componentInstance;\r\n if (disposeFn) {\r\n eventsEngine.one($element, removeEvent, (function() {\r\n disposeFn.call(componentInstance)\r\n }))\r\n }\r\n if (!data[COMPONENT_NAMES_DATA_KEY]) {\r\n data[COMPONENT_NAMES_DATA_KEY] = []\r\n }\r\n data[COMPONENT_NAMES_DATA_KEY].push(name)\r\n}\r\nexport function getInstanceByElement($element, componentClass) {\r\n var name = getName(componentClass);\r\n return elementData($element.get(0), name)\r\n}\r\nexport {\r\n getName as name\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/ready_callbacks.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../dom_adapter\";\r\nimport injector from \"./dependency_injector\";\r\nimport {\r\n hasWindow\r\n} from \"./window\";\r\nimport callOnce from \"./call_once\";\r\nvar callbacks = [];\r\nvar subscribeReady = callOnce(() => {\r\n var removeListener = domAdapter.listen(domAdapter.getDocument(), \"DOMContentLoaded\", () => {\r\n readyCallbacks.fire();\r\n removeListener()\r\n })\r\n});\r\nvar readyCallbacks = {\r\n add: callback => {\r\n var windowExists = hasWindow();\r\n if (windowExists && \"loading\" !== domAdapter.getReadyState()) {\r\n callback()\r\n } else {\r\n callbacks.push(callback);\r\n windowExists && subscribeReady()\r\n }\r\n },\r\n fire: () => {\r\n callbacks.forEach(callback => callback());\r\n callbacks = []\r\n }\r\n};\r\nexport default injector(readyCallbacks);\r\n","/**\r\n * DevExtreme (esm/core/utils/resize_callbacks.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n hasWindow,\r\n getWindow\r\n} from \"./window\";\r\nimport domAdapter from \"../dom_adapter\";\r\nimport Callbacks from \"./callbacks\";\r\nimport readyCallbacks from \"./ready_callbacks\";\r\nimport callOnce from \"./call_once\";\r\nvar resizeCallbacks = function() {\r\n var prevSize;\r\n var callbacks = Callbacks();\r\n var originalCallbacksAdd = callbacks.add;\r\n var originalCallbacksRemove = callbacks.remove;\r\n if (!hasWindow()) {\r\n return callbacks\r\n }\r\n var formatSize = function() {\r\n var window = getWindow();\r\n return {\r\n width: window.innerWidth,\r\n height: window.innerHeight\r\n }\r\n };\r\n var handleResize = function() {\r\n var now = formatSize();\r\n if (now.width === prevSize.width && now.height === prevSize.height) {\r\n return\r\n }\r\n var changedDimension;\r\n if (now.width === prevSize.width) {\r\n changedDimension = \"height\"\r\n }\r\n if (now.height === prevSize.height) {\r\n changedDimension = \"width\"\r\n }\r\n prevSize = now;\r\n callbacks.fire(changedDimension)\r\n };\r\n var setPrevSize = callOnce((function() {\r\n prevSize = formatSize()\r\n }));\r\n var removeListener;\r\n callbacks.add = function() {\r\n var result = originalCallbacksAdd.apply(callbacks, arguments);\r\n setPrevSize();\r\n readyCallbacks.add((function() {\r\n if (!removeListener && callbacks.has()) {\r\n removeListener = domAdapter.listen(getWindow(), \"resize\", handleResize)\r\n }\r\n }));\r\n return result\r\n };\r\n callbacks.remove = function() {\r\n var result = originalCallbacksRemove.apply(callbacks, arguments);\r\n if (!callbacks.has() && removeListener) {\r\n removeListener();\r\n removeListener = void 0\r\n }\r\n return result\r\n };\r\n return callbacks\r\n}();\r\nexport default resizeCallbacks;\r\n","/**\r\n * DevExtreme (esm/core/utils/selection_filter.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getKeyHash,\r\n equalByValue\r\n} from \"./common\";\r\nimport {\r\n isString,\r\n isObject\r\n} from \"./type\";\r\nexport var SelectionFilterCreator = function(selectedItemKeys, isSelectAll) {\r\n this.getLocalFilter = function(keyGetter, equalKeys, equalByReference, keyExpr) {\r\n equalKeys = void 0 === equalKeys ? equalByValue : equalKeys;\r\n return functionFilter.bind(this, equalKeys, keyGetter, equalByReference, keyExpr)\r\n };\r\n this.getExpr = function(keyExpr) {\r\n if (!keyExpr) {\r\n return\r\n }\r\n var filterExpr;\r\n selectedItemKeys.forEach((function(key, index) {\r\n filterExpr = filterExpr || [];\r\n var filterExprPart;\r\n if (index > 0) {\r\n filterExpr.push(isSelectAll ? \"and\" : \"or\")\r\n }\r\n if (isString(keyExpr)) {\r\n filterExprPart = getFilterForPlainKey(keyExpr, key)\r\n } else {\r\n filterExprPart = function(keyExpr, itemKeyValue) {\r\n var filterExpr = [];\r\n for (var i = 0, length = keyExpr.length; i < length; i++) {\r\n var currentKeyExpr = keyExpr[i];\r\n var currentKeyValue = itemKeyValue && itemKeyValue[currentKeyExpr];\r\n var filterExprPart = getFilterForPlainKey(currentKeyExpr, currentKeyValue);\r\n if (!filterExprPart) {\r\n break\r\n }\r\n if (i > 0) {\r\n filterExpr.push(isSelectAll ? \"or\" : \"and\")\r\n }\r\n filterExpr.push(filterExprPart)\r\n }\r\n return filterExpr\r\n }(keyExpr, key)\r\n }\r\n filterExpr.push(filterExprPart)\r\n }));\r\n if (filterExpr && 1 === filterExpr.length) {\r\n filterExpr = filterExpr[0]\r\n }\r\n return filterExpr\r\n };\r\n this.getCombinedFilter = function(keyExpr, dataSourceFilter) {\r\n var forceCombinedFilter = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false;\r\n var filterExpr = this.getExpr(keyExpr);\r\n var combinedFilter = filterExpr;\r\n if ((forceCombinedFilter || isSelectAll) && dataSourceFilter) {\r\n if (filterExpr) {\r\n combinedFilter = [];\r\n combinedFilter.push(filterExpr);\r\n combinedFilter.push(dataSourceFilter)\r\n } else {\r\n combinedFilter = dataSourceFilter\r\n }\r\n }\r\n return combinedFilter\r\n };\r\n var selectedItemKeyHashesMap;\r\n var normalizeKeys = function(keys, keyOf, keyExpr) {\r\n return Array.isArray(keyExpr) ? keys.map(key => keyOf(key)) : keys\r\n };\r\n\r\n function functionFilter(equalKeys, keyOf, equalByReference, keyExpr, item) {\r\n var key = keyOf(item);\r\n var keyHash;\r\n var i;\r\n if (!equalByReference) {\r\n keyHash = getKeyHash(key);\r\n if (!isObject(keyHash)) {\r\n var selectedKeyHashesMap = function(keyOf, keyExpr) {\r\n if (!selectedItemKeyHashesMap) {\r\n selectedItemKeyHashesMap = {};\r\n var normalizedKeys = normalizeKeys(selectedItemKeys, keyOf, keyExpr);\r\n for (var i = 0; i < normalizedKeys.length; i++) {\r\n selectedItemKeyHashesMap[getKeyHash(normalizedKeys[i])] = true\r\n }\r\n }\r\n return selectedItemKeyHashesMap\r\n }(keyOf, keyExpr);\r\n if (selectedKeyHashesMap[keyHash]) {\r\n return !isSelectAll\r\n }\r\n return !!isSelectAll\r\n }\r\n }\r\n for (i = 0; i < selectedItemKeys.length; i++) {\r\n if (equalKeys(selectedItemKeys[i], key)) {\r\n return !isSelectAll\r\n }\r\n }\r\n return !!isSelectAll\r\n }\r\n\r\n function getFilterForPlainKey(keyExpr, keyValue) {\r\n if (void 0 === keyValue) {\r\n return\r\n }\r\n return [keyExpr, isSelectAll ? \"<>\" : \"=\", keyValue]\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/shadow_dom.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar DX_RULE_PREFIX = \"dx-\";\r\nvar ownerDocumentStyleSheet = null;\r\n\r\nfunction createConstructedStyleSheet(rootNode) {\r\n try {\r\n return new CSSStyleSheet\r\n } catch (err) {\r\n var styleElement = rootNode.ownerDocument.createElement(\"style\");\r\n rootNode.appendChild(styleElement);\r\n return styleElement.sheet\r\n }\r\n}\r\n\r\nfunction processRules(targetStyleSheet, styleSheets, needApplyAllStyles) {\r\n for (var i = 0; i < styleSheets.length; i++) {\r\n var sheet = styleSheets[i];\r\n try {\r\n for (var j = 0; j < sheet.cssRules.length; j++) {\r\n insertRule(targetStyleSheet, sheet.cssRules[j], needApplyAllStyles)\r\n }\r\n } catch (err) {}\r\n }\r\n}\r\n\r\nfunction insertRule(targetStyleSheet, rule, needApplyAllStyles) {\r\n var _rule$selectorText, _rule$cssRules, _rule$cssRules$, _rule$cssRules$$selec, _rule$name, _rule$style;\r\n var isDxRule = needApplyAllStyles || (null === (_rule$selectorText = rule.selectorText) || void 0 === _rule$selectorText ? void 0 : _rule$selectorText.includes(DX_RULE_PREFIX)) || (null === (_rule$cssRules = rule.cssRules) || void 0 === _rule$cssRules ? void 0 : null === (_rule$cssRules$ = _rule$cssRules[0]) || void 0 === _rule$cssRules$ ? void 0 : null === (_rule$cssRules$$selec = _rule$cssRules$.selectorText) || void 0 === _rule$cssRules$$selec ? void 0 : _rule$cssRules$$selec.includes(DX_RULE_PREFIX)) || (null === (_rule$name = rule.name) || void 0 === _rule$name ? void 0 : _rule$name.startsWith(DX_RULE_PREFIX)) || \"DXIcons\" === (null === (_rule$style = rule.style) || void 0 === _rule$style ? void 0 : _rule$style.fontFamily);\r\n if (isDxRule) {\r\n targetStyleSheet.insertRule(rule.cssText, targetStyleSheet.cssRules.length)\r\n }\r\n}\r\nexport function addShadowDomStyles($element) {\r\n var _el$getRootNode;\r\n var el = $element.get(0);\r\n var root = null === (_el$getRootNode = el.getRootNode) || void 0 === _el$getRootNode ? void 0 : _el$getRootNode.call(el);\r\n if (!(null !== root && void 0 !== root && root.host)) {\r\n return\r\n }\r\n if (!ownerDocumentStyleSheet) {\r\n ownerDocumentStyleSheet = createConstructedStyleSheet(root);\r\n processRules(ownerDocumentStyleSheet, el.ownerDocument.styleSheets, false)\r\n }\r\n var currentShadowDomStyleSheet = createConstructedStyleSheet(root);\r\n processRules(currentShadowDomStyleSheet, root.styleSheets, true);\r\n root.adoptedStyleSheets = [ownerDocumentStyleSheet, currentShadowDomStyleSheet]\r\n}\r\n\r\nfunction isPositionInElementRectangle(element, x, y) {\r\n var rect = element.getBoundingClientRect();\r\n return rect && x >= rect.left && x < rect.right && y >= rect.top && y < rect.bottom\r\n}\r\n\r\nfunction createQueue() {\r\n var shiftIndex = 0;\r\n var items = [];\r\n return {\r\n push(item) {\r\n items.push(item);\r\n return this\r\n },\r\n shift() {\r\n shiftIndex++;\r\n return items[shiftIndex - 1]\r\n },\r\n get length() {\r\n return items.length - shiftIndex\r\n },\r\n get items() {\r\n return items\r\n }\r\n }\r\n}\r\nexport function getShadowElementsFromPoint(x, y, root) {\r\n var elementQueue = createQueue().push(root);\r\n while (elementQueue.length) {\r\n var el = elementQueue.shift();\r\n for (var i = 0; i < el.childNodes.length; i++) {\r\n var childNode = el.childNodes[i];\r\n if (childNode.nodeType === Node.ELEMENT_NODE && isPositionInElementRectangle(childNode, x, y) && \"none\" !== getComputedStyle(childNode).pointerEvents) {\r\n elementQueue.push(childNode)\r\n }\r\n }\r\n }\r\n var result = elementQueue.items.reverse();\r\n result.pop();\r\n return result\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/size.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n isWindow,\r\n isString,\r\n isNumeric,\r\n isRenderer\r\n} from \"../utils/type\";\r\nvar window = getWindow();\r\nvar SPECIAL_HEIGHT_VALUES = [\"auto\", \"none\", \"inherit\", \"initial\"];\r\nvar getSizeByStyles = function(elementStyles, styles) {\r\n var result = 0;\r\n styles.forEach((function(style) {\r\n result += parseFloat(elementStyles[style]) || 0\r\n }));\r\n return result\r\n};\r\nexport var getElementBoxParams = function(name, elementStyles) {\r\n var beforeName = \"width\" === name ? \"Left\" : \"Top\";\r\n var afterName = \"width\" === name ? \"Right\" : \"Bottom\";\r\n return {\r\n padding: getSizeByStyles(elementStyles, [\"padding\" + beforeName, \"padding\" + afterName]),\r\n border: getSizeByStyles(elementStyles, [\"border\" + beforeName + \"Width\", \"border\" + afterName + \"Width\"]),\r\n margin: getSizeByStyles(elementStyles, [\"margin\" + beforeName, \"margin\" + afterName])\r\n }\r\n};\r\nvar getElementComputedStyle = function(element) {\r\n var _element$ownerDocumen;\r\n var view = (null === element || void 0 === element ? void 0 : null === (_element$ownerDocumen = element.ownerDocument) || void 0 === _element$ownerDocumen ? void 0 : _element$ownerDocumen.defaultView) || window;\r\n return view.getComputedStyle && view.getComputedStyle(element)\r\n};\r\nvar getCSSProperty = function(element, styles, name, defaultValue) {\r\n var _element$style;\r\n return (null === styles || void 0 === styles ? void 0 : styles[name]) || (null === (_element$style = element.style) || void 0 === _element$style ? void 0 : _element$style[name]) || defaultValue\r\n};\r\nvar boxIndices = {\r\n content: 0,\r\n padding: 1,\r\n border: 2,\r\n margin: 3,\r\n \"content-box\": 0,\r\n \"border-box\": 2\r\n};\r\nvar dimensionComponents = {\r\n width: [\"left\", \"right\"],\r\n height: [\"top\", \"bottom\"]\r\n};\r\n\r\nfunction getComponentThickness(elem, dimension, component, styles) {\r\n var get = (elem, styles, field) => parseFloat(getCSSProperty(elem, styles, field, \"0\")) || 0;\r\n var suffix = \"border\" === component ? \"-width\" : \"\";\r\n return get(elem, styles, \"\".concat(component, \"-\").concat(dimensionComponents[dimension][0]).concat(suffix)) + get(elem, styles, \"\".concat(component, \"-\").concat(dimensionComponents[dimension][1]).concat(suffix))\r\n}\r\nexport var getSize = function(element, dimension, box) {\r\n var offsetFieldName = \"width\" === dimension ? \"offsetWidth\" : \"offsetHeight\";\r\n var styles = getElementComputedStyle(element);\r\n var result = getCSSProperty(element, styles, dimension);\r\n if (\"\" === result || \"auto\" === result) {\r\n result = element[offsetFieldName]\r\n }\r\n result = parseFloat(result) || 0;\r\n var currentBox = getCSSProperty(element, styles, \"boxSizing\", \"content-box\");\r\n var targetBox = box || currentBox;\r\n var targetBoxIndex = boxIndices[targetBox];\r\n var currentBoxIndex = boxIndices[currentBox];\r\n if (void 0 === targetBoxIndex || void 0 === currentBoxIndex) {\r\n throw new Error\r\n }\r\n if (currentBoxIndex === targetBoxIndex) {\r\n return result\r\n }\r\n var coeff = Math.sign(targetBoxIndex - currentBoxIndex);\r\n var padding = false;\r\n var border = false;\r\n var margin = false;\r\n var scrollThickness = false;\r\n if (1 === coeff) {\r\n targetBoxIndex += 1;\r\n currentBoxIndex += 1\r\n }\r\n for (var boxPart = currentBoxIndex; boxPart !== targetBoxIndex; boxPart += coeff) {\r\n switch (boxPart) {\r\n case boxIndices.content:\r\n break;\r\n case boxIndices.padding:\r\n padding = coeff * getComponentThickness(element, dimension, \"padding\", styles);\r\n break;\r\n case boxIndices.border:\r\n border = coeff * getComponentThickness(element, dimension, \"border\", styles);\r\n break;\r\n case boxIndices.margin:\r\n margin = coeff * getComponentThickness(element, dimension, \"margin\", styles)\r\n }\r\n }\r\n if (padding || border) {\r\n var paddingAndBorder = (false === padding ? coeff * getComponentThickness(element, dimension, \"padding\", styles) : padding) + (false === border ? coeff * getComponentThickness(element, dimension, \"border\", styles) : border);\r\n scrollThickness = coeff * Math.max(0, Math.floor(element[offsetFieldName] - result - coeff * paddingAndBorder)) || 0\r\n }\r\n return result + margin + padding + border + scrollThickness\r\n};\r\nvar getContainerHeight = function(container) {\r\n return isWindow(container) ? container.innerHeight : container.offsetHeight\r\n};\r\nexport var parseHeight = function(value, container, element) {\r\n if (value.indexOf(\"px\") > 0) {\r\n value = parseInt(value.replace(\"px\", \"\"))\r\n } else if (value.indexOf(\"%\") > 0) {\r\n value = parseInt(value.replace(\"%\", \"\")) * getContainerHeight(container) / 100\r\n } else if (!isNaN(value)) {\r\n value = parseInt(value)\r\n } else if (value.indexOf(\"vh\") > 0) {\r\n value = window.innerHeight / 100 * parseInt(value.replace(\"vh\", \"\"))\r\n } else if (element && value.indexOf(\"em\") > 0) {\r\n value = parseFloat(value.replace(\"em\", \"\")) * parseFloat(window.getComputedStyle(element).fontSize)\r\n }\r\n return value\r\n};\r\nvar getHeightWithOffset = function(value, offset, container) {\r\n if (!value) {\r\n return null\r\n }\r\n if (SPECIAL_HEIGHT_VALUES.indexOf(value) > -1) {\r\n return offset ? null : value\r\n }\r\n if (isString(value)) {\r\n value = parseHeight(value, container)\r\n }\r\n if (isNumeric(value)) {\r\n return Math.max(0, value + offset)\r\n }\r\n var operationString = offset < 0 ? \" - \" : \" \";\r\n return \"calc(\" + value + operationString + Math.abs(offset) + \"px)\"\r\n};\r\nexport var addOffsetToMaxHeight = function(value, offset, container) {\r\n var maxHeight = getHeightWithOffset(value, offset, container);\r\n return null !== maxHeight ? maxHeight : \"none\"\r\n};\r\nexport var addOffsetToMinHeight = function(value, offset, container) {\r\n var minHeight = getHeightWithOffset(value, offset, container);\r\n return null !== minHeight ? minHeight : 0\r\n};\r\nexport var getVerticalOffsets = function(element, withMargins) {\r\n if (!element) {\r\n return 0\r\n }\r\n var boxParams = getElementBoxParams(\"height\", window.getComputedStyle(element));\r\n return boxParams.padding + boxParams.border + (withMargins ? boxParams.margin : 0)\r\n};\r\nexport var getVisibleHeight = function(element) {\r\n if (element) {\r\n var boundingClientRect = element.getBoundingClientRect();\r\n if (boundingClientRect.height) {\r\n return boundingClientRect.height\r\n }\r\n }\r\n return 0\r\n};\r\nexport var implementationsMap = {\r\n getWidth: function() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n return elementSizeHelper(\"width\", ...args)\r\n },\r\n setWidth: function() {\r\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n args[_key2] = arguments[_key2]\r\n }\r\n return elementSizeHelper(\"width\", ...args)\r\n },\r\n getHeight: function() {\r\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\r\n args[_key3] = arguments[_key3]\r\n }\r\n return elementSizeHelper(\"height\", ...args)\r\n },\r\n setHeight: function() {\r\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\r\n args[_key4] = arguments[_key4]\r\n }\r\n return elementSizeHelper(\"height\", ...args)\r\n },\r\n getOuterWidth: function() {\r\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\r\n args[_key5] = arguments[_key5]\r\n }\r\n return elementSizeHelper(\"outerWidth\", ...args)\r\n },\r\n setOuterWidth: function() {\r\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\r\n args[_key6] = arguments[_key6]\r\n }\r\n return elementSizeHelper(\"outerWidth\", ...args)\r\n },\r\n getOuterHeight: function() {\r\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\r\n args[_key7] = arguments[_key7]\r\n }\r\n return elementSizeHelper(\"outerHeight\", ...args)\r\n },\r\n setOuterHeight: function() {\r\n for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\r\n args[_key8] = arguments[_key8]\r\n }\r\n return elementSizeHelper(\"outerHeight\", ...args)\r\n },\r\n getInnerWidth: function() {\r\n for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\r\n args[_key9] = arguments[_key9]\r\n }\r\n return elementSizeHelper(\"innerWidth\", ...args)\r\n },\r\n setInnerWidth: function() {\r\n for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {\r\n args[_key10] = arguments[_key10]\r\n }\r\n return elementSizeHelper(\"innerWidth\", ...args)\r\n },\r\n getInnerHeight: function() {\r\n for (var _len11 = arguments.length, args = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) {\r\n args[_key11] = arguments[_key11]\r\n }\r\n return elementSizeHelper(\"innerHeight\", ...args)\r\n },\r\n setInnerHeight: function() {\r\n for (var _len12 = arguments.length, args = new Array(_len12), _key12 = 0; _key12 < _len12; _key12++) {\r\n args[_key12] = arguments[_key12]\r\n }\r\n return elementSizeHelper(\"innerHeight\", ...args)\r\n }\r\n};\r\n\r\nfunction elementSizeHelper(sizeProperty, el, value) {\r\n return 2 === arguments.length ? elementSize(el, sizeProperty) : elementSize(el, sizeProperty, value)\r\n}\r\nexport var getWidth = el => implementationsMap.getWidth(el);\r\nexport var setWidth = (el, value) => implementationsMap.setWidth(el, value);\r\nexport var getHeight = el => implementationsMap.getHeight(el);\r\nexport var setHeight = (el, value) => implementationsMap.setHeight(el, value);\r\nexport var getOuterWidth = (el, includeMargin) => implementationsMap.getOuterWidth(el, includeMargin || false);\r\nexport var setOuterWidth = (el, value) => implementationsMap.setOuterWidth(el, value);\r\nexport var getOuterHeight = (el, includeMargin) => implementationsMap.getOuterHeight(el, includeMargin || false);\r\nexport var setOuterHeight = (el, value) => implementationsMap.setOuterHeight(el, value);\r\nexport var getInnerWidth = el => implementationsMap.getInnerWidth(el);\r\nexport var setInnerWidth = (el, value) => implementationsMap.setInnerWidth(el, value);\r\nexport var getInnerHeight = el => implementationsMap.getInnerHeight(el);\r\nexport var setInnerHeight = (el, value) => implementationsMap.setInnerHeight(el, value);\r\nvar elementSize = function elementSize(el, sizeProperty, value) {\r\n var partialName = sizeProperty.toLowerCase().indexOf(\"width\") >= 0 ? \"Width\" : \"Height\";\r\n var propName = partialName.toLowerCase();\r\n var isOuter = 0 === sizeProperty.indexOf(\"outer\");\r\n var isInner = 0 === sizeProperty.indexOf(\"inner\");\r\n var isGetter = 2 === arguments.length || \"boolean\" === typeof value;\r\n if (isRenderer(el)) {\r\n if (el.length > 1 && !isGetter) {\r\n for (var i = 0; i < el.length; i++) {\r\n elementSize(el[i], sizeProperty, value)\r\n }\r\n return\r\n }\r\n el = el[0]\r\n }\r\n if (!el) {\r\n return\r\n }\r\n if (isWindow(el)) {\r\n return isOuter ? el[\"inner\" + partialName] : domAdapter.getDocumentElement()[\"client\" + partialName]\r\n }\r\n if (domAdapter.isDocument(el)) {\r\n var documentElement = domAdapter.getDocumentElement();\r\n var body = domAdapter.getBody();\r\n return Math.max(body[\"scroll\" + partialName], body[\"offset\" + partialName], documentElement[\"scroll\" + partialName], documentElement[\"offset\" + partialName], documentElement[\"client\" + partialName])\r\n }\r\n if (isGetter) {\r\n var box = \"content\";\r\n if (isOuter) {\r\n box = value ? \"margin\" : \"border\"\r\n }\r\n if (isInner) {\r\n box = \"padding\"\r\n }\r\n return getSize(el, propName, box)\r\n }\r\n if (isNumeric(value)) {\r\n var elementStyles = getElementComputedStyle(el);\r\n var sizeAdjustment = getElementBoxParams(propName, elementStyles);\r\n var isBorderBox = \"border-box\" === elementStyles.boxSizing;\r\n value = Number(value);\r\n if (isOuter) {\r\n value -= isBorderBox ? 0 : sizeAdjustment.border + sizeAdjustment.padding\r\n } else if (isInner) {\r\n value += isBorderBox ? sizeAdjustment.border : -sizeAdjustment.padding\r\n } else if (isBorderBox) {\r\n value += sizeAdjustment.border + sizeAdjustment.padding\r\n }\r\n }\r\n value += isNumeric(value) ? \"px\" : \"\";\r\n domAdapter.setStyle(el, propName, value);\r\n return null\r\n};\r\nexport var getWindowByElement = el => isWindow(el) ? el : el.defaultView;\r\nexport var getOffset = el => {\r\n if (!el.getClientRects().length) {\r\n return {\r\n top: 0,\r\n left: 0\r\n }\r\n }\r\n var rect = el.getBoundingClientRect();\r\n var win = getWindowByElement(el.ownerDocument);\r\n var docElem = el.ownerDocument.documentElement;\r\n return {\r\n top: rect.top + win.pageYOffset - docElem.clientTop,\r\n left: rect.left + win.pageXOffset - docElem.clientLeft\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/storage.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nvar getSessionStorage = function() {\r\n var sessionStorage;\r\n try {\r\n sessionStorage = window.sessionStorage\r\n } catch (e) {}\r\n return sessionStorage\r\n};\r\nexport {\r\n getSessionStorage as sessionStorage\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/string.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isFunction,\r\n isString\r\n} from \"./type\";\r\nexport var encodeHtml = function() {\r\n var encodeRegExp = [new RegExp(\"&\", \"g\"), new RegExp('\"', \"g\"), new RegExp(\"'\", \"g\"), new RegExp(\"<\", \"g\"), new RegExp(\">\", \"g\")];\r\n return function(str) {\r\n return String(str).replace(encodeRegExp[0], \"&\").replace(encodeRegExp[1], \""\").replace(encodeRegExp[2], \"'\").replace(encodeRegExp[3], \"<\").replace(encodeRegExp[4], \">\")\r\n }\r\n}();\r\nvar splitQuad = function(raw) {\r\n switch (typeof raw) {\r\n case \"string\":\r\n return raw.split(/\\s+/, 4);\r\n case \"object\":\r\n return [raw.x || raw.h || raw.left, raw.y || raw.v || raw.top, raw.x || raw.h || raw.right, raw.y || raw.v || raw.bottom];\r\n case \"number\":\r\n return [raw];\r\n default:\r\n return raw\r\n }\r\n};\r\nexport var quadToObject = function(raw) {\r\n var quad = splitQuad(raw);\r\n var left = parseInt(quad && quad[0], 10);\r\n var top = parseInt(quad && quad[1], 10);\r\n var right = parseInt(quad && quad[2], 10);\r\n var bottom = parseInt(quad && quad[3], 10);\r\n if (!isFinite(left)) {\r\n left = 0\r\n }\r\n if (!isFinite(top)) {\r\n top = left\r\n }\r\n if (!isFinite(right)) {\r\n right = left\r\n }\r\n if (!isFinite(bottom)) {\r\n bottom = top\r\n }\r\n return {\r\n top: top,\r\n right: right,\r\n bottom: bottom,\r\n left: left\r\n }\r\n};\r\nexport function format(template) {\r\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\r\n values[_key - 1] = arguments[_key]\r\n }\r\n if (isFunction(template)) {\r\n return template(...values)\r\n }\r\n values.forEach((value, index) => {\r\n if (isString(value)) {\r\n value = value.replace(/\\$/g, \"$$$$\")\r\n }\r\n var placeholderReg = new RegExp(\"\\\\{\" + index + \"\\\\}\", \"gm\");\r\n template = template.replace(placeholderReg, value)\r\n });\r\n return template\r\n}\r\nexport var replaceAll = function(text, searchToken, replacementToken) {\r\n return text.replace(new RegExp(\"(\" + (str = searchToken, (str + \"\").replace(/([\\\\+*?.[^\\]$(){}><|=!:])/g, \"\\\\$1\")) + \")\", \"gi\"), replacementToken);\r\n var str\r\n};\r\nexport var isEmpty = function() {\r\n var SPACE_REGEXP = /\\s/g;\r\n return function(text) {\r\n return !text || !text.replace(SPACE_REGEXP, \"\")\r\n }\r\n}();\r\n","/**\r\n * DevExtreme (esm/core/utils/style.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n camelize\r\n} from \"./inflector\";\r\nimport callOnce from \"./call_once\";\r\nimport {\r\n isNumeric,\r\n isString\r\n} from \"./type\";\r\nimport domAdapter from \"../dom_adapter\";\r\nvar jsPrefixes = [\"\", \"Webkit\", \"Moz\", \"O\", \"Ms\"];\r\nvar cssPrefixes = {\r\n \"\": \"\",\r\n Webkit: \"-webkit-\",\r\n Moz: \"-moz-\",\r\n O: \"-o-\",\r\n ms: \"-ms-\"\r\n};\r\nvar getStyles = callOnce((function() {\r\n return domAdapter.createElement(\"dx\").style\r\n}));\r\nvar forEachPrefixes = function(prop, callBack) {\r\n prop = camelize(prop, true);\r\n var result;\r\n for (var i = 0, cssPrefixesCount = jsPrefixes.length; i < cssPrefixesCount; i++) {\r\n var jsPrefix = jsPrefixes[i];\r\n var prefixedProp = jsPrefix + prop;\r\n var lowerPrefixedProp = camelize(prefixedProp);\r\n result = callBack(lowerPrefixedProp, jsPrefix);\r\n if (void 0 === result) {\r\n result = callBack(prefixedProp, jsPrefix)\r\n }\r\n if (void 0 !== result) {\r\n break\r\n }\r\n }\r\n return result || \"\"\r\n};\r\nvar styleProp = function(name) {\r\n if (name in getStyles()) {\r\n return name\r\n }\r\n var originalName = name;\r\n name = name.charAt(0).toUpperCase() + name.substr(1);\r\n for (var i = 1; i < jsPrefixes.length; i++) {\r\n var prefixedProp = jsPrefixes[i].toLowerCase() + name;\r\n if (prefixedProp in getStyles()) {\r\n return prefixedProp\r\n }\r\n }\r\n return originalName\r\n};\r\nvar stylePropPrefix = function(prop) {\r\n return forEachPrefixes(prop, (function(specific, jsPrefix) {\r\n if (specific in getStyles()) {\r\n return cssPrefixes[jsPrefix]\r\n }\r\n }))\r\n};\r\nvar pxExceptions = [\"fillOpacity\", \"columnCount\", \"flexGrow\", \"flexShrink\", \"fontWeight\", \"lineHeight\", \"opacity\", \"zIndex\", \"zoom\"];\r\nvar parsePixelValue = function(value) {\r\n if (isNumeric(value)) {\r\n return value\r\n } else if (isString(value)) {\r\n return Number(value.replace(\"px\", \"\"))\r\n }\r\n return NaN\r\n};\r\nvar normalizeStyleProp = function(prop, value) {\r\n if (isNumeric(value) && -1 === pxExceptions.indexOf(prop)) {\r\n value += \"px\"\r\n }\r\n return value\r\n};\r\nvar setDimensionProperty = function(elements, propertyName, value) {\r\n if (elements) {\r\n value = isNumeric(value) ? value += \"px\" : value;\r\n for (var i = 0; i < elements.length; ++i) {\r\n elements[i].style[propertyName] = value\r\n }\r\n }\r\n};\r\nvar setWidth = function(elements, value) {\r\n setDimensionProperty(elements, \"width\", value)\r\n};\r\nvar setHeight = function(elements, value) {\r\n setDimensionProperty(elements, \"height\", value)\r\n};\r\nexport {\r\n styleProp,\r\n stylePropPrefix,\r\n normalizeStyleProp,\r\n parsePixelValue,\r\n setWidth,\r\n setHeight\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/support.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../dom_adapter\";\r\nimport callOnce from \"./call_once\";\r\nimport {\r\n getNavigator,\r\n hasProperty\r\n} from \"./window\";\r\nimport devices from \"../devices\";\r\nimport {\r\n stylePropPrefix,\r\n styleProp\r\n} from \"./style\";\r\nvar {\r\n maxTouchPoints: maxTouchPoints\r\n} = getNavigator();\r\nvar transitionEndEventNames = {\r\n webkitTransition: \"webkitTransitionEnd\",\r\n MozTransition: \"transitionend\",\r\n OTransition: \"oTransitionEnd\",\r\n transition: \"transitionend\"\r\n};\r\nvar supportProp = function(prop) {\r\n return !!styleProp(prop)\r\n};\r\nvar isNativeScrollingSupported = function() {\r\n var {\r\n platform: platform,\r\n mac: isMac\r\n } = devices.real();\r\n var isNativeScrollDevice = \"ios\" === platform || \"android\" === platform || isMac;\r\n return isNativeScrollDevice\r\n};\r\nvar inputType = function(type) {\r\n if (\"text\" === type) {\r\n return true\r\n }\r\n var input = domAdapter.createElement(\"input\");\r\n try {\r\n input.setAttribute(\"type\", type);\r\n input.value = \"wrongValue\";\r\n return !input.value\r\n } catch (e) {\r\n return false\r\n }\r\n};\r\nvar detectTouchEvents = function(hasWindowProperty, maxTouchPoints) {\r\n return (hasWindowProperty(\"ontouchstart\") || !!maxTouchPoints) && !hasWindowProperty(\"callPhantom\")\r\n};\r\nvar detectPointerEvent = function(hasWindowProperty) {\r\n return hasWindowProperty(\"PointerEvent\")\r\n};\r\nvar touchEvents = detectTouchEvents(hasProperty, maxTouchPoints);\r\nvar pointerEvents = detectPointerEvent(hasProperty);\r\nvar touchPointersPresent = !!maxTouchPoints;\r\nexport {\r\n touchEvents,\r\n pointerEvents,\r\n styleProp,\r\n stylePropPrefix,\r\n supportProp,\r\n inputType\r\n};\r\nexport var touch = touchEvents || pointerEvents && touchPointersPresent;\r\nexport var transition = callOnce((function() {\r\n return supportProp(\"transition\")\r\n}));\r\nexport var transitionEndEventName = callOnce((function() {\r\n return transitionEndEventNames[styleProp(\"transition\")]\r\n}));\r\nexport var animation = callOnce((function() {\r\n return supportProp(\"animation\")\r\n}));\r\nexport var nativeScrolling = isNativeScrollingSupported();\r\n","/**\r\n * DevExtreme (esm/core/utils/svg.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n getWindow\r\n} from \"./window\";\r\nimport $ from \"../../core/renderer\";\r\nvar window = getWindow();\r\n\r\nfunction getMarkup(element, backgroundColor) {\r\n var temp = domAdapter.createElement(\"div\");\r\n var clone = element.cloneNode(true);\r\n if (backgroundColor) {\r\n $(clone).css(\"backgroundColor\", backgroundColor)\r\n }\r\n temp.appendChild(clone);\r\n return temp.innerHTML\r\n}\r\n\r\nfunction fixNamespaces(markup) {\r\n var first = true;\r\n if (-1 === markup.indexOf(\"xmlns:xlink\")) {\r\n markup = markup.replace(\" extractTemplateMarkup(element),\r\n render: (template, data) => jQuery.tmpl(template, data)\r\n});\r\nregisterTemplateEngine(\"jsrender\", {\r\n compile: element => (jQuery ? jQuery : jsrender).templates(extractTemplateMarkup(element)),\r\n render: (template, data) => template.render(data)\r\n});\r\nregisterTemplateEngine(\"mustache\", {\r\n compile: element => extractTemplateMarkup(element),\r\n render: (template, data) => Mustache.render(template, data)\r\n});\r\nregisterTemplateEngine(\"hogan\", {\r\n compile: element => Hogan.compile(extractTemplateMarkup(element)),\r\n render: (template, data) => template.render(data)\r\n});\r\nregisterTemplateEngine(\"underscore\", {\r\n compile: element => _.template(extractTemplateMarkup(element)),\r\n render: (template, data) => template(data)\r\n});\r\nregisterTemplateEngine(\"handlebars\", {\r\n compile: element => Handlebars.compile(extractTemplateMarkup(element)),\r\n render: (template, data) => template(data)\r\n});\r\nregisterTemplateEngine(\"doT\", {\r\n compile: element => doT.template(extractTemplateMarkup(element)),\r\n render: (template, data) => template(data)\r\n});\r\n","/**\r\n * DevExtreme (esm/core/templates/template.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../renderer\";\r\nimport {\r\n TemplateBase\r\n} from \"./template_base\";\r\nimport {\r\n normalizeTemplateElement\r\n} from \"../utils/dom\";\r\nimport {\r\n getCurrentTemplateEngine,\r\n registerTemplateEngine,\r\n setTemplateEngine\r\n} from \"./template_engine_registry\";\r\nimport \"./template_engines\";\r\nregisterTemplateEngine(\"default\", {\r\n compile: element => normalizeTemplateElement(element),\r\n render: (template, model, index) => template.clone()\r\n});\r\nsetTemplateEngine(\"default\");\r\nexport class Template extends TemplateBase {\r\n constructor(element) {\r\n super();\r\n this._element = element\r\n }\r\n _renderCore(options) {\r\n var transclude = options.transclude;\r\n if (!transclude && !this._compiledTemplate) {\r\n this._compiledTemplate = getCurrentTemplateEngine().compile(this._element)\r\n }\r\n return $(\"
    \").append(transclude ? this._element : getCurrentTemplateEngine().render(this._compiledTemplate, options.model, options.index)).contents()\r\n }\r\n source() {\r\n return $(this._element).clone()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/template_manager.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport config from \"../config\";\r\nimport devices from \"../devices\";\r\nimport {\r\n getPublicElement\r\n} from \"../element\";\r\nimport Errors from \"../errors\";\r\nimport $ from \"../renderer\";\r\nimport {\r\n ChildDefaultTemplate\r\n} from \"../templates/child_default_template\";\r\nimport {\r\n EmptyTemplate\r\n} from \"../templates/empty_template\";\r\nimport {\r\n Template\r\n} from \"../templates/template\";\r\nimport {\r\n TemplateBase\r\n} from \"../templates/template_base\";\r\nimport {\r\n groupBy\r\n} from \"./array\";\r\nimport {\r\n findBestMatches\r\n} from \"./common\";\r\nimport {\r\n normalizeTemplateElement\r\n} from \"./dom\";\r\nimport {\r\n extend\r\n} from \"./extend\";\r\nimport {\r\n isFunction,\r\n isRenderer\r\n} from \"./type\";\r\nexport var findTemplates = (element, name) => {\r\n var templates = $(element).contents().filter(\"[\".concat(\"data-options\", '*=\"').concat(name, '\"]'));\r\n return [].slice.call(templates).map(element => {\r\n var optionsString = $(element).attr(\"data-options\") || \"\";\r\n return {\r\n element: element,\r\n options: config().optionsParser(optionsString)[name]\r\n }\r\n }).filter(template => !!template.options)\r\n};\r\nexport var suitableTemplatesByName = rawTemplates => {\r\n var templatesMap = groupBy(rawTemplates, template => template.options.name);\r\n if (templatesMap[void 0]) {\r\n throw Errors.Error(\"E0023\")\r\n }\r\n var result = {};\r\n Object.keys(templatesMap).forEach(name => {\r\n var _findBestMatches$;\r\n var suitableTemplate = null === (_findBestMatches$ = findBestMatches(devices.current(), templatesMap[name], template => template.options)[0]) || void 0 === _findBestMatches$ ? void 0 : _findBestMatches$.element;\r\n if (suitableTemplate) {\r\n result[name] = suitableTemplate\r\n }\r\n });\r\n return result\r\n};\r\nexport var addOneRenderedCall = template => {\r\n var render = template.render.bind(template);\r\n return extend({}, template, {\r\n render(options) {\r\n var templateResult = render(options);\r\n options && options.onRendered && options.onRendered();\r\n return templateResult\r\n }\r\n })\r\n};\r\nexport var addPublicElementNormalization = template => {\r\n var render = template.render.bind(template);\r\n return extend({}, template, {\r\n render(options) {\r\n var $container = $(options.container);\r\n return render(_extends({}, options, {\r\n container: getPublicElement($container)\r\n }))\r\n }\r\n })\r\n};\r\nexport var getNormalizedTemplateArgs = options => {\r\n var args = [];\r\n if (\"model\" in options) {\r\n args.push(options.model)\r\n }\r\n if (\"index\" in options) {\r\n args.push(options.index)\r\n }\r\n args.push(options.container);\r\n return args\r\n};\r\nexport var validateTemplateSource = templateSource => \"string\" === typeof templateSource ? normalizeTemplateElement(templateSource) : templateSource;\r\nexport var templateKey = templateSource => isRenderer(templateSource) && templateSource[0] || templateSource;\r\nexport var defaultCreateElement = element => new Template(element);\r\nexport var acquireIntegrationTemplate = (templateSource, templates, isAsyncTemplate, skipTemplates) => {\r\n var integrationTemplate = null;\r\n if (!skipTemplates || -1 === skipTemplates.indexOf(templateSource)) {\r\n integrationTemplate = templates[templateSource];\r\n if (integrationTemplate && !(integrationTemplate instanceof TemplateBase)) {\r\n if (isFunction(integrationTemplate.render)) {\r\n integrationTemplate = addPublicElementNormalization(integrationTemplate)\r\n }\r\n if (!isAsyncTemplate) {\r\n integrationTemplate = addOneRenderedCall(integrationTemplate)\r\n }\r\n }\r\n }\r\n return integrationTemplate\r\n};\r\nexport var acquireTemplate = (templateSource, createTemplate, templates, isAsyncTemplate, skipTemplates, defaultTemplates) => {\r\n if (null == templateSource) {\r\n return new EmptyTemplate\r\n }\r\n if (templateSource instanceof ChildDefaultTemplate) {\r\n return defaultTemplates[templateSource.name]\r\n }\r\n if (templateSource instanceof TemplateBase) {\r\n return templateSource\r\n }\r\n if (isFunction(templateSource.render) && !isRenderer(templateSource)) {\r\n return isAsyncTemplate ? templateSource : addOneRenderedCall(templateSource)\r\n }\r\n if (templateSource.nodeType || isRenderer(templateSource)) {\r\n return createTemplate($(templateSource))\r\n }\r\n return acquireIntegrationTemplate(templateSource, templates, isAsyncTemplate, skipTemplates) || defaultTemplates[templateSource] || createTemplate(templateSource)\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/type.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar types = {\r\n \"[object Array]\": \"array\",\r\n \"[object Date]\": \"date\",\r\n \"[object Object]\": \"object\",\r\n \"[object String]\": \"string\"\r\n};\r\nvar type = function(object) {\r\n if (null === object) {\r\n return \"null\"\r\n }\r\n var typeOfObject = Object.prototype.toString.call(object);\r\n return \"object\" === typeof object ? types[typeOfObject] || \"object\" : typeof object\r\n};\r\nvar isBoolean = function(object) {\r\n return \"boolean\" === typeof object\r\n};\r\nvar isExponential = function(value) {\r\n return isNumeric(value) && -1 !== value.toString().indexOf(\"e\")\r\n};\r\nvar isDate = function(object) {\r\n return \"date\" === type(object)\r\n};\r\nvar isDefined = function(object) {\r\n return null !== object && void 0 !== object\r\n};\r\nvar isFunction = function(object) {\r\n return \"function\" === typeof object\r\n};\r\nvar isString = function(object) {\r\n return \"string\" === typeof object\r\n};\r\nvar isNumeric = function(object) {\r\n return \"number\" === typeof object && isFinite(object) || !isNaN(object - parseFloat(object))\r\n};\r\nvar isObject = function(object) {\r\n return \"object\" === type(object)\r\n};\r\nvar isEmptyObject = function(object) {\r\n var property;\r\n for (property in object) {\r\n return false\r\n }\r\n return true\r\n};\r\nvar isPlainObject = function(object) {\r\n if (!object || \"object\" !== type(object)) {\r\n return false\r\n }\r\n var proto = Object.getPrototypeOf(object);\r\n var ctor = Object.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\r\n return \"function\" === typeof ctor && Object.toString.call(ctor) === Object.toString.call(Object)\r\n};\r\nvar isPrimitive = function(value) {\r\n return -1 === [\"object\", \"array\", \"function\"].indexOf(type(value))\r\n};\r\nvar isWindow = function(object) {\r\n return null != object && object === object.window\r\n};\r\nvar isRenderer = function(object) {\r\n return !!object && !!(object.jquery || object.dxRenderer)\r\n};\r\nvar isPromise = function(object) {\r\n return !!object && isFunction(object.then)\r\n};\r\nvar isDeferred = function(object) {\r\n return !!object && isFunction(object.done) && isFunction(object.fail)\r\n};\r\nvar isEvent = function(object) {\r\n return !!(object && object.preventDefault)\r\n};\r\nexport {\r\n isBoolean,\r\n isExponential,\r\n isDate,\r\n isDefined,\r\n isFunction,\r\n isString,\r\n isNumeric,\r\n isObject,\r\n isEmptyObject,\r\n isPlainObject,\r\n isPrimitive,\r\n isWindow,\r\n isRenderer,\r\n isPromise,\r\n isDeferred,\r\n type,\r\n isEvent\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/variable_wrapper.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n logger\r\n} from \"./console\";\r\nimport dependencyInjector from \"./dependency_injector\";\r\nexport default dependencyInjector({\r\n isWrapped: function() {\r\n return false\r\n },\r\n isWritableWrapped: function() {\r\n return false\r\n },\r\n wrap: function(value) {\r\n return value\r\n },\r\n unwrap: function(value) {\r\n return value\r\n },\r\n assign: function() {\r\n logger.error(\"Method 'assign' should not be used for not wrapped variables. Use 'isWrapped' method for ensuring.\")\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/core/utils/version.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function compare(x, y, maxLevel) {\r\n function normalizeArg(value) {\r\n if (\"string\" === typeof value) {\r\n return value.split(\".\")\r\n }\r\n if (\"number\" === typeof value) {\r\n return [value]\r\n }\r\n return value\r\n }\r\n x = normalizeArg(x);\r\n y = normalizeArg(y);\r\n var length = Math.max(x.length, y.length);\r\n if (isFinite(maxLevel)) {\r\n length = Math.min(length, maxLevel)\r\n }\r\n for (var i = 0; i < length; i++) {\r\n var xItem = parseInt(x[i] || 0, 10);\r\n var yItem = parseInt(y[i] || 0, 10);\r\n if (xItem < yItem) {\r\n return -1\r\n }\r\n if (xItem > yItem) {\r\n return 1\r\n }\r\n }\r\n return 0\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/view_port.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../renderer\";\r\nimport readyCallbacks from \"./ready_callbacks\";\r\nvar ready = readyCallbacks.add;\r\nimport callbacks from \"./callbacks\";\r\nvar changeCallback = callbacks();\r\nvar $originalViewPort = $();\r\nvar value = function() {\r\n var $current;\r\n return function(element) {\r\n if (!arguments.length) {\r\n return $current\r\n }\r\n var $element = $(element);\r\n $originalViewPort = $element;\r\n var isNewViewportFound = !!$element.length;\r\n var prevViewPort = value();\r\n $current = isNewViewportFound ? $element : $(\"body\");\r\n changeCallback.fire(isNewViewportFound ? value() : $(), prevViewPort)\r\n }\r\n}();\r\nready((function() {\r\n value(\".dx-viewport\")\r\n}));\r\nexport {\r\n value,\r\n changeCallback\r\n};\r\nexport function originalViewPort() {\r\n return $originalViewPort\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/window.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../dom_adapter\";\r\nvar hasWindowValue = \"undefined\" !== typeof window;\r\nvar hasWindow = () => hasWindowValue;\r\nvar windowObject = hasWindow() ? window : void 0;\r\nif (!windowObject) {\r\n windowObject = {};\r\n windowObject.window = windowObject\r\n}\r\nvar getWindow = () => windowObject;\r\nvar setWindow = (newWindowObject, hasWindow) => {\r\n if (void 0 === hasWindow) {\r\n hasWindowValue = \"undefined\" !== typeof window && window === newWindowObject\r\n } else {\r\n hasWindowValue = hasWindow\r\n }\r\n windowObject = newWindowObject\r\n};\r\nvar hasProperty = prop => hasWindow() && prop in windowObject;\r\nvar defaultScreenFactorFunc = width => {\r\n if (width < 768) {\r\n return \"xs\"\r\n } else if (width < 992) {\r\n return \"sm\"\r\n } else if (width < 1200) {\r\n return \"md\"\r\n } else {\r\n return \"lg\"\r\n }\r\n};\r\nvar getCurrentScreenFactor = screenFactorCallback => {\r\n var screenFactorFunc = screenFactorCallback || defaultScreenFactorFunc;\r\n var windowWidth = domAdapter.getDocumentElement().clientWidth;\r\n return screenFactorFunc(windowWidth)\r\n};\r\nvar getNavigator = () => hasWindow() ? windowObject.navigator : {\r\n userAgent: \"\"\r\n};\r\nexport {\r\n hasWindow,\r\n getWindow,\r\n setWindow,\r\n hasProperty,\r\n defaultScreenFactorFunc,\r\n getCurrentScreenFactor,\r\n getNavigator\r\n};\r\n","/**\r\n * DevExtreme (esm/core/version.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var version = \"22.2.14\";\r\n","/**\r\n * DevExtreme (esm/data/abstract_store.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../core/class\";\r\nvar abstract = Class.abstract;\r\nimport {\r\n EventsStrategy\r\n} from \"../core/events_strategy\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n errors,\r\n handleError\r\n} from \"./errors\";\r\nimport {\r\n processRequestResultLock\r\n} from \"./utils\";\r\nimport {\r\n compileGetter\r\n} from \"../core/utils/data\";\r\nimport storeHelper from \"./store_helper\";\r\nvar queryByOptions = storeHelper.queryByOptions;\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n noop\r\n} from \"../core/utils/common\";\r\nvar storeImpl = {};\r\nvar Store = Class.inherit({\r\n ctor: function(options) {\r\n var that = this;\r\n options = options || {};\r\n this._eventsStrategy = new EventsStrategy(this);\r\n each([\"onLoaded\", \"onLoading\", \"onInserted\", \"onInserting\", \"onUpdated\", \"onUpdating\", \"onPush\", \"onRemoved\", \"onRemoving\", \"onModified\", \"onModifying\"], (function(_, optionName) {\r\n if (optionName in options) {\r\n that.on(optionName.slice(2).toLowerCase(), options[optionName])\r\n }\r\n }));\r\n this._key = options.key;\r\n this._errorHandler = options.errorHandler;\r\n this._useDefaultSearch = true\r\n },\r\n _clearCache: noop,\r\n _customLoadOptions: function() {\r\n return null\r\n },\r\n key: function() {\r\n return this._key\r\n },\r\n keyOf: function(obj) {\r\n if (!this._keyGetter) {\r\n this._keyGetter = compileGetter(this.key())\r\n }\r\n return this._keyGetter(obj)\r\n },\r\n _requireKey: function() {\r\n if (!this.key()) {\r\n throw errors.Error(\"E4005\")\r\n }\r\n },\r\n load: function(options) {\r\n var that = this;\r\n options = options || {};\r\n this._eventsStrategy.fireEvent(\"loading\", [options]);\r\n return this._withLock(this._loadImpl(options)).done((function(result) {\r\n that._eventsStrategy.fireEvent(\"loaded\", [result, options])\r\n }))\r\n },\r\n _loadImpl: function(options) {\r\n return queryByOptions(this.createQuery(options), options).enumerate()\r\n },\r\n _withLock: function(task) {\r\n var result = new Deferred;\r\n task.done((function() {\r\n var that = this;\r\n var args = arguments;\r\n processRequestResultLock.promise().done((function() {\r\n result.resolveWith(that, args)\r\n }))\r\n })).fail((function() {\r\n result.rejectWith(this, arguments)\r\n }));\r\n return result\r\n },\r\n createQuery: abstract,\r\n totalCount: function(options) {\r\n return this._totalCountImpl(options)\r\n },\r\n _totalCountImpl: function(options) {\r\n return queryByOptions(this.createQuery(options), options, true).count()\r\n },\r\n byKey: function(key, extraOptions) {\r\n return this._addFailHandlers(this._withLock(this._byKeyImpl(key, extraOptions)))\r\n },\r\n _byKeyImpl: abstract,\r\n insert: function(values) {\r\n var that = this;\r\n that._eventsStrategy.fireEvent(\"modifying\");\r\n that._eventsStrategy.fireEvent(\"inserting\", [values]);\r\n return that._addFailHandlers(that._insertImpl(values).done((function(callbackValues, callbackKey) {\r\n that._eventsStrategy.fireEvent(\"inserted\", [callbackValues, callbackKey]);\r\n that._eventsStrategy.fireEvent(\"modified\")\r\n })))\r\n },\r\n _insertImpl: abstract,\r\n update: function(key, values) {\r\n var that = this;\r\n that._eventsStrategy.fireEvent(\"modifying\");\r\n that._eventsStrategy.fireEvent(\"updating\", [key, values]);\r\n return that._addFailHandlers(that._updateImpl(key, values).done((function() {\r\n that._eventsStrategy.fireEvent(\"updated\", [key, values]);\r\n that._eventsStrategy.fireEvent(\"modified\")\r\n })))\r\n },\r\n _updateImpl: abstract,\r\n push: function(changes) {\r\n var beforePushArgs = {\r\n changes: changes,\r\n waitFor: []\r\n };\r\n this._eventsStrategy.fireEvent(\"beforePushAggregation\", [beforePushArgs]);\r\n when(...beforePushArgs.waitFor).done(() => {\r\n this._pushImpl(changes);\r\n this._eventsStrategy.fireEvent(\"beforePush\", [{\r\n changes: changes\r\n }]);\r\n this._eventsStrategy.fireEvent(\"push\", [changes])\r\n })\r\n },\r\n _pushImpl: noop,\r\n remove: function(key) {\r\n var that = this;\r\n that._eventsStrategy.fireEvent(\"modifying\");\r\n that._eventsStrategy.fireEvent(\"removing\", [key]);\r\n return that._addFailHandlers(that._removeImpl(key).done((function(callbackKey) {\r\n that._eventsStrategy.fireEvent(\"removed\", [callbackKey]);\r\n that._eventsStrategy.fireEvent(\"modified\")\r\n })))\r\n },\r\n _removeImpl: abstract,\r\n _addFailHandlers: function(deferred) {\r\n return deferred.fail(this._errorHandler).fail(handleError)\r\n },\r\n on(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n }\r\n});\r\nStore.create = function(alias, options) {\r\n if (!(alias in storeImpl)) {\r\n throw errors.Error(\"E4020\", alias)\r\n }\r\n return new storeImpl[alias](options)\r\n};\r\nStore.registerClass = function(type, alias) {\r\n if (alias) {\r\n storeImpl[alias] = type\r\n }\r\n return type\r\n};\r\nStore.inherit = function(inheritor) {\r\n return function(members, alias) {\r\n var type = inheritor.apply(this, [members]);\r\n Store.registerClass(type, alias);\r\n return type\r\n }\r\n}(Store.inherit);\r\nexport default Store;\r\n","/**\r\n * DevExtreme (esm/data/array_query.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../core/class\";\r\nimport {\r\n isFunction,\r\n isDefined\r\n} from \"../core/utils/type\";\r\nimport {\r\n each,\r\n map\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n compileGetter,\r\n toComparable\r\n} from \"../core/utils/data\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n errors,\r\n handleError as handleDataError\r\n} from \"./errors\";\r\nimport {\r\n aggregators,\r\n isGroupCriterion,\r\n isUnaryOperation,\r\n normalizeBinaryCriterion,\r\n isConjunctiveOperator as isConjunctiveOperatorChecker\r\n} from \"./utils\";\r\nvar Iterator = Class.inherit({\r\n toArray: function() {\r\n var result = [];\r\n this.reset();\r\n while (this.next()) {\r\n result.push(this.current())\r\n }\r\n return result\r\n },\r\n countable: function() {\r\n return false\r\n }\r\n});\r\nvar ArrayIterator = Iterator.inherit({\r\n ctor: function(array) {\r\n this.array = array;\r\n this.index = -1\r\n },\r\n next: function() {\r\n if (this.index + 1 < this.array.length) {\r\n this.index++;\r\n return true\r\n }\r\n return false\r\n },\r\n current: function() {\r\n return this.array[this.index]\r\n },\r\n reset: function() {\r\n this.index = -1\r\n },\r\n toArray: function() {\r\n return this.array.slice(0)\r\n },\r\n countable: function() {\r\n return true\r\n },\r\n count: function() {\r\n return this.array.length\r\n }\r\n});\r\nvar WrappedIterator = Iterator.inherit({\r\n ctor: function(iter) {\r\n this.iter = iter\r\n },\r\n next: function() {\r\n return this.iter.next()\r\n },\r\n current: function() {\r\n return this.iter.current()\r\n },\r\n reset: function() {\r\n return this.iter.reset()\r\n }\r\n});\r\nvar MapIterator = WrappedIterator.inherit({\r\n ctor: function(iter, mapper) {\r\n this.callBase(iter);\r\n this.index = -1;\r\n this.mapper = mapper\r\n },\r\n current: function() {\r\n return this.mapper(this.callBase(), this.index)\r\n },\r\n next: function() {\r\n var hasNext = this.callBase();\r\n if (hasNext) {\r\n this.index++\r\n }\r\n return hasNext\r\n }\r\n});\r\nvar defaultCompare = function(xValue, yValue) {\r\n xValue = toComparable(xValue);\r\n yValue = toComparable(yValue);\r\n if (null === xValue && null !== yValue) {\r\n return -1\r\n }\r\n if (null !== xValue && null === yValue) {\r\n return 1\r\n }\r\n if (void 0 === xValue && void 0 !== yValue) {\r\n return 1\r\n }\r\n if (void 0 !== xValue && void 0 === yValue) {\r\n return -1\r\n }\r\n if (xValue < yValue) {\r\n return -1\r\n }\r\n if (xValue > yValue) {\r\n return 1\r\n }\r\n return 0\r\n};\r\nvar SortIterator = Iterator.inherit({\r\n ctor: function(iter, getter, desc, compare) {\r\n if (!(iter instanceof MapIterator)) {\r\n iter = new MapIterator(iter, this._wrap)\r\n }\r\n this.iter = iter;\r\n this.rules = [{\r\n getter: getter,\r\n desc: desc,\r\n compare: compare\r\n }]\r\n },\r\n thenBy: function(getter, desc, compare) {\r\n var result = new SortIterator(this.sortedIter || this.iter, getter, desc, compare);\r\n if (!this.sortedIter) {\r\n result.rules = this.rules.concat(result.rules)\r\n }\r\n return result\r\n },\r\n next: function() {\r\n this._ensureSorted();\r\n return this.sortedIter.next()\r\n },\r\n current: function() {\r\n this._ensureSorted();\r\n return this.sortedIter.current()\r\n },\r\n reset: function() {\r\n delete this.sortedIter\r\n },\r\n countable: function() {\r\n return this.sortedIter || this.iter.countable()\r\n },\r\n count: function() {\r\n if (this.sortedIter) {\r\n return this.sortedIter.count()\r\n }\r\n return this.iter.count()\r\n },\r\n _ensureSorted: function() {\r\n var that = this;\r\n if (that.sortedIter) {\r\n return\r\n }\r\n each(that.rules, (function() {\r\n this.getter = compileGetter(this.getter)\r\n }));\r\n that.sortedIter = new MapIterator(new ArrayIterator(this.iter.toArray().sort((function(x, y) {\r\n return that._compare(x, y)\r\n }))), that._unwrap)\r\n },\r\n _wrap: function(record, index) {\r\n return {\r\n index: index,\r\n value: record\r\n }\r\n },\r\n _unwrap: function(wrappedItem) {\r\n return wrappedItem.value\r\n },\r\n _compare: function(x, y) {\r\n var xIndex = x.index;\r\n var yIndex = y.index;\r\n x = x.value;\r\n y = y.value;\r\n if (x === y) {\r\n return xIndex - yIndex\r\n }\r\n for (var i = 0, rulesCount = this.rules.length; i < rulesCount; i++) {\r\n var rule = this.rules[i];\r\n var xValue = rule.getter(x);\r\n var yValue = rule.getter(y);\r\n var compare = rule.compare || defaultCompare;\r\n var compareResult = compare(xValue, yValue);\r\n if (compareResult) {\r\n return rule.desc ? -compareResult : compareResult\r\n }\r\n }\r\n return xIndex - yIndex\r\n }\r\n});\r\nvar compileCriteria = function() {\r\n var toString = function(value) {\r\n return isDefined(value) ? value.toString() : \"\"\r\n };\r\n\r\n function compileEquals(getter, value, negate) {\r\n return function(obj) {\r\n obj = toComparable(getter(obj));\r\n var result = function(value) {\r\n return \"\" === value || 0 === value || false === value\r\n }(value) ? obj === value : obj == value;\r\n if (negate) {\r\n result = !result\r\n }\r\n return result\r\n }\r\n }\r\n return function(crit) {\r\n if (isFunction(crit)) {\r\n return crit\r\n }\r\n if (isGroupCriterion(crit)) {\r\n return function(crit) {\r\n var ops = [];\r\n var isConjunctiveOperator = false;\r\n var isConjunctiveNextOperator = false;\r\n each(crit, (function() {\r\n if (Array.isArray(this) || isFunction(this)) {\r\n if (ops.length > 1 && isConjunctiveOperator !== isConjunctiveNextOperator) {\r\n throw new errors.Error(\"E4019\")\r\n }\r\n ops.push(compileCriteria(this));\r\n isConjunctiveOperator = isConjunctiveNextOperator;\r\n isConjunctiveNextOperator = true\r\n } else {\r\n isConjunctiveNextOperator = isConjunctiveOperatorChecker(this)\r\n }\r\n }));\r\n return function(d) {\r\n var result = isConjunctiveOperator;\r\n for (var i = 0; i < ops.length; i++) {\r\n if (ops[i](d) !== isConjunctiveOperator) {\r\n result = !isConjunctiveOperator;\r\n break\r\n }\r\n }\r\n return result\r\n }\r\n }(crit)\r\n }\r\n if (isUnaryOperation(crit)) {\r\n return function(crit) {\r\n var op = crit[0];\r\n var criteria = compileCriteria(crit[1]);\r\n if (\"!\" === op) {\r\n return function(obj) {\r\n return !criteria(obj)\r\n }\r\n }\r\n throw errors.Error(\"E4003\", op)\r\n }(crit)\r\n }\r\n return function(crit) {\r\n crit = normalizeBinaryCriterion(crit);\r\n var getter = compileGetter(crit[0]);\r\n var op = crit[1];\r\n var value = crit[2];\r\n value = toComparable(value);\r\n var compare = (obj, operatorFn) => {\r\n obj = toComparable(getter(obj));\r\n return (null == value || null == obj) && value !== obj ? false : operatorFn(obj, value)\r\n };\r\n switch (op.toLowerCase()) {\r\n case \"=\":\r\n return compileEquals(getter, value);\r\n case \"<>\":\r\n return compileEquals(getter, value, true);\r\n case \">\":\r\n return obj => compare(obj, (a, b) => a > b);\r\n case \"<\":\r\n return obj => compare(obj, (a, b) => a < b);\r\n case \">=\":\r\n return obj => compare(obj, (a, b) => a >= b);\r\n case \"<=\":\r\n return obj => compare(obj, (a, b) => a <= b);\r\n case \"startswith\":\r\n return function(obj) {\r\n return 0 === toComparable(toString(getter(obj))).indexOf(value)\r\n };\r\n case \"endswith\":\r\n return function(obj) {\r\n var getterValue = toComparable(toString(getter(obj)));\r\n var searchValue = toString(value);\r\n if (getterValue.length < searchValue.length) {\r\n return false\r\n }\r\n var index = getterValue.lastIndexOf(value);\r\n return -1 !== index && index === getterValue.length - value.length\r\n };\r\n case \"contains\":\r\n return function(obj) {\r\n return toComparable(toString(getter(obj))).indexOf(value) > -1\r\n };\r\n case \"notcontains\":\r\n return function(obj) {\r\n return -1 === toComparable(toString(getter(obj))).indexOf(value)\r\n }\r\n }\r\n throw errors.Error(\"E4003\", op)\r\n }(crit)\r\n }\r\n}();\r\nvar FilterIterator = WrappedIterator.inherit({\r\n ctor: function(iter, criteria) {\r\n this.callBase(iter);\r\n this.criteria = compileCriteria(criteria)\r\n },\r\n next: function() {\r\n while (this.iter.next()) {\r\n if (this.criteria(this.current())) {\r\n return true\r\n }\r\n }\r\n return false\r\n }\r\n});\r\nvar GroupIterator = Iterator.inherit({\r\n ctor: function(iter, getter) {\r\n this.iter = iter;\r\n this.getter = getter\r\n },\r\n next: function() {\r\n this._ensureGrouped();\r\n return this.groupedIter.next()\r\n },\r\n current: function() {\r\n this._ensureGrouped();\r\n return this.groupedIter.current()\r\n },\r\n reset: function() {\r\n delete this.groupedIter\r\n },\r\n countable: function() {\r\n return !!this.groupedIter\r\n },\r\n count: function() {\r\n return this.groupedIter.count()\r\n },\r\n _ensureGrouped: function() {\r\n if (this.groupedIter) {\r\n return\r\n }\r\n var hash = {};\r\n var keys = [];\r\n var iter = this.iter;\r\n var getter = compileGetter(this.getter);\r\n iter.reset();\r\n while (iter.next()) {\r\n var current = iter.current();\r\n var key = getter(current);\r\n if (key in hash) {\r\n hash[key].push(current)\r\n } else {\r\n hash[key] = [current];\r\n keys.push(key)\r\n }\r\n }\r\n this.groupedIter = new ArrayIterator(map(keys, (function(key) {\r\n return {\r\n key: key,\r\n items: hash[key]\r\n }\r\n })))\r\n }\r\n});\r\nvar SelectIterator = WrappedIterator.inherit({\r\n ctor: function(iter, getter) {\r\n this.callBase(iter);\r\n this.getter = compileGetter(getter)\r\n },\r\n current: function() {\r\n return this.getter(this.callBase())\r\n },\r\n countable: function() {\r\n return this.iter.countable()\r\n },\r\n count: function() {\r\n return this.iter.count()\r\n }\r\n});\r\nvar SliceIterator = WrappedIterator.inherit({\r\n ctor: function(iter, skip, take) {\r\n this.callBase(iter);\r\n this.skip = Math.max(0, skip);\r\n this.take = Math.max(0, take);\r\n this.pos = 0\r\n },\r\n next: function() {\r\n if (this.pos >= this.skip + this.take) {\r\n return false\r\n }\r\n while (this.pos < this.skip && this.iter.next()) {\r\n this.pos++\r\n }\r\n this.pos++;\r\n return this.iter.next()\r\n },\r\n reset: function() {\r\n this.callBase();\r\n this.pos = 0\r\n },\r\n countable: function() {\r\n return this.iter.countable()\r\n },\r\n count: function() {\r\n return Math.min(this.iter.count() - this.skip, this.take)\r\n }\r\n});\r\nvar arrayQueryImpl = function arrayQueryImpl(iter, queryOptions) {\r\n queryOptions = queryOptions || {};\r\n if (!(iter instanceof Iterator)) {\r\n iter = new ArrayIterator(iter)\r\n }\r\n var handleError = function(error) {\r\n var handler = queryOptions.errorHandler;\r\n if (handler) {\r\n handler(error)\r\n }\r\n handleDataError(error)\r\n };\r\n var aggregateCore = function(aggregator) {\r\n var d = (new Deferred).fail(handleError);\r\n var seed;\r\n var step = aggregator.step;\r\n var finalize = aggregator.finalize;\r\n try {\r\n iter.reset();\r\n if (\"seed\" in aggregator) {\r\n seed = aggregator.seed\r\n } else {\r\n seed = iter.next() ? iter.current() : NaN\r\n }\r\n var accumulator = seed;\r\n while (iter.next()) {\r\n accumulator = step(accumulator, iter.current())\r\n }\r\n d.resolve(finalize ? finalize(accumulator) : accumulator)\r\n } catch (x) {\r\n d.reject(x)\r\n }\r\n return d.promise()\r\n };\r\n var standardAggregate = function(name) {\r\n return aggregateCore(aggregators[name])\r\n };\r\n var select = function(getter) {\r\n if (!isFunction(getter) && !Array.isArray(getter)) {\r\n getter = [].slice.call(arguments)\r\n }\r\n return chainQuery(new SelectIterator(iter, getter))\r\n };\r\n var selectProp = function(name) {\r\n return select(compileGetter(name))\r\n };\r\n\r\n function chainQuery(iter) {\r\n return arrayQueryImpl(iter, queryOptions)\r\n }\r\n return {\r\n toArray: function() {\r\n return iter.toArray()\r\n },\r\n enumerate: function() {\r\n var d = (new Deferred).fail(handleError);\r\n try {\r\n d.resolve(iter.toArray())\r\n } catch (x) {\r\n d.reject(x)\r\n }\r\n return d.promise()\r\n },\r\n sortBy: function(getter, desc, compare) {\r\n return chainQuery(new SortIterator(iter, getter, desc, compare))\r\n },\r\n thenBy: function(getter, desc, compare) {\r\n if (iter instanceof SortIterator) {\r\n return chainQuery(iter.thenBy(getter, desc, compare))\r\n }\r\n throw errors.Error(\"E4004\")\r\n },\r\n filter: function(criteria) {\r\n if (!Array.isArray(criteria)) {\r\n criteria = [].slice.call(arguments)\r\n }\r\n return chainQuery(new FilterIterator(iter, criteria))\r\n },\r\n slice: function(skip, take) {\r\n if (void 0 === take) {\r\n take = Number.MAX_VALUE\r\n }\r\n return chainQuery(new SliceIterator(iter, skip, take))\r\n },\r\n select: select,\r\n groupBy: function(getter) {\r\n return chainQuery(new GroupIterator(iter, getter))\r\n },\r\n aggregate: function(seed, step, finalize) {\r\n if (arguments.length < 2) {\r\n return aggregateCore({\r\n step: arguments[0]\r\n })\r\n }\r\n return aggregateCore({\r\n seed: seed,\r\n step: step,\r\n finalize: finalize\r\n })\r\n },\r\n count: function() {\r\n if (iter.countable()) {\r\n var d = (new Deferred).fail(handleError);\r\n try {\r\n d.resolve(iter.count())\r\n } catch (x) {\r\n d.reject(x)\r\n }\r\n return d.promise()\r\n }\r\n return standardAggregate(\"count\")\r\n },\r\n sum: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).sum()\r\n }\r\n return standardAggregate(\"sum\")\r\n },\r\n min: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).min()\r\n }\r\n return standardAggregate(\"min\")\r\n },\r\n max: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).max()\r\n }\r\n return standardAggregate(\"max\")\r\n },\r\n avg: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).avg()\r\n }\r\n return standardAggregate(\"avg\")\r\n }\r\n }\r\n};\r\nexport default arrayQueryImpl;\r\n","/**\r\n * DevExtreme (esm/data/array_store.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n rejectedPromise,\r\n trivialPromise\r\n} from \"./utils\";\r\nimport Query from \"./query\";\r\nimport {\r\n errors\r\n} from \"./errors\";\r\nimport Store from \"./abstract_store\";\r\nimport {\r\n indexByKey,\r\n insert,\r\n applyBatch,\r\n update,\r\n remove\r\n} from \"./array_utils\";\r\nvar ArrayStore = Store.inherit({\r\n ctor: function(options) {\r\n if (Array.isArray(options)) {\r\n options = {\r\n data: options\r\n }\r\n } else {\r\n options = options || {}\r\n }\r\n this.callBase(options);\r\n var initialArray = options.data;\r\n if (initialArray && !Array.isArray(initialArray)) {\r\n throw errors.Error(\"E4006\")\r\n }\r\n this._array = initialArray || []\r\n },\r\n createQuery: function() {\r\n return Query(this._array, {\r\n errorHandler: this._errorHandler\r\n })\r\n },\r\n _byKeyImpl: function(key) {\r\n var index = indexByKey(this, this._array, key);\r\n if (-1 === index) {\r\n return rejectedPromise(errors.Error(\"E4009\"))\r\n }\r\n return trivialPromise(this._array[index])\r\n },\r\n _insertImpl: function(values) {\r\n return insert(this, this._array, values)\r\n },\r\n _pushImpl: function(changes) {\r\n applyBatch({\r\n keyInfo: this,\r\n data: this._array,\r\n changes: changes\r\n })\r\n },\r\n _updateImpl: function(key, values) {\r\n return update(this, this._array, key, values)\r\n },\r\n _removeImpl: function(key) {\r\n return remove(this, this._array, key)\r\n },\r\n clear: function() {\r\n this._eventsStrategy.fireEvent(\"modifying\");\r\n this._array = [];\r\n this._eventsStrategy.fireEvent(\"modified\")\r\n }\r\n}, \"array\");\r\nexport default ArrayStore;\r\n","/**\r\n * DevExtreme (esm/data/array_utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n isDefined,\r\n isEmptyObject,\r\n isObject,\r\n isPlainObject\r\n} from \"../core/utils/type\";\r\nimport config from \"../core/config\";\r\nimport Guid from \"../core/guid\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n errors\r\n} from \"./errors\";\r\nimport {\r\n deepExtendArraySafe\r\n} from \"../core/utils/object\";\r\nimport {\r\n compileGetter\r\n} from \"../core/utils/data\";\r\nimport {\r\n keysEqual,\r\n rejectedPromise,\r\n trivialPromise\r\n} from \"./utils\";\r\n\r\nfunction hasKey(target, keyOrKeys) {\r\n var key;\r\n var keys = \"string\" === typeof keyOrKeys ? keyOrKeys.split() : keyOrKeys.slice();\r\n while (keys.length) {\r\n key = keys.shift();\r\n if (key in target) {\r\n return true\r\n }\r\n }\r\n return false\r\n}\r\n\r\nfunction findItems(keyInfo, items, key, groupCount) {\r\n var childItems;\r\n var result;\r\n if (groupCount) {\r\n for (var i = 0; i < items.length; i++) {\r\n childItems = items[i].items || items[i].collapsedItems || [];\r\n result = findItems(keyInfo, childItems || [], key, groupCount - 1);\r\n if (result) {\r\n return result\r\n }\r\n }\r\n } else if (indexByKey(keyInfo, items, key) >= 0) {\r\n return items\r\n }\r\n}\r\n\r\nfunction getItems(keyInfo, items, key, groupCount) {\r\n if (groupCount) {\r\n return findItems(keyInfo, items, key, groupCount) || []\r\n }\r\n return items\r\n}\r\n\r\nfunction generateDataByKeyMap(keyInfo, array) {\r\n if (keyInfo.key() && (!array._dataByKeyMap || array._dataByKeyMapLength !== array.length)) {\r\n var dataByKeyMap = {};\r\n var arrayLength = array.length;\r\n for (var i = 0; i < arrayLength; i++) {\r\n dataByKeyMap[JSON.stringify(keyInfo.keyOf(array[i]))] = array[i]\r\n }\r\n array._dataByKeyMap = dataByKeyMap;\r\n array._dataByKeyMapLength = arrayLength\r\n }\r\n}\r\n\r\nfunction getCacheValue(array, key) {\r\n if (array._dataByKeyMap) {\r\n return array._dataByKeyMap[JSON.stringify(key)]\r\n }\r\n}\r\n\r\nfunction getHasKeyCacheValue(array, key) {\r\n if (array._dataByKeyMap) {\r\n return array._dataByKeyMap[JSON.stringify(key)]\r\n }\r\n return true\r\n}\r\n\r\nfunction setDataByKeyMapValue(array, key, data) {\r\n if (array._dataByKeyMap) {\r\n array._dataByKeyMap[JSON.stringify(key)] = data;\r\n array._dataByKeyMapLength += data ? 1 : -1\r\n }\r\n}\r\n\r\nfunction cloneInstanceWithChangedPaths(instance, changes, clonedInstances) {\r\n clonedInstances = clonedInstances || new WeakMap;\r\n var result = instance ? Object.create(Object.getPrototypeOf(instance)) : {};\r\n if (instance) {\r\n clonedInstances.set(instance, result)\r\n }\r\n var instanceWithoutPrototype = _extends({}, instance);\r\n deepExtendArraySafe(result, instanceWithoutPrototype, true, true);\r\n for (var name in instanceWithoutPrototype) {\r\n var value = instanceWithoutPrototype[name];\r\n var change = null === changes || void 0 === changes ? void 0 : changes[name];\r\n if (isObject(value) && !isPlainObject(value) && isObject(change) && !clonedInstances.has(value)) {\r\n result[name] = cloneInstanceWithChangedPaths(value, change, clonedInstances)\r\n }\r\n }\r\n for (var _name in result) {\r\n var prop = result[_name];\r\n if (isObject(prop) && clonedInstances.has(prop)) {\r\n result[_name] = clonedInstances.get(prop)\r\n }\r\n }\r\n return result\r\n}\r\n\r\nfunction createObjectWithChanges(target, changes) {\r\n var result = cloneInstanceWithChangedPaths(target, changes);\r\n return deepExtendArraySafe(result, changes, true, true)\r\n}\r\n\r\nfunction applyBatch(_ref) {\r\n var {\r\n keyInfo: keyInfo,\r\n data: data,\r\n changes: changes,\r\n groupCount: groupCount,\r\n useInsertIndex: useInsertIndex,\r\n immutable: immutable,\r\n disableCache: disableCache,\r\n logError: logError,\r\n skipCopying: skipCopying\r\n } = _ref;\r\n var resultItems = true === immutable ? [...data] : data;\r\n changes.forEach(item => {\r\n var items = \"insert\" === item.type ? resultItems : getItems(keyInfo, resultItems, item.key, groupCount);\r\n !disableCache && generateDataByKeyMap(keyInfo, items);\r\n switch (item.type) {\r\n case \"update\":\r\n update(keyInfo, items, item.key, item.data, true, immutable, logError);\r\n break;\r\n case \"insert\":\r\n insert(keyInfo, items, item.data, useInsertIndex && isDefined(item.index) ? item.index : -1, true, logError, skipCopying);\r\n break;\r\n case \"remove\":\r\n remove(keyInfo, items, item.key, true, logError)\r\n }\r\n });\r\n return resultItems\r\n}\r\n\r\nfunction getErrorResult(isBatch, logError, errorCode) {\r\n return !isBatch ? rejectedPromise(errors.Error(errorCode)) : logError && errors.log(errorCode)\r\n}\r\n\r\nfunction applyChanges(data, changes) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var {\r\n keyExpr: keyExpr = \"id\",\r\n immutable: immutable = true\r\n } = options;\r\n var keyGetter = compileGetter(keyExpr);\r\n var keyInfo = {\r\n key: () => keyExpr,\r\n keyOf: obj => keyGetter(obj)\r\n };\r\n return applyBatch({\r\n keyInfo: keyInfo,\r\n data: data,\r\n changes: changes,\r\n immutable: immutable,\r\n disableCache: true,\r\n logError: true\r\n })\r\n}\r\n\r\nfunction update(keyInfo, array, key, data, isBatch, immutable, logError) {\r\n var target;\r\n var keyExpr = keyInfo.key();\r\n if (keyExpr) {\r\n if (hasKey(data, keyExpr) && !keysEqual(keyExpr, key, keyInfo.keyOf(data))) {\r\n return getErrorResult(isBatch, logError, \"E4017\")\r\n }\r\n target = getCacheValue(array, key);\r\n if (!target) {\r\n var index = indexByKey(keyInfo, array, key);\r\n if (index < 0) {\r\n return getErrorResult(isBatch, logError, \"E4009\")\r\n }\r\n target = array[index];\r\n if (true === immutable && isDefined(target)) {\r\n var newTarget = createObjectWithChanges(target, data);\r\n array[index] = newTarget;\r\n return !isBatch && trivialPromise(newTarget, key)\r\n }\r\n }\r\n } else {\r\n target = key\r\n }\r\n deepExtendArraySafe(target, data, true);\r\n if (!isBatch) {\r\n if (config().useLegacyStoreResult) {\r\n return trivialPromise(key, data)\r\n } else {\r\n return trivialPromise(target, key)\r\n }\r\n }\r\n}\r\n\r\nfunction insert(keyInfo, array, data, index, isBatch, logError, skipCopying) {\r\n var keyValue;\r\n var keyExpr = keyInfo.key();\r\n var obj = isPlainObject(data) && !skipCopying ? extend({}, data) : data;\r\n if (keyExpr) {\r\n keyValue = keyInfo.keyOf(obj);\r\n if (void 0 === keyValue || \"object\" === typeof keyValue && isEmptyObject(keyValue)) {\r\n if (Array.isArray(keyExpr)) {\r\n throw errors.Error(\"E4007\")\r\n }\r\n keyValue = obj[keyExpr] = String(new Guid)\r\n } else if (void 0 !== array[indexByKey(keyInfo, array, keyValue)]) {\r\n return getErrorResult(isBatch, logError, \"E4008\")\r\n }\r\n } else {\r\n keyValue = obj\r\n }\r\n if (index >= 0) {\r\n array.splice(index, 0, obj)\r\n } else {\r\n array.push(obj)\r\n }\r\n setDataByKeyMapValue(array, keyValue, obj);\r\n if (!isBatch) {\r\n return trivialPromise(config().useLegacyStoreResult ? data : obj, keyValue)\r\n }\r\n}\r\n\r\nfunction remove(keyInfo, array, key, isBatch, logError) {\r\n var index = indexByKey(keyInfo, array, key);\r\n if (index > -1) {\r\n array.splice(index, 1);\r\n setDataByKeyMapValue(array, key, null)\r\n }\r\n if (!isBatch) {\r\n return trivialPromise(key)\r\n } else if (index < 0) {\r\n return getErrorResult(isBatch, logError, \"E4009\")\r\n }\r\n}\r\n\r\nfunction indexByKey(keyInfo, array, key) {\r\n var keyExpr = keyInfo.key();\r\n if (!getHasKeyCacheValue(array, key)) {\r\n return -1\r\n }\r\n for (var i = 0, arrayLength = array.length; i < arrayLength; i++) {\r\n if (keysEqual(keyExpr, keyInfo.keyOf(array[i]), key)) {\r\n return i\r\n }\r\n }\r\n return -1\r\n}\r\nexport {\r\n applyBatch,\r\n createObjectWithChanges,\r\n update,\r\n insert,\r\n remove,\r\n indexByKey,\r\n applyChanges\r\n};\r\n","/**\r\n * DevExtreme (esm/data/custom_store.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n keysEqual,\r\n XHR_ERROR_UNLOAD,\r\n errorMessageFromXhr as errorMessageFromXhrUtility\r\n} from \"./utils\";\r\nimport {\r\n applyBatch\r\n} from \"./array_utils\";\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport config from \"../core/config\";\r\nimport {\r\n errors\r\n} from \"./errors\";\r\nimport Store from \"./abstract_store\";\r\nimport arrayQuery from \"./array_query\";\r\nimport storeHelper from \"./store_helper\";\r\nimport {\r\n Deferred,\r\n when,\r\n fromPromise\r\n} from \"../core/utils/deferred\";\r\nvar TOTAL_COUNT = \"totalCount\";\r\nvar LOAD = \"load\";\r\nvar BY_KEY = \"byKey\";\r\nvar INSERT = \"insert\";\r\nvar UPDATE = \"update\";\r\nvar REMOVE = \"remove\";\r\n\r\nfunction isPromise(obj) {\r\n return obj && isFunction(obj.then)\r\n}\r\n\r\nfunction trivialPromise(value) {\r\n return (new Deferred).resolve(value).promise()\r\n}\r\n\r\nfunction ensureRequiredFuncOption(name, obj) {\r\n if (!isFunction(obj)) {\r\n throw errors.Error(\"E4011\", name)\r\n }\r\n}\r\n\r\nfunction throwInvalidUserFuncResult(name) {\r\n throw errors.Error(\"E4012\", name)\r\n}\r\n\r\nfunction createUserFuncFailureHandler(pendingDeferred) {\r\n function errorMessageFromXhr(promiseArguments) {\r\n var xhr = promiseArguments[0];\r\n var textStatus = promiseArguments[1];\r\n if (!xhr || !xhr.getResponseHeader) {\r\n return null\r\n }\r\n return errorMessageFromXhrUtility(xhr, textStatus)\r\n }\r\n return function(arg) {\r\n var error;\r\n if (arg instanceof Error) {\r\n error = arg\r\n } else {\r\n error = new Error(errorMessageFromXhr(arguments) || arg && String(arg) || \"Unknown error\")\r\n }\r\n if (error.message !== XHR_ERROR_UNLOAD) {\r\n pendingDeferred.reject(error)\r\n }\r\n }\r\n}\r\n\r\nfunction invokeUserLoad(store, options) {\r\n var userFunc = store._loadFunc;\r\n var userResult;\r\n ensureRequiredFuncOption(LOAD, userFunc);\r\n userResult = userFunc.apply(store, [options]);\r\n if (Array.isArray(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n } else if (null === userResult || void 0 === userResult) {\r\n userResult = trivialPromise([])\r\n } else if (!isPromise(userResult)) {\r\n throwInvalidUserFuncResult(LOAD)\r\n }\r\n return fromPromise(userResult)\r\n}\r\n\r\nfunction invokeUserTotalCountFunc(store, options) {\r\n var userFunc = store._totalCountFunc;\r\n var userResult;\r\n if (!isFunction(userFunc)) {\r\n throw errors.Error(\"E4021\")\r\n }\r\n userResult = userFunc.apply(store, [options]);\r\n if (!isPromise(userResult)) {\r\n userResult = Number(userResult);\r\n if (!isFinite(userResult)) {\r\n throwInvalidUserFuncResult(TOTAL_COUNT)\r\n }\r\n userResult = trivialPromise(userResult)\r\n }\r\n return fromPromise(userResult)\r\n}\r\n\r\nfunction invokeUserByKeyFunc(store, key, extraOptions) {\r\n var userFunc = store._byKeyFunc;\r\n var userResult;\r\n ensureRequiredFuncOption(BY_KEY, userFunc);\r\n userResult = userFunc.apply(store, [key, extraOptions]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n }\r\n return fromPromise(userResult)\r\n}\r\n\r\nfunction runRawLoad(pendingDeferred, store, userFuncOptions, continuation) {\r\n if (store.__rawData) {\r\n continuation(store.__rawData)\r\n } else {\r\n var loadPromise = store.__rawDataPromise || invokeUserLoad(store, userFuncOptions);\r\n if (store._cacheRawData) {\r\n store.__rawDataPromise = loadPromise\r\n }\r\n loadPromise.always((function() {\r\n delete store.__rawDataPromise\r\n })).done((function(rawData) {\r\n if (store._cacheRawData) {\r\n store.__rawData = rawData\r\n }\r\n continuation(rawData)\r\n })).fail(createUserFuncFailureHandler(pendingDeferred))\r\n }\r\n}\r\n\r\nfunction runRawLoadWithQuery(pendingDeferred, store, options, countOnly) {\r\n options = options || {};\r\n var userFuncOptions = {};\r\n if (\"userData\" in options) {\r\n userFuncOptions.userData = options.userData\r\n }\r\n runRawLoad(pendingDeferred, store, userFuncOptions, (function(rawData) {\r\n var rawDataQuery = arrayQuery(rawData, {\r\n errorHandler: store._errorHandler\r\n });\r\n var itemsQuery;\r\n var totalCountQuery;\r\n var waitList = [];\r\n var items;\r\n var totalCount;\r\n if (!countOnly) {\r\n itemsQuery = storeHelper.queryByOptions(rawDataQuery, options);\r\n if (itemsQuery === rawDataQuery) {\r\n items = rawData.slice(0)\r\n } else {\r\n waitList.push(itemsQuery.enumerate().done((function(asyncResult) {\r\n items = asyncResult\r\n })))\r\n }\r\n }\r\n if (options.requireTotalCount || countOnly) {\r\n totalCountQuery = storeHelper.queryByOptions(rawDataQuery, options, true);\r\n if (totalCountQuery === rawDataQuery) {\r\n totalCount = rawData.length\r\n } else {\r\n waitList.push(totalCountQuery.count().done((function(asyncResult) {\r\n totalCount = asyncResult\r\n })))\r\n }\r\n }\r\n when.apply($, waitList).done((function() {\r\n if (countOnly) {\r\n pendingDeferred.resolve(totalCount)\r\n } else if (options.requireTotalCount) {\r\n pendingDeferred.resolve(items, {\r\n totalCount: totalCount\r\n })\r\n } else {\r\n pendingDeferred.resolve(items)\r\n }\r\n })).fail((function(x) {\r\n pendingDeferred.reject(x)\r\n }))\r\n }))\r\n}\r\n\r\nfunction runRawLoadWithKey(pendingDeferred, store, key) {\r\n runRawLoad(pendingDeferred, store, {}, (function(rawData) {\r\n var keyExpr = store.key();\r\n var item;\r\n for (var i = 0, len = rawData.length; i < len; i++) {\r\n item = rawData[i];\r\n if (keysEqual(keyExpr, store.keyOf(rawData[i]), key)) {\r\n pendingDeferred.resolve(item);\r\n return\r\n }\r\n }\r\n pendingDeferred.reject(errors.Error(\"E4009\"))\r\n }))\r\n}\r\nvar CustomStore = Store.inherit({\r\n ctor: function(options) {\r\n options = options || {};\r\n this.callBase(options);\r\n this._useDefaultSearch = !!options.useDefaultSearch || \"raw\" === options.loadMode;\r\n this._loadMode = options.loadMode;\r\n this._cacheRawData = false !== options.cacheRawData;\r\n this._loadFunc = options[LOAD];\r\n this._totalCountFunc = options[TOTAL_COUNT];\r\n this._byKeyFunc = options[BY_KEY];\r\n this._insertFunc = options[INSERT];\r\n this._updateFunc = options[UPDATE];\r\n this._removeFunc = options[REMOVE]\r\n },\r\n _clearCache() {\r\n delete this.__rawData\r\n },\r\n createQuery: function() {\r\n throw errors.Error(\"E4010\")\r\n },\r\n clearRawDataCache: function() {\r\n this._clearCache()\r\n },\r\n _totalCountImpl: function(options) {\r\n var d = new Deferred;\r\n if (\"raw\" === this._loadMode && !this._totalCountFunc) {\r\n runRawLoadWithQuery(d, this, options, true)\r\n } else {\r\n invokeUserTotalCountFunc(this, options).done((function(count) {\r\n d.resolve(Number(count))\r\n })).fail(createUserFuncFailureHandler(d));\r\n d = this._addFailHandlers(d)\r\n }\r\n return d.promise()\r\n },\r\n _pushImpl: function(changes) {\r\n if (this.__rawData) {\r\n applyBatch({\r\n keyInfo: this,\r\n data: this.__rawData,\r\n changes: changes\r\n })\r\n }\r\n },\r\n _loadImpl: function(options) {\r\n var d = new Deferred;\r\n if (\"raw\" === this._loadMode) {\r\n runRawLoadWithQuery(d, this, options, false)\r\n } else {\r\n invokeUserLoad(this, options).done((function(data, extra) {\r\n d.resolve(data, extra)\r\n })).fail(createUserFuncFailureHandler(d));\r\n d = this._addFailHandlers(d)\r\n }\r\n return d.promise()\r\n },\r\n _byKeyImpl: function(key, extraOptions) {\r\n var d = new Deferred;\r\n if (this._byKeyViaLoad()) {\r\n this._requireKey();\r\n runRawLoadWithKey(d, this, key)\r\n } else {\r\n invokeUserByKeyFunc(this, key, extraOptions).done((function(obj) {\r\n d.resolve(obj)\r\n })).fail(createUserFuncFailureHandler(d))\r\n }\r\n return d.promise()\r\n },\r\n _byKeyViaLoad: function() {\r\n return \"raw\" === this._loadMode && !this._byKeyFunc\r\n },\r\n _insertImpl: function(values) {\r\n var that = this;\r\n var userFunc = that._insertFunc;\r\n var userResult;\r\n var d = new Deferred;\r\n ensureRequiredFuncOption(INSERT, userFunc);\r\n userResult = userFunc.apply(that, [values]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n }\r\n fromPromise(userResult).done((function(serverResponse) {\r\n if (config().useLegacyStoreResult) {\r\n d.resolve(values, serverResponse)\r\n } else {\r\n d.resolve(serverResponse || values, that.keyOf(serverResponse))\r\n }\r\n })).fail(createUserFuncFailureHandler(d));\r\n return d.promise()\r\n },\r\n _updateImpl: function(key, values) {\r\n var userFunc = this._updateFunc;\r\n var userResult;\r\n var d = new Deferred;\r\n ensureRequiredFuncOption(UPDATE, userFunc);\r\n userResult = userFunc.apply(this, [key, values]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n }\r\n fromPromise(userResult).done((function(serverResponse) {\r\n if (config().useLegacyStoreResult) {\r\n d.resolve(key, values)\r\n } else {\r\n d.resolve(serverResponse || values, key)\r\n }\r\n })).fail(createUserFuncFailureHandler(d));\r\n return d.promise()\r\n },\r\n _removeImpl: function(key) {\r\n var userFunc = this._removeFunc;\r\n var userResult;\r\n var d = new Deferred;\r\n ensureRequiredFuncOption(REMOVE, userFunc);\r\n userResult = userFunc.apply(this, [key]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise()\r\n }\r\n fromPromise(userResult).done((function() {\r\n d.resolve(key)\r\n })).fail(createUserFuncFailureHandler(d));\r\n return d.promise()\r\n }\r\n});\r\nexport default CustomStore;\r\n","/**\r\n * DevExtreme (esm/core/utils/queue.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errors from \"../errors\";\r\nimport {\r\n when\r\n} from \"../../core/utils/deferred\";\r\n\r\nfunction createQueue(discardPendingTasks) {\r\n var _tasks = [];\r\n var _busy = false;\r\n\r\n function exec() {\r\n while (_tasks.length) {\r\n _busy = true;\r\n var task = _tasks.shift();\r\n var result = task();\r\n if (void 0 === result) {\r\n continue\r\n }\r\n if (result.then) {\r\n when(result).always(exec);\r\n return\r\n }\r\n throw errors.Error(\"E0015\")\r\n }\r\n _busy = false\r\n }\r\n return {\r\n add: function(task, removeTaskCallback) {\r\n if (!discardPendingTasks) {\r\n _tasks.push(task)\r\n } else {\r\n if (_tasks[0] && removeTaskCallback) {\r\n removeTaskCallback(_tasks[0])\r\n }\r\n _tasks = [task]\r\n }\r\n if (!_busy) {\r\n exec()\r\n }\r\n },\r\n busy: function() {\r\n return _busy\r\n }\r\n }\r\n}\r\nexport {\r\n createQueue as create\r\n};\r\nexport var enqueue = createQueue().add;\r\n","/**\r\n * DevExtreme (esm/data/data_source/operation_manager.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n CANCELED_TOKEN\r\n} from \"./utils\";\r\nexport default class OperationManager {\r\n constructor() {\r\n this._counter = -1;\r\n this._deferreds = {}\r\n }\r\n add(deferred) {\r\n this._counter++;\r\n this._deferreds[this._counter] = deferred;\r\n return this._counter\r\n }\r\n remove(operationId) {\r\n return delete this._deferreds[operationId]\r\n }\r\n cancel(operationId) {\r\n if (operationId in this._deferreds) {\r\n this._deferreds[operationId].reject(CANCELED_TOKEN);\r\n return true\r\n }\r\n return false\r\n }\r\n cancelAll() {\r\n while (this._counter > -1) {\r\n this.cancel(this._counter);\r\n this._counter--\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/data/data_source/data_source.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n executeAsync\r\n} from \"../../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n isString,\r\n isNumeric,\r\n isBoolean,\r\n isDefined,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n throttleChanges\r\n} from \"../utils\";\r\nimport {\r\n applyBatch\r\n} from \"../array_utils\";\r\nimport CustomStore from \"../custom_store\";\r\nimport {\r\n EventsStrategy\r\n} from \"../../core/events_strategy\";\r\nimport {\r\n errors\r\n} from \"../errors\";\r\nimport {\r\n create\r\n} from \"../../core/utils/queue\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport OperationManager from \"./operation_manager\";\r\nimport {\r\n normalizeDataSourceOptions,\r\n normalizeStoreLoadOptionAccessorArguments,\r\n CANCELED_TOKEN,\r\n isPending,\r\n normalizeLoadResult,\r\n mapDataRespectingGrouping\r\n} from \"./utils\";\r\nexport var DataSource = Class.inherit({\r\n ctor(options) {\r\n var _options$reshapeOnPus;\r\n options = normalizeDataSourceOptions(options);\r\n this._eventsStrategy = new EventsStrategy(this, {\r\n syncStrategy: true\r\n });\r\n this._store = options.store;\r\n this._changedTime = 0;\r\n var needThrottling = 0 !== options.pushAggregationTimeout;\r\n if (needThrottling) {\r\n var throttlingTimeout = void 0 === options.pushAggregationTimeout ? () => 5 * this._changedTime : options.pushAggregationTimeout;\r\n var pushDeferred;\r\n var lastPushWaiters;\r\n var throttlingPushHandler = throttleChanges(changes => {\r\n pushDeferred.resolve();\r\n var storePushPending = when(...lastPushWaiters);\r\n storePushPending.done(() => this._onPush(changes));\r\n lastPushWaiters = void 0;\r\n pushDeferred = void 0\r\n }, throttlingTimeout);\r\n this._onPushHandler = args => {\r\n this._aggregationTimeoutId = throttlingPushHandler(args.changes);\r\n if (!pushDeferred) {\r\n pushDeferred = new Deferred\r\n }\r\n lastPushWaiters = args.waitFor;\r\n args.waitFor.push(pushDeferred.promise())\r\n };\r\n this._store.on(\"beforePushAggregation\", this._onPushHandler)\r\n } else {\r\n this._onPushHandler = changes => this._onPush(changes);\r\n this._store.on(\"push\", this._onPushHandler)\r\n }\r\n this._storeLoadOptions = this._extractLoadOptions(options);\r\n this._mapFunc = options.map;\r\n this._postProcessFunc = options.postProcess;\r\n this._pageIndex = void 0 !== options.pageIndex ? options.pageIndex : 0;\r\n this._pageSize = void 0 !== options.pageSize ? options.pageSize : 20;\r\n this._loadingCount = 0;\r\n this._loadQueue = this._createLoadQueue();\r\n this._searchValue = \"searchValue\" in options ? options.searchValue : null;\r\n this._searchOperation = options.searchOperation || \"contains\";\r\n this._searchExpr = options.searchExpr;\r\n this._paginate = options.paginate;\r\n this._reshapeOnPush = null !== (_options$reshapeOnPus = options.reshapeOnPush) && void 0 !== _options$reshapeOnPus ? _options$reshapeOnPus : false;\r\n each([\"onChanged\", \"onLoadError\", \"onLoadingChanged\", \"onCustomizeLoadResult\", \"onCustomizeStoreLoadOptions\"], (_, optionName) => {\r\n if (optionName in options) {\r\n this.on(optionName.substr(2, 1).toLowerCase() + optionName.substr(3), options[optionName])\r\n }\r\n });\r\n this._operationManager = new OperationManager;\r\n this._init()\r\n },\r\n _init() {\r\n this._items = [];\r\n this._userData = {};\r\n this._totalCount = -1;\r\n this._isLoaded = false;\r\n if (!isDefined(this._paginate)) {\r\n this._paginate = !this.group()\r\n }\r\n this._isLastPage = !this._paginate\r\n },\r\n dispose() {\r\n var _this$_delayedLoadTas;\r\n this._store.off(\"beforePushAggregation\", this._onPushHandler);\r\n this._store.off(\"push\", this._onPushHandler);\r\n this._eventsStrategy.dispose();\r\n clearTimeout(this._aggregationTimeoutId);\r\n null === (_this$_delayedLoadTas = this._delayedLoadTask) || void 0 === _this$_delayedLoadTas ? void 0 : _this$_delayedLoadTas.abort();\r\n this._operationManager.cancelAll();\r\n delete this._store;\r\n delete this._items;\r\n delete this._delayedLoadTask;\r\n this._disposed = true\r\n },\r\n _extractLoadOptions(options) {\r\n var result = {};\r\n var names = [\"sort\", \"filter\", \"select\", \"group\", \"requireTotalCount\"];\r\n var customNames = this._store._customLoadOptions();\r\n if (customNames) {\r\n names = names.concat(customNames)\r\n }\r\n each(names, (function() {\r\n result[this] = options[this]\r\n }));\r\n return result\r\n },\r\n loadOptions() {\r\n return this._storeLoadOptions\r\n },\r\n items() {\r\n return this._items\r\n },\r\n pageIndex(newIndex) {\r\n if (!isNumeric(newIndex)) {\r\n return this._pageIndex\r\n }\r\n this._pageIndex = newIndex;\r\n this._isLastPage = !this._paginate\r\n },\r\n paginate(value) {\r\n if (!isBoolean(value)) {\r\n return this._paginate\r\n }\r\n if (this._paginate !== value) {\r\n this._paginate = value;\r\n this.pageIndex(0)\r\n }\r\n },\r\n pageSize(value) {\r\n if (!isNumeric(value)) {\r\n return this._pageSize\r\n }\r\n this._pageSize = value\r\n },\r\n isLastPage() {\r\n return this._isLastPage\r\n },\r\n generateStoreLoadOptionAccessor(optionName) {\r\n return args => {\r\n var normalizedArgs = normalizeStoreLoadOptionAccessorArguments(args);\r\n if (void 0 === normalizedArgs) {\r\n return this._storeLoadOptions[optionName]\r\n }\r\n this._storeLoadOptions[optionName] = normalizedArgs\r\n }\r\n },\r\n sort() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n return this.generateStoreLoadOptionAccessor(\"sort\")(args)\r\n },\r\n filter() {\r\n var newFilter = normalizeStoreLoadOptionAccessorArguments(arguments);\r\n if (void 0 === newFilter) {\r\n return this._storeLoadOptions.filter\r\n }\r\n this._storeLoadOptions.filter = newFilter;\r\n this.pageIndex(0)\r\n },\r\n group() {\r\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n args[_key2] = arguments[_key2]\r\n }\r\n return this.generateStoreLoadOptionAccessor(\"group\")(args)\r\n },\r\n select() {\r\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\r\n args[_key3] = arguments[_key3]\r\n }\r\n return this.generateStoreLoadOptionAccessor(\"select\")(args)\r\n },\r\n requireTotalCount(value) {\r\n if (!isBoolean(value)) {\r\n return this._storeLoadOptions.requireTotalCount\r\n }\r\n this._storeLoadOptions.requireTotalCount = value\r\n },\r\n searchValue(value) {\r\n if (arguments.length < 1) {\r\n return this._searchValue\r\n }\r\n this._searchValue = value;\r\n this.pageIndex(0)\r\n },\r\n searchOperation(op) {\r\n if (!isString(op)) {\r\n return this._searchOperation\r\n }\r\n this._searchOperation = op;\r\n this.pageIndex(0)\r\n },\r\n searchExpr(expr) {\r\n var argc = arguments.length;\r\n if (0 === argc) {\r\n return this._searchExpr\r\n }\r\n if (argc > 1) {\r\n expr = [].slice.call(arguments)\r\n }\r\n this._searchExpr = expr;\r\n this.pageIndex(0)\r\n },\r\n store() {\r\n return this._store\r\n },\r\n key() {\r\n var _this$_store;\r\n return null === (_this$_store = this._store) || void 0 === _this$_store ? void 0 : _this$_store.key()\r\n },\r\n totalCount() {\r\n return this._totalCount\r\n },\r\n isLoaded() {\r\n return this._isLoaded\r\n },\r\n isLoading() {\r\n return this._loadingCount > 0\r\n },\r\n beginLoading() {\r\n this._changeLoadingCount(1)\r\n },\r\n endLoading() {\r\n this._changeLoadingCount(-1)\r\n },\r\n _createLoadQueue: () => create(),\r\n _changeLoadingCount(increment) {\r\n var oldLoading = this.isLoading();\r\n this._loadingCount += increment;\r\n var newLoading = this.isLoading();\r\n if (oldLoading ^ newLoading) {\r\n this._eventsStrategy.fireEvent(\"loadingChanged\", [newLoading])\r\n }\r\n },\r\n _scheduleLoadCallbacks(deferred) {\r\n this.beginLoading();\r\n deferred.always(() => {\r\n this.endLoading()\r\n })\r\n },\r\n _scheduleFailCallbacks(deferred) {\r\n var _this = this;\r\n deferred.fail((function() {\r\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\r\n args[_key4] = arguments[_key4]\r\n }\r\n if (args[0] === CANCELED_TOKEN) {\r\n return\r\n }\r\n _this._eventsStrategy.fireEvent(\"loadError\", args)\r\n }))\r\n },\r\n _fireChanged(args) {\r\n var date = new Date;\r\n this._eventsStrategy.fireEvent(\"changed\", args);\r\n this._changedTime = new Date - date\r\n },\r\n _scheduleChangedCallbacks(deferred) {\r\n deferred.done(() => this._fireChanged())\r\n },\r\n loadSingle(propName, propValue) {\r\n var d = new Deferred;\r\n var key = this.key();\r\n var store = this._store;\r\n var options = this._createStoreLoadOptions();\r\n this._scheduleFailCallbacks(d);\r\n if (arguments.length < 2) {\r\n propValue = propName;\r\n propName = key\r\n }\r\n delete options.skip;\r\n delete options.group;\r\n delete options.refresh;\r\n delete options.pageIndex;\r\n delete options.searchString;\r\n (() => {\r\n if (propName === key || store instanceof CustomStore && !store._byKeyViaLoad()) {\r\n return store.byKey(propValue, options)\r\n }\r\n options.take = 1;\r\n options.filter = options.filter ? [options.filter, [propName, propValue]] : [propName, propValue];\r\n return store.load(options)\r\n })().fail(d.reject).done(data => {\r\n var isEmptyArray = Array.isArray(data) && !data.length;\r\n if (!isDefined(data) || isEmptyArray) {\r\n d.reject(new errors.Error(\"E4009\"))\r\n } else {\r\n if (!Array.isArray(data)) {\r\n data = [data]\r\n }\r\n d.resolve(this._applyMapFunction(data)[0])\r\n }\r\n });\r\n return d.promise()\r\n },\r\n load() {\r\n var d = new Deferred;\r\n var loadTask = () => {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (!isPending(d)) {\r\n return\r\n }\r\n return this._loadFromStore(loadOperation, d)\r\n };\r\n this._scheduleLoadCallbacks(d);\r\n this._scheduleFailCallbacks(d);\r\n this._scheduleChangedCallbacks(d);\r\n var loadOperation = this._createLoadOperation(d);\r\n this._eventsStrategy.fireEvent(\"customizeStoreLoadOptions\", [loadOperation]);\r\n this._loadQueue.add(() => {\r\n if (\"number\" === typeof loadOperation.delay) {\r\n this._delayedLoadTask = executeAsync(loadTask, loadOperation.delay)\r\n } else {\r\n loadTask()\r\n }\r\n return d.promise()\r\n });\r\n return d.promise({\r\n operationId: loadOperation.operationId\r\n })\r\n },\r\n _onPush(changes) {\r\n if (this._reshapeOnPush) {\r\n this.load()\r\n } else {\r\n var changingArgs = {\r\n changes: changes\r\n };\r\n this._eventsStrategy.fireEvent(\"changing\", [changingArgs]);\r\n var group = this.group();\r\n var items = this.items();\r\n var groupLevel = 0;\r\n var dataSourceChanges = this.paginate() || group ? changes.filter(item => \"update\" === item.type) : changes;\r\n if (group) {\r\n groupLevel = Array.isArray(group) ? group.length : 1\r\n }\r\n if (this._mapFunc) {\r\n dataSourceChanges.forEach(item => {\r\n if (\"insert\" === item.type) {\r\n item.data = this._mapFunc(item.data)\r\n }\r\n })\r\n }\r\n if (changingArgs.postProcessChanges) {\r\n dataSourceChanges = changingArgs.postProcessChanges(dataSourceChanges)\r\n }\r\n applyBatch({\r\n keyInfo: this.store(),\r\n data: items,\r\n changes: dataSourceChanges,\r\n groupCount: groupLevel,\r\n useInsertIndex: true\r\n });\r\n this._fireChanged([{\r\n changes: changes\r\n }])\r\n }\r\n },\r\n _createLoadOperation(deferred) {\r\n var operationId = this._operationManager.add(deferred);\r\n var storeLoadOptions = this._createStoreLoadOptions();\r\n deferred.always(() => this._operationManager.remove(operationId));\r\n return {\r\n operationId: operationId,\r\n storeLoadOptions: storeLoadOptions\r\n }\r\n },\r\n reload() {\r\n var store = this.store();\r\n store._clearCache();\r\n this._init();\r\n return this.load()\r\n },\r\n cancel(operationId) {\r\n return this._operationManager.cancel(operationId)\r\n },\r\n cancelAll() {\r\n return this._operationManager.cancelAll()\r\n },\r\n _addSearchOptions(storeLoadOptions) {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (this.store()._useDefaultSearch) {\r\n this._addSearchFilter(storeLoadOptions)\r\n } else {\r\n storeLoadOptions.searchOperation = this._searchOperation;\r\n storeLoadOptions.searchValue = this._searchValue;\r\n storeLoadOptions.searchExpr = this._searchExpr\r\n }\r\n },\r\n _createStoreLoadOptions() {\r\n var result = extend({}, this._storeLoadOptions);\r\n this._addSearchOptions(result);\r\n if (this._paginate) {\r\n if (this._pageSize) {\r\n result.skip = this._pageIndex * this._pageSize;\r\n result.take = this._pageSize\r\n }\r\n }\r\n result.userData = this._userData;\r\n return result\r\n },\r\n _addSearchFilter(storeLoadOptions) {\r\n var value = this._searchValue;\r\n var op = this._searchOperation;\r\n var selector = this._searchExpr;\r\n var searchFilter = [];\r\n if (!value) {\r\n return\r\n }\r\n if (!selector) {\r\n selector = \"this\"\r\n }\r\n if (!Array.isArray(selector)) {\r\n selector = [selector]\r\n }\r\n each(selector, (function(i, item) {\r\n if (searchFilter.length) {\r\n searchFilter.push(\"or\")\r\n }\r\n searchFilter.push([item, op, value])\r\n }));\r\n if (storeLoadOptions.filter) {\r\n storeLoadOptions.filter = [searchFilter, storeLoadOptions.filter]\r\n } else {\r\n storeLoadOptions.filter = searchFilter\r\n }\r\n },\r\n _loadFromStore(loadOptions, pendingDeferred) {\r\n var handleSuccess = (data, extra) => {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (!isPending(pendingDeferred)) {\r\n return\r\n }\r\n var loadResult = extend(normalizeLoadResult(data, extra), loadOptions);\r\n this._eventsStrategy.fireEvent(\"customizeLoadResult\", [loadResult]);\r\n when(loadResult.data).done(data => {\r\n loadResult.data = data;\r\n this._processStoreLoadResult(loadResult, pendingDeferred)\r\n }).fail(pendingDeferred.reject)\r\n };\r\n if (loadOptions.data) {\r\n return (new Deferred).resolve(loadOptions.data).done(handleSuccess)\r\n }\r\n return this.store().load(loadOptions.storeLoadOptions).done(handleSuccess).fail(pendingDeferred.reject)\r\n },\r\n _processStoreLoadResult(loadResult, pendingDeferred) {\r\n var data = loadResult.data;\r\n var extra = loadResult.extra;\r\n var storeLoadOptions = loadResult.storeLoadOptions;\r\n var resolvePendingDeferred = () => {\r\n this._isLoaded = true;\r\n this._totalCount = isFinite(extra.totalCount) ? extra.totalCount : -1;\r\n return pendingDeferred.resolve(data, extra)\r\n };\r\n if (this._disposed) {\r\n return\r\n }\r\n data = this._applyPostProcessFunction(this._applyMapFunction(data));\r\n if (!isObject(extra)) {\r\n extra = {}\r\n }\r\n this._items = data;\r\n if (!data.length || !this._paginate || this._pageSize && data.length < this._pageSize) {\r\n this._isLastPage = true\r\n }\r\n if (storeLoadOptions.requireTotalCount && !isFinite(extra.totalCount)) {\r\n (() => {\r\n this.store().totalCount(storeLoadOptions).done((function(count) {\r\n extra.totalCount = count;\r\n resolvePendingDeferred()\r\n })).fail(pendingDeferred.reject)\r\n })()\r\n } else {\r\n resolvePendingDeferred()\r\n }\r\n },\r\n _applyMapFunction(data) {\r\n if (this._mapFunc) {\r\n return mapDataRespectingGrouping(data, this._mapFunc, this.group())\r\n }\r\n return data\r\n },\r\n _applyPostProcessFunction(data) {\r\n if (this._postProcessFunc) {\r\n return this._postProcessFunc(data)\r\n }\r\n return data\r\n },\r\n on(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/data/data_source/utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"items\"];\r\nimport ajaxUtils from \"../../core/utils/ajax\";\r\nimport Store from \"../abstract_store\";\r\nimport ArrayStore from \"../array_store\";\r\nimport {\r\n each,\r\n map\r\n} from \"../../core/utils/iterator\";\r\nimport CustomStore from \"../custom_store\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isPlainObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n normalizeSortingInfo\r\n} from \"../utils\";\r\nexport var CANCELED_TOKEN = \"canceled\";\r\nexport var isPending = deferred => \"pending\" === deferred.state();\r\nexport var normalizeStoreLoadOptionAccessorArguments = originalArguments => {\r\n switch (originalArguments.length) {\r\n case 0:\r\n return;\r\n case 1:\r\n return originalArguments[0]\r\n }\r\n return [].slice.call(originalArguments)\r\n};\r\nvar mapGroup = (group, level, mapper) => map(group, item => {\r\n var restItem = _objectWithoutPropertiesLoose(item, _excluded);\r\n return _extends({}, restItem, {\r\n items: mapRecursive(item.items, level - 1, mapper)\r\n })\r\n});\r\nvar mapRecursive = (items, level, mapper) => {\r\n if (!Array.isArray(items)) {\r\n return items\r\n }\r\n return level ? mapGroup(items, level, mapper) : map(items, mapper)\r\n};\r\nexport var mapDataRespectingGrouping = (items, mapper, groupInfo) => {\r\n var level = groupInfo ? normalizeSortingInfo(groupInfo).length : 0;\r\n return mapRecursive(items, level, mapper)\r\n};\r\nexport var normalizeLoadResult = (data, extra) => {\r\n var _data;\r\n if (null !== (_data = data) && void 0 !== _data && _data.data) {\r\n extra = data;\r\n data = data.data\r\n }\r\n if (!Array.isArray(data)) {\r\n data = [data]\r\n }\r\n return {\r\n data: data,\r\n extra: extra\r\n }\r\n};\r\nvar createCustomStoreFromLoadFunc = options => {\r\n var storeConfig = {};\r\n each([\"useDefaultSearch\", \"key\", \"load\", \"loadMode\", \"cacheRawData\", \"byKey\", \"lookup\", \"totalCount\", \"insert\", \"update\", \"remove\"], (function() {\r\n storeConfig[this] = options[this];\r\n delete options[this]\r\n }));\r\n return new CustomStore(storeConfig)\r\n};\r\nvar createStoreFromConfig = storeConfig => {\r\n var alias = storeConfig.type;\r\n delete storeConfig.type;\r\n return Store.create(alias, storeConfig)\r\n};\r\nvar createCustomStoreFromUrl = (url, normalizationOptions) => new CustomStore({\r\n load: () => ajaxUtils.sendRequest({\r\n url: url,\r\n dataType: \"json\"\r\n }),\r\n loadMode: null === normalizationOptions || void 0 === normalizationOptions ? void 0 : normalizationOptions.fromUrlLoadMode\r\n});\r\nexport var normalizeDataSourceOptions = (options, normalizationOptions) => {\r\n var store;\r\n if (\"string\" === typeof options) {\r\n options = {\r\n paginate: false,\r\n store: createCustomStoreFromUrl(options, normalizationOptions)\r\n }\r\n }\r\n if (void 0 === options) {\r\n options = []\r\n }\r\n if (Array.isArray(options) || options instanceof Store) {\r\n options = {\r\n store: options\r\n }\r\n } else {\r\n options = extend({}, options)\r\n }\r\n if (void 0 === options.store) {\r\n options.store = []\r\n }\r\n store = options.store;\r\n if (\"load\" in options) {\r\n store = createCustomStoreFromLoadFunc(options)\r\n } else if (Array.isArray(store)) {\r\n store = new ArrayStore(store)\r\n } else if (isPlainObject(store)) {\r\n store = createStoreFromConfig(extend({}, store))\r\n }\r\n options.store = store;\r\n return options\r\n};\r\n","/**\r\n * DevExtreme (esm/data/errors.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errorUtils from \"../core/utils/error\";\r\nimport coreErrors from \"../core/errors\";\r\nexport var errors = errorUtils(coreErrors.ERROR_MESSAGES, {\r\n E4000: \"[DevExpress.data]: {0}\",\r\n E4001: \"Unknown aggregating function is detected: '{0}'\",\r\n E4002: \"Unsupported OData protocol version is used\",\r\n E4003: \"Unknown filter operation is used: {0}\",\r\n E4004: \"The thenby() method is called before the sortby() method\",\r\n E4005: \"Store requires a key expression for this operation\",\r\n E4006: \"ArrayStore 'data' option must be an array\",\r\n E4007: \"Compound keys cannot be auto-generated\",\r\n E4008: \"Attempt to insert an item with a duplicated key\",\r\n E4009: \"Data item cannot be found\",\r\n E4010: \"CustomStore does not support creating queries\",\r\n E4011: \"Custom Store method is not implemented or is not a function: {0}\",\r\n E4012: \"Custom Store method returns an invalid value: {0}\",\r\n E4013: \"Local Store requires the 'name' configuration option is specified\",\r\n E4014: \"Unknown data type is specified for ODataStore: {0}\",\r\n E4015: \"Unknown entity name or alias is used: {0}\",\r\n E4016: \"The compileSetter(expr) method is called with 'self' passed as a parameter\",\r\n E4017: \"Keys cannot be modified\",\r\n E4018: \"The server has returned a non-numeric value in a response to an item count request\",\r\n E4019: \"Mixing of group operators inside a single group of filter expression is not allowed\",\r\n E4020: \"Unknown store type is detected: {0}\",\r\n E4021: \"The server response does not provide the totalCount value\",\r\n E4022: \"The server response does not provide the groupCount value\",\r\n E4023: \"Could not parse the following XML: {0}\",\r\n E4024: \"String function {0} cannot be used with the data field {1} of type {2}.\",\r\n W4000: \"Data returned from the server has an incorrect structure\",\r\n W4001: 'The {0} field is listed in both \"keyType\" and \"fieldTypes\". The value of \"fieldTypes\" is used.',\r\n W4002: \"Data loading has failed for some cells due to the following error: {0}\"\r\n});\r\nexport var errorHandler = null;\r\nexport var handleError = function(error) {\r\n var _errorHandler;\r\n null === (_errorHandler = errorHandler) || void 0 === _errorHandler ? void 0 : _errorHandler(error)\r\n};\r\nexport var setErrorHandler = handler => errorHandler = handler;\r\n","/**\r\n * DevExtreme (esm/data/query_adapters.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport default {};\r\n","/**\r\n * DevExtreme (esm/data/remote_query.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport queryAdapters from \"./query_adapters\";\r\nimport {\r\n errors,\r\n handleError\r\n} from \"./errors\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport arrayQueryImpl from \"./array_query\";\r\nvar remoteQueryImpl = function remoteQueryImpl(url, queryOptions, tasks) {\r\n tasks = tasks || [];\r\n queryOptions = queryOptions || {};\r\n var createTask = function(name, args) {\r\n return {\r\n name: name,\r\n args: args\r\n }\r\n };\r\n var exec = function(executorTask) {\r\n var d = new Deferred;\r\n var _adapterFactory;\r\n var _adapter;\r\n var _taskQueue;\r\n var _currentTask;\r\n var _mergedSortArgs;\r\n var rejectWithNotify = function(error) {\r\n var handler = queryOptions.errorHandler;\r\n if (handler) {\r\n handler(error)\r\n }\r\n handleError(error);\r\n d.reject(error)\r\n };\r\n\r\n function mergeSortTask(task) {\r\n switch (task.name) {\r\n case \"sortBy\":\r\n _mergedSortArgs = [task.args];\r\n return true;\r\n case \"thenBy\":\r\n if (!_mergedSortArgs) {\r\n throw errors.Error(\"E4004\")\r\n }\r\n _mergedSortArgs.push(task.args);\r\n return true\r\n }\r\n return false\r\n }\r\n try {\r\n _adapterFactory = queryOptions.adapter;\r\n if (!isFunction(_adapterFactory)) {\r\n _adapterFactory = queryAdapters[_adapterFactory]\r\n }\r\n _adapter = _adapterFactory(queryOptions);\r\n _taskQueue = [].concat(tasks).concat(executorTask);\r\n var optimize = _adapter.optimize;\r\n if (optimize) {\r\n optimize(_taskQueue)\r\n }\r\n while (_taskQueue.length) {\r\n _currentTask = _taskQueue[0];\r\n if (!mergeSortTask(_currentTask)) {\r\n if (_mergedSortArgs) {\r\n _taskQueue.unshift(createTask(\"multiSort\", [_mergedSortArgs]));\r\n _mergedSortArgs = null;\r\n continue\r\n }\r\n if (\"enumerate\" !== String(_currentTask.name)) {\r\n if (!_adapter[_currentTask.name] || false === _adapter[_currentTask.name].apply(_adapter, _currentTask.args)) {\r\n break\r\n }\r\n }\r\n }\r\n _taskQueue.shift()\r\n }! function() {\r\n var head = _taskQueue[0];\r\n var unmergedTasks = [];\r\n if (head && \"multiSort\" === head.name) {\r\n _taskQueue.shift();\r\n each(head.args[0], (function() {\r\n unmergedTasks.push(createTask(unmergedTasks.length ? \"thenBy\" : \"sortBy\", this))\r\n }))\r\n }\r\n _taskQueue = unmergedTasks.concat(_taskQueue)\r\n }();\r\n _adapter.exec(url).done((function(result, extra) {\r\n if (!_taskQueue.length) {\r\n d.resolve(result, extra)\r\n } else {\r\n var clientChain = arrayQueryImpl(result, {\r\n errorHandler: queryOptions.errorHandler\r\n });\r\n each(_taskQueue, (function() {\r\n clientChain = clientChain[this.name].apply(clientChain, this.args)\r\n }));\r\n clientChain.done(d.resolve).fail(d.reject)\r\n }\r\n })).fail(rejectWithNotify)\r\n } catch (x) {\r\n rejectWithNotify(x)\r\n }\r\n return d.promise()\r\n };\r\n var query = {};\r\n each([\"sortBy\", \"thenBy\", \"filter\", \"slice\", \"select\", \"groupBy\"], (function() {\r\n var name = String(this);\r\n query[name] = function() {\r\n return remoteQueryImpl(url, queryOptions, tasks.concat(createTask(name, arguments)))\r\n }\r\n }));\r\n each([\"count\", \"min\", \"max\", \"sum\", \"avg\", \"aggregate\", \"enumerate\"], (function() {\r\n var name = String(this);\r\n query[name] = function() {\r\n return exec.call(this, createTask(name, arguments))\r\n }\r\n }));\r\n return query\r\n};\r\nexport default remoteQueryImpl;\r\n","/**\r\n * DevExtreme (esm/data/query_implementation.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport arrayQueryImpl from \"./array_query\";\r\nimport remoteQueryImpl from \"./remote_query\";\r\nexport var queryImpl = {\r\n array: arrayQueryImpl,\r\n remote: remoteQueryImpl\r\n};\r\n","/**\r\n * DevExtreme (esm/data/query.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n queryImpl\r\n} from \"./query_implementation\";\r\nvar query = function() {\r\n var impl = Array.isArray(arguments[0]) ? \"array\" : \"remote\";\r\n return queryImpl[impl].apply(this, arguments)\r\n};\r\nexport default query;\r\n","/**\r\n * DevExtreme (esm/data/store_helper.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n grep\r\n} from \"../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport arrayQuery from \"./array_query\";\r\nimport {\r\n normalizeSortingInfo\r\n} from \"./utils\";\r\n\r\nfunction multiLevelGroup(query, groupInfo) {\r\n query = query.groupBy(groupInfo[0].selector);\r\n if (groupInfo.length > 1) {\r\n query = query.select((function(g) {\r\n return extend({}, g, {\r\n items: multiLevelGroup(arrayQuery(g.items), groupInfo.slice(1)).toArray()\r\n })\r\n }))\r\n }\r\n return query\r\n}\r\n\r\nfunction arrangeSortingInfo(groupInfo, sortInfo) {\r\n var filteredGroup = [];\r\n each(groupInfo, (function(_, group) {\r\n var collision = grep(sortInfo, (function(sort) {\r\n return group.selector === sort.selector\r\n }));\r\n if (collision.length < 1) {\r\n filteredGroup.push(group)\r\n }\r\n }));\r\n return filteredGroup.concat(sortInfo)\r\n}\r\n\r\nfunction queryByOptions(query, options, isCountQuery) {\r\n options = options || {};\r\n var filter = options.filter;\r\n if (filter) {\r\n query = query.filter(filter)\r\n }\r\n if (isCountQuery) {\r\n return query\r\n }\r\n var sort = options.sort;\r\n var select = options.select;\r\n var group = options.group;\r\n var skip = options.skip;\r\n var take = options.take;\r\n if (group) {\r\n group = normalizeSortingInfo(group);\r\n group.keepInitialKeyOrder = !!options.group.keepInitialKeyOrder\r\n }\r\n if (sort || group) {\r\n sort = normalizeSortingInfo(sort || []);\r\n if (group && !group.keepInitialKeyOrder) {\r\n sort = arrangeSortingInfo(group, sort)\r\n }\r\n each(sort, (function(index) {\r\n query = query[index ? \"thenBy\" : \"sortBy\"](this.selector, this.desc, this.compare)\r\n }))\r\n }\r\n if (select) {\r\n query = query.select(select)\r\n }\r\n if (group) {\r\n query = multiLevelGroup(query, group)\r\n }\r\n if (take || skip) {\r\n query = query.slice(skip || 0, take)\r\n }\r\n return query\r\n}\r\nexport default {\r\n multiLevelGroup: multiLevelGroup,\r\n arrangeSortingInfo: arrangeSortingInfo,\r\n queryByOptions: queryByOptions\r\n};\r\n","/**\r\n * DevExtreme (esm/data/utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport readyCallbacks from \"../core/utils/ready_callbacks\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n map\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n equalByValue\r\n} from \"../core/utils/common\";\r\nvar ready = readyCallbacks.add;\r\nexport var XHR_ERROR_UNLOAD = \"DEVEXTREME_XHR_ERROR_UNLOAD\";\r\nexport var normalizeBinaryCriterion = function(crit) {\r\n return [crit[0], crit.length < 3 ? \"=\" : String(crit[1]).toLowerCase(), crit.length < 2 ? true : crit[crit.length - 1]]\r\n};\r\nexport var normalizeSortingInfo = function(info) {\r\n if (!Array.isArray(info)) {\r\n info = [info]\r\n }\r\n return map(info, (function(i) {\r\n var result = {\r\n selector: isFunction(i) || \"string\" === typeof i ? i : i.getter || i.field || i.selector,\r\n desc: !!(i.desc || \"d\" === String(i.dir).charAt(0).toLowerCase())\r\n };\r\n if (i.compare) {\r\n result.compare = i.compare\r\n }\r\n return result\r\n }))\r\n};\r\nexport var errorMessageFromXhr = function() {\r\n var textStatusMessages = {\r\n timeout: \"Network connection timeout\",\r\n error: \"Unspecified network error\",\r\n parsererror: \"Unexpected server response\"\r\n };\r\n var unloading;\r\n ready((function() {\r\n var window = getWindow();\r\n domAdapter.listen(window, \"beforeunload\", (function() {\r\n unloading = true\r\n }))\r\n }));\r\n return function(xhr, textStatus) {\r\n if (unloading) {\r\n return XHR_ERROR_UNLOAD\r\n }\r\n if (xhr.status < 400) {\r\n return function(textStatus) {\r\n var result = textStatusMessages[textStatus];\r\n if (!result) {\r\n return textStatus\r\n }\r\n return result\r\n }(textStatus)\r\n }\r\n return xhr.statusText\r\n }\r\n}();\r\nexport var aggregators = {\r\n count: {\r\n seed: 0,\r\n step: function(count) {\r\n return 1 + count\r\n }\r\n },\r\n sum: {\r\n seed: 0,\r\n step: function(sum, item) {\r\n return sum + item\r\n }\r\n },\r\n min: {\r\n step: function(min, item) {\r\n return item < min ? item : min\r\n }\r\n },\r\n max: {\r\n step: function(max, item) {\r\n return item > max ? item : max\r\n }\r\n },\r\n avg: {\r\n seed: [0, 0],\r\n step: function(pair, value) {\r\n return [pair[0] + value, pair[1] + 1]\r\n },\r\n finalize: function(pair) {\r\n return pair[1] ? pair[0] / pair[1] : NaN\r\n }\r\n }\r\n};\r\nexport var processRequestResultLock = function() {\r\n var lockCount = 0;\r\n var lockDeferred;\r\n return {\r\n obtain: function() {\r\n if (0 === lockCount) {\r\n lockDeferred = new Deferred\r\n }\r\n lockCount++\r\n },\r\n release: function() {\r\n lockCount--;\r\n if (lockCount < 1) {\r\n lockDeferred.resolve()\r\n }\r\n },\r\n promise: function() {\r\n var deferred = 0 === lockCount ? (new Deferred).resolve() : lockDeferred;\r\n return deferred.promise()\r\n },\r\n reset: function() {\r\n lockCount = 0;\r\n if (lockDeferred) {\r\n lockDeferred.resolve()\r\n }\r\n }\r\n }\r\n}();\r\nexport function isDisjunctiveOperator(condition) {\r\n return /^(or|\\|\\||\\|)$/i.test(condition)\r\n}\r\nexport function isConjunctiveOperator(condition) {\r\n return /^(and|&&|&)$/i.test(condition)\r\n}\r\nexport var keysEqual = function(keyExpr, key1, key2) {\r\n if (Array.isArray(keyExpr)) {\r\n var names = map(key1, (function(v, k) {\r\n return k\r\n }));\r\n var name;\r\n for (var i = 0; i < names.length; i++) {\r\n name = names[i];\r\n if (!equalByValue(key1[name], key2[name], {\r\n strict: false\r\n })) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n return equalByValue(key1, key2, {\r\n strict: false\r\n })\r\n};\r\nvar BASE64_CHARS = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\nexport var base64_encode = function(input) {\r\n if (!Array.isArray(input)) {\r\n input = stringToByteArray(String(input))\r\n }\r\n var result = \"\";\r\n\r\n function getBase64Char(index) {\r\n return BASE64_CHARS.charAt(index)\r\n }\r\n for (var i = 0; i < input.length; i += 3) {\r\n var octet1 = input[i];\r\n var octet2 = input[i + 1];\r\n var octet3 = input[i + 2];\r\n result += map([octet1 >> 2, (3 & octet1) << 4 | octet2 >> 4, isNaN(octet2) ? 64 : (15 & octet2) << 2 | octet3 >> 6, isNaN(octet3) ? 64 : 63 & octet3], getBase64Char).join(\"\")\r\n }\r\n return result\r\n};\r\n\r\nfunction stringToByteArray(str) {\r\n var bytes = [];\r\n var code;\r\n var i;\r\n for (i = 0; i < str.length; i++) {\r\n code = str.charCodeAt(i);\r\n if (code < 128) {\r\n bytes.push(code)\r\n } else if (code < 2048) {\r\n bytes.push(192 + (code >> 6), 128 + (63 & code))\r\n } else if (code < 65536) {\r\n bytes.push(224 + (code >> 12), 128 + (code >> 6 & 63), 128 + (63 & code))\r\n } else if (code < 2097152) {\r\n bytes.push(240 + (code >> 18), 128 + (code >> 12 & 63), 128 + (code >> 6 & 63), 128 + (63 & code))\r\n }\r\n }\r\n return bytes\r\n}\r\nexport var isUnaryOperation = function(crit) {\r\n return \"!\" === crit[0] && Array.isArray(crit[1])\r\n};\r\nvar isGroupOperator = function(value) {\r\n return \"and\" === value || \"or\" === value\r\n};\r\nexport var isGroupCriterion = function(crit) {\r\n var first = crit[0];\r\n var second = crit[1];\r\n if (Array.isArray(first)) {\r\n return true\r\n }\r\n if (isFunction(first)) {\r\n if (Array.isArray(second) || isFunction(second) || isGroupOperator(second)) {\r\n return true\r\n }\r\n }\r\n return false\r\n};\r\nexport var trivialPromise = function() {\r\n var d = new Deferred;\r\n return d.resolve.apply(d, arguments).promise()\r\n};\r\nexport var rejectedPromise = function() {\r\n var d = new Deferred;\r\n return d.reject.apply(d, arguments).promise()\r\n};\r\n\r\nfunction throttle(func, timeout) {\r\n var timeoutId;\r\n return function() {\r\n if (!timeoutId) {\r\n timeoutId = setTimeout(() => {\r\n timeoutId = void 0;\r\n func.call(this)\r\n }, isFunction(timeout) ? timeout() : timeout)\r\n }\r\n return timeoutId\r\n }\r\n}\r\nexport function throttleChanges(func, timeout) {\r\n var cache = [];\r\n var throttled = throttle((function() {\r\n func.call(this, cache);\r\n cache = []\r\n }), timeout);\r\n return function(changes) {\r\n if (Array.isArray(changes)) {\r\n cache.push(...changes)\r\n }\r\n return throttled.call(this, cache)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/collection/data_controller.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar DataControllerMock = {\r\n load: () => Deferred().reject(),\r\n loadSingle: () => Deferred().reject(),\r\n loadFromStore: () => Deferred().reject(),\r\n loadNextPage: () => Deferred().reject(),\r\n loadOptions: noop,\r\n userData: noop,\r\n cancel: noop,\r\n cancelAll: noop,\r\n filter: noop,\r\n addSearchFilter: noop,\r\n group: noop,\r\n paginate: noop,\r\n pageSize: noop,\r\n pageIndex: noop,\r\n resetDataSourcePageIndex: noop,\r\n totalCount: noop,\r\n isLastPage: noop,\r\n isLoading: noop,\r\n isLoaded: noop,\r\n searchValue: noop,\r\n searchOperation: noop,\r\n searchExpr: noop,\r\n select: noop,\r\n key: noop,\r\n keyOf: noop,\r\n store: noop,\r\n items: noop,\r\n applyMapFunction: noop,\r\n getDataSource: noop,\r\n reload: noop,\r\n on: noop,\r\n off: noop\r\n};\r\nclass DataController {\r\n constructor(dataSource) {\r\n if (!dataSource) {\r\n return DataControllerMock\r\n }\r\n this._dataSource = dataSource\r\n }\r\n load() {\r\n return this._dataSource.load()\r\n }\r\n loadSingle(propName, propValue) {\r\n if (arguments.length < 2) {\r\n propValue = propName;\r\n propName = this.key()\r\n }\r\n return this._dataSource.loadSingle(propName, propValue)\r\n }\r\n loadFromStore(loadOptions) {\r\n return this.store().load(loadOptions)\r\n }\r\n loadNextPage() {\r\n this.pageIndex(1 + this.pageIndex());\r\n return this.load()\r\n }\r\n loadOptions() {\r\n return this._dataSource.loadOptions()\r\n }\r\n userData() {\r\n return this._dataSource._userData\r\n }\r\n cancel(operationId) {\r\n this._dataSource.cancel(operationId)\r\n }\r\n cancelAll() {\r\n this._dataSource.cancelAll()\r\n }\r\n filter(filter) {\r\n return this._dataSource.filter(filter)\r\n }\r\n addSearchFilter(storeLoadOptions) {\r\n this._dataSource._addSearchFilter(storeLoadOptions)\r\n }\r\n group(group) {\r\n return this._dataSource.group(group)\r\n }\r\n paginate() {\r\n return this._dataSource.paginate()\r\n }\r\n pageSize() {\r\n return this._dataSource._pageSize\r\n }\r\n pageIndex(pageIndex) {\r\n return this._dataSource.pageIndex(pageIndex)\r\n }\r\n resetDataSourcePageIndex() {\r\n if (this.pageIndex()) {\r\n this.pageIndex(0);\r\n this.load()\r\n }\r\n }\r\n totalCount() {\r\n return this._dataSource.totalCount()\r\n }\r\n isLastPage() {\r\n return this._dataSource.isLastPage() || !this._dataSource._pageSize\r\n }\r\n isLoading() {\r\n return this._dataSource.isLoading()\r\n }\r\n isLoaded() {\r\n return this._dataSource.isLoaded()\r\n }\r\n searchValue(value) {\r\n if (!arguments.length) {\r\n return this._dataSource.searchValue()\r\n }\r\n return this._dataSource.searchValue(value)\r\n }\r\n searchOperation(operation) {\r\n return this._dataSource.searchOperation(operation)\r\n }\r\n searchExpr(expr) {\r\n if (!arguments.length) {\r\n return this._dataSource.searchExpr()\r\n }\r\n return this._dataSource.searchExpr(expr)\r\n }\r\n select() {\r\n return this._dataSource.select(...arguments)\r\n }\r\n key() {\r\n return this._dataSource.key()\r\n }\r\n keyOf(item) {\r\n return this.store().keyOf(item)\r\n }\r\n store() {\r\n return this._dataSource.store()\r\n }\r\n items() {\r\n return this._dataSource.items()\r\n }\r\n applyMapFunction(data) {\r\n return this._dataSource._applyMapFunction(data)\r\n }\r\n getDataSource() {\r\n return this._dataSource || null\r\n }\r\n reload() {\r\n return this._dataSource.reload()\r\n }\r\n on(event, handler) {\r\n this._dataSource.on(event, handler)\r\n }\r\n off(event, handler) {\r\n this._dataSource.off(event, handler)\r\n }\r\n}\r\nexport default DataController;\r\n","/**\r\n * DevExtreme (esm/data_helper.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n DataSource\r\n} from \"./data/data_source/data_source\";\r\nimport {\r\n extend\r\n} from \"./core/utils/extend\";\r\nimport {\r\n normalizeDataSourceOptions\r\n} from \"./data/data_source/utils\";\r\nimport DataController from \"./ui/collection/data_controller\";\r\nvar DATA_SOURCE_OPTIONS_METHOD = \"_dataSourceOptions\";\r\nvar DATA_SOURCE_CHANGED_METHOD = \"_dataSourceChangedHandler\";\r\nvar DATA_SOURCE_LOAD_ERROR_METHOD = \"_dataSourceLoadErrorHandler\";\r\nvar DATA_SOURCE_LOADING_CHANGED_METHOD = \"_dataSourceLoadingChangedHandler\";\r\nvar DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD = \"_dataSourceFromUrlLoadMode\";\r\nvar SPECIFIC_DATA_SOURCE_OPTION = \"_getSpecificDataSourceOption\";\r\nvar NORMALIZE_DATA_SOURCE = \"_normalizeDataSource\";\r\nvar DataHelperMixin = {\r\n postCtor: function() {\r\n this.on(\"disposing\", function() {\r\n this._disposeDataSource()\r\n }.bind(this))\r\n },\r\n _refreshDataSource: function() {\r\n this._initDataSource();\r\n this._loadDataSource()\r\n },\r\n _initDataSource: function() {\r\n var dataSourceOptions = SPECIFIC_DATA_SOURCE_OPTION in this ? this[SPECIFIC_DATA_SOURCE_OPTION]() : this.option(\"dataSource\");\r\n var widgetDataSourceOptions;\r\n var dataSourceType;\r\n this._disposeDataSource();\r\n if (dataSourceOptions) {\r\n if (dataSourceOptions instanceof DataSource) {\r\n this._isSharedDataSource = true;\r\n this._dataSource = dataSourceOptions\r\n } else {\r\n widgetDataSourceOptions = DATA_SOURCE_OPTIONS_METHOD in this ? this[DATA_SOURCE_OPTIONS_METHOD]() : {};\r\n dataSourceType = this._dataSourceType ? this._dataSourceType() : DataSource;\r\n dataSourceOptions = normalizeDataSourceOptions(dataSourceOptions, {\r\n fromUrlLoadMode: DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD in this && this[DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD]()\r\n });\r\n this._dataSource = new dataSourceType(extend(true, {}, widgetDataSourceOptions, dataSourceOptions))\r\n }\r\n if (NORMALIZE_DATA_SOURCE in this) {\r\n this._dataSource = this[NORMALIZE_DATA_SOURCE](this._dataSource)\r\n }\r\n this._addDataSourceHandlers();\r\n this._initDataController()\r\n }\r\n },\r\n _initDataController: function() {\r\n var _this$option;\r\n var dataController = null === (_this$option = this.option) || void 0 === _this$option ? void 0 : _this$option.call(this, \"_dataController\");\r\n var dataSource = this._dataSource;\r\n if (dataController) {\r\n this._dataController = dataController\r\n } else {\r\n this._dataController = new DataController(dataSource)\r\n }\r\n },\r\n _addDataSourceHandlers: function() {\r\n if (DATA_SOURCE_CHANGED_METHOD in this) {\r\n this._addDataSourceChangeHandler()\r\n }\r\n if (DATA_SOURCE_LOAD_ERROR_METHOD in this) {\r\n this._addDataSourceLoadErrorHandler()\r\n }\r\n if (DATA_SOURCE_LOADING_CHANGED_METHOD in this) {\r\n this._addDataSourceLoadingChangedHandler()\r\n }\r\n this._addReadyWatcher()\r\n },\r\n _addReadyWatcher: function() {\r\n this._dataSource.on(\"loadingChanged\", function(isLoading) {\r\n this._ready && this._ready(!isLoading)\r\n }.bind(this))\r\n },\r\n _addDataSourceChangeHandler: function() {\r\n var dataSource = this._dataSource;\r\n this._proxiedDataSourceChangedHandler = function(e) {\r\n this[DATA_SOURCE_CHANGED_METHOD](dataSource.items(), e)\r\n }.bind(this);\r\n dataSource.on(\"changed\", this._proxiedDataSourceChangedHandler)\r\n },\r\n _addDataSourceLoadErrorHandler: function() {\r\n this._proxiedDataSourceLoadErrorHandler = this[DATA_SOURCE_LOAD_ERROR_METHOD].bind(this);\r\n this._dataSource.on(\"loadError\", this._proxiedDataSourceLoadErrorHandler)\r\n },\r\n _addDataSourceLoadingChangedHandler: function() {\r\n this._proxiedDataSourceLoadingChangedHandler = this[DATA_SOURCE_LOADING_CHANGED_METHOD].bind(this);\r\n this._dataSource.on(\"loadingChanged\", this._proxiedDataSourceLoadingChangedHandler)\r\n },\r\n _loadDataSource: function() {\r\n var dataSource = this._dataSource;\r\n if (dataSource) {\r\n if (dataSource.isLoaded()) {\r\n this._proxiedDataSourceChangedHandler && this._proxiedDataSourceChangedHandler()\r\n } else {\r\n dataSource.load()\r\n }\r\n }\r\n },\r\n _loadSingle: function(key, value) {\r\n key = \"this\" === key ? this._dataSource.key() || \"this\" : key;\r\n return this._dataSource.loadSingle(key, value)\r\n },\r\n _isLastPage: function() {\r\n return !this._dataSource || this._dataSource.isLastPage() || !this._dataSource._pageSize\r\n },\r\n _isDataSourceLoading: function() {\r\n return this._dataSource && this._dataSource.isLoading()\r\n },\r\n _disposeDataSource: function() {\r\n if (this._dataSource) {\r\n if (this._isSharedDataSource) {\r\n delete this._isSharedDataSource;\r\n this._proxiedDataSourceChangedHandler && this._dataSource.off(\"changed\", this._proxiedDataSourceChangedHandler);\r\n this._proxiedDataSourceLoadErrorHandler && this._dataSource.off(\"loadError\", this._proxiedDataSourceLoadErrorHandler);\r\n this._proxiedDataSourceLoadingChangedHandler && this._dataSource.off(\"loadingChanged\", this._proxiedDataSourceLoadingChangedHandler)\r\n } else {\r\n this._dataSource.dispose()\r\n }\r\n delete this._dataSource;\r\n delete this._proxiedDataSourceChangedHandler;\r\n delete this._proxiedDataSourceLoadErrorHandler;\r\n delete this._proxiedDataSourceLoadingChangedHandler\r\n }\r\n },\r\n getDataSource: function() {\r\n return this._dataSource || null\r\n }\r\n};\r\nexport default DataHelperMixin;\r\n","/**\r\n * DevExtreme (esm/events/utils/event_nodes_disposing.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../core/events_engine\";\r\nimport {\r\n removeEvent\r\n} from \"../remove\";\r\n\r\nfunction nodesByEvent(event) {\r\n return event && [event.target, event.delegateTarget, event.relatedTarget, event.currentTarget].filter(node => !!node)\r\n}\r\nexport var subscribeNodesDisposing = (event, callback) => {\r\n eventsEngine.one(nodesByEvent(event), removeEvent, callback)\r\n};\r\nexport var unsubscribeNodesDisposing = (event, callback) => {\r\n eventsEngine.off(nodesByEvent(event), removeEvent, callback)\r\n};\r\n","/**\r\n * DevExtreme (esm/events/click.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport devices from \"../core/devices\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport {\r\n resetActiveElement\r\n} from \"../core/utils/dom\";\r\nimport {\r\n requestAnimationFrame,\r\n cancelAnimationFrame\r\n} from \"../animation/frame\";\r\nimport {\r\n addNamespace,\r\n fireEvent\r\n} from \"./utils/index\";\r\nimport {\r\n subscribeNodesDisposing,\r\n unsubscribeNodesDisposing\r\n} from \"./utils/event_nodes_disposing\";\r\nimport pointerEvents from \"./pointer\";\r\nimport Emitter from \"./core/emitter\";\r\nimport registerEmitter from \"./core/emitter_registrator\";\r\nvar CLICK_EVENT_NAME = \"dxclick\";\r\nvar misc = {\r\n requestAnimationFrame: requestAnimationFrame,\r\n cancelAnimationFrame: cancelAnimationFrame\r\n};\r\nvar prevented = null;\r\nvar lastFiredEvent = null;\r\nvar onNodeRemove = () => {\r\n lastFiredEvent = null\r\n};\r\nvar clickHandler = function(e) {\r\n var originalEvent = e.originalEvent;\r\n var eventAlreadyFired = lastFiredEvent === originalEvent || originalEvent && originalEvent.DXCLICK_FIRED;\r\n var leftButton = !e.which || 1 === e.which;\r\n if (leftButton && !prevented && !eventAlreadyFired) {\r\n if (originalEvent) {\r\n originalEvent.DXCLICK_FIRED = true\r\n }\r\n unsubscribeNodesDisposing(lastFiredEvent, onNodeRemove);\r\n lastFiredEvent = originalEvent;\r\n subscribeNodesDisposing(lastFiredEvent, onNodeRemove);\r\n fireEvent({\r\n type: CLICK_EVENT_NAME,\r\n originalEvent: e\r\n })\r\n }\r\n};\r\nvar ClickEmitter = Emitter.inherit({\r\n ctor: function(element) {\r\n this.callBase(element);\r\n eventsEngine.on(this.getElement(), \"click\", clickHandler)\r\n },\r\n start: function(e) {\r\n prevented = null\r\n },\r\n cancel: function() {\r\n prevented = true\r\n },\r\n dispose: function() {\r\n eventsEngine.off(this.getElement(), \"click\", clickHandler)\r\n }\r\n});\r\n! function() {\r\n var desktopDevice = devices.real().generic;\r\n if (!desktopDevice) {\r\n var startTarget = null;\r\n var blurPrevented = false;\r\n var document = domAdapter.getDocument();\r\n eventsEngine.subscribeGlobal(document, addNamespace(pointerEvents.down, \"NATIVE_CLICK_FIXER\"), (function(e) {\r\n startTarget = e.target;\r\n blurPrevented = e.isDefaultPrevented()\r\n }));\r\n eventsEngine.subscribeGlobal(document, addNamespace(\"click\", \"NATIVE_CLICK_FIXER\"), (function(e) {\r\n var $target = $(e.target);\r\n if (!blurPrevented && startTarget && !$target.is(startTarget) && !$(startTarget).is(\"label\") && (element = $target, $(element).is(\"input, textarea, select, button ,:focus, :focus *\"))) {\r\n resetActiveElement()\r\n }\r\n var element;\r\n startTarget = null;\r\n blurPrevented = false\r\n }))\r\n }\r\n}();\r\nregisterEmitter({\r\n emitter: ClickEmitter,\r\n bubble: true,\r\n events: [CLICK_EVENT_NAME]\r\n});\r\nexport {\r\n CLICK_EVENT_NAME as name\r\n};\r\n","/**\r\n * DevExtreme (esm/events/contextmenu.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n touch\r\n} from \"../core/utils/support\";\r\nimport devices from \"../core/devices\";\r\nimport Class from \"../core/class\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nimport {\r\n addNamespace,\r\n fireEvent,\r\n isMouseEvent\r\n} from \"./utils/index\";\r\nimport holdEvent from \"./hold\";\r\nvar CONTEXTMENU_NAMESPACE = \"dxContexMenu\";\r\nvar CONTEXTMENU_NAMESPACED_EVENT_NAME = addNamespace(\"contextmenu\", CONTEXTMENU_NAMESPACE);\r\nvar HOLD_NAMESPACED_EVENT_NAME = addNamespace(holdEvent.name, CONTEXTMENU_NAMESPACE);\r\nvar CONTEXTMENU_EVENT_NAME = \"dxcontextmenu\";\r\nvar ContextMenu = Class.inherit({\r\n setup: function(element) {\r\n var $element = $(element);\r\n eventsEngine.on($element, CONTEXTMENU_NAMESPACED_EVENT_NAME, this._contextMenuHandler.bind(this));\r\n if (touch || devices.isSimulator()) {\r\n eventsEngine.on($element, HOLD_NAMESPACED_EVENT_NAME, this._holdHandler.bind(this))\r\n }\r\n },\r\n _holdHandler: function(e) {\r\n if (isMouseEvent(e) && !devices.isSimulator()) {\r\n return\r\n }\r\n this._fireContextMenu(e)\r\n },\r\n _contextMenuHandler: function(e) {\r\n this._fireContextMenu(e)\r\n },\r\n _fireContextMenu: function(e) {\r\n return fireEvent({\r\n type: CONTEXTMENU_EVENT_NAME,\r\n originalEvent: e\r\n })\r\n },\r\n teardown: function(element) {\r\n eventsEngine.off(element, \".\" + CONTEXTMENU_NAMESPACE)\r\n }\r\n});\r\nregisterEvent(CONTEXTMENU_EVENT_NAME, new ContextMenu);\r\nexport var name = CONTEXTMENU_EVENT_NAME;\r\n","/**\r\n * DevExtreme (esm/events/core/emitter.feedback.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nimport {\r\n noop,\r\n ensureDefined\r\n} from \"../../core/utils/common\";\r\nimport {\r\n contains\r\n} from \"../../core/utils/dom\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n isMouseEvent\r\n} from \"../utils/index\";\r\nimport pointerEvents from \"../pointer\";\r\nimport Emitter from \"./emitter\";\r\nimport registerEmitter from \"./emitter_registrator\";\r\nvar ACTIVE_EVENT_NAME = \"dxactive\";\r\nvar INACTIVE_EVENT_NAME = \"dxinactive\";\r\nvar ACTIVE_TIMEOUT = 30;\r\nvar INACTIVE_TIMEOUT = 400;\r\nvar FeedbackEvent = Class.inherit({\r\n ctor: function(timeout, fire) {\r\n this._timeout = timeout;\r\n this._fire = fire\r\n },\r\n start: function() {\r\n var that = this;\r\n this._schedule((function() {\r\n that.force()\r\n }))\r\n },\r\n _schedule: function(fn) {\r\n this.stop();\r\n this._timer = setTimeout(fn, this._timeout)\r\n },\r\n stop: function() {\r\n clearTimeout(this._timer)\r\n },\r\n force: function() {\r\n if (this._fired) {\r\n return\r\n }\r\n this.stop();\r\n this._fire();\r\n this._fired = true\r\n },\r\n fired: function() {\r\n return this._fired\r\n }\r\n});\r\nvar activeFeedback;\r\nvar FeedbackEmitter = Emitter.inherit({\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n this._active = new FeedbackEvent(0, noop);\r\n this._inactive = new FeedbackEvent(0, noop)\r\n },\r\n configure: function(data, eventName) {\r\n switch (eventName) {\r\n case ACTIVE_EVENT_NAME:\r\n data.activeTimeout = data.timeout;\r\n break;\r\n case INACTIVE_EVENT_NAME:\r\n data.inactiveTimeout = data.timeout\r\n }\r\n this.callBase(data)\r\n },\r\n start: function(e) {\r\n if (activeFeedback) {\r\n var activeChildExists = contains(this.getElement().get(0), activeFeedback.getElement().get(0));\r\n var childJustActivated = !activeFeedback._active.fired();\r\n if (activeChildExists && childJustActivated) {\r\n this._cancel();\r\n return\r\n }\r\n activeFeedback._inactive.force()\r\n }\r\n activeFeedback = this;\r\n this._initEvents(e);\r\n this._active.start()\r\n },\r\n _initEvents: function(e) {\r\n var that = this;\r\n var eventTarget = this._getEmitterTarget(e);\r\n var mouseEvent = isMouseEvent(e);\r\n var isSimulator = devices.isSimulator();\r\n var deferFeedback = isSimulator || !mouseEvent;\r\n var activeTimeout = ensureDefined(this.activeTimeout, ACTIVE_TIMEOUT);\r\n var inactiveTimeout = ensureDefined(this.inactiveTimeout, INACTIVE_TIMEOUT);\r\n this._active = new FeedbackEvent(deferFeedback ? activeTimeout : 0, (function() {\r\n that._fireEvent(ACTIVE_EVENT_NAME, e, {\r\n target: eventTarget\r\n })\r\n }));\r\n this._inactive = new FeedbackEvent(deferFeedback ? inactiveTimeout : 0, (function() {\r\n that._fireEvent(INACTIVE_EVENT_NAME, e, {\r\n target: eventTarget\r\n });\r\n activeFeedback = null\r\n }))\r\n },\r\n cancel: function(e) {\r\n this.end(e)\r\n },\r\n end: function(e) {\r\n var skipTimers = e.type !== pointerEvents.up;\r\n if (skipTimers) {\r\n this._active.stop()\r\n } else {\r\n this._active.force()\r\n }\r\n this._inactive.start();\r\n if (skipTimers) {\r\n this._inactive.force()\r\n }\r\n },\r\n dispose: function() {\r\n this._active.stop();\r\n this._inactive.stop();\r\n if (activeFeedback === this) {\r\n activeFeedback = null\r\n }\r\n this.callBase()\r\n },\r\n lockInactive: function() {\r\n this._active.force();\r\n this._inactive.stop();\r\n activeFeedback = null;\r\n this._cancel();\r\n return this._inactive.force.bind(this._inactive)\r\n }\r\n});\r\nFeedbackEmitter.lock = function(deferred) {\r\n var lockInactive = activeFeedback ? activeFeedback.lockInactive() : noop;\r\n deferred.done(lockInactive)\r\n};\r\nregisterEmitter({\r\n emitter: FeedbackEmitter,\r\n events: [ACTIVE_EVENT_NAME, INACTIVE_EVENT_NAME]\r\n});\r\nexport var lock = FeedbackEmitter.lock;\r\nexport {\r\n ACTIVE_EVENT_NAME as active, INACTIVE_EVENT_NAME as inactive\r\n};\r\n","/**\r\n * DevExtreme (esm/events/core/emitter.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport Class from \"../../core/class\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isDxMouseWheelEvent,\r\n hasTouches,\r\n fireEvent\r\n} from \"../utils/index\";\r\nvar Emitter = Class.inherit({\r\n ctor: function(element) {\r\n this._$element = $(element);\r\n this._cancelCallback = Callbacks();\r\n this._acceptCallback = Callbacks()\r\n },\r\n getElement: function() {\r\n return this._$element\r\n },\r\n validate: function(e) {\r\n return !isDxMouseWheelEvent(e)\r\n },\r\n validatePointers: function(e) {\r\n return 1 === hasTouches(e)\r\n },\r\n allowInterruptionByMouseWheel: function() {\r\n return true\r\n },\r\n configure: function(data) {\r\n extend(this, data)\r\n },\r\n addCancelCallback: function(callback) {\r\n this._cancelCallback.add(callback)\r\n },\r\n removeCancelCallback: function() {\r\n this._cancelCallback.empty()\r\n },\r\n _cancel: function(e) {\r\n this._cancelCallback.fire(this, e)\r\n },\r\n addAcceptCallback: function(callback) {\r\n this._acceptCallback.add(callback)\r\n },\r\n removeAcceptCallback: function() {\r\n this._acceptCallback.empty()\r\n },\r\n _accept: function(e) {\r\n this._acceptCallback.fire(this, e)\r\n },\r\n _requestAccept: function(e) {\r\n this._acceptRequestEvent = e\r\n },\r\n _forgetAccept: function() {\r\n this._accept(this._acceptRequestEvent);\r\n this._acceptRequestEvent = null\r\n },\r\n start: noop,\r\n move: noop,\r\n end: noop,\r\n cancel: noop,\r\n reset: function() {\r\n if (this._acceptRequestEvent) {\r\n this._accept(this._acceptRequestEvent)\r\n }\r\n },\r\n _fireEvent: function(eventName, e, params) {\r\n var eventData = extend({\r\n type: eventName,\r\n originalEvent: e,\r\n target: this._getEmitterTarget(e),\r\n delegateTarget: this.getElement().get(0)\r\n }, params);\r\n e = fireEvent(eventData);\r\n if (e.cancel) {\r\n this._cancel(e)\r\n }\r\n return e\r\n },\r\n _getEmitterTarget: function(e) {\r\n return (this.delegateSelector ? $(e.target).closest(this.delegateSelector) : this.getElement()).get(0)\r\n },\r\n dispose: noop\r\n});\r\nexport default Emitter;\r\n","/**\r\n * DevExtreme (esm/events/core/emitter_registrator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport readyCallbacks from \"../../core/utils/ready_callbacks\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n data as elementData\r\n} from \"../../core/element_data\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport registerEvent from \"./event_registrator\";\r\nimport {\r\n addNamespace,\r\n isMouseEvent\r\n} from \"../utils/index\";\r\nimport pointerEvents from \"../pointer\";\r\nimport {\r\n name as wheelEventName\r\n} from \"./wheel\";\r\nvar MANAGER_EVENT = \"dxEventManager\";\r\nvar EMITTER_DATA = \"dxEmitter\";\r\nvar EventManager = Class.inherit({\r\n ctor: function() {\r\n this._attachHandlers();\r\n this.reset();\r\n this._proxiedCancelHandler = this._cancelHandler.bind(this);\r\n this._proxiedAcceptHandler = this._acceptHandler.bind(this)\r\n },\r\n _attachHandlers: function() {\r\n readyCallbacks.add(function() {\r\n var document = domAdapter.getDocument();\r\n eventsEngine.subscribeGlobal(document, addNamespace(pointerEvents.down, MANAGER_EVENT), this._pointerDownHandler.bind(this));\r\n eventsEngine.subscribeGlobal(document, addNamespace(pointerEvents.move, MANAGER_EVENT), this._pointerMoveHandler.bind(this));\r\n eventsEngine.subscribeGlobal(document, addNamespace([pointerEvents.up, pointerEvents.cancel].join(\" \"), MANAGER_EVENT), this._pointerUpHandler.bind(this));\r\n eventsEngine.subscribeGlobal(document, addNamespace(wheelEventName, MANAGER_EVENT), this._mouseWheelHandler.bind(this))\r\n }.bind(this))\r\n },\r\n _eachEmitter: function(callback) {\r\n var activeEmitters = this._activeEmitters || [];\r\n var i = 0;\r\n while (activeEmitters.length > i) {\r\n var emitter = activeEmitters[i];\r\n if (false === callback(emitter)) {\r\n break\r\n }\r\n if (activeEmitters[i] === emitter) {\r\n i++\r\n }\r\n }\r\n },\r\n _applyToEmitters: function(method, arg) {\r\n this._eachEmitter((function(emitter) {\r\n emitter[method].call(emitter, arg)\r\n }))\r\n },\r\n reset: function() {\r\n this._eachEmitter(this._proxiedCancelHandler);\r\n this._activeEmitters = []\r\n },\r\n resetEmitter: function(emitter) {\r\n this._proxiedCancelHandler(emitter)\r\n },\r\n _pointerDownHandler: function(e) {\r\n if (isMouseEvent(e) && e.which > 1) {\r\n return\r\n }\r\n this._updateEmitters(e)\r\n },\r\n _updateEmitters: function(e) {\r\n if (!this._isSetChanged(e)) {\r\n return\r\n }\r\n this._cleanEmitters(e);\r\n this._fetchEmitters(e)\r\n },\r\n _isSetChanged: function(e) {\r\n var currentSet = this._closestEmitter(e);\r\n var previousSet = this._emittersSet || [];\r\n var setChanged = currentSet.length !== previousSet.length;\r\n each(currentSet, (function(index, emitter) {\r\n setChanged = setChanged || previousSet[index] !== emitter;\r\n return !setChanged\r\n }));\r\n this._emittersSet = currentSet;\r\n return setChanged\r\n },\r\n _closestEmitter: function(e) {\r\n var that = this;\r\n var result = [];\r\n var $element = $(e.target);\r\n\r\n function handleEmitter(_, emitter) {\r\n if (!!emitter && emitter.validatePointers(e) && emitter.validate(e)) {\r\n emitter.addCancelCallback(that._proxiedCancelHandler);\r\n emitter.addAcceptCallback(that._proxiedAcceptHandler);\r\n result.push(emitter)\r\n }\r\n }\r\n while ($element.length) {\r\n var emitters = elementData($element.get(0), EMITTER_DATA) || [];\r\n each(emitters, handleEmitter);\r\n $element = $element.parent()\r\n }\r\n return result\r\n },\r\n _acceptHandler: function(acceptedEmitter, e) {\r\n var that = this;\r\n this._eachEmitter((function(emitter) {\r\n if (emitter !== acceptedEmitter) {\r\n that._cancelEmitter(emitter, e)\r\n }\r\n }))\r\n },\r\n _cancelHandler: function(canceledEmitter, e) {\r\n this._cancelEmitter(canceledEmitter, e)\r\n },\r\n _cancelEmitter: function(emitter, e) {\r\n var activeEmitters = this._activeEmitters;\r\n if (e) {\r\n emitter.cancel(e)\r\n } else {\r\n emitter.reset()\r\n }\r\n emitter.removeCancelCallback();\r\n emitter.removeAcceptCallback();\r\n var emitterIndex = activeEmitters.indexOf(emitter);\r\n if (emitterIndex > -1) {\r\n activeEmitters.splice(emitterIndex, 1)\r\n }\r\n },\r\n _cleanEmitters: function(e) {\r\n this._applyToEmitters(\"end\", e);\r\n this.reset(e)\r\n },\r\n _fetchEmitters: function(e) {\r\n this._activeEmitters = this._emittersSet.slice();\r\n this._applyToEmitters(\"start\", e)\r\n },\r\n _pointerMoveHandler: function(e) {\r\n this._applyToEmitters(\"move\", e)\r\n },\r\n _pointerUpHandler: function(e) {\r\n this._updateEmitters(e)\r\n },\r\n _mouseWheelHandler: function(e) {\r\n if (!this._allowInterruptionByMouseWheel()) {\r\n return\r\n }\r\n e.pointers = [null];\r\n this._pointerDownHandler(e);\r\n this._adjustWheelEvent(e);\r\n this._pointerMoveHandler(e);\r\n e.pointers = [];\r\n this._pointerUpHandler(e)\r\n },\r\n _allowInterruptionByMouseWheel: function() {\r\n var allowInterruption = true;\r\n this._eachEmitter((function(emitter) {\r\n allowInterruption = emitter.allowInterruptionByMouseWheel() && allowInterruption;\r\n return allowInterruption\r\n }));\r\n return allowInterruption\r\n },\r\n _adjustWheelEvent: function(e) {\r\n var closestGestureEmitter = null;\r\n this._eachEmitter((function(emitter) {\r\n if (!emitter.gesture) {\r\n return\r\n }\r\n var direction = emitter.getDirection(e);\r\n if (\"horizontal\" !== direction && !e.shiftKey || \"vertical\" !== direction && e.shiftKey) {\r\n closestGestureEmitter = emitter;\r\n return false\r\n }\r\n }));\r\n if (!closestGestureEmitter) {\r\n return\r\n }\r\n var direction = closestGestureEmitter.getDirection(e);\r\n var verticalGestureDirection = \"both\" === direction && !e.shiftKey || \"vertical\" === direction;\r\n var prop = verticalGestureDirection ? \"pageY\" : \"pageX\";\r\n e[prop] += e.delta\r\n },\r\n isActive: function(element) {\r\n var result = false;\r\n this._eachEmitter((function(emitter) {\r\n result = result || emitter.getElement().is(element)\r\n }));\r\n return result\r\n }\r\n});\r\nvar eventManager = new EventManager;\r\nvar EMITTER_SUBSCRIPTION_DATA = \"dxEmitterSubscription\";\r\nvar registerEmitter = function(emitterConfig) {\r\n var emitterClass = emitterConfig.emitter;\r\n var emitterName = emitterConfig.events[0];\r\n var emitterEvents = emitterConfig.events;\r\n each(emitterEvents, (function(_, eventName) {\r\n registerEvent(eventName, {\r\n noBubble: !emitterConfig.bubble,\r\n setup: function(element) {\r\n var subscriptions = elementData(element, EMITTER_SUBSCRIPTION_DATA) || {};\r\n var emitters = elementData(element, EMITTER_DATA) || {};\r\n var emitter = emitters[emitterName] || new emitterClass(element);\r\n subscriptions[eventName] = true;\r\n emitters[emitterName] = emitter;\r\n elementData(element, EMITTER_DATA, emitters);\r\n elementData(element, EMITTER_SUBSCRIPTION_DATA, subscriptions)\r\n },\r\n add: function(element, handleObj) {\r\n var emitters = elementData(element, EMITTER_DATA);\r\n var emitter = emitters[emitterName];\r\n emitter.configure(extend({\r\n delegateSelector: handleObj.selector\r\n }, handleObj.data), handleObj.type)\r\n },\r\n teardown: function(element) {\r\n var subscriptions = elementData(element, EMITTER_SUBSCRIPTION_DATA);\r\n var emitters = elementData(element, EMITTER_DATA);\r\n var emitter = emitters[emitterName];\r\n delete subscriptions[eventName];\r\n var disposeEmitter = true;\r\n each(emitterEvents, (function(_, eventName) {\r\n disposeEmitter = disposeEmitter && !subscriptions[eventName];\r\n return disposeEmitter\r\n }));\r\n if (disposeEmitter) {\r\n if (eventManager.isActive(element)) {\r\n eventManager.resetEmitter(emitter)\r\n }\r\n emitter && emitter.dispose();\r\n delete emitters[emitterName]\r\n }\r\n }\r\n })\r\n }))\r\n};\r\nexport default registerEmitter;\r\n","/**\r\n * DevExtreme (esm/events/core/event_registrator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport callbacks from \"./event_registrator_callbacks\";\r\nvar registerEvent = function(name, eventObject) {\r\n var strategy = {};\r\n if (\"noBubble\" in eventObject) {\r\n strategy.noBubble = eventObject.noBubble\r\n }\r\n if (\"bindType\" in eventObject) {\r\n strategy.bindType = eventObject.bindType\r\n }\r\n if (\"delegateType\" in eventObject) {\r\n strategy.delegateType = eventObject.delegateType\r\n }\r\n each([\"setup\", \"teardown\", \"add\", \"remove\", \"trigger\", \"handle\", \"_default\", \"dispose\"], (function(_, methodName) {\r\n if (!eventObject[methodName]) {\r\n return\r\n }\r\n strategy[methodName] = function() {\r\n var args = [].slice.call(arguments);\r\n args.unshift(this);\r\n return eventObject[methodName].apply(eventObject, args)\r\n }\r\n }));\r\n callbacks.fire(name, strategy)\r\n};\r\nregisterEvent.callbacks = callbacks;\r\nexport default registerEvent;\r\n","/**\r\n * DevExtreme (esm/events/core/event_registrator_callbacks.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport MemorizedCallbacks from \"../../core/memorized_callbacks\";\r\nexport default new MemorizedCallbacks;\r\n","/**\r\n * DevExtreme (esm/events/core/hook_touch_props.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar touchPropsToHook = [\"pageX\", \"pageY\", \"screenX\", \"screenY\", \"clientX\", \"clientY\"];\r\nvar touchPropHook = function(name, event) {\r\n if (event[name] && !event.touches || !event.touches) {\r\n return event[name]\r\n }\r\n var touches = event.touches.length ? event.touches : event.changedTouches;\r\n if (!touches.length) {\r\n return\r\n }\r\n return touches[0][name]\r\n};\r\nexport default function(callback) {\r\n touchPropsToHook.forEach((function(name) {\r\n callback(name, (function(event) {\r\n return touchPropHook(name, event)\r\n }))\r\n }), this)\r\n}\r\n","/**\r\n * DevExtreme (esm/events/core/events_engine.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport registerEventCallbacks from \"./event_registrator_callbacks\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport injector from \"../../core/utils/dependency_injector\";\r\nimport {\r\n isWindow,\r\n isFunction,\r\n isString,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport errors from \"../../core/errors\";\r\nimport hookTouchProps from \"../../events/core/hook_touch_props\";\r\nimport callOnce from \"../../core/utils/call_once\";\r\nvar EMPTY_EVENT_NAME = \"dxEmptyEventType\";\r\nvar NATIVE_EVENTS_TO_SUBSCRIBE = {\r\n mouseenter: \"mouseover\",\r\n mouseleave: \"mouseout\",\r\n pointerenter: \"pointerover\",\r\n pointerleave: \"pointerout\"\r\n};\r\nvar NATIVE_EVENTS_TO_TRIGGER = {\r\n focusin: \"focus\",\r\n focusout: \"blur\"\r\n};\r\nvar NO_BUBBLE_EVENTS = [\"blur\", \"focus\", \"load\"];\r\nvar forcePassiveFalseEventNames = [\"touchmove\", \"wheel\", \"mousewheel\", \"touchstart\"];\r\nvar EVENT_PROPERTIES = [\"target\", \"relatedTarget\", \"delegateTarget\", \"altKey\", \"bubbles\", \"cancelable\", \"changedTouches\", \"ctrlKey\", \"detail\", \"eventPhase\", \"metaKey\", \"shiftKey\", \"view\", \"char\", \"code\", \"charCode\", \"key\", \"keyCode\", \"button\", \"buttons\", \"offsetX\", \"offsetY\", \"pointerId\", \"pointerType\", \"targetTouches\", \"toElement\", \"touches\"];\r\n\r\nfunction matchesSafe(target, selector) {\r\n return !isWindow(target) && \"#document\" !== target.nodeName && domAdapter.elementMatches(target, selector)\r\n}\r\nvar elementDataMap = new WeakMap;\r\nvar guid = 0;\r\nvar skipEvent;\r\nvar special = function() {\r\n var specialData = {};\r\n registerEventCallbacks.add((function(eventName, eventObject) {\r\n specialData[eventName] = eventObject\r\n }));\r\n return {\r\n getField: function(eventName, field) {\r\n return specialData[eventName] && specialData[eventName][field]\r\n },\r\n callMethod: function(eventName, methodName, context, args) {\r\n return specialData[eventName] && specialData[eventName][methodName] && specialData[eventName][methodName].apply(context, args)\r\n }\r\n }\r\n}();\r\nvar eventsEngine = injector({\r\n on: getHandler(normalizeOnArguments(iterate((function(element, eventName, selector, data, handler) {\r\n var handlersController = getHandlersController(element, eventName);\r\n handlersController.addHandler(handler, selector, data)\r\n })))),\r\n one: getHandler(normalizeOnArguments((function(element, eventName, selector, data, handler) {\r\n eventsEngine.on(element, eventName, selector, data, (function oneTimeHandler() {\r\n eventsEngine.off(element, eventName, selector, oneTimeHandler);\r\n handler.apply(this, arguments)\r\n }))\r\n }))),\r\n off: getHandler(normalizeOffArguments(iterate((function(element, eventName, selector, handler) {\r\n var handlersController = getHandlersController(element, eventName);\r\n handlersController.removeHandler(handler, selector)\r\n })))),\r\n trigger: getHandler(normalizeTriggerArguments((function(element, event, extraParameters) {\r\n var eventName = event.type;\r\n var handlersController = getHandlersController(element, event.type);\r\n special.callMethod(eventName, \"trigger\", element, [event, extraParameters]);\r\n handlersController.callHandlers(event, extraParameters);\r\n var noBubble = special.getField(eventName, \"noBubble\") || event.isPropagationStopped() || -1 !== NO_BUBBLE_EVENTS.indexOf(eventName);\r\n if (!noBubble) {\r\n var parents = [];\r\n ! function getParents(element) {\r\n var _element$parentNode;\r\n var parent = null !== (_element$parentNode = element.parentNode) && void 0 !== _element$parentNode ? _element$parentNode : isObject(element.host) ? element.host : null;\r\n if (parent) {\r\n parents.push(parent);\r\n getParents(parent)\r\n }\r\n }(element);\r\n parents.push(window);\r\n var i = 0;\r\n while (parents[i] && !event.isPropagationStopped()) {\r\n var parentDataByEvent = getHandlersController(parents[i], event.type);\r\n parentDataByEvent.callHandlers(extend(event, {\r\n currentTarget: parents[i]\r\n }), extraParameters);\r\n i++\r\n }\r\n }\r\n if (element.nodeType || isWindow(element)) {\r\n special.callMethod(eventName, \"_default\", element, [event, extraParameters]);\r\n callNativeMethod(eventName, element)\r\n }\r\n }))),\r\n triggerHandler: getHandler(normalizeTriggerArguments((function(element, event, extraParameters) {\r\n var handlersController = getHandlersController(element, event.type);\r\n handlersController.callHandlers(event, extraParameters)\r\n })))\r\n});\r\n\r\nfunction applyForEach(args, method) {\r\n var element = args[0];\r\n if (!element) {\r\n return\r\n }\r\n if (domAdapter.isNode(element) || isWindow(element)) {\r\n method.apply(eventsEngine, args)\r\n } else if (!isString(element) && \"length\" in element) {\r\n var itemArgs = Array.prototype.slice.call(args, 0);\r\n Array.prototype.forEach.call(element, (function(itemElement) {\r\n itemArgs[0] = itemElement;\r\n applyForEach(itemArgs, method)\r\n }))\r\n } else {\r\n throw errors.Error(\"E0025\")\r\n }\r\n}\r\n\r\nfunction getHandler(method) {\r\n return function() {\r\n applyForEach(arguments, method)\r\n }\r\n}\r\n\r\nfunction detectPassiveEventHandlersSupport() {\r\n var isSupported = false;\r\n try {\r\n var options = Object.defineProperty({}, \"passive\", {\r\n get: function() {\r\n isSupported = true;\r\n return true\r\n }\r\n });\r\n window.addEventListener(\"test\", null, options)\r\n } catch (e) {}\r\n return isSupported\r\n}\r\nvar passiveEventHandlersSupported = callOnce(detectPassiveEventHandlersSupport);\r\nvar contains = (container, element) => {\r\n if (isWindow(container)) {\r\n return contains(container.document, element)\r\n }\r\n return container.contains ? container.contains(element) : !!(element.compareDocumentPosition(container) & element.DOCUMENT_POSITION_CONTAINS)\r\n};\r\n\r\nfunction getHandlersController(element, eventName) {\r\n var elementData = elementDataMap.get(element);\r\n eventName = eventName || \"\";\r\n var eventNameParts = eventName.split(\".\");\r\n var namespaces = eventNameParts.slice(1);\r\n var eventNameIsDefined = !!eventNameParts[0];\r\n eventName = eventNameParts[0] || EMPTY_EVENT_NAME;\r\n if (!elementData) {\r\n elementData = {};\r\n elementDataMap.set(element, elementData)\r\n }\r\n if (!elementData[eventName]) {\r\n elementData[eventName] = {\r\n handleObjects: [],\r\n nativeHandler: null\r\n }\r\n }\r\n var eventData = elementData[eventName];\r\n return {\r\n addHandler: function(handler, selector, data) {\r\n var callHandler = function(e, extraParameters) {\r\n var handlerArgs = [e];\r\n var target = e.currentTarget;\r\n var relatedTarget = e.relatedTarget;\r\n var secondaryTargetIsInside;\r\n var result;\r\n if (eventName in NATIVE_EVENTS_TO_SUBSCRIBE) {\r\n secondaryTargetIsInside = relatedTarget && target && (relatedTarget === target || contains(target, relatedTarget))\r\n }\r\n if (void 0 !== extraParameters) {\r\n handlerArgs.push(extraParameters)\r\n }\r\n special.callMethod(eventName, \"handle\", element, [e, data]);\r\n if (!secondaryTargetIsInside) {\r\n result = handler.apply(target, handlerArgs)\r\n }\r\n if (false === result) {\r\n e.preventDefault();\r\n e.stopPropagation()\r\n }\r\n };\r\n var handleObject = {\r\n handler: handler,\r\n wrappedHandler: function(e, extraParameters) {\r\n if (skipEvent && e.type === skipEvent) {\r\n return\r\n }\r\n e.data = data;\r\n e.delegateTarget = element;\r\n if (selector) {\r\n var currentTarget = e.target;\r\n while (currentTarget && currentTarget !== element) {\r\n if (matchesSafe(currentTarget, selector)) {\r\n e.currentTarget = currentTarget;\r\n callHandler(e, extraParameters)\r\n }\r\n currentTarget = currentTarget.parentNode\r\n }\r\n } else {\r\n e.currentTarget = e.delegateTarget || e.target;\r\n callHandler(e, extraParameters)\r\n }\r\n },\r\n selector: selector,\r\n type: eventName,\r\n data: data,\r\n namespace: namespaces.join(\".\"),\r\n namespaces: namespaces,\r\n guid: ++guid\r\n };\r\n eventData.handleObjects.push(handleObject);\r\n var firstHandlerForTheType = 1 === eventData.handleObjects.length;\r\n var shouldAddNativeListener = firstHandlerForTheType && eventNameIsDefined;\r\n var nativeListenerOptions;\r\n if (shouldAddNativeListener) {\r\n shouldAddNativeListener = !special.callMethod(eventName, \"setup\", element, [data, namespaces, handler])\r\n }\r\n if (shouldAddNativeListener) {\r\n eventData.nativeHandler = getNativeHandler(eventName);\r\n if (passiveEventHandlersSupported() && forcePassiveFalseEventNames.indexOf(eventName) > -1) {\r\n nativeListenerOptions = {\r\n passive: false\r\n }\r\n }\r\n eventData.removeListener = domAdapter.listen(element, NATIVE_EVENTS_TO_SUBSCRIBE[eventName] || eventName, eventData.nativeHandler, nativeListenerOptions)\r\n }\r\n special.callMethod(eventName, \"add\", element, [handleObject])\r\n },\r\n removeHandler: function(handler, selector) {\r\n var removeByEventName = function(eventName) {\r\n var eventData = elementData[eventName];\r\n if (!eventData.handleObjects.length) {\r\n delete elementData[eventName];\r\n return\r\n }\r\n var removedHandler;\r\n eventData.handleObjects = eventData.handleObjects.filter((function(handleObject) {\r\n var skip = namespaces.length && !isSubset(handleObject.namespaces, namespaces) || handler && handleObject.handler !== handler || selector && handleObject.selector !== selector;\r\n if (!skip) {\r\n removedHandler = handleObject.handler;\r\n special.callMethod(eventName, \"remove\", element, [handleObject])\r\n }\r\n return skip\r\n }));\r\n var lastHandlerForTheType = !eventData.handleObjects.length;\r\n var shouldRemoveNativeListener = lastHandlerForTheType && eventName !== EMPTY_EVENT_NAME;\r\n if (shouldRemoveNativeListener) {\r\n special.callMethod(eventName, \"teardown\", element, [namespaces, removedHandler]);\r\n if (eventData.nativeHandler) {\r\n eventData.removeListener()\r\n }\r\n delete elementData[eventName]\r\n }\r\n };\r\n if (eventNameIsDefined) {\r\n removeByEventName(eventName)\r\n } else {\r\n for (var name in elementData) {\r\n removeByEventName(name)\r\n }\r\n }\r\n var elementDataIsEmpty = 0 === Object.keys(elementData).length;\r\n if (elementDataIsEmpty) {\r\n elementDataMap.delete(element)\r\n }\r\n },\r\n callHandlers: function(event, extraParameters) {\r\n var forceStop = false;\r\n var handleCallback = function(handleObject) {\r\n if (forceStop) {\r\n return\r\n }\r\n if (!namespaces.length || isSubset(handleObject.namespaces, namespaces)) {\r\n handleObject.wrappedHandler(event, extraParameters);\r\n forceStop = event.isImmediatePropagationStopped()\r\n }\r\n };\r\n eventData.handleObjects.forEach(handleCallback);\r\n if (namespaces.length && elementData[EMPTY_EVENT_NAME]) {\r\n elementData[EMPTY_EVENT_NAME].handleObjects.forEach(handleCallback)\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction getNativeHandler(subscribeName) {\r\n return function(event, extraParameters) {\r\n var handlersController = getHandlersController(this, subscribeName);\r\n event = eventsEngine.Event(event);\r\n handlersController.callHandlers(event, extraParameters)\r\n }\r\n}\r\n\r\nfunction isSubset(original, checked) {\r\n for (var i = 0; i < checked.length; i++) {\r\n if (original.indexOf(checked[i]) < 0) {\r\n return false\r\n }\r\n }\r\n return true\r\n}\r\n\r\nfunction normalizeOnArguments(callback) {\r\n return function(element, eventName, selector, data, handler) {\r\n if (!handler) {\r\n handler = data;\r\n data = void 0\r\n }\r\n if (\"string\" !== typeof selector) {\r\n data = selector;\r\n selector = void 0\r\n }\r\n if (!handler && \"string\" === typeof eventName) {\r\n handler = data || selector;\r\n selector = void 0;\r\n data = void 0\r\n }\r\n callback(element, eventName, selector, data, handler)\r\n }\r\n}\r\n\r\nfunction normalizeOffArguments(callback) {\r\n return function(element, eventName, selector, handler) {\r\n if (\"function\" === typeof selector) {\r\n handler = selector;\r\n selector = void 0\r\n }\r\n callback(element, eventName, selector, handler)\r\n }\r\n}\r\n\r\nfunction normalizeTriggerArguments(callback) {\r\n return function(element, src, extraParameters) {\r\n if (\"string\" === typeof src) {\r\n src = {\r\n type: src\r\n }\r\n }\r\n if (!src.target) {\r\n src.target = element\r\n }\r\n src.currentTarget = element;\r\n if (!src.delegateTarget) {\r\n src.delegateTarget = element\r\n }\r\n if (!src.type && src.originalEvent) {\r\n src.type = src.originalEvent.type\r\n }\r\n callback(element, src instanceof eventsEngine.Event ? src : eventsEngine.Event(src), extraParameters)\r\n }\r\n}\r\n\r\nfunction normalizeEventArguments(callback) {\r\n eventsEngine.Event = function(src, config) {\r\n if (!(this instanceof eventsEngine.Event)) {\r\n return new eventsEngine.Event(src, config)\r\n }\r\n if (!src) {\r\n src = {}\r\n }\r\n if (\"string\" === typeof src) {\r\n src = {\r\n type: src\r\n }\r\n }\r\n if (!config) {\r\n config = {}\r\n }\r\n callback.call(this, src, config)\r\n };\r\n _extends(eventsEngine.Event.prototype, {\r\n _propagationStopped: false,\r\n _immediatePropagationStopped: false,\r\n _defaultPrevented: false,\r\n isPropagationStopped: function() {\r\n return !!(this._propagationStopped || this.originalEvent && this.originalEvent.propagationStopped)\r\n },\r\n stopPropagation: function() {\r\n this._propagationStopped = true;\r\n this.originalEvent && this.originalEvent.stopPropagation()\r\n },\r\n isImmediatePropagationStopped: function() {\r\n return this._immediatePropagationStopped\r\n },\r\n stopImmediatePropagation: function() {\r\n this.stopPropagation();\r\n this._immediatePropagationStopped = true;\r\n this.originalEvent && this.originalEvent.stopImmediatePropagation()\r\n },\r\n isDefaultPrevented: function() {\r\n return !!(this._defaultPrevented || this.originalEvent && this.originalEvent.defaultPrevented)\r\n },\r\n preventDefault: function() {\r\n this._defaultPrevented = true;\r\n this.originalEvent && this.originalEvent.preventDefault()\r\n }\r\n });\r\n return eventsEngine.Event\r\n}\r\n\r\nfunction iterate(callback) {\r\n var iterateEventNames = function(element, eventName) {\r\n if (eventName && eventName.indexOf(\" \") > -1) {\r\n var args = Array.prototype.slice.call(arguments, 0);\r\n eventName.split(\" \").forEach((function(eventName) {\r\n args[1] = eventName;\r\n callback.apply(this, args)\r\n }))\r\n } else {\r\n callback.apply(this, arguments)\r\n }\r\n };\r\n return function(element, eventName) {\r\n if (\"object\" === typeof eventName) {\r\n var args = Array.prototype.slice.call(arguments, 0);\r\n for (var name in eventName) {\r\n args[1] = name;\r\n args[args.length - 1] = eventName[name];\r\n iterateEventNames.apply(this, args)\r\n }\r\n } else {\r\n iterateEventNames.apply(this, arguments)\r\n }\r\n }\r\n}\r\n\r\nfunction callNativeMethod(eventName, element) {\r\n var nativeMethodName = NATIVE_EVENTS_TO_TRIGGER[eventName] || eventName;\r\n if (function(eventName, element) {\r\n return \"click\" === eventName && \"a\" === element.localName\r\n }(eventName, element)) {\r\n return\r\n }\r\n if (isFunction(element[nativeMethodName])) {\r\n skipEvent = eventName;\r\n element[nativeMethodName]();\r\n skipEvent = void 0\r\n }\r\n}\r\n\r\nfunction calculateWhich(event) {\r\n if (function(event) {\r\n return null == event.which && 0 === event.type.indexOf(\"key\")\r\n }(event)) {\r\n return null != event.charCode ? event.charCode : event.keyCode\r\n }\r\n if (function(event) {\r\n return !event.which && void 0 !== event.button && /^(?:mouse|pointer|contextmenu|drag|drop)|click/.test(event.type)\r\n }(event)) {\r\n return {\r\n 1: 1,\r\n 2: 3,\r\n 3: 1,\r\n 4: 2\r\n } [event.button]\r\n }\r\n return event.which\r\n}\r\n\r\nfunction initEvent(EventClass) {\r\n if (EventClass) {\r\n eventsEngine.Event = EventClass;\r\n eventsEngine.Event.prototype = EventClass.prototype\r\n }\r\n}\r\ninitEvent(normalizeEventArguments((function(src, config) {\r\n var _src$view;\r\n var srcIsEvent = src instanceof eventsEngine.Event || hasWindow() && src instanceof window.Event || (null === (_src$view = src.view) || void 0 === _src$view ? void 0 : _src$view.Event) && src instanceof src.view.Event;\r\n if (srcIsEvent) {\r\n this.originalEvent = src;\r\n this.type = src.type;\r\n this.currentTarget = void 0;\r\n if (Object.prototype.hasOwnProperty.call(src, \"isTrusted\")) {\r\n this.isTrusted = src.isTrusted\r\n }\r\n this.timeStamp = src.timeStamp || Date.now()\r\n } else {\r\n _extends(this, src)\r\n }\r\n addProperty(\"which\", calculateWhich, this);\r\n if (0 === src.type.indexOf(\"touch\")) {\r\n delete config.pageX;\r\n delete config.pageY\r\n }\r\n _extends(this, config);\r\n this.guid = ++guid\r\n})));\r\n\r\nfunction addProperty(propName, hook, eventInstance) {\r\n Object.defineProperty(eventInstance || eventsEngine.Event.prototype, propName, {\r\n enumerable: true,\r\n configurable: true,\r\n get: function() {\r\n return this.originalEvent && hook(this.originalEvent)\r\n },\r\n set: function(value) {\r\n Object.defineProperty(this, propName, {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: value\r\n })\r\n }\r\n })\r\n}\r\nEVENT_PROPERTIES.forEach(prop => addProperty(prop, event => event[prop]));\r\nhookTouchProps(addProperty);\r\nvar beforeSetStrategy = Callbacks();\r\nvar afterSetStrategy = Callbacks();\r\neventsEngine.set = function(engine) {\r\n beforeSetStrategy.fire();\r\n eventsEngine.inject(engine);\r\n initEvent(engine.Event);\r\n afterSetStrategy.fire()\r\n};\r\neventsEngine.subscribeGlobal = function() {\r\n applyForEach(arguments, normalizeOnArguments((function() {\r\n var args = arguments;\r\n eventsEngine.on.apply(this, args);\r\n beforeSetStrategy.add((function() {\r\n var offArgs = Array.prototype.slice.call(args, 0);\r\n offArgs.splice(3, 1);\r\n eventsEngine.off.apply(this, offArgs)\r\n }));\r\n afterSetStrategy.add((function() {\r\n eventsEngine.on.apply(this, args)\r\n }))\r\n })))\r\n};\r\neventsEngine.forcePassiveFalseEventNames = forcePassiveFalseEventNames;\r\neventsEngine.passiveEventHandlersSupported = passiveEventHandlersSupported;\r\nexport default eventsEngine;\r\n","/**\r\n * DevExtreme (esm/events/core/keyboard_processor.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n addNamespace,\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nvar COMPOSITION_START_EVENT = \"compositionstart\";\r\nvar COMPOSITION_END_EVENT = \"compositionend\";\r\nvar KEYDOWN_EVENT = \"keydown\";\r\nvar NAMESPACE = \"KeyboardProcessor\";\r\nvar createKeyDownOptions = e => ({\r\n keyName: normalizeKeyName(e),\r\n key: e.key,\r\n code: e.code,\r\n ctrl: e.ctrlKey,\r\n location: e.location,\r\n metaKey: e.metaKey,\r\n shift: e.shiftKey,\r\n alt: e.altKey,\r\n which: e.which,\r\n originalEvent: e\r\n});\r\nvar KeyboardProcessor = Class.inherit({\r\n _keydown: addNamespace(KEYDOWN_EVENT, NAMESPACE),\r\n _compositionStart: addNamespace(COMPOSITION_START_EVENT, NAMESPACE),\r\n _compositionEnd: addNamespace(COMPOSITION_END_EVENT, NAMESPACE),\r\n ctor: function(options) {\r\n options = options || {};\r\n if (options.element) {\r\n this._element = $(options.element)\r\n }\r\n if (options.focusTarget) {\r\n this._focusTarget = options.focusTarget\r\n }\r\n this._handler = options.handler;\r\n if (this._element) {\r\n this._processFunction = e => {\r\n var focusTargets = $(this._focusTarget).toArray();\r\n var isNotFocusTarget = this._focusTarget && this._focusTarget !== e.target && !focusTargets.includes(e.target);\r\n var shouldSkipProcessing = this._isComposingJustFinished && 229 === e.which || this._isComposing || isNotFocusTarget;\r\n this._isComposingJustFinished = false;\r\n if (!shouldSkipProcessing) {\r\n this.process(e)\r\n }\r\n };\r\n this._toggleProcessingWithContext = this.toggleProcessing.bind(this);\r\n eventsEngine.on(this._element, this._keydown, this._processFunction);\r\n eventsEngine.on(this._element, this._compositionStart, this._toggleProcessingWithContext);\r\n eventsEngine.on(this._element, this._compositionEnd, this._toggleProcessingWithContext)\r\n }\r\n },\r\n dispose: function() {\r\n if (this._element) {\r\n eventsEngine.off(this._element, this._keydown, this._processFunction);\r\n eventsEngine.off(this._element, this._compositionStart, this._toggleProcessingWithContext);\r\n eventsEngine.off(this._element, this._compositionEnd, this._toggleProcessingWithContext)\r\n }\r\n this._element = void 0;\r\n this._handler = void 0\r\n },\r\n process: function(e) {\r\n this._handler(createKeyDownOptions(e))\r\n },\r\n toggleProcessing: function(_ref) {\r\n var {\r\n type: type\r\n } = _ref;\r\n this._isComposing = type === COMPOSITION_START_EVENT;\r\n this._isComposingJustFinished = !this._isComposing\r\n }\r\n});\r\nKeyboardProcessor.createKeyDownOptions = createKeyDownOptions;\r\nexport default KeyboardProcessor;\r\n","/**\r\n * DevExtreme (esm/events/core/wheel.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport registerEvent from \"./event_registrator\";\r\nimport {\r\n addNamespace,\r\n fireEvent\r\n} from \"../utils/index\";\r\nvar EVENT_NAME = \"dxmousewheel\";\r\nvar EVENT_NAMESPACE = \"dxWheel\";\r\nvar NATIVE_EVENT_NAME = \"wheel\";\r\nvar PIXEL_MODE = 0;\r\nvar DELTA_MUTLIPLIER = 30;\r\nvar wheel = {\r\n setup: function(element) {\r\n var $element = $(element);\r\n eventsEngine.on($element, addNamespace(NATIVE_EVENT_NAME, EVENT_NAMESPACE), wheel._wheelHandler.bind(wheel))\r\n },\r\n teardown: function(element) {\r\n eventsEngine.off(element, \".\".concat(EVENT_NAMESPACE))\r\n },\r\n _wheelHandler: function(e) {\r\n var {\r\n deltaMode: deltaMode,\r\n deltaY: deltaY,\r\n deltaX: deltaX,\r\n deltaZ: deltaZ\r\n } = e.originalEvent;\r\n fireEvent({\r\n type: EVENT_NAME,\r\n originalEvent: e,\r\n delta: this._normalizeDelta(deltaY, deltaMode),\r\n deltaX: deltaX,\r\n deltaY: deltaY,\r\n deltaZ: deltaZ,\r\n deltaMode: deltaMode,\r\n pointerType: \"mouse\"\r\n });\r\n e.stopPropagation()\r\n },\r\n _normalizeDelta(delta) {\r\n var deltaMode = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : PIXEL_MODE;\r\n if (deltaMode === PIXEL_MODE) {\r\n return -delta\r\n } else {\r\n return -DELTA_MUTLIPLIER * delta\r\n }\r\n }\r\n};\r\nregisterEvent(EVENT_NAME, wheel);\r\nexport {\r\n EVENT_NAME as name\r\n};\r\n","/**\r\n * DevExtreme (esm/events/double_click.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n closestCommonParent\r\n} from \"../core/utils/dom\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport Class from \"../core/class\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nimport {\r\n name as clickEventName\r\n} from \"./click\";\r\nimport {\r\n addNamespace,\r\n fireEvent\r\n} from \"./utils/index\";\r\nvar DBLCLICK_EVENT_NAME = \"dxdblclick\";\r\nvar DBLCLICK_NAMESPACE = \"dxDblClick\";\r\nvar NAMESPACED_CLICK_EVENT = addNamespace(clickEventName, DBLCLICK_NAMESPACE);\r\nvar DBLCLICK_TIMEOUT = 300;\r\nvar DblClick = Class.inherit({\r\n ctor: function() {\r\n this._handlerCount = 0;\r\n this._forgetLastClick()\r\n },\r\n _forgetLastClick: function() {\r\n this._firstClickTarget = null;\r\n this._lastClickTimeStamp = -DBLCLICK_TIMEOUT\r\n },\r\n add: function() {\r\n if (this._handlerCount <= 0) {\r\n eventsEngine.on(domAdapter.getDocument(), NAMESPACED_CLICK_EVENT, this._clickHandler.bind(this))\r\n }\r\n this._handlerCount++\r\n },\r\n _clickHandler: function(e) {\r\n var timeStamp = e.timeStamp || Date.now();\r\n var timeBetweenClicks = timeStamp - this._lastClickTimeStamp;\r\n var isSimulated = timeBetweenClicks < 0;\r\n var isDouble = !isSimulated && timeBetweenClicks < DBLCLICK_TIMEOUT;\r\n if (isDouble) {\r\n fireEvent({\r\n type: DBLCLICK_EVENT_NAME,\r\n target: closestCommonParent(this._firstClickTarget, e.target),\r\n originalEvent: e\r\n });\r\n this._forgetLastClick()\r\n } else {\r\n this._firstClickTarget = e.target;\r\n this._lastClickTimeStamp = timeStamp\r\n }\r\n },\r\n remove: function() {\r\n this._handlerCount--;\r\n if (this._handlerCount <= 0) {\r\n this._forgetLastClick();\r\n eventsEngine.off(domAdapter.getDocument(), NAMESPACED_CLICK_EVENT)\r\n }\r\n }\r\n});\r\nregisterEvent(DBLCLICK_EVENT_NAME, new DblClick);\r\nexport {\r\n DBLCLICK_EVENT_NAME as name\r\n};\r\n","/**\r\n * DevExtreme (esm/events/drag.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n data as elementData,\r\n removeData\r\n} from \"../core/element_data\";\r\nimport {\r\n wrapToArray\r\n} from \"../core/utils/array\";\r\nimport * as iteratorUtils from \"../core/utils/iterator\";\r\nimport {\r\n contains\r\n} from \"../core/utils/dom\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nimport {\r\n eventData as eData,\r\n fireEvent\r\n} from \"./utils/index\";\r\nimport GestureEmitter from \"./gesture/emitter.gesture\";\r\nimport registerEmitter from \"./core/emitter_registrator\";\r\nvar DRAG_START_EVENT = \"dxdragstart\";\r\nvar DRAG_EVENT = \"dxdrag\";\r\nvar DRAG_END_EVENT = \"dxdragend\";\r\nvar DRAG_ENTER_EVENT = \"dxdragenter\";\r\nvar DRAG_LEAVE_EVENT = \"dxdragleave\";\r\nvar DROP_EVENT = \"dxdrop\";\r\nvar DX_DRAG_EVENTS_COUNT_KEY = \"dxDragEventsCount\";\r\nvar knownDropTargets = [];\r\nvar knownDropTargetSelectors = [];\r\nvar knownDropTargetConfigs = [];\r\nvar dropTargetRegistration = {\r\n setup: function(element, data) {\r\n var knownDropTarget = knownDropTargets.includes(element);\r\n if (!knownDropTarget) {\r\n knownDropTargets.push(element);\r\n knownDropTargetSelectors.push([]);\r\n knownDropTargetConfigs.push(data || {})\r\n }\r\n },\r\n add: function(element, handleObj) {\r\n var index = knownDropTargets.indexOf(element);\r\n this.updateEventsCounter(element, handleObj.type, 1);\r\n var selector = handleObj.selector;\r\n if (!knownDropTargetSelectors[index].includes(selector)) {\r\n knownDropTargetSelectors[index].push(selector)\r\n }\r\n },\r\n updateEventsCounter: function(element, event, value) {\r\n if ([DRAG_ENTER_EVENT, DRAG_LEAVE_EVENT, DROP_EVENT].indexOf(event) > -1) {\r\n var eventsCount = elementData(element, DX_DRAG_EVENTS_COUNT_KEY) || 0;\r\n elementData(element, DX_DRAG_EVENTS_COUNT_KEY, Math.max(0, eventsCount + value))\r\n }\r\n },\r\n remove: function(element, handleObj) {\r\n this.updateEventsCounter(element, handleObj.type, -1)\r\n },\r\n teardown: function(element) {\r\n var handlersCount = elementData(element, DX_DRAG_EVENTS_COUNT_KEY);\r\n if (!handlersCount) {\r\n var index = knownDropTargets.indexOf(element);\r\n knownDropTargets.splice(index, 1);\r\n knownDropTargetSelectors.splice(index, 1);\r\n knownDropTargetConfigs.splice(index, 1);\r\n removeData(element, DX_DRAG_EVENTS_COUNT_KEY)\r\n }\r\n }\r\n};\r\nregisterEvent(DRAG_ENTER_EVENT, dropTargetRegistration);\r\nregisterEvent(DRAG_LEAVE_EVENT, dropTargetRegistration);\r\nregisterEvent(DROP_EVENT, dropTargetRegistration);\r\nvar getItemDelegatedTargets = function($element) {\r\n var dropTargetIndex = knownDropTargets.indexOf($element.get(0));\r\n var dropTargetSelectors = knownDropTargetSelectors[dropTargetIndex].filter(selector => selector);\r\n var $delegatedTargets = $element.find(dropTargetSelectors.join(\", \"));\r\n if (knownDropTargetSelectors[dropTargetIndex].includes(void 0)) {\r\n $delegatedTargets = $delegatedTargets.add($element)\r\n }\r\n return $delegatedTargets\r\n};\r\nvar getItemConfig = function($element) {\r\n var dropTargetIndex = knownDropTargets.indexOf($element.get(0));\r\n return knownDropTargetConfigs[dropTargetIndex]\r\n};\r\nvar getItemPosition = function(dropTargetConfig, $element) {\r\n if (dropTargetConfig.itemPositionFunc) {\r\n return dropTargetConfig.itemPositionFunc($element)\r\n } else {\r\n return $element.offset()\r\n }\r\n};\r\nvar getItemSize = function(dropTargetConfig, $element) {\r\n if (dropTargetConfig.itemSizeFunc) {\r\n return dropTargetConfig.itemSizeFunc($element)\r\n }\r\n return {\r\n width: $element.get(0).getBoundingClientRect().width,\r\n height: $element.get(0).getBoundingClientRect().height\r\n }\r\n};\r\nvar DragEmitter = GestureEmitter.inherit({\r\n ctor: function(element) {\r\n this.callBase(element);\r\n this.direction = \"both\"\r\n },\r\n _init: function(e) {\r\n this._initEvent = e\r\n },\r\n _start: function(e) {\r\n e = this._fireEvent(DRAG_START_EVENT, this._initEvent);\r\n this._maxLeftOffset = e.maxLeftOffset;\r\n this._maxRightOffset = e.maxRightOffset;\r\n this._maxTopOffset = e.maxTopOffset;\r\n this._maxBottomOffset = e.maxBottomOffset;\r\n if (e.targetElements || null === e.targetElements) {\r\n var dropTargets = wrapToArray(e.targetElements || []);\r\n this._dropTargets = iteratorUtils.map(dropTargets, (function(element) {\r\n return $(element).get(0)\r\n }))\r\n } else {\r\n this._dropTargets = knownDropTargets\r\n }\r\n },\r\n _move: function(e) {\r\n var eventData = eData(e);\r\n var dragOffset = this._calculateOffset(eventData);\r\n e = this._fireEvent(DRAG_EVENT, e, {\r\n offset: dragOffset\r\n });\r\n this._processDropTargets(e);\r\n if (!e._cancelPreventDefault) {\r\n e.preventDefault()\r\n }\r\n },\r\n _calculateOffset: function(eventData) {\r\n return {\r\n x: this._calculateXOffset(eventData),\r\n y: this._calculateYOffset(eventData)\r\n }\r\n },\r\n _calculateXOffset: function(eventData) {\r\n if (\"vertical\" !== this.direction) {\r\n var offset = eventData.x - this._startEventData.x;\r\n return this._fitOffset(offset, this._maxLeftOffset, this._maxRightOffset)\r\n }\r\n return 0\r\n },\r\n _calculateYOffset: function(eventData) {\r\n if (\"horizontal\" !== this.direction) {\r\n var offset = eventData.y - this._startEventData.y;\r\n return this._fitOffset(offset, this._maxTopOffset, this._maxBottomOffset)\r\n }\r\n return 0\r\n },\r\n _fitOffset: function(offset, minOffset, maxOffset) {\r\n if (null != minOffset) {\r\n offset = Math.max(offset, -minOffset)\r\n }\r\n if (null != maxOffset) {\r\n offset = Math.min(offset, maxOffset)\r\n }\r\n return offset\r\n },\r\n _processDropTargets: function(e) {\r\n var target = this._findDropTarget(e);\r\n var sameTarget = target === this._currentDropTarget;\r\n if (!sameTarget) {\r\n this._fireDropTargetEvent(e, DRAG_LEAVE_EVENT);\r\n this._currentDropTarget = target;\r\n this._fireDropTargetEvent(e, DRAG_ENTER_EVENT)\r\n }\r\n },\r\n _fireDropTargetEvent: function(event, eventName) {\r\n if (!this._currentDropTarget) {\r\n return\r\n }\r\n var eventData = {\r\n type: eventName,\r\n originalEvent: event,\r\n draggingElement: this._$element.get(0),\r\n target: this._currentDropTarget\r\n };\r\n fireEvent(eventData)\r\n },\r\n _findDropTarget: function(e) {\r\n var that = this;\r\n var result;\r\n iteratorUtils.each(knownDropTargets, (function(_, target) {\r\n if (!that._checkDropTargetActive(target)) {\r\n return\r\n }\r\n var $target = $(target);\r\n iteratorUtils.each(getItemDelegatedTargets($target), (function(_, delegatedTarget) {\r\n var $delegatedTarget = $(delegatedTarget);\r\n if (that._checkDropTarget(getItemConfig($target), $delegatedTarget, $(result), e)) {\r\n result = delegatedTarget\r\n }\r\n }))\r\n }));\r\n return result\r\n },\r\n _checkDropTargetActive: function(target) {\r\n var active = false;\r\n iteratorUtils.each(this._dropTargets, (function(_, activeTarget) {\r\n active = active || activeTarget === target || contains(activeTarget, target);\r\n return !active\r\n }));\r\n return active\r\n },\r\n _checkDropTarget: function(config, $target, $prevTarget, e) {\r\n var isDraggingElement = $target.get(0) === $(e.target).get(0);\r\n if (isDraggingElement) {\r\n return false\r\n }\r\n var targetPosition = getItemPosition(config, $target);\r\n if (e.pageX < targetPosition.left) {\r\n return false\r\n }\r\n if (e.pageY < targetPosition.top) {\r\n return false\r\n }\r\n var targetSize = getItemSize(config, $target);\r\n if (e.pageX > targetPosition.left + targetSize.width) {\r\n return false\r\n }\r\n if (e.pageY > targetPosition.top + targetSize.height) {\r\n return false\r\n }\r\n if ($prevTarget.length && $prevTarget.closest($target).length) {\r\n return false\r\n }\r\n if (config.checkDropTarget && !config.checkDropTarget($target, e)) {\r\n return false\r\n }\r\n return $target\r\n },\r\n _end: function(e) {\r\n var eventData = eData(e);\r\n this._fireEvent(DRAG_END_EVENT, e, {\r\n offset: this._calculateOffset(eventData)\r\n });\r\n this._fireDropTargetEvent(e, DROP_EVENT);\r\n delete this._currentDropTarget\r\n }\r\n});\r\nregisterEmitter({\r\n emitter: DragEmitter,\r\n events: [DRAG_START_EVENT, DRAG_EVENT, DRAG_END_EVENT]\r\n});\r\nexport {\r\n DRAG_EVENT as move, DRAG_START_EVENT as start, DRAG_END_EVENT as end, DRAG_ENTER_EVENT as enter, DRAG_LEAVE_EVENT as leave, DROP_EVENT as drop\r\n};\r\n","/**\r\n * DevExtreme (esm/events/gesture/emitter.gesture.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n styleProp\r\n} from \"../../core/utils/style\";\r\nimport callOnce from \"../../core/utils/call_once\";\r\nimport {\r\n resetActiveElement,\r\n clearSelection\r\n} from \"../../core/utils/dom\";\r\nimport readyCallbacks from \"../../core/utils/ready_callbacks\";\r\nvar ready = readyCallbacks.add;\r\nimport {\r\n sign\r\n} from \"../../core/utils/math\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n needSkipEvent,\r\n createEvent,\r\n eventData,\r\n isDxMouseWheelEvent,\r\n eventDelta,\r\n isTouchEvent\r\n} from \"../utils/index\";\r\nimport Emitter from \"../core/emitter\";\r\nvar abs = Math.abs;\r\nvar SLEEP = 0;\r\nvar INITED = 1;\r\nvar STARTED = 2;\r\nvar TOUCH_BOUNDARY = 10;\r\nvar IMMEDIATE_TOUCH_BOUNDARY = 0;\r\nvar IMMEDIATE_TIMEOUT = 180;\r\nvar supportPointerEvents = function() {\r\n return styleProp(\"pointer-events\")\r\n};\r\nvar setGestureCover = callOnce((function() {\r\n var isDesktop = \"desktop\" === devices.real().deviceType;\r\n if (!supportPointerEvents() || !isDesktop) {\r\n return noop\r\n }\r\n var $cover = $(\"
    \").addClass(\"dx-gesture-cover\").css(\"pointerEvents\", \"none\");\r\n eventsEngine.subscribeGlobal($cover, \"dxmousewheel\", (function(e) {\r\n e.preventDefault()\r\n }));\r\n ready((function() {\r\n $cover.appendTo(\"body\")\r\n }));\r\n return function(toggle, cursor) {\r\n $cover.css(\"pointerEvents\", toggle ? \"all\" : \"none\");\r\n toggle && $cover.css(\"cursor\", cursor)\r\n }\r\n}));\r\nvar gestureCover = function(toggle, cursor) {\r\n var gestureCoverStrategy = setGestureCover();\r\n gestureCoverStrategy(toggle, cursor)\r\n};\r\nvar GestureEmitter = Emitter.inherit({\r\n gesture: true,\r\n configure: function(data) {\r\n this.getElement().css(\"msTouchAction\", data.immediate ? \"pinch-zoom\" : \"\");\r\n this.callBase(data)\r\n },\r\n allowInterruptionByMouseWheel: function() {\r\n return this._stage !== STARTED\r\n },\r\n getDirection: function() {\r\n return this.direction\r\n },\r\n _cancel: function() {\r\n this.callBase.apply(this, arguments);\r\n this._toggleGestureCover(false);\r\n this._stage = SLEEP\r\n },\r\n start: function(e) {\r\n if (e._needSkipEvent || needSkipEvent(e)) {\r\n this._cancel(e);\r\n return\r\n }\r\n this._startEvent = createEvent(e);\r\n this._startEventData = eventData(e);\r\n this._stage = INITED;\r\n this._init(e);\r\n this._setupImmediateTimer()\r\n },\r\n _setupImmediateTimer: function() {\r\n var _this$immediateTimeou;\r\n clearTimeout(this._immediateTimer);\r\n this._immediateAccepted = false;\r\n if (!this.immediate) {\r\n return\r\n }\r\n if (0 === this.immediateTimeout) {\r\n this._immediateAccepted = true;\r\n return\r\n }\r\n this._immediateTimer = setTimeout(function() {\r\n this._immediateAccepted = true\r\n }.bind(this), null !== (_this$immediateTimeou = this.immediateTimeout) && void 0 !== _this$immediateTimeou ? _this$immediateTimeou : IMMEDIATE_TIMEOUT)\r\n },\r\n move: function(e) {\r\n if (this._stage === INITED && this._directionConfirmed(e)) {\r\n this._stage = STARTED;\r\n this._resetActiveElement();\r\n this._toggleGestureCover(true);\r\n this._clearSelection(e);\r\n this._adjustStartEvent(e);\r\n this._start(this._startEvent);\r\n if (this._stage === SLEEP) {\r\n return\r\n }\r\n this._requestAccept(e);\r\n this._move(e);\r\n this._forgetAccept()\r\n } else if (this._stage === STARTED) {\r\n this._clearSelection(e);\r\n this._move(e)\r\n }\r\n },\r\n _directionConfirmed: function(e) {\r\n var touchBoundary = this._getTouchBoundary(e);\r\n var delta = eventDelta(this._startEventData, eventData(e));\r\n var deltaX = abs(delta.x);\r\n var deltaY = abs(delta.y);\r\n var horizontalMove = this._validateMove(touchBoundary, deltaX, deltaY);\r\n var verticalMove = this._validateMove(touchBoundary, deltaY, deltaX);\r\n var direction = this.getDirection(e);\r\n var bothAccepted = \"both\" === direction && (horizontalMove || verticalMove);\r\n var horizontalAccepted = \"horizontal\" === direction && horizontalMove;\r\n var verticalAccepted = \"vertical\" === direction && verticalMove;\r\n return bothAccepted || horizontalAccepted || verticalAccepted || this._immediateAccepted\r\n },\r\n _validateMove: function(touchBoundary, mainAxis, crossAxis) {\r\n return mainAxis && mainAxis >= touchBoundary && (this.immediate ? mainAxis >= crossAxis : true)\r\n },\r\n _getTouchBoundary: function(e) {\r\n return this.immediate || isDxMouseWheelEvent(e) ? IMMEDIATE_TOUCH_BOUNDARY : TOUCH_BOUNDARY\r\n },\r\n _adjustStartEvent: function(e) {\r\n var touchBoundary = this._getTouchBoundary(e);\r\n var delta = eventDelta(this._startEventData, eventData(e));\r\n this._startEvent.pageX += sign(delta.x) * touchBoundary;\r\n this._startEvent.pageY += sign(delta.y) * touchBoundary\r\n },\r\n _resetActiveElement: function() {\r\n if (\"ios\" === devices.real().platform && this.getElement().find(\":focus\").length) {\r\n resetActiveElement()\r\n }\r\n },\r\n _toggleGestureCover: function(toggle) {\r\n this._toggleGestureCoverImpl(toggle)\r\n },\r\n _toggleGestureCoverImpl: function(toggle) {\r\n var isStarted = this._stage === STARTED;\r\n if (isStarted) {\r\n gestureCover(toggle, this.getElement().css(\"cursor\"))\r\n }\r\n },\r\n _clearSelection: function(e) {\r\n if (isDxMouseWheelEvent(e) || isTouchEvent(e)) {\r\n return\r\n }\r\n clearSelection()\r\n },\r\n end: function(e) {\r\n this._toggleGestureCover(false);\r\n if (this._stage === STARTED) {\r\n this._end(e)\r\n } else if (this._stage === INITED) {\r\n this._stop(e)\r\n }\r\n this._stage = SLEEP\r\n },\r\n dispose: function() {\r\n clearTimeout(this._immediateTimer);\r\n this.callBase.apply(this, arguments);\r\n this._toggleGestureCover(false)\r\n },\r\n _init: noop,\r\n _start: noop,\r\n _move: noop,\r\n _stop: noop,\r\n _end: noop\r\n});\r\nGestureEmitter.initialTouchBoundary = TOUCH_BOUNDARY;\r\nGestureEmitter.touchBoundary = function(newBoundary) {\r\n if (isDefined(newBoundary)) {\r\n TOUCH_BOUNDARY = newBoundary;\r\n return\r\n }\r\n return TOUCH_BOUNDARY\r\n};\r\nexport default GestureEmitter;\r\n","/**\r\n * DevExtreme (esm/events/gesture/emitter.gesture.scroll.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Class from \"../../core/class\";\r\nvar abstract = Class.abstract;\r\nimport {\r\n addNamespace,\r\n isDxMouseWheelEvent,\r\n isMouseEvent,\r\n eventData,\r\n eventDelta\r\n} from \"../../events/utils/index\";\r\nimport GestureEmitter from \"../../events/gesture/emitter.gesture\";\r\nimport registerEmitter from \"../../events/core/emitter_registrator\";\r\nimport {\r\n requestAnimationFrame,\r\n cancelAnimationFrame\r\n} from \"../../animation/frame\";\r\nimport devices from \"../../core/devices\";\r\nvar realDevice = devices.real();\r\nvar SCROLL_EVENT = \"scroll\";\r\nvar SCROLL_INIT_EVENT = \"dxscrollinit\";\r\nvar SCROLL_START_EVENT = \"dxscrollstart\";\r\nvar SCROLL_MOVE_EVENT = \"dxscroll\";\r\nvar SCROLL_END_EVENT = \"dxscrollend\";\r\nvar SCROLL_STOP_EVENT = \"dxscrollstop\";\r\nvar SCROLL_CANCEL_EVENT = \"dxscrollcancel\";\r\nvar Locker = Class.inherit(function() {\r\n var NAMESPACED_SCROLL_EVENT = addNamespace(SCROLL_EVENT, \"dxScrollEmitter\");\r\n return {\r\n ctor: function(element) {\r\n this._element = element;\r\n this._locked = false;\r\n this._proxiedScroll = e => {\r\n if (!this._disposed) {\r\n this._scroll(e)\r\n }\r\n };\r\n eventsEngine.on(this._element, NAMESPACED_SCROLL_EVENT, this._proxiedScroll)\r\n },\r\n _scroll: abstract,\r\n check: function(e, callback) {\r\n if (this._locked) {\r\n callback()\r\n }\r\n },\r\n dispose: function() {\r\n this._disposed = true;\r\n eventsEngine.off(this._element, NAMESPACED_SCROLL_EVENT, this._proxiedScroll)\r\n }\r\n }\r\n}());\r\nvar TimeoutLocker = Locker.inherit({\r\n ctor: function(element, timeout) {\r\n this.callBase(element);\r\n this._timeout = timeout\r\n },\r\n _scroll: function() {\r\n this._prepare();\r\n this._forget()\r\n },\r\n _prepare: function() {\r\n if (this._timer) {\r\n this._clearTimer()\r\n }\r\n this._locked = true\r\n },\r\n _clearTimer: function() {\r\n clearTimeout(this._timer);\r\n this._locked = false;\r\n this._timer = null\r\n },\r\n _forget: function() {\r\n var that = this;\r\n this._timer = setTimeout((function() {\r\n that._clearTimer()\r\n }), this._timeout)\r\n },\r\n dispose: function() {\r\n this.callBase();\r\n this._clearTimer()\r\n }\r\n});\r\nvar WheelLocker = TimeoutLocker.inherit({\r\n ctor: function(element) {\r\n this.callBase(element, 400);\r\n this._lastWheelDirection = null\r\n },\r\n check: function(e, callback) {\r\n this._checkDirectionChanged(e);\r\n this.callBase(e, callback)\r\n },\r\n _checkDirectionChanged: function(e) {\r\n if (!isDxMouseWheelEvent(e)) {\r\n this._lastWheelDirection = null;\r\n return\r\n }\r\n var direction = e.shiftKey || false;\r\n var directionChange = null !== this._lastWheelDirection && direction !== this._lastWheelDirection;\r\n this._lastWheelDirection = direction;\r\n this._locked = this._locked && !directionChange\r\n }\r\n});\r\nvar PointerLocker = TimeoutLocker.inherit({\r\n ctor: function(element) {\r\n this.callBase(element, 400)\r\n }\r\n});\r\n! function() {\r\n var {\r\n ios: isIos,\r\n android: isAndroid\r\n } = realDevice;\r\n if (!(isIos || isAndroid)) {\r\n return\r\n }\r\n PointerLocker = Locker.inherit({\r\n _scroll: function() {\r\n this._locked = true;\r\n var that = this;\r\n cancelAnimationFrame(this._scrollFrame);\r\n this._scrollFrame = requestAnimationFrame((function() {\r\n that._locked = false\r\n }))\r\n },\r\n check: function(e, callback) {\r\n cancelAnimationFrame(this._scrollFrame);\r\n cancelAnimationFrame(this._checkFrame);\r\n var that = this;\r\n var callBase = this.callBase;\r\n this._checkFrame = requestAnimationFrame((function() {\r\n callBase.call(that, e, callback);\r\n that._locked = false\r\n }))\r\n },\r\n dispose: function() {\r\n this.callBase();\r\n cancelAnimationFrame(this._scrollFrame);\r\n cancelAnimationFrame(this._checkFrame)\r\n }\r\n })\r\n}();\r\nvar ScrollEmitter = GestureEmitter.inherit(function() {\r\n var FRAME_DURATION = Math.round(1e3 / 60);\r\n return {\r\n ctor: function(element) {\r\n this.callBase.apply(this, arguments);\r\n this.direction = \"both\";\r\n this._pointerLocker = new PointerLocker(element);\r\n this._wheelLocker = new WheelLocker(element)\r\n },\r\n validate: function() {\r\n return true\r\n },\r\n configure: function(data) {\r\n if (data.scrollTarget) {\r\n this._pointerLocker.dispose();\r\n this._wheelLocker.dispose();\r\n this._pointerLocker = new PointerLocker(data.scrollTarget);\r\n this._wheelLocker = new WheelLocker(data.scrollTarget)\r\n }\r\n this.callBase(data)\r\n },\r\n _init: function(e) {\r\n this._wheelLocker.check(e, function() {\r\n if (isDxMouseWheelEvent(e)) {\r\n this._accept(e)\r\n }\r\n }.bind(this));\r\n this._pointerLocker.check(e, function() {\r\n var skipCheck = this.isNative && isMouseEvent(e);\r\n if (!isDxMouseWheelEvent(e) && !skipCheck) {\r\n this._accept(e)\r\n }\r\n }.bind(this));\r\n this._fireEvent(SCROLL_INIT_EVENT, e);\r\n this._prevEventData = eventData(e)\r\n },\r\n move: function(e) {\r\n this.callBase.apply(this, arguments);\r\n e.isScrollingEvent = this.isNative || e.isScrollingEvent\r\n },\r\n _start: function(e) {\r\n this._savedEventData = eventData(e);\r\n this._fireEvent(SCROLL_START_EVENT, e);\r\n this._prevEventData = eventData(e)\r\n },\r\n _move: function(e) {\r\n var currentEventData = eventData(e);\r\n this._fireEvent(SCROLL_MOVE_EVENT, e, {\r\n delta: eventDelta(this._prevEventData, currentEventData)\r\n });\r\n var delta = eventDelta(this._savedEventData, currentEventData);\r\n if (delta.time > 200) {\r\n this._savedEventData = this._prevEventData\r\n }\r\n this._prevEventData = eventData(e)\r\n },\r\n _end: function(e) {\r\n var endEventDelta = eventDelta(this._prevEventData, eventData(e));\r\n var velocity = {\r\n x: 0,\r\n y: 0\r\n };\r\n if (!isDxMouseWheelEvent(e) && endEventDelta.time < 100) {\r\n var delta = eventDelta(this._savedEventData, this._prevEventData);\r\n var velocityMultiplier = FRAME_DURATION / delta.time;\r\n velocity = {\r\n x: delta.x * velocityMultiplier,\r\n y: delta.y * velocityMultiplier\r\n }\r\n }\r\n this._fireEvent(SCROLL_END_EVENT, e, {\r\n velocity: velocity\r\n })\r\n },\r\n _stop: function(e) {\r\n this._fireEvent(SCROLL_STOP_EVENT, e)\r\n },\r\n cancel: function(e) {\r\n this.callBase.apply(this, arguments);\r\n this._fireEvent(SCROLL_CANCEL_EVENT, e)\r\n },\r\n dispose: function() {\r\n this.callBase.apply(this, arguments);\r\n this._pointerLocker.dispose();\r\n this._wheelLocker.dispose()\r\n },\r\n _clearSelection: function() {\r\n if (this.isNative) {\r\n return\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _toggleGestureCover: function() {\r\n if (this.isNative) {\r\n return\r\n }\r\n return this.callBase.apply(this, arguments)\r\n }\r\n }\r\n}());\r\nregisterEmitter({\r\n emitter: ScrollEmitter,\r\n events: [SCROLL_INIT_EVENT, SCROLL_START_EVENT, SCROLL_MOVE_EVENT, SCROLL_END_EVENT, SCROLL_STOP_EVENT, SCROLL_CANCEL_EVENT]\r\n});\r\nexport default {\r\n init: SCROLL_INIT_EVENT,\r\n start: SCROLL_START_EVENT,\r\n move: SCROLL_MOVE_EVENT,\r\n end: SCROLL_END_EVENT,\r\n stop: SCROLL_STOP_EVENT,\r\n cancel: SCROLL_CANCEL_EVENT,\r\n scroll: SCROLL_EVENT\r\n};\r\n","/**\r\n * DevExtreme (esm/events/gesture/swipeable.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n start as swipeEventStart,\r\n swipe as swipeEventSwipe,\r\n end as swipeEventEnd\r\n} from \"../swipe\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport DOMComponent from \"../../core/dom_component\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n addNamespace\r\n} from \"../utils/index\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n name\r\n} from \"../../core/utils/public_component\";\r\nvar DX_SWIPEABLE = \"dxSwipeable\";\r\nvar SWIPEABLE_CLASS = \"dx-swipeable\";\r\nvar ACTION_TO_EVENT_MAP = {\r\n onStart: swipeEventStart,\r\n onUpdated: swipeEventSwipe,\r\n onEnd: swipeEventEnd,\r\n onCancel: \"dxswipecancel\"\r\n};\r\nvar IMMEDIATE_TIMEOUT = 180;\r\nvar Swipeable = DOMComponent.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n elastic: true,\r\n immediate: false,\r\n immediateTimeout: IMMEDIATE_TIMEOUT,\r\n direction: \"horizontal\",\r\n itemSizeFunc: null,\r\n onStart: null,\r\n onUpdated: null,\r\n onEnd: null,\r\n onCancel: null\r\n })\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this.$element().addClass(SWIPEABLE_CLASS);\r\n this._attachEventHandlers()\r\n },\r\n _attachEventHandlers: function() {\r\n this._detachEventHandlers();\r\n if (this.option(\"disabled\")) {\r\n return\r\n }\r\n var NAME = this.NAME;\r\n this._createEventData();\r\n each(ACTION_TO_EVENT_MAP, function(actionName, eventName) {\r\n var action = this._createActionByOption(actionName, {\r\n context: this\r\n });\r\n eventName = addNamespace(eventName, NAME);\r\n eventsEngine.on(this.$element(), eventName, this._eventData, (function(e) {\r\n return action({\r\n event: e\r\n })\r\n }))\r\n }.bind(this))\r\n },\r\n _createEventData: function() {\r\n this._eventData = {\r\n elastic: this.option(\"elastic\"),\r\n itemSizeFunc: this.option(\"itemSizeFunc\"),\r\n direction: this.option(\"direction\"),\r\n immediate: this.option(\"immediate\"),\r\n immediateTimeout: this.option(\"immediateTimeout\")\r\n }\r\n },\r\n _detachEventHandlers: function() {\r\n eventsEngine.off(this.$element(), \".\" + DX_SWIPEABLE)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"disabled\":\r\n case \"onStart\":\r\n case \"onUpdated\":\r\n case \"onEnd\":\r\n case \"onCancel\":\r\n case \"elastic\":\r\n case \"immediate\":\r\n case \"itemSizeFunc\":\r\n case \"direction\":\r\n this._detachEventHandlers();\r\n this._attachEventHandlers();\r\n break;\r\n case \"rtlEnabled\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _useTemplates: function() {\r\n return false\r\n }\r\n});\r\nname(Swipeable, DX_SWIPEABLE);\r\nexport default Swipeable;\r\n","/**\r\n * DevExtreme (esm/events/hold.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n eventData,\r\n eventDelta\r\n} from \"./utils/index\";\r\nimport Emitter from \"./core/emitter\";\r\nimport registerEmitter from \"./core/emitter_registrator\";\r\nvar abs = Math.abs;\r\nvar HOLD_EVENT_NAME = \"dxhold\";\r\nvar HOLD_TIMEOUT = 750;\r\nvar TOUCH_BOUNDARY = 5;\r\nvar HoldEmitter = Emitter.inherit({\r\n start: function(e) {\r\n this._startEventData = eventData(e);\r\n this._startTimer(e)\r\n },\r\n _startTimer: function(e) {\r\n var holdTimeout = \"timeout\" in this ? this.timeout : HOLD_TIMEOUT;\r\n this._holdTimer = setTimeout(function() {\r\n this._requestAccept(e);\r\n this._fireEvent(HOLD_EVENT_NAME, e, {\r\n target: e.target\r\n });\r\n this._forgetAccept()\r\n }.bind(this), holdTimeout)\r\n },\r\n move: function(e) {\r\n if (this._touchWasMoved(e)) {\r\n this._cancel(e)\r\n }\r\n },\r\n _touchWasMoved: function(e) {\r\n var delta = eventDelta(this._startEventData, eventData(e));\r\n return abs(delta.x) > TOUCH_BOUNDARY || abs(delta.y) > TOUCH_BOUNDARY\r\n },\r\n end: function() {\r\n this._stopTimer()\r\n },\r\n _stopTimer: function() {\r\n clearTimeout(this._holdTimer)\r\n },\r\n cancel: function() {\r\n this._stopTimer()\r\n },\r\n dispose: function() {\r\n this._stopTimer()\r\n }\r\n});\r\nregisterEmitter({\r\n emitter: HoldEmitter,\r\n bubble: true,\r\n events: [HOLD_EVENT_NAME]\r\n});\r\nexport default {\r\n name: HOLD_EVENT_NAME\r\n};\r\n","/**\r\n * DevExtreme (esm/events/hover.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n removeData,\r\n data as elementData\r\n} from \"../core/element_data\";\r\nimport Class from \"../core/class\";\r\nimport devices from \"../core/devices\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nimport {\r\n addNamespace,\r\n isTouchEvent,\r\n fireEvent\r\n} from \"./utils/index\";\r\nimport pointerEvents from \"./pointer\";\r\nvar HOVERSTART_NAMESPACE = \"dxHoverStart\";\r\nvar HOVERSTART = \"dxhoverstart\";\r\nvar POINTERENTER_NAMESPACED_EVENT_NAME = addNamespace(pointerEvents.enter, HOVERSTART_NAMESPACE);\r\nvar HOVEREND_NAMESPACE = \"dxHoverEnd\";\r\nvar HOVEREND = \"dxhoverend\";\r\nvar POINTERLEAVE_NAMESPACED_EVENT_NAME = addNamespace(pointerEvents.leave, HOVEREND_NAMESPACE);\r\nvar Hover = Class.inherit({\r\n noBubble: true,\r\n ctor: function() {\r\n this._handlerArrayKeyPath = this._eventNamespace + \"_HandlerStore\"\r\n },\r\n setup: function(element) {\r\n elementData(element, this._handlerArrayKeyPath, {})\r\n },\r\n add: function(element, handleObj) {\r\n var that = this;\r\n var handler = function(e) {\r\n that._handler(e)\r\n };\r\n eventsEngine.on(element, this._originalEventName, handleObj.selector, handler);\r\n elementData(element, this._handlerArrayKeyPath)[handleObj.guid] = handler\r\n },\r\n _handler: function(e) {\r\n if (isTouchEvent(e) || devices.isSimulator()) {\r\n return\r\n }\r\n fireEvent({\r\n type: this._eventName,\r\n originalEvent: e,\r\n delegateTarget: e.delegateTarget\r\n })\r\n },\r\n remove: function(element, handleObj) {\r\n var handler = elementData(element, this._handlerArrayKeyPath)[handleObj.guid];\r\n eventsEngine.off(element, this._originalEventName, handleObj.selector, handler)\r\n },\r\n teardown: function(element) {\r\n removeData(element, this._handlerArrayKeyPath)\r\n }\r\n});\r\nvar HoverStart = Hover.inherit({\r\n ctor: function() {\r\n this._eventNamespace = HOVERSTART_NAMESPACE;\r\n this._eventName = HOVERSTART;\r\n this._originalEventName = POINTERENTER_NAMESPACED_EVENT_NAME;\r\n this.callBase()\r\n },\r\n _handler: function(e) {\r\n var pointers = e.pointers || [];\r\n if (!pointers.length) {\r\n this.callBase(e)\r\n }\r\n }\r\n});\r\nvar HoverEnd = Hover.inherit({\r\n ctor: function() {\r\n this._eventNamespace = HOVEREND_NAMESPACE;\r\n this._eventName = HOVEREND;\r\n this._originalEventName = POINTERLEAVE_NAMESPACED_EVENT_NAME;\r\n this.callBase()\r\n }\r\n});\r\nregisterEvent(HOVERSTART, new HoverStart);\r\nregisterEvent(HOVEREND, new HoverEnd);\r\nexport {\r\n HOVERSTART as start, HOVEREND as end\r\n};\r\n","/**\r\n * DevExtreme (esm/events/index.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"./core/events_engine\";\r\nexport var on = eventsEngine.on;\r\nexport var one = eventsEngine.one;\r\nexport var off = eventsEngine.off;\r\nexport var trigger = eventsEngine.trigger;\r\nexport var triggerHandler = eventsEngine.triggerHandler;\r\nexport var Event = eventsEngine.Event;\r\n","/**\r\n * DevExtreme (esm/events/pointer/base.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n addNamespace,\r\n eventSource,\r\n fireEvent\r\n} from \"../utils/index\";\r\nvar POINTER_EVENTS_NAMESPACE = \"dxPointerEvents\";\r\nvar BaseStrategy = Class.inherit({\r\n ctor: function(eventName, originalEvents) {\r\n this._eventName = eventName;\r\n this._originalEvents = addNamespace(originalEvents, POINTER_EVENTS_NAMESPACE);\r\n this._handlerCount = 0;\r\n this.noBubble = this._isNoBubble()\r\n },\r\n _isNoBubble: function() {\r\n var eventName = this._eventName;\r\n return \"dxpointerenter\" === eventName || \"dxpointerleave\" === eventName\r\n },\r\n _handler: function(e) {\r\n var _originalEvent$target;\r\n var delegateTarget = this._getDelegateTarget(e);\r\n var event = {\r\n type: this._eventName,\r\n pointerType: e.pointerType || eventSource(e),\r\n originalEvent: e,\r\n delegateTarget: delegateTarget,\r\n timeStamp: browser.mozilla ? (new Date).getTime() : e.timeStamp\r\n };\r\n var originalEvent = e.originalEvent;\r\n if (null !== originalEvent && void 0 !== originalEvent && null !== (_originalEvent$target = originalEvent.target) && void 0 !== _originalEvent$target && _originalEvent$target.shadowRoot) {\r\n var _originalEvent$path, _originalEvent$compos;\r\n var path = null !== (_originalEvent$path = originalEvent.path) && void 0 !== _originalEvent$path ? _originalEvent$path : null === (_originalEvent$compos = originalEvent.composedPath) || void 0 === _originalEvent$compos ? void 0 : _originalEvent$compos.call(originalEvent);\r\n event.target = path[0]\r\n }\r\n return this._fireEvent(event)\r\n },\r\n _getDelegateTarget: function(e) {\r\n var delegateTarget;\r\n if (this.noBubble) {\r\n delegateTarget = e.delegateTarget\r\n }\r\n return delegateTarget\r\n },\r\n _fireEvent: function(args) {\r\n return fireEvent(args)\r\n },\r\n _setSelector: function(handleObj) {\r\n this._selector = this.noBubble && handleObj ? handleObj.selector : null\r\n },\r\n _getSelector: function() {\r\n return this._selector\r\n },\r\n setup: function() {\r\n return true\r\n },\r\n add: function(element, handleObj) {\r\n if (this._handlerCount <= 0 || this.noBubble) {\r\n element = this.noBubble ? element : domAdapter.getDocument();\r\n this._setSelector(handleObj);\r\n var that = this;\r\n eventsEngine.on(element, this._originalEvents, this._getSelector(), (function(e) {\r\n that._handler(e)\r\n }))\r\n }\r\n if (!this.noBubble) {\r\n this._handlerCount++\r\n }\r\n },\r\n remove: function(handleObj) {\r\n this._setSelector(handleObj);\r\n if (!this.noBubble) {\r\n this._handlerCount--\r\n }\r\n },\r\n teardown: function(element) {\r\n if (this._handlerCount && !this.noBubble) {\r\n return\r\n }\r\n element = this.noBubble ? element : domAdapter.getDocument();\r\n if (this._originalEvents !== \".\" + POINTER_EVENTS_NAMESPACE) {\r\n eventsEngine.off(element, this._originalEvents, this._getSelector())\r\n }\r\n },\r\n dispose: function(element) {\r\n element = this.noBubble ? element : domAdapter.getDocument();\r\n eventsEngine.off(element, this._originalEvents)\r\n }\r\n});\r\nexport default BaseStrategy;\r\n","/**\r\n * DevExtreme (esm/events/pointer/touch.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport BaseStrategy from \"./base\";\r\nvar eventMap = {\r\n dxpointerdown: \"touchstart\",\r\n dxpointermove: \"touchmove\",\r\n dxpointerup: \"touchend\",\r\n dxpointercancel: \"touchcancel\",\r\n dxpointerover: \"\",\r\n dxpointerout: \"\",\r\n dxpointerenter: \"\",\r\n dxpointerleave: \"\"\r\n};\r\nvar normalizeTouchEvent = function(e) {\r\n var pointers = [];\r\n each(e.touches, (function(_, touch) {\r\n pointers.push(extend({\r\n pointerId: touch.identifier\r\n }, touch))\r\n }));\r\n return {\r\n pointers: pointers,\r\n pointerId: e.changedTouches[0].identifier\r\n }\r\n};\r\nvar skipTouchWithSameIdentifier = function(pointerEvent) {\r\n return \"ios\" === devices.real().platform && (\"dxpointerdown\" === pointerEvent || \"dxpointerup\" === pointerEvent)\r\n};\r\nvar TouchStrategy = BaseStrategy.inherit({\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n this._pointerId = 0\r\n },\r\n _handler: function(e) {\r\n if (skipTouchWithSameIdentifier(this._eventName)) {\r\n var touch = e.changedTouches[0];\r\n if (this._pointerId === touch.identifier && 0 !== this._pointerId) {\r\n return\r\n }\r\n this._pointerId = touch.identifier\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _fireEvent: function(args) {\r\n return this.callBase(extend(normalizeTouchEvent(args.originalEvent), args))\r\n }\r\n});\r\nTouchStrategy.map = eventMap;\r\nTouchStrategy.normalize = normalizeTouchEvent;\r\nexport default TouchStrategy;\r\n","/**\r\n * DevExtreme (esm/events/pointer/observer.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport readyCallbacks from \"../../core/utils/ready_callbacks\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nvar addEventsListener = function(events, handler) {\r\n readyCallbacks.add((function() {\r\n events.split(\" \").forEach((function(event) {\r\n domAdapter.listen(domAdapter.getDocument(), event, handler, true)\r\n }))\r\n }))\r\n};\r\nvar Observer = function(eventMap, pointerEquals, onPointerAdding) {\r\n onPointerAdding = onPointerAdding || function() {};\r\n var pointers = [];\r\n var getPointerIndex = function(e) {\r\n var index = -1;\r\n each(pointers, (function(i, pointer) {\r\n if (!pointerEquals(e, pointer)) {\r\n return true\r\n }\r\n index = i;\r\n return false\r\n }));\r\n return index\r\n };\r\n var removePointer = function(e) {\r\n var index = getPointerIndex(e);\r\n if (index > -1) {\r\n pointers.splice(index, 1)\r\n }\r\n };\r\n addEventsListener(eventMap.dxpointerdown, (function(e) {\r\n if (-1 === getPointerIndex(e)) {\r\n onPointerAdding(e);\r\n pointers.push(e)\r\n }\r\n }));\r\n addEventsListener(eventMap.dxpointermove, (function(e) {\r\n pointers[getPointerIndex(e)] = e\r\n }));\r\n addEventsListener(eventMap.dxpointerup, removePointer);\r\n addEventsListener(eventMap.dxpointercancel, removePointer);\r\n this.pointers = function() {\r\n return pointers\r\n };\r\n this.reset = function() {\r\n pointers = []\r\n }\r\n};\r\nexport default Observer;\r\n","/**\r\n * DevExtreme (esm/events/pointer/mouse.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport BaseStrategy from \"./base\";\r\nimport Observer from \"./observer\";\r\nvar eventMap = {\r\n dxpointerdown: \"mousedown\",\r\n dxpointermove: \"mousemove\",\r\n dxpointerup: \"mouseup\",\r\n dxpointercancel: \"\",\r\n dxpointerover: \"mouseover\",\r\n dxpointerout: \"mouseout\",\r\n dxpointerenter: \"mouseenter\",\r\n dxpointerleave: \"mouseleave\"\r\n};\r\nvar normalizeMouseEvent = function(e) {\r\n e.pointerId = 1;\r\n return {\r\n pointers: observer.pointers(),\r\n pointerId: 1\r\n }\r\n};\r\nvar observer;\r\nvar activated = false;\r\nvar activateStrategy = function() {\r\n if (activated) {\r\n return\r\n }\r\n observer = new Observer(eventMap, (function() {\r\n return true\r\n }));\r\n activated = true\r\n};\r\nvar MouseStrategy = BaseStrategy.inherit({\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n activateStrategy()\r\n },\r\n _fireEvent: function(args) {\r\n return this.callBase(extend(normalizeMouseEvent(args.originalEvent), args))\r\n }\r\n});\r\nMouseStrategy.map = eventMap;\r\nMouseStrategy.normalize = normalizeMouseEvent;\r\nMouseStrategy.activate = activateStrategy;\r\nMouseStrategy.resetObserver = function() {\r\n observer.reset()\r\n};\r\nexport default MouseStrategy;\r\n","/**\r\n * DevExtreme (esm/events/pointer/mouse_and_touch.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport BaseStrategy from \"./base\";\r\nimport MouseStrategy from \"./mouse\";\r\nimport TouchStrategy from \"./touch\";\r\nimport {\r\n isMouseEvent\r\n} from \"../utils/index\";\r\nvar eventMap = {\r\n dxpointerdown: \"touchstart mousedown\",\r\n dxpointermove: \"touchmove mousemove\",\r\n dxpointerup: \"touchend mouseup\",\r\n dxpointercancel: \"touchcancel\",\r\n dxpointerover: \"mouseover\",\r\n dxpointerout: \"mouseout\",\r\n dxpointerenter: \"mouseenter\",\r\n dxpointerleave: \"mouseleave\"\r\n};\r\nvar activated = false;\r\nvar activateStrategy = function() {\r\n if (activated) {\r\n return\r\n }\r\n MouseStrategy.activate();\r\n activated = true\r\n};\r\nvar MouseAndTouchStrategy = BaseStrategy.inherit({\r\n EVENT_LOCK_TIMEOUT: 100,\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n activateStrategy()\r\n },\r\n _handler: function(e) {\r\n var isMouse = isMouseEvent(e);\r\n if (!isMouse) {\r\n this._skipNextEvents = true\r\n }\r\n if (isMouse && this._mouseLocked) {\r\n return\r\n }\r\n if (isMouse && this._skipNextEvents) {\r\n this._skipNextEvents = false;\r\n this._mouseLocked = true;\r\n clearTimeout(this._unlockMouseTimer);\r\n var that = this;\r\n this._unlockMouseTimer = setTimeout((function() {\r\n that._mouseLocked = false\r\n }), this.EVENT_LOCK_TIMEOUT);\r\n return\r\n }\r\n return this.callBase(e)\r\n },\r\n _fireEvent: function(args) {\r\n var normalizer = isMouseEvent(args.originalEvent) ? MouseStrategy.normalize : TouchStrategy.normalize;\r\n return this.callBase(extend(normalizer(args.originalEvent), args))\r\n },\r\n dispose: function() {\r\n this.callBase();\r\n this._skipNextEvents = false;\r\n this._mouseLocked = false;\r\n clearTimeout(this._unlockMouseTimer)\r\n }\r\n});\r\nMouseAndTouchStrategy.map = eventMap;\r\nMouseAndTouchStrategy.resetObserver = MouseStrategy.resetObserver;\r\nexport default MouseAndTouchStrategy;\r\n","/**\r\n * DevExtreme (esm/events/pointer.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport * as support from \"../core/utils/support\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport devices from \"../core/devices\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nimport TouchStrategy from \"./pointer/touch\";\r\nimport MouseStrategy from \"./pointer/mouse\";\r\nimport MouseAndTouchStrategy from \"./pointer/mouse_and_touch\";\r\nvar getStrategy = (support, device) => {\r\n var {\r\n tablet: tablet,\r\n phone: phone\r\n } = device;\r\n if (support.touch && !(tablet || phone)) {\r\n return MouseAndTouchStrategy\r\n }\r\n if (support.touch) {\r\n return TouchStrategy\r\n }\r\n return MouseStrategy\r\n};\r\nvar EventStrategy = getStrategy(support, devices.real());\r\neach(EventStrategy.map, (pointerEvent, originalEvents) => {\r\n registerEvent(pointerEvent, new EventStrategy(pointerEvent, originalEvents))\r\n});\r\nvar pointer = {\r\n down: \"dxpointerdown\",\r\n up: \"dxpointerup\",\r\n move: \"dxpointermove\",\r\n cancel: \"dxpointercancel\",\r\n enter: \"dxpointerenter\",\r\n leave: \"dxpointerleave\",\r\n over: \"dxpointerover\",\r\n out: \"dxpointerout\"\r\n};\r\nexport default pointer;\r\n","/**\r\n * DevExtreme (esm/events/remove.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n beforeCleanData\r\n} from \"../core/element_data\";\r\nimport eventsEngine from \"./core/events_engine\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nexport var removeEvent = \"dxremove\";\r\nvar eventPropName = \"dxRemoveEvent\";\r\nbeforeCleanData((function(elements) {\r\n elements = [].slice.call(elements);\r\n for (var i = 0; i < elements.length; i++) {\r\n var $element = $(elements[i]);\r\n if ($element.prop(eventPropName)) {\r\n $element[0][eventPropName] = null;\r\n eventsEngine.triggerHandler($element, removeEvent)\r\n }\r\n }\r\n}));\r\nregisterEvent(removeEvent, {\r\n noBubble: true,\r\n setup: function(element) {\r\n $(element).prop(eventPropName, true)\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/events/short.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"./core/events_engine\";\r\nimport KeyboardProcessor from \"./core/keyboard_processor\";\r\nimport {\r\n addNamespace as pureAddNamespace\r\n} from \"./utils/index\";\r\n\r\nfunction addNamespace(event, namespace) {\r\n return namespace ? pureAddNamespace(event, namespace) : event\r\n}\r\n\r\nfunction executeAction(action, args) {\r\n return \"function\" === typeof action ? action(args) : action.execute(args)\r\n}\r\nexport var active = {\r\n on: ($el, active, inactive, opts) => {\r\n var {\r\n selector: selector,\r\n showTimeout: showTimeout,\r\n hideTimeout: hideTimeout,\r\n namespace: namespace\r\n } = opts;\r\n eventsEngine.on($el, addNamespace(\"dxactive\", namespace), selector, {\r\n timeout: showTimeout\r\n }, event => executeAction(active, {\r\n event: event,\r\n element: event.currentTarget\r\n }));\r\n eventsEngine.on($el, addNamespace(\"dxinactive\", namespace), selector, {\r\n timeout: hideTimeout\r\n }, event => executeAction(inactive, {\r\n event: event,\r\n element: event.currentTarget\r\n }))\r\n },\r\n off: ($el, _ref) => {\r\n var {\r\n namespace: namespace,\r\n selector: selector\r\n } = _ref;\r\n eventsEngine.off($el, addNamespace(\"dxactive\", namespace), selector);\r\n eventsEngine.off($el, addNamespace(\"dxinactive\", namespace), selector)\r\n }\r\n};\r\nexport var resize = {\r\n on: function($el, resize) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n eventsEngine.on($el, addNamespace(\"dxresize\", namespace), resize)\r\n },\r\n off: function($el) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n eventsEngine.off($el, addNamespace(\"dxresize\", namespace))\r\n }\r\n};\r\nexport var hover = {\r\n on: ($el, start, end, _ref2) => {\r\n var {\r\n selector: selector,\r\n namespace: namespace\r\n } = _ref2;\r\n eventsEngine.on($el, addNamespace(\"dxhoverend\", namespace), selector, event => end(event));\r\n eventsEngine.on($el, addNamespace(\"dxhoverstart\", namespace), selector, event => executeAction(start, {\r\n element: event.target,\r\n event: event\r\n }))\r\n },\r\n off: ($el, _ref3) => {\r\n var {\r\n selector: selector,\r\n namespace: namespace\r\n } = _ref3;\r\n eventsEngine.off($el, addNamespace(\"dxhoverstart\", namespace), selector);\r\n eventsEngine.off($el, addNamespace(\"dxhoverend\", namespace), selector)\r\n }\r\n};\r\nexport var visibility = {\r\n on: ($el, shown, hiding, _ref4) => {\r\n var {\r\n namespace: namespace\r\n } = _ref4;\r\n eventsEngine.on($el, addNamespace(\"dxhiding\", namespace), hiding);\r\n eventsEngine.on($el, addNamespace(\"dxshown\", namespace), shown)\r\n },\r\n off: ($el, _ref5) => {\r\n var {\r\n namespace: namespace\r\n } = _ref5;\r\n eventsEngine.off($el, addNamespace(\"dxhiding\", namespace));\r\n eventsEngine.off($el, addNamespace(\"dxshown\", namespace))\r\n }\r\n};\r\nexport var focus = {\r\n on: ($el, focusIn, focusOut, _ref6) => {\r\n var {\r\n namespace: namespace\r\n } = _ref6;\r\n eventsEngine.on($el, addNamespace(\"focusin\", namespace), focusIn);\r\n eventsEngine.on($el, addNamespace(\"focusout\", namespace), focusOut)\r\n },\r\n off: ($el, _ref7) => {\r\n var {\r\n namespace: namespace\r\n } = _ref7;\r\n eventsEngine.off($el, addNamespace(\"focusin\", namespace));\r\n eventsEngine.off($el, addNamespace(\"focusout\", namespace))\r\n },\r\n trigger: $el => eventsEngine.trigger($el, \"focus\")\r\n};\r\nexport var dxClick = {\r\n on: function($el, click) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n eventsEngine.on($el, addNamespace(\"dxclick\", namespace), click)\r\n },\r\n off: function($el) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n eventsEngine.off($el, addNamespace(\"dxclick\", namespace))\r\n }\r\n};\r\nexport var click = {\r\n on: function($el, click) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n eventsEngine.on($el, addNamespace(\"click\", namespace), click)\r\n },\r\n off: function($el) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n eventsEngine.off($el, addNamespace(\"click\", namespace))\r\n }\r\n};\r\nvar index = 0;\r\nvar keyboardProcessors = {};\r\nvar generateListenerId = () => \"keyboardProcessorId\".concat(index++);\r\nexport var keyboard = {\r\n on: (element, focusTarget, handler) => {\r\n var listenerId = generateListenerId();\r\n keyboardProcessors[listenerId] = new KeyboardProcessor({\r\n element: element,\r\n focusTarget: focusTarget,\r\n handler: handler\r\n });\r\n return listenerId\r\n },\r\n off: listenerId => {\r\n if (listenerId && keyboardProcessors[listenerId]) {\r\n keyboardProcessors[listenerId].dispose();\r\n delete keyboardProcessors[listenerId]\r\n }\r\n },\r\n _getProcessor: listenerId => keyboardProcessors[listenerId]\r\n};\r\n","/**\r\n * DevExtreme (esm/events/swipe.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getHeight\r\n} from \"../core/utils/size\";\r\nimport {\r\n eventData\r\n} from \"./utils/index\";\r\nimport GestureEmitter from \"./gesture/emitter.gesture\";\r\nimport registerEmitter from \"./core/emitter_registrator\";\r\nvar SWIPE_START_EVENT = \"dxswipestart\";\r\nvar SWIPE_EVENT = \"dxswipe\";\r\nvar SWIPE_END_EVENT = \"dxswipeend\";\r\nvar HorizontalStrategy = {\r\n defaultItemSizeFunc: function() {\r\n return getWidth(this.getElement())\r\n },\r\n getBounds: function() {\r\n return [this._maxLeftOffset, this._maxRightOffset]\r\n },\r\n calcOffsetRatio: function(e) {\r\n var endEventData = eventData(e);\r\n return (endEventData.x - (this._savedEventData && this._savedEventData.x || 0)) / this._itemSizeFunc().call(this, e)\r\n },\r\n isFastSwipe: function(e) {\r\n var endEventData = eventData(e);\r\n return this.FAST_SWIPE_SPEED_LIMIT * Math.abs(endEventData.x - this._tickData.x) >= endEventData.time - this._tickData.time\r\n }\r\n};\r\nvar VerticalStrategy = {\r\n defaultItemSizeFunc: function() {\r\n return getHeight(this.getElement())\r\n },\r\n getBounds: function() {\r\n return [this._maxTopOffset, this._maxBottomOffset]\r\n },\r\n calcOffsetRatio: function(e) {\r\n var endEventData = eventData(e);\r\n return (endEventData.y - (this._savedEventData && this._savedEventData.y || 0)) / this._itemSizeFunc().call(this, e)\r\n },\r\n isFastSwipe: function(e) {\r\n var endEventData = eventData(e);\r\n return this.FAST_SWIPE_SPEED_LIMIT * Math.abs(endEventData.y - this._tickData.y) >= endEventData.time - this._tickData.time\r\n }\r\n};\r\nvar STRATEGIES = {\r\n horizontal: HorizontalStrategy,\r\n vertical: VerticalStrategy\r\n};\r\nvar SwipeEmitter = GestureEmitter.inherit({\r\n TICK_INTERVAL: 300,\r\n FAST_SWIPE_SPEED_LIMIT: 10,\r\n ctor: function(element) {\r\n this.callBase(element);\r\n this.direction = \"horizontal\";\r\n this.elastic = true\r\n },\r\n _getStrategy: function() {\r\n return STRATEGIES[this.direction]\r\n },\r\n _defaultItemSizeFunc: function() {\r\n return this._getStrategy().defaultItemSizeFunc.call(this)\r\n },\r\n _itemSizeFunc: function() {\r\n return this.itemSizeFunc || this._defaultItemSizeFunc\r\n },\r\n _init: function(e) {\r\n this._tickData = eventData(e)\r\n },\r\n _start: function(e) {\r\n this._savedEventData = eventData(e);\r\n e = this._fireEvent(SWIPE_START_EVENT, e);\r\n if (!e.cancel) {\r\n this._maxLeftOffset = e.maxLeftOffset;\r\n this._maxRightOffset = e.maxRightOffset;\r\n this._maxTopOffset = e.maxTopOffset;\r\n this._maxBottomOffset = e.maxBottomOffset\r\n }\r\n },\r\n _move: function(e) {\r\n var strategy = this._getStrategy();\r\n var moveEventData = eventData(e);\r\n var offset = strategy.calcOffsetRatio.call(this, e);\r\n offset = this._fitOffset(offset, this.elastic);\r\n if (moveEventData.time - this._tickData.time > this.TICK_INTERVAL) {\r\n this._tickData = moveEventData\r\n }\r\n this._fireEvent(SWIPE_EVENT, e, {\r\n offset: offset\r\n });\r\n if (false !== e.cancelable) {\r\n e.preventDefault()\r\n }\r\n },\r\n _end: function(e) {\r\n var strategy = this._getStrategy();\r\n var offsetRatio = strategy.calcOffsetRatio.call(this, e);\r\n var isFast = strategy.isFastSwipe.call(this, e);\r\n var startOffset = offsetRatio;\r\n var targetOffset = this._calcTargetOffset(offsetRatio, isFast);\r\n startOffset = this._fitOffset(startOffset, this.elastic);\r\n targetOffset = this._fitOffset(targetOffset, false);\r\n this._fireEvent(SWIPE_END_EVENT, e, {\r\n offset: startOffset,\r\n targetOffset: targetOffset\r\n })\r\n },\r\n _fitOffset: function(offset, elastic) {\r\n var strategy = this._getStrategy();\r\n var bounds = strategy.getBounds.call(this);\r\n if (offset < -bounds[0]) {\r\n return elastic ? (-2 * bounds[0] + offset) / 3 : -bounds[0]\r\n }\r\n if (offset > bounds[1]) {\r\n return elastic ? (2 * bounds[1] + offset) / 3 : bounds[1]\r\n }\r\n return offset\r\n },\r\n _calcTargetOffset: function(offsetRatio, isFast) {\r\n var result;\r\n if (isFast) {\r\n result = Math.ceil(Math.abs(offsetRatio));\r\n if (offsetRatio < 0) {\r\n result = -result\r\n }\r\n } else {\r\n result = Math.round(offsetRatio)\r\n }\r\n return result\r\n }\r\n});\r\nregisterEmitter({\r\n emitter: SwipeEmitter,\r\n events: [SWIPE_START_EVENT, SWIPE_EVENT, SWIPE_END_EVENT]\r\n});\r\nexport {\r\n SWIPE_EVENT as swipe, SWIPE_START_EVENT as start, SWIPE_END_EVENT as end\r\n};\r\n","/**\r\n * DevExtreme (esm/events/utils/add_namespace.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errors from \"../../core/errors\";\r\nvar addNamespace = (eventNames, namespace) => {\r\n if (!namespace) {\r\n throw errors.Error(\"E0017\")\r\n }\r\n if (Array.isArray(eventNames)) {\r\n return eventNames.map(eventName => addNamespace(eventName, namespace)).join(\" \")\r\n }\r\n if (-1 !== eventNames.indexOf(\" \")) {\r\n return addNamespace(eventNames.split(/\\s+/g), namespace)\r\n }\r\n return \"\".concat(eventNames, \".\").concat(namespace)\r\n};\r\nexport default addNamespace;\r\n","/**\r\n * DevExtreme (esm/events/utils/index.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport mappedAddNamespace from \"./add_namespace\";\r\nimport eventsEngine from \"../core/events_engine\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n focused\r\n} from \"../../ui/widget/selectors\";\r\nvar KEY_MAP = {\r\n backspace: \"backspace\",\r\n tab: \"tab\",\r\n enter: \"enter\",\r\n escape: \"escape\",\r\n pageup: \"pageUp\",\r\n pagedown: \"pageDown\",\r\n end: \"end\",\r\n home: \"home\",\r\n arrowleft: \"leftArrow\",\r\n arrowup: \"upArrow\",\r\n arrowright: \"rightArrow\",\r\n arrowdown: \"downArrow\",\r\n delete: \"del\",\r\n \" \": \"space\",\r\n f: \"F\",\r\n a: \"A\",\r\n \"*\": \"asterisk\",\r\n \"-\": \"minus\",\r\n alt: \"alt\",\r\n control: \"control\",\r\n shift: \"shift\"\r\n};\r\nvar LEGACY_KEY_CODES = {\r\n 8: \"backspace\",\r\n 9: \"tab\",\r\n 13: \"enter\",\r\n 27: \"escape\",\r\n 33: \"pageUp\",\r\n 34: \"pageDown\",\r\n 35: \"end\",\r\n 36: \"home\",\r\n 37: \"leftArrow\",\r\n 38: \"upArrow\",\r\n 39: \"rightArrow\",\r\n 40: \"downArrow\",\r\n 46: \"del\",\r\n 32: \"space\",\r\n 70: \"F\",\r\n 65: \"A\",\r\n 106: \"asterisk\",\r\n 109: \"minus\",\r\n 189: \"minus\",\r\n 173: \"minus\",\r\n 16: \"shift\",\r\n 17: \"control\",\r\n 18: \"alt\"\r\n};\r\nvar EVENT_SOURCES_REGEX = {\r\n dx: /^dx/i,\r\n mouse: /(mouse|wheel)/i,\r\n touch: /^touch/i,\r\n keyboard: /^key/i,\r\n pointer: /^(ms)?pointer/i\r\n};\r\nvar fixMethod = e => e;\r\nvar copyEvent = originalEvent => fixMethod(eventsEngine.Event(originalEvent, originalEvent), originalEvent);\r\nvar isDxEvent = e => \"dx\" === eventSource(e);\r\nvar isNativeMouseEvent = e => \"mouse\" === eventSource(e);\r\nvar isNativeTouchEvent = e => \"touch\" === eventSource(e);\r\nexport var eventSource = _ref => {\r\n var {\r\n type: type\r\n } = _ref;\r\n var result = \"other\";\r\n each(EVENT_SOURCES_REGEX, (function(key) {\r\n if (this.test(type)) {\r\n result = key;\r\n return false\r\n }\r\n }));\r\n return result\r\n};\r\nexport var isPointerEvent = e => \"pointer\" === eventSource(e);\r\nexport var isMouseEvent = e => isNativeMouseEvent(e) || (isPointerEvent(e) || isDxEvent(e)) && \"mouse\" === e.pointerType;\r\nexport var isDxMouseWheelEvent = e => e && \"dxmousewheel\" === e.type;\r\nexport var isTouchEvent = e => isNativeTouchEvent(e) || (isPointerEvent(e) || isDxEvent(e)) && \"touch\" === e.pointerType;\r\nexport var isKeyboardEvent = e => \"keyboard\" === eventSource(e);\r\nexport var isFakeClickEvent = _ref2 => {\r\n var {\r\n screenX: screenX,\r\n offsetX: offsetX,\r\n pageX: pageX\r\n } = _ref2;\r\n return 0 === screenX && !offsetX && 0 === pageX\r\n};\r\nexport var eventData = _ref3 => {\r\n var {\r\n pageX: pageX,\r\n pageY: pageY,\r\n timeStamp: timeStamp\r\n } = _ref3;\r\n return {\r\n x: pageX,\r\n y: pageY,\r\n time: timeStamp\r\n }\r\n};\r\nexport var eventDelta = (from, to) => ({\r\n x: to.x - from.x,\r\n y: to.y - from.y,\r\n time: to.time - from.time || 1\r\n});\r\nexport var hasTouches = e => {\r\n var {\r\n originalEvent: originalEvent,\r\n pointers: pointers\r\n } = e;\r\n if (isNativeTouchEvent(e)) {\r\n return (originalEvent.touches || []).length\r\n }\r\n if (isDxEvent(e)) {\r\n return (pointers || []).length\r\n }\r\n return 0\r\n};\r\nvar skipEvents = false;\r\nexport var forceSkipEvents = () => skipEvents = true;\r\nexport var stopEventsSkipping = () => skipEvents = false;\r\nexport var needSkipEvent = e => {\r\n if (skipEvents) {\r\n return true\r\n }\r\n var {\r\n target: target\r\n } = e;\r\n var $target = $(target);\r\n var isContentEditable = (null === target || void 0 === target ? void 0 : target.isContentEditable) || (null === target || void 0 === target ? void 0 : target.hasAttribute(\"contenteditable\"));\r\n var touchInEditable = $target.is(\"input, textarea, select\") || isContentEditable;\r\n if (isDxMouseWheelEvent(e)) {\r\n var isTextArea = $target.is(\"textarea\") && $target.hasClass(\"dx-texteditor-input\");\r\n if (isTextArea || isContentEditable) {\r\n return false\r\n }\r\n var isInputFocused = $target.is(\"input[type='number'], textarea, select\") && $target.is(\":focus\");\r\n return isInputFocused\r\n }\r\n if (isMouseEvent(e)) {\r\n return touchInEditable || e.which > 1\r\n }\r\n if (isTouchEvent(e)) {\r\n return touchInEditable && focused($target)\r\n }\r\n};\r\nexport var setEventFixMethod = func => fixMethod = func;\r\nexport var createEvent = (originalEvent, args) => {\r\n var event = copyEvent(originalEvent);\r\n args && extend(event, args);\r\n return event\r\n};\r\nexport var fireEvent = props => {\r\n var {\r\n originalEvent: originalEvent,\r\n delegateTarget: delegateTarget\r\n } = props;\r\n var event = createEvent(originalEvent, props);\r\n eventsEngine.trigger(delegateTarget || event.target, event);\r\n return event\r\n};\r\nexport var normalizeKeyName = _ref4 => {\r\n var {\r\n key: key,\r\n which: which\r\n } = _ref4;\r\n var normalizedKey = KEY_MAP[null === key || void 0 === key ? void 0 : key.toLowerCase()] || key;\r\n var normalizedKeyFromWhich = LEGACY_KEY_CODES[which];\r\n if (normalizedKeyFromWhich && normalizedKey === key) {\r\n return normalizedKeyFromWhich\r\n } else if (!normalizedKey && which) {\r\n return String.fromCharCode(which)\r\n }\r\n return normalizedKey\r\n};\r\nexport var getChar = _ref5 => {\r\n var {\r\n key: key,\r\n which: which\r\n } = _ref5;\r\n return key || String.fromCharCode(which)\r\n};\r\nexport var addNamespace = mappedAddNamespace;\r\nexport var isCommandKeyPressed = _ref6 => {\r\n var {\r\n ctrlKey: ctrlKey,\r\n metaKey: metaKey\r\n } = _ref6;\r\n return ctrlKey || metaKey\r\n};\r\n","/**\r\n * DevExtreme (esm/events/visibility_change.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"./core/events_engine\";\r\nvar triggerVisibilityChangeEvent = function(eventName) {\r\n return function(element) {\r\n var $element = $(element || \"body\");\r\n var changeHandlers = $element.filter(\".dx-visibility-change-handler\").add($element.find(\".dx-visibility-change-handler\"));\r\n for (var i = 0; i < changeHandlers.length; i++) {\r\n eventsEngine.triggerHandler(changeHandlers[i], eventName)\r\n }\r\n }\r\n};\r\nexport var triggerShownEvent = triggerVisibilityChangeEvent(\"dxshown\");\r\nexport var triggerHidingEvent = triggerVisibilityChangeEvent(\"dxhiding\");\r\nexport var triggerResizeEvent = triggerVisibilityChangeEvent(\"dxresize\");\r\n","/**\r\n * DevExtreme (esm/exporter/excel_format_converter.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n format as stringFormat\r\n} from \"../core/utils/string\";\r\nimport numberFormatter from \"../localization/number\";\r\nimport dateLocalization from \"../localization/date\";\r\nimport {\r\n isDefined,\r\n isString\r\n} from \"../core/utils/type\";\r\nimport {\r\n getFormat\r\n} from \"../localization/ldml/date.format\";\r\nimport {\r\n getLanguageId\r\n} from \"../localization/language_codes\";\r\nimport \"../localization/currency\";\r\nvar ARABIC_ZERO_CODE = 1632;\r\nvar DEFINED_NUMBER_FORMTATS = {\r\n thousands: \"#,##0{0},"K"\",\r\n millions: \"#,##0{0},,"M"\",\r\n billions: \"#,##0{0},,,"B"\",\r\n trillions: \"#,##0{0},,,,"T"\",\r\n percent: \"0{0}%\",\r\n decimal: \"#{0}\",\r\n fixedpoint: \"#,##0{0}\",\r\n exponential: \"0{0}E+00\",\r\n currency: \" \"\r\n};\r\nvar PERIOD_REGEXP = /a+/g;\r\nvar DAY_REGEXP = /E/g;\r\nvar DO_REGEXP = /dE+/g;\r\nvar STANDALONE_MONTH_REGEXP = /L/g;\r\nvar HOUR_REGEXP = /h/g;\r\nvar ANY_REGEXP = /./g;\r\nvar excelFormatConverter = {\r\n _applyPrecision: function(format, precision) {\r\n var result;\r\n var i;\r\n if (precision > 0) {\r\n result = \"decimal\" !== format ? \".\" : \"\";\r\n for (i = 0; i < precision; i++) {\r\n result += \"0\"\r\n }\r\n return result\r\n }\r\n return \"\"\r\n },\r\n _hasArabicDigits: function(text) {\r\n var code;\r\n for (var i = 0; i < text.length; i++) {\r\n code = text.charCodeAt(i);\r\n if (code >= ARABIC_ZERO_CODE && code < ARABIC_ZERO_CODE + 10) {\r\n return true\r\n }\r\n }\r\n return false\r\n },\r\n _convertDateFormatToOpenXml: function(format) {\r\n return format.split(\"/\").join(\"\\\\/\").split(\"'\").map((function(datePart, index) {\r\n if (index % 2 === 0) {\r\n return datePart.replace(PERIOD_REGEXP, \"AM/PM\").replace(DO_REGEXP, \"d\").replace(DAY_REGEXP, \"d\").replace(STANDALONE_MONTH_REGEXP, \"M\").replace(HOUR_REGEXP, \"H\").split(\"[\").join(\"\\\\[\").split(\"]\").join(\"\\\\]\")\r\n }\r\n if (datePart) {\r\n return datePart.replace(ANY_REGEXP, \"\\\\$&\")\r\n }\r\n return \"'\"\r\n })).join(\"\")\r\n },\r\n _convertDateFormat: function(format) {\r\n var formattedValue = (dateLocalization.format(new Date(2009, 8, 8, 6, 5, 4), format) || \"\").toString();\r\n var result = getFormat(value => dateLocalization.format(value, format));\r\n if (result) {\r\n result = this._convertDateFormatToOpenXml(result);\r\n result = this._getLanguageInfo(formattedValue) + result\r\n }\r\n return result\r\n },\r\n _getLanguageInfo: function(defaultPattern) {\r\n var languageID = getLanguageId();\r\n var languageIDStr = languageID ? languageID.toString(16) : \"\";\r\n var languageInfo = \"\";\r\n if (this._hasArabicDigits(defaultPattern)) {\r\n while (languageIDStr.length < 3) {\r\n languageIDStr = \"0\" + languageIDStr\r\n }\r\n languageInfo = \"[$-2010\" + languageIDStr + \"]\"\r\n } else if (languageIDStr) {\r\n languageInfo = \"[$-\" + languageIDStr + \"]\"\r\n }\r\n return languageInfo\r\n },\r\n _convertNumberFormat: function(format, precision, currency) {\r\n var result;\r\n var excelFormat;\r\n if (\"currency\" === format) {\r\n excelFormat = numberFormatter.getOpenXmlCurrencyFormat(currency)\r\n } else {\r\n excelFormat = DEFINED_NUMBER_FORMTATS[format.toLowerCase()]\r\n }\r\n if (excelFormat) {\r\n result = stringFormat(excelFormat, this._applyPrecision(format, precision))\r\n }\r\n return result\r\n },\r\n convertFormat: function(format, precision, type, currency) {\r\n if (isDefined(format)) {\r\n if (\"date\" === type) {\r\n return excelFormatConverter._convertDateFormat(format)\r\n } else if (isString(format) && DEFINED_NUMBER_FORMTATS[format.toLowerCase()]) {\r\n return excelFormatConverter._convertNumberFormat(format, precision, currency)\r\n }\r\n }\r\n }\r\n};\r\nexport default excelFormatConverter;\r\n","/**\r\n * DevExtreme (esm/exporter/excel/excel.tag_helper.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nvar tagHelper = {\r\n toXml: function(tagName, attributes, content) {\r\n var result = [\"<\", tagName];\r\n for (var attributeName in attributes) {\r\n var attributeValue = attributes[attributeName];\r\n if (isDefined(attributeValue)) {\r\n result.push(\" \", attributeName, '=\"', attributeValue, '\"')\r\n }\r\n }\r\n if (isDefined(content) && \"\" !== content) {\r\n result.push(\">\", content, \"\")\r\n } else {\r\n result.push(\" />\")\r\n }\r\n return result.join(\"\")\r\n }\r\n};\r\nexport default tagHelper;\r\n","/**\r\n * DevExtreme (esm/exporter/excel/excel.cell_alignment_helper.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport tagHelper from \"./excel.tag_helper\";\r\nvar cellAlignmentHelper = {\r\n tryCreateTag: function(sourceObj) {\r\n var result = null;\r\n if (isDefined(sourceObj)) {\r\n result = {\r\n vertical: sourceObj.vertical,\r\n wrapText: sourceObj.wrapText,\r\n horizontal: sourceObj.horizontal\r\n };\r\n if (cellAlignmentHelper.isEmpty(result)) {\r\n result = null\r\n }\r\n }\r\n return result\r\n },\r\n copy: function(source) {\r\n var result = null;\r\n if (isDefined(source)) {\r\n result = {};\r\n if (void 0 !== source.horizontal) {\r\n result.horizontal = source.horizontal\r\n }\r\n if (void 0 !== source.vertical) {\r\n result.vertical = source.vertical\r\n }\r\n if (void 0 !== source.wrapText) {\r\n result.wrapText = source.wrapText\r\n }\r\n }\r\n return result\r\n },\r\n areEqual: function(leftTag, rightTag) {\r\n return cellAlignmentHelper.isEmpty(leftTag) && cellAlignmentHelper.isEmpty(rightTag) || isDefined(leftTag) && isDefined(rightTag) && leftTag.vertical === rightTag.vertical && leftTag.wrapText === rightTag.wrapText && leftTag.horizontal === rightTag.horizontal\r\n },\r\n isEmpty: function(tag) {\r\n return !isDefined(tag) || !isDefined(tag.vertical) && !isDefined(tag.wrapText) && !isDefined(tag.horizontal)\r\n },\r\n toXml: function(tag) {\r\n return tagHelper.toXml(\"alignment\", {\r\n vertical: tag.vertical,\r\n wrapText: isDefined(tag.wrapText) ? Number(tag.wrapText) : void 0,\r\n horizontal: tag.horizontal\r\n })\r\n }\r\n};\r\nexport default cellAlignmentHelper;\r\n","/**\r\n * DevExtreme (esm/exporter/excel/excel.color_helper.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport tagHelper from \"./excel.tag_helper\";\r\nvar colorHelper = {\r\n _tryConvertColor: function(source) {\r\n if (\"string\" !== typeof source) {\r\n return source\r\n }\r\n var result;\r\n if (source.length > 0 && \"#\" === source[0]) {\r\n var colorCode = source.substr(1, source.length);\r\n if (6 === colorCode.length) {\r\n result = \"FF\" + colorCode\r\n } else if (8 === colorCode.length) {\r\n result = colorCode[6] + colorCode[7] + colorCode.substr(0, 6)\r\n } else {\r\n result = colorCode\r\n }\r\n } else {\r\n result = source\r\n }\r\n return result\r\n },\r\n tryCreateTag: function(sourceObj) {\r\n var result = null;\r\n if (isDefined(sourceObj)) {\r\n if (\"string\" === typeof sourceObj) {\r\n result = {\r\n rgb: this._tryConvertColor(sourceObj)\r\n }\r\n } else {\r\n result = {\r\n rgb: this._tryConvertColor(sourceObj.rgb),\r\n theme: sourceObj.theme\r\n }\r\n }\r\n if (colorHelper.isEmpty(result)) {\r\n result = null\r\n }\r\n }\r\n return result\r\n },\r\n copy: function(source) {\r\n var result = null;\r\n if (isDefined(source)) {\r\n if (\"string\" === typeof source) {\r\n result = source\r\n } else {\r\n result = {};\r\n if (void 0 !== source.rgb) {\r\n result.rgb = source.rgb\r\n }\r\n if (void 0 !== source.theme) {\r\n result.theme = source.theme\r\n }\r\n }\r\n }\r\n return result\r\n },\r\n isEmpty: function(tag) {\r\n return !isDefined(tag) || !isDefined(tag.rgb) && !isDefined(tag.theme)\r\n },\r\n areEqual: function(leftTag, rightTag) {\r\n return colorHelper.isEmpty(leftTag) && colorHelper.isEmpty(rightTag) || isDefined(leftTag) && isDefined(rightTag) && leftTag.rgb === rightTag.rgb && leftTag.theme === rightTag.theme\r\n },\r\n toXml: function(tagName, tag) {\r\n return tagHelper.toXml(tagName, {\r\n rgb: tag.rgb,\r\n theme: tag.theme\r\n })\r\n }\r\n};\r\nexport default colorHelper;\r\n","/**\r\n * DevExtreme (esm/exporter/excel/excel.pattern_fill_helper.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport tagHelper from \"./excel.tag_helper\";\r\nimport colorHelper from \"./excel.color_helper\";\r\nvar patternFillHelper = {\r\n tryCreateTag: function(sourceObj) {\r\n var result = null;\r\n if (isDefined(sourceObj)) {\r\n result = {\r\n patternType: sourceObj.patternType,\r\n backgroundColor: colorHelper.tryCreateTag(sourceObj.backgroundColor),\r\n foregroundColor: colorHelper.tryCreateTag(sourceObj.foregroundColor)\r\n };\r\n if (patternFillHelper.isEmpty(result)) {\r\n result = null\r\n }\r\n }\r\n return result\r\n },\r\n copy: function(source) {\r\n var result = null;\r\n if (isDefined(source)) {\r\n result = {};\r\n if (void 0 !== source.patternType) {\r\n result.patternType = source.patternType\r\n }\r\n if (void 0 !== source.backgroundColor) {\r\n result.backgroundColor = colorHelper.copy(source.backgroundColor)\r\n }\r\n if (void 0 !== source.foregroundColor) {\r\n result.foregroundColor = colorHelper.copy(source.foregroundColor)\r\n }\r\n }\r\n return result\r\n },\r\n areEqual: function(leftTag, rightTag) {\r\n return patternFillHelper.isEmpty(leftTag) && patternFillHelper.isEmpty(rightTag) || isDefined(leftTag) && isDefined(rightTag) && leftTag.patternType === rightTag.patternType && colorHelper.areEqual(leftTag.backgroundColor, rightTag.backgroundColor) && colorHelper.areEqual(leftTag.foregroundColor, rightTag.foregroundColor)\r\n },\r\n isEmpty: function(tag) {\r\n return !isDefined(tag) || !isDefined(tag.patternType)\r\n },\r\n toXml: function(tag) {\r\n var content = [isDefined(tag.foregroundColor) ? colorHelper.toXml(\"fgColor\", tag.foregroundColor) : \"\", isDefined(tag.backgroundColor) ? colorHelper.toXml(\"bgColor\", tag.backgroundColor) : \"\"].join(\"\");\r\n return tagHelper.toXml(\"patternFill\", {\r\n patternType: tag.patternType\r\n }, content)\r\n }\r\n};\r\nexport default patternFillHelper;\r\n","/**\r\n * DevExtreme (esm/exporter/excel/excel.fill_helper.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport tagHelper from \"./excel.tag_helper\";\r\nimport patternFillHelper from \"./excel.pattern_fill_helper\";\r\nvar fillHelper = {\r\n tryCreateTag: function(sourceObj) {\r\n var result = null;\r\n if (isDefined(sourceObj)) {\r\n result = {\r\n patternFill: patternFillHelper.tryCreateTag(sourceObj.patternFill)\r\n };\r\n if (fillHelper.isEmpty(result)) {\r\n result = null\r\n }\r\n }\r\n return result\r\n },\r\n tryCreateFillFromSimpleFormat: function() {\r\n var {\r\n backgroundColor: backgroundColor,\r\n fillPatternType: fillPatternType,\r\n fillPatternColor: fillPatternColor\r\n } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};\r\n if (isDefined(backgroundColor) && !(isDefined(fillPatternType) && isDefined(fillPatternColor))) {\r\n return {\r\n patternFill: {\r\n patternType: \"solid\",\r\n foregroundColor: {\r\n rgb: backgroundColor\r\n }\r\n }\r\n }\r\n } else if (isDefined(fillPatternType) && isDefined(fillPatternColor)) {\r\n return {\r\n patternFill: {\r\n patternType: fillPatternType,\r\n foregroundColor: {\r\n rgb: fillPatternColor\r\n },\r\n backgroundColor: {\r\n rgb: backgroundColor\r\n }\r\n }\r\n }\r\n }\r\n },\r\n copySimpleFormat: function(source, target) {\r\n if (void 0 !== source.backgroundColor) {\r\n target.backgroundColor = source.backgroundColor\r\n }\r\n if (void 0 !== source.fillPatternType) {\r\n target.fillPatternType = source.fillPatternType\r\n }\r\n if (void 0 !== source.fillPatternColor) {\r\n target.fillPatternColor = source.fillPatternColor\r\n }\r\n },\r\n copy: function(source) {\r\n var result = null;\r\n if (isDefined(source)) {\r\n result = {};\r\n if (void 0 !== source.patternFill) {\r\n result.patternFill = patternFillHelper.copy(source.patternFill)\r\n }\r\n }\r\n return result\r\n },\r\n areEqual: function(leftTag, rightTag) {\r\n return fillHelper.isEmpty(leftTag) && fillHelper.isEmpty(rightTag) || isDefined(leftTag) && isDefined(rightTag) && patternFillHelper.areEqual(leftTag.patternFill, rightTag.patternFill)\r\n },\r\n isEmpty: function(tag) {\r\n return !isDefined(tag) || patternFillHelper.isEmpty(tag.patternFill)\r\n },\r\n toXml: function(tag) {\r\n return tagHelper.toXml(\"fill\", {}, patternFillHelper.toXml(tag.patternFill))\r\n }\r\n};\r\nexport default fillHelper;\r\n","/**\r\n * DevExtreme (esm/exporter/excel/excel.font_helper.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport tagHelper from \"./excel.tag_helper\";\r\nimport colorHelper from \"./excel.color_helper\";\r\nvar fontHelper = {\r\n tryCreateTag: function(sourceObj) {\r\n var result = null;\r\n if (isDefined(sourceObj)) {\r\n result = {\r\n size: sourceObj.size,\r\n name: sourceObj.name,\r\n family: sourceObj.family,\r\n scheme: sourceObj.scheme,\r\n bold: sourceObj.bold,\r\n italic: sourceObj.italic,\r\n underline: sourceObj.underline,\r\n color: colorHelper.tryCreateTag(sourceObj.color)\r\n };\r\n if (fontHelper.isEmpty(result)) {\r\n result = null\r\n }\r\n }\r\n return result\r\n },\r\n copy: function(source) {\r\n var result = null;\r\n if (isDefined(source)) {\r\n result = {};\r\n if (void 0 !== source.size) {\r\n result.size = source.size\r\n }\r\n if (void 0 !== source.name) {\r\n result.name = source.name\r\n }\r\n if (void 0 !== source.family) {\r\n result.family = source.family\r\n }\r\n if (void 0 !== source.scheme) {\r\n result.scheme = source.scheme\r\n }\r\n if (void 0 !== source.bold) {\r\n result.bold = source.bold\r\n }\r\n if (void 0 !== source.italic) {\r\n result.italic = source.italic\r\n }\r\n if (void 0 !== source.underline) {\r\n result.underline = source.underline\r\n }\r\n if (void 0 !== source.color) {\r\n result.color = colorHelper.copy(source.color)\r\n }\r\n }\r\n return result\r\n },\r\n areEqual: function(leftTag, rightTag) {\r\n return fontHelper.isEmpty(leftTag) && fontHelper.isEmpty(rightTag) || isDefined(leftTag) && isDefined(rightTag) && leftTag.size === rightTag.size && leftTag.name === rightTag.name && leftTag.family === rightTag.family && leftTag.scheme === rightTag.scheme && (leftTag.bold === rightTag.bold || !leftTag.bold === !rightTag.bold) && (leftTag.italic === rightTag.italic || !leftTag.italic === !rightTag.italic) && leftTag.underline === rightTag.underline && colorHelper.areEqual(leftTag.color, rightTag.color)\r\n },\r\n isEmpty: function(tag) {\r\n return !isDefined(tag) || !isDefined(tag.size) && !isDefined(tag.name) && !isDefined(tag.family) && !isDefined(tag.scheme) && (!isDefined(tag.bold) || !tag.bold) && (!isDefined(tag.italic) || !tag.italic) && !isDefined(tag.underline) && colorHelper.isEmpty(tag.color)\r\n },\r\n toXml: function(tag) {\r\n var content = [isDefined(tag.bold) && tag.bold ? tagHelper.toXml(\"b\", {}) : \"\", isDefined(tag.size) ? tagHelper.toXml(\"sz\", {\r\n val: tag.size\r\n }) : \"\", isDefined(tag.color) ? colorHelper.toXml(\"color\", tag.color) : \"\", isDefined(tag.name) ? tagHelper.toXml(\"name\", {\r\n val: tag.name\r\n }) : \"\", isDefined(tag.family) ? tagHelper.toXml(\"family\", {\r\n val: tag.family\r\n }) : \"\", isDefined(tag.scheme) ? tagHelper.toXml(\"scheme\", {\r\n val: tag.scheme\r\n }) : \"\", isDefined(tag.italic) && tag.italic ? tagHelper.toXml(\"i\", {}) : \"\", isDefined(tag.underline) ? tagHelper.toXml(\"u\", {\r\n val: tag.underline\r\n }) : \"\"].join(\"\");\r\n return tagHelper.toXml(\"font\", {}, content)\r\n }\r\n};\r\nexport default fontHelper;\r\n","/**\r\n * DevExtreme (esm/exporter/excel/excel.cell_format_helper.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport tagHelper from \"./excel.tag_helper\";\r\nimport cellAlignmentHelper from \"./excel.cell_alignment_helper\";\r\nimport fillHelper from \"./excel.fill_helper\";\r\nimport fontHelper from \"./excel.font_helper\";\r\nvar cellFormatHelper = {\r\n tryCreateTag: function(sourceObj, sharedItemsContainer) {\r\n var result = null;\r\n if (isDefined(sourceObj)) {\r\n var numberFormatId;\r\n if (\"number\" === typeof sourceObj.numberFormat) {\r\n numberFormatId = sourceObj.numberFormat\r\n } else {\r\n numberFormatId = sharedItemsContainer.registerNumberFormat(sourceObj.numberFormat)\r\n }\r\n var fill = sourceObj.fill;\r\n if (!isDefined(fill)) {\r\n fill = fillHelper.tryCreateFillFromSimpleFormat(sourceObj)\r\n }\r\n result = {\r\n numberFormatId: numberFormatId,\r\n alignment: cellAlignmentHelper.tryCreateTag(sourceObj.alignment),\r\n fontId: sharedItemsContainer.registerFont(sourceObj.font),\r\n fillId: sharedItemsContainer.registerFill(fill)\r\n };\r\n if (cellFormatHelper.isEmpty(result)) {\r\n result = null\r\n }\r\n }\r\n return result\r\n },\r\n copy: function(source) {\r\n var result;\r\n if (null === source) {\r\n result = null\r\n } else if (isDefined(source)) {\r\n result = {};\r\n if (void 0 !== source.numberFormat) {\r\n result.numberFormat = source.numberFormat\r\n }\r\n if (void 0 !== source.fill) {\r\n result.fill = fillHelper.copy(source.fill)\r\n } else {\r\n fillHelper.copySimpleFormat(source, result)\r\n }\r\n if (void 0 !== source.alignment) {\r\n result.alignment = cellAlignmentHelper.copy(source.alignment)\r\n }\r\n if (void 0 !== source.font) {\r\n result.font = fontHelper.copy(source.font)\r\n }\r\n }\r\n return result\r\n },\r\n areEqual: function(leftTag, rightTag) {\r\n return cellFormatHelper.isEmpty(leftTag) && cellFormatHelper.isEmpty(rightTag) || isDefined(leftTag) && isDefined(rightTag) && leftTag.fontId === rightTag.fontId && leftTag.numberFormatId === rightTag.numberFormatId && leftTag.fillId === rightTag.fillId && cellAlignmentHelper.areEqual(leftTag.alignment, rightTag.alignment)\r\n },\r\n isEmpty: function(tag) {\r\n return !isDefined(tag) || !isDefined(tag.fontId) && !isDefined(tag.numberFormatId) && !isDefined(tag.fillId) && cellAlignmentHelper.isEmpty(tag.alignment)\r\n },\r\n toXml: function(tag) {\r\n var isAlignmentEmpty = cellAlignmentHelper.isEmpty(tag.alignment);\r\n var applyNumberFormat;\r\n if (isDefined(tag.numberFormatId)) {\r\n applyNumberFormat = tag.numberFormatId > 0 ? 1 : 0\r\n }\r\n return tagHelper.toXml(\"xf\", {\r\n xfId: 0,\r\n applyAlignment: isAlignmentEmpty ? null : 1,\r\n fontId: tag.fontId,\r\n applyNumberFormat: applyNumberFormat,\r\n fillId: tag.fillId,\r\n numFmtId: tag.numberFormatId\r\n }, isAlignmentEmpty ? null : cellAlignmentHelper.toXml(tag.alignment))\r\n }\r\n};\r\nexport default cellFormatHelper;\r\n","/**\r\n * DevExtreme (esm/exporter/excel/excel.number_format_helper.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport tagHelper from \"./excel.tag_helper\";\r\nvar numberFormatHelper = {\r\n ID_PROPERTY_NAME: \"id\",\r\n tryCreateTag: function(sourceObj) {\r\n var result = null;\r\n if (\"string\" === typeof sourceObj) {\r\n result = {\r\n formatCode: sourceObj\r\n };\r\n if (numberFormatHelper.isEmpty(result)) {\r\n result = null\r\n }\r\n }\r\n return result\r\n },\r\n areEqual: function(leftTag, rightTag) {\r\n return numberFormatHelper.isEmpty(leftTag) && numberFormatHelper.isEmpty(rightTag) || isDefined(leftTag) && isDefined(rightTag) && leftTag.formatCode === rightTag.formatCode\r\n },\r\n isEmpty: function(tag) {\r\n return !isDefined(tag) || !isDefined(tag.formatCode) || \"\" === tag.formatCode\r\n },\r\n toXml: function(tag) {\r\n return tagHelper.toXml(\"numFmt\", {\r\n numFmtId: tag[numberFormatHelper.ID_PROPERTY_NAME],\r\n formatCode: tag.formatCode\r\n })\r\n }\r\n};\r\nexport default numberFormatHelper;\r\n","/**\r\n * DevExtreme (esm/exporter/excel/excel.file.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport tagHelper from \"./excel.tag_helper\";\r\nimport cellFormatHelper from \"./excel.cell_format_helper\";\r\nimport fillHelper from \"./excel.fill_helper\";\r\nimport fontHelper from \"./excel.font_helper\";\r\nimport numberFormatHelper from \"./excel.number_format_helper\";\r\nexport default class ExcelFile {\r\n constructor() {\r\n this._cellFormatTags = [];\r\n this._fillTags = [];\r\n this._fontTags = [];\r\n this._numberFormatTags = [];\r\n this._fillTags.push(fillHelper.tryCreateTag({\r\n patternFill: {\r\n patternType: \"none\"\r\n }\r\n }))\r\n }\r\n registerCellFormat(cellFormat) {\r\n var result;\r\n var cellFormatTag = cellFormatHelper.tryCreateTag(cellFormat, {\r\n registerFill: this.registerFill.bind(this),\r\n registerFont: this.registerFont.bind(this),\r\n registerNumberFormat: this.registerNumberFormat.bind(this)\r\n });\r\n if (isDefined(cellFormatTag)) {\r\n for (var i = 0; i < this._cellFormatTags.length; i++) {\r\n if (cellFormatHelper.areEqual(this._cellFormatTags[i], cellFormatTag)) {\r\n result = i;\r\n break\r\n }\r\n }\r\n if (void 0 === result) {\r\n result = this._cellFormatTags.push(cellFormatTag) - 1\r\n }\r\n }\r\n return result\r\n }\r\n static copyCellFormat(source) {\r\n return cellFormatHelper.copy(source)\r\n }\r\n generateCellFormatsXml() {\r\n var cellFormatTagsAsXmlStringsArray = this._cellFormatTags.map(tag => cellFormatHelper.toXml(tag));\r\n return tagHelper.toXml(\"cellXfs\", {\r\n count: cellFormatTagsAsXmlStringsArray.length\r\n }, cellFormatTagsAsXmlStringsArray.join(\"\"))\r\n }\r\n registerFill(fill) {\r\n var result;\r\n var fillTag = fillHelper.tryCreateTag(fill);\r\n if (isDefined(fillTag)) {\r\n for (var i = 0; i < this._fillTags.length; i++) {\r\n if (fillHelper.areEqual(this._fillTags[i], fillTag)) {\r\n result = i;\r\n break\r\n }\r\n }\r\n if (void 0 === result) {\r\n if (this._fillTags.length < 2) {\r\n this._fillTags.push(fillHelper.tryCreateTag({\r\n patternFill: {\r\n patternType: \"Gray125\"\r\n }\r\n }))\r\n }\r\n result = this._fillTags.push(fillTag) - 1\r\n }\r\n }\r\n return result\r\n }\r\n generateFillsXml() {\r\n var tagsAsXmlStringsArray = this._fillTags.map(tag => fillHelper.toXml(tag));\r\n return tagHelper.toXml(\"fills\", {\r\n count: tagsAsXmlStringsArray.length\r\n }, tagsAsXmlStringsArray.join(\"\"))\r\n }\r\n registerFont(font) {\r\n var result;\r\n var fontTag = fontHelper.tryCreateTag(font);\r\n if (isDefined(fontTag)) {\r\n for (var i = 0; i < this._fontTags.length; i++) {\r\n if (fontHelper.areEqual(this._fontTags[i], fontTag)) {\r\n result = i;\r\n break\r\n }\r\n }\r\n if (void 0 === result) {\r\n result = this._fontTags.push(fontTag) - 1\r\n }\r\n }\r\n return result\r\n }\r\n generateFontsXml() {\r\n var xmlStringsArray = this._fontTags.map(tag => fontHelper.toXml(tag));\r\n return tagHelper.toXml(\"fonts\", {\r\n count: xmlStringsArray.length\r\n }, xmlStringsArray.join(\"\"))\r\n }\r\n _convertNumberFormatIndexToId(index) {\r\n return 165 + index\r\n }\r\n registerNumberFormat(numberFormat) {\r\n var result;\r\n var tag = numberFormatHelper.tryCreateTag(numberFormat);\r\n if (isDefined(tag)) {\r\n for (var i = 0; i < this._numberFormatTags.length; i++) {\r\n if (numberFormatHelper.areEqual(this._numberFormatTags[i], tag)) {\r\n result = this._numberFormatTags[i][numberFormatHelper.ID_PROPERTY_NAME];\r\n break\r\n }\r\n }\r\n if (void 0 === result) {\r\n tag[numberFormatHelper.ID_PROPERTY_NAME] = this._convertNumberFormatIndexToId(this._numberFormatTags.length);\r\n result = tag[numberFormatHelper.ID_PROPERTY_NAME];\r\n this._numberFormatTags.push(tag)\r\n }\r\n }\r\n return result\r\n }\r\n generateNumberFormatsXml() {\r\n if (this._numberFormatTags.length > 0) {\r\n var xmlStringsArray = this._numberFormatTags.map(tag => numberFormatHelper.toXml(tag));\r\n return tagHelper.toXml(\"numFmts\", {\r\n count: xmlStringsArray.length\r\n }, xmlStringsArray.join(\"\"))\r\n } else {\r\n return \"\"\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/exporter/excel_creator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../core/class\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n isDefined,\r\n isString,\r\n isDate,\r\n isBoolean,\r\n isObject,\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport errors from \"../ui/widget/ui.errors\";\r\nimport {\r\n encodeHtml\r\n} from \"../core/utils/string\";\r\nimport JSZip from \"jszip\";\r\nimport {\r\n MIME_TYPES\r\n} from \"./file_saver\";\r\nimport excelFormatConverter from \"./excel_format_converter\";\r\nimport ExcelFile from \"./excel/excel.file\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nvar XML_TAG = '';\r\nvar GROUP_SHEET_PR_XML = '';\r\nvar SINGLE_SHEET_PR_XML = \"\";\r\nvar BASE_STYLE_XML2 = '';\r\nvar OPEN_XML_FORMAT_URL = \"http://schemas.openxmlformats.org\";\r\nvar RELATIONSHIP_PART_NAME = \"rels\";\r\nvar XL_FOLDER_NAME = \"xl\";\r\nvar WORKBOOK_FILE_NAME = \"workbook.xml\";\r\nvar CONTENTTYPES_FILE_NAME = \"[Content_Types].xml\";\r\nvar SHAREDSTRING_FILE_NAME = \"sharedStrings.xml\";\r\nvar STYLE_FILE_NAME = \"styles.xml\";\r\nvar WORKSHEETS_FOLDER = \"worksheets\";\r\nvar WORKSHEET_FILE_NAME = \"sheet1.xml\";\r\nvar WORKSHEET_HEADER_XML = '';\r\nvar VALID_TYPES = {\r\n boolean: \"b\",\r\n date: \"d\",\r\n number: \"n\",\r\n string: \"s\"\r\n};\r\nvar EXCEL_START_TIME = Date.UTC(1899, 11, 30);\r\nvar DAYS_COUNT_BEFORE_29_FEB_1900 = 60;\r\nvar MAX_DIGIT_WIDTH_IN_PIXELS = 7;\r\nvar UNSUPPORTED_FORMAT_MAPPING = {\r\n quarter: \"shortDate\",\r\n quarterAndYear: \"shortDate\",\r\n minute: \"longTime\",\r\n millisecond: \"longTime\"\r\n};\r\nexport var ExcelCreator = Class.inherit({\r\n _getXMLTag: function(tagName, attributes, content) {\r\n var result = \"<\" + tagName;\r\n var i;\r\n var length = attributes.length;\r\n var attr;\r\n for (i = 0; i < length; i++) {\r\n attr = attributes[i];\r\n if (void 0 !== attr.value) {\r\n result = result + \" \" + attr.name + '=\"' + attr.value + '\"'\r\n }\r\n }\r\n return isDefined(content) ? result + \">\" + content + \"\" : result + \" />\"\r\n },\r\n _convertToExcelCellRef: function(zeroBasedRowIndex, zeroBasedCellIndex) {\r\n var columnName = \"\";\r\n var charCode;\r\n var isCellIndexFound;\r\n while (!isCellIndexFound) {\r\n charCode = 65 + (zeroBasedCellIndex >= 26 ? zeroBasedCellIndex % 26 : Math.ceil(zeroBasedCellIndex));\r\n columnName = String.fromCharCode(charCode) + columnName;\r\n if (zeroBasedCellIndex >= 26) {\r\n zeroBasedCellIndex = Math.floor(zeroBasedCellIndex / 26) - 1\r\n } else {\r\n isCellIndexFound = true\r\n }\r\n }\r\n return columnName + (zeroBasedRowIndex + 1)\r\n },\r\n _convertToExcelCellRefAndTrackMaxIndex: function(rowIndex, cellIndex) {\r\n if (this._maxRowIndex < Number(rowIndex)) {\r\n this._maxRowIndex = Number(rowIndex)\r\n }\r\n if (this._maxColumnIndex < Number(cellIndex)) {\r\n this._maxColumnIndex = Number(cellIndex)\r\n }\r\n return this._convertToExcelCellRef(rowIndex, cellIndex)\r\n },\r\n _getDataType: function(dataType) {\r\n return VALID_TYPES[dataType] || VALID_TYPES.string\r\n },\r\n _tryGetExcelCellDataType: function(object) {\r\n if (isDefined(object)) {\r\n if (\"number\" === typeof object) {\r\n if (isFinite(object)) {\r\n return VALID_TYPES.number\r\n } else {\r\n return VALID_TYPES.string\r\n }\r\n } else if (isString(object)) {\r\n return VALID_TYPES.string\r\n } else if (isDate(object)) {\r\n return VALID_TYPES.number\r\n } else if (isBoolean(object)) {\r\n return VALID_TYPES.boolean\r\n }\r\n }\r\n },\r\n _formatObjectConverter: function(format, dataType) {\r\n var result = {\r\n format: format,\r\n precision: format && format.precision,\r\n dataType: dataType\r\n };\r\n if (isObject(format)) {\r\n return extend(result, format, {\r\n format: format.formatter || format.type,\r\n currency: format.currency\r\n })\r\n }\r\n return result\r\n },\r\n _tryConvertToExcelNumberFormat: function(format, dataType) {\r\n var newFormat = this._formatObjectConverter(format, dataType);\r\n format = newFormat.format;\r\n var currency = newFormat.currency;\r\n dataType = newFormat.dataType;\r\n if (isDefined(format) && \"date\" === dataType) {\r\n format = UNSUPPORTED_FORMAT_MAPPING[format && format.type || format] || format\r\n }\r\n return excelFormatConverter.convertFormat(format, newFormat.precision, dataType, currency)\r\n },\r\n _appendString: function(value) {\r\n if (isDefined(value)) {\r\n value = String(value);\r\n if (value.length) {\r\n value = encodeHtml(value);\r\n if (void 0 === this._stringHash[value]) {\r\n this._stringHash[value] = this._stringArray.length;\r\n this._stringArray.push(value)\r\n }\r\n return this._stringHash[value]\r\n }\r\n }\r\n },\r\n _tryGetExcelDateValue: function(date) {\r\n var days;\r\n var totalTime;\r\n if (isDate(date)) {\r\n days = Math.floor((Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()) - EXCEL_START_TIME) / 864e5);\r\n if (days < DAYS_COUNT_BEFORE_29_FEB_1900) {\r\n days--\r\n }\r\n totalTime = (3600 * date.getHours() + 60 * date.getMinutes() + date.getSeconds()) / 86400;\r\n return days + totalTime\r\n }\r\n },\r\n _prepareValue: function(rowIndex, cellIndex) {\r\n var dataProvider = this._dataProvider;\r\n var {\r\n cellSourceData: cellSourceData\r\n } = dataProvider.getCellData(rowIndex, cellIndex) || {};\r\n var {\r\n value: value\r\n } = dataProvider.getCellData(rowIndex, cellIndex) || {};\r\n var sourceValue;\r\n var type = this._getDataType(dataProvider.getCellType(rowIndex, cellIndex));\r\n if (type === VALID_TYPES.date && !isDate(value)) {\r\n type = VALID_TYPES.string\r\n }\r\n switch (type) {\r\n case VALID_TYPES.string:\r\n sourceValue = value;\r\n value = this._appendString(value);\r\n break;\r\n case VALID_TYPES.date:\r\n sourceValue = value;\r\n value = this._tryGetExcelDateValue(value);\r\n type = VALID_TYPES.number\r\n }\r\n return {\r\n value: value,\r\n type: type,\r\n sourceValue: sourceValue,\r\n cellSourceData: cellSourceData\r\n }\r\n },\r\n _callCustomizeExcelCell: function(_ref) {\r\n var {\r\n dataProvider: dataProvider,\r\n value: value,\r\n style: style,\r\n sourceData: sourceData\r\n } = _ref;\r\n var styleCopy = ExcelFile.copyCellFormat(style);\r\n var args = {\r\n value: value,\r\n numberFormat: styleCopy.numberFormat,\r\n clearStyle: function() {\r\n this.horizontalAlignment = null;\r\n this.verticalAlignment = null;\r\n this.wrapTextEnabled = null;\r\n this.font = null;\r\n this.numberFormat = null\r\n }\r\n };\r\n if (isDefined(styleCopy)) {\r\n if (isDefined(styleCopy.alignment)) {\r\n args.horizontalAlignment = styleCopy.alignment.horizontal;\r\n args.verticalAlignment = styleCopy.alignment.vertical;\r\n args.wrapTextEnabled = styleCopy.alignment.wrapText\r\n }\r\n args.backgroundColor = styleCopy.backgroundColor;\r\n args.fillPatternType = styleCopy.fillPatternType;\r\n args.fillPatternColor = styleCopy.fillPatternColor;\r\n args.font = styleCopy.font\r\n }\r\n dataProvider.customizeExcelCell(args, sourceData);\r\n var newStyle = styleCopy || {};\r\n newStyle.font = args.font;\r\n newStyle.alignment = newStyle.alignment || {};\r\n newStyle.alignment.horizontal = args.horizontalAlignment;\r\n newStyle.alignment.vertical = args.verticalAlignment;\r\n newStyle.alignment.wrapText = args.wrapTextEnabled;\r\n newStyle.backgroundColor = args.backgroundColor;\r\n newStyle.fillPatternType = args.fillPatternType;\r\n newStyle.fillPatternColor = args.fillPatternColor;\r\n newStyle.numberFormat = args.numberFormat;\r\n return {\r\n value: args.value,\r\n style: newStyle\r\n }\r\n },\r\n _getDataArray: function() {\r\n var rowIndex;\r\n var cellIndex;\r\n var cellsArray;\r\n var cellData;\r\n var result = [];\r\n var dataProvider = this._dataProvider;\r\n var rowsLength = dataProvider.getRowsCount();\r\n var columns = dataProvider.getColumns();\r\n var cellsLength;\r\n for (rowIndex = 0; rowIndex < rowsLength; rowIndex++) {\r\n cellsArray = [];\r\n cellsLength = columns.length;\r\n for (cellIndex = 0; cellIndex !== cellsLength; cellIndex++) {\r\n cellData = this._prepareValue(rowIndex, cellIndex);\r\n var styleArrayIndex = dataProvider.getStyleId(rowIndex, cellIndex);\r\n var cellStyleId = this._styleArrayIndexToCellStyleIdMap[styleArrayIndex];\r\n if (dataProvider.hasCustomizeExcelCell && dataProvider.hasCustomizeExcelCell()) {\r\n var value = cellData.sourceValue || cellData.value;\r\n var modifiedExcelCell = this._callCustomizeExcelCell({\r\n dataProvider: dataProvider,\r\n value: value,\r\n style: this._styleArray[styleArrayIndex],\r\n sourceData: cellData.cellSourceData\r\n });\r\n if (modifiedExcelCell.value !== value) {\r\n if (typeof modifiedExcelCell.value !== typeof value || \"number\" === typeof modifiedExcelCell.value && !isFinite(modifiedExcelCell.value)) {\r\n var cellDataType = this._tryGetExcelCellDataType(modifiedExcelCell.value);\r\n if (isDefined(cellDataType)) {\r\n cellData.type = cellDataType\r\n }\r\n }\r\n switch (cellData.type) {\r\n case VALID_TYPES.string:\r\n cellData.value = this._appendString(modifiedExcelCell.value);\r\n break;\r\n case VALID_TYPES.date:\r\n cellData.value = modifiedExcelCell.value;\r\n break;\r\n case VALID_TYPES.number:\r\n var newValue = modifiedExcelCell.value;\r\n var excelDateValue = this._tryGetExcelDateValue(newValue);\r\n if (isDefined(excelDateValue)) {\r\n newValue = excelDateValue\r\n }\r\n cellData.value = newValue;\r\n break;\r\n default:\r\n cellData.value = modifiedExcelCell.value\r\n }\r\n }\r\n cellStyleId = this._excelFile.registerCellFormat(modifiedExcelCell.style)\r\n }\r\n cellsArray.push({\r\n style: cellStyleId,\r\n value: cellData.value,\r\n type: cellData.type\r\n })\r\n }\r\n if (!this._needSheetPr && dataProvider.getGroupLevel(rowIndex) > 0) {\r\n this._needSheetPr = true\r\n }\r\n result.push(cellsArray)\r\n }\r\n return result\r\n },\r\n _calculateWidth: function(pixelsWidth) {\r\n pixelsWidth = parseInt(pixelsWidth, 10);\r\n if (!pixelsWidth || pixelsWidth < 5) {\r\n pixelsWidth = 100\r\n }\r\n return Math.min(255, Math.floor((pixelsWidth - 5) / MAX_DIGIT_WIDTH_IN_PIXELS * 100 + .5) / 100)\r\n },\r\n _prepareStyleData: function() {\r\n var that = this;\r\n var styles = that._dataProvider.getStyles();\r\n that._dataProvider.getColumns().forEach((function(column) {\r\n that._colsArray.push(that._calculateWidth(column.width))\r\n }));\r\n var fonts = [{\r\n size: 11,\r\n color: {\r\n theme: 1\r\n },\r\n name: \"Calibri\",\r\n family: 2,\r\n scheme: \"minor\",\r\n bold: false\r\n }, {\r\n size: 11,\r\n color: {\r\n theme: 1\r\n },\r\n name: \"Calibri\",\r\n family: 2,\r\n scheme: \"minor\",\r\n bold: true\r\n }];\r\n this._excelFile.registerFont(fonts[0]);\r\n this._excelFile.registerFont(fonts[1]);\r\n styles.forEach((function(style) {\r\n var numberFormat = that._tryConvertToExcelNumberFormat(style.format, style.dataType);\r\n if (!isDefined(numberFormat)) {\r\n numberFormat = 0\r\n }\r\n that._styleArray.push({\r\n font: fonts[Number(!!style.bold)],\r\n numberFormat: numberFormat,\r\n alignment: {\r\n vertical: \"top\",\r\n wrapText: !!style.wrapText,\r\n horizontal: style.alignment || \"left\"\r\n }\r\n })\r\n }));\r\n that._styleArrayIndexToCellStyleIdMap = that._styleArray.map(item => this._excelFile.registerCellFormat(item))\r\n },\r\n _prepareCellData: function() {\r\n this._cellsArray = this._getDataArray()\r\n },\r\n _createXMLRelationships: function(xmlRelationships) {\r\n return this._getXMLTag(\"Relationships\", [{\r\n name: \"xmlns\",\r\n value: OPEN_XML_FORMAT_URL + \"/package/2006/relationships\"\r\n }], xmlRelationships)\r\n },\r\n _createXMLRelationship: function(id, type, target) {\r\n return this._getXMLTag(\"Relationship\", [{\r\n name: \"Id\",\r\n value: \"rId\" + id\r\n }, {\r\n name: \"Type\",\r\n value: OPEN_XML_FORMAT_URL + \"/officeDocument/2006/relationships/\" + type\r\n }, {\r\n name: \"Target\",\r\n value: target\r\n }])\r\n },\r\n _getWorkbookContent: function() {\r\n return XML_TAG + this._getXMLTag(\"workbook\", [{\r\n name: \"xmlns:r\",\r\n value: OPEN_XML_FORMAT_URL + \"/officeDocument/2006/relationships\"\r\n }, {\r\n name: \"xmlns\",\r\n value: OPEN_XML_FORMAT_URL + \"/spreadsheetml/2006/main\"\r\n }], 'Sheet!$1:$1')\r\n },\r\n _getContentTypesContent: function() {\r\n return XML_TAG + ''\r\n },\r\n _generateStylesXML: function() {\r\n var folder = this._zip.folder(XL_FOLDER_NAME);\r\n var XML = \"\";\r\n XML += this._excelFile.generateNumberFormatsXml();\r\n XML += this._excelFile.generateFontsXml();\r\n XML += this._excelFile.generateFillsXml();\r\n XML += BASE_STYLE_XML2;\r\n XML += this._excelFile.generateCellFormatsXml();\r\n XML += this._getXMLTag(\"cellStyles\", [{\r\n name: \"count\",\r\n value: 1\r\n }], this._getXMLTag(\"cellStyle\", [{\r\n name: \"name\",\r\n value: \"Normal\"\r\n }, {\r\n name: \"xfId\",\r\n value: 0\r\n }, {\r\n name: \"builtinId\",\r\n value: 0\r\n }]));\r\n XML = XML_TAG + this._getXMLTag(\"styleSheet\", [{\r\n name: \"xmlns\",\r\n value: OPEN_XML_FORMAT_URL + \"/spreadsheetml/2006/main\"\r\n }], XML);\r\n folder.file(STYLE_FILE_NAME, XML);\r\n this._styleArray = []\r\n },\r\n _generateStringsXML: function() {\r\n var folder = this._zip.folder(XL_FOLDER_NAME);\r\n var stringIndex;\r\n var stringsLength = this._stringArray.length;\r\n var sharedStringXml = XML_TAG;\r\n for (stringIndex = 0; stringIndex < stringsLength; stringIndex++) {\r\n this._stringArray[stringIndex] = this._getXMLTag(\"si\", [], this._getXMLTag(\"t\", [], this._stringArray[stringIndex]))\r\n }\r\n sharedStringXml += this._getXMLTag(\"sst\", [{\r\n name: \"xmlns\",\r\n value: OPEN_XML_FORMAT_URL + \"/spreadsheetml/2006/main\"\r\n }, {\r\n name: \"count\",\r\n value: this._stringArray.length\r\n }, {\r\n name: \"uniqueCount\",\r\n value: this._stringArray.length\r\n }], this._stringArray.join(\"\"));\r\n folder.file(SHAREDSTRING_FILE_NAME, sharedStringXml);\r\n this._stringArray = []\r\n },\r\n _getPaneXML: function() {\r\n var attributes = [{\r\n name: \"activePane\",\r\n value: \"bottomLeft\"\r\n }, {\r\n name: \"state\",\r\n value: \"frozen\"\r\n }];\r\n var frozenArea = this._dataProvider.getFrozenArea();\r\n if (!(frozenArea.x || frozenArea.y)) {\r\n return \"\"\r\n }\r\n if (frozenArea.x) {\r\n attributes.push({\r\n name: \"xSplit\",\r\n value: frozenArea.x\r\n })\r\n }\r\n if (frozenArea.y) {\r\n attributes.push({\r\n name: \"ySplit\",\r\n value: frozenArea.y\r\n })\r\n }\r\n attributes.push({\r\n name: \"topLeftCell\",\r\n value: this._convertToExcelCellRefAndTrackMaxIndex(frozenArea.y, frozenArea.x)\r\n });\r\n return this._getXMLTag(\"pane\", attributes)\r\n },\r\n _getAutoFilterXML: function(maxCellIndex) {\r\n if (this._options.autoFilterEnabled) {\r\n return ''\r\n }\r\n return \"\"\r\n },\r\n _generateWorksheetXML: function() {\r\n var colIndex;\r\n var rowIndex;\r\n var cellData;\r\n var xmlCells;\r\n var xmlRows = [];\r\n var rowsLength = this._cellsArray.length;\r\n var cellsLength;\r\n var colsLength = this._colsArray.length;\r\n var rSpans = \"1:\" + colsLength;\r\n var headerRowCount = this._dataProvider.getHeaderRowCount ? this._dataProvider.getHeaderRowCount() : 1;\r\n var xmlResult = [WORKSHEET_HEADER_XML];\r\n xmlResult.push(this._needSheetPr ? GROUP_SHEET_PR_XML : SINGLE_SHEET_PR_XML);\r\n xmlResult.push('');\r\n xmlResult.push(\"');\r\n xmlResult.push(this._getPaneXML());\r\n xmlResult.push(\"\");\r\n xmlResult.push(' 0 ? this._dataProvider.getGroupLevel(0) : 0) + '\"');\r\n xmlResult.push(' x14ac:dyDescent=\"0.25\"/>');\r\n for (colIndex = 0; colIndex < colsLength; colIndex++) {\r\n this._colsArray[colIndex] = this._getXMLTag(\"col\", [{\r\n name: \"width\",\r\n value: this._colsArray[colIndex]\r\n }, {\r\n name: \"min\",\r\n value: Number(colIndex) + 1\r\n }, {\r\n name: \"max\",\r\n value: Number(colIndex) + 1\r\n }, {\r\n name: \"customWidth\",\r\n value: 1\r\n }])\r\n }\r\n xmlResult.push(this._getXMLTag(\"cols\", [], this._colsArray.join(\"\")) + \"\");\r\n for (rowIndex = 0; rowIndex < rowsLength; rowIndex++) {\r\n xmlCells = [];\r\n cellsLength = this._cellsArray[rowIndex].length;\r\n for (colIndex = 0; colIndex < cellsLength; colIndex++) {\r\n rowIndex = Number(rowIndex);\r\n cellData = this._cellsArray[rowIndex][colIndex];\r\n xmlCells.push(this._getXMLTag(\"c\", [{\r\n name: \"r\",\r\n value: this._convertToExcelCellRefAndTrackMaxIndex(rowIndex, colIndex)\r\n }, {\r\n name: \"s\",\r\n value: cellData.style\r\n }, {\r\n name: \"t\",\r\n value: cellData.type\r\n }], isDefined(cellData.value) ? this._getXMLTag(\"v\", [], cellData.value) : null))\r\n }\r\n xmlRows.push(this._getXMLTag(\"row\", [{\r\n name: \"r\",\r\n value: Number(rowIndex) + 1\r\n }, {\r\n name: \"spans\",\r\n value: rSpans\r\n }, {\r\n name: \"outlineLevel\",\r\n value: rowIndex >= headerRowCount ? this._dataProvider.getGroupLevel(rowIndex) : 0\r\n }, {\r\n name: \"x14ac:dyDescent\",\r\n value: \"0.25\"\r\n }], xmlCells.join(\"\")));\r\n this._cellsArray[rowIndex] = null;\r\n if (xmlRows.length > 1e4) {\r\n xmlResult.push(xmlRows.join(\"\"));\r\n xmlRows = []\r\n }\r\n }\r\n xmlResult.push(xmlRows.join(\"\"));\r\n var rightBottomCellRef = this._convertToExcelCellRef(this._maxRowIndex, this._maxColumnIndex);\r\n xmlResult.push(\"\" + this._getAutoFilterXML(rightBottomCellRef) + this._generateMergingXML() + \"\");\r\n this._zip.folder(XL_FOLDER_NAME).folder(WORKSHEETS_FOLDER).file(WORKSHEET_FILE_NAME, xmlResult.join(\"\"));\r\n this._colsArray = [];\r\n this._cellsArray = []\r\n },\r\n _generateMergingXML: function() {\r\n var k;\r\n var l;\r\n var cellIndex;\r\n var rowIndex;\r\n var rowsLength = isDefined(this._dataProvider.getHeaderRowCount) ? this._dataProvider.getHeaderRowCount() : this._dataProvider.getRowsCount();\r\n var columnsLength = this._dataProvider.getColumns().length;\r\n var usedArea = [];\r\n var mergeArray = [];\r\n var mergeIndex;\r\n var mergeXML = \"\";\r\n for (rowIndex = 0; rowIndex < rowsLength; rowIndex++) {\r\n for (cellIndex = 0; cellIndex !== columnsLength; cellIndex++) {\r\n if (!isDefined(usedArea[rowIndex]) || !isDefined(usedArea[rowIndex][cellIndex])) {\r\n var cellMerge = this._dataProvider.getCellMerging(rowIndex, cellIndex);\r\n if (cellMerge.colspan || cellMerge.rowspan) {\r\n mergeArray.push({\r\n start: this._convertToExcelCellRefAndTrackMaxIndex(rowIndex, cellIndex),\r\n end: this._convertToExcelCellRefAndTrackMaxIndex(rowIndex + (cellMerge.rowspan || 0), cellIndex + (cellMerge.colspan || 0))\r\n });\r\n for (k = rowIndex; k <= rowIndex + cellMerge.rowspan || 0; k++) {\r\n for (l = cellIndex; l <= cellIndex + cellMerge.colspan || 0; l++) {\r\n if (!isDefined(usedArea[k])) {\r\n usedArea[k] = []\r\n }\r\n usedArea[k][l] = true\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n var mergeArrayLength = mergeArray.length;\r\n for (mergeIndex = 0; mergeIndex < mergeArrayLength; mergeIndex++) {\r\n mergeXML += this._getXMLTag(\"mergeCell\", [{\r\n name: \"ref\",\r\n value: mergeArray[mergeIndex].start + \":\" + mergeArray[mergeIndex].end\r\n }])\r\n }\r\n return mergeXML.length ? this._getXMLTag(\"mergeCells\", [{\r\n name: \"count\",\r\n value: mergeArrayLength\r\n }], mergeXML) : \"\"\r\n },\r\n _generateCommonXML: function() {\r\n var relsFileContent = XML_TAG + this._createXMLRelationships(this._createXMLRelationship(1, \"officeDocument\", \"xl/\" + WORKBOOK_FILE_NAME));\r\n var folder = this._zip.folder(XL_FOLDER_NAME);\r\n var relsXML = XML_TAG;\r\n this._zip.folder(\"_\" + RELATIONSHIP_PART_NAME).file(\".\" + RELATIONSHIP_PART_NAME, relsFileContent);\r\n var xmlRelationships = this._createXMLRelationship(1, \"worksheet\", \"worksheets/\" + WORKSHEET_FILE_NAME) + this._createXMLRelationship(2, \"styles\", STYLE_FILE_NAME) + this._createXMLRelationship(3, \"sharedStrings\", SHAREDSTRING_FILE_NAME);\r\n relsXML += this._createXMLRelationships(xmlRelationships);\r\n folder.folder(\"_\" + RELATIONSHIP_PART_NAME).file(WORKBOOK_FILE_NAME + \".rels\", relsXML);\r\n folder.file(WORKBOOK_FILE_NAME, this._getWorkbookContent());\r\n this._zip.file(CONTENTTYPES_FILE_NAME, this._getContentTypesContent())\r\n },\r\n _generateContent: function() {\r\n this._prepareStyleData();\r\n this._prepareCellData();\r\n this._generateWorkXML();\r\n this._generateCommonXML()\r\n },\r\n _generateWorkXML: function() {\r\n this._generateStylesXML();\r\n this._generateStringsXML();\r\n this._generateWorksheetXML()\r\n },\r\n ctor: function(dataProvider, options) {\r\n this._rtlEnabled = options && !!options.rtlEnabled;\r\n this._options = options;\r\n this._maxRowIndex = 0;\r\n this._maxColumnIndex = 0;\r\n this._stringArray = [];\r\n this._stringHash = {};\r\n this._styleArray = [];\r\n this._colsArray = [];\r\n this._cellsArray = [];\r\n this._needSheetPr = false;\r\n this._dataProvider = dataProvider;\r\n this._excelFile = new ExcelFile;\r\n if (isDefined(ExcelCreator.JSZip)) {\r\n this._zip = new ExcelCreator.JSZip\r\n } else {\r\n this._zip = null\r\n }\r\n },\r\n _checkZipState: function() {\r\n if (!this._zip) {\r\n throw errors.Error(\"E1041\", \"JSZip\")\r\n }\r\n },\r\n ready: function() {\r\n return this._dataProvider.ready()\r\n },\r\n getData: function(isBlob) {\r\n var options = {\r\n type: isBlob ? \"blob\" : \"base64\",\r\n compression: \"DEFLATE\",\r\n mimeType: MIME_TYPES.EXCEL\r\n };\r\n var deferred = new Deferred;\r\n this._checkZipState();\r\n this._generateContent();\r\n if (this._zip.generateAsync) {\r\n this._zip.generateAsync(options).then(deferred.resolve)\r\n } else {\r\n deferred.resolve(this._zip.generate(options))\r\n }\r\n return deferred\r\n }\r\n});\r\nExcelCreator.JSZip = JSZip;\r\nexport function getData(data, options) {\r\n var excelCreator = new ExcelCreator(data, options);\r\n excelCreator._checkZipState();\r\n return excelCreator.ready().then(() => excelCreator.getData(isFunction(getWindow().Blob)))\r\n}\r\n","/**\r\n * DevExtreme (esm/exporter/image_creator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport Color from \"../color\";\r\nimport {\r\n isFunction,\r\n isPromise,\r\n isDefined\r\n} from \"../core/utils/type\";\r\nimport {\r\n getSvgElement,\r\n HIDDEN_FOR_EXPORT\r\n} from \"../core/utils/svg\";\r\nimport {\r\n each as _each,\r\n map as _map\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport {\r\n contains\r\n} from \"../core/utils/dom\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n camelize\r\n} from \"../core/utils/inflector\";\r\nimport {\r\n Deferred,\r\n fromPromise\r\n} from \"../core/utils/deferred\";\r\nvar _math = Math;\r\nvar PI = _math.PI;\r\nvar _min = _math.min;\r\nvar _abs = _math.abs;\r\nvar _sqrt = _math.sqrt;\r\nvar _pow = _math.pow;\r\nvar _atan2 = _math.atan2;\r\nvar _cos = _math.cos;\r\nvar _sin = _math.sin;\r\nvar _number = Number;\r\nvar IMAGE_QUALITY = 1;\r\nvar TEXT_DECORATION_LINE_WIDTH_COEFF = .05;\r\nvar DEFAULT_FONT_SIZE = \"10px\";\r\nvar DEFAULT_FONT_FAMILY = \"sans-serif\";\r\nvar DEFAULT_TEXT_COLOR = \"#000\";\r\nvar parseAttributes;\r\n\r\nfunction getStringFromCanvas(canvas, mimeType) {\r\n var dataURL = canvas.toDataURL(mimeType, IMAGE_QUALITY);\r\n var imageData = window.atob(dataURL.substring((\"data:\" + mimeType + \";base64,\").length));\r\n return imageData\r\n}\r\n\r\nfunction arcTo(x1, y1, x2, y2, radius, largeArcFlag, clockwise, context) {\r\n var cBx = (x1 + x2) / 2;\r\n var cBy = (y1 + y2) / 2;\r\n var aB = _atan2(y1 - y2, x1 - x2);\r\n var k = largeArcFlag ? 1 : -1;\r\n aB += PI / 180 * 90 * (clockwise ? 1 : -1);\r\n var opSide = _sqrt(_pow(x2 - x1, 2) + _pow(y2 - y1, 2)) / 2;\r\n var adjSide = _sqrt(_abs(_pow(radius, 2) - _pow(opSide, 2)));\r\n var centerX = cBx + k * (adjSide * _cos(aB));\r\n var centerY = cBy + k * (adjSide * _sin(aB));\r\n var startAngle = _atan2(y1 - centerY, x1 - centerX);\r\n var endAngle = _atan2(y2 - centerY, x2 - centerX);\r\n context.arc(centerX, centerY, radius, startAngle, endAngle, !clockwise)\r\n}\r\n\r\nfunction getElementOptions(element, rootAppended) {\r\n var attr = parseAttributes(element.attributes || {});\r\n var options = extend({}, attr, {\r\n text: element.textContent.replace(/\\s+/g, \" \"),\r\n textAlign: \"middle\" === attr[\"text-anchor\"] ? \"center\" : attr[\"text-anchor\"]\r\n });\r\n var transform = attr.transform;\r\n var coords;\r\n if (transform) {\r\n coords = transform.match(/translate\\(-*\\d+([.]\\d+)*(,*\\s*-*\\d+([.]\\d+)*)*/);\r\n if (coords) {\r\n coords = coords[0].match(/-*\\d+([.]\\d+)*/g);\r\n options.translateX = _number(coords[0]);\r\n options.translateY = coords[1] ? _number(coords[1]) : 0\r\n }\r\n coords = transform.match(/rotate\\(-*\\d+([.]\\d+)*(,*\\s*-*\\d+([.]\\d+)*,*\\s*-*\\d+([.]\\d+)*)*/);\r\n if (coords) {\r\n coords = coords[0].match(/-*\\d+([.]\\d+)*/g);\r\n options.rotationAngle = _number(coords[0]);\r\n options.rotationX = coords[1] && _number(coords[1]);\r\n options.rotationY = coords[2] && _number(coords[2])\r\n }\r\n coords = transform.match(/scale\\(-*\\d+([.]\\d+)*(,*\\s*-*\\d+([.]\\d+)*)*/);\r\n if (coords) {\r\n coords = coords[0].match(/-*\\d+([.]\\d+)*/g);\r\n options.scaleX = _number(coords[0]);\r\n if (coords.length > 1) {\r\n options.scaleY = _number(coords[1])\r\n } else {\r\n options.scaleY = options.scaleX\r\n }\r\n }\r\n }\r\n parseStyles(element, options, rootAppended);\r\n return options\r\n}\r\n\r\nfunction drawRect(context, options) {\r\n var x = options.x;\r\n var y = options.y;\r\n var width = options.width;\r\n var height = options.height;\r\n var cornerRadius = options.rx;\r\n if (!cornerRadius) {\r\n context.rect(x, y, width, height)\r\n } else {\r\n cornerRadius = _min(cornerRadius, width / 2, height / 2);\r\n context.save();\r\n context.translate(x, y);\r\n context.moveTo(width / 2, 0);\r\n context.arcTo(width, 0, width, height, cornerRadius);\r\n context.arcTo(width, height, 0, height, cornerRadius);\r\n context.arcTo(0, height, 0, 0, cornerRadius);\r\n context.arcTo(0, 0, cornerRadius, 0, cornerRadius);\r\n context.lineTo(width / 2, 0);\r\n context.restore()\r\n }\r\n}\r\n\r\nfunction drawImage(context, options, shared) {\r\n var d = new Deferred;\r\n var image = new window.Image;\r\n image.onload = function() {\r\n context.save();\r\n context.globalAlpha = options.globalAlpha;\r\n transformElement(context, options);\r\n clipElement(context, options, shared);\r\n context.drawImage(image, options.x || 0, options.y || 0, options.width, options.height);\r\n context.restore();\r\n d.resolve()\r\n };\r\n image.onerror = function() {\r\n d.resolve()\r\n };\r\n image.setAttribute(\"crossOrigin\", \"anonymous\");\r\n image.src = options.href || options[\"xlink:href\"];\r\n return d\r\n}\r\n\r\nfunction drawPath(context, dAttr) {\r\n var dArray = dAttr.replace(/,/g, \" \").split(/([A-Z])/i).filter(item => \"\" !== item.trim());\r\n var i = 0;\r\n var params;\r\n var prevParams;\r\n var prevParamsLen;\r\n do {\r\n params = (dArray[i + 1] || \"\").trim().split(\" \");\r\n switch (dArray[i]) {\r\n case \"M\":\r\n context.moveTo(_number(params[0]), _number(params[1]));\r\n i += 2;\r\n break;\r\n case \"L\":\r\n for (var j = 0; j < params.length / 2; j++) {\r\n context.lineTo(_number(params[2 * j]), _number(params[2 * j + 1]))\r\n }\r\n i += 2;\r\n break;\r\n case \"C\":\r\n context.bezierCurveTo(_number(params[0]), _number(params[1]), _number(params[2]), _number(params[3]), _number(params[4]), _number(params[5]));\r\n i += 2;\r\n break;\r\n case \"a\":\r\n prevParams = dArray[i - 1].trim().split(\" \");\r\n prevParamsLen = prevParams.length - 1;\r\n arcTo(_number(prevParams[prevParamsLen - 1]), _number(prevParams[prevParamsLen]), _number(prevParams[prevParamsLen - 1]) + _number(params[5]), _number(prevParams[prevParamsLen]) + _number(params[6]), _number(params[0]), _number(params[3]), _number(params[4]), context);\r\n i += 2;\r\n break;\r\n case \"A\":\r\n prevParams = dArray[i - 1].trim().split(\" \");\r\n prevParamsLen = prevParams.length - 1;\r\n arcTo(_number(prevParams[prevParamsLen - 1]), _number(prevParams[prevParamsLen]), _number(params[5]), _number(params[6]), _number(params[0]), _number(params[3]), _number(params[4]), context);\r\n i += 2;\r\n break;\r\n case \"Z\":\r\n context.closePath();\r\n i += 1;\r\n break;\r\n default:\r\n i++\r\n }\r\n } while (i < dArray.length)\r\n}\r\n\r\nfunction parseStyles(element, options, rootAppended) {\r\n var style = element.style || {};\r\n var field;\r\n for (field in style) {\r\n if (\"\" !== style[field]) {\r\n options[camelize(field)] = style[field]\r\n }\r\n }\r\n if (rootAppended && domAdapter.isElementNode(element)) {\r\n style = window.getComputedStyle(element);\r\n [\"fill\", \"stroke\", \"stroke-width\", \"font-family\", \"font-size\", \"font-style\", \"font-weight\"].forEach((function(prop) {\r\n if (prop in style && \"\" !== style[prop]) {\r\n options[camelize(prop)] = style[prop]\r\n }\r\n }));\r\n [\"opacity\", \"fill-opacity\", \"stroke-opacity\"].forEach((function(prop) {\r\n if (prop in style && \"\" !== style[prop] && \"1\" !== style[prop]) {\r\n options[prop] = _number(style[prop])\r\n }\r\n }))\r\n }\r\n options.textDecoration = options.textDecoration || options.textDecorationLine;\r\n options.globalAlpha = isDefined(options.opacity) ? options.opacity : options.globalAlpha\r\n}\r\n\r\nfunction parseUrl(urlString) {\r\n var matches = urlString && urlString.match(/url\\(.*#(.*?)[\"']?\\)/i);\r\n return matches && matches[1]\r\n}\r\n\r\nfunction setFontStyle(context, options) {\r\n var fontParams = [];\r\n options.fontSize = options.fontSize || DEFAULT_FONT_SIZE;\r\n options.fontFamily = options.fontFamily || DEFAULT_FONT_FAMILY;\r\n options.fill = options.fill || DEFAULT_TEXT_COLOR;\r\n options.fontStyle && fontParams.push(options.fontStyle);\r\n options.fontWeight && fontParams.push(options.fontWeight);\r\n fontParams.push(options.fontSize);\r\n fontParams.push(options.fontFamily);\r\n context.font = fontParams.join(\" \");\r\n context.textAlign = options.textAlign;\r\n context.fillStyle = options.fill;\r\n context.globalAlpha = options.globalAlpha\r\n}\r\n\r\nfunction drawText(context, options, shared) {\r\n setFontStyle(context, options);\r\n applyFilter(context, options, shared);\r\n options.text && context.fillText(options.text, options.x || 0, options.y || 0);\r\n strokeElement(context, options, true);\r\n drawTextDecoration(context, options, shared)\r\n}\r\n\r\nfunction drawTextDecoration(context, options, shared) {\r\n if (!options.textDecoration || \"none\" === options.textDecoration) {\r\n return\r\n }\r\n var x = options.x;\r\n var textWidth = context.measureText(options.text).width;\r\n var textHeight = parseInt(options.fontSize, 10);\r\n var lineHeight = textHeight * TEXT_DECORATION_LINE_WIDTH_COEFF < 1 ? 1 : textHeight * TEXT_DECORATION_LINE_WIDTH_COEFF;\r\n var y = options.y;\r\n switch (options.textDecoration) {\r\n case \"line-through\":\r\n y -= textHeight / 3 + lineHeight / 2;\r\n break;\r\n case \"overline\":\r\n y -= textHeight - lineHeight;\r\n break;\r\n case \"underline\":\r\n y += lineHeight\r\n }\r\n context.rect(x, y, textWidth, lineHeight);\r\n fillElement(context, options, shared);\r\n strokeElement(context, options)\r\n}\r\n\r\nfunction aggregateOpacity(options) {\r\n options.strokeOpacity = void 0 !== options[\"stroke-opacity\"] ? options[\"stroke-opacity\"] : 1;\r\n options.fillOpacity = void 0 !== options[\"fill-opacity\"] ? options[\"fill-opacity\"] : 1;\r\n if (void 0 !== options.opacity) {\r\n options.strokeOpacity *= options.opacity;\r\n options.fillOpacity *= options.opacity\r\n }\r\n}\r\n\r\nfunction hasTspan(element) {\r\n var nodes = element.childNodes;\r\n for (var i = 0; i < nodes.length; i++) {\r\n if (\"tspan\" === nodes[i].tagName) {\r\n return true\r\n }\r\n }\r\n return false\r\n}\r\n\r\nfunction drawTextElement(childNodes, context, options, shared) {\r\n var lines = [];\r\n var line;\r\n var offset = 0;\r\n for (var i = 0; i < childNodes.length; i++) {\r\n var element = childNodes[i];\r\n if (void 0 === element.tagName) {\r\n drawElement(element, context, options, shared)\r\n } else if (\"tspan\" === element.tagName || \"text\" === element.tagName) {\r\n var elementOptions = getElementOptions(element, shared.rootAppended);\r\n var mergedOptions = extend({}, options, elementOptions);\r\n if (\"tspan\" === element.tagName && hasTspan(element)) {\r\n drawTextElement(element.childNodes, context, mergedOptions, shared);\r\n continue\r\n }\r\n mergedOptions.textAlign = \"start\";\r\n if (!line || void 0 !== elementOptions.x) {\r\n line = {\r\n elements: [],\r\n options: [],\r\n widths: [],\r\n offsets: []\r\n };\r\n lines.push(line)\r\n }\r\n if (void 0 !== elementOptions.y) {\r\n offset = 0\r\n }\r\n if (void 0 !== elementOptions.dy) {\r\n offset += parseFloat(elementOptions.dy)\r\n }\r\n line.elements.push(element);\r\n line.options.push(mergedOptions);\r\n line.offsets.push(offset);\r\n setFontStyle(context, mergedOptions);\r\n line.widths.push(context.measureText(mergedOptions.text).width)\r\n }\r\n }\r\n lines.forEach((function(line) {\r\n var commonWidth = line.widths.reduce((function(commonWidth, width) {\r\n return commonWidth + width\r\n }), 0);\r\n var xDiff = 0;\r\n var currentOffset = 0;\r\n if (\"center\" === options.textAlign) {\r\n xDiff = commonWidth / 2\r\n }\r\n if (\"end\" === options.textAlign) {\r\n xDiff = commonWidth\r\n }\r\n line.options.forEach((function(o, index) {\r\n var width = line.widths[index];\r\n o.x = o.x - xDiff + currentOffset;\r\n o.y += line.offsets[index];\r\n currentOffset += width\r\n }));\r\n line.elements.forEach((function(element, index) {\r\n drawTextElement(element.childNodes, context, line.options[index], shared)\r\n }))\r\n }))\r\n}\r\n\r\nfunction drawElement(element, context, parentOptions, shared) {\r\n var tagName = element.tagName;\r\n var isText = \"text\" === tagName || \"tspan\" === tagName || void 0 === tagName;\r\n var isImage = \"image\" === tagName;\r\n var isComment = 8 === element.nodeType;\r\n var options = extend({}, parentOptions, getElementOptions(element, shared.rootAppended));\r\n if (\"hidden\" === options.visibility || options[HIDDEN_FOR_EXPORT] || isComment) {\r\n return\r\n }\r\n context.save();\r\n !isImage && transformElement(context, options);\r\n clipElement(context, options, shared);\r\n aggregateOpacity(options);\r\n var promise;\r\n context.beginPath();\r\n switch (element.tagName) {\r\n case void 0:\r\n drawText(context, options, shared);\r\n break;\r\n case \"text\":\r\n case \"tspan\":\r\n drawTextElement(element.childNodes, context, options, shared);\r\n break;\r\n case \"image\":\r\n promise = drawImage(context, options, shared);\r\n break;\r\n case \"path\":\r\n drawPath(context, options.d);\r\n break;\r\n case \"rect\":\r\n drawRect(context, options);\r\n context.closePath();\r\n break;\r\n case \"circle\":\r\n context.arc(options.cx, options.cy, options.r, 0, 2 * PI, 1)\r\n }\r\n if (!isText) {\r\n applyFilter(context, options, shared);\r\n fillElement(context, options, shared);\r\n strokeElement(context, options)\r\n }\r\n applyGradient(context, options, shared, element);\r\n context.restore();\r\n return promise\r\n}\r\n\r\nfunction applyGradient(context, options, _ref, element) {\r\n var {\r\n gradients: gradients\r\n } = _ref;\r\n if (0 === gradients.length) {\r\n return\r\n }\r\n var id = parseUrl(options.fill);\r\n if (id && gradients[id]) {\r\n var box = element.getBBox();\r\n var gradient = context.createLinearGradient(box.x, 0, box.x + box.width, 0);\r\n gradients[id].forEach(opt => {\r\n var offset = parseInt(opt.offset.replace(/%/, \"\"));\r\n gradient.addColorStop(offset / 100, opt.stopColor)\r\n });\r\n context.globalAlpha = options.opacity;\r\n context.fillStyle = gradient;\r\n context.fill()\r\n }\r\n}\r\n\r\nfunction applyFilter(context, options, shared) {\r\n var filterOptions;\r\n var id = parseUrl(options.filter);\r\n if (id) {\r\n filterOptions = shared.filters[id];\r\n if (!filterOptions) {\r\n filterOptions = {\r\n offsetX: 0,\r\n offsetY: 0,\r\n blur: 0,\r\n color: \"#000\"\r\n }\r\n }\r\n context.shadowOffsetX = filterOptions.offsetX;\r\n context.shadowOffsetY = filterOptions.offsetY;\r\n context.shadowColor = filterOptions.color;\r\n context.shadowBlur = filterOptions.blur\r\n }\r\n}\r\n\r\nfunction transformElement(context, options) {\r\n context.translate(options.translateX || 0, options.translateY || 0);\r\n options.translateX = void 0;\r\n options.translateY = void 0;\r\n if (options.rotationAngle) {\r\n context.translate(options.rotationX || 0, options.rotationY || 0);\r\n context.rotate(options.rotationAngle * PI / 180);\r\n context.translate(-(options.rotationX || 0), -(options.rotationY || 0));\r\n options.rotationAngle = void 0;\r\n options.rotationX = void 0;\r\n options.rotationY = void 0\r\n }\r\n if (isFinite(options.scaleX)) {\r\n context.scale(options.scaleX, options.scaleY);\r\n options.scaleX = void 0;\r\n options.scaleY = void 0\r\n }\r\n}\r\n\r\nfunction clipElement(context, options, shared) {\r\n if (options[\"clip-path\"]) {\r\n drawElement(shared.clipPaths[parseUrl(options[\"clip-path\"])], context, {}, shared);\r\n context.clip();\r\n options[\"clip-path\"] = void 0\r\n }\r\n}\r\n\r\nfunction hex2rgba(hexColor, alpha) {\r\n var color = new Color(hexColor);\r\n return \"rgba(\" + color.r + \",\" + color.g + \",\" + color.b + \",\" + alpha + \")\"\r\n}\r\n\r\nfunction createGradient(element) {\r\n var options = [];\r\n _each(element.childNodes, (_, _ref2) => {\r\n var {\r\n attributes: attributes\r\n } = _ref2;\r\n options.push({\r\n offset: attributes.offset.value,\r\n stopColor: attributes[\"stop-color\"].value\r\n })\r\n });\r\n return options\r\n}\r\n\r\nfunction createFilter(element) {\r\n var color;\r\n var opacity;\r\n var filterOptions = {};\r\n _each(element.childNodes, (function(_, node) {\r\n var attr = node.attributes;\r\n if (!attr.result) {\r\n return\r\n }\r\n switch (attr.result.value) {\r\n case \"gaussianBlurResult\":\r\n filterOptions.blur = _number(attr.stdDeviation.value);\r\n break;\r\n case \"offsetResult\":\r\n filterOptions.offsetX = _number(attr.dx.value);\r\n filterOptions.offsetY = _number(attr.dy.value);\r\n break;\r\n case \"floodResult\":\r\n color = attr[\"flood-color\"] ? attr[\"flood-color\"].value : \"#000\";\r\n opacity = attr[\"flood-opacity\"] ? attr[\"flood-opacity\"].value : 1;\r\n filterOptions.color = hex2rgba(color, opacity)\r\n }\r\n }));\r\n return filterOptions\r\n}\r\n\r\nfunction asyncEach(array, callback) {\r\n var d = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : new Deferred;\r\n var i = 0;\r\n for (; i < array.length; i++) {\r\n var result = callback(array[i]);\r\n if (isPromise(result)) {\r\n result.then(() => {\r\n asyncEach(Array.prototype.slice.call(array, i + 1), callback, d)\r\n });\r\n break\r\n }\r\n }\r\n if (i === array.length) {\r\n d.resolve()\r\n }\r\n return d\r\n}\r\n\r\nfunction drawCanvasElements(elements, context, parentOptions, shared) {\r\n return asyncEach(elements, (function(element) {\r\n switch (element.tagName && element.tagName.toLowerCase()) {\r\n case \"g\":\r\n case \"svg\":\r\n var options = extend({}, parentOptions, getElementOptions(element, shared.rootAppended));\r\n context.save();\r\n transformElement(context, options);\r\n clipElement(context, options, shared);\r\n var onDone = () => {\r\n context.restore()\r\n };\r\n var d = drawCanvasElements(element.childNodes, context, options, shared);\r\n if (isPromise(d)) {\r\n d.then(onDone)\r\n } else {\r\n onDone()\r\n }\r\n return d;\r\n case \"defs\":\r\n return drawCanvasElements(element.childNodes, context, {}, shared);\r\n case \"clippath\":\r\n shared.clipPaths[element.attributes.id.textContent] = element.childNodes[0];\r\n break;\r\n case \"pattern\":\r\n shared.patterns[element.attributes.id.textContent] = element;\r\n break;\r\n case \"filter\":\r\n shared.filters[element.id] = createFilter(element);\r\n break;\r\n case \"lineargradient\":\r\n shared.gradients[element.attributes.id.textContent] = createGradient(element);\r\n break;\r\n default:\r\n return drawElement(element, context, parentOptions, shared)\r\n }\r\n }))\r\n}\r\n\r\nfunction setLineDash(context, options) {\r\n var matches = options[\"stroke-dasharray\"] && options[\"stroke-dasharray\"].match(/(\\d+)/g);\r\n if (matches && matches.length) {\r\n matches = _map(matches, (function(item) {\r\n return _number(item)\r\n }));\r\n context.setLineDash(matches)\r\n }\r\n}\r\n\r\nfunction strokeElement(context, options, isText) {\r\n var stroke = options.stroke;\r\n if (stroke && \"none\" !== stroke && 0 !== options[\"stroke-width\"]) {\r\n setLineDash(context, options);\r\n context.lineJoin = options[\"stroke-linejoin\"];\r\n context.lineWidth = options[\"stroke-width\"];\r\n context.globalAlpha = options.strokeOpacity;\r\n context.strokeStyle = stroke;\r\n isText ? context.strokeText(options.text, options.x, options.y) : context.stroke();\r\n context.globalAlpha = 1\r\n }\r\n}\r\n\r\nfunction getPattern(context, pattern, shared) {\r\n var options = getElementOptions(pattern, shared.rootAppended);\r\n var patternCanvas = imageCreator._createCanvas(options.width, options.height, 0);\r\n var patternContext = patternCanvas.getContext(\"2d\");\r\n drawCanvasElements(pattern.childNodes, patternContext, options, shared);\r\n return context.createPattern(patternCanvas, \"repeat\")\r\n}\r\n\r\nfunction fillElement(context, options, shared) {\r\n var fill = options.fill;\r\n if (fill && \"none\" !== fill) {\r\n if (-1 === fill.search(/url/)) {\r\n context.fillStyle = fill\r\n } else {\r\n var pattern = shared.patterns[parseUrl(fill)];\r\n if (!pattern) {\r\n return\r\n }\r\n context.fillStyle = getPattern(context, pattern, shared)\r\n }\r\n context.globalAlpha = options.fillOpacity;\r\n context.fill();\r\n context.globalAlpha = 1\r\n }\r\n}\r\nparseAttributes = function(attributes) {\r\n var newAttributes = {};\r\n var attr;\r\n _each(attributes, (function(index, item) {\r\n attr = item.textContent;\r\n if (isFinite(attr)) {\r\n attr = _number(attr)\r\n }\r\n newAttributes[item.name.toLowerCase()] = attr\r\n }));\r\n return newAttributes\r\n};\r\n\r\nfunction drawBackground(context, width, height, backgroundColor, margin) {\r\n context.fillStyle = backgroundColor || \"#ffffff\";\r\n context.fillRect(-margin, -margin, width + 2 * margin, height + 2 * margin)\r\n}\r\n\r\nfunction createInvisibleDiv() {\r\n var invisibleDiv = domAdapter.createElement(\"div\");\r\n invisibleDiv.style.left = \"-9999px\";\r\n invisibleDiv.style.position = \"absolute\";\r\n return invisibleDiv\r\n}\r\n\r\nfunction convertSvgToCanvas(svg, canvas, rootAppended) {\r\n return drawCanvasElements(svg.childNodes, canvas.getContext(\"2d\"), {}, {\r\n clipPaths: {},\r\n patterns: {},\r\n filters: {},\r\n gradients: {},\r\n rootAppended: rootAppended\r\n })\r\n}\r\n\r\nfunction getCanvasFromSvg(markup, _ref3) {\r\n var {\r\n width: width,\r\n height: height,\r\n backgroundColor: backgroundColor,\r\n margin: margin,\r\n svgToCanvas: svgToCanvas = convertSvgToCanvas\r\n } = _ref3;\r\n var scaledScreenInfo = calcScaledInfo(width, height);\r\n var canvas = imageCreator._createCanvas(scaledScreenInfo.width, scaledScreenInfo.height, margin);\r\n var context = canvas.getContext(\"2d\");\r\n context.setTransform(scaledScreenInfo.pixelRatio, 0, 0, scaledScreenInfo.pixelRatio, 0, 0);\r\n var svgElem = getSvgElement(markup);\r\n var invisibleDiv;\r\n var markupIsDomElement = domAdapter.isElementNode(markup);\r\n context.translate(margin, margin);\r\n domAdapter.getBody().appendChild(canvas);\r\n if (!markupIsDomElement) {\r\n invisibleDiv = createInvisibleDiv();\r\n invisibleDiv.appendChild(svgElem);\r\n domAdapter.getBody().appendChild(invisibleDiv)\r\n }\r\n if (svgElem.attributes.direction) {\r\n canvas.dir = svgElem.attributes.direction.textContent\r\n }\r\n drawBackground(context, width, height, backgroundColor, margin);\r\n return fromPromise(svgToCanvas(svgElem, canvas, markupIsDomElement && contains(domAdapter.getBody(), markup))).then(() => canvas).always(() => {\r\n invisibleDiv && domAdapter.getBody().removeChild(invisibleDiv);\r\n domAdapter.getBody().removeChild(canvas)\r\n })\r\n}\r\nexport var imageCreator = {\r\n getImageData: function(markup, options) {\r\n var mimeType = \"image/\" + options.format;\r\n if (isFunction(options.__parseAttributesFn)) {\r\n parseAttributes = options.__parseAttributesFn\r\n }\r\n return getCanvasFromSvg(markup, options).then(canvas => getStringFromCanvas(canvas, mimeType))\r\n },\r\n getData: function(markup, options) {\r\n var that = this;\r\n return imageCreator.getImageData(markup, options).then(binaryData => {\r\n var mimeType = \"image/\" + options.format;\r\n var data = isFunction(window.Blob) && !options.useBase64 ? that._getBlob(binaryData, mimeType) : that._getBase64(binaryData);\r\n return data\r\n })\r\n },\r\n _getBlob: function(binaryData, mimeType) {\r\n var i;\r\n var dataArray = new Uint8Array(binaryData.length);\r\n for (i = 0; i < binaryData.length; i++) {\r\n dataArray[i] = binaryData.charCodeAt(i)\r\n }\r\n return new window.Blob([dataArray.buffer], {\r\n type: mimeType\r\n })\r\n },\r\n _getBase64: function(binaryData) {\r\n return window.btoa(binaryData)\r\n },\r\n _createCanvas(width, height, margin) {\r\n var canvas = $(\"\")[0];\r\n canvas.width = width + 2 * margin;\r\n canvas.height = height + 2 * margin;\r\n canvas.hidden = true;\r\n return canvas\r\n }\r\n};\r\nexport function getData(data, options) {\r\n return imageCreator.getData(data, options)\r\n}\r\nexport function testFormats(formats) {\r\n var canvas = imageCreator._createCanvas(100, 100, 0);\r\n return formats.reduce((function(r, f) {\r\n var mimeType = (\"image/\" + f).toLowerCase();\r\n if (-1 !== canvas.toDataURL(mimeType).indexOf(mimeType)) {\r\n r.supported.push(f)\r\n } else {\r\n r.unsupported.push(f)\r\n }\r\n return r\r\n }), {\r\n supported: [],\r\n unsupported: []\r\n })\r\n}\r\nexport function calcScaledInfo(width, height) {\r\n var pixelRatio = window.devicePixelRatio || 1;\r\n return {\r\n pixelRatio: pixelRatio,\r\n width: width * pixelRatio,\r\n height: height * pixelRatio\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/exporter/svg_creator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport ajax from \"../core/utils/ajax\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n getSvgElement,\r\n getSvgMarkup,\r\n HIDDEN_FOR_EXPORT\r\n} from \"../core/utils/svg\";\r\nimport {\r\n when,\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nexport var svgCreator = {\r\n _markup: \"\",\r\n _imageArray: {},\r\n _imageDeferreds: [],\r\n _getBinaryFile: function(src, callback) {\r\n ajax.sendRequest({\r\n url: src,\r\n method: \"GET\",\r\n responseType: \"arraybuffer\"\r\n }).done(callback).fail((function() {\r\n callback(false)\r\n }))\r\n },\r\n _loadImages: function() {\r\n var that = this;\r\n each(that._imageArray, (function(src) {\r\n var deferred = new Deferred;\r\n that._imageDeferreds.push(deferred);\r\n that._getBinaryFile(src, (function(response) {\r\n if (!response) {\r\n delete that._imageArray[src];\r\n deferred.resolve();\r\n return\r\n }\r\n var i;\r\n var binary = \"\";\r\n var bytes = new Uint8Array(response);\r\n var length = bytes.byteLength;\r\n for (i = 0; i < length; i++) {\r\n binary += String.fromCharCode(bytes[i])\r\n }\r\n that._imageArray[src] = \"data:image/png;base64,\" + window.btoa(binary);\r\n deferred.resolve()\r\n }))\r\n }))\r\n },\r\n _parseImages: function(element) {\r\n var href;\r\n var that = this;\r\n if (\"image\" === element.tagName) {\r\n href = $(element).attr(\"href\") || $(element).attr(\"xlink:href\");\r\n if (!that._imageArray[href]) {\r\n that._imageArray[href] = \"\"\r\n }\r\n }\r\n each(element.childNodes, (function(_, element) {\r\n that._parseImages(element)\r\n }))\r\n },\r\n _prepareImages: function(svgElem) {\r\n this._parseImages(svgElem);\r\n this._loadImages();\r\n return when.apply($, this._imageDeferreds)\r\n },\r\n getData: function(data, options) {\r\n var markup;\r\n var that = this;\r\n var svgElem = getSvgElement(data);\r\n var $svgObject = $(svgElem);\r\n $svgObject.find(\"[\".concat(HIDDEN_FOR_EXPORT, \"]\")).remove();\r\n markup = '' + getSvgMarkup($svgObject.get(0), options.backgroundColor);\r\n return that._prepareImages(svgElem).then(() => {\r\n each(that._imageArray, (function(href, dataURI) {\r\n var regexpString = \"href=['|\\\"]\".concat(href, \"['|\\\"]\");\r\n markup = markup.replace(new RegExp(regexpString, \"gi\"), 'href=\"'.concat(dataURI, '\"'))\r\n }));\r\n return isFunction(window.Blob) ? that._getBlob(markup) : that._getBase64(markup)\r\n })\r\n },\r\n _getBlob: function(markup) {\r\n return new window.Blob([markup], {\r\n type: \"image/svg+xml\"\r\n })\r\n },\r\n _getBase64: function(markup) {\r\n return window.btoa(markup)\r\n }\r\n};\r\nexport function getData(data, options) {\r\n return svgCreator.getData(data, options)\r\n}\r\n","/**\r\n * DevExtreme (esm/exporter/pdf_creator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n version\r\n} from \"../core/version\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n imageCreator,\r\n calcScaledInfo\r\n} from \"./image_creator\";\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nvar mainPageTemplate = \"%PDF-1.3\\r\\n2 0 obj\\r\\n<>>>\\r\\nendobj\\r\\n4 0 obj\\r\\n<>\\r\\nendobj\\r\\n7 0 obj\\r\\n<>\\r\\nendobj\\r\\n1 0 obj\\r\\n<>\\r\\nendobj\\r\\n\";\r\nvar contentTemplate = \"3 0 obj\\r\\n<>stream\\r\\n0.20 w\\n0 G\\nq _width_ 0 0 _height_ 0.00 0.00 cm /I0 Do Q\\r\\nendstream\\r\\nendobj\\r\\n\";\r\nvar infoTemplate = \"6 0 obj\\r\\n<>\\r\\nendobj\\r\\n\";\r\nvar imageStartTemplate = \"5 0 obj\\r\\n<>stream\\r\\n\";\r\nvar imageEndTemplate = \"\\r\\nendstream\\r\\nendobj\\r\\n\";\r\nvar trailerTemplate = \"trailer\\r\\n<<\\r\\n/Size 8\\r\\n/Root 7 0 R\\r\\n/Info 6 0 R\\r\\n>>\\r\\nstartxref\\r\\n_length_\\r\\n%%EOF\";\r\nvar xrefTemplate = \"xref\\r\\n0 8\\r\\n0000000000 65535 f\\r\\n0000000241 00000 n\\r\\n0000000010 00000 n\\r\\n_main_ 00000 n\\r\\n0000000089 00000 n\\r\\n_image_ 00000 n\\r\\n_info_ 00000 n\\r\\n0000000143 00000 n\\r\\n\";\r\nvar pad = function pad(str, len) {\r\n return str.length < len ? pad(\"0\" + str, len) : str\r\n};\r\nvar composePdfString = function(imageString, options, curDate) {\r\n var margin = 2 * (options.margin || 0);\r\n var {\r\n width: width,\r\n height: height\r\n } = calcScaledInfo(options.width, options.height);\r\n width += margin;\r\n height += margin;\r\n var widthPt = (.75 * width).toFixed(2);\r\n var heightPt = (.75 * height).toFixed(2);\r\n var flooredWidth = Math.floor(width);\r\n var flooredHeight = Math.floor(height);\r\n var mainPage = mainPageTemplate.replace(\"_width_\", widthPt).replace(\"_height_\", heightPt);\r\n var content = contentTemplate.replace(\"_width_\", widthPt).replace(\"_height_\", heightPt);\r\n var info = infoTemplate.replace(\"_date_\", curDate).replace(\"_version_\", version);\r\n var image = imageStartTemplate.replace(\"_width_\", flooredWidth).replace(\"_height_\", flooredHeight).replace(\"_length_\", imageString.length) + imageString + imageEndTemplate;\r\n var xref = getXref(mainPage.length, content.length, info.length);\r\n var mainContent = mainPage + content + info + image;\r\n var trailer = trailerTemplate.replace(\"_length_\", mainContent.length);\r\n return mainContent + xref + trailer\r\n};\r\n\r\nfunction getXref(mainPageLength, contentLength, infoLength) {\r\n return xrefTemplate.replace(\"_main_\", pad(mainPageLength + \"\", 10)).replace(\"_info_\", pad(mainPageLength + contentLength + \"\", 10)).replace(\"_image_\", pad(mainPageLength + contentLength + infoLength + \"\", 10))\r\n}\r\nvar getCurDate = function() {\r\n return new Date\r\n};\r\nvar getBlob = function(binaryData) {\r\n var i = 0;\r\n var dataArray = new Uint8Array(binaryData.length);\r\n for (; i < binaryData.length; i++) {\r\n dataArray[i] = binaryData.charCodeAt(i)\r\n }\r\n return new window.Blob([dataArray.buffer], {\r\n type: \"application/pdf\"\r\n })\r\n};\r\nvar getBase64 = function(binaryData) {\r\n return window.btoa(binaryData)\r\n};\r\n\r\nfunction getTwoDigitValue(value) {\r\n var stringValue = value.toString();\r\n if (1 === stringValue.length) {\r\n return \"0\".concat(value)\r\n }\r\n return value\r\n}\r\n\r\nfunction convertToPdfDateFormat(date) {\r\n var dateUnits = [date.getUTCFullYear(), getTwoDigitValue(date.getUTCMonth()), getTwoDigitValue(date.getUTCDate()), getTwoDigitValue(date.getUTCHours()), getTwoDigitValue(date.getUTCMinutes()), getTwoDigitValue(date.getUTCSeconds())];\r\n return \"(D:\".concat(dateUnits.join(\"\"), \"Z00'00')\")\r\n}\r\nexport function getData(data, options) {\r\n return imageCreator.getImageData(data, extend({}, options, {\r\n format: \"JPEG\"\r\n })).then(imageString => {\r\n var binaryData = composePdfString(imageString, options, convertToPdfDateFormat(getCurDate()));\r\n var pdfData = isFunction(window.Blob) ? getBlob(binaryData) : getBase64(binaryData);\r\n return pdfData\r\n })\r\n}\r\n","/**\r\n * DevExtreme (esm/exporter.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n fileSaver\r\n} from \"./exporter/file_saver\";\r\nimport {\r\n ExcelCreator,\r\n getData as getExcelData\r\n} from \"./exporter/excel_creator\";\r\nimport {\r\n imageCreator,\r\n testFormats,\r\n getData as getImageData\r\n} from \"./exporter/image_creator\";\r\nimport {\r\n svgCreator,\r\n getData as getSvgData\r\n} from \"./exporter/svg_creator\";\r\nimport {\r\n isFunction as _isFunction,\r\n isBoolean\r\n} from \"./core/utils/type\";\r\nimport {\r\n Deferred\r\n} from \"./core/utils/deferred\";\r\nimport formatConverter from \"./exporter/excel_format_converter\";\r\nimport {\r\n getData\r\n} from \"./exporter/pdf_creator\";\r\n\r\nfunction _export(data, options, getData) {\r\n if (!data) {\r\n return (new Deferred).resolve()\r\n }\r\n var exportingAction = options.exportingAction;\r\n var exportedAction = options.exportedAction;\r\n var fileSavingAction = options.fileSavingAction;\r\n var eventArgs = {\r\n fileName: options.fileName,\r\n format: options.format,\r\n cancel: false\r\n };\r\n if (isBoolean(options.selectedRowsOnly)) {\r\n eventArgs.selectedRowsOnly = options.selectedRowsOnly\r\n }\r\n _isFunction(exportingAction) && exportingAction(eventArgs);\r\n if (!eventArgs.cancel) {\r\n return getData(data, options).then(blob => {\r\n _isFunction(exportedAction) && exportedAction();\r\n if (_isFunction(fileSavingAction)) {\r\n eventArgs.data = blob;\r\n fileSavingAction(eventArgs)\r\n }\r\n if (!eventArgs.cancel) {\r\n var format = \"xlsx\" === options.format ? \"EXCEL\" : options.format;\r\n fileSaver.saveAs(eventArgs.fileName, format, blob)\r\n }\r\n })\r\n }\r\n return (new Deferred).resolve()\r\n}\r\nexport {\r\n _export as\r\n export, fileSaver\r\n};\r\nexport var excel = {\r\n creator: ExcelCreator,\r\n getData: getExcelData,\r\n formatConverter: formatConverter\r\n};\r\nexport var image = {\r\n creator: imageCreator,\r\n getData: getImageData,\r\n testFormats: testFormats\r\n};\r\nexport var pdf = {\r\n getData: getData\r\n};\r\nexport var svg = {\r\n creator: svgCreator,\r\n getData: getSvgData\r\n};\r\n","/**\r\n * DevExtreme (esm/exporter/file_saver.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport {\r\n getWindow,\r\n getNavigator\r\n} from \"../core/utils/window\";\r\nimport errors from \"../ui/widget/ui.errors\";\r\nimport {\r\n isDefined,\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport {\r\n logger\r\n} from \"../core/utils/console\";\r\nvar window = getWindow();\r\nvar navigator = getNavigator();\r\nvar FILE_EXTESIONS = {\r\n EXCEL: \"xlsx\",\r\n CSS: \"css\",\r\n PNG: \"png\",\r\n JPEG: \"jpeg\",\r\n GIF: \"gif\",\r\n SVG: \"svg\",\r\n PDF: \"pdf\"\r\n};\r\nexport var MIME_TYPES = {\r\n CSS: \"text/css\",\r\n EXCEL: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\r\n PNG: \"image/png\",\r\n JPEG: \"image/jpeg\",\r\n GIF: \"image/gif\",\r\n SVG: \"image/svg+xml\",\r\n PDF: \"application/pdf\"\r\n};\r\nexport var fileSaver = {\r\n _revokeObjectURLTimeout: 3e4,\r\n _getDataUri: function(format, data) {\r\n var mimeType = this._getMimeType(format);\r\n return \"data:\".concat(mimeType, \";base64,\").concat(data)\r\n },\r\n _getMimeType: function(format) {\r\n return MIME_TYPES[format] || \"application/octet-stream\"\r\n },\r\n _linkDownloader: function(fileName, href) {\r\n var exportLinkElement = domAdapter.createElement(\"a\");\r\n exportLinkElement.download = fileName;\r\n exportLinkElement.href = href;\r\n exportLinkElement.target = \"_blank\";\r\n return exportLinkElement\r\n },\r\n _winJSBlobSave: function(blob, fileName, format) {\r\n var savePicker = new Windows.Storage.Pickers.FileSavePicker;\r\n savePicker.suggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.documentsLibrary;\r\n var fileExtension = FILE_EXTESIONS[format];\r\n if (fileExtension) {\r\n var mimeType = this._getMimeType(format);\r\n savePicker.fileTypeChoices.insert(mimeType, [\".\" + fileExtension])\r\n }\r\n savePicker.suggestedFileName = fileName;\r\n savePicker.pickSaveFileAsync().then((function(file) {\r\n if (file) {\r\n file.openAsync(Windows.Storage.FileAccessMode.readWrite).then((function(outputStream) {\r\n var inputStream = blob.msDetachStream();\r\n Windows.Storage.Streams.RandomAccessStream.copyAsync(inputStream, outputStream).then((function() {\r\n outputStream.flushAsync().done((function() {\r\n inputStream.close();\r\n outputStream.close()\r\n }))\r\n }))\r\n }))\r\n }\r\n }))\r\n },\r\n _click: function(link) {\r\n try {\r\n link.dispatchEvent(new MouseEvent(\"click\", {\r\n cancelable: true\r\n }))\r\n } catch (e) {\r\n var event = domAdapter.getDocument().createEvent(\"MouseEvents\");\r\n event.initMouseEvent(\"click\", true, true, window, 0, 0, 0, 80, 20, false, false, false, false, 0, null);\r\n link.dispatchEvent(event)\r\n }\r\n },\r\n _saveBlobAs: function(fileName, format, data) {\r\n this._blobSaved = false;\r\n if (isDefined(navigator.msSaveOrOpenBlob)) {\r\n navigator.msSaveOrOpenBlob(data, fileName);\r\n this._blobSaved = true\r\n } else if (isDefined(window.WinJS)) {\r\n this._winJSBlobSave(data, fileName, format);\r\n this._blobSaved = true\r\n } else {\r\n var URL = window.URL || window.webkitURL || window.mozURL || window.msURL || window.oURL;\r\n if (isDefined(URL)) {\r\n var objectURL = URL.createObjectURL(data);\r\n var downloadLink = this._linkDownloader(fileName, objectURL);\r\n setTimeout(() => {\r\n URL.revokeObjectURL(objectURL);\r\n this._objectUrlRevoked = true\r\n }, this._revokeObjectURLTimeout);\r\n this._click(downloadLink)\r\n } else {\r\n logger.warn(\"window.URL || window.webkitURL || window.mozURL || window.msURL || window.oURL is not defined\")\r\n }\r\n }\r\n },\r\n saveAs: function(fileName, format, data) {\r\n var fileExtension = FILE_EXTESIONS[format];\r\n if (fileExtension) {\r\n fileName += \".\" + fileExtension\r\n }\r\n if (isFunction(window.Blob)) {\r\n this._saveBlobAs(fileName, format, data)\r\n } else {\r\n if (!isDefined(navigator.userAgent.match(/iPad/i))) {\r\n errors.log(\"E1034\")\r\n }\r\n var downloadLink = this._linkDownloader(fileName, this._getDataUri(format, data));\r\n this._click(downloadLink)\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/format_helper.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isString,\r\n isNumeric,\r\n isFunction,\r\n isDefined,\r\n isDate,\r\n isPlainObject\r\n} from \"./core/utils/type\";\r\nimport dateUtils from \"./core/utils/date\";\r\nimport numberLocalization from \"./localization/number\";\r\nimport dateLocalization from \"./localization/date\";\r\nimport dependencyInjector from \"./core/utils/dependency_injector\";\r\nimport \"./localization/currency\";\r\nexport default dependencyInjector({\r\n format: function(value, _format) {\r\n var formatIsValid = isString(_format) && \"\" !== _format || isPlainObject(_format) || isFunction(_format);\r\n var valueIsValid = isNumeric(value) || isDate(value);\r\n if (!formatIsValid || !valueIsValid) {\r\n return isDefined(value) ? value.toString() : \"\"\r\n }\r\n if (isFunction(_format)) {\r\n return _format(value)\r\n }\r\n if (isString(_format)) {\r\n _format = {\r\n type: _format\r\n }\r\n }\r\n if (isNumeric(value)) {\r\n return numberLocalization.format(value, _format)\r\n }\r\n if (isDate(value)) {\r\n return dateLocalization.format(value, _format)\r\n }\r\n },\r\n getTimeFormat: function(showSecond) {\r\n return showSecond ? \"longtime\" : \"shorttime\"\r\n },\r\n _normalizeFormat: function(format) {\r\n if (!Array.isArray(format)) {\r\n return format\r\n }\r\n if (1 === format.length) {\r\n return format[0]\r\n }\r\n return function(date) {\r\n return format.map((function(formatPart) {\r\n return dateLocalization.format(date, formatPart)\r\n })).join(\" \")\r\n }\r\n },\r\n getDateFormatByDifferences: function(dateDifferences, intervalFormat) {\r\n var resultFormat = [];\r\n var needSpecialSecondFormatter = intervalFormat && dateDifferences.millisecond && !(dateDifferences.year || dateDifferences.month || dateDifferences.day);\r\n if (needSpecialSecondFormatter) {\r\n resultFormat.push((function(date) {\r\n return date.getSeconds() + date.getMilliseconds() / 1e3 + \"s\"\r\n }))\r\n } else if (dateDifferences.millisecond) {\r\n resultFormat.push(\"millisecond\")\r\n }\r\n if (dateDifferences.hour || dateDifferences.minute || !needSpecialSecondFormatter && dateDifferences.second) {\r\n resultFormat.unshift(this.getTimeFormat(dateDifferences.second))\r\n }\r\n if (dateDifferences.year && dateDifferences.month && dateDifferences.day) {\r\n if (intervalFormat && \"month\" === intervalFormat) {\r\n return \"monthandyear\"\r\n } else {\r\n resultFormat.unshift(\"shortdate\");\r\n return this._normalizeFormat(resultFormat)\r\n }\r\n }\r\n if (dateDifferences.year && dateDifferences.month) {\r\n return \"monthandyear\"\r\n }\r\n if (dateDifferences.year && dateDifferences.quarter) {\r\n return \"quarterandyear\"\r\n }\r\n if (dateDifferences.year) {\r\n return \"year\"\r\n }\r\n if (dateDifferences.quarter) {\r\n return \"quarter\"\r\n }\r\n if (dateDifferences.month && dateDifferences.day) {\r\n if (intervalFormat) {\r\n resultFormat.unshift((function(date) {\r\n return dateLocalization.getMonthNames(\"abbreviated\")[date.getMonth()] + \" \" + dateLocalization.format(date, \"day\")\r\n }))\r\n } else {\r\n resultFormat.unshift(\"monthandday\")\r\n }\r\n return this._normalizeFormat(resultFormat)\r\n }\r\n if (dateDifferences.month) {\r\n return \"month\"\r\n }\r\n if (dateDifferences.day) {\r\n if (intervalFormat) {\r\n resultFormat.unshift(\"day\")\r\n } else {\r\n resultFormat.unshift((function(date) {\r\n return dateLocalization.format(date, \"dayofweek\") + \", \" + dateLocalization.format(date, \"day\")\r\n }))\r\n }\r\n return this._normalizeFormat(resultFormat)\r\n }\r\n return this._normalizeFormat(resultFormat)\r\n },\r\n getDateFormatByTicks: function(ticks) {\r\n var maxDiff;\r\n var currentDiff;\r\n var i;\r\n if (ticks.length > 1) {\r\n maxDiff = dateUtils.getDatesDifferences(ticks[0], ticks[1]);\r\n for (i = 1; i < ticks.length - 1; i++) {\r\n currentDiff = dateUtils.getDatesDifferences(ticks[i], ticks[i + 1]);\r\n if (maxDiff.count < currentDiff.count) {\r\n maxDiff = currentDiff\r\n }\r\n }\r\n } else {\r\n maxDiff = {\r\n year: true,\r\n month: true,\r\n day: true,\r\n hour: ticks[0].getHours() > 0,\r\n minute: ticks[0].getMinutes() > 0,\r\n second: ticks[0].getSeconds() > 0,\r\n millisecond: ticks[0].getMilliseconds() > 0\r\n }\r\n }\r\n var resultFormat = this.getDateFormatByDifferences(maxDiff);\r\n return resultFormat\r\n },\r\n getDateFormatByTickInterval: function(startValue, endValue, tickInterval) {\r\n var dateUnitInterval;\r\n var correctDateDifferences = function(dateDifferences, tickInterval, value) {\r\n switch (tickInterval) {\r\n case \"year\":\r\n case \"quarter\":\r\n dateDifferences.month = value;\r\n case \"month\":\r\n dateDifferences.day = value;\r\n case \"week\":\r\n case \"day\":\r\n dateDifferences.hour = value;\r\n case \"hour\":\r\n dateDifferences.minute = value;\r\n case \"minute\":\r\n dateDifferences.second = value;\r\n case \"second\":\r\n dateDifferences.millisecond = value\r\n }\r\n };\r\n tickInterval = isString(tickInterval) ? tickInterval.toLowerCase() : tickInterval;\r\n var dateDifferences = dateUtils.getDatesDifferences(startValue, endValue);\r\n if (startValue !== endValue) {\r\n ! function(differences, minDate, maxDate) {\r\n if (!maxDate.getMilliseconds() && maxDate.getSeconds()) {\r\n if (maxDate.getSeconds() - minDate.getSeconds() === 1) {\r\n differences.millisecond = true;\r\n differences.second = false\r\n }\r\n } else if (!maxDate.getSeconds() && maxDate.getMinutes()) {\r\n if (maxDate.getMinutes() - minDate.getMinutes() === 1) {\r\n differences.second = true;\r\n differences.minute = false\r\n }\r\n } else if (!maxDate.getMinutes() && maxDate.getHours()) {\r\n if (maxDate.getHours() - minDate.getHours() === 1) {\r\n differences.minute = true;\r\n differences.hour = false\r\n }\r\n } else if (!maxDate.getHours() && maxDate.getDate() > 1) {\r\n if (maxDate.getDate() - minDate.getDate() === 1) {\r\n differences.hour = true;\r\n differences.day = false\r\n }\r\n } else if (1 === maxDate.getDate() && maxDate.getMonth()) {\r\n if (maxDate.getMonth() - minDate.getMonth() === 1) {\r\n differences.day = true;\r\n differences.month = false\r\n }\r\n } else if (!maxDate.getMonth() && maxDate.getFullYear()) {\r\n if (maxDate.getFullYear() - minDate.getFullYear() === 1) {\r\n differences.month = true;\r\n differences.year = false\r\n }\r\n }\r\n }(dateDifferences, startValue > endValue ? endValue : startValue, startValue > endValue ? startValue : endValue)\r\n }\r\n dateUnitInterval = dateUtils.getDateUnitInterval(dateDifferences);\r\n correctDateDifferences(dateDifferences, dateUnitInterval, true);\r\n dateUnitInterval = dateUtils.getDateUnitInterval(tickInterval || \"second\");\r\n correctDateDifferences(dateDifferences, dateUnitInterval, false);\r\n dateDifferences[{\r\n week: \"day\"\r\n } [dateUnitInterval] || dateUnitInterval] = true;\r\n var resultFormat = this.getDateFormatByDifferences(dateDifferences);\r\n return resultFormat\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/localization.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport core from \"./localization/core\";\r\nimport message from \"./localization/message\";\r\nimport number from \"./localization/number\";\r\nimport date from \"./localization/date\";\r\nimport \"./localization/currency\";\r\nexport var locale = core.locale.bind(core);\r\nexport var loadMessages = message.load.bind(message);\r\nexport var formatMessage = message.format.bind(message);\r\nexport var formatNumber = number.format.bind(number);\r\nexport var parseNumber = number.parse.bind(number);\r\nexport var formatDate = date.format.bind(date);\r\nexport var parseDate = date.parse.bind(date);\r\nexport {\r\n message,\r\n number,\r\n date\r\n};\r\nexport function disableIntl() {\r\n if (\"intl\" === number.engine()) {\r\n number.resetInjection()\r\n }\r\n if (\"intl\" === date.engine()) {\r\n date.resetInjection()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/localization/cldr-data/parent_locales.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n// !!! AUTO-GENERATED FILE, DO NOT EDIT\r\nexport default {\r\n \"en-150\": \"en-001\",\r\n \"en-AG\": \"en-001\",\r\n \"en-AI\": \"en-001\",\r\n \"en-AU\": \"en-001\",\r\n \"en-BB\": \"en-001\",\r\n \"en-BM\": \"en-001\",\r\n \"en-BS\": \"en-001\",\r\n \"en-BW\": \"en-001\",\r\n \"en-BZ\": \"en-001\",\r\n \"en-CC\": \"en-001\",\r\n \"en-CK\": \"en-001\",\r\n \"en-CM\": \"en-001\",\r\n \"en-CX\": \"en-001\",\r\n \"en-CY\": \"en-001\",\r\n \"en-DG\": \"en-001\",\r\n \"en-DM\": \"en-001\",\r\n \"en-ER\": \"en-001\",\r\n \"en-FJ\": \"en-001\",\r\n \"en-FK\": \"en-001\",\r\n \"en-FM\": \"en-001\",\r\n \"en-GB\": \"en-001\",\r\n \"en-GD\": \"en-001\",\r\n \"en-GG\": \"en-001\",\r\n \"en-GH\": \"en-001\",\r\n \"en-GI\": \"en-001\",\r\n \"en-GM\": \"en-001\",\r\n \"en-GY\": \"en-001\",\r\n \"en-HK\": \"en-001\",\r\n \"en-IE\": \"en-001\",\r\n \"en-IL\": \"en-001\",\r\n \"en-IM\": \"en-001\",\r\n \"en-IN\": \"en-001\",\r\n \"en-IO\": \"en-001\",\r\n \"en-JE\": \"en-001\",\r\n \"en-JM\": \"en-001\",\r\n \"en-KE\": \"en-001\",\r\n \"en-KI\": \"en-001\",\r\n \"en-KN\": \"en-001\",\r\n \"en-KY\": \"en-001\",\r\n \"en-LC\": \"en-001\",\r\n \"en-LR\": \"en-001\",\r\n \"en-LS\": \"en-001\",\r\n \"en-MG\": \"en-001\",\r\n \"en-MO\": \"en-001\",\r\n \"en-MS\": \"en-001\",\r\n \"en-MT\": \"en-001\",\r\n \"en-MU\": \"en-001\",\r\n \"en-MV\": \"en-001\",\r\n \"en-MW\": \"en-001\",\r\n \"en-MY\": \"en-001\",\r\n \"en-NA\": \"en-001\",\r\n \"en-NF\": \"en-001\",\r\n \"en-NG\": \"en-001\",\r\n \"en-NR\": \"en-001\",\r\n \"en-NU\": \"en-001\",\r\n \"en-NZ\": \"en-001\",\r\n \"en-PG\": \"en-001\",\r\n \"en-PK\": \"en-001\",\r\n \"en-PN\": \"en-001\",\r\n \"en-PW\": \"en-001\",\r\n \"en-RW\": \"en-001\",\r\n \"en-SB\": \"en-001\",\r\n \"en-SC\": \"en-001\",\r\n \"en-SD\": \"en-001\",\r\n \"en-SG\": \"en-001\",\r\n \"en-SH\": \"en-001\",\r\n \"en-SL\": \"en-001\",\r\n \"en-SS\": \"en-001\",\r\n \"en-SX\": \"en-001\",\r\n \"en-SZ\": \"en-001\",\r\n \"en-TC\": \"en-001\",\r\n \"en-TK\": \"en-001\",\r\n \"en-TO\": \"en-001\",\r\n \"en-TT\": \"en-001\",\r\n \"en-TV\": \"en-001\",\r\n \"en-TZ\": \"en-001\",\r\n \"en-UG\": \"en-001\",\r\n \"en-VC\": \"en-001\",\r\n \"en-VG\": \"en-001\",\r\n \"en-VU\": \"en-001\",\r\n \"en-WS\": \"en-001\",\r\n \"en-ZA\": \"en-001\",\r\n \"en-ZM\": \"en-001\",\r\n \"en-ZW\": \"en-001\",\r\n \"en-AT\": \"en-150\",\r\n \"en-BE\": \"en-150\",\r\n \"en-CH\": \"en-150\",\r\n \"en-DE\": \"en-150\",\r\n \"en-DK\": \"en-150\",\r\n \"en-FI\": \"en-150\",\r\n \"en-NL\": \"en-150\",\r\n \"en-SE\": \"en-150\",\r\n \"en-SI\": \"en-150\",\r\n \"hi-Latn\": \"en-IN\",\r\n \"es-AR\": \"es-419\",\r\n \"es-BO\": \"es-419\",\r\n \"es-BR\": \"es-419\",\r\n \"es-BZ\": \"es-419\",\r\n \"es-CL\": \"es-419\",\r\n \"es-CO\": \"es-419\",\r\n \"es-CR\": \"es-419\",\r\n \"es-CU\": \"es-419\",\r\n \"es-DO\": \"es-419\",\r\n \"es-EC\": \"es-419\",\r\n \"es-GT\": \"es-419\",\r\n \"es-HN\": \"es-419\",\r\n \"es-MX\": \"es-419\",\r\n \"es-NI\": \"es-419\",\r\n \"es-PA\": \"es-419\",\r\n \"es-PE\": \"es-419\",\r\n \"es-PR\": \"es-419\",\r\n \"es-PY\": \"es-419\",\r\n \"es-SV\": \"es-419\",\r\n \"es-US\": \"es-419\",\r\n \"es-UY\": \"es-419\",\r\n \"es-VE\": \"es-419\",\r\n nb: \"no\",\r\n nn: \"no\",\r\n \"pt-AO\": \"pt-PT\",\r\n \"pt-CH\": \"pt-PT\",\r\n \"pt-CV\": \"pt-PT\",\r\n \"pt-FR\": \"pt-PT\",\r\n \"pt-GQ\": \"pt-PT\",\r\n \"pt-GW\": \"pt-PT\",\r\n \"pt-LU\": \"pt-PT\",\r\n \"pt-MO\": \"pt-PT\",\r\n \"pt-MZ\": \"pt-PT\",\r\n \"pt-ST\": \"pt-PT\",\r\n \"pt-TL\": \"pt-PT\",\r\n \"az-Arab\": \"und\",\r\n \"az-Cyrl\": \"und\",\r\n \"bal-Latn\": \"und\",\r\n \"blt-Latn\": \"und\",\r\n \"bm-Nkoo\": \"und\",\r\n \"bs-Cyrl\": \"und\",\r\n \"byn-Latn\": \"und\",\r\n \"cu-Glag\": \"und\",\r\n \"dje-Arab\": \"und\",\r\n \"dyo-Arab\": \"und\",\r\n \"en-Dsrt\": \"und\",\r\n \"en-Shaw\": \"und\",\r\n \"ff-Adlm\": \"und\",\r\n \"ff-Arab\": \"und\",\r\n \"ha-Arab\": \"und\",\r\n \"iu-Latn\": \"und\",\r\n \"kk-Arab\": \"und\",\r\n \"ks-Deva\": \"und\",\r\n \"ku-Arab\": \"und\",\r\n \"ky-Arab\": \"und\",\r\n \"ky-Latn\": \"und\",\r\n \"ml-Arab\": \"und\",\r\n \"mn-Mong\": \"und\",\r\n \"mni-Mtei\": \"und\",\r\n \"ms-Arab\": \"und\",\r\n \"pa-Arab\": \"und\",\r\n \"sat-Deva\": \"und\",\r\n \"sd-Deva\": \"und\",\r\n \"sd-Khoj\": \"und\",\r\n \"sd-Sind\": \"und\",\r\n \"shi-Latn\": \"und\",\r\n \"so-Arab\": \"und\",\r\n \"sr-Latn\": \"und\",\r\n \"sw-Arab\": \"und\",\r\n \"tg-Arab\": \"und\",\r\n \"ug-Cyrl\": \"und\",\r\n \"uz-Arab\": \"und\",\r\n \"uz-Cyrl\": \"und\",\r\n \"vai-Latn\": \"und\",\r\n \"wo-Arab\": \"und\",\r\n \"yo-Arab\": \"und\",\r\n \"yue-Hans\": \"und\",\r\n \"zh-Hant\": \"und\",\r\n \"zh-Hant-MO\": \"zh-Hant-HK\"\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/parentLocale.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar PARENT_LOCALE_SEPARATOR = \"-\";\r\nexport default (parentLocales, locale) => {\r\n var parentLocale = parentLocales[locale];\r\n if (parentLocale) {\r\n return \"root\" !== parentLocale && parentLocale\r\n }\r\n return locale.substr(0, locale.lastIndexOf(PARENT_LOCALE_SEPARATOR))\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/core.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dependencyInjector from \"../core/utils/dependency_injector\";\r\nimport parentLocales from \"./cldr-data/parent_locales\";\r\nimport getParentLocale from \"./parentLocale\";\r\nvar DEFAULT_LOCALE = \"en\";\r\nexport default dependencyInjector({\r\n locale: (() => {\r\n var currentLocale = DEFAULT_LOCALE;\r\n return locale => {\r\n if (!locale) {\r\n return currentLocale\r\n }\r\n currentLocale = locale\r\n }\r\n })(),\r\n getValueByClosestLocale: function(getter) {\r\n var locale = this.locale();\r\n var value = getter(locale);\r\n var isRootLocale;\r\n while (!value && !isRootLocale) {\r\n locale = getParentLocale(parentLocales, locale);\r\n if (locale) {\r\n value = getter(locale)\r\n } else {\r\n isRootLocale = true\r\n }\r\n }\r\n if (void 0 === value && locale !== DEFAULT_LOCALE) {\r\n return getter(DEFAULT_LOCALE)\r\n }\r\n return value\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/localization/currency.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nexport default {\r\n _formatNumberCore: function(value, format, formatConfig) {\r\n if (\"currency\" === format) {\r\n formatConfig.precision = formatConfig.precision || 0;\r\n var result = this.format(value, extend({}, formatConfig, {\r\n type: \"fixedpoint\"\r\n }));\r\n var currencyPart = this.getCurrencySymbol().symbol.replace(/\\$/g, \"$$$$\");\r\n result = result.replace(/^(\\D*)(\\d.*)/, \"$1\" + currencyPart + \"$2\");\r\n return result\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n getCurrencySymbol: function() {\r\n return {\r\n symbol: \"$\"\r\n }\r\n },\r\n getOpenXmlCurrencyFormat: function() {\r\n return \"$#,##0{0}_);\\\\($#,##0{0}\\\\)\"\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/cldr-data/first_day_of_week_data.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n// !!! AUTO-GENERATED FILE, DO NOT EDIT\r\nexport default {\r\n \"af-NA\": 1,\r\n agq: 1,\r\n ak: 1,\r\n ar: 6,\r\n \"ar-EH\": 1,\r\n \"ar-ER\": 1,\r\n \"ar-KM\": 1,\r\n \"ar-LB\": 1,\r\n \"ar-MA\": 1,\r\n \"ar-MR\": 1,\r\n \"ar-PS\": 1,\r\n \"ar-SO\": 1,\r\n \"ar-SS\": 1,\r\n \"ar-TD\": 1,\r\n \"ar-TN\": 1,\r\n asa: 1,\r\n ast: 1,\r\n az: 1,\r\n \"az-Cyrl\": 1,\r\n bas: 1,\r\n be: 1,\r\n bem: 1,\r\n bez: 1,\r\n bg: 1,\r\n bm: 1,\r\n br: 1,\r\n bs: 1,\r\n \"bs-Cyrl\": 1,\r\n ca: 1,\r\n ce: 1,\r\n cgg: 1,\r\n ckb: 6,\r\n cs: 1,\r\n cy: 1,\r\n da: 1,\r\n de: 1,\r\n dje: 1,\r\n dsb: 1,\r\n dua: 1,\r\n dyo: 1,\r\n ee: 1,\r\n el: 1,\r\n \"en-001\": 1,\r\n \"en-AE\": 6,\r\n \"en-BI\": 1,\r\n \"en-MP\": 1,\r\n \"en-MV\": 5,\r\n \"en-SD\": 6,\r\n eo: 1,\r\n es: 1,\r\n et: 1,\r\n eu: 1,\r\n ewo: 1,\r\n fa: 6,\r\n ff: 1,\r\n \"ff-Adlm\": 1,\r\n fi: 1,\r\n fo: 1,\r\n fr: 1,\r\n \"fr-DJ\": 6,\r\n \"fr-DZ\": 6,\r\n \"fr-SY\": 6,\r\n fur: 1,\r\n fy: 1,\r\n ga: 1,\r\n gd: 1,\r\n gl: 1,\r\n gsw: 1,\r\n gv: 1,\r\n ha: 1,\r\n hr: 1,\r\n hsb: 1,\r\n hu: 1,\r\n hy: 1,\r\n ia: 1,\r\n ig: 1,\r\n is: 1,\r\n it: 1,\r\n jgo: 1,\r\n jmc: 1,\r\n ka: 1,\r\n kab: 6,\r\n kde: 1,\r\n kea: 1,\r\n khq: 1,\r\n kk: 1,\r\n kkj: 1,\r\n kl: 1,\r\n \"ko-KP\": 1,\r\n ksb: 1,\r\n ksf: 1,\r\n ksh: 1,\r\n ku: 1,\r\n kw: 1,\r\n ky: 1,\r\n lag: 1,\r\n lb: 1,\r\n lg: 1,\r\n ln: 1,\r\n lrc: 6,\r\n lt: 1,\r\n lu: 1,\r\n lv: 1,\r\n \"mas-TZ\": 1,\r\n mfe: 1,\r\n mg: 1,\r\n mgo: 1,\r\n mi: 1,\r\n mk: 1,\r\n mn: 1,\r\n ms: 1,\r\n mua: 1,\r\n mzn: 6,\r\n naq: 1,\r\n nds: 1,\r\n nl: 1,\r\n nmg: 1,\r\n nnh: 1,\r\n no: 1,\r\n nus: 1,\r\n nyn: 1,\r\n os: 1,\r\n pcm: 1,\r\n pl: 1,\r\n ps: 6,\r\n \"pt-AO\": 1,\r\n \"pt-CH\": 1,\r\n \"pt-CV\": 1,\r\n \"pt-GQ\": 1,\r\n \"pt-GW\": 1,\r\n \"pt-LU\": 1,\r\n \"pt-ST\": 1,\r\n \"pt-TL\": 1,\r\n \"qu-BO\": 1,\r\n \"qu-EC\": 1,\r\n rm: 1,\r\n rn: 1,\r\n ro: 1,\r\n rof: 1,\r\n ru: 1,\r\n rw: 1,\r\n rwk: 1,\r\n sah: 1,\r\n sbp: 1,\r\n sc: 1,\r\n se: 1,\r\n ses: 1,\r\n sg: 1,\r\n shi: 1,\r\n \"shi-Latn\": 1,\r\n si: 1,\r\n sk: 1,\r\n sl: 1,\r\n smn: 1,\r\n so: 1,\r\n \"so-DJ\": 6,\r\n sq: 1,\r\n sr: 1,\r\n \"sr-Latn\": 1,\r\n sv: 1,\r\n sw: 1,\r\n \"ta-LK\": 1,\r\n \"ta-MY\": 1,\r\n teo: 1,\r\n tg: 1,\r\n \"ti-ER\": 1,\r\n tk: 1,\r\n to: 1,\r\n tr: 1,\r\n tt: 1,\r\n twq: 1,\r\n tzm: 1,\r\n uk: 1,\r\n uz: 1,\r\n \"uz-Arab\": 6,\r\n \"uz-Cyrl\": 1,\r\n vai: 1,\r\n \"vai-Latn\": 1,\r\n vi: 1,\r\n vun: 1,\r\n wae: 1,\r\n wo: 1,\r\n xog: 1,\r\n yav: 1,\r\n yi: 1,\r\n yo: 1,\r\n zgh: 1\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/intl/date.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport localizationCoreUtils from \"../core\";\r\nvar SYMBOLS_TO_REMOVE_REGEX = /[\\u200E\\u200F]/g;\r\nvar NARROW_NO_BREAK_SPACE_REGEX = /[\\u202F]/g;\r\nvar getIntlFormatter = format => date => {\r\n if (!format.timeZoneName) {\r\n var year = date.getFullYear();\r\n var recognizableAsTwentyCentury = String(year).length < 3;\r\n var temporaryYearValue = recognizableAsTwentyCentury ? year + 400 : year;\r\n var utcDate = new Date(Date.UTC(temporaryYearValue, date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));\r\n if (recognizableAsTwentyCentury) {\r\n utcDate.setFullYear(year)\r\n }\r\n var utcFormat = extend({\r\n timeZone: \"UTC\"\r\n }, format);\r\n return formatDateTime(utcDate, utcFormat)\r\n }\r\n return formatDateTime(date, format)\r\n};\r\nvar formattersCache = {};\r\nvar getFormatter = format => {\r\n var key = localizationCoreUtils.locale() + \"/\" + JSON.stringify(format);\r\n if (!formattersCache[key]) {\r\n formattersCache[key] = new Intl.DateTimeFormat(localizationCoreUtils.locale(), format).format\r\n }\r\n return formattersCache[key]\r\n};\r\n\r\nfunction formatDateTime(date, format) {\r\n return getFormatter(format)(date).replace(SYMBOLS_TO_REMOVE_REGEX, \"\").replace(NARROW_NO_BREAK_SPACE_REGEX, \" \")\r\n}\r\nvar formatNumber = number => new Intl.NumberFormat(localizationCoreUtils.locale()).format(number);\r\nvar getAlternativeNumeralsMap = (() => {\r\n var numeralsMapCache = {};\r\n return locale => {\r\n if (!(locale in numeralsMapCache)) {\r\n if (\"0\" === formatNumber(0)) {\r\n numeralsMapCache[locale] = false;\r\n return false\r\n }\r\n numeralsMapCache[locale] = {};\r\n for (var i = 0; i < 10; ++i) {\r\n numeralsMapCache[locale][formatNumber(i)] = i\r\n }\r\n }\r\n return numeralsMapCache[locale]\r\n }\r\n})();\r\nvar normalizeNumerals = dateString => {\r\n var alternativeNumeralsMap = getAlternativeNumeralsMap(localizationCoreUtils.locale());\r\n if (!alternativeNumeralsMap) {\r\n return dateString\r\n }\r\n return dateString.split(\"\").map(sign => sign in alternativeNumeralsMap ? String(alternativeNumeralsMap[sign]) : sign).join(\"\")\r\n};\r\nvar removeLeadingZeroes = str => str.replace(/(\\D)0+(\\d)/g, \"$1$2\");\r\nvar dateStringEquals = (actual, expected) => removeLeadingZeroes(actual) === removeLeadingZeroes(expected);\r\nvar normalizeMonth = text => text.replace(\"d\\u2019\", \"de \");\r\nvar intlFormats = {\r\n day: {\r\n day: \"numeric\"\r\n },\r\n dayofweek: {\r\n weekday: \"long\"\r\n },\r\n longdate: {\r\n weekday: \"long\",\r\n year: \"numeric\",\r\n month: \"long\",\r\n day: \"numeric\"\r\n },\r\n longdatelongtime: {\r\n weekday: \"long\",\r\n year: \"numeric\",\r\n month: \"long\",\r\n day: \"numeric\",\r\n hour: \"numeric\",\r\n minute: \"numeric\",\r\n second: \"numeric\"\r\n },\r\n longtime: {\r\n hour: \"numeric\",\r\n minute: \"numeric\",\r\n second: \"numeric\"\r\n },\r\n month: {\r\n month: \"long\"\r\n },\r\n monthandday: {\r\n month: \"long\",\r\n day: \"numeric\"\r\n },\r\n monthandyear: {\r\n year: \"numeric\",\r\n month: \"long\"\r\n },\r\n shortdate: {},\r\n shorttime: {\r\n hour: \"numeric\",\r\n minute: \"numeric\"\r\n },\r\n shortyear: {\r\n year: \"2-digit\"\r\n },\r\n year: {\r\n year: \"numeric\"\r\n }\r\n};\r\nObject.defineProperty(intlFormats, \"shortdateshorttime\", {\r\n get: function() {\r\n var defaultOptions = Intl.DateTimeFormat(localizationCoreUtils.locale()).resolvedOptions();\r\n return {\r\n year: defaultOptions.year,\r\n month: defaultOptions.month,\r\n day: defaultOptions.day,\r\n hour: \"numeric\",\r\n minute: \"numeric\"\r\n }\r\n }\r\n});\r\nvar getIntlFormat = format => \"string\" === typeof format && intlFormats[format.toLowerCase()];\r\nvar monthNameStrategies = {\r\n standalone: function(monthIndex, monthFormat) {\r\n var date = new Date(1999, monthIndex, 13, 1);\r\n var dateString = getIntlFormatter({\r\n month: monthFormat\r\n })(date);\r\n return dateString\r\n },\r\n format: function(monthIndex, monthFormat) {\r\n var date = new Date(0, monthIndex, 13, 1);\r\n var dateString = normalizeMonth(getIntlFormatter({\r\n day: \"numeric\",\r\n month: monthFormat\r\n })(date));\r\n var parts = dateString.split(\" \").filter(part => part.indexOf(\"13\") < 0);\r\n if (1 === parts.length) {\r\n return parts[0]\r\n } else if (2 === parts.length) {\r\n return parts[0].length > parts[1].length ? parts[0] : parts[1]\r\n }\r\n return monthNameStrategies.standalone(monthIndex, monthFormat)\r\n }\r\n};\r\nexport default {\r\n engine: function() {\r\n return \"intl\"\r\n },\r\n getMonthNames: function(format, type) {\r\n var monthFormat = {\r\n wide: \"long\",\r\n abbreviated: \"short\",\r\n narrow: \"narrow\"\r\n } [format || \"wide\"];\r\n type = \"format\" === type ? type : \"standalone\";\r\n return Array.apply(null, new Array(12)).map((_, monthIndex) => monthNameStrategies[type](monthIndex, monthFormat))\r\n },\r\n getDayNames: function(format) {\r\n var result = (format => Array.apply(null, new Array(7)).map((_, dayIndex) => getIntlFormatter({\r\n weekday: format\r\n })(new Date(0, 0, dayIndex))))({\r\n wide: \"long\",\r\n abbreviated: \"short\",\r\n short: \"narrow\",\r\n narrow: \"narrow\"\r\n } [format || \"wide\"]);\r\n return result\r\n },\r\n getPeriodNames: function() {\r\n var hour12Formatter = getIntlFormatter({\r\n hour: \"numeric\",\r\n hour12: true\r\n });\r\n return [1, 13].map(hours => {\r\n var hourNumberText = formatNumber(1);\r\n var timeParts = hour12Formatter(new Date(0, 0, 1, hours)).split(hourNumberText);\r\n if (2 !== timeParts.length) {\r\n return \"\"\r\n }\r\n var biggerPart = timeParts[0].length > timeParts[1].length ? timeParts[0] : timeParts[1];\r\n return biggerPart.trim()\r\n })\r\n },\r\n format: function(date, _format) {\r\n if (!date) {\r\n return\r\n }\r\n if (!_format) {\r\n return date\r\n }\r\n if (\"function\" !== typeof _format && !_format.formatter) {\r\n _format = _format.type || _format\r\n }\r\n var intlFormat = getIntlFormat(_format);\r\n if (intlFormat) {\r\n return getIntlFormatter(intlFormat)(date)\r\n }\r\n var formatType = typeof _format;\r\n if (_format.formatter || \"function\" === formatType || \"string\" === formatType) {\r\n return this.callBase.apply(this, arguments)\r\n }\r\n return getIntlFormatter(_format)(date)\r\n },\r\n parse: function(dateString, format) {\r\n var formatter;\r\n if (format && !format.parser && \"string\" === typeof dateString) {\r\n dateString = normalizeMonth(dateString);\r\n formatter = date => normalizeMonth(this.format(date, format))\r\n }\r\n return this.callBase(dateString, formatter || format)\r\n },\r\n _parseDateBySimpleFormat: function(dateString, format) {\r\n dateString = normalizeNumerals(dateString);\r\n var formatParts = this.getFormatParts(format);\r\n var dateParts = dateString.split(/\\D+/).filter(part => part.length > 0);\r\n if (formatParts.length !== dateParts.length) {\r\n return\r\n }\r\n var dateArgs = this._generateDateArgs(formatParts, dateParts);\r\n var constructValidDate = ampmShift => {\r\n var parsedDate = ((dateArgs, ampmShift) => {\r\n var hoursShift = ampmShift ? 12 : 0;\r\n return new Date(dateArgs.year, dateArgs.month, dateArgs.day, (dateArgs.hours + hoursShift) % 24, dateArgs.minutes, dateArgs.seconds)\r\n })(dateArgs, ampmShift);\r\n if (dateStringEquals(normalizeNumerals(this.format(parsedDate, format)), dateString)) {\r\n return parsedDate\r\n }\r\n };\r\n return constructValidDate(false) || constructValidDate(true)\r\n },\r\n _generateDateArgs: function(formatParts, dateParts) {\r\n var currentDate = new Date;\r\n var dateArgs = {\r\n year: currentDate.getFullYear(),\r\n month: currentDate.getMonth(),\r\n day: currentDate.getDate(),\r\n hours: 0,\r\n minutes: 0,\r\n seconds: 0\r\n };\r\n formatParts.forEach((formatPart, index) => {\r\n var datePart = dateParts[index];\r\n var parsed = parseInt(datePart, 10);\r\n if (\"month\" === formatPart) {\r\n parsed -= 1\r\n }\r\n dateArgs[formatPart] = parsed\r\n });\r\n return dateArgs\r\n },\r\n formatUsesMonthName: function(format) {\r\n if (\"object\" === typeof format && !(format.type || format.format)) {\r\n return \"long\" === format.month\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n formatUsesDayName: function(format) {\r\n if (\"object\" === typeof format && !(format.type || format.format)) {\r\n return \"long\" === format.weekday\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n getTimeSeparator: function() {\r\n return normalizeNumerals(formatDateTime(new Date(2001, 1, 1, 11, 11), {\r\n hour: \"numeric\",\r\n minute: \"numeric\",\r\n hour12: false\r\n })).replace(/\\d/g, \"\")\r\n },\r\n getFormatParts: function(format) {\r\n if (\"string\" === typeof format) {\r\n return this.callBase(format)\r\n }\r\n var intlFormat = extend({}, intlFormats[format.toLowerCase()]);\r\n var date = new Date(2001, 2, 4, 5, 6, 7);\r\n var formattedDate = getIntlFormatter(intlFormat)(date);\r\n formattedDate = normalizeNumerals(formattedDate);\r\n return [{\r\n name: \"year\",\r\n value: 1\r\n }, {\r\n name: \"month\",\r\n value: 3\r\n }, {\r\n name: \"day\",\r\n value: 4\r\n }, {\r\n name: \"hours\",\r\n value: 5\r\n }, {\r\n name: \"minutes\",\r\n value: 6\r\n }, {\r\n name: \"seconds\",\r\n value: 7\r\n }].map(part => ({\r\n name: part.name,\r\n index: formattedDate.indexOf(part.value)\r\n })).filter(part => part.index > -1).sort((a, b) => a.index - b.index).map(part => part.name)\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/date.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dependencyInjector from \"../core/utils/dependency_injector\";\r\nimport {\r\n isString\r\n} from \"../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport errors from \"../core/errors\";\r\nimport {\r\n getFormatter as getLDMLDateFormatter\r\n} from \"./ldml/date.formatter\";\r\nimport {\r\n getFormat as getLDMLDateFormat\r\n} from \"./ldml/date.format\";\r\nimport {\r\n getParser as getLDMLDateParser\r\n} from \"./ldml/date.parser\";\r\nimport defaultDateNames from \"./default_date_names\";\r\nimport firstDayOfWeekData from \"./cldr-data/first_day_of_week_data\";\r\nimport localizationCore from \"./core\";\r\nimport numberLocalization from \"./number\";\r\nimport intlDateLocalization from \"./intl/date\";\r\nvar DEFAULT_DAY_OF_WEEK_INDEX = 0;\r\nvar hasIntl = \"undefined\" !== typeof Intl;\r\nvar FORMATS_TO_PATTERN_MAP = {\r\n shortdate: \"M/d/y\",\r\n shorttime: \"h:mm a\",\r\n longdate: \"EEEE, MMMM d, y\",\r\n longtime: \"h:mm:ss a\",\r\n monthandday: \"MMMM d\",\r\n monthandyear: \"MMMM y\",\r\n quarterandyear: \"QQQ y\",\r\n day: \"d\",\r\n year: \"y\",\r\n shortdateshorttime: \"M/d/y, h:mm a\",\r\n longdatelongtime: \"EEEE, MMMM d, y, h:mm:ss a\",\r\n month: \"LLLL\",\r\n shortyear: \"yy\",\r\n dayofweek: \"EEEE\",\r\n quarter: \"QQQ\",\r\n hour: \"HH\",\r\n minute: \"mm\",\r\n second: \"ss\",\r\n millisecond: \"SSS\",\r\n \"datetime-local\": \"yyyy-MM-ddTHH':'mm':'ss\"\r\n};\r\nvar possiblePartPatterns = {\r\n year: [\"y\", \"yy\", \"yyyy\"],\r\n day: [\"d\", \"dd\"],\r\n month: [\"M\", \"MM\", \"MMM\", \"MMMM\"],\r\n hours: [\"H\", \"HH\", \"h\", \"hh\", \"ah\"],\r\n minutes: [\"m\", \"mm\"],\r\n seconds: [\"s\", \"ss\"],\r\n milliseconds: [\"S\", \"SS\", \"SSS\"]\r\n};\r\nvar dateLocalization = dependencyInjector({\r\n engine: function() {\r\n return \"base\"\r\n },\r\n _getPatternByFormat: function(format) {\r\n return FORMATS_TO_PATTERN_MAP[format.toLowerCase()]\r\n },\r\n _expandPattern: function(pattern) {\r\n return this._getPatternByFormat(pattern) || pattern\r\n },\r\n formatUsesMonthName: function(format) {\r\n return -1 !== this._expandPattern(format).indexOf(\"MMMM\")\r\n },\r\n formatUsesDayName: function(format) {\r\n return -1 !== this._expandPattern(format).indexOf(\"EEEE\")\r\n },\r\n getFormatParts: function(format) {\r\n var pattern = this._getPatternByFormat(format) || format;\r\n var result = [];\r\n each(pattern.split(/\\W+/), (_, formatPart) => {\r\n each(possiblePartPatterns, (partName, possiblePatterns) => {\r\n if (possiblePatterns.includes(formatPart)) {\r\n result.push(partName)\r\n }\r\n })\r\n });\r\n return result\r\n },\r\n getMonthNames: function(format) {\r\n return defaultDateNames.getMonthNames(format)\r\n },\r\n getDayNames: function(format) {\r\n return defaultDateNames.getDayNames(format)\r\n },\r\n getQuarterNames: function(format) {\r\n return defaultDateNames.getQuarterNames(format)\r\n },\r\n getPeriodNames: function(format) {\r\n return defaultDateNames.getPeriodNames(format)\r\n },\r\n getTimeSeparator: function() {\r\n return \":\"\r\n },\r\n is24HourFormat: function(format) {\r\n var amTime = new Date(2017, 0, 20, 11, 0, 0, 0);\r\n var pmTime = new Date(2017, 0, 20, 23, 0, 0, 0);\r\n var amTimeFormatted = this.format(amTime, format);\r\n var pmTimeFormatted = this.format(pmTime, format);\r\n for (var i = 0; i < amTimeFormatted.length; i++) {\r\n if (amTimeFormatted[i] !== pmTimeFormatted[i]) {\r\n return !isNaN(parseInt(amTimeFormatted[i]))\r\n }\r\n }\r\n },\r\n format: function(date, _format) {\r\n if (!date) {\r\n return\r\n }\r\n if (!_format) {\r\n return date\r\n }\r\n var formatter;\r\n if (\"function\" === typeof _format) {\r\n formatter = _format\r\n } else if (_format.formatter) {\r\n formatter = _format.formatter\r\n } else {\r\n _format = _format.type || _format;\r\n if (isString(_format)) {\r\n _format = FORMATS_TO_PATTERN_MAP[_format.toLowerCase()] || _format;\r\n return numberLocalization.convertDigits(getLDMLDateFormatter(_format, this)(date))\r\n }\r\n }\r\n if (!formatter) {\r\n return\r\n }\r\n return formatter(date)\r\n },\r\n parse: function(text, format) {\r\n var that = this;\r\n var ldmlFormat;\r\n var formatter;\r\n if (!text) {\r\n return\r\n }\r\n if (!format) {\r\n return this.parse(text, \"shortdate\")\r\n }\r\n if (format.parser) {\r\n return format.parser(text)\r\n }\r\n if (\"string\" === typeof format && !FORMATS_TO_PATTERN_MAP[format.toLowerCase()]) {\r\n ldmlFormat = format\r\n } else {\r\n formatter = value => {\r\n var text = that.format(value, format);\r\n return numberLocalization.convertDigits(text, true)\r\n };\r\n try {\r\n ldmlFormat = getLDMLDateFormat(formatter)\r\n } catch (e) {}\r\n }\r\n if (ldmlFormat) {\r\n text = numberLocalization.convertDigits(text, true);\r\n return getLDMLDateParser(ldmlFormat, this)(text)\r\n }\r\n errors.log(\"W0012\");\r\n var result = new Date(text);\r\n if (!result || isNaN(result.getTime())) {\r\n return\r\n }\r\n return result\r\n },\r\n firstDayOfWeekIndex: function() {\r\n var index = localizationCore.getValueByClosestLocale(locale => firstDayOfWeekData[locale]);\r\n return void 0 === index ? DEFAULT_DAY_OF_WEEK_INDEX : index\r\n }\r\n});\r\nif (hasIntl) {\r\n dateLocalization.inject(intlDateLocalization)\r\n}\r\nexport default dateLocalization;\r\n","/**\r\n * DevExtreme (esm/localization/default_date_names.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n map\r\n} from \"../core/utils/iterator\";\r\nvar MONTHS = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\r\nvar DAYS = [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"];\r\nvar PERIODS = [\"AM\", \"PM\"];\r\nvar QUARTERS = [\"Q1\", \"Q2\", \"Q3\", \"Q4\"];\r\nvar cutCaptions = (captions, format) => {\r\n var lengthByFormat = {\r\n abbreviated: 3,\r\n short: 2,\r\n narrow: 1\r\n };\r\n return map(captions, caption => caption.substr(0, lengthByFormat[format]))\r\n};\r\nexport default {\r\n getMonthNames: function(format) {\r\n return cutCaptions(MONTHS, format)\r\n },\r\n getDayNames: function(format) {\r\n return cutCaptions(DAYS, format)\r\n },\r\n getQuarterNames: function(format) {\r\n return QUARTERS\r\n },\r\n getPeriodNames: function(format) {\r\n return PERIODS\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/language_codes.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport localizationCoreUtils from \"./core\";\r\nvar LANGUAGE_CODES = {\r\n ar: 1,\r\n bg: 2,\r\n ca: 3,\r\n \"zh-Hans\": 4,\r\n cs: 5,\r\n da: 6,\r\n de: 7,\r\n el: 8,\r\n en: 9,\r\n es: 10,\r\n fi: 11,\r\n fr: 12,\r\n he: 13,\r\n hu: 14,\r\n is: 15,\r\n it: 16,\r\n ja: 17,\r\n ko: 18,\r\n nl: 19,\r\n no: 20,\r\n pl: 21,\r\n pt: 22,\r\n rm: 23,\r\n ro: 24,\r\n ru: 25,\r\n hr: 26,\r\n sk: 27,\r\n sq: 28,\r\n sv: 29,\r\n th: 30,\r\n tr: 31,\r\n ur: 32,\r\n id: 33,\r\n uk: 34,\r\n be: 35,\r\n sl: 36,\r\n et: 37,\r\n lv: 38,\r\n lt: 39,\r\n tg: 40,\r\n fa: 41,\r\n vi: 42,\r\n hy: 43,\r\n az: 44,\r\n eu: 45,\r\n hsb: 46,\r\n mk: 47,\r\n tn: 50,\r\n xh: 52,\r\n zu: 53,\r\n af: 54,\r\n ka: 55,\r\n fo: 56,\r\n hi: 57,\r\n mt: 58,\r\n se: 59,\r\n ga: 60,\r\n ms: 62,\r\n kk: 63,\r\n ky: 64,\r\n sw: 65,\r\n tk: 66,\r\n uz: 67,\r\n tt: 68,\r\n bn: 69,\r\n pa: 70,\r\n gu: 71,\r\n or: 72,\r\n ta: 73,\r\n te: 74,\r\n kn: 75,\r\n ml: 76,\r\n as: 77,\r\n mr: 78,\r\n sa: 79,\r\n mn: 80,\r\n bo: 81,\r\n cy: 82,\r\n km: 83,\r\n lo: 84,\r\n gl: 86,\r\n kok: 87,\r\n syr: 90,\r\n si: 91,\r\n iu: 93,\r\n am: 94,\r\n tzm: 95,\r\n ne: 97,\r\n fy: 98,\r\n ps: 99,\r\n fil: 100,\r\n dv: 101,\r\n ha: 104,\r\n yo: 106,\r\n quz: 107,\r\n nso: 108,\r\n ba: 109,\r\n lb: 110,\r\n kl: 111,\r\n ig: 112,\r\n ii: 120,\r\n arn: 122,\r\n moh: 124,\r\n br: 126,\r\n ug: 128,\r\n mi: 129,\r\n oc: 130,\r\n co: 131,\r\n gsw: 132,\r\n sah: 133,\r\n qut: 134,\r\n rw: 135,\r\n wo: 136,\r\n prs: 140,\r\n gd: 145,\r\n \"ar-SA\": 1025,\r\n \"bg-BG\": 1026,\r\n \"ca-ES\": 1027,\r\n \"zh-TW\": 1028,\r\n \"cs-CZ\": 1029,\r\n \"da-DK\": 1030,\r\n \"de-DE\": 1031,\r\n \"el-GR\": 1032,\r\n \"en-US\": 1033,\r\n \"fi-FI\": 1035,\r\n \"fr-FR\": 1036,\r\n \"he-IL\": 1037,\r\n \"hu-HU\": 1038,\r\n \"is-IS\": 1039,\r\n \"it-IT\": 1040,\r\n \"ja-JP\": 1041,\r\n \"ko-KR\": 1042,\r\n \"nl-NL\": 1043,\r\n \"nb-NO\": 1044,\r\n \"pl-PL\": 1045,\r\n \"pt-BR\": 1046,\r\n \"rm-CH\": 1047,\r\n \"ro-RO\": 1048,\r\n \"ru-RU\": 1049,\r\n \"hr-HR\": 1050,\r\n \"sk-SK\": 1051,\r\n \"sq-AL\": 1052,\r\n \"sv-SE\": 1053,\r\n \"th-TH\": 1054,\r\n \"tr-TR\": 1055,\r\n \"ur-PK\": 1056,\r\n \"id-ID\": 1057,\r\n \"uk-UA\": 1058,\r\n \"be-BY\": 1059,\r\n \"sl-SI\": 1060,\r\n \"et-EE\": 1061,\r\n \"lv-LV\": 1062,\r\n \"lt-LT\": 1063,\r\n \"tg-Cyrl-TJ\": 1064,\r\n \"fa-IR\": 1065,\r\n \"vi-VN\": 1066,\r\n \"hy-AM\": 1067,\r\n \"az-Latn-AZ\": 1068,\r\n \"eu-ES\": 1069,\r\n \"hsb-DE\": 1070,\r\n \"mk-MK\": 1071,\r\n \"tn-ZA\": 1074,\r\n \"xh-ZA\": 1076,\r\n \"zu-ZA\": 1077,\r\n \"af-ZA\": 1078,\r\n \"ka-GE\": 1079,\r\n \"fo-FO\": 1080,\r\n \"hi-IN\": 1081,\r\n \"mt-MT\": 1082,\r\n \"se-NO\": 1083,\r\n \"ms-MY\": 1086,\r\n \"kk-KZ\": 1087,\r\n \"ky-KG\": 1088,\r\n \"sw-KE\": 1089,\r\n \"tk-TM\": 1090,\r\n \"uz-Latn-UZ\": 1091,\r\n \"tt-RU\": 1092,\r\n \"bn-IN\": 1093,\r\n \"pa-IN\": 1094,\r\n \"gu-IN\": 1095,\r\n \"or-IN\": 1096,\r\n \"ta-IN\": 1097,\r\n \"te-IN\": 1098,\r\n \"kn-IN\": 1099,\r\n \"ml-IN\": 1100,\r\n \"as-IN\": 1101,\r\n \"mr-IN\": 1102,\r\n \"sa-IN\": 1103,\r\n \"mn-MN\": 1104,\r\n \"bo-CN\": 1105,\r\n \"cy-GB\": 1106,\r\n \"km-KH\": 1107,\r\n \"lo-LA\": 1108,\r\n \"gl-ES\": 1110,\r\n \"kok-IN\": 1111,\r\n \"syr-SY\": 1114,\r\n \"si-LK\": 1115,\r\n \"iu-Cans-CA\": 1117,\r\n \"am-ET\": 1118,\r\n \"ne-NP\": 1121,\r\n \"fy-NL\": 1122,\r\n \"ps-AF\": 1123,\r\n \"fil-PH\": 1124,\r\n \"dv-MV\": 1125,\r\n \"ha-Latn-NG\": 1128,\r\n \"yo-NG\": 1130,\r\n \"quz-BO\": 1131,\r\n \"nso-ZA\": 1132,\r\n \"ba-RU\": 1133,\r\n \"lb-LU\": 1134,\r\n \"kl-GL\": 1135,\r\n \"ig-NG\": 1136,\r\n \"ii-CN\": 1144,\r\n \"arn-CL\": 1146,\r\n \"moh-CA\": 1148,\r\n \"br-FR\": 1150,\r\n \"ug-CN\": 1152,\r\n \"mi-NZ\": 1153,\r\n \"oc-FR\": 1154,\r\n \"co-FR\": 1155,\r\n \"gsw-FR\": 1156,\r\n \"sah-RU\": 1157,\r\n \"qut-GT\": 1158,\r\n \"rw-RW\": 1159,\r\n \"wo-SN\": 1160,\r\n \"prs-AF\": 1164,\r\n \"gd-GB\": 1169,\r\n \"ar-IQ\": 2049,\r\n \"zh-CN\": 2052,\r\n \"de-CH\": 2055,\r\n \"en-GB\": 2057,\r\n \"es-MX\": 2058,\r\n \"fr-BE\": 2060,\r\n \"it-CH\": 2064,\r\n \"nl-BE\": 2067,\r\n \"nn-NO\": 2068,\r\n \"pt-PT\": 2070,\r\n \"sr-Latn-CS\": 2074,\r\n \"sv-FI\": 2077,\r\n \"az-Cyrl-AZ\": 2092,\r\n \"dsb-DE\": 2094,\r\n \"se-SE\": 2107,\r\n \"ga-IE\": 2108,\r\n \"ms-BN\": 2110,\r\n \"uz-Cyrl-UZ\": 2115,\r\n \"bn-BD\": 2117,\r\n \"mn-Mong-CN\": 2128,\r\n \"iu-Latn-CA\": 2141,\r\n \"tzm-Latn-DZ\": 2143,\r\n \"quz-EC\": 2155,\r\n \"ar-EG\": 3073,\r\n \"zh-HK\": 3076,\r\n \"de-AT\": 3079,\r\n \"en-AU\": 3081,\r\n \"es-ES\": 3082,\r\n \"fr-CA\": 3084,\r\n \"sr-Cyrl-CS\": 3098,\r\n \"se-FI\": 3131,\r\n \"quz-PE\": 3179,\r\n \"ar-LY\": 4097,\r\n \"zh-SG\": 4100,\r\n \"de-LU\": 4103,\r\n \"en-CA\": 4105,\r\n \"es-GT\": 4106,\r\n \"fr-CH\": 4108,\r\n \"hr-BA\": 4122,\r\n \"smj-NO\": 4155,\r\n \"ar-DZ\": 5121,\r\n \"zh-MO\": 5124,\r\n \"de-LI\": 5127,\r\n \"en-NZ\": 5129,\r\n \"es-CR\": 5130,\r\n \"fr-LU\": 5132,\r\n \"bs-Latn-BA\": 5146,\r\n \"smj-SE\": 5179,\r\n \"ar-MA\": 6145,\r\n \"en-IE\": 6153,\r\n \"es-PA\": 6154,\r\n \"fr-MC\": 6156,\r\n \"sr-Latn-BA\": 6170,\r\n \"sma-NO\": 6203,\r\n \"ar-TN\": 7169,\r\n \"en-ZA\": 7177,\r\n \"es-DO\": 7178,\r\n \"sr-Cyrl-BA\": 7194,\r\n \"sma-SE\": 7227,\r\n \"ar-OM\": 8193,\r\n \"en-JM\": 8201,\r\n \"es-VE\": 8202,\r\n \"bs-Cyrl-BA\": 8218,\r\n \"sms-FI\": 8251,\r\n \"ar-YE\": 9217,\r\n \"en-029\": 9225,\r\n \"es-CO\": 9226,\r\n \"sr-Latn-RS\": 9242,\r\n \"smn-FI\": 9275,\r\n \"ar-SY\": 10241,\r\n \"en-BZ\": 10249,\r\n \"es-PE\": 10250,\r\n \"sr-Cyrl-RS\": 10266,\r\n \"ar-JO\": 11265,\r\n \"en-TT\": 11273,\r\n \"es-AR\": 11274,\r\n \"sr-Latn-ME\": 11290,\r\n \"ar-LB\": 12289,\r\n \"en-ZW\": 12297,\r\n \"es-EC\": 12298,\r\n \"sr-Cyrl-ME\": 12314,\r\n \"ar-KW\": 13313,\r\n \"en-PH\": 13321,\r\n \"es-CL\": 13322,\r\n \"ar-AE\": 14337,\r\n \"es-UY\": 14346,\r\n \"ar-BH\": 15361,\r\n \"es-PY\": 15370,\r\n \"ar-QA\": 16385,\r\n \"en-IN\": 16393,\r\n \"es-BO\": 16394,\r\n \"en-MY\": 17417,\r\n \"es-SV\": 17418,\r\n \"en-SG\": 18441,\r\n \"es-HN\": 18442,\r\n \"es-NI\": 19466,\r\n \"es-PR\": 20490,\r\n \"es-US\": 21514,\r\n \"bs-Cyrl\": 25626,\r\n \"bs-Latn\": 26650,\r\n \"sr-Cyrl\": 27674,\r\n \"sr-Latn\": 28698,\r\n smn: 28731,\r\n \"az-Cyrl\": 29740,\r\n sms: 29755,\r\n zh: 30724,\r\n nn: 30740,\r\n bs: 30746,\r\n \"az-Latn\": 30764,\r\n sma: 30779,\r\n \"uz-Cyrl\": 30787,\r\n \"mn-Cyrl\": 30800,\r\n \"iu-Cans\": 30813,\r\n \"zh-Hant\": 31748,\r\n nb: 31764,\r\n sr: 31770,\r\n \"tg-Cyrl\": 31784,\r\n dsb: 31790,\r\n smj: 31803,\r\n \"uz-Latn\": 31811,\r\n \"mn-Mong\": 31824,\r\n \"iu-Latn\": 31837,\r\n \"tzm-Latn\": 31839,\r\n \"ha-Latn\": 31848\r\n};\r\nexport function getLanguageId() {\r\n return LANGUAGE_CODES[localizationCoreUtils.locale()]\r\n}\r\n","/**\r\n * DevExtreme (esm/localization/ldml/date.format.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport numberLocalization from \"../number\";\r\nvar ARABIC_COMMA = \"\\u060c\";\r\nvar FORMAT_SEPARATORS = \" .,:;/\\\\<>()-[]\" + ARABIC_COMMA;\r\nvar AM_PM_PATTERN = \". m.\";\r\nvar checkDigit = function(char) {\r\n var code = char && numberLocalization.convertDigits(char, false).charCodeAt(0);\r\n var zeroCode = numberLocalization.convertDigits(\"0\", false).charCodeAt(0);\r\n return zeroCode <= code && code < zeroCode + 10\r\n};\r\nvar checkPatternContinue = function(text, patterns, index, isDigit) {\r\n var char = text[index];\r\n var nextChar = text[index + 1];\r\n if (!isDigit) {\r\n if (\".\" === char || \" \" === char && text.slice(index - 1, index + 3) === AM_PM_PATTERN) {\r\n return true\r\n }\r\n if (\"-\" === char && !checkDigit(nextChar)) {\r\n return true\r\n }\r\n }\r\n var isDigitChanged = isDigit && patterns.some(pattern => text[index] !== pattern[index]);\r\n return FORMAT_SEPARATORS.indexOf(char) < 0 && isDigit === checkDigit(char) && (!isDigit || isDigitChanged)\r\n};\r\nvar getPatternStartIndex = function(defaultPattern, index) {\r\n if (!checkDigit(defaultPattern[index])) {\r\n while (index > 0 && !checkDigit(defaultPattern[index - 1]) && (\".\" === defaultPattern[index - 1] || FORMAT_SEPARATORS.indexOf(defaultPattern[index - 1]) < 0)) {\r\n index--\r\n }\r\n }\r\n return index\r\n};\r\nvar getDifference = function(defaultPattern, patterns, processedIndexes, isDigit) {\r\n var i = 0;\r\n var result = [];\r\n var patternsFilter = function(pattern) {\r\n return defaultPattern[i] !== pattern[i] && (void 0 === isDigit || checkDigit(defaultPattern[i]) === isDigit)\r\n };\r\n if (!Array.isArray(patterns)) {\r\n patterns = [patterns]\r\n }\r\n for (i = 0; i < defaultPattern.length; i++) {\r\n if (processedIndexes.indexOf(i) < 0 && patterns.filter(patternsFilter).length) {\r\n i = getPatternStartIndex(defaultPattern, i);\r\n do {\r\n isDigit = checkDigit(defaultPattern[i]);\r\n if (!result.length && !isDigit && checkDigit(patterns[0][i])) {\r\n break\r\n }\r\n result.push(i);\r\n processedIndexes.unshift(i);\r\n i++\r\n } while (defaultPattern[i] && checkPatternContinue(defaultPattern, patterns, i, isDigit));\r\n break\r\n }\r\n }\r\n if (1 === result.length && (\"0\" === defaultPattern[processedIndexes[0] - 1] || \"\\u0660\" === defaultPattern[processedIndexes[0] - 1])) {\r\n processedIndexes.unshift(processedIndexes[0] - 1)\r\n }\r\n return result\r\n};\r\nvar replaceCharsCore = function(pattern, indexes, char, patternPositions) {\r\n var baseCharIndex = indexes[0];\r\n var patternIndex = baseCharIndex < patternPositions.length ? patternPositions[baseCharIndex] : baseCharIndex;\r\n indexes.forEach((function(_, index) {\r\n pattern = pattern.substr(0, patternIndex + index) + (char.length > 1 ? char[index] : char) + pattern.substr(patternIndex + index + 1)\r\n }));\r\n if (1 === indexes.length) {\r\n pattern = pattern.replace(\"0\" + char, char + char);\r\n pattern = pattern.replace(\"\\u0660\" + char, char + char)\r\n }\r\n return pattern\r\n};\r\nvar replaceChars = function(pattern, indexes, char, patternPositions) {\r\n var i;\r\n var index;\r\n var patternIndex;\r\n if (!checkDigit(pattern[indexes[0]] || \"0\")) {\r\n var letterCount = Math.max(indexes.length <= 3 ? 3 : 4, char.length);\r\n while (indexes.length > letterCount) {\r\n index = indexes.pop();\r\n patternIndex = patternPositions[index];\r\n patternPositions[index] = -1;\r\n for (i = index + 1; i < patternPositions.length; i++) {\r\n patternPositions[i]--\r\n }\r\n pattern = pattern.substr(0, patternIndex) + pattern.substr(patternIndex + 1)\r\n }\r\n index = indexes[indexes.length - 1] + 1, patternIndex = index < patternPositions.length ? patternPositions[index] : index;\r\n while (indexes.length < letterCount) {\r\n indexes.push(indexes[indexes.length - 1] + 1);\r\n for (i = index; i < patternPositions.length; i++) {\r\n patternPositions[i]++\r\n }\r\n pattern = pattern.substr(0, patternIndex) + \" \" + pattern.substr(patternIndex)\r\n }\r\n }\r\n pattern = replaceCharsCore(pattern, indexes, char, patternPositions);\r\n return pattern\r\n};\r\nvar formatValue = function(value, formatter) {\r\n if (Array.isArray(value)) {\r\n return value.map((function(value) {\r\n return (formatter(value) || \"\").toString()\r\n }))\r\n }\r\n return (formatter(value) || \"\").toString()\r\n};\r\nvar ESCAPE_CHARS_REGEXP = /[a-zA-Z]/g;\r\nvar escapeChars = function(pattern, defaultPattern, processedIndexes, patternPositions) {\r\n var escapeIndexes = defaultPattern.split(\"\").map((function(char, index) {\r\n if (processedIndexes.indexOf(index) < 0 && (char.match(ESCAPE_CHARS_REGEXP) || \"'\" === char)) {\r\n return patternPositions[index]\r\n }\r\n return -1\r\n }));\r\n pattern = pattern.split(\"\").map((function(char, index) {\r\n var result = char;\r\n var isCurrentCharEscaped = escapeIndexes.indexOf(index) >= 0;\r\n var isPrevCharEscaped = index > 0 && escapeIndexes.indexOf(index - 1) >= 0;\r\n var isNextCharEscaped = escapeIndexes.indexOf(index + 1) >= 0;\r\n if (isCurrentCharEscaped) {\r\n if (!isPrevCharEscaped) {\r\n result = \"'\" + result\r\n }\r\n if (!isNextCharEscaped) {\r\n result += \"'\"\r\n }\r\n }\r\n return result\r\n })).join(\"\");\r\n return pattern\r\n};\r\nexport var getFormat = function(formatter) {\r\n var processedIndexes = [];\r\n var defaultPattern = formatValue(new Date(2009, 8, 8, 6, 5, 4), formatter);\r\n var patternPositions = defaultPattern.split(\"\").map((function(_, index) {\r\n return index\r\n }));\r\n var result = defaultPattern;\r\n var replacedPatterns = {};\r\n var datePatterns = [{\r\n date: new Date(2009, 8, 8, 6, 5, 4, 111),\r\n pattern: \"S\"\r\n }, {\r\n date: new Date(2009, 8, 8, 6, 5, 2),\r\n pattern: \"s\"\r\n }, {\r\n date: new Date(2009, 8, 8, 6, 2, 4),\r\n pattern: \"m\"\r\n }, {\r\n date: new Date(2009, 8, 8, 18, 5, 4),\r\n pattern: \"H\",\r\n isDigit: true\r\n }, {\r\n date: new Date(2009, 8, 8, 2, 5, 4),\r\n pattern: \"h\",\r\n isDigit: true\r\n }, {\r\n date: new Date(2009, 8, 8, 18, 5, 4),\r\n pattern: \"a\",\r\n isDigit: false\r\n }, {\r\n date: new Date(2009, 8, 1, 6, 5, 4),\r\n pattern: \"d\"\r\n }, {\r\n date: [new Date(2009, 8, 2, 6, 5, 4), new Date(2009, 8, 3, 6, 5, 4), new Date(2009, 8, 4, 6, 5, 4)],\r\n pattern: \"E\"\r\n }, {\r\n date: new Date(2009, 9, 6, 6, 5, 4),\r\n pattern: \"M\"\r\n }, {\r\n date: new Date(1998, 8, 8, 6, 5, 4),\r\n pattern: \"y\"\r\n }];\r\n if (!result) {\r\n return\r\n }\r\n datePatterns.forEach((function(test) {\r\n var diff = getDifference(defaultPattern, formatValue(test.date, formatter), processedIndexes, test.isDigit);\r\n var pattern = \"M\" === test.pattern && !replacedPatterns.d ? \"L\" : test.pattern;\r\n result = replaceChars(result, diff, pattern, patternPositions);\r\n replacedPatterns[pattern] = diff.length\r\n }));\r\n result = escapeChars(result, defaultPattern, processedIndexes, patternPositions);\r\n if (processedIndexes.length) {\r\n return result\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/ldml/date.formatter.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nfunction leftPad(text, length) {\r\n while (text.length < length) {\r\n text = \"0\" + text\r\n }\r\n return text\r\n}\r\nvar FORMAT_TYPES = {\r\n 3: \"abbreviated\",\r\n 4: \"wide\",\r\n 5: \"narrow\"\r\n};\r\nvar LDML_FORMATTERS = {\r\n y: function(date, count, useUtc) {\r\n var year = date[useUtc ? \"getUTCFullYear\" : \"getFullYear\"]();\r\n if (2 === count) {\r\n year %= 100\r\n }\r\n return leftPad(year.toString(), count)\r\n },\r\n M: function(date, count, useUtc, dateParts) {\r\n var month = date[useUtc ? \"getUTCMonth\" : \"getMonth\"]();\r\n var formatType = FORMAT_TYPES[count];\r\n if (formatType) {\r\n return dateParts.getMonthNames(formatType, \"format\")[month]\r\n }\r\n return leftPad((month + 1).toString(), Math.min(count, 2))\r\n },\r\n L: function(date, count, useUtc, dateParts) {\r\n var month = date[useUtc ? \"getUTCMonth\" : \"getMonth\"]();\r\n var formatType = FORMAT_TYPES[count];\r\n if (formatType) {\r\n return dateParts.getMonthNames(formatType, \"standalone\")[month]\r\n }\r\n return leftPad((month + 1).toString(), Math.min(count, 2))\r\n },\r\n Q: function(date, count, useUtc, dateParts) {\r\n var month = date[useUtc ? \"getUTCMonth\" : \"getMonth\"]();\r\n var quarter = Math.floor(month / 3);\r\n var formatType = FORMAT_TYPES[count];\r\n if (formatType) {\r\n return dateParts.getQuarterNames(formatType)[quarter]\r\n }\r\n return leftPad((quarter + 1).toString(), Math.min(count, 2))\r\n },\r\n E: function(date, count, useUtc, dateParts) {\r\n var day = date[useUtc ? \"getUTCDay\" : \"getDay\"]();\r\n var formatType = FORMAT_TYPES[count < 3 ? 3 : count];\r\n return dateParts.getDayNames(formatType)[day]\r\n },\r\n a: function(date, count, useUtc, dateParts) {\r\n var hours = date[useUtc ? \"getUTCHours\" : \"getHours\"]();\r\n var period = hours < 12 ? 0 : 1;\r\n var formatType = FORMAT_TYPES[count];\r\n return dateParts.getPeriodNames(formatType)[period]\r\n },\r\n d: function(date, count, useUtc) {\r\n return leftPad(date[useUtc ? \"getUTCDate\" : \"getDate\"]().toString(), Math.min(count, 2))\r\n },\r\n H: function(date, count, useUtc) {\r\n return leftPad(date[useUtc ? \"getUTCHours\" : \"getHours\"]().toString(), Math.min(count, 2))\r\n },\r\n h: function(date, count, useUtc) {\r\n var hours = date[useUtc ? \"getUTCHours\" : \"getHours\"]();\r\n return leftPad((hours % 12 || 12).toString(), Math.min(count, 2))\r\n },\r\n m: function(date, count, useUtc) {\r\n return leftPad(date[useUtc ? \"getUTCMinutes\" : \"getMinutes\"]().toString(), Math.min(count, 2))\r\n },\r\n s: function(date, count, useUtc) {\r\n return leftPad(date[useUtc ? \"getUTCSeconds\" : \"getSeconds\"]().toString(), Math.min(count, 2))\r\n },\r\n S: function(date, count, useUtc) {\r\n return leftPad(date[useUtc ? \"getUTCMilliseconds\" : \"getMilliseconds\"]().toString(), 3).substr(0, count)\r\n },\r\n x: function(date, count, useUtc) {\r\n var timezoneOffset = useUtc ? 0 : date.getTimezoneOffset();\r\n var signPart = timezoneOffset > 0 ? \"-\" : \"+\";\r\n var timezoneOffsetAbs = Math.abs(timezoneOffset);\r\n var hours = Math.floor(timezoneOffsetAbs / 60);\r\n var minutes = timezoneOffsetAbs % 60;\r\n var hoursPart = leftPad(hours.toString(), 2);\r\n var minutesPart = leftPad(minutes.toString(), 2);\r\n return signPart + hoursPart + (count >= 3 ? \":\" : \"\") + (count > 1 || minutes ? minutesPart : \"\")\r\n },\r\n X: function(date, count, useUtc) {\r\n if (useUtc || !date.getTimezoneOffset()) {\r\n return \"Z\"\r\n }\r\n return LDML_FORMATTERS.x(date, count, useUtc)\r\n },\r\n Z: function(date, count, useUtc) {\r\n return LDML_FORMATTERS.X(date, count >= 5 ? 3 : 2, useUtc)\r\n }\r\n};\r\nexport var getFormatter = function(format, dateParts) {\r\n return function(date) {\r\n var charIndex;\r\n var formatter;\r\n var char;\r\n var charCount = 0;\r\n var isEscaping = false;\r\n var isCurrentCharEqualsNext;\r\n var result = \"\";\r\n if (!date) {\r\n return null\r\n }\r\n if (!format) {\r\n return date\r\n }\r\n var useUtc = \"Z\" === format[format.length - 1] || \"'Z'\" === format.slice(-3);\r\n for (charIndex = 0; charIndex < format.length; charIndex++) {\r\n char = format[charIndex];\r\n formatter = LDML_FORMATTERS[char];\r\n isCurrentCharEqualsNext = char === format[charIndex + 1];\r\n charCount++;\r\n if (!isCurrentCharEqualsNext) {\r\n if (formatter && !isEscaping) {\r\n result += formatter(date, charCount, useUtc, dateParts)\r\n }\r\n charCount = 0\r\n }\r\n if (\"'\" === char && !isCurrentCharEqualsNext) {\r\n isEscaping = !isEscaping\r\n } else if (isEscaping || !formatter) {\r\n result += char\r\n }\r\n if (\"'\" === char && isCurrentCharEqualsNext) {\r\n charIndex++\r\n }\r\n }\r\n return result\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/ldml/date.parser.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n escapeRegExp\r\n} from \"../../core/utils/common\";\r\nimport {\r\n logger\r\n} from \"../../core/utils/console\";\r\nvar FORMAT_TYPES = {\r\n 3: \"abbreviated\",\r\n 4: \"wide\",\r\n 5: \"narrow\"\r\n};\r\nvar monthRegExpGenerator = function(count, dateParts) {\r\n if (count > 2) {\r\n return Object.keys(FORMAT_TYPES).map((function(count) {\r\n return [\"format\", \"standalone\"].map((function(type) {\r\n return dateParts.getMonthNames(FORMAT_TYPES[count], type).join(\"|\")\r\n })).join(\"|\")\r\n })).join(\"|\")\r\n }\r\n return 2 === count ? \"1[012]|0?[1-9]\" : \"0??[1-9]|1[012]\"\r\n};\r\nvar PATTERN_REGEXPS = {\r\n \":\": function(count, dateParts) {\r\n var countSuffix = count > 1 ? \"{\".concat(count, \"}\") : \"\";\r\n var timeSeparator = escapeRegExp(dateParts.getTimeSeparator());\r\n \":\" !== timeSeparator && (timeSeparator = \"\".concat(timeSeparator, \"|:\"));\r\n return \"\".concat(timeSeparator).concat(countSuffix)\r\n },\r\n y: function(count) {\r\n return 2 === count ? \"[0-9]{\".concat(count, \"}\") : \"[0-9]+?\"\r\n },\r\n M: monthRegExpGenerator,\r\n L: monthRegExpGenerator,\r\n Q: function(count, dateParts) {\r\n if (count > 2) {\r\n return dateParts.getQuarterNames(FORMAT_TYPES[count], \"format\").join(\"|\")\r\n }\r\n return \"0?[1-4]\"\r\n },\r\n E: function(count, dateParts) {\r\n return \"\\\\D*\"\r\n },\r\n a: function(count, dateParts) {\r\n return dateParts.getPeriodNames(FORMAT_TYPES[count < 3 ? 3 : count], \"format\").join(\"|\")\r\n },\r\n d: function(count) {\r\n return 2 === count ? \"3[01]|[12][0-9]|0?[1-9]\" : \"0??[1-9]|[12][0-9]|3[01]\"\r\n },\r\n H: function(count) {\r\n return 2 === count ? \"2[0-3]|1[0-9]|0?[0-9]\" : \"0??[0-9]|1[0-9]|2[0-3]\"\r\n },\r\n h: function(count) {\r\n return 2 === count ? \"1[012]|0?[1-9]\" : \"0??[1-9]|1[012]\"\r\n },\r\n m: function(count) {\r\n return 2 === count ? \"[1-5][0-9]|0?[0-9]\" : \"0??[0-9]|[1-5][0-9]\"\r\n },\r\n s: function(count) {\r\n return 2 === count ? \"[1-5][0-9]|0?[0-9]\" : \"0??[0-9]|[1-5][0-9]\"\r\n },\r\n S: function(count) {\r\n return \"[0-9]{1,\".concat(count, \"}\")\r\n },\r\n w: function(count) {\r\n return 2 === count ? \"[1-5][0-9]|0?[0-9]\" : \"0??[0-9]|[1-5][0-9]\"\r\n }\r\n};\r\nvar parseNumber = Number;\r\nvar caseInsensitiveIndexOf = function(array, value) {\r\n return array.map(item => item.toLowerCase()).indexOf(value.toLowerCase())\r\n};\r\nvar monthPatternParser = function(text, count, dateParts) {\r\n if (count > 2) {\r\n return [\"format\", \"standalone\"].map((function(type) {\r\n return Object.keys(FORMAT_TYPES).map((function(count) {\r\n var monthNames = dateParts.getMonthNames(FORMAT_TYPES[count], type);\r\n return caseInsensitiveIndexOf(monthNames, text)\r\n }))\r\n })).reduce((function(a, b) {\r\n return a.concat(b)\r\n })).filter((function(index) {\r\n return index >= 0\r\n }))[0]\r\n }\r\n return parseNumber(text) - 1\r\n};\r\nvar PATTERN_PARSERS = {\r\n y: function(text, count) {\r\n var year = parseNumber(text);\r\n if (2 === count) {\r\n return year < 30 ? 2e3 + year : 1900 + year\r\n }\r\n return year\r\n },\r\n M: monthPatternParser,\r\n L: monthPatternParser,\r\n Q: function(text, count, dateParts) {\r\n if (count > 2) {\r\n return dateParts.getQuarterNames(FORMAT_TYPES[count], \"format\").indexOf(text)\r\n }\r\n return parseNumber(text) - 1\r\n },\r\n E: function(text, count, dateParts) {\r\n var dayNames = dateParts.getDayNames(FORMAT_TYPES[count < 3 ? 3 : count], \"format\");\r\n return caseInsensitiveIndexOf(dayNames, text)\r\n },\r\n a: function(text, count, dateParts) {\r\n var periodNames = dateParts.getPeriodNames(FORMAT_TYPES[count < 3 ? 3 : count], \"format\");\r\n return caseInsensitiveIndexOf(periodNames, text)\r\n },\r\n d: parseNumber,\r\n H: parseNumber,\r\n h: parseNumber,\r\n m: parseNumber,\r\n s: parseNumber,\r\n S: function(text, count) {\r\n count = Math.max(count, 3);\r\n text = text.slice(0, 3);\r\n while (count < 3) {\r\n text += \"0\";\r\n count++\r\n }\r\n return parseNumber(text)\r\n }\r\n};\r\nvar ORDERED_PATTERNS = [\"y\", \"M\", \"d\", \"h\", \"m\", \"s\", \"S\"];\r\nvar PATTERN_SETTERS = {\r\n y: \"setFullYear\",\r\n M: \"setMonth\",\r\n L: \"setMonth\",\r\n a: function(date, value, datePartValues) {\r\n var hours = date.getHours();\r\n var hourPartValue = datePartValues.h;\r\n if (void 0 !== hourPartValue && hourPartValue !== hours) {\r\n hours--\r\n }\r\n if (!value && 12 === hours) {\r\n hours = 0\r\n } else if (value && 12 !== hours) {\r\n hours += 12\r\n }\r\n date.setHours(hours)\r\n },\r\n d: \"setDate\",\r\n H: \"setHours\",\r\n h: \"setHours\",\r\n m: \"setMinutes\",\r\n s: \"setSeconds\",\r\n S: \"setMilliseconds\"\r\n};\r\nvar getSameCharCount = function(text, index) {\r\n var char = text[index];\r\n if (!char) {\r\n return 0\r\n }\r\n var count = 0;\r\n do {\r\n index++;\r\n count++\r\n } while (text[index] === char);\r\n return count\r\n};\r\nvar createPattern = function(char, count) {\r\n var result = \"\";\r\n for (var i = 0; i < count; i++) {\r\n result += char\r\n }\r\n return result\r\n};\r\nexport var getRegExpInfo = function(format, dateParts) {\r\n var regexpText = \"\";\r\n var stubText = \"\";\r\n var isEscaping;\r\n var patterns = [];\r\n var addPreviousStub = function() {\r\n if (stubText) {\r\n patterns.push(\"'\".concat(stubText, \"'\"));\r\n regexpText += \"\".concat(escapeRegExp(stubText), \")\");\r\n stubText = \"\"\r\n }\r\n };\r\n for (var i = 0; i < format.length; i++) {\r\n var char = format[i];\r\n var isEscapeChar = \"'\" === char;\r\n var regexpPart = PATTERN_REGEXPS[char];\r\n if (isEscapeChar) {\r\n isEscaping = !isEscaping;\r\n if (\"'\" !== format[i - 1]) {\r\n continue\r\n }\r\n }\r\n if (regexpPart && !isEscaping) {\r\n var count = getSameCharCount(format, i);\r\n var pattern = createPattern(char, count);\r\n addPreviousStub();\r\n patterns.push(pattern);\r\n regexpText += \"(\".concat(regexpPart(count, dateParts), \")\");\r\n i += count - 1\r\n } else {\r\n if (!stubText) {\r\n regexpText += \"(\"\r\n }\r\n stubText += char\r\n }\r\n }\r\n addPreviousStub();\r\n if (!isPossibleForParsingFormat(patterns)) {\r\n logger.warn(\"The following format may be parsed incorrectly: \".concat(format, \".\"))\r\n }\r\n return {\r\n patterns: patterns,\r\n regexp: new RegExp(\"^\".concat(regexpText, \"$\"), \"i\")\r\n }\r\n};\r\nvar digitFieldSymbols = [\"d\", \"H\", \"h\", \"m\", \"s\", \"w\", \"M\", \"L\", \"Q\"];\r\nexport var isPossibleForParsingFormat = function(patterns) {\r\n var isDigitPattern = pattern => {\r\n if (!pattern) {\r\n return false\r\n }\r\n var char = pattern[0];\r\n return [\"y\", \"S\"].includes(char) || digitFieldSymbols.includes(char) && pattern.length < 3\r\n };\r\n var possibleForParsing = true;\r\n var ambiguousDigitPatternsCount = 0;\r\n return patterns.every((pattern, index, patterns) => {\r\n if (isDigitPattern(pattern)) {\r\n if ((pattern => \"S\" !== pattern[0] && 2 !== pattern.length)(pattern)) {\r\n possibleForParsing = ++ambiguousDigitPatternsCount < 2\r\n }\r\n if (!isDigitPattern(patterns[index + 1])) {\r\n ambiguousDigitPatternsCount = 0\r\n }\r\n }\r\n return possibleForParsing\r\n })\r\n};\r\nexport var getPatternSetters = function() {\r\n return PATTERN_SETTERS\r\n};\r\nvar setPatternPart = function(date, pattern, text, dateParts, datePartValues) {\r\n var patternChar = pattern[0];\r\n var partSetter = PATTERN_SETTERS[patternChar];\r\n var partParser = PATTERN_PARSERS[patternChar];\r\n if (partSetter && partParser) {\r\n var value = partParser(text, pattern.length, dateParts);\r\n datePartValues[pattern] = value;\r\n if (date[partSetter]) {\r\n date[partSetter](value)\r\n } else {\r\n partSetter(date, value, datePartValues)\r\n }\r\n }\r\n};\r\nvar setPatternPartFromNow = function(date, pattern, now) {\r\n var setterName = PATTERN_SETTERS[pattern];\r\n var getterName = \"g\" + setterName.substr(1);\r\n var value = now[getterName]();\r\n date[setterName](value)\r\n};\r\nvar getShortPatterns = function(fullPatterns) {\r\n return fullPatterns.map((function(pattern) {\r\n if (\"'\" === pattern[0]) {\r\n return \"\"\r\n } else {\r\n return \"H\" === pattern[0] ? \"h\" : pattern[0]\r\n }\r\n }))\r\n};\r\nvar getMaxOrderedPatternIndex = function(patterns) {\r\n var indexes = patterns.map((function(pattern) {\r\n return ORDERED_PATTERNS.indexOf(pattern)\r\n }));\r\n return Math.max.apply(Math, indexes)\r\n};\r\nvar getOrderedFormatPatterns = function(formatPatterns) {\r\n var otherPatterns = formatPatterns.filter((function(pattern) {\r\n return ORDERED_PATTERNS.indexOf(pattern) < 0\r\n }));\r\n return ORDERED_PATTERNS.concat(otherPatterns)\r\n};\r\nexport var getParser = function(format, dateParts) {\r\n var regExpInfo = getRegExpInfo(format, dateParts);\r\n return function(text) {\r\n var regExpResult = regExpInfo.regexp.exec(text);\r\n if (regExpResult) {\r\n var now = new Date;\r\n var date = new Date(now.getFullYear(), 0, 1);\r\n var formatPatterns = getShortPatterns(regExpInfo.patterns);\r\n var maxPatternIndex = getMaxOrderedPatternIndex(formatPatterns);\r\n var orderedFormatPatterns = getOrderedFormatPatterns(formatPatterns);\r\n var datePartValues = {};\r\n orderedFormatPatterns.forEach((function(pattern, index) {\r\n if (!pattern || index < ORDERED_PATTERNS.length && index > maxPatternIndex) {\r\n return\r\n }\r\n var patternIndex = formatPatterns.indexOf(pattern);\r\n if (patternIndex >= 0) {\r\n var regExpPattern = regExpInfo.patterns[patternIndex];\r\n var regExpText = regExpResult[patternIndex + 1];\r\n setPatternPart(date, regExpPattern, regExpText, dateParts, datePartValues)\r\n } else {\r\n setPatternPartFromNow(date, pattern, now)\r\n }\r\n }));\r\n return date\r\n }\r\n return null\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/ldml/number.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n fitIntoRange,\r\n multiplyInExponentialForm\r\n} from \"../../core/utils/math\";\r\nimport {\r\n toFixed\r\n} from \"../utils\";\r\nvar DEFAULT_CONFIG = {\r\n thousandsSeparator: \",\",\r\n decimalSeparator: \".\"\r\n};\r\nvar ESCAPING_CHAR = \"'\";\r\nvar MAXIMUM_NUMBER_LENGTH = 15;\r\nvar PERCENT_EXPONENT_SHIFT = 2;\r\n\r\nfunction getGroupSizes(formatString) {\r\n return formatString.split(\",\").slice(1).map((function(str) {\r\n var singleQuotesLeft = 0;\r\n return str.split(\"\").filter((function(char, index) {\r\n singleQuotesLeft += \"'\" === char;\r\n var isDigit = \"#\" === char || \"0\" === char;\r\n var isInStub = singleQuotesLeft % 2;\r\n return isDigit && !isInStub\r\n })).length\r\n }))\r\n}\r\n\r\nfunction getSignParts(format) {\r\n var signParts = format.split(\";\");\r\n if (1 === signParts.length) {\r\n signParts.push(\"-\" + signParts[0])\r\n }\r\n return signParts\r\n}\r\n\r\nfunction reverseString(str) {\r\n return str.toString().split(\"\").reverse().join(\"\")\r\n}\r\n\r\nfunction isPercentFormat(format) {\r\n return -1 !== format.indexOf(\"%\") && !format.match(/'[^']*%[^']*'/g)\r\n}\r\n\r\nfunction removeStubs(str) {\r\n return str.replace(/'.+'/g, \"\")\r\n}\r\n\r\nfunction getNonRequiredDigitCount(floatFormat) {\r\n if (!floatFormat) {\r\n return 0\r\n }\r\n var format = removeStubs(floatFormat);\r\n return format.length - format.replace(/[#]/g, \"\").length\r\n}\r\n\r\nfunction getRequiredDigitCount(floatFormat) {\r\n if (!floatFormat) {\r\n return 0\r\n }\r\n var format = removeStubs(floatFormat);\r\n return format.length - format.replace(/[0]/g, \"\").length\r\n}\r\n\r\nfunction normalizeValueString(valuePart, minDigitCount, maxDigitCount) {\r\n if (!valuePart) {\r\n return \"\"\r\n }\r\n if (valuePart.length > maxDigitCount) {\r\n valuePart = valuePart.substr(0, maxDigitCount)\r\n }\r\n while (valuePart.length > minDigitCount && \"0\" === valuePart.slice(-1)) {\r\n valuePart = valuePart.substr(0, valuePart.length - 1)\r\n }\r\n while (valuePart.length < minDigitCount) {\r\n valuePart += \"0\"\r\n }\r\n return valuePart\r\n}\r\n\r\nfunction applyGroups(valueString, groupSizes, thousandsSeparator) {\r\n if (!groupSizes.length) {\r\n return valueString\r\n }\r\n var groups = [];\r\n var index = 0;\r\n while (valueString) {\r\n var groupSize = groupSizes[index];\r\n if (!groupSize) {\r\n break\r\n }\r\n groups.push(valueString.slice(0, groupSize));\r\n valueString = valueString.slice(groupSize);\r\n if (index < groupSizes.length - 1) {\r\n index++\r\n }\r\n }\r\n return groups.join(thousandsSeparator)\r\n}\r\n\r\nfunction formatNumberPart(format, valueString) {\r\n return format.split(ESCAPING_CHAR).map((function(formatPart, escapeIndex) {\r\n var isEscape = escapeIndex % 2;\r\n if (!formatPart && isEscape) {\r\n return ESCAPING_CHAR\r\n }\r\n return isEscape ? formatPart : formatPart.replace(/[,#0]+/, valueString)\r\n })).join(\"\")\r\n}\r\n\r\nfunction getFloatPointIndex(format) {\r\n var isEscape = false;\r\n for (var index = 0; index < format.length; index++) {\r\n if (\"'\" === format[index]) {\r\n isEscape = !isEscape\r\n }\r\n if (\".\" === format[index] && !isEscape) {\r\n return index\r\n }\r\n }\r\n return format.length\r\n}\r\nexport function getFormatter(format, config) {\r\n config = config || DEFAULT_CONFIG;\r\n return function(value) {\r\n if (\"number\" !== typeof value || isNaN(value)) {\r\n return \"\"\r\n }\r\n var signFormatParts = getSignParts(format);\r\n var isPositiveZero = 1 / value === 1 / 0;\r\n var isPositive = value > 0 || isPositiveZero;\r\n var numberFormat = signFormatParts[isPositive ? 0 : 1];\r\n var floatPointIndex = getFloatPointIndex(numberFormat);\r\n var floatFormatParts = [numberFormat.substr(0, floatPointIndex), numberFormat.substr(floatPointIndex + 1)];\r\n var minFloatPrecision = getRequiredDigitCount(floatFormatParts[1]);\r\n var maxFloatPrecision = minFloatPrecision + getNonRequiredDigitCount(floatFormatParts[1]);\r\n if (isPercentFormat(numberFormat)) {\r\n value = multiplyInExponentialForm(value, PERCENT_EXPONENT_SHIFT)\r\n }\r\n if (!isPositive) {\r\n value = -value\r\n }\r\n var minIntegerPrecision = getRequiredDigitCount(floatFormatParts[0]);\r\n var maxIntegerPrecision = getNonRequiredDigitCount(floatFormatParts[0]) || config.unlimitedIntegerDigits ? void 0 : minIntegerPrecision;\r\n var integerLength = Math.floor(value).toString().length;\r\n var floatPrecision = fitIntoRange(maxFloatPrecision, 0, MAXIMUM_NUMBER_LENGTH - integerLength);\r\n var groupSizes = getGroupSizes(floatFormatParts[0]).reverse();\r\n var valueParts = toFixed(value, floatPrecision < 0 ? 0 : floatPrecision).split(\".\");\r\n var valueIntegerPart = normalizeValueString(reverseString(valueParts[0]), minIntegerPrecision, maxIntegerPrecision);\r\n var valueFloatPart = normalizeValueString(valueParts[1], minFloatPrecision, maxFloatPrecision);\r\n valueIntegerPart = applyGroups(valueIntegerPart, groupSizes, config.thousandsSeparator);\r\n var integerString = reverseString(formatNumberPart(reverseString(floatFormatParts[0]), valueIntegerPart));\r\n var floatString = maxFloatPrecision ? formatNumberPart(floatFormatParts[1], valueFloatPart) : \"\";\r\n var result = integerString + (floatString.match(/\\d/) ? config.decimalSeparator : \"\") + floatString;\r\n return result\r\n }\r\n}\r\n\r\nfunction parseValue(text, isPercent, isNegative) {\r\n var value = (isPercent ? .01 : 1) * parseFloat(text) || 0;\r\n return isNegative ? -value : value\r\n}\r\n\r\nfunction prepareValueText(valueText, formatter, isPercent, isIntegerPart) {\r\n var nextValueText = valueText;\r\n var char;\r\n var text;\r\n var nextText;\r\n do {\r\n if (nextText) {\r\n char = text.length === nextText.length ? \"0\" : \"1\";\r\n valueText = isIntegerPart ? char + valueText : valueText + char\r\n }\r\n text = nextText || formatter(parseValue(nextValueText, isPercent));\r\n nextValueText = isIntegerPart ? \"1\" + nextValueText : nextValueText + \"1\";\r\n nextText = formatter(parseValue(nextValueText, isPercent))\r\n } while (text !== nextText && (isIntegerPart ? text.length === nextText.length : text.length <= nextText.length));\r\n if (isIntegerPart && nextText.length > text.length) {\r\n var hasGroups = -1 === formatter(12345).indexOf(\"12345\");\r\n do {\r\n valueText = \"1\" + valueText\r\n } while (hasGroups && parseValue(valueText, isPercent) < 1e5)\r\n }\r\n return valueText\r\n}\r\n\r\nfunction getFormatByValueText(valueText, formatter, isPercent, isNegative) {\r\n var format = formatter(parseValue(valueText, isPercent, isNegative));\r\n var valueTextParts = valueText.split(\".\");\r\n var valueTextWithModifiedFloat = valueTextParts[0] + \".3\" + valueTextParts[1].slice(1);\r\n var valueWithModifiedFloat = parseValue(valueTextWithModifiedFloat, isPercent, isNegative);\r\n var decimalSeparatorIndex = formatter(valueWithModifiedFloat).indexOf(\"3\") - 1;\r\n format = format.replace(/(\\d)\\D(\\d)/g, \"$1,$2\");\r\n if (decimalSeparatorIndex >= 0) {\r\n format = format.slice(0, decimalSeparatorIndex) + \".\" + format.slice(decimalSeparatorIndex + 1)\r\n }\r\n format = format.replace(/1+/, \"1\").replace(/1/g, \"#\");\r\n if (!isPercent) {\r\n format = format.replace(/%/g, \"'%'\")\r\n }\r\n return format\r\n}\r\nexport function getFormat(formatter) {\r\n var valueText = \".\";\r\n var isPercent = formatter(1).indexOf(\"100\") >= 0;\r\n valueText = prepareValueText(valueText, formatter, isPercent, true);\r\n valueText = prepareValueText(valueText, formatter, isPercent, false);\r\n var positiveFormat = getFormatByValueText(valueText, formatter, isPercent, false);\r\n var negativeFormat = getFormatByValueText(valueText, formatter, isPercent, true);\r\n return negativeFormat === \"-\" + positiveFormat ? positiveFormat : positiveFormat + \";\" + negativeFormat\r\n}\r\n","/**\r\n * DevExtreme (esm/localization/message.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dependencyInjector from \"../core/utils/dependency_injector\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n format as stringFormat\r\n} from \"../core/utils/string\";\r\nimport {\r\n humanize\r\n} from \"../core/utils/inflector\";\r\nimport coreLocalization from \"./core\";\r\nimport {\r\n defaultMessages\r\n} from \"./default_messages\";\r\nvar baseDictionary = extend(true, {}, defaultMessages);\r\nvar getDataByLocale = (localeData, locale) => localeData[locale] || {};\r\nvar newMessages = {};\r\nvar messageLocalization = dependencyInjector({\r\n engine: function() {\r\n return \"base\"\r\n },\r\n _dictionary: baseDictionary,\r\n load: function(messages) {\r\n extend(true, this._dictionary, messages)\r\n },\r\n _localizablePrefix: \"@\",\r\n setup: function(localizablePrefix) {\r\n this._localizablePrefix = localizablePrefix\r\n },\r\n localizeString: function(text) {\r\n var that = this;\r\n var regex = new RegExp(\"(^|[^a-zA-Z_0-9\" + that._localizablePrefix + \"-]+)(\" + that._localizablePrefix + \"{1,2})([a-zA-Z_0-9-]+)\", \"g\");\r\n var escapeString = that._localizablePrefix + that._localizablePrefix;\r\n return text.replace(regex, (str, prefix, escape, localizationKey) => {\r\n var defaultResult = that._localizablePrefix + localizationKey;\r\n var result;\r\n if (escape !== escapeString) {\r\n result = that.format(localizationKey)\r\n }\r\n if (!result) {\r\n newMessages[localizationKey] = humanize(localizationKey)\r\n }\r\n return prefix + (result || defaultResult)\r\n })\r\n },\r\n getMessagesByLocales: function() {\r\n return this._dictionary\r\n },\r\n getDictionary: function(onlyNew) {\r\n if (onlyNew) {\r\n return newMessages\r\n }\r\n return extend({}, newMessages, this.getMessagesByLocales()[coreLocalization.locale()])\r\n },\r\n getFormatter: function(key) {\r\n return this._getFormatterBase(key) || this._getFormatterBase(key, \"en\")\r\n },\r\n _getFormatterBase: function(key, locale) {\r\n var message = coreLocalization.getValueByClosestLocale(locale => getDataByLocale(this._dictionary, locale)[key]);\r\n if (message) {\r\n return function() {\r\n var args = 1 === arguments.length && Array.isArray(arguments[0]) ? arguments[0].slice(0) : Array.prototype.slice.call(arguments, 0);\r\n args.unshift(message);\r\n return stringFormat.apply(this, args)\r\n }\r\n }\r\n },\r\n format: function(key) {\r\n var formatter = this.getFormatter(key);\r\n var values = Array.prototype.slice.call(arguments, 1);\r\n return formatter && formatter.apply(this, values) || \"\"\r\n }\r\n});\r\nexport default messageLocalization;\r\n","/**\r\n * DevExtreme (esm/localization/default_messages.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n// !!! AUTO-GENERATED FILE, DO NOT EDIT\r\nexport var defaultMessages = {\r\n en: {\r\n Yes: \"Yes\",\r\n No: \"No\",\r\n Cancel: \"Cancel\",\r\n Close: \"Close\",\r\n Clear: \"Clear\",\r\n Done: \"Done\",\r\n Loading: \"Loading...\",\r\n Select: \"Select...\",\r\n Search: \"Search\",\r\n Back: \"Back\",\r\n OK: \"OK\",\r\n \"dxCollectionWidget-noDataText\": \"No data to display\",\r\n \"dxDropDownEditor-selectLabel\": \"Select\",\r\n \"validation-required\": \"Required\",\r\n \"validation-required-formatted\": \"{0} is required\",\r\n \"validation-numeric\": \"Value must be a number\",\r\n \"validation-numeric-formatted\": \"{0} must be a number\",\r\n \"validation-range\": \"Value is out of range\",\r\n \"validation-range-formatted\": \"{0} is out of range\",\r\n \"validation-stringLength\": \"The length of the value is not correct\",\r\n \"validation-stringLength-formatted\": \"The length of {0} is not correct\",\r\n \"validation-custom\": \"Value is invalid\",\r\n \"validation-custom-formatted\": \"{0} is invalid\",\r\n \"validation-async\": \"Value is invalid\",\r\n \"validation-async-formatted\": \"{0} is invalid\",\r\n \"validation-compare\": \"Values do not match\",\r\n \"validation-compare-formatted\": \"{0} does not match\",\r\n \"validation-pattern\": \"Value does not match pattern\",\r\n \"validation-pattern-formatted\": \"{0} does not match pattern\",\r\n \"validation-email\": \"Email is invalid\",\r\n \"validation-email-formatted\": \"{0} is invalid\",\r\n \"validation-mask\": \"Value is invalid\",\r\n \"dxLookup-searchPlaceholder\": \"Minimum character number: {0}\",\r\n \"dxList-pullingDownText\": \"Pull down to refresh...\",\r\n \"dxList-pulledDownText\": \"Release to refresh...\",\r\n \"dxList-refreshingText\": \"Refreshing...\",\r\n \"dxList-pageLoadingText\": \"Loading...\",\r\n \"dxList-nextButtonText\": \"More\",\r\n \"dxList-selectAll\": \"Select All\",\r\n \"dxListEditDecorator-delete\": \"Delete\",\r\n \"dxListEditDecorator-more\": \"More\",\r\n \"dxScrollView-pullingDownText\": \"Pull down to refresh...\",\r\n \"dxScrollView-pulledDownText\": \"Release to refresh...\",\r\n \"dxScrollView-refreshingText\": \"Refreshing...\",\r\n \"dxScrollView-reachBottomText\": \"Loading...\",\r\n \"dxDateBox-simulatedDataPickerTitleTime\": \"Select time\",\r\n \"dxDateBox-simulatedDataPickerTitleDate\": \"Select date\",\r\n \"dxDateBox-simulatedDataPickerTitleDateTime\": \"Select date and time\",\r\n \"dxDateBox-validation-datetime\": \"Value must be a date or time\",\r\n \"dxFileUploader-selectFile\": \"Select a file\",\r\n \"dxFileUploader-dropFile\": \"or Drop a file here\",\r\n \"dxFileUploader-bytes\": \"bytes\",\r\n \"dxFileUploader-kb\": \"KB\",\r\n \"dxFileUploader-Mb\": \"MB\",\r\n \"dxFileUploader-Gb\": \"GB\",\r\n \"dxFileUploader-upload\": \"Upload\",\r\n \"dxFileUploader-uploaded\": \"Uploaded\",\r\n \"dxFileUploader-readyToUpload\": \"Ready to upload\",\r\n \"dxFileUploader-uploadAbortedMessage\": \"Upload cancelled\",\r\n \"dxFileUploader-uploadFailedMessage\": \"Upload failed\",\r\n \"dxFileUploader-invalidFileExtension\": \"File type is not allowed\",\r\n \"dxFileUploader-invalidMaxFileSize\": \"File is too large\",\r\n \"dxFileUploader-invalidMinFileSize\": \"File is too small\",\r\n \"dxRangeSlider-ariaFrom\": \"From\",\r\n \"dxRangeSlider-ariaTill\": \"Till\",\r\n \"dxSwitch-switchedOnText\": \"ON\",\r\n \"dxSwitch-switchedOffText\": \"OFF\",\r\n \"dxForm-optionalMark\": \"optional\",\r\n \"dxForm-requiredMessage\": \"{0} is required\",\r\n \"dxNumberBox-invalidValueMessage\": \"Value must be a number\",\r\n \"dxNumberBox-noDataText\": \"No data\",\r\n \"dxDataGrid-columnChooserTitle\": \"Column Chooser\",\r\n \"dxDataGrid-columnChooserEmptyText\": \"Drag a column here to hide it\",\r\n \"dxDataGrid-groupContinuesMessage\": \"Continues on the next page\",\r\n \"dxDataGrid-groupContinuedMessage\": \"Continued from the previous page\",\r\n \"dxDataGrid-groupHeaderText\": \"Group by This Column\",\r\n \"dxDataGrid-ungroupHeaderText\": \"Ungroup\",\r\n \"dxDataGrid-ungroupAllText\": \"Ungroup All\",\r\n \"dxDataGrid-editingEditRow\": \"Edit\",\r\n \"dxDataGrid-editingSaveRowChanges\": \"Save\",\r\n \"dxDataGrid-editingCancelRowChanges\": \"Cancel\",\r\n \"dxDataGrid-editingDeleteRow\": \"Delete\",\r\n \"dxDataGrid-editingUndeleteRow\": \"Undelete\",\r\n \"dxDataGrid-editingConfirmDeleteMessage\": \"Are you sure you want to delete this record?\",\r\n \"dxDataGrid-validationCancelChanges\": \"Cancel changes\",\r\n \"dxDataGrid-groupPanelEmptyText\": \"Drag a column header here to group by that column\",\r\n \"dxDataGrid-noDataText\": \"No data\",\r\n \"dxDataGrid-searchPanelPlaceholder\": \"Search...\",\r\n \"dxDataGrid-filterRowShowAllText\": \"(All)\",\r\n \"dxDataGrid-filterRowResetOperationText\": \"Reset\",\r\n \"dxDataGrid-filterRowOperationEquals\": \"Equals\",\r\n \"dxDataGrid-filterRowOperationNotEquals\": \"Does not equal\",\r\n \"dxDataGrid-filterRowOperationLess\": \"Less than\",\r\n \"dxDataGrid-filterRowOperationLessOrEquals\": \"Less than or equal to\",\r\n \"dxDataGrid-filterRowOperationGreater\": \"Greater than\",\r\n \"dxDataGrid-filterRowOperationGreaterOrEquals\": \"Greater than or equal to\",\r\n \"dxDataGrid-filterRowOperationStartsWith\": \"Starts with\",\r\n \"dxDataGrid-filterRowOperationContains\": \"Contains\",\r\n \"dxDataGrid-filterRowOperationNotContains\": \"Does not contain\",\r\n \"dxDataGrid-filterRowOperationEndsWith\": \"Ends with\",\r\n \"dxDataGrid-filterRowOperationBetween\": \"Between\",\r\n \"dxDataGrid-filterRowOperationBetweenStartText\": \"Start\",\r\n \"dxDataGrid-filterRowOperationBetweenEndText\": \"End\",\r\n \"dxDataGrid-ariaSearchBox\": \"Search box\",\r\n \"dxDataGrid-applyFilterText\": \"Apply filter\",\r\n \"dxDataGrid-trueText\": \"true\",\r\n \"dxDataGrid-falseText\": \"false\",\r\n \"dxDataGrid-sortingAscendingText\": \"Sort Ascending\",\r\n \"dxDataGrid-sortingDescendingText\": \"Sort Descending\",\r\n \"dxDataGrid-sortingClearText\": \"Clear Sorting\",\r\n \"dxDataGrid-editingSaveAllChanges\": \"Save changes\",\r\n \"dxDataGrid-editingCancelAllChanges\": \"Discard changes\",\r\n \"dxDataGrid-editingAddRow\": \"Add a row\",\r\n \"dxDataGrid-summaryMin\": \"Min: {0}\",\r\n \"dxDataGrid-summaryMinOtherColumn\": \"Min of {1} is {0}\",\r\n \"dxDataGrid-summaryMax\": \"Max: {0}\",\r\n \"dxDataGrid-summaryMaxOtherColumn\": \"Max of {1} is {0}\",\r\n \"dxDataGrid-summaryAvg\": \"Avg: {0}\",\r\n \"dxDataGrid-summaryAvgOtherColumn\": \"Avg of {1} is {0}\",\r\n \"dxDataGrid-summarySum\": \"Sum: {0}\",\r\n \"dxDataGrid-summarySumOtherColumn\": \"Sum of {1} is {0}\",\r\n \"dxDataGrid-summaryCount\": \"Count: {0}\",\r\n \"dxDataGrid-columnFixingFix\": \"Fix\",\r\n \"dxDataGrid-columnFixingUnfix\": \"Unfix\",\r\n \"dxDataGrid-columnFixingLeftPosition\": \"To the left\",\r\n \"dxDataGrid-columnFixingRightPosition\": \"To the right\",\r\n \"dxDataGrid-exportTo\": \"Export\",\r\n \"dxDataGrid-exportToExcel\": \"Export to Excel file\",\r\n \"dxDataGrid-exporting\": \"Exporting...\",\r\n \"dxDataGrid-excelFormat\": \"Excel file\",\r\n \"dxDataGrid-selectedRows\": \"Selected rows\",\r\n \"dxDataGrid-exportSelectedRows\": \"Export selected rows to {0}\",\r\n \"dxDataGrid-exportAll\": \"Export all data to {0}\",\r\n \"dxDataGrid-headerFilterLabel\": \"Filter options\",\r\n \"dxDataGrid-headerFilterIndicatorLabel\": \"Show filter options for column '{0}'\",\r\n \"dxDataGrid-headerFilterEmptyValue\": \"(Blanks)\",\r\n \"dxDataGrid-headerFilterOK\": \"OK\",\r\n \"dxDataGrid-headerFilterCancel\": \"Cancel\",\r\n \"dxDataGrid-ariaAdaptiveCollapse\": \"Hide additional data\",\r\n \"dxDataGrid-ariaAdaptiveExpand\": \"Display additional data\",\r\n \"dxDataGrid-ariaColumn\": \"Column\",\r\n \"dxDataGrid-ariaValue\": \"Value\",\r\n \"dxDataGrid-ariaFilterCell\": \"Filter cell\",\r\n \"dxDataGrid-ariaCollapse\": \"Collapse\",\r\n \"dxDataGrid-ariaExpand\": \"Expand\",\r\n \"dxDataGrid-ariaDataGrid\": \"Data grid with {0} rows and {1} columns\",\r\n \"dxDataGrid-ariaSearchInGrid\": \"Search in the data grid\",\r\n \"dxDataGrid-ariaSelectAll\": \"Select all\",\r\n \"dxDataGrid-ariaSelectRow\": \"Select row\",\r\n \"dxDataGrid-ariaToolbar\": \"Data grid toolbar\",\r\n \"dxDataGrid-ariaEditForm\": \"Edit form\",\r\n \"dxDataGrid-filterBuilderPopupTitle\": \"Filter Builder\",\r\n \"dxDataGrid-filterPanelCreateFilter\": \"Create Filter\",\r\n \"dxDataGrid-filterPanelClearFilter\": \"Clear\",\r\n \"dxDataGrid-filterPanelFilterEnabledHint\": \"Enable the filter\",\r\n \"dxTreeList-ariaTreeList\": \"Tree list with {0} rows and {1} columns\",\r\n \"dxTreeList-ariaSearchInGrid\": \"Search in the tree list\",\r\n \"dxTreeList-ariaToolbar\": \"Tree list toolbar\",\r\n \"dxTreeList-editingAddRowToNode\": \"Add\",\r\n \"dxPager-infoText\": \"Page {0} of {1} ({2} items)\",\r\n \"dxPager-pagesCountText\": \"of\",\r\n \"dxPager-pageSize\": \"Items per page: {0}\",\r\n \"dxPager-pageSizesAllText\": \"All\",\r\n \"dxPager-page\": \"Page {0}\",\r\n \"dxPager-prevPage\": \"Previous Page\",\r\n \"dxPager-nextPage\": \"Next Page\",\r\n \"dxPager-ariaLabel\": \"Page Navigation\",\r\n \"dxPager-ariaPageSize\": \"Page size\",\r\n \"dxPager-ariaPageNumber\": \"Page number\",\r\n \"dxPivotGrid-grandTotal\": \"Grand Total\",\r\n \"dxPivotGrid-total\": \"{0} Total\",\r\n \"dxPivotGrid-fieldChooserTitle\": \"Field Chooser\",\r\n \"dxPivotGrid-showFieldChooser\": \"Show Field Chooser\",\r\n \"dxPivotGrid-expandAll\": \"Expand All\",\r\n \"dxPivotGrid-collapseAll\": \"Collapse All\",\r\n \"dxPivotGrid-sortColumnBySummary\": 'Sort \"{0}\" by This Column',\r\n \"dxPivotGrid-sortRowBySummary\": 'Sort \"{0}\" by This Row',\r\n \"dxPivotGrid-removeAllSorting\": \"Remove All Sorting\",\r\n \"dxPivotGrid-dataNotAvailable\": \"N/A\",\r\n \"dxPivotGrid-rowFields\": \"Row Fields\",\r\n \"dxPivotGrid-columnFields\": \"Column Fields\",\r\n \"dxPivotGrid-dataFields\": \"Data Fields\",\r\n \"dxPivotGrid-filterFields\": \"Filter Fields\",\r\n \"dxPivotGrid-allFields\": \"All Fields\",\r\n \"dxPivotGrid-columnFieldArea\": \"Drop Column Fields Here\",\r\n \"dxPivotGrid-dataFieldArea\": \"Drop Data Fields Here\",\r\n \"dxPivotGrid-rowFieldArea\": \"Drop Row Fields Here\",\r\n \"dxPivotGrid-filterFieldArea\": \"Drop Filter Fields Here\",\r\n \"dxScheduler-editorLabelTitle\": \"Subject\",\r\n \"dxScheduler-editorLabelStartDate\": \"Start Date\",\r\n \"dxScheduler-editorLabelEndDate\": \"End Date\",\r\n \"dxScheduler-editorLabelDescription\": \"Description\",\r\n \"dxScheduler-editorLabelRecurrence\": \"Repeat\",\r\n \"dxScheduler-openAppointment\": \"Open appointment\",\r\n \"dxScheduler-recurrenceNever\": \"Never\",\r\n \"dxScheduler-recurrenceMinutely\": \"Every minute\",\r\n \"dxScheduler-recurrenceHourly\": \"Hourly\",\r\n \"dxScheduler-recurrenceDaily\": \"Daily\",\r\n \"dxScheduler-recurrenceWeekly\": \"Weekly\",\r\n \"dxScheduler-recurrenceMonthly\": \"Monthly\",\r\n \"dxScheduler-recurrenceYearly\": \"Yearly\",\r\n \"dxScheduler-recurrenceRepeatEvery\": \"Repeat Every\",\r\n \"dxScheduler-recurrenceRepeatOn\": \"Repeat On\",\r\n \"dxScheduler-recurrenceEnd\": \"End repeat\",\r\n \"dxScheduler-recurrenceAfter\": \"After\",\r\n \"dxScheduler-recurrenceOn\": \"On\",\r\n \"dxScheduler-recurrenceRepeatMinutely\": \"minute(s)\",\r\n \"dxScheduler-recurrenceRepeatHourly\": \"hour(s)\",\r\n \"dxScheduler-recurrenceRepeatDaily\": \"day(s)\",\r\n \"dxScheduler-recurrenceRepeatWeekly\": \"week(s)\",\r\n \"dxScheduler-recurrenceRepeatMonthly\": \"month(s)\",\r\n \"dxScheduler-recurrenceRepeatYearly\": \"year(s)\",\r\n \"dxScheduler-switcherDay\": \"Day\",\r\n \"dxScheduler-switcherWeek\": \"Week\",\r\n \"dxScheduler-switcherWorkWeek\": \"Work Week\",\r\n \"dxScheduler-switcherMonth\": \"Month\",\r\n \"dxScheduler-switcherAgenda\": \"Agenda\",\r\n \"dxScheduler-switcherTimelineDay\": \"Timeline Day\",\r\n \"dxScheduler-switcherTimelineWeek\": \"Timeline Week\",\r\n \"dxScheduler-switcherTimelineWorkWeek\": \"Timeline Work Week\",\r\n \"dxScheduler-switcherTimelineMonth\": \"Timeline Month\",\r\n \"dxScheduler-recurrenceRepeatOnDate\": \"on date\",\r\n \"dxScheduler-recurrenceRepeatCount\": \"occurrence(s)\",\r\n \"dxScheduler-allDay\": \"All day\",\r\n \"dxScheduler-confirmRecurrenceEditMessage\": \"Do you want to edit only this appointment or the whole series?\",\r\n \"dxScheduler-confirmRecurrenceDeleteMessage\": \"Do you want to delete only this appointment or the whole series?\",\r\n \"dxScheduler-confirmRecurrenceEditSeries\": \"Edit series\",\r\n \"dxScheduler-confirmRecurrenceDeleteSeries\": \"Delete series\",\r\n \"dxScheduler-confirmRecurrenceEditOccurrence\": \"Edit appointment\",\r\n \"dxScheduler-confirmRecurrenceDeleteOccurrence\": \"Delete appointment\",\r\n \"dxScheduler-noTimezoneTitle\": \"No timezone\",\r\n \"dxScheduler-moreAppointments\": \"{0} more\",\r\n \"dxCalendar-todayButtonText\": \"Today\",\r\n \"dxCalendar-ariaWidgetName\": \"Calendar\",\r\n \"dxCalendar-ariaHotKeysInfo\": \"To navigate between views, press Control, and then Left Arrow or Right Arrow. To zoom in on a view, press Control, and then Down Arrow. To zoom out, press Control, and then Up Arrow.\",\r\n \"dxColorView-ariaRed\": \"Red\",\r\n \"dxColorView-ariaGreen\": \"Green\",\r\n \"dxColorView-ariaBlue\": \"Blue\",\r\n \"dxColorView-ariaAlpha\": \"Transparency\",\r\n \"dxColorView-ariaHex\": \"Color code\",\r\n \"dxTagBox-selected\": \"{0} selected\",\r\n \"dxTagBox-allSelected\": \"All selected ({0})\",\r\n \"dxTagBox-moreSelected\": \"{0} more\",\r\n \"vizExport-printingButtonText\": \"Print\",\r\n \"vizExport-titleMenuText\": \"Exporting/Printing\",\r\n \"vizExport-exportButtonText\": \"{0} file\",\r\n \"dxFilterBuilder-and\": \"And\",\r\n \"dxFilterBuilder-or\": \"Or\",\r\n \"dxFilterBuilder-notAnd\": \"Not And\",\r\n \"dxFilterBuilder-notOr\": \"Not Or\",\r\n \"dxFilterBuilder-addCondition\": \"Add Condition\",\r\n \"dxFilterBuilder-addGroup\": \"Add Group\",\r\n \"dxFilterBuilder-enterValueText\": \"\",\r\n \"dxFilterBuilder-filterOperationEquals\": \"Equals\",\r\n \"dxFilterBuilder-filterOperationNotEquals\": \"Does not equal\",\r\n \"dxFilterBuilder-filterOperationLess\": \"Is less than\",\r\n \"dxFilterBuilder-filterOperationLessOrEquals\": \"Is less than or equal to\",\r\n \"dxFilterBuilder-filterOperationGreater\": \"Is greater than\",\r\n \"dxFilterBuilder-filterOperationGreaterOrEquals\": \"Is greater than or equal to\",\r\n \"dxFilterBuilder-filterOperationStartsWith\": \"Starts with\",\r\n \"dxFilterBuilder-filterOperationContains\": \"Contains\",\r\n \"dxFilterBuilder-filterOperationNotContains\": \"Does not contain\",\r\n \"dxFilterBuilder-filterOperationEndsWith\": \"Ends with\",\r\n \"dxFilterBuilder-filterOperationIsBlank\": \"Is blank\",\r\n \"dxFilterBuilder-filterOperationIsNotBlank\": \"Is not blank\",\r\n \"dxFilterBuilder-filterOperationBetween\": \"Is between\",\r\n \"dxFilterBuilder-filterOperationAnyOf\": \"Is any of\",\r\n \"dxFilterBuilder-filterOperationNoneOf\": \"Is none of\",\r\n \"dxHtmlEditor-dialogColorCaption\": \"Change Font Color\",\r\n \"dxHtmlEditor-dialogBackgroundCaption\": \"Change Background Color\",\r\n \"dxHtmlEditor-dialogLinkCaption\": \"Add Link\",\r\n \"dxHtmlEditor-dialogLinkUrlField\": \"URL\",\r\n \"dxHtmlEditor-dialogLinkTextField\": \"Text\",\r\n \"dxHtmlEditor-dialogLinkTargetField\": \"Open link in new window\",\r\n \"dxHtmlEditor-dialogImageCaption\": \"Add Image\",\r\n \"dxHtmlEditor-dialogImageUrlField\": \"URL\",\r\n \"dxHtmlEditor-dialogImageAltField\": \"Alternate text\",\r\n \"dxHtmlEditor-dialogImageWidthField\": \"Width (px)\",\r\n \"dxHtmlEditor-dialogImageHeightField\": \"Height (px)\",\r\n \"dxHtmlEditor-dialogInsertTableRowsField\": \"Rows\",\r\n \"dxHtmlEditor-dialogInsertTableColumnsField\": \"Columns\",\r\n \"dxHtmlEditor-dialogInsertTableCaption\": \"Insert Table\",\r\n \"dxHtmlEditor-dialogUpdateImageCaption\": \"Update Image\",\r\n \"dxHtmlEditor-dialogImageUpdateButton\": \"Update\",\r\n \"dxHtmlEditor-dialogImageAddButton\": \"Add\",\r\n \"dxHtmlEditor-dialogImageSpecifyUrl\": \"From the Web\",\r\n \"dxHtmlEditor-dialogImageSelectFile\": \"From This Device\",\r\n \"dxHtmlEditor-dialogImageKeepAspectRatio\": \"Keep Aspect Ratio\",\r\n \"dxHtmlEditor-dialogImageEncodeToBase64\": \"Encode to Base64\",\r\n \"dxHtmlEditor-heading\": \"Heading\",\r\n \"dxHtmlEditor-normalText\": \"Normal text\",\r\n \"dxHtmlEditor-background\": \"Background Color\",\r\n \"dxHtmlEditor-bold\": \"Bold\",\r\n \"dxHtmlEditor-color\": \"Font Color\",\r\n \"dxHtmlEditor-font\": \"Font\",\r\n \"dxHtmlEditor-italic\": \"Italic\",\r\n \"dxHtmlEditor-link\": \"Add Link\",\r\n \"dxHtmlEditor-image\": \"Add Image\",\r\n \"dxHtmlEditor-size\": \"Size\",\r\n \"dxHtmlEditor-strike\": \"Strikethrough\",\r\n \"dxHtmlEditor-subscript\": \"Subscript\",\r\n \"dxHtmlEditor-superscript\": \"Superscript\",\r\n \"dxHtmlEditor-underline\": \"Underline\",\r\n \"dxHtmlEditor-blockquote\": \"Blockquote\",\r\n \"dxHtmlEditor-header\": \"Header\",\r\n \"dxHtmlEditor-increaseIndent\": \"Increase Indent\",\r\n \"dxHtmlEditor-decreaseIndent\": \"Decrease Indent\",\r\n \"dxHtmlEditor-orderedList\": \"Ordered List\",\r\n \"dxHtmlEditor-bulletList\": \"Bullet List\",\r\n \"dxHtmlEditor-alignLeft\": \"Align Left\",\r\n \"dxHtmlEditor-alignCenter\": \"Align Center\",\r\n \"dxHtmlEditor-alignRight\": \"Align Right\",\r\n \"dxHtmlEditor-alignJustify\": \"Align Justify\",\r\n \"dxHtmlEditor-codeBlock\": \"Code Block\",\r\n \"dxHtmlEditor-variable\": \"Add Variable\",\r\n \"dxHtmlEditor-undo\": \"Undo\",\r\n \"dxHtmlEditor-redo\": \"Redo\",\r\n \"dxHtmlEditor-clear\": \"Clear Formatting\",\r\n \"dxHtmlEditor-insertTable\": \"Insert Table\",\r\n \"dxHtmlEditor-insertHeaderRow\": \"Insert Header Row\",\r\n \"dxHtmlEditor-insertRowAbove\": \"Insert Row Above\",\r\n \"dxHtmlEditor-insertRowBelow\": \"Insert Row Below\",\r\n \"dxHtmlEditor-insertColumnLeft\": \"Insert Column Left\",\r\n \"dxHtmlEditor-insertColumnRight\": \"Insert Column Right\",\r\n \"dxHtmlEditor-deleteColumn\": \"Delete Column\",\r\n \"dxHtmlEditor-deleteRow\": \"Delete Row\",\r\n \"dxHtmlEditor-deleteTable\": \"Delete Table\",\r\n \"dxHtmlEditor-cellProperties\": \"Cell Properties\",\r\n \"dxHtmlEditor-tableProperties\": \"Table Properties\",\r\n \"dxHtmlEditor-insert\": \"Insert\",\r\n \"dxHtmlEditor-delete\": \"Delete\",\r\n \"dxHtmlEditor-border\": \"Border\",\r\n \"dxHtmlEditor-style\": \"Style\",\r\n \"dxHtmlEditor-width\": \"Width\",\r\n \"dxHtmlEditor-height\": \"Height\",\r\n \"dxHtmlEditor-borderColor\": \"Color\",\r\n \"dxHtmlEditor-tableBackground\": \"Background\",\r\n \"dxHtmlEditor-dimensions\": \"Dimensions\",\r\n \"dxHtmlEditor-alignment\": \"Alignment\",\r\n \"dxHtmlEditor-horizontal\": \"Horizontal\",\r\n \"dxHtmlEditor-vertical\": \"Vertical\",\r\n \"dxHtmlEditor-paddingVertical\": \"Vertical Padding\",\r\n \"dxHtmlEditor-paddingHorizontal\": \"Horizontal Padding\",\r\n \"dxHtmlEditor-pixels\": \"Pixels\",\r\n \"dxHtmlEditor-list\": \"List\",\r\n \"dxHtmlEditor-ordered\": \"Ordered\",\r\n \"dxHtmlEditor-bullet\": \"Bullet\",\r\n \"dxHtmlEditor-align\": \"Align\",\r\n \"dxHtmlEditor-center\": \"Center\",\r\n \"dxHtmlEditor-left\": \"Left\",\r\n \"dxHtmlEditor-right\": \"Right\",\r\n \"dxHtmlEditor-indent\": \"Indent\",\r\n \"dxHtmlEditor-justify\": \"Justify\",\r\n \"dxHtmlEditor-borderStyleNone\": \"none\",\r\n \"dxHtmlEditor-borderStyleHidden\": \"hidden\",\r\n \"dxHtmlEditor-borderStyleDotted\": \"dotted\",\r\n \"dxHtmlEditor-borderStyleDashed\": \"dashed\",\r\n \"dxHtmlEditor-borderStyleSolid\": \"solid\",\r\n \"dxHtmlEditor-borderStyleDouble\": \"double\",\r\n \"dxHtmlEditor-borderStyleGroove\": \"groove\",\r\n \"dxHtmlEditor-borderStyleRidge\": \"ridge\",\r\n \"dxHtmlEditor-borderStyleInset\": \"inset\",\r\n \"dxHtmlEditor-borderStyleOutset\": \"outset\",\r\n \"dxFileManager-newDirectoryName\": \"Untitled directory\",\r\n \"dxFileManager-rootDirectoryName\": \"Files\",\r\n \"dxFileManager-errorNoAccess\": \"Access Denied. Operation could not be completed.\",\r\n \"dxFileManager-errorDirectoryExistsFormat\": \"Directory '{0}' already exists.\",\r\n \"dxFileManager-errorFileExistsFormat\": \"File '{0}' already exists.\",\r\n \"dxFileManager-errorFileNotFoundFormat\": \"File '{0}' not found.\",\r\n \"dxFileManager-errorDirectoryNotFoundFormat\": \"Directory '{0}' not found.\",\r\n \"dxFileManager-errorWrongFileExtension\": \"File extension is not allowed.\",\r\n \"dxFileManager-errorMaxFileSizeExceeded\": \"File size exceeds the maximum allowed size.\",\r\n \"dxFileManager-errorInvalidSymbols\": \"This name contains invalid characters.\",\r\n \"dxFileManager-errorDefault\": \"Unspecified error.\",\r\n \"dxFileManager-errorDirectoryOpenFailed\": \"The directory cannot be opened\",\r\n \"dxFileManager-commandCreate\": \"New directory\",\r\n \"dxFileManager-commandRename\": \"Rename\",\r\n \"dxFileManager-commandMove\": \"Move to\",\r\n \"dxFileManager-commandCopy\": \"Copy to\",\r\n \"dxFileManager-commandDelete\": \"Delete\",\r\n \"dxFileManager-commandDownload\": \"Download\",\r\n \"dxFileManager-commandUpload\": \"Upload files\",\r\n \"dxFileManager-commandRefresh\": \"Refresh\",\r\n \"dxFileManager-commandThumbnails\": \"Thumbnails View\",\r\n \"dxFileManager-commandDetails\": \"Details View\",\r\n \"dxFileManager-commandClearSelection\": \"Clear selection\",\r\n \"dxFileManager-commandShowNavPane\": \"Toggle navigation pane\",\r\n \"dxFileManager-dialogDirectoryChooserMoveTitle\": \"Move to\",\r\n \"dxFileManager-dialogDirectoryChooserMoveButtonText\": \"Move\",\r\n \"dxFileManager-dialogDirectoryChooserCopyTitle\": \"Copy to\",\r\n \"dxFileManager-dialogDirectoryChooserCopyButtonText\": \"Copy\",\r\n \"dxFileManager-dialogRenameItemTitle\": \"Rename\",\r\n \"dxFileManager-dialogRenameItemButtonText\": \"Save\",\r\n \"dxFileManager-dialogCreateDirectoryTitle\": \"New directory\",\r\n \"dxFileManager-dialogCreateDirectoryButtonText\": \"Create\",\r\n \"dxFileManager-dialogDeleteItemTitle\": \"Delete\",\r\n \"dxFileManager-dialogDeleteItemButtonText\": \"Delete\",\r\n \"dxFileManager-dialogDeleteItemSingleItemConfirmation\": \"Are you sure you want to delete {0}?\",\r\n \"dxFileManager-dialogDeleteItemMultipleItemsConfirmation\": \"Are you sure you want to delete {0} items?\",\r\n \"dxFileManager-dialogButtonCancel\": \"Cancel\",\r\n \"dxFileManager-editingCreateSingleItemProcessingMessage\": \"Creating a directory inside {0}\",\r\n \"dxFileManager-editingCreateSingleItemSuccessMessage\": \"Created a directory inside {0}\",\r\n \"dxFileManager-editingCreateSingleItemErrorMessage\": \"Directory was not created\",\r\n \"dxFileManager-editingCreateCommonErrorMessage\": \"Directory was not created\",\r\n \"dxFileManager-editingRenameSingleItemProcessingMessage\": \"Renaming an item inside {0}\",\r\n \"dxFileManager-editingRenameSingleItemSuccessMessage\": \"Renamed an item inside {0}\",\r\n \"dxFileManager-editingRenameSingleItemErrorMessage\": \"Item was not renamed\",\r\n \"dxFileManager-editingRenameCommonErrorMessage\": \"Item was not renamed\",\r\n \"dxFileManager-editingDeleteSingleItemProcessingMessage\": \"Deleting an item from {0}\",\r\n \"dxFileManager-editingDeleteMultipleItemsProcessingMessage\": \"Deleting {0} items from {1}\",\r\n \"dxFileManager-editingDeleteSingleItemSuccessMessage\": \"Deleted an item from {0}\",\r\n \"dxFileManager-editingDeleteMultipleItemsSuccessMessage\": \"Deleted {0} items from {1}\",\r\n \"dxFileManager-editingDeleteSingleItemErrorMessage\": \"Item was not deleted\",\r\n \"dxFileManager-editingDeleteMultipleItemsErrorMessage\": \"{0} items were not deleted\",\r\n \"dxFileManager-editingDeleteCommonErrorMessage\": \"Some items were not deleted\",\r\n \"dxFileManager-editingMoveSingleItemProcessingMessage\": \"Moving an item to {0}\",\r\n \"dxFileManager-editingMoveMultipleItemsProcessingMessage\": \"Moving {0} items to {1}\",\r\n \"dxFileManager-editingMoveSingleItemSuccessMessage\": \"Moved an item to {0}\",\r\n \"dxFileManager-editingMoveMultipleItemsSuccessMessage\": \"Moved {0} items to {1}\",\r\n \"dxFileManager-editingMoveSingleItemErrorMessage\": \"Item was not moved\",\r\n \"dxFileManager-editingMoveMultipleItemsErrorMessage\": \"{0} items were not moved\",\r\n \"dxFileManager-editingMoveCommonErrorMessage\": \"Some items were not moved\",\r\n \"dxFileManager-editingCopySingleItemProcessingMessage\": \"Copying an item to {0}\",\r\n \"dxFileManager-editingCopyMultipleItemsProcessingMessage\": \"Copying {0} items to {1}\",\r\n \"dxFileManager-editingCopySingleItemSuccessMessage\": \"Copied an item to {0}\",\r\n \"dxFileManager-editingCopyMultipleItemsSuccessMessage\": \"Copied {0} items to {1}\",\r\n \"dxFileManager-editingCopySingleItemErrorMessage\": \"Item was not copied\",\r\n \"dxFileManager-editingCopyMultipleItemsErrorMessage\": \"{0} items were not copied\",\r\n \"dxFileManager-editingCopyCommonErrorMessage\": \"Some items were not copied\",\r\n \"dxFileManager-editingUploadSingleItemProcessingMessage\": \"Uploading an item to {0}\",\r\n \"dxFileManager-editingUploadMultipleItemsProcessingMessage\": \"Uploading {0} items to {1}\",\r\n \"dxFileManager-editingUploadSingleItemSuccessMessage\": \"Uploaded an item to {0}\",\r\n \"dxFileManager-editingUploadMultipleItemsSuccessMessage\": \"Uploaded {0} items to {1}\",\r\n \"dxFileManager-editingUploadSingleItemErrorMessage\": \"Item was not uploaded\",\r\n \"dxFileManager-editingUploadMultipleItemsErrorMessage\": \"{0} items were not uploaded\",\r\n \"dxFileManager-editingUploadCanceledMessage\": \"Canceled\",\r\n \"dxFileManager-editingDownloadSingleItemErrorMessage\": \"Item was not downloaded\",\r\n \"dxFileManager-editingDownloadMultipleItemsErrorMessage\": \"{0} items were not downloaded\",\r\n \"dxFileManager-listDetailsColumnCaptionName\": \"Name\",\r\n \"dxFileManager-listDetailsColumnCaptionDateModified\": \"Date Modified\",\r\n \"dxFileManager-listDetailsColumnCaptionFileSize\": \"File Size\",\r\n \"dxFileManager-listThumbnailsTooltipTextSize\": \"Size\",\r\n \"dxFileManager-listThumbnailsTooltipTextDateModified\": \"Date Modified\",\r\n \"dxFileManager-notificationProgressPanelTitle\": \"Progress\",\r\n \"dxFileManager-notificationProgressPanelEmptyListText\": \"No operations\",\r\n \"dxFileManager-notificationProgressPanelOperationCanceled\": \"Canceled\",\r\n \"dxDiagram-categoryGeneral\": \"General\",\r\n \"dxDiagram-categoryFlowchart\": \"Flowchart\",\r\n \"dxDiagram-categoryOrgChart\": \"Org Chart\",\r\n \"dxDiagram-categoryContainers\": \"Containers\",\r\n \"dxDiagram-categoryCustom\": \"Custom\",\r\n \"dxDiagram-commandExportToSvg\": \"Export to SVG\",\r\n \"dxDiagram-commandExportToPng\": \"Export to PNG\",\r\n \"dxDiagram-commandExportToJpg\": \"Export to JPEG\",\r\n \"dxDiagram-commandUndo\": \"Undo\",\r\n \"dxDiagram-commandRedo\": \"Redo\",\r\n \"dxDiagram-commandFontName\": \"Font Name\",\r\n \"dxDiagram-commandFontSize\": \"Font Size\",\r\n \"dxDiagram-commandBold\": \"Bold\",\r\n \"dxDiagram-commandItalic\": \"Italic\",\r\n \"dxDiagram-commandUnderline\": \"Underline\",\r\n \"dxDiagram-commandTextColor\": \"Font Color\",\r\n \"dxDiagram-commandLineColor\": \"Line Color\",\r\n \"dxDiagram-commandLineWidth\": \"Line Width\",\r\n \"dxDiagram-commandLineStyle\": \"Line Style\",\r\n \"dxDiagram-commandLineStyleSolid\": \"Solid\",\r\n \"dxDiagram-commandLineStyleDotted\": \"Dotted\",\r\n \"dxDiagram-commandLineStyleDashed\": \"Dashed\",\r\n \"dxDiagram-commandFillColor\": \"Fill Color\",\r\n \"dxDiagram-commandAlignLeft\": \"Align Left\",\r\n \"dxDiagram-commandAlignCenter\": \"Align Center\",\r\n \"dxDiagram-commandAlignRight\": \"Align Right\",\r\n \"dxDiagram-commandConnectorLineType\": \"Connector Line Type\",\r\n \"dxDiagram-commandConnectorLineStraight\": \"Straight\",\r\n \"dxDiagram-commandConnectorLineOrthogonal\": \"Orthogonal\",\r\n \"dxDiagram-commandConnectorLineStart\": \"Connector Line Start\",\r\n \"dxDiagram-commandConnectorLineEnd\": \"Connector Line End\",\r\n \"dxDiagram-commandConnectorLineNone\": \"None\",\r\n \"dxDiagram-commandConnectorLineArrow\": \"Arrow\",\r\n \"dxDiagram-commandFullscreen\": \"Full Screen\",\r\n \"dxDiagram-commandUnits\": \"Units\",\r\n \"dxDiagram-commandPageSize\": \"Page Size\",\r\n \"dxDiagram-commandPageOrientation\": \"Page Orientation\",\r\n \"dxDiagram-commandPageOrientationLandscape\": \"Landscape\",\r\n \"dxDiagram-commandPageOrientationPortrait\": \"Portrait\",\r\n \"dxDiagram-commandPageColor\": \"Page Color\",\r\n \"dxDiagram-commandShowGrid\": \"Show Grid\",\r\n \"dxDiagram-commandSnapToGrid\": \"Snap to Grid\",\r\n \"dxDiagram-commandGridSize\": \"Grid Size\",\r\n \"dxDiagram-commandZoomLevel\": \"Zoom Level\",\r\n \"dxDiagram-commandAutoZoom\": \"Auto Zoom\",\r\n \"dxDiagram-commandFitToContent\": \"Fit to Content\",\r\n \"dxDiagram-commandFitToWidth\": \"Fit to Width\",\r\n \"dxDiagram-commandAutoZoomByContent\": \"Auto Zoom by Content\",\r\n \"dxDiagram-commandAutoZoomByWidth\": \"Auto Zoom by Width\",\r\n \"dxDiagram-commandSimpleView\": \"Simple View\",\r\n \"dxDiagram-commandCut\": \"Cut\",\r\n \"dxDiagram-commandCopy\": \"Copy\",\r\n \"dxDiagram-commandPaste\": \"Paste\",\r\n \"dxDiagram-commandSelectAll\": \"Select All\",\r\n \"dxDiagram-commandDelete\": \"Delete\",\r\n \"dxDiagram-commandBringToFront\": \"Bring to Front\",\r\n \"dxDiagram-commandSendToBack\": \"Send to Back\",\r\n \"dxDiagram-commandLock\": \"Lock\",\r\n \"dxDiagram-commandUnlock\": \"Unlock\",\r\n \"dxDiagram-commandInsertShapeImage\": \"Insert Image...\",\r\n \"dxDiagram-commandEditShapeImage\": \"Change Image...\",\r\n \"dxDiagram-commandDeleteShapeImage\": \"Delete Image\",\r\n \"dxDiagram-commandLayoutLeftToRight\": \"Left-to-right\",\r\n \"dxDiagram-commandLayoutRightToLeft\": \"Right-to-left\",\r\n \"dxDiagram-commandLayoutTopToBottom\": \"Top-to-bottom\",\r\n \"dxDiagram-commandLayoutBottomToTop\": \"Bottom-to-top\",\r\n \"dxDiagram-unitIn\": \"in\",\r\n \"dxDiagram-unitCm\": \"cm\",\r\n \"dxDiagram-unitPx\": \"px\",\r\n \"dxDiagram-dialogButtonOK\": \"OK\",\r\n \"dxDiagram-dialogButtonCancel\": \"Cancel\",\r\n \"dxDiagram-dialogInsertShapeImageTitle\": \"Insert Image\",\r\n \"dxDiagram-dialogEditShapeImageTitle\": \"Change Image\",\r\n \"dxDiagram-dialogEditShapeImageSelectButton\": \"Select image\",\r\n \"dxDiagram-dialogEditShapeImageLabelText\": \"or drop a file here\",\r\n \"dxDiagram-uiExport\": \"Export\",\r\n \"dxDiagram-uiProperties\": \"Properties\",\r\n \"dxDiagram-uiSettings\": \"Settings\",\r\n \"dxDiagram-uiShowToolbox\": \"Show Toolbox\",\r\n \"dxDiagram-uiSearch\": \"Search\",\r\n \"dxDiagram-uiStyle\": \"Style\",\r\n \"dxDiagram-uiLayout\": \"Layout\",\r\n \"dxDiagram-uiLayoutTree\": \"Tree\",\r\n \"dxDiagram-uiLayoutLayered\": \"Layered\",\r\n \"dxDiagram-uiDiagram\": \"Diagram\",\r\n \"dxDiagram-uiText\": \"Text\",\r\n \"dxDiagram-uiObject\": \"Object\",\r\n \"dxDiagram-uiConnector\": \"Connector\",\r\n \"dxDiagram-uiPage\": \"Page\",\r\n \"dxDiagram-shapeText\": \"Text\",\r\n \"dxDiagram-shapeRectangle\": \"Rectangle\",\r\n \"dxDiagram-shapeEllipse\": \"Ellipse\",\r\n \"dxDiagram-shapeCross\": \"Cross\",\r\n \"dxDiagram-shapeTriangle\": \"Triangle\",\r\n \"dxDiagram-shapeDiamond\": \"Diamond\",\r\n \"dxDiagram-shapeHeart\": \"Heart\",\r\n \"dxDiagram-shapePentagon\": \"Pentagon\",\r\n \"dxDiagram-shapeHexagon\": \"Hexagon\",\r\n \"dxDiagram-shapeOctagon\": \"Octagon\",\r\n \"dxDiagram-shapeStar\": \"Star\",\r\n \"dxDiagram-shapeArrowLeft\": \"Left Arrow\",\r\n \"dxDiagram-shapeArrowUp\": \"Up Arrow\",\r\n \"dxDiagram-shapeArrowRight\": \"Right Arrow\",\r\n \"dxDiagram-shapeArrowDown\": \"Down Arrow\",\r\n \"dxDiagram-shapeArrowUpDown\": \"Up Down Arrow\",\r\n \"dxDiagram-shapeArrowLeftRight\": \"Left Right Arrow\",\r\n \"dxDiagram-shapeProcess\": \"Process\",\r\n \"dxDiagram-shapeDecision\": \"Decision\",\r\n \"dxDiagram-shapeTerminator\": \"Terminator\",\r\n \"dxDiagram-shapePredefinedProcess\": \"Predefined Process\",\r\n \"dxDiagram-shapeDocument\": \"Document\",\r\n \"dxDiagram-shapeMultipleDocuments\": \"Multiple Documents\",\r\n \"dxDiagram-shapeManualInput\": \"Manual Input\",\r\n \"dxDiagram-shapePreparation\": \"Preparation\",\r\n \"dxDiagram-shapeData\": \"Data\",\r\n \"dxDiagram-shapeDatabase\": \"Database\",\r\n \"dxDiagram-shapeHardDisk\": \"Hard Disk\",\r\n \"dxDiagram-shapeInternalStorage\": \"Internal Storage\",\r\n \"dxDiagram-shapePaperTape\": \"Paper Tape\",\r\n \"dxDiagram-shapeManualOperation\": \"Manual Operation\",\r\n \"dxDiagram-shapeDelay\": \"Delay\",\r\n \"dxDiagram-shapeStoredData\": \"Stored Data\",\r\n \"dxDiagram-shapeDisplay\": \"Display\",\r\n \"dxDiagram-shapeMerge\": \"Merge\",\r\n \"dxDiagram-shapeConnector\": \"Connector\",\r\n \"dxDiagram-shapeOr\": \"Or\",\r\n \"dxDiagram-shapeSummingJunction\": \"Summing Junction\",\r\n \"dxDiagram-shapeContainerDefaultText\": \"Container\",\r\n \"dxDiagram-shapeVerticalContainer\": \"Vertical Container\",\r\n \"dxDiagram-shapeHorizontalContainer\": \"Horizontal Container\",\r\n \"dxDiagram-shapeCardDefaultText\": \"Person's Name\",\r\n \"dxDiagram-shapeCardWithImageOnLeft\": \"Card with Image on the Left\",\r\n \"dxDiagram-shapeCardWithImageOnTop\": \"Card with Image on the Top\",\r\n \"dxDiagram-shapeCardWithImageOnRight\": \"Card with Image on the Right\",\r\n \"dxGantt-dialogTitle\": \"Title\",\r\n \"dxGantt-dialogStartTitle\": \"Start\",\r\n \"dxGantt-dialogEndTitle\": \"End\",\r\n \"dxGantt-dialogProgressTitle\": \"Progress\",\r\n \"dxGantt-dialogResourcesTitle\": \"Resources\",\r\n \"dxGantt-dialogResourceManagerTitle\": \"Resource Manager\",\r\n \"dxGantt-dialogTaskDetailsTitle\": \"Task Details\",\r\n \"dxGantt-dialogEditResourceListHint\": \"Edit Resource List\",\r\n \"dxGantt-dialogEditNoResources\": \"No resources\",\r\n \"dxGantt-dialogButtonAdd\": \"Add\",\r\n \"dxGantt-contextMenuNewTask\": \"New Task\",\r\n \"dxGantt-contextMenuNewSubtask\": \"New Subtask\",\r\n \"dxGantt-contextMenuDeleteTask\": \"Delete Task\",\r\n \"dxGantt-contextMenuDeleteDependency\": \"Delete Dependency\",\r\n \"dxGantt-dialogTaskDeleteConfirmation\": \"Deleting a task also deletes all its dependencies and subtasks. Are you sure you want to delete this task?\",\r\n \"dxGantt-dialogDependencyDeleteConfirmation\": \"Are you sure you want to delete the dependency from the task?\",\r\n \"dxGantt-dialogResourcesDeleteConfirmation\": \"Deleting a resource also deletes it from tasks to which this resource is assigned. Are you sure you want to delete these resources? Resources: {0}\",\r\n \"dxGantt-dialogConstraintCriticalViolationMessage\": \"The task you are attempting to move is linked to a second task by a dependency relation. This change would conflict with dependency rules. How would you like to proceed?\",\r\n \"dxGantt-dialogConstraintViolationMessage\": \"The task you are attempting to move is linked to a second task by a dependency relation. How would you like to proceed?\",\r\n \"dxGantt-dialogCancelOperationMessage\": \"Cancel the operation\",\r\n \"dxGantt-dialogDeleteDependencyMessage\": \"Delete the dependency\",\r\n \"dxGantt-dialogMoveTaskAndKeepDependencyMessage\": \"Move the task and keep the dependency\",\r\n \"dxGantt-dialogConstraintCriticalViolationSeveralTasksMessage\": \"The task you are attempting to move is linked to another tasks by dependency relations. This change would conflict with dependency rules. How would you like to proceed?\",\r\n \"dxGantt-dialogConstraintViolationSeveralTasksMessage\": \"The task you are attempting to move is linked to another tasks by dependency relations. How would you like to proceed?\",\r\n \"dxGantt-dialogDeleteDependenciesMessage\": \"Delete the dependency relations\",\r\n \"dxGantt-dialogMoveTaskAndKeepDependenciesMessage\": \"Move the task and keep the dependencies\",\r\n \"dxGantt-undo\": \"Undo\",\r\n \"dxGantt-redo\": \"Redo\",\r\n \"dxGantt-expandAll\": \"Expand All\",\r\n \"dxGantt-collapseAll\": \"Collapse All\",\r\n \"dxGantt-addNewTask\": \"Add New Task\",\r\n \"dxGantt-deleteSelectedTask\": \"Delete Selected Task\",\r\n \"dxGantt-zoomIn\": \"Zoom In\",\r\n \"dxGantt-zoomOut\": \"Zoom Out\",\r\n \"dxGantt-fullScreen\": \"Full Screen\",\r\n \"dxGantt-quarter\": \"Q{0}\",\r\n \"dxGantt-sortingAscendingText\": \"Sort Ascending\",\r\n \"dxGantt-sortingDescendingText\": \"Sort Descending\",\r\n \"dxGantt-sortingClearText\": \"Clear Sorting\",\r\n \"dxGantt-showResources\": \"Show Resources\",\r\n \"dxGantt-showDependencies\": \"Show Dependencies\",\r\n \"dxGantt-dialogStartDateValidation\": \"Start date must be after {0}\",\r\n \"dxGantt-dialogEndDateValidation\": \"End date must be after {0}\"\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/open_xml_currency_format.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport default (currencySymbol, accountingFormat) => {\r\n if (!accountingFormat) {\r\n return\r\n }\r\n var encodedCurrencySymbol = currencySymbol;\r\n if (\"string\" === typeof currencySymbol) {\r\n encodedCurrencySymbol = \"\";\r\n for (var i = 0; i < currencySymbol.length; i++) {\r\n if (\"$\" !== currencySymbol[i]) {\r\n encodedCurrencySymbol += \"\\\\\"\r\n }\r\n encodedCurrencySymbol += currencySymbol[i]\r\n }\r\n }\r\n var encodeSymbols = {\r\n \".00\": \"{0}\",\r\n \"'\": \"\\\\'\",\r\n \"\\\\(\": \"\\\\(\",\r\n \"\\\\)\": \"\\\\)\",\r\n \" \": \"\\\\ \",\r\n '\"': \""\",\r\n \"\\\\\\xa4\": encodedCurrencySymbol\r\n };\r\n var result = accountingFormat.split(\";\");\r\n for (var _i = 0; _i < result.length; _i++) {\r\n for (var symbol in encodeSymbols) {\r\n if (Object.prototype.hasOwnProperty.call(encodeSymbols, symbol)) {\r\n result[_i] = result[_i].replace(new RegExp(symbol, \"g\"), encodeSymbols[symbol])\r\n }\r\n }\r\n }\r\n return 2 === result.length ? result[0] + \"_);\" + result[1] : result[0]\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/cldr-data/accounting_formats.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n// !!! AUTO-GENERATED FILE, DO NOT EDIT\r\nexport default {\r\n af: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"af-NA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n agq: \"#,##0.00\\xa4\",\r\n ak: \"\\xa4#,##0.00\",\r\n am: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ar: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-AE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-BH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-DJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-DZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-EG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-EH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-ER\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-IL\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-IQ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-JO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-KM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-KW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-LB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-LY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-MA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-MR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-OM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-PS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-QA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-TD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-TN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-YE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n as: \"\\xa4\\xa0#,##,##0.00\",\r\n asa: \"#,##0.00\\xa0\\xa4\",\r\n ast: \"#,##0.00\\xa0\\xa4\",\r\n az: \"#,##0.00\\xa0\\xa4\",\r\n \"az-Cyrl\": \"#,##0.00\\xa0\\xa4\",\r\n \"az-Latn\": \"#,##0.00\\xa0\\xa4\",\r\n bas: \"#,##0.00\\xa0\\xa4\",\r\n be: \"#,##0.00\\xa0\\xa4\",\r\n \"be-tarask\": \"#,##0.00\\xa0\\xa4\",\r\n bem: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n bez: \"#,##0.00\\xa4\",\r\n bg: \"0.00\\xa0\\xa4;(0.00\\xa0\\xa4)\",\r\n bm: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n bn: \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\r\n \"bn-IN\": \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\r\n bo: \"\\xa4\\xa0#,##0.00\",\r\n \"bo-IN\": \"\\xa4\\xa0#,##0.00\",\r\n br: \"#,##0.00\\xa0\\xa4\",\r\n brx: \"\\xa4\\xa0#,##,##0.00\",\r\n bs: \"#,##0.00\\xa0\\xa4\",\r\n \"bs-Cyrl\": \"#,##0.00\\xa0\\xa4\",\r\n \"bs-Latn\": \"#,##0.00\\xa0\\xa4\",\r\n ca: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ca-AD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ca-ES-valencia\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ca-FR\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ca-IT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n ccp: \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\r\n \"ccp-IN\": \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\r\n ce: \"#,##0.00\\xa0\\xa4\",\r\n ceb: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n cgg: \"\\xa4#,##0.00\",\r\n chr: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ckb: \"\\xa4\\xa0#,##0.00\",\r\n \"ckb-IR\": \"\\xa4\\xa0#,##0.00\",\r\n cs: \"#,##0.00\\xa0\\xa4\",\r\n cy: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n da: \"#,##0.00\\xa0\\xa4\",\r\n \"da-GL\": \"#,##0.00\\xa0\\xa4\",\r\n dav: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n de: \"#,##0.00\\xa0\\xa4\",\r\n \"de-AT\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-BE\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-CH\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-IT\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-LI\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-LU\": \"#,##0.00\\xa0\\xa4\",\r\n dje: \"#,##0.00\\xa4\",\r\n doi: \"\\xa4#,##0.00\",\r\n dsb: \"#,##0.00\\xa0\\xa4\",\r\n dua: \"#,##0.00\\xa0\\xa4\",\r\n dyo: \"#,##0.00\\xa0\\xa4\",\r\n dz: \"\\xa4#,##,##0.00\",\r\n ebu: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ee: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ee-TG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n el: \"#,##0.00\\xa0\\xa4\",\r\n \"el-CY\": \"#,##0.00\\xa0\\xa4\",\r\n en: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-001\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-150\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-AE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-AG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-AI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-AS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-AT\": \"\\xa4\\xa0#,##0.00\",\r\n \"en-AU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BE\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-BI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CH\": \"\\xa4\\xa0#,##0.00;\\xa4-#,##0.00\",\r\n \"en-CK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CX\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-DE\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-DG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-DK\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-DM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-ER\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-FI\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-FJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-FK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-FM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-HK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IL\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-JE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-JM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-KE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-KI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-KN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-KY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-LC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-LR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-LS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MP\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MT\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MV\": \"\\xa4\\xa0#,##0.00\",\r\n \"en-MW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NF\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NL\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"en-NR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-RW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SE\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SI\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"en-SL\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SX\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TT\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TV\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-UG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-UM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-VC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-VG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-VI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-VU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-WS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-ZA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-ZM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-ZW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n eo: \"\\xa4\\xa0#,##0.00\",\r\n es: \"#,##0.00\\xa0\\xa4\",\r\n \"es-419\": \"\\xa4#,##0.00\",\r\n \"es-AR\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"es-BO\": \"\\xa4#,##0.00\",\r\n \"es-BR\": \"\\xa4#,##0.00\",\r\n \"es-BZ\": \"\\xa4#,##0.00\",\r\n \"es-CL\": \"\\xa4#,##0.00\",\r\n \"es-CO\": \"\\xa4#,##0.00\",\r\n \"es-CR\": \"\\xa4#,##0.00\",\r\n \"es-CU\": \"\\xa4#,##0.00\",\r\n \"es-DO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"es-EA\": \"#,##0.00\\xa0\\xa4\",\r\n \"es-EC\": \"\\xa4#,##0.00\",\r\n \"es-GQ\": \"#,##0.00\\xa0\\xa4\",\r\n \"es-GT\": \"\\xa4#,##0.00\",\r\n \"es-HN\": \"\\xa4#,##0.00\",\r\n \"es-IC\": \"#,##0.00\\xa0\\xa4\",\r\n \"es-MX\": \"\\xa4#,##0.00\",\r\n \"es-NI\": \"\\xa4#,##0.00\",\r\n \"es-PA\": \"\\xa4#,##0.00\",\r\n \"es-PE\": \"\\xa4#,##0.00\",\r\n \"es-PH\": \"#,##0.00\\xa0\\xa4\",\r\n \"es-PR\": \"\\xa4#,##0.00\",\r\n \"es-PY\": \"\\xa4#,##0.00\",\r\n \"es-SV\": \"\\xa4#,##0.00\",\r\n \"es-US\": \"\\xa4#,##0.00\",\r\n \"es-UY\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"es-VE\": \"\\xa4#,##0.00\",\r\n et: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n eu: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n ewo: \"#,##0.00\\xa0\\xa4\",\r\n fa: \"\\u200e\\xa4\\xa0#,##0.00;\\u200e(\\xa4\\xa0#,##0.00)\",\r\n \"fa-AF\": \"\\xa4\\xa0#,##0.00;\\u200e(\\xa4\\xa0#,##0.00)\",\r\n ff: \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Adlm\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-BF\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-CM\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-GH\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-GM\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-GW\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-LR\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-MR\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-NE\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-NG\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-SL\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-SN\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Latn\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-BF\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-CM\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-GH\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-GM\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-GN\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-GW\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-LR\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-MR\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-NE\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-NG\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-SL\": \"#,##0.00\\xa0\\xa4\",\r\n fi: \"#,##0.00\\xa0\\xa4\",\r\n fil: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n fo: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fo-DK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n fr: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BE\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BI\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BJ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BL\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CG\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CH\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CI\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CM\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-DJ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-DZ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GN\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GP\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GQ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-HT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-KM\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-LU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MC\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MG\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-ML\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MQ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MR\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-NC\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-NE\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-PF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-PM\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-RE\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-RW\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-SC\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-SN\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-SY\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-TD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-TG\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-TN\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-VU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-WF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-YT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n fur: \"\\xa4\\xa0#,##0.00\",\r\n fy: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n ga: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ga-GB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n gd: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n gl: \"#,##0.00\\xa0\\xa4\",\r\n gsw: \"#,##0.00\\xa0\\xa4\",\r\n \"gsw-FR\": \"#,##0.00\\xa0\\xa4\",\r\n \"gsw-LI\": \"#,##0.00\\xa0\\xa4\",\r\n gu: \"\\xa4#,##,##0.00;(\\xa4#,##,##0.00)\",\r\n guz: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n gv: \"\\xa4#,##0.00\",\r\n ha: \"\\xa4\\xa0#,##0.00\",\r\n \"ha-GH\": \"\\xa4\\xa0#,##0.00\",\r\n \"ha-NE\": \"\\xa4\\xa0#,##0.00\",\r\n haw: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n he: \"#,##0.00\\xa0\\xa4\",\r\n hi: \"\\xa4#,##,##0.00\",\r\n \"hi-Latn\": \"\\xa4#,##,##0.00\",\r\n hr: \"#,##0.00\\xa0\\xa4\",\r\n \"hr-BA\": \"#,##0.00\\xa0\\xa4\",\r\n hsb: \"#,##0.00\\xa0\\xa4\",\r\n hu: \"#,##0.00\\xa0\\xa4\",\r\n hy: \"#,##0.00\\xa0\\xa4\",\r\n ia: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n id: \"\\xa4#,##0.00\",\r\n ig: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ii: \"\\xa4\\xa0#,##0.00\",\r\n is: \"#,##0.00\\xa0\\xa4\",\r\n it: \"#,##0.00\\xa0\\xa4\",\r\n \"it-CH\": \"#,##0.00\\xa0\\xa4\",\r\n \"it-SM\": \"#,##0.00\\xa0\\xa4\",\r\n \"it-VA\": \"#,##0.00\\xa0\\xa4\",\r\n ja: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n jgo: \"\\xa4\\xa0#,##0.00\",\r\n jmc: \"\\xa4#,##0.00\",\r\n jv: \"\\xa4\\xa0#,##0.00\",\r\n ka: \"#,##0.00\\xa0\\xa4\",\r\n kab: \"#,##0.00\\xa4\",\r\n kam: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n kde: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n kea: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n kgp: \"\\xa4\\xa0#,##0.00\",\r\n khq: \"#,##0.00\\xa4\",\r\n ki: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n kk: \"#,##0.00\\xa0\\xa4\",\r\n kkj: \"\\xa4\\xa0#,##0.00\",\r\n kl: \"\\xa4#,##0.00;\\xa4-#,##0.00\",\r\n kln: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n km: \"#,##0.00\\xa4;(#,##0.00\\xa4)\",\r\n kn: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ko: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ko-KP\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n kok: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ks: \"\\xa4#,##0.00\",\r\n \"ks-Arab\": \"\\xa4#,##0.00\",\r\n \"ks-Deva\": \"\\xa4\\xa0#,##0.00\",\r\n ksb: \"#,##0.00\\xa4\",\r\n ksf: \"#,##0.00\\xa0\\xa4\",\r\n ksh: \"#,##0.00\\xa0\\xa4\",\r\n ku: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n kw: \"\\xa4#,##0.00\",\r\n ky: \"#,##0.00\\xa0\\xa4\",\r\n lag: \"\\xa4\\xa0#,##0.00\",\r\n lb: \"#,##0.00\\xa0\\xa4\",\r\n lg: \"#,##0.00\\xa4\",\r\n lkt: \"\\xa4\\xa0#,##0.00\",\r\n ln: \"#,##0.00\\xa0\\xa4\",\r\n \"ln-AO\": \"#,##0.00\\xa0\\xa4\",\r\n \"ln-CF\": \"#,##0.00\\xa0\\xa4\",\r\n \"ln-CG\": \"#,##0.00\\xa0\\xa4\",\r\n lo: \"\\xa4#,##0.00;\\xa4-#,##0.00\",\r\n lrc: \"\\xa4\\xa0#,##0.00\",\r\n \"lrc-IQ\": \"\\xa4\\xa0#,##0.00\",\r\n lt: \"#,##0.00\\xa0\\xa4\",\r\n lu: \"#,##0.00\\xa4\",\r\n luo: \"#,##0.00\\xa4\",\r\n luy: \"\\xa4#,##0.00;\\xa4-\\xa0#,##0.00\",\r\n lv: \"#,##0.00\\xa0\\xa4\",\r\n mai: \"\\xa4\\xa0#,##0.00\",\r\n mas: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"mas-TZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n mer: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n mfe: \"\\xa4\\xa0#,##0.00\",\r\n mg: \"\\xa4#,##0.00\",\r\n mgh: \"\\xa4\\xa0#,##0.00\",\r\n mgo: \"\\xa4\\xa0#,##0.00\",\r\n mi: \"\\xa4\\xa0#,##0.00\",\r\n mk: \"#,##0.00\\xa0\\xa4\",\r\n ml: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n mn: \"\\xa4\\xa0#,##0.00\",\r\n mni: \"\\xa4\\xa0#,##0.00\",\r\n \"mni-Beng\": \"\\xa4\\xa0#,##0.00\",\r\n mr: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ms: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ms-BN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ms-ID\": \"\\xa4#,##0.00\",\r\n \"ms-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n mt: \"\\xa4#,##0.00\",\r\n mua: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n my: \"\\xa4\\xa0#,##0.00\",\r\n mzn: \"\\xa4\\xa0#,##0.00\",\r\n naq: \"\\xa4#,##0.00\",\r\n nb: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nb-SJ\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n nd: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n nds: \"\\xa4\\xa0#,##0.00\",\r\n \"nds-NL\": \"\\xa4\\xa0#,##0.00\",\r\n ne: \"\\xa4\\xa0#,##,##0.00\",\r\n \"ne-IN\": \"\\xa4\\xa0#,##,##0.00\",\r\n nl: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-AW\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-BE\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-BQ\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-CW\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-SR\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-SX\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n nmg: \"#,##0.00\\xa0\\xa4\",\r\n nn: \"#,##0.00\\xa0\\xa4\",\r\n nnh: \"\\xa4\\xa0#,##0.00\",\r\n no: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n nus: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n nyn: \"\\xa4#,##0.00\",\r\n om: \"\\xa4#,##0.00\",\r\n \"om-KE\": \"\\xa4#,##0.00\",\r\n or: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n os: \"\\xa4\\xa0#,##0.00\",\r\n \"os-RU\": \"\\xa4\\xa0#,##0.00\",\r\n pa: \"\\xa4\\xa0#,##0.00\",\r\n \"pa-Arab\": \"\\xa4\\xa0#,##0.00\",\r\n \"pa-Guru\": \"\\xa4\\xa0#,##0.00\",\r\n pcm: \"\\xa4#,##0.00\",\r\n pl: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n ps: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ps-PK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n pt: \"\\xa4\\xa0#,##0.00\",\r\n \"pt-AO\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-CH\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-CV\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-GQ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-GW\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-LU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-MO\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-MZ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-PT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-ST\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-TL\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n qu: \"\\xa4\\xa0#,##0.00\",\r\n \"qu-BO\": \"\\xa4\\xa0#,##0.00\",\r\n \"qu-EC\": \"\\xa4\\xa0#,##0.00\",\r\n rm: \"#,##0.00\\xa0\\xa4\",\r\n rn: \"#,##0.00\\xa4\",\r\n ro: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ro-MD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n rof: \"\\xa4#,##0.00\",\r\n ru: \"#,##0.00\\xa0\\xa4\",\r\n \"ru-BY\": \"#,##0.00\\xa0\\xa4\",\r\n \"ru-KG\": \"#,##0.00\\xa0\\xa4\",\r\n \"ru-KZ\": \"#,##0.00\\xa0\\xa4\",\r\n \"ru-MD\": \"#,##0.00\\xa0\\xa4\",\r\n \"ru-UA\": \"#,##0.00\\xa0\\xa4\",\r\n rw: \"\\xa4\\xa0#,##0.00\",\r\n rwk: \"#,##0.00\\xa4\",\r\n sa: \"\\xa4\\xa0#,##0.00\",\r\n sah: \"#,##0.00\\xa0\\xa4\",\r\n saq: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n sat: \"\\xa4\\xa0#,##0.00\",\r\n \"sat-Olck\": \"\\xa4\\xa0#,##0.00\",\r\n sbp: \"#,##0.00\\xa4\",\r\n sc: \"#,##0.00\\xa0\\xa4\",\r\n sd: \"\\xa4\\xa0#,##0.00\",\r\n \"sd-Arab\": \"\\xa4\\xa0#,##0.00\",\r\n \"sd-Deva\": \"\\xa4\\xa0#,##0.00\",\r\n se: \"#,##0.00\\xa0\\xa4\",\r\n \"se-FI\": \"#,##0.00\\xa0\\xa4\",\r\n \"se-SE\": \"#,##0.00\\xa0\\xa4\",\r\n seh: \"#,##0.00\\xa4\",\r\n ses: \"#,##0.00\\xa4\",\r\n sg: \"\\xa4#,##0.00;\\xa4-#,##0.00\",\r\n shi: \"#,##0.00\\xa4\",\r\n \"shi-Latn\": \"#,##0.00\\xa4\",\r\n \"shi-Tfng\": \"#,##0.00\\xa4\",\r\n si: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n sk: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n sl: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n smn: \"#,##0.00\\xa0\\xa4\",\r\n sn: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n so: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"so-DJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"so-ET\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"so-KE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n sq: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sq-MK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sq-XK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n sr: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Cyrl\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Cyrl-BA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Cyrl-ME\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Cyrl-XK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Latn\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Latn-BA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Latn-ME\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Latn-XK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n su: \"\\xa4#,##0.00\",\r\n \"su-Latn\": \"\\xa4#,##0.00\",\r\n sv: \"#,##0.00\\xa0\\xa4\",\r\n \"sv-AX\": \"#,##0.00\\xa0\\xa4\",\r\n \"sv-FI\": \"#,##0.00\\xa0\\xa4\",\r\n sw: \"\\xa4\\xa0#,##0.00\",\r\n \"sw-CD\": \"\\xa4\\xa0#,##0.00\",\r\n \"sw-KE\": \"\\xa4\\xa0#,##0.00\",\r\n \"sw-UG\": \"\\xa4\\xa0#,##0.00\",\r\n ta: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ta-LK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ta-MY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ta-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n te: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n teo: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"teo-KE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n tg: \"#,##0.00\\xa0\\xa4\",\r\n th: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ti: \"\\xa4#,##0.00\",\r\n \"ti-ER\": \"\\xa4#,##0.00\",\r\n tk: \"#,##0.00\\xa0\\xa4\",\r\n to: \"\\xa4\\xa0#,##0.00\",\r\n tr: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"tr-CY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n tt: \"#,##0.00\\xa0\\xa4\",\r\n twq: \"#,##0.00\\xa4\",\r\n tzm: \"#,##0.00\\xa0\\xa4\",\r\n ug: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n uk: \"#,##0.00\\xa0\\xa4\",\r\n und: \"\\xa4\\xa0#,##0.00\",\r\n ur: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ur-IN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n uz: \"#,##0.00\\xa0\\xa4\",\r\n \"uz-Arab\": \"\\xa4\\xa0#,##0.00\",\r\n \"uz-Cyrl\": \"#,##0.00\\xa0\\xa4\",\r\n \"uz-Latn\": \"#,##0.00\\xa0\\xa4\",\r\n vai: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"vai-Latn\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"vai-Vaii\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n vi: \"#,##0.00\\xa0\\xa4\",\r\n vun: \"\\xa4#,##0.00\",\r\n wae: \"\\xa4\\xa0#,##0.00\",\r\n wo: \"\\xa4\\xa0#,##0.00\",\r\n xh: \"\\xa4#,##0.00\",\r\n xog: \"#,##0.00\\xa0\\xa4\",\r\n yav: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n yi: \"\\xa4\\xa0#,##0.00\",\r\n yo: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"yo-BJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n yrl: \"\\xa4\\xa0#,##0.00\",\r\n \"yrl-CO\": \"\\xa4\\xa0#,##0.00\",\r\n \"yrl-VE\": \"\\xa4\\xa0#,##0.00\",\r\n yue: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"yue-Hans\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"yue-Hant\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n zgh: \"#,##0.00\\xa4\",\r\n zh: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hans\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hans-HK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hans-MO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hans-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hant\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hant-HK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hant-MO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n zu: \"\\xa4#,##0.00;(\\xa4#,##0.00)\"\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/intl/number.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dxConfig from \"../../core/config\";\r\nimport localizationCoreUtils from \"../core\";\r\nimport openXmlCurrencyFormat from \"../open_xml_currency_format\";\r\nimport accountingFormats from \"../cldr-data/accounting_formats\";\r\nvar CURRENCY_STYLES = [\"standard\", \"accounting\"];\r\nvar MAX_FRACTION_DIGITS = 20;\r\nvar detectCurrencySymbolRegex = /([^\\s0]+)?(\\s*)0*[.,]*0*(\\s*)([^\\s0]+)?/;\r\nvar formattersCache = {};\r\nvar getFormatter = format => {\r\n var key = localizationCoreUtils.locale() + \"/\" + JSON.stringify(format);\r\n if (!formattersCache[key]) {\r\n formattersCache[key] = new Intl.NumberFormat(localizationCoreUtils.locale(), format).format\r\n }\r\n return formattersCache[key]\r\n};\r\nvar getCurrencyFormatter = currency => new Intl.NumberFormat(localizationCoreUtils.locale(), {\r\n style: \"currency\",\r\n currency: currency\r\n});\r\nexport default {\r\n engine: function() {\r\n return \"intl\"\r\n },\r\n _formatNumberCore: function(value, format, formatConfig) {\r\n if (\"exponential\" === format) {\r\n return this.callBase.apply(this, arguments)\r\n }\r\n return getFormatter(this._normalizeFormatConfig(format, formatConfig, value))(value)\r\n },\r\n _normalizeFormatConfig: function(format, formatConfig, value) {\r\n var config;\r\n if (\"decimal\" === format) {\r\n var fractionDigits = String(value).split(\".\")[1];\r\n config = {\r\n minimumIntegerDigits: formatConfig.precision || void 0,\r\n useGrouping: false,\r\n maximumFractionDigits: fractionDigits && fractionDigits.length,\r\n round: value < 0 ? \"ceil\" : \"floor\"\r\n }\r\n } else {\r\n config = this._getPrecisionConfig(formatConfig.precision)\r\n }\r\n if (\"percent\" === format) {\r\n config.style = \"percent\"\r\n } else if (\"currency\" === format) {\r\n var _formatConfig$useCurr;\r\n var useAccountingStyle = null !== (_formatConfig$useCurr = formatConfig.useCurrencyAccountingStyle) && void 0 !== _formatConfig$useCurr ? _formatConfig$useCurr : dxConfig().defaultUseCurrencyAccountingStyle;\r\n config.style = \"currency\";\r\n config.currency = formatConfig.currency || dxConfig().defaultCurrency;\r\n config.currencySign = CURRENCY_STYLES[+useAccountingStyle]\r\n }\r\n return config\r\n },\r\n _getPrecisionConfig: function(precision) {\r\n var config;\r\n if (null === precision) {\r\n config = {\r\n minimumFractionDigits: 0,\r\n maximumFractionDigits: MAX_FRACTION_DIGITS\r\n }\r\n } else {\r\n config = {\r\n minimumFractionDigits: precision || 0,\r\n maximumFractionDigits: precision || 0\r\n }\r\n }\r\n return config\r\n },\r\n format: function(value, _format) {\r\n if (\"number\" !== typeof value) {\r\n return value\r\n }\r\n _format = this._normalizeFormat(_format);\r\n if (\"default\" === _format.currency) {\r\n _format.currency = dxConfig().defaultCurrency\r\n }\r\n if (!_format || \"function\" !== typeof _format && !_format.type && !_format.formatter) {\r\n return getFormatter(_format)(value)\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _getCurrencySymbolInfo: function(currency) {\r\n var formatter = getCurrencyFormatter(currency);\r\n return this._extractCurrencySymbolInfo(formatter.format(0))\r\n },\r\n _extractCurrencySymbolInfo: function(currencyValueString) {\r\n var match = detectCurrencySymbolRegex.exec(currencyValueString) || [];\r\n var position = match[1] ? \"before\" : \"after\";\r\n var symbol = match[1] || match[4] || \"\";\r\n var delimiter = match[2] || match[3] || \"\";\r\n return {\r\n position: position,\r\n symbol: symbol,\r\n delimiter: delimiter\r\n }\r\n },\r\n getCurrencySymbol: function(currency) {\r\n if (!currency) {\r\n currency = dxConfig().defaultCurrency\r\n }\r\n var symbolInfo = this._getCurrencySymbolInfo(currency);\r\n return {\r\n symbol: symbolInfo.symbol\r\n }\r\n },\r\n getOpenXmlCurrencyFormat: function(currency) {\r\n var targetCurrency = currency || dxConfig().defaultCurrency;\r\n var currencySymbol = this._getCurrencySymbolInfo(targetCurrency).symbol;\r\n var closestAccountingFormat = localizationCoreUtils.getValueByClosestLocale(locale => accountingFormats[locale]);\r\n return openXmlCurrencyFormat(currencySymbol, closestAccountingFormat)\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/number.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dependencyInjector from \"../core/utils/dependency_injector\";\r\nimport {\r\n escapeRegExp\r\n} from \"../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n isPlainObject\r\n} from \"../core/utils/type\";\r\nimport {\r\n getFormatter\r\n} from \"./ldml/number\";\r\nimport config from \"../core/config\";\r\nimport errors from \"../core/errors\";\r\nimport {\r\n toFixed\r\n} from \"./utils\";\r\nimport currencyLocalization from \"./currency\";\r\nimport intlNumberLocalization from \"./intl/number\";\r\nvar hasIntl = \"undefined\" !== typeof Intl;\r\nvar MAX_LARGE_NUMBER_POWER = 4;\r\nvar DECIMAL_BASE = 10;\r\nvar NUMERIC_FORMATS = [\"currency\", \"fixedpoint\", \"exponential\", \"percent\", \"decimal\"];\r\nvar LargeNumberFormatPostfixes = {\r\n 1: \"K\",\r\n 2: \"M\",\r\n 3: \"B\",\r\n 4: \"T\"\r\n};\r\nvar LargeNumberFormatPowers = {\r\n largenumber: \"auto\",\r\n thousands: 1,\r\n millions: 2,\r\n billions: 3,\r\n trillions: 4\r\n};\r\nvar numberLocalization = dependencyInjector({\r\n engine: function() {\r\n return \"base\"\r\n },\r\n numericFormats: NUMERIC_FORMATS,\r\n defaultLargeNumberFormatPostfixes: LargeNumberFormatPostfixes,\r\n _parseNumberFormatString: function(formatType) {\r\n var formatObject = {};\r\n if (!formatType || \"string\" !== typeof formatType) {\r\n return\r\n }\r\n var formatList = formatType.toLowerCase().split(\" \");\r\n each(formatList, (index, value) => {\r\n if (NUMERIC_FORMATS.includes(value)) {\r\n formatObject.formatType = value\r\n } else if (value in LargeNumberFormatPowers) {\r\n formatObject.power = LargeNumberFormatPowers[value]\r\n }\r\n });\r\n if (formatObject.power && !formatObject.formatType) {\r\n formatObject.formatType = \"fixedpoint\"\r\n }\r\n if (formatObject.formatType) {\r\n return formatObject\r\n }\r\n },\r\n _calculateNumberPower: function(value, base, minPower, maxPower) {\r\n var number = Math.abs(value);\r\n var power = 0;\r\n if (number > 1) {\r\n while (number && number >= base && (void 0 === maxPower || power < maxPower)) {\r\n power++;\r\n number /= base\r\n }\r\n } else if (number > 0 && number < 1) {\r\n while (number < 1 && (void 0 === minPower || power > minPower)) {\r\n power--;\r\n number *= base\r\n }\r\n }\r\n return power\r\n },\r\n _getNumberByPower: function(number, power, base) {\r\n var result = number;\r\n while (power > 0) {\r\n result /= base;\r\n power--\r\n }\r\n while (power < 0) {\r\n result *= base;\r\n power++\r\n }\r\n return result\r\n },\r\n _formatNumber: function(value, formatObject, formatConfig) {\r\n if (\"auto\" === formatObject.power) {\r\n formatObject.power = this._calculateNumberPower(value, 1e3, 0, MAX_LARGE_NUMBER_POWER)\r\n }\r\n if (formatObject.power) {\r\n value = this._getNumberByPower(value, formatObject.power, 1e3)\r\n }\r\n var powerPostfix = this.defaultLargeNumberFormatPostfixes[formatObject.power] || \"\";\r\n var result = this._formatNumberCore(value, formatObject.formatType, formatConfig);\r\n result = result.replace(/(\\d|.$)(\\D*)$/, \"$1\" + powerPostfix + \"$2\");\r\n return result\r\n },\r\n _formatNumberExponential: function(value, formatConfig) {\r\n var power = this._calculateNumberPower(value, DECIMAL_BASE);\r\n var number = this._getNumberByPower(value, power, DECIMAL_BASE);\r\n if (void 0 === formatConfig.precision) {\r\n formatConfig.precision = 1\r\n }\r\n if (number.toFixed(formatConfig.precision || 0) >= DECIMAL_BASE) {\r\n power++;\r\n number /= DECIMAL_BASE\r\n }\r\n var powString = (power >= 0 ? \"+\" : \"\") + power.toString();\r\n return this._formatNumberCore(number, \"fixedpoint\", formatConfig) + \"E\" + powString\r\n },\r\n _addZeroes: function(value, precision) {\r\n var multiplier = Math.pow(10, precision);\r\n var sign = value < 0 ? \"-\" : \"\";\r\n value = (Math.abs(value) * multiplier >>> 0) / multiplier;\r\n var result = value.toString();\r\n while (result.length < precision) {\r\n result = \"0\" + result\r\n }\r\n return sign + result\r\n },\r\n _addGroupSeparators: function(value) {\r\n var parts = value.toString().split(\".\");\r\n return parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, config().thousandsSeparator) + (parts[1] ? config().decimalSeparator + parts[1] : \"\")\r\n },\r\n _formatNumberCore: function(value, format, formatConfig) {\r\n if (\"exponential\" === format) {\r\n return this._formatNumberExponential(value, formatConfig)\r\n }\r\n if (\"decimal\" !== format && null !== formatConfig.precision) {\r\n formatConfig.precision = formatConfig.precision || 0\r\n }\r\n if (\"percent\" === format) {\r\n value *= 100\r\n }\r\n if (void 0 !== formatConfig.precision) {\r\n if (\"decimal\" === format) {\r\n value = this._addZeroes(value, formatConfig.precision)\r\n } else {\r\n value = null === formatConfig.precision ? value.toPrecision() : toFixed(value, formatConfig.precision)\r\n }\r\n }\r\n if (\"decimal\" !== format) {\r\n value = this._addGroupSeparators(value)\r\n } else {\r\n value = value.toString().replace(\".\", config().decimalSeparator)\r\n }\r\n if (\"percent\" === format) {\r\n value += \"%\"\r\n }\r\n return value\r\n },\r\n _normalizeFormat: function(format) {\r\n if (!format) {\r\n return {}\r\n }\r\n if (\"function\" === typeof format) {\r\n return format\r\n }\r\n if (!isPlainObject(format)) {\r\n format = {\r\n type: format\r\n }\r\n }\r\n return format\r\n },\r\n _getSeparators: function() {\r\n return {\r\n decimalSeparator: this.getDecimalSeparator(),\r\n thousandsSeparator: this.getThousandsSeparator()\r\n }\r\n },\r\n getThousandsSeparator: function() {\r\n return this.format(1e4, \"fixedPoint\")[2]\r\n },\r\n getDecimalSeparator: function() {\r\n return this.format(1.2, {\r\n type: \"fixedPoint\",\r\n precision: 1\r\n })[1]\r\n },\r\n convertDigits: function(value, toStandard) {\r\n var digits = this.format(90, \"decimal\");\r\n if (\"string\" !== typeof value || \"0\" === digits[1]) {\r\n return value\r\n }\r\n var fromFirstDigit = toStandard ? digits[1] : \"0\";\r\n var toFirstDigit = toStandard ? \"0\" : digits[1];\r\n var fromLastDigit = toStandard ? digits[0] : \"9\";\r\n var regExp = new RegExp(\"[\" + fromFirstDigit + \"-\" + fromLastDigit + \"]\", \"g\");\r\n return value.replace(regExp, char => String.fromCharCode(char.charCodeAt(0) + (toFirstDigit.charCodeAt(0) - fromFirstDigit.charCodeAt(0))))\r\n },\r\n getNegativeEtalonRegExp: function(format) {\r\n var separators = this._getSeparators();\r\n var digitalRegExp = new RegExp(\"[0-9\" + escapeRegExp(separators.decimalSeparator + separators.thousandsSeparator) + \"]+\", \"g\");\r\n var negativeEtalon = this.format(-1, format).replace(digitalRegExp, \"1\");\r\n [\"\\\\\", \"(\", \")\", \"[\", \"]\", \"*\", \"+\", \"$\", \"^\", \"?\", \"|\", \"{\", \"}\"].forEach(char => {\r\n negativeEtalon = negativeEtalon.replace(new RegExp(\"\\\\\".concat(char), \"g\"), \"\\\\\".concat(char))\r\n });\r\n negativeEtalon = negativeEtalon.replace(/ /g, \"\\\\s\");\r\n negativeEtalon = negativeEtalon.replace(/1/g, \".*\");\r\n return new RegExp(negativeEtalon, \"g\")\r\n },\r\n getSign: function(text, format) {\r\n if (!format) {\r\n if (\"-\" === text.replace(/[^0-9-]/g, \"\").charAt(0)) {\r\n return -1\r\n }\r\n return 1\r\n }\r\n var negativeEtalon = this.getNegativeEtalonRegExp(format);\r\n return text.match(negativeEtalon) ? -1 : 1\r\n },\r\n format: function(value, _format) {\r\n if (\"number\" !== typeof value) {\r\n return value\r\n }\r\n if (\"number\" === typeof _format) {\r\n return value\r\n }\r\n _format = _format && _format.formatter || _format;\r\n if (\"function\" === typeof _format) {\r\n return _format(value)\r\n }\r\n _format = this._normalizeFormat(_format);\r\n if (!_format.type) {\r\n _format.type = \"decimal\"\r\n }\r\n var numberConfig = this._parseNumberFormatString(_format.type);\r\n if (!numberConfig) {\r\n var formatterConfig = this._getSeparators();\r\n formatterConfig.unlimitedIntegerDigits = _format.unlimitedIntegerDigits;\r\n return this.convertDigits(getFormatter(_format.type, formatterConfig)(value))\r\n }\r\n return this._formatNumber(value, numberConfig, _format)\r\n },\r\n parse: function(text, format) {\r\n if (!text) {\r\n return\r\n }\r\n if (format && format.parser) {\r\n return format.parser(text)\r\n }\r\n text = this.convertDigits(text, true);\r\n if (format && \"string\" !== typeof format) {\r\n errors.log(\"W0011\")\r\n }\r\n var decimalSeparator = this.getDecimalSeparator();\r\n var regExp = new RegExp(\"[^0-9\" + escapeRegExp(decimalSeparator) + \"]\", \"g\");\r\n var cleanedText = text.replace(regExp, \"\").replace(decimalSeparator, \".\").replace(/\\.$/g, \"\");\r\n if (\".\" === cleanedText || \"\" === cleanedText) {\r\n return null\r\n }\r\n if (this._calcSignificantDigits(cleanedText) > 15) {\r\n return NaN\r\n }\r\n var parsed = +cleanedText * this.getSign(text, format);\r\n format = this._normalizeFormat(format);\r\n var formatConfig = this._parseNumberFormatString(format.type);\r\n var power = null === formatConfig || void 0 === formatConfig ? void 0 : formatConfig.power;\r\n if (power) {\r\n if (\"auto\" === power) {\r\n var match = text.match(/\\d(K|M|B|T)/);\r\n if (match) {\r\n power = Object.keys(LargeNumberFormatPostfixes).find(power => LargeNumberFormatPostfixes[power] === match[1])\r\n }\r\n }\r\n parsed *= Math.pow(10, 3 * power)\r\n }\r\n if (\"percent\" === (null === formatConfig || void 0 === formatConfig ? void 0 : formatConfig.formatType)) {\r\n parsed /= 100\r\n }\r\n return parsed\r\n },\r\n _calcSignificantDigits: function(text) {\r\n var [integer, fractional] = text.split(\".\");\r\n var calcDigitsAfterLeadingZeros = digits => {\r\n var index = -1;\r\n for (var i = 0; i < digits.length; i++) {\r\n if (\"0\" !== digits[i]) {\r\n index = i;\r\n break\r\n }\r\n }\r\n return index > -1 ? digits.length - index : 0\r\n };\r\n var result = 0;\r\n if (integer) {\r\n result += calcDigitsAfterLeadingZeros(integer.split(\"\"))\r\n }\r\n if (fractional) {\r\n result += calcDigitsAfterLeadingZeros(fractional.split(\"\").reverse())\r\n }\r\n return result\r\n }\r\n});\r\nnumberLocalization.inject(currencyLocalization);\r\nif (hasIntl) {\r\n numberLocalization.inject(intlNumberLocalization)\r\n}\r\nexport default numberLocalization;\r\n","/**\r\n * DevExtreme (esm/localization/utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n sign,\r\n multiplyInExponentialForm\r\n} from \"../core/utils/math\";\r\nvar DECIMAL_BASE = 10;\r\n\r\nfunction roundByAbs(value) {\r\n var valueSign = sign(value);\r\n return valueSign * Math.round(Math.abs(value))\r\n}\r\n\r\nfunction adjustValue(value, precision) {\r\n var precisionMultiplier = Math.pow(DECIMAL_BASE, precision);\r\n var intermediateValue = multiplyInExponentialForm(value, precision);\r\n return roundByAbs(intermediateValue) / precisionMultiplier\r\n}\r\nexport function toFixed(value, precision) {\r\n var valuePrecision = precision || 0;\r\n var adjustedValue = valuePrecision > 0 ? adjustValue(...arguments) : value;\r\n return adjustedValue.toFixed(valuePrecision)\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/common/config_context.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n createContext\r\n} from \"@devextreme/runtime/inferno\";\r\nexport var ConfigContext = createContext(void 0);\r\n","/**\r\n * DevExtreme (esm/core/inferno_renderer.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n render as _render\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffectHost,\r\n hydrate\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n createElement as _createElement\r\n} from \"inferno-create-element\";\r\nimport domAdapter from \"./dom_adapter\";\r\nimport {\r\n cleanDataRecursive\r\n} from \"./element_data\";\r\nimport injector from \"./utils/dependency_injector\";\r\nvar remove = element => {\r\n var {\r\n parentNode: parentNode\r\n } = element;\r\n if (parentNode) {\r\n var nextSibling = element.nextSibling;\r\n cleanDataRecursive(element);\r\n parentNode.$V = element.$V;\r\n _render(null, parentNode);\r\n parentNode.insertBefore(element, nextSibling);\r\n element.innerHTML = \"\";\r\n delete parentNode.$V\r\n }\r\n delete element.$V\r\n};\r\nexport default injector({\r\n createElement: (component, props) => _createElement(component, props),\r\n remove: remove,\r\n onAfterRender: () => {\r\n InfernoEffectHost.callEffects()\r\n },\r\n onPreRender: () => {\r\n InfernoEffectHost.lock()\r\n },\r\n render: (component, props, container, replace) => {\r\n if (!replace) {\r\n var {\r\n parentNode: parentNode\r\n } = container;\r\n var nextNode = null === container || void 0 === container ? void 0 : container.nextSibling;\r\n var rootNode = domAdapter.createElement(\"div\");\r\n rootNode.appendChild(container);\r\n var mountNode = domAdapter.createDocumentFragment().appendChild(rootNode);\r\n var vNodeAlreadyExists = !!container.$V;\r\n vNodeAlreadyExists && remove(container);\r\n hydrate(_createElement(component, props), mountNode);\r\n container.$V = mountNode.$V;\r\n if (parentNode) {\r\n parentNode.insertBefore(container, nextNode)\r\n }\r\n } else {\r\n _render(_createElement(component, props), container)\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/common/template_wrapper.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n InfernoComponent,\r\n InfernoEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n findDOMfromVNode\r\n} from \"inferno\";\r\nimport {\r\n shallowEquals\r\n} from \"../../utils/shallow_equals\";\r\nimport {\r\n replaceWith\r\n} from \"../../../core/utils/dom\";\r\nimport $ from \"../../../core/renderer\";\r\nimport domAdapter from \"../../../core/dom_adapter\";\r\nimport {\r\n getPublicElement\r\n} from \"../../../core/element\";\r\nimport {\r\n removeDifferentElements\r\n} from \"../utils/utils\";\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nexport class TemplateWrapper extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.renderTemplate = this.renderTemplate.bind(this)\r\n }\r\n renderTemplate() {\r\n var _this$props$model;\r\n var node = findDOMfromVNode(this.$LI, true);\r\n var parentNode = node.parentNode;\r\n var $parent = $(parentNode);\r\n var $children = $parent.contents();\r\n var {\r\n data: data,\r\n index: index\r\n } = null !== (_this$props$model = this.props.model) && void 0 !== _this$props$model ? _this$props$model : {\r\n data: {}\r\n };\r\n if (data) {\r\n Object.keys(data).forEach(name => {\r\n if (data[name] && domAdapter.isNode(data[name])) {\r\n data[name] = getPublicElement($(data[name]))\r\n }\r\n })\r\n }\r\n var $result = $(this.props.template.render(_extends({\r\n container: getPublicElement($parent),\r\n transclude: this.props.transclude\r\n }, {\r\n renovated: this.props.renovated\r\n }, !this.props.transclude ? {\r\n model: data\r\n } : {}, !this.props.transclude && Number.isFinite(index) ? {\r\n index: index\r\n } : {})));\r\n replaceWith($(node), $result);\r\n return () => {\r\n removeDifferentElements($children, $parent.contents());\r\n parentNode.appendChild(node)\r\n }\r\n }\r\n shouldComponentUpdate(nextProps) {\r\n var {\r\n model: model,\r\n template: template\r\n } = this.props;\r\n var {\r\n model: nextModel,\r\n template: nextTemplate\r\n } = nextProps;\r\n var sameTemplate = template === nextTemplate;\r\n if (!sameTemplate) {\r\n return true\r\n }\r\n if (isDefined(model) && isDefined(nextModel)) {\r\n var {\r\n data: data,\r\n index: index\r\n } = model;\r\n var {\r\n data: nextData,\r\n index: nextIndex\r\n } = nextModel;\r\n return index !== nextIndex || !shallowEquals(data, nextData)\r\n }\r\n var sameModel = model === nextModel;\r\n return !sameModel\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.renderTemplate, [this.props.template, this.props.model])]\r\n }\r\n updateEffects() {\r\n this._effects[0].update([this.props.template, this.props.model])\r\n }\r\n componentWillUnmount() {}\r\n render() {\r\n return null\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/utils/utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nexport var removeDifferentElements = ($children, $newChildren) => {\r\n each($newChildren, (__, element) => {\r\n var hasComponent = false;\r\n each($children, (_, oldElement) => {\r\n if (element === oldElement) {\r\n hasComponent = true\r\n }\r\n });\r\n if (!hasComponent && element.parentNode) {\r\n $(element).remove()\r\n }\r\n })\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/utils/shallow_equals.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var shallowEquals = (firstObject, secondObject) => {\r\n if (Object.keys(firstObject).length !== Object.keys(secondObject).length) {\r\n return false\r\n }\r\n return Object.keys(firstObject).every(key => firstObject[key] === secondObject[key])\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/utils/update_props_immutable.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n isPlainObject\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n getPathParts\r\n} from \"../../../core/utils/data\";\r\n\r\nfunction cloneObjectValue(value) {\r\n return Array.isArray(value) ? [...value] : _extends({}, value)\r\n}\r\n\r\nfunction cloneObjectProp(value, prevValue, fullNameParts) {\r\n var result = fullNameParts.length > 0 && prevValue && value !== prevValue ? cloneObjectValue(prevValue) : cloneObjectValue(value);\r\n var name = fullNameParts[0];\r\n if (fullNameParts.length > 1) {\r\n result[name] = cloneObjectProp(value[name], null === prevValue || void 0 === prevValue ? void 0 : prevValue[name], fullNameParts.slice(1))\r\n } else if (name) {\r\n if (isPlainObject(value[name])) {\r\n result[name] = cloneObjectValue(value[name])\r\n } else {\r\n result[name] = value[name]\r\n }\r\n }\r\n return result\r\n}\r\nexport function updatePropsImmutable(props, option, name, fullName) {\r\n var currentPropsValue = option[name];\r\n var prevPropsValue = props[name];\r\n var result = props;\r\n if (isPlainObject(currentPropsValue) || name !== fullName && Array.isArray(currentPropsValue)) {\r\n result[name] = cloneObjectProp(currentPropsValue, prevPropsValue, getPathParts(fullName).slice(1))\r\n } else {\r\n result[name] = currentPropsValue\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/common/component.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n createRef\r\n} from \"inferno\";\r\nimport KeyboardProcessor from \"../../../events/core/keyboard_processor\";\r\nimport renderer from \"../../../core/inferno_renderer\";\r\nimport $ from \"../../../core/renderer\";\r\nimport domAdapter from \"../../../core/dom_adapter\";\r\nimport DOMComponent from \"../../../core/dom_component\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n getPublicElement\r\n} from \"../../../core/element\";\r\nimport {\r\n isDefined,\r\n isRenderer,\r\n isString\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n TemplateWrapper\r\n} from \"./template_wrapper\";\r\nimport {\r\n updatePropsImmutable\r\n} from \"../utils/update_props_immutable\";\r\nimport \"../../../events/click\";\r\nimport \"../../../events/core/emitter.feedback\";\r\nimport \"../../../events/hover\";\r\nvar setDefaultOptionValue = (options, defaultValueGetter) => name => {\r\n if (Object.prototype.hasOwnProperty.call(options, name) && void 0 === options[name]) {\r\n options[name] = defaultValueGetter(name)\r\n }\r\n};\r\nexport default class ComponentWrapper extends DOMComponent {\r\n constructor(element, options) {\r\n super(element, options);\r\n this._shouldRaiseContentReady = false;\r\n this.validateKeyDownHandler()\r\n }\r\n get _propsInfo() {\r\n return {\r\n allowNull: [],\r\n twoWay: [],\r\n elements: [],\r\n templates: [],\r\n props: []\r\n }\r\n }\r\n validateKeyDownHandler() {\r\n var supportedKeyNames = this.getSupportedKeyNames();\r\n var hasComponentDefaultKeyHandlers = supportedKeyNames.length > 0;\r\n var hasComponentKeyDownMethod = \"function\" === typeof this._viewComponent.prototype.keyDown;\r\n if (hasComponentDefaultKeyHandlers && !hasComponentKeyDownMethod) {\r\n throw Error(\"Component's declaration must have 'keyDown' method.\")\r\n }\r\n }\r\n get viewRef() {\r\n var _this$_viewRef;\r\n return null === (_this$_viewRef = this._viewRef) || void 0 === _this$_viewRef ? void 0 : _this$_viewRef.current\r\n }\r\n _checkContentReadyOption(fullName) {\r\n var contentReadyOptions = this._getContentReadyOptions().reduce((options, name) => {\r\n options[name] = true;\r\n return options\r\n }, {});\r\n this._checkContentReadyOption = optionName => !!contentReadyOptions[optionName];\r\n return this._checkContentReadyOption(fullName)\r\n }\r\n _getContentReadyOptions() {\r\n return [\"rtlEnabled\"]\r\n }\r\n _fireContentReady() {\r\n this._actionsMap.onContentReady({})\r\n }\r\n _getDefaultOptions() {\r\n var viewDefaultProps = this._getViewComponentDefaultProps();\r\n return extend(true, super._getDefaultOptions(), viewDefaultProps, this._propsInfo.twoWay.reduce((options, _ref) => {\r\n var [name, defaultName, eventName] = _ref;\r\n return _extends({}, options, {\r\n [name]: viewDefaultProps[defaultName],\r\n [eventName]: value => this.option(name, value)\r\n })\r\n }, {}), this._propsInfo.templates.reduce((options, name) => _extends({}, options, {\r\n [name]: null\r\n }), {}))\r\n }\r\n _getUnwrappedOption() {\r\n var unwrappedProps = {};\r\n Object.keys(this.option()).forEach(key => {\r\n unwrappedProps[key] = this.option(key)\r\n });\r\n return unwrappedProps\r\n }\r\n _initializeComponent() {\r\n var _this$_templateManage;\r\n super._initializeComponent();\r\n null === (_this$_templateManage = this._templateManager) || void 0 === _this$_templateManage ? void 0 : _this$_templateManage.addDefaultTemplates(this.getDefaultTemplates());\r\n var optionProxy = this._getUnwrappedOption();\r\n this._props = this._optionsWithDefaultTemplates(optionProxy);\r\n this._propsInfo.templates.forEach(template => {\r\n this._componentTemplates[template] = this._createTemplateComponent(this._props[template])\r\n });\r\n Object.keys(this._getActionConfigsFull()).forEach(name => this._addAction(name));\r\n this._viewRef = createRef();\r\n this.defaultKeyHandlers = this._createDefaultKeyHandlers()\r\n }\r\n _initMarkup() {\r\n var props = this.getProps();\r\n this._renderWrapper(props)\r\n }\r\n _renderWrapper(props) {\r\n var containerNode = this.$element()[0];\r\n if (!this._isNodeReplaced) {\r\n renderer.onPreRender()\r\n }\r\n renderer.render(this._viewComponent, props, containerNode, this._isNodeReplaced);\r\n if (!this._isNodeReplaced) {\r\n this._isNodeReplaced = true;\r\n renderer.onAfterRender();\r\n this._shouldRaiseContentReady = true\r\n }\r\n if (this._shouldRaiseContentReady) {\r\n this._fireContentReady();\r\n this._shouldRaiseContentReady = false\r\n }\r\n }\r\n _silent(name, value) {\r\n this._options.silent(name, value)\r\n }\r\n _render() {}\r\n _removeWidget() {\r\n renderer.remove(this.$element()[0])\r\n }\r\n _dispose() {\r\n this._removeWidget();\r\n super._dispose()\r\n }\r\n get elementAttr() {\r\n var element = this.$element()[0];\r\n if (!this._elementAttr) {\r\n var {\r\n attributes: attributes\r\n } = element;\r\n var attrs = Array.from(attributes).filter(attr => {\r\n var _attributes$attr$name;\r\n return !this._propsInfo.templates.includes(attr.name) && (null === (_attributes$attr$name = attributes[attr.name]) || void 0 === _attributes$attr$name ? void 0 : _attributes$attr$name.specified)\r\n }).reduce((result, _ref2) => {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref2;\r\n var updatedAttributes = result;\r\n var isDomAttr = name in element;\r\n updatedAttributes[name] = \"\" === value && isDomAttr ? element[name] : value;\r\n return updatedAttributes\r\n }, {});\r\n this._elementAttr = attrs;\r\n this._storedClasses = element.getAttribute(\"class\") || \"\"\r\n }\r\n var elemStyle = element.style;\r\n var style = {};\r\n for (var i = 0; i < elemStyle.length; i += 1) {\r\n style[elemStyle[i]] = elemStyle.getPropertyValue(elemStyle[i])\r\n }\r\n this._elementAttr.style = style;\r\n this._elementAttr.class = this._storedClasses;\r\n return this._elementAttr\r\n }\r\n _getAdditionalActionConfigs() {\r\n return {\r\n onContentReady: {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n }\r\n }\r\n }\r\n _getAdditionalProps() {\r\n return []\r\n }\r\n _patchOptionValues(options) {\r\n var {\r\n allowNull: allowNull,\r\n elements: elements,\r\n props: props,\r\n twoWay: twoWay\r\n } = this._propsInfo;\r\n var viewDefaultProps = this._getViewComponentDefaultProps();\r\n var defaultWidgetPropsKeys = Object.keys(viewDefaultProps);\r\n var defaultOptions = this._getDefaultOptions();\r\n var {\r\n children: children,\r\n onKeyboardHandled: onKeyboardHandled,\r\n ref: ref\r\n } = options;\r\n var onKeyDown = onKeyboardHandled ? (_, event_options) => {\r\n onKeyboardHandled(event_options)\r\n } : void 0;\r\n var widgetProps = {\r\n ref: ref,\r\n children: children,\r\n onKeyDown: onKeyDown\r\n };\r\n [...props, ...this._getAdditionalProps()].forEach(propName => {\r\n if (Object.prototype.hasOwnProperty.call(options, propName)) {\r\n widgetProps[propName] = options[propName]\r\n }\r\n });\r\n allowNull.forEach(setDefaultOptionValue(widgetProps, () => null));\r\n defaultWidgetPropsKeys.forEach(setDefaultOptionValue(widgetProps, name => defaultOptions[name]));\r\n twoWay.forEach(_ref3 => {\r\n var [name, defaultName] = _ref3;\r\n setDefaultOptionValue(widgetProps, () => defaultOptions[defaultName])(name)\r\n });\r\n elements.forEach(name => {\r\n if (name in widgetProps) {\r\n var value = widgetProps[name];\r\n if (isRenderer(value)) {\r\n widgetProps[name] = this._patchElementParam(value)\r\n }\r\n }\r\n });\r\n return widgetProps\r\n }\r\n getSupportedKeyNames() {\r\n return []\r\n }\r\n prepareStyleProp(props) {\r\n if (\"string\" === typeof props.style) {\r\n return _extends({}, props, {\r\n style: {},\r\n cssText: props.style\r\n })\r\n }\r\n return props\r\n }\r\n getProps() {\r\n var _this$elementAttr$cla, _elementAttr$class;\r\n var {\r\n elementAttr: elementAttr\r\n } = this.option();\r\n var options = this._patchOptionValues(_extends({}, this._props, {\r\n ref: this._viewRef,\r\n children: this._extractDefaultSlot(),\r\n aria: this._aria\r\n }));\r\n this._propsInfo.templates.forEach(template => {\r\n options[template] = this._componentTemplates[template]\r\n });\r\n return this.prepareStyleProp(_extends({}, options, this.elementAttr, elementAttr, {\r\n className: [...(null !== (_this$elementAttr$cla = this.elementAttr.class) && void 0 !== _this$elementAttr$cla ? _this$elementAttr$cla : \"\").split(\" \"), ...(null !== (_elementAttr$class = null === elementAttr || void 0 === elementAttr ? void 0 : elementAttr.class) && void 0 !== _elementAttr$class ? _elementAttr$class : \"\").split(\" \")].filter((c, i, a) => c && a.indexOf(c) === i).join(\" \").trim(),\r\n class: \"\"\r\n }, this._actionsMap))\r\n }\r\n _getActionConfigs() {\r\n return {}\r\n }\r\n _getActionConfigsFull() {\r\n return _extends({}, this._getActionConfigs(), this._getAdditionalActionConfigs())\r\n }\r\n getDefaultTemplates() {\r\n var defaultTemplates = Object.values(this._templatesInfo);\r\n var result = {};\r\n defaultTemplates.forEach(template => {\r\n result[template] = \"dx-renovation-template-mock\"\r\n });\r\n return result\r\n }\r\n get _templatesInfo() {\r\n return {}\r\n }\r\n _optionsWithDefaultTemplates(options) {\r\n var templateOptions = Object.entries(this._templatesInfo).reduce((result, _ref4) => {\r\n var _options$templateName;\r\n var [templateName, templateValue] = _ref4;\r\n return _extends({}, result, {\r\n [templateName]: null !== (_options$templateName = options[templateName]) && void 0 !== _options$templateName ? _options$templateName : templateValue\r\n })\r\n }, {});\r\n return _extends({}, options, templateOptions)\r\n }\r\n _init() {\r\n super._init();\r\n this.customKeyHandlers = {};\r\n this._actionsMap = {};\r\n this._aria = {};\r\n this._componentTemplates = {}\r\n }\r\n _createDefaultKeyHandlers() {\r\n var result = {};\r\n var keys = this.getSupportedKeyNames();\r\n keys.forEach(key => {\r\n result[key] = e => this.viewRef.keyDown(KeyboardProcessor.createKeyDownOptions(e))\r\n });\r\n return result\r\n }\r\n _addAction(event, actionToAdd) {\r\n var action = actionToAdd;\r\n if (!action) {\r\n var actionByOption = this._createActionByOption(event, this._getActionConfigsFull()[event]);\r\n action = actArgs => {\r\n Object.keys(actArgs).forEach(name => {\r\n if (isDefined(actArgs[name]) && domAdapter.isNode(actArgs[name])) {\r\n actArgs[name] = getPublicElement($(actArgs[name]))\r\n }\r\n });\r\n return actionByOption(actArgs)\r\n }\r\n }\r\n this._actionsMap[event] = action\r\n }\r\n _optionChanged(option) {\r\n var {\r\n fullName: fullName,\r\n name: name,\r\n previousValue: previousValue,\r\n value: value\r\n } = option;\r\n updatePropsImmutable(this._props, this.option(), name, fullName);\r\n if (this._propsInfo.templates.includes(name) && value !== previousValue) {\r\n this._componentTemplates[name] = this._createTemplateComponent(value)\r\n }\r\n if (name && this._getActionConfigsFull()[name]) {\r\n this._addAction(name)\r\n }\r\n this._shouldRaiseContentReady = this._shouldRaiseContentReady || this._checkContentReadyOption(fullName);\r\n super._optionChanged(option);\r\n this._invalidate()\r\n }\r\n _extractDefaultSlot() {\r\n if (this.option(\"_hasAnonymousTemplateContent\")) {\r\n return renderer.createElement(TemplateWrapper, {\r\n template: this._getTemplate(this._templateManager.anonymousTemplateName),\r\n transclude: true,\r\n renovated: true\r\n })\r\n }\r\n return null\r\n }\r\n _createTemplateComponent(templateOption) {\r\n if (!templateOption) {\r\n return\r\n }\r\n var template = this._getTemplate(templateOption);\r\n if (isString(template) && \"dx-renovation-template-mock\" === template) {\r\n return\r\n }\r\n return model => renderer.createElement(TemplateWrapper, {\r\n template: template,\r\n model: model\r\n })\r\n }\r\n _wrapKeyDownHandler(initialHandler) {\r\n return options => {\r\n var {\r\n keyName: keyName,\r\n originalEvent: originalEvent,\r\n which: which\r\n } = options;\r\n var keys = this.customKeyHandlers;\r\n var func = keys[keyName] || keys[which];\r\n if (void 0 !== func) {\r\n var handler = func.bind(this);\r\n var result = handler(originalEvent, options);\r\n if (!result) {\r\n originalEvent.cancel = true;\r\n return originalEvent\r\n }\r\n }\r\n return null === initialHandler || void 0 === initialHandler ? void 0 : initialHandler(originalEvent, options)\r\n }\r\n }\r\n _toPublicElement(element) {\r\n return getPublicElement($(element))\r\n }\r\n _patchElementParam(value) {\r\n try {\r\n var result = $(value);\r\n var element = null === result || void 0 === result ? void 0 : result.get(0);\r\n return null !== element && void 0 !== element && element.nodeType ? element : value\r\n } catch (error) {\r\n return value\r\n }\r\n }\r\n repaint() {\r\n this._isNodeReplaced = false;\r\n this._shouldRaiseContentReady = true;\r\n this._removeWidget();\r\n this._refresh()\r\n }\r\n _supportedKeys() {\r\n return _extends({}, this.defaultKeyHandlers, this.customKeyHandlers)\r\n }\r\n registerKeyHandler(key, handler) {\r\n this.customKeyHandlers[key] = handler\r\n }\r\n setAria(name, value) {\r\n this._aria[name] = value;\r\n this._initMarkup()\r\n }\r\n _getViewComponentDefaultProps() {\r\n return this._viewComponent.defaultProps || {}\r\n }\r\n}\r\nComponentWrapper.IS_RENOVATED_WIDGET = false;\r\nComponentWrapper.IS_RENOVATED_WIDGET = true;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/common/icon.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"iconTemplate\", \"position\", \"source\"];\r\nimport {\r\n createVNode,\r\n createFragment,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n Fragment\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n getImageSourceType\r\n} from \"../../../core/utils/icon\";\r\nimport {\r\n combineClasses\r\n} from \"../../utils/combine_classes\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n iconClassName: iconClassName,\r\n props: {\r\n iconTemplate: IconTemplate,\r\n source: source\r\n },\r\n sourceType: sourceType\r\n } = _ref;\r\n return createFragment([\"dxIcon\" === sourceType && createVNode(1, \"i\", iconClassName), \"fontIcon\" === sourceType && createVNode(1, \"i\", iconClassName), \"image\" === sourceType && createVNode(1, \"img\", iconClassName, null, 1, {\r\n alt: \"\",\r\n src: source\r\n }), IconTemplate && createVNode(1, \"i\", iconClassName, IconTemplate({}), 0)], 0)\r\n};\r\nexport var IconProps = {\r\n position: \"left\",\r\n source: \"\"\r\n};\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class Icon extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get sourceType() {\r\n return getImageSourceType(this.props.source)\r\n }\r\n get cssClass() {\r\n return \"left\" !== this.props.position ? \"dx-icon-right\" : \"\"\r\n }\r\n get iconClassName() {\r\n var generalClasses = {\r\n \"dx-icon\": true,\r\n [this.cssClass]: !!this.cssClass\r\n };\r\n var {\r\n source: source\r\n } = this.props;\r\n if (\"dxIcon\" === this.sourceType) {\r\n return combineClasses(_extends({}, generalClasses, {\r\n [\"dx-icon-\".concat(source)]: true\r\n }))\r\n }\r\n if (\"fontIcon\" === this.sourceType) {\r\n return combineClasses(_extends({}, generalClasses, {\r\n [String(source)]: !!source\r\n }))\r\n }\r\n if (\"image\" === this.sourceType) {\r\n return combineClasses(generalClasses)\r\n }\r\n if (\"svg\" === this.sourceType) {\r\n return combineClasses(_extends({}, generalClasses, {\r\n \"dx-svg-icon\": true\r\n }))\r\n }\r\n return \"\"\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n iconTemplate: getTemplate(props.iconTemplate)\r\n }),\r\n sourceType: this.sourceType,\r\n cssClass: this.cssClass,\r\n iconClassName: this.iconClassName,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nIcon.defaultProps = IconProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/common/ink_ripple.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"config\"];\r\nimport {\r\n createVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n initConfig,\r\n showWave,\r\n hideWave\r\n} from \"../../../ui/widget/utils.ink_ripple\";\r\nexport var viewFunction = model => normalizeProps(createVNode(1, \"div\", \"dx-inkripple\", null, 1, _extends({}, model.restAttributes)));\r\nexport var InkRippleProps = {\r\n config: Object.freeze({})\r\n};\r\nexport class InkRipple extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.__getterCache = {};\r\n this.hideWave = this.hideWave.bind(this);\r\n this.showWave = this.showWave.bind(this)\r\n }\r\n get getConfig() {\r\n if (void 0 !== this.__getterCache.getConfig) {\r\n return this.__getterCache.getConfig\r\n }\r\n return this.__getterCache.getConfig = (() => {\r\n var {\r\n config: config\r\n } = this.props;\r\n return initConfig(config)\r\n })()\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n hideWave(opts) {\r\n hideWave(this.getConfig, opts)\r\n }\r\n showWave(opts) {\r\n showWave(this.getConfig, opts)\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n if (this.props.config !== nextProps.config) {\r\n this.__getterCache.getConfig = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n getConfig: this.getConfig,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nInkRipple.defaultProps = InkRippleProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/button.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"accessKey\", \"activeStateEnabled\", \"children\", \"className\", \"disabled\", \"focusStateEnabled\", \"height\", \"hint\", \"hoverStateEnabled\", \"icon\", \"iconPosition\", \"iconTemplate\", \"onClick\", \"onKeyDown\", \"onSubmit\", \"pressed\", \"rtlEnabled\", \"stylingMode\", \"tabIndex\", \"template\", \"templateData\", \"text\", \"type\", \"useInkRipple\", \"useSubmitBehavior\", \"visible\", \"width\"];\r\nimport {\r\n createVNode,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoWrapperComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n createDefaultOptionRules,\r\n convertRulesToOptions\r\n} from \"../../core/options/utils\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n isMaterial,\r\n current\r\n} from \"../../ui/themes\";\r\nimport {\r\n click\r\n} from \"../../events/short\";\r\nimport {\r\n combineClasses\r\n} from \"../utils/combine_classes\";\r\nimport {\r\n getImageSourceType\r\n} from \"../../core/utils/icon\";\r\nimport {\r\n camelize\r\n} from \"../../core/utils/inflector\";\r\nimport {\r\n Icon\r\n} from \"./common/icon\";\r\nimport errors from \"../../core/errors\";\r\nimport {\r\n InkRipple\r\n} from \"./common/ink_ripple\";\r\nimport {\r\n Widget\r\n} from \"./common/widget\";\r\nimport {\r\n BaseWidgetProps\r\n} from \"./common/base_props\";\r\nimport messageLocalization from \"../../localization/message\";\r\nvar stylingModes = [\"outlined\", \"text\", \"contained\"];\r\nvar getCssClasses = model => {\r\n var {\r\n icon: icon,\r\n iconPosition: iconPosition,\r\n stylingMode: stylingMode,\r\n text: text,\r\n type: type\r\n } = model;\r\n var isValidStylingMode = stylingMode && stylingModes.includes(stylingMode);\r\n var classesMap = {\r\n \"dx-button\": true,\r\n [\"dx-button-mode-\".concat(isValidStylingMode ? stylingMode : \"contained\")]: true,\r\n [\"dx-button-\".concat(null !== type && void 0 !== type ? type : \"normal\")]: true,\r\n \"dx-button-has-text\": !!text,\r\n \"dx-button-has-icon\": !!icon,\r\n \"dx-button-icon-right\": \"left\" !== iconPosition\r\n };\r\n return combineClasses(classesMap)\r\n};\r\nexport var viewFunction = viewModel => {\r\n var {\r\n children: children,\r\n iconPosition: iconPosition,\r\n iconTemplate: IconTemplate,\r\n template: ButtonTemplate,\r\n text: text\r\n } = viewModel.props;\r\n var renderText = !viewModel.props.template && !children && \"\" !== text;\r\n var isIconLeft = \"left\" === iconPosition;\r\n var iconComponent = !viewModel.props.template && !children && (viewModel.iconSource || viewModel.props.iconTemplate) && createComponentVNode(2, Icon, {\r\n source: viewModel.iconSource,\r\n position: iconPosition,\r\n iconTemplate: IconTemplate\r\n });\r\n return normalizeProps(createComponentVNode(2, Widget, _extends({\r\n accessKey: viewModel.props.accessKey,\r\n activeStateEnabled: viewModel.props.activeStateEnabled,\r\n aria: viewModel.aria,\r\n className: viewModel.props.className,\r\n classes: viewModel.cssClasses,\r\n disabled: viewModel.props.disabled,\r\n focusStateEnabled: viewModel.props.focusStateEnabled,\r\n height: viewModel.props.height,\r\n hint: viewModel.props.hint,\r\n hoverStateEnabled: viewModel.props.hoverStateEnabled,\r\n onActive: viewModel.onActive,\r\n onClick: viewModel.onWidgetClick,\r\n onInactive: viewModel.onInactive,\r\n onKeyDown: viewModel.keyDown,\r\n rtlEnabled: viewModel.props.rtlEnabled,\r\n tabIndex: viewModel.props.tabIndex,\r\n visible: viewModel.props.visible,\r\n width: viewModel.props.width\r\n }, viewModel.restAttributes, {\r\n children: createVNode(1, \"div\", \"dx-button-content\", [viewModel.props.template && ButtonTemplate({\r\n data: viewModel.buttonTemplateData\r\n }), !viewModel.props.template && children, isIconLeft && iconComponent, renderText && createVNode(1, \"span\", \"dx-button-text\", text, 0), !isIconLeft && iconComponent, viewModel.props.useSubmitBehavior && createVNode(64, \"input\", \"dx-button-submit-input\", null, 1, {\r\n type: \"submit\",\r\n tabIndex: -1\r\n }, null, viewModel.submitInputRef), viewModel.props.useInkRipple && createComponentVNode(2, InkRipple, {\r\n config: viewModel.inkRippleConfig\r\n }, null, viewModel.inkRippleRef)], 0, null, null, viewModel.contentRef)\r\n }), null, viewModel.widgetRef))\r\n};\r\nexport var ButtonProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(BaseWidgetProps), Object.getOwnPropertyDescriptors({\r\n activeStateEnabled: true,\r\n hoverStateEnabled: true,\r\n icon: \"\",\r\n iconPosition: \"left\",\r\n stylingMode: \"contained\",\r\n text: \"\",\r\n type: \"normal\",\r\n useInkRipple: false,\r\n useSubmitBehavior: false,\r\n templateData: Object.freeze({})\r\n})));\r\nexport var defaultOptionRules = createDefaultOptionRules([{\r\n device: () => \"desktop\" === devices.real().deviceType && !devices.isSimulator(),\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n}, {\r\n device: () => isMaterial(current()),\r\n options: {\r\n useInkRipple: true\r\n }\r\n}]);\r\nimport {\r\n createReRenderEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class Button extends InfernoWrapperComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.contentRef = infernoCreateRef();\r\n this.inkRippleRef = infernoCreateRef();\r\n this.submitInputRef = infernoCreateRef();\r\n this.widgetRef = infernoCreateRef();\r\n this.__getterCache = {};\r\n this.focus = this.focus.bind(this);\r\n this.activate = this.activate.bind(this);\r\n this.deactivate = this.deactivate.bind(this);\r\n this.submitEffect = this.submitEffect.bind(this);\r\n this.checkDeprecation = this.checkDeprecation.bind(this);\r\n this.onActive = this.onActive.bind(this);\r\n this.onInactive = this.onInactive.bind(this);\r\n this.onWidgetClick = this.onWidgetClick.bind(this);\r\n this.keyDown = this.keyDown.bind(this);\r\n this.emitClickEvent = this.emitClickEvent.bind(this)\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.submitEffect, [this.props.onSubmit, this.props.useSubmitBehavior]), new InfernoEffect(this.checkDeprecation, [this.props.type]), createReRenderEffect()]\r\n }\r\n updateEffects() {\r\n var _this$_effects$, _this$_effects$2;\r\n null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props.onSubmit, this.props.useSubmitBehavior]);\r\n null === (_this$_effects$2 = this._effects[1]) || void 0 === _this$_effects$2 ? void 0 : _this$_effects$2.update([this.props.type])\r\n }\r\n submitEffect() {\r\n var {\r\n onSubmit: onSubmit,\r\n useSubmitBehavior: useSubmitBehavior\r\n } = this.props;\r\n if (useSubmitBehavior && onSubmit) {\r\n click.on(this.submitInputRef.current, event => onSubmit({\r\n event: event,\r\n submitInput: this.submitInputRef.current\r\n }), {\r\n namespace: \"UIFeedback\"\r\n });\r\n return () => click.off(this.submitInputRef.current, {\r\n namespace: \"UIFeedback\"\r\n })\r\n }\r\n return\r\n }\r\n checkDeprecation() {\r\n var {\r\n type: type\r\n } = this.props;\r\n if (\"back\" === type) {\r\n errors.log(\"W0016\", \"type\", \"back\", \"22.2\", \"Use the 'back' icon instead\")\r\n }\r\n }\r\n onActive(event) {\r\n var {\r\n useInkRipple: useInkRipple\r\n } = this.props;\r\n useInkRipple && this.inkRippleRef.current.showWave({\r\n element: this.contentRef.current,\r\n event: event\r\n })\r\n }\r\n onInactive(event) {\r\n var {\r\n useInkRipple: useInkRipple\r\n } = this.props;\r\n useInkRipple && this.inkRippleRef.current.hideWave({\r\n element: this.contentRef.current,\r\n event: event\r\n })\r\n }\r\n onWidgetClick(event) {\r\n var {\r\n onClick: onClick,\r\n useSubmitBehavior: useSubmitBehavior\r\n } = this.props;\r\n null === onClick || void 0 === onClick ? void 0 : onClick({\r\n event: event\r\n });\r\n useSubmitBehavior && this.submitInputRef.current.click()\r\n }\r\n keyDown(e) {\r\n var {\r\n onKeyDown: onKeyDown\r\n } = this.props;\r\n var {\r\n keyName: keyName,\r\n originalEvent: originalEvent,\r\n which: which\r\n } = e;\r\n var result = null === onKeyDown || void 0 === onKeyDown ? void 0 : onKeyDown(e);\r\n if (null !== result && void 0 !== result && result.cancel) {\r\n return result\r\n }\r\n if (\"space\" === keyName || \"space\" === which || \"enter\" === keyName || \"enter\" === which) {\r\n originalEvent.preventDefault();\r\n this.emitClickEvent()\r\n }\r\n return\r\n }\r\n emitClickEvent() {\r\n this.contentRef.current.click()\r\n }\r\n get aria() {\r\n var {\r\n icon: icon,\r\n text: text\r\n } = this.props;\r\n var label = null !== text && void 0 !== text ? text : \"\";\r\n if (!text && icon) {\r\n var iconSource = getImageSourceType(icon);\r\n switch (iconSource) {\r\n case \"image\":\r\n var isPathToImage = !icon.includes(\"base64\") && /^(?!(?:https?:\\/\\/)|(?:ftp:\\/\\/)|(?:www\\.))[^\\s]+$/.test(icon);\r\n label = isPathToImage ? icon.replace(/.+\\/([^.]+)\\..+$/, \"$1\") : \"\";\r\n break;\r\n case \"dxIcon\":\r\n label = messageLocalization.format(camelize(icon, true)) || icon;\r\n break;\r\n case \"fontIcon\":\r\n label = icon;\r\n break;\r\n case \"svg\":\r\n var _titleRegexp$exec$, _titleRegexp$exec;\r\n var title = null !== (_titleRegexp$exec$ = null === (_titleRegexp$exec = /(.*?)<\\/title>/.exec(icon)) || void 0 === _titleRegexp$exec ? void 0 : _titleRegexp$exec[1]) && void 0 !== _titleRegexp$exec$ ? _titleRegexp$exec$ : \"\";\r\n label = title\r\n }\r\n }\r\n return _extends({\r\n role: \"button\"\r\n }, label ? {\r\n label: label\r\n } : {})\r\n }\r\n get cssClasses() {\r\n return getCssClasses(this.props)\r\n }\r\n get iconSource() {\r\n var {\r\n icon: icon,\r\n type: type\r\n } = this.props;\r\n if (icon || \"back\" === type) {\r\n return (null !== icon && void 0 !== icon ? icon : \"\") || \"back\"\r\n }\r\n return \"\"\r\n }\r\n get inkRippleConfig() {\r\n if (void 0 !== this.__getterCache.inkRippleConfig) {\r\n return this.__getterCache.inkRippleConfig\r\n }\r\n return this.__getterCache.inkRippleConfig = (() => {\r\n var {\r\n icon: icon,\r\n text: text,\r\n type: type\r\n } = this.props;\r\n return !text && icon || \"back\" === type ? {\r\n isCentered: true,\r\n useHoldAnimation: false,\r\n waveSizeCoefficient: 1\r\n } : {}\r\n })()\r\n }\r\n get buttonTemplateData() {\r\n var {\r\n icon: icon,\r\n templateData: templateData,\r\n text: text\r\n } = this.props;\r\n return _extends({\r\n icon: icon,\r\n text: text\r\n }, templateData)\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n focus() {\r\n this.widgetRef.current.focus()\r\n }\r\n activate() {\r\n this.widgetRef.current.activate()\r\n }\r\n deactivate() {\r\n this.widgetRef.current.deactivate()\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n super.componentWillUpdate();\r\n if (this.props.icon !== nextProps.icon || this.props.text !== nextProps.text || this.props.type !== nextProps.type) {\r\n this.__getterCache.inkRippleConfig = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n template: getTemplate(props.template),\r\n iconTemplate: getTemplate(props.iconTemplate)\r\n }),\r\n contentRef: this.contentRef,\r\n submitInputRef: this.submitInputRef,\r\n inkRippleRef: this.inkRippleRef,\r\n widgetRef: this.widgetRef,\r\n onActive: this.onActive,\r\n onInactive: this.onInactive,\r\n onWidgetClick: this.onWidgetClick,\r\n keyDown: this.keyDown,\r\n emitClickEvent: this.emitClickEvent,\r\n aria: this.aria,\r\n cssClasses: this.cssClasses,\r\n iconSource: this.iconSource,\r\n inkRippleConfig: this.inkRippleConfig,\r\n buttonTemplateData: this.buttonTemplateData,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nButton.defaultProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(ButtonProps), Object.getOwnPropertyDescriptors(_extends({}, convertRulesToOptions(defaultOptionRules)))));\r\nvar __defaultOptionRules = [];\r\nexport function defaultOptions(rule) {\r\n __defaultOptionRules.push(rule);\r\n Button.defaultProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(Button.defaultProps), Object.getOwnPropertyDescriptors(convertRulesToOptions(defaultOptionRules)), Object.getOwnPropertyDescriptors(convertRulesToOptions(__defaultOptionRules))))\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/common/base_props.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var BaseWidgetProps = {\r\n className: \"\",\r\n activeStateEnabled: false,\r\n disabled: false,\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false,\r\n tabIndex: 0,\r\n visible: true\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/ui/common/utils/get_updated_options.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n isPlainObject,\r\n type\r\n} from \"../../../../core/utils/type\";\r\nvar defaultNotDeepCopyArrays = [\"dataSource\", \"selectedRowKeys\"];\r\nvar propsToIgnore = {\r\n integrationOptions: true\r\n};\r\n\r\nfunction getDiffItem(key, value, previousValue) {\r\n return {\r\n path: key,\r\n value: value,\r\n previousValue: previousValue\r\n }\r\n}\r\n\r\nfunction compare(resultPaths, item1, item2, key, fullPropName, notDeepCopyArrays) {\r\n if (propsToIgnore[key]) {\r\n return\r\n }\r\n var type1 = type(item1);\r\n var type2 = type(item2);\r\n if (item1 === item2) {\r\n return\r\n }\r\n if (type1 !== type2) {\r\n resultPaths.push(getDiffItem(key, item2, item1))\r\n } else if (\"object\" === type1) {\r\n if (!isPlainObject(item2)) {\r\n resultPaths.push(getDiffItem(key, item2, item1))\r\n } else {\r\n var diffPaths = objectDiffs(item1, item2, fullPropName, notDeepCopyArrays);\r\n resultPaths.push(...diffPaths.map(item => _extends({}, item, {\r\n path: \"\".concat(key, \".\").concat(item.path)\r\n })))\r\n }\r\n } else if (\"array\" === type1) {\r\n var notDeepCopy = notDeepCopyArrays.some(prop => fullPropName.includes(prop));\r\n if (notDeepCopy && item1 !== item2) {\r\n resultPaths.push(getDiffItem(key, item2, item1))\r\n } else if (item1.length !== item2.length) {\r\n resultPaths.push(getDiffItem(key, item2, item1))\r\n } else {\r\n var _diffPaths = objectDiffs(item1, item2, fullPropName, notDeepCopyArrays);\r\n [].push.apply(resultPaths, _diffPaths.map(item => _extends({}, item, {\r\n path: \"\".concat(key).concat(item.path)\r\n })))\r\n }\r\n } else {\r\n resultPaths.push(getDiffItem(key, item2, item1))\r\n }\r\n}\r\nvar objectDiffsFiltered = propsEnumerator => (oldProps, props, fullPropName, notDeepCopyArrays) => {\r\n var resultPaths = [];\r\n var processItem = !Array.isArray(oldProps) ? propName => {\r\n compare(resultPaths, oldProps[propName], props[propName], propName, \"\".concat(fullPropName, \".\").concat(propName), notDeepCopyArrays)\r\n } : propName => {\r\n compare(resultPaths, oldProps[propName], props[propName], \"[\".concat(propName, \"]\"), \"\".concat(fullPropName, \".\").concat(propName), notDeepCopyArrays)\r\n };\r\n propsEnumerator(oldProps).forEach(processItem);\r\n Object.keys(props).filter(propName => !Object.prototype.hasOwnProperty.call(oldProps, propName) && oldProps[propName] !== props[propName]).forEach(propName => {\r\n resultPaths.push({\r\n path: propName,\r\n value: props[propName],\r\n previousValue: oldProps[propName]\r\n })\r\n });\r\n return resultPaths\r\n};\r\nvar objectDiffs = objectDiffsFiltered(oldProps => Object.keys(oldProps));\r\nvar reactProps = {\r\n key: true,\r\n ref: true,\r\n children: true,\r\n style: true\r\n};\r\nvar objectDiffsWithoutReactProps = objectDiffsFiltered(prop => Object.keys(prop).filter(p => !reactProps[p]));\r\nexport function getUpdatedOptions(oldProps, props) {\r\n var notDeepCopyArrays = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : defaultNotDeepCopyArrays;\r\n return objectDiffsWithoutReactProps(oldProps, props, \"\", notDeepCopyArrays)\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/common/dom_component_wrapper.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"valueChange\"],\r\n _excluded2 = [\"componentProps\", \"componentType\", \"templateNames\"];\r\nimport {\r\n createVNode\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n renderTemplate,\r\n hasTemplate\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n ConfigContext\r\n} from \"../../common/config_context\";\r\nimport {\r\n getUpdatedOptions\r\n} from \"./utils/get_updated_options\";\r\nvar normalizeProps = props => Object.keys(props).reduce((accumulator, key) => {\r\n if (void 0 !== props[key]) {\r\n accumulator[key] = props[key]\r\n }\r\n return accumulator\r\n}, {});\r\nexport var viewFunction = _ref => {\r\n var {\r\n props: {\r\n componentProps: {\r\n className: className\r\n }\r\n },\r\n restAttributes: restAttributes,\r\n widgetRef: widgetRef\r\n } = _ref;\r\n return normalizeProps(createVNode(1, \"div\", className, null, 1, _extends({}, restAttributes), null, widgetRef))\r\n};\r\nexport var DomComponentWrapperProps = {};\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class DomComponentWrapper extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.widgetRef = infernoCreateRef();\r\n this.getInstance = this.getInstance.bind(this);\r\n this.setupWidget = this.setupWidget.bind(this);\r\n this.updateWidget = this.updateWidget.bind(this)\r\n }\r\n get config() {\r\n if (this.context[ConfigContext.id]) {\r\n return this.context[ConfigContext.id]\r\n }\r\n return ConfigContext.defaultValue\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.setupWidget, []), new InfernoEffect(this.updateWidget, [this.props.componentProps, this.config, this.props.templateNames])]\r\n }\r\n updateEffects() {\r\n var _this$_effects$;\r\n null === (_this$_effects$ = this._effects[1]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props.componentProps, this.config, this.props.templateNames])\r\n }\r\n setupWidget() {\r\n var componentInstance = new this.props.componentType(this.widgetRef.current, this.properties);\r\n this.instance = componentInstance;\r\n return () => {\r\n componentInstance.dispose();\r\n this.instance = null\r\n }\r\n }\r\n updateWidget() {\r\n var instance = this.getInstance();\r\n if (!instance) {\r\n return\r\n }\r\n var updatedOptions = getUpdatedOptions(this.prevProps || {}, this.properties);\r\n if (updatedOptions.length) {\r\n instance.beginUpdate();\r\n updatedOptions.forEach(_ref2 => {\r\n var {\r\n path: path,\r\n value: value\r\n } = _ref2;\r\n instance.option(path, value)\r\n });\r\n instance.endUpdate()\r\n }\r\n this.prevProps = this.properties\r\n }\r\n get properties() {\r\n var _this$config;\r\n var normalizedProps = normalizeProps(this.props.componentProps);\r\n var {\r\n valueChange: valueChange\r\n } = normalizedProps, restProps = _objectWithoutPropertiesLoose(normalizedProps, _excluded);\r\n var properties = _extends({\r\n rtlEnabled: !!(null !== (_this$config = this.config) && void 0 !== _this$config && _this$config.rtlEnabled),\r\n isRenovated: true\r\n }, restProps);\r\n if (valueChange) {\r\n properties.onValueChanged = _ref3 => {\r\n var {\r\n value: value\r\n } = _ref3;\r\n return valueChange(value)\r\n }\r\n }\r\n var templates = this.props.templateNames;\r\n templates.forEach(name => {\r\n if (hasTemplate(name, properties, this)) {\r\n properties[name] = (item, index, container) => {\r\n renderTemplate(this.props.componentProps[name], {\r\n item: item,\r\n index: index,\r\n container: container\r\n }, this)\r\n }\r\n }\r\n });\r\n return properties\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded2);\r\n return restProps\r\n }\r\n getInstance() {\r\n return this.instance\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n widgetRef: this.widgetRef,\r\n config: this.config,\r\n properties: this.properties,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nDomComponentWrapper.defaultProps = DomComponentWrapperProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/common/utils/scroll/getMemoizeScrollTo.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function getMemoizeScrollTo(getScrollableInstance) {\r\n var instance = getScrollableInstance();\r\n var lastParams = {};\r\n return function(params) {\r\n var force = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : false;\r\n var normalizedParams = {\r\n top: void 0 !== params.top ? Math.ceil(params.top) : void 0,\r\n left: void 0 !== params.left ? Math.ceil(params.left) : void 0\r\n };\r\n var isSameParams = normalizedParams.top === lastParams.top && normalizedParams.left === lastParams.left;\r\n if (!force && isSameParams) {\r\n return\r\n }\r\n lastParams = normalizedParams;\r\n instance.scrollTo(params)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/common/config_provider.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"children\", \"rtlEnabled\"];\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n ConfigContext\r\n} from \"./config_context\";\r\nexport var viewFunction = viewModel => viewModel.props.children;\r\nexport var ConfigProviderProps = {};\r\nexport class ConfigProvider extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.__getterCache = {}\r\n }\r\n getChildContext() {\r\n return _extends({}, this.context, {\r\n [ConfigContext.id]: this.config || ConfigContext.defaultValue\r\n })\r\n }\r\n get config() {\r\n if (void 0 !== this.__getterCache.config) {\r\n return this.__getterCache.config\r\n }\r\n return this.__getterCache.config = (() => ({\r\n rtlEnabled: this.props.rtlEnabled\r\n }))()\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n if (this.props.rtlEnabled !== nextProps.rtlEnabled) {\r\n this.__getterCache.config = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n config: this.config,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nConfigProvider.defaultProps = ConfigProviderProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/common/widget.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"_feedbackHideTimeout\", \"_feedbackShowTimeout\", \"accessKey\", \"activeStateEnabled\", \"activeStateUnit\", \"addWidgetClass\", \"aria\", \"children\", \"className\", \"classes\", \"cssText\", \"disabled\", \"focusStateEnabled\", \"height\", \"hint\", \"hoverStateEnabled\", \"name\", \"onActive\", \"onClick\", \"onDimensionChanged\", \"onFocusIn\", \"onFocusOut\", \"onHoverEnd\", \"onHoverStart\", \"onInactive\", \"onKeyDown\", \"onRootElementRendered\", \"onVisibilityChange\", \"rootElementRef\", \"rtlEnabled\", \"tabIndex\", \"visible\", \"width\"];\r\nimport {\r\n createVNode,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoWrapperComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n normalizeStyles\r\n} from \"@devextreme/runtime/inferno\";\r\nimport \"../../../events/click\";\r\nimport \"../../../events/hover\";\r\nimport {\r\n isFunction\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n dxClick,\r\n focus,\r\n keyboard,\r\n resize,\r\n visibility\r\n} from \"../../../events/short\";\r\nimport {\r\n subscribeToDxActiveEvent,\r\n subscribeToDxInactiveEvent,\r\n subscribeToDxHoverStartEvent,\r\n subscribeToDxHoverEndEvent,\r\n subscribeToDxFocusInEvent,\r\n subscribeToDxFocusOutEvent\r\n} from \"../../utils/subscribe_to_event\";\r\nimport {\r\n combineClasses\r\n} from \"../../utils/combine_classes\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n normalizeStyleProp\r\n} from \"../../../core/utils/style\";\r\nimport {\r\n BaseWidgetProps\r\n} from \"./base_props\";\r\nimport {\r\n ConfigContext\r\n} from \"../../common/config_context\";\r\nimport {\r\n ConfigProvider\r\n} from \"../../common/config_provider\";\r\nimport {\r\n resolveRtlEnabled,\r\n resolveRtlEnabledDefinition\r\n} from \"../../utils/resolve_rtl\";\r\nimport resizeCallbacks from \"../../../core/utils/resize_callbacks\";\r\nimport errors from \"../../../core/errors\";\r\nimport domAdapter from \"../../../core/dom_adapter\";\r\nvar DEFAULT_FEEDBACK_HIDE_TIMEOUT = 400;\r\nvar DEFAULT_FEEDBACK_SHOW_TIMEOUT = 30;\r\nvar getAria = args => Object.keys(args).reduce((r, key) => {\r\n if (args[key]) {\r\n return _extends({}, r, {\r\n [\"role\" === key || \"id\" === key ? key : \"aria-\".concat(key)]: String(args[key])\r\n })\r\n }\r\n return r\r\n}, {});\r\nexport var viewFunction = viewModel => {\r\n var widget = normalizeProps(createVNode(1, \"div\", viewModel.cssClasses, viewModel.props.children, 0, _extends({}, viewModel.attributes, {\r\n tabIndex: viewModel.tabIndex,\r\n title: viewModel.props.hint,\r\n style: normalizeStyles(viewModel.styles)\r\n }), null, viewModel.widgetElementRef));\r\n return viewModel.shouldRenderConfigProvider ? createComponentVNode(2, ConfigProvider, {\r\n rtlEnabled: viewModel.rtlEnabled,\r\n children: widget\r\n }) : widget\r\n};\r\nexport var WidgetProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(BaseWidgetProps), Object.getOwnPropertyDescriptors({\r\n _feedbackHideTimeout: DEFAULT_FEEDBACK_HIDE_TIMEOUT,\r\n _feedbackShowTimeout: DEFAULT_FEEDBACK_SHOW_TIMEOUT,\r\n cssText: \"\",\r\n aria: Object.freeze({}),\r\n classes: \"\",\r\n name: \"\",\r\n addWidgetClass: true\r\n})));\r\nimport {\r\n createReRenderEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class Widget extends InfernoWrapperComponent {\r\n constructor(props) {\r\n super(props);\r\n this.widgetElementRef = infernoCreateRef();\r\n this.state = {\r\n active: false,\r\n focused: false,\r\n hovered: false\r\n };\r\n this.setRootElementRef = this.setRootElementRef.bind(this);\r\n this.activeEffect = this.activeEffect.bind(this);\r\n this.inactiveEffect = this.inactiveEffect.bind(this);\r\n this.clickEffect = this.clickEffect.bind(this);\r\n this.focus = this.focus.bind(this);\r\n this.blur = this.blur.bind(this);\r\n this.activate = this.activate.bind(this);\r\n this.deactivate = this.deactivate.bind(this);\r\n this.focusInEffect = this.focusInEffect.bind(this);\r\n this.focusOutEffect = this.focusOutEffect.bind(this);\r\n this.hoverStartEffect = this.hoverStartEffect.bind(this);\r\n this.hoverEndEffect = this.hoverEndEffect.bind(this);\r\n this.keyboardEffect = this.keyboardEffect.bind(this);\r\n this.resizeEffect = this.resizeEffect.bind(this);\r\n this.windowResizeEffect = this.windowResizeEffect.bind(this);\r\n this.visibilityEffect = this.visibilityEffect.bind(this);\r\n this.checkDeprecation = this.checkDeprecation.bind(this);\r\n this.applyCssTextEffect = this.applyCssTextEffect.bind(this)\r\n }\r\n get config() {\r\n if (this.context[ConfigContext.id]) {\r\n return this.context[ConfigContext.id]\r\n }\r\n return ConfigContext.defaultValue\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.setRootElementRef, []), new InfernoEffect(this.activeEffect, [this.props._feedbackShowTimeout, this.props.activeStateEnabled, this.props.activeStateUnit, this.props.disabled, this.props.onActive]), new InfernoEffect(this.inactiveEffect, [this.props._feedbackHideTimeout, this.props.activeStateEnabled, this.props.activeStateUnit, this.props.onInactive, this.state.active]), new InfernoEffect(this.clickEffect, [this.props.disabled, this.props.name, this.props.onClick]), new InfernoEffect(this.focusInEffect, [this.props.disabled, this.props.focusStateEnabled, this.props.name, this.props.onFocusIn]), new InfernoEffect(this.focusOutEffect, [this.props.focusStateEnabled, this.props.name, this.props.onFocusOut, this.state.focused]), new InfernoEffect(this.hoverStartEffect, [this.props.activeStateUnit, this.props.disabled, this.props.hoverStateEnabled, this.props.onHoverStart, this.state.active]), new InfernoEffect(this.hoverEndEffect, [this.props.activeStateUnit, this.props.hoverStateEnabled, this.props.onHoverEnd, this.state.hovered]), new InfernoEffect(this.keyboardEffect, [this.props.focusStateEnabled, this.props.onKeyDown]), new InfernoEffect(this.resizeEffect, [this.props.name, this.props.onDimensionChanged]), new InfernoEffect(this.windowResizeEffect, [this.props.onDimensionChanged]), new InfernoEffect(this.visibilityEffect, [this.props.name, this.props.onVisibilityChange]), new InfernoEffect(this.checkDeprecation, [this.props.height, this.props.width]), new InfernoEffect(this.applyCssTextEffect, [this.props.cssText]), createReRenderEffect()]\r\n }\r\n updateEffects() {\r\n var _this$_effects$, _this$_effects$2, _this$_effects$3, _this$_effects$4, _this$_effects$5, _this$_effects$6, _this$_effects$7, _this$_effects$8, _this$_effects$9, _this$_effects$10, _this$_effects$11, _this$_effects$12, _this$_effects$13;\r\n null === (_this$_effects$ = this._effects[1]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props._feedbackShowTimeout, this.props.activeStateEnabled, this.props.activeStateUnit, this.props.disabled, this.props.onActive]);\r\n null === (_this$_effects$2 = this._effects[2]) || void 0 === _this$_effects$2 ? void 0 : _this$_effects$2.update([this.props._feedbackHideTimeout, this.props.activeStateEnabled, this.props.activeStateUnit, this.props.onInactive, this.state.active]);\r\n null === (_this$_effects$3 = this._effects[3]) || void 0 === _this$_effects$3 ? void 0 : _this$_effects$3.update([this.props.disabled, this.props.name, this.props.onClick]);\r\n null === (_this$_effects$4 = this._effects[4]) || void 0 === _this$_effects$4 ? void 0 : _this$_effects$4.update([this.props.disabled, this.props.focusStateEnabled, this.props.name, this.props.onFocusIn]);\r\n null === (_this$_effects$5 = this._effects[5]) || void 0 === _this$_effects$5 ? void 0 : _this$_effects$5.update([this.props.focusStateEnabled, this.props.name, this.props.onFocusOut, this.state.focused]);\r\n null === (_this$_effects$6 = this._effects[6]) || void 0 === _this$_effects$6 ? void 0 : _this$_effects$6.update([this.props.activeStateUnit, this.props.disabled, this.props.hoverStateEnabled, this.props.onHoverStart, this.state.active]);\r\n null === (_this$_effects$7 = this._effects[7]) || void 0 === _this$_effects$7 ? void 0 : _this$_effects$7.update([this.props.activeStateUnit, this.props.hoverStateEnabled, this.props.onHoverEnd, this.state.hovered]);\r\n null === (_this$_effects$8 = this._effects[8]) || void 0 === _this$_effects$8 ? void 0 : _this$_effects$8.update([this.props.focusStateEnabled, this.props.onKeyDown]);\r\n null === (_this$_effects$9 = this._effects[9]) || void 0 === _this$_effects$9 ? void 0 : _this$_effects$9.update([this.props.name, this.props.onDimensionChanged]);\r\n null === (_this$_effects$10 = this._effects[10]) || void 0 === _this$_effects$10 ? void 0 : _this$_effects$10.update([this.props.onDimensionChanged]);\r\n null === (_this$_effects$11 = this._effects[11]) || void 0 === _this$_effects$11 ? void 0 : _this$_effects$11.update([this.props.name, this.props.onVisibilityChange]);\r\n null === (_this$_effects$12 = this._effects[12]) || void 0 === _this$_effects$12 ? void 0 : _this$_effects$12.update([this.props.height, this.props.width]);\r\n null === (_this$_effects$13 = this._effects[13]) || void 0 === _this$_effects$13 ? void 0 : _this$_effects$13.update([this.props.cssText])\r\n }\r\n setRootElementRef() {\r\n var {\r\n onRootElementRendered: onRootElementRendered,\r\n rootElementRef: rootElementRef\r\n } = this.props;\r\n if (rootElementRef) {\r\n rootElementRef.current = this.widgetElementRef.current\r\n }\r\n null === onRootElementRendered || void 0 === onRootElementRendered ? void 0 : onRootElementRendered(this.widgetElementRef.current)\r\n }\r\n activeEffect() {\r\n var {\r\n _feedbackShowTimeout: _feedbackShowTimeout,\r\n activeStateEnabled: activeStateEnabled,\r\n activeStateUnit: activeStateUnit,\r\n disabled: disabled,\r\n onActive: onActive\r\n } = this.props;\r\n var selector = activeStateUnit;\r\n if (activeStateEnabled) {\r\n if (!disabled) {\r\n return subscribeToDxActiveEvent(this.widgetElementRef.current, event => {\r\n this.setState(__state_argument => ({\r\n active: true\r\n }));\r\n null === onActive || void 0 === onActive ? void 0 : onActive(event)\r\n }, {\r\n timeout: _feedbackShowTimeout,\r\n selector: selector\r\n }, \"UIFeedback\")\r\n }\r\n }\r\n return\r\n }\r\n inactiveEffect() {\r\n var {\r\n _feedbackHideTimeout: _feedbackHideTimeout,\r\n activeStateEnabled: activeStateEnabled,\r\n activeStateUnit: activeStateUnit,\r\n onInactive: onInactive\r\n } = this.props;\r\n var selector = activeStateUnit;\r\n if (activeStateEnabled) {\r\n return subscribeToDxInactiveEvent(this.widgetElementRef.current, event => {\r\n if (this.state.active) {\r\n this.setState(__state_argument => ({\r\n active: false\r\n }));\r\n null === onInactive || void 0 === onInactive ? void 0 : onInactive(event)\r\n }\r\n }, {\r\n timeout: _feedbackHideTimeout,\r\n selector: selector\r\n }, \"UIFeedback\")\r\n }\r\n return\r\n }\r\n clickEffect() {\r\n var {\r\n disabled: disabled,\r\n name: name,\r\n onClick: onClick\r\n } = this.props;\r\n var namespace = name;\r\n if (onClick && !disabled) {\r\n dxClick.on(this.widgetElementRef.current, onClick, {\r\n namespace: namespace\r\n });\r\n return () => dxClick.off(this.widgetElementRef.current, {\r\n namespace: namespace\r\n })\r\n }\r\n return\r\n }\r\n focusInEffect() {\r\n var {\r\n disabled: disabled,\r\n focusStateEnabled: focusStateEnabled,\r\n name: name,\r\n onFocusIn: onFocusIn\r\n } = this.props;\r\n var namespace = \"\".concat(name, \"Focus\");\r\n if (focusStateEnabled) {\r\n if (!disabled) {\r\n return subscribeToDxFocusInEvent(this.widgetElementRef.current, event => {\r\n if (!event.isDefaultPrevented()) {\r\n this.setState(__state_argument => ({\r\n focused: true\r\n }));\r\n null === onFocusIn || void 0 === onFocusIn ? void 0 : onFocusIn(event)\r\n }\r\n }, null, namespace)\r\n }\r\n }\r\n return\r\n }\r\n focusOutEffect() {\r\n var {\r\n focusStateEnabled: focusStateEnabled,\r\n name: name,\r\n onFocusOut: onFocusOut\r\n } = this.props;\r\n var namespace = \"\".concat(name, \"Focus\");\r\n if (focusStateEnabled) {\r\n return subscribeToDxFocusOutEvent(this.widgetElementRef.current, event => {\r\n if (!event.isDefaultPrevented() && this.state.focused) {\r\n this.setState(__state_argument => ({\r\n focused: false\r\n }));\r\n null === onFocusOut || void 0 === onFocusOut ? void 0 : onFocusOut(event)\r\n }\r\n }, null, namespace)\r\n }\r\n return\r\n }\r\n hoverStartEffect() {\r\n var {\r\n activeStateUnit: activeStateUnit,\r\n disabled: disabled,\r\n hoverStateEnabled: hoverStateEnabled,\r\n onHoverStart: onHoverStart\r\n } = this.props;\r\n var selector = activeStateUnit;\r\n if (hoverStateEnabled) {\r\n if (!disabled) {\r\n return subscribeToDxHoverStartEvent(this.widgetElementRef.current, event => {\r\n !this.state.active && this.setState(__state_argument => ({\r\n hovered: true\r\n }));\r\n null === onHoverStart || void 0 === onHoverStart ? void 0 : onHoverStart(event)\r\n }, {\r\n selector: selector\r\n }, \"UIFeedback\")\r\n }\r\n }\r\n return\r\n }\r\n hoverEndEffect() {\r\n var {\r\n activeStateUnit: activeStateUnit,\r\n hoverStateEnabled: hoverStateEnabled,\r\n onHoverEnd: onHoverEnd\r\n } = this.props;\r\n var selector = activeStateUnit;\r\n if (hoverStateEnabled) {\r\n return subscribeToDxHoverEndEvent(this.widgetElementRef.current, event => {\r\n if (this.state.hovered) {\r\n this.setState(__state_argument => ({\r\n hovered: false\r\n }));\r\n null === onHoverEnd || void 0 === onHoverEnd ? void 0 : onHoverEnd(event)\r\n }\r\n }, {\r\n selector: selector\r\n }, \"UIFeedback\")\r\n }\r\n return\r\n }\r\n keyboardEffect() {\r\n var {\r\n focusStateEnabled: focusStateEnabled,\r\n onKeyDown: onKeyDown\r\n } = this.props;\r\n if (focusStateEnabled && onKeyDown) {\r\n var id = keyboard.on(this.widgetElementRef.current, this.widgetElementRef.current, e => onKeyDown(e));\r\n return () => keyboard.off(id)\r\n }\r\n return\r\n }\r\n resizeEffect() {\r\n var namespace = \"\".concat(this.props.name, \"VisibilityChange\");\r\n var {\r\n onDimensionChanged: onDimensionChanged\r\n } = this.props;\r\n if (onDimensionChanged) {\r\n resize.on(this.widgetElementRef.current, onDimensionChanged, {\r\n namespace: namespace\r\n });\r\n return () => resize.off(this.widgetElementRef.current, {\r\n namespace: namespace\r\n })\r\n }\r\n return\r\n }\r\n windowResizeEffect() {\r\n var {\r\n onDimensionChanged: onDimensionChanged\r\n } = this.props;\r\n if (onDimensionChanged) {\r\n resizeCallbacks.add(onDimensionChanged);\r\n return () => {\r\n resizeCallbacks.remove(onDimensionChanged)\r\n }\r\n }\r\n return\r\n }\r\n visibilityEffect() {\r\n var {\r\n name: name,\r\n onVisibilityChange: onVisibilityChange\r\n } = this.props;\r\n var namespace = \"\".concat(name, \"VisibilityChange\");\r\n if (onVisibilityChange) {\r\n visibility.on(this.widgetElementRef.current, () => onVisibilityChange(true), () => onVisibilityChange(false), {\r\n namespace: namespace\r\n });\r\n return () => visibility.off(this.widgetElementRef.current, {\r\n namespace: namespace\r\n })\r\n }\r\n return\r\n }\r\n checkDeprecation() {\r\n var {\r\n height: height,\r\n width: width\r\n } = this.props;\r\n if (isFunction(width)) {\r\n errors.log(\"W0017\", \"width\")\r\n }\r\n if (isFunction(height)) {\r\n errors.log(\"W0017\", \"height\")\r\n }\r\n }\r\n applyCssTextEffect() {\r\n var {\r\n cssText: cssText\r\n } = this.props;\r\n if (\"\" !== cssText) {\r\n this.widgetElementRef.current.style.cssText = cssText\r\n }\r\n }\r\n get shouldRenderConfigProvider() {\r\n var {\r\n rtlEnabled: rtlEnabled\r\n } = this.props;\r\n return resolveRtlEnabledDefinition(rtlEnabled, this.config)\r\n }\r\n get rtlEnabled() {\r\n var {\r\n rtlEnabled: rtlEnabled\r\n } = this.props;\r\n return resolveRtlEnabled(rtlEnabled, this.config)\r\n }\r\n get attributes() {\r\n var {\r\n aria: aria,\r\n disabled: disabled,\r\n focusStateEnabled: focusStateEnabled,\r\n visible: visible\r\n } = this.props;\r\n var accessKey = focusStateEnabled && !disabled && this.props.accessKey;\r\n return _extends({}, extend({}, accessKey && {\r\n accessKey: accessKey\r\n }), getAria(_extends({}, aria, {\r\n disabled: disabled,\r\n hidden: !visible\r\n })), extend({}, this.restAttributes))\r\n }\r\n get styles() {\r\n var {\r\n height: height,\r\n width: width\r\n } = this.props;\r\n var style = this.restAttributes.style || {};\r\n var computedWidth = normalizeStyleProp(\"width\", isFunction(width) ? width() : width);\r\n var computedHeight = normalizeStyleProp(\"height\", isFunction(height) ? height() : height);\r\n return _extends({}, style, {\r\n height: null !== computedHeight && void 0 !== computedHeight ? computedHeight : style.height,\r\n width: null !== computedWidth && void 0 !== computedWidth ? computedWidth : style.width\r\n })\r\n }\r\n get cssClasses() {\r\n var {\r\n activeStateEnabled: activeStateEnabled,\r\n addWidgetClass: addWidgetClass,\r\n className: className,\r\n classes: classes,\r\n disabled: disabled,\r\n focusStateEnabled: focusStateEnabled,\r\n hoverStateEnabled: hoverStateEnabled,\r\n onVisibilityChange: onVisibilityChange,\r\n visible: visible\r\n } = this.props;\r\n var isFocusable = !!focusStateEnabled && !disabled;\r\n var isHoverable = !!hoverStateEnabled && !disabled;\r\n var canBeActive = !!activeStateEnabled && !disabled;\r\n var classesMap = {\r\n \"dx-widget\": !!addWidgetClass,\r\n [String(classes)]: !!classes,\r\n [String(className)]: !!className,\r\n \"dx-state-disabled\": !!disabled,\r\n \"dx-state-invisible\": !visible,\r\n \"dx-state-focused\": !!this.state.focused && isFocusable,\r\n \"dx-state-active\": !!this.state.active && canBeActive,\r\n \"dx-state-hover\": !!this.state.hovered && isHoverable && !this.state.active,\r\n \"dx-rtl\": !!this.rtlEnabled,\r\n \"dx-visibility-change-handler\": !!onVisibilityChange\r\n };\r\n return combineClasses(classesMap)\r\n }\r\n get tabIndex() {\r\n var {\r\n disabled: disabled,\r\n focusStateEnabled: focusStateEnabled,\r\n tabIndex: tabIndex\r\n } = this.props;\r\n var isFocusable = focusStateEnabled && !disabled;\r\n return isFocusable ? tabIndex : void 0\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n focus() {\r\n focus.trigger(this.widgetElementRef.current)\r\n }\r\n blur() {\r\n var activeElement = domAdapter.getActiveElement(this.widgetElementRef.current);\r\n if (this.widgetElementRef.current === activeElement) {\r\n activeElement.blur()\r\n }\r\n }\r\n activate() {\r\n this.setState(__state_argument => ({\r\n active: true\r\n }))\r\n }\r\n deactivate() {\r\n this.setState(__state_argument => ({\r\n active: false\r\n }))\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n active: this.state.active,\r\n focused: this.state.focused,\r\n hovered: this.state.hovered,\r\n widgetElementRef: this.widgetElementRef,\r\n config: this.config,\r\n shouldRenderConfigProvider: this.shouldRenderConfigProvider,\r\n rtlEnabled: this.rtlEnabled,\r\n attributes: this.attributes,\r\n styles: this.styles,\r\n cssClasses: this.cssClasses,\r\n tabIndex: this.tabIndex,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nWidget.defaultProps = WidgetProps;\r\n","/**\r\n * DevExtreme (esm/renovation/utils/resolve_rtl.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport globalConfig from \"../../core/config\";\r\nexport function resolveRtlEnabled(rtlProp, config) {\r\n if (void 0 !== rtlProp) {\r\n return rtlProp\r\n }\r\n if (void 0 !== (null === config || void 0 === config ? void 0 : config.rtlEnabled)) {\r\n return config.rtlEnabled\r\n }\r\n return globalConfig().rtlEnabled\r\n}\r\nexport function resolveRtlEnabledDefinition(rtlProp, config) {\r\n var isPropDefined = isDefined(rtlProp);\r\n var onlyGlobalDefined = isDefined(globalConfig().rtlEnabled) && !isPropDefined && !isDefined(null === config || void 0 === config ? void 0 : config.rtlEnabled);\r\n return isPropDefined && rtlProp !== (null === config || void 0 === config ? void 0 : config.rtlEnabled) || onlyGlobalDefined\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/overlays/validation_message.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"accessKey\", \"activeStateEnabled\", \"boundary\", \"className\", \"contentId\", \"disabled\", \"focusStateEnabled\", \"height\", \"hint\", \"hoverStateEnabled\", \"mode\", \"offset\", \"onClick\", \"onKeyDown\", \"positionSide\", \"rtlEnabled\", \"tabIndex\", \"target\", \"validationErrors\", \"visible\", \"visualContainer\", \"width\"];\r\nimport {\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport LegacyValidationMessage from \"../../../ui/validation_message\";\r\nimport {\r\n DomComponentWrapper\r\n} from \"../common/dom_component_wrapper\";\r\nimport {\r\n BaseWidgetProps\r\n} from \"../common/base_props\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n componentProps: componentProps,\r\n restAttributes: restAttributes\r\n } = _ref;\r\n return normalizeProps(createComponentVNode(2, DomComponentWrapper, _extends({\r\n componentType: LegacyValidationMessage,\r\n componentProps: componentProps,\r\n templateNames: []\r\n }, restAttributes)))\r\n};\r\nexport var ValidationMessageProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(BaseWidgetProps), Object.getOwnPropertyDescriptors({\r\n mode: \"auto\",\r\n positionSide: \"top\",\r\n offset: Object.freeze({\r\n h: 0,\r\n v: 0\r\n }),\r\n isReactComponentWrapper: true\r\n})));\r\nexport class ValidationMessage extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get componentProps() {\r\n return this.props\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n componentProps: this.componentProps,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nValidationMessage.defaultProps = ValidationMessageProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/common/editor.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"accessKey\", \"activeStateEnabled\", \"aria\", \"children\", \"className\", \"classes\", \"defaultValue\", \"disabled\", \"focusStateEnabled\", \"height\", \"hint\", \"hoverStateEnabled\", \"inputAttr\", \"isValid\", \"name\", \"onClick\", \"onFocusIn\", \"onKeyDown\", \"readOnly\", \"rtlEnabled\", \"tabIndex\", \"validationError\", \"validationErrors\", \"validationMessageMode\", \"validationMessagePosition\", \"validationStatus\", \"value\", \"valueChange\", \"visible\", \"width\"];\r\nimport {\r\n createFragment,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n Fragment\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoWrapperComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport Guid from \"../../../../core/guid\";\r\nimport {\r\n Widget,\r\n WidgetProps\r\n} from \"../../common/widget\";\r\nimport {\r\n BaseWidgetProps\r\n} from \"../../common/base_props\";\r\nimport {\r\n combineClasses\r\n} from \"../../../utils/combine_classes\";\r\nimport {\r\n ValidationMessage\r\n} from \"../../overlays/validation_message\";\r\nvar getCssClasses = model => {\r\n var {\r\n classes: classes,\r\n isValid: isValid,\r\n readOnly: readOnly\r\n } = model;\r\n var classesMap = {\r\n \"dx-state-readonly\": !!readOnly,\r\n \"dx-invalid\": !isValid,\r\n [\"\".concat(classes)]: !!classes\r\n };\r\n return combineClasses(classesMap)\r\n};\r\nexport var viewFunction = viewModel => {\r\n var {\r\n aria: aria,\r\n cssClasses: classes,\r\n isValidationMessageVisible: isValidationMessageVisible,\r\n onFocusIn: onFocusIn,\r\n props: {\r\n accessKey: accessKey,\r\n activeStateEnabled: activeStateEnabled,\r\n children: children,\r\n className: className,\r\n disabled: disabled,\r\n focusStateEnabled: focusStateEnabled,\r\n height: height,\r\n hint: hint,\r\n hoverStateEnabled: hoverStateEnabled,\r\n onClick: onClick,\r\n onKeyDown: onKeyDown,\r\n rtlEnabled: rtlEnabled,\r\n tabIndex: tabIndex,\r\n validationMessageMode: validationMessageMode,\r\n validationMessagePosition: validationMessagePosition,\r\n visible: visible,\r\n width: width\r\n },\r\n restAttributes: restAttributes,\r\n rootElementRef: rootElementRef,\r\n validationErrors: validationErrors,\r\n validationMessageGuid: validationMessageGuid,\r\n validationMessageTarget: validationMessageTarget,\r\n widgetRef: widgetRef\r\n } = viewModel;\r\n return normalizeProps(createComponentVNode(2, Widget, _extends({\r\n rootElementRef: rootElementRef,\r\n aria: aria,\r\n classes: classes,\r\n activeStateEnabled: activeStateEnabled,\r\n focusStateEnabled: focusStateEnabled,\r\n hoverStateEnabled: hoverStateEnabled,\r\n accessKey: accessKey,\r\n className: className,\r\n rtlEnabled: rtlEnabled,\r\n hint: hint,\r\n disabled: disabled,\r\n height: height,\r\n width: width,\r\n onFocusIn: onFocusIn,\r\n onClick: onClick,\r\n onKeyDown: onKeyDown,\r\n tabIndex: tabIndex,\r\n visible: visible\r\n }, restAttributes, {\r\n children: createFragment([children, isValidationMessageVisible && createComponentVNode(2, ValidationMessage, {\r\n validationErrors: validationErrors,\r\n mode: validationMessageMode,\r\n positionSide: validationMessagePosition,\r\n rtlEnabled: rtlEnabled,\r\n target: validationMessageTarget,\r\n boundary: validationMessageTarget,\r\n visualContainer: validationMessageTarget,\r\n contentId: validationMessageGuid\r\n })], 0)\r\n }), null, widgetRef))\r\n};\r\nexport var EditorProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(BaseWidgetProps), Object.getOwnPropertyDescriptors({\r\n readOnly: false,\r\n name: \"\",\r\n validationError: null,\r\n validationErrors: null,\r\n validationMessageMode: \"auto\",\r\n validationMessagePosition: \"bottom\",\r\n validationStatus: \"valid\",\r\n isValid: true,\r\n inputAttr: Object.freeze({}),\r\n defaultValue: null,\r\n valueChange: () => {}\r\n})));\r\nexport var EditorPropsType = {\r\n get readOnly() {\r\n return EditorProps.readOnly\r\n },\r\n get name() {\r\n return EditorProps.name\r\n },\r\n get validationError() {\r\n return EditorProps.validationError\r\n },\r\n get validationErrors() {\r\n return EditorProps.validationErrors\r\n },\r\n get validationMessageMode() {\r\n return EditorProps.validationMessageMode\r\n },\r\n get validationMessagePosition() {\r\n return EditorProps.validationMessagePosition\r\n },\r\n get validationStatus() {\r\n return EditorProps.validationStatus\r\n },\r\n get isValid() {\r\n return EditorProps.isValid\r\n },\r\n get inputAttr() {\r\n return EditorProps.inputAttr\r\n },\r\n get defaultValue() {\r\n return EditorProps.defaultValue\r\n },\r\n get valueChange() {\r\n return EditorProps.valueChange\r\n },\r\n get className() {\r\n return EditorProps.className\r\n },\r\n get activeStateEnabled() {\r\n return EditorProps.activeStateEnabled\r\n },\r\n get disabled() {\r\n return EditorProps.disabled\r\n },\r\n get focusStateEnabled() {\r\n return EditorProps.focusStateEnabled\r\n },\r\n get hoverStateEnabled() {\r\n return EditorProps.hoverStateEnabled\r\n },\r\n get tabIndex() {\r\n return EditorProps.tabIndex\r\n },\r\n get visible() {\r\n return EditorProps.visible\r\n },\r\n get aria() {\r\n return WidgetProps.aria\r\n },\r\n get classes() {\r\n return WidgetProps.classes\r\n }\r\n};\r\nimport {\r\n convertRulesToOptions\r\n} from \"../../../../core/options/utils\";\r\nimport {\r\n createReRenderEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class Editor extends InfernoWrapperComponent {\r\n constructor(props) {\r\n super(props);\r\n this.widgetRef = infernoCreateRef();\r\n this.rootElementRef = infernoCreateRef();\r\n this.__getterCache = {};\r\n this.state = {\r\n validationMessageGuid: \"dx-\".concat(new Guid),\r\n isValidationMessageVisible: false,\r\n value: void 0 !== this.props.value ? this.props.value : this.props.defaultValue\r\n };\r\n this.updateValidationMessageVisibility = this.updateValidationMessageVisibility.bind(this);\r\n this.focus = this.focus.bind(this);\r\n this.blur = this.blur.bind(this);\r\n this.onFocusIn = this.onFocusIn.bind(this)\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.updateValidationMessageVisibility, [this.props.isValid, this.props.validationStatus, this.props.validationError, this.props.validationErrors]), createReRenderEffect()]\r\n }\r\n updateEffects() {\r\n var _this$_effects$;\r\n null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props.isValid, this.props.validationStatus, this.props.validationError, this.props.validationErrors])\r\n }\r\n updateValidationMessageVisibility() {\r\n this.setState(__state_argument => ({\r\n isValidationMessageVisible: this.shouldShowValidationMessage\r\n }))\r\n }\r\n onFocusIn(event) {\r\n var {\r\n onFocusIn: onFocusIn\r\n } = this.props;\r\n null === onFocusIn || void 0 === onFocusIn ? void 0 : onFocusIn(event)\r\n }\r\n get cssClasses() {\r\n return \"\".concat(getCssClasses(_extends({}, this.props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n })))\r\n }\r\n get shouldShowValidationMessage() {\r\n var _this$validationError;\r\n var {\r\n isValid: isValid,\r\n validationStatus: validationStatus\r\n } = this.props;\r\n var validationErrors = null !== (_this$validationError = this.validationErrors) && void 0 !== _this$validationError ? _this$validationError : [];\r\n var isEditorValid = isValid && \"invalid\" !== validationStatus;\r\n return !isEditorValid && validationErrors.length > 0\r\n }\r\n get aria() {\r\n var {\r\n isValid: isValid,\r\n readOnly: readOnly\r\n } = this.props;\r\n var result = {\r\n readonly: readOnly ? \"true\" : \"false\",\r\n invalid: !isValid ? \"true\" : \"false\"\r\n };\r\n if (this.shouldShowValidationMessage) {\r\n result.describedBy = this.state.validationMessageGuid\r\n }\r\n return _extends({}, result, this.props.aria)\r\n }\r\n get validationErrors() {\r\n if (void 0 !== this.__getterCache.validationErrors) {\r\n return this.__getterCache.validationErrors\r\n }\r\n return this.__getterCache.validationErrors = (() => {\r\n var {\r\n validationError: validationError,\r\n validationErrors: validationErrors\r\n } = this.props;\r\n var allValidationErrors = validationErrors && [...validationErrors];\r\n if (!allValidationErrors && validationError) {\r\n allValidationErrors = [_extends({}, validationError)]\r\n }\r\n return allValidationErrors\r\n })()\r\n }\r\n get validationMessageTarget() {\r\n var _this$rootElementRef;\r\n return null === (_this$rootElementRef = this.rootElementRef) || void 0 === _this$rootElementRef ? void 0 : _this$rootElementRef.current\r\n }\r\n get restAttributes() {\r\n var _this$props$value = _extends({}, this.props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }),\r\n restProps = _objectWithoutPropertiesLoose(_this$props$value, _excluded);\r\n return restProps\r\n }\r\n focus() {\r\n this.widgetRef.current.focus()\r\n }\r\n blur() {\r\n this.widgetRef.current.blur()\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n super.componentWillUpdate();\r\n if (this.props.validationError !== nextProps.validationError || this.props.validationErrors !== nextProps.validationErrors) {\r\n this.__getterCache.validationErrors = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }),\r\n validationMessageGuid: this.state.validationMessageGuid,\r\n isValidationMessageVisible: this.state.isValidationMessageVisible,\r\n rootElementRef: this.rootElementRef,\r\n widgetRef: this.widgetRef,\r\n onFocusIn: this.onFocusIn,\r\n cssClasses: this.cssClasses,\r\n shouldShowValidationMessage: this.shouldShowValidationMessage,\r\n aria: this.aria,\r\n validationErrors: this.validationErrors,\r\n validationMessageTarget: this.validationMessageTarget,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\n\r\nfunction __processTwoWayProps(defaultProps) {\r\n var twoWayProps = [\"value\"];\r\n return Object.keys(defaultProps).reduce((props, propName) => {\r\n var propValue = defaultProps[propName];\r\n var defaultPropName = twoWayProps.some(p => p === propName) ? \"default\" + propName.charAt(0).toUpperCase() + propName.slice(1) : propName;\r\n props[defaultPropName] = propValue;\r\n return props\r\n }, {})\r\n}\r\nEditor.defaultProps = EditorPropsType;\r\nvar __defaultOptionRules = [];\r\nexport function defaultOptions(rule) {\r\n __defaultOptionRules.push(rule);\r\n Editor.defaultProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(Editor.defaultProps), Object.getOwnPropertyDescriptors(__processTwoWayProps(convertRulesToOptions(__defaultOptionRules)))))\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/timeZoneCalculator/types.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var PathTimeZoneConversion;\r\n! function(PathTimeZoneConversion) {\r\n PathTimeZoneConversion.fromSourceToAppointment = \"toAppointment\";\r\n PathTimeZoneConversion.fromAppointmentToSource = \"fromAppointment\";\r\n PathTimeZoneConversion.fromSourceToGrid = \"toGrid\";\r\n PathTimeZoneConversion.fromGridToSource = \"fromGrid\"\r\n}(PathTimeZoneConversion || (PathTimeZoneConversion = {}));\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scroll_view/common/consts.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var SCROLL_LINE_HEIGHT = 40;\r\nexport var DIRECTION_VERTICAL = \"vertical\";\r\nexport var DIRECTION_HORIZONTAL = \"horizontal\";\r\nexport var DIRECTION_BOTH = \"both\";\r\nexport var SCROLLABLE_SIMULATED_CLASS = \"dx-scrollable-simulated\";\r\nexport var SCROLLABLE_CONTENT_CLASS = \"dx-scrollable-content\";\r\nexport var SCROLLABLE_WRAPPER_CLASS = \"dx-scrollable-wrapper\";\r\nexport var SCROLLABLE_CONTAINER_CLASS = \"dx-scrollable-container\";\r\nexport var SCROLLABLE_DISABLED_CLASS = \"dx-scrollable-disabled\";\r\nexport var SCROLLABLE_SCROLLBAR_SIMULATED = \"dx-scrollable-scrollbar-simulated\";\r\nexport var SCROLLABLE_SCROLLBARS_HIDDEN = \"dx-scrollable-scrollbars-hidden\";\r\nexport var SCROLLABLE_SCROLLBARS_ALWAYSVISIBLE = \"dx-scrollable-scrollbars-alwaysvisible\";\r\nexport var SCROLLABLE_SCROLLBAR_CLASS = \"dx-scrollable-scrollbar\";\r\nexport var SCROLLABLE_SCROLLBAR_ACTIVE_CLASS = \"dx-scrollable-scrollbar-active\";\r\nexport var SCROLLABLE_SCROLL_CLASS = \"dx-scrollable-scroll\";\r\nexport var SCROLLABLE_SCROLL_CONTENT_CLASS = \"dx-scrollable-scroll-content\";\r\nexport var HOVER_ENABLED_STATE = \"dx-scrollbar-hoverable\";\r\nexport var SCROLLVIEW_CONTENT_CLASS = \"dx-scrollview-content\";\r\nexport var SCROLLVIEW_TOP_POCKET_CLASS = \"dx-scrollview-top-pocket\";\r\nexport var SCROLLVIEW_PULLDOWN = \"dx-scrollview-pull-down\";\r\nexport var SCROLLVIEW_PULLDOWN_LOADING_CLASS = \"dx-scrollview-pull-down-loading\";\r\nexport var SCROLLVIEW_PULLDOWN_READY_CLASS = \"dx-scrollview-pull-down-ready\";\r\nexport var SCROLLVIEW_PULLDOWN_IMAGE_CLASS = \"dx-scrollview-pull-down-image\";\r\nexport var SCROLLVIEW_PULLDOWN_INDICATOR_CLASS = \"dx-scrollview-pull-down-indicator\";\r\nexport var SCROLLVIEW_PULLDOWN_TEXT_CLASS = \"dx-scrollview-pull-down-text\";\r\nexport var SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS = \"dx-scrollview-pull-down-text-visible\";\r\nexport var PULLDOWN_ICON_CLASS = \"dx-icon-pulldown\";\r\nexport var SCROLLVIEW_BOTTOM_POCKET_CLASS = \"dx-scrollview-bottom-pocket\";\r\nexport var SCROLLVIEW_REACHBOTTOM_CLASS = \"dx-scrollview-scrollbottom\";\r\nexport var SCROLLVIEW_REACHBOTTOM_INDICATOR_CLASS = \"dx-scrollview-scrollbottom-indicator\";\r\nexport var SCROLLVIEW_REACHBOTTOM_TEXT_CLASS = \"dx-scrollview-scrollbottom-text\";\r\nexport var TopPocketState = {\r\n STATE_RELEASED: 0,\r\n STATE_READY: 1,\r\n STATE_REFRESHING: 2,\r\n STATE_LOADING: 3,\r\n STATE_TOUCHED: 4,\r\n STATE_PULLED: 5\r\n};\r\nexport var ShowScrollbarMode = {\r\n HOVER: \"onHover\",\r\n ALWAYS: \"always\",\r\n NEVER: \"never\",\r\n SCROLL: \"onScroll\"\r\n};\r\nexport var KEY_CODES = {\r\n PAGE_UP: \"pageUp\",\r\n PAGE_DOWN: \"pageDown\",\r\n END: \"end\",\r\n HOME: \"home\",\r\n LEFT: \"leftArrow\",\r\n UP: \"upArrow\",\r\n RIGHT: \"rightArrow\",\r\n DOWN: \"downArrow\"\r\n};\r\nexport var VALIDATE_WHEEL_TIMEOUT = 500;\r\nexport var HIDE_SCROLLBAR_TIMEOUT = 500;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scroll_view/utils/get_relative_offset.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function getRelativeOffset(targetElementClass, sourceElement) {\r\n var offset = {\r\n left: 0,\r\n top: 0\r\n };\r\n var element = sourceElement;\r\n while (null !== (_element = element) && void 0 !== _element && _element.offsetParent && !element.classList.contains(targetElementClass)) {\r\n var _element;\r\n var parentElement = element.offsetParent;\r\n var elementRect = element.getBoundingClientRect();\r\n var parentElementRect = parentElement.getBoundingClientRect();\r\n offset.left += elementRect.left - parentElementRect.left;\r\n offset.top += elementRect.top - parentElementRect.top;\r\n element = element.offsetParent\r\n }\r\n return offset\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scroll_view/utils/scroll_direction.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n DIRECTION_VERTICAL,\r\n DIRECTION_HORIZONTAL,\r\n DIRECTION_BOTH\r\n} from \"../common/consts\";\r\nexport class ScrollDirection {\r\n constructor(direction) {\r\n this.DIRECTION_HORIZONTAL = \"horizontal\";\r\n this.DIRECTION_VERTICAL = \"vertical\";\r\n this.DIRECTION_BOTH = \"both\";\r\n this.direction = null !== direction && void 0 !== direction ? direction : DIRECTION_VERTICAL\r\n }\r\n get isHorizontal() {\r\n return this.direction === DIRECTION_HORIZONTAL || this.direction === DIRECTION_BOTH\r\n }\r\n get isVertical() {\r\n return this.direction === DIRECTION_VERTICAL || this.direction === DIRECTION_BOTH\r\n }\r\n get isBoth() {\r\n return this.direction === DIRECTION_BOTH\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/utils/combine_classes.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function combineClasses(classesMap) {\r\n return Object.keys(classesMap).filter(p => classesMap[p]).join(\" \")\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/utils/get_computed_style.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nexport default function getElementComputedStyle(el) {\r\n var _window$getComputedSt;\r\n var window = getWindow();\r\n return el ? null === (_window$getComputedSt = window.getComputedStyle) || void 0 === _window$getComputedSt ? void 0 : _window$getComputedSt.call(window, el) : null\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/utils/subscribe_to_event.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport * as clickEvent from \"../../events/click\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport scrollEvents from \"../../events/gesture/emitter.gesture.scroll\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nexport function subscribeToEvent(eventName) {\r\n return (element, handler, eventData, namespace) => {\r\n var event = namespace ? addNamespace(eventName, namespace) : eventName;\r\n if (handler) {\r\n eventsEngine.on(element, event, eventData, handler);\r\n return () => {\r\n eventsEngine.off(element, event, handler)\r\n }\r\n }\r\n return\r\n }\r\n}\r\nexport var subscribeToClickEvent = subscribeToEvent(clickEvent.name);\r\nexport var subscribeToScrollEvent = subscribeToEvent(scrollEvents.scroll);\r\nexport var subscribeToScrollInitEvent = subscribeToEvent(scrollEvents.init);\r\nexport var subscribeToDXScrollStartEvent = subscribeToEvent(scrollEvents.start);\r\nexport var subscribeToDXScrollMoveEvent = subscribeToEvent(scrollEvents.move);\r\nexport var subscribeToDXScrollEndEvent = subscribeToEvent(scrollEvents.end);\r\nexport var subscribeToDXScrollStopEvent = subscribeToEvent(scrollEvents.stop);\r\nexport var subscribeToDXScrollCancelEvent = subscribeToEvent(scrollEvents.cancel);\r\nexport var subscribeToDXPointerDownEvent = subscribeToEvent(pointerEvents.down);\r\nexport var subscribeToDXPointerUpEvent = subscribeToEvent(pointerEvents.up);\r\nexport var subscribeToDXPointerMoveEvent = subscribeToEvent(pointerEvents.move);\r\nexport var subscribeToMouseEnterEvent = subscribeToEvent(\"mouseenter\");\r\nexport var subscribeToMouseLeaveEvent = subscribeToEvent(\"mouseleave\");\r\nexport var subscribeToKeyDownEvent = subscribeToEvent(\"keydown\");\r\nexport var subscribeToDxActiveEvent = subscribeToEvent(\"dxactive\");\r\nexport var subscribeToDxInactiveEvent = subscribeToEvent(\"dxinactive\");\r\nexport var subscribeToDxHoverStartEvent = subscribeToEvent(\"dxhoverstart\");\r\nexport var subscribeToDxHoverEndEvent = subscribeToEvent(\"dxhoverend\");\r\nexport var subscribeToDxFocusInEvent = subscribeToEvent(\"focusin\");\r\nexport var subscribeToDxFocusOutEvent = subscribeToEvent(\"focusout\");\r\n","/**\r\n * DevExtreme (esm/renovation/utils/type_conversion.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function toNumber(attribute) {\r\n return attribute ? Number(attribute.replace(\"px\", \"\")) : 0\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/accordion.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterHeight,\r\n setHeight,\r\n getHeight\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport fx from \"../animation/fx\";\r\nimport {\r\n name as clickEventName\r\n} from \"../events/click\";\r\nimport devices from \"../core/devices\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n deferRender\r\n} from \"../core/utils/common\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport * as iteratorUtils from \"../core/utils/iterator\";\r\nimport {\r\n isPlainObject,\r\n isDefined\r\n} from \"../core/utils/type\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n addNamespace\r\n} from \"../events/utils/index\";\r\nimport CollectionWidget from \"./collection/ui.collection_widget.live_update\";\r\nimport {\r\n when,\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n BindableTemplate\r\n} from \"../core/templates/bindable_template\";\r\nimport {\r\n getImageContainer\r\n} from \"../core/utils/icon\";\r\nimport {\r\n isMaterial\r\n} from \"./themes\";\r\nvar ACCORDION_CLASS = \"dx-accordion\";\r\nvar ACCORDION_WRAPPER_CLASS = \"dx-accordion-wrapper\";\r\nvar ACCORDION_ITEM_CLASS = \"dx-accordion-item\";\r\nvar ACCORDION_ITEM_OPENED_CLASS = \"dx-accordion-item-opened\";\r\nvar ACCORDION_ITEM_CLOSED_CLASS = \"dx-accordion-item-closed\";\r\nvar ACCORDION_ITEM_TITLE_CLASS = \"dx-accordion-item-title\";\r\nvar ACCORDION_ITEM_BODY_CLASS = \"dx-accordion-item-body\";\r\nvar ACCORDION_ITEM_TITLE_CAPTION_CLASS = \"dx-accordion-item-title-caption\";\r\nvar ACCORDION_ITEM_DATA_KEY = \"dxAccordionItemData\";\r\nvar Accordion = CollectionWidget.inherit({\r\n _activeStateUnit: \".\" + ACCORDION_ITEM_CLASS,\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n hoverStateEnabled: true,\r\n height: void 0,\r\n itemTitleTemplate: \"title\",\r\n onItemTitleClick: null,\r\n selectedIndex: 0,\r\n collapsible: false,\r\n multiple: false,\r\n animationDuration: 300,\r\n deferRendering: true,\r\n selectionByClick: true,\r\n activeStateEnabled: true,\r\n _itemAttributes: {\r\n role: \"tab\"\r\n },\r\n _animationEasing: \"ease\"\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial()\r\n },\r\n options: {\r\n animationDuration: 200,\r\n _animationEasing: \"cubic-bezier(0.4, 0, 0.2, 1)\"\r\n }\r\n }])\r\n },\r\n _itemElements: function() {\r\n return this._itemContainer().children(this._itemSelector())\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.option(\"selectionRequired\", !this.option(\"collapsible\"));\r\n this.option(\"selectionMode\", this.option(\"multiple\") ? \"multiple\" : \"single\");\r\n var $element = this.$element();\r\n $element.addClass(ACCORDION_CLASS);\r\n this._$container = $(\"<div>\").addClass(ACCORDION_WRAPPER_CLASS);\r\n $element.append(this._$container)\r\n },\r\n _initTemplates: function() {\r\n this.callBase();\r\n this._templateManager.addDefaultTemplates({\r\n title: new BindableTemplate((function($container, data) {\r\n if (isPlainObject(data)) {\r\n var $iconElement = getImageContainer(data.icon);\r\n if ($iconElement) {\r\n $container.append($iconElement)\r\n }\r\n if (isDefined(data.title) && !isPlainObject(data.title)) {\r\n $container.append(domAdapter.createTextNode(data.title))\r\n }\r\n } else if (isDefined(data)) {\r\n $container.text(String(data))\r\n }\r\n $container.wrapInner($(\"<div>\").addClass(ACCORDION_ITEM_TITLE_CAPTION_CLASS))\r\n }), [\"title\", \"icon\"], this.option(\"integrationOptions.watchMethod\"))\r\n })\r\n },\r\n _initMarkup: function() {\r\n this._deferredItems = [];\r\n this._deferredTemplateItems = [];\r\n this.callBase();\r\n this.setAria({\r\n role: \"tablist\",\r\n multiselectable: this.option(\"multiple\")\r\n });\r\n deferRender(() => {\r\n var selectedItemIndices = this._getSelectedItemIndices();\r\n this._renderSelection(selectedItemIndices, [])\r\n })\r\n },\r\n _render: function() {\r\n this.callBase();\r\n when.apply(this, this._deferredTemplateItems).done(() => {\r\n this._updateItemHeights(true)\r\n })\r\n },\r\n _itemDataKey: function() {\r\n return ACCORDION_ITEM_DATA_KEY\r\n },\r\n _itemClass: function() {\r\n return ACCORDION_ITEM_CLASS\r\n },\r\n _itemContainer: function() {\r\n return this._$container\r\n },\r\n _itemTitles: function() {\r\n return this._itemElements().find(\".\" + ACCORDION_ITEM_TITLE_CLASS)\r\n },\r\n _itemContents: function() {\r\n return this._itemElements().find(\".\" + ACCORDION_ITEM_BODY_CLASS)\r\n },\r\n _getItemData: function(target) {\r\n return $(target).parent().data(this._itemDataKey()) || this.callBase.apply(this, arguments)\r\n },\r\n _executeItemRenderAction: function(itemData) {\r\n if (itemData.type) {\r\n return\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _itemSelectHandler: function(e) {\r\n if ($(e.target).closest(this._itemContents()).length) {\r\n return\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _afterItemElementDeleted: function($item, deletedActionArgs) {\r\n this._deferredItems.splice(deletedActionArgs.itemIndex, 1);\r\n this.callBase.apply(this, arguments)\r\n },\r\n _renderItemContent: function(args) {\r\n this._deferredTemplateItems[args.index] = new Deferred;\r\n var itemTitle = this.callBase(extend({}, args, {\r\n contentClass: ACCORDION_ITEM_TITLE_CLASS,\r\n templateProperty: \"titleTemplate\",\r\n defaultTemplateName: this.option(\"itemTitleTemplate\")\r\n }));\r\n this._attachItemTitleClickAction(itemTitle);\r\n var deferred = new Deferred;\r\n if (isDefined(this._deferredItems[args.index])) {\r\n this._deferredItems[args.index] = deferred\r\n } else {\r\n this._deferredItems.push(deferred)\r\n }\r\n if (!this.option(\"deferRendering\") || this._getSelectedItemIndices().indexOf(args.index) >= 0) {\r\n deferred.resolve()\r\n }\r\n deferred.done(this.callBase.bind(this, extend({}, args, {\r\n contentClass: ACCORDION_ITEM_BODY_CLASS,\r\n container: getPublicElement($(\"<div>\").appendTo($(itemTitle).parent()))\r\n })))\r\n },\r\n _onItemTemplateRendered: function(_, renderArgs) {\r\n return () => {\r\n var item = this._deferredTemplateItems[renderArgs.index];\r\n item && item.resolve()\r\n }\r\n },\r\n _attachItemTitleClickAction: function(itemTitle) {\r\n var eventName = addNamespace(clickEventName, this.NAME);\r\n eventsEngine.off(itemTitle, eventName);\r\n eventsEngine.on(itemTitle, eventName, this._itemTitleClickHandler.bind(this))\r\n },\r\n _itemTitleClickHandler: function(e) {\r\n this._itemDXEventHandler(e, \"onItemTitleClick\")\r\n },\r\n _renderSelection: function(addedSelection, removedSelection) {\r\n this._itemElements().addClass(ACCORDION_ITEM_CLOSED_CLASS);\r\n this.setAria(\"hidden\", true, this._itemContents());\r\n this._updateItems(addedSelection, removedSelection)\r\n },\r\n _updateSelection: function(addedSelection, removedSelection) {\r\n this._updateItems(addedSelection, removedSelection);\r\n this._updateItemHeightsWrapper(false)\r\n },\r\n _updateItems: function(addedSelection, removedSelection) {\r\n var $items = this._itemElements();\r\n iteratorUtils.each(addedSelection, (_, index) => {\r\n this._deferredItems[index].resolve();\r\n var $item = $items.eq(index).addClass(ACCORDION_ITEM_OPENED_CLASS).removeClass(ACCORDION_ITEM_CLOSED_CLASS);\r\n this.setAria(\"hidden\", false, $item.find(\".\" + ACCORDION_ITEM_BODY_CLASS))\r\n });\r\n iteratorUtils.each(removedSelection, (_, index) => {\r\n var $item = $items.eq(index).removeClass(ACCORDION_ITEM_OPENED_CLASS);\r\n this.setAria(\"hidden\", true, $item.find(\".\" + ACCORDION_ITEM_BODY_CLASS))\r\n })\r\n },\r\n _updateItemHeightsWrapper: function(skipAnimation) {\r\n if (this.option(\"templatesRenderAsynchronously\")) {\r\n this._animationTimer = setTimeout(function() {\r\n this._updateItemHeights(skipAnimation)\r\n }.bind(this))\r\n } else {\r\n this._updateItemHeights(skipAnimation)\r\n }\r\n },\r\n _updateItemHeights: function(skipAnimation) {\r\n var that = this;\r\n var deferredAnimate = that._deferredAnimate;\r\n var itemHeight = this._splitFreeSpace(this._calculateFreeSpace());\r\n clearTimeout(this._animationTimer);\r\n return when.apply($, [].slice.call(this._itemElements()).map((function(item) {\r\n return that._updateItemHeight($(item), itemHeight, skipAnimation)\r\n }))).done((function() {\r\n if (deferredAnimate) {\r\n deferredAnimate.resolveWith(that)\r\n }\r\n }))\r\n },\r\n _updateItemHeight: function($item, itemHeight, skipAnimation) {\r\n var $title = $item.children(\".\" + ACCORDION_ITEM_TITLE_CLASS);\r\n if (fx.isAnimating($item)) {\r\n fx.stop($item)\r\n }\r\n var startItemHeight = getOuterHeight($item);\r\n var finalItemHeight;\r\n if ($item.hasClass(ACCORDION_ITEM_OPENED_CLASS)) {\r\n finalItemHeight = itemHeight + getOuterHeight($title);\r\n if (!finalItemHeight) {\r\n setHeight($item, \"auto\");\r\n finalItemHeight = getOuterHeight($item)\r\n }\r\n } else {\r\n finalItemHeight = getOuterHeight($title)\r\n }\r\n return this._animateItem($item, startItemHeight, finalItemHeight, skipAnimation, !!itemHeight)\r\n },\r\n _animateItem: function($element, startHeight, endHeight, skipAnimation, fixedHeight) {\r\n var d;\r\n if (skipAnimation || startHeight === endHeight) {\r\n $element.css(\"height\", endHeight);\r\n d = (new Deferred).resolve()\r\n } else {\r\n d = fx.animate($element, {\r\n type: \"custom\",\r\n from: {\r\n height: startHeight\r\n },\r\n to: {\r\n height: endHeight\r\n },\r\n duration: this.option(\"animationDuration\"),\r\n easing: this.option(\"_animationEasing\")\r\n })\r\n }\r\n return d.done((function() {\r\n if ($element.hasClass(ACCORDION_ITEM_OPENED_CLASS) && !fixedHeight) {\r\n $element.css(\"height\", \"\")\r\n }\r\n $element.not(\".\" + ACCORDION_ITEM_OPENED_CLASS).addClass(ACCORDION_ITEM_CLOSED_CLASS)\r\n }))\r\n },\r\n _splitFreeSpace: function(freeSpace) {\r\n if (!freeSpace) {\r\n return freeSpace\r\n }\r\n return freeSpace / this.option(\"selectedItems\").length\r\n },\r\n _calculateFreeSpace: function() {\r\n var height = this.option(\"height\");\r\n if (void 0 === height || \"auto\" === height) {\r\n return\r\n }\r\n var $titles = this._itemTitles();\r\n var itemsHeight = 0;\r\n iteratorUtils.each($titles, (function(_, title) {\r\n itemsHeight += getOuterHeight(title)\r\n }));\r\n return getHeight(this.$element()) - itemsHeight\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this._dimensionChanged()\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n this._updateItemHeights(true)\r\n },\r\n _clean: function() {\r\n this._deferredTemplateItems.forEach(item => {\r\n item.reject()\r\n });\r\n this._deferredTemplateItems = [];\r\n clearTimeout(this._animationTimer);\r\n this.callBase()\r\n },\r\n _tryParseItemPropertyName: function(fullName) {\r\n var matches = fullName.match(/.*\\.(.*)/);\r\n if (isDefined(matches) && matches.length >= 1) {\r\n return matches[1]\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"items\":\r\n this.callBase(args);\r\n if (\"title\" === this._tryParseItemPropertyName(args.fullName)) {\r\n this._renderSelection(this._getSelectedItemIndices(), [])\r\n }\r\n if (\"visible\" === this._tryParseItemPropertyName(args.fullName)) {\r\n this._updateItemHeightsWrapper(true)\r\n }\r\n if (true === this.option(\"repaintChangesOnly\") && \"items\" === args.fullName) {\r\n this._updateItemHeightsWrapper(true);\r\n this._renderSelection(this._getSelectedItemIndices(), [])\r\n }\r\n break;\r\n case \"animationDuration\":\r\n case \"onItemTitleClick\":\r\n case \"_animationEasing\":\r\n break;\r\n case \"collapsible\":\r\n this.option(\"selectionRequired\", !this.option(\"collapsible\"));\r\n break;\r\n case \"itemTitleTemplate\":\r\n case \"height\":\r\n case \"deferRendering\":\r\n this._invalidate();\r\n break;\r\n case \"multiple\":\r\n this.option(\"selectionMode\", args.value ? \"multiple\" : \"single\");\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n expandItem: function(index) {\r\n this._deferredAnimate = new Deferred;\r\n this.selectItem(index);\r\n return this._deferredAnimate.promise()\r\n },\r\n collapseItem: function(index) {\r\n this._deferredAnimate = new Deferred;\r\n this.unselectItem(index);\r\n return this._deferredAnimate.promise()\r\n },\r\n updateDimensions: function() {\r\n return this._updateItemHeights(false)\r\n }\r\n});\r\nregisterComponent(\"dxAccordion\", Accordion);\r\nexport default Accordion;\r\n","/**\r\n * DevExtreme (esm/ui/action_sheet.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n noop\r\n} from \"../core/utils/common\";\r\nimport messageLocalization from \"../localization/message\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport Button from \"./button\";\r\nimport CollectionWidget from \"./collection/ui.collection_widget.edit\";\r\nimport Popup from \"./popup/ui.popup\";\r\nimport Popover from \"./popover/ui.popover\";\r\nimport {\r\n BindableTemplate\r\n} from \"../core/templates/bindable_template\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nvar ACTION_SHEET_CLASS = \"dx-actionsheet\";\r\nvar ACTION_SHEET_CONTAINER_CLASS = \"dx-actionsheet-container\";\r\nvar ACTION_SHEET_POPUP_WRAPPER_CLASS = \"dx-actionsheet-popup-wrapper\";\r\nvar ACTION_SHEET_POPOVER_WRAPPER_CLASS = \"dx-actionsheet-popover-wrapper\";\r\nvar ACTION_SHEET_CANCEL_BUTTON_CLASS = \"dx-actionsheet-cancel\";\r\nvar ACTION_SHEET_ITEM_CLASS = \"dx-actionsheet-item\";\r\nvar ACTION_SHEET_ITEM_DATA_KEY = \"dxActionSheetItemData\";\r\nvar ACTION_SHEET_WITHOUT_TITLE_CLASS = \"dx-actionsheet-without-title\";\r\nvar ACTION_SHEET_BUTTON_DEFAULT_STYLING_MODE = \"outlined\";\r\nvar ActionSheet = CollectionWidget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n usePopover: false,\r\n target: null,\r\n title: \"\",\r\n showTitle: true,\r\n showCancelButton: true,\r\n cancelText: messageLocalization.format(\"Cancel\"),\r\n onCancelClick: null,\r\n visible: false,\r\n noDataText: \"\",\r\n focusStateEnabled: false,\r\n selectionByClick: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"ios\",\r\n tablet: true\r\n },\r\n options: {\r\n usePopover: true\r\n }\r\n }])\r\n },\r\n _initTemplates: function() {\r\n this.callBase();\r\n this._templateManager.addDefaultTemplates({\r\n item: new BindableTemplate((function($container, data) {\r\n var button = new Button($(\"<div>\"), extend({\r\n onClick: data && data.click,\r\n stylingMode: data && data.stylingMode || ACTION_SHEET_BUTTON_DEFAULT_STYLING_MODE\r\n }, data));\r\n $container.append(button.$element())\r\n }), [\"disabled\", \"icon\", \"text\", \"type\", \"onClick\", \"click\", \"stylingMode\"], this.option(\"integrationOptions.watchMethod\"))\r\n })\r\n },\r\n _itemContainer: function() {\r\n return this._$itemContainer\r\n },\r\n _itemClass: function() {\r\n return ACTION_SHEET_ITEM_CLASS\r\n },\r\n _itemDataKey: function() {\r\n return ACTION_SHEET_ITEM_DATA_KEY\r\n },\r\n _toggleVisibility: noop,\r\n _renderDimensions: noop,\r\n _initMarkup: function() {\r\n this.callBase();\r\n this.$element().addClass(ACTION_SHEET_CLASS);\r\n this._createItemContainer()\r\n },\r\n _render: function() {\r\n this._renderPopup()\r\n },\r\n _createItemContainer: function() {\r\n this._$itemContainer = $(\"<div>\").addClass(ACTION_SHEET_CONTAINER_CLASS);\r\n this._renderDisabled()\r\n },\r\n _renderDisabled: function() {\r\n this._$itemContainer.toggleClass(\"dx-state-disabled\", this.option(\"disabled\"))\r\n },\r\n _renderPopup: function() {\r\n this._$popup = $(\"<div>\").appendTo(this.$element());\r\n this._isPopoverMode() ? this._createPopover() : this._createPopup();\r\n this._renderPopupTitle();\r\n this._mapPopupOption(\"visible\")\r\n },\r\n _mapPopupOption: function(optionName) {\r\n this._popup && this._popup.option(optionName, this.option(optionName))\r\n },\r\n _isPopoverMode: function() {\r\n return this.option(\"usePopover\") && this.option(\"target\")\r\n },\r\n _renderPopupTitle: function() {\r\n this._mapPopupOption(\"showTitle\");\r\n this._popup && this._popup.$wrapper().toggleClass(ACTION_SHEET_WITHOUT_TITLE_CLASS, !this.option(\"showTitle\"))\r\n },\r\n _clean: function() {\r\n if (this._$popup) {\r\n this._$popup.remove()\r\n }\r\n this.callBase()\r\n },\r\n _overlayConfig: function() {\r\n return {\r\n onInitialized: function(args) {\r\n this._popup = args.component\r\n }.bind(this),\r\n disabled: false,\r\n showTitle: true,\r\n title: this.option(\"title\"),\r\n deferRendering: !window.angular,\r\n onContentReady: this._popupContentReadyAction.bind(this),\r\n onHidden: this.hide.bind(this)\r\n }\r\n },\r\n _createPopover: function() {\r\n this._createComponent(this._$popup, Popover, extend(this._overlayConfig(), {\r\n width: this.option(\"width\") || 200,\r\n height: this.option(\"height\") || \"auto\",\r\n target: this.option(\"target\")\r\n }));\r\n this._popup.$wrapper().addClass(ACTION_SHEET_POPOVER_WRAPPER_CLASS)\r\n },\r\n _createPopup: function() {\r\n this._createComponent(this._$popup, Popup, extend(this._overlayConfig(), {\r\n dragEnabled: false,\r\n width: this.option(\"width\") || \"100%\",\r\n height: this.option(\"height\") || \"auto\",\r\n showCloseButton: false,\r\n position: {\r\n my: \"bottom\",\r\n at: \"bottom\",\r\n of: window\r\n },\r\n animation: {\r\n show: {\r\n type: \"slide\",\r\n duration: 400,\r\n from: {\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\",\r\n of: window\r\n }\r\n },\r\n to: {\r\n position: {\r\n my: \"bottom\",\r\n at: \"bottom\",\r\n of: window\r\n }\r\n }\r\n },\r\n hide: {\r\n type: \"slide\",\r\n duration: 400,\r\n from: {\r\n position: {\r\n my: \"bottom\",\r\n at: \"bottom\",\r\n of: window\r\n }\r\n },\r\n to: {\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\",\r\n of: window\r\n }\r\n }\r\n }\r\n }\r\n }));\r\n this._popup.$wrapper().addClass(ACTION_SHEET_POPUP_WRAPPER_CLASS)\r\n },\r\n _popupContentReadyAction: function() {\r\n this._popup.$content().append(this._$itemContainer);\r\n this._attachClickEvent();\r\n this._attachHoldEvent();\r\n this._prepareContent();\r\n this._renderContent();\r\n this._renderCancelButton()\r\n },\r\n _renderCancelButton: function() {\r\n if (this._isPopoverMode()) {\r\n return\r\n }\r\n if (this._$cancelButton) {\r\n this._$cancelButton.remove()\r\n }\r\n if (this.option(\"showCancelButton\")) {\r\n var cancelClickAction = this._createActionByOption(\"onCancelClick\") || noop;\r\n var that = this;\r\n this._$cancelButton = $(\"<div>\").addClass(ACTION_SHEET_CANCEL_BUTTON_CLASS).appendTo(this._popup && this._popup.$content());\r\n this._createComponent(this._$cancelButton, Button, {\r\n disabled: false,\r\n stylingMode: ACTION_SHEET_BUTTON_DEFAULT_STYLING_MODE,\r\n text: this.option(\"cancelText\"),\r\n onClick: function(e) {\r\n var hidingArgs = {\r\n event: e,\r\n cancel: false\r\n };\r\n cancelClickAction(hidingArgs);\r\n if (!hidingArgs.cancel) {\r\n that.hide()\r\n }\r\n },\r\n integrationOptions: {}\r\n })\r\n }\r\n },\r\n _attachItemClickEvent: noop,\r\n _itemClickHandler: function(e) {\r\n this.callBase(e);\r\n if (!$(e.target).is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n this.hide()\r\n }\r\n },\r\n _itemHoldHandler: function(e) {\r\n this.callBase(e);\r\n if (!$(e.target).is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n this.hide()\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"width\":\r\n case \"height\":\r\n case \"visible\":\r\n case \"title\":\r\n this._mapPopupOption(args.name);\r\n break;\r\n case \"disabled\":\r\n this._renderDisabled();\r\n break;\r\n case \"showTitle\":\r\n this._renderPopupTitle();\r\n break;\r\n case \"showCancelButton\":\r\n case \"onCancelClick\":\r\n case \"cancelText\":\r\n this._renderCancelButton();\r\n break;\r\n case \"target\":\r\n case \"usePopover\":\r\n case \"items\":\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n toggle: function(showing) {\r\n var that = this;\r\n var d = new Deferred;\r\n that._popup.toggle(showing).done((function() {\r\n that.option(\"visible\", showing);\r\n d.resolveWith(that)\r\n }));\r\n return d.promise()\r\n },\r\n show: function() {\r\n return this.toggle(true)\r\n },\r\n hide: function() {\r\n return this.toggle(false)\r\n }\r\n});\r\nregisterComponent(\"dxActionSheet\", ActionSheet);\r\nexport default ActionSheet;\r\n","/**\r\n * DevExtreme (esm/ui/autocomplete.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../core/utils/common\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport DropDownList from \"./drop_down_editor/ui.drop_down_list\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n isCommandKeyPressed\r\n} from \"../events/utils/index\";\r\nvar AUTOCOMPLETE_CLASS = \"dx-autocomplete\";\r\nvar AUTOCOMPLETE_POPUP_WRAPPER_CLASS = \"dx-autocomplete-popup-wrapper\";\r\nvar Autocomplete = DropDownList.inherit({\r\n _supportedKeys: function() {\r\n var item = this._list ? this._list.option(\"focusedElement\") : null;\r\n var parent = this.callBase();\r\n item = item && $(item);\r\n return extend({}, parent, {\r\n upArrow: function(e) {\r\n if (!isCommandKeyPressed(e)) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (item && !this._calcNextItem(-1)) {\r\n this._clearFocusedItem();\r\n return false\r\n }\r\n }\r\n return true\r\n },\r\n downArrow: function(e) {\r\n if (!isCommandKeyPressed(e)) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (item && !this._calcNextItem(1)) {\r\n this._clearFocusedItem();\r\n return false\r\n }\r\n }\r\n return true\r\n },\r\n enter: function(e) {\r\n if (!item) {\r\n this.close()\r\n }\r\n var opened = this.option(\"opened\");\r\n if (opened) {\r\n e.preventDefault()\r\n }\r\n return opened\r\n }\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n minSearchLength: 1,\r\n maxItemCount: 10,\r\n noDataText: \"\",\r\n showDropDownButton: false,\r\n searchEnabled: true\r\n })\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this.$element().addClass(AUTOCOMPLETE_CLASS);\r\n this.setAria(\"autocomplete\", \"inline\")\r\n },\r\n _displayGetterExpr: function() {\r\n return this.option(\"valueExpr\")\r\n },\r\n _closeOutsideDropDownHandler: function(_ref) {\r\n var {\r\n target: target\r\n } = _ref;\r\n return !$(target).closest(this.$element()).length\r\n },\r\n _renderDimensions: function() {\r\n this.callBase();\r\n this._updatePopupWidth();\r\n this._updateListDimensions()\r\n },\r\n _popupWrapperClass: function() {\r\n return this.callBase() + \" \" + AUTOCOMPLETE_POPUP_WRAPPER_CLASS\r\n },\r\n _listConfig: function() {\r\n return extend(this.callBase(), {\r\n pageLoadMode: \"none\",\r\n onSelectionChanged: e => {\r\n this._setSelectedItem(e.addedItems[0])\r\n }\r\n })\r\n },\r\n _listItemClickHandler: function(e) {\r\n this._saveValueChangeEvent(e.event);\r\n var value = this._displayGetter(e.itemData);\r\n this.option(\"value\", value);\r\n this.close()\r\n },\r\n _setListDataSource: function() {\r\n if (!this._list) {\r\n return\r\n }\r\n this._list.option(\"selectedItems\", []);\r\n this.callBase()\r\n },\r\n _refreshSelected: noop,\r\n _searchCanceled: function() {\r\n this.callBase();\r\n this.close()\r\n },\r\n _loadItem: function(value, cache) {\r\n var selectedItem = this._getItemFromPlain(value, cache);\r\n return (new Deferred).resolve(selectedItem).promise()\r\n },\r\n _dataSourceOptions: function() {\r\n return {\r\n paginate: true,\r\n pageSize: this.option(\"maxItemCount\")\r\n }\r\n },\r\n _searchDataSource: function(searchValue) {\r\n this._dataSource.pageSize(this.option(\"maxItemCount\"));\r\n this.callBase(searchValue);\r\n this._clearFocusedItem()\r\n },\r\n _clearFocusedItem: function() {\r\n if (this._list) {\r\n this._list.option(\"focusedElement\", null);\r\n this._list.option(\"selectedIndex\", -1)\r\n }\r\n },\r\n _renderValueEventName: function() {\r\n return \"input keyup\"\r\n },\r\n _valueChangeEventHandler: function(e) {\r\n var value = this._input().val() || null;\r\n return this.callBase(e, value)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"maxItemCount\":\r\n this._searchDataSource();\r\n break;\r\n case \"valueExpr\":\r\n this._compileDisplayGetter();\r\n this._setListOption(\"displayExpr\", this._displayGetterExpr());\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n reset: function() {\r\n this.callBase();\r\n this.close()\r\n }\r\n});\r\nregisterComponent(\"dxAutocomplete\", Autocomplete);\r\nexport default Autocomplete;\r\n","/**\r\n * DevExtreme (esm/ui/box.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n dasherize\r\n} from \"../core/utils/inflector\";\r\nimport {\r\n isDefined\r\n} from \"../core/utils/type\";\r\nimport {\r\n normalizeStyleProp,\r\n styleProp,\r\n stylePropPrefix\r\n} from \"../core/utils/style\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport CollectionWidgetItem from \"./collection/item\";\r\nimport CollectionWidget from \"./collection/ui.collection_widget.edit\";\r\nvar BOX_CLASS = \"dx-box\";\r\nvar BOX_FLEX_CLASS = \"dx-box-flex\";\r\nvar BOX_ITEM_CLASS = \"dx-box-item\";\r\nvar BOX_ITEM_DATA_KEY = \"dxBoxItemData\";\r\nvar SHRINK = 1;\r\nvar MINSIZE_MAP = {\r\n row: \"minWidth\",\r\n col: \"minHeight\"\r\n};\r\nvar MAXSIZE_MAP = {\r\n row: \"maxWidth\",\r\n col: \"maxHeight\"\r\n};\r\nvar FLEX_JUSTIFY_CONTENT_MAP = {\r\n start: \"flex-start\",\r\n end: \"flex-end\",\r\n center: \"center\",\r\n \"space-between\": \"space-between\",\r\n \"space-around\": \"space-around\"\r\n};\r\nvar FLEX_ALIGN_ITEMS_MAP = {\r\n start: \"flex-start\",\r\n end: \"flex-end\",\r\n center: \"center\",\r\n stretch: \"stretch\"\r\n};\r\nvar FLEX_DIRECTION_MAP = {\r\n row: \"row\",\r\n col: \"column\"\r\n};\r\nvar setFlexProp = (element, prop, value) => {\r\n value = normalizeStyleProp(prop, value);\r\n element.style[styleProp(prop)] = value;\r\n if (!hasWindow()) {\r\n if (\"\" === value || !isDefined(value)) {\r\n return\r\n }\r\n var cssName = dasherize(prop);\r\n var styleExpr = cssName + \": \" + value + \";\";\r\n if (!element.attributes.style) {\r\n element.setAttribute(\"style\", styleExpr)\r\n } else if (element.attributes.style.value.indexOf(styleExpr) < 0) {\r\n element.attributes.style.value += \" \" + styleExpr\r\n }\r\n }\r\n};\r\nclass BoxItem extends CollectionWidgetItem {\r\n _renderVisible(value, oldValue) {\r\n super._renderVisible(value);\r\n if (isDefined(oldValue)) {\r\n this._options.fireItemStateChangedAction({\r\n name: \"visible\",\r\n state: value,\r\n oldState: oldValue\r\n })\r\n }\r\n }\r\n}\r\nclass LayoutStrategy {\r\n constructor($element, option) {\r\n this._$element = $element;\r\n this._option = option\r\n }\r\n renderBox() {\r\n this._$element.css({\r\n display: stylePropPrefix(\"flexDirection\") + \"flex\"\r\n });\r\n setFlexProp(this._$element.get(0), \"flexDirection\", FLEX_DIRECTION_MAP[this._option(\"direction\")])\r\n }\r\n renderAlign() {\r\n this._$element.css({\r\n justifyContent: this._normalizedAlign()\r\n })\r\n }\r\n _normalizedAlign() {\r\n var align = this._option(\"align\");\r\n return align in FLEX_JUSTIFY_CONTENT_MAP ? FLEX_JUSTIFY_CONTENT_MAP[align] : align\r\n }\r\n renderCrossAlign() {\r\n this._$element.css({\r\n alignItems: this._normalizedCrossAlign()\r\n })\r\n }\r\n _normalizedCrossAlign() {\r\n var crossAlign = this._option(\"crossAlign\");\r\n return crossAlign in FLEX_ALIGN_ITEMS_MAP ? FLEX_ALIGN_ITEMS_MAP[crossAlign] : crossAlign\r\n }\r\n renderItems($items) {\r\n var flexPropPrefix = stylePropPrefix(\"flexDirection\");\r\n var direction = this._option(\"direction\");\r\n each($items, (function() {\r\n var $item = $(this);\r\n var item = $item.data(BOX_ITEM_DATA_KEY);\r\n $item.css({\r\n display: flexPropPrefix + \"flex\"\r\n }).css(MAXSIZE_MAP[direction], item.maxSize || \"none\").css(MINSIZE_MAP[direction], item.minSize || \"0\");\r\n setFlexProp($item.get(0), \"flexBasis\", item.baseSize || 0);\r\n setFlexProp($item.get(0), \"flexGrow\", item.ratio);\r\n setFlexProp($item.get(0), \"flexShrink\", isDefined(item.shrink) ? item.shrink : SHRINK);\r\n $item.children().each((_, itemContent) => {\r\n $(itemContent).css({\r\n width: \"auto\",\r\n height: \"auto\",\r\n display: stylePropPrefix(\"flexDirection\") + \"flex\",\r\n flexBasis: 0\r\n });\r\n setFlexProp(itemContent, \"flexGrow\", 1);\r\n setFlexProp(itemContent, \"flexDirection\", $(itemContent)[0].style.flexDirection || \"column\")\r\n })\r\n }))\r\n }\r\n}\r\nclass Box extends CollectionWidget {\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n direction: \"row\",\r\n align: \"start\",\r\n crossAlign: \"stretch\",\r\n activeStateEnabled: false,\r\n focusStateEnabled: false,\r\n onItemStateChanged: void 0,\r\n _queue: void 0\r\n })\r\n }\r\n _itemClass() {\r\n return BOX_ITEM_CLASS\r\n }\r\n _itemDataKey() {\r\n return BOX_ITEM_DATA_KEY\r\n }\r\n _itemElements() {\r\n return this._itemContainer().children(this._itemSelector())\r\n }\r\n _init() {\r\n super._init();\r\n this.$element().addClass(BOX_FLEX_CLASS);\r\n this._initLayout();\r\n this._initBoxQueue()\r\n }\r\n _initLayout() {\r\n this._layout = new LayoutStrategy(this.$element(), this.option.bind(this))\r\n }\r\n _initBoxQueue() {\r\n this._queue = this.option(\"_queue\") || []\r\n }\r\n _queueIsNotEmpty() {\r\n return this.option(\"_queue\") ? false : !!this._queue.length\r\n }\r\n _pushItemToQueue($item, config) {\r\n this._queue.push({\r\n $item: $item,\r\n config: config\r\n })\r\n }\r\n _shiftItemFromQueue() {\r\n return this._queue.shift()\r\n }\r\n _initMarkup() {\r\n this.$element().addClass(BOX_CLASS);\r\n this._layout.renderBox();\r\n super._initMarkup();\r\n this._renderAlign();\r\n this._renderActions()\r\n }\r\n _renderActions() {\r\n this._onItemStateChanged = this._createActionByOption(\"onItemStateChanged\")\r\n }\r\n _renderAlign() {\r\n this._layout.renderAlign();\r\n this._layout.renderCrossAlign()\r\n }\r\n _renderItems(items) {\r\n super._renderItems(items);\r\n while (this._queueIsNotEmpty()) {\r\n var item = this._shiftItemFromQueue();\r\n this._createComponent(item.$item, Box, extend({\r\n itemTemplate: this.option(\"itemTemplate\"),\r\n itemHoldTimeout: this.option(\"itemHoldTimeout\"),\r\n onItemHold: this.option(\"onItemHold\"),\r\n onItemClick: this.option(\"onItemClick\"),\r\n onItemContextMenu: this.option(\"onItemContextMenu\"),\r\n onItemRendered: this.option(\"onItemRendered\"),\r\n _queue: this._queue\r\n }, item.config))\r\n }\r\n this._layout.renderItems(this._itemElements())\r\n }\r\n _renderItemContent(args) {\r\n var $itemNode = args.itemData && args.itemData.node;\r\n if ($itemNode) {\r\n return this._renderItemContentByNode(args, $itemNode)\r\n }\r\n return super._renderItemContent(args)\r\n }\r\n _postprocessRenderItem(args) {\r\n var boxConfig = args.itemData.box;\r\n if (!boxConfig) {\r\n return\r\n }\r\n this._pushItemToQueue(args.itemContent, boxConfig)\r\n }\r\n _createItemByTemplate(itemTemplate, args) {\r\n if (args.itemData.box) {\r\n return itemTemplate.source ? itemTemplate.source() : $()\r\n }\r\n return super._createItemByTemplate(itemTemplate, args)\r\n }\r\n _itemOptionChanged(item, property, value, oldValue) {\r\n if (\"visible\" === property) {\r\n this._onItemStateChanged({\r\n name: property,\r\n state: value,\r\n oldState: false !== oldValue\r\n })\r\n }\r\n super._itemOptionChanged(item, property, value)\r\n }\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"_queue\":\r\n case \"direction\":\r\n this._invalidate();\r\n break;\r\n case \"align\":\r\n this._layout.renderAlign();\r\n break;\r\n case \"crossAlign\":\r\n this._layout.renderCrossAlign();\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _itemOptions() {\r\n var options = super._itemOptions();\r\n options.fireItemStateChangedAction = e => {\r\n this._onItemStateChanged(e)\r\n };\r\n return options\r\n }\r\n}\r\nBox.ItemClass = BoxItem;\r\nregisterComponent(\"dxBox\", Box);\r\nexport default Box;\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/button.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport ValidationEngine from \"../../ui/validation_engine\";\r\nimport Component from \"./common/component\";\r\nimport {\r\n getImageSourceType\r\n} from \"../../core/utils/icon\";\r\nexport default class ButtonWrapper extends Component {\r\n get _validationGroupConfig() {\r\n return ValidationEngine.getGroupConfig(this._findGroup())\r\n }\r\n getDefaultTemplateNames() {\r\n return [\"content\"]\r\n }\r\n getSupportedKeyNames() {\r\n return [\"space\", \"enter\"]\r\n }\r\n getProps() {\r\n var props = super.getProps();\r\n props.onClick = _ref => {\r\n var {\r\n event: event\r\n } = _ref;\r\n this._clickAction({\r\n event: event,\r\n validationGroup: this._validationGroupConfig\r\n })\r\n };\r\n var iconType = getImageSourceType(props.icon);\r\n if (\"svg\" === iconType) {\r\n props.iconTemplate = this._createTemplateComponent(() => props.icon)\r\n }\r\n return props\r\n }\r\n get _templatesInfo() {\r\n return {\r\n template: \"content\"\r\n }\r\n }\r\n _toggleActiveState(_, value) {\r\n var button = this.viewRef;\r\n value ? button.activate() : button.deactivate()\r\n }\r\n _getSubmitAction() {\r\n var needValidate = true;\r\n var validationStatus = \"valid\";\r\n return this._createAction(_ref2 => {\r\n var {\r\n event: event,\r\n submitInput: submitInput\r\n } = _ref2;\r\n if (needValidate) {\r\n var validationGroup = this._validationGroupConfig;\r\n if (void 0 !== validationGroup && \"\" !== validationGroup) {\r\n var validationResult = validationGroup.validate();\r\n validationStatus = validationResult.status;\r\n if (\"pending\" === validationResult.status) {\r\n needValidate = false;\r\n this.option(\"disabled\", true);\r\n validationResult.complete.then(_ref3 => {\r\n var {\r\n status: status\r\n } = _ref3;\r\n this.option(\"disabled\", false);\r\n validationStatus = status;\r\n \"valid\" === validationStatus && submitInput.click();\r\n needValidate = true\r\n })\r\n }\r\n }\r\n }\r\n \"valid\" !== validationStatus && event.preventDefault();\r\n event.stopPropagation()\r\n })\r\n }\r\n _initializeComponent() {\r\n super._initializeComponent();\r\n this._addAction(\"onSubmit\", this._getSubmitAction());\r\n this._clickAction = this._createClickAction()\r\n }\r\n _initMarkup() {\r\n super._initMarkup();\r\n var $content = this.$element().find(\".dx-button-content\");\r\n var $template = $content.children().filter(\".dx-template-wrapper\");\r\n var $input = $content.children().filter(\".dx-button-submit-input\");\r\n if ($template.length) {\r\n $template.addClass(\"dx-button-content\");\r\n $template.append($input);\r\n $content.replaceWith($template)\r\n }\r\n }\r\n _patchOptionValues(options) {\r\n return super._patchOptionValues(_extends({}, options, {\r\n templateData: options._templateData\r\n }))\r\n }\r\n _findGroup() {\r\n var $element = this.$element();\r\n var validationGroup = this.option(\"validationGroup\");\r\n return void 0 !== validationGroup && \"\" !== validationGroup ? validationGroup : ValidationEngine.findGroup($element, this._modelByElement($element))\r\n }\r\n _createClickAction() {\r\n return this._createActionByOption(\"onClick\", {\r\n excludeValidators: [\"readOnly\"]\r\n })\r\n }\r\n _optionChanged(option) {\r\n switch (option.name) {\r\n case \"onClick\":\r\n this._clickAction = this._createClickAction()\r\n }\r\n super._optionChanged(option)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/button.j.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport BaseComponent from \"../component_wrapper/button\";\r\nimport {\r\n Button as ButtonComponent,\r\n defaultOptions\r\n} from \"./button\";\r\nexport default class Button extends BaseComponent {\r\n getProps() {\r\n var props = super.getProps();\r\n props.onKeyDown = this._wrapKeyDownHandler(props.onKeyDown);\r\n return props\r\n }\r\n focus() {\r\n var _this$viewRef;\r\n return null === (_this$viewRef = this.viewRef) || void 0 === _this$viewRef ? void 0 : _this$viewRef.focus(...arguments)\r\n }\r\n activate() {\r\n var _this$viewRef2;\r\n return null === (_this$viewRef2 = this.viewRef) || void 0 === _this$viewRef2 ? void 0 : _this$viewRef2.activate(...arguments)\r\n }\r\n deactivate() {\r\n var _this$viewRef3;\r\n return null === (_this$viewRef3 = this.viewRef) || void 0 === _this$viewRef3 ? void 0 : _this$viewRef3.deactivate(...arguments)\r\n }\r\n _getActionConfigs() {\r\n return {\r\n onClick: {\r\n excludeValidators: [\"readOnly\"]\r\n },\r\n onSubmit: {}\r\n }\r\n }\r\n get _propsInfo() {\r\n return {\r\n twoWay: [],\r\n allowNull: [],\r\n elements: [\"onSubmit\"],\r\n templates: [\"template\", \"iconTemplate\"],\r\n props: [\"activeStateEnabled\", \"hoverStateEnabled\", \"icon\", \"iconPosition\", \"onClick\", \"onSubmit\", \"pressed\", \"stylingMode\", \"template\", \"iconTemplate\", \"text\", \"type\", \"useInkRipple\", \"useSubmitBehavior\", \"templateData\", \"className\", \"accessKey\", \"disabled\", \"focusStateEnabled\", \"height\", \"hint\", \"onKeyDown\", \"rtlEnabled\", \"tabIndex\", \"visible\", \"width\"]\r\n }\r\n }\r\n get _viewComponent() {\r\n return ButtonComponent\r\n }\r\n}\r\nregisterComponent(\"dxButton\", Button);\r\nButton.defaultOptions = defaultOptions;\r\n","/**\r\n * DevExtreme (esm/ui/button.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Widget from \"../renovation/ui/button.j\";\r\nexport default Widget;\r\n","/**\r\n * DevExtreme (esm/ui/button_group.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport Widget from \"./widget/ui.widget\";\r\nimport Button from \"./button\";\r\nimport CollectionWidget from \"./collection/ui.collection_widget.edit\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n isDefined,\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport {\r\n BindableTemplate\r\n} from \"../core/templates/bindable_template\";\r\nvar BUTTON_GROUP_CLASS = \"dx-buttongroup\";\r\nvar BUTTON_GROUP_WRAPPER_CLASS = BUTTON_GROUP_CLASS + \"-wrapper\";\r\nvar BUTTON_GROUP_ITEM_CLASS = BUTTON_GROUP_CLASS + \"-item\";\r\nvar BUTTON_GROUP_FIRST_ITEM_CLASS = BUTTON_GROUP_CLASS + \"-first-item\";\r\nvar BUTTON_GROUP_LAST_ITEM_CLASS = BUTTON_GROUP_CLASS + \"-last-item\";\r\nvar BUTTON_GROUP_ITEM_HAS_WIDTH = BUTTON_GROUP_ITEM_CLASS + \"-has-width\";\r\nvar SHAPE_STANDARD_CLASS = \"dx-shape-standard\";\r\nvar ButtonCollection = CollectionWidget.inherit({\r\n _initTemplates() {\r\n this.callBase();\r\n this._templateManager.addDefaultTemplates({\r\n item: new BindableTemplate(($container, data, model) => {\r\n this._prepareItemStyles($container);\r\n var template = this.option(\"buttonTemplate\");\r\n this._createComponent($container, Button, extend({}, model, data, this._getBasicButtonOptions(), {\r\n _templateData: this._hasCustomTemplate(template) ? model : {},\r\n template: model.template || template\r\n }))\r\n }, [\"text\", \"type\", \"icon\", \"disabled\", \"visible\", \"hint\"], this.option(\"integrationOptions.watchMethod\"))\r\n })\r\n },\r\n _getBasicButtonOptions() {\r\n return {\r\n focusStateEnabled: false,\r\n onClick: null,\r\n hoverStateEnabled: this.option(\"hoverStateEnabled\"),\r\n activeStateEnabled: this.option(\"activeStateEnabled\"),\r\n stylingMode: this.option(\"stylingMode\")\r\n }\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n itemTemplateProperty: null\r\n })\r\n },\r\n _hasCustomTemplate(template) {\r\n return isFunction(template) || this.option(\"integrationOptions.templates\")[template]\r\n },\r\n _prepareItemStyles($item) {\r\n var itemIndex = $item.data(\"dxItemIndex\");\r\n 0 === itemIndex && $item.addClass(BUTTON_GROUP_FIRST_ITEM_CLASS);\r\n var items = this.option(\"items\");\r\n items && itemIndex === items.length - 1 && $item.addClass(BUTTON_GROUP_LAST_ITEM_CLASS);\r\n $item.addClass(SHAPE_STANDARD_CLASS)\r\n },\r\n _renderItemContent(args) {\r\n args.container = $(args.container).parent();\r\n return this.callBase(args)\r\n },\r\n _renderItemContentByNode: function(args, $node) {\r\n args.container = $(args.container.children().first());\r\n return this.callBase(args, $node)\r\n },\r\n _focusTarget() {\r\n return this.$element().parent()\r\n },\r\n _keyboardEventBindingTarget() {\r\n return this._focusTarget()\r\n },\r\n _refreshContent() {\r\n this._prepareContent();\r\n this._renderContent()\r\n },\r\n _itemClass: () => BUTTON_GROUP_ITEM_CLASS,\r\n _itemSelectHandler: function(e) {\r\n if (\"single\" === this.option(\"selectionMode\") && this.isItemSelected(e.currentTarget)) {\r\n return\r\n }\r\n this.callBase(e)\r\n }\r\n});\r\nvar ButtonGroup = Widget.inherit({\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n hoverStateEnabled: true,\r\n focusStateEnabled: true,\r\n selectionMode: \"single\",\r\n selectedItems: [],\r\n selectedItemKeys: [],\r\n stylingMode: \"contained\",\r\n keyExpr: \"text\",\r\n items: [],\r\n buttonTemplate: \"content\",\r\n onSelectionChanged: null,\r\n onItemClick: null\r\n })\r\n },\r\n _init() {\r\n this.callBase();\r\n this._createItemClickAction()\r\n },\r\n _createItemClickAction() {\r\n this._itemClickAction = this._createActionByOption(\"onItemClick\")\r\n },\r\n _initMarkup() {\r\n this.setAria(\"role\", \"group\");\r\n this.$element().addClass(BUTTON_GROUP_CLASS);\r\n this._renderButtons();\r\n this._syncSelectionOptions();\r\n this.callBase()\r\n },\r\n _fireSelectionChangeEvent: function(addedItems, removedItems) {\r\n this._createActionByOption(\"onSelectionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })({\r\n addedItems: addedItems,\r\n removedItems: removedItems\r\n })\r\n },\r\n _renderButtons() {\r\n var $buttons = $(\"<div>\").addClass(BUTTON_GROUP_WRAPPER_CLASS).appendTo(this.$element());\r\n var selectedItems = this.option(\"selectedItems\");\r\n var options = {\r\n selectionMode: this.option(\"selectionMode\"),\r\n items: this.option(\"items\"),\r\n keyExpr: this.option(\"keyExpr\"),\r\n buttonTemplate: this.option(\"buttonTemplate\"),\r\n scrollingEnabled: false,\r\n selectedItemKeys: this.option(\"selectedItemKeys\"),\r\n focusStateEnabled: this.option(\"focusStateEnabled\"),\r\n hoverStateEnabled: this.option(\"hoverStateEnabled\"),\r\n activeStateEnabled: this.option(\"activeStateEnabled\"),\r\n stylingMode: this.option(\"stylingMode\"),\r\n accessKey: this.option(\"accessKey\"),\r\n tabIndex: this.option(\"tabIndex\"),\r\n noDataText: \"\",\r\n selectionRequired: false,\r\n onItemRendered: e => {\r\n var width = this.option(\"width\");\r\n isDefined(width) && $(e.itemElement).addClass(BUTTON_GROUP_ITEM_HAS_WIDTH)\r\n },\r\n onSelectionChanged: e => {\r\n this._syncSelectionOptions();\r\n this._fireSelectionChangeEvent(e.addedItems, e.removedItems)\r\n },\r\n onItemClick: e => {\r\n this._itemClickAction(e)\r\n }\r\n };\r\n if (isDefined(selectedItems) && selectedItems.length) {\r\n options.selectedItems = selectedItems\r\n }\r\n this._buttonsCollection = this._createComponent($buttons, ButtonCollection, options)\r\n },\r\n _syncSelectionOptions() {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", this._buttonsCollection.option(\"selectedItems\"));\r\n this._setOptionWithoutOptionChange(\"selectedItemKeys\", this._buttonsCollection.option(\"selectedItemKeys\"))\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"stylingMode\":\r\n case \"selectionMode\":\r\n case \"keyExpr\":\r\n case \"buttonTemplate\":\r\n case \"items\":\r\n case \"activeStateEnabled\":\r\n case \"focusStateEnabled\":\r\n case \"hoverStateEnabled\":\r\n case \"tabIndex\":\r\n this._invalidate();\r\n break;\r\n case \"selectedItemKeys\":\r\n case \"selectedItems\":\r\n this._buttonsCollection.option(args.name, args.value);\r\n break;\r\n case \"onItemClick\":\r\n this._createItemClickAction();\r\n break;\r\n case \"onSelectionChanged\":\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n this._buttonsCollection.itemElements().toggleClass(BUTTON_GROUP_ITEM_HAS_WIDTH, !!args.value);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxButtonGroup\", ButtonGroup);\r\nexport default ButtonGroup;\r\n","/**\r\n * DevExtreme (esm/ui/calendar/ui.calendar.navigator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport Button from \"../button\";\r\nvar CALENDAR_NAVIGATOR_CLASS = \"dx-calendar-navigator\";\r\nvar CALENDAR_NAVIGATOR_PREVIOUS_MONTH_CLASS = \"dx-calendar-navigator-previous-month\";\r\nvar CALENDAR_NAVIGATOR_NEXT_MONTH_CLASS = \"dx-calendar-navigator-next-month\";\r\nvar CALENDAR_NAVIGATOR_PREVIOUS_VIEW_CLASS = \"dx-calendar-navigator-previous-view\";\r\nvar CALENDAR_NAVIGATOR_NEXT_VIEW_CLASS = \"dx-calendar-navigator-next-view\";\r\nvar CALENDAR_NAVIGATOR_DISABLED_LINK_CLASS = \"dx-calendar-disabled-navigator-link\";\r\nvar CALENDAR_NAVIGATOR_CAPTION_BUTTON_CLASS = \"dx-calendar-caption-button\";\r\nvar Navigator = Widget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n onClick: null,\r\n onCaptionClick: null,\r\n text: \"\"\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initActions()\r\n },\r\n _initActions: function() {\r\n this._clickAction = this._createActionByOption(\"onClick\");\r\n this._captionClickAction = this._createActionByOption(\"onCaptionClick\")\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this.$element().addClass(CALENDAR_NAVIGATOR_CLASS);\r\n this._renderButtons();\r\n this._renderCaption()\r\n },\r\n _renderButtons: function() {\r\n var that = this;\r\n var direction = this.option(\"rtlEnabled\") ? -1 : 1;\r\n this._prevButton = this._createComponent($(\"<a>\"), Button, {\r\n focusStateEnabled: false,\r\n icon: \"chevronleft\",\r\n onClick: function(e) {\r\n that._clickAction({\r\n direction: -direction,\r\n event: e\r\n })\r\n },\r\n integrationOptions: {}\r\n });\r\n var $prevButton = this._prevButton.$element().addClass(CALENDAR_NAVIGATOR_PREVIOUS_VIEW_CLASS).addClass(CALENDAR_NAVIGATOR_PREVIOUS_MONTH_CLASS);\r\n this._nextButton = this._createComponent($(\"<a>\"), Button, {\r\n focusStateEnabled: false,\r\n icon: \"chevronright\",\r\n onClick: function(e) {\r\n that._clickAction({\r\n direction: direction,\r\n event: e\r\n })\r\n },\r\n integrationOptions: {}\r\n });\r\n var $nextButton = this._nextButton.$element().addClass(CALENDAR_NAVIGATOR_NEXT_VIEW_CLASS).addClass(CALENDAR_NAVIGATOR_NEXT_MONTH_CLASS);\r\n this._caption = this._createComponent($(\"<a>\").addClass(CALENDAR_NAVIGATOR_CAPTION_BUTTON_CLASS), Button, {\r\n focusStateEnabled: false,\r\n onClick: function(e) {\r\n that._captionClickAction({\r\n event: e\r\n })\r\n },\r\n integrationOptions: {}\r\n });\r\n var $caption = this._caption.$element();\r\n this.$element().append($prevButton, $caption, $nextButton)\r\n },\r\n _renderCaption: function() {\r\n this._caption.option(\"text\", this.option(\"text\"))\r\n },\r\n toggleButton: function(buttonPrefix, value) {\r\n var buttonName = \"_\" + buttonPrefix + \"Button\";\r\n var button = this[buttonName];\r\n if (button) {\r\n button.option(\"disabled\", value);\r\n button.$element().toggleClass(CALENDAR_NAVIGATOR_DISABLED_LINK_CLASS, value)\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"text\":\r\n this._renderCaption();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nexport default Navigator;\r\n","/**\r\n * DevExtreme (esm/ui/calendar/ui.calendar.base_view.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n data as elementData\r\n} from \"../../core/element_data\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport coreDateUtils from \"../../core/utils/date\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport dateSerialization from \"../../core/utils/date_serialization\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nvar {\r\n abstract: abstract\r\n} = Widget;\r\nvar CALENDAR_OTHER_VIEW_CLASS = \"dx-calendar-other-view\";\r\nvar CALENDAR_CELL_CLASS = \"dx-calendar-cell\";\r\nvar CALENDAR_WEEK_NUMBER_CELL_CLASS = \"dx-calendar-week-number-cell\";\r\nvar CALENDAR_EMPTY_CELL_CLASS = \"dx-calendar-empty-cell\";\r\nvar CALENDAR_TODAY_CLASS = \"dx-calendar-today\";\r\nvar CALENDAR_SELECTED_DATE_CLASS = \"dx-calendar-selected-date\";\r\nvar CALENDAR_CONTOURED_DATE_CLASS = \"dx-calendar-contoured-date\";\r\nvar CALENDAR_DXCLICK_EVENT_NAME = addNamespace(clickEventName, \"dxCalendar\");\r\nvar CALENDAR_DATE_VALUE_KEY = \"dxDateValueKey\";\r\nvar BaseView = Widget.inherit({\r\n _getViewName: function() {\r\n return \"base\"\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n date: new Date,\r\n focusStateEnabled: false,\r\n cellTemplate: null,\r\n disabledDates: null,\r\n onCellClick: null,\r\n rowCount: 3,\r\n colCount: 4,\r\n allowValueSelection: true,\r\n _todayDate: () => new Date\r\n })\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._renderImpl()\r\n },\r\n _renderImpl: function() {\r\n this.$element().append(this._createTable());\r\n this._createDisabledDatesHandler();\r\n this._renderBody();\r\n this._renderContouredDate();\r\n this._renderValue();\r\n this._renderEvents()\r\n },\r\n _createTable: function() {\r\n this._$table = $(\"<table>\");\r\n var localizedWidgetName = messageLocalization.format(\"dxCalendar-ariaWidgetName\");\r\n var localizedHotKeysInfo = messageLocalization.format(\"dxCalendar-ariaHotKeysInfo\");\r\n this.setAria({\r\n label: \"\".concat(localizedWidgetName, \". \").concat(localizedHotKeysInfo),\r\n role: \"grid\"\r\n }, this._$table);\r\n return this._$table\r\n },\r\n _renderBody: function() {\r\n this.$body = $(\"<tbody>\").appendTo(this._$table);\r\n var rowData = {\r\n cellDate: this._getFirstCellData(),\r\n prevCellDate: null\r\n };\r\n for (var rowIndex = 0, rowCount = this.option(\"rowCount\"); rowIndex < rowCount; rowIndex++) {\r\n rowData.row = this._createRow();\r\n for (var colIndex = 0, colCount = this.option(\"colCount\"); colIndex < colCount; colIndex++) {\r\n this._renderCell(rowData, colIndex)\r\n }\r\n this._renderWeekNumberCell(rowData)\r\n }\r\n },\r\n _createRow: function() {\r\n var row = domAdapter.createElement(\"tr\");\r\n this.setAria(\"role\", \"row\", $(row));\r\n this.$body.get(0).appendChild(row);\r\n return row\r\n },\r\n _appendCell: function(row, cell) {\r\n if (!this._appendMethodName) {\r\n this._cacheAppendMethodName()\r\n }\r\n $(row)[this._appendMethodName](cell)\r\n },\r\n _cacheAppendMethodName: function(rtlEnabled) {\r\n this._appendMethodName = (null !== rtlEnabled && void 0 !== rtlEnabled ? rtlEnabled : this.option(\"rtlEnabled\")) ? \"prepend\" : \"append\"\r\n },\r\n _createCell: function(cellDate) {\r\n var cell = domAdapter.createElement(\"td\");\r\n var $cell = $(cell);\r\n cell.className = this._getClassNameByDate(cellDate);\r\n cell.setAttribute(\"data-value\", dateSerialization.serializeDate(cellDate, coreDateUtils.getShortDateFormat()));\r\n elementData(cell, CALENDAR_DATE_VALUE_KEY, cellDate);\r\n this.setAria({\r\n role: \"gridcell\",\r\n label: this.getCellAriaLabel(cellDate)\r\n }, $cell);\r\n return {\r\n cell: cell,\r\n $cell: $cell\r\n }\r\n },\r\n _renderCell: function(params, cellIndex) {\r\n var {\r\n cellDate: cellDate,\r\n prevCellDate: prevCellDate,\r\n row: row\r\n } = params;\r\n if (prevCellDate) {\r\n coreDateUtils.fixTimezoneGap(prevCellDate, cellDate)\r\n }\r\n params.prevCellDate = cellDate;\r\n var {\r\n cell: cell,\r\n $cell: $cell\r\n } = this._createCell(cellDate);\r\n var cellTemplate = this.option(\"cellTemplate\");\r\n this._appendCell(row, cell);\r\n if (cellTemplate) {\r\n cellTemplate.render(this._prepareCellTemplateData(cellDate, cellIndex, $cell))\r\n } else {\r\n cell.innerHTML = this._getCellText(cellDate)\r\n }\r\n params.cellDate = this._getNextCellData(cellDate)\r\n },\r\n _getClassNameByDate: function(cellDate) {\r\n var className = CALENDAR_CELL_CLASS;\r\n if (this._isTodayCell(cellDate)) {\r\n className += \" \".concat(CALENDAR_TODAY_CLASS)\r\n }\r\n if (this._isDateOutOfRange(cellDate) || this.isDateDisabled(cellDate)) {\r\n className += \" \".concat(CALENDAR_EMPTY_CELL_CLASS)\r\n }\r\n if (this._isOtherView(cellDate)) {\r\n className += \" \".concat(CALENDAR_OTHER_VIEW_CLASS)\r\n }\r\n return className\r\n },\r\n _prepareCellTemplateData: function(cellDate, cellIndex, $cell) {\r\n var isDateCell = cellDate instanceof Date;\r\n var text = isDateCell ? this._getCellText(cellDate) : cellDate;\r\n var date = isDateCell ? cellDate : void 0;\r\n var view = this._getViewName();\r\n return {\r\n model: {\r\n text: text,\r\n date: date,\r\n view: view\r\n },\r\n container: getPublicElement($cell),\r\n index: cellIndex\r\n }\r\n },\r\n _renderEvents: function() {\r\n this._createCellClickAction();\r\n eventsEngine.off(this._$table, CALENDAR_DXCLICK_EVENT_NAME);\r\n eventsEngine.on(this._$table, CALENDAR_DXCLICK_EVENT_NAME, \"td:not(.\".concat(CALENDAR_WEEK_NUMBER_CELL_CLASS, \")\"), e => {\r\n if (!$(e.currentTarget).hasClass(CALENDAR_EMPTY_CELL_CLASS)) {\r\n this._cellClickAction({\r\n event: e,\r\n value: $(e.currentTarget).data(CALENDAR_DATE_VALUE_KEY)\r\n })\r\n }\r\n })\r\n },\r\n _createCellClickAction: function() {\r\n this._cellClickAction = this._createActionByOption(\"onCellClick\")\r\n },\r\n _createDisabledDatesHandler: function() {\r\n var disabledDates = this.option(\"disabledDates\");\r\n this._disabledDatesHandler = Array.isArray(disabledDates) ? this._getDefaultDisabledDatesHandler(disabledDates) : disabledDates || noop\r\n },\r\n _getDefaultDisabledDatesHandler: function(disabledDates) {\r\n return noop\r\n },\r\n _isTodayCell: abstract,\r\n _isDateOutOfRange: abstract,\r\n isDateDisabled: function(cellDate) {\r\n var dateParts = {\r\n date: cellDate,\r\n view: this._getViewName()\r\n };\r\n return this._disabledDatesHandler(dateParts)\r\n },\r\n _isOtherView: abstract,\r\n _getCellText: abstract,\r\n _getFirstCellData: abstract,\r\n _getNextCellData: abstract,\r\n _renderContouredDate: function(contouredDate) {\r\n if (!this.option(\"focusStateEnabled\")) {\r\n return\r\n }\r\n contouredDate = contouredDate || this.option(\"contouredDate\");\r\n var $oldContouredCell = this._getContouredCell();\r\n var $newContouredCell = this._getCellByDate(contouredDate);\r\n $oldContouredCell.removeClass(CALENDAR_CONTOURED_DATE_CLASS);\r\n if (contouredDate) {\r\n $newContouredCell.addClass(CALENDAR_CONTOURED_DATE_CLASS)\r\n }\r\n },\r\n _getContouredCell: function() {\r\n return this._$table.find(\".\".concat(CALENDAR_CONTOURED_DATE_CLASS))\r\n },\r\n _changeValue: function(cellDate) {\r\n if (cellDate) {\r\n var value = this.option(\"value\");\r\n var newValue = value ? new Date(value) : new Date;\r\n newValue.setDate(cellDate.getDate());\r\n newValue.setMonth(cellDate.getMonth());\r\n newValue.setFullYear(cellDate.getFullYear());\r\n newValue.setDate(cellDate.getDate());\r\n this.option(\"value\", newValue)\r\n } else {\r\n this.option(\"value\", null)\r\n }\r\n },\r\n _renderValue: function() {\r\n if (!this.option(\"allowValueSelection\")) {\r\n return\r\n }\r\n var value = this.option(\"value\");\r\n var selectedCell = this._getCellByDate(value);\r\n if (this._selectedCell) {\r\n this._selectedCell.removeClass(CALENDAR_SELECTED_DATE_CLASS)\r\n }\r\n selectedCell.addClass(CALENDAR_SELECTED_DATE_CLASS);\r\n this._selectedCell = selectedCell\r\n },\r\n getCellAriaLabel: function(date) {\r\n return this._getCellText(date)\r\n },\r\n _getFirstAvailableDate: function() {\r\n var date = this.option(\"date\");\r\n var min = this.option(\"min\");\r\n date = coreDateUtils.getFirstDateView(this._getViewName(), date);\r\n return new Date(min && date < min ? min : date)\r\n },\r\n _getCellByDate: abstract,\r\n isBoundary: abstract,\r\n _optionChanged: function(args) {\r\n var {\r\n name: name,\r\n value: value\r\n } = args;\r\n switch (name) {\r\n case \"value\":\r\n this._renderValue();\r\n break;\r\n case \"contouredDate\":\r\n this._renderContouredDate(value);\r\n break;\r\n case \"onCellClick\":\r\n this._createCellClickAction();\r\n break;\r\n case \"disabledDates\":\r\n case \"cellTemplate\":\r\n this._invalidate();\r\n break;\r\n case \"rtlEnabled\":\r\n this._cacheAppendMethodName(value);\r\n this.callBase(args);\r\n break;\r\n case \"_todayDate\":\r\n this._renderBody();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nexport default BaseView;\r\n","/**\r\n * DevExtreme (esm/ui/calendar/ui.calendar.views.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport BaseView from \"./ui.calendar.base_view\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport dateLocalization from \"../../localization/date\";\r\nimport dateSerialization from \"../../core/utils/date_serialization\";\r\nvar CALENDAR_OTHER_MONTH_CLASS = \"dx-calendar-other-month\";\r\nvar CALENDAR_OTHER_VIEW_CLASS = \"dx-calendar-other-view\";\r\nvar CALENDAR_WEEK_NUMBER_CELL_CLASS = \"dx-calendar-week-number-cell\";\r\nvar Views = {\r\n month: BaseView.inherit({\r\n _getViewName: function() {\r\n return \"month\"\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n firstDayOfWeek: 0,\r\n rowCount: 6,\r\n colCount: 7\r\n })\r\n },\r\n _renderImpl: function() {\r\n this.callBase();\r\n this._renderHeader()\r\n },\r\n _renderBody: function() {\r\n this.callBase();\r\n this._$table.find(\".\".concat(CALENDAR_OTHER_VIEW_CLASS)).addClass(CALENDAR_OTHER_MONTH_CLASS)\r\n },\r\n _renderFocusTarget: noop,\r\n getCellAriaLabel: function(date) {\r\n return dateLocalization.format(date, \"longdate\")\r\n },\r\n _renderHeader: function() {\r\n var $headerRow = $(\"<tr>\");\r\n var $header = $(\"<thead>\").append($headerRow);\r\n this._$table.prepend($header);\r\n for (var colIndex = 0, colCount = this.option(\"colCount\"); colIndex < colCount; colIndex++) {\r\n this._renderHeaderCell(colIndex, $headerRow)\r\n }\r\n if (this.option(\"showWeekNumbers\")) {\r\n this._renderWeekHeaderCell($headerRow)\r\n }\r\n },\r\n _renderHeaderCell: function(cellIndex, $headerRow) {\r\n var {\r\n firstDayOfWeek: firstDayOfWeek\r\n } = this.option();\r\n var {\r\n full: fullCaption,\r\n abbreviated: abbrCaption\r\n } = this._getDayCaption(firstDayOfWeek + cellIndex);\r\n var $cell = $(\"<th>\").attr({\r\n scope: \"col\",\r\n abbr: fullCaption\r\n }).text(abbrCaption);\r\n this._appendCell($headerRow, $cell)\r\n },\r\n _renderWeekHeaderCell: function($headerRow) {\r\n var $weekNumberHeaderCell = $(\"<th>\").attr({\r\n scope: \"col\",\r\n abbr: \"WeekNumber\",\r\n class: \"dx-week-number-header\"\r\n }).text(\"#\");\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n if (rtlEnabled) {\r\n $headerRow.append($weekNumberHeaderCell)\r\n } else {\r\n $headerRow.prepend($weekNumberHeaderCell)\r\n }\r\n },\r\n _renderWeekNumberCell: function(rowData) {\r\n var {\r\n showWeekNumbers: showWeekNumbers,\r\n rtlEnabled: rtlEnabled,\r\n cellTemplate: cellTemplate\r\n } = this.option();\r\n if (!showWeekNumbers) {\r\n return\r\n }\r\n var weekNumber = this._getWeekNumber(rowData.prevCellDate);\r\n var cell = domAdapter.createElement(\"td\");\r\n var $cell = $(cell);\r\n cell.className = CALENDAR_WEEK_NUMBER_CELL_CLASS;\r\n if (cellTemplate) {\r\n cellTemplate.render(this._prepareCellTemplateData(weekNumber, -1, $cell))\r\n } else {\r\n cell.innerHTML = weekNumber\r\n }\r\n if (rtlEnabled) {\r\n rowData.row.append(cell)\r\n } else {\r\n rowData.row.prepend(cell)\r\n }\r\n this.setAria({\r\n role: \"gridcell\",\r\n label: \"Week \".concat(weekNumber)\r\n }, $cell)\r\n },\r\n _getWeekNumber: function(date) {\r\n var {\r\n weekNumberRule: weekNumberRule,\r\n firstDayOfWeek: firstDayOfWeek\r\n } = this.option();\r\n if (\"auto\" === weekNumberRule) {\r\n return dateUtils.getWeekNumber(date, firstDayOfWeek, 1 === firstDayOfWeek ? \"firstFourDays\" : \"firstDay\")\r\n }\r\n return dateUtils.getWeekNumber(date, firstDayOfWeek, weekNumberRule)\r\n },\r\n getNavigatorCaption: function() {\r\n return dateLocalization.format(this.option(\"date\"), \"monthandyear\")\r\n },\r\n _isTodayCell: function(cellDate) {\r\n var today = this.option(\"_todayDate\")();\r\n return dateUtils.sameDate(cellDate, today)\r\n },\r\n _isDateOutOfRange: function(cellDate) {\r\n var minDate = this.option(\"min\");\r\n var maxDate = this.option(\"max\");\r\n return !dateUtils.dateInRange(cellDate, minDate, maxDate, \"date\")\r\n },\r\n _isOtherView: function(cellDate) {\r\n return cellDate.getMonth() !== this.option(\"date\").getMonth()\r\n },\r\n _getCellText: function(cellDate) {\r\n return dateLocalization.format(cellDate, \"d\")\r\n },\r\n _getDayCaption: function(day) {\r\n var daysInWeek = this.option(\"colCount\");\r\n var dayIndex = day % daysInWeek;\r\n return {\r\n full: dateLocalization.getDayNames()[dayIndex],\r\n abbreviated: dateLocalization.getDayNames(\"abbreviated\")[dayIndex]\r\n }\r\n },\r\n _getFirstCellData: function() {\r\n var {\r\n firstDayOfWeek: firstDayOfWeek\r\n } = this.option();\r\n var firstDay = dateUtils.getFirstMonthDate(this.option(\"date\"));\r\n var firstMonthDayOffset = firstDayOfWeek - firstDay.getDay();\r\n var daysInWeek = this.option(\"colCount\");\r\n if (firstMonthDayOffset >= 0) {\r\n firstMonthDayOffset -= daysInWeek\r\n }\r\n firstDay.setDate(firstDay.getDate() + firstMonthDayOffset);\r\n return firstDay\r\n },\r\n _getNextCellData: function(date) {\r\n date = new Date(date);\r\n date.setDate(date.getDate() + 1);\r\n return date\r\n },\r\n _getCellByDate: function(date) {\r\n return this._$table.find(\"td[data-value='\".concat(dateSerialization.serializeDate(date, dateUtils.getShortDateFormat()), \"']\"))\r\n },\r\n isBoundary: function(date) {\r\n return dateUtils.sameMonthAndYear(date, this.option(\"min\")) || dateUtils.sameMonthAndYear(date, this.option(\"max\"))\r\n },\r\n _getDefaultDisabledDatesHandler: function(disabledDates) {\r\n return function(args) {\r\n var isDisabledDate = disabledDates.some((function(item) {\r\n return dateUtils.sameDate(item, args.date)\r\n }));\r\n if (isDisabledDate) {\r\n return true\r\n }\r\n }\r\n }\r\n }),\r\n year: BaseView.inherit({\r\n _getViewName: function() {\r\n return \"year\"\r\n },\r\n _isTodayCell: function(cellDate) {\r\n var today = this.option(\"_todayDate\")();\r\n return dateUtils.sameMonthAndYear(cellDate, today)\r\n },\r\n _isDateOutOfRange: function(cellDate) {\r\n return !dateUtils.dateInRange(cellDate, dateUtils.getFirstMonthDate(this.option(\"min\")), dateUtils.getLastMonthDate(this.option(\"max\")))\r\n },\r\n _isOtherView: function() {\r\n return false\r\n },\r\n _getCellText: function(cellDate) {\r\n return dateLocalization.getMonthNames(\"abbreviated\")[cellDate.getMonth()]\r\n },\r\n _getFirstCellData: function() {\r\n var currentDate = this.option(\"date\");\r\n var data = new Date(currentDate);\r\n data.setDate(1);\r\n data.setMonth(0);\r\n return data\r\n },\r\n _getNextCellData: function(date) {\r\n date = new Date(date);\r\n date.setMonth(date.getMonth() + 1);\r\n return date\r\n },\r\n _getCellByDate: function(date) {\r\n var foundDate = new Date(date);\r\n foundDate.setDate(1);\r\n return this._$table.find(\"td[data-value='\".concat(dateSerialization.serializeDate(foundDate, dateUtils.getShortDateFormat()), \"']\"))\r\n },\r\n getCellAriaLabel: function(date) {\r\n return dateLocalization.format(date, \"monthandyear\")\r\n },\r\n getNavigatorCaption: function() {\r\n return dateLocalization.format(this.option(\"date\"), \"yyyy\")\r\n },\r\n isBoundary: function(date) {\r\n return dateUtils.sameYear(date, this.option(\"min\")) || dateUtils.sameYear(date, this.option(\"max\"))\r\n },\r\n _renderWeekNumberCell: noop\r\n }),\r\n decade: BaseView.inherit({\r\n _getViewName: function() {\r\n return \"decade\"\r\n },\r\n _isTodayCell: function(cellDate) {\r\n var today = this.option(\"_todayDate\")();\r\n return dateUtils.sameYear(cellDate, today)\r\n },\r\n _isDateOutOfRange: function(cellDate) {\r\n var min = this.option(\"min\");\r\n var max = this.option(\"max\");\r\n return !dateUtils.dateInRange(cellDate.getFullYear(), min && min.getFullYear(), max && max.getFullYear())\r\n },\r\n _isOtherView: function(cellDate) {\r\n var date = new Date(cellDate);\r\n date.setMonth(1);\r\n return !dateUtils.sameDecade(date, this.option(\"date\"))\r\n },\r\n _getCellText: function(cellDate) {\r\n return dateLocalization.format(cellDate, \"yyyy\")\r\n },\r\n _getFirstCellData: function() {\r\n var year = dateUtils.getFirstYearInDecade(this.option(\"date\")) - 1;\r\n return dateUtils.createDateWithFullYear(year, 0, 1)\r\n },\r\n _getNextCellData: function(date) {\r\n date = new Date(date);\r\n date.setFullYear(date.getFullYear() + 1);\r\n return date\r\n },\r\n getNavigatorCaption: function() {\r\n var currentDate = this.option(\"date\");\r\n var firstYearInDecade = dateUtils.getFirstYearInDecade(currentDate);\r\n var startDate = new Date(currentDate);\r\n var endDate = new Date(currentDate);\r\n startDate.setFullYear(firstYearInDecade);\r\n endDate.setFullYear(firstYearInDecade + 9);\r\n return dateLocalization.format(startDate, \"yyyy\") + \"-\" + dateLocalization.format(endDate, \"yyyy\")\r\n },\r\n _isValueOnCurrentView: function(currentDate, value) {\r\n return dateUtils.sameDecade(currentDate, value)\r\n },\r\n _getCellByDate: function(date) {\r\n var foundDate = new Date(date);\r\n foundDate.setDate(1);\r\n foundDate.setMonth(0);\r\n return this._$table.find(\"td[data-value='\".concat(dateSerialization.serializeDate(foundDate, dateUtils.getShortDateFormat()), \"']\"))\r\n },\r\n isBoundary: function(date) {\r\n return dateUtils.sameDecade(date, this.option(\"min\")) || dateUtils.sameDecade(date, this.option(\"max\"))\r\n },\r\n _renderWeekNumberCell: noop\r\n }),\r\n century: BaseView.inherit({\r\n _getViewName: function() {\r\n return \"century\"\r\n },\r\n _isTodayCell: function(cellDate) {\r\n var today = this.option(\"_todayDate\")();\r\n return dateUtils.sameDecade(cellDate, today)\r\n },\r\n _isDateOutOfRange: function(cellDate) {\r\n var decade = dateUtils.getFirstYearInDecade(cellDate);\r\n var minDecade = dateUtils.getFirstYearInDecade(this.option(\"min\"));\r\n var maxDecade = dateUtils.getFirstYearInDecade(this.option(\"max\"));\r\n return !dateUtils.dateInRange(decade, minDecade, maxDecade)\r\n },\r\n _isOtherView: function(cellDate) {\r\n var date = new Date(cellDate);\r\n date.setMonth(1);\r\n return !dateUtils.sameCentury(date, this.option(\"date\"))\r\n },\r\n _getCellText: function(cellDate) {\r\n var startDate = dateLocalization.format(cellDate, \"yyyy\");\r\n var endDate = new Date(cellDate);\r\n endDate.setFullYear(endDate.getFullYear() + 9);\r\n return startDate + \" - \" + dateLocalization.format(endDate, \"yyyy\")\r\n },\r\n _getFirstCellData: function() {\r\n var decade = dateUtils.getFirstDecadeInCentury(this.option(\"date\")) - 10;\r\n return dateUtils.createDateWithFullYear(decade, 0, 1)\r\n },\r\n _getNextCellData: function(date) {\r\n date = new Date(date);\r\n date.setFullYear(date.getFullYear() + 10);\r\n return date\r\n },\r\n _getCellByDate: function(date) {\r\n var foundDate = new Date(date);\r\n foundDate.setDate(1);\r\n foundDate.setMonth(0);\r\n foundDate.setFullYear(dateUtils.getFirstYearInDecade(foundDate));\r\n return this._$table.find(\"td[data-value='\".concat(dateSerialization.serializeDate(foundDate, dateUtils.getShortDateFormat()), \"']\"))\r\n },\r\n getNavigatorCaption: function() {\r\n var currentDate = this.option(\"date\");\r\n var firstDecadeInCentury = dateUtils.getFirstDecadeInCentury(currentDate);\r\n var startDate = new Date(currentDate);\r\n var endDate = new Date(currentDate);\r\n startDate.setFullYear(firstDecadeInCentury);\r\n endDate.setFullYear(firstDecadeInCentury + 99);\r\n return dateLocalization.format(startDate, \"yyyy\") + \"-\" + dateLocalization.format(endDate, \"yyyy\")\r\n },\r\n isBoundary: function(date) {\r\n return dateUtils.sameCentury(date, this.option(\"min\")) || dateUtils.sameCentury(date, this.option(\"max\"))\r\n },\r\n _renderWeekNumberCell: noop\r\n })\r\n};\r\nexport default Views;\r\n","/**\r\n * DevExtreme (esm/ui/calendar/ui.calendar.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport Guid from \"../../core/guid\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isNumeric,\r\n isString,\r\n isFunction,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n inRange\r\n} from \"../../core/utils/math\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport Button from \"../button\";\r\nimport Editor from \"../editor/editor\";\r\nimport Swipeable from \"../../events/gesture/swipeable\";\r\nimport Navigator from \"./ui.calendar.navigator\";\r\nimport Views from \"./ui.calendar.views\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport dateSerialization from \"../../core/utils/date_serialization\";\r\nimport devices from \"../../core/devices\";\r\nimport fx from \"../../animation/fx\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport dateLocalization from \"../../localization/date\";\r\nimport {\r\n FunctionTemplate\r\n} from \"../../core/templates/function_template\";\r\nimport {\r\n isCommandKeyPressed\r\n} from \"../../events/utils/index\";\r\nvar CALENDAR_CLASS = \"dx-calendar\";\r\nvar CALENDAR_BODY_CLASS = \"dx-calendar-body\";\r\nvar CALENDAR_CELL_CLASS = \"dx-calendar-cell\";\r\nvar CALENDAR_FOOTER_CLASS = \"dx-calendar-footer\";\r\nvar CALENDAR_TODAY_BUTTON_CLASS = \"dx-calendar-today-button\";\r\nvar CALENDAR_HAS_FOOTER_CLASS = \"dx-calendar-with-footer\";\r\nvar CALENDAR_VIEWS_WRAPPER_CLASS = \"dx-calendar-views-wrapper\";\r\nvar CALENDAR_VIEW_CLASS = \"dx-calendar-view\";\r\nvar FOCUSED_STATE_CLASS = \"dx-state-focused\";\r\nvar ANIMATION_DURATION_SHOW_VIEW = 250;\r\nvar POP_ANIMATION_FROM = .6;\r\nvar POP_ANIMATION_TO = 1;\r\nvar CALENDAR_INPUT_STANDARD_PATTERN = \"yyyy-MM-dd\";\r\nvar CALENDAR_DATE_VALUE_KEY = \"dxDateValueKey\";\r\nvar LEVEL_COMPARE_MAP = {\r\n month: 3,\r\n year: 2,\r\n decade: 1,\r\n century: 0\r\n};\r\nvar ZOOM_LEVEL = {\r\n MONTH: \"month\",\r\n YEAR: \"year\",\r\n DECADE: \"decade\",\r\n CENTURY: \"century\"\r\n};\r\n\r\nfunction elementHasFocus(element) {\r\n return element.hasClass(FOCUSED_STATE_CLASS)\r\n}\r\nvar Calendar = Editor.inherit({\r\n _activeStateUnit: \".\" + CALENDAR_CELL_CLASS,\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n hoverStateEnabled: true,\r\n activeStateEnabled: true,\r\n currentDate: new Date,\r\n value: null,\r\n dateSerializationFormat: void 0,\r\n min: new Date(1e3, 0),\r\n max: new Date(3e3, 0),\r\n firstDayOfWeek: void 0,\r\n zoomLevel: ZOOM_LEVEL.MONTH,\r\n maxZoomLevel: ZOOM_LEVEL.MONTH,\r\n minZoomLevel: ZOOM_LEVEL.CENTURY,\r\n showTodayButton: false,\r\n showWeekNumbers: false,\r\n weekNumberRule: \"auto\",\r\n cellTemplate: \"cell\",\r\n disabledDates: null,\r\n onCellClick: null,\r\n onContouredChanged: null,\r\n skipFocusCheck: false,\r\n _todayDate: () => new Date\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }])\r\n },\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), {\r\n rightArrow: function(e) {\r\n e.preventDefault();\r\n if (isCommandKeyPressed(e)) {\r\n this._waitRenderView(1)\r\n } else {\r\n this._moveCurrentDateByOffset(1 * this._getRtlCorrection())\r\n }\r\n },\r\n leftArrow: function(e) {\r\n e.preventDefault();\r\n if (isCommandKeyPressed(e)) {\r\n this._waitRenderView(-1)\r\n } else {\r\n this._moveCurrentDateByOffset(-1 * this._getRtlCorrection())\r\n }\r\n },\r\n upArrow: function(e) {\r\n e.preventDefault();\r\n if (isCommandKeyPressed(e)) {\r\n this._navigateUp()\r\n } else {\r\n if (fx.isAnimating(this._view.$element())) {\r\n return\r\n }\r\n this._moveCurrentDateByOffset(-1 * this._view.option(\"colCount\"))\r\n }\r\n },\r\n downArrow: function(e) {\r\n e.preventDefault();\r\n if (isCommandKeyPressed(e)) {\r\n this._navigateDown()\r\n } else {\r\n if (fx.isAnimating(this._view.$element())) {\r\n return\r\n }\r\n this._moveCurrentDateByOffset(1 * this._view.option(\"colCount\"))\r\n }\r\n },\r\n home: function(e) {\r\n e.preventDefault();\r\n var zoomLevel = this.option(\"zoomLevel\");\r\n var currentDate = this.option(\"currentDate\");\r\n var min = this._dateOption(\"min\");\r\n if (this._view.isDateDisabled(currentDate)) {\r\n return\r\n }\r\n var date = dateUtils.sameView(zoomLevel, currentDate, min) ? min : dateUtils.getViewFirstCellDate(zoomLevel, currentDate);\r\n this._moveToClosestAvailableDate(date)\r\n },\r\n end: function(e) {\r\n e.preventDefault();\r\n var zoomLevel = this.option(\"zoomLevel\");\r\n var currentDate = this.option(\"currentDate\");\r\n var max = this._dateOption(\"max\");\r\n if (this._view.isDateDisabled(currentDate)) {\r\n return\r\n }\r\n var date = dateUtils.sameView(zoomLevel, currentDate, max) ? max : dateUtils.getViewLastCellDate(zoomLevel, currentDate);\r\n this._moveToClosestAvailableDate(date)\r\n },\r\n pageUp: function(e) {\r\n e.preventDefault();\r\n this._waitRenderView(-1 * this._getRtlCorrection())\r\n },\r\n pageDown: function(e) {\r\n e.preventDefault();\r\n this._waitRenderView(1 * this._getRtlCorrection())\r\n },\r\n tab: noop,\r\n enter: function(e) {\r\n if (!this._isMaxZoomLevel()) {\r\n this._navigateDown()\r\n } else if (!this._view.isDateDisabled(this.option(\"currentDate\"))) {\r\n var value = this._updateTimeComponent(this.option(\"currentDate\"));\r\n this._dateValue(value, e)\r\n }\r\n }\r\n })\r\n },\r\n _getSerializationFormat: function(optionName) {\r\n var value = this.option(optionName || \"value\");\r\n if (this.option(\"dateSerializationFormat\")) {\r\n return this.option(\"dateSerializationFormat\")\r\n }\r\n if (isNumeric(value)) {\r\n return \"number\"\r\n }\r\n if (!isString(value)) {\r\n return\r\n }\r\n return dateSerialization.getDateSerializationFormat(value)\r\n },\r\n _convertToDate: function(value, optionName) {\r\n return dateSerialization.deserializeDate(value)\r\n },\r\n _dateValue: function(value, event) {\r\n if (event) {\r\n if (\"keydown\" === event.type) {\r\n var cellElement = this._view._getContouredCell().get(0);\r\n event.target = cellElement\r\n }\r\n this._saveValueChangeEvent(event)\r\n }\r\n this._dateOption(\"value\", value)\r\n },\r\n _dateOption: function(optionName, optionValue) {\r\n if (1 === arguments.length) {\r\n return this._convertToDate(this.option(optionName), optionName)\r\n }\r\n var serializationFormat = this._getSerializationFormat(optionName);\r\n this.option(optionName, dateSerialization.serializeDate(optionValue, serializationFormat))\r\n },\r\n _shiftDate: function(zoomLevel, date, offset, reverse) {\r\n switch (zoomLevel) {\r\n case ZOOM_LEVEL.MONTH:\r\n date.setDate(date.getDate() + offset * reverse);\r\n break;\r\n case ZOOM_LEVEL.YEAR:\r\n date.setMonth(date.getMonth() + offset * reverse);\r\n break;\r\n case ZOOM_LEVEL.DECADE:\r\n date.setFullYear(date.getFullYear() + offset * reverse);\r\n break;\r\n case ZOOM_LEVEL.CENTURY:\r\n date.setFullYear(date.getFullYear() + 10 * offset * reverse)\r\n }\r\n },\r\n _moveCurrentDateByOffset: function(offset) {\r\n var baseDate = this.option(\"currentDate\");\r\n var currentDate = new Date(baseDate);\r\n var zoomLevel = this.option(\"zoomLevel\");\r\n this._shiftDate(zoomLevel, currentDate, offset, 1);\r\n var maxDate = this._getMaxDate();\r\n var minDate = this._getMinDate();\r\n var isDateForwardInNeighborView = this._areDatesInNeighborView(zoomLevel, currentDate, baseDate);\r\n var isDateForwardInRange = inRange(currentDate, minDate, maxDate) && isDateForwardInNeighborView;\r\n var dateForward = new Date(currentDate);\r\n while (isDateForwardInRange) {\r\n if (!this._view.isDateDisabled(dateForward)) {\r\n currentDate = dateForward;\r\n break\r\n }\r\n this._shiftDate(zoomLevel, dateForward, offset, 1);\r\n isDateForwardInNeighborView = this._areDatesInNeighborView(zoomLevel, dateForward, baseDate);\r\n isDateForwardInRange = inRange(dateForward, minDate, maxDate) && isDateForwardInNeighborView\r\n }\r\n if (this._view.isDateDisabled(baseDate) || this._view.isDateDisabled(currentDate)) {\r\n this._waitRenderView(offset > 0 ? 1 : -1)\r\n } else {\r\n this.option(\"currentDate\", currentDate)\r\n }\r\n },\r\n _areDatesInSameView(zoomLevel, date1, date2) {\r\n switch (zoomLevel) {\r\n case ZOOM_LEVEL.MONTH:\r\n return date1.getMonth() === date2.getMonth();\r\n case ZOOM_LEVEL.YEAR:\r\n return date1.getYear() === date2.getYear();\r\n case ZOOM_LEVEL.DECADE:\r\n return parseInt(date1.getYear() / 10) === parseInt(date2.getYear() / 10);\r\n case ZOOM_LEVEL.CENTURY:\r\n return parseInt(date1.getYear() / 100) === parseInt(date2.getYear() / 100)\r\n }\r\n },\r\n _areDatesInNeighborView(zoomLevel, date1, date2) {\r\n switch (zoomLevel) {\r\n case ZOOM_LEVEL.MONTH:\r\n return (a = date1.getMonth(), b = date2.getMonth(), abs = Math.abs(a - b), Math.min(abs, 12 - abs)) <= 1;\r\n case ZOOM_LEVEL.YEAR:\r\n return Math.abs(date1.getYear() - date2.getYear()) <= 1;\r\n case ZOOM_LEVEL.DECADE:\r\n return Math.abs(date1.getYear() - date2.getYear()) <= 10;\r\n case ZOOM_LEVEL.CENTURY:\r\n return Math.abs(date1.getYear() - date2.getYear()) <= 100\r\n }\r\n var a, b, abs\r\n },\r\n _moveToClosestAvailableDate: function() {\r\n var baseDate = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.option(\"currentDate\");\r\n var currentDate = new Date(baseDate);\r\n var zoomLevel = this.option(\"zoomLevel\");\r\n var isCurrentDateAvailable = !this._isDateNotAvailable(currentDate);\r\n var isDateForwardAvailable = isCurrentDateAvailable;\r\n var isDateBackwardAvailable = isCurrentDateAvailable;\r\n var isDateForwardInStartView;\r\n var isDateBackwardInStartView;\r\n var dateForward = new Date(currentDate);\r\n var dateBackward = new Date(currentDate);\r\n do {\r\n if (isDateForwardAvailable) {\r\n currentDate = dateForward;\r\n break\r\n }\r\n if (isDateBackwardAvailable) {\r\n currentDate = dateBackward;\r\n break\r\n }\r\n this._shiftDate(zoomLevel, dateForward, 1, 1);\r\n this._shiftDate(zoomLevel, dateBackward, 1, -1);\r\n isDateForwardInStartView = this._areDatesInSameView(zoomLevel, dateForward, baseDate);\r\n isDateBackwardInStartView = this._areDatesInSameView(zoomLevel, dateBackward, baseDate);\r\n isDateForwardAvailable = isDateForwardInStartView && !this._isDateNotAvailable(dateForward);\r\n isDateBackwardAvailable = isDateBackwardInStartView && !this._isDateNotAvailable(dateBackward)\r\n } while (isDateForwardInStartView || isDateBackwardInStartView);\r\n this.option(\"currentDate\", currentDate)\r\n },\r\n _isDateNotAvailable: function(date) {\r\n var maxDate = this._getMaxDate();\r\n var minDate = this._getMinDate();\r\n return !inRange(date, minDate, maxDate) || this._view.isDateDisabled(date)\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._correctZoomLevel();\r\n this._initCurrentDate();\r\n this._initActions()\r\n },\r\n _correctZoomLevel: function() {\r\n var minZoomLevel = this.option(\"minZoomLevel\");\r\n var maxZoomLevel = this.option(\"maxZoomLevel\");\r\n var zoomLevel = this.option(\"zoomLevel\");\r\n if (LEVEL_COMPARE_MAP[maxZoomLevel] < LEVEL_COMPARE_MAP[minZoomLevel]) {\r\n return\r\n }\r\n if (LEVEL_COMPARE_MAP[zoomLevel] > LEVEL_COMPARE_MAP[maxZoomLevel]) {\r\n this.option(\"zoomLevel\", maxZoomLevel)\r\n } else if (LEVEL_COMPARE_MAP[zoomLevel] < LEVEL_COMPARE_MAP[minZoomLevel]) {\r\n this.option(\"zoomLevel\", minZoomLevel)\r\n }\r\n },\r\n _initCurrentDate: function() {\r\n var currentDate = this._getNormalizedDate(this._dateOption(\"value\")) || this._getNormalizedDate(this.option(\"currentDate\"));\r\n this.option(\"currentDate\", currentDate)\r\n },\r\n _getNormalizedDate: function(date) {\r\n date = dateUtils.normalizeDate(date, this._getMinDate(), this._getMaxDate());\r\n return isDefined(date) ? this._getDate(date) : date\r\n },\r\n _initActions: function() {\r\n this._cellClickAction = this._createActionByOption(\"onCellClick\");\r\n this._onContouredChanged = this._createActionByOption(\"onContouredChanged\")\r\n },\r\n _initTemplates: function() {\r\n this._templateManager.addDefaultTemplates({\r\n cell: new FunctionTemplate((function(options) {\r\n var data = options.model;\r\n $(options.container).append($(\"<span>\").text(data && data.text || String(data)))\r\n }))\r\n });\r\n this.callBase()\r\n },\r\n _updateCurrentDate: function(date) {\r\n if (fx.isAnimating(this._$viewsWrapper)) {\r\n fx.stop(this._$viewsWrapper, true)\r\n }\r\n var min = this._getMinDate();\r\n var max = this._getMaxDate();\r\n if (min > max) {\r\n this.option(\"currentDate\", new Date);\r\n return\r\n }\r\n var normalizedDate = this._getNormalizedDate(date);\r\n if (date.getTime() !== normalizedDate.getTime()) {\r\n this.option(\"currentDate\", new Date(normalizedDate));\r\n return\r\n }\r\n var offset = this._getViewsOffset(this._view.option(\"date\"), normalizedDate);\r\n if (0 !== offset && !this._isMaxZoomLevel() && this._isOtherViewCellClicked) {\r\n offset = 0\r\n }\r\n if (this._view && 0 !== offset && !this._suppressNavigation) {\r\n this._navigate(offset, normalizedDate)\r\n } else {\r\n this._renderNavigator();\r\n this._setViewContoured(normalizedDate);\r\n this._updateAriaId(normalizedDate)\r\n }\r\n },\r\n _setViewContoured: function(date) {\r\n if (this.option(\"skipFocusCheck\") || elementHasFocus(this._focusTarget())) {\r\n this._view.option(\"contouredDate\", date)\r\n }\r\n },\r\n _getMinDate: function() {\r\n if (this.min) {\r\n return this.min\r\n }\r\n this.min = this._dateOption(\"min\") || new Date(1e3, 0);\r\n return this.min\r\n },\r\n _getMaxDate: function() {\r\n if (this.max) {\r\n return this.max\r\n }\r\n this.max = this._dateOption(\"max\") || new Date(3e3, 0);\r\n return this.max\r\n },\r\n _getViewsOffset: function(startDate, endDate) {\r\n var zoomLevel = this.option(\"zoomLevel\");\r\n if (zoomLevel === ZOOM_LEVEL.MONTH) {\r\n return this._getMonthsOffset(startDate, endDate)\r\n }\r\n var zoomCorrection;\r\n switch (zoomLevel) {\r\n case ZOOM_LEVEL.CENTURY:\r\n zoomCorrection = 100;\r\n break;\r\n case ZOOM_LEVEL.DECADE:\r\n zoomCorrection = 10;\r\n break;\r\n default:\r\n zoomCorrection = 1\r\n }\r\n return parseInt(endDate.getFullYear() / zoomCorrection) - parseInt(startDate.getFullYear() / zoomCorrection)\r\n },\r\n _getMonthsOffset: function(startDate, endDate) {\r\n var yearOffset = endDate.getFullYear() - startDate.getFullYear();\r\n var monthOffset = endDate.getMonth() - startDate.getMonth();\r\n return 12 * yearOffset + monthOffset\r\n },\r\n _waitRenderView: function(offset) {\r\n if (this._alreadyViewRender) {\r\n return\r\n }\r\n this._alreadyViewRender = true;\r\n var date = this._getDateByOffset(offset * this._getRtlCorrection());\r\n this._moveToClosestAvailableDate(date);\r\n this._waitRenderViewTimeout = setTimeout(() => {\r\n this._alreadyViewRender = false\r\n })\r\n },\r\n _getRtlCorrection: function() {\r\n return this.option(\"rtlEnabled\") ? -1 : 1\r\n },\r\n _getDateByOffset: function(offset, date) {\r\n var _date;\r\n date = this._getDate(null !== (_date = date) && void 0 !== _date ? _date : this.option(\"currentDate\"));\r\n var currentDay = date.getDate();\r\n var difference = dateUtils.getDifferenceInMonth(this.option(\"zoomLevel\")) * offset;\r\n date.setDate(1);\r\n date.setMonth(date.getMonth() + difference);\r\n var lastDay = dateUtils.getLastMonthDate(date).getDate();\r\n date.setDate(currentDay > lastDay ? lastDay : currentDay);\r\n return date\r\n },\r\n _focusTarget: function() {\r\n return this.$element()\r\n },\r\n _initMarkup: function() {\r\n this._renderSubmitElement();\r\n this.callBase();\r\n var $element = this.$element();\r\n $element.addClass(CALENDAR_CLASS);\r\n this._renderBody();\r\n $element.append(this.$body);\r\n this._renderViews();\r\n this._renderNavigator();\r\n $element.append(this._navigator.$element());\r\n this._renderSwipeable();\r\n this._renderFooter();\r\n this._updateAriaSelected();\r\n this._updateAriaId();\r\n this._moveToClosestAvailableDate()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._setViewContoured(this.option(\"currentDate\"))\r\n },\r\n _renderBody: function() {\r\n if (!this._$viewsWrapper) {\r\n this.$body = $(\"<div>\").addClass(CALENDAR_BODY_CLASS);\r\n this._$viewsWrapper = $(\"<div>\").addClass(CALENDAR_VIEWS_WRAPPER_CLASS);\r\n this.$body.append(this._$viewsWrapper)\r\n }\r\n },\r\n _getKeyboardListeners() {\r\n return this.callBase().concat([this._view])\r\n },\r\n _renderViews: function() {\r\n this.$element().addClass(CALENDAR_VIEW_CLASS + \"-\" + this.option(\"zoomLevel\"));\r\n var currentDate = this.option(\"currentDate\");\r\n this._view = this._renderSpecificView(currentDate);\r\n if (hasWindow()) {\r\n var beforeDate = this._getDateByOffset(-1, currentDate);\r\n this._beforeView = this._isViewAvailable(beforeDate) ? this._renderSpecificView(beforeDate) : null;\r\n var afterDate = this._getDateByOffset(1, currentDate);\r\n afterDate.setDate(1);\r\n this._afterView = this._isViewAvailable(afterDate) ? this._renderSpecificView(afterDate) : null\r\n }\r\n this._translateViews()\r\n },\r\n _renderSpecificView: function(date) {\r\n var specificView = Views[this.option(\"zoomLevel\")];\r\n var $view = $(\"<div>\").appendTo(this._$viewsWrapper);\r\n var config = this._viewConfig(date);\r\n return this._createComponent($view, specificView, config)\r\n },\r\n _viewConfig: function(date) {\r\n var _this$option;\r\n var disabledDates = this.option(\"disabledDates\");\r\n disabledDates = isFunction(disabledDates) ? this._injectComponent(disabledDates.bind(this)) : disabledDates;\r\n return {\r\n date: date,\r\n min: this._getMinDate(),\r\n max: this._getMaxDate(),\r\n firstDayOfWeek: null !== (_this$option = this.option(\"firstDayOfWeek\")) && void 0 !== _this$option ? _this$option : dateLocalization.firstDayOfWeekIndex(),\r\n showWeekNumbers: this.option(\"showWeekNumbers\"),\r\n weekNumberRule: this.option(\"weekNumberRule\"),\r\n zoomLevel: this.option(\"zoomLevel\"),\r\n value: this._dateOption(\"value\"),\r\n tabIndex: void 0,\r\n focusStateEnabled: this.option(\"focusStateEnabled\"),\r\n hoverStateEnabled: this.option(\"hoverStateEnabled\"),\r\n disabledDates: disabledDates,\r\n onCellClick: this._cellClickHandler.bind(this),\r\n cellTemplate: this._getTemplateByOption(\"cellTemplate\"),\r\n allowValueSelection: this._isMaxZoomLevel(),\r\n _todayDate: this.option(\"_todayDate\")\r\n }\r\n },\r\n _injectComponent: function(func) {\r\n var that = this;\r\n return function(params) {\r\n extend(params, {\r\n component: that\r\n });\r\n return func(params)\r\n }\r\n },\r\n _isViewAvailable: function(date) {\r\n var zoomLevel = this.option(\"zoomLevel\");\r\n var min = dateUtils.getViewMinBoundaryDate(zoomLevel, this._getMinDate());\r\n var max = dateUtils.getViewMaxBoundaryDate(zoomLevel, this._getMaxDate());\r\n return dateUtils.dateInRange(date, min, max)\r\n },\r\n _translateViews: function() {\r\n move(this._view.$element(), {\r\n left: 0,\r\n top: 0\r\n });\r\n this._beforeView && move(this._beforeView.$element(), {\r\n left: this._getViewPosition(-1),\r\n top: 0\r\n });\r\n this._afterView && move(this._afterView.$element(), {\r\n left: this._getViewPosition(1),\r\n top: 0\r\n })\r\n },\r\n _getViewPosition: function(coefficient) {\r\n var rtlCorrection = this.option(\"rtlEnabled\") ? -1 : 1;\r\n return 100 * coefficient * rtlCorrection + \"%\"\r\n },\r\n _cellClickHandler: function(e) {\r\n var zoomLevel = this.option(\"zoomLevel\");\r\n var nextView = dateUtils.getViewDown(zoomLevel);\r\n var isMaxZoomLevel = this._isMaxZoomLevel();\r\n if (nextView && !isMaxZoomLevel) {\r\n this._navigateDown(e.event.currentTarget)\r\n } else {\r\n var newValue = this._updateTimeComponent(e.value);\r\n this._dateValue(newValue, e.event);\r\n this._cellClickAction(e)\r\n }\r\n },\r\n _updateTimeComponent: function(date) {\r\n var result = new Date(date);\r\n var currentValue = this._dateOption(\"value\");\r\n if (currentValue) {\r\n result.setHours(currentValue.getHours());\r\n result.setMinutes(currentValue.getMinutes());\r\n result.setSeconds(currentValue.getSeconds());\r\n result.setMilliseconds(currentValue.getMilliseconds())\r\n }\r\n return result\r\n },\r\n _isMaxZoomLevel: function() {\r\n return this.option(\"zoomLevel\") === this.option(\"maxZoomLevel\")\r\n },\r\n _navigateDown: function(cell) {\r\n var zoomLevel = this.option(\"zoomLevel\");\r\n if (this._isMaxZoomLevel()) {\r\n return\r\n }\r\n var nextView = dateUtils.getViewDown(zoomLevel);\r\n if (!nextView) {\r\n return\r\n }\r\n var newCurrentDate = this._view.option(\"contouredDate\") || this._view.option(\"date\");\r\n if (cell) {\r\n newCurrentDate = $(cell).data(CALENDAR_DATE_VALUE_KEY)\r\n }\r\n this._isOtherViewCellClicked = true;\r\n this.option(\"currentDate\", newCurrentDate);\r\n this.option(\"zoomLevel\", nextView);\r\n this._isOtherViewCellClicked = false;\r\n this._renderNavigator();\r\n this._animateShowView();\r\n this._moveToClosestAvailableDate();\r\n this._setViewContoured(this._getNormalizedDate(this.option(\"currentDate\")))\r\n },\r\n _renderNavigator: function() {\r\n if (!this._navigator) {\r\n this._navigator = new Navigator($(\"<div>\"), this._navigatorConfig())\r\n }\r\n this._navigator.option(\"text\", this._view.getNavigatorCaption());\r\n this._updateButtonsVisibility()\r\n },\r\n _navigatorConfig: function() {\r\n return {\r\n text: this._view.getNavigatorCaption(),\r\n onClick: this._navigatorClickHandler.bind(this),\r\n onCaptionClick: this._navigateUp.bind(this),\r\n rtlEnabled: this.option(\"rtlEnabled\")\r\n }\r\n },\r\n _navigatorClickHandler: function(e) {\r\n var currentDate = this._getDateByOffset(e.direction, this.option(\"currentDate\"));\r\n this._moveToClosestAvailableDate(currentDate)\r\n },\r\n _navigateUp: function() {\r\n var zoomLevel = this.option(\"zoomLevel\");\r\n var nextView = dateUtils.getViewUp(zoomLevel);\r\n if (!nextView || this._isMinZoomLevel(zoomLevel)) {\r\n return\r\n }\r\n this.option(\"zoomLevel\", nextView);\r\n this._renderNavigator();\r\n this._animateShowView();\r\n this._moveToClosestAvailableDate();\r\n this._setViewContoured(this._getNormalizedDate(this.option(\"currentDate\")))\r\n },\r\n _isMinZoomLevel: function(zoomLevel) {\r\n var min = this._getMinDate();\r\n var max = this._getMaxDate();\r\n return dateUtils.sameView(zoomLevel, min, max) || this.option(\"minZoomLevel\") === zoomLevel\r\n },\r\n _updateButtonsVisibility: function() {\r\n this._navigator.toggleButton(\"next\", !isDefined(this._getRequiredView(\"next\")));\r\n this._navigator.toggleButton(\"prev\", !isDefined(this._getRequiredView(\"prev\")))\r\n },\r\n _renderSwipeable: function() {\r\n if (!this._swipeable) {\r\n this._swipeable = this._createComponent(this.$element(), Swipeable, {\r\n onStart: this._swipeStartHandler.bind(this),\r\n onUpdated: this._swipeUpdateHandler.bind(this),\r\n onEnd: this._swipeEndHandler.bind(this),\r\n itemSizeFunc: this._viewWidth.bind(this)\r\n })\r\n }\r\n },\r\n _swipeStartHandler: function(e) {\r\n fx.stop(this._$viewsWrapper, true);\r\n e.event.maxLeftOffset = this._getRequiredView(\"next\") ? 1 : 0;\r\n e.event.maxRightOffset = this._getRequiredView(\"prev\") ? 1 : 0\r\n },\r\n _getRequiredView: function(name) {\r\n var view;\r\n var isRtl = this.option(\"rtlEnabled\");\r\n if (\"next\" === name) {\r\n view = isRtl ? this._beforeView : this._afterView\r\n } else if (\"prev\" === name) {\r\n view = isRtl ? this._afterView : this._beforeView\r\n }\r\n return view\r\n },\r\n _swipeUpdateHandler: function(e) {\r\n var offset = e.event.offset;\r\n move(this._$viewsWrapper, {\r\n left: offset * this._viewWidth(),\r\n top: 0\r\n });\r\n this._updateNavigatorCaption(offset)\r\n },\r\n _swipeEndHandler: function(e) {\r\n var targetOffset = e.event.targetOffset;\r\n var moveOffset = !targetOffset ? 0 : targetOffset / Math.abs(targetOffset);\r\n if (0 === moveOffset) {\r\n this._animateWrapper(0, ANIMATION_DURATION_SHOW_VIEW);\r\n return\r\n }\r\n var date = this._getDateByOffset(-moveOffset * this._getRtlCorrection());\r\n if (this._isDateInInvalidRange(date)) {\r\n if (moveOffset >= 0) {\r\n date = new Date(this._getMinDate())\r\n } else {\r\n date = new Date(this._getMaxDate())\r\n }\r\n }\r\n this.option(\"currentDate\", date)\r\n },\r\n _viewWidth: function() {\r\n if (!this._viewWidthValue) {\r\n this._viewWidthValue = getWidth(this.$element())\r\n }\r\n return this._viewWidthValue\r\n },\r\n _updateNavigatorCaption: function(offset) {\r\n offset *= this._getRtlCorrection();\r\n var view = this._view;\r\n if (offset > .5 && this._beforeView) {\r\n view = this._beforeView\r\n } else if (offset < -.5 && this._afterView) {\r\n view = this._afterView\r\n }\r\n this._navigator.option(\"text\", view.getNavigatorCaption())\r\n },\r\n _isDateInInvalidRange: function(date) {\r\n if (this._view.isBoundary(date)) {\r\n return\r\n }\r\n var min = this._getMinDate();\r\n var max = this._getMaxDate();\r\n var normalizedDate = dateUtils.normalizeDate(date, min, max);\r\n return normalizedDate === min || normalizedDate === max\r\n },\r\n _renderFooter: function() {\r\n var showTodayButton = this.option(\"showTodayButton\");\r\n if (showTodayButton) {\r\n var $todayButton = this._createComponent($(\"<a>\"), Button, {\r\n focusStateEnabled: false,\r\n text: messageLocalization.format(\"dxCalendar-todayButtonText\"),\r\n onClick: function(args) {\r\n this._toTodayView(args)\r\n }.bind(this),\r\n integrationOptions: {}\r\n }).$element().addClass(CALENDAR_TODAY_BUTTON_CLASS);\r\n this._$footer = $(\"<div>\").addClass(CALENDAR_FOOTER_CLASS).append($todayButton);\r\n this.$element().append(this._$footer)\r\n }\r\n this.$element().toggleClass(CALENDAR_HAS_FOOTER_CLASS, showTodayButton)\r\n },\r\n _renderSubmitElement: function() {\r\n this._$submitElement = $(\"<input>\").attr(\"type\", \"hidden\").appendTo(this.$element());\r\n this._setSubmitValue(this.option(\"value\"))\r\n },\r\n _setSubmitValue: function(value) {\r\n var dateValue = this._convertToDate(value);\r\n this._getSubmitElement().val(dateSerialization.serializeDate(dateValue, CALENDAR_INPUT_STANDARD_PATTERN))\r\n },\r\n _getSubmitElement: function() {\r\n return this._$submitElement\r\n },\r\n _animateShowView: function() {\r\n fx.stop(this._view.$element(), true);\r\n return this._popAnimationView(this._view, POP_ANIMATION_FROM, POP_ANIMATION_TO, ANIMATION_DURATION_SHOW_VIEW).promise()\r\n },\r\n _popAnimationView: function(view, from, to, duration) {\r\n return fx.animate(view.$element(), {\r\n type: \"pop\",\r\n from: {\r\n scale: from,\r\n opacity: from\r\n },\r\n to: {\r\n scale: to,\r\n opacity: to\r\n },\r\n duration: duration\r\n })\r\n },\r\n _navigate: function(offset, value) {\r\n if (0 !== offset && 1 !== Math.abs(offset) && this._isViewAvailable(value)) {\r\n var newView = this._renderSpecificView(value);\r\n if (offset > 0) {\r\n this._afterView && this._afterView.$element().remove();\r\n this._afterView = newView\r\n } else {\r\n this._beforeView && this._beforeView.$element().remove();\r\n this._beforeView = newView\r\n }\r\n this._translateViews()\r\n }\r\n var rtlCorrection = this._getRtlCorrection();\r\n var offsetSign = offset > 0 ? 1 : offset < 0 ? -1 : 0;\r\n var endPosition = -rtlCorrection * offsetSign * this._viewWidth();\r\n var viewsWrapperPosition = this._$viewsWrapper.position().left;\r\n if (viewsWrapperPosition !== endPosition) {\r\n if (this._preventViewChangeAnimation) {\r\n this._wrapperAnimationEndHandler(offset, value)\r\n } else {\r\n this._animateWrapper(endPosition, ANIMATION_DURATION_SHOW_VIEW).done(this._wrapperAnimationEndHandler.bind(this, offset, value))\r\n }\r\n }\r\n },\r\n _animateWrapper: function(to, duration) {\r\n return fx.animate(this._$viewsWrapper, {\r\n type: \"slide\",\r\n from: {\r\n left: this._$viewsWrapper.position().left\r\n },\r\n to: {\r\n left: to\r\n },\r\n duration: duration\r\n })\r\n },\r\n _getDate: value => new Date(value),\r\n _toTodayView: function(args) {\r\n this._saveValueChangeEvent(args.event);\r\n var today = new Date;\r\n if (this._isMaxZoomLevel()) {\r\n this._dateOption(\"value\", today);\r\n return\r\n }\r\n this._preventViewChangeAnimation = true;\r\n this.option(\"zoomLevel\", this.option(\"maxZoomLevel\"));\r\n this._dateOption(\"value\", today);\r\n this._animateShowView();\r\n this._preventViewChangeAnimation = false\r\n },\r\n _wrapperAnimationEndHandler: function(offset, newDate) {\r\n this._rearrangeViews(offset);\r\n this._translateViews();\r\n this._resetLocation();\r\n this._renderNavigator();\r\n this._setViewContoured(newDate);\r\n this._updateAriaId(newDate);\r\n this._updateAriaSelected()\r\n },\r\n _rearrangeViews: function(offset) {\r\n if (0 === offset) {\r\n return\r\n }\r\n var viewOffset;\r\n var viewToCreateKey;\r\n var viewToRemoveKey;\r\n if (offset < 0) {\r\n viewOffset = 1;\r\n viewToCreateKey = \"_beforeView\";\r\n viewToRemoveKey = \"_afterView\"\r\n } else {\r\n viewOffset = -1;\r\n viewToCreateKey = \"_afterView\";\r\n viewToRemoveKey = \"_beforeView\"\r\n }\r\n if (!this[viewToCreateKey]) {\r\n return\r\n }\r\n var destinationDate = this[viewToCreateKey].option(\"date\");\r\n if (this[viewToRemoveKey]) {\r\n this[viewToRemoveKey].$element().remove()\r\n }\r\n if (offset === viewOffset) {\r\n this[viewToRemoveKey] = this._view\r\n } else {\r\n this[viewToRemoveKey] = this._renderSpecificView(this._getDateByOffset(viewOffset, destinationDate));\r\n this._view.$element().remove()\r\n }\r\n this._view = this[viewToCreateKey];\r\n var dateByOffset = this._getDateByOffset(-viewOffset, destinationDate);\r\n this[viewToCreateKey] = this._isViewAvailable(dateByOffset) ? this._renderSpecificView(dateByOffset) : null\r\n },\r\n _resetLocation: function() {\r\n move(this._$viewsWrapper, {\r\n left: 0,\r\n top: 0\r\n })\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n this._clearViewWidthCache();\r\n delete this._$viewsWrapper;\r\n delete this._navigator;\r\n delete this._$footer\r\n },\r\n _clearViewWidthCache: function() {\r\n delete this._viewWidthValue\r\n },\r\n _disposeViews: function() {\r\n this._view.$element().remove();\r\n this._beforeView && this._beforeView.$element().remove();\r\n this._afterView && this._afterView.$element().remove();\r\n delete this._view;\r\n delete this._beforeView;\r\n delete this._afterView\r\n },\r\n _dispose: function() {\r\n clearTimeout(this._waitRenderViewTimeout);\r\n this.callBase()\r\n },\r\n _refreshViews: function() {\r\n this._disposeViews();\r\n this._renderViews()\r\n },\r\n _visibilityChanged: function() {\r\n this._translateViews()\r\n },\r\n _focusInHandler: function() {\r\n this.callBase.apply(this, arguments);\r\n this._view.option(\"contouredDate\", this.option(\"currentDate\"))\r\n },\r\n _focusOutHandler: function() {\r\n this.callBase.apply(this, arguments);\r\n this._view.option(\"contouredDate\", null)\r\n },\r\n _updateViewsValue: function(value) {\r\n var newValue = value ? new Date(value) : null;\r\n this._view.option(\"value\", newValue);\r\n this._beforeView && this._beforeView.option(\"value\", newValue);\r\n this._afterView && this._afterView.option(\"value\", newValue)\r\n },\r\n _updateAriaSelected: function(value, previousValue) {\r\n var _value;\r\n value = null !== (_value = value) && void 0 !== _value ? _value : this._dateOption(\"value\");\r\n var $prevSelectedCell = this._view._getCellByDate(previousValue);\r\n var $selectedCell = this._view._getCellByDate(value);\r\n this.setAria(\"selected\", void 0, $prevSelectedCell);\r\n this.setAria(\"selected\", true, $selectedCell);\r\n if (value && this.option(\"currentDate\").getTime() === value.getTime()) {\r\n this._updateAriaId(value)\r\n }\r\n },\r\n _updateAriaId: function(value) {\r\n var _value2;\r\n value = null !== (_value2 = value) && void 0 !== _value2 ? _value2 : this.option(\"currentDate\");\r\n var ariaId = \"dx-\" + new Guid;\r\n var $newCell = this._view._getCellByDate(value);\r\n this.setAria(\"id\", ariaId, $newCell);\r\n this.setAria(\"activedescendant\", ariaId);\r\n this._onContouredChanged(ariaId)\r\n },\r\n _suppressingNavigation: function(callback, args) {\r\n this._suppressNavigation = true;\r\n callback.apply(this, args);\r\n delete this._suppressNavigation\r\n },\r\n _optionChanged: function(args) {\r\n var value = args.value;\r\n var previousValue = args.previousValue;\r\n switch (args.name) {\r\n case \"width\":\r\n this.callBase(args);\r\n this._clearViewWidthCache();\r\n break;\r\n case \"min\":\r\n case \"max\":\r\n this.min = void 0;\r\n this.max = void 0;\r\n this._suppressingNavigation(this._updateCurrentDate, [this.option(\"currentDate\")]);\r\n this._refreshViews();\r\n this._renderNavigator();\r\n break;\r\n case \"firstDayOfWeek\":\r\n this._refreshViews();\r\n this._updateButtonsVisibility();\r\n break;\r\n case \"currentDate\":\r\n this.setAria(\"id\", void 0, this._view._getCellByDate(previousValue));\r\n this._updateCurrentDate(value);\r\n break;\r\n case \"zoomLevel\":\r\n this.$element().removeClass(CALENDAR_VIEW_CLASS + \"-\" + previousValue);\r\n this._correctZoomLevel();\r\n this._refreshViews();\r\n this._renderNavigator();\r\n this._updateAriaId();\r\n break;\r\n case \"minZoomLevel\":\r\n case \"maxZoomLevel\":\r\n this._correctZoomLevel();\r\n this._updateButtonsVisibility();\r\n break;\r\n case \"value\":\r\n value = this._convertToDate(value);\r\n previousValue = this._convertToDate(previousValue);\r\n this._updateAriaSelected(value, previousValue);\r\n this.option(\"currentDate\", isDefined(value) ? new Date(value) : new Date);\r\n this._updateViewsValue(value);\r\n this._setSubmitValue(value);\r\n this.callBase(args);\r\n break;\r\n case \"onCellClick\":\r\n this._view.option(\"onCellClick\", value);\r\n break;\r\n case \"onContouredChanged\":\r\n this._onContouredChanged = this._createActionByOption(\"onContouredChanged\");\r\n break;\r\n case \"disabledDates\":\r\n case \"dateSerializationFormat\":\r\n case \"cellTemplate\":\r\n case \"showTodayButton\":\r\n this._invalidate();\r\n break;\r\n case \"skipFocusCheck\":\r\n break;\r\n case \"_todayDate\":\r\n case \"showWeekNumbers\":\r\n case \"weekNumberRule\":\r\n this._refreshViews();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n getContouredDate: function() {\r\n return this._view.option(\"contouredDate\")\r\n }\r\n});\r\nregisterComponent(\"dxCalendar\", Calendar);\r\nexport default Calendar;\r\n","/**\r\n * DevExtreme (esm/ui/calendar.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Calendar from \"./calendar/ui.calendar\";\r\nexport default Calendar;\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/editors/editor.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nimport Component from \"../common/component\";\r\nimport ValidationEngine from \"../../../ui/validation_engine\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n data\r\n} from \"../../../core/element_data\";\r\nimport Callbacks from \"../../../core/utils/callbacks\";\r\nimport OldEditor from \"../../../ui/editor/editor\";\r\nimport {\r\n querySelectorInSameDocument\r\n} from \"../../utils/dom\";\r\nvar INVALID_MESSAGE_AUTO = \"dx-invalid-message-auto\";\r\nvar VALIDATION_TARGET = \"dx-validation-target\";\r\nexport default class Editor extends Component {\r\n getProps() {\r\n var props = super.getProps();\r\n props.onFocusIn = () => {\r\n var isValidationMessageShownOnFocus = \"auto\" === this.option(\"validationMessageMode\");\r\n if (isValidationMessageShownOnFocus) {\r\n var $validationMessageWrapper = $(querySelectorInSameDocument(this.element(), \".dx-invalid-message.dx-overlay-wrapper\"));\r\n null === $validationMessageWrapper || void 0 === $validationMessageWrapper ? void 0 : $validationMessageWrapper.removeClass(INVALID_MESSAGE_AUTO);\r\n if (this.showValidationMessageTimeout) {\r\n clearTimeout(this.showValidationMessageTimeout)\r\n }\r\n this.showValidationMessageTimeout = setTimeout(() => {\r\n null === $validationMessageWrapper || void 0 === $validationMessageWrapper ? void 0 : $validationMessageWrapper.addClass(INVALID_MESSAGE_AUTO)\r\n }, 150)\r\n }\r\n };\r\n props.saveValueChangeEvent = e => {\r\n this._valueChangeEventInstance = e\r\n };\r\n return props\r\n }\r\n _createElement(element) {\r\n super._createElement(element);\r\n this.showValidationMessageTimeout = void 0;\r\n this.validationRequest = Callbacks();\r\n data(this.$element()[0], VALIDATION_TARGET, this)\r\n }\r\n _render() {\r\n var _this$option;\r\n null === (_this$option = this.option(\"_onMarkupRendered\")) || void 0 === _this$option ? void 0 : _this$option()\r\n }\r\n _initializeComponent() {\r\n super._initializeComponent();\r\n this._valueChangeAction = this._createActionByOption(\"onValueChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n }\r\n _initOptions(options) {\r\n super._initOptions(options);\r\n this.option(ValidationEngine.initValidationOptions(options))\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n validationMessageOffset: {\r\n h: 0,\r\n v: 0\r\n },\r\n validationTooltipOptions: {}\r\n })\r\n }\r\n _bindInnerWidgetOptions(innerWidget, optionsContainer) {\r\n var innerWidgetOptions = extend({}, innerWidget.option());\r\n var syncOptions = () => this._silent(optionsContainer, innerWidgetOptions);\r\n syncOptions();\r\n innerWidget.on(\"optionChanged\", syncOptions)\r\n }\r\n _raiseValidation(value, previousValue) {\r\n var areValuesEmpty = !isDefined(value) && !isDefined(previousValue);\r\n if (value !== previousValue && !areValuesEmpty) {\r\n this.validationRequest.fire({\r\n value: value,\r\n editor: this\r\n })\r\n }\r\n }\r\n _raiseValueChangeAction(value, previousValue) {\r\n var _this$_valueChangeAct;\r\n null === (_this$_valueChangeAct = this._valueChangeAction) || void 0 === _this$_valueChangeAct ? void 0 : _this$_valueChangeAct.call(this, {\r\n element: this.$element(),\r\n previousValue: previousValue,\r\n value: value,\r\n event: this._valueChangeEventInstance\r\n });\r\n this._valueChangeEventInstance = void 0\r\n }\r\n _optionChanged(option) {\r\n var {\r\n name: name,\r\n previousValue: previousValue,\r\n value: value\r\n } = option;\r\n if (name && void 0 !== this._getActionConfigs()[name]) {\r\n this._addAction(name)\r\n }\r\n switch (name) {\r\n case \"value\":\r\n this._raiseValidation(value, previousValue);\r\n this._raiseValueChangeAction(value, previousValue);\r\n break;\r\n case \"onValueChanged\":\r\n this._valueChangeAction = this._createActionByOption(\"onValueChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n break;\r\n case \"isValid\":\r\n case \"validationError\":\r\n case \"validationErrors\":\r\n case \"validationStatus\":\r\n this.option(ValidationEngine.synchronizeValidationOptions(option, this.option()))\r\n }\r\n super._optionChanged(option)\r\n }\r\n reset() {\r\n var {\r\n value: value\r\n } = this._getDefaultOptions();\r\n this.option({\r\n value: value\r\n })\r\n }\r\n _dispose() {\r\n super._dispose();\r\n data(this.element(), VALIDATION_TARGET, null);\r\n if (this.showValidationMessageTimeout) {\r\n clearTimeout(this.showValidationMessageTimeout)\r\n }\r\n }\r\n}\r\nvar prevIsEditor = OldEditor.isEditor;\r\nvar newIsEditor = instance => prevIsEditor(instance) || instance instanceof Editor;\r\nEditor.isEditor = newIsEditor;\r\nOldEditor.isEditor = newIsEditor;\r\n","/**\r\n * DevExtreme (esm/renovation/utils/dom.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function querySelectorInSameDocument(el, selector) {\r\n var _el$getRootNode, _el$getRootNode2;\r\n var root = null !== (_el$getRootNode = null === (_el$getRootNode2 = el.getRootNode) || void 0 === _el$getRootNode2 ? void 0 : _el$getRootNode2.call(el)) && void 0 !== _el$getRootNode ? _el$getRootNode : document;\r\n return root.querySelector(selector)\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/editors/check_box.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Editor from \"./editor\";\r\nexport default class CheckBox extends Editor {\r\n _useTemplates() {\r\n return false\r\n }\r\n _isFocused() {\r\n var focusTarget = this.$element()[0];\r\n return focusTarget.classList.contains(\"dx-state-focused\")\r\n }\r\n getSupportedKeyNames() {\r\n return [\"space\"]\r\n }\r\n getProps() {\r\n var props = super.getProps();\r\n if (null !== props.value) {\r\n props.value = Boolean(props.value)\r\n }\r\n return props\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/check_box/utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isMaterial,\r\n isCompact,\r\n current\r\n} from \"../../../../ui/themes\";\r\nvar defaultIconSizes = [\r\n [22, 16],\r\n [18, 16]\r\n];\r\nvar defaultFontSizes = [\r\n [\r\n [12, 8],\r\n [20, 18]\r\n ],\r\n [\r\n [16, 10],\r\n [16, 14]\r\n ]\r\n];\r\n\r\nfunction getThemeType() {\r\n var theme = current();\r\n return {\r\n isMaterialTheme: isMaterial(theme),\r\n isCompactTheme: isCompact(theme)\r\n }\r\n}\r\n\r\nfunction getDefaultIconSize() {\r\n var {\r\n isCompactTheme: isCompactTheme,\r\n isMaterialTheme: isMaterialTheme\r\n } = getThemeType();\r\n return defaultIconSizes[+isMaterialTheme][+isCompactTheme]\r\n}\r\n\r\nfunction getDefaultFontSize(isChecked) {\r\n var {\r\n isCompactTheme: isCompactTheme,\r\n isMaterialTheme: isMaterialTheme\r\n } = getThemeType();\r\n return defaultFontSizes[+isChecked][+isMaterialTheme][+isCompactTheme]\r\n}\r\n\r\nfunction getFontSizeByIconSize(iconSize, isChecked) {\r\n var defaultFontSize = getDefaultFontSize(isChecked);\r\n var defaultIconSize = getDefaultIconSize();\r\n var fontToIconSizeRatio = defaultFontSize / defaultIconSize;\r\n return Math.ceil(fontToIconSizeRatio * iconSize)\r\n}\r\nexport {\r\n getDefaultFontSize,\r\n getDefaultIconSize,\r\n getFontSizeByIconSize\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/check_box/check_box_icon.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"isChecked\", \"size\"];\r\nimport {\r\n createVNode\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n normalizeStyles\r\n} from \"@devextreme/runtime/inferno\";\r\nimport getElementComputedStyle from \"../../../utils/get_computed_style\";\r\nimport {\r\n hasWindow\r\n} from \"../../../../core/utils/window\";\r\nimport {\r\n normalizeStyleProp\r\n} from \"../../../../core/utils/style\";\r\nimport {\r\n isNumeric as isNumber\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n getFontSizeByIconSize\r\n} from \"./utils\";\r\nexport var viewFunction = viewModel => {\r\n var {\r\n cssStyles: cssStyles,\r\n elementRef: elementRef\r\n } = viewModel;\r\n return createVNode(1, \"span\", \"dx-checkbox-icon\", null, 1, {\r\n style: normalizeStyles(cssStyles)\r\n }, null, elementRef)\r\n};\r\nexport var CheckBoxIconProps = {\r\n isChecked: false\r\n};\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class CheckBoxIcon extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.elementRef = infernoCreateRef();\r\n this.__getterCache = {};\r\n this.updateFontSize = this.updateFontSize.bind(this);\r\n this.setIconFontSize = this.setIconFontSize.bind(this);\r\n this.getIconSize = this.getIconSize.bind(this);\r\n this.getComputedIconSize = this.getComputedIconSize.bind(this)\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.updateFontSize, [this.props.isChecked, this.props.size])]\r\n }\r\n updateEffects() {\r\n var _this$_effects$;\r\n null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props.isChecked, this.props.size])\r\n }\r\n updateFontSize() {\r\n var {\r\n isChecked: isChecked,\r\n size: size\r\n } = this.props;\r\n if (hasWindow() && size) {\r\n var newIconSize = this.getIconSize(size);\r\n var newFontSize = getFontSizeByIconSize(newIconSize, isChecked);\r\n this.setIconFontSize(newFontSize)\r\n }\r\n }\r\n setIconFontSize(fontSize) {\r\n var element = this.elementRef.current;\r\n element.style.fontSize = \"\".concat(fontSize, \"px\")\r\n }\r\n getIconSize(size) {\r\n if (isNumber(size)) {\r\n return size\r\n }\r\n if (size.endsWith(\"px\")) {\r\n return parseInt(size, 10)\r\n }\r\n return this.getComputedIconSize()\r\n }\r\n getComputedIconSize() {\r\n var element = this.elementRef.current;\r\n var iconComputedStyle = getElementComputedStyle(element);\r\n var computedIconSize = parseInt(null === iconComputedStyle || void 0 === iconComputedStyle ? void 0 : iconComputedStyle.width, 10);\r\n return computedIconSize\r\n }\r\n get cssStyles() {\r\n if (void 0 !== this.__getterCache.cssStyles) {\r\n return this.__getterCache.cssStyles\r\n }\r\n return this.__getterCache.cssStyles = (() => {\r\n var {\r\n size: size\r\n } = this.props;\r\n var width = normalizeStyleProp(\"width\", size);\r\n var height = normalizeStyleProp(\"height\", size);\r\n return {\r\n height: height,\r\n width: width\r\n }\r\n })()\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n super.componentWillUpdate();\r\n if (this.props.size !== nextProps.size) {\r\n this.__getterCache.cssStyles = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n elementRef: this.elementRef,\r\n setIconFontSize: this.setIconFontSize,\r\n getIconSize: this.getIconSize,\r\n getComputedIconSize: this.getComputedIconSize,\r\n cssStyles: this.cssStyles,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nCheckBoxIcon.defaultProps = CheckBoxIconProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/check_box/check_box.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"accessKey\", \"activeStateEnabled\", \"aria\", \"className\", \"defaultValue\", \"disabled\", \"enableThreeStateBehavior\", \"focusStateEnabled\", \"height\", \"hint\", \"hoverStateEnabled\", \"iconSize\", \"inputAttr\", \"isValid\", \"name\", \"onClick\", \"onFocusIn\", \"onKeyDown\", \"readOnly\", \"rtlEnabled\", \"saveValueChangeEvent\", \"tabIndex\", \"text\", \"validationError\", \"validationErrors\", \"validationMessageMode\", \"validationMessagePosition\", \"validationStatus\", \"value\", \"valueChange\", \"visible\", \"width\"];\r\nimport {\r\n createVNode,\r\n createFragment,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n Fragment\r\n} from \"inferno\";\r\nimport {\r\n InfernoWrapperComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport devices from \"../../../../core/devices\";\r\nimport {\r\n Editor,\r\n EditorProps\r\n} from \"../common/editor\";\r\nimport {\r\n combineClasses\r\n} from \"../../../utils/combine_classes\";\r\nimport {\r\n CheckBoxIcon\r\n} from \"./check_box_icon\";\r\nimport {\r\n WidgetProps\r\n} from \"../../common/widget\";\r\nvar getCssClasses = model => {\r\n var {\r\n text: text,\r\n value: value\r\n } = model;\r\n var checked = value;\r\n var indeterminate = null === checked;\r\n var classesMap = {\r\n \"dx-checkbox\": true,\r\n \"dx-checkbox-checked\": true === checked,\r\n \"dx-checkbox-has-text\": !!text,\r\n \"dx-checkbox-indeterminate\": indeterminate\r\n };\r\n return combineClasses(classesMap)\r\n};\r\nexport var viewFunction = viewModel => {\r\n var {\r\n aria: aria,\r\n cssClasses: classes,\r\n editorRef: editorRef,\r\n keyDown: onKeyDown,\r\n onWidgetClick: onClick,\r\n props: {\r\n accessKey: accessKey,\r\n activeStateEnabled: activeStateEnabled,\r\n className: className,\r\n disabled: disabled,\r\n focusStateEnabled: focusStateEnabled,\r\n height: height,\r\n hint: hint,\r\n hoverStateEnabled: hoverStateEnabled,\r\n iconSize: iconSize,\r\n isValid: isValid,\r\n name: name,\r\n onFocusIn: onFocusIn,\r\n readOnly: readOnly,\r\n rtlEnabled: rtlEnabled,\r\n tabIndex: tabIndex,\r\n text: text,\r\n validationError: validationError,\r\n validationErrors: validationErrors,\r\n validationMessageMode: validationMessageMode,\r\n validationMessagePosition: validationMessagePosition,\r\n validationStatus: validationStatus,\r\n value: value,\r\n visible: visible,\r\n width: width\r\n },\r\n restAttributes: restAttributes\r\n } = viewModel;\r\n return normalizeProps(createComponentVNode(2, Editor, _extends({\r\n aria: aria,\r\n classes: classes,\r\n onClick: onClick,\r\n onKeyDown: onKeyDown,\r\n accessKey: accessKey,\r\n activeStateEnabled: activeStateEnabled,\r\n focusStateEnabled: focusStateEnabled,\r\n hoverStateEnabled: hoverStateEnabled,\r\n className: className,\r\n disabled: disabled,\r\n readOnly: readOnly,\r\n hint: hint,\r\n height: height,\r\n width: width,\r\n rtlEnabled: rtlEnabled,\r\n tabIndex: tabIndex,\r\n visible: visible,\r\n validationError: validationError,\r\n validationErrors: validationErrors,\r\n validationMessageMode: validationMessageMode,\r\n validationMessagePosition: validationMessagePosition,\r\n validationStatus: validationStatus,\r\n isValid: isValid,\r\n onFocusIn: onFocusIn\r\n }, restAttributes, {\r\n children: createFragment([normalizeProps(createVNode(64, \"input\", null, null, 1, _extends({\r\n type: \"hidden\",\r\n value: \"\".concat(value)\r\n }, name && {\r\n name: name\r\n }))), createVNode(1, \"div\", \"dx-checkbox-container\", [createComponentVNode(2, CheckBoxIcon, {\r\n size: iconSize,\r\n isChecked: true === value\r\n }), text && createVNode(1, \"span\", \"dx-checkbox-text\", text, 0)], 0)], 4)\r\n }), null, editorRef))\r\n};\r\nexport var CheckBoxProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(EditorProps), Object.getOwnPropertyDescriptors({\r\n text: \"\",\r\n enableThreeStateBehavior: false,\r\n activeStateEnabled: true,\r\n hoverStateEnabled: true,\r\n get focusStateEnabled() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n defaultValue: false,\r\n valueChange: () => {}\r\n})));\r\nexport var CheckBoxPropsType = {\r\n get text() {\r\n return CheckBoxProps.text\r\n },\r\n get enableThreeStateBehavior() {\r\n return CheckBoxProps.enableThreeStateBehavior\r\n },\r\n get activeStateEnabled() {\r\n return CheckBoxProps.activeStateEnabled\r\n },\r\n get hoverStateEnabled() {\r\n return CheckBoxProps.hoverStateEnabled\r\n },\r\n get focusStateEnabled() {\r\n return CheckBoxProps.focusStateEnabled\r\n },\r\n get defaultValue() {\r\n return CheckBoxProps.defaultValue\r\n },\r\n get valueChange() {\r\n return CheckBoxProps.valueChange\r\n },\r\n get readOnly() {\r\n return CheckBoxProps.readOnly\r\n },\r\n get name() {\r\n return CheckBoxProps.name\r\n },\r\n get validationError() {\r\n return CheckBoxProps.validationError\r\n },\r\n get validationErrors() {\r\n return CheckBoxProps.validationErrors\r\n },\r\n get validationMessageMode() {\r\n return CheckBoxProps.validationMessageMode\r\n },\r\n get validationMessagePosition() {\r\n return CheckBoxProps.validationMessagePosition\r\n },\r\n get validationStatus() {\r\n return CheckBoxProps.validationStatus\r\n },\r\n get isValid() {\r\n return CheckBoxProps.isValid\r\n },\r\n get inputAttr() {\r\n return CheckBoxProps.inputAttr\r\n },\r\n get className() {\r\n return CheckBoxProps.className\r\n },\r\n get disabled() {\r\n return CheckBoxProps.disabled\r\n },\r\n get tabIndex() {\r\n return CheckBoxProps.tabIndex\r\n },\r\n get visible() {\r\n return CheckBoxProps.visible\r\n },\r\n get aria() {\r\n return WidgetProps.aria\r\n }\r\n};\r\nimport {\r\n convertRulesToOptions\r\n} from \"../../../../core/options/utils\";\r\nimport {\r\n createReRenderEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class CheckBox extends InfernoWrapperComponent {\r\n constructor(props) {\r\n super(props);\r\n this.editorRef = infernoCreateRef();\r\n this.state = {\r\n value: void 0 !== this.props.value ? this.props.value : this.props.defaultValue\r\n };\r\n this.focus = this.focus.bind(this);\r\n this.blur = this.blur.bind(this);\r\n this.onWidgetClick = this.onWidgetClick.bind(this);\r\n this.keyDown = this.keyDown.bind(this)\r\n }\r\n createEffects() {\r\n return [createReRenderEffect()]\r\n }\r\n onWidgetClick(event) {\r\n var {\r\n enableThreeStateBehavior: enableThreeStateBehavior,\r\n readOnly: readOnly,\r\n saveValueChangeEvent: saveValueChangeEvent\r\n } = this.props;\r\n if (!readOnly) {\r\n null === saveValueChangeEvent || void 0 === saveValueChangeEvent ? void 0 : saveValueChangeEvent(event);\r\n if (enableThreeStateBehavior) {\r\n var __newValue;\r\n this.setState(__state_argument => {\r\n __newValue = null === (void 0 !== this.props.value ? this.props.value : __state_argument.value) || (!(void 0 !== this.props.value ? this.props.value : __state_argument.value) ? null : false);\r\n return {\r\n value: __newValue\r\n }\r\n });\r\n this.props.valueChange(__newValue)\r\n } else {\r\n var _newValue;\r\n this.setState(__state_argument => {\r\n var _ref;\r\n _newValue = !(null !== (_ref = void 0 !== this.props.value ? this.props.value : __state_argument.value) && void 0 !== _ref ? _ref : false);\r\n return {\r\n value: _newValue\r\n }\r\n });\r\n this.props.valueChange(_newValue)\r\n }\r\n }\r\n }\r\n keyDown(e) {\r\n var {\r\n onKeyDown: onKeyDown\r\n } = this.props;\r\n var {\r\n keyName: keyName,\r\n originalEvent: originalEvent,\r\n which: which\r\n } = e;\r\n var result = null === onKeyDown || void 0 === onKeyDown ? void 0 : onKeyDown(e);\r\n if (null !== result && void 0 !== result && result.cancel) {\r\n return result\r\n }\r\n if (\"space\" === keyName || \"space\" === which) {\r\n originalEvent.preventDefault();\r\n this.onWidgetClick(originalEvent)\r\n }\r\n return\r\n }\r\n get cssClasses() {\r\n return getCssClasses(_extends({}, this.props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }))\r\n }\r\n get aria() {\r\n var checked = true === (void 0 !== this.props.value ? this.props.value : this.state.value);\r\n var indeterminate = null === (void 0 !== this.props.value ? this.props.value : this.state.value);\r\n var result = {\r\n role: \"checkbox\",\r\n checked: indeterminate ? \"mixed\" : \"\".concat(checked)\r\n };\r\n return _extends({}, result, this.props.aria)\r\n }\r\n get restAttributes() {\r\n var _this$props$value = _extends({}, this.props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }),\r\n restProps = _objectWithoutPropertiesLoose(_this$props$value, _excluded);\r\n return restProps\r\n }\r\n focus() {\r\n this.editorRef.current.focus()\r\n }\r\n blur() {\r\n this.editorRef.current.blur()\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }),\r\n editorRef: this.editorRef,\r\n onWidgetClick: this.onWidgetClick,\r\n keyDown: this.keyDown,\r\n cssClasses: this.cssClasses,\r\n aria: this.aria,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\n\r\nfunction __processTwoWayProps(defaultProps) {\r\n var twoWayProps = [\"value\"];\r\n return Object.keys(defaultProps).reduce((props, propName) => {\r\n var propValue = defaultProps[propName];\r\n var defaultPropName = twoWayProps.some(p => p === propName) ? \"default\" + propName.charAt(0).toUpperCase() + propName.slice(1) : propName;\r\n props[defaultPropName] = propValue;\r\n return props\r\n }, {})\r\n}\r\nCheckBox.defaultProps = CheckBoxPropsType;\r\nvar __defaultOptionRules = [];\r\nexport function defaultOptions(rule) {\r\n __defaultOptionRules.push(rule);\r\n CheckBox.defaultProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(CheckBox.defaultProps), Object.getOwnPropertyDescriptors(__processTwoWayProps(convertRulesToOptions(__defaultOptionRules)))))\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/check_box/check_box.j.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../../../core/component_registrator\";\r\nimport BaseComponent from \"../../../component_wrapper/editors/check_box\";\r\nimport {\r\n CheckBox as CheckBoxComponent,\r\n defaultOptions\r\n} from \"./check_box\";\r\nexport default class CheckBox extends BaseComponent {\r\n getProps() {\r\n var props = super.getProps();\r\n props.onKeyDown = this._wrapKeyDownHandler(props.onKeyDown);\r\n return props\r\n }\r\n focus() {\r\n var _this$viewRef;\r\n return null === (_this$viewRef = this.viewRef) || void 0 === _this$viewRef ? void 0 : _this$viewRef.focus(...arguments)\r\n }\r\n blur() {\r\n var _this$viewRef2;\r\n return null === (_this$viewRef2 = this.viewRef) || void 0 === _this$viewRef2 ? void 0 : _this$viewRef2.blur(...arguments)\r\n }\r\n _getActionConfigs() {\r\n return {\r\n onFocusIn: {},\r\n onClick: {}\r\n }\r\n }\r\n get _propsInfo() {\r\n return {\r\n twoWay: [\r\n [\"value\", \"defaultValue\", \"valueChange\"]\r\n ],\r\n allowNull: [\"defaultValue\", \"validationError\", \"validationErrors\", \"value\"],\r\n elements: [],\r\n templates: [],\r\n props: [\"text\", \"iconSize\", \"enableThreeStateBehavior\", \"activeStateEnabled\", \"hoverStateEnabled\", \"focusStateEnabled\", \"saveValueChangeEvent\", \"defaultValue\", \"valueChange\", \"readOnly\", \"name\", \"validationError\", \"validationErrors\", \"validationMessageMode\", \"validationMessagePosition\", \"validationStatus\", \"isValid\", \"inputAttr\", \"onFocusIn\", \"className\", \"accessKey\", \"disabled\", \"height\", \"hint\", \"onClick\", \"onKeyDown\", \"rtlEnabled\", \"tabIndex\", \"visible\", \"width\", \"aria\", \"value\"]\r\n }\r\n }\r\n get _viewComponent() {\r\n return CheckBoxComponent\r\n }\r\n}\r\nregisterComponent(\"dxCheckBox\", CheckBox);\r\nCheckBox.defaultOptions = defaultOptions;\r\n","/**\r\n * DevExtreme (esm/ui/check_box.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Widget from \"../renovation/ui/editors/check_box/check_box.j\";\r\nexport default Widget;\r\n","/**\r\n * DevExtreme (esm/ui/collection/item.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n attachInstanceToElement,\r\n getInstanceByElement\r\n} from \"../../core/utils/public_component\";\r\nvar INVISIBLE_STATE_CLASS = \"dx-state-invisible\";\r\nvar DISABLED_STATE_CLASS = \"dx-state-disabled\";\r\nvar ITEM_CONTENT_PLACEHOLDER_CLASS = \"dx-item-content-placeholder\";\r\nvar forcibleWatcher = function(watchMethod, fn, callback) {\r\n var filteredCallback = function(value) {\r\n if (oldValue !== value) {\r\n callback(value, oldValue);\r\n oldValue = value\r\n }\r\n };\r\n var oldValue;\r\n return {\r\n dispose: watchMethod(fn, filteredCallback),\r\n force: function() {\r\n filteredCallback(fn())\r\n }\r\n }\r\n};\r\nvar CollectionItem = Class.inherit({\r\n ctor: function($element, options, rawData) {\r\n this._$element = $element;\r\n this._options = options;\r\n this._rawData = rawData;\r\n attachInstanceToElement($element, this, this._dispose);\r\n this._render()\r\n },\r\n _render: function() {\r\n var $placeholder = $(\"<div>\").addClass(ITEM_CONTENT_PLACEHOLDER_CLASS);\r\n this._$element.append($placeholder);\r\n this._watchers = [];\r\n this._renderWatchers()\r\n },\r\n _renderWatchers: function() {\r\n this._startWatcher(\"disabled\", this._renderDisabled.bind(this));\r\n this._startWatcher(\"visible\", this._renderVisible.bind(this))\r\n },\r\n _startWatcher: function(field, render) {\r\n var rawData = this._rawData;\r\n var exprGetter = this._options.fieldGetter(field);\r\n var watcher = forcibleWatcher(this._options.watchMethod(), (function() {\r\n return exprGetter(rawData)\r\n }), function(value, oldValue) {\r\n this._dirty = true;\r\n render(value, oldValue)\r\n }.bind(this));\r\n this._watchers.push(watcher)\r\n },\r\n setDataField: function() {\r\n this._dirty = false;\r\n each(this._watchers, (function(_, watcher) {\r\n watcher.force()\r\n }));\r\n if (this._dirty) {\r\n return true\r\n }\r\n },\r\n _renderDisabled: function(value, oldValue) {\r\n this._$element.toggleClass(DISABLED_STATE_CLASS, !!value);\r\n this._updateOwnerFocus(value)\r\n },\r\n _updateOwnerFocus: function(isDisabled) {\r\n var ownerComponent = this._options.owner;\r\n if (ownerComponent && isDisabled) {\r\n ownerComponent._resetItemFocus(this._$element)\r\n }\r\n },\r\n _renderVisible: function(value, oldValue) {\r\n this._$element.toggleClass(INVISIBLE_STATE_CLASS, void 0 !== value && !value)\r\n },\r\n _dispose: function() {\r\n each(this._watchers, (function(_, watcher) {\r\n watcher.dispose()\r\n }))\r\n }\r\n});\r\nCollectionItem.getInstance = function($element) {\r\n return getInstanceByElement($element, this)\r\n};\r\nexport default CollectionItem;\r\n","/**\r\n * DevExtreme (esm/ui/collection/ui.collection_widget.base.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n ensureDefined,\r\n deferRenderer,\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n findTemplates\r\n} from \"../../core/utils/template_manager\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n isPlainObject,\r\n isFunction,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport Action from \"../../core/action\";\r\nimport Guid from \"../../core/guid\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport {\r\n addNamespace,\r\n isCommandKeyPressed\r\n} from \"../../events/utils/index\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport DataHelperMixin from \"../../data_helper\";\r\nimport CollectionWidgetItem from \"./item\";\r\nimport {\r\n focusable\r\n} from \"../widget/selectors\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport holdEvent from \"../../events/hold\";\r\nimport {\r\n compileGetter\r\n} from \"../../core/utils/data\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport {\r\n name as contextMenuEventName\r\n} from \"../../events/contextmenu\";\r\nimport {\r\n BindableTemplate\r\n} from \"../../core/templates/bindable_template\";\r\nvar COLLECTION_CLASS = \"dx-collection\";\r\nvar ITEM_CLASS = \"dx-item\";\r\nvar CONTENT_CLASS_POSTFIX = \"-content\";\r\nvar ITEM_CONTENT_PLACEHOLDER_CLASS = \"dx-item-content-placeholder\";\r\nvar ITEM_DATA_KEY = \"dxItemData\";\r\nvar ITEM_INDEX_KEY = \"dxItemIndex\";\r\nvar ITEM_TEMPLATE_ID_PREFIX = \"tmpl-\";\r\nvar ITEMS_OPTIONS_NAME = \"dxItem\";\r\nvar SELECTED_ITEM_CLASS = \"dx-item-selected\";\r\nvar ITEM_RESPONSE_WAIT_CLASS = \"dx-item-response-wait\";\r\nvar EMPTY_COLLECTION = \"dx-empty-collection\";\r\nvar TEMPLATE_WRAPPER_CLASS = \"dx-template-wrapper\";\r\nvar ITEM_PATH_REGEX = /^([^.]+\\[\\d+\\]\\.)+([\\w.]+)$/;\r\nvar ANONYMOUS_TEMPLATE_NAME = \"item\";\r\nvar FOCUS_UP = \"up\";\r\nvar FOCUS_DOWN = \"down\";\r\nvar FOCUS_LEFT = \"left\";\r\nvar FOCUS_RIGHT = \"right\";\r\nvar FOCUS_PAGE_UP = \"pageup\";\r\nvar FOCUS_PAGE_DOWN = \"pagedown\";\r\nvar FOCUS_LAST = \"last\";\r\nvar FOCUS_FIRST = \"first\";\r\nvar CollectionWidget = Widget.inherit({\r\n _activeStateUnit: \".\" + ITEM_CLASS,\r\n _supportedKeys: function() {\r\n var enter = function(e) {\r\n var $itemElement = $(this.option(\"focusedElement\"));\r\n if (!$itemElement.length) {\r\n return\r\n }\r\n this._itemClickHandler(extend({}, e, {\r\n target: $itemElement.get(0),\r\n currentTarget: $itemElement.get(0)\r\n }))\r\n };\r\n var move = function(location, e) {\r\n if (!isCommandKeyPressed(e)) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this._moveFocus(location, e)\r\n }\r\n };\r\n return extend(this.callBase(), {\r\n space: function(e) {\r\n e.preventDefault();\r\n enter.call(this, e)\r\n },\r\n enter: enter,\r\n leftArrow: move.bind(this, FOCUS_LEFT),\r\n rightArrow: move.bind(this, FOCUS_RIGHT),\r\n upArrow: move.bind(this, FOCUS_UP),\r\n downArrow: move.bind(this, FOCUS_DOWN),\r\n pageUp: move.bind(this, FOCUS_UP),\r\n pageDown: move.bind(this, FOCUS_DOWN),\r\n home: move.bind(this, FOCUS_FIRST),\r\n end: move.bind(this, FOCUS_LAST)\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n selectOnFocus: false,\r\n loopItemFocus: true,\r\n items: [],\r\n itemTemplate: \"item\",\r\n onItemRendered: null,\r\n onItemClick: null,\r\n onItemHold: null,\r\n itemHoldTimeout: 750,\r\n onItemContextMenu: null,\r\n onFocusedItemChanged: null,\r\n noDataText: messageLocalization.format(\"dxCollectionWidget-noDataText\"),\r\n encodeNoDataText: false,\r\n dataSource: null,\r\n _dataController: null,\r\n _itemAttributes: {},\r\n itemTemplateProperty: \"template\",\r\n focusOnSelectedItem: true,\r\n focusedElement: null,\r\n displayExpr: void 0,\r\n disabledExpr: function(data) {\r\n return data ? data.disabled : void 0\r\n },\r\n visibleExpr: function(data) {\r\n return data ? data.visible : void 0\r\n }\r\n })\r\n },\r\n _init: function() {\r\n this._compileDisplayGetter();\r\n this._initDataController();\r\n this.callBase();\r\n this._cleanRenderedItems();\r\n this._refreshDataSource()\r\n },\r\n _compileDisplayGetter: function() {\r\n var displayExpr = this.option(\"displayExpr\");\r\n this._displayGetter = displayExpr ? compileGetter(this.option(\"displayExpr\")) : void 0\r\n },\r\n _initTemplates: function() {\r\n this._initItemsFromMarkup();\r\n this._initDefaultItemTemplate();\r\n this.callBase()\r\n },\r\n _getAnonymousTemplateName: function() {\r\n return ANONYMOUS_TEMPLATE_NAME\r\n },\r\n _initDefaultItemTemplate: function() {\r\n var fieldsMap = this._getFieldsMap();\r\n this._templateManager.addDefaultTemplates({\r\n item: new BindableTemplate(function($container, data) {\r\n if (isPlainObject(data)) {\r\n this._prepareDefaultItemTemplate(data, $container)\r\n } else {\r\n if (fieldsMap && isFunction(fieldsMap.text)) {\r\n data = fieldsMap.text(data)\r\n }\r\n $container.text(String(ensureDefined(data, \"\")))\r\n }\r\n }.bind(this), this._getBindableFields(), this.option(\"integrationOptions.watchMethod\"), fieldsMap)\r\n })\r\n },\r\n _getBindableFields: function() {\r\n return [\"text\", \"html\"]\r\n },\r\n _getFieldsMap: function() {\r\n if (this._displayGetter) {\r\n return {\r\n text: this._displayGetter\r\n }\r\n }\r\n },\r\n _prepareDefaultItemTemplate: function(data, $container) {\r\n if (isDefined(data.text)) {\r\n $container.text(data.text)\r\n }\r\n if (isDefined(data.html)) {\r\n $container.html(data.html)\r\n }\r\n },\r\n _initItemsFromMarkup: function() {\r\n var rawItems = findTemplates(this.$element(), ITEMS_OPTIONS_NAME);\r\n if (!rawItems.length || this.option(\"items\").length) {\r\n return\r\n }\r\n var items = rawItems.map(_ref => {\r\n var {\r\n element: element,\r\n options: options\r\n } = _ref;\r\n var isTemplateRequired = /\\S/.test(element.innerHTML) && !options.template;\r\n if (isTemplateRequired) {\r\n options.template = this._prepareItemTemplate(element)\r\n } else {\r\n $(element).remove()\r\n }\r\n return options\r\n });\r\n this.option(\"items\", items)\r\n },\r\n _prepareItemTemplate: function(item) {\r\n var templateId = ITEM_TEMPLATE_ID_PREFIX + new Guid;\r\n var $template = $(item).detach().clone().removeAttr(\"data-options\").addClass(TEMPLATE_WRAPPER_CLASS);\r\n this._saveTemplate(templateId, $template);\r\n return templateId\r\n },\r\n _dataSourceOptions: function() {\r\n return {\r\n paginate: false\r\n }\r\n },\r\n _cleanRenderedItems: function() {\r\n this._renderedItemsCount = 0\r\n },\r\n _focusTarget: function() {\r\n return this.$element()\r\n },\r\n _focusInHandler: function(e) {\r\n this.callBase.apply(this, arguments);\r\n if (!this._isFocusTarget(e.target)) {\r\n return\r\n }\r\n var $focusedElement = $(this.option(\"focusedElement\"));\r\n if ($focusedElement.length) {\r\n this._setFocusedItem($focusedElement)\r\n } else {\r\n var $activeItem = this._getActiveItem();\r\n if ($activeItem.length) {\r\n this.option(\"focusedElement\", getPublicElement($activeItem))\r\n }\r\n }\r\n },\r\n _focusOutHandler: function() {\r\n this.callBase.apply(this, arguments);\r\n var $target = $(this.option(\"focusedElement\"));\r\n this._updateFocusedItemState($target, false)\r\n },\r\n _getActiveItem: function(last) {\r\n var $focusedElement = $(this.option(\"focusedElement\"));\r\n if ($focusedElement.length) {\r\n return $focusedElement\r\n }\r\n var index = this.option(\"focusOnSelectedItem\") ? this.option(\"selectedIndex\") : 0;\r\n var activeElements = this._getActiveElement();\r\n var lastIndex = activeElements.length - 1;\r\n if (index < 0) {\r\n index = last ? lastIndex : 0\r\n }\r\n return activeElements.eq(index)\r\n },\r\n _moveFocus: function(location) {\r\n var $items = this._getAvailableItems();\r\n var $newTarget;\r\n switch (location) {\r\n case FOCUS_PAGE_UP:\r\n case FOCUS_UP:\r\n $newTarget = this._prevItem($items);\r\n break;\r\n case FOCUS_PAGE_DOWN:\r\n case FOCUS_DOWN:\r\n $newTarget = this._nextItem($items);\r\n break;\r\n case FOCUS_RIGHT:\r\n $newTarget = this.option(\"rtlEnabled\") ? this._prevItem($items) : this._nextItem($items);\r\n break;\r\n case FOCUS_LEFT:\r\n $newTarget = this.option(\"rtlEnabled\") ? this._nextItem($items) : this._prevItem($items);\r\n break;\r\n case FOCUS_FIRST:\r\n $newTarget = $items.first();\r\n break;\r\n case FOCUS_LAST:\r\n $newTarget = $items.last();\r\n break;\r\n default:\r\n return false\r\n }\r\n if (0 !== $newTarget.length) {\r\n this.option(\"focusedElement\", getPublicElement($newTarget))\r\n }\r\n },\r\n _getVisibleItems: function($itemElements) {\r\n $itemElements = $itemElements || this._itemElements();\r\n return $itemElements.filter(\":visible\")\r\n },\r\n _getAvailableItems: function($itemElements) {\r\n return this._getVisibleItems($itemElements).not(\".dx-state-disabled\")\r\n },\r\n _prevItem: function($items) {\r\n var $target = this._getActiveItem();\r\n var targetIndex = $items.index($target);\r\n var $last = $items.last();\r\n var $item = $($items[targetIndex - 1]);\r\n var loop = this.option(\"loopItemFocus\");\r\n if (0 === $item.length && loop) {\r\n $item = $last\r\n }\r\n return $item\r\n },\r\n _nextItem: function($items) {\r\n var $target = this._getActiveItem(true);\r\n var targetIndex = $items.index($target);\r\n var $first = $items.first();\r\n var $item = $($items[targetIndex + 1]);\r\n var loop = this.option(\"loopItemFocus\");\r\n if (0 === $item.length && loop) {\r\n $item = $first\r\n }\r\n return $item\r\n },\r\n _selectFocusedItem: function($target) {\r\n this.selectItem($target)\r\n },\r\n _updateFocusedItemState: function(target, isFocused, needCleanItemId) {\r\n var $target = $(target);\r\n if ($target.length) {\r\n this._refreshActiveDescendant();\r\n this._refreshItemId($target, needCleanItemId);\r\n this._toggleFocusClass(isFocused, $target)\r\n }\r\n this._updateParentActiveDescendant()\r\n },\r\n _refreshActiveDescendant: function($target) {\r\n this.setAria(\"activedescendant\", isDefined(this.option(\"focusedElement\")) ? this.getFocusedItemId() : null, $target)\r\n },\r\n _refreshItemId: function($target, needCleanItemId) {\r\n if (!needCleanItemId && this.option(\"focusedElement\")) {\r\n this.setAria(\"id\", this.getFocusedItemId(), $target)\r\n } else {\r\n this.setAria(\"id\", null, $target)\r\n }\r\n },\r\n _setFocusedItem: function($target) {\r\n if (!$target || !$target.length) {\r\n return\r\n }\r\n this._updateFocusedItemState($target, true);\r\n this.onFocusedItemChanged(this.getFocusedItemId());\r\n if (this.option(\"selectOnFocus\")) {\r\n this._selectFocusedItem($target)\r\n }\r\n },\r\n _findItemElementByItem: function(item) {\r\n var result = $();\r\n var that = this;\r\n this.itemElements().each((function() {\r\n var $item = $(this);\r\n if ($item.data(that._itemDataKey()) === item) {\r\n result = $item;\r\n return false\r\n }\r\n }));\r\n return result\r\n },\r\n _getIndexByItem: function(item) {\r\n return this.option(\"items\").indexOf(item)\r\n },\r\n _itemOptionChanged: function(item, property, value, oldValue) {\r\n var $item = this._findItemElementByItem(item);\r\n if (!$item.length) {\r\n return\r\n }\r\n if (!this.constructor.ItemClass.getInstance($item).setDataField(property, value)) {\r\n this._refreshItem($item, item)\r\n }\r\n var isDisabling = \"disabled\" === property && value;\r\n if (isDisabling) {\r\n this._resetItemFocus($item)\r\n }\r\n },\r\n _resetItemFocus($item) {\r\n if ($item.is(this.option(\"focusedElement\"))) {\r\n this.option(\"focusedElement\", null)\r\n }\r\n },\r\n _refreshItem: function($item) {\r\n var itemData = this._getItemData($item);\r\n var index = $item.data(this._itemIndexKey());\r\n this._renderItem(this._renderedItemsCount + index, itemData, null, $item)\r\n },\r\n _updateParentActiveDescendant: noop,\r\n _optionChanged: function(args) {\r\n if (\"items\" === args.name) {\r\n var matches = args.fullName.match(ITEM_PATH_REGEX);\r\n if (matches && matches.length) {\r\n var property = matches[matches.length - 1];\r\n var itemPath = args.fullName.replace(\".\" + property, \"\");\r\n var item = this.option(itemPath);\r\n this._itemOptionChanged(item, property, args.value, args.previousValue);\r\n return\r\n }\r\n }\r\n switch (args.name) {\r\n case \"items\":\r\n case \"_itemAttributes\":\r\n case \"itemTemplateProperty\":\r\n case \"useItemTextAsTitle\":\r\n this._cleanRenderedItems();\r\n this._invalidate();\r\n break;\r\n case \"dataSource\":\r\n this._refreshDataSource();\r\n this._renderEmptyMessage();\r\n break;\r\n case \"noDataText\":\r\n case \"encodeNoDataText\":\r\n this._renderEmptyMessage();\r\n break;\r\n case \"itemTemplate\":\r\n this._invalidate();\r\n break;\r\n case \"onItemRendered\":\r\n this._createItemRenderAction();\r\n break;\r\n case \"onItemClick\":\r\n break;\r\n case \"onItemHold\":\r\n case \"itemHoldTimeout\":\r\n this._attachHoldEvent();\r\n break;\r\n case \"onItemContextMenu\":\r\n this._attachContextMenuEvent();\r\n break;\r\n case \"onFocusedItemChanged\":\r\n this.onFocusedItemChanged = this._createActionByOption(\"onFocusedItemChanged\");\r\n break;\r\n case \"selectOnFocus\":\r\n case \"loopItemFocus\":\r\n case \"focusOnSelectedItem\":\r\n break;\r\n case \"focusedElement\":\r\n this._updateFocusedItemState(args.previousValue, false, true);\r\n this._setFocusedItem($(args.value));\r\n break;\r\n case \"displayExpr\":\r\n this._compileDisplayGetter();\r\n this._initDefaultItemTemplate();\r\n this._invalidate();\r\n break;\r\n case \"visibleExpr\":\r\n case \"disabledExpr\":\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _invalidate: function() {\r\n this.option(\"focusedElement\", null);\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _loadNextPage: function() {\r\n this._expectNextPageLoading();\r\n return this._dataController.loadNextPage()\r\n },\r\n _expectNextPageLoading: function() {\r\n this._startIndexForAppendedItems = 0\r\n },\r\n _expectLastItemLoading: function() {\r\n this._startIndexForAppendedItems = -1\r\n },\r\n _forgetNextPageLoading: function() {\r\n this._startIndexForAppendedItems = null\r\n },\r\n _dataSourceChangedHandler: function(newItems) {\r\n var items = this.option(\"items\");\r\n if (this._initialized && items && this._shouldAppendItems()) {\r\n this._renderedItemsCount = items.length;\r\n if (!this._isLastPage() || -1 !== this._startIndexForAppendedItems) {\r\n this.option().items = items.concat(newItems.slice(this._startIndexForAppendedItems))\r\n }\r\n this._forgetNextPageLoading();\r\n this._refreshContent()\r\n } else {\r\n this.option(\"items\", newItems.slice())\r\n }\r\n },\r\n _refreshContent: function() {\r\n this._prepareContent();\r\n this._renderContent()\r\n },\r\n _dataSourceLoadErrorHandler: function() {\r\n this._forgetNextPageLoading();\r\n this.option(\"items\", this.option(\"items\"))\r\n },\r\n _shouldAppendItems: function() {\r\n return null != this._startIndexForAppendedItems && this._allowDynamicItemsAppend()\r\n },\r\n _allowDynamicItemsAppend: function() {\r\n return false\r\n },\r\n _clean: function() {\r\n this._cleanFocusState();\r\n this._cleanItemContainer();\r\n this._inkRipple && delete this._inkRipple;\r\n this._resetActiveState()\r\n },\r\n _cleanItemContainer: function() {\r\n $(this._itemContainer()).empty()\r\n },\r\n _dispose: function() {\r\n this.callBase();\r\n clearTimeout(this._itemFocusTimeout)\r\n },\r\n _refresh: function() {\r\n this._cleanRenderedItems();\r\n this.callBase.apply(this, arguments)\r\n },\r\n _itemContainer: function() {\r\n return this.$element()\r\n },\r\n _itemClass: function() {\r\n return ITEM_CLASS\r\n },\r\n _itemContentClass: function() {\r\n return this._itemClass() + CONTENT_CLASS_POSTFIX\r\n },\r\n _selectedItemClass: function() {\r\n return SELECTED_ITEM_CLASS\r\n },\r\n _itemResponseWaitClass: function() {\r\n return ITEM_RESPONSE_WAIT_CLASS\r\n },\r\n _itemSelector: function() {\r\n return \".\" + this._itemClass()\r\n },\r\n _itemDataKey: function() {\r\n return ITEM_DATA_KEY\r\n },\r\n _itemIndexKey: function() {\r\n return ITEM_INDEX_KEY\r\n },\r\n _itemElements: function() {\r\n return this._itemContainer().find(this._itemSelector())\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this.onFocusedItemChanged = this._createActionByOption(\"onFocusedItemChanged\");\r\n this.$element().addClass(COLLECTION_CLASS);\r\n this._prepareContent()\r\n },\r\n _prepareContent: deferRenderer((function() {\r\n this._renderContentImpl()\r\n })),\r\n _renderContent: function() {\r\n this._fireContentReadyAction()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._attachClickEvent();\r\n this._attachHoldEvent();\r\n this._attachContextMenuEvent()\r\n },\r\n _attachClickEvent: function() {\r\n var itemSelector = this._itemSelector();\r\n var clickEventNamespace = addNamespace(clickEventName, this.NAME);\r\n var pointerDownEventNamespace = addNamespace(pointerEvents.down, this.NAME);\r\n var that = this;\r\n var pointerDownAction = new Action((function(args) {\r\n var event = args.event;\r\n that._itemPointerDownHandler(event)\r\n }));\r\n eventsEngine.off(this._itemContainer(), clickEventNamespace, itemSelector);\r\n eventsEngine.off(this._itemContainer(), pointerDownEventNamespace, itemSelector);\r\n eventsEngine.on(this._itemContainer(), clickEventNamespace, itemSelector, function(e) {\r\n this._itemClickHandler(e)\r\n }.bind(this));\r\n eventsEngine.on(this._itemContainer(), pointerDownEventNamespace, itemSelector, (function(e) {\r\n pointerDownAction.execute({\r\n element: $(e.target),\r\n event: e\r\n })\r\n }))\r\n },\r\n _itemClickHandler: function(e, args, config) {\r\n this._itemDXEventHandler(e, \"onItemClick\", args, config)\r\n },\r\n _itemPointerDownHandler: function(e) {\r\n if (!this.option(\"focusStateEnabled\")) {\r\n return\r\n }\r\n this._itemFocusHandler = function() {\r\n clearTimeout(this._itemFocusTimeout);\r\n this._itemFocusHandler = null;\r\n if (e.isDefaultPrevented()) {\r\n return\r\n }\r\n var $target = $(e.target);\r\n var $closestItem = $target.closest(this._itemElements());\r\n var $closestFocusable = this._closestFocusable($target);\r\n if ($closestItem.length && this._isFocusTarget(null === $closestFocusable || void 0 === $closestFocusable ? void 0 : $closestFocusable.get(0))) {\r\n this.option(\"focusedElement\", getPublicElement($closestItem))\r\n }\r\n }.bind(this);\r\n this._itemFocusTimeout = setTimeout(this._forcePointerDownFocus.bind(this))\r\n },\r\n _closestFocusable: function($target) {\r\n if ($target.is(focusable)) {\r\n return $target\r\n } else {\r\n $target = $target.parent();\r\n while ($target.length && !domAdapter.isDocument($target.get(0)) && !domAdapter.isDocumentFragment($target.get(0))) {\r\n if ($target.is(focusable)) {\r\n return $target\r\n }\r\n $target = $target.parent()\r\n }\r\n }\r\n },\r\n _forcePointerDownFocus: function() {\r\n this._itemFocusHandler && this._itemFocusHandler()\r\n },\r\n _updateFocusState: function() {\r\n this.callBase.apply(this, arguments);\r\n this._forcePointerDownFocus()\r\n },\r\n _attachHoldEvent: function() {\r\n var $itemContainer = this._itemContainer();\r\n var itemSelector = this._itemSelector();\r\n var eventName = addNamespace(holdEvent.name, this.NAME);\r\n eventsEngine.off($itemContainer, eventName, itemSelector);\r\n eventsEngine.on($itemContainer, eventName, itemSelector, {\r\n timeout: this._getHoldTimeout()\r\n }, this._itemHoldHandler.bind(this))\r\n },\r\n _getHoldTimeout: function() {\r\n return this.option(\"itemHoldTimeout\")\r\n },\r\n _shouldFireHoldEvent: function() {\r\n return this.hasActionSubscription(\"onItemHold\")\r\n },\r\n _itemHoldHandler: function(e) {\r\n if (this._shouldFireHoldEvent()) {\r\n this._itemDXEventHandler(e, \"onItemHold\")\r\n } else {\r\n e.cancel = true\r\n }\r\n },\r\n _attachContextMenuEvent: function() {\r\n var $itemContainer = this._itemContainer();\r\n var itemSelector = this._itemSelector();\r\n var eventName = addNamespace(contextMenuEventName, this.NAME);\r\n eventsEngine.off($itemContainer, eventName, itemSelector);\r\n eventsEngine.on($itemContainer, eventName, itemSelector, this._itemContextMenuHandler.bind(this))\r\n },\r\n _shouldFireContextMenuEvent: function() {\r\n return this.hasActionSubscription(\"onItemContextMenu\")\r\n },\r\n _itemContextMenuHandler: function(e) {\r\n if (this._shouldFireContextMenuEvent()) {\r\n this._itemDXEventHandler(e, \"onItemContextMenu\")\r\n } else {\r\n e.cancel = true\r\n }\r\n },\r\n _renderContentImpl: function() {\r\n var items = this.option(\"items\") || [];\r\n if (this._renderedItemsCount) {\r\n this._renderItems(items.slice(this._renderedItemsCount))\r\n } else {\r\n this._renderItems(items)\r\n }\r\n },\r\n _renderItems: function(items) {\r\n if (items.length) {\r\n each(items, function(index, itemData) {\r\n this._renderItem(this._renderedItemsCount + index, itemData)\r\n }.bind(this))\r\n }\r\n this._renderEmptyMessage()\r\n },\r\n _renderItem: function(index, itemData, $container, $itemToReplace) {\r\n var _index$item;\r\n var itemIndex = null !== (_index$item = null === index || void 0 === index ? void 0 : index.item) && void 0 !== _index$item ? _index$item : index;\r\n $container = $container || this._itemContainer();\r\n var $itemFrame = this._renderItemFrame(itemIndex, itemData, $container, $itemToReplace);\r\n this._setElementData($itemFrame, itemData, itemIndex);\r\n $itemFrame.attr(this.option(\"_itemAttributes\"));\r\n this._attachItemClickEvent(itemData, $itemFrame);\r\n var $itemContent = this._getItemContent($itemFrame);\r\n var renderContentPromise = this._renderItemContent({\r\n index: itemIndex,\r\n itemData: itemData,\r\n container: getPublicElement($itemContent),\r\n contentClass: this._itemContentClass(),\r\n defaultTemplateName: this.option(\"itemTemplate\")\r\n });\r\n var that = this;\r\n when(renderContentPromise).done((function($itemContent) {\r\n that._postprocessRenderItem({\r\n itemElement: $itemFrame,\r\n itemContent: $itemContent,\r\n itemData: itemData,\r\n itemIndex: itemIndex\r\n });\r\n that._executeItemRenderAction(index, itemData, getPublicElement($itemFrame))\r\n }));\r\n return $itemFrame\r\n },\r\n _getItemContent: function($itemFrame) {\r\n var $itemContent = $itemFrame.find(\".\" + ITEM_CONTENT_PLACEHOLDER_CLASS);\r\n $itemContent.removeClass(ITEM_CONTENT_PLACEHOLDER_CLASS);\r\n return $itemContent\r\n },\r\n _attachItemClickEvent: function(itemData, $itemElement) {\r\n if (!itemData || !itemData.onClick) {\r\n return\r\n }\r\n eventsEngine.on($itemElement, clickEventName, function(e) {\r\n this._itemEventHandlerByHandler($itemElement, itemData.onClick, {\r\n event: e\r\n })\r\n }.bind(this))\r\n },\r\n _renderItemContent: function(args) {\r\n var itemTemplateName = this._getItemTemplateName(args);\r\n var itemTemplate = this._getTemplate(itemTemplateName);\r\n this._addItemContentClasses(args);\r\n var $templateResult = $(this._createItemByTemplate(itemTemplate, args));\r\n if (!$templateResult.hasClass(TEMPLATE_WRAPPER_CLASS)) {\r\n return args.container\r\n }\r\n return this._renderItemContentByNode(args, $templateResult)\r\n },\r\n _renderItemContentByNode: function(args, $node) {\r\n $(args.container).replaceWith($node);\r\n args.container = getPublicElement($node);\r\n this._addItemContentClasses(args);\r\n return $node\r\n },\r\n _addItemContentClasses: function(args) {\r\n var classes = [ITEM_CLASS + CONTENT_CLASS_POSTFIX, args.contentClass];\r\n $(args.container).addClass(classes.join(\" \"))\r\n },\r\n _appendItemToContainer: function($container, $itemFrame, index) {\r\n $itemFrame.appendTo($container)\r\n },\r\n _renderItemFrame: function(index, itemData, $container, $itemToReplace) {\r\n var $itemFrame = $(\"<div>\");\r\n new this.constructor.ItemClass($itemFrame, this._itemOptions(), itemData || {});\r\n if ($itemToReplace && $itemToReplace.length) {\r\n $itemToReplace.replaceWith($itemFrame)\r\n } else {\r\n this._appendItemToContainer.call(this, $container, $itemFrame, index)\r\n }\r\n if (this.option(\"useItemTextAsTitle\")) {\r\n var displayValue = this._displayGetter ? this._displayGetter(itemData) : itemData;\r\n $itemFrame.attr(\"title\", displayValue)\r\n }\r\n return $itemFrame\r\n },\r\n _itemOptions: function() {\r\n var that = this;\r\n return {\r\n watchMethod: function() {\r\n return that.option(\"integrationOptions.watchMethod\")\r\n },\r\n owner: that,\r\n fieldGetter: function(field) {\r\n var expr = that.option(field + \"Expr\");\r\n var getter = compileGetter(expr);\r\n return getter\r\n }\r\n }\r\n },\r\n _postprocessRenderItem: noop,\r\n _executeItemRenderAction: function(index, itemData, itemElement) {\r\n this._getItemRenderAction()({\r\n itemElement: itemElement,\r\n itemIndex: index,\r\n itemData: itemData\r\n })\r\n },\r\n _setElementData: function(element, data, index) {\r\n element.addClass([ITEM_CLASS, this._itemClass()].join(\" \")).data(this._itemDataKey(), data).data(this._itemIndexKey(), index)\r\n },\r\n _createItemRenderAction: function() {\r\n return this._itemRenderAction = this._createActionByOption(\"onItemRendered\", {\r\n element: this.element(),\r\n excludeValidators: [\"disabled\", \"readOnly\"],\r\n category: \"rendering\"\r\n })\r\n },\r\n _getItemRenderAction: function() {\r\n return this._itemRenderAction || this._createItemRenderAction()\r\n },\r\n _getItemTemplateName: function(args) {\r\n var data = args.itemData;\r\n var templateProperty = args.templateProperty || this.option(\"itemTemplateProperty\");\r\n var template = data && data[templateProperty];\r\n return template || args.defaultTemplateName\r\n },\r\n _createItemByTemplate: function(itemTemplate, renderArgs) {\r\n return itemTemplate.render({\r\n model: renderArgs.itemData,\r\n container: renderArgs.container,\r\n index: renderArgs.index,\r\n onRendered: this._onItemTemplateRendered(itemTemplate, renderArgs)\r\n })\r\n },\r\n _onItemTemplateRendered: function() {\r\n return noop\r\n },\r\n _emptyMessageContainer: function() {\r\n return this._itemContainer()\r\n },\r\n _renderEmptyMessage: function(items) {\r\n items = items || this.option(\"items\");\r\n var noDataText = this.option(\"noDataText\");\r\n var hideNoData = !noDataText || items && items.length || this._dataController.isLoading();\r\n if (hideNoData && this._$noData) {\r\n this._$noData.remove();\r\n this._$noData = null;\r\n this.setAria(\"label\", void 0)\r\n }\r\n if (!hideNoData) {\r\n this._$noData = this._$noData || $(\"<div>\").addClass(\"dx-empty-message\");\r\n this._$noData.appendTo(this._emptyMessageContainer());\r\n if (this.option(\"encodeNoDataText\")) {\r\n this._$noData.text(noDataText)\r\n } else {\r\n this._$noData.html(noDataText)\r\n }\r\n this.setAria(\"label\", noDataText)\r\n }\r\n this.$element().toggleClass(EMPTY_COLLECTION, !hideNoData)\r\n },\r\n _itemDXEventHandler: function(dxEvent, handlerOptionName, actionArgs, actionConfig) {\r\n this._itemEventHandler(dxEvent.target, handlerOptionName, extend(actionArgs, {\r\n event: dxEvent\r\n }), actionConfig)\r\n },\r\n _itemEventHandler: function(initiator, handlerOptionName, actionArgs, actionConfig) {\r\n var action = this._createActionByOption(handlerOptionName, extend({\r\n validatingTargetName: \"itemElement\"\r\n }, actionConfig));\r\n return this._itemEventHandlerImpl(initiator, action, actionArgs)\r\n },\r\n _itemEventHandlerByHandler: function(initiator, handler, actionArgs, actionConfig) {\r\n var action = this._createAction(handler, extend({\r\n validatingTargetName: \"itemElement\"\r\n }, actionConfig));\r\n return this._itemEventHandlerImpl(initiator, action, actionArgs)\r\n },\r\n _itemEventHandlerImpl: function(initiator, action, actionArgs) {\r\n var $itemElement = this._closestItemElement($(initiator));\r\n var args = extend({}, actionArgs);\r\n return action(extend(actionArgs, this._extendActionArgs($itemElement), args))\r\n },\r\n _extendActionArgs: function($itemElement) {\r\n return {\r\n itemElement: getPublicElement($itemElement),\r\n itemIndex: this._itemElements().index($itemElement),\r\n itemData: this._getItemData($itemElement)\r\n }\r\n },\r\n _closestItemElement: function($element) {\r\n return $($element).closest(this._itemSelector())\r\n },\r\n _getItemData: function(itemElement) {\r\n return $(itemElement).data(this._itemDataKey())\r\n },\r\n _getSummaryItemsWidth: function(items, includeMargin) {\r\n var result = 0;\r\n if (items) {\r\n each(items, (function(_, item) {\r\n result += getOuterWidth(item, includeMargin || false)\r\n }))\r\n }\r\n return result\r\n },\r\n getFocusedItemId: function() {\r\n if (!this._focusedItemId) {\r\n this._focusedItemId = \"dx-\" + new Guid\r\n }\r\n return this._focusedItemId\r\n },\r\n itemElements: function() {\r\n return this._itemElements()\r\n },\r\n itemsContainer: function() {\r\n return this._itemContainer()\r\n }\r\n}).include(DataHelperMixin);\r\nCollectionWidget.ItemClass = CollectionWidgetItem;\r\nexport default CollectionWidget;\r\n","/**\r\n * DevExtreme (esm/ui/collection/ui.collection_widget.edit.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport BaseCollectionWidget from \"./ui.collection_widget.base\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport PlainEditStrategy from \"./ui.collection_widget.edit.strategy.plain\";\r\nimport {\r\n compileGetter\r\n} from \"../../core/utils/data\";\r\nimport {\r\n DataSource\r\n} from \"../../data/data_source/data_source\";\r\nimport {\r\n normalizeLoadResult\r\n} from \"../../data/data_source/utils\";\r\nimport Selection from \"../selection/selection\";\r\nimport {\r\n when,\r\n Deferred,\r\n fromPromise\r\n} from \"../../core/utils/deferred\";\r\nvar ITEM_DELETING_DATA_KEY = \"dxItemDeleting\";\r\nvar NOT_EXISTING_INDEX = -1;\r\nvar indexExists = function(index) {\r\n return index !== NOT_EXISTING_INDEX\r\n};\r\nvar CollectionWidget = BaseCollectionWidget.inherit({\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n selectedItem: true\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n selectionMode: \"none\",\r\n selectionRequired: false,\r\n selectionByClick: true,\r\n selectedItems: [],\r\n selectedItemKeys: [],\r\n maxFilterLengthInRequest: 1500,\r\n keyExpr: null,\r\n selectedIndex: NOT_EXISTING_INDEX,\r\n selectedItem: null,\r\n onSelectionChanged: null,\r\n onItemReordered: null,\r\n onItemDeleting: null,\r\n onItemDeleted: null\r\n })\r\n },\r\n ctor: function(element, options) {\r\n this._userOptions = options || {};\r\n this.callBase(element, options)\r\n },\r\n _init: function() {\r\n this._initEditStrategy();\r\n this.callBase();\r\n this._initKeyGetter();\r\n this._initSelectionModule()\r\n },\r\n _initKeyGetter: function() {\r\n this._keyGetter = compileGetter(this.option(\"keyExpr\"))\r\n },\r\n _getKeysByItems: function(selectedItems) {\r\n return this._editStrategy.getKeysByItems(selectedItems)\r\n },\r\n _getItemsByKeys: function(selectedItemKeys, selectedItems) {\r\n return this._editStrategy.getItemsByKeys(selectedItemKeys, selectedItems)\r\n },\r\n _getKeyByIndex: function(index) {\r\n return this._editStrategy.getKeyByIndex(index)\r\n },\r\n _getIndexByKey: function(key) {\r\n return this._editStrategy.getIndexByKey(key)\r\n },\r\n _getIndexByItemData: function(itemData) {\r\n return this._editStrategy.getIndexByItemData(itemData)\r\n },\r\n _isKeySpecified: function() {\r\n return !!this._dataController.key()\r\n },\r\n _getCombinedFilter: function() {\r\n return this._dataController.filter()\r\n },\r\n key: function() {\r\n if (this.option(\"keyExpr\")) {\r\n return this.option(\"keyExpr\")\r\n }\r\n return this._dataController.key()\r\n },\r\n keyOf: function(item) {\r\n var key = item;\r\n if (this.option(\"keyExpr\")) {\r\n key = this._keyGetter(item)\r\n } else if (this._dataController.store()) {\r\n key = this._dataController.keyOf(item)\r\n }\r\n return key\r\n },\r\n _nullValueSelectionSupported: function() {\r\n return false\r\n },\r\n _initSelectionModule: function() {\r\n var that = this;\r\n var itemsGetter = that._editStrategy.itemsGetter;\r\n this._selection = new Selection({\r\n allowNullValue: this._nullValueSelectionSupported(),\r\n mode: this.option(\"selectionMode\"),\r\n maxFilterLengthInRequest: this.option(\"maxFilterLengthInRequest\"),\r\n equalByReference: !this._isKeySpecified(),\r\n onSelectionChanged: function(args) {\r\n if (args.addedItemKeys.length || args.removedItemKeys.length) {\r\n that.option(\"selectedItems\", that._getItemsByKeys(args.selectedItemKeys, args.selectedItems));\r\n that._updateSelectedItems(args)\r\n }\r\n },\r\n filter: that._getCombinedFilter.bind(that),\r\n totalCount: function() {\r\n var items = that.option(\"items\");\r\n var totalCount = that._dataController.totalCount();\r\n return totalCount >= 0 ? totalCount : that._getItemsCount(items)\r\n },\r\n key: that.key.bind(that),\r\n keyOf: that.keyOf.bind(that),\r\n load: function(options) {\r\n var _dataController$loadO;\r\n var dataController = that._dataController;\r\n options.customQueryParams = null === (_dataController$loadO = dataController.loadOptions()) || void 0 === _dataController$loadO ? void 0 : _dataController$loadO.customQueryParams;\r\n options.userData = dataController.userData();\r\n if (dataController.store()) {\r\n return dataController.loadFromStore(options).done((function(loadResult) {\r\n if (that._disposed) {\r\n return\r\n }\r\n var items = normalizeLoadResult(loadResult).data;\r\n dataController.applyMapFunction(items)\r\n }))\r\n } else {\r\n return (new Deferred).resolve(this.plainItems())\r\n }\r\n },\r\n dataFields: function() {\r\n return that._dataController.select()\r\n },\r\n plainItems: itemsGetter.bind(that._editStrategy)\r\n })\r\n },\r\n _getItemsCount: function(items) {\r\n return items.reduce((itemsCount, item) => itemsCount + (item.items ? this._getItemsCount(item.items) : 1), 0)\r\n },\r\n _initEditStrategy: function() {\r\n var Strategy = PlainEditStrategy;\r\n this._editStrategy = new Strategy(this)\r\n },\r\n _getSelectedItemIndices: function(keys) {\r\n var that = this;\r\n var indices = [];\r\n keys = keys || this._selection.getSelectedItemKeys();\r\n that._editStrategy.beginCache();\r\n each(keys, (function(_, key) {\r\n var selectedIndex = that._getIndexByKey(key);\r\n if (indexExists(selectedIndex)) {\r\n indices.push(selectedIndex)\r\n }\r\n }));\r\n that._editStrategy.endCache();\r\n return indices\r\n },\r\n _initMarkup: function() {\r\n this._rendering = true;\r\n if (!this._dataController.isLoading()) {\r\n this._syncSelectionOptions().done(() => this._normalizeSelectedItems())\r\n }\r\n this.callBase()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._rendering = false\r\n },\r\n _fireContentReadyAction: function() {\r\n this._rendering = false;\r\n this._rendered = true;\r\n this.callBase.apply(this, arguments)\r\n },\r\n _syncSelectionOptions: function(byOption) {\r\n byOption = byOption || this._chooseSelectOption();\r\n var selectedItem;\r\n var selectedIndex;\r\n var selectedItemKeys;\r\n var selectedItems;\r\n switch (byOption) {\r\n case \"selectedIndex\":\r\n selectedItem = this._editStrategy.getItemDataByIndex(this.option(\"selectedIndex\"));\r\n if (isDefined(selectedItem)) {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", [selectedItem]);\r\n this._setOptionWithoutOptionChange(\"selectedItem\", selectedItem);\r\n this._setOptionWithoutOptionChange(\"selectedItemKeys\", this._editStrategy.getKeysByItems([selectedItem]))\r\n } else {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", []);\r\n this._setOptionWithoutOptionChange(\"selectedItemKeys\", []);\r\n this._setOptionWithoutOptionChange(\"selectedItem\", null)\r\n }\r\n break;\r\n case \"selectedItems\":\r\n selectedItems = this.option(\"selectedItems\") || [];\r\n selectedIndex = selectedItems.length ? this._editStrategy.getIndexByItemData(selectedItems[0]) : NOT_EXISTING_INDEX;\r\n if (this.option(\"selectionRequired\") && !indexExists(selectedIndex)) {\r\n return this._syncSelectionOptions(\"selectedIndex\")\r\n }\r\n this._setOptionWithoutOptionChange(\"selectedItem\", selectedItems[0]);\r\n this._setOptionWithoutOptionChange(\"selectedIndex\", selectedIndex);\r\n this._setOptionWithoutOptionChange(\"selectedItemKeys\", this._editStrategy.getKeysByItems(selectedItems));\r\n break;\r\n case \"selectedItem\":\r\n selectedItem = this.option(\"selectedItem\");\r\n selectedIndex = this._editStrategy.getIndexByItemData(selectedItem);\r\n if (this.option(\"selectionRequired\") && !indexExists(selectedIndex)) {\r\n return this._syncSelectionOptions(\"selectedIndex\")\r\n }\r\n if (isDefined(selectedItem)) {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", [selectedItem]);\r\n this._setOptionWithoutOptionChange(\"selectedIndex\", selectedIndex);\r\n this._setOptionWithoutOptionChange(\"selectedItemKeys\", this._editStrategy.getKeysByItems([selectedItem]))\r\n } else {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", []);\r\n this._setOptionWithoutOptionChange(\"selectedItemKeys\", []);\r\n this._setOptionWithoutOptionChange(\"selectedIndex\", NOT_EXISTING_INDEX)\r\n }\r\n break;\r\n case \"selectedItemKeys\":\r\n selectedItemKeys = this.option(\"selectedItemKeys\");\r\n if (this.option(\"selectionRequired\")) {\r\n var selectedItemIndex = this._getIndexByKey(selectedItemKeys[0]);\r\n if (!indexExists(selectedItemIndex)) {\r\n return this._syncSelectionOptions(\"selectedIndex\")\r\n }\r\n }\r\n return this._selection.setSelection(selectedItemKeys)\r\n }\r\n return (new Deferred).resolve().promise()\r\n },\r\n _chooseSelectOption: function() {\r\n var optionName = \"selectedIndex\";\r\n var isOptionDefined = function(optionName) {\r\n var optionValue = this.option(optionName);\r\n var length = isDefined(optionValue) && optionValue.length;\r\n return length || optionName in this._userOptions\r\n }.bind(this);\r\n if (isOptionDefined(\"selectedItems\")) {\r\n optionName = \"selectedItems\"\r\n } else if (isOptionDefined(\"selectedItem\")) {\r\n optionName = \"selectedItem\"\r\n } else if (isOptionDefined(\"selectedItemKeys\")) {\r\n optionName = \"selectedItemKeys\"\r\n }\r\n return optionName\r\n },\r\n _compareKeys: function(oldKeys, newKeys) {\r\n if (oldKeys.length !== newKeys.length) {\r\n return false\r\n }\r\n for (var i = 0; i < newKeys.length; i++) {\r\n if (oldKeys[i] !== newKeys[i]) {\r\n return false\r\n }\r\n }\r\n return true\r\n },\r\n _normalizeSelectedItems: function() {\r\n if (\"none\" === this.option(\"selectionMode\")) {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", []);\r\n this._syncSelectionOptions(\"selectedItems\")\r\n } else if (\"single\" === this.option(\"selectionMode\")) {\r\n var newSelection = this.option(\"selectedItems\");\r\n if (newSelection.length > 1 || !newSelection.length && this.option(\"selectionRequired\") && this.option(\"items\") && this.option(\"items\").length) {\r\n var currentSelection = this._selection.getSelectedItems();\r\n var normalizedSelection = void 0 === newSelection[0] ? currentSelection[0] : newSelection[0];\r\n if (void 0 === normalizedSelection) {\r\n normalizedSelection = this._editStrategy.itemsGetter()[0]\r\n }\r\n if (this.option(\"grouped\") && normalizedSelection && normalizedSelection.items) {\r\n normalizedSelection.items = [normalizedSelection.items[0]]\r\n }\r\n this._selection.setSelection(this._getKeysByItems([normalizedSelection]));\r\n this._setOptionWithoutOptionChange(\"selectedItems\", [normalizedSelection]);\r\n return this._syncSelectionOptions(\"selectedItems\")\r\n } else {\r\n this._selection.setSelection(this._getKeysByItems(newSelection))\r\n }\r\n } else {\r\n var newKeys = this._getKeysByItems(this.option(\"selectedItems\"));\r\n var oldKeys = this._selection.getSelectedItemKeys();\r\n if (!this._compareKeys(oldKeys, newKeys)) {\r\n this._selection.setSelection(newKeys)\r\n }\r\n }\r\n return (new Deferred).resolve().promise()\r\n },\r\n _itemClickHandler: function(e) {\r\n var itemSelectPromise = (new Deferred).resolve();\r\n var callBase = this.callBase;\r\n this._createAction(function(e) {\r\n var _this$_itemSelectHand;\r\n itemSelectPromise = null !== (_this$_itemSelectHand = this._itemSelectHandler(e.event)) && void 0 !== _this$_itemSelectHand ? _this$_itemSelectHand : itemSelectPromise\r\n }.bind(this), {\r\n validatingTargetName: \"itemElement\"\r\n })({\r\n itemElement: $(e.currentTarget),\r\n event: e\r\n });\r\n itemSelectPromise.always(() => {\r\n callBase.apply(this, arguments)\r\n })\r\n },\r\n _itemSelectHandler: function(e) {\r\n var _itemSelectPromise;\r\n var itemSelectPromise;\r\n if (!this.option(\"selectionByClick\")) {\r\n return\r\n }\r\n var $itemElement = e.currentTarget;\r\n if (this.isItemSelected($itemElement)) {\r\n this.unselectItem(e.currentTarget)\r\n } else {\r\n itemSelectPromise = this.selectItem(e.currentTarget)\r\n }\r\n return null === (_itemSelectPromise = itemSelectPromise) || void 0 === _itemSelectPromise ? void 0 : _itemSelectPromise.promise()\r\n },\r\n _selectedItemElement: function(index) {\r\n return this._itemElements().eq(index)\r\n },\r\n _postprocessRenderItem: function(args) {\r\n if (\"none\" !== this.option(\"selectionMode\")) {\r\n var $itemElement = $(args.itemElement);\r\n var normalizedItemIndex = this._editStrategy.getNormalizedIndex($itemElement);\r\n var isItemSelected = this._isItemSelected(normalizedItemIndex);\r\n this._processSelectableItem($itemElement, isItemSelected)\r\n }\r\n },\r\n _processSelectableItem: function($itemElement, isSelected) {\r\n $itemElement.toggleClass(this._selectedItemClass(), isSelected);\r\n this._setAriaSelected($itemElement, String(isSelected))\r\n },\r\n _updateSelectedItems: function(args) {\r\n var that = this;\r\n var addedItemKeys = args.addedItemKeys;\r\n var removedItemKeys = args.removedItemKeys;\r\n if (that._rendered && (addedItemKeys.length || removedItemKeys.length)) {\r\n var selectionChangePromise = that._selectionChangePromise;\r\n if (!that._rendering) {\r\n var addedSelection = [];\r\n var normalizedIndex;\r\n var removedSelection = [];\r\n that._editStrategy.beginCache();\r\n for (var i = 0; i < addedItemKeys.length; i++) {\r\n normalizedIndex = that._getIndexByKey(addedItemKeys[i]);\r\n addedSelection.push(normalizedIndex);\r\n that._addSelection(normalizedIndex)\r\n }\r\n for (var _i = 0; _i < removedItemKeys.length; _i++) {\r\n normalizedIndex = that._getIndexByKey(removedItemKeys[_i]);\r\n removedSelection.push(normalizedIndex);\r\n that._removeSelection(normalizedIndex)\r\n }\r\n that._editStrategy.endCache();\r\n that._updateSelection(addedSelection, removedSelection)\r\n }\r\n when(selectionChangePromise).done((function() {\r\n that._fireSelectionChangeEvent(args.addedItems, args.removedItems)\r\n }))\r\n }\r\n },\r\n _fireSelectionChangeEvent: function(addedItems, removedItems) {\r\n this._createActionByOption(\"onSelectionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })({\r\n addedItems: addedItems,\r\n removedItems: removedItems\r\n })\r\n },\r\n _updateSelection: noop,\r\n _setAriaSelected: function($target, value) {\r\n this.setAria(\"selected\", value, $target)\r\n },\r\n _removeSelection: function(normalizedIndex) {\r\n var $itemElement = this._editStrategy.getItemElement(normalizedIndex);\r\n if (indexExists(normalizedIndex)) {\r\n this._processSelectableItem($itemElement, false);\r\n eventsEngine.triggerHandler($itemElement, \"stateChanged\", false)\r\n }\r\n },\r\n _addSelection: function(normalizedIndex) {\r\n var $itemElement = this._editStrategy.getItemElement(normalizedIndex);\r\n if (indexExists(normalizedIndex)) {\r\n this._processSelectableItem($itemElement, true);\r\n eventsEngine.triggerHandler($itemElement, \"stateChanged\", true)\r\n }\r\n },\r\n _isItemSelected: function(index) {\r\n var key = this._getKeyByIndex(index);\r\n return this._selection.isItemSelected(key, {\r\n checkPending: true\r\n })\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"selectionMode\":\r\n this._invalidate();\r\n break;\r\n case \"dataSource\":\r\n if (!args.value || Array.isArray(args.value) && !args.value.length) {\r\n this.option(\"selectedItemKeys\", [])\r\n }\r\n this.callBase(args);\r\n break;\r\n case \"selectedIndex\":\r\n case \"selectedItem\":\r\n case \"selectedItems\":\r\n case \"selectedItemKeys\":\r\n this._syncSelectionOptions(args.name).done(() => this._normalizeSelectedItems());\r\n break;\r\n case \"keyExpr\":\r\n this._initKeyGetter();\r\n break;\r\n case \"selectionRequired\":\r\n this._normalizeSelectedItems();\r\n break;\r\n case \"selectionByClick\":\r\n case \"onSelectionChanged\":\r\n case \"onItemDeleting\":\r\n case \"onItemDeleted\":\r\n case \"onItemReordered\":\r\n case \"maxFilterLengthInRequest\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _clearSelectedItems: function() {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", []);\r\n this._syncSelectionOptions(\"selectedItems\")\r\n },\r\n _waitDeletingPrepare: function($itemElement) {\r\n if ($itemElement.data(ITEM_DELETING_DATA_KEY)) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n $itemElement.data(ITEM_DELETING_DATA_KEY, true);\r\n var deferred = new Deferred;\r\n var deletingActionArgs = {\r\n cancel: false\r\n };\r\n var deletePromise = this._itemEventHandler($itemElement, \"onItemDeleting\", deletingActionArgs, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n when(deletePromise).always(function(value) {\r\n var deletePromiseExists = !deletePromise;\r\n var deletePromiseResolved = !deletePromiseExists && \"resolved\" === deletePromise.state();\r\n var argumentsSpecified = !!arguments.length;\r\n var shouldDelete = deletePromiseExists || deletePromiseResolved && !argumentsSpecified || deletePromiseResolved && value;\r\n when(fromPromise(deletingActionArgs.cancel)).always((function() {\r\n $itemElement.data(ITEM_DELETING_DATA_KEY, false)\r\n })).done((function(cancel) {\r\n shouldDelete && !cancel ? deferred.resolve() : deferred.reject()\r\n })).fail(deferred.reject)\r\n }.bind(this));\r\n return deferred.promise()\r\n },\r\n _deleteItemFromDS: function($item) {\r\n var dataController = this._dataController;\r\n var deferred = new Deferred;\r\n var disabledState = this.option(\"disabled\");\r\n var dataStore = dataController.store();\r\n if (!dataStore) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n if (!dataStore.remove) {\r\n throw errors.Error(\"E1011\")\r\n }\r\n this.option(\"disabled\", true);\r\n dataStore.remove(dataController.keyOf(this._getItemData($item))).done((function(key) {\r\n if (void 0 !== key) {\r\n deferred.resolve()\r\n } else {\r\n deferred.reject()\r\n }\r\n })).fail((function() {\r\n deferred.reject()\r\n }));\r\n deferred.always(function() {\r\n this.option(\"disabled\", disabledState)\r\n }.bind(this));\r\n return deferred\r\n },\r\n _tryRefreshLastPage: function() {\r\n var deferred = new Deferred;\r\n if (this._isLastPage() || this.option(\"grouped\")) {\r\n deferred.resolve()\r\n } else {\r\n this._refreshLastPage().done((function() {\r\n deferred.resolve()\r\n }))\r\n }\r\n return deferred.promise()\r\n },\r\n _refreshLastPage: function() {\r\n this._expectLastItemLoading();\r\n return this._dataController.load()\r\n },\r\n _updateSelectionAfterDelete: function(index) {\r\n var key = this._getKeyByIndex(index);\r\n this._selection.deselect([key])\r\n },\r\n _updateIndicesAfterIndex: function(index) {\r\n var itemElements = this._itemElements();\r\n for (var i = index + 1; i < itemElements.length; i++) {\r\n $(itemElements[i]).data(this._itemIndexKey(), i - 1)\r\n }\r\n },\r\n _simulateOptionChange: function(optionName) {\r\n var optionValue = this.option(optionName);\r\n if (optionValue instanceof DataSource) {\r\n return\r\n }\r\n this._optionChangedAction({\r\n name: optionName,\r\n fullName: optionName,\r\n value: optionValue\r\n })\r\n },\r\n isItemSelected: function(itemElement) {\r\n return this._isItemSelected(this._editStrategy.getNormalizedIndex(itemElement))\r\n },\r\n selectItem: function(itemElement) {\r\n if (\"none\" === this.option(\"selectionMode\")) {\r\n return\r\n }\r\n var itemIndex = this._editStrategy.getNormalizedIndex(itemElement);\r\n if (!indexExists(itemIndex)) {\r\n return\r\n }\r\n var key = this._getKeyByIndex(itemIndex);\r\n if (this._selection.isItemSelected(key)) {\r\n return\r\n }\r\n if (\"single\" === this.option(\"selectionMode\")) {\r\n return this._selection.setSelection([key])\r\n } else {\r\n var selectedItemKeys = this.option(\"selectedItemKeys\") || [];\r\n return this._selection.setSelection([...selectedItemKeys, key], [key])\r\n }\r\n },\r\n unselectItem: function(itemElement) {\r\n var itemIndex = this._editStrategy.getNormalizedIndex(itemElement);\r\n if (!indexExists(itemIndex)) {\r\n return\r\n }\r\n var selectedItemKeys = this._selection.getSelectedItemKeys();\r\n if (this.option(\"selectionRequired\") && selectedItemKeys.length <= 1) {\r\n return\r\n }\r\n var key = this._getKeyByIndex(itemIndex);\r\n if (!this._selection.isItemSelected(key, {\r\n checkPending: true\r\n })) {\r\n return\r\n }\r\n this._selection.deselect([key])\r\n },\r\n _deleteItemElementByIndex: function(index) {\r\n this._updateSelectionAfterDelete(index);\r\n this._updateIndicesAfterIndex(index);\r\n this._editStrategy.deleteItemAtIndex(index)\r\n },\r\n _afterItemElementDeleted: function($item, deletedActionArgs) {\r\n var changingOption = this._dataController.getDataSource() ? \"dataSource\" : \"items\";\r\n this._simulateOptionChange(changingOption);\r\n this._itemEventHandler($item, \"onItemDeleted\", deletedActionArgs, {\r\n beforeExecute: function() {\r\n $item.remove()\r\n },\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this._renderEmptyMessage()\r\n },\r\n deleteItem: function(itemElement) {\r\n var that = this;\r\n var deferred = new Deferred;\r\n var $item = this._editStrategy.getItemElement(itemElement);\r\n var index = this._editStrategy.getNormalizedIndex(itemElement);\r\n var itemResponseWaitClass = this._itemResponseWaitClass();\r\n if (indexExists(index)) {\r\n this._waitDeletingPrepare($item).done((function() {\r\n $item.addClass(itemResponseWaitClass);\r\n var deletedActionArgs = that._extendActionArgs($item);\r\n that._deleteItemFromDS($item).done((function() {\r\n that._deleteItemElementByIndex(index);\r\n that._afterItemElementDeleted($item, deletedActionArgs);\r\n that._tryRefreshLastPage().done((function() {\r\n deferred.resolveWith(that)\r\n }))\r\n })).fail((function() {\r\n $item.removeClass(itemResponseWaitClass);\r\n deferred.rejectWith(that)\r\n }))\r\n })).fail((function() {\r\n deferred.rejectWith(that)\r\n }))\r\n } else {\r\n deferred.rejectWith(that)\r\n }\r\n return deferred.promise()\r\n },\r\n reorderItem: function(itemElement, toItemElement) {\r\n var deferred = new Deferred;\r\n var that = this;\r\n var strategy = this._editStrategy;\r\n var $movingItem = strategy.getItemElement(itemElement);\r\n var $destinationItem = strategy.getItemElement(toItemElement);\r\n var movingIndex = strategy.getNormalizedIndex(itemElement);\r\n var destinationIndex = strategy.getNormalizedIndex(toItemElement);\r\n var changingOption = this._dataController.getDataSource() ? \"dataSource\" : \"items\";\r\n var canMoveItems = indexExists(movingIndex) && indexExists(destinationIndex) && movingIndex !== destinationIndex;\r\n if (canMoveItems) {\r\n deferred.resolveWith(this)\r\n } else {\r\n deferred.rejectWith(this)\r\n }\r\n return deferred.promise().done((function() {\r\n $destinationItem[strategy.itemPlacementFunc(movingIndex, destinationIndex)]($movingItem);\r\n strategy.moveItemAtIndexToIndex(movingIndex, destinationIndex);\r\n this._updateIndicesAfterIndex(movingIndex);\r\n that.option(\"selectedItems\", that._getItemsByKeys(that._selection.getSelectedItemKeys(), that._selection.getSelectedItems()));\r\n if (\"items\" === changingOption) {\r\n that._simulateOptionChange(changingOption)\r\n }\r\n that._itemEventHandler($movingItem, \"onItemReordered\", {\r\n fromIndex: strategy.getIndex(movingIndex),\r\n toIndex: strategy.getIndex(destinationIndex)\r\n }, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n }))\r\n }\r\n});\r\nexport default CollectionWidget;\r\n","/**\r\n * DevExtreme (esm/ui/collection/ui.collection_widget.edit.strategy.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n equalByValue\r\n} from \"../../core/utils/common\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n isRenderer\r\n} from \"../../core/utils/type\";\r\nvar abstract = Class.abstract;\r\nvar EditStrategy = Class.inherit({\r\n ctor: function(collectionWidget) {\r\n this._collectionWidget = collectionWidget\r\n },\r\n getIndexByItemData: abstract,\r\n getItemDataByIndex: abstract,\r\n getKeysByItems: abstract,\r\n getItemsByKeys: abstract,\r\n itemsGetter: abstract,\r\n getKeyByIndex: function(index) {\r\n var resultIndex = this._denormalizeItemIndex(index);\r\n return this.getKeysByItems([this.getItemDataByIndex(resultIndex)])[0]\r\n },\r\n _equalKeys: function(key1, key2) {\r\n if (this._collectionWidget._isKeySpecified()) {\r\n return equalByValue(key1, key2)\r\n } else {\r\n return key1 === key2\r\n }\r\n },\r\n beginCache: function() {\r\n this._cache = {}\r\n },\r\n endCache: function() {\r\n this._cache = null\r\n },\r\n getIndexByKey: abstract,\r\n getNormalizedIndex: function(value) {\r\n if (this._isNormalizedItemIndex(value)) {\r\n return value\r\n }\r\n if (this._isItemIndex(value)) {\r\n return this._normalizeItemIndex(value)\r\n }\r\n if (this._isNode(value)) {\r\n return this._getNormalizedItemIndex(value)\r\n }\r\n return this._normalizeItemIndex(this.getIndexByItemData(value))\r\n },\r\n getIndex: function(value) {\r\n if (this._isNormalizedItemIndex(value)) {\r\n return this._denormalizeItemIndex(value)\r\n }\r\n if (this._isItemIndex(value)) {\r\n return value\r\n }\r\n if (this._isNode(value)) {\r\n return this._denormalizeItemIndex(this._getNormalizedItemIndex(value))\r\n }\r\n return this.getIndexByItemData(value)\r\n },\r\n getItemElement: function(value) {\r\n if (this._isNormalizedItemIndex(value)) {\r\n return this._getItemByNormalizedIndex(value)\r\n }\r\n if (this._isItemIndex(value)) {\r\n return this._getItemByNormalizedIndex(this._normalizeItemIndex(value))\r\n }\r\n if (this._isNode(value)) {\r\n return $(value)\r\n }\r\n var normalizedItemIndex = this._normalizeItemIndex(this.getIndexByItemData(value));\r\n return this._getItemByNormalizedIndex(normalizedItemIndex)\r\n },\r\n _isNode: el => domAdapter.isNode(el && isRenderer(el) ? el.get(0) : el),\r\n deleteItemAtIndex: abstract,\r\n itemPlacementFunc: function(movingIndex, destinationIndex) {\r\n return this._itemsFromSameParent(movingIndex, destinationIndex) && movingIndex < destinationIndex ? \"after\" : \"before\"\r\n },\r\n moveItemAtIndexToIndex: abstract,\r\n _isNormalizedItemIndex: function(index) {\r\n return \"number\" === typeof index && Math.round(index) === index\r\n },\r\n _isItemIndex: abstract,\r\n _getNormalizedItemIndex: abstract,\r\n _normalizeItemIndex: abstract,\r\n _denormalizeItemIndex: abstract,\r\n _getItemByNormalizedIndex: abstract,\r\n _itemsFromSameParent: abstract\r\n});\r\nexport default EditStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/collection/ui.collection_widget.edit.strategy.plain.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport EditStrategy from \"./ui.collection_widget.edit.strategy\";\r\nvar PlainEditStrategy = EditStrategy.inherit({\r\n _getPlainItems: function() {\r\n return this._collectionWidget.option(\"items\") || []\r\n },\r\n getIndexByItemData: function(itemData) {\r\n var keyOf = this._collectionWidget.keyOf.bind(this._collectionWidget);\r\n if (keyOf) {\r\n return this.getIndexByKey(keyOf(itemData))\r\n } else {\r\n return this._getPlainItems().indexOf(itemData)\r\n }\r\n },\r\n getItemDataByIndex: function(index) {\r\n return this._getPlainItems()[index]\r\n },\r\n deleteItemAtIndex: function(index) {\r\n this._getPlainItems().splice(index, 1)\r\n },\r\n itemsGetter: function() {\r\n return this._getPlainItems()\r\n },\r\n getKeysByItems: function(items) {\r\n var keyOf = this._collectionWidget.keyOf.bind(this._collectionWidget);\r\n var result = items;\r\n if (keyOf) {\r\n result = [];\r\n for (var i = 0; i < items.length; i++) {\r\n result.push(keyOf(items[i]))\r\n }\r\n }\r\n return result\r\n },\r\n getIndexByKey: function(key) {\r\n var cache = this._cache;\r\n var keys = cache && cache.keys || this.getKeysByItems(this._getPlainItems());\r\n if (cache && !cache.keys) {\r\n cache.keys = keys\r\n }\r\n if (\"object\" === typeof key) {\r\n for (var i = 0, length = keys.length; i < length; i++) {\r\n if (this._equalKeys(key, keys[i])) {\r\n return i\r\n }\r\n }\r\n } else {\r\n return keys.indexOf(key)\r\n }\r\n return -1\r\n },\r\n getItemsByKeys: function(keys, items) {\r\n return (items || keys).slice()\r\n },\r\n moveItemAtIndexToIndex: function(movingIndex, destinationIndex) {\r\n var items = this._getPlainItems();\r\n var movedItemData = items[movingIndex];\r\n items.splice(movingIndex, 1);\r\n items.splice(destinationIndex, 0, movedItemData)\r\n },\r\n _isItemIndex: function(index) {\r\n return \"number\" === typeof index && Math.round(index) === index\r\n },\r\n _getNormalizedItemIndex: function(itemElement) {\r\n return this._collectionWidget._itemElements().index(itemElement)\r\n },\r\n _normalizeItemIndex: function(index) {\r\n return index\r\n },\r\n _denormalizeItemIndex: function(index) {\r\n return index\r\n },\r\n _getItemByNormalizedIndex: function(index) {\r\n return index > -1 ? this._collectionWidget._itemElements().eq(index) : null\r\n },\r\n _itemsFromSameParent: function() {\r\n return true\r\n }\r\n});\r\nexport default PlainEditStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/collection/ui.collection_widget.live_update.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport CollectionWidget from \"./ui.collection_widget.edit\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n update,\r\n insert,\r\n indexByKey\r\n} from \"../../data/array_utils\";\r\nimport {\r\n keysEqual\r\n} from \"../../data/utils\";\r\nimport {\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n findChanges\r\n} from \"../../core/utils/array_compare\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar PRIVATE_KEY_FIELD = \"__dx_key__\";\r\nexport default CollectionWidget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n repaintChangesOnly: false\r\n })\r\n },\r\n ctor: function() {\r\n var _this$_dataController;\r\n this.callBase.apply(this, arguments);\r\n this._customizeStoreLoadOptions = e => {\r\n var dataController = this._dataController;\r\n if (dataController.getDataSource() && !this._dataController.isLoaded()) {\r\n this._correctionIndex = 0\r\n }\r\n if (this._correctionIndex && e.storeLoadOptions) {\r\n e.storeLoadOptions.skip += this._correctionIndex\r\n }\r\n }, null === (_this$_dataController = this._dataController) || void 0 === _this$_dataController ? void 0 : _this$_dataController.on(\"customizeStoreLoadOptions\", this._customizeStoreLoadOptions)\r\n },\r\n reload: function() {\r\n this._correctionIndex = 0\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._refreshItemsCache();\r\n this._correctionIndex = 0\r\n },\r\n _findItemElementByKey: function(key) {\r\n var result = $();\r\n var keyExpr = this.key();\r\n this.itemElements().each((_, item) => {\r\n var $item = $(item);\r\n var itemData = this._getItemData($item);\r\n if (keyExpr ? keysEqual(keyExpr, this.keyOf(itemData), key) : this._isItemEquals(itemData, key)) {\r\n result = $item;\r\n return false\r\n }\r\n });\r\n return result\r\n },\r\n _dataSourceChangedHandler: function(newItems, e) {\r\n if (null !== e && void 0 !== e && e.changes) {\r\n this._modifyByChanges(e.changes)\r\n } else {\r\n this.callBase(newItems, e);\r\n this._refreshItemsCache()\r\n }\r\n },\r\n _isItemEquals: function(item1, item2) {\r\n if (item1 && item1[PRIVATE_KEY_FIELD]) {\r\n item1 = item1.data\r\n }\r\n try {\r\n return JSON.stringify(item1) === JSON.stringify(item2)\r\n } catch (e) {\r\n return item1 === item2\r\n }\r\n },\r\n _isItemStrictEquals: function(item1, item2) {\r\n return this._isItemEquals(item1, item2)\r\n },\r\n _shouldAddNewGroup: function(changes, items) {\r\n var result = false;\r\n if (this.option(\"grouped\")) {\r\n if (!changes.length) {\r\n result = true\r\n }\r\n each(changes, (i, change) => {\r\n if (\"insert\" === change.type) {\r\n result = true;\r\n each(items, (_, item) => {\r\n if (void 0 !== change.data.key && change.data.key === item.key) {\r\n result = false;\r\n return false\r\n }\r\n })\r\n }\r\n })\r\n }\r\n return result\r\n },\r\n _partialRefresh: function() {\r\n if (this.option(\"repaintChangesOnly\")) {\r\n var result = findChanges(this._itemsCache, this._editStrategy.itemsGetter(), data => {\r\n if (data && void 0 !== data[PRIVATE_KEY_FIELD]) {\r\n return data[PRIVATE_KEY_FIELD]\r\n }\r\n return this.keyOf(data)\r\n }, this._isItemStrictEquals.bind(this));\r\n if (result && this._itemsCache.length && !this._shouldAddNewGroup(result, this._itemsCache)) {\r\n this._modifyByChanges(result, true);\r\n this._renderEmptyMessage();\r\n return true\r\n } else {\r\n this._refreshItemsCache()\r\n }\r\n }\r\n return false\r\n },\r\n _refreshItemsCache: function() {\r\n if (this.option(\"repaintChangesOnly\")) {\r\n var items = this._editStrategy.itemsGetter();\r\n try {\r\n this._itemsCache = extend(true, [], items);\r\n if (!this.key()) {\r\n this._itemsCache = this._itemsCache.map((itemCache, index) => ({\r\n [PRIVATE_KEY_FIELD]: items[index],\r\n data: itemCache\r\n }))\r\n }\r\n } catch (e) {\r\n this._itemsCache = extend([], items)\r\n }\r\n }\r\n },\r\n _dispose: function() {\r\n this._dataController.off(\"customizeStoreLoadOptions\", this._customizeStoreLoadOptions);\r\n this.callBase()\r\n },\r\n _updateByChange: function(keyInfo, items, change, isPartialRefresh) {\r\n if (isPartialRefresh) {\r\n this._renderItem(change.index, change.data, null, this._findItemElementByKey(change.key))\r\n } else {\r\n var changedItem = items[indexByKey(keyInfo, items, change.key)];\r\n if (changedItem) {\r\n update(keyInfo, items, change.key, change.data).done(() => {\r\n this._renderItem(items.indexOf(changedItem), changedItem, null, this._findItemElementByKey(change.key))\r\n })\r\n }\r\n }\r\n },\r\n _insertByChange: function(keyInfo, items, change, isPartialRefresh) {\r\n when(isPartialRefresh || insert(keyInfo, items, change.data, change.index)).done(() => {\r\n var _change$index;\r\n this._beforeItemElementInserted(change);\r\n var $itemContainer = this._getItemContainer(change.data);\r\n this._renderItem(null !== (_change$index = change.index) && void 0 !== _change$index ? _change$index : items.length, change.data, $itemContainer);\r\n this._afterItemElementInserted();\r\n this._correctionIndex++\r\n })\r\n },\r\n _getItemContainer: function(changeData) {\r\n return this._itemContainer()\r\n },\r\n _updateSelectionAfterRemoveByChange: function(removeIndex) {\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n if (selectedIndex > removeIndex) {\r\n this.option(\"selectedIndex\", selectedIndex - 1)\r\n } else if (selectedIndex === removeIndex && 1 === this.option(\"selectedItems\").length) {\r\n this.option(\"selectedItems\", [])\r\n } else {\r\n this._normalizeSelectedItems()\r\n }\r\n },\r\n _beforeItemElementInserted: function(change) {\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n if (change.index <= selectedIndex) {\r\n this.option(\"selectedIndex\", selectedIndex + 1)\r\n }\r\n },\r\n _afterItemElementInserted: noop,\r\n _removeByChange: function(keyInfo, items, change, isPartialRefresh) {\r\n var index = isPartialRefresh ? change.index : indexByKey(keyInfo, items, change.key);\r\n var removedItem = isPartialRefresh ? change.oldItem : items[index];\r\n if (removedItem) {\r\n var $removedItemElement = this._findItemElementByKey(change.key);\r\n var deletedActionArgs = this._extendActionArgs($removedItemElement);\r\n this._waitDeletingPrepare($removedItemElement).done(() => {\r\n if (isPartialRefresh) {\r\n this._updateIndicesAfterIndex(index - 1);\r\n this._afterItemElementDeleted($removedItemElement, deletedActionArgs);\r\n this._updateSelectionAfterRemoveByChange(index)\r\n } else {\r\n this._deleteItemElementByIndex(index);\r\n this._afterItemElementDeleted($removedItemElement, deletedActionArgs)\r\n }\r\n });\r\n this._correctionIndex--\r\n }\r\n },\r\n _modifyByChanges: function(changes, isPartialRefresh) {\r\n var items = this._editStrategy.itemsGetter();\r\n var keyInfo = {\r\n key: this.key.bind(this),\r\n keyOf: this.keyOf.bind(this)\r\n };\r\n var dataController = this._dataController;\r\n var paginate = dataController.paginate();\r\n var group = dataController.group();\r\n if (paginate || group) {\r\n changes = changes.filter(item => \"insert\" !== item.type || void 0 !== item.index)\r\n }\r\n changes.forEach(change => this[\"_\".concat(change.type, \"ByChange\")](keyInfo, items, change, isPartialRefresh));\r\n this._renderedItemsCount = items.length;\r\n this._refreshItemsCache();\r\n this._fireContentReadyAction()\r\n },\r\n _appendItemToContainer: function($container, $itemFrame, index) {\r\n var nextSiblingElement = $container.children(this._itemSelector()).get(index);\r\n domAdapter.insertElement($container.get(0), $itemFrame.get(0), nextSiblingElement)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"items\":\r\n var isItemsUpdated = this._partialRefresh(args.value);\r\n if (!isItemsUpdated) {\r\n this.callBase(args)\r\n }\r\n break;\r\n case \"dataSource\":\r\n if (!this.option(\"repaintChangesOnly\") || !args.value) {\r\n this.option(\"items\", [])\r\n }\r\n this.callBase(args);\r\n break;\r\n case \"repaintChangesOnly\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/ui/color_box/color_box.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Color from \"../../color\";\r\nimport ColorView from \"./color_view\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport DropDownEditor from \"../drop_down_editor/ui.drop_down_editor\";\r\nvar COLOR_BOX_CLASS = \"dx-colorbox\";\r\nvar COLOR_BOX_INPUT_CLASS = COLOR_BOX_CLASS + \"-input\";\r\nvar COLOR_BOX_INPUT_CONTAINER_CLASS = COLOR_BOX_INPUT_CLASS + \"-container\";\r\nvar COLOR_BOX_COLOR_RESULT_PREVIEW_CLASS = COLOR_BOX_CLASS + \"-color-result-preview\";\r\nvar COLOR_BOX_COLOR_IS_NOT_DEFINED = COLOR_BOX_CLASS + \"-color-is-not-defined\";\r\nvar COLOR_BOX_OVERLAY_CLASS = COLOR_BOX_CLASS + \"-overlay\";\r\nvar COLOR_BOX_CONTAINER_CELL_CLASS = \"dx-colorview-container-cell\";\r\nvar COLOR_BOX_BUTTON_CELL_CLASS = \"dx-colorview-button-cell\";\r\nvar COLOR_BOX_BUTTONS_CONTAINER_CLASS = \"dx-colorview-buttons-container\";\r\nvar COLOR_BOX_APPLY_BUTTON_CLASS = \"dx-colorview-apply-button\";\r\nvar COLOR_BOX_CANCEL_BUTTON_CLASS = \"dx-colorview-cancel-button\";\r\nvar colorEditorPrototype = ColorView.prototype;\r\nvar colorUtils = {\r\n makeTransparentBackground: colorEditorPrototype._makeTransparentBackground.bind(colorEditorPrototype),\r\n makeRgba: colorEditorPrototype._makeRgba.bind(colorEditorPrototype)\r\n};\r\nvar ColorBox = DropDownEditor.inherit({\r\n _supportedKeys: function() {\r\n var arrowHandler = function(e) {\r\n e.stopPropagation();\r\n if (this.option(\"opened\")) {\r\n e.preventDefault();\r\n return true\r\n }\r\n };\r\n return extend(this.callBase(), {\r\n tab: function(e) {\r\n if (!this.option(\"opened\")) {\r\n return\r\n }\r\n var $focusableElement = e.shiftKey ? this._getLastPopupElement() : this._getFirstPopupElement();\r\n if ($focusableElement) {\r\n eventsEngine.trigger($focusableElement, \"focus\");\r\n $focusableElement.select()\r\n }\r\n e.preventDefault()\r\n },\r\n enter: this._enterKeyHandler,\r\n leftArrow: arrowHandler,\r\n rightArrow: arrowHandler,\r\n upArrow: function(e) {\r\n if (!this.option(\"opened\")) {\r\n e.preventDefault();\r\n return false\r\n }\r\n if (e.altKey) {\r\n this.close();\r\n return false\r\n }\r\n return true\r\n },\r\n downArrow: function(e) {\r\n if (!this.option(\"opened\") && !e.altKey) {\r\n e.preventDefault();\r\n return false\r\n }\r\n if (!this.option(\"opened\") && e.altKey) {\r\n this._validatedOpening();\r\n return false\r\n }\r\n return true\r\n }\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n editAlphaChannel: false,\r\n applyValueMode: \"useButtons\",\r\n keyStep: 1,\r\n fieldTemplate: null,\r\n buttonsLocation: \"bottom after\"\r\n })\r\n },\r\n _popupHidingHandler: function() {\r\n this.callBase();\r\n if (\"useButtons\" === this.option(\"applyValueMode\")) {\r\n this._updateColorViewValue(this.option(\"value\"))\r\n }\r\n },\r\n _popupConfig: function() {\r\n return extend(this.callBase(), {\r\n width: \"\"\r\n })\r\n },\r\n _contentReadyHandler: function() {\r\n this._createColorView();\r\n this._addPopupBottomClasses()\r\n },\r\n _addPopupBottomClasses: function() {\r\n var $popupBottom = this._popup.bottomToolbar();\r\n if ($popupBottom) {\r\n $popupBottom.addClass(COLOR_BOX_CONTAINER_CELL_CLASS).addClass(COLOR_BOX_BUTTON_CELL_CLASS).find(\".dx-toolbar-items-container\").addClass(COLOR_BOX_BUTTONS_CONTAINER_CLASS);\r\n $popupBottom.find(\".dx-popup-done\").addClass(COLOR_BOX_APPLY_BUTTON_CLASS);\r\n $popupBottom.find(\".dx-popup-cancel\").addClass(COLOR_BOX_CANCEL_BUTTON_CLASS)\r\n }\r\n },\r\n _createColorView: function() {\r\n this._popup.$overlayContent().addClass(COLOR_BOX_OVERLAY_CLASS);\r\n var $colorView = $(\"<div>\").appendTo(this._popup.$content());\r\n this._colorView = this._createComponent($colorView, ColorView, this._colorViewConfig());\r\n this._colorView.registerKeyHandler(\"escape\", this._escapeHandler.bind(this));\r\n eventsEngine.on($colorView, \"focus\", function() {\r\n this.focus()\r\n }.bind(this))\r\n },\r\n _escapeHandler: function() {\r\n this.close();\r\n this.focus()\r\n },\r\n _getFirstPopupElement: function() {\r\n return $(this._colorView._rgbInputs[0].element()).find(\"input\")\r\n },\r\n _applyNewColor: function(value) {\r\n this.option(\"value\", value);\r\n if (value) {\r\n colorUtils.makeTransparentBackground(this._$colorResultPreview, value)\r\n }\r\n if (this._colorViewEnterKeyPressed) {\r\n this.close();\r\n this._colorViewEnterKeyPressed = false\r\n }\r\n },\r\n _colorViewConfig: function() {\r\n var that = this;\r\n return {\r\n value: that.option(\"value\"),\r\n matchValue: that.option(\"value\"),\r\n editAlphaChannel: that.option(\"editAlphaChannel\"),\r\n applyValueMode: that.option(\"applyValueMode\"),\r\n focusStateEnabled: that.option(\"focusStateEnabled\"),\r\n stylingMode: this.option(\"stylingMode\"),\r\n onEnterKeyPressed: function(_ref) {\r\n var {\r\n event: event\r\n } = _ref;\r\n that._colorViewEnterKeyPressed = true;\r\n if (that._colorView.option(\"value\") !== that.option(\"value\")) {\r\n that._saveValueChangeEvent(event);\r\n that._applyNewColor(that._colorView.option(\"value\"));\r\n that.close()\r\n }\r\n },\r\n onValueChanged: function(_ref2) {\r\n var {\r\n event: event,\r\n value: value,\r\n previousValue: previousValue\r\n } = _ref2;\r\n var instantlyMode = \"instantly\" === that.option(\"applyValueMode\");\r\n var isOldValue = colorUtils.makeRgba(value) === previousValue;\r\n var changesApplied = instantlyMode || that._colorViewEnterKeyPressed;\r\n var valueCleared = that._shouldSaveEmptyValue;\r\n if (isOldValue || !changesApplied || valueCleared) {\r\n return\r\n }\r\n if (event) {\r\n that._saveValueChangeEvent(event)\r\n }\r\n that._applyNewColor(value)\r\n }\r\n }\r\n },\r\n _enterKeyHandler: function(e) {\r\n var newValue = this._input().val();\r\n var {\r\n value: value,\r\n editAlphaChannel: editAlphaChannel\r\n } = this.option();\r\n var oldValue = value && editAlphaChannel ? colorUtils.makeRgba(value) : value;\r\n if (!newValue) {\r\n return false\r\n }\r\n var color = new Color(newValue);\r\n if (color.colorIsInvalid) {\r\n this._input().val(oldValue);\r\n return\r\n }\r\n if (newValue !== oldValue) {\r\n this._applyColorFromInput(newValue);\r\n this._saveValueChangeEvent(e);\r\n this.option(\"value\", this.option(\"editAlphaChannel\") ? colorUtils.makeRgba(newValue) : newValue)\r\n }\r\n if (this._colorView) {\r\n var colorViewValue = this._colorView.option(\"value\");\r\n if (value !== colorViewValue) {\r\n this._saveValueChangeEvent(e);\r\n this.option(\"value\", colorViewValue)\r\n }\r\n }\r\n this.close();\r\n return false\r\n },\r\n _applyButtonHandler: function(e) {\r\n this._saveValueChangeEvent(e.event);\r\n this._applyNewColor(this._colorView.option(\"value\"));\r\n this.callBase()\r\n },\r\n _cancelButtonHandler: function() {\r\n this._resetInputValue();\r\n this.callBase()\r\n },\r\n _getKeyboardListeners() {\r\n return this.callBase().concat([this._colorView])\r\n },\r\n _init: function() {\r\n this.callBase()\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(COLOR_BOX_CLASS);\r\n this.callBase()\r\n },\r\n _renderInput: function() {\r\n this.callBase();\r\n this._input().addClass(COLOR_BOX_INPUT_CLASS);\r\n this._renderColorPreview()\r\n },\r\n _renderColorPreview: function() {\r\n this.$element().wrapInner($(\"<div>\").addClass(COLOR_BOX_INPUT_CONTAINER_CLASS));\r\n this._$colorBoxInputContainer = this.$element().children().eq(0);\r\n this._$colorResultPreview = $(\"<div>\").addClass(COLOR_BOX_COLOR_RESULT_PREVIEW_CLASS).appendTo(this._$textEditorInputContainer);\r\n if (!this.option(\"value\")) {\r\n this._$colorBoxInputContainer.addClass(COLOR_BOX_COLOR_IS_NOT_DEFINED)\r\n } else {\r\n colorUtils.makeTransparentBackground(this._$colorResultPreview, this.option(\"value\"))\r\n }\r\n },\r\n _renderValue: function() {\r\n var {\r\n value: value,\r\n editAlphaChannel: editAlphaChannel\r\n } = this.option();\r\n var shouldConvertToColor = value && editAlphaChannel;\r\n var text = shouldConvertToColor ? colorUtils.makeRgba(value) : value;\r\n this.option(\"text\", text);\r\n return this.callBase()\r\n },\r\n _resetInputValue: function() {\r\n var $input = this._input();\r\n var value = this.option(\"value\");\r\n $input.val(value);\r\n this._updateColorViewValue(value)\r\n },\r\n _updateColorViewValue: function(value) {\r\n if (this._colorView) {\r\n this._colorView.option({\r\n value: value,\r\n matchValue: value\r\n })\r\n }\r\n },\r\n _valueChangeEventHandler: function(e) {\r\n var value = this._input().val();\r\n if (value) {\r\n value = this._applyColorFromInput(value);\r\n this._updateColorViewValue(value)\r\n }\r\n this.callBase(e, value)\r\n },\r\n _applyColorFromInput: function(value) {\r\n var {\r\n editAlphaChannel: editAlphaChannel\r\n } = this.option();\r\n var newColor = new Color(value);\r\n if (newColor.colorIsInvalid) {\r\n this._resetInputValue();\r\n return this.option(\"value\")\r\n }\r\n if (editAlphaChannel) {\r\n return colorUtils.makeRgba(value)\r\n }\r\n return value\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n delete this._shouldSaveEmptyValue\r\n },\r\n _optionChanged: function(args) {\r\n var value = args.value;\r\n var name = args.name;\r\n switch (name) {\r\n case \"value\":\r\n this._$colorBoxInputContainer.toggleClass(COLOR_BOX_COLOR_IS_NOT_DEFINED, !value);\r\n if (value) {\r\n colorUtils.makeTransparentBackground(this._$colorResultPreview, value)\r\n } else {\r\n this._$colorResultPreview.removeAttr(\"style\")\r\n }\r\n if (null === value) {\r\n this._shouldSaveEmptyValue = true\r\n }\r\n this._updateColorViewValue(value);\r\n this._shouldSaveEmptyValue = false;\r\n this.callBase(args);\r\n break;\r\n case \"applyButtonText\":\r\n case \"cancelButtonText\":\r\n this.callBase(args);\r\n this._popup && this._addPopupBottomClasses();\r\n break;\r\n case \"editAlphaChannel\":\r\n case \"keyStep\":\r\n if (this._colorView) {\r\n this._colorView.option(name, value)\r\n }\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxColorBox\", ColorBox);\r\nexport default ColorBox;\r\n","/**\r\n * DevExtreme (esm/ui/color_box.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport ColorBox from \"./color_box/color_box\";\r\nexport default ColorBox;\r\n","/**\r\n * DevExtreme (esm/ui/color_box/color_view.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight,\r\n getWidth,\r\n getOuterHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n locate,\r\n move\r\n} from \"../../animation/translator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport Color from \"../../color\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport devices from \"../../core/devices\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport Editor from \"../editor/editor\";\r\nimport NumberBox from \"../number_box\";\r\nimport TextBox from \"../text_box\";\r\nimport Draggable from \"../draggable\";\r\nimport {\r\n isCommandKeyPressed\r\n} from \"../../events/utils/index\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nvar COLOR_VIEW_CLASS = \"dx-colorview\";\r\nvar COLOR_VIEW_CONTAINER_CLASS = \"dx-colorview-container\";\r\nvar COLOR_VIEW_ROW_CLASS = \"dx-colorview-container-row\";\r\nvar COLOR_VIEW_CELL_CLASS = \"dx-colorview-container-cell\";\r\nvar COLOR_VIEW_PALETTE_CLASS = \"dx-colorview-palette\";\r\nvar COLOR_VIEW_PALETTE_CELL_CLASS = \"dx-colorview-palette-cell\";\r\nvar COLOR_VIEW_PALETTE_HANDLE_CLASS = \"dx-colorview-palette-handle\";\r\nvar COLOR_VIEW_PALETTE_GRADIENT_CLASS = \"dx-colorview-palette-gradient\";\r\nvar COLOR_VIEW_PALETTE_GRADIENT_WHITE_CLASS = \"dx-colorview-palette-gradient-white\";\r\nvar COLOR_VIEW_PALETTE_GRADIENT_BLACK_CLASS = \"dx-colorview-palette-gradient-black\";\r\nvar COLOR_VIEW_HUE_SCALE_CLASS = \"dx-colorview-hue-scale\";\r\nvar COLOR_VIEW_HUE_SCALE_CELL_CLASS = \"dx-colorview-hue-scale-cell\";\r\nvar COLOR_VIEW_HUE_SCALE_HANDLE_CLASS = \"dx-colorview-hue-scale-handle\";\r\nvar COLOR_VIEW_HUE_SCALE_WRAPPER_CLASS = \"dx-colorview-hue-scale-wrapper\";\r\nvar COLOR_VIEW_CONTROLS_CONTAINER_CLASS = \"dx-colorview-controls-container\";\r\nvar COLOR_VIEW_RED_LABEL_CLASS = \"dx-colorview-label-red\";\r\nvar COLOR_VIEW_GREEN_LABEL_CLASS = \"dx-colorview-label-green\";\r\nvar COLOR_VIEW_BLUE_LABEL_CLASS = \"dx-colorview-label-blue\";\r\nvar COLOR_VIEW_HEX_LABEL_CLASS = \"dx-colorview-label-hex\";\r\nvar COLOR_VIEW_ALPHA_CHANNEL_SCALE_CLASS = \"dx-colorview-alpha-channel-scale\";\r\nvar COLOR_VIEW_APLHA_CHANNEL_ROW_CLASS = \"dx-colorview-alpha-channel-row\";\r\nvar COLOR_VIEW_ALPHA_CHANNEL_SCALE_WRAPPER_CLASS = \"dx-colorview-alpha-channel-wrapper\";\r\nvar COLOR_VIEW_ALPHA_CHANNEL_LABEL_CLASS = \"dx-colorview-alpha-channel-label\";\r\nvar COLOR_VIEW_ALPHA_CHANNEL_HANDLE_CLASS = \"dx-colorview-alpha-channel-handle\";\r\nvar COLOR_VIEW_ALPHA_CHANNEL_CELL_CLASS = \"dx-colorview-alpha-channel-cell\";\r\nvar COLOR_VIEW_ALPHA_CHANNEL_BORDER_CLASS = \"dx-colorview-alpha-channel-border\";\r\nvar COLOR_VIEW_COLOR_PREVIEW = \"dx-colorview-color-preview\";\r\nvar COLOR_VIEW_COLOR_PREVIEW_CONTAINER_CLASS = \"dx-colorview-color-preview-container\";\r\nvar COLOR_VIEW_COLOR_PREVIEW_CONTAINER_INNER_CLASS = \"dx-colorview-color-preview-container-inner\";\r\nvar COLOR_VIEW_COLOR_PREVIEW_COLOR_CURRENT = \"dx-colorview-color-preview-color-current\";\r\nvar COLOR_VIEW_COLOR_PREVIEW_COLOR_NEW = \"dx-colorview-color-preview-color-new\";\r\nvar BLACK_COLOR = \"#000000\";\r\nvar ColorView = Editor.inherit({\r\n _supportedKeys: function() {\r\n var isRTL = this.option(\"rtlEnabled\");\r\n var that = this;\r\n var getHorizontalPaletteStep = function(e) {\r\n var step = 100 / that._paletteWidth;\r\n if (e.shiftKey) {\r\n step *= that.option(\"keyStep\")\r\n }\r\n step = step > 1 ? step : 1;\r\n return Math.round(step)\r\n };\r\n var updateHorizontalPaletteValue = function(step) {\r\n var value = that._currentColor.hsv.s + step;\r\n if (value > 100) {\r\n value = 100\r\n } else if (value < 0) {\r\n value = 0\r\n }\r\n that._currentColor.hsv.s = value;\r\n updatePaletteValue()\r\n };\r\n var getVerticalPaletteStep = function(e) {\r\n var step = 100 / that._paletteHeight;\r\n if (e.shiftKey) {\r\n step *= that.option(\"keyStep\")\r\n }\r\n step = step > 1 ? step : 1;\r\n return Math.round(step)\r\n };\r\n var updateVerticalPaletteValue = function(step) {\r\n var value = that._currentColor.hsv.v + step;\r\n if (value > 100) {\r\n value = 100\r\n } else if (value < 0) {\r\n value = 0\r\n }\r\n that._currentColor.hsv.v = value;\r\n updatePaletteValue()\r\n };\r\n\r\n function updatePaletteValue() {\r\n that._placePaletteHandle();\r\n that._updateColorFromHsv(that._currentColor.hsv.h, that._currentColor.hsv.s, that._currentColor.hsv.v)\r\n }\r\n var getHueScaleStep = function(e) {\r\n var step = 360 / (that._hueScaleWrapperHeight - that._hueScaleHandleHeight);\r\n if (e.shiftKey) {\r\n step *= that.option(\"keyStep\")\r\n }\r\n step = step > 1 ? step : 1;\r\n return step\r\n };\r\n var updateHueScaleValue = function(step) {\r\n that._currentColor.hsv.h += step;\r\n that._placeHueScaleHandle();\r\n var handleLocation = locate(that._$hueScaleHandle);\r\n that._updateColorHue(handleLocation.top + that._hueScaleHandleHeight / 2)\r\n };\r\n var getAlphaScaleStep = function(e) {\r\n var step = 1 / that._alphaChannelScaleWorkWidth;\r\n if (e.shiftKey) {\r\n step *= that.option(\"keyStep\")\r\n }\r\n step = step > .01 ? step : .01;\r\n step = isRTL ? -step : step;\r\n return step\r\n };\r\n var updateAlphaScaleValue = function(step) {\r\n that._currentColor.a += step;\r\n that._placeAlphaChannelHandle();\r\n var handleLocation = locate(that._$alphaChannelHandle);\r\n that._calculateColorTransparencyByScaleWidth(handleLocation.left + that._alphaChannelHandleWidth / 2)\r\n };\r\n return extend(this.callBase(), {\r\n upArrow: function(e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (isCommandKeyPressed(e)) {\r\n if (this._currentColor.hsv.h <= 360 && !this._isTopColorHue) {\r\n this._saveValueChangeEvent(e);\r\n updateHueScaleValue(getHueScaleStep(e))\r\n }\r\n } else if (this._currentColor.hsv.v < 100) {\r\n this._saveValueChangeEvent(e);\r\n updateVerticalPaletteValue(getVerticalPaletteStep(e))\r\n }\r\n },\r\n downArrow: function(e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (isCommandKeyPressed(e)) {\r\n if (this._currentColor.hsv.h >= 0) {\r\n if (this._isTopColorHue) {\r\n this._currentColor.hsv.h = 360\r\n }\r\n this._saveValueChangeEvent(e);\r\n updateHueScaleValue(-getHueScaleStep(e))\r\n }\r\n } else if (this._currentColor.hsv.v > 0) {\r\n this._saveValueChangeEvent(e);\r\n updateVerticalPaletteValue(-getVerticalPaletteStep(e))\r\n }\r\n },\r\n rightArrow: function(e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (isCommandKeyPressed(e)) {\r\n if (isRTL ? this._currentColor.a < 1 : this._currentColor.a > 0 && this.option(\"editAlphaChannel\")) {\r\n this._saveValueChangeEvent(e);\r\n updateAlphaScaleValue(-getAlphaScaleStep(e))\r\n }\r\n } else if (this._currentColor.hsv.s < 100) {\r\n this._saveValueChangeEvent(e);\r\n updateHorizontalPaletteValue(getHorizontalPaletteStep(e))\r\n }\r\n },\r\n leftArrow: function(e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (isCommandKeyPressed(e)) {\r\n if (isRTL ? this._currentColor.a > 0 : this._currentColor.a < 1 && this.option(\"editAlphaChannel\")) {\r\n this._saveValueChangeEvent(e);\r\n updateAlphaScaleValue(getAlphaScaleStep(e))\r\n }\r\n } else if (this._currentColor.hsv.s > 0) {\r\n this._saveValueChangeEvent(e);\r\n updateHorizontalPaletteValue(-getHorizontalPaletteStep(e))\r\n }\r\n },\r\n enter: function(e) {\r\n this._fireEnterKeyPressed(e)\r\n }\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n value: null,\r\n matchValue: null,\r\n onEnterKeyPressed: void 0,\r\n editAlphaChannel: false,\r\n keyStep: 1,\r\n stylingMode: void 0\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initColorAndOpacity();\r\n this._initEnterKeyPressedAction()\r\n },\r\n _initEnterKeyPressedAction: function() {\r\n this._onEnterKeyPressedAction = this._createActionByOption(\"onEnterKeyPressed\")\r\n },\r\n _fireEnterKeyPressed: function(e) {\r\n if (!this._onEnterKeyPressedAction) {\r\n return\r\n }\r\n this._onEnterKeyPressedAction({\r\n event: e\r\n })\r\n },\r\n _initColorAndOpacity: function() {\r\n this._setCurrentColor(this.option(\"value\"))\r\n },\r\n _setCurrentColor: function(value) {\r\n value = value || BLACK_COLOR;\r\n var newColor = new Color(value);\r\n if (!newColor.colorIsInvalid) {\r\n if (!this._currentColor || this._makeRgba(this._currentColor) !== this._makeRgba(newColor)) {\r\n this._currentColor = newColor;\r\n if (this._$currentColor) {\r\n this._makeTransparentBackground(this._$currentColor, newColor)\r\n }\r\n }\r\n } else {\r\n if (!this._currentColor) {\r\n this._currentColor = new Color(BLACK_COLOR)\r\n }\r\n this.option(\"value\", this._currentColor.baseColor)\r\n }\r\n },\r\n _setBaseColor: function(value) {\r\n var color = value || BLACK_COLOR;\r\n var newColor = new Color(color);\r\n if (!newColor.colorIsInvalid) {\r\n var isBaseColorChanged = this._makeRgba(this.option(\"matchValue\") !== this._makeRgba(newColor));\r\n if (isBaseColorChanged) {\r\n if (this._$baseColor) {\r\n this._makeTransparentBackground(this._$baseColor, newColor)\r\n }\r\n }\r\n }\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this.$element().addClass(COLOR_VIEW_CLASS);\r\n this._renderColorPickerContainer()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderPalette();\r\n this._renderHueScale();\r\n this._renderControlsContainer();\r\n this._renderControls();\r\n this._renderAlphaChannelElements()\r\n },\r\n _makeTransparentBackground: function($el, color) {\r\n if (!(color instanceof Color)) {\r\n color = new Color(color)\r\n }\r\n $el.css(\"backgroundColor\", this._makeRgba(color))\r\n },\r\n _makeRgba: function(color) {\r\n if (!(color instanceof Color)) {\r\n color = new Color(color)\r\n }\r\n return \"rgba(\" + [color.r, color.g, color.b, color.a].join(\", \") + \")\"\r\n },\r\n _renderValue: function() {\r\n this.callBase(this.option(\"editAlphaChannel\") ? this._makeRgba(this._currentColor) : this.option(\"value\"))\r\n },\r\n _renderColorPickerContainer: function() {\r\n var $parent = this.$element();\r\n this._$colorPickerContainer = $(\"<div>\").addClass(COLOR_VIEW_CONTAINER_CLASS).appendTo($parent);\r\n this._renderHtmlRows()\r\n },\r\n _renderHtmlRows: function(updatedOption) {\r\n var $renderedRows = this._$colorPickerContainer.find(\".\" + COLOR_VIEW_ROW_CLASS);\r\n var renderedRowsCount = $renderedRows.length;\r\n var rowCount = this.option(\"editAlphaChannel\") ? 2 : 1;\r\n var delta = renderedRowsCount - rowCount;\r\n if (delta > 0) {\r\n $renderedRows.eq(-1).remove()\r\n }\r\n if (delta < 0) {\r\n delta = Math.abs(delta);\r\n var rows = [];\r\n var i;\r\n for (i = 0; i < delta; i++) {\r\n rows.push($(\"<div>\").addClass(COLOR_VIEW_ROW_CLASS))\r\n }\r\n if (renderedRowsCount) {\r\n for (i = 0; i < rows.length; i++) {\r\n $renderedRows.eq(0).after(rows[i])\r\n }\r\n } else {\r\n this._$colorPickerContainer.append(rows)\r\n }\r\n }\r\n },\r\n _renderHtmlCellInsideRow: function(index, $rowParent, additionalClass) {\r\n return $(\"<div>\").addClass(COLOR_VIEW_CELL_CLASS).addClass(additionalClass).appendTo($rowParent.find(\".\" + COLOR_VIEW_ROW_CLASS).eq(index))\r\n },\r\n _renderPalette: function() {\r\n var $paletteCell = this._renderHtmlCellInsideRow(0, this._$colorPickerContainer, COLOR_VIEW_PALETTE_CELL_CLASS);\r\n var $paletteGradientWhite = $(\"<div>\").addClass([COLOR_VIEW_PALETTE_GRADIENT_CLASS, COLOR_VIEW_PALETTE_GRADIENT_WHITE_CLASS].join(\" \"));\r\n var $paletteGradientBlack = $(\"<div>\").addClass([COLOR_VIEW_PALETTE_GRADIENT_CLASS, COLOR_VIEW_PALETTE_GRADIENT_BLACK_CLASS].join(\" \"));\r\n this._$palette = $(\"<div>\").addClass(COLOR_VIEW_PALETTE_CLASS).css(\"backgroundColor\", this._currentColor.getPureColor().toHex()).appendTo($paletteCell);\r\n this._paletteHeight = getHeight(this._$palette);\r\n this._paletteWidth = getWidth(this._$palette);\r\n this._renderPaletteHandle();\r\n this._$palette.append([$paletteGradientWhite, $paletteGradientBlack])\r\n },\r\n _renderPaletteHandle: function() {\r\n this._$paletteHandle = $(\"<div>\").addClass(COLOR_VIEW_PALETTE_HANDLE_CLASS).appendTo(this._$palette);\r\n this._createComponent(this._$paletteHandle, Draggable, {\r\n contentTemplate: null,\r\n boundary: this._$palette,\r\n allowMoveByClick: true,\r\n boundOffset: function() {\r\n return -this._paletteHandleHeight / 2\r\n }.bind(this),\r\n onDragMove: _ref => {\r\n var {\r\n event: event\r\n } = _ref;\r\n var paletteHandlePosition = locate(this._$paletteHandle);\r\n this._updateByDrag = true;\r\n this._saveValueChangeEvent(event);\r\n this._updateColorFromHsv(this._currentColor.hsv.h, this._calculateColorSaturation(paletteHandlePosition), this._calculateColorValue(paletteHandlePosition))\r\n }\r\n });\r\n this._paletteHandleWidth = getWidth(this._$paletteHandle);\r\n this._paletteHandleHeight = getHeight(this._$paletteHandle);\r\n this._placePaletteHandle()\r\n },\r\n _placePaletteHandle: function() {\r\n move(this._$paletteHandle, {\r\n left: Math.round(this._paletteWidth * this._currentColor.hsv.s / 100 - this._paletteHandleWidth / 2),\r\n top: Math.round(this._paletteHeight - this._paletteHeight * this._currentColor.hsv.v / 100 - this._paletteHandleHeight / 2)\r\n })\r\n },\r\n _calculateColorValue: function(paletteHandlePosition) {\r\n var value = Math.floor(paletteHandlePosition.top + this._paletteHandleHeight / 2);\r\n return 100 - Math.round(100 * value / this._paletteHeight)\r\n },\r\n _calculateColorSaturation: function(paletteHandlePosition) {\r\n var saturation = Math.floor(paletteHandlePosition.left + this._paletteHandleWidth / 2);\r\n return Math.round(100 * saturation / this._paletteWidth)\r\n },\r\n _updateColorFromHsv: function(hue, saturation, value) {\r\n var a = this._currentColor.a;\r\n this._currentColor = new Color(\"hsv(\" + [hue, saturation, value].join(\",\") + \")\");\r\n this._currentColor.a = a;\r\n this._updateColorParamsAndColorPreview();\r\n this.applyColor()\r\n },\r\n _renderHueScale: function() {\r\n var $hueScaleCell = this._renderHtmlCellInsideRow(0, this._$colorPickerContainer, COLOR_VIEW_HUE_SCALE_CELL_CLASS);\r\n this._$hueScaleWrapper = $(\"<div>\").addClass(COLOR_VIEW_HUE_SCALE_WRAPPER_CLASS).appendTo($hueScaleCell);\r\n this._$hueScale = $(\"<div>\").addClass(COLOR_VIEW_HUE_SCALE_CLASS).appendTo(this._$hueScaleWrapper);\r\n this._hueScaleHeight = getHeight(this._$hueScale);\r\n this._hueScaleWrapperHeight = getOuterHeight(this._$hueScaleWrapper);\r\n this._renderHueScaleHandle()\r\n },\r\n _renderHueScaleHandle: function() {\r\n this._$hueScaleHandle = $(\"<div>\").addClass(COLOR_VIEW_HUE_SCALE_HANDLE_CLASS).appendTo(this._$hueScaleWrapper);\r\n this._createComponent(this._$hueScaleHandle, Draggable, {\r\n contentTemplate: null,\r\n boundary: this._$hueScaleWrapper,\r\n allowMoveByClick: true,\r\n dragDirection: \"vertical\",\r\n onDragMove: _ref2 => {\r\n var {\r\n event: event\r\n } = _ref2;\r\n this._updateByDrag = true;\r\n this._saveValueChangeEvent(event);\r\n this._updateColorHue(locate(this._$hueScaleHandle).top + this._hueScaleHandleHeight / 2)\r\n }\r\n });\r\n this._hueScaleHandleHeight = getHeight(this._$hueScaleHandle);\r\n this._placeHueScaleHandle()\r\n },\r\n _placeHueScaleHandle: function() {\r\n var hueScaleHeight = this._hueScaleWrapperHeight;\r\n var handleHeight = this._hueScaleHandleHeight;\r\n var top = (hueScaleHeight - handleHeight) * (360 - this._currentColor.hsv.h) / 360;\r\n if (hueScaleHeight < top + handleHeight) {\r\n top = hueScaleHeight - handleHeight\r\n }\r\n if (top < 0) {\r\n top = 0\r\n }\r\n move(this._$hueScaleHandle, {\r\n top: Math.round(top)\r\n })\r\n },\r\n _updateColorHue: function(handlePosition) {\r\n var hue = 360 - Math.round(360 * (handlePosition - this._hueScaleHandleHeight / 2) / (this._hueScaleWrapperHeight - this._hueScaleHandleHeight));\r\n var saturation = this._currentColor.hsv.s;\r\n var value = this._currentColor.hsv.v;\r\n this._isTopColorHue = false;\r\n hue = hue < 0 ? 0 : hue;\r\n if (hue >= 360) {\r\n this._isTopColorHue = true;\r\n hue = 0\r\n }\r\n this._updateColorFromHsv(hue, saturation, value);\r\n this._$palette.css(\"backgroundColor\", this._currentColor.getPureColor().toHex())\r\n },\r\n _renderControlsContainer: function() {\r\n var $controlsContainerCell = this._renderHtmlCellInsideRow(0, this._$colorPickerContainer);\r\n this._$controlsContainer = $(\"<div>\").addClass(COLOR_VIEW_CONTROLS_CONTAINER_CLASS).appendTo($controlsContainerCell)\r\n },\r\n _renderControls: function() {\r\n this._renderColorsPreview();\r\n this._renderRgbInputs();\r\n this._renderHexInput()\r\n },\r\n _renderColorsPreview: function() {\r\n var $colorsPreviewContainer = $(\"<div>\").addClass(COLOR_VIEW_COLOR_PREVIEW_CONTAINER_CLASS).appendTo(this._$controlsContainer);\r\n var $colorsPreviewContainerInner = $(\"<div>\").addClass(COLOR_VIEW_COLOR_PREVIEW_CONTAINER_INNER_CLASS).appendTo($colorsPreviewContainer);\r\n this._$currentColor = $(\"<div>\").addClass([COLOR_VIEW_COLOR_PREVIEW, COLOR_VIEW_COLOR_PREVIEW_COLOR_NEW].join(\" \"));\r\n this._$baseColor = $(\"<div>\").addClass([COLOR_VIEW_COLOR_PREVIEW, COLOR_VIEW_COLOR_PREVIEW_COLOR_CURRENT].join(\" \"));\r\n this._makeTransparentBackground(this._$baseColor, this.option(\"matchValue\"));\r\n this._makeTransparentBackground(this._$currentColor, this._currentColor);\r\n $colorsPreviewContainerInner.append([this._$baseColor, this._$currentColor])\r\n },\r\n _renderAlphaChannelElements: function() {\r\n if (this.option(\"editAlphaChannel\")) {\r\n this._$colorPickerContainer.find(\".\" + COLOR_VIEW_ROW_CLASS).eq(1).addClass(COLOR_VIEW_APLHA_CHANNEL_ROW_CLASS);\r\n this._renderAlphaChannelScale();\r\n this._renderAlphaChannelInput()\r\n }\r\n },\r\n _renderRgbInputs: function() {\r\n this._rgbInputsWithLabels = [this._renderEditorWithLabel({\r\n editorType: NumberBox,\r\n value: this._currentColor.r,\r\n onValueChanged: this._updateColor.bind(this, false),\r\n labelText: \"R\",\r\n labelAriaText: messageLocalization.format(\"dxColorView-ariaRed\"),\r\n labelClass: COLOR_VIEW_RED_LABEL_CLASS\r\n }), this._renderEditorWithLabel({\r\n editorType: NumberBox,\r\n value: this._currentColor.g,\r\n onValueChanged: this._updateColor.bind(this, false),\r\n labelText: \"G\",\r\n labelAriaText: messageLocalization.format(\"dxColorView-ariaGreen\"),\r\n labelClass: COLOR_VIEW_GREEN_LABEL_CLASS\r\n }), this._renderEditorWithLabel({\r\n editorType: NumberBox,\r\n value: this._currentColor.b,\r\n onValueChanged: this._updateColor.bind(this, false),\r\n labelText: \"B\",\r\n labelAriaText: messageLocalization.format(\"dxColorView-ariaBlue\"),\r\n labelClass: COLOR_VIEW_BLUE_LABEL_CLASS\r\n })];\r\n this._$controlsContainer.append(this._rgbInputsWithLabels);\r\n this._rgbInputs = [this._rgbInputsWithLabels[0].find(\".dx-numberbox\").dxNumberBox(\"instance\"), this._rgbInputsWithLabels[1].find(\".dx-numberbox\").dxNumberBox(\"instance\"), this._rgbInputsWithLabels[2].find(\".dx-numberbox\").dxNumberBox(\"instance\")]\r\n },\r\n _renderEditorWithLabel: function(options) {\r\n var $editor = $(\"<div>\");\r\n var $label = $(\"<label>\").addClass(options.labelClass).text(options.labelText + \":\").append($editor);\r\n eventsEngine.off($label, clickEventName);\r\n eventsEngine.on($label, clickEventName, (function(e) {\r\n e.preventDefault()\r\n }));\r\n var editorType = options.editorType;\r\n var editorOptions = extend({\r\n value: options.value,\r\n onValueChanged: options.onValueChanged,\r\n onKeyboardHandled: opts => this._keyboardHandler(opts)\r\n }, {\r\n stylingMode: this.option(\"stylingMode\")\r\n });\r\n if (editorType === NumberBox) {\r\n editorOptions.min = options.min || 0;\r\n editorOptions.max = options.max || 255;\r\n editorOptions.step = options.step || 1\r\n }\r\n var editor = new editorType($editor, editorOptions);\r\n editor.registerKeyHandler(\"enter\", function(e) {\r\n this._fireEnterKeyPressed(e)\r\n }.bind(this));\r\n this.setAria(\"label\", options.labelAriaText, $editor);\r\n return $label\r\n },\r\n hexInputOptions: function() {\r\n return {\r\n editorType: TextBox,\r\n value: this._currentColor.toHex().replace(\"#\", \"\"),\r\n onValueChanged: this._updateColor.bind(this, true),\r\n labelClass: COLOR_VIEW_HEX_LABEL_CLASS,\r\n labelText: \"#\",\r\n labelAriaText: messageLocalization.format(\"dxColorView-ariaHex\")\r\n }\r\n },\r\n _renderHexInput: function() {\r\n this._hexInput = TextBox.getInstance(this._renderEditorWithLabel(this.hexInputOptions()).appendTo(this._$controlsContainer).find(\".dx-textbox\"))\r\n },\r\n _renderAlphaChannelScale: function() {\r\n var $alphaChannelScaleCell = this._renderHtmlCellInsideRow(1, this._$colorPickerContainer, COLOR_VIEW_ALPHA_CHANNEL_CELL_CLASS);\r\n var $alphaChannelBorder = $(\"<div>\").addClass(COLOR_VIEW_ALPHA_CHANNEL_BORDER_CLASS).appendTo($alphaChannelScaleCell);\r\n var $alphaChannelScaleWrapper = $(\"<div>\").addClass(COLOR_VIEW_ALPHA_CHANNEL_SCALE_WRAPPER_CLASS).appendTo($alphaChannelBorder);\r\n this._$alphaChannelScale = $(\"<div>\").addClass(COLOR_VIEW_ALPHA_CHANNEL_SCALE_CLASS).appendTo($alphaChannelScaleWrapper);\r\n this._makeCSSLinearGradient(this._$alphaChannelScale);\r\n this._renderAlphaChannelHandle($alphaChannelScaleCell)\r\n },\r\n _makeCSSLinearGradient: function($el) {\r\n var color = this._currentColor;\r\n var colorAsRgb = \"\".concat(color.r, \",\").concat(color.g, \",\").concat(color.b);\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var startColor = \"rgba(\".concat(colorAsRgb, \", \").concat(rtlEnabled ? \"1\" : \"0\", \")\");\r\n var finishColor = \"rgba(\".concat(colorAsRgb, \", \").concat(rtlEnabled ? \"0\" : \"1\", \")\");\r\n var backgroundImage = \"linear-gradient(-90deg, \".concat(startColor, \", \").concat(finishColor, \")\");\r\n $el.css(\"backgroundImage\", backgroundImage)\r\n },\r\n _renderAlphaChannelInput: function() {\r\n var that = this;\r\n var $alphaChannelInputCell = this._renderHtmlCellInsideRow(1, this._$colorPickerContainer);\r\n that._alphaChannelInput = this._renderEditorWithLabel({\r\n editorType: NumberBox,\r\n value: this._currentColor.a,\r\n max: 1,\r\n step: .1,\r\n onValueChanged: function(args) {\r\n var value = args.value;\r\n value = that._currentColor.isValidAlpha(value) ? value : that._currentColor.a;\r\n args.event && that._saveValueChangeEvent(args.event);\r\n that._updateColorTransparency(value);\r\n that._placeAlphaChannelHandle()\r\n },\r\n labelClass: COLOR_VIEW_ALPHA_CHANNEL_LABEL_CLASS,\r\n labelText: \"Alpha\",\r\n labelAriaText: messageLocalization.format(\"dxColorView-ariaAlpha\")\r\n }).appendTo($alphaChannelInputCell).find(\".dx-numberbox\").dxNumberBox(\"instance\")\r\n },\r\n _updateColorTransparency: function(transparency) {\r\n this._currentColor.a = transparency;\r\n this.applyColor()\r\n },\r\n _renderAlphaChannelHandle: function($parent) {\r\n this._$alphaChannelHandle = $(\"<div>\").addClass(COLOR_VIEW_ALPHA_CHANNEL_HANDLE_CLASS).appendTo($parent);\r\n this._createComponent(this._$alphaChannelHandle, Draggable, {\r\n contentTemplate: null,\r\n boundary: $parent,\r\n allowMoveByClick: true,\r\n dragDirection: \"horizontal\",\r\n onDragMove: _ref3 => {\r\n var {\r\n event: event\r\n } = _ref3;\r\n this._updateByDrag = true;\r\n var $alphaChannelHandle = this._$alphaChannelHandle;\r\n var alphaChannelHandlePosition = locate($alphaChannelHandle).left + this._alphaChannelHandleWidth / 2;\r\n this._saveValueChangeEvent(event);\r\n this._calculateColorTransparencyByScaleWidth(alphaChannelHandlePosition)\r\n }\r\n });\r\n this._alphaChannelHandleWidth = getWidth(this._$alphaChannelHandle);\r\n this._alphaChannelScaleWorkWidth = getWidth($parent) - this._alphaChannelHandleWidth;\r\n this._placeAlphaChannelHandle()\r\n },\r\n _calculateColorTransparencyByScaleWidth: function(handlePosition) {\r\n var transparency = (handlePosition - this._alphaChannelHandleWidth / 2) / this._alphaChannelScaleWorkWidth;\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n transparency = rtlEnabled ? transparency : 1 - transparency;\r\n if (handlePosition >= this._alphaChannelScaleWorkWidth + this._alphaChannelHandleWidth / 2) {\r\n transparency = rtlEnabled ? 1 : 0\r\n } else if (transparency < 1) {\r\n transparency = transparency.toFixed(2)\r\n }\r\n var previousTransparency = this._alphaChannelInput.option(\"value\");\r\n transparency = Math.max(transparency, 0);\r\n transparency = Math.min(transparency, 1);\r\n if (transparency === previousTransparency) {\r\n this._updateByDrag = false\r\n } else {\r\n this._alphaChannelInput.option(\"value\", transparency)\r\n }\r\n },\r\n _placeAlphaChannelHandle: function() {\r\n var left = this._alphaChannelScaleWorkWidth * (1 - this._currentColor.a);\r\n if (left < 0) {\r\n left = 0\r\n }\r\n if (this._alphaChannelScaleWorkWidth < left) {\r\n left = this._alphaChannelScaleWorkWidth\r\n }\r\n move(this._$alphaChannelHandle, {\r\n left: this.option(\"rtlEnabled\") ? this._alphaChannelScaleWorkWidth - left : left\r\n })\r\n },\r\n applyColor: function() {\r\n var previousValue = this.option(\"value\");\r\n var colorValue = this.option(\"editAlphaChannel\") ? this._makeRgba(this._currentColor) : this._currentColor.toHex();\r\n this._makeTransparentBackground(this._$currentColor, this._currentColor);\r\n if (colorValue === previousValue) {\r\n this._updateByDrag = false\r\n } else {\r\n this.option(\"value\", colorValue)\r\n }\r\n },\r\n cancelColor: function() {\r\n this._initColorAndOpacity();\r\n this._refreshMarkup()\r\n },\r\n _updateColor: function(isHex, args) {\r\n var rgba;\r\n var newColor;\r\n if (isHex) {\r\n newColor = this._validateHex(\"#\" + this._hexInput.option(\"value\"))\r\n } else {\r\n rgba = this._validateRgb();\r\n if (this._alphaChannelInput) {\r\n rgba.push(this._alphaChannelInput.option(\"value\"));\r\n newColor = \"rgba(\" + rgba.join(\", \") + \")\"\r\n } else {\r\n newColor = \"rgb(\" + rgba.join(\", \") + \")\"\r\n }\r\n }\r\n if (!this._suppressEditorsValueUpdating) {\r\n this._currentColor = new Color(newColor);\r\n this._saveValueChangeEvent(args.event);\r\n this.applyColor();\r\n this._refreshMarkup()\r\n }\r\n },\r\n _validateHex: function(hex) {\r\n return this._currentColor.isValidHex(hex) ? hex : this._currentColor.toHex()\r\n },\r\n _validateRgb: function() {\r\n var r = this._rgbInputs[0].option(\"value\");\r\n var g = this._rgbInputs[1].option(\"value\");\r\n var b = this._rgbInputs[2].option(\"value\");\r\n if (!this._currentColor.isValidRGB(r, g, b)) {\r\n r = this._currentColor.r;\r\n g = this._currentColor.g;\r\n b = this._currentColor.b\r\n }\r\n return [r, g, b]\r\n },\r\n _refreshMarkup: function() {\r\n this._placeHueScaleHandle();\r\n this._placePaletteHandle();\r\n this._updateColorParamsAndColorPreview();\r\n this._$palette.css(\"backgroundColor\", this._currentColor.getPureColor().toHex());\r\n if (this._$alphaChannelHandle) {\r\n this._updateColorTransparency(this._currentColor.a);\r\n this._placeAlphaChannelHandle()\r\n }\r\n },\r\n _updateColorParamsAndColorPreview: function() {\r\n this._suppressEditorsValueUpdating = true;\r\n this._hexInput.option(\"value\", this._currentColor.toHex().replace(\"#\", \"\"));\r\n this._rgbInputs[0].option(\"value\", this._currentColor.r);\r\n this._rgbInputs[1].option(\"value\", this._currentColor.g);\r\n this._rgbInputs[2].option(\"value\", this._currentColor.b);\r\n this._suppressEditorsValueUpdating = false;\r\n if (this.option(\"editAlphaChannel\")) {\r\n this._makeCSSLinearGradient.call(this, this._$alphaChannelScale);\r\n this._alphaChannelInput.option(\"value\", this._currentColor.a)\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n var value = args.value;\r\n switch (args.name) {\r\n case \"value\":\r\n this._setCurrentColor(value);\r\n if (!this._updateByDrag) {\r\n this._refreshMarkup()\r\n }\r\n this._updateByDrag = false;\r\n this.callBase(args);\r\n break;\r\n case \"matchValue\":\r\n this._setBaseColor(value);\r\n break;\r\n case \"onEnterKeyPressed\":\r\n this._initEnterKeyPressedAction();\r\n break;\r\n case \"editAlphaChannel\":\r\n if (this._$colorPickerContainer) {\r\n this._renderHtmlRows(\"editAlphaChannel\");\r\n this._renderAlphaChannelElements()\r\n }\r\n break;\r\n case \"keyStep\":\r\n break;\r\n case \"stylingMode\":\r\n this._renderControls();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxColorView\", ColorView);\r\nexport default ColorView;\r\n","/**\r\n * DevExtreme (esm/ui/context_menu.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport ContextMenu from \"./context_menu/ui.context_menu\";\r\nexport default ContextMenu;\r\n","/**\r\n * DevExtreme (esm/ui/context_menu/ui.context_menu.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Guid from \"../../core/guid\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isObject,\r\n isRenderer,\r\n isWindow,\r\n isFunction,\r\n isPlainObject,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n contains\r\n} from \"../../core/utils/dom\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n hasWindow,\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport fx from \"../../animation/fx\";\r\nimport animationPosition from \"../../animation/position\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport Overlay from \"../overlay/ui.overlay\";\r\nimport MenuBase from \"./ui.menu_base\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n name as contextMenuEventName\r\n} from \"../../events/contextmenu\";\r\nimport holdEvent from \"../../events/hold\";\r\nvar DX_MENU_CLASS = \"dx-menu\";\r\nvar DX_MENU_ITEM_CLASS = DX_MENU_CLASS + \"-item\";\r\nvar DX_MENU_ITEM_EXPANDED_CLASS = DX_MENU_ITEM_CLASS + \"-expanded\";\r\nvar DX_MENU_PHONE_CLASS = \"dx-menu-phone-overlay\";\r\nvar DX_MENU_ITEMS_CONTAINER_CLASS = DX_MENU_CLASS + \"-items-container\";\r\nvar DX_MENU_ITEM_WRAPPER_CLASS = DX_MENU_ITEM_CLASS + \"-wrapper\";\r\nvar DX_SUBMENU_CLASS = \"dx-submenu\";\r\nvar DX_CONTEXT_MENU_CLASS = \"dx-context-menu\";\r\nvar DX_HAS_CONTEXT_MENU_CLASS = \"dx-has-context-menu\";\r\nvar DX_STATE_DISABLED_CLASS = \"dx-state-disabled\";\r\nvar DX_STATE_FOCUSED_CLASS = \"dx-state-focused\";\r\nvar DX_STATE_HOVER_CLASS = \"dx-state-hover\";\r\nvar OVERLAY_CONTENT_CLASS = \"dx-overlay-content\";\r\nvar FOCUS_UP = \"up\";\r\nvar FOCUS_DOWN = \"down\";\r\nvar FOCUS_LEFT = \"left\";\r\nvar FOCUS_RIGHT = \"right\";\r\nvar FOCUS_FIRST = \"first\";\r\nvar FOCUS_LAST = \"last\";\r\nvar ACTIONS = [\"onShowing\", \"onShown\", \"onSubmenuCreated\", \"onHiding\", \"onHidden\", \"onPositioning\", \"onLeftFirstItem\", \"onLeftLastItem\", \"onCloseRootSubmenu\", \"onExpandLastSubmenu\"];\r\nvar LOCAL_SUBMENU_DIRECTIONS = [FOCUS_UP, FOCUS_DOWN, FOCUS_FIRST, FOCUS_LAST];\r\nvar DEFAULT_SHOW_EVENT = \"dxcontextmenu\";\r\nvar window = getWindow();\r\nclass ContextMenu extends MenuBase {\r\n getShowEvent(showEventOption) {\r\n var result = null;\r\n if (isObject(showEventOption)) {\r\n if (null !== showEventOption.name) {\r\n result = showEventOption.name || DEFAULT_SHOW_EVENT\r\n }\r\n } else {\r\n result = showEventOption\r\n }\r\n return result\r\n }\r\n getShowDelay(showEventOption) {\r\n return isObject(showEventOption) && showEventOption.delay\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n showEvent: DEFAULT_SHOW_EVENT,\r\n hideOnOutsideClick: true,\r\n position: {\r\n at: \"top left\",\r\n my: \"top left\"\r\n },\r\n onShowing: null,\r\n onShown: null,\r\n onSubmenuCreated: null,\r\n onHiding: null,\r\n onHidden: null,\r\n onPositioning: null,\r\n submenuDirection: \"auto\",\r\n visible: false,\r\n target: void 0,\r\n onLeftFirstItem: null,\r\n onLeftLastItem: null,\r\n onCloseRootSubmenu: null,\r\n onExpandLastSubmenu: null\r\n })\r\n }\r\n _defaultOptionsRules() {\r\n return super._defaultOptionsRules().concat([{\r\n device: () => !hasWindow(),\r\n options: {\r\n animation: null\r\n }\r\n }])\r\n }\r\n _setDeprecatedOptions() {\r\n super._setDeprecatedOptions();\r\n extend(this._deprecatedOptions, {\r\n closeOnOutsideClick: {\r\n since: \"22.2\",\r\n alias: \"hideOnOutsideClick\"\r\n }\r\n })\r\n }\r\n _initActions() {\r\n this._actions = {};\r\n each(ACTIONS, (index, action) => {\r\n this._actions[action] = this._createActionByOption(action) || noop\r\n })\r\n }\r\n _setOptionsByReference() {\r\n super._setOptionsByReference();\r\n extend(this._optionsByReference, {\r\n animation: true,\r\n selectedItem: true\r\n })\r\n }\r\n _focusInHandler() {}\r\n _itemContainer() {\r\n return this._overlay ? this._overlay.$content() : $()\r\n }\r\n _eventBindingTarget() {\r\n return this._itemContainer()\r\n }\r\n itemsContainer() {\r\n return this._overlay ? this._overlay.$content() : void 0\r\n }\r\n _supportedKeys() {\r\n return extend(super._supportedKeys(), {\r\n space: () => {\r\n var $item = $(this.option(\"focusedElement\"));\r\n this.hide();\r\n if (!$item.length || !this._isSelectionEnabled()) {\r\n return\r\n }\r\n this.selectItem($item[0])\r\n },\r\n escape: this.hide\r\n })\r\n }\r\n _getActiveItem() {\r\n var $availableItems = this._getAvailableItems();\r\n var $focusedItem = $availableItems.filter(\".\".concat(DX_STATE_FOCUSED_CLASS));\r\n var $hoveredItem = $availableItems.filter(\".\".concat(DX_STATE_HOVER_CLASS));\r\n var $hoveredItemContainer = $hoveredItem.closest(\".\".concat(DX_MENU_ITEMS_CONTAINER_CLASS));\r\n if ($hoveredItemContainer.find(\".\".concat(DX_MENU_ITEM_CLASS)).index($focusedItem) >= 0) {\r\n return $focusedItem\r\n }\r\n if ($hoveredItem.length) {\r\n return $hoveredItem\r\n }\r\n return super._getActiveItem()\r\n }\r\n _moveFocus(location) {\r\n var $items = this._getItemsByLocation(location);\r\n var $oldTarget = this._getActiveItem(true);\r\n var $hoveredItem = this.itemsContainer().find(\".\".concat(DX_STATE_HOVER_CLASS));\r\n var $focusedItem = $(this.option(\"focusedElement\"));\r\n var $activeItemHighlighted = !!($focusedItem.length || $hoveredItem.length);\r\n var $newTarget;\r\n switch (location) {\r\n case FOCUS_UP:\r\n $newTarget = $activeItemHighlighted ? this._prevItem($items) : $oldTarget;\r\n this._setFocusedElement($newTarget);\r\n if ($oldTarget.is($items.first())) {\r\n this._actions.onLeftFirstItem($oldTarget)\r\n }\r\n break;\r\n case FOCUS_DOWN:\r\n $newTarget = $activeItemHighlighted ? this._nextItem($items) : $oldTarget;\r\n this._setFocusedElement($newTarget);\r\n if ($oldTarget.is($items.last())) {\r\n this._actions.onLeftLastItem($oldTarget)\r\n }\r\n break;\r\n case FOCUS_RIGHT:\r\n $newTarget = this.option(\"rtlEnabled\") ? this._hideSubmenuHandler() : this._expandSubmenuHandler($items, location);\r\n this._setFocusedElement($newTarget);\r\n break;\r\n case FOCUS_LEFT:\r\n $newTarget = this.option(\"rtlEnabled\") ? this._expandSubmenuHandler($items, location) : this._hideSubmenuHandler();\r\n this._setFocusedElement($newTarget);\r\n break;\r\n case FOCUS_FIRST:\r\n $newTarget = $items.first();\r\n this._setFocusedElement($newTarget);\r\n break;\r\n case FOCUS_LAST:\r\n $newTarget = $items.last();\r\n this._setFocusedElement($newTarget);\r\n break;\r\n default:\r\n return super._moveFocus(location)\r\n }\r\n }\r\n _setFocusedElement($element) {\r\n if ($element && 0 !== $element.length) {\r\n this.option(\"focusedElement\", getPublicElement($element))\r\n }\r\n }\r\n _getItemsByLocation(location) {\r\n var $activeItem = this._getActiveItem(true);\r\n var $items;\r\n if (LOCAL_SUBMENU_DIRECTIONS.includes(location)) {\r\n $items = $activeItem.closest(\".\".concat(DX_MENU_ITEMS_CONTAINER_CLASS)).children().children()\r\n }\r\n $items = this._getAvailableItems($items);\r\n return $items\r\n }\r\n _getAriaTarget() {\r\n return this.$element()\r\n }\r\n _refreshActiveDescendant() {\r\n if (isDefined(this._overlay)) {\r\n var $target = this._overlay.$content();\r\n super._refreshActiveDescendant($target)\r\n }\r\n }\r\n _hideSubmenuHandler() {\r\n var $curItem = this._getActiveItem(true);\r\n var $parentItem = $curItem.parents(\".\".concat(DX_MENU_ITEM_EXPANDED_CLASS)).first();\r\n if ($parentItem.length) {\r\n this._hideSubmenusOnSameLevel($parentItem);\r\n this._hideSubmenu($curItem.closest(\".\".concat(DX_SUBMENU_CLASS)));\r\n return $parentItem\r\n }\r\n this._actions.onCloseRootSubmenu($curItem);\r\n return $curItem\r\n }\r\n _expandSubmenuHandler($items, location) {\r\n var $curItem = this._getActiveItem(true);\r\n var itemData = this._getItemData($curItem);\r\n var node = this._dataAdapter.getNodeByItem(itemData);\r\n var isItemHasSubmenu = this._hasSubmenu(node);\r\n var $submenu = $curItem.children(\".\".concat(DX_SUBMENU_CLASS));\r\n if (isItemHasSubmenu && !$curItem.hasClass(DX_STATE_DISABLED_CLASS)) {\r\n if (!$submenu.length || \"hidden\" === $submenu.css(\"visibility\")) {\r\n this._showSubmenu($curItem)\r\n }\r\n return this._nextItem(this._getItemsByLocation(location))\r\n }\r\n this._actions.onExpandLastSubmenu($curItem);\r\n return\r\n }\r\n _clean() {\r\n if (this._overlay) {\r\n this._overlay.$element().remove();\r\n this._overlay = null\r\n }\r\n this._detachShowContextMenuEvents(this._getTarget());\r\n super._clean()\r\n }\r\n _initMarkup() {\r\n this.$element().addClass(DX_HAS_CONTEXT_MENU_CLASS);\r\n super._initMarkup()\r\n }\r\n _render() {\r\n super._render();\r\n this._renderVisibility(this.option(\"visible\"));\r\n this._addWidgetClass()\r\n }\r\n _renderContentImpl() {\r\n this._detachShowContextMenuEvents(this._getTarget());\r\n this._attachShowContextMenuEvents()\r\n }\r\n _attachKeyboardEvents() {\r\n !this._keyboardListenerId && this._focusTarget().length && super._attachKeyboardEvents()\r\n }\r\n _renderContextMenuOverlay() {\r\n if (this._overlay) {\r\n return\r\n }\r\n var overlayOptions = this._getOverlayOptions();\r\n this._overlay = this._createComponent($(\"<div>\").appendTo(this._$element), Overlay, overlayOptions);\r\n var $overlayContent = this._overlay.$content();\r\n $overlayContent.addClass(DX_CONTEXT_MENU_CLASS);\r\n this._addCustomCssClass($overlayContent);\r\n this._addPlatformDependentClass($overlayContent);\r\n this._attachContextMenuEvent()\r\n }\r\n preventShowingDefaultContextMenuAboveOverlay() {\r\n var $itemContainer = this._itemContainer();\r\n var eventName = addNamespace(contextMenuEventName, this.NAME);\r\n eventsEngine.off($itemContainer, eventName, \".\".concat(DX_SUBMENU_CLASS));\r\n eventsEngine.on($itemContainer, eventName, \".\".concat(DX_SUBMENU_CLASS), (e => {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n eventsEngine.off($itemContainer, eventName, \".\".concat(DX_SUBMENU_CLASS))\r\n }).bind(this))\r\n }\r\n _itemContextMenuHandler(e) {\r\n super._itemContextMenuHandler(e);\r\n e.stopPropagation()\r\n }\r\n _addPlatformDependentClass($element) {\r\n if (devices.current().phone) {\r\n $element.addClass(DX_MENU_PHONE_CLASS)\r\n }\r\n }\r\n _detachShowContextMenuEvents(target) {\r\n var showEvent = this.getShowEvent(this.option(\"showEvent\"));\r\n if (!showEvent) {\r\n return\r\n }\r\n var eventName = addNamespace(showEvent, this.NAME);\r\n if (this._showContextMenuEventHandler) {\r\n eventsEngine.off(domAdapter.getDocument(), eventName, target, this._showContextMenuEventHandler)\r\n } else {\r\n eventsEngine.off($(target), eventName)\r\n }\r\n }\r\n _attachShowContextMenuEvents() {\r\n var target = this._getTarget();\r\n var showEvent = this.getShowEvent(this.option(\"showEvent\"));\r\n if (!showEvent) {\r\n return\r\n }\r\n var eventName = addNamespace(showEvent, this.NAME);\r\n var contextMenuAction = this._createAction(e => {\r\n var delay = this.getShowDelay(this.option(\"showEvent\"));\r\n if (delay) {\r\n setTimeout(() => this._show(e.event), delay)\r\n } else {\r\n this._show(e.event)\r\n }\r\n }, {\r\n validatingTargetName: \"target\"\r\n });\r\n var handler = e => contextMenuAction({\r\n event: e,\r\n target: $(e.currentTarget)\r\n });\r\n contextMenuAction = this._createAction(contextMenuAction);\r\n if (isRenderer(target) || target.nodeType || isWindow(target)) {\r\n this._showContextMenuEventHandler = void 0;\r\n eventsEngine.on(target, eventName, handler)\r\n } else {\r\n this._showContextMenuEventHandler = handler;\r\n eventsEngine.on(domAdapter.getDocument(), eventName, target, this._showContextMenuEventHandler)\r\n }\r\n }\r\n _hoverEndHandler(e) {\r\n super._hoverEndHandler(e);\r\n e.stopPropagation()\r\n }\r\n _renderDimensions() {}\r\n _renderContainer($wrapper, submenuContainer) {\r\n var $holder = submenuContainer || this._itemContainer();\r\n $wrapper = $(\"<div>\");\r\n $wrapper.appendTo($holder).addClass(DX_SUBMENU_CLASS).css(\"visibility\", submenuContainer ? \"hidden\" : \"visible\");\r\n if (!$wrapper.parent().hasClass(OVERLAY_CONTENT_CLASS)) {\r\n this._addCustomCssClass($wrapper)\r\n }\r\n var $itemsContainer = super._renderContainer($wrapper);\r\n if (submenuContainer) {\r\n return $itemsContainer\r\n }\r\n if (this.option(\"width\")) {\r\n return $itemsContainer.css(\"minWidth\", this.option(\"width\"))\r\n }\r\n if (this.option(\"height\")) {\r\n return $itemsContainer.css(\"minHeight\", this.option(\"height\"))\r\n }\r\n return $itemsContainer\r\n }\r\n _renderSubmenuItems(node, $itemFrame) {\r\n this._renderItems(this._getChildNodes(node), $itemFrame);\r\n this._actions.onSubmenuCreated({\r\n itemElement: getPublicElement($itemFrame),\r\n itemData: node.internalFields.item,\r\n submenuElement: getPublicElement($itemFrame.children(\".\".concat(DX_SUBMENU_CLASS)))\r\n })\r\n }\r\n _getOverlayOptions() {\r\n var position = this.option(\"position\");\r\n var overlayOptions = {\r\n focusStateEnabled: this.option(\"focusStateEnabled\"),\r\n animation: this.option(\"animation\"),\r\n innerOverlay: true,\r\n hideOnOutsideClick: e => this._hideOnOutsideClickHandler(e),\r\n propagateOutsideClick: true,\r\n hideOnParentScroll: true,\r\n deferRendering: false,\r\n position: {\r\n at: position.at,\r\n my: position.my,\r\n of: this._getTarget(),\r\n collision: \"flipfit\"\r\n },\r\n shading: false,\r\n showTitle: false,\r\n height: \"auto\",\r\n width: \"auto\",\r\n onShown: this._overlayShownActionHandler.bind(this),\r\n onHiding: this._overlayHidingActionHandler.bind(this),\r\n onHidden: this._overlayHiddenActionHandler.bind(this),\r\n visualContainer: window\r\n };\r\n return overlayOptions\r\n }\r\n _overlayShownActionHandler(arg) {\r\n this._actions.onShown(arg)\r\n }\r\n _overlayHidingActionHandler(arg) {\r\n this._actions.onHiding(arg);\r\n if (!arg.cancel) {\r\n this._hideAllShownSubmenus();\r\n this._setOptionWithoutOptionChange(\"visible\", false)\r\n }\r\n }\r\n _overlayHiddenActionHandler(arg) {\r\n this._actions.onHidden(arg)\r\n }\r\n _shouldHideOnOutsideClick(e) {\r\n var {\r\n closeOnOutsideClick: closeOnOutsideClick,\r\n hideOnOutsideClick: hideOnOutsideClick\r\n } = this.option();\r\n if (isFunction(hideOnOutsideClick)) {\r\n return hideOnOutsideClick(e)\r\n } else if (isFunction(closeOnOutsideClick)) {\r\n return closeOnOutsideClick(e)\r\n } else {\r\n return hideOnOutsideClick || closeOnOutsideClick\r\n }\r\n }\r\n _hideOnOutsideClickHandler(e) {\r\n if (!this._shouldHideOnOutsideClick(e)) {\r\n return false\r\n }\r\n if (domAdapter.isDocument(e.target)) {\r\n return true\r\n }\r\n var $activeItemContainer = this._getActiveItemsContainer(e.target);\r\n var $itemContainers = this._getItemsContainers();\r\n var $clickedItem = this._searchActiveItem(e.target);\r\n var $rootItem = this.$element().parents(\".\".concat(DX_MENU_ITEM_CLASS));\r\n var isRootItemClicked = $clickedItem[0] === $rootItem[0] && $clickedItem.length && $rootItem.length;\r\n var isInnerOverlayClicked = this._isIncludeOverlay($activeItemContainer, $itemContainers) && $clickedItem.length;\r\n if (isInnerOverlayClicked || isRootItemClicked) {\r\n if (\"onClick\" === this._getShowSubmenuMode()) {\r\n this._hideAllShownChildSubmenus($clickedItem)\r\n }\r\n return false\r\n }\r\n return true\r\n }\r\n _getActiveItemsContainer(target) {\r\n return $(target).closest(\".\".concat(DX_MENU_ITEMS_CONTAINER_CLASS))\r\n }\r\n _getItemsContainers() {\r\n return this._overlay.$content().find(\".\".concat(DX_MENU_ITEMS_CONTAINER_CLASS))\r\n }\r\n _searchActiveItem(target) {\r\n return $(target).closest(\".\".concat(DX_MENU_ITEM_CLASS)).eq(0)\r\n }\r\n _isIncludeOverlay($activeOverlay, $allOverlays) {\r\n var isSame = false;\r\n each($allOverlays, (index, $overlay) => {\r\n if ($activeOverlay.is($overlay) && !isSame) {\r\n isSame = true\r\n }\r\n });\r\n return isSame\r\n }\r\n _hideAllShownChildSubmenus($clickedItem) {\r\n var $submenuElements = $clickedItem.find(\".\".concat(DX_SUBMENU_CLASS));\r\n var shownSubmenus = extend([], this._shownSubmenus);\r\n if ($submenuElements.length > 0) {\r\n each(shownSubmenus, (index, $submenu) => {\r\n var $context = this._searchActiveItem($submenu.context).parent();\r\n if ($context.parent().is($clickedItem.parent().parent()) && !$context.is($clickedItem.parent())) {\r\n this._hideSubmenu($submenu)\r\n }\r\n })\r\n }\r\n }\r\n _showSubmenu($item) {\r\n var node = this._dataAdapter.getNodeByItem(this._getItemData($item));\r\n this._hideSubmenusOnSameLevel($item);\r\n if (!this._hasSubmenu(node)) {\r\n return\r\n }\r\n var $submenu = $item.children(\".\".concat(DX_SUBMENU_CLASS));\r\n var isSubmenuRendered = $submenu.length;\r\n super._showSubmenu($item);\r\n if (!isSubmenuRendered) {\r\n this._renderSubmenuItems(node, $item)\r\n }\r\n if (!this._isSubmenuVisible($submenu)) {\r\n this._drawSubmenu($item)\r\n }\r\n }\r\n _hideSubmenusOnSameLevel($item) {\r\n var $expandedItems = $item.parent(\".\".concat(DX_MENU_ITEM_WRAPPER_CLASS)).siblings().find(\".\".concat(DX_MENU_ITEM_EXPANDED_CLASS));\r\n if ($expandedItems.length) {\r\n $expandedItems.removeClass(DX_MENU_ITEM_EXPANDED_CLASS);\r\n this._hideSubmenu($expandedItems.find(\".\".concat(DX_SUBMENU_CLASS)))\r\n }\r\n }\r\n _hideSubmenuGroup($submenu) {\r\n if (this._isSubmenuVisible($submenu)) {\r\n this._hideSubmenuCore($submenu)\r\n }\r\n }\r\n _isSubmenuVisible($submenu) {\r\n return \"visible\" === $submenu.css(\"visibility\")\r\n }\r\n _drawSubmenu($itemElement) {\r\n var animation = this.option(\"animation\") ? this.option(\"animation\").show : {};\r\n var $submenu = $itemElement.children(\".\".concat(DX_SUBMENU_CLASS));\r\n var submenuPosition = this._getSubmenuPosition($itemElement);\r\n if (this._overlay && this._overlay.option(\"visible\")) {\r\n if (!isDefined(this._shownSubmenus)) {\r\n this._shownSubmenus = []\r\n }\r\n if (!this._shownSubmenus.includes($submenu)) {\r\n this._shownSubmenus.push($submenu)\r\n }\r\n if (animation) {\r\n fx.stop($submenu)\r\n }\r\n animationPosition.setup($submenu, submenuPosition);\r\n if (animation) {\r\n if (isPlainObject(animation.to)) {\r\n animation.to.position = submenuPosition\r\n }\r\n this._animate($submenu, animation)\r\n }\r\n $submenu.css(\"visibility\", \"visible\")\r\n }\r\n }\r\n _animate($container, options) {\r\n fx.animate($container, options)\r\n }\r\n _getSubmenuPosition($rootItem) {\r\n var submenuDirection = this.option(\"submenuDirection\").toLowerCase();\r\n var $rootItemWrapper = $rootItem.parent(\".\".concat(DX_MENU_ITEM_WRAPPER_CLASS));\r\n var position = {\r\n collision: \"flip\",\r\n of: $rootItemWrapper,\r\n offset: {\r\n h: 0,\r\n v: -1\r\n }\r\n };\r\n switch (submenuDirection) {\r\n case \"left\":\r\n position.at = \"left top\";\r\n position.my = \"right top\";\r\n break;\r\n case \"right\":\r\n position.at = \"right top\";\r\n position.my = \"left top\";\r\n break;\r\n default:\r\n if (this.option(\"rtlEnabled\")) {\r\n position.at = \"left top\";\r\n position.my = \"right top\"\r\n } else {\r\n position.at = \"right top\";\r\n position.my = \"left top\"\r\n }\r\n }\r\n return position\r\n }\r\n _updateSubmenuVisibilityOnClick(actionArgs) {\r\n if (!actionArgs.args.length) {\r\n return\r\n }\r\n var itemData = actionArgs.args[0].itemData;\r\n var node = this._dataAdapter.getNodeByItem(itemData);\r\n if (!node) {\r\n return\r\n }\r\n var $itemElement = $(actionArgs.args[0].itemElement);\r\n var $submenu = $itemElement.find(\".\".concat(DX_SUBMENU_CLASS));\r\n var shouldRenderSubmenu = this._hasSubmenu(node) && !$submenu.length;\r\n if (shouldRenderSubmenu) {\r\n this._renderSubmenuItems(node, $itemElement);\r\n $submenu = $itemElement.find(\".\".concat(DX_SUBMENU_CLASS))\r\n }\r\n if ($itemElement.context === $submenu.context && \"visible\" === $submenu.css(\"visibility\")) {\r\n return\r\n }\r\n this._updateSelectedItemOnClick(actionArgs);\r\n var notCloseMenuOnItemClick = itemData && false === itemData.closeMenuOnClick;\r\n if (!itemData || itemData.disabled || notCloseMenuOnItemClick) {\r\n return\r\n }\r\n if (0 === $submenu.length) {\r\n var $prevSubmenu = $($itemElement.parents(\".\".concat(DX_SUBMENU_CLASS))[0]);\r\n this._hideSubmenu($prevSubmenu);\r\n if (!actionArgs.canceled && this._overlay && this._overlay.option(\"visible\")) {\r\n this.option(\"visible\", false)\r\n }\r\n } else {\r\n if (this._shownSubmenus && this._shownSubmenus.length > 0) {\r\n if (this._shownSubmenus[0].is($submenu)) {\r\n this._hideSubmenu($submenu)\r\n }\r\n }\r\n this._showSubmenu($itemElement)\r\n }\r\n }\r\n _hideSubmenu($curSubmenu) {\r\n var shownSubmenus = extend([], this._shownSubmenus);\r\n each(shownSubmenus, (index, $submenu) => {\r\n if ($curSubmenu.is($submenu) || contains($curSubmenu[0], $submenu[0])) {\r\n $submenu.parent().removeClass(DX_MENU_ITEM_EXPANDED_CLASS);\r\n this._hideSubmenuCore($submenu)\r\n }\r\n })\r\n }\r\n _hideSubmenuCore($submenu) {\r\n var index = this._shownSubmenus.indexOf($submenu);\r\n var animation = this.option(\"animation\") ? this.option(\"animation\").hide : null;\r\n if (index >= 0) {\r\n this._shownSubmenus.splice(index, 1)\r\n }\r\n this._stopAnimate($submenu);\r\n animation && this._animate($submenu, animation);\r\n $submenu.css(\"visibility\", \"hidden\")\r\n }\r\n _stopAnimate($container) {\r\n fx.stop($container, true)\r\n }\r\n _hideAllShownSubmenus() {\r\n var shownSubmenus = extend([], this._shownSubmenus);\r\n var $expandedItems = this._overlay.$content().find(\".\".concat(DX_MENU_ITEM_EXPANDED_CLASS));\r\n $expandedItems.removeClass(DX_MENU_ITEM_EXPANDED_CLASS);\r\n each(shownSubmenus, (_, $submenu) => {\r\n this._hideSubmenu($submenu)\r\n })\r\n }\r\n _visibilityChanged(visible) {\r\n if (visible) {\r\n this._renderContentImpl()\r\n }\r\n }\r\n _optionChanged(args) {\r\n if (ACTIONS.includes(args.name)) {\r\n this._initActions();\r\n return\r\n }\r\n switch (args.name) {\r\n case \"visible\":\r\n this._renderVisibility(args.value);\r\n break;\r\n case \"showEvent\":\r\n case \"position\":\r\n case \"submenuDirection\":\r\n this._invalidate();\r\n break;\r\n case \"target\":\r\n args.previousValue && this._detachShowContextMenuEvents(args.previousValue);\r\n this._invalidate();\r\n break;\r\n case \"closeOnOutsideClick\":\r\n case \"hideOnOutsideClick\":\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _renderVisibility(showing) {\r\n return showing ? this._show() : this._hide()\r\n }\r\n _toggleVisibility() {}\r\n _show(event) {\r\n var args = {\r\n jQEvent: event\r\n };\r\n var promise = (new Deferred).reject().promise();\r\n this._actions.onShowing(args);\r\n if (args.cancel) {\r\n return promise\r\n }\r\n var position = this._positionContextMenu(event);\r\n if (position) {\r\n var _event$originalEvent;\r\n if (!this._overlay) {\r\n this._renderContextMenuOverlay();\r\n this._overlay.$content().addClass(this._widgetClass());\r\n this._renderFocusState();\r\n this._attachHoverEvents();\r\n this._attachClickEvent();\r\n this._renderItems(this._dataAdapter.getRootNodes())\r\n }\r\n this._setOptionWithoutOptionChange(\"visible\", true);\r\n this._overlay.option(\"position\", position);\r\n promise = this._overlay.show();\r\n event && event.stopPropagation();\r\n this._setAriaAttributes();\r\n if ((null === event || void 0 === event ? void 0 : null === (_event$originalEvent = event.originalEvent) || void 0 === _event$originalEvent ? void 0 : _event$originalEvent.type) === holdEvent.name) {\r\n this.preventShowingDefaultContextMenuAboveOverlay()\r\n }\r\n }\r\n return promise\r\n }\r\n _setAriaAttributes() {\r\n this._overlayContentId = \"dx-\".concat(new Guid);\r\n this.setAria(\"owns\", this._overlayContentId);\r\n this.setAria({\r\n id: this._overlayContentId,\r\n role: \"menu\"\r\n }, this._overlay.$content())\r\n }\r\n _cleanAriaAttributes() {\r\n this._overlay && this.setAria(\"id\", null, this._overlay.$content());\r\n this.setAria(\"owns\", void 0)\r\n }\r\n _getTarget() {\r\n return this.option(\"target\") || this.option(\"position\").of || $(domAdapter.getDocument())\r\n }\r\n _getContextMenuPosition() {\r\n return extend({}, this.option(\"position\"), {\r\n of: this._getTarget()\r\n })\r\n }\r\n _positionContextMenu(jQEvent) {\r\n var position = this._getContextMenuPosition();\r\n var isInitialPosition = this._isInitialOptionValue(\"position\");\r\n var positioningAction = this._createActionByOption(\"onPositioning\");\r\n if (jQEvent && jQEvent.preventDefault && isInitialPosition) {\r\n position.of = jQEvent\r\n }\r\n var actionArgs = {\r\n position: position,\r\n event: jQEvent\r\n };\r\n positioningAction(actionArgs);\r\n if (actionArgs.cancel) {\r\n position = null\r\n } else if (actionArgs.event) {\r\n actionArgs.event.cancel = true;\r\n jQEvent.preventDefault()\r\n }\r\n return position\r\n }\r\n _refresh() {\r\n if (!hasWindow()) {\r\n super._refresh()\r\n } else if (this._overlay) {\r\n var lastPosition = this._overlay.option(\"position\");\r\n super._refresh();\r\n this._overlay && this._overlay.option(\"position\", lastPosition)\r\n } else {\r\n super._refresh()\r\n }\r\n }\r\n _hide() {\r\n var promise;\r\n if (this._overlay) {\r\n promise = this._overlay.hide();\r\n this._setOptionWithoutOptionChange(\"visible\", false)\r\n }\r\n this._cleanAriaAttributes();\r\n this.option(\"focusedElement\", null);\r\n return promise || (new Deferred).reject().promise()\r\n }\r\n toggle(showing) {\r\n var visible = this.option(\"visible\");\r\n showing = void 0 === showing ? !visible : showing;\r\n return this._renderVisibility(showing)\r\n }\r\n show() {\r\n return this.toggle(true)\r\n }\r\n hide() {\r\n return this.toggle(false)\r\n }\r\n}\r\nregisterComponent(\"dxContextMenu\", ContextMenu);\r\nexport default ContextMenu;\r\n","/**\r\n * DevExtreme (esm/ui/context_menu/ui.menu_base.edit.strategy.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n map\r\n} from \"../../core/utils/iterator\";\r\nimport PlainEditStrategy from \"../collection/ui.collection_widget.edit.strategy.plain\";\r\nclass MenuBaseEditStrategy extends PlainEditStrategy {\r\n _getPlainItems() {\r\n return map(this._collectionWidget.option(\"items\"), (function getMenuItems(item) {\r\n return item.items ? [item].concat(map(item.items, getMenuItems)) : item\r\n }))\r\n }\r\n _stringifyItem(item) {\r\n return JSON.stringify(item, (key, value) => {\r\n if (\"template\" === key) {\r\n return this._getTemplateString(value)\r\n }\r\n return value\r\n })\r\n }\r\n _getTemplateString(template) {\r\n var result;\r\n if (\"object\" === typeof template) {\r\n result = $(template).text()\r\n } else {\r\n result = template.toString()\r\n }\r\n return result\r\n }\r\n}\r\nexport default MenuBaseEditStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/context_menu/ui.menu_base.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n noop,\r\n asyncNoop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isPlainObject,\r\n isObject,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n render\r\n} from \"../widget/utils.ink_ripple\";\r\nimport HierarchicalCollectionWidget from \"../hierarchical_collection/ui.hierarchical_collection_widget\";\r\nimport MenuBaseEditStrategy from \"./ui.menu_base.edit.strategy\";\r\nimport devices from \"../../core/devices\";\r\nimport MenuItem from \"../collection/item\";\r\nvar DX_MENU_CLASS = \"dx-menu\";\r\nvar DX_MENU_NO_ICONS_CLASS = DX_MENU_CLASS + \"-no-icons\";\r\nvar DX_MENU_BASE_CLASS = \"dx-menu-base\";\r\nvar ITEM_CLASS = DX_MENU_CLASS + \"-item\";\r\nvar DX_ITEM_CONTENT_CLASS = ITEM_CLASS + \"-content\";\r\nvar DX_MENU_SELECTED_ITEM_CLASS = ITEM_CLASS + \"-selected\";\r\nvar DX_MENU_ITEM_WRAPPER_CLASS = ITEM_CLASS + \"-wrapper\";\r\nvar DX_MENU_ITEMS_CONTAINER_CLASS = DX_MENU_CLASS + \"-items-container\";\r\nvar DX_MENU_ITEM_EXPANDED_CLASS = ITEM_CLASS + \"-expanded\";\r\nvar DX_MENU_SEPARATOR_CLASS = DX_MENU_CLASS + \"-separator\";\r\nvar DX_MENU_ITEM_LAST_GROUP_ITEM = DX_MENU_CLASS + \"-last-group-item\";\r\nvar DX_ITEM_HAS_TEXT = ITEM_CLASS + \"-has-text\";\r\nvar DX_ITEM_HAS_ICON = ITEM_CLASS + \"-has-icon\";\r\nvar DX_ITEM_HAS_SUBMENU = ITEM_CLASS + \"-has-submenu\";\r\nvar DX_MENU_ITEM_POPOUT_CLASS = ITEM_CLASS + \"-popout\";\r\nvar DX_MENU_ITEM_POPOUT_CONTAINER_CLASS = DX_MENU_ITEM_POPOUT_CLASS + \"-container\";\r\nvar DX_MENU_ITEM_CAPTION_CLASS = ITEM_CLASS + \"-text\";\r\nvar SINGLE_SELECTION_MODE = \"single\";\r\nvar DEFAULT_DELAY = {\r\n show: 50,\r\n hide: 300\r\n};\r\nclass MenuBase extends HierarchicalCollectionWidget {\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n items: [],\r\n cssClass: \"\",\r\n activeStateEnabled: true,\r\n showSubmenuMode: {\r\n name: \"onHover\",\r\n delay: {\r\n show: 50,\r\n hide: 300\r\n }\r\n },\r\n animation: {\r\n show: {\r\n type: \"fade\",\r\n from: 0,\r\n to: 1,\r\n duration: 100\r\n },\r\n hide: {\r\n type: \"fade\",\r\n from: 1,\r\n to: 0,\r\n duration: 100\r\n }\r\n },\r\n selectByClick: false,\r\n focusOnSelectedItem: false,\r\n keyExpr: null,\r\n _itemAttributes: {\r\n role: \"menuitem\"\r\n },\r\n useInkRipple: false\r\n })\r\n }\r\n _itemDataKey() {\r\n return \"dxMenuItemDataKey\"\r\n }\r\n _itemClass() {\r\n return ITEM_CLASS\r\n }\r\n _setAriaSelected() {}\r\n _selectedItemClass() {\r\n return DX_MENU_SELECTED_ITEM_CLASS\r\n }\r\n _widgetClass() {\r\n return DX_MENU_BASE_CLASS\r\n }\r\n _focusTarget() {\r\n return this._itemContainer()\r\n }\r\n _clean() {\r\n this.option(\"focusedElement\", null);\r\n super._clean()\r\n }\r\n _supportedKeys() {\r\n return extend(super._supportedKeys(), {\r\n space: () => {\r\n var $item = $(this.option(\"focusedElement\"));\r\n if (!$item.length || !this._isSelectionEnabled()) {\r\n return\r\n }\r\n this.selectItem($item[0])\r\n },\r\n pageUp: noop,\r\n pageDown: noop\r\n })\r\n }\r\n _isSelectionEnabled() {\r\n return this.option(\"selectionMode\") === SINGLE_SELECTION_MODE\r\n }\r\n _init() {\r\n this._activeStateUnit = \".\".concat(ITEM_CLASS);\r\n super._init();\r\n this._renderSelectedItem();\r\n this._initActions()\r\n }\r\n _getTextContainer(itemData) {\r\n var itemText = itemData.text;\r\n var $itemContainer = $(\"<span>\").addClass(DX_MENU_ITEM_CAPTION_CLASS);\r\n var itemContent = isPlainObject(itemData) ? itemText : String(itemData);\r\n return itemText && $itemContainer.text(itemContent)\r\n }\r\n _getPopoutContainer(itemData) {\r\n var items = itemData.items;\r\n var $popOutContainer;\r\n if (items && items.length) {\r\n var $popOutImage = $(\"<div>\").addClass(DX_MENU_ITEM_POPOUT_CLASS);\r\n $popOutContainer = $(\"<span>\").addClass(DX_MENU_ITEM_POPOUT_CONTAINER_CLASS).append($popOutImage)\r\n }\r\n return $popOutContainer\r\n }\r\n _getDataAdapterOptions() {\r\n return {\r\n rootValue: 0,\r\n multipleSelection: false,\r\n recursiveSelection: false,\r\n recursiveExpansion: false,\r\n searchValue: \"\"\r\n }\r\n }\r\n _selectByItem(selectedItem) {\r\n if (!selectedItem) {\r\n return\r\n }\r\n var nodeToSelect = this._dataAdapter.getNodeByItem(selectedItem);\r\n this._dataAdapter.toggleSelection(nodeToSelect.internalFields.key, true)\r\n }\r\n _renderSelectedItem() {\r\n var selectedKeys = this._dataAdapter.getSelectedNodesKeys();\r\n var selectedKey = selectedKeys.length && selectedKeys[0];\r\n var selectedItem = this.option(\"selectedItem\");\r\n if (!selectedKey) {\r\n this._selectByItem(selectedItem);\r\n return\r\n }\r\n var node = this._dataAdapter.getNodeByKey(selectedKey);\r\n if (false === node.selectable) {\r\n return\r\n }\r\n if (!selectedItem) {\r\n this.option(\"selectedItem\", node.internalFields.item);\r\n return\r\n }\r\n if (selectedItem !== node.internalFields.item) {\r\n this._dataAdapter.toggleSelection(selectedKey, false);\r\n this._selectByItem(selectedItem)\r\n }\r\n }\r\n _initActions() {}\r\n _initMarkup() {\r\n super._initMarkup();\r\n this.option(\"useInkRipple\") && this._renderInkRipple()\r\n }\r\n _renderInkRipple() {\r\n this._inkRipple = render()\r\n }\r\n _toggleActiveState($element, value, e) {\r\n super._toggleActiveState.apply(this, arguments);\r\n if (!this._inkRipple) {\r\n return\r\n }\r\n var config = {\r\n element: $element,\r\n event: e\r\n };\r\n if (value) {\r\n this._inkRipple.showWave(config)\r\n } else {\r\n this._inkRipple.hideWave(config)\r\n }\r\n }\r\n _getShowSubmenuMode() {\r\n var optionValue = this.option(\"showSubmenuMode\");\r\n optionValue = isObject(optionValue) ? optionValue.name : optionValue;\r\n return this._isDesktopDevice() ? optionValue : \"onClick\"\r\n }\r\n _initSelectedItems() {}\r\n _isDesktopDevice() {\r\n return \"desktop\" === devices.real().deviceType\r\n }\r\n _initEditStrategy() {\r\n var Strategy = MenuBaseEditStrategy;\r\n this._editStrategy = new Strategy(this)\r\n }\r\n _addCustomCssClass($element) {\r\n $element.addClass(this.option(\"cssClass\"))\r\n }\r\n _itemWrapperSelector() {\r\n return \".\".concat(DX_MENU_ITEM_WRAPPER_CLASS)\r\n }\r\n _hoverStartHandler(e) {\r\n var $itemElement = this._getItemElementByEventArgs(e);\r\n if (!$itemElement || this._isItemDisabled($itemElement)) {\r\n return\r\n }\r\n e.stopPropagation();\r\n if (\"onHover\" === this._getShowSubmenuMode()) {\r\n clearTimeout(this._showSubmenusTimeout);\r\n this._showSubmenusTimeout = setTimeout(this._showSubmenu.bind(this, $itemElement), this._getSubmenuDelay(\"show\"))\r\n }\r\n }\r\n _getAvailableItems($itemElements) {\r\n return super._getAvailableItems($itemElements).filter((function() {\r\n return \"hidden\" !== $(this).css(\"visibility\")\r\n }))\r\n }\r\n _isItemDisabled($item) {\r\n return this._disabledGetter($item.data(this._itemDataKey()))\r\n }\r\n _showSubmenu($itemElement) {\r\n this._addExpandedClass($itemElement)\r\n }\r\n _addExpandedClass(itemElement) {\r\n $(itemElement).addClass(DX_MENU_ITEM_EXPANDED_CLASS)\r\n }\r\n _getSubmenuDelay(action) {\r\n var {\r\n delay: delay\r\n } = this.option(\"showSubmenuMode\");\r\n if (!isDefined(delay)) {\r\n return DEFAULT_DELAY[action]\r\n }\r\n return isObject(delay) ? delay[action] : delay\r\n }\r\n _getItemElementByEventArgs(eventArgs) {\r\n var $target = $(eventArgs.target);\r\n if ($target.hasClass(this._itemClass()) || $target.get(0) === eventArgs.currentTarget) {\r\n return $target\r\n }\r\n while (!$target.hasClass(this._itemClass())) {\r\n $target = $target.parent();\r\n if ($target.hasClass(\"dx-submenu\")) {\r\n return null\r\n }\r\n }\r\n return $target\r\n }\r\n _hoverEndHandler() {\r\n clearTimeout(this._showSubmenusTimeout)\r\n }\r\n _hasSubmenu(node) {\r\n return node && node.internalFields.childrenKeys.length\r\n }\r\n _renderContentImpl() {\r\n this._renderItems(this._dataAdapter.getRootNodes())\r\n }\r\n _renderItems(nodes, submenuContainer) {\r\n if (nodes.length) {\r\n this.hasIcons = false;\r\n var $nodeContainer = this._renderContainer(this.$element(), submenuContainer);\r\n var firstVisibleIndex = -1;\r\n var nextGroupFirstIndex = -1;\r\n each(nodes, (index, node) => {\r\n var isVisibleNode = false !== node.visible;\r\n if (isVisibleNode && firstVisibleIndex < 0) {\r\n firstVisibleIndex = index\r\n }\r\n var isBeginGroup = firstVisibleIndex < index && (node.beginGroup || index === nextGroupFirstIndex);\r\n if (isBeginGroup) {\r\n nextGroupFirstIndex = isVisibleNode ? index : index + 1\r\n }\r\n if (index === nextGroupFirstIndex && firstVisibleIndex < index) {\r\n this._renderSeparator($nodeContainer)\r\n }\r\n this._renderItem(index, node, $nodeContainer)\r\n });\r\n if (!this.hasIcons) {\r\n $nodeContainer.addClass(DX_MENU_NO_ICONS_CLASS)\r\n }\r\n }\r\n }\r\n _renderContainer($wrapper) {\r\n var $container = $(\"<ul>\");\r\n this.setAria(\"role\", \"none\", $container);\r\n return $container.appendTo($wrapper).addClass(DX_MENU_ITEMS_CONTAINER_CLASS)\r\n }\r\n _createDOMElement($nodeContainer) {\r\n var $node = $(\"<li>\");\r\n this.setAria(\"role\", \"none\", $node);\r\n return $node.appendTo($nodeContainer).addClass(DX_MENU_ITEM_WRAPPER_CLASS)\r\n }\r\n _renderItem(index, node, $nodeContainer, $nodeElement) {\r\n var items = this.option(\"items\");\r\n var $node = $nodeElement || this._createDOMElement($nodeContainer);\r\n if (items[index + 1] && items[index + 1].beginGroup) {\r\n $node.addClass(DX_MENU_ITEM_LAST_GROUP_ITEM)\r\n }\r\n var $itemFrame = super._renderItem(index, node.internalFields.item, $node);\r\n if (node.internalFields.item === this.option(\"selectedItem\")) {\r\n $itemFrame.addClass(DX_MENU_SELECTED_ITEM_CLASS)\r\n }\r\n $itemFrame.attr(\"tabIndex\", -1);\r\n if (this._hasSubmenu(node)) {\r\n this.setAria(\"haspopup\", \"true\", $itemFrame)\r\n }\r\n }\r\n _renderItemFrame(index, itemData, $itemContainer) {\r\n var $itemFrame = $itemContainer.children(\".\".concat(ITEM_CLASS));\r\n return $itemFrame.length ? $itemFrame : super._renderItemFrame.apply(this, arguments)\r\n }\r\n _refreshItem($item, item) {\r\n var node = this._dataAdapter.getNodeByItem(item);\r\n var index = $item.data(this._itemIndexKey());\r\n var $nodeContainer = $item.closest(\"ul\");\r\n var $nodeElement = $item.closest(\"li\");\r\n this._renderItem(index, node, $nodeContainer, $nodeElement)\r\n }\r\n _addContentClasses(itemData, $itemFrame) {\r\n var hasText = itemData.text ? !!itemData.text.length : false;\r\n var hasIcon = !!itemData.icon;\r\n var hasSubmenu = itemData.items ? !!itemData.items.length : false;\r\n $itemFrame.toggleClass(DX_ITEM_HAS_TEXT, hasText);\r\n $itemFrame.toggleClass(DX_ITEM_HAS_ICON, hasIcon);\r\n if (!this.hasIcons) {\r\n this.hasIcons = hasIcon\r\n }\r\n $itemFrame.toggleClass(DX_ITEM_HAS_SUBMENU, hasSubmenu)\r\n }\r\n _getItemContent($itemFrame) {\r\n var $itemContent = super._getItemContent($itemFrame);\r\n if (!$itemContent.length) {\r\n $itemContent = $itemFrame.children(\".\".concat(DX_ITEM_CONTENT_CLASS))\r\n }\r\n return $itemContent\r\n }\r\n _postprocessRenderItem(args) {\r\n var $itemElement = $(args.itemElement);\r\n var selectedIndex = this._dataAdapter.getSelectedNodesKeys();\r\n if (!selectedIndex.length || !this._selectedGetter(args.itemData) || !this._isItemSelectable(args.itemData)) {\r\n this._setAriaSelected($itemElement, \"false\");\r\n return\r\n }\r\n var node = this._dataAdapter.getNodeByItem(args.itemData);\r\n if (node.internalFields.key === selectedIndex[0]) {\r\n $itemElement.addClass(this._selectedItemClass());\r\n this._setAriaSelected($itemElement, \"true\")\r\n } else {\r\n this._setAriaSelected($itemElement, \"false\")\r\n }\r\n }\r\n _isItemSelectable(item) {\r\n return false !== item.selectable\r\n }\r\n _renderSeparator($itemsContainer) {\r\n $(\"<li>\").appendTo($itemsContainer).addClass(DX_MENU_SEPARATOR_CLASS)\r\n }\r\n _itemClickHandler(e) {\r\n if (e._skipHandling) {\r\n return\r\n }\r\n var itemClickActionHandler = this._createAction(this._updateSubmenuVisibilityOnClick.bind(this));\r\n this._itemDXEventHandler(e, \"onItemClick\", {}, {\r\n afterExecute: itemClickActionHandler.bind(this)\r\n });\r\n e._skipHandling = true\r\n }\r\n _updateSubmenuVisibilityOnClick(actionArgs) {\r\n this._updateSelectedItemOnClick(actionArgs);\r\n if (\"onClick\" === this._getShowSubmenuMode()) {\r\n this._addExpandedClass(actionArgs.args[0].itemElement)\r\n }\r\n }\r\n _updateSelectedItemOnClick(actionArgs) {\r\n var args = actionArgs.args ? actionArgs.args[0] : actionArgs;\r\n if (!this._isItemSelectionAllowed(args.itemData)) {\r\n return\r\n }\r\n var selectedItemKey = this._dataAdapter.getSelectedNodesKeys();\r\n var selectedNode = selectedItemKey.length && this._dataAdapter.getNodeByKey(selectedItemKey[0]);\r\n if (selectedNode) {\r\n this._toggleItemSelection(selectedNode, false)\r\n }\r\n if (!selectedNode || selectedNode.internalFields.item !== args.itemData) {\r\n this.selectItem(args.itemData)\r\n } else {\r\n this._fireSelectionChangeEvent(null, this.option(\"selectedItem\"));\r\n this._setOptionWithoutOptionChange(\"selectedItem\", null)\r\n }\r\n }\r\n _isItemSelectionAllowed(item) {\r\n var isSelectionByClickEnabled = this._isSelectionEnabled() && this.option(\"selectByClick\");\r\n return !this._isContainerEmpty() && isSelectionByClickEnabled && this._isItemSelectable(item) && !this._itemsGetter(item)\r\n }\r\n _isContainerEmpty() {\r\n return this._itemContainer().is(\":empty\")\r\n }\r\n _syncSelectionOptions() {\r\n return asyncNoop()\r\n }\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"showSubmenuMode\":\r\n break;\r\n case \"selectedItem\":\r\n var node = this._dataAdapter.getNodeByItem(args.value);\r\n var selectedKey = this._dataAdapter.getSelectedNodesKeys()[0];\r\n if (node && node.internalFields.key !== selectedKey) {\r\n if (false === node.selectable) {\r\n break\r\n }\r\n if (selectedKey) {\r\n this._toggleItemSelection(this._dataAdapter.getNodeByKey(selectedKey), false)\r\n }\r\n this._toggleItemSelection(node, true);\r\n this._updateSelectedItems()\r\n }\r\n break;\r\n case \"cssClass\":\r\n case \"position\":\r\n case \"selectByClick\":\r\n case \"animation\":\r\n case \"useInkRipple\":\r\n this._invalidate();\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _toggleItemSelection(node, value) {\r\n var itemElement = this._getElementByItem(node.internalFields.item);\r\n itemElement && $(itemElement).toggleClass(DX_MENU_SELECTED_ITEM_CLASS);\r\n this._dataAdapter.toggleSelection(node.internalFields.key, value)\r\n }\r\n _getElementByItem(itemData) {\r\n var result;\r\n each(this._itemElements(), (_, itemElement) => {\r\n if ($(itemElement).data(this._itemDataKey()) !== itemData) {\r\n return true\r\n }\r\n result = itemElement;\r\n return false\r\n });\r\n return result\r\n }\r\n _updateSelectedItems(oldSelection, newSelection) {\r\n if (oldSelection || newSelection) {\r\n this._fireSelectionChangeEvent(newSelection, oldSelection)\r\n }\r\n }\r\n _fireSelectionChangeEvent(addedSelection, removedSelection) {\r\n this._createActionByOption(\"onSelectionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })({\r\n addedItems: [addedSelection],\r\n removedItems: [removedSelection]\r\n })\r\n }\r\n selectItem(itemElement) {\r\n var itemData = itemElement.nodeType ? this._getItemData(itemElement) : itemElement;\r\n var selectedKey = this._dataAdapter.getSelectedNodesKeys()[0];\r\n var selectedItem = this.option(\"selectedItem\");\r\n var node = this._dataAdapter.getNodeByItem(itemData);\r\n if (node.internalFields.key !== selectedKey) {\r\n if (selectedKey) {\r\n this._toggleItemSelection(this._dataAdapter.getNodeByKey(selectedKey), false)\r\n }\r\n this._toggleItemSelection(node, true);\r\n this._updateSelectedItems(selectedItem, itemData);\r\n this._setOptionWithoutOptionChange(\"selectedItem\", itemData)\r\n }\r\n }\r\n unselectItem(itemElement) {\r\n var itemData = itemElement.nodeType ? this._getItemData(itemElement) : itemElement;\r\n var node = this._dataAdapter.getNodeByItem(itemData);\r\n var selectedItem = this.option(\"selectedItem\");\r\n if (node.internalFields.selected) {\r\n this._toggleItemSelection(node, false);\r\n this._updateSelectedItems(selectedItem, null);\r\n this._setOptionWithoutOptionChange(\"selectedItem\", null)\r\n }\r\n }\r\n}\r\nMenuBase.ItemClass = MenuItem;\r\nexport default MenuBase;\r\n","/**\r\n * DevExtreme (esm/ui/data_grid.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport DataGrid from \"../__internal/grids/data_grid/m_widget\";\r\nexport default DataGrid;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_box.mask.parts.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getPatternSetters\r\n} from \"../../localization/ldml/date.parser\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n fitIntoRange\r\n} from \"../../core/utils/math\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar monthGetter = date => date.getMonth() + 1;\r\nvar monthSetter = (date, value) => {\r\n var day = date.getDate();\r\n var monthLimits = getLimits(\"M\", date);\r\n var newValue = fitIntoRange(parseInt(value), monthLimits.min, monthLimits.max);\r\n date.setMonth(newValue - 1, 1);\r\n var {\r\n min: min,\r\n max: max\r\n } = getLimits(\"dM\", date);\r\n var newDay = fitIntoRange(day, min, max);\r\n date.setDate(newDay)\r\n};\r\nvar PATTERN_GETTERS = {\r\n a: date => date.getHours() < 12 ? 0 : 1,\r\n E: \"getDay\",\r\n y: \"getFullYear\",\r\n M: monthGetter,\r\n L: monthGetter,\r\n d: \"getDate\",\r\n H: \"getHours\",\r\n h: \"getHours\",\r\n m: \"getMinutes\",\r\n s: \"getSeconds\",\r\n S: \"getMilliseconds\"\r\n};\r\nvar PATTERN_SETTERS = extend({}, getPatternSetters(), {\r\n a: (date, value) => {\r\n var hours = date.getHours();\r\n var current = hours >= 12;\r\n if (current === !!parseInt(value)) {\r\n return\r\n }\r\n date.setHours((hours + 12) % 24)\r\n },\r\n d: (date, value) => {\r\n var lastDayInMonth = getLimits(\"dM\", date).max;\r\n if (value > lastDayInMonth) {\r\n date.setMonth(date.getMonth() + 1)\r\n }\r\n date.setDate(value)\r\n },\r\n h: (date, value) => {\r\n var isPM = date.getHours() >= 12;\r\n date.setHours(+value % 12 + (isPM ? 12 : 0))\r\n },\r\n M: monthSetter,\r\n L: monthSetter,\r\n E: (date, value) => {\r\n if (value < 0) {\r\n return\r\n }\r\n date.setDate(date.getDate() - date.getDay() + parseInt(value))\r\n },\r\n y: (date, value) => {\r\n var currentYear = date.getFullYear();\r\n var valueLength = String(value).length;\r\n var maxLimitLength = String(getLimits(\"y\", date).max).length;\r\n var newValue = parseInt(String(currentYear).substr(0, maxLimitLength - valueLength) + value);\r\n date.setFullYear(newValue)\r\n }\r\n});\r\nvar getPatternGetter = patternChar => PATTERN_GETTERS[patternChar] || (() => patternChar);\r\nexport var renderDateParts = (text, regExpInfo) => {\r\n var result = regExpInfo.regexp.exec(text);\r\n var start = 0;\r\n var end = 0;\r\n var sections = [];\r\n var _loop = function() {\r\n start = end;\r\n end = start + result[i].length;\r\n var pattern = regExpInfo.patterns[i - 1].replace(/^'|'$/g, \"\");\r\n var getter = getPatternGetter(pattern[0]);\r\n sections.push({\r\n index: i - 1,\r\n isStub: pattern === result[i],\r\n caret: {\r\n start: start,\r\n end: end\r\n },\r\n pattern: pattern,\r\n text: result[i],\r\n limits: function() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n return getLimits(pattern[0], ...args)\r\n },\r\n setter: PATTERN_SETTERS[pattern[0]] || noop,\r\n getter: getter\r\n })\r\n };\r\n for (var i = 1; i < result.length; i++) {\r\n _loop()\r\n }\r\n return sections\r\n};\r\nvar getLimits = (pattern, date, forcedPattern) => {\r\n var limits = {\r\n y: {\r\n min: 0,\r\n max: 9999\r\n },\r\n M: {\r\n min: 1,\r\n max: 12\r\n },\r\n L: {\r\n min: 1,\r\n max: 12\r\n },\r\n d: {\r\n min: 1,\r\n max: 31\r\n },\r\n dM: {\r\n min: 1,\r\n max: new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate()\r\n },\r\n E: {\r\n min: 0,\r\n max: 6\r\n },\r\n H: {\r\n min: 0,\r\n max: 23\r\n },\r\n h: {\r\n min: 0,\r\n max: 12\r\n },\r\n m: {\r\n min: 0,\r\n max: 59\r\n },\r\n s: {\r\n min: 0,\r\n max: 59\r\n },\r\n S: {\r\n min: 0,\r\n max: 999\r\n },\r\n a: {\r\n min: 0,\r\n max: 1\r\n }\r\n };\r\n return limits[forcedPattern || pattern] || limits.getAmPm\r\n};\r\nexport var getDatePartIndexByPosition = (dateParts, position) => {\r\n for (var i = 0; i < dateParts.length; i++) {\r\n var caretInGroup = dateParts[i].caret.end >= position;\r\n if (!dateParts[i].isStub && caretInGroup) {\r\n return i\r\n }\r\n }\r\n return null\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport dateSerialization from \"../../core/utils/date_serialization\";\r\nimport {\r\n isDate\r\n} from \"../../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport dateLocalization from \"../../localization/date\";\r\nvar DATE_COMPONENTS = [\"year\", \"day\", \"month\", \"day\"];\r\nvar TIME_COMPONENTS = [\"hours\", \"minutes\", \"seconds\", \"milliseconds\"];\r\nvar ONE_MINUTE = 6e4;\r\nvar ONE_DAY = 60 * ONE_MINUTE * 24;\r\nvar ONE_YEAR = 365 * ONE_DAY;\r\nvar getStringFormat = function(format) {\r\n var formatType = typeof format;\r\n if (\"string\" === formatType) {\r\n return \"format\"\r\n }\r\n if (\"object\" === formatType && void 0 !== format.type) {\r\n return format.type\r\n }\r\n return null\r\n};\r\nvar dateUtils = {\r\n SUPPORTED_FORMATS: [\"date\", \"time\", \"datetime\"],\r\n ONE_MINUTE: ONE_MINUTE,\r\n ONE_DAY: ONE_DAY,\r\n ONE_YEAR: ONE_YEAR,\r\n MIN_DATEVIEW_DEFAULT_DATE: new Date(1900, 0, 1),\r\n MAX_DATEVIEW_DEFAULT_DATE: function() {\r\n var newDate = new Date;\r\n return new Date(newDate.getFullYear() + 50, newDate.getMonth(), newDate.getDate(), 23, 59, 59)\r\n }(),\r\n FORMATS_INFO: {\r\n date: {\r\n getStandardPattern: function() {\r\n return \"yyyy-MM-dd\"\r\n },\r\n components: DATE_COMPONENTS\r\n },\r\n time: {\r\n getStandardPattern: function() {\r\n return \"HH:mm\"\r\n },\r\n components: TIME_COMPONENTS\r\n },\r\n datetime: {\r\n getStandardPattern: function() {\r\n var standardPattern;\r\n ! function() {\r\n var $input = $(\"<input>\").attr(\"type\", \"datetime\");\r\n $input.val(\"2000-01-01T01:01Z\");\r\n if ($input.val()) {\r\n standardPattern = \"yyyy-MM-ddTHH:mmZ\"\r\n }\r\n }();\r\n if (!standardPattern) {\r\n standardPattern = \"yyyy-MM-ddTHH:mm:ssZ\"\r\n }\r\n dateUtils.FORMATS_INFO.datetime.getStandardPattern = function() {\r\n return standardPattern\r\n };\r\n return standardPattern\r\n },\r\n components: [...DATE_COMPONENTS, ...TIME_COMPONENTS]\r\n },\r\n \"datetime-local\": {\r\n getStandardPattern: function() {\r\n return \"yyyy-MM-ddTHH:mm:ss\"\r\n },\r\n components: [...DATE_COMPONENTS, \"hours\", \"minutes\", \"seconds\"]\r\n }\r\n },\r\n FORMATS_MAP: {\r\n date: \"shortdate\",\r\n time: \"shorttime\",\r\n datetime: \"shortdateshorttime\"\r\n },\r\n SUBMIT_FORMATS_MAP: {\r\n date: \"date\",\r\n time: \"time\",\r\n datetime: \"datetime-local\"\r\n },\r\n toStandardDateFormat: function(date, type) {\r\n var pattern = dateUtils.FORMATS_INFO[type].getStandardPattern();\r\n return dateSerialization.serializeDate(date, pattern)\r\n },\r\n fromStandardDateFormat: function(text) {\r\n var date = dateSerialization.dateParser(text);\r\n return isDate(date) ? date : void 0\r\n },\r\n getMaxMonthDay: function(year, month) {\r\n return new Date(year, month + 1, 0).getDate()\r\n },\r\n mergeDates: function(oldValue, newValue, format) {\r\n if (!newValue) {\r\n return newValue || null\r\n }\r\n if (!oldValue || isNaN(oldValue.getTime())) {\r\n var now = new Date(null);\r\n oldValue = new Date(now.getFullYear(), now.getMonth(), now.getDate())\r\n }\r\n var result = new Date(oldValue.valueOf());\r\n var formatInfo = dateUtils.FORMATS_INFO[format];\r\n each(formatInfo.components, (function() {\r\n var componentInfo = dateUtils.DATE_COMPONENTS_INFO[this];\r\n result[componentInfo.setter](newValue[componentInfo.getter]())\r\n }));\r\n return result\r\n },\r\n getLongestCaptionIndex: function(captionArray) {\r\n var longestIndex = 0;\r\n var longestCaptionLength = 0;\r\n var i;\r\n for (i = 0; i < captionArray.length; ++i) {\r\n if (captionArray[i].length > longestCaptionLength) {\r\n longestIndex = i;\r\n longestCaptionLength = captionArray[i].length\r\n }\r\n }\r\n return longestIndex\r\n },\r\n formatUsesMonthName: function(format) {\r\n return dateLocalization.formatUsesMonthName(format)\r\n },\r\n formatUsesDayName: function(format) {\r\n return dateLocalization.formatUsesDayName(format)\r\n },\r\n getLongestDate: function(format, monthNames, dayNames) {\r\n var stringFormat = getStringFormat(format);\r\n var month = 9;\r\n if (!stringFormat || dateUtils.formatUsesMonthName(stringFormat)) {\r\n month = dateUtils.getLongestCaptionIndex(monthNames)\r\n }\r\n var longestDate = new Date(1888, month, 21, 23, 59, 59, 999);\r\n if (!stringFormat || dateUtils.formatUsesDayName(stringFormat)) {\r\n var date = longestDate.getDate() - longestDate.getDay() + dateUtils.getLongestCaptionIndex(dayNames);\r\n longestDate.setDate(date)\r\n }\r\n return longestDate\r\n },\r\n normalizeTime: function(date) {\r\n date.setSeconds(0);\r\n date.setMilliseconds(0)\r\n }\r\n};\r\ndateUtils.DATE_COMPONENTS_INFO = {\r\n year: {\r\n getter: \"getFullYear\",\r\n setter: \"setFullYear\",\r\n formatter: function(value, date) {\r\n var formatDate = new Date(date.getTime());\r\n formatDate.setFullYear(value);\r\n return dateLocalization.format(formatDate, \"yyyy\")\r\n },\r\n startValue: void 0,\r\n endValue: void 0\r\n },\r\n day: {\r\n getter: \"getDate\",\r\n setter: \"setDate\",\r\n formatter: function(value, date) {\r\n var formatDate = new Date(date.getTime());\r\n formatDate.setDate(value);\r\n return dateLocalization.format(formatDate, \"d\")\r\n },\r\n startValue: 1,\r\n endValue: void 0\r\n },\r\n month: {\r\n getter: \"getMonth\",\r\n setter: \"setMonth\",\r\n formatter: function(value) {\r\n return dateLocalization.getMonthNames()[value]\r\n },\r\n startValue: 0,\r\n endValue: 11\r\n },\r\n hours: {\r\n getter: \"getHours\",\r\n setter: \"setHours\",\r\n formatter: function(value) {\r\n return dateLocalization.format(new Date(0, 0, 0, value), \"hour\")\r\n },\r\n startValue: 0,\r\n endValue: 23\r\n },\r\n minutes: {\r\n getter: \"getMinutes\",\r\n setter: \"setMinutes\",\r\n formatter: function(value) {\r\n return dateLocalization.format(new Date(0, 0, 0, 0, value), \"minute\")\r\n },\r\n startValue: 0,\r\n endValue: 59\r\n },\r\n seconds: {\r\n getter: \"getSeconds\",\r\n setter: \"setSeconds\",\r\n formatter: function(value) {\r\n return dateLocalization.format(new Date(0, 0, 0, 0, 0, value), \"second\")\r\n },\r\n startValue: 0,\r\n endValue: 59\r\n },\r\n milliseconds: {\r\n getter: \"getMilliseconds\",\r\n setter: \"setMilliseconds\",\r\n formatter: function(value) {\r\n return dateLocalization.format(new Date(0, 0, 0, 0, 0, 0, value), \"millisecond\")\r\n },\r\n startValue: 0,\r\n endValue: 999\r\n }\r\n};\r\nexport default dateUtils;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_box.strategy.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport Class from \"../../core/class\";\r\nimport dateLocalization from \"../../localization/date\";\r\nvar abstract = Class.abstract;\r\nvar DateBoxStrategy = Class.inherit({\r\n ctor: function(dateBox) {\r\n this.dateBox = dateBox\r\n },\r\n widgetOption: function() {\r\n return this._widget && this._widget.option.apply(this._widget, arguments)\r\n },\r\n _renderWidget: function(element) {\r\n element = element || $(\"<div>\");\r\n this._widget = this._createWidget(element);\r\n this._widget.$element().appendTo(this._getWidgetContainer())\r\n },\r\n _createWidget: function(element) {\r\n var widgetName = this._getWidgetName();\r\n var widgetOptions = this._getWidgetOptions();\r\n return this.dateBox._createComponent(element, widgetName, widgetOptions)\r\n },\r\n _getWidgetOptions: abstract,\r\n _getWidgetName: abstract,\r\n getDefaultOptions: function() {\r\n return {\r\n mode: \"text\"\r\n }\r\n },\r\n getDisplayFormat: abstract,\r\n supportedKeys: noop,\r\n getKeyboardListener: noop,\r\n customizeButtons: noop,\r\n getParsedText: function(text, format) {\r\n var value = dateLocalization.parse(text, format);\r\n return value ? value : dateLocalization.parse(text)\r\n },\r\n renderInputMinMax: noop,\r\n renderOpenedState: function() {\r\n this._updateValue()\r\n },\r\n popupConfig: abstract,\r\n _dimensionChanged: function() {\r\n var _this$_getPopup;\r\n null === (_this$_getPopup = this._getPopup()) || void 0 === _this$_getPopup ? void 0 : _this$_getPopup.repaint()\r\n },\r\n renderPopupContent: function() {\r\n var popup = this._getPopup();\r\n this._renderWidget();\r\n var $popupContent = popup.$content().parent();\r\n eventsEngine.off($popupContent, \"mousedown\");\r\n eventsEngine.on($popupContent, \"mousedown\", this._preventFocusOnPopup.bind(this))\r\n },\r\n getFirstPopupElement: noop,\r\n getLastPopupElement: noop,\r\n _preventFocusOnPopup: function(e) {\r\n e.preventDefault()\r\n },\r\n _getWidgetContainer: function() {\r\n return this._getPopup().$content()\r\n },\r\n _getPopup: function() {\r\n return this.dateBox._popup\r\n },\r\n popupShowingHandler: noop,\r\n popupHiddenHandler: noop,\r\n _updateValue: function() {\r\n this._widget && this._widget.option(\"value\", this.dateBoxValue())\r\n },\r\n useCurrentDateByDefault: noop,\r\n getDefaultDate: function() {\r\n return new Date\r\n },\r\n textChangedHandler: noop,\r\n renderValue: function() {\r\n if (this.dateBox.option(\"opened\")) {\r\n this._updateValue()\r\n }\r\n },\r\n getValue: function() {\r\n return this._widget.option(\"value\")\r\n },\r\n isAdaptivityChanged: function() {\r\n return false\r\n },\r\n dispose: function() {\r\n var popup = this._getPopup();\r\n if (popup) {\r\n popup.$content().empty()\r\n }\r\n },\r\n dateBoxValue: function() {\r\n if (arguments.length) {\r\n return this.dateBox.dateValue.apply(this.dateBox, arguments)\r\n } else {\r\n return this.dateBox.dateOption.apply(this.dateBox, [\"value\"])\r\n }\r\n }\r\n});\r\nexport default DateBoxStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_box.strategy.calendar.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Calendar from \"../calendar\";\r\nimport DateBoxStrategy from \"./ui.date_box.strategy\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport {\r\n splitPair\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isFunction,\r\n isEmptyObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport messageLocalization from \"../../localization/message\";\r\nvar CalendarStrategy = DateBoxStrategy.inherit({\r\n NAME: \"Calendar\",\r\n getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n todayButtonText: messageLocalization.format(\"dxCalendar-todayButtonText\")\r\n })\r\n },\r\n supportedKeys: function() {\r\n var homeEndHandler = function(e) {\r\n if (this.option(\"opened\")) {\r\n e.preventDefault();\r\n return true\r\n }\r\n return false\r\n };\r\n return {\r\n rightArrow: function() {\r\n if (this.option(\"opened\")) {\r\n return true\r\n }\r\n },\r\n leftArrow: function() {\r\n if (this.option(\"opened\")) {\r\n return true\r\n }\r\n },\r\n enter: function(e) {\r\n if (this.dateBox.option(\"opened\")) {\r\n e.preventDefault();\r\n if (this._widget.option(\"zoomLevel\") === this._widget.option(\"maxZoomLevel\")) {\r\n var viewValue = this._getContouredValue();\r\n var lastActionElement = this._lastActionElement;\r\n var shouldCloseDropDown = this._closeDropDownByEnter();\r\n if (shouldCloseDropDown && viewValue && \"calendar\" === lastActionElement) {\r\n this.dateBoxValue(viewValue, e)\r\n }\r\n shouldCloseDropDown && this.dateBox.close();\r\n this.dateBox._valueChangeEventHandler(e);\r\n return !shouldCloseDropDown\r\n } else {\r\n return true\r\n }\r\n } else {\r\n this.dateBox._valueChangeEventHandler(e)\r\n }\r\n }.bind(this),\r\n home: homeEndHandler,\r\n end: homeEndHandler\r\n }\r\n },\r\n getDisplayFormat: function(displayFormat) {\r\n return displayFormat || \"shortdate\"\r\n },\r\n _closeDropDownByEnter: () => true,\r\n _getWidgetName: function() {\r\n return Calendar\r\n },\r\n _getContouredValue: function() {\r\n return this._widget._view.option(\"contouredDate\")\r\n },\r\n getKeyboardListener() {\r\n return this._widget\r\n },\r\n _getWidgetOptions: function() {\r\n var disabledDates = this.dateBox.option(\"disabledDates\");\r\n return extend(this.dateBox.option(\"calendarOptions\"), {\r\n value: this.dateBoxValue() || null,\r\n dateSerializationFormat: null,\r\n min: this.dateBox.dateOption(\"min\"),\r\n max: this.dateBox.dateOption(\"max\"),\r\n onValueChanged: this._valueChangedHandler.bind(this),\r\n onCellClick: this._cellClickHandler.bind(this),\r\n tabIndex: null,\r\n disabledDates: isFunction(disabledDates) ? this._injectComponent(disabledDates.bind(this.dateBox)) : disabledDates,\r\n onContouredChanged: this._refreshActiveDescendant.bind(this),\r\n skipFocusCheck: true\r\n })\r\n },\r\n _injectComponent: function(func) {\r\n var that = this;\r\n return function(params) {\r\n extend(params, {\r\n component: that.dateBox\r\n });\r\n return func(params)\r\n }\r\n },\r\n _refreshActiveDescendant: function(e) {\r\n this._lastActionElement = \"calendar\";\r\n this.dateBox.setAria(\"activedescendant\", e.actionValue)\r\n },\r\n _getTodayButtonConfig() {\r\n var buttonsLocation = this.dateBox.option(\"buttonsLocation\");\r\n var isButtonsLocationDefault = \"default\" === buttonsLocation;\r\n var position = isButtonsLocationDefault ? [\"bottom\", \"center\"] : splitPair(buttonsLocation);\r\n return {\r\n widget: \"dxButton\",\r\n toolbar: position[0],\r\n location: \"after\" === position[1] ? \"before\" : position[1],\r\n options: {\r\n onInitialized: function(e) {\r\n e.component.registerKeyHandler(\"escape\", this._escapeHandler.bind(this))\r\n }.bind(this),\r\n onClick: args => {\r\n this._widget._toTodayView(args)\r\n },\r\n text: this.dateBox.option(\"todayButtonText\"),\r\n type: \"today\"\r\n }\r\n }\r\n },\r\n _isCalendarVisible: function() {\r\n var {\r\n calendarOptions: calendarOptions\r\n } = this.dateBox.option();\r\n return isEmptyObject(calendarOptions) || false !== calendarOptions.visible\r\n },\r\n _getPopupToolbarItems(toolbarItems) {\r\n var useButtons = \"useButtons\" === this.dateBox.option(\"applyValueMode\");\r\n var shouldRenderTodayButton = useButtons && this._isCalendarVisible();\r\n if (shouldRenderTodayButton) {\r\n var todayButton = this._getTodayButtonConfig();\r\n return [todayButton, ...toolbarItems]\r\n }\r\n return toolbarItems\r\n },\r\n popupConfig: function(_popupConfig) {\r\n return extend(true, _popupConfig, {\r\n position: {\r\n collision: \"flipfit flip\"\r\n },\r\n width: \"auto\"\r\n })\r\n },\r\n _escapeHandler: function() {\r\n this.dateBox.close();\r\n this.dateBox.focus()\r\n },\r\n _valueChangedHandler: function(e) {\r\n var value = e.value;\r\n var prevValue = e.previousValue;\r\n if (dateUtils.sameDate(value, prevValue) && dateUtils.sameHoursAndMinutes(value, prevValue)) {\r\n return\r\n }\r\n if (\"instantly\" === this.dateBox.option(\"applyValueMode\")) {\r\n this.dateBoxValue(this.getValue(), e.event)\r\n }\r\n },\r\n _updateValue: function() {\r\n if (!this._widget) {\r\n return\r\n }\r\n this._widget.option(\"value\", this.dateBoxValue())\r\n },\r\n textChangedHandler: function() {\r\n this._lastActionElement = \"input\";\r\n if (this.dateBox.option(\"opened\") && this._widget) {\r\n this._updateValue(true)\r\n }\r\n },\r\n _cellClickHandler: function(e) {\r\n var dateBox = this.dateBox;\r\n if (\"instantly\" === dateBox.option(\"applyValueMode\")) {\r\n dateBox.option(\"opened\", false);\r\n this.dateBoxValue(this.getValue(), e.event)\r\n }\r\n }\r\n});\r\nexport default CalendarStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_view_roller.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport Scrollable from \"../scroll_view/ui.scrollable.old\";\r\nimport devices from \"../../core/devices\";\r\nimport fx from \"../../animation/fx\";\r\nimport {\r\n resetPosition\r\n} from \"../../animation/translator\";\r\nimport {\r\n convertToLocation\r\n} from \"../../renovation/ui/scroll_view/utils/convert_location\";\r\nvar DATEVIEW_ROLLER_CLASS = \"dx-dateviewroller\";\r\nvar DATEVIEW_ROLLER_ACTIVE_CLASS = \"dx-state-active\";\r\nvar DATEVIEW_ROLLER_CURRENT_CLASS = \"dx-dateviewroller-current\";\r\nvar DATEVIEW_ROLLER_ITEM_CLASS = \"dx-dateview-item\";\r\nvar DATEVIEW_ROLLER_ITEM_SELECTED_CLASS = \"dx-dateview-item-selected\";\r\nvar DATEVIEW_ROLLER_ITEM_SELECTED_FRAME_CLASS = \"dx-dateview-item-selected-frame\";\r\nvar DATEVIEW_ROLLER_ITEM_SELECTED_BORDER_CLASS = \"dx-dateview-item-selected-border\";\r\nclass DateViewRoller extends Scrollable {\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n showScrollbar: \"never\",\r\n useNative: false,\r\n selectedIndex: 0,\r\n bounceEnabled: false,\r\n items: [],\r\n showOnClick: false,\r\n onClick: null,\r\n onSelectedIndexChanged: null,\r\n scrollByContent: true\r\n })\r\n }\r\n _init() {\r\n super._init();\r\n this.option(\"onVisibilityChange\", this._visibilityChangedHandler.bind(this));\r\n this.option(\"onEnd\", this._endActionHandler.bind(this))\r\n }\r\n _render() {\r\n super._render();\r\n this._renderSelectedItemFrame();\r\n this.$element().addClass(DATEVIEW_ROLLER_CLASS);\r\n this._renderContainerClick();\r\n this._renderItems();\r\n this._renderSelectedValue();\r\n this._renderItemsClick();\r\n this._renderWheelEvent();\r\n this._renderSelectedIndexChanged()\r\n }\r\n _renderSelectedIndexChanged() {\r\n this._selectedIndexChanged = this._createActionByOption(\"onSelectedIndexChanged\")\r\n }\r\n _renderWheelEvent() {\r\n eventsEngine.on($(this.container()), \"dxmousewheel\", e => {\r\n this._isWheelScrolled = true\r\n })\r\n }\r\n _renderContainerClick() {\r\n if (!this.option(\"showOnClick\")) {\r\n return\r\n }\r\n var eventName = addNamespace(clickEventName, this.NAME);\r\n var clickAction = this._createActionByOption(\"onClick\");\r\n eventsEngine.off($(this.container()), eventName);\r\n eventsEngine.on($(this.container()), eventName, (function(e) {\r\n clickAction({\r\n event: e\r\n })\r\n }))\r\n }\r\n _renderItems() {\r\n var items = this.option(\"items\") || [];\r\n var $items = $();\r\n $(this.content()).empty();\r\n items.forEach((function(item) {\r\n $items = $items.add($(\"<div>\").addClass(DATEVIEW_ROLLER_ITEM_CLASS).append(item))\r\n }));\r\n $(this.content()).append($items);\r\n this._$items = $items;\r\n this.update()\r\n }\r\n _renderSelectedItemFrame() {\r\n $(\"<div>\").addClass(DATEVIEW_ROLLER_ITEM_SELECTED_FRAME_CLASS).append($(\"<div>\").addClass(DATEVIEW_ROLLER_ITEM_SELECTED_BORDER_CLASS)).appendTo($(this.container()))\r\n }\r\n _renderSelectedValue(selectedIndex) {\r\n var index = this._fitIndex(null !== selectedIndex && void 0 !== selectedIndex ? selectedIndex : this.option(\"selectedIndex\"));\r\n this._moveTo({\r\n top: this._getItemPosition(index)\r\n });\r\n this._renderActiveStateItem()\r\n }\r\n _fitIndex(index) {\r\n var items = this.option(\"items\") || [];\r\n var itemCount = items.length;\r\n if (index >= itemCount) {\r\n return itemCount - 1\r\n }\r\n if (index < 0) {\r\n return 0\r\n }\r\n return index\r\n }\r\n _getItemPosition(index) {\r\n return Math.round(this._itemHeight() * index)\r\n }\r\n _renderItemsClick() {\r\n var itemSelector = this._getItemSelector();\r\n var eventName = addNamespace(clickEventName, this.NAME);\r\n eventsEngine.off(this.$element(), eventName, itemSelector);\r\n eventsEngine.on(this.$element(), eventName, itemSelector, this._itemClickHandler.bind(this))\r\n }\r\n _getItemSelector() {\r\n return \".\" + DATEVIEW_ROLLER_ITEM_CLASS\r\n }\r\n _itemClickHandler(e) {\r\n this.option(\"selectedIndex\", this._itemElementIndex(e.currentTarget))\r\n }\r\n _itemElementIndex(itemElement) {\r\n return this._itemElements().index(itemElement)\r\n }\r\n _itemElements() {\r\n return this.$element().find(this._getItemSelector())\r\n }\r\n _renderActiveStateItem() {\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n each(this._$items, (function(index) {\r\n $(this).toggleClass(DATEVIEW_ROLLER_ITEM_SELECTED_CLASS, selectedIndex === index)\r\n }))\r\n }\r\n _shouldScrollToNeighborItem() {\r\n return \"desktop\" === devices.real().deviceType && this._isWheelScrolled\r\n }\r\n _moveTo(targetLocation) {\r\n var {\r\n top: top,\r\n left: left\r\n } = convertToLocation(targetLocation);\r\n var location = this.scrollOffset();\r\n var delta = {\r\n x: location.left - left,\r\n y: location.top - top\r\n };\r\n if (this._isVisible() && (delta.x || delta.y)) {\r\n this._prepareDirections(true);\r\n if (this._animation && !this._shouldScrollToNeighborItem()) {\r\n var that = this;\r\n fx.stop($(this.content()));\r\n fx.animate($(this.content()), {\r\n duration: 200,\r\n type: \"slide\",\r\n to: {\r\n top: Math.floor(delta.y)\r\n },\r\n complete() {\r\n resetPosition($(that.content()));\r\n that.handleMove({\r\n delta: delta\r\n })\r\n }\r\n });\r\n delete this._animation\r\n } else {\r\n this.handleMove({\r\n delta: delta\r\n })\r\n }\r\n }\r\n }\r\n _validate(e) {\r\n return this._moveIsAllowed(e)\r\n }\r\n _fitSelectedIndexInRange(index) {\r\n var itemsCount = this.option(\"items\").length;\r\n return Math.max(Math.min(index, itemsCount - 1), 0)\r\n }\r\n _isInNullNeighborhood(x) {\r\n return -.1 <= x && x <= .1\r\n }\r\n _getSelectedIndexAfterScroll(currentSelectedIndex) {\r\n var locationTop = this.scrollOffset().top;\r\n var currentSelectedIndexPosition = currentSelectedIndex * this._itemHeight();\r\n var dy = locationTop - currentSelectedIndexPosition;\r\n if (this._isInNullNeighborhood(dy)) {\r\n return currentSelectedIndex\r\n }\r\n var direction = dy > 0 ? 1 : -1;\r\n var newSelectedIndex = this._fitSelectedIndexInRange(currentSelectedIndex + direction);\r\n return newSelectedIndex\r\n }\r\n _getNewSelectedIndex(currentSelectedIndex) {\r\n if (this._shouldScrollToNeighborItem()) {\r\n return this._getSelectedIndexAfterScroll(currentSelectedIndex)\r\n }\r\n this._animation = true;\r\n var ratio = this.scrollOffset().top / this._itemHeight();\r\n return Math.round(ratio)\r\n }\r\n _endActionHandler() {\r\n var currentSelectedIndex = this.option(\"selectedIndex\");\r\n var newSelectedIndex = this._getNewSelectedIndex(currentSelectedIndex);\r\n if (newSelectedIndex === currentSelectedIndex) {\r\n this._renderSelectedValue(newSelectedIndex)\r\n } else {\r\n this.option(\"selectedIndex\", newSelectedIndex)\r\n }\r\n this._isWheelScrolled = false\r\n }\r\n _itemHeight() {\r\n var $item = this._$items.first();\r\n return getHeight($item)\r\n }\r\n _toggleActive(state) {\r\n this.$element().toggleClass(DATEVIEW_ROLLER_ACTIVE_CLASS, state)\r\n }\r\n _isVisible() {\r\n return $(this.container()).is(\":visible\")\r\n }\r\n _fireSelectedIndexChanged(value, previousValue) {\r\n this._selectedIndexChanged({\r\n value: value,\r\n previousValue: previousValue,\r\n event: void 0\r\n })\r\n }\r\n _visibilityChanged(visible) {\r\n super._visibilityChanged(visible);\r\n this._visibilityChangedHandler(visible)\r\n }\r\n _visibilityChangedHandler(visible) {\r\n if (visible) {\r\n this._visibilityTimer = setTimeout(() => {\r\n this._renderSelectedValue(this.option(\"selectedIndex\"))\r\n })\r\n }\r\n this.toggleActiveState(false)\r\n }\r\n toggleActiveState(state) {\r\n this.$element().toggleClass(DATEVIEW_ROLLER_CURRENT_CLASS, state)\r\n }\r\n _refreshSelectedIndex() {\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n var fitIndex = this._fitIndex(selectedIndex);\r\n if (fitIndex === selectedIndex) {\r\n this._renderActiveStateItem()\r\n } else {\r\n this.option(\"selectedIndex\", fitIndex)\r\n }\r\n }\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"selectedIndex\":\r\n this._fireSelectedIndexChanged(args.value, args.previousValue);\r\n this._renderSelectedValue(args.value);\r\n break;\r\n case \"items\":\r\n this._renderItems();\r\n this._refreshSelectedIndex();\r\n break;\r\n case \"onClick\":\r\n case \"showOnClick\":\r\n this._renderContainerClick();\r\n break;\r\n case \"onSelectedIndexChanged\":\r\n this._renderSelectedIndexChanged();\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _dispose() {\r\n clearTimeout(this._visibilityTimer);\r\n super._dispose()\r\n }\r\n}\r\nregisterComponent(\"dxDateViewRoller\", DateViewRoller);\r\nexport default DateViewRoller;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scroll_view/utils/convert_location.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined,\r\n isPlainObject\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n ensureDefined\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n ScrollDirection\r\n} from \"./scroll_direction\";\r\nexport function convertToLocation(location, direction) {\r\n if (isPlainObject(location)) {\r\n var left = ensureDefined(location.left, location.x);\r\n var top = ensureDefined(location.top, location.y);\r\n return {\r\n left: isDefined(left) ? left : void 0,\r\n top: isDefined(top) ? top : void 0\r\n }\r\n }\r\n var {\r\n isHorizontal: isHorizontal,\r\n isVertical: isVertical\r\n } = new ScrollDirection(direction);\r\n return {\r\n left: isHorizontal && isDefined(location) ? location : void 0,\r\n top: isVertical && isDefined(location) ? location : void 0\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_view.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Editor from \"../editor/editor\";\r\nimport DateViewRoller from \"./ui.date_view_roller\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport uiDateUtils from \"./ui.date_utils\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport dateLocalization from \"../../localization/date\";\r\nvar DATEVIEW_CLASS = \"dx-dateview\";\r\nvar DATEVIEW_COMPACT_CLASS = \"dx-dateview-compact\";\r\nvar DATEVIEW_WRAPPER_CLASS = \"dx-dateview-wrapper\";\r\nvar DATEVIEW_ROLLER_CONTAINER_CLASS = \"dx-dateview-rollers\";\r\nvar DATEVIEW_ROLLER_CLASS = \"dx-dateviewroller\";\r\nvar TYPE = {\r\n date: \"date\",\r\n datetime: \"datetime\",\r\n time: \"time\"\r\n};\r\nvar ROLLER_TYPE = {\r\n year: \"year\",\r\n month: \"month\",\r\n day: \"day\",\r\n hours: \"hours\"\r\n};\r\nvar DateView = Editor.inherit({\r\n _valueOption: function() {\r\n var value = this.option(\"value\");\r\n var date = new Date(value);\r\n return !value || isNaN(date) ? this._getDefaultDate() : date\r\n },\r\n _getDefaultDate: function() {\r\n var date = new Date;\r\n if (this.option(\"type\") === TYPE.date) {\r\n return new Date(date.getFullYear(), date.getMonth(), date.getDate())\r\n }\r\n return date\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n minDate: uiDateUtils.MIN_DATEVIEW_DEFAULT_DATE,\r\n maxDate: uiDateUtils.MAX_DATEVIEW_DEFAULT_DATE,\r\n type: TYPE.date,\r\n value: new Date,\r\n applyCompactClass: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function(_device) {\r\n return \"desktop\" !== _device.deviceType\r\n },\r\n options: {\r\n applyCompactClass: true\r\n }\r\n }])\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this.$element().addClass(DATEVIEW_CLASS);\r\n this._toggleFormatClasses(this.option(\"type\"));\r\n this._toggleCompactClass()\r\n },\r\n _toggleFormatClasses: function(currentFormat, previousFormat) {\r\n this.$element().addClass(DATEVIEW_CLASS + \"-\" + currentFormat);\r\n previousFormat && this.$element().removeClass(DATEVIEW_CLASS + \"-\" + previousFormat)\r\n },\r\n _toggleCompactClass: function() {\r\n this.$element().toggleClass(DATEVIEW_COMPACT_CLASS, this.option(\"applyCompactClass\"))\r\n },\r\n _wrapper: function() {\r\n return this._$wrapper\r\n },\r\n _renderContentImpl: function() {\r\n this._$wrapper = $(\"<div>\").addClass(DATEVIEW_WRAPPER_CLASS);\r\n this._renderRollers();\r\n this._$wrapper.appendTo(this.$element())\r\n },\r\n _renderRollers: function() {\r\n if (!this._$rollersContainer) {\r\n this._$rollersContainer = $(\"<div>\").addClass(DATEVIEW_ROLLER_CONTAINER_CLASS)\r\n }\r\n this._$rollersContainer.empty();\r\n this._createRollerConfigs();\r\n this._rollers = {};\r\n var that = this;\r\n each(that._rollerConfigs, (function(name) {\r\n var $roller = $(\"<div>\").appendTo(that._$rollersContainer).addClass(DATEVIEW_ROLLER_CLASS + \"-\" + that._rollerConfigs[name].type);\r\n that._rollers[that._rollerConfigs[name].type] = that._createComponent($roller, DateViewRoller, {\r\n items: that._rollerConfigs[name].displayItems,\r\n selectedIndex: that._rollerConfigs[name].selectedIndex,\r\n showScrollbar: \"never\",\r\n scrollByContent: true,\r\n onStart: function(e) {\r\n var roller = e.component;\r\n roller._toggleActive(true);\r\n that._setActiveRoller(that._rollerConfigs[name], roller.option(\"selectedIndex\"))\r\n },\r\n onEnd: function(e) {\r\n var roller = e.component;\r\n roller._toggleActive(false)\r\n },\r\n onClick: function(e) {\r\n var roller = e.component;\r\n roller._toggleActive(true);\r\n that._setActiveRoller(that._rollerConfigs[name], roller.option(\"selectedIndex\"));\r\n that._setRollerState(that._rollerConfigs[name], roller.option(\"selectedIndex\"));\r\n roller._toggleActive(false)\r\n },\r\n onSelectedIndexChanged: function(e) {\r\n var roller = e.component;\r\n that._setRollerState(that._rollerConfigs[name], roller.option(\"selectedIndex\"))\r\n }\r\n })\r\n }));\r\n that._$rollersContainer.appendTo(that._wrapper())\r\n },\r\n _createRollerConfigs: function(type) {\r\n var that = this;\r\n type = type || that.option(\"type\");\r\n that._rollerConfigs = {};\r\n dateLocalization.getFormatParts(uiDateUtils.FORMATS_MAP[type]).forEach((function(partName) {\r\n that._createRollerConfig(partName)\r\n }))\r\n },\r\n _createRollerConfig: function(componentName) {\r\n var componentInfo = uiDateUtils.DATE_COMPONENTS_INFO[componentName];\r\n var valueRange = this._calculateRollerConfigValueRange(componentName);\r\n var startValue = valueRange.startValue;\r\n var endValue = valueRange.endValue;\r\n var formatter = componentInfo.formatter;\r\n var curDate = this._getCurrentDate();\r\n var config = {\r\n type: componentName,\r\n setValue: componentInfo.setter,\r\n valueItems: [],\r\n displayItems: [],\r\n getIndex: function(value) {\r\n return value[componentInfo.getter]() - startValue\r\n }\r\n };\r\n for (var i = startValue; i <= endValue; i++) {\r\n config.valueItems.push(i);\r\n config.displayItems.push(formatter(i, curDate))\r\n }\r\n config.selectedIndex = config.getIndex(curDate);\r\n this._rollerConfigs[componentName] = config\r\n },\r\n _setActiveRoller: function(currentRoller) {\r\n var activeRoller = currentRoller && this._rollers[currentRoller.type];\r\n each(this._rollers, (function() {\r\n this.toggleActiveState(this === activeRoller)\r\n }))\r\n },\r\n _updateRollersPosition: function() {\r\n var that = this;\r\n each(this._rollers, (function(type) {\r\n var correctIndex = that._rollerConfigs[type].getIndex(that._getCurrentDate());\r\n this.option(\"selectedIndex\", correctIndex)\r\n }))\r\n },\r\n _setRollerState: function(roller, selectedIndex) {\r\n if (selectedIndex !== roller.selectedIndex) {\r\n var rollerValue = roller.valueItems[selectedIndex];\r\n var setValue = roller.setValue;\r\n var currentValue = new Date(this._getCurrentDate());\r\n var currentDate = currentValue.getDate();\r\n var minDate = this.option(\"minDate\");\r\n var maxDate = this.option(\"maxDate\");\r\n if (roller.type === ROLLER_TYPE.month) {\r\n currentDate = Math.min(currentDate, uiDateUtils.getMaxMonthDay(currentValue.getFullYear(), rollerValue))\r\n } else if (roller.type === ROLLER_TYPE.year) {\r\n currentDate = Math.min(currentDate, uiDateUtils.getMaxMonthDay(rollerValue, currentValue.getMonth()))\r\n }\r\n currentValue.setDate(currentDate);\r\n currentValue[setValue](rollerValue);\r\n var normalizedDate = dateUtils.normalizeDate(currentValue, minDate, maxDate);\r\n currentValue = uiDateUtils.mergeDates(normalizedDate, currentValue, \"time\");\r\n currentValue = dateUtils.normalizeDate(currentValue, minDate, maxDate);\r\n this.option(\"value\", currentValue);\r\n roller.selectedIndex = selectedIndex\r\n }\r\n if (roller.type === ROLLER_TYPE.year) {\r\n this._refreshRollers()\r\n }\r\n if (roller.type === ROLLER_TYPE.month) {\r\n this._refreshRoller(ROLLER_TYPE.day);\r\n this._refreshRoller(ROLLER_TYPE.hours)\r\n }\r\n },\r\n _refreshRoller: function(rollerType) {\r\n var roller = this._rollers[rollerType];\r\n if (roller) {\r\n this._createRollerConfig(rollerType);\r\n var rollerConfig = this._rollerConfigs[rollerType];\r\n if (rollerType === ROLLER_TYPE.day || rollerConfig.displayItems.toString() !== roller.option(\"items\").toString()) {\r\n roller.option({\r\n items: rollerConfig.displayItems,\r\n selectedIndex: rollerConfig.selectedIndex\r\n })\r\n }\r\n }\r\n },\r\n _getCurrentDate: function() {\r\n var curDate = this._valueOption();\r\n var minDate = this.option(\"minDate\");\r\n var maxDate = this.option(\"maxDate\");\r\n return dateUtils.normalizeDate(curDate, minDate, maxDate)\r\n },\r\n _calculateRollerConfigValueRange: function(componentName) {\r\n var curDate = this._getCurrentDate();\r\n var minDate = this.option(\"minDate\");\r\n var maxDate = this.option(\"maxDate\");\r\n var minYear = dateUtils.sameYear(curDate, minDate);\r\n var minMonth = minYear && curDate.getMonth() === minDate.getMonth();\r\n var maxYear = dateUtils.sameYear(curDate, maxDate);\r\n var maxMonth = maxYear && curDate.getMonth() === maxDate.getMonth();\r\n var minHour = minMonth && curDate.getDate() === minDate.getDate();\r\n var maxHour = maxMonth && curDate.getDate() === maxDate.getDate();\r\n var componentInfo = uiDateUtils.DATE_COMPONENTS_INFO[componentName];\r\n var startValue = componentInfo.startValue;\r\n var endValue = componentInfo.endValue;\r\n if (componentName === ROLLER_TYPE.year) {\r\n startValue = minDate.getFullYear();\r\n endValue = maxDate.getFullYear()\r\n }\r\n if (componentName === ROLLER_TYPE.month) {\r\n if (minYear) {\r\n startValue = minDate.getMonth()\r\n }\r\n if (maxYear) {\r\n endValue = maxDate.getMonth()\r\n }\r\n }\r\n if (componentName === ROLLER_TYPE.day) {\r\n endValue = uiDateUtils.getMaxMonthDay(curDate.getFullYear(), curDate.getMonth());\r\n if (minYear && minMonth) {\r\n startValue = minDate.getDate()\r\n }\r\n if (maxYear && maxMonth) {\r\n endValue = maxDate.getDate()\r\n }\r\n }\r\n if (componentName === ROLLER_TYPE.hours) {\r\n startValue = minHour ? minDate.getHours() : startValue;\r\n endValue = maxHour ? maxDate.getHours() : endValue\r\n }\r\n return {\r\n startValue: startValue,\r\n endValue: endValue\r\n }\r\n },\r\n _refreshRollers: function() {\r\n this._refreshRoller(ROLLER_TYPE.month);\r\n this._refreshRoller(ROLLER_TYPE.day);\r\n this._refreshRoller(ROLLER_TYPE.hours)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"minDate\":\r\n case \"maxDate\":\r\n case \"type\":\r\n this._renderRollers();\r\n this._toggleFormatClasses(args.value, args.previousValue);\r\n break;\r\n case \"visible\":\r\n this.callBase(args);\r\n if (args.value) {\r\n this._renderRollers()\r\n }\r\n break;\r\n case \"value\":\r\n this.option(\"value\", this._valueOption());\r\n this._refreshRollers();\r\n this._updateRollersPosition();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n delete this._$rollersContainer\r\n }\r\n});\r\nregisterComponent(\"dxDateView\", DateView);\r\nexport default DateView;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_box.strategy.date_view.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport DateView from \"./ui.date_view\";\r\nimport DateBoxStrategy from \"./ui.date_box.strategy\";\r\nimport {\r\n inputType\r\n} from \"../../core/utils/support\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport dateUtils from \"./ui.date_utils\";\r\nimport messageLocalization from \"../../localization/message\";\r\nvar DateViewStrategy = DateBoxStrategy.inherit({\r\n NAME: \"DateView\",\r\n getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n openOnFieldClick: true,\r\n applyButtonText: messageLocalization.format(\"OK\"),\r\n \"dropDownOptions.showTitle\": true\r\n })\r\n },\r\n getDisplayFormat: function(displayFormat) {\r\n return displayFormat || dateUtils.FORMATS_MAP[this.dateBox.option(\"type\")]\r\n },\r\n popupConfig: function(config) {\r\n return {\r\n toolbarItems: this.dateBox._popupToolbarItemsConfig(),\r\n onInitialized: config.onInitialized,\r\n defaultOptionsRules: [{\r\n device: {\r\n platform: \"android\"\r\n },\r\n options: {\r\n width: 333,\r\n height: 331\r\n }\r\n }, {\r\n device: function(_device) {\r\n var platform = _device.platform;\r\n return \"generic\" === platform || \"ios\" === platform\r\n },\r\n options: {\r\n width: \"auto\",\r\n height: \"auto\"\r\n }\r\n }, {\r\n device: function(_device2) {\r\n var platform = _device2.platform;\r\n var phone = _device2.phone;\r\n return \"generic\" === platform && phone\r\n },\r\n options: {\r\n width: 333,\r\n maxWidth: \"100%\",\r\n maxHeight: \"100%\",\r\n height: \"auto\",\r\n position: {\r\n collision: \"flipfit flip\"\r\n }\r\n }\r\n }, {\r\n device: {\r\n platform: \"ios\",\r\n phone: true\r\n },\r\n options: {\r\n width: \"100%\",\r\n position: {\r\n my: \"bottom\",\r\n at: \"bottom\",\r\n of: window\r\n }\r\n }\r\n }]\r\n }\r\n },\r\n _renderWidget: function() {\r\n if (inputType(this.dateBox.option(\"mode\")) && this.dateBox._isNativeType() || this.dateBox.option(\"readOnly\")) {\r\n if (this._widget) {\r\n this._widget.$element().remove();\r\n this._widget = null\r\n }\r\n return\r\n }\r\n var popup = this._getPopup();\r\n if (this._widget) {\r\n this._widget.option(this._getWidgetOptions())\r\n } else {\r\n var element = $(\"<div>\").appendTo(popup.$content());\r\n this._widget = this._createWidget(element)\r\n }\r\n this._widget.$element().appendTo(this._getWidgetContainer())\r\n },\r\n _getWidgetName: function() {\r\n return DateView\r\n },\r\n renderOpenedState: function() {\r\n this.callBase();\r\n if (this._widget) {\r\n this._widget.option(\"value\", this._widget._getCurrentDate())\r\n }\r\n },\r\n _getWidgetOptions: function() {\r\n return {\r\n value: this.dateBoxValue() || new Date,\r\n type: this.dateBox.option(\"type\"),\r\n minDate: this.dateBox.dateOption(\"min\") || new Date(1900, 0, 1),\r\n maxDate: this.dateBox.dateOption(\"max\") || new Date(Date.now() + 50 * dateUtils.ONE_YEAR),\r\n onDisposing: function() {\r\n this._widget = null\r\n }.bind(this)\r\n }\r\n }\r\n});\r\nexport default DateViewStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_box.strategy.native.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport DateBoxStrategy from \"./ui.date_box.strategy\";\r\nimport {\r\n inputType\r\n} from \"../../core/utils/support\";\r\nimport dateUtils from \"./ui.date_utils\";\r\nimport dateSerialization from \"../../core/utils/date_serialization\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport devices from \"../../core/devices\";\r\nvar NativeStrategy = DateBoxStrategy.inherit({\r\n NAME: \"Native\",\r\n popupConfig: function(_popupConfig) {\r\n return extend({}, _popupConfig, {\r\n width: \"auto\"\r\n })\r\n },\r\n getParsedText: function(text) {\r\n if (!text) {\r\n return null\r\n }\r\n if (\"datetime\" === this.dateBox.option(\"type\")) {\r\n return new Date(text.replace(/-/g, \"/\").replace(\"T\", \" \").split(\".\")[0])\r\n }\r\n return dateUtils.fromStandardDateFormat(text)\r\n },\r\n renderPopupContent: noop,\r\n _getWidgetName: noop,\r\n _getWidgetOptions: noop,\r\n _getDateBoxType: function() {\r\n var type = this.dateBox.option(\"type\");\r\n if (!dateUtils.SUPPORTED_FORMATS.includes(type)) {\r\n type = \"date\"\r\n } else if (\"datetime\" === type && !inputType(type)) {\r\n type = \"datetime-local\"\r\n }\r\n return type\r\n },\r\n customizeButtons: function() {\r\n var dropDownButton = this.dateBox.getButton(\"dropDown\");\r\n if (devices.real().android && dropDownButton) {\r\n dropDownButton.on(\"click\", function() {\r\n this.dateBox._input().get(0).click()\r\n }.bind(this))\r\n }\r\n },\r\n getDefaultOptions: function() {\r\n return {\r\n mode: this._getDateBoxType()\r\n }\r\n },\r\n getDisplayFormat: function(displayFormat) {\r\n var type = this._getDateBoxType();\r\n return displayFormat || dateUtils.FORMATS_MAP[type]\r\n },\r\n renderInputMinMax: function($input) {\r\n $input.attr({\r\n min: dateSerialization.serializeDate(this.dateBox.dateOption(\"min\"), \"yyyy-MM-dd\"),\r\n max: dateSerialization.serializeDate(this.dateBox.dateOption(\"max\"), \"yyyy-MM-dd\")\r\n })\r\n }\r\n});\r\nexport default NativeStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.time_view.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Editor from \"../editor/editor\";\r\nimport NumberBox from \"../number_box\";\r\nimport SelectBox from \"../select_box\";\r\nimport Box from \"../box\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport dateLocalization from \"../../localization/date\";\r\nimport dateUtils from \"./ui.date_utils\";\r\nvar TIMEVIEW_CLASS = \"dx-timeview\";\r\nvar TIMEVIEW_CLOCK_CLASS = \"dx-timeview-clock\";\r\nvar TIMEVIEW_FIELD_CLASS = \"dx-timeview-field\";\r\nvar TIMEVIEW_HOURARROW_CLASS = \"dx-timeview-hourarrow\";\r\nvar TIMEVIEW_TIME_SEPARATOR_CLASS = \"dx-timeview-time-separator\";\r\nvar TIMEVIEW_FORMAT12_CLASS = \"dx-timeview-format12\";\r\nvar TIMEVIEW_FORMAT12_AM = -1;\r\nvar TIMEVIEW_FORMAT12_PM = 1;\r\nvar TIMEVIEW_MINUTEARROW_CLASS = \"dx-timeview-minutearrow\";\r\nvar rotateArrow = function($arrow, angle, offset) {\r\n cssRotate($arrow, angle, offset)\r\n};\r\nvar cssRotate = function($arrow, angle, offset) {\r\n $arrow.css(\"transform\", \"rotate(\" + angle + \"deg) translate(0,\" + offset + \"px)\")\r\n};\r\nvar TimeView = Editor.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n value: new Date(Date.now()),\r\n use24HourFormat: true,\r\n _showClock: true,\r\n _arrowOffset: 5,\r\n stylingMode: void 0\r\n })\r\n },\r\n _getValue: function() {\r\n return this.option(\"value\") || new Date\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.$element().addClass(TIMEVIEW_CLASS)\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderBox();\r\n this._updateTime()\r\n },\r\n _renderBox: function() {\r\n var $box = $(\"<div>\").appendTo(this.$element());\r\n var items = [];\r\n if (this.option(\"_showClock\")) {\r\n items.push({\r\n ratio: 1,\r\n shrink: 0,\r\n baseSize: \"auto\",\r\n template: this._renderClock.bind(this)\r\n })\r\n }\r\n items.push({\r\n ratio: 0,\r\n shrink: 0,\r\n baseSize: \"auto\",\r\n template: this._renderField.bind(this)\r\n });\r\n this._createComponent($box, Box, {\r\n height: \"100%\",\r\n width: \"100%\",\r\n direction: \"col\",\r\n items: items\r\n })\r\n },\r\n _renderClock: function(_, __, container) {\r\n this._$hourArrow = $(\"<div>\").addClass(TIMEVIEW_HOURARROW_CLASS);\r\n this._$minuteArrow = $(\"<div>\").addClass(TIMEVIEW_MINUTEARROW_CLASS);\r\n var $container = $(container);\r\n $container.addClass(TIMEVIEW_CLOCK_CLASS).append(this._$hourArrow).append(this._$minuteArrow);\r\n this.setAria(\"role\", \"presentation\", $container)\r\n },\r\n _updateClock: function() {\r\n var time = this._getValue();\r\n var hourArrowAngle = time.getHours() / 12 * 360 + time.getMinutes() / 60 * 30;\r\n var minuteArrowAngle = time.getMinutes() / 60 * 360;\r\n rotateArrow(this._$hourArrow, hourArrowAngle, this.option(\"_arrowOffset\"));\r\n rotateArrow(this._$minuteArrow, minuteArrowAngle, this.option(\"_arrowOffset\"))\r\n },\r\n _getBoxItems: function(is12HourFormat) {\r\n var items = [{\r\n ratio: 0,\r\n shrink: 0,\r\n baseSize: \"auto\",\r\n template: () => this._hourBox.$element()\r\n }, {\r\n ratio: 0,\r\n shrink: 0,\r\n baseSize: \"auto\",\r\n template: $(\"<div>\").addClass(TIMEVIEW_TIME_SEPARATOR_CLASS).text(dateLocalization.getTimeSeparator())\r\n }, {\r\n ratio: 0,\r\n shrink: 0,\r\n baseSize: \"auto\",\r\n template: () => this._minuteBox.$element()\r\n }];\r\n if (is12HourFormat) {\r\n items.push({\r\n ratio: 0,\r\n shrink: 0,\r\n baseSize: \"auto\",\r\n template: () => this._format12.$element()\r\n })\r\n }\r\n return items\r\n },\r\n _renderField: function() {\r\n var is12HourFormat = !this.option(\"use24HourFormat\");\r\n this._createHourBox(is12HourFormat);\r\n this._createMinuteBox();\r\n if (is12HourFormat) {\r\n this._createFormat12Box()\r\n }\r\n return this._createComponent($(\"<div>\").addClass(TIMEVIEW_FIELD_CLASS), Box, {\r\n direction: \"row\",\r\n align: \"center\",\r\n crossAlign: \"center\",\r\n items: this._getBoxItems(is12HourFormat)\r\n }).$element()\r\n },\r\n _createHourBox: function(is12HourFormat) {\r\n var editor = this._hourBox = this._createComponent($(\"<div>\"), NumberBox, extend({\r\n min: -1,\r\n max: is12HourFormat ? 13 : 24,\r\n value: this._getValue().getHours(),\r\n onValueChanged: this._onHourBoxValueChanged.bind(this),\r\n onKeyboardHandled: opts => this._keyboardHandler(opts)\r\n }, this._getNumberBoxConfig()));\r\n editor.setAria(\"label\", \"hours\")\r\n },\r\n _isPM: function() {\r\n return !this.option(\"use24HourFormat\") && 1 === this._format12.option(\"value\")\r\n },\r\n _onHourBoxValueChanged: function(_ref) {\r\n var {\r\n value: value,\r\n component: component\r\n } = _ref;\r\n var currentValue = this._getValue();\r\n var newValue = new Date(currentValue);\r\n var newHours = this._convertMaxHourToMin(value);\r\n component.option(\"value\", newHours);\r\n if (this._isPM()) {\r\n newHours += 12\r\n }\r\n newValue.setHours(newHours);\r\n dateUtils.normalizeTime(newValue);\r\n this.option(\"value\", newValue)\r\n },\r\n _convertMaxHourToMin: function(hours) {\r\n var maxHoursValue = this.option(\"use24HourFormat\") ? 24 : 12;\r\n return (maxHoursValue + hours) % maxHoursValue\r\n },\r\n _createMinuteBox: function() {\r\n var editor = this._minuteBox = this._createComponent($(\"<div>\"), NumberBox, extend({\r\n min: -1,\r\n max: 60,\r\n value: this._getValue().getMinutes(),\r\n onKeyboardHandled: opts => this._keyboardHandler(opts),\r\n onValueChanged: _ref2 => {\r\n var {\r\n value: value,\r\n component: component\r\n } = _ref2;\r\n var newMinutes = (60 + value) % 60;\r\n component.option(\"value\", newMinutes);\r\n var time = new Date(this._getValue());\r\n time.setMinutes(newMinutes);\r\n dateUtils.normalizeTime(time);\r\n this.option(\"value\", time)\r\n }\r\n }, this._getNumberBoxConfig()));\r\n editor.setAria(\"label\", \"minutes\")\r\n },\r\n _createFormat12Box: function() {\r\n var periodNames = dateLocalization.getPeriodNames();\r\n var editor = this._format12 = this._createComponent($(\"<div>\").addClass(TIMEVIEW_FORMAT12_CLASS), SelectBox, {\r\n items: [{\r\n value: TIMEVIEW_FORMAT12_AM,\r\n text: periodNames[0]\r\n }, {\r\n value: TIMEVIEW_FORMAT12_PM,\r\n text: periodNames[1]\r\n }],\r\n valueExpr: \"value\",\r\n displayExpr: \"text\",\r\n onKeyboardHandled: opts => this._keyboardHandler(opts),\r\n onValueChanged: _ref3 => {\r\n var {\r\n value: value\r\n } = _ref3;\r\n var hours = this._getValue().getHours();\r\n var time = new Date(this._getValue());\r\n var newHours = (hours + 12 * value) % 24;\r\n time.setHours(newHours);\r\n this.option(\"value\", time)\r\n },\r\n value: this._getValue().getHours() >= 12 ? TIMEVIEW_FORMAT12_PM : TIMEVIEW_FORMAT12_AM,\r\n stylingMode: this.option(\"stylingMode\")\r\n });\r\n editor.setAria(\"label\", \"type\")\r\n },\r\n _refreshFormat12: function() {\r\n if (this.option(\"use24HourFormat\")) {\r\n return\r\n }\r\n var value = this._getValue();\r\n var hours = value.getHours();\r\n var isPM = hours >= 12;\r\n var newValue = isPM ? TIMEVIEW_FORMAT12_PM : TIMEVIEW_FORMAT12_AM;\r\n this._silentEditorValueUpdate(this._format12, newValue)\r\n },\r\n _silentEditorValueUpdate: function(editor, value) {\r\n if (editor) {\r\n editor._suppressValueChangeAction();\r\n editor.option(\"value\", value);\r\n editor._resumeValueChangeAction()\r\n }\r\n },\r\n _getNumberBoxConfig: function() {\r\n return {\r\n showSpinButtons: true,\r\n displayValueFormatter: function(value) {\r\n return (value < 10 ? \"0\" : \"\") + value\r\n },\r\n stylingMode: this.option(\"stylingMode\")\r\n }\r\n },\r\n _normalizeHours: function(hours) {\r\n return this.option(\"use24HourFormat\") ? hours : hours % 12 || 12\r\n },\r\n _updateField: function() {\r\n var hours = this._normalizeHours(this._getValue().getHours());\r\n this._silentEditorValueUpdate(this._hourBox, hours);\r\n this._silentEditorValueUpdate(this._minuteBox, this._getValue().getMinutes());\r\n this._refreshFormat12()\r\n },\r\n _updateTime: function() {\r\n if (this.option(\"_showClock\")) {\r\n this._updateClock()\r\n }\r\n this._updateField()\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this._updateTime()\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"value\":\r\n this._updateTime();\r\n this.callBase(args);\r\n break;\r\n case \"_arrowOffset\":\r\n break;\r\n case \"use24HourFormat\":\r\n case \"_showClock\":\r\n case \"stylingMode\":\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxTimeView\", TimeView);\r\nexport default TimeView;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_box.strategy.calendar_with_time.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport CalendarStrategy from \"./ui.date_box.strategy.calendar\";\r\nimport TimeView from \"./ui.time_view\";\r\nimport dateLocalization from \"../../localization/date\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport Box from \"../box\";\r\nimport uiDateUtils from \"./ui.date_utils\";\r\nvar SHRINK_VIEW_SCREEN_WIDTH = 573;\r\nvar DATEBOX_ADAPTIVITY_MODE_CLASS = \"dx-datebox-adaptivity-mode\";\r\nvar DATEBOX_TIMEVIEW_SIDE_CLASS = \"dx-datebox-datetime-time-side\";\r\nvar CalendarWithTimeStrategy = CalendarStrategy.inherit({\r\n NAME: \"CalendarWithTime\",\r\n getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n applyValueMode: \"useButtons\",\r\n buttonsLocation: \"bottom after\",\r\n \"dropDownOptions.showTitle\": false\r\n })\r\n },\r\n _closeDropDownByEnter: function() {\r\n return dateUtils.sameDate(this._getContouredValue(), this.widgetOption(\"value\"))\r\n },\r\n getDisplayFormat: function(displayFormat) {\r\n return displayFormat || \"shortdateshorttime\"\r\n },\r\n _is24HourFormat: function() {\r\n return dateLocalization.is24HourFormat(this.getDisplayFormat(this.dateBox.option(\"displayFormat\")))\r\n },\r\n _getContouredValue: function() {\r\n var viewDate = this.callBase();\r\n return this._updateDateTime(viewDate)\r\n },\r\n _renderWidget: function() {\r\n this.callBase();\r\n this._timeView = this.dateBox._createComponent($(\"<div>\"), TimeView, {\r\n value: this.dateBoxValue(),\r\n _showClock: !this._isShrinkView(),\r\n use24HourFormat: this._is24HourFormat(),\r\n onValueChanged: this._valueChangedHandler.bind(this),\r\n stylingMode: this.dateBox.option(\"stylingMode\")\r\n });\r\n this._timeView.registerKeyHandler(\"escape\", this._escapeHandler.bind(this))\r\n },\r\n renderOpenedState: function() {\r\n this.callBase();\r\n var popup = this._getPopup();\r\n if (popup) {\r\n popup.$wrapper().toggleClass(DATEBOX_ADAPTIVITY_MODE_CLASS, this._isSmallScreen())\r\n }\r\n clearTimeout(this._repaintTimer);\r\n this._repaintTimer = setTimeout(function() {\r\n this._getPopup() && this._getPopup().repaint()\r\n }.bind(this), 0)\r\n },\r\n isAdaptivityChanged: function() {\r\n var isAdaptiveMode = this._isShrinkView();\r\n var currentAdaptiveMode = this._currentAdaptiveMode;\r\n if (isAdaptiveMode !== currentAdaptiveMode) {\r\n this._currentAdaptiveMode = isAdaptiveMode;\r\n return void 0 !== currentAdaptiveMode\r\n }\r\n return this.callBase()\r\n },\r\n _updateValue: function(preventDefaultValue) {\r\n var date = this.dateBoxValue();\r\n if (!date && !preventDefaultValue) {\r\n date = new Date;\r\n uiDateUtils.normalizeTime(date)\r\n }\r\n this.callBase();\r\n if (this._timeView) {\r\n date && this._timeView.option(\"value\", date);\r\n this._timeView.option(\"use24HourFormat\", this._is24HourFormat())\r\n }\r\n },\r\n _isSmallScreen: function() {\r\n return getWidth(window) <= SHRINK_VIEW_SCREEN_WIDTH\r\n },\r\n _isShrinkView: function() {\r\n return !this.dateBox.option(\"showAnalogClock\") || this.dateBox.option(\"adaptivityEnabled\") && this._isSmallScreen()\r\n },\r\n _getBoxItems: function() {\r\n var items = [{\r\n ratio: 0,\r\n shrink: 0,\r\n baseSize: \"auto\",\r\n name: \"calendar\"\r\n }];\r\n if (!this._isShrinkView()) {\r\n items.push({\r\n ratio: 0,\r\n shrink: 0,\r\n baseSize: \"auto\",\r\n name: \"time\"\r\n })\r\n }\r\n return items\r\n },\r\n renderPopupContent: function() {\r\n this.callBase();\r\n this._currentAdaptiveMode = this._isShrinkView();\r\n var $popupContent = this._getPopup().$content();\r\n this._box = this.dateBox._createComponent($(\"<div>\").appendTo($popupContent), Box, {\r\n direction: \"row\",\r\n crossAlign: \"stretch\",\r\n items: this._getBoxItems(),\r\n itemTemplate: function(data, i, element) {\r\n var $container = $(\"<div>\");\r\n switch (data.name) {\r\n case \"calendar\":\r\n $container.append(this._widget.$element());\r\n if (this._isShrinkView()) {\r\n this._timeView.$element().addClass(DATEBOX_TIMEVIEW_SIDE_CLASS);\r\n $container.append(this._timeView.$element())\r\n }\r\n break;\r\n case \"time\":\r\n $container.append(this._timeView.$element());\r\n $(element).addClass(DATEBOX_TIMEVIEW_SIDE_CLASS)\r\n }\r\n return $container\r\n }.bind(this)\r\n });\r\n this._attachTabHandler()\r\n },\r\n popupConfig: function(_popupConfig) {\r\n var calendarPopupConfig = this.callBase(_popupConfig);\r\n return extend(calendarPopupConfig, {\r\n width: \"auto\"\r\n })\r\n },\r\n getFirstPopupElement: function() {\r\n return this._timeView._hourBox.$element().find(\"input\")\r\n },\r\n _attachTabHandler: function() {\r\n var dateBox = this.dateBox;\r\n this._timeView._hourBox.registerKeyHandler(\"tab\", (function(e) {\r\n if (e.shiftKey) {\r\n e.preventDefault();\r\n dateBox.focus()\r\n }\r\n }))\r\n },\r\n _preventFocusOnPopup: function(e) {\r\n if (!$(e.target).hasClass(\"dx-texteditor-input\")) {\r\n this.callBase.apply(this, arguments);\r\n if (!this.dateBox._hasFocusClass()) {\r\n this.dateBox.focus()\r\n }\r\n }\r\n },\r\n _updateDateTime: function(date) {\r\n var time = this._timeView.option(\"value\");\r\n date.setHours(time.getHours(), time.getMinutes(), time.getSeconds(), time.getMilliseconds());\r\n return date\r\n },\r\n getValue: function() {\r\n var _this$_widget$option;\r\n var date = null !== (_this$_widget$option = this._widget.option(\"value\")) && void 0 !== _this$_widget$option ? _this$_widget$option : this._widget.getContouredDate();\r\n date = date ? new Date(date) : new Date;\r\n return this._updateDateTime(date)\r\n },\r\n dispose: function() {\r\n clearTimeout(this._removeMinWidthTimer);\r\n clearTimeout(this._repaintTimer);\r\n this.callBase()\r\n }\r\n});\r\nexport default CalendarWithTimeStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_box.strategy.list.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterHeight,\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport List from \"../list_light\";\r\nimport \"../list/modules/selection\";\r\nimport DateBoxStrategy from \"./ui.date_box.strategy\";\r\nimport {\r\n noop,\r\n ensureDefined\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDate\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport dateUtils from \"./ui.date_utils\";\r\nimport dateLocalization from \"../../localization/date\";\r\nimport dateSerialization from \"../../core/utils/date_serialization\";\r\nimport {\r\n getSizeValue\r\n} from \"../drop_down_editor/utils\";\r\nvar DATE_FORMAT = \"date\";\r\nvar BOUNDARY_VALUES = {\r\n min: new Date(0, 0, 0, 0, 0),\r\n max: new Date(0, 0, 0, 23, 59)\r\n};\r\nvar ListStrategy = DateBoxStrategy.inherit({\r\n NAME: \"List\",\r\n supportedKeys: function() {\r\n return {\r\n tab: function() {\r\n var {\r\n opened: opened,\r\n applyValueMode: applyValueMode\r\n } = this.option();\r\n if (opened && \"instantly\" === applyValueMode) {\r\n this.close()\r\n }\r\n },\r\n space: noop,\r\n home: noop,\r\n end: noop\r\n }\r\n },\r\n getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n applyValueMode: \"instantly\"\r\n })\r\n },\r\n getDisplayFormat: function(displayFormat) {\r\n return displayFormat || \"shorttime\"\r\n },\r\n popupConfig: function(_popupConfig) {\r\n return _popupConfig\r\n },\r\n getValue: function() {\r\n var selectedIndex = this._widget.option(\"selectedIndex\");\r\n if (-1 === selectedIndex) {\r\n return this.dateBox.option(\"value\")\r\n }\r\n var itemData = this._widgetItems[selectedIndex];\r\n return this._getDateByItemData(itemData)\r\n },\r\n useCurrentDateByDefault: function() {\r\n return true\r\n },\r\n getDefaultDate: function() {\r\n return new Date(null)\r\n },\r\n popupShowingHandler: function() {\r\n this.dateBox._dimensionChanged()\r\n },\r\n _renderWidget: function() {\r\n this.callBase();\r\n this._refreshItems()\r\n },\r\n _getWidgetName: function() {\r\n return List\r\n },\r\n _getWidgetOptions: function() {\r\n return {\r\n itemTemplate: this._timeListItemTemplate.bind(this),\r\n onItemClick: this._listItemClickHandler.bind(this),\r\n tabIndex: -1,\r\n onFocusedItemChanged: this._refreshActiveDescendant.bind(this),\r\n selectionMode: \"single\"\r\n }\r\n },\r\n _refreshActiveDescendant: function(e) {\r\n this.dateBox.setAria(\"activedescendant\", \"\");\r\n this.dateBox.setAria(\"activedescendant\", e.actionValue)\r\n },\r\n _refreshItems: function() {\r\n this._widgetItems = this._getTimeListItems();\r\n this._widget.option(\"items\", this._widgetItems)\r\n },\r\n renderOpenedState: function() {\r\n if (!this._widget) {\r\n return\r\n }\r\n this._widget.option(\"focusedElement\", null);\r\n this._setSelectedItemsByValue();\r\n if (this._widget.option(\"templatesRenderAsynchronously\")) {\r\n this._asyncScrollTimeout = setTimeout(this._scrollToSelectedItem.bind(this))\r\n } else {\r\n this._scrollToSelectedItem()\r\n }\r\n },\r\n dispose: function() {\r\n this.callBase();\r\n clearTimeout(this._asyncScrollTimeout)\r\n },\r\n _updateValue: function() {\r\n if (!this._widget) {\r\n return\r\n }\r\n this._refreshItems();\r\n this._setSelectedItemsByValue();\r\n this._scrollToSelectedItem()\r\n },\r\n _setSelectedItemsByValue: function() {\r\n var value = this.dateBoxValue();\r\n var dateIndex = this._getDateIndex(value);\r\n if (-1 === dateIndex) {\r\n this._widget.option(\"selectedItems\", [])\r\n } else {\r\n this._widget.option(\"selectedIndex\", dateIndex)\r\n }\r\n },\r\n _scrollToSelectedItem: function() {\r\n this._widget.scrollToItem(this._widget.option(\"selectedIndex\"))\r\n },\r\n _getDateIndex: function(date) {\r\n var result = -1;\r\n for (var i = 0, n = this._widgetItems.length; i < n; i++) {\r\n if (this._areDatesEqual(date, this._widgetItems[i])) {\r\n result = i;\r\n break\r\n }\r\n }\r\n return result\r\n },\r\n _areDatesEqual: function(first, second) {\r\n return isDate(first) && isDate(second) && first.getHours() === second.getHours() && first.getMinutes() === second.getMinutes()\r\n },\r\n _getTimeListItems: function() {\r\n var min = this.dateBox.dateOption(\"min\") || this._getBoundaryDate(\"min\");\r\n var max = this.dateBox.dateOption(\"max\") || this._getBoundaryDate(\"max\");\r\n var value = this.dateBox.dateOption(\"value\") || null;\r\n var delta = max - min;\r\n var minutes = min.getMinutes() % this.dateBox.option(\"interval\");\r\n if (delta < 0) {\r\n return []\r\n }\r\n if (delta > dateUtils.ONE_DAY) {\r\n delta = dateUtils.ONE_DAY\r\n }\r\n if (value - min < dateUtils.ONE_DAY) {\r\n return this._getRangeItems(min, new Date(min), delta)\r\n }\r\n min = this._getBoundaryDate(\"min\");\r\n min.setMinutes(minutes);\r\n if (value && Math.abs(value - max) < dateUtils.ONE_DAY) {\r\n delta = (60 * max.getHours() + Math.abs(max.getMinutes() - minutes)) * dateUtils.ONE_MINUTE\r\n }\r\n return this._getRangeItems(min, new Date(min), delta)\r\n },\r\n _getRangeItems: function(startValue, currentValue, rangeDuration) {\r\n var rangeItems = [];\r\n var interval = this.dateBox.option(\"interval\");\r\n while (currentValue - startValue <= rangeDuration) {\r\n rangeItems.push(new Date(currentValue));\r\n currentValue.setMinutes(currentValue.getMinutes() + interval)\r\n }\r\n return rangeItems\r\n },\r\n _getBoundaryDate: function(boundary) {\r\n var boundaryValue = BOUNDARY_VALUES[boundary];\r\n var currentValue = new Date(ensureDefined(this.dateBox.dateOption(\"value\"), 0));\r\n return new Date(currentValue.getFullYear(), currentValue.getMonth(), currentValue.getDate(), boundaryValue.getHours(), boundaryValue.getMinutes())\r\n },\r\n _timeListItemTemplate: function(itemData) {\r\n var displayFormat = this.dateBox.option(\"displayFormat\");\r\n return dateLocalization.format(itemData, this.getDisplayFormat(displayFormat))\r\n },\r\n _listItemClickHandler: function(e) {\r\n if (\"useButtons\" === this.dateBox.option(\"applyValueMode\")) {\r\n return\r\n }\r\n var date = this._getDateByItemData(e.itemData);\r\n this.dateBox.option(\"opened\", false);\r\n this.dateBoxValue(date, e.event)\r\n },\r\n _getDateByItemData: function(itemData) {\r\n var date = this.dateBox.option(\"value\");\r\n var hours = itemData.getHours();\r\n var minutes = itemData.getMinutes();\r\n var seconds = itemData.getSeconds();\r\n var year = itemData.getFullYear();\r\n var month = itemData.getMonth();\r\n var day = itemData.getDate();\r\n if (date) {\r\n if (this.dateBox.option(\"dateSerializationFormat\")) {\r\n date = dateSerialization.deserializeDate(date)\r\n } else {\r\n date = new Date(date)\r\n }\r\n date.setHours(hours);\r\n date.setMinutes(minutes);\r\n date.setSeconds(seconds);\r\n date.setFullYear(year);\r\n date.setMonth(month);\r\n date.setDate(day)\r\n } else {\r\n date = new Date(year, month, day, hours, minutes, 0, 0)\r\n }\r\n return date\r\n },\r\n getKeyboardListener: function() {\r\n return this._widget\r\n },\r\n _updatePopupHeight: function() {\r\n var dropDownOptionsHeight = getSizeValue(this.dateBox.option(\"dropDownOptions.height\"));\r\n if (void 0 === dropDownOptionsHeight || \"auto\" === dropDownOptionsHeight) {\r\n this.dateBox._setPopupOption(\"height\", \"auto\");\r\n var popupHeight = getOuterHeight(this._widget.$element());\r\n var maxHeight = .45 * getHeight(window);\r\n this.dateBox._setPopupOption(\"height\", Math.min(popupHeight, maxHeight))\r\n }\r\n this.dateBox._timeList && this.dateBox._timeList.updateDimensions()\r\n },\r\n getParsedText: function(text, format) {\r\n var value = this.callBase(text, format);\r\n if (value) {\r\n value = dateUtils.mergeDates(value, new Date(null), DATE_FORMAT)\r\n }\r\n return value\r\n }\r\n});\r\nexport default ListStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_box.base.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n isDate as isDateType,\r\n isString,\r\n isNumeric\r\n} from \"../../core/utils/type\";\r\nimport {\r\n createTextElementHiddenCopy\r\n} from \"../../core/utils/dom\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n inputType\r\n} from \"../../core/utils/support\";\r\nimport devices from \"../../core/devices\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport config from \"../../core/config\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport uiDateUtils from \"./ui.date_utils\";\r\nimport dateSerialization from \"../../core/utils/date_serialization\";\r\nimport DropDownEditor from \"../drop_down_editor/ui.drop_down_editor\";\r\nimport dateLocalization from \"../../localization/date\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport Calendar from \"./ui.date_box.strategy.calendar\";\r\nimport DateView from \"./ui.date_box.strategy.date_view\";\r\nimport Native from \"./ui.date_box.strategy.native\";\r\nimport CalendarWithTime from \"./ui.date_box.strategy.calendar_with_time\";\r\nimport List from \"./ui.date_box.strategy.list\";\r\nvar DATEBOX_CLASS = \"dx-datebox\";\r\nvar DX_AUTO_WIDTH_CLASS = \"dx-auto-width\";\r\nvar DX_INVALID_BADGE_CLASS = \"dx-show-invalid-badge\";\r\nvar DX_CLEAR_BUTTON_CLASS = \"dx-clear-button-area\";\r\nvar DATEBOX_WRAPPER_CLASS = \"dx-datebox-wrapper\";\r\nvar DROPDOWNEDITOR_OVERLAY_CLASS = \"dx-dropdowneditor-overlay\";\r\nvar PICKER_TYPE = {\r\n calendar: \"calendar\",\r\n rollers: \"rollers\",\r\n list: \"list\",\r\n native: \"native\"\r\n};\r\nvar TYPE = {\r\n date: \"date\",\r\n datetime: \"datetime\",\r\n time: \"time\"\r\n};\r\nvar STRATEGY_NAME = {\r\n calendar: \"Calendar\",\r\n dateView: \"DateView\",\r\n native: \"Native\",\r\n calendarWithTime: \"CalendarWithTime\",\r\n list: \"List\"\r\n};\r\nvar STRATEGY_CLASSES = {\r\n Calendar: Calendar,\r\n DateView: DateView,\r\n Native: Native,\r\n CalendarWithTime: CalendarWithTime,\r\n List: List\r\n};\r\nvar DateBox = DropDownEditor.inherit({\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), this._strategy.supportedKeys())\r\n },\r\n _renderButtonContainers: function() {\r\n this.callBase.apply(this, arguments);\r\n this._strategy.customizeButtons()\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n type: \"date\",\r\n showAnalogClock: true,\r\n value: null,\r\n dateSerializationFormat: void 0,\r\n min: void 0,\r\n max: void 0,\r\n displayFormat: null,\r\n interval: 30,\r\n disabledDates: null,\r\n pickerType: PICKER_TYPE.calendar,\r\n invalidDateMessage: messageLocalization.format(\"dxDateBox-validation-datetime\"),\r\n dateOutOfRangeMessage: messageLocalization.format(\"validation-range\"),\r\n applyButtonText: messageLocalization.format(\"OK\"),\r\n adaptivityEnabled: false,\r\n calendarOptions: {},\r\n useHiddenSubmitElement: true\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"ios\"\r\n },\r\n options: {\r\n \"dropDownOptions.showTitle\": true\r\n }\r\n }, {\r\n device: {\r\n platform: \"android\"\r\n },\r\n options: {\r\n buttonsLocation: \"bottom after\"\r\n }\r\n }, {\r\n device: function() {\r\n var realDevice = devices.real();\r\n var platform = realDevice.platform;\r\n return \"ios\" === platform || \"android\" === platform\r\n },\r\n options: {\r\n pickerType: PICKER_TYPE.native\r\n }\r\n }, {\r\n device: {\r\n platform: \"generic\",\r\n deviceType: \"desktop\"\r\n },\r\n options: {\r\n buttonsLocation: \"bottom after\"\r\n }\r\n }])\r\n },\r\n _initOptions: function(options) {\r\n this._userOptions = extend({}, options);\r\n this.callBase(options);\r\n this._updatePickerOptions()\r\n },\r\n _updatePickerOptions: function() {\r\n var pickerType = this.option(\"pickerType\");\r\n var type = this.option(\"type\");\r\n if (pickerType === PICKER_TYPE.list && (type === TYPE.datetime || type === TYPE.date)) {\r\n pickerType = PICKER_TYPE.calendar\r\n }\r\n if (type === TYPE.time && pickerType === PICKER_TYPE.calendar) {\r\n pickerType = PICKER_TYPE.list\r\n }\r\n this._pickerType = pickerType;\r\n this._setShowDropDownButtonOption()\r\n },\r\n _setShowDropDownButtonOption() {\r\n var platform = devices.real().platform;\r\n var isMozillaOnAndroid = \"android\" === platform && browser.mozilla;\r\n var isNativePickerType = this._isNativeType();\r\n var showDropDownButton = \"generic\" !== platform || !isNativePickerType;\r\n if (isNativePickerType && isMozillaOnAndroid) {\r\n showDropDownButton = false\r\n }\r\n this.option({\r\n showDropDownButton: showDropDownButton\r\n })\r\n },\r\n _init: function() {\r\n this._initStrategy();\r\n this.option(extend({}, this._strategy.getDefaultOptions(), this._userOptions));\r\n delete this._userOptions;\r\n this.callBase()\r\n },\r\n _toLowerCaseFirstLetter: function(string) {\r\n return string.charAt(0).toLowerCase() + string.substr(1)\r\n },\r\n _initStrategy: function() {\r\n var strategyName = this._getStrategyName(this._getFormatType());\r\n var strategy = STRATEGY_CLASSES[strategyName];\r\n if (!(this._strategy && this._strategy.NAME === strategyName)) {\r\n this._strategy = new strategy(this)\r\n }\r\n },\r\n _getFormatType: function() {\r\n var currentType = this.option(\"type\");\r\n var isTime = /h|m|s/g.test(currentType);\r\n var isDate = /d|M|Y/g.test(currentType);\r\n var type = \"\";\r\n if (isDate) {\r\n type += TYPE.date\r\n }\r\n if (isTime) {\r\n type += TYPE.time\r\n }\r\n return type\r\n },\r\n _getStrategyName: function(type) {\r\n var pickerType = this._pickerType;\r\n if (pickerType === PICKER_TYPE.rollers) {\r\n return STRATEGY_NAME.dateView\r\n } else if (pickerType === PICKER_TYPE.native) {\r\n return STRATEGY_NAME.native\r\n }\r\n if (type === TYPE.date) {\r\n return STRATEGY_NAME.calendar\r\n }\r\n if (type === TYPE.datetime) {\r\n return STRATEGY_NAME.calendarWithTime\r\n }\r\n return STRATEGY_NAME.list\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(DATEBOX_CLASS);\r\n this.callBase();\r\n this._refreshFormatClass();\r\n this._refreshPickerTypeClass();\r\n this._strategy.renderInputMinMax(this._input())\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._formatValidationIcon()\r\n },\r\n _renderDimensions: function() {\r\n this.callBase();\r\n this.$element().toggleClass(DX_AUTO_WIDTH_CLASS, !this.option(\"width\"));\r\n this._updatePopupWidth();\r\n this._updatePopupHeight()\r\n },\r\n _dimensionChanged: function() {\r\n this.callBase();\r\n this._updatePopupHeight()\r\n },\r\n _updatePopupHeight: function() {\r\n if (this._popup) {\r\n var _this$_strategy$_upda, _this$_strategy;\r\n null === (_this$_strategy$_upda = (_this$_strategy = this._strategy)._updatePopupHeight) || void 0 === _this$_strategy$_upda ? void 0 : _this$_strategy$_upda.call(_this$_strategy)\r\n }\r\n },\r\n _refreshFormatClass: function() {\r\n var $element = this.$element();\r\n each(TYPE, (function(_, item) {\r\n $element.removeClass(DATEBOX_CLASS + \"-\" + item)\r\n }));\r\n $element.addClass(DATEBOX_CLASS + \"-\" + this.option(\"type\"))\r\n },\r\n _refreshPickerTypeClass: function() {\r\n var $element = this.$element();\r\n each(PICKER_TYPE, (function(_, item) {\r\n $element.removeClass(DATEBOX_CLASS + \"-\" + item)\r\n }));\r\n $element.addClass(DATEBOX_CLASS + \"-\" + this._pickerType)\r\n },\r\n _formatValidationIcon: function() {\r\n if (!hasWindow()) {\r\n return\r\n }\r\n var inputElement = this._input().get(0);\r\n var isRtlEnabled = this.option(\"rtlEnabled\");\r\n var clearButtonWidth = this._getClearButtonWidth();\r\n var longestElementDimensions = this._getLongestElementDimensions();\r\n var curWidth = parseFloat(window.getComputedStyle(inputElement).width) - clearButtonWidth;\r\n var shouldHideValidationIcon = longestElementDimensions.width > curWidth;\r\n var style = inputElement.style;\r\n this.$element().toggleClass(DX_INVALID_BADGE_CLASS, !shouldHideValidationIcon);\r\n if (shouldHideValidationIcon) {\r\n if (void 0 === this._storedPadding) {\r\n this._storedPadding = isRtlEnabled ? longestElementDimensions.leftPadding : longestElementDimensions.rightPadding\r\n }\r\n isRtlEnabled ? style.paddingLeft = 0 : style.paddingRight = 0\r\n } else {\r\n isRtlEnabled ? style.paddingLeft = this._storedPadding + \"px\" : style.paddingRight = this._storedPadding + \"px\"\r\n }\r\n },\r\n _getClearButtonWidth: function() {\r\n var clearButtonWidth = 0;\r\n if (this._isClearButtonVisible() && \"\" === this._input().val()) {\r\n var clearButtonElement = this.$element().find(\".\" + DX_CLEAR_BUTTON_CLASS).get(0);\r\n clearButtonWidth = parseFloat(window.getComputedStyle(clearButtonElement).width)\r\n }\r\n return clearButtonWidth\r\n },\r\n _getLongestElementDimensions: function() {\r\n var format = this._strategy.getDisplayFormat(this.option(\"displayFormat\"));\r\n var longestValue = dateLocalization.format(uiDateUtils.getLongestDate(format, dateLocalization.getMonthNames(), dateLocalization.getDayNames()), format);\r\n var $input = this._input();\r\n var inputElement = $input.get(0);\r\n var $longestValueElement = createTextElementHiddenCopy($input, longestValue);\r\n var isPaddingStored = void 0 !== this._storedPadding;\r\n var storedPadding = !isPaddingStored ? 0 : this._storedPadding;\r\n $longestValueElement.appendTo(this.$element());\r\n var elementWidth = parseFloat(window.getComputedStyle($longestValueElement.get(0)).width);\r\n var rightPadding = parseFloat(window.getComputedStyle(inputElement).paddingRight);\r\n var leftPadding = parseFloat(window.getComputedStyle(inputElement).paddingLeft);\r\n var necessaryWidth = elementWidth + leftPadding + rightPadding + storedPadding;\r\n $longestValueElement.remove();\r\n return {\r\n width: necessaryWidth,\r\n leftPadding: leftPadding,\r\n rightPadding: rightPadding\r\n }\r\n },\r\n _getKeyboardListeners() {\r\n return this.callBase().concat([this._strategy && this._strategy.getKeyboardListener()])\r\n },\r\n _renderPopup: function() {\r\n this.callBase();\r\n this._popup.$wrapper().addClass(DATEBOX_WRAPPER_CLASS);\r\n this._renderPopupWrapper()\r\n },\r\n _getPopupToolbarItems() {\r\n var _this$_strategy$_getP, _this$_strategy$_getP2, _this$_strategy2;\r\n var defaultItems = this.callBase();\r\n return null !== (_this$_strategy$_getP = null === (_this$_strategy$_getP2 = (_this$_strategy2 = this._strategy)._getPopupToolbarItems) || void 0 === _this$_strategy$_getP2 ? void 0 : _this$_strategy$_getP2.call(_this$_strategy2, defaultItems)) && void 0 !== _this$_strategy$_getP ? _this$_strategy$_getP : defaultItems\r\n },\r\n _popupConfig: function() {\r\n var popupConfig = this.callBase();\r\n return extend(this._strategy.popupConfig(popupConfig), {\r\n title: this._getPopupTitle(),\r\n dragEnabled: false\r\n })\r\n },\r\n _renderPopupWrapper: function() {\r\n if (!this._popup) {\r\n return\r\n }\r\n var $element = this.$element();\r\n var classPostfixes = extend({}, TYPE, PICKER_TYPE);\r\n each(classPostfixes, function(_, item) {\r\n $element.removeClass(DATEBOX_WRAPPER_CLASS + \"-\" + item)\r\n }.bind(this));\r\n this._popup.$wrapper().addClass(DATEBOX_WRAPPER_CLASS + \"-\" + this.option(\"type\")).addClass(DATEBOX_WRAPPER_CLASS + \"-\" + this._pickerType).addClass(DROPDOWNEDITOR_OVERLAY_CLASS)\r\n },\r\n _renderPopupContent: function() {\r\n this.callBase();\r\n this._strategy.renderPopupContent()\r\n },\r\n _getFirstPopupElement: function() {\r\n return this._strategy.getFirstPopupElement() || this.callBase()\r\n },\r\n _getLastPopupElement: function() {\r\n return this._strategy.getLastPopupElement() || this.callBase()\r\n },\r\n _popupShowingHandler: function() {\r\n this.callBase();\r\n this._strategy.popupShowingHandler()\r\n },\r\n _popupShownHandler: function() {\r\n this.callBase();\r\n this._strategy.renderOpenedState()\r\n },\r\n _popupHiddenHandler: function() {\r\n this.callBase();\r\n this._strategy.renderOpenedState();\r\n this._strategy.popupHiddenHandler()\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this._formatValidationIcon()\r\n }\r\n },\r\n _clearValueHandler: function(e) {\r\n this.option(\"text\", \"\");\r\n this.callBase(e)\r\n },\r\n _readOnlyPropValue: function() {\r\n if (this._pickerType === PICKER_TYPE.rollers) {\r\n return true\r\n }\r\n var platform = devices.real().platform;\r\n var isCustomValueDisabled = this._isNativeType() && (\"ios\" === platform || \"android\" === platform);\r\n if (isCustomValueDisabled) {\r\n return this.option(\"readOnly\")\r\n }\r\n return this.callBase()\r\n },\r\n _isClearButtonVisible: function() {\r\n return this.callBase() && !this._isNativeType()\r\n },\r\n _renderValue: function() {\r\n var value = this.dateOption(\"value\");\r\n this.option(\"text\", this._getDisplayedText(value));\r\n this._strategy.renderValue();\r\n return this.callBase()\r\n },\r\n _setSubmitValue: function() {\r\n var value = this.dateOption(\"value\");\r\n var dateSerializationFormat = this.option(\"dateSerializationFormat\");\r\n var submitFormat = uiDateUtils.SUBMIT_FORMATS_MAP[this.option(\"type\")];\r\n var submitValue = dateSerializationFormat ? dateSerialization.serializeDate(value, dateSerializationFormat) : uiDateUtils.toStandardDateFormat(value, submitFormat);\r\n this._getSubmitElement().val(submitValue)\r\n },\r\n _getDisplayedText: function(value) {\r\n var mode = this.option(\"mode\");\r\n var displayedText;\r\n if (\"text\" === mode) {\r\n var displayFormat = this._strategy.getDisplayFormat(this.option(\"displayFormat\"));\r\n displayedText = dateLocalization.format(value, displayFormat)\r\n } else {\r\n var format = this._getFormatByMode(mode);\r\n if (format) {\r\n displayedText = dateLocalization.format(value, format)\r\n } else {\r\n displayedText = uiDateUtils.toStandardDateFormat(value, mode)\r\n }\r\n }\r\n return displayedText\r\n },\r\n _getFormatByMode: function(mode) {\r\n return inputType(mode) ? null : uiDateUtils.FORMATS_MAP[mode]\r\n },\r\n _valueChangeEventHandler: function(e) {\r\n var {\r\n text: text,\r\n type: type,\r\n validationError: validationError\r\n } = this.option();\r\n var currentValue = this.dateOption(\"value\");\r\n if (text === this._getDisplayedText(currentValue)) {\r\n if (!validationError || validationError.editorSpecific) {\r\n this._applyInternalValidation(currentValue);\r\n this._applyCustomValidation(currentValue)\r\n }\r\n return\r\n }\r\n var parsedDate = this._getParsedDate(text);\r\n var value = null !== currentValue && void 0 !== currentValue ? currentValue : this._getDateByDefault();\r\n var newValue = uiDateUtils.mergeDates(value, parsedDate, type);\r\n var date = parsedDate && \"time\" === type ? newValue : parsedDate;\r\n if (this._applyInternalValidation(date).isValid) {\r\n var displayedText = this._getDisplayedText(newValue);\r\n if (value && newValue && value.getTime() === newValue.getTime() && displayedText !== text) {\r\n this._renderValue()\r\n } else {\r\n this.dateValue(newValue, e)\r\n }\r\n }\r\n },\r\n _getDateByDefault: function() {\r\n return this._strategy.useCurrentDateByDefault() && this._strategy.getDefaultDate()\r\n },\r\n _getParsedDate: function(text) {\r\n var displayFormat = this._strategy.getDisplayFormat(this.option(\"displayFormat\"));\r\n var parsedText = this._strategy.getParsedText(text, displayFormat);\r\n return null !== parsedText && void 0 !== parsedText ? parsedText : void 0\r\n },\r\n _applyInternalValidation(value) {\r\n var text = this.option(\"text\");\r\n var hasText = !!text && null !== value;\r\n var isDate = !!value && isDateType(value) && !isNaN(value.getTime());\r\n var isDateInRange = isDate && dateUtils.dateInRange(value, this.dateOption(\"min\"), this.dateOption(\"max\"), this.option(\"type\"));\r\n var isValid = !hasText && !value || isDateInRange;\r\n var validationMessage = \"\";\r\n if (!isDate) {\r\n validationMessage = this.option(\"invalidDateMessage\")\r\n } else if (!isDateInRange) {\r\n validationMessage = this.option(\"dateOutOfRangeMessage\")\r\n }\r\n this.option({\r\n isValid: isValid,\r\n validationError: isValid ? null : {\r\n editorSpecific: true,\r\n message: validationMessage\r\n }\r\n });\r\n return {\r\n isValid: isValid,\r\n isDate: isDate\r\n }\r\n },\r\n _applyCustomValidation: function(value) {\r\n this.validationRequest.fire({\r\n editor: this,\r\n value: this._serializeDate(value)\r\n })\r\n },\r\n _isValueChanged: function(newValue) {\r\n var oldValue = this.dateOption(\"value\");\r\n var oldTime = oldValue && oldValue.getTime();\r\n var newTime = newValue && newValue.getTime();\r\n return oldTime !== newTime\r\n },\r\n _isTextChanged: function(newValue) {\r\n var oldText = this.option(\"text\");\r\n var newText = newValue && this._getDisplayedText(newValue) || \"\";\r\n return oldText !== newText\r\n },\r\n _renderProps: function() {\r\n this.callBase();\r\n this._input().attr(\"autocomplete\", \"off\")\r\n },\r\n _renderOpenedState: function() {\r\n if (!this._isNativeType()) {\r\n this.callBase()\r\n }\r\n if (this._strategy.isAdaptivityChanged()) {\r\n this._refreshStrategy()\r\n }\r\n },\r\n _getPopupTitle: function() {\r\n var placeholder = this.option(\"placeholder\");\r\n if (placeholder) {\r\n return placeholder\r\n }\r\n var type = this.option(\"type\");\r\n if (type === TYPE.time) {\r\n return messageLocalization.format(\"dxDateBox-simulatedDataPickerTitleTime\")\r\n }\r\n if (type === TYPE.date || type === TYPE.datetime) {\r\n return messageLocalization.format(\"dxDateBox-simulatedDataPickerTitleDate\")\r\n }\r\n return \"\"\r\n },\r\n _refreshStrategy: function() {\r\n this._strategy.dispose();\r\n this._initStrategy();\r\n this.option(this._strategy.getDefaultOptions());\r\n this._refresh()\r\n },\r\n _applyButtonHandler: function(e) {\r\n var value = this._strategy.getValue();\r\n this.dateValue(value, e.event);\r\n this.callBase()\r\n },\r\n _dispose: function() {\r\n var _this$_strategy3;\r\n this.callBase();\r\n null === (_this$_strategy3 = this._strategy) || void 0 === _this$_strategy3 ? void 0 : _this$_strategy3.dispose()\r\n },\r\n _isNativeType: function() {\r\n return this._pickerType === PICKER_TYPE.native\r\n },\r\n _updatePopupTitle: function() {\r\n var _this$_popup;\r\n null === (_this$_popup = this._popup) || void 0 === _this$_popup ? void 0 : _this$_popup.option(\"title\", this._getPopupTitle())\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"showClearButton\":\r\n case \"buttons\":\r\n this.callBase.apply(this, arguments);\r\n this._formatValidationIcon();\r\n break;\r\n case \"pickerType\":\r\n this._updatePickerOptions({\r\n pickerType: args.value\r\n });\r\n this._refreshStrategy();\r\n this._refreshPickerTypeClass();\r\n this._invalidate();\r\n break;\r\n case \"type\":\r\n this._updatePickerOptions({\r\n format: args.value\r\n });\r\n this._refreshStrategy();\r\n this._refreshFormatClass();\r\n this._renderPopupWrapper();\r\n this._formatValidationIcon();\r\n this._updateValue();\r\n break;\r\n case \"placeholder\":\r\n this.callBase.apply(this, arguments);\r\n this._updatePopupTitle();\r\n break;\r\n case \"min\":\r\n case \"max\":\r\n var isValid = this.option(\"isValid\");\r\n this._applyInternalValidation(this.dateOption(\"value\"));\r\n if (!isValid) {\r\n this._applyCustomValidation(this.dateOption(\"value\"))\r\n }\r\n this._invalidate();\r\n break;\r\n case \"dateSerializationFormat\":\r\n case \"interval\":\r\n case \"disabledDates\":\r\n case \"calendarOptions\":\r\n this._invalidate();\r\n break;\r\n case \"displayFormat\":\r\n this.option(\"text\", this._getDisplayedText(this.dateOption(\"value\")));\r\n this._renderInputValue();\r\n break;\r\n case \"text\":\r\n this._strategy.textChangedHandler(args.value);\r\n this.callBase.apply(this, arguments);\r\n break;\r\n case \"isValid\":\r\n this.callBase.apply(this, arguments);\r\n this._formatValidationIcon();\r\n break;\r\n case \"showDropDownButton\":\r\n this._formatValidationIcon();\r\n this.callBase.apply(this, arguments);\r\n break;\r\n case \"readOnly\":\r\n this.callBase.apply(this, arguments);\r\n this._formatValidationIcon();\r\n break;\r\n case \"todayButtonText\":\r\n this._setPopupOption(\"toolbarItems\", this._getPopupToolbarItems());\r\n break;\r\n case \"invalidDateMessage\":\r\n case \"dateOutOfRangeMessage\":\r\n case \"adaptivityEnabled\":\r\n case \"showAnalogClock\":\r\n break;\r\n default:\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n _getSerializationFormat: function() {\r\n var value = this.option(\"value\");\r\n if (this.option(\"dateSerializationFormat\") && config().forceIsoDateParsing) {\r\n return this.option(\"dateSerializationFormat\")\r\n }\r\n if (isNumeric(value)) {\r\n return \"number\"\r\n }\r\n if (!isString(value)) {\r\n return\r\n }\r\n return dateSerialization.getDateSerializationFormat(value)\r\n },\r\n _updateValue: function(value) {\r\n this.callBase();\r\n this._applyInternalValidation(null !== value && void 0 !== value ? value : this.dateOption(\"value\"))\r\n },\r\n dateValue: function(value, dxEvent) {\r\n var isValueChanged = this._isValueChanged(value);\r\n if (isValueChanged && dxEvent) {\r\n this._saveValueChangeEvent(dxEvent)\r\n }\r\n if (!isValueChanged) {\r\n if (this._isTextChanged(value)) {\r\n this._updateValue(value)\r\n } else if (\"\" === this.option(\"text\")) {\r\n this._applyCustomValidation(value)\r\n }\r\n }\r\n return this.dateOption(\"value\", value)\r\n },\r\n dateOption: function(optionName, value) {\r\n if (1 === arguments.length) {\r\n return dateSerialization.deserializeDate(this.option(optionName))\r\n }\r\n this.option(optionName, this._serializeDate(value))\r\n },\r\n _serializeDate: function(date) {\r\n var serializationFormat = this._getSerializationFormat();\r\n return dateSerialization.serializeDate(date, serializationFormat)\r\n },\r\n _clearValue: function() {\r\n var value = this.option(\"value\");\r\n this.callBase();\r\n if (null === value) {\r\n this._applyCustomValidation(null)\r\n }\r\n },\r\n reset: function() {\r\n var value = this.option(\"value\");\r\n this.callBase();\r\n if (null === value) {\r\n this._applyInternalValidation(null)\r\n }\r\n }\r\n});\r\nexport default DateBox;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_box.mask.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n addNamespace,\r\n normalizeKeyName,\r\n isCommandKeyPressed\r\n} from \"../../events/utils/index\";\r\nimport {\r\n isFunction,\r\n isString,\r\n isDate,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n clipboardText\r\n} from \"../../core/utils/dom\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n fitIntoRange,\r\n inRange,\r\n sign\r\n} from \"../../core/utils/math\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n getDatePartIndexByPosition,\r\n renderDateParts\r\n} from \"./ui.date_box.mask.parts\";\r\nimport dateLocalization from \"../../localization/date\";\r\nimport {\r\n getRegExpInfo\r\n} from \"../../localization/ldml/date.parser\";\r\nimport {\r\n getFormat\r\n} from \"../../localization/ldml/date.format\";\r\nimport DateBoxBase from \"./ui.date_box.base\";\r\nimport numberLocalization from \"../../localization/number\";\r\nimport devices from \"../../core/devices\";\r\nimport browser from \"../../core/utils/browser\";\r\nvar MASK_EVENT_NAMESPACE = \"dateBoxMask\";\r\nvar FORWARD = 1;\r\nvar BACKWARD = -1;\r\nvar DateBoxMask = DateBoxBase.inherit({\r\n _supportedKeys(e) {\r\n var originalHandlers = this.callBase(e);\r\n var callOriginalHandler = e => {\r\n var originalHandler = originalHandlers[normalizeKeyName(e)];\r\n return originalHandler && originalHandler.apply(this, [e])\r\n };\r\n var applyHandler = (e, maskHandler) => {\r\n if (this._shouldUseOriginalHandler(e)) {\r\n return callOriginalHandler.apply(this, [e])\r\n } else {\r\n return maskHandler.apply(this, [e])\r\n }\r\n };\r\n return extend({}, originalHandlers, {\r\n del: e => applyHandler(e, event => {\r\n this._revertPart(FORWARD);\r\n this._isAllSelected() || event.preventDefault()\r\n }),\r\n backspace: e => applyHandler(e, event => {\r\n this._revertPart(BACKWARD);\r\n this._isAllSelected() || event.preventDefault()\r\n }),\r\n home: e => applyHandler(e, event => {\r\n this._selectFirstPart();\r\n event.preventDefault()\r\n }),\r\n end: e => applyHandler(e, event => {\r\n this._selectLastPart();\r\n event.preventDefault()\r\n }),\r\n escape: e => applyHandler(e, event => {\r\n this._revertChanges(event)\r\n }),\r\n enter: e => applyHandler(e, () => {\r\n this._enterHandler()\r\n }),\r\n leftArrow: e => applyHandler(e, event => {\r\n this._selectNextPart(BACKWARD);\r\n event.preventDefault()\r\n }),\r\n rightArrow: e => applyHandler(e, event => {\r\n this._selectNextPart(FORWARD);\r\n event.preventDefault()\r\n }),\r\n upArrow: e => applyHandler(e, event => {\r\n this._upDownArrowHandler(FORWARD);\r\n event.preventDefault()\r\n }),\r\n downArrow: e => applyHandler(e, event => {\r\n this._upDownArrowHandler(BACKWARD);\r\n event.preventDefault()\r\n })\r\n })\r\n },\r\n _shouldUseOriginalHandler(e) {\r\n var isNotDeletingInCalendar = this.option(\"opened\") && e && -1 === [\"backspace\", \"del\"].indexOf(normalizeKeyName(e));\r\n return !this._useMaskBehavior() || isNotDeletingInCalendar || e && e.altKey\r\n },\r\n _upDownArrowHandler(step) {\r\n this._setNewDateIfEmpty();\r\n var originalValue = this._getActivePartValue(this._initialMaskValue);\r\n var currentValue = this._getActivePartValue();\r\n var delta = currentValue - originalValue;\r\n this._loadMaskValue(this._initialMaskValue);\r\n this._partIncrease(delta + step, true)\r\n },\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n useMaskBehavior: false,\r\n emptyDateValue: new Date(2e3, 0, 1, 0, 0, 0)\r\n })\r\n },\r\n _isSingleCharKey(_ref) {\r\n var {\r\n originalEvent: originalEvent,\r\n alt: alt\r\n } = _ref;\r\n var key = originalEvent.data || originalEvent.key;\r\n return \"string\" === typeof key && 1 === key.length && !alt && !isCommandKeyPressed(originalEvent)\r\n },\r\n _isSingleDigitKey(e) {\r\n var _e$originalEvent;\r\n var data = null === (_e$originalEvent = e.originalEvent) || void 0 === _e$originalEvent ? void 0 : _e$originalEvent.data;\r\n return 1 === (null === data || void 0 === data ? void 0 : data.length) && parseInt(data, 10)\r\n },\r\n _useBeforeInputEvent: function() {\r\n return devices.real().android\r\n },\r\n _keyInputHandler(e, key) {\r\n var oldInputValue = this._input().val();\r\n this._processInputKey(key);\r\n e.preventDefault();\r\n var isValueChanged = oldInputValue !== this._input().val();\r\n isValueChanged && eventsEngine.trigger(this._input(), \"input\")\r\n },\r\n _keyboardHandler(e) {\r\n var key = e.originalEvent.key;\r\n var result = this.callBase(e);\r\n if (!this._useMaskBehavior() || this._useBeforeInputEvent()) {\r\n return result\r\n }\r\n if (browser.chrome && \"Process\" === e.key && 0 === e.code.indexOf(\"Digit\")) {\r\n key = e.code.replace(\"Digit\", \"\");\r\n this._processInputKey(key);\r\n this._maskInputHandler = () => {\r\n this._renderSelectedPart()\r\n }\r\n } else if (this._isSingleCharKey(e)) {\r\n this._keyInputHandler(e.originalEvent, key)\r\n }\r\n return result\r\n },\r\n _maskBeforeInputHandler(e) {\r\n this._maskInputHandler = null;\r\n var {\r\n inputType: inputType\r\n } = e.originalEvent;\r\n if (\"insertCompositionText\" === inputType) {\r\n this._maskInputHandler = () => {\r\n this._renderSelectedPart()\r\n }\r\n }\r\n var isBackwardDeletion = \"deleteContentBackward\" === inputType;\r\n var isForwardDeletion = \"deleteContentForward\" === inputType;\r\n if (isBackwardDeletion || isForwardDeletion) {\r\n var direction = isBackwardDeletion ? BACKWARD : FORWARD;\r\n this._maskInputHandler = () => {\r\n this._revertPart();\r\n this._selectNextPart(direction)\r\n }\r\n }\r\n if (!this._useMaskBehavior() || !this._isSingleCharKey(e)) {\r\n return\r\n }\r\n var key = e.originalEvent.data;\r\n this._keyInputHandler(e, key);\r\n return true\r\n },\r\n _keyPressHandler(e) {\r\n var {\r\n originalEvent: event\r\n } = e;\r\n if (\"insertCompositionText\" === (null === event || void 0 === event ? void 0 : event.inputType) && this._isSingleDigitKey(e)) {\r\n this._processInputKey(event.data);\r\n this._renderDisplayText(this._getDisplayedText(this._maskValue));\r\n this._selectNextPart()\r\n }\r\n this.callBase(e);\r\n if (this._maskInputHandler) {\r\n this._maskInputHandler();\r\n this._maskInputHandler = null\r\n }\r\n },\r\n _processInputKey(key) {\r\n if (this._isAllSelected()) {\r\n this._activePartIndex = 0\r\n }\r\n this._setNewDateIfEmpty();\r\n if (isNaN(parseInt(key))) {\r\n this._searchString(key)\r\n } else {\r\n this._searchNumber(key)\r\n }\r\n },\r\n _isAllSelected() {\r\n var caret = this._caret();\r\n return caret.end - caret.start === this.option(\"text\").length\r\n },\r\n _getFormatPattern() {\r\n if (this._formatPattern) {\r\n return this._formatPattern\r\n }\r\n var format = this._strategy.getDisplayFormat(this.option(\"displayFormat\"));\r\n var isLDMLPattern = isString(format) && !dateLocalization._getPatternByFormat(format);\r\n if (isLDMLPattern) {\r\n this._formatPattern = format\r\n } else {\r\n this._formatPattern = getFormat((function(value) {\r\n return dateLocalization.format(value, format)\r\n }))\r\n }\r\n return this._formatPattern\r\n },\r\n _setNewDateIfEmpty() {\r\n if (!this._maskValue) {\r\n var value = \"time\" === this.option(\"type\") ? new Date(null) : new Date;\r\n this._maskValue = value;\r\n this._initialMaskValue = value;\r\n this._renderDateParts()\r\n }\r\n },\r\n _partLimitsReached(max) {\r\n var maxLimitLength = String(max).length;\r\n var formatLength = this._getActivePartProp(\"pattern\").length;\r\n var isShortFormat = 1 === formatLength;\r\n var maxSearchLength = isShortFormat ? maxLimitLength : Math.min(formatLength, maxLimitLength);\r\n var isLengthExceeded = this._searchValue.length === maxSearchLength;\r\n var isValueOverflowed = parseInt(this._searchValue + \"0\") > max;\r\n return isLengthExceeded || isValueOverflowed\r\n },\r\n _searchNumber(char) {\r\n var {\r\n max: max\r\n } = this._getActivePartLimits();\r\n var maxLimitLength = String(max).length;\r\n this._searchValue = (this._searchValue + char).substr(-maxLimitLength);\r\n if (isNaN(this._searchValue)) {\r\n this._searchValue = char\r\n }\r\n this._setActivePartValue(this._searchValue);\r\n if (this._partLimitsReached(max)) {\r\n this._selectNextPart(FORWARD)\r\n }\r\n },\r\n _searchString(char) {\r\n if (!isNaN(parseInt(this._getActivePartProp(\"text\")))) {\r\n return\r\n }\r\n var limits = this._getActivePartProp(\"limits\")(this._maskValue);\r\n var startString = this._searchValue + char.toLowerCase();\r\n var endLimit = limits.max - limits.min;\r\n for (var i = 0; i <= endLimit; i++) {\r\n this._loadMaskValue(this._initialMaskValue);\r\n this._partIncrease(i + 1);\r\n if (0 === this._getActivePartProp(\"text\").toLowerCase().indexOf(startString)) {\r\n this._searchValue = startString;\r\n return\r\n }\r\n }\r\n this._setNewDateIfEmpty();\r\n if (this._searchValue) {\r\n this._clearSearchValue();\r\n this._searchString(char)\r\n }\r\n },\r\n _clearSearchValue() {\r\n this._searchValue = \"\"\r\n },\r\n _revertPart: function(direction) {\r\n if (!this._isAllSelected()) {\r\n var actual = this._getActivePartValue(this.option(\"emptyDateValue\"));\r\n this._setActivePartValue(actual);\r\n this._selectNextPart(direction)\r\n }\r\n this._clearSearchValue()\r\n },\r\n _useMaskBehavior() {\r\n return this.option(\"useMaskBehavior\") && \"text\" === this.option(\"mode\")\r\n },\r\n _prepareRegExpInfo() {\r\n this._regExpInfo = getRegExpInfo(this._getFormatPattern(), dateLocalization);\r\n var regexp = this._regExpInfo.regexp;\r\n var source = regexp.source;\r\n var flags = regexp.flags;\r\n var quantifierRegexp = new RegExp(/(\\{[0-9]+,?[0-9]*\\})/);\r\n var convertedSource = source.split(quantifierRegexp).map(sourcePart => quantifierRegexp.test(sourcePart) ? sourcePart : numberLocalization.convertDigits(sourcePart, false)).join(\"\");\r\n this._regExpInfo.regexp = new RegExp(convertedSource, flags)\r\n },\r\n _initMaskState() {\r\n this._activePartIndex = 0;\r\n this._formatPattern = null;\r\n this._prepareRegExpInfo();\r\n this._loadMaskValue()\r\n },\r\n _renderMask() {\r\n this.callBase();\r\n this._detachMaskEvents();\r\n this._clearMaskState();\r\n if (this._useMaskBehavior()) {\r\n this._attachMaskEvents();\r\n this._initMaskState();\r\n this._renderDateParts()\r\n }\r\n },\r\n _renderDateParts() {\r\n if (!this._useMaskBehavior()) {\r\n return\r\n }\r\n var text = this.option(\"text\") || this._getDisplayedText(this._maskValue);\r\n if (text) {\r\n this._dateParts = renderDateParts(text, this._regExpInfo);\r\n if (!this._input().is(\":hidden\")) {\r\n this._selectNextPart()\r\n }\r\n }\r\n },\r\n _detachMaskEvents() {\r\n eventsEngine.off(this._input(), \".\" + MASK_EVENT_NAMESPACE)\r\n },\r\n _attachMaskEvents() {\r\n eventsEngine.on(this._input(), addNamespace(\"dxclick\", MASK_EVENT_NAMESPACE), this._maskClickHandler.bind(this));\r\n eventsEngine.on(this._input(), addNamespace(\"paste\", MASK_EVENT_NAMESPACE), this._maskPasteHandler.bind(this));\r\n eventsEngine.on(this._input(), addNamespace(\"drop\", MASK_EVENT_NAMESPACE), () => {\r\n this._renderSelectedPart()\r\n });\r\n eventsEngine.on(this._input(), addNamespace(\"compositionend\", MASK_EVENT_NAMESPACE), this._maskCompositionEndHandler.bind(this));\r\n if (this._useBeforeInputEvent()) {\r\n eventsEngine.on(this._input(), addNamespace(\"beforeinput\", MASK_EVENT_NAMESPACE), this._maskBeforeInputHandler.bind(this))\r\n }\r\n },\r\n _renderSelectedPart() {\r\n this._renderDisplayText(this._getDisplayedText(this._maskValue));\r\n this._selectNextPart()\r\n },\r\n _selectLastPart() {\r\n if (this.option(\"text\")) {\r\n this._activePartIndex = this._dateParts.length;\r\n this._selectNextPart(BACKWARD)\r\n }\r\n },\r\n _selectFirstPart() {\r\n if (this.option(\"text\")) {\r\n this._activePartIndex = -1;\r\n this._selectNextPart(FORWARD)\r\n }\r\n },\r\n _onMouseWheel(e) {\r\n if (this._useMaskBehavior()) {\r\n this._partIncrease(e.delta > 0 ? FORWARD : BACKWARD, e)\r\n }\r\n },\r\n _selectNextPart() {\r\n var step = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0;\r\n if (!this.option(\"text\") || this._disposed) {\r\n return\r\n }\r\n if (step) {\r\n this._initialMaskValue = new Date(this._maskValue)\r\n }\r\n var index = fitIntoRange(this._activePartIndex + step, 0, this._dateParts.length - 1);\r\n if (this._dateParts[index].isStub) {\r\n var isBoundaryIndex = 0 === index && step < 0 || index === this._dateParts.length - 1 && step > 0;\r\n if (!isBoundaryIndex) {\r\n this._selectNextPart(step >= 0 ? step + 1 : step - 1);\r\n return\r\n } else {\r\n index = this._activePartIndex\r\n }\r\n }\r\n if (this._activePartIndex !== index) {\r\n this._clearSearchValue()\r\n }\r\n this._activePartIndex = index;\r\n this._caret(this._getActivePartProp(\"caret\"))\r\n },\r\n _getRealLimitsPattern() {\r\n if (\"d\" === this._getActivePartProp(\"pattern\")[0]) {\r\n return \"dM\"\r\n }\r\n },\r\n _getActivePartLimits(lockOtherParts) {\r\n var limitFunction = this._getActivePartProp(\"limits\");\r\n return limitFunction(this._maskValue, lockOtherParts && this._getRealLimitsPattern())\r\n },\r\n _getActivePartValue(dateValue) {\r\n dateValue = dateValue || this._maskValue;\r\n var getter = this._getActivePartProp(\"getter\");\r\n return isFunction(getter) ? getter(dateValue) : dateValue[getter]()\r\n },\r\n _addLeadingZeroes(value) {\r\n var zeroes = this._searchValue.match(/^0+/);\r\n var limits = this._getActivePartLimits();\r\n var maxLimitLength = String(limits.max).length;\r\n return ((zeroes && zeroes[0] || \"\") + String(value)).substr(-maxLimitLength)\r\n },\r\n _setActivePartValue(value, dateValue) {\r\n dateValue = dateValue || this._maskValue;\r\n var setter = this._getActivePartProp(\"setter\");\r\n var limits = this._getActivePartLimits();\r\n value = inRange(value, limits.min, limits.max) ? value : value % 10;\r\n value = this._addLeadingZeroes(fitIntoRange(value, limits.min, limits.max));\r\n isFunction(setter) ? setter(dateValue, value) : dateValue[setter](value);\r\n this._renderDisplayText(this._getDisplayedText(dateValue));\r\n this._renderDateParts()\r\n },\r\n _getActivePartProp(property) {\r\n if (!this._dateParts || !this._dateParts[this._activePartIndex]) {\r\n return\r\n }\r\n return this._dateParts[this._activePartIndex][property]\r\n },\r\n _loadMaskValue() {\r\n var value = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.dateOption(\"value\");\r\n this._maskValue = value && new Date(value);\r\n this._initialMaskValue = value && new Date(value)\r\n },\r\n _saveMaskValue() {\r\n var value = this._maskValue && new Date(this._maskValue);\r\n if (value && \"date\" === this.option(\"type\")) {\r\n value.setHours(0, 0, 0, 0)\r\n }\r\n this._initialMaskValue = new Date(value);\r\n this.dateOption(\"value\", value)\r\n },\r\n _revertChanges() {\r\n this._loadMaskValue();\r\n this._renderDisplayText(this._getDisplayedText(this._maskValue));\r\n this._renderDateParts()\r\n },\r\n _renderDisplayText(text) {\r\n this.callBase(text);\r\n if (this._useMaskBehavior()) {\r\n this.option(\"text\", text)\r\n }\r\n },\r\n _partIncrease(step, lockOtherParts) {\r\n this._setNewDateIfEmpty();\r\n var {\r\n max: max,\r\n min: min\r\n } = this._getActivePartLimits(lockOtherParts);\r\n var limitDelta = max - min;\r\n if (1 === limitDelta) {\r\n limitDelta++\r\n }\r\n var newValue = step + this._getActivePartValue();\r\n if (newValue > max) {\r\n newValue = this._applyLimits(newValue, {\r\n limitBase: min,\r\n limitClosest: max,\r\n limitDelta: limitDelta\r\n })\r\n } else if (newValue < min) {\r\n newValue = this._applyLimits(newValue, {\r\n limitBase: max,\r\n limitClosest: min,\r\n limitDelta: limitDelta\r\n })\r\n }\r\n this._setActivePartValue(newValue)\r\n },\r\n _applyLimits(newValue, _ref2) {\r\n var {\r\n limitBase: limitBase,\r\n limitClosest: limitClosest,\r\n limitDelta: limitDelta\r\n } = _ref2;\r\n var delta = (newValue - limitClosest) % limitDelta;\r\n return delta ? limitBase + delta - 1 * sign(delta) : limitClosest\r\n },\r\n _maskClickHandler() {\r\n this._loadMaskValue(this._maskValue);\r\n if (this.option(\"text\")) {\r\n this._activePartIndex = getDatePartIndexByPosition(this._dateParts, this._caret().start);\r\n if (!this._isAllSelected()) {\r\n if (isDefined(this._activePartIndex)) {\r\n this._caret(this._getActivePartProp(\"caret\"))\r\n } else {\r\n this._selectLastPart()\r\n }\r\n }\r\n }\r\n },\r\n _maskCompositionEndHandler(e) {\r\n this._input().val(this._getDisplayedText(this._maskValue));\r\n this._selectNextPart();\r\n this._maskInputHandler = () => {\r\n this._renderSelectedPart()\r\n }\r\n },\r\n _maskPasteHandler(e) {\r\n var newText = this._replaceSelectedText(this.option(\"text\"), this._caret(), clipboardText(e));\r\n var date = dateLocalization.parse(newText, this._getFormatPattern());\r\n if (date && this._isDateValid(date)) {\r\n this._maskValue = date;\r\n this._renderDisplayText(this._getDisplayedText(this._maskValue));\r\n this._renderDateParts();\r\n this._selectNextPart()\r\n }\r\n e.preventDefault()\r\n },\r\n _isDateValid: date => isDate(date) && !isNaN(date),\r\n _isValueDirty() {\r\n var value = this.dateOption(\"value\");\r\n return (this._maskValue && this._maskValue.getTime()) !== (value && value.getTime())\r\n },\r\n _fireChangeEvent() {\r\n this._clearSearchValue();\r\n if (this._isValueDirty()) {\r\n eventsEngine.trigger(this._input(), \"change\")\r\n }\r\n },\r\n _enterHandler() {\r\n this._fireChangeEvent();\r\n this._selectNextPart(FORWARD)\r\n },\r\n _focusOutHandler(e) {\r\n var shouldFireChangeEvent = this._useMaskBehavior() && !e.isDefaultPrevented();\r\n if (shouldFireChangeEvent) {\r\n this._fireChangeEvent();\r\n this.callBase(e);\r\n this._selectFirstPart(e)\r\n } else {\r\n this.callBase(e)\r\n }\r\n },\r\n _valueChangeEventHandler(e) {\r\n var text = this.option(\"text\");\r\n if (this._useMaskBehavior()) {\r\n this._saveValueChangeEvent(e);\r\n if (!text) {\r\n this._maskValue = null\r\n } else if (null === this._maskValue) {\r\n this._loadMaskValue(text)\r\n }\r\n this._saveMaskValue()\r\n } else {\r\n this.callBase(e)\r\n }\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"useMaskBehavior\":\r\n this._renderMask();\r\n break;\r\n case \"displayFormat\":\r\n case \"mode\":\r\n this.callBase(args);\r\n this._renderMask();\r\n break;\r\n case \"value\":\r\n this._loadMaskValue();\r\n this.callBase(args);\r\n this._renderDateParts();\r\n break;\r\n case \"emptyDateValue\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _clearMaskState() {\r\n this._clearSearchValue();\r\n delete this._dateParts;\r\n delete this._activePartIndex;\r\n delete this._maskValue\r\n },\r\n reset() {\r\n this._clearMaskState();\r\n this._activePartIndex = 0;\r\n this.callBase()\r\n },\r\n _clean() {\r\n this.callBase();\r\n this._detachMaskEvents();\r\n this._clearMaskState()\r\n }\r\n});\r\nexport default DateBoxMask;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_box.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport DateBoxMask from \"./ui.date_box.mask\";\r\nregisterComponent(\"dxDateBox\", DateBoxMask);\r\nexport default DateBoxMask;\r\n","/**\r\n * DevExtreme (esm/ui/date_box.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport DateBox from \"./date_box/ui.date_box\";\r\nexport default DateBox;\r\n","/**\r\n * DevExtreme (esm/animation/presets/presets.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport {\r\n Component\r\n} from \"../../core/component\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport devices from \"../../core/devices\";\r\nimport fx from \"../fx\";\r\nvar directionPostfixes = {\r\n forward: \" dx-forward\",\r\n backward: \" dx-backward\",\r\n none: \" dx-no-direction\",\r\n undefined: \" dx-no-direction\"\r\n};\r\nvar optionPrefix = \"preset_\";\r\nvar AnimationPresetCollection = Component.inherit({\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n this._registeredPresets = [];\r\n this.resetToDefaults()\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n defaultAnimationDuration: 400,\r\n defaultAnimationDelay: 0,\r\n defaultStaggerAnimationDuration: 300,\r\n defaultStaggerAnimationDelay: 40,\r\n defaultStaggerAnimationStartDelay: 500\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function(_device) {\r\n return _device.phone\r\n },\r\n options: {\r\n defaultStaggerAnimationDuration: 350,\r\n defaultStaggerAnimationDelay: 50,\r\n defaultStaggerAnimationStartDelay: 0\r\n }\r\n }, {\r\n device: function() {\r\n return devices.current().android || devices.real.android\r\n },\r\n options: {\r\n defaultAnimationDelay: 100\r\n }\r\n }])\r\n },\r\n _getPresetOptionName: function(animationName) {\r\n return optionPrefix + animationName\r\n },\r\n _createAndroidSlideAnimationConfig: function(throughOpacity, widthMultiplier) {\r\n var that = this;\r\n var createBaseConfig = function(configModifier) {\r\n return {\r\n type: \"slide\",\r\n delay: void 0 === configModifier.delay ? that.option(\"defaultAnimationDelay\") : configModifier.delay,\r\n duration: void 0 === configModifier.duration ? that.option(\"defaultAnimationDuration\") : configModifier.duration\r\n }\r\n };\r\n return {\r\n enter: function($element, configModifier) {\r\n var width = getWidth($element.parent()) * widthMultiplier;\r\n var direction = configModifier.direction;\r\n var config = createBaseConfig(configModifier);\r\n config.to = {\r\n left: 0,\r\n opacity: 1\r\n };\r\n if (\"forward\" === direction) {\r\n config.from = {\r\n left: width,\r\n opacity: throughOpacity\r\n }\r\n } else if (\"backward\" === direction) {\r\n config.from = {\r\n left: -width,\r\n opacity: throughOpacity\r\n }\r\n } else {\r\n config.from = {\r\n left: 0,\r\n opacity: 0\r\n }\r\n }\r\n return fx.createAnimation($element, config)\r\n },\r\n leave: function($element, configModifier) {\r\n var width = getWidth($element.parent()) * widthMultiplier;\r\n var direction = configModifier.direction;\r\n var config = createBaseConfig(configModifier);\r\n config.from = {\r\n left: 0,\r\n opacity: 1\r\n };\r\n if (\"forward\" === direction) {\r\n config.to = {\r\n left: -width,\r\n opacity: throughOpacity\r\n }\r\n } else if (\"backward\" === direction) {\r\n config.to = {\r\n left: width,\r\n opacity: throughOpacity\r\n }\r\n } else {\r\n config.to = {\r\n left: 0,\r\n opacity: 0\r\n }\r\n }\r\n return fx.createAnimation($element, config)\r\n }\r\n }\r\n },\r\n _createOpenDoorConfig: function() {\r\n var that = this;\r\n var createBaseConfig = function(configModifier) {\r\n return {\r\n type: \"css\",\r\n extraCssClasses: \"dx-opendoor-animation\",\r\n delay: void 0 === configModifier.delay ? that.option(\"defaultAnimationDelay\") : configModifier.delay,\r\n duration: void 0 === configModifier.duration ? that.option(\"defaultAnimationDuration\") : configModifier.duration\r\n }\r\n };\r\n return {\r\n enter: function($element, configModifier) {\r\n var direction = configModifier.direction;\r\n var config = createBaseConfig(configModifier);\r\n config.delay = \"none\" === direction ? config.delay : config.duration;\r\n config.from = \"dx-enter dx-opendoor-animation\" + directionPostfixes[direction];\r\n config.to = \"dx-enter-active\";\r\n return fx.createAnimation($element, config)\r\n },\r\n leave: function($element, configModifier) {\r\n var direction = configModifier.direction;\r\n var config = createBaseConfig(configModifier);\r\n config.from = \"dx-leave dx-opendoor-animation\" + directionPostfixes[direction];\r\n config.to = \"dx-leave-active\";\r\n return fx.createAnimation($element, config)\r\n }\r\n }\r\n },\r\n _createWinPopConfig: function() {\r\n var that = this;\r\n var baseConfig = {\r\n type: \"css\",\r\n extraCssClasses: \"dx-win-pop-animation\",\r\n duration: that.option(\"defaultAnimationDuration\")\r\n };\r\n return {\r\n enter: function($element, configModifier) {\r\n var config = baseConfig;\r\n var direction = configModifier.direction;\r\n config.delay = \"none\" === direction ? that.option(\"defaultAnimationDelay\") : that.option(\"defaultAnimationDuration\") / 2;\r\n config.from = \"dx-enter dx-win-pop-animation\" + directionPostfixes[direction];\r\n config.to = \"dx-enter-active\";\r\n return fx.createAnimation($element, config)\r\n },\r\n leave: function($element, configModifier) {\r\n var config = baseConfig;\r\n var direction = configModifier.direction;\r\n config.delay = that.option(\"defaultAnimationDelay\");\r\n config.from = \"dx-leave dx-win-pop-animation\" + directionPostfixes[direction];\r\n config.to = \"dx-leave-active\";\r\n return fx.createAnimation($element, config)\r\n }\r\n }\r\n },\r\n resetToDefaults: function() {\r\n this.clear();\r\n this.registerDefaultPresets();\r\n this.applyChanges()\r\n },\r\n clear: function(name) {\r\n var that = this;\r\n var newRegisteredPresets = [];\r\n each(this._registeredPresets, (function(index, preset) {\r\n if (!name || name === preset.name) {\r\n that.option(that._getPresetOptionName(preset.name), void 0)\r\n } else {\r\n newRegisteredPresets.push(preset)\r\n }\r\n }));\r\n this._registeredPresets = newRegisteredPresets;\r\n this.applyChanges()\r\n },\r\n registerPreset: function(name, config) {\r\n this._registeredPresets.push({\r\n name: name,\r\n config: config\r\n })\r\n },\r\n applyChanges: function() {\r\n var that = this;\r\n var customRules = [];\r\n each(this._registeredPresets, (function(index, preset) {\r\n var rule = {\r\n device: preset.config.device,\r\n options: {}\r\n };\r\n rule.options[that._getPresetOptionName(preset.name)] = preset.config.animation;\r\n customRules.push(rule)\r\n }));\r\n this._setOptionsByDevice(customRules)\r\n },\r\n getPreset: function(name) {\r\n var result = name;\r\n while (\"string\" === typeof result) {\r\n result = this.option(this._getPresetOptionName(result))\r\n }\r\n return result\r\n },\r\n registerDefaultPresets: function() {\r\n this.registerPreset(\"pop\", {\r\n animation: {\r\n extraCssClasses: \"dx-android-pop-animation\",\r\n delay: this.option(\"defaultAnimationDelay\"),\r\n duration: this.option(\"defaultAnimationDuration\")\r\n }\r\n });\r\n this.registerPreset(\"openDoor\", {\r\n animation: this._createOpenDoorConfig()\r\n });\r\n this.registerPreset(\"win-pop\", {\r\n animation: this._createWinPopConfig()\r\n });\r\n this.registerPreset(\"fade\", {\r\n animation: {\r\n extraCssClasses: \"dx-fade-animation\",\r\n delay: this.option(\"defaultAnimationDelay\"),\r\n duration: this.option(\"defaultAnimationDuration\")\r\n }\r\n });\r\n this.registerPreset(\"slide\", {\r\n device: function() {\r\n return devices.current().android || devices.real.android\r\n },\r\n animation: this._createAndroidSlideAnimationConfig(1, 1)\r\n });\r\n this.registerPreset(\"slide\", {\r\n device: function() {\r\n return !devices.current().android && !devices.real.android\r\n },\r\n animation: {\r\n extraCssClasses: \"dx-slide-animation\",\r\n delay: this.option(\"defaultAnimationDelay\"),\r\n duration: this.option(\"defaultAnimationDuration\")\r\n }\r\n });\r\n this.registerPreset(\"ios7-slide\", {\r\n animation: {\r\n extraCssClasses: \"dx-ios7-slide-animation\",\r\n delay: this.option(\"defaultAnimationDelay\"),\r\n duration: this.option(\"defaultAnimationDuration\")\r\n }\r\n });\r\n this.registerPreset(\"overflow\", {\r\n animation: {\r\n extraCssClasses: \"dx-overflow-animation\",\r\n delay: this.option(\"defaultAnimationDelay\"),\r\n duration: this.option(\"defaultAnimationDuration\")\r\n }\r\n });\r\n this.registerPreset(\"ios7-toolbar\", {\r\n device: function() {\r\n return !devices.current().android && !devices.real.android\r\n },\r\n animation: {\r\n extraCssClasses: \"dx-ios7-toolbar-animation\",\r\n delay: this.option(\"defaultAnimationDelay\"),\r\n duration: this.option(\"defaultAnimationDuration\")\r\n }\r\n });\r\n this.registerPreset(\"ios7-toolbar\", {\r\n device: function() {\r\n return devices.current().android || devices.real.android\r\n },\r\n animation: this._createAndroidSlideAnimationConfig(0, .4)\r\n });\r\n this.registerPreset(\"stagger-fade\", {\r\n animation: {\r\n extraCssClasses: \"dx-fade-animation\",\r\n staggerDelay: this.option(\"defaultStaggerAnimationDelay\"),\r\n duration: this.option(\"defaultStaggerAnimationDuration\"),\r\n delay: this.option(\"defaultStaggerAnimationStartDelay\")\r\n }\r\n });\r\n this.registerPreset(\"stagger-slide\", {\r\n animation: {\r\n extraCssClasses: \"dx-slide-animation\",\r\n staggerDelay: this.option(\"defaultStaggerAnimationDelay\"),\r\n duration: this.option(\"defaultStaggerAnimationDuration\"),\r\n delay: this.option(\"defaultStaggerAnimationStartDelay\")\r\n }\r\n });\r\n this.registerPreset(\"stagger-fade-slide\", {\r\n animation: {\r\n extraCssClasses: \"dx-fade-slide-animation\",\r\n staggerDelay: this.option(\"defaultStaggerAnimationDelay\"),\r\n duration: this.option(\"defaultStaggerAnimationDuration\"),\r\n delay: this.option(\"defaultStaggerAnimationStartDelay\")\r\n }\r\n });\r\n this.registerPreset(\"stagger-drop\", {\r\n animation: {\r\n extraCssClasses: \"dx-drop-animation\",\r\n staggerDelay: this.option(\"defaultStaggerAnimationDelay\"),\r\n duration: this.option(\"defaultStaggerAnimationDuration\"),\r\n delay: this.option(\"defaultStaggerAnimationStartDelay\")\r\n }\r\n });\r\n this.registerPreset(\"stagger-fade-drop\", {\r\n animation: {\r\n extraCssClasses: \"dx-fade-drop-animation\",\r\n staggerDelay: this.option(\"defaultStaggerAnimationDelay\"),\r\n duration: this.option(\"defaultStaggerAnimationDuration\"),\r\n delay: this.option(\"defaultStaggerAnimationStartDelay\")\r\n }\r\n });\r\n this.registerPreset(\"stagger-fade-rise\", {\r\n animation: {\r\n extraCssClasses: \"dx-fade-rise-animation\",\r\n staggerDelay: this.option(\"defaultStaggerAnimationDelay\"),\r\n duration: this.option(\"defaultStaggerAnimationDuration\"),\r\n delay: this.option(\"defaultStaggerAnimationStartDelay\")\r\n }\r\n });\r\n this.registerPreset(\"stagger-3d-drop\", {\r\n animation: {\r\n extraCssClasses: \"dx-3d-drop-animation\",\r\n staggerDelay: this.option(\"defaultStaggerAnimationDelay\"),\r\n duration: this.option(\"defaultStaggerAnimationDuration\"),\r\n delay: this.option(\"defaultStaggerAnimationStartDelay\")\r\n }\r\n });\r\n this.registerPreset(\"stagger-fade-zoom\", {\r\n animation: {\r\n extraCssClasses: \"dx-fade-zoom-animation\",\r\n staggerDelay: this.option(\"defaultStaggerAnimationDelay\"),\r\n duration: this.option(\"defaultStaggerAnimationDuration\"),\r\n delay: this.option(\"defaultStaggerAnimationStartDelay\")\r\n }\r\n })\r\n }\r\n});\r\nvar animationPresets = new AnimationPresetCollection;\r\nexport {\r\n animationPresets as presets, AnimationPresetCollection as PresetCollection\r\n};\r\n","/**\r\n * DevExtreme (esm/animation/transition_executor/transition_executor.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n executeAsync\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isFunction,\r\n isPlainObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n map\r\n} from \"../../core/utils/iterator\";\r\nimport fx from \"../fx\";\r\nimport {\r\n presets\r\n} from \"../presets/presets\";\r\nimport {\r\n when,\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar directionPostfixes = {\r\n forward: \" dx-forward\",\r\n backward: \" dx-backward\",\r\n none: \" dx-no-direction\",\r\n undefined: \" dx-no-direction\"\r\n};\r\nvar DX_ANIMATING_CLASS = \"dx-animating\";\r\nexport var TransitionExecutor = Class.inherit({\r\n ctor: function() {\r\n this._accumulatedDelays = {\r\n enter: 0,\r\n leave: 0\r\n };\r\n this._animations = [];\r\n this.reset()\r\n },\r\n _createAnimations: function($elements, initialConfig, configModifier, type) {\r\n $elements = $($elements);\r\n var that = this;\r\n var result = [];\r\n configModifier = configModifier || {};\r\n var animationConfig = this._prepareElementAnimationConfig(initialConfig, configModifier, type);\r\n if (animationConfig) {\r\n $elements.each((function() {\r\n var animation = that._createAnimation($(this), animationConfig, configModifier);\r\n if (animation) {\r\n animation.element.addClass(DX_ANIMATING_CLASS);\r\n animation.setup();\r\n result.push(animation)\r\n }\r\n }))\r\n }\r\n return result\r\n },\r\n _prepareElementAnimationConfig: function(config, configModifier, type) {\r\n var result;\r\n if (\"string\" === typeof config) {\r\n var presetName = config;\r\n config = presets.getPreset(presetName)\r\n }\r\n if (!config) {\r\n result = void 0\r\n } else if (isFunction(config[type])) {\r\n result = config[type]\r\n } else {\r\n result = extend({\r\n skipElementInitialStyles: true,\r\n cleanupWhen: this._completePromise\r\n }, config, configModifier);\r\n if (!result.type || \"css\" === result.type) {\r\n var cssClass = \"dx-\" + type;\r\n var extraCssClasses = (result.extraCssClasses ? \" \" + result.extraCssClasses : \"\") + directionPostfixes[result.direction];\r\n result.type = \"css\";\r\n result.from = (result.from || cssClass) + extraCssClasses;\r\n result.to = result.to || cssClass + \"-active\"\r\n }\r\n result.staggerDelay = result.staggerDelay || 0;\r\n result.delay = result.delay || 0;\r\n if (result.staggerDelay) {\r\n result.delay += this._accumulatedDelays[type];\r\n this._accumulatedDelays[type] += result.staggerDelay\r\n }\r\n }\r\n return result\r\n },\r\n _createAnimation: function($element, animationConfig, configModifier) {\r\n var result;\r\n if (isPlainObject(animationConfig)) {\r\n result = fx.createAnimation($element, animationConfig)\r\n } else if (isFunction(animationConfig)) {\r\n result = animationConfig($element, configModifier)\r\n }\r\n return result\r\n },\r\n _startAnimations: function() {\r\n var animations = this._animations;\r\n for (var i = 0; i < animations.length; i++) {\r\n animations[i].start()\r\n }\r\n },\r\n _stopAnimations: function(jumpToEnd) {\r\n var animations = this._animations;\r\n for (var i = 0; i < animations.length; i++) {\r\n animations[i].stop(jumpToEnd)\r\n }\r\n },\r\n _clearAnimations: function() {\r\n var animations = this._animations;\r\n for (var i = 0; i < animations.length; i++) {\r\n animations[i].element.removeClass(DX_ANIMATING_CLASS)\r\n }\r\n this._animations.length = 0\r\n },\r\n reset: function() {\r\n this._accumulatedDelays.enter = 0;\r\n this._accumulatedDelays.leave = 0;\r\n this._clearAnimations();\r\n this._completeDeferred = new Deferred;\r\n this._completePromise = this._completeDeferred.promise()\r\n },\r\n enter: function($elements, animationConfig, configModifier) {\r\n var animations = this._createAnimations($elements, animationConfig, configModifier, \"enter\");\r\n this._animations.push.apply(this._animations, animations)\r\n },\r\n leave: function($elements, animationConfig, configModifier) {\r\n var animations = this._createAnimations($elements, animationConfig, configModifier, \"leave\");\r\n this._animations.push.apply(this._animations, animations)\r\n },\r\n start: function() {\r\n var that = this;\r\n var result;\r\n if (!this._animations.length) {\r\n that.reset();\r\n result = (new Deferred).resolve().promise()\r\n } else {\r\n var animationDeferreds = map(this._animations, (function(animation) {\r\n var result = new Deferred;\r\n animation.deferred.always((function() {\r\n result.resolve()\r\n }));\r\n return result.promise()\r\n }));\r\n result = when.apply($, animationDeferreds).always((function() {\r\n that._completeDeferred.resolve();\r\n that.reset()\r\n }));\r\n executeAsync((function() {\r\n that._startAnimations()\r\n }))\r\n }\r\n return result\r\n },\r\n stop: function(jumpToEnd) {\r\n this._stopAnimations(jumpToEnd)\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/ui/defer_rendering.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n TransitionExecutor\r\n} from \"../animation/transition_executor/transition_executor\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n noop,\r\n executeAsync\r\n} from \"../core/utils/common\";\r\nimport {\r\n Deferred,\r\n fromPromise\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n isPromise\r\n} from \"../core/utils/type\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n triggerShownEvent\r\n} from \"../events/visibility_change\";\r\nimport LoadIndicator from \"./load_indicator\";\r\nimport Widget from \"./widget/ui.widget\";\r\nimport {\r\n getBoundingRect\r\n} from \"../core/utils/position\";\r\nvar window = getWindow();\r\nvar WIDGET_CLASS = \"dx-widget\";\r\nvar DEFER_RENDERING_CLASS = \"dx-deferrendering\";\r\nvar PENDING_RENDERING_CLASS = \"dx-pending-rendering\";\r\nvar PENDING_RENDERING_MANUAL_CLASS = \"dx-pending-rendering-manual\";\r\nvar PENDING_RENDERING_ACTIVE_CLASS = \"dx-pending-rendering-active\";\r\nvar VISIBLE_WHILE_PENDING_RENDERING_CLASS = \"dx-visible-while-pending-rendering\";\r\nvar INVISIBLE_WHILE_PENDING_RENDERING_CLASS = \"dx-invisible-while-pending-rendering\";\r\nvar LOADINDICATOR_CONTAINER_CLASS = \"dx-loadindicator-container\";\r\nvar DEFER_RENDERING_LOADINDICATOR_CONTAINER_CLASS = \"dx-deferrendering-loadindicator-container\";\r\nvar DEFER_DEFER_RENDERING_LOAD_INDICATOR = \"dx-deferrendering-load-indicator\";\r\nvar ANONYMOUS_TEMPLATE_NAME = \"content\";\r\nvar ACTIONS = [\"onRendered\", \"onShown\"];\r\nvar DeferRendering = Widget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n showLoadIndicator: false,\r\n renderWhen: void 0,\r\n animation: void 0,\r\n staggerItemSelector: void 0,\r\n onRendered: null,\r\n onShown: null\r\n })\r\n },\r\n _getAnonymousTemplateName: function() {\r\n return ANONYMOUS_TEMPLATE_NAME\r\n },\r\n _init: function() {\r\n this.transitionExecutor = new TransitionExecutor;\r\n this._initElement();\r\n this._initRender();\r\n this._$initialContent = this.$element().clone().contents();\r\n this._initActions();\r\n this.callBase()\r\n },\r\n _initElement: function() {\r\n this.$element().addClass(DEFER_RENDERING_CLASS)\r\n },\r\n _initRender: function() {\r\n var that = this;\r\n var $element = this.$element();\r\n var renderWhen = this.option(\"renderWhen\");\r\n var doRender = () => that._renderDeferredContent();\r\n if (isPromise(renderWhen)) {\r\n fromPromise(renderWhen).done(doRender)\r\n } else {\r\n $element.data(\"dx-render-delegate\", doRender);\r\n if (void 0 === renderWhen) {\r\n $element.addClass(PENDING_RENDERING_MANUAL_CLASS)\r\n }\r\n }\r\n },\r\n _initActions: function() {\r\n this._actions = {};\r\n each(ACTIONS, (_, action) => {\r\n this._actions[action] = this._createActionByOption(action) || noop\r\n })\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n if (!this._initContent) {\r\n this._initContent = this._renderContent;\r\n this._renderContent = () => {}\r\n }\r\n this._initContent()\r\n },\r\n _renderContentImpl: function() {\r\n this.$element().removeClass(WIDGET_CLASS);\r\n this.$element().append(this._$initialContent);\r\n this._setLoadingState()\r\n },\r\n _renderDeferredContent: function() {\r\n var that = this;\r\n var $element = this.$element();\r\n var result = new Deferred;\r\n $element.removeClass(PENDING_RENDERING_MANUAL_CLASS);\r\n $element.addClass(PENDING_RENDERING_ACTIVE_CLASS);\r\n this._abortRenderTask();\r\n this._renderTask = executeAsync(() => {\r\n that._renderImpl().done(() => {\r\n var shownArgs = {\r\n element: $element\r\n };\r\n that._actions.onShown([shownArgs]);\r\n result.resolve(shownArgs)\r\n }).fail((function() {\r\n result.rejectWith(result, arguments)\r\n }))\r\n });\r\n return result.promise()\r\n },\r\n _isElementInViewport: function(element) {\r\n var rect = getBoundingRect(element);\r\n return rect.bottom >= 0 && rect.right >= 0 && rect.top <= (window.innerHeight || domAdapter.getDocumentElement().clientHeight) && rect.left <= (window.innerWidth || domAdapter.getDocumentElement().clientWidth)\r\n },\r\n _animate: function() {\r\n var that = this;\r\n var $element = this.$element();\r\n var animation = hasWindow() && this.option(\"animation\");\r\n var staggerItemSelector = this.option(\"staggerItemSelector\");\r\n var animatePromise;\r\n that.transitionExecutor.stop();\r\n if (animation) {\r\n if (staggerItemSelector) {\r\n $element.find(staggerItemSelector).each((function() {\r\n if (that._isElementInViewport(this)) {\r\n that.transitionExecutor.enter($(this), animation)\r\n }\r\n }))\r\n } else {\r\n that.transitionExecutor.enter($element, animation)\r\n }\r\n animatePromise = that.transitionExecutor.start()\r\n } else {\r\n animatePromise = (new Deferred).resolve().promise()\r\n }\r\n return animatePromise\r\n },\r\n _renderImpl: function() {\r\n var $element = this.$element();\r\n var renderedArgs = {\r\n element: $element\r\n };\r\n var contentTemplate = this._getTemplate(this._templateManager.anonymousTemplateName);\r\n if (contentTemplate) {\r\n contentTemplate.render({\r\n container: $element.empty(),\r\n noModel: true\r\n })\r\n }\r\n this._setRenderedState($element);\r\n eventsEngine.trigger($element, \"dxcontentrendered\");\r\n this._actions.onRendered([renderedArgs]);\r\n this._isRendered = true;\r\n return this._animate()\r\n },\r\n _setLoadingState: function() {\r\n var $element = this.$element();\r\n var hasCustomLoadIndicator = !!$element.find(\".\" + VISIBLE_WHILE_PENDING_RENDERING_CLASS).length;\r\n $element.addClass(PENDING_RENDERING_CLASS);\r\n if (!hasCustomLoadIndicator) {\r\n $element.children().addClass(INVISIBLE_WHILE_PENDING_RENDERING_CLASS)\r\n }\r\n if (this.option(\"showLoadIndicator\")) {\r\n this._showLoadIndicator($element)\r\n }\r\n },\r\n _showLoadIndicator: function($container) {\r\n this._$loadIndicator = new LoadIndicator($(\"<div>\"), {\r\n visible: true\r\n }).$element().addClass(DEFER_DEFER_RENDERING_LOAD_INDICATOR);\r\n $(\"<div>\").addClass(LOADINDICATOR_CONTAINER_CLASS).addClass(DEFER_RENDERING_LOADINDICATOR_CONTAINER_CLASS).append(this._$loadIndicator).appendTo($container)\r\n },\r\n _setRenderedState: function() {\r\n var $element = this.$element();\r\n if (this._$loadIndicator) {\r\n this._$loadIndicator.remove()\r\n }\r\n $element.removeClass(PENDING_RENDERING_CLASS);\r\n $element.removeClass(PENDING_RENDERING_ACTIVE_CLASS);\r\n triggerShownEvent($element.children())\r\n },\r\n _optionChanged: function(args) {\r\n var value = args.value;\r\n var previousValue = args.previousValue;\r\n switch (args.name) {\r\n case \"renderWhen\":\r\n if (false === previousValue && true === value) {\r\n this._renderOrAnimate()\r\n } else if (true === previousValue && false === value) {\r\n this.transitionExecutor.stop();\r\n this._setLoadingState()\r\n }\r\n break;\r\n case \"showLoadIndicator\":\r\n case \"onRendered\":\r\n case \"onShown\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _renderOrAnimate: function() {\r\n var result;\r\n if (this._isRendered) {\r\n this._setRenderedState();\r\n result = this._animate()\r\n } else {\r\n result = this._renderDeferredContent()\r\n }\r\n return result\r\n },\r\n renderContent: function() {\r\n return this._renderOrAnimate()\r\n },\r\n _abortRenderTask: function() {\r\n if (this._renderTask) {\r\n this._renderTask.abort();\r\n this._renderTask = void 0\r\n }\r\n },\r\n _dispose: function() {\r\n this.transitionExecutor.stop(true);\r\n this._abortRenderTask();\r\n this._actions = void 0;\r\n this._$initialContent = void 0;\r\n this.callBase()\r\n }\r\n});\r\nregisterComponent(\"dxDeferRendering\", DeferRendering);\r\nexport default DeferRendering;\r\n","/**\r\n * DevExtreme (esm/ui/diagram/diagram.importer.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Errors from \"../widget/ui.errors\";\r\nimport DiagramDefault, * as Diagram from \"devexpress-diagram\";\r\nexport function getDiagram() {\r\n if (!DiagramDefault) {\r\n throw Errors.Error(\"E1041\", \"devexpress-diagram\")\r\n }\r\n return Diagram\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/diagram/diagram.bar.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getDiagram\r\n} from \"./diagram.importer\";\r\nclass DiagramBar {\r\n constructor(owner) {\r\n var {\r\n EventDispatcher: EventDispatcher\r\n } = getDiagram();\r\n this.onChanged = new EventDispatcher;\r\n this._owner = owner\r\n }\r\n raiseBarCommandExecuted(key, parameter) {\r\n this.onChanged.raise(\"notifyBarCommandExecuted\", parseInt(key), parameter)\r\n }\r\n getCommandKeys() {\r\n throw \"Not Implemented\"\r\n }\r\n setItemValue(key, value) {}\r\n setItemEnabled(key, enabled) {}\r\n setItemVisible(key, enabled) {}\r\n setEnabled(enabled) {}\r\n setItemSubItems(key, items) {}\r\n isVisible() {\r\n return true\r\n }\r\n _getKeys(items) {\r\n var keys = items.reduce((commands, item) => {\r\n if (void 0 !== item.command) {\r\n commands.push(item.command)\r\n }\r\n if (item.items) {\r\n commands = commands.concat(this._getKeys(item.items))\r\n }\r\n return commands\r\n }, []);\r\n return keys\r\n }\r\n}\r\nexport default DiagramBar;\r\n","/**\r\n * DevExtreme (esm/ui/diagram/ui.diagram.panel.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nvar POINTERUP_EVENT_NAME = addNamespace(pointerEvents.up, \"dxDiagramPanel\");\r\nvar PREVENT_REFOCUS_SELECTOR = \".dx-textbox\";\r\nclass DiagramPanel extends Widget {\r\n _init() {\r\n super._init();\r\n this._createOnPointerUpAction()\r\n }\r\n _render() {\r\n super._render();\r\n this._attachPointerUpEvent()\r\n }\r\n _getPointerUpElements() {\r\n return [this.$element()]\r\n }\r\n _attachPointerUpEvent() {\r\n var elements = this._getPointerUpElements();\r\n elements.forEach(element => {\r\n eventsEngine.off(element, POINTERUP_EVENT_NAME);\r\n eventsEngine.on(element, POINTERUP_EVENT_NAME, e => {\r\n if (!$(e.target).closest(PREVENT_REFOCUS_SELECTOR).length) {\r\n this._onPointerUpAction()\r\n }\r\n })\r\n })\r\n }\r\n _createOnPointerUpAction() {\r\n this._onPointerUpAction = this._createActionByOption(\"onPointerUp\")\r\n }\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"onPointerUp\":\r\n this._createOnPointerUpAction();\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n}\r\nexport default DiagramPanel;\r\n","/**\r\n * DevExtreme (esm/ui/diagram/ui.diagram.menu_helper.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n getImageContainer\r\n} from \"../../core/utils/icon\";\r\nvar DIAGRAM_CONTEXT_MENU_CLASS = \"dx-diagram-contextmenu\";\r\nvar DiagramMenuHelper = {\r\n getContextMenuItemTemplate(contextMenu, itemData, itemIndex, itemElement) {\r\n var $itemElement = $(itemElement);\r\n $itemElement.empty();\r\n var itemKey = void 0 !== itemData.rootCommand ? itemData.rootCommand : -1;\r\n if (itemData.icon && !itemData.checked) {\r\n var $iconElement = getImageContainer(itemData.icon);\r\n $itemElement.append($iconElement)\r\n } else if (contextMenu._menuHasCheckedItems && true === contextMenu._menuHasCheckedItems[itemKey]) {\r\n var $checkElement = getImageContainer(\"check\");\r\n $checkElement.css(\"visibility\", !itemData.checked ? \"hidden\" : \"visible\");\r\n $itemElement.append($checkElement)\r\n }\r\n $itemElement.append('<span class=\"dx-menu-item-text\">' + itemData.text + \"</span>\");\r\n if (Array.isArray(itemData.items) && itemData.items.length > 0) {\r\n $itemElement.append('<span class=\"dx-menu-item-popout-container\"><div class=\"dx-menu-item-popout\"></div></span>')\r\n }\r\n },\r\n getContextMenuCssClass: () => DIAGRAM_CONTEXT_MENU_CLASS,\r\n onContextMenuItemClick(widget, itemData, actionHandler) {\r\n if ((void 0 !== itemData.command || void 0 !== itemData.name) && (!Array.isArray(itemData.items) || !itemData.items.length)) {\r\n var parameter = DiagramMenuHelper.getItemCommandParameter(widget, itemData);\r\n actionHandler.call(this, itemData.command, itemData.name, parameter)\r\n } else if (void 0 !== itemData.rootCommand && void 0 !== itemData.value) {\r\n var _parameter = DiagramMenuHelper.getItemCommandParameter(widget, itemData, itemData.value);\r\n actionHandler.call(this, itemData.rootCommand, void 0, _parameter)\r\n }\r\n },\r\n getItemValue: item => \"object\" === typeof item.value ? JSON.stringify(item.value) : item.value,\r\n getItemOptionText(contextMenu, indexPath) {\r\n if (contextMenu) {\r\n indexPath = indexPath.slice();\r\n var parentItemOptionText = this._getParentItemOptionText(indexPath);\r\n if (contextMenu._originalItemsInfo && contextMenu._originalItemsInfo[parentItemOptionText]) {\r\n indexPath[indexPath.length - 1] += contextMenu._originalItemsInfo[parentItemOptionText].indexPathCorrection\r\n }\r\n }\r\n return this._getItemOptionTextCore(indexPath)\r\n },\r\n _getParentItemOptionText(indexPath) {\r\n var parentIndexPath = indexPath.slice(0, indexPath.length - 1);\r\n return this._getItemOptionTextCore(parentIndexPath)\r\n },\r\n _getItemOptionTextCore: indexPath => indexPath.reduce((r, i) => r + \"items[\".concat(i, \"].\"), \"\"),\r\n getItemCommandParameter(widget, item, value) {\r\n if (item.getParameter) {\r\n return item.getParameter(widget)\r\n }\r\n return value\r\n },\r\n updateContextMenuItems(contextMenu, itemOptionText, rootCommandKey, items) {\r\n if (!contextMenu._originalItemsInfo) {\r\n contextMenu._originalItemsInfo = {}\r\n }\r\n if (!contextMenu._originalItemsInfo[itemOptionText]) {\r\n contextMenu._originalItemsInfo[itemOptionText] = {\r\n items: contextMenu.option(itemOptionText + \"items\") || []\r\n }\r\n }\r\n items = items.map(item => ({\r\n value: this.getItemValue(item),\r\n text: item.text,\r\n checked: item.checked,\r\n widget: contextMenu,\r\n rootCommand: rootCommandKey\r\n }));\r\n var originalItems = contextMenu._originalItemsInfo[itemOptionText].items;\r\n contextMenu.option(itemOptionText + \"items\", items.concat(originalItems));\r\n if (contextMenu._originalItemsInfo[itemOptionText] && originalItems.length) {\r\n contextMenu._originalItemsInfo[itemOptionText].indexPathCorrection = items.length\r\n }\r\n },\r\n updateContextMenuItemVisible(contextMenu, itemOptionText, visible) {\r\n contextMenu.option(itemOptionText + \"visible\", visible)\r\n },\r\n updateContextMenuItemValue(contextMenu, itemOptionText, rootCommandKey, value) {\r\n var items = contextMenu.option(itemOptionText + \"items\");\r\n if (\"boolean\" === typeof value && (!items || !items.length)) {\r\n this._setContextMenuHasCheckedItems(contextMenu, -1);\r\n contextMenu.option(itemOptionText + \"checked\", value)\r\n } else if (void 0 !== value) {\r\n this._setContextMenuHasCheckedItems(contextMenu, rootCommandKey);\r\n if (Array.isArray(items)) {\r\n items.forEach((item, index) => {\r\n item.checked = item.value === value\r\n })\r\n }\r\n }\r\n },\r\n _setContextMenuHasCheckedItems(contextMenu, key) {\r\n if (!contextMenu._menuHasCheckedItems) {\r\n contextMenu._menuHasCheckedItems = {}\r\n }\r\n contextMenu._menuHasCheckedItems[key] = true\r\n }\r\n};\r\nexport default DiagramMenuHelper;\r\n","/**\r\n * DevExtreme (esm/ui/diagram/ui.diagram.toolbar.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n setWidth,\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport Toolbar from \"../toolbar\";\r\nimport ContextMenu from \"../context_menu\";\r\nimport DiagramBar from \"./diagram.bar\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport DiagramPanel from \"./ui.diagram.panel\";\r\nimport DiagramMenuHelper from \"./ui.diagram.menu_helper\";\r\nimport {\r\n getDiagram\r\n} from \"./diagram.importer\";\r\nimport \"../select_box\";\r\nimport \"../color_box\";\r\nimport \"../check_box\";\r\nvar ACTIVE_FORMAT_CLASS = \"dx-format-active\";\r\nvar DIAGRAM_TOOLBAR_CLASS = \"dx-diagram-toolbar\";\r\nvar DIAGRAM_TOOLBAR_SEPARATOR_CLASS = \"dx-diagram-toolbar-separator\";\r\nvar DIAGRAM_TOOLBAR_MENU_SEPARATOR_CLASS = \"dx-diagram-toolbar-menu-separator\";\r\nvar DIAGRAM_MOBILE_TOOLBAR_COLOR_BOX_OPENED_CLASS = \"dx-diagram-mobile-toolbar-color-box-opened\";\r\nclass DiagramToolbar extends DiagramPanel {\r\n _init() {\r\n this._commands = [];\r\n this._itemHelpers = {};\r\n this._commandContextMenus = {};\r\n this._contextMenuList = [];\r\n this._valueConverters = {};\r\n this.bar = new DiagramToolbarBar(this);\r\n this._createOnInternalCommand();\r\n this._createOnCustomCommand();\r\n this._createOnSubMenuVisibilityChangingAction();\r\n super._init()\r\n }\r\n _initMarkup() {\r\n super._initMarkup();\r\n var isServerSide = !hasWindow();\r\n if (!this.option(\"skipAdjustSize\") && !isServerSide) {\r\n setWidth(this.$element(), \"\")\r\n }\r\n this._commands = this._getCommands();\r\n this._itemHelpers = {};\r\n this._commandContextMenus = {};\r\n this._contextMenuList = [];\r\n var $toolbar = this._createMainElement();\r\n this._renderToolbar($toolbar);\r\n if (!this.option(\"skipAdjustSize\") && !isServerSide) {\r\n var $toolbarContent = this.$element().find(\".dx-toolbar-before\");\r\n setWidth(this.$element(), getWidth($toolbarContent))\r\n }\r\n }\r\n _createMainElement() {\r\n return $(\"<div>\").addClass(DIAGRAM_TOOLBAR_CLASS).appendTo(this._$element)\r\n }\r\n _getCommands() {\r\n return this.option(\"commands\") || []\r\n }\r\n _renderToolbar($toolbar) {\r\n var beforeCommands = this._commands.filter(command => -1 === [\"after\", \"center\"].indexOf(command.location));\r\n var centerCommands = this._commands.filter(command => \"center\" === command.location);\r\n var afterCommands = this._commands.filter(command => \"after\" === command.location);\r\n var dataSource = [].concat(this._prepareToolbarItems(beforeCommands, \"before\", this._executeCommand)).concat(this._prepareToolbarItems(centerCommands, \"center\", this._executeCommand)).concat(this._prepareToolbarItems(afterCommands, \"after\", this._executeCommand));\r\n this._toolbarInstance = this._createComponent($toolbar, Toolbar, {\r\n dataSource: dataSource\r\n })\r\n }\r\n _prepareToolbarItems(items, location, actionHandler) {\r\n return items.map(item => extend(true, {\r\n location: location,\r\n locateInMenu: this.option(\"locateInMenu\")\r\n }, this._createItem(item, location, actionHandler), this._createItemOptions(item), this._createItemActionOptions(item, actionHandler)))\r\n }\r\n _createItem(item, location, actionHandler) {\r\n if (item.getCommandValue || item.getEditorValue || item.getEditorDisplayValue) {\r\n this._valueConverters[item.command] = {\r\n getCommandValue: item.getCommandValue,\r\n getEditorValue: item.getEditorValue,\r\n getEditorDisplayValue: item.getEditorDisplayValue\r\n }\r\n }\r\n if (\"separator\" === item.widget) {\r\n return {\r\n template: (data, index, element) => {\r\n $(element).addClass(DIAGRAM_TOOLBAR_SEPARATOR_CLASS)\r\n },\r\n menuItemTemplate: (data, index, element) => {\r\n $(element).addClass(DIAGRAM_TOOLBAR_MENU_SEPARATOR_CLASS)\r\n }\r\n }\r\n }\r\n return {\r\n widget: item.widget || \"dxButton\",\r\n cssClass: item.cssClass,\r\n options: {\r\n stylingMode: this.option(\"buttonStylingMode\"),\r\n type: this.option(\"buttonType\"),\r\n text: item.text,\r\n hint: item.hint,\r\n icon: item.icon || item.iconUnchecked || item.iconChecked,\r\n iconChecked: item.iconChecked,\r\n iconUnchecked: item.iconUnchecked,\r\n onInitialized: e => this._onItemInitialized(e.component, item),\r\n onContentReady: e => this._onItemContentReady(e.component, item, actionHandler)\r\n }\r\n }\r\n }\r\n _createItemOptions(_ref) {\r\n var {\r\n widget: widget,\r\n command: command,\r\n items: items,\r\n valueExpr: valueExpr,\r\n displayExpr: displayExpr,\r\n showText: showText,\r\n hint: hint,\r\n icon: icon\r\n } = _ref;\r\n if (\"dxSelectBox\" === widget) {\r\n return this._createSelectBoxItemOptions(command, hint, items, valueExpr, displayExpr)\r\n } else if (\"dxTextBox\" === widget) {\r\n return this._createTextBoxItemOptions(command, hint)\r\n } else if (\"dxColorBox\" === widget) {\r\n return this._createColorBoxItemOptions(command, hint, icon)\r\n } else if (!widget || \"dxButton\" === widget) {\r\n return {\r\n showText: showText || \"inMenu\"\r\n }\r\n }\r\n }\r\n _createSelectBoxItemOptions(command, hint, items, valueExpr, displayExpr) {\r\n var options = this._createTextEditorItemOptions(hint);\r\n options = extend(true, options, {\r\n options: {\r\n dataSource: items,\r\n displayExpr: displayExpr || \"text\",\r\n valueExpr: valueExpr || \"value\"\r\n }\r\n });\r\n var isSelectButton = items && items.every(i => void 0 !== i.icon);\r\n if (isSelectButton) {\r\n options = extend(true, options, {\r\n options: {\r\n fieldTemplate: (data, container) => {\r\n $(\"<i>\").addClass(data && data.icon || \"dx-diagram-i-selectbox-null-icon dx-diagram-i\").appendTo(container);\r\n $(\"<div>\").dxTextBox({\r\n readOnly: true,\r\n stylingMode: \"outlined\"\r\n }).appendTo(container)\r\n },\r\n itemTemplate: (data, index, container) => {\r\n $(container).attr(\"title\", data.hint);\r\n return '<i class=\"'.concat(data.icon, '\"></i>')\r\n }\r\n }\r\n })\r\n }\r\n return options\r\n }\r\n _createTextBoxItemOptions(command, hint) {\r\n var options = this._createTextEditorItemOptions(hint);\r\n options = extend(true, options, {\r\n options: {\r\n readOnly: true,\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false,\r\n buttons: [{\r\n name: \"dropDown\",\r\n location: \"after\",\r\n options: {\r\n icon: \"spindown\",\r\n disabled: false,\r\n stylingMode: \"text\",\r\n onClick: e => {\r\n var contextMenu = this._commandContextMenus[command];\r\n if (contextMenu) {\r\n this._toggleContextMenu(contextMenu)\r\n }\r\n }\r\n }\r\n }]\r\n }\r\n });\r\n return options\r\n }\r\n _createColorBoxItemOptions(command, hint, icon) {\r\n var options = this._createTextEditorItemOptions(hint);\r\n if (icon) {\r\n options = extend(true, options, {\r\n options: {\r\n openOnFieldClick: true,\r\n fieldTemplate: (data, container) => {\r\n $(\"<i>\").addClass(icon).css(\"borderBottomColor\", data).appendTo(container);\r\n $(\"<div>\").dxTextBox({\r\n readOnly: true,\r\n stylingMode: \"outlined\"\r\n }).appendTo(container)\r\n }\r\n }\r\n })\r\n }\r\n options = extend(true, options, {\r\n options: {\r\n onOpened: () => {\r\n if (this.option(\"isMobileView\")) {\r\n $(\"body\").addClass(DIAGRAM_MOBILE_TOOLBAR_COLOR_BOX_OPENED_CLASS)\r\n }\r\n },\r\n onClosed: () => {\r\n $(\"body\").removeClass(DIAGRAM_MOBILE_TOOLBAR_COLOR_BOX_OPENED_CLASS)\r\n }\r\n }\r\n });\r\n return options\r\n }\r\n _createTextEditorItemOptions(hint) {\r\n return {\r\n options: {\r\n stylingMode: this.option(\"editorStylingMode\"),\r\n hint: hint\r\n }\r\n }\r\n }\r\n _createItemActionOptions(item, handler) {\r\n switch (item.widget) {\r\n case \"dxSelectBox\":\r\n case \"dxColorBox\":\r\n case \"dxCheckBox\":\r\n return {\r\n options: {\r\n onValueChanged: e => {\r\n var parameter = DiagramMenuHelper.getItemCommandParameter(this, item, e.component.option(\"value\"));\r\n handler.call(this, item.command, item.name, parameter)\r\n }\r\n }\r\n };\r\n case \"dxTextBox\":\r\n return {};\r\n default:\r\n return {\r\n options: {\r\n onClick: e => {\r\n if (!item.items) {\r\n var parameter = DiagramMenuHelper.getItemCommandParameter(this, item);\r\n handler.call(this, item.command, item.name, parameter)\r\n } else {\r\n var contextMenu = e.component._contextMenu;\r\n if (contextMenu) {\r\n this._toggleContextMenu(contextMenu)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n _toggleContextMenu(contextMenu) {\r\n this._contextMenuList.forEach(cm => {\r\n if (contextMenu !== cm) {\r\n cm.hide()\r\n }\r\n });\r\n contextMenu.toggle()\r\n }\r\n _onItemInitialized(widget, item) {\r\n this._addItemHelper(item.command, new DiagramToolbarItemHelper(widget))\r\n }\r\n _onItemContentReady(widget, item, actionHandler) {\r\n if ((\"dxButton\" === widget.NAME || \"dxTextBox\" === widget.NAME) && item.items) {\r\n var isTouchMode = this._isTouchMode();\r\n var $menuContainer = $(\"<div>\").appendTo(this.$element());\r\n widget._contextMenu = this._createComponent($menuContainer, ContextMenu, {\r\n items: item.items,\r\n target: widget.$element(),\r\n cssClass: DiagramMenuHelper.getContextMenuCssClass(),\r\n showEvent: \"\",\r\n hideOnOutsideClick: e => !isTouchMode && 0 === $(e.target).closest(widget._contextMenu._dropDownButtonElement).length,\r\n focusStateEnabled: false,\r\n position: {\r\n at: \"left bottom\"\r\n },\r\n itemTemplate: function(itemData, itemIndex, itemElement) {\r\n DiagramMenuHelper.getContextMenuItemTemplate(this, itemData, itemIndex, itemElement)\r\n },\r\n onItemClick: _ref2 => {\r\n var {\r\n component: component,\r\n itemData: itemData\r\n } = _ref2;\r\n DiagramMenuHelper.onContextMenuItemClick(this, itemData, actionHandler.bind(this));\r\n if (!itemData.items || !itemData.items.length) {\r\n component.hide()\r\n }\r\n },\r\n onShowing: e => {\r\n if (this._showingSubMenu) {\r\n return\r\n }\r\n this._showingSubMenu = e.component;\r\n this._onSubMenuVisibilityChangingAction({\r\n visible: true,\r\n component: this\r\n });\r\n e.component.option(\"items\", e.component.option(\"items\"));\r\n delete this._showingSubMenu\r\n },\r\n onInitialized: _ref3 => {\r\n var {\r\n component: component\r\n } = _ref3;\r\n return this._onContextMenuInitialized(component, item, widget)\r\n },\r\n onDisposing: _ref4 => {\r\n var {\r\n component: component\r\n } = _ref4;\r\n return this._onContextMenuDisposing(component, item)\r\n }\r\n });\r\n if (!isTouchMode) {\r\n widget._contextMenu._dropDownButtonElement = widget.$element();\r\n if (\"dxTextBox\" === widget.NAME) {\r\n widget._contextMenu._dropDownButtonElement = widget.getButton(\"dropDown\").element()\r\n }\r\n }\r\n }\r\n }\r\n _isTouchMode() {\r\n var {\r\n Browser: Browser\r\n } = getDiagram();\r\n return Browser.TouchUI\r\n }\r\n _onContextMenuInitialized(widget, item, rootWidget) {\r\n this._contextMenuList.push(widget);\r\n if (item.command) {\r\n this._commandContextMenus[item.command] = widget\r\n }\r\n this._addContextMenuHelper(item, widget, [], rootWidget)\r\n }\r\n _addItemHelper(command, helper) {\r\n if (void 0 !== command) {\r\n if (this._itemHelpers[command]) {\r\n throw new Error(\"Toolbar cannot contain duplicated commands.\")\r\n }\r\n this._itemHelpers[command] = helper\r\n }\r\n }\r\n _addContextMenuHelper(item, widget, indexPath, rootWidget) {\r\n if (item.items) {\r\n item.items.forEach((subItem, index) => {\r\n var itemIndexPath = indexPath.concat(index);\r\n this._addItemHelper(subItem.command, new DiagramToolbarSubItemHelper(widget, itemIndexPath, subItem.command, rootWidget));\r\n this._addContextMenuHelper(subItem, widget, itemIndexPath, rootWidget)\r\n })\r\n }\r\n }\r\n _onContextMenuDisposing(widget, item) {\r\n this._contextMenuList.splice(this._contextMenuList.indexOf(widget), 1);\r\n delete this._commandContextMenus[item.command]\r\n }\r\n _executeCommand(command, name, value) {\r\n if (this._updateLocked) {\r\n return\r\n }\r\n if (\"number\" === typeof command) {\r\n var valueConverter = this._valueConverters[command];\r\n if (valueConverter && valueConverter.getCommandValue) {\r\n value = valueConverter.getCommandValue(value)\r\n }\r\n this.bar.raiseBarCommandExecuted(command, value)\r\n } else if (\"string\" === typeof command) {\r\n this._onInternalCommandAction({\r\n command: command\r\n })\r\n }\r\n if (void 0 !== name) {\r\n this._onCustomCommandAction({\r\n name: name\r\n })\r\n }\r\n }\r\n _createOnInternalCommand() {\r\n this._onInternalCommandAction = this._createActionByOption(\"onInternalCommand\")\r\n }\r\n _createOnCustomCommand() {\r\n this._onCustomCommandAction = this._createActionByOption(\"onCustomCommand\")\r\n }\r\n _setItemEnabled(command, enabled) {\r\n if (command in this._itemHelpers) {\r\n var helper = this._itemHelpers[command];\r\n if (helper.canUpdate(this._showingSubMenu)) {\r\n helper.setEnabled(enabled)\r\n }\r\n }\r\n }\r\n _setEnabled(enabled) {\r\n this._toolbarInstance.option(\"disabled\", !enabled);\r\n this._contextMenuList.forEach(contextMenu => {\r\n contextMenu.option(\"disabled\", !enabled)\r\n })\r\n }\r\n _setItemValue(command, value) {\r\n try {\r\n this._updateLocked = true;\r\n if (command in this._itemHelpers) {\r\n var helper = this._itemHelpers[command];\r\n if (helper.canUpdate(this._showingSubMenu)) {\r\n var valueConverter = this._valueConverters[command];\r\n if (valueConverter && valueConverter.getEditorValue) {\r\n value = valueConverter.getEditorValue(value)\r\n }\r\n var displayValue;\r\n if (valueConverter && valueConverter.getEditorDisplayValue) {\r\n displayValue = valueConverter.getEditorDisplayValue(value)\r\n }\r\n var contextMenu = this._commandContextMenus[command];\r\n helper.setValue(value, displayValue, contextMenu, contextMenu && command)\r\n }\r\n }\r\n } finally {\r\n this._updateLocked = false\r\n }\r\n }\r\n _setItemSubItems(command, items) {\r\n this._updateLocked = true;\r\n if (command in this._itemHelpers) {\r\n var helper = this._itemHelpers[command];\r\n if (helper.canUpdate(this._showingSubMenu)) {\r\n var contextMenu = this._commandContextMenus[command];\r\n helper.setItems(items, contextMenu, contextMenu && command)\r\n }\r\n }\r\n this._updateLocked = false\r\n }\r\n _createOnSubMenuVisibilityChangingAction() {\r\n this._onSubMenuVisibilityChangingAction = this._createActionByOption(\"onSubMenuVisibilityChanging\")\r\n }\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"isMobileView\":\r\n $(\"body\").removeClass(DIAGRAM_MOBILE_TOOLBAR_COLOR_BOX_OPENED_CLASS);\r\n this._invalidate();\r\n break;\r\n case \"onSubMenuVisibilityChanging\":\r\n this._createOnSubMenuVisibilityChangingAction();\r\n break;\r\n case \"onInternalCommand\":\r\n this._createOnInternalCommand();\r\n break;\r\n case \"onCustomCommand\":\r\n this._createOnCustomCommand();\r\n break;\r\n case \"container\":\r\n case \"commands\":\r\n this._invalidate();\r\n break;\r\n case \"export\":\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n isMobileView: false,\r\n export: {\r\n fileName: \"Diagram\"\r\n },\r\n locateInMenu: \"auto\",\r\n buttonStylingMode: \"text\",\r\n buttonType: \"normal\",\r\n editorStylingMode: \"filled\",\r\n skipAdjustSize: false\r\n })\r\n }\r\n setCommandChecked(command, checked) {\r\n this._setItemValue(command, checked)\r\n }\r\n setCommandEnabled(command, enabled) {\r\n this._setItemEnabled(command, enabled)\r\n }\r\n}\r\nclass DiagramToolbarBar extends DiagramBar {\r\n getCommandKeys() {\r\n return this._getKeys(this._owner._commands)\r\n }\r\n setItemValue(key, value) {\r\n this._owner._setItemValue(key, value)\r\n }\r\n setItemEnabled(key, enabled) {\r\n this._owner._setItemEnabled(key, enabled)\r\n }\r\n setEnabled(enabled) {\r\n this._owner._setEnabled(enabled)\r\n }\r\n setItemSubItems(key, items) {\r\n this._owner._setItemSubItems(key, items)\r\n }\r\n}\r\nclass DiagramToolbarItemHelper {\r\n constructor(widget) {\r\n this._widget = widget\r\n }\r\n canUpdate(showingSubMenu) {\r\n return void 0 === showingSubMenu\r\n }\r\n setEnabled(enabled) {\r\n this._widget.option(\"disabled\", !enabled)\r\n }\r\n setValue(value, displayValue, contextMenu, rootCommandKey) {\r\n if (\"value\" in this._widget.option()) {\r\n this._updateEditorValue(value, displayValue)\r\n } else if (void 0 !== value) {\r\n this._updateButtonValue(value)\r\n }\r\n if (contextMenu) {\r\n this._updateContextMenuItemValue(contextMenu, \"\", rootCommandKey, value)\r\n }\r\n }\r\n setItems(items, contextMenu, rootCommandKey) {\r\n if (contextMenu) {\r\n this._updateContextMenuItems(contextMenu, \"\", rootCommandKey, items)\r\n } else {\r\n this._updateEditorItems(items)\r\n }\r\n }\r\n _updateContextMenuItems(contextMenu, itemOptionText, rootCommandKey, items) {\r\n DiagramMenuHelper.updateContextMenuItems(contextMenu, itemOptionText, rootCommandKey, items)\r\n }\r\n _updateEditorItems(items) {\r\n if (\"items\" in this._widget.option()) {\r\n this._widget.option(\"items\", items.map(item => ({\r\n value: DiagramMenuHelper.getItemValue(item),\r\n text: item.text\r\n })))\r\n }\r\n }\r\n _updateEditorValue(value, displayValue) {\r\n this._widget.option(\"value\", value);\r\n if (!this._widget.option(\"selectedItem\") && displayValue) {\r\n this._widget.option(\"value\", displayValue)\r\n }\r\n }\r\n _updateButtonValue(value) {\r\n if (this._widget.option(\"iconChecked\") && this._widget.option(\"iconUnchecked\")) {\r\n this._widget.option(\"icon\", value ? this._widget.option(\"iconChecked\") : this._widget.option(\"iconUnchecked\"))\r\n } else {\r\n this._widget.$element().toggleClass(ACTIVE_FORMAT_CLASS, value)\r\n }\r\n }\r\n _updateContextMenuItemValue(contextMenu, itemOptionText, rootCommandKey, value) {\r\n DiagramMenuHelper.updateContextMenuItemValue(contextMenu, itemOptionText, rootCommandKey, value)\r\n }\r\n}\r\nclass DiagramToolbarSubItemHelper extends DiagramToolbarItemHelper {\r\n constructor(widget, indexPath, rootCommandKey, rootWidget) {\r\n super(widget);\r\n this._indexPath = indexPath;\r\n this._rootCommandKey = rootCommandKey;\r\n this._rootWidget = rootWidget\r\n }\r\n canUpdate(showingSubMenu) {\r\n return super.canUpdate(showingSubMenu) || showingSubMenu === this._widget\r\n }\r\n setEnabled(enabled) {\r\n this._widget.option(this._getItemOptionText() + \"disabled\", !enabled);\r\n var rootEnabled = this._hasEnabledCommandItems(this._widget.option(\"items\"));\r\n this._rootWidget.option(\"disabled\", !rootEnabled)\r\n }\r\n _hasEnabledCommandItems(items) {\r\n if (items) {\r\n return items.some(item => void 0 !== item.command && !item.disabled || this._hasEnabledCommandItems(item.items))\r\n }\r\n return false\r\n }\r\n setValue(value) {\r\n this._updateContextMenuItemValue(this._widget, this._getItemOptionText(), this._rootCommandKey, value)\r\n }\r\n setItems(items) {\r\n this._updateContextMenuItems(this._widget, this._getItemOptionText(), this._rootCommandKey, items)\r\n }\r\n _getItemOptionText() {\r\n return DiagramMenuHelper.getItemOptionText(this._widget, this._indexPath)\r\n }\r\n}\r\nexport default DiagramToolbar;\r\n","/**\r\n * DevExtreme (esm/ui/diagram/diagram.commands_manager.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getDiagram\r\n} from \"./diagram.importer\";\r\nimport {\r\n fileSaver\r\n} from \"../../exporter/file_saver\";\r\nimport {\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport messageLocalization from \"../../localization/message\";\r\nvar SEPARATOR = \"separator\";\r\nvar SEPARATOR_COMMAND = {\r\n widget: SEPARATOR\r\n};\r\nvar CSS_CLASSES = {\r\n SMALL_EDITOR_ITEM: \"dx-diagram-sm-edit-item\",\r\n MEDIUM_EDITOR_ITEM: \"dx-diagram-md-edit-item\",\r\n LARGE_EDITOR_ITEM: \"dx-diagram-lg-edit-item\",\r\n IMAGE_DROPDOWN_ITEM: \"dx-diagram-image-dropdown-item\",\r\n COLOR_EDITOR_ITEM: \"dx-diagram-color-edit-item\",\r\n LARGE_ICON_ITEM: \"dx-diagram-lg-icon-item\"\r\n};\r\nvar DiagramCommandsManager = {\r\n SHOW_TOOLBOX_COMMAND_NAME: \"toolbox\",\r\n SHOW_PROPERTIES_PANEL_COMMAND_NAME: \"propertiesPanel\",\r\n getAllCommands: function() {\r\n var {\r\n DiagramCommand: DiagramCommand\r\n } = getDiagram();\r\n return this._allCommands || (this._allCommands = {\r\n separator: SEPARATOR_COMMAND,\r\n exportSvg: {\r\n command: DiagramCommand.ExportSvg,\r\n text: messageLocalization.format(\"dxDiagram-commandExportToSvg\"),\r\n getParameter: widget => dataURI => this._exportTo(widget, dataURI, \"SVG\", \"image/svg+xml\")\r\n },\r\n exportPng: {\r\n command: DiagramCommand.ExportPng,\r\n text: messageLocalization.format(\"dxDiagram-commandExportToPng\"),\r\n getParameter: widget => dataURI => this._exportTo(widget, dataURI, \"PNG\", \"image/png\")\r\n },\r\n exportJpg: {\r\n command: DiagramCommand.ExportJpg,\r\n text: messageLocalization.format(\"dxDiagram-commandExportToJpg\"),\r\n getParameter: widget => dataURI => this._exportTo(widget, dataURI, \"JPEG\", \"image/jpeg\")\r\n },\r\n undo: {\r\n command: DiagramCommand.Undo,\r\n hint: messageLocalization.format(\"dxDiagram-commandUndo\"),\r\n text: messageLocalization.format(\"dxDiagram-commandUndo\"),\r\n icon: \"undo\",\r\n menuIcon: \"undo\"\r\n },\r\n redo: {\r\n command: DiagramCommand.Redo,\r\n hint: messageLocalization.format(\"dxDiagram-commandRedo\"),\r\n text: messageLocalization.format(\"dxDiagram-commandRedo\"),\r\n icon: \"redo\",\r\n menuIcon: \"redo\"\r\n },\r\n cut: {\r\n command: DiagramCommand.Cut,\r\n hint: messageLocalization.format(\"dxDiagram-commandCut\"),\r\n text: messageLocalization.format(\"dxDiagram-commandCut\"),\r\n icon: \"cut\",\r\n menuIcon: \"cut\"\r\n },\r\n copy: {\r\n command: DiagramCommand.Copy,\r\n hint: messageLocalization.format(\"dxDiagram-commandCopy\"),\r\n text: messageLocalization.format(\"dxDiagram-commandCopy\"),\r\n icon: \"copy\",\r\n menuIcon: \"copy\"\r\n },\r\n paste: {\r\n command: DiagramCommand.PasteInPosition,\r\n hint: messageLocalization.format(\"dxDiagram-commandPaste\"),\r\n text: messageLocalization.format(\"dxDiagram-commandPaste\"),\r\n icon: \"paste\",\r\n menuIcon: \"paste\"\r\n },\r\n selectAll: {\r\n command: DiagramCommand.SelectAll,\r\n hint: messageLocalization.format(\"dxDiagram-commandSelectAll\"),\r\n text: messageLocalization.format(\"dxDiagram-commandSelectAll\"),\r\n icon: \"dx-diagram-i-button-select-all dx-diagram-i\",\r\n menuIcon: \"dx-diagram-i-menu-select-all dx-diagram-i\"\r\n },\r\n delete: {\r\n command: DiagramCommand.Delete,\r\n hint: messageLocalization.format(\"dxDiagram-commandDelete\"),\r\n text: messageLocalization.format(\"dxDiagram-commandDelete\"),\r\n icon: \"remove\",\r\n menuIcon: \"remove\"\r\n },\r\n fontName: {\r\n command: DiagramCommand.FontName,\r\n hint: messageLocalization.format(\"dxDiagram-commandFontName\"),\r\n text: messageLocalization.format(\"dxDiagram-commandFontName\"),\r\n widget: \"dxSelectBox\",\r\n items: [\"Arial\", \"Arial Black\", \"Helvetica\", \"Times New Roman\", \"Courier New\", \"Courier\", \"Verdana\", \"Georgia\", \"Comic Sans MS\", \"Trebuchet MS\"].map(item => ({\r\n text: item,\r\n value: item\r\n })),\r\n cssClass: CSS_CLASSES.MEDIUM_EDITOR_ITEM\r\n },\r\n fontSize: {\r\n command: DiagramCommand.FontSize,\r\n hint: messageLocalization.format(\"dxDiagram-commandFontSize\"),\r\n text: messageLocalization.format(\"dxDiagram-commandFontSize\"),\r\n widget: \"dxSelectBox\",\r\n items: [8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 26, 28, 36, 48, 72].map(item => ({\r\n text: item + \"pt\",\r\n value: item + \"pt\"\r\n })),\r\n cssClass: CSS_CLASSES.SMALL_EDITOR_ITEM\r\n },\r\n bold: {\r\n command: DiagramCommand.Bold,\r\n hint: messageLocalization.format(\"dxDiagram-commandBold\"),\r\n text: messageLocalization.format(\"dxDiagram-commandBold\"),\r\n icon: \"bold\",\r\n menuIcon: \"bold\"\r\n },\r\n italic: {\r\n command: DiagramCommand.Italic,\r\n hint: messageLocalization.format(\"dxDiagram-commandItalic\"),\r\n text: messageLocalization.format(\"dxDiagram-commandItalic\"),\r\n icon: \"italic\",\r\n menuIcon: \"italic\"\r\n },\r\n underline: {\r\n command: DiagramCommand.Underline,\r\n hint: messageLocalization.format(\"dxDiagram-commandUnderline\"),\r\n text: messageLocalization.format(\"dxDiagram-commandUnderline\"),\r\n icon: \"underline\",\r\n menuIcon: \"underline\"\r\n },\r\n fontColor: {\r\n command: DiagramCommand.FontColor,\r\n text: messageLocalization.format(\"dxDiagram-commandTextColor\"),\r\n hint: messageLocalization.format(\"dxDiagram-commandTextColor\"),\r\n widget: \"dxColorBox\",\r\n icon: \"dx-icon dx-icon-color\",\r\n menuIcon: \"dx-icon dx-icon-color\",\r\n cssClass: CSS_CLASSES.COLOR_EDITOR_ITEM\r\n },\r\n lineColor: {\r\n command: DiagramCommand.StrokeColor,\r\n text: messageLocalization.format(\"dxDiagram-commandLineColor\"),\r\n hint: messageLocalization.format(\"dxDiagram-commandLineColor\"),\r\n widget: \"dxColorBox\",\r\n icon: \"dx-icon dx-icon-background\",\r\n menuIcon: \"dx-icon dx-icon-background\",\r\n cssClass: CSS_CLASSES.COLOR_EDITOR_ITEM\r\n },\r\n lineWidth: {\r\n command: DiagramCommand.StrokeWidth,\r\n text: messageLocalization.format(\"dxDiagram-commandLineWidth\"),\r\n hint: messageLocalization.format(\"dxDiagram-commandLineWidth\"),\r\n widget: \"dxSelectBox\",\r\n items: [1, 2, 3, 4, 5, 6, 7, 8].map(item => ({\r\n text: item + \"px\",\r\n value: item.toString()\r\n })),\r\n cssClass: CSS_CLASSES.SMALL_EDITOR_ITEM\r\n },\r\n lineStyle: {\r\n command: DiagramCommand.StrokeStyle,\r\n text: messageLocalization.format(\"dxDiagram-commandLineStyle\"),\r\n hint: messageLocalization.format(\"dxDiagram-commandLineStyle\"),\r\n widget: \"dxSelectBox\",\r\n items: [{\r\n value: \"\",\r\n menuIcon: \"dx-diagram-i-line-solid dx-diagram-i\",\r\n hint: messageLocalization.format(\"dxDiagram-commandLineStyleSolid\")\r\n }, {\r\n value: \"2,2\",\r\n menuIcon: \"dx-diagram-i-line-dotted dx-diagram-i\",\r\n hint: messageLocalization.format(\"dxDiagram-commandLineStyleDotted\")\r\n }, {\r\n value: \"6,2\",\r\n menuIcon: \"dx-diagram-i-line-dashed dx-diagram-i\",\r\n hint: messageLocalization.format(\"dxDiagram-commandLineStyleDashed\")\r\n }],\r\n cssClass: CSS_CLASSES.IMAGE_DROPDOWN_ITEM\r\n },\r\n fillColor: {\r\n command: DiagramCommand.FillColor,\r\n text: messageLocalization.format(\"dxDiagram-commandFillColor\"),\r\n hint: messageLocalization.format(\"dxDiagram-commandFillColor\"),\r\n widget: \"dxColorBox\",\r\n icon: \"dx-diagram-i dx-diagram-i-button-fill\",\r\n menuIcon: \"dx-diagram-i dx-diagram-i-menu-fill\",\r\n cssClass: CSS_CLASSES.COLOR_EDITOR_ITEM\r\n },\r\n textAlignLeft: {\r\n command: DiagramCommand.TextLeftAlign,\r\n hint: messageLocalization.format(\"dxDiagram-commandAlignLeft\"),\r\n text: messageLocalization.format(\"dxDiagram-commandAlignLeft\"),\r\n icon: \"alignleft\",\r\n menuIcon: \"alignleft\"\r\n },\r\n textAlignCenter: {\r\n command: DiagramCommand.TextCenterAlign,\r\n hint: messageLocalization.format(\"dxDiagram-commandAlignCenter\"),\r\n text: messageLocalization.format(\"dxDiagram-commandAlignCenter\"),\r\n icon: \"aligncenter\",\r\n menuIcon: \"aligncenter\"\r\n },\r\n textAlignRight: {\r\n command: DiagramCommand.TextRightAlign,\r\n hint: messageLocalization.format(\"dxDiagram-commandAlignRight\"),\r\n text: messageLocalization.format(\"dxDiagram-commandAlignRight\"),\r\n icon: \"alignright\",\r\n menuIcon: \"alignright\"\r\n },\r\n lock: {\r\n command: DiagramCommand.Lock,\r\n hint: messageLocalization.format(\"dxDiagram-commandLock\"),\r\n text: messageLocalization.format(\"dxDiagram-commandLock\"),\r\n icon: \"dx-diagram-i-button-lock dx-diagram-i\",\r\n menuIcon: \"dx-diagram-i-menu-lock dx-diagram-i\"\r\n },\r\n unlock: {\r\n command: DiagramCommand.Unlock,\r\n hint: messageLocalization.format(\"dxDiagram-commandUnlock\"),\r\n text: messageLocalization.format(\"dxDiagram-commandUnlock\"),\r\n icon: \"dx-diagram-i-button-unlock dx-diagram-i\",\r\n menuIcon: \"dx-diagram-i-menu-unlock dx-diagram-i\"\r\n },\r\n bringToFront: {\r\n command: DiagramCommand.BringToFront,\r\n hint: messageLocalization.format(\"dxDiagram-commandBringToFront\"),\r\n text: messageLocalization.format(\"dxDiagram-commandBringToFront\"),\r\n icon: \"dx-diagram-i-button-bring-to-front dx-diagram-i\",\r\n menuIcon: \"dx-diagram-i-menu-bring-to-front dx-diagram-i\"\r\n },\r\n sendToBack: {\r\n command: DiagramCommand.SendToBack,\r\n hint: messageLocalization.format(\"dxDiagram-commandSendToBack\"),\r\n text: messageLocalization.format(\"dxDiagram-commandSendToBack\"),\r\n icon: \"dx-diagram-i-button-send-to-back dx-diagram-i\",\r\n menuIcon: \"dx-diagram-i-menu-send-to-back dx-diagram-i\"\r\n },\r\n insertShapeImage: {\r\n command: DiagramCommand.InsertShapeImage,\r\n text: messageLocalization.format(\"dxDiagram-commandInsertShapeImage\"),\r\n icon: \"dx-diagram-i-button-image-insert dx-diagram-i\",\r\n menuIcon: \"dx-diagram-i-menu-image-insert dx-diagram-i\"\r\n },\r\n editShapeImage: {\r\n command: DiagramCommand.EditShapeImage,\r\n text: messageLocalization.format(\"dxDiagram-commandEditShapeImage\"),\r\n icon: \"dx-diagram-i-button-image-edit dx-diagram-i\",\r\n menuIcon: \"dx-diagram-i-menu-image-edit dx-diagram-i\"\r\n },\r\n deleteShapeImage: {\r\n command: DiagramCommand.DeleteShapeImage,\r\n text: messageLocalization.format(\"dxDiagram-commandDeleteShapeImage\"),\r\n icon: \"dx-diagram-i-button-image-delete dx-diagram-i\",\r\n menuIcon: \"dx-diagram-i-menu-image-delete dx-diagram-i\"\r\n },\r\n connectorLineType: {\r\n command: DiagramCommand.ConnectorLineOption,\r\n widget: \"dxSelectBox\",\r\n hint: messageLocalization.format(\"dxDiagram-commandConnectorLineType\"),\r\n text: messageLocalization.format(\"dxDiagram-commandConnectorLineType\"),\r\n items: [{\r\n value: 0,\r\n menuIcon: \"dx-diagram-i-connector-straight dx-diagram-i\",\r\n hint: messageLocalization.format(\"dxDiagram-commandConnectorLineStraight\"),\r\n text: messageLocalization.format(\"dxDiagram-commandConnectorLineStraight\")\r\n }, {\r\n value: 1,\r\n menuIcon: \"dx-diagram-i-connector-orthogonal dx-diagram-i\",\r\n hint: messageLocalization.format(\"dxDiagram-commandConnectorLineOrthogonal\"),\r\n text: messageLocalization.format(\"dxDiagram-commandConnectorLineOrthogonal\")\r\n }],\r\n cssClass: CSS_CLASSES.IMAGE_DROPDOWN_ITEM\r\n },\r\n connectorLineStart: {\r\n command: DiagramCommand.ConnectorStartLineEnding,\r\n widget: \"dxSelectBox\",\r\n items: [{\r\n value: 0,\r\n menuIcon: \"dx-diagram-i-connector-begin-none dx-diagram-i\",\r\n hint: messageLocalization.format(\"dxDiagram-commandConnectorLineNone\"),\r\n text: messageLocalization.format(\"dxDiagram-commandConnectorLineNone\")\r\n }, {\r\n value: 1,\r\n menuIcon: \"dx-diagram-i-connector-begin-arrow dx-diagram-i\",\r\n hint: messageLocalization.format(\"dxDiagram-commandConnectorLineArrow\"),\r\n text: messageLocalization.format(\"dxDiagram-commandConnectorLineArrow\")\r\n }, {\r\n value: 2,\r\n menuIcon: \"dx-diagram-i-connector-begin-outlined-triangle dx-diagram-i\",\r\n hint: messageLocalization.format(\"dxDiagram-commandConnectorLineArrow\"),\r\n text: messageLocalization.format(\"dxDiagram-commandConnectorLineArrow\")\r\n }, {\r\n value: 3,\r\n menuIcon: \"dx-diagram-i-connector-begin-filled-triangle dx-diagram-i\",\r\n hint: messageLocalization.format(\"dxDiagram-commandConnectorLineArrow\"),\r\n text: messageLocalization.format(\"dxDiagram-commandConnectorLineArrow\")\r\n }],\r\n hint: messageLocalization.format(\"dxDiagram-commandConnectorLineStart\"),\r\n text: messageLocalization.format(\"dxDiagram-commandConnectorLineStart\"),\r\n cssClass: CSS_CLASSES.IMAGE_DROPDOWN_ITEM\r\n },\r\n connectorLineEnd: {\r\n command: DiagramCommand.ConnectorEndLineEnding,\r\n widget: \"dxSelectBox\",\r\n items: [{\r\n value: 0,\r\n menuIcon: \"dx-diagram-i-connector-end-none dx-diagram-i\",\r\n hint: messageLocalization.format(\"dxDiagram-commandConnectorLineNone\"),\r\n text: messageLocalization.format(\"dxDiagram-commandConnectorLineNone\")\r\n }, {\r\n value: 1,\r\n menuIcon: \"dx-diagram-i-connector-end-arrow dx-diagram-i\",\r\n hint: messageLocalization.format(\"dxDiagram-commandConnectorLineArrow\"),\r\n text: messageLocalization.format(\"dxDiagram-commandConnectorLineArrow\")\r\n }, {\r\n value: 2,\r\n menuIcon: \"dx-diagram-i-connector-end-outlined-triangle dx-diagram-i\",\r\n hint: messageLocalization.format(\"dxDiagram-commandConnectorLineArrow\"),\r\n text: messageLocalization.format(\"dxDiagram-commandConnectorLineArrow\")\r\n }, {\r\n value: 3,\r\n menuIcon: \"dx-diagram-i-connector-end-filled-triangle dx-diagram-i\",\r\n hint: messageLocalization.format(\"dxDiagram-commandConnectorLineArrow\"),\r\n text: messageLocalization.format(\"dxDiagram-commandConnectorLineArrow\")\r\n }],\r\n hint: messageLocalization.format(\"dxDiagram-commandConnectorLineEnd\"),\r\n text: messageLocalization.format(\"dxDiagram-commandConnectorLineEnd\"),\r\n cssClass: CSS_CLASSES.IMAGE_DROPDOWN_ITEM\r\n },\r\n layoutTreeTopToBottom: {\r\n command: DiagramCommand.AutoLayoutTreeVertical,\r\n text: messageLocalization.format(\"dxDiagram-commandLayoutTopToBottom\"),\r\n hint: messageLocalization.format(\"dxDiagram-commandLayoutTopToBottom\"),\r\n icon: \"dx-diagram-i-button-layout-tree-tb dx-diagram-i\",\r\n cssClass: CSS_CLASSES.LARGE_ICON_ITEM\r\n },\r\n layoutTreeBottomToTop: {\r\n command: DiagramCommand.AutoLayoutTreeVerticalBottomToTop,\r\n text: messageLocalization.format(\"dxDiagram-commandLayoutBottomToTop\"),\r\n hint: messageLocalization.format(\"dxDiagram-commandLayoutBottomToTop\"),\r\n icon: \"dx-diagram-i-button-layout-tree-bt dx-diagram-i\",\r\n cssClass: CSS_CLASSES.LARGE_ICON_ITEM\r\n },\r\n layoutTreeLeftToRight: {\r\n command: DiagramCommand.AutoLayoutTreeHorizontal,\r\n text: messageLocalization.format(\"dxDiagram-commandLayoutLeftToRight\"),\r\n hint: messageLocalization.format(\"dxDiagram-commandLayoutLeftToRight\"),\r\n icon: \"dx-diagram-i-button-layout-tree-lr dx-diagram-i\",\r\n cssClass: CSS_CLASSES.LARGE_ICON_ITEM\r\n },\r\n layoutTreeRightToLeft: {\r\n command: DiagramCommand.AutoLayoutTreeHorizontalRightToLeft,\r\n text: messageLocalization.format(\"dxDiagram-commandLayoutRightToLeft\"),\r\n hint: messageLocalization.format(\"dxDiagram-commandLayoutRightToLeft\"),\r\n icon: \"dx-diagram-i-button-layout-tree-rl dx-diagram-i\",\r\n cssClass: CSS_CLASSES.LARGE_ICON_ITEM\r\n },\r\n layoutLayeredTopToBottom: {\r\n command: DiagramCommand.AutoLayoutLayeredVertical,\r\n text: messageLocalization.format(\"dxDiagram-commandLayoutTopToBottom\"),\r\n hint: messageLocalization.format(\"dxDiagram-commandLayoutTopToBottom\"),\r\n icon: \"dx-diagram-i-button-layout-layered-tb dx-diagram-i\",\r\n cssClass: CSS_CLASSES.LARGE_ICON_ITEM\r\n },\r\n layoutLayeredBottomToTop: {\r\n command: DiagramCommand.AutoLayoutLayeredVerticalBottomToTop,\r\n text: messageLocalization.format(\"dxDiagram-commandLayoutBottomToTop\"),\r\n hint: messageLocalization.format(\"dxDiagram-commandLayoutBottomToTop\"),\r\n icon: \"dx-diagram-i-button-layout-layered-bt dx-diagram-i\",\r\n cssClass: CSS_CLASSES.LARGE_ICON_ITEM\r\n },\r\n layoutLayeredLeftToRight: {\r\n command: DiagramCommand.AutoLayoutLayeredHorizontal,\r\n text: messageLocalization.format(\"dxDiagram-commandLayoutLeftToRight\"),\r\n hint: messageLocalization.format(\"dxDiagram-commandLayoutLeftToRight\"),\r\n icon: \"dx-diagram-i-button-layout-layered-lr dx-diagram-i\",\r\n cssClass: CSS_CLASSES.LARGE_ICON_ITEM\r\n },\r\n layoutLayeredRightToLeft: {\r\n command: DiagramCommand.AutoLayoutLayeredHorizontalRightToLeft,\r\n text: messageLocalization.format(\"dxDiagram-commandLayoutRightToLeft\"),\r\n hint: messageLocalization.format(\"dxDiagram-commandLayoutRightToLeft\"),\r\n icon: \"dx-diagram-i-button-layout-layered-rl dx-diagram-i\",\r\n cssClass: CSS_CLASSES.LARGE_ICON_ITEM\r\n },\r\n fullScreen: {\r\n command: DiagramCommand.Fullscreen,\r\n hint: messageLocalization.format(\"dxDiagram-commandFullscreen\"),\r\n text: messageLocalization.format(\"dxDiagram-commandFullscreen\"),\r\n icon: \"dx-diagram-i dx-diagram-i-button-fullscreen\",\r\n menuIcon: \"dx-diagram-i dx-diagram-i-menu-fullscreen\",\r\n cssClass: CSS_CLASSES.COLOR_EDITOR_ITEM\r\n },\r\n units: {\r\n command: DiagramCommand.ViewUnits,\r\n hint: messageLocalization.format(\"dxDiagram-commandUnits\"),\r\n text: messageLocalization.format(\"dxDiagram-commandUnits\"),\r\n widget: \"dxSelectBox\"\r\n },\r\n simpleView: {\r\n command: DiagramCommand.ToggleSimpleView,\r\n hint: messageLocalization.format(\"dxDiagram-commandSimpleView\"),\r\n text: messageLocalization.format(\"dxDiagram-commandSimpleView\"),\r\n widget: \"dxCheckBox\"\r\n },\r\n showGrid: {\r\n command: DiagramCommand.ShowGrid,\r\n hint: messageLocalization.format(\"dxDiagram-commandShowGrid\"),\r\n text: messageLocalization.format(\"dxDiagram-commandShowGrid\"),\r\n widget: \"dxCheckBox\"\r\n },\r\n snapToGrid: {\r\n command: DiagramCommand.SnapToGrid,\r\n hint: messageLocalization.format(\"dxDiagram-commandSnapToGrid\"),\r\n text: messageLocalization.format(\"dxDiagram-commandSnapToGrid\"),\r\n widget: \"dxCheckBox\"\r\n },\r\n gridSize: {\r\n command: DiagramCommand.GridSize,\r\n hint: messageLocalization.format(\"dxDiagram-commandGridSize\"),\r\n text: messageLocalization.format(\"dxDiagram-commandGridSize\"),\r\n widget: \"dxSelectBox\"\r\n },\r\n pageSize: {\r\n command: DiagramCommand.PageSize,\r\n hint: messageLocalization.format(\"dxDiagram-commandPageSize\"),\r\n text: messageLocalization.format(\"dxDiagram-commandPageSize\"),\r\n widget: \"dxSelectBox\",\r\n cssClass: CSS_CLASSES.LARGE_EDITOR_ITEM,\r\n getCommandValue: v => JSON.parse(v),\r\n getEditorValue: v => JSON.stringify(v)\r\n },\r\n pageOrientation: {\r\n command: DiagramCommand.PageLandscape,\r\n hint: messageLocalization.format(\"dxDiagram-commandPageOrientation\"),\r\n text: messageLocalization.format(\"dxDiagram-commandPageOrientation\"),\r\n widget: \"dxSelectBox\",\r\n items: [{\r\n value: true,\r\n text: messageLocalization.format(\"dxDiagram-commandPageOrientationLandscape\")\r\n }, {\r\n value: false,\r\n text: messageLocalization.format(\"dxDiagram-commandPageOrientationPortrait\")\r\n }],\r\n cssClass: CSS_CLASSES.MEDIUM_EDITOR_ITEM\r\n },\r\n pageColor: {\r\n command: DiagramCommand.PageColor,\r\n hint: messageLocalization.format(\"dxDiagram-commandPageColor\"),\r\n text: messageLocalization.format(\"dxDiagram-commandPageColor\"),\r\n widget: \"dxColorBox\",\r\n icon: \"dx-diagram-i dx-diagram-i-button-fill\",\r\n menuIcon: \"dx-diagram-i dx-diagram-i-menu-fill\",\r\n cssClass: CSS_CLASSES.COLOR_EDITOR_ITEM\r\n },\r\n zoomLevel: {\r\n command: DiagramCommand.ZoomLevel,\r\n hint: messageLocalization.format(\"dxDiagram-commandZoomLevel\"),\r\n text: messageLocalization.format(\"dxDiagram-commandZoomLevel\"),\r\n widget: \"dxTextBox\",\r\n items: [SEPARATOR_COMMAND, {\r\n command: DiagramCommand.FitToScreen,\r\n hint: messageLocalization.format(\"dxDiagram-commandFitToContent\"),\r\n text: messageLocalization.format(\"dxDiagram-commandFitToContent\")\r\n }, {\r\n command: DiagramCommand.FitToWidth,\r\n hint: messageLocalization.format(\"dxDiagram-commandFitToWidth\"),\r\n text: messageLocalization.format(\"dxDiagram-commandFitToWidth\")\r\n }, SEPARATOR_COMMAND, {\r\n command: DiagramCommand.AutoZoomToContent,\r\n hint: messageLocalization.format(\"dxDiagram-commandAutoZoomByContent\"),\r\n text: messageLocalization.format(\"dxDiagram-commandAutoZoomByContent\")\r\n }, {\r\n command: DiagramCommand.AutoZoomToWidth,\r\n hint: messageLocalization.format(\"dxDiagram-commandAutoZoomByWidth\"),\r\n text: messageLocalization.format(\"dxDiagram-commandAutoZoomByWidth\")\r\n }],\r\n getEditorDisplayValue: v => Math.round(100 * v) + \"%\",\r\n cssClass: CSS_CLASSES.SMALL_EDITOR_ITEM\r\n },\r\n toolbox: {\r\n command: this.SHOW_TOOLBOX_COMMAND_NAME,\r\n iconChecked: \"dx-diagram-i dx-diagram-i-button-toolbox-close\",\r\n iconUnchecked: \"dx-diagram-i dx-diagram-i-button-toolbox-open\",\r\n hint: messageLocalization.format(\"dxDiagram-uiShowToolbox\"),\r\n text: messageLocalization.format(\"dxDiagram-uiShowToolbox\")\r\n },\r\n propertiesPanel: {\r\n command: this.SHOW_PROPERTIES_PANEL_COMMAND_NAME,\r\n iconChecked: \"close\",\r\n iconUnchecked: \"dx-diagram-i dx-diagram-i-button-properties-panel-open\",\r\n hint: messageLocalization.format(\"dxDiagram-uiProperties\"),\r\n text: messageLocalization.format(\"dxDiagram-uiProperties\")\r\n }\r\n })\r\n },\r\n getMainToolbarCommands: function(commands, excludeCommands) {\r\n var allCommands = this.getAllCommands();\r\n var mainToolbarCommands = commands ? this._getPreparedCommands(allCommands, commands) : this._getDefaultMainToolbarCommands(allCommands);\r\n return this._prepareToolbarCommands(mainToolbarCommands, excludeCommands)\r\n },\r\n _getDefaultMainToolbarCommands: function(allCommands) {\r\n return this._defaultMainToolbarCommands || (this._defaultMainToolbarCommands = [allCommands.undo, allCommands.redo, allCommands.separator, allCommands.fontName, allCommands.fontSize, allCommands.bold, allCommands.italic, allCommands.underline, allCommands.separator, allCommands.lineWidth, allCommands.lineStyle, allCommands.separator, allCommands.fontColor, allCommands.lineColor, allCommands.fillColor, allCommands.separator, allCommands.textAlignLeft, allCommands.textAlignCenter, allCommands.textAlignRight, allCommands.separator, allCommands.connectorLineType, allCommands.connectorLineStart, allCommands.connectorLineEnd, allCommands.separator, {\r\n text: messageLocalization.format(\"dxDiagram-uiLayout\"),\r\n showText: \"always\",\r\n items: [{\r\n text: messageLocalization.format(\"dxDiagram-uiLayoutTree\"),\r\n items: [allCommands.layoutTreeTopToBottom, allCommands.layoutTreeBottomToTop, allCommands.layoutTreeLeftToRight, allCommands.layoutTreeRightToLeft]\r\n }, {\r\n text: messageLocalization.format(\"dxDiagram-uiLayoutLayered\"),\r\n items: [allCommands.layoutLayeredTopToBottom, allCommands.layoutLayeredBottomToTop, allCommands.layoutLayeredLeftToRight, allCommands.layoutLayeredRightToLeft]\r\n }]\r\n }])\r\n },\r\n getHistoryToolbarCommands: function(commands, excludeCommands) {\r\n var allCommands = this.getAllCommands();\r\n var historyToolbarCommands = commands ? this._getPreparedCommands(allCommands, commands) : this._getDefaultHistoryToolbarCommands(allCommands);\r\n return this._prepareToolbarCommands(historyToolbarCommands, excludeCommands)\r\n },\r\n _getDefaultHistoryToolbarCommands: function(allCommands) {\r\n return this._defaultHistoryToolbarCommands || (this._defaultHistoryToolbarCommands = [allCommands.undo, allCommands.redo, allCommands.separator, allCommands.toolbox])\r\n },\r\n getViewToolbarCommands: function(commands, excludeCommands) {\r\n var allCommands = this.getAllCommands();\r\n var viewToolbarCommands = commands ? this._getPreparedCommands(allCommands, commands) : this._getDefaultViewToolbarCommands(allCommands);\r\n return this._prepareToolbarCommands(viewToolbarCommands, excludeCommands)\r\n },\r\n _getDefaultViewToolbarCommands: function(allCommands) {\r\n return this._defaultViewToolbarCommands || (this._defaultViewToolbarCommands = [allCommands.zoomLevel, allCommands.separator, allCommands.fullScreen, allCommands.separator, {\r\n widget: \"dxButton\",\r\n icon: \"export\",\r\n text: messageLocalization.format(\"dxDiagram-uiExport\"),\r\n hint: messageLocalization.format(\"dxDiagram-uiExport\"),\r\n items: [allCommands.exportSvg, allCommands.exportPng, allCommands.exportJpg]\r\n }, {\r\n icon: \"preferences\",\r\n hint: messageLocalization.format(\"dxDiagram-uiSettings\"),\r\n text: messageLocalization.format(\"dxDiagram-uiSettings\"),\r\n items: [allCommands.units, allCommands.separator, allCommands.showGrid, allCommands.snapToGrid, allCommands.gridSize, allCommands.separator, allCommands.simpleView, allCommands.toolbox]\r\n }])\r\n },\r\n getPropertiesToolbarCommands: function(commands, excludeCommands) {\r\n var allCommands = this.getAllCommands();\r\n var propertiesCommands = commands ? this._getPreparedCommands(allCommands, commands) : this._getDefaultPropertiesToolbarCommands(allCommands);\r\n return this._prepareToolbarCommands(propertiesCommands, excludeCommands)\r\n },\r\n _getDefaultPropertiesToolbarCommands: function(allCommands) {\r\n return this._defaultPropertiesToolbarCommands || (this._defaultPropertiesToolbarCommands = [allCommands.propertiesPanel])\r\n },\r\n _getDefaultPropertyPanelCommandGroups: function() {\r\n return this._defaultPropertyPanelCommandGroups || (this._defaultPropertyPanelCommandGroups = [{\r\n title: messageLocalization.format(\"dxDiagram-uiStyle\"),\r\n groups: [{\r\n title: messageLocalization.format(\"dxDiagram-uiText\"),\r\n commands: [\"fontName\", \"fontSize\", \"bold\", \"italic\", \"underline\", \"textAlignLeft\", \"textAlignCenter\", \"textAlignRight\", \"fontColor\"]\r\n }, {\r\n title: messageLocalization.format(\"dxDiagram-uiObject\"),\r\n commands: [\"lineStyle\", \"lineWidth\", \"lineColor\", \"fillColor\"]\r\n }, {\r\n title: messageLocalization.format(\"dxDiagram-uiConnector\"),\r\n commands: [\"connectorLineType\", \"connectorLineStart\", \"connectorLineEnd\"]\r\n }]\r\n }, {\r\n title: messageLocalization.format(\"dxDiagram-uiLayout\"),\r\n groups: [{\r\n title: messageLocalization.format(\"dxDiagram-uiLayoutLayered\"),\r\n commands: [\"layoutLayeredTopToBottom\", \"layoutLayeredBottomToTop\", \"layoutLayeredLeftToRight\", \"layoutLayeredRightToLeft\"]\r\n }, {\r\n title: messageLocalization.format(\"dxDiagram-uiLayoutTree\"),\r\n commands: [\"layoutTreeTopToBottom\", \"layoutTreeBottomToTop\", \"layoutTreeLeftToRight\", \"layoutTreeRightToLeft\"]\r\n }]\r\n }, {\r\n title: messageLocalization.format(\"dxDiagram-uiDiagram\"),\r\n groups: [{\r\n title: messageLocalization.format(\"dxDiagram-uiPage\"),\r\n commands: [\"pageSize\", \"pageOrientation\", \"pageColor\"]\r\n }]\r\n }])\r\n },\r\n _preparePropertyPanelGroups: function(groups) {\r\n var allCommands = this.getAllCommands();\r\n var result = [];\r\n groups.forEach(g => {\r\n var commands = g.commands;\r\n if (commands) {\r\n commands = this._getPreparedCommands(allCommands, commands);\r\n commands = this._prepareToolbarCommands(commands)\r\n }\r\n var subGroups;\r\n if (g.groups) {\r\n subGroups = [];\r\n g.groups.forEach(sg => {\r\n var subCommands = sg.commands;\r\n if (subCommands) {\r\n subCommands = this._getPreparedCommands(allCommands, subCommands);\r\n subCommands = this._prepareToolbarCommands(subCommands)\r\n }\r\n subGroups.push({\r\n title: sg.title,\r\n commands: subCommands\r\n })\r\n })\r\n }\r\n result.push({\r\n title: g.title,\r\n commands: commands,\r\n groups: subGroups\r\n })\r\n });\r\n return result\r\n },\r\n getPropertyPanelCommandTabs: function(commandGroups) {\r\n commandGroups = commandGroups || this._getDefaultPropertyPanelCommandGroups();\r\n return this._preparePropertyPanelGroups(commandGroups)\r\n },\r\n getContextMenuCommands: function(commands) {\r\n var allCommands = this.getAllCommands();\r\n var contextMenuCommands = commands ? this._getPreparedCommands(allCommands, commands) : this._getDefaultContextMenuCommands(allCommands);\r\n return this._prepareContextMenuCommands(contextMenuCommands)\r\n },\r\n _getDefaultContextMenuCommands: function(allCommands) {\r\n return this._defaultContextMenuCommands || (this._defaultContextMenuCommands = [allCommands.cut, allCommands.copy, allCommands.paste, allCommands.delete, allCommands.separator, allCommands.selectAll, allCommands.separator, allCommands.bringToFront, allCommands.sendToBack, allCommands.separator, allCommands.lock, allCommands.unlock, allCommands.separator, allCommands.insertShapeImage, allCommands.editShapeImage, allCommands.deleteShapeImage])\r\n },\r\n _getPreparedCommands(allCommands, commands) {\r\n return commands.map(c => {\r\n if (c.widget && c.widget === SEPARATOR) {\r\n var command = {\r\n command: c,\r\n location: c.location\r\n };\r\n return command\r\n } else if (allCommands[c]) {\r\n return allCommands[c]\r\n } else if (c.text || c.icon || c.name) {\r\n var internalCommand = c.name && allCommands[c.name];\r\n var _command = {\r\n command: internalCommand && internalCommand.command,\r\n name: c.name,\r\n location: c.location,\r\n text: c.text || internalCommand && internalCommand.text,\r\n hint: c.text || internalCommand && internalCommand.hint,\r\n icon: c.icon || internalCommand && internalCommand.icon,\r\n menuIcon: c.icon || internalCommand && internalCommand.menuIcon,\r\n widget: internalCommand && internalCommand.widget,\r\n cssClass: internalCommand && internalCommand.cssClass,\r\n getParameter: internalCommand && internalCommand.getParameter,\r\n getCommandValue: internalCommand && internalCommand.getCommandValue,\r\n getEditorValue: internalCommand && internalCommand.getEditorValue,\r\n getEditorDisplayValue: internalCommand && internalCommand.getEditorDisplayValue,\r\n iconChecked: internalCommand && internalCommand.iconChecked,\r\n iconUnchecked: internalCommand && internalCommand.iconUnchecked\r\n };\r\n if (Array.isArray(c.items)) {\r\n _command.items = this._getPreparedCommands(allCommands, c.items)\r\n } else {\r\n _command.items = internalCommand && internalCommand.items\r\n }\r\n return _command\r\n }\r\n }).filter(c => c)\r\n },\r\n _prepareContextMenuCommands(commands, excludeCommands, rootCommand) {\r\n var beginGroup = false;\r\n return commands.map(c => {\r\n if (!this._isValidCommand(c, excludeCommands)) {\r\n return\r\n }\r\n if (c.widget && c.widget === SEPARATOR) {\r\n beginGroup = true\r\n } else {\r\n var command = this._cloneCommand(c, excludeCommands);\r\n command.icon = command.menuIcon;\r\n command.beginGroup = beginGroup;\r\n command.rootCommand = !command.command ? rootCommand && rootCommand.command : void 0;\r\n beginGroup = false;\r\n return command\r\n }\r\n }).filter(c => c)\r\n },\r\n _prepareToolbarCommands(commands, excludeCommands) {\r\n return commands.map(c => {\r\n if (this._isValidCommand(c, excludeCommands)) {\r\n return this._cloneCommand(c, excludeCommands)\r\n }\r\n }).filter(c => c).filter((c, index, arr) => {\r\n if (c.widget === SEPARATOR && index === arr.length - 1) {\r\n return false\r\n }\r\n return c\r\n })\r\n },\r\n _cloneCommand(c, excludeCommands) {\r\n var command = extend({}, c);\r\n if (Array.isArray(c.items)) {\r\n command.items = this._prepareContextMenuCommands(c.items, excludeCommands, command)\r\n }\r\n return command\r\n },\r\n _isValidCommand(c, excludeCommands) {\r\n excludeCommands = excludeCommands || [];\r\n return -1 === excludeCommands.indexOf(c.command)\r\n },\r\n _exportTo(widget, dataURI, format, mimeString) {\r\n var window = getWindow();\r\n if (window && window.atob && isFunction(window.Blob)) {\r\n var blob = this._getBlobByDataURI(window, dataURI, mimeString);\r\n var options = widget.option(\"export\");\r\n fileSaver.saveAs(options.fileName || \"foo\", format, blob)\r\n }\r\n },\r\n _getBlobByDataURI(window, dataURI, mimeString) {\r\n var byteString = window.atob(dataURI.split(\",\")[1]);\r\n var ia = new Uint8Array(byteString.length);\r\n for (var i = 0; i < byteString.length; i++) {\r\n ia[i] = byteString.charCodeAt(i)\r\n }\r\n return new window.Blob([ia.buffer], {\r\n type: mimeString\r\n })\r\n }\r\n};\r\nexport default DiagramCommandsManager;\r\n","/**\r\n * DevExtreme (esm/ui/diagram/ui.diagram.main_toolbar.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport DiagramToolbar from \"./ui.diagram.toolbar\";\r\nimport DiagramCommandsManager from \"./diagram.commands_manager\";\r\nclass DiagramMainToolbar extends DiagramToolbar {\r\n _getCommands() {\r\n return DiagramCommandsManager.getMainToolbarCommands(this.option(\"commands\"), this.option(\"excludeCommands\"))\r\n }\r\n}\r\nexport default DiagramMainToolbar;\r\n","/**\r\n * DevExtreme (esm/ui/diagram/ui.diagram.history_toolbar.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport DiagramToolbar from \"./ui.diagram.toolbar\";\r\nimport DiagramCommandsManager from \"./diagram.commands_manager\";\r\nclass DiagramHistoryToolbar extends DiagramToolbar {\r\n _getCommands() {\r\n return DiagramCommandsManager.getHistoryToolbarCommands(this.option(\"commands\"), this._getExcludeCommands())\r\n }\r\n _getExcludeCommands() {\r\n var commands = [].concat(this.option(\"excludeCommands\"));\r\n if (!this.option(\"isMobileView\")) {\r\n commands.push(DiagramCommandsManager.SHOW_TOOLBOX_COMMAND_NAME)\r\n }\r\n return commands\r\n }\r\n}\r\nexport default DiagramHistoryToolbar;\r\n","/**\r\n * DevExtreme (esm/ui/diagram/ui.diagram.view_toolbar.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport DiagramToolbar from \"./ui.diagram.toolbar\";\r\nimport DiagramCommandsManager from \"./diagram.commands_manager\";\r\nclass DiagramViewToolbar extends DiagramToolbar {\r\n _getCommands() {\r\n return DiagramCommandsManager.getViewToolbarCommands(this.option(\"commands\"), this.option(\"excludeCommands\"))\r\n }\r\n}\r\nexport default DiagramViewToolbar;\r\n","/**\r\n * DevExtreme (esm/ui/diagram/ui.diagram.properties_toolbar.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport DiagramToolbar from \"./ui.diagram.toolbar\";\r\nimport DiagramCommandsManager from \"./diagram.commands_manager\";\r\nclass DiagramPropertiesToolbar extends DiagramToolbar {\r\n _getCommands() {\r\n return DiagramCommandsManager.getPropertiesToolbarCommands()\r\n }\r\n}\r\nexport default DiagramPropertiesToolbar;\r\n","/**\r\n * DevExtreme (esm/ui/diagram/ui.diagram.context_menu.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport ContextMenu from \"../context_menu\";\r\nimport DiagramCommandsManager from \"./diagram.commands_manager\";\r\nimport DiagramMenuHelper from \"./ui.diagram.menu_helper\";\r\nimport DiagramBar from \"./diagram.bar\";\r\nimport {\r\n getDiagram\r\n} from \"./diagram.importer\";\r\nvar DIAGRAM_TOUCHBAR_CLASS = \"dx-diagram-touchbar\";\r\nvar DIAGRAM_TOUCHBAR_OVERLAY_CLASS = \"dx-diagram-touchbar-overlay\";\r\nvar DIAGRAM_TOUCHBAR_TARGET_CLASS = \"dx-diagram-touchbar-target\";\r\nvar DIAGRAM_TOUCHBAR_MIN_UNWRAPPED_WIDTH = 800;\r\nvar DIAGRAM_TOUCHBAR_Y_OFFSET = 32;\r\nclass DiagramContextMenuWrapper extends Widget {\r\n _init() {\r\n super._init();\r\n this._createOnVisibilityChangingAction();\r\n this._createOnInternalCommand();\r\n this._createOnCustomCommand();\r\n this._createOnItemClickAction();\r\n this._tempState = void 0;\r\n this._commands = [];\r\n this._commandToIndexMap = {};\r\n this.bar = new DiagramContextMenuBar(this)\r\n }\r\n _initMarkup() {\r\n super._initMarkup();\r\n this._commands = this._getCommands();\r\n this._commandToIndexMap = {};\r\n this._fillCommandToIndexMap(this._commands, []);\r\n this._$contextMenuTargetElement = $(\"<div>\").addClass(DIAGRAM_TOUCHBAR_TARGET_CLASS).appendTo(this.$element());\r\n var $contextMenu = $(\"<div>\").appendTo(this.$element());\r\n this._contextMenuInstance = this._createComponent($contextMenu, DiagramContextMenu, {\r\n isTouchBarMode: this._isTouchBarMode(),\r\n cssClass: this._isTouchBarMode() ? DIAGRAM_TOUCHBAR_CLASS : DiagramMenuHelper.getContextMenuCssClass(),\r\n hideOnOutsideClick: false,\r\n showEvent: \"\",\r\n focusStateEnabled: false,\r\n items: this._commands,\r\n position: this._isTouchBarMode() ? {\r\n my: {\r\n x: \"center\",\r\n y: \"bottom\"\r\n },\r\n at: {\r\n x: \"center\",\r\n y: \"top\"\r\n },\r\n of: this._$contextMenuTargetElement\r\n } : {},\r\n itemTemplate: function(itemData, itemIndex, itemElement) {\r\n DiagramMenuHelper.getContextMenuItemTemplate(this, itemData, itemIndex, itemElement)\r\n },\r\n onItemClick: _ref => {\r\n var {\r\n itemData: itemData\r\n } = _ref;\r\n return this._onItemClick(itemData)\r\n },\r\n onShowing: e => {\r\n if (true === this._inOnShowing) {\r\n return\r\n }\r\n this._inOnShowing = true;\r\n this._onVisibilityChangingAction({\r\n visible: true,\r\n component: this\r\n });\r\n e.component.option(\"items\", e.component.option(\"items\"));\r\n delete this._inOnShowing\r\n }\r\n })\r\n }\r\n _show(x, y, selection) {\r\n this._contextMenuInstance.hide();\r\n if (this._isTouchBarMode()) {\r\n this._$contextMenuTargetElement.show();\r\n if (!selection) {\r\n selection = {\r\n x: x,\r\n y: y,\r\n width: 0,\r\n height: 0\r\n }\r\n }\r\n var widthCorrection = selection.width > DIAGRAM_TOUCHBAR_MIN_UNWRAPPED_WIDTH ? 0 : (DIAGRAM_TOUCHBAR_MIN_UNWRAPPED_WIDTH - selection.width) / 2;\r\n this._$contextMenuTargetElement.css({\r\n left: selection.x - widthCorrection,\r\n top: selection.y - DIAGRAM_TOUCHBAR_Y_OFFSET,\r\n width: selection.width + 2 * widthCorrection,\r\n height: selection.height + 2 * DIAGRAM_TOUCHBAR_Y_OFFSET\r\n });\r\n this._contextMenuInstance.show()\r\n } else {\r\n this._contextMenuInstance.option(\"position\", {\r\n offset: x + \" \" + y\r\n });\r\n this._contextMenuInstance.show()\r\n }\r\n }\r\n _hide() {\r\n this._$contextMenuTargetElement.hide();\r\n this._contextMenuInstance.hide()\r\n }\r\n _isTouchBarMode() {\r\n var {\r\n Browser: Browser\r\n } = getDiagram();\r\n return Browser.TouchUI\r\n }\r\n _onItemClick(itemData) {\r\n var processed = false;\r\n if (this._onItemClickAction) {\r\n processed = this._onItemClickAction(itemData)\r\n }\r\n if (!processed) {\r\n DiagramMenuHelper.onContextMenuItemClick(this, itemData, this._executeCommand.bind(this));\r\n this._contextMenuInstance.hide()\r\n }\r\n }\r\n _executeCommand(command, name, value) {\r\n if (\"number\" === typeof command) {\r\n this.bar.raiseBarCommandExecuted(command, value)\r\n } else if (\"string\" === typeof command) {\r\n this._onInternalCommandAction({\r\n command: command\r\n })\r\n }\r\n if (void 0 !== name) {\r\n this._onCustomCommandAction({\r\n name: name\r\n })\r\n }\r\n }\r\n _createOnInternalCommand() {\r\n this._onInternalCommandAction = this._createActionByOption(\"onInternalCommand\")\r\n }\r\n _createOnCustomCommand() {\r\n this._onCustomCommandAction = this._createActionByOption(\"onCustomCommand\")\r\n }\r\n _getCommands() {\r\n return DiagramCommandsManager.getContextMenuCommands(this.option(\"commands\"))\r\n }\r\n _fillCommandToIndexMap(commands, indexPath) {\r\n commands.forEach((command, index) => {\r\n var commandIndexPath = indexPath.concat([index]);\r\n if (void 0 !== command.command) {\r\n this._commandToIndexMap[command.command] = commandIndexPath\r\n }\r\n if (Array.isArray(command.items)) {\r\n this._fillCommandToIndexMap(command.items, commandIndexPath)\r\n }\r\n })\r\n }\r\n _setItemEnabled(key, enabled) {\r\n this._setItemVisible(key, enabled)\r\n }\r\n _setItemVisible(key, visible) {\r\n var itemOptionText = DiagramMenuHelper.getItemOptionText(this._contextMenuInstance, this._commandToIndexMap[key]);\r\n DiagramMenuHelper.updateContextMenuItemVisible(this._contextMenuInstance, itemOptionText, visible)\r\n }\r\n _setItemValue(key, value) {\r\n var itemOptionText = DiagramMenuHelper.getItemOptionText(this._contextMenuInstance, this._commandToIndexMap[key]);\r\n DiagramMenuHelper.updateContextMenuItemValue(this._contextMenuInstance, itemOptionText, key, value)\r\n }\r\n _setItemSubItems(key, items) {\r\n var itemOptionText = DiagramMenuHelper.getItemOptionText(this._contextMenuInstance, this._commandToIndexMap[key]);\r\n DiagramMenuHelper.updateContextMenuItems(this._contextMenuInstance, itemOptionText, key, items)\r\n }\r\n _setEnabled(enabled) {\r\n this._contextMenuInstance.option(\"disabled\", !enabled)\r\n }\r\n isVisible() {\r\n return this._inOnShowing\r\n }\r\n _createOnVisibilityChangingAction() {\r\n this._onVisibilityChangingAction = this._createActionByOption(\"onVisibilityChanging\")\r\n }\r\n _createOnItemClickAction() {\r\n this._onItemClickAction = this._createActionByOption(\"onItemClick\")\r\n }\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"onVisibilityChanging\":\r\n this._createOnVisibilityChangingAction();\r\n break;\r\n case \"onInternalCommand\":\r\n this._createOnInternalCommand();\r\n break;\r\n case \"onCustomCommand\":\r\n this._createOnCustomCommand();\r\n break;\r\n case \"onItemClick\":\r\n this._createOnItemClickAction();\r\n break;\r\n case \"commands\":\r\n this._invalidate();\r\n break;\r\n case \"export\":\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n}\r\nclass DiagramContextMenu extends ContextMenu {\r\n _renderContextMenuOverlay() {\r\n super._renderContextMenuOverlay();\r\n if (this._overlay && this.option(\"isTouchBarMode\")) {\r\n this._overlay && this._overlay.option(\"onShown\", () => {\r\n var $content = $(this._overlay.$content());\r\n $content.parent().addClass(DIAGRAM_TOUCHBAR_OVERLAY_CLASS)\r\n })\r\n }\r\n }\r\n}\r\nclass DiagramContextMenuBar extends DiagramBar {\r\n constructor(owner) {\r\n super(owner)\r\n }\r\n getCommandKeys() {\r\n return this._getKeys(this._owner._commands)\r\n }\r\n setItemValue(key, value) {\r\n this._owner._setItemValue(key, value)\r\n }\r\n setItemEnabled(key, enabled) {\r\n this._owner._setItemEnabled(key, enabled)\r\n }\r\n setItemVisible(key, visible) {\r\n this._owner._setItemVisible(key, visible)\r\n }\r\n setItemSubItems(key, items) {\r\n this._owner._setItemSubItems(key, items)\r\n }\r\n setEnabled(enabled) {\r\n this._owner._setEnabled(enabled)\r\n }\r\n isVisible() {\r\n return this._owner.isVisible()\r\n }\r\n}\r\nexport default {\r\n DiagramContextMenuWrapper: DiagramContextMenuWrapper,\r\n DiagramContextMenu: DiagramContextMenu\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/diagram/ui.diagram.context_toolbox.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport Popover from \"../popover/ui.popover\";\r\nimport {\r\n getDiagram\r\n} from \"./diagram.importer\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar DIAGRAM_CONTEXT_TOOLBOX_TARGET_CLASS = \"dx-diagram-context-toolbox-target\";\r\nvar DIAGRAM_CONTEXT_TOOLBOX_CLASS = \"dx-diagram-context-toolbox\";\r\nvar DIAGRAM_TOUCH_CONTEXT_TOOLBOX_CLASS = \"dx-diagram-touch-context-toolbox\";\r\nvar DIAGRAM_CONTEXT_TOOLBOX_CONTENT_CLASS = \"dx-diagram-context-toolbox-content\";\r\nclass DiagramContextToolbox extends Widget {\r\n _init() {\r\n super._init();\r\n this._onShownAction = this._createActionByOption(\"onShown\");\r\n this._popoverPositionData = [{\r\n my: {\r\n x: \"center\",\r\n y: \"top\"\r\n },\r\n at: {\r\n x: \"center\",\r\n y: \"bottom\"\r\n },\r\n offset: {\r\n x: 0,\r\n y: 5\r\n }\r\n }, {\r\n my: {\r\n x: \"right\",\r\n y: \"center\"\r\n },\r\n at: {\r\n x: \"left\",\r\n y: \"center\"\r\n },\r\n offset: {\r\n x: -5,\r\n y: 0\r\n }\r\n }, {\r\n my: {\r\n x: \"center\",\r\n y: \"bottom\"\r\n },\r\n at: {\r\n x: \"center\",\r\n y: \"top\"\r\n },\r\n offset: {\r\n x: 0,\r\n y: -5\r\n }\r\n }, {\r\n my: {\r\n x: \"left\",\r\n y: \"center\"\r\n },\r\n at: {\r\n x: \"right\",\r\n y: \"center\"\r\n },\r\n offset: {\r\n x: 5,\r\n y: 0\r\n }\r\n }]\r\n }\r\n _initMarkup() {\r\n super._initMarkup();\r\n this._$popoverTargetElement = $(\"<div>\").addClass(DIAGRAM_CONTEXT_TOOLBOX_TARGET_CLASS).appendTo(this.$element());\r\n var $popoverElement = $(\"<div>\").appendTo(this.$element());\r\n var popoverClass = DIAGRAM_CONTEXT_TOOLBOX_CLASS;\r\n if (this._isTouchMode()) {\r\n popoverClass += \" \" + DIAGRAM_TOUCH_CONTEXT_TOOLBOX_CLASS\r\n }\r\n this._popoverInstance = this._createComponent($popoverElement, Popover, {\r\n hideOnOutsideClick: false,\r\n container: this.$element()\r\n });\r\n this._popoverInstance.$element().addClass(popoverClass)\r\n }\r\n _isTouchMode() {\r\n var {\r\n Browser: Browser\r\n } = getDiagram();\r\n return Browser.TouchUI\r\n }\r\n _show(x, y, side, category, callback) {\r\n this._popoverInstance.hide();\r\n var $content = $(\"<div>\").addClass(DIAGRAM_CONTEXT_TOOLBOX_CONTENT_CLASS);\r\n if (void 0 !== this.option(\"toolboxWidth\")) {\r\n $content.css(\"width\", this.option(\"toolboxWidth\"))\r\n }\r\n this._$popoverTargetElement.css({\r\n left: x + this._popoverPositionData[side].offset.x,\r\n top: y + this._popoverPositionData[side].offset.y\r\n }).show();\r\n var window = getWindow();\r\n var targetDiv = this._$popoverTargetElement.get(0);\r\n this._$popoverTargetElement.css({\r\n left: targetDiv.offsetLeft - (targetDiv.getBoundingClientRect().left + window.scrollX - targetDiv.offsetLeft),\r\n top: targetDiv.offsetTop - (targetDiv.getBoundingClientRect().top + window.scrollY - targetDiv.offsetTop)\r\n });\r\n this._popoverInstance.option({\r\n position: {\r\n my: this._popoverPositionData[side].my,\r\n at: this._popoverPositionData[side].at,\r\n of: this._$popoverTargetElement\r\n },\r\n contentTemplate: $content,\r\n onContentReady: function() {\r\n var $element = this.$element().find(\".\" + DIAGRAM_CONTEXT_TOOLBOX_CONTENT_CLASS);\r\n this._onShownAction({\r\n category: category,\r\n callback: callback,\r\n $element: $element,\r\n hide: () => this._popoverInstance.hide()\r\n })\r\n }.bind(this)\r\n });\r\n this._popoverInstance.show()\r\n }\r\n _hide() {\r\n this._$popoverTargetElement.hide();\r\n this._popoverInstance.hide()\r\n }\r\n}\r\nexport default DiagramContextToolbox;\r\n","/**\r\n * DevExtreme (esm/ui/diagram/ui.diagram.dialogs.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport Popup from \"../popup/ui.popup\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nclass DiagramDialog extends Widget {\r\n _init() {\r\n super._init();\r\n this._command = void 0;\r\n this._isShown = false;\r\n this._createOnGetContentOption();\r\n this._createOnHiddenOption()\r\n }\r\n _initMarkup() {\r\n super._initMarkup();\r\n this._command = this.option(\"command\");\r\n this._$popupElement = $(\"<div>\").appendTo(this.$element());\r\n this._popup = this._createComponent(this._$popupElement, Popup, {\r\n title: this.option(\"title\"),\r\n maxWidth: this.option(\"maxWidth\"),\r\n height: this.option(\"height\"),\r\n toolbarItems: this.option(\"toolbarItems\"),\r\n onHidden: this._onHiddenAction\r\n })\r\n }\r\n _clean() {\r\n delete this._popup;\r\n this._$popupElement && this._$popupElement.remove()\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n title: \"\",\r\n maxWidth: 500,\r\n height: \"auto\",\r\n toolbarItems: this._getToolbarItems()\r\n })\r\n }\r\n _getToolbarItems() {\r\n return [this._getOkToolbarItem(), this._getCancelToolbarItem()]\r\n }\r\n _getOkToolbarItem() {\r\n return {\r\n widget: \"dxButton\",\r\n location: \"after\",\r\n toolbar: \"bottom\",\r\n options: {\r\n text: messageLocalization.format(\"dxDiagram-dialogButtonOK\"),\r\n onClick: function() {\r\n this._command.execute(this._commandParameter);\r\n this._hide()\r\n }.bind(this)\r\n }\r\n }\r\n }\r\n _getCancelToolbarItem() {\r\n return {\r\n widget: \"dxButton\",\r\n location: \"after\",\r\n toolbar: \"bottom\",\r\n options: {\r\n text: messageLocalization.format(\"dxDiagram-dialogButtonCancel\"),\r\n onClick: this._hide.bind(this)\r\n }\r\n }\r\n }\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"title\":\r\n case \"maxWidth\":\r\n case \"height\":\r\n case \"toolbarItems\":\r\n this._popup.option(args.name, args.value);\r\n break;\r\n case \"command\":\r\n this._command = args.value;\r\n break;\r\n case \"onGetContent\":\r\n this._createOnGetContentOption();\r\n break;\r\n case \"onHidden\":\r\n this._createOnHiddenOption();\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _createOnGetContentOption() {\r\n this._onGetContentAction = this._createActionByOption(\"onGetContent\")\r\n }\r\n _createOnHiddenOption() {\r\n this._onHiddenAction = this._createActionByOption(\"onHidden\")\r\n }\r\n _hide() {\r\n this._popup.hide();\r\n this._isShown = false\r\n }\r\n _show() {\r\n this._popup.$content().empty().append(this._onGetContentAction());\r\n this._popup.show();\r\n this._isShown = true\r\n }\r\n isVisible() {\r\n return this._isShown\r\n }\r\n}\r\nexport default DiagramDialog;\r\n","/**\r\n * DevExtreme (esm/ui/diagram/ui.diagram.scroll_view.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport ScrollView from \"../scroll_view\";\r\nimport {\r\n calculateScrollbarWidth\r\n} from \"../../__internal/grids/pivot_grid/m_widget_utils\";\r\nimport {\r\n getDiagram\r\n} from \"./diagram.importer\";\r\nclass DiagramScrollView extends Widget {\r\n _init() {\r\n super._init();\r\n var {\r\n EventDispatcher: EventDispatcher\r\n } = getDiagram();\r\n this.onScroll = new EventDispatcher;\r\n this._createOnCreateDiagramAction()\r\n }\r\n _initMarkup() {\r\n super._initMarkup();\r\n var $scrollViewWrapper = $(\"<div>\").appendTo(this.$element());\r\n var options = {\r\n direction: \"both\",\r\n bounceEnabled: false,\r\n scrollByContent: false,\r\n onScroll: _ref => {\r\n var {\r\n scrollOffset: scrollOffset\r\n } = _ref;\r\n this._raiseOnScroll(scrollOffset.left, scrollOffset.top)\r\n }\r\n };\r\n var useNativeScrolling = this.option(\"useNativeScrolling\");\r\n if (void 0 !== useNativeScrolling) {\r\n options.useNative = useNativeScrolling\r\n }\r\n this._scrollView = this._createComponent($scrollViewWrapper, ScrollView, options);\r\n this._onCreateDiagramAction({\r\n $parent: $(this._scrollView.content()),\r\n scrollView: this\r\n })\r\n }\r\n setScroll(left, top) {\r\n this._scrollView.scrollTo({\r\n left: left,\r\n top: top\r\n });\r\n this._raiseOnScrollWithoutPoint()\r\n }\r\n offsetScroll(left, top) {\r\n this._scrollView.scrollBy({\r\n left: left,\r\n top: top\r\n });\r\n this._raiseOnScrollWithoutPoint()\r\n }\r\n getSize() {\r\n var {\r\n Size: Size\r\n } = getDiagram();\r\n var $element = this._scrollView.$element();\r\n return new Size(Math.floor(getWidth($element)), Math.floor(getHeight($element)))\r\n }\r\n getScrollContainer() {\r\n return this._scrollView.$element()[0]\r\n }\r\n getScrollBarWidth() {\r\n return this.option(\"useNativeScrolling\") ? calculateScrollbarWidth() : 0\r\n }\r\n detachEvents() {}\r\n _raiseOnScroll(left, top) {\r\n var {\r\n Point: Point\r\n } = getDiagram();\r\n this.onScroll.raise(\"notifyScrollChanged\", () => new Point(left, top))\r\n }\r\n _raiseOnScrollWithoutPoint() {\r\n var {\r\n Point: Point\r\n } = getDiagram();\r\n this.onScroll.raise(\"notifyScrollChanged\", () => new Point(this._scrollView.scrollLeft(), this._scrollView.scrollTop()))\r\n }\r\n _createOnCreateDiagramAction() {\r\n this._onCreateDiagramAction = this._createActionByOption(\"onCreateDiagram\")\r\n }\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"onCreateDiagram\":\r\n this._createOnCreateDiagramAction();\r\n break;\r\n case \"useNativeScrolling\":\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n}\r\nexport default DiagramScrollView;\r\n","/**\r\n * DevExtreme (esm/ui/diagram/diagram.toolbox_manager.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport messageLocalization from \"../../localization/message\";\r\nvar DiagramToolboxManager = {\r\n getDefaultGroups() {\r\n return this._groups || (this._groups = {\r\n general: {\r\n category: \"general\",\r\n title: messageLocalization.format(\"dxDiagram-categoryGeneral\")\r\n },\r\n flowchart: {\r\n category: \"flowchart\",\r\n title: messageLocalization.format(\"dxDiagram-categoryFlowchart\")\r\n },\r\n orgChart: {\r\n category: \"orgChart\",\r\n title: messageLocalization.format(\"dxDiagram-categoryOrgChart\")\r\n },\r\n containers: {\r\n category: \"containers\",\r\n title: messageLocalization.format(\"dxDiagram-categoryContainers\")\r\n },\r\n custom: {\r\n category: \"custom\",\r\n title: messageLocalization.format(\"dxDiagram-categoryCustom\")\r\n }\r\n })\r\n },\r\n getGroups: function(groups) {\r\n var defaultGroups = this.getDefaultGroups();\r\n if (groups) {\r\n return groups.map((function(g) {\r\n if (\"string\" === typeof g) {\r\n return {\r\n category: g,\r\n title: defaultGroups[g] && defaultGroups[g].title || g\r\n }\r\n }\r\n return g\r\n })).filter((function(g) {\r\n return g\r\n }))\r\n }\r\n return [defaultGroups.general, defaultGroups.flowchart, defaultGroups.orgChart, defaultGroups.containers]\r\n }\r\n};\r\nexport default DiagramToolboxManager;\r\n","/**\r\n * DevExtreme (esm/ui/diagram/ui.diagram.floating_panel.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterHeight,\r\n getHeight,\r\n getOuterWidth,\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport Popup from \"../popup/ui.popup\";\r\nimport DiagramPanel from \"./ui.diagram.panel\";\r\nvar DIAGRAM_MOBILE_POPUP_CLASS = \"dx-diagram-mobile-popup\";\r\nclass DiagramFloatingPanel extends DiagramPanel {\r\n _init() {\r\n super._init();\r\n this._createOnVisibilityChangingAction();\r\n this._createOnVisibilityChangedAction()\r\n }\r\n isVisible() {\r\n return this.option(\"isVisible\")\r\n }\r\n isMobileView() {\r\n return this.option(\"isMobileView\")\r\n }\r\n _initMarkup() {\r\n super._initMarkup();\r\n var $parent = this.$element();\r\n var $popupElement = $(\"<div>\").addClass(this._getPopupClass()).addClass(this.isMobileView() && DIAGRAM_MOBILE_POPUP_CLASS).appendTo($parent);\r\n this._popup = this._createComponent($popupElement, Popup, this._getPopupOptions());\r\n this._updatePopupVisible()\r\n }\r\n show() {\r\n this.option(\"isVisible\", true)\r\n }\r\n hide() {\r\n this.option(\"isVisible\", false)\r\n }\r\n toggle() {\r\n this.option(\"isVisible\", !this.isVisible())\r\n }\r\n repaint() {\r\n this._popup.repaint()\r\n }\r\n _getPopupContent() {\r\n return this._popup.content()\r\n }\r\n _getPopupTitle() {\r\n var $content = $(this._getPopupContent());\r\n return $content.parent().find(\".dx-popup-title\")\r\n }\r\n _getPointerUpElements() {\r\n return [this._getPopupContent(), this._getPopupTitle()]\r\n }\r\n _getVerticalPaddingsAndBorders() {\r\n var $content = $(this._getPopupContent());\r\n return getOuterHeight($content) - getHeight($content)\r\n }\r\n _getHorizontalPaddingsAndBorders() {\r\n var $content = $(this._getPopupContent());\r\n return getOuterWidth($content) - getWidth($content)\r\n }\r\n _getPopupClass() {\r\n return \"\"\r\n }\r\n _getPopupWidth() {\r\n return this.option(\"width\") || \"auto\"\r\n }\r\n _getPopupMaxWidth() {\r\n return this.option(\"maxWidth\")\r\n }\r\n _getPopupMinWidth() {\r\n return this.option(\"minWidth\")\r\n }\r\n _getPopupHeight() {\r\n return this.option(\"height\") || \"auto\"\r\n }\r\n _getPopupMaxHeight() {\r\n return this.option(\"maxHeight\")\r\n }\r\n _getPopupMinHeight() {\r\n return this.option(\"minHeight\")\r\n }\r\n _getPopupPosition() {\r\n return {}\r\n }\r\n _getPopupContainer() {\r\n return this.option(\"container\")\r\n }\r\n _getPopupSlideAnimationObject(properties) {\r\n return extend({\r\n type: \"slide\",\r\n start: () => {\r\n $(\"body\").css(\"overflow\", \"hidden\")\r\n },\r\n complete: () => {\r\n $(\"body\").css(\"overflow\", \"\")\r\n }\r\n }, properties)\r\n }\r\n _getPopupAnimation() {\r\n return {\r\n hide: {\r\n type: \"fadeOut\"\r\n },\r\n show: {\r\n type: \"fadeIn\"\r\n }\r\n }\r\n }\r\n _getPopupOptions() {\r\n var that = this;\r\n return {\r\n animation: hasWindow() ? this._getPopupAnimation() : null,\r\n shading: false,\r\n showTitle: false,\r\n focusStateEnabled: false,\r\n container: this._getPopupContainer(),\r\n width: this._getPopupWidth(),\r\n height: this._getPopupHeight(),\r\n maxWidth: this._getPopupMaxWidth(),\r\n maxHeight: this._getPopupMaxHeight(),\r\n minWidth: this._getPopupMinWidth(),\r\n minHeight: this._getPopupMinHeight(),\r\n position: this._getPopupPosition(),\r\n showCloseButton: true,\r\n copyRootClassesToWrapper: true,\r\n _ignoreCopyRootClassesToWrapperDeprecation: true,\r\n onContentReady: function() {\r\n that._renderPopupContent(that._popup.content())\r\n },\r\n onShowing: () => {\r\n this._onVisibilityChangingAction({\r\n visible: true,\r\n component: this\r\n })\r\n },\r\n onShown: () => {\r\n this.option(\"isVisible\", true);\r\n this._onVisibilityChangedAction({\r\n visible: true,\r\n component: this\r\n })\r\n },\r\n onHiding: () => {\r\n this._onVisibilityChangingAction({\r\n visible: false,\r\n component: this\r\n })\r\n },\r\n onHidden: () => {\r\n this.option(\"isVisible\", false);\r\n this._onVisibilityChangedAction({\r\n visible: false,\r\n component: this\r\n })\r\n }\r\n }\r\n }\r\n _renderPopupContent($parent) {}\r\n _updatePopupVisible() {\r\n this._popup.option(\"visible\", this.isVisible())\r\n }\r\n _createOnVisibilityChangingAction() {\r\n this._onVisibilityChangingAction = this._createActionByOption(\"onVisibilityChanging\")\r\n }\r\n _createOnVisibilityChangedAction() {\r\n this._onVisibilityChangedAction = this._createActionByOption(\"onVisibilityChanged\")\r\n }\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"onVisibilityChanging\":\r\n this._createOnVisibilityChangingAction();\r\n break;\r\n case \"onVisibilityChanged\":\r\n this._createOnVisibilityChangedAction();\r\n break;\r\n case \"container\":\r\n this._popup.option(\"container\", this._getPopupContainer());\r\n break;\r\n case \"width\":\r\n this._popup.option(\"width\", this._getPopupWidth());\r\n break;\r\n case \"height\":\r\n this._popup.option(\"height\", this._getPopupHeight());\r\n break;\r\n case \"maxWidth\":\r\n this._popup.option(\"maxWidth\", this._getPopupMaxWidth());\r\n break;\r\n case \"maxHeight\":\r\n this._popup.option(\"maxHeight\", this._getPopupMaxHeight());\r\n break;\r\n case \"minWidth\":\r\n this._popup.option(\"minWidth\", this._getPopupMinWidth());\r\n break;\r\n case \"minHeight\":\r\n this._popup.option(\"minHeight\", this._getPopupMinHeight());\r\n break;\r\n case \"isMobileView\":\r\n this._invalidate();\r\n break;\r\n case \"isVisible\":\r\n this._updatePopupVisible();\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n isVisible: true,\r\n isMobileView: false,\r\n offsetX: 0,\r\n offsetY: 0\r\n })\r\n }\r\n}\r\nexport default DiagramFloatingPanel;\r\n","/**\r\n * DevExtreme (esm/ui/diagram/ui.diagram.toolbox.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight,\r\n setHeight,\r\n getOuterHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport TextBox from \"../text_box\";\r\nimport Accordion from \"../accordion\";\r\nimport ScrollView from \"../scroll_view\";\r\nimport Tooltip from \"../tooltip\";\r\nimport {\r\n getDiagram\r\n} from \"./diagram.importer\";\r\nimport DiagramFloatingPanel from \"./ui.diagram.floating_panel\";\r\nvar DIAGRAM_TOOLBOX_MIN_HEIGHT = 130;\r\nvar DIAGRAM_TOOLBOX_POPUP_CLASS = \"dx-diagram-toolbox-popup\";\r\nvar DIAGRAM_TOOLBOX_PANEL_CLASS = \"dx-diagram-toolbox-panel\";\r\nvar DIAGRAM_TOOLBOX_INPUT_CONTAINER_CLASS = \"dx-diagram-toolbox-input-container\";\r\nvar DIAGRAM_TOOLBOX_INPUT_CLASS = \"dx-diagram-toolbox-input\";\r\nvar DIAGRAM_TOOLTIP_DATATOGGLE = \"shape-toolbox-tooltip\";\r\nvar DIAGRAM_TOOLBOX_START_DRAG_CLASS = \".dxdi-tb-start-drag-flag\";\r\nclass DiagramToolbox extends DiagramFloatingPanel {\r\n _init() {\r\n super._init();\r\n this._toolboxes = [];\r\n this._filterText = \"\";\r\n this._createOnShapeCategoryRenderedAction();\r\n this._createOnFilterChangedAction()\r\n }\r\n _getPopupClass() {\r\n return DIAGRAM_TOOLBOX_POPUP_CLASS\r\n }\r\n _getPopupHeight() {\r\n return this.isMobileView() ? \"100%\" : super._getPopupHeight()\r\n }\r\n _getPopupMaxHeight() {\r\n return this.isMobileView() ? \"100%\" : super._getPopupMaxHeight()\r\n }\r\n _getPopupMinHeight() {\r\n return DIAGRAM_TOOLBOX_MIN_HEIGHT\r\n }\r\n _getPopupPosition() {\r\n var $parent = this.option(\"offsetParent\");\r\n var position = {\r\n my: \"left top\",\r\n at: \"left top\",\r\n of: $parent\r\n };\r\n if (!this.isMobileView()) {\r\n return extend(position, {\r\n offset: this.option(\"offsetX\") + \" \" + this.option(\"offsetY\")\r\n })\r\n }\r\n return position\r\n }\r\n _getPopupAnimation() {\r\n var $parent = this.option(\"offsetParent\");\r\n if (this.isMobileView()) {\r\n return {\r\n hide: this._getPopupSlideAnimationObject({\r\n direction: \"left\",\r\n from: {\r\n position: {\r\n my: \"left top\",\r\n at: \"left top\",\r\n of: $parent\r\n }\r\n },\r\n to: {\r\n position: {\r\n my: \"right top\",\r\n at: \"left top\",\r\n of: $parent\r\n }\r\n }\r\n }),\r\n show: this._getPopupSlideAnimationObject({\r\n direction: \"right\",\r\n from: {\r\n position: {\r\n my: \"right top\",\r\n at: \"left top\",\r\n of: $parent\r\n }\r\n },\r\n to: {\r\n position: {\r\n my: \"left top\",\r\n at: \"left top\",\r\n of: $parent\r\n }\r\n }\r\n })\r\n }\r\n }\r\n return super._getPopupAnimation()\r\n }\r\n _getPopupOptions() {\r\n var options = super._getPopupOptions();\r\n if (!this.isMobileView()) {\r\n return extend(options, {\r\n showTitle: true,\r\n toolbarItems: [{\r\n widget: \"dxButton\",\r\n location: \"center\",\r\n options: {\r\n activeStateEnabled: false,\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false,\r\n icon: \"diagram-toolbox-drag\",\r\n stylingMode: \"outlined\",\r\n type: \"normal\"\r\n }\r\n }]\r\n })\r\n }\r\n return options\r\n }\r\n _renderPopupContent($parent) {\r\n var panelHeight = \"100%\";\r\n if (this.option(\"showSearch\")) {\r\n var $inputContainer = $(\"<div>\").addClass(DIAGRAM_TOOLBOX_INPUT_CONTAINER_CLASS).appendTo($parent);\r\n this._updateElementWidth($inputContainer);\r\n this._renderSearchInput($inputContainer);\r\n if (hasWindow()) {\r\n panelHeight = \"calc(100% - \" + getHeight(this._searchInput.$element()) + \"px)\"\r\n }\r\n }\r\n var $panel = $(\"<div>\").addClass(DIAGRAM_TOOLBOX_PANEL_CLASS).appendTo($parent);\r\n setHeight($panel, panelHeight);\r\n this._updateElementWidth($panel);\r\n this._renderScrollView($panel)\r\n }\r\n _updateElementWidth($element) {\r\n if (void 0 !== this.option(\"toolboxWidth\")) {\r\n $element.css(\"width\", this.option(\"toolboxWidth\"))\r\n }\r\n }\r\n updateMaxHeight() {\r\n if (this.isMobileView()) {\r\n return\r\n }\r\n var maxHeight = 6;\r\n if (this._popup) {\r\n var $title = this._getPopupTitle();\r\n maxHeight += getOuterHeight($title)\r\n }\r\n if (this._accordion) {\r\n maxHeight += getOuterHeight(this._accordion.$element())\r\n }\r\n if (this._searchInput) {\r\n maxHeight += getOuterHeight(this._searchInput.$element())\r\n }\r\n this.option(\"maxHeight\", maxHeight)\r\n }\r\n _renderSearchInput($parent) {\r\n var $input = $(\"<div>\").addClass(DIAGRAM_TOOLBOX_INPUT_CLASS).appendTo($parent);\r\n this._searchInput = this._createComponent($input, TextBox, {\r\n stylingMode: \"outlined\",\r\n placeholder: messageLocalization.format(\"dxDiagram-uiSearch\"),\r\n onValueChanged: data => {\r\n this._onInputChanged(data.value)\r\n },\r\n valueChangeEvent: \"keyup\",\r\n buttons: [{\r\n name: \"search\",\r\n location: \"after\",\r\n options: {\r\n activeStateEnabled: false,\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false,\r\n icon: \"search\",\r\n stylingMode: \"outlined\",\r\n type: \"normal\",\r\n onClick: () => {\r\n this._searchInput.focus()\r\n }\r\n }\r\n }]\r\n })\r\n }\r\n _renderScrollView($parent) {\r\n var $scrollViewWrapper = $(\"<div>\").appendTo($parent);\r\n this._scrollView = this._createComponent($scrollViewWrapper, ScrollView);\r\n var _moveIsAllowed = this._scrollView._moveIsAllowed.bind(this._scrollView);\r\n this._scrollView._moveIsAllowed = e => {\r\n for (var i = 0; i < this._toolboxes.length; i++) {\r\n var $element = this._toolboxes[i];\r\n if ($($element).children(DIAGRAM_TOOLBOX_START_DRAG_CLASS).length) {\r\n return false\r\n }\r\n }\r\n return _moveIsAllowed(e)\r\n };\r\n var $accordion = $(\"<div>\").appendTo(this._scrollView.content());\r\n this._updateElementWidth($accordion);\r\n this._renderAccordion($accordion)\r\n }\r\n _getAccordionDataSource() {\r\n var result = [];\r\n var toolboxGroups = this.option(\"toolboxGroups\");\r\n for (var i = 0; i < toolboxGroups.length; i++) {\r\n var category = toolboxGroups[i].category;\r\n var title = toolboxGroups[i].title;\r\n var groupObj = {\r\n category: category,\r\n title: title || category,\r\n expanded: toolboxGroups[i].expanded,\r\n displayMode: toolboxGroups[i].displayMode,\r\n shapes: toolboxGroups[i].shapes,\r\n onTemplate: (widget, $element, data) => {\r\n var $toolboxElement = $($element);\r\n this._onShapeCategoryRenderedAction({\r\n category: data.category,\r\n displayMode: data.displayMode,\r\n dataToggle: DIAGRAM_TOOLTIP_DATATOGGLE,\r\n shapes: data.shapes,\r\n $element: $toolboxElement\r\n });\r\n this._toolboxes.push($toolboxElement);\r\n if (\"\" !== this._filterText) {\r\n this._onFilterChangedAction({\r\n text: this._filterText,\r\n filteringToolboxes: this._toolboxes.length - 1\r\n })\r\n }\r\n this._createTooltips($toolboxElement)\r\n }\r\n };\r\n result.push(groupObj)\r\n }\r\n return result\r\n }\r\n _createTooltips($toolboxElement) {\r\n if (this._isTouchMode()) {\r\n return\r\n }\r\n var targets = $toolboxElement.find('[data-toggle=\"' + DIAGRAM_TOOLTIP_DATATOGGLE + '\"]');\r\n var $container = this.$element();\r\n targets.each((index, element) => {\r\n var $target = $(element);\r\n var title = $target.attr(\"title\");\r\n if (title) {\r\n var $tooltip = $(\"<div>\").text(title).appendTo($container);\r\n this._createComponent($tooltip, Tooltip, {\r\n target: $target.get(0),\r\n showEvent: \"mouseenter\",\r\n hideEvent: \"mouseleave\",\r\n position: \"top\",\r\n animation: {\r\n show: {\r\n type: \"fade\",\r\n from: 0,\r\n to: 1,\r\n delay: 500\r\n },\r\n hide: {\r\n type: \"fade\",\r\n from: 1,\r\n to: 0,\r\n delay: 100\r\n }\r\n }\r\n })\r\n }\r\n })\r\n }\r\n _isTouchMode() {\r\n var {\r\n Browser: Browser\r\n } = getDiagram();\r\n return Browser.TouchUI\r\n }\r\n _renderAccordion($container) {\r\n this._accordion = this._createComponent($container, Accordion, {\r\n multiple: true,\r\n animationDuration: 0,\r\n activeStateEnabled: false,\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false,\r\n collapsible: true,\r\n displayExpr: \"title\",\r\n dataSource: this._getAccordionDataSource(),\r\n disabled: this.option(\"disabled\"),\r\n itemTemplate: (data, index, $element) => {\r\n data.onTemplate(this, $element, data)\r\n },\r\n onSelectionChanged: e => {\r\n this._updateScrollAnimateSubscription(e.component)\r\n },\r\n onContentReady: e => {\r\n e.component.option(\"selectedItems\", []);\r\n var items = e.component.option(\"dataSource\");\r\n for (var i = 0; i < items.length; i++) {\r\n if (false === items[i].expanded) {\r\n e.component.collapseItem(i)\r\n } else if (true === items[i].expanded) {\r\n e.component.expandItem(i)\r\n }\r\n }\r\n if (items.length && void 0 === items[0].expanded) {\r\n e.component.expandItem(0)\r\n }\r\n this._updateScrollAnimateSubscription(e.component)\r\n }\r\n })\r\n }\r\n _updateScrollAnimateSubscription(component) {\r\n component._deferredAnimate = new Deferred;\r\n component._deferredAnimate.done(() => {\r\n this.updateMaxHeight();\r\n this._scrollView.update();\r\n this._updateScrollAnimateSubscription(component)\r\n })\r\n }\r\n _onInputChanged(text) {\r\n this._filterText = text;\r\n this._onFilterChangedAction({\r\n text: this._filterText,\r\n filteringToolboxes: this._toolboxes.map(($element, index) => index)\r\n });\r\n this.updateTooltips();\r\n this.updateMaxHeight();\r\n this._scrollView.update()\r\n }\r\n updateFilter() {\r\n this._onInputChanged(this._filterText)\r\n }\r\n updateTooltips() {\r\n this._toolboxes.forEach($element => {\r\n var $tooltipContainer = $($element);\r\n this._createTooltips($tooltipContainer)\r\n })\r\n }\r\n _createOnShapeCategoryRenderedAction() {\r\n this._onShapeCategoryRenderedAction = this._createActionByOption(\"onShapeCategoryRendered\")\r\n }\r\n _createOnFilterChangedAction() {\r\n this._onFilterChangedAction = this._createActionByOption(\"onFilterChanged\")\r\n }\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"onShapeCategoryRendered\":\r\n this._createOnShapeCategoryRenderedAction();\r\n break;\r\n case \"onFilterChanged\":\r\n this._createOnFilterChangedAction();\r\n break;\r\n case \"showSearch\":\r\n case \"toolboxWidth\":\r\n this._invalidate();\r\n break;\r\n case \"toolboxGroups\":\r\n this._accordion.option(\"dataSource\", this._getAccordionDataSource());\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n}\r\nexport default DiagramToolbox;\r\n","/**\r\n * DevExtreme (esm/ui/diagram/ui.diagram.properties_panel.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight,\r\n getOuterHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport ScrollView from \"../scroll_view\";\r\nimport TabPanel from \"../tab_panel\";\r\nimport DiagramFloatingPanel from \"./ui.diagram.floating_panel\";\r\nimport DiagramCommandsManager from \"./diagram.commands_manager\";\r\nvar DIAGRAM_PROPERTIES_POPUP_WIDTH = 420;\r\nvar DIAGRAM_PROPERTIES_POPUP_HEIGHT = 340;\r\nvar DIAGRAM_PROPERTIES_POPUP_CLASS = \"dx-diagram-properties-popup\";\r\nvar DIAGRAM_PROPERTIES_POPUP_NOTABS_CLASS = \"dx-diagram-properties-popup-notabs\";\r\nvar DIAGRAM_PROPERTIES_PANEL_CLASS = \"dx-diagram-properties-panel\";\r\nvar DIAGRAM_PROPERTIES_PANEL_GROUP_TITLE_CLASS = \"dx-diagram-properties-panel-group-title\";\r\nvar DIAGRAM_PROPERTIES_PANEL_GROUP_TOOLBAR_CLASS = \"dx-diagram-properties-panel-group-toolbar\";\r\nclass DiagramPropertiesPanel extends DiagramFloatingPanel {\r\n _init() {\r\n super._init();\r\n this._commandTabs = DiagramCommandsManager.getPropertyPanelCommandTabs(this.option(\"propertyTabs\"));\r\n this._createOnCreateToolbar();\r\n this._createOnSelectedGroupChanged()\r\n }\r\n _initMarkup() {\r\n this._toolbars = [];\r\n this._selectedToolbar = void 0;\r\n super._initMarkup()\r\n }\r\n _getPopupClass() {\r\n var className = DIAGRAM_PROPERTIES_POPUP_CLASS;\r\n if (!this._hasTabPanel()) {\r\n className += \" \" + DIAGRAM_PROPERTIES_POPUP_NOTABS_CLASS\r\n }\r\n return className\r\n }\r\n _getPopupWidth() {\r\n return this.isMobileView() ? \"100%\" : DIAGRAM_PROPERTIES_POPUP_WIDTH\r\n }\r\n _getPopupHeight() {\r\n return DIAGRAM_PROPERTIES_POPUP_HEIGHT\r\n }\r\n _getPopupPosition() {\r\n var $parent = this.option(\"offsetParent\");\r\n if (this.isMobileView()) {\r\n return {\r\n my: \"left bottom\",\r\n at: \"left bottom\",\r\n of: $parent\r\n }\r\n }\r\n return {\r\n my: \"right bottom\",\r\n at: \"right bottom\",\r\n of: $parent,\r\n offset: \"-\" + this.option(\"offsetX\") + \" -\" + this.option(\"offsetY\")\r\n }\r\n }\r\n _getPopupAnimation() {\r\n var $parent = this.option(\"offsetParent\");\r\n if (this.isMobileView()) {\r\n return {\r\n hide: this._getPopupSlideAnimationObject({\r\n direction: \"bottom\",\r\n from: {\r\n position: {\r\n my: \"left bottom\",\r\n at: \"left bottom\",\r\n of: $parent\r\n }\r\n },\r\n to: {\r\n position: {\r\n my: \"left top\",\r\n at: \"left bottom\",\r\n of: $parent\r\n }\r\n }\r\n }),\r\n show: this._getPopupSlideAnimationObject({\r\n direction: \"top\",\r\n from: {\r\n position: {\r\n my: \"left top\",\r\n at: \"left bottom\",\r\n of: $parent\r\n }\r\n },\r\n to: {\r\n position: {\r\n my: \"left bottom\",\r\n at: \"left bottom\",\r\n of: $parent\r\n }\r\n }\r\n })\r\n }\r\n }\r\n return super._getPopupAnimation()\r\n }\r\n _getPopupOptions() {\r\n return extend(super._getPopupOptions(), {\r\n showTitle: this.isMobileView(),\r\n showCloseButton: this.isMobileView()\r\n })\r\n }\r\n _renderPopupContent($parent) {\r\n if (!this._commandTabs.length) {\r\n return\r\n }\r\n var $panel = $(\"<div>\").addClass(DIAGRAM_PROPERTIES_PANEL_CLASS).appendTo($parent);\r\n if (this._hasTabPanel()) {\r\n this._renderTabPanel($panel)\r\n } else {\r\n this._renderTabContent($panel, this._commandTabs[0], 0, true)\r\n }\r\n }\r\n _hasTabPanel() {\r\n return this._commandTabs.length > 1\r\n }\r\n _renderTabPanel($parent) {\r\n var $tabPanel = $(\"<div>\").appendTo($parent);\r\n this._tabPanel = this._createComponent($tabPanel, TabPanel, {\r\n focusStateEnabled: false,\r\n dataSource: this._commandTabs,\r\n itemTemplate: (data, index, $element) => {\r\n this._renderTabContent($element, data, index)\r\n },\r\n onSelectionChanged: e => {\r\n this._onSelectedGroupChangedAction();\r\n this._onPointerUpAction()\r\n },\r\n onContentReady: e => {\r\n this._popup.option(\"height\", getHeight(e.component.$element()) + this._getVerticalPaddingsAndBorders());\r\n if (this._firstScrollView) {\r\n this._scrollViewHeight = getOuterHeight(this._firstScrollView.$element());\r\n this._firstScrollView.option(\"height\", this._scrollViewHeight)\r\n }\r\n }\r\n })\r\n }\r\n _renderTabContent($parent, tab, index, isSingleTab) {\r\n var $scrollViewWrapper = $(\"<div>\").appendTo($parent);\r\n var scrollView = this._createComponent($scrollViewWrapper, ScrollView, {\r\n height: this._scrollViewHeight\r\n });\r\n this._renderTabInnerContent(scrollView.content(), tab, index);\r\n if (isSingleTab) {\r\n this._popup.option(\"height\", getHeight(scrollView.$element()) + this._getVerticalPaddingsAndBorders())\r\n } else {\r\n this._firstScrollView = this._firstScrollView || scrollView\r\n }\r\n }\r\n _renderTabInnerContent($parent, group, index) {\r\n if (group.groups) {\r\n group.groups.forEach((sg, si) => {\r\n this._renderTabGroupContent($parent, index, sg.title, sg.commands)\r\n })\r\n } else if (group.commands) {\r\n this._renderTabGroupContent($parent, index, void 0, group.commands)\r\n }\r\n }\r\n _renderTabGroupContent($parent, index, title, commands) {\r\n if (title) {\r\n $(\"<div>\").addClass(DIAGRAM_PROPERTIES_PANEL_GROUP_TITLE_CLASS).appendTo($parent).text(title)\r\n }\r\n var $toolbar = $(\"<div>\").addClass(DIAGRAM_PROPERTIES_PANEL_GROUP_TOOLBAR_CLASS).appendTo($parent);\r\n var args = {\r\n $parent: $toolbar,\r\n commands: commands\r\n };\r\n this._onCreateToolbarAction(args);\r\n if (!this._toolbars[index]) {\r\n this._toolbars[index] = []\r\n }\r\n this._toolbars[index].push(args.toolbar);\r\n this._selectedToolbar = args.toolbar\r\n }\r\n getActiveToolbars() {\r\n var index = this._tabPanel ? this._tabPanel.option(\"selectedIndex\") : 0;\r\n return this._toolbars[index]\r\n }\r\n _createOnCreateToolbar() {\r\n this._onCreateToolbarAction = this._createActionByOption(\"onCreateToolbar\")\r\n }\r\n _createOnSelectedGroupChanged() {\r\n this._onSelectedGroupChangedAction = this._createActionByOption(\"onSelectedGroupChanged\")\r\n }\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"onCreateToolbar\":\r\n this._createOnCreateToolbar();\r\n break;\r\n case \"onSelectedGroupChanged\":\r\n this._createOnSelectedGroupChanged();\r\n break;\r\n case \"propertyTabs\":\r\n this._invalidate();\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n}\r\nexport default DiagramPropertiesPanel;\r\n","/**\r\n * DevExtreme (esm/ui/diagram/diagram.options_update.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport DiagramBar from \"./diagram.bar\";\r\nimport {\r\n getDiagram\r\n} from \"./diagram.importer\";\r\nclass DiagramOptionsUpdateBar extends DiagramBar {\r\n constructor(owner) {\r\n super(owner);\r\n var {\r\n DiagramCommand: DiagramCommand\r\n } = getDiagram();\r\n this.commandOptions = {};\r\n this.commandOptions[DiagramCommand.Fullscreen] = \"fullScreen\";\r\n this.commandOptions[DiagramCommand.ZoomLevel] = function(value) {\r\n if (\"object\" === typeof this._getOption(\"zoomLevel\")) {\r\n this._setOption(\"zoomLevel.value\", value)\r\n } else {\r\n this._setOption(\"zoomLevel\", value)\r\n }\r\n };\r\n this.commandOptions[DiagramCommand.SwitchAutoZoom] = function(value) {\r\n var {\r\n AutoZoomMode: AutoZoomMode\r\n } = getDiagram();\r\n switch (value) {\r\n case AutoZoomMode.FitContent:\r\n this._setOption(\"autoZoomMode\", \"fitContent\");\r\n break;\r\n case AutoZoomMode.FitToWidth:\r\n this._setOption(\"autoZoomMode\", \"fitWidth\");\r\n break;\r\n case AutoZoomMode.Disabled:\r\n this._setOption(\"autoZoomMode\", \"disabled\")\r\n }\r\n };\r\n this.commandOptions[DiagramCommand.ToggleSimpleView] = \"simpleView\";\r\n this.commandOptions[DiagramCommand.ShowGrid] = \"showGrid\";\r\n this.commandOptions[DiagramCommand.SnapToGrid] = \"snapToGrid\";\r\n this.commandOptions[DiagramCommand.GridSize] = function(value) {\r\n if (\"object\" === typeof this._getOption(\"gridSize\")) {\r\n this._setOption(\"gridSize.value\", value)\r\n } else {\r\n this._setOption(\"gridSize\", value)\r\n }\r\n };\r\n this.commandOptions[DiagramCommand.ViewUnits] = \"viewUnits\";\r\n this.commandOptions[DiagramCommand.PageSize] = function(value) {\r\n var pageSize = this._getOption(\"pageSize\");\r\n if (void 0 === pageSize || pageSize.width !== value.width || pageSize.height !== value.height) {\r\n this._setOption(\"pageSize\", value)\r\n }\r\n };\r\n this.commandOptions[DiagramCommand.PageLandscape] = function(value) {\r\n this._setOption(\"pageOrientation\", value ? \"landscape\" : \"portrait\")\r\n };\r\n this.commandOptions[DiagramCommand.ViewUnits] = function(value) {\r\n var {\r\n DiagramUnit: DiagramUnit\r\n } = getDiagram();\r\n switch (value) {\r\n case DiagramUnit.In:\r\n this._setOption(\"viewUnits\", \"in\");\r\n break;\r\n case DiagramUnit.Cm:\r\n this._setOption(\"viewUnits\", \"cm\");\r\n break;\r\n case DiagramUnit.Px:\r\n this._setOption(\"viewUnits\", \"px\")\r\n }\r\n };\r\n this.commandOptions[DiagramCommand.PageColor] = \"pageColor\";\r\n this._updateLock = 0\r\n }\r\n getCommandKeys() {\r\n return Object.keys(this.commandOptions).map((function(key) {\r\n return parseInt(key)\r\n }))\r\n }\r\n setItemValue(key, value) {\r\n if (this.isUpdateLocked()) {\r\n return\r\n }\r\n this.beginUpdate();\r\n try {\r\n if (\"function\" === typeof this.commandOptions[key]) {\r\n this.commandOptions[key].call(this, value)\r\n } else {\r\n this._setOption(this.commandOptions[key], value)\r\n }\r\n } finally {\r\n this.endUpdate()\r\n }\r\n }\r\n beginUpdate() {\r\n this._updateLock++\r\n }\r\n endUpdate() {\r\n this._updateLock--\r\n }\r\n isUpdateLocked() {\r\n return this._updateLock > 0\r\n }\r\n _getOption(name) {\r\n return this._owner.option(name)\r\n }\r\n _setOption(name, value) {\r\n this._owner.option(name, value)\r\n }\r\n}\r\nexport default DiagramOptionsUpdateBar;\r\n","/**\r\n * DevExtreme (esm/ui/diagram/ui.diagram.dialog_manager.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n getDiagram\r\n} from \"./diagram.importer\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport FileUploader from \"../file_uploader\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar DiagramDialogManager = {\r\n getConfigurations: function() {\r\n var {\r\n DiagramCommand: DiagramCommand\r\n } = getDiagram();\r\n return this.dialogList || (this.dialogList = [{\r\n command: DiagramCommand.InsertShapeImage,\r\n title: messageLocalization.format(\"dxDiagram-dialogInsertShapeImageTitle\"),\r\n onGetContent: this.getChangeImageDialogContent\r\n }, {\r\n command: DiagramCommand.EditShapeImage,\r\n title: messageLocalization.format(\"dxDiagram-dialogEditShapeImageTitle\"),\r\n onGetContent: this.getChangeImageDialogContent\r\n }])\r\n },\r\n getChangeImageDialogContent: function(args) {\r\n var $uploader = $(\"<div>\");\r\n args.component._createComponent($uploader, FileUploader, {\r\n selectButtonText: messageLocalization.format(\"dxDiagram-dialogEditShapeImageSelectButton\"),\r\n accept: \"image/*\",\r\n uploadMode: \"useForm\",\r\n onValueChanged: function(e) {\r\n var window = getWindow();\r\n var reader = new window.FileReader;\r\n reader.onload = function(e) {\r\n args.component._commandParameter = e.target.result\r\n };\r\n reader.readAsDataURL(e.value[0])\r\n }\r\n });\r\n return $uploader\r\n },\r\n getDialogParameters(command) {\r\n var commandIndex = this.getConfigurations().map(c => c.command).indexOf(command);\r\n if (commandIndex >= 0) {\r\n return this.getConfigurations()[commandIndex]\r\n } else {\r\n return null\r\n }\r\n }\r\n};\r\nexport default DiagramDialogManager;\r\n","/**\r\n * DevExtreme (esm/ui/diagram/diagram.items_option.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n Component\r\n} from \"../../core/component\";\r\nimport DataHelperMixin from \"../../data_helper\";\r\nvar ItemsOptionBase = Component.inherit({}).include(DataHelperMixin);\r\nclass ItemsOption extends ItemsOptionBase {\r\n constructor(diagramWidget) {\r\n super();\r\n this._diagramWidget = diagramWidget;\r\n this._resetCache()\r\n }\r\n _dataSourceChangedHandler(newItems, e) {\r\n this._resetCache();\r\n this._items = newItems.map(item => extend(true, {}, item));\r\n this._dataSourceItems = newItems.slice();\r\n if (e && e.changes) {\r\n var internalChanges = e.changes.filter(change => change.internalChange);\r\n var externalChanges = e.changes.filter(change => !change.internalChange);\r\n if (internalChanges.length) {\r\n this._reloadContentByChanges(internalChanges, false)\r\n }\r\n if (externalChanges.length) {\r\n this._reloadContentByChanges(externalChanges, true)\r\n }\r\n } else {\r\n this._diagramWidget._onDataSourceChanged()\r\n }\r\n }\r\n _dataSourceLoadingChangedHandler(isLoading) {\r\n if (isLoading && !this._dataSource.isLoaded()) {\r\n this._diagramWidget._showLoadingIndicator()\r\n } else {\r\n this._diagramWidget._hideLoadingIndicator()\r\n }\r\n }\r\n _prepareData(dataObj) {\r\n for (var key in dataObj) {\r\n if (!Object.prototype.hasOwnProperty.call(dataObj, key)) {\r\n continue\r\n }\r\n if (void 0 === dataObj[key]) {\r\n dataObj[key] = null\r\n }\r\n }\r\n return dataObj\r\n }\r\n insert(data, callback, errorCallback) {\r\n this._resetCache();\r\n var store = this._getStore();\r\n store.insert(this._prepareData(data)).done((data, key) => {\r\n store.push([{\r\n type: \"insert\",\r\n key: key,\r\n data: data,\r\n internalChange: true\r\n }]);\r\n if (callback) {\r\n callback(data)\r\n }\r\n this._resetCache()\r\n }).fail(error => {\r\n if (errorCallback) {\r\n errorCallback(error)\r\n }\r\n this._resetCache()\r\n })\r\n }\r\n update(key, data, callback, errorCallback) {\r\n var store = this._getStore();\r\n var storeKey = this._getStoreKey(store, key, data);\r\n store.update(storeKey, this._prepareData(data)).done((data, key) => {\r\n store.push([{\r\n type: \"update\",\r\n key: key,\r\n data: data,\r\n internalChange: true\r\n }]);\r\n if (callback) {\r\n callback(key, data)\r\n }\r\n }).fail(error => {\r\n if (errorCallback) {\r\n errorCallback(error)\r\n }\r\n })\r\n }\r\n remove(key, data, callback, errorCallback) {\r\n this._resetCache();\r\n var store = this._getStore();\r\n var storeKey = this._getStoreKey(store, key, data);\r\n store.remove(storeKey).done(key => {\r\n store.push([{\r\n type: \"remove\",\r\n key: key,\r\n internalChange: true\r\n }]);\r\n if (callback) {\r\n callback(key)\r\n }\r\n this._resetCache()\r\n }).fail(error => {\r\n if (errorCallback) {\r\n errorCallback(error)\r\n }\r\n this._resetCache()\r\n })\r\n }\r\n findItem(itemKey) {\r\n if (!this._items) {\r\n return null\r\n }\r\n return this._getItemByKey(itemKey)\r\n }\r\n getItems() {\r\n return this._items\r\n }\r\n hasItems() {\r\n return !!this._items\r\n }\r\n _reloadContentByChanges(changes, isExternalChanges) {\r\n changes = changes.map(change => extend(change, {\r\n internalKey: this._getInternalKey(change.key)\r\n }));\r\n this._diagramWidget._reloadContentByChanges(changes, isExternalChanges)\r\n }\r\n _getItemByKey(key) {\r\n this._ensureCache();\r\n var cache = this._cache;\r\n var index = this._getIndexByKey(key);\r\n return cache.items[index]\r\n }\r\n _getIndexByKey(key) {\r\n this._ensureCache();\r\n var cache = this._cache;\r\n if (\"object\" === typeof key) {\r\n for (var i = 0, length = cache.keys.length; i < length; i++) {\r\n if (cache.keys[i] === key) {\r\n return i\r\n }\r\n }\r\n } else {\r\n var keySet = cache.keySet || cache.keys.reduce((accumulator, key, index) => {\r\n accumulator[key] = index;\r\n return accumulator\r\n }, {});\r\n if (!cache.keySet) {\r\n cache.keySet = keySet\r\n }\r\n return keySet[key]\r\n }\r\n return -1\r\n }\r\n _ensureCache() {\r\n var cache = this._cache;\r\n if (!cache.keys) {\r\n cache.keys = [];\r\n cache.items = [];\r\n this._fillCache(cache, this._items)\r\n }\r\n }\r\n _fillCache(cache, items) {\r\n if (!items || !items.length) {\r\n return\r\n }\r\n var keyExpr = this._getKeyExpr();\r\n if (keyExpr) {\r\n items.forEach(item => {\r\n cache.keys.push(keyExpr(item));\r\n cache.items.push(item)\r\n })\r\n }\r\n var itemsExpr = this._getItemsExpr();\r\n if (itemsExpr) {\r\n items.forEach(item => this._fillCache(cache, itemsExpr(item)))\r\n }\r\n var containerChildrenExpr = this._getContainerChildrenExpr();\r\n if (containerChildrenExpr) {\r\n items.forEach(item => this._fillCache(cache, containerChildrenExpr(item)))\r\n }\r\n }\r\n _getKeyExpr() {\r\n throw \"Not Implemented\"\r\n }\r\n _getItemsExpr() {}\r\n _getContainerChildrenExpr() {}\r\n _initDataSource() {\r\n super._initDataSource();\r\n this._dataSource && this._dataSource.paginate(false)\r\n }\r\n _dataSourceOptions() {\r\n return {\r\n paginate: false\r\n }\r\n }\r\n _getStore() {\r\n return this._dataSource && this._dataSource.store()\r\n }\r\n _getStoreKey(store, internalKey, data) {\r\n var storeKey = store.keyOf(data);\r\n if (storeKey === data) {\r\n var keyExpr = this._getKeyExpr();\r\n this._dataSourceItems.forEach(item => {\r\n if (keyExpr(item) === internalKey) {\r\n storeKey = item\r\n }\r\n })\r\n }\r\n return storeKey\r\n }\r\n _getInternalKey(storeKey) {\r\n if (\"object\" === typeof storeKey) {\r\n var keyExpr = this._getKeyExpr();\r\n return keyExpr(storeKey)\r\n }\r\n return storeKey\r\n }\r\n _resetCache() {\r\n this._cache = {}\r\n }\r\n}\r\nexport default ItemsOption;\r\n","/**\r\n * DevExtreme (esm/ui/diagram/diagram.nodes_option.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport ItemsOption from \"./diagram.items_option\";\r\nclass NodesOption extends ItemsOption {\r\n _getKeyExpr() {\r\n return this._diagramWidget._createOptionGetter(\"nodes.keyExpr\")\r\n }\r\n _getItemsExpr() {\r\n return this._diagramWidget._createOptionGetter(\"nodes.itemsExpr\")\r\n }\r\n _getContainerChildrenExpr() {\r\n return this._diagramWidget._createOptionGetter(\"nodes.containerChildrenExpr\")\r\n }\r\n}\r\nexport default NodesOption;\r\n","/**\r\n * DevExtreme (esm/ui/diagram/diagram.edges_option.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport ItemsOption from \"./diagram.items_option\";\r\nclass EdgesOption extends ItemsOption {\r\n _getKeyExpr() {\r\n return this._diagramWidget._createOptionGetter(\"edges.keyExpr\")\r\n }\r\n}\r\nexport default EdgesOption;\r\n","/**\r\n * DevExtreme (esm/ui/diagram/ui.diagram.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth,\r\n getHeight,\r\n getOuterHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport LoadIndicator from \"../load_indicator\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isFunction,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n compileSetter,\r\n compileGetter\r\n} from \"../../core/utils/data\";\r\nimport positionUtils from \"../../animation/position\";\r\nimport {\r\n getDiagram\r\n} from \"./diagram.importer\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport numberLocalization from \"../../localization/number\";\r\nimport * as zIndexPool from \"../overlay/z_index\";\r\nimport Overlay from \"../overlay/ui.overlay\";\r\nimport DiagramToolbar from \"./ui.diagram.toolbar\";\r\nimport DiagramMainToolbar from \"./ui.diagram.main_toolbar\";\r\nimport DiagramHistoryToolbar from \"./ui.diagram.history_toolbar\";\r\nimport DiagramViewToolbar from \"./ui.diagram.view_toolbar\";\r\nimport DiagramPropertiesToolbar from \"./ui.diagram.properties_toolbar\";\r\nimport diagramContextMenuModule from \"./ui.diagram.context_menu\";\r\nimport DiagramContextToolbox from \"./ui.diagram.context_toolbox\";\r\nimport DiagramDialog from \"./ui.diagram.dialogs\";\r\nimport DiagramScrollView from \"./ui.diagram.scroll_view\";\r\nimport DiagramToolboxManager from \"./diagram.toolbox_manager\";\r\nimport DiagramToolbox from \"./ui.diagram.toolbox\";\r\nimport DiagramPropertiesPanel from \"./ui.diagram.properties_panel\";\r\nimport DiagramOptionsUpdateBar from \"./diagram.options_update\";\r\nimport DiagramDialogManager from \"./ui.diagram.dialog_manager\";\r\nimport DiagramCommandsManager from \"./diagram.commands_manager\";\r\nimport NodesOption from \"./diagram.nodes_option\";\r\nimport EdgesOption from \"./diagram.edges_option\";\r\nvar DIAGRAM_CLASS = \"dx-diagram\";\r\nvar DIAGRAM_FULLSCREEN_CLASS = \"dx-diagram-fullscreen\";\r\nvar DIAGRAM_TOOLBAR_WRAPPER_CLASS = DIAGRAM_CLASS + \"-toolbar-wrapper\";\r\nvar DIAGRAM_CONTENT_WRAPPER_CLASS = DIAGRAM_CLASS + \"-content-wrapper\";\r\nvar DIAGRAM_CONTENT_CLASS = DIAGRAM_CLASS + \"-content\";\r\nvar DIAGRAM_SCROLL_VIEW_CLASS = DIAGRAM_CLASS + \"-scroll-view\";\r\nvar DIAGRAM_FLOATING_TOOLBAR_CONTAINER_CLASS = DIAGRAM_CLASS + \"-floating-toolbar-container\";\r\nvar DIAGRAM_PROPERTIES_PANEL_TOOLBAR_CONTAINER_CLASS = DIAGRAM_CLASS + \"-properties-panel-toolbar-container\";\r\nvar DIAGRAM_LOADING_INDICATOR_CLASS = DIAGRAM_CLASS + \"-loading-indicator\";\r\nvar DIAGRAM_FLOATING_PANEL_OFFSET = 12;\r\nvar DIAGRAM_DEFAULT_UNIT = \"in\";\r\nvar DIAGRAM_DEFAULT_ZOOMLEVEL = 1;\r\nvar DIAGRAM_DEFAULT_AUTOZOOM_MODE = \"disabled\";\r\nvar DIAGRAM_DEFAULT_PAGE_ORIENTATION = \"portrait\";\r\nvar DIAGRAM_DEFAULT_PAGE_COLOR = \"#ffffff\";\r\nvar DIAGRAM_MAX_MOBILE_WINDOW_WIDTH = 576;\r\nvar DIAGRAM_TOOLBOX_SHAPE_SPACING = 12;\r\nvar DIAGRAM_TOOLBOX_SHAPES_PER_ROW = 3;\r\nvar DIAGRAM_CONTEXT_TOOLBOX_SHAPE_SPACING = 12;\r\nvar DIAGRAM_CONTEXT_TOOLBOX_SHAPES_PER_ROW = 4;\r\nvar DIAGRAM_CONTEXT_TOOLBOX_DEFAULT_WIDTH = 152;\r\nvar DIAGRAM_NAMESPACE = \"dxDiagramEvent\";\r\nvar FULLSCREEN_CHANGE_EVENT_NAME = addNamespace(\"fullscreenchange\", DIAGRAM_NAMESPACE);\r\nvar IE_FULLSCREEN_CHANGE_EVENT_NAME = addNamespace(\"msfullscreenchange\", DIAGRAM_NAMESPACE);\r\nvar WEBKIT_FULLSCREEN_CHANGE_EVENT_NAME = addNamespace(\"webkitfullscreenchange\", DIAGRAM_NAMESPACE);\r\nvar MOZ_FULLSCREEN_CHANGE_EVENT_NAME = addNamespace(\"mozfullscreenchange\", DIAGRAM_NAMESPACE);\r\nclass Diagram extends Widget {\r\n _init() {\r\n this._updateDiagramLockCount = 0;\r\n this.toggleFullscreenLock = 0;\r\n this._toolbars = [];\r\n super._init();\r\n this._initDiagram();\r\n this._createCustomCommand()\r\n }\r\n _initMarkup() {\r\n super._initMarkup();\r\n this._toolbars = [];\r\n delete this._isMobileScreenSize;\r\n var isServerSide = !hasWindow();\r\n this.$element().addClass(DIAGRAM_CLASS);\r\n delete this._mainToolbar;\r\n if (this.option(\"mainToolbar.visible\")) {\r\n this._renderMainToolbar()\r\n }\r\n var $contentWrapper = $(\"<div>\").addClass(DIAGRAM_CONTENT_WRAPPER_CLASS).appendTo(this.$element());\r\n delete this._historyToolbar;\r\n delete this._historyToolbarResizeCallback;\r\n if (this._isHistoryToolbarVisible()) {\r\n this._renderHistoryToolbar($contentWrapper)\r\n }\r\n delete this._propertiesToolbar;\r\n delete this._propertiesToolbarResizeCallback;\r\n if (this._isPropertiesPanelEnabled()) {\r\n this._renderPropertiesToolbar($contentWrapper)\r\n }\r\n delete this._viewToolbar;\r\n delete this._viewToolbarResizeCallback;\r\n if (this.option(\"viewToolbar.visible\")) {\r\n this._renderViewToolbar($contentWrapper)\r\n }\r\n delete this._toolbox;\r\n delete this._toolboxResizeCallback;\r\n if (this._isToolboxEnabled()) {\r\n this._renderToolbox($contentWrapper)\r\n }\r\n delete this._propertiesPanel;\r\n delete this._propertiesPanelResizeCallback;\r\n if (this._isPropertiesPanelEnabled()) {\r\n this._renderPropertiesPanel($contentWrapper)\r\n }\r\n this._$content = $(\"<div>\").addClass(DIAGRAM_CONTENT_CLASS).appendTo($contentWrapper);\r\n delete this._contextMenu;\r\n this._diagramInstance.settings.contextMenuEnabled = this.option(\"contextMenu.enabled\");\r\n if (this._diagramInstance.settings.contextMenuEnabled) {\r\n this._renderContextMenu($contentWrapper)\r\n }\r\n delete this._contextToolbox;\r\n if (this.option(\"contextToolbox.enabled\")) {\r\n this._renderContextToolbox($contentWrapper)\r\n }\r\n this._renderDialog($contentWrapper);\r\n if (!isServerSide) {\r\n var $scrollViewWrapper = $(\"<div>\").addClass(DIAGRAM_SCROLL_VIEW_CLASS).appendTo(this._$content);\r\n this._createComponent($scrollViewWrapper, DiagramScrollView, {\r\n useNativeScrolling: this.option(\"useNativeScrolling\"),\r\n onCreateDiagram: e => {\r\n this._diagramInstance.createDocument(e.$parent[0], e.scrollView, $contentWrapper[0])\r\n }\r\n })\r\n }\r\n this._setCustomCommandChecked(DiagramCommandsManager.SHOW_PROPERTIES_PANEL_COMMAND_NAME, this._isPropertiesPanelVisible());\r\n this._setCustomCommandChecked(DiagramCommandsManager.SHOW_TOOLBOX_COMMAND_NAME, this._isToolboxVisible());\r\n this._createOptionsUpdateBar()\r\n }\r\n _dimensionChanged() {\r\n this._isMobileScreenSize = void 0;\r\n this._processDiagramResize()\r\n }\r\n _visibilityChanged(visible) {\r\n if (visible) {\r\n this._bindDiagramData();\r\n this.repaint()\r\n }\r\n }\r\n _processDiagramResize() {\r\n this._diagramInstance.onDimensionChanged();\r\n if (this._historyToolbarResizeCallback) {\r\n this._historyToolbarResizeCallback.call(this)\r\n }\r\n if (this._propertiesToolbarResizeCallback) {\r\n this._propertiesToolbarResizeCallback.call(this)\r\n }\r\n if (this._propertiesPanelResizeCallback) {\r\n this._propertiesPanelResizeCallback.call(this)\r\n }\r\n if (this._viewToolbarResizeCallback) {\r\n this._viewToolbarResizeCallback.call(this)\r\n }\r\n if (this._toolboxResizeCallback) {\r\n this._toolboxResizeCallback.call(this)\r\n }\r\n }\r\n isMobileScreenSize() {\r\n if (void 0 === this._isMobileScreenSize) {\r\n this._isMobileScreenSize = hasWindow() && getOuterWidth(this.$element()) < DIAGRAM_MAX_MOBILE_WINDOW_WIDTH\r\n }\r\n return this._isMobileScreenSize\r\n }\r\n _captureFocus() {\r\n if (this._diagramInstance) {\r\n this._diagramInstance.captureFocus()\r\n }\r\n }\r\n _captureFocusOnTimeout() {\r\n this._captureFocusTimeout = setTimeout(() => {\r\n this._captureFocus();\r\n delete this._captureFocusTimeout\r\n }, 100)\r\n }\r\n _killCaptureFocusTimeout() {\r\n if (this._captureFocusTimeout) {\r\n clearTimeout(this._captureFocusTimeout);\r\n delete this._captureFocusTimeout\r\n }\r\n }\r\n notifyBarCommandExecuted() {\r\n this._captureFocusOnTimeout()\r\n }\r\n _registerToolbar(component) {\r\n this._registerBar(component);\r\n this._toolbars.push(component)\r\n }\r\n _registerBar(component) {\r\n component.bar.onChanged.add(this);\r\n this._diagramInstance.registerBar(component.bar)\r\n }\r\n _getExcludeCommands() {\r\n var excludeCommands = [];\r\n if (!this._isToolboxEnabled()) {\r\n excludeCommands.push(DiagramCommandsManager.SHOW_TOOLBOX_COMMAND_NAME)\r\n }\r\n if (!this._isPropertiesPanelEnabled()) {\r\n excludeCommands.push(DiagramCommandsManager.SHOW_PROPERTIES_PANEL_COMMAND_NAME)\r\n }\r\n return excludeCommands\r\n }\r\n _getToolbarBaseOptions() {\r\n return {\r\n onContentReady: _ref => {\r\n var {\r\n component: component\r\n } = _ref;\r\n return this._registerToolbar(component)\r\n },\r\n onSubMenuVisibilityChanging: _ref2 => {\r\n var {\r\n component: component\r\n } = _ref2;\r\n return this._diagramInstance.updateBarItemsState(component.bar)\r\n },\r\n onPointerUp: this._onPanelPointerUp.bind(this),\r\n export: this.option(\"export\"),\r\n excludeCommands: this._getExcludeCommands(),\r\n onInternalCommand: this._onInternalCommand.bind(this),\r\n onCustomCommand: this._onCustomCommand.bind(this),\r\n isMobileView: this.isMobileScreenSize()\r\n }\r\n }\r\n _onInternalCommand(e) {\r\n switch (e.command) {\r\n case DiagramCommandsManager.SHOW_TOOLBOX_COMMAND_NAME:\r\n if (this._toolbox) {\r\n this._toolbox.toggle()\r\n }\r\n break;\r\n case DiagramCommandsManager.SHOW_PROPERTIES_PANEL_COMMAND_NAME:\r\n if (this._propertiesPanel) {\r\n this._propertiesPanel.toggle()\r\n }\r\n }\r\n }\r\n _onCustomCommand(e) {\r\n this._customCommandAction({\r\n name: e.name\r\n })\r\n }\r\n _renderMainToolbar() {\r\n var $toolbarWrapper = $(\"<div>\").addClass(DIAGRAM_TOOLBAR_WRAPPER_CLASS).appendTo(this.$element());\r\n this._mainToolbar = this._createComponent($toolbarWrapper, DiagramMainToolbar, extend(this._getToolbarBaseOptions(), {\r\n commands: this.option(\"mainToolbar.commands\"),\r\n skipAdjustSize: true\r\n }))\r\n }\r\n _isHistoryToolbarVisible() {\r\n return this.option(\"historyToolbar.visible\") && !this.isReadOnlyMode()\r\n }\r\n _renderHistoryToolbar($parent) {\r\n var $container = $(\"<div>\").addClass(DIAGRAM_FLOATING_TOOLBAR_CONTAINER_CLASS).appendTo($parent);\r\n this._historyToolbar = this._createComponent($container, DiagramHistoryToolbar, extend(this._getToolbarBaseOptions(), {\r\n commands: this.option(\"historyToolbar.commands\"),\r\n locateInMenu: \"never\"\r\n }));\r\n this._updateHistoryToolbarPosition();\r\n this._historyToolbarResizeCallback = () => {\r\n this._historyToolbar.option(\"isMobileView\", this.isMobileScreenSize())\r\n }\r\n }\r\n _updateHistoryToolbarPosition() {\r\n if (!hasWindow()) {\r\n return\r\n }\r\n positionUtils.setup(this._historyToolbar.$element(), {\r\n my: \"left top\",\r\n at: \"left top\",\r\n of: this._historyToolbar.$element().parent(),\r\n offset: DIAGRAM_FLOATING_PANEL_OFFSET + \" \" + DIAGRAM_FLOATING_PANEL_OFFSET\r\n })\r\n }\r\n _isToolboxEnabled() {\r\n return \"disabled\" !== this.option(\"toolbox.visibility\") && !this.isReadOnlyMode()\r\n }\r\n _isToolboxVisible() {\r\n return \"visible\" === this.option(\"toolbox.visibility\") || \"auto\" === this.option(\"toolbox.visibility\") && !this.isMobileScreenSize()\r\n }\r\n _renderToolbox($parent) {\r\n var isServerSide = !hasWindow();\r\n var $toolBox = $(\"<div>\").appendTo($parent);\r\n var bounds = this._getToolboxBounds($parent, isServerSide);\r\n this._toolbox = this._createComponent($toolBox, DiagramToolbox, {\r\n isMobileView: this.isMobileScreenSize(),\r\n isVisible: this._isToolboxVisible(),\r\n container: this.$element(),\r\n height: bounds.height,\r\n offsetParent: $parent,\r\n offsetX: bounds.offsetX,\r\n offsetY: bounds.offsetY,\r\n showSearch: this.option(\"toolbox.showSearch\"),\r\n toolboxGroups: this._getToolboxGroups(),\r\n toolboxWidth: this.option(\"toolbox.width\"),\r\n onShapeCategoryRendered: e => {\r\n if (isServerSide) {\r\n return\r\n }\r\n this._diagramInstance.createToolbox(e.$element[0], \"texts\" === e.displayMode, e.shapes || e.category, {\r\n shapeIconSpacing: DIAGRAM_TOOLBOX_SHAPE_SPACING,\r\n shapeIconCountInRow: this.option(\"toolbox.shapeIconsPerRow\"),\r\n shapeIconAttributes: {\r\n \"data-toggle\": e.dataToggle\r\n }\r\n })\r\n },\r\n onFilterChanged: e => {\r\n if (isServerSide) {\r\n return\r\n }\r\n this._diagramInstance.applyToolboxFilter(e.text, e.filteringToolboxes)\r\n },\r\n onVisibilityChanging: e => {\r\n if (isServerSide) {\r\n return\r\n }\r\n this._setCustomCommandChecked(DiagramCommandsManager.SHOW_TOOLBOX_COMMAND_NAME, e.visible);\r\n if (this._propertiesPanel) {\r\n if (e.visible && this.isMobileScreenSize()) {\r\n this._propertiesPanel.hide()\r\n }\r\n }\r\n if (this._historyToolbar) {\r\n if (e.visible && this.isMobileScreenSize()) {\r\n this._historyToolbarZIndex = zIndexPool.create(Overlay.baseZIndex());\r\n this._historyToolbar.$element().css(\"zIndex\", this._historyToolbarZIndex);\r\n this._historyToolbar.$element().css(\"boxShadow\", \"none\")\r\n }\r\n }\r\n if (this._viewToolbar) {\r\n this._viewToolbar.$element().css(\"opacity\", e.visible && this.isMobileScreenSize() ? \"0\" : \"1\");\r\n this._viewToolbar.$element().css(\"pointerEvents\", e.visible && this.isMobileScreenSize() ? \"none\" : \"\")\r\n }\r\n },\r\n onVisibilityChanged: e => {\r\n if (!e.visible && !this._textInputStarted) {\r\n this._captureFocus()\r\n }\r\n if (!isServerSide) {\r\n if (this._historyToolbar) {\r\n if (!e.visible && this.isMobileScreenSize() && this._historyToolbarZIndex) {\r\n zIndexPool.remove(this._historyToolbarZIndex);\r\n this._historyToolbar.$element().css(\"zIndex\", \"\");\r\n this._historyToolbar.$element().css(\"boxShadow\", \"\");\r\n this._historyToolbarZIndex = void 0\r\n }\r\n }\r\n }\r\n },\r\n onPointerUp: this._onPanelPointerUp.bind(this)\r\n });\r\n this._toolbox._popup.option(\"propagateOutsideClick\", !this.option(\"fullScreen\"));\r\n this._toolboxResizeCallback = () => {\r\n var bounds = this._getToolboxBounds($parent, isServerSide);\r\n this._toolbox.option(\"height\", bounds.height);\r\n var prevIsMobileView = this._toolbox.option(\"isMobileView\");\r\n if (prevIsMobileView !== this.isMobileScreenSize()) {\r\n this._toolbox.option({\r\n isMobileView: this.isMobileScreenSize(),\r\n isVisible: this._isToolboxVisible()\r\n });\r\n this._setCustomCommandChecked(DiagramCommandsManager.SHOW_TOOLBOX_COMMAND_NAME, this._isToolboxVisible())\r\n }\r\n this._toolbox.updateMaxHeight()\r\n }\r\n }\r\n _getToolboxBounds($parent, isServerSide) {\r\n var result = {\r\n offsetX: DIAGRAM_FLOATING_PANEL_OFFSET,\r\n offsetY: DIAGRAM_FLOATING_PANEL_OFFSET,\r\n height: !isServerSide ? getHeight($parent) - 2 * DIAGRAM_FLOATING_PANEL_OFFSET : 0\r\n };\r\n if (this._historyToolbar && !isServerSide) {\r\n result.offsetY += getOuterHeight(this._historyToolbar.$element()) + DIAGRAM_FLOATING_PANEL_OFFSET;\r\n result.height -= getOuterHeight(this._historyToolbar.$element()) + DIAGRAM_FLOATING_PANEL_OFFSET\r\n }\r\n if (this._viewToolbar && !isServerSide) {\r\n result.height -= getOuterHeight(this._viewToolbar.$element()) + this._getViewToolbarYOffset(isServerSide)\r\n }\r\n return result\r\n }\r\n _renderViewToolbar($parent) {\r\n var isServerSide = !hasWindow();\r\n var $container = $(\"<div>\").addClass(DIAGRAM_FLOATING_TOOLBAR_CONTAINER_CLASS).appendTo($parent);\r\n this._viewToolbar = this._createComponent($container, DiagramViewToolbar, extend(this._getToolbarBaseOptions(), {\r\n commands: this.option(\"viewToolbar.commands\"),\r\n locateInMenu: \"never\"\r\n }));\r\n this._updateViewToolbarPosition($container, $parent, isServerSide);\r\n this._viewToolbarResizeCallback = () => {\r\n this._updateViewToolbarPosition($container, $parent, isServerSide)\r\n }\r\n }\r\n _getViewToolbarYOffset(isServerSide) {\r\n if (isServerSide) {\r\n return\r\n }\r\n var result = DIAGRAM_FLOATING_PANEL_OFFSET;\r\n if (this._viewToolbar && this._propertiesToolbar) {\r\n result += (getOuterHeight(this._propertiesToolbar.$element()) - getOuterHeight(this._viewToolbar.$element())) / 2\r\n }\r\n return result\r\n }\r\n _updateViewToolbarPosition($container, $parent, isServerSide) {\r\n if (isServerSide) {\r\n return\r\n }\r\n positionUtils.setup($container, {\r\n my: \"left bottom\",\r\n at: \"left bottom\",\r\n of: $parent,\r\n offset: DIAGRAM_FLOATING_PANEL_OFFSET + \" -\" + this._getViewToolbarYOffset(isServerSide)\r\n })\r\n }\r\n _isPropertiesPanelEnabled() {\r\n return \"disabled\" !== this.option(\"propertiesPanel.visibility\") && !this.isReadOnlyMode()\r\n }\r\n _isPropertiesPanelVisible() {\r\n return \"visible\" === this.option(\"propertiesPanel.visibility\")\r\n }\r\n _renderPropertiesToolbar($parent) {\r\n var isServerSide = !hasWindow();\r\n var $container = $(\"<div>\").addClass(DIAGRAM_FLOATING_TOOLBAR_CONTAINER_CLASS).addClass(DIAGRAM_PROPERTIES_PANEL_TOOLBAR_CONTAINER_CLASS).appendTo($parent);\r\n this._propertiesToolbar = this._createComponent($container, DiagramPropertiesToolbar, extend(this._getToolbarBaseOptions(), {\r\n buttonStylingMode: \"contained\",\r\n buttonType: \"default\",\r\n locateInMenu: \"never\"\r\n }));\r\n this._updatePropertiesToolbarPosition($container, $parent, isServerSide);\r\n this._propertiesToolbarResizeCallback = () => {\r\n this._updatePropertiesToolbarPosition($container, $parent, isServerSide)\r\n }\r\n }\r\n _updatePropertiesToolbarPosition($container, $parent, isServerSide) {\r\n if (isServerSide) {\r\n return\r\n }\r\n positionUtils.setup($container, {\r\n my: \"right bottom\",\r\n at: \"right bottom\",\r\n of: $parent,\r\n offset: \"-\" + DIAGRAM_FLOATING_PANEL_OFFSET + \" -\" + DIAGRAM_FLOATING_PANEL_OFFSET\r\n })\r\n }\r\n _renderPropertiesPanel($parent) {\r\n var isServerSide = !hasWindow();\r\n var $propertiesPanel = $(\"<div>\").appendTo($parent);\r\n var offsetX = DIAGRAM_FLOATING_PANEL_OFFSET;\r\n var offsetY = 2 * DIAGRAM_FLOATING_PANEL_OFFSET + (!isServerSide ? getOuterHeight(this._propertiesToolbar.$element()) : 0);\r\n this._propertiesPanel = this._createComponent($propertiesPanel, DiagramPropertiesPanel, {\r\n isMobileView: this.isMobileScreenSize(),\r\n isVisible: this._isPropertiesPanelVisible(),\r\n container: this.$element(),\r\n offsetParent: $parent,\r\n offsetX: offsetX,\r\n offsetY: offsetY,\r\n propertyTabs: this.option(\"propertiesPanel.tabs\"),\r\n onCreateToolbar: e => {\r\n e.toolbar = this._createComponent(e.$parent, DiagramToolbar, extend(this._getToolbarBaseOptions(), {\r\n commands: e.commands,\r\n locateInMenu: \"never\",\r\n editorStylingMode: \"outlined\"\r\n }))\r\n },\r\n onVisibilityChanging: e => {\r\n if (isServerSide) {\r\n return\r\n }\r\n this._updatePropertiesPanelGroupBars(e.component);\r\n this._setCustomCommandChecked(DiagramCommandsManager.SHOW_PROPERTIES_PANEL_COMMAND_NAME, e.visible);\r\n if (this._toolbox) {\r\n if (e.visible && this.isMobileScreenSize()) {\r\n this._toolbox.hide()\r\n }\r\n }\r\n },\r\n onVisibilityChanged: e => {\r\n if (!e.visible && !this._textInputStarted) {\r\n this._captureFocus()\r\n }\r\n },\r\n onSelectedGroupChanged: _ref3 => {\r\n var {\r\n component: component\r\n } = _ref3;\r\n return this._updatePropertiesPanelGroupBars(component)\r\n },\r\n onPointerUp: this._onPanelPointerUp.bind(this)\r\n });\r\n this._propertiesPanelResizeCallback = () => {\r\n var prevIsMobileView = this._propertiesPanel.option(\"isMobileView\");\r\n if (prevIsMobileView !== this.isMobileScreenSize()) {\r\n this._propertiesPanel.option({\r\n isMobileView: this.isMobileScreenSize(),\r\n isVisible: this._isPropertiesPanelVisible()\r\n });\r\n this._setCustomCommandChecked(DiagramCommandsManager.SHOW_PROPERTIES_PANEL_COMMAND_NAME, this._isPropertiesPanelVisible())\r\n }\r\n }\r\n }\r\n _updatePropertiesPanelGroupBars(component) {\r\n component.getActiveToolbars().forEach(toolbar => {\r\n this._diagramInstance.updateBarItemsState(toolbar.bar)\r\n })\r\n }\r\n _onPanelPointerUp() {\r\n this._captureFocusOnTimeout()\r\n }\r\n _renderContextMenu($parent) {\r\n var $contextMenu = $(\"<div>\").appendTo($parent);\r\n this._contextMenu = this._createComponent($contextMenu, diagramContextMenuModule.DiagramContextMenuWrapper, {\r\n commands: this.option(\"contextMenu.commands\"),\r\n onContentReady: _ref4 => {\r\n var {\r\n component: component\r\n } = _ref4;\r\n return this._registerBar(component)\r\n },\r\n onVisibilityChanging: _ref5 => {\r\n var {\r\n component: component\r\n } = _ref5;\r\n return this._diagramInstance.updateBarItemsState(component.bar)\r\n },\r\n onItemClick: itemData => this._onBeforeCommandExecuted(itemData.command),\r\n export: this.option(\"export\"),\r\n excludeCommands: this._getExcludeCommands(),\r\n onInternalCommand: this._onInternalCommand.bind(this),\r\n onCustomCommand: this._onCustomCommand.bind(this)\r\n })\r\n }\r\n _renderContextToolbox($parent) {\r\n var isServerSide = !hasWindow();\r\n var category = this.option(\"contextToolbox.category\");\r\n var displayMode = this.option(\"contextToolbox.displayMode\");\r\n var shapes = this.option(\"contextToolbox.shapes\");\r\n var $contextToolbox = $(\"<div>\").appendTo($parent);\r\n this._contextToolbox = this._createComponent($contextToolbox, DiagramContextToolbox, {\r\n toolboxWidth: this.option(\"contextToolbox.width\"),\r\n onShown: e => {\r\n if (isServerSide) {\r\n return\r\n }\r\n var $toolboxContainer = $(e.$element);\r\n var isTextGroup = \"texts\" === displayMode;\r\n if (!shapes && !category && !isTextGroup) {\r\n var group = this._getToolboxGroups().filter((function(g) {\r\n return g.category === e.category\r\n }))[0];\r\n if (group) {\r\n isTextGroup = \"texts\" === group.displayMode\r\n }\r\n }\r\n this._diagramInstance.createContextToolbox($toolboxContainer[0], isTextGroup, shapes || category || e.category, {\r\n shapeIconSpacing: DIAGRAM_CONTEXT_TOOLBOX_SHAPE_SPACING,\r\n shapeIconCountInRow: this.option(\"contextToolbox.shapeIconsPerRow\")\r\n }, shapeType => {\r\n e.callback(shapeType);\r\n this._captureFocus();\r\n e.hide()\r\n })\r\n }\r\n })\r\n }\r\n _setCustomCommandChecked(command, checked) {\r\n this._toolbars.forEach(tb => {\r\n tb.setCommandChecked(command, checked)\r\n })\r\n }\r\n _onBeforeCommandExecuted(command) {\r\n var dialogParameters = DiagramDialogManager.getDialogParameters(command);\r\n if (dialogParameters) {\r\n this._showDialog(dialogParameters)\r\n }\r\n return !!dialogParameters\r\n }\r\n _renderDialog($parent) {\r\n var $dialogElement = $(\"<div>\").appendTo($parent);\r\n this._dialogInstance = this._createComponent($dialogElement, DiagramDialog, {})\r\n }\r\n _showDialog(dialogParameters) {\r\n if (this._dialogInstance) {\r\n this._dialogInstance.option(\"onGetContent\", dialogParameters.onGetContent);\r\n this._dialogInstance.option(\"onHidden\", function() {\r\n this._captureFocus()\r\n }.bind(this));\r\n this._dialogInstance.option(\"command\", this._diagramInstance.getCommand(dialogParameters.command));\r\n this._dialogInstance.option(\"title\", dialogParameters.title);\r\n this._dialogInstance._show()\r\n }\r\n }\r\n _showLoadingIndicator() {\r\n this._loadingIndicator = $(\"<div>\").addClass(DIAGRAM_LOADING_INDICATOR_CLASS);\r\n this._createComponent(this._loadingIndicator, LoadIndicator, {});\r\n var $parent = this._$content || this.$element();\r\n $parent.append(this._loadingIndicator)\r\n }\r\n _hideLoadingIndicator() {\r\n if (!this._loadingIndicator) {\r\n return\r\n }\r\n this._loadingIndicator.remove();\r\n this._loadingIndicator = null\r\n }\r\n _initDiagram() {\r\n var {\r\n DiagramControl: DiagramControl\r\n } = getDiagram();\r\n this._diagramInstance = new DiagramControl;\r\n this._diagramInstance.onChanged = this._raiseDataChangeAction.bind(this);\r\n this._diagramInstance.onEdgeInserted = this._raiseEdgeInsertedAction.bind(this);\r\n this._diagramInstance.onEdgeUpdated = this._raiseEdgeUpdatedAction.bind(this);\r\n this._diagramInstance.onEdgeRemoved = this._raiseEdgeRemovedAction.bind(this);\r\n this._diagramInstance.onNodeInserted = this._raiseNodeInsertedAction.bind(this);\r\n this._diagramInstance.onNodeUpdated = this._raiseNodeUpdatedAction.bind(this);\r\n this._diagramInstance.onNodeRemoved = this._raiseNodeRemovedAction.bind(this);\r\n this._diagramInstance.onToolboxDragStart = this._raiseToolboxDragStart.bind(this);\r\n this._diagramInstance.onToolboxDragEnd = this._raiseToolboxDragEnd.bind(this);\r\n this._diagramInstance.onTextInputStart = this._raiseTextInputStart.bind(this);\r\n this._diagramInstance.onTextInputEnd = this._raiseTextInputEnd.bind(this);\r\n this._diagramInstance.onToggleFullscreen = this._onToggleFullScreen.bind(this);\r\n this._diagramInstance.onShowContextMenu = this._onShowContextMenu.bind(this);\r\n this._diagramInstance.onHideContextMenu = this._onHideContextMenu.bind(this);\r\n this._diagramInstance.onShowContextToolbox = this._onShowContextToolbox.bind(this);\r\n this._diagramInstance.onHideContextToolbox = this._onHideContextToolbox.bind(this);\r\n this._diagramInstance.onNativeAction.add({\r\n notifyItemClick: this._raiseItemClickAction.bind(this),\r\n notifyItemDblClick: this._raiseItemDblClickAction.bind(this),\r\n notifySelectionChanged: this._raiseSelectionChanged.bind(this)\r\n });\r\n this._diagramInstance.onRequestOperation = this._raiseRequestEditOperation.bind(this);\r\n this._updateEventSubscriptionMethods();\r\n this._updateDefaultItemProperties();\r\n this._updateEditingSettings();\r\n this._updateShapeTexts();\r\n this._updateUnitItems();\r\n this._updateFormatUnitsMethod();\r\n if (this.option(\"units\") !== DIAGRAM_DEFAULT_UNIT) {\r\n this._updateUnitsState()\r\n }\r\n if (this.isReadOnlyMode()) {\r\n this._updateReadOnlyState()\r\n }\r\n if (this.option(\"pageSize\")) {\r\n if (this.option(\"pageSize.items\")) {\r\n this._updatePageSizeItemsState()\r\n }\r\n if (this.option(\"pageSize.width\") && this.option(\"pageSize.height\")) {\r\n this._updatePageSizeState()\r\n }\r\n }\r\n if (this.option(\"pageOrientation\") !== DIAGRAM_DEFAULT_PAGE_ORIENTATION) {\r\n this._updatePageOrientationState()\r\n }\r\n if (this.option(\"pageColor\") !== DIAGRAM_DEFAULT_PAGE_COLOR) {\r\n this._updatePageColorState()\r\n }\r\n if (this.option(\"viewUnits\") !== DIAGRAM_DEFAULT_UNIT) {\r\n this._updateViewUnitsState()\r\n }\r\n if (!this.option(\"showGrid\")) {\r\n this._updateShowGridState()\r\n }\r\n if (!this.option(\"snapToGrid\")) {\r\n this._updateSnapToGridState()\r\n }\r\n if (this.option(\"gridSize\")) {\r\n this._updateGridSizeState()\r\n }\r\n if (this.option(\"zoomLevel\") !== DIAGRAM_DEFAULT_ZOOMLEVEL) {\r\n this._updateZoomLevelState()\r\n }\r\n if (this.option(\"simpleView\")) {\r\n this._updateSimpleViewState()\r\n }\r\n if (this.option(\"autoZoomMode\") !== DIAGRAM_DEFAULT_AUTOZOOM_MODE) {\r\n this._updateAutoZoomState()\r\n }\r\n if (this.option(\"fullScreen\")) {\r\n var window = getWindow();\r\n if (window && window.self !== window.top) {\r\n this.option(\"fullScreen\", false)\r\n } else {\r\n this._updateFullscreenState()\r\n }\r\n }\r\n this._createOptionsUpdateBar();\r\n if (hasWindow()) {\r\n this._diagramInstance.initMeasurer(this.$element()[0])\r\n }\r\n this._updateCustomShapes(this._getCustomShapes());\r\n this._refreshDataSources()\r\n }\r\n _createOptionsUpdateBar() {\r\n if (!this.optionsUpdateBar) {\r\n this.optionsUpdateBar = new DiagramOptionsUpdateBar(this);\r\n this._diagramInstance.registerBar(this.optionsUpdateBar)\r\n }\r\n }\r\n _deleteOptionsUpdateBar() {\r\n delete this.optionsUpdateBar\r\n }\r\n _clean() {\r\n if (this._diagramInstance) {\r\n this._diagramInstance.cleanMarkup(element => {\r\n $(element).empty()\r\n });\r\n this._deleteOptionsUpdateBar()\r\n }\r\n super._clean()\r\n }\r\n _dispose() {\r\n this._killCaptureFocusTimeout();\r\n super._dispose();\r\n if (this._diagramInstance) {\r\n this._diagramInstance.dispose();\r\n this._diagramInstance = void 0\r\n }\r\n }\r\n _executeDiagramCommand(command, parameter) {\r\n this._diagramInstance.getCommand(command).execute(parameter)\r\n }\r\n getNodeDataSource() {\r\n return this._nodesOption && this._nodesOption.getDataSource()\r\n }\r\n getEdgeDataSource() {\r\n return this._edgesOption && this._edgesOption.getDataSource()\r\n }\r\n _refreshDataSources() {\r\n this._beginUpdateDiagram();\r\n this._refreshNodesDataSource();\r\n this._refreshEdgesDataSource();\r\n this._endUpdateDiagram()\r\n }\r\n _refreshNodesDataSource() {\r\n if (this._nodesOption) {\r\n this._nodesOption._disposeDataSource();\r\n delete this._nodesOption\r\n }\r\n if (this.option(\"nodes.dataSource\")) {\r\n this._nodesOption = new NodesOption(this);\r\n this._nodesOption.option(\"dataSource\", this.option(\"nodes.dataSource\"));\r\n this._nodesOption._refreshDataSource()\r\n }\r\n }\r\n _refreshEdgesDataSource() {\r\n if (this._edgesOption) {\r\n this._edgesOption._disposeDataSource();\r\n delete this._edgesOption\r\n }\r\n if (this.option(\"edges.dataSource\")) {\r\n this._edgesOption = new EdgesOption(this);\r\n this._edgesOption.option(\"dataSource\", this.option(\"edges.dataSource\"));\r\n this._edgesOption._refreshDataSource()\r\n }\r\n }\r\n _getDiagramData() {\r\n var value;\r\n var {\r\n DiagramCommand: DiagramCommand\r\n } = getDiagram();\r\n this._executeDiagramCommand(DiagramCommand.Export, (function(data) {\r\n value = data\r\n }));\r\n return value\r\n }\r\n _setDiagramData(data, keepExistingItems) {\r\n var {\r\n DiagramCommand: DiagramCommand\r\n } = getDiagram();\r\n this._executeDiagramCommand(DiagramCommand.Import, {\r\n data: data,\r\n keepExistingItems: keepExistingItems\r\n })\r\n }\r\n isReadOnlyMode() {\r\n return this.option(\"readOnly\") || this.option(\"disabled\")\r\n }\r\n _onDataSourceChanged() {\r\n this._bindDiagramData()\r\n }\r\n _getChangesKeys(changes) {\r\n return changes.map(change => {\r\n if (isDefined(change.internalKey)) {\r\n return change.internalKey\r\n } else if (isDefined(change.key)) {\r\n return change.key\r\n } else {\r\n return null\r\n }\r\n }).filter(key => isDefined(key))\r\n }\r\n _createOptionGetter(optionName) {\r\n var expr = this.option(optionName);\r\n return expr && compileGetter(expr)\r\n }\r\n _onRequestUpdateLayout(changes) {\r\n if (!this._requestLayoutUpdateAction) {\r\n this._createRequestLayoutUpdateAction()\r\n }\r\n var eventArgs = {\r\n changes: changes,\r\n allowed: false\r\n };\r\n this._requestLayoutUpdateAction(eventArgs);\r\n return eventArgs.allowed\r\n }\r\n _createOptionSetter(optionName) {\r\n var expr = this.option(optionName);\r\n if (isFunction(expr)) {\r\n return expr\r\n }\r\n return expr && compileSetter(expr)\r\n }\r\n _bindDiagramData() {\r\n if (this._updateDiagramLockCount || !this._isBindingMode()) {\r\n return\r\n }\r\n var {\r\n DiagramCommand: DiagramCommand,\r\n ConnectorLineOption: ConnectorLineOption,\r\n ConnectorLineEnding: ConnectorLineEnding\r\n } = getDiagram();\r\n var lineOptionGetter;\r\n var lineOptionSetter;\r\n var startLineEndingGetter;\r\n var startLineEndingSetter;\r\n var endLineEndingGetter;\r\n var endLineEndingSetter;\r\n var containerChildrenGetter;\r\n var containerChildrenSetter;\r\n var data = {\r\n nodeDataSource: this._nodesOption && this._nodesOption.getItems(),\r\n edgeDataSource: this._edgesOption && this._edgesOption.getItems(),\r\n nodeDataImporter: {\r\n getKey: this._createOptionGetter(\"nodes.keyExpr\"),\r\n setKey: this._createOptionSetter(\"nodes.keyExpr\"),\r\n getCustomData: this._createOptionGetter(\"nodes.customDataExpr\"),\r\n setCustomData: this._createOptionSetter(\"nodes.customDataExpr\"),\r\n getLocked: this._createOptionGetter(\"nodes.lockedExpr\"),\r\n setLocked: this._createOptionSetter(\"nodes.lockedExpr\"),\r\n getStyle: this._createOptionGetter(\"nodes.styleExpr\"),\r\n setStyle: this._createOptionSetter(\"nodes.styleExpr\"),\r\n getStyleText: this._createOptionGetter(\"nodes.textStyleExpr\"),\r\n setStyleText: this._createOptionSetter(\"nodes.textStyleExpr\"),\r\n getZIndex: this._createOptionGetter(\"nodes.zIndexExpr\"),\r\n setZIndex: this._createOptionSetter(\"nodes.zIndexExpr\"),\r\n getType: this._createOptionGetter(\"nodes.typeExpr\"),\r\n setType: this._createOptionSetter(\"nodes.typeExpr\"),\r\n getText: this._createOptionGetter(\"nodes.textExpr\"),\r\n setText: this._createOptionSetter(\"nodes.textExpr\"),\r\n getImage: this._createOptionGetter(\"nodes.imageUrlExpr\"),\r\n setImage: this._createOptionSetter(\"nodes.imageUrlExpr\"),\r\n getLeft: this._createOptionGetter(\"nodes.leftExpr\"),\r\n setLeft: this._createOptionSetter(\"nodes.leftExpr\"),\r\n getTop: this._createOptionGetter(\"nodes.topExpr\"),\r\n setTop: this._createOptionSetter(\"nodes.topExpr\"),\r\n getWidth: this._createOptionGetter(\"nodes.widthExpr\"),\r\n setWidth: this._createOptionSetter(\"nodes.widthExpr\"),\r\n getHeight: this._createOptionGetter(\"nodes.heightExpr\"),\r\n setHeight: this._createOptionSetter(\"nodes.heightExpr\"),\r\n getParentKey: this._createOptionGetter(\"nodes.parentKeyExpr\"),\r\n setParentKey: this._createOptionSetter(\"nodes.parentKeyExpr\"),\r\n getItems: this._createOptionGetter(\"nodes.itemsExpr\"),\r\n setItems: this._createOptionSetter(\"nodes.itemsExpr\"),\r\n getChildren: containerChildrenGetter = this._createOptionGetter(\"nodes.containerChildrenExpr\"),\r\n setChildren: containerChildrenSetter = this._createOptionSetter(\"nodes.containerChildrenExpr\"),\r\n getContainerKey: !containerChildrenGetter && !containerChildrenSetter && this._createOptionGetter(\"nodes.containerKeyExpr\"),\r\n setContainerKey: !containerChildrenGetter && !containerChildrenSetter && this._createOptionSetter(\"nodes.containerKeyExpr\")\r\n },\r\n edgeDataImporter: {\r\n getKey: this._createOptionGetter(\"edges.keyExpr\"),\r\n setKey: this._createOptionSetter(\"edges.keyExpr\"),\r\n getCustomData: this._createOptionGetter(\"edges.customDataExpr\"),\r\n setCustomData: this._createOptionSetter(\"edges.customDataExpr\"),\r\n getLocked: this._createOptionGetter(\"edges.lockedExpr\"),\r\n setLocked: this._createOptionSetter(\"edges.lockedExpr\"),\r\n getStyle: this._createOptionGetter(\"edges.styleExpr\"),\r\n setStyle: this._createOptionSetter(\"edges.styleExpr\"),\r\n getStyleText: this._createOptionGetter(\"edges.textStyleExpr\"),\r\n setStyleText: this._createOptionSetter(\"edges.textStyleExpr\"),\r\n getZIndex: this._createOptionGetter(\"edges.zIndexExpr\"),\r\n setZIndex: this._createOptionSetter(\"edges.zIndexExpr\"),\r\n getFrom: this._createOptionGetter(\"edges.fromExpr\"),\r\n setFrom: this._createOptionSetter(\"edges.fromExpr\"),\r\n getFromPointIndex: this._createOptionGetter(\"edges.fromPointIndexExpr\"),\r\n setFromPointIndex: this._createOptionSetter(\"edges.fromPointIndexExpr\"),\r\n getTo: this._createOptionGetter(\"edges.toExpr\"),\r\n setTo: this._createOptionSetter(\"edges.toExpr\"),\r\n getToPointIndex: this._createOptionGetter(\"edges.toPointIndexExpr\"),\r\n setToPointIndex: this._createOptionSetter(\"edges.toPointIndexExpr\"),\r\n getPoints: this._createOptionGetter(\"edges.pointsExpr\"),\r\n setPoints: this._createOptionSetter(\"edges.pointsExpr\"),\r\n getText: this._createOptionGetter(\"edges.textExpr\"),\r\n setText: this._createOptionSetter(\"edges.textExpr\"),\r\n getLineOption: (lineOptionGetter = this._createOptionGetter(\"edges.lineTypeExpr\")) && function(obj) {\r\n var lineType = lineOptionGetter(obj);\r\n return this._getConnectorLineOption(lineType)\r\n }.bind(this),\r\n setLineOption: (lineOptionSetter = this._createOptionSetter(\"edges.lineTypeExpr\")) && function(obj, value) {\r\n switch (value) {\r\n case ConnectorLineOption.Straight:\r\n value = \"straight\";\r\n break;\r\n case ConnectorLineOption.Orthogonal:\r\n value = \"orthogonal\"\r\n }\r\n lineOptionSetter(obj, value)\r\n }.bind(this),\r\n getStartLineEnding: (startLineEndingGetter = this._createOptionGetter(\"edges.fromLineEndExpr\")) && function(obj) {\r\n var lineEnd = startLineEndingGetter(obj);\r\n return this._getConnectorLineEnding(lineEnd)\r\n }.bind(this),\r\n setStartLineEnding: (startLineEndingSetter = this._createOptionSetter(\"edges.fromLineEndExpr\")) && function(obj, value) {\r\n switch (value) {\r\n case ConnectorLineEnding.Arrow:\r\n value = \"arrow\";\r\n break;\r\n case ConnectorLineEnding.OutlinedTriangle:\r\n value = \"outlinedTriangle\";\r\n break;\r\n case ConnectorLineEnding.FilledTriangle:\r\n value = \"filledTriangle\";\r\n break;\r\n case ConnectorLineEnding.None:\r\n value = \"none\"\r\n }\r\n startLineEndingSetter(obj, value)\r\n }.bind(this),\r\n getEndLineEnding: (endLineEndingGetter = this._createOptionGetter(\"edges.toLineEndExpr\")) && function(obj) {\r\n var lineEnd = endLineEndingGetter(obj);\r\n return this._getConnectorLineEnding(lineEnd)\r\n }.bind(this),\r\n setEndLineEnding: (endLineEndingSetter = this._createOptionSetter(\"edges.toLineEndExpr\")) && function(obj, value) {\r\n switch (value) {\r\n case ConnectorLineEnding.Arrow:\r\n value = \"arrow\";\r\n break;\r\n case ConnectorLineEnding.OutlinedTriangle:\r\n value = \"outlinedTriangle\";\r\n break;\r\n case ConnectorLineEnding.FilledTriangle:\r\n value = \"filledTriangle\";\r\n break;\r\n case ConnectorLineEnding.None:\r\n value = \"none\"\r\n }\r\n endLineEndingSetter(obj, value)\r\n }.bind(this)\r\n },\r\n layoutParameters: this._getDataBindingLayoutParameters()\r\n };\r\n this._executeDiagramCommand(DiagramCommand.BindDocument, data)\r\n }\r\n _reloadContentByChanges(changes, isExternalChanges) {\r\n var keys = this._getChangesKeys(changes);\r\n var applyLayout = this._onRequestUpdateLayout(changes);\r\n this._reloadContent(keys, applyLayout, isExternalChanges)\r\n }\r\n _reloadContent(itemKeys, applyLayout, isExternalChanges) {\r\n this._diagramInstance.reloadContent(itemKeys, () => {\r\n var nodeDataSource;\r\n var edgeDataSource;\r\n if (this._nodesOption && isExternalChanges) {\r\n nodeDataSource = this._nodesOption.getItems()\r\n }\r\n if (this._edgesOption && isExternalChanges) {\r\n edgeDataSource = this._edgesOption.getItems()\r\n }\r\n return {\r\n nodeDataSource: nodeDataSource,\r\n edgeDataSource: edgeDataSource\r\n }\r\n }, applyLayout && this._getDataBindingLayoutParameters(), isExternalChanges)\r\n }\r\n _getConnectorLineOption(lineType) {\r\n var {\r\n ConnectorLineOption: ConnectorLineOption\r\n } = getDiagram();\r\n switch (lineType) {\r\n case \"straight\":\r\n return ConnectorLineOption.Straight;\r\n default:\r\n return ConnectorLineOption.Orthogonal\r\n }\r\n }\r\n _getConnectorLineEnding(lineEnd) {\r\n var {\r\n ConnectorLineEnding: ConnectorLineEnding\r\n } = getDiagram();\r\n switch (lineEnd) {\r\n case \"arrow\":\r\n return ConnectorLineEnding.Arrow;\r\n case \"outlinedTriangle\":\r\n return ConnectorLineEnding.OutlinedTriangle;\r\n case \"filledTriangle\":\r\n return ConnectorLineEnding.FilledTriangle;\r\n default:\r\n return ConnectorLineEnding.None\r\n }\r\n }\r\n _getDataBindingLayoutParameters() {\r\n var {\r\n DataLayoutType: DataLayoutType,\r\n DataLayoutOrientation: DataLayoutOrientation\r\n } = getDiagram();\r\n var layoutParametersOption = this.option(\"nodes.autoLayout\") || \"off\";\r\n var layoutType = layoutParametersOption.type || layoutParametersOption;\r\n var parameters = {};\r\n if (\"off\" !== layoutType && (\"auto\" !== layoutType || !this._hasNodePositionExprs())) {\r\n switch (layoutType) {\r\n case \"tree\":\r\n parameters.type = DataLayoutType.Tree;\r\n break;\r\n default:\r\n parameters.type = DataLayoutType.Sugiyama\r\n }\r\n switch (layoutParametersOption.orientation) {\r\n case \"vertical\":\r\n parameters.orientation = DataLayoutOrientation.Vertical;\r\n break;\r\n case \"horizontal\":\r\n parameters.orientation = DataLayoutOrientation.Horizontal\r\n }\r\n if (this.option(\"edges.fromPointIndexExpr\") || this.option(\"edges.toPointIndexExpr\")) {\r\n parameters.skipPointIndices = true\r\n }\r\n }\r\n parameters.autoSizeEnabled = !!this.option(\"nodes.autoSizeEnabled\");\r\n return parameters\r\n }\r\n _hasNodePositionExprs() {\r\n return this.option(\"nodes.topExpr\") && this.option(\"nodes.leftExpr\")\r\n }\r\n _getAutoZoomValue(option) {\r\n var {\r\n AutoZoomMode: AutoZoomMode\r\n } = getDiagram();\r\n switch (option) {\r\n case \"fitContent\":\r\n return AutoZoomMode.FitContent;\r\n case \"fitWidth\":\r\n return AutoZoomMode.FitToWidth;\r\n default:\r\n return AutoZoomMode.Disabled\r\n }\r\n }\r\n _isBindingMode() {\r\n return this._nodesOption && this._nodesOption.hasItems() || this._edgesOption && this._edgesOption.hasItems()\r\n }\r\n _beginUpdateDiagram() {\r\n this._updateDiagramLockCount++\r\n }\r\n _endUpdateDiagram() {\r\n this._updateDiagramLockCount = Math.max(this._updateDiagramLockCount - 1, 0);\r\n if (!this._updateDiagramLockCount) {\r\n this._bindDiagramData()\r\n }\r\n }\r\n _getCustomShapes() {\r\n return this.option(\"customShapes\") || []\r\n }\r\n _getToolboxGroups() {\r\n return DiagramToolboxManager.getGroups(this.option(\"toolbox.groups\"))\r\n }\r\n _updateAllCustomShapes() {\r\n this._diagramInstance.removeAllCustomShapes();\r\n this._updateCustomShapes(this._getCustomShapes())\r\n }\r\n _updateCustomShapes(customShapes, prevCustomShapes) {\r\n if (Array.isArray(prevCustomShapes)) {\r\n this._diagramInstance.removeCustomShapes(prevCustomShapes.map(s => s.type))\r\n }\r\n if (Array.isArray(customShapes)) {\r\n this._diagramInstance.addCustomShapes(customShapes.map(s => {\r\n var templateOption = s.template || this.option(\"customShapeTemplate\");\r\n var template = templateOption && this._getTemplate(templateOption);\r\n var toolboxTemplateOption = s.toolboxTemplate || this.option(\"customShapeToolboxTemplate\");\r\n var toolboxTemplate = toolboxTemplateOption && this._getTemplate(toolboxTemplateOption);\r\n return {\r\n category: s.category,\r\n type: s.type,\r\n baseType: s.baseType,\r\n title: s.title,\r\n svgUrl: s.backgroundImageUrl,\r\n svgToolboxUrl: s.backgroundImageToolboxUrl,\r\n svgLeft: s.backgroundImageLeft,\r\n svgTop: s.backgroundImageTop,\r\n svgWidth: s.backgroundImageWidth,\r\n svgHeight: s.backgroundImageHeight,\r\n defaultWidth: s.defaultWidth,\r\n defaultHeight: s.defaultHeight,\r\n toolboxWidthToHeightRatio: s.toolboxWidthToHeightRatio,\r\n minWidth: s.minWidth,\r\n minHeight: s.minHeight,\r\n maxWidth: s.maxWidth,\r\n maxHeight: s.maxHeight,\r\n allowResize: s.allowResize,\r\n defaultText: s.defaultText,\r\n allowEditText: s.allowEditText,\r\n textLeft: s.textLeft,\r\n textTop: s.textTop,\r\n textWidth: s.textWidth,\r\n textHeight: s.textHeight,\r\n defaultImageUrl: s.defaultImageUrl,\r\n allowEditImage: s.allowEditImage,\r\n imageLeft: s.imageLeft,\r\n imageTop: s.imageTop,\r\n imageWidth: s.imageWidth,\r\n imageHeight: s.imageHeight,\r\n connectionPoints: s.connectionPoints && s.connectionPoints.map(pt => ({\r\n x: pt.x,\r\n y: pt.y\r\n })),\r\n createTemplate: template && ((container, item) => {\r\n template.render({\r\n model: this._nativeItemToDiagramItem(item),\r\n container: getPublicElement($(container))\r\n })\r\n }),\r\n createToolboxTemplate: toolboxTemplate && ((container, item) => {\r\n toolboxTemplate.render({\r\n model: this._nativeItemToDiagramItem(item),\r\n container: getPublicElement($(container))\r\n })\r\n }),\r\n destroyTemplate: template && (container => {\r\n $(container).empty()\r\n }),\r\n templateLeft: s.templateLeft,\r\n templateTop: s.templateTop,\r\n templateWidth: s.templateWidth,\r\n templateHeight: s.templateHeight,\r\n keepRatioOnAutoSize: s.keepRatioOnAutoSize\r\n }\r\n }))\r\n }\r\n }\r\n _getViewport() {\r\n var $viewPort = this.$element().closest(\".dx-viewport\");\r\n return $viewPort.length ? $viewPort : $(\"body\")\r\n }\r\n _onToggleFullScreen(fullScreen) {\r\n if (this.toggleFullscreenLock > 0) {\r\n return\r\n }\r\n this._changeNativeFullscreen(fullScreen);\r\n if (fullScreen) {\r\n this._prevParent = this.$element().parent();\r\n this._prevFullScreenZIndex = this.$element().css(\"zIndex\");\r\n this._fullScreenZIndex = zIndexPool.create(Overlay.baseZIndex());\r\n this.$element().css(\"zIndex\", this._fullScreenZIndex);\r\n this.$element().appendTo(this._getViewport())\r\n } else {\r\n this.$element().appendTo(this._prevParent);\r\n if (this._fullScreenZIndex) {\r\n zIndexPool.remove(this._fullScreenZIndex);\r\n this.$element().css(\"zIndex\", this._prevFullScreenZIndex)\r\n }\r\n }\r\n this.$element().toggleClass(DIAGRAM_FULLSCREEN_CLASS, fullScreen);\r\n this._processDiagramResize();\r\n if (this._toolbox) {\r\n this._toolbox.repaint();\r\n this._toolbox._popup.option(\"propagateOutsideClick\", !fullScreen)\r\n }\r\n if (this._propertiesPanel) {\r\n this._propertiesPanel.repaint()\r\n }\r\n if (this._historyToolbar) {\r\n this._updateHistoryToolbarPosition()\r\n }\r\n }\r\n _changeNativeFullscreen(setModeOn) {\r\n var window = getWindow();\r\n if (window.self === window.top || setModeOn === this._inNativeFullscreen()) {\r\n return\r\n }\r\n if (setModeOn) {\r\n this._subscribeFullscreenNativeChanged()\r\n } else {\r\n this._unsubscribeFullscreenNativeChanged()\r\n }\r\n this._setNativeFullscreen(setModeOn)\r\n }\r\n _setNativeFullscreen(on) {\r\n var window = getWindow();\r\n var document = window.self.document;\r\n var body = window.self.document.body;\r\n if (on) {\r\n if (body.requestFullscreen) {\r\n body.requestFullscreen()\r\n } else if (body.mozRequestFullscreen) {\r\n body.mozRequestFullscreen()\r\n } else if (body.webkitRequestFullscreen) {\r\n body.webkitRequestFullscreen()\r\n } else if (body.msRequestFullscreen) {\r\n body.msRequestFullscreen()\r\n }\r\n } else if (document.exitFullscreen) {\r\n document.exitFullscreen()\r\n } else if (document.mozCancelFullscreen) {\r\n document.mozCancelFullscreen()\r\n } else if (document.webkitExitFullscreen) {\r\n document.webkitExitFullscreen()\r\n } else if (document.msExitFullscreen) {\r\n document.msExitFullscreen()\r\n }\r\n }\r\n _inNativeFullscreen() {\r\n var document = getWindow().document;\r\n var fullscreenElement = document.fullscreenElement || document.msFullscreenElement || document.webkitFullscreenElement;\r\n var isInFullscreen = fullscreenElement === document.body || document.webkitIsFullscreen;\r\n return !!isInFullscreen\r\n }\r\n _subscribeFullscreenNativeChanged() {\r\n var document = getWindow().document;\r\n var handler = this._onNativeFullscreenChangeHandler.bind(this);\r\n eventsEngine.on(document, FULLSCREEN_CHANGE_EVENT_NAME, handler);\r\n eventsEngine.on(document, IE_FULLSCREEN_CHANGE_EVENT_NAME, handler);\r\n eventsEngine.on(document, WEBKIT_FULLSCREEN_CHANGE_EVENT_NAME, handler);\r\n eventsEngine.on(document, MOZ_FULLSCREEN_CHANGE_EVENT_NAME, handler)\r\n }\r\n _unsubscribeFullscreenNativeChanged() {\r\n var document = getWindow().document;\r\n eventsEngine.off(document, FULLSCREEN_CHANGE_EVENT_NAME);\r\n eventsEngine.off(document, IE_FULLSCREEN_CHANGE_EVENT_NAME);\r\n eventsEngine.off(document, WEBKIT_FULLSCREEN_CHANGE_EVENT_NAME);\r\n eventsEngine.off(document, MOZ_FULLSCREEN_CHANGE_EVENT_NAME)\r\n }\r\n _onNativeFullscreenChangeHandler() {\r\n if (!this._inNativeFullscreen()) {\r\n this._unsubscribeFullscreenNativeChanged();\r\n this.option(\"fullScreen\", false)\r\n }\r\n }\r\n _executeDiagramFullscreenCommand(fullscreen) {\r\n var {\r\n DiagramCommand: DiagramCommand\r\n } = getDiagram();\r\n this.toggleFullscreenLock++;\r\n this._executeDiagramCommand(DiagramCommand.Fullscreen, fullscreen);\r\n this.toggleFullscreenLock--\r\n }\r\n _onShowContextMenu(x, y, selection) {\r\n if (this._contextMenu) {\r\n this._contextMenu._show(x, y, selection)\r\n }\r\n }\r\n _onHideContextMenu() {\r\n if (this._contextMenu) {\r\n this._contextMenu._hide()\r\n }\r\n }\r\n _onShowContextToolbox(x, y, side, category, callback) {\r\n if (this._contextToolbox) {\r\n this._contextToolbox._show(x, y, side, category, callback)\r\n }\r\n }\r\n _onHideContextToolbox() {\r\n if (this._contextToolbox) {\r\n this._contextToolbox._hide()\r\n }\r\n }\r\n _getDiagramUnitValue(value) {\r\n var {\r\n DiagramUnit: DiagramUnit\r\n } = getDiagram();\r\n switch (value) {\r\n case \"in\":\r\n return DiagramUnit.In;\r\n case \"cm\":\r\n return DiagramUnit.Cm;\r\n case \"px\":\r\n return DiagramUnit.Px;\r\n default:\r\n return DiagramUnit.In\r\n }\r\n }\r\n _updateReadOnlyState() {\r\n var {\r\n DiagramCommand: DiagramCommand\r\n } = getDiagram();\r\n var readOnly = this.isReadOnlyMode();\r\n this._executeDiagramCommand(DiagramCommand.ToggleReadOnly, readOnly)\r\n }\r\n _updateZoomLevelState() {\r\n if (this.option(\"zoomLevel.items\")) {\r\n this._updateZoomLevelItemsState();\r\n var zoomLevel = this.option(\"zoomLevel.value\");\r\n if (!zoomLevel) {\r\n return\r\n }\r\n var {\r\n DiagramCommand: DiagramCommand\r\n } = getDiagram();\r\n this._executeDiagramCommand(DiagramCommand.ZoomLevel, zoomLevel)\r\n } else {\r\n var _zoomLevel = this.option(\"zoomLevel.value\") || this.option(\"zoomLevel\");\r\n if (!_zoomLevel) {\r\n return\r\n }\r\n var {\r\n DiagramCommand: _DiagramCommand\r\n } = getDiagram();\r\n this._executeDiagramCommand(_DiagramCommand.ZoomLevel, _zoomLevel)\r\n }\r\n }\r\n _updateZoomLevelItemsState() {\r\n var zoomLevelItems = this.option(\"zoomLevel.items\");\r\n if (!Array.isArray(zoomLevelItems)) {\r\n return\r\n }\r\n var {\r\n DiagramCommand: DiagramCommand\r\n } = getDiagram();\r\n this._executeDiagramCommand(DiagramCommand.ZoomLevelItems, zoomLevelItems)\r\n }\r\n _updateAutoZoomState() {\r\n var {\r\n DiagramCommand: DiagramCommand\r\n } = getDiagram();\r\n this._executeDiagramCommand(DiagramCommand.SwitchAutoZoom, this._getAutoZoomValue(this.option(\"autoZoomMode\")))\r\n }\r\n _updateSimpleViewState() {\r\n var {\r\n DiagramCommand: DiagramCommand\r\n } = getDiagram();\r\n this._executeDiagramCommand(DiagramCommand.ToggleSimpleView, this.option(\"simpleView\"))\r\n }\r\n _updateFullscreenState() {\r\n var fullscreen = this.option(\"fullScreen\");\r\n this._executeDiagramFullscreenCommand(fullscreen);\r\n this._onToggleFullScreen(fullscreen)\r\n }\r\n _updateShowGridState() {\r\n var {\r\n DiagramCommand: DiagramCommand\r\n } = getDiagram();\r\n this._executeDiagramCommand(DiagramCommand.ShowGrid, this.option(\"showGrid\"))\r\n }\r\n _updateSnapToGridState() {\r\n var {\r\n DiagramCommand: DiagramCommand\r\n } = getDiagram();\r\n this._executeDiagramCommand(DiagramCommand.SnapToGrid, this.option(\"snapToGrid\"))\r\n }\r\n _updateGridSizeState() {\r\n if (this.option(\"gridSize.items\")) {\r\n this._updateGridSizeItemsState();\r\n var gridSize = this.option(\"gridSize.value\");\r\n if (!gridSize) {\r\n return\r\n }\r\n var {\r\n DiagramCommand: DiagramCommand\r\n } = getDiagram();\r\n this._executeDiagramCommand(DiagramCommand.GridSize, gridSize)\r\n } else {\r\n var _gridSize = this.option(\"gridSize.value\") || this.option(\"gridSize\");\r\n if (!_gridSize) {\r\n return\r\n }\r\n var {\r\n DiagramCommand: _DiagramCommand2\r\n } = getDiagram();\r\n this._executeDiagramCommand(_DiagramCommand2.GridSize, _gridSize)\r\n }\r\n }\r\n _updateGridSizeItemsState() {\r\n var gridSizeItems = this.option(\"gridSize.items\");\r\n if (!Array.isArray(gridSizeItems)) {\r\n return\r\n }\r\n var {\r\n DiagramCommand: DiagramCommand\r\n } = getDiagram();\r\n this._executeDiagramCommand(DiagramCommand.GridSizeItems, gridSizeItems)\r\n }\r\n _updateUnitItems() {\r\n var {\r\n DiagramLocalizationService: DiagramLocalizationService\r\n } = getDiagram();\r\n var items = this._getUnitItems();\r\n if (this._unitItems !== items) {\r\n this._unitItems = items;\r\n DiagramLocalizationService.unitItems = items\r\n }\r\n }\r\n _getUnitItems() {\r\n var {\r\n DiagramUnit: DiagramUnit\r\n } = getDiagram();\r\n var items = {};\r\n items[DiagramUnit.In] = messageLocalization.format(\"dxDiagram-unitIn\");\r\n items[DiagramUnit.Cm] = messageLocalization.format(\"dxDiagram-unitCm\");\r\n items[DiagramUnit.Px] = messageLocalization.format(\"dxDiagram-unitPx\");\r\n return items\r\n }\r\n _updateFormatUnitsMethod() {\r\n var {\r\n DiagramLocalizationService: DiagramLocalizationService\r\n } = getDiagram();\r\n DiagramLocalizationService.formatUnit = function(value) {\r\n return numberLocalization.format(value)\r\n }\r\n }\r\n _updateViewUnitsState() {\r\n var {\r\n DiagramCommand: DiagramCommand\r\n } = getDiagram();\r\n this._executeDiagramCommand(DiagramCommand.ViewUnits, this._getDiagramUnitValue(this.option(\"viewUnits\")))\r\n }\r\n _updateUnitsState() {\r\n var {\r\n DiagramCommand: DiagramCommand\r\n } = getDiagram();\r\n this._executeDiagramCommand(DiagramCommand.Units, this._getDiagramUnitValue(this.option(\"units\")))\r\n }\r\n _updatePageSizeState() {\r\n var pageSize = this.option(\"pageSize\");\r\n if (!pageSize || !pageSize.width || !pageSize.height) {\r\n return\r\n }\r\n var {\r\n DiagramCommand: DiagramCommand\r\n } = getDiagram();\r\n this._executeDiagramCommand(DiagramCommand.PageSize, pageSize)\r\n }\r\n _updatePageSizeItemsState() {\r\n var pageSizeItems = this.option(\"pageSize.items\");\r\n if (!Array.isArray(pageSizeItems)) {\r\n return\r\n }\r\n var {\r\n DiagramCommand: DiagramCommand\r\n } = getDiagram();\r\n this._executeDiagramCommand(DiagramCommand.PageSizeItems, pageSizeItems)\r\n }\r\n _updatePageOrientationState() {\r\n var {\r\n DiagramCommand: DiagramCommand\r\n } = getDiagram();\r\n this._executeDiagramCommand(DiagramCommand.PageLandscape, \"landscape\" === this.option(\"pageOrientation\"))\r\n }\r\n _updatePageColorState() {\r\n var {\r\n DiagramCommand: DiagramCommand\r\n } = getDiagram();\r\n this._executeDiagramCommand(DiagramCommand.PageColor, this.option(\"pageColor\"))\r\n }\r\n _updateShapeTexts() {\r\n var {\r\n DiagramLocalizationService: DiagramLocalizationService\r\n } = getDiagram();\r\n var texts = this._getShapeTexts();\r\n if (this._shapeTexts !== texts) {\r\n this._shapeTexts = texts;\r\n DiagramLocalizationService.shapeTexts = texts\r\n }\r\n }\r\n _getShapeTexts() {\r\n var {\r\n ShapeTypes: ShapeTypes\r\n } = getDiagram();\r\n var texts = {};\r\n texts[ShapeTypes.Text] = messageLocalization.format(\"dxDiagram-shapeText\");\r\n texts[ShapeTypes.Rectangle] = messageLocalization.format(\"dxDiagram-shapeRectangle\");\r\n texts[ShapeTypes.Ellipse] = messageLocalization.format(\"dxDiagram-shapeEllipse\");\r\n texts[ShapeTypes.Cross] = messageLocalization.format(\"dxDiagram-shapeCross\");\r\n texts[ShapeTypes.Triangle] = messageLocalization.format(\"dxDiagram-shapeTriangle\");\r\n texts[ShapeTypes.Diamond] = messageLocalization.format(\"dxDiagram-shapeDiamond\");\r\n texts[ShapeTypes.Heart] = messageLocalization.format(\"dxDiagram-shapeHeart\");\r\n texts[ShapeTypes.Pentagon] = messageLocalization.format(\"dxDiagram-shapePentagon\");\r\n texts[ShapeTypes.Hexagon] = messageLocalization.format(\"dxDiagram-shapeHexagon\");\r\n texts[ShapeTypes.Octagon] = messageLocalization.format(\"dxDiagram-shapeOctagon\");\r\n texts[ShapeTypes.Star] = messageLocalization.format(\"dxDiagram-shapeStar\");\r\n texts[ShapeTypes.ArrowLeft] = messageLocalization.format(\"dxDiagram-shapeArrowLeft\");\r\n texts[ShapeTypes.ArrowUp] = messageLocalization.format(\"dxDiagram-shapeArrowUp\");\r\n texts[ShapeTypes.ArrowRight] = messageLocalization.format(\"dxDiagram-shapeArrowRight\");\r\n texts[ShapeTypes.ArrowDown] = messageLocalization.format(\"dxDiagram-shapeArrowDown\");\r\n texts[ShapeTypes.ArrowUpDown] = messageLocalization.format(\"dxDiagram-shapeArrowUpDown\");\r\n texts[ShapeTypes.ArrowLeftRight] = messageLocalization.format(\"dxDiagram-shapeArrowLeftRight\");\r\n texts[ShapeTypes.Process] = messageLocalization.format(\"dxDiagram-shapeProcess\");\r\n texts[ShapeTypes.Decision] = messageLocalization.format(\"dxDiagram-shapeDecision\");\r\n texts[ShapeTypes.Terminator] = messageLocalization.format(\"dxDiagram-shapeTerminator\");\r\n texts[ShapeTypes.PredefinedProcess] = messageLocalization.format(\"dxDiagram-shapePredefinedProcess\");\r\n texts[ShapeTypes.Document] = messageLocalization.format(\"dxDiagram-shapeDocument\");\r\n texts[ShapeTypes.MultipleDocuments] = messageLocalization.format(\"dxDiagram-shapeMultipleDocuments\");\r\n texts[ShapeTypes.ManualInput] = messageLocalization.format(\"dxDiagram-shapeManualInput\");\r\n texts[ShapeTypes.Preparation] = messageLocalization.format(\"dxDiagram-shapePreparation\");\r\n texts[ShapeTypes.Data] = messageLocalization.format(\"dxDiagram-shapeData\");\r\n texts[ShapeTypes.Database] = messageLocalization.format(\"dxDiagram-shapeDatabase\");\r\n texts[ShapeTypes.HardDisk] = messageLocalization.format(\"dxDiagram-shapeHardDisk\");\r\n texts[ShapeTypes.InternalStorage] = messageLocalization.format(\"dxDiagram-shapeInternalStorage\");\r\n texts[ShapeTypes.PaperTape] = messageLocalization.format(\"dxDiagram-shapePaperTape\");\r\n texts[ShapeTypes.ManualOperation] = messageLocalization.format(\"dxDiagram-shapeManualOperation\");\r\n texts[ShapeTypes.Delay] = messageLocalization.format(\"dxDiagram-shapeDelay\");\r\n texts[ShapeTypes.StoredData] = messageLocalization.format(\"dxDiagram-shapeStoredData\");\r\n texts[ShapeTypes.Display] = messageLocalization.format(\"dxDiagram-shapeDisplay\");\r\n texts[ShapeTypes.Merge] = messageLocalization.format(\"dxDiagram-shapeMerge\");\r\n texts[ShapeTypes.Connector] = messageLocalization.format(\"dxDiagram-shapeConnector\");\r\n texts[ShapeTypes.Or] = messageLocalization.format(\"dxDiagram-shapeOr\");\r\n texts[ShapeTypes.SummingJunction] = messageLocalization.format(\"dxDiagram-shapeSummingJunction\");\r\n texts[ShapeTypes.Container] = messageLocalization.format(\"dxDiagram-shapeContainerDefaultText\");\r\n texts[ShapeTypes.VerticalContainer] = messageLocalization.format(\"dxDiagram-shapeVerticalContainer\");\r\n texts[ShapeTypes.HorizontalContainer] = messageLocalization.format(\"dxDiagram-shapeHorizontalContainer\");\r\n texts[ShapeTypes.Card] = messageLocalization.format(\"dxDiagram-shapeCardDefaultText\");\r\n texts[ShapeTypes.CardWithImageOnLeft] = messageLocalization.format(\"dxDiagram-shapeCardWithImageOnLeft\");\r\n texts[ShapeTypes.CardWithImageOnTop] = messageLocalization.format(\"dxDiagram-shapeCardWithImageOnTop\");\r\n texts[ShapeTypes.CardWithImageOnRight] = messageLocalization.format(\"dxDiagram-shapeCardWithImageOnRight\");\r\n return texts\r\n }\r\n _updateEventSubscriptionMethods() {\r\n var {\r\n RenderHelper: RenderHelper\r\n } = getDiagram();\r\n RenderHelper.addEventListener = (element, eventName, handler) => {\r\n eventsEngine.on(element, eventName, handler)\r\n };\r\n RenderHelper.removeEventListener = (element, eventName, handler) => {\r\n eventsEngine.off(element, eventName, handler)\r\n }\r\n }\r\n _updateDefaultItemProperties() {\r\n if (this.option(\"defaultItemProperties.style\")) {\r\n this._diagramInstance.setInitialStyleProperties(this.option(\"defaultItemProperties.style\"))\r\n }\r\n if (this.option(\"defaultItemProperties.textStyle\")) {\r\n this._diagramInstance.setInitialTextStyleProperties(this.option(\"defaultItemProperties.textStyle\"))\r\n }\r\n this._diagramInstance.setInitialConnectorProperties({\r\n lineOption: this._getConnectorLineOption(this.option(\"defaultItemProperties.connectorLineType\")),\r\n startLineEnding: this._getConnectorLineEnding(this.option(\"defaultItemProperties.connectorLineStart\")),\r\n endLineEnding: this._getConnectorLineEnding(this.option(\"defaultItemProperties.connectorLineEnd\"))\r\n });\r\n this._diagramInstance.applyShapeSizeSettings({\r\n shapeMinWidth: this.option(\"defaultItemProperties.shapeMinWidth\"),\r\n shapeMaxWidth: this.option(\"defaultItemProperties.shapeMaxWidth\"),\r\n shapeMinHeight: this.option(\"defaultItemProperties.shapeMinHeight\"),\r\n shapeMaxHeight: this.option(\"defaultItemProperties.shapeMaxHeight\")\r\n })\r\n }\r\n _updateEditingSettings() {\r\n this._diagramInstance.applyOperationSettings({\r\n addShape: this.option(\"editing.allowAddShape\"),\r\n addShapeFromToolbox: this.option(\"editing.allowAddShape\"),\r\n deleteShape: this.option(\"editing.allowDeleteShape\"),\r\n deleteConnector: this.option(\"editing.allowDeleteConnector\"),\r\n changeConnection: this.option(\"editing.allowChangeConnection\"),\r\n changeConnectorPoints: this.option(\"editing.allowChangeConnectorPoints\"),\r\n changeShapeText: this.option(\"editing.allowChangeShapeText\"),\r\n changeConnectorText: this.option(\"editing.allowChangeConnectorText\"),\r\n resizeShape: this.option(\"editing.allowResizeShape\"),\r\n moveShape: this.option(\"editing.allowMoveShape\")\r\n })\r\n }\r\n fitToContent() {\r\n var {\r\n DiagramCommand: DiagramCommand\r\n } = getDiagram();\r\n this._executeDiagramCommand(DiagramCommand.FitToScreen)\r\n }\r\n fitToWidth() {\r\n var {\r\n DiagramCommand: DiagramCommand\r\n } = getDiagram();\r\n this._executeDiagramCommand(DiagramCommand.FitToWidth)\r\n }\r\n focus() {\r\n this._captureFocus()\r\n }\r\n export () {\r\n return this._getDiagramData()\r\n }\r\n exportTo(format, callback) {\r\n var command = this._getDiagramExportToCommand(format);\r\n this._executeDiagramCommand(command, callback)\r\n }\r\n _getDiagramExportToCommand(format) {\r\n var {\r\n DiagramCommand: DiagramCommand\r\n } = getDiagram();\r\n switch (format) {\r\n case \"png\":\r\n return DiagramCommand.ExportPng;\r\n case \"jpg\":\r\n return DiagramCommand.ExportJpg;\r\n default:\r\n return DiagramCommand.ExportSvg\r\n }\r\n }\r\n import(data, updateExistingItemsOnly) {\r\n this._setDiagramData(data, updateExistingItemsOnly);\r\n this._raiseDataChangeAction()\r\n }\r\n updateToolbox() {\r\n this._diagramInstance && this._diagramInstance.refreshToolbox();\r\n if (this._toolbox) {\r\n this._toolbox.updateTooltips();\r\n this._toolbox.updateFilter();\r\n this._toolbox.updateMaxHeight()\r\n }\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n readOnly: false,\r\n zoomLevel: DIAGRAM_DEFAULT_ZOOMLEVEL,\r\n simpleView: false,\r\n autoZoomMode: DIAGRAM_DEFAULT_AUTOZOOM_MODE,\r\n fullScreen: false,\r\n showGrid: true,\r\n snapToGrid: true,\r\n units: DIAGRAM_DEFAULT_UNIT,\r\n viewUnits: DIAGRAM_DEFAULT_UNIT,\r\n pageOrientation: DIAGRAM_DEFAULT_PAGE_ORIENTATION,\r\n pageColor: DIAGRAM_DEFAULT_PAGE_COLOR,\r\n hasChanges: false,\r\n nodes: {\r\n dataSource: null,\r\n keyExpr: \"id\",\r\n customDataExpr: void 0,\r\n lockedExpr: void 0,\r\n styleExpr: void 0,\r\n textStyleExpr: void 0,\r\n zIndexExpr: void 0,\r\n typeExpr: \"type\",\r\n textExpr: \"text\",\r\n imageUrlExpr: void 0,\r\n parentKeyExpr: void 0,\r\n itemsExpr: void 0,\r\n leftExpr: void 0,\r\n topExpr: void 0,\r\n widthExpr: void 0,\r\n heightExpr: void 0,\r\n containerKeyExpr: \"containerKey\",\r\n containerChildrenExpr: void 0,\r\n autoLayout: \"auto\",\r\n autoSizeEnabled: true\r\n },\r\n edges: {\r\n dataSource: null,\r\n keyExpr: \"id\",\r\n customDataExpr: void 0,\r\n lockedExpr: void 0,\r\n styleExpr: void 0,\r\n textStyleExpr: void 0,\r\n zIndexExpr: void 0,\r\n fromExpr: \"from\",\r\n fromPointIndexExpr: void 0,\r\n toExpr: \"to\",\r\n toPointIndexExpr: void 0,\r\n pointsExpr: void 0,\r\n textExpr: void 0,\r\n lineTypeExpr: void 0,\r\n fromLineEndExpr: void 0,\r\n toLineEndExpr: void 0\r\n },\r\n customShapes: [],\r\n toolbox: {\r\n visibility: \"auto\",\r\n shapeIconsPerRow: DIAGRAM_TOOLBOX_SHAPES_PER_ROW,\r\n showSearch: true\r\n },\r\n mainToolbar: {\r\n visible: false\r\n },\r\n historyToolbar: {\r\n visible: true\r\n },\r\n viewToolbar: {\r\n visible: true\r\n },\r\n contextMenu: {\r\n enabled: true\r\n },\r\n contextToolbox: {\r\n enabled: true,\r\n shapeIconsPerRow: DIAGRAM_CONTEXT_TOOLBOX_SHAPES_PER_ROW,\r\n width: DIAGRAM_CONTEXT_TOOLBOX_DEFAULT_WIDTH\r\n },\r\n propertiesPanel: {\r\n visibility: \"auto\"\r\n },\r\n defaultItemProperties: {\r\n connectorLineType: \"orthogonal\",\r\n connectorLineStart: \"none\",\r\n connectorLineEnd: \"arrow\"\r\n },\r\n editing: {\r\n allowAddShape: true,\r\n allowDeleteShape: true,\r\n allowDeleteConnector: true,\r\n allowChangeConnection: true,\r\n allowChangeConnectorPoints: true,\r\n allowChangeShapeText: true,\r\n allowChangeConnectorText: true,\r\n allowResizeShape: true,\r\n allowMoveShape: true\r\n },\r\n export: {\r\n fileName: \"Diagram\"\r\n },\r\n onItemClick: null,\r\n onItemDblClick: null,\r\n onSelectionChanged: null,\r\n onRequestEditOperation: null,\r\n onRequestLayoutUpdate: null\r\n })\r\n }\r\n _raiseDataChangeAction() {\r\n if (this._initialized) {\r\n this.option(\"hasChanges\", true)\r\n }\r\n }\r\n _raiseEdgeInsertedAction(data, callback, errorCallback) {\r\n if (this._edgesOption) {\r\n this._edgesOption.insert(data, callback, errorCallback)\r\n }\r\n }\r\n _raiseEdgeUpdatedAction(key, data, callback, errorCallback) {\r\n if (this._edgesOption) {\r\n this._edgesOption.update(key, data, callback, errorCallback)\r\n }\r\n }\r\n _raiseEdgeRemovedAction(key, data, callback, errorCallback) {\r\n if (this._edgesOption) {\r\n this._edgesOption.remove(key, data, callback, errorCallback)\r\n }\r\n }\r\n _raiseNodeInsertedAction(data, callback, errorCallback) {\r\n if (this._nodesOption) {\r\n this._nodesOption.insert(data, callback, errorCallback)\r\n }\r\n }\r\n _raiseNodeUpdatedAction(key, data, callback, errorCallback) {\r\n if (this._nodesOption) {\r\n this._nodesOption.update(key, data, callback, errorCallback)\r\n }\r\n }\r\n _raiseNodeRemovedAction(key, data, callback, errorCallback) {\r\n if (this._nodesOption) {\r\n this._nodesOption.remove(key, data, callback, errorCallback)\r\n }\r\n }\r\n _raiseToolboxDragStart() {\r\n if (this._toolbox && this.isMobileScreenSize()) {\r\n this._toolbox.hide();\r\n this._toolboxDragHidden = true\r\n }\r\n }\r\n _raiseToolboxDragEnd() {\r\n if (this._toolbox && this._toolboxDragHidden) {\r\n this._toolbox.show();\r\n delete this._toolboxDragHidden\r\n }\r\n }\r\n _raiseTextInputStart() {\r\n this._textInputStarted = true;\r\n if (this._propertiesPanel) {\r\n if (this.isMobileScreenSize() && this._propertiesPanel.isVisible()) {\r\n this._propertiesPanel.hide();\r\n this._propertiesPanelTextInputHidden = true\r\n }\r\n }\r\n if (this._toolbox) {\r\n if (this.isMobileScreenSize() && this._toolbox.isVisible()) {\r\n this._toolbox.hide();\r\n this._toolboxTextInputHidden = true\r\n }\r\n }\r\n }\r\n _raiseTextInputEnd() {\r\n if (this._propertiesPanel) {\r\n if (this._propertiesPanelTextInputHidden) {\r\n this._propertiesPanel.show();\r\n delete this._propertiesPanelTextInputHidden\r\n }\r\n }\r\n if (this._toolbox) {\r\n if (this._toolboxTextInputHidden) {\r\n this._toolbox.show();\r\n delete this._toolboxTextInputHidden\r\n }\r\n }\r\n this._textInputStarted = false\r\n }\r\n _createItemClickAction() {\r\n this._itemClickAction = this._createActionByOption(\"onItemClick\")\r\n }\r\n _createItemDblClickAction() {\r\n this._itemDblClickAction = this._createActionByOption(\"onItemDblClick\")\r\n }\r\n _createSelectionChangedAction() {\r\n this._selectionChangedAction = this._createActionByOption(\"onSelectionChanged\")\r\n }\r\n _createRequestEditOperationAction() {\r\n this._requestEditOperationAction = this._createActionByOption(\"onRequestEditOperation\")\r\n }\r\n _createRequestLayoutUpdateAction() {\r\n this._requestLayoutUpdateAction = this._createActionByOption(\"onRequestLayoutUpdate\")\r\n }\r\n _createCustomCommand() {\r\n this._customCommandAction = this._createActionByOption(\"onCustomCommand\")\r\n }\r\n _raiseItemClickAction(nativeItem) {\r\n if (!this._itemClickAction) {\r\n this._createItemClickAction()\r\n }\r\n this._itemClickAction({\r\n item: this._nativeItemToDiagramItem(nativeItem)\r\n })\r\n }\r\n _raiseItemDblClickAction(nativeItem) {\r\n if (!this._itemDblClickAction) {\r\n this._createItemDblClickAction()\r\n }\r\n this._itemDblClickAction({\r\n item: this._nativeItemToDiagramItem(nativeItem)\r\n })\r\n }\r\n _raiseSelectionChanged(nativeItems) {\r\n if (!this._selectionChangedAction) {\r\n this._createSelectionChangedAction()\r\n }\r\n this._selectionChangedAction({\r\n items: nativeItems.map(this._nativeItemToDiagramItem.bind(this))\r\n })\r\n }\r\n _raiseRequestEditOperation(operation, args) {\r\n if (!this._requestEditOperationAction) {\r\n this._createRequestEditOperationAction()\r\n }\r\n var eventArgs = this._getRequestEditOperationEventArgs(operation, args);\r\n this._requestEditOperationAction(eventArgs);\r\n args.allowed = eventArgs.allowed\r\n }\r\n _getModelOperation(operation) {\r\n var {\r\n DiagramModelOperation: DiagramModelOperation\r\n } = getDiagram();\r\n switch (operation) {\r\n case DiagramModelOperation.AddShape:\r\n return \"addShape\";\r\n case DiagramModelOperation.AddShapeFromToolbox:\r\n return \"addShapeFromToolbox\";\r\n case DiagramModelOperation.DeleteShape:\r\n return \"deleteShape\";\r\n case DiagramModelOperation.DeleteConnector:\r\n return \"deleteConnector\";\r\n case DiagramModelOperation.ChangeConnection:\r\n return \"changeConnection\";\r\n case DiagramModelOperation.ChangeConnectorPoints:\r\n return \"changeConnectorPoints\";\r\n case DiagramModelOperation.BeforeChangeShapeText:\r\n return \"beforeChangeShapeText\";\r\n case DiagramModelOperation.ChangeShapeText:\r\n return \"changeShapeText\";\r\n case DiagramModelOperation.BeforeChangeConnectorText:\r\n return \"beforeChangeConnectorText\";\r\n case DiagramModelOperation.ChangeConnectorText:\r\n return \"changeConnectorText\";\r\n case DiagramModelOperation.ResizeShape:\r\n return \"resizeShape\";\r\n case DiagramModelOperation.MoveShape:\r\n return \"moveShape\"\r\n }\r\n }\r\n _getRequestEditOperationEventArgs(operation, args) {\r\n var {\r\n DiagramModelOperation: DiagramModelOperation,\r\n ConnectorPosition: ConnectorPosition\r\n } = getDiagram();\r\n var eventArgs = {\r\n operation: this._getModelOperation(operation),\r\n allowed: args.allowed,\r\n updateUI: args.updateUI,\r\n reason: args.updateUI ? \"checkUIElementAvailability\" : \"modelModification\"\r\n };\r\n switch (operation) {\r\n case DiagramModelOperation.AddShape:\r\n eventArgs.args = {\r\n shape: args.shape && this._nativeItemToDiagramItem(args.shape),\r\n position: args.position && {\r\n x: args.position.x,\r\n y: args.position.y\r\n }\r\n };\r\n break;\r\n case DiagramModelOperation.AddShapeFromToolbox:\r\n eventArgs.args = {\r\n shapeType: args.shapeType\r\n };\r\n break;\r\n case DiagramModelOperation.DeleteShape:\r\n eventArgs.args = {\r\n shape: args.shape && this._nativeItemToDiagramItem(args.shape)\r\n };\r\n break;\r\n case DiagramModelOperation.DeleteConnector:\r\n eventArgs.args = {\r\n connector: args.connector && this._nativeItemToDiagramItem(args.connector)\r\n };\r\n break;\r\n case DiagramModelOperation.ChangeConnection:\r\n eventArgs.args = {\r\n newShape: args.shape && this._nativeItemToDiagramItem(args.shape),\r\n oldShape: args.oldShape && this._nativeItemToDiagramItem(args.oldShape),\r\n connector: args.connector && this._nativeItemToDiagramItem(args.connector),\r\n connectionPointIndex: args.connectionPointIndex,\r\n connectorPosition: args.position === ConnectorPosition.Begin ? \"start\" : \"end\"\r\n };\r\n break;\r\n case DiagramModelOperation.ChangeConnectorPoints:\r\n eventArgs.args = {\r\n connector: args.connector && this._nativeItemToDiagramItem(args.connector),\r\n newPoints: args.points && args.points.map(pt => ({\r\n x: pt.x,\r\n y: pt.y\r\n })),\r\n oldPoints: args.oldPoints && args.oldPoints.map(pt => ({\r\n x: pt.x,\r\n y: pt.y\r\n }))\r\n };\r\n break;\r\n case DiagramModelOperation.BeforeChangeShapeText:\r\n eventArgs.args = {\r\n shape: args.shape && this._nativeItemToDiagramItem(args.shape)\r\n };\r\n break;\r\n case DiagramModelOperation.ChangeShapeText:\r\n eventArgs.args = {\r\n shape: args.shape && this._nativeItemToDiagramItem(args.shape),\r\n text: args.text\r\n };\r\n break;\r\n case DiagramModelOperation.BeforeChangeConnectorText:\r\n eventArgs.args = {\r\n connector: args.connector && this._nativeItemToDiagramItem(args.connector),\r\n index: args.index\r\n };\r\n break;\r\n case DiagramModelOperation.ChangeConnectorText:\r\n eventArgs.args = {\r\n connector: args.connector && this._nativeItemToDiagramItem(args.connector),\r\n index: args.index,\r\n text: args.text\r\n };\r\n break;\r\n case DiagramModelOperation.ResizeShape:\r\n eventArgs.args = {\r\n shape: args.shape && this._nativeItemToDiagramItem(args.shape),\r\n newSize: args.size && {\r\n width: args.size.width,\r\n height: args.size.height\r\n },\r\n oldSize: args.oldSize && {\r\n width: args.oldSize.width,\r\n height: args.oldSize.height\r\n }\r\n };\r\n break;\r\n case DiagramModelOperation.MoveShape:\r\n eventArgs.args = {\r\n shape: args.shape && this._nativeItemToDiagramItem(args.shape),\r\n newPosition: args.position && {\r\n x: args.position.x,\r\n y: args.position.y\r\n },\r\n oldPosition: args.oldPosition && {\r\n x: args.oldPosition.x,\r\n y: args.oldPosition.y\r\n }\r\n }\r\n }\r\n return eventArgs\r\n }\r\n _nativeItemToDiagramItem(nativeItem) {\r\n var {\r\n NativeShape: NativeShape\r\n } = getDiagram();\r\n var createMethod = nativeItem instanceof NativeShape ? this._nativeShapeToDiagramShape.bind(this) : this._nativeConnectorToDiagramConnector.bind(this);\r\n return extend({\r\n id: nativeItem.id,\r\n key: nativeItem.key,\r\n dataItem: void 0\r\n }, createMethod(nativeItem))\r\n }\r\n _nativeShapeToDiagramShape(nativeShape) {\r\n return {\r\n dataItem: this._nodesOption && this._nodesOption.findItem(nativeShape.key),\r\n itemType: \"shape\",\r\n text: nativeShape.text,\r\n type: nativeShape.type,\r\n position: {\r\n x: nativeShape.position.x,\r\n y: nativeShape.position.y\r\n },\r\n size: {\r\n width: nativeShape.size.width,\r\n height: nativeShape.size.height\r\n },\r\n attachedConnectorIds: nativeShape.attachedConnectorIds,\r\n containerId: nativeShape.containerId,\r\n containerChildItemIds: nativeShape.containerChildItemIds,\r\n containerExpanded: nativeShape.containerExpanded\r\n }\r\n }\r\n _nativeConnectorToDiagramConnector(nativeConnector) {\r\n return {\r\n dataItem: this._edgesOption && this._edgesOption.findItem(nativeConnector.key),\r\n itemType: \"connector\",\r\n texts: nativeConnector.texts,\r\n fromKey: nativeConnector.fromKey,\r\n toKey: nativeConnector.toKey,\r\n fromId: nativeConnector.fromId,\r\n fromPointIndex: nativeConnector.fromPointIndex,\r\n toId: nativeConnector.toId,\r\n toPointIndex: nativeConnector.toPointIndex,\r\n points: nativeConnector.points.map(pt => ({\r\n x: pt.x,\r\n y: pt.y\r\n }))\r\n }\r\n }\r\n getItemByKey(key) {\r\n var nativeItem = this._diagramInstance && this._diagramInstance.getNativeItemByDataKey(key);\r\n return nativeItem && this._nativeItemToDiagramItem(nativeItem)\r\n }\r\n getItemById(id) {\r\n var nativeItem = this._diagramInstance && this._diagramInstance.getNativeItemByKey(id);\r\n return nativeItem && this._nativeItemToDiagramItem(nativeItem)\r\n }\r\n getItems() {\r\n return this._diagramInstance.getNativeItems().map(nativeItem => nativeItem && this._nativeItemToDiagramItem(nativeItem))\r\n }\r\n getSelectedItems() {\r\n return this._diagramInstance.getNativeSelectedItems().map(nativeItem => nativeItem && this._nativeItemToDiagramItem(nativeItem))\r\n }\r\n setSelectedItems(items) {\r\n return this._diagramInstance.setSelectedItems(items.map(item => item.id))\r\n }\r\n scrollToItem(item) {\r\n return this._diagramInstance.scrollToItems([item.id])\r\n }\r\n _invalidateContextMenuCommands() {\r\n if (this._contextMenu) {\r\n this._contextMenu.option({\r\n commands: this.option(\"contextMenu.commands\")\r\n })\r\n }\r\n }\r\n _invalidateMainToolbarCommands() {\r\n if (this._mainToolbar) {\r\n this._mainToolbar.option({\r\n commands: this.option(\"mainToolbar.commands\")\r\n })\r\n }\r\n }\r\n _invalidateHistoryToolbarCommands() {\r\n if (this._historyToolbar) {\r\n this._historyToolbar.option({\r\n commands: this.option(\"historyToolbar.commands\")\r\n })\r\n }\r\n }\r\n _invalidateViewToolbarCommands() {\r\n if (this._viewToolbar) {\r\n this._viewToolbar.option({\r\n commands: this.option(\"viewToolbar.commands\")\r\n })\r\n }\r\n }\r\n _invalidateToolboxGroups() {\r\n if (this._toolbox) {\r\n this._toolbox.option({\r\n toolboxGroups: this._getToolboxGroups()\r\n })\r\n }\r\n }\r\n _optionChanged(args) {\r\n if (!this.optionsUpdateBar || this.optionsUpdateBar.isUpdateLocked()) {\r\n return\r\n }\r\n this.optionsUpdateBar.beginUpdate();\r\n try {\r\n this._optionChangedCore(args)\r\n } finally {\r\n this.optionsUpdateBar.endUpdate()\r\n }\r\n }\r\n _optionChangedCore(args) {\r\n switch (args.name) {\r\n case \"readOnly\":\r\n case \"disabled\":\r\n this._updateReadOnlyState();\r\n this._invalidate();\r\n break;\r\n case \"zoomLevel\":\r\n if (\"zoomLevel\" === args.fullName || \"zoomLevel.items\" === args.fullName || \"zoomLevel.value\" === args.fullName) {\r\n this._updateZoomLevelState()\r\n }\r\n break;\r\n case \"autoZoomMode\":\r\n this._updateAutoZoomState();\r\n break;\r\n case \"simpleView\":\r\n this._updateSimpleViewState();\r\n break;\r\n case \"useNativeScrolling\":\r\n this._invalidate();\r\n break;\r\n case \"fullScreen\":\r\n this._updateFullscreenState();\r\n break;\r\n case \"showGrid\":\r\n this._updateShowGridState();\r\n break;\r\n case \"snapToGrid\":\r\n this._updateSnapToGridState();\r\n break;\r\n case \"gridSize\":\r\n if (\"gridSize\" === args.fullName || \"gridSize.items\" === args.fullName || \"gridSize.value\" === args.fullName) {\r\n this._updateGridSizeState()\r\n }\r\n break;\r\n case \"viewUnits\":\r\n this._updateViewUnitsState();\r\n break;\r\n case \"units\":\r\n this._updateUnitsState();\r\n break;\r\n case \"pageSize\":\r\n if (\"pageSize\" === args.fullName || \"pageSize.items\" === args.fullName) {\r\n this._updatePageSizeItemsState()\r\n }\r\n if (\"pageSize\" === args.fullName || \"pageSize.width\" === args.fullName || \"pageSize.height\" === args.fullName) {\r\n this._updatePageSizeState()\r\n }\r\n break;\r\n case \"pageOrientation\":\r\n this._updatePageOrientationState();\r\n break;\r\n case \"pageColor\":\r\n this._updatePageColorState();\r\n break;\r\n case \"nodes\":\r\n if (0 === args.fullName.indexOf(\"nodes.autoLayout\")) {\r\n this._refreshDataSources()\r\n } else {\r\n this._refreshNodesDataSource()\r\n }\r\n break;\r\n case \"edges\":\r\n this._refreshEdgesDataSource();\r\n break;\r\n case \"customShapes\":\r\n if (args.fullName !== args.name) {\r\n this._updateAllCustomShapes()\r\n } else {\r\n this._updateCustomShapes(args.value, args.previousValue)\r\n }\r\n this._invalidate();\r\n break;\r\n case \"contextMenu\":\r\n if (\"contextMenu.commands\" === args.fullName) {\r\n this._invalidateContextMenuCommands()\r\n } else {\r\n this._invalidate()\r\n }\r\n break;\r\n case \"contextToolbox\":\r\n case \"propertiesPanel\":\r\n this._invalidate();\r\n break;\r\n case \"toolbox\":\r\n if (\"toolbox.groups\" === args.fullName) {\r\n this._invalidateToolboxGroups()\r\n } else {\r\n this._invalidate()\r\n }\r\n break;\r\n case \"mainToolbar\":\r\n if (\"mainToolbar.commands\" === args.fullName) {\r\n this._invalidateMainToolbarCommands()\r\n } else {\r\n this._invalidate()\r\n }\r\n break;\r\n case \"historyToolbar\":\r\n if (\"historyToolbar.commands\" === args.fullName) {\r\n this._invalidateHistoryToolbarCommands()\r\n } else {\r\n this._invalidate()\r\n }\r\n break;\r\n case \"viewToolbar\":\r\n if (\"viewToolbar.commands\" === args.fullName) {\r\n this._invalidateViewToolbarCommands()\r\n } else {\r\n this._invalidate()\r\n }\r\n break;\r\n case \"onItemClick\":\r\n this._createItemClickAction();\r\n break;\r\n case \"onItemDblClick\":\r\n this._createItemDblClickAction();\r\n break;\r\n case \"onSelectionChanged\":\r\n this._createSelectionChangedAction();\r\n break;\r\n case \"onRequestEditOperation\":\r\n this._createRequestEditOperationAction();\r\n break;\r\n case \"onRequestLayoutUpdate\":\r\n this._createRequestLayoutUpdateAction();\r\n break;\r\n case \"onCustomCommand\":\r\n this._createCustomCommand();\r\n break;\r\n case \"defaultItemProperties\":\r\n this._updateDefaultItemProperties();\r\n break;\r\n case \"editing\":\r\n this._updateEditingSettings();\r\n break;\r\n case \"export\":\r\n this._toolbars.forEach(toolbar => {\r\n toolbar.option(\"export\", this.option(\"export\"))\r\n });\r\n if (this._contextMenu) {\r\n this._contextMenu.option(\"export\", this.option(\"export\"))\r\n }\r\n break;\r\n case \"hasChanges\":\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n}\r\nregisterComponent(\"dxDiagram\", Diagram);\r\nexport default Diagram;\r\n","/**\r\n * DevExtreme (esm/ui/diagram.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Diagram from \"./diagram/ui.diagram\";\r\nexport default Diagram;\r\n","/**\r\n * DevExtreme (esm/ui/dialog.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight,\r\n getWidth\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n Component\r\n} from \"../core/component\";\r\nimport Action from \"../core/action\";\r\nimport devices from \"../core/devices\";\r\nimport config from \"../core/config\";\r\nimport {\r\n resetActiveElement\r\n} from \"../core/utils/dom\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n isPlainObject\r\n} from \"../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n value as getViewport\r\n} from \"../core/utils/view_port\";\r\nimport messageLocalization from \"../localization/message\";\r\nimport errors from \"./widget/ui.errors\";\r\nimport Popup from \"./popup/ui.popup\";\r\nimport {\r\n ensureDefined\r\n} from \"../core/utils/common\";\r\nvar window = getWindow();\r\nvar DEFAULT_BUTTON = {\r\n text: \"OK\",\r\n onClick: function() {\r\n return true\r\n }\r\n};\r\nvar DX_DIALOG_CLASSNAME = \"dx-dialog\";\r\nvar DX_DIALOG_WRAPPER_CLASSNAME = \"\".concat(DX_DIALOG_CLASSNAME, \"-wrapper\");\r\nvar DX_DIALOG_ROOT_CLASSNAME = \"\".concat(DX_DIALOG_CLASSNAME, \"-root\");\r\nvar DX_DIALOG_CONTENT_CLASSNAME = \"\".concat(DX_DIALOG_CLASSNAME, \"-content\");\r\nvar DX_DIALOG_MESSAGE_CLASSNAME = \"\".concat(DX_DIALOG_CLASSNAME, \"-message\");\r\nvar DX_DIALOG_BUTTONS_CLASSNAME = \"\".concat(DX_DIALOG_CLASSNAME, \"-buttons\");\r\nvar DX_DIALOG_BUTTON_CLASSNAME = \"\".concat(DX_DIALOG_CLASSNAME, \"-button\");\r\nvar DX_BUTTON_CLASSNAME = \"dx-button\";\r\nexport var FakeDialogComponent = Component.inherit({\r\n ctor: function(element, options) {\r\n this.callBase(options)\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"ios\"\r\n },\r\n options: {\r\n width: 276\r\n }\r\n }])\r\n }\r\n});\r\nexport var custom = function(options) {\r\n var _options$title;\r\n var deferred = new Deferred;\r\n var defaultOptions = (new FakeDialogComponent).option();\r\n options = extend(defaultOptions, options);\r\n var $element = $(\"<div>\").addClass(DX_DIALOG_CLASSNAME).appendTo(getViewport());\r\n var isMessageDefined = \"message\" in options;\r\n var isMessageHtmlDefined = \"messageHtml\" in options;\r\n if (isMessageDefined) {\r\n errors.log(\"W1013\")\r\n }\r\n var messageHtml = String(isMessageHtmlDefined ? options.messageHtml : options.message);\r\n var $message = $(\"<div>\").addClass(DX_DIALOG_MESSAGE_CLASSNAME).html(messageHtml);\r\n var popupToolbarItems = [];\r\n each(options.buttons || [DEFAULT_BUTTON], (function() {\r\n var action = new Action(this.onClick, {\r\n context: popupInstance\r\n });\r\n popupToolbarItems.push({\r\n toolbar: \"bottom\",\r\n location: devices.current().android ? \"after\" : \"center\",\r\n widget: \"dxButton\",\r\n options: extend({}, this, {\r\n onClick: function() {\r\n var result = action.execute(...arguments);\r\n hide(result)\r\n }\r\n })\r\n })\r\n }));\r\n var popupInstance = new Popup($element, extend({\r\n title: null !== (_options$title = options.title) && void 0 !== _options$title ? _options$title : \"\",\r\n showTitle: ensureDefined(options.showTitle, true),\r\n dragEnabled: ensureDefined(options.dragEnabled, true),\r\n height: \"auto\",\r\n width: options.width,\r\n showCloseButton: options.showCloseButton || false,\r\n ignoreChildEvents: false,\r\n container: $element,\r\n visualContainer: window,\r\n dragAndResizeArea: window,\r\n onContentReady: function(args) {\r\n args.component.$content().addClass(DX_DIALOG_CONTENT_CLASSNAME).append($message)\r\n },\r\n onShowing: function(e) {\r\n e.component.bottomToolbar().addClass(DX_DIALOG_BUTTONS_CLASSNAME).find(\".\".concat(DX_BUTTON_CLASSNAME)).addClass(DX_DIALOG_BUTTON_CLASSNAME);\r\n resetActiveElement()\r\n },\r\n onShown: function(e) {\r\n var $firstButton = e.component.bottomToolbar().find(\".\".concat(DX_BUTTON_CLASSNAME)).first();\r\n eventsEngine.trigger($firstButton, \"focus\")\r\n },\r\n onHiding: function() {\r\n deferred.reject()\r\n },\r\n onHidden: function(_ref) {\r\n var {\r\n element: element\r\n } = _ref;\r\n $(element).remove()\r\n },\r\n toolbarItems: popupToolbarItems,\r\n animation: {\r\n show: {\r\n type: \"pop\",\r\n duration: 400\r\n },\r\n hide: {\r\n type: \"pop\",\r\n duration: 400,\r\n to: {\r\n opacity: 0,\r\n scale: 0\r\n },\r\n from: {\r\n opacity: 1,\r\n scale: 1\r\n }\r\n }\r\n },\r\n rtlEnabled: config().rtlEnabled,\r\n position: {\r\n boundaryOffset: {\r\n h: 10,\r\n v: 0\r\n }\r\n }\r\n }, options.popupOptions));\r\n popupInstance.$wrapper().addClass(DX_DIALOG_WRAPPER_CLASSNAME);\r\n if (options.position) {\r\n popupInstance.option(\"position\", options.position)\r\n }\r\n popupInstance.$wrapper().addClass(DX_DIALOG_ROOT_CLASSNAME);\r\n\r\n function hide(value) {\r\n deferred.resolve(value);\r\n popupInstance.hide()\r\n }\r\n return {\r\n show: function() {\r\n if (\"android\" === devices.real().platform) {\r\n var isPortrait = getHeight(window) > getWidth(window);\r\n var width = isPortrait ? \"80%\" : \"60%\";\r\n popupInstance.option({\r\n width: width\r\n })\r\n }\r\n popupInstance.show();\r\n return deferred.promise()\r\n },\r\n hide: hide\r\n }\r\n};\r\nexport var alert = function(messageHtml) {\r\n var title = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : \"\";\r\n var showTitle = arguments.length > 2 ? arguments[2] : void 0;\r\n var options = isPlainObject(messageHtml) ? messageHtml : {\r\n title: title,\r\n messageHtml: messageHtml,\r\n showTitle: showTitle,\r\n dragEnabled: showTitle\r\n };\r\n return custom(options).show()\r\n};\r\nexport var confirm = function(messageHtml) {\r\n var title = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : \"\";\r\n var showTitle = arguments.length > 2 ? arguments[2] : void 0;\r\n var options = isPlainObject(messageHtml) ? messageHtml : {\r\n title: title,\r\n messageHtml: messageHtml,\r\n showTitle: showTitle,\r\n buttons: [{\r\n text: messageLocalization.format(\"Yes\"),\r\n onClick: function() {\r\n return true\r\n }\r\n }, {\r\n text: messageLocalization.format(\"No\"),\r\n onClick: function() {\r\n return false\r\n }\r\n }],\r\n dragEnabled: showTitle\r\n };\r\n return custom(options).show()\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/draggable.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Draggable from \"../__internal/m_draggable\";\r\nexport default Draggable;\r\n","/**\r\n * DevExtreme (esm/ui/drawer.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Drawer from \"./drawer/ui.drawer\";\r\nexport default Drawer;\r\n","/**\r\n * DevExtreme (esm/ui/drawer/ui.drawer.animation.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport fx from \"../../animation/fx\";\r\nimport {\r\n camelize\r\n} from \"../../core/utils/inflector\";\r\nexport var animation = {\r\n moveTo(config) {\r\n var $element = config.$element;\r\n var position = config.position;\r\n var direction = config.direction || \"left\";\r\n var toConfig = {};\r\n var animationType;\r\n switch (direction) {\r\n case \"right\":\r\n toConfig.transform = \"translate(\" + position + \"px, 0px)\";\r\n animationType = \"custom\";\r\n break;\r\n case \"left\":\r\n toConfig.left = position;\r\n animationType = \"slide\";\r\n break;\r\n case \"top\":\r\n case \"bottom\":\r\n toConfig.top = position;\r\n animationType = \"slide\"\r\n }\r\n fx.animate($element, {\r\n type: animationType,\r\n to: toConfig,\r\n duration: config.duration,\r\n complete: config.complete\r\n })\r\n },\r\n margin(config) {\r\n var $element = config.$element;\r\n var margin = config.margin;\r\n var direction = config.direction || \"left\";\r\n var toConfig = {};\r\n toConfig[\"margin\" + camelize(direction, true)] = margin;\r\n fx.animate($element, {\r\n to: toConfig,\r\n duration: config.duration,\r\n complete: config.complete\r\n })\r\n },\r\n fade($element, config, duration, completeAction) {\r\n fx.animate($element, {\r\n type: \"fade\",\r\n to: config.to,\r\n from: config.from,\r\n duration: duration,\r\n complete: completeAction\r\n })\r\n },\r\n size(config) {\r\n var $element = config.$element;\r\n var size = config.size;\r\n var direction = config.direction || \"left\";\r\n var marginTop = config.marginTop || 0;\r\n var duration = config.duration;\r\n var toConfig = {};\r\n if (\"right\" === direction || \"left\" === direction) {\r\n toConfig.width = size\r\n } else {\r\n toConfig.height = size\r\n }\r\n if (\"bottom\" === direction) {\r\n toConfig.marginTop = marginTop\r\n }\r\n fx.animate($element, {\r\n to: toConfig,\r\n duration: duration,\r\n complete: config.complete\r\n })\r\n },\r\n complete($element) {\r\n fx.stop($element, true)\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/drawer/ui.drawer.rendering.strategy.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n setWidth,\r\n setHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n animation\r\n} from \"./ui.drawer.animation\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nclass DrawerStrategy {\r\n constructor(drawer) {\r\n this._drawer = drawer\r\n }\r\n getDrawerInstance() {\r\n return this._drawer\r\n }\r\n renderPanelContent(whenPanelContentRendered) {\r\n var drawer = this.getDrawerInstance();\r\n var template = drawer._getTemplate(drawer.option(\"template\"));\r\n if (template) {\r\n template.render({\r\n container: drawer.content(),\r\n onRendered: () => {\r\n whenPanelContentRendered.resolve()\r\n }\r\n })\r\n }\r\n }\r\n renderPosition(changePositionUsingFxAnimation, animationDuration) {\r\n var whenPositionAnimationCompleted = new Deferred;\r\n var whenShaderAnimationCompleted = new Deferred;\r\n var drawer = this.getDrawerInstance();\r\n if (changePositionUsingFxAnimation) {\r\n when.apply($, [whenPositionAnimationCompleted, whenShaderAnimationCompleted]).done(() => {\r\n drawer._animationCompleteHandler()\r\n })\r\n }\r\n this._internalRenderPosition(changePositionUsingFxAnimation, whenPositionAnimationCompleted);\r\n if (!changePositionUsingFxAnimation) {\r\n drawer.resizeViewContent()\r\n }\r\n this.renderShaderVisibility(changePositionUsingFxAnimation, animationDuration, whenShaderAnimationCompleted)\r\n }\r\n _getPanelOffset(isDrawerOpened) {\r\n var drawer = this.getDrawerInstance();\r\n var size = drawer.isHorizontalDirection() ? drawer.getRealPanelWidth() : drawer.getRealPanelHeight();\r\n if (isDrawerOpened) {\r\n return -(size - drawer.getMaxSize())\r\n } else {\r\n return -(size - drawer.getMinSize())\r\n }\r\n }\r\n _getPanelSize(isDrawerOpened) {\r\n return isDrawerOpened ? this.getDrawerInstance().getMaxSize() : this.getDrawerInstance().getMinSize()\r\n }\r\n renderShaderVisibility(changePositionUsingFxAnimation, duration, whenAnimationCompleted) {\r\n var drawer = this.getDrawerInstance();\r\n var isShaderVisible = drawer.option(\"opened\");\r\n var fadeConfig = isShaderVisible ? {\r\n from: 0,\r\n to: 1\r\n } : {\r\n from: 1,\r\n to: 0\r\n };\r\n if (changePositionUsingFxAnimation) {\r\n animation.fade($(drawer._$shader), fadeConfig, duration, () => {\r\n this._drawer._toggleShaderVisibility(isShaderVisible);\r\n whenAnimationCompleted.resolve()\r\n })\r\n } else {\r\n drawer._toggleShaderVisibility(isShaderVisible);\r\n drawer._$shader.css(\"opacity\", fadeConfig.to)\r\n }\r\n }\r\n getPanelContent() {\r\n return $(this.getDrawerInstance().content())\r\n }\r\n setPanelSize(calcFromRealPanelSize) {\r\n this.refreshPanelElementSize(calcFromRealPanelSize)\r\n }\r\n refreshPanelElementSize(calcFromRealPanelSize) {\r\n var drawer = this.getDrawerInstance();\r\n var panelSize = this._getPanelSize(drawer.option(\"opened\"));\r\n if (drawer.isHorizontalDirection()) {\r\n setWidth($(drawer.content()), calcFromRealPanelSize ? drawer.getRealPanelWidth() : panelSize)\r\n } else {\r\n setHeight($(drawer.content()), calcFromRealPanelSize ? drawer.getRealPanelHeight() : panelSize)\r\n }\r\n }\r\n isViewContentFirst() {\r\n return false\r\n }\r\n onPanelContentRendered() {}\r\n}\r\nexport default DrawerStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/drawer/ui.drawer.rendering.strategy.push.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n animation\r\n} from \"./ui.drawer.animation\";\r\nimport DrawerStrategy from \"./ui.drawer.rendering.strategy\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nclass PushStrategy extends DrawerStrategy {\r\n _internalRenderPosition(changePositionUsingFxAnimation, whenAnimationCompleted) {\r\n var drawer = this.getDrawerInstance();\r\n var openedPanelSize = this._getPanelSize(true);\r\n var contentPosition = this._getPanelSize(drawer.option(\"opened\")) * drawer._getPositionCorrection();\r\n $(drawer.content()).css(drawer.isHorizontalDirection() ? \"width\" : \"height\", openedPanelSize);\r\n if (drawer.getMinSize()) {\r\n var paddingCssPropertyName = \"padding\";\r\n switch (drawer.calcTargetPosition()) {\r\n case \"left\":\r\n paddingCssPropertyName += \"Right\";\r\n break;\r\n case \"right\":\r\n paddingCssPropertyName += \"Left\";\r\n break;\r\n case \"top\":\r\n paddingCssPropertyName += \"Bottom\";\r\n break;\r\n case \"bottom\":\r\n paddingCssPropertyName += \"Top\"\r\n }\r\n $(drawer.viewContent()).css(paddingCssPropertyName, drawer.getMinSize())\r\n }\r\n if (changePositionUsingFxAnimation) {\r\n animation.moveTo({\r\n $element: $(drawer.viewContent()),\r\n position: contentPosition,\r\n direction: drawer.calcTargetPosition(),\r\n duration: drawer.option(\"animationDuration\"),\r\n complete: () => {\r\n whenAnimationCompleted.resolve()\r\n }\r\n })\r\n } else if (drawer.isHorizontalDirection()) {\r\n move($(drawer.viewContent()), {\r\n left: contentPosition\r\n })\r\n } else {\r\n move($(drawer.viewContent()), {\r\n top: contentPosition\r\n })\r\n }\r\n }\r\n onPanelContentRendered() {\r\n $(this.getDrawerInstance().viewContent()).addClass(\"dx-theme-background-color\")\r\n }\r\n}\r\nexport default PushStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/drawer/ui.drawer.rendering.strategy.shrink.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n animation\r\n} from \"./ui.drawer.animation\";\r\nimport DrawerStrategy from \"./ui.drawer.rendering.strategy\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n camelize\r\n} from \"../../core/utils/inflector\";\r\nclass ShrinkStrategy extends DrawerStrategy {\r\n _internalRenderPosition(changePositionUsingFxAnimation, whenAnimationCompleted) {\r\n var drawer = this.getDrawerInstance();\r\n var direction = drawer.calcTargetPosition();\r\n var $panel = $(drawer.content());\r\n var panelSize = this._getPanelSize(drawer.option(\"opened\"));\r\n var panelOffset = this._getPanelOffset(drawer.option(\"opened\"));\r\n var revealMode = drawer.option(\"revealMode\");\r\n if (changePositionUsingFxAnimation) {\r\n if (\"slide\" === revealMode) {\r\n animation.margin({\r\n complete: () => {\r\n whenAnimationCompleted.resolve()\r\n },\r\n $element: $panel,\r\n duration: drawer.option(\"animationDuration\"),\r\n direction: direction,\r\n margin: panelOffset\r\n })\r\n } else if (\"expand\" === revealMode) {\r\n animation.size({\r\n complete: () => {\r\n whenAnimationCompleted.resolve()\r\n },\r\n $element: $panel,\r\n duration: drawer.option(\"animationDuration\"),\r\n direction: direction,\r\n size: panelSize\r\n })\r\n }\r\n } else if (\"slide\" === revealMode) {\r\n $panel.css(\"margin\" + camelize(direction, true), panelOffset)\r\n } else if (\"expand\" === revealMode) {\r\n $panel.css(drawer.isHorizontalDirection() ? \"width\" : \"height\", panelSize)\r\n }\r\n }\r\n isViewContentFirst(position, isRtl) {\r\n return (isRtl ? \"left\" === position : \"right\" === position) || \"bottom\" === position\r\n }\r\n}\r\nexport default ShrinkStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/drawer/ui.drawer.rendering.strategy.overlap.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport {\r\n animation\r\n} from \"./ui.drawer.animation\";\r\nimport DrawerStrategy from \"./ui.drawer.rendering.strategy\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nimport Overlay from \"../overlay/ui.overlay\";\r\nimport {\r\n ensureDefined\r\n} from \"../../core/utils/common\";\r\nimport {\r\n camelize\r\n} from \"../../core/utils/inflector\";\r\nclass OverlapStrategy extends DrawerStrategy {\r\n renderPanelContent(whenPanelContentRendered) {\r\n delete this._initialPosition;\r\n var drawer = this.getDrawerInstance();\r\n var {\r\n opened: opened,\r\n minSize: minSize\r\n } = drawer.option();\r\n drawer._overlay = drawer._createComponent(drawer.content(), Overlay, {\r\n shading: false,\r\n container: drawer.content(),\r\n visualContainer: drawer.getOverlayTarget(),\r\n position: this._getOverlayPosition(),\r\n width: opened ? \"auto\" : minSize || 0,\r\n height: \"100%\",\r\n templatesRenderAsynchronously: drawer.option(\"templatesRenderAsynchronously\"),\r\n animation: {\r\n show: {\r\n duration: 0\r\n }\r\n },\r\n onPositioned: function(e) {\r\n this._fixOverlayPosition(e.component.$content())\r\n }.bind(this),\r\n contentTemplate: drawer.option(\"template\"),\r\n onContentReady: args => {\r\n whenPanelContentRendered.resolve();\r\n this._processOverlayZIndex(args.component.content())\r\n },\r\n visible: true,\r\n propagateOutsideClick: true\r\n })\r\n }\r\n _fixOverlayPosition($overlayContent) {\r\n var position = ensureDefined(this._initialPosition, {\r\n left: 0,\r\n top: 0\r\n });\r\n move($overlayContent, position);\r\n if (\"right\" === this.getDrawerInstance().calcTargetPosition()) {\r\n $overlayContent.css(\"left\", \"auto\")\r\n }\r\n if (\"bottom\" === this.getDrawerInstance().calcTargetPosition()) {\r\n $overlayContent.css(\"top\", \"auto\");\r\n $overlayContent.css(\"bottom\", \"0px\")\r\n }\r\n }\r\n _getOverlayPosition() {\r\n var drawer = this.getDrawerInstance();\r\n var panelPosition = drawer.calcTargetPosition();\r\n var result = {};\r\n switch (panelPosition) {\r\n case \"left\":\r\n result = {\r\n my: \"top left\",\r\n at: \"top left\"\r\n };\r\n break;\r\n case \"right\":\r\n result = {\r\n my: drawer.option(\"rtlEnabled\") ? \"top left\" : \"top right\",\r\n at: \"top right\"\r\n };\r\n break;\r\n case \"top\":\r\n case \"bottom\":\r\n result = {\r\n my: panelPosition,\r\n at: panelPosition\r\n }\r\n }\r\n result.of = drawer.getOverlayTarget();\r\n return result\r\n }\r\n refreshPanelElementSize(calcFromRealPanelSize) {\r\n var drawer = this.getDrawerInstance();\r\n var overlay = drawer.getOverlay();\r\n if (drawer.isHorizontalDirection()) {\r\n overlay.option(\"height\", \"100%\");\r\n overlay.option(\"width\", calcFromRealPanelSize ? drawer.getRealPanelWidth() : this._getPanelSize(drawer.option(\"opened\")))\r\n } else {\r\n overlay.option(\"width\", getWidth(drawer.getOverlayTarget()));\r\n overlay.option(\"height\", calcFromRealPanelSize ? drawer.getRealPanelHeight() : this._getPanelSize(drawer.option(\"opened\")))\r\n }\r\n }\r\n onPanelContentRendered() {\r\n this._updateViewContentStyles()\r\n }\r\n _updateViewContentStyles() {\r\n var drawer = this.getDrawerInstance();\r\n $(drawer.viewContent()).css(\"padding\" + camelize(drawer.calcTargetPosition(), true), drawer.option(\"minSize\"));\r\n $(drawer.viewContent()).css(\"transform\", \"inherit\")\r\n }\r\n _internalRenderPosition(changePositionUsingFxAnimation, whenAnimationCompleted) {\r\n var drawer = this.getDrawerInstance();\r\n var $panel = $(drawer.content());\r\n var $panelOverlayContent = drawer.getOverlay().$content();\r\n var revealMode = drawer.option(\"revealMode\");\r\n var targetPanelPosition = drawer.calcTargetPosition();\r\n var panelSize = this._getPanelSize(drawer.option(\"opened\"));\r\n var panelOffset = this._getPanelOffset(drawer.option(\"opened\")) * drawer._getPositionCorrection();\r\n var marginTop = drawer.getRealPanelHeight() - panelSize;\r\n this._updateViewContentStyles();\r\n if (changePositionUsingFxAnimation) {\r\n if (\"slide\" === revealMode) {\r\n this._initialPosition = drawer.isHorizontalDirection() ? {\r\n left: panelOffset\r\n } : {\r\n top: panelOffset\r\n };\r\n animation.moveTo({\r\n complete: () => {\r\n whenAnimationCompleted.resolve()\r\n },\r\n duration: drawer.option(\"animationDuration\"),\r\n direction: targetPanelPosition,\r\n $element: $panel,\r\n position: panelOffset\r\n })\r\n } else if (\"expand\" === revealMode) {\r\n this._initialPosition = {\r\n left: 0\r\n };\r\n move($panelOverlayContent, this._initialPosition);\r\n animation.size({\r\n complete: () => {\r\n whenAnimationCompleted.resolve()\r\n },\r\n duration: drawer.option(\"animationDuration\"),\r\n direction: targetPanelPosition,\r\n $element: $panelOverlayContent,\r\n size: panelSize,\r\n marginTop: marginTop\r\n })\r\n }\r\n } else if (\"slide\" === revealMode) {\r\n this._initialPosition = drawer.isHorizontalDirection() ? {\r\n left: panelOffset\r\n } : {\r\n top: panelOffset\r\n };\r\n move($panel, this._initialPosition)\r\n } else if (\"expand\" === revealMode) {\r\n this._initialPosition = {\r\n left: 0\r\n };\r\n move($panelOverlayContent, this._initialPosition);\r\n if (drawer.isHorizontalDirection()) {\r\n $($panelOverlayContent).css(\"width\", panelSize)\r\n } else {\r\n $($panelOverlayContent).css(\"height\", panelSize);\r\n if (\"bottom\" === targetPanelPosition) {\r\n $($panelOverlayContent).css(\"marginTop\", marginTop)\r\n }\r\n }\r\n }\r\n }\r\n getPanelContent() {\r\n return $(this.getDrawerInstance().getOverlay().content())\r\n }\r\n _processOverlayZIndex($element) {\r\n var styles = $($element).get(0).style;\r\n var zIndex = styles.zIndex || 1;\r\n this.getDrawerInstance().setZIndex(zIndex)\r\n }\r\n isViewContentFirst(position) {\r\n return \"right\" === position || \"bottom\" === position\r\n }\r\n}\r\nexport default OverlapStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/drawer/ui.drawer.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n isFunction,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../core/utils/position\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport {\r\n EmptyTemplate\r\n} from \"../../core/templates/empty_template\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport PushStrategy from \"./ui.drawer.rendering.strategy.push\";\r\nimport ShrinkStrategy from \"./ui.drawer.rendering.strategy.shrink\";\r\nimport OverlapStrategy from \"./ui.drawer.rendering.strategy.overlap\";\r\nimport {\r\n animation\r\n} from \"./ui.drawer.animation\";\r\nimport {\r\n name as CLICK_EVENT_NAME\r\n} from \"../../events/click\";\r\nimport fx from \"../../animation/fx\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n triggerResizeEvent\r\n} from \"../../events/visibility_change\";\r\nvar DRAWER_CLASS = \"dx-drawer\";\r\nvar DRAWER_WRAPPER_CLASS = \"dx-drawer-wrapper\";\r\nvar DRAWER_PANEL_CONTENT_CLASS = \"dx-drawer-panel-content\";\r\nvar DRAWER_VIEW_CONTENT_CLASS = \"dx-drawer-content\";\r\nvar DRAWER_SHADER_CLASS = \"dx-drawer-shader\";\r\nvar INVISIBLE_STATE_CLASS = \"dx-state-invisible\";\r\nvar OPENED_STATE_CLASS = \"dx-drawer-opened\";\r\nvar ANONYMOUS_TEMPLATE_NAME = \"content\";\r\nvar PANEL_TEMPLATE_NAME = \"panel\";\r\nvar Drawer = Widget.inherit({\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n position: \"left\",\r\n opened: false,\r\n minSize: null,\r\n maxSize: null,\r\n shading: false,\r\n template: PANEL_TEMPLATE_NAME,\r\n openedStateMode: \"shrink\",\r\n revealMode: \"slide\",\r\n animationEnabled: true,\r\n animationDuration: 400,\r\n closeOnOutsideClick: false,\r\n contentTemplate: ANONYMOUS_TEMPLATE_NAME\r\n })\r\n },\r\n _init() {\r\n this.callBase();\r\n this._initStrategy();\r\n this.$element().addClass(DRAWER_CLASS);\r\n this._whenAnimationCompleted = void 0;\r\n this._whenPanelContentRendered = void 0;\r\n this._whenPanelContentRefreshed = void 0;\r\n this._$wrapper = $(\"<div>\").addClass(DRAWER_WRAPPER_CLASS);\r\n this._$viewContentWrapper = $(\"<div>\").addClass(DRAWER_VIEW_CONTENT_CLASS);\r\n this._$wrapper.append(this._$viewContentWrapper);\r\n this.$element().append(this._$wrapper)\r\n },\r\n _initStrategy() {\r\n switch (this.option(\"openedStateMode\")) {\r\n case \"push\":\r\n this._strategy = new PushStrategy(this);\r\n break;\r\n case \"shrink\":\r\n this._strategy = new ShrinkStrategy(this);\r\n break;\r\n case \"overlap\":\r\n this._strategy = new OverlapStrategy(this);\r\n break;\r\n default:\r\n this._strategy = new PushStrategy(this)\r\n }\r\n },\r\n _getAnonymousTemplateName: function() {\r\n return ANONYMOUS_TEMPLATE_NAME\r\n },\r\n _initTemplates() {\r\n var defaultTemplates = {};\r\n defaultTemplates[PANEL_TEMPLATE_NAME] = new EmptyTemplate;\r\n defaultTemplates[ANONYMOUS_TEMPLATE_NAME] = new EmptyTemplate;\r\n this._templateManager.addDefaultTemplates(defaultTemplates);\r\n this.callBase()\r\n },\r\n _viewContentWrapperClickHandler(e) {\r\n var closeOnOutsideClick = this.option(\"closeOnOutsideClick\");\r\n if (isFunction(closeOnOutsideClick)) {\r\n closeOnOutsideClick = closeOnOutsideClick(e)\r\n }\r\n if (closeOnOutsideClick && this.option(\"opened\")) {\r\n this.stopAnimations();\r\n if (this.option(\"shading\")) {\r\n e.preventDefault()\r\n }\r\n this.hide()\r\n }\r\n },\r\n _initMarkup() {\r\n this.callBase();\r\n this._toggleOpenedStateClass(this.option(\"opened\"));\r\n this._renderPanelContentWrapper();\r\n this._refreshOpenedStateModeClass();\r\n this._refreshRevealModeClass();\r\n this._renderShader();\r\n this._refreshPositionClass();\r\n this._whenPanelContentRendered = new Deferred;\r\n this._strategy.renderPanelContent(this._whenPanelContentRendered);\r\n this._strategy.onPanelContentRendered();\r\n this._renderViewContent();\r\n eventsEngine.off(this._$viewContentWrapper, CLICK_EVENT_NAME);\r\n eventsEngine.on(this._$viewContentWrapper, CLICK_EVENT_NAME, this._viewContentWrapperClickHandler.bind(this));\r\n this._refreshWrapperChildrenOrder()\r\n },\r\n _render() {\r\n this._initMinMaxSize();\r\n this.callBase();\r\n this._whenPanelContentRendered.always(() => {\r\n this._initMinMaxSize();\r\n this._strategy.refreshPanelElementSize(\"slide\" === this.option(\"revealMode\") || !this.isHorizontalDirection());\r\n this._renderPosition(this.option(\"opened\"), true);\r\n this._removePanelManualPosition()\r\n })\r\n },\r\n _removePanelManualPosition() {\r\n if (this._$panelContentWrapper.attr(\"manualposition\")) {\r\n this._$panelContentWrapper.removeAttr(\"manualPosition\");\r\n this._$panelContentWrapper.css({\r\n position: \"\",\r\n top: \"\",\r\n left: \"\",\r\n right: \"\",\r\n bottom: \"\"\r\n })\r\n }\r\n },\r\n _renderPanelContentWrapper() {\r\n this._$panelContentWrapper = $(\"<div>\").addClass(DRAWER_PANEL_CONTENT_CLASS);\r\n var position = this.calcTargetPosition();\r\n if (\"push\" === this.option(\"openedStateMode\") && [\"top\", \"bottom\"].indexOf(position) > -1) {\r\n this._$panelContentWrapper.addClass(DRAWER_PANEL_CONTENT_CLASS + \"-push-top-or-bottom\")\r\n }\r\n if (\"overlap\" !== this.option(\"openedStateMode\") && !this.option(\"opened\") && !this.option(\"minSize\")) {\r\n this._$panelContentWrapper.attr(\"manualposition\", true);\r\n this._$panelContentWrapper.css({\r\n position: \"absolute\",\r\n top: \"-10000px\",\r\n left: \"-10000px\",\r\n right: \"auto\",\r\n bottom: \"auto\"\r\n })\r\n }\r\n this._$wrapper.append(this._$panelContentWrapper)\r\n },\r\n _refreshOpenedStateModeClass(prevOpenedStateMode) {\r\n if (prevOpenedStateMode) {\r\n this.$element().removeClass(DRAWER_CLASS + \"-\" + prevOpenedStateMode)\r\n }\r\n this.$element().addClass(DRAWER_CLASS + \"-\" + this.option(\"openedStateMode\"))\r\n },\r\n _refreshPositionClass(prevPosition) {\r\n if (prevPosition) {\r\n this.$element().removeClass(DRAWER_CLASS + \"-\" + prevPosition)\r\n }\r\n this.$element().addClass(DRAWER_CLASS + \"-\" + this.calcTargetPosition())\r\n },\r\n _refreshWrapperChildrenOrder() {\r\n var position = this.calcTargetPosition();\r\n if (this._strategy.isViewContentFirst(position, this.option(\"rtlEnabled\"))) {\r\n this._$wrapper.prepend(this._$viewContentWrapper)\r\n } else {\r\n this._$wrapper.prepend(this._$panelContentWrapper)\r\n }\r\n },\r\n _refreshRevealModeClass(prevRevealMode) {\r\n if (prevRevealMode) {\r\n this.$element().removeClass(DRAWER_CLASS + \"-\" + prevRevealMode)\r\n }\r\n this.$element().addClass(DRAWER_CLASS + \"-\" + this.option(\"revealMode\"))\r\n },\r\n _renderViewContent() {\r\n var contentTemplateOption = this.option(\"contentTemplate\");\r\n var contentTemplate = this._getTemplate(contentTemplateOption);\r\n if (contentTemplate) {\r\n var $viewTemplate = contentTemplate.render({\r\n container: this.viewContent(),\r\n noModel: true,\r\n transclude: this._templateManager.anonymousTemplateName === contentTemplateOption\r\n });\r\n if ($viewTemplate.hasClass(\"ng-scope\")) {\r\n $(this._$viewContentWrapper).children().not(\".\".concat(DRAWER_SHADER_CLASS)).replaceWith($viewTemplate)\r\n }\r\n }\r\n },\r\n _renderShader() {\r\n this._$shader = this._$shader || $(\"<div>\").addClass(DRAWER_SHADER_CLASS);\r\n this._$shader.appendTo(this.viewContent());\r\n this._toggleShaderVisibility(this.option(\"opened\"))\r\n },\r\n _initSize() {\r\n this._initMinMaxSize()\r\n },\r\n _initMinMaxSize() {\r\n var realPanelSize = this.isHorizontalDirection() ? this.getRealPanelWidth() : this.getRealPanelHeight();\r\n this._maxSize = this.option(\"maxSize\") || realPanelSize;\r\n this._minSize = this.option(\"minSize\") || 0\r\n },\r\n calcTargetPosition() {\r\n var position = this.option(\"position\");\r\n var rtl = this.option(\"rtlEnabled\");\r\n var result = position;\r\n if (\"before\" === position) {\r\n result = rtl ? \"right\" : \"left\"\r\n } else if (\"after\" === position) {\r\n result = rtl ? \"left\" : \"right\"\r\n }\r\n return result\r\n },\r\n getOverlayTarget() {\r\n return this._$wrapper\r\n },\r\n getOverlay() {\r\n return this._overlay\r\n },\r\n getMaxSize() {\r\n return this._maxSize\r\n },\r\n getMinSize() {\r\n return this._minSize\r\n },\r\n getRealPanelWidth() {\r\n if (hasWindow()) {\r\n if (isDefined(this.option(\"templateSize\"))) {\r\n return this.option(\"templateSize\")\r\n } else {\r\n return getBoundingRect(this._getPanelTemplateElement()).width\r\n }\r\n } else {\r\n return 0\r\n }\r\n },\r\n getRealPanelHeight() {\r\n if (hasWindow()) {\r\n if (isDefined(this.option(\"templateSize\"))) {\r\n return this.option(\"templateSize\")\r\n } else {\r\n return getBoundingRect(this._getPanelTemplateElement()).height\r\n }\r\n } else {\r\n return 0\r\n }\r\n },\r\n _getPanelTemplateElement() {\r\n var $panelContent = this._strategy.getPanelContent();\r\n var $result = $panelContent;\r\n if ($panelContent.children().length) {\r\n $result = $panelContent.children().eq(0);\r\n if ($panelContent.hasClass(\"dx-overlay-content\") && $result.hasClass(\"dx-template-wrapper\") && $result.children().length) {\r\n $result = $result.children().eq(0)\r\n }\r\n }\r\n return $result.get(0)\r\n },\r\n getElementHeight($element) {\r\n var $children = $element.children();\r\n return $children.length ? getBoundingRect($children.eq(0).get(0)).height : getBoundingRect($element.get(0)).height\r\n },\r\n isHorizontalDirection() {\r\n var position = this.calcTargetPosition();\r\n return \"left\" === position || \"right\" === position\r\n },\r\n stopAnimations(jumpToEnd) {\r\n fx.stop(this._$shader, jumpToEnd);\r\n fx.stop($(this.content()), jumpToEnd);\r\n fx.stop($(this.viewContent()), jumpToEnd);\r\n var overlay = this.getOverlay();\r\n if (overlay) {\r\n fx.stop($(overlay.$content()), jumpToEnd)\r\n }\r\n },\r\n setZIndex(zIndex) {\r\n this._$shader.css(\"zIndex\", zIndex - 1);\r\n this._$panelContentWrapper.css(\"zIndex\", zIndex)\r\n },\r\n resizeContent() {\r\n this.resizeViewContent\r\n },\r\n resizeViewContent() {\r\n triggerResizeEvent(this.viewContent())\r\n },\r\n _isInvertedPosition() {\r\n var position = this.calcTargetPosition();\r\n return \"right\" === position || \"bottom\" === position\r\n },\r\n _renderPosition(isDrawerOpened, disableAnimation, jumpToEnd) {\r\n this.stopAnimations(jumpToEnd);\r\n if (!hasWindow()) {\r\n return\r\n }\r\n $(this.viewContent()).css(\"paddingLeft\", 0);\r\n $(this.viewContent()).css(\"paddingRight\", 0);\r\n $(this.viewContent()).css(\"paddingTop\", 0);\r\n $(this.viewContent()).css(\"paddingBottom\", 0);\r\n var animationEnabled = this.option(\"animationEnabled\");\r\n if (true === disableAnimation) {\r\n animationEnabled = false\r\n }\r\n if (isDrawerOpened) {\r\n this._toggleShaderVisibility(isDrawerOpened)\r\n }\r\n this._strategy.renderPosition(animationEnabled, this.option(\"animationDuration\"))\r\n },\r\n _animationCompleteHandler() {\r\n this.resizeViewContent();\r\n if (this._whenAnimationCompleted) {\r\n this._whenAnimationCompleted.resolve()\r\n }\r\n },\r\n _getPositionCorrection() {\r\n return this._isInvertedPosition() ? -1 : 1\r\n },\r\n _dispose() {\r\n animation.complete($(this.viewContent()));\r\n this.callBase()\r\n },\r\n _visibilityChanged(visible) {\r\n if (visible) {\r\n this._dimensionChanged()\r\n }\r\n },\r\n _dimensionChanged() {\r\n this._initMinMaxSize();\r\n this._strategy.refreshPanelElementSize(\"slide\" === this.option(\"revealMode\"));\r\n this._renderPosition(this.option(\"opened\"), true)\r\n },\r\n _toggleShaderVisibility(visible) {\r\n if (this.option(\"shading\")) {\r\n this._$shader.toggleClass(INVISIBLE_STATE_CLASS, !visible);\r\n this._$shader.css(\"visibility\", visible ? \"visible\" : \"hidden\")\r\n } else {\r\n this._$shader.toggleClass(INVISIBLE_STATE_CLASS, true)\r\n }\r\n },\r\n _toggleOpenedStateClass(opened) {\r\n this.$element().toggleClass(OPENED_STATE_CLASS, opened)\r\n },\r\n _refreshPanel() {\r\n $(this.viewContent()).css(\"left\", 0);\r\n $(this.viewContent()).css(\"transform\", \"translate(0px, 0px)\");\r\n $(this.viewContent()).removeClass(\"dx-theme-background-color\");\r\n this._removePanelContentWrapper();\r\n this._removeOverlay();\r\n this._renderPanelContentWrapper();\r\n this._refreshWrapperChildrenOrder();\r\n this._whenPanelContentRefreshed = new Deferred;\r\n this._strategy.renderPanelContent(this._whenPanelContentRefreshed);\r\n this._strategy.onPanelContentRendered();\r\n if (hasWindow()) {\r\n this._whenPanelContentRefreshed.always(() => {\r\n this._strategy.refreshPanelElementSize(\"slide\" === this.option(\"revealMode\"));\r\n this._renderPosition(this.option(\"opened\"), true, true);\r\n this._removePanelManualPosition()\r\n })\r\n }\r\n },\r\n _clean() {\r\n this._cleanFocusState();\r\n this._removePanelContentWrapper();\r\n this._removeOverlay()\r\n },\r\n _removePanelContentWrapper() {\r\n if (this._$panelContentWrapper) {\r\n this._$panelContentWrapper.remove()\r\n }\r\n },\r\n _removeOverlay() {\r\n if (this._overlay) {\r\n this._overlay.dispose();\r\n delete this._overlay;\r\n delete this._$panelContentWrapper\r\n }\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"width\":\r\n this.callBase(args);\r\n this._dimensionChanged();\r\n break;\r\n case \"opened\":\r\n this._renderPosition(this.option(\"opened\"));\r\n this._toggleOpenedStateClass(args.value);\r\n break;\r\n case \"position\":\r\n this._refreshPositionClass(args.previousValue);\r\n this._refreshWrapperChildrenOrder();\r\n this._invalidate();\r\n break;\r\n case \"contentTemplate\":\r\n case \"template\":\r\n this._invalidate();\r\n break;\r\n case \"openedStateMode\":\r\n this._initStrategy();\r\n this._refreshOpenedStateModeClass(args.previousValue);\r\n this._refreshPanel();\r\n break;\r\n case \"minSize\":\r\n case \"maxSize\":\r\n this._initMinMaxSize();\r\n this._renderPosition(this.option(\"opened\"), true);\r\n break;\r\n case \"revealMode\":\r\n this._refreshRevealModeClass(args.previousValue);\r\n this._refreshPanel();\r\n break;\r\n case \"shading\":\r\n this._toggleShaderVisibility(this.option(\"opened\"));\r\n break;\r\n case \"animationEnabled\":\r\n case \"animationDuration\":\r\n case \"closeOnOutsideClick\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n content() {\r\n return getPublicElement(this._$panelContentWrapper)\r\n },\r\n viewContent() {\r\n return getPublicElement(this._$viewContentWrapper)\r\n },\r\n show() {\r\n return this.toggle(true)\r\n },\r\n hide() {\r\n return this.toggle(false)\r\n },\r\n toggle(opened) {\r\n var targetOpened = void 0 === opened ? !this.option(\"opened\") : opened;\r\n this._whenAnimationCompleted = new Deferred;\r\n this.option(\"opened\", targetOpened);\r\n return this._whenAnimationCompleted.promise()\r\n }\r\n});\r\nregisterComponent(\"dxDrawer\", Drawer);\r\nexport default Drawer;\r\n","/**\r\n * DevExtreme (esm/ui/drop_down_box.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport DropDownEditor from \"./drop_down_editor/ui.drop_down_editor\";\r\nimport DataExpressionMixin from \"./editor/ui.data_expression\";\r\nimport {\r\n noop,\r\n grep\r\n} from \"../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isObject\r\n} from \"../core/utils/type\";\r\nimport {\r\n map\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n tabbable\r\n} from \"./widget/selectors\";\r\nimport {\r\n when,\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n getElementMaxHeightByWindow\r\n} from \"../ui/overlay/utils\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n normalizeKeyName\r\n} from \"../events/utils/index\";\r\nimport {\r\n keyboard\r\n} from \"../events/short\";\r\nimport devices from \"../core/devices\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nvar getActiveElement = domAdapter.getActiveElement;\r\nvar DROP_DOWN_BOX_CLASS = \"dx-dropdownbox\";\r\nvar ANONYMOUS_TEMPLATE_NAME = \"content\";\r\nvar realDevice = devices.real();\r\nvar DropDownBox = DropDownEditor.inherit({\r\n _supportedKeys: function() {\r\n return extend({}, this.callBase(), {\r\n tab: function(e) {\r\n if (!this.option(\"opened\")) {\r\n return\r\n }\r\n var $tabbableElements = this._getTabbableElements();\r\n var $focusableElement = e.shiftKey ? $tabbableElements.last() : $tabbableElements.first();\r\n $focusableElement && eventsEngine.trigger($focusableElement, \"focus\");\r\n e.preventDefault()\r\n }\r\n })\r\n },\r\n _getTabbableElements: function() {\r\n return this._getElements().filter(tabbable)\r\n },\r\n _getElements: function() {\r\n return $(this.content()).find(\"*\")\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n acceptCustomValue: false,\r\n contentTemplate: ANONYMOUS_TEMPLATE_NAME,\r\n openOnFieldClick: true,\r\n displayValueFormatter: function(value) {\r\n return Array.isArray(value) ? value.join(\", \") : value\r\n },\r\n useHiddenSubmitElement: true\r\n })\r\n },\r\n _getAnonymousTemplateName: function() {\r\n return ANONYMOUS_TEMPLATE_NAME\r\n },\r\n _initTemplates: function() {\r\n this.callBase()\r\n },\r\n _initMarkup: function() {\r\n this._initDataExpressions();\r\n this.$element().addClass(DROP_DOWN_BOX_CLASS);\r\n this.callBase()\r\n },\r\n _setSubmitValue: function() {\r\n var value = this.option(\"value\");\r\n var submitValue = this._shouldUseDisplayValue(value) ? this._displayGetter(value) : value;\r\n this._getSubmitElement().val(submitValue)\r\n },\r\n _shouldUseDisplayValue: function(value) {\r\n return \"this\" === this.option(\"valueExpr\") && isObject(value)\r\n },\r\n _sortValuesByKeysOrder(orderedKeys, values) {\r\n var sortedValues = values.sort((a, b) => orderedKeys.indexOf(a.itemKey) - orderedKeys.indexOf(b.itemKey));\r\n return sortedValues.map(x => x.itemDisplayValue)\r\n },\r\n _renderInputValue: function() {\r\n this._rejectValueLoading();\r\n var values = [];\r\n if (!this._dataSource) {\r\n this.callBase(values);\r\n return (new Deferred).resolve()\r\n }\r\n var currentValue = this._getCurrentValue();\r\n var keys = null !== currentValue && void 0 !== currentValue ? currentValue : [];\r\n keys = Array.isArray(keys) ? keys : [keys];\r\n var itemLoadDeferreds = map(keys, key => {\r\n var deferred = new Deferred;\r\n this._loadItem(key).always(item => {\r\n var displayValue = this._displayGetter(item);\r\n if (isDefined(displayValue)) {\r\n values.push({\r\n itemKey: key,\r\n itemDisplayValue: displayValue\r\n })\r\n } else if (this.option(\"acceptCustomValue\")) {\r\n values.push({\r\n itemKey: key,\r\n itemDisplayValue: key\r\n })\r\n }\r\n deferred.resolve()\r\n });\r\n return deferred\r\n });\r\n var callBase = this.callBase.bind(this);\r\n return when.apply(this, itemLoadDeferreds).always(() => {\r\n var orderedValues = this._sortValuesByKeysOrder(keys, values);\r\n this.option(\"displayValue\", orderedValues);\r\n callBase(values.length && orderedValues)\r\n })\r\n },\r\n _loadItem: function(value) {\r\n var deferred = new Deferred;\r\n var that = this;\r\n var selectedItem = grep(this.option(\"items\") || [], function(item) {\r\n return this._isValueEquals(this._valueGetter(item), value)\r\n }.bind(this))[0];\r\n if (void 0 !== selectedItem) {\r\n deferred.resolve(selectedItem)\r\n } else {\r\n this._loadValue(value).done((function(item) {\r\n deferred.resolve(item)\r\n })).fail((function(args) {\r\n if (null !== args && void 0 !== args && args.shouldSkipCallback) {\r\n return\r\n }\r\n if (that.option(\"acceptCustomValue\")) {\r\n deferred.resolve(value)\r\n } else {\r\n deferred.reject()\r\n }\r\n }))\r\n }\r\n return deferred.promise()\r\n },\r\n _popupElementTabHandler: function(e) {\r\n if (\"tab\" !== normalizeKeyName(e)) {\r\n return\r\n }\r\n var $firstTabbable = this._getTabbableElements().first().get(0);\r\n var $lastTabbable = this._getTabbableElements().last().get(0);\r\n var $target = e.originalEvent.target;\r\n var moveBackward = !!($target === $firstTabbable && e.shift);\r\n var moveForward = !!($target === $lastTabbable && !e.shift);\r\n if (moveBackward || moveForward) {\r\n this.close();\r\n eventsEngine.trigger(this._input(), \"focus\");\r\n if (moveBackward) {\r\n e.originalEvent.preventDefault()\r\n }\r\n }\r\n },\r\n _renderPopup: function(e) {\r\n this.callBase();\r\n if (this.option(\"focusStateEnabled\")) {\r\n keyboard.on(this.content(), null, e => this._popupElementTabHandler(e))\r\n }\r\n },\r\n _renderPopupContent: function() {\r\n if (this.option(\"contentTemplate\") === ANONYMOUS_TEMPLATE_NAME) {\r\n return\r\n }\r\n var contentTemplate = this._getTemplateByOption(\"contentTemplate\");\r\n if (!(contentTemplate && this.option(\"contentTemplate\"))) {\r\n return\r\n }\r\n var $popupContent = this._popup.$content();\r\n var templateData = {\r\n value: this._fieldRenderData(),\r\n component: this\r\n };\r\n $popupContent.empty();\r\n contentTemplate.render({\r\n container: getPublicElement($popupContent),\r\n model: templateData\r\n })\r\n },\r\n _canShowVirtualKeyboard: function() {\r\n return realDevice.mac\r\n },\r\n _isNestedElementActive: function() {\r\n var activeElement = getActiveElement();\r\n return activeElement && this._popup.$content().get(0).contains(activeElement)\r\n },\r\n _shouldHideOnParentScroll: function() {\r\n return \"desktop\" === realDevice.deviceType && this._canShowVirtualKeyboard() && this._isNestedElementActive()\r\n },\r\n _popupHiddenHandler: function() {\r\n this.callBase();\r\n this._popupPosition = void 0\r\n },\r\n _popupPositionedHandler: function(e) {\r\n this.callBase(e);\r\n this._popupPosition = e.position\r\n },\r\n _getDefaultPopupPosition: function(isRtlEnabled) {\r\n var {\r\n my: my,\r\n at: at\r\n } = this.callBase(isRtlEnabled);\r\n return {\r\n my: my,\r\n at: at,\r\n offset: {\r\n v: -1\r\n },\r\n collision: \"flipfit\"\r\n }\r\n },\r\n _popupConfig: function() {\r\n var {\r\n focusStateEnabled: focusStateEnabled\r\n } = this.option();\r\n return extend(this.callBase(), {\r\n tabIndex: -1,\r\n dragEnabled: false,\r\n focusStateEnabled: focusStateEnabled,\r\n contentTemplate: ANONYMOUS_TEMPLATE_NAME,\r\n hideOnParentScroll: this._shouldHideOnParentScroll.bind(this),\r\n position: extend(this.option(\"popupPosition\"), {\r\n of: this.$element()\r\n }),\r\n onKeyboardHandled: opts => this.option(\"focusStateEnabled\") && this._popupElementTabHandler(opts),\r\n _ignoreFunctionValueDeprecation: true,\r\n maxHeight: function() {\r\n var _this$_popupPosition;\r\n var popupLocation = null === (_this$_popupPosition = this._popupPosition) || void 0 === _this$_popupPosition ? void 0 : _this$_popupPosition.v.location;\r\n return getElementMaxHeightByWindow(this.$element(), popupLocation)\r\n }.bind(this)\r\n })\r\n },\r\n _popupShownHandler: function() {\r\n this.callBase();\r\n var $firstElement = this._getTabbableElements().first();\r\n eventsEngine.trigger($firstElement, \"focus\")\r\n },\r\n _setCollectionWidgetOption: noop,\r\n _optionChanged: function(args) {\r\n this._dataExpressionOptionChanged(args);\r\n switch (args.name) {\r\n case \"dataSource\":\r\n this._renderInputValue();\r\n break;\r\n case \"displayValue\":\r\n this.option(\"text\", args.value);\r\n break;\r\n case \"displayExpr\":\r\n this._renderValue();\r\n break;\r\n case \"contentTemplate\":\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n}).include(DataExpressionMixin);\r\nregisterComponent(\"dxDropDownBox\", DropDownBox);\r\nexport default DropDownBox;\r\n","/**\r\n * DevExtreme (esm/ui/drop_down_button.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport Widget from \"./widget/ui.widget\";\r\nimport {\r\n FunctionTemplate\r\n} from \"../core/templates/function_template\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport ButtonGroup from \"./button_group\";\r\nimport Popup from \"./popup/ui.popup\";\r\nimport List from \"./list_light\";\r\nimport {\r\n compileGetter\r\n} from \"../core/utils/data\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport {\r\n getImageContainer\r\n} from \"../core/utils/icon\";\r\nimport DataHelperMixin from \"../data_helper\";\r\nimport {\r\n DataSource\r\n} from \"../data/data_source/data_source\";\r\nimport ArrayStore from \"../data/array_store\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n isPlainObject,\r\n isDefined\r\n} from \"../core/utils/type\";\r\nimport {\r\n ensureDefined,\r\n noop\r\n} from \"../core/utils/common\";\r\nimport Guid from \"../core/guid\";\r\nimport {\r\n getElementWidth,\r\n getSizeValue\r\n} from \"./drop_down_editor/utils\";\r\nimport messageLocalization from \"../localization/message\";\r\nvar DROP_DOWN_BUTTON_CLASS = \"dx-dropdownbutton\";\r\nvar DROP_DOWN_BUTTON_CONTENT = \"dx-dropdownbutton-content\";\r\nvar DROP_DOWN_BUTTON_ACTION_CLASS = \"dx-dropdownbutton-action\";\r\nvar DROP_DOWN_BUTTON_TOGGLE_CLASS = \"dx-dropdownbutton-toggle\";\r\nvar DROP_DOWN_BUTTON_HAS_ARROW_CLASS = \"dx-dropdownbutton-has-arrow\";\r\nvar DROP_DOWN_BUTTON_POPUP_WRAPPER_CLASS = \"dx-dropdownbutton-popup-wrapper\";\r\nvar DROP_DOWN_EDITOR_OVERLAY_CLASS = \"dx-dropdowneditor-overlay\";\r\nvar DX_BUTTON_TEXT_CLASS = \"dx-button-text\";\r\nvar DX_ICON_RIGHT_CLASS = \"dx-icon-right\";\r\nvar DropDownButton = Widget.inherit({\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n itemTemplate: \"item\",\r\n keyExpr: \"this\",\r\n displayExpr: void 0,\r\n selectedItem: null,\r\n selectedItemKey: null,\r\n stylingMode: \"outlined\",\r\n deferRendering: true,\r\n noDataText: messageLocalization.format(\"dxCollectionWidget-noDataText\"),\r\n useSelectMode: false,\r\n splitButton: false,\r\n showArrowIcon: true,\r\n text: \"\",\r\n icon: void 0,\r\n onButtonClick: null,\r\n onSelectionChanged: null,\r\n onItemClick: null,\r\n opened: false,\r\n items: null,\r\n dataSource: null,\r\n focusStateEnabled: true,\r\n hoverStateEnabled: true,\r\n dropDownOptions: {},\r\n dropDownContentTemplate: \"content\",\r\n wrapItemText: false,\r\n useItemTextAsTitle: true,\r\n grouped: false,\r\n groupTemplate: \"group\",\r\n buttonGroupOptions: {}\r\n })\r\n },\r\n _setOptionsByReference() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n selectedItem: true\r\n })\r\n },\r\n _init() {\r\n this.callBase();\r\n this._createItemClickAction();\r\n this._createActionClickAction();\r\n this._createSelectionChangedAction();\r\n this._initDataSource();\r\n this._compileKeyGetter();\r\n this._compileDisplayGetter();\r\n this._itemsToDataSource(this.option(\"items\"));\r\n this._options.cache(\"buttonGroupOptions\", this.option(\"buttonGroupOptions\"));\r\n this._options.cache(\"dropDownOptions\", this.option(\"dropDownOptions\"))\r\n },\r\n _initTemplates() {\r\n this._templateManager.addDefaultTemplates({\r\n content: new FunctionTemplate(options => {\r\n var $popupContent = $(options.container);\r\n var $listContainer = $(\"<div>\").appendTo($popupContent);\r\n this._list = this._createComponent($listContainer, List, this._listOptions());\r\n this._list.registerKeyHandler(\"escape\", this._escHandler.bind(this));\r\n this._list.registerKeyHandler(\"tab\", this._escHandler.bind(this));\r\n this._list.registerKeyHandler(\"leftArrow\", this._escHandler.bind(this));\r\n this._list.registerKeyHandler(\"rightArrow\", this._escHandler.bind(this))\r\n })\r\n });\r\n this.callBase()\r\n },\r\n _itemsToDataSource: function(value) {\r\n if (!this._dataSource) {\r\n this._dataSource = new DataSource({\r\n store: new ArrayStore({\r\n key: this._getKey(),\r\n data: value\r\n }),\r\n pageSize: 0\r\n })\r\n }\r\n },\r\n _getKey: function() {\r\n var _this$_dataSource;\r\n var keyExpr = this.option(\"keyExpr\");\r\n var storeKey = null === (_this$_dataSource = this._dataSource) || void 0 === _this$_dataSource ? void 0 : _this$_dataSource.key();\r\n return isDefined(storeKey) && (!isDefined(keyExpr) || \"this\" === keyExpr) ? storeKey : keyExpr\r\n },\r\n _compileKeyGetter() {\r\n this._keyGetter = compileGetter(this._getKey())\r\n },\r\n _compileDisplayGetter() {\r\n this._displayGetter = compileGetter(this.option(\"displayExpr\"))\r\n },\r\n _initMarkup() {\r\n this.callBase();\r\n this.$element().addClass(DROP_DOWN_BUTTON_CLASS);\r\n this._renderButtonGroup();\r\n this._updateArrowClass();\r\n if (isDefined(this.option(\"selectedItemKey\"))) {\r\n this._loadSelectedItem().done(this._updateActionButton.bind(this))\r\n }\r\n },\r\n _renderFocusTarget: noop,\r\n _render() {\r\n if (!this.option(\"deferRendering\") || this.option(\"opened\")) {\r\n this._renderPopup()\r\n }\r\n this.callBase()\r\n },\r\n _renderContentImpl() {\r\n if (this._popup) {\r\n this._renderPopupContent()\r\n }\r\n return this.callBase()\r\n },\r\n _loadSelectedItem() {\r\n var _this$_loadSingleDefe;\r\n null === (_this$_loadSingleDefe = this._loadSingleDeferred) || void 0 === _this$_loadSingleDefe ? void 0 : _this$_loadSingleDefe.reject();\r\n var d = new Deferred;\r\n if (this._list && void 0 !== this._lastSelectedItemData) {\r\n var cachedResult = this.option(\"useSelectMode\") ? this._list.option(\"selectedItem\") : this._lastSelectedItemData;\r\n return d.resolve(cachedResult)\r\n }\r\n this._lastSelectedItemData = void 0;\r\n var selectedItemKey = this.option(\"selectedItemKey\");\r\n this._loadSingle(this._getKey(), selectedItemKey).done(d.resolve).fail(() => {\r\n d.resolve(null)\r\n });\r\n this._loadSingleDeferred = d;\r\n return d.promise()\r\n },\r\n _createActionClickAction() {\r\n this._actionClickAction = this._createActionByOption(\"onButtonClick\")\r\n },\r\n _createSelectionChangedAction() {\r\n this._selectionChangedAction = this._createActionByOption(\"onSelectionChanged\")\r\n },\r\n _createItemClickAction() {\r\n this._itemClickAction = this._createActionByOption(\"onItemClick\")\r\n },\r\n _fireSelectionChangedAction(_ref) {\r\n var {\r\n previousValue: previousValue,\r\n value: value\r\n } = _ref;\r\n this._selectionChangedAction({\r\n item: value,\r\n previousItem: previousValue\r\n })\r\n },\r\n _fireItemClickAction(_ref2) {\r\n var {\r\n event: event,\r\n itemElement: itemElement,\r\n itemData: itemData\r\n } = _ref2;\r\n return this._itemClickAction({\r\n event: event,\r\n itemElement: itemElement,\r\n itemData: this._actionItem || itemData\r\n })\r\n },\r\n _actionButtonConfig() {\r\n return {\r\n text: this.option(\"text\"),\r\n icon: this.option(\"icon\"),\r\n elementAttr: {\r\n class: DROP_DOWN_BUTTON_ACTION_CLASS\r\n }\r\n }\r\n },\r\n _getButtonGroupItems() {\r\n var items = [];\r\n items.push(this._actionButtonConfig());\r\n if (this.option(\"splitButton\")) {\r\n items.push({\r\n icon: \"spindown\",\r\n elementAttr: {\r\n class: DROP_DOWN_BUTTON_TOGGLE_CLASS\r\n }\r\n })\r\n }\r\n return items\r\n },\r\n _buttonGroupItemClick(_ref3) {\r\n var {\r\n event: event,\r\n itemData: itemData\r\n } = _ref3;\r\n var isActionButton = itemData.elementAttr.class === DROP_DOWN_BUTTON_ACTION_CLASS;\r\n var isToggleButton = itemData.elementAttr.class === DROP_DOWN_BUTTON_TOGGLE_CLASS;\r\n if (isToggleButton) {\r\n this.toggle()\r\n } else if (isActionButton) {\r\n this._actionClickAction({\r\n event: event,\r\n selectedItem: this.option(\"selectedItem\")\r\n });\r\n if (!this.option(\"splitButton\")) {\r\n this.toggle()\r\n }\r\n }\r\n },\r\n _buttonGroupOptions() {\r\n var {\r\n splitButton: splitButton,\r\n showArrowIcon: showArrowIcon,\r\n focusStateEnabled: focusStateEnabled,\r\n hoverStateEnabled: hoverStateEnabled,\r\n stylingMode: stylingMode,\r\n accessKey: accessKey,\r\n tabIndex: tabIndex\r\n } = this.option();\r\n var buttonTemplate = splitButton || !showArrowIcon ? \"content\" : (_ref4, buttonContent) => {\r\n var {\r\n text: text,\r\n icon: icon\r\n } = _ref4;\r\n var $firstIcon = getImageContainer(icon);\r\n var $textContainer = text ? $(\"<span>\").text(text).addClass(DX_BUTTON_TEXT_CLASS) : void 0;\r\n var $secondIcon = getImageContainer(\"spindown\").addClass(DX_ICON_RIGHT_CLASS);\r\n $(buttonContent).append($firstIcon, $textContainer, $secondIcon)\r\n };\r\n return extend({\r\n items: this._getButtonGroupItems(),\r\n onItemClick: this._buttonGroupItemClick.bind(this),\r\n width: \"100%\",\r\n height: \"100%\",\r\n selectionMode: \"none\",\r\n onKeyboardHandled: e => this._keyboardHandler(e),\r\n buttonTemplate: buttonTemplate,\r\n focusStateEnabled: focusStateEnabled,\r\n hoverStateEnabled: hoverStateEnabled,\r\n stylingMode: stylingMode,\r\n accessKey: accessKey,\r\n tabIndex: tabIndex\r\n }, this._options.cache(\"buttonGroupOptions\"))\r\n },\r\n _renderPopupContent() {\r\n var $content = this._popup.$content();\r\n var template = this._getTemplateByOption(\"dropDownContentTemplate\");\r\n $content.empty();\r\n this._popupContentId = \"dx-\" + new Guid;\r\n this.setAria(\"id\", this._popupContentId, $content);\r\n return template.render({\r\n container: getPublicElement($content),\r\n model: this.option(\"items\") || this._dataSource\r\n })\r\n },\r\n _popupOptions() {\r\n var horizontalAlignment = this.option(\"rtlEnabled\") ? \"right\" : \"left\";\r\n return extend({\r\n dragEnabled: false,\r\n focusStateEnabled: false,\r\n deferRendering: this.option(\"deferRendering\"),\r\n hideOnOutsideClick: e => {\r\n var $element = this.$element();\r\n var $buttonClicked = $(e.target).closest(\".\".concat(DROP_DOWN_BUTTON_CLASS));\r\n return !$buttonClicked.is($element)\r\n },\r\n showTitle: false,\r\n animation: {\r\n show: {\r\n type: \"fade\",\r\n duration: 0,\r\n from: 0,\r\n to: 1\r\n },\r\n hide: {\r\n type: \"fade\",\r\n duration: 400,\r\n from: 1,\r\n to: 0\r\n }\r\n },\r\n _ignoreFunctionValueDeprecation: true,\r\n width: () => getElementWidth(this.$element()),\r\n height: \"auto\",\r\n shading: false,\r\n position: {\r\n of: this.$element(),\r\n collision: \"flipfit\",\r\n my: horizontalAlignment + \" top\",\r\n at: horizontalAlignment + \" bottom\"\r\n },\r\n _wrapperClassExternal: DROP_DOWN_EDITOR_OVERLAY_CLASS\r\n }, this._options.cache(\"dropDownOptions\"), {\r\n visible: this.option(\"opened\")\r\n })\r\n },\r\n _listOptions() {\r\n var selectedItemKey = this.option(\"selectedItemKey\");\r\n var useSelectMode = this.option(\"useSelectMode\");\r\n return {\r\n selectionMode: useSelectMode ? \"single\" : \"none\",\r\n wrapItemText: this.option(\"wrapItemText\"),\r\n focusStateEnabled: this.option(\"focusStateEnabled\"),\r\n hoverStateEnabled: this.option(\"hoverStateEnabled\"),\r\n useItemTextAsTitle: this.option(\"useItemTextAsTitle\"),\r\n onContentReady: () => this._fireContentReadyAction(),\r\n selectedItemKeys: isDefined(selectedItemKey) && useSelectMode ? [selectedItemKey] : [],\r\n grouped: this.option(\"grouped\"),\r\n groupTemplate: this.option(\"groupTemplate\"),\r\n keyExpr: this._getKey(),\r\n noDataText: this.option(\"noDataText\"),\r\n displayExpr: this.option(\"displayExpr\"),\r\n itemTemplate: this.option(\"itemTemplate\"),\r\n items: this.option(\"items\"),\r\n dataSource: this._dataSource,\r\n onItemClick: e => {\r\n if (!this.option(\"useSelectMode\")) {\r\n this._lastSelectedItemData = e.itemData\r\n }\r\n this.option(\"selectedItemKey\", this._keyGetter(e.itemData));\r\n var actionResult = this._fireItemClickAction(e);\r\n if (false !== actionResult) {\r\n this.toggle(false);\r\n this._buttonGroup.focus()\r\n }\r\n }\r\n }\r\n },\r\n _upDownKeyHandler() {\r\n if (this._popup && this._popup.option(\"visible\") && this._list) {\r\n this._list.focus()\r\n } else {\r\n this.open()\r\n }\r\n return true\r\n },\r\n _escHandler() {\r\n this.close();\r\n this._buttonGroup.focus();\r\n return true\r\n },\r\n _tabHandler() {\r\n this.close();\r\n return true\r\n },\r\n _renderPopup() {\r\n var $popup = $(\"<div>\");\r\n this.$element().append($popup);\r\n this._popup = this._createComponent($popup, Popup, this._popupOptions());\r\n this._popup.$content().addClass(DROP_DOWN_BUTTON_CONTENT);\r\n this._popup.$wrapper().addClass(DROP_DOWN_BUTTON_POPUP_WRAPPER_CLASS);\r\n this._popup.on(\"hiding\", this._popupHidingHandler.bind(this));\r\n this._popup.on(\"showing\", this._popupShowingHandler.bind(this));\r\n this._bindInnerWidgetOptions(this._popup, \"dropDownOptions\")\r\n },\r\n _popupHidingHandler() {\r\n this.option(\"opened\", false);\r\n this._setAriaExpanded(false)\r\n },\r\n _popupOptionChanged: function(args) {\r\n var options = Widget.getOptionsFromContainer(args);\r\n this._setPopupOption(options);\r\n var optionsKeys = Object.keys(options);\r\n if (-1 !== optionsKeys.indexOf(\"width\") || -1 !== optionsKeys.indexOf(\"height\")) {\r\n this._dimensionChanged()\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n var popupWidth = getSizeValue(this.option(\"dropDownOptions.width\"));\r\n if (void 0 === popupWidth) {\r\n this._setPopupOption(\"width\", () => getElementWidth(this.$element()))\r\n }\r\n },\r\n _setPopupOption: function(optionName, value) {\r\n this._setWidgetOption(\"_popup\", arguments)\r\n },\r\n _popupShowingHandler() {\r\n this.option(\"opened\", true);\r\n this._setAriaExpanded(true)\r\n },\r\n _setAriaExpanded(value) {\r\n this._ariaExpandedElements.forEach(ariaElement => {\r\n this.setAria({\r\n expanded: value,\r\n owns: value ? this._popupContentId : void 0\r\n }, $(ariaElement))\r\n })\r\n },\r\n _renderButtonGroup() {\r\n var $buttonGroup = this._buttonGroup && this._buttonGroup.$element() || $(\"<div>\");\r\n if (!this._buttonGroup) {\r\n this.$element().append($buttonGroup)\r\n }\r\n this._buttonGroup = this._createComponent($buttonGroup, ButtonGroup, this._buttonGroupOptions());\r\n var buttonElements = this._buttonGroup.$element().find(\".dx-button\").toArray();\r\n this._ariaExpandedElements = [...buttonElements, this.$element()];\r\n this._buttonGroup.registerKeyHandler(\"downArrow\", this._upDownKeyHandler.bind(this));\r\n this._buttonGroup.registerKeyHandler(\"tab\", this._tabHandler.bind(this));\r\n this._buttonGroup.registerKeyHandler(\"upArrow\", this._upDownKeyHandler.bind(this));\r\n this._buttonGroup.registerKeyHandler(\"escape\", this._escHandler.bind(this));\r\n this._bindInnerWidgetOptions(this._buttonGroup, \"buttonGroupOptions\");\r\n this._setAriaExpanded(this.option(\"opened\"))\r\n },\r\n _updateArrowClass() {\r\n var hasArrow = this.option(\"splitButton\") || this.option(\"showArrowIcon\");\r\n this.$element().toggleClass(DROP_DOWN_BUTTON_HAS_ARROW_CLASS, hasArrow)\r\n },\r\n toggle(visible) {\r\n if (!this._popup) {\r\n this._renderPopup();\r\n this._renderContent()\r\n }\r\n return this._popup.toggle(visible)\r\n },\r\n open() {\r\n return this.toggle(true)\r\n },\r\n close() {\r\n return this.toggle(false)\r\n },\r\n _setListOption(name, value) {\r\n this._list && this._list.option(name, value)\r\n },\r\n _getDisplayValue(item) {\r\n var isPrimitiveItem = !isPlainObject(item);\r\n var displayValue = isPrimitiveItem ? item : this._displayGetter(item);\r\n return !isPlainObject(displayValue) ? String(ensureDefined(displayValue, \"\")) : \"\"\r\n },\r\n _updateActionButton(selectedItem) {\r\n if (this.option(\"useSelectMode\")) {\r\n this.option({\r\n text: this._getDisplayValue(selectedItem),\r\n icon: isPlainObject(selectedItem) ? selectedItem.icon : void 0\r\n })\r\n }\r\n this._setOptionWithoutOptionChange(\"selectedItem\", selectedItem);\r\n this._setOptionWithoutOptionChange(\"selectedItemKey\", this._keyGetter(selectedItem))\r\n },\r\n _clean() {\r\n this._list && this._list.$element().remove();\r\n this._popup && this._popup.$element().remove()\r\n },\r\n _selectedItemKeyChanged(value) {\r\n this._setListOption(\"selectedItemKeys\", this.option(\"useSelectMode\") && isDefined(value) ? [value] : []);\r\n var previousItem = this.option(\"selectedItem\");\r\n this._loadSelectedItem().done(selectedItem => {\r\n this._updateActionButton(selectedItem);\r\n if (this._displayGetter(previousItem) !== this._displayGetter(selectedItem)) {\r\n this._fireSelectionChangedAction({\r\n previousValue: previousItem,\r\n value: selectedItem\r\n })\r\n }\r\n })\r\n },\r\n _actionButtonOptionChanged(_ref5) {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref5;\r\n var newConfig = {};\r\n newConfig[name] = value;\r\n this._buttonGroup.option(\"items[0]\", extend({}, this._actionButtonConfig(), newConfig));\r\n this._popup && this._popup.repaint()\r\n },\r\n _selectModeChanged(value) {\r\n if (value) {\r\n this._setListOption(\"selectionMode\", \"single\");\r\n var selectedItemKey = this.option(\"selectedItemKey\");\r\n this._setListOption(\"selectedItemKeys\", isDefined(selectedItemKey) ? [selectedItemKey] : []);\r\n this._selectedItemKeyChanged(this.option(\"selectedItemKey\"))\r\n } else {\r\n this._setListOption(\"selectionMode\", \"none\");\r\n this.option({\r\n selectedItemKey: void 0,\r\n selectedItem: void 0\r\n });\r\n this._actionButtonOptionChanged({\r\n text: this.option(\"text\")\r\n })\r\n }\r\n },\r\n _updateItemCollection(optionName) {\r\n var selectedItemKey = this.option(\"selectedItemKey\");\r\n this._setListOption(\"selectedItem\", null);\r\n this._setWidgetOption(\"_list\", [optionName]);\r\n if (isDefined(selectedItemKey)) {\r\n this._loadSelectedItem().done(selectedItem => {\r\n this._setListOption(\"selectedItemKeys\", [selectedItemKey]);\r\n this._setListOption(\"selectedItem\", selectedItem)\r\n }).fail(error => {\r\n this._setListOption(\"selectedItemKeys\", [])\r\n }).always(this._updateActionButton.bind(this))\r\n }\r\n },\r\n _updateDataSource: function() {\r\n var items = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._dataSource.items();\r\n this._dataSource = void 0;\r\n this._itemsToDataSource(items);\r\n this._updateKeyExpr()\r\n },\r\n _updateKeyExpr: function() {\r\n this._compileKeyGetter();\r\n this._setListOption(\"keyExpr\", this._getKey())\r\n },\r\n focus: function() {\r\n this._buttonGroup.focus()\r\n },\r\n _optionChanged(args) {\r\n var _this$_popup;\r\n var {\r\n name: name,\r\n value: value\r\n } = args;\r\n switch (name) {\r\n case \"useSelectMode\":\r\n this._selectModeChanged(value);\r\n break;\r\n case \"splitButton\":\r\n this._updateArrowClass();\r\n this._renderButtonGroup();\r\n break;\r\n case \"displayExpr\":\r\n this._compileDisplayGetter();\r\n this._setListOption(name, value);\r\n this._updateActionButton(this.option(\"selectedItem\"));\r\n break;\r\n case \"keyExpr\":\r\n this._updateDataSource();\r\n break;\r\n case \"buttonGroupOptions\":\r\n this._innerWidgetOptionChanged(this._buttonGroup, args);\r\n break;\r\n case \"dropDownOptions\":\r\n if (\"dropDownOptions.visible\" === args.fullName) {\r\n break\r\n }\r\n if (void 0 !== args.value.visible) {\r\n delete args.value.visible\r\n }\r\n this._popupOptionChanged(args);\r\n this._innerWidgetOptionChanged(this._popup, args);\r\n break;\r\n case \"opened\":\r\n this.toggle(value);\r\n break;\r\n case \"focusStateEnabled\":\r\n case \"hoverStateEnabled\":\r\n this._setListOption(name, value);\r\n this._buttonGroup.option(name, value);\r\n this.callBase(args);\r\n break;\r\n case \"items\":\r\n this._updateDataSource(this.option(\"items\"));\r\n this._updateItemCollection(name);\r\n break;\r\n case \"dataSource\":\r\n if (Array.isArray(value)) {\r\n this._updateDataSource(this.option(\"dataSource\"))\r\n } else {\r\n this._initDataSource();\r\n this._updateKeyExpr()\r\n }\r\n this._updateItemCollection(name);\r\n break;\r\n case \"icon\":\r\n case \"text\":\r\n this._actionButtonOptionChanged(args);\r\n break;\r\n case \"showArrowIcon\":\r\n this._updateArrowClass();\r\n this._renderButtonGroup();\r\n this._popup && this._popup.repaint();\r\n break;\r\n case \"width\":\r\n case \"height\":\r\n this.callBase(args);\r\n null === (_this$_popup = this._popup) || void 0 === _this$_popup ? void 0 : _this$_popup.repaint();\r\n break;\r\n case \"stylingMode\":\r\n this._buttonGroup.option(name, value);\r\n break;\r\n case \"itemTemplate\":\r\n case \"grouped\":\r\n case \"noDataText\":\r\n case \"groupTemplate\":\r\n case \"wrapItemText\":\r\n case \"useItemTextAsTitle\":\r\n this._setListOption(name, value);\r\n break;\r\n case \"dropDownContentTemplate\":\r\n this._renderContent();\r\n break;\r\n case \"selectedItemKey\":\r\n this._selectedItemKeyChanged(value);\r\n break;\r\n case \"selectedItem\":\r\n break;\r\n case \"onItemClick\":\r\n this._createItemClickAction();\r\n break;\r\n case \"onButtonClick\":\r\n this._createActionClickAction();\r\n break;\r\n case \"onSelectionChanged\":\r\n this._createSelectionChangedAction();\r\n break;\r\n case \"deferRendering\":\r\n this.toggle(this.option(\"opened\"));\r\n break;\r\n case \"tabIndex\":\r\n this._buttonGroup.option(name, value);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n}).include(DataHelperMixin);\r\nregisterComponent(\"dxDropDownButton\", DropDownButton);\r\nexport default DropDownButton;\r\n","/**\r\n * DevExtreme (esm/ui/drop_down_editor/ui.drop_down_button.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport TextEditorButton from \"../text_box/texteditor_button_collection/button\";\r\nimport Button from \"../button\";\r\nvar DROP_DOWN_EDITOR_BUTTON_CLASS = \"dx-dropdowneditor-button\";\r\nvar DROP_DOWN_EDITOR_BUTTON_VISIBLE = \"dx-dropdowneditor-button-visible\";\r\nvar BUTTON_MESSAGE = \"dxDropDownEditor-selectLabel\";\r\nexport default class DropDownButton extends TextEditorButton {\r\n constructor(name, editor, options) {\r\n super(name, editor, options);\r\n this.currentTemplate = null\r\n }\r\n _attachEvents(instance) {\r\n var {\r\n editor: editor\r\n } = this;\r\n instance.option(\"onClick\", e => {\r\n !editor.option(\"openOnFieldClick\") && editor._openHandler(e)\r\n });\r\n eventsEngine.on(instance.$element(), \"mousedown\", e => {\r\n if (editor.$element().is(\".dx-state-focused\")) {\r\n e.preventDefault()\r\n }\r\n })\r\n }\r\n _create() {\r\n var {\r\n editor: editor\r\n } = this;\r\n var $element = $(\"<div>\");\r\n var options = this._getOptions();\r\n this._addToContainer($element);\r\n var instance = editor._createComponent($element, Button, extend({}, options, {\r\n elementAttr: {\r\n \"aria-label\": messageLocalization.format(BUTTON_MESSAGE)\r\n }\r\n }));\r\n this._legacyRender(editor.$element(), $element, options.visible);\r\n return {\r\n $element: $element,\r\n instance: instance\r\n }\r\n }\r\n _getOptions() {\r\n var {\r\n editor: editor\r\n } = this;\r\n var visible = this._isVisible();\r\n var isReadOnly = editor.option(\"readOnly\");\r\n var options = {\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false,\r\n activeStateEnabled: false,\r\n useInkRipple: false,\r\n disabled: isReadOnly,\r\n visible: visible\r\n };\r\n this._addTemplate(options);\r\n return options\r\n }\r\n _isVisible() {\r\n var {\r\n editor: editor\r\n } = this;\r\n return super._isVisible() && editor.option(\"showDropDownButton\")\r\n }\r\n _legacyRender($editor, $element, isVisible) {\r\n $editor.toggleClass(DROP_DOWN_EDITOR_BUTTON_VISIBLE, isVisible);\r\n if ($element) {\r\n $element.removeClass(\"dx-button\").addClass(DROP_DOWN_EDITOR_BUTTON_CLASS)\r\n }\r\n }\r\n _isSameTemplate() {\r\n return this.editor.option(\"dropDownButtonTemplate\") === this.currentTemplate\r\n }\r\n _addTemplate(options) {\r\n if (!this._isSameTemplate()) {\r\n options.template = this.editor._getTemplateByOption(\"dropDownButtonTemplate\");\r\n this.currentTemplate = this.editor.option(\"dropDownButtonTemplate\")\r\n }\r\n }\r\n update() {\r\n var shouldUpdate = super.update();\r\n if (shouldUpdate) {\r\n var {\r\n editor: editor,\r\n instance: instance\r\n } = this;\r\n var $editor = editor.$element();\r\n var options = this._getOptions();\r\n null === instance || void 0 === instance ? void 0 : instance.option(options);\r\n this._legacyRender($editor, null === instance || void 0 === instance ? void 0 : instance.$element(), options.visible)\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/drop_down_editor/ui.drop_down_editor.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Guid from \"../../core/guid\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n noop,\r\n splitPair\r\n} from \"../../core/utils/common\";\r\nimport {\r\n focused\r\n} from \"../widget/selectors\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport animationPosition from \"../../animation/position\";\r\nimport {\r\n getDefaultAlignment\r\n} from \"../../core/utils/position\";\r\nimport DropDownButton from \"./ui.drop_down_button\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n addNamespace,\r\n isCommandKeyPressed\r\n} from \"../../events/utils/index\";\r\nimport TextBox from \"../text_box\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n FunctionTemplate\r\n} from \"../../core/templates/function_template\";\r\nimport Popup from \"../popup/ui.popup\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n getElementWidth,\r\n getSizeValue\r\n} from \"./utils\";\r\nimport {\r\n locate,\r\n move\r\n} from \"../../animation/translator\";\r\nvar DROP_DOWN_EDITOR_CLASS = \"dx-dropdowneditor\";\r\nvar DROP_DOWN_EDITOR_INPUT_WRAPPER = \"dx-dropdowneditor-input-wrapper\";\r\nvar DROP_DOWN_EDITOR_BUTTON_ICON = \"dx-dropdowneditor-icon\";\r\nvar DROP_DOWN_EDITOR_OVERLAY = \"dx-dropdowneditor-overlay\";\r\nvar DROP_DOWN_EDITOR_OVERLAY_FLIPPED = \"dx-dropdowneditor-overlay-flipped\";\r\nvar DROP_DOWN_EDITOR_ACTIVE = \"dx-dropdowneditor-active\";\r\nvar DROP_DOWN_EDITOR_FIELD_CLICKABLE = \"dx-dropdowneditor-field-clickable\";\r\nvar DROP_DOWN_EDITOR_FIELD_TEMPLATE_WRAPPER = \"dx-dropdowneditor-field-template-wrapper\";\r\nvar isIOs = \"ios\" === devices.current().platform;\r\nvar DropDownEditor = TextBox.inherit({\r\n _supportedKeys: function() {\r\n return extend({}, this.callBase(), {\r\n tab: function(e) {\r\n if (!this.option(\"opened\")) {\r\n return\r\n }\r\n if (\"instantly\" === this.option(\"applyValueMode\")) {\r\n this.close();\r\n return\r\n }\r\n var $focusableElement = e.shiftKey ? this._getLastPopupElement() : this._getFirstPopupElement();\r\n if ($focusableElement) {\r\n eventsEngine.trigger($focusableElement, \"focus\");\r\n $focusableElement.select()\r\n }\r\n e.preventDefault()\r\n },\r\n escape: function(e) {\r\n if (this.option(\"opened\")) {\r\n e.preventDefault()\r\n }\r\n this.close();\r\n return true\r\n },\r\n upArrow: function(e) {\r\n if (!isCommandKeyPressed(e)) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (e.altKey) {\r\n this.close();\r\n return false\r\n }\r\n }\r\n return true\r\n },\r\n downArrow: function(e) {\r\n if (!isCommandKeyPressed(e)) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (e.altKey) {\r\n this._validatedOpening();\r\n return false\r\n }\r\n }\r\n return true\r\n },\r\n enter: function(e) {\r\n if (this.option(\"opened\")) {\r\n e.preventDefault();\r\n this._valueChangeEventHandler(e)\r\n }\r\n return true\r\n }\r\n })\r\n },\r\n _getDefaultButtons: function() {\r\n return this.callBase().concat([{\r\n name: \"dropDown\",\r\n Ctor: DropDownButton\r\n }])\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n value: null,\r\n onOpened: null,\r\n onClosed: null,\r\n opened: false,\r\n acceptCustomValue: true,\r\n applyValueMode: \"instantly\",\r\n deferRendering: true,\r\n activeStateEnabled: true,\r\n dropDownButtonTemplate: \"dropDownButton\",\r\n fieldTemplate: null,\r\n openOnFieldClick: false,\r\n showDropDownButton: true,\r\n buttons: void 0,\r\n dropDownOptions: {\r\n showTitle: false\r\n },\r\n popupPosition: this._getDefaultPopupPosition(),\r\n onPopupInitialized: null,\r\n applyButtonText: messageLocalization.format(\"OK\"),\r\n cancelButtonText: messageLocalization.format(\"Cancel\"),\r\n buttonsLocation: \"default\",\r\n useHiddenSubmitElement: false,\r\n validationMessagePosition: \"auto\"\r\n })\r\n },\r\n _useTemplates: function() {\r\n return true\r\n },\r\n _getDefaultPopupPosition: function(isRtlEnabled) {\r\n var position = getDefaultAlignment(isRtlEnabled);\r\n return {\r\n offset: {\r\n h: 0,\r\n v: -1\r\n },\r\n my: position + \" top\",\r\n at: position + \" bottom\",\r\n collision: \"flip flip\"\r\n }\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function(_device) {\r\n var isGeneric = \"generic\" === _device.platform;\r\n return isGeneric\r\n },\r\n options: {\r\n popupPosition: {\r\n offset: {\r\n v: 0\r\n }\r\n }\r\n }\r\n }])\r\n },\r\n _inputWrapper: function() {\r\n return this.$element().find(\".\" + DROP_DOWN_EDITOR_INPUT_WRAPPER).first()\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initVisibilityActions();\r\n this._initPopupInitializedAction();\r\n this._updatePopupPosition(this.option(\"rtlEnabled\"));\r\n this._options.cache(\"dropDownOptions\", this.option(\"dropDownOptions\"))\r\n },\r\n _updatePopupPosition: function(isRtlEnabled) {\r\n var {\r\n my: my,\r\n at: at\r\n } = this._getDefaultPopupPosition(isRtlEnabled);\r\n var currentPosition = this.option(\"popupPosition\");\r\n this.option(\"popupPosition\", extend({}, currentPosition, {\r\n my: my,\r\n at: at\r\n }))\r\n },\r\n _initVisibilityActions: function() {\r\n this._openAction = this._createActionByOption(\"onOpened\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this._closeAction = this._createActionByOption(\"onClosed\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initPopupInitializedAction: function() {\r\n this._popupInitializedAction = this._createActionByOption(\"onPopupInitialized\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initMarkup: function() {\r\n this._renderSubmitElement();\r\n this.callBase();\r\n this.$element().addClass(DROP_DOWN_EDITOR_CLASS);\r\n this.setAria(\"role\", \"combobox\")\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderOpenHandler();\r\n this._attachFocusOutHandler();\r\n this._renderOpenedState()\r\n },\r\n _renderContentImpl: function() {\r\n if (!this.option(\"deferRendering\")) {\r\n this._createPopup()\r\n }\r\n },\r\n _renderInput: function() {\r\n this.callBase();\r\n this._wrapInput();\r\n this._setDefaultAria()\r\n },\r\n _wrapInput: function() {\r\n this._$container = this.$element().wrapInner($(\"<div>\").addClass(DROP_DOWN_EDITOR_INPUT_WRAPPER)).children().eq(0)\r\n },\r\n _setDefaultAria: function() {\r\n this.setAria({\r\n haspopup: \"true\",\r\n autocomplete: \"list\"\r\n })\r\n },\r\n _readOnlyPropValue: function() {\r\n return !this._isEditable() || this.callBase()\r\n },\r\n _cleanFocusState: function() {\r\n this.callBase();\r\n if (this.option(\"fieldTemplate\")) {\r\n this._detachFocusEvents()\r\n }\r\n },\r\n _getFieldTemplate: function() {\r\n return this.option(\"fieldTemplate\") && this._getTemplateByOption(\"fieldTemplate\")\r\n },\r\n _renderMask: function() {\r\n if (this.option(\"fieldTemplate\")) {\r\n return\r\n }\r\n this.callBase()\r\n },\r\n _renderField: function() {\r\n var fieldTemplate = this._getFieldTemplate();\r\n fieldTemplate && this._renderTemplatedField(fieldTemplate, this._fieldRenderData())\r\n },\r\n _renderPlaceholder: function() {\r\n var hasFieldTemplate = !!this._getFieldTemplate();\r\n if (!hasFieldTemplate) {\r\n this.callBase()\r\n }\r\n },\r\n _renderValue: function() {\r\n if (this.option(\"useHiddenSubmitElement\")) {\r\n this._setSubmitValue()\r\n }\r\n var promise = this.callBase();\r\n promise.always(this._renderField.bind(this))\r\n },\r\n _renderTemplatedField: function(fieldTemplate, data) {\r\n var isFocused = focused(this._input());\r\n var $container = this._$container;\r\n this._detachKeyboardEvents();\r\n this._refreshButtonsContainer();\r\n this._detachWrapperContent();\r\n this._detachFocusEvents();\r\n $container.empty();\r\n var $templateWrapper = $(\"<div>\").addClass(DROP_DOWN_EDITOR_FIELD_TEMPLATE_WRAPPER).appendTo($container);\r\n fieldTemplate.render({\r\n model: data,\r\n container: getPublicElement($templateWrapper),\r\n onRendered: () => {\r\n var isRenderedInRoot = !!this.$element().find($templateWrapper).length;\r\n if (!isRenderedInRoot) {\r\n return\r\n }\r\n var $input = this._input();\r\n if (!$input.length) {\r\n throw errors.Error(\"E1010\")\r\n }\r\n this._integrateInput();\r\n isFocused && eventsEngine.trigger($input, \"focus\")\r\n }\r\n });\r\n this._attachWrapperContent($container)\r\n },\r\n _detachWrapperContent() {\r\n var _this$_$submitElement, _this$_$beforeButtons, _this$_$afterButtonsC;\r\n var useHiddenSubmitElement = this.option(\"useHiddenSubmitElement\");\r\n useHiddenSubmitElement && (null === (_this$_$submitElement = this._$submitElement) || void 0 === _this$_$submitElement ? void 0 : _this$_$submitElement.detach());\r\n var beforeButtonsContainerParent = null === (_this$_$beforeButtons = this._$beforeButtonsContainer) || void 0 === _this$_$beforeButtons ? void 0 : _this$_$beforeButtons[0].parentNode;\r\n var afterButtonsContainerParent = null === (_this$_$afterButtonsC = this._$afterButtonsContainer) || void 0 === _this$_$afterButtonsC ? void 0 : _this$_$afterButtonsC[0].parentNode;\r\n null === beforeButtonsContainerParent || void 0 === beforeButtonsContainerParent ? void 0 : beforeButtonsContainerParent.removeChild(this._$beforeButtonsContainer[0]);\r\n null === afterButtonsContainerParent || void 0 === afterButtonsContainerParent ? void 0 : afterButtonsContainerParent.removeChild(this._$afterButtonsContainer[0])\r\n },\r\n _attachWrapperContent($container) {\r\n var _this$_$submitElement2;\r\n var useHiddenSubmitElement = this.option(\"useHiddenSubmitElement\");\r\n $container.prepend(this._$beforeButtonsContainer);\r\n useHiddenSubmitElement && (null === (_this$_$submitElement2 = this._$submitElement) || void 0 === _this$_$submitElement2 ? void 0 : _this$_$submitElement2.appendTo($container));\r\n $container.append(this._$afterButtonsContainer)\r\n },\r\n _refreshButtonsContainer() {\r\n this._$buttonsContainer = this.$element().children().eq(0)\r\n },\r\n _integrateInput: function() {\r\n this._renderFocusState();\r\n this._refreshValueChangeEvent();\r\n this._refreshEvents();\r\n this._refreshEmptinessEvent()\r\n },\r\n _refreshEmptinessEvent: function() {\r\n eventsEngine.off(this._input(), \"input blur\", this._toggleEmptinessEventHandler);\r\n this._renderEmptinessEvent()\r\n },\r\n _fieldRenderData: function() {\r\n return this.option(\"value\")\r\n },\r\n _initTemplates: function() {\r\n this._templateManager.addDefaultTemplates({\r\n dropDownButton: new FunctionTemplate((function(options) {\r\n var $icon = $(\"<div>\").addClass(DROP_DOWN_EDITOR_BUTTON_ICON);\r\n $(options.container).append($icon)\r\n }))\r\n });\r\n this.callBase()\r\n },\r\n _renderOpenHandler: function() {\r\n var $inputWrapper = this._inputWrapper();\r\n var eventName = addNamespace(clickEventName, this.NAME);\r\n var openOnFieldClick = this.option(\"openOnFieldClick\");\r\n eventsEngine.off($inputWrapper, eventName);\r\n eventsEngine.on($inputWrapper, eventName, this._getInputClickHandler(openOnFieldClick));\r\n this.$element().toggleClass(DROP_DOWN_EDITOR_FIELD_CLICKABLE, openOnFieldClick);\r\n if (openOnFieldClick) {\r\n this._openOnFieldClickAction = this._createAction(this._openHandler.bind(this))\r\n }\r\n },\r\n _attachFocusOutHandler: function() {\r\n if (isIOs) {\r\n this._detachFocusOutEvents();\r\n eventsEngine.on(this._inputWrapper(), addNamespace(\"focusout\", this.NAME), event => {\r\n var newTarget = event.relatedTarget;\r\n var popupWrapper = this.content ? $(this.content()).closest(\".\" + DROP_DOWN_EDITOR_OVERLAY) : this._$popup;\r\n if (newTarget && this.option(\"opened\")) {\r\n var isNewTargetOutside = 0 === $(newTarget).closest(\".\" + DROP_DOWN_EDITOR_OVERLAY, popupWrapper).length;\r\n if (isNewTargetOutside) {\r\n this.close()\r\n }\r\n }\r\n })\r\n }\r\n },\r\n _detachFocusOutEvents: function() {\r\n isIOs && eventsEngine.off(this._inputWrapper(), addNamespace(\"focusout\", this.NAME))\r\n },\r\n _getInputClickHandler: function(openOnFieldClick) {\r\n return openOnFieldClick ? e => {\r\n this._executeOpenAction(e)\r\n } : e => {\r\n this._focusInput()\r\n }\r\n },\r\n _openHandler: function() {\r\n this._toggleOpenState()\r\n },\r\n _executeOpenAction: function(e) {\r\n this._openOnFieldClickAction({\r\n event: e\r\n })\r\n },\r\n _keyboardEventBindingTarget: function() {\r\n return this._input()\r\n },\r\n _focusInput: function() {\r\n if (this.option(\"disabled\")) {\r\n return false\r\n }\r\n if (this.option(\"focusStateEnabled\") && !focused(this._input())) {\r\n this._resetCaretPosition();\r\n eventsEngine.trigger(this._input(), \"focus\")\r\n }\r\n return true\r\n },\r\n _resetCaretPosition: function() {\r\n var ignoreEditable = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : false;\r\n var inputElement = this._input().get(0);\r\n if (inputElement) {\r\n var {\r\n value: value\r\n } = inputElement;\r\n var caretPosition = isDefined(value) && (ignoreEditable || this._isEditable()) ? value.length : 0;\r\n this._caret({\r\n start: caretPosition,\r\n end: caretPosition\r\n }, true)\r\n }\r\n },\r\n _isEditable: function() {\r\n return this.option(\"acceptCustomValue\")\r\n },\r\n _toggleOpenState: function(isVisible) {\r\n if (!this._focusInput()) {\r\n return\r\n }\r\n if (!this.option(\"readOnly\")) {\r\n isVisible = arguments.length ? isVisible : !this.option(\"opened\");\r\n this.option(\"opened\", isVisible)\r\n }\r\n },\r\n _getControlsAria() {\r\n return this._popup && this._popupContentId\r\n },\r\n _renderOpenedState: function() {\r\n var opened = this.option(\"opened\");\r\n if (opened) {\r\n this._createPopup()\r\n }\r\n this.$element().toggleClass(DROP_DOWN_EDITOR_ACTIVE, opened);\r\n this._setPopupOption(\"visible\", opened);\r\n var arias = {\r\n expanded: opened,\r\n controls: this._getControlsAria()\r\n };\r\n this.setAria(arias);\r\n this.setAria(\"owns\", opened ? this._popupContentId : void 0, this.$element())\r\n },\r\n _createPopup: function() {\r\n if (this._$popup) {\r\n return\r\n }\r\n this._$popup = $(\"<div>\").addClass(DROP_DOWN_EDITOR_OVERLAY).appendTo(this.$element());\r\n this._renderPopup();\r\n this._renderPopupContent()\r\n },\r\n _renderPopupContent: noop,\r\n _renderPopup: function() {\r\n var popupConfig = extend(this._popupConfig(), this._options.cache(\"dropDownOptions\"));\r\n delete popupConfig.closeOnOutsideClick;\r\n if (popupConfig.elementAttr && !Object.keys(popupConfig.elementAttr).length) {\r\n delete popupConfig.elementAttr\r\n }\r\n this._popup = this._createComponent(this._$popup, Popup, popupConfig);\r\n this._popup.on({\r\n showing: this._popupShowingHandler.bind(this),\r\n shown: this._popupShownHandler.bind(this),\r\n hiding: this._popupHidingHandler.bind(this),\r\n hidden: this._popupHiddenHandler.bind(this),\r\n contentReady: this._contentReadyHandler.bind(this)\r\n });\r\n this._contentReadyHandler();\r\n this._setPopupContentId(this._popup.$content());\r\n this._bindInnerWidgetOptions(this._popup, \"dropDownOptions\")\r\n },\r\n _setPopupContentId($popupContent) {\r\n this._popupContentId = \"dx-\" + new Guid;\r\n this.setAria(\"id\", this._popupContentId, $popupContent)\r\n },\r\n _contentReadyHandler: noop,\r\n _popupConfig: function() {\r\n return {\r\n onInitialized: this._popupInitializedHandler(),\r\n position: extend(this.option(\"popupPosition\"), {\r\n of: this.$element()\r\n }),\r\n showTitle: this.option(\"dropDownOptions.showTitle\"),\r\n _ignoreFunctionValueDeprecation: true,\r\n width: () => getElementWidth(this.$element()),\r\n height: \"auto\",\r\n shading: false,\r\n hideOnParentScroll: true,\r\n hideOnOutsideClick: e => this._closeOutsideDropDownHandler(e),\r\n animation: {\r\n show: {\r\n type: \"fade\",\r\n duration: 0,\r\n from: 0,\r\n to: 1\r\n },\r\n hide: {\r\n type: \"fade\",\r\n duration: 400,\r\n from: 1,\r\n to: 0\r\n }\r\n },\r\n deferRendering: false,\r\n focusStateEnabled: false,\r\n showCloseButton: false,\r\n dragEnabled: false,\r\n toolbarItems: this._getPopupToolbarItems(),\r\n onPositioned: this._popupPositionedHandler.bind(this),\r\n fullScreen: false,\r\n contentTemplate: null,\r\n _hideOnParentScrollTarget: this.$element(),\r\n _wrapperClassExternal: DROP_DOWN_EDITOR_OVERLAY\r\n }\r\n },\r\n _popupInitializedHandler: function() {\r\n if (!this.option(\"onPopupInitialized\")) {\r\n return null\r\n }\r\n return e => {\r\n this._popupInitializedAction({\r\n popup: e.component\r\n })\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n if (hasWindow() && !this.$element().is(\":visible\")) {\r\n this.close();\r\n return\r\n }\r\n this._updatePopupWidth()\r\n },\r\n _updatePopupWidth: function() {\r\n var popupWidth = getSizeValue(this.option(\"dropDownOptions.width\"));\r\n if (void 0 === popupWidth) {\r\n this._setPopupOption(\"width\", () => getElementWidth(this.$element()))\r\n }\r\n },\r\n _popupPositionedHandler: function(e) {\r\n var _e$position, _e$position$v;\r\n var {\r\n labelMode: labelMode,\r\n stylingMode: stylingMode\r\n } = this.option();\r\n if (!this._popup) {\r\n return\r\n }\r\n var $popupOverlayContent = this._popup.$overlayContent();\r\n var isOverlayFlipped = null === (_e$position = e.position) || void 0 === _e$position ? void 0 : null === (_e$position$v = _e$position.v) || void 0 === _e$position$v ? void 0 : _e$position$v.flip;\r\n var shouldIndentForLabel = \"hidden\" !== labelMode && \"outlined\" === stylingMode;\r\n if (e.position) {\r\n $popupOverlayContent.toggleClass(DROP_DOWN_EDITOR_OVERLAY_FLIPPED, isOverlayFlipped)\r\n }\r\n if (isOverlayFlipped && shouldIndentForLabel && this._label.isVisible()) {\r\n var $label = this._label.$element();\r\n move($popupOverlayContent, {\r\n top: locate($popupOverlayContent).top - parseInt($label.css(\"fontSize\"))\r\n })\r\n }\r\n },\r\n _popupShowingHandler: noop,\r\n _popupHidingHandler: function() {\r\n this.option(\"opened\", false)\r\n },\r\n _popupShownHandler: function() {\r\n var _this$_validationMess;\r\n this._openAction();\r\n null === (_this$_validationMess = this._validationMessage) || void 0 === _this$_validationMess ? void 0 : _this$_validationMess.option(\"positionSide\", this._getValidationMessagePositionSide())\r\n },\r\n _popupHiddenHandler: function() {\r\n var _this$_validationMess2;\r\n this._closeAction();\r\n null === (_this$_validationMess2 = this._validationMessage) || void 0 === _this$_validationMess2 ? void 0 : _this$_validationMess2.option(\"positionSide\", this._getValidationMessagePositionSide())\r\n },\r\n _getValidationMessagePositionSide: function() {\r\n var validationMessagePosition = this.option(\"validationMessagePosition\");\r\n if (\"auto\" !== validationMessagePosition) {\r\n return validationMessagePosition\r\n }\r\n var positionSide = \"bottom\";\r\n if (this._popup && this._popup.option(\"visible\")) {\r\n var {\r\n top: myTop\r\n } = animationPosition.setup(this.$element());\r\n var {\r\n top: popupTop\r\n } = animationPosition.setup(this._popup.$content());\r\n positionSide = myTop + this.option(\"popupPosition\").offset.v > popupTop ? \"bottom\" : \"top\"\r\n }\r\n return positionSide\r\n },\r\n _closeOutsideDropDownHandler: function(_ref) {\r\n var {\r\n target: target\r\n } = _ref;\r\n var $target = $(target);\r\n var dropDownButton = this.getButton(\"dropDown\");\r\n var $dropDownButton = dropDownButton && dropDownButton.$element();\r\n var isInputClicked = !!$target.closest(this.$element()).length;\r\n var isDropDownButtonClicked = !!$target.closest($dropDownButton).length;\r\n var isOutsideClick = !isInputClicked && !isDropDownButtonClicked;\r\n return isOutsideClick\r\n },\r\n _clean: function() {\r\n delete this._openOnFieldClickAction;\r\n if (this._$popup) {\r\n this._$popup.remove();\r\n delete this._$popup;\r\n delete this._popup\r\n }\r\n this.callBase()\r\n },\r\n _setPopupOption: function(optionName, value) {\r\n this._setWidgetOption(\"_popup\", arguments)\r\n },\r\n _validatedOpening: function() {\r\n if (!this.option(\"readOnly\")) {\r\n this._toggleOpenState(true)\r\n }\r\n },\r\n _getPopupToolbarItems: function() {\r\n return \"useButtons\" === this.option(\"applyValueMode\") ? this._popupToolbarItemsConfig() : []\r\n },\r\n _getFirstPopupElement: function() {\r\n return this._popup.$wrapper().find(\".dx-popup-done.dx-button\")\r\n },\r\n _getLastPopupElement: function() {\r\n return this._popup.$wrapper().find(\".dx-popup-cancel.dx-button\")\r\n },\r\n _popupElementTabHandler: function(e) {\r\n var $element = $(e.currentTarget);\r\n if (e.shiftKey && $element.is(this._getFirstPopupElement()) || !e.shiftKey && $element.is(this._getLastPopupElement())) {\r\n eventsEngine.trigger(this._input(), \"focus\");\r\n e.preventDefault()\r\n }\r\n },\r\n _popupElementEscHandler: function() {\r\n eventsEngine.trigger(this._input(), \"focus\");\r\n this.close()\r\n },\r\n _popupButtonInitializedHandler: function(e) {\r\n e.component.registerKeyHandler(\"tab\", this._popupElementTabHandler.bind(this));\r\n e.component.registerKeyHandler(\"escape\", this._popupElementEscHandler.bind(this))\r\n },\r\n _popupToolbarItemsConfig: function() {\r\n var buttonsConfig = [{\r\n shortcut: \"done\",\r\n options: {\r\n onClick: this._applyButtonHandler.bind(this),\r\n text: this.option(\"applyButtonText\"),\r\n onInitialized: this._popupButtonInitializedHandler.bind(this)\r\n }\r\n }, {\r\n shortcut: \"cancel\",\r\n options: {\r\n onClick: this._cancelButtonHandler.bind(this),\r\n text: this.option(\"cancelButtonText\"),\r\n onInitialized: this._popupButtonInitializedHandler.bind(this)\r\n }\r\n }];\r\n return this._applyButtonsLocation(buttonsConfig)\r\n },\r\n _applyButtonsLocation: function(buttonsConfig) {\r\n var buttonsLocation = this.option(\"buttonsLocation\");\r\n var resultConfig = buttonsConfig;\r\n if (\"default\" !== buttonsLocation) {\r\n var position = splitPair(buttonsLocation);\r\n each(resultConfig, (function(_, element) {\r\n extend(element, {\r\n toolbar: position[0],\r\n location: position[1]\r\n })\r\n }))\r\n }\r\n return resultConfig\r\n },\r\n _applyButtonHandler: function() {\r\n this.close();\r\n this.option(\"focusStateEnabled\") && this.focus()\r\n },\r\n _cancelButtonHandler: function() {\r\n this.close();\r\n this.option(\"focusStateEnabled\") && this.focus()\r\n },\r\n _popupOptionChanged: function(args) {\r\n var options = Widget.getOptionsFromContainer(args);\r\n this._setPopupOption(options);\r\n var optionsKeys = Object.keys(options);\r\n if (-1 !== optionsKeys.indexOf(\"width\") || -1 !== optionsKeys.indexOf(\"height\")) {\r\n this._dimensionChanged()\r\n }\r\n },\r\n _renderSubmitElement: function() {\r\n if (this.option(\"useHiddenSubmitElement\")) {\r\n this._$submitElement = $(\"<input>\").attr(\"type\", \"hidden\").appendTo(this.$element())\r\n }\r\n },\r\n _setSubmitValue: function() {\r\n this._getSubmitElement().val(this.option(\"value\"))\r\n },\r\n _getSubmitElement: function() {\r\n if (this.option(\"useHiddenSubmitElement\")) {\r\n return this._$submitElement\r\n } else {\r\n return this.callBase()\r\n }\r\n },\r\n _dispose: function() {\r\n this._detachFocusOutEvents();\r\n this.callBase()\r\n },\r\n _optionChanged: function(args) {\r\n var _this$_popup;\r\n switch (args.name) {\r\n case \"width\":\r\n case \"height\":\r\n this.callBase(args);\r\n null === (_this$_popup = this._popup) || void 0 === _this$_popup ? void 0 : _this$_popup.repaint();\r\n break;\r\n case \"opened\":\r\n this._renderOpenedState();\r\n break;\r\n case \"onOpened\":\r\n case \"onClosed\":\r\n this._initVisibilityActions();\r\n break;\r\n case \"onPopupInitialized\":\r\n this._initPopupInitializedAction();\r\n break;\r\n case \"fieldTemplate\":\r\n if (isDefined(args.value)) {\r\n this._renderField()\r\n } else {\r\n this._invalidate()\r\n }\r\n break;\r\n case \"acceptCustomValue\":\r\n case \"openOnFieldClick\":\r\n this._invalidate();\r\n break;\r\n case \"dropDownButtonTemplate\":\r\n case \"showDropDownButton\":\r\n this._updateButtons([\"dropDown\"]);\r\n break;\r\n case \"dropDownOptions\":\r\n this._popupOptionChanged(args);\r\n this._options.cache(\"dropDownOptions\", this.option(\"dropDownOptions\"));\r\n break;\r\n case \"popupPosition\":\r\n break;\r\n case \"deferRendering\":\r\n if (hasWindow()) {\r\n this._createPopup()\r\n }\r\n break;\r\n case \"applyValueMode\":\r\n case \"applyButtonText\":\r\n case \"cancelButtonText\":\r\n case \"buttonsLocation\":\r\n this._setPopupOption(\"toolbarItems\", this._getPopupToolbarItems());\r\n break;\r\n case \"useHiddenSubmitElement\":\r\n if (this._$submitElement) {\r\n this._$submitElement.remove();\r\n this._$submitElement = void 0\r\n }\r\n this._renderSubmitElement();\r\n break;\r\n case \"rtlEnabled\":\r\n this._updatePopupPosition(args.value);\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n open: function() {\r\n this.option(\"opened\", true)\r\n },\r\n close: function() {\r\n this.option(\"opened\", false)\r\n },\r\n field: function() {\r\n return getPublicElement(this._input())\r\n },\r\n content: function() {\r\n return this._popup ? this._popup.content() : null\r\n }\r\n});\r\nregisterComponent(\"dxDropDownEditor\", DropDownEditor);\r\nexport default DropDownEditor;\r\n","/**\r\n * DevExtreme (esm/ui/drop_down_editor/ui.drop_down_list.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Guid from \"../../core/guid\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n noop,\r\n ensureDefined,\r\n grep\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isWindow,\r\n isDefined,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport DropDownEditor from \"./ui.drop_down_editor\";\r\nimport List from \"../list_light\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport devices from \"../../core/devices\";\r\nimport dataQuery from \"../../data/query\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport DataExpressionMixin from \"../editor/ui.data_expression\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n ChildDefaultTemplate\r\n} from \"../../core/templates/child_default_template\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport DataConverterMixin from \"../shared/grouped_data_converter_mixin\";\r\nvar LIST_ITEM_SELECTOR = \".dx-list-item\";\r\nvar LIST_ITEM_DATA_KEY = \"dxListItemData\";\r\nvar DROPDOWNLIST_POPUP_WRAPPER_CLASS = \"dx-dropdownlist-popup-wrapper\";\r\nvar SEARCH_EVENT = \"input\";\r\nvar SEARCH_MODES = [\"startswith\", \"contains\", \"endwith\", \"notcontains\"];\r\nvar useCompositionEvents = \"android\" !== devices.real().platform;\r\nvar DropDownList = DropDownEditor.inherit({\r\n _supportedKeys: function() {\r\n var parent = this.callBase();\r\n return extend({}, parent, {\r\n tab: function(e) {\r\n if (this._allowSelectItemByTab()) {\r\n this._saveValueChangeEvent(e);\r\n var $focusedItem = $(this._list.option(\"focusedElement\"));\r\n $focusedItem.length && this._setSelectedElement($focusedItem)\r\n }\r\n parent.tab.apply(this, arguments)\r\n },\r\n space: noop,\r\n home: noop,\r\n end: noop\r\n })\r\n },\r\n _allowSelectItemByTab: function() {\r\n return this.option(\"opened\") && \"instantly\" === this.option(\"applyValueMode\")\r\n },\r\n _setSelectedElement: function($element) {\r\n var value = this._valueGetter(this._list._getItemData($element));\r\n this._setValue(value)\r\n },\r\n _setValue: function(value) {\r\n this.option(\"value\", value)\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), extend(DataExpressionMixin._dataExpressionDefaultOptions(), {\r\n displayValue: void 0,\r\n searchEnabled: false,\r\n searchMode: \"contains\",\r\n searchTimeout: 500,\r\n minSearchLength: 0,\r\n searchExpr: null,\r\n valueChangeEvent: \"input change keyup\",\r\n selectedItem: null,\r\n noDataText: messageLocalization.format(\"dxCollectionWidget-noDataText\"),\r\n encodeNoDataText: false,\r\n onSelectionChanged: null,\r\n onItemClick: noop,\r\n showDataBeforeSearch: false,\r\n grouped: false,\r\n groupTemplate: \"group\",\r\n popupPosition: {\r\n my: \"left top\",\r\n at: \"left bottom\",\r\n offset: {\r\n h: 0,\r\n v: 0\r\n },\r\n collision: \"flip\"\r\n },\r\n wrapItemText: false,\r\n useItemTextAsTitle: false\r\n }))\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"ios\"\r\n },\r\n options: {\r\n popupPosition: {\r\n offset: {\r\n v: -1\r\n }\r\n }\r\n }\r\n }, {\r\n device: {\r\n platform: \"generic\"\r\n },\r\n options: {\r\n buttonsLocation: \"bottom center\"\r\n }\r\n }])\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n value: true,\r\n selectedItem: true,\r\n displayValue: true\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initDataExpressions();\r\n this._initActions();\r\n this._setListDataSource();\r\n this._validateSearchMode();\r\n this._clearSelectedItem();\r\n this._initItems()\r\n },\r\n _setListFocusedElementOptionChange: function() {\r\n this._list._updateParentActiveDescendant = this._updateActiveDescendant.bind(this)\r\n },\r\n _initItems: function() {\r\n var items = this.option().items;\r\n if (items && !items.length && this._dataSource) {\r\n this.option().items = this._dataSource.items()\r\n }\r\n },\r\n _initActions: function() {\r\n this._initContentReadyAction();\r\n this._initSelectionChangedAction();\r\n this._initItemClickAction()\r\n },\r\n _initContentReadyAction: function() {\r\n this._contentReadyAction = this._createActionByOption(\"onContentReady\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initSelectionChangedAction: function() {\r\n this._selectionChangedAction = this._createActionByOption(\"onSelectionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initItemClickAction: function() {\r\n this._itemClickAction = this._createActionByOption(\"onItemClick\")\r\n },\r\n _initTemplates: function() {\r\n this.callBase();\r\n this._templateManager.addDefaultTemplates({\r\n item: new ChildDefaultTemplate(\"item\")\r\n })\r\n },\r\n _isEditable: function() {\r\n return this.callBase() || this.option(\"searchEnabled\")\r\n },\r\n _saveFocusOnWidget: function(e) {\r\n if (this._list && this._list.initialOption(\"focusStateEnabled\")) {\r\n this._focusInput()\r\n }\r\n },\r\n _fitIntoRange: function(value, start, end) {\r\n if (value > end) {\r\n return start\r\n }\r\n if (value < start) {\r\n return end\r\n }\r\n return value\r\n },\r\n _items: function() {\r\n var items = this._getPlainItems(!this._list && this._dataSource.items());\r\n var availableItems = new dataQuery(items).filter(\"disabled\", \"<>\", true).toArray();\r\n return availableItems\r\n },\r\n _calcNextItem: function(step) {\r\n var items = this._items();\r\n var nextIndex = this._fitIntoRange(this._getSelectedIndex() + step, 0, items.length - 1);\r\n return items[nextIndex]\r\n },\r\n _getSelectedIndex: function() {\r\n var items = this._items();\r\n var selectedItem = this.option(\"selectedItem\");\r\n var result = -1;\r\n each(items, function(index, item) {\r\n if (this._isValueEquals(item, selectedItem)) {\r\n result = index;\r\n return false\r\n }\r\n }.bind(this));\r\n return result\r\n },\r\n _createPopup: function() {\r\n this.callBase();\r\n this._updateCustomBoundaryContainer();\r\n this._popup.$wrapper().addClass(this._popupWrapperClass());\r\n var $popupContent = this._popup.$content();\r\n eventsEngine.off($popupContent, \"mouseup\");\r\n eventsEngine.on($popupContent, \"mouseup\", this._saveFocusOnWidget.bind(this))\r\n },\r\n _updateCustomBoundaryContainer: function() {\r\n var customContainer = this.option(\"dropDownOptions.container\");\r\n var $container = customContainer && $(customContainer);\r\n if ($container && $container.length && !isWindow($container.get(0))) {\r\n var $containerWithParents = [].slice.call($container.parents());\r\n $containerWithParents.unshift($container.get(0));\r\n each($containerWithParents, function(i, parent) {\r\n if (parent === $(\"body\").get(0)) {\r\n return false\r\n } else if (\"hidden\" === window.getComputedStyle(parent).overflowY) {\r\n this._$customBoundaryContainer = $(parent);\r\n return false\r\n }\r\n }.bind(this))\r\n }\r\n },\r\n _popupWrapperClass: function() {\r\n return DROPDOWNLIST_POPUP_WRAPPER_CLASS\r\n },\r\n _renderInputValue: function() {\r\n var value = this._getCurrentValue();\r\n this._rejectValueLoading();\r\n return this._loadInputValue(value, this._setSelectedItem.bind(this)).always(this.callBase.bind(this, value))\r\n },\r\n _loadInputValue: function(value, callback) {\r\n return this._loadItem(value).always(callback)\r\n },\r\n _getItemFromPlain: function(value, cache) {\r\n var plainItems;\r\n var selectedItem;\r\n if (cache && \"object\" !== typeof value) {\r\n if (!cache.itemByValue) {\r\n cache.itemByValue = {};\r\n plainItems = this._getPlainItems();\r\n plainItems.forEach((function(item) {\r\n cache.itemByValue[this._valueGetter(item)] = item\r\n }), this)\r\n }\r\n selectedItem = cache.itemByValue[value]\r\n }\r\n if (!selectedItem) {\r\n plainItems = this._getPlainItems();\r\n selectedItem = grep(plainItems, function(item) {\r\n return this._isValueEquals(this._valueGetter(item), value)\r\n }.bind(this))[0]\r\n }\r\n return selectedItem\r\n },\r\n _loadItem: function(value, cache) {\r\n var selectedItem = this._getItemFromPlain(value, cache);\r\n return void 0 !== selectedItem ? (new Deferred).resolve(selectedItem).promise() : this._loadValue(value)\r\n },\r\n _getPlainItems: function(items) {\r\n var plainItems = [];\r\n items = items || this.option(\"items\") || this._dataSource.items() || [];\r\n for (var i = 0; i < items.length; i++) {\r\n if (items[i] && items[i].items) {\r\n plainItems = plainItems.concat(items[i].items)\r\n } else {\r\n plainItems.push(items[i])\r\n }\r\n }\r\n return plainItems\r\n },\r\n _updateActiveDescendant() {\r\n var _this$_list;\r\n var opened = this.option(\"opened\");\r\n var listFocusedItemId = null === (_this$_list = this._list) || void 0 === _this$_list ? void 0 : _this$_list.getFocusedItemId();\r\n var isElementOnDom = $(\"#\".concat(listFocusedItemId)).length > 0;\r\n var activedescendant = opened && isElementOnDom && listFocusedItemId;\r\n this.setAria({\r\n activedescendant: activedescendant || null\r\n })\r\n },\r\n _setSelectedItem: function(item) {\r\n var displayValue = this._displayValue(item);\r\n this.option(\"selectedItem\", ensureDefined(item, null));\r\n this.option(\"displayValue\", displayValue)\r\n },\r\n _displayValue: function(item) {\r\n return this._displayGetter(item)\r\n },\r\n _refreshSelected: function() {\r\n var cache = {};\r\n this._listItemElements().each(function(_, itemElement) {\r\n var $itemElement = $(itemElement);\r\n var itemValue = this._valueGetter($itemElement.data(LIST_ITEM_DATA_KEY));\r\n var isItemSelected = this._isSelectedValue(itemValue, cache);\r\n if (isItemSelected) {\r\n this._list.selectItem($itemElement)\r\n } else {\r\n this._list.unselectItem($itemElement)\r\n }\r\n }.bind(this))\r\n },\r\n _popupShownHandler: function() {\r\n this.callBase();\r\n this._setFocusPolicy()\r\n },\r\n _setFocusPolicy: function() {\r\n if (!this.option(\"focusStateEnabled\") || !this._list) {\r\n return\r\n }\r\n this._list.option(\"focusedElement\", null)\r\n },\r\n _isSelectedValue: function(value) {\r\n return this._isValueEquals(value, this.option(\"value\"))\r\n },\r\n _validateSearchMode: function() {\r\n var searchMode = this.option(\"searchMode\");\r\n var normalizedSearchMode = searchMode.toLowerCase();\r\n if (!SEARCH_MODES.includes(normalizedSearchMode)) {\r\n throw errors.Error(\"E1019\", searchMode)\r\n }\r\n },\r\n _clearSelectedItem: function() {\r\n this.option(\"selectedItem\", null)\r\n },\r\n _processDataSourceChanging: function() {\r\n this._initDataController();\r\n this._setListOption(\"_dataController\", this._dataController);\r\n this._setListDataSource();\r\n this._renderInputValue().fail(function() {\r\n if (this._isCustomValueAllowed()) {\r\n return\r\n }\r\n this._clearSelectedItem()\r\n }.bind(this))\r\n },\r\n _isCustomValueAllowed: function() {\r\n return this.option(\"displayCustomValue\")\r\n },\r\n reset: function() {\r\n this.callBase();\r\n this._clearFilter();\r\n this._clearSelectedItem()\r\n },\r\n _listItemElements: function() {\r\n return this._$list ? this._$list.find(LIST_ITEM_SELECTOR) : $()\r\n },\r\n _popupConfig: function() {\r\n return extend(this.callBase(), {\r\n templatesRenderAsynchronously: false,\r\n autoResizeEnabled: false,\r\n maxHeight: this._getMaxHeight.bind(this)\r\n })\r\n },\r\n _renderPopupContent: function() {\r\n this.callBase();\r\n this._renderList()\r\n },\r\n _getKeyboardListeners() {\r\n var canListHaveFocus = this._canListHaveFocus();\r\n return this.callBase().concat([!canListHaveFocus && this._list])\r\n },\r\n _setAriaTargetForList: function() {\r\n this._list._getAriaTarget = this._getAriaTarget.bind(this)\r\n },\r\n _renderList: function() {\r\n this._listId = \"dx-\" + (new Guid)._value;\r\n var $list = this._$list = $(\"<div>\").attr(\"id\", this._listId).appendTo(this._popup.$content());\r\n this._list = this._createComponent($list, List, this._listConfig());\r\n this._refreshList();\r\n this._setAriaTargetForList();\r\n this._list.option(\"_listAttributes\", {\r\n role: \"combobox\"\r\n });\r\n this._renderPreventBlurOnListClick();\r\n this._setListFocusedElementOptionChange()\r\n },\r\n _renderPreventBlurOnListClick: function() {\r\n var eventName = addNamespace(\"mousedown\", \"dxDropDownList\");\r\n eventsEngine.off(this._$list, eventName);\r\n eventsEngine.on(this._$list, eventName, e => e.preventDefault())\r\n },\r\n _getControlsAria() {\r\n return this._list && this._listId\r\n },\r\n _renderOpenedState: function() {\r\n this.callBase();\r\n this._list && this._updateActiveDescendant();\r\n this.setAria(\"owns\", this._popup && this._popupContentId)\r\n },\r\n _setDefaultAria: function() {\r\n this.setAria({\r\n haspopup: \"listbox\",\r\n autocomplete: \"list\"\r\n })\r\n },\r\n _refreshList: function() {\r\n if (this._list && this._shouldRefreshDataSource()) {\r\n this._setListDataSource()\r\n }\r\n },\r\n _shouldRefreshDataSource: function() {\r\n var dataSourceProvided = !!this._list.option(\"dataSource\");\r\n return dataSourceProvided !== this._needPassDataSourceToList()\r\n },\r\n _isDesktopDevice: function() {\r\n return \"desktop\" === devices.real().deviceType\r\n },\r\n _listConfig: function() {\r\n var options = {\r\n selectionMode: \"single\",\r\n _templates: this.option(\"_templates\"),\r\n templateProvider: this.option(\"templateProvider\"),\r\n noDataText: this.option(\"noDataText\"),\r\n encodeNoDataText: this.option(\"encodeNoDataText\"),\r\n grouped: this.option(\"grouped\"),\r\n wrapItemText: this.option(\"wrapItemText\"),\r\n useItemTextAsTitle: this.option(\"useItemTextAsTitle\"),\r\n onContentReady: this._listContentReadyHandler.bind(this),\r\n itemTemplate: this.option(\"itemTemplate\"),\r\n indicateLoading: false,\r\n keyExpr: this._getCollectionKeyExpr(),\r\n displayExpr: this._displayGetterExpr(),\r\n groupTemplate: this.option(\"groupTemplate\"),\r\n onItemClick: this._listItemClickAction.bind(this),\r\n dataSource: this._getDataSource(),\r\n _dataController: this._dataController,\r\n hoverStateEnabled: this._isDesktopDevice() ? this.option(\"hoverStateEnabled\") : false,\r\n focusStateEnabled: this._isDesktopDevice() ? this.option(\"focusStateEnabled\") : false\r\n };\r\n if (!this._canListHaveFocus()) {\r\n options.tabIndex = null\r\n }\r\n return options\r\n },\r\n _canListHaveFocus: () => false,\r\n _getDataSource: function() {\r\n return this._needPassDataSourceToList() ? this._dataSource : null\r\n },\r\n _dataSourceOptions: function() {\r\n return {\r\n paginate: false\r\n }\r\n },\r\n _getGroupedOption: function() {\r\n return this.option(\"grouped\")\r\n },\r\n _dataSourceFromUrlLoadMode: function() {\r\n return \"raw\"\r\n },\r\n _listContentReadyHandler: function() {\r\n this._list = this._list || this._$list.dxList(\"instance\");\r\n if (!this.option(\"deferRendering\")) {\r\n this._refreshSelected()\r\n }\r\n this._updatePopupWidth();\r\n this._updateListDimensions();\r\n this._contentReadyAction()\r\n },\r\n _setListOption: function(optionName, value) {\r\n this._setWidgetOption(\"_list\", arguments)\r\n },\r\n _listItemClickAction: function(e) {\r\n this._listItemClickHandler(e);\r\n this._itemClickAction(e)\r\n },\r\n _listItemClickHandler: noop,\r\n _setListDataSource: function() {\r\n if (!this._list) {\r\n return\r\n }\r\n this._setListOption(\"dataSource\", this._getDataSource());\r\n if (!this._needPassDataSourceToList()) {\r\n this._setListOption(\"items\", [])\r\n }\r\n },\r\n _needPassDataSourceToList: function() {\r\n return this.option(\"showDataBeforeSearch\") || this._isMinSearchLengthExceeded()\r\n },\r\n _isMinSearchLengthExceeded: function() {\r\n return this._searchValue().toString().length >= this.option(\"minSearchLength\")\r\n },\r\n _needClearFilter: function() {\r\n return this._canKeepDataSource() ? false : this._needPassDataSourceToList()\r\n },\r\n _canKeepDataSource: function() {\r\n var isMinSearchLengthExceeded = this._isMinSearchLengthExceeded();\r\n return this._dataController.isLoaded() && this.option(\"showDataBeforeSearch\") && this.option(\"minSearchLength\") && !isMinSearchLengthExceeded && !this._isLastMinSearchLengthExceeded\r\n },\r\n _searchValue: function() {\r\n return this._input().val() || \"\"\r\n },\r\n _getSearchEvent: function() {\r\n return addNamespace(SEARCH_EVENT, this.NAME + \"Search\")\r\n },\r\n _getCompositionStartEvent: function() {\r\n return addNamespace(\"compositionstart\", this.NAME + \"CompositionStart\")\r\n },\r\n _getCompositionEndEvent: function() {\r\n return addNamespace(\"compositionend\", this.NAME + \"CompositionEnd\")\r\n },\r\n _getSetFocusPolicyEvent: function() {\r\n return addNamespace(\"input\", this.NAME + \"FocusPolicy\")\r\n },\r\n _renderEvents: function() {\r\n this.callBase();\r\n eventsEngine.on(this._input(), this._getSetFocusPolicyEvent(), () => {\r\n this._setFocusPolicy()\r\n });\r\n if (this._shouldRenderSearchEvent()) {\r\n eventsEngine.on(this._input(), this._getSearchEvent(), e => {\r\n this._searchHandler(e)\r\n });\r\n if (useCompositionEvents) {\r\n eventsEngine.on(this._input(), this._getCompositionStartEvent(), () => {\r\n this._isTextCompositionInProgress(true)\r\n });\r\n eventsEngine.on(this._input(), this._getCompositionEndEvent(), e => {\r\n this._isTextCompositionInProgress(void 0);\r\n this._searchHandler(e, this._searchValue())\r\n })\r\n }\r\n }\r\n },\r\n _shouldRenderSearchEvent: function() {\r\n return this.option(\"searchEnabled\")\r\n },\r\n _refreshEvents: function() {\r\n eventsEngine.off(this._input(), this._getSearchEvent());\r\n eventsEngine.off(this._input(), this._getSetFocusPolicyEvent());\r\n if (useCompositionEvents) {\r\n eventsEngine.off(this._input(), this._getCompositionStartEvent());\r\n eventsEngine.off(this._input(), this._getCompositionEndEvent())\r\n }\r\n this.callBase()\r\n },\r\n _isTextCompositionInProgress: function(value) {\r\n if (arguments.length) {\r\n this._isTextComposition = value\r\n } else {\r\n return this._isTextComposition\r\n }\r\n },\r\n _searchHandler: function(e, searchValue) {\r\n if (this._isTextCompositionInProgress()) {\r\n return\r\n }\r\n if (!this._isMinSearchLengthExceeded()) {\r\n this._searchCanceled();\r\n return\r\n }\r\n var searchTimeout = this.option(\"searchTimeout\");\r\n if (searchTimeout) {\r\n this._clearSearchTimer();\r\n this._searchTimer = setTimeout(() => {\r\n this._searchDataSource(searchValue)\r\n }, searchTimeout)\r\n } else {\r\n this._searchDataSource(searchValue)\r\n }\r\n },\r\n _searchCanceled: function() {\r\n this._clearSearchTimer();\r\n if (this._needClearFilter()) {\r\n this._filterDataSource(null)\r\n }\r\n this._refreshList()\r\n },\r\n _searchDataSource: function() {\r\n var searchValue = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._searchValue();\r\n this._filterDataSource(searchValue)\r\n },\r\n _filterDataSource: function(searchValue) {\r\n this._clearSearchTimer();\r\n var dataController = this._dataController;\r\n dataController.searchExpr(this.option(\"searchExpr\") || this._displayGetterExpr());\r\n dataController.searchOperation(this.option(\"searchMode\"));\r\n dataController.searchValue(searchValue);\r\n dataController.load().done(this._dataSourceFiltered.bind(this, searchValue))\r\n },\r\n _clearFilter: function() {\r\n var dataController = this._dataController;\r\n dataController.searchValue() && dataController.searchValue(null)\r\n },\r\n _dataSourceFiltered: function() {\r\n this._isLastMinSearchLengthExceeded = this._isMinSearchLengthExceeded();\r\n this._refreshList();\r\n this._refreshPopupVisibility()\r\n },\r\n _shouldOpenPopup: function() {\r\n return this._hasItemsToShow()\r\n },\r\n _refreshPopupVisibility: function() {\r\n if (this.option(\"readOnly\") || !this._searchValue()) {\r\n return\r\n }\r\n var shouldOpenPopup = this._shouldOpenPopup();\r\n if (shouldOpenPopup && !this._isFocused()) {\r\n return\r\n }\r\n this.option(\"opened\", shouldOpenPopup);\r\n if (shouldOpenPopup) {\r\n this._updatePopupWidth();\r\n this._updateListDimensions()\r\n }\r\n },\r\n _dataSourceChangedHandler: function(newItems) {\r\n if (0 === this._dataController.pageIndex()) {\r\n this.option().items = newItems\r\n } else {\r\n this.option().items = this.option().items.concat(newItems)\r\n }\r\n },\r\n _hasItemsToShow: function() {\r\n var dataController = this._dataController;\r\n var resultItems = dataController.items() || [];\r\n var resultAmount = resultItems.length;\r\n var isMinSearchLengthExceeded = this._needPassDataSourceToList();\r\n return !!(isMinSearchLengthExceeded && resultAmount)\r\n },\r\n _clearSearchTimer: function() {\r\n clearTimeout(this._searchTimer);\r\n delete this._searchTimer\r\n },\r\n _popupShowingHandler: function() {\r\n this._updatePopupWidth();\r\n this._updateListDimensions()\r\n },\r\n _dimensionChanged: function() {\r\n this.callBase();\r\n this._updateListDimensions()\r\n },\r\n _needPopupRepaint: function() {\r\n var dataController = this._dataController;\r\n var currentPageIndex = dataController.pageIndex();\r\n var needRepaint = isDefined(this._pageIndex) && currentPageIndex <= this._pageIndex || dataController.isLastPage() && !this._list._scrollViewIsFull();\r\n this._pageIndex = currentPageIndex;\r\n return needRepaint\r\n },\r\n _updateListDimensions: function() {\r\n if (!this._popup) {\r\n return\r\n }\r\n if (this._needPopupRepaint()) {\r\n this._popup.repaint()\r\n }\r\n this._list && this._list.updateDimensions()\r\n },\r\n _getMaxHeight: function() {\r\n var $element = this.$element();\r\n var $customBoundaryContainer = this._$customBoundaryContainer;\r\n var offsetTop = $element.offset().top - ($customBoundaryContainer ? $customBoundaryContainer.offset().top : 0);\r\n var windowHeight = getOuterHeight(window);\r\n var containerHeight = $customBoundaryContainer ? Math.min(getOuterHeight($customBoundaryContainer), windowHeight) : windowHeight;\r\n var maxHeight = Math.max(offsetTop, containerHeight - offsetTop - getOuterHeight($element));\r\n return Math.min(.5 * containerHeight, maxHeight)\r\n },\r\n _clean: function() {\r\n if (this._list) {\r\n delete this._list\r\n }\r\n delete this._isLastMinSearchLengthExceeded;\r\n this.callBase()\r\n },\r\n _dispose: function() {\r\n this._clearSearchTimer();\r\n this.callBase()\r\n },\r\n _setCollectionWidgetOption: function() {\r\n this._setListOption.apply(this, arguments)\r\n },\r\n _setSubmitValue: function() {\r\n var value = this.option(\"value\");\r\n var submitValue = this._shouldUseDisplayValue(value) ? this._displayGetter(value) : value;\r\n this._getSubmitElement().val(submitValue)\r\n },\r\n _shouldUseDisplayValue: function(value) {\r\n return \"this\" === this.option(\"valueExpr\") && isObject(value)\r\n },\r\n _optionChanged: function(args) {\r\n this._dataExpressionOptionChanged(args);\r\n switch (args.name) {\r\n case \"hoverStateEnabled\":\r\n case \"focusStateEnabled\":\r\n this._isDesktopDevice() && this._setListOption(args.name, args.value);\r\n this.callBase(args);\r\n break;\r\n case \"items\":\r\n if (!this.option(\"dataSource\")) {\r\n this._processDataSourceChanging()\r\n }\r\n break;\r\n case \"dataSource\":\r\n this._processDataSourceChanging();\r\n break;\r\n case \"valueExpr\":\r\n this._renderValue();\r\n this._setListOption(\"keyExpr\", this._getCollectionKeyExpr());\r\n break;\r\n case \"displayExpr\":\r\n this._renderValue();\r\n this._setListOption(\"displayExpr\", this._displayGetterExpr());\r\n break;\r\n case \"searchMode\":\r\n this._validateSearchMode();\r\n break;\r\n case \"minSearchLength\":\r\n this._refreshList();\r\n break;\r\n case \"searchEnabled\":\r\n case \"showDataBeforeSearch\":\r\n case \"searchExpr\":\r\n this._invalidate();\r\n break;\r\n case \"onContentReady\":\r\n this._initContentReadyAction();\r\n break;\r\n case \"onSelectionChanged\":\r\n this._initSelectionChangedAction();\r\n break;\r\n case \"onItemClick\":\r\n this._initItemClickAction();\r\n break;\r\n case \"grouped\":\r\n case \"groupTemplate\":\r\n case \"wrapItemText\":\r\n case \"noDataText\":\r\n case \"encodeNoDataText\":\r\n case \"useItemTextAsTitle\":\r\n this._setListOption(args.name);\r\n break;\r\n case \"displayValue\":\r\n this.option(\"text\", args.value);\r\n break;\r\n case \"itemTemplate\":\r\n case \"searchTimeout\":\r\n break;\r\n case \"selectedItem\":\r\n if (args.previousValue !== args.value) {\r\n this._selectionChangedAction({\r\n selectedItem: args.value\r\n })\r\n }\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n}).include(DataExpressionMixin, DataConverterMixin);\r\nregisterComponent(\"dxDropDownList\", DropDownList);\r\nexport default DropDownList;\r\n","/**\r\n * DevExtreme (esm/ui/drop_down_editor/utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth\r\n} from \"../../core/utils/size\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nvar getElementWidth = function($element) {\r\n if (hasWindow()) {\r\n return getOuterWidth($element)\r\n }\r\n};\r\nvar getSizeValue = function(size) {\r\n if (null === size) {\r\n size = void 0\r\n }\r\n if (\"function\" === typeof size) {\r\n size = size()\r\n }\r\n return size\r\n};\r\nexport {\r\n getElementWidth,\r\n getSizeValue\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/editor/editor.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n data\r\n} from \"../../core/element_data\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n addNamespace,\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport ValidationEngine from \"../validation_engine\";\r\nimport EventsEngine from \"../../events/core/events_engine\";\r\nimport ValidationMessage from \"../validation_message\";\r\nimport Guid from \"../../core/guid\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n resetActiveElement\r\n} from \"../../core/utils/dom\";\r\nvar INVALID_MESSAGE_AUTO = \"dx-invalid-message-auto\";\r\nvar READONLY_STATE_CLASS = \"dx-state-readonly\";\r\nvar INVALID_CLASS = \"dx-invalid\";\r\nvar DX_INVALID_BADGE_CLASS = \"dx-show-invalid-badge\";\r\nvar VALIDATION_TARGET = \"dx-validation-target\";\r\nvar VALIDATION_STATUS_VALID = \"valid\";\r\nvar VALIDATION_STATUS_INVALID = \"invalid\";\r\nvar READONLY_NAMESPACE = \"editorReadOnly\";\r\nvar ALLOWED_STYLING_MODES = [\"outlined\", \"filled\", \"underlined\"];\r\nvar VALIDATION_MESSAGE_KEYS_MAP = {\r\n validationMessageMode: \"mode\",\r\n validationMessagePosition: \"positionSide\",\r\n validationMessageOffset: \"offset\",\r\n validationBoundary: \"boundary\"\r\n};\r\nvar Editor = Widget.inherit({\r\n ctor: function() {\r\n this.showValidationMessageTimeout = null;\r\n this.validationRequest = Callbacks();\r\n this.callBase.apply(this, arguments)\r\n },\r\n _createElement: function(element) {\r\n this.callBase(element);\r\n var $element = this.$element();\r\n if ($element) {\r\n data($element[0], VALIDATION_TARGET, this)\r\n }\r\n },\r\n _initOptions: function(options) {\r\n this.callBase.apply(this, arguments);\r\n this.option(ValidationEngine.initValidationOptions(options))\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._options.cache(\"validationTooltipOptions\", this.option(\"validationTooltipOptions\"));\r\n var $element = this.$element();\r\n $element.addClass(DX_INVALID_BADGE_CLASS)\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n value: null,\r\n name: \"\",\r\n onValueChanged: null,\r\n readOnly: false,\r\n isValid: true,\r\n validationError: null,\r\n validationErrors: null,\r\n validationStatus: VALIDATION_STATUS_VALID,\r\n validationMessageMode: \"auto\",\r\n validationMessagePosition: \"bottom\",\r\n validationBoundary: void 0,\r\n validationMessageOffset: {\r\n h: 0,\r\n v: 0\r\n },\r\n validationTooltipOptions: {}\r\n })\r\n },\r\n _attachKeyboardEvents: function() {\r\n if (!this.option(\"readOnly\")) {\r\n this.callBase()\r\n }\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n validationError: true\r\n })\r\n },\r\n _createValueChangeAction: function() {\r\n this._valueChangeAction = this._createActionByOption(\"onValueChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _suppressValueChangeAction: function() {\r\n this._valueChangeActionSuppressed = true\r\n },\r\n _resumeValueChangeAction: function() {\r\n this._valueChangeActionSuppressed = false\r\n },\r\n _initMarkup: function() {\r\n var _this$option;\r\n this._toggleReadOnlyState();\r\n this._setSubmitElementName(this.option(\"name\"));\r\n this.callBase();\r\n this._renderValidationState();\r\n null === (_this$option = this.option(\"_onMarkupRendered\")) || void 0 === _this$option ? void 0 : _this$option()\r\n },\r\n _raiseValueChangeAction: function(value, previousValue) {\r\n if (!this._valueChangeAction) {\r\n this._createValueChangeAction()\r\n }\r\n this._valueChangeAction(this._valueChangeArgs(value, previousValue))\r\n },\r\n _valueChangeArgs: function(value, previousValue) {\r\n return {\r\n value: value,\r\n previousValue: previousValue,\r\n event: this._valueChangeEventInstance\r\n }\r\n },\r\n _saveValueChangeEvent: function(e) {\r\n this._valueChangeEventInstance = e\r\n },\r\n _focusInHandler: function(e) {\r\n var isValidationMessageShownOnFocus = \"auto\" === this.option(\"validationMessageMode\");\r\n if (this._canValueBeChangedByClick() && isValidationMessageShownOnFocus) {\r\n var _this$_validationMess;\r\n var $validationMessageWrapper = null === (_this$_validationMess = this._validationMessage) || void 0 === _this$_validationMess ? void 0 : _this$_validationMess.$wrapper();\r\n null === $validationMessageWrapper || void 0 === $validationMessageWrapper ? void 0 : $validationMessageWrapper.removeClass(INVALID_MESSAGE_AUTO);\r\n clearTimeout(this.showValidationMessageTimeout);\r\n this.showValidationMessageTimeout = setTimeout(() => null === $validationMessageWrapper || void 0 === $validationMessageWrapper ? void 0 : $validationMessageWrapper.addClass(INVALID_MESSAGE_AUTO), 150)\r\n }\r\n return this.callBase(e)\r\n },\r\n _canValueBeChangedByClick: function() {\r\n return false\r\n },\r\n _getStylingModePrefix: function() {\r\n return \"dx-editor-\"\r\n },\r\n _renderStylingMode: function() {\r\n var optionValue = this.option(\"stylingMode\");\r\n var prefix = this._getStylingModePrefix();\r\n var allowedStylingClasses = ALLOWED_STYLING_MODES.map(mode => prefix + mode);\r\n allowedStylingClasses.forEach(className => this.$element().removeClass(className));\r\n var stylingModeClass = prefix + optionValue;\r\n if (-1 === allowedStylingClasses.indexOf(stylingModeClass)) {\r\n var defaultOptionValue = this._getDefaultOptions().stylingMode;\r\n var platformOptionValue = this._convertRulesToOptions(this._defaultOptionsRules()).stylingMode;\r\n stylingModeClass = prefix + (platformOptionValue || defaultOptionValue)\r\n }\r\n this.$element().addClass(stylingModeClass)\r\n },\r\n _getValidationErrors: function() {\r\n var validationErrors = this.option(\"validationErrors\");\r\n if (!validationErrors && this.option(\"validationError\")) {\r\n validationErrors = [this.option(\"validationError\")]\r\n }\r\n return validationErrors\r\n },\r\n _disposeValidationMessage: function() {\r\n if (this._$validationMessage) {\r\n this._$validationMessage.remove();\r\n this.setAria(\"describedby\", null);\r\n this._$validationMessage = void 0;\r\n this._validationMessage = void 0\r\n }\r\n },\r\n _toggleValidationClasses: function(isInvalid) {\r\n this.$element().toggleClass(INVALID_CLASS, isInvalid);\r\n this.setAria(VALIDATION_STATUS_INVALID, isInvalid || void 0)\r\n },\r\n _renderValidationState: function() {\r\n var isValid = this.option(\"isValid\") && this.option(\"validationStatus\") !== VALIDATION_STATUS_INVALID;\r\n var validationErrors = this._getValidationErrors();\r\n var $element = this.$element();\r\n this._toggleValidationClasses(!isValid);\r\n if (!hasWindow()) {\r\n return\r\n }\r\n this._disposeValidationMessage();\r\n if (!isValid && validationErrors) {\r\n var {\r\n validationMessageMode: validationMessageMode,\r\n validationMessagePosition: validationMessagePosition,\r\n validationMessageOffset: validationMessageOffset,\r\n validationBoundary: validationBoundary,\r\n rtlEnabled: rtlEnabled\r\n } = this.option();\r\n this._$validationMessage = $(\"<div>\").appendTo($element);\r\n var validationMessageContentId = \"dx-\".concat(new Guid);\r\n this.setAria(\"describedby\", validationMessageContentId);\r\n this._validationMessage = new ValidationMessage(this._$validationMessage, extend({\r\n validationErrors: validationErrors,\r\n rtlEnabled: rtlEnabled,\r\n target: this._getValidationMessageTarget(),\r\n visualContainer: $element,\r\n mode: validationMessageMode,\r\n positionSide: validationMessagePosition,\r\n offset: validationMessageOffset,\r\n boundary: validationBoundary,\r\n contentId: validationMessageContentId\r\n }, this._options.cache(\"validationTooltipOptions\")));\r\n this._bindInnerWidgetOptions(this._validationMessage, \"validationTooltipOptions\")\r\n }\r\n },\r\n _getValidationMessageTarget: function() {\r\n return this.$element()\r\n },\r\n _toggleReadOnlyState: function() {\r\n var readOnly = this.option(\"readOnly\");\r\n this._toggleBackspaceHandler(readOnly);\r\n this.$element().toggleClass(READONLY_STATE_CLASS, !!readOnly);\r\n this.setAria(\"readonly\", readOnly || void 0)\r\n },\r\n _toggleBackspaceHandler: function(isReadOnly) {\r\n var $eventTarget = this._keyboardEventBindingTarget();\r\n var eventName = addNamespace(\"keydown\", READONLY_NAMESPACE);\r\n EventsEngine.off($eventTarget, eventName);\r\n if (isReadOnly) {\r\n EventsEngine.on($eventTarget, eventName, e => {\r\n if (\"backspace\" === normalizeKeyName(e)) {\r\n e.preventDefault()\r\n }\r\n })\r\n }\r\n },\r\n _dispose: function() {\r\n var element = this.$element()[0];\r\n data(element, VALIDATION_TARGET, null);\r\n clearTimeout(this.showValidationMessageTimeout);\r\n this._disposeValidationMessage();\r\n this.callBase()\r\n },\r\n _setSubmitElementName: function(name) {\r\n var $submitElement = this._getSubmitElement();\r\n if (!$submitElement) {\r\n return\r\n }\r\n if (name.length > 0) {\r\n $submitElement.attr(\"name\", name)\r\n } else {\r\n $submitElement.removeAttr(\"name\")\r\n }\r\n },\r\n _getSubmitElement: function() {\r\n return null\r\n },\r\n _setValidationMessageOption: function(_ref) {\r\n var _this$_validationMess2;\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref;\r\n var optionKey = VALIDATION_MESSAGE_KEYS_MAP[name] ? VALIDATION_MESSAGE_KEYS_MAP[name] : name;\r\n null === (_this$_validationMess2 = this._validationMessage) || void 0 === _this$_validationMess2 ? void 0 : _this$_validationMess2.option(optionKey, value)\r\n },\r\n _hasActiveElement: noop,\r\n _optionChanged: function(args) {\r\n var _this$_validationMess3;\r\n switch (args.name) {\r\n case \"onValueChanged\":\r\n this._createValueChangeAction();\r\n break;\r\n case \"readOnly\":\r\n this._toggleReadOnlyState();\r\n this._refreshFocusState();\r\n break;\r\n case \"value\":\r\n if (args.value != args.previousValue) {\r\n this.validationRequest.fire({\r\n value: args.value,\r\n editor: this\r\n })\r\n }\r\n if (!this._valueChangeActionSuppressed) {\r\n this._raiseValueChangeAction(args.value, args.previousValue);\r\n this._saveValueChangeEvent(void 0)\r\n }\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n null === (_this$_validationMess3 = this._validationMessage) || void 0 === _this$_validationMess3 ? void 0 : _this$_validationMess3.updateMaxWidth();\r\n break;\r\n case \"name\":\r\n this._setSubmitElementName(args.value);\r\n break;\r\n case \"isValid\":\r\n case \"validationError\":\r\n case \"validationErrors\":\r\n case \"validationStatus\":\r\n this.option(ValidationEngine.synchronizeValidationOptions(args, this.option()));\r\n this._renderValidationState();\r\n break;\r\n case \"validationBoundary\":\r\n case \"validationMessageMode\":\r\n case \"validationMessagePosition\":\r\n case \"validationMessageOffset\":\r\n this._setValidationMessageOption(args);\r\n break;\r\n case \"rtlEnabled\":\r\n this._setValidationMessageOption(args);\r\n this.callBase(args);\r\n break;\r\n case \"validationTooltipOptions\":\r\n this._innerWidgetOptionChanged(this._validationMessage, args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n blur: function() {\r\n if (this._hasActiveElement()) {\r\n resetActiveElement()\r\n }\r\n },\r\n reset: function() {\r\n var defaultOptions = this._getDefaultOptions();\r\n this.option(\"value\", defaultOptions.value)\r\n }\r\n});\r\nEditor.isEditor = instance => instance instanceof Editor;\r\nexport default Editor;\r\n","/**\r\n * DevExtreme (esm/ui/editor/ui.data_expression.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport variableWrapper from \"../../core/utils/variable_wrapper\";\r\nimport {\r\n compileGetter,\r\n toComparable\r\n} from \"../../core/utils/data\";\r\nimport {\r\n ensureDefined,\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isObject as isObjectType,\r\n isString,\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport DataHelperMixin from \"../../data_helper\";\r\nimport {\r\n DataSource\r\n} from \"../../data/data_source/data_source\";\r\nimport ArrayStore from \"../../data/array_store\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar DataExpressionMixin = extend({}, DataHelperMixin, {\r\n _dataExpressionDefaultOptions: function() {\r\n return {\r\n items: [],\r\n dataSource: null,\r\n itemTemplate: \"item\",\r\n value: null,\r\n valueExpr: \"this\",\r\n displayExpr: void 0\r\n }\r\n },\r\n _initDataExpressions: function() {\r\n this._compileValueGetter();\r\n this._compileDisplayGetter();\r\n this._initDynamicTemplates();\r\n this._initDataSource();\r\n this._itemsToDataSource()\r\n },\r\n _itemsToDataSource: function() {\r\n if (!this.option(\"dataSource\")) {\r\n this._dataSource = new DataSource({\r\n store: new ArrayStore(this.option(\"items\")),\r\n pageSize: 0\r\n });\r\n this._initDataController()\r\n }\r\n },\r\n _compileDisplayGetter: function() {\r\n this._displayGetter = compileGetter(this._displayGetterExpr())\r\n },\r\n _displayGetterExpr: function() {\r\n return this.option(\"displayExpr\")\r\n },\r\n _compileValueGetter: function() {\r\n this._valueGetter = compileGetter(this._valueGetterExpr())\r\n },\r\n _valueGetterExpr: function() {\r\n return this.option(\"valueExpr\") || \"this\"\r\n },\r\n _loadValue: function(value) {\r\n var deferred = new Deferred;\r\n value = this._unwrappedValue(value);\r\n if (!isDefined(value)) {\r\n return deferred.reject().promise()\r\n }\r\n this._loadSingle(this._valueGetterExpr(), value).done(function(item) {\r\n this._isValueEquals(this._valueGetter(item), value) ? deferred.resolve(item) : deferred.reject()\r\n }.bind(this)).fail((function() {\r\n deferred.reject()\r\n }));\r\n this._loadValueDeferred = deferred;\r\n return deferred.promise()\r\n },\r\n _rejectValueLoading: function() {\r\n var _this$_loadValueDefer;\r\n null === (_this$_loadValueDefer = this._loadValueDeferred) || void 0 === _this$_loadValueDefer ? void 0 : _this$_loadValueDefer.reject({\r\n shouldSkipCallback: true\r\n })\r\n },\r\n _getCurrentValue: function() {\r\n return this.option(\"value\")\r\n },\r\n _unwrappedValue: function(value) {\r\n var _value;\r\n value = null !== (_value = value) && void 0 !== _value ? _value : this._getCurrentValue();\r\n if (value && this._dataSource && \"this\" === this._valueGetterExpr()) {\r\n value = this._getItemKey(value)\r\n }\r\n return variableWrapper.unwrap(value)\r\n },\r\n _getItemKey: function(value) {\r\n var key = this._dataSource.key();\r\n if (Array.isArray(key)) {\r\n var result = {};\r\n for (var i = 0, n = key.length; i < n; i++) {\r\n result[key[i]] = value[key[i]]\r\n }\r\n return result\r\n }\r\n if (key && \"object\" === typeof value) {\r\n value = value[key]\r\n }\r\n return value\r\n },\r\n _isValueEquals: function(value1, value2) {\r\n var dataSourceKey = this._dataSource && this._dataSource.key();\r\n var result = this._compareValues(value1, value2);\r\n if (!result && dataSourceKey && isDefined(value1) && isDefined(value2)) {\r\n if (Array.isArray(dataSourceKey)) {\r\n result = this._compareByCompositeKey(value1, value2, dataSourceKey)\r\n } else {\r\n result = this._compareByKey(value1, value2, dataSourceKey)\r\n }\r\n }\r\n return result\r\n },\r\n _compareByCompositeKey: function(value1, value2, key) {\r\n var isObject = isObjectType;\r\n if (!isObject(value1) || !isObject(value2)) {\r\n return false\r\n }\r\n for (var i = 0, n = key.length; i < n; i++) {\r\n if (value1[key[i]] !== value2[key[i]]) {\r\n return false\r\n }\r\n }\r\n return true\r\n },\r\n _compareByKey: function(value1, value2, key) {\r\n var unwrapObservable = variableWrapper.unwrap;\r\n var valueKey1 = ensureDefined(unwrapObservable(value1[key]), value1);\r\n var valueKey2 = ensureDefined(unwrapObservable(value2[key]), value2);\r\n return this._compareValues(valueKey1, valueKey2)\r\n },\r\n _compareValues: function(value1, value2) {\r\n return toComparable(value1, true) === toComparable(value2, true)\r\n },\r\n _initDynamicTemplates: noop,\r\n _setCollectionWidgetItemTemplate: function() {\r\n this._initDynamicTemplates();\r\n this._setCollectionWidgetOption(\"itemTemplate\", this.option(\"itemTemplate\"))\r\n },\r\n _getCollectionKeyExpr: function() {\r\n var valueExpr = this.option(\"valueExpr\");\r\n var isValueExprField = isString(valueExpr) && \"this\" !== valueExpr || isFunction(valueExpr);\r\n return isValueExprField ? valueExpr : null\r\n },\r\n _dataExpressionOptionChanged: function(args) {\r\n switch (args.name) {\r\n case \"items\":\r\n this._itemsToDataSource();\r\n this._setCollectionWidgetOption(\"items\");\r\n break;\r\n case \"dataSource\":\r\n this._initDataSource();\r\n break;\r\n case \"itemTemplate\":\r\n this._setCollectionWidgetItemTemplate();\r\n break;\r\n case \"valueExpr\":\r\n this._compileValueGetter();\r\n break;\r\n case \"displayExpr\":\r\n this._compileDisplayGetter();\r\n this._initDynamicTemplates();\r\n this._setCollectionWidgetOption(\"displayExpr\")\r\n }\r\n }\r\n});\r\nexport default DataExpressionMixin;\r\n","/**\r\n * DevExtreme (esm/ui/notify.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n value as viewPort\r\n} from \"../core/utils/view_port\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n isPlainObject,\r\n isString\r\n} from \"../core/utils/type\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nimport Toast from \"./toast\";\r\nvar window = getWindow();\r\nvar $notify = null;\r\nvar $containers = {};\r\n\r\nfunction notify(message, typeOrStack, displayTime) {\r\n var options = isPlainObject(message) ? message : {\r\n message: message\r\n };\r\n var stack = isPlainObject(typeOrStack) ? typeOrStack : void 0;\r\n var type = isPlainObject(typeOrStack) ? void 0 : typeOrStack;\r\n var {\r\n onHidden: userOnHidden\r\n } = options;\r\n if (null !== stack && void 0 !== stack && stack.position) {\r\n var {\r\n position: position\r\n } = stack;\r\n var direction = stack.direction || getDefaultDirection(position);\r\n var containerKey = isString(position) ? position : \"\".concat(position.top, \"-\").concat(position.left, \"-\").concat(position.bottom, \"-\").concat(position.right);\r\n var {\r\n onShowing: userOnShowing\r\n } = options;\r\n var $container = getStackContainer(containerKey);\r\n setContainerClasses($container, direction);\r\n extend(options, {\r\n container: $container,\r\n onShowing: function(args) {\r\n setContainerStyles($container, direction, position);\r\n null === userOnShowing || void 0 === userOnShowing ? void 0 : userOnShowing(args)\r\n }\r\n })\r\n }\r\n extend(options, {\r\n type: type,\r\n displayTime: displayTime,\r\n onHidden: function(args) {\r\n $(args.element).remove();\r\n null === userOnHidden || void 0 === userOnHidden ? void 0 : userOnHidden(args)\r\n }\r\n });\r\n $notify = $(\"<div>\").appendTo(viewPort());\r\n new Toast($notify, options).show()\r\n}\r\nvar getDefaultDirection = position => isString(position) && position.includes(\"top\") ? \"down-push\" : \"up-push\";\r\nvar createStackContainer = key => {\r\n var $container = $(\"<div>\").appendTo(viewPort());\r\n $containers[key] = $container;\r\n return $container\r\n};\r\nvar getStackContainer = key => {\r\n var $container = $containers[key];\r\n return $container ? $container : createStackContainer(key)\r\n};\r\nvar setContainerClasses = (container, direction) => {\r\n var containerClasses = \"dx-toast-stack dx-toast-stack-\".concat(direction, \"-direction\");\r\n container.removeAttr(\"class\").addClass(containerClasses)\r\n};\r\nvar setContainerStyles = (container, direction, position) => {\r\n var {\r\n offsetWidth: toastWidth,\r\n offsetHeight: toastHeight\r\n } = container.children().first().get(0);\r\n var dimensions = {\r\n toastWidth: toastWidth,\r\n toastHeight: toastHeight,\r\n windowHeight: window.innerHeight,\r\n windowWidth: window.innerWidth\r\n };\r\n var coordinates = isString(position) ? getCoordinatesByAlias(position, dimensions) : position;\r\n var styles = getPositionStylesByCoordinates(direction, coordinates, dimensions);\r\n container.css(styles)\r\n};\r\nvar getCoordinatesByAlias = (alias, _ref) => {\r\n var {\r\n toastWidth: toastWidth,\r\n toastHeight: toastHeight,\r\n windowHeight: windowHeight,\r\n windowWidth: windowWidth\r\n } = _ref;\r\n switch (alias) {\r\n case \"top left\":\r\n return {\r\n top: 10, left: 10\r\n };\r\n case \"top right\":\r\n return {\r\n top: 10, right: 10\r\n };\r\n case \"bottom left\":\r\n return {\r\n bottom: 10, left: 10\r\n };\r\n case \"bottom right\":\r\n return {\r\n bottom: 10, right: 10\r\n };\r\n case \"top center\":\r\n return {\r\n top: 10, left: Math.round(windowWidth / 2 - toastWidth / 2)\r\n };\r\n case \"left center\":\r\n return {\r\n top: Math.round(windowHeight / 2 - toastHeight / 2), left: 10\r\n };\r\n case \"right center\":\r\n return {\r\n top: Math.round(windowHeight / 2 - toastHeight / 2), right: 10\r\n };\r\n case \"center\":\r\n return {\r\n top: Math.round(windowHeight / 2 - toastHeight / 2), left: Math.round(windowWidth / 2 - toastWidth / 2)\r\n };\r\n case \"bottom center\":\r\n default:\r\n return {\r\n bottom: 10, left: Math.round(windowWidth / 2 - toastWidth / 2)\r\n }\r\n }\r\n};\r\nvar getPositionStylesByCoordinates = (direction, coordinates, dimensions) => {\r\n var _coordinates$bottom, _coordinates$left, _coordinates$right, _coordinates$top, _coordinates$left2, _coordinates$right2, _coordinates$right3, _coordinates$top2, _coordinates$bottom2, _coordinates$left3, _coordinates$top3, _coordinates$bottom3;\r\n var {\r\n toastWidth: toastWidth,\r\n toastHeight: toastHeight,\r\n windowHeight: windowHeight,\r\n windowWidth: windowWidth\r\n } = dimensions;\r\n switch (direction.replace(/-push|-stack/g, \"\")) {\r\n case \"up\":\r\n return {\r\n bottom: null !== (_coordinates$bottom = coordinates.bottom) && void 0 !== _coordinates$bottom ? _coordinates$bottom : windowHeight - toastHeight - coordinates.top, top: \"\", left: null !== (_coordinates$left = coordinates.left) && void 0 !== _coordinates$left ? _coordinates$left : \"\", right: null !== (_coordinates$right = coordinates.right) && void 0 !== _coordinates$right ? _coordinates$right : \"\"\r\n };\r\n case \"down\":\r\n return {\r\n top: null !== (_coordinates$top = coordinates.top) && void 0 !== _coordinates$top ? _coordinates$top : windowHeight - toastHeight - coordinates.bottom, bottom: \"\", left: null !== (_coordinates$left2 = coordinates.left) && void 0 !== _coordinates$left2 ? _coordinates$left2 : \"\", right: null !== (_coordinates$right2 = coordinates.right) && void 0 !== _coordinates$right2 ? _coordinates$right2 : \"\"\r\n };\r\n case \"left\":\r\n return {\r\n right: null !== (_coordinates$right3 = coordinates.right) && void 0 !== _coordinates$right3 ? _coordinates$right3 : windowWidth - toastWidth - coordinates.left, left: \"\", top: null !== (_coordinates$top2 = coordinates.top) && void 0 !== _coordinates$top2 ? _coordinates$top2 : \"\", bottom: null !== (_coordinates$bottom2 = coordinates.bottom) && void 0 !== _coordinates$bottom2 ? _coordinates$bottom2 : \"\"\r\n };\r\n case \"right\":\r\n return {\r\n left: null !== (_coordinates$left3 = coordinates.left) && void 0 !== _coordinates$left3 ? _coordinates$left3 : windowWidth - toastWidth - coordinates.right, right: \"\", top: null !== (_coordinates$top3 = coordinates.top) && void 0 !== _coordinates$top3 ? _coordinates$top3 : \"\", bottom: null !== (_coordinates$bottom3 = coordinates.bottom) && void 0 !== _coordinates$bottom3 ? _coordinates$bottom3 : \"\"\r\n }\r\n }\r\n};\r\nexport default notify;\r\n","/**\r\n * DevExtreme (esm/ui/file_manager/ui.file_manager.common.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n when,\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isFunction,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nexport var whenSome = function(arg, onSuccess, onError) {\r\n onSuccess = onSuccess || noop;\r\n onError = onError || noop;\r\n if (!Array.isArray(arg)) {\r\n arg = [arg]\r\n }\r\n var deferreds = arg.map((item, index) => when(item).then(result => {\r\n isFunction(onSuccess) && onSuccess({\r\n item: item,\r\n index: index,\r\n result: result\r\n });\r\n return result\r\n }, error => {\r\n if (!error) {\r\n error = {}\r\n }\r\n error.index = index;\r\n isFunction(onError) && onError(error);\r\n return (new Deferred).resolve().promise()\r\n }));\r\n return when.apply(null, deferreds)\r\n};\r\nexport var getDisplayFileSize = function(byteSize) {\r\n var sizesTitles = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\"];\r\n var index = 0;\r\n var displaySize = byteSize;\r\n while (displaySize >= 1024 && index <= sizesTitles.length - 1) {\r\n displaySize /= 1024;\r\n index++\r\n }\r\n displaySize = Math.round(10 * displaySize) / 10;\r\n return \"\".concat(displaySize, \" \").concat(sizesTitles[index])\r\n};\r\nexport var extendAttributes = function(targetObject, sourceObject, objectKeysArray) {\r\n objectKeysArray.forEach(objectKey => {\r\n extend(true, targetObject, isDefined(sourceObject[objectKey]) ? {\r\n [objectKey]: sourceObject[objectKey]\r\n } : {})\r\n });\r\n return targetObject\r\n};\r\nexport var findItemsByKeys = (itemInfos, keys) => {\r\n var itemMap = {};\r\n keys.forEach(key => {\r\n itemMap[key] = null\r\n });\r\n itemInfos.forEach(itemInfo => {\r\n var key = itemInfo.fileItem.key;\r\n if (Object.prototype.hasOwnProperty.call(itemMap, key)) {\r\n itemMap[key] = itemInfo\r\n }\r\n });\r\n var result = [];\r\n keys.forEach(key => {\r\n var itemInfo = itemMap[key];\r\n if (itemInfo) {\r\n result.push(itemInfo)\r\n }\r\n });\r\n return result\r\n};\r\nexport var getMapFromObject = function(object) {\r\n var keys = Object.keys(object);\r\n var values = [];\r\n keys.forEach(key => values.push(object[key]));\r\n return {\r\n keys: keys,\r\n values: values\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/file_management/utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nexport var PATH_SEPARATOR = \"/\";\r\nexport var getFileExtension = path => {\r\n var index = path.lastIndexOf(\".\");\r\n return -1 !== index ? path.substr(index) : \"\"\r\n};\r\nexport var getName = path => {\r\n var index = path.lastIndexOf(PATH_SEPARATOR);\r\n return -1 !== index ? path.substr(index + PATH_SEPARATOR.length) : path\r\n};\r\nexport var getParentPath = path => {\r\n var index = path.lastIndexOf(PATH_SEPARATOR);\r\n return -1 !== index ? path.substr(0, index) : \"\"\r\n};\r\nexport var getPathParts = (path, includeFullPath) => {\r\n if (!path || \"/\" === path) {\r\n return []\r\n }\r\n var result = [];\r\n var pathPart = \"\";\r\n for (var i = 0; i < path.length; i++) {\r\n var char = path.charAt(i);\r\n if (char === PATH_SEPARATOR) {\r\n var nextChar = path.charAt(i + 1);\r\n if (nextChar !== PATH_SEPARATOR) {\r\n if (pathPart) {\r\n result.push(pathPart);\r\n pathPart = \"\"\r\n }\r\n char = nextChar\r\n }\r\n i++\r\n }\r\n pathPart += char\r\n }\r\n if (pathPart) {\r\n result.push(pathPart)\r\n }\r\n if (includeFullPath) {\r\n for (var _i = 0; _i < result.length; _i++) {\r\n result[_i] = pathCombine(0 === _i ? \"\" : result[_i - 1], getEscapedFileName(result[_i]))\r\n }\r\n }\r\n return result\r\n};\r\nexport var getEscapedFileName = function(fileName) {\r\n return fileName.replace(/\\/{1,1}/g, \"//\")\r\n};\r\nexport var pathCombine = function() {\r\n var result = \"\";\r\n each(arguments, (_, arg) => {\r\n if (arg) {\r\n if (result) {\r\n result += PATH_SEPARATOR\r\n }\r\n result += arg\r\n }\r\n });\r\n return result\r\n};\r\n","/**\r\n * DevExtreme (esm/file_management/file_system_item.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isString\r\n} from \"../core/utils/type\";\r\nimport {\r\n pathCombine,\r\n getFileExtension,\r\n getPathParts,\r\n getName,\r\n getEscapedFileName,\r\n PATH_SEPARATOR\r\n} from \"./utils\";\r\nclass FileSystemItem {\r\n constructor() {\r\n var ctor = isString(arguments[0]) ? this._publicCtor : this._internalCtor;\r\n ctor.apply(this, arguments)\r\n }\r\n _internalCtor(pathInfo, name, isDirectory, key) {\r\n this.name = name || \"\";\r\n this.pathInfo = pathInfo && [...pathInfo] || [];\r\n this.parentPath = this._getPathByPathInfo(this.pathInfo);\r\n this.relativeName = pathCombine(this.parentPath, name);\r\n this.key = key || this._getPathByPathInfo(this.getFullPathInfo(), true);\r\n this.path = pathCombine(this.parentPath, name);\r\n this.pathKeys = this.pathInfo.map(_ref => {\r\n var {\r\n key: key\r\n } = _ref;\r\n return key\r\n });\r\n if (!this.isRoot()) {\r\n this.pathKeys.push(this.key)\r\n }\r\n this._initialize(isDirectory)\r\n }\r\n _publicCtor(path, isDirectory, pathKeys) {\r\n this.path = path || \"\";\r\n this.pathKeys = pathKeys || [];\r\n var pathInfo = [];\r\n var parts = getPathParts(path, true);\r\n for (var i = 0; i < parts.length - 1; i++) {\r\n var part = parts[i];\r\n var pathInfoPart = {\r\n key: this.pathKeys[i] || part,\r\n name: getName(part)\r\n };\r\n pathInfo.push(pathInfoPart)\r\n }\r\n this.pathInfo = pathInfo;\r\n this.relativeName = path;\r\n this.name = getName(path);\r\n this.key = this.pathKeys.length ? this.pathKeys[this.pathKeys.length - 1] : path;\r\n this.parentPath = parts.length > 1 ? parts[parts.length - 2] : \"\";\r\n this._initialize(isDirectory)\r\n }\r\n _initialize(isDirectory) {\r\n this.isDirectory = !!isDirectory;\r\n this.size = 0;\r\n this.dateModified = new Date;\r\n this.thumbnail = \"\";\r\n this.tooltipText = \"\"\r\n }\r\n getFullPathInfo() {\r\n var pathInfo = [...this.pathInfo];\r\n if (!this.isRoot()) {\r\n pathInfo.push({\r\n key: this.key,\r\n name: this.name\r\n })\r\n }\r\n return pathInfo\r\n }\r\n isRoot() {\r\n return \"\" === this.path\r\n }\r\n getFileExtension() {\r\n return this.isDirectory ? \"\" : getFileExtension(this.name)\r\n }\r\n equals(item) {\r\n return item && this.key === item.key\r\n }\r\n createClone() {\r\n var result = new FileSystemItem(this.pathInfo, this.name, this.isDirectory, this.key);\r\n result.key = this.key;\r\n result.size = this.size;\r\n result.dateModified = this.dateModified;\r\n result.thumbnail = this.thumbnail;\r\n result.tooltipText = this.tooltipText;\r\n result.hasSubDirectories = this.hasSubDirectories;\r\n result.dataItem = this.dataItem;\r\n return result\r\n }\r\n _getPathByPathInfo(pathInfo, escape) {\r\n return pathInfo.map(info => escape ? getEscapedFileName(info.name) : info.name).join(PATH_SEPARATOR)\r\n }\r\n}\r\nexport default FileSystemItem;\r\n","/**\r\n * DevExtreme (esm/file_management/provider_base.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n compileGetter\r\n} from \"../core/utils/data\";\r\nimport {\r\n ensureDefined\r\n} from \"../core/utils/common\";\r\nimport dateSerialization from \"../core/utils/date_serialization\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n isPromise\r\n} from \"../core/utils/type\";\r\nimport {\r\n Deferred,\r\n fromPromise\r\n} from \"../core/utils/deferred\";\r\nimport FileSystemItem from \"./file_system_item\";\r\nvar DEFAULT_FILE_UPLOAD_CHUNK_SIZE = 2e5;\r\nclass FileSystemProviderBase {\r\n constructor(options) {\r\n options = ensureDefined(options, {});\r\n this._keyGetter = compileGetter(this._getKeyExpr(options));\r\n this._nameGetter = compileGetter(this._getNameExpr(options));\r\n this._isDirGetter = compileGetter(this._getIsDirExpr(options));\r\n this._sizeGetter = compileGetter(this._getSizeExpr(options));\r\n this._dateModifiedGetter = compileGetter(this._getDateModifiedExpr(options));\r\n this._thumbnailGetter = compileGetter(options.thumbnailExpr || \"thumbnail\")\r\n }\r\n getItems(parentDirectory) {\r\n return []\r\n }\r\n renameItem(item, name) {}\r\n createDirectory(parentDirectory, name) {}\r\n deleteItems(items) {}\r\n moveItems(items, destinationDirectory) {}\r\n copyItems(items, destinationDirectory) {}\r\n uploadFileChunk(fileData, chunksInfo, destinationDirectory) {}\r\n abortFileUpload(fileData, chunksInfo, destinationDirectory) {}\r\n downloadItems(items) {}\r\n getItemsContent(items) {}\r\n getFileUploadChunkSize() {\r\n return DEFAULT_FILE_UPLOAD_CHUNK_SIZE\r\n }\r\n _convertDataObjectsToFileItems(entries, pathInfo) {\r\n var result = [];\r\n each(entries, (_, entry) => {\r\n var fileItem = this._createFileItem(entry, pathInfo);\r\n result.push(fileItem)\r\n });\r\n return result\r\n }\r\n _createFileItem(dataObj, pathInfo) {\r\n var key = this._keyGetter(dataObj);\r\n var fileItem = new FileSystemItem(pathInfo, this._nameGetter(dataObj), !!this._isDirGetter(dataObj), key);\r\n fileItem.size = this._sizeGetter(dataObj);\r\n if (void 0 === fileItem.size) {\r\n fileItem.size = 0\r\n }\r\n fileItem.dateModified = dateSerialization.deserializeDate(this._dateModifiedGetter(dataObj));\r\n if (void 0 === fileItem.dateModified) {\r\n fileItem.dateModified = new Date\r\n }\r\n if (fileItem.isDirectory) {\r\n fileItem.hasSubDirectories = this._hasSubDirs(dataObj)\r\n }\r\n if (!key) {\r\n fileItem.key = fileItem.relativeName\r\n }\r\n fileItem.thumbnail = this._thumbnailGetter(dataObj) || \"\";\r\n fileItem.dataItem = dataObj;\r\n return fileItem\r\n }\r\n _hasSubDirs(dataObj) {\r\n return true\r\n }\r\n _getKeyExpr(options) {\r\n return options.keyExpr || this._defaultKeyExpr\r\n }\r\n _defaultKeyExpr(fileItem) {\r\n if (2 === arguments.length) {\r\n fileItem.__KEY__ = arguments[1];\r\n return\r\n }\r\n return Object.prototype.hasOwnProperty.call(fileItem, \"__KEY__\") ? fileItem.__KEY__ : null\r\n }\r\n _getNameExpr(options) {\r\n return options.nameExpr || \"name\"\r\n }\r\n _getIsDirExpr(options) {\r\n return options.isDirectoryExpr || \"isDirectory\"\r\n }\r\n _getSizeExpr(options) {\r\n return options.sizeExpr || \"size\"\r\n }\r\n _getDateModifiedExpr(options) {\r\n return options.dateModifiedExpr || \"dateModified\"\r\n }\r\n _executeActionAsDeferred(action, keepResult) {\r\n var deferred = new Deferred;\r\n try {\r\n var result = action();\r\n if (isPromise(result)) {\r\n fromPromise(result).done(userResult => deferred.resolve(keepResult && userResult || void 0)).fail(error => deferred.reject(error))\r\n } else {\r\n deferred.resolve(keepResult && result || void 0)\r\n }\r\n } catch (error) {\r\n return deferred.reject(error)\r\n }\r\n return deferred.promise()\r\n }\r\n}\r\nexport default FileSystemProviderBase;\r\n","/**\r\n * DevExtreme (esm/file_management/error.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nclass FileSystemError {\r\n constructor(errorCode, fileSystemItem, errorText) {\r\n this.errorCode = errorCode;\r\n this.fileSystemItem = fileSystemItem;\r\n this.errorText = errorText\r\n }\r\n}\r\nexport default FileSystemError;\r\n","/**\r\n * DevExtreme (esm/file_management/error_codes.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar ErrorCode = {\r\n NoAccess: 0,\r\n FileExists: 1,\r\n FileNotFound: 2,\r\n DirectoryExists: 3,\r\n DirectoryNotFound: 4,\r\n WrongFileExtension: 5,\r\n MaxFileSizeExceeded: 6,\r\n InvalidSymbols: 7,\r\n Other: 32767\r\n};\r\nexport default ErrorCode;\r\n","/**\r\n * DevExtreme (esm/file_management/object_provider.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n ensureDefined\r\n} from \"../core/utils/common\";\r\nimport {\r\n compileGetter,\r\n compileSetter\r\n} from \"../core/utils/data\";\r\nimport Guid from \"../core/guid\";\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport {\r\n errors\r\n} from \"../data/errors\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n fileSaver\r\n} from \"../exporter/file_saver\";\r\nimport Errors from \"../ui/widget/ui.errors\";\r\nimport JSZip from \"jszip\";\r\nimport FileSystemProviderBase from \"./provider_base\";\r\nimport FileSystemError from \"./error\";\r\nimport ErrorCode from \"./error_codes\";\r\nimport {\r\n pathCombine\r\n} from \"./utils\";\r\nvar window = getWindow();\r\nclass ObjectFileSystemProvider extends FileSystemProviderBase {\r\n constructor(options) {\r\n options = ensureDefined(options, {});\r\n super(options);\r\n var initialArray = options.data;\r\n if (initialArray && !Array.isArray(initialArray)) {\r\n throw errors.Error(\"E4006\")\r\n }\r\n var itemsExpr = options.itemsExpr || \"items\";\r\n this._subFileItemsGetter = compileGetter(itemsExpr);\r\n this._subFileItemsSetter = this._getSetter(itemsExpr);\r\n var contentExpr = options.contentExpr || \"content\";\r\n this._contentGetter = compileGetter(contentExpr);\r\n this._contentSetter = this._getSetter(contentExpr);\r\n var nameExpr = this._getNameExpr(options);\r\n this._nameSetter = this._getSetter(nameExpr);\r\n var isDirExpr = this._getIsDirExpr(options);\r\n this._getIsDirSetter = this._getSetter(isDirExpr);\r\n var keyExpr = this._getKeyExpr(options);\r\n this._keySetter = this._getSetter(keyExpr);\r\n var sizeExpr = this._getSizeExpr(options);\r\n this._sizeSetter = this._getSetter(sizeExpr);\r\n var dateModifiedExpr = this._getDateModifiedExpr(options);\r\n this._dateModifiedSetter = this._getSetter(dateModifiedExpr);\r\n this._data = initialArray || []\r\n }\r\n getItems(parentDir) {\r\n return this._executeActionAsDeferred(() => this._getItems(parentDir), true)\r\n }\r\n renameItem(item, name) {\r\n return this._executeActionAsDeferred(() => this._renameItemCore(item, name))\r\n }\r\n _renameItemCore(item, name) {\r\n if (!item) {\r\n return\r\n }\r\n var dataItem = this._findDataObject(item);\r\n this._nameSetter(dataItem, name);\r\n item.name = name;\r\n item.key = this._ensureDataObjectKey(dataItem)\r\n }\r\n createDirectory(parentDir, name) {\r\n return this._executeActionAsDeferred(() => {\r\n this._validateDirectoryExists(parentDir);\r\n this._createDataObject(parentDir, name, true)\r\n })\r\n }\r\n deleteItems(items) {\r\n return items.map(item => this._executeActionAsDeferred(() => this._deleteItem(item)))\r\n }\r\n moveItems(items, destinationDir) {\r\n var destinationDataItem = this._findDataObject(destinationDir);\r\n var array = this._getDirectoryDataItems(destinationDataItem);\r\n var deferreds = items.map(item => this._executeActionAsDeferred(() => {\r\n this._checkAbilityToMoveOrCopyItem(item, destinationDir);\r\n var dataItem = this._findDataObject(item);\r\n this._deleteItem(item);\r\n array.push(dataItem)\r\n }));\r\n return deferreds\r\n }\r\n copyItems(items, destinationDir) {\r\n var destinationDataItem = this._findDataObject(destinationDir);\r\n var array = this._getDirectoryDataItems(destinationDataItem);\r\n var deferreds = items.map(item => this._executeActionAsDeferred(() => {\r\n this._checkAbilityToMoveOrCopyItem(item, destinationDir);\r\n var dataItem = this._findDataObject(item);\r\n var copiedItem = this._createCopy(dataItem);\r\n array.push(copiedItem)\r\n }));\r\n return deferreds\r\n }\r\n uploadFileChunk(fileData, chunksInfo, destinationDirectory) {\r\n if (chunksInfo.chunkIndex > 0) {\r\n return chunksInfo.customData.deferred\r\n }\r\n this._validateDirectoryExists(destinationDirectory);\r\n var deferred = chunksInfo.customData.deferred = new Deferred;\r\n var reader = this._createFileReader();\r\n reader.readAsDataURL(fileData);\r\n reader.onload = () => {\r\n var content = reader.result.split(\",\")[1];\r\n var dataObj = this._createDataObject(destinationDirectory, fileData.name, false);\r\n this._sizeSetter(dataObj, fileData.size);\r\n this._dateModifiedSetter(dataObj, fileData.lastModifiedDate);\r\n this._contentSetter(dataObj, content);\r\n deferred.resolve()\r\n };\r\n reader.onerror = error => deferred.reject(error);\r\n return deferred\r\n }\r\n downloadItems(items) {\r\n if (1 === items.length) {\r\n this._downloadSingleFile(items[0])\r\n } else {\r\n this._downloadMultipleFiles(items)\r\n }\r\n }\r\n _downloadSingleFile(file) {\r\n var content = this._getFileContent(file);\r\n var byteString = window.atob(content);\r\n var arrayBuffer = new ArrayBuffer(byteString.length);\r\n var array = new Uint8Array(arrayBuffer);\r\n for (var i = 0; i < byteString.length; i++) {\r\n array[i] = byteString.charCodeAt(i)\r\n }\r\n var blob = new window.Blob([arrayBuffer], {\r\n type: \"application/octet-stream\"\r\n });\r\n fileSaver.saveAs(file.name, null, blob)\r\n }\r\n _downloadMultipleFiles(files) {\r\n var jsZip = getJSZip();\r\n var zip = new jsZip;\r\n files.forEach(file => zip.file(file.name, this._getFileContent(file), {\r\n base64: true\r\n }));\r\n var options = {\r\n type: \"blob\",\r\n compression: \"DEFLATE\",\r\n mimeType: \"application/zip\"\r\n };\r\n var deferred = new Deferred;\r\n if (zip.generateAsync) {\r\n zip.generateAsync(options).then(deferred.resolve)\r\n } else {\r\n deferred.resolve(zip.generate(options))\r\n }\r\n deferred.done(blob => fileSaver.saveAs(\"files.zip\", null, blob))\r\n }\r\n _getFileContent(file) {\r\n var dataItem = this._findDataObject(file);\r\n return this._contentGetter(dataItem) || \"\"\r\n }\r\n _validateDirectoryExists(directoryInfo) {\r\n if (!this._isFileItemExists(directoryInfo) || this._isDirGetter(directoryInfo.fileItem)) {\r\n throw new FileSystemError(ErrorCode.DirectoryNotFound, directoryInfo)\r\n }\r\n }\r\n _checkAbilityToMoveOrCopyItem(item, destinationDir) {\r\n var dataItem = this._findDataObject(item);\r\n var itemKey = this._getKeyFromDataObject(dataItem, item.parentPath);\r\n var pathInfo = destinationDir.getFullPathInfo();\r\n var currentPath = \"\";\r\n pathInfo.forEach(info => {\r\n currentPath = pathCombine(currentPath, info.name);\r\n var pathKey = this._getDataObjectKey(info.key, currentPath);\r\n if (pathKey === itemKey) {\r\n throw new FileSystemError(ErrorCode.Other, item)\r\n }\r\n })\r\n }\r\n _createDataObject(parentDir, name, isDirectory) {\r\n var dataObj = {};\r\n this._nameSetter(dataObj, name);\r\n this._getIsDirSetter(dataObj, isDirectory);\r\n this._keySetter(dataObj, String(new Guid));\r\n var parentDataItem = this._findDataObject(parentDir);\r\n var array = this._getDirectoryDataItems(parentDataItem);\r\n array.push(dataObj);\r\n return dataObj\r\n }\r\n _createCopy(dataObj) {\r\n var copyObj = {};\r\n this._nameSetter(copyObj, this._nameGetter(dataObj));\r\n this._getIsDirSetter(copyObj, this._isDirGetter(dataObj));\r\n var items = this._subFileItemsGetter(dataObj);\r\n if (Array.isArray(items)) {\r\n var itemsCopy = [];\r\n items.forEach(childItem => {\r\n var childCopy = this._createCopy(childItem);\r\n itemsCopy.push(childCopy)\r\n });\r\n this._subFileItemsSetter(copyObj, itemsCopy)\r\n }\r\n return copyObj\r\n }\r\n _deleteItem(fileItem) {\r\n var dataItem = this._findDataObject(fileItem);\r\n var parentDirDataObj = this._findFileItemObj(fileItem.pathInfo);\r\n var array = this._getDirectoryDataItems(parentDirDataObj);\r\n var index = array.indexOf(dataItem);\r\n array.splice(index, 1)\r\n }\r\n _getDirectoryDataItems(directoryDataObj) {\r\n if (!directoryDataObj) {\r\n return this._data\r\n }\r\n var dataItems = this._subFileItemsGetter(directoryDataObj);\r\n if (!Array.isArray(dataItems)) {\r\n dataItems = [];\r\n this._subFileItemsSetter(directoryDataObj, dataItems)\r\n }\r\n return dataItems\r\n }\r\n _getItems(parentDir) {\r\n this._validateDirectoryExists(parentDir);\r\n var pathInfo = parentDir.getFullPathInfo();\r\n var parentDirKey = pathInfo && pathInfo.length > 0 ? pathInfo[pathInfo.length - 1].key : null;\r\n var dirFileObjects = this._data;\r\n if (parentDirKey) {\r\n var directoryEntry = this._findFileItemObj(pathInfo);\r\n dirFileObjects = directoryEntry && this._subFileItemsGetter(directoryEntry) || []\r\n }\r\n this._ensureKeysForDuplicateNameItems(dirFileObjects);\r\n return this._convertDataObjectsToFileItems(dirFileObjects, pathInfo)\r\n }\r\n _ensureKeysForDuplicateNameItems(dataObjects) {\r\n var names = {};\r\n dataObjects.forEach(obj => {\r\n var name = this._nameGetter(obj);\r\n if (names[name]) {\r\n this._ensureDataObjectKey(obj)\r\n } else {\r\n names[name] = true\r\n }\r\n })\r\n }\r\n _findDataObject(item) {\r\n if (item.isRoot()) {\r\n return null\r\n }\r\n var result = this._findFileItemObj(item.getFullPathInfo());\r\n if (!result) {\r\n var errorCode = item.isDirectory ? ErrorCode.DirectoryNotFound : ErrorCode.FileNotFound;\r\n throw new FileSystemError(errorCode, item)\r\n }\r\n return result\r\n }\r\n _findFileItemObj(pathInfo) {\r\n var _this = this;\r\n if (!Array.isArray(pathInfo)) {\r\n pathInfo = []\r\n }\r\n var currentPath = \"\";\r\n var fileItemObj = null;\r\n var fileItemObjects = this._data;\r\n var _loop = function(i) {\r\n fileItemObj = fileItemObjects.find(item => {\r\n var hasCorrectFileItemType = _this._isDirGetter(item) || i === pathInfo.length - 1;\r\n return _this._getKeyFromDataObject(item, currentPath) === pathInfo[i].key && _this._nameGetter(item) === pathInfo[i].name && hasCorrectFileItemType\r\n });\r\n if (fileItemObj) {\r\n currentPath = pathCombine(currentPath, _this._nameGetter(fileItemObj));\r\n fileItemObjects = _this._subFileItemsGetter(fileItemObj)\r\n }\r\n };\r\n for (var i = 0; i < pathInfo.length && (0 === i || fileItemObj); i++) {\r\n _loop(i)\r\n }\r\n return fileItemObj\r\n }\r\n _getKeyFromDataObject(dataObj, defaultKeyPrefix) {\r\n var key = this._keyGetter(dataObj);\r\n var relativeName = pathCombine(defaultKeyPrefix, this._nameGetter(dataObj));\r\n return this._getDataObjectKey(key, relativeName)\r\n }\r\n _getDataObjectKey(key, relativeName) {\r\n return key ? key : relativeName\r\n }\r\n _ensureDataObjectKey(dataObj) {\r\n var key = this._keyGetter(dataObj);\r\n if (!key) {\r\n key = String(new Guid);\r\n this._keySetter(dataObj, key)\r\n }\r\n return key\r\n }\r\n _hasSubDirs(dataObj) {\r\n var subItems = ensureDefined(this._subFileItemsGetter(dataObj), []);\r\n if (!Array.isArray(subItems)) {\r\n return true\r\n }\r\n for (var i = 0; i < subItems.length; i++) {\r\n if (true === this._isDirGetter(subItems[i])) {\r\n return true\r\n }\r\n }\r\n return false\r\n }\r\n _getSetter(expr) {\r\n return isFunction(expr) ? expr : compileSetter(expr)\r\n }\r\n _isFileItemExists(fileItem) {\r\n return fileItem.isDirectory && fileItem.isRoot() || !!this._findFileItemObj(fileItem.getFullPathInfo())\r\n }\r\n _createFileReader() {\r\n return new window.FileReader\r\n }\r\n}\r\n\r\nfunction getJSZip() {\r\n if (!JSZip) {\r\n throw Errors.Error(\"E1041\", \"JSZip\")\r\n }\r\n return JSZip\r\n}\r\nexport default ObjectFileSystemProvider;\r\n","/**\r\n * DevExtreme (esm/file_management/remote_provider.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport ajax from \"../core/utils/ajax\";\r\nimport {\r\n ensureDefined,\r\n noop\r\n} from \"../core/utils/common\";\r\nimport Guid from \"../core/guid\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport FileSystemProviderBase from \"./provider_base\";\r\nimport {\r\n compileGetter\r\n} from \"../core/utils/data\";\r\nimport {\r\n isDefined,\r\n isEmptyObject,\r\n isFunction\r\n} from \"../core/utils/type\";\r\nvar window = getWindow();\r\nvar FILE_CHUNK_BLOB_NAME = \"chunk\";\r\nvar FILE_SYSTEM_COMMNAD = {\r\n GET_DIR_CONTENTS: \"GetDirContents\",\r\n CREATE_DIR: \"CreateDir\",\r\n RENAME: \"Rename\",\r\n MOVE: \"Move\",\r\n COPY: \"Copy\",\r\n REMOVE: \"Remove\",\r\n UPLOAD_CHUNK: \"UploadChunk\",\r\n ABORT_UPLOAD: \"AbortUpload\",\r\n DOWLOAD: \"Download\"\r\n};\r\nvar REQUEST_METHOD = {\r\n GET: \"GET\",\r\n POST: \"POST\"\r\n};\r\nclass RemoteFileSystemProvider extends FileSystemProviderBase {\r\n constructor(options) {\r\n options = ensureDefined(options, {});\r\n super(options);\r\n this._endpointUrl = options.endpointUrl;\r\n this._beforeAjaxSend = options.beforeAjaxSend;\r\n this._beforeSubmit = options.beforeSubmit;\r\n this._requestHeaders = options.requestHeaders;\r\n this._hasSubDirsGetter = compileGetter(options.hasSubDirectoriesExpr || \"hasSubDirectories\")\r\n }\r\n getItems(parentDir) {\r\n var pathInfo = parentDir.getFullPathInfo();\r\n return this._executeRequest(FILE_SYSTEM_COMMNAD.GET_DIR_CONTENTS, {\r\n pathInfo: pathInfo\r\n }).then(result => this._convertDataObjectsToFileItems(result.result, pathInfo))\r\n }\r\n renameItem(item, name) {\r\n return this._executeRequest(FILE_SYSTEM_COMMNAD.RENAME, {\r\n pathInfo: item.getFullPathInfo(),\r\n isDirectory: item.isDirectory,\r\n name: name\r\n })\r\n }\r\n createDirectory(parentDir, name) {\r\n return this._executeRequest(FILE_SYSTEM_COMMNAD.CREATE_DIR, {\r\n pathInfo: parentDir.getFullPathInfo(),\r\n name: name\r\n })\r\n }\r\n deleteItems(items) {\r\n return items.map(item => this._executeRequest(FILE_SYSTEM_COMMNAD.REMOVE, {\r\n pathInfo: item.getFullPathInfo(),\r\n isDirectory: item.isDirectory\r\n }))\r\n }\r\n moveItems(items, destinationDirectory) {\r\n return items.map(item => this._executeRequest(FILE_SYSTEM_COMMNAD.MOVE, {\r\n sourcePathInfo: item.getFullPathInfo(),\r\n sourceIsDirectory: item.isDirectory,\r\n destinationPathInfo: destinationDirectory.getFullPathInfo()\r\n }))\r\n }\r\n copyItems(items, destinationFolder) {\r\n return items.map(item => this._executeRequest(FILE_SYSTEM_COMMNAD.COPY, {\r\n sourcePathInfo: item.getFullPathInfo(),\r\n sourceIsDirectory: item.isDirectory,\r\n destinationPathInfo: destinationFolder.getFullPathInfo()\r\n }))\r\n }\r\n uploadFileChunk(fileData, chunksInfo, destinationDirectory) {\r\n if (0 === chunksInfo.chunkIndex) {\r\n chunksInfo.customData.uploadId = new Guid\r\n }\r\n var args = {\r\n destinationPathInfo: destinationDirectory.getFullPathInfo(),\r\n chunkMetadata: JSON.stringify({\r\n UploadId: chunksInfo.customData.uploadId,\r\n FileName: fileData.name,\r\n Index: chunksInfo.chunkIndex,\r\n TotalCount: chunksInfo.chunkCount,\r\n FileSize: fileData.size\r\n })\r\n };\r\n var ajaxSettings = {\r\n url: this._endpointUrl,\r\n headers: this._requestHeaders || {},\r\n method: REQUEST_METHOD.POST,\r\n dataType: \"json\",\r\n data: {\r\n [FILE_CHUNK_BLOB_NAME]: chunksInfo.chunkBlob,\r\n arguments: JSON.stringify(args),\r\n command: FILE_SYSTEM_COMMNAD.UPLOAD_CHUNK\r\n },\r\n upload: {\r\n onprogress: noop,\r\n onloadstart: noop,\r\n onabort: noop\r\n },\r\n xhrFields: {},\r\n cache: false\r\n };\r\n var deferred = new Deferred;\r\n this._beforeSendInternal(ajaxSettings);\r\n ajax.sendRequest(ajaxSettings).done(result => {\r\n !result.success && deferred.reject(result) || deferred.resolve()\r\n }).fail(deferred.reject);\r\n return deferred.promise()\r\n }\r\n abortFileUpload(fileData, chunksInfo, destinationDirectory) {\r\n return this._executeRequest(FILE_SYSTEM_COMMNAD.ABORT_UPLOAD, {\r\n uploadId: chunksInfo.customData.uploadId\r\n })\r\n }\r\n downloadItems(items) {\r\n var args = this._getDownloadArgs(items);\r\n var $form = $(\"<form>\").css({\r\n display: \"none\"\r\n }).attr({\r\n method: REQUEST_METHOD.POST,\r\n action: args.url\r\n });\r\n var formDataEntries = {\r\n command: args.command,\r\n arguments: args.arguments\r\n };\r\n this._beforeSubmitInternal(formDataEntries);\r\n this._appendFormDataInputsToForm(formDataEntries, $form);\r\n $form.appendTo(\"body\");\r\n eventsEngine.trigger($form, \"submit\");\r\n setTimeout(() => $form.remove())\r\n }\r\n getItemsContent(items) {\r\n var args = this._getDownloadArgs(items);\r\n var ajaxSettings = {\r\n url: args.url,\r\n headers: this._requestHeaders || {},\r\n method: REQUEST_METHOD.POST,\r\n responseType: \"arraybuffer\",\r\n data: {\r\n command: args.command,\r\n arguments: args.arguments\r\n },\r\n upload: {\r\n onprogress: noop,\r\n onloadstart: noop,\r\n onabort: noop\r\n },\r\n xhrFields: {},\r\n cache: false\r\n };\r\n this._beforeSendInternal(ajaxSettings);\r\n return ajax.sendRequest(ajaxSettings)\r\n }\r\n _getDownloadArgs(items) {\r\n var pathInfoList = items.map(item => item.getFullPathInfo());\r\n var args = {\r\n pathInfoList: pathInfoList\r\n };\r\n var argsStr = JSON.stringify(args);\r\n return {\r\n url: this._endpointUrl,\r\n arguments: argsStr,\r\n command: FILE_SYSTEM_COMMNAD.DOWLOAD\r\n }\r\n }\r\n _getItemsIds(items) {\r\n return items.map(it => it.relativeName)\r\n }\r\n _executeRequest(command, args) {\r\n var method = command === FILE_SYSTEM_COMMNAD.GET_DIR_CONTENTS ? REQUEST_METHOD.GET : REQUEST_METHOD.POST;\r\n var deferred = new Deferred;\r\n var ajaxSettings = {\r\n url: this._getEndpointUrl(command, args),\r\n headers: this._requestHeaders || {},\r\n method: method,\r\n dataType: \"json\",\r\n data: {},\r\n xhrFields: {},\r\n cache: false\r\n };\r\n this._beforeSendInternal(ajaxSettings);\r\n ajax.sendRequest(ajaxSettings).then(result => {\r\n !result.success && deferred.reject(result) || deferred.resolve(result)\r\n }, e => deferred.reject(e));\r\n return deferred.promise()\r\n }\r\n _beforeSubmitInternal(formDataEntries) {\r\n if (isFunction(this._beforeSubmit)) {\r\n this._beforeSubmit({\r\n formData: formDataEntries\r\n })\r\n }\r\n }\r\n _beforeSendInternal(ajaxSettings) {\r\n if (isFunction(this._beforeAjaxSend)) {\r\n var ajaxArguments = {\r\n headers: ajaxSettings.headers,\r\n formData: ajaxSettings.data,\r\n xhrFields: ajaxSettings.xhrFields\r\n };\r\n this._beforeAjaxSend(ajaxArguments);\r\n ajaxSettings.headers = ajaxArguments.headers;\r\n ajaxSettings.data = ajaxArguments.formData;\r\n ajaxSettings.xhrFields = ajaxArguments.xhrFields\r\n }\r\n if (isEmptyObject(ajaxSettings.data)) {\r\n delete ajaxSettings.data\r\n } else if (ajaxSettings.responseType || ajaxSettings.upload) {\r\n ajaxSettings.data = this._createFormData(ajaxSettings.data)\r\n }\r\n }\r\n _createFormData(formDataEntries) {\r\n var formData = new window.FormData;\r\n for (var entryName in formDataEntries) {\r\n if (Object.prototype.hasOwnProperty.call(formDataEntries, entryName) && isDefined(formDataEntries[entryName])) {\r\n formData.append(entryName, formDataEntries[entryName])\r\n }\r\n }\r\n return formData\r\n }\r\n _appendFormDataInputsToForm(formDataEntries, formElement) {\r\n for (var entryName in formDataEntries) {\r\n if (Object.prototype.hasOwnProperty.call(formDataEntries, entryName) && isDefined(formDataEntries[entryName])) {\r\n $(\"<input>\").attr({\r\n type: \"hidden\",\r\n name: entryName,\r\n value: formDataEntries[entryName]\r\n }).appendTo(formElement)\r\n }\r\n }\r\n }\r\n _getEndpointUrl(command, args) {\r\n var queryString = this._getQueryString({\r\n command: command,\r\n arguments: JSON.stringify(args)\r\n });\r\n var separator = this._endpointUrl && this._endpointUrl.indexOf(\"?\") > 0 ? \"&\" : \"?\";\r\n return this._endpointUrl + separator + queryString\r\n }\r\n _getQueryString(params) {\r\n var pairs = [];\r\n var keys = Object.keys(params);\r\n for (var i = 0; i < keys.length; i++) {\r\n var key = keys[i];\r\n var value = params[key];\r\n if (void 0 === value) {\r\n continue\r\n }\r\n if (null === value) {\r\n value = \"\"\r\n }\r\n if (Array.isArray(value)) {\r\n this._processQueryStringArrayParam(key, value, pairs)\r\n } else {\r\n var pair = this._getQueryStringPair(key, value);\r\n pairs.push(pair)\r\n }\r\n }\r\n return pairs.join(\"&\")\r\n }\r\n _processQueryStringArrayParam(key, array, pairs) {\r\n each(array, (_, item) => {\r\n var pair = this._getQueryStringPair(key, item);\r\n pairs.push(pair)\r\n })\r\n }\r\n _getQueryStringPair(key, value) {\r\n return encodeURIComponent(key) + \"=\" + encodeURIComponent(value)\r\n }\r\n _hasSubDirs(dataObj) {\r\n var hasSubDirs = this._hasSubDirsGetter(dataObj);\r\n return \"boolean\" === typeof hasSubDirs ? hasSubDirs : true\r\n }\r\n _getKeyExpr(options) {\r\n return options.keyExpr || \"key\"\r\n }\r\n}\r\nexport default RemoteFileSystemProvider;\r\n","/**\r\n * DevExtreme (esm/file_management/custom_provider.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n ensureDefined,\r\n noop\r\n} from \"../core/utils/common\";\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport {\r\n compileGetter\r\n} from \"../core/utils/data\";\r\nimport FileSystemProviderBase from \"./provider_base\";\r\nclass CustomFileSystemProvider extends FileSystemProviderBase {\r\n constructor(options) {\r\n options = ensureDefined(options, {});\r\n super(options);\r\n this._hasSubDirsGetter = compileGetter(options.hasSubDirectoriesExpr || \"hasSubDirectories\");\r\n this._getItemsFunction = this._ensureFunction(options.getItems, () => []);\r\n this._renameItemFunction = this._ensureFunction(options.renameItem);\r\n this._createDirectoryFunction = this._ensureFunction(options.createDirectory);\r\n this._deleteItemFunction = this._ensureFunction(options.deleteItem);\r\n this._moveItemFunction = this._ensureFunction(options.moveItem);\r\n this._copyItemFunction = this._ensureFunction(options.copyItem);\r\n this._uploadFileChunkFunction = this._ensureFunction(options.uploadFileChunk);\r\n this._abortFileUploadFunction = this._ensureFunction(options.abortFileUpload);\r\n this._downloadItemsFunction = this._ensureFunction(options.downloadItems);\r\n this._getItemsContentFunction = this._ensureFunction(options.getItemsContent)\r\n }\r\n getItems(parentDir) {\r\n var pathInfo = parentDir.getFullPathInfo();\r\n return this._executeActionAsDeferred(() => this._getItemsFunction(parentDir), true).then(dataItems => this._convertDataObjectsToFileItems(dataItems, pathInfo))\r\n }\r\n renameItem(item, name) {\r\n return this._executeActionAsDeferred(() => this._renameItemFunction(item, name))\r\n }\r\n createDirectory(parentDir, name) {\r\n return this._executeActionAsDeferred(() => this._createDirectoryFunction(parentDir, name))\r\n }\r\n deleteItems(items) {\r\n return items.map(item => this._executeActionAsDeferred(() => this._deleteItemFunction(item)))\r\n }\r\n moveItems(items, destinationDirectory) {\r\n return items.map(item => this._executeActionAsDeferred(() => this._moveItemFunction(item, destinationDirectory)))\r\n }\r\n copyItems(items, destinationFolder) {\r\n return items.map(item => this._executeActionAsDeferred(() => this._copyItemFunction(item, destinationFolder)))\r\n }\r\n uploadFileChunk(fileData, chunksInfo, destinationDirectory) {\r\n return this._executeActionAsDeferred(() => this._uploadFileChunkFunction(fileData, chunksInfo, destinationDirectory))\r\n }\r\n abortFileUpload(fileData, chunksInfo, destinationDirectory) {\r\n return this._executeActionAsDeferred(() => this._abortFileUploadFunction(fileData, chunksInfo, destinationDirectory))\r\n }\r\n downloadItems(items) {\r\n return this._executeActionAsDeferred(() => this._downloadItemsFunction(items))\r\n }\r\n getItemsContent(items) {\r\n return this._executeActionAsDeferred(() => this._getItemsContentFunction(items))\r\n }\r\n _hasSubDirs(dataObj) {\r\n var hasSubDirs = this._hasSubDirsGetter(dataObj);\r\n return \"boolean\" === typeof hasSubDirs ? hasSubDirs : true\r\n }\r\n _getKeyExpr(options) {\r\n return options.keyExpr || \"key\"\r\n }\r\n _ensureFunction(functionObject, defaultFunction) {\r\n defaultFunction = defaultFunction || noop;\r\n return isFunction(functionObject) ? functionObject : defaultFunction\r\n }\r\n}\r\nexport default CustomFileSystemProvider;\r\n","/**\r\n * DevExtreme (esm/ui/file_manager/file_items_controller.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport FileSystemProviderBase from \"../../file_management/provider_base\";\r\nimport FileSystemItem from \"../../file_management/file_system_item\";\r\nimport ObjectFileSystemProvider from \"../../file_management/object_provider\";\r\nimport RemoteFileSystemProvider from \"../../file_management/remote_provider\";\r\nimport CustomFileSystemProvider from \"../../file_management/custom_provider\";\r\nimport FileSystemError from \"../../file_management/error\";\r\nimport ErrorCode from \"../../file_management/error_codes\";\r\nimport {\r\n pathCombine,\r\n getEscapedFileName,\r\n getPathParts,\r\n getFileExtension\r\n} from \"../../file_management/utils\";\r\nimport {\r\n whenSome\r\n} from \"./ui.file_manager.common\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n equalByValue\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isObject,\r\n isPromise\r\n} from \"../../core/utils/type\";\r\nimport Guid from \"../../core/guid\";\r\nvar DEFAULT_ROOT_FILE_SYSTEM_ITEM_NAME = \"Files\";\r\nexport var OPERATIONS = {\r\n NAVIGATION: \"navigation\",\r\n REFRESH: \"refresh\"\r\n};\r\nexport class FileItemsController {\r\n constructor(options) {\r\n options = options || {};\r\n this._options = extend({}, options);\r\n this._isInitialized = false;\r\n this._dataLoading = false;\r\n this._dataLoadingDeferred = null;\r\n this._rootDirectoryInfo = this._createRootDirectoryInfo(options.rootText);\r\n this._currentDirectoryInfo = this._rootDirectoryInfo;\r\n this._defaultIconMap = this._createDefaultIconMap();\r\n this.startSingleLoad();\r\n this._setSecurityController();\r\n this._setProvider(options.fileProvider);\r\n this._initialize()\r\n }\r\n _initialize() {\r\n var result = this._options.currentPathKeys && this._options.currentPathKeys.length ? this.setCurrentPathByKeys(this._options.currentPathKeys) : this.setCurrentPath(this._options.currentPath);\r\n var completeInitialization = () => {\r\n this._isInitialized = true;\r\n this._raiseInitialized()\r\n };\r\n if (result) {\r\n when(result).always(completeInitialization)\r\n } else {\r\n completeInitialization()\r\n }\r\n }\r\n _setSecurityController() {\r\n this._securityController = new FileSecurityController({\r\n allowedFileExtensions: this._options.allowedFileExtensions,\r\n maxFileSize: this._options.uploadMaxFileSize\r\n });\r\n this._resetState()\r\n }\r\n setAllowedFileExtensions(allowedFileExtensions) {\r\n if (isDefined(allowedFileExtensions)) {\r\n this._options.allowedFileExtensions = allowedFileExtensions\r\n }\r\n this._setSecurityController();\r\n this.refresh()\r\n }\r\n setUploadOptions(_ref) {\r\n var {\r\n maxFileSize: maxFileSize,\r\n chunkSize: chunkSize\r\n } = _ref;\r\n if (isDefined(chunkSize)) {\r\n this._options.uploadChunkSize = chunkSize\r\n }\r\n if (isDefined(maxFileSize)) {\r\n this._options.uploadMaxFileSize = maxFileSize;\r\n this._setSecurityController();\r\n this.refresh()\r\n }\r\n }\r\n _setProvider(fileProvider) {\r\n this._fileProvider = this._createFileProvider(fileProvider);\r\n this._resetState()\r\n }\r\n updateProvider(fileProvider, currentPathKeys) {\r\n if (!isDefined(currentPathKeys)) {\r\n return this._updateProviderOnly(fileProvider)\r\n }\r\n return when(this._getDirectoryByPathParts(this._rootDirectoryInfo, currentPathKeys, true)).then(newDirectory => {\r\n if (newDirectory !== this._rootDirectoryInfo) {\r\n this._resetCurrentDirectory()\r\n }\r\n this._setProvider(fileProvider)\r\n }).then(() => this.setCurrentPathByKeys(currentPathKeys))\r\n }\r\n _updateProviderOnly(fileProvider) {\r\n this._resetCurrentDirectory();\r\n this._setProvider(fileProvider);\r\n return when(this.refresh())\r\n }\r\n _createFileProvider(fileProvider) {\r\n if (!fileProvider) {\r\n fileProvider = []\r\n }\r\n if (Array.isArray(fileProvider)) {\r\n return new ObjectFileSystemProvider({\r\n data: fileProvider\r\n })\r\n }\r\n if (fileProvider instanceof FileSystemProviderBase) {\r\n return fileProvider\r\n }\r\n switch (fileProvider.type) {\r\n case \"remote\":\r\n return new RemoteFileSystemProvider(fileProvider);\r\n case \"custom\":\r\n return new CustomFileSystemProvider(fileProvider)\r\n }\r\n return new ObjectFileSystemProvider(fileProvider)\r\n }\r\n setCurrentPath(path) {\r\n var pathParts = getPathParts(path);\r\n var rawPath = pathCombine(...pathParts);\r\n if (this.getCurrentDirectory().fileItem.relativeName === rawPath) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n return this._setCurrentDirectoryByPathParts(pathParts)\r\n }\r\n setCurrentPathByKeys(pathKeys) {\r\n if (equalByValue(this.getCurrentDirectory().fileItem.pathKeys, pathKeys)) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n return this._setCurrentDirectoryByPathParts(pathKeys, true)\r\n }\r\n getCurrentPath() {\r\n var currentPath = \"\";\r\n var directory = this.getCurrentDirectory();\r\n while (directory && !directory.fileItem.isRoot()) {\r\n var escapedName = getEscapedFileName(directory.fileItem.name);\r\n currentPath = pathCombine(escapedName, currentPath);\r\n directory = directory.parentDirectory\r\n }\r\n return currentPath\r\n }\r\n getCurrentPathKeys() {\r\n return this.getCurrentDirectory().fileItem.pathKeys\r\n }\r\n getCurrentDirectory() {\r\n return this._currentDirectoryInfo\r\n }\r\n setCurrentDirectory(directoryInfo, checkActuality) {\r\n if (!directoryInfo) {\r\n return\r\n }\r\n if (checkActuality) {\r\n directoryInfo = this._getActualDirectoryInfo(directoryInfo)\r\n }\r\n if (this._currentDirectoryInfo && this._currentDirectoryInfo === directoryInfo) {\r\n this._raisePathPotentiallyChanged();\r\n return\r\n }\r\n var requireRaiseSelectedDirectory = this._currentDirectoryInfo.fileItem.key !== directoryInfo.fileItem.key;\r\n this._currentDirectoryInfo = directoryInfo;\r\n if (requireRaiseSelectedDirectory && this._isInitialized) {\r\n if (!this._dataLoading) {\r\n this._raiseDataLoading(OPERATIONS.NAVIGATION)\r\n }\r\n this._raiseSelectedDirectoryChanged(directoryInfo)\r\n }\r\n }\r\n _resetCurrentDirectory() {\r\n this._currentDirectoryInfo = this._rootDirectoryInfo\r\n }\r\n getCurrentItems(onlyFiles) {\r\n return this._dataLoadingDeferred ? this._dataLoadingDeferred.then(() => this._getCurrentItemsInternal(onlyFiles)) : this._getCurrentItemsInternal(onlyFiles)\r\n }\r\n _getCurrentItemsInternal(onlyFiles) {\r\n var currentDirectory = this.getCurrentDirectory();\r\n var getItemsPromise = this.getDirectoryContents(currentDirectory);\r\n return getItemsPromise.then(items => {\r\n var separatedItems = this._separateItemsByType(items);\r\n currentDirectory.fileItem.hasSubDirectories = !!separatedItems.folders.length;\r\n return onlyFiles ? separatedItems.files : items\r\n })\r\n }\r\n getDirectories(parentDirectoryInfo, skipNavigationOnError) {\r\n return this.getDirectoryContents(parentDirectoryInfo, skipNavigationOnError).then(itemInfos => itemInfos.filter(info => info.fileItem.isDirectory))\r\n }\r\n _separateItemsByType(itemInfos) {\r\n var folders = [];\r\n var files = [];\r\n itemInfos.forEach(info => info.fileItem.isDirectory ? folders.push(info) : files.push(info));\r\n return {\r\n folders: folders,\r\n files: files\r\n }\r\n }\r\n getDirectoryContents(parentDirectoryInfo, skipNavigationOnError) {\r\n if (!parentDirectoryInfo) {\r\n return (new Deferred).resolve([this._rootDirectoryInfo]).promise()\r\n }\r\n if (parentDirectoryInfo.itemsLoaded) {\r\n return (new Deferred).resolve(parentDirectoryInfo.items).promise()\r\n }\r\n if (this._singleOperationLockId && parentDirectoryInfo.itemsSingleLoadErrorId === this._singleOperationLockId) {\r\n this._changeDirectoryOnError(parentDirectoryInfo, skipNavigationOnError, true);\r\n return (new Deferred).reject().promise()\r\n }\r\n var dirKey = parentDirectoryInfo.getInternalKey();\r\n var loadItemsDeferred = this._loadedItems[dirKey];\r\n if (loadItemsDeferred) {\r\n return loadItemsDeferred\r\n }\r\n loadItemsDeferred = this._getFileItems(parentDirectoryInfo, skipNavigationOnError).then(fileItems => {\r\n fileItems = fileItems || [];\r\n parentDirectoryInfo.items = fileItems.map(fileItem => fileItem.isDirectory && this._createDirectoryInfo(fileItem, parentDirectoryInfo) || this._createFileInfo(fileItem, parentDirectoryInfo));\r\n parentDirectoryInfo.itemsLoaded = true;\r\n return parentDirectoryInfo.items\r\n }, () => {\r\n if (this._singleOperationLockId && parentDirectoryInfo.itemsSingleLoadErrorId !== this._singleOperationLockId) {\r\n parentDirectoryInfo.itemsSingleLoadErrorId = this._singleOperationLockId\r\n }\r\n return []\r\n });\r\n this._loadedItems[dirKey] = loadItemsDeferred;\r\n loadItemsDeferred.always(() => {\r\n delete this._loadedItems[dirKey]\r\n });\r\n return loadItemsDeferred\r\n }\r\n _getFileItems(parentDirectoryInfo, skipNavigationOnError) {\r\n var loadItemsDeferred = null;\r\n try {\r\n loadItemsDeferred = this._fileProvider.getItems(parentDirectoryInfo.fileItem)\r\n } catch (error) {\r\n return this._handleItemLoadError(parentDirectoryInfo, error, skipNavigationOnError)\r\n }\r\n return when(loadItemsDeferred).then(fileItems => this._securityController.getAllowedItems(fileItems), errorInfo => this._handleItemLoadError(parentDirectoryInfo, errorInfo, skipNavigationOnError))\r\n }\r\n createDirectory(parentDirectoryInfo, name) {\r\n var parentDirItem = parentDirectoryInfo.fileItem;\r\n var tempDirInfo = this._createDirInfoByName(name, parentDirectoryInfo);\r\n var actionInfo = this._createEditActionInfo(\"create\", tempDirInfo, parentDirectoryInfo);\r\n return this._processEditAction(actionInfo, args => {\r\n args.parentDirectory = parentDirItem;\r\n args.name = name;\r\n this._editingEvents.onDirectoryCreating(args)\r\n }, () => this._fileProvider.createDirectory(parentDirItem, name).done(info => {\r\n if (!parentDirItem.isRoot()) {\r\n parentDirItem.hasSubDirectories = true\r\n }\r\n return info\r\n }), () => {\r\n var args = {\r\n parentDirectory: parentDirItem,\r\n name: name\r\n };\r\n this._editingEvents.onDirectoryCreated(args)\r\n }, () => this._resetDirectoryState(parentDirectoryInfo, true))\r\n }\r\n renameItem(fileItemInfo, name) {\r\n var sourceItem = fileItemInfo.fileItem.createClone();\r\n var actionInfo = this._createEditActionInfo(\"rename\", fileItemInfo, fileItemInfo.parentDirectory, {\r\n itemNewName: name\r\n });\r\n return this._processEditAction(actionInfo, (args, itemInfo) => {\r\n if (!itemInfo.fileItem.isDirectory) {\r\n this._securityController.validateExtension(name)\r\n }\r\n args.item = sourceItem;\r\n args.newName = name;\r\n this._editingEvents.onItemRenaming(args)\r\n }, item => this._fileProvider.renameItem(item, name), () => {\r\n var args = {\r\n sourceItem: sourceItem,\r\n itemName: name\r\n };\r\n this._editingEvents.onItemRenamed(args)\r\n }, () => {\r\n var parentDirectory = this._getActualDirectoryInfo(fileItemInfo.parentDirectory);\r\n this._resetDirectoryState(parentDirectory);\r\n this.setCurrentDirectory(parentDirectory)\r\n })\r\n }\r\n moveItems(itemInfos, destinationDirectory) {\r\n var actionInfo = this._createEditActionInfo(\"move\", itemInfos, destinationDirectory);\r\n return this._processEditAction(actionInfo, (args, itemInfo) => {\r\n args.item = itemInfo.fileItem;\r\n args.destinationDirectory = destinationDirectory.fileItem;\r\n this._editingEvents.onItemMoving(args)\r\n }, item => this._fileProvider.moveItems([item], destinationDirectory.fileItem), itemInfo => {\r\n var args = {\r\n sourceItem: itemInfo.fileItem,\r\n parentDirectory: destinationDirectory.fileItem,\r\n itemName: itemInfo.fileItem.name,\r\n itemPath: pathCombine(destinationDirectory.fileItem.path, itemInfo.fileItem.name)\r\n };\r\n this._editingEvents.onItemMoved(args)\r\n }, needChangeCurrentDirectory => {\r\n itemInfos.forEach(itemInfo => this._resetDirectoryState(itemInfo.parentDirectory, true));\r\n if (needChangeCurrentDirectory) {\r\n this._resetDirectoryState(destinationDirectory);\r\n this.setCurrentPathByKeys(destinationDirectory.fileItem.pathKeys);\r\n destinationDirectory.expanded = true\r\n }\r\n })\r\n }\r\n copyItems(itemInfos, destinationDirectory) {\r\n var actionInfo = this._createEditActionInfo(\"copy\", itemInfos, destinationDirectory);\r\n return this._processEditAction(actionInfo, (args, itemInfo) => {\r\n args.item = itemInfo.fileItem;\r\n args.destinationDirectory = destinationDirectory.fileItem;\r\n this._editingEvents.onItemCopying(args)\r\n }, item => this._fileProvider.copyItems([item], destinationDirectory.fileItem), itemInfo => {\r\n var args = {\r\n sourceItem: itemInfo.fileItem,\r\n parentDirectory: destinationDirectory.fileItem,\r\n itemName: itemInfo.fileItem.name,\r\n itemPath: pathCombine(destinationDirectory.fileItem.path, itemInfo.fileItem.name)\r\n };\r\n this._editingEvents.onItemCopied(args)\r\n }, needChangeCurrentDirectory => {\r\n if (needChangeCurrentDirectory) {\r\n destinationDirectory = this._getActualDirectoryInfo(destinationDirectory);\r\n this._resetDirectoryState(destinationDirectory);\r\n this.setCurrentDirectory(destinationDirectory);\r\n destinationDirectory.expanded = true\r\n }\r\n })\r\n }\r\n deleteItems(itemInfos) {\r\n var directory = itemInfos.length > 0 ? itemInfos[0].parentDirectory : null;\r\n var actionInfo = this._createEditActionInfo(\"delete\", itemInfos, directory);\r\n return this._processEditAction(actionInfo, (args, itemInfo) => {\r\n args.item = itemInfo.fileItem;\r\n this._editingEvents.onItemDeleting(args)\r\n }, item => this._fileProvider.deleteItems([item]), itemInfo => this._editingEvents.onItemDeleted({\r\n item: itemInfo.fileItem\r\n }), () => {\r\n itemInfos.forEach(itemInfo => {\r\n var parentDir = this._getActualDirectoryInfo(itemInfo.parentDirectory);\r\n this._resetDirectoryState(parentDir);\r\n this.setCurrentDirectory(parentDir)\r\n })\r\n })\r\n }\r\n processUploadSession(sessionInfo, uploadDirectoryInfo) {\r\n var itemInfos = this._getItemInfosForUploaderFiles(sessionInfo.files, uploadDirectoryInfo);\r\n var actionInfo = this._createEditActionInfo(\"upload\", itemInfos, uploadDirectoryInfo, {\r\n sessionInfo: sessionInfo\r\n });\r\n return this._processEditAction(actionInfo, () => {}, (_, index) => sessionInfo.deferreds[index], () => {}, () => this._resetDirectoryState(uploadDirectoryInfo, true))\r\n }\r\n uploadFileChunk(fileData, chunksInfo, destinationDirectory) {\r\n var startDeferred = null;\r\n if (0 === chunksInfo.chunkIndex) {\r\n this._securityController.validateMaxFileSize(fileData.size);\r\n this._securityController.validateExtension(fileData.name);\r\n startDeferred = this._processBeforeItemEditAction(args => {\r\n args.fileData = fileData;\r\n args.destinationDirectory = destinationDirectory;\r\n this._editingEvents.onFileUploading(args)\r\n })\r\n } else {\r\n startDeferred = (new Deferred).resolve().promise()\r\n }\r\n var result = startDeferred.then(() => this._fileProvider.uploadFileChunk(fileData, chunksInfo, destinationDirectory));\r\n if (chunksInfo.chunkIndex === chunksInfo.chunkCount - 1) {\r\n result = result.done(() => {\r\n var args = {\r\n fileData: fileData,\r\n parentDirectory: destinationDirectory\r\n };\r\n this._editingEvents.onFileUploaded(args)\r\n })\r\n }\r\n return result\r\n }\r\n abortFileUpload(fileData, chunksInfo, destinationDirectory) {\r\n return when(this._fileProvider.abortFileUpload(fileData, chunksInfo, destinationDirectory))\r\n }\r\n getFileUploadChunkSize() {\r\n var chunkSize = this._options.uploadChunkSize;\r\n if (chunkSize && chunkSize > 0) {\r\n return chunkSize\r\n }\r\n return this._fileProvider.getFileUploadChunkSize()\r\n }\r\n downloadItems(itemInfos) {\r\n var deferreds = itemInfos.map(itemInfo => this._processBeforeItemEditAction(args => {\r\n args.item = itemInfo.fileItem;\r\n this._editingEvents.onItemDownloading(args)\r\n }, itemInfo));\r\n return when(...deferreds).then(() => {\r\n var items = itemInfos.map(i => i.fileItem);\r\n return when(this._getItemActionResult(this._fileProvider.downloadItems(items))).then(() => {}, errorInfo => {\r\n this._raiseDownloadItemsError(itemInfos, itemInfos[0].parentDirectory, errorInfo)\r\n })\r\n }, errorInfo => {\r\n this._raiseDownloadItemsError(itemInfos, itemInfos[0].parentDirectory, errorInfo)\r\n })\r\n }\r\n getItemContent(itemInfos) {\r\n var items = itemInfos.map(i => i.fileItem);\r\n return when(this._fileProvider.getItemsContent(items))\r\n }\r\n _handleItemLoadError(parentDirectoryInfo, errorInfo, skipNavigationOnError) {\r\n parentDirectoryInfo = this._getActualDirectoryInfo(parentDirectoryInfo);\r\n this._raiseGetItemsError(parentDirectoryInfo, errorInfo);\r\n this._changeDirectoryOnError(parentDirectoryInfo, skipNavigationOnError);\r\n return (new Deferred).reject().promise()\r\n }\r\n _raiseGetItemsError(parentDirectoryInfo, errorInfo) {\r\n var actionInfo = this._createEditActionInfo(\"getItems\", parentDirectoryInfo, parentDirectoryInfo);\r\n this._raiseEditActionStarting(actionInfo);\r\n this._raiseEditActionResultAcquired(actionInfo);\r\n this._raiseEditActionError(actionInfo, {\r\n errorCode: errorInfo.errorCode,\r\n errorText: errorInfo.errorText,\r\n fileItem: parentDirectoryInfo.fileItem,\r\n index: 0\r\n })\r\n }\r\n _raiseDownloadItemsError(targetFileInfos, directory, errorInfo) {\r\n var actionInfo = this._createEditActionInfo(\"download\", targetFileInfos, directory);\r\n var itemsLength = targetFileInfos.length;\r\n actionInfo.singleRequest = 1 === itemsLength;\r\n this._raiseEditActionStarting(actionInfo);\r\n this._raiseEditActionResultAcquired(actionInfo);\r\n for (var index = 0; index < itemsLength - 1; index++) {\r\n this._raiseEditActionItemError(actionInfo, {\r\n errorCode: errorInfo.errorCode,\r\n errorText: errorInfo.errorText,\r\n fileItem: targetFileInfos[index].fileItem,\r\n index: index\r\n })\r\n }\r\n this._raiseEditActionError(actionInfo, {\r\n errorCode: errorInfo.errorCode,\r\n errorText: errorInfo.errorText,\r\n fileItem: targetFileInfos[itemsLength - 1].fileItem,\r\n index: itemsLength - 1\r\n })\r\n }\r\n _changeDirectoryOnError(dirInfo, skipNavigationOnError, isActualDirectoryRequired) {\r\n if (isActualDirectoryRequired) {\r\n dirInfo = this._getActualDirectoryInfo(dirInfo)\r\n }\r\n this._resetDirectoryState(dirInfo);\r\n dirInfo.expanded = false;\r\n if (!skipNavigationOnError) {\r\n this.setCurrentDirectory(dirInfo.parentDirectory)\r\n }\r\n }\r\n _getItemActionResult(actionResult) {\r\n return Array.isArray(actionResult) ? actionResult[0] : actionResult\r\n }\r\n _processEditAction(actionInfo, beforeAction, action, afterAction, completeAction) {\r\n var isAnyOperationSuccessful = false;\r\n this._raiseEditActionStarting(actionInfo);\r\n var actionResult = actionInfo.itemInfos.map((itemInfo, itemIndex) => this._processBeforeItemEditAction(beforeAction, itemInfo).then(() => {\r\n var itemActionResult = this._getItemActionResult(action(itemInfo.fileItem, itemIndex));\r\n return itemActionResult.done(() => afterAction(itemInfo))\r\n }));\r\n actionInfo.singleRequest = 1 === actionResult.length;\r\n this._raiseEditActionResultAcquired(actionInfo);\r\n return whenSome(actionResult, info => {\r\n isAnyOperationSuccessful = true;\r\n this._raiseCompleteEditActionItem(actionInfo, info)\r\n }, errorInfo => this._raiseEditActionItemError(actionInfo, errorInfo)).then(() => {\r\n completeAction(isAnyOperationSuccessful);\r\n this._raiseCompleteEditAction(actionInfo)\r\n })\r\n }\r\n _createEditActionInfo(name, targetItemInfos, directory, customData) {\r\n targetItemInfos = Array.isArray(targetItemInfos) ? targetItemInfos : [targetItemInfos];\r\n customData = customData || {};\r\n var items = targetItemInfos.map(itemInfo => itemInfo.fileItem);\r\n return {\r\n name: name,\r\n itemInfos: targetItemInfos,\r\n items: items,\r\n directory: directory,\r\n customData: customData,\r\n singleRequest: true\r\n }\r\n }\r\n _processBeforeItemEditAction(action, itemInfo) {\r\n var deferred = new Deferred;\r\n var args = this._createBeforeActionArgs();\r\n try {\r\n action(args, itemInfo)\r\n } catch (errorInfo) {\r\n return deferred.reject(errorInfo).promise()\r\n }\r\n if (!args.cancel) {\r\n deferred.resolve()\r\n } else if (true === args.cancel) {\r\n return deferred.reject({\r\n errorText: args.errorText,\r\n errorCode: args.errorCode\r\n })\r\n } else if (isPromise(args.cancel)) {\r\n when(args.cancel).then(res => {\r\n if (true === res) {\r\n deferred.reject()\r\n } else if (isObject(res) && true === res.cancel) {\r\n deferred.reject({\r\n errorText: res.errorText,\r\n errorCode: res.errorCode\r\n })\r\n }\r\n deferred.resolve()\r\n }, deferred.resolve)\r\n }\r\n return deferred.promise()\r\n }\r\n _createBeforeActionArgs() {\r\n return {\r\n errorCode: void 0,\r\n errorText: \"\",\r\n cancel: false\r\n }\r\n }\r\n _getItemInfosForUploaderFiles(files, parentDirectoryInfo) {\r\n var pathInfo = this._getPathInfo(parentDirectoryInfo);\r\n var result = [];\r\n for (var i = 0; i < files.length; i++) {\r\n var file = files[i];\r\n var item = new FileSystemItem(pathInfo, file.name, false);\r\n var itemInfo = this._createFileInfo(item, parentDirectoryInfo);\r\n result.push(itemInfo)\r\n }\r\n return result\r\n }\r\n refresh() {\r\n if (this._lockRefresh) {\r\n return this._refreshDeferred\r\n }\r\n this._lockRefresh = true;\r\n return this._executeDataLoad(() => this._refreshDeferred = this._refreshInternal(), OPERATIONS.REFRESH)\r\n }\r\n startSingleLoad() {\r\n this._singleOperationLockId = (new Guid).toString()\r\n }\r\n endSingleLoad() {\r\n delete this._singleOperationLockId\r\n }\r\n _refreshInternal() {\r\n var cachedRootInfo = {\r\n items: this._rootDirectoryInfo.items\r\n };\r\n var selectedKeyParts = this._getDirectoryPathKeyParts(this.getCurrentDirectory());\r\n this._resetDirectoryState(this._rootDirectoryInfo);\r\n return this._loadItemsRecursive(this._rootDirectoryInfo, cachedRootInfo).then(() => {\r\n var dirInfo = this._findDirectoryByPathKeyParts(selectedKeyParts);\r\n this.setCurrentDirectory(dirInfo);\r\n delete this._lockRefresh\r\n })\r\n }\r\n _loadItemsRecursive(directoryInfo, cachedDirectoryInfo) {\r\n var _this = this;\r\n return this.getDirectories(directoryInfo).then(dirInfos => {\r\n var itemDeferreds = [];\r\n var _loop = function(i) {\r\n var cachedItem = cachedDirectoryInfo.items.find(cache => dirInfos[i].fileItem.key === cache.fileItem.key);\r\n if (!cachedItem) {\r\n return \"continue\"\r\n }\r\n dirInfos[i].expanded = cachedItem.expanded;\r\n if (dirInfos[i].expanded) {\r\n itemDeferreds.push(_this._loadItemsRecursive(dirInfos[i], cachedItem))\r\n }\r\n };\r\n for (var i = 0; i < dirInfos.length; i++) {\r\n var _ret = _loop(i);\r\n if (\"continue\" === _ret) {\r\n continue\r\n }\r\n }\r\n return whenSome(itemDeferreds)\r\n }, () => null)\r\n }\r\n _setCurrentDirectoryByPathParts(pathParts, useKeys) {\r\n return this._executeDataLoad(() => this._setCurrentDirectoryByPathPartsInternal(pathParts, useKeys), OPERATIONS.NAVIGATION)\r\n }\r\n _setCurrentDirectoryByPathPartsInternal(pathParts, useKeys) {\r\n return this._getDirectoryByPathParts(this._rootDirectoryInfo, pathParts, useKeys).then(directoryInfo => {\r\n for (var info = directoryInfo.parentDirectory; info; info = info.parentDirectory) {\r\n info.expanded = true\r\n }\r\n this.setCurrentDirectory(directoryInfo)\r\n }, () => {\r\n this._raisePathPotentiallyChanged()\r\n })\r\n }\r\n _executeDataLoad(action, operation) {\r\n if (this._dataLoadingDeferred) {\r\n return this._dataLoadingDeferred.then(() => this._executeDataLoad(action, operation))\r\n }\r\n this._dataLoading = true;\r\n this._dataLoadingDeferred = new Deferred;\r\n if (this._isInitialized) {\r\n this._raiseDataLoading(operation)\r\n }\r\n return action().always(() => {\r\n var tempDeferred = this._dataLoadingDeferred;\r\n this._dataLoadingDeferred = null;\r\n this._dataLoading = false;\r\n tempDeferred.resolve()\r\n })\r\n }\r\n _getDirectoryByPathParts(parentDirectoryInfo, pathParts, useKeys) {\r\n if (pathParts.length < 1) {\r\n return (new Deferred).resolve(parentDirectoryInfo).promise()\r\n }\r\n var fieldName = useKeys ? \"key\" : \"name\";\r\n return this.getDirectories(parentDirectoryInfo).then(dirInfos => {\r\n var subDirInfo = dirInfos.find(d => d.fileItem[fieldName] === pathParts[0]);\r\n if (!subDirInfo) {\r\n return (new Deferred).reject().promise()\r\n }\r\n var restPathParts = [...pathParts].splice(1);\r\n return this._getDirectoryByPathParts(subDirInfo, restPathParts, useKeys)\r\n })\r\n }\r\n _getDirectoryPathKeyParts(directoryInfo) {\r\n var pathParts = [];\r\n while (directoryInfo && directoryInfo.parentDirectory) {\r\n pathParts.unshift(directoryInfo.fileItem.key);\r\n directoryInfo = directoryInfo.parentDirectory\r\n }\r\n return pathParts\r\n }\r\n _findDirectoryByPathKeyParts(keyParts) {\r\n var selectedDirInfo = this._rootDirectoryInfo;\r\n if (0 === keyParts.length) {\r\n return selectedDirInfo\r\n }\r\n var i = 0;\r\n var newSelectedDir = selectedDirInfo;\r\n while (newSelectedDir && i < keyParts.length) {\r\n newSelectedDir = selectedDirInfo.items.find(info => info.fileItem.key === keyParts[i]);\r\n if (newSelectedDir) {\r\n selectedDirInfo = newSelectedDir\r\n }\r\n i++\r\n }\r\n return selectedDirInfo\r\n }\r\n _getActualDirectoryInfo(directoryInfo) {\r\n var keys = this._getDirectoryPathKeyParts(directoryInfo);\r\n return this._findDirectoryByPathKeyParts(keys)\r\n }\r\n _createDirInfoByName(name, parentDirectoryInfo) {\r\n var dirPathInfo = this._getPathInfo(parentDirectoryInfo);\r\n var fileItem = new FileSystemItem(dirPathInfo, name, true);\r\n return this._createDirectoryInfo(fileItem, parentDirectoryInfo)\r\n }\r\n _createDirectoryInfo(fileItem, parentDirectoryInfo) {\r\n return extend(this._createFileInfo(fileItem, parentDirectoryInfo), {\r\n icon: \"folder\",\r\n expanded: fileItem.isRoot(),\r\n items: []\r\n })\r\n }\r\n _createFileInfo(fileItem, parentDirectoryInfo) {\r\n return {\r\n fileItem: fileItem,\r\n parentDirectory: parentDirectoryInfo,\r\n icon: this._getFileItemDefaultIcon(fileItem),\r\n getInternalKey() {\r\n return \"FIK_\".concat(this.fileItem.key)\r\n },\r\n getDisplayName() {\r\n return this.displayName || this.fileItem.name\r\n }\r\n }\r\n }\r\n _resetDirectoryState(directoryInfo, isActualDirectoryRequired) {\r\n if (isActualDirectoryRequired) {\r\n directoryInfo = this._getActualDirectoryInfo(directoryInfo)\r\n }\r\n directoryInfo.itemsLoaded = false;\r\n directoryInfo.items = []\r\n }\r\n _getFileItemDefaultIcon(fileItem) {\r\n if (fileItem.isDirectory) {\r\n return \"folder\"\r\n }\r\n var extension = fileItem.getFileExtension();\r\n var icon = this._defaultIconMap[extension];\r\n return icon || \"doc\"\r\n }\r\n _createDefaultIconMap() {\r\n var result = {\r\n \".txt\": \"txtfile\",\r\n \".rtf\": \"rtffile\",\r\n \".doc\": \"docfile\",\r\n \".docx\": \"docxfile\",\r\n \".xls\": \"xlsfile\",\r\n \".xlsx\": \"xlsxfile\",\r\n \".ppt\": \"pptfile\",\r\n \".pptx\": \"pptxfile\",\r\n \".pdf\": \"pdffile\"\r\n };\r\n [\".png\", \".gif\", \".jpg\", \".jpeg\", \".ico\", \".bmp\"].forEach(extension => {\r\n result[extension] = \"image\"\r\n });\r\n return result\r\n }\r\n _createRootDirectoryInfo(text) {\r\n var rootDirectory = new FileSystemItem(null, \"\", true);\r\n var result = this._createDirectoryInfo(rootDirectory, null);\r\n result.displayName = text || DEFAULT_ROOT_FILE_SYSTEM_ITEM_NAME;\r\n return result\r\n }\r\n setRootText(rootText) {\r\n this._rootDirectoryInfo.displayName = rootText || DEFAULT_ROOT_FILE_SYSTEM_ITEM_NAME\r\n }\r\n _raiseInitialized() {\r\n this._tryCallAction(\"onInitialized\", {\r\n controller: this\r\n })\r\n }\r\n _raiseDataLoading(operation) {\r\n this._tryCallAction(\"onDataLoading\", {\r\n operation: operation\r\n })\r\n }\r\n _raiseSelectedDirectoryChanged(directoryInfo) {\r\n this._tryCallAction(\"onSelectedDirectoryChanged\", {\r\n selectedDirectoryInfo: directoryInfo\r\n })\r\n }\r\n _raiseEditActionStarting(actionInfo) {\r\n this._tryCallAction(\"onEditActionStarting\", actionInfo)\r\n }\r\n _raiseEditActionResultAcquired(actionInfo) {\r\n this._tryCallAction(\"onEditActionResultAcquired\", actionInfo)\r\n }\r\n _raiseEditActionError(actionInfo, errorInfo) {\r\n this._tryCallAction(\"onEditActionError\", actionInfo, errorInfo)\r\n }\r\n _raiseEditActionItemError(actionInfo, errorInfo) {\r\n this._tryCallAction(\"onEditActionItemError\", actionInfo, errorInfo)\r\n }\r\n _raiseCompleteEditActionItem(actionInfo, info) {\r\n this._tryCallAction(\"onCompleteEditActionItem\", actionInfo, info)\r\n }\r\n _raiseCompleteEditAction(actionInfo) {\r\n this._tryCallAction(\"onCompleteEditAction\", actionInfo)\r\n }\r\n _raisePathPotentiallyChanged() {\r\n this._tryCallAction(\"onPathPotentiallyChanged\")\r\n }\r\n _tryCallAction(actionName) {\r\n var args = Array.prototype.slice.call(arguments, 1);\r\n if (this._isInitialized && this._options[actionName]) {\r\n this._options[actionName](...args)\r\n }\r\n }\r\n _resetState() {\r\n this._selectedDirectory = null;\r\n this._rootDirectoryInfo.items = [];\r\n this._rootDirectoryInfo.itemsLoaded = false;\r\n this._loadedItems = {}\r\n }\r\n _getPathInfo(directoryInfo) {\r\n var pathInfo = [];\r\n for (var dirInfo = directoryInfo; dirInfo && !dirInfo.fileItem.isRoot(); dirInfo = dirInfo.parentDirectory) {\r\n pathInfo.unshift({\r\n key: dirInfo.fileItem.key,\r\n name: dirInfo.fileItem.name\r\n })\r\n }\r\n return pathInfo\r\n }\r\n on(eventName, eventHandler) {\r\n var finalEventName = \"on\".concat(eventName);\r\n this._options[finalEventName] = eventHandler\r\n }\r\n get _editingEvents() {\r\n return this._options.editingEvents\r\n }\r\n}\r\nclass FileSecurityController {\r\n constructor(options) {\r\n this._options = extend({\r\n allowedFileExtensions: [],\r\n maxFileSize: 0\r\n }, options);\r\n this._extensionsMap = {};\r\n this._allowedFileExtensions.forEach(extension => {\r\n this._extensionsMap[extension.toUpperCase()] = true\r\n })\r\n }\r\n getAllowedItems(items) {\r\n if (0 === this._allowedFileExtensions.length) {\r\n return items\r\n }\r\n return items.filter(item => item.isDirectory || this._isValidExtension(item.name))\r\n }\r\n validateExtension(name) {\r\n if (!this._isValidExtension(name)) {\r\n throw new FileSystemError(ErrorCode.WrongFileExtension, null)\r\n }\r\n }\r\n validateMaxFileSize(size) {\r\n if (this._maxFileSize && size > this._maxFileSize) {\r\n throw new FileSystemError(ErrorCode.MaxFileSizeExceeded, null)\r\n }\r\n }\r\n _isValidExtension(name) {\r\n if (0 === this._allowedFileExtensions.length) {\r\n return true\r\n }\r\n var extension = getFileExtension(name).toUpperCase();\r\n return this._extensionsMap[extension]\r\n }\r\n get _allowedFileExtensions() {\r\n return this._options.allowedFileExtensions\r\n }\r\n get _maxFileSize() {\r\n return this._options.maxFileSize\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/file_manager/ui.file_manager.command_manager.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport messageLocalization from \"../../localization/message\";\r\nexport var defaultPermissions = {\r\n create: false,\r\n copy: false,\r\n move: false,\r\n delete: false,\r\n rename: false,\r\n upload: false,\r\n download: false\r\n};\r\nexport class FileManagerCommandManager {\r\n constructor(permissions) {\r\n this._actions = {};\r\n this._permissions = permissions || {};\r\n this._initCommands()\r\n }\r\n _initCommands() {\r\n this._commands = [{\r\n name: \"create\",\r\n text: messageLocalization.format(\"dxFileManager-commandCreate\"),\r\n icon: \"newfolder\",\r\n enabled: this._permissions.create,\r\n noFileItemRequired: true\r\n }, {\r\n name: \"rename\",\r\n text: messageLocalization.format(\"dxFileManager-commandRename\"),\r\n icon: \"rename\",\r\n enabled: this._permissions.rename,\r\n isSingleFileItemCommand: true\r\n }, {\r\n name: \"move\",\r\n text: messageLocalization.format(\"dxFileManager-commandMove\"),\r\n icon: \"movetofolder\",\r\n enabled: this._permissions.move\r\n }, {\r\n name: \"copy\",\r\n text: messageLocalization.format(\"dxFileManager-commandCopy\"),\r\n icon: \"copy\",\r\n enabled: this._permissions.copy\r\n }, {\r\n name: \"delete\",\r\n text: messageLocalization.format(\"dxFileManager-commandDelete\"),\r\n icon: \"trash\",\r\n enabled: this._permissions.delete\r\n }, {\r\n name: \"download\",\r\n text: messageLocalization.format(\"dxFileManager-commandDownload\"),\r\n icon: \"download\",\r\n enabled: this._permissions.download\r\n }, {\r\n name: \"upload\",\r\n text: messageLocalization.format(\"dxFileManager-commandUpload\"),\r\n icon: \"upload\",\r\n enabled: this._permissions.upload,\r\n noFileItemRequired: true\r\n }, {\r\n name: \"refresh\",\r\n text: messageLocalization.format(\"dxFileManager-commandRefresh\"),\r\n icon: \"dx-filemanager-i dx-filemanager-i-refresh\",\r\n enabled: true,\r\n noFileItemRequired: true\r\n }, {\r\n name: \"thumbnails\",\r\n text: messageLocalization.format(\"dxFileManager-commandThumbnails\"),\r\n icon: \"mediumiconslayout\",\r\n enabled: true,\r\n noFileItemRequired: true\r\n }, {\r\n name: \"details\",\r\n text: messageLocalization.format(\"dxFileManager-commandDetails\"),\r\n icon: \"detailslayout\",\r\n enabled: true,\r\n noFileItemRequired: true\r\n }, {\r\n name: \"clearSelection\",\r\n text: messageLocalization.format(\"dxFileManager-commandClearSelection\"),\r\n icon: \"remove\",\r\n enabled: true\r\n }, {\r\n name: \"showNavPane\",\r\n hint: messageLocalization.format(\"dxFileManager-commandShowNavPane\"),\r\n icon: \"menu\",\r\n enabled: false,\r\n noFileItemRequired: true\r\n }];\r\n this._commandMap = {};\r\n this._commands.forEach(command => {\r\n this._commandMap[command.name] = command\r\n })\r\n }\r\n registerActions(actions) {\r\n this._actions = extend(this._actions, actions)\r\n }\r\n executeCommand(command, arg) {\r\n var commandName = isString(command) ? command : command.name;\r\n var action = this._actions[commandName];\r\n if (action) {\r\n return action(arg)\r\n }\r\n }\r\n updatePermissions(permissions) {\r\n var resultPermissions = extend({}, defaultPermissions, permissions);\r\n this._permissions = resultPermissions;\r\n each(this._permissions, permission => {\r\n this._commandMap[permission].enabled = this._permissions[permission]\r\n })\r\n }\r\n setCommandEnabled(commandName, enabled) {\r\n var command = this.getCommandByName(commandName);\r\n if (command) {\r\n command.enabled = enabled\r\n }\r\n }\r\n getCommandByName(name) {\r\n return this._commandMap[name]\r\n }\r\n isCommandAvailable(commandName, itemInfos) {\r\n var command = this.getCommandByName(commandName);\r\n if (!command || !command.enabled) {\r\n return false\r\n }\r\n if (command.noFileItemRequired) {\r\n return true\r\n }\r\n var itemsLength = itemInfos && itemInfos.length || 0;\r\n if (0 === itemsLength || itemInfos.some(item => item.fileItem.isRoot() || item.fileItem.isParentFolder)) {\r\n return false\r\n }\r\n if (\"download\" === commandName) {\r\n return itemInfos.every(itemInfo => !itemInfo.fileItem.isDirectory)\r\n }\r\n return !command.isSingleFileItemCommand || 1 === itemsLength\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/file_manager/ui.file_manager.context_menu.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isDefined,\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n ensureDefined\r\n} from \"../../core/utils/common\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport ContextMenu from \"../context_menu/ui.context_menu\";\r\nimport {\r\n extendAttributes\r\n} from \"./ui.file_manager.common\";\r\nvar FILEMANAGER_CONTEXT_MEMU_CLASS = \"dx-filemanager-context-menu\";\r\nvar DEFAULT_CONTEXT_MENU_ITEMS = {\r\n create: {},\r\n upload: {},\r\n download: {},\r\n rename: {},\r\n move: {},\r\n copy: {},\r\n delete: {},\r\n refresh: {\r\n beginGroup: true\r\n }\r\n};\r\nvar DEFAULT_ITEM_ALLOWED_PROPERTIES = [\"beginGroup\", \"closeMenuOnClick\", \"disabled\", \"icon\", \"selectable\", \"selected\", \"text\", \"visible\"];\r\nclass FileManagerContextMenu extends Widget {\r\n _initMarkup() {\r\n this._initActions();\r\n this._isVisible = false;\r\n var $menu = $(\"<div>\").appendTo(this.$element());\r\n this._contextMenu = this._createComponent($menu, ContextMenu, {\r\n cssClass: FILEMANAGER_CONTEXT_MEMU_CLASS,\r\n showEvent: \"\",\r\n onItemClick: args => this._onContextMenuItemClick(args.itemData.name, args),\r\n onShowing: e => this._onContextMenuShowing(e),\r\n onShown: () => this._onContextMenuShown(),\r\n onHidden: () => this._onContextMenuHidden()\r\n });\r\n super._initMarkup()\r\n }\r\n showAt(fileItems, element, event, target) {\r\n var {\r\n itemData: itemData,\r\n itemElement: itemElement,\r\n isActionButton: isActionButton = false\r\n } = target;\r\n if (this._isVisible) {\r\n this._onContextMenuHidden()\r\n }\r\n this._menuShowingContext = {\r\n targetElement: itemElement,\r\n itemData: itemData,\r\n fileItems: fileItems,\r\n event: event,\r\n isActionButton: isActionButton\r\n };\r\n var position = {\r\n of: element,\r\n at: \"top left\",\r\n my: \"top left\",\r\n offset: \"\"\r\n };\r\n if (event) {\r\n position.offset = event.offsetX + \" \" + event.offsetY\r\n } else {\r\n position.my = \"left top\";\r\n position.at = \"left bottom\";\r\n position.boundaryOffset = \"1\"\r\n }\r\n this._contextMenu.option({\r\n target: element,\r\n position: position\r\n });\r\n this._contextMenu.show()\r\n }\r\n createContextMenuItems(fileItems, contextMenuItems, targetFileItem) {\r\n this._targetFileItems = fileItems;\r\n this._targetFileItem = isDefined(targetFileItem) ? targetFileItem : null === fileItems || void 0 === fileItems ? void 0 : fileItems[0];\r\n var result = [];\r\n var itemArray = contextMenuItems || this.option(\"items\");\r\n itemArray.forEach(srcItem => {\r\n var commandName = isString(srcItem) ? srcItem : srcItem.name;\r\n var item = this._configureItemByCommandName(commandName, srcItem, fileItems, this._targetFileItem);\r\n if (this._isContextMenuItemAvailable(item, fileItems)) {\r\n result.push(item)\r\n }\r\n });\r\n return result\r\n }\r\n _isContextMenuItemAvailable(menuItem, fileItems) {\r\n if (!this._isDefaultItem(menuItem.name) || !menuItem._autoHide) {\r\n return ensureDefined(menuItem.visible, true)\r\n }\r\n if (this._isIsolatedCreationItemCommand(menuItem.name) && fileItems && fileItems.length) {\r\n return false\r\n }\r\n return this._commandManager.isCommandAvailable(menuItem.name, fileItems)\r\n }\r\n _isIsolatedCreationItemCommand(commandName) {\r\n return (\"create\" === commandName || \"upload\" === commandName) && this.option(\"isolateCreationItemCommands\")\r\n }\r\n _isDefaultItem(commandName) {\r\n return !!DEFAULT_CONTEXT_MENU_ITEMS[commandName]\r\n }\r\n _configureItemByCommandName(commandName, item, fileItems, targetFileItem) {\r\n if (!this._isDefaultItem(commandName)) {\r\n var res = extend(true, {}, item);\r\n res.originalItemData = item;\r\n this._addItemClickHandler(commandName, res);\r\n if (Array.isArray(item.items)) {\r\n res.items = this.createContextMenuItems(fileItems, item.items, targetFileItem)\r\n }\r\n return res\r\n }\r\n var result = this._createMenuItemByCommandName(commandName);\r\n var defaultConfig = DEFAULT_CONTEXT_MENU_ITEMS[commandName];\r\n extend(result, defaultConfig);\r\n result.originalItemData = item;\r\n extendAttributes(result, item, DEFAULT_ITEM_ALLOWED_PROPERTIES);\r\n if (!isDefined(result.visible)) {\r\n result._autoHide = true\r\n }\r\n if (commandName && !result.name) {\r\n extend(result, {\r\n name: commandName\r\n })\r\n }\r\n return result\r\n }\r\n _createMenuItemByCommandName(commandName) {\r\n var {\r\n text: text,\r\n icon: icon\r\n } = this._commandManager.getCommandByName(commandName);\r\n var menuItem = {\r\n name: commandName,\r\n text: text,\r\n icon: icon\r\n };\r\n this._addItemClickHandler(commandName, menuItem);\r\n return menuItem\r\n }\r\n _addItemClickHandler(commandName, contextMenuItem) {\r\n contextMenuItem.onItemClick = args => this._onContextMenuItemClick(commandName, args)\r\n }\r\n _onContextMenuItemClick(commandName, args) {\r\n var _this$_targetFileItem;\r\n var changedArgs = extend(true, {}, args);\r\n changedArgs.itemData = args.itemData.originalItemData;\r\n changedArgs.fileSystemItem = null === (_this$_targetFileItem = this._targetFileItem) || void 0 === _this$_targetFileItem ? void 0 : _this$_targetFileItem.fileItem;\r\n changedArgs.viewArea = this.option(\"viewArea\");\r\n this._actions.onItemClick(changedArgs);\r\n if (this._isDefaultItem(commandName)) {\r\n var targetFileItems = this._isIsolatedCreationItemCommand(commandName) ? null : this._targetFileItems;\r\n this._commandManager.executeCommand(commandName, targetFileItems)\r\n }\r\n }\r\n _initActions() {\r\n this._actions = {\r\n onContextMenuHidden: this._createActionByOption(\"onContextMenuHidden\"),\r\n onContextMenuShowing: this._createActionByOption(\"onContextMenuShowing\"),\r\n onItemClick: this._createActionByOption(\"onItemClick\")\r\n }\r\n }\r\n _onContextMenuShowing(e) {\r\n if (this._isVisible) {\r\n this._onContextMenuHidden(true)\r\n }\r\n e = extend(e, this._menuShowingContext, {\r\n options: this.option(),\r\n cancel: false\r\n });\r\n this._actions.onContextMenuShowing(e);\r\n if (!e.cancel) {\r\n var items = this.createContextMenuItems(this._menuShowingContext.fileItems, null, this._menuShowingContext.fileSystemItem);\r\n this._contextMenu.option(\"dataSource\", items)\r\n }\r\n }\r\n tryUpdateVisibleContextMenu() {\r\n if (this._isVisible) {\r\n var items = this.createContextMenuItems(this._targetFileItems);\r\n this._contextMenu.option(\"dataSource\", items)\r\n }\r\n }\r\n _onContextMenuShown() {\r\n this._isVisible = true\r\n }\r\n _onContextMenuHidden(preserveContext) {\r\n this._isVisible = false;\r\n if (!preserveContext) {\r\n this._menuShowingContext = {}\r\n }\r\n this._contextMenu.option(\"visible\", false);\r\n this._raiseContextMenuHidden()\r\n }\r\n _raiseContextMenuHidden() {\r\n this._actions.onContextMenuHidden()\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n commandManager: null,\r\n onContextMenuHidden: null,\r\n onItemClick: null\r\n })\r\n }\r\n _optionChanged(args) {\r\n var name = args.name;\r\n switch (name) {\r\n case \"commandManager\":\r\n this.repaint();\r\n break;\r\n case \"items\":\r\n this.tryUpdateVisibleContextMenu();\r\n break;\r\n case \"onItemClick\":\r\n case \"onContextMenuShowing\":\r\n case \"onContextMenuHidden\":\r\n this._actions[name] = this._createActionByOption(name);\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n get _commandManager() {\r\n return this.option(\"commandManager\")\r\n }\r\n}\r\nexport default FileManagerContextMenu;\r\n","/**\r\n * DevExtreme (esm/ui/file_manager/ui.file_manager.file_actions_button.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport Button from \"../button\";\r\nvar FILE_MANAGER_FILE_ACTIONS_BUTTON = \"dx-filemanager-file-actions-button\";\r\nvar FILE_MANAGER_FILE_ACTIONS_BUTTON_ACTIVATED = \"dx-filemanager-file-actions-button-activated\";\r\nvar ACTIVE_STATE_CLASS = \"dx-state-active\";\r\nclass FileManagerFileActionsButton extends Widget {\r\n _initMarkup() {\r\n this._createClickAction();\r\n var $button = $(\"<div>\");\r\n this.$element().append($button).addClass(FILE_MANAGER_FILE_ACTIONS_BUTTON);\r\n this._button = this._createComponent($button, Button, {\r\n icon: \"overflow\",\r\n stylingMode: \"text\",\r\n onClick: e => this._raiseClick(e)\r\n });\r\n super._initMarkup()\r\n }\r\n _createClickAction() {\r\n this._clickAction = this._createActionByOption(\"onClick\")\r\n }\r\n _raiseClick(e) {\r\n this._clickAction(e)\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n cssClass: \"\",\r\n onClick: null\r\n })\r\n }\r\n _optionChanged(args) {\r\n var name = args.name;\r\n switch (name) {\r\n case \"cssClass\":\r\n this.repaint();\r\n break;\r\n case \"onClick\":\r\n this._createClickAction();\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n setActive(active) {\r\n this.$element().toggleClass(FILE_MANAGER_FILE_ACTIONS_BUTTON_ACTIVATED, active);\r\n setTimeout(() => this._button.$element().toggleClass(ACTIVE_STATE_CLASS, active))\r\n }\r\n}\r\nexport default FileManagerFileActionsButton;\r\n","/**\r\n * DevExtreme (esm/ui/file_manager/ui.file_manager.files_tree_view.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n getImageContainer\r\n} from \"../../core/utils/icon\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport TreeViewSearch from \"../tree_view/ui.tree_view.search\";\r\nimport FileManagerFileActionsButton from \"./ui.file_manager.file_actions_button\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n isNumeric\r\n} from \"../../core/utils/type\";\r\nvar FILE_MANAGER_DIRS_TREE_CLASS = \"dx-filemanager-dirs-tree\";\r\nvar FILE_MANAGER_DIRS_TREE_FOCUSED_ITEM_CLASS = \"dx-filemanager-focused-item\";\r\nvar FILE_MANAGER_DIRS_TREE_ITEM_TEXT_CLASS = \"dx-filemanager-dirs-tree-item-text\";\r\nvar TREE_VIEW_ITEM_CLASS = \"dx-treeview-item\";\r\nclass FileManagerFilesTreeView extends Widget {\r\n _initMarkup() {\r\n this._initActions();\r\n this._getCurrentDirectory = this.option(\"getCurrentDirectory\");\r\n this._createFileActionsButton = noop;\r\n this._storeExpandedState = this.option(\"storeExpandedState\") || false;\r\n var $treeView = $(\"<div>\").addClass(FILE_MANAGER_DIRS_TREE_CLASS).appendTo(this.$element());\r\n var treeViewOptions = {\r\n dataStructure: \"plain\",\r\n rootValue: \"\",\r\n createChildren: this._onFilesTreeViewCreateSubDirectories.bind(this),\r\n itemTemplate: this._createFilesTreeViewItemTemplate.bind(this),\r\n keyExpr: \"getInternalKey\",\r\n parentIdExpr: \"parentDirectory.getInternalKey\",\r\n displayExpr: itemInfo => itemInfo.getDisplayName(),\r\n hasItemsExpr: \"fileItem.hasSubDirectories\",\r\n onItemClick: e => this._actions.onDirectoryClick(e),\r\n onItemExpanded: e => this._onFilesTreeViewItemExpanded(e),\r\n onItemCollapsed: e => this._onFilesTreeViewItemCollapsed(e),\r\n onItemRendered: e => this._onFilesTreeViewItemRendered(e),\r\n onContentReady: () => this._actions.onFilesTreeViewContentReady()\r\n };\r\n if (this._contextMenu) {\r\n this._contextMenu.option(\"onContextMenuHidden\", () => this._onContextMenuHidden());\r\n treeViewOptions.onItemContextMenu = e => this._onFilesTreeViewItemContextMenu(e);\r\n this._createFileActionsButton = (element, options) => this._createComponent(element, FileManagerFileActionsButton, options)\r\n }\r\n this._filesTreeView = this._createComponent($treeView, TreeViewSearch, treeViewOptions)\r\n }\r\n _initActions() {\r\n this._actions = {\r\n onDirectoryClick: this._createActionByOption(\"onDirectoryClick\"),\r\n onFilesTreeViewContentReady: this._createActionByOption(\"onFilesTreeViewContentReady\")\r\n }\r\n }\r\n _render() {\r\n super._render();\r\n var that = this;\r\n setTimeout(() => {\r\n that._updateFocusedElement()\r\n })\r\n }\r\n _onFilesTreeViewCreateSubDirectories(rootItem) {\r\n var getDirectories = this.option(\"getDirectories\");\r\n var directoryInfo = rootItem && rootItem.itemData || null;\r\n return getDirectories && getDirectories(directoryInfo, true)\r\n }\r\n _onFilesTreeViewItemRendered(_ref) {\r\n var {\r\n itemData: itemData\r\n } = _ref;\r\n var currentDirectory = this._getCurrentDirectory();\r\n if (currentDirectory && currentDirectory.fileItem.equals(itemData.fileItem)) {\r\n this._updateFocusedElement();\r\n this._restoreScrollTopPosition()\r\n }\r\n }\r\n _onFilesTreeViewItemExpanded(_ref2) {\r\n var {\r\n itemData: itemData\r\n } = _ref2;\r\n if (this._storeExpandedState) {\r\n itemData.expanded = true\r\n }\r\n }\r\n _onFilesTreeViewItemCollapsed(_ref3) {\r\n var {\r\n itemData: itemData\r\n } = _ref3;\r\n if (this._storeExpandedState) {\r\n itemData.expanded = false\r\n }\r\n }\r\n _createFilesTreeViewItemTemplate(itemData, itemIndex, itemElement) {\r\n var $itemElement = $(itemElement);\r\n var $itemWrapper = $itemElement.closest(this._filesTreeViewItemSelector);\r\n $itemWrapper.data(\"item\", itemData);\r\n var $image = getImageContainer(itemData.icon);\r\n var $text = $(\"<span>\").text(itemData.getDisplayName()).addClass(FILE_MANAGER_DIRS_TREE_ITEM_TEXT_CLASS);\r\n var $button = $(\"<div>\");\r\n $itemElement.append($image, $text, $button);\r\n this._createFileActionsButton($button, {\r\n onClick: e => this._onFileItemActionButtonClick(e)\r\n })\r\n }\r\n _onFilesTreeViewItemContextMenu(_ref4) {\r\n var {\r\n itemElement: itemElement,\r\n event: event\r\n } = _ref4;\r\n event.preventDefault();\r\n event.stopPropagation();\r\n var itemData = $(itemElement).data(\"item\");\r\n this._contextMenu.showAt([itemData], itemElement, event, {\r\n itemData: itemData,\r\n itemElement: itemElement\r\n })\r\n }\r\n _onFileItemActionButtonClick(_ref5) {\r\n var {\r\n component: component,\r\n element: element,\r\n event: event\r\n } = _ref5;\r\n event.stopPropagation();\r\n var itemElement = component.$element().closest(this._filesTreeViewItemSelector);\r\n var itemData = itemElement.data(\"item\");\r\n var target = {\r\n itemData: itemData,\r\n itemElement: itemElement,\r\n isActionButton: true\r\n };\r\n this._contextMenu.showAt([itemData], element, event, target);\r\n this._activeFileActionsButton = component;\r\n this._activeFileActionsButton.setActive(true)\r\n }\r\n _onContextMenuHidden() {\r\n if (this._activeFileActionsButton) {\r\n this._activeFileActionsButton.setActive(false)\r\n }\r\n }\r\n toggleNodeDisabledState(key, state) {\r\n var node = this._getNodeByKey(key);\r\n if (!node) {\r\n return\r\n }\r\n var items = this._filesTreeView.option(\"items\");\r\n var itemIndex = items.map(item => item.getInternalKey()).indexOf(node.getInternalKey());\r\n if (-1 !== itemIndex) {\r\n this._filesTreeView.option(\"items[\".concat(itemIndex, \"].disabled\"), state)\r\n }\r\n }\r\n _saveScrollTopPosition() {\r\n if (!hasWindow()) {\r\n return\r\n }\r\n this._scrollTopPosition = this._filesTreeView.getScrollable().scrollTop()\r\n }\r\n _restoreScrollTopPosition() {\r\n if (!hasWindow() || !isNumeric(this._scrollTopPosition)) {\r\n return\r\n }\r\n setTimeout(() => this._filesTreeView.getScrollable().scrollTo(this._scrollTopPosition))\r\n }\r\n _updateFocusedElement() {\r\n var directoryInfo = this._getCurrentDirectory();\r\n var $element = this._getItemElementByKey(null === directoryInfo || void 0 === directoryInfo ? void 0 : directoryInfo.getInternalKey());\r\n if (this._$focusedElement) {\r\n this._$focusedElement.toggleClass(FILE_MANAGER_DIRS_TREE_FOCUSED_ITEM_CLASS, false)\r\n }\r\n this._$focusedElement = $element || $();\r\n this._$focusedElement.toggleClass(FILE_MANAGER_DIRS_TREE_FOCUSED_ITEM_CLASS, true)\r\n }\r\n _getNodeByKey(key) {\r\n var _this$_filesTreeView;\r\n return null === (_this$_filesTreeView = this._filesTreeView) || void 0 === _this$_filesTreeView ? void 0 : _this$_filesTreeView._getNode(key)\r\n }\r\n _getPublicNode(key) {\r\n var _this$_filesTreeView2;\r\n var nodesQueue = [...null === (_this$_filesTreeView2 = this._filesTreeView) || void 0 === _this$_filesTreeView2 ? void 0 : _this$_filesTreeView2.getNodes()];\r\n while (nodesQueue.length) {\r\n var node = nodesQueue.shift();\r\n if (node.itemData.getInternalKey() === key) {\r\n return node\r\n } else if (node.children.length) {\r\n nodesQueue.push(...node.children)\r\n }\r\n }\r\n return\r\n }\r\n _getItemElementByKey(key) {\r\n var node = this._getNodeByKey(key);\r\n if (node) {\r\n var $node = this._filesTreeView._getNodeElement(node);\r\n if ($node) {\r\n return $node.children(this._filesTreeViewItemSelector)\r\n }\r\n }\r\n return null\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n storeExpandedState: false,\r\n initialFolder: null,\r\n contextMenu: null,\r\n getItems: null,\r\n getCurrentDirectory: null,\r\n onDirectoryClick: null\r\n })\r\n }\r\n _optionChanged(args) {\r\n var name = args.name;\r\n switch (name) {\r\n case \"storeExpandedState\":\r\n this._storeExpandedState = this.option(name);\r\n break;\r\n case \"getItems\":\r\n case \"rootFolderDisplayName\":\r\n case \"initialFolder\":\r\n case \"contextMenu\":\r\n this.repaint();\r\n break;\r\n case \"getCurrentDirectory\":\r\n this.getCurrentDirectory = this.option(name);\r\n break;\r\n case \"onDirectoryClick\":\r\n case \"onFilesTreeViewContentReady\":\r\n this._actions[name] = this._createActionByOption(name);\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n get _filesTreeViewItemSelector() {\r\n return \".\".concat(TREE_VIEW_ITEM_CLASS)\r\n }\r\n get _contextMenu() {\r\n return this.option(\"contextMenu\")\r\n }\r\n toggleDirectoryExpandedState(directoryInfo, state) {\r\n var deferred = new Deferred;\r\n var treeViewNode = this._getPublicNode(null === directoryInfo || void 0 === directoryInfo ? void 0 : directoryInfo.getInternalKey());\r\n if (!treeViewNode) {\r\n return deferred.reject().promise()\r\n }\r\n if (treeViewNode.expanded === state || treeViewNode.itemsLoaded && !treeViewNode.itemData.fileItem.hasSubDirectories) {\r\n return deferred.resolve().promise()\r\n }\r\n var action = state ? \"expandItem\" : \"collapseItem\";\r\n return this._filesTreeView[action](directoryInfo.getInternalKey())\r\n }\r\n refresh() {\r\n this._$focusedElement = null;\r\n this._saveScrollTopPosition();\r\n this._filesTreeView.option(\"dataSource\", [])\r\n }\r\n updateCurrentDirectory() {\r\n if (this._disposed) {\r\n return\r\n }\r\n this._updateFocusedElement();\r\n this._storeExpandedState && this._updateExpandedStateToCurrentDirectory()\r\n }\r\n _updateExpandedStateToCurrentDirectory() {\r\n return this.toggleDirectoryExpandedStateRecursive(this._getCurrentDirectory().parentDirectory, true)\r\n }\r\n toggleDirectoryExpandedStateRecursive(directoryInfo, state) {\r\n var dirLine = [];\r\n for (var dirInfo = directoryInfo; dirInfo; dirInfo = dirInfo.parentDirectory) {\r\n dirLine.unshift(dirInfo)\r\n }\r\n return this.toggleDirectoryLineExpandedState(dirLine, state)\r\n }\r\n toggleDirectoryLineExpandedState(dirLine, state) {\r\n if (!dirLine.length) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n return this.toggleDirectoryExpandedState(dirLine.shift(), state).then(() => this.toggleDirectoryLineExpandedState(dirLine, state))\r\n }\r\n}\r\nexport default FileManagerFilesTreeView;\r\n","/**\r\n * DevExtreme (esm/ui/data_grid/ui.data_grid.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport DataGrid from \"../../__internal/grids/data_grid/m_widget\";\r\nexport default DataGrid;\r\n","/**\r\n * DevExtreme (esm/ui/file_manager/ui.file_manager.item_list.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n name as dblClickName\r\n} from \"../../events/double_click\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n getImageContainer\r\n} from \"../../core/utils/icon\";\r\nimport devices from \"../../core/devices\";\r\nimport CustomStore from \"../../data/custom_store\";\r\nimport Widget from \"../widget/ui.widget\";\r\nvar FILE_MANAGER_FILES_VIEW_CLASS = \"dx-filemanager-files-view\";\r\nvar FILE_MANAGER_ITEM_LIST_ITEM_OPEN_EVENT_NAMESPACE = \"dxFileManager_open\";\r\nclass FileManagerItemListBase extends Widget {\r\n _init() {\r\n this._initActions();\r\n this._lockFocusedItemProcessing = false;\r\n this._focusedItemKey = this.option(\"focusedItemKey\");\r\n super._init()\r\n }\r\n _initMarkup() {\r\n this._needResetScrollPosition = false;\r\n this.$element().addClass(FILE_MANAGER_FILES_VIEW_CLASS);\r\n var dblClickEventName = addNamespace(dblClickName, FILE_MANAGER_ITEM_LIST_ITEM_OPEN_EVENT_NAMESPACE);\r\n eventsEngine.on(this.$element(), dblClickEventName, this._getItemSelector(), this._onItemDblClick.bind(this));\r\n super._initMarkup()\r\n }\r\n _initActions() {\r\n this._actions = {\r\n onError: this._createActionByOption(\"onError\"),\r\n onSelectionChanged: this._createActionByOption(\"onSelectionChanged\"),\r\n onFocusedItemChanged: this._createActionByOption(\"onFocusedItemChanged\"),\r\n onSelectedItemOpened: this._createActionByOption(\"onSelectedItemOpened\"),\r\n onContextMenuShowing: this._createActionByOption(\"onContextMenuShowing\"),\r\n onItemListDataLoaded: this._createActionByOption(\"onItemListDataLoaded\")\r\n }\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n selectionMode: \"single\",\r\n selectedItemKeys: [],\r\n focusedItemKey: void 0,\r\n contextMenu: null,\r\n getItems: null,\r\n getItemThumbnail: null,\r\n onError: null,\r\n onSelectionChanged: null,\r\n onFocusedItemChanged: null,\r\n onSelectedItemOpened: null,\r\n onContextMenuShowing: null\r\n })\r\n }\r\n _optionChanged(args) {\r\n var name = args.name;\r\n switch (name) {\r\n case \"selectionMode\":\r\n case \"contextMenu\":\r\n case \"getItems\":\r\n case \"getItemThumbnail\":\r\n this.repaint();\r\n break;\r\n case \"selectedItemKeys\":\r\n this._setSelectedItemKeys(args.value);\r\n break;\r\n case \"focusedItemKey\":\r\n if (!this._lockFocusedItemProcessing) {\r\n this._setFocusedItemKey(args.value)\r\n }\r\n break;\r\n case \"onError\":\r\n case \"onSelectedItemOpened\":\r\n case \"onSelectionChanged\":\r\n case \"onFocusedItemChanged\":\r\n case \"onContextMenuShowing\":\r\n case \"onItemListDataLoaded\":\r\n this._actions[name] = this._createActionByOption(name);\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _getItems() {\r\n return this._getItemsInternal().done(itemInfos => {\r\n this._itemCount = itemInfos.length;\r\n if (0 === this._itemCount) {\r\n this._resetFocus()\r\n }\r\n var parentDirectoryItem = this._findParentDirectoryItem(itemInfos);\r\n this._hasParentDirectoryItem = !!parentDirectoryItem;\r\n this._parentDirectoryItemKey = parentDirectoryItem ? parentDirectoryItem.fileItem.key : null\r\n }).always(() => {\r\n this._onDataLoaded()\r\n })\r\n }\r\n _getItemsInternal() {\r\n var itemsGetter = this.option(\"getItems\");\r\n var itemsResult = itemsGetter ? itemsGetter() : [];\r\n return when(itemsResult)\r\n }\r\n _raiseOnError(error) {\r\n this._actions.onError({\r\n error: error\r\n })\r\n }\r\n _raiseSelectionChanged(args) {\r\n this._actions.onSelectionChanged(args)\r\n }\r\n _raiseFocusedItemChanged(args) {\r\n this._actions.onFocusedItemChanged(args)\r\n }\r\n _raiseSelectedItemOpened(fileItemInfo) {\r\n this._actions.onSelectedItemOpened({\r\n fileItemInfo: fileItemInfo\r\n })\r\n }\r\n _raiseContextMenuShowing(e) {\r\n this._actions.onContextMenuShowing(e)\r\n }\r\n _raiseItemListDataLoaded() {\r\n this._actions.onItemListDataLoaded()\r\n }\r\n _onDataLoaded() {\r\n var _this$_refreshDeferre;\r\n this._raiseItemListDataLoaded();\r\n null === (_this$_refreshDeferre = this._refreshDeferred) || void 0 === _this$_refreshDeferre ? void 0 : _this$_refreshDeferre.resolve()\r\n }\r\n _onContentReady() {\r\n if (this._needResetScrollPosition) {\r\n this._resetScrollTopPosition();\r\n this._needResetScrollPosition = false\r\n }\r\n }\r\n _tryRaiseSelectionChanged(_ref) {\r\n var {\r\n selectedItemInfos: selectedItemInfos,\r\n selectedItems: selectedItems,\r\n selectedItemKeys: selectedItemKeys,\r\n currentSelectedItemKeys: currentSelectedItemKeys,\r\n currentDeselectedItemKeys: currentDeselectedItemKeys\r\n } = _ref;\r\n var parentDirectoryItem = this._findParentDirectoryItem(this.getSelectedItems());\r\n if (parentDirectoryItem) {\r\n this._deselectItem(parentDirectoryItem)\r\n }\r\n var raiseEvent = !this._hasParentDirectoryItem;\r\n raiseEvent = raiseEvent || this._hasValidKeys(currentSelectedItemKeys) || this._hasValidKeys(currentDeselectedItemKeys);\r\n if (raiseEvent) {\r\n selectedItemInfos = this._filterOutItemByPredicate(selectedItemInfos, item => item.fileItem.key === this._parentDirectoryItemKey);\r\n selectedItems = this._filterOutParentDirectory(selectedItems);\r\n selectedItemKeys = this._filterOutParentDirectoryKey(selectedItemKeys, true);\r\n currentSelectedItemKeys = this._filterOutParentDirectoryKey(currentSelectedItemKeys, true);\r\n currentDeselectedItemKeys = this._filterOutParentDirectoryKey(currentDeselectedItemKeys, true);\r\n this._raiseSelectionChanged({\r\n selectedItemInfos: selectedItemInfos,\r\n selectedItems: selectedItems,\r\n selectedItemKeys: selectedItemKeys,\r\n currentSelectedItemKeys: currentSelectedItemKeys,\r\n currentDeselectedItemKeys: currentDeselectedItemKeys\r\n })\r\n }\r\n }\r\n _onFocusedItemChanged(args) {\r\n if (this._focusedItemKey === args.itemKey) {\r\n return\r\n }\r\n this._focusedItemKey = args.itemKey;\r\n this._lockFocusedItemProcessing = true;\r\n this.option(\"focusedItemKey\", args.itemKey);\r\n this._lockFocusedItemProcessing = false;\r\n this._raiseFocusedItemChanged(args)\r\n }\r\n _resetFocus() {}\r\n _resetScrollTopPosition() {\r\n if (!hasWindow()) {\r\n return\r\n }\r\n setTimeout(() => {\r\n var _this$_getScrollable;\r\n return null === (_this$_getScrollable = this._getScrollable()) || void 0 === _this$_getScrollable ? void 0 : _this$_getScrollable.scrollTo(0)\r\n })\r\n }\r\n _getScrollable() {}\r\n _getItemThumbnail(fileInfo) {\r\n var itemThumbnailGetter = this.option(\"getItemThumbnail\");\r\n return itemThumbnailGetter ? itemThumbnailGetter(fileInfo) : {\r\n thumbnail: \"\"\r\n }\r\n }\r\n _getItemThumbnailContainer(fileInfo) {\r\n var {\r\n thumbnail: thumbnail,\r\n cssClass: cssClass\r\n } = this._getItemThumbnail(fileInfo);\r\n var $itemThumbnail = getImageContainer(thumbnail).addClass(this._getItemThumbnailCssClass());\r\n if (cssClass) {\r\n $itemThumbnail.addClass(cssClass)\r\n }\r\n return $itemThumbnail\r\n }\r\n _getItemThumbnailCssClass() {\r\n return \"\"\r\n }\r\n _getItemSelector() {}\r\n _onItemDblClick(e) {}\r\n _isDesktop() {\r\n return \"desktop\" === devices.real().deviceType\r\n }\r\n _showContextMenu(items, element, event, target) {\r\n this._contextMenu.showAt(items, element, event, target)\r\n }\r\n get _contextMenu() {\r\n return this.option(\"contextMenu\")\r\n }\r\n _findParentDirectoryItem(itemInfos) {\r\n for (var i = 0; i < itemInfos.length; i++) {\r\n var itemInfo = itemInfos[i];\r\n if (this._isParentDirectoryItem(itemInfo)) {\r\n return itemInfo\r\n }\r\n }\r\n return null\r\n }\r\n _getFileItemsForContextMenu(fileItem) {\r\n var result = this.getSelectedItems();\r\n if (this._isParentDirectoryItem(fileItem)) {\r\n result.push(fileItem)\r\n }\r\n return result\r\n }\r\n _isParentDirectoryItem(itemInfo) {\r\n return itemInfo.fileItem.isParentFolder\r\n }\r\n _hasValidKeys(keys) {\r\n return keys.length > 1 || 1 === keys.length && keys[0] !== this._parentDirectoryItemKey\r\n }\r\n _filterOutParentDirectory(array, createNewArray) {\r\n return this._filterOutItemByPredicate(array, item => item.key === this._parentDirectoryItemKey, createNewArray)\r\n }\r\n _filterOutParentDirectoryKey(array, createNewArray) {\r\n return this._filterOutItemByPredicate(array, key => key === this._parentDirectoryItemKey, createNewArray)\r\n }\r\n _filterOutItemByPredicate(array, predicate, createNewArray) {\r\n var result = array;\r\n var index = -1;\r\n for (var i = 0; i < array.length; i++) {\r\n if (predicate(array[i])) {\r\n index = i;\r\n break\r\n }\r\n }\r\n if (-1 !== index) {\r\n if (createNewArray) {\r\n result = [...array]\r\n }\r\n result.splice(index, 1)\r\n }\r\n return result\r\n }\r\n _isMultipleSelectionMode() {\r\n return \"multiple\" === this.option(\"selectionMode\")\r\n }\r\n _deselectItem(item) {}\r\n _setSelectedItemKeys(itemKeys) {}\r\n _setFocusedItemKey(itemKey) {}\r\n _createDataSource() {\r\n return {\r\n store: new CustomStore({\r\n key: \"fileItem.key\",\r\n load: this._getItems.bind(this)\r\n })\r\n }\r\n }\r\n getSelectedItems() {}\r\n clearSelection() {}\r\n selectItem() {}\r\n refresh(options, operation) {}\r\n}\r\nexport default FileManagerItemListBase;\r\n","/**\r\n * DevExtreme (esm/ui/file_manager/ui.file_manager.item_list.details.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n extendAttributes,\r\n getDisplayFileSize\r\n} from \"./ui.file_manager.common\";\r\nimport {\r\n isString,\r\n isFunction,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport DataGrid from \"../data_grid/ui.data_grid\";\r\nimport FileManagerItemListBase from \"./ui.file_manager.item_list\";\r\nimport FileManagerFileActionsButton from \"./ui.file_manager.file_actions_button\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n OPERATIONS\r\n} from \"./file_items_controller\";\r\nvar FILE_MANAGER_DETAILS_ITEM_LIST_CLASS = \"dx-filemanager-details\";\r\nvar FILE_MANAGER_DETAILS_ITEM_THUMBNAIL_CLASS = \"dx-filemanager-details-item-thumbnail\";\r\nvar FILE_MANAGER_DETAILS_ITEM_NAME_CLASS = \"dx-filemanager-details-item-name\";\r\nvar FILE_MANAGER_DETAILS_ITEM_NAME_WRAPPER_CLASS = \"dx-filemanager-details-item-name-wrapper\";\r\nvar FILE_MANAGER_DETAILS_ITEM_IS_DIRECTORY_CLASS = \"dx-filemanager-details-item-is-directory\";\r\nvar FILE_MANAGER_PARENT_DIRECTORY_ITEM = \"dx-filemanager-parent-directory-item\";\r\nvar DATA_GRID_DATA_ROW_CLASS = \"dx-data-row\";\r\nvar DEFAULT_COLUMN_CONFIGS = {\r\n thumbnail: {\r\n caption: \"\",\r\n calculateSortValue: \"isDirectory\",\r\n width: 36,\r\n alignment: \"center\",\r\n cssClass: FILE_MANAGER_DETAILS_ITEM_IS_DIRECTORY_CLASS\r\n },\r\n name: {\r\n caption: messageLocalization.format(\"dxFileManager-listDetailsColumnCaptionName\")\r\n },\r\n dateModified: {\r\n caption: messageLocalization.format(\"dxFileManager-listDetailsColumnCaptionDateModified\"),\r\n width: 110,\r\n hidingPriority: 1\r\n },\r\n size: {\r\n caption: messageLocalization.format(\"dxFileManager-listDetailsColumnCaptionFileSize\"),\r\n width: 90,\r\n alignment: \"right\",\r\n hidingPriority: 0\r\n },\r\n isParentFolder: {\r\n caption: \"isParentFolder\",\r\n visible: false,\r\n sortIndex: 0,\r\n sortOrder: \"asc\"\r\n }\r\n};\r\nclass FileManagerDetailsItemList extends FileManagerItemListBase {\r\n _initMarkup() {\r\n this._itemCount = 0;\r\n this._focusedItem = null;\r\n this._hasParentDirectoryItem = false;\r\n this._parentDirectoryItemKey = null;\r\n this._selectAllCheckBox = null;\r\n this._selectAllCheckBoxUpdating = false;\r\n this.$element().addClass(FILE_MANAGER_DETAILS_ITEM_LIST_CLASS);\r\n this._createFilesView();\r\n this._contextMenu.option(\"onContextMenuHidden\", () => this._onContextMenuHidden());\r\n super._initMarkup()\r\n }\r\n _createFilesView() {\r\n var $filesView = $(\"<div>\").appendTo(this.$element());\r\n var selectionMode = this._isMultipleSelectionMode() ? \"multiple\" : \"none\";\r\n this._filesView = this._createComponent($filesView, DataGrid, {\r\n dataSource: this._createDataSource(),\r\n hoverStateEnabled: true,\r\n selection: {\r\n mode: selectionMode,\r\n showCheckBoxesMode: this._isDesktop() ? \"onClick\" : \"none\"\r\n },\r\n selectedRowKeys: this.option(\"selectedItemKeys\"),\r\n focusedRowKey: this.option(\"focusedItemKey\"),\r\n focusedRowEnabled: true,\r\n allowColumnResizing: true,\r\n scrolling: {\r\n mode: \"virtual\"\r\n },\r\n sorting: {\r\n mode: \"single\",\r\n showSortIndexes: false\r\n },\r\n loadPanel: {\r\n shading: true\r\n },\r\n showColumnLines: false,\r\n showRowLines: false,\r\n columnHidingEnabled: false,\r\n columns: this._createColumns(),\r\n onEditorPreparing: this._onEditorPreparing.bind(this),\r\n onRowPrepared: this._onRowPrepared.bind(this),\r\n onContextMenuPreparing: this._onContextMenuPreparing.bind(this),\r\n onSelectionChanged: this._onFilesViewSelectionChanged.bind(this),\r\n onFocusedRowChanged: this._onFilesViewFocusedRowChanged.bind(this),\r\n onOptionChanged: this._onFilesViewOptionChanged.bind(this),\r\n onContentReady: this._onContentReady.bind(this)\r\n })\r\n }\r\n _createColumns() {\r\n var columns = this.option(\"detailColumns\");\r\n columns = columns.slice(0);\r\n columns = columns.map(column => {\r\n var extendedItem = column;\r\n if (isString(column)) {\r\n extendedItem = {\r\n dataField: column\r\n }\r\n }\r\n return this._getPreparedColumn(extendedItem)\r\n });\r\n var customizeDetailColumns = this.option(\"customizeDetailColumns\");\r\n if (isFunction(customizeDetailColumns)) {\r\n columns = customizeDetailColumns(columns)\r\n }\r\n columns.push(this._getPreparedColumn({\r\n dataField: \"isParentFolder\"\r\n }));\r\n columns.forEach(column => this._updateColumnDataField(column));\r\n return columns\r\n }\r\n _getPreparedColumn(columnOptions) {\r\n var result = {};\r\n var resultCssClass = \"\";\r\n if (this._isDefaultColumn(columnOptions.dataField)) {\r\n var defaultConfig = extend(true, {}, DEFAULT_COLUMN_CONFIGS[columnOptions.dataField]);\r\n resultCssClass = defaultConfig.cssClass || \"\";\r\n switch (columnOptions.dataField) {\r\n case \"thumbnail\":\r\n defaultConfig.cellTemplate = this._createThumbnailColumnCell.bind(this);\r\n defaultConfig.calculateSortValue = \"fileItem.\".concat(defaultConfig.calculateSortValue);\r\n break;\r\n case \"name\":\r\n defaultConfig.cellTemplate = this._createNameColumnCell.bind(this);\r\n defaultConfig.caption = messageLocalization.format(\"dxFileManager-listDetailsColumnCaptionName\");\r\n break;\r\n case \"size\":\r\n defaultConfig.calculateCellValue = this._calculateSizeColumnCellValue.bind(this);\r\n defaultConfig.caption = messageLocalization.format(\"dxFileManager-listDetailsColumnCaptionFileSize\");\r\n defaultConfig.calculateSortValue = rowData => rowData.fileItem.isDirectory ? -1 : rowData.fileItem.size;\r\n break;\r\n case \"dateModified\":\r\n defaultConfig.caption = messageLocalization.format(\"dxFileManager-listDetailsColumnCaptionDateModified\")\r\n }\r\n extend(true, result, defaultConfig)\r\n }\r\n extendAttributes(result, columnOptions, [\"alignment\", \"caption\", \"dataField\", \"dataType\", \"hidingPriority\", \"sortIndex\", \"sortOrder\", \"visible\", \"visibleIndex\", \"width\"]);\r\n if (columnOptions.cssClass) {\r\n resultCssClass = \"\".concat(resultCssClass, \" \").concat(columnOptions.cssClass)\r\n }\r\n if (resultCssClass) {\r\n result.cssClass = resultCssClass\r\n }\r\n return result\r\n }\r\n _updateColumnDataField(column) {\r\n var dataItemSuffix = this._isDefaultColumn(column.dataField) ? \"\" : \"dataItem.\";\r\n column.dataField = \"fileItem.\" + dataItemSuffix + column.dataField;\r\n return column\r\n }\r\n _isDefaultColumn(columnDataField) {\r\n return !!DEFAULT_COLUMN_CONFIGS[columnDataField]\r\n }\r\n _onFileItemActionButtonClick(_ref) {\r\n var {\r\n component: component,\r\n element: element,\r\n event: event\r\n } = _ref;\r\n event.stopPropagation();\r\n var $row = component.$element().closest(this._getItemSelector());\r\n var fileItemInfo = $row.data(\"item\");\r\n this._selectItem(fileItemInfo);\r\n var target = {\r\n itemData: fileItemInfo,\r\n itemElement: $row,\r\n isActionButton: true\r\n };\r\n var items = this._getFileItemsForContextMenu(fileItemInfo);\r\n this._showContextMenu(items, element, event, target);\r\n this._activeFileActionsButton = component;\r\n this._activeFileActionsButton.setActive(true)\r\n }\r\n _onContextMenuHidden() {\r\n if (this._activeFileActionsButton) {\r\n this._activeFileActionsButton.setActive(false)\r\n }\r\n }\r\n _getItemThumbnailCssClass() {\r\n return FILE_MANAGER_DETAILS_ITEM_THUMBNAIL_CLASS\r\n }\r\n _getItemSelector() {\r\n return \".\".concat(DATA_GRID_DATA_ROW_CLASS)\r\n }\r\n _onItemDblClick(e) {\r\n var $row = $(e.currentTarget);\r\n var fileItemInfo = $row.data(\"item\");\r\n this._raiseSelectedItemOpened(fileItemInfo)\r\n }\r\n _isAllItemsSelected() {\r\n var selectableItemsCount = this._hasParentDirectoryItem ? this._itemCount - 1 : this._itemCount;\r\n var selectedRowKeys = this._filesView.option(\"selectedRowKeys\");\r\n if (!selectedRowKeys.length) {\r\n return false\r\n }\r\n return selectedRowKeys.length >= selectableItemsCount ? true : void 0\r\n }\r\n _onEditorPreparing(_ref2) {\r\n var {\r\n component: component,\r\n command: command,\r\n row: row,\r\n parentType: parentType,\r\n editorOptions: editorOptions\r\n } = _ref2;\r\n if (!this._filesView) {\r\n this._filesView = component\r\n }\r\n if (\"select\" === command && row) {\r\n if (this._isParentDirectoryItem(row.data)) {\r\n editorOptions.disabled = true\r\n }\r\n } else if (\"headerRow\" === parentType) {\r\n editorOptions.onInitialized = _ref3 => {\r\n var {\r\n component: component\r\n } = _ref3;\r\n this._selectAllCheckBox = component\r\n };\r\n editorOptions.value = this._isAllItemsSelected();\r\n editorOptions.onValueChanged = args => this._onSelectAllCheckBoxValueChanged(args)\r\n }\r\n }\r\n _onSelectAllCheckBoxValueChanged(_ref4) {\r\n var {\r\n event: event,\r\n previousValue: previousValue,\r\n value: value\r\n } = _ref4;\r\n if (!event) {\r\n if (previousValue && !this._selectAllCheckBoxUpdating && this._selectAllCheckBox) {\r\n this._selectAllCheckBox.option(\"value\", previousValue)\r\n }\r\n return\r\n }\r\n if (this._isAllItemsSelected() === value) {\r\n return\r\n }\r\n if (value) {\r\n this._filesView.selectAll()\r\n } else {\r\n this._filesView.deselectAll()\r\n }\r\n event.preventDefault()\r\n }\r\n _onRowPrepared(_ref5) {\r\n var {\r\n rowType: rowType,\r\n rowElement: rowElement,\r\n data: data\r\n } = _ref5;\r\n if (\"data\" === rowType) {\r\n var $row = $(rowElement);\r\n $row.data(\"item\", data);\r\n if (this._isParentDirectoryItem(data)) {\r\n $row.addClass(FILE_MANAGER_PARENT_DIRECTORY_ITEM)\r\n }\r\n }\r\n }\r\n _onContextMenuPreparing(e) {\r\n if (!this._isDesktop()) {\r\n return\r\n }\r\n var fileItems = null;\r\n var item = {};\r\n if (e.row && \"data\" === e.row.rowType) {\r\n item = e.row.data;\r\n this._selectItem(item);\r\n fileItems = this._getFileItemsForContextMenu(item)\r\n }\r\n var eventArgs = extend({}, {\r\n targetElement: \"content\" === e.target && isDefined(e.row) ? this._filesView.getRowElement(e.rowIndex) : void 0,\r\n itemData: item,\r\n options: this._contextMenu.option(),\r\n event: e.event,\r\n isActionButton: false,\r\n cancel: false\r\n });\r\n this._raiseContextMenuShowing(eventArgs);\r\n e.items = eventArgs.cancel ? [] : this._contextMenu.createContextMenuItems(fileItems, null, item)\r\n }\r\n _onFilesViewSelectionChanged(_ref6) {\r\n var {\r\n component: component,\r\n selectedRowsData: selectedRowsData,\r\n selectedRowKeys: selectedRowKeys,\r\n currentSelectedRowKeys: currentSelectedRowKeys,\r\n currentDeselectedRowKeys: currentDeselectedRowKeys\r\n } = _ref6;\r\n this._filesView = this._filesView || component;\r\n if (this._selectAllCheckBox) {\r\n this._selectAllCheckBoxUpdating = true;\r\n this._selectAllCheckBox.option(\"value\", this._isAllItemsSelected());\r\n this._selectAllCheckBoxUpdating = false\r\n }\r\n var selectedItems = selectedRowsData.map(itemInfo => itemInfo.fileItem);\r\n this._tryRaiseSelectionChanged({\r\n selectedItemInfos: selectedRowsData,\r\n selectedItems: selectedItems,\r\n selectedItemKeys: selectedRowKeys,\r\n currentSelectedItemKeys: currentSelectedRowKeys,\r\n currentDeselectedItemKeys: currentDeselectedRowKeys\r\n })\r\n }\r\n _onFilesViewFocusedRowChanged(e) {\r\n var _e$row2;\r\n if (!this._isMultipleSelectionMode()) {\r\n var _e$row;\r\n this._selectItemSingleSelection(null === (_e$row = e.row) || void 0 === _e$row ? void 0 : _e$row.data)\r\n }\r\n var fileSystemItem = (null === (_e$row2 = e.row) || void 0 === _e$row2 ? void 0 : _e$row2.data.fileItem) || null;\r\n this._onFocusedItemChanged({\r\n item: fileSystemItem,\r\n itemKey: null === fileSystemItem || void 0 === fileSystemItem ? void 0 : fileSystemItem.key,\r\n itemElement: e.rowElement\r\n })\r\n }\r\n _onFilesViewOptionChanged(_ref7) {\r\n var {\r\n fullName: fullName\r\n } = _ref7;\r\n if (fullName.indexOf(\"sortOrder\") > -1) {\r\n this._filesView.columnOption(\"isParentFolder\", {\r\n sortOrder: \"asc\",\r\n sortIndex: 0\r\n })\r\n }\r\n }\r\n _resetFocus() {\r\n this._setFocusedItemKey(void 0)\r\n }\r\n _createThumbnailColumnCell(container, cellInfo) {\r\n this._getItemThumbnailContainer(cellInfo.data).appendTo(container)\r\n }\r\n _createNameColumnCell(container, cellInfo) {\r\n var $button = $(\"<div>\");\r\n var $name = $(\"<span>\").text(cellInfo.data.fileItem.name).addClass(FILE_MANAGER_DETAILS_ITEM_NAME_CLASS);\r\n var $wrapper = $(\"<div>\").append($name, $button).addClass(FILE_MANAGER_DETAILS_ITEM_NAME_WRAPPER_CLASS);\r\n $(container).append($wrapper);\r\n this._createComponent($button, FileManagerFileActionsButton, {\r\n onClick: e => this._onFileItemActionButtonClick(e)\r\n })\r\n }\r\n _calculateSizeColumnCellValue(rowData) {\r\n return rowData.fileItem.isDirectory ? \"\" : getDisplayFileSize(rowData.fileItem.size)\r\n }\r\n _selectItem(fileItemInfo) {\r\n var selectItemFunc = this._isMultipleSelectionMode() ? this._selectItemMultipleSelection : this._selectItemSingleSelection;\r\n selectItemFunc.call(this, fileItemInfo)\r\n }\r\n _deselectItem(item) {\r\n this._filesView.deselectRows([item.fileItem.key])\r\n }\r\n _selectItemSingleSelection(fileItemInfo) {\r\n if (!this._focusedItem || !fileItemInfo || this._focusedItem.fileItem.key !== fileItemInfo.fileItem.key) {\r\n var oldFocusedItem = this._focusedItem;\r\n this._focusedItem = fileItemInfo;\r\n var deselectedKeys = [];\r\n if (oldFocusedItem) {\r\n deselectedKeys.push(oldFocusedItem.fileItem.key)\r\n }\r\n var selectedItems = [];\r\n var selectedKeys = [];\r\n if (fileItemInfo && !this._isParentDirectoryItem(fileItemInfo)) {\r\n selectedItems.push(fileItemInfo.fileItem);\r\n selectedKeys.push(fileItemInfo.fileItem.key)\r\n }\r\n this._raiseSelectionChanged({\r\n selectedItems: selectedItems,\r\n selectedItemKeys: selectedKeys,\r\n currentSelectedItemKeys: [...selectedKeys],\r\n currentDeselectedItemKeys: deselectedKeys\r\n })\r\n }\r\n }\r\n _selectItemMultipleSelection(_ref8) {\r\n var {\r\n fileItem: fileItem\r\n } = _ref8;\r\n if (!this._filesView.isRowSelected(fileItem.key)) {\r\n var selectionController = this._filesView.getController(\"selection\");\r\n var preserve = selectionController.isSelectionWithCheckboxes();\r\n this._filesView.selectRows([fileItem.key], preserve)\r\n }\r\n }\r\n _setSelectedItemKeys(itemKeys) {\r\n this._filesView.option(\"selectedRowKeys\", itemKeys)\r\n }\r\n _setFocusedItemKey(itemKey) {\r\n var _this$_filesView;\r\n null === (_this$_filesView = this._filesView) || void 0 === _this$_filesView ? void 0 : _this$_filesView.option(\"focusedRowKey\", itemKey)\r\n }\r\n clearSelection() {\r\n if (this._isMultipleSelectionMode()) {\r\n this._filesView.clearSelection()\r\n } else {\r\n this._filesView.option(\"focusedRowIndex\", -1)\r\n }\r\n }\r\n refresh(options, operation) {\r\n var actualOptions = {\r\n dataSource: this._createDataSource()\r\n };\r\n if (options && Object.prototype.hasOwnProperty.call(options, \"focusedItemKey\")) {\r\n if (isDefined(options.focusedItemKey)) {\r\n actualOptions.focusedRowKey = options.focusedItemKey\r\n } else {\r\n actualOptions.focusedRowIndex = -1\r\n }\r\n }\r\n var hasNoScrollTarget = !isDefined(actualOptions.focusedRowKey) && -1 === actualOptions.focusedRowIndex;\r\n if (hasNoScrollTarget && operation === OPERATIONS.NAVIGATION) {\r\n actualOptions.paging = {\r\n pageIndex: 0\r\n };\r\n this._needResetScrollPosition = true\r\n }\r\n this._filesView.option(actualOptions);\r\n this._refreshDeferred = new Deferred;\r\n return this._refreshDeferred.promise()\r\n }\r\n _getScrollable() {\r\n return this._filesView.getScrollable()\r\n }\r\n getSelectedItems() {\r\n if (this._isMultipleSelectionMode()) {\r\n return this._filesView.getSelectedRowsData()\r\n }\r\n return this._focusedItem && !this._isParentDirectoryItem(this._focusedItem) ? [this._focusedItem] : []\r\n }\r\n}\r\nexport default FileManagerDetailsItemList;\r\n","/**\r\n * DevExtreme (esm/ui/file_manager/ui.file_manager.items_list.thumbnails.list_box.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth,\r\n getOuterHeight,\r\n getInnerWidth,\r\n getInnerHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport holdEvent from \"../../events/hold\";\r\nimport {\r\n addNamespace,\r\n isCommandKeyPressed\r\n} from \"../../events/utils/index\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n BindableTemplate\r\n} from \"../../core/templates/bindable_template\";\r\nimport ScrollView from \"../scroll_view\";\r\nimport CollectionWidget from \"../collection/ui.collection_widget.edit\";\r\nimport Selection from \"../selection/selection\";\r\nvar FILE_MANAGER_THUMBNAILS_VIEW_PORT_CLASS = \"dx-filemanager-thumbnails-view-port\";\r\nvar FILE_MANAGER_THUMBNAILS_ITEM_LIST_CONTAINER_CLASS = \"dx-filemanager-thumbnails-container\";\r\nvar FILE_MANAGER_THUMBNAILS_ITEM_CLASS = \"dx-filemanager-thumbnails-item\";\r\nvar FILE_MANAGER_THUMBNAILS_ITEM_NAME_CLASS = \"dx-filemanager-thumbnails-item-name\";\r\nvar FILE_MANAGER_THUMBNAILS_ITEM_SPACER_CLASS = \"dx-filemanager-thumbnails-item-spacer\";\r\nvar FILE_MANAGER_THUMBNAILS_ITEM_DATA_KEY = \"dxFileManagerItemData\";\r\nvar FILE_MANAGER_THUMBNAILS_LIST_BOX_NAMESPACE = \"dxFileManagerThumbnailsListBox\";\r\nvar FILE_MANAGER_THUMBNAILS_LIST_BOX_HOLD_EVENT_NAME = addNamespace(holdEvent.name, FILE_MANAGER_THUMBNAILS_LIST_BOX_NAMESPACE);\r\nclass FileManagerThumbnailListBox extends CollectionWidget {\r\n _initMarkup() {\r\n this._initActions();\r\n this._lockFocusedItemProcessing = false;\r\n this.$element().addClass(FILE_MANAGER_THUMBNAILS_VIEW_PORT_CLASS);\r\n this._renderScrollView();\r\n this._renderItemsContainer();\r\n this._createScrollViewControl();\r\n super._initMarkup();\r\n this.onFocusedItemChanged = this._onFocusedItemChanged.bind(this);\r\n this._layoutUtils = new ListBoxLayoutUtils(this._scrollView, this.$element(), this._$itemContainer, this.itemElements().first());\r\n this._syncFocusedItemKey()\r\n }\r\n _initActions() {\r\n this._actions = {\r\n onItemEnterKeyPressed: this._createActionByOption(\"onItemEnterKeyPressed\"),\r\n onFocusedItemChanged: this._createActionByOption(\"onFocusedItemChanged\")\r\n }\r\n }\r\n _initTemplates() {\r\n super._initTemplates();\r\n this._itemThumbnailTemplate = this.option(\"itemThumbnailTemplate\");\r\n this._getTooltipText = this.option(\"getTooltipText\");\r\n this._templateManager.addDefaultTemplates({\r\n item: new BindableTemplate(function($container, data, itemModel) {\r\n var $itemElement = this._getDefaultItemTemplate(itemModel, $container);\r\n $container.append($itemElement)\r\n }.bind(this), [\"fileItem\"], this.option(\"integrationOptions.watchMethod\"))\r\n })\r\n }\r\n _createScrollViewControl() {\r\n if (!this._scrollView) {\r\n this._scrollView = this._createComponent(this._$scrollView, ScrollView, {\r\n scrollByContent: true,\r\n scrollByThumb: true,\r\n useKeyboard: false,\r\n showScrollbar: \"onHover\"\r\n })\r\n }\r\n }\r\n _renderScrollView() {\r\n if (!this._$scrollView) {\r\n this._$scrollView = $(\"<div>\").appendTo(this.$element())\r\n }\r\n }\r\n getScrollable() {\r\n return this._scrollView\r\n }\r\n _renderItemsContainer() {\r\n if (!this._$itemContainer) {\r\n this._$itemContainer = $(\"<div>\").addClass(FILE_MANAGER_THUMBNAILS_ITEM_LIST_CONTAINER_CLASS).appendTo(this._$scrollView)\r\n }\r\n }\r\n _render() {\r\n super._render();\r\n this._detachEventHandlers();\r\n this._attachEventHandlers()\r\n }\r\n _clean() {\r\n this._detachEventHandlers();\r\n super._clean()\r\n }\r\n _supportedKeys() {\r\n return extend(super._supportedKeys(), {\r\n upArrow(e) {\r\n this._beforeKeyProcessing(e);\r\n this._processArrowKeys(-1, false, e)\r\n },\r\n downArrow(e) {\r\n this._beforeKeyProcessing(e);\r\n this._processArrowKeys(1, false, e)\r\n },\r\n home(e) {\r\n this._beforeKeyProcessing(e);\r\n this._processHomeEndKeys(0, true, e)\r\n },\r\n end(e) {\r\n this._beforeKeyProcessing(e);\r\n this._processHomeEndKeys(this._getItemsLength() - 1, true, e)\r\n },\r\n pageUp(e) {\r\n this._beforeKeyProcessing(e);\r\n this._processPageChange(true, e)\r\n },\r\n pageDown(e) {\r\n this._beforeKeyProcessing(e);\r\n this._processPageChange(false, e)\r\n },\r\n enter(e) {\r\n this._beforeKeyProcessing(e);\r\n this._actions.onItemEnterKeyPressed(this._getFocusedItem())\r\n },\r\n A(e) {\r\n this._beforeKeyProcessing(e);\r\n if (isCommandKeyPressed(e)) {\r\n this.selectAll()\r\n }\r\n }\r\n })\r\n }\r\n _beforeKeyProcessing(e) {\r\n e.preventDefault();\r\n this._layoutUtils.reset()\r\n }\r\n _processArrowKeys(offset, horizontal, eventArgs) {\r\n var item = this._getFocusedItem();\r\n if (item) {\r\n if (!horizontal) {\r\n var layout = this._layoutUtils.getLayoutModel();\r\n if (!layout) {\r\n return\r\n }\r\n offset *= layout.itemPerRowCount\r\n }\r\n var newItemIndex = this._getIndexByItem(item) + offset;\r\n this._focusItemByIndex(newItemIndex, true, eventArgs)\r\n }\r\n }\r\n _processHomeEndKeys(index, scrollToItem, eventArgs) {\r\n this._focusItemByIndex(index, scrollToItem, eventArgs)\r\n }\r\n _processPageChange(pageUp, eventArgs) {\r\n var item = this._getFocusedItem();\r\n if (!item) {\r\n return\r\n }\r\n var layout = this._layoutUtils.getLayoutModel();\r\n if (!layout) {\r\n return\r\n }\r\n var itemLayout = this._layoutUtils.createItemLayoutModel(this._getIndexByItem(item));\r\n var rowOffset = pageUp ? layout.rowPerPageRate : -layout.rowPerPageRate;\r\n var newRowRate = itemLayout.itemRowIndex - rowOffset;\r\n var roundFunc = pageUp ? Math.ceil : Math.floor;\r\n var newRowIndex = roundFunc(newRowRate);\r\n var newItemIndex = newRowIndex * layout.itemPerRowCount + itemLayout.itemColumnIndex;\r\n if (newItemIndex < 0) {\r\n newItemIndex = 0\r\n } else if (newItemIndex >= this._getItemsLength()) {\r\n newItemIndex = this._getItemsLength() - 1\r\n }\r\n this._focusItemByIndex(newItemIndex, true, eventArgs)\r\n }\r\n _processLongTap(e) {\r\n var $targetItem = this._closestItemElement($(e.target));\r\n var itemIndex = this._getIndexByItemElement($targetItem);\r\n this._selection.changeItemSelection(itemIndex, {\r\n control: true\r\n })\r\n }\r\n _attachEventHandlers() {\r\n if (\"multiple\" === this.option(\"selectionMode\")) {\r\n eventsEngine.on(this._itemContainer(), FILE_MANAGER_THUMBNAILS_LIST_BOX_HOLD_EVENT_NAME, \".\".concat(this._itemContentClass()), e => {\r\n this._processLongTap(e);\r\n e.stopPropagation()\r\n })\r\n }\r\n eventsEngine.on(this._itemContainer(), \"mousedown selectstart\", e => {\r\n if (e.shiftKey) {\r\n e.preventDefault()\r\n }\r\n })\r\n }\r\n _detachEventHandlers() {\r\n eventsEngine.off(this._itemContainer(), FILE_MANAGER_THUMBNAILS_LIST_BOX_HOLD_EVENT_NAME);\r\n eventsEngine.off(this._itemContainer(), \"mousedown selectstart\")\r\n }\r\n _itemContainer() {\r\n return this._$itemContainer\r\n }\r\n _itemClass() {\r\n return FILE_MANAGER_THUMBNAILS_ITEM_CLASS\r\n }\r\n _itemDataKey() {\r\n return FILE_MANAGER_THUMBNAILS_ITEM_DATA_KEY\r\n }\r\n _getDefaultItemTemplate(fileItemInfo, $itemElement) {\r\n $itemElement.attr(\"title\", this._getTooltipText(fileItemInfo));\r\n var $itemThumbnail = this._itemThumbnailTemplate(fileItemInfo);\r\n var $itemSpacer = $(\"<div>\").addClass(FILE_MANAGER_THUMBNAILS_ITEM_SPACER_CLASS);\r\n var $itemName = $(\"<div>\").addClass(FILE_MANAGER_THUMBNAILS_ITEM_NAME_CLASS).text(fileItemInfo.fileItem.name);\r\n $itemElement.append($itemThumbnail, $itemSpacer, $itemName)\r\n }\r\n _itemSelectHandler(e) {\r\n var options = {};\r\n if (\"multiple\" === this.option(\"selectionMode\")) {\r\n if (!this._isPreserveSelectionMode) {\r\n this._isPreserveSelectionMode = isCommandKeyPressed(e) || e.shiftKey\r\n }\r\n options = {\r\n control: this._isPreserveSelectionMode,\r\n shift: e.shiftKey\r\n }\r\n }\r\n var index = this._getIndexByItemElement(e.currentTarget);\r\n this._selection.changeItemSelection(index, options)\r\n }\r\n _initSelectionModule() {\r\n super._initSelectionModule();\r\n var options = extend(this._selection.options, {\r\n selectedKeys: this.option(\"selectedItemKeys\"),\r\n onSelectionChanged: args => {\r\n this.option(\"selectedItems\", this._getItemsByKeys(args.selectedItemKeys, args.selectedItems));\r\n this._updateSelectedItems(args)\r\n }\r\n });\r\n this._selection = new Selection(options)\r\n }\r\n _updateSelectedItems(args) {\r\n var addedItemKeys = args.addedItemKeys;\r\n var removedItemKeys = args.removedItemKeys;\r\n if (this._rendered && (addedItemKeys.length || removedItemKeys.length)) {\r\n var selectionChangePromise = this._selectionChangePromise;\r\n if (!this._rendering) {\r\n var addedSelection = [];\r\n var normalizedIndex;\r\n var removedSelection = [];\r\n this._editStrategy.beginCache();\r\n for (var i = 0; i < removedItemKeys.length; i++) {\r\n normalizedIndex = this._getIndexByKey(removedItemKeys[i]);\r\n removedSelection.push(normalizedIndex);\r\n this._removeSelection(normalizedIndex)\r\n }\r\n for (var _i = 0; _i < addedItemKeys.length; _i++) {\r\n normalizedIndex = this._getIndexByKey(addedItemKeys[_i]);\r\n addedSelection.push(normalizedIndex);\r\n this._addSelection(normalizedIndex)\r\n }\r\n this._editStrategy.endCache();\r\n this._updateSelection(addedSelection, removedSelection)\r\n }\r\n when(selectionChangePromise).done(() => this._fireSelectionChangeEvent(args))\r\n }\r\n }\r\n _fireSelectionChangeEvent(args) {\r\n this._createActionByOption(\"onSelectionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })(args)\r\n }\r\n _updateSelection(addedSelection, removedSelection) {\r\n var selectedItemsCount = this.getSelectedItems().length;\r\n if (0 === selectedItemsCount) {\r\n this._isPreserveSelectionMode = false\r\n }\r\n }\r\n _normalizeSelectedItems() {\r\n var newKeys = this._getKeysByItems(this.option(\"selectedItems\"));\r\n var oldKeys = this._selection.getSelectedItemKeys();\r\n if (!this._compareKeys(oldKeys, newKeys)) {\r\n this._selection.setSelection(newKeys)\r\n }\r\n return (new Deferred).resolve().promise()\r\n }\r\n _focusOutHandler() {}\r\n _getItems() {\r\n return this.option(\"items\") || []\r\n }\r\n _getItemsLength() {\r\n return this._getItems().length\r\n }\r\n _getIndexByItemElement(itemElement) {\r\n return this._editStrategy.getNormalizedIndex(itemElement)\r\n }\r\n _getItemByIndex(index) {\r\n return this._getItems()[index]\r\n }\r\n _getFocusedItem() {\r\n return this.getItemByItemElement(this.option(\"focusedElement\"))\r\n }\r\n _focusItem(item, scrollToItem) {\r\n this.option(\"focusedElement\", this.getItemElementByItem(item));\r\n if (scrollToItem) {\r\n this._layoutUtils.scrollToItem(this._getIndexByItem(item))\r\n }\r\n }\r\n _focusItemByIndex(index, scrollToItem, eventArgs) {\r\n if (index >= 0 && index < this._getItemsLength()) {\r\n var item = this._getItemByIndex(index);\r\n this._focusItem(item, scrollToItem, eventArgs)\r\n }\r\n }\r\n _syncFocusedItemKey() {\r\n if (!this._syncFocusedItemKeyDeferred) {\r\n this._syncFocusedItemKeyDeferred = new Deferred\r\n }\r\n var deferred = this._syncFocusedItemKeyDeferred;\r\n if (this._dataSource && this._dataSource.isLoading()) {\r\n return deferred.promise()\r\n }\r\n var focusedItemKey = this.option(\"focusedItemKey\");\r\n if (isDefined(focusedItemKey)) {\r\n var items = this.option(\"items\");\r\n var focusedItem = items.find(item => this.keyOf(item) === focusedItemKey);\r\n if (focusedItem) {\r\n this._focusItem(focusedItem, true);\r\n deferred.resolve()\r\n } else {\r\n this.option(\"focusedItemKey\", void 0);\r\n deferred.reject()\r\n }\r\n } else {\r\n deferred.resolve()\r\n }\r\n this._syncFocusedItemKeyDeferred = null;\r\n return deferred.promise()\r\n }\r\n _onFocusedItemChanged() {\r\n var focusedItem = this._getFocusedItem();\r\n var newFocusedItemKey = this.keyOf(focusedItem);\r\n var oldFocusedItemKey = this.option(\"focusedItemKey\");\r\n if (newFocusedItemKey !== oldFocusedItemKey) {\r\n this._lockFocusedItemProcessing = true;\r\n this.option(\"focusedItemKey\", newFocusedItemKey);\r\n this._lockFocusedItemProcessing = false;\r\n this._raiseFocusedItemChanged(focusedItem)\r\n }\r\n }\r\n _raiseFocusedItemChanged(focusedItem) {\r\n var args = {\r\n item: focusedItem,\r\n itemElement: this.option(\"focusedElement\")\r\n };\r\n this._actions.onFocusedItemChanged(args)\r\n }\r\n _changeItemSelection(item, select) {\r\n if (this.isItemSelected(item) === select) {\r\n return\r\n }\r\n var itemElement = this.getItemElementByItem(item);\r\n var index = this._getIndexByItemElement(itemElement);\r\n this._selection.changeItemSelection(index, {\r\n control: this._isPreserveSelectionMode\r\n })\r\n }\r\n _chooseSelectOption() {\r\n return \"selectedItemKeys\"\r\n }\r\n getSelectedItems() {\r\n return this._selection.getSelectedItems()\r\n }\r\n getItemElementByItem(item) {\r\n return this._editStrategy.getItemElement(item)\r\n }\r\n getItemByItemElement(itemElement) {\r\n return this._getItemByIndex(this._getIndexByItemElement(itemElement))\r\n }\r\n selectAll() {\r\n if (\"multiple\" !== this.option(\"selectionMode\")) {\r\n return\r\n }\r\n this._selection.selectAll();\r\n this._isPreserveSelectionMode = true\r\n }\r\n selectItem(item) {\r\n this._changeItemSelection(item, true)\r\n }\r\n deselectItem(item) {\r\n this._changeItemSelection(item, false)\r\n }\r\n clearSelection() {\r\n this._selection.deselectAll()\r\n }\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"items\":\r\n if (this._layoutUtils) {\r\n this._layoutUtils.updateItems(this.itemElements().first())\r\n }\r\n super._optionChanged(args);\r\n break;\r\n case \"focusedItemKey\":\r\n if (this._lockFocusedItemProcessing) {\r\n break\r\n }\r\n if (isDefined(args.value)) {\r\n this._syncFocusedItemKey().done(() => {\r\n var focusedItem = this._getFocusedItem();\r\n this._raiseFocusedItemChanged(focusedItem)\r\n })\r\n } else {\r\n this.option(\"focusedElement\", null);\r\n this._raiseFocusedItemChanged(null)\r\n }\r\n break;\r\n case \"onItemEnterKeyPressed\":\r\n case \"onFocusedItemChanged\":\r\n this._actions[args.name] = this._createActionByOption(args.name);\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n}\r\nclass ListBoxLayoutUtils {\r\n constructor(scrollView, $viewPort, $itemContainer, $item) {\r\n this._layoutModel = null;\r\n this._scrollView = scrollView;\r\n this._$viewPort = $viewPort;\r\n this._$itemContainer = $itemContainer;\r\n this._$item = $item\r\n }\r\n updateItems($item) {\r\n this._$item = $item\r\n }\r\n reset() {\r\n this._layoutModel = null\r\n }\r\n getLayoutModel() {\r\n if (!this._layoutModel) {\r\n this._layoutModel = this._createLayoutModel()\r\n }\r\n return this._layoutModel\r\n }\r\n _createLayoutModel() {\r\n if (!this._$item) {\r\n return null\r\n }\r\n var itemWidth = getOuterWidth(this._$item, true);\r\n if (0 === itemWidth) {\r\n return null\r\n }\r\n var itemHeight = getOuterHeight(this._$item, true);\r\n var viewPortWidth = getInnerWidth(this._$itemContainer);\r\n var viewPortHeight = getInnerHeight(this._$viewPort);\r\n var viewPortScrollTop = this._scrollView.scrollTop();\r\n var viewPortScrollBottom = viewPortScrollTop + viewPortHeight;\r\n var itemPerRowCount = Math.floor(viewPortWidth / itemWidth);\r\n var rowPerPageRate = viewPortHeight / itemHeight;\r\n return {\r\n itemWidth: itemWidth,\r\n itemHeight: itemHeight,\r\n viewPortWidth: viewPortWidth,\r\n viewPortHeight: viewPortHeight,\r\n viewPortScrollTop: viewPortScrollTop,\r\n viewPortScrollBottom: viewPortScrollBottom,\r\n itemPerRowCount: itemPerRowCount,\r\n rowPerPageRate: rowPerPageRate\r\n }\r\n }\r\n createItemLayoutModel(index) {\r\n var layout = this.getLayoutModel();\r\n if (!layout) {\r\n return null\r\n }\r\n var itemRowIndex = Math.floor(index / layout.itemPerRowCount);\r\n var itemColumnIndex = index % layout.itemPerRowCount;\r\n var itemTop = itemRowIndex * layout.itemHeight;\r\n var itemBottom = itemTop + layout.itemHeight;\r\n return {\r\n itemRowIndex: itemRowIndex,\r\n itemColumnIndex: itemColumnIndex,\r\n itemTop: itemTop,\r\n itemBottom: itemBottom\r\n }\r\n }\r\n scrollToItem(index) {\r\n var layout = this.getLayoutModel();\r\n if (!layout) {\r\n return\r\n }\r\n var itemRowIndex = Math.floor(index / layout.itemPerRowCount);\r\n var itemTop = itemRowIndex * layout.itemHeight;\r\n var itemBottom = itemTop + layout.itemHeight;\r\n var newScrollTop = layout.viewPortScrollTop;\r\n if (itemTop < layout.viewPortScrollTop) {\r\n newScrollTop = itemTop\r\n } else if (itemBottom > layout.viewPortScrollBottom) {\r\n newScrollTop = itemBottom - layout.viewPortHeight\r\n }\r\n this._scrollView.scrollTo(newScrollTop)\r\n }\r\n}\r\nexport default FileManagerThumbnailListBox;\r\n","/**\r\n * DevExtreme (esm/ui/file_manager/ui.file_manager.item_list.thumbnails.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n name as contextMenuEventName\r\n} from \"../../events/contextmenu\";\r\nimport {\r\n getDisplayFileSize\r\n} from \"./ui.file_manager.common\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport FileManagerThumbnailListBox from \"./ui.file_manager.items_list.thumbnails.list_box\";\r\nimport FileManagerItemListBase from \"./ui.file_manager.item_list\";\r\nimport {\r\n OPERATIONS\r\n} from \"./file_items_controller\";\r\nvar FILE_MANAGER_THUMBNAILS_ITEM_LIST_CLASS = \"dx-filemanager-thumbnails\";\r\nvar FILE_MANAGER_THUMBNAILS_ITEM_CLASS = \"dx-filemanager-thumbnails-item\";\r\nvar FILE_MANAGER_THUMBNAILS_ITEM_THUMBNAIL_CLASS = \"dx-filemanager-thumbnails-item-thumbnail\";\r\nvar FILE_MANAGER_THUMBNAILS_EVENT_NAMESPACE = \"dxFileManager_thumbnails\";\r\nclass FileManagerThumbnailsItemList extends FileManagerItemListBase {\r\n _initMarkup() {\r\n super._initMarkup();\r\n this.$element().addClass(FILE_MANAGER_THUMBNAILS_ITEM_LIST_CLASS);\r\n var contextMenuEvent = addNamespace(contextMenuEventName, FILE_MANAGER_THUMBNAILS_EVENT_NAMESPACE);\r\n eventsEngine.on(this.$element(), contextMenuEvent, this._onContextMenu.bind(this));\r\n this._createItemList()\r\n }\r\n _createItemList() {\r\n var selectionMode = this._isMultipleSelectionMode() ? \"multiple\" : \"single\";\r\n var $itemListContainer = $(\"<div>\").appendTo(this.$element());\r\n this._itemList = this._createComponent($itemListContainer, FileManagerThumbnailListBox, {\r\n dataSource: this._createDataSource(),\r\n selectionMode: selectionMode,\r\n selectedItemKeys: this.option(\"selectedItemKeys\"),\r\n focusedItemKey: this.option(\"focusedItemKey\"),\r\n activeStateEnabled: true,\r\n hoverStateEnabled: true,\r\n loopItemFocus: false,\r\n focusStateEnabled: true,\r\n onItemEnterKeyPressed: this._tryOpen.bind(this),\r\n itemThumbnailTemplate: this._getItemThumbnailContainer.bind(this),\r\n getTooltipText: this._getTooltipText.bind(this),\r\n onSelectionChanged: this._onItemListSelectionChanged.bind(this),\r\n onFocusedItemChanged: this._onItemListFocusedItemChanged.bind(this),\r\n onContentReady: this._onContentReady.bind(this)\r\n })\r\n }\r\n _onContextMenu(e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (!this._isDesktop()) {\r\n return\r\n }\r\n var items = null;\r\n var targetItemElement = $(e.target).closest(this._getItemSelector());\r\n var targetItem = null;\r\n if (targetItemElement.length > 0) {\r\n targetItem = this._itemList.getItemByItemElement(targetItemElement);\r\n this._itemList.selectItem(targetItem);\r\n items = this._getFileItemsForContextMenu(targetItem)\r\n }\r\n var target = {\r\n itemData: targetItem,\r\n itemElement: targetItemElement.length ? targetItemElement : void 0\r\n };\r\n this._showContextMenu(items, e.target, e, target)\r\n }\r\n _getItemThumbnailCssClass() {\r\n return FILE_MANAGER_THUMBNAILS_ITEM_THUMBNAIL_CLASS\r\n }\r\n _getItemSelector() {\r\n return \".\".concat(FILE_MANAGER_THUMBNAILS_ITEM_CLASS)\r\n }\r\n _getTooltipText(fileItemInfo) {\r\n var item = fileItemInfo.fileItem;\r\n if (item.tooltipText) {\r\n return item.tooltipText\r\n }\r\n var text = \"\".concat(item.name, \"\\r\\n\");\r\n if (!item.isDirectory) {\r\n text += \"\".concat(messageLocalization.format(\"dxFileManager-listThumbnailsTooltipTextSize\"), \": \").concat(getDisplayFileSize(item.size), \"\\r\\n\")\r\n }\r\n text += \"\".concat(messageLocalization.format(\"dxFileManager-listThumbnailsTooltipTextDateModified\"), \": \").concat(item.dateModified);\r\n return text\r\n }\r\n _onItemDblClick(e) {\r\n var $item = $(e.currentTarget);\r\n var item = this._itemList.getItemByItemElement($item);\r\n this._tryOpen(item)\r\n }\r\n _tryOpen(item) {\r\n if (item) {\r\n this._raiseSelectedItemOpened(item)\r\n }\r\n }\r\n _getItemsInternal() {\r\n return super._getItemsInternal().then(items => {\r\n var deferred = new Deferred;\r\n setTimeout(() => deferred.resolve(items));\r\n return deferred.promise()\r\n })\r\n }\r\n _disableDragging() {\r\n return false\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n focusStateEnabled: true\r\n })\r\n }\r\n _onItemListSelectionChanged(_ref) {\r\n var {\r\n addedItemKeys: addedItemKeys,\r\n removedItemKeys: removedItemKeys\r\n } = _ref;\r\n var selectedItemInfos = this.getSelectedItems();\r\n var selectedItems = selectedItemInfos.map(itemInfo => itemInfo.fileItem);\r\n var selectedItemKeys = selectedItems.map(item => item.key);\r\n this._tryRaiseSelectionChanged({\r\n selectedItemInfos: selectedItemInfos,\r\n selectedItems: selectedItems,\r\n selectedItemKeys: selectedItemKeys,\r\n currentSelectedItemKeys: addedItemKeys,\r\n currentDeselectedItemKeys: removedItemKeys\r\n })\r\n }\r\n _onItemListFocusedItemChanged(_ref2) {\r\n var {\r\n item: item,\r\n itemElement: itemElement\r\n } = _ref2;\r\n if (!this._isMultipleSelectionMode()) {\r\n this._selectItemSingleSelection(item)\r\n }\r\n var fileSystemItem = (null === item || void 0 === item ? void 0 : item.fileItem) || null;\r\n this._onFocusedItemChanged({\r\n item: fileSystemItem,\r\n itemKey: null === fileSystemItem || void 0 === fileSystemItem ? void 0 : fileSystemItem.key,\r\n itemElement: itemElement || void 0\r\n })\r\n }\r\n _getScrollable() {\r\n return this._itemList.getScrollable()\r\n }\r\n _setSelectedItemKeys(itemKeys) {\r\n this._itemList.option(\"selectedItemKeys\", itemKeys)\r\n }\r\n _setFocusedItemKey(itemKey) {\r\n this._itemList.option(\"focusedItemKey\", itemKey)\r\n }\r\n refresh(options, operation) {\r\n var actualOptions = {\r\n dataSource: this._createDataSource()\r\n };\r\n if (options && Object.prototype.hasOwnProperty.call(options, \"focusedItemKey\")) {\r\n actualOptions.focusedItemKey = options.focusedItemKey\r\n }\r\n if (options && Object.prototype.hasOwnProperty.call(options, \"selectedItemKeys\")) {\r\n actualOptions.selectedItemKeys = options.selectedItemKeys\r\n }\r\n if (!isDefined(actualOptions.focusedItemKey) && operation === OPERATIONS.NAVIGATION) {\r\n this._needResetScrollPosition = true\r\n }\r\n this._itemList.option(actualOptions);\r\n this._refreshDeferred = new Deferred;\r\n return this._refreshDeferred.promise()\r\n }\r\n _deselectItem(item) {\r\n var itemElement = this._itemList.getItemElementByItem(item);\r\n this._itemList.unselectItem(itemElement)\r\n }\r\n _selectItemSingleSelection(item) {\r\n if (item) {\r\n this._itemList.selectItem(item)\r\n } else {\r\n this._itemList.clearSelection()\r\n }\r\n }\r\n clearSelection() {\r\n this._itemList.clearSelection()\r\n }\r\n getSelectedItems() {\r\n return this._itemList.getSelectedItems()\r\n }\r\n}\r\nexport default FileManagerThumbnailsItemList;\r\n","/**\r\n * DevExtreme (esm/ui/file_manager/ui.file_manager.toolbar.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isDefined,\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n ensureDefined\r\n} from \"../../core/utils/common\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n extendAttributes\r\n} from \"./ui.file_manager.common\";\r\nimport {\r\n isCompact,\r\n isMaterial\r\n} from \"../themes\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport Toolbar from \"../toolbar\";\r\nimport \"../drop_down_button\";\r\nvar FILE_MANAGER_TOOLBAR_CLASS = \"dx-filemanager-toolbar\";\r\nvar FILE_MANAGER_GENERAL_TOOLBAR_CLASS = \"dx-filemanager-general-toolbar\";\r\nvar FILE_MANAGER_FILE_TOOLBAR_CLASS = \"dx-filemanager-file-toolbar\";\r\nvar FILE_MANAGER_TOOLBAR_SEPARATOR_ITEM_CLASS = FILE_MANAGER_TOOLBAR_CLASS + \"-separator-item\";\r\nvar FILE_MANAGER_TOOLBAR_VIEWMODE_ITEM_CLASS = FILE_MANAGER_TOOLBAR_CLASS + \"-viewmode-item\";\r\nvar FILE_MANAGER_TOOLBAR_HAS_LARGE_ICON_CLASS = FILE_MANAGER_TOOLBAR_CLASS + \"-has-large-icon\";\r\nvar FILE_MANAGER_VIEW_SWITCHER_POPUP_CLASS = \"dx-filemanager-view-switcher-popup\";\r\nvar DEFAULT_ITEM_CONFIGS = {\r\n showNavPane: {\r\n location: \"before\"\r\n },\r\n create: {\r\n location: \"before\",\r\n compactMode: {\r\n showText: \"inMenu\",\r\n locateInMenu: \"auto\"\r\n }\r\n },\r\n upload: {\r\n location: \"before\",\r\n compactMode: {\r\n showText: \"inMenu\",\r\n locateInMenu: \"auto\"\r\n }\r\n },\r\n refresh: {\r\n location: \"after\",\r\n showText: \"inMenu\",\r\n cssClass: FILE_MANAGER_TOOLBAR_HAS_LARGE_ICON_CLASS,\r\n compactMode: {\r\n showText: \"inMenu\",\r\n locateInMenu: \"auto\"\r\n }\r\n },\r\n switchView: {\r\n location: \"after\"\r\n },\r\n download: {\r\n location: \"before\",\r\n compactMode: {\r\n showText: \"inMenu\",\r\n locateInMenu: \"auto\"\r\n }\r\n },\r\n move: {\r\n location: \"before\",\r\n compactMode: {\r\n showText: \"inMenu\",\r\n locateInMenu: \"auto\"\r\n }\r\n },\r\n copy: {\r\n location: \"before\",\r\n compactMode: {\r\n showText: \"inMenu\",\r\n locateInMenu: \"auto\"\r\n }\r\n },\r\n rename: {\r\n location: \"before\",\r\n compactMode: {\r\n showText: \"inMenu\",\r\n locateInMenu: \"auto\"\r\n }\r\n },\r\n delete: {\r\n location: \"before\",\r\n compactMode: {\r\n showText: \"inMenu\"\r\n }\r\n },\r\n clearSelection: {\r\n location: \"after\",\r\n locateInMenu: \"never\",\r\n compactMode: {\r\n showText: \"inMenu\"\r\n }\r\n },\r\n separator: {\r\n location: \"before\"\r\n }\r\n};\r\nvar DEFAULT_ITEM_ALLOWED_PROPERTIES = [\"visible\", \"location\", \"locateInMenu\", \"disabled\", \"showText\"];\r\nvar DEFAULT_ITEM_ALLOWED_OPTION_PROPERTIES = [\"accessKey\", \"elementAttr\", \"height\", \"hint\", \"icon\", \"stylingMode\", \"tabIndex\", \"text\", \"width\"];\r\nvar ALWAYS_VISIBLE_TOOLBAR_ITEMS = [\"separator\", \"switchView\"];\r\nvar REFRESH_ICON_MAP = {\r\n default: \"dx-filemanager-i dx-filemanager-i-refresh\",\r\n progress: \"dx-filemanager-i dx-filemanager-i-progress\",\r\n success: \"dx-filemanager-i dx-filemanager-i-done\",\r\n error: \"dx-filemanager-i dx-filemanager-i-danger\"\r\n};\r\nvar REFRESH_ITEM_PROGRESS_MESSAGE_DELAY = 500;\r\nclass FileManagerToolbar extends Widget {\r\n _init() {\r\n super._init();\r\n this._generalToolbarVisible = true;\r\n this._refreshItemState = {\r\n message: \"\",\r\n status: \"default\"\r\n }\r\n }\r\n _initMarkup() {\r\n this._createItemClickedAction();\r\n this._$viewSwitcherPopup = $(\"<div>\").addClass(FILE_MANAGER_VIEW_SWITCHER_POPUP_CLASS);\r\n this._generalToolbar = this._createToolbar(this.option(\"generalItems\"), !this._generalToolbarVisible);\r\n this._fileToolbar = this._createToolbar(this.option(\"fileItems\"), this._generalToolbarVisible);\r\n this._$viewSwitcherPopup.appendTo(this.$element());\r\n this.$element().addClass(FILE_MANAGER_TOOLBAR_CLASS + \" \" + FILE_MANAGER_GENERAL_TOOLBAR_CLASS)\r\n }\r\n _render() {\r\n super._render();\r\n var toolbar = this._getVisibleToolbar();\r\n this._checkCompactMode(toolbar)\r\n }\r\n _clean() {\r\n delete this._commandManager;\r\n delete this._itemClickedAction;\r\n delete this._$viewSwitcherPopup;\r\n delete this._generalToolbar;\r\n delete this._fileToolbar;\r\n super._clean()\r\n }\r\n _dimensionChanged(dimension) {\r\n if (!dimension || \"height\" !== dimension) {\r\n var toolbar = this._getVisibleToolbar();\r\n this._checkCompactMode(toolbar)\r\n }\r\n }\r\n _getVisibleToolbar() {\r\n return this._generalToolbarVisible ? this._generalToolbar : this._fileToolbar\r\n }\r\n _createToolbar(items, hidden) {\r\n var toolbarItems = this._getPreparedItems(items);\r\n var $toolbar = $(\"<div>\").appendTo(this.$element());\r\n var result = this._createComponent($toolbar, Toolbar, {\r\n items: toolbarItems,\r\n visible: !hidden,\r\n onItemClick: args => this._raiseItemClicked(args)\r\n });\r\n result.compactMode = false;\r\n return result\r\n }\r\n _getPreparedItems(items) {\r\n items = items.map(item => {\r\n var extendedItem = item;\r\n if (isString(item)) {\r\n extendedItem = {\r\n name: item\r\n }\r\n }\r\n var commandName = extendedItem.name;\r\n var preparedItem = this._configureItemByCommandName(commandName, extendedItem);\r\n preparedItem.originalItemData = item;\r\n if (\"separator\" !== commandName) {\r\n this._setItemVisibleAvailable(preparedItem)\r\n }\r\n return preparedItem\r\n });\r\n this._updateSeparatorsVisibility(items);\r\n return items\r\n }\r\n _updateSeparatorsVisibility(items, toolbar) {\r\n var hasModifications = false;\r\n var menuItems = this._getMenuItems(toolbar);\r\n var hasItemsBefore = {\r\n before: false,\r\n center: false,\r\n after: false\r\n };\r\n var itemGroups = {\r\n before: this._getItemsInGroup(items, menuItems, \"before\"),\r\n center: this._getItemsInGroup(items, menuItems, \"center\"),\r\n after: this._getItemsInGroup(items, menuItems, \"after\")\r\n };\r\n items.forEach((item, i) => {\r\n var itemLocation = item.location;\r\n if (\"separator\" === item.name) {\r\n var isSeparatorVisible = hasItemsBefore[itemLocation] && this._groupHasItemsAfter(itemGroups[itemLocation]);\r\n if (item.visible !== isSeparatorVisible) {\r\n hasModifications = true;\r\n item.visible = isSeparatorVisible\r\n }\r\n hasItemsBefore[itemLocation] = false\r\n } else {\r\n if (!this._isItemInMenu(menuItems, item)) {\r\n hasItemsBefore[itemLocation] = hasItemsBefore[itemLocation] || item.visible\r\n }\r\n itemGroups[itemLocation].shift()\r\n }\r\n });\r\n if (toolbar && hasModifications) {\r\n toolbar.repaint()\r\n }\r\n return hasModifications\r\n }\r\n _getMenuItems(toolbar) {\r\n var result = toolbar ? toolbar._getMenuItems() : [];\r\n return result.map(menuItem => menuItem.originalItemData)\r\n }\r\n _isItemInMenu(menuItems, item) {\r\n return !!menuItems.length && \"never\" !== ensureDefined(item.locateInMenu, \"never\") && -1 !== menuItems.indexOf(item.originalItemData)\r\n }\r\n _getItemsInGroup(items, menuItems, groupName) {\r\n return items.filter(item => item.location === groupName && !this._isItemInMenu(menuItems, item))\r\n }\r\n _groupHasItemsAfter(items) {\r\n for (var i = 0; i < items.length; i++) {\r\n if (\"separator\" !== items[i].name && items[i].visible) {\r\n return true\r\n }\r\n }\r\n return false\r\n }\r\n _configureItemByCommandName(commandName, item) {\r\n var _result$options;\r\n var result = {};\r\n var command = this._commandManager.getCommandByName(commandName);\r\n if (command) {\r\n result = this._createCommandItem(command)\r\n }\r\n switch (commandName) {\r\n case \"separator\":\r\n result = this._createSeparatorItem();\r\n break;\r\n case \"switchView\":\r\n result = this._createViewModeItem()\r\n }\r\n if (this._isDefaultItem(commandName)) {\r\n var defaultConfig = DEFAULT_ITEM_CONFIGS[commandName];\r\n extend(true, result, defaultConfig);\r\n var resultCssClass = result.cssClass || \"\";\r\n extendAttributes(result, item, DEFAULT_ITEM_ALLOWED_PROPERTIES);\r\n if (isDefined(item.options)) {\r\n extendAttributes(result.options, item.options, DEFAULT_ITEM_ALLOWED_OPTION_PROPERTIES)\r\n }\r\n extendAttributes(result.options, item, [\"text\", \"icon\"]);\r\n if (item.cssClass) {\r\n resultCssClass = \"\".concat(resultCssClass, \" \").concat(item.cssClass)\r\n }\r\n if (resultCssClass) {\r\n result.cssClass = resultCssClass\r\n }\r\n if (!isDefined(item.visible)) {\r\n result._autoHide = true\r\n }\r\n if (\"dxButton\" === result.widget) {\r\n if (\"inMenu\" === result.showText && !isDefined(result.options.hint)) {\r\n result.options.hint = result.options.text\r\n }\r\n if (result.compactMode && !isDefined(result.options.hint)) {\r\n this._configureHintForCompactMode(result)\r\n }\r\n }\r\n } else {\r\n extend(true, result, item);\r\n if (!result.widget) {\r\n result.widget = \"dxButton\"\r\n }\r\n if (\"dxButton\" === result.widget && !result.compactMode && !result.showText && result.options && result.options.icon && result.options.text) {\r\n result.compactMode = {\r\n showText: \"inMenu\"\r\n }\r\n }\r\n }\r\n if (commandName && !result.name) {\r\n extend(result, {\r\n name: commandName\r\n })\r\n }\r\n result.location = ensureDefined(result.location, \"before\");\r\n if (!isDefined(null === (_result$options = result.options) || void 0 === _result$options ? void 0 : _result$options.stylingMode)) {\r\n if (\"dxButton\" === result.widget) {\r\n extend(true, result, {\r\n options: {\r\n stylingMode: \"text\"\r\n }\r\n })\r\n }\r\n if (\"dxSelectBox\" === result.widget) {\r\n extend(true, result, {\r\n options: {\r\n stylingMode: \"filled\"\r\n }\r\n })\r\n }\r\n }\r\n return result\r\n }\r\n _isDefaultItem(commandName) {\r\n return !!DEFAULT_ITEM_CONFIGS[commandName]\r\n }\r\n _createCommandItem(command) {\r\n return {\r\n widget: \"dxButton\",\r\n options: {\r\n text: command.text,\r\n hint: command.hint,\r\n commandText: command.text,\r\n icon: command.icon,\r\n stylingMode: \"text\",\r\n onClick: e => this._executeCommand(command)\r\n }\r\n }\r\n }\r\n _createSeparatorItem() {\r\n return {\r\n template: (data, index, element) => {\r\n $(element).addClass(FILE_MANAGER_TOOLBAR_SEPARATOR_ITEM_CLASS)\r\n }\r\n }\r\n }\r\n _createViewModeItem() {\r\n var commandItems = [\"details\", \"thumbnails\"].map(name => {\r\n var {\r\n text: text,\r\n icon: icon\r\n } = this._commandManager.getCommandByName(name);\r\n return {\r\n name: name,\r\n text: text,\r\n icon: icon\r\n }\r\n });\r\n var selectedIndex = \"thumbnails\" === this.option(\"itemViewMode\") ? 1 : 0;\r\n var dropDownOptions = {\r\n container: this._$viewSwitcherPopup\r\n };\r\n if (isMaterial()) {\r\n dropDownOptions.width = isCompact() ? 28 : 36\r\n }\r\n return {\r\n cssClass: FILE_MANAGER_TOOLBAR_VIEWMODE_ITEM_CLASS,\r\n widget: \"dxDropDownButton\",\r\n options: {\r\n items: commandItems,\r\n keyExpr: \"name\",\r\n selectedItemKey: this.option(\"itemViewMode\"),\r\n displayExpr: \" \",\r\n hint: commandItems[selectedIndex].text,\r\n stylingMode: \"text\",\r\n showArrowIcon: false,\r\n useSelectMode: true,\r\n dropDownOptions: dropDownOptions,\r\n onItemClick: e => this._executeCommand(e.itemData.name)\r\n }\r\n }\r\n }\r\n _configureHintForCompactMode(item) {\r\n item.options.hint = \"\";\r\n item.compactMode.options = item.compactMode.options || {};\r\n item.compactMode.options.hint = item.options.text\r\n }\r\n _checkCompactMode(toolbar) {\r\n if (toolbar.compactMode) {\r\n this._toggleCompactMode(toolbar, false)\r\n }\r\n var useCompactMode = this._toolbarHasItemsOverflow(toolbar);\r\n if (toolbar.compactMode !== useCompactMode) {\r\n if (!toolbar.compactMode) {\r\n this._toggleCompactMode(toolbar, useCompactMode)\r\n }\r\n toolbar.compactMode = useCompactMode\r\n } else if (toolbar.compactMode) {\r\n this._toggleCompactMode(toolbar, true)\r\n }\r\n }\r\n _toolbarHasItemsOverflow(toolbar) {\r\n var toolbarWidth = getWidth(toolbar.$element());\r\n var itemsWidth = toolbar._getItemsWidth();\r\n return toolbarWidth < itemsWidth\r\n }\r\n _toggleCompactMode(toolbar, useCompactMode) {\r\n var hasModifications = false;\r\n var items = toolbar.option(\"items\");\r\n items.forEach(item => {\r\n if (item.compactMode) {\r\n var optionsSource = null;\r\n if (useCompactMode) {\r\n item.saved = this._getCompactModeOptions(item, item._available);\r\n optionsSource = item.compactMode\r\n } else {\r\n optionsSource = item.saved\r\n }\r\n var options = this._getCompactModeOptions(optionsSource, item._available);\r\n extend(true, item, options);\r\n hasModifications = true\r\n }\r\n });\r\n hasModifications = this._updateSeparatorsVisibility(items) || hasModifications;\r\n if (hasModifications) {\r\n toolbar.repaint()\r\n }\r\n this._updateSeparatorsVisibility(items, toolbar)\r\n }\r\n _getCompactModeOptions(_ref, available) {\r\n var {\r\n showText: showText,\r\n locateInMenu: locateInMenu,\r\n options: options\r\n } = _ref;\r\n return {\r\n visible: available,\r\n showText: ensureDefined(showText, \"always\"),\r\n locateInMenu: ensureDefined(locateInMenu, \"never\"),\r\n options: {\r\n hint: null === options || void 0 === options ? void 0 : options.hint\r\n }\r\n }\r\n }\r\n _ensureAvailableCommandsVisible(toolbar) {\r\n var hasModifications = false;\r\n var items = toolbar.option(\"items\");\r\n items.forEach(item => {\r\n if (\"separator\" !== item.name) {\r\n var itemVisible = item._available;\r\n this._setItemVisibleAvailable(item);\r\n if (item._available !== itemVisible) {\r\n hasModifications = true\r\n }\r\n }\r\n });\r\n hasModifications = this._updateSeparatorsVisibility(items) || hasModifications;\r\n if (hasModifications) {\r\n toolbar.repaint()\r\n }\r\n this._updateSeparatorsVisibility(items, toolbar)\r\n }\r\n _setItemVisibleAvailable(item) {\r\n var _item$originalItemDat;\r\n var originalVisible = null === (_item$originalItemDat = item.originalItemData) || void 0 === _item$originalItemDat ? void 0 : _item$originalItemDat.visible;\r\n item._available = this._isToolbarItemAvailable(item);\r\n item.visible = isDefined(originalVisible) ? originalVisible : item._available\r\n }\r\n _fileToolbarHasEffectiveItems() {\r\n var items = this._fileToolbar.option(\"items\");\r\n return items.some(item => this._isFileToolbarItemAvailable(item))\r\n }\r\n _executeCommand(command) {\r\n this._commandManager.executeCommand(command)\r\n }\r\n _isToolbarItemAvailable(toolbarItem) {\r\n if (!this._isDefaultItem(toolbarItem.name) || !toolbarItem._autoHide) {\r\n return ensureDefined(toolbarItem.visible, true)\r\n }\r\n if (\"refresh\" === toolbarItem.name) {\r\n return this._generalToolbarVisible || !!this._isRefreshVisibleInFileToolbar\r\n }\r\n if (ALWAYS_VISIBLE_TOOLBAR_ITEMS.indexOf(toolbarItem.name) > -1) {\r\n return true\r\n }\r\n return this._isCommandAvailable(toolbarItem.name)\r\n }\r\n _isFileToolbarItemAvailable(_ref2) {\r\n var {\r\n name: name,\r\n visible: visible\r\n } = _ref2;\r\n return !this._isDefaultItem(name) && ensureDefined(visible, true) || \"clearSelection\" !== name && \"refresh\" !== name && this._isCommandAvailable(name)\r\n }\r\n _isCommandAvailable(name) {\r\n return this._commandManager.isCommandAvailable(name, this.option(\"contextItems\"))\r\n }\r\n _updateItemInToolbar(toolbar, commandName, options) {\r\n toolbar.beginUpdate();\r\n var items = toolbar.option(\"items\");\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n if (item.name === commandName) {\r\n toolbar.option(\"items[\".concat(i, \"]\"), options);\r\n break\r\n }\r\n }\r\n toolbar.endUpdate()\r\n }\r\n _raiseItemClicked(args) {\r\n var changedArgs = extend(true, {}, args);\r\n changedArgs.itemData = args.itemData.originalItemData;\r\n this._itemClickedAction(changedArgs)\r\n }\r\n _createItemClickedAction() {\r\n this._itemClickedAction = this._createActionByOption(\"onItemClick\")\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n commandManager: null,\r\n generalItems: [],\r\n fileItems: [],\r\n contextItems: [],\r\n itemViewMode: \"details\",\r\n onItemClick: null\r\n })\r\n }\r\n _optionChanged(args) {\r\n var name = args.name;\r\n switch (name) {\r\n case \"commandManager\":\r\n case \"itemViewMode\":\r\n case \"generalItems\":\r\n case \"fileItems\":\r\n this.repaint();\r\n break;\r\n case \"contextItems\":\r\n this._update();\r\n break;\r\n case \"onItemClick\":\r\n this._itemClickedAction = this._createActionByOption(name);\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n updateItemPermissions() {\r\n this.repaint();\r\n this._restoreRefreshItemState()\r\n }\r\n _restoreRefreshItemState() {\r\n this.updateRefreshItem(this._refreshItemState.message, this._refreshItemState.status)\r\n }\r\n updateRefreshItem(message, status) {\r\n var generalToolbarOptions = null;\r\n var text = messageLocalization.format(\"dxFileManager-commandRefresh\");\r\n var showText = \"inMenu\";\r\n this._isRefreshVisibleInFileToolbar = false;\r\n this._refreshItemState = {\r\n message: message,\r\n status: status\r\n };\r\n if (\"default\" === status) {\r\n generalToolbarOptions = {\r\n options: {\r\n icon: REFRESH_ICON_MAP.default\r\n }\r\n }\r\n } else {\r\n generalToolbarOptions = {\r\n options: {\r\n icon: REFRESH_ICON_MAP[status]\r\n }\r\n };\r\n this._isRefreshVisibleInFileToolbar = true;\r\n text = message;\r\n showText = \"always\"\r\n }\r\n var fileToolbarOptions = extend({}, generalToolbarOptions, {\r\n visible: this._isRefreshVisibleInFileToolbar\r\n });\r\n this._applyRefreshItemOptions(generalToolbarOptions, fileToolbarOptions);\r\n this._refreshItemTextTimeout = this._updateRefreshItemText(\"progress\" === status, text, showText)\r\n }\r\n _updateRefreshItemText(isDeferredUpdate, text, showText) {\r\n var options = {\r\n showText: showText,\r\n options: {\r\n text: text\r\n }\r\n };\r\n if (isDeferredUpdate) {\r\n return setTimeout(() => {\r\n this._applyRefreshItemOptions(options);\r\n this._refreshItemTextTimeout = void 0\r\n }, REFRESH_ITEM_PROGRESS_MESSAGE_DELAY)\r\n } else {\r\n if (this._refreshItemTextTimeout) {\r\n clearTimeout(this._refreshItemTextTimeout)\r\n }\r\n this._applyRefreshItemOptions(options);\r\n return\r\n }\r\n }\r\n _applyRefreshItemOptions(generalToolbarOptions, fileToolbarOptions) {\r\n if (!fileToolbarOptions) {\r\n fileToolbarOptions = extend({}, generalToolbarOptions)\r\n }\r\n this._updateItemInToolbar(this._generalToolbar, \"refresh\", generalToolbarOptions);\r\n this._updateItemInToolbar(this._fileToolbar, \"refresh\", fileToolbarOptions)\r\n }\r\n _update() {\r\n var showGeneralToolbar = 0 === this.option(\"contextItems\").length || !this._fileToolbarHasEffectiveItems();\r\n if (this._generalToolbarVisible !== showGeneralToolbar) {\r\n this._generalToolbar.option(\"visible\", showGeneralToolbar);\r\n this._fileToolbar.option(\"visible\", !showGeneralToolbar);\r\n this._generalToolbarVisible = showGeneralToolbar;\r\n this.$element().toggleClass(FILE_MANAGER_GENERAL_TOOLBAR_CLASS, showGeneralToolbar);\r\n this.$element().toggleClass(FILE_MANAGER_FILE_TOOLBAR_CLASS, !showGeneralToolbar)\r\n }\r\n var toolbar = this._getVisibleToolbar();\r\n this._ensureAvailableCommandsVisible(toolbar);\r\n this._checkCompactMode(toolbar)\r\n }\r\n get _commandManager() {\r\n return this.option(\"commandManager\")\r\n }\r\n}\r\nexport default FileManagerToolbar;\r\n","/**\r\n * DevExtreme (esm/ui/file_manager/ui.file_manager.notification.progress_panel.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n ensureDefined\r\n} from \"../../core/utils/common\";\r\nimport {\r\n getImageContainer\r\n} from \"../../core/utils/icon\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport ProgressBar from \"../progress_bar\";\r\nimport Button from \"../button\";\r\nimport ScrollView from \"../scroll_view\";\r\nvar FILE_MANAGER_PROGRESS_PANEL_CLASS = \"dx-filemanager-progress-panel\";\r\nvar FILE_MANAGER_PROGRESS_PANEL_CONTAINER_CLASS = \"\".concat(FILE_MANAGER_PROGRESS_PANEL_CLASS, \"-container\");\r\nvar FILE_MANAGER_PROGRESS_PANEL_TITLE_CLASS = \"\".concat(FILE_MANAGER_PROGRESS_PANEL_CLASS, \"-title\");\r\nvar FILE_MANAGER_PROGRESS_PANEL_TITLE_TEXT_CLASS = \"\".concat(FILE_MANAGER_PROGRESS_PANEL_CLASS, \"-title-text\");\r\nvar FILE_MANAGER_PROGRESS_PANEL_CLOSE_BUTTON_CLASS = \"\".concat(FILE_MANAGER_PROGRESS_PANEL_CLASS, \"-close-button\");\r\nvar FILE_MANAGER_PROGRESS_PANEL_INFOS_CONTAINER_CLASS = \"\".concat(FILE_MANAGER_PROGRESS_PANEL_CLASS, \"-infos-container\");\r\nvar FILE_MANAGER_PROGRESS_PANEL_SEPARATOR_CLASS = \"\".concat(FILE_MANAGER_PROGRESS_PANEL_CLASS, \"-separator\");\r\nvar FILE_MANAGER_PROGRESS_PANEL_INFO_CLASS = \"\".concat(FILE_MANAGER_PROGRESS_PANEL_CLASS, \"-info\");\r\nvar FILE_MANAGER_PROGRESS_PANEL_COMMON_CLASS = \"\".concat(FILE_MANAGER_PROGRESS_PANEL_CLASS, \"-common\");\r\nvar FILE_MANAGER_PROGRESS_PANEL_INFO_WITH_DETAILS_CLASS = \"\".concat(FILE_MANAGER_PROGRESS_PANEL_CLASS, \"-info-with-details\");\r\nvar FILE_MANAGER_PROGRESS_PANEL_DETAILS_CLASS = \"\".concat(FILE_MANAGER_PROGRESS_PANEL_CLASS, \"-details\");\r\nvar FILE_MANAGER_PROGRESS_BOX_CLASS = \"dx-filemanager-progress-box\";\r\nvar FILE_MANAGER_PROGRESS_BOX_ERROR_CLASS = \"\".concat(FILE_MANAGER_PROGRESS_BOX_CLASS, \"-error\");\r\nvar FILE_MANAGER_PROGRESS_BOX_WITHOUT_CLOSE_BUTTON_CLASS = \"\".concat(FILE_MANAGER_PROGRESS_BOX_CLASS, \"-without-close-button\");\r\nvar FILE_MANAGER_PROGRESS_BOX_IMAGE_CLASS = \"\".concat(FILE_MANAGER_PROGRESS_BOX_CLASS, \"-image\");\r\nvar FILE_MANAGER_PROGRESS_BOX_WRAPPER_CLASS = \"\".concat(FILE_MANAGER_PROGRESS_BOX_CLASS, \"-wrapper\");\r\nvar FILE_MANAGER_PROGRESS_BOX_COMMON_CLASS = \"\".concat(FILE_MANAGER_PROGRESS_BOX_CLASS, \"-common\");\r\nvar FILE_MANAGER_PROGRESS_BOX_PROGRESS_BAR_CLASS = \"\".concat(FILE_MANAGER_PROGRESS_BOX_CLASS, \"-progress-bar\");\r\nvar FILE_MANAGER_PROGRESS_BOX_CLOSE_BUTTON_CLASS = \"\".concat(FILE_MANAGER_PROGRESS_BOX_CLASS, \"-close-button\");\r\nvar DX_CARD_CLASS = \"dx-card\";\r\nclass FileManagerProgressPanel extends Widget {\r\n _initMarkup() {\r\n super._initMarkup();\r\n this._initActions();\r\n this._operationCount = 0;\r\n this.$element().addClass(FILE_MANAGER_PROGRESS_PANEL_CLASS);\r\n var $scrollView = $(\"<div>\").appendTo(this.$element());\r\n var $container = $(\"<div>\").addClass(FILE_MANAGER_PROGRESS_PANEL_CONTAINER_CLASS).appendTo($scrollView);\r\n this._scrollView = this._createComponent($scrollView, ScrollView, {\r\n scrollByContent: true,\r\n scrollByThumb: true,\r\n showScrollbar: \"onScroll\"\r\n });\r\n var $title = $(\"<div>\").addClass(FILE_MANAGER_PROGRESS_PANEL_TITLE_CLASS).appendTo($container);\r\n $(\"<div>\").text(messageLocalization.format(\"dxFileManager-notificationProgressPanelTitle\")).addClass(FILE_MANAGER_PROGRESS_PANEL_TITLE_TEXT_CLASS).appendTo($title);\r\n var $closeButton = $(\"<div>\").addClass(FILE_MANAGER_PROGRESS_PANEL_CLOSE_BUTTON_CLASS).appendTo($title);\r\n this._createComponent($closeButton, Button, {\r\n icon: \"close\",\r\n stylingMode: \"text\",\r\n onClick: () => this._raisePanelClosed()\r\n });\r\n this._$infosContainer = $(\"<div>\").addClass(FILE_MANAGER_PROGRESS_PANEL_INFOS_CONTAINER_CLASS).appendTo($container);\r\n this._renderEmptyListText()\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n onOperationClosed: null,\r\n onOperationCanceled: null,\r\n onOperationItemCanceled: null,\r\n onPanelClosed: null\r\n })\r\n }\r\n _initActions() {\r\n this._actions = {\r\n onOperationClosed: this._createActionByOption(\"onOperationClosed\"),\r\n onOperationCanceled: this._createActionByOption(\"onOperationCanceled\"),\r\n onOperationItemCanceled: this._createActionByOption(\"onOperationItemCanceled\"),\r\n onPanelClosed: this._createActionByOption(\"onPanelClosed\")\r\n }\r\n }\r\n _optionChanged(args) {\r\n var name = args.name;\r\n switch (name) {\r\n case \"test\":\r\n break;\r\n case \"onOperationClosed\":\r\n case \"onOperationCanceled\":\r\n case \"onOperationItemCanceled\":\r\n this._actions[name] = this._createActionByOption(name);\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n addOperation(commonText, showCloseButtonAlways, allowProgressAutoUpdate) {\r\n if (this._operationCount) {\r\n $(\"<div>\").addClass(FILE_MANAGER_PROGRESS_PANEL_SEPARATOR_CLASS).prependTo(this._$infosContainer)\r\n } else {\r\n this._$infosContainer.empty()\r\n }\r\n this._operationCount++;\r\n var info = {\r\n customCloseHandling: showCloseButtonAlways,\r\n allowProgressAutoUpdate: ensureDefined(allowProgressAutoUpdate, true)\r\n };\r\n var $info = $(\"<div>\").addClass(FILE_MANAGER_PROGRESS_PANEL_INFO_CLASS).prependTo(this._$infosContainer);\r\n info.$info = $info;\r\n var $common = $(\"<div>\").addClass(FILE_MANAGER_PROGRESS_PANEL_COMMON_CLASS).appendTo($info);\r\n info.common = this._createProgressBox($common, {\r\n commonText: commonText,\r\n showCloseButton: true,\r\n showCloseButtonAlways: showCloseButtonAlways,\r\n onCloseButtonClick: () => this._closeOperation(info)\r\n });\r\n return info\r\n }\r\n addOperationDetails(info, details, showCloseButton) {\r\n info.$info.addClass(FILE_MANAGER_PROGRESS_PANEL_INFO_WITH_DETAILS_CLASS);\r\n var $details = $(\"<div>\").addClass(FILE_MANAGER_PROGRESS_PANEL_DETAILS_CLASS).appendTo(info.$info);\r\n info.details = details.map((itemInfo, index) => {\r\n itemInfo.info = info;\r\n return this._createDetailsItem($details, itemInfo, index, false, showCloseButton)\r\n })\r\n }\r\n _createDetailsItem($container, item, itemIndex, skipProgressBox, showCloseButton) {\r\n var $detailsItem = $(\"<div>\").appendTo($container);\r\n if (-1 !== itemIndex) {\r\n $detailsItem.addClass(DX_CARD_CLASS)\r\n }\r\n return this._createProgressBox($detailsItem, {\r\n commonText: item.commonText,\r\n imageUrl: item.imageUrl,\r\n skipProgressBox: skipProgressBox,\r\n showCloseButton: showCloseButton,\r\n showCloseButtonAlways: showCloseButton,\r\n onCloseButtonClick: () => this._cancelOperationItem(item, itemIndex)\r\n })\r\n }\r\n completeOperationItem(operationInfo, itemIndex, commonProgress) {\r\n if (operationInfo.allowProgressAutoUpdate) {\r\n this.updateOperationItemProgress(operationInfo, itemIndex, 100, commonProgress)\r\n }\r\n this._setCloseButtonVisible(operationInfo.details[itemIndex], false)\r\n }\r\n updateOperationItemProgress(operationInfo, itemIndex, itemProgress, commonProgress) {\r\n this.updateOperationCommonProgress(operationInfo, commonProgress);\r\n if (operationInfo.details) {\r\n var detailsItem = operationInfo.details[itemIndex];\r\n detailsItem.progressBar.option(\"value\", itemProgress)\r\n }\r\n }\r\n updateOperationCommonProgress(operationInfo, commonProgress) {\r\n var _operationInfo$common;\r\n null === (_operationInfo$common = operationInfo.common.progressBar) || void 0 === _operationInfo$common ? void 0 : _operationInfo$common.option(\"value\", commonProgress)\r\n }\r\n completeOperation(info, commonText, isError, statusText) {\r\n info.completed = true;\r\n info.common.$commonText.text(commonText);\r\n if (isError) {\r\n this._removeProgressBar(info.common)\r\n } else if (info.allowProgressAutoUpdate) {\r\n this.updateOperationCommonProgress(info, 100)\r\n }\r\n if (statusText) {\r\n this._setProgressBarText(info.common, statusText)\r\n }\r\n this._setCloseButtonVisible(info.common, true)\r\n }\r\n completeSingleOperationWithError(info, errorText) {\r\n var _info$details;\r\n var detailsItem = null === (_info$details = info.details) || void 0 === _info$details ? void 0 : _info$details[0];\r\n info.completed = true;\r\n this._renderOperationError(detailsItem || info.common, errorText);\r\n this._setCloseButtonVisible(info.common, true);\r\n if (detailsItem) {\r\n this._setCloseButtonVisible(detailsItem, false)\r\n }\r\n }\r\n addOperationDetailsError(info, index, errorText) {\r\n var detailsItem = info.details[index];\r\n this._renderOperationError(detailsItem, errorText);\r\n this._setCloseButtonVisible(detailsItem, false)\r\n }\r\n _renderError($container, $target, errorText) {\r\n $(\"<div>\").text(errorText).addClass(FILE_MANAGER_PROGRESS_BOX_ERROR_CLASS).appendTo($container)\r\n }\r\n _renderEmptyListText() {\r\n this._$infosContainer.text(messageLocalization.format(\"dxFileManager-notificationProgressPanelEmptyListText\"))\r\n }\r\n _renderOperationError(info, errorText) {\r\n this._removeProgressBar(info);\r\n this._renderError(info.$wrapper, info.$commonText, errorText)\r\n }\r\n _removeProgressBar(progressBox) {\r\n if (progressBox.progressBar) {\r\n progressBox.progressBar.dispose();\r\n progressBox.progressBar.$element().remove();\r\n progressBox.progressBar = null\r\n }\r\n }\r\n _createProgressBox($container, options) {\r\n $container.addClass(FILE_MANAGER_PROGRESS_BOX_CLASS);\r\n if (!options.showCloseButtonAlways) {\r\n $container.addClass(FILE_MANAGER_PROGRESS_BOX_WITHOUT_CLOSE_BUTTON_CLASS)\r\n }\r\n if (options.imageUrl) {\r\n getImageContainer(options.imageUrl).addClass(FILE_MANAGER_PROGRESS_BOX_IMAGE_CLASS).appendTo($container)\r\n }\r\n var $wrapper = $(\"<div>\").addClass(FILE_MANAGER_PROGRESS_BOX_WRAPPER_CLASS).appendTo($container);\r\n var $commonText = $(\"<div>\").addClass(FILE_MANAGER_PROGRESS_BOX_COMMON_CLASS).text(options.commonText).appendTo($wrapper);\r\n var progressBar = null;\r\n if (!options.skipProgressBox) {\r\n var $progressBar = $(\"<div>\").addClass(FILE_MANAGER_PROGRESS_BOX_PROGRESS_BAR_CLASS).appendTo($wrapper);\r\n progressBar = this._createComponent($progressBar, ProgressBar, {\r\n min: 0,\r\n max: 100,\r\n width: \"100%\",\r\n validationMessageMode: \"always\",\r\n statusFormat: (ratio, value) => this._getStatusString(ratio, value)\r\n })\r\n }\r\n var closeButton = null;\r\n if (options.showCloseButton) {\r\n var $button = $(\"<div>\").addClass(FILE_MANAGER_PROGRESS_BOX_CLOSE_BUTTON_CLASS).appendTo($container);\r\n closeButton = this._createComponent($button, Button, {\r\n icon: \"dx-filemanager-i dx-filemanager-i-cancel\",\r\n stylingMode: \"text\",\r\n visible: options.showCloseButtonAlways,\r\n onClick: options.onCloseButtonClick\r\n })\r\n }\r\n return {\r\n $commonText: $commonText,\r\n progressBar: progressBar,\r\n $element: $container,\r\n $wrapper: $wrapper,\r\n closeButton: closeButton\r\n }\r\n }\r\n _setCloseButtonVisible(progressBox, visible) {\r\n if (progressBox.closeButton) {\r\n progressBox.$element.toggleClass(FILE_MANAGER_PROGRESS_BOX_WITHOUT_CLOSE_BUTTON_CLASS, !visible);\r\n progressBox.closeButton.option(\"visible\", visible)\r\n }\r\n }\r\n _setProgressBarText(progressBox, text) {\r\n progressBox.progressBar.option(\"statusFormat\", () => text)\r\n }\r\n _closeOperation(info) {\r\n if (info.customCloseHandling && !info.completed) {\r\n this._raiseOperationCanceled(info);\r\n this._setCloseButtonVisible(info.common, false);\r\n info.details.forEach(item => this._displayClosedOperationItem(item))\r\n } else {\r\n this._raiseOperationClosed(info);\r\n info.$info.next(\".\".concat(FILE_MANAGER_PROGRESS_PANEL_SEPARATOR_CLASS)).remove();\r\n info.$info.remove();\r\n this._operationCount--;\r\n if (!this._operationCount) {\r\n this._renderEmptyListText()\r\n }\r\n }\r\n }\r\n _cancelOperationItem(item, itemIndex) {\r\n this._raiseOperationItemCanceled(item, itemIndex);\r\n var itemInfo = item.info.details[itemIndex];\r\n this._displayClosedOperationItem(itemInfo)\r\n }\r\n _displayClosedOperationItem(itemInfo) {\r\n this._setProgressBarText(itemInfo, messageLocalization.format(\"dxFileManager-notificationProgressPanelOperationCanceled\"));\r\n this._setCloseButtonVisible(itemInfo, false)\r\n }\r\n _getStatusString(ratio, value) {\r\n return 1 === ratio ? messageLocalization.format(\"Done\") : Math.round(100 * ratio) + \"%\"\r\n }\r\n _raiseOperationClosed(info) {\r\n this._actions.onOperationClosed({\r\n info: info\r\n })\r\n }\r\n _raiseOperationCanceled(info) {\r\n this._actions.onOperationCanceled({\r\n info: info\r\n })\r\n }\r\n _raiseOperationItemCanceled(item, itemIndex) {\r\n this._actions.onOperationItemCanceled({\r\n item: item,\r\n itemIndex: itemIndex\r\n })\r\n }\r\n _raisePanelClosed() {\r\n this._actions.onPanelClosed()\r\n }\r\n}\r\nexport default FileManagerProgressPanel;\r\n","/**\r\n * DevExtreme (esm/ui/file_manager/ui.file_manager.notification_manager.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Guid from \"../../core/guid\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n getImageContainer\r\n} from \"../../core/utils/icon\";\r\nimport FileManagerProgressPanel from \"./ui.file_manager.notification.progress_panel\";\r\nvar FILE_MANAGER_PROGRESS_BOX_CLASS = \"dx-filemanager-progress-box\";\r\nvar FILE_MANAGER_PROGRESS_BOX_ERROR_CLASS = \"\".concat(FILE_MANAGER_PROGRESS_BOX_CLASS, \"-error\");\r\nvar FILE_MANAGER_PROGRESS_BOX_IMAGE_CLASS = \"\".concat(FILE_MANAGER_PROGRESS_BOX_CLASS, \"-image\");\r\nvar FILE_MANAGER_PROGRESS_BOX_WRAPPER_CLASS = \"\".concat(FILE_MANAGER_PROGRESS_BOX_CLASS, \"-wrapper\");\r\nvar FILE_MANAGER_PROGRESS_BOX_COMMON_CLASS = \"\".concat(FILE_MANAGER_PROGRESS_BOX_CLASS, \"-common\");\r\nvar MANAGER_ID_NAME = \"__operationInfoManager\";\r\nvar ACTION_PROGRESS_STATUS = {\r\n default: \"default\",\r\n progress: \"progress\",\r\n error: \"error\",\r\n success: \"success\"\r\n};\r\nclass NotificationManagerBase {\r\n constructor(_ref) {\r\n var {\r\n onActionProgressStatusChanged: onActionProgressStatusChanged,\r\n isActual: isActual\r\n } = _ref;\r\n this._id = (new Guid).toString();\r\n this._isActual = isActual || false;\r\n this._actionProgressStatus = ACTION_PROGRESS_STATUS.default;\r\n this._raiseActionProgress = onActionProgressStatusChanged\r\n }\r\n getId() {\r\n return this._id\r\n }\r\n isActual() {\r\n return this._isActual\r\n }\r\n createErrorDetailsProgressBox($container, item, errorText) {\r\n var detailsItem = this._createDetailsItem($container, item);\r\n this.renderError(detailsItem.$wrapper, errorText)\r\n }\r\n renderError($container, errorText) {\r\n $(\"<div>\").text(errorText).addClass(FILE_MANAGER_PROGRESS_BOX_ERROR_CLASS).appendTo($container)\r\n }\r\n isActionProgressStatusDefault() {\r\n return this._actionProgressStatus === ACTION_PROGRESS_STATUS.default\r\n }\r\n _createDetailsItem($container, item) {\r\n var $detailsItem = $(\"<div>\").appendTo($container);\r\n return this._createProgressBox($detailsItem, {\r\n commonText: item.commonText,\r\n imageUrl: item.imageUrl\r\n })\r\n }\r\n _createProgressBox($container, options) {\r\n $container.addClass(FILE_MANAGER_PROGRESS_BOX_CLASS);\r\n if (options.imageUrl) {\r\n getImageContainer(options.imageUrl).addClass(FILE_MANAGER_PROGRESS_BOX_IMAGE_CLASS).appendTo($container)\r\n }\r\n var $wrapper = $(\"<div>\").addClass(FILE_MANAGER_PROGRESS_BOX_WRAPPER_CLASS).appendTo($container);\r\n var $commonText = $(\"<div>\").addClass(FILE_MANAGER_PROGRESS_BOX_COMMON_CLASS).text(options.commonText).appendTo($wrapper);\r\n return {\r\n $commonText: $commonText,\r\n $element: $container,\r\n $wrapper: $wrapper\r\n }\r\n }\r\n}\r\nclass NotificationManagerStub extends NotificationManagerBase {\r\n addOperation() {\r\n return {\r\n [MANAGER_ID_NAME]: this._id\r\n }\r\n }\r\n addOperationDetails() {}\r\n updateOperationItemProgress() {}\r\n completeOperationItem() {}\r\n finishOperation() {}\r\n completeOperation() {}\r\n completeSingleOperationWithError() {}\r\n addOperationDetailsError() {}\r\n handleDimensionChanged() {\r\n return false\r\n }\r\n ensureProgressPanelCreated() {}\r\n tryHideActionProgress() {\r\n this._updateActionProgress(\"\", ACTION_PROGRESS_STATUS.default)\r\n }\r\n updateActionProgressStatus() {\r\n this._updateActionProgress(\"\", ACTION_PROGRESS_STATUS.default)\r\n }\r\n _updateActionProgress(message, status) {\r\n if (status !== ACTION_PROGRESS_STATUS.default && status !== ACTION_PROGRESS_STATUS.progress) {\r\n return\r\n }\r\n this._actionProgressStatus = status;\r\n this._raiseActionProgress(message, status)\r\n }\r\n hasNoOperations() {\r\n return true\r\n }\r\n get _operationInProgressCount() {\r\n return 0\r\n }\r\n set _operationInProgressCount(value) {}\r\n get _failedOperationCount() {\r\n return 0\r\n }\r\n set _failedOperationCount(value) {}\r\n}\r\nclass NotificationManager extends NotificationManagerBase {\r\n constructor(options) {\r\n super(options);\r\n this._failedOperationCount = 0;\r\n this._operationInProgressCount = 0\r\n }\r\n addOperation(processingMessage, allowCancel, allowProgressAutoUpdate) {\r\n this._operationInProgressCount++;\r\n var operationInfo = this._progressPanel.addOperation(processingMessage, allowCancel, allowProgressAutoUpdate);\r\n operationInfo[MANAGER_ID_NAME] = this._id;\r\n this._updateActionProgress(processingMessage, ACTION_PROGRESS_STATUS.progress);\r\n return operationInfo\r\n }\r\n addOperationDetails(operationInfo, details, showCloseButton) {\r\n this._progressPanel.addOperationDetails(operationInfo, details, showCloseButton)\r\n }\r\n updateOperationItemProgress(operationInfo, itemIndex, itemProgress, commonProgress) {\r\n this._progressPanel.updateOperationItemProgress(operationInfo, itemIndex, itemProgress, commonProgress)\r\n }\r\n completeOperationItem(operationInfo, itemIndex, commonProgress) {\r\n this._progressPanel.completeOperationItem(operationInfo, itemIndex, commonProgress)\r\n }\r\n finishOperation(operationInfo, commonProgress) {\r\n this._progressPanel.updateOperationCommonProgress(operationInfo, commonProgress)\r\n }\r\n completeOperation(operationInfo, commonText, isError, statusText) {\r\n this._operationInProgressCount--;\r\n if (isError) {\r\n this._failedOperationCount++\r\n }\r\n this._progressPanel.completeOperation(operationInfo, commonText, isError, statusText)\r\n }\r\n completeSingleOperationWithError(operationInfo, errorInfo) {\r\n this._progressPanel.completeSingleOperationWithError(operationInfo, errorInfo.detailErrorText);\r\n this._notifyError(errorInfo)\r\n }\r\n addOperationDetailsError(operationInfo, errorInfo) {\r\n this._progressPanel.addOperationDetailsError(operationInfo, errorInfo.itemIndex, errorInfo.detailErrorText);\r\n this._notifyError(errorInfo)\r\n }\r\n handleDimensionChanged() {\r\n if (this._progressPanel) {\r\n this._progressPanel.$element().detach()\r\n }\r\n return true\r\n }\r\n ensureProgressPanelCreated(container, options) {\r\n if (!this._progressPanel) {\r\n var $progressPanelElement = $(\"<div>\").appendTo(container);\r\n var ProgressPanelClass = this._getProgressPanelComponent();\r\n this._progressPanel = new ProgressPanelClass($progressPanelElement, extend({}, options, {\r\n onOperationClosed: _ref2 => {\r\n var {\r\n info: info\r\n } = _ref2;\r\n return this._onProgressPanelOperationClosed(info)\r\n }\r\n }))\r\n } else {\r\n this._progressPanel.$element().appendTo(container)\r\n }\r\n }\r\n _getProgressPanelComponent() {\r\n return FileManagerProgressPanel\r\n }\r\n _onProgressPanelOperationClosed(operationInfo) {\r\n if (operationInfo.hasError) {\r\n this._failedOperationCount--;\r\n this.tryHideActionProgress()\r\n }\r\n }\r\n tryHideActionProgress() {\r\n if (this.hasNoOperations()) {\r\n this._updateActionProgress(\"\", ACTION_PROGRESS_STATUS.default)\r\n }\r\n }\r\n updateActionProgressStatus(operationInfo) {\r\n if (operationInfo) {\r\n var status = 0 === this._failedOperationCount ? ACTION_PROGRESS_STATUS.success : ACTION_PROGRESS_STATUS.error;\r\n this._updateActionProgress(\"\", status)\r\n }\r\n }\r\n _notifyError(errorInfo) {\r\n var status = this.hasNoOperations() ? ACTION_PROGRESS_STATUS.default : ACTION_PROGRESS_STATUS.error;\r\n this._updateActionProgress(errorInfo.commonErrorText, status)\r\n }\r\n _updateActionProgress(message, status) {\r\n this._actionProgressStatus = status;\r\n this._raiseActionProgress(message, status)\r\n }\r\n hasNoOperations() {\r\n return 0 === this._operationInProgressCount && 0 === this._failedOperationCount\r\n }\r\n get _operationInProgressCount() {\r\n return this._operationInProgressCountInternal\r\n }\r\n set _operationInProgressCount(value) {\r\n this._operationInProgressCountInternal = value\r\n }\r\n get _failedOperationCount() {\r\n return this._failedOperationCountInternal\r\n }\r\n set _failedOperationCount(value) {\r\n this._failedOperationCountInternal = value\r\n }\r\n}\r\nexport {\r\n NotificationManager,\r\n NotificationManagerStub,\r\n MANAGER_ID_NAME\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/file_manager/ui.file_manager.notification.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport Popup from \"../popup/ui.popup\";\r\nimport Drawer from \"../drawer/ui.drawer\";\r\nimport {\r\n NotificationManager,\r\n NotificationManagerStub,\r\n MANAGER_ID_NAME\r\n} from \"./ui.file_manager.notification_manager\";\r\nvar window = getWindow();\r\nvar ADAPTIVE_STATE_SCREEN_WIDTH = 1e3;\r\nvar FILE_MANAGER_NOTIFICATION_CLASS = \"dx-filemanager-notification\";\r\nvar FILE_MANAGER_NOTIFICATION_DRAWER_CLASS = \"\".concat(FILE_MANAGER_NOTIFICATION_CLASS, \"-drawer\");\r\nvar FILE_MANAGER_NOTIFICATION_DRAWER_PANEL_CLASS = \"\".concat(FILE_MANAGER_NOTIFICATION_DRAWER_CLASS, \"-panel\");\r\nvar FILE_MANAGER_NOTIFICATION_POPUP_CLASS = \"\".concat(FILE_MANAGER_NOTIFICATION_CLASS, \"-popup\");\r\nvar FILE_MANAGER_NOTIFICATION_POPUP_ERROR_CLASS = \"\".concat(FILE_MANAGER_NOTIFICATION_CLASS, \"-popup-error\");\r\nvar FILE_MANAGER_NOTIFICATION_COMMON_CLASS = \"\".concat(FILE_MANAGER_NOTIFICATION_CLASS, \"-common\");\r\nvar FILE_MANAGER_NOTIFICATION_SEPARATOR_CLASS = \"\".concat(FILE_MANAGER_NOTIFICATION_CLASS, \"-separator\");\r\nvar FILE_MANAGER_NOTIFICATION_DETAILS_CLASS = \"\".concat(FILE_MANAGER_NOTIFICATION_CLASS, \"-details\");\r\nvar FILE_MANAGER_NOTIFICATION_COMMON_NO_ITEM_CLASS = \"\".concat(FILE_MANAGER_NOTIFICATION_CLASS, \"-common-no-item\");\r\nexport default class FileManagerNotificationControl extends Widget {\r\n _initMarkup() {\r\n super._initMarkup();\r\n this._initActions();\r\n this._isInAdaptiveState = this._isSmallScreen();\r\n this._managerMap = {};\r\n this._notificationManagerStubId = null;\r\n this._setNotificationManager();\r\n var $progressPanelContainer = this.option(\"progressPanelContainer\");\r\n var $progressDrawer = $(\"<div>\").addClass(FILE_MANAGER_NOTIFICATION_DRAWER_CLASS).appendTo($progressPanelContainer);\r\n $(\"<div>\").addClass(FILE_MANAGER_NOTIFICATION_DRAWER_PANEL_CLASS).appendTo($progressDrawer);\r\n var drawerOptions = extend({\r\n opened: false,\r\n position: \"right\",\r\n template: container => this._ensureProgressPanelCreated(container)\r\n }, this._getProgressDrawerAdaptiveOptions());\r\n this._progressDrawer = this._createComponent($progressDrawer, Drawer, drawerOptions);\r\n var $drawerContent = $progressDrawer.find(\".\".concat(FILE_MANAGER_NOTIFICATION_DRAWER_PANEL_CLASS)).first();\r\n var contentRenderer = this.option(\"contentTemplate\");\r\n if (isFunction(contentRenderer)) {\r\n contentRenderer($drawerContent, this)\r\n }\r\n }\r\n _setNotificationManager(options) {\r\n options = extend({\r\n onActionProgressStatusChanged: this._raiseActionProgress.bind(this)\r\n }, options);\r\n if (!this._notificationManagerStubId) {\r\n var stubManager = new NotificationManagerStub(options);\r\n this._notificationManagerStubId = stubManager.getId();\r\n this._managerMap[this._notificationManagerStubId] = stubManager\r\n }\r\n if (!this._isProgressDrawerDisabled()) {\r\n var notificationManagerComponent = this._getProgressManagerComponent();\r\n options.isActual = true;\r\n var defaultManager = new notificationManagerComponent(options);\r\n this._managerMap[defaultManager.getId()] = defaultManager\r\n }\r\n }\r\n _getNotificationManager(operationInfo) {\r\n var actualManagerId = (null === operationInfo || void 0 === operationInfo ? void 0 : operationInfo[MANAGER_ID_NAME]) || this._getActualNotificationManagerId();\r\n return this._managerMap[actualManagerId] || this._managerMap[this._notificationManagerStubId]\r\n }\r\n _clearManagerMap() {\r\n var stubManager = this._managerMap[this._notificationManagerStubId];\r\n delete this._managerMap;\r\n this._managerMap = {\r\n [this._notificationManagerStubId]: stubManager\r\n }\r\n }\r\n _getActualNotificationManagerId() {\r\n return Object.keys(this._managerMap).filter(managerId => this._managerMap[managerId].isActual())[0]\r\n }\r\n tryShowProgressPanel() {\r\n var promise = new Deferred;\r\n var notificationManager = this._getNotificationManager();\r\n if (notificationManager.isActionProgressStatusDefault() || this._isProgressDrawerOpened() || this._isProgressDrawerDisabled()) {\r\n return promise.resolve().promise()\r\n }\r\n setTimeout(() => {\r\n this._progressDrawer.show().done(promise.resolve);\r\n this._hidePopup();\r\n notificationManager.tryHideActionProgress()\r\n });\r\n return promise.promise()\r\n }\r\n addOperation(processingMessage, allowCancel, allowProgressAutoUpdate) {\r\n var notificationManager = this._getNotificationManager();\r\n return notificationManager.addOperation(processingMessage, allowCancel, allowProgressAutoUpdate)\r\n }\r\n addOperationDetails(operationInfo, details, showCloseButton) {\r\n var notificationManager = this._getNotificationManager(operationInfo);\r\n notificationManager.addOperationDetails(operationInfo, details, showCloseButton)\r\n }\r\n updateOperationItemProgress(operationInfo, itemIndex, itemProgress, commonProgress) {\r\n var notificationManager = this._getNotificationManager(operationInfo);\r\n notificationManager.updateOperationItemProgress(operationInfo, itemIndex, itemProgress, commonProgress)\r\n }\r\n completeOperationItem(operationInfo, itemIndex, commonProgress) {\r\n var notificationManager = this._getNotificationManager(operationInfo);\r\n notificationManager.completeOperationItem(operationInfo, itemIndex, commonProgress)\r\n }\r\n finishOperation(operationInfo, commonProgress) {\r\n var notificationManager = this._getNotificationManager(operationInfo);\r\n notificationManager.finishOperation(operationInfo, commonProgress)\r\n }\r\n completeOperation(operationInfo, commonText, isError, statusText) {\r\n var notificationManager = this._getNotificationManager(operationInfo);\r\n if (!isError) {\r\n this._showPopup(commonText)\r\n }\r\n notificationManager.completeOperation(operationInfo, commonText, isError, statusText);\r\n if (!this._isProgressDrawerOpened() || !notificationManager.hasNoOperations()) {\r\n notificationManager.updateActionProgressStatus(operationInfo)\r\n } else {\r\n notificationManager.tryHideActionProgress()\r\n }\r\n }\r\n completeSingleOperationWithError(operationInfo, errorInfo) {\r\n var notificationManager = this._getNotificationManager(operationInfo);\r\n notificationManager.completeSingleOperationWithError(operationInfo, errorInfo);\r\n this._showPopupError(errorInfo)\r\n }\r\n addOperationDetailsError(operationInfo, errorInfo) {\r\n var notificationManager = this._getNotificationManager(operationInfo);\r\n notificationManager.addOperationDetailsError(operationInfo, errorInfo);\r\n this._showPopupError(errorInfo)\r\n }\r\n _hideProgressPanel() {\r\n setTimeout(() => this._progressDrawer.hide())\r\n }\r\n _isSmallScreen() {\r\n if (!hasWindow()) {\r\n return false\r\n }\r\n return getWidth(window) <= ADAPTIVE_STATE_SCREEN_WIDTH\r\n }\r\n _dimensionChanged(dimension) {\r\n if (!(dimension && \"height\" === dimension)) {\r\n this._checkAdaptiveState()\r\n }\r\n }\r\n _checkAdaptiveState() {\r\n var oldState = this._isInAdaptiveState;\r\n this._isInAdaptiveState = this._isSmallScreen();\r\n if (oldState !== this._isInAdaptiveState && this._progressDrawer) {\r\n var notificationManager = this._getNotificationManager();\r\n if (notificationManager.handleDimensionChanged()) {\r\n var options = this._getProgressDrawerAdaptiveOptions();\r\n this._progressDrawer.option(options)\r\n }\r\n }\r\n }\r\n _getProgressDrawerAdaptiveOptions() {\r\n if (this._isInAdaptiveState) {\r\n return {\r\n openedStateMode: \"overlap\",\r\n shading: true,\r\n hideOnOutsideClick: true\r\n }\r\n } else {\r\n return {\r\n openedStateMode: \"shrink\",\r\n shading: false,\r\n hideOnOutsideClick: false\r\n }\r\n }\r\n }\r\n _ensureProgressPanelCreated(container) {\r\n var notificationManager = this._getNotificationManager();\r\n notificationManager.ensureProgressPanelCreated(container, {\r\n onOperationCanceled: _ref => {\r\n var {\r\n info: info\r\n } = _ref;\r\n return this._raiseOperationCanceled(info)\r\n },\r\n onOperationItemCanceled: _ref2 => {\r\n var {\r\n item: item,\r\n itemIndex: itemIndex\r\n } = _ref2;\r\n return this._raiseOperationItemCanceled(item, itemIndex)\r\n },\r\n onPanelClosed: () => this._hideProgressPanel()\r\n })\r\n }\r\n _getProgressManagerComponent() {\r\n return NotificationManager\r\n }\r\n _isProgressDrawerDisabled() {\r\n return !this.option(\"showProgressPanel\")\r\n }\r\n _isProgressDrawerOpened() {\r\n return this._progressDrawer.option(\"opened\")\r\n }\r\n _hidePopup(forceHide) {\r\n if (!this.option(\"showNotificationPopup\") && !forceHide) {\r\n return\r\n }\r\n this._getNotificationPopup().hide()\r\n }\r\n _showPopup(content, errorMode) {\r\n if (this._isProgressDrawerOpened() || !this.option(\"showNotificationPopup\")) {\r\n return\r\n }\r\n this._getNotificationPopup().$wrapper().toggleClass(FILE_MANAGER_NOTIFICATION_POPUP_ERROR_CLASS, !!errorMode);\r\n this._getNotificationPopup().option(\"contentTemplate\", content);\r\n if (!this._getNotificationPopup().option(\"visible\")) {\r\n this._getNotificationPopup().show()\r\n }\r\n }\r\n _showPopupError(errorInfo) {\r\n if (!this.option(\"showNotificationPopup\")) {\r\n return\r\n }\r\n var notificationManager = this._getNotificationManager();\r\n var $content = $(\"<div>\");\r\n var $message = $(\"<div>\").addClass(FILE_MANAGER_NOTIFICATION_COMMON_CLASS).text(errorInfo.commonErrorText);\r\n var $separator = $(\"<div>\").addClass(FILE_MANAGER_NOTIFICATION_SEPARATOR_CLASS);\r\n $(\"<div>\").appendTo($separator);\r\n var $details = $(\"<div>\").addClass(FILE_MANAGER_NOTIFICATION_DETAILS_CLASS);\r\n if (errorInfo.item) {\r\n notificationManager.createErrorDetailsProgressBox($details, errorInfo.item, errorInfo.detailErrorText)\r\n } else {\r\n $message.addClass(FILE_MANAGER_NOTIFICATION_COMMON_NO_ITEM_CLASS);\r\n notificationManager.renderError($details, errorInfo.detailErrorText)\r\n }\r\n $content.append($message, $separator, $details);\r\n this._showPopup($content, true)\r\n }\r\n _getNotificationPopup() {\r\n if (!this._notificationPopup) {\r\n var $popup = $(\"<div>\").appendTo(this.$element());\r\n this._notificationPopup = this._createComponent($popup, Popup, {\r\n container: this.$element(),\r\n width: \"auto\",\r\n height: \"auto\",\r\n showTitle: false,\r\n dragEnabled: false,\r\n shading: false,\r\n visible: false,\r\n hideOnOutsideClick: true,\r\n animation: {\r\n duration: 0\r\n },\r\n position: {\r\n my: \"right top\",\r\n at: \"right top\",\r\n of: this.option(\"positionTarget\"),\r\n offset: \"-10 -5\"\r\n },\r\n _wrapperClassExternal: FILE_MANAGER_NOTIFICATION_POPUP_CLASS\r\n })\r\n }\r\n return this._notificationPopup\r\n }\r\n _raiseActionProgress(message, status) {\r\n this._actions.onActionProgress({\r\n message: message,\r\n status: status\r\n })\r\n }\r\n _raiseOperationCanceled(info) {\r\n this._actions.onOperationCanceled({\r\n info: info\r\n })\r\n }\r\n _raiseOperationItemCanceled(item, index) {\r\n this._actions.onOperationItemCanceled({\r\n item: item,\r\n itemIndex: index\r\n })\r\n }\r\n _initActions() {\r\n this._actions = {\r\n onActionProgress: this._createActionByOption(\"onActionProgress\"),\r\n onOperationCanceled: this._createActionByOption(\"onOperationCanceled\"),\r\n onOperationItemCanceled: this._createActionByOption(\"onOperationItemCanceled\")\r\n }\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n progressPanelContainer: null,\r\n contentTemplate: null,\r\n onActionProgress: null,\r\n onOperationCanceled: null,\r\n onOperationItemCanceled: null,\r\n showProgressPanel: true,\r\n showNotificationPopup: true\r\n })\r\n }\r\n _optionChanged(args) {\r\n var name = args.name;\r\n switch (name) {\r\n case \"progressPanelContainer\":\r\n case \"contentTemplate\":\r\n break;\r\n case \"showProgressPanel\":\r\n this._setNotificationManager();\r\n this._getNotificationManager().updateActionProgressStatus();\r\n if (!args.value) {\r\n this._hideProgressPanel();\r\n this._clearManagerMap()\r\n }\r\n this._progressDrawer.repaint();\r\n break;\r\n case \"showNotificationPopup\":\r\n if (!args.value) {\r\n this._hidePopup(true)\r\n }\r\n break;\r\n case \"onActionProgress\":\r\n case \"onOperationCanceled\":\r\n case \"onOperationItemCanceled\":\r\n this._actions[name] = this._createActionByOption(name);\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/file_manager/ui.file_manager.dialog.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport Popup from \"../popup/ui.popup\";\r\nvar FILE_MANAGER_DIALOG_CONTENT = \"dx-filemanager-dialog\";\r\nvar FILE_MANAGER_DIALOG_POPUP = \"dx-filemanager-dialog-popup\";\r\nclass FileManagerDialogBase extends Widget {\r\n _initMarkup() {\r\n var _options$popupCssClas;\r\n super._initMarkup();\r\n this._createOnClosedAction();\r\n var options = this._getDialogOptions();\r\n var $popup = $(\"<div>\").appendTo(this.$element());\r\n var popupOptions = {\r\n showTitle: true,\r\n title: options.title,\r\n visible: false,\r\n hideOnOutsideClick: true,\r\n contentTemplate: this._createContentTemplate.bind(this),\r\n toolbarItems: [{\r\n widget: \"dxButton\",\r\n toolbar: \"bottom\",\r\n location: \"after\",\r\n options: {\r\n text: options.buttonText,\r\n onClick: this._applyDialogChanges.bind(this)\r\n }\r\n }, {\r\n widget: \"dxButton\",\r\n toolbar: \"bottom\",\r\n location: \"after\",\r\n options: {\r\n text: messageLocalization.format(\"dxFileManager-dialogButtonCancel\"),\r\n onClick: this._closeDialog.bind(this)\r\n }\r\n }],\r\n onInitialized: _ref => {\r\n var {\r\n component: component\r\n } = _ref;\r\n component.registerKeyHandler(\"enter\", this._applyDialogChanges.bind(this))\r\n },\r\n onHiding: this._onPopupHiding.bind(this),\r\n onShown: this._onPopupShown.bind(this),\r\n _wrapperClassExternal: \"\".concat(FILE_MANAGER_DIALOG_POPUP, \" \").concat(null !== (_options$popupCssClas = options.popupCssClass) && void 0 !== _options$popupCssClas ? _options$popupCssClas : \"\")\r\n };\r\n if (isDefined(options.height)) {\r\n popupOptions.height = options.height\r\n }\r\n if (isDefined(options.maxHeight)) {\r\n popupOptions.maxHeight = options.maxHeight\r\n }\r\n this._popup = this._createComponent($popup, Popup, popupOptions)\r\n }\r\n show() {\r\n this._dialogResult = null;\r\n this._popup.show()\r\n }\r\n _getDialogOptions() {\r\n return {\r\n title: \"Title\",\r\n buttonText: \"ButtonText\",\r\n contentCssClass: \"\",\r\n popupCssClass: \"\"\r\n }\r\n }\r\n _createContentTemplate(element) {\r\n this._$contentElement = $(\"<div>\").appendTo(element).addClass(FILE_MANAGER_DIALOG_CONTENT);\r\n var cssClass = this._getDialogOptions().contentCssClass;\r\n if (cssClass) {\r\n this._$contentElement.addClass(cssClass)\r\n }\r\n }\r\n _getDialogResult() {\r\n return null\r\n }\r\n _applyDialogChanges() {\r\n var result = this._getDialogResult();\r\n if (result) {\r\n this._dialogResult = result;\r\n this._closeDialog()\r\n }\r\n }\r\n _closeDialog() {\r\n this._popup.hide()\r\n }\r\n _onPopupHiding() {\r\n this._onClosedAction({\r\n dialogResult: this._dialogResult\r\n })\r\n }\r\n _onPopupShown() {}\r\n _createOnClosedAction() {\r\n this._onClosedAction = this._createActionByOption(\"onClosed\")\r\n }\r\n _setTitle(newTitle) {\r\n this._popup.option(\"title\", newTitle)\r\n }\r\n _setApplyButtonOptions(options) {\r\n this._popup.option(\"toolbarItems[0].options\", options)\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n onClosed: null\r\n })\r\n }\r\n _optionChanged(args) {\r\n var name = args.name;\r\n switch (name) {\r\n case \"onClosed\":\r\n this._createOnPathChangedAction();\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n}\r\nexport default FileManagerDialogBase;\r\n","/**\r\n * DevExtreme (esm/ui/file_manager/ui.file_manager.dialog.name_editor.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport TextBox from \"../text_box\";\r\nimport FileManagerDialogBase from \"./ui.file_manager.dialog\";\r\nvar FILE_MANAGER_DIALOG_NAME_EDITOR = \"dx-filemanager-dialog-name-editor\";\r\nvar FILE_MANAGER_DIALOG_NAME_EDITOR_POPUP = \"dx-filemanager-dialog-name-editor-popup\";\r\nclass FileManagerNameEditorDialog extends FileManagerDialogBase {\r\n show(name) {\r\n name = name || \"\";\r\n if (this._nameTextBox) {\r\n this._nameTextBox.option(\"value\", name)\r\n } else {\r\n this._initialNameValue = name\r\n }\r\n super.show()\r\n }\r\n _onPopupShown() {\r\n if (!this._nameTextBox) {\r\n return\r\n }\r\n var $textBoxInput = this._nameTextBox._input();\r\n $textBoxInput.length && $textBoxInput[0].select();\r\n this._nameTextBox.focus()\r\n }\r\n _getDialogOptions() {\r\n return extend(super._getDialogOptions(), {\r\n title: this.option(\"title\"),\r\n buttonText: this.option(\"buttonText\"),\r\n contentCssClass: FILE_MANAGER_DIALOG_NAME_EDITOR,\r\n popupCssClass: FILE_MANAGER_DIALOG_NAME_EDITOR_POPUP\r\n })\r\n }\r\n _createContentTemplate(element) {\r\n super._createContentTemplate(element);\r\n this._nameTextBox = this._createComponent($(\"<div>\"), TextBox, {\r\n value: this._initialNameValue,\r\n onEnterKey: () => this._hasCompositionJustEnded && this._applyDialogChanges(),\r\n onKeyDown: e => this._checkCompositionEnded(e)\r\n });\r\n this._$contentElement.append(this._nameTextBox.$element())\r\n }\r\n _checkCompositionEnded(_ref) {\r\n var {\r\n event: event\r\n } = _ref;\r\n this._hasCompositionJustEnded = 229 !== event.which\r\n }\r\n _getDialogResult() {\r\n var nameValue = this._nameTextBox.option(\"value\");\r\n return nameValue ? {\r\n name: nameValue\r\n } : null\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n title: \"\",\r\n buttonText: \"\"\r\n })\r\n }\r\n}\r\nexport default FileManagerNameEditorDialog;\r\n","/**\r\n * DevExtreme (esm/ui/file_manager/ui.file_manager.dialog.folder_chooser.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n getMapFromObject\r\n} from \"./ui.file_manager.common\";\r\nimport FileManagerDialogBase from \"./ui.file_manager.dialog\";\r\nimport FileManagerFilesTreeView from \"./ui.file_manager.files_tree_view\";\r\nvar FILE_MANAGER_DIALOG_FOLDER_CHOOSER = \"dx-filemanager-dialog-folder-chooser\";\r\nvar FILE_MANAGER_DIALOG_FOLDER_CHOOSER_POPUP = \"dx-filemanager-dialog-folder-chooser-popup\";\r\nclass FileManagerFolderChooserDialog extends FileManagerDialogBase {\r\n show() {\r\n var _this$_filesTreeView;\r\n this._setSelectedDirInfo(null);\r\n null === (_this$_filesTreeView = this._filesTreeView) || void 0 === _this$_filesTreeView ? void 0 : _this$_filesTreeView.refresh();\r\n super.show()\r\n }\r\n switchToCopyDialog(targetItemInfos) {\r\n this._targetItemInfos = targetItemInfos;\r\n this._setTitle(messageLocalization.format(\"dxFileManager-dialogDirectoryChooserCopyTitle\"));\r\n this._setApplyButtonOptions({\r\n text: messageLocalization.format(\"dxFileManager-dialogDirectoryChooserCopyButtonText\"),\r\n disabled: true\r\n })\r\n }\r\n switchToMoveDialog(targetItemInfos) {\r\n this._targetItemInfos = targetItemInfos;\r\n this._setTitle(messageLocalization.format(\"dxFileManager-dialogDirectoryChooserMoveTitle\"));\r\n this._setApplyButtonOptions({\r\n text: messageLocalization.format(\"dxFileManager-dialogDirectoryChooserMoveButtonText\"),\r\n disabled: true\r\n })\r\n }\r\n _getDialogOptions() {\r\n return extend(super._getDialogOptions(), {\r\n contentCssClass: FILE_MANAGER_DIALOG_FOLDER_CHOOSER,\r\n popupCssClass: FILE_MANAGER_DIALOG_FOLDER_CHOOSER_POPUP\r\n })\r\n }\r\n _createContentTemplate(element) {\r\n super._createContentTemplate(element);\r\n this._filesTreeView = this._createComponent($(\"<div>\"), FileManagerFilesTreeView, {\r\n getDirectories: this.option(\"getDirectories\"),\r\n getCurrentDirectory: () => this._getDialogSelectedDirectory(),\r\n onDirectoryClick: e => this._onFilesTreeViewDirectoryClick(e),\r\n onFilesTreeViewContentReady: () => this._toggleUnavailableLocationsDisabled(true)\r\n });\r\n this._$contentElement.append(this._filesTreeView.$element())\r\n }\r\n _getDialogResult() {\r\n var result = this._getDialogSelectedDirectory();\r\n return result ? {\r\n folder: result\r\n } : result\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n getItems: null\r\n })\r\n }\r\n _getDialogSelectedDirectory() {\r\n return this._selectedDirectoryInfo\r\n }\r\n _onFilesTreeViewDirectoryClick(_ref) {\r\n var {\r\n itemData: itemData\r\n } = _ref;\r\n this._setSelectedDirInfo(itemData);\r\n this._filesTreeView.updateCurrentDirectory()\r\n }\r\n _setSelectedDirInfo(dirInfo) {\r\n this._selectedDirectoryInfo = dirInfo;\r\n this._setApplyButtonOptions({\r\n disabled: !dirInfo\r\n })\r\n }\r\n _onPopupShown() {\r\n this._toggleUnavailableLocationsDisabled(true);\r\n super._onPopupShown()\r\n }\r\n _onPopupHiding() {\r\n this._toggleUnavailableLocationsDisabled(false);\r\n super._onPopupHiding()\r\n }\r\n _toggleUnavailableLocationsDisabled(isDisabled) {\r\n if (!this._filesTreeView) {\r\n return\r\n }\r\n var locations = this._getLocationsToProcess(isDisabled);\r\n this._filesTreeView.toggleDirectoryExpandedStateRecursive(locations.locationsToExpand[0], isDisabled).then(() => this._filesTreeView.toggleDirectoryLineExpandedState(locations.locationsToCollapse, !isDisabled).then(() => locations.locationKeysToDisable.forEach(key => this._filesTreeView.toggleNodeDisabledState(key, isDisabled))))\r\n }\r\n _getLocationsToProcess(isDisabled) {\r\n var expandLocations = {};\r\n var collapseLocations = {};\r\n this._targetItemInfos.forEach(itemInfo => {\r\n if (itemInfo.parentDirectory) {\r\n expandLocations[itemInfo.parentDirectory.getInternalKey()] = itemInfo.parentDirectory\r\n }\r\n if (itemInfo.fileItem.isDirectory) {\r\n collapseLocations[itemInfo.getInternalKey()] = itemInfo\r\n }\r\n });\r\n var expandMap = getMapFromObject(expandLocations);\r\n var collapseMap = getMapFromObject(collapseLocations);\r\n return {\r\n locationsToExpand: isDisabled ? expandMap.values : [],\r\n locationsToCollapse: isDisabled ? collapseMap.values : [],\r\n locationKeysToDisable: expandMap.keys.concat(...collapseMap.keys)\r\n }\r\n }\r\n}\r\nexport default FileManagerFolderChooserDialog;\r\n","/**\r\n * DevExtreme (esm/ui/file_manager/ui.file_manager.dialog.delete_item.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport ScrollView from \"../scroll_view\";\r\nimport FileManagerDialogBase from \"./ui.file_manager.dialog\";\r\nvar FILE_MANAGER_DIALOG_DELETE_ITEM = \"dx-filemanager-dialog-delete-item\";\r\nvar FILE_MANAGER_DIALOG_DELETE_ITEM_POPUP = \"dx-filemanager-dialog-delete-item-popup\";\r\nclass FileManagerDeleteItemDialog extends FileManagerDialogBase {\r\n show(_ref) {\r\n var {\r\n itemName: itemName,\r\n itemCount: itemCount\r\n } = _ref;\r\n var text = 1 === itemCount ? messageLocalization.format(\"dxFileManager-dialogDeleteItemSingleItemConfirmation\", itemName) : messageLocalization.format(\"dxFileManager-dialogDeleteItemMultipleItemsConfirmation\", itemCount);\r\n if (this._$text) {\r\n this._$text.text(text)\r\n } else {\r\n this._initialText = text\r\n }\r\n super.show()\r\n }\r\n _getDialogOptions() {\r\n return extend(super._getDialogOptions(), {\r\n title: messageLocalization.format(\"dxFileManager-dialogDeleteItemTitle\"),\r\n buttonText: messageLocalization.format(\"dxFileManager-dialogDeleteItemButtonText\"),\r\n contentCssClass: FILE_MANAGER_DIALOG_DELETE_ITEM,\r\n popupCssClass: FILE_MANAGER_DIALOG_DELETE_ITEM_POPUP,\r\n height: \"auto\",\r\n maxHeight: \"80vh\"\r\n })\r\n }\r\n _createContentTemplate(element) {\r\n super._createContentTemplate(element);\r\n this._$text = $(\"<div>\").text(this._initialText).appendTo(this._$contentElement);\r\n this._createComponent(this._$contentElement, ScrollView, {\r\n width: \"100%\",\r\n height: \"100%\"\r\n })\r\n }\r\n _getDialogResult() {\r\n return {}\r\n }\r\n}\r\nexport default FileManagerDeleteItemDialog;\r\n","/**\r\n * DevExtreme (esm/ui/file_manager/ui.file_manager.dialog_manager.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport FileManagerNameEditorDialog from \"./ui.file_manager.dialog.name_editor\";\r\nimport FileManagerFolderChooserDialog from \"./ui.file_manager.dialog.folder_chooser\";\r\nimport FileManagerDeleteItemDialog from \"./ui.file_manager.dialog.delete_item\";\r\nclass FileManagerDialogManager {\r\n constructor($element, options) {\r\n this._$element = $element;\r\n this._options = options;\r\n var baseDialogOptions = {\r\n onClosed: this._options.onDialogClosed,\r\n rtlEnabled: this._options.rtlEnabled\r\n };\r\n var $chooseFolderDialog = $(\"<div>\").appendTo(this._$element);\r\n this._chooseDirectoryDialog = new FileManagerFolderChooserDialog($chooseFolderDialog, extend(baseDialogOptions, this._options.chooseDirectoryDialog));\r\n var $renameDialog = $(\"<div>\").appendTo(this._$element);\r\n this._renameItemDialog = new FileManagerNameEditorDialog($renameDialog, extend(baseDialogOptions, {\r\n title: messageLocalization.format(\"dxFileManager-dialogRenameItemTitle\"),\r\n buttonText: messageLocalization.format(\"dxFileManager-dialogRenameItemButtonText\")\r\n }));\r\n var $createDialog = $(\"<div>\").appendTo(this._$element);\r\n this._createItemDialog = new FileManagerNameEditorDialog($createDialog, extend(baseDialogOptions, {\r\n title: messageLocalization.format(\"dxFileManager-dialogCreateDirectoryTitle\"),\r\n buttonText: messageLocalization.format(\"dxFileManager-dialogCreateDirectoryButtonText\")\r\n }));\r\n var $deleteItemDialog = $(\"<div>\").appendTo(this._$element);\r\n this._deleteItemDialog = new FileManagerDeleteItemDialog($deleteItemDialog, baseDialogOptions)\r\n }\r\n getCopyDialog(targetItemInfos) {\r\n this._chooseDirectoryDialog.switchToCopyDialog(targetItemInfos);\r\n return this._chooseDirectoryDialog\r\n }\r\n getMoveDialog(targetItemInfos) {\r\n this._chooseDirectoryDialog.switchToMoveDialog(targetItemInfos);\r\n return this._chooseDirectoryDialog\r\n }\r\n getRenameItemDialog() {\r\n return this._renameItemDialog\r\n }\r\n getCreateItemDialog() {\r\n return this._createItemDialog\r\n }\r\n getDeleteItemDialog() {\r\n return this._deleteItemDialog\r\n }\r\n updateDialogRtl(value) {\r\n [this._chooseDirectoryDialog, this._renameItemDialog, this._createItemDialog, this._deleteItemDialog].forEach(dialog => {\r\n dialog.option(\"rtlEnabled\", value)\r\n })\r\n }\r\n}\r\nexport default FileManagerDialogManager;\r\n","/**\r\n * DevExtreme (esm/ui/file_manager/ui.file_manager.file_uploader.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getInnerHeight,\r\n setHeight,\r\n setWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport Guid from \"../../core/guid\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport FileUploader from \"../file_uploader\";\r\nimport {\r\n whenSome\r\n} from \"./ui.file_manager.common\";\r\nvar FILE_MANAGER_FILE_UPLOADER_CLASS = \"dx-filemanager-fileuploader\";\r\nvar FILE_MANAGER_FILE_UPLOADER_DROPZONE_PLACEHOLER_CLASS = \"dx-filemanager-fileuploader-dropzone-placeholder\";\r\nclass FileManagerFileUploader extends Widget {\r\n _initMarkup() {\r\n this._initActions();\r\n this.$element().addClass(FILE_MANAGER_FILE_UPLOADER_CLASS);\r\n this._uploaderInfos = [];\r\n this._createInternalFileUploader();\r\n this._createDropZonePlaceholder();\r\n this._setDropZonePlaceholderVisible(false);\r\n super._initMarkup()\r\n }\r\n _createInternalFileUploader() {\r\n var chunkSize = this._getController().chunkSize;\r\n var $fileUploader = $(\"<div>\").appendTo(this.$element());\r\n var fileUploader = this._createComponent($fileUploader, FileUploader, {\r\n name: \"file\",\r\n multiple: true,\r\n showFileList: false,\r\n activeStateEnabled: false,\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false,\r\n labelText: \"\",\r\n readyToUploadMessage: \"\",\r\n accept: \"*\",\r\n chunkSize: chunkSize,\r\n dropZone: this.option(\"dropZone\"),\r\n onValueChanged: e => this._onFileUploaderValueChanged(e),\r\n onProgress: e => this._onFileUploaderProgress(e),\r\n onUploaded: e => this._onFileUploaderUploaded(e),\r\n onFilesUploaded: e => this._onFileUploaderAllFilesUploaded(e),\r\n onUploadAborted: e => this._onFileUploaderUploadAborted(e),\r\n onUploadError: e => this._onFileUploaderUploadError(e),\r\n onDropZoneEnter: () => this._setDropZonePlaceholderVisible(true),\r\n onDropZoneLeave: () => this._setDropZonePlaceholderVisible(false)\r\n });\r\n fileUploader.option({\r\n uploadChunk: (file, chunksData) => this._fileUploaderUploadChunk(fileUploader, file, chunksData),\r\n abortUpload: (file, chunksData) => this._fileUploaderAbortUpload(fileUploader, file, chunksData)\r\n });\r\n fileUploader._shouldRaiseDragLeaveBase = fileUploader._shouldRaiseDragLeave;\r\n fileUploader._shouldRaiseDragLeave = e => this._shouldRaiseDragLeave(e, fileUploader);\r\n var uploaderInfo = {\r\n fileUploader: fileUploader\r\n };\r\n this._uploaderInfos.push(uploaderInfo)\r\n }\r\n tryUpload() {\r\n var info = this._findAndUpdateAvailableUploaderInfo();\r\n if (info) {\r\n info.fileUploader._selectButtonClickHandler()\r\n }\r\n }\r\n cancelUpload(sessionId) {\r\n this._cancelUpload(sessionId)\r\n }\r\n cancelFileUpload(sessionId, fileIndex) {\r\n this._cancelUpload(sessionId, fileIndex)\r\n }\r\n _cancelUpload(sessionId, fileIndex) {\r\n var {\r\n fileUploader: fileUploader\r\n } = this._findUploaderInfoBySessionId(sessionId);\r\n fileUploader.abortUpload(fileIndex)\r\n }\r\n _fileUploaderUploadChunk(fileUploader, file, chunksInfo) {\r\n var {\r\n session: session,\r\n fileIndex: fileIndex\r\n } = this._findSessionByFile(fileUploader, file);\r\n var controller = session.controller;\r\n chunksInfo.fileIndex = fileIndex;\r\n return controller.uploadFileChunk(file, chunksInfo)\r\n }\r\n _fileUploaderAbortUpload(fileUploader, file, chunksInfo) {\r\n var {\r\n session: session,\r\n fileIndex: fileIndex\r\n } = this._findSessionByFile(fileUploader, file);\r\n var controller = session.controller;\r\n chunksInfo.fileIndex = fileIndex;\r\n return controller.abortFileUpload(file, chunksInfo)\r\n }\r\n _onFileUploaderValueChanged(_ref) {\r\n var {\r\n component: component,\r\n value: value\r\n } = _ref;\r\n if (0 === value.length) {\r\n return\r\n }\r\n var files = value.slice();\r\n var uploaderInfo = this._findUploaderInfo(component);\r\n this._uploadFiles(uploaderInfo, files);\r\n setTimeout(() => {\r\n if (!this._findAndUpdateAvailableUploaderInfo()) {\r\n this._createInternalFileUploader()\r\n }\r\n })\r\n }\r\n _onFileUploaderProgress(_ref2) {\r\n var {\r\n component: component,\r\n file: file,\r\n bytesLoaded: bytesLoaded,\r\n bytesTotal: bytesTotal\r\n } = _ref2;\r\n var {\r\n session: session,\r\n fileIndex: fileIndex\r\n } = this._findSessionByFile(component, file);\r\n var fileValue = 0 !== bytesTotal ? bytesLoaded / bytesTotal : 1;\r\n var commonValue = component.option(\"progress\") / 100;\r\n var args = {\r\n sessionId: session.id,\r\n fileIndex: fileIndex,\r\n commonValue: commonValue,\r\n fileValue: fileValue\r\n };\r\n this._raiseUploadProgress(args)\r\n }\r\n _onFileUploaderAllFilesUploaded(_ref3) {\r\n var {\r\n component: component\r\n } = _ref3;\r\n var {\r\n session: session\r\n } = this._findSessionByFile(component, component._files[0].value);\r\n this._raiseUploadFinished({\r\n sessionId: session.id,\r\n commonValue: component.option(\"progress\") / 100\r\n })\r\n }\r\n _onFileUploaderUploaded(_ref4) {\r\n var {\r\n component: component,\r\n file: file\r\n } = _ref4;\r\n var deferred = this._getDeferredForFile(component, file);\r\n deferred.resolve()\r\n }\r\n _onFileUploaderUploadAborted(_ref5) {\r\n var {\r\n component: component,\r\n file: file\r\n } = _ref5;\r\n var deferred = this._getDeferredForFile(component, file);\r\n deferred.resolve({\r\n canceled: true\r\n })\r\n }\r\n _onFileUploaderUploadError(_ref6) {\r\n var {\r\n component: component,\r\n file: file,\r\n error: error\r\n } = _ref6;\r\n var deferred = this._getDeferredForFile(component, file);\r\n deferred.reject(error)\r\n }\r\n _createDropZonePlaceholder() {\r\n this._$dropZonePlaceholder = $(\"<div>\").addClass(FILE_MANAGER_FILE_UPLOADER_DROPZONE_PLACEHOLER_CLASS).appendTo(this.option(\"dropZonePlaceholderContainer\"))\r\n }\r\n _adjustDropZonePlaceholder() {\r\n var $dropZoneTarget = this.option(\"dropZone\");\r\n if (!hasWindow() || 0 === $dropZoneTarget.length) {\r\n return\r\n }\r\n var placeholderBorderTopWidth = parseFloat(this._$dropZonePlaceholder.css(\"borderTopWidth\"));\r\n var placeholderBorderLeftWidth = parseFloat(this._$dropZonePlaceholder.css(\"borderLeftWidth\"));\r\n var $placeholderContainer = this.option(\"dropZonePlaceholderContainer\");\r\n var containerBorderBottomWidth = parseFloat($placeholderContainer.css(\"borderBottomWidth\"));\r\n var containerBorderLeftWidth = parseFloat($placeholderContainer.css(\"borderLeftWidth\"));\r\n var containerHeight = getInnerHeight($placeholderContainer);\r\n var containerOffset = $placeholderContainer.offset();\r\n var dropZoneOffset = $dropZoneTarget.offset();\r\n this._$dropZonePlaceholder.css({\r\n top: dropZoneOffset.top - containerOffset.top - containerHeight - containerBorderBottomWidth,\r\n left: dropZoneOffset.left - containerOffset.left - containerBorderLeftWidth\r\n });\r\n setHeight(this._$dropZonePlaceholder, $dropZoneTarget.get(0).offsetHeight - 2 * placeholderBorderTopWidth);\r\n setWidth(this._$dropZonePlaceholder, $dropZoneTarget.get(0).offsetWidth - 2 * placeholderBorderLeftWidth)\r\n }\r\n _setDropZonePlaceholderVisible(visible) {\r\n if (visible) {\r\n this._adjustDropZonePlaceholder();\r\n this._$dropZonePlaceholder.css(\"display\", \"\")\r\n } else {\r\n this._$dropZonePlaceholder.css(\"display\", \"none\")\r\n }\r\n }\r\n _shouldRaiseDragLeave(e, uploaderInstance) {\r\n return uploaderInstance.isMouseOverElement(e, this.option(\"splitterElement\")) || uploaderInstance._shouldRaiseDragLeaveBase(e, true)\r\n }\r\n _uploadFiles(uploaderInfo, files) {\r\n this._setDropZonePlaceholderVisible(false);\r\n var sessionId = (new Guid).toString();\r\n var controller = this._getController();\r\n var deferreds = files.map(() => new Deferred);\r\n var session = {\r\n id: sessionId,\r\n controller: controller,\r\n files: files,\r\n deferreds: deferreds\r\n };\r\n uploaderInfo.session = session;\r\n var sessionInfo = {\r\n sessionId: sessionId,\r\n deferreds: deferreds,\r\n files: files\r\n };\r\n this._raiseUploadSessionStarted(sessionInfo);\r\n return whenSome(deferreds).always(() => setTimeout(() => {\r\n uploaderInfo.fileUploader.reset();\r\n uploaderInfo.session = null\r\n }))\r\n }\r\n _getDeferredForFile(fileUploader, file) {\r\n var {\r\n session: session,\r\n fileIndex: fileIndex\r\n } = this._findSessionByFile(fileUploader, file);\r\n return session.deferreds[fileIndex]\r\n }\r\n _findSessionByFile(fileUploader, file) {\r\n var uploaderInfo = this._findUploaderInfo(fileUploader);\r\n var session = uploaderInfo.session;\r\n var fileIndex = session.files.indexOf(file);\r\n return {\r\n session: session,\r\n fileIndex: fileIndex\r\n }\r\n }\r\n _findUploaderInfoBySessionId(sessionId) {\r\n for (var i = 0; i < this._uploaderInfos.length; i++) {\r\n var uploaderInfo = this._uploaderInfos[i];\r\n var session = uploaderInfo.session;\r\n if (session && session.id === sessionId) {\r\n return uploaderInfo\r\n }\r\n }\r\n return null\r\n }\r\n _findAndUpdateAvailableUploaderInfo() {\r\n var _info;\r\n var info = null;\r\n for (var i = 0; i < this._uploaderInfos.length; i++) {\r\n var currentInfo = this._uploaderInfos[i];\r\n currentInfo.fileUploader.option(\"dropZone\", \"\");\r\n if (!info && !currentInfo.session) {\r\n info = currentInfo\r\n }\r\n }\r\n null === (_info = info) || void 0 === _info ? void 0 : _info.fileUploader.option(\"dropZone\", this.option(\"dropZone\"));\r\n return info\r\n }\r\n _findUploaderInfo(fileUploader) {\r\n for (var i = 0; i < this._uploaderInfos.length; i++) {\r\n var info = this._uploaderInfos[i];\r\n if (info.fileUploader === fileUploader) {\r\n return info\r\n }\r\n }\r\n return null\r\n }\r\n _getController() {\r\n var controllerGetter = this.option(\"getController\");\r\n return controllerGetter()\r\n }\r\n _raiseUploadSessionStarted(sessionInfo) {\r\n this._actions.onUploadSessionStarted({\r\n sessionInfo: sessionInfo\r\n })\r\n }\r\n _raiseUploadProgress(args) {\r\n this._actions.onUploadProgress(args)\r\n }\r\n _raiseUploadFinished(args) {\r\n this._actions.onUploadFinished(args)\r\n }\r\n _initActions() {\r\n this._actions = {\r\n onUploadSessionStarted: this._createActionByOption(\"onUploadSessionStarted\"),\r\n onUploadProgress: this._createActionByOption(\"onUploadProgress\"),\r\n onUploadFinished: this._createActionByOption(\"onUploadFinished\")\r\n }\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n getController: null,\r\n onUploadSessionStarted: null,\r\n onUploadProgress: null,\r\n onUploadFinished: null,\r\n splitterElement: null\r\n })\r\n }\r\n _optionChanged(args) {\r\n var name = args.name;\r\n switch (name) {\r\n case \"getController\":\r\n this.repaint();\r\n break;\r\n case \"onUploadSessionStarted\":\r\n case \"onUploadProgress\":\r\n case \"onUploadFinished\":\r\n this._actions[name] = this._createActionByOption(name);\r\n break;\r\n case \"dropZone\":\r\n this._findAndUpdateAvailableUploaderInfo();\r\n this._adjustDropZonePlaceholder();\r\n break;\r\n case \"dropZonePlaceholderContainer\":\r\n this._$dropZonePlaceholder.detach();\r\n this._$dropZonePlaceholder.appendTo(args.value);\r\n break;\r\n case \"splitterElement\":\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n}\r\nexport default FileManagerFileUploader;\r\n","/**\r\n * DevExtreme (esm/ui/file_manager/ui.file_manager.messages.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport messageLocalization from \"../../localization/message\";\r\nimport ErrorCode from \"../../file_management/error_codes\";\r\nexport var FileManagerMessages = {\r\n get: (errorCode, args) => {\r\n switch (errorCode) {\r\n case ErrorCode.NoAccess:\r\n return messageLocalization.format(\"dxFileManager-errorNoAccess\");\r\n case ErrorCode.FileExists:\r\n return messageLocalization.format(\"dxFileManager-errorFileExistsFormat\", args);\r\n case ErrorCode.FileNotFound:\r\n return messageLocalization.format(\"dxFileManager-errorFileNotFoundFormat\", args);\r\n case ErrorCode.DirectoryExists:\r\n return messageLocalization.format(\"dxFileManager-errorDirectoryExistsFormat\", args);\r\n case ErrorCode.DirectoryNotFound:\r\n return messageLocalization.format(\"dxFileManager-errorDirectoryNotFoundFormat\", args);\r\n case ErrorCode.WrongFileExtension:\r\n return messageLocalization.format(\"dxFileManager-errorWrongFileExtension\");\r\n case ErrorCode.MaxFileSizeExceeded:\r\n return messageLocalization.format(\"dxFileManager-errorMaxFileSizeExceeded\");\r\n case ErrorCode.InvalidSymbols:\r\n return messageLocalization.format(\"dxFileManager-errorInvalidSymbols\")\r\n }\r\n return messageLocalization.format(\"dxFileManager-errorDefault\")\r\n }\r\n};\r\nexport {\r\n ErrorCode\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/file_manager/ui.file_manager.editing.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n format\r\n} from \"../../core/utils/string\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport FileManagerDialogManager from \"./ui.file_manager.dialog_manager\";\r\nimport FileManagerFileUploader from \"./ui.file_manager.file_uploader\";\r\nimport {\r\n ErrorCode,\r\n FileManagerMessages\r\n} from \"./ui.file_manager.messages\";\r\nclass FileManagerEditingControl extends Widget {\r\n _initMarkup() {\r\n super._initMarkup();\r\n this._initActions();\r\n this._controller = this.option(\"controller\");\r\n this._controller.on(\"EditActionStarting\", this._onEditActionStarting.bind(this));\r\n this._controller.on(\"EditActionResultAcquired\", this._onEditActionResultAcquired.bind(this));\r\n this._controller.on(\"EditActionItemError\", this._onEditActionItemError.bind(this));\r\n this._controller.on(\"EditActionError\", this._onEditActionError.bind(this));\r\n this._controller.on(\"CompleteEditActionItem\", this._onCompleteEditActionItem.bind(this));\r\n this._controller.on(\"CompleteEditAction\", this._onCompleteEditAction.bind(this));\r\n this._model = this.option(\"model\");\r\n this._uploadOperationInfoMap = {};\r\n this._dialogManager = new FileManagerDialogManager(this.$element(), {\r\n chooseDirectoryDialog: {\r\n provider: this._controller._fileProvider,\r\n getDirectories: this._controller.getDirectories.bind(this._controller),\r\n getCurrentDirectory: this._controller.getCurrentDirectory.bind(this._controller)\r\n },\r\n rtlEnabled: this.option(\"rtlEnabled\"),\r\n onDialogClosed: this._onDialogClosed.bind(this)\r\n });\r\n this._fileUploader = this._createFileUploader();\r\n var notificationControl = this.option(\"notificationControl\");\r\n if (notificationControl) {\r\n this._initNotificationControl(notificationControl)\r\n }\r\n this._createMetadataMap()\r\n }\r\n _initNotificationControl(notificationControl) {\r\n this._notificationControl = notificationControl;\r\n this._notificationControl.option({\r\n onOperationCanceled: _ref => {\r\n var {\r\n info: info\r\n } = _ref;\r\n return this._onCancelUploadSession(info)\r\n },\r\n onOperationItemCanceled: _ref2 => {\r\n var {\r\n item: item,\r\n itemIndex: itemIndex\r\n } = _ref2;\r\n return this._onCancelFileUpload(item, itemIndex)\r\n }\r\n })\r\n }\r\n _getFileUploaderComponent() {\r\n return FileManagerFileUploader\r\n }\r\n _createFileUploader() {\r\n var $fileUploader = $(\"<div>\").appendTo(this.$element());\r\n return this._createComponent($fileUploader, this._getFileUploaderComponent(), {\r\n getController: this._getFileUploaderController.bind(this),\r\n dropZonePlaceholderContainer: this.option(\"uploadDropZonePlaceholderContainer\"),\r\n onUploadSessionStarted: e => this._onUploadSessionStarted(e),\r\n onUploadProgress: e => this._onUploadProgress(e),\r\n onUploadFinished: e => this._onUploadFinished(e)\r\n })\r\n }\r\n setUploaderDropZone($element) {\r\n this._fileUploader.option(\"dropZone\", $element)\r\n }\r\n setUploaderSplitterElement(element) {\r\n this._fileUploader.option(\"splitterElement\", element)\r\n }\r\n _getFileUploaderController() {\r\n var uploadDirectory = this.uploadDirectoryInfo.fileItem;\r\n return {\r\n chunkSize: this._controller.getFileUploadChunkSize(),\r\n uploadFileChunk: (fileData, chunksInfo) => this._controller.uploadFileChunk(fileData, chunksInfo, uploadDirectory),\r\n abortFileUpload: (fileData, chunksInfo) => this._controller.abortFileUpload(fileData, chunksInfo, uploadDirectory)\r\n }\r\n }\r\n _createMetadataMap() {\r\n this._metadataMap = {\r\n create: {\r\n action: arg => this._tryCreate(arg),\r\n affectsAllItems: true,\r\n singleItemProcessingMessage: messageLocalization.format(\"dxFileManager-editingCreateSingleItemProcessingMessage\"),\r\n singleItemSuccessMessage: messageLocalization.format(\"dxFileManager-editingCreateSingleItemSuccessMessage\"),\r\n singleItemErrorMessage: messageLocalization.format(\"dxFileManager-editingCreateSingleItemErrorMessage\"),\r\n commonErrorMessage: messageLocalization.format(\"dxFileManager-editingCreateCommonErrorMessage\")\r\n },\r\n rename: {\r\n action: arg => this._tryRename(arg),\r\n singleItemProcessingMessage: messageLocalization.format(\"dxFileManager-editingRenameSingleItemProcessingMessage\"),\r\n singleItemSuccessMessage: messageLocalization.format(\"dxFileManager-editingRenameSingleItemSuccessMessage\"),\r\n singleItemErrorMessage: messageLocalization.format(\"dxFileManager-editingRenameSingleItemErrorMessage\"),\r\n commonErrorMessage: messageLocalization.format(\"dxFileManager-editingRenameCommonErrorMessage\")\r\n },\r\n delete: {\r\n action: arg => this._tryDelete(arg),\r\n singleItemProcessingMessage: messageLocalization.format(\"dxFileManager-editingDeleteSingleItemProcessingMessage\"),\r\n multipleItemsProcessingMessage: messageLocalization.format(\"dxFileManager-editingDeleteMultipleItemsProcessingMessage\"),\r\n singleItemSuccessMessage: messageLocalization.format(\"dxFileManager-editingDeleteSingleItemSuccessMessage\"),\r\n multipleItemsSuccessMessage: messageLocalization.format(\"dxFileManager-editingDeleteMultipleItemsSuccessMessage\"),\r\n singleItemErrorMessage: messageLocalization.format(\"dxFileManager-editingDeleteSingleItemErrorMessage\"),\r\n multipleItemsErrorMessage: messageLocalization.format(\"dxFileManager-editingDeleteMultipleItemsErrorMessage\"),\r\n commonErrorMessage: messageLocalization.format(\"dxFileManager-editingDeleteCommonErrorMessage\")\r\n },\r\n move: {\r\n action: arg => this._tryMove(arg),\r\n singleItemProcessingMessage: messageLocalization.format(\"dxFileManager-editingMoveSingleItemProcessingMessage\"),\r\n multipleItemsProcessingMessage: messageLocalization.format(\"dxFileManager-editingMoveMultipleItemsProcessingMessage\"),\r\n singleItemSuccessMessage: messageLocalization.format(\"dxFileManager-editingMoveSingleItemSuccessMessage\"),\r\n multipleItemsSuccessMessage: messageLocalization.format(\"dxFileManager-editingMoveMultipleItemsSuccessMessage\"),\r\n singleItemErrorMessage: messageLocalization.format(\"dxFileManager-editingMoveSingleItemErrorMessage\"),\r\n multipleItemsErrorMessage: messageLocalization.format(\"dxFileManager-editingMoveMultipleItemsErrorMessage\"),\r\n commonErrorMessage: messageLocalization.format(\"dxFileManager-editingMoveCommonErrorMessage\")\r\n },\r\n copy: {\r\n action: arg => this._tryCopy(arg),\r\n singleItemProcessingMessage: messageLocalization.format(\"dxFileManager-editingCopySingleItemProcessingMessage\"),\r\n multipleItemsProcessingMessage: messageLocalization.format(\"dxFileManager-editingCopyMultipleItemsProcessingMessage\"),\r\n singleItemSuccessMessage: messageLocalization.format(\"dxFileManager-editingCopySingleItemSuccessMessage\"),\r\n multipleItemsSuccessMessage: messageLocalization.format(\"dxFileManager-editingCopyMultipleItemsSuccessMessage\"),\r\n singleItemErrorMessage: messageLocalization.format(\"dxFileManager-editingCopySingleItemErrorMessage\"),\r\n multipleItemsErrorMessage: messageLocalization.format(\"dxFileManager-editingCopyMultipleItemsErrorMessage\"),\r\n commonErrorMessage: messageLocalization.format(\"dxFileManager-editingCopyCommonErrorMessage\")\r\n },\r\n upload: {\r\n action: arg => this._tryUpload(arg),\r\n allowCancel: true,\r\n allowItemProgress: true,\r\n singleItemProcessingMessage: messageLocalization.format(\"dxFileManager-editingUploadSingleItemProcessingMessage\"),\r\n multipleItemsProcessingMessage: messageLocalization.format(\"dxFileManager-editingUploadMultipleItemsProcessingMessage\"),\r\n singleItemSuccessMessage: messageLocalization.format(\"dxFileManager-editingUploadSingleItemSuccessMessage\"),\r\n multipleItemsSuccessMessage: messageLocalization.format(\"dxFileManager-editingUploadMultipleItemsSuccessMessage\"),\r\n singleItemErrorMessage: messageLocalization.format(\"dxFileManager-editingUploadSingleItemErrorMessage\"),\r\n multipleItemsErrorMessage: messageLocalization.format(\"dxFileManager-editingUploadMultipleItemsErrorMessage\"),\r\n canceledMessage: messageLocalization.format(\"dxFileManager-editingUploadCanceledMessage\")\r\n },\r\n download: {\r\n action: arg => this._download(arg),\r\n singleItemProcessingMessage: \"\",\r\n multipleItemsProcessingMessage: \"\",\r\n singleItemErrorMessage: messageLocalization.format(\"dxFileManager-editingDownloadSingleItemErrorMessage\"),\r\n multipleItemsErrorMessage: messageLocalization.format(\"dxFileManager-editingDownloadMultipleItemsErrorMessage\")\r\n },\r\n getItemContent: {\r\n action: arg => this._getItemContent(arg)\r\n },\r\n getItems: {\r\n singleItemProcessingMessage: \"\",\r\n singleItemErrorMessage: messageLocalization.format(\"dxFileManager-errorDirectoryOpenFailed\"),\r\n commonErrorMessage: messageLocalization.format(\"dxFileManager-errorDirectoryOpenFailed\")\r\n }\r\n }\r\n }\r\n getCommandActions() {\r\n var result = {};\r\n each(this._metadataMap, name => {\r\n if (Object.prototype.hasOwnProperty.call(this._metadataMap, name)) {\r\n result[name] = arg => this._executeAction(name, arg)\r\n }\r\n });\r\n return result\r\n }\r\n _executeAction(actionName, arg) {\r\n var actionMetadata = this._metadataMap[actionName];\r\n return actionMetadata ? actionMetadata.action(arg) : null\r\n }\r\n _onCancelUploadSession(info) {\r\n this._fileUploader.cancelUpload(info.uploadSessionId)\r\n }\r\n _onCancelFileUpload(item, itemIndex) {\r\n this._fileUploader.cancelFileUpload(item.info.uploadSessionId, itemIndex)\r\n }\r\n _onUploadProgress(_ref3) {\r\n var {\r\n sessionId: sessionId,\r\n fileIndex: fileIndex,\r\n commonValue: commonValue,\r\n fileValue: fileValue\r\n } = _ref3;\r\n var {\r\n operationInfo: operationInfo\r\n } = this._uploadOperationInfoMap[sessionId];\r\n this._notificationControl.updateOperationItemProgress(operationInfo, fileIndex, 100 * fileValue, 100 * commonValue)\r\n }\r\n _onUploadFinished(_ref4) {\r\n var {\r\n sessionId: sessionId,\r\n commonValue: commonValue\r\n } = _ref4;\r\n var {\r\n operationInfo: operationInfo\r\n } = this._uploadOperationInfoMap[sessionId];\r\n this._notificationControl.finishOperation(operationInfo, 100 * commonValue);\r\n this._scheduleUploadSessionDisposal(sessionId, \"uploader\")\r\n }\r\n _onUploadSessionStarted(_ref5) {\r\n var {\r\n sessionInfo: sessionInfo\r\n } = _ref5;\r\n this._controller.processUploadSession(sessionInfo, this.uploadDirectoryInfo)\r\n }\r\n _onEditActionStarting(actionInfo) {\r\n var actionMetadata = this._metadataMap[actionInfo.name];\r\n var context = new FileManagerActionContext(actionMetadata, actionInfo.itemInfos, actionInfo.directory);\r\n var operationInfo = this._notificationControl.addOperation(context.processingMessage, actionMetadata.allowCancel, !actionMetadata.allowItemProgress);\r\n extend(actionInfo.customData, {\r\n context: context,\r\n operationInfo: operationInfo\r\n });\r\n switch (actionInfo.name) {\r\n case \"upload\":\r\n var sessionId = actionInfo.customData.sessionInfo.sessionId;\r\n operationInfo.uploadSessionId = sessionId;\r\n this._uploadOperationInfoMap[sessionId] = {\r\n operationInfo: operationInfo\r\n };\r\n break;\r\n case \"rename\":\r\n actionInfo.customData.context.itemNewName = actionInfo.customData.itemNewName\r\n }\r\n }\r\n _onEditActionResultAcquired(actionInfo) {\r\n var {\r\n context: context,\r\n operationInfo: operationInfo\r\n } = actionInfo.customData;\r\n context.singleRequest = actionInfo.singleRequest;\r\n var details = context.itemInfos.map(itemInfo => this._getItemProgressDisplayInfo(itemInfo));\r\n this._notificationControl.addOperationDetails(operationInfo, details, context.actionMetadata.allowCancel)\r\n }\r\n _onEditActionError(actionInfo, errorInfo) {\r\n var {\r\n context: context,\r\n operationInfo: operationInfo\r\n } = actionInfo.customData;\r\n context.singleRequest = actionInfo.singleRequest;\r\n this._handleActionError(operationInfo, context, errorInfo);\r\n this._completeAction(operationInfo, context)\r\n }\r\n _onEditActionItemError(actionInfo, errorInfo) {\r\n var {\r\n context: context,\r\n operationInfo: operationInfo\r\n } = actionInfo.customData;\r\n this._handleActionError(operationInfo, context, errorInfo)\r\n }\r\n _onCompleteEditActionItem(actionInfo, info) {\r\n var {\r\n context: context,\r\n operationInfo: operationInfo\r\n } = actionInfo.customData;\r\n if (!info.result || !info.result.canceled) {\r\n context.completeOperationItem(info.index);\r\n this._notificationControl.completeOperationItem(operationInfo, info.index, context.commonProgress)\r\n }\r\n }\r\n _onCompleteEditAction(actionInfo) {\r\n var {\r\n context: context,\r\n operationInfo: operationInfo\r\n } = actionInfo.customData;\r\n this._completeAction(operationInfo, context);\r\n if (\"upload\" === actionInfo.name) {\r\n this._scheduleUploadSessionDisposal(actionInfo.customData.sessionInfo.sessionId, \"controller\")\r\n }\r\n }\r\n _scheduleUploadSessionDisposal(sessionId, requester) {\r\n if (isDefined(this._uploadOperationInfoMap[sessionId].requester) && this._uploadOperationInfoMap[sessionId].requester !== requester) {\r\n delete this._uploadOperationInfoMap[sessionId]\r\n } else {\r\n this._uploadOperationInfoMap[sessionId].requester = requester\r\n }\r\n }\r\n _tryCreate(parentDirectories) {\r\n var parentDirectoryInfo = parentDirectories && parentDirectories[0] || this._getCurrentDirectory();\r\n var newDirName = messageLocalization.format(\"dxFileManager-newDirectoryName\");\r\n return this._showDialog(this._dialogManager.getCreateItemDialog(), newDirName).then(_ref6 => {\r\n var {\r\n name: name\r\n } = _ref6;\r\n return this._controller.createDirectory(parentDirectoryInfo, name)\r\n })\r\n }\r\n _tryRename(itemInfos) {\r\n var itemInfo = itemInfos && itemInfos[0] || this._model.getMultipleSelectedItems()[0];\r\n if (!itemInfo) {\r\n return (new Deferred).reject().promise()\r\n }\r\n return this._showDialog(this._dialogManager.getRenameItemDialog(), itemInfo.fileItem.name).then(_ref7 => {\r\n var {\r\n name: name\r\n } = _ref7;\r\n return this._controller.renameItem(itemInfo, name)\r\n })\r\n }\r\n _tryDelete(itemInfos) {\r\n itemInfos = itemInfos || this._model.getMultipleSelectedItems();\r\n if (0 === itemInfos.length) {\r\n return (new Deferred).reject().promise()\r\n }\r\n var itemName = itemInfos[0].fileItem.name;\r\n var itemCount = itemInfos.length;\r\n return this._showDialog(this._dialogManager.getDeleteItemDialog(), {\r\n itemName: itemName,\r\n itemCount: itemCount\r\n }).then(() => this._controller.deleteItems(itemInfos))\r\n }\r\n _tryMove(itemInfos) {\r\n itemInfos = itemInfos || this._model.getMultipleSelectedItems();\r\n if (0 === itemInfos.length) {\r\n return (new Deferred).reject().promise()\r\n }\r\n return this._showDialog(this._dialogManager.getMoveDialog(itemInfos)).then(_ref8 => {\r\n var {\r\n folder: folder\r\n } = _ref8;\r\n return this._controller.moveItems(itemInfos, folder)\r\n })\r\n }\r\n _tryCopy(itemInfos) {\r\n itemInfos = itemInfos || this._model.getMultipleSelectedItems();\r\n if (0 === itemInfos.length) {\r\n return (new Deferred).reject().promise()\r\n }\r\n return this._showDialog(this._dialogManager.getCopyDialog(itemInfos)).then(_ref9 => {\r\n var {\r\n folder: folder\r\n } = _ref9;\r\n return this._controller.copyItems(itemInfos, folder)\r\n })\r\n }\r\n _tryUpload(destinationFolder) {\r\n this._uploadDirectoryInfo = null === destinationFolder || void 0 === destinationFolder ? void 0 : destinationFolder[0];\r\n this._fileUploader.tryUpload()\r\n }\r\n _download(itemInfos) {\r\n itemInfos = itemInfos || this._model.getMultipleSelectedItems();\r\n if (0 === itemInfos.length) {\r\n return (new Deferred).reject().promise()\r\n }\r\n return this._controller.downloadItems(itemInfos)\r\n }\r\n _getItemContent(itemInfos) {\r\n itemInfos = itemInfos || this._model.getMultipleSelectedItems();\r\n return this._controller.getItemContent(itemInfos)\r\n }\r\n _completeAction(operationInfo, context) {\r\n this._notificationControl.completeOperation(operationInfo, context.completionMessage, !context.success, context.statusText);\r\n if (context.hasModifiedItems()) {\r\n this._raiseOnSuccess(context.onlyFiles)\r\n }\r\n }\r\n _handleActionError(operationInfo, context, errorInfo) {\r\n operationInfo.hasError = true;\r\n if (context.singleRequest) {\r\n this._handleSingleRequestActionError(operationInfo, context, errorInfo)\r\n } else {\r\n this._handleMultipleRequestActionError(operationInfo, context, errorInfo)\r\n }\r\n }\r\n _handleSingleRequestActionError(operationInfo, context, errorInfo) {\r\n var itemInfo = context.getItemForSingleRequestError();\r\n var itemName = context.getItemName(errorInfo.errorCode);\r\n var errorText = this._getErrorText(errorInfo, itemInfo, itemName);\r\n context.processSingleRequestError(errorText);\r\n var operationErrorInfo = this._getOperationErrorInfo(context);\r\n this._notificationControl.completeSingleOperationWithError(operationInfo, operationErrorInfo);\r\n if (context.multipleItems) {\r\n this._raiseOnSuccess(context.onlyFiles)\r\n }\r\n }\r\n _handleMultipleRequestActionError(operationInfo, context, errorInfo) {\r\n var itemInfo = context.getItemForMultipleRequestError(errorInfo.index);\r\n var itemName = context.getItemName(errorInfo.errorCode, errorInfo.index);\r\n var errorText = this._getErrorText(errorInfo, itemInfo, itemName);\r\n context.processMultipleRequestError(errorInfo.index, errorText);\r\n var operationErrorInfo = this._getOperationErrorInfo(context);\r\n this._notificationControl.addOperationDetailsError(operationInfo, operationErrorInfo)\r\n }\r\n _getOperationErrorInfo(context) {\r\n var detailError = context.errorState.currentDetailError;\r\n return {\r\n commonErrorText: context.errorState.commonErrorText,\r\n item: detailError.itemInfo ? this._getItemProgressDisplayInfo(detailError.itemInfo) : null,\r\n itemIndex: detailError.itemIndex,\r\n detailErrorText: detailError.errorText\r\n }\r\n }\r\n _getErrorText(errorInfo, itemInfo, itemName) {\r\n var errorText = errorInfo.errorText || FileManagerMessages.get(errorInfo.errorCode, itemName);\r\n var errorArgs = {\r\n fileSystemItem: null === itemInfo || void 0 === itemInfo ? void 0 : itemInfo.fileItem,\r\n errorCode: errorInfo.errorCode,\r\n errorText: errorText\r\n };\r\n this._raiseOnError(errorArgs);\r\n return errorArgs.errorText\r\n }\r\n _getItemProgressDisplayInfo(itemInfo) {\r\n return {\r\n commonText: itemInfo.fileItem.name,\r\n imageUrl: this._getItemThumbnail(itemInfo)\r\n }\r\n }\r\n _showDialog(dialog, dialogArgument) {\r\n this._dialogDeferred = new Deferred;\r\n dialog.show(dialogArgument);\r\n return this._dialogDeferred.promise()\r\n }\r\n _onDialogClosed(e) {\r\n var result = e.dialogResult;\r\n if (result) {\r\n this._dialogDeferred.resolve(result)\r\n } else {\r\n this._dialogDeferred.reject()\r\n }\r\n }\r\n updateDialogRtl(value) {\r\n this._dialogManager.updateDialogRtl(value)\r\n }\r\n _getItemThumbnail(item) {\r\n var itemThumbnailGetter = this.option(\"getItemThumbnail\");\r\n if (!itemThumbnailGetter) {\r\n return null\r\n }\r\n var info = itemThumbnailGetter(item);\r\n return info ? info.thumbnail : null\r\n }\r\n _initActions() {\r\n this._actions = {\r\n onSuccess: this._createActionByOption(\"onSuccess\"),\r\n onError: this._createActionByOption(\"onError\")\r\n }\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n model: {\r\n getMultipleSelectedItems: null\r\n },\r\n notificationControl: null,\r\n getItemThumbnail: null,\r\n onSuccess: null,\r\n onError: null\r\n })\r\n }\r\n _optionChanged(args) {\r\n var name = args.name;\r\n switch (name) {\r\n case \"model\":\r\n this.repaint();\r\n break;\r\n case \"notificationControl\":\r\n this._initNotificationControl(args.value);\r\n break;\r\n case \"getItemThumbnail\":\r\n break;\r\n case \"uploadDropZonePlaceholderContainer\":\r\n this._fileUploader.option(\"dropZonePlaceholderContainer\", args.value);\r\n break;\r\n case \"onSuccess\":\r\n case \"onError\":\r\n this._actions[name] = this._createActionByOption(name);\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _raiseOnSuccess(updatedOnlyFiles) {\r\n this._actions.onSuccess({\r\n updatedOnlyFiles: updatedOnlyFiles\r\n })\r\n }\r\n _raiseOnError(args) {\r\n this._actions.onError(args)\r\n }\r\n _getCurrentDirectory() {\r\n return this._controller.getCurrentDirectory()\r\n }\r\n get uploadDirectoryInfo() {\r\n return this._uploadDirectoryInfo || this._getCurrentDirectory()\r\n }\r\n}\r\nclass FileManagerActionContext {\r\n constructor(actionMetadata, itemInfos, directoryInfo) {\r\n this._actionMetadata = actionMetadata;\r\n this._itemInfos = itemInfos;\r\n this._onlyFiles = !this._actionMetadata.affectsAllItems && this._itemInfos.every(info => !info.fileItem.isDirectory);\r\n this._items = this._itemInfos.map(itemInfo => itemInfo.fileItem);\r\n this._multipleItems = this._items.length > 1;\r\n this._location = directoryInfo.getDisplayName();\r\n this._singleRequest = true;\r\n this._completedItems = [];\r\n this._commonProgress = 0;\r\n this._errorState = {\r\n failedCount: 0\r\n };\r\n this._itemNewName = \"\"\r\n }\r\n completeOperationItem(itemIndex) {\r\n if (this._singleRequest) {\r\n this._completedItems = [...this._items]\r\n } else {\r\n var item = this._items[itemIndex];\r\n this._completedItems.push(item)\r\n }\r\n if (!this._actionMetadata.allowItemProgress) {\r\n this._commonProgress = this._completedItems.length / this._items.length * 100\r\n }\r\n }\r\n processSingleRequestError(errorText) {\r\n this._errorState.failedCount = 1;\r\n this._errorState.commonErrorText = this._multipleItems ? this._actionMetadata.commonErrorMessage : this._actionMetadata.singleItemErrorMessage;\r\n var itemIndex = this._multipleItems ? -1 : 1;\r\n var itemInfo = this.getItemForSingleRequestError();\r\n this._setCurrentDetailError(itemIndex, itemInfo, errorText)\r\n }\r\n processMultipleRequestError(itemIndex, errorText) {\r\n this._errorState.failedCount++;\r\n this._errorState.commonErrorText = this._errorState.failedCount > 1 ? format(this._actionMetadata.multipleItemsErrorMessage, this._errorState.failedCount) : this._actionMetadata.singleItemErrorMessage;\r\n var itemInfo = this.getItemForMultipleRequestError(itemIndex);\r\n this._setCurrentDetailError(itemIndex, itemInfo, errorText)\r\n }\r\n hasModifiedItems() {\r\n return this._hasCompletedItems() || this._singleRequest && !this.success && this._multipleItems\r\n }\r\n getItemForSingleRequestError() {\r\n return this._multipleItems ? null : this._itemInfos[0]\r\n }\r\n getItemForMultipleRequestError(itemIndex) {\r\n return this._itemInfos[itemIndex]\r\n }\r\n getItemName(errorCode, itemIndex) {\r\n var itemInfo = this.singleRequest ? this.getItemForSingleRequestError() : this.getItemForMultipleRequestError(itemIndex);\r\n var result = null === itemInfo || void 0 === itemInfo ? void 0 : itemInfo.fileItem.name;\r\n if (this.itemNewName && this._isItemExistsErrorCode(errorCode)) {\r\n result = this.itemNewName\r\n }\r\n return result\r\n }\r\n _isItemExistsErrorCode(errorCode) {\r\n return errorCode === ErrorCode.DirectoryExists || errorCode === ErrorCode.FileExists\r\n }\r\n _setCurrentDetailError(itemIndex, itemInfo, errorText) {\r\n this._errorState.currentDetailError = {\r\n itemIndex: itemIndex,\r\n itemInfo: itemInfo,\r\n errorText: errorText\r\n }\r\n }\r\n _hasCompletedItems() {\r\n return this._completedItems.length > 0\r\n }\r\n get actionMetadata() {\r\n return this._actionMetadata\r\n }\r\n get itemInfos() {\r\n return this._itemInfos\r\n }\r\n get itemNewName() {\r\n return this._itemNewName\r\n }\r\n set itemNewName(value) {\r\n this._itemNewName = value\r\n }\r\n get errorState() {\r\n return this._errorState\r\n }\r\n get singleRequest() {\r\n return this._singleRequest\r\n }\r\n set singleRequest(value) {\r\n this._singleRequest = value\r\n }\r\n get multipleItems() {\r\n return this._multipleItems\r\n }\r\n get onlyFiles() {\r\n return this._onlyFiles\r\n }\r\n get processingMessage() {\r\n return this._multipleItems ? format(this._actionMetadata.multipleItemsProcessingMessage, this._items.length, this._location) : format(this._actionMetadata.singleItemProcessingMessage, this._location)\r\n }\r\n get successMessage() {\r\n if (this._hasCompletedItems()) {\r\n return this._multipleItems ? format(this._actionMetadata.multipleItemsSuccessMessage, this._completedItems.length, this._location) : format(this._actionMetadata.singleItemSuccessMessage, this._location)\r\n } else {\r\n return this._multipleItems ? format(this._actionMetadata.multipleItemsErrorMessage, this._items.length) : this._actionMetadata.singleItemErrorMessage\r\n }\r\n }\r\n get completionMessage() {\r\n return this.success ? this.successMessage : this.errorState.commonErrorText\r\n }\r\n get statusText() {\r\n return this.success && !this._hasCompletedItems() ? this._actionMetadata.canceledMessage : void 0\r\n }\r\n get commonProgress() {\r\n return this._commonProgress\r\n }\r\n get success() {\r\n return !this._errorState.failedCount\r\n }\r\n}\r\nexport default FileManagerEditingControl;\r\n","/**\r\n * DevExtreme (esm/ui/file_manager/ui.file_manager.breadcrumbs.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport Menu from \"../menu/ui.menu\";\r\nvar FILE_MANAGER_BREADCRUMBS_CLASS = \"dx-filemanager-breadcrumbs\";\r\nvar FILE_MANAGER_BREADCRUMBS_PARENT_FOLDER_ITEM_CLASS = FILE_MANAGER_BREADCRUMBS_CLASS + \"-parent-folder-item\";\r\nvar FILE_MANAGER_BREADCRUMBS_SEPARATOR_ITEM_CLASS = FILE_MANAGER_BREADCRUMBS_CLASS + \"-separator-item\";\r\nvar FILE_MANAGER_BREADCRUMBS_PATH_SEPARATOR_ITEM_CLASS = FILE_MANAGER_BREADCRUMBS_CLASS + \"-path-separator-item\";\r\nclass FileManagerBreadcrumbs extends Widget {\r\n _init() {\r\n super._init();\r\n this._currentDirectory = null\r\n }\r\n _initMarkup() {\r\n super._initMarkup();\r\n this._initActions();\r\n if (this._currentDirectory) {\r\n this._renderMenu()\r\n }\r\n this.$element().addClass(FILE_MANAGER_BREADCRUMBS_CLASS)\r\n }\r\n setCurrentDirectory(directory) {\r\n if (!this._areDirsEqual(this._currentDirectory, directory)) {\r\n this._currentDirectory = directory;\r\n this.repaint()\r\n }\r\n }\r\n _renderMenu() {\r\n var $menu = $(\"<div>\").appendTo(this.$element());\r\n this._menu = this._createComponent($menu, Menu, {\r\n dataSource: this._getMenuItems(),\r\n onItemClick: this._onItemClick.bind(this),\r\n onItemRendered: this._onItemRendered.bind(this)\r\n })\r\n }\r\n _getMenuItems() {\r\n var dirLine = this._getParentDirsLine();\r\n var result = [{\r\n icon: \"arrowup\",\r\n directory: this._currentDirectory.parentDirectory,\r\n isPathItem: true,\r\n cssClass: FILE_MANAGER_BREADCRUMBS_PARENT_FOLDER_ITEM_CLASS\r\n }, {\r\n text: \"\\xa0\",\r\n cssClass: FILE_MANAGER_BREADCRUMBS_SEPARATOR_ITEM_CLASS\r\n }];\r\n dirLine.forEach((dir, index) => {\r\n result.push({\r\n text: dir.getDisplayName(),\r\n directory: dir,\r\n isPathItem: true\r\n });\r\n if (index !== dirLine.length - 1) {\r\n result.push({\r\n icon: \"spinnext\",\r\n cssClass: FILE_MANAGER_BREADCRUMBS_PATH_SEPARATOR_ITEM_CLASS\r\n })\r\n }\r\n });\r\n return result\r\n }\r\n _onItemClick(_ref) {\r\n var {\r\n itemData: itemData\r\n } = _ref;\r\n if (!itemData.isPathItem) {\r\n return\r\n }\r\n var newDir = itemData.directory;\r\n if (!this._areDirsEqual(newDir, this._currentDirectory)) {\r\n this._raiseCurrentDirectoryChanged(newDir)\r\n }\r\n }\r\n _onItemRendered(_ref2) {\r\n var {\r\n itemElement: itemElement,\r\n itemData: itemData\r\n } = _ref2;\r\n if (itemData.cssClass) {\r\n $(itemElement).addClass(itemData.cssClass)\r\n }\r\n }\r\n _getParentDirsLine() {\r\n var currentDirectory = this._currentDirectory;\r\n var result = [];\r\n while (currentDirectory) {\r\n result.unshift(currentDirectory);\r\n currentDirectory = currentDirectory.parentDirectory\r\n }\r\n return result\r\n }\r\n _areDirsEqual(dir1, dir2) {\r\n return dir1 && dir2 && dir1 === dir2 && dir1.fileItem.key === dir2.fileItem.key\r\n }\r\n _initActions() {\r\n this._actions = {\r\n onCurrentDirectoryChanging: this._createActionByOption(\"onCurrentDirectoryChanging\")\r\n }\r\n }\r\n _raiseCurrentDirectoryChanged(currentDirectory) {\r\n this._actions.onCurrentDirectoryChanging({\r\n currentDirectory: currentDirectory\r\n })\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n rootFolderDisplayName: \"Files\",\r\n onCurrentDirectoryChanging: null\r\n })\r\n }\r\n _optionChanged(args) {\r\n var name = args.name;\r\n switch (name) {\r\n case \"rootFolderDisplayName\":\r\n this.repaint();\r\n break;\r\n case \"onCurrentDirectoryChanging\":\r\n this._actions[name] = this._createActionByOption(name);\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n}\r\nexport default FileManagerBreadcrumbs;\r\n","/**\r\n * DevExtreme (esm/ui/file_manager/ui.file_manager.adaptivity.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport Drawer from \"../drawer/ui.drawer\";\r\nimport SplitterControl from \"../splitter\";\r\nvar window = getWindow();\r\nvar ADAPTIVE_STATE_SCREEN_WIDTH = 573;\r\nvar FILE_MANAGER_ADAPTIVITY_DRAWER_PANEL_CLASS = \"dx-filemanager-adaptivity-drawer-panel\";\r\nvar DRAWER_PANEL_CONTENT_INITIAL = \"dx-drawer-panel-content-initial\";\r\nvar DRAWER_PANEL_CONTENT_ADAPTIVE = \"dx-drawer-panel-content-adaptive\";\r\nclass FileManagerAdaptivityControl extends Widget {\r\n _initMarkup() {\r\n super._initMarkup();\r\n this._initActions();\r\n this._isInAdaptiveState = false;\r\n var $drawer = $(\"<div>\").appendTo(this.$element());\r\n $(\"<div>\").addClass(FILE_MANAGER_ADAPTIVITY_DRAWER_PANEL_CLASS).appendTo($drawer);\r\n this._drawer = this._createComponent($drawer, Drawer);\r\n this._drawer.option({\r\n opened: true,\r\n template: this._createDrawerTemplate.bind(this)\r\n });\r\n $(this._drawer.content()).addClass(DRAWER_PANEL_CONTENT_INITIAL);\r\n var $drawerContent = $drawer.find(\".\".concat(FILE_MANAGER_ADAPTIVITY_DRAWER_PANEL_CLASS)).first();\r\n var contentRenderer = this.option(\"contentTemplate\");\r\n if (isFunction(contentRenderer)) {\r\n contentRenderer($drawerContent)\r\n }\r\n this._updateDrawerMaxSize()\r\n }\r\n _createDrawerTemplate(container) {\r\n this.option(\"drawerTemplate\")(container);\r\n this._splitter = this._createComponent(\"<div>\", SplitterControl, {\r\n container: this.$element(),\r\n leftElement: $(this._drawer.content()),\r\n rightElement: $(this._drawer.viewContent()),\r\n onApplyPanelSize: this._onApplyPanelSize.bind(this),\r\n onActiveStateChanged: this._onActiveStateChanged.bind(this)\r\n });\r\n this._splitter.$element().appendTo(container);\r\n this._splitter.disableSplitterCalculation(true)\r\n }\r\n _render() {\r\n super._render();\r\n this._checkAdaptiveState()\r\n }\r\n _onApplyPanelSize(e) {\r\n if (!hasWindow()) {\r\n return\r\n }\r\n if (!this._splitter.isSplitterMoved()) {\r\n this._setDrawerWidth(\"\");\r\n return\r\n }\r\n $(this._drawer.content()).removeClass(DRAWER_PANEL_CONTENT_INITIAL);\r\n this._setDrawerWidth(e.leftPanelWidth)\r\n }\r\n _onActiveStateChanged(_ref) {\r\n var {\r\n isActive: isActive\r\n } = _ref;\r\n this._splitter.disableSplitterCalculation(!isActive);\r\n !isActive && this._splitter.$element().css(\"left\", \"auto\")\r\n }\r\n _setDrawerWidth(width) {\r\n $(this._drawer.content()).css(\"width\", width);\r\n this._updateDrawerMaxSize();\r\n this._drawer.resizeViewContent()\r\n }\r\n _updateDrawerMaxSize() {\r\n this._drawer.option(\"maxSize\", this._drawer.getRealPanelWidth())\r\n }\r\n _dimensionChanged(dimension) {\r\n if (!dimension || \"height\" !== dimension) {\r\n this._checkAdaptiveState()\r\n }\r\n }\r\n _checkAdaptiveState() {\r\n var oldState = this._isInAdaptiveState;\r\n this._isInAdaptiveState = this._isSmallScreen();\r\n if (oldState !== this._isInAdaptiveState) {\r\n this.toggleDrawer(!this._isInAdaptiveState, true);\r\n $(this._drawer.content()).toggleClass(DRAWER_PANEL_CONTENT_ADAPTIVE, this._isInAdaptiveState);\r\n this._raiseAdaptiveStateChanged(this._isInAdaptiveState)\r\n }\r\n if (this._isInAdaptiveState && this._isDrawerOpened()) {\r\n this._updateDrawerMaxSize()\r\n }\r\n }\r\n _isSmallScreen() {\r\n return getWidth(window) <= ADAPTIVE_STATE_SCREEN_WIDTH\r\n }\r\n _isDrawerOpened() {\r\n return this._drawer.option(\"opened\")\r\n }\r\n _initActions() {\r\n this._actions = {\r\n onAdaptiveStateChanged: this._createActionByOption(\"onAdaptiveStateChanged\")\r\n }\r\n }\r\n _raiseAdaptiveStateChanged(enabled) {\r\n this._actions.onAdaptiveStateChanged({\r\n enabled: enabled\r\n })\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n drawerTemplate: null,\r\n contentTemplate: null,\r\n onAdaptiveStateChanged: null\r\n })\r\n }\r\n _optionChanged(args) {\r\n var name = args.name;\r\n switch (name) {\r\n case \"drawerTemplate\":\r\n case \"contentTemplate\":\r\n this.repaint();\r\n break;\r\n case \"onAdaptiveStateChanged\":\r\n this._actions[name] = this._createActionByOption(name);\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n isInAdaptiveState() {\r\n return this._isInAdaptiveState\r\n }\r\n toggleDrawer(showing, skipAnimation) {\r\n this._updateDrawerMaxSize();\r\n this._drawer.option(\"animationEnabled\", !skipAnimation);\r\n this._drawer.toggle(showing);\r\n var isSplitterActive = this._isDrawerOpened() && !this.isInAdaptiveState();\r\n this._splitter.toggleDisabled(!isSplitterActive)\r\n }\r\n getSplitterElement() {\r\n return this._splitter.getSplitterBorderElement().get(0)\r\n }\r\n}\r\nexport default FileManagerAdaptivityControl;\r\n","/**\r\n * DevExtreme (esm/ui/file_manager/ui.file_manager.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isDefined,\r\n isEmptyObject,\r\n isFunction,\r\n type\r\n} from \"../../core/utils/type\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n ensureDefined,\r\n equalByValue\r\n} from \"../../core/utils/common\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport notify from \"../notify\";\r\nimport {\r\n findItemsByKeys,\r\n extendAttributes\r\n} from \"./ui.file_manager.common\";\r\nimport {\r\n FileItemsController,\r\n OPERATIONS\r\n} from \"./file_items_controller\";\r\nimport {\r\n defaultPermissions,\r\n FileManagerCommandManager\r\n} from \"./ui.file_manager.command_manager\";\r\nimport FileManagerContextMenu from \"./ui.file_manager.context_menu\";\r\nimport FileManagerFilesTreeView from \"./ui.file_manager.files_tree_view\";\r\nimport FileManagerDetailsItemList from \"./ui.file_manager.item_list.details\";\r\nimport FileManagerThumbnailsItemList from \"./ui.file_manager.item_list.thumbnails\";\r\nimport FileManagerToolbar from \"./ui.file_manager.toolbar\";\r\nimport FileManagerNotificationControl from \"./ui.file_manager.notification\";\r\nimport FileManagerEditingControl from \"./ui.file_manager.editing\";\r\nimport FileManagerBreadcrumbs from \"./ui.file_manager.breadcrumbs\";\r\nimport FileManagerAdaptivityControl from \"./ui.file_manager.adaptivity\";\r\nimport {\r\n normalizeOptions\r\n} from \"../../core/options/utils\";\r\nimport {\r\n equals\r\n} from \"../../core/utils/comparator\";\r\nvar FILE_MANAGER_CLASS = \"dx-filemanager\";\r\nvar FILE_MANAGER_WRAPPER_CLASS = FILE_MANAGER_CLASS + \"-wrapper\";\r\nvar FILE_MANAGER_CONTAINER_CLASS = FILE_MANAGER_CLASS + \"-container\";\r\nvar FILE_MANAGER_DIRS_PANEL_CLASS = FILE_MANAGER_CLASS + \"-dirs-panel\";\r\nvar FILE_MANAGER_EDITING_CONTAINER_CLASS = FILE_MANAGER_CLASS + \"-editing-container\";\r\nvar FILE_MANAGER_ITEMS_PANEL_CLASS = FILE_MANAGER_CLASS + \"-items-panel\";\r\nvar FILE_MANAGER_ITEM_CUSTOM_THUMBNAIL_CLASS = FILE_MANAGER_CLASS + \"-item-custom-thumbnail\";\r\nvar PARENT_DIRECTORY_KEY_PREFIX = \"[*DXPDK*]$40F96F03-FBD8-43DF-91BE-F55F4B8BA871$\";\r\nvar VIEW_AREAS = {\r\n folders: \"navPane\",\r\n items: \"itemView\"\r\n};\r\nclass FileManager extends Widget {\r\n _initTemplates() {}\r\n _init() {\r\n super._init();\r\n this._initActions();\r\n this._providerUpdateDeferred = null;\r\n this._lockCurrentPathProcessing = false;\r\n this._wasRendered = false;\r\n this._controller = new FileItemsController({\r\n currentPath: this.option(\"currentPath\"),\r\n currentPathKeys: this.option(\"currentPathKeys\"),\r\n rootText: this.option(\"rootFolderName\"),\r\n fileProvider: this.option(\"fileSystemProvider\"),\r\n allowedFileExtensions: this.option(\"allowedFileExtensions\"),\r\n uploadMaxFileSize: this.option(\"upload\").maxFileSize,\r\n uploadChunkSize: this.option(\"upload\").chunkSize,\r\n onInitialized: this._onControllerInitialized.bind(this),\r\n onDataLoading: this._onDataLoading.bind(this),\r\n onSelectedDirectoryChanged: this._onSelectedDirectoryChanged.bind(this),\r\n onPathPotentiallyChanged: this._checkPathActuality.bind(this),\r\n editingEvents: this._actions.editing\r\n })\r\n }\r\n _initMarkup() {\r\n super._initMarkup();\r\n this._firstItemViewLoad = true;\r\n this._lockSelectionProcessing = false;\r\n this._lockFocusedItemProcessing = false;\r\n this._itemKeyToFocus = void 0;\r\n this._loadedWidgets = [];\r\n this._commandManager = new FileManagerCommandManager(this.option(\"permissions\"));\r\n this.$element().addClass(FILE_MANAGER_CLASS);\r\n if (this._wasRendered) {\r\n this._prepareToLoad()\r\n } else {\r\n this._wasRendered = true\r\n }\r\n this._createNotificationControl();\r\n this._initCommandManager()\r\n }\r\n _createNotificationControl() {\r\n var $notificationControl = $(\"<div>\").addClass(\"dx-filemanager-notification-container\").appendTo(this.$element());\r\n this._notificationControl = this._createComponent($notificationControl, FileManagerNotificationControl, {\r\n progressPanelContainer: this.$element(),\r\n contentTemplate: (container, notificationControl) => this._createWrapper(container, notificationControl),\r\n onActionProgress: e => this._onActionProgress(e),\r\n positionTarget: \".\".concat(FILE_MANAGER_CONTAINER_CLASS),\r\n showProgressPanel: this.option(\"notifications.showPanel\"),\r\n showNotificationPopup: this.option(\"notifications.showPopup\")\r\n })\r\n }\r\n _createWrapper(container, notificationControl) {\r\n this._$wrapper = $(\"<div>\").addClass(FILE_MANAGER_WRAPPER_CLASS).appendTo(container);\r\n this._createEditing(notificationControl);\r\n var $toolbar = $(\"<div>\").appendTo(this._$wrapper);\r\n this._toolbar = this._createComponent($toolbar, FileManagerToolbar, {\r\n commandManager: this._commandManager,\r\n generalItems: this.option(\"toolbar.items\"),\r\n fileItems: this.option(\"toolbar.fileSelectionItems\"),\r\n itemViewMode: this.option(\"itemView\").mode,\r\n onItemClick: args => this._actions.onToolbarItemClick(args)\r\n });\r\n this._createAdaptivityControl()\r\n }\r\n _createAdaptivityControl() {\r\n var $container = $(\"<div>\").addClass(FILE_MANAGER_CONTAINER_CLASS).appendTo(this._$wrapper);\r\n this._adaptivityControl = this._createComponent($container, FileManagerAdaptivityControl, {\r\n drawerTemplate: container => this._createFilesTreeView(container),\r\n contentTemplate: container => this._createItemsPanel(container),\r\n onAdaptiveStateChanged: e => this._onAdaptiveStateChanged(e)\r\n });\r\n this._editing.setUploaderSplitterElement(this._adaptivityControl.getSplitterElement())\r\n }\r\n _createEditing(notificationControl) {\r\n var $editingContainer = $(\"<div>\").addClass(FILE_MANAGER_EDITING_CONTAINER_CLASS).appendTo(this.$element());\r\n this._editing = this._createComponent($editingContainer, FileManagerEditingControl, {\r\n controller: this._controller,\r\n model: {\r\n getMultipleSelectedItems: this._getSelectedItemInfos.bind(this)\r\n },\r\n getItemThumbnail: this._getItemThumbnailInfo.bind(this),\r\n notificationControl: notificationControl,\r\n uploadDropZonePlaceholderContainer: this.$element(),\r\n rtlEnabled: this.option(\"rtlEnabled\"),\r\n onSuccess: _ref => {\r\n var {\r\n updatedOnlyFiles: updatedOnlyFiles\r\n } = _ref;\r\n return this._redrawComponent(updatedOnlyFiles)\r\n },\r\n onError: e => this._onEditingError(e)\r\n })\r\n }\r\n _createItemsPanel($container) {\r\n this._$itemsPanel = $(\"<div>\").addClass(FILE_MANAGER_ITEMS_PANEL_CLASS).appendTo($container);\r\n this._createBreadcrumbs(this._$itemsPanel);\r\n this._createItemView(this._$itemsPanel);\r\n this._updateUploadDropZone()\r\n }\r\n _updateUploadDropZone() {\r\n var dropZone = this._commandManager.isCommandAvailable(\"upload\") ? this._$itemsPanel : $();\r\n this._editing.setUploaderDropZone(dropZone)\r\n }\r\n _createFilesTreeView(container) {\r\n this._filesTreeViewContextMenu = this._createContextMenu(false, VIEW_AREAS.folders);\r\n var $filesTreeView = $(\"<div>\").addClass(FILE_MANAGER_DIRS_PANEL_CLASS).appendTo(container);\r\n this._filesTreeView = this._createComponent($filesTreeView, FileManagerFilesTreeView, {\r\n storeExpandedState: true,\r\n contextMenu: this._filesTreeViewContextMenu,\r\n getDirectories: this.getDirectories.bind(this),\r\n getCurrentDirectory: this._getCurrentDirectory.bind(this),\r\n onDirectoryClick: _ref2 => {\r\n var {\r\n itemData: itemData\r\n } = _ref2;\r\n return this._setCurrentDirectory(itemData)\r\n },\r\n onItemListDataLoaded: () => this._tryEndLoading(VIEW_AREAS.folders)\r\n });\r\n this._filesTreeView.updateCurrentDirectory()\r\n }\r\n _createItemView($container, viewMode) {\r\n this._itemViewContextMenu = this._createContextMenu(true, VIEW_AREAS.items);\r\n var itemViewOptions = this.option(\"itemView\");\r\n var options = {\r\n selectionMode: this.option(\"selectionMode\"),\r\n selectedItemKeys: this.option(\"selectedItemKeys\"),\r\n focusedItemKey: this.option(\"focusedItemKey\"),\r\n contextMenu: this._itemViewContextMenu,\r\n getItems: this._getItemViewItems.bind(this),\r\n onError: _ref3 => {\r\n var {\r\n error: error\r\n } = _ref3;\r\n return this._showError(error)\r\n },\r\n onSelectionChanged: this._onItemViewSelectionChanged.bind(this),\r\n onFocusedItemChanged: this._onItemViewFocusedItemChanged.bind(this),\r\n onSelectedItemOpened: this._onSelectedItemOpened.bind(this),\r\n onContextMenuShowing: e => this._onContextMenuShowing(VIEW_AREAS.items, e),\r\n onItemListItemsLoaded: () => this._tryEndLoading(VIEW_AREAS.items),\r\n getItemThumbnail: this._getItemThumbnailInfo.bind(this),\r\n customizeDetailColumns: this.option(\"customizeDetailColumns\"),\r\n detailColumns: this.option(\"itemView.details.columns\")\r\n };\r\n var $itemView = $(\"<div>\").appendTo($container);\r\n viewMode = viewMode || itemViewOptions.mode;\r\n var widgetClass = \"thumbnails\" === viewMode ? FileManagerThumbnailsItemList : FileManagerDetailsItemList;\r\n this._itemView = this._createComponent($itemView, widgetClass, options)\r\n }\r\n _createBreadcrumbs($container) {\r\n var $breadcrumbs = $(\"<div>\").appendTo($container);\r\n this._breadcrumbs = this._createComponent($breadcrumbs, FileManagerBreadcrumbs, {\r\n rootFolderDisplayName: this.option(\"rootFolderName\"),\r\n onCurrentDirectoryChanging: _ref4 => {\r\n var {\r\n currentDirectory: currentDirectory\r\n } = _ref4;\r\n return this._setCurrentDirectory(currentDirectory, true)\r\n }\r\n });\r\n this._breadcrumbs.setCurrentDirectory(this._getCurrentDirectory())\r\n }\r\n _createContextMenu(isolateCreationItemCommands, viewArea) {\r\n var $contextMenu = $(\"<div>\").appendTo(this._$wrapper);\r\n return this._createComponent($contextMenu, FileManagerContextMenu, {\r\n commandManager: this._commandManager,\r\n items: this.option(\"contextMenu.items\"),\r\n onItemClick: args => this._actions.onContextMenuItemClick(args),\r\n onContextMenuShowing: e => this._onContextMenuShowing(viewArea, e),\r\n isolateCreationItemCommands: isolateCreationItemCommands,\r\n viewArea: viewArea\r\n })\r\n }\r\n _initCommandManager() {\r\n var actions = extend(this._editing.getCommandActions(), {\r\n refresh: () => this._refreshAndShowProgress(),\r\n thumbnails: () => this.option(\"itemView.mode\", \"thumbnails\"),\r\n details: () => this.option(\"itemView.mode\", \"details\"),\r\n clearSelection: () => this._clearSelection(),\r\n showNavPane: () => this._adaptivityControl.toggleDrawer()\r\n });\r\n this._commandManager.registerActions(actions)\r\n }\r\n _onItemViewSelectionChanged(_ref5) {\r\n var {\r\n selectedItemInfos: selectedItemInfos,\r\n selectedItems: selectedItems,\r\n selectedItemKeys: selectedItemKeys,\r\n currentSelectedItemKeys: currentSelectedItemKeys,\r\n currentDeselectedItemKeys: currentDeselectedItemKeys\r\n } = _ref5;\r\n this._lockSelectionProcessing = true;\r\n this.option(\"selectedItemKeys\", selectedItemKeys);\r\n this._lockSelectionProcessing = false;\r\n this._actions.onSelectionChanged({\r\n selectedItems: selectedItems,\r\n selectedItemKeys: selectedItemKeys,\r\n currentSelectedItemKeys: currentSelectedItemKeys,\r\n currentDeselectedItemKeys: currentDeselectedItemKeys\r\n });\r\n this._updateToolbar(selectedItemInfos)\r\n }\r\n _onItemViewFocusedItemChanged(e) {\r\n this._lockFocusedItemProcessing = true;\r\n this.option(\"focusedItemKey\", e.itemKey);\r\n this._lockFocusedItemProcessing = false;\r\n this._actions.onFocusedItemChanged({\r\n item: e.item,\r\n itemElement: e.itemElement\r\n })\r\n }\r\n _onAdaptiveStateChanged(_ref6) {\r\n var {\r\n enabled: enabled\r\n } = _ref6;\r\n this._commandManager.setCommandEnabled(\"showNavPane\", enabled);\r\n this._updateToolbar()\r\n }\r\n _onActionProgress(_ref7) {\r\n var {\r\n message: message,\r\n status: status\r\n } = _ref7;\r\n this._toolbar.updateRefreshItem(message, status);\r\n this._updateToolbar()\r\n }\r\n _onEditingError(e) {\r\n var args = extendAttributes({}, e, [\"errorCode\", \"errorText\", \"fileSystemItem\"]);\r\n this._actions.onErrorOccurred(args);\r\n e.errorText = args.errorText\r\n }\r\n _refreshAndShowProgress() {\r\n this._prepareToLoad();\r\n return when(this._notificationControl.tryShowProgressPanel(), this._controller.refresh()).then(() => this._filesTreeView.refresh())\r\n }\r\n _isAllWidgetsLoaded() {\r\n return 2 === this._loadedWidgets.length && -1 !== this._loadedWidgets.indexOf(VIEW_AREAS.folders) && -1 !== this._loadedWidgets.indexOf(VIEW_AREAS.items)\r\n }\r\n _tryEndLoading(area) {\r\n this._loadedWidgets.push(area);\r\n if (this._isAllWidgetsLoaded()) {\r\n this._controller.endSingleLoad()\r\n }\r\n }\r\n _prepareToLoad() {\r\n this._loadedWidgets = [];\r\n this._controller.startSingleLoad()\r\n }\r\n _updateToolbar(selectedItems) {\r\n var items = selectedItems || this._getSelectedItemInfos();\r\n this._toolbar.option(\"contextItems\", ensureDefined(items, []))\r\n }\r\n _switchView(viewMode) {\r\n this._disposeWidget(this._itemView.option(\"contextMenu\"));\r\n this._disposeWidget(this._itemView);\r\n this._createItemView(this._$itemsPanel, viewMode);\r\n this._toolbar.option({\r\n itemViewMode: viewMode\r\n })\r\n }\r\n _disposeWidget(widget) {\r\n widget.dispose();\r\n widget.$element().remove()\r\n }\r\n _clearSelection() {\r\n this._itemView.clearSelection()\r\n }\r\n _showError(message) {\r\n this._showNotification(message, false)\r\n }\r\n _showNotification(message, isSuccess) {\r\n notify({\r\n message: message,\r\n width: 450\r\n }, isSuccess ? \"success\" : \"error\", 5e3)\r\n }\r\n _redrawComponent(onlyFileItemsView) {\r\n this._itemView.refresh().then(() => !onlyFileItemsView && this._filesTreeView.refresh())\r\n }\r\n _getItemViewItems() {\r\n var showFolders = this.option(\"itemView\").showFolders;\r\n var result = this._controller.getCurrentItems(!showFolders);\r\n this._updateToolbarWithSelectionOnFirstLoad(result);\r\n if (this.option(\"itemView.showParentFolder\")) {\r\n result = when(result).then(items => this._getPreparedItemViewItems(items))\r\n }\r\n return result\r\n }\r\n _updateToolbarWithSelectionOnFirstLoad(itemsResult) {\r\n if (!this._firstItemViewLoad) {\r\n return\r\n }\r\n this._firstItemViewLoad = false;\r\n var selectedItemKeys = this.option(\"selectedItemKeys\");\r\n if (selectedItemKeys.length > 0) {\r\n when(itemsResult).done(items => {\r\n var selectedItems = findItemsByKeys(items, selectedItemKeys);\r\n if (selectedItems.length > 0) {\r\n this._updateToolbar(selectedItems)\r\n }\r\n })\r\n }\r\n }\r\n _getPreparedItemViewItems(items) {\r\n var selectedDir = this._getCurrentDirectory();\r\n if (selectedDir.fileItem.isRoot()) {\r\n return items\r\n }\r\n var parentDirItem = selectedDir.fileItem.createClone();\r\n parentDirItem.isParentFolder = true;\r\n parentDirItem.name = \"..\";\r\n parentDirItem.relativeName = \"..\";\r\n parentDirItem.key = \"\".concat(PARENT_DIRECTORY_KEY_PREFIX).concat(selectedDir.fileItem.key);\r\n var itemsCopy = [...items];\r\n itemsCopy.unshift({\r\n fileItem: parentDirItem,\r\n icon: \"parentfolder\"\r\n });\r\n return itemsCopy\r\n }\r\n _onContextMenuShowing(viewArea, e) {\r\n var _e$itemData;\r\n var eventArgs = extendAttributes({}, e, [\"targetElement\", \"cancel\", \"event\"]);\r\n eventArgs = extend(eventArgs, {\r\n viewArea: viewArea,\r\n fileSystemItem: null === (_e$itemData = e.itemData) || void 0 === _e$itemData ? void 0 : _e$itemData.fileItem,\r\n _isActionButton: e.isActionButton\r\n });\r\n this._actions.onContextMenuShowing(eventArgs);\r\n e.cancel = ensureDefined(eventArgs.cancel, false)\r\n }\r\n _getItemThumbnailInfo(fileInfo) {\r\n var func = this.option(\"customizeThumbnail\");\r\n var thumbnail = isFunction(func) ? func(fileInfo.fileItem) : fileInfo.fileItem.thumbnail;\r\n if (thumbnail) {\r\n return {\r\n thumbnail: thumbnail,\r\n cssClass: FILE_MANAGER_ITEM_CUSTOM_THUMBNAIL_CLASS\r\n }\r\n }\r\n return {\r\n thumbnail: fileInfo.icon\r\n }\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n fileSystemProvider: null,\r\n currentPath: \"\",\r\n currentPathKeys: [],\r\n rootFolderName: messageLocalization.format(\"dxFileManager-rootDirectoryName\"),\r\n selectionMode: \"multiple\",\r\n selectedItemKeys: [],\r\n focusedItemKey: void 0,\r\n toolbar: {\r\n items: [\"showNavPane\", \"create\", \"upload\", \"switchView\", {\r\n name: \"separator\",\r\n location: \"after\"\r\n }, \"refresh\"],\r\n fileSelectionItems: [\"download\", \"separator\", \"move\", \"copy\", \"rename\", \"separator\", \"delete\", \"clearSelection\", {\r\n name: \"separator\",\r\n location: \"after\"\r\n }, \"refresh\"]\r\n },\r\n contextMenu: {\r\n items: [\"create\", \"upload\", \"rename\", \"move\", \"copy\", \"delete\", \"refresh\", \"download\"]\r\n },\r\n itemView: {\r\n details: {\r\n columns: [\"thumbnail\", \"name\", \"dateModified\", \"size\"]\r\n },\r\n mode: \"details\",\r\n showFolders: true,\r\n showParentFolder: true\r\n },\r\n customizeThumbnail: null,\r\n customizeDetailColumns: null,\r\n onContextMenuItemClick: null,\r\n onContextMenuShowing: null,\r\n onCurrentDirectoryChanged: null,\r\n onSelectedFileOpened: null,\r\n onSelectionChanged: null,\r\n onFocusedItemChanged: null,\r\n onToolbarItemClick: null,\r\n onErrorOccurred: null,\r\n onDirectoryCreating: null,\r\n onDirectoryCreated: null,\r\n onItemRenaming: null,\r\n onItemRenamed: null,\r\n onItemDeleting: null,\r\n onItemDeleted: null,\r\n onItemCopying: null,\r\n onItemCopied: null,\r\n onItemMoving: null,\r\n onItemMoved: null,\r\n onFileUploading: null,\r\n onFileUploaded: null,\r\n onItemDownloading: null,\r\n allowedFileExtensions: [],\r\n upload: {\r\n maxFileSize: 0,\r\n chunkSize: 2e5\r\n },\r\n permissions: extend({}, defaultPermissions),\r\n notifications: {\r\n showPanel: true,\r\n showPopup: true\r\n }\r\n })\r\n }\r\n option(options, value) {\r\n var optionsToCheck = normalizeOptions(options, value);\r\n var isGetter = arguments.length < 2 && \"object\" !== type(options);\r\n var isOptionDefined = name => isDefined(optionsToCheck[name]);\r\n var isOptionValueDiffers = name => {\r\n if (!isOptionDefined(name)) {\r\n return false\r\n }\r\n var previousValue = this.option(name);\r\n var value = optionsToCheck[name];\r\n return !equals(previousValue, value)\r\n };\r\n if (!isGetter && isOptionDefined(\"fileSystemProvider\")) {\r\n this._providerUpdateDeferred = new Deferred;\r\n if (isOptionValueDiffers(\"currentPath\") || isOptionValueDiffers(\"currentPathKeys\")) {\r\n this._lockCurrentPathProcessing = true\r\n }\r\n }\r\n return super.option(...arguments)\r\n }\r\n _optionChanged(args) {\r\n var name = args.name;\r\n switch (name) {\r\n case \"currentPath\":\r\n var updateFunc = () => {\r\n this._lockCurrentPathProcessing = false;\r\n return this._controller.setCurrentPath(args.value)\r\n };\r\n this._lockCurrentPathProcessing = true;\r\n this._providerUpdateDeferred ? this._providerUpdateDeferred.then(updateFunc) : updateFunc();\r\n break;\r\n case \"currentPathKeys\":\r\n var _updateFunc = () => {\r\n this._lockCurrentPathProcessing = false;\r\n return this._controller.setCurrentPathByKeys(args.value)\r\n };\r\n this._lockCurrentPathProcessing = true;\r\n this._providerUpdateDeferred ? this._providerUpdateDeferred.then(_updateFunc) : _updateFunc();\r\n break;\r\n case \"selectedItemKeys\":\r\n if (!this._lockSelectionProcessing && this._itemView) {\r\n this._itemView.option(\"selectedItemKeys\", args.value)\r\n }\r\n break;\r\n case \"focusedItemKey\":\r\n if (!this._lockFocusedItemProcessing && this._itemView) {\r\n this._itemView.option(\"focusedItemKey\", args.value)\r\n }\r\n break;\r\n case \"rootFolderName\":\r\n this._controller.setRootText(args.value);\r\n this._invalidate();\r\n break;\r\n case \"fileSystemProvider\":\r\n if (!this._lockCurrentPathProcessing) {\r\n this._providerUpdateDeferred = new Deferred\r\n }\r\n var pathKeys = this._lockCurrentPathProcessing ? void 0 : this.option(\"currentPathKeys\");\r\n this._controller.updateProvider(args.value, pathKeys).then(() => this._providerUpdateDeferred.resolve()).always(() => {\r\n this._providerUpdateDeferred = null;\r\n this.repaint()\r\n });\r\n break;\r\n case \"allowedFileExtensions\":\r\n this._controller.setAllowedFileExtensions(args.value);\r\n this._invalidate();\r\n break;\r\n case \"upload\":\r\n this._controller.setUploadOptions(this.option(\"upload\"));\r\n this._invalidate();\r\n break;\r\n case \"permissions\":\r\n this._commandManager.updatePermissions(this.option(\"permissions\"));\r\n this._filesTreeViewContextMenu.tryUpdateVisibleContextMenu();\r\n this._itemViewContextMenu.tryUpdateVisibleContextMenu();\r\n this._toolbar.updateItemPermissions();\r\n this._updateUploadDropZone();\r\n break;\r\n case \"selectionMode\":\r\n case \"customizeThumbnail\":\r\n case \"customizeDetailColumns\":\r\n this._invalidate();\r\n break;\r\n case \"itemView\":\r\n if (\"itemView.mode\" === args.fullName) {\r\n this._switchView(args.value)\r\n } else {\r\n this._invalidate()\r\n }\r\n break;\r\n case \"toolbar\":\r\n var toolbarOptions = {};\r\n if (\"toolbar\" === args.fullName) {\r\n if (args.value.items) {\r\n toolbarOptions.generalItems = args.value.items\r\n }\r\n if (args.value.fileSelectionItems) {\r\n toolbarOptions.fileItems = args.value.fileSelectionItems\r\n }\r\n }\r\n if (0 === args.fullName.indexOf(\"toolbar.items\")) {\r\n toolbarOptions.generalItems = this.option(\"toolbar.items\")\r\n }\r\n if (0 === args.fullName.indexOf(\"toolbar.fileSelectionItems\")) {\r\n toolbarOptions.fileItems = this.option(\"toolbar.fileSelectionItems\")\r\n }\r\n this._toolbar.option(toolbarOptions);\r\n break;\r\n case \"contextMenu\":\r\n if (\"contextMenu\" === args.fullName && args.value.items || 0 === args.fullName.indexOf(\"contextMenu.items\")) {\r\n var contextMenuItems = this.option(\"contextMenu.items\");\r\n this._filesTreeViewContextMenu.option(\"items\", contextMenuItems);\r\n this._itemViewContextMenu.option(\"items\", contextMenuItems)\r\n }\r\n break;\r\n case \"notifications\":\r\n this._notificationControl.option(\"showProgressPanel\", this.option(\"notifications.showPanel\"));\r\n this._notificationControl.option(\"showNotificationPopup\", this.option(\"notifications.showPopup\"));\r\n break;\r\n case \"onContextMenuItemClick\":\r\n case \"onContextMenuShowing\":\r\n case \"onCurrentDirectoryChanged\":\r\n case \"onSelectedFileOpened\":\r\n case \"onSelectionChanged\":\r\n case \"onFocusedItemChanged\":\r\n case \"onToolbarItemClick\":\r\n case \"onErrorOccurred\":\r\n this._actions[name] = this._createActionByOption(name);\r\n break;\r\n case \"onDirectoryCreating\":\r\n case \"onDirectoryCreated\":\r\n case \"onItemRenaming\":\r\n case \"onItemRenamed\":\r\n case \"onItemDeleting\":\r\n case \"onItemDeleted\":\r\n case \"onItemCopying\":\r\n case \"onItemCopied\":\r\n case \"onItemMoving\":\r\n case \"onItemMoved\":\r\n case \"onFileUploading\":\r\n case \"onFileUploaded\":\r\n case \"onItemDownloading\":\r\n this._actions.editing[name] = this._createActionByOption(name);\r\n break;\r\n case \"rtlEnabled\":\r\n this._editing.updateDialogRtl(args.value);\r\n super._optionChanged(args);\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _initActions() {\r\n this._actions = {\r\n onContextMenuItemClick: this._createActionByOption(\"onContextMenuItemClick\"),\r\n onContextMenuShowing: this._createActionByOption(\"onContextMenuShowing\"),\r\n onCurrentDirectoryChanged: this._createActionByOption(\"onCurrentDirectoryChanged\"),\r\n onSelectedFileOpened: this._createActionByOption(\"onSelectedFileOpened\"),\r\n onSelectionChanged: this._createActionByOption(\"onSelectionChanged\"),\r\n onFocusedItemChanged: this._createActionByOption(\"onFocusedItemChanged\"),\r\n onToolbarItemClick: this._createActionByOption(\"onToolbarItemClick\"),\r\n onErrorOccurred: this._createActionByOption(\"onErrorOccurred\"),\r\n editing: {\r\n onDirectoryCreating: this._createActionByOption(\"onDirectoryCreating\"),\r\n onDirectoryCreated: this._createActionByOption(\"onDirectoryCreated\"),\r\n onItemRenaming: this._createActionByOption(\"onItemRenaming\"),\r\n onItemRenamed: this._createActionByOption(\"onItemRenamed\"),\r\n onItemDeleting: this._createActionByOption(\"onItemDeleting\"),\r\n onItemDeleted: this._createActionByOption(\"onItemDeleted\"),\r\n onItemCopying: this._createActionByOption(\"onItemCopying\"),\r\n onItemCopied: this._createActionByOption(\"onItemCopied\"),\r\n onItemMoving: this._createActionByOption(\"onItemMoving\"),\r\n onItemMoved: this._createActionByOption(\"onItemMoved\"),\r\n onFileUploading: this._createActionByOption(\"onFileUploading\"),\r\n onFileUploaded: this._createActionByOption(\"onFileUploaded\"),\r\n onItemDownloading: this._createActionByOption(\"onItemDownloading\")\r\n }\r\n }\r\n }\r\n executeCommand(commandName) {\r\n return this._commandManager.executeCommand(commandName)\r\n }\r\n _setCurrentDirectory(directoryInfo, checkActuality) {\r\n this._controller.setCurrentDirectory(directoryInfo, checkActuality)\r\n }\r\n _getCurrentDirectory() {\r\n return this._controller.getCurrentDirectory()\r\n }\r\n _onControllerInitialized(_ref8) {\r\n var {\r\n controller: controller\r\n } = _ref8;\r\n this._controller = this._controller || controller;\r\n this._syncToCurrentDirectory()\r\n }\r\n _onDataLoading(_ref9) {\r\n var {\r\n operation: operation\r\n } = _ref9;\r\n var options = null;\r\n if (operation === OPERATIONS.NAVIGATION) {\r\n options = {\r\n focusedItemKey: this._itemKeyToFocus,\r\n selectedItemKeys: this.option(\"selectedItemKeys\")\r\n };\r\n this._itemKeyToFocus = void 0\r\n }\r\n this._itemView.refresh(options, operation)\r\n }\r\n _onSelectedDirectoryChanged() {\r\n var currentDirectory = this._getCurrentDirectory();\r\n this._syncToCurrentDirectory();\r\n this._actions.onCurrentDirectoryChanged({\r\n directory: currentDirectory.fileItem\r\n })\r\n }\r\n _syncToCurrentDirectory() {\r\n var currentDirectory = this._getCurrentDirectory();\r\n if (this._filesTreeView) {\r\n this._filesTreeView.updateCurrentDirectory()\r\n }\r\n if (this._breadcrumbs) {\r\n this._breadcrumbs.setCurrentDirectory(currentDirectory)\r\n }\r\n this._checkPathActuality()\r\n }\r\n _checkPathActuality() {\r\n if (this._lockCurrentPathProcessing) {\r\n return\r\n }\r\n var currentPath = this._controller.getCurrentPath();\r\n var currentPathKeys = this._controller.getCurrentPathKeys();\r\n var options = {};\r\n if (this.option(\"currentPath\") !== currentPath) {\r\n options.currentPath = currentPath\r\n }\r\n if (!equalByValue(this.option(\"currentPathKeys\"), currentPathKeys)) {\r\n options.currentPathKeys = currentPathKeys\r\n }\r\n if (!isEmptyObject(options)) {\r\n this.option(options)\r\n }\r\n }\r\n getDirectories(parentDirectoryInfo, skipNavigationOnError) {\r\n return this._controller.getDirectories(parentDirectoryInfo, skipNavigationOnError)\r\n }\r\n _getSelectedItemInfos() {\r\n return this._itemView ? this._itemView.getSelectedItems() : []\r\n }\r\n refresh() {\r\n return this.executeCommand(\"refresh\")\r\n }\r\n getCurrentDirectory() {\r\n var directoryInfo = this._getCurrentDirectory();\r\n return directoryInfo && directoryInfo.fileItem || null\r\n }\r\n getSelectedItems() {\r\n return this._getSelectedItemInfos().map(itemInfo => itemInfo.fileItem)\r\n }\r\n _onSelectedItemOpened(_ref10) {\r\n var {\r\n fileItemInfo: fileItemInfo\r\n } = _ref10;\r\n var fileItem = fileItemInfo.fileItem;\r\n if (!fileItem.isDirectory) {\r\n this._actions.onSelectedFileOpened({\r\n file: fileItem\r\n });\r\n return\r\n }\r\n if (fileItem.isParentFolder) {\r\n this._itemKeyToFocus = this._getCurrentDirectory().fileItem.key\r\n }\r\n var newCurrentDirectory = fileItem.isParentFolder ? this._getCurrentDirectory().parentDirectory : fileItemInfo;\r\n this._setCurrentDirectory(newCurrentDirectory);\r\n if (newCurrentDirectory) {\r\n this._filesTreeView.toggleDirectoryExpandedState(newCurrentDirectory.parentDirectory, true)\r\n }\r\n }\r\n}\r\nregisterComponent(\"dxFileManager\", FileManager);\r\nexport default FileManager;\r\n","/**\r\n * DevExtreme (esm/ui/file_manager.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport FileManager from \"./file_manager/ui.file_manager\";\r\nexport default FileManager;\r\n","/**\r\n * DevExtreme (esm/ui/file_uploader.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOffset,\r\n getWidth\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport Guid from \"../core/guid\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport Callbacks from \"../core/utils/callbacks\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isNumeric\r\n} from \"../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n Deferred,\r\n fromPromise\r\n} from \"../core/utils/deferred\";\r\nimport ajax from \"../core/utils/ajax\";\r\nimport Editor from \"./editor/editor\";\r\nimport Button from \"./button\";\r\nimport ProgressBar from \"./progress_bar\";\r\nimport devices from \"../core/devices\";\r\nimport {\r\n addNamespace,\r\n isTouchEvent\r\n} from \"../events/utils/index\";\r\nimport {\r\n name as clickEventName\r\n} from \"../events/click\";\r\nimport messageLocalization from \"../localization/message\";\r\nimport {\r\n isMaterial\r\n} from \"./themes\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nvar window = getWindow();\r\nvar FILEUPLOADER_CLASS = \"dx-fileuploader\";\r\nvar FILEUPLOADER_EMPTY_CLASS = \"dx-fileuploader-empty\";\r\nvar FILEUPLOADER_SHOW_FILE_LIST_CLASS = \"dx-fileuploader-show-file-list\";\r\nvar FILEUPLOADER_DRAGOVER_CLASS = \"dx-fileuploader-dragover\";\r\nvar FILEUPLOADER_WRAPPER_CLASS = \"dx-fileuploader-wrapper\";\r\nvar FILEUPLOADER_CONTAINER_CLASS = \"dx-fileuploader-container\";\r\nvar FILEUPLOADER_CONTENT_CLASS = \"dx-fileuploader-content\";\r\nvar FILEUPLOADER_INPUT_WRAPPER_CLASS = \"dx-fileuploader-input-wrapper\";\r\nvar FILEUPLOADER_INPUT_CONTAINER_CLASS = \"dx-fileuploader-input-container\";\r\nvar FILEUPLOADER_INPUT_LABEL_CLASS = \"dx-fileuploader-input-label\";\r\nvar FILEUPLOADER_INPUT_CLASS = \"dx-fileuploader-input\";\r\nvar FILEUPLOADER_FILES_CONTAINER_CLASS = \"dx-fileuploader-files-container\";\r\nvar FILEUPLOADER_FILE_CONTAINER_CLASS = \"dx-fileuploader-file-container\";\r\nvar FILEUPLOADER_FILE_INFO_CLASS = \"dx-fileuploader-file-info\";\r\nvar FILEUPLOADER_FILE_STATUS_MESSAGE_CLASS = \"dx-fileuploader-file-status-message\";\r\nvar FILEUPLOADER_FILE_CLASS = \"dx-fileuploader-file\";\r\nvar FILEUPLOADER_FILE_NAME_CLASS = \"dx-fileuploader-file-name\";\r\nvar FILEUPLOADER_FILE_SIZE_CLASS = \"dx-fileuploader-file-size\";\r\nvar FILEUPLOADER_BUTTON_CLASS = \"dx-fileuploader-button\";\r\nvar FILEUPLOADER_BUTTON_CONTAINER_CLASS = \"dx-fileuploader-button-container\";\r\nvar FILEUPLOADER_CANCEL_BUTTON_CLASS = \"dx-fileuploader-cancel-button\";\r\nvar FILEUPLOADER_UPLOAD_BUTTON_CLASS = \"dx-fileuploader-upload-button\";\r\nvar FILEUPLOADER_INVALID_CLASS = \"dx-fileuploader-invalid\";\r\nvar FILEUPLOADER_AFTER_LOAD_DELAY = 400;\r\nvar FILEUPLOADER_CHUNK_META_DATA_NAME = \"chunkMetadata\";\r\nvar DRAG_EVENT_DELTA = 1;\r\nvar renderFileUploaderInput = () => $(\"<input>\").attr(\"type\", \"file\");\r\nvar isFormDataSupported = () => !!window.FormData;\r\nclass FileUploader extends Editor {\r\n _supportedKeys() {\r\n var click = e => {\r\n e.preventDefault();\r\n var $selectButton = this._selectButton.$element();\r\n eventsEngine.trigger($selectButton, clickEventName)\r\n };\r\n return extend(super._supportedKeys(), {\r\n space: click,\r\n enter: click\r\n })\r\n }\r\n _setOptionsByReference() {\r\n super._setOptionsByReference();\r\n extend(this._optionsByReference, {\r\n value: true\r\n })\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n chunkSize: 0,\r\n value: [],\r\n selectButtonText: messageLocalization.format(\"dxFileUploader-selectFile\"),\r\n uploadButtonText: messageLocalization.format(\"dxFileUploader-upload\"),\r\n labelText: messageLocalization.format(\"dxFileUploader-dropFile\"),\r\n name: \"files[]\",\r\n multiple: false,\r\n accept: \"\",\r\n uploadUrl: \"/\",\r\n allowCanceling: true,\r\n showFileList: true,\r\n progress: 0,\r\n dialogTrigger: void 0,\r\n dropZone: void 0,\r\n readyToUploadMessage: messageLocalization.format(\"dxFileUploader-readyToUpload\"),\r\n uploadedMessage: messageLocalization.format(\"dxFileUploader-uploaded\"),\r\n uploadFailedMessage: messageLocalization.format(\"dxFileUploader-uploadFailedMessage\"),\r\n uploadAbortedMessage: messageLocalization.format(\"dxFileUploader-uploadAbortedMessage\"),\r\n uploadMode: \"instantly\",\r\n uploadMethod: \"POST\",\r\n uploadHeaders: {},\r\n uploadCustomData: {},\r\n onBeforeSend: null,\r\n onUploadStarted: null,\r\n onUploaded: null,\r\n onFilesUploaded: null,\r\n onProgress: null,\r\n onUploadError: null,\r\n onUploadAborted: null,\r\n onDropZoneEnter: null,\r\n onDropZoneLeave: null,\r\n allowedFileExtensions: [],\r\n maxFileSize: 0,\r\n minFileSize: 0,\r\n inputAttr: {},\r\n invalidFileExtensionMessage: messageLocalization.format(\"dxFileUploader-invalidFileExtension\"),\r\n invalidMaxFileSizeMessage: messageLocalization.format(\"dxFileUploader-invalidMaxFileSize\"),\r\n invalidMinFileSizeMessage: messageLocalization.format(\"dxFileUploader-invalidMinFileSize\"),\r\n extendSelection: true,\r\n validationMessageMode: \"always\",\r\n uploadFile: null,\r\n uploadChunk: null,\r\n abortUpload: null,\r\n validationMessageOffset: {\r\n h: 0,\r\n v: 0\r\n },\r\n hoverStateEnabled: true,\r\n useNativeInputClick: false,\r\n useDragOver: true,\r\n nativeDropSupported: true,\r\n _uploadButtonType: \"normal\"\r\n })\r\n }\r\n _defaultOptionsRules() {\r\n return super._defaultOptionsRules().concat([{\r\n device: () => \"desktop\" === devices.real().deviceType && !devices.isSimulator(),\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: [{\r\n platform: \"android\"\r\n }],\r\n options: {\r\n validationMessageOffset: {\r\n v: 0\r\n }\r\n }\r\n }, {\r\n device: () => \"desktop\" !== devices.real().deviceType,\r\n options: {\r\n useDragOver: false\r\n }\r\n }, {\r\n device: () => !isFormDataSupported(),\r\n options: {\r\n uploadMode: \"useForm\"\r\n }\r\n }, {\r\n device: () => \"desktop\" !== devices.real().deviceType,\r\n options: {\r\n nativeDropSupported: false\r\n }\r\n }, {\r\n device: () => isMaterial(),\r\n options: {\r\n _uploadButtonType: \"default\"\r\n }\r\n }])\r\n }\r\n _initOptions(options) {\r\n var isLabelTextDefined = \"labelText\" in options;\r\n super._initOptions(options);\r\n if (!isLabelTextDefined && !this._shouldDragOverBeRendered()) {\r\n this.option(\"labelText\", \"\")\r\n }\r\n }\r\n _init() {\r\n super._init();\r\n this._initFileInput();\r\n this._initLabel();\r\n this._setUploadStrategy();\r\n this._createFiles();\r\n this._createBeforeSendAction();\r\n this._createUploadStartedAction();\r\n this._createUploadedAction();\r\n this._createFilesUploadedAction();\r\n this._createProgressAction();\r\n this._createUploadErrorAction();\r\n this._createUploadAbortedAction();\r\n this._createDropZoneEnterAction();\r\n this._createDropZoneLeaveAction()\r\n }\r\n _setUploadStrategy() {\r\n var strategy = null;\r\n if (this.option(\"chunkSize\") > 0) {\r\n var uploadChunk = this.option(\"uploadChunk\");\r\n strategy = uploadChunk && isFunction(uploadChunk) ? new CustomChunksFileUploadStrategy(this) : new DefaultChunksFileUploadStrategy(this)\r\n } else {\r\n var uploadFile = this.option(\"uploadFile\");\r\n strategy = uploadFile && isFunction(uploadFile) ? new CustomWholeFileUploadStrategy(this) : new DefaultWholeFileUploadStrategy(this)\r\n }\r\n this._uploadStrategy = strategy\r\n }\r\n _initFileInput() {\r\n this._isCustomClickEvent = false;\r\n if (!this._$fileInput) {\r\n this._$fileInput = renderFileUploaderInput();\r\n eventsEngine.on(this._$fileInput, \"change\", this._inputChangeHandler.bind(this));\r\n eventsEngine.on(this._$fileInput, \"click\", e => {\r\n e.stopPropagation();\r\n this._resetInputValue();\r\n return this.option(\"useNativeInputClick\") || this._isCustomClickEvent\r\n })\r\n }\r\n this._$fileInput.prop({\r\n multiple: this.option(\"multiple\"),\r\n accept: this.option(\"accept\"),\r\n title: this.option(\"hint\") || null,\r\n tabIndex: -1\r\n })\r\n }\r\n _inputChangeHandler() {\r\n if (this._doPreventInputChange) {\r\n return\r\n }\r\n var fileName = this._$fileInput.val().replace(/^.*\\\\/, \"\");\r\n var files = this._$fileInput.prop(\"files\");\r\n if (files && !files.length && \"useForm\" !== this.option(\"uploadMode\")) {\r\n return\r\n }\r\n var value = files ? this._getFiles(files) : [{\r\n name: fileName\r\n }];\r\n this._changeValue(value);\r\n if (\"instantly\" === this.option(\"uploadMode\")) {\r\n this._uploadFiles()\r\n }\r\n }\r\n _shouldFileListBeExtended() {\r\n return \"useForm\" !== this.option(\"uploadMode\") && this.option(\"extendSelection\") && this.option(\"multiple\")\r\n }\r\n _changeValue(value) {\r\n var files = this._shouldFileListBeExtended() ? this.option(\"value\").slice() : [];\r\n this.option(\"value\", files.concat(value))\r\n }\r\n _getFiles(fileList) {\r\n var values = [];\r\n each(fileList, (_, value) => values.push(value));\r\n return values\r\n }\r\n _getFile(fileData) {\r\n var targetFileValue = isNumeric(fileData) ? this.option(\"value\")[fileData] : fileData;\r\n return this._files.filter(file => file.value === targetFileValue)[0]\r\n }\r\n _initLabel() {\r\n if (!this._$inputLabel) {\r\n this._$inputLabel = $(\"<div>\")\r\n }\r\n this._updateInputLabelText()\r\n }\r\n _updateInputLabelText() {\r\n var correctedValue = this._isInteractionDisabled() ? \"\" : this.option(\"labelText\");\r\n this._$inputLabel.text(correctedValue)\r\n }\r\n _focusTarget() {\r\n return this.$element().find(\".\" + FILEUPLOADER_BUTTON_CLASS)\r\n }\r\n _getSubmitElement() {\r\n return this._$fileInput\r\n }\r\n _initMarkup() {\r\n super._initMarkup();\r\n this.$element().addClass(FILEUPLOADER_CLASS);\r\n this._renderWrapper();\r\n this._renderInputWrapper();\r\n this._renderSelectButton();\r\n this._renderInputContainer();\r\n this._renderUploadButton();\r\n this._preventRecreatingFiles = true;\r\n this._activeDropZone = null\r\n }\r\n _render() {\r\n this._preventRecreatingFiles = false;\r\n this._attachDragEventHandlers(this._$inputWrapper);\r\n this._attachDragEventHandlers(this.option(\"dropZone\"));\r\n this._renderFiles();\r\n super._render()\r\n }\r\n _createFileProgressBar(file) {\r\n file.progressBar = this._createProgressBar(file.value.size);\r\n file.progressBar.$element().appendTo(file.$file);\r\n this._initStatusMessage(file);\r\n this._ensureCancelButtonInitialized(file)\r\n }\r\n _setStatusMessage(file, message) {\r\n setTimeout(() => {\r\n if (this.option(\"showFileList\")) {\r\n if (file.$statusMessage) {\r\n file.$statusMessage.text(message);\r\n file.$statusMessage.css(\"display\", \"\");\r\n file.progressBar.$element().remove()\r\n }\r\n }\r\n }, FILEUPLOADER_AFTER_LOAD_DELAY)\r\n }\r\n _getUploadAbortedStatusMessage() {\r\n return \"instantly\" === this.option(\"uploadMode\") ? this.option(\"uploadAbortedMessage\") : this.option(\"readyToUploadMessage\")\r\n }\r\n _createFiles() {\r\n var value = this.option(\"value\");\r\n if (this._files && (0 === value.length || !this._shouldFileListBeExtended())) {\r\n this._preventFilesUploading(this._files);\r\n this._files = null\r\n }\r\n if (!this._files) {\r\n this._files = []\r\n }\r\n each(value.slice(this._files.length), (_, value) => {\r\n var file = this._createFile(value);\r\n this._validateFile(file);\r\n this._files.push(file)\r\n })\r\n }\r\n _preventFilesUploading(files) {\r\n files.forEach(file => this._uploadStrategy.abortUpload(file))\r\n }\r\n _validateFile(file) {\r\n file.isValidFileExtension = this._validateFileExtension(file);\r\n file.isValidMinSize = this._validateMinFileSize(file);\r\n file.isValidMaxSize = this._validateMaxFileSize(file)\r\n }\r\n _validateFileExtension(file) {\r\n var allowedExtensions = this.option(\"allowedFileExtensions\");\r\n var accept = this.option(\"accept\");\r\n var allowedTypes = this._getAllowedFileTypes(accept);\r\n var fileExtension = file.value.name.substring(file.value.name.lastIndexOf(\".\")).toLowerCase();\r\n if (0 !== accept.length && !this._isFileTypeAllowed(file.value, allowedTypes)) {\r\n return false\r\n }\r\n if (0 === allowedExtensions.length) {\r\n return true\r\n }\r\n for (var i = 0; i < allowedExtensions.length; i++) {\r\n if (fileExtension === allowedExtensions[i].toLowerCase()) {\r\n return true\r\n }\r\n }\r\n return false\r\n }\r\n _validateMaxFileSize(file) {\r\n var fileSize = file.value.size;\r\n var maxFileSize = this.option(\"maxFileSize\");\r\n return maxFileSize > 0 ? fileSize <= maxFileSize : true\r\n }\r\n _validateMinFileSize(file) {\r\n var fileSize = file.value.size;\r\n var minFileSize = this.option(\"minFileSize\");\r\n return minFileSize > 0 ? fileSize >= minFileSize : true\r\n }\r\n _createBeforeSendAction() {\r\n this._beforeSendAction = this._createActionByOption(\"onBeforeSend\", {\r\n excludeValidators: [\"readOnly\"]\r\n })\r\n }\r\n _createUploadStartedAction() {\r\n this._uploadStartedAction = this._createActionByOption(\"onUploadStarted\", {\r\n excludeValidators: [\"readOnly\"]\r\n })\r\n }\r\n _createUploadedAction() {\r\n this._uploadedAction = this._createActionByOption(\"onUploaded\", {\r\n excludeValidators: [\"readOnly\"]\r\n })\r\n }\r\n _createFilesUploadedAction() {\r\n this._filesUploadedAction = this._createActionByOption(\"onFilesUploaded\", {\r\n excludeValidators: [\"readOnly\"]\r\n })\r\n }\r\n _createProgressAction() {\r\n this._progressAction = this._createActionByOption(\"onProgress\", {\r\n excludeValidators: [\"readOnly\"]\r\n })\r\n }\r\n _createUploadAbortedAction() {\r\n this._uploadAbortedAction = this._createActionByOption(\"onUploadAborted\", {\r\n excludeValidators: [\"readOnly\"]\r\n })\r\n }\r\n _createUploadErrorAction() {\r\n this._uploadErrorAction = this._createActionByOption(\"onUploadError\", {\r\n excludeValidators: [\"readOnly\"]\r\n })\r\n }\r\n _createDropZoneEnterAction() {\r\n this._dropZoneEnterAction = this._createActionByOption(\"onDropZoneEnter\")\r\n }\r\n _createDropZoneLeaveAction() {\r\n this._dropZoneLeaveAction = this._createActionByOption(\"onDropZoneLeave\")\r\n }\r\n _createFile(value) {\r\n return {\r\n value: value,\r\n loadedSize: 0,\r\n onProgress: Callbacks(),\r\n onAbort: Callbacks(),\r\n onLoad: Callbacks(),\r\n onError: Callbacks(),\r\n onLoadStart: Callbacks(),\r\n isValidFileExtension: true,\r\n isValidMaxSize: true,\r\n isValidMinSize: true,\r\n isValid() {\r\n return this.isValidFileExtension && this.isValidMaxSize && this.isValidMinSize\r\n },\r\n isInitialized: false\r\n }\r\n }\r\n _resetFileState(file) {\r\n file.isAborted = false;\r\n file.uploadStarted = false;\r\n file.isStartLoad = false;\r\n file.loadedSize = 0;\r\n file.chunksData = void 0;\r\n file.request = void 0\r\n }\r\n _renderFiles() {\r\n var _this$_validationMess;\r\n var value = this.option(\"value\");\r\n if (!this._$filesContainer) {\r\n this._$filesContainer = $(\"<div>\").addClass(FILEUPLOADER_FILES_CONTAINER_CLASS).appendTo(this._$content)\r\n } else if (!this._shouldFileListBeExtended() || 0 === value.length) {\r\n this._$filesContainer.empty()\r\n }\r\n var showFileList = this.option(\"showFileList\");\r\n if (showFileList) {\r\n each(this._files, (_, file) => {\r\n if (!file.$file) {\r\n this._renderFile(file)\r\n }\r\n })\r\n }\r\n this.$element().toggleClass(FILEUPLOADER_SHOW_FILE_LIST_CLASS, showFileList);\r\n this._toggleFileUploaderEmptyClassName();\r\n this._updateFileNameMaxWidth();\r\n null === (_this$_validationMess = this._validationMessage) || void 0 === _this$_validationMess ? void 0 : _this$_validationMess.repaint()\r\n }\r\n _renderFile(file) {\r\n var value = file.value;\r\n var $fileContainer = $(\"<div>\").addClass(FILEUPLOADER_FILE_CONTAINER_CLASS).appendTo(this._$filesContainer);\r\n this._renderFileButtons(file, $fileContainer);\r\n file.$file = $(\"<div>\").addClass(FILEUPLOADER_FILE_CLASS).appendTo($fileContainer);\r\n var $fileInfo = $(\"<div>\").addClass(FILEUPLOADER_FILE_INFO_CLASS).appendTo(file.$file);\r\n file.$statusMessage = $(\"<div>\").addClass(FILEUPLOADER_FILE_STATUS_MESSAGE_CLASS).appendTo(file.$file);\r\n $(\"<div>\").addClass(FILEUPLOADER_FILE_NAME_CLASS).text(value.name).appendTo($fileInfo);\r\n if (isDefined(value.size)) {\r\n $(\"<div>\").addClass(FILEUPLOADER_FILE_SIZE_CLASS).text(this._getFileSize(value.size)).appendTo($fileInfo)\r\n }\r\n if (file.isValid()) {\r\n file.$statusMessage.text(this.option(\"readyToUploadMessage\"))\r\n } else {\r\n if (!file.isValidFileExtension) {\r\n file.$statusMessage.append(this._createValidationElement(\"invalidFileExtensionMessage\"))\r\n }\r\n if (!file.isValidMaxSize) {\r\n file.$statusMessage.append(this._createValidationElement(\"invalidMaxFileSizeMessage\"))\r\n }\r\n if (!file.isValidMinSize) {\r\n file.$statusMessage.append(this._createValidationElement(\"invalidMinFileSizeMessage\"))\r\n }\r\n $fileContainer.addClass(FILEUPLOADER_INVALID_CLASS)\r\n }\r\n }\r\n _createValidationElement(key) {\r\n return $(\"<span>\").text(this.option(key))\r\n }\r\n _updateFileNameMaxWidth() {\r\n var cancelButtonsCount = this.option(\"allowCanceling\") && \"useForm\" !== this.option(\"uploadMode\") ? 1 : 0;\r\n var uploadButtonsCount = \"useButtons\" === this.option(\"uploadMode\") ? 1 : 0;\r\n var filesContainerWidth = getWidth(this._$filesContainer.find(\".\" + FILEUPLOADER_FILE_CONTAINER_CLASS).first()) || getWidth(this._$filesContainer);\r\n var $buttonContainer = this._$filesContainer.find(\".\" + FILEUPLOADER_BUTTON_CONTAINER_CLASS).eq(0);\r\n var buttonsWidth = getWidth($buttonContainer) * (cancelButtonsCount + uploadButtonsCount);\r\n var $fileSize = this._$filesContainer.find(\".\" + FILEUPLOADER_FILE_SIZE_CLASS).eq(0);\r\n var prevFileSize = $fileSize.text();\r\n $fileSize.text(\"1000 Mb\");\r\n var fileSizeWidth = getWidth($fileSize);\r\n $fileSize.text(prevFileSize);\r\n this._$filesContainer.find(\".\" + FILEUPLOADER_FILE_NAME_CLASS).css(\"maxWidth\", filesContainerWidth - buttonsWidth - fileSizeWidth)\r\n }\r\n _renderFileButtons(file, $container) {\r\n var $cancelButton = this._getCancelButton(file);\r\n $cancelButton && $container.append($cancelButton);\r\n var $uploadButton = this._getUploadButton(file);\r\n $uploadButton && $container.append($uploadButton)\r\n }\r\n _getCancelButton(file) {\r\n if (\"useForm\" === this.option(\"uploadMode\")) {\r\n return null\r\n }\r\n file.cancelButton = this._createComponent($(\"<div>\").addClass(FILEUPLOADER_BUTTON_CLASS + \" \" + FILEUPLOADER_CANCEL_BUTTON_CLASS), Button, {\r\n onClick: () => this._removeFile(file),\r\n icon: \"close\",\r\n visible: this.option(\"allowCanceling\"),\r\n disabled: this.option(\"readOnly\"),\r\n integrationOptions: {},\r\n hoverStateEnabled: this.option(\"hoverStateEnabled\")\r\n });\r\n return $(\"<div>\").addClass(FILEUPLOADER_BUTTON_CONTAINER_CLASS).append(file.cancelButton.$element())\r\n }\r\n _getUploadButton(file) {\r\n if (!file.isValid() || \"useButtons\" !== this.option(\"uploadMode\")) {\r\n return null\r\n }\r\n file.uploadButton = this._createComponent($(\"<div>\").addClass(FILEUPLOADER_BUTTON_CLASS + \" \" + FILEUPLOADER_UPLOAD_BUTTON_CLASS), Button, {\r\n onClick: () => this._uploadFile(file),\r\n icon: \"upload\",\r\n hoverStateEnabled: this.option(\"hoverStateEnabled\")\r\n });\r\n file.onLoadStart.add(() => file.uploadButton.option({\r\n visible: false,\r\n disabled: true\r\n }));\r\n file.onAbort.add(() => file.uploadButton.option({\r\n visible: true,\r\n disabled: false\r\n }));\r\n return $(\"<div>\").addClass(FILEUPLOADER_BUTTON_CONTAINER_CLASS).append(file.uploadButton.$element())\r\n }\r\n _removeFile(file) {\r\n var _file$$file;\r\n null === (_file$$file = file.$file) || void 0 === _file$$file ? void 0 : _file$$file.parent().remove();\r\n this._files.splice(this._files.indexOf(file), 1);\r\n var value = this.option(\"value\").slice();\r\n value.splice(value.indexOf(file.value), 1);\r\n this._preventRecreatingFiles = true;\r\n this.option(\"value\", value);\r\n this._preventRecreatingFiles = false;\r\n this._toggleFileUploaderEmptyClassName();\r\n this._resetInputValue(true)\r\n }\r\n removeFile(fileData) {\r\n if (\"useForm\" === this.option(\"uploadMode\") || !isDefined(fileData)) {\r\n return\r\n }\r\n var file = this._getFile(fileData);\r\n if (file) {\r\n if (file.uploadStarted) {\r\n this._preventFilesUploading([file])\r\n }\r\n this._removeFile(file)\r\n }\r\n }\r\n _toggleFileUploaderEmptyClassName() {\r\n this.$element().toggleClass(FILEUPLOADER_EMPTY_CLASS, !this._files.length || this._hasInvalidFile(this._files))\r\n }\r\n _hasInvalidFile(files) {\r\n for (var i = 0; i < files.length; i++) {\r\n if (!files[i].isValid()) {\r\n return true\r\n }\r\n }\r\n return false\r\n }\r\n _getFileSize(size) {\r\n var i = 0;\r\n var labels = [messageLocalization.format(\"dxFileUploader-bytes\"), messageLocalization.format(\"dxFileUploader-kb\"), messageLocalization.format(\"dxFileUploader-Mb\"), messageLocalization.format(\"dxFileUploader-Gb\")];\r\n var count = labels.length - 1;\r\n while (i < count && size >= 1024) {\r\n size /= 1024;\r\n i++\r\n }\r\n return Math.round(size) + \" \" + labels[i]\r\n }\r\n _renderSelectButton() {\r\n var $button = $(\"<div>\").addClass(FILEUPLOADER_BUTTON_CLASS).appendTo(this._$inputWrapper);\r\n this._selectButton = this._createComponent($button, Button, {\r\n text: this.option(\"selectButtonText\"),\r\n focusStateEnabled: false,\r\n integrationOptions: {},\r\n disabled: this.option(\"readOnly\"),\r\n hoverStateEnabled: this.option(\"hoverStateEnabled\")\r\n });\r\n this._selectFileDialogHandler = this._selectButtonClickHandler.bind(this);\r\n if (\"desktop\" === devices.real().deviceType) {\r\n this._selectButton.option(\"onClick\", this._selectFileDialogHandler)\r\n } else {\r\n this._attachSelectFileDialogHandler(this._selectButton.$element())\r\n }\r\n this._attachSelectFileDialogHandler(this.option(\"dialogTrigger\"))\r\n }\r\n _selectButtonClickHandler() {\r\n if (this.option(\"useNativeInputClick\")) {\r\n return\r\n }\r\n if (this._isInteractionDisabled()) {\r\n return false\r\n }\r\n this._isCustomClickEvent = true;\r\n eventsEngine.trigger(this._$fileInput, \"click\");\r\n this._isCustomClickEvent = false\r\n }\r\n _attachSelectFileDialogHandler(target) {\r\n if (!isDefined(target)) {\r\n return\r\n }\r\n this._detachSelectFileDialogHandler(target);\r\n eventsEngine.on($(target), \"click\", this._selectFileDialogHandler)\r\n }\r\n _detachSelectFileDialogHandler(target) {\r\n if (!isDefined(target)) {\r\n return\r\n }\r\n eventsEngine.off($(target), \"click\", this._selectFileDialogHandler)\r\n }\r\n _renderUploadButton() {\r\n if (\"useButtons\" !== this.option(\"uploadMode\")) {\r\n return\r\n }\r\n var $uploadButton = $(\"<div>\").addClass(FILEUPLOADER_BUTTON_CLASS).addClass(FILEUPLOADER_UPLOAD_BUTTON_CLASS).appendTo(this._$content);\r\n this._uploadButton = this._createComponent($uploadButton, Button, {\r\n text: this.option(\"uploadButtonText\"),\r\n onClick: this._uploadButtonClickHandler.bind(this),\r\n type: this.option(\"_uploadButtonType\"),\r\n integrationOptions: {},\r\n hoverStateEnabled: this.option(\"hoverStateEnabled\")\r\n })\r\n }\r\n _uploadButtonClickHandler() {\r\n this._uploadFiles()\r\n }\r\n _shouldDragOverBeRendered() {\r\n return !this.option(\"readOnly\") && (\"useForm\" !== this.option(\"uploadMode\") || this.option(\"nativeDropSupported\"))\r\n }\r\n _isInteractionDisabled() {\r\n return this.option(\"readOnly\") || this.option(\"disabled\")\r\n }\r\n _renderInputContainer() {\r\n this._$inputContainer = $(\"<div>\").addClass(FILEUPLOADER_INPUT_CONTAINER_CLASS).appendTo(this._$inputWrapper);\r\n this._$fileInput.addClass(FILEUPLOADER_INPUT_CLASS);\r\n this._renderInput();\r\n var labelId = \"dx-fileuploader-input-label-\".concat(new Guid);\r\n this._$inputLabel.attr(\"id\", labelId).addClass(FILEUPLOADER_INPUT_LABEL_CLASS).appendTo(this._$inputContainer);\r\n this.setAria(\"labelledby\", labelId, this._$fileInput)\r\n }\r\n _renderInput() {\r\n if (this.option(\"useNativeInputClick\")) {\r\n this._selectButton.option(\"template\", this._selectButtonInputTemplate.bind(this))\r\n } else {\r\n this._$fileInput.appendTo(this._$inputContainer);\r\n this._selectButton.option(\"template\", \"content\")\r\n }\r\n this._applyInputAttributes(this.option(\"inputAttr\"))\r\n }\r\n _selectButtonInputTemplate(data, content) {\r\n var $content = $(content);\r\n var $text = $(\"<span>\").addClass(\"dx-button-text\").text(data.text);\r\n $content.append($text).append(this._$fileInput);\r\n return $content\r\n }\r\n _renderInputWrapper() {\r\n this._$inputWrapper = $(\"<div>\").addClass(FILEUPLOADER_INPUT_WRAPPER_CLASS).appendTo(this._$content)\r\n }\r\n _detachDragEventHandlers(target) {\r\n if (!isDefined(target)) {\r\n return\r\n }\r\n eventsEngine.off($(target), addNamespace(\"\", this.NAME))\r\n }\r\n _attachDragEventHandlers(target) {\r\n var isCustomTarget = target !== this._$inputWrapper;\r\n if (!isDefined(target) || !this._shouldDragOverBeRendered()) {\r\n return\r\n }\r\n this._detachDragEventHandlers(target);\r\n target = $(target);\r\n eventsEngine.on(target, addNamespace(\"dragenter\", this.NAME), this._dragEnterHandler.bind(this, isCustomTarget));\r\n eventsEngine.on(target, addNamespace(\"dragover\", this.NAME), this._dragOverHandler.bind(this, isCustomTarget));\r\n eventsEngine.on(target, addNamespace(\"dragleave\", this.NAME), this._dragLeaveHandler.bind(this, isCustomTarget));\r\n eventsEngine.on(target, addNamespace(\"drop\", this.NAME), this._dropHandler.bind(this, isCustomTarget))\r\n }\r\n _applyInputAttributes(customAttributes) {\r\n this._$fileInput.attr(customAttributes)\r\n }\r\n _useInputForDrop() {\r\n return this.option(\"nativeDropSupported\") && \"useForm\" === this.option(\"uploadMode\")\r\n }\r\n _getDropZoneElement(isCustomTarget, e) {\r\n var targetList = isCustomTarget ? Array.from($(this.option(\"dropZone\"))) : [this._$inputWrapper];\r\n targetList = targetList.map(element => $(element).get(0));\r\n return targetList[targetList.indexOf(e.currentTarget)]\r\n }\r\n _dragEnterHandler(isCustomTarget, e) {\r\n if (this.option(\"disabled\")) {\r\n return false\r\n }\r\n if (!this._useInputForDrop()) {\r\n e.preventDefault()\r\n }\r\n var dropZoneElement = this._getDropZoneElement(isCustomTarget, e);\r\n if (isDefined(dropZoneElement) && this._shouldRaiseDragOver(e, dropZoneElement)) {\r\n this._activeDropZone = dropZoneElement;\r\n this._tryToggleDropZoneActive(true, isCustomTarget, e)\r\n }\r\n }\r\n _shouldRaiseDragOver(e, dropZoneElement) {\r\n return null === this._activeDropZone && this.isMouseOverElement(e, dropZoneElement, false) && e.originalEvent.dataTransfer.types.find(item => \"Files\" === item)\r\n }\r\n _dragOverHandler(isCustomTarget, e) {\r\n if (!this._useInputForDrop()) {\r\n e.preventDefault()\r\n }\r\n e.originalEvent.dataTransfer.dropEffect = \"copy\";\r\n if (!isCustomTarget) {\r\n var dropZoneElement = this._getDropZoneElement(false, e);\r\n if (this._shouldRaiseDragOver(e, dropZoneElement)) {\r\n this._dragEnterHandler(false, e)\r\n }\r\n if (this._shouldRaiseDragLeave(e, false)) {\r\n this._dragLeaveHandler(false, e)\r\n }\r\n }\r\n }\r\n _dragLeaveHandler(isCustomTarget, e) {\r\n if (!this._useInputForDrop()) {\r\n e.preventDefault()\r\n }\r\n if (this._shouldRaiseDragLeave(e, isCustomTarget)) {\r\n this._tryToggleDropZoneActive(false, isCustomTarget, e);\r\n this._activeDropZone = null\r\n }\r\n }\r\n _shouldRaiseDragLeave(e, isCustomTarget) {\r\n return null !== this._activeDropZone && !this.isMouseOverElement(e, this._activeDropZone, !isCustomTarget, -DRAG_EVENT_DELTA)\r\n }\r\n _tryToggleDropZoneActive(active, isCustom, event) {\r\n var classAction = active ? \"addClass\" : \"removeClass\";\r\n var mouseAction = active ? \"_dropZoneEnterAction\" : \"_dropZoneLeaveAction\";\r\n this[mouseAction]({\r\n event: event,\r\n dropZoneElement: this._activeDropZone\r\n });\r\n if (!isCustom) {\r\n this.$element()[classAction](FILEUPLOADER_DRAGOVER_CLASS)\r\n }\r\n }\r\n _dropHandler(isCustomTarget, e) {\r\n this._activeDropZone = null;\r\n if (!isCustomTarget) {\r\n this.$element().removeClass(FILEUPLOADER_DRAGOVER_CLASS)\r\n }\r\n if (this._useInputForDrop() || isCustomTarget && this._isInteractionDisabled()) {\r\n return\r\n }\r\n e.preventDefault();\r\n var fileList = e.originalEvent.dataTransfer.files;\r\n var files = this._getFiles(fileList);\r\n if (!this.option(\"multiple\") && files.length > 1 || 0 === files.length) {\r\n return\r\n }\r\n this._changeValue(files);\r\n if (\"instantly\" === this.option(\"uploadMode\")) {\r\n this._uploadFiles()\r\n }\r\n }\r\n _areAllFilesLoaded() {\r\n return this._files.every(file => !file.isValid() || file._isError || file._isLoaded || file.isAborted)\r\n }\r\n _handleAllFilesUploaded() {\r\n this._recalculateProgress();\r\n if (this._areAllFilesLoaded()) {\r\n this._filesUploadedAction()\r\n }\r\n }\r\n _getAllowedFileTypes(acceptSting) {\r\n if (!acceptSting.length) {\r\n return []\r\n }\r\n return acceptSting.split(\",\").map(item => item.trim())\r\n }\r\n _isFileTypeAllowed(file, allowedTypes) {\r\n for (var i = 0, n = allowedTypes.length; i < n; i++) {\r\n var allowedType = allowedTypes[i];\r\n if (\".\" === allowedType[0]) {\r\n allowedType = allowedType.replace(\".\", \"\\\\.\");\r\n if (file.name.match(new RegExp(allowedType + \"$\", \"i\"))) {\r\n return true\r\n }\r\n } else {\r\n allowedType = allowedType.replace(new RegExp(\"\\\\*\", \"g\"), \"\");\r\n if (file.type.match(new RegExp(allowedType, \"i\"))) {\r\n return true\r\n }\r\n }\r\n }\r\n return false\r\n }\r\n _renderWrapper() {\r\n var $wrapper = $(\"<div>\").addClass(FILEUPLOADER_WRAPPER_CLASS).appendTo(this.$element());\r\n var $container = $(\"<div>\").addClass(FILEUPLOADER_CONTAINER_CLASS).appendTo($wrapper);\r\n this._$content = $(\"<div>\").addClass(FILEUPLOADER_CONTENT_CLASS).appendTo($container)\r\n }\r\n _clean() {\r\n this._$fileInput.detach();\r\n delete this._$filesContainer;\r\n this._detachSelectFileDialogHandler(this.option(\"dialogTrigger\"));\r\n this._detachDragEventHandlers(this.option(\"dropZone\"));\r\n if (this._files) {\r\n this._files.forEach(file => {\r\n file.$file = null;\r\n file.$statusMessage = null\r\n })\r\n }\r\n super._clean()\r\n }\r\n abortUpload(fileData) {\r\n if (\"useForm\" === this.option(\"uploadMode\")) {\r\n return\r\n }\r\n if (isDefined(fileData)) {\r\n var file = this._getFile(fileData);\r\n if (file) {\r\n this._preventFilesUploading([file])\r\n }\r\n } else {\r\n this._preventFilesUploading(this._files)\r\n }\r\n }\r\n upload(fileData) {\r\n if (\"useForm\" === this.option(\"uploadMode\")) {\r\n return\r\n }\r\n if (isDefined(fileData)) {\r\n var file = this._getFile(fileData);\r\n if (file && isFormDataSupported()) {\r\n this._uploadFile(file)\r\n }\r\n } else {\r\n this._uploadFiles()\r\n }\r\n }\r\n _uploadFiles() {\r\n if (isFormDataSupported()) {\r\n each(this._files, (_, file) => this._uploadFile(file))\r\n }\r\n }\r\n _uploadFile(file) {\r\n this._uploadStrategy.upload(file)\r\n }\r\n _updateProgressBar(file, loadedFileData) {\r\n file.progressBar && file.progressBar.option({\r\n value: loadedFileData.loaded,\r\n showStatus: true\r\n });\r\n this._progressAction({\r\n file: file.value,\r\n segmentSize: loadedFileData.currentSegmentSize,\r\n bytesLoaded: loadedFileData.loaded,\r\n bytesTotal: loadedFileData.total,\r\n event: loadedFileData.event,\r\n request: file.request\r\n })\r\n }\r\n _updateTotalProgress(totalFilesSize, totalLoadedFilesSize) {\r\n var progress = 0;\r\n if (isDefined(totalFilesSize)) {\r\n if (this._files.length > 0 && this._areAllFilesLoaded() && 0 === totalFilesSize && 0 === totalLoadedFilesSize) {\r\n progress = this._getProgressValue(1)\r\n } else if (totalFilesSize) {\r\n progress = this._getProgressValue(totalLoadedFilesSize / totalFilesSize)\r\n }\r\n }\r\n this.option(\"progress\", progress);\r\n this._setLoadedSize(totalLoadedFilesSize)\r\n }\r\n _getProgressValue(ratio) {\r\n return Math.floor(100 * ratio)\r\n }\r\n _initStatusMessage(file) {\r\n file.$statusMessage.css(\"display\", \"none\")\r\n }\r\n _ensureCancelButtonInitialized(file) {\r\n if (file.isInitialized) {\r\n return\r\n }\r\n file.cancelButton.option(\"onClick\", () => {\r\n this._preventFilesUploading([file]);\r\n this._removeFile(file)\r\n });\r\n var hideCancelButton = () => {\r\n setTimeout(() => {\r\n file.cancelButton.option({\r\n visible: false\r\n })\r\n }, FILEUPLOADER_AFTER_LOAD_DELAY)\r\n };\r\n file.onLoad.add(hideCancelButton);\r\n file.onError.add(hideCancelButton)\r\n }\r\n _createProgressBar(fileSize) {\r\n return this._createComponent($(\"<div>\"), ProgressBar, {\r\n value: void 0,\r\n min: 0,\r\n max: fileSize,\r\n statusFormat: ratio => this._getProgressValue(ratio) + \"%\",\r\n showStatus: false,\r\n statusPosition: \"right\"\r\n })\r\n }\r\n _getTotalFilesSize() {\r\n if (!this._totalFilesSize) {\r\n this._totalFilesSize = 0;\r\n each(this._files, (_, file) => {\r\n this._totalFilesSize += file.value.size\r\n })\r\n }\r\n return this._totalFilesSize\r\n }\r\n _getTotalLoadedFilesSize() {\r\n if (!this._totalLoadedFilesSize) {\r\n this._totalLoadedFilesSize = 0;\r\n each(this._files, (_, file) => {\r\n this._totalLoadedFilesSize += file.loadedSize\r\n })\r\n }\r\n return this._totalLoadedFilesSize\r\n }\r\n _setLoadedSize(value) {\r\n this._totalLoadedFilesSize = value\r\n }\r\n _recalculateProgress() {\r\n this._totalFilesSize = 0;\r\n this._totalLoadedFilesSize = 0;\r\n this._updateTotalProgress(this._getTotalFilesSize(), this._getTotalLoadedFilesSize())\r\n }\r\n isMouseOverElement(mouseEvent, element, correctPseudoElements) {\r\n var dragEventDelta = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : DRAG_EVENT_DELTA;\r\n if (!element) {\r\n return false\r\n }\r\n var beforeHeight = correctPseudoElements ? parseFloat(window.getComputedStyle(element, \":before\").height) : 0;\r\n var afterHeight = correctPseudoElements ? parseFloat(window.getComputedStyle(element, \":after\").height) : 0;\r\n var x = getOffset(element).left;\r\n var y = getOffset(element).top + beforeHeight;\r\n var w = element.offsetWidth;\r\n var h = element.offsetHeight - beforeHeight - afterHeight;\r\n var eventX = this._getEventX(mouseEvent);\r\n var eventY = this._getEventY(mouseEvent);\r\n return eventX + dragEventDelta >= x && eventX - dragEventDelta < x + w && eventY + dragEventDelta >= y && eventY - dragEventDelta < y + h\r\n }\r\n _getEventX(e) {\r\n return isTouchEvent(e) ? this._getTouchEventX(e) : e.clientX + this._getDocumentScrollLeft()\r\n }\r\n _getEventY(e) {\r\n return isTouchEvent(e) ? this._getTouchEventY(e) : e.clientY + this._getDocumentScrollTop()\r\n }\r\n _getTouchEventX(e) {\r\n var touchPoint = null;\r\n if (e.changedTouches.length > 0) {\r\n touchPoint = e.changedTouches\r\n } else if (e.targetTouches.length > 0) {\r\n touchPoint = e.targetTouches\r\n }\r\n return touchPoint ? touchPoint[0].pageX : 0\r\n }\r\n _getTouchEventY(e) {\r\n var touchPoint = null;\r\n if (e.changedTouches.length > 0) {\r\n touchPoint = e.changedTouches\r\n } else if (e.targetTouches.length > 0) {\r\n touchPoint = e.targetTouches\r\n }\r\n return touchPoint ? touchPoint[0].pageY : 0\r\n }\r\n _getDocumentScrollTop() {\r\n var document = domAdapter.getDocument();\r\n return document.documentElement.scrollTop || document.body.scrollTop\r\n }\r\n _getDocumentScrollLeft() {\r\n var document = domAdapter.getDocument();\r\n return document.documentElement.scrollLeft || document.body.scrollLeft\r\n }\r\n _updateReadOnlyState() {\r\n var readOnly = this.option(\"readOnly\");\r\n this._selectButton.option(\"disabled\", readOnly);\r\n this._files.forEach(file => {\r\n var _file$cancelButton;\r\n return null === (_file$cancelButton = file.cancelButton) || void 0 === _file$cancelButton ? void 0 : _file$cancelButton.option(\"disabled\", readOnly)\r\n });\r\n this._updateInputLabelText();\r\n this._attachDragEventHandlers(this._$inputWrapper)\r\n }\r\n _updateHoverState() {\r\n var _this$_selectButton, _this$_uploadButton;\r\n var value = this.option(\"hoverStateEnabled\");\r\n null === (_this$_selectButton = this._selectButton) || void 0 === _this$_selectButton ? void 0 : _this$_selectButton.option(\"hoverStateEnabled\", value);\r\n null === (_this$_uploadButton = this._uploadButton) || void 0 === _this$_uploadButton ? void 0 : _this$_uploadButton.option(\"hoverStateEnabled\", value);\r\n this._files.forEach(file => {\r\n var _file$uploadButton, _file$cancelButton2;\r\n null === (_file$uploadButton = file.uploadButton) || void 0 === _file$uploadButton ? void 0 : _file$uploadButton.option(\"hoverStateEnabled\", value);\r\n null === (_file$cancelButton2 = file.cancelButton) || void 0 === _file$cancelButton2 ? void 0 : _file$cancelButton2.option(\"hoverStateEnabled\", value)\r\n })\r\n }\r\n _optionChanged(args) {\r\n var {\r\n name: name,\r\n value: value,\r\n previousValue: previousValue\r\n } = args;\r\n switch (name) {\r\n case \"height\":\r\n case \"width\":\r\n this._updateFileNameMaxWidth();\r\n super._optionChanged(args);\r\n break;\r\n case \"value\":\r\n !value.length && this._$fileInput.val(\"\");\r\n if (!this._preventRecreatingFiles) {\r\n this._createFiles();\r\n this._renderFiles()\r\n }\r\n this._recalculateProgress();\r\n super._optionChanged(args);\r\n break;\r\n case \"name\":\r\n this._initFileInput();\r\n super._optionChanged(args);\r\n break;\r\n case \"accept\":\r\n this._initFileInput();\r\n break;\r\n case \"multiple\":\r\n this._initFileInput();\r\n if (!args.value) {\r\n this.reset()\r\n }\r\n break;\r\n case \"readOnly\":\r\n this._updateReadOnlyState();\r\n super._optionChanged(args);\r\n break;\r\n case \"disabled\":\r\n this._updateInputLabelText();\r\n super._optionChanged(args);\r\n break;\r\n case \"selectButtonText\":\r\n this._selectButton.option(\"text\", value);\r\n break;\r\n case \"uploadButtonText\":\r\n this._uploadButton && this._uploadButton.option(\"text\", value);\r\n break;\r\n case \"_uploadButtonType\":\r\n this._uploadButton && this._uploadButton.option(\"type\", value);\r\n break;\r\n case \"dialogTrigger\":\r\n this._detachSelectFileDialogHandler(previousValue);\r\n this._attachSelectFileDialogHandler(value);\r\n break;\r\n case \"dropZone\":\r\n this._detachDragEventHandlers(previousValue);\r\n this._attachDragEventHandlers(value);\r\n break;\r\n case \"maxFileSize\":\r\n case \"minFileSize\":\r\n case \"allowedFileExtensions\":\r\n case \"invalidFileExtensionMessage\":\r\n case \"invalidMaxFileSizeMessage\":\r\n case \"invalidMinFileSizeMessage\":\r\n case \"readyToUploadMessage\":\r\n case \"uploadedMessage\":\r\n case \"uploadFailedMessage\":\r\n case \"uploadAbortedMessage\":\r\n this._invalidate();\r\n break;\r\n case \"labelText\":\r\n this._updateInputLabelText();\r\n break;\r\n case \"showFileList\":\r\n if (!this._preventRecreatingFiles) {\r\n this._renderFiles()\r\n }\r\n break;\r\n case \"uploadFile\":\r\n case \"uploadChunk\":\r\n case \"chunkSize\":\r\n this._setUploadStrategy();\r\n break;\r\n case \"abortUpload\":\r\n case \"uploadUrl\":\r\n case \"progress\":\r\n case \"uploadMethod\":\r\n case \"uploadHeaders\":\r\n case \"uploadCustomData\":\r\n case \"extendSelection\":\r\n break;\r\n case \"hoverStateEnabled\":\r\n this._updateHoverState();\r\n super._optionChanged(args);\r\n break;\r\n case \"allowCanceling\":\r\n case \"uploadMode\":\r\n this.reset();\r\n this._invalidate();\r\n break;\r\n case \"onBeforeSend\":\r\n this._createBeforeSendAction();\r\n break;\r\n case \"onUploadStarted\":\r\n this._createUploadStartedAction();\r\n break;\r\n case \"onUploaded\":\r\n this._createUploadedAction();\r\n break;\r\n case \"onFilesUploaded\":\r\n this._createFilesUploadedAction();\r\n break;\r\n case \"onProgress\":\r\n this._createProgressAction();\r\n break;\r\n case \"onUploadError\":\r\n this._createUploadErrorAction();\r\n break;\r\n case \"onUploadAborted\":\r\n this._createUploadAbortedAction();\r\n break;\r\n case \"onDropZoneEnter\":\r\n this._createDropZoneEnterAction();\r\n break;\r\n case \"onDropZoneLeave\":\r\n this._createDropZoneLeaveAction();\r\n break;\r\n case \"useNativeInputClick\":\r\n this._renderInput();\r\n break;\r\n case \"useDragOver\":\r\n this._attachDragEventHandlers(this._$inputWrapper);\r\n break;\r\n case \"nativeDropSupported\":\r\n this._invalidate();\r\n break;\r\n case \"inputAttr\":\r\n this._applyInputAttributes(this.option(name));\r\n break;\r\n case \"hint\":\r\n this._initFileInput();\r\n super._optionChanged(args);\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _resetInputValue(force) {\r\n if (\"useForm\" === this.option(\"uploadMode\") && !force) {\r\n return\r\n }\r\n this._doPreventInputChange = true;\r\n this._$fileInput.val(\"\");\r\n this._doPreventInputChange = false\r\n }\r\n reset() {\r\n this.option(\"value\", [])\r\n }\r\n}\r\nclass FileBlobReader {\r\n constructor(file, chunkSize) {\r\n this.file = file;\r\n this.chunkSize = chunkSize;\r\n this.index = 0\r\n }\r\n read() {\r\n if (!this.file) {\r\n return null\r\n }\r\n var result = this.createBlobResult(this.file, this.index, this.chunkSize);\r\n if (result.isCompleted) {\r\n this.file = null\r\n }\r\n this.index++;\r\n return result\r\n }\r\n createBlobResult(file, index, chunkSize) {\r\n var currentPosition = index * chunkSize;\r\n return {\r\n blob: this.sliceFile(file, currentPosition, chunkSize),\r\n index: index,\r\n isCompleted: currentPosition + chunkSize >= file.size\r\n }\r\n }\r\n sliceFile(file, startPos, length) {\r\n if (file.slice) {\r\n return file.slice(startPos, startPos + length)\r\n }\r\n if (file.webkitSlice) {\r\n return file.webkitSlice(startPos, startPos + length)\r\n }\r\n return null\r\n }\r\n}\r\nclass FileUploadStrategyBase {\r\n constructor(fileUploader) {\r\n this.fileUploader = fileUploader\r\n }\r\n upload(file) {\r\n if (file.isInitialized && file.isAborted) {\r\n this.fileUploader._resetFileState(file)\r\n }\r\n if (file.isValid() && !file.uploadStarted) {\r\n this._prepareFileBeforeUpload(file);\r\n this._uploadCore(file)\r\n }\r\n }\r\n abortUpload(file) {\r\n if (file._isError || file._isLoaded || file.isAborted || !file.uploadStarted) {\r\n return\r\n }\r\n file.isAborted = true;\r\n file.request && file.request.abort();\r\n if (this._isCustomCallback(\"abortUpload\")) {\r\n var abortUpload = this.fileUploader.option(\"abortUpload\");\r\n var arg = this._createUploadArgument(file);\r\n var deferred = null;\r\n try {\r\n var result = abortUpload(file.value, arg);\r\n deferred = fromPromise(result)\r\n } catch (error) {\r\n deferred = (new Deferred).reject(error).promise()\r\n }\r\n deferred.done(() => file.onAbort.fire()).fail(error => this._handleFileError(file, error))\r\n }\r\n }\r\n _beforeSend(xhr, file) {\r\n var arg = this._createUploadArgument(file);\r\n this.fileUploader._beforeSendAction({\r\n request: xhr,\r\n file: file.value,\r\n uploadInfo: arg\r\n });\r\n file.request = xhr\r\n }\r\n _createUploadArgument(file) {}\r\n _uploadCore(file) {}\r\n _isCustomCallback(name) {\r\n var callback = this.fileUploader.option(name);\r\n return callback && isFunction(callback)\r\n }\r\n _handleProgress(file, e) {\r\n if (file._isError) {\r\n return\r\n }\r\n file._isProgressStarted = true;\r\n this._handleProgressCore(file, e)\r\n }\r\n _handleProgressCore(file, e) {}\r\n _handleFileError(file, error) {\r\n file._isError = true;\r\n file.onError.fire(error)\r\n }\r\n _prepareFileBeforeUpload(file) {\r\n if (file.$file) {\r\n var _file$progressBar;\r\n null === (_file$progressBar = file.progressBar) || void 0 === _file$progressBar ? void 0 : _file$progressBar.dispose();\r\n this.fileUploader._createFileProgressBar(file)\r\n }\r\n if (file.isInitialized) {\r\n return\r\n }\r\n file.onLoadStart.add(this._onUploadStarted.bind(this, file));\r\n file.onLoad.add(this._onLoadedHandler.bind(this, file));\r\n file.onError.add(this._onErrorHandler.bind(this, file));\r\n file.onAbort.add(this._onAbortHandler.bind(this, file));\r\n file.onProgress.add(this._onProgressHandler.bind(this, file));\r\n file.isInitialized = true\r\n }\r\n _shouldHandleError(file, e) {\r\n return (this._isStatusError(e.status) || !file._isProgressStarted) && !file.isAborted\r\n }\r\n _isStatusError(status) {\r\n return 400 <= status && status < 500 || 500 <= status && status < 600\r\n }\r\n _onUploadStarted(file, e) {\r\n file.uploadStarted = true;\r\n this.fileUploader._uploadStartedAction({\r\n file: file.value,\r\n event: e,\r\n request: file.request\r\n })\r\n }\r\n _onAbortHandler(file, e) {\r\n var args = {\r\n file: file.value,\r\n event: e,\r\n request: file.request,\r\n message: this.fileUploader._getUploadAbortedStatusMessage()\r\n };\r\n this.fileUploader._uploadAbortedAction(args);\r\n this.fileUploader._setStatusMessage(file, args.message);\r\n this.fileUploader._handleAllFilesUploaded()\r\n }\r\n _onErrorHandler(file, error) {\r\n var args = {\r\n file: file.value,\r\n event: void 0,\r\n request: file.request,\r\n error: error,\r\n message: this.fileUploader.option(\"uploadFailedMessage\")\r\n };\r\n this.fileUploader._uploadErrorAction(args);\r\n this.fileUploader._setStatusMessage(file, args.message);\r\n this.fileUploader._handleAllFilesUploaded()\r\n }\r\n _onLoadedHandler(file, e) {\r\n var args = {\r\n file: file.value,\r\n event: e,\r\n request: file.request,\r\n message: this.fileUploader.option(\"uploadedMessage\")\r\n };\r\n file._isLoaded = true;\r\n this.fileUploader._uploadedAction(args);\r\n this.fileUploader._setStatusMessage(file, args.message);\r\n this.fileUploader._handleAllFilesUploaded()\r\n }\r\n _onProgressHandler(file, e) {\r\n if (file) {\r\n var totalFilesSize = this.fileUploader._getTotalFilesSize();\r\n var totalLoadedFilesSize = this.fileUploader._getTotalLoadedFilesSize();\r\n var loadedSize = Math.min(e.loaded, file.value.size);\r\n var segmentSize = loadedSize - file.loadedSize;\r\n file.loadedSize = loadedSize;\r\n this.fileUploader._updateTotalProgress(totalFilesSize, totalLoadedFilesSize + segmentSize);\r\n this.fileUploader._updateProgressBar(file, this._getLoadedData(loadedSize, e.total, segmentSize, e))\r\n }\r\n }\r\n _getLoadedData(loaded, total, currentSegmentSize, event) {\r\n return {\r\n loaded: loaded,\r\n total: total,\r\n currentSegmentSize: currentSegmentSize\r\n }\r\n }\r\n _extendFormData(formData) {\r\n var formDataEntries = this.fileUploader.option(\"uploadCustomData\");\r\n for (var entryName in formDataEntries) {\r\n if (Object.prototype.hasOwnProperty.call(formDataEntries, entryName) && isDefined(formDataEntries[entryName])) {\r\n formData.append(entryName, formDataEntries[entryName])\r\n }\r\n }\r\n }\r\n}\r\nclass ChunksFileUploadStrategyBase extends FileUploadStrategyBase {\r\n constructor(fileUploader) {\r\n super(fileUploader);\r\n this.chunkSize = this.fileUploader.option(\"chunkSize\")\r\n }\r\n _uploadCore(file) {\r\n var realFile = file.value;\r\n var chunksData = {\r\n name: realFile.name,\r\n loadedBytes: 0,\r\n type: realFile.type,\r\n blobReader: new FileBlobReader(realFile, this.chunkSize),\r\n guid: new Guid,\r\n fileSize: realFile.size,\r\n count: this._getFileChunksCount(realFile),\r\n customData: {}\r\n };\r\n file.chunksData = chunksData;\r\n this._sendChunk(file, chunksData)\r\n }\r\n _getFileChunksCount(jsFile) {\r\n return 0 === jsFile.size ? 1 : Math.ceil(jsFile.size / this.chunkSize)\r\n }\r\n _sendChunk(file, chunksData) {\r\n var chunk = chunksData.blobReader.read();\r\n chunksData.currentChunk = chunk;\r\n if (chunk) {\r\n this._sendChunkCore(file, chunksData, chunk).done(() => {\r\n if (file.isAborted) {\r\n return\r\n }\r\n chunksData.loadedBytes += chunk.blob.size;\r\n file.onProgress.fire({\r\n loaded: chunksData.loadedBytes,\r\n total: file.value.size\r\n });\r\n if (chunk.isCompleted) {\r\n file.onLoad.fire()\r\n }\r\n setTimeout(() => this._sendChunk(file, chunksData))\r\n }).fail(error => {\r\n if (this._shouldHandleError(file, error)) {\r\n this._handleFileError(file, error)\r\n }\r\n })\r\n }\r\n }\r\n _sendChunkCore(file, chunksData, chunk) {}\r\n _tryRaiseStartLoad(file) {\r\n if (!file.isStartLoad) {\r\n file.isStartLoad = true;\r\n file.onLoadStart.fire()\r\n }\r\n }\r\n _getEvent(e) {\r\n return null\r\n }\r\n _createUploadArgument(file) {\r\n return this._createChunksInfo(file.chunksData)\r\n }\r\n _createChunksInfo(chunksData) {\r\n return {\r\n bytesUploaded: chunksData.loadedBytes,\r\n chunkCount: chunksData.count,\r\n customData: chunksData.customData,\r\n chunkBlob: chunksData.currentChunk.blob,\r\n chunkIndex: chunksData.currentChunk.index\r\n }\r\n }\r\n}\r\nclass DefaultChunksFileUploadStrategy extends ChunksFileUploadStrategyBase {\r\n _sendChunkCore(file, chunksData, chunk) {\r\n return ajax.sendRequest({\r\n url: this.fileUploader.option(\"uploadUrl\"),\r\n method: this.fileUploader.option(\"uploadMethod\"),\r\n headers: this.fileUploader.option(\"uploadHeaders\"),\r\n beforeSend: xhr => this._beforeSend(xhr, file),\r\n upload: {\r\n onprogress: e => this._handleProgress(file, e),\r\n onloadstart: () => this._tryRaiseStartLoad(file),\r\n onabort: () => file.onAbort.fire()\r\n },\r\n data: this._createFormData({\r\n fileName: chunksData.name,\r\n blobName: this.fileUploader.option(\"name\"),\r\n blob: chunk.blob,\r\n index: chunk.index,\r\n count: chunksData.count,\r\n type: chunksData.type,\r\n guid: chunksData.guid,\r\n size: chunksData.fileSize\r\n })\r\n })\r\n }\r\n _createFormData(options) {\r\n var formData = new window.FormData;\r\n formData.append(options.blobName, options.blob);\r\n formData.append(FILEUPLOADER_CHUNK_META_DATA_NAME, JSON.stringify({\r\n FileName: options.fileName,\r\n Index: options.index,\r\n TotalCount: options.count,\r\n FileSize: options.size,\r\n FileType: options.type,\r\n FileGuid: options.guid\r\n }));\r\n this._extendFormData(formData);\r\n return formData\r\n }\r\n}\r\nclass CustomChunksFileUploadStrategy extends ChunksFileUploadStrategyBase {\r\n _sendChunkCore(file, chunksData) {\r\n this._tryRaiseStartLoad(file);\r\n var chunksInfo = this._createChunksInfo(chunksData);\r\n var uploadChunk = this.fileUploader.option(\"uploadChunk\");\r\n try {\r\n var result = uploadChunk(file.value, chunksInfo);\r\n return fromPromise(result)\r\n } catch (error) {\r\n return (new Deferred).reject(error).promise()\r\n }\r\n }\r\n _shouldHandleError(file, error) {\r\n return true\r\n }\r\n}\r\nclass WholeFileUploadStrategyBase extends FileUploadStrategyBase {\r\n _uploadCore(file) {\r\n file.loadedSize = 0;\r\n this._uploadFile(file).done(() => {\r\n if (!file.isAborted) {\r\n file.onLoad.fire()\r\n }\r\n }).fail(error => {\r\n if (this._shouldHandleError(file, error)) {\r\n this._handleFileError(file, error)\r\n }\r\n })\r\n }\r\n _uploadFile(file) {}\r\n _handleProgressCore(file, e) {\r\n file.onProgress.fire(e)\r\n }\r\n _getLoadedData(loaded, total, segmentSize, event) {\r\n var result = super._getLoadedData(loaded, total, segmentSize, event);\r\n result.event = event;\r\n return result\r\n }\r\n}\r\nclass DefaultWholeFileUploadStrategy extends WholeFileUploadStrategyBase {\r\n _uploadFile(file) {\r\n return ajax.sendRequest({\r\n url: this.fileUploader.option(\"uploadUrl\"),\r\n method: this.fileUploader.option(\"uploadMethod\"),\r\n headers: this.fileUploader.option(\"uploadHeaders\"),\r\n beforeSend: xhr => this._beforeSend(xhr, file),\r\n upload: {\r\n onprogress: e => this._handleProgress(file, e),\r\n onloadstart: () => file.onLoadStart.fire(),\r\n onabort: () => file.onAbort.fire()\r\n },\r\n data: this._createFormData(this.fileUploader.option(\"name\"), file.value)\r\n })\r\n }\r\n _createFormData(fieldName, fieldValue) {\r\n var formData = new window.FormData;\r\n formData.append(fieldName, fieldValue, fieldValue.name);\r\n this._extendFormData(formData);\r\n return formData\r\n }\r\n}\r\nclass CustomWholeFileUploadStrategy extends WholeFileUploadStrategyBase {\r\n _uploadFile(file) {\r\n file.onLoadStart.fire();\r\n var uploadFile = this.fileUploader.option(\"uploadFile\");\r\n try {\r\n var result = uploadFile(file.value, loadedBytes => {\r\n var arg = {\r\n loaded: loadedBytes,\r\n total: file.value.size\r\n };\r\n this._handleProgress(file, arg)\r\n });\r\n return fromPromise(result)\r\n } catch (error) {\r\n return (new Deferred).reject(error).promise()\r\n }\r\n }\r\n _shouldHandleError(file, e) {\r\n return true\r\n }\r\n}\r\nregisterComponent(\"dxFileUploader\", FileUploader);\r\nexport default FileUploader;\r\n","/**\r\n * DevExtreme (esm/ui/filter_builder/filter_builder.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport Class from \"../../core/class\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport TreeView from \"../tree_view\";\r\nimport Popup from \"../popup/ui.popup\";\r\nimport {\r\n getElementMaxHeightByWindow\r\n} from \"../overlay/utils\";\r\nimport EditorFactoryMixin from \"../shared/ui.editor_factory_mixin\";\r\nimport {\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport {\r\n renderValueText,\r\n getFilterExpression as _getFilterExpression,\r\n getNormalizedFilter,\r\n getNormalizedFields,\r\n getMergedOperations,\r\n convertToInnerStructure,\r\n getGroupCriteria,\r\n isGroup,\r\n isCondition,\r\n removeItem,\r\n createEmptyGroup,\r\n addItem,\r\n createCondition,\r\n getGroupMenuItem,\r\n setGroupValue,\r\n getCustomOperation,\r\n getAvailableOperations,\r\n getOperationFromAvailable,\r\n getOperationValue,\r\n updateConditionByOperation,\r\n getItems,\r\n getField,\r\n getCaptionWithParents,\r\n getDefaultOperation,\r\n getGroupValue,\r\n getCurrentLookupValueText,\r\n getCurrentValueText\r\n} from \"./utils\";\r\nvar FILTER_BUILDER_CLASS = \"dx-filterbuilder\";\r\nvar FILTER_BUILDER_GROUP_CLASS = FILTER_BUILDER_CLASS + \"-group\";\r\nvar FILTER_BUILDER_GROUP_ITEM_CLASS = FILTER_BUILDER_GROUP_CLASS + \"-item\";\r\nvar FILTER_BUILDER_GROUP_CONTENT_CLASS = FILTER_BUILDER_GROUP_CLASS + \"-content\";\r\nvar FILTER_BUILDER_GROUP_OPERATIONS_CLASS = FILTER_BUILDER_GROUP_CLASS + \"-operations\";\r\nvar FILTER_BUILDER_GROUP_OPERATION_CLASS = FILTER_BUILDER_GROUP_CLASS + \"-operation\";\r\nvar FILTER_BUILDER_ACTION_CLASS = FILTER_BUILDER_CLASS + \"-action\";\r\nvar FILTER_BUILDER_IMAGE_CLASS = FILTER_BUILDER_ACTION_CLASS + \"-icon\";\r\nvar FILTER_BUILDER_IMAGE_ADD_CLASS = \"dx-icon-plus\";\r\nvar FILTER_BUILDER_IMAGE_REMOVE_CLASS = \"dx-icon-remove\";\r\nvar FILTER_BUILDER_ITEM_TEXT_CLASS = FILTER_BUILDER_CLASS + \"-text\";\r\nvar FILTER_BUILDER_ITEM_FIELD_CLASS = FILTER_BUILDER_CLASS + \"-item-field\";\r\nvar FILTER_BUILDER_ITEM_OPERATION_CLASS = FILTER_BUILDER_CLASS + \"-item-operation\";\r\nvar FILTER_BUILDER_ITEM_VALUE_CLASS = FILTER_BUILDER_CLASS + \"-item-value\";\r\nvar FILTER_BUILDER_ITEM_VALUE_TEXT_CLASS = FILTER_BUILDER_CLASS + \"-item-value-text\";\r\nvar FILTER_BUILDER_OVERLAY_CLASS = FILTER_BUILDER_CLASS + \"-overlay\";\r\nvar FILTER_BUILDER_FILTER_OPERATIONS_CLASS = FILTER_BUILDER_CLASS + \"-operations\";\r\nvar FILTER_BUILDER_FIELDS_CLASS = FILTER_BUILDER_CLASS + \"-fields\";\r\nvar FILTER_BUILDER_ADD_CONDITION_CLASS = FILTER_BUILDER_CLASS + \"-add-condition\";\r\nvar ACTIVE_CLASS = \"dx-state-active\";\r\nvar FILTER_BUILDER_MENU_CUSTOM_OPERATION_CLASS = FILTER_BUILDER_CLASS + \"-menu-custom-operation\";\r\nvar SOURCE = \"filterBuilder\";\r\nvar DISABLED_STATE_CLASS = \"dx-state-disabled\";\r\nvar TAB_KEY = \"tab\";\r\nvar ENTER_KEY = \"enter\";\r\nvar ESCAPE_KEY = \"escape\";\r\nvar ACTIONS = [{\r\n name: \"onEditorPreparing\",\r\n config: {\r\n excludeValidators: [\"disabled\", \"readOnly\"],\r\n category: \"rendering\"\r\n }\r\n}, {\r\n name: \"onEditorPrepared\",\r\n config: {\r\n excludeValidators: [\"disabled\", \"readOnly\"],\r\n category: \"rendering\"\r\n }\r\n}, {\r\n name: \"onValueChanged\",\r\n config: {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n }\r\n}];\r\nvar OPERATORS = {\r\n and: \"and\",\r\n or: \"or\",\r\n notAnd: \"!and\",\r\n notOr: \"!or\"\r\n};\r\nvar EditorFactory = Class.inherit(EditorFactoryMixin);\r\nvar FilterBuilder = Widget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n onEditorPreparing: null,\r\n onEditorPrepared: null,\r\n onValueChanged: null,\r\n fields: [],\r\n groupOperations: [\"and\", \"or\", \"notAnd\", \"notOr\"],\r\n maxGroupLevel: void 0,\r\n value: null,\r\n allowHierarchicalFields: false,\r\n groupOperationDescriptions: {\r\n and: messageLocalization.format(\"dxFilterBuilder-and\"),\r\n or: messageLocalization.format(\"dxFilterBuilder-or\"),\r\n notAnd: messageLocalization.format(\"dxFilterBuilder-notAnd\"),\r\n notOr: messageLocalization.format(\"dxFilterBuilder-notOr\")\r\n },\r\n customOperations: [],\r\n closePopupOnTargetScroll: true,\r\n filterOperationDescriptions: {\r\n between: messageLocalization.format(\"dxFilterBuilder-filterOperationBetween\"),\r\n equal: messageLocalization.format(\"dxFilterBuilder-filterOperationEquals\"),\r\n notEqual: messageLocalization.format(\"dxFilterBuilder-filterOperationNotEquals\"),\r\n lessThan: messageLocalization.format(\"dxFilterBuilder-filterOperationLess\"),\r\n lessThanOrEqual: messageLocalization.format(\"dxFilterBuilder-filterOperationLessOrEquals\"),\r\n greaterThan: messageLocalization.format(\"dxFilterBuilder-filterOperationGreater\"),\r\n greaterThanOrEqual: messageLocalization.format(\"dxFilterBuilder-filterOperationGreaterOrEquals\"),\r\n startsWith: messageLocalization.format(\"dxFilterBuilder-filterOperationStartsWith\"),\r\n contains: messageLocalization.format(\"dxFilterBuilder-filterOperationContains\"),\r\n notContains: messageLocalization.format(\"dxFilterBuilder-filterOperationNotContains\"),\r\n endsWith: messageLocalization.format(\"dxFilterBuilder-filterOperationEndsWith\"),\r\n isBlank: messageLocalization.format(\"dxFilterBuilder-filterOperationIsBlank\"),\r\n isNotBlank: messageLocalization.format(\"dxFilterBuilder-filterOperationIsNotBlank\")\r\n }\r\n })\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"closePopupOnTargetScroll\":\r\n break;\r\n case \"onEditorPreparing\":\r\n case \"onEditorPrepared\":\r\n case \"onValueChanged\":\r\n this._initActions();\r\n break;\r\n case \"customOperations\":\r\n this._initCustomOperations();\r\n this._invalidate();\r\n break;\r\n case \"fields\":\r\n case \"maxGroupLevel\":\r\n case \"groupOperations\":\r\n case \"allowHierarchicalFields\":\r\n case \"groupOperationDescriptions\":\r\n case \"filterOperationDescriptions\":\r\n this._invalidate();\r\n break;\r\n case \"value\":\r\n if (args.value !== args.previousValue) {\r\n var disableInvalidateForValue = this._disableInvalidateForValue;\r\n if (!disableInvalidateForValue) {\r\n this._initModel();\r\n this._invalidate()\r\n }\r\n this._disableInvalidateForValue = false;\r\n this.executeAction(\"onValueChanged\", {\r\n value: args.value,\r\n previousValue: args.previousValue\r\n });\r\n this._disableInvalidateForValue = disableInvalidateForValue\r\n }\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n getFilterExpression: function() {\r\n var fields = this._getNormalizedFields();\r\n var value = extend(true, [], this._model);\r\n return _getFilterExpression(getNormalizedFilter(value), fields, this._customOperations, SOURCE)\r\n },\r\n _getNormalizedFields: function() {\r\n return getNormalizedFields(this.option(\"fields\"))\r\n },\r\n _updateFilter: function() {\r\n this._disableInvalidateForValue = true;\r\n var value = extend(true, [], this._model);\r\n var normalizedValue = getNormalizedFilter(value);\r\n var oldValue = getNormalizedFilter(this._getModel(this.option(\"value\")));\r\n if (JSON.stringify(oldValue) !== JSON.stringify(normalizedValue)) {\r\n this.option(\"value\", normalizedValue)\r\n }\r\n this._disableInvalidateForValue = false;\r\n this._fireContentReadyAction()\r\n },\r\n _init: function() {\r\n this._initCustomOperations();\r\n this._initModel();\r\n this._initEditorFactory();\r\n this._initActions();\r\n this.callBase()\r\n },\r\n _initEditorFactory: function() {\r\n this._editorFactory = new EditorFactory\r\n },\r\n _initCustomOperations: function() {\r\n this._customOperations = getMergedOperations(this.option(\"customOperations\"), this.option(\"filterOperationDescriptions.between\"), this)\r\n },\r\n _getDefaultGroupOperation: function() {\r\n var _this$option$, _this$option;\r\n return null !== (_this$option$ = null === (_this$option = this.option(\"groupOperations\")) || void 0 === _this$option ? void 0 : _this$option[0]) && void 0 !== _this$option$ ? _this$option$ : OPERATORS.and\r\n },\r\n _getModel: function(value) {\r\n return convertToInnerStructure(value, this._customOperations, this._getDefaultGroupOperation())\r\n },\r\n _initModel: function() {\r\n this._model = this._getModel(this.option(\"value\"))\r\n },\r\n _initActions: function() {\r\n var that = this;\r\n that._actions = {};\r\n ACTIONS.forEach((function(action) {\r\n var actionConfig = extend({}, action.config);\r\n that._actions[action.name] = that._createActionByOption(action.name, actionConfig)\r\n }))\r\n },\r\n executeAction: function(actionName, options) {\r\n var action = this._actions[actionName];\r\n return action && action(options)\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(FILTER_BUILDER_CLASS);\r\n this.callBase();\r\n this._createGroupElementByCriteria(this._model).appendTo(this.$element())\r\n },\r\n _createConditionElement: function(condition, parent) {\r\n return $(\"<div>\").addClass(FILTER_BUILDER_GROUP_CLASS).append(this._createConditionItem(condition, parent))\r\n },\r\n _createGroupElementByCriteria: function(criteria, parent) {\r\n var groupLevel = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0;\r\n var $group = this._createGroupElement(criteria, parent, groupLevel);\r\n var $groupContent = $group.find(\".\" + FILTER_BUILDER_GROUP_CONTENT_CLASS);\r\n var groupCriteria = getGroupCriteria(criteria);\r\n for (var i = 0; i < groupCriteria.length; i++) {\r\n var innerCriteria = groupCriteria[i];\r\n if (isGroup(innerCriteria)) {\r\n this._createGroupElementByCriteria(innerCriteria, criteria, groupLevel + 1).appendTo($groupContent)\r\n } else if (isCondition(innerCriteria)) {\r\n this._createConditionElement(innerCriteria, criteria).appendTo($groupContent)\r\n }\r\n }\r\n return $group\r\n },\r\n _createGroupElement: function(criteria, parent, groupLevel) {\r\n var $groupItem = $(\"<div>\").addClass(FILTER_BUILDER_GROUP_ITEM_CLASS);\r\n var $groupContent = $(\"<div>\").addClass(FILTER_BUILDER_GROUP_CONTENT_CLASS);\r\n var $group = $(\"<div>\").addClass(FILTER_BUILDER_GROUP_CLASS).append($groupItem).append($groupContent);\r\n if (null != parent) {\r\n this._createRemoveButton(() => {\r\n removeItem(parent, criteria);\r\n $group.remove();\r\n this._updateFilter()\r\n }).appendTo($groupItem)\r\n }\r\n this._createGroupOperationButton(criteria).appendTo($groupItem);\r\n this._createAddButton(() => {\r\n var newGroup = createEmptyGroup(this._getDefaultGroupOperation());\r\n addItem(newGroup, criteria);\r\n this._createGroupElement(newGroup, criteria, groupLevel + 1).appendTo($groupContent);\r\n this._updateFilter()\r\n }, () => {\r\n var field = this.option(\"fields\")[0];\r\n var newCondition = createCondition(field, this._customOperations);\r\n addItem(newCondition, criteria);\r\n this._createConditionElement(newCondition, criteria).appendTo($groupContent);\r\n this._updateFilter()\r\n }, groupLevel).appendTo($groupItem);\r\n return $group\r\n },\r\n _createButton: function(caption) {\r\n return $(\"<div>\").text(caption)\r\n },\r\n _createGroupOperationButton: function(criteria) {\r\n var groupOperations = this._getGroupOperations(criteria);\r\n var groupMenuItem = getGroupMenuItem(criteria, groupOperations);\r\n var caption = groupMenuItem.text;\r\n var $operationButton = groupOperations && groupOperations.length < 2 ? this._createButton(caption).addClass(DISABLED_STATE_CLASS) : this._createButtonWithMenu({\r\n caption: caption,\r\n menu: {\r\n items: groupOperations,\r\n displayExpr: \"text\",\r\n keyExpr: \"value\",\r\n onItemClick: e => {\r\n if (groupMenuItem !== e.itemData) {\r\n setGroupValue(criteria, e.itemData.value);\r\n $operationButton.text(e.itemData.text);\r\n groupMenuItem = e.itemData;\r\n this._updateFilter()\r\n }\r\n },\r\n onContentReady: function(e) {\r\n e.component.selectItem(groupMenuItem)\r\n },\r\n cssClass: FILTER_BUILDER_GROUP_OPERATIONS_CLASS\r\n }\r\n });\r\n return $operationButton.addClass(FILTER_BUILDER_ITEM_TEXT_CLASS).addClass(FILTER_BUILDER_GROUP_OPERATION_CLASS).attr(\"tabindex\", 0)\r\n },\r\n _createButtonWithMenu: function(options) {\r\n var that = this;\r\n var removeMenu = function() {\r\n that.$element().find(\".\" + ACTIVE_CLASS).removeClass(ACTIVE_CLASS);\r\n that.$element().find(\".dx-overlay .dx-treeview\").remove();\r\n that.$element().find(\".dx-overlay\").remove()\r\n };\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var position = rtlEnabled ? \"right\" : \"left\";\r\n var $button = this._createButton(options.caption);\r\n extend(options.menu, {\r\n focusStateEnabled: true,\r\n selectionMode: \"single\",\r\n onItemClick: (handler = options.menu.onItemClick, function(e) {\r\n handler(e);\r\n if (\"dxclick\" === e.event.type) {\r\n removeMenu()\r\n }\r\n }),\r\n onHiding: function(e) {\r\n $button.removeClass(ACTIVE_CLASS)\r\n },\r\n position: {\r\n my: position + \" top\",\r\n at: position + \" bottom\",\r\n offset: \"0 1\",\r\n of: $button,\r\n collision: \"flip\"\r\n },\r\n animation: null,\r\n onHidden: function() {\r\n removeMenu()\r\n },\r\n cssClass: FILTER_BUILDER_OVERLAY_CLASS + \" \" + options.menu.cssClass,\r\n rtlEnabled: rtlEnabled\r\n });\r\n var handler;\r\n options.popup = {\r\n onShown: function(info) {\r\n var treeViewElement = $(info.component.content()).find(\".dx-treeview\");\r\n var treeView = treeViewElement.dxTreeView(\"instance\");\r\n eventsEngine.on(treeViewElement, \"keyup keydown\", (function(e) {\r\n var keyName = normalizeKeyName(e);\r\n if (\"keydown\" === e.type && keyName === TAB_KEY || \"keyup\" === e.type && (keyName === ESCAPE_KEY || keyName === ENTER_KEY)) {\r\n info.component.hide();\r\n eventsEngine.trigger(options.menu.position.of, \"focus\")\r\n }\r\n }));\r\n treeView.focus();\r\n treeView.option(\"focusedElement\", null)\r\n }\r\n };\r\n this._subscribeOnClickAndEnterKey($button, (function() {\r\n removeMenu();\r\n that._createPopupWithTreeView(options, that.$element());\r\n $button.addClass(ACTIVE_CLASS)\r\n }));\r\n return $button\r\n },\r\n _hasValueButton: function(condition) {\r\n var customOperation = getCustomOperation(this._customOperations, condition[1]);\r\n return customOperation ? false !== customOperation.hasValue : null !== condition[2]\r\n },\r\n _createOperationButtonWithMenu: function(condition, field) {\r\n var that = this;\r\n var availableOperations = getAvailableOperations(field, this.option(\"filterOperationDescriptions\"), this._customOperations);\r\n var currentOperation = getOperationFromAvailable(getOperationValue(condition), availableOperations);\r\n var $operationButton = this._createButtonWithMenu({\r\n caption: currentOperation.text,\r\n menu: {\r\n items: availableOperations,\r\n displayExpr: \"text\",\r\n onItemRendered: function(e) {\r\n e.itemData.isCustom && $(e.itemElement).addClass(FILTER_BUILDER_MENU_CUSTOM_OPERATION_CLASS)\r\n },\r\n onContentReady: function(e) {\r\n e.component.selectItem(currentOperation)\r\n },\r\n onItemClick: e => {\r\n if (currentOperation !== e.itemData) {\r\n currentOperation = e.itemData;\r\n updateConditionByOperation(condition, currentOperation.value, that._customOperations);\r\n var $valueButton = $operationButton.siblings().filter(\".\" + FILTER_BUILDER_ITEM_VALUE_CLASS);\r\n if (that._hasValueButton(condition)) {\r\n if (0 !== $valueButton.length) {\r\n $valueButton.remove()\r\n }\r\n that._createValueButton(condition, field).appendTo($operationButton.parent())\r\n } else {\r\n $valueButton.remove()\r\n }\r\n $operationButton.text(currentOperation.text);\r\n this._updateFilter()\r\n }\r\n },\r\n cssClass: FILTER_BUILDER_FILTER_OPERATIONS_CLASS\r\n }\r\n }).addClass(FILTER_BUILDER_ITEM_TEXT_CLASS).addClass(FILTER_BUILDER_ITEM_OPERATION_CLASS).attr(\"tabindex\", 0);\r\n return $operationButton\r\n },\r\n _createOperationAndValueButtons: function(condition, field, $item) {\r\n this._createOperationButtonWithMenu(condition, field).appendTo($item);\r\n if (this._hasValueButton(condition)) {\r\n this._createValueButton(condition, field).appendTo($item)\r\n }\r\n },\r\n _createFieldButtonWithMenu: function(fields, condition, field) {\r\n var that = this;\r\n var allowHierarchicalFields = this.option(\"allowHierarchicalFields\");\r\n var items = getItems(fields, allowHierarchicalFields);\r\n var item = getField(field.name || field.dataField, items);\r\n var getFullCaption = function(item, items) {\r\n return allowHierarchicalFields ? getCaptionWithParents(item, items) : item.caption\r\n };\r\n var $fieldButton = this._createButtonWithMenu({\r\n caption: getFullCaption(item, items),\r\n menu: {\r\n items: items,\r\n dataStructure: \"plain\",\r\n keyExpr: \"id\",\r\n parentId: \"parentId\",\r\n displayExpr: \"caption\",\r\n onItemClick: e => {\r\n if (item !== e.itemData) {\r\n item = e.itemData;\r\n condition[0] = item.name || item.dataField;\r\n condition[2] = \"object\" === item.dataType ? null : \"\";\r\n updateConditionByOperation(condition, getDefaultOperation(item), that._customOperations);\r\n $fieldButton.siblings().filter(\".\" + FILTER_BUILDER_ITEM_TEXT_CLASS).remove();\r\n that._createOperationAndValueButtons(condition, item, $fieldButton.parent());\r\n var caption = getFullCaption(item, e.component.option(\"items\"));\r\n $fieldButton.text(caption);\r\n this._updateFilter()\r\n }\r\n },\r\n onContentReady: function(e) {\r\n e.component.selectItem(item)\r\n },\r\n cssClass: FILTER_BUILDER_FIELDS_CLASS\r\n }\r\n }).addClass(FILTER_BUILDER_ITEM_TEXT_CLASS).addClass(FILTER_BUILDER_ITEM_FIELD_CLASS).attr(\"tabindex\", 0);\r\n return $fieldButton\r\n },\r\n _createConditionItem: function(condition, parent) {\r\n var $item = $(\"<div>\").addClass(FILTER_BUILDER_GROUP_ITEM_CLASS);\r\n var fields = this._getNormalizedFields();\r\n var field = getField(condition[0], fields);\r\n this._createRemoveButton(() => {\r\n removeItem(parent, condition);\r\n var isSingleChild = 1 === $item.parent().children().length;\r\n if (isSingleChild) {\r\n $item.parent().remove()\r\n } else {\r\n $item.remove()\r\n }\r\n this._updateFilter()\r\n }).appendTo($item);\r\n this._createFieldButtonWithMenu(fields, condition, field).appendTo($item);\r\n this._createOperationAndValueButtons(condition, field, $item);\r\n return $item\r\n },\r\n _getGroupOperations: function(criteria) {\r\n var groupOperations = this.option(\"groupOperations\");\r\n var groupOperationDescriptions = this.option(\"groupOperationDescriptions\");\r\n if (!groupOperations || !groupOperations.length) {\r\n groupOperations = [getGroupValue(criteria).replace(\"!\", \"not\")]\r\n }\r\n return groupOperations.map(operation => ({\r\n text: groupOperationDescriptions[operation],\r\n value: OPERATORS[operation]\r\n }))\r\n },\r\n _createRemoveButton: function(handler) {\r\n var $removeButton = $(\"<div>\").addClass(FILTER_BUILDER_IMAGE_CLASS).addClass(FILTER_BUILDER_IMAGE_REMOVE_CLASS).addClass(FILTER_BUILDER_ACTION_CLASS).attr(\"tabindex\", 0);\r\n this._subscribeOnClickAndEnterKey($removeButton, handler);\r\n return $removeButton\r\n },\r\n _createAddButton: function(addGroupHandler, addConditionHandler, groupLevel) {\r\n var $button;\r\n var maxGroupLevel = this.option(\"maxGroupLevel\");\r\n if (isDefined(maxGroupLevel) && groupLevel >= maxGroupLevel) {\r\n $button = this._createButton();\r\n this._subscribeOnClickAndEnterKey($button, addConditionHandler)\r\n } else {\r\n $button = this._createButtonWithMenu({\r\n menu: {\r\n items: [{\r\n caption: messageLocalization.format(\"dxFilterBuilder-addCondition\"),\r\n click: addConditionHandler\r\n }, {\r\n caption: messageLocalization.format(\"dxFilterBuilder-addGroup\"),\r\n click: addGroupHandler\r\n }],\r\n displayExpr: \"caption\",\r\n onItemClick: function(e) {\r\n e.itemData.click()\r\n },\r\n cssClass: FILTER_BUILDER_ADD_CONDITION_CLASS\r\n }\r\n })\r\n }\r\n return $button.addClass(FILTER_BUILDER_IMAGE_CLASS).addClass(FILTER_BUILDER_IMAGE_ADD_CLASS).addClass(FILTER_BUILDER_ACTION_CLASS).attr(\"tabindex\", 0)\r\n },\r\n _createValueText: function(item, field, $container) {\r\n var that = this;\r\n var $text = $(\"<div>\").html(\" \").addClass(FILTER_BUILDER_ITEM_VALUE_TEXT_CLASS).attr(\"tabindex\", 0).appendTo($container);\r\n var value = item[2];\r\n var customOperation = getCustomOperation(that._customOperations, item[1]);\r\n if (!customOperation && field.lookup) {\r\n getCurrentLookupValueText(field, value, (function(result) {\r\n renderValueText($text, result)\r\n }))\r\n } else {\r\n when(getCurrentValueText(field, value, customOperation)).done(result => {\r\n renderValueText($text, result, customOperation)\r\n })\r\n }\r\n that._subscribeOnClickAndEnterKey($text, (function(e) {\r\n if (\"keyup\" === e.type) {\r\n e.stopPropagation()\r\n }\r\n that._createValueEditorWithEvents(item, field, $container)\r\n }));\r\n return $text\r\n },\r\n _updateConditionValue: function(item, value, callback) {\r\n var areValuesDifferent = item[2] !== value;\r\n if (areValuesDifferent) {\r\n item[2] = value\r\n }\r\n callback();\r\n this._updateFilter()\r\n },\r\n _addDocumentKeyUp: function($editor, handler) {\r\n var isComposing = false;\r\n var hasCompositionJustEnded = false;\r\n var document = domAdapter.getDocument();\r\n var documentKeyUpHandler = e => {\r\n if (isComposing || hasCompositionJustEnded) {\r\n hasCompositionJustEnded = false;\r\n return\r\n }\r\n handler(e)\r\n };\r\n eventsEngine.on(document, \"keyup\", documentKeyUpHandler);\r\n var input = $editor.find(\"input\");\r\n eventsEngine.on(input, \"compositionstart\", () => {\r\n isComposing = true\r\n });\r\n eventsEngine.on(input, \"compositionend\", () => {\r\n isComposing = false;\r\n hasCompositionJustEnded = true\r\n });\r\n eventsEngine.on(input, \"keydown\", event => {\r\n if (229 !== event.which) {\r\n hasCompositionJustEnded = false\r\n }\r\n });\r\n this._documentKeyUpHandler = documentKeyUpHandler\r\n },\r\n _addDocumentClick: function($editor, closeEditorFunc) {\r\n var document = domAdapter.getDocument();\r\n var documentClickHandler = e => {\r\n if (!this._isFocusOnEditorParts($editor, e.target)) {\r\n eventsEngine.trigger($editor.find(\"input\"), \"change\");\r\n closeEditorFunc()\r\n }\r\n };\r\n eventsEngine.on(document, \"dxpointerdown\", documentClickHandler);\r\n this._documentClickHandler = documentClickHandler\r\n },\r\n _isFocusOnEditorParts: function($editor, target) {\r\n var activeElement = target || domAdapter.getActiveElement();\r\n return $(activeElement).closest($editor.children()).length || $(activeElement).closest(\".dx-dropdowneditor-overlay\").length\r\n },\r\n _removeEvents: function() {\r\n var document = domAdapter.getDocument();\r\n isDefined(this._documentKeyUpHandler) && eventsEngine.off(document, \"keyup\", this._documentKeyUpHandler);\r\n isDefined(this._documentClickHandler) && eventsEngine.off(document, \"dxpointerdown\", this._documentClickHandler)\r\n },\r\n _dispose: function() {\r\n this._removeEvents();\r\n this.callBase()\r\n },\r\n _createValueEditorWithEvents: function(item, field, $container) {\r\n var value = item[2];\r\n var createValueText = () => {\r\n $container.empty();\r\n this._removeEvents();\r\n return this._createValueText(item, field, $container)\r\n };\r\n var closeEditor = () => {\r\n this._updateConditionValue(item, value, (function() {\r\n createValueText()\r\n }))\r\n };\r\n var options = {\r\n value: \"\" === value ? null : value,\r\n filterOperation: getOperationValue(item),\r\n setValue: function(data) {\r\n value = null === data ? \"\" : data\r\n },\r\n closeEditor: closeEditor,\r\n text: $container.text()\r\n };\r\n $container.empty();\r\n var $editor = this._createValueEditor($container, field, options);\r\n eventsEngine.trigger($editor.find(\"input\").not(\":hidden\").eq(0), \"focus\");\r\n this._removeEvents();\r\n this._addDocumentClick($editor, closeEditor);\r\n this._addDocumentKeyUp($editor, e => {\r\n var keyName = normalizeKeyName(e);\r\n if (keyName === TAB_KEY) {\r\n if (this._isFocusOnEditorParts($editor)) {\r\n return\r\n }\r\n this._updateConditionValue(item, value, (function() {\r\n createValueText();\r\n if (e.shiftKey) {\r\n eventsEngine.trigger($container.prev(), \"focus\")\r\n }\r\n }))\r\n }\r\n if (keyName === ESCAPE_KEY) {\r\n eventsEngine.trigger(createValueText(), \"focus\")\r\n }\r\n if (keyName === ENTER_KEY) {\r\n this._updateConditionValue(item, value, (function() {\r\n eventsEngine.trigger(createValueText(), \"focus\")\r\n }))\r\n }\r\n });\r\n this._fireContentReadyAction()\r\n },\r\n _createValueButton: function(item, field) {\r\n var $valueButton = $(\"<div>\").addClass(FILTER_BUILDER_ITEM_TEXT_CLASS).addClass(FILTER_BUILDER_ITEM_VALUE_CLASS);\r\n this._createValueText(item, field, $valueButton);\r\n return $valueButton\r\n },\r\n _createValueEditor: function($container, field, options) {\r\n var $editor = $(\"<div>\").attr(\"tabindex\", 0).appendTo($container);\r\n var customOperation = getCustomOperation(this._customOperations, options.filterOperation);\r\n var editorTemplate = customOperation && customOperation.editorTemplate ? customOperation.editorTemplate : field.editorTemplate;\r\n if (editorTemplate) {\r\n var template = this._getTemplate(editorTemplate);\r\n template.render({\r\n model: extend({\r\n field: field\r\n }, options),\r\n container: $editor\r\n })\r\n } else {\r\n this._editorFactory.createEditor.call(this, $editor, extend({}, field, options, {\r\n parentType: SOURCE\r\n }))\r\n }\r\n return $editor\r\n },\r\n _createPopupWithTreeView: function(options, $container) {\r\n var that = this;\r\n var $popup = $(\"<div>\").addClass(options.menu.cssClass).appendTo($container);\r\n this._createComponent($popup, Popup, {\r\n onHiding: options.menu.onHiding,\r\n onHidden: options.menu.onHidden,\r\n rtlEnabled: options.menu.rtlEnabled,\r\n position: options.menu.position,\r\n animation: options.menu.animation,\r\n contentTemplate: function(contentElement) {\r\n var $menuContainer = $(\"<div>\").appendTo(contentElement);\r\n that._createComponent($menuContainer, TreeView, options.menu);\r\n this.repaint()\r\n },\r\n _ignoreFunctionValueDeprecation: true,\r\n maxHeight: function() {\r\n return getElementMaxHeightByWindow(options.menu.position.of)\r\n },\r\n visible: true,\r\n focusStateEnabled: false,\r\n hideOnParentScroll: this.option(\"closePopupOnTargetScroll\"),\r\n hideOnOutsideClick: true,\r\n onShown: options.popup.onShown,\r\n shading: false,\r\n width: \"auto\",\r\n height: \"auto\",\r\n showTitle: false,\r\n _wrapperClassExternal: options.menu.cssClass\r\n })\r\n },\r\n _subscribeOnClickAndEnterKey: function($button, handler) {\r\n eventsEngine.on($button, \"dxclick\", handler);\r\n eventsEngine.on($button, \"keyup\", (function(e) {\r\n if (normalizeKeyName(e) === ENTER_KEY) {\r\n handler(e)\r\n }\r\n }))\r\n }\r\n});\r\nregisterComponent(\"dxFilterBuilder\", FilterBuilder);\r\nexport default FilterBuilder;\r\n","/**\r\n * DevExtreme (esm/ui/filter_builder.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport FilterBuilder from \"./filter_builder/filter_builder\";\r\nexport default FilterBuilder;\r\n","/**\r\n * DevExtreme (esm/ui/filter_builder/between.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nvar FILTER_BUILDER_RANGE_CLASS = \"dx-filterbuilder-range\";\r\nvar FILTER_BUILDER_RANGE_START_CLASS = FILTER_BUILDER_RANGE_CLASS + \"-start\";\r\nvar FILTER_BUILDER_RANGE_END_CLASS = FILTER_BUILDER_RANGE_CLASS + \"-end\";\r\nvar FILTER_BUILDER_RANGE_SEPARATOR_CLASS = FILTER_BUILDER_RANGE_CLASS + \"-separator\";\r\nvar SEPARATOR = \"\\u2013\";\r\n\r\nfunction editorTemplate(conditionInfo, container) {\r\n var $editorStart = $(\"<div>\").addClass(FILTER_BUILDER_RANGE_START_CLASS);\r\n var $editorEnd = $(\"<div>\").addClass(FILTER_BUILDER_RANGE_END_CLASS);\r\n var values = conditionInfo.value || [];\r\n var getStartValue = function(values) {\r\n return values && values.length > 0 ? values[0] : null\r\n };\r\n var getEndValue = function(values) {\r\n return values && 2 === values.length ? values[1] : null\r\n };\r\n container.append($editorStart);\r\n container.append($(\"<span>\").addClass(FILTER_BUILDER_RANGE_SEPARATOR_CLASS).text(SEPARATOR));\r\n container.append($editorEnd);\r\n container.addClass(FILTER_BUILDER_RANGE_CLASS);\r\n this._editorFactory.createEditor.call(this, $editorStart, extend({}, conditionInfo.field, conditionInfo, {\r\n value: getStartValue(values),\r\n parentType: \"filterBuilder\",\r\n setValue: function(value) {\r\n values = [value, getEndValue(values)];\r\n conditionInfo.setValue(values)\r\n }\r\n }));\r\n this._editorFactory.createEditor.call(this, $editorEnd, extend({}, conditionInfo.field, conditionInfo, {\r\n value: getEndValue(values),\r\n parentType: \"filterBuilder\",\r\n setValue: function(value) {\r\n values = [getStartValue(values), value];\r\n conditionInfo.setValue(values)\r\n }\r\n }))\r\n}\r\nexport function getConfig(caption, context) {\r\n return {\r\n name: \"between\",\r\n caption: caption,\r\n icon: \"range\",\r\n valueSeparator: SEPARATOR,\r\n dataTypes: [\"number\", \"date\", \"datetime\"],\r\n editorTemplate: editorTemplate.bind(context),\r\n notForLookup: true\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/filter_builder/ui.filter_operations_dictionary.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar OPERATION_ICONS = {\r\n \"=\": \"equal\",\r\n \"<>\": \"notequal\",\r\n \"<\": \"less\",\r\n \"<=\": \"lessorequal\",\r\n \">\": \"greater\",\r\n \">=\": \"greaterorequal\",\r\n notcontains: \"doesnotcontain\",\r\n contains: \"contains\",\r\n startswith: \"startswith\",\r\n endswith: \"endswith\",\r\n isblank: \"isblank\",\r\n isnotblank: \"isnotblank\"\r\n};\r\nvar OPERATION_NAME = {\r\n \"=\": \"equal\",\r\n \"<>\": \"notEqual\",\r\n \"<\": \"lessThan\",\r\n \"<=\": \"lessThanOrEqual\",\r\n \">\": \"greaterThan\",\r\n \">=\": \"greaterThanOrEqual\",\r\n startswith: \"startsWith\",\r\n contains: \"contains\",\r\n notcontains: \"notContains\",\r\n endswith: \"endsWith\",\r\n isblank: \"isBlank\",\r\n isnotblank: \"isNotBlank\",\r\n between: \"between\"\r\n};\r\nexport default {\r\n getIconByFilterOperation: function(filterOperation) {\r\n return OPERATION_ICONS[filterOperation]\r\n },\r\n getNameByFilterOperation: function(filterOperation) {\r\n return OPERATION_NAME[filterOperation]\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/filter_builder/utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n errors as dataErrors\r\n} from \"../../data/errors\";\r\nimport {\r\n isDefined,\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n compileGetter\r\n} from \"../../core/utils/data\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport filterUtils from \"../shared/filtering\";\r\nimport formatHelper from \"../../format_helper\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n captionize\r\n} from \"../../core/utils/inflector\";\r\nimport {\r\n getConfig\r\n} from \"./between\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n DataSource\r\n} from \"../../data/data_source/data_source\";\r\nimport filterOperationsDictionary from \"./ui.filter_operations_dictionary\";\r\nvar DEFAULT_DATA_TYPE = \"string\";\r\nvar EMPTY_MENU_ICON = \"icon-none\";\r\nvar AND_GROUP_OPERATION = \"and\";\r\nvar EQUAL_OPERATION = \"=\";\r\nvar NOT_EQUAL_OPERATION = \"<>\";\r\nvar DATATYPE_OPERATIONS = {\r\n number: [\"=\", \"<>\", \"<\", \">\", \"<=\", \">=\", \"isblank\", \"isnotblank\"],\r\n string: [\"contains\", \"notcontains\", \"startswith\", \"endswith\", \"=\", \"<>\", \"isblank\", \"isnotblank\"],\r\n date: [\"=\", \"<>\", \"<\", \">\", \"<=\", \">=\", \"isblank\", \"isnotblank\"],\r\n datetime: [\"=\", \"<>\", \"<\", \">\", \"<=\", \">=\", \"isblank\", \"isnotblank\"],\r\n boolean: [\"=\", \"<>\", \"isblank\", \"isnotblank\"],\r\n object: [\"isblank\", \"isnotblank\"]\r\n};\r\nvar DEFAULT_FORMAT = {\r\n date: \"shortDate\",\r\n datetime: \"shortDateShortTime\"\r\n};\r\nvar LOOKUP_OPERATIONS = [\"=\", \"<>\", \"isblank\", \"isnotblank\"];\r\nvar AVAILABLE_FIELD_PROPERTIES = [\"caption\", \"customizeText\", \"dataField\", \"dataType\", \"editorTemplate\", \"falseText\", \"editorOptions\", \"filterOperations\", \"format\", \"lookup\", \"trueText\", \"calculateFilterExpression\", \"name\"];\r\nvar FILTER_BUILDER_CLASS = \"dx-filterbuilder\";\r\nvar FILTER_BUILDER_ITEM_TEXT_CLASS = FILTER_BUILDER_CLASS + \"-text\";\r\nvar FILTER_BUILDER_ITEM_TEXT_PART_CLASS = FILTER_BUILDER_ITEM_TEXT_CLASS + \"-part\";\r\nvar FILTER_BUILDER_ITEM_TEXT_SEPARATOR_CLASS = FILTER_BUILDER_ITEM_TEXT_CLASS + \"-separator\";\r\nvar FILTER_BUILDER_ITEM_TEXT_SEPARATOR_EMPTY_CLASS = FILTER_BUILDER_ITEM_TEXT_SEPARATOR_CLASS + \"-empty\";\r\n\r\nfunction getFormattedValueText(field, value) {\r\n var fieldFormat = field.format || DEFAULT_FORMAT[field.dataType];\r\n return formatHelper.format(value, fieldFormat)\r\n}\r\n\r\nfunction isNegationGroup(group) {\r\n return group && group.length > 1 && \"!\" === group[0] && !isCondition(group)\r\n}\r\nexport function getGroupCriteria(group) {\r\n return isNegationGroup(group) ? group[1] : group\r\n}\r\n\r\nfunction setGroupCriteria(group, criteria) {\r\n if (isNegationGroup(group)) {\r\n group[1] = criteria\r\n } else {\r\n group = criteria\r\n }\r\n return group\r\n}\r\n\r\nfunction convertGroupToNewStructure(group, value) {\r\n if (function(value) {\r\n return -1 !== value.indexOf(\"!\")\r\n }(value)) {\r\n if (!isNegationGroup(group)) {\r\n ! function(group) {\r\n var criteria = group.slice(0);\r\n group.length = 0;\r\n group.push(\"!\", criteria)\r\n }(group)\r\n }\r\n } else if (isNegationGroup(group)) {\r\n ! function(group) {\r\n var criteria = getGroupCriteria(group);\r\n group.length = 0;\r\n [].push.apply(group, criteria)\r\n }(group)\r\n }\r\n}\r\nexport function setGroupValue(group, value) {\r\n convertGroupToNewStructure(group, value);\r\n var criteria = getGroupCriteria(group);\r\n var i;\r\n value = function(value) {\r\n return -1 === value.indexOf(\"!\") ? value : value.substring(1)\r\n }(value);\r\n ! function(criteria, value) {\r\n for (i = 0; i < criteria.length; i++) {\r\n if (!Array.isArray(criteria[i])) {\r\n criteria[i] = value\r\n }\r\n }\r\n }(criteria, value);\r\n return group\r\n}\r\nexport function getGroupMenuItem(group, availableGroups) {\r\n var groupValue = getGroupValue(group);\r\n return availableGroups.filter((function(item) {\r\n return item.value === groupValue\r\n }))[0]\r\n}\r\n\r\nfunction getCriteriaOperation(criteria) {\r\n if (isCondition(criteria)) {\r\n return AND_GROUP_OPERATION\r\n }\r\n var value = \"\";\r\n for (var i = 0; i < criteria.length; i++) {\r\n var item = criteria[i];\r\n if (!Array.isArray(item)) {\r\n if (value && value !== item) {\r\n throw new dataErrors.Error(\"E4019\")\r\n }\r\n if (\"!\" !== item) {\r\n value = item\r\n }\r\n }\r\n }\r\n return value\r\n}\r\nexport function getGroupValue(group) {\r\n var criteria = getGroupCriteria(group);\r\n var value = getCriteriaOperation(criteria);\r\n if (!value) {\r\n value = AND_GROUP_OPERATION\r\n }\r\n if (criteria !== group) {\r\n value = \"!\" + value\r\n }\r\n return value\r\n}\r\n\r\nfunction getDefaultFilterOperations(field) {\r\n return field.lookup && LOOKUP_OPERATIONS || DATATYPE_OPERATIONS[field.dataType || DEFAULT_DATA_TYPE]\r\n}\r\n\r\nfunction containItems(entity) {\r\n return Array.isArray(entity) && entity.length\r\n}\r\nexport function getFilterOperations(field) {\r\n var result = containItems(field.filterOperations) ? field.filterOperations : getDefaultFilterOperations(field);\r\n return extend([], result)\r\n}\r\nexport function getCaptionByOperation(operation, filterOperationDescriptions) {\r\n var operationName = filterOperationsDictionary.getNameByFilterOperation(operation);\r\n return filterOperationDescriptions && filterOperationDescriptions[operationName] ? filterOperationDescriptions[operationName] : operationName\r\n}\r\nexport function getOperationFromAvailable(operation, availableOperations) {\r\n for (var i = 0; i < availableOperations.length; i++) {\r\n if (availableOperations[i].value === operation) {\r\n return availableOperations[i]\r\n }\r\n }\r\n throw new errors.Error(\"E1048\", operation)\r\n}\r\nexport function getCustomOperation(customOperations, name) {\r\n var filteredOperations = customOperations.filter((function(item) {\r\n return item.name === name\r\n }));\r\n return filteredOperations.length ? filteredOperations[0] : null\r\n}\r\nexport function getAvailableOperations(field, filterOperationDescriptions, customOperations) {\r\n var filterOperations = getFilterOperations(field);\r\n var isLookupField = !!field.lookup;\r\n customOperations.forEach((function(customOperation) {\r\n if (!field.filterOperations && -1 === filterOperations.indexOf(customOperation.name)) {\r\n var dataTypes = customOperation && customOperation.dataTypes;\r\n var isOperationForbidden = isLookupField ? !!customOperation.notForLookup : false;\r\n if (!isOperationForbidden && dataTypes && dataTypes.indexOf(field.dataType || DEFAULT_DATA_TYPE) >= 0) {\r\n filterOperations.push(customOperation.name)\r\n }\r\n }\r\n }));\r\n return filterOperations.map((function(operation) {\r\n var customOperation = getCustomOperation(customOperations, operation);\r\n if (customOperation) {\r\n return {\r\n icon: customOperation.icon || EMPTY_MENU_ICON,\r\n text: customOperation.caption || captionize(customOperation.name),\r\n value: customOperation.name,\r\n isCustom: true\r\n }\r\n } else {\r\n return {\r\n icon: filterOperationsDictionary.getIconByFilterOperation(operation) || EMPTY_MENU_ICON,\r\n text: getCaptionByOperation(operation, filterOperationDescriptions),\r\n value: operation\r\n }\r\n }\r\n }))\r\n}\r\nexport function getDefaultOperation(field) {\r\n return field.defaultFilterOperation || getFilterOperations(field)[0]\r\n}\r\nexport function createCondition(field, customOperations) {\r\n var condition = [field.dataField, \"\", \"\"];\r\n var filterOperation = getDefaultOperation(field);\r\n updateConditionByOperation(condition, filterOperation, customOperations);\r\n return condition\r\n}\r\nexport function removeItem(group, item) {\r\n var criteria = getGroupCriteria(group);\r\n var index = criteria.indexOf(item);\r\n criteria.splice(index, 1);\r\n if (1 !== criteria.length) {\r\n criteria.splice(index, 1)\r\n }\r\n return group\r\n}\r\nexport function createEmptyGroup(value) {\r\n var isNegation = isNegationGroupOperation(value);\r\n var groupOperation = isNegation ? getGroupOperationFromNegationOperation(value) : value;\r\n return isNegation ? [\"!\", [groupOperation]] : [groupOperation]\r\n}\r\nexport function isEmptyGroup(group) {\r\n var criteria = getGroupCriteria(group);\r\n if (isCondition(criteria)) {\r\n return false\r\n }\r\n var hasConditions = criteria.some((function(item) {\r\n return isCondition(item)\r\n }));\r\n return !hasConditions\r\n}\r\nexport function addItem(item, group) {\r\n var criteria = getGroupCriteria(group);\r\n var groupValue = getGroupValue(criteria);\r\n 1 === criteria.length ? criteria.unshift(item) : criteria.push(item, groupValue);\r\n return group\r\n}\r\nexport function getField(dataField, fields) {\r\n for (var i = 0; i < fields.length; i++) {\r\n if (fields[i].name === dataField) {\r\n return fields[i]\r\n }\r\n if (fields[i].dataField.toLowerCase() === dataField.toLowerCase()) {\r\n return fields[i]\r\n }\r\n }\r\n var extendedFields = getItems(fields, true).filter((function(item) {\r\n return item.dataField.toLowerCase() === dataField.toLowerCase()\r\n }));\r\n if (extendedFields.length > 0) {\r\n return extendedFields[0]\r\n }\r\n throw new errors.Error(\"E1047\", dataField)\r\n}\r\nexport function isGroup(criteria) {\r\n if (!Array.isArray(criteria)) {\r\n return false\r\n }\r\n return criteria.length < 2 || Array.isArray(criteria[0]) || Array.isArray(criteria[1])\r\n}\r\nexport function isCondition(criteria) {\r\n if (!Array.isArray(criteria)) {\r\n return false\r\n }\r\n return criteria.length > 1 && !Array.isArray(criteria[0]) && !Array.isArray(criteria[1])\r\n}\r\n\r\nfunction convertToInnerGroup(group, customOperations, defaultGroupOperation) {\r\n defaultGroupOperation = defaultGroupOperation || AND_GROUP_OPERATION;\r\n var groupOperation = getCriteriaOperation(group).toLowerCase() || defaultGroupOperation;\r\n var innerGroup = [];\r\n for (var i = 0; i < group.length; i++) {\r\n if (isGroup(group[i])) {\r\n innerGroup.push(convertToInnerStructure(group[i], customOperations, defaultGroupOperation));\r\n innerGroup = appendGroupOperationToGroup(innerGroup, groupOperation)\r\n } else if (isCondition(group[i])) {\r\n innerGroup.push(convertToInnerCondition(group[i], customOperations));\r\n innerGroup = appendGroupOperationToGroup(innerGroup, groupOperation)\r\n }\r\n }\r\n if (0 === innerGroup.length) {\r\n innerGroup = appendGroupOperationToGroup(innerGroup, groupOperation)\r\n }\r\n return innerGroup\r\n}\r\n\r\nfunction conditionHasCustomOperation(condition, customOperations) {\r\n var customOperation = getCustomOperation(customOperations, condition[1]);\r\n return customOperation && customOperation.name === condition[1]\r\n}\r\n\r\nfunction convertToInnerCondition(condition, customOperations) {\r\n if (conditionHasCustomOperation(condition, customOperations)) {\r\n return condition\r\n }\r\n if (condition.length < 3) {\r\n condition[2] = condition[1];\r\n condition[1] = EQUAL_OPERATION\r\n }\r\n return condition\r\n}\r\n\r\nfunction isNegationGroupOperation(operation) {\r\n return -1 !== operation.indexOf(\"not\")\r\n}\r\n\r\nfunction getGroupOperationFromNegationOperation(operation) {\r\n return operation.substring(3).toLowerCase()\r\n}\r\n\r\nfunction appendGroupOperationToCriteria(criteria, groupOperation) {\r\n var isNegation = isNegationGroupOperation(groupOperation);\r\n groupOperation = isNegation ? getGroupOperationFromNegationOperation(groupOperation) : groupOperation;\r\n return isNegation ? [\"!\", criteria, groupOperation] : [criteria, groupOperation]\r\n}\r\n\r\nfunction appendGroupOperationToGroup(group, groupOperation) {\r\n var isNegation = isNegationGroupOperation(groupOperation);\r\n groupOperation = isNegation ? getGroupOperationFromNegationOperation(groupOperation) : groupOperation;\r\n group.push(groupOperation);\r\n var result = group;\r\n if (isNegation) {\r\n result = [\"!\", result]\r\n }\r\n return result\r\n}\r\nexport function convertToInnerStructure(value, customOperations, defaultGroupOperation) {\r\n defaultGroupOperation = defaultGroupOperation || AND_GROUP_OPERATION;\r\n if (!value) {\r\n return createEmptyGroup(defaultGroupOperation)\r\n }\r\n value = extend(true, [], value);\r\n if (isCondition(value)) {\r\n return appendGroupOperationToCriteria(convertToInnerCondition(value, customOperations), defaultGroupOperation)\r\n }\r\n if (isNegationGroup(value)) {\r\n return [\"!\", isCondition(value[1]) ? appendGroupOperationToCriteria(convertToInnerCondition(value[1], customOperations), defaultGroupOperation) : isNegationGroup(value[1]) ? appendGroupOperationToCriteria(convertToInnerStructure(value[1], customOperations), defaultGroupOperation) : convertToInnerGroup(value[1], customOperations, defaultGroupOperation)]\r\n }\r\n return convertToInnerGroup(value, customOperations, defaultGroupOperation)\r\n}\r\nexport function getNormalizedFields(fields) {\r\n return fields.reduce((function(result, field) {\r\n if (isDefined(field.dataField)) {\r\n var normalizedField = {};\r\n for (var key in field) {\r\n if (field[key] && AVAILABLE_FIELD_PROPERTIES.indexOf(key) > -1) {\r\n normalizedField[key] = field[key]\r\n }\r\n }\r\n normalizedField.defaultCalculateFilterExpression = filterUtils.defaultCalculateFilterExpression;\r\n if (!isDefined(normalizedField.dataType)) {\r\n normalizedField.dataType = DEFAULT_DATA_TYPE\r\n }\r\n if (!isDefined(normalizedField.trueText)) {\r\n normalizedField.trueText = messageLocalization.format(\"dxDataGrid-trueText\")\r\n }\r\n if (!isDefined(normalizedField.falseText)) {\r\n normalizedField.falseText = messageLocalization.format(\"dxDataGrid-falseText\")\r\n }\r\n result.push(normalizedField)\r\n }\r\n return result\r\n }), [])\r\n}\r\n\r\nfunction getConditionFilterExpression(condition, fields, customOperations, target) {\r\n var field = getField(condition[0], fields);\r\n var filterExpression = convertToInnerCondition(condition, customOperations);\r\n var customOperation = customOperations.length && getCustomOperation(customOperations, filterExpression[1]);\r\n if (customOperation && customOperation.calculateFilterExpression) {\r\n return customOperation.calculateFilterExpression.apply(customOperation, [filterExpression[2], field, fields])\r\n } else if (field.createFilterExpression) {\r\n return field.createFilterExpression.apply(field, [filterExpression[2], filterExpression[1], target])\r\n } else if (field.calculateFilterExpression) {\r\n return field.calculateFilterExpression.apply(field, [filterExpression[2], filterExpression[1], target])\r\n } else {\r\n return field.defaultCalculateFilterExpression.apply(field, [filterExpression[2], filterExpression[1], target])\r\n }\r\n}\r\nexport function getFilterExpression(value, fields, customOperations, target) {\r\n if (!isDefined(value)) {\r\n return null\r\n }\r\n if (isNegationGroup(value)) {\r\n var filterExpression = getFilterExpression(value[1], fields, customOperations, target);\r\n return [\"!\", filterExpression]\r\n }\r\n var criteria = getGroupCriteria(value);\r\n if (isCondition(criteria)) {\r\n return getConditionFilterExpression(criteria, fields, customOperations, target) || null\r\n } else {\r\n var result = [];\r\n var _filterExpression;\r\n var groupValue = getGroupValue(criteria);\r\n for (var i = 0; i < criteria.length; i++) {\r\n if (isGroup(criteria[i])) {\r\n _filterExpression = getFilterExpression(criteria[i], fields, customOperations, target);\r\n if (_filterExpression) {\r\n i && result.push(groupValue);\r\n result.push(_filterExpression)\r\n }\r\n } else if (isCondition(criteria[i])) {\r\n _filterExpression = getConditionFilterExpression(criteria[i], fields, customOperations, target);\r\n if (_filterExpression) {\r\n result.length && result.push(groupValue);\r\n result.push(_filterExpression)\r\n }\r\n }\r\n }\r\n if (1 === result.length) {\r\n result = result[0]\r\n }\r\n return result.length ? result : null\r\n }\r\n}\r\nexport function getNormalizedFilter(group) {\r\n var criteria = getGroupCriteria(group);\r\n var i;\r\n if (0 === criteria.length) {\r\n return null\r\n }\r\n var itemsForRemove = [];\r\n for (i = 0; i < criteria.length; i++) {\r\n if (isGroup(criteria[i])) {\r\n var normalizedGroupValue = getNormalizedFilter(criteria[i]);\r\n if (normalizedGroupValue) {\r\n criteria[i] = normalizedGroupValue\r\n } else {\r\n itemsForRemove.push(criteria[i])\r\n }\r\n } else if (isCondition(criteria[i])) {\r\n if (!isValidCondition(criteria[i])) {\r\n itemsForRemove.push(criteria[i])\r\n }\r\n }\r\n }\r\n for (i = 0; i < itemsForRemove.length; i++) {\r\n removeItem(criteria, itemsForRemove[i])\r\n }\r\n if (1 === criteria.length) {\r\n return null\r\n }\r\n criteria.splice(criteria.length - 1, 1);\r\n if (1 === criteria.length) {\r\n group = setGroupCriteria(group, criteria[0])\r\n }\r\n if (0 === group.length) {\r\n return null\r\n }\r\n return group\r\n}\r\nexport function getCurrentLookupValueText(field, value, handler) {\r\n if (\"\" === value) {\r\n handler(\"\");\r\n return\r\n }\r\n var lookup = field.lookup;\r\n if (lookup.items) {\r\n handler(lookup.calculateCellValue(value) || \"\")\r\n } else {\r\n var lookupDataSource = isFunction(lookup.dataSource) ? lookup.dataSource({}) : lookup.dataSource;\r\n var dataSource = new DataSource(lookupDataSource);\r\n dataSource.loadSingle(lookup.valueExpr, value).done((function(result) {\r\n var valueText = \"\";\r\n if (result) {\r\n valueText = lookup.displayExpr ? compileGetter(lookup.displayExpr)(result) : result\r\n }\r\n if (field.customizeText) {\r\n valueText = field.customizeText({\r\n value: value,\r\n valueText: valueText\r\n })\r\n }\r\n handler(valueText)\r\n })).fail((function() {\r\n handler(\"\")\r\n }))\r\n }\r\n}\r\n\r\nfunction getPrimitiveValueText(field, value, customOperation, target, options) {\r\n var valueText;\r\n if (true === value) {\r\n valueText = field.trueText || messageLocalization.format(\"dxDataGrid-trueText\")\r\n } else if (false === value) {\r\n valueText = field.falseText || messageLocalization.format(\"dxDataGrid-falseText\")\r\n } else {\r\n valueText = getFormattedValueText(field, value)\r\n }\r\n if (field.customizeText) {\r\n valueText = field.customizeText.call(field, {\r\n value: value,\r\n valueText: valueText,\r\n target: target\r\n })\r\n }\r\n if (customOperation && customOperation.customizeText) {\r\n valueText = customOperation.customizeText.call(customOperation, {\r\n value: value,\r\n valueText: valueText,\r\n field: field,\r\n target: target\r\n }, options)\r\n }\r\n return valueText\r\n}\r\n\r\nfunction getArrayValueText(field, value, customOperation, target) {\r\n var options = {\r\n values: value\r\n };\r\n return value.map(v => getPrimitiveValueText(field, v, customOperation, target, options))\r\n}\r\n\r\nfunction checkDefaultValue(value) {\r\n return \"\" === value || null === value\r\n}\r\nexport function getCurrentValueText(field, value, customOperation) {\r\n var target = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : \"filterBuilder\";\r\n if (checkDefaultValue(value)) {\r\n return \"\"\r\n }\r\n if (Array.isArray(value)) {\r\n var result = new Deferred;\r\n when.apply(this, getArrayValueText(field, value, customOperation, target)).done((function() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n var text = args.some(item => !checkDefaultValue(item)) ? args.map(item => !checkDefaultValue(item) ? item : \"?\") : \"\";\r\n result.resolve(text)\r\n }));\r\n return result\r\n } else {\r\n return getPrimitiveValueText(field, value, customOperation, target)\r\n }\r\n}\r\n\r\nfunction itemExists(plainItems, parentId) {\r\n return plainItems.some((function(item) {\r\n return item.dataField === parentId\r\n }))\r\n}\r\n\r\nfunction pushItemAndCheckParent(originalItems, plainItems, item) {\r\n var dataField = item.dataField;\r\n if (hasParent(dataField)) {\r\n item.parentId = getParentIdFromItemDataField(dataField);\r\n if (!itemExists(plainItems, item.parentId) && !itemExists(originalItems, item.parentId)) {\r\n pushItemAndCheckParent(originalItems, plainItems, {\r\n id: item.parentId,\r\n dataType: \"object\",\r\n dataField: item.parentId,\r\n caption: generateCaptionByDataField(item.parentId, true),\r\n filterOperations: [\"isblank\", \"isnotblank\"],\r\n defaultCalculateFilterExpression: filterUtils.defaultCalculateFilterExpression\r\n })\r\n }\r\n }\r\n plainItems.push(item)\r\n}\r\n\r\nfunction generateCaptionByDataField(dataField, allowHierarchicalFields) {\r\n var caption = \"\";\r\n if (allowHierarchicalFields) {\r\n dataField = dataField.substring(dataField.lastIndexOf(\".\") + 1)\r\n } else if (hasParent(dataField)) {\r\n dataField.split(\".\").forEach((function(field, index, arr) {\r\n caption += captionize(field);\r\n if (index !== arr.length - 1) {\r\n caption += \".\"\r\n }\r\n }));\r\n return caption\r\n }\r\n return captionize(dataField)\r\n}\r\nexport function getItems(fields, allowHierarchicalFields) {\r\n var items = [];\r\n for (var i = 0; i < fields.length; i++) {\r\n var item = extend(true, {\r\n caption: generateCaptionByDataField(fields[i].dataField, allowHierarchicalFields)\r\n }, fields[i]);\r\n item.id = item.name || item.dataField;\r\n if (allowHierarchicalFields) {\r\n pushItemAndCheckParent(fields, items, item)\r\n } else {\r\n items.push(item)\r\n }\r\n }\r\n return items\r\n}\r\n\r\nfunction hasParent(dataField) {\r\n return -1 !== dataField.lastIndexOf(\".\")\r\n}\r\n\r\nfunction getParentIdFromItemDataField(dataField) {\r\n return dataField.substring(0, dataField.lastIndexOf(\".\"))\r\n}\r\nexport function getCaptionWithParents(item, plainItems) {\r\n if (hasParent(item.dataField)) {\r\n var parentId = getParentIdFromItemDataField(item.dataField);\r\n for (var i = 0; i < plainItems.length; i++) {\r\n if (plainItems[i].dataField === parentId) {\r\n return getCaptionWithParents(plainItems[i], plainItems) + \".\" + item.caption\r\n }\r\n }\r\n }\r\n return item.caption\r\n}\r\nexport function updateConditionByOperation(condition, operation, customOperations) {\r\n var customOperation = getCustomOperation(customOperations, operation);\r\n if (customOperation) {\r\n if (false === customOperation.hasValue) {\r\n condition[1] = operation;\r\n condition.length = 2\r\n } else {\r\n condition[1] = operation;\r\n condition[2] = \"\"\r\n }\r\n return condition\r\n }\r\n if (\"isblank\" === operation) {\r\n condition[1] = EQUAL_OPERATION;\r\n condition[2] = null\r\n } else if (\"isnotblank\" === operation) {\r\n condition[1] = NOT_EQUAL_OPERATION;\r\n condition[2] = null\r\n } else {\r\n customOperation = getCustomOperation(customOperations, condition[1]);\r\n if (customOperation || 2 === condition.length || null === condition[2]) {\r\n condition[2] = \"\"\r\n }\r\n condition[1] = operation\r\n }\r\n return condition\r\n}\r\nexport function getOperationValue(condition) {\r\n var caption;\r\n if (null === condition[2]) {\r\n if (condition[1] === EQUAL_OPERATION) {\r\n caption = \"isblank\"\r\n } else {\r\n caption = \"isnotblank\"\r\n }\r\n } else {\r\n caption = condition[1]\r\n }\r\n return caption\r\n}\r\nexport function isValidCondition(condition) {\r\n return \"\" !== condition[2]\r\n}\r\nexport function getMergedOperations(customOperations, betweenCaption, context) {\r\n var result = extend(true, [], customOperations);\r\n var betweenIndex = -1;\r\n result.some((function(customOperation, index) {\r\n if (\"between\" === customOperation.name) {\r\n betweenIndex = index;\r\n return true\r\n }\r\n }));\r\n if (-1 !== betweenIndex) {\r\n result[betweenIndex] = extend(getConfig(betweenCaption, context), result[betweenIndex])\r\n } else {\r\n result.unshift(getConfig(betweenCaption, context))\r\n }\r\n return result\r\n}\r\n\r\nfunction isMatchedCondition(filter, addedFilterDataField) {\r\n return filter[0] === addedFilterDataField\r\n}\r\nexport function removeFieldConditionsFromFilter(filter, dataField) {\r\n if (!filter || 0 === filter.length) {\r\n return null\r\n }\r\n if (isCondition(filter)) {\r\n var hasMatchedCondition = isMatchedCondition(filter, dataField);\r\n return !hasMatchedCondition ? filter : null\r\n } else {\r\n return syncConditionIntoGroup(filter, [dataField], false)\r\n }\r\n}\r\n\r\nfunction syncConditionIntoGroup(filter, addedFilter, canPush) {\r\n var result = [];\r\n filter.forEach((function(item) {\r\n if (isCondition(item)) {\r\n if (isMatchedCondition(item, addedFilter[0])) {\r\n if (canPush) {\r\n result.push(addedFilter);\r\n canPush = false\r\n } else {\r\n result.splice(result.length - 1, 1)\r\n }\r\n } else {\r\n result.push(item)\r\n }\r\n } else {\r\n (result.length || isGroup(item)) && result.push(item)\r\n }\r\n }));\r\n if (0 === result.length) {\r\n return null\r\n }\r\n if (canPush) {\r\n result.push(AND_GROUP_OPERATION);\r\n result.push(addedFilter)\r\n }\r\n return 1 === result.length ? result[0] : result\r\n}\r\nexport function syncFilters(filter, addedFilter) {\r\n if (null === filter || 0 === filter.length) {\r\n return addedFilter\r\n }\r\n if (isCondition(filter)) {\r\n if (isMatchedCondition(filter, addedFilter[0])) {\r\n return addedFilter\r\n } else {\r\n return [filter, AND_GROUP_OPERATION, addedFilter]\r\n }\r\n }\r\n var groupValue = getGroupValue(filter);\r\n if (groupValue !== AND_GROUP_OPERATION) {\r\n return [addedFilter, \"and\", filter]\r\n }\r\n return syncConditionIntoGroup(filter, addedFilter, true)\r\n}\r\nexport function getMatchedConditions(filter, dataField) {\r\n if (null === filter || 0 === filter.length) {\r\n return []\r\n }\r\n if (isCondition(filter)) {\r\n if (isMatchedCondition(filter, dataField)) {\r\n return [filter]\r\n } else {\r\n return []\r\n }\r\n }\r\n var groupValue = getGroupValue(filter);\r\n if (groupValue !== AND_GROUP_OPERATION) {\r\n return []\r\n }\r\n var result = filter.filter((function(item) {\r\n return isCondition(item) && isMatchedCondition(item, dataField)\r\n }));\r\n return result\r\n}\r\nexport function filterHasField(filter, dataField) {\r\n if (null === filter || 0 === filter.length) {\r\n return false\r\n }\r\n if (isCondition(filter)) {\r\n return filter[0] === dataField\r\n }\r\n return filter.some((function(item) {\r\n return (isCondition(item) || isGroup(item)) && filterHasField(item, dataField)\r\n }))\r\n}\r\nexport var renderValueText = function($container, value, customOperation) {\r\n if (Array.isArray(value)) {\r\n var lastItemIndex = value.length - 1;\r\n $container.empty();\r\n value.forEach((t, i) => {\r\n $(\"<span>\").addClass(FILTER_BUILDER_ITEM_TEXT_PART_CLASS).text(t).appendTo($container);\r\n if (i !== lastItemIndex) {\r\n $(\"<span>\").addClass(FILTER_BUILDER_ITEM_TEXT_SEPARATOR_CLASS).text(customOperation && customOperation.valueSeparator ? customOperation.valueSeparator : \"|\").addClass(FILTER_BUILDER_ITEM_TEXT_SEPARATOR_EMPTY_CLASS).appendTo($container)\r\n }\r\n })\r\n } else if (value) {\r\n $container.text(value)\r\n } else {\r\n $container.text(messageLocalization.format(\"dxFilterBuilder-enterValueText\"))\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/form/ui.form.items_runtime_info.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Guid from \"../../core/guid\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isString\r\n} from \"../../core/utils/type\";\r\nexport default class FormItemsRunTimeInfo {\r\n constructor() {\r\n this._map = {}\r\n }\r\n _findWidgetInstance(condition) {\r\n var result;\r\n each(this._map, (function(guid, _ref) {\r\n var {\r\n widgetInstance: widgetInstance,\r\n item: item\r\n } = _ref;\r\n if (condition(item)) {\r\n result = widgetInstance;\r\n return false\r\n }\r\n }));\r\n return result\r\n }\r\n _findFieldByCondition(callback, valueExpr) {\r\n var result;\r\n each(this._map, (function(key, value) {\r\n if (callback(value)) {\r\n result = \"guid\" === valueExpr ? key : value[valueExpr];\r\n return false\r\n }\r\n }));\r\n return result\r\n }\r\n clear() {\r\n this._map = {}\r\n }\r\n removeItemsByItems(itemsRunTimeInfo) {\r\n each(itemsRunTimeInfo.getItems(), guid => this.removeItemByKey(guid))\r\n }\r\n removeItemByKey(key) {\r\n delete this._map[key]\r\n }\r\n add(options) {\r\n var key = options.guid || new Guid;\r\n this._map[key] = options;\r\n return key\r\n }\r\n addItemsOrExtendFrom(itemsRunTimeInfo) {\r\n itemsRunTimeInfo.each((key, itemRunTimeInfo) => {\r\n if (this._map[key]) {\r\n if (itemRunTimeInfo.widgetInstance) {\r\n this._map[key].widgetInstance = itemRunTimeInfo.widgetInstance\r\n }\r\n this._map[key].$itemContainer = itemRunTimeInfo.$itemContainer\r\n } else {\r\n this.add({\r\n item: itemRunTimeInfo.item,\r\n widgetInstance: itemRunTimeInfo.widgetInstance,\r\n guid: key,\r\n $itemContainer: itemRunTimeInfo.$itemContainer\r\n })\r\n }\r\n })\r\n }\r\n extendRunTimeItemInfoByKey(key, options) {\r\n if (this._map[key]) {\r\n this._map[key] = extend(this._map[key], options)\r\n }\r\n }\r\n findWidgetInstanceByItem(item) {\r\n return this._findWidgetInstance(storedItem => storedItem === item)\r\n }\r\n findGroupOrTabLayoutManagerByPath(targetPath) {\r\n return this._findFieldByCondition(_ref2 => {\r\n var {\r\n path: path\r\n } = _ref2;\r\n return path === targetPath\r\n }, \"layoutManager\")\r\n }\r\n findKeyByPath(targetPath) {\r\n return this._findFieldByCondition(_ref3 => {\r\n var {\r\n path: path\r\n } = _ref3;\r\n return path === targetPath\r\n }, \"guid\")\r\n }\r\n findWidgetInstanceByName(name) {\r\n return this._findWidgetInstance(item => name === item.name)\r\n }\r\n findWidgetInstanceByDataField(dataField) {\r\n return this._findWidgetInstance(item => dataField === (isString(item) ? item : item.dataField))\r\n }\r\n findItemContainerByItem(item) {\r\n for (var key in this._map) {\r\n if (this._map[key].item === item) {\r\n return this._map[key].$itemContainer\r\n }\r\n }\r\n return null\r\n }\r\n findItemIndexByItem(targetItem) {\r\n return this._findFieldByCondition(_ref4 => {\r\n var {\r\n item: item\r\n } = _ref4;\r\n return item === targetItem\r\n }, \"itemIndex\")\r\n }\r\n findPreparedItemByItem(item) {\r\n return this._findFieldByCondition(_ref5 => {\r\n var {\r\n item: currentItem\r\n } = _ref5;\r\n return currentItem === item\r\n }, \"preparedItem\")\r\n }\r\n getItems() {\r\n return this._map\r\n }\r\n each(handler) {\r\n each(this._map, (function(key, itemRunTimeInfo) {\r\n handler(key, itemRunTimeInfo)\r\n }))\r\n }\r\n removeItemsByPathStartWith(path) {\r\n var keys = Object.keys(this._map);\r\n var filteredKeys = keys.filter(key => {\r\n if (this._map[key].path) {\r\n return this._map[key].path.indexOf(path, 0) > -1\r\n }\r\n return false\r\n });\r\n filteredKeys.forEach(key => this.removeItemByKey(key))\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/form/ui.form.item_option_action.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nexport default class ItemOptionAction {\r\n constructor(options) {\r\n this._options = options;\r\n this._itemsRunTimeInfo = this._options.itemsRunTimeInfo\r\n }\r\n findInstance() {\r\n return this._itemsRunTimeInfo.findWidgetInstanceByItem(this._options.item)\r\n }\r\n findItemContainer() {\r\n return this._itemsRunTimeInfo.findItemContainerByItem(this._options.item)\r\n }\r\n findPreparedItem() {\r\n return this._itemsRunTimeInfo.findPreparedItemByItem(this._options.item)\r\n }\r\n tryExecute() {\r\n Class.abstract()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/form/ui.form.utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nexport var createItemPathByIndex = (index, isTabs) => \"\".concat(isTabs ? \"tabs\" : \"items\", \"[\").concat(index, \"]\");\r\nexport var concatPaths = (path1, path2) => {\r\n if (isDefined(path1) && isDefined(path2)) {\r\n return \"\".concat(path1, \".\").concat(path2)\r\n }\r\n return path1 || path2\r\n};\r\nexport var getTextWithoutSpaces = text => text ? text.replace(/\\s/g, \"\") : void 0;\r\nexport var isEqualToDataFieldOrNameOrTitleOrCaption = (item, fieldName) => {\r\n if (item) {\r\n return item.dataField === fieldName || item.name === fieldName || getTextWithoutSpaces(item.title) === fieldName || \"group\" === item.itemType && getTextWithoutSpaces(item.caption) === fieldName\r\n }\r\n return false\r\n};\r\nexport var getFullOptionName = (path, optionName) => \"\".concat(path, \".\").concat(optionName);\r\nexport var getOptionNameFromFullName = fullName => {\r\n var parts = fullName.split(\".\");\r\n return parts[parts.length - 1].replace(/\\[\\d+]/, \"\")\r\n};\r\nexport var tryGetTabPath = fullPath => {\r\n var pathParts = fullPath.split(\".\");\r\n var resultPathParts = [...pathParts];\r\n for (var i = pathParts.length - 1; i >= 0; i--) {\r\n if (isFullPathContainsTabs(pathParts[i])) {\r\n return resultPathParts.join(\".\")\r\n }\r\n resultPathParts.splice(i, 1)\r\n }\r\n return \"\"\r\n};\r\nexport var isFullPathContainsTabs = fullPath => fullPath.indexOf(\"tabs\") > -1;\r\nexport var getItemPath = (items, item, isTabs) => {\r\n var index = items.indexOf(item);\r\n if (index > -1) {\r\n return createItemPathByIndex(index, isTabs)\r\n }\r\n for (var i = 0; i < items.length; i++) {\r\n var targetItem = items[i];\r\n var tabOrGroupItems = targetItem.tabs || targetItem.items;\r\n if (tabOrGroupItems) {\r\n var itemPath = getItemPath(tabOrGroupItems, item, targetItem.tabs);\r\n if (itemPath) {\r\n return concatPaths(createItemPathByIndex(i, isTabs), itemPath)\r\n }\r\n }\r\n }\r\n};\r\nexport function convertToLayoutManagerOptions(_ref) {\r\n var {\r\n form: form,\r\n $formElement: $formElement,\r\n formOptions: formOptions,\r\n items: items,\r\n validationGroup: validationGroup,\r\n extendedLayoutManagerOptions: extendedLayoutManagerOptions,\r\n onFieldDataChanged: onFieldDataChanged,\r\n onContentReady: onContentReady,\r\n onDisposing: onDisposing,\r\n onFieldItemRendered: onFieldItemRendered\r\n } = _ref;\r\n var baseOptions = {\r\n form: form,\r\n items: items,\r\n $formElement: $formElement,\r\n validationGroup: validationGroup,\r\n onFieldDataChanged: onFieldDataChanged,\r\n onContentReady: onContentReady,\r\n onDisposing: onDisposing,\r\n onFieldItemRendered: onFieldItemRendered,\r\n validationBoundary: formOptions.scrollingEnabled ? $formElement : void 0,\r\n scrollingEnabled: formOptions.scrollingEnabled,\r\n showRequiredMark: formOptions.showRequiredMark,\r\n showOptionalMark: formOptions.showOptionalMark,\r\n requiredMark: formOptions.requiredMark,\r\n optionalMark: formOptions.optionalMark,\r\n requiredMessage: formOptions.requiredMessage,\r\n screenByWidth: formOptions.screenByWidth,\r\n layoutData: formOptions.formData,\r\n labelLocation: formOptions.labelLocation,\r\n customizeItem: formOptions.customizeItem,\r\n minColWidth: formOptions.minColWidth,\r\n showColonAfterLabel: formOptions.showColonAfterLabel,\r\n onEditorEnterKey: formOptions.onEditorEnterKey,\r\n labelMode: formOptions.labelMode\r\n };\r\n var result = extend(baseOptions, {\r\n isRoot: extendedLayoutManagerOptions.isRoot,\r\n colCount: extendedLayoutManagerOptions.colCount,\r\n alignItemLabels: extendedLayoutManagerOptions.alignItemLabels,\r\n cssItemClass: extendedLayoutManagerOptions.cssItemClass,\r\n colCountByScreen: extendedLayoutManagerOptions.colCountByScreen,\r\n onLayoutChanged: extendedLayoutManagerOptions.onLayoutChanged,\r\n width: extendedLayoutManagerOptions.width\r\n });\r\n return result\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/form/ui.form.item_options_actions.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport ItemOptionAction from \"./ui.form.item_option_action\";\r\nimport {\r\n data\r\n} from \"../../core/element_data\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n getFullOptionName\r\n} from \"./ui.form.utils\";\r\nclass WidgetOptionItemOptionAction extends ItemOptionAction {\r\n tryExecute() {\r\n var {\r\n value: value\r\n } = this._options;\r\n var instance = this.findInstance();\r\n if (instance) {\r\n instance.option(value);\r\n return true\r\n }\r\n return false\r\n }\r\n}\r\nclass TabOptionItemOptionAction extends ItemOptionAction {\r\n tryExecute() {\r\n var tabPanel = this.findInstance();\r\n if (tabPanel) {\r\n var {\r\n optionName: optionName,\r\n item: item,\r\n value: value\r\n } = this._options;\r\n var itemIndex = this._itemsRunTimeInfo.findItemIndexByItem(item);\r\n if (itemIndex >= 0) {\r\n tabPanel.option(getFullOptionName(\"items[\".concat(itemIndex, \"]\"), optionName), value);\r\n return true\r\n }\r\n }\r\n return false\r\n }\r\n}\r\nclass SimpleItemTemplateChangedAction extends ItemOptionAction {\r\n tryExecute() {\r\n return false\r\n }\r\n}\r\nclass GroupItemTemplateChangedAction extends ItemOptionAction {\r\n tryExecute() {\r\n var preparedItem = this.findPreparedItem();\r\n if (null != preparedItem && preparedItem._prepareGroupItemTemplate && preparedItem._renderGroupContentTemplate) {\r\n preparedItem._prepareGroupItemTemplate(this._options.item.template);\r\n preparedItem._renderGroupContentTemplate();\r\n return true\r\n }\r\n return false\r\n }\r\n}\r\nclass TabsOptionItemOptionAction extends ItemOptionAction {\r\n tryExecute() {\r\n var tabPanel = this.findInstance();\r\n if (tabPanel) {\r\n var {\r\n value: value\r\n } = this._options;\r\n tabPanel.option(\"dataSource\", value);\r\n return true\r\n }\r\n return false\r\n }\r\n}\r\nclass ValidationRulesItemOptionAction extends ItemOptionAction {\r\n tryExecute() {\r\n var {\r\n item: item\r\n } = this._options;\r\n var instance = this.findInstance();\r\n var validator = instance && data(instance.$element()[0], \"dxValidator\");\r\n if (validator && item) {\r\n var filterRequired = item => \"required\" === item.type;\r\n var oldContainsRequired = (validator.option(\"validationRules\") || []).some(filterRequired);\r\n var newContainsRequired = (item.validationRules || []).some(filterRequired);\r\n if (!oldContainsRequired && !newContainsRequired || oldContainsRequired && newContainsRequired) {\r\n validator.option(\"validationRules\", item.validationRules);\r\n return true\r\n }\r\n }\r\n return false\r\n }\r\n}\r\nclass CssClassItemOptionAction extends ItemOptionAction {\r\n tryExecute() {\r\n var $itemContainer = this.findItemContainer();\r\n var {\r\n previousValue: previousValue,\r\n value: value\r\n } = this._options;\r\n if ($itemContainer) {\r\n $itemContainer.removeClass(previousValue).addClass(value);\r\n return true\r\n }\r\n return false\r\n }\r\n}\r\nvar tryCreateItemOptionAction = (optionName, itemActionOptions) => {\r\n switch (optionName) {\r\n case \"editorOptions\":\r\n case \"buttonOptions\":\r\n return new WidgetOptionItemOptionAction(itemActionOptions);\r\n case \"validationRules\":\r\n return new ValidationRulesItemOptionAction(itemActionOptions);\r\n case \"cssClass\":\r\n return new CssClassItemOptionAction(itemActionOptions);\r\n case \"badge\":\r\n case \"disabled\":\r\n case \"icon\":\r\n case \"tabTemplate\":\r\n case \"title\":\r\n return new TabOptionItemOptionAction(extend(itemActionOptions, {\r\n optionName: optionName\r\n }));\r\n case \"tabs\":\r\n return new TabsOptionItemOptionAction(itemActionOptions);\r\n case \"template\":\r\n var _itemActionOptions$it, _itemActionOptions$it2, _itemActionOptions$it3;\r\n var itemType = null !== (_itemActionOptions$it = null === itemActionOptions || void 0 === itemActionOptions ? void 0 : null === (_itemActionOptions$it2 = itemActionOptions.item) || void 0 === _itemActionOptions$it2 ? void 0 : _itemActionOptions$it2.itemType) && void 0 !== _itemActionOptions$it ? _itemActionOptions$it : null === (_itemActionOptions$it3 = itemActionOptions.itemsRunTimeInfo.findPreparedItemByItem(null === itemActionOptions || void 0 === itemActionOptions ? void 0 : itemActionOptions.item)) || void 0 === _itemActionOptions$it3 ? void 0 : _itemActionOptions$it3.itemType;\r\n if (\"simple\" === itemType) {\r\n return new SimpleItemTemplateChangedAction(itemActionOptions)\r\n } else if (\"group\" === itemType) {\r\n return new GroupItemTemplateChangedAction(itemActionOptions)\r\n }\r\n return new TabOptionItemOptionAction(extend(itemActionOptions, {\r\n optionName: optionName\r\n }));\r\n default:\r\n return null\r\n }\r\n};\r\nexport default tryCreateItemOptionAction;\r\n","/**\r\n * DevExtreme (esm/ui/form/constants.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var WIDGET_CLASS = \"dx-widget\";\r\nexport var FORM_CLASS = \"dx-form\";\r\nexport var FORM_GROUP_CLASS = \"dx-form-group\";\r\nexport var FORM_GROUP_CAPTION_CLASS = \"dx-form-group-caption\";\r\nexport var FORM_FIELD_ITEM_COL_CLASS = \"dx-col-\";\r\nexport var FIELD_ITEM_CLASS = \"dx-field-item\";\r\nexport var LAYOUT_MANAGER_ONE_COLUMN = \"dx-layout-manager-one-col\";\r\nexport var FIELD_ITEM_LABEL_CONTENT_CLASS = \"dx-field-item-label-content\";\r\nexport var FORM_LAYOUT_MANAGER_CLASS = \"dx-layout-manager\";\r\nexport var FIELD_ITEM_LABEL_CLASS = \"dx-field-item-label\";\r\nexport var FIELD_ITEM_CONTENT_CLASS = \"dx-field-item-content\";\r\nexport var SINGLE_COLUMN_ITEM_CONTENT = \"dx-single-column-item-content\";\r\nexport var ROOT_SIMPLE_ITEM_CLASS = \"dx-root-simple-item\";\r\nexport var FORM_GROUP_CONTENT_CLASS = \"dx-form-group-content\";\r\nexport var FIELD_ITEM_CONTENT_HAS_GROUP_CLASS = \"dx-field-item-has-group\";\r\nexport var FIELD_ITEM_CONTENT_HAS_TABS_CLASS = \"dx-field-item-has-tabs\";\r\nexport var FORM_GROUP_WITH_CAPTION_CLASS = \"dx-form-group-with-caption\";\r\nexport var FIELD_ITEM_TAB_CLASS = \"dx-field-item-tab\";\r\nexport var GROUP_COL_COUNT_CLASS = \"dx-group-colcount-\";\r\nexport var GROUP_COL_COUNT_ATTR = \"group-col-count\";\r\nexport var FORM_VALIDATION_SUMMARY = \"dx-form-validation-summary\";\r\nexport var FORM_UNDERLINED_CLASS = \"dx-form-styling-mode-underlined\";\r\nexport var SIMPLE_ITEM_TYPE = \"simple\";\r\n","/**\r\n * DevExtreme (esm/ui/form/ui.form.layout_manager.utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n captionize\r\n} from \"../../core/utils/inflector\";\r\nimport Guid from \"../../core/guid\";\r\nimport {\r\n SIMPLE_ITEM_TYPE\r\n} from \"./constants\";\r\nvar EDITORS_WITH_ARRAY_VALUE = [\"dxTagBox\", \"dxRangeSlider\"];\r\nexport var EDITORS_WITHOUT_LABELS = [\"dxCalendar\", \"dxCheckBox\", \"dxHtmlEditor\", \"dxRadioGroup\", \"dxRangeSlider\", \"dxSlider\", \"dxSwitch\"];\r\nexport function convertToRenderFieldItemOptions(_ref) {\r\n var {\r\n $parent: $parent,\r\n rootElementCssClassList: rootElementCssClassList,\r\n formOrLayoutManager: formOrLayoutManager,\r\n createComponentCallback: createComponentCallback,\r\n item: item,\r\n template: template,\r\n labelTemplate: labelTemplate,\r\n name: name,\r\n formLabelLocation: formLabelLocation,\r\n requiredMessageTemplate: requiredMessageTemplate,\r\n validationGroup: validationGroup,\r\n editorValue: editorValue,\r\n canAssignUndefinedValueToEditor: canAssignUndefinedValueToEditor,\r\n editorValidationBoundary: editorValidationBoundary,\r\n editorStylingMode: editorStylingMode,\r\n showColonAfterLabel: showColonAfterLabel,\r\n managerLabelLocation: managerLabelLocation,\r\n itemId: itemId,\r\n managerMarkOptions: managerMarkOptions,\r\n labelMode: labelMode,\r\n onLabelTemplateRendered: onLabelTemplateRendered\r\n } = _ref;\r\n var isRequired = isDefined(item.isRequired) ? item.isRequired : !!_hasRequiredRuleInSet(item.validationRules);\r\n var isSimpleItem = item.itemType === SIMPLE_ITEM_TYPE;\r\n var helpID = item.helpText ? \"dx-\" + new Guid : null;\r\n var labelOptions = _convertToLabelOptions({\r\n item: item,\r\n id: itemId,\r\n isRequired: isRequired,\r\n managerMarkOptions: managerMarkOptions,\r\n showColonAfterLabel: showColonAfterLabel,\r\n labelLocation: managerLabelLocation,\r\n formLabelMode: labelMode,\r\n labelTemplate: labelTemplate,\r\n onLabelTemplateRendered: onLabelTemplateRendered\r\n });\r\n var needRenderLabel = labelOptions.visible && (labelOptions.text || labelOptions.labelTemplate && isSimpleItem);\r\n var {\r\n location: labelLocation,\r\n labelID: labelID\r\n } = labelOptions;\r\n var labelNeedBaselineAlign = \"top\" !== labelLocation && [\"dxTextArea\", \"dxRadioGroup\", \"dxCalendar\", \"dxHtmlEditor\"].includes(item.editorType);\r\n var editorOptions = _convertToEditorOptions({\r\n editorType: item.editorType,\r\n editorValue: editorValue,\r\n defaultEditorName: item.dataField,\r\n canAssignUndefinedValueToEditor: canAssignUndefinedValueToEditor,\r\n externalEditorOptions: item.editorOptions,\r\n editorInputId: itemId,\r\n editorValidationBoundary: editorValidationBoundary,\r\n editorStylingMode: editorStylingMode,\r\n formLabelMode: labelMode,\r\n labelText: labelOptions.textWithoutColon,\r\n labelMark: labelOptions.markOptions.showRequiredMark ? String.fromCharCode(160) + labelOptions.markOptions.requiredMark : \"\"\r\n });\r\n var needRenderOptionalMarkAsHelpText = labelOptions.markOptions.showOptionalMark && !labelOptions.visible && \"hidden\" !== editorOptions.labelMode && !isDefined(item.helpText);\r\n var helpText = needRenderOptionalMarkAsHelpText ? labelOptions.markOptions.optionalMark : item.helpText;\r\n return {\r\n $parent: $parent,\r\n rootElementCssClassList: rootElementCssClassList,\r\n formOrLayoutManager: formOrLayoutManager,\r\n createComponentCallback: createComponentCallback,\r\n labelOptions: labelOptions,\r\n labelNeedBaselineAlign: labelNeedBaselineAlign,\r\n labelLocation: labelLocation,\r\n needRenderLabel: needRenderLabel,\r\n item: item,\r\n isSimpleItem: isSimpleItem,\r\n isRequired: isRequired,\r\n template: template,\r\n helpID: helpID,\r\n labelID: labelID,\r\n name: name,\r\n helpText: helpText,\r\n formLabelLocation: formLabelLocation,\r\n requiredMessageTemplate: requiredMessageTemplate,\r\n validationGroup: validationGroup,\r\n editorOptions: editorOptions\r\n }\r\n}\r\nexport function getLabelMarkText(_ref2) {\r\n var {\r\n showRequiredMark: showRequiredMark,\r\n requiredMark: requiredMark,\r\n showOptionalMark: showOptionalMark,\r\n optionalMark: optionalMark\r\n } = _ref2;\r\n if (!showRequiredMark && !showOptionalMark) {\r\n return \"\"\r\n }\r\n return String.fromCharCode(160) + (showRequiredMark ? requiredMark : optionalMark)\r\n}\r\nexport function convertToLabelMarkOptions(_ref3, isRequired) {\r\n var {\r\n showRequiredMark: showRequiredMark,\r\n requiredMark: requiredMark,\r\n showOptionalMark: showOptionalMark,\r\n optionalMark: optionalMark\r\n } = _ref3;\r\n return {\r\n showRequiredMark: showRequiredMark && isRequired,\r\n requiredMark: requiredMark,\r\n showOptionalMark: showOptionalMark && !isRequired,\r\n optionalMark: optionalMark\r\n }\r\n}\r\n\r\nfunction _convertToEditorOptions(_ref4) {\r\n var {\r\n editorType: editorType,\r\n defaultEditorName: defaultEditorName,\r\n editorValue: editorValue,\r\n canAssignUndefinedValueToEditor: canAssignUndefinedValueToEditor,\r\n externalEditorOptions: externalEditorOptions,\r\n editorInputId: editorInputId,\r\n editorValidationBoundary: editorValidationBoundary,\r\n editorStylingMode: editorStylingMode,\r\n formLabelMode: formLabelMode,\r\n labelText: labelText,\r\n labelMark: labelMark\r\n } = _ref4;\r\n var editorOptionsWithValue = {};\r\n if (void 0 !== editorValue || canAssignUndefinedValueToEditor) {\r\n editorOptionsWithValue.value = editorValue\r\n }\r\n if (-1 !== EDITORS_WITH_ARRAY_VALUE.indexOf(editorType)) {\r\n editorOptionsWithValue.value = editorOptionsWithValue.value || []\r\n }\r\n var labelMode = null === externalEditorOptions || void 0 === externalEditorOptions ? void 0 : externalEditorOptions.labelMode;\r\n if (!isDefined(labelMode)) {\r\n labelMode = \"outside\" === formLabelMode ? \"hidden\" : formLabelMode\r\n }\r\n var stylingMode = (null === externalEditorOptions || void 0 === externalEditorOptions ? void 0 : externalEditorOptions.stylingMode) || editorStylingMode;\r\n var result = extend(true, editorOptionsWithValue, externalEditorOptions, {\r\n inputAttr: {\r\n id: editorInputId\r\n },\r\n validationBoundary: editorValidationBoundary,\r\n stylingMode: stylingMode,\r\n label: labelText,\r\n labelMode: labelMode,\r\n labelMark: labelMark\r\n });\r\n if (externalEditorOptions) {\r\n if (result.dataSource) {\r\n result.dataSource = externalEditorOptions.dataSource\r\n }\r\n if (result.items) {\r\n result.items = externalEditorOptions.items\r\n }\r\n }\r\n if (defaultEditorName && !result.name) {\r\n result.name = defaultEditorName\r\n }\r\n return result\r\n}\r\n\r\nfunction _hasRequiredRuleInSet(rules) {\r\n var hasRequiredRule;\r\n if (rules && rules.length) {\r\n each(rules, (function(index, rule) {\r\n if (\"required\" === rule.type) {\r\n hasRequiredRule = true;\r\n return false\r\n }\r\n }))\r\n }\r\n return hasRequiredRule\r\n}\r\n\r\nfunction _convertToLabelOptions(_ref5) {\r\n var {\r\n item: item,\r\n id: id,\r\n isRequired: isRequired,\r\n managerMarkOptions: managerMarkOptions,\r\n showColonAfterLabel: showColonAfterLabel,\r\n labelLocation: labelLocation,\r\n labelTemplate: labelTemplate,\r\n formLabelMode: formLabelMode,\r\n onLabelTemplateRendered: onLabelTemplateRendered\r\n } = _ref5;\r\n var isEditorWithoutLabels = EDITORS_WITHOUT_LABELS.includes(item.editorType);\r\n var labelOptions = extend({\r\n showColon: showColonAfterLabel,\r\n location: labelLocation,\r\n id: id,\r\n visible: \"outside\" === formLabelMode || isEditorWithoutLabels && \"hidden\" !== formLabelMode,\r\n isRequired: isRequired\r\n }, item ? item.label : {}, {\r\n markOptions: convertToLabelMarkOptions(managerMarkOptions, isRequired),\r\n labelTemplate: labelTemplate,\r\n onLabelTemplateRendered: onLabelTemplateRendered\r\n });\r\n if ([\"dxRadioGroup\", \"dxCheckBox\", \"dxLookup\", \"dxSlider\", \"dxRangeSlider\", \"dxSwitch\", \"dxHtmlEditor\"].includes(item.editorType)) {\r\n labelOptions.labelID = \"dx-label-\".concat(new Guid)\r\n }\r\n if (!labelOptions.text && item.dataField) {\r\n labelOptions.text = captionize(item.dataField)\r\n }\r\n if (labelOptions.text) {\r\n labelOptions.textWithoutColon = labelOptions.text;\r\n labelOptions.text += labelOptions.showColon ? \":\" : \"\"\r\n }\r\n return labelOptions\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/form/components/label.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n getPublicElement\r\n} from \"../../../core/element\";\r\nimport {\r\n getLabelMarkText\r\n} from \"../ui.form.layout_manager.utils\";\r\nimport {\r\n FIELD_ITEM_LABEL_CONTENT_CLASS,\r\n FIELD_ITEM_LABEL_CLASS\r\n} from \"../constants\";\r\nexport var GET_LABEL_WIDTH_BY_TEXT_CLASS = \"dx-layout-manager-hidden-label\";\r\nexport var FIELD_ITEM_REQUIRED_MARK_CLASS = \"dx-field-item-required-mark\";\r\nexport var FIELD_ITEM_LABEL_LOCATION_CLASS = \"dx-field-item-label-location-\";\r\nexport var FIELD_ITEM_OPTIONAL_MARK_CLASS = \"dx-field-item-optional-mark\";\r\nexport var FIELD_ITEM_LABEL_TEXT_CLASS = \"dx-field-item-label-text\";\r\nexport function renderLabel(_ref) {\r\n var {\r\n text: text,\r\n id: id,\r\n location: location,\r\n alignment: alignment,\r\n labelID: labelID = null,\r\n markOptions: markOptions = {},\r\n labelTemplate: labelTemplate,\r\n labelTemplateData: labelTemplateData,\r\n onLabelTemplateRendered: onLabelTemplateRendered\r\n } = _ref;\r\n if ((!isDefined(text) || text.length <= 0) && !isDefined(labelTemplate)) {\r\n return null\r\n }\r\n var $label = $(\"<label>\").addClass(FIELD_ITEM_LABEL_CLASS + \" \" + FIELD_ITEM_LABEL_LOCATION_CLASS + location).attr(\"for\", id).attr(\"id\", labelID).css(\"textAlign\", alignment);\r\n var $labelContainer = $(\"<span>\").addClass(FIELD_ITEM_LABEL_CONTENT_CLASS);\r\n var $labelContent = $(\"<span>\").addClass(FIELD_ITEM_LABEL_TEXT_CLASS).text(text);\r\n if (labelTemplate) {\r\n $labelContent = $(\"<div>\").addClass(\"dx-field-item-custom-label-content\");\r\n labelTemplateData.text = text;\r\n labelTemplate.render({\r\n container: getPublicElement($labelContent),\r\n model: labelTemplateData,\r\n onRendered() {\r\n null === onLabelTemplateRendered || void 0 === onLabelTemplateRendered ? void 0 : onLabelTemplateRendered()\r\n }\r\n })\r\n }\r\n return $label.append($labelContainer.append($labelContent, _renderLabelMark(markOptions)))\r\n}\r\n\r\nfunction _renderLabelMark(markOptions) {\r\n var markText = getLabelMarkText(markOptions);\r\n if (\"\" === markText) {\r\n return null\r\n }\r\n return $(\"<span>\").addClass(markOptions.showRequiredMark ? FIELD_ITEM_REQUIRED_MARK_CLASS : FIELD_ITEM_OPTIONAL_MARK_CLASS).text(markText)\r\n}\r\nexport function setLabelWidthByMaxLabelWidth($targetContainer, labelsSelector, labelMarkOptions) {\r\n var FIELD_ITEM_LABEL_CONTENT_CLASS_Selector = \"\".concat(labelsSelector, \" > .\").concat(FIELD_ITEM_LABEL_CLASS, \":not(.\").concat(FIELD_ITEM_LABEL_LOCATION_CLASS, \"top) > .\").concat(FIELD_ITEM_LABEL_CONTENT_CLASS);\r\n var $FIELD_ITEM_LABEL_CONTENT_CLASS_Items = $targetContainer.find(FIELD_ITEM_LABEL_CONTENT_CLASS_Selector);\r\n var FIELD_ITEM_LABEL_CONTENT_CLASS_Length = $FIELD_ITEM_LABEL_CONTENT_CLASS_Items.length;\r\n var labelWidth;\r\n var i;\r\n var maxWidth = 0;\r\n for (i = 0; i < FIELD_ITEM_LABEL_CONTENT_CLASS_Length; i++) {\r\n labelWidth = getLabelWidthByHTML($FIELD_ITEM_LABEL_CONTENT_CLASS_Items[i]);\r\n if (labelWidth > maxWidth) {\r\n maxWidth = labelWidth\r\n }\r\n }\r\n for (i = 0; i < FIELD_ITEM_LABEL_CONTENT_CLASS_Length; i++) {\r\n $FIELD_ITEM_LABEL_CONTENT_CLASS_Items[i].style.width = maxWidth + \"px\"\r\n }\r\n}\r\n\r\nfunction getLabelWidthByHTML(labelContent) {\r\n var result = 0;\r\n var itemsCount = labelContent.children.length;\r\n for (var i = 0; i < itemsCount; i++) {\r\n var child = labelContent.children[i];\r\n result += child.offsetWidth\r\n }\r\n return result\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/form/components/field_item.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../events/click\";\r\nimport {\r\n getPublicElement\r\n} from \"../../../core/element\";\r\nimport {\r\n captionize\r\n} from \"../../../core/utils/inflector\";\r\nimport {\r\n format\r\n} from \"../../../core/utils/string\";\r\nimport {\r\n isMaterial\r\n} from \"../../themes\";\r\nimport errors from \"../../widget/ui.errors\";\r\nimport Validator from \"../../validator\";\r\nimport {\r\n FIELD_ITEM_CONTENT_CLASS\r\n} from \"../constants\";\r\nexport var FLEX_LAYOUT_CLASS = \"dx-flex-layout\";\r\nexport var FIELD_ITEM_OPTIONAL_CLASS = \"dx-field-item-optional\";\r\nexport var FIELD_ITEM_REQUIRED_CLASS = \"dx-field-item-required\";\r\nexport var FIELD_ITEM_CONTENT_WRAPPER_CLASS = \"dx-field-item-content-wrapper\";\r\nexport var FIELD_ITEM_CONTENT_LOCATION_CLASS = \"dx-field-item-content-location-\";\r\nexport var FIELD_ITEM_LABEL_ALIGN_CLASS = \"dx-field-item-label-align\";\r\nexport var FIELD_ITEM_HELP_TEXT_CLASS = \"dx-field-item-help-text\";\r\nexport var LABEL_VERTICAL_ALIGNMENT_CLASS = \"dx-label-v-align\";\r\nexport var LABEL_HORIZONTAL_ALIGNMENT_CLASS = \"dx-label-h-align\";\r\nexport var TOGGLE_CONTROLS_PADDING_CLASS = \"dx-toggle-controls-paddings\";\r\nimport {\r\n renderLabel\r\n} from \"./label\";\r\nvar TEMPLATE_WRAPPER_CLASS = \"dx-template-wrapper\";\r\nvar VALIDATION_TARGET_CLASS = \"dx-validation-target\";\r\nvar INVALID_CLASS = \"dx-invalid\";\r\nexport function renderFieldItem(_ref) {\r\n var {\r\n $parent: $parent,\r\n rootElementCssClassList: rootElementCssClassList,\r\n formOrLayoutManager: formOrLayoutManager,\r\n createComponentCallback: createComponentCallback,\r\n labelOptions: labelOptions,\r\n labelNeedBaselineAlign: labelNeedBaselineAlign,\r\n labelLocation: labelLocation,\r\n needRenderLabel: needRenderLabel,\r\n formLabelLocation: formLabelLocation,\r\n item: item,\r\n editorOptions: editorOptions,\r\n isSimpleItem: isSimpleItem,\r\n isRequired: isRequired,\r\n template: template,\r\n helpID: helpID,\r\n labelID: labelID,\r\n name: name,\r\n helpText: helpText,\r\n requiredMessageTemplate: requiredMessageTemplate,\r\n validationGroup: validationGroup\r\n } = _ref;\r\n var $rootElement = $(\"<div>\").addClass(rootElementCssClassList.join(\" \")).appendTo($parent);\r\n $rootElement.addClass(isRequired ? FIELD_ITEM_REQUIRED_CLASS : FIELD_ITEM_OPTIONAL_CLASS);\r\n if (isSimpleItem) {\r\n $rootElement.addClass(FLEX_LAYOUT_CLASS)\r\n }\r\n if (isSimpleItem && labelNeedBaselineAlign) {\r\n $rootElement.addClass(FIELD_ITEM_LABEL_ALIGN_CLASS)\r\n }\r\n var $fieldEditorContainer = $(\"<div>\");\r\n $fieldEditorContainer.data(\"dx-form-item\", item);\r\n $fieldEditorContainer.addClass(FIELD_ITEM_CONTENT_CLASS).addClass(FIELD_ITEM_CONTENT_LOCATION_CLASS + {\r\n right: \"left\",\r\n left: \"right\",\r\n top: \"bottom\"\r\n } [formLabelLocation]);\r\n var $label = null;\r\n if (needRenderLabel) {\r\n if (labelOptions.labelTemplate) {\r\n labelOptions.labelTemplateData = getTemplateData(item, editorOptions, formOrLayoutManager)\r\n }\r\n $label = renderLabel(labelOptions)\r\n }\r\n if ($label) {\r\n var {\r\n editorType: editorType\r\n } = item;\r\n $rootElement.append($label);\r\n if (\"top\" === labelLocation || \"left\" === labelLocation) {\r\n $rootElement.append($fieldEditorContainer)\r\n }\r\n if (\"right\" === labelLocation) {\r\n $rootElement.prepend($fieldEditorContainer)\r\n }\r\n if (\"top\" === labelLocation) {\r\n $rootElement.addClass(LABEL_VERTICAL_ALIGNMENT_CLASS)\r\n } else {\r\n $rootElement.addClass(LABEL_HORIZONTAL_ALIGNMENT_CLASS)\r\n }\r\n if (\"dxCheckBox\" === editorType || \"dxSwitch\" === editorType) {\r\n eventsEngine.on($label, clickEventName, (function() {\r\n eventsEngine.trigger($fieldEditorContainer.children(), clickEventName)\r\n }))\r\n }\r\n var isToggleControls = [\"dxCheckBox\", \"dxSwitch\", \"dxRadioGroup\"].includes(editorType);\r\n var labelAlignment = labelOptions.alignment;\r\n var isLabelAlignmentLeft = \"left\" === labelAlignment || !labelAlignment;\r\n var hasNotTemplate = !template;\r\n var isLabelOnTop = \"top\" === labelLocation;\r\n if (hasNotTemplate && isToggleControls && isLabelOnTop && isLabelAlignmentLeft) {\r\n $fieldEditorContainer.addClass(TOGGLE_CONTROLS_PADDING_CLASS)\r\n }\r\n } else {\r\n $rootElement.append($fieldEditorContainer)\r\n }\r\n var widgetInstance;\r\n if (template) {\r\n template.render({\r\n container: getPublicElement($fieldEditorContainer),\r\n model: getTemplateData(item, editorOptions, formOrLayoutManager),\r\n onRendered() {\r\n var $validationTarget = getValidationTarget($fieldEditorContainer);\r\n var validationTargetInstance = tryGetValidationTargetInstance($validationTarget);\r\n subscribeWrapperInvalidClassToggle(validationTargetInstance)\r\n }\r\n })\r\n } else {\r\n var $div = $(\"<div>\").appendTo($fieldEditorContainer);\r\n try {\r\n widgetInstance = createComponentCallback($div, item.editorType, editorOptions);\r\n widgetInstance.setAria(\"describedby\", helpID);\r\n if (labelID) {\r\n widgetInstance.setAria(\"labelledby\", labelID)\r\n }\r\n widgetInstance.setAria(\"required\", isRequired)\r\n } catch (e) {\r\n errors.log(\"E1035\", e.message)\r\n }\r\n }\r\n var $validationTarget = getValidationTarget($fieldEditorContainer);\r\n var validationTargetInstance = $validationTarget && $validationTarget.data(VALIDATION_TARGET_CLASS);\r\n if (validationTargetInstance) {\r\n var isItemHaveCustomLabel = item.label && item.label.text;\r\n var itemName = isItemHaveCustomLabel ? null : name;\r\n var fieldName = isItemHaveCustomLabel ? item.label.text : itemName && captionize(itemName);\r\n var validationRules;\r\n if (isSimpleItem) {\r\n if (item.validationRules) {\r\n validationRules = item.validationRules\r\n } else {\r\n var requiredMessage = format(requiredMessageTemplate, fieldName || \"\");\r\n validationRules = item.isRequired ? [{\r\n type: \"required\",\r\n message: requiredMessage\r\n }] : null\r\n }\r\n }\r\n if (Array.isArray(validationRules) && validationRules.length) {\r\n createComponentCallback($validationTarget, Validator, {\r\n validationRules: validationRules,\r\n validationGroup: validationGroup,\r\n dataGetter: function() {\r\n return {\r\n formItem: item\r\n }\r\n }\r\n })\r\n }\r\n subscribeWrapperInvalidClassToggle(validationTargetInstance)\r\n }\r\n if (helpText && isSimpleItem) {\r\n var $editorParent = $fieldEditorContainer.parent();\r\n $editorParent.append($(\"<div>\").addClass(FIELD_ITEM_CONTENT_WRAPPER_CLASS).append($fieldEditorContainer).append($(\"<div>\").addClass(FIELD_ITEM_HELP_TEXT_CLASS).attr(\"id\", helpID).text(helpText)))\r\n }\r\n return {\r\n $fieldEditorContainer: $fieldEditorContainer,\r\n $rootElement: $rootElement,\r\n widgetInstance: widgetInstance\r\n }\r\n}\r\n\r\nfunction getValidationTarget($fieldEditorContainer) {\r\n var $editor = $fieldEditorContainer.children().first();\r\n return $editor.hasClass(TEMPLATE_WRAPPER_CLASS) ? $editor.children().first() : $editor\r\n}\r\n\r\nfunction tryGetValidationTargetInstance($validationTarget) {\r\n var _$validationTarget$pa, _$validationTarget$pa2;\r\n return (null === $validationTarget || void 0 === $validationTarget ? void 0 : $validationTarget.data(VALIDATION_TARGET_CLASS)) || (null === $validationTarget || void 0 === $validationTarget ? void 0 : null === (_$validationTarget$pa = $validationTarget.parent) || void 0 === _$validationTarget$pa ? void 0 : null === (_$validationTarget$pa2 = _$validationTarget$pa.call($validationTarget)) || void 0 === _$validationTarget$pa2 ? void 0 : _$validationTarget$pa2.data(VALIDATION_TARGET_CLASS))\r\n}\r\n\r\nfunction subscribeWrapperInvalidClassToggle(validationTargetInstance) {\r\n if (validationTargetInstance && isMaterial()) {\r\n var wrapperClass = \".\".concat(FIELD_ITEM_CONTENT_WRAPPER_CLASS);\r\n var toggleInvalidClass = _ref2 => {\r\n var {\r\n element: element,\r\n component: component\r\n } = _ref2;\r\n var {\r\n isValid: isValid,\r\n validationMessageMode: validationMessageMode\r\n } = component.option();\r\n $(element).parents(wrapperClass).toggleClass(INVALID_CLASS, false === isValid && (component._isFocused() || \"always\" === validationMessageMode))\r\n };\r\n validationTargetInstance.on(\"optionChanged\", e => {\r\n if (\"isValid\" !== e.name) {\r\n return\r\n }\r\n toggleInvalidClass(e)\r\n });\r\n validationTargetInstance.on(\"focusIn\", toggleInvalidClass).on(\"focusOut\", toggleInvalidClass).on(\"enterKey\", toggleInvalidClass)\r\n }\r\n}\r\n\r\nfunction getTemplateData(item, editorOptions, formOrLayoutManager) {\r\n return {\r\n dataField: item.dataField,\r\n editorType: item.editorType,\r\n editorOptions: editorOptions,\r\n component: formOrLayoutManager,\r\n name: item.name\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/form/components/button_item.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nvar FIELD_BUTTON_ITEM_CLASS = \"dx-field-button-item\";\r\nexport function renderButtonItem(_ref) {\r\n var {\r\n item: item,\r\n $parent: $parent,\r\n rootElementCssClassList: rootElementCssClassList,\r\n validationGroup: validationGroup,\r\n createComponentCallback: createComponentCallback\r\n } = _ref;\r\n var $rootElement = $(\"<div>\").appendTo($parent).addClass(rootElementCssClassList.join(\" \")).addClass(FIELD_BUTTON_ITEM_CLASS).css(\"textAlign\", convertAlignmentToTextAlign(item.horizontalAlignment));\r\n $parent.css(\"justifyContent\", convertAlignmentToJustifyContent(item.verticalAlignment));\r\n var $button = $(\"<div>\").appendTo($rootElement);\r\n return {\r\n $rootElement: $rootElement,\r\n buttonInstance: createComponentCallback($button, \"dxButton\", extend({\r\n validationGroup: validationGroup\r\n }, item.buttonOptions))\r\n }\r\n}\r\n\r\nfunction convertAlignmentToTextAlign(horizontalAlignment) {\r\n return isDefined(horizontalAlignment) ? horizontalAlignment : \"right\"\r\n}\r\n\r\nfunction convertAlignmentToJustifyContent(verticalAlignment) {\r\n switch (verticalAlignment) {\r\n case \"center\":\r\n return \"center\";\r\n case \"bottom\":\r\n return \"flex-end\";\r\n default:\r\n return \"flex-start\"\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/form/components/empty_item.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nexport var FIELD_EMPTY_ITEM_CLASS = \"dx-field-empty-item\";\r\nexport function renderEmptyItem(_ref) {\r\n var {\r\n $parent: $parent,\r\n rootElementCssClassList: rootElementCssClassList\r\n } = _ref;\r\n return $(\"<div>\").addClass(FIELD_EMPTY_ITEM_CLASS).html(\" \").addClass(rootElementCssClassList.join(\" \")).appendTo($parent)\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/form/ui.form.layout_manager.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n default as FormItemsRunTimeInfo\r\n} from \"./ui.form.items_runtime_info\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n isDefined,\r\n isEmptyObject,\r\n isFunction,\r\n isObject,\r\n type\r\n} from \"../../core/utils/type\";\r\nimport variableWrapper from \"../../core/utils/variable_wrapper\";\r\nimport {\r\n getCurrentScreenFactor,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n normalizeIndexes\r\n} from \"../../core/utils/array\";\r\nimport {\r\n compileGetter\r\n} from \"../../core/utils/data\";\r\nimport {\r\n removeEvent\r\n} from \"../../events/remove\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport ResponsiveBox from \"../responsive_box\";\r\nimport {\r\n LAYOUT_MANAGER_ONE_COLUMN,\r\n FORM_LAYOUT_MANAGER_CLASS,\r\n SINGLE_COLUMN_ITEM_CONTENT,\r\n ROOT_SIMPLE_ITEM_CLASS,\r\n SIMPLE_ITEM_TYPE,\r\n FIELD_ITEM_CLASS\r\n} from \"./constants\";\r\nimport \"../text_box\";\r\nimport \"../number_box\";\r\nimport \"../check_box\";\r\nimport \"../date_box\";\r\nimport \"../button\";\r\nimport {\r\n renderFieldItem\r\n} from \"./components/field_item\";\r\nimport {\r\n renderButtonItem\r\n} from \"./components/button_item\";\r\nimport {\r\n renderEmptyItem\r\n} from \"./components/empty_item\";\r\nimport {\r\n convertToRenderFieldItemOptions\r\n} from \"./ui.form.layout_manager.utils\";\r\nvar FORM_EDITOR_BY_DEFAULT = \"dxTextBox\";\r\nvar LAYOUT_MANAGER_FIRST_ROW_CLASS = \"dx-first-row\";\r\nvar LAYOUT_MANAGER_LAST_ROW_CLASS = \"dx-last-row\";\r\nvar LAYOUT_MANAGER_FIRST_COL_CLASS = \"dx-first-col\";\r\nvar LAYOUT_MANAGER_LAST_COL_CLASS = \"dx-last-col\";\r\nvar LayoutManager = Widget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n layoutData: {},\r\n readOnly: false,\r\n colCount: 1,\r\n colCountByScreen: void 0,\r\n labelLocation: \"left\",\r\n onFieldDataChanged: null,\r\n onEditorEnterKey: null,\r\n customizeItem: null,\r\n alignItemLabels: true,\r\n minColWidth: 200,\r\n showRequiredMark: true,\r\n screenByWidth: null,\r\n showOptionalMark: false,\r\n requiredMark: \"*\",\r\n labelMode: \"outside\",\r\n optionalMark: messageLocalization.format(\"dxForm-optionalMark\"),\r\n requiredMessage: messageLocalization.getFormatter(\"dxForm-requiredMessage\")\r\n })\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n layoutData: true,\r\n validationGroup: true\r\n })\r\n },\r\n _init: function() {\r\n var layoutData = this.option(\"layoutData\");\r\n this.callBase();\r\n this._itemWatchers = [];\r\n this._itemsRunTimeInfo = new FormItemsRunTimeInfo;\r\n this._updateReferencedOptions(layoutData);\r\n this._initDataAndItems(layoutData)\r\n },\r\n _dispose: function() {\r\n this.callBase();\r\n this._cleanItemWatchers()\r\n },\r\n _initDataAndItems: function(initialData) {\r\n this._syncDataWithItems();\r\n this._updateItems(initialData)\r\n },\r\n _syncDataWithItems: function() {\r\n var layoutData = this.option(\"layoutData\");\r\n var userItems = this.option(\"items\");\r\n if (isDefined(userItems)) {\r\n userItems.forEach(item => {\r\n if (item.dataField && void 0 === this._getDataByField(item.dataField)) {\r\n var value;\r\n if (item.editorOptions) {\r\n value = item.editorOptions.value\r\n }\r\n if (isDefined(value) || item.dataField in layoutData) {\r\n this._updateFieldValue(item.dataField, value)\r\n }\r\n }\r\n })\r\n }\r\n },\r\n _getDataByField: function(dataField) {\r\n return dataField ? this.option(\"layoutData.\" + dataField) : null\r\n },\r\n _isCheckboxUndefinedStateEnabled: function(_ref) {\r\n var {\r\n allowIndeterminateState: allowIndeterminateState,\r\n editorType: editorType,\r\n dataField: dataField\r\n } = _ref;\r\n if (true === allowIndeterminateState && \"dxCheckBox\" === editorType) {\r\n var nameParts = [\"layoutData\", ...dataField.split(\".\")];\r\n var propertyName = nameParts.pop();\r\n var layoutData = this.option(nameParts.join(\".\"));\r\n return layoutData && propertyName in layoutData\r\n }\r\n return false\r\n },\r\n _updateFieldValue: function(dataField, value) {\r\n var layoutData = this.option(\"layoutData\");\r\n var newValue = value;\r\n if (!variableWrapper.isWrapped(layoutData[dataField]) && isDefined(dataField)) {\r\n this.option(\"layoutData.\" + dataField, newValue)\r\n } else if (variableWrapper.isWritableWrapped(layoutData[dataField])) {\r\n newValue = isFunction(newValue) ? newValue() : newValue;\r\n layoutData[dataField](newValue)\r\n }\r\n this._triggerOnFieldDataChanged({\r\n dataField: dataField,\r\n value: newValue\r\n })\r\n },\r\n _triggerOnFieldDataChanged: function(args) {\r\n this._createActionByOption(\"onFieldDataChanged\")(args)\r\n },\r\n _updateItems: function(layoutData) {\r\n var that = this;\r\n var userItems = this.option(\"items\");\r\n var isUserItemsExist = isDefined(userItems);\r\n var customizeItem = that.option(\"customizeItem\");\r\n var items = isUserItemsExist ? userItems : this._generateItemsByData(layoutData);\r\n if (isDefined(items)) {\r\n var processedItems = [];\r\n each(items, (function(index, item) {\r\n if (that._isAcceptableItem(item)) {\r\n item = that._processItem(item);\r\n customizeItem && customizeItem(item);\r\n if (isObject(item) && false !== variableWrapper.unwrap(item.visible)) {\r\n processedItems.push(item)\r\n }\r\n }\r\n }));\r\n if (!that._itemWatchers.length || !isUserItemsExist) {\r\n that._updateItemWatchers(items)\r\n }\r\n this._setItems(processedItems);\r\n this._sortItems()\r\n }\r\n },\r\n _cleanItemWatchers: function() {\r\n this._itemWatchers.forEach((function(dispose) {\r\n dispose()\r\n }));\r\n this._itemWatchers = []\r\n },\r\n _updateItemWatchers: function(items) {\r\n var that = this;\r\n var watch = that._getWatch();\r\n items.forEach((function(item) {\r\n if (isObject(item) && isDefined(item.visible) && isFunction(watch)) {\r\n that._itemWatchers.push(watch((function() {\r\n return variableWrapper.unwrap(item.visible)\r\n }), (function() {\r\n that._updateItems(that.option(\"layoutData\"));\r\n that.repaint()\r\n }), {\r\n skipImmediate: true\r\n }))\r\n }\r\n }))\r\n },\r\n _generateItemsByData: function(layoutData) {\r\n var result = [];\r\n if (isDefined(layoutData)) {\r\n each(layoutData, (function(dataField) {\r\n result.push({\r\n dataField: dataField\r\n })\r\n }))\r\n }\r\n return result\r\n },\r\n _isAcceptableItem: function(item) {\r\n var itemField = item.dataField || item;\r\n var itemData = this._getDataByField(itemField);\r\n return !(isFunction(itemData) && !variableWrapper.isWrapped(itemData))\r\n },\r\n _processItem: function(item) {\r\n if (\"string\" === typeof item) {\r\n item = {\r\n dataField: item\r\n }\r\n }\r\n if (\"object\" === typeof item && !item.itemType) {\r\n item.itemType = SIMPLE_ITEM_TYPE\r\n }\r\n if (!isDefined(item.editorType) && isDefined(item.dataField)) {\r\n var value = this._getDataByField(item.dataField);\r\n item.editorType = isDefined(value) ? this._getEditorTypeByDataType(type(value)) : FORM_EDITOR_BY_DEFAULT\r\n }\r\n if (\"dxCheckBox\" === item.editorType) {\r\n var _item$allowIndetermin;\r\n item.allowIndeterminateState = null !== (_item$allowIndetermin = item.allowIndeterminateState) && void 0 !== _item$allowIndetermin ? _item$allowIndetermin : true\r\n }\r\n return item\r\n },\r\n _getEditorTypeByDataType: function(dataType) {\r\n switch (dataType) {\r\n case \"number\":\r\n return \"dxNumberBox\";\r\n case \"date\":\r\n return \"dxDateBox\";\r\n case \"boolean\":\r\n return \"dxCheckBox\";\r\n default:\r\n return \"dxTextBox\"\r\n }\r\n },\r\n _sortItems: function() {\r\n normalizeIndexes(this._items, \"visibleIndex\");\r\n this._sortIndexes()\r\n },\r\n _sortIndexes: function() {\r\n this._items.sort((function(itemA, itemB) {\r\n var indexA = itemA.visibleIndex;\r\n var indexB = itemB.visibleIndex;\r\n var result;\r\n if (indexA > indexB) {\r\n result = 1\r\n } else if (indexA < indexB) {\r\n result = -1\r\n } else {\r\n result = 0\r\n }\r\n return result\r\n }))\r\n },\r\n _initMarkup: function() {\r\n this._itemsRunTimeInfo.clear();\r\n this.$element().addClass(FORM_LAYOUT_MANAGER_CLASS);\r\n this.callBase();\r\n this._renderResponsiveBox()\r\n },\r\n _renderResponsiveBox: function() {\r\n var templatesInfo = [];\r\n if (this._items && this._items.length) {\r\n var colCount = this._getColCount();\r\n var $container = $(\"<div>\").appendTo(this.$element());\r\n this._prepareItemsWithMerging(colCount);\r\n var layoutItems = this._generateLayoutItems();\r\n this._responsiveBox = this._createComponent($container, ResponsiveBox, this._getResponsiveBoxConfig(layoutItems, colCount, templatesInfo));\r\n if (!hasWindow()) {\r\n this._renderTemplates(templatesInfo)\r\n }\r\n }\r\n },\r\n _itemStateChangedHandler: function(e) {\r\n this._refresh()\r\n },\r\n _renderTemplates: function(templatesInfo) {\r\n var that = this;\r\n var itemsWithLabelTemplateCount = 0;\r\n templatesInfo.forEach(_ref2 => {\r\n var _item$label;\r\n var {\r\n item: item\r\n } = _ref2;\r\n if (null !== item && void 0 !== item && null !== (_item$label = item.label) && void 0 !== _item$label && _item$label.template) {\r\n itemsWithLabelTemplateCount++\r\n }\r\n });\r\n each(templatesInfo, (function(index, info) {\r\n switch (info.itemType) {\r\n case \"empty\":\r\n renderEmptyItem(info);\r\n break;\r\n case \"button\":\r\n that._renderButtonItem(info);\r\n break;\r\n default:\r\n that._renderFieldItem(info, itemsWithLabelTemplateCount)\r\n }\r\n }))\r\n },\r\n _getResponsiveBoxConfig: function(layoutItems, colCount, templatesInfo) {\r\n var that = this;\r\n var colCountByScreen = that.option(\"colCountByScreen\");\r\n var xsColCount = colCountByScreen && colCountByScreen.xs;\r\n return {\r\n onItemStateChanged: this._itemStateChangedHandler.bind(this),\r\n onLayoutChanged: function() {\r\n var onLayoutChanged = that.option(\"onLayoutChanged\");\r\n var isSingleColumnMode = that.isSingleColumnMode();\r\n if (onLayoutChanged) {\r\n that.$element().toggleClass(LAYOUT_MANAGER_ONE_COLUMN, isSingleColumnMode);\r\n onLayoutChanged(isSingleColumnMode)\r\n }\r\n },\r\n onContentReady: function(e) {\r\n if (hasWindow()) {\r\n that._renderTemplates(templatesInfo)\r\n }\r\n if (that.option(\"onLayoutChanged\")) {\r\n that.$element().toggleClass(LAYOUT_MANAGER_ONE_COLUMN, that.isSingleColumnMode(e.component))\r\n }\r\n },\r\n itemTemplate: function(e, itemData, itemElement) {\r\n if (!e.location) {\r\n return\r\n }\r\n var $itemElement = $(itemElement);\r\n var itemRenderedCountInPreviousRows = e.location.row * colCount;\r\n var item = that._items[e.location.col + itemRenderedCountInPreviousRows];\r\n if (!item) {\r\n return\r\n }\r\n var itemCssClassList = [item.cssClass];\r\n $itemElement.toggleClass(SINGLE_COLUMN_ITEM_CONTENT, that.isSingleColumnMode(this));\r\n if (0 === e.location.row) {\r\n itemCssClassList.push(LAYOUT_MANAGER_FIRST_ROW_CLASS)\r\n }\r\n if (0 === e.location.col) {\r\n itemCssClassList.push(LAYOUT_MANAGER_FIRST_COL_CLASS)\r\n }\r\n if (item.itemType === SIMPLE_ITEM_TYPE && that.option(\"isRoot\")) {\r\n $itemElement.addClass(ROOT_SIMPLE_ITEM_CLASS)\r\n }\r\n var isLastColumn = e.location.col === colCount - 1 || e.location.col + e.location.colspan === colCount;\r\n var rowsCount = that._getRowsCount();\r\n var isLastRow = e.location.row === rowsCount - 1;\r\n if (isLastColumn) {\r\n itemCssClassList.push(LAYOUT_MANAGER_LAST_COL_CLASS)\r\n }\r\n if (isLastRow) {\r\n itemCssClassList.push(LAYOUT_MANAGER_LAST_ROW_CLASS)\r\n }\r\n if (\"empty\" !== item.itemType) {\r\n itemCssClassList.push(FIELD_ITEM_CLASS);\r\n itemCssClassList.push(that.option(\"cssItemClass\"));\r\n if (isDefined(item.col)) {\r\n itemCssClassList.push(\"dx-col-\" + item.col)\r\n }\r\n }\r\n templatesInfo.push({\r\n itemType: item.itemType,\r\n item: item,\r\n $parent: $itemElement,\r\n rootElementCssClassList: itemCssClassList\r\n })\r\n },\r\n cols: that._generateRatio(colCount),\r\n rows: that._generateRatio(that._getRowsCount(), true),\r\n dataSource: layoutItems,\r\n screenByWidth: that.option(\"screenByWidth\"),\r\n singleColumnScreen: xsColCount ? false : \"xs\"\r\n }\r\n },\r\n _getColCount: function() {\r\n var colCount = this.option(\"colCount\");\r\n var colCountByScreen = this.option(\"colCountByScreen\");\r\n if (colCountByScreen) {\r\n var screenFactor = this.option(\"form\").getTargetScreenFactor();\r\n if (!screenFactor) {\r\n screenFactor = hasWindow() ? getCurrentScreenFactor(this.option(\"screenByWidth\")) : \"lg\"\r\n }\r\n colCount = colCountByScreen[screenFactor] || colCount\r\n }\r\n if (\"auto\" === colCount) {\r\n if (this._cashedColCount) {\r\n return this._cashedColCount\r\n }\r\n this._cashedColCount = colCount = this._getMaxColCount()\r\n }\r\n return colCount < 1 ? 1 : colCount\r\n },\r\n _getMaxColCount: function() {\r\n if (!hasWindow()) {\r\n return 1\r\n }\r\n var minColWidth = this.option(\"minColWidth\");\r\n var width = getWidth(this.$element());\r\n var itemsCount = this._items.length;\r\n var maxColCount = Math.floor(width / minColWidth) || 1;\r\n return itemsCount < maxColCount ? itemsCount : maxColCount\r\n },\r\n isCachedColCountObsolete: function() {\r\n return this._cashedColCount && this._getMaxColCount() !== this._cashedColCount\r\n },\r\n _prepareItemsWithMerging: function(colCount) {\r\n var items = this._items.slice(0);\r\n var item;\r\n var itemsMergedByCol;\r\n var result = [];\r\n var j;\r\n var i;\r\n for (i = 0; i < items.length; i++) {\r\n item = items[i];\r\n result.push(item);\r\n if (this.option(\"alignItemLabels\") || item.alignItemLabels || item.colSpan) {\r\n item.col = this._getColByIndex(result.length - 1, colCount)\r\n }\r\n if (item.colSpan > 1 && item.col + item.colSpan <= colCount) {\r\n itemsMergedByCol = [];\r\n for (j = 0; j < item.colSpan - 1; j++) {\r\n itemsMergedByCol.push({\r\n merged: true\r\n })\r\n }\r\n result = result.concat(itemsMergedByCol)\r\n } else {\r\n delete item.colSpan\r\n }\r\n }\r\n this._setItems(result)\r\n },\r\n _getColByIndex: function(index, colCount) {\r\n return index % colCount\r\n },\r\n _setItems: function(items) {\r\n this._items = items;\r\n this._cashedColCount = null\r\n },\r\n _generateLayoutItems: function() {\r\n var items = this._items;\r\n var colCount = this._getColCount();\r\n var result = [];\r\n var item;\r\n var i;\r\n for (i = 0; i < items.length; i++) {\r\n item = items[i];\r\n if (!item.merged) {\r\n var generatedItem = {\r\n location: {\r\n row: parseInt(i / colCount),\r\n col: this._getColByIndex(i, colCount)\r\n }\r\n };\r\n if (isDefined(item.disabled)) {\r\n generatedItem.disabled = item.disabled\r\n }\r\n if (isDefined(item.visible)) {\r\n generatedItem.visible = item.visible\r\n }\r\n if (isDefined(item.colSpan)) {\r\n generatedItem.location.colspan = item.colSpan\r\n }\r\n if (isDefined(item.rowSpan)) {\r\n generatedItem.location.rowspan = item.rowSpan\r\n }\r\n result.push(generatedItem)\r\n }\r\n }\r\n return result\r\n },\r\n _renderEmptyItem: function($container) {\r\n renderEmptyItem({\r\n $container: $container\r\n })\r\n },\r\n _renderButtonItem: function(_ref3) {\r\n var {\r\n item: item,\r\n $parent: $parent,\r\n rootElementCssClassList: rootElementCssClassList\r\n } = _ref3;\r\n var {\r\n $rootElement: $rootElement,\r\n buttonInstance: buttonInstance\r\n } = renderButtonItem({\r\n item: item,\r\n $parent: $parent,\r\n rootElementCssClassList: rootElementCssClassList,\r\n validationGroup: this.option(\"validationGroup\"),\r\n createComponentCallback: this._createComponent.bind(this)\r\n });\r\n this._itemsRunTimeInfo.add({\r\n item: item,\r\n widgetInstance: buttonInstance,\r\n guid: item.guid,\r\n $itemContainer: $rootElement\r\n })\r\n },\r\n _renderFieldItem: function(_ref4, itemsWithLabelTemplateCount) {\r\n var _item$label2, _this$option;\r\n var {\r\n item: item,\r\n $parent: $parent,\r\n rootElementCssClassList: rootElementCssClassList\r\n } = _ref4;\r\n var editorValue = this._getDataByField(item.dataField);\r\n var canAssignUndefinedValueToEditor = false;\r\n if (void 0 === editorValue) {\r\n var {\r\n allowIndeterminateState: allowIndeterminateState,\r\n editorType: editorType,\r\n dataField: dataField\r\n } = item;\r\n canAssignUndefinedValueToEditor = this._isCheckboxUndefinedStateEnabled({\r\n allowIndeterminateState: allowIndeterminateState,\r\n editorType: editorType,\r\n dataField: dataField\r\n })\r\n }\r\n var name = item.dataField || item.name;\r\n var formOrLayoutManager = this._getFormOrThis();\r\n var {\r\n $fieldEditorContainer: $fieldEditorContainer,\r\n widgetInstance: widgetInstance,\r\n $rootElement: $rootElement\r\n } = renderFieldItem(convertToRenderFieldItemOptions({\r\n $parent: $parent,\r\n rootElementCssClassList: rootElementCssClassList,\r\n item: item,\r\n name: name,\r\n editorValue: editorValue,\r\n canAssignUndefinedValueToEditor: canAssignUndefinedValueToEditor,\r\n formOrLayoutManager: this._getFormOrThis(),\r\n createComponentCallback: this._createComponent.bind(this),\r\n formLabelLocation: this.option(\"labelLocation\"),\r\n requiredMessageTemplate: this.option(\"requiredMessage\"),\r\n validationGroup: this.option(\"validationGroup\"),\r\n editorValidationBoundary: this.option(\"validationBoundary\"),\r\n editorStylingMode: this.option(\"form\") && this.option(\"form\").option(\"stylingMode\"),\r\n showColonAfterLabel: this.option(\"showColonAfterLabel\"),\r\n managerLabelLocation: this.option(\"labelLocation\"),\r\n template: item.template ? this._getTemplate(item.template) : null,\r\n labelTemplate: null !== (_item$label2 = item.label) && void 0 !== _item$label2 && _item$label2.template ? this._getTemplate(item.label.template) : null,\r\n itemId: this.option(\"form\") && this.option(\"form\").getItemID(name),\r\n managerMarkOptions: this._getMarkOptions(),\r\n labelMode: this.option(\"labelMode\"),\r\n onLabelTemplateRendered: () => {\r\n this._incTemplateRenderedCallCount();\r\n if (this._shouldAlignLabelsOnTemplateRendered(formOrLayoutManager, itemsWithLabelTemplateCount)) {\r\n formOrLayoutManager._alignLabels(this, this.isSingleColumnMode(formOrLayoutManager))\r\n }\r\n }\r\n }));\r\n null === (_this$option = this.option(\"onFieldItemRendered\")) || void 0 === _this$option ? void 0 : _this$option();\r\n if (widgetInstance && item.dataField) {\r\n this._bindDataField(widgetInstance, item.dataField, item.editorType, $fieldEditorContainer)\r\n }\r\n this._itemsRunTimeInfo.add({\r\n item: item,\r\n widgetInstance: widgetInstance,\r\n guid: item.guid,\r\n $itemContainer: $rootElement\r\n })\r\n },\r\n _incTemplateRenderedCallCount() {\r\n var _this$_labelTemplateR;\r\n this._labelTemplateRenderedCallCount = (null !== (_this$_labelTemplateR = this._labelTemplateRenderedCallCount) && void 0 !== _this$_labelTemplateR ? _this$_labelTemplateR : 0) + 1\r\n },\r\n _shouldAlignLabelsOnTemplateRendered(formOrLayoutManager, totalItemsWithLabelTemplate) {\r\n return formOrLayoutManager.option(\"templatesRenderAsynchronously\") && this._labelTemplateRenderedCallCount === totalItemsWithLabelTemplate\r\n },\r\n _getMarkOptions: function() {\r\n return {\r\n showRequiredMark: this.option(\"showRequiredMark\"),\r\n requiredMark: this.option(\"requiredMark\"),\r\n showOptionalMark: this.option(\"showOptionalMark\"),\r\n optionalMark: this.option(\"optionalMark\")\r\n }\r\n },\r\n _getFormOrThis: function() {\r\n return this.option(\"form\") || this\r\n },\r\n _bindDataField: function(editorInstance, dataField, editorType, $container) {\r\n var formOrThis = this._getFormOrThis();\r\n editorInstance.on(\"enterKey\", (function(args) {\r\n formOrThis._createActionByOption(\"onEditorEnterKey\")(extend(args, {\r\n dataField: dataField\r\n }))\r\n }));\r\n this._createWatcher(editorInstance, $container, dataField);\r\n this.linkEditorToDataField(editorInstance, dataField, editorType)\r\n },\r\n _createWatcher: function(editorInstance, $container, dataField) {\r\n var that = this;\r\n var watch = that._getWatch();\r\n if (!isFunction(watch)) {\r\n return\r\n }\r\n var dispose = watch((function() {\r\n return that._getDataByField(dataField)\r\n }), (function() {\r\n var fieldValue = that._getDataByField(dataField);\r\n if (\"dxTagBox\" === editorInstance.NAME) {\r\n var editorValue = editorInstance.option(\"value\");\r\n if (fieldValue !== editorValue && function(array1, array2) {\r\n if (!Array.isArray(array1) || !Array.isArray(array2) || array1.length !== array2.length) {\r\n return false\r\n }\r\n for (var i = 0; i < array1.length; i++) {\r\n if (array1[i] !== array2[i]) {\r\n return false\r\n }\r\n }\r\n return true\r\n }(fieldValue, editorValue)) {\r\n return\r\n }\r\n }\r\n editorInstance.option(\"value\", fieldValue)\r\n }), {\r\n deep: true,\r\n skipImmediate: true\r\n });\r\n eventsEngine.on($container, removeEvent, dispose)\r\n },\r\n _getWatch: function() {\r\n if (!isDefined(this._watch)) {\r\n var formInstance = this.option(\"form\");\r\n this._watch = formInstance && formInstance.option(\"integrationOptions.watchMethod\")\r\n }\r\n return this._watch\r\n },\r\n _createComponent: function($editor, type, editorOptions) {\r\n var readOnlyState = this.option(\"readOnly\");\r\n var hasEditorReadOnly = Object.hasOwn(editorOptions, \"readOnly\");\r\n var instance = this.callBase($editor, type, _extends({}, editorOptions, {\r\n readOnly: !hasEditorReadOnly ? readOnlyState : editorOptions.readOnly\r\n }));\r\n var isChangeByForm = false;\r\n instance.on(\"optionChanged\", args => {\r\n if (\"readOnly\" === args.name && !isChangeByForm) {\r\n hasEditorReadOnly = true\r\n }\r\n });\r\n this.on(\"optionChanged\", (function(args) {\r\n if (\"readOnly\" === args.name && !hasEditorReadOnly) {\r\n isChangeByForm = true;\r\n instance.option(args.name, args.value);\r\n isChangeByForm = false\r\n }\r\n }));\r\n return instance\r\n },\r\n _generateRatio: function(count, isAutoSize) {\r\n var result = [];\r\n var ratio;\r\n var i;\r\n for (i = 0; i < count; i++) {\r\n ratio = {\r\n ratio: 1\r\n };\r\n if (isAutoSize) {\r\n ratio.baseSize = \"auto\"\r\n }\r\n result.push(ratio)\r\n }\r\n return result\r\n },\r\n _getRowsCount: function() {\r\n return Math.ceil(this._items.length / this._getColCount())\r\n },\r\n _updateReferencedOptions: function(newLayoutData) {\r\n var layoutData = this.option(\"layoutData\");\r\n if (isObject(layoutData)) {\r\n Object.getOwnPropertyNames(layoutData).forEach(property => delete this._optionsByReference[\"layoutData.\" + property])\r\n }\r\n if (isObject(newLayoutData)) {\r\n Object.getOwnPropertyNames(newLayoutData).forEach(property => this._optionsByReference[\"layoutData.\" + property] = true)\r\n }\r\n },\r\n _resetWidget(instance) {\r\n this._disableEditorValueChangedHandler = true;\r\n instance.reset();\r\n this._disableEditorValueChangedHandler = false;\r\n instance.option(\"isValid\", true)\r\n },\r\n _optionChanged(args) {\r\n if (0 === args.fullName.search(\"layoutData.\")) {\r\n return\r\n }\r\n switch (args.name) {\r\n case \"showRequiredMark\":\r\n case \"showOptionalMark\":\r\n case \"requiredMark\":\r\n case \"optionalMark\":\r\n this._cashedRequiredConfig = null;\r\n this._invalidate();\r\n break;\r\n case \"layoutData\":\r\n this._updateReferencedOptions(args.value);\r\n if (this.option(\"items\")) {\r\n if (!isEmptyObject(args.value)) {\r\n this._itemsRunTimeInfo.each((_, itemRunTimeInfo) => {\r\n if (isDefined(itemRunTimeInfo.item)) {\r\n var dataField = itemRunTimeInfo.item.dataField;\r\n if (dataField && isDefined(itemRunTimeInfo.widgetInstance)) {\r\n var valueGetter = compileGetter(dataField);\r\n var dataValue = valueGetter(args.value);\r\n var {\r\n allowIndeterminateState: allowIndeterminateState,\r\n editorType: editorType\r\n } = itemRunTimeInfo.item;\r\n if (void 0 !== dataValue || this._isCheckboxUndefinedStateEnabled({\r\n allowIndeterminateState: allowIndeterminateState,\r\n editorType: editorType,\r\n dataField: dataField\r\n })) {\r\n itemRunTimeInfo.widgetInstance.option(\"value\", dataValue)\r\n } else {\r\n this._resetWidget(itemRunTimeInfo.widgetInstance)\r\n }\r\n }\r\n }\r\n })\r\n }\r\n } else {\r\n this._initDataAndItems(args.value);\r\n this._invalidate()\r\n }\r\n break;\r\n case \"items\":\r\n this._cleanItemWatchers();\r\n this._initDataAndItems(args.value);\r\n this._invalidate();\r\n break;\r\n case \"alignItemLabels\":\r\n case \"labelLocation\":\r\n case \"labelMode\":\r\n case \"requiredMessage\":\r\n this._invalidate();\r\n break;\r\n case \"customizeItem\":\r\n this._updateItems(this.option(\"layoutData\"));\r\n this._invalidate();\r\n break;\r\n case \"colCount\":\r\n case \"colCountByScreen\":\r\n this._resetColCount();\r\n break;\r\n case \"minColWidth\":\r\n if (\"auto\" === this.option(\"colCount\")) {\r\n this._resetColCount()\r\n }\r\n break;\r\n case \"readOnly\":\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n if (\"auto\" === this.option(\"colCount\")) {\r\n this._resetColCount()\r\n }\r\n break;\r\n case \"onFieldDataChanged\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _resetColCount: function() {\r\n this._cashedColCount = null;\r\n this._invalidate()\r\n },\r\n linkEditorToDataField(editorInstance, dataField) {\r\n this.on(\"optionChanged\", args => {\r\n if (args.fullName === \"layoutData.\".concat(dataField)) {\r\n editorInstance._setOptionWithoutOptionChange(\"value\", args.value)\r\n }\r\n });\r\n editorInstance.on(\"valueChanged\", args => {\r\n var isValueReferenceType = isObject(args.value) || Array.isArray(args.value);\r\n if (!this._disableEditorValueChangedHandler && !(isValueReferenceType && args.value === args.previousValue)) {\r\n this._updateFieldValue(dataField, args.value)\r\n }\r\n })\r\n },\r\n _dimensionChanged: function() {\r\n if (\"auto\" === this.option(\"colCount\") && this.isCachedColCountObsolete()) {\r\n this._eventsStrategy.fireEvent(\"autoColCountChanged\")\r\n }\r\n },\r\n updateData: function(data, value) {\r\n var that = this;\r\n if (isObject(data)) {\r\n each(data, (function(dataField, fieldValue) {\r\n that._updateFieldValue(dataField, fieldValue)\r\n }))\r\n } else if (\"string\" === typeof data) {\r\n that._updateFieldValue(data, value)\r\n }\r\n },\r\n getEditor: function(field) {\r\n return this._itemsRunTimeInfo.findWidgetInstanceByDataField(field) || this._itemsRunTimeInfo.findWidgetInstanceByName(field)\r\n },\r\n isSingleColumnMode: function(component) {\r\n var responsiveBox = this._responsiveBox || component;\r\n if (responsiveBox) {\r\n return responsiveBox.option(\"currentScreenFactor\") === responsiveBox.option(\"singleColumnScreen\")\r\n }\r\n },\r\n getItemsRunTimeInfo: function() {\r\n return this._itemsRunTimeInfo\r\n }\r\n});\r\nregisterComponent(\"dxLayoutManager\", LayoutManager);\r\nexport default LayoutManager;\r\n","/**\r\n * DevExtreme (esm/ui/form/ui.form.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport Guid from \"../../core/guid\";\r\nimport {\r\n ensureDefined\r\n} from \"../../core/utils/common\";\r\nimport config from \"../../core/config\";\r\nimport {\r\n isDefined,\r\n isEmptyObject,\r\n isObject,\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n triggerResizeEvent,\r\n triggerShownEvent\r\n} from \"../../events/visibility_change\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport Editor from \"../editor/editor\";\r\nimport {\r\n defaultScreenFactorFunc,\r\n getCurrentScreenFactor,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport ValidationEngine from \"../validation_engine\";\r\nimport {\r\n default as FormItemsRunTimeInfo\r\n} from \"./ui.form.items_runtime_info\";\r\nimport TabPanel from \"../tab_panel\";\r\nimport Scrollable from \"../scroll_view/ui.scrollable\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n isMaterial\r\n} from \"../themes\";\r\nimport tryCreateItemOptionAction from \"./ui.form.item_options_actions\";\r\nimport resizeObserverSingleton from \"../../core/resize_observer\";\r\nimport \"./ui.form.layout_manager\";\r\nimport {\r\n concatPaths,\r\n createItemPathByIndex,\r\n getFullOptionName,\r\n getOptionNameFromFullName,\r\n tryGetTabPath,\r\n getTextWithoutSpaces,\r\n isEqualToDataFieldOrNameOrTitleOrCaption,\r\n isFullPathContainsTabs,\r\n getItemPath,\r\n convertToLayoutManagerOptions\r\n} from \"./ui.form.utils\";\r\nimport {\r\n convertToLabelMarkOptions\r\n} from \"./ui.form.layout_manager.utils\";\r\nimport {\r\n setLabelWidthByMaxLabelWidth\r\n} from \"./components/label\";\r\nimport \"../validation_summary\";\r\nimport \"../validation_group\";\r\nimport {\r\n FORM_CLASS,\r\n FIELD_ITEM_CLASS,\r\n FORM_GROUP_CLASS,\r\n FORM_GROUP_CONTENT_CLASS,\r\n FIELD_ITEM_CONTENT_HAS_GROUP_CLASS,\r\n FIELD_ITEM_CONTENT_HAS_TABS_CLASS,\r\n FORM_GROUP_WITH_CAPTION_CLASS,\r\n FORM_GROUP_CAPTION_CLASS,\r\n FIELD_ITEM_TAB_CLASS,\r\n FORM_FIELD_ITEM_COL_CLASS,\r\n GROUP_COL_COUNT_CLASS,\r\n GROUP_COL_COUNT_ATTR,\r\n FIELD_ITEM_CONTENT_CLASS,\r\n FORM_VALIDATION_SUMMARY,\r\n ROOT_SIMPLE_ITEM_CLASS,\r\n FORM_UNDERLINED_CLASS\r\n} from \"./constants\";\r\nimport {\r\n TOOLBAR_CLASS\r\n} from \"../toolbar/constants\";\r\nvar FOCUSED_STATE_CLASS = \"dx-state-focused\";\r\nvar ITEM_OPTIONS_FOR_VALIDATION_UPDATING = [\"items\", \"isRequired\", \"validationRules\", \"visible\"];\r\nvar Form = Widget.inherit({\r\n _init: function() {\r\n this.callBase();\r\n this._cachedColCountOptions = [];\r\n this._itemsRunTimeInfo = new FormItemsRunTimeInfo;\r\n this._groupsColCount = [];\r\n this._attachSyncSubscriptions()\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n formID: \"dx-\" + new Guid,\r\n formData: {},\r\n colCount: 1,\r\n screenByWidth: defaultScreenFactorFunc,\r\n colCountByScreen: void 0,\r\n labelLocation: \"left\",\r\n readOnly: false,\r\n onFieldDataChanged: null,\r\n customizeItem: null,\r\n onEditorEnterKey: null,\r\n minColWidth: 200,\r\n alignItemLabels: true,\r\n alignItemLabelsInAllGroups: true,\r\n alignRootItemLabels: true,\r\n showColonAfterLabel: true,\r\n showRequiredMark: true,\r\n showOptionalMark: false,\r\n requiredMark: \"*\",\r\n optionalMark: messageLocalization.format(\"dxForm-optionalMark\"),\r\n requiredMessage: messageLocalization.getFormatter(\"dxForm-requiredMessage\"),\r\n showValidationSummary: false,\r\n items: void 0,\r\n scrollingEnabled: false,\r\n validationGroup: void 0,\r\n stylingMode: config().editorStylingMode,\r\n labelMode: \"outside\"\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return isMaterial()\r\n },\r\n options: {\r\n showColonAfterLabel: false,\r\n labelLocation: \"top\"\r\n }\r\n }])\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n formData: true,\r\n validationGroup: true\r\n })\r\n },\r\n _getGroupColCount: function($element) {\r\n return parseInt($element.attr(GROUP_COL_COUNT_ATTR))\r\n },\r\n _applyLabelsWidthByCol: function($container, index) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var labelMarkOptions = arguments.length > 3 ? arguments[3] : void 0;\r\n var fieldItemClass = options.inOneColumn ? FIELD_ITEM_CLASS : FORM_FIELD_ITEM_COL_CLASS + index;\r\n var cssExcludeTabbedSelector = options.excludeTabbed ? \":not(.\".concat(FIELD_ITEM_TAB_CLASS, \")\") : \"\";\r\n setLabelWidthByMaxLabelWidth($container, \".\".concat(fieldItemClass).concat(cssExcludeTabbedSelector), labelMarkOptions);\r\n return\r\n },\r\n _applyLabelsWidth: function($container, excludeTabbed, inOneColumn, colCount, labelMarkOptions) {\r\n colCount = inOneColumn ? 1 : colCount || this._getGroupColCount($container);\r\n var applyLabelsOptions = {\r\n excludeTabbed: excludeTabbed,\r\n inOneColumn: inOneColumn\r\n };\r\n var i;\r\n for (i = 0; i < colCount; i++) {\r\n this._applyLabelsWidthByCol($container, i, applyLabelsOptions, labelMarkOptions)\r\n }\r\n },\r\n _getGroupElementsInColumn: function($container, columnIndex, colCount) {\r\n var cssColCountSelector = isDefined(colCount) ? \".\" + GROUP_COL_COUNT_CLASS + colCount : \"\";\r\n var groupSelector = \".\" + FORM_FIELD_ITEM_COL_CLASS + columnIndex + \" > .\" + FIELD_ITEM_CONTENT_CLASS + \" > .\" + FORM_GROUP_CLASS + cssColCountSelector;\r\n return $container.find(groupSelector)\r\n },\r\n _applyLabelsWidthWithGroups: function($container, colCount, excludeTabbed, labelMarkOptions) {\r\n if (true === this.option(\"alignRootItemLabels\")) {\r\n var $rootSimpleItems = $container.find(\".\".concat(ROOT_SIMPLE_ITEM_CLASS));\r\n for (var colIndex = 0; colIndex < colCount; colIndex++) {\r\n this._applyLabelsWidthByCol($rootSimpleItems, colIndex, excludeTabbed, labelMarkOptions)\r\n }\r\n }\r\n var alignItemLabelsInAllGroups = this.option(\"alignItemLabelsInAllGroups\");\r\n if (alignItemLabelsInAllGroups) {\r\n this._applyLabelsWidthWithNestedGroups($container, colCount, excludeTabbed, labelMarkOptions)\r\n } else {\r\n var $groups = this.$element().find(\".\" + FORM_GROUP_CLASS);\r\n var i;\r\n for (i = 0; i < $groups.length; i++) {\r\n this._applyLabelsWidth($groups.eq(i), excludeTabbed, void 0, void 0, labelMarkOptions)\r\n }\r\n }\r\n },\r\n _applyLabelsWidthWithNestedGroups: function($container, colCount, excludeTabbed, labelMarkOptions) {\r\n var applyLabelsOptions = {\r\n excludeTabbed: excludeTabbed\r\n };\r\n var colIndex;\r\n var groupsColIndex;\r\n var groupColIndex;\r\n var $groupsByCol;\r\n for (colIndex = 0; colIndex < colCount; colIndex++) {\r\n $groupsByCol = this._getGroupElementsInColumn($container, colIndex);\r\n this._applyLabelsWidthByCol($groupsByCol, 0, applyLabelsOptions, labelMarkOptions);\r\n for (groupsColIndex = 0; groupsColIndex < this._groupsColCount.length; groupsColIndex++) {\r\n $groupsByCol = this._getGroupElementsInColumn($container, colIndex, this._groupsColCount[groupsColIndex]);\r\n var groupColCount = this._getGroupColCount($groupsByCol);\r\n for (groupColIndex = 1; groupColIndex < groupColCount; groupColIndex++) {\r\n this._applyLabelsWidthByCol($groupsByCol, groupColIndex, applyLabelsOptions, labelMarkOptions)\r\n }\r\n }\r\n }\r\n },\r\n _labelLocation: function() {\r\n return this.option(\"labelLocation\")\r\n },\r\n _alignLabelsInColumn: function(_ref) {\r\n var {\r\n layoutManager: layoutManager,\r\n inOneColumn: inOneColumn,\r\n $container: $container,\r\n excludeTabbed: excludeTabbed,\r\n items: items\r\n } = _ref;\r\n if (!hasWindow() || \"top\" === this._labelLocation()) {\r\n return\r\n }\r\n var labelMarkOptions = convertToLabelMarkOptions(layoutManager._getMarkOptions());\r\n if (inOneColumn) {\r\n this._applyLabelsWidth($container, excludeTabbed, true, void 0, labelMarkOptions)\r\n } else if (this._checkGrouping(items)) {\r\n this._applyLabelsWidthWithGroups($container, layoutManager._getColCount(), excludeTabbed, labelMarkOptions)\r\n } else {\r\n this._applyLabelsWidth($container, excludeTabbed, false, layoutManager._getColCount(), labelMarkOptions)\r\n }\r\n },\r\n _prepareFormData: function() {\r\n if (!isDefined(this.option(\"formData\"))) {\r\n this.option(\"formData\", {})\r\n }\r\n },\r\n _setStylingModeClass: function() {\r\n if (\"underlined\" === this.option(\"stylingMode\")) {\r\n this.$element().addClass(FORM_UNDERLINED_CLASS)\r\n }\r\n },\r\n _initMarkup: function() {\r\n ValidationEngine.addGroup(this._getValidationGroup());\r\n this._clearCachedInstances();\r\n this._prepareFormData();\r\n this.$element().addClass(FORM_CLASS);\r\n this._setStylingModeClass();\r\n this.callBase();\r\n this.setAria(\"role\", \"form\", this.$element());\r\n if (this.option(\"scrollingEnabled\")) {\r\n this._renderScrollable()\r\n }\r\n this._renderLayout();\r\n this._renderValidationSummary();\r\n this._lastMarkupScreenFactor = this._targetScreenFactor || this._getCurrentScreenFactor();\r\n this._attachResizeObserverSubscription()\r\n },\r\n _attachResizeObserverSubscription: function() {\r\n if (hasWindow()) {\r\n var formRootElement = this.$element().get(0);\r\n resizeObserverSingleton.unobserve(formRootElement);\r\n resizeObserverSingleton.observe(formRootElement, () => {\r\n this._resizeHandler()\r\n })\r\n }\r\n },\r\n _resizeHandler: function() {\r\n if (this._cachedLayoutManagers.length) {\r\n each(this._cachedLayoutManagers, (_, layoutManager) => {\r\n var _layoutManager$option;\r\n null === (_layoutManager$option = layoutManager.option(\"onLayoutChanged\")) || void 0 === _layoutManager$option ? void 0 : _layoutManager$option(layoutManager.isSingleColumnMode())\r\n })\r\n }\r\n },\r\n _getCurrentScreenFactor: function() {\r\n return hasWindow() ? getCurrentScreenFactor(this.option(\"screenByWidth\")) : \"lg\"\r\n },\r\n _clearCachedInstances: function() {\r\n this._itemsRunTimeInfo.clear();\r\n this._cachedLayoutManagers = []\r\n },\r\n _alignLabels: function(layoutManager, inOneColumn) {\r\n this._alignLabelsInColumn({\r\n $container: this.$element(),\r\n layoutManager: layoutManager,\r\n excludeTabbed: true,\r\n items: this.option(\"items\"),\r\n inOneColumn: inOneColumn\r\n });\r\n triggerResizeEvent(this.$element().find(\".\".concat(TOOLBAR_CLASS)))\r\n },\r\n _clean: function() {\r\n this._clearValidationSummary();\r\n this.callBase();\r\n this._groupsColCount = [];\r\n this._cachedColCountOptions = [];\r\n this._lastMarkupScreenFactor = void 0;\r\n resizeObserverSingleton.unobserve(this.$element().get(0))\r\n },\r\n _renderScrollable: function() {\r\n var useNativeScrolling = this.option(\"useNativeScrolling\");\r\n this._scrollable = new Scrollable(this.$element(), {\r\n useNative: !!useNativeScrolling,\r\n useSimulatedScrollbar: !useNativeScrolling,\r\n useKeyboard: false,\r\n direction: \"both\",\r\n bounceEnabled: false\r\n })\r\n },\r\n _getContent: function() {\r\n return this.option(\"scrollingEnabled\") ? $(this._scrollable.content()) : this.$element()\r\n },\r\n _clearValidationSummary: function() {\r\n var _this$_$validationSum;\r\n null === (_this$_$validationSum = this._$validationSummary) || void 0 === _this$_$validationSum ? void 0 : _this$_$validationSum.remove();\r\n this._$validationSummary = void 0;\r\n this._validationSummary = void 0\r\n },\r\n _renderValidationSummary: function() {\r\n this._clearValidationSummary();\r\n if (this.option(\"showValidationSummary\")) {\r\n this._$validationSummary = $(\"<div>\").addClass(FORM_VALIDATION_SUMMARY).appendTo(this._getContent());\r\n this._validationSummary = this._$validationSummary.dxValidationSummary({\r\n validationGroup: this._getValidationGroup()\r\n }).dxValidationSummary(\"instance\")\r\n }\r\n },\r\n _prepareItems(items, parentIsTabbedItem, currentPath, isTabs) {\r\n if (items) {\r\n var result = [];\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n var path = concatPaths(currentPath, createItemPathByIndex(i, isTabs));\r\n var itemRunTimeInfo = {\r\n item: item,\r\n itemIndex: i,\r\n path: path\r\n };\r\n var guid = this._itemsRunTimeInfo.add(itemRunTimeInfo);\r\n if (isString(item)) {\r\n item = {\r\n dataField: item\r\n }\r\n }\r\n if (isObject(item)) {\r\n var preparedItem = _extends({}, item);\r\n itemRunTimeInfo.preparedItem = preparedItem;\r\n preparedItem.guid = guid;\r\n this._tryPrepareGroupItem(preparedItem);\r\n this._tryPrepareTabbedItem(preparedItem, path);\r\n this._tryPrepareItemTemplate(preparedItem);\r\n if (parentIsTabbedItem) {\r\n preparedItem.cssItemClass = FIELD_ITEM_TAB_CLASS\r\n }\r\n if (preparedItem.items) {\r\n preparedItem.items = this._prepareItems(preparedItem.items, parentIsTabbedItem, path)\r\n }\r\n result.push(preparedItem)\r\n } else {\r\n result.push(item)\r\n }\r\n }\r\n return result\r\n }\r\n },\r\n _tryPrepareGroupItem: function(item) {\r\n if (\"group\" === item.itemType) {\r\n item.alignItemLabels = ensureDefined(item.alignItemLabels, true);\r\n item._prepareGroupItemTemplate = itemTemplate => {\r\n if (item.template) {\r\n item.groupContentTemplate = this._getTemplate(itemTemplate)\r\n }\r\n item.template = this._itemGroupTemplate.bind(this, item)\r\n };\r\n item._prepareGroupItemTemplate(item.template)\r\n }\r\n },\r\n _tryPrepareTabbedItem: function(item, path) {\r\n if (\"tabbed\" === item.itemType) {\r\n item.template = this._itemTabbedTemplate.bind(this, item);\r\n item.tabs = this._prepareItems(item.tabs, true, path, true)\r\n }\r\n },\r\n _tryPrepareItemTemplate: function(item) {\r\n if (item.template) {\r\n item.template = this._getTemplate(item.template)\r\n }\r\n },\r\n _checkGrouping: function(items) {\r\n if (items) {\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n if (\"group\" === item.itemType) {\r\n return true\r\n }\r\n }\r\n }\r\n },\r\n _renderLayout: function() {\r\n var that = this;\r\n var items = that.option(\"items\");\r\n var $content = that._getContent();\r\n items = that._prepareItems(items);\r\n that._rootLayoutManager = that._renderLayoutManager($content, this._createLayoutManagerOptions(items, {\r\n isRoot: true,\r\n colCount: that.option(\"colCount\"),\r\n alignItemLabels: that.option(\"alignItemLabels\"),\r\n screenByWidth: this.option(\"screenByWidth\"),\r\n colCountByScreen: this.option(\"colCountByScreen\"),\r\n onLayoutChanged: function(inOneColumn) {\r\n that._alignLabels.bind(that)(that._rootLayoutManager, inOneColumn)\r\n },\r\n onContentReady: function(e) {\r\n that._alignLabels(e.component, e.component.isSingleColumnMode())\r\n }\r\n }))\r\n },\r\n _tryGetItemsForTemplate: function(item) {\r\n return item.items || []\r\n },\r\n _itemTabbedTemplate: function(item, e, $container) {\r\n var _item$tabs;\r\n var $tabPanel = $(\"<div>\").appendTo($container);\r\n var tabPanelOptions = extend({}, item.tabPanelOptions, {\r\n dataSource: item.tabs,\r\n onItemRendered: args => {\r\n var _item$tabPanelOptions, _item$tabPanelOptions2;\r\n null === (_item$tabPanelOptions = item.tabPanelOptions) || void 0 === _item$tabPanelOptions ? void 0 : null === (_item$tabPanelOptions2 = _item$tabPanelOptions.onItemRendered) || void 0 === _item$tabPanelOptions2 ? void 0 : _item$tabPanelOptions2.call(_item$tabPanelOptions, args);\r\n triggerShownEvent(args.itemElement)\r\n },\r\n itemTemplate: (itemData, e, container) => {\r\n var $container = $(container);\r\n var alignItemLabels = ensureDefined(itemData.alignItemLabels, true);\r\n var layoutManager = this._renderLayoutManager($container, this._createLayoutManagerOptions(this._tryGetItemsForTemplate(itemData), {\r\n colCount: itemData.colCount,\r\n alignItemLabels: alignItemLabels,\r\n screenByWidth: this.option(\"screenByWidth\"),\r\n colCountByScreen: itemData.colCountByScreen,\r\n cssItemClass: itemData.cssItemClass,\r\n onLayoutChanged: inOneColumn => {\r\n this._alignLabelsInColumn({\r\n $container: $container,\r\n layoutManager: layoutManager,\r\n items: itemData.items,\r\n inOneColumn: inOneColumn\r\n })\r\n }\r\n }));\r\n if (this._itemsRunTimeInfo) {\r\n this._itemsRunTimeInfo.extendRunTimeItemInfoByKey(itemData.guid, {\r\n layoutManager: layoutManager\r\n })\r\n }\r\n if (alignItemLabels) {\r\n this._alignLabelsInColumn({\r\n $container: $container,\r\n layoutManager: layoutManager,\r\n items: itemData.items,\r\n inOneColumn: layoutManager.isSingleColumnMode()\r\n })\r\n }\r\n }\r\n });\r\n var tryUpdateTabPanelInstance = (items, instance) => {\r\n if (Array.isArray(items)) {\r\n items.forEach(item => this._itemsRunTimeInfo.extendRunTimeItemInfoByKey(item.guid, {\r\n widgetInstance: instance\r\n }))\r\n }\r\n };\r\n var tabPanel = this._createComponent($tabPanel, TabPanel, tabPanelOptions);\r\n $($container).parent().addClass(FIELD_ITEM_CONTENT_HAS_TABS_CLASS);\r\n tabPanel.on(\"optionChanged\", e => {\r\n if (\"dataSource\" === e.fullName) {\r\n tryUpdateTabPanelInstance(e.value, e.component)\r\n }\r\n });\r\n tryUpdateTabPanelInstance([{\r\n guid: item.guid\r\n }, ...null !== (_item$tabs = item.tabs) && void 0 !== _item$tabs ? _item$tabs : []], tabPanel)\r\n },\r\n _itemGroupTemplate: function(item, e, $container) {\r\n var $group = $(\"<div>\").toggleClass(FORM_GROUP_WITH_CAPTION_CLASS, isDefined(item.caption) && item.caption.length).addClass(FORM_GROUP_CLASS).appendTo($container);\r\n $($container).parent().addClass(FIELD_ITEM_CONTENT_HAS_GROUP_CLASS);\r\n var colCount;\r\n var layoutManager;\r\n if (item.caption) {\r\n $(\"<span>\").addClass(FORM_GROUP_CAPTION_CLASS).text(item.caption).appendTo($group)\r\n }\r\n var $groupContent = $(\"<div>\").addClass(FORM_GROUP_CONTENT_CLASS).appendTo($group);\r\n if (item.groupContentTemplate) {\r\n item._renderGroupContentTemplate = () => {\r\n $groupContent.empty();\r\n var data = {\r\n formData: this.option(\"formData\"),\r\n component: this\r\n };\r\n item.groupContentTemplate.render({\r\n model: data,\r\n container: getPublicElement($groupContent)\r\n })\r\n };\r\n item._renderGroupContentTemplate()\r\n } else {\r\n layoutManager = this._renderLayoutManager($groupContent, this._createLayoutManagerOptions(this._tryGetItemsForTemplate(item), {\r\n colCount: item.colCount,\r\n colCountByScreen: item.colCountByScreen,\r\n alignItemLabels: item.alignItemLabels,\r\n cssItemClass: item.cssItemClass\r\n }));\r\n this._itemsRunTimeInfo && this._itemsRunTimeInfo.extendRunTimeItemInfoByKey(item.guid, {\r\n layoutManager: layoutManager\r\n });\r\n colCount = layoutManager._getColCount();\r\n if (!this._groupsColCount.includes(colCount)) {\r\n this._groupsColCount.push(colCount)\r\n }\r\n $group.addClass(GROUP_COL_COUNT_CLASS + colCount);\r\n $group.attr(GROUP_COL_COUNT_ATTR, colCount)\r\n }\r\n },\r\n _createLayoutManagerOptions: function(items, extendedLayoutManagerOptions) {\r\n return convertToLayoutManagerOptions({\r\n form: this,\r\n formOptions: this.option(),\r\n $formElement: this.$element(),\r\n items: items,\r\n validationGroup: this._getValidationGroup(),\r\n extendedLayoutManagerOptions: extendedLayoutManagerOptions,\r\n onFieldDataChanged: args => {\r\n if (!this._isDataUpdating) {\r\n this._triggerOnFieldDataChanged(args)\r\n }\r\n },\r\n onContentReady: args => {\r\n this._itemsRunTimeInfo.addItemsOrExtendFrom(args.component._itemsRunTimeInfo);\r\n extendedLayoutManagerOptions.onContentReady && extendedLayoutManagerOptions.onContentReady(args)\r\n },\r\n onDisposing: _ref2 => {\r\n var {\r\n component: component\r\n } = _ref2;\r\n var nestedItemsRunTimeInfo = component.getItemsRunTimeInfo();\r\n this._itemsRunTimeInfo.removeItemsByItems(nestedItemsRunTimeInfo)\r\n },\r\n onFieldItemRendered: () => {\r\n var _this$_validationSumm;\r\n null === (_this$_validationSumm = this._validationSummary) || void 0 === _this$_validationSumm ? void 0 : _this$_validationSumm.refreshValidationGroup()\r\n }\r\n })\r\n },\r\n _renderLayoutManager: function($parent, layoutManagerOptions) {\r\n var baseColCountByScreen = {\r\n lg: layoutManagerOptions.colCount,\r\n md: layoutManagerOptions.colCount,\r\n sm: layoutManagerOptions.colCount,\r\n xs: 1\r\n };\r\n this._cachedColCountOptions.push({\r\n colCountByScreen: extend(baseColCountByScreen, layoutManagerOptions.colCountByScreen)\r\n });\r\n var $element = $(\"<div>\");\r\n $element.appendTo($parent);\r\n var instance = this._createComponent($element, \"dxLayoutManager\", layoutManagerOptions);\r\n instance.on(\"autoColCountChanged\", () => {\r\n this._clearAutoColCountChangedTimeout();\r\n this.autoColCountChangedTimeoutId = setTimeout(() => !this._disposed && this._refresh(), 0)\r\n });\r\n this._cachedLayoutManagers.push(instance);\r\n return instance\r\n },\r\n _getValidationGroup: function() {\r\n return this.option(\"validationGroup\") || this\r\n },\r\n _createComponent: function($element, type, config) {\r\n config = config || {};\r\n this._extendConfig(config, {\r\n readOnly: this.option(\"readOnly\")\r\n });\r\n return this.callBase($element, type, config)\r\n },\r\n _attachSyncSubscriptions: function() {\r\n var that = this;\r\n that.on(\"optionChanged\", (function(args) {\r\n var optionFullName = args.fullName;\r\n if (\"formData\" === optionFullName) {\r\n if (!isDefined(args.value)) {\r\n that._options.silent(\"formData\", args.value = {})\r\n }\r\n that._triggerOnFieldDataChangedByDataSet(args.value)\r\n }\r\n if (that._cachedLayoutManagers.length) {\r\n each(that._cachedLayoutManagers, (function(index, layoutManager) {\r\n if (\"formData\" === optionFullName) {\r\n that._isDataUpdating = true;\r\n layoutManager.option(\"layoutData\", args.value);\r\n that._isDataUpdating = false\r\n }\r\n if (\"readOnly\" === args.name || \"disabled\" === args.name) {\r\n layoutManager.option(optionFullName, args.value)\r\n }\r\n }))\r\n }\r\n }))\r\n },\r\n _optionChanged: function(args) {\r\n var splitFullName = args.fullName.split(\".\");\r\n if (splitFullName.length > 1 && -1 !== splitFullName[0].search(\"items\") && this._itemsOptionChangedHandler(args)) {\r\n return\r\n }\r\n if (splitFullName.length > 1 && -1 !== splitFullName[0].search(\"formData\") && this._formDataOptionChangedHandler(args)) {\r\n return\r\n }\r\n this._defaultOptionChangedHandler(args)\r\n },\r\n _defaultOptionChangedHandler: function(args) {\r\n switch (args.name) {\r\n case \"formData\":\r\n if (!this.option(\"items\")) {\r\n this._invalidate()\r\n } else if (isEmptyObject(args.value)) {\r\n this._resetValues()\r\n }\r\n break;\r\n case \"onFieldDataChanged\":\r\n break;\r\n case \"items\":\r\n case \"colCount\":\r\n case \"onEditorEnterKey\":\r\n case \"labelLocation\":\r\n case \"labelMode\":\r\n case \"alignItemLabels\":\r\n case \"showColonAfterLabel\":\r\n case \"customizeItem\":\r\n case \"alignItemLabelsInAllGroups\":\r\n case \"showRequiredMark\":\r\n case \"showOptionalMark\":\r\n case \"requiredMark\":\r\n case \"optionalMark\":\r\n case \"requiredMessage\":\r\n case \"scrollingEnabled\":\r\n case \"formID\":\r\n case \"colCountByScreen\":\r\n case \"screenByWidth\":\r\n case \"stylingMode\":\r\n this._invalidate();\r\n break;\r\n case \"showValidationSummary\":\r\n this._renderValidationSummary();\r\n break;\r\n case \"minColWidth\":\r\n if (\"auto\" === this.option(\"colCount\")) {\r\n this._invalidate()\r\n }\r\n break;\r\n case \"alignRootItemLabels\":\r\n case \"readOnly\":\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n this._rootLayoutManager.option(args.name, args.value);\r\n this._alignLabels(this._rootLayoutManager, this._rootLayoutManager.isSingleColumnMode());\r\n break;\r\n case \"validationGroup\":\r\n ValidationEngine.removeGroup(args.previousValue || this);\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _itemsOptionChangedHandler: function(args) {\r\n var nameParts = args.fullName.split(\".\");\r\n var value = args.value;\r\n var itemPath = this._getItemPath(nameParts);\r\n var item = this.option(itemPath);\r\n var optionNameWithoutPath = args.fullName.replace(itemPath + \".\", \"\");\r\n var simpleOptionName = optionNameWithoutPath.split(\".\")[0].replace(/\\[\\d+]/, \"\");\r\n var itemAction = this._tryCreateItemOptionAction(simpleOptionName, item, item[simpleOptionName], args.previousValue, itemPath);\r\n var result = this._tryExecuteItemOptionAction(itemAction) || this._tryChangeLayoutManagerItemOption(args.fullName, value);\r\n if (!result && item) {\r\n this._changeItemOption(item, optionNameWithoutPath, value);\r\n var items = this._generateItemsFromData(this.option(\"items\"));\r\n this.option(\"items\", items);\r\n result = true\r\n }\r\n return result\r\n },\r\n _formDataOptionChangedHandler: function(args) {\r\n var nameParts = args.fullName.split(\".\");\r\n var value = args.value;\r\n var dataField = nameParts.slice(1).join(\".\");\r\n var editor = this.getEditor(dataField);\r\n if (editor) {\r\n editor.option(\"value\", value)\r\n } else {\r\n this._triggerOnFieldDataChanged({\r\n dataField: dataField,\r\n value: value\r\n })\r\n }\r\n return true\r\n },\r\n _tryCreateItemOptionAction: function(optionName, item, value, previousValue, itemPath) {\r\n if (\"tabs\" === optionName) {\r\n this._itemsRunTimeInfo.removeItemsByPathStartWith(\"\".concat(itemPath, \".tabs\"));\r\n value = this._prepareItems(value, true, itemPath, true)\r\n }\r\n return tryCreateItemOptionAction(optionName, {\r\n item: item,\r\n value: value,\r\n previousValue: previousValue,\r\n itemsRunTimeInfo: this._itemsRunTimeInfo\r\n })\r\n },\r\n _tryExecuteItemOptionAction: function(action) {\r\n return action && action.tryExecute()\r\n },\r\n _updateValidationGroupAndSummaryIfNeeded: function(fullName) {\r\n var optionName = getOptionNameFromFullName(fullName);\r\n if (ITEM_OPTIONS_FOR_VALIDATION_UPDATING.indexOf(optionName) > -1) {\r\n ValidationEngine.addGroup(this._getValidationGroup());\r\n if (this.option(\"showValidationSummary\")) {\r\n var _this$_validationSumm2;\r\n null === (_this$_validationSumm2 = this._validationSummary) || void 0 === _this$_validationSumm2 ? void 0 : _this$_validationSumm2.refreshValidationGroup()\r\n }\r\n }\r\n },\r\n _setLayoutManagerItemOption(layoutManager, optionName, value, path) {\r\n if (this._updateLockCount > 0) {\r\n !layoutManager._updateLockCount && layoutManager.beginUpdate();\r\n var key = this._itemsRunTimeInfo.findKeyByPath(path);\r\n this.postponedOperations.add(key, () => {\r\n !layoutManager._disposed && layoutManager.endUpdate();\r\n return (new Deferred).resolve()\r\n })\r\n }\r\n var contentReadyHandler = e => {\r\n e.component.off(\"contentReady\", contentReadyHandler);\r\n if (isFullPathContainsTabs(path)) {\r\n var tabPath = tryGetTabPath(path);\r\n var tabLayoutManager = this._itemsRunTimeInfo.findGroupOrTabLayoutManagerByPath(tabPath);\r\n if (tabLayoutManager) {\r\n this._alignLabelsInColumn({\r\n items: tabLayoutManager.option(\"items\"),\r\n layoutManager: tabLayoutManager,\r\n $container: tabLayoutManager.$element(),\r\n inOneColumn: tabLayoutManager.isSingleColumnMode()\r\n })\r\n }\r\n } else {\r\n this._alignLabels(this._rootLayoutManager, this._rootLayoutManager.isSingleColumnMode())\r\n }\r\n };\r\n layoutManager.on(\"contentReady\", contentReadyHandler);\r\n layoutManager.option(optionName, value);\r\n this._updateValidationGroupAndSummaryIfNeeded(optionName)\r\n },\r\n _tryChangeLayoutManagerItemOption(fullName, value) {\r\n var nameParts = fullName.split(\".\");\r\n var optionName = getOptionNameFromFullName(fullName);\r\n if (\"items\" === optionName && nameParts.length > 1) {\r\n var itemPath = this._getItemPath(nameParts);\r\n var layoutManager = this._itemsRunTimeInfo.findGroupOrTabLayoutManagerByPath(itemPath);\r\n if (layoutManager) {\r\n this._itemsRunTimeInfo.removeItemsByItems(layoutManager.getItemsRunTimeInfo());\r\n var items = this._prepareItems(value, false, itemPath);\r\n this._setLayoutManagerItemOption(layoutManager, optionName, items, itemPath);\r\n return true\r\n }\r\n } else if (nameParts.length > 2) {\r\n var endPartIndex = nameParts.length - 2;\r\n var _itemPath = this._getItemPath(nameParts.slice(0, endPartIndex));\r\n var _layoutManager = this._itemsRunTimeInfo.findGroupOrTabLayoutManagerByPath(_itemPath);\r\n if (_layoutManager) {\r\n var fullOptionName = getFullOptionName(nameParts[endPartIndex], optionName);\r\n if (\"editorType\" === optionName) {\r\n if (_layoutManager.option(fullOptionName) !== value) {\r\n return false\r\n }\r\n }\r\n if (\"visible\" === optionName) {\r\n var formItems = this.option(getFullOptionName(_itemPath, \"items\"));\r\n if (formItems && formItems.length) {\r\n var layoutManagerItems = _layoutManager.option(\"items\");\r\n formItems.forEach((item, index) => {\r\n var layoutItem = layoutManagerItems[index];\r\n layoutItem.visibleIndex = item.visibleIndex\r\n })\r\n }\r\n }\r\n this._setLayoutManagerItemOption(_layoutManager, fullOptionName, value, _itemPath);\r\n return true\r\n }\r\n }\r\n return false\r\n },\r\n _tryChangeLayoutManagerItemOptions(itemPath, options) {\r\n var result;\r\n this.beginUpdate();\r\n each(options, (optionName, optionValue) => {\r\n result = this._tryChangeLayoutManagerItemOption(getFullOptionName(itemPath, optionName), optionValue);\r\n if (!result) {\r\n return false\r\n }\r\n });\r\n this.endUpdate();\r\n return result\r\n },\r\n _getItemPath: function(nameParts) {\r\n var itemPath = nameParts[0];\r\n var i;\r\n for (i = 1; i < nameParts.length; i++) {\r\n if (-1 !== nameParts[i].search(/items\\[\\d+]|tabs\\[\\d+]/)) {\r\n itemPath += \".\" + nameParts[i]\r\n } else {\r\n break\r\n }\r\n }\r\n return itemPath\r\n },\r\n _triggerOnFieldDataChanged: function(args) {\r\n this._createActionByOption(\"onFieldDataChanged\")(args)\r\n },\r\n _triggerOnFieldDataChangedByDataSet: function(data) {\r\n var that = this;\r\n if (data && isObject(data)) {\r\n each(data, (function(dataField, value) {\r\n that._triggerOnFieldDataChanged({\r\n dataField: dataField,\r\n value: value\r\n })\r\n }))\r\n }\r\n },\r\n _updateFieldValue: function(dataField, value) {\r\n if (isDefined(this.option(\"formData\"))) {\r\n var editor = this.getEditor(dataField);\r\n this.option(\"formData.\" + dataField, value);\r\n if (editor) {\r\n var editorValue = editor.option(\"value\");\r\n if (editorValue !== value) {\r\n editor.option(\"value\", value)\r\n }\r\n }\r\n }\r\n },\r\n _generateItemsFromData: function(items) {\r\n var formData = this.option(\"formData\");\r\n var result = [];\r\n if (!items && isDefined(formData)) {\r\n each(formData, (function(dataField) {\r\n result.push({\r\n dataField: dataField\r\n })\r\n }))\r\n }\r\n if (items) {\r\n each(items, (function(index, item) {\r\n if (isObject(item)) {\r\n result.push(item)\r\n } else {\r\n result.push({\r\n dataField: item\r\n })\r\n }\r\n }))\r\n }\r\n return result\r\n },\r\n _getItemByField: function(field, items) {\r\n var that = this;\r\n var fieldParts = isObject(field) ? field : that._getFieldParts(field);\r\n var fieldName = fieldParts.fieldName;\r\n var fieldPath = fieldParts.fieldPath;\r\n var resultItem;\r\n if (items.length) {\r\n each(items, (function(index, item) {\r\n var itemType = item.itemType;\r\n if (fieldPath.length) {\r\n var path = fieldPath.slice();\r\n item = that._getItemByFieldPath(path, fieldName, item)\r\n } else if (\"group\" === itemType && !(item.caption || item.name) || \"tabbed\" === itemType && !item.name) {\r\n var subItemsField = that._getSubItemField(itemType);\r\n item.items = that._generateItemsFromData(item.items);\r\n item = that._getItemByField({\r\n fieldName: fieldName,\r\n fieldPath: fieldPath\r\n }, item[subItemsField])\r\n }\r\n if (isEqualToDataFieldOrNameOrTitleOrCaption(item, fieldName)) {\r\n resultItem = item;\r\n return false\r\n }\r\n }))\r\n }\r\n return resultItem\r\n },\r\n _getFieldParts: function(field) {\r\n var fieldName = field;\r\n var separatorIndex = fieldName.indexOf(\".\");\r\n var resultPath = [];\r\n while (-1 !== separatorIndex) {\r\n resultPath.push(fieldName.substr(0, separatorIndex));\r\n fieldName = fieldName.substr(separatorIndex + 1);\r\n separatorIndex = fieldName.indexOf(\".\")\r\n }\r\n return {\r\n fieldName: fieldName,\r\n fieldPath: resultPath.reverse()\r\n }\r\n },\r\n _getItemByFieldPath: function(path, fieldName, item) {\r\n var itemType = item.itemType;\r\n var subItemsField = this._getSubItemField(itemType);\r\n var isItemWithSubItems = \"group\" === itemType || \"tabbed\" === itemType || item.title;\r\n var result;\r\n do {\r\n if (isItemWithSubItems) {\r\n var name = item.name || item.caption || item.title;\r\n var isGroupWithName = isDefined(name);\r\n var nameWithoutSpaces = getTextWithoutSpaces(name);\r\n var pathNode = void 0;\r\n item[subItemsField] = this._generateItemsFromData(item[subItemsField]);\r\n if (isGroupWithName) {\r\n pathNode = path.pop()\r\n }\r\n if (!path.length) {\r\n result = this._getItemByField(fieldName, item[subItemsField]);\r\n if (result) {\r\n break\r\n }\r\n }\r\n if (!isGroupWithName || isGroupWithName && nameWithoutSpaces === pathNode) {\r\n if (path.length) {\r\n result = this._searchItemInEverySubItem(path, fieldName, item[subItemsField])\r\n }\r\n }\r\n } else {\r\n break\r\n }\r\n } while (path.length && !isDefined(result));\r\n return result\r\n },\r\n _getSubItemField: function(itemType) {\r\n return \"tabbed\" === itemType ? \"tabs\" : \"items\"\r\n },\r\n _searchItemInEverySubItem: function(path, fieldName, items) {\r\n var that = this;\r\n var result;\r\n each(items, (function(index, groupItem) {\r\n result = that._getItemByFieldPath(path.slice(), fieldName, groupItem);\r\n if (result) {\r\n return false\r\n }\r\n }));\r\n if (!result) {\r\n result = false\r\n }\r\n return result\r\n },\r\n _changeItemOption: function(item, option, value) {\r\n if (isObject(item)) {\r\n item[option] = value\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n var currentScreenFactor = this._getCurrentScreenFactor();\r\n if (this._lastMarkupScreenFactor !== currentScreenFactor) {\r\n if (this._isColCountChanged(this._lastMarkupScreenFactor, currentScreenFactor)) {\r\n this._targetScreenFactor = currentScreenFactor;\r\n this._refresh();\r\n this._targetScreenFactor = void 0\r\n }\r\n this._lastMarkupScreenFactor = currentScreenFactor\r\n }\r\n },\r\n _isColCountChanged: function(oldScreenSize, newScreenSize) {\r\n var isChanged = false;\r\n each(this._cachedColCountOptions, (function(index, item) {\r\n if (item.colCountByScreen[oldScreenSize] !== item.colCountByScreen[newScreenSize]) {\r\n isChanged = true;\r\n return false\r\n }\r\n }));\r\n return isChanged\r\n },\r\n _refresh: function() {\r\n var editorSelector = \".\".concat(FOCUSED_STATE_CLASS, \" > :not(.dx-dropdowneditor-input-wrapper) input,\") + \" .\".concat(FOCUSED_STATE_CLASS, \" textarea\");\r\n eventsEngine.trigger(this.$element().find(editorSelector), \"change\");\r\n this.callBase()\r\n },\r\n _resetValues: function() {\r\n this._itemsRunTimeInfo.each((function(_, itemRunTimeInfo) {\r\n if (isDefined(itemRunTimeInfo.widgetInstance) && Editor.isEditor(itemRunTimeInfo.widgetInstance)) {\r\n itemRunTimeInfo.widgetInstance.reset();\r\n itemRunTimeInfo.widgetInstance.option(\"isValid\", true)\r\n }\r\n }));\r\n ValidationEngine.resetGroup(this._getValidationGroup())\r\n },\r\n _updateData: function(data, value, isComplexData) {\r\n var that = this;\r\n var _data = isComplexData ? value : data;\r\n if (isObject(_data)) {\r\n each(_data, (function(dataField, fieldValue) {\r\n that._updateData(isComplexData ? data + \".\" + dataField : dataField, fieldValue, isObject(fieldValue))\r\n }))\r\n } else if (isString(data)) {\r\n that._updateFieldValue(data, value)\r\n }\r\n },\r\n registerKeyHandler: function(key, handler) {\r\n this.callBase(key, handler);\r\n this._itemsRunTimeInfo.each((function(_, itemRunTimeInfo) {\r\n if (isDefined(itemRunTimeInfo.widgetInstance)) {\r\n itemRunTimeInfo.widgetInstance.registerKeyHandler(key, handler)\r\n }\r\n }))\r\n },\r\n _focusTarget: function() {\r\n return this.$element().find(\".\" + FIELD_ITEM_CONTENT_CLASS + \" [tabindex]\").first()\r\n },\r\n _visibilityChanged: function() {\r\n this._alignLabels(this._rootLayoutManager, this._rootLayoutManager.isSingleColumnMode())\r\n },\r\n _clearAutoColCountChangedTimeout: function() {\r\n if (this.autoColCountChangedTimeoutId) {\r\n clearTimeout(this.autoColCountChangedTimeoutId);\r\n this.autoColCountChangedTimeoutId = void 0\r\n }\r\n },\r\n _dispose: function() {\r\n this._clearAutoColCountChangedTimeout();\r\n ValidationEngine.removeGroup(this._getValidationGroup());\r\n this.callBase()\r\n },\r\n resetValues: function() {\r\n this._resetValues()\r\n },\r\n updateData: function(data, value) {\r\n this._updateData(data, value)\r\n },\r\n getEditor: function(dataField) {\r\n return this._itemsRunTimeInfo.findWidgetInstanceByDataField(dataField) || this._itemsRunTimeInfo.findWidgetInstanceByName(dataField)\r\n },\r\n getButton: function(name) {\r\n return this._itemsRunTimeInfo.findWidgetInstanceByName(name)\r\n },\r\n updateDimensions: function() {\r\n var that = this;\r\n var deferred = new Deferred;\r\n if (that._scrollable) {\r\n that._scrollable.update().done((function() {\r\n deferred.resolveWith(that)\r\n }))\r\n } else {\r\n deferred.resolveWith(that)\r\n }\r\n return deferred.promise()\r\n },\r\n itemOption: function(id, option, value) {\r\n var items = this._generateItemsFromData(this.option(\"items\"));\r\n var item = this._getItemByField(id, items);\r\n var path = getItemPath(items, item);\r\n if (!item) {\r\n return\r\n }\r\n switch (arguments.length) {\r\n case 1:\r\n return item;\r\n case 3:\r\n var itemAction = this._tryCreateItemOptionAction(option, item, value, item[option], path);\r\n this._changeItemOption(item, option, value);\r\n var fullName = getFullOptionName(path, option);\r\n if (!this._tryExecuteItemOptionAction(itemAction) && !this._tryChangeLayoutManagerItemOption(fullName, value)) {\r\n this.option(\"items\", items)\r\n }\r\n break;\r\n default:\r\n if (isObject(option)) {\r\n if (!this._tryChangeLayoutManagerItemOptions(path, option)) {\r\n var allowUpdateItems;\r\n each(option, (optionName, optionValue) => {\r\n var itemAction = this._tryCreateItemOptionAction(optionName, item, optionValue, item[optionName], path);\r\n this._changeItemOption(item, optionName, optionValue);\r\n if (!allowUpdateItems && !this._tryExecuteItemOptionAction(itemAction)) {\r\n allowUpdateItems = true\r\n }\r\n });\r\n allowUpdateItems && this.option(\"items\", items)\r\n }\r\n }\r\n }\r\n },\r\n validate: function() {\r\n return ValidationEngine.validateGroup(this._getValidationGroup())\r\n },\r\n getItemID: function(name) {\r\n return \"dx_\" + this.option(\"formID\") + \"_\" + (name || new Guid)\r\n },\r\n getTargetScreenFactor: function() {\r\n return this._targetScreenFactor\r\n }\r\n});\r\nregisterComponent(\"dxForm\", Form);\r\nexport default Form;\r\n","/**\r\n * DevExtreme (esm/ui/form.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Form from \"./form/ui.form\";\r\nexport default Form;\r\n","/**\r\n * DevExtreme (esm/ui/gallery.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth,\r\n setOuterWidth,\r\n getOuterHeight,\r\n getWidth\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n noop\r\n} from \"../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isPlainObject\r\n} from \"../core/utils/type\";\r\nimport {\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport fx from \"../animation/fx\";\r\nimport {\r\n name as clickEventName\r\n} from \"../events/click\";\r\nimport {\r\n move\r\n} from \"../animation/translator\";\r\nimport devices from \"../core/devices\";\r\nimport Widget from \"./widget/ui.widget\";\r\nimport {\r\n addNamespace\r\n} from \"../events/utils/index\";\r\nimport CollectionWidget from \"./collection/ui.collection_widget.edit\";\r\nimport Swipeable from \"../events/gesture/swipeable\";\r\nimport {\r\n BindableTemplate\r\n} from \"../core/templates/bindable_template\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n triggerResizeEvent\r\n} from \"../events/visibility_change\";\r\nvar GALLERY_CLASS = \"dx-gallery\";\r\nvar GALLERY_WRAPPER_CLASS = GALLERY_CLASS + \"-wrapper\";\r\nvar GALLERY_LOOP_CLASS = \"dx-gallery-loop\";\r\nvar GALLERY_ITEM_CONTAINER_CLASS = GALLERY_CLASS + \"-container\";\r\nvar GALLERY_ACTIVE_CLASS = GALLERY_CLASS + \"-active\";\r\nvar GALLERY_ITEM_CLASS = GALLERY_CLASS + \"-item\";\r\nvar GALLERY_INVISIBLE_ITEM_CLASS = GALLERY_CLASS + \"-item-invisible\";\r\nvar GALLERY_LOOP_ITEM_CLASS = GALLERY_ITEM_CLASS + \"-loop\";\r\nvar GALLERY_ITEM_SELECTOR = \".\" + GALLERY_ITEM_CLASS;\r\nvar GALLERY_ITEM_SELECTED_CLASS = GALLERY_ITEM_CLASS + \"-selected\";\r\nvar GALLERY_INDICATOR_CLASS = GALLERY_CLASS + \"-indicator\";\r\nvar GALLERY_INDICATOR_ITEM_CLASS = GALLERY_INDICATOR_CLASS + \"-item\";\r\nvar GALLERY_INDICATOR_ITEM_SELECTOR = \".\" + GALLERY_INDICATOR_ITEM_CLASS;\r\nvar GALLERY_INDICATOR_ITEM_SELECTED_CLASS = GALLERY_INDICATOR_ITEM_CLASS + \"-selected\";\r\nvar GALLERY_IMAGE_CLASS = \"dx-gallery-item-image\";\r\nvar GALLERY_ITEM_DATA_KEY = \"dxGalleryItemData\";\r\nvar MAX_CALC_ERROR = 1;\r\nvar GalleryNavButton = Widget.inherit({\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), {\r\n pageUp: noop,\r\n pageDown: noop\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n direction: \"next\",\r\n onClick: null,\r\n hoverStateEnabled: true,\r\n activeStateEnabled: true\r\n })\r\n },\r\n _render: function() {\r\n this.callBase();\r\n var that = this;\r\n var $element = this.$element();\r\n var eventName = addNamespace(clickEventName, this.NAME);\r\n $element.addClass(GALLERY_CLASS + \"-nav-button-\" + this.option(\"direction\"));\r\n eventsEngine.off($element, eventName);\r\n eventsEngine.on($element, eventName, (function(e) {\r\n that._createActionByOption(\"onClick\")({\r\n event: e\r\n })\r\n }))\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"onClick\":\r\n case \"direction\":\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nvar Gallery = CollectionWidget.inherit({\r\n _activeStateUnit: GALLERY_ITEM_SELECTOR,\r\n _wasAnyItemTemplateRendered: false,\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n activeStateEnabled: false,\r\n animationDuration: 400,\r\n animationEnabled: true,\r\n loop: false,\r\n swipeEnabled: true,\r\n indicatorEnabled: true,\r\n showIndicator: true,\r\n selectedIndex: 0,\r\n slideshowDelay: 0,\r\n showNavButtons: false,\r\n wrapAround: false,\r\n initialItemWidth: void 0,\r\n stretchImages: false,\r\n _itemAttributes: {\r\n role: \"option\"\r\n },\r\n loopItemFocus: false,\r\n selectOnFocus: true,\r\n selectionMode: \"single\",\r\n selectionRequired: true,\r\n selectionByClick: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.option(\"loopItemFocus\", this.option(\"loop\"))\r\n },\r\n _initTemplates: function() {\r\n this.callBase();\r\n this._templateManager.addDefaultTemplates({\r\n item: new BindableTemplate(function($container, data) {\r\n var $img = $(\"<img>\").addClass(GALLERY_IMAGE_CLASS);\r\n if (isPlainObject(data)) {\r\n this._prepareDefaultItemTemplate(data, $container);\r\n $img.attr({\r\n src: data.imageSrc,\r\n alt: data.imageAlt\r\n }).appendTo($container)\r\n } else {\r\n $img.attr(\"src\", String(data)).appendTo($container)\r\n }\r\n }.bind(this), [\"imageSrc\", \"imageAlt\", \"text\", \"html\"], this.option(\"integrationOptions.watchMethod\"))\r\n })\r\n },\r\n _dataSourceOptions: function() {\r\n return {\r\n paginate: false\r\n }\r\n },\r\n _itemContainer: function() {\r\n return this._$container\r\n },\r\n _itemClass: function() {\r\n return GALLERY_ITEM_CLASS\r\n },\r\n _itemDataKey: function() {\r\n return GALLERY_ITEM_DATA_KEY\r\n },\r\n _actualItemWidth: function() {\r\n var isWrapAround = this.option(\"wrapAround\");\r\n if (this.option(\"stretchImages\")) {\r\n var itemPerPage = isWrapAround ? this._itemsPerPage() + 1 : this._itemsPerPage();\r\n return 1 / itemPerPage\r\n }\r\n if (isWrapAround) {\r\n return this._itemPercentWidth() * this._itemsPerPage() / (this._itemsPerPage() + 1)\r\n }\r\n return this._itemPercentWidth()\r\n },\r\n _itemPercentWidth: function() {\r\n var percentWidth;\r\n var elementWidth = getOuterWidth(this.$element());\r\n var initialItemWidth = this.option(\"initialItemWidth\");\r\n if (initialItemWidth && initialItemWidth <= elementWidth) {\r\n percentWidth = initialItemWidth / elementWidth\r\n } else {\r\n percentWidth = 1\r\n }\r\n return percentWidth\r\n },\r\n _itemsPerPage: function() {\r\n var itemsPerPage = hasWindow() ? Math.floor(1 / this._itemPercentWidth()) : 1;\r\n return Math.min(itemsPerPage, this._itemsCount())\r\n },\r\n _pagesCount: function() {\r\n return Math.ceil(this._itemsCount() / this._itemsPerPage())\r\n },\r\n _itemsCount: function() {\r\n return (this.option(\"items\") || []).length\r\n },\r\n _offsetDirection: function() {\r\n return this.option(\"rtlEnabled\") ? -1 : 1\r\n },\r\n _initMarkup: function() {\r\n this._renderWrapper();\r\n this._renderItemsContainer();\r\n this.$element().addClass(GALLERY_CLASS);\r\n this.$element().toggleClass(GALLERY_LOOP_CLASS, this.option(\"loop\"));\r\n this.callBase();\r\n this.setAria({\r\n role: \"listbox\",\r\n label: \"gallery\"\r\n })\r\n },\r\n _render: function() {\r\n this._renderDragHandler();\r\n this._renderContainerPosition();\r\n this._renderItemSizes();\r\n this._renderItemPositions();\r\n this._renderNavButtons();\r\n this._renderIndicator();\r\n this._renderSelectedItem();\r\n this._renderItemVisibility();\r\n this._renderUserInteraction();\r\n this._setupSlideShow();\r\n this._reviseDimensions();\r\n this.callBase()\r\n },\r\n _dimensionChanged: function() {\r\n var selectedIndex = this.option(\"selectedIndex\") || 0;\r\n this._stopItemAnimations();\r\n this._clearCacheWidth();\r\n this._cloneDuplicateItems();\r\n this._renderItemSizes();\r\n this._renderItemPositions();\r\n this._renderIndicator();\r\n this._renderContainerPosition(this._calculateIndexOffset(selectedIndex), true);\r\n this._renderItemVisibility()\r\n },\r\n _renderDragHandler: function() {\r\n var eventName = addNamespace(\"dragstart\", this.NAME);\r\n eventsEngine.off(this.$element(), eventName);\r\n eventsEngine.on(this.$element(), eventName, \"img\", (function() {\r\n return false\r\n }))\r\n },\r\n _renderWrapper: function() {\r\n if (this._$wrapper) {\r\n return\r\n }\r\n this._$wrapper = $(\"<div>\").addClass(GALLERY_WRAPPER_CLASS).appendTo(this.$element())\r\n },\r\n _renderItems: function(items) {\r\n if (!hasWindow()) {\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n items = items.length > selectedIndex ? items.slice(selectedIndex, selectedIndex + 1) : items.slice(0, 1)\r\n }\r\n this.callBase(items);\r\n this._loadNextPageIfNeeded()\r\n },\r\n _onItemTemplateRendered() {\r\n return () => {\r\n if (!this._wasAnyItemTemplateRendered) {\r\n this._wasAnyItemTemplateRendered = true;\r\n triggerResizeEvent(this.$element())\r\n }\r\n }\r\n },\r\n _renderItemsContainer: function() {\r\n if (this._$container) {\r\n return\r\n }\r\n this._$container = $(\"<div>\").addClass(GALLERY_ITEM_CONTAINER_CLASS).appendTo(this._$wrapper)\r\n },\r\n _cloneDuplicateItems: function() {\r\n if (!this.option(\"loop\")) {\r\n return\r\n }\r\n var items = this.option(\"items\") || [];\r\n var itemsCount = items.length;\r\n var lastItemIndex = itemsCount - 1;\r\n var i;\r\n if (!itemsCount) {\r\n return\r\n }\r\n this._getLoopedItems().remove();\r\n var duplicateCount = Math.min(this._itemsPerPage(), itemsCount);\r\n var $items = this._getRealItems();\r\n var $container = this._itemContainer();\r\n for (i = 0; i < duplicateCount; i++) {\r\n this._cloneItemForDuplicate($items[i], $container)\r\n }\r\n for (i = 0; i < duplicateCount; i++) {\r\n this._cloneItemForDuplicate($items[lastItemIndex - i], $container)\r\n }\r\n },\r\n _cloneItemForDuplicate: function(item, $container) {\r\n if (item) {\r\n $(item).clone(false).addClass(GALLERY_LOOP_ITEM_CLASS).css(\"margin\", 0).appendTo($container)\r\n }\r\n },\r\n _getRealItems: function() {\r\n var selector = \".\" + GALLERY_ITEM_CLASS + \":not(.\" + GALLERY_LOOP_ITEM_CLASS + \")\";\r\n return this.$element().find(selector)\r\n },\r\n _getLoopedItems: function() {\r\n return this.$element().find(\".\" + GALLERY_LOOP_ITEM_CLASS)\r\n },\r\n _emptyMessageContainer: function() {\r\n return this._$wrapper\r\n },\r\n _renderItemSizes: function(startIndex) {\r\n var $items = this._itemElements();\r\n var itemWidth = this._actualItemWidth();\r\n if (void 0 !== startIndex) {\r\n $items = $items.slice(startIndex)\r\n }\r\n $items.each((function(index) {\r\n setOuterWidth($($items[index]), 100 * itemWidth + \"%\")\r\n }))\r\n },\r\n _renderItemPositions: function() {\r\n var itemWidth = this._actualItemWidth();\r\n var itemsCount = this._itemsCount();\r\n var itemsPerPage = this._itemsPerPage();\r\n var loopItemsCount = this.$element().find(\".\" + GALLERY_LOOP_ITEM_CLASS).length;\r\n var lastItemDuplicateIndex = itemsCount + loopItemsCount - 1;\r\n var offsetRatio = this.option(\"wrapAround\") ? .5 : 0;\r\n var freeSpace = this._itemFreeSpace();\r\n var isGapBetweenImages = !!freeSpace;\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n var side = rtlEnabled ? \"Right\" : \"Left\";\r\n this._itemElements().each((function(index) {\r\n var realIndex = index;\r\n var isLoopItem = $(this).hasClass(GALLERY_LOOP_ITEM_CLASS);\r\n if (index > itemsCount + itemsPerPage - 1) {\r\n realIndex = lastItemDuplicateIndex - realIndex - itemsPerPage\r\n }\r\n if (!isLoopItem && 0 !== realIndex) {\r\n if (isGapBetweenImages) {\r\n $(this).css(\"margin\" + side, 100 * freeSpace + \"%\")\r\n }\r\n return\r\n }\r\n var itemPosition = itemWidth * (realIndex + offsetRatio) + freeSpace * (realIndex + 1 - offsetRatio);\r\n var property = isLoopItem ? side.toLowerCase() : \"margin\" + side;\r\n $(this).css(property, 100 * itemPosition + \"%\")\r\n }));\r\n this._relocateItems(selectedIndex, selectedIndex, true)\r\n },\r\n _itemFreeSpace: function() {\r\n var itemsPerPage = this._itemsPerPage();\r\n if (this.option(\"wrapAround\")) {\r\n itemsPerPage += 1\r\n }\r\n return (1 - this._actualItemWidth() * itemsPerPage) / (itemsPerPage + 1)\r\n },\r\n _renderContainerPosition: function(offset, hideItems, animate) {\r\n this._releaseInvisibleItems();\r\n offset = offset || 0;\r\n var that = this;\r\n var itemWidth = this._actualItemWidth();\r\n var targetIndex = offset;\r\n var targetPosition = this._offsetDirection() * targetIndex * (itemWidth + this._itemFreeSpace());\r\n var positionReady;\r\n if (isDefined(this._animationOverride)) {\r\n animate = this._animationOverride;\r\n delete this._animationOverride\r\n }\r\n if (animate) {\r\n that._startSwipe();\r\n positionReady = that._animate(targetPosition).done(that._endSwipe.bind(that))\r\n } else {\r\n move(this._$container, {\r\n left: targetPosition * this._elementWidth(),\r\n top: 0\r\n });\r\n positionReady = (new Deferred).resolveWith(that)\r\n }\r\n positionReady.done((function() {\r\n this._deferredAnimate && that._deferredAnimate.resolveWith(that);\r\n hideItems && this._renderItemVisibility()\r\n }));\r\n return positionReady.promise()\r\n },\r\n _startSwipe: function() {\r\n this.$element().addClass(GALLERY_ACTIVE_CLASS)\r\n },\r\n _endSwipe: function() {\r\n this.$element().removeClass(GALLERY_ACTIVE_CLASS)\r\n },\r\n _animate: function(targetPosition, extraConfig) {\r\n var that = this;\r\n var $container = this._$container;\r\n var animationComplete = new Deferred;\r\n fx.animate(this._$container, extend({\r\n type: \"slide\",\r\n to: {\r\n left: targetPosition * this._elementWidth()\r\n },\r\n duration: that.option(\"animationDuration\"),\r\n complete: function() {\r\n if (that._needMoveContainerForward()) {\r\n move($container, {\r\n left: 0,\r\n top: 0\r\n })\r\n }\r\n if (that._needMoveContainerBack()) {\r\n move($container, {\r\n left: that._maxContainerOffset() * that._elementWidth(),\r\n top: 0\r\n })\r\n }\r\n animationComplete.resolveWith(that)\r\n }\r\n }, extraConfig || {}));\r\n return animationComplete\r\n },\r\n _needMoveContainerForward: function() {\r\n var expectedPosition = this._$container.position().left * this._offsetDirection();\r\n var actualPosition = -this._maxItemWidth() * this._elementWidth() * this._itemsCount();\r\n return expectedPosition <= actualPosition + MAX_CALC_ERROR\r\n },\r\n _needMoveContainerBack: function() {\r\n var expectedPosition = this._$container.position().left * this._offsetDirection();\r\n var actualPosition = this._actualItemWidth() * this._elementWidth();\r\n return expectedPosition >= actualPosition - MAX_CALC_ERROR\r\n },\r\n _maxContainerOffset: function() {\r\n return -this._maxItemWidth() * (this._itemsCount() - this._itemsPerPage()) * this._offsetDirection()\r\n },\r\n _maxItemWidth: function() {\r\n return this._actualItemWidth() + this._itemFreeSpace()\r\n },\r\n _reviseDimensions: function() {\r\n var $firstItem = this._itemElements().first().find(\".dx-item-content\");\r\n if (!$firstItem || $firstItem.is(\":hidden\")) {\r\n return\r\n }\r\n if (!this.option(\"height\")) {\r\n this.option(\"height\", getOuterHeight($firstItem))\r\n }\r\n if (!this.option(\"width\")) {\r\n this.option(\"width\", getOuterWidth($firstItem))\r\n }\r\n this._dimensionChanged()\r\n },\r\n _renderIndicator: function() {\r\n this._cleanIndicators();\r\n if (!this.option(\"showIndicator\")) {\r\n return\r\n }\r\n var indicator = this._$indicator = $(\"<div>\").addClass(GALLERY_INDICATOR_CLASS).appendTo(this._$wrapper);\r\n var isIndicatorEnabled = this.option(\"indicatorEnabled\");\r\n for (var i = 0; i < this._pagesCount(); i++) {\r\n var $indicatorItem = $(\"<div>\").addClass(GALLERY_INDICATOR_ITEM_CLASS).appendTo(indicator);\r\n if (isIndicatorEnabled) {\r\n this._attachIndicatorClickHandler($indicatorItem, i)\r\n }\r\n }\r\n this._renderSelectedPageIndicator()\r\n },\r\n _attachIndicatorClickHandler: function($element, index) {\r\n eventsEngine.on($element, addNamespace(clickEventName, this.NAME), function(event) {\r\n this._indicatorSelectHandler(event, index)\r\n }.bind(this))\r\n },\r\n _detachIndicatorClickHandler: function($element) {\r\n eventsEngine.off($element, addNamespace(clickEventName, this.NAME))\r\n },\r\n _toggleIndicatorInteraction: function(clickEnabled) {\r\n var _this$_$indicator;\r\n var $indicatorItems = (null === (_this$_$indicator = this._$indicator) || void 0 === _this$_$indicator ? void 0 : _this$_$indicator.find(GALLERY_INDICATOR_ITEM_SELECTOR)) || [];\r\n if ($indicatorItems.length) {\r\n $indicatorItems.each(function(index, element) {\r\n clickEnabled ? this._attachIndicatorClickHandler($(element), index) : this._detachIndicatorClickHandler($(element))\r\n }.bind(this))\r\n }\r\n },\r\n _cleanIndicators: function() {\r\n if (this._$indicator) {\r\n this._$indicator.remove()\r\n }\r\n },\r\n _renderSelectedItem: function() {\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n this._itemElements().removeClass(GALLERY_ITEM_SELECTED_CLASS).eq(selectedIndex).addClass(GALLERY_ITEM_SELECTED_CLASS)\r\n },\r\n _renderItemVisibility: function() {\r\n if (this.option(\"initialItemWidth\") || this.option(\"wrapAround\")) {\r\n this._releaseInvisibleItems();\r\n return\r\n }\r\n this._itemElements().each(function(index, item) {\r\n if (this.option(\"selectedIndex\") === index) {\r\n $(item).removeClass(GALLERY_INVISIBLE_ITEM_CLASS)\r\n } else {\r\n $(item).addClass(GALLERY_INVISIBLE_ITEM_CLASS)\r\n }\r\n }.bind(this));\r\n this._getLoopedItems().addClass(GALLERY_INVISIBLE_ITEM_CLASS)\r\n },\r\n _releaseInvisibleItems: function() {\r\n this._itemElements().removeClass(GALLERY_INVISIBLE_ITEM_CLASS);\r\n this._getLoopedItems().removeClass(GALLERY_INVISIBLE_ITEM_CLASS)\r\n },\r\n _renderSelectedPageIndicator: function() {\r\n if (!this._$indicator) {\r\n return\r\n }\r\n var itemIndex = this.option(\"selectedIndex\");\r\n var lastIndex = this._pagesCount() - 1;\r\n var pageIndex = Math.ceil(itemIndex / this._itemsPerPage());\r\n pageIndex = Math.min(lastIndex, pageIndex);\r\n this._$indicator.find(GALLERY_INDICATOR_ITEM_SELECTOR).removeClass(GALLERY_INDICATOR_ITEM_SELECTED_CLASS).eq(pageIndex).addClass(GALLERY_INDICATOR_ITEM_SELECTED_CLASS)\r\n },\r\n _renderUserInteraction: function() {\r\n var rootElement = this.$element();\r\n var swipeEnabled = this.option(\"swipeEnabled\") && this._itemsCount() > 1;\r\n this._createComponent(rootElement, Swipeable, {\r\n disabled: this.option(\"disabled\") || !swipeEnabled,\r\n onStart: this._swipeStartHandler.bind(this),\r\n onUpdated: this._swipeUpdateHandler.bind(this),\r\n onEnd: this._swipeEndHandler.bind(this),\r\n itemSizeFunc: this._elementWidth.bind(this)\r\n })\r\n },\r\n _indicatorSelectHandler: function(e, indicatorIndex) {\r\n if (!this.option(\"indicatorEnabled\")) {\r\n return\r\n }\r\n var itemIndex = this._fitPaginatedIndex(indicatorIndex * this._itemsPerPage());\r\n this._needLongMove = true;\r\n this.option(\"selectedIndex\", itemIndex);\r\n this._loadNextPageIfNeeded(itemIndex)\r\n },\r\n _renderNavButtons: function() {\r\n var that = this;\r\n if (!that.option(\"showNavButtons\")) {\r\n that._cleanNavButtons();\r\n return\r\n }\r\n that._prevNavButton = $(\"<div>\").appendTo(this._$wrapper);\r\n that._createComponent(that._prevNavButton, GalleryNavButton, {\r\n direction: \"prev\",\r\n onClick: function() {\r\n that._prevPage()\r\n }\r\n });\r\n that._nextNavButton = $(\"<div>\").appendTo(this._$wrapper);\r\n that._createComponent(that._nextNavButton, GalleryNavButton, {\r\n direction: \"next\",\r\n onClick: function() {\r\n that._nextPage()\r\n }\r\n });\r\n this._renderNavButtonsVisibility()\r\n },\r\n _prevPage: function() {\r\n var visiblePageSize = this._itemsPerPage();\r\n var newSelectedIndex = this.option(\"selectedIndex\") - visiblePageSize;\r\n if (newSelectedIndex === -visiblePageSize && visiblePageSize === this._itemsCount()) {\r\n return this._relocateItems(newSelectedIndex, 0)\r\n } else {\r\n return this.goToItem(this._fitPaginatedIndex(newSelectedIndex))\r\n }\r\n },\r\n _nextPage: function() {\r\n var visiblePageSize = this._itemsPerPage();\r\n var newSelectedIndex = this.option(\"selectedIndex\") + visiblePageSize;\r\n if (newSelectedIndex === visiblePageSize && visiblePageSize === this._itemsCount()) {\r\n return this._relocateItems(newSelectedIndex, 0)\r\n } else {\r\n return this.goToItem(this._fitPaginatedIndex(newSelectedIndex)).done(this._loadNextPageIfNeeded)\r\n }\r\n },\r\n _loadNextPageIfNeeded: function(selectedIndex) {\r\n selectedIndex = void 0 === selectedIndex ? this.option(\"selectedIndex\") : selectedIndex;\r\n if (this._dataSource && this._dataSource.paginate() && this._shouldLoadNextPage(selectedIndex) && !this._isDataSourceLoading() && !this._isLastPage()) {\r\n this._loadNextPage().done(function() {\r\n this._renderIndicator();\r\n this._cloneDuplicateItems();\r\n this._renderItemPositions();\r\n this._renderNavButtonsVisibility();\r\n this._renderItemSizes(selectedIndex)\r\n }.bind(this))\r\n }\r\n },\r\n _shouldLoadNextPage: function(selectedIndex) {\r\n var visiblePageSize = this._itemsPerPage();\r\n return selectedIndex + 2 * visiblePageSize > this.option(\"items\").length\r\n },\r\n _allowDynamicItemsAppend: function() {\r\n return true\r\n },\r\n _fitPaginatedIndex: function(itemIndex) {\r\n var itemsPerPage = this._itemsPerPage();\r\n var restItemsCount = itemIndex < 0 ? itemsPerPage + itemIndex : this._itemsCount() - itemIndex;\r\n if (itemIndex > this._itemsCount() - 1) {\r\n itemIndex = 0;\r\n this._goToGhostItem = true\r\n } else if (restItemsCount < itemsPerPage && restItemsCount > 0) {\r\n if (itemIndex > 0) {\r\n itemIndex -= itemsPerPage - restItemsCount\r\n } else {\r\n itemIndex += itemsPerPage - restItemsCount\r\n }\r\n }\r\n return itemIndex\r\n },\r\n _cleanNavButtons: function() {\r\n if (this._prevNavButton) {\r\n this._prevNavButton.remove();\r\n delete this._prevNavButton\r\n }\r\n if (this._nextNavButton) {\r\n this._nextNavButton.remove();\r\n delete this._nextNavButton\r\n }\r\n },\r\n _renderNavButtonsVisibility: function() {\r\n if (!this.option(\"showNavButtons\") || !this._prevNavButton || !this._nextNavButton) {\r\n return\r\n }\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n var loop = this.option(\"loop\");\r\n var itemsCount = this._itemsCount();\r\n this._prevNavButton.show();\r\n this._nextNavButton.show();\r\n if (0 === itemsCount) {\r\n this._prevNavButton.hide();\r\n this._nextNavButton.hide()\r\n }\r\n if (loop) {\r\n return\r\n }\r\n var nextHidden = selectedIndex === itemsCount - this._itemsPerPage();\r\n var prevHidden = itemsCount < 2 || 0 === selectedIndex;\r\n if (this._dataSource && this._dataSource.paginate()) {\r\n nextHidden = nextHidden && this._isLastPage()\r\n } else {\r\n nextHidden = nextHidden || itemsCount < 2\r\n }\r\n if (prevHidden) {\r\n this._prevNavButton.hide()\r\n }\r\n if (nextHidden) {\r\n this._nextNavButton.hide()\r\n }\r\n },\r\n _setupSlideShow: function() {\r\n var that = this;\r\n var slideshowDelay = that.option(\"slideshowDelay\");\r\n clearTimeout(that._slideshowTimer);\r\n if (!slideshowDelay) {\r\n return\r\n }\r\n that._slideshowTimer = setTimeout((function() {\r\n if (that._userInteraction) {\r\n that._setupSlideShow();\r\n return\r\n }\r\n that.nextItem(true).done(that._setupSlideShow)\r\n }), slideshowDelay)\r\n },\r\n _elementWidth: function() {\r\n if (!this._cacheElementWidth) {\r\n this._cacheElementWidth = getWidth(this.$element())\r\n }\r\n return this._cacheElementWidth\r\n },\r\n _clearCacheWidth: function() {\r\n delete this._cacheElementWidth\r\n },\r\n _swipeStartHandler: function(e) {\r\n this._releaseInvisibleItems();\r\n this._clearCacheWidth();\r\n this._elementWidth();\r\n var itemsCount = this._itemsCount();\r\n if (!itemsCount) {\r\n e.event.cancel = true;\r\n return\r\n }\r\n this._stopItemAnimations();\r\n this._startSwipe();\r\n this._userInteraction = true;\r\n if (!this.option(\"loop\")) {\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n var startOffset = itemsCount - selectedIndex - this._itemsPerPage();\r\n var endOffset = selectedIndex;\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n e.event.maxLeftOffset = rtlEnabled ? endOffset : startOffset;\r\n e.event.maxRightOffset = rtlEnabled ? startOffset : endOffset\r\n }\r\n },\r\n _stopItemAnimations: function() {\r\n fx.stop(this._$container, true)\r\n },\r\n _swipeUpdateHandler: function(e) {\r\n var wrapAroundRatio = this.option(\"wrapAround\") ? 1 : 0;\r\n var offset = this._offsetDirection() * e.event.offset * (this._itemsPerPage() + wrapAroundRatio) - this.option(\"selectedIndex\");\r\n if (offset < 0) {\r\n this._loadNextPageIfNeeded(Math.ceil(Math.abs(offset)))\r\n }\r\n this._renderContainerPosition(offset)\r\n },\r\n _swipeEndHandler: function(e) {\r\n var targetOffset = e.event.targetOffset * this._offsetDirection() * this._itemsPerPage();\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n var newIndex = this._fitIndex(selectedIndex - targetOffset);\r\n var paginatedIndex = this._fitPaginatedIndex(newIndex);\r\n if (Math.abs(targetOffset) < this._itemsPerPage()) {\r\n this._relocateItems(selectedIndex);\r\n return\r\n }\r\n if (this._itemsPerPage() === this._itemsCount()) {\r\n if (targetOffset > 0) {\r\n this._relocateItems(-targetOffset)\r\n } else {\r\n this._relocateItems(0)\r\n }\r\n return\r\n }\r\n this.option(\"selectedIndex\", paginatedIndex)\r\n },\r\n _setFocusOnSelect: function() {\r\n this._userInteraction = true;\r\n var selectedItem = this.itemElements().filter(\".\" + GALLERY_ITEM_SELECTED_CLASS);\r\n this.option(\"focusedElement\", getPublicElement(selectedItem));\r\n this._userInteraction = false\r\n },\r\n _flipIndex: function(index) {\r\n var itemsCount = this._itemsCount();\r\n index %= itemsCount;\r\n if (index > (itemsCount + 1) / 2) {\r\n index -= itemsCount\r\n }\r\n if (index < -(itemsCount - 1) / 2) {\r\n index += itemsCount\r\n }\r\n return index\r\n },\r\n _fitIndex: function(index) {\r\n if (!this.option(\"loop\")) {\r\n return index\r\n }\r\n var itemsCount = this._itemsCount();\r\n if (index >= itemsCount || index < 0) {\r\n this._goToGhostItem = true\r\n }\r\n if (index >= itemsCount) {\r\n index = itemsCount - index\r\n }\r\n index %= itemsCount;\r\n if (index < 0) {\r\n index += itemsCount\r\n }\r\n return index\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n this._cleanIndicators();\r\n this._cleanNavButtons()\r\n },\r\n _dispose: function() {\r\n this._wasAnyItemTemplateRendered = null;\r\n clearTimeout(this._slideshowTimer);\r\n this.callBase()\r\n },\r\n _updateSelection: function(addedSelection, removedSelection) {\r\n this._stopItemAnimations();\r\n this._renderNavButtonsVisibility();\r\n this._renderSelectedItem();\r\n this._relocateItems(addedSelection[0], removedSelection[0]);\r\n this._renderSelectedPageIndicator()\r\n },\r\n _relocateItems: function(newIndex, prevIndex, withoutAnimation) {\r\n if (void 0 === prevIndex) {\r\n prevIndex = newIndex\r\n }\r\n var indexOffset = this._calculateIndexOffset(newIndex, prevIndex);\r\n this._renderContainerPosition(indexOffset, true, this.option(\"animationEnabled\") && !withoutAnimation).done((function() {\r\n this._setFocusOnSelect();\r\n this._userInteraction = false;\r\n this._setupSlideShow()\r\n }))\r\n },\r\n _focusInHandler: function() {\r\n if (fx.isAnimating(this._$container) || this._userInteraction) {\r\n return\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _focusOutHandler: function() {\r\n if (fx.isAnimating(this._$container) || this._userInteraction) {\r\n return\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _selectFocusedItem: noop,\r\n _moveFocus: function() {\r\n this._stopItemAnimations();\r\n this.callBase.apply(this, arguments);\r\n var index = this.itemElements().index($(this.option(\"focusedElement\")));\r\n this.goToItem(index, this.option(\"animationEnabled\"))\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this._reviseDimensions()\r\n }\r\n },\r\n _calculateIndexOffset: function(newIndex, lastIndex) {\r\n if (void 0 === lastIndex) {\r\n lastIndex = newIndex\r\n }\r\n var indexOffset = lastIndex - newIndex;\r\n if (this.option(\"loop\") && !this._needLongMove && this._goToGhostItem) {\r\n if (this._isItemOnFirstPage(newIndex) && this._isItemOnLastPage(lastIndex)) {\r\n indexOffset = -this._itemsPerPage()\r\n } else if (this._isItemOnLastPage(newIndex) && this._isItemOnFirstPage(lastIndex)) {\r\n indexOffset = this._itemsPerPage()\r\n }\r\n this._goToGhostItem = false\r\n }\r\n this._needLongMove = false;\r\n indexOffset -= lastIndex;\r\n return indexOffset\r\n },\r\n _isItemOnLastPage: function(itemIndex) {\r\n return itemIndex >= this._itemsCount() - this._itemsPerPage()\r\n },\r\n _isItemOnFirstPage: function(itemIndex) {\r\n return itemIndex <= this._itemsPerPage()\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"width\":\r\n case \"initialItemWidth\":\r\n this.callBase.apply(this, arguments);\r\n this._dimensionChanged();\r\n break;\r\n case \"animationDuration\":\r\n this._renderNavButtonsVisibility();\r\n break;\r\n case \"animationEnabled\":\r\n break;\r\n case \"loop\":\r\n this.$element().toggleClass(GALLERY_LOOP_CLASS, args.value);\r\n this.option(\"loopItemFocus\", args.value);\r\n if (hasWindow()) {\r\n this._cloneDuplicateItems();\r\n this._renderItemPositions();\r\n this._renderNavButtonsVisibility()\r\n }\r\n break;\r\n case \"showIndicator\":\r\n this._renderIndicator();\r\n break;\r\n case \"showNavButtons\":\r\n this._renderNavButtons();\r\n break;\r\n case \"slideshowDelay\":\r\n this._setupSlideShow();\r\n break;\r\n case \"wrapAround\":\r\n case \"stretchImages\":\r\n if (hasWindow()) {\r\n this._renderItemSizes();\r\n this._renderItemPositions();\r\n this._renderItemVisibility()\r\n }\r\n break;\r\n case \"swipeEnabled\":\r\n this._renderUserInteraction();\r\n break;\r\n case \"indicatorEnabled\":\r\n this._toggleIndicatorInteraction(args.value);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n goToItem: function(itemIndex, animation) {\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n var itemsCount = this._itemsCount();\r\n if (void 0 !== animation) {\r\n this._animationOverride = animation\r\n }\r\n itemIndex = this._fitIndex(itemIndex);\r\n this._deferredAnimate = new Deferred;\r\n if (itemIndex > itemsCount - 1 || itemIndex < 0 || selectedIndex === itemIndex) {\r\n return this._deferredAnimate.resolveWith(this).promise()\r\n }\r\n this.option(\"selectedIndex\", itemIndex);\r\n return this._deferredAnimate.promise()\r\n },\r\n prevItem: function(animation) {\r\n return this.goToItem(this.option(\"selectedIndex\") - 1, animation)\r\n },\r\n nextItem: function(animation) {\r\n return this.goToItem(this.option(\"selectedIndex\") + 1, animation)\r\n }\r\n});\r\nregisterComponent(\"dxGallery\", Gallery);\r\nexport default Gallery;\r\n","/**\r\n * DevExtreme (esm/ui/gantt/ui.gantt.model_changes_listener.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar GANTT_TASKS = \"tasks\";\r\nvar GANTT_DEPENDENCIES = \"dependencies\";\r\nvar GANTT_RESOURCES = \"resources\";\r\nvar GANTT_RESOURCE_ASSIGNMENTS = \"resourceAssignments\";\r\nexport var ModelChangesListener = {\r\n create: gantt => ({\r\n NotifyTaskCreated: (task, callback, errorCallback) => {\r\n gantt._onRecordInserted(GANTT_TASKS, task, callback)\r\n },\r\n NotifyTaskRemoved: (taskId, errorCallback, task) => {\r\n gantt._onRecordRemoved(GANTT_TASKS, taskId, task)\r\n },\r\n NotifyTaskUpdated: (taskId, newValues, errorCallback) => {\r\n gantt._onRecordUpdated(GANTT_TASKS, taskId, newValues)\r\n },\r\n NotifyParentTaskUpdated: (task, errorCallback) => {\r\n gantt._onParentTaskUpdated(task)\r\n },\r\n NotifyDependencyInserted: (dependency, callback, errorCallback) => {\r\n gantt._onRecordInserted(GANTT_DEPENDENCIES, dependency, callback)\r\n },\r\n NotifyDependencyRemoved: (dependencyId, errorCallback, dependency) => {\r\n gantt._onRecordRemoved(GANTT_DEPENDENCIES, dependencyId, dependency)\r\n },\r\n NotifyResourceCreated: (resource, callback, errorCallback) => {\r\n gantt._onRecordInserted(GANTT_RESOURCES, resource, callback)\r\n },\r\n NotifyResourceRemoved: (resourceId, errorCallback, resource) => {\r\n gantt._onRecordRemoved(GANTT_RESOURCES, resourceId, resource)\r\n },\r\n NotifyResourceAssigned: (assignment, callback, errorCallback) => {\r\n gantt._onRecordInserted(GANTT_RESOURCE_ASSIGNMENTS, assignment, callback)\r\n },\r\n NotifyResourceUnassigned: (assignmentId, errorCallback, assignment) => {\r\n gantt._onRecordRemoved(GANTT_RESOURCE_ASSIGNMENTS, assignmentId, assignment)\r\n },\r\n NotifyParentDataRecalculated: data => {\r\n gantt._onParentTasksRecalculated(data)\r\n },\r\n NotifyTaskCreating: args => {\r\n gantt._actionsManager.raiseInsertingAction(GANTT_TASKS, args)\r\n },\r\n NotifyTaskRemoving: args => {\r\n gantt._actionsManager.raiseDeletingAction(GANTT_TASKS, args)\r\n },\r\n NotifyTaskUpdating: args => {\r\n gantt._actionsManager.raiseUpdatingAction(GANTT_TASKS, args)\r\n },\r\n NotifyTaskMoving: args => {\r\n gantt._actionsManager.raiseUpdatingAction(GANTT_TASKS, args, gantt._actionsManager.getTaskMovingAction())\r\n },\r\n NotifyTaskEditDialogShowing: args => {\r\n gantt._actionsManager.raiseTaskEditDialogShowingAction(args)\r\n },\r\n NotifyResourceManagerDialogShowing: args => {\r\n gantt._actionsManager.raiseResourceManagerDialogShowingAction(args)\r\n },\r\n NotifyDependencyInserting: args => {\r\n gantt._actionsManager.raiseInsertingAction(GANTT_DEPENDENCIES, args)\r\n },\r\n NotifyDependencyRemoving: args => {\r\n gantt._actionsManager.raiseDeletingAction(GANTT_DEPENDENCIES, args)\r\n },\r\n NotifyResourceCreating: args => {\r\n gantt._actionsManager.raiseInsertingAction(GANTT_RESOURCES, args)\r\n },\r\n NotifyResourceRemoving: args => {\r\n gantt._actionsManager.raiseDeletingAction(GANTT_RESOURCES, args)\r\n },\r\n NotifyResourceAssigning: args => {\r\n gantt._actionsManager.raiseInsertingAction(GANTT_RESOURCE_ASSIGNMENTS, args)\r\n },\r\n NotifyResourceUnassigning: args => {\r\n gantt._actionsManager.raiseDeletingAction(GANTT_RESOURCE_ASSIGNMENTS, args)\r\n },\r\n NotifyScaleCellPrepared: args => {\r\n gantt._actionsManager.raiseScaleCellPreparedAction(args)\r\n },\r\n NotifyGanttViewUpdated: () => {\r\n gantt._onGanttViewCoreUpdated()\r\n }\r\n })\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/gantt/ui.gantt.data.option.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n Component\r\n} from \"../../core/component\";\r\nimport DataHelperMixin from \"../../data_helper\";\r\nclass DataOption extends Component {\r\n constructor(optionName, getLoadPanel, dataSourceChangedCallback) {\r\n super();\r\n this._optionName = optionName;\r\n this._getLoadPanel = getLoadPanel;\r\n this._dataSourceChangedCallback = dataSourceChangedCallback\r\n }\r\n insert(data, callback, errorCallback) {\r\n this._showLoadPanel();\r\n this._getStore().insert(data).done(response => {\r\n if (callback) {\r\n callback(response)\r\n }\r\n this._hideLoadPanel()\r\n }).fail(error => {\r\n if (errorCallback) {\r\n errorCallback(error)\r\n }\r\n this._hideLoadPanel()\r\n })\r\n }\r\n update(key, data, callback, errorCallback) {\r\n this._showLoadPanel();\r\n this._getStore().update(key, data).done((data, key) => {\r\n if (callback) {\r\n callback(data, key)\r\n }\r\n this._hideLoadPanel()\r\n }).fail(error => {\r\n if (errorCallback) {\r\n errorCallback(error)\r\n }\r\n this._hideLoadPanel()\r\n })\r\n }\r\n remove(key, callback, errorCallback) {\r\n this._showLoadPanel();\r\n this._getStore().remove(key).done(key => {\r\n if (callback) {\r\n callback(key)\r\n }\r\n this._hideLoadPanel()\r\n }).fail(error => {\r\n if (errorCallback) {\r\n errorCallback(error)\r\n }\r\n this._hideLoadPanel()\r\n })\r\n }\r\n _dataSourceChangedHandler(newItems, e) {\r\n this._dataSourceChangedCallback(this._optionName, newItems)\r\n }\r\n _dataSourceOptions() {\r\n return {\r\n paginate: false\r\n }\r\n }\r\n _dataSourceLoadingChangedHandler(isLoading) {\r\n if (isLoading && !this._dataSource.isLoaded()) {\r\n this._showLoadPanel()\r\n } else {\r\n this._hideLoadPanel()\r\n }\r\n }\r\n _showLoadPanel() {\r\n var _this$_getLoadPanel;\r\n null === (_this$_getLoadPanel = this._getLoadPanel()) || void 0 === _this$_getLoadPanel ? void 0 : _this$_getLoadPanel.show()\r\n }\r\n _hideLoadPanel() {\r\n var _this$_getLoadPanel2;\r\n null === (_this$_getLoadPanel2 = this._getLoadPanel()) || void 0 === _this$_getLoadPanel2 ? void 0 : _this$_getLoadPanel2.hide()\r\n }\r\n _getStore() {\r\n return this._dataSource.store()\r\n }\r\n _getItems() {\r\n return this._getStore()._array || this._dataSource.items()\r\n }\r\n _reloadDataSource() {\r\n return this._dataSource.load()\r\n }\r\n dispose() {\r\n this._disposeDataSource()\r\n }\r\n _optionChanged(args) {\r\n args.name\r\n }\r\n}\r\nDataOption.include(DataHelperMixin);\r\nexport default DataOption;\r\n","/**\r\n * DevExtreme (esm/ui/gantt/ui.gantt.actions.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nvar Actions = {\r\n onContextMenuPreparing: \"onContextMenuPreparing\",\r\n onCustomCommand: \"onCustomCommand\",\r\n onDependencyDeleted: \"onDependencyDeleted\",\r\n onDependencyDeleting: \"onDependencyDeleting\",\r\n onDependencyInserted: \"onDependencyInserted\",\r\n onDependencyInserting: \"onDependencyInserting\",\r\n onResourceAssigned: \"onResourceAssigned\",\r\n onResourceAssigning: \"onResourceAssigning\",\r\n onResourceDeleted: \"onResourceDeleted\",\r\n onResourceDeleting: \"onResourceDeleting\",\r\n onResourceInserted: \"onResourceInserted\",\r\n onResourceInserting: \"onResourceInserting\",\r\n onResourceManagerDialogShowing: \"onResourceManagerDialogShowing\",\r\n onResourceUnassigned: \"onResourceUnassigned\",\r\n onResourceUnassigning: \"onResourceUnassigning\",\r\n onSelectionChanged: \"onSelectionChanged\",\r\n onTaskClick: \"onTaskClick\",\r\n onTaskDblClick: \"onTaskDblClick\",\r\n onTaskDeleted: \"onTaskDeleted\",\r\n onTaskDeleting: \"onTaskDeleting\",\r\n onTaskEditDialogShowing: \"onTaskEditDialogShowing\",\r\n onTaskInserted: \"onTaskInserted\",\r\n onTaskInserting: \"onTaskInserting\",\r\n onTaskMoving: \"onTaskMoving\",\r\n onTaskUpdated: \"onTaskUpdated\",\r\n onTaskUpdating: \"onTaskUpdating\",\r\n onScaleCellPrepared: \"onScaleCellPrepared\"\r\n};\r\nvar GANTT_TASKS = \"tasks\";\r\nvar GANTT_DEPENDENCIES = \"dependencies\";\r\nvar GANTT_RESOURCES = \"resources\";\r\nvar GANTT_RESOURCE_ASSIGNMENTS = \"resourceAssignments\";\r\nvar GANTT_NEW_TASK_CACHE_KEY = \"gantt_new_task_key\";\r\nexport class GanttActionsManager {\r\n constructor(gantt) {\r\n this._gantt = gantt;\r\n this._mappingHelper = gantt._mappingHelper;\r\n this._customFieldsManager = gantt._customFieldsManager\r\n }\r\n _createActionByOption(optionName) {\r\n return this._gantt._createActionByOption(optionName)\r\n }\r\n _getTaskData(key) {\r\n return this._gantt.getTaskData(key)\r\n }\r\n _convertCoreToMappedData(optionName, coreData) {\r\n return this._mappingHelper.convertCoreToMappedData(optionName, coreData)\r\n }\r\n _convertMappedToCoreData(optionName, mappedData) {\r\n return this._mappingHelper.convertMappedToCoreData(optionName, mappedData)\r\n }\r\n _convertMappedToCoreFields(optionName, fields) {\r\n return this._mappingHelper.convertMappedToCoreFields(optionName, fields)\r\n }\r\n _convertCoreToMappedFields(optionName, fields) {\r\n return this._mappingHelper.convertCoreToMappedFields(optionName, fields)\r\n }\r\n _saveCustomFieldsDataToCache(key, data) {\r\n var forceUpdateOnKeyExpire = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false;\r\n var isCustomFieldsUpdateOnly = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : false;\r\n this._customFieldsManager.saveCustomFieldsDataToCache(key, data, forceUpdateOnKeyExpire, isCustomFieldsUpdateOnly)\r\n }\r\n createTaskDblClickAction() {\r\n this._taskDblClickAction = this._createActionByOption(Actions.onTaskDblClick)\r\n }\r\n taskDblClickAction(args) {\r\n if (!this._taskDblClickAction) {\r\n this.createTaskDblClickAction()\r\n }\r\n this._taskDblClickAction(args)\r\n }\r\n raiseTaskDblClickAction(key, event) {\r\n var args = {\r\n cancel: false,\r\n data: this._getTaskData(key),\r\n event: event,\r\n key: key\r\n };\r\n this.taskDblClickAction(args);\r\n return !args.cancel\r\n }\r\n createTaskClickAction() {\r\n this._taskClickAction = this._createActionByOption(Actions.onTaskClick)\r\n }\r\n taskClickAction(args) {\r\n if (!this._taskClickAction) {\r\n this.createTaskClickAction()\r\n }\r\n this._taskClickAction(args)\r\n }\r\n raiseTaskClickAction(key, event) {\r\n var args = {\r\n key: key,\r\n event: event,\r\n data: this._getTaskData(key)\r\n };\r\n this.taskClickAction(args)\r\n }\r\n createSelectionChangedAction() {\r\n this._selectionChangedAction = this._createActionByOption(Actions.onSelectionChanged)\r\n }\r\n selectionChangedAction(args) {\r\n if (!this._selectionChangedAction) {\r\n this.createSelectionChangedAction()\r\n }\r\n this._selectionChangedAction(args)\r\n }\r\n raiseSelectionChangedAction(selectedRowKey) {\r\n this.selectionChangedAction({\r\n selectedRowKey: selectedRowKey\r\n })\r\n }\r\n createCustomCommandAction() {\r\n this._customCommandAction = this._createActionByOption(Actions.onCustomCommand)\r\n }\r\n customCommandAction(args) {\r\n if (!this._customCommandAction) {\r\n this.createCustomCommandAction()\r\n }\r\n this._customCommandAction(args)\r\n }\r\n raiseCustomCommand(commandName) {\r\n this.customCommandAction({\r\n name: commandName\r\n })\r\n }\r\n createContextMenuPreparingAction() {\r\n this._contextMenuPreparingAction = this._createActionByOption(Actions.onContextMenuPreparing)\r\n }\r\n contextMenuPreparingAction(args) {\r\n if (!this._contextMenuPreparingAction) {\r\n this.createContextMenuPreparingAction()\r\n }\r\n this._contextMenuPreparingAction(args)\r\n }\r\n raiseContextMenuPreparing(options) {\r\n this.contextMenuPreparingAction(options)\r\n }\r\n _getInsertingAction(optionName) {\r\n switch (optionName) {\r\n case GANTT_TASKS:\r\n return this._getTaskInsertingAction();\r\n case GANTT_DEPENDENCIES:\r\n return this._getDependencyInsertingAction();\r\n case GANTT_RESOURCES:\r\n return this._getResourceInsertingAction();\r\n case GANTT_RESOURCE_ASSIGNMENTS:\r\n return this._getResourceAssigningAction()\r\n }\r\n return () => {}\r\n }\r\n raiseInsertingAction(optionName, coreArgs) {\r\n var action = this._getInsertingAction(optionName);\r\n if (action) {\r\n var args = {\r\n cancel: false,\r\n values: this._convertCoreToMappedData(optionName, coreArgs.values)\r\n };\r\n action(args);\r\n coreArgs.cancel = args.cancel;\r\n extend(coreArgs.values, this._convertMappedToCoreData(optionName, args.values));\r\n if (optionName === GANTT_TASKS) {\r\n this._saveCustomFieldsDataToCache(GANTT_NEW_TASK_CACHE_KEY, args.values)\r\n }\r\n }\r\n }\r\n createTaskInsertingAction() {\r\n this._taskInsertingAction = this._createActionByOption(Actions.onTaskInserting)\r\n }\r\n taskInsertingAction(args) {\r\n var action = this._getTaskInsertingAction();\r\n action(args)\r\n }\r\n _getTaskInsertingAction() {\r\n if (!this._taskInsertingAction) {\r\n this.createTaskInsertingAction()\r\n }\r\n return this._taskInsertingAction\r\n }\r\n createDependencyInsertingAction() {\r\n this._dependencyInsertingAction = this._createActionByOption(Actions.onDependencyInserting)\r\n }\r\n dependencyInsertingAction(args) {\r\n var action = this._getDependencyInsertingAction();\r\n action(args)\r\n }\r\n _getDependencyInsertingAction() {\r\n if (!this._dependencyInsertingAction) {\r\n this.createDependencyInsertingAction()\r\n }\r\n return this._dependencyInsertingAction\r\n }\r\n createResourceInsertingAction() {\r\n this._resourceInsertingAction = this._createActionByOption(Actions.onResourceInserting)\r\n }\r\n resourceInsertingAction(args) {\r\n var action = this._getResourceInsertingAction();\r\n action(args)\r\n }\r\n _getResourceInsertingAction() {\r\n if (!this._resourceInsertingAction) {\r\n this.createResourceInsertingAction()\r\n }\r\n return this._resourceInsertingAction\r\n }\r\n createResourceAssigningAction() {\r\n this._resourceAssigningAction = this._createActionByOption(Actions.onResourceAssigning)\r\n }\r\n resourceAssigningAction(args) {\r\n var action = this._getResourceAssigningAction();\r\n action(args)\r\n }\r\n _getResourceAssigningAction() {\r\n if (!this._resourceAssigningAction) {\r\n this.createResourceAssigningAction()\r\n }\r\n return this._resourceAssigningAction\r\n }\r\n _getInsertedAction(optionName) {\r\n switch (optionName) {\r\n case GANTT_TASKS:\r\n return this._getTaskInsertedAction();\r\n case GANTT_DEPENDENCIES:\r\n return this._getDependencyInsertedAction();\r\n case GANTT_RESOURCES:\r\n return this._getResourceInsertedAction();\r\n case GANTT_RESOURCE_ASSIGNMENTS:\r\n return this._getResourceAssignedAction()\r\n }\r\n return () => {}\r\n }\r\n raiseInsertedAction(optionName, data, key) {\r\n var action = this._getInsertedAction(optionName);\r\n if (action) {\r\n var args = {\r\n values: data,\r\n key: key\r\n };\r\n action(args)\r\n }\r\n }\r\n createTaskInsertedAction() {\r\n this._taskInsertedAction = this._createActionByOption(Actions.onTaskInserted)\r\n }\r\n taskInsertedAction(args) {\r\n var action = this._getTaskInsertedAction();\r\n action(args)\r\n }\r\n _getTaskInsertedAction() {\r\n if (!this._taskInsertedAction) {\r\n this.createTaskInsertedAction()\r\n }\r\n return this._taskInsertedAction\r\n }\r\n createDependencyInsertedAction() {\r\n this._dependencyInsertedAction = this._createActionByOption(Actions.onDependencyInserted)\r\n }\r\n dependencyInsertedAction(args) {\r\n var action = this._getDependencyInsertedAction();\r\n action(args)\r\n }\r\n _getDependencyInsertedAction() {\r\n if (!this._dependencyInsertedAction) {\r\n this.createDependencyInsertedAction()\r\n }\r\n return this._dependencyInsertedAction\r\n }\r\n createResourceInsertedAction() {\r\n this._resourceInsertedAction = this._createActionByOption(Actions.onResourceInserted)\r\n }\r\n resourceInsertedAction(args) {\r\n var action = this._getResourceInsertedAction();\r\n action(args)\r\n }\r\n _getResourceInsertedAction() {\r\n if (!this._resourceInsertedAction) {\r\n this.createResourceInsertedAction()\r\n }\r\n return this._resourceInsertedAction\r\n }\r\n createResourceAssignedAction() {\r\n this._resourceAssignedAction = this._createActionByOption(Actions.onResourceAssigned)\r\n }\r\n resourceAssignedAction(args) {\r\n var action = this._getResourceAssignedAction();\r\n action(args)\r\n }\r\n _getResourceAssignedAction() {\r\n if (!this._resourceAssignedAction) {\r\n this.createResourceAssignedAction()\r\n }\r\n return this._resourceAssignedAction\r\n }\r\n _getDeletingAction(optionName) {\r\n switch (optionName) {\r\n case GANTT_TASKS:\r\n return this._getTaskDeletingAction();\r\n case GANTT_DEPENDENCIES:\r\n return this._getDependencyDeletingAction();\r\n case GANTT_RESOURCES:\r\n return this._getResourceDeletingAction();\r\n case GANTT_RESOURCE_ASSIGNMENTS:\r\n return this._getResourceUnassigningAction()\r\n }\r\n return () => {}\r\n }\r\n raiseDeletingAction(optionName, coreArgs) {\r\n var action = this._getDeletingAction(optionName);\r\n if (action) {\r\n var args = {\r\n cancel: false,\r\n key: coreArgs.key,\r\n values: this._convertCoreToMappedData(optionName, coreArgs.values)\r\n };\r\n action(args);\r\n coreArgs.cancel = args.cancel\r\n }\r\n }\r\n createTaskDeletingAction() {\r\n this._taskDeletingAction = this._createActionByOption(Actions.onTaskDeleting)\r\n }\r\n taskDeletingAction(args) {\r\n var action = this._getTaskDeletingAction();\r\n action(args)\r\n }\r\n _getTaskDeletingAction() {\r\n if (!this._taskDeletingAction) {\r\n this.createTaskDeletingAction()\r\n }\r\n return this._taskDeletingAction\r\n }\r\n createDependencyDeletingAction() {\r\n this._dependencyDeletingAction = this._createActionByOption(Actions.onDependencyDeleting)\r\n }\r\n dependencyDeletingAction(args) {\r\n var action = this._getDependencyDeletingAction();\r\n action(args)\r\n }\r\n _getDependencyDeletingAction() {\r\n if (!this._dependencyDeletingAction) {\r\n this.createDependencyDeletingAction()\r\n }\r\n return this._dependencyDeletingAction\r\n }\r\n createResourceDeletingAction() {\r\n this._resourceDeletingAction = this._createActionByOption(Actions.onResourceDeleting)\r\n }\r\n resourceDeletingAction(args) {\r\n var action = this._getResourceDeletingAction();\r\n action(args)\r\n }\r\n _getResourceDeletingAction() {\r\n if (!this._resourceDeletingAction) {\r\n this.createResourceDeletingAction()\r\n }\r\n return this._resourceDeletingAction\r\n }\r\n createResourceUnassigningAction() {\r\n this._resourceUnassigningAction = this._createActionByOption(Actions.onResourceUnassigning)\r\n }\r\n resourceUnassigningAction(args) {\r\n var action = this._getResourceUnassigningAction();\r\n action(args)\r\n }\r\n _getResourceUnassigningAction() {\r\n if (!this._resourceUnassigningAction) {\r\n this.createResourceUnassigningAction()\r\n }\r\n return this._resourceUnassigningAction\r\n }\r\n _getDeletedAction(optionName) {\r\n switch (optionName) {\r\n case GANTT_TASKS:\r\n return this._getTaskDeletedAction();\r\n case GANTT_DEPENDENCIES:\r\n return this._getDependencyDeletedAction();\r\n case GANTT_RESOURCES:\r\n return this._getResourceDeletedAction();\r\n case GANTT_RESOURCE_ASSIGNMENTS:\r\n return this._getResourceUnassignedAction()\r\n }\r\n return () => {}\r\n }\r\n raiseDeletedAction(optionName, key, data) {\r\n var action = this._getDeletedAction(optionName);\r\n if (action) {\r\n var args = {\r\n key: key,\r\n values: data\r\n };\r\n action(args)\r\n }\r\n }\r\n createTaskDeletedAction() {\r\n this._taskDeletedAction = this._createActionByOption(Actions.onTaskDeleted)\r\n }\r\n taskDeletedAction(args) {\r\n var action = this._getTaskDeletedAction();\r\n action(args)\r\n }\r\n _getTaskDeletedAction() {\r\n if (!this._taskDeletedAction) {\r\n this.createTaskDeletedAction()\r\n }\r\n return this._taskDeletedAction\r\n }\r\n createDependencyDeletedAction() {\r\n this._dependencyDeletedAction = this._createActionByOption(Actions.onDependencyDeleted)\r\n }\r\n dependencyDeletedAction(args) {\r\n var action = this._getDependencyDeletedAction();\r\n action(args)\r\n }\r\n _getDependencyDeletedAction() {\r\n if (!this._dependencyDeletedAction) {\r\n this.createDependencyDeletedAction()\r\n }\r\n return this._dependencyDeletedAction\r\n }\r\n createResourceDeletedAction() {\r\n this._resourceDeletedAction = this._createActionByOption(Actions.onResourceDeleted)\r\n }\r\n resourceDeletedAction(args) {\r\n var action = this._getResourceDeletedAction();\r\n action(args)\r\n }\r\n _getResourceDeletedAction() {\r\n if (!this._resourceDeletedAction) {\r\n this.createResourceDeletedAction()\r\n }\r\n return this._resourceDeletedAction\r\n }\r\n createResourceUnassignedAction() {\r\n this._resourceUnassignedAction = this._createActionByOption(Actions.onResourceUnassigned)\r\n }\r\n resourceUnassignedAction(args) {\r\n var action = this._getResourceUnassignedAction();\r\n action(args)\r\n }\r\n _getResourceUnassignedAction() {\r\n if (!this._resourceUnassignedAction) {\r\n this.createResourceUnassignedAction()\r\n }\r\n return this._resourceUnassignedAction\r\n }\r\n _getUpdatingAction(optionName) {\r\n switch (optionName) {\r\n case GANTT_TASKS:\r\n return this._getTaskUpdatingAction()\r\n }\r\n return () => {}\r\n }\r\n raiseUpdatingAction(optionName, coreArgs, action) {\r\n action = action || this._getUpdatingAction(optionName);\r\n if (action) {\r\n var isTaskUpdating = optionName === GANTT_TASKS;\r\n var args = {\r\n cancel: false,\r\n key: coreArgs.key,\r\n newValues: this._convertCoreToMappedData(optionName, coreArgs.newValues),\r\n values: isTaskUpdating ? this._getTaskData(coreArgs.key) : this._convertCoreToMappedData(optionName, coreArgs.values)\r\n };\r\n if (isTaskUpdating && this._customFieldsManager.cache.hasData(args.key)) {\r\n this._customFieldsManager.addCustomFieldsDataFromCache(args.key, args.newValues)\r\n }\r\n action(args);\r\n coreArgs.cancel = args.cancel;\r\n extend(coreArgs.newValues, this._convertMappedToCoreData(optionName, args.newValues));\r\n if (isTaskUpdating) {\r\n if (args.cancel) {\r\n this._customFieldsManager.resetCustomFieldsDataCache(args.key)\r\n } else {\r\n var forceUpdateOnKeyExpire = !Object.keys(coreArgs.newValues).length;\r\n this._saveCustomFieldsDataToCache(args.key, args.newValues, forceUpdateOnKeyExpire)\r\n }\r\n }\r\n }\r\n }\r\n createTaskUpdatingAction() {\r\n this._taskUpdatingAction = this._createActionByOption(Actions.onTaskUpdating)\r\n }\r\n taskUpdatingAction(args) {\r\n var action = this._getTaskUpdatingAction();\r\n action(args)\r\n }\r\n _getTaskUpdatingAction() {\r\n if (!this._taskUpdatingAction) {\r\n this.createTaskUpdatingAction()\r\n }\r\n return this._taskUpdatingAction\r\n }\r\n _getUpdatedAction(optionName) {\r\n switch (optionName) {\r\n case GANTT_TASKS:\r\n return this._getTaskUpdatedAction()\r\n }\r\n return () => {}\r\n }\r\n raiseUpdatedAction(optionName, data, key) {\r\n var action = this._getUpdatedAction(optionName);\r\n if (action) {\r\n var args = {\r\n values: data,\r\n key: key\r\n };\r\n action(args)\r\n }\r\n }\r\n createTaskUpdatedAction() {\r\n this._taskUpdatedAction = this._createActionByOption(Actions.onTaskUpdated)\r\n }\r\n taskUpdatedAction(args) {\r\n var action = this._getTaskUpdatedAction();\r\n action(args)\r\n }\r\n _getTaskUpdatedAction() {\r\n if (!this._taskUpdatedAction) {\r\n this.createTaskUpdatedAction()\r\n }\r\n return this._taskUpdatedAction\r\n }\r\n createTaskEditDialogShowingAction() {\r\n this._taskEditDialogShowingAction = this._createActionByOption(Actions.onTaskEditDialogShowing)\r\n }\r\n taskEditDialogShowingAction(args) {\r\n var action = this._getTaskEditDialogShowingAction();\r\n action(args)\r\n }\r\n _getTaskEditDialogShowingAction() {\r\n if (!this._taskEditDialogShowingAction) {\r\n this.createTaskEditDialogShowingAction()\r\n }\r\n return this._taskEditDialogShowingAction\r\n }\r\n raiseTaskEditDialogShowingAction(coreArgs) {\r\n var action = this._getTaskEditDialogShowingAction();\r\n if (action) {\r\n var args = {\r\n cancel: false,\r\n key: coreArgs.key,\r\n values: this._convertCoreToMappedData(GANTT_TASKS, coreArgs.values),\r\n readOnlyFields: this._convertCoreToMappedFields(GANTT_TASKS, coreArgs.readOnlyFields),\r\n hiddenFields: this._convertCoreToMappedFields(GANTT_TASKS, coreArgs.hiddenFields)\r\n };\r\n action(args);\r\n coreArgs.cancel = args.cancel;\r\n extend(coreArgs.values, this._convertMappedToCoreData(GANTT_TASKS, args.values));\r\n coreArgs.readOnlyFields = this._convertMappedToCoreFields(GANTT_TASKS, args.readOnlyFields);\r\n coreArgs.hiddenFields = this._convertMappedToCoreFields(GANTT_TASKS, args.hiddenFields)\r\n }\r\n }\r\n createResourceManagerDialogShowingAction() {\r\n this._resourceManagerDialogShowingAction = this._createActionByOption(Actions.onResourceManagerDialogShowing)\r\n }\r\n resourceManagerDialogShowingAction(args) {\r\n var action = this._getResourceManagerDialogShowingAction();\r\n action(args)\r\n }\r\n _getResourceManagerDialogShowingAction() {\r\n if (!this._resourceManagerDialogShowingAction) {\r\n this.createResourceManagerDialogShowingAction()\r\n }\r\n return this._resourceManagerDialogShowingAction\r\n }\r\n raiseResourceManagerDialogShowingAction(coreArgs) {\r\n var action = this._getResourceManagerDialogShowingAction();\r\n if (action) {\r\n var mappedResources = coreArgs.values.resources.items.map(r => this._convertMappedToCoreData(GANTT_RESOURCES, r));\r\n var args = {\r\n cancel: false,\r\n values: mappedResources\r\n };\r\n action(args);\r\n coreArgs.cancel = args.cancel\r\n }\r\n }\r\n createTaskMovingAction() {\r\n this._taskMovingAction = this._createActionByOption(Actions.onTaskMoving)\r\n }\r\n taskMovingAction(args) {\r\n var action = this.getTaskMovingAction();\r\n action(args)\r\n }\r\n getTaskMovingAction() {\r\n if (!this._taskMovingAction) {\r\n this.createTaskMovingAction()\r\n }\r\n return this._taskMovingAction\r\n }\r\n getScaleCellPreparedAction() {\r\n if (!this._scaleCellPreparedAction) {\r\n this.createScaleCellPreparedAction()\r\n }\r\n return this._scaleCellPreparedAction\r\n }\r\n createScaleCellPreparedAction() {\r\n this._scaleCellPreparedAction = this._createActionByOption(Actions.onScaleCellPrepared)\r\n }\r\n raiseScaleCellPreparedAction(data) {\r\n var action = this.getScaleCellPreparedAction();\r\n if (action) {\r\n var args = {\r\n scaleIndex: data.scaleIndex,\r\n scaleType: this._getScaleType(data.scaleType),\r\n scaleElement: getPublicElement($(data.scaleElement)),\r\n separatorElement: getPublicElement($(data.separatorElement)),\r\n startDate: new Date(data.start),\r\n endDate: new Date(data.end)\r\n };\r\n action(args)\r\n }\r\n }\r\n _getScaleType(viewType) {\r\n switch (viewType) {\r\n case 0:\r\n return \"minutes\";\r\n case 1:\r\n return \"hours\";\r\n case 2:\r\n return \"sixHours\";\r\n case 3:\r\n return \"days\";\r\n case 4:\r\n return \"weeks\";\r\n case 5:\r\n return \"months\";\r\n case 6:\r\n return \"quarters\";\r\n case 7:\r\n return \"years\";\r\n case 8:\r\n return \"fiveYears\";\r\n default:\r\n return\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/gantt/ui.gantt.cache.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extendFromObject\r\n} from \"../../core/utils/extend\";\r\nexport class GanttDataCache {\r\n constructor() {\r\n this._cache = {};\r\n this._timers = {}\r\n }\r\n saveData(key, data, keyExpireCallback) {\r\n if (data) {\r\n this._clearTimer(key);\r\n var storage = this._getCache(key, true);\r\n extendFromObject(storage, data, true);\r\n if (keyExpireCallback) {\r\n this._setExpireTimer(key, keyExpireCallback)\r\n }\r\n }\r\n }\r\n pullDataFromCache(key, target) {\r\n var data = this._getCache(key);\r\n if (data) {\r\n extendFromObject(target, data)\r\n }\r\n this._onKeyExpired(key)\r\n }\r\n hasData(key) {\r\n return !!this._cache[key]\r\n }\r\n resetCache(key) {\r\n this._onKeyExpired(key)\r\n }\r\n _getCache(key, forceCreate) {\r\n if (!this._cache[key] && forceCreate) {\r\n this._cache[key] = {}\r\n }\r\n return this._cache[key]\r\n }\r\n _setExpireTimer(key, callback) {\r\n this._timers[key] = setTimeout(() => {\r\n callback(key, this._getCache(key));\r\n this._onKeyExpired(key)\r\n }, 200)\r\n }\r\n _onKeyExpired(key) {\r\n this._clearCache(key);\r\n this._clearTimer(key)\r\n }\r\n _clearCache(key) {\r\n delete this._cache[key]\r\n }\r\n _clearTimer(key) {\r\n var timers = this._timers;\r\n if (timers && timers[key]) {\r\n clearTimeout(timers[key]);\r\n delete timers[key]\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/gantt/ui.gantt.helper.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n compileGetter,\r\n compileSetter\r\n} from \"../../core/utils/data\";\r\nimport {\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport messageLocalization from \"../../localization/message\";\r\nexport var GanttHelper = {\r\n prepareMapHandler: getters => data => Object.keys(getters).reduce((previous, key) => {\r\n var resultKey = \"key\" === key ? \"id\" : key;\r\n previous[resultKey] = getters[key](data);\r\n return previous\r\n }, {}),\r\n prepareSetterMapHandler: setters => data => Object.keys(setters).reduce((previous, key) => {\r\n var resultKey = \"key\" === key ? \"id\" : key;\r\n setters[key](previous, data[resultKey]);\r\n return previous\r\n }, {}),\r\n compileGettersByOption(optionValue) {\r\n var getters = {};\r\n for (var field in optionValue) {\r\n var exprMatches = field.match(/(\\w*)Expr/);\r\n if (exprMatches) {\r\n getters[exprMatches[1]] = compileGetter(optionValue[exprMatches[0]])\r\n }\r\n }\r\n return getters\r\n },\r\n compileSettersByOption(optionValue) {\r\n var setters = {};\r\n for (var field in optionValue) {\r\n var exprMatches = field.match(/(\\w*)Expr/);\r\n if (exprMatches && !isFunction(optionValue[exprMatches[0]])) {\r\n setters[exprMatches[1]] = compileSetter(optionValue[exprMatches[0]])\r\n }\r\n }\r\n return setters\r\n },\r\n compileFuncSettersByOption(optionValue) {\r\n var setters = {};\r\n for (var field in optionValue) {\r\n var exprMatches = field.match(/(\\w*)Expr/);\r\n if (exprMatches && isFunction(optionValue[exprMatches[0]])) {\r\n setters[exprMatches[1]] = optionValue[exprMatches[0]]\r\n }\r\n }\r\n return setters\r\n },\r\n getStoreObject(option, modelObject) {\r\n var setters = GanttHelper.compileSettersByOption(option);\r\n return Object.keys(setters).reduce((previous, key) => {\r\n if (\"key\" !== key) {\r\n setters[key](previous, modelObject[key])\r\n }\r\n return previous\r\n }, {})\r\n },\r\n getInvertedData(data, keyGetter) {\r\n var inverted = {};\r\n if (data) {\r\n for (var i = 0; i < data.length; i++) {\r\n var dataItem = data[i];\r\n var key = keyGetter(dataItem);\r\n inverted[key] = dataItem\r\n }\r\n }\r\n return inverted\r\n },\r\n getArrayFromOneElement: element => void 0 === element || null === element ? [] : [element],\r\n getSelectionMode: allowSelection => allowSelection ? \"single\" : \"none\",\r\n convertTreeToList(node, array) {\r\n if (null !== node && void 0 !== node && node.data && null !== node && void 0 !== node && node.visible) {\r\n array.push(node.data)\r\n }\r\n for (var i = 0; i < (null === (_node$children = node.children) || void 0 === _node$children ? void 0 : _node$children.length); i++) {\r\n var _node$children;\r\n var child = node.children[i];\r\n GanttHelper.convertTreeToList(child, array)\r\n }\r\n },\r\n getAllParentNodesKeys(node, array) {\r\n var _node$parent;\r\n if (null !== node && void 0 !== node && node.data) {\r\n array.push(node.key)\r\n }\r\n if (null !== node && void 0 !== node && null !== (_node$parent = node.parent) && void 0 !== _node$parent && _node$parent.data) {\r\n GanttHelper.getAllParentNodesKeys(node.parent, array)\r\n }\r\n },\r\n getDefaultOptions: () => ({\r\n tasks: {\r\n dataSource: null,\r\n keyExpr: \"id\",\r\n parentIdExpr: \"parentId\",\r\n startExpr: \"start\",\r\n endExpr: \"end\",\r\n progressExpr: \"progress\",\r\n titleExpr: \"title\",\r\n colorExpr: \"color\"\r\n },\r\n dependencies: {\r\n dataSource: null,\r\n keyExpr: \"id\",\r\n predecessorIdExpr: \"predecessorId\",\r\n successorIdExpr: \"successorId\",\r\n typeExpr: \"type\"\r\n },\r\n resources: {\r\n dataSource: null,\r\n keyExpr: \"id\",\r\n textExpr: \"text\",\r\n colorExpr: \"color\"\r\n },\r\n resourceAssignments: {\r\n dataSource: null,\r\n keyExpr: \"id\",\r\n taskIdExpr: \"taskId\",\r\n resourceIdExpr: \"resourceId\"\r\n },\r\n columns: void 0,\r\n taskListWidth: 300,\r\n showResources: true,\r\n showDependencies: true,\r\n taskTitlePosition: \"inside\",\r\n firstDayOfWeek: void 0,\r\n selectedRowKey: void 0,\r\n onSelectionChanged: null,\r\n onTaskClick: null,\r\n onTaskDblClick: null,\r\n onTaskInserting: null,\r\n onTaskInserted: null,\r\n onTaskDeleting: null,\r\n onTaskDeleted: null,\r\n onTaskUpdating: null,\r\n onTaskUpdated: null,\r\n onTaskMoving: null,\r\n onTaskEditDialogShowing: null,\r\n onDependencyInserting: null,\r\n onDependencyInserted: null,\r\n onDependencyDeleting: null,\r\n onDependencyDeleted: null,\r\n onResourceInserting: null,\r\n onResourceInserted: null,\r\n onResourceDeleting: null,\r\n onResourceDeleted: null,\r\n onResourceAssigning: null,\r\n onResourceAssigned: null,\r\n onResourceUnassigning: null,\r\n onResourceUnassigned: null,\r\n onCustomCommand: null,\r\n onContextMenuPreparing: null,\r\n allowSelection: true,\r\n showRowLines: true,\r\n stripLines: void 0,\r\n scaleType: \"auto\",\r\n scaleTypeRange: {\r\n min: \"minutes\",\r\n max: \"years\"\r\n },\r\n editing: {\r\n enabled: false,\r\n allowTaskAdding: true,\r\n allowTaskDeleting: true,\r\n allowTaskUpdating: true,\r\n allowDependencyAdding: true,\r\n allowDependencyDeleting: true,\r\n allowResourceAdding: true,\r\n allowResourceDeleting: true,\r\n allowResourceUpdating: true,\r\n allowTaskResourceUpdating: true\r\n },\r\n validation: {\r\n validateDependencies: false,\r\n autoUpdateParentTasks: false,\r\n enablePredecessorGap: false\r\n },\r\n toolbar: null,\r\n contextMenu: {\r\n enabled: true,\r\n items: void 0\r\n },\r\n taskTooltipContentTemplate: null,\r\n taskProgressTooltipContentTemplate: null,\r\n taskTimeTooltipContentTemplate: null,\r\n taskContentTemplate: null,\r\n rootValue: 0,\r\n sorting: {\r\n ascendingText: messageLocalization.format(\"dxGantt-sortingAscendingText\"),\r\n descendingText: messageLocalization.format(\"dxGantt-sortingDescendingText\"),\r\n clearText: messageLocalization.format(\"dxGantt-sortingClearText\"),\r\n mode: \"single\",\r\n showSortIndexes: false\r\n },\r\n filterRow: void 0,\r\n headerFilter: void 0,\r\n rtlEnabled: false\r\n })\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/gantt/ui.gantt.custom_fields.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n compileGetter\r\n} from \"../../core/utils/data\";\r\nimport {\r\n GanttDataCache\r\n} from \"./ui.gantt.cache\";\r\nimport {\r\n GanttHelper\r\n} from \"./ui.gantt.helper\";\r\nvar GANTT_TASKS = \"tasks\";\r\nexport class GanttCustomFieldsManager {\r\n constructor(gantt) {\r\n this._gantt = gantt;\r\n this._mappingHelper = gantt._mappingHelper;\r\n this.cache = new GanttDataCache\r\n }\r\n _getTaskCustomFields() {\r\n var columns = this._gantt.option(\"columns\");\r\n var columnFields = columns && columns.map(c => c.dataField);\r\n var mappedFields = this._mappingHelper.getTaskMappedFieldNames();\r\n return columnFields ? columnFields.filter(f => mappedFields.indexOf(f) < 0) : []\r\n }\r\n _getCustomFieldsData(data) {\r\n return this._getTaskCustomFields().reduce((previous, field) => {\r\n if (data && void 0 !== data[field]) {\r\n previous[field] = data[field]\r\n }\r\n return previous\r\n }, {})\r\n }\r\n addCustomFieldsData(key, data) {\r\n if (data) {\r\n var modelData = this._gantt._tasksOption && this._gantt._tasksOption._getItems();\r\n var keyGetter = compileGetter(this._gantt.option(\"\".concat(GANTT_TASKS, \".keyExpr\")));\r\n var modelItem = modelData && modelData.filter(obj => keyGetter(obj) === key)[0];\r\n var customFields = this._getTaskCustomFields();\r\n if (modelItem) {\r\n for (var i = 0; i < customFields.length; i++) {\r\n var field = customFields[i];\r\n if (Object.prototype.hasOwnProperty.call(modelItem, field)) {\r\n data[field] = modelItem[field]\r\n }\r\n }\r\n }\r\n }\r\n }\r\n appendCustomFields(data) {\r\n var modelData = this._gantt._tasksOption && this._gantt._tasksOption._getItems();\r\n var keyGetter = this._gantt._getTaskKeyGetter();\r\n var invertedData = GanttHelper.getInvertedData(modelData, keyGetter);\r\n return data.reduce((previous, item) => {\r\n var key = keyGetter(item);\r\n var modelItem = invertedData[key];\r\n if (!modelItem) {\r\n previous.push(item)\r\n } else {\r\n var updatedItem = {};\r\n for (var field in modelItem) {\r\n updatedItem[field] = Object.prototype.hasOwnProperty.call(item, field) ? item[field] : modelItem[field]\r\n }\r\n previous.push(updatedItem)\r\n }\r\n return previous\r\n }, [])\r\n }\r\n addCustomFieldsDataFromCache(key, data) {\r\n this.cache.pullDataFromCache(key, data)\r\n }\r\n saveCustomFieldsDataToCache(key, data) {\r\n var forceUpdateOnKeyExpire = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false;\r\n var isCustomFieldsUpdateOnly = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : false;\r\n var customFieldsData = this._getCustomFieldsData(data);\r\n if (Object.keys(customFieldsData).length > 0) {\r\n this.cache.saveData(key, customFieldsData, forceUpdateOnKeyExpire ? (key, data) => {\r\n var dataOption = this._gantt[\"_\".concat(GANTT_TASKS, \"Option\")];\r\n if (dataOption && data) {\r\n dataOption.update(key, data, (data, key) => {\r\n var updatedCustomFields = {};\r\n this.addCustomFieldsData(key, updatedCustomFields);\r\n dataOption._reloadDataSource().done(data => {\r\n this._gantt._ganttTreeList.updateDataSource(null !== data && void 0 !== data ? data : dataOption._dataSource, false, isCustomFieldsUpdateOnly)\r\n });\r\n var selectedRowKey = this._gantt.option(\"selectedRowKey\");\r\n this._gantt._ganttView._selectTask(selectedRowKey);\r\n this._gantt._actionsManager.raiseUpdatedAction(GANTT_TASKS, updatedCustomFields, key)\r\n })\r\n }\r\n } : null)\r\n }\r\n }\r\n resetCustomFieldsDataCache(key) {\r\n this.cache.resetCache(key)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/gantt/ui.gantt.dialogs.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Popup from \"../popup/ui.popup\";\r\nimport Form from \"../form\";\r\nimport \"../tag_box\";\r\nimport \"../radio_group\";\r\nimport dateLocalization from \"../../localization/date\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport \"../list_light\";\r\nimport \"../list/modules/deleting\";\r\nexport class GanttDialog {\r\n constructor(owner, $element) {\r\n this._popupInstance = owner._createComponent($element, Popup);\r\n this.infoMap = {\r\n TaskEdit: TaskEditDialogInfo,\r\n Resources: ResourcesEditDialogInfo,\r\n Confirmation: ConfirmDialogInfo,\r\n ConstraintViolation: ConstraintViolationDialogInfo\r\n }\r\n }\r\n _apply() {\r\n if (this._dialogInfo.isValidated()) {\r\n var result = this._dialogInfo.getResult();\r\n this._callback(result);\r\n this.hide()\r\n }\r\n }\r\n show(name, parameters, callback, afterClosing, editingOptions) {\r\n this._callback = callback;\r\n this._afterClosing = afterClosing;\r\n if (!this.infoMap[name]) {\r\n return\r\n }\r\n var isRefresh = this._popupInstance._isVisible() && this._dialogInfo && this._dialogInfo instanceof this.infoMap[name];\r\n this._dialogInfo = new this.infoMap[name](parameters, this._apply.bind(this), this.hide.bind(this), editingOptions);\r\n this._popupInstance.option({\r\n showTitle: !!this._dialogInfo.getTitle(),\r\n title: this._dialogInfo.getTitle(),\r\n toolbarItems: this._dialogInfo.getToolbarItems(),\r\n maxWidth: this._dialogInfo.getMaxWidth(),\r\n height: this._dialogInfo.getHeight(),\r\n contentTemplate: this._dialogInfo.getContentTemplate()\r\n });\r\n if (this._afterClosing) {\r\n this._popupInstance.option(\"onHidden\", this._afterClosing)\r\n }\r\n if (!isRefresh) {\r\n this._popupInstance.show()\r\n }\r\n }\r\n hide() {\r\n this._popupInstance.hide();\r\n if (this._afterClosing) {\r\n this._afterClosing()\r\n }\r\n }\r\n}\r\nclass DialogInfoBase {\r\n constructor(parameters, applyAction, hideAction, editingOptions) {\r\n this._parameters = parameters;\r\n this._applyAction = applyAction;\r\n this._hideAction = hideAction;\r\n this._editingOptions = editingOptions\r\n }\r\n _getFormItems() {\r\n return {}\r\n }\r\n _getFormCssClass() {\r\n return \"\"\r\n }\r\n _getFormData() {\r\n return this._parameters\r\n }\r\n _updateParameters() {}\r\n _getOkToolbarItem() {\r\n return this._getToolbarItem(\"OK\", this._applyAction)\r\n }\r\n _getCancelToolbarItem() {\r\n return this._getToolbarItem(\"Cancel\", this._hideAction)\r\n }\r\n _getYesToolbarItem() {\r\n return this._getToolbarItem(\"Yes\", this._applyAction)\r\n }\r\n _getNoToolbarItem() {\r\n return this._getToolbarItem(\"No\", this._hideAction)\r\n }\r\n _getToolbarItem(localizationText, action) {\r\n return {\r\n widget: \"dxButton\",\r\n toolbar: \"bottom\",\r\n options: {\r\n text: messageLocalization.format(localizationText),\r\n onClick: action\r\n }\r\n }\r\n }\r\n getTitle() {\r\n return \"\"\r\n }\r\n getToolbarItems() {\r\n return this._editingOptions.enabled ? [this._getOkToolbarItem(), this._getCancelToolbarItem()] : [this._getCancelToolbarItem()]\r\n }\r\n getMaxWidth() {\r\n return 400\r\n }\r\n getHeight() {\r\n return \"auto\"\r\n }\r\n getContentTemplate() {\r\n return content => {\r\n this._form = new Form(content, {\r\n formData: this._getFormData(),\r\n items: this._getFormItems(),\r\n elementAttr: {\r\n class: this._getFormCssClass()\r\n },\r\n rtlEnabled: false\r\n });\r\n return content\r\n }\r\n }\r\n getResult() {\r\n var formData = this.getFormData();\r\n this._updateParameters(formData);\r\n return this._parameters\r\n }\r\n getFormData() {\r\n var formData = this._form && this._form.option(\"formData\");\r\n return formData\r\n }\r\n isValidated() {\r\n return true\r\n }\r\n}\r\nclass TaskEditDialogInfo extends DialogInfoBase {\r\n getTitle() {\r\n return messageLocalization.format(\"dxGantt-dialogTaskDetailsTitle\")\r\n }\r\n _getFormItems() {\r\n var readOnly = !this._editingOptions.enabled || !this._editingOptions.allowTaskUpdating;\r\n var readOnlyRange = readOnly || !this._parameters.enableRangeEdit;\r\n return [{\r\n dataField: \"title\",\r\n editorType: \"dxTextBox\",\r\n label: {\r\n text: messageLocalization.format(\"dxGantt-dialogTitle\")\r\n },\r\n editorOptions: {\r\n readOnly: readOnly || this._isReadOnlyField(\"title\")\r\n },\r\n visible: !this._isHiddenField(\"title\")\r\n }, {\r\n dataField: \"start\",\r\n editorType: \"dxDateBox\",\r\n label: {\r\n text: messageLocalization.format(\"dxGantt-dialogStartTitle\")\r\n },\r\n editorOptions: {\r\n type: \"datetime\",\r\n width: \"100%\",\r\n readOnly: readOnlyRange || this._isReadOnlyField(\"start\")\r\n },\r\n visible: !this._isHiddenField(\"start\"),\r\n validationRules: [{\r\n type: \"required\",\r\n message: messageLocalization.format(\"validation-required-formatted\", messageLocalization.format(\"dxGantt-dialogStartTitle\"))\r\n }, {\r\n type: \"custom\",\r\n validationCallback: e => {\r\n if (this._parameters.isValidationRequired) {\r\n var correctDateRange = this._parameters.getCorrectDateRange(this._parameters.id, e.value, this._parameters.end);\r\n if (correctDateRange.start.getTime() !== e.value.getTime()) {\r\n e.rule.message = this._getValidationMessage(true, correctDateRange.start);\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n }]\r\n }, {\r\n dataField: \"end\",\r\n editorType: \"dxDateBox\",\r\n label: {\r\n text: messageLocalization.format(\"dxGantt-dialogEndTitle\")\r\n },\r\n editorOptions: {\r\n type: \"datetime\",\r\n width: \"100%\",\r\n readOnly: readOnlyRange || this._isReadOnlyField(\"end\")\r\n },\r\n visible: !this._isHiddenField(\"end\"),\r\n validationRules: [{\r\n type: \"required\",\r\n message: messageLocalization.format(\"validation-required-formatted\", messageLocalization.format(\"dxGantt-dialogEndTitle\"))\r\n }, {\r\n type: \"custom\",\r\n validationCallback: e => {\r\n if (this._parameters.isValidationRequired) {\r\n var correctDateRange = this._parameters.getCorrectDateRange(this._parameters.id, this._parameters.start, e.value);\r\n if (correctDateRange.end.getTime() !== e.value.getTime()) {\r\n e.rule.message = this._getValidationMessage(false, correctDateRange.end);\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n }]\r\n }, {\r\n dataField: \"progress\",\r\n editorType: \"dxNumberBox\",\r\n label: {\r\n text: messageLocalization.format(\"dxGantt-dialogProgressTitle\")\r\n },\r\n editorOptions: {\r\n showSpinButtons: true,\r\n min: 0,\r\n max: 1,\r\n format: \"#0%\",\r\n step: .01,\r\n readOnly: readOnlyRange || this._isReadOnlyField(\"progress\")\r\n },\r\n visible: !this._isHiddenField(\"progress\")\r\n }, {\r\n dataField: \"assigned.items\",\r\n editorType: \"dxTagBox\",\r\n label: {\r\n text: messageLocalization.format(\"dxGantt-dialogResourcesTitle\")\r\n },\r\n editorOptions: {\r\n readOnly: readOnly || !this._editingOptions.allowTaskResourceUpdating,\r\n dataSource: this._parameters.resources.items,\r\n displayExpr: \"text\",\r\n buttons: [{\r\n name: \"editResources\",\r\n location: \"after\",\r\n options: {\r\n disabled: !this._editingOptions.allowResourceAdding && !this._editingOptions.allowResourceDeleting,\r\n text: \"...\",\r\n hint: messageLocalization.format(\"dxGantt-dialogEditResourceListHint\"),\r\n onClick: () => {\r\n this._parameters.showResourcesDialogCommand.execute(() => {\r\n this._parameters.showTaskEditDialogCommand.execute()\r\n })\r\n }\r\n }\r\n }]\r\n }\r\n }]\r\n }\r\n _getValidationMessage(isStartDependencies, correctDate) {\r\n if (isStartDependencies) {\r\n return messageLocalization.format(\"dxGantt-dialogStartDateValidation\", this._getFormattedDateText(correctDate))\r\n }\r\n return messageLocalization.format(\"dxGantt-dialogEndDateValidation\", this._getFormattedDateText(correctDate))\r\n }\r\n _getFormattedDateText(date) {\r\n return date ? dateLocalization.format(date, \"shortDateShortTime\") : \"\"\r\n }\r\n _isReadOnlyField(field) {\r\n return this._parameters.readOnlyFields.indexOf(field) > -1\r\n }\r\n _isHiddenField(field) {\r\n return this._parameters.hiddenFields.indexOf(field) > -1\r\n }\r\n _getFormData() {\r\n var data = {};\r\n for (var field in this._parameters) {\r\n data[field] = \"progress\" === field ? this._parameters[field] / 100 : this._parameters[field]\r\n }\r\n return data\r\n }\r\n _updateParameters(formData) {\r\n this._parameters.title = formData.title;\r\n this._parameters.start = formData.start;\r\n this._parameters.end = formData.end;\r\n this._parameters.progress = 100 * formData.progress;\r\n this._parameters.assigned = formData.assigned\r\n }\r\n isValidated() {\r\n var _this$_form;\r\n var validationResult = null === (_this$_form = this._form) || void 0 === _this$_form ? void 0 : _this$_form.validate();\r\n return null === validationResult || void 0 === validationResult ? void 0 : validationResult.isValid\r\n }\r\n}\r\nclass ResourcesEditDialogInfo extends DialogInfoBase {\r\n getTitle() {\r\n return messageLocalization.format(\"dxGantt-dialogResourceManagerTitle\")\r\n }\r\n _getFormItems() {\r\n return [{\r\n label: {\r\n visible: false\r\n },\r\n dataField: \"resources.items\",\r\n editorType: \"dxList\",\r\n editorOptions: {\r\n allowItemDeleting: this._editingOptions.enabled && this._editingOptions.allowResourceDeleting,\r\n itemDeleteMode: \"static\",\r\n selectionMode: \"none\",\r\n items: this._parameters.resources.items,\r\n height: 250,\r\n noDataText: messageLocalization.format(\"dxGantt-dialogEditNoResources\"),\r\n onInitialized: e => {\r\n this.list = e.component\r\n },\r\n onItemDeleted: e => {\r\n this._parameters.resources.remove(e.itemData)\r\n }\r\n }\r\n }, {\r\n label: {\r\n visible: false\r\n },\r\n editorType: \"dxTextBox\",\r\n editorOptions: {\r\n readOnly: !this._editingOptions.enabled || !this._editingOptions.allowResourceAdding,\r\n onInitialized: e => {\r\n this.textBox = e.component\r\n },\r\n onInput: e => {\r\n var addButton = e.component.getButton(\"addResource\");\r\n var resourceName = e.component.option(\"text\");\r\n addButton.option(\"disabled\", 0 === resourceName.length)\r\n },\r\n buttons: [{\r\n name: \"addResource\",\r\n location: \"after\",\r\n options: {\r\n text: messageLocalization.format(\"dxGantt-dialogButtonAdd\"),\r\n disabled: true,\r\n onClick: e => {\r\n var newItem = this._parameters.resources.createItem();\r\n newItem.text = this.textBox.option(\"text\");\r\n this._parameters.resources.add(newItem);\r\n this.list.option(\"items\", this._parameters.resources.items);\r\n this.list.scrollToItem(newItem);\r\n this.textBox.reset();\r\n e.component.option(\"disabled\", true)\r\n }\r\n }\r\n }]\r\n }\r\n }]\r\n }\r\n}\r\nclass ConfirmDialogInfo extends DialogInfoBase {\r\n getContentTemplate() {\r\n return content => this._getConfirmMessage()\r\n }\r\n _getConfirmMessage() {\r\n switch (this._parameters.type) {\r\n case 0:\r\n return messageLocalization.format(\"dxGantt-dialogTaskDeleteConfirmation\");\r\n case 1:\r\n return messageLocalization.format(\"dxGantt-dialogDependencyDeleteConfirmation\");\r\n case 2:\r\n return messageLocalization.format(\"dxGantt-dialogResourcesDeleteConfirmation\", this._parameters.message);\r\n default:\r\n return \"\"\r\n }\r\n }\r\n getToolbarItems() {\r\n return [this._getYesToolbarItem(), this._getNoToolbarItem()]\r\n }\r\n}\r\nclass ConstraintViolationDialogInfo extends DialogInfoBase {\r\n _getFormItems() {\r\n var hasCriticalErrors = this._parameters.hasCriticalErrors;\r\n var severalErrors = this._parameters.errorsCount > 1;\r\n var items = [];\r\n var deleteMessage = severalErrors ? \"dxGantt-dialogDeleteDependenciesMessage\" : \"dxGantt-dialogDeleteDependencyMessage\";\r\n var moveMessage = severalErrors ? \"dxGantt-dialogMoveTaskAndKeepDependenciesMessage\" : \"dxGantt-dialogMoveTaskAndKeepDependencyMessage\";\r\n var titleMessage;\r\n if (hasCriticalErrors) {\r\n titleMessage = severalErrors ? \"dxGantt-dialogConstraintCriticalViolationSeveralTasksMessage\" : \"dxGantt-dialogConstraintCriticalViolationMessage\"\r\n } else {\r\n titleMessage = severalErrors ? \"dxGantt-dialogConstraintViolationSeveralTasksMessage\" : \"dxGantt-dialogConstraintViolationMessage\"\r\n }\r\n items.push({\r\n text: messageLocalization.format(\"dxGantt-dialogCancelOperationMessage\"),\r\n value: 0\r\n });\r\n items.push({\r\n text: messageLocalization.format(deleteMessage),\r\n value: 1\r\n });\r\n if (!hasCriticalErrors) {\r\n items.push({\r\n text: messageLocalization.format(moveMessage),\r\n value: 2\r\n })\r\n }\r\n return [{\r\n template: messageLocalization.format(titleMessage)\r\n }, {\r\n cssClass: \"dx-cv-dialog-row\",\r\n dataField: \"option\",\r\n label: {\r\n visible: false\r\n },\r\n editorType: \"dxRadioGroup\",\r\n editorOptions: {\r\n items: items,\r\n valueExpr: \"value\",\r\n value: 0\r\n }\r\n }]\r\n }\r\n _getFormCssClass() {\r\n return \"dx-cv-dialog\"\r\n }\r\n _updateParameters(formData) {\r\n this._parameters.option = formData.option\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/gantt/ui.gantt.export_helper.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport gridCoreUtils from \"../grid_core/ui.grid_core.utils\";\r\nimport {\r\n isDate,\r\n isDefined,\r\n isNumeric\r\n} from \"../../core/utils/type\";\r\nimport dateLocalization from \"../../localization/date\";\r\nimport numberLocalization from \"../../localization/number\";\r\nvar window = getWindow();\r\nvar TREELIST_EMPTY_SPACE = \"dx-treelist-empty-space\";\r\nvar TREELIST_TABLE = \"dx-treelist-table\";\r\nexport class GanttExportHelper {\r\n constructor(gantt) {\r\n this._gantt = gantt;\r\n this._treeList = gantt._treeList;\r\n this._cache = {}\r\n }\r\n reset() {\r\n this._cache = {}\r\n }\r\n getTreeListTableStyle() {\r\n var table = this._getTreeListTable();\r\n var style = window.getComputedStyle(table);\r\n return {\r\n color: style.color,\r\n backgroundColor: style.backgroundColor,\r\n fontSize: style.fontSize,\r\n fontFamily: style.fontFamily,\r\n fontWeight: style.fontWeight,\r\n fontStyle: style.fontStyle,\r\n textAlign: \"left\",\r\n verticalAlign: \"middle\"\r\n }\r\n }\r\n getTreeListColCount() {\r\n var headerView = this._getHeaderView();\r\n var widths = headerView.getColumnWidths().filter(w => w > 0);\r\n return widths.length\r\n }\r\n getTreeListHeaderInfo(colIndex) {\r\n var element = this._getHeaderElement(colIndex);\r\n if (!element) {\r\n return null\r\n }\r\n var style = window.getComputedStyle(element);\r\n var styleForExport = {\r\n color: style.color,\r\n padding: style.padding,\r\n paddingLeft: style.paddingLeft,\r\n paddingTop: style.paddingTop,\r\n paddingRight: style.paddingRight,\r\n paddingBottom: style.paddingBottom,\r\n verticalAlign: style.verticalAlign,\r\n width: this._getColumnWidth(colIndex)\r\n };\r\n return {\r\n content: element.textContent,\r\n styles: styleForExport\r\n }\r\n }\r\n getTreeListCellInfo(key, colIndex) {\r\n var _cell$textContent;\r\n var node = this._treeList.getNodeByKey(key);\r\n var visibleRowIndex = this._treeList.getRowIndexByKey(key);\r\n var cell = visibleRowIndex > -1 ? this._getDataCell(visibleRowIndex, colIndex) : null;\r\n var style = cell ? window.getComputedStyle(cell) : this._getColumnCellStyle(colIndex);\r\n var styleForExport = {\r\n color: style.color,\r\n padding: style.padding,\r\n paddingLeft: style.paddingLeft,\r\n paddingTop: style.paddingTop,\r\n paddingRight: style.paddingRight,\r\n paddingBottom: style.paddingBottom,\r\n width: this._getColumnWidth(colIndex)\r\n };\r\n if (0 === colIndex) {\r\n styleForExport.extraLeftPadding = this._getEmptySpaceWidth(node.level)\r\n }\r\n return {\r\n content: null !== (_cell$textContent = null === cell || void 0 === cell ? void 0 : cell.textContent) && void 0 !== _cell$textContent ? _cell$textContent : this._getDisplayText(key, colIndex),\r\n styles: styleForExport\r\n }\r\n }\r\n getTreeListEmptyDataCellInfo() {\r\n return {\r\n content: this._treeList.option(\"noDataText\")\r\n }\r\n }\r\n _ensureColumnWidthCache(colIndex) {\r\n var _this$_cache, _this$_cache$_columnW;\r\n null !== (_this$_cache$_columnW = (_this$_cache = this._cache)[\"columnWidths\"]) && void 0 !== _this$_cache$_columnW ? _this$_cache$_columnW : _this$_cache.columnWidths = {};\r\n if (!this._cache.columnWidths[colIndex]) {\r\n var _header$clientWidth;\r\n var header = this._getHeaderElement(colIndex);\r\n this._cache.columnWidths[colIndex] = null !== (_header$clientWidth = null === header || void 0 === header ? void 0 : header.clientWidth) && void 0 !== _header$clientWidth ? _header$clientWidth : 0\r\n }\r\n }\r\n _getColumnWidth(colIndex) {\r\n this._ensureColumnWidthCache(colIndex);\r\n var widths = this._cache.columnWidths;\r\n return widths && widths[colIndex]\r\n }\r\n _getEmptySpaceWidth(level) {\r\n if (!this._cache.emptyWidth) {\r\n var _this$_cache2, _this$_cache2$_emptyW, _element$offsetWidth;\r\n var element = this._getTreeListElement(TREELIST_EMPTY_SPACE);\r\n null !== (_this$_cache2$_emptyW = (_this$_cache2 = this._cache)[\"emptyWidth\"]) && void 0 !== _this$_cache2$_emptyW ? _this$_cache2$_emptyW : _this$_cache2.emptyWidth = null !== (_element$offsetWidth = element.offsetWidth) && void 0 !== _element$offsetWidth ? _element$offsetWidth : 0\r\n }\r\n return this._cache.emptyWidth * (level + 1)\r\n }\r\n _getColumnCellStyle(colIndex) {\r\n this._ensureColumnCellStyleCache(colIndex);\r\n return this._cache.columnStyles[colIndex]\r\n }\r\n _ensureColumnCellStyleCache(colIndex) {\r\n var _this$_cache3, _this$_cache3$_column;\r\n null !== (_this$_cache3$_column = (_this$_cache3 = this._cache)[\"columnStyles\"]) && void 0 !== _this$_cache3$_column ? _this$_cache3$_column : _this$_cache3.columnStyles = {};\r\n if (!this._cache.columnStyles[colIndex]) {\r\n var cell = this._getDataCell(0, colIndex);\r\n this._cache.columnStyles[colIndex] = window.getComputedStyle(cell)\r\n }\r\n }\r\n _getTask(key) {\r\n this._ensureTaskCache(key);\r\n return this._cache.tasks[key]\r\n }\r\n _ensureTaskCache(key) {\r\n var _this$_cache4, _this$_cache4$_tasks, _this$_cache$tasks, _this$_cache$tasks$ke;\r\n null !== (_this$_cache4$_tasks = (_this$_cache4 = this._cache)[\"tasks\"]) && void 0 !== _this$_cache4$_tasks ? _this$_cache4$_tasks : _this$_cache4.tasks = {};\r\n null !== (_this$_cache$tasks$ke = (_this$_cache$tasks = this._cache.tasks)[key]) && void 0 !== _this$_cache$tasks$ke ? _this$_cache$tasks$ke : _this$_cache$tasks[key] = this._gantt._findTaskByKey(key)\r\n }\r\n _getTreeListTable() {\r\n return this._getTreeListElement(TREELIST_TABLE)\r\n }\r\n _getTreeListElement(className) {\r\n return this._treeList._$element.find(\".\" + className).get(0)\r\n }\r\n _getDataCell(rowIndex, colIndex) {\r\n var treeList = this._treeList;\r\n var cellElement = treeList.getCellElement(rowIndex, colIndex);\r\n return cellElement && cellElement.length ? cellElement[0] : cellElement\r\n }\r\n _getHeaderElement(index) {\r\n return this._getHeaderView().getHeaderElement(index).get(0)\r\n }\r\n _getHeaderView() {\r\n return this._treeList._views.columnHeadersView\r\n }\r\n _getDisplayText(key, colIndex) {\r\n var task = this._getTask(key);\r\n return task && this._getGridDisplayText(colIndex, task)\r\n }\r\n _getGridDisplayText(colIndex, data) {\r\n var columns = this._treeList.getController(\"columns\").getColumns();\r\n var column = columns[colIndex];\r\n var field = null === column || void 0 === column ? void 0 : column.dataField;\r\n var format = null === column || void 0 === column ? void 0 : column.format;\r\n var value = gridCoreUtils.getDisplayValue(column, data[field], data, \"data\");\r\n if (isDefined(format)) {\r\n if (\"date\" === (null === column || void 0 === column ? void 0 : column.dataType) || \"datetime\" === (null === column || void 0 === column ? void 0 : column.dataType)) {\r\n var date = isDate(value) ? value : new Date(value);\r\n return dateLocalization.format(date, format)\r\n }\r\n if (isNumeric(value)) {\r\n return numberLocalization.format(value, format)\r\n }\r\n }\r\n return \"string\" === typeof value ? value : null === value || void 0 === value ? void 0 : value.toString()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/gantt/ui.gantt.mapping_helper.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n compileGetter,\r\n compileSetter\r\n} from \"../../core/utils/data\";\r\nvar GANTT_TASKS = \"tasks\";\r\nvar GANTT_MAPPED_FIELD_REGEX = /(\\w*)Expr/;\r\nexport class GanttMappingHelper {\r\n constructor(gantt) {\r\n this._gantt = gantt\r\n }\r\n _getMappedFieldName(optionName, coreField) {\r\n var coreFieldName = coreField;\r\n if (\"id\" === coreField) {\r\n coreFieldName = \"key\"\r\n }\r\n return this._gantt.option(\"\".concat(optionName, \".\").concat(coreFieldName, \"Expr\"))\r\n }\r\n getTaskMappedFieldNames() {\r\n var mappedFields = [];\r\n var mappedFieldsData = this._gantt.option(GANTT_TASKS);\r\n for (var field in mappedFieldsData) {\r\n var exprMatches = field.match(GANTT_MAPPED_FIELD_REGEX);\r\n var mappedFieldName = exprMatches && mappedFieldsData[exprMatches[0]];\r\n if (mappedFieldName) {\r\n mappedFields.push(mappedFieldName)\r\n }\r\n }\r\n return mappedFields\r\n }\r\n convertCoreToMappedData(optionName, coreData) {\r\n return Object.keys(coreData).reduce((previous, f) => {\r\n var mappedField = this._getMappedFieldName(optionName, f);\r\n if (mappedField && !isFunction(mappedField)) {\r\n var setter = compileSetter(mappedField);\r\n setter(previous, coreData[f])\r\n }\r\n return previous\r\n }, {})\r\n }\r\n convertMappedToCoreData(optionName, mappedData) {\r\n var coreData = {};\r\n if (mappedData) {\r\n var mappedFields = this._gantt.option(optionName);\r\n for (var field in mappedFields) {\r\n var exprMatches = field.match(GANTT_MAPPED_FIELD_REGEX);\r\n var mappedFieldName = exprMatches && mappedFields[exprMatches[0]];\r\n if (mappedFieldName && void 0 !== mappedData[mappedFieldName]) {\r\n var getter = compileGetter(mappedFieldName);\r\n var coreFieldName = exprMatches[1];\r\n coreData[coreFieldName] = getter(mappedData)\r\n }\r\n }\r\n }\r\n return coreData\r\n }\r\n convertCoreToMappedFields(optionName, fields) {\r\n return fields.reduce((previous, f) => {\r\n var mappedField = this._getMappedFieldName(optionName, f);\r\n if (mappedField) {\r\n previous.push(mappedField)\r\n }\r\n return previous\r\n }, [])\r\n }\r\n convertMappedToCoreFields(optionName, fields) {\r\n var coreFields = [];\r\n var mappedFields = this._gantt.option(optionName);\r\n for (var field in mappedFields) {\r\n var exprMatches = field.match(GANTT_MAPPED_FIELD_REGEX);\r\n var mappedFieldName = exprMatches && mappedFields[exprMatches[0]];\r\n if (mappedFieldName && fields.indexOf(mappedFieldName) > -1) {\r\n var coreFieldName = exprMatches[1];\r\n coreFields.push(coreFieldName)\r\n }\r\n }\r\n return coreFields\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/gantt/ui.gantt.size_helper.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getHeight,\r\n setHeight,\r\n setWidth\r\n} from \"../../core/utils/size\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nexport class GanttSizeHelper {\r\n constructor(gantt) {\r\n this._gantt = gantt\r\n }\r\n _setTreeListDimension(dimension, value) {\r\n var _this$_gantt$_ganttTr;\r\n var setter = \"width\" === dimension ? setWidth : setHeight;\r\n var getter = \"width\" === dimension ? getWidth : getHeight;\r\n setter(this._gantt._$treeListWrapper, value);\r\n null === (_this$_gantt$_ganttTr = this._gantt._ganttTreeList) || void 0 === _this$_gantt$_ganttTr ? void 0 : _this$_gantt$_ganttTr.setOption(dimension, getter(this._gantt._$treeListWrapper))\r\n }\r\n _setGanttViewDimension(dimension, value) {\r\n var setter = \"width\" === dimension ? setWidth : setHeight;\r\n var getter = \"width\" === dimension ? getWidth : getHeight;\r\n setter(this._gantt._$ganttView, value);\r\n this._gantt._setGanttViewOption(dimension, getter(this._gantt._$ganttView))\r\n }\r\n _getPanelsWidthByOption() {\r\n var _leftPanelWidth$index, _leftPanelWidth$index2;\r\n var ganttWidth = getWidth(this._gantt._$element);\r\n var leftPanelWidth = this._gantt.option(\"taskListWidth\");\r\n var rightPanelWidth;\r\n if (!isNaN(leftPanelWidth)) {\r\n rightPanelWidth = ganttWidth - parseInt(leftPanelWidth)\r\n } else if ((null === (_leftPanelWidth$index = leftPanelWidth.indexOf) || void 0 === _leftPanelWidth$index ? void 0 : _leftPanelWidth$index.call(leftPanelWidth, \"px\")) > 0) {\r\n rightPanelWidth = ganttWidth - parseInt(leftPanelWidth.replace(\"px\", \"\")) + \"px\"\r\n } else if ((null === (_leftPanelWidth$index2 = leftPanelWidth.indexOf) || void 0 === _leftPanelWidth$index2 ? void 0 : _leftPanelWidth$index2.call(leftPanelWidth, \"%\")) > 0) {\r\n rightPanelWidth = 100 - parseInt(leftPanelWidth.replace(\"%\", \"\")) + \"%\"\r\n }\r\n return {\r\n leftPanelWidth: leftPanelWidth,\r\n rightPanelWidth: rightPanelWidth\r\n }\r\n }\r\n onAdjustControl() {\r\n var elementHeight = getHeight(this._gantt._$element);\r\n this.updateGanttWidth();\r\n this.setGanttHeight(elementHeight)\r\n }\r\n onApplyPanelSize(e) {\r\n this.setInnerElementsWidth(e);\r\n this.updateGanttRowHeights()\r\n }\r\n updateGanttRowHeights() {\r\n var rowHeight = this._gantt._ganttTreeList.getRowHeight();\r\n if (this._gantt._getGanttViewOption(\"rowHeight\") !== rowHeight) {\r\n var _this$_gantt$_ganttVi;\r\n this._gantt._setGanttViewOption(\"rowHeight\", rowHeight);\r\n null === (_this$_gantt$_ganttVi = this._gantt._ganttView) || void 0 === _this$_gantt$_ganttVi ? void 0 : _this$_gantt$_ganttVi._ganttViewCore.updateRowHeights(rowHeight)\r\n }\r\n }\r\n adjustHeight() {\r\n if (!this._gantt._hasHeight) {\r\n this._gantt._setGanttViewOption(\"height\", 0);\r\n this._gantt._setGanttViewOption(\"height\", this._gantt._ganttTreeList.getOffsetHeight())\r\n }\r\n }\r\n setInnerElementsWidth(widths) {\r\n if (!hasWindow()) {\r\n return\r\n }\r\n var takeWithFromOption = !widths;\r\n if (takeWithFromOption) {\r\n widths = this._getPanelsWidthByOption();\r\n this._setTreeListDimension(\"width\", 0);\r\n this._setGanttViewDimension(\"width\", 0)\r\n }\r\n this._setTreeListDimension(\"width\", widths.leftPanelWidth);\r\n this._setGanttViewDimension(\"width\", widths.rightPanelWidth);\r\n if (takeWithFromOption) {\r\n this._gantt._splitter._setSplitterPositionLeft()\r\n }\r\n }\r\n updateGanttWidth() {\r\n this._gantt._splitter._dimensionChanged()\r\n }\r\n setGanttHeight(height) {\r\n var _this$_gantt$_ganttVi2;\r\n var toolbarHeightOffset = this._gantt._$toolbarWrapper.get(0).offsetHeight;\r\n var mainWrapperHeight = height - toolbarHeightOffset;\r\n this._setTreeListDimension(\"height\", mainWrapperHeight);\r\n this._setGanttViewDimension(\"height\", mainWrapperHeight);\r\n null === (_this$_gantt$_ganttVi2 = this._gantt._ganttView) || void 0 === _this$_gantt$_ganttVi2 ? void 0 : _this$_gantt$_ganttVi2._ganttViewCore.resetAndUpdate()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/gantt/ui.gantt.templates.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nexport class GanttTemplatesManager {\r\n constructor(gantt) {\r\n this._gantt = gantt\r\n }\r\n getTaskTooltipContentTemplateFunc(taskTooltipContentTemplateOption) {\r\n var template = taskTooltipContentTemplateOption && this._gantt._getTemplate(taskTooltipContentTemplateOption);\r\n var createTemplateFunction = template && ((container, item, callback) => {\r\n template.render({\r\n model: this._gantt.getTaskDataByCoreData(item),\r\n container: getPublicElement($(container)),\r\n onRendered: () => {\r\n callback()\r\n }\r\n });\r\n return true\r\n });\r\n return createTemplateFunction\r\n }\r\n getTaskProgressTooltipContentTemplateFunc(taskTooltipContentTemplateOption) {\r\n var template = taskTooltipContentTemplateOption && this._gantt._getTemplate(taskTooltipContentTemplateOption);\r\n var createTemplateFunction = template && ((container, item, callback) => {\r\n template.render({\r\n model: item,\r\n container: getPublicElement($(container)),\r\n onRendered: () => {\r\n callback()\r\n }\r\n });\r\n return true\r\n });\r\n return createTemplateFunction\r\n }\r\n getTaskTimeTooltipContentTemplateFunc(taskTooltipContentTemplateOption) {\r\n var template = taskTooltipContentTemplateOption && this._gantt._getTemplate(taskTooltipContentTemplateOption);\r\n var createTemplateFunction = template && ((container, item, callback) => {\r\n template.render({\r\n model: item,\r\n container: getPublicElement($(container)),\r\n onRendered: () => {\r\n callback()\r\n }\r\n });\r\n return true\r\n });\r\n return createTemplateFunction\r\n }\r\n getTaskContentTemplateFunc(taskContentTemplateOption) {\r\n var template = taskContentTemplateOption && this._gantt._getTemplate(taskContentTemplateOption);\r\n var createTemplateFunction = template && ((container, item, callback, index) => {\r\n item.taskData = this._gantt.getTaskDataByCoreData(item.taskData);\r\n template.render({\r\n model: item,\r\n container: getPublicElement($(container)),\r\n onRendered: () => {\r\n callback(container, index)\r\n }\r\n });\r\n return true\r\n });\r\n return createTemplateFunction\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/gantt/ui.gantt.bars.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport ToolbarMenu from \"../toolbar\";\r\nimport ContextMenu from \"../context_menu\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nvar TOOLBAR_SEPARATOR_CLASS = \"dx-gantt-toolbar-separator\";\r\nvar COMMANDS = {\r\n createTask: 0,\r\n createSubTask: 1,\r\n removeTask: 2,\r\n removeDependency: 3,\r\n taskInformation: 4,\r\n taskAddContextItem: 5,\r\n undo: 6,\r\n redo: 7,\r\n zoomIn: 8,\r\n zoomOut: 9,\r\n fullScreen: 10,\r\n collapseAll: 11,\r\n expandAll: 12,\r\n resourceManager: 13,\r\n toggleResources: 14,\r\n toggleDependencies: 15\r\n};\r\nclass Bar {\r\n constructor(element, owner) {\r\n this._element = element;\r\n this._owner = owner;\r\n this._items = [];\r\n this._createControl()\r\n }\r\n createItems(items) {\r\n this._cache = null;\r\n this._items = this._createItemsCore(items);\r\n this._menu.option(\"items\", this._items)\r\n }\r\n _createItemsCore(items) {\r\n return items.map(item => {\r\n var result;\r\n if (\"string\" === typeof item) {\r\n result = this._createItemByText(item)\r\n } else {\r\n result = item.name ? extend(this._createItemByText(item.name), item) : extend(this._getDefaultItemOptions(), item)\r\n }\r\n if (item.items) {\r\n result.items = this._createItemsCore(item.items)\r\n }\r\n return result\r\n })\r\n }\r\n _createItemByText(text) {\r\n switch (text.toLowerCase()) {\r\n case \"separator\":\r\n return this._createSeparator();\r\n case \"undo\":\r\n return this._createDefaultItem(COMMANDS.undo, messageLocalization.format(\"dxGantt-undo\"), this._getIcon(\"undo\"));\r\n case \"redo\":\r\n return this._createDefaultItem(COMMANDS.redo, messageLocalization.format(\"dxGantt-redo\"), this._getIcon(\"redo\"));\r\n case \"expandall\":\r\n return this._createDefaultItem(COMMANDS.expandAll, messageLocalization.format(\"dxGantt-expandAll\"), this._getIcon(\"expand\"));\r\n case \"collapseall\":\r\n return this._createDefaultItem(COMMANDS.collapseAll, messageLocalization.format(\"dxGantt-collapseAll\"), this._getIcon(\"collapse\"));\r\n case \"addtask\":\r\n return this._createDefaultItem(COMMANDS.createTask, messageLocalization.format(\"dxGantt-addNewTask\"), this._getIcon(\"add\"));\r\n case \"addsubtask\":\r\n return this._createDefaultItem(COMMANDS.createSubTask, messageLocalization.format(\"dxGantt-contextMenuNewSubtask\"), this._getIcon(\"add-sub-task\"));\r\n case \"deletetask\":\r\n return this._createDefaultItem(COMMANDS.removeTask, messageLocalization.format(\"dxGantt-deleteSelectedTask\"), this._getIcon(\"delete\"));\r\n case \"deletedependency\":\r\n return this._createDefaultItem(COMMANDS.removeDependency, messageLocalization.format(\"dxGantt-contextMenuDeleteDependency\"), this._getIcon(\"delete-dependency\"));\r\n case \"zoomin\":\r\n return this._createDefaultItem(COMMANDS.zoomIn, messageLocalization.format(\"dxGantt-zoomIn\"), this._getIcon(\"zoom-in\"));\r\n case \"zoomout\":\r\n return this._createDefaultItem(COMMANDS.zoomOut, messageLocalization.format(\"dxGantt-zoomOut\"), this._getIcon(\"zoom-out\"));\r\n case \"fullscreen\":\r\n return this._createDefaultItem(COMMANDS.fullScreen, messageLocalization.format(\"dxGantt-fullScreen\"), this._getIcon(\"full-screen\"));\r\n case \"taskdetails\":\r\n return this._createDefaultItem(COMMANDS.taskInformation, messageLocalization.format(\"dxGantt-dialogTaskDetailsTitle\") + \"...\", this._getIcon(\"task-details\"));\r\n case \"resourcemanager\":\r\n return this._createDefaultItem(COMMANDS.resourceManager, messageLocalization.format(\"dxGantt-dialogResourceManagerTitle\"), this._getIcon(\"resource-manager\"));\r\n case \"showresources\":\r\n return this._createDefaultItem(COMMANDS.toggleResources, messageLocalization.format(\"dxGantt-showResources\"), this._getIcon(\"toggle-resources\"));\r\n case \"showdependencies\":\r\n return this._createDefaultItem(COMMANDS.toggleDependencies, messageLocalization.format(\"dxGantt-showDependencies\"), this._getIcon(\"toggle-dependencies\"));\r\n default:\r\n return extend(this._getDefaultItemOptions(), {\r\n options: {\r\n text: text\r\n }\r\n })\r\n }\r\n }\r\n _getDefaultItemOptions() {\r\n return {}\r\n }\r\n _getItemsCache() {\r\n if (!this._cache) {\r\n this._cache = {};\r\n this._fillCache(this._items)\r\n }\r\n return this._cache\r\n }\r\n _fillCache(items) {\r\n items.forEach(item => {\r\n var key = item.commandId;\r\n if (void 0 !== key) {\r\n if (!this._cache[key]) {\r\n this._cache[key] = []\r\n }\r\n this._cache[key].push(item)\r\n }\r\n if (item.items) {\r\n this._fillCache(item.items)\r\n }\r\n })\r\n }\r\n _getIcon(name) {\r\n return \"dx-gantt-i dx-gantt-i-\" + name\r\n }\r\n getCommandKeys() {\r\n var itemsCache = this._getItemsCache();\r\n var result = [];\r\n for (var itemKey in itemsCache) {\r\n result.push(parseInt(itemKey))\r\n }\r\n return result\r\n }\r\n setItemEnabled(key, enabled) {\r\n var itemsCache = this._getItemsCache();\r\n itemsCache[key].forEach(item => {\r\n item.disabled = !enabled\r\n })\r\n }\r\n setItemVisible(key, visible) {\r\n var itemsCache = this._getItemsCache();\r\n itemsCache[key].forEach(item => {\r\n item.visible = visible\r\n })\r\n }\r\n setItemValue(_key, _value) {}\r\n setEnabled(enabled) {\r\n this._menu.option(\"disabled\", !enabled)\r\n }\r\n updateItemsList() {}\r\n isVisible() {\r\n return true\r\n }\r\n isContextMenu() {\r\n return false\r\n }\r\n completeUpdate() {}\r\n}\r\nexport class GanttToolbar extends Bar {\r\n _createControl() {\r\n this._menu = this._owner._createComponent(this._element, ToolbarMenu, {\r\n onItemClick: e => {\r\n var commandId = e.itemData.commandId;\r\n if (void 0 !== commandId) {\r\n this._executeCommand(e.itemData.commandId)\r\n }\r\n }\r\n })\r\n }\r\n _executeCommand(commandId) {\r\n switch (commandId) {\r\n case COMMANDS.toggleResources:\r\n this._owner.option(\"showResources\", !this._owner.option(\"showResources\"));\r\n break;\r\n case COMMANDS.toggleDependencies:\r\n this._owner.option(\"showDependencies\", !this._owner.option(\"showDependencies\"));\r\n break;\r\n default:\r\n this._owner._executeCoreCommand(commandId)\r\n }\r\n }\r\n _createDefaultItem(commandId, hint, icon) {\r\n return {\r\n commandId: commandId,\r\n disabled: true,\r\n widget: \"dxButton\",\r\n location: \"before\",\r\n options: {\r\n icon: icon,\r\n stylingMode: \"text\",\r\n hint: hint\r\n }\r\n }\r\n }\r\n _createSeparator() {\r\n return {\r\n location: \"before\",\r\n template: (_data, _index, element) => {\r\n $(element).addClass(TOOLBAR_SEPARATOR_CLASS)\r\n }\r\n }\r\n }\r\n _getDefaultItemOptions() {\r\n return {\r\n location: \"before\",\r\n widget: \"dxButton\"\r\n }\r\n }\r\n completeUpdate() {\r\n this._menu.option(\"items\", this._items)\r\n }\r\n}\r\nexport class GanttContextMenuBar extends Bar {\r\n _createControl() {\r\n this._menu = this._owner._createComponent(this._element, ContextMenu, {\r\n showEvent: void 0,\r\n onItemClick: e => {\r\n if (void 0 !== e.itemData.commandId) {\r\n this._owner._executeCoreCommand(e.itemData.commandId)\r\n } else if (void 0 !== e.itemData.name) {\r\n this._owner._actionsManager.raiseCustomCommand(e.itemData.name)\r\n }\r\n }\r\n })\r\n }\r\n createItems(items) {\r\n if (!items || 0 === items.length) {\r\n items = this._getDefaultItems()\r\n }\r\n super.createItems(items)\r\n }\r\n _getDefaultItems() {\r\n return [{\r\n text: messageLocalization.format(\"dxGantt-dialogButtonAdd\"),\r\n commandId: COMMANDS.taskAddContextItem,\r\n icon: this._getIcon(\"add\"),\r\n items: [{\r\n text: messageLocalization.format(\"dxGantt-contextMenuNewTask\"),\r\n commandId: COMMANDS.createTask,\r\n icon: this._getIcon(\"add-task\")\r\n }, {\r\n text: messageLocalization.format(\"dxGantt-contextMenuNewSubtask\"),\r\n commandId: COMMANDS.createSubTask,\r\n icon: this._getIcon(\"add-sub-task\")\r\n }]\r\n }, {\r\n text: messageLocalization.format(\"dxGantt-dialogTaskDetailsTitle\") + \"...\",\r\n commandId: COMMANDS.taskInformation,\r\n icon: this._getIcon(\"task-details\")\r\n }, {\r\n text: messageLocalization.format(\"dxGantt-contextMenuDeleteTask\"),\r\n commandId: COMMANDS.removeTask,\r\n icon: this._getIcon(\"delete\")\r\n }, {\r\n text: messageLocalization.format(\"dxGantt-contextMenuDeleteDependency\"),\r\n commandId: COMMANDS.removeDependency,\r\n icon: this._getIcon(\"delete-dependency\")\r\n }]\r\n }\r\n _createDefaultItem(commandId, text, icon) {\r\n return {\r\n commandId: commandId,\r\n text: text,\r\n icon: icon\r\n }\r\n }\r\n show(point, items) {\r\n this._menu.option(\"items\", items || this._items);\r\n this._menu.option(\"position.offset\", {\r\n x: point.x,\r\n y: point.y\r\n });\r\n this._menu.option(\"position.collision\", \"fit\");\r\n this._menu.show()\r\n }\r\n hide() {\r\n this._menu.hide()\r\n }\r\n isContextMenu() {\r\n return true\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/gantt/ui.gantt.treelist.nodes_state.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport class GanttTreeListNodeState {\r\n constructor(treeListNode) {\r\n var _treeListNode$parent;\r\n this.collapsed = false;\r\n this.key = treeListNode.key;\r\n this.children = treeListNode.children.map(node => node.key);\r\n this.parentKey = null === (_treeListNode$parent = treeListNode.parent) || void 0 === _treeListNode$parent ? void 0 : _treeListNode$parent.key\r\n }\r\n hasChildren() {\r\n return this.children.length > 0\r\n }\r\n removeChild(state) {\r\n var index = this.children.indexOf(state.key);\r\n if (index > -1) {\r\n this.children = this.children.splice(index, 1)\r\n }\r\n }\r\n equal(state) {\r\n if (!state || state.key !== this.key || state.parentKey !== this.parentKey) {\r\n return false\r\n }\r\n if (this.children.length !== state.children.length || this.children.some((value, index) => value !== state.children[index])) {\r\n return false\r\n }\r\n return true\r\n }\r\n}\r\nexport class GanttTreeListNodesState {\r\n constructor() {\r\n this._resetHash()\r\n }\r\n clear() {\r\n this._resetHash()\r\n }\r\n applyNodes(nodes, rootValue) {\r\n if (this._rootValue !== rootValue) {\r\n this._resetHash();\r\n this._rootValue = rootValue\r\n }\r\n this._removeNonExistentNodes(nodes.map(node => node.key));\r\n nodes.forEach(node => this._applyNode(node));\r\n this._validateHash()\r\n }\r\n saveExpandedState(expandedKeys) {\r\n this._hasCollapsed = false;\r\n this._forEachState(state => {\r\n if (state.hasChildren() && !expandedKeys.includes(state.key)) {\r\n state.collapsed = true;\r\n this._hasCollapsed = true\r\n }\r\n })\r\n }\r\n getExpandedKeys() {\r\n if (this._hasCollapsed) {\r\n var keys = [];\r\n this._forEachState(state => {\r\n if (state.hasChildren() && !state.collapsed) {\r\n keys.push(state.key)\r\n }\r\n });\r\n return keys\r\n }\r\n return null\r\n }\r\n _resetHash() {\r\n this._nodeHash = {};\r\n this._hasCollapsed = false\r\n }\r\n _getNodeState(key) {\r\n return this._nodeHash[key]\r\n }\r\n _removeNonExistentNodes(existingKeys) {\r\n if (existingKeys) {\r\n this._forEachState(state => {\r\n if (!existingKeys.includes(state.key)) {\r\n this._removeStateWithChildren(state)\r\n }\r\n })\r\n }\r\n }\r\n _removeStateWithChildren(key) {\r\n var state = this._getNodeState(key);\r\n if (state) {\r\n state.children.forEach(child => this._removeStateWithChildren(child));\r\n var parent = this._getNodeState(state.parentKey);\r\n if (parent) {\r\n parent.removeChild(state)\r\n }\r\n delete this._nodeHash[key]\r\n }\r\n }\r\n _applyNode(node) {\r\n var nodeState = new GanttTreeListNodeState(node);\r\n var oldState = this._getNodeState(node.key);\r\n if (!(null !== oldState && void 0 !== oldState && oldState.equal(nodeState))) {\r\n this._nodeHash[node.key] = nodeState;\r\n this._expandTreelineToNode(node.key)\r\n }\r\n }\r\n _expandTreelineToNode(key) {\r\n var state = this._getNodeState(key);\r\n var parent = this._getNodeState(null === state || void 0 === state ? void 0 : state.parentKey);\r\n while (parent) {\r\n parent.collapsed = false;\r\n parent = this._getNodeState(parent.parentKey)\r\n }\r\n }\r\n _validateHash() {\r\n Object.keys(this._nodeHash).forEach(key => {\r\n var state = this._getNodeState(key);\r\n var parentKey = null === state || void 0 === state ? void 0 : state.parentKey;\r\n if (parentKey !== this._rootValue && !this._getNodeState(parentKey)) {\r\n this._removeStateWithChildren(key)\r\n }\r\n })\r\n }\r\n _forEachState(callback) {\r\n Object.keys(this._nodeHash).forEach(key => {\r\n var state = this._nodeHash[key];\r\n if (state) {\r\n callback(state)\r\n }\r\n })\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/gantt/ui.gantt.treelist.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport dxTreeList from \"../tree_list\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../core/utils/position\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n GanttHelper\r\n} from \"./ui.gantt.helper\";\r\nimport {\r\n DataSource\r\n} from \"../../data/data_source/data_source\";\r\nimport ArrayStore from \"../../data/array_store\";\r\nimport {\r\n compileGetter\r\n} from \"../../core/utils/data\";\r\nimport {\r\n GanttTreeListNodesState\r\n} from \"./ui.gantt.treelist.nodes_state\";\r\nvar GANTT_TASKS = \"tasks\";\r\nvar GANTT_COLLAPSABLE_ROW = \"dx-gantt-collapsable-row\";\r\nvar GANTT_DEFAULT_ROW_HEIGHT = 34;\r\nvar GANTT_SCROLL_ACTIVATION_LEVEL = 1;\r\nexport class GanttTreeList {\r\n constructor(gantt) {\r\n this._gantt = gantt;\r\n this._$treeList = this._gantt._$treeList\r\n }\r\n getTreeList() {\r\n var {\r\n keyExpr: keyExpr,\r\n parentIdExpr: parentIdExpr\r\n } = this._gantt.option(GANTT_TASKS);\r\n this._treeList = this._gantt._createComponent(this._$treeList, dxTreeList, {\r\n dataSource: this.createDataSource(this._gantt._tasksRaw, keyExpr),\r\n keyExpr: keyExpr,\r\n filterSyncEnabled: true,\r\n parentIdExpr: parentIdExpr,\r\n columns: this.getColumns(),\r\n columnResizingMode: \"nextColumn\",\r\n height: this._getHeight(),\r\n width: this._gantt.option(\"taskListWidth\"),\r\n selection: {\r\n mode: GanttHelper.getSelectionMode(this._gantt.option(\"allowSelection\"))\r\n },\r\n selectedRowKeys: GanttHelper.getArrayFromOneElement(this._gantt.option(\"selectedRowKey\")),\r\n sorting: this._gantt.option(\"sorting\"),\r\n filterRow: this._gantt.option(\"filterRow\"),\r\n headerFilter: this._gantt.option(\"headerFilter\"),\r\n scrolling: {\r\n showScrollbar: \"onHover\",\r\n mode: \"virtual\"\r\n },\r\n allowColumnResizing: true,\r\n autoExpandAll: true,\r\n showRowLines: this._gantt.option(\"showRowLines\"),\r\n rootValue: this._gantt.option(\"rootValue\"),\r\n onContentReady: e => {\r\n this._onContentReady(e)\r\n },\r\n onSelectionChanged: e => {\r\n this._onSelectionChanged(e)\r\n },\r\n onRowCollapsed: e => {\r\n this._onRowCollapsed(e)\r\n },\r\n onRowExpanded: e => {\r\n this._onRowExpanded(e)\r\n },\r\n onRowPrepared: e => {\r\n this._onRowPrepared(e)\r\n },\r\n onContextMenuPreparing: e => {\r\n this._onContextMenuPreparing(e)\r\n },\r\n onRowClick: e => {\r\n this.onRowClick(e)\r\n },\r\n onRowDblClick: e => {\r\n this.onRowDblClick(e)\r\n },\r\n onNodesInitialized: e => {\r\n this._onNodesInitialized(e)\r\n }\r\n });\r\n return this._treeList\r\n }\r\n onAfterTreeListCreate() {\r\n if (this._postponedGanttInitRequired) {\r\n this._initGanttOnContentReady({\r\n component: this._treeList\r\n });\r\n delete this._postponedGanttInitRequired\r\n }\r\n }\r\n _onContentReady(e) {\r\n var hasTreeList = !!this._treeList;\r\n if (hasTreeList) {\r\n this._initGanttOnContentReady(e)\r\n } else {\r\n this._postponedGanttInitRequired = true\r\n }\r\n this._gantt._onTreeListContentReady(e)\r\n }\r\n _initGanttOnContentReady(e) {\r\n if (e.component.getDataSource()) {\r\n this._gantt._initGanttView();\r\n this._initScrollSync(e.component)\r\n }\r\n this._gantt._sortAndFilter();\r\n this._gantt._sizeHelper.updateGanttRowHeights()\r\n }\r\n _onSelectionChanged(e) {\r\n var selectedRowKey = e.currentSelectedRowKeys[0];\r\n this._gantt._setGanttViewOption(\"selectedRowKey\", selectedRowKey);\r\n this._gantt._setOptionWithoutOptionChange(\"selectedRowKey\", selectedRowKey);\r\n this._gantt._actionsManager.raiseSelectionChangedAction(selectedRowKey)\r\n }\r\n _onRowCollapsed(e) {\r\n this._gantt._onTreeListRowExpandChanged(e, false)\r\n }\r\n _onRowExpanded(e) {\r\n this._gantt._onTreeListRowExpandChanged(e, true)\r\n }\r\n _onRowPrepared(e) {\r\n if (\"data\" === e.rowType && e.node.children.length > 0) {\r\n $(e.rowElement).addClass(GANTT_COLLAPSABLE_ROW)\r\n }\r\n }\r\n _onContextMenuPreparing(e) {\r\n var _e$row, _e$row2;\r\n if (\"header\" === e.target) {\r\n return\r\n }\r\n if (\"data\" === (null === (_e$row = e.row) || void 0 === _e$row ? void 0 : _e$row.rowType)) {\r\n this.setOption(\"selectedRowKeys\", [e.row.data[this._gantt.option(\"tasks.keyExpr\")]])\r\n }\r\n e.items = [];\r\n var info = {\r\n cancel: false,\r\n event: e.event,\r\n type: \"task\",\r\n key: null === (_e$row2 = e.row) || void 0 === _e$row2 ? void 0 : _e$row2.key,\r\n position: {\r\n x: e.event.pageX,\r\n y: e.event.pageY\r\n }\r\n };\r\n this._gantt._showPopupMenu(info)\r\n }\r\n _getHeight() {\r\n if (getHeight(this._$treeList)) {\r\n return getHeight(this._$treeList)\r\n }\r\n this._gantt._hasHeight = isDefined(this._gantt.option(\"height\")) && \"\" !== this._gantt.option(\"height\");\r\n return this._gantt._hasHeight ? \"100%\" : \"\"\r\n }\r\n _initScrollSync(treeList) {\r\n var treeListScrollable = treeList.getScrollable();\r\n if (treeListScrollable) {\r\n treeListScrollable.off(\"scroll\");\r\n treeListScrollable.on(\"scroll\", e => {\r\n this._onScroll(e)\r\n })\r\n }\r\n }\r\n _onScroll(treeListScrollView) {\r\n var ganttViewTaskAreaContainer = this._gantt._ganttView.getTaskAreaContainer();\r\n if (ganttViewTaskAreaContainer.scrollTop !== treeListScrollView.component.scrollTop()) {\r\n ganttViewTaskAreaContainer.scrollTop = treeListScrollView.component.scrollTop()\r\n }\r\n }\r\n _correctRowsViewRowHeight(height) {\r\n var view = this._treeList._views && this._treeList._views.rowsView;\r\n if ((null === view || void 0 === view ? void 0 : view._rowHeight) !== height) {\r\n view._rowHeight = height\r\n }\r\n }\r\n _skipUpdateTreeListDataSource() {\r\n return this._gantt.option(\"validation.autoUpdateParentTasks\")\r\n }\r\n selectRows(keys) {\r\n this.setOption(\"selectedRowKeys\", keys)\r\n }\r\n scrollBy(scrollTop) {\r\n var treeListScrollable = this._treeList.getScrollable();\r\n if (treeListScrollable) {\r\n var diff = scrollTop - treeListScrollable.scrollTop();\r\n if (Math.abs(diff) >= GANTT_SCROLL_ACTIVATION_LEVEL) {\r\n treeListScrollable.scrollBy({\r\n left: 0,\r\n top: diff\r\n })\r\n }\r\n }\r\n }\r\n updateDataSource(data) {\r\n var forceUpdate = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : false;\r\n var forceCustomData = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false;\r\n if (!this._skipUpdateTreeListDataSource() || forceUpdate) {\r\n this.setDataSource(data)\r\n } else if (forceCustomData) {\r\n var _data = this._treeList.option(\"dataSource\");\r\n this._gantt._onParentTasksRecalculated(_data)\r\n }\r\n }\r\n setDataSource(data) {\r\n this.setOption(\"dataSource\", this.createDataSource(data))\r\n }\r\n createDataSource(data, key) {\r\n return data && new DataSource({\r\n store: new ArrayStore({\r\n data: data,\r\n key: key || this.getOption(\"keyExpr\")\r\n })\r\n })\r\n }\r\n onRowClick(e) {\r\n this._gantt._actionsManager.raiseTaskClickAction(e.key, e.event)\r\n }\r\n onRowDblClick(e) {\r\n if (this._gantt._actionsManager.raiseTaskDblClickAction(e.key, e.event)) {\r\n this._gantt._ganttView._ganttViewCore.showTaskEditDialog()\r\n }\r\n }\r\n saveExpandedKeys() {\r\n var treeList = this._treeList;\r\n var visibleRowCount = null === treeList || void 0 === treeList ? void 0 : treeList.getVisibleRows().length;\r\n if (visibleRowCount > 0) {\r\n var nodes = this.getAllNodes();\r\n var keys = this.getOption(\"expandedRowKeys\");\r\n var hasExpandedRows = keys && nodes.length !== visibleRowCount;\r\n if (hasExpandedRows) {\r\n var state = this.getNodesState();\r\n state.applyNodes(nodes, this.getOption(\"rootValue\"));\r\n state.saveExpandedState(keys)\r\n }\r\n }\r\n }\r\n _onNodesInitialized(e) {\r\n var state = this.getNodesState();\r\n var savedKeys = state.getExpandedKeys();\r\n var nodes = this.getAllNodes();\r\n state.applyNodes(nodes, this.getOption(\"rootValue\"));\r\n var expandedKeys = state.getExpandedKeys();\r\n if (expandedKeys) {\r\n this.setOption(\"expandedRowKeys\", expandedKeys)\r\n }\r\n if (this.isExpandedStateChanged(savedKeys, expandedKeys)) {\r\n var expandedState = nodes.reduce((previous, node) => {\r\n previous[node.key] = expandedKeys ? expandedKeys.includes(node.key) : true;\r\n return previous\r\n }, {});\r\n this._gantt._ganttView.applyTasksExpandedState(expandedState)\r\n }\r\n state.clear()\r\n }\r\n getNodesState() {\r\n if (!this._nodeState) {\r\n this._nodeState = new GanttTreeListNodesState\r\n }\r\n return this._nodeState\r\n }\r\n getAllNodes() {\r\n var _this$_treeList, _this$_treeList$getDa, _this$_treeList2;\r\n var store = null === (_this$_treeList = this._treeList) || void 0 === _this$_treeList ? void 0 : null === (_this$_treeList$getDa = _this$_treeList.getDataSource()) || void 0 === _this$_treeList$getDa ? void 0 : _this$_treeList$getDa.store();\r\n if (!store || !(null !== (_this$_treeList2 = this._treeList) && void 0 !== _this$_treeList2 && _this$_treeList2.getNodeByKey)) {\r\n return []\r\n }\r\n var keyGetter = compileGetter(store.key());\r\n return store._array.map(item => this._treeList.getNodeByKey(keyGetter(item))).filter(item => !!item)\r\n }\r\n isExpandedStateChanged(keys1, keys2) {\r\n if (null === keys1 && null === keys2) {\r\n return false\r\n }\r\n if ((null === keys1 || void 0 === keys1 ? void 0 : keys1.length) !== (null === keys2 || void 0 === keys2 ? void 0 : keys2.length)) {\r\n return true\r\n }\r\n return keys1.some((key, index) => key !== keys2[index])\r\n }\r\n getOffsetHeight() {\r\n return this._gantt._treeList._$element.get(0).offsetHeight\r\n }\r\n getRowHeight() {\r\n var $row = this._treeList._$element.find(\".dx-data-row\");\r\n var height = $row.length ? getBoundingRect($row.last().get(0)).height : GANTT_DEFAULT_ROW_HEIGHT;\r\n if (!height) {\r\n height = GANTT_DEFAULT_ROW_HEIGHT\r\n }\r\n this._correctRowsViewRowHeight(height);\r\n return height\r\n }\r\n getHeaderHeight() {\r\n return getBoundingRect(this._treeList._$element.find(\".dx-treelist-headers\").get(0)).height\r\n }\r\n getColumns() {\r\n var columns = this._gantt.option(\"columns\");\r\n if (columns) {\r\n for (var i = 0; i < columns.length; i++) {\r\n var column = columns[i];\r\n var isKeyColumn = column.dataField === this._gantt.option(\"\".concat(GANTT_TASKS, \".keyExpr\")) || column.dataField === this._gantt.option(\"\".concat(GANTT_TASKS, \".parentIdExpr\"));\r\n if (isKeyColumn && !column.dataType) {\r\n column.dataType = \"object\"\r\n }\r\n }\r\n }\r\n return columns\r\n }\r\n getSievedItems() {\r\n var rootNode = this._treeList.getRootNode();\r\n if (!rootNode) {\r\n return\r\n }\r\n var resultArray = [];\r\n GanttHelper.convertTreeToList(rootNode, resultArray);\r\n var getters = GanttHelper.compileGettersByOption(this._gantt.option(GANTT_TASKS));\r\n var validatedData = this._gantt._validateSourceData(GANTT_TASKS, resultArray);\r\n var mappedData = validatedData.map(GanttHelper.prepareMapHandler(getters));\r\n return mappedData\r\n }\r\n setOption(optionName, value) {\r\n this._treeList && this._treeList.option(optionName, value)\r\n }\r\n getOption(optionName) {\r\n var _this$_treeList3;\r\n return null === (_this$_treeList3 = this._treeList) || void 0 === _this$_treeList3 ? void 0 : _this$_treeList3.option(optionName)\r\n }\r\n onTaskInserted(insertedId, parentId) {\r\n if (isDefined(parentId)) {\r\n var expandedRowKeys = this.getOption(\"expandedRowKeys\");\r\n if (-1 === expandedRowKeys.indexOf(parentId)) {\r\n expandedRowKeys.push(parentId);\r\n this.setOption(\"expandedRowKeys\", expandedRowKeys)\r\n }\r\n }\r\n this.selectRows(GanttHelper.getArrayFromOneElement(insertedId));\r\n this.setOption(\"focusedRowKey\", insertedId)\r\n }\r\n getDataSource() {\r\n var _this$_treeList4;\r\n return null === (_this$_treeList4 = this._treeList) || void 0 === _this$_treeList4 ? void 0 : _this$_treeList4.getDataSource()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/gantt/ui.gantt.task.area.container.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dxScrollView from \"../scroll_view\";\r\nexport class TaskAreaContainer {\r\n constructor(element, ganttViewWidget) {\r\n this._element = element;\r\n this._scrollView = ganttViewWidget._createComponent(this._element, dxScrollView, {\r\n scrollByContent: false,\r\n scrollByThumb: true,\r\n showScrollbar: \"onHover\",\r\n direction: \"both\",\r\n onScroll: () => {\r\n ganttViewWidget.updateView()\r\n }\r\n })\r\n }\r\n get scrollTop() {\r\n return this._scrollView.scrollTop()\r\n }\r\n set scrollTop(value) {\r\n var diff = value - this._scrollView.scrollTop();\r\n if (0 !== diff) {\r\n this._scrollView.scrollBy({\r\n left: 0,\r\n top: diff\r\n })\r\n }\r\n }\r\n get scrollLeft() {\r\n return this._scrollView.scrollLeft()\r\n }\r\n set scrollLeft(value) {\r\n var diff = value - this._scrollView.scrollLeft();\r\n if (0 !== diff) {\r\n this._scrollView.scrollBy({\r\n left: diff,\r\n top: 0\r\n })\r\n }\r\n }\r\n get scrollWidth() {\r\n return this._scrollView.scrollWidth()\r\n }\r\n get scrollHeight() {\r\n return this._scrollView.scrollHeight()\r\n }\r\n get isExternal() {\r\n return true\r\n }\r\n getWidth() {\r\n return this._element.offsetWidth\r\n }\r\n getHeight() {\r\n return this._element.offsetHeight\r\n }\r\n getElement() {\r\n return this._element\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/gantt/ui.gantt.view.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport {\r\n getGanttViewCore\r\n} from \"./gantt_importer\";\r\nimport {\r\n TaskAreaContainer\r\n} from \"./ui.gantt.task.area.container\";\r\nimport dateLocalization from \"../../localization/date\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n format\r\n} from \"../../core/utils/string\";\r\nimport coreLocalization from \"../../localization/core\";\r\nexport class GanttView extends Widget {\r\n _init() {\r\n super._init();\r\n this._onSelectionChanged = this._createActionByOption(\"onSelectionChanged\");\r\n this._onViewTypeChanged = this._createActionByOption(\"onViewTypeChanged\");\r\n this._onScroll = this._createActionByOption(\"onScroll\");\r\n this._onDialogShowing = this._createActionByOption(\"onDialogShowing\");\r\n this._onPopupMenuShowing = this._createActionByOption(\"onPopupMenuShowing\");\r\n this._onPopupMenuHiding = this._createActionByOption(\"onPopupMenuHiding\");\r\n this._expandAll = this._createActionByOption(\"onExpandAll\");\r\n this._collapseAll = this._createActionByOption(\"onCollapseAll\");\r\n this._taskClick = this._createActionByOption(\"onTaskClick\");\r\n this._taskDblClick = this._createActionByOption(\"onTaskDblClick\");\r\n this._onAdjustControl = this._createActionByOption(\"onAdjustControl\")\r\n }\r\n _initMarkup() {\r\n var GanttView = getGanttViewCore();\r\n this._ganttViewCore = new GanttView(this.$element().get(0), this, {\r\n showResources: this.option(\"showResources\"),\r\n showDependencies: this.option(\"showDependencies\"),\r\n taskTitlePosition: this._getTaskTitlePosition(this.option(\"taskTitlePosition\")),\r\n firstDayOfWeek: this._getFirstDayOfWeek(this.option(\"firstDayOfWeek\")),\r\n allowSelectTask: this.option(\"allowSelection\"),\r\n startDateRange: this.option(\"startDateRange\"),\r\n endDateRange: this.option(\"endDateRange\"),\r\n editing: this._parseEditingSettings(this.option(\"editing\")),\r\n validation: this.option(\"validation\"),\r\n stripLines: {\r\n stripLines: this.option(\"stripLines\")\r\n },\r\n areHorizontalBordersEnabled: this.option(\"showRowLines\"),\r\n areAlternateRowsEnabled: false,\r\n viewType: this._getViewTypeByScaleType(this.option(\"scaleType\")),\r\n viewTypeRange: this._parseViewTypeRangeSettings(this.option(\"scaleTypeRange\")),\r\n cultureInfo: this._getCultureInfo(),\r\n taskTooltipContentTemplate: this.option(\"taskTooltipContentTemplate\"),\r\n taskProgressTooltipContentTemplate: this.option(\"taskProgressTooltipContentTemplate\"),\r\n taskTimeTooltipContentTemplate: this.option(\"taskTimeTooltipContentTemplate\"),\r\n taskContentTemplate: this.option(\"taskContentTemplate\"),\r\n sieve: this.option(\"sieve\")\r\n });\r\n this._selectTask(this.option(\"selectedRowKey\"));\r\n this.updateBarItemsState()\r\n }\r\n _getFirstDayOfWeek(value) {\r\n return isDefined(value) ? value : dateLocalization.firstDayOfWeekIndex()\r\n }\r\n getTaskAreaContainer() {\r\n return this._ganttViewCore.getTaskAreaContainer()\r\n }\r\n getBarManager() {\r\n return this._ganttViewCore.barManager\r\n }\r\n executeCoreCommand(id) {\r\n var command = this._ganttViewCore.getCommandByKey(id);\r\n if (command) {\r\n command.execute()\r\n }\r\n }\r\n changeTaskExpanded(id, value) {\r\n this._ganttViewCore.changeTaskExpanded(id, value)\r\n }\r\n updateView() {\r\n var _this$_ganttViewCore;\r\n null === (_this$_ganttViewCore = this._ganttViewCore) || void 0 === _this$_ganttViewCore ? void 0 : _this$_ganttViewCore.updateView()\r\n }\r\n updateBarItemsState() {\r\n this._ganttViewCore.barManager.updateItemsState([])\r\n }\r\n setWidth(value) {\r\n this._ganttViewCore.setWidth(value)\r\n }\r\n _onDimensionChanged() {\r\n this._ganttViewCore.onBrowserWindowResize()\r\n }\r\n _selectTask(id) {\r\n this._ganttViewCore.selectTaskById(id)\r\n }\r\n _update(keepExpandState) {\r\n var _this$_ganttViewCore2;\r\n null === (_this$_ganttViewCore2 = this._ganttViewCore) || void 0 === _this$_ganttViewCore2 ? void 0 : _this$_ganttViewCore2.updateWithDataReload(keepExpandState)\r\n }\r\n _getCultureInfo() {\r\n return {\r\n monthNames: dateLocalization.getMonthNames(\"wide\"),\r\n dayNames: dateLocalization.getDayNames(\"wide\"),\r\n abbrMonthNames: dateLocalization.getMonthNames(\"abbreviated\"),\r\n abbrDayNames: dateLocalization.getDayNames(\"abbreviated\"),\r\n quarterNames: this._getQuarterNames(),\r\n amText: this._getAmText(),\r\n pmText: this._getPmText(),\r\n start: messageLocalization.format(\"dxGantt-dialogStartTitle\"),\r\n end: messageLocalization.format(\"dxGantt-dialogEndTitle\"),\r\n progress: messageLocalization.format(\"dxGantt-dialogProgressTitle\")\r\n }\r\n }\r\n _getAmText() {\r\n return this._hasAmPM() ? dateLocalization.getPeriodNames()[0] : \"\"\r\n }\r\n _getPmText() {\r\n return this._hasAmPM() ? dateLocalization.getPeriodNames()[1] : \"\"\r\n }\r\n _hasAmPM() {\r\n var date = new Date(Date.UTC(2012, 11, 12, 3, 0, 0));\r\n var dateString = date.toLocaleTimeString(coreLocalization.locale());\r\n return dateString.match(/am|pm/i) || date.toString().match(/am|pm/i)\r\n }\r\n _getQuarterNames() {\r\n var quarterFormat = messageLocalization.format(\"dxGantt-quarter\");\r\n if (!quarterFormat) {\r\n return dateLocalization.getQuarterNames()\r\n }\r\n return [format(quarterFormat, 1), format(quarterFormat, 2), format(quarterFormat, 3), format(quarterFormat, 4)]\r\n }\r\n _getTaskTitlePosition(value) {\r\n switch (value) {\r\n case \"outside\":\r\n return 1;\r\n case \"none\":\r\n return 2;\r\n default:\r\n return 0\r\n }\r\n }\r\n _getViewTypeByScaleType(scaleType) {\r\n switch (scaleType) {\r\n case \"minutes\":\r\n return 0;\r\n case \"hours\":\r\n return 1;\r\n case \"sixHours\":\r\n return 2;\r\n case \"days\":\r\n return 3;\r\n case \"weeks\":\r\n return 4;\r\n case \"months\":\r\n return 5;\r\n case \"quarters\":\r\n return 6;\r\n case \"years\":\r\n return 7;\r\n default:\r\n return\r\n }\r\n }\r\n _parseEditingSettings(value) {\r\n return {\r\n enabled: value.enabled,\r\n allowDependencyDelete: value.allowDependencyDeleting,\r\n allowDependencyInsert: value.allowDependencyAdding,\r\n allowTaskDelete: value.allowTaskDeleting,\r\n allowTaskInsert: value.allowTaskAdding,\r\n allowTaskUpdate: value.allowTaskUpdating,\r\n allowResourceDelete: value.allowResourceDeleting,\r\n allowResourceInsert: value.allowResourceAdding,\r\n allowResourceUpdate: value.allowResourceUpdating,\r\n allowTaskResourceUpdate: value.allowTaskResourceUpdating\r\n }\r\n }\r\n _parseViewTypeRangeSettings(value) {\r\n return {\r\n min: this._getViewTypeByScaleType(value.min),\r\n max: this._getViewTypeByScaleType(value.max)\r\n }\r\n }\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"width\":\r\n super._optionChanged(args);\r\n this._ganttViewCore.setWidth(args.value);\r\n break;\r\n case \"height\":\r\n this._ganttViewCore.setHeight(args.value);\r\n break;\r\n case \"tasks\":\r\n case \"dependencies\":\r\n case \"resources\":\r\n case \"resourceAssignments\":\r\n this._sieveOptions = void 0;\r\n this._update(true);\r\n break;\r\n case \"showResources\":\r\n this._ganttViewCore.setShowResources(args.value);\r\n break;\r\n case \"showDependencies\":\r\n this._ganttViewCore.setShowDependencies(args.value);\r\n break;\r\n case \"taskTitlePosition\":\r\n this._ganttViewCore.setTaskTitlePosition(this._getTaskTitlePosition(args.value));\r\n break;\r\n case \"firstDayOfWeek\":\r\n this._ganttViewCore.setFirstDayOfWeek(this._getFirstDayOfWeek(args.value));\r\n break;\r\n case \"startDateRange\":\r\n this._ganttViewCore.setStartDateRange(args.value);\r\n break;\r\n case \"endDateRange\":\r\n this._ganttViewCore.setEndDateRange(args.value);\r\n break;\r\n case \"allowSelection\":\r\n this._ganttViewCore.setAllowSelection(args.value);\r\n break;\r\n case \"selectedRowKey\":\r\n this._selectTask(args.value);\r\n break;\r\n case \"editing\":\r\n this._ganttViewCore.setEditingSettings(this._parseEditingSettings(args.value));\r\n break;\r\n case \"validation\":\r\n this._ganttViewCore.setValidationSettings(args.value);\r\n this._update(true);\r\n break;\r\n case \"showRowLines\":\r\n this._ganttViewCore.setRowLinesVisible(args.value);\r\n break;\r\n case \"scaleType\":\r\n this._ganttViewCore.setViewType(this._getViewTypeByScaleType(args.value));\r\n break;\r\n case \"scaleTypeRange\":\r\n this._ganttViewCore.setViewTypeRange(this._getViewTypeByScaleType(args.value.min), this._getViewTypeByScaleType(args.value.max));\r\n break;\r\n case \"stripLines\":\r\n this._ganttViewCore.setStripLines({\r\n stripLines: args.value\r\n });\r\n break;\r\n case \"taskTooltipContentTemplate\":\r\n this._ganttViewCore.setTaskTooltipContentTemplate(args.value);\r\n break;\r\n case \"taskProgressTooltipContentTemplate\":\r\n this._ganttViewCore.setTaskProgressTooltipContentTemplate(args.value);\r\n break;\r\n case \"taskTimeTooltipContentTemplate\":\r\n this._ganttViewCore.setTaskTimeTooltipContentTemplate(args.value);\r\n break;\r\n case \"taskContentTemplate\":\r\n this._ganttViewCore.setTaskContentTemplate(args.value);\r\n break;\r\n case \"sieve\":\r\n this._sortAndFilter(args.value);\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n get bars() {\r\n return this.option(\"bars\")\r\n }\r\n getRowHeight() {\r\n return this.option(\"rowHeight\")\r\n }\r\n getHeaderHeight() {\r\n return this.option(\"headerHeight\")\r\n }\r\n getGanttTasksData() {\r\n var tasks = this.option(\"tasks\");\r\n var sieveOptions = this.getSieveOptions();\r\n if (null !== sieveOptions && void 0 !== sieveOptions && sieveOptions.sievedItems && null !== sieveOptions && void 0 !== sieveOptions && sieveOptions.sieveColumn) {\r\n return sieveOptions.sievedItems\r\n }\r\n return tasks\r\n }\r\n _sortAndFilter(args) {\r\n this._sieveOptions = args;\r\n this._update(!(null !== args && void 0 !== args && args.expandTasks));\r\n var selectedRowKey = this.option(\"selectedRowKey\");\r\n this._selectTask(selectedRowKey)\r\n }\r\n getSieveOptions() {\r\n return this._sieveOptions\r\n }\r\n getGanttDependenciesData() {\r\n return this.option(\"dependencies\")\r\n }\r\n getGanttResourcesData() {\r\n return this.option(\"resources\")\r\n }\r\n getGanttResourceAssignmentsData() {\r\n return this.option(\"resourceAssignments\")\r\n }\r\n getGanttWorkTimeRules() {\r\n return null\r\n }\r\n getExternalTaskAreaContainer(element) {\r\n if (!this._taskAreaContainer) {\r\n this._taskAreaContainer = new TaskAreaContainer(element, this)\r\n }\r\n return this._taskAreaContainer\r\n }\r\n prepareExternalTaskAreaContainer(element, info) {\r\n if (null !== info && void 0 !== info && info.height) {\r\n this._taskAreaContainer._scrollView.option(\"height\", info.height)\r\n }\r\n }\r\n changeGanttTaskSelection(id, selected) {\r\n this._onSelectionChanged({\r\n id: id,\r\n selected: selected\r\n })\r\n }\r\n onGanttScroll(scrollTop) {\r\n this._onScroll({\r\n scrollTop: scrollTop\r\n })\r\n }\r\n showDialog(name, parameters, callback, afterClosing) {\r\n this._onDialogShowing({\r\n name: name,\r\n parameters: parameters,\r\n callback: callback,\r\n afterClosing: afterClosing\r\n })\r\n }\r\n getModelChangesListener() {\r\n return this.option(\"modelChangesListener\")\r\n }\r\n getExportInfo() {\r\n return this.option(\"exportInfo\")\r\n }\r\n showPopupMenu(info) {\r\n this._onPopupMenuShowing(info)\r\n }\r\n hidePopupMenu(info) {\r\n this._onPopupMenuHiding(info)\r\n }\r\n getMainElement() {\r\n return this.option(\"mainElement\").get(0)\r\n }\r\n adjustControl() {\r\n this._onAdjustControl()\r\n }\r\n getRequireFirstLoadParentAutoCalc() {\r\n return this.option(\"validation.autoUpdateParentTasks\")\r\n }\r\n collapseAll() {\r\n this._collapseAll()\r\n }\r\n expandAll() {\r\n this._expandAll()\r\n }\r\n onTaskClick(key, event) {\r\n this._taskClick({\r\n key: key,\r\n event: event\r\n });\r\n return true\r\n }\r\n onTaskDblClick(key, event) {\r\n return this._taskDblClick({\r\n key: key,\r\n event: event\r\n })\r\n }\r\n onGanttViewContextMenu(event, key, type) {\r\n return true\r\n }\r\n getFormattedDateText(date) {\r\n var result = \"\";\r\n if (date) {\r\n var datePart = dateLocalization.format(date, \"shortDate\");\r\n var timeFormat = this._hasAmPM() ? \"hh:mm a\" : \"HH:mm\";\r\n var timePart = dateLocalization.format(date, timeFormat);\r\n result = datePart + \" \" + timePart\r\n }\r\n return result\r\n }\r\n destroyTemplate(container) {\r\n $(container).empty()\r\n }\r\n onTaskAreaSizeChanged(info) {\r\n var scrollView = this._taskAreaContainer._scrollView;\r\n if (isDefined(null === info || void 0 === info ? void 0 : info.height)) {\r\n var direction = (null === info || void 0 === info ? void 0 : info.height) > this._taskAreaContainer.getHeight() ? \"both\" : \"horizontal\";\r\n scrollView.option(\"direction\", direction)\r\n }\r\n }\r\n updateGanttViewType(type) {\r\n this._onViewTypeChanged({\r\n type: type\r\n })\r\n }\r\n getTreeListTableStyle() {\r\n return this.callExportHelperMethod(\"getTreeListTableStyle\")\r\n }\r\n getTreeListColCount() {\r\n return this.callExportHelperMethod(\"getTreeListColCount\")\r\n }\r\n getTreeListHeaderInfo(colIndex) {\r\n return this.callExportHelperMethod(\"getTreeListHeaderInfo\", colIndex)\r\n }\r\n getTreeListCellInfo(rowIndex, colIndex, key) {\r\n return this.callExportHelperMethod(\"getTreeListCellInfo\", key, colIndex)\r\n }\r\n getTreeListEmptyDataCellInfo() {\r\n return this.callExportHelperMethod(\"getTreeListEmptyDataCellInfo\")\r\n }\r\n callExportHelperMethod(methodName) {\r\n var helper = this.option(\"exportHelper\");\r\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\r\n args[_key - 1] = arguments[_key]\r\n }\r\n return helper[methodName](...args)\r\n }\r\n applyTasksExpandedState(state) {\r\n var _this$_ganttViewCore3;\r\n null === (_this$_ganttViewCore3 = this._ganttViewCore) || void 0 === _this$_ganttViewCore3 ? void 0 : _this$_ganttViewCore3.applyTasksExpandedState(state)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/gantt/gantt_importer.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Errors from \"../widget/ui.errors\";\r\nimport Gantt from \"devexpress-gantt\";\r\nexport function getGanttViewCore() {\r\n if (!Gantt) {\r\n throw Errors.Error(\"E1041\", \"devexpress-gantt\")\r\n }\r\n return Gantt\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/gantt/ui.gantt.data_changes_processing_helper.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport class GanttDataChangesProcessingHelper {\r\n constructor() {\r\n this._waitingForGanttViewReady = false;\r\n this._waitingForTreeListReady = false;\r\n this._completionActions = []\r\n }\r\n onGanttViewReady() {\r\n this._stopWaitForGanttViewReady();\r\n this.executeActionsIfPossible()\r\n }\r\n onTreeListReady() {\r\n this._stopWaitForTreeListReady();\r\n this.executeActionsIfPossible()\r\n }\r\n addCompletionAction(action, waitGanttViewReady, waitTreeListReady) {\r\n if (action) {\r\n if (waitGanttViewReady) {\r\n this._startWaitForGanttViewReady()\r\n }\r\n if (waitTreeListReady) {\r\n this._startWaitForTreeListReady()\r\n }\r\n this._completionActions.push(action)\r\n }\r\n }\r\n executeActionsIfPossible() {\r\n if (this._canExecuteActions()) {\r\n this._completionActions.forEach(act => act());\r\n this._completionActions = []\r\n }\r\n }\r\n _startWaitForGanttViewReady() {\r\n this._waitingForGanttViewReady = true\r\n }\r\n _stopWaitForGanttViewReady() {\r\n this._waitingForGanttViewReady = false\r\n }\r\n _startWaitForTreeListReady() {\r\n this._waitingForTreeListReady = true\r\n }\r\n _stopWaitForTreeListReady() {\r\n this._waitingForTreeListReady = false\r\n }\r\n _canExecuteActions() {\r\n return !(this._waitingForGanttViewReady || this._waitingForTreeListReady)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/gantt/ui.gantt.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n compileGetter\r\n} from \"../../core/utils/data\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n ModelChangesListener\r\n} from \"./ui.gantt.model_changes_listener\";\r\nimport DataOption from \"./ui.gantt.data.option\";\r\nimport LoadPanel from \"../load_panel\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport SplitterControl from \"../splitter\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport {\r\n GanttActionsManager\r\n} from \"./ui.gantt.actions\";\r\nimport {\r\n GanttCustomFieldsManager\r\n} from \"./ui.gantt.custom_fields\";\r\nimport {\r\n GanttDialog\r\n} from \"./ui.gantt.dialogs\";\r\nimport {\r\n GanttExportHelper\r\n} from \"./ui.gantt.export_helper\";\r\nimport {\r\n GanttHelper\r\n} from \"./ui.gantt.helper\";\r\nimport {\r\n GanttMappingHelper\r\n} from \"./ui.gantt.mapping_helper\";\r\nimport {\r\n GanttSizeHelper\r\n} from \"./ui.gantt.size_helper\";\r\nimport {\r\n GanttTemplatesManager\r\n} from \"./ui.gantt.templates\";\r\nimport {\r\n GanttToolbar,\r\n GanttContextMenuBar\r\n} from \"./ui.gantt.bars\";\r\nimport {\r\n GanttTreeList\r\n} from \"./ui.gantt.treelist\";\r\nimport {\r\n GanttView\r\n} from \"./ui.gantt.view\";\r\nimport {\r\n GanttDataChangesProcessingHelper\r\n} from \"./ui.gantt.data_changes_processing_helper\";\r\nvar window = getWindow();\r\nvar GANTT_CLASS = \"dx-gantt\";\r\nvar GANTT_VIEW_CLASS = \"dx-gantt-view\";\r\nvar GANTT_TREE_LIST_WRAPPER = \"dx-gantt-treelist-wrapper\";\r\nvar GANTT_TOOLBAR_WRAPPER = \"dx-gantt-toolbar-wrapper\";\r\nvar GANTT_MAIN_WRAPPER = \"dx-gantt-main-wrapper\";\r\nvar GANTT_TASKS = \"tasks\";\r\nvar GANTT_DEPENDENCIES = \"dependencies\";\r\nvar GANTT_RESOURCES = \"resources\";\r\nvar GANTT_RESOURCE_ASSIGNMENTS = \"resourceAssignments\";\r\nvar GANTT_NEW_TASK_CACHE_KEY = \"gantt_new_task_key\";\r\nclass Gantt extends Widget {\r\n _init() {\r\n super._init();\r\n this._initGantt();\r\n this._isGanttRendered = false;\r\n this._initHelpers()\r\n }\r\n _initGantt() {\r\n this._refreshDataSources()\r\n }\r\n _initMarkup() {\r\n super._initMarkup();\r\n this.$element().addClass(GANTT_CLASS);\r\n this._$toolbarWrapper = $(\"<div>\").addClass(GANTT_TOOLBAR_WRAPPER).appendTo(this.$element());\r\n this._$toolbar = $(\"<div>\").appendTo(this._$toolbarWrapper);\r\n this._$mainWrapper = $(\"<div>\").addClass(GANTT_MAIN_WRAPPER).appendTo(this.$element());\r\n this._$treeListWrapper = $(\"<div>\").addClass(GANTT_TREE_LIST_WRAPPER).appendTo(this._$mainWrapper);\r\n this._$treeList = $(\"<div>\").appendTo(this._$treeListWrapper);\r\n this._$splitter = $(\"<div>\").appendTo(this._$mainWrapper);\r\n this._$ganttView = $(\"<div>\").addClass(GANTT_VIEW_CLASS).appendTo(this._$mainWrapper);\r\n this._$dialog = $(\"<div>\").appendTo(this.$element());\r\n this._$loadPanel = $(\"<div>\").appendTo(this.$element());\r\n this._$contextMenu = $(\"<div>\").appendTo(this.$element())\r\n }\r\n _clean() {\r\n var _this$_ganttView;\r\n null === (_this$_ganttView = this._ganttView) || void 0 === _this$_ganttView ? void 0 : _this$_ganttView._ganttViewCore.cleanMarkup();\r\n delete this._ganttView;\r\n delete this._dialogInstance;\r\n delete this._loadPanel;\r\n delete this._exportHelper;\r\n super._clean()\r\n }\r\n _refresh() {\r\n this._isGanttRendered = false;\r\n this._contentReadyRaised = false;\r\n super._refresh()\r\n }\r\n _fireContentReadyAction() {\r\n if (!this._contentReadyRaised) {\r\n super._fireContentReadyAction()\r\n }\r\n this._contentReadyRaised = true\r\n }\r\n _dimensionChanged() {\r\n var _this$_ganttView2;\r\n null === (_this$_ganttView2 = this._ganttView) || void 0 === _this$_ganttView2 ? void 0 : _this$_ganttView2._onDimensionChanged()\r\n }\r\n _visibilityChanged(visible) {\r\n if (visible) {\r\n this._refreshGantt()\r\n }\r\n }\r\n _refreshGantt() {\r\n this._refreshDataSources();\r\n this._refresh()\r\n }\r\n _refreshDataSources() {\r\n this._refreshDataSource(GANTT_TASKS);\r\n this._refreshDataSource(GANTT_DEPENDENCIES);\r\n this._refreshDataSource(GANTT_RESOURCES);\r\n this._refreshDataSource(GANTT_RESOURCE_ASSIGNMENTS)\r\n }\r\n _renderContent() {\r\n this._isMainElementVisible = this.$element().is(\":visible\");\r\n if (this._isMainElementVisible && !this._isGanttRendered) {\r\n this._isGanttRendered = true;\r\n this._renderBars();\r\n this._renderTreeList();\r\n this._renderSplitter()\r\n }\r\n }\r\n _renderTreeList() {\r\n this._ganttTreeList = new GanttTreeList(this);\r\n this._treeList = this._ganttTreeList.getTreeList();\r\n this._ganttTreeList.onAfterTreeListCreate()\r\n }\r\n _renderSplitter() {\r\n this._splitter = this._createComponent(this._$splitter, SplitterControl, {\r\n container: this.$element(),\r\n leftElement: this._$treeListWrapper,\r\n rightElement: this._$ganttView,\r\n onApplyPanelSize: e => {\r\n this._sizeHelper.onApplyPanelSize(e)\r\n }\r\n });\r\n this._splitter.option(\"initialLeftPanelWidth\", this.option(\"taskListWidth\"))\r\n }\r\n _renderBars() {\r\n this._bars = [];\r\n this._toolbar = new GanttToolbar(this._$toolbar, this);\r\n this._updateToolbarContent();\r\n this._bars.push(this._toolbar);\r\n this._contextMenuBar = new GanttContextMenuBar(this._$contextMenu, this);\r\n this._updateContextMenu();\r\n this._bars.push(this._contextMenuBar)\r\n }\r\n _initHelpers() {\r\n this._mappingHelper = new GanttMappingHelper(this);\r\n this._customFieldsManager = new GanttCustomFieldsManager(this);\r\n this._actionsManager = new GanttActionsManager(this);\r\n this._ganttTemplatesManager = new GanttTemplatesManager(this);\r\n this._sizeHelper = new GanttSizeHelper(this);\r\n this._dataProcessingHelper = new GanttDataChangesProcessingHelper\r\n }\r\n _initGanttView() {\r\n if (this._ganttView) {\r\n return\r\n }\r\n this._ganttView = this._createComponent(this._$ganttView, GanttView, {\r\n width: \"100%\",\r\n height: this._ganttTreeList.getOffsetHeight(),\r\n rowHeight: this._ganttTreeList.getRowHeight(),\r\n headerHeight: this._ganttTreeList.getHeaderHeight(),\r\n tasks: this._tasks,\r\n dependencies: this._dependencies,\r\n resources: this._resources,\r\n resourceAssignments: this._resourceAssignments,\r\n allowSelection: this.option(\"allowSelection\"),\r\n selectedRowKey: this.option(\"selectedRowKey\"),\r\n showResources: this.option(\"showResources\"),\r\n showDependencies: this.option(\"showDependencies\"),\r\n startDateRange: this.option(\"startDateRange\"),\r\n endDateRange: this.option(\"endDateRange\"),\r\n taskTitlePosition: this.option(\"taskTitlePosition\"),\r\n firstDayOfWeek: this.option(\"firstDayOfWeek\"),\r\n showRowLines: this.option(\"showRowLines\"),\r\n scaleType: this.option(\"scaleType\"),\r\n scaleTypeRange: this.option(\"scaleTypeRange\"),\r\n editing: this.option(\"editing\"),\r\n validation: this.option(\"validation\"),\r\n stripLines: this.option(\"stripLines\"),\r\n bars: this._bars,\r\n mainElement: this.$element(),\r\n onSelectionChanged: e => {\r\n this._ganttTreeList.selectRows(GanttHelper.getArrayFromOneElement(e.id))\r\n },\r\n onViewTypeChanged: e => {\r\n this._onViewTypeChanged(e.type)\r\n },\r\n onScroll: e => {\r\n this._ganttTreeList.scrollBy(e.scrollTop)\r\n },\r\n onDialogShowing: this._showDialog.bind(this),\r\n onPopupMenuShowing: this._showPopupMenu.bind(this),\r\n onPopupMenuHiding: this._hidePopupMenu.bind(this),\r\n onExpandAll: this._expandAll.bind(this),\r\n onCollapseAll: this._collapseAll.bind(this),\r\n modelChangesListener: ModelChangesListener.create(this),\r\n exportHelper: this._getExportHelper(),\r\n taskTooltipContentTemplate: this._ganttTemplatesManager.getTaskTooltipContentTemplateFunc(this.option(\"taskTooltipContentTemplate\")),\r\n taskProgressTooltipContentTemplate: this._ganttTemplatesManager.getTaskProgressTooltipContentTemplateFunc(this.option(\"taskProgressTooltipContentTemplate\")),\r\n taskTimeTooltipContentTemplate: this._ganttTemplatesManager.getTaskTimeTooltipContentTemplateFunc(this.option(\"taskTimeTooltipContentTemplate\")),\r\n taskContentTemplate: this._ganttTemplatesManager.getTaskContentTemplateFunc(this.option(\"taskContentTemplate\")),\r\n onTaskClick: e => {\r\n this._ganttTreeList.onRowClick(e)\r\n },\r\n onTaskDblClick: e => {\r\n this._ganttTreeList.onRowDblClick(e)\r\n },\r\n onAdjustControl: () => {\r\n this._sizeHelper.onAdjustControl()\r\n },\r\n onContentReady: this._onGanttViewContentReady.bind(this)\r\n })\r\n }\r\n _onGanttViewContentReady(e) {\r\n if (!this._isParentAutoUpdateMode()) {\r\n this._fireContentReadyAction()\r\n }\r\n }\r\n _isParentAutoUpdateMode() {\r\n return this.option(\"validation.autoUpdateParentTasks\")\r\n }\r\n _onTreeListContentReady(e) {\r\n if (this._isParentAutoUpdateMode() && this._treeListParentRecalculatedDataUpdating) {\r\n this._fireContentReadyAction()\r\n }\r\n delete this._treeListParentRecalculatedDataUpdating;\r\n this._dataProcessingHelper.onTreeListReady()\r\n }\r\n _onViewTypeChanged(type) {\r\n this.option(\"scaleType\", this._actionsManager._getScaleType(type))\r\n }\r\n _refreshDataSource(name) {\r\n var dataOption = this[\"_\".concat(name, \"Option\")];\r\n if (dataOption) {\r\n dataOption.dispose();\r\n delete this[\"_\".concat(name, \"Option\")];\r\n delete this[\"_\".concat(name)]\r\n }\r\n dataOption = new DataOption(name, this._getLoadPanel.bind(this), (name, data) => {\r\n this._dataSourceChanged(name, data)\r\n });\r\n dataOption.option(\"dataSource\", this._getSpecificDataSourceOption(name));\r\n dataOption._refreshDataSource();\r\n this[\"_\".concat(name, \"Option\")] = dataOption\r\n }\r\n _getSpecificDataSourceOption(name) {\r\n var dataSource = this.option(\"\".concat(name, \".dataSource\"));\r\n if (!dataSource || Array.isArray(dataSource)) {\r\n return {\r\n store: {\r\n type: \"array\",\r\n data: null !== dataSource && void 0 !== dataSource ? dataSource : [],\r\n key: this.option(\"\".concat(name, \".keyExpr\"))\r\n }\r\n }\r\n }\r\n return dataSource\r\n }\r\n _dataSourceChanged(dataSourceName, data) {\r\n var getters = GanttHelper.compileGettersByOption(this.option(dataSourceName));\r\n var validatedData = this._validateSourceData(dataSourceName, data);\r\n var mappedData = validatedData.map(GanttHelper.prepareMapHandler(getters));\r\n this[\"_\".concat(dataSourceName)] = mappedData;\r\n this._setGanttViewOption(dataSourceName, mappedData);\r\n if (dataSourceName === GANTT_TASKS) {\r\n var _this$_ganttTreeList, _this$_ganttTreeList2, _this$_ganttTreeList3;\r\n this._tasksRaw = validatedData;\r\n var forceUpdate = !(null !== (_this$_ganttTreeList = this._ganttTreeList) && void 0 !== _this$_ganttTreeList && _this$_ganttTreeList.getDataSource()) && !this._ganttView;\r\n null === (_this$_ganttTreeList2 = this._ganttTreeList) || void 0 === _this$_ganttTreeList2 ? void 0 : _this$_ganttTreeList2.saveExpandedKeys();\r\n null === (_this$_ganttTreeList3 = this._ganttTreeList) || void 0 === _this$_ganttTreeList3 ? void 0 : _this$_ganttTreeList3.updateDataSource(validatedData, forceUpdate)\r\n }\r\n }\r\n _validateSourceData(dataSourceName, data) {\r\n return data && dataSourceName === GANTT_TASKS ? this._validateTaskData(data) : data\r\n }\r\n _validateTaskData(data) {\r\n var _this$option;\r\n var keyGetter = compileGetter(this.option(\"\".concat(GANTT_TASKS, \".keyExpr\")));\r\n var parentIdGetter = compileGetter(this.option(\"\".concat(GANTT_TASKS, \".parentIdExpr\")));\r\n var rootValue = null !== (_this$option = this.option(\"rootValue\")) && void 0 !== _this$option ? _this$option : \"dx_dxt_gantt_default_root_value\";\r\n var validationTree = {};\r\n for (var i = 0; i < data.length; i++) {\r\n var item = data[i];\r\n if (item) {\r\n var _validationTree$key;\r\n var key = keyGetter(item);\r\n var isRootTask = key === rootValue;\r\n var treeItem = null !== (_validationTree$key = validationTree[key]) && void 0 !== _validationTree$key ? _validationTree$key : validationTree[key] = {\r\n key: key,\r\n children: []\r\n };\r\n if (!isRootTask) {\r\n var _parentIdGetter, _validationTree$paren;\r\n var parentId = null !== (_parentIdGetter = parentIdGetter(item)) && void 0 !== _parentIdGetter ? _parentIdGetter : rootValue;\r\n var parentTreeItem = null !== (_validationTree$paren = validationTree[parentId]) && void 0 !== _validationTree$paren ? _validationTree$paren : validationTree[parentId] = {\r\n key: parentId,\r\n children: []\r\n };\r\n parentTreeItem.children.push(treeItem);\r\n treeItem.parent = parentTreeItem\r\n }\r\n }\r\n }\r\n var validKeys = [rootValue];\r\n this._appendChildKeys(validationTree[rootValue], validKeys);\r\n return data.filter(item => validKeys.indexOf(keyGetter(item)) > -1)\r\n }\r\n _appendChildKeys(treeItem, keys) {\r\n var children = null === treeItem || void 0 === treeItem ? void 0 : treeItem.children;\r\n for (var i = 0; i < (null === children || void 0 === children ? void 0 : children.length); i++) {\r\n var child = children[i];\r\n keys.push(child.key);\r\n this._appendChildKeys(child, keys)\r\n }\r\n }\r\n _onRecordInserted(optionName, record, callback) {\r\n var dataOption = this[\"_\".concat(optionName, \"Option\")];\r\n if (dataOption) {\r\n var data = GanttHelper.getStoreObject(this.option(optionName), record);\r\n var isTaskInsert = optionName === GANTT_TASKS;\r\n if (isTaskInsert) {\r\n this._customFieldsManager.addCustomFieldsDataFromCache(GANTT_NEW_TASK_CACHE_KEY, data)\r\n }\r\n dataOption.insert(data, response => {\r\n var keyGetter = compileGetter(this.option(\"\".concat(optionName, \".keyExpr\")));\r\n var insertedId = keyGetter(response);\r\n callback(insertedId);\r\n this._executeFuncSetters(optionName, record, insertedId);\r\n this._dataProcessingHelper.addCompletionAction(() => {\r\n this._actionsManager.raiseInsertedAction(optionName, data, insertedId)\r\n }, true, isTaskInsert);\r\n this._ganttTreeList.saveExpandedKeys();\r\n dataOption._reloadDataSource().done(data => {\r\n if (isTaskInsert) {\r\n this._ganttTreeList.onTaskInserted(insertedId, record.parentId)\r\n }\r\n })\r\n })\r\n }\r\n }\r\n _onRecordUpdated(optionName, key, values) {\r\n var dataOption = this[\"_\".concat(optionName, \"Option\")];\r\n var isTaskUpdated = optionName === GANTT_TASKS;\r\n if (dataOption) {\r\n var data = this._mappingHelper.convertCoreToMappedData(optionName, values);\r\n var hasCustomFieldsData = isTaskUpdated && this._customFieldsManager.cache.hasData(key);\r\n if (hasCustomFieldsData) {\r\n this._customFieldsManager.addCustomFieldsDataFromCache(key, data)\r\n }\r\n dataOption.update(key, data, () => {\r\n this._executeFuncSetters(optionName, values, key);\r\n this._ganttTreeList.saveExpandedKeys();\r\n this._dataProcessingHelper.addCompletionAction(() => {\r\n this._actionsManager.raiseUpdatedAction(optionName, data, key)\r\n }, true, isTaskUpdated);\r\n dataOption._reloadDataSource()\r\n })\r\n }\r\n }\r\n _onRecordRemoved(optionName, key, data) {\r\n var dataOption = this[\"_\".concat(optionName, \"Option\")];\r\n if (dataOption) {\r\n dataOption.remove(key, () => {\r\n this._ganttTreeList.saveExpandedKeys();\r\n this._dataProcessingHelper.addCompletionAction(() => {\r\n this._actionsManager.raiseDeletedAction(optionName, key, this._mappingHelper.convertCoreToMappedData(optionName, data))\r\n }, true, optionName === GANTT_TASKS);\r\n dataOption._reloadDataSource()\r\n })\r\n }\r\n }\r\n _onParentTaskUpdated(data) {\r\n var mappedData = this.getTaskDataByCoreData(data);\r\n this._actionsManager.raiseUpdatedAction(GANTT_TASKS, mappedData, data.id)\r\n }\r\n _onParentTasksRecalculated(data) {\r\n if (!this.isSieving) {\r\n var setters = GanttHelper.compileSettersByOption(this.option(GANTT_TASKS));\r\n var treeDataSource = this._customFieldsManager.appendCustomFields(data.map(GanttHelper.prepareSetterMapHandler(setters)));\r\n setTimeout(() => {\r\n var _this$_ganttTreeList4;\r\n this._treeListParentRecalculatedDataUpdating = true;\r\n null === (_this$_ganttTreeList4 = this._ganttTreeList) || void 0 === _this$_ganttTreeList4 ? void 0 : _this$_ganttTreeList4.setDataSource(treeDataSource)\r\n })\r\n }\r\n this.isSieving = false\r\n }\r\n _onGanttViewCoreUpdated() {\r\n this._dataProcessingHelper.onGanttViewReady()\r\n }\r\n _executeFuncSetters(optionName, coreData, key) {\r\n var funcSetters = GanttHelper.compileFuncSettersByOption(this.option(optionName));\r\n var keysToUpdate = Object.keys(funcSetters).filter(k => isDefined(coreData[k]));\r\n if (keysToUpdate.length > 0) {\r\n var dataObject = this._getDataSourceItem(optionName, key);\r\n keysToUpdate.forEach(k => {\r\n var setter = funcSetters[k];\r\n setter(dataObject, coreData[k])\r\n })\r\n }\r\n }\r\n _sortAndFilter() {\r\n var _this$_savedSortFilte, _this$_savedSortFilte2, _this$_savedSortFilte3;\r\n var treeList = this._treeList;\r\n var columns = treeList.getVisibleColumns();\r\n var sortedColumns = columns.filter(c => c.sortIndex > -1);\r\n var sortedState = sortedColumns.map(c => ({\r\n sortIndex: c.sortIndex,\r\n sortOrder: c.sortOrder\r\n }));\r\n var sortedStateChanged = !this._compareSortedState(null === (_this$_savedSortFilte = this._savedSortFilterState) || void 0 === _this$_savedSortFilte ? void 0 : _this$_savedSortFilte.sort, sortedState);\r\n var filterValue = treeList.option(\"filterValue\");\r\n var filterChanged = treeList.option(\"expandNodesOnFiltering\") && filterValue !== (null === (_this$_savedSortFilte2 = this._savedSortFilterState) || void 0 === _this$_savedSortFilte2 ? void 0 : _this$_savedSortFilte2.filter);\r\n var sieveColumn = sortedColumns[0] || columns.filter(c => {\r\n var _c$filterValues;\r\n return isDefined(c.filterValue) || (null === (_c$filterValues = c.filterValues) || void 0 === _c$filterValues ? void 0 : _c$filterValues.length)\r\n })[0];\r\n var isClearSieving = (null === (_this$_savedSortFilte3 = this._savedSortFilterState) || void 0 === _this$_savedSortFilte3 ? void 0 : _this$_savedSortFilte3.sieveColumn) && !sieveColumn;\r\n if (sieveColumn || isClearSieving) {\r\n var sieveOptions = sieveColumn && {\r\n sievedItems: this._ganttTreeList.getSievedItems(),\r\n sieveColumn: sieveColumn,\r\n expandTasks: filterChanged || filterValue && sortedStateChanged\r\n };\r\n this.isSieving = !isClearSieving;\r\n this._setGanttViewOption(\"sieve\", sieveOptions)\r\n }\r\n this._savedSortFilterState = {\r\n sort: sortedState,\r\n filter: filterValue,\r\n sieveColumn: sieveColumn\r\n }\r\n }\r\n _compareSortedState(state1, state2) {\r\n if (!state1 || !state2 || state1.length !== state2.length) {\r\n return false\r\n }\r\n return state1.every((c, i) => c.sortIndex === state2[i].sortIndex && c.sortOrder === state2[i].sortOrder)\r\n }\r\n _getToolbarItems() {\r\n var items = this.option(\"toolbar.items\");\r\n return items ? items : []\r\n }\r\n _updateToolbarContent() {\r\n var items = this._getToolbarItems();\r\n if (items.length) {\r\n this._$toolbarWrapper.show()\r\n } else {\r\n this._$toolbarWrapper.hide()\r\n }\r\n this._toolbar && this._toolbar.createItems(items);\r\n this._updateBarItemsState()\r\n }\r\n _updateContextMenu() {\r\n var contextMenuOptions = this.option(\"contextMenu\");\r\n if (contextMenuOptions.enabled && this._contextMenuBar) {\r\n this._contextMenuBar.createItems(contextMenuOptions.items);\r\n this._updateBarItemsState()\r\n }\r\n }\r\n _updateBarItemsState() {\r\n this._ganttView && this._ganttView.updateBarItemsState()\r\n }\r\n _showDialog(e) {\r\n if (!this._dialogInstance) {\r\n this._dialogInstance = new GanttDialog(this, this._$dialog)\r\n }\r\n this._dialogInstance.show(e.name, e.parameters, e.callback, e.afterClosing, this.option(\"editing\"))\r\n }\r\n _showPopupMenu(info) {\r\n if (this.option(\"contextMenu.enabled\")) {\r\n this._ganttView.getBarManager().updateContextMenu();\r\n var args = {\r\n cancel: false,\r\n event: info.event,\r\n targetType: info.type,\r\n targetKey: info.key,\r\n items: extend(true, [], this._contextMenuBar._items),\r\n data: \"task\" === info.type ? this.getTaskData(info.key) : this.getDependencyData(info.key)\r\n };\r\n this._actionsManager.raiseContextMenuPreparing(args);\r\n if (!args.cancel) {\r\n this._contextMenuBar.show(info.position, args.items)\r\n }\r\n }\r\n }\r\n _hidePopupMenu() {\r\n this._contextMenuBar.hide()\r\n }\r\n _getLoadPanel() {\r\n if (!this._loadPanel) {\r\n this._loadPanel = this._createComponent(this._$loadPanel, LoadPanel, {\r\n position: {\r\n of: this.$element()\r\n }\r\n })\r\n }\r\n return this._loadPanel\r\n }\r\n _getTaskKeyGetter() {\r\n return this._getDataSourceItemKeyGetter(GANTT_TASKS)\r\n }\r\n _findTaskByKey(key) {\r\n return this._getDataSourceItem(GANTT_TASKS, key)\r\n }\r\n _getDataSourceItem(dataOptionName, key) {\r\n var dataOption = this[\"_\".concat(dataOptionName, \"Option\")];\r\n var keyGetter = this._getDataSourceItemKeyGetter(dataOptionName);\r\n var items = null === dataOption || void 0 === dataOption ? void 0 : dataOption._getItems();\r\n return items.find(t => keyGetter(t) === key)\r\n }\r\n _getDataSourceItemKeyGetter(dataOptionName) {\r\n return compileGetter(this.option(\"\".concat(dataOptionName, \".keyExpr\")))\r\n }\r\n _setGanttViewOption(optionName, value) {\r\n this._ganttView && this._ganttView.option(optionName, value)\r\n }\r\n _getGanttViewOption(optionName, value) {\r\n var _this$_ganttView3;\r\n return null === (_this$_ganttView3 = this._ganttView) || void 0 === _this$_ganttView3 ? void 0 : _this$_ganttView3.option(optionName)\r\n }\r\n _getExportHelper() {\r\n var _this$_exportHelper;\r\n null !== (_this$_exportHelper = this._exportHelper) && void 0 !== _this$_exportHelper ? _this$_exportHelper : this._exportHelper = new GanttExportHelper(this);\r\n return this._exportHelper\r\n }\r\n _executeCoreCommand(id) {\r\n this._ganttView.executeCoreCommand(id)\r\n }\r\n _expandAll() {\r\n this._changeExpandAll(true)\r\n }\r\n _collapseAll() {\r\n this._changeExpandAll(false)\r\n }\r\n _onTreeListRowExpandChanged(e, expanded) {\r\n if (!this._lockRowExpandEvent) {\r\n this._ganttView.changeTaskExpanded(e.key, expanded);\r\n this._sizeHelper.adjustHeight()\r\n }\r\n }\r\n _changeExpandAll(expanded, level, rowKey) {\r\n var _promise;\r\n var allExpandableNodes = [];\r\n var nodesToExpand = [];\r\n this._treeList.forEachNode(node => {\r\n var _node$children;\r\n if (null !== (_node$children = node.children) && void 0 !== _node$children && _node$children.length) {\r\n allExpandableNodes.push(node)\r\n }\r\n });\r\n if (rowKey) {\r\n var node = this._treeList.getNodeByKey(rowKey);\r\n GanttHelper.getAllParentNodesKeys(node, nodesToExpand)\r\n }\r\n var promise;\r\n this._lockRowExpandEvent = allExpandableNodes.length > 0;\r\n var state = allExpandableNodes.reduce((previous, node, index) => {\r\n if (rowKey) {\r\n expanded = nodesToExpand.includes(node.key)\r\n } else if (level) {\r\n expanded = node.level < level\r\n }\r\n previous[node.key] = expanded;\r\n var action = expanded ? this._treeList.expandRow : this._treeList.collapseRow;\r\n var isLast = index === allExpandableNodes.length - 1;\r\n if (isLast) {\r\n promise = action(node.key)\r\n } else {\r\n action(node.key)\r\n }\r\n return previous\r\n }, {});\r\n null === (_promise = promise) || void 0 === _promise ? void 0 : _promise.then(() => {\r\n this._ganttView.applyTasksExpandedState(state);\r\n this._sizeHelper.adjustHeight();\r\n delete this._lockRowExpandEvent\r\n })\r\n }\r\n getTaskResources(key) {\r\n if (!isDefined(key)) {\r\n return null\r\n }\r\n var coreData = this._ganttView._ganttViewCore.getTaskResources(key);\r\n return coreData.map(r => this._mappingHelper.convertCoreToMappedData(GANTT_RESOURCES, r))\r\n }\r\n getVisibleTaskKeys() {\r\n return this._ganttView._ganttViewCore.getVisibleTaskKeys()\r\n }\r\n getVisibleDependencyKeys() {\r\n return this._ganttView._ganttViewCore.getVisibleDependencyKeys()\r\n }\r\n getVisibleResourceKeys() {\r\n return this._ganttView._ganttViewCore.getVisibleResourceKeys()\r\n }\r\n getVisibleResourceAssignmentKeys() {\r\n return this._ganttView._ganttViewCore.getVisibleResourceAssignmentKeys()\r\n }\r\n getTaskData(key) {\r\n if (!isDefined(key)) {\r\n return null\r\n }\r\n var coreData = this._ganttView._ganttViewCore.getTaskData(key);\r\n var mappedData = this.getTaskDataByCoreData(coreData);\r\n return mappedData\r\n }\r\n getTaskDataByCoreData(coreData) {\r\n var mappedData = coreData ? this._mappingHelper.convertCoreToMappedData(GANTT_TASKS, coreData) : null;\r\n this._customFieldsManager.addCustomFieldsData(coreData.id, mappedData);\r\n return mappedData\r\n }\r\n insertTask(data) {\r\n this._customFieldsManager.saveCustomFieldsDataToCache(GANTT_NEW_TASK_CACHE_KEY, data);\r\n this._ganttView._ganttViewCore.insertTask(this._mappingHelper.convertMappedToCoreData(GANTT_TASKS, data))\r\n }\r\n deleteTask(key) {\r\n this._ganttView._ganttViewCore.deleteTask(key)\r\n }\r\n updateTask(key, data) {\r\n var coreTaskData = this._mappingHelper.convertMappedToCoreData(GANTT_TASKS, data);\r\n var isCustomFieldsUpdateOnly = !Object.keys(coreTaskData).length;\r\n this._customFieldsManager.saveCustomFieldsDataToCache(key, data, true, isCustomFieldsUpdateOnly);\r\n if (isCustomFieldsUpdateOnly) {\r\n var customFieldsData = this._customFieldsManager._getCustomFieldsData(data);\r\n if (Object.keys(customFieldsData).length > 0) {\r\n this._actionsManager.raiseUpdatingAction(GANTT_TASKS, {\r\n cancel: false,\r\n key: key,\r\n newValues: {}\r\n })\r\n }\r\n } else {\r\n this._ganttView._ganttViewCore.updateTask(key, coreTaskData)\r\n }\r\n }\r\n getDependencyData(key) {\r\n if (!isDefined(key)) {\r\n return null\r\n }\r\n var coreData = this._ganttView._ganttViewCore.getDependencyData(key);\r\n return coreData ? this._mappingHelper.convertCoreToMappedData(GANTT_DEPENDENCIES, coreData) : null\r\n }\r\n insertDependency(data) {\r\n this._ganttView._ganttViewCore.insertDependency(this._mappingHelper.convertMappedToCoreData(GANTT_DEPENDENCIES, data))\r\n }\r\n deleteDependency(key) {\r\n this._ganttView._ganttViewCore.deleteDependency(key)\r\n }\r\n getResourceData(key) {\r\n var coreData = this._ganttView._ganttViewCore.getResourceData(key);\r\n return coreData ? this._mappingHelper.convertCoreToMappedData(GANTT_RESOURCES, coreData) : null\r\n }\r\n deleteResource(key) {\r\n this._ganttView._ganttViewCore.deleteResource(key)\r\n }\r\n insertResource(data, taskKeys) {\r\n this._ganttView._ganttViewCore.insertResource(this._mappingHelper.convertMappedToCoreData(GANTT_RESOURCES, data), taskKeys)\r\n }\r\n getResourceAssignmentData(key) {\r\n var coreData = this._ganttView._ganttViewCore.getResourceAssignmentData(key);\r\n return coreData ? this._mappingHelper.convertCoreToMappedData(GANTT_RESOURCE_ASSIGNMENTS, coreData) : null\r\n }\r\n assignResourceToTask(resourceKey, taskKey) {\r\n this._ganttView._ganttViewCore.assignResourceToTask(resourceKey, taskKey)\r\n }\r\n unassignResourceFromTask(resourceKey, taskKey) {\r\n this._ganttView._ganttViewCore.unassignResourceFromTask(resourceKey, taskKey)\r\n }\r\n unassignAllResourcesFromTask(taskKey) {\r\n this._ganttView._ganttViewCore.unassignAllResourcesFromTask(taskKey)\r\n }\r\n updateDimensions() {\r\n this._sizeHelper.onAdjustControl()\r\n }\r\n scrollToDate(date) {\r\n this._ganttView._ganttViewCore.scrollToDate(date)\r\n }\r\n showResourceManagerDialog() {\r\n this._ganttView._ganttViewCore.showResourcesDialog()\r\n }\r\n showTaskDetailsDialog(taskKey) {\r\n this._ganttView._ganttViewCore.showTaskDetailsDialog(taskKey)\r\n }\r\n exportToPdf(options) {\r\n return this._exportToPdf(options)\r\n }\r\n _exportToPdf(options) {\r\n var _fullOptions$pdfDocum, _fullOptions$docCreat, _window$jspdf$jsPDF, _window$jspdf, _fullOptions$format;\r\n this._exportHelper.reset();\r\n var fullOptions = extend({}, options);\r\n if (fullOptions.createDocumentMethod) {\r\n fullOptions.docCreateMethod = fullOptions.createDocumentMethod\r\n }\r\n null !== (_fullOptions$pdfDocum = fullOptions.pdfDocument) && void 0 !== _fullOptions$pdfDocum ? _fullOptions$pdfDocum : fullOptions.pdfDocument = fullOptions.jsPDFDocument;\r\n null !== (_fullOptions$docCreat = fullOptions.docCreateMethod) && void 0 !== _fullOptions$docCreat ? _fullOptions$docCreat : fullOptions.docCreateMethod = null !== (_window$jspdf$jsPDF = null === (_window$jspdf = window.jspdf) || void 0 === _window$jspdf ? void 0 : _window$jspdf.jsPDF) && void 0 !== _window$jspdf$jsPDF ? _window$jspdf$jsPDF : window.jsPDF;\r\n null !== (_fullOptions$format = fullOptions.format) && void 0 !== _fullOptions$format ? _fullOptions$format : fullOptions.format = \"a4\";\r\n return new Promise(resolve => {\r\n var _this$_ganttView4;\r\n var doc = null === (_this$_ganttView4 = this._ganttView) || void 0 === _this$_ganttView4 ? void 0 : _this$_ganttView4._ganttViewCore.exportToPdf(fullOptions);\r\n resolve(doc)\r\n })\r\n }\r\n refresh() {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n this._refreshGantt();\r\n resolve()\r\n } catch (e) {\r\n reject(e.message)\r\n }\r\n })\r\n }\r\n expandAll() {\r\n this._expandAll()\r\n }\r\n collapseAll() {\r\n this._collapseAll()\r\n }\r\n expandAllToLevel(level) {\r\n this._changeExpandAll(false, level)\r\n }\r\n expandToTask(key) {\r\n var _node$parent;\r\n var node = this._treeList.getNodeByKey(key);\r\n this._changeExpandAll(false, 0, null === node || void 0 === node ? void 0 : null === (_node$parent = node.parent) || void 0 === _node$parent ? void 0 : _node$parent.key)\r\n }\r\n collapseTask(key) {\r\n this._treeList.collapseRow(key)\r\n }\r\n expandTask(key) {\r\n this._treeList.expandRow(key)\r\n }\r\n showResources(value) {\r\n this.option(\"showResources\", value)\r\n }\r\n showDependencies(value) {\r\n this.option(\"showDependencies\", value)\r\n }\r\n zoomIn() {\r\n this._ganttView._ganttViewCore.zoomIn()\r\n }\r\n zoomOut() {\r\n this._ganttView._ganttViewCore.zoomOut()\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), GanttHelper.getDefaultOptions())\r\n }\r\n _optionChanged(args) {\r\n var _this$_ganttTreeList5, _this$_sizeHelper, _this$_ganttTreeList6, _this$_actionsManager, _this$_actionsManager2, _this$_actionsManager3, _this$_actionsManager4, _this$_actionsManager5, _this$_actionsManager6, _this$_actionsManager7, _this$_actionsManager8, _this$_actionsManager9, _this$_actionsManager10, _this$_actionsManager11, _this$_actionsManager12, _this$_actionsManager13, _this$_actionsManager14, _this$_actionsManager15, _this$_actionsManager16, _this$_actionsManager17, _this$_actionsManager18, _this$_actionsManager19, _this$_actionsManager20, _this$_actionsManager21, _this$_actionsManager22, _this$_actionsManager23, _this$_actionsManager24, _this$_actionsManager25, _this$_actionsManager26, _this$_actionsManager27, _this$_ganttTreeList7, _this$_ganttTreeList8, _this$_ganttTemplates, _this$_ganttTemplates2, _this$_ganttTemplates3, _this$_ganttTemplates4, _this$_ganttTreeList9, _this$_sizeHelper2, _this$_sizeHelper3, _this$_ganttTreeList10, _this$_ganttTreeList11, _this$_ganttTreeList12;\r\n switch (args.name) {\r\n case \"tasks\":\r\n this._refreshDataSource(GANTT_TASKS);\r\n break;\r\n case \"dependencies\":\r\n this._refreshDataSource(GANTT_DEPENDENCIES);\r\n break;\r\n case \"resources\":\r\n this._refreshDataSource(GANTT_RESOURCES);\r\n break;\r\n case \"resourceAssignments\":\r\n this._refreshDataSource(GANTT_RESOURCE_ASSIGNMENTS);\r\n break;\r\n case \"columns\":\r\n null === (_this$_ganttTreeList5 = this._ganttTreeList) || void 0 === _this$_ganttTreeList5 ? void 0 : _this$_ganttTreeList5.setOption(\"columns\", this._ganttTreeList.getColumns());\r\n break;\r\n case \"taskListWidth\":\r\n null === (_this$_sizeHelper = this._sizeHelper) || void 0 === _this$_sizeHelper ? void 0 : _this$_sizeHelper.setInnerElementsWidth();\r\n break;\r\n case \"showResources\":\r\n this._setGanttViewOption(\"showResources\", args.value);\r\n break;\r\n case \"showDependencies\":\r\n this._setGanttViewOption(\"showDependencies\", args.value);\r\n break;\r\n case \"taskTitlePosition\":\r\n this._setGanttViewOption(\"taskTitlePosition\", args.value);\r\n break;\r\n case \"firstDayOfWeek\":\r\n this._setGanttViewOption(\"firstDayOfWeek\", args.value);\r\n break;\r\n case \"startDateRange\":\r\n this._setGanttViewOption(\"startDateRange\", args.value);\r\n break;\r\n case \"endDateRange\":\r\n this._setGanttViewOption(\"endDateRange\", args.value);\r\n break;\r\n case \"selectedRowKey\":\r\n null === (_this$_ganttTreeList6 = this._ganttTreeList) || void 0 === _this$_ganttTreeList6 ? void 0 : _this$_ganttTreeList6.selectRows(GanttHelper.getArrayFromOneElement(args.value));\r\n break;\r\n case \"onSelectionChanged\":\r\n null === (_this$_actionsManager = this._actionsManager) || void 0 === _this$_actionsManager ? void 0 : _this$_actionsManager.createSelectionChangedAction();\r\n break;\r\n case \"onTaskClick\":\r\n null === (_this$_actionsManager2 = this._actionsManager) || void 0 === _this$_actionsManager2 ? void 0 : _this$_actionsManager2.createTaskClickAction();\r\n break;\r\n case \"onTaskDblClick\":\r\n null === (_this$_actionsManager3 = this._actionsManager) || void 0 === _this$_actionsManager3 ? void 0 : _this$_actionsManager3.createTaskDblClickAction();\r\n break;\r\n case \"onTaskInserting\":\r\n null === (_this$_actionsManager4 = this._actionsManager) || void 0 === _this$_actionsManager4 ? void 0 : _this$_actionsManager4.createTaskInsertingAction();\r\n break;\r\n case \"onTaskInserted\":\r\n null === (_this$_actionsManager5 = this._actionsManager) || void 0 === _this$_actionsManager5 ? void 0 : _this$_actionsManager5.createTaskInsertedAction();\r\n break;\r\n case \"onTaskDeleting\":\r\n null === (_this$_actionsManager6 = this._actionsManager) || void 0 === _this$_actionsManager6 ? void 0 : _this$_actionsManager6.createTaskDeletingAction();\r\n break;\r\n case \"onTaskDeleted\":\r\n null === (_this$_actionsManager7 = this._actionsManager) || void 0 === _this$_actionsManager7 ? void 0 : _this$_actionsManager7.createTaskDeletedAction();\r\n break;\r\n case \"onTaskUpdating\":\r\n null === (_this$_actionsManager8 = this._actionsManager) || void 0 === _this$_actionsManager8 ? void 0 : _this$_actionsManager8.createTaskUpdatingAction();\r\n break;\r\n case \"onTaskUpdated\":\r\n null === (_this$_actionsManager9 = this._actionsManager) || void 0 === _this$_actionsManager9 ? void 0 : _this$_actionsManager9.createTaskUpdatedAction();\r\n break;\r\n case \"onTaskMoving\":\r\n null === (_this$_actionsManager10 = this._actionsManager) || void 0 === _this$_actionsManager10 ? void 0 : _this$_actionsManager10.createTaskMovingAction();\r\n break;\r\n case \"onTaskEditDialogShowing\":\r\n null === (_this$_actionsManager11 = this._actionsManager) || void 0 === _this$_actionsManager11 ? void 0 : _this$_actionsManager11.createTaskEditDialogShowingAction();\r\n break;\r\n case \"onResourceManagerDialogShowing\":\r\n null === (_this$_actionsManager12 = this._actionsManager) || void 0 === _this$_actionsManager12 ? void 0 : _this$_actionsManager12.createResourceManagerDialogShowingAction();\r\n break;\r\n case \"onDependencyInserting\":\r\n null === (_this$_actionsManager13 = this._actionsManager) || void 0 === _this$_actionsManager13 ? void 0 : _this$_actionsManager13.createDependencyInsertingAction();\r\n break;\r\n case \"onDependencyInserted\":\r\n null === (_this$_actionsManager14 = this._actionsManager) || void 0 === _this$_actionsManager14 ? void 0 : _this$_actionsManager14.createDependencyInsertedAction();\r\n break;\r\n case \"onDependencyDeleting\":\r\n null === (_this$_actionsManager15 = this._actionsManager) || void 0 === _this$_actionsManager15 ? void 0 : _this$_actionsManager15.createDependencyDeletingAction();\r\n break;\r\n case \"onDependencyDeleted\":\r\n null === (_this$_actionsManager16 = this._actionsManager) || void 0 === _this$_actionsManager16 ? void 0 : _this$_actionsManager16.createDependencyDeletedAction();\r\n break;\r\n case \"onResourceInserting\":\r\n null === (_this$_actionsManager17 = this._actionsManager) || void 0 === _this$_actionsManager17 ? void 0 : _this$_actionsManager17.createResourceInsertingAction();\r\n break;\r\n case \"onResourceInserted\":\r\n null === (_this$_actionsManager18 = this._actionsManager) || void 0 === _this$_actionsManager18 ? void 0 : _this$_actionsManager18.createResourceInsertedAction();\r\n break;\r\n case \"onResourceDeleting\":\r\n null === (_this$_actionsManager19 = this._actionsManager) || void 0 === _this$_actionsManager19 ? void 0 : _this$_actionsManager19.createResourceDeletingAction();\r\n break;\r\n case \"onResourceDeleted\":\r\n null === (_this$_actionsManager20 = this._actionsManager) || void 0 === _this$_actionsManager20 ? void 0 : _this$_actionsManager20.createResourceDeletedAction();\r\n break;\r\n case \"onResourceAssigning\":\r\n null === (_this$_actionsManager21 = this._actionsManager) || void 0 === _this$_actionsManager21 ? void 0 : _this$_actionsManager21.createResourceAssigningAction();\r\n break;\r\n case \"onResourceAssigned\":\r\n null === (_this$_actionsManager22 = this._actionsManager) || void 0 === _this$_actionsManager22 ? void 0 : _this$_actionsManager22.createResourceAssignedAction();\r\n break;\r\n case \"onResourceUnassigning\":\r\n null === (_this$_actionsManager23 = this._actionsManager) || void 0 === _this$_actionsManager23 ? void 0 : _this$_actionsManager23.createResourceUnassigningAction();\r\n break;\r\n case \"onResourceUnassigned\":\r\n null === (_this$_actionsManager24 = this._actionsManager) || void 0 === _this$_actionsManager24 ? void 0 : _this$_actionsManager24.createResourceUnassignedAction();\r\n break;\r\n case \"onCustomCommand\":\r\n null === (_this$_actionsManager25 = this._actionsManager) || void 0 === _this$_actionsManager25 ? void 0 : _this$_actionsManager25.createCustomCommandAction();\r\n break;\r\n case \"onContextMenuPreparing\":\r\n null === (_this$_actionsManager26 = this._actionsManager) || void 0 === _this$_actionsManager26 ? void 0 : _this$_actionsManager26.createContextMenuPreparingAction();\r\n break;\r\n case \"onScaleCellPrepared\":\r\n null === (_this$_actionsManager27 = this._actionsManager) || void 0 === _this$_actionsManager27 ? void 0 : _this$_actionsManager27.createScaleCellPreparedAction();\r\n break;\r\n case \"allowSelection\":\r\n null === (_this$_ganttTreeList7 = this._ganttTreeList) || void 0 === _this$_ganttTreeList7 ? void 0 : _this$_ganttTreeList7.setOption(\"selection.mode\", GanttHelper.getSelectionMode(args.value));\r\n this._setGanttViewOption(\"allowSelection\", args.value);\r\n break;\r\n case \"showRowLines\":\r\n null === (_this$_ganttTreeList8 = this._ganttTreeList) || void 0 === _this$_ganttTreeList8 ? void 0 : _this$_ganttTreeList8.setOption(\"showRowLines\", args.value);\r\n this._setGanttViewOption(\"showRowLines\", args.value);\r\n break;\r\n case \"stripLines\":\r\n this._setGanttViewOption(\"stripLines\", args.value);\r\n break;\r\n case \"scaleType\":\r\n this._setGanttViewOption(\"scaleType\", args.value);\r\n break;\r\n case \"scaleTypeRange\":\r\n this._setGanttViewOption(\"scaleTypeRange\", this.option(args.name));\r\n break;\r\n case \"editing\":\r\n this._setGanttViewOption(\"editing\", this.option(args.name));\r\n break;\r\n case \"validation\":\r\n this._setGanttViewOption(\"validation\", this.option(args.name));\r\n break;\r\n case \"toolbar\":\r\n this._updateToolbarContent();\r\n break;\r\n case \"contextMenu\":\r\n this._updateContextMenu();\r\n break;\r\n case \"taskTooltipContentTemplate\":\r\n this._setGanttViewOption(\"taskTooltipContentTemplate\", null === (_this$_ganttTemplates = this._ganttTemplatesManager) || void 0 === _this$_ganttTemplates ? void 0 : _this$_ganttTemplates.getTaskTooltipContentTemplateFunc(args.value));\r\n break;\r\n case \"taskProgressTooltipContentTemplate\":\r\n this._setGanttViewOption(\"taskProgressTooltipContentTemplate\", null === (_this$_ganttTemplates2 = this._ganttTemplatesManager) || void 0 === _this$_ganttTemplates2 ? void 0 : _this$_ganttTemplates2.getTaskProgressTooltipContentTemplateFunc(args.value));\r\n break;\r\n case \"taskTimeTooltipContentTemplate\":\r\n this._setGanttViewOption(\"taskTimeTooltipContentTemplate\", null === (_this$_ganttTemplates3 = this._ganttTemplatesManager) || void 0 === _this$_ganttTemplates3 ? void 0 : _this$_ganttTemplates3.getTaskTimeTooltipContentTemplateFunc(args.value));\r\n break;\r\n case \"taskContentTemplate\":\r\n this._setGanttViewOption(\"taskContentTemplate\", null === (_this$_ganttTemplates4 = this._ganttTemplatesManager) || void 0 === _this$_ganttTemplates4 ? void 0 : _this$_ganttTemplates4.getTaskContentTemplateFunc(args.value));\r\n break;\r\n case \"rootValue\":\r\n null === (_this$_ganttTreeList9 = this._ganttTreeList) || void 0 === _this$_ganttTreeList9 ? void 0 : _this$_ganttTreeList9.setOption(\"rootValue\", args.value);\r\n break;\r\n case \"width\":\r\n super._optionChanged(args);\r\n null === (_this$_sizeHelper2 = this._sizeHelper) || void 0 === _this$_sizeHelper2 ? void 0 : _this$_sizeHelper2.updateGanttWidth();\r\n break;\r\n case \"height\":\r\n super._optionChanged(args);\r\n null === (_this$_sizeHelper3 = this._sizeHelper) || void 0 === _this$_sizeHelper3 ? void 0 : _this$_sizeHelper3.setGanttHeight(getHeight(this._$element));\r\n break;\r\n case \"sorting\":\r\n null === (_this$_ganttTreeList10 = this._ganttTreeList) || void 0 === _this$_ganttTreeList10 ? void 0 : _this$_ganttTreeList10.setOption(\"sorting\", this.option(args.name));\r\n break;\r\n case \"filterRow\":\r\n null === (_this$_ganttTreeList11 = this._ganttTreeList) || void 0 === _this$_ganttTreeList11 ? void 0 : _this$_ganttTreeList11.setOption(\"filterRow\", this.option(args.name));\r\n break;\r\n case \"headerFilter\":\r\n null === (_this$_ganttTreeList12 = this._ganttTreeList) || void 0 === _this$_ganttTreeList12 ? void 0 : _this$_ganttTreeList12.setOption(\"headerFilter\", this.option(args.name));\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n}\r\nregisterComponent(\"dxGantt\", Gantt);\r\nexport default Gantt;\r\n","/**\r\n * DevExtreme (esm/ui/gantt.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Gantt from \"./gantt/ui.gantt\";\r\nexport default Gantt;\r\n","/**\r\n * DevExtreme (esm/ui/grid_core/ui.grid_core.utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport gridCoreUtils from \"../../__internal/grids/grid_core/m_utils\";\r\nexport default gridCoreUtils;\r\n","/**\r\n * DevExtreme (esm/ui/hierarchical_collection/ui.data_converter.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport errors from \"../../ui/widget/ui.errors\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n isDefined,\r\n isPrimitive\r\n} from \"../../core/utils/type\";\r\nvar DataConverter = Class.inherit({\r\n ctor: function() {\r\n this._dataStructure = [];\r\n this._itemsCount = 0;\r\n this._visibleItemsCount = 0\r\n },\r\n _indexByKey: {},\r\n _convertItemsToNodes: function(items, parentKey) {\r\n var that = this;\r\n each(items, (function(_, item) {\r\n var parentId = isDefined(parentKey) ? parentKey : that._getParentId(item);\r\n var node = that._convertItemToNode(item, parentId);\r\n that._dataStructure.push(node);\r\n that._checkForDuplicateId(node.internalFields.key);\r\n that._indexByKey[node.internalFields.key] = that._dataStructure.length - 1;\r\n if (that._itemHasChildren(item)) {\r\n that._convertItemsToNodes(that._dataAccessors.getters.items(item), node.internalFields.key)\r\n }\r\n }))\r\n },\r\n _checkForDuplicateId: function(key) {\r\n if (isDefined(this._indexByKey[key])) {\r\n throw errors.Error(\"E1040\", key)\r\n }\r\n },\r\n _getParentId: function(item) {\r\n return \"plain\" === this._dataType ? this._dataAccessors.getters.parentKey(item) : void 0\r\n },\r\n _itemHasChildren: function(item) {\r\n if (\"plain\" === this._dataType) {\r\n return\r\n }\r\n var items = this._dataAccessors.getters.items(item);\r\n return items && items.length\r\n },\r\n _getUniqueKey: function(item) {\r\n var keyGetter = this._dataAccessors.getters.key;\r\n var itemKey = keyGetter(item);\r\n var isCorrectKey = keyGetter && (itemKey || 0 === itemKey) && isPrimitive(itemKey);\r\n return isCorrectKey ? itemKey : this.getItemsCount()\r\n },\r\n _convertItemToNode: function(item, parentKey) {\r\n this._itemsCount++;\r\n false !== item.visible && this._visibleItemsCount++;\r\n var node = {\r\n internalFields: {\r\n disabled: this._dataAccessors.getters.disabled(item, {\r\n defaultValue: false\r\n }),\r\n expanded: this._dataAccessors.getters.expanded(item, {\r\n defaultValue: false\r\n }),\r\n selected: this._dataAccessors.getters.selected(item, {\r\n defaultValue: false\r\n }),\r\n key: this._getUniqueKey(item),\r\n parentKey: isDefined(parentKey) ? parentKey : this._rootValue,\r\n item: this._makeObjectFromPrimitive(item),\r\n childrenKeys: []\r\n }\r\n };\r\n extend(node, item);\r\n delete node.items;\r\n return node\r\n },\r\n setChildrenKeys: function() {\r\n var that = this;\r\n each(this._dataStructure, (function(_, node) {\r\n if (node.internalFields.parentKey === that._rootValue) {\r\n return\r\n }\r\n var parent = that.getParentNode(node);\r\n parent && parent.internalFields.childrenKeys.push(node.internalFields.key)\r\n }))\r\n },\r\n _makeObjectFromPrimitive: function(item) {\r\n if (isPrimitive(item)) {\r\n var key = item;\r\n item = {};\r\n this._dataAccessors.setters.key(item, key)\r\n }\r\n return item\r\n },\r\n _convertToPublicNode: function(node, parent) {\r\n if (!node) {\r\n return null\r\n }\r\n var publicNode = {\r\n text: this._dataAccessors.getters.display(node),\r\n key: node.internalFields.key,\r\n selected: node.internalFields.selected,\r\n expanded: node.internalFields.expanded,\r\n disabled: node.internalFields.disabled,\r\n parent: parent || null,\r\n itemData: node.internalFields.item,\r\n children: [],\r\n items: []\r\n };\r\n if (publicNode.parent) {\r\n publicNode.parent.children.push(publicNode);\r\n publicNode.parent.items.push(publicNode)\r\n }\r\n return publicNode\r\n },\r\n convertToPublicNodes: function(data, parent) {\r\n if (!data.length) {\r\n return []\r\n }\r\n var that = this;\r\n var publicNodes = [];\r\n each(data, (function(_, node) {\r\n node = isPrimitive(node) ? that._getByKey(node) : node;\r\n var publicNode = that._convertToPublicNode(node, parent);\r\n publicNode.children = that.convertToPublicNodes(node.internalFields.childrenKeys, publicNode);\r\n publicNodes.push(publicNode);\r\n node.internalFields.publicNode = publicNode\r\n }));\r\n return publicNodes\r\n },\r\n setDataAccessors: function(accessors) {\r\n this._dataAccessors = accessors\r\n },\r\n _getByKey: function(key) {\r\n return this._dataStructure[this.getIndexByKey(key)] || null\r\n },\r\n getParentNode: function(node) {\r\n return this._getByKey(node.internalFields.parentKey)\r\n },\r\n getByKey: function(data, key) {\r\n if (null === key || void 0 === key) {\r\n return null\r\n }\r\n var result = null;\r\n var that = this;\r\n var getByKey = function(data, key) {\r\n each(data, (function(_, element) {\r\n var currentElementKey = element.internalFields && element.internalFields.key || that._dataAccessors.getters.key(element);\r\n if (currentElementKey.toString() === key.toString()) {\r\n result = element;\r\n return false\r\n }\r\n }));\r\n return result\r\n };\r\n return getByKey(data, key)\r\n },\r\n getItemsCount: function() {\r\n return this._itemsCount\r\n },\r\n getVisibleItemsCount: function() {\r\n return this._visibleItemsCount\r\n },\r\n updateIndexByKey: function() {\r\n var that = this;\r\n this._indexByKey = {};\r\n each(this._dataStructure, (function(index, node) {\r\n that._checkForDuplicateId(node.internalFields.key);\r\n that._indexByKey[node.internalFields.key] = index\r\n }))\r\n },\r\n updateChildrenKeys: function() {\r\n this._indexByKey = {};\r\n this.removeChildrenKeys();\r\n this.updateIndexByKey();\r\n this.setChildrenKeys()\r\n },\r\n removeChildrenKeys: function() {\r\n this._indexByKey = {};\r\n each(this._dataStructure, (function(index, node) {\r\n node.internalFields.childrenKeys = []\r\n }))\r\n },\r\n getIndexByKey: function(key) {\r\n return this._indexByKey[key]\r\n },\r\n createPlainStructure: function(items, rootValue, dataType) {\r\n this._itemsCount = 0;\r\n this._visibleItemsCount = 0;\r\n this._rootValue = rootValue;\r\n this._dataType = dataType;\r\n this._indexByKey = {};\r\n this._convertItemsToNodes(items);\r\n this.setChildrenKeys();\r\n return this._dataStructure\r\n }\r\n});\r\nexport default DataConverter;\r\n","/**\r\n * DevExtreme (esm/ui/hierarchical_collection/ui.data_adapter.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n isFunction,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport errors from \"../../ui/widget/ui.errors\";\r\nimport uiSearchBoxMixin from \"../../ui/widget/ui.search_box_mixin\";\r\nimport TextBox from \"../../ui/text_box\";\r\nimport query from \"../../data/query\";\r\nimport storeHelper from \"../../data/store_helper\";\r\nimport HierarchicalDataConverter from \"./ui.data_converter\";\r\nvar EXPANDED = \"expanded\";\r\nvar SELECTED = \"selected\";\r\nvar DISABLED = \"disabled\";\r\nuiSearchBoxMixin.setEditorClass(TextBox);\r\nvar DataAdapter = Class.inherit({\r\n ctor: function(options) {\r\n this.options = {};\r\n extend(this.options, this._defaultOptions(), options);\r\n this.options.dataConverter.setDataAccessors(this.options.dataAccessors);\r\n this._selectedNodesKeys = [];\r\n this._expandedNodesKeys = [];\r\n this._dataStructure = [];\r\n this._createInternalDataStructure();\r\n this.getTreeNodes()\r\n },\r\n setOption: function(name, value) {\r\n this.options[name] = value;\r\n if (\"recursiveSelection\" === name) {\r\n this._updateSelection()\r\n }\r\n },\r\n _defaultOptions: function() {\r\n return {\r\n dataAccessors: void 0,\r\n items: [],\r\n multipleSelection: true,\r\n recursiveSelection: false,\r\n recursiveExpansion: false,\r\n rootValue: 0,\r\n searchValue: \"\",\r\n dataType: \"tree\",\r\n searchMode: \"contains\",\r\n dataConverter: new HierarchicalDataConverter,\r\n onNodeChanged: noop,\r\n sort: null\r\n }\r\n },\r\n _createInternalDataStructure: function() {\r\n this._initialDataStructure = this.options.dataConverter.createPlainStructure(this.options.items, this.options.rootValue, this.options.dataType);\r\n this._dataStructure = this.options.searchValue.length ? this.search(this.options.searchValue) : this._initialDataStructure;\r\n this.options.dataConverter._dataStructure = this._dataStructure;\r\n this._updateSelection();\r\n this._updateExpansion()\r\n },\r\n _updateSelection: function() {\r\n if (this.options.recursiveSelection) {\r\n this._setChildrenSelection();\r\n this._setParentSelection()\r\n }\r\n this._selectedNodesKeys = this._updateNodesKeysArray(SELECTED)\r\n },\r\n _updateExpansion: function(key) {\r\n if (this.options.recursiveExpansion) {\r\n key ? this._updateOneBranch(key) : this._setParentExpansion()\r\n }\r\n this._expandedNodesKeys = this._updateNodesKeysArray(EXPANDED)\r\n },\r\n _updateNodesKeysArray: function(property) {\r\n var that = this;\r\n var array = [];\r\n each(that._getDataBySelectionMode(), (function(_, node) {\r\n if (!that._isNodeVisible(node)) {\r\n return\r\n }\r\n if (node.internalFields[property]) {\r\n if (property === EXPANDED || that.options.multipleSelection) {\r\n array.push(node.internalFields.key)\r\n } else {\r\n array.length && that.toggleSelection(array[0], false, true);\r\n array = [node.internalFields.key]\r\n }\r\n }\r\n }));\r\n return array\r\n },\r\n _getDataBySelectionMode: function() {\r\n return this.options.multipleSelection ? this.getData() : this.getFullData()\r\n },\r\n _isNodeVisible: function(node) {\r\n return false !== node.internalFields.item.visible\r\n },\r\n _getByKey: function(data, key) {\r\n return data === this._dataStructure ? this.options.dataConverter._getByKey(key) : this.options.dataConverter.getByKey(data, key)\r\n },\r\n _setChildrenSelection: function() {\r\n var that = this;\r\n each(this._dataStructure, (function(_, node) {\r\n if (!node.internalFields.childrenKeys.length) {\r\n return\r\n }\r\n var isSelected = node.internalFields.selected;\r\n true === isSelected && that._toggleChildrenSelection(node, isSelected)\r\n }))\r\n },\r\n _setParentSelection: function() {\r\n var that = this;\r\n each(this._dataStructure, (function(_, node) {\r\n var parent = that.options.dataConverter.getParentNode(node);\r\n if (parent && node.internalFields.parentKey !== that.options.rootValue) {\r\n that._iterateParents(node, (function(parent) {\r\n var newParentState = that._calculateSelectedState(parent);\r\n that._setFieldState(parent, SELECTED, newParentState)\r\n }))\r\n }\r\n }))\r\n },\r\n _setParentExpansion: function() {\r\n var that = this;\r\n each(this._dataStructure, (function(_, node) {\r\n if (!node.internalFields.expanded) {\r\n return\r\n }\r\n that._updateOneBranch(node.internalFields.key)\r\n }))\r\n },\r\n _updateOneBranch: function(key) {\r\n var that = this;\r\n var node = this.getNodeByKey(key);\r\n that._iterateParents(node, (function(parent) {\r\n that._setFieldState(parent, EXPANDED, true)\r\n }))\r\n },\r\n _iterateChildren: function(node, recursive, callback, processedKeys) {\r\n if (!isFunction(callback)) {\r\n return\r\n }\r\n var that = this;\r\n var nodeKey = node.internalFields.key;\r\n processedKeys = processedKeys || [];\r\n if (-1 === processedKeys.indexOf(nodeKey)) {\r\n processedKeys.push(nodeKey);\r\n each(node.internalFields.childrenKeys, (function(_, key) {\r\n var child = that.getNodeByKey(key);\r\n callback(child);\r\n if (child.internalFields.childrenKeys.length && recursive) {\r\n that._iterateChildren(child, recursive, callback, processedKeys)\r\n }\r\n }))\r\n }\r\n },\r\n _iterateParents: function(node, callback, processedKeys) {\r\n if (node.internalFields.parentKey === this.options.rootValue || !isFunction(callback)) {\r\n return\r\n }\r\n processedKeys = processedKeys || [];\r\n var key = node.internalFields.key;\r\n if (-1 === processedKeys.indexOf(key)) {\r\n processedKeys.push(key);\r\n var parent = this.options.dataConverter.getParentNode(node);\r\n if (parent) {\r\n callback(parent);\r\n if (parent.internalFields.parentKey !== this.options.rootValue) {\r\n this._iterateParents(parent, callback, processedKeys)\r\n }\r\n }\r\n }\r\n },\r\n _calculateSelectedState: function(node) {\r\n var itemsCount = node.internalFields.childrenKeys.length;\r\n var selectedItemsCount = 0;\r\n var invisibleItemsCount = 0;\r\n var result = false;\r\n for (var i = 0; i <= itemsCount - 1; i++) {\r\n var childNode = this.getNodeByKey(node.internalFields.childrenKeys[i]);\r\n var isChildInvisible = false === childNode.internalFields.item.visible;\r\n var childState = childNode.internalFields.selected;\r\n if (isChildInvisible) {\r\n invisibleItemsCount++;\r\n continue\r\n }\r\n if (childState) {\r\n selectedItemsCount++\r\n } else if (void 0 === childState) {\r\n selectedItemsCount += .5\r\n }\r\n }\r\n if (selectedItemsCount) {\r\n result = selectedItemsCount === itemsCount - invisibleItemsCount ? true : void 0\r\n }\r\n return result\r\n },\r\n _toggleChildrenSelection: function(node, state) {\r\n var that = this;\r\n this._iterateChildren(node, true, (function(child) {\r\n if (that._isNodeVisible(child)) {\r\n that._setFieldState(child, SELECTED, state)\r\n }\r\n }))\r\n },\r\n _setFieldState: function(node, field, state) {\r\n if (node.internalFields[field] === state) {\r\n return\r\n }\r\n node.internalFields[field] = state;\r\n if (node.internalFields.publicNode) {\r\n node.internalFields.publicNode[field] = state\r\n }\r\n this.options.dataAccessors.setters[field](node.internalFields.item, state);\r\n this.options.onNodeChanged(node)\r\n },\r\n _markChildren: function(keys) {\r\n var that = this;\r\n each(keys, (function(_, key) {\r\n var index = that.getIndexByKey(key);\r\n var node = that.getNodeByKey(key);\r\n that._dataStructure[index] = 0;\r\n node.internalFields.childrenKeys.length && that._markChildren(node.internalFields.childrenKeys)\r\n }))\r\n },\r\n _removeNode: function(key) {\r\n var node = this.getNodeByKey(key);\r\n this._dataStructure[this.getIndexByKey(key)] = 0;\r\n this._markChildren(node.internalFields.childrenKeys);\r\n var that = this;\r\n var counter = 0;\r\n var items = extend([], this._dataStructure);\r\n each(items, (function(index, item) {\r\n if (!item) {\r\n that._dataStructure.splice(index - counter, 1);\r\n counter++\r\n }\r\n }))\r\n },\r\n _addNode: function(item) {\r\n var dataConverter = this.options.dataConverter;\r\n var node = dataConverter._convertItemToNode(item, this.options.dataAccessors.getters.parentKey(item));\r\n this._dataStructure = this._dataStructure.concat(node);\r\n this._initialDataStructure = this._initialDataStructure.concat(node);\r\n dataConverter._dataStructure = dataConverter._dataStructure.concat(node)\r\n },\r\n _updateFields: function() {\r\n this.options.dataConverter.updateChildrenKeys();\r\n this._updateSelection();\r\n this._updateExpansion()\r\n },\r\n getSelectedNodesKeys: function() {\r\n return this._selectedNodesKeys\r\n },\r\n getExpandedNodesKeys: function() {\r\n return this._expandedNodesKeys\r\n },\r\n getData: function() {\r\n return this._dataStructure\r\n },\r\n getFullData: function() {\r\n return this._initialDataStructure\r\n },\r\n getNodeByItem: function(item) {\r\n var result = null;\r\n each(this._dataStructure, (function(_, node) {\r\n if (node.internalFields.item === item) {\r\n result = node;\r\n return false\r\n }\r\n }));\r\n return result\r\n },\r\n getNodesByItems: function(items) {\r\n var that = this;\r\n var nodes = [];\r\n each(items, (function(_, item) {\r\n var node = that.getNodeByItem(item);\r\n node && nodes.push(node)\r\n }));\r\n return nodes\r\n },\r\n getNodeByKey: function(key, data) {\r\n return this._getByKey(data || this._getDataBySelectionMode(), key)\r\n },\r\n getTreeNodes: function() {\r\n return this.options.dataConverter.convertToPublicNodes(this.getRootNodes())\r\n },\r\n getItemsCount: function() {\r\n return this.options.dataConverter.getItemsCount()\r\n },\r\n getVisibleItemsCount: function() {\r\n return this.options.dataConverter.getVisibleItemsCount()\r\n },\r\n getPublicNode: function(node) {\r\n return node.internalFields.publicNode\r\n },\r\n getRootNodes: function() {\r\n return this.getChildrenNodes(this.options.rootValue)\r\n },\r\n getChildrenNodes: function(parentKey) {\r\n return query(this._dataStructure).filter([\"internalFields.parentKey\", parentKey]).toArray()\r\n },\r\n getIndexByKey: function(key) {\r\n return this.options.dataConverter.getIndexByKey(key)\r\n },\r\n addItem: function(item) {\r\n this._addNode(item);\r\n this._updateFields()\r\n },\r\n removeItem: function(key) {\r\n this._removeNode(key);\r\n this._updateFields()\r\n },\r\n toggleSelection: function(key, state, selectRecursive) {\r\n var isSingleModeUnselect = this._isSingleModeUnselect(state);\r\n var node = this._getByKey(selectRecursive || isSingleModeUnselect ? this._initialDataStructure : this._dataStructure, key);\r\n this._setFieldState(node, SELECTED, state);\r\n if (this.options.recursiveSelection && !selectRecursive) {\r\n state ? this._setChildrenSelection() : this._toggleChildrenSelection(node, state);\r\n this._setParentSelection()\r\n }\r\n this._selectedNodesKeys = this._updateNodesKeysArray(SELECTED)\r\n },\r\n _isSingleModeUnselect: function(selectionState) {\r\n return !this.options.multipleSelection && !selectionState\r\n },\r\n toggleNodeDisabledState: function(key, state) {\r\n var node = this.getNodeByKey(key);\r\n this._setFieldState(node, DISABLED, state)\r\n },\r\n toggleSelectAll: function(state) {\r\n if (!isDefined(state)) {\r\n return\r\n }\r\n var that = this;\r\n var lastSelectedKey = that._selectedNodesKeys[that._selectedNodesKeys.length - 1];\r\n var dataStructure = that._isSingleModeUnselect(state) ? this._initialDataStructure : this._dataStructure;\r\n each(dataStructure, (function(index, node) {\r\n if (!that._isNodeVisible(node)) {\r\n return\r\n }\r\n that._setFieldState(node, SELECTED, state)\r\n }));\r\n that._selectedNodesKeys = that._updateNodesKeysArray(SELECTED);\r\n if (!state && that.options.selectionRequired) {\r\n that.toggleSelection(lastSelectedKey, true)\r\n }\r\n },\r\n isAllSelected: function() {\r\n if (this.getSelectedNodesKeys().length) {\r\n return this.getSelectedNodesKeys().length === this.getVisibleItemsCount() ? true : void 0\r\n } else {\r\n return false\r\n }\r\n },\r\n toggleExpansion: function(key, state) {\r\n var node = this.getNodeByKey(key);\r\n this._setFieldState(node, EXPANDED, state);\r\n if (state) {\r\n this._updateExpansion(key)\r\n }\r\n this._expandedNodesKeys = this._updateNodesKeysArray(EXPANDED)\r\n },\r\n isFiltered: function(item) {\r\n return !this.options.searchValue.length || !!this._filterDataStructure(this.options.searchValue, [item]).length\r\n },\r\n _createCriteria: function(selector, value, operation) {\r\n var searchFilter = [];\r\n if (!Array.isArray(selector)) {\r\n return [selector, operation, value]\r\n }\r\n each(selector, (function(i, item) {\r\n searchFilter.push([item, operation, value], \"or\")\r\n }));\r\n searchFilter.pop();\r\n return searchFilter\r\n },\r\n _filterDataStructure: function(filterValue, dataStructure) {\r\n var selector = this.options.searchExpr || this.options.dataAccessors.getters.display;\r\n var operation = uiSearchBoxMixin.getOperationBySearchMode(this.options.searchMode);\r\n var criteria = this._createCriteria(selector, filterValue, operation);\r\n dataStructure = dataStructure || this._initialDataStructure;\r\n return query(dataStructure).filter(criteria).toArray()\r\n },\r\n search: function(searchValue) {\r\n var that = this;\r\n var matches = this._filterDataStructure(searchValue);\r\n var dataConverter = this.options.dataConverter;\r\n ! function lookForParents(matches, index) {\r\n var length = matches.length;\r\n while (index < length) {\r\n var node = matches[index];\r\n if (node.internalFields.parentKey === that.options.rootValue) {\r\n index++;\r\n continue\r\n }\r\n var parent = dataConverter.getParentNode(node);\r\n if (!parent) {\r\n errors.log(\"W1007\", node.internalFields.parentKey, node.internalFields.key);\r\n index++;\r\n continue\r\n }\r\n if (!parent.internalFields.expanded) {\r\n that._setFieldState(parent, EXPANDED, true)\r\n }\r\n if (matches.includes(parent)) {\r\n index++;\r\n continue\r\n }\r\n matches.splice(index, 0, parent);\r\n lookForParents(matches, index)\r\n }\r\n }(matches, 0);\r\n if (this.options.sort) {\r\n matches = storeHelper.queryByOptions(query(matches), {\r\n sort: this.options.sort\r\n }).toArray()\r\n }\r\n dataConverter._indexByKey = {};\r\n each(matches, (function(index, node) {\r\n node.internalFields.childrenKeys = [];\r\n dataConverter._indexByKey[node.internalFields.key] = index\r\n }));\r\n dataConverter._dataStructure = matches;\r\n dataConverter.setChildrenKeys();\r\n return dataConverter._dataStructure\r\n }\r\n});\r\nexport default DataAdapter;\r\n","/**\r\n * DevExtreme (esm/ui/hierarchical_collection/ui.hierarchical_collection_widget.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n compileGetter,\r\n compileSetter\r\n} from \"../../core/utils/data\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n getImageContainer\r\n} from \"../../core/utils/icon\";\r\nimport HierarchicalDataAdapter from \"./ui.data_adapter\";\r\nimport CollectionWidget from \"../collection/ui.collection_widget.edit\";\r\nimport {\r\n BindableTemplate\r\n} from \"../../core/templates/bindable_template\";\r\nimport {\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar DISABLED_STATE_CLASS = \"dx-state-disabled\";\r\nvar HierarchicalCollectionWidget = CollectionWidget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n keyExpr: \"id\",\r\n displayExpr: \"text\",\r\n selectedExpr: \"selected\",\r\n disabledExpr: \"disabled\",\r\n itemsExpr: \"items\",\r\n hoverStateEnabled: true,\r\n parentIdExpr: \"parentId\",\r\n expandedExpr: \"expanded\"\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initAccessors();\r\n this._initDataAdapter();\r\n this._initDynamicTemplates()\r\n },\r\n _initDataSource: function() {\r\n this.callBase();\r\n this._dataSource && this._dataSource.paginate(false)\r\n },\r\n _initDataAdapter: function() {\r\n var accessors = this._createDataAdapterAccessors();\r\n this._dataAdapter = new HierarchicalDataAdapter(extend({\r\n dataAccessors: {\r\n getters: accessors.getters,\r\n setters: accessors.setters\r\n },\r\n items: this.option(\"items\")\r\n }, this._getDataAdapterOptions()))\r\n },\r\n _getDataAdapterOptions: noop,\r\n _initDynamicTemplates: function() {\r\n var that = this;\r\n this._templateManager.addDefaultTemplates({\r\n item: new BindableTemplate(function($container, itemData) {\r\n $container.html(itemData.html).append(this._getIconContainer(itemData)).append(this._getTextContainer(itemData)).append(this._getPopoutContainer(itemData));\r\n that._addContentClasses(itemData, $container.parent())\r\n }.bind(this), [\"text\", \"html\", \"items\", \"icon\"], this.option(\"integrationOptions.watchMethod\"), {\r\n text: this._displayGetter,\r\n items: this._itemsGetter\r\n })\r\n })\r\n },\r\n _getIconContainer: function(itemData) {\r\n return itemData.icon ? getImageContainer(itemData.icon) : void 0\r\n },\r\n _getTextContainer: function(itemData) {\r\n return $(\"<span>\").text(itemData.text)\r\n },\r\n _getPopoutContainer: noop,\r\n _addContentClasses: noop,\r\n _initAccessors: function() {\r\n var that = this;\r\n each(this._getAccessors(), (function(_, accessor) {\r\n that._compileAccessor(accessor)\r\n }));\r\n this._compileDisplayGetter()\r\n },\r\n _getAccessors: function() {\r\n return [\"key\", \"selected\", \"items\", \"disabled\", \"parentId\", \"expanded\"]\r\n },\r\n _getChildNodes: function(node) {\r\n var that = this;\r\n var arr = [];\r\n each(node.internalFields.childrenKeys, (function(_, key) {\r\n var childNode = that._dataAdapter.getNodeByKey(key);\r\n arr.push(childNode)\r\n }));\r\n return arr\r\n },\r\n _hasChildren: function(node) {\r\n return node && node.internalFields.childrenKeys.length\r\n },\r\n _compileAccessor: function(optionName) {\r\n var getter = \"_\" + optionName + \"Getter\";\r\n var setter = \"_\" + optionName + \"Setter\";\r\n var optionExpr = this.option(optionName + \"Expr\");\r\n if (!optionExpr) {\r\n this[getter] = noop;\r\n this[setter] = noop;\r\n return\r\n } else if (isFunction(optionExpr)) {\r\n this[setter] = function(obj, value) {\r\n obj[optionExpr()] = value\r\n };\r\n this[getter] = function(obj) {\r\n return obj[optionExpr()]\r\n };\r\n return\r\n }\r\n this[getter] = compileGetter(optionExpr);\r\n this[setter] = compileSetter(optionExpr)\r\n },\r\n _createDataAdapterAccessors: function() {\r\n var that = this;\r\n var accessors = {\r\n getters: {},\r\n setters: {}\r\n };\r\n each(this._getAccessors(), (function(_, accessor) {\r\n var getterName = \"_\" + accessor + \"Getter\";\r\n var setterName = \"_\" + accessor + \"Setter\";\r\n var newAccessor = \"parentId\" === accessor ? \"parentKey\" : accessor;\r\n accessors.getters[newAccessor] = that[getterName];\r\n accessors.setters[newAccessor] = that[setterName]\r\n }));\r\n accessors.getters.display = !this._displayGetter ? itemData => itemData.text : this._displayGetter;\r\n return accessors\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._addWidgetClass()\r\n },\r\n _addWidgetClass: function() {\r\n this._focusTarget().addClass(this._widgetClass())\r\n },\r\n _widgetClass: noop,\r\n _renderItemFrame: function(index, itemData) {\r\n var $itemFrame = this.callBase.apply(this, arguments);\r\n $itemFrame.toggleClass(DISABLED_STATE_CLASS, !!this._disabledGetter(itemData));\r\n return $itemFrame\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"displayExpr\":\r\n case \"keyExpr\":\r\n this._initAccessors();\r\n this._initDynamicTemplates();\r\n this.repaint();\r\n break;\r\n case \"itemsExpr\":\r\n case \"selectedExpr\":\r\n case \"disabledExpr\":\r\n case \"expandedExpr\":\r\n case \"parentIdExpr\":\r\n this._initAccessors();\r\n this._initDataAdapter();\r\n this.repaint();\r\n break;\r\n case \"items\":\r\n this._initDataAdapter();\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nexport default HierarchicalCollectionWidget;\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/themes/base.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Quill from \"devextreme-quill\";\r\nvar BaseTheme;\r\nif (Quill) {\r\n var Theme = Quill.import(\"core/theme\");\r\n BaseTheme = class extends Theme {\r\n constructor(quill, options) {\r\n super(quill, options);\r\n this.quill.root.classList.add(\"dx-htmleditor-content\");\r\n this.quill.root.setAttribute(\"role\", \"textbox\")\r\n }\r\n }\r\n} else {\r\n BaseTheme = {}\r\n}\r\nexport default BaseTheme;\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/quill_importer.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Errors from \"../widget/ui.errors\";\r\nimport Quill from \"devextreme-quill\";\r\nexport function getQuill() {\r\n if (!Quill) {\r\n throw Errors.Error(\"E1041\", \"Quill\")\r\n }\r\n return Quill\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/formats/image.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Quill from \"devextreme-quill\";\r\nimport {\r\n isObject\r\n} from \"../../../core/utils/type\";\r\nvar ExtImage = {};\r\nif (Quill) {\r\n var Image = Quill.import(\"formats/image\");\r\n ExtImage = class extends Image {\r\n static create(data) {\r\n var SRC = data && data.src || data;\r\n var node = super.create(SRC);\r\n if (isObject(data)) {\r\n var setAttribute = (attr, value) => {\r\n data[attr] && node.setAttribute(attr, value)\r\n };\r\n setAttribute(\"alt\", data.alt);\r\n setAttribute(\"width\", data.width);\r\n setAttribute(\"height\", data.height)\r\n }\r\n return node\r\n }\r\n static formats(domNode) {\r\n var formats = super.formats(domNode);\r\n formats.imageSrc = domNode.getAttribute(\"src\");\r\n return formats\r\n }\r\n formats() {\r\n var formats = super.formats();\r\n var floatValue = this.domNode.style.float;\r\n if (floatValue) {\r\n formats.float = floatValue\r\n }\r\n return formats\r\n }\r\n format(name, value) {\r\n if (\"float\" === name) {\r\n this.domNode.style[name] = value\r\n } else {\r\n super.format(name, value)\r\n }\r\n }\r\n static value(domNode) {\r\n return {\r\n src: domNode.getAttribute(\"src\"),\r\n width: domNode.getAttribute(\"width\"),\r\n height: domNode.getAttribute(\"height\"),\r\n alt: domNode.getAttribute(\"alt\")\r\n }\r\n }\r\n };\r\n ExtImage.blotName = \"extendedImage\"\r\n}\r\nexport default ExtImage;\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/formats/link.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Quill from \"devextreme-quill\";\r\nimport {\r\n isObject\r\n} from \"../../../core/utils/type\";\r\nvar ExtLink = {};\r\nif (Quill) {\r\n var Link = Quill.import(\"formats/link\");\r\n ExtLink = class ExtLink extends Link {\r\n static create(data) {\r\n var _data$href;\r\n var HREF = null !== (_data$href = null === data || void 0 === data ? void 0 : data.href) && void 0 !== _data$href ? _data$href : data;\r\n var node = super.create(HREF);\r\n if (isObject(data)) {\r\n if (data.text) {\r\n node.innerText = data.text\r\n }\r\n if (!data.target) {\r\n node.removeAttribute(\"target\")\r\n }\r\n }\r\n return node\r\n }\r\n static formats(domNode) {\r\n return {\r\n href: domNode.getAttribute(\"href\"),\r\n target: domNode.getAttribute(\"target\")\r\n }\r\n }\r\n formats() {\r\n var formats = super.formats();\r\n var {\r\n href: href,\r\n target: target\r\n } = ExtLink.formats(this.domNode);\r\n formats.link = href;\r\n formats.target = target;\r\n return formats\r\n }\r\n format(name, value) {\r\n if (\"link\" === name && isObject(value)) {\r\n if (value.text) {\r\n this.domNode.innerText = value.text\r\n }\r\n if (value.target) {\r\n this.domNode.setAttribute(\"target\", \"_blank\")\r\n } else {\r\n this.domNode.removeAttribute(\"target\")\r\n }\r\n this.domNode.setAttribute(\"href\", value.href)\r\n } else {\r\n super.format(name, value)\r\n }\r\n }\r\n static value(domNode) {\r\n return {\r\n href: domNode.getAttribute(\"href\"),\r\n text: domNode.innerText,\r\n target: !!domNode.getAttribute(\"target\")\r\n }\r\n }\r\n }\r\n}\r\nexport default ExtLink;\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/formats/font.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Quill from \"devextreme-quill\";\r\nvar FontStyle = {};\r\nif (Quill) {\r\n FontStyle = Quill.import(\"attributors/style/font\");\r\n FontStyle.whitelist = null\r\n}\r\nexport default FontStyle;\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/formats/size.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Quill from \"devextreme-quill\";\r\nvar SizeStyle = {};\r\nif (Quill) {\r\n SizeStyle = Quill.import(\"attributors/style/size\");\r\n SizeStyle.whitelist = null\r\n}\r\nexport default SizeStyle;\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/formats/align.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Quill from \"devextreme-quill\";\r\nvar AlignStyle = {};\r\nif (Quill) {\r\n AlignStyle = Quill.import(\"attributors/style/align\");\r\n AlignStyle.whitelist.push(\"left\")\r\n}\r\nexport default AlignStyle;\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/modules/base.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Quill from \"devextreme-quill\";\r\nimport EmptyModule from \"./empty\";\r\nimport {\r\n isObject,\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nvar BaseModule = EmptyModule;\r\nif (Quill) {\r\n var BaseQuillModule = Quill.import(\"core/module\");\r\n BaseModule = class extends BaseQuillModule {\r\n constructor(quill, options) {\r\n super(quill, options);\r\n this.editorInstance = options.editorInstance\r\n }\r\n saveValueChangeEvent(event) {\r\n this.editorInstance._saveValueChangeEvent(event)\r\n }\r\n addCleanCallback(callback) {\r\n this.editorInstance.addCleanCallback(callback)\r\n }\r\n handleOptionChangeValue(changes) {\r\n if (isObject(changes)) {\r\n Object.entries(changes).forEach(_ref => {\r\n var [name, value] = _ref;\r\n return this.option(name, value)\r\n })\r\n } else if (!isDefined(changes)) {\r\n null === this || void 0 === this ? void 0 : this.clean()\r\n }\r\n }\r\n }\r\n}\r\nexport default BaseModule;\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/modules/empty.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport default class EmptyModule {}\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/modules/widget_collector.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nexport default class WidgetCollector {\r\n constructor() {\r\n this._collection = []\r\n }\r\n clear() {\r\n this._collection = []\r\n }\r\n add(name, instance) {\r\n this._collection.push({\r\n name: name,\r\n instance: instance\r\n })\r\n }\r\n remove(name) {\r\n this._collection = this._collection.filter(item => item.name !== name)\r\n }\r\n getByName(widgetName) {\r\n var widget = null;\r\n each(this._collection, (index, _ref) => {\r\n var {\r\n name: name,\r\n instance: instance\r\n } = _ref;\r\n if (name === widgetName) {\r\n widget = instance;\r\n return false\r\n }\r\n });\r\n return widget\r\n }\r\n each(handler) {\r\n this._collection.forEach(_ref2 => {\r\n var {\r\n name: name,\r\n instance: instance\r\n } = _ref2;\r\n return instance && handler(name, instance)\r\n })\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/utils/table_helper.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n camelize\r\n} from \"../../../core/utils/inflector\";\r\nvar TABLE_FORMATS = [\"table\", \"tableHeaderCell\"];\r\nvar TABLE_OPERATIONS = [\"insertTable\", \"insertHeaderRow\", \"insertRowAbove\", \"insertRowBelow\", \"insertColumnLeft\", \"insertColumnRight\", \"deleteColumn\", \"deleteRow\", \"deleteTable\", \"cellProperties\", \"tableProperties\"];\r\n\r\nfunction getTableFormats(quill) {\r\n var tableModule = quill.getModule(\"table\");\r\n return null !== tableModule && void 0 !== tableModule && tableModule.tableFormats ? tableModule.tableFormats() : TABLE_FORMATS\r\n}\r\n\r\nfunction hasEmbedContent(module, selection) {\r\n return !!selection && module.quill.getText(selection).length < selection.length\r\n}\r\n\r\nfunction unfixTableWidth($table, _ref) {\r\n var {\r\n tableBlot: tableBlot,\r\n quill: quill\r\n } = _ref;\r\n var formatBlot = null !== tableBlot && void 0 !== tableBlot ? tableBlot : quill.scroll.find($table.get(0));\r\n formatBlot.format(\"tableWidth\", \"initial\")\r\n}\r\n\r\nfunction getColumnElements($table) {\r\n var index = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;\r\n return $table.find(\"tr\").eq(index).find(\"th, td\")\r\n}\r\n\r\nfunction getAutoSizedElements($table) {\r\n var direction = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : \"horizontal\";\r\n var result = [];\r\n var isHorizontal = \"horizontal\" === direction;\r\n var $lineElements = isHorizontal ? getColumnElements($table) : getRowElements($table);\r\n $lineElements.each((index, element) => {\r\n var $element = $(element);\r\n if (\"\" === $element.get(0).style[isHorizontal ? \"width\" : \"height\"]) {\r\n result.push($element)\r\n }\r\n });\r\n return result\r\n}\r\n\r\nfunction setLineElementsFormat(module, _ref2) {\r\n var {\r\n elements: elements,\r\n property: property,\r\n value: value\r\n } = _ref2;\r\n var tableBlotNames = module.quill.getModule(\"table\").tableBlots;\r\n var fullPropertyName = \"cell\".concat(camelize(property, true));\r\n each(elements, (i, element) => {\r\n var _formatBlot;\r\n var formatBlot = module.quill.scroll.find(element);\r\n if (!tableBlotNames.includes(formatBlot.statics.blotName)) {\r\n var descendBlot = formatBlot.descendant(blot => tableBlotNames.includes(blot.statics.blotName));\r\n formatBlot = descendBlot ? descendBlot[0] : null\r\n }\r\n null === (_formatBlot = formatBlot) || void 0 === _formatBlot ? void 0 : _formatBlot.format(fullPropertyName, value + \"px\")\r\n })\r\n}\r\n\r\nfunction getLineElements($table, index) {\r\n var direction = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : \"horizontal\";\r\n return \"horizontal\" === direction ? getRowElements($table, index) : getColumnElements($table, index)\r\n}\r\n\r\nfunction getRowElements($table) {\r\n var index = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;\r\n return $table.find(\"th:nth-child(\".concat(1 + index, \"), td:nth-child(\").concat(1 + index, \")\"))\r\n}\r\n\r\nfunction getTableOperationHandler(quill, operationName) {\r\n for (var _len = arguments.length, rest = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\r\n rest[_key - 2] = arguments[_key]\r\n }\r\n return () => {\r\n var table = quill.getModule(\"table\");\r\n if (!table) {\r\n return\r\n }\r\n quill.focus();\r\n return table[operationName](...rest)\r\n }\r\n}\r\nexport {\r\n TABLE_OPERATIONS,\r\n getTableFormats,\r\n getTableOperationHandler,\r\n unfixTableWidth,\r\n getColumnElements,\r\n getAutoSizedElements,\r\n setLineElementsFormat,\r\n getLineElements,\r\n getRowElements,\r\n hasEmbedContent\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/utils/image_uploader_helper.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"imageSrc\", \"src\"];\r\nimport $ from \"../../../core/renderer\";\r\nimport localizationMessage from \"../../../localization/message\";\r\nimport {\r\n map\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n getHeight,\r\n getWidth\r\n} from \"../../../core/utils/size\";\r\nimport devices from \"../../../core/devices\";\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nvar isMobile = \"phone\" === devices.current().deviceType;\r\nvar DIALOG_IMAGE_CAPTION = \"dxHtmlEditor-dialogImageCaption\";\r\nvar DIALOG_UPDATE_IMAGE_CAPTION = \"dxHtmlEditor-dialogUpdateImageCaption\";\r\nvar DIALOG_IMAGE_FIELD_URL = \"dxHtmlEditor-dialogImageUrlField\";\r\nvar DIALOG_IMAGE_FIELD_ALT = \"dxHtmlEditor-dialogImageAltField\";\r\nvar DIALOG_IMAGE_FIELD_WIDTH = \"dxHtmlEditor-dialogImageWidthField\";\r\nvar DIALOG_IMAGE_FIELD_HEIGHT = \"dxHtmlEditor-dialogImageHeightField\";\r\nvar DIALOG_IMAGE_ADD_BUTTON = \"dxHtmlEditor-dialogImageAddButton\";\r\nvar DIALOG_IMAGE_UPDATE_BUTTON = \"dxHtmlEditor-dialogImageUpdateButton\";\r\nvar DIALOG_IMAGE_SPECIFY_URL = \"dxHtmlEditor-dialogImageSpecifyUrl\";\r\nvar DIALOG_IMAGE_SELECT_FILE = \"dxHtmlEditor-dialogImageSelectFile\";\r\nvar DIALOG_IMAGE_KEEP_ASPECT_RATIO = \"dxHtmlEditor-dialogImageKeepAspectRatio\";\r\nvar DIALOG_IMAGE_ENCODE_TO_BASE64 = \"dxHtmlEditor-dialogImageEncodeToBase64\";\r\nvar DIALOG_IMAGE_POPUP_CLASS = \"dx-htmleditor-add-image-popup\";\r\nvar DIALOG_IMAGE_POPUP_WITH_TABS_CLASS = \"dx-htmleditor-add-image-popup-with-tabs\";\r\nvar DIALOG_IMAGE_FIX_RATIO_CONTAINER = \"dx-fix-ratio-container\";\r\nvar FORM_DIALOG_CLASS = \"dx-formdialog\";\r\nvar USER_ACTION = \"user\";\r\nvar SILENT_ACTION = \"silent\";\r\nvar FILE_UPLOADER_NAME = \"dx-htmleditor-image\";\r\nimport ButtonGroup from \"../../button_group\";\r\nimport FileUploader from \"../../file_uploader\";\r\nimport TextBox from \"../../text_box\";\r\nexport class ImageUploader {\r\n constructor(module, config) {\r\n this.module = module;\r\n this.config = null !== config && void 0 !== config ? config : {};\r\n this.quill = this.module.quill;\r\n this.editorInstance = this.module.editorInstance\r\n }\r\n render() {\r\n if (this.editorInstance._formDialog) {\r\n this.editorInstance._formDialog.beforeAddButtonAction = () => this.getCurrentTab().upload()\r\n }\r\n this.tabPanelIndex = 0;\r\n this.formData = this.getFormData();\r\n this.isUpdating = this.isImageUpdating();\r\n this.tabsModel = this.createTabsModel(this.config.tabs);\r\n this.tabs = this.createTabs(this.formData);\r\n var formConfig = this.getFormConfig();\r\n this.updatePopupConfig();\r\n this.updateAddButtonState();\r\n this.editorInstance.showFormDialog(formConfig).done((formData, event) => {\r\n this.tabs[this.getActiveTabIndex()].strategy.pasteImage(formData, event)\r\n }).always(() => {\r\n this.resetDialogPopupOptions();\r\n this.quill.focus()\r\n })\r\n }\r\n getCurrentTab() {\r\n return this.tabs[this.tabPanelIndex]\r\n }\r\n updateAddButtonState() {\r\n var isDisabled = this.getCurrentTab().isDisableButton();\r\n this.setAddButtonDisabled(isDisabled)\r\n }\r\n setAddButtonDisabled(value) {\r\n this.editorInstance.formDialogOption({\r\n \"toolbarItems[0].options.disabled\": value\r\n })\r\n }\r\n getActiveTabIndex() {\r\n return this.isUpdating ? 0 : this.tabPanelIndex\r\n }\r\n getFormData() {\r\n return this.getUpdateDialogFormData(this.quill.getFormat())\r\n }\r\n getUpdateDialogFormData(formData) {\r\n var {\r\n imageSrc: imageSrc,\r\n src: src\r\n } = formData, props = _objectWithoutPropertiesLoose(formData, _excluded);\r\n return _extends({\r\n src: null !== imageSrc && void 0 !== imageSrc ? imageSrc : src\r\n }, props)\r\n }\r\n createUrlTab(formData) {\r\n return new UrlTab(this.module, {\r\n config: this.config,\r\n formData: formData,\r\n isUpdating: this.isUpdating\r\n }, () => this.updateAddButtonState())\r\n }\r\n createFileTab() {\r\n return new FileTab(this.module, {\r\n config: this.config\r\n }, () => this.updateAddButtonState())\r\n }\r\n createTabsModel() {\r\n var model = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\r\n if (0 === model.length || this.isUpdating) {\r\n return [\"url\"]\r\n }\r\n return model.map(tab => \"object\" === typeof tab ? tab.name : tab)\r\n }\r\n createTabs(formData) {\r\n return this.tabsModel.map(tabName => {\r\n var isUrlTab = \"url\" === tabName;\r\n return isUrlTab ? this.createUrlTab(formData) : this.createFileTab()\r\n })\r\n }\r\n isImageUpdating() {\r\n var _this$module$quill$ge;\r\n return Object.prototype.hasOwnProperty.call(null !== (_this$module$quill$ge = this.module.quill.getFormat()) && void 0 !== _this$module$quill$ge ? _this$module$quill$ge : {}, \"imageSrc\")\r\n }\r\n updatePopupConfig() {\r\n var wrapperClasses = \"\".concat(DIALOG_IMAGE_POPUP_CLASS, \" \").concat(FORM_DIALOG_CLASS);\r\n if (this.useTabbedItems()) {\r\n wrapperClasses += \" \".concat(DIALOG_IMAGE_POPUP_WITH_TABS_CLASS)\r\n }\r\n var titleKey = this.isUpdating ? DIALOG_UPDATE_IMAGE_CAPTION : DIALOG_IMAGE_CAPTION;\r\n var addButtonTextKey = this.isUpdating ? DIALOG_IMAGE_UPDATE_BUTTON : DIALOG_IMAGE_ADD_BUTTON;\r\n this.editorInstance.formDialogOption({\r\n title: localizationMessage.format(titleKey),\r\n \"toolbarItems[0].options.text\": localizationMessage.format(addButtonTextKey),\r\n wrapperAttr: {\r\n class: wrapperClasses\r\n }\r\n })\r\n }\r\n resetDialogPopupOptions() {\r\n this.editorInstance.formDialogOption({\r\n \"toolbarItems[0].options.text\": localizationMessage.format(\"OK\"),\r\n \"toolbarItems[0].options.visible\": true,\r\n \"toolbarItems[0].options.disabled\": false,\r\n wrapperAttr: {\r\n class: FORM_DIALOG_CLASS\r\n }\r\n })\r\n }\r\n useTabbedItems() {\r\n return this.tabsModel.length > 1\r\n }\r\n getFormWidth() {\r\n return isMobile ? \"100%\" : 493\r\n }\r\n getFormConfig() {\r\n return {\r\n formData: this.formData,\r\n width: this.getFormWidth(),\r\n labelLocation: \"top\",\r\n colCount: this.useTabbedItems() ? 1 : 11,\r\n items: this.getItemsConfig()\r\n }\r\n }\r\n getItemsConfig() {\r\n if (this.useTabbedItems()) {\r\n var tabsConfig = map(this.tabs, tabController => ({\r\n title: tabController.getTabName(),\r\n colCount: 11,\r\n items: tabController.getItemsConfig()\r\n }));\r\n return [{\r\n itemType: \"tabbed\",\r\n tabPanelOptions: {\r\n onSelectionChanged: e => {\r\n this.tabPanelIndex = e.component.option(\"selectedIndex\");\r\n this.updateAddButtonState()\r\n }\r\n },\r\n tabs: tabsConfig\r\n }]\r\n }\r\n return this.tabs[0].getItemsConfig()\r\n }\r\n}\r\nclass BaseTab {\r\n constructor(module, _ref, onFileSelected) {\r\n var {\r\n config: config,\r\n formData: formData,\r\n isUpdating: isUpdating\r\n } = _ref;\r\n this.module = module;\r\n this.config = config;\r\n this.formData = formData;\r\n this.isUpdating = isUpdating;\r\n this.onFileSelected = onFileSelected;\r\n this.strategy = this.createStrategy()\r\n }\r\n getItemsConfig() {\r\n return this.strategy.getItemsConfig()\r\n }\r\n createStrategy() {\r\n return this.isUpdating ? new UpdateUrlStrategy(this.module, this.config, this.formData) : new AddUrlStrategy(this.module, this.config, this.onFileSelected)\r\n }\r\n isDisableButton() {\r\n return false\r\n }\r\n upload() {\r\n return this.strategy.upload()\r\n }\r\n}\r\nclass UrlTab extends BaseTab {\r\n getTabName() {\r\n return localizationMessage.format(DIALOG_IMAGE_SPECIFY_URL)\r\n }\r\n}\r\nclass FileTab extends BaseTab {\r\n getTabName() {\r\n return localizationMessage.format(DIALOG_IMAGE_SELECT_FILE)\r\n }\r\n createStrategy() {\r\n return new FileStrategy(this.module, this.config, this.onFileSelected)\r\n }\r\n isDisableButton() {\r\n return !this.strategy.isValid()\r\n }\r\n}\r\nclass BaseStrategy {\r\n constructor(module, config) {\r\n this.module = module;\r\n this.config = config;\r\n this.editorInstance = module.editorInstance;\r\n this.quill = module.quill;\r\n this.selection = this.getQuillSelection()\r\n }\r\n getQuillSelection() {\r\n var selection = this.quill.getSelection();\r\n return null !== selection && void 0 !== selection ? selection : {\r\n index: this.quill.getLength(),\r\n length: 0\r\n }\r\n }\r\n pasteImage() {}\r\n isValid() {\r\n return true\r\n }\r\n upload() {}\r\n}\r\nclass AddUrlStrategy extends BaseStrategy {\r\n constructor(module, config, onFileSelected) {\r\n super(module, config, onFileSelected);\r\n this.shouldKeepAspectRatio = true\r\n }\r\n pasteImage(formData, event) {\r\n this.module.saveValueChangeEvent(event);\r\n urlUpload(this.quill, this.selection.index, formData)\r\n }\r\n keepAspectRatio(data, _ref2) {\r\n var {\r\n dependentEditor: dependentEditor,\r\n e: e\r\n } = _ref2;\r\n var newValue = parseInt(e.value);\r\n var previousValue = parseInt(e.previousValue);\r\n var previousDependentEditorValue = parseInt(dependentEditor.option(\"value\"));\r\n data.component.updateData(data.dataField, newValue);\r\n if (this.shouldKeepAspectRatio && previousDependentEditorValue && previousValue && !this.preventRecalculating) {\r\n this.preventRecalculating = true;\r\n dependentEditor.option(\"value\", Math.round(newValue * previousDependentEditorValue / parseInt(previousValue)).toString())\r\n }\r\n this.preventRecalculating = false\r\n }\r\n createKeepAspectRatioEditor($container, data, dependentEditorDataField) {\r\n return this.editorInstance._createComponent($container, TextBox, extend(true, data.editorOptions, {\r\n value: data.component.option(\"formData\")[data.dataField],\r\n onEnterKey: data.component.option(\"onEditorEnterKey\").bind(this.editorInstance._formDialog, data),\r\n onValueChanged: e => {\r\n this.keepAspectRatio(data, {\r\n dependentEditor: this[dependentEditorDataField + \"Editor\"],\r\n e: e\r\n })\r\n }\r\n }))\r\n }\r\n upload() {\r\n var result = this.editorInstance._formDialog._form.validate();\r\n return result.isValid\r\n }\r\n getItemsConfig() {\r\n return [{\r\n dataField: \"src\",\r\n colSpan: 11,\r\n label: {\r\n text: localizationMessage.format(DIALOG_IMAGE_FIELD_URL)\r\n },\r\n validationRules: [{\r\n type: \"required\"\r\n }, {\r\n type: \"stringLength\",\r\n min: 1\r\n }]\r\n }, {\r\n dataField: \"width\",\r\n colSpan: 6,\r\n label: {\r\n text: localizationMessage.format(DIALOG_IMAGE_FIELD_WIDTH)\r\n },\r\n template: data => {\r\n var $content = $(\"<div>\").addClass(DIALOG_IMAGE_FIX_RATIO_CONTAINER);\r\n var $widthEditor = $(\"<div>\").appendTo($content);\r\n this.widthEditor = this.createKeepAspectRatioEditor($widthEditor, data, \"height\");\r\n var $ratioEditor = $(\"<div>\").appendTo($content);\r\n this.editorInstance._createComponent($ratioEditor, ButtonGroup, {\r\n items: [{\r\n icon: \"imgarlock\",\r\n value: \"keepRatio\"\r\n }],\r\n hint: localizationMessage.format(DIALOG_IMAGE_KEEP_ASPECT_RATIO),\r\n focusStateEnabled: false,\r\n keyExpr: \"value\",\r\n stylingMode: \"outlined\",\r\n selectionMode: \"multiple\",\r\n selectedItemKeys: [\"keepRatio\"],\r\n onSelectionChanged: e => {\r\n this.shouldKeepAspectRatio = !!e.component.option(\"selectedItems\").length\r\n }\r\n });\r\n return $content\r\n }\r\n }, {\r\n dataField: \"height\",\r\n colSpan: 5,\r\n label: {\r\n text: localizationMessage.format(DIALOG_IMAGE_FIELD_HEIGHT)\r\n },\r\n template: data => {\r\n var $content = $(\"<div>\");\r\n this.heightEditor = this.createKeepAspectRatioEditor($content, data, \"width\");\r\n return $content\r\n }\r\n }, {\r\n dataField: \"alt\",\r\n colSpan: 11,\r\n label: {\r\n text: localizationMessage.format(DIALOG_IMAGE_FIELD_ALT)\r\n }\r\n }]\r\n }\r\n}\r\nclass UpdateUrlStrategy extends AddUrlStrategy {\r\n constructor(module, config, formData, onFileSelected) {\r\n super(module, config, onFileSelected);\r\n this.formData = formData;\r\n this.modifyFormData()\r\n }\r\n modifyFormData() {\r\n var {\r\n imageSrc: imageSrc\r\n } = this.quill.getFormat(this.selection.index - 1, 1);\r\n if (!imageSrc || 0 === this.selection.index) {\r\n this.selection = {\r\n index: this.selection.index + 1,\r\n length: 0\r\n };\r\n this.quill.setSelection(this.selection.index, this.selection.length, SILENT_ACTION)\r\n }\r\n var imgElement = this.quill.getLeaf(this.selection.index)[0].domNode;\r\n if (imgElement) {\r\n var _this$formData$width, _this$formData$height;\r\n this.formData.width = null !== (_this$formData$width = this.formData.width) && void 0 !== _this$formData$width ? _this$formData$width : getWidth($(imgElement));\r\n this.formData.height = null !== (_this$formData$height = this.formData.height) && void 0 !== _this$formData$height ? _this$formData$height : getHeight($(imgElement))\r\n }\r\n }\r\n pasteImage(formData, event) {\r\n this.quill.deleteText(this.embedFormatIndex(), 1, SILENT_ACTION);\r\n this.selection.index -= 1;\r\n super.pasteImage(formData, event)\r\n }\r\n embedFormatIndex() {\r\n var _this$selection;\r\n var selection = null !== (_this$selection = this.selection) && void 0 !== _this$selection ? _this$selection : this.quill.getSelection();\r\n if (selection) {\r\n if (selection.length) {\r\n return selection.index\r\n } else {\r\n return selection.index - 1\r\n }\r\n } else {\r\n return this.quill.getLength()\r\n }\r\n }\r\n}\r\nclass FileStrategy extends BaseStrategy {\r\n constructor(module, config, onFileSelected) {\r\n super(module, config, onFileSelected);\r\n this.useBase64 = !isDefined(this.config.fileUploadMode) || \"base64\" === this.config.fileUploadMode;\r\n this.isValidInternal = false;\r\n this.onFileSelected = onFileSelected;\r\n this.data = null\r\n }\r\n upload() {\r\n if (this.useBase64) {\r\n this.base64Upload(this.data)\r\n } else if (this.data.value.length) {\r\n this.data.component.upload()\r\n }\r\n return true\r\n }\r\n isValid() {\r\n return this.isValidInternal\r\n }\r\n onUploaded(data) {\r\n serverUpload(this.config.uploadDirectory, data.file.name, this.quill, this.selection.index)\r\n }\r\n base64Upload(data) {\r\n this.quill.getModule(\"uploader\").upload(this.selection, data.value, true)\r\n }\r\n pasteImage(formData, event) {\r\n if (this.useBase64) {\r\n super.pasteImage(formData, event)\r\n }\r\n }\r\n isBase64Editable() {\r\n return \"both\" === this.config.fileUploadMode\r\n }\r\n validate(e) {\r\n var fileUploader = e.component;\r\n this.isValidInternal = !fileUploader._files.some(file => !file.isValid());\r\n if (0 === fileUploader._files.length) {\r\n this.isValidInternal = false\r\n }\r\n }\r\n getFileUploaderOptions() {\r\n var fileUploaderOptions = {\r\n uploadUrl: this.config.uploadUrl,\r\n onValueChanged: data => {\r\n this.validate(data);\r\n this.data = data;\r\n this.onFileSelected()\r\n },\r\n onUploaded: e => this.onUploaded(e)\r\n };\r\n return extend({}, getFileUploaderBaseOptions(), fileUploaderOptions, this.config.fileUploaderOptions)\r\n }\r\n getItemsConfig() {\r\n return [{\r\n itemType: \"simple\",\r\n dataField: \"files\",\r\n colSpan: 11,\r\n label: {\r\n visible: false\r\n },\r\n template: () => {\r\n var $content = $(\"<div>\");\r\n this.module.editorInstance._createComponent($content, FileUploader, this.getFileUploaderOptions());\r\n return $content\r\n }\r\n }, {\r\n itemType: \"simple\",\r\n colSpan: 11,\r\n label: {\r\n visible: false\r\n },\r\n editorType: \"dxCheckBox\",\r\n editorOptions: {\r\n value: this.useBase64,\r\n visible: this.isBase64Editable(),\r\n text: localizationMessage.format(DIALOG_IMAGE_ENCODE_TO_BASE64),\r\n onValueChanged: e => {\r\n if (this.isBase64Editable()) {\r\n this.useBase64 = e.value\r\n }\r\n }\r\n }\r\n }]\r\n }\r\n}\r\nexport function correctSlashesInUrl(url) {\r\n return \"/\" !== url[url.length - 1] ? url + \"/\" : url\r\n}\r\nexport function getFileUploaderBaseOptions() {\r\n return {\r\n value: [],\r\n name: FILE_UPLOADER_NAME,\r\n accept: \"image/*\",\r\n uploadMode: \"useButtons\"\r\n }\r\n}\r\nexport function urlUpload(quill, index, attributes) {\r\n quill.insertEmbed(index, \"extendedImage\", attributes, USER_ACTION);\r\n quill.setSelection(index + 1, 0, USER_ACTION)\r\n}\r\nexport function serverUpload(url, fileName, quill, pasteIndex) {\r\n if (url) {\r\n var imageUrl = correctSlashesInUrl(url) + fileName;\r\n urlUpload(quill, pasteIndex, {\r\n src: imageUrl\r\n })\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/utils/toolbar_helper.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport localizationMessage from \"../../../localization/message\";\r\nimport {\r\n getTableOperationHandler,\r\n hasEmbedContent,\r\n unfixTableWidth,\r\n getColumnElements,\r\n getAutoSizedElements,\r\n setLineElementsFormat,\r\n getLineElements,\r\n getRowElements\r\n} from \"./table_helper\";\r\nimport {\r\n isDefined,\r\n isBoolean\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport Form from \"../../form\";\r\nimport ButtonGroup from \"../../button_group\";\r\nimport ColorBox from \"../../color_box\";\r\nimport ScrollView from \"../../scroll_view\";\r\nimport {\r\n getOuterHeight,\r\n getWidth,\r\n getOuterWidth\r\n} from \"../../../core/utils/size\";\r\nimport {\r\n ImageUploader\r\n} from \"./image_uploader_helper\";\r\nimport {\r\n camelize\r\n} from \"../../../core/utils/inflector\";\r\nimport {\r\n getWindow\r\n} from \"../../../core/utils/window\";\r\nimport {\r\n getQuill\r\n} from \"../quill_importer\";\r\nvar MIN_HEIGHT = 400;\r\nvar BORDER_STYLES = [\"none\", \"hidden\", \"dotted\", \"dashed\", \"solid\", \"double\", \"groove\", \"ridge\", \"inset\", \"outset\"];\r\nvar BORDER_STYLES_TRANSLATED = BORDER_STYLES.map(style => ({\r\n id: style,\r\n value: localizationMessage.format(\"dxHtmlEditor-borderStyle\".concat(camelize(style, true)))\r\n}));\r\nvar USER_ACTION = \"user\";\r\nvar SILENT_ACTION = \"silent\";\r\nvar DIALOG_COLOR_CAPTION = \"dxHtmlEditor-dialogColorCaption\";\r\nvar DIALOG_BACKGROUND_CAPTION = \"dxHtmlEditor-dialogBackgroundCaption\";\r\nvar DIALOG_LINK_CAPTION = \"dxHtmlEditor-dialogLinkCaption\";\r\nvar DIALOG_TABLE_CAPTION = \"dxHtmlEditor-dialogInsertTableCaption\";\r\nvar DIALOG_LINK_FIELD_URL = \"dxHtmlEditor-dialogLinkUrlField\";\r\nvar DIALOG_LINK_FIELD_TEXT = \"dxHtmlEditor-dialogLinkTextField\";\r\nvar DIALOG_LINK_FIELD_TARGET = \"dxHtmlEditor-dialogLinkTargetField\";\r\nvar DIALOG_LINK_FIELD_TARGET_CLASS = \"dx-formdialog-field-target\";\r\nvar DIALOG_TABLE_FIELD_COLUMNS = \"dxHtmlEditor-dialogInsertTableRowsField\";\r\nvar DIALOG_TABLE_FIELD_ROWS = \"dxHtmlEditor-dialogInsertTableColumnsField\";\r\nvar ICON_MAP = {\r\n insertHeaderRow: \"header\",\r\n clear: \"clearformat\"\r\n};\r\n\r\nfunction getFormatHandlers(module) {\r\n return {\r\n clear: _ref => {\r\n var {\r\n event: event\r\n } = _ref;\r\n var range = module.quill.getSelection();\r\n if (range) {\r\n var _getToolbarModule;\r\n module.saveValueChangeEvent(event);\r\n module.quill.removeFormat(range);\r\n null === (_getToolbarModule = getToolbarModule(module)) || void 0 === _getToolbarModule ? void 0 : _getToolbarModule.updateFormatWidgets()\r\n }\r\n },\r\n link: prepareLinkHandler(module),\r\n image: prepareImageHandler(module, module.editorInstance.option(\"imageUpload\")),\r\n color: prepareColorClickHandler(module, \"color\"),\r\n background: prepareColorClickHandler(module, \"background\"),\r\n orderedList: prepareShortcutHandler(module, \"list\", \"ordered\"),\r\n bulletList: prepareShortcutHandler(module, \"list\", \"bullet\"),\r\n alignLeft: prepareShortcutHandler(module, \"align\", \"left\"),\r\n alignCenter: prepareShortcutHandler(module, \"align\", \"center\"),\r\n alignRight: prepareShortcutHandler(module, \"align\", \"right\"),\r\n alignJustify: prepareShortcutHandler(module, \"align\", \"justify\"),\r\n codeBlock: getDefaultClickHandler(module, \"code-block\"),\r\n undo: _ref2 => {\r\n var {\r\n event: event\r\n } = _ref2;\r\n module.saveValueChangeEvent(event);\r\n module.quill.history.undo()\r\n },\r\n redo: _ref3 => {\r\n var {\r\n event: event\r\n } = _ref3;\r\n module.saveValueChangeEvent(event);\r\n module.quill.history.redo()\r\n },\r\n increaseIndent: _ref4 => {\r\n var {\r\n event: event\r\n } = _ref4;\r\n applyFormat(module, [\"indent\", \"+1\", USER_ACTION], event)\r\n },\r\n decreaseIndent: _ref5 => {\r\n var {\r\n event: event\r\n } = _ref5;\r\n applyFormat(module, [\"indent\", \"-1\", USER_ACTION], event)\r\n },\r\n superscript: prepareShortcutHandler(module, \"script\", \"super\"),\r\n subscript: prepareShortcutHandler(module, \"script\", \"sub\"),\r\n insertTable: prepareInsertTableHandler(module),\r\n insertHeaderRow: getTableOperationHandler(module.quill, \"insertHeaderRow\"),\r\n insertRowAbove: getTableOperationHandler(module.quill, \"insertRowAbove\"),\r\n insertRowBelow: getTableOperationHandler(module.quill, \"insertRowBelow\"),\r\n insertColumnLeft: getTableOperationHandler(module.quill, \"insertColumnLeft\"),\r\n insertColumnRight: getTableOperationHandler(module.quill, \"insertColumnRight\"),\r\n deleteColumn: getTableOperationHandler(module.quill, \"deleteColumn\"),\r\n deleteRow: getTableOperationHandler(module.quill, \"deleteRow\"),\r\n deleteTable: getTableOperationHandler(module.quill, \"deleteTable\"),\r\n cellProperties: prepareShowFormProperties(module, \"cell\"),\r\n tableProperties: prepareShowFormProperties(module, \"table\")\r\n }\r\n}\r\n\r\nfunction resetFormDialogOptions(editorInstance, _ref6) {\r\n var {\r\n contentTemplate: contentTemplate,\r\n title: title,\r\n minHeight: minHeight,\r\n minWidth: minWidth,\r\n maxWidth: maxWidth\r\n } = _ref6;\r\n editorInstance.formDialogOption({\r\n contentTemplate: contentTemplate,\r\n title: title,\r\n minHeight: null !== minHeight && void 0 !== minHeight ? minHeight : 0,\r\n minWidth: null !== minWidth && void 0 !== minWidth ? minWidth : 0,\r\n maxWidth: null !== maxWidth && void 0 !== maxWidth ? maxWidth : \"none\"\r\n })\r\n}\r\n\r\nfunction prepareShowFormProperties(module, type) {\r\n return $element => {\r\n var _$element, _module$quill$getModu;\r\n if (!(null !== (_$element = $element) && void 0 !== _$element && _$element.length)) {\r\n $element = $(getTargetTableNode(module, type))\r\n }\r\n var [tableBlot, rowBlot] = null !== (_module$quill$getModu = module.quill.getModule(\"table\").getTable()) && void 0 !== _module$quill$getModu ? _module$quill$getModu : [];\r\n var formats = module.quill.getFormat(module.editorInstance.getSelection(true));\r\n var tablePropertiesFormConfig = getFormConfigConstructor(type)(module, {\r\n $element: $element,\r\n formats: formats,\r\n tableBlot: tableBlot,\r\n rowBlot: rowBlot\r\n });\r\n var {\r\n contentTemplate: contentTemplate,\r\n title: title,\r\n minHeight: minHeight,\r\n minWidth: minWidth,\r\n maxWidth: maxWidth\r\n } = module.editorInstance._formDialog._popup.option();\r\n var savedOptions = {\r\n contentTemplate: contentTemplate,\r\n title: title,\r\n minHeight: minHeight,\r\n minWidth: minWidth,\r\n maxWidth: maxWidth\r\n };\r\n var formInstance;\r\n module.editorInstance.formDialogOption({\r\n contentTemplate: container => {\r\n var $content = $(\"<div>\").appendTo(container);\r\n var $form = $(\"<div>\").appendTo($content);\r\n module.editorInstance._createComponent($form, Form, tablePropertiesFormConfig.formOptions);\r\n module.editorInstance._createComponent($content, ScrollView, {});\r\n formInstance = $form.dxForm(\"instance\");\r\n return $content\r\n },\r\n title: localizationMessage.format(\"dxHtmlEditor-\".concat(type, \"Properties\")),\r\n minHeight: MIN_HEIGHT,\r\n minWidth: Math.min(800, .9 * getWidth(getWindow()) - 1),\r\n maxWidth: .9 * getWidth(getWindow())\r\n });\r\n var promise = module.editorInstance.showFormDialog();\r\n promise.done((formData, event) => {\r\n module.saveValueChangeEvent(event);\r\n tablePropertiesFormConfig.applyHandler(formInstance);\r\n resetFormDialogOptions(module.editorInstance, savedOptions)\r\n });\r\n promise.fail(() => {\r\n module.quill.focus();\r\n resetFormDialogOptions(module.editorInstance, savedOptions)\r\n })\r\n }\r\n}\r\n\r\nfunction applyFormat(module, formatArgs, event) {\r\n module.saveValueChangeEvent(event);\r\n module.quill.format(...formatArgs)\r\n}\r\n\r\nfunction getTargetTableNode(module, partName) {\r\n var currentSelectionParts = module.quill.getModule(\"table\").getTable();\r\n return \"table\" === partName ? currentSelectionParts[0].domNode : currentSelectionParts[2].domNode\r\n}\r\n\r\nfunction getLinkRange(module, range) {\r\n var Quill = getQuill();\r\n var LinkBlot = Quill.import(\"formats/link\");\r\n var link;\r\n var linkOffset;\r\n [link, linkOffset] = module.quill.scroll.descendant(LinkBlot, range.index);\r\n if (!link && 0 === range.length) {\r\n [link, linkOffset] = module.quill.scroll.descendant(LinkBlot, range.index - 1);\r\n if (link) {\r\n linkOffset += 1\r\n }\r\n }\r\n var result = !link ? null : {\r\n index: range.index - linkOffset,\r\n length: link.length()\r\n };\r\n return result\r\n}\r\n\r\nfunction getColorFromFormat(value) {\r\n return Array.isArray(value) ? value[0] : value\r\n}\r\n\r\nfunction prepareLinkHandler(module) {\r\n return () => {\r\n var _selection;\r\n module.quill.focus();\r\n var selection = module.quill.getSelection();\r\n var formats = selection ? module.quill.getFormat() : {};\r\n var isCursorAtLink = void 0 !== formats.link && 0 === (null === (_selection = selection) || void 0 === _selection ? void 0 : _selection.length);\r\n var href = formats.link || \"\";\r\n if (isCursorAtLink) {\r\n var linkRange = getLinkRange(module, selection);\r\n if (linkRange) {\r\n selection = linkRange\r\n } else {\r\n href = \"\"\r\n }\r\n }\r\n var selectionHasEmbedContent = hasEmbedContent(module, selection);\r\n var formData = {\r\n href: href,\r\n text: selection && !selectionHasEmbedContent ? module.quill.getText(selection) : \"\",\r\n target: Object.prototype.hasOwnProperty.call(formats, \"target\") ? !!formats.target : true\r\n };\r\n module.editorInstance.formDialogOption(\"title\", localizationMessage.format(DIALOG_LINK_CAPTION));\r\n var promise = module.editorInstance.showFormDialog({\r\n formData: formData,\r\n items: getLinkFormItems(selectionHasEmbedContent)\r\n });\r\n promise.done((formData, event) => {\r\n if (selection && !selectionHasEmbedContent) {\r\n var text = formData.text || formData.href;\r\n var {\r\n index: index,\r\n length: length\r\n } = selection;\r\n formData.text = void 0;\r\n module.saveValueChangeEvent(event);\r\n length && module.quill.deleteText(index, length, SILENT_ACTION);\r\n module.quill.insertText(index, text, \"link\", formData, USER_ACTION);\r\n module.quill.setSelection(index + text.length, 0, USER_ACTION)\r\n } else {\r\n formData.text = !selection && !formData.text ? formData.href : formData.text;\r\n applyFormat(module, [\"link\", formData, USER_ACTION], event)\r\n }\r\n });\r\n promise.fail(() => {\r\n module.quill.focus()\r\n })\r\n }\r\n}\r\n\r\nfunction prepareImageHandler(module, imageUploadOption) {\r\n var imageUploader = new ImageUploader(module, imageUploadOption);\r\n return () => {\r\n imageUploader.render()\r\n }\r\n}\r\n\r\nfunction getLinkFormItems(selectionHasEmbedContent) {\r\n return [{\r\n dataField: \"href\",\r\n label: {\r\n text: localizationMessage.format(DIALOG_LINK_FIELD_URL)\r\n }\r\n }, {\r\n dataField: \"text\",\r\n label: {\r\n text: localizationMessage.format(DIALOG_LINK_FIELD_TEXT)\r\n },\r\n visible: !selectionHasEmbedContent\r\n }, {\r\n dataField: \"target\",\r\n editorType: \"dxCheckBox\",\r\n editorOptions: {\r\n text: localizationMessage.format(DIALOG_LINK_FIELD_TARGET)\r\n },\r\n cssClass: DIALOG_LINK_FIELD_TARGET_CLASS,\r\n label: {\r\n visible: false\r\n }\r\n }]\r\n}\r\n\r\nfunction prepareColorClickHandler(module, name) {\r\n return () => {\r\n var formData = module.quill.getFormat();\r\n var caption = \"color\" === name ? DIALOG_COLOR_CAPTION : DIALOG_BACKGROUND_CAPTION;\r\n module.editorInstance.formDialogOption(\"title\", localizationMessage.format(caption));\r\n var promise = module.editorInstance.showFormDialog({\r\n formData: formData,\r\n items: [{\r\n dataField: name,\r\n editorType: \"dxColorView\",\r\n editorOptions: {\r\n focusStateEnabled: false\r\n },\r\n label: {\r\n visible: false\r\n }\r\n }]\r\n });\r\n promise.done((formData, event) => {\r\n applyFormat(module, [name, formData[name], USER_ACTION], event)\r\n });\r\n promise.fail(() => {\r\n module.quill.focus()\r\n })\r\n }\r\n}\r\n\r\nfunction prepareShortcutHandler(module, name, shortcutValue) {\r\n return _ref7 => {\r\n var _getToolbarModule2;\r\n var {\r\n event: event\r\n } = _ref7;\r\n var formats = module.quill.getFormat();\r\n var value = formats[name] === shortcutValue ? false : shortcutValue;\r\n applyFormat(module, [name, value, USER_ACTION], event);\r\n null === (_getToolbarModule2 = getToolbarModule(module)) || void 0 === _getToolbarModule2 ? void 0 : _getToolbarModule2.updateFormatWidgets(true)\r\n }\r\n}\r\n\r\nfunction getToolbarModule(module) {\r\n return module._updateFormatWidget ? module : module.quill.getModule(\"toolbar\")\r\n}\r\n\r\nfunction getDefaultClickHandler(module, name) {\r\n return _ref8 => {\r\n var _getToolbarModule3;\r\n var {\r\n event: event\r\n } = _ref8;\r\n var formats = module.quill.getFormat();\r\n var value = formats[name];\r\n var newValue = !(isBoolean(value) ? value : isDefined(value));\r\n applyFormat(module, [name, newValue, USER_ACTION], event);\r\n null === (_getToolbarModule3 = getToolbarModule(module)) || void 0 === _getToolbarModule3 ? void 0 : _getToolbarModule3._updateFormatWidget(name, newValue, formats)\r\n }\r\n}\r\n\r\nfunction insertTableFormItems() {\r\n return [{\r\n dataField: \"columns\",\r\n editorType: \"dxNumberBox\",\r\n editorOptions: {\r\n min: 1\r\n },\r\n label: {\r\n text: localizationMessage.format(DIALOG_TABLE_FIELD_COLUMNS)\r\n }\r\n }, {\r\n dataField: \"rows\",\r\n editorType: \"dxNumberBox\",\r\n editorOptions: {\r\n min: 1\r\n },\r\n label: {\r\n text: localizationMessage.format(DIALOG_TABLE_FIELD_ROWS)\r\n }\r\n }]\r\n}\r\n\r\nfunction prepareInsertTableHandler(module) {\r\n return () => {\r\n var formats = module.quill.getFormat();\r\n var isTableFocused = module._tableFormats.some(format => Object.prototype.hasOwnProperty.call(formats, format));\r\n if (isTableFocused) {\r\n module.quill.focus();\r\n return\r\n }\r\n module.editorInstance.formDialogOption(\"title\", localizationMessage.format(DIALOG_TABLE_CAPTION));\r\n var promise = module.editorInstance.showFormDialog({\r\n formData: {\r\n rows: 1,\r\n columns: 1\r\n },\r\n items: insertTableFormItems()\r\n });\r\n promise.done((formData, event) => {\r\n module.quill.focus();\r\n var table = module.quill.getModule(\"table\");\r\n if (table) {\r\n module.saveValueChangeEvent(event);\r\n var {\r\n columns: columns,\r\n rows: rows\r\n } = formData;\r\n table.insertTable(columns, rows)\r\n }\r\n }).always(() => {\r\n module.quill.focus()\r\n })\r\n }\r\n}\r\n\r\nfunction getTablePropertiesFormConfig(module, _ref9) {\r\n var {\r\n $element: $element,\r\n formats: formats,\r\n tableBlot: tableBlot\r\n } = _ref9;\r\n var window = getWindow();\r\n var alignmentEditorInstance;\r\n var borderColorEditorInstance;\r\n var backgroundColorEditorInstance;\r\n var $table = $element;\r\n var editorInstance = module.editorInstance;\r\n var startTableWidth = parseInt(formats.tableWidth) || getOuterWidth($table);\r\n var tableStyles = window.getComputedStyle($table.get(0));\r\n var startTextAlign = \"start\" === tableStyles.textAlign ? \"left\" : tableStyles.textAlign;\r\n var formOptions = {\r\n colCount: 2,\r\n formData: {\r\n width: startTableWidth,\r\n height: isDefined(formats.tableHeight) ? parseInt(formats.tableHeight) : getOuterHeight($table),\r\n backgroundColor: formats.tableBackgroundColor || tableStyles.backgroundColor,\r\n borderStyle: formats.tableBorderStyle || tableStyles.borderTopStyle,\r\n borderColor: formats.tableBorderColor || tableStyles.borderTopColor,\r\n borderWidth: parseInt(isDefined(formats.tableBorderWidth) ? formats.tableBorderWidth : tableStyles.borderTopWidth),\r\n alignment: formats.tableAlign || startTextAlign\r\n },\r\n items: [{\r\n itemType: \"group\",\r\n caption: localizationMessage.format(\"dxHtmlEditor-border\"),\r\n colCountByScreen: {\r\n xs: 2\r\n },\r\n colCount: 2,\r\n items: [{\r\n dataField: \"borderStyle\",\r\n label: {\r\n text: localizationMessage.format(\"dxHtmlEditor-style\")\r\n },\r\n editorType: \"dxSelectBox\",\r\n editorOptions: {\r\n items: BORDER_STYLES_TRANSLATED,\r\n valueExpr: \"id\",\r\n displayExpr: \"value\",\r\n placeholder: \"Select style\"\r\n }\r\n }, {\r\n dataField: \"borderWidth\",\r\n label: {\r\n text: localizationMessage.format(\"dxHtmlEditor-borderWidth\")\r\n },\r\n editorOptions: {\r\n placeholder: localizationMessage.format(\"dxHtmlEditor-pixels\")\r\n }\r\n }, {\r\n itemType: \"simple\",\r\n dataField: \"borderColor\",\r\n label: {\r\n text: localizationMessage.format(\"dxHtmlEditor-borderColor\")\r\n },\r\n colSpan: 2,\r\n template: e => {\r\n var $content = $(\"<div>\");\r\n editorInstance._createComponent($content, ColorBox, {\r\n editAlphaChannel: true,\r\n value: e.component.option(\"formData\").borderColor,\r\n onInitialized: e => {\r\n borderColorEditorInstance = e.component\r\n }\r\n });\r\n return $content\r\n }\r\n }]\r\n }, {\r\n itemType: \"group\",\r\n caption: localizationMessage.format(\"dxHtmlEditor-dimensions\"),\r\n colCountByScreen: {\r\n xs: 2\r\n },\r\n colCount: 2,\r\n items: [{\r\n dataField: \"width\",\r\n label: {\r\n text: localizationMessage.format(\"dxHtmlEditor-width\")\r\n },\r\n editorOptions: {\r\n min: 0,\r\n placeholder: localizationMessage.format(\"dxHtmlEditor-pixels\")\r\n }\r\n }, {\r\n dataField: \"height\",\r\n label: {\r\n text: localizationMessage.format(\"dxHtmlEditor-height\")\r\n },\r\n editorOptions: {\r\n min: 0,\r\n placeholder: localizationMessage.format(\"dxHtmlEditor-pixels\")\r\n }\r\n }]\r\n }, {\r\n itemType: \"group\",\r\n caption: localizationMessage.format(\"dxHtmlEditor-tableBackground\"),\r\n items: [{\r\n itemType: \"simple\",\r\n dataField: \"backgroundColor\",\r\n label: {\r\n text: localizationMessage.format(\"dxHtmlEditor-borderColor\")\r\n },\r\n template: e => {\r\n var $content = $(\"<div>\");\r\n editorInstance._createComponent($content, ColorBox, {\r\n editAlphaChannel: true,\r\n value: e.component.option(\"formData\").backgroundColor,\r\n onInitialized: e => {\r\n backgroundColorEditorInstance = e.component\r\n }\r\n });\r\n return $content\r\n }\r\n }]\r\n }, {\r\n itemType: \"group\",\r\n caption: localizationMessage.format(\"dxHtmlEditor-alignment\"),\r\n items: [{\r\n itemType: \"simple\",\r\n label: {\r\n text: localizationMessage.format(\"dxHtmlEditor-horizontal\")\r\n },\r\n template: () => {\r\n var $content = $(\"<div>\");\r\n editorInstance._createComponent($content, ButtonGroup, {\r\n items: [{\r\n value: \"left\",\r\n icon: \"alignleft\"\r\n }, {\r\n value: \"center\",\r\n icon: \"aligncenter\"\r\n }, {\r\n value: \"right\",\r\n icon: \"alignright\"\r\n }, {\r\n value: \"justify\",\r\n icon: \"alignjustify\"\r\n }],\r\n keyExpr: \"value\",\r\n selectedItemKeys: [startTextAlign],\r\n onInitialized: e => {\r\n alignmentEditorInstance = e.component\r\n }\r\n });\r\n return $content\r\n }\r\n }]\r\n }],\r\n showColonAfterLabel: true,\r\n labelLocation: \"top\",\r\n minColWidth: 400\r\n };\r\n return {\r\n formOptions: formOptions,\r\n applyHandler: formInstance => {\r\n var formData = formInstance.option(\"formData\");\r\n var newWidth = formData.width === startTableWidth ? void 0 : formData.width;\r\n var newHeight = formData.height;\r\n applyTableDimensionChanges(module, {\r\n $table: $table,\r\n newHeight: newHeight,\r\n newWidth: newWidth,\r\n tableBlot: tableBlot\r\n });\r\n module.editorInstance.format(\"tableBorderStyle\", formData.borderStyle);\r\n module.editorInstance.format(\"tableBorderWidth\", formData.borderWidth + \"px\");\r\n module.editorInstance.format(\"tableBorderColor\", borderColorEditorInstance.option(\"value\"));\r\n module.editorInstance.format(\"tableBackgroundColor\", backgroundColorEditorInstance.option(\"value\"));\r\n module.editorInstance.format(\"tableTextAlign\", alignmentEditorInstance.option(\"selectedItemKeys\")[0])\r\n }\r\n }\r\n}\r\n\r\nfunction getCellPropertiesFormConfig(module, _ref10) {\r\n var {\r\n $element: $element,\r\n formats: formats,\r\n tableBlot: tableBlot,\r\n rowBlot: rowBlot\r\n } = _ref10;\r\n var window = getWindow();\r\n var alignmentEditorInstance;\r\n var verticalAlignmentEditorInstance;\r\n var borderColorEditorInstance;\r\n var backgroundColorEditorInstance;\r\n var $cell = $element;\r\n var startCellWidth = isDefined(formats.cellWidth) ? parseInt(formats.cellWidth) : getOuterWidth($cell);\r\n var editorInstance = module.editorInstance;\r\n var cellStyles = window.getComputedStyle($cell.get(0));\r\n var startTextAlign = \"start\" === cellStyles.textAlign ? \"left\" : cellStyles.textAlign;\r\n var formOptions = {\r\n colCount: 2,\r\n formData: {\r\n width: startCellWidth,\r\n height: isDefined(formats.cellHeight) ? parseInt(formats.cellHeight) : getOuterHeight($cell),\r\n backgroundColor: getColorFromFormat(formats.cellBackgroundColor) || cellStyles.backgroundColor,\r\n borderStyle: formats.cellBorderStyle || cellStyles.borderTopStyle,\r\n borderColor: getColorFromFormat(formats.cellBorderColor) || cellStyles.borderTopColor,\r\n borderWidth: parseInt(isDefined(formats.cellBorderWidth) ? formats.cellBorderWidth : cellStyles.borderTopWidth),\r\n alignment: formats.cellTextAlign || startTextAlign,\r\n verticalAlignment: formats.cellVerticalAlign || cellStyles.verticalAlign,\r\n verticalPadding: parseInt(isDefined(formats.cellPaddingTop) ? formats.cellPaddingTop : cellStyles.paddingTop),\r\n horizontalPadding: parseInt(isDefined(formats.cellPaddingLeft) ? formats.cellPaddingLeft : cellStyles.paddingLeft)\r\n },\r\n items: [{\r\n itemType: \"group\",\r\n caption: localizationMessage.format(\"dxHtmlEditor-border\"),\r\n colCountByScreen: {\r\n xs: 2\r\n },\r\n colCount: 2,\r\n items: [{\r\n dataField: \"borderStyle\",\r\n label: {\r\n text: localizationMessage.format(\"dxHtmlEditor-style\")\r\n },\r\n editorType: \"dxSelectBox\",\r\n editorOptions: {\r\n items: BORDER_STYLES_TRANSLATED,\r\n valueExpr: \"id\",\r\n displayExpr: \"value\"\r\n }\r\n }, {\r\n dataField: \"borderWidth\",\r\n label: {\r\n text: localizationMessage.format(\"dxHtmlEditor-borderWidth\")\r\n },\r\n editorOptions: {\r\n placeholder: localizationMessage.format(\"dxHtmlEditor-pixels\")\r\n }\r\n }, {\r\n itemType: \"simple\",\r\n dataField: \"borderColor\",\r\n colSpan: 2,\r\n label: {\r\n text: localizationMessage.format(\"dxHtmlEditor-borderColor\")\r\n },\r\n template: e => {\r\n var $content = $(\"<div>\");\r\n editorInstance._createComponent($content, ColorBox, {\r\n editAlphaChannel: true,\r\n value: e.component.option(\"formData\").borderColor,\r\n onInitialized: e => {\r\n borderColorEditorInstance = e.component\r\n }\r\n });\r\n return $content\r\n }\r\n }]\r\n }, {\r\n itemType: \"group\",\r\n caption: localizationMessage.format(\"dxHtmlEditor-dimensions\"),\r\n colCount: 2,\r\n colCountByScreen: {\r\n xs: 2\r\n },\r\n items: [{\r\n dataField: \"width\",\r\n label: {\r\n text: localizationMessage.format(\"dxHtmlEditor-width\")\r\n },\r\n editorOptions: {\r\n min: 0,\r\n placeholder: localizationMessage.format(\"dxHtmlEditor-pixels\")\r\n }\r\n }, {\r\n dataField: \"height\",\r\n label: {\r\n text: localizationMessage.format(\"dxHtmlEditor-height\")\r\n },\r\n editorOptions: {\r\n min: 0,\r\n placeholder: localizationMessage.format(\"dxHtmlEditor-pixels\")\r\n }\r\n }, {\r\n dataField: \"verticalPadding\",\r\n label: {\r\n text: localizationMessage.format(\"dxHtmlEditor-paddingVertical\")\r\n },\r\n editorOptions: {\r\n placeholder: localizationMessage.format(\"dxHtmlEditor-pixels\")\r\n }\r\n }, {\r\n label: {\r\n text: localizationMessage.format(\"dxHtmlEditor-paddingHorizontal\")\r\n },\r\n dataField: \"horizontalPadding\",\r\n editorOptions: {\r\n placeholder: localizationMessage.format(\"dxHtmlEditor-pixels\")\r\n }\r\n }]\r\n }, {\r\n itemType: \"group\",\r\n caption: localizationMessage.format(\"dxHtmlEditor-tableBackground\"),\r\n items: [{\r\n itemType: \"simple\",\r\n dataField: \"backgroundColor\",\r\n label: {\r\n text: localizationMessage.format(\"dxHtmlEditor-borderColor\")\r\n },\r\n template: e => {\r\n var $content = $(\"<div>\");\r\n editorInstance._createComponent($content, ColorBox, {\r\n editAlphaChannel: true,\r\n value: e.component.option(\"formData\").backgroundColor,\r\n onInitialized: e => {\r\n backgroundColorEditorInstance = e.component\r\n }\r\n });\r\n return $content\r\n }\r\n }]\r\n }, {\r\n itemType: \"group\",\r\n caption: localizationMessage.format(\"dxHtmlEditor-alignment\"),\r\n colCount: 2,\r\n items: [{\r\n itemType: \"simple\",\r\n label: {\r\n text: localizationMessage.format(\"dxHtmlEditor-horizontal\")\r\n },\r\n template: () => {\r\n var $content = $(\"<div>\");\r\n editorInstance._createComponent($content, ButtonGroup, {\r\n items: [{\r\n value: \"left\",\r\n icon: \"alignleft\"\r\n }, {\r\n value: \"center\",\r\n icon: \"aligncenter\"\r\n }, {\r\n value: \"right\",\r\n icon: \"alignright\"\r\n }, {\r\n value: \"justify\",\r\n icon: \"alignjustify\"\r\n }],\r\n keyExpr: \"value\",\r\n selectedItemKeys: [startTextAlign],\r\n onInitialized: e => {\r\n alignmentEditorInstance = e.component\r\n }\r\n });\r\n return $content\r\n }\r\n }, {\r\n itemType: \"simple\",\r\n label: {\r\n text: localizationMessage.format(\"dxHtmlEditor-vertical\")\r\n },\r\n template: () => {\r\n var $content = $(\"<div>\");\r\n editorInstance._createComponent($content, ButtonGroup, {\r\n items: [{\r\n value: \"top\",\r\n icon: \"verticalaligntop\"\r\n }, {\r\n value: \"middle\",\r\n icon: \"verticalaligncenter\"\r\n }, {\r\n value: \"bottom\",\r\n icon: \"verticalalignbottom\"\r\n }],\r\n keyExpr: \"value\",\r\n selectedItemKeys: [cellStyles.verticalAlign],\r\n onInitialized: e => {\r\n verticalAlignmentEditorInstance = e.component\r\n }\r\n });\r\n return $content\r\n }\r\n }]\r\n }],\r\n showColonAfterLabel: true,\r\n labelLocation: \"top\",\r\n minColWidth: 400\r\n };\r\n return {\r\n formOptions: formOptions,\r\n applyHandler: formInstance => {\r\n var formData = formInstance.option(\"formData\");\r\n var newWidth = formData.width === parseInt(startCellWidth) ? void 0 : formData.width;\r\n var newHeight = formData.height;\r\n applyCellDimensionChanges(module, {\r\n $cell: $cell,\r\n newHeight: newHeight,\r\n newWidth: newWidth,\r\n tableBlot: tableBlot,\r\n rowBlot: rowBlot\r\n });\r\n module.editorInstance.format(\"cellBorderWidth\", formData.borderWidth + \"px\");\r\n module.editorInstance.format(\"cellBorderColor\", borderColorEditorInstance.option(\"value\"));\r\n module.editorInstance.format(\"cellBorderStyle\", formData.borderStyle);\r\n module.editorInstance.format(\"cellBackgroundColor\", backgroundColorEditorInstance.option(\"value\"));\r\n module.editorInstance.format(\"cellTextAlign\", alignmentEditorInstance.option(\"selectedItemKeys\")[0]);\r\n module.editorInstance.format(\"cellVerticalAlign\", verticalAlignmentEditorInstance.option(\"selectedItemKeys\")[0]);\r\n module.editorInstance.format(\"cellPaddingLeft\", formData.horizontalPadding + \"px\");\r\n module.editorInstance.format(\"cellPaddingRight\", formData.horizontalPadding + \"px\");\r\n module.editorInstance.format(\"cellPaddingTop\", formData.verticalPadding + \"px\");\r\n module.editorInstance.format(\"cellPaddingBottom\", formData.verticalPadding + \"px\")\r\n }\r\n }\r\n}\r\n\r\nfunction getFormConfigConstructor(type) {\r\n return \"cell\" === type ? getCellPropertiesFormConfig : getTablePropertiesFormConfig\r\n}\r\n\r\nfunction applyTableDimensionChanges(module, _ref11) {\r\n var {\r\n $table: $table,\r\n newHeight: newHeight,\r\n newWidth: newWidth,\r\n tableBlot: tableBlot\r\n } = _ref11;\r\n if (isDefined(newWidth)) {\r\n var autoWidthColumns = getAutoSizedElements($table);\r\n if (autoWidthColumns.length > 0) {\r\n module.editorInstance.format(\"tableWidth\", newWidth + \"px\")\r\n } else {\r\n var $columns = getColumnElements($table);\r\n var oldTableWidth = getOuterWidth($table);\r\n unfixTableWidth($table, {\r\n tableBlot: tableBlot\r\n });\r\n each($columns, (i, element) => {\r\n var $element = $(element);\r\n var newElementWidth = newWidth / oldTableWidth * getOuterWidth($element);\r\n var $lineElements = getLineElements($table, $element.index(), \"horizontal\");\r\n setLineElementsFormat(module, {\r\n elements: $lineElements,\r\n property: \"width\",\r\n value: newElementWidth\r\n })\r\n })\r\n }\r\n }\r\n var autoHeightRows = getAutoSizedElements($table, \"vertical\");\r\n if ((null === autoHeightRows || void 0 === autoHeightRows ? void 0 : autoHeightRows.length) > 0) {\r\n tableBlot.format(\"tableHeight\", newHeight + \"px\")\r\n } else {\r\n var $rows = getRowElements($table);\r\n var oldTableHeight = getOuterHeight($table);\r\n each($rows, (i, element) => {\r\n var $element = $(element);\r\n var newElementHeight = newHeight / oldTableHeight * getOuterHeight($element);\r\n var $lineElements = getLineElements($table, i, \"vertical\");\r\n setLineElementsFormat(module, {\r\n elements: $lineElements,\r\n property: \"height\",\r\n value: newElementHeight\r\n })\r\n })\r\n }\r\n}\r\n\r\nfunction applyCellDimensionChanges(module, _ref12) {\r\n var {\r\n $cell: $cell,\r\n newHeight: newHeight,\r\n newWidth: newWidth,\r\n tableBlot: tableBlot,\r\n rowBlot: rowBlot\r\n } = _ref12;\r\n var $table = $($cell.closest(\"table\"));\r\n if (isDefined(newWidth)) {\r\n var index = $($cell).index();\r\n var $verticalCells = getLineElements($table, index);\r\n var widthDiff = newWidth - getOuterWidth($cell);\r\n var tableWidth = getOuterWidth($table);\r\n if (newWidth > tableWidth) {\r\n unfixTableWidth($table, {\r\n tableBlot: tableBlot\r\n })\r\n }\r\n setLineElementsFormat(module, {\r\n elements: $verticalCells,\r\n property: \"width\",\r\n value: newWidth\r\n });\r\n var $nextColumnCell = $cell.next();\r\n var shouldUpdateNearestColumnWidth = 0 === getAutoSizedElements($table).length;\r\n if (shouldUpdateNearestColumnWidth) {\r\n unfixTableWidth($table, {\r\n tableBlot: tableBlot\r\n });\r\n if (1 === $nextColumnCell.length) {\r\n $verticalCells = getLineElements($table, index + 1);\r\n var nextColumnWidth = getOuterWidth($verticalCells.eq(0)) - widthDiff;\r\n setLineElementsFormat(module, {\r\n elements: $verticalCells,\r\n property: \"width\",\r\n value: Math.max(nextColumnWidth, 0)\r\n })\r\n } else {\r\n var $prevColumnCell = $cell.prev();\r\n if (1 === $prevColumnCell.length) {\r\n $verticalCells = getLineElements($table, index - 1);\r\n var prevColumnWidth = getOuterWidth($verticalCells.eq(0)) - widthDiff;\r\n setLineElementsFormat(module, {\r\n elements: $verticalCells,\r\n property: \"width\",\r\n value: Math.max(prevColumnWidth, 0)\r\n })\r\n }\r\n }\r\n }\r\n }\r\n rowBlot.children.forEach(rowCell => {\r\n rowCell.format(\"cellHeight\", newHeight + \"px\")\r\n });\r\n var autoHeightRows = getAutoSizedElements($table, \"vertical\");\r\n if (0 === autoHeightRows.length) {\r\n $table.css(\"height\", \"auto\")\r\n }\r\n}\r\nexport {\r\n getFormatHandlers,\r\n getDefaultClickHandler,\r\n ICON_MAP,\r\n applyFormat\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/modules/toolbar.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Quill from \"devextreme-quill\";\r\nimport $ from \"../../../core/renderer\";\r\nimport BaseModule from \"./base\";\r\nimport Toolbar from \"../../toolbar\";\r\nimport \"../../select_box\";\r\nimport \"../../color_box/color_view\";\r\nimport \"../../number_box\";\r\nimport errors from \"../../widget/ui.errors\";\r\nimport WidgetCollector from \"./widget_collector\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n isString,\r\n isObject,\r\n isDefined,\r\n isEmptyObject\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport localizationMessage from \"../../../localization/message\";\r\nimport {\r\n titleize,\r\n camelize\r\n} from \"../../../core/utils/inflector\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport {\r\n addNamespace\r\n} from \"../../../events/utils/index\";\r\nimport {\r\n getTableFormats,\r\n TABLE_OPERATIONS\r\n} from \"../utils/table_helper\";\r\nimport {\r\n getFormatHandlers,\r\n getDefaultClickHandler,\r\n ICON_MAP,\r\n applyFormat\r\n} from \"../utils/toolbar_helper\";\r\nvar ToolbarModule = BaseModule;\r\nif (Quill) {\r\n var TOOLBAR_WRAPPER_CLASS = \"dx-htmleditor-toolbar-wrapper\";\r\n var TOOLBAR_CLASS = \"dx-htmleditor-toolbar\";\r\n var TOOLBAR_FORMAT_WIDGET_CLASS = \"dx-htmleditor-toolbar-format\";\r\n var TOOLBAR_SEPARATOR_CLASS = \"dx-htmleditor-toolbar-separator\";\r\n var TOOLBAR_MENU_SEPARATOR_CLASS = \"dx-htmleditor-toolbar-menu-separator\";\r\n var ACTIVE_FORMAT_CLASS = \"dx-format-active\";\r\n var ICON_CLASS = \"dx-icon\";\r\n var SELECTION_CHANGE_EVENT = \"selection-change\";\r\n var USER_ACTION = \"user\";\r\n var SILENT_ACTION = \"silent\";\r\n var FORMAT_HOTKEYS = {\r\n 66: \"bold\",\r\n 73: \"italic\",\r\n 85: \"underline\"\r\n };\r\n var KEY_CODES = {\r\n b: 66,\r\n i: 73,\r\n u: 85\r\n };\r\n var localize = name => localizationMessage.format(\"dxHtmlEditor-\".concat(camelize(name)));\r\n var localizeValue = (value, name) => {\r\n if (\"header\" === name) {\r\n var isHeaderValue = isDefined(value) && false !== value;\r\n return isHeaderValue ? \"\".concat(localize(\"heading\"), \" \").concat(value) : localize(\"normalText\")\r\n }\r\n return localize(value) || value\r\n };\r\n ToolbarModule = class extends BaseModule {\r\n constructor(quill, options) {\r\n var _this;\r\n super(quill, options);\r\n _this = this;\r\n this._toolbarWidgets = new WidgetCollector;\r\n this._formatHandlers = getFormatHandlers(this);\r\n this._tableFormats = getTableFormats(quill);\r\n if (isDefined(options.items)) {\r\n this._addCallbacks();\r\n this._renderToolbar();\r\n var toolbarMenu = this.toolbarInstance._layoutStrategy._menu;\r\n if (toolbarMenu) {\r\n var _renderPopup = toolbarMenu._renderPopup;\r\n toolbarMenu._renderPopup = function() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n _renderPopup.apply(toolbarMenu, ...args);\r\n toolbarMenu._popup.on(\"showing\", () => {\r\n _this._updateToolbar(true)\r\n })\r\n }\r\n }\r\n this.quill.on(\"editor-change\", (eventName, newValue, oldValue, eventSource) => {\r\n var isSilentMode = eventSource === SILENT_ACTION && isEmptyObject(this.quill.getFormat());\r\n if (!isSilentMode) {\r\n var isSelectionChanged = eventName === SELECTION_CHANGE_EVENT;\r\n this._updateToolbar(isSelectionChanged)\r\n }\r\n })\r\n }\r\n }\r\n _addCallbacks() {\r\n this.addCleanCallback(this.clean.bind(this));\r\n this.editorInstance.addContentInitializedCallback(this.updateHistoryWidgets.bind(this))\r\n }\r\n _updateToolbar(isSelectionChanged) {\r\n this.updateFormatWidgets(isSelectionChanged);\r\n this.updateHistoryWidgets();\r\n this.updateTableWidgets()\r\n }\r\n _updateFormatWidget(name, isApplied, formats) {\r\n var widget = this._toolbarWidgets.getByName(name);\r\n if (!widget) {\r\n return\r\n }\r\n if (isApplied) {\r\n this._markActiveFormatWidget(name, widget, formats)\r\n } else {\r\n this._resetFormatWidget(name, widget);\r\n if (Object.prototype.hasOwnProperty.call(name)) {\r\n delete formats[name]\r\n }\r\n }\r\n this._toggleClearFormatting(isApplied || !isEmptyObject(formats))\r\n }\r\n _renderToolbar() {\r\n var container = this.options.container || this._getContainer();\r\n this._$toolbar = $(\"<div>\").addClass(TOOLBAR_CLASS).appendTo(container);\r\n this._$toolbarContainer = $(container).addClass(TOOLBAR_WRAPPER_CLASS);\r\n eventsEngine.on(this._$toolbarContainer, addNamespace(\"mousedown\", this.editorInstance.NAME), e => {\r\n e.target.focus();\r\n e.preventDefault()\r\n });\r\n this._subscribeFormatHotKeys();\r\n this.toolbarInstance = this.editorInstance._createComponent(this._$toolbar, Toolbar, this.toolbarConfig);\r\n this.editorInstance.on(\"optionChanged\", _ref => {\r\n var {\r\n name: name\r\n } = _ref;\r\n if (\"readOnly\" === name || \"disabled\" === name) {\r\n this.toolbarInstance.option(\"disabled\", this.isInteractionDisabled)\r\n }\r\n })\r\n }\r\n get toolbarConfig() {\r\n return {\r\n dataSource: this._prepareToolbarItems(),\r\n disabled: this.isInteractionDisabled,\r\n menuContainer: this._$toolbarContainer,\r\n multiline: this.isMultilineMode()\r\n }\r\n }\r\n get isInteractionDisabled() {\r\n return this.editorInstance.option(\"readOnly\") || this.editorInstance.option(\"disabled\")\r\n }\r\n isMultilineMode() {\r\n var _this$options$multili;\r\n return null !== (_this$options$multili = this.options.multiline) && void 0 !== _this$options$multili ? _this$options$multili : true\r\n }\r\n clean() {\r\n this._toolbarWidgets.clear();\r\n if (this._$toolbarContainer) {\r\n this._$toolbarContainer.empty().removeClass(TOOLBAR_WRAPPER_CLASS)\r\n }\r\n }\r\n repaint() {\r\n this.toolbarInstance && this.toolbarInstance.repaint()\r\n }\r\n _getContainer() {\r\n var $container = $(\"<div>\");\r\n this.editorInstance.$element().prepend($container);\r\n return $container\r\n }\r\n _detectRenamedOptions(item) {\r\n if (isObject(item)) {\r\n each([{\r\n newName: \"name\",\r\n oldName: \"formatName\"\r\n }, {\r\n newName: \"acceptedValues\",\r\n oldName: \"formatValues\"\r\n }], (index, optionName) => {\r\n if (Object.prototype.hasOwnProperty.call(item, optionName.oldName)) {\r\n errors.log(\"W1016\", optionName.oldName, optionName.newName)\r\n }\r\n })\r\n }\r\n }\r\n _subscribeFormatHotKeys() {\r\n this.quill.keyboard.addBinding({\r\n which: KEY_CODES.b,\r\n shortKey: true\r\n }, this._handleFormatHotKey.bind(this));\r\n this.quill.keyboard.addBinding({\r\n which: KEY_CODES.i,\r\n shortKey: true\r\n }, this._handleFormatHotKey.bind(this));\r\n this.quill.keyboard.addBinding({\r\n which: KEY_CODES.u,\r\n shortKey: true\r\n }, this._handleFormatHotKey.bind(this))\r\n }\r\n _handleFormatHotKey(range, context, _ref2) {\r\n var {\r\n which: which\r\n } = _ref2;\r\n var formatName = FORMAT_HOTKEYS[which];\r\n this._updateButtonState(formatName)\r\n }\r\n _updateButtonState(formatName) {\r\n var formatWidget = this._toolbarWidgets.getByName(formatName);\r\n var currentFormat = this.quill.getFormat();\r\n var formatValue = currentFormat[formatName];\r\n if (formatValue) {\r\n this._markActiveFormatWidget(formatName, formatWidget, currentFormat)\r\n } else {\r\n this._resetFormatWidget(formatName, formatWidget)\r\n }\r\n }\r\n _prepareToolbarItems() {\r\n var resultItems = [];\r\n each(this.options.items, (index, item) => {\r\n var newItem;\r\n this._detectRenamedOptions(item);\r\n if (isObject(item)) {\r\n newItem = this._handleObjectItem(item)\r\n } else if (isString(item)) {\r\n var buttonItemConfig = this._prepareButtonItemConfig(item);\r\n newItem = this._getToolbarItem(buttonItemConfig)\r\n }\r\n if (newItem) {\r\n resultItems.push(newItem)\r\n }\r\n });\r\n return resultItems\r\n }\r\n _handleObjectItem(item) {\r\n if (item.name && item.acceptedValues && this._isAcceptableItem(item.widget, \"dxSelectBox\")) {\r\n var selectItemConfig = this._prepareSelectItemConfig(item);\r\n return this._getToolbarItem(selectItemConfig)\r\n } else if (item.name && this._isAcceptableItem(item.widget, \"dxButton\")) {\r\n var defaultButtonItemConfig = this._prepareButtonItemConfig(item.name);\r\n var buttonItemConfig = extend(true, defaultButtonItemConfig, item);\r\n return this._getToolbarItem(buttonItemConfig)\r\n } else {\r\n return this._getToolbarItem(item)\r\n }\r\n }\r\n _isAcceptableItem(widget, acceptableWidgetName) {\r\n return !widget || widget === acceptableWidgetName\r\n }\r\n _prepareButtonItemConfig(name) {\r\n var _ICON_MAP$name;\r\n var iconName = null !== (_ICON_MAP$name = ICON_MAP[name]) && void 0 !== _ICON_MAP$name ? _ICON_MAP$name : name;\r\n var buttonText = titleize(name);\r\n return {\r\n widget: \"dxButton\",\r\n name: name,\r\n options: {\r\n hint: localize(buttonText),\r\n text: localize(buttonText),\r\n icon: iconName.toLowerCase(),\r\n onClick: this._formatHandlers[name] || getDefaultClickHandler(this, name),\r\n stylingMode: \"text\"\r\n },\r\n showText: \"inMenu\"\r\n }\r\n }\r\n _prepareSelectItemConfig(item) {\r\n var {\r\n name: name,\r\n acceptedValues: acceptedValues\r\n } = item;\r\n return extend(true, {\r\n widget: \"dxSelectBox\",\r\n name: name,\r\n options: {\r\n stylingMode: \"filled\",\r\n dataSource: acceptedValues,\r\n displayExpr: value => localizeValue(value, name),\r\n placeholder: localize(name),\r\n onValueChanged: e => {\r\n if (!this._isReset) {\r\n this._hideAdaptiveMenu();\r\n applyFormat(this, [name, e.value, USER_ACTION], e.event);\r\n this._setValueSilent(e.component, e.value)\r\n }\r\n }\r\n }\r\n }, item)\r\n }\r\n _hideAdaptiveMenu() {\r\n if (this.toolbarInstance.option(\"overflowMenuVisible\")) {\r\n this.toolbarInstance.option(\"overflowMenuVisible\", false)\r\n }\r\n }\r\n _getToolbarItem(item) {\r\n var baseItem = {\r\n options: {\r\n onInitialized: e => {\r\n if (item.name) {\r\n e.component.$element().addClass(TOOLBAR_FORMAT_WIDGET_CLASS);\r\n e.component.$element().toggleClass(\"dx-\".concat(item.name.toLowerCase(), \"-format\"), !!item.name);\r\n this._toolbarWidgets.add(item.name, e.component)\r\n }\r\n },\r\n onDisposing: () => {\r\n this._toolbarWidgets.remove(item.name)\r\n }\r\n }\r\n };\r\n return extend(true, {\r\n location: \"before\",\r\n locateInMenu: \"auto\"\r\n }, this._getDefaultConfig(item.name), item, baseItem)\r\n }\r\n _getDefaultItemsConfig() {\r\n return {\r\n clear: {\r\n options: {\r\n disabled: true\r\n }\r\n },\r\n undo: {\r\n options: {\r\n disabled: true\r\n }\r\n },\r\n redo: {\r\n options: {\r\n disabled: true\r\n }\r\n },\r\n insertRowAbove: {\r\n options: {\r\n disabled: true\r\n }\r\n },\r\n insertRowBelow: {\r\n options: {\r\n disabled: true\r\n }\r\n },\r\n insertHeaderRow: {\r\n options: {\r\n disabled: true\r\n }\r\n },\r\n insertColumnLeft: {\r\n options: {\r\n disabled: true\r\n }\r\n },\r\n insertColumnRight: {\r\n options: {\r\n disabled: true\r\n }\r\n },\r\n deleteRow: {\r\n options: {\r\n disabled: true\r\n }\r\n },\r\n deleteColumn: {\r\n options: {\r\n disabled: true\r\n }\r\n },\r\n deleteTable: {\r\n options: {\r\n disabled: true\r\n }\r\n },\r\n cellProperties: {\r\n options: {\r\n disabled: true\r\n }\r\n },\r\n tableProperties: {\r\n options: {\r\n disabled: true\r\n }\r\n },\r\n separator: {\r\n template: (data, index, element) => {\r\n $(element).addClass(TOOLBAR_SEPARATOR_CLASS)\r\n },\r\n menuItemTemplate: (data, index, element) => {\r\n $(element).addClass(TOOLBAR_MENU_SEPARATOR_CLASS)\r\n }\r\n }\r\n }\r\n }\r\n _getDefaultConfig(name) {\r\n return this._getDefaultItemsConfig()[name]\r\n }\r\n updateHistoryWidgets() {\r\n var historyModule = this.quill.history;\r\n if (!historyModule) {\r\n return\r\n }\r\n var {\r\n undo: undoOps,\r\n redo: redoOps\r\n } = historyModule.stack;\r\n this._updateManipulationWidget(this._toolbarWidgets.getByName(\"undo\"), Boolean(undoOps.length));\r\n this._updateManipulationWidget(this._toolbarWidgets.getByName(\"redo\"), Boolean(redoOps.length))\r\n }\r\n updateTableWidgets() {\r\n var table = this.quill.getModule(\"table\");\r\n if (!table) {\r\n return\r\n }\r\n var selection = this.quill.getSelection();\r\n var formats = selection && this.quill.getFormat(selection) || {};\r\n var isTableOperationsEnabled = this._tableFormats.some(format => Boolean(formats[format]));\r\n TABLE_OPERATIONS.forEach(operationName => {\r\n var isInsertTable = \"insertTable\" === operationName;\r\n var widget = this._toolbarWidgets.getByName(operationName);\r\n this._updateManipulationWidget(widget, isInsertTable ? !isTableOperationsEnabled : isTableOperationsEnabled)\r\n })\r\n }\r\n _updateManipulationWidget(widget, isOperationEnabled) {\r\n if (!widget) {\r\n return\r\n }\r\n widget.option(\"disabled\", !isOperationEnabled)\r\n }\r\n updateFormatWidgets(isResetRequired) {\r\n var selection = this.quill.getSelection();\r\n if (!selection) {\r\n return\r\n }\r\n var formats = this.quill.getFormat(selection);\r\n var hasFormats = !isEmptyObject(formats);\r\n if (!hasFormats || isResetRequired) {\r\n this._resetFormatWidgets()\r\n }\r\n for (var formatName in formats) {\r\n var widgetName = this._getFormatWidgetName(formatName, formats);\r\n var formatWidget = this._toolbarWidgets.getByName(widgetName) || this._toolbarWidgets.getByName(formatName);\r\n if (!formatWidget) {\r\n continue\r\n }\r\n this._markActiveFormatWidget(formatName, formatWidget, formats)\r\n }\r\n this._toggleClearFormatting(hasFormats || selection.length > 1)\r\n }\r\n _markActiveFormatWidget(name, widget, formats) {\r\n if (this._isColorFormat(name)) {\r\n this._updateColorWidget(name, formats[name])\r\n }\r\n if (\"value\" in widget.option()) {\r\n this._setValueSilent(widget, formats[name])\r\n } else {\r\n widget.$element().addClass(ACTIVE_FORMAT_CLASS)\r\n }\r\n }\r\n _toggleClearFormatting(hasFormats) {\r\n var clearWidget = this._toolbarWidgets.getByName(\"clear\");\r\n if (clearWidget) {\r\n clearWidget.option(\"disabled\", !hasFormats)\r\n }\r\n }\r\n _isColorFormat(name) {\r\n return \"color\" === name || \"background\" === name\r\n }\r\n _updateColorWidget(name, color) {\r\n var formatWidget = this._toolbarWidgets.getByName(name);\r\n if (!formatWidget) {\r\n return\r\n }\r\n formatWidget.$element().find(\".\".concat(ICON_CLASS)).css(\"borderBottomColor\", color || \"transparent\")\r\n }\r\n _getFormatWidgetName(name, formats) {\r\n var widgetName;\r\n switch (name) {\r\n case \"align\":\r\n widgetName = name + titleize(formats[name]);\r\n break;\r\n case \"list\":\r\n widgetName = formats[name] + titleize(name);\r\n break;\r\n case \"code-block\":\r\n widgetName = \"codeBlock\";\r\n break;\r\n case \"script\":\r\n widgetName = formats[name] + name;\r\n break;\r\n case \"imageSrc\":\r\n widgetName = \"image\";\r\n break;\r\n default:\r\n widgetName = name\r\n }\r\n return widgetName\r\n }\r\n _setValueSilent(widget, value) {\r\n this._isReset = true;\r\n widget.option(\"value\", value);\r\n this._isReset = false\r\n }\r\n _resetFormatWidgets() {\r\n this._toolbarWidgets.each((name, widget) => {\r\n this._resetFormatWidget(name, widget)\r\n })\r\n }\r\n _resetFormatWidget(name, widget) {\r\n widget.$element().removeClass(ACTIVE_FORMAT_CLASS);\r\n if (this._isColorFormat(name)) {\r\n this._updateColorWidget(name)\r\n }\r\n if (\"clear\" === name) {\r\n widget.option(\"disabled\", true)\r\n }\r\n if (\"dxSelectBox\" === widget.NAME) {\r\n this._setValueSilent(widget, null)\r\n }\r\n }\r\n addClickHandler(name, handler) {\r\n this._formatHandlers[name] = handler;\r\n var formatWidget = this._toolbarWidgets.getByName(name);\r\n if (formatWidget && \"dxButton\" === formatWidget.NAME) {\r\n formatWidget.option(\"onClick\", handler)\r\n }\r\n }\r\n }\r\n}\r\nexport default ToolbarModule;\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/modules/dropImage.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Quill from \"devextreme-quill\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport {\r\n addNamespace\r\n} from \"../../../events/utils/index\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport browser from \"../../../core/utils/browser\";\r\nimport {\r\n getWindow\r\n} from \"../../../core/utils/window\";\r\nimport BaseModule from \"./base\";\r\nvar DropImageModule = BaseModule;\r\nif (Quill) {\r\n DropImageModule = class extends BaseModule {\r\n constructor(quill, options) {\r\n super(quill, options);\r\n var widgetName = this.editorInstance.NAME;\r\n eventsEngine.on(this.quill.root, addNamespace(\"drop\", widgetName), this._dropHandler.bind(this));\r\n eventsEngine.on(this.quill.root, addNamespace(\"paste\", widgetName), this._pasteHandler.bind(this))\r\n }\r\n _dropHandler(e) {\r\n var _dataTransfer$files;\r\n var dataTransfer = e.originalEvent.dataTransfer;\r\n var hasFiles = null === dataTransfer || void 0 === dataTransfer ? void 0 : null === (_dataTransfer$files = dataTransfer.files) || void 0 === _dataTransfer$files ? void 0 : _dataTransfer$files.length;\r\n this.saveValueChangeEvent(e);\r\n e.preventDefault();\r\n if (hasFiles) {\r\n this._getImage(dataTransfer.files, this._addImage.bind(this))\r\n }\r\n }\r\n _pasteHandler(e) {\r\n var _clipboardData$items;\r\n var {\r\n clipboardData: clipboardData\r\n } = e.originalEvent;\r\n this.saveValueChangeEvent(e);\r\n if (!clipboardData) {\r\n return\r\n }\r\n var hasDataItems = null === (_clipboardData$items = clipboardData.items) || void 0 === _clipboardData$items ? void 0 : _clipboardData$items.length;\r\n var isHtmlData = clipboardData.getData(\"text/html\");\r\n if (!isHtmlData && hasDataItems) {\r\n this._getImage(clipboardData.items, imageData => {\r\n if (this._isBrowserSupportImagePaste(browser)) {\r\n return\r\n }\r\n this._addImage(imageData)\r\n })\r\n }\r\n }\r\n _isBrowserSupportImagePaste(_ref) {\r\n var {\r\n mozilla: mozilla,\r\n chrome: chrome,\r\n version: version\r\n } = _ref;\r\n return mozilla || chrome && version > 82\r\n }\r\n _isImage(file) {\r\n return !!file.type.match(/^image\\/(a?png|bmp|gif|p?jpe?g|svg|vnd\\.microsoft\\.icon|webp)/i)\r\n }\r\n _getImage(files, callback) {\r\n var window = getWindow();\r\n each(files, (index, file) => {\r\n if (!this._isImage(file)) {\r\n return\r\n }\r\n var reader = new window.FileReader;\r\n reader.onload = _ref2 => {\r\n var {\r\n target: target\r\n } = _ref2;\r\n callback(target.result)\r\n };\r\n var readableFile = file.getAsFile ? file.getAsFile() : file;\r\n if (readableFile instanceof window.Blob) {\r\n reader.readAsDataURL(readableFile)\r\n }\r\n })\r\n }\r\n _addImage(data) {\r\n var selection = this.quill.getSelection();\r\n var pasteIndex = selection ? selection.index : this.quill.getLength();\r\n this.quill.insertEmbed(pasteIndex, \"extendedImage\", data, \"user\")\r\n }\r\n }\r\n}\r\nexport default DropImageModule;\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/modules/popup.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight\r\n} from \"../../../core/utils/size\";\r\nimport Quill from \"devextreme-quill\";\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n getWindow\r\n} from \"../../../core/utils/window\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport {\r\n addNamespace\r\n} from \"../../../events/utils/index\";\r\nimport BaseModule from \"./base\";\r\nimport Popup from \"../../popup\";\r\nimport List from \"../../list_light\";\r\nvar MODULE_NAMESPACE = \"dxHtmlEditorPopupModule\";\r\nvar ListPopupModule = BaseModule;\r\nif (Quill) {\r\n var SUGGESTION_LIST_CLASS = \"dx-suggestion-list\";\r\n var SUGGESTION_LIST_WRAPPER_CLASS = \"dx-suggestion-list-wrapper\";\r\n var MIN_HEIGHT = 100;\r\n ListPopupModule = class extends BaseModule {\r\n _getDefaultOptions() {\r\n return {\r\n dataSource: null\r\n }\r\n }\r\n constructor(quill, options) {\r\n super(quill, options);\r\n this.options = extend({}, this._getDefaultOptions(), options);\r\n this._popup = this.renderPopup();\r\n this._popup.$wrapper().addClass(SUGGESTION_LIST_WRAPPER_CLASS);\r\n this._renderPreventFocusOut()\r\n }\r\n renderList($container, options) {\r\n var $list = $(\"<div>\").addClass(SUGGESTION_LIST_CLASS).appendTo($container);\r\n this._list = this.options.editorInstance._createComponent($list, List, options)\r\n }\r\n renderPopup() {\r\n var editorInstance = this.options.editorInstance;\r\n var $container = $(\"<div>\").appendTo(editorInstance.$element());\r\n var popupConfig = this._getPopupConfig();\r\n return editorInstance._createComponent($container, Popup, popupConfig)\r\n }\r\n _getPopupConfig() {\r\n return {\r\n contentTemplate: contentElem => {\r\n var listConfig = this._getListConfig(this.options);\r\n this.renderList($(contentElem), listConfig)\r\n },\r\n deferRendering: false,\r\n onShown: () => {\r\n this._list.focus()\r\n },\r\n onHidden: () => {\r\n this._list.unselectAll();\r\n this._list.option(\"focusedElement\", null)\r\n },\r\n showTitle: false,\r\n width: \"auto\",\r\n height: \"auto\",\r\n shading: false,\r\n hideOnParentScroll: true,\r\n hideOnOutsideClick: true,\r\n animation: {\r\n show: {\r\n type: \"fade\",\r\n duration: 0,\r\n from: 0,\r\n to: 1\r\n },\r\n hide: {\r\n type: \"fade\",\r\n duration: 400,\r\n from: 1,\r\n to: 0\r\n }\r\n },\r\n fullScreen: false,\r\n maxHeight: this.maxHeight\r\n }\r\n }\r\n _getListConfig(options) {\r\n return {\r\n dataSource: options.dataSource,\r\n onSelectionChanged: this.selectionChangedHandler.bind(this),\r\n selectionMode: \"single\",\r\n pageLoadMode: \"scrollBottom\"\r\n }\r\n }\r\n get maxHeight() {\r\n var window = getWindow();\r\n var windowHeight = window && getHeight(window) || 0;\r\n return Math.max(MIN_HEIGHT, .5 * windowHeight)\r\n }\r\n selectionChangedHandler(e) {\r\n if (this._popup.option(\"visible\")) {\r\n this._popup.hide();\r\n this.insertEmbedContent(e)\r\n }\r\n }\r\n _renderPreventFocusOut() {\r\n var eventName = addNamespace(\"mousedown\", MODULE_NAMESPACE);\r\n eventsEngine.on(this._popup.$wrapper(), eventName, e => {\r\n e.preventDefault()\r\n })\r\n }\r\n insertEmbedContent(selectionChangedEvent) {}\r\n showPopup() {\r\n this._popup && this._popup.show()\r\n }\r\n savePosition(position) {\r\n this.caretPosition = position\r\n }\r\n getPosition() {\r\n return this.caretPosition\r\n }\r\n }\r\n}\r\nexport default ListPopupModule;\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/formats/variable.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Quill from \"devextreme-quill\";\r\nimport {\r\n ensureDefined\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nvar Variable = {};\r\nif (Quill) {\r\n var Embed = Quill.import(\"blots/embed\");\r\n var VARIABLE_CLASS = \"dx-variable\";\r\n Variable = class extends Embed {\r\n static create(data) {\r\n var node = super.create();\r\n var startEscapeChar;\r\n var endEscapeChar;\r\n var text = data.value;\r\n if (Array.isArray(data.escapeChar)) {\r\n startEscapeChar = ensureDefined(data.escapeChar[0], \"\");\r\n endEscapeChar = ensureDefined(data.escapeChar[1], \"\")\r\n } else {\r\n startEscapeChar = endEscapeChar = data.escapeChar\r\n }\r\n node.innerText = startEscapeChar + text + endEscapeChar;\r\n node.dataset.varStartEscChar = startEscapeChar;\r\n node.dataset.varEndEscChar = endEscapeChar;\r\n node.dataset.varValue = data.value;\r\n return node\r\n }\r\n static value(node) {\r\n return extend({}, {\r\n value: node.dataset.varValue,\r\n escapeChar: [node.dataset.varStartEscChar || \"\", node.dataset.varEndEscChar || \"\"]\r\n })\r\n }\r\n };\r\n Variable.blotName = \"variable\";\r\n Variable.tagName = \"span\";\r\n Variable.className = VARIABLE_CLASS\r\n}\r\nexport default Variable;\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/modules/variables.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Quill from \"devextreme-quill\";\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../../core/utils/position\";\r\nimport PopupModule from \"./popup\";\r\nimport BaseModule from \"./base\";\r\nimport Variable from \"../formats/variable\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nvar VariableModule = BaseModule;\r\nif (Quill) {\r\n var VARIABLE_FORMAT_CLASS = \"dx-variable-format\";\r\n var ACTIVE_FORMAT_CLASS = \"dx-format-active\";\r\n Quill.register({\r\n \"formats/variable\": Variable\r\n }, true);\r\n VariableModule = class extends PopupModule {\r\n _getDefaultOptions() {\r\n var baseConfig = super._getDefaultOptions();\r\n return extend(baseConfig, {\r\n escapeChar: \"\"\r\n })\r\n }\r\n constructor(quill, options) {\r\n super(quill, options);\r\n var toolbar = quill.getModule(\"toolbar\");\r\n if (toolbar) {\r\n toolbar.addClickHandler(\"variable\", this.showPopup.bind(this))\r\n }\r\n quill.keyboard.addBinding({\r\n key: \"P\",\r\n altKey: true\r\n }, this.showPopup.bind(this));\r\n this._popup.on(\"shown\", e => {\r\n var $ofElement = $(e.component.option(\"position\").of);\r\n if ($ofElement.hasClass(VARIABLE_FORMAT_CLASS)) {\r\n $ofElement.addClass(ACTIVE_FORMAT_CLASS)\r\n }\r\n })\r\n }\r\n showPopup(event) {\r\n var selection = this.quill.getSelection(true);\r\n var position = selection ? selection.index : this.quill.getLength();\r\n this.savePosition(position);\r\n this._resetPopupPosition(event, position);\r\n super.showPopup()\r\n }\r\n _resetPopupPosition(event, position) {\r\n if (event && event.element) {\r\n this._popup.option(\"position\", {\r\n of: event.element,\r\n offset: {\r\n h: 0,\r\n v: 0\r\n },\r\n my: \"top center\",\r\n at: \"bottom center\",\r\n collision: \"fit\"\r\n })\r\n } else {\r\n var mentionBounds = this.quill.getBounds(position);\r\n var rootRect = getBoundingRect(this.quill.root);\r\n this._popup.option(\"position\", {\r\n of: this.quill.root,\r\n offset: {\r\n h: mentionBounds.left,\r\n v: mentionBounds.bottom - rootRect.height\r\n },\r\n my: \"top center\",\r\n at: \"bottom left\",\r\n collision: \"fit flip\"\r\n })\r\n }\r\n }\r\n insertEmbedContent(selectionChangedEvent) {\r\n var caretPosition = this.getPosition();\r\n var selectedItem = selectionChangedEvent.component.option(\"selectedItem\");\r\n var variableData = extend({}, {\r\n value: selectedItem,\r\n escapeChar: this.options.escapeChar\r\n });\r\n setTimeout(function() {\r\n this.quill.insertEmbed(caretPosition, \"variable\", variableData);\r\n this.quill.setSelection(caretPosition + 1)\r\n }.bind(this))\r\n }\r\n }\r\n}\r\nexport default VariableModule;\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/modules/resizing.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport {\r\n name as ClickEvent\r\n} from \"../../../events/click\";\r\nimport {\r\n addNamespace,\r\n normalizeKeyName\r\n} from \"../../../events/utils/index\";\r\nimport {\r\n move\r\n} from \"../../../animation/translator\";\r\nimport devices from \"../../../core/devices\";\r\nimport Resizable from \"../../resizable\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../../core/utils/position\";\r\nimport Quill from \"devextreme-quill\";\r\nimport BaseModule from \"./base\";\r\nimport {\r\n getHeight,\r\n getOuterHeight,\r\n getOuterWidth,\r\n getWidth\r\n} from \"../../../core/utils/size\";\r\nvar DX_RESIZE_FRAME_CLASS = \"dx-resize-frame\";\r\nvar DX_TOUCH_DEVICE_CLASS = \"dx-touch-device\";\r\nvar MODULE_NAMESPACE = \"dxHtmlResizingModule\";\r\nvar KEYDOWN_EVENT = addNamespace(\"keydown\", MODULE_NAMESPACE);\r\nvar SCROLL_EVENT = addNamespace(\"scroll\", MODULE_NAMESPACE);\r\nvar MOUSEDOWN_EVENT = addNamespace(\"mousedown\", MODULE_NAMESPACE);\r\nvar FRAME_PADDING = 1;\r\nexport default class ResizingModule extends BaseModule {\r\n constructor(quill, options) {\r\n super(quill, options);\r\n this.allowedTargets = options.allowedTargets || [\"image\"];\r\n this.enabled = !!options.enabled;\r\n this._hideFrameWithContext = this.hideFrame.bind(this);\r\n this._framePositionChangedHandler = this._prepareFramePositionChangedHandler();\r\n if (this.enabled) {\r\n this._attachEvents();\r\n this._createResizeFrame()\r\n }\r\n }\r\n _attachEvents() {\r\n eventsEngine.on(this.quill.root, addNamespace(ClickEvent, MODULE_NAMESPACE), this._clickHandler.bind(this));\r\n eventsEngine.on(this.quill.root, SCROLL_EVENT, this._framePositionChangedHandler);\r\n this.editorInstance.on(\"focusOut\", this._hideFrameWithContext);\r\n this.quill.on(\"text-change\", this._framePositionChangedHandler)\r\n }\r\n _detachEvents() {\r\n eventsEngine.off(this.quill.root, MODULE_NAMESPACE);\r\n this.editorInstance.off(\"focusOut\", this._hideFrameWithContext);\r\n this.quill.off(\"text-change\", this._framePositionChangedHandler)\r\n }\r\n _clickHandler(e) {\r\n if (this._isAllowedTarget(e.target)) {\r\n if (this._$target === e.target) {\r\n return\r\n }\r\n this._$target = e.target;\r\n var $target = $(this._$target);\r\n var minWidth = Math.max(getOuterWidth($target) - getWidth($target), this.resizable.option(\"minWidth\"));\r\n var minHeight = Math.max(getOuterHeight($target) - getHeight($target), this.resizable.option(\"minHeight\"));\r\n this.resizable.option({\r\n minWidth: minWidth,\r\n minHeight: minHeight\r\n });\r\n this.updateFramePosition();\r\n this.showFrame();\r\n this._adjustSelection()\r\n } else if (this._$target) {\r\n this.hideFrame()\r\n }\r\n }\r\n _prepareFramePositionChangedHandler(e) {\r\n return () => {\r\n if (this._$target) {\r\n this.updateFramePosition()\r\n }\r\n }\r\n }\r\n _adjustSelection() {\r\n if (!this.quill.getSelection()) {\r\n this.quill.setSelection(0, 0)\r\n }\r\n }\r\n _isAllowedTarget(targetElement) {\r\n return this._isImage(targetElement)\r\n }\r\n _isImage(targetElement) {\r\n return -1 !== this.allowedTargets.indexOf(\"image\") && \"IMG\" === targetElement.tagName.toUpperCase()\r\n }\r\n showFrame() {\r\n this._$resizeFrame.show();\r\n eventsEngine.on(this.quill.root, KEYDOWN_EVENT, this._handleFrameKeyDown.bind(this))\r\n }\r\n _handleFrameKeyDown(e) {\r\n var keyName = normalizeKeyName(e);\r\n if (\"del\" === keyName || \"backspace\" === keyName) {\r\n this._deleteImage()\r\n }\r\n this.hideFrame()\r\n }\r\n hideFrame() {\r\n this._$target = null;\r\n this._$resizeFrame.hide();\r\n eventsEngine.off(this.quill.root, KEYDOWN_EVENT)\r\n }\r\n updateFramePosition() {\r\n var {\r\n height: height,\r\n width: width,\r\n top: targetTop,\r\n left: targetLeft\r\n } = getBoundingRect(this._$target);\r\n var {\r\n top: containerTop,\r\n left: containerLeft\r\n } = getBoundingRect(this.quill.root);\r\n var borderWidth = this._getBorderWidth();\r\n this._$resizeFrame.css({\r\n height: height,\r\n width: width,\r\n padding: FRAME_PADDING,\r\n top: targetTop - containerTop - borderWidth - FRAME_PADDING,\r\n left: targetLeft - containerLeft - borderWidth - FRAME_PADDING\r\n });\r\n move(this._$resizeFrame, {\r\n left: 0,\r\n top: 0\r\n })\r\n }\r\n _getBorderWidth() {\r\n return parseInt(this._$resizeFrame.css(\"borderTopWidth\"))\r\n }\r\n _createResizeFrame() {\r\n if (this._$resizeFrame) {\r\n return\r\n }\r\n var {\r\n deviceType: deviceType\r\n } = devices.current();\r\n this._$resizeFrame = $(\"<div>\").addClass(DX_RESIZE_FRAME_CLASS).toggleClass(DX_TOUCH_DEVICE_CLASS, \"desktop\" !== deviceType).appendTo(this.editorInstance._getQuillContainer()).hide();\r\n eventsEngine.on(this._$resizeFrame, MOUSEDOWN_EVENT, e => {\r\n e.preventDefault()\r\n });\r\n this.resizable = this.editorInstance._createComponent(this._$resizeFrame, Resizable, {\r\n onResize: e => {\r\n if (!this._$target) {\r\n return\r\n }\r\n $(this._$target).attr({\r\n height: e.height,\r\n width: e.width\r\n });\r\n this.updateFramePosition()\r\n }\r\n })\r\n }\r\n _deleteImage() {\r\n if (this._isAllowedTarget(this._$target)) {\r\n var _Quill$find;\r\n null === (_Quill$find = Quill.find(this._$target)) || void 0 === _Quill$find ? void 0 : _Quill$find.deleteAt(0)\r\n }\r\n }\r\n option(option, value) {\r\n if (\"mediaResizing\" === option) {\r\n this.handleOptionChangeValue(value);\r\n return\r\n }\r\n if (\"enabled\" === option) {\r\n this.enabled = value;\r\n value ? this._attachEvents() : this._detachEvents()\r\n } else if (\"allowedTargets\" === option && Array.isArray(value)) {\r\n this.allowedTargets = value\r\n }\r\n }\r\n clean() {\r\n this._detachEvents();\r\n this._$resizeFrame.remove();\r\n this._$resizeFrame = void 0\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/modules/tableResizing.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth,\r\n getOuterHeight,\r\n getHeight\r\n} from \"../../../core/utils/size\";\r\nimport $ from \"../../../core/renderer\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n addNamespace\r\n} from \"../../../events/utils/index\";\r\nimport _windowResizeCallbacks from \"../../../core/utils/resize_callbacks\";\r\nimport {\r\n move\r\n} from \"../../../animation/translator\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../../core/utils/position\";\r\nimport BaseModule from \"./base\";\r\nimport Draggable from \"../../draggable\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../../core/utils/window\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n setLineElementsFormat,\r\n getLineElements,\r\n getAutoSizedElements,\r\n getColumnElements,\r\n unfixTableWidth\r\n} from \"../utils/table_helper\";\r\nvar DX_COLUMN_RESIZE_FRAME_CLASS = \"dx-table-resize-frame\";\r\nvar DX_COLUMN_RESIZER_CLASS = \"dx-htmleditor-column-resizer\";\r\nvar DX_ROW_RESIZER_CLASS = \"dx-htmleditor-row-resizer\";\r\nvar DEFAULTS = {\r\n minColumnWidth: 40,\r\n minRowHeight: 24\r\n};\r\nvar DRAGGABLE_ELEMENT_OFFSET = 2;\r\nvar ROUGH_OFFSET = 3;\r\nvar MODULE_NAMESPACE = \"dxHtmlTableResizingModule\";\r\nvar POINTERDOWN_EVENT = addNamespace(\"dxpointerdown\", MODULE_NAMESPACE);\r\nvar SCROLL_EVENT = addNamespace(\"scroll\", MODULE_NAMESPACE);\r\nexport default class TableResizingModule extends BaseModule {\r\n constructor(quill, options) {\r\n super(quill, options);\r\n this.enabled = !!options.enabled;\r\n this._tableResizeFrames = [];\r\n this._minColumnWidth = this._minSizeLimit(\"minColumnWidth\", options.minColumnWidth);\r\n this._minRowHeight = this._minSizeLimit(\"minRowHeight\", options.minRowHeight);\r\n this._quillContainer = this.editorInstance._getQuillContainer();\r\n this._tableData = [];\r\n if (this.enabled) {\r\n this._applyResizing()\r\n }\r\n }\r\n _applyResizing(forcedStart) {\r\n if (forcedStart) {\r\n this._applyResizingImpl()\r\n } else {\r\n this.editorInstance.addContentInitializedCallback(this._applyResizingImpl.bind(this))\r\n }\r\n this.addCleanCallback(this.clean.bind(this));\r\n this._resizeHandlerWithContext = _windowResizeCallbacks.add(this._resizeHandler.bind(this))\r\n }\r\n _minSizeLimit(propertyName, newValue) {\r\n return isDefined(newValue) ? Math.max(newValue, 0) : DEFAULTS[propertyName]\r\n }\r\n _applyResizingImpl() {\r\n var $tables = this._findTables();\r\n if ($tables.length) {\r\n this._fixTablesWidths($tables);\r\n this._createResizeFrames($tables);\r\n this._updateFramesPositions();\r\n this._updateFramesSeparators()\r\n }\r\n this._attachEvents()\r\n }\r\n _attachEvents() {\r\n eventsEngine.on(this.editorInstance._getContent(), SCROLL_EVENT, this._updateFramesPositions.bind(this));\r\n this.quill.on(\"text-change\", this._getQuillTextChangeHandler())\r\n }\r\n _detachEvents() {\r\n eventsEngine.off(this.editorInstance._getContent(), MODULE_NAMESPACE);\r\n this.quill.off(\"text-change\", this._quillTextChangeHandler)\r\n }\r\n _getQuillTextChangeHandler(delta, oldContent, source) {\r\n return (delta, oldContent, source) => {\r\n if (this._isTableChanging()) {\r\n var $tables = this._findTables();\r\n this._removeResizeFrames();\r\n if (\"api\" === source) {\r\n this._fixTablesWidths($tables)\r\n }\r\n this._updateTablesColumnsWidth($tables);\r\n this._createResizeFrames($tables);\r\n this._updateFramesPositions();\r\n this._updateFramesSeparators()\r\n } else {\r\n this._updateFramesPositions();\r\n if (!this._isDragging) {\r\n this._updateFramesSeparators()\r\n }\r\n }\r\n }\r\n }\r\n _getFrameForTable($table) {\r\n var _this$_framesForTable;\r\n return null === (_this$_framesForTable = this._framesForTables) || void 0 === _this$_framesForTable ? void 0 : _this$_framesForTable.get($table.get(0))\r\n }\r\n _resizeHandler() {\r\n this._windowResizeTimeout = setTimeout(() => {\r\n var $tables = this._findTables();\r\n each($tables, (index, table) => {\r\n var $table = $(table);\r\n var frame = this._tableResizeFrames[index];\r\n var actualTableWidth = getOuterWidth($table);\r\n var lastTableWidth = this._tableLastWidth(frame);\r\n if (Math.abs(actualTableWidth - lastTableWidth) > 1) {\r\n this._tableLastWidth(frame, actualTableWidth);\r\n this._updateColumnsWidth($table, index)\r\n }\r\n });\r\n this._updateFramesPositions();\r\n this._updateFramesSeparators()\r\n })\r\n }\r\n _findTables() {\r\n return $(this._quillContainer).find(\"table\")\r\n }\r\n _getWidthStyleValue($element) {\r\n var styleValue = $element[0].style.width;\r\n return \"\" !== styleValue ? parseInt(styleValue) : void 0\r\n }\r\n _tableLastWidth(frame, newValue) {\r\n if (isDefined(newValue)) {\r\n frame.lastWidth = newValue\r\n } else {\r\n return null === frame || void 0 === frame ? void 0 : frame.lastWidth\r\n }\r\n }\r\n _fixTablesWidths($tables) {\r\n each($tables, (index, table) => {\r\n var $table = $(table);\r\n var $columnElements = this._getTableDeterminantElements($table, \"horizontal\");\r\n if (!this._tableResizeFrames[index]) {\r\n this._tableResizeFrames[index] = {\r\n lastWidth: void 0\r\n }\r\n }\r\n var frame = this._getFrameForTable($table);\r\n if (!frame) {\r\n this._tableResizeFrames.push({\r\n $table: $table\r\n })\r\n }\r\n if (0 === getAutoSizedElements($table).length) {\r\n var _this$_tableLastWidth;\r\n var {\r\n columnsSum: columnsSum\r\n } = this._getColumnElementsSum($columnElements);\r\n unfixTableWidth($table, {\r\n quill: this.quill\r\n });\r\n var tableWidth = null !== (_this$_tableLastWidth = this._tableLastWidth(frame)) && void 0 !== _this$_tableLastWidth ? _this$_tableLastWidth : getOuterWidth($table);\r\n if (frame) {\r\n this._tableLastWidth(frame, Math.max(columnsSum, tableWidth))\r\n }\r\n }\r\n })\r\n }\r\n _createResizeFrames($tables) {\r\n this._framesForTables = new Map;\r\n $tables.each((index, table) => {\r\n var _this$_tableResizeFra;\r\n var $table = $(table);\r\n var $lastTable = null === (_this$_tableResizeFra = this._tableResizeFrames[index]) || void 0 === _this$_tableResizeFra ? void 0 : _this$_tableResizeFra.$table;\r\n var $tableLastWidth = this._tableResizeFrames[index].lastWidth;\r\n this._tableResizeFrames[index] = {\r\n $frame: this._createTableResizeFrame(table),\r\n $table: $table,\r\n index: index,\r\n lastWidth: $lastTable && table === $lastTable.get(0) ? $tableLastWidth : void 0,\r\n columnsCount: this._getTableDeterminantElements($table, \"horizontal\").length,\r\n rowsCount: this._getTableDeterminantElements($table, \"vertical\").length\r\n };\r\n this._framesForTables.set(table, this._tableResizeFrames[index])\r\n });\r\n this._tableResizeFrames.length = $tables.length\r\n }\r\n _isTableChanging() {\r\n var $tables = this._findTables();\r\n var result = false;\r\n if ($tables.length !== this._tableResizeFrames.length) {\r\n result = true\r\n } else {\r\n each($tables, (index, table) => {\r\n var $table = $(table);\r\n var frame = this._tableResizeFrames[index];\r\n var isColumnsCountChanged = (null === frame || void 0 === frame ? void 0 : frame.columnsCount) !== this._getTableDeterminantElements($table, \"horizontal\").length;\r\n var isRowCountChanged = (null === frame || void 0 === frame ? void 0 : frame.rowsCount) !== this._getTableDeterminantElements($table, \"vertical\").length;\r\n if (isColumnsCountChanged || isRowCountChanged) {\r\n result = true;\r\n return false\r\n }\r\n })\r\n }\r\n return result\r\n }\r\n _removeResizeFrames(clearArray) {\r\n var _this$_framesForTable2;\r\n each(this._tableResizeFrames, (index, resizeFrame) => {\r\n if (resizeFrame.$frame) {\r\n var _resizeFrame$$frame;\r\n var resizerElementsSelector = \".\".concat(DX_COLUMN_RESIZER_CLASS, \", .\").concat(DX_ROW_RESIZER_CLASS);\r\n this._detachSeparatorEvents(null === (_resizeFrame$$frame = resizeFrame.$frame) || void 0 === _resizeFrame$$frame ? void 0 : _resizeFrame$$frame.find(resizerElementsSelector));\r\n resizeFrame.$frame.remove()\r\n }\r\n });\r\n null === (_this$_framesForTable2 = this._framesForTables) || void 0 === _this$_framesForTable2 ? void 0 : _this$_framesForTable2.clear();\r\n if (clearArray) {\r\n this._tableResizeFrames = []\r\n }\r\n }\r\n _detachSeparatorEvents($lineSeparators) {\r\n $lineSeparators.each((i, $lineSeparator) => {\r\n eventsEngine.off($lineSeparator, POINTERDOWN_EVENT)\r\n })\r\n }\r\n _createTableResizeFrame() {\r\n return $(\"<div>\").addClass(DX_COLUMN_RESIZE_FRAME_CLASS).appendTo(this._quillContainer)\r\n }\r\n _updateFramesPositions() {\r\n each(this._tableResizeFrames, (index, tableResizeFrame) => {\r\n this._updateFramePosition(tableResizeFrame.$table, tableResizeFrame.$frame)\r\n })\r\n }\r\n _updateFramePosition($table, $frame) {\r\n var {\r\n height: height,\r\n width: width,\r\n top: targetTop,\r\n left: targetLeft\r\n } = getBoundingRect($table.get(0));\r\n var {\r\n top: containerTop,\r\n left: containerLeft\r\n } = getBoundingRect(this.quill.root);\r\n $frame.css({\r\n height: height,\r\n width: width,\r\n top: targetTop - containerTop,\r\n left: targetLeft - containerLeft\r\n });\r\n move($frame, {\r\n left: 0,\r\n top: 0\r\n })\r\n }\r\n _updateFramesSeparators(direction) {\r\n each(this._tableResizeFrames, (index, frame) => {\r\n if (direction) {\r\n this._updateFrameSeparators(frame, direction)\r\n } else {\r\n this._updateFrameSeparators(frame, \"vertical\");\r\n this._updateFrameSeparators(frame, \"horizontal\")\r\n }\r\n })\r\n }\r\n _isDraggable($element) {\r\n return $element.hasClass(\"dx-draggable\") && $element.is(\":visible\")\r\n }\r\n _removeDraggable($currentLineSeparator, lineResizerClass) {\r\n if (this._isDraggable($currentLineSeparator)) {\r\n var draggable = $($currentLineSeparator).dxDraggable(\"instance\");\r\n draggable.dispose();\r\n $($currentLineSeparator).addClass(lineResizerClass)\r\n }\r\n }\r\n _getDirectionInfo(direction) {\r\n if (\"vertical\" === direction) {\r\n return {\r\n lineResizerClass: DX_ROW_RESIZER_CLASS,\r\n sizeFunction: x => getOuterHeight(x),\r\n positionCoordinate: \"top\",\r\n positionStyleProperty: \"height\",\r\n positionCoordinateName: \"y\"\r\n }\r\n } else {\r\n return {\r\n lineResizerClass: DX_COLUMN_RESIZER_CLASS,\r\n sizeFunction: x => getOuterWidth(x),\r\n positionCoordinate: this.editorInstance.option(\"rtlEnabled\") ? \"right\" : \"left\",\r\n positionStyleProperty: \"width\",\r\n positionCoordinateName: \"x\"\r\n }\r\n }\r\n }\r\n _getSize($element, directionInfo) {\r\n return directionInfo.sizeFunction($element)\r\n }\r\n _updateFrameSeparators(frame, direction) {\r\n var $determinantElements = this._getTableDeterminantElements(frame.$table, direction);\r\n var determinantElementsCount = $determinantElements.length;\r\n var determinantElementsSeparatorsCount = determinantElementsCount - 1;\r\n var directionInfo = this._getDirectionInfo(direction);\r\n var lineSeparators = frame.$frame.find(\".\".concat(directionInfo.lineResizerClass));\r\n var styleOptions = {\r\n transform: \"none\"\r\n };\r\n var currentPosition = 0;\r\n for (var i = 0; i <= determinantElementsSeparatorsCount; i++) {\r\n currentPosition += this._getSize($determinantElements.eq(i), directionInfo);\r\n if (!isDefined(lineSeparators[i])) {\r\n lineSeparators[i] = $(\"<div>\").addClass(directionInfo.lineResizerClass).appendTo(frame.$frame).get(0)\r\n }\r\n var $currentLineSeparator = $(lineSeparators[i]);\r\n this._removeDraggable($currentLineSeparator, directionInfo.lineResizerClass);\r\n styleOptions[directionInfo.positionCoordinate] = currentPosition - DRAGGABLE_ELEMENT_OFFSET;\r\n $($currentLineSeparator).css(styleOptions);\r\n var attachSeparatorData = {\r\n lineSeparator: lineSeparators[i],\r\n index: i,\r\n $determinantElements: $determinantElements,\r\n frame: frame,\r\n direction: direction\r\n };\r\n this._attachColumnSeparatorEvents(attachSeparatorData)\r\n }\r\n }\r\n _getTableDeterminantElements($table, direction) {\r\n if (\"vertical\" === direction) {\r\n return $table.find(\"th:first-child, td:first-child\")\r\n } else {\r\n return getColumnElements($table)\r\n }\r\n }\r\n _attachColumnSeparatorEvents(options) {\r\n eventsEngine.on(options.lineSeparator, POINTERDOWN_EVENT, () => {\r\n this._createDraggableElement(options)\r\n })\r\n }\r\n _dragStartHandler(_ref) {\r\n var {\r\n $determinantElements: $determinantElements,\r\n index: index,\r\n frame: frame,\r\n direction: direction,\r\n lineSeparator: lineSeparator\r\n } = _ref;\r\n var directionInfo = this._getDirectionInfo(direction);\r\n this._isDragging = true;\r\n this._fixColumnsWidth(frame.$table);\r\n this._startLineSize = parseInt(this._getSize($($determinantElements[index]), directionInfo));\r\n this._startTableWidth = getOuterWidth(frame.$table);\r\n this._startLineSeparatorPosition = parseInt($(lineSeparator).css(directionInfo.positionCoordinate));\r\n this._nextLineSize = 0;\r\n if ($determinantElements[index + 1]) {\r\n this._nextLineSize = parseInt(this._getSize($($determinantElements[index + 1]), directionInfo))\r\n } else if (\"horizontal\" === direction) {\r\n unfixTableWidth(frame.$table, {\r\n quill: this.quill\r\n })\r\n }\r\n }\r\n _shouldRevertOffset(direction) {\r\n return \"horizontal\" === direction && this.editorInstance.option(\"rtlEnabled\")\r\n }\r\n _isNextColumnWidthEnough(nextColumnNewSize, $nextColumnElement, eventOffset) {\r\n if (!this._nextLineSize) {\r\n return true\r\n } else if (nextColumnNewSize >= this._minColumnWidth) {\r\n var isWidthIncreased = this._nextColumnOffsetLimit ? eventOffset < this._nextColumnOffsetLimit : eventOffset < 0;\r\n var isWidthLimited = Math.abs(this._getWidthStyleValue($nextColumnElement) - getOuterWidth($nextColumnElement)) > ROUGH_OFFSET;\r\n return isWidthIncreased || !isWidthLimited\r\n }\r\n return false\r\n }\r\n _shouldSetNextColumnWidth(nextColumnNewSize) {\r\n return this._nextLineSize && nextColumnNewSize > 0\r\n }\r\n _horizontalDragHandler(_ref2) {\r\n var {\r\n currentLineNewSize: currentLineNewSize,\r\n directionInfo: directionInfo,\r\n eventOffset: eventOffset,\r\n $determinantElements: $determinantElements,\r\n index: index,\r\n frame: frame\r\n } = _ref2;\r\n var nextColumnNewSize = this._nextLineSize && this._nextLineSize - eventOffset;\r\n var isCurrentColumnWidthEnough = currentLineNewSize >= this._minColumnWidth;\r\n var $lineElements = getLineElements(frame.$table, index);\r\n var $nextLineElements = getLineElements(frame.$table, index + 1);\r\n var realWidthDiff = getOuterWidth($lineElements.eq(0)) - currentLineNewSize;\r\n if (isCurrentColumnWidthEnough) {\r\n if (this._isNextColumnWidthEnough(nextColumnNewSize, $determinantElements.eq(index + 1), eventOffset)) {\r\n setLineElementsFormat(this, {\r\n elements: $lineElements,\r\n property: directionInfo.positionStyleProperty,\r\n value: currentLineNewSize\r\n });\r\n if (this._shouldSetNextColumnWidth(nextColumnNewSize)) {\r\n setLineElementsFormat(this, {\r\n elements: $nextLineElements,\r\n property: directionInfo.positionStyleProperty,\r\n value: nextColumnNewSize\r\n })\r\n }\r\n var isTableWidthChanged = Math.abs(this._startTableWidth - getOuterWidth(frame.$table)) < ROUGH_OFFSET;\r\n var shouldRevertNewValue = Math.abs(realWidthDiff) > ROUGH_OFFSET || !this._nextLineSize && isTableWidthChanged;\r\n if (shouldRevertNewValue) {\r\n setLineElementsFormat(this, {\r\n elements: $lineElements,\r\n property: directionInfo.positionStyleProperty,\r\n value: getOuterWidth($lineElements.eq(0))\r\n });\r\n nextColumnNewSize += currentLineNewSize - getOuterWidth($lineElements.eq(0));\r\n if (this._shouldSetNextColumnWidth(nextColumnNewSize)) {\r\n setLineElementsFormat(this, {\r\n elements: $nextLineElements,\r\n property: directionInfo.positionStyleProperty,\r\n value: nextColumnNewSize\r\n })\r\n }\r\n }\r\n } else {\r\n this._nextColumnOffsetLimit = this._nextColumnOffsetLimit || eventOffset\r\n }\r\n }\r\n this._$highlightedElement.css(directionInfo.positionCoordinate, this._startLineSeparatorPosition + eventOffset + realWidthDiff + \"px\")\r\n }\r\n _verticalDragHandler(_ref3) {\r\n var {\r\n currentLineNewSize: currentLineNewSize,\r\n directionInfo: directionInfo,\r\n eventOffset: eventOffset,\r\n $determinantElements: $determinantElements,\r\n index: index,\r\n frame: frame\r\n } = _ref3;\r\n var newHeight = Math.max(currentLineNewSize, this._minRowHeight);\r\n var $lineElements = getLineElements(frame.$table, index, \"vertical\");\r\n setLineElementsFormat(this, {\r\n elements: $lineElements,\r\n property: directionInfo.positionStyleProperty,\r\n value: newHeight\r\n });\r\n var rowHeightDiff = getOuterHeight($determinantElements.eq(index)) - currentLineNewSize;\r\n this._$highlightedElement.css(directionInfo.positionCoordinate, this._startLineSeparatorPosition + eventOffset + rowHeightDiff + \"px\")\r\n }\r\n _dragMoveHandler(event, _ref4) {\r\n var {\r\n $determinantElements: $determinantElements,\r\n index: index,\r\n frame: frame,\r\n direction: direction\r\n } = _ref4;\r\n var directionInfo = this._getDirectionInfo(direction);\r\n var eventOffset = event.offset[directionInfo.positionCoordinateName];\r\n this.editorInstance._saveValueChangeEvent(event);\r\n if (this._shouldRevertOffset(direction)) {\r\n eventOffset = -eventOffset\r\n }\r\n var currentLineNewSize = this._startLineSize + eventOffset;\r\n if (\"horizontal\" === direction) {\r\n this._horizontalDragHandler({\r\n currentLineNewSize: currentLineNewSize,\r\n directionInfo: directionInfo,\r\n eventOffset: eventOffset,\r\n $determinantElements: $determinantElements,\r\n index: index,\r\n frame: frame\r\n })\r\n } else {\r\n this._verticalDragHandler({\r\n currentLineNewSize: currentLineNewSize,\r\n directionInfo: directionInfo,\r\n eventOffset: eventOffset,\r\n $determinantElements: $determinantElements,\r\n index: index,\r\n frame: frame\r\n })\r\n }\r\n this._updateFramePosition(frame.$table, frame.$frame)\r\n }\r\n _dragEndHandler(options) {\r\n var _this$_$highlightedEl;\r\n null === (_this$_$highlightedEl = this._$highlightedElement) || void 0 === _this$_$highlightedEl ? void 0 : _this$_$highlightedEl.remove();\r\n this._isDragging = void 0;\r\n this._nextColumnOffsetLimit = void 0;\r\n this._tableLastWidth(options.frame, getOuterWidth(options.frame.$table));\r\n this._updateFramesPositions();\r\n this._updateFramesSeparators()\r\n }\r\n _isLastColumnResizing(_ref5) {\r\n var {\r\n $determinantElements: $determinantElements,\r\n index: index\r\n } = _ref5;\r\n return !isDefined($determinantElements[index + 1])\r\n }\r\n _getBoundaryConfig(options) {\r\n var result = {};\r\n if (\"vertical\" === options.direction) {\r\n result.boundary = options.frame.$table;\r\n result.boundOffset = {\r\n bottom: hasWindow() ? -getHeight(getWindow()) : -getOuterHeight(this._quillContainer),\r\n top: 0,\r\n left: 0,\r\n right: 0\r\n }\r\n } else if (!this._isLastColumnResizing(options)) {\r\n result.boundary = options.frame.$table\r\n } else {\r\n var $content = this.editorInstance._getContent();\r\n result.boundary = $content;\r\n result.boundOffset = {\r\n bottom: 0,\r\n top: 0,\r\n left: $content.css(\"paddingLeft\"),\r\n right: $content.css(\"paddingRight\")\r\n }\r\n }\r\n return result\r\n }\r\n _createDraggableElement(options) {\r\n var _this$_$highlightedEl2;\r\n var boundaryConfig = this._getBoundaryConfig(options);\r\n var directionClass = \"vertical\" === options.direction ? \"dx-htmleditor-highlighted-row\" : \"dx-htmleditor-highlighted-column\";\r\n null === (_this$_$highlightedEl2 = this._$highlightedElement) || void 0 === _this$_$highlightedEl2 ? void 0 : _this$_$highlightedEl2.remove();\r\n this._$highlightedElement = $(\"<div>\").addClass(\"\".concat(directionClass)).insertAfter($(options.lineSeparator));\r\n var config = {\r\n contentTemplate: null,\r\n allowMoveByClick: false,\r\n dragDirection: options.direction,\r\n onDragMove: _ref6 => {\r\n var {\r\n component: component,\r\n event: event\r\n } = _ref6;\r\n this._dragMoveHandler(event, options)\r\n },\r\n onDragStart: () => {\r\n this._dragStartHandler(options)\r\n },\r\n onDragEnd: () => {\r\n this._dragEndHandler(options)\r\n }\r\n };\r\n extend(config, boundaryConfig);\r\n this._currentDraggableElement = this.editorInstance._createComponent(options.lineSeparator, Draggable, config)\r\n }\r\n _fixColumnsWidth($table) {\r\n var determinantElements = this._getTableDeterminantElements($table);\r\n each(determinantElements, (index, element) => {\r\n var columnWidth = getOuterWidth(element);\r\n var $lineElements = getLineElements($table, index);\r\n setLineElementsFormat(this, {\r\n elements: $lineElements,\r\n property: \"width\",\r\n value: Math.max(columnWidth, this._minColumnWidth)\r\n })\r\n })\r\n }\r\n _getColumnElementsSum(columnElements) {\r\n var columnsWidths = [];\r\n var columnsSum = 0;\r\n each(columnElements, (index, element) => {\r\n var $element = $(element);\r\n var columnWidth = this._getWidthStyleValue($element) || getOuterWidth($element);\r\n columnsWidths[index] = Math.max(columnWidth, this._minColumnWidth);\r\n columnsSum += columnsWidths[index]\r\n });\r\n return {\r\n columnsWidths: columnsWidths,\r\n columnsSum: columnsSum\r\n }\r\n }\r\n _setColumnsRatioWidth(columnElements, ratio, columnsWidths, $table) {\r\n each(columnElements, index => {\r\n var $lineElements = getLineElements($table, index);\r\n var resultWidth;\r\n if (ratio > 0) {\r\n resultWidth = this._minColumnWidth + Math.round((columnsWidths[index] - this._minColumnWidth) * ratio)\r\n } else {\r\n resultWidth = this._minColumnWidth\r\n }\r\n setLineElementsFormat(this, {\r\n elements: $lineElements,\r\n property: \"width\",\r\n value: resultWidth\r\n })\r\n })\r\n }\r\n _updateColumnsWidth($table, frameIndex) {\r\n var determinantElements = this._getTableDeterminantElements($table);\r\n var frame = this._tableResizeFrames[frameIndex];\r\n if (!frame) {\r\n this._tableResizeFrames[frameIndex] = {}\r\n }\r\n frame = this._tableResizeFrames[frameIndex];\r\n var tableWidth = this._tableLastWidth(frame) || getOuterWidth($table);\r\n var ratio;\r\n var {\r\n columnsWidths: columnsWidths,\r\n columnsSum: columnsSum\r\n } = this._getColumnElementsSum(determinantElements);\r\n var minWidthForColumns = determinantElements.length * this._minColumnWidth;\r\n if (columnsSum > minWidthForColumns) {\r\n ratio = (tableWidth - minWidthForColumns) / (columnsSum - minWidthForColumns)\r\n } else {\r\n ratio = -1\r\n }\r\n this._tableLastWidth(frame, ratio > 0 ? tableWidth : minWidthForColumns);\r\n this._setColumnsRatioWidth(determinantElements, ratio, columnsWidths, $table)\r\n }\r\n _updateTablesColumnsWidth($tables) {\r\n each($tables, (index, table) => {\r\n this._updateColumnsWidth($(table), index)\r\n })\r\n }\r\n option(option, value) {\r\n if (\"tableResizing\" === option) {\r\n this.handleOptionChangeValue(value);\r\n return\r\n }\r\n if (\"enabled\" === option) {\r\n this.enabled = value;\r\n value ? this._applyResizing(true) : this.clean()\r\n } else if ([\"minColumnWidth\", \"minRowHeight\"].includes(option)) {\r\n this[\"_\".concat(option)] = this._minSizeLimit(option, value)\r\n }\r\n }\r\n clean() {\r\n this._removeResizeFrames(true);\r\n this._detachEvents();\r\n _windowResizeCallbacks.remove(this._resizeHandlerWithContext);\r\n clearTimeout(this._windowResizeTimeout);\r\n this._resizeHandlerWithContext = void 0;\r\n this._isDragging = void 0;\r\n this._startTableWidth = void 0;\r\n clearTimeout(this._attachResizerTimeout)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/modules/tableContextMenu.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Quill from \"devextreme-quill\";\r\nimport $ from \"../../../core/renderer\";\r\nimport BaseModule from \"./base\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport {\r\n addNamespace\r\n} from \"../../../events/utils/index\";\r\nimport ContextMenu from \"../../context_menu\";\r\nimport localizationMessage from \"../../../localization/message\";\r\nimport {\r\n getTableFormats\r\n} from \"../utils/table_helper\";\r\nimport {\r\n getFormatHandlers,\r\n getDefaultClickHandler,\r\n ICON_MAP\r\n} from \"../utils/toolbar_helper\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n isString,\r\n isObject\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n titleize,\r\n camelize\r\n} from \"../../../core/utils/inflector\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nvar MODULE_NAMESPACE = \"dxHtmlEditorTableContextMenu\";\r\nvar CONTEXT_MENU_EVENT = addNamespace(\"dxcontextmenu\", MODULE_NAMESPACE);\r\nvar TableContextMenuModule = BaseModule;\r\nvar localize = name => localizationMessage.format(\"dxHtmlEditor-\".concat(camelize(name)));\r\nif (Quill) {\r\n TableContextMenuModule = class extends BaseModule {\r\n constructor(quill, options) {\r\n super(quill, options);\r\n this.enabled = !!options.enabled;\r\n this._quillContainer = this.editorInstance._getQuillContainer();\r\n this.addCleanCallback(this.prepareCleanCallback());\r\n this._formatHandlers = getFormatHandlers(this);\r\n this._tableFormats = getTableFormats(quill);\r\n if (this.enabled) {\r\n this._enableContextMenu(options.items)\r\n }\r\n }\r\n _enableContextMenu(items) {\r\n var _this$_contextMenu;\r\n null === (_this$_contextMenu = this._contextMenu) || void 0 === _this$_contextMenu ? void 0 : _this$_contextMenu.dispose();\r\n this._contextMenu = this._createContextMenu(items);\r\n this._attachEvents()\r\n }\r\n _attachEvents() {\r\n eventsEngine.on(this.editorInstance._getContent(), CONTEXT_MENU_EVENT, this._prepareContextMenuHandler())\r\n }\r\n _detachEvents() {\r\n eventsEngine.off(this.editorInstance._getContent(), CONTEXT_MENU_EVENT)\r\n }\r\n _createContextMenu(items) {\r\n var $container = $(\"<div>\").appendTo(this.editorInstance.$element());\r\n var menuConfig = this._getMenuConfig(items);\r\n return this.editorInstance._createComponent($container, ContextMenu, menuConfig)\r\n }\r\n showPropertiesForm() {\r\n var type = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : \"cell\";\r\n var $element = $(this._targetElement).closest(\"cell\" === type ? \"th, td\" : \"table\");\r\n this._contextMenu.hide();\r\n this._formatHandlers[\"\".concat(type, \"Properties\")]($element);\r\n this._targetElement = null\r\n }\r\n _isAcceptableItem(widget, acceptableWidgetName) {\r\n return !widget || widget === acceptableWidgetName\r\n }\r\n _handleObjectItem(item) {\r\n if (item.name && this._isAcceptableItem(item.widget, \"dxButton\")) {\r\n var defaultButtonItemConfig = this._prepareMenuItemConfig(item.name);\r\n var buttonItemConfig = extend(true, defaultButtonItemConfig, item);\r\n return buttonItemConfig\r\n } else if (item.items) {\r\n item.items = this._prepareMenuItems(item.items);\r\n return item\r\n } else {\r\n return item\r\n }\r\n }\r\n _prepareMenuItemConfig(name) {\r\n var _ICON_MAP$name, _this$_formatHandlers;\r\n var iconName = null !== (_ICON_MAP$name = ICON_MAP[name]) && void 0 !== _ICON_MAP$name ? _ICON_MAP$name : name;\r\n var buttonText = titleize(name);\r\n return {\r\n text: localize(buttonText),\r\n icon: iconName.toLowerCase(),\r\n onClick: null !== (_this$_formatHandlers = this._formatHandlers[name]) && void 0 !== _this$_formatHandlers ? _this$_formatHandlers : getDefaultClickHandler(this, name)\r\n }\r\n }\r\n _prepareMenuItems(items) {\r\n var resultItems = [];\r\n each(items, (_, item) => {\r\n var newItem;\r\n if (isObject(item)) {\r\n newItem = this._handleObjectItem(item)\r\n } else if (isString(item)) {\r\n newItem = this._prepareMenuItemConfig(item)\r\n }\r\n if (newItem) {\r\n resultItems.push(newItem)\r\n }\r\n });\r\n return resultItems\r\n }\r\n _getMenuConfig(items) {\r\n var defaultItems = [{\r\n text: localize(\"insert\"),\r\n items: [\"insertHeaderRow\", \"insertRowAbove\", \"insertRowBelow\", extend(this._prepareMenuItemConfig(\"insertColumnLeft\"), {\r\n beginGroup: true\r\n }), \"insertColumnRight\"]\r\n }, {\r\n text: localize(\"delete\"),\r\n items: [\"deleteColumn\", \"deleteRow\", \"deleteTable\"]\r\n }, extend(this._prepareMenuItemConfig(\"cellProperties\"), {\r\n onClick: e => {\r\n this.showPropertiesForm(\"cell\")\r\n }\r\n }), extend(this._prepareMenuItemConfig(\"tableProperties\"), {\r\n onClick: e => {\r\n this.showPropertiesForm(\"table\")\r\n }\r\n })];\r\n var customItems = this._prepareMenuItems(null !== items && void 0 !== items && items.length ? items : defaultItems);\r\n return {\r\n target: this._quillContainer,\r\n showEvent: null,\r\n hideOnParentScroll: false,\r\n items: customItems\r\n }\r\n }\r\n _prepareContextMenuHandler() {\r\n return event => {\r\n if (this._isTableTarget(event.target)) {\r\n this._targetElement = event.target;\r\n this._setContextMenuPosition(event);\r\n this._contextMenu.show();\r\n event.preventDefault()\r\n }\r\n }\r\n }\r\n _setContextMenuPosition(event) {\r\n var startPosition = this._quillContainer.get(0).getBoundingClientRect();\r\n this._contextMenu.option({\r\n position: {\r\n my: \"left top\",\r\n at: \"left top\",\r\n collision: \"fit fit\",\r\n offset: {\r\n x: event.clientX - startPosition.left,\r\n y: event.clientY - startPosition.top\r\n }\r\n }\r\n })\r\n }\r\n _isTableTarget(targetElement) {\r\n return !!$(targetElement).closest(\".dx-htmleditor-content td, .dx-htmleditor-content th\").length\r\n }\r\n clean() {\r\n this._detachEvents()\r\n }\r\n option(option, value) {\r\n if (\"tableContextMenu\" === option) {\r\n this.handleOptionChangeValue(value);\r\n return\r\n }\r\n if (\"enabled\" === option) {\r\n this.enabled = value;\r\n value ? this._enableContextMenu() : this.clean()\r\n } else if (\"items\" === option) {\r\n var _this$_contextMenu2;\r\n null === (_this$_contextMenu2 = this._contextMenu) || void 0 === _this$_contextMenu2 ? void 0 : _this$_contextMenu2.dispose();\r\n this._contextMenu = this._createContextMenu(value)\r\n }\r\n }\r\n prepareCleanCallback() {\r\n return () => {\r\n this.clean()\r\n }\r\n }\r\n }\r\n}\r\nexport default TableContextMenuModule;\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/modules/imageUpload.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Quill from \"devextreme-quill\";\r\nimport BaseModule from \"./base\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n serverUpload,\r\n getFileUploaderBaseOptions\r\n} from \"../utils/image_uploader_helper\";\r\nimport {\r\n addNamespace\r\n} from \"../../../events/utils/index\";\r\nimport FileUploader from \"../../file_uploader\";\r\nvar MODULE_NAMESPACE = \"dxHtmlEditorImageUpload\";\r\nvar HIDDEN_FILE_UPLOADER_CLASS = \"dx-htmleditor-hidden-content\";\r\nvar ImageUploadModule = BaseModule;\r\nif (Quill) {\r\n ImageUploadModule = class extends BaseModule {\r\n constructor(quill, options) {\r\n super(quill, options);\r\n this.options = options;\r\n this._quillContainer = this.editorInstance._getQuillContainer();\r\n this.addCleanCallback(this.prepareCleanCallback());\r\n this._handleServerUpload()\r\n }\r\n _handleServerUpload() {\r\n var useServerUpload = isDefined(this.options.fileUploadMode) && \"base64\" !== this.options.fileUploadMode;\r\n useServerUpload ? this._enableDragAndDropUploading() : this._disableDragAndDropUploading()\r\n }\r\n _getUploaderModule() {\r\n if (!this._uploaderModule) {\r\n this._uploaderModule = this.quill.getModule(\"uploader\")\r\n }\r\n return this._uploaderModule\r\n }\r\n _disableDragAndDropUploading() {\r\n var _this$_fileUploader;\r\n this._getUploaderModule().preventImageUploading(false);\r\n this._detachEvents();\r\n null === (_this$_fileUploader = this._fileUploader) || void 0 === _this$_fileUploader ? void 0 : _this$_fileUploader.dispose()\r\n }\r\n _enableDragAndDropUploading() {\r\n this._initFileUploader();\r\n this._getUploaderModule().preventImageUploading(true);\r\n this._attachEvents()\r\n }\r\n _initFileUploader() {\r\n var $container = $(\"<div>\").addClass(HIDDEN_FILE_UPLOADER_CLASS).appendTo(this._quillContainer);\r\n var fileUploaderOptions = extend({}, getFileUploaderBaseOptions(), {\r\n uploadUrl: this.options.uploadUrl,\r\n onUploaded: this._onUploaded.bind(this)\r\n }, this.options.fileUploaderOptions);\r\n this._fileUploader = this.editorInstance._createComponent($container, FileUploader, fileUploaderOptions);\r\n return $container\r\n }\r\n _onUploaded(data) {\r\n var _this$quill$getSelect;\r\n var {\r\n index: pasteIndex\r\n } = null !== (_this$quill$getSelect = this.quill.getSelection()) && void 0 !== _this$quill$getSelect ? _this$quill$getSelect : {\r\n index: this.quill.getLength()\r\n };\r\n serverUpload(this.options.uploadDirectory, data.file.name, this.quill, pasteIndex)\r\n }\r\n _attachEvents() {\r\n eventsEngine.on(this.quill.root, addNamespace(\"drop\", MODULE_NAMESPACE), this._dropHandler.bind(this));\r\n eventsEngine.on(this.quill.root, addNamespace(\"paste\", MODULE_NAMESPACE), this._pasteHandler.bind(this))\r\n }\r\n _detachEvents() {\r\n eventsEngine.off(this.quill.root, MODULE_NAMESPACE)\r\n }\r\n _dropHandler(e) {\r\n this._handleInsertImages(e, \"dataTransfer\")\r\n }\r\n _pasteHandler(e) {\r\n this._handleInsertImages(e, \"clipboardData\")\r\n }\r\n _handleInsertImages(e, filesField) {\r\n this.saveValueChangeEvent(e);\r\n var files = Array.from(e.originalEvent[filesField].files || []);\r\n var uploads = files;\r\n if (uploads.length) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this._fileUploader.option(\"value\", uploads);\r\n this._fileUploader.upload()\r\n }\r\n }\r\n clean() {\r\n this._disableDragAndDropUploading()\r\n }\r\n prepareCleanCallback() {\r\n return () => {\r\n this.clean()\r\n }\r\n }\r\n option(option, value) {\r\n switch (option) {\r\n case \"imageUpload\":\r\n this.handleOptionChangeValue(value);\r\n break;\r\n case \"fileUploadMode\":\r\n this.options.fileUploadMode = value;\r\n this._handleServerUpload();\r\n break;\r\n case \"fileUploaderOptions\":\r\n this._fileUploader.option(value)\r\n }\r\n }\r\n }\r\n}\r\nexport default ImageUploadModule;\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/modules/imageCursor.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Quill from \"devextreme-quill\";\r\nimport BaseModule from \"./base\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport {\r\n addNamespace\r\n} from \"../../../events/utils/index\";\r\nvar MODULE_NAMESPACE = \"dxHtmlEditorImageCursor\";\r\nvar clickEvent = addNamespace(\"dxclick\", MODULE_NAMESPACE);\r\nvar ImageCursorModule = BaseModule;\r\nif (Quill) {\r\n ImageCursorModule = class extends BaseModule {\r\n constructor(quill, options) {\r\n super(quill, options);\r\n this.addCleanCallback(this.clean.bind(this));\r\n this._attachEvents()\r\n }\r\n _attachEvents() {\r\n eventsEngine.on(this.quill.root, clickEvent, this._clickHandler.bind(this))\r\n }\r\n _detachEvents() {\r\n eventsEngine.off(this.quill.root, clickEvent)\r\n }\r\n _clickHandler(e) {\r\n if (this._isAllowedTarget(e.target)) {\r\n this._adjustSelection(e)\r\n }\r\n }\r\n _isAllowedTarget(targetElement) {\r\n return this._isImage(targetElement)\r\n }\r\n _isImage(targetElement) {\r\n return \"IMG\" === targetElement.tagName.toUpperCase()\r\n }\r\n _adjustSelection(e) {\r\n var blot = this.quill.scroll.find(e.target);\r\n if (blot) {\r\n var index = blot.offset(this.quill.scroll);\r\n this.quill.setSelection(index + 1, 0)\r\n } else {\r\n this.quill.setSelection(0, 0)\r\n }\r\n }\r\n clean() {\r\n this._detachEvents()\r\n }\r\n }\r\n}\r\nexport default ImageCursorModule;\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/utils/templates_storage.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined,\r\n isEmptyObject\r\n} from \"../../../core/utils/type\";\r\nexport default class TemplatesStorage {\r\n constructor() {\r\n this._storage = {}\r\n }\r\n set(_ref, value) {\r\n var _this$_storage, _this$_storage$editor;\r\n var {\r\n editorKey: editorKey,\r\n marker: marker\r\n } = _ref;\r\n null !== (_this$_storage$editor = (_this$_storage = this._storage)[editorKey]) && void 0 !== _this$_storage$editor ? _this$_storage$editor : _this$_storage[editorKey] = {};\r\n this._storage[editorKey][marker] = value\r\n }\r\n get(_ref2) {\r\n var _Object$values$at, _this$_storage$editor2;\r\n var {\r\n editorKey: editorKey,\r\n marker: marker\r\n } = _ref2;\r\n var isQuillFormatCall = !isDefined(editorKey);\r\n return isQuillFormatCall ? null === (_Object$values$at = Object.values(this._storage).at(-1)) || void 0 === _Object$values$at ? void 0 : _Object$values$at[marker] : null === (_this$_storage$editor2 = this._storage[editorKey]) || void 0 === _this$_storage$editor2 ? void 0 : _this$_storage$editor2[marker]\r\n }\r\n delete(_ref3) {\r\n var {\r\n editorKey: editorKey,\r\n marker: marker\r\n } = _ref3;\r\n if (!this._storage[editorKey]) {\r\n return\r\n }\r\n delete this._storage[editorKey][marker];\r\n if (isEmptyObject(this._storage[editorKey])) {\r\n delete this._storage[editorKey]\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/formats/mention.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Quill from \"devextreme-quill\";\r\nimport $ from \"../../../core/renderer\";\r\nimport TemplatesStorage from \"../utils/templates_storage\";\r\nvar Mention = {};\r\nif (Quill) {\r\n var Embed = Quill.import(\"blots/embed\");\r\n var MENTION_CLASS = \"dx-mention\";\r\n Mention = class Mention extends Embed {\r\n constructor(scroll, node) {\r\n super(scroll, node);\r\n this.renderContent(this.contentNode, Mention.value(node))\r\n }\r\n static create(data) {\r\n var node = super.create();\r\n node.setAttribute(\"spellcheck\", false);\r\n node.dataset.marker = data.marker;\r\n node.dataset.mentionValue = data.value;\r\n node.dataset.id = data.id;\r\n return node\r\n }\r\n static value(node) {\r\n return {\r\n marker: node.dataset.marker,\r\n id: node.dataset.id,\r\n value: node.dataset.mentionValue\r\n }\r\n }\r\n renderContent(node, data) {\r\n var template = Mention._templatesStorage.get({\r\n editorKey: data.keyInTemplateStorage,\r\n marker: data.marker\r\n });\r\n if (template) {\r\n template.render({\r\n model: data,\r\n container: node\r\n })\r\n } else {\r\n this.baseContentRender(node, data)\r\n }\r\n }\r\n baseContentRender(node, data) {\r\n var $marker = $(\"<span>\").text(data.marker);\r\n $(node).append($marker).append(data.value)\r\n }\r\n static addTemplate(data, template) {\r\n this._templatesStorage.set(data, template)\r\n }\r\n static removeTemplate(data) {\r\n this._templatesStorage.delete(data)\r\n }\r\n };\r\n Mention.blotName = \"mention\";\r\n Mention.tagName = \"span\";\r\n Mention.className = MENTION_CLASS;\r\n Mention._templatesStorage = new TemplatesStorage\r\n}\r\nexport default Mention;\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/modules/mentions.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport Quill from \"devextreme-quill\";\r\nimport {\r\n compileGetter\r\n} from \"../../../core/utils/data\";\r\nimport {\r\n isString\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n getPublicElement\r\n} from \"../../../core/element\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport BaseModule from \"./base\";\r\nimport PopupModule from \"./popup\";\r\nimport Mention from \"../formats/mention\";\r\nvar MentionModule = BaseModule;\r\nif (Quill) {\r\n var USER_ACTION = \"user\";\r\n var DEFAULT_MARKER = \"@\";\r\n var KEYS = {\r\n ARROW_UP: \"upArrow\",\r\n ARROW_DOWN: \"downArrow\",\r\n ARROW_LEFT: \"leftArrow\",\r\n ARROW_RIGHT: \"rightArrow\",\r\n ENTER: \"enter\",\r\n ESCAPE: \"escape\",\r\n SPACE: \"space\",\r\n PAGE_UP: \"pageUp\",\r\n PAGE_DOWN: \"pageDown\",\r\n END: \"end\",\r\n HOME: \"home\"\r\n };\r\n var NAVIGATION_KEYS = [KEYS.ARROW_LEFT, KEYS.ARROW_RIGHT, KEYS.PAGE_UP, KEYS.PAGE_DOWN, KEYS.END, KEYS.HOME];\r\n var ALLOWED_PREFIX_CHARS = [\" \", \"\\n\"];\r\n var DISABLED_STATE_CLASS = \"dx-state-disabled\";\r\n Quill.register({\r\n \"formats/mention\": Mention\r\n }, true);\r\n MentionModule = class extends PopupModule {\r\n _getDefaultOptions() {\r\n var baseConfig = super._getDefaultOptions();\r\n return extend(baseConfig, {\r\n itemTemplate: \"item\",\r\n valueExpr: \"this\",\r\n displayExpr: \"this\",\r\n template: null,\r\n searchExpr: null,\r\n searchTimeout: 500,\r\n minSearchLength: 0\r\n })\r\n }\r\n constructor(quill, options) {\r\n super(quill, options);\r\n this._mentions = {};\r\n options.mentions.forEach(item => {\r\n var marker = item.marker;\r\n if (!marker) {\r\n item.marker = marker = DEFAULT_MARKER\r\n }\r\n var template = item.template;\r\n if (template) {\r\n var preparedTemplate = this.editorInstance._getTemplate(template);\r\n preparedTemplate && Mention.addTemplate({\r\n marker: marker,\r\n editorKey: this.editorInstance.getMentionKeyInTemplateStorage()\r\n }, preparedTemplate)\r\n }\r\n this._mentions[marker] = extend({}, this._getDefaultOptions(), item)\r\n });\r\n this._attachKeyboardHandlers();\r\n this.addCleanCallback(this.clean.bind(this));\r\n this.quill.on(\"text-change\", this.onTextChange.bind(this))\r\n }\r\n _attachKeyboardHandlers() {\r\n this.quill.keyboard.addBinding({\r\n key: KEYS.ARROW_UP\r\n }, this._moveToItem.bind(this, \"prev\"));\r\n this.quill.keyboard.addBinding({\r\n key: KEYS.ARROW_DOWN\r\n }, this._moveToItem.bind(this, \"next\"));\r\n this.quill.keyboard.addBinding({\r\n key: [KEYS.ENTER, KEYS.SPACE]\r\n }, this._selectItemHandler.bind(this));\r\n var enterBindings = this.quill.keyboard.bindings[KEYS.ENTER];\r\n enterBindings.unshift(enterBindings.pop());\r\n this.quill.keyboard.addBinding({\r\n key: KEYS.ESCAPE\r\n }, this._escapeKeyHandler.bind(this));\r\n this.quill.keyboard.addBinding({\r\n key: [KEYS.ARROW_LEFT, KEYS.ARROW_RIGHT],\r\n shiftKey: true\r\n }, this._ignoreKeyHandler.bind(this));\r\n this.quill.keyboard.addBinding({\r\n key: NAVIGATION_KEYS\r\n }, this._ignoreKeyHandler.bind(this))\r\n }\r\n _moveToItem(direction) {\r\n var dataSource = this._list.getDataSource();\r\n if (this._isMentionActive && !dataSource.isLoading()) {\r\n var $focusedItem = $(this._list.option(\"focusedElement\"));\r\n var defaultItemPosition = \"next\" === direction ? \"first\" : \"last\";\r\n var $nextItem = $focusedItem[direction]();\r\n $nextItem = $nextItem.length ? $nextItem : this._activeListItems[defaultItemPosition]();\r\n this._list.option(\"focusedElement\", getPublicElement($nextItem));\r\n this._list.scrollToItem($nextItem)\r\n }\r\n return !this._isMentionActive\r\n }\r\n _ignoreKeyHandler() {\r\n return !this._isMentionActive\r\n }\r\n _fitIntoRange(value, start, end) {\r\n if (value > end) {\r\n return start\r\n }\r\n if (value < start) {\r\n return end\r\n }\r\n return value\r\n }\r\n _selectItemHandler() {\r\n if (this._isMentionActive) {\r\n this._list.option(\"items\").length ? this._list.selectItem(this._list.option(\"focusedElement\")) : this._popup.hide()\r\n }\r\n return !this._isMentionActive\r\n }\r\n _escapeKeyHandler() {\r\n if (this._isMentionActive) {\r\n this._popup.hide()\r\n }\r\n return !this._isMentionActive\r\n }\r\n renderList($container, options) {\r\n this.compileGetters(this.options);\r\n super.renderList($container, options)\r\n }\r\n compileGetters(_ref) {\r\n var {\r\n displayExpr: displayExpr,\r\n valueExpr: valueExpr\r\n } = _ref;\r\n this._valueGetter = compileGetter(displayExpr);\r\n this._idGetter = compileGetter(valueExpr)\r\n }\r\n _getListConfig(options) {\r\n var baseConfig = super._getListConfig(options);\r\n return extend(baseConfig, {\r\n itemTemplate: this.options.itemTemplate,\r\n onContentReady: () => {\r\n if (this._hasSearch) {\r\n this._popup.repaint();\r\n this._focusFirstElement();\r\n this._hasSearch = false\r\n }\r\n }\r\n })\r\n }\r\n insertEmbedContent() {\r\n var markerLength = this._activeMentionConfig.marker.length;\r\n var textLength = markerLength + this._searchValue.length;\r\n var caretPosition = this.getPosition();\r\n var selectedItem = this._list.option(\"selectedItem\");\r\n var value = {\r\n value: this._valueGetter(selectedItem),\r\n id: this._idGetter(selectedItem),\r\n marker: this._activeMentionConfig.marker,\r\n keyInTemplateStorage: this.editorInstance.getMentionKeyInTemplateStorage()\r\n };\r\n var Delta = Quill.import(\"delta\");\r\n var startIndex = Math.max(0, caretPosition - markerLength);\r\n var newDelta = (new Delta).retain(startIndex).delete(textLength).insert({\r\n mention: value\r\n }).insert(\" \");\r\n this.quill.updateContents(newDelta);\r\n this.quill.setSelection(startIndex + 2)\r\n }\r\n _getLastInsertOperation(ops) {\r\n var lastOperation = ops[ops.length - 1];\r\n var isLastOperationInsert = \"insert\" in lastOperation;\r\n if (isLastOperationInsert) {\r\n return lastOperation\r\n }\r\n var isLastOperationDelete = \"delete\" in lastOperation;\r\n if (isLastOperationDelete && ops.length >= 2) {\r\n var penultOperation = ops[ops.length - 2];\r\n var isPenultOperationInsert = \"insert\" in penultOperation;\r\n var isSelectionReplacing = isLastOperationDelete && isPenultOperationInsert;\r\n if (isSelectionReplacing) {\r\n return penultOperation\r\n }\r\n }\r\n return null\r\n }\r\n onTextChange(newDelta, oldDelta, source) {\r\n if (source === USER_ACTION) {\r\n var lastOperation = newDelta.ops[newDelta.ops.length - 1];\r\n if (this._isMentionActive && this._isPopupVisible) {\r\n this._processSearchValue(lastOperation) && this._filterList(this._searchValue)\r\n } else {\r\n var {\r\n ops: ops\r\n } = newDelta;\r\n var lastInsertOperation = this._getLastInsertOperation(ops);\r\n if (lastInsertOperation) {\r\n this.checkMentionRequest(lastInsertOperation, ops)\r\n }\r\n }\r\n }\r\n }\r\n get _isPopupVisible() {\r\n var _this$_popup;\r\n return null === (_this$_popup = this._popup) || void 0 === _this$_popup ? void 0 : _this$_popup.option(\"visible\")\r\n }\r\n _processSearchValue(operation) {\r\n var isInsertOperation = \"insert\" in operation;\r\n if (isInsertOperation) {\r\n this._searchValue += operation.insert\r\n } else if (!this._searchValue.length || operation.delete > 1) {\r\n this._popup.hide();\r\n return false\r\n } else {\r\n this._searchValue = this._searchValue.slice(0, -1)\r\n }\r\n return true\r\n }\r\n checkMentionRequest(_ref2, ops) {\r\n var {\r\n insert: insert\r\n } = _ref2;\r\n var caret = this.quill.getSelection();\r\n if (!insert || !isString(insert) || !caret || this._isMarkerPartOfText(ops[0].retain)) {\r\n return\r\n }\r\n this._activeMentionConfig = this._mentions[insert];\r\n if (this._activeMentionConfig) {\r\n this._updateList(this._activeMentionConfig);\r\n var isOnNewLine = caret.index && \"\\n\" === this._getCharByIndex(caret.index - 1);\r\n this.savePosition(caret.index + isOnNewLine);\r\n this._popup.option(\"position\", this._popupPosition);\r\n this._searchValue = \"\";\r\n this._popup.show()\r\n }\r\n }\r\n _isMarkerPartOfText(retain) {\r\n if (!retain || -1 !== ALLOWED_PREFIX_CHARS.indexOf(this._getCharByIndex(retain - 1))) {\r\n return false\r\n }\r\n return true\r\n }\r\n _getCharByIndex(index) {\r\n return this.quill.getContents(index, 1).ops[0].insert\r\n }\r\n _updateList(_ref3) {\r\n var {\r\n dataSource: dataSource,\r\n displayExpr: displayExpr,\r\n valueExpr: valueExpr,\r\n itemTemplate: itemTemplate,\r\n searchExpr: searchExpr\r\n } = _ref3;\r\n this.compileGetters({\r\n displayExpr: displayExpr,\r\n valueExpr: valueExpr\r\n });\r\n this._list.unselectAll();\r\n this._list.option({\r\n dataSource: dataSource,\r\n displayExpr: displayExpr,\r\n itemTemplate: itemTemplate,\r\n searchExpr: searchExpr\r\n })\r\n }\r\n _filterList(searchValue) {\r\n if (!this._isMinSearchLengthExceeded(searchValue)) {\r\n this._resetFilter();\r\n return\r\n }\r\n var searchTimeout = this._activeMentionConfig.searchTimeout;\r\n if (searchTimeout) {\r\n clearTimeout(this._searchTimer);\r\n this._searchTimer = setTimeout(() => {\r\n this._search(searchValue)\r\n }, searchTimeout)\r\n } else {\r\n this._search(searchValue)\r\n }\r\n }\r\n _isMinSearchLengthExceeded(searchValue) {\r\n return searchValue.length >= this._activeMentionConfig.minSearchLength\r\n }\r\n _resetFilter() {\r\n clearTimeout(this._searchTimer);\r\n this._search(null)\r\n }\r\n _search(searchValue) {\r\n this._hasSearch = true;\r\n this._list.option(\"searchValue\", searchValue)\r\n }\r\n _focusFirstElement() {\r\n if (!this._list) {\r\n return\r\n }\r\n var $firstItem = this._activeListItems.first();\r\n this._list.option(\"focusedElement\", getPublicElement($firstItem));\r\n this._list.scrollToItem($firstItem)\r\n }\r\n get _popupPosition() {\r\n var position = this.getPosition();\r\n var {\r\n left: mentionLeft,\r\n top: mentionTop,\r\n height: mentionHeight\r\n } = this.quill.getBounds(position ? position - 1 : position);\r\n var {\r\n left: leftOffset,\r\n top: topOffset\r\n } = $(this.quill.root).offset();\r\n var positionEvent = eventsEngine.Event(\"positionEvent\", {\r\n pageX: leftOffset + mentionLeft,\r\n pageY: topOffset + mentionTop\r\n });\r\n return {\r\n of: positionEvent,\r\n offset: {\r\n v: mentionHeight\r\n },\r\n my: \"top left\",\r\n at: \"top left\",\r\n collision: {\r\n y: \"flip\",\r\n x: \"flipfit\"\r\n }\r\n }\r\n }\r\n _getPopupConfig() {\r\n return extend(super._getPopupConfig(), {\r\n hideOnParentScroll: false,\r\n onShown: () => {\r\n this._isMentionActive = true;\r\n this._hasSearch = false;\r\n this._focusFirstElement()\r\n },\r\n onHidden: () => {\r\n this._list.unselectAll();\r\n this._list.option(\"focusedElement\", null);\r\n this._isMentionActive = false;\r\n this._search(null)\r\n },\r\n focusStateEnabled: false\r\n })\r\n }\r\n get _activeListItems() {\r\n return this._list.itemElements().filter(\":not(.\".concat(DISABLED_STATE_CLASS, \")\"))\r\n }\r\n clean() {\r\n Object.keys(this._mentions).forEach(marker => {\r\n if (this._mentions[marker].template) {\r\n Mention.removeTemplate({\r\n marker: marker,\r\n editorKey: this.editorInstance.getMentionKeyInTemplateStorage()\r\n })\r\n }\r\n })\r\n }\r\n }\r\n}\r\nexport default MentionModule;\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/quill_registrator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getQuill\r\n} from \"./quill_importer\";\r\nimport BaseTheme from \"./themes/base\";\r\nimport Image from \"./formats/image\";\r\nimport Link from \"./formats/link\";\r\nimport FontStyle from \"./formats/font\";\r\nimport SizeStyle from \"./formats/size\";\r\nimport AlignStyle from \"./formats/align\";\r\nimport Toolbar from \"./modules/toolbar\";\r\nimport DropImage from \"./modules/dropImage\";\r\nimport Variables from \"./modules/variables\";\r\nimport Resizing from \"./modules/resizing\";\r\nimport TableResizing from \"./modules/tableResizing\";\r\nimport TableContextMenu from \"./modules/tableContextMenu\";\r\nimport ImageUpload from \"./modules/imageUpload\";\r\nimport ImageCursor from \"./modules/imageCursor\";\r\nimport MentionsModule from \"./modules/mentions\";\r\nclass QuillRegistrator {\r\n constructor() {\r\n if (QuillRegistrator.initialized) {\r\n return\r\n }\r\n var quill = this.getQuill();\r\n var DirectionStyle = quill.import(\"attributors/style/direction\");\r\n quill.register({\r\n \"formats/align\": AlignStyle,\r\n \"formats/direction\": DirectionStyle,\r\n \"formats/font\": FontStyle,\r\n \"formats/size\": SizeStyle,\r\n \"formats/extendedImage\": Image,\r\n \"formats/link\": Link,\r\n \"modules/toolbar\": Toolbar,\r\n \"modules/dropImage\": DropImage,\r\n \"modules/variables\": Variables,\r\n \"modules/resizing\": Resizing,\r\n \"modules/tableResizing\": TableResizing,\r\n \"modules/tableContextMenu\": TableContextMenu,\r\n \"modules/imageUpload\": ImageUpload,\r\n \"modules/imageCursor\": ImageCursor,\r\n \"modules/mentions\": MentionsModule,\r\n \"themes/basic\": BaseTheme\r\n }, true);\r\n this._customModules = [];\r\n QuillRegistrator._initialized = true\r\n }\r\n createEditor(container, config) {\r\n var quill = this.getQuill();\r\n return new quill(container, config)\r\n }\r\n registerModules(modulesConfig) {\r\n var isModule = RegExp(\"modules/*\");\r\n var quill = this.getQuill();\r\n var isRegisteredModule = modulePath => !!quill.imports[modulePath];\r\n for (var modulePath in modulesConfig) {\r\n if (isModule.test(modulePath) && !isRegisteredModule(modulePath)) {\r\n this._customModules.push(modulePath.slice(8))\r\n }\r\n }\r\n quill.register(modulesConfig, true)\r\n }\r\n getRegisteredModuleNames() {\r\n return this._customModules\r\n }\r\n getQuill() {\r\n return getQuill()\r\n }\r\n}\r\nexport default QuillRegistrator;\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/converterController.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nclass ConverterController {\r\n constructor() {\r\n this._converters = {}\r\n }\r\n addConverter(name, converter) {\r\n this._converters[name] = converter\r\n }\r\n getConverter(name) {\r\n return this._converters[name]\r\n }\r\n}\r\nvar controller = new ConverterController;\r\nexport default controller;\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/converters/delta.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport ConverterController from \"../converterController\";\r\nclass DeltaConverter {\r\n setQuillInstance(quillInstance) {\r\n this.quillInstance = quillInstance\r\n }\r\n toHtml() {\r\n if (!this.quillInstance) {\r\n return\r\n }\r\n return this._isQuillEmpty() ? \"\" : this.quillInstance.getSemanticHTML(0, this.quillInstance.getLength() + 1)\r\n }\r\n _isQuillEmpty() {\r\n var delta = this.quillInstance.getContents();\r\n return 1 === delta.length() && this._isDeltaEmpty(delta)\r\n }\r\n _isDeltaEmpty(delta) {\r\n return delta.reduce((__, _ref) => {\r\n var {\r\n insert: insert\r\n } = _ref;\r\n return -1 !== insert.indexOf(\"\\n\")\r\n })\r\n }\r\n}\r\nConverterController.addConverter(\"delta\", DeltaConverter);\r\nexport default DeltaConverter;\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/matchers/wordLists.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nfunction getListType(matches) {\r\n var prefix = matches[1];\r\n return prefix.match(/\\S+\\./) ? \"ordered\" : \"bullet\"\r\n}\r\n\r\nfunction getIndent(node) {\r\n var style = node.getAttribute(\"style\");\r\n if (style) {\r\n var level = style.replace(/\\n+/g, \"\").match(/level(\\d+)/);\r\n return level ? level[1] - 1 : 0\r\n } else {\r\n return false\r\n }\r\n}\r\n\r\nfunction removeNewLineChar(operations) {\r\n var newLineOperation = operations[operations.length - 1];\r\n newLineOperation.insert = newLineOperation.insert.trim()\r\n}\r\nvar getMatcher = quill => {\r\n var Delta = quill.import(\"delta\");\r\n return (node, delta) => {\r\n var ops = delta.ops.slice();\r\n var insertOperation = ops[0];\r\n insertOperation.insert = insertOperation.insert.replace(/^\\s+/, \"\");\r\n var listDecoratorMatches = insertOperation.insert.match(/^(\\S+)\\s+/);\r\n var indent = listDecoratorMatches && getIndent(node);\r\n if (!listDecoratorMatches || false === indent) {\r\n return delta\r\n }\r\n insertOperation.insert = insertOperation.insert.substring(listDecoratorMatches[0].length, insertOperation.insert.length);\r\n removeNewLineChar(ops);\r\n ops.push({\r\n insert: \"\\n\",\r\n attributes: {\r\n list: getListType(listDecoratorMatches),\r\n indent: indent\r\n }\r\n });\r\n return new Delta(ops)\r\n }\r\n};\r\nexport default getMatcher;\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/ui/formDialog.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport Popup from \"../../popup\";\r\nimport Form from \"../../form\";\r\nimport {\r\n Deferred\r\n} from \"../../../core/utils/deferred\";\r\nimport localizationMessage from \"../../../localization/message\";\r\nimport {\r\n getCurrentScreenFactor,\r\n hasWindow\r\n} from \"../../../core/utils/window\";\r\nimport devices from \"../../../core/devices\";\r\nimport {\r\n isMaterial\r\n} from \"../../themes\";\r\nvar DIALOG_CLASS = \"dx-formdialog\";\r\nvar FORM_CLASS = \"dx-formdialog-form\";\r\nclass FormDialog {\r\n constructor(editorInstance, popupConfig) {\r\n this._editorInstance = editorInstance;\r\n this._popupUserConfig = popupConfig;\r\n this._renderPopup();\r\n this._attachOptionChangedHandler()\r\n }\r\n _renderPopup() {\r\n var editorInstance = this._editorInstance;\r\n var $container = $(\"<div>\").addClass(DIALOG_CLASS).appendTo(editorInstance.$element());\r\n var popupConfig = this._getPopupConfig();\r\n return editorInstance._createComponent($container, Popup, popupConfig)\r\n }\r\n _attachOptionChangedHandler() {\r\n var _this$_popup;\r\n null === (_this$_popup = this._popup) || void 0 === _this$_popup ? void 0 : _this$_popup.on(\"optionChanged\", _ref => {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref;\r\n if (\"title\" === name) {\r\n this._updateFormLabel(value)\r\n }\r\n })\r\n }\r\n _escKeyHandler() {\r\n this._popup.hide()\r\n }\r\n _addEscapeHandler(e) {\r\n e.component.registerKeyHandler(\"escape\", this._escKeyHandler.bind(this))\r\n }\r\n _isSmallScreen() {\r\n var screenFactor = hasWindow() ? getCurrentScreenFactor() : null;\r\n return \"phone\" === devices.real().deviceType || \"xs\" === screenFactor\r\n }\r\n _getPopupConfig() {\r\n return extend({\r\n onInitialized: e => {\r\n this._popup = e.component;\r\n this._popup.on(\"hiding\", () => this.onHiding());\r\n this._popup.on(\"shown\", () => {\r\n this._form.focus()\r\n })\r\n },\r\n deferRendering: false,\r\n focusStateEnabled: false,\r\n showCloseButton: false,\r\n fullScreen: this._isSmallScreen(),\r\n contentTemplate: contentElem => {\r\n var $formContainer = $(\"<div>\").appendTo(contentElem);\r\n this._renderForm($formContainer, {\r\n onEditorEnterKey: e => this.callAddButtonAction(e.event),\r\n customizeItem: item => {\r\n if (\"simple\" === item.itemType) {\r\n item.editorOptions = extend(true, {}, item.editorOptions, {\r\n onInitialized: this._addEscapeHandler.bind(this)\r\n })\r\n }\r\n }\r\n })\r\n },\r\n toolbarItems: [{\r\n toolbar: \"bottom\",\r\n location: \"after\",\r\n widget: \"dxButton\",\r\n options: {\r\n onInitialized: this._addEscapeHandler.bind(this),\r\n text: localizationMessage.format(\"OK\"),\r\n onClick: e => this.callAddButtonAction(e.event)\r\n }\r\n }, {\r\n toolbar: \"bottom\",\r\n location: \"after\",\r\n widget: \"dxButton\",\r\n options: {\r\n onInitialized: this._addEscapeHandler.bind(this),\r\n text: localizationMessage.format(\"Cancel\"),\r\n onClick: () => {\r\n this._popup.hide()\r\n }\r\n }\r\n }],\r\n _wrapperClassExternal: DIALOG_CLASS\r\n }, this._popupUserConfig)\r\n }\r\n onHiding() {\r\n this.beforeAddButtonAction = void 0;\r\n this.deferred.reject()\r\n }\r\n callAddButtonAction(event) {\r\n if (this.beforeAddButtonAction && !this.beforeAddButtonAction()) {\r\n return\r\n }\r\n this.hide(this._form.option(\"formData\"), event)\r\n }\r\n _renderForm($container, options) {\r\n $container.addClass(FORM_CLASS);\r\n this._form = this._editorInstance._createComponent($container, Form, options);\r\n this._updateFormLabel()\r\n }\r\n _updateFormLabel(text) {\r\n var _this$_form;\r\n var label = null !== text && void 0 !== text ? text : this.popupOption(\"title\");\r\n null === (_this$_form = this._form) || void 0 === _this$_form ? void 0 : _this$_form.$element().attr(\"aria-label\", label)\r\n }\r\n _getDefaultFormOptions() {\r\n return {\r\n colCount: 1,\r\n width: \"auto\",\r\n labelLocation: isMaterial() ? \"top\" : \"left\"\r\n }\r\n }\r\n formOption(optionName, optionValue) {\r\n return this._form.option.apply(this._form, arguments)\r\n }\r\n show(formUserConfig) {\r\n if (this._popup.option(\"visible\")) {\r\n return\r\n }\r\n this.deferred = new Deferred;\r\n var formConfig = extend(this._getDefaultFormOptions(), formUserConfig);\r\n this._form.option(formConfig);\r\n this._popup.show();\r\n return this.deferred.promise()\r\n }\r\n hide(formData, event) {\r\n this.deferred.resolve(formData, event);\r\n this._popup.hide()\r\n }\r\n popupOption(optionName, optionValue) {\r\n return this._popup.option.apply(this._popup, arguments)\r\n }\r\n}\r\nexport default FormDialog;\r\n","/**\r\n * DevExtreme (esm/ui/html_editor/ui.html_editor.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isDefined,\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport {\r\n executeAsync,\r\n noop,\r\n ensureDefined,\r\n deferRender\r\n} from \"../../core/utils/common\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n EmptyTemplate\r\n} from \"../../core/templates/empty_template\";\r\nimport Editor from \"../editor/editor\";\r\nimport Errors from \"../widget/ui.errors\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n Event as dxEvent\r\n} from \"../../events/index\";\r\nimport scrollEvents from \"../../events/gesture/emitter.gesture.scroll\";\r\nimport {\r\n prepareScrollData\r\n} from \"../text_box/utils.scroll\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport devices from \"../../core/devices\";\r\nimport QuillRegistrator from \"./quill_registrator\";\r\nimport \"./converters/delta\";\r\nimport ConverterController from \"./converterController\";\r\nimport getWordMatcher from \"./matchers/wordLists\";\r\nimport FormDialog from \"./ui/formDialog\";\r\nimport config from \"../../core/config\";\r\nvar HTML_EDITOR_CLASS = \"dx-htmleditor\";\r\nvar QUILL_CONTAINER_CLASS = \"dx-quill-container\";\r\nvar QUILL_CLIPBOARD_CLASS = \"ql-clipboard\";\r\nvar HTML_EDITOR_SUBMIT_ELEMENT_CLASS = \"dx-htmleditor-submit-element\";\r\nvar HTML_EDITOR_CONTENT_CLASS = \"dx-htmleditor-content\";\r\nvar MARKDOWN_VALUE_TYPE = \"markdown\";\r\nvar ANONYMOUS_TEMPLATE_NAME = \"htmlContent\";\r\nvar isIos = \"ios\" === devices.current().platform;\r\nvar editorsCount = 0;\r\nvar HtmlEditor = Editor.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n focusStateEnabled: true,\r\n valueType: \"html\",\r\n placeholder: \"\",\r\n toolbar: null,\r\n variables: null,\r\n mediaResizing: null,\r\n tableResizing: null,\r\n mentions: null,\r\n customizeModules: null,\r\n tableContextMenu: null,\r\n allowSoftLineBreak: false,\r\n formDialogOptions: null,\r\n imageUpload: null,\r\n stylingMode: config().editorStylingMode || \"outlined\"\r\n })\r\n },\r\n _init: function() {\r\n this._mentionKeyInTemplateStorage = editorsCount++;\r\n this.callBase();\r\n this._cleanCallback = Callbacks();\r\n this._contentInitializedCallback = Callbacks()\r\n },\r\n _getAnonymousTemplateName: function() {\r\n return ANONYMOUS_TEMPLATE_NAME\r\n },\r\n _initTemplates: function() {\r\n this._templateManager.addDefaultTemplates({\r\n [ANONYMOUS_TEMPLATE_NAME]: new EmptyTemplate\r\n });\r\n this.callBase()\r\n },\r\n _focusTarget: function() {\r\n return this._getContent()\r\n },\r\n _getContent: function() {\r\n return this.$element().find(\".\".concat(HTML_EDITOR_CONTENT_CLASS))\r\n },\r\n _focusInHandler: function(_ref) {\r\n var {\r\n relatedTarget: relatedTarget\r\n } = _ref;\r\n if (this._shouldSkipFocusEvent(relatedTarget)) {\r\n return\r\n }\r\n this._toggleFocusClass(true, this.$element());\r\n this.callBase.apply(this, arguments)\r\n },\r\n _focusOutHandler: function(_ref2) {\r\n var {\r\n relatedTarget: relatedTarget\r\n } = _ref2;\r\n if (this._shouldSkipFocusEvent(relatedTarget)) {\r\n return\r\n }\r\n this._toggleFocusClass(false, this.$element());\r\n this.callBase.apply(this, arguments)\r\n },\r\n _shouldSkipFocusEvent: function(relatedTarget) {\r\n return $(relatedTarget).hasClass(QUILL_CLIPBOARD_CLASS)\r\n },\r\n _initMarkup: function() {\r\n this._$htmlContainer = $(\"<div>\").addClass(QUILL_CONTAINER_CLASS);\r\n this.$element().attr(\"role\", \"application\").addClass(HTML_EDITOR_CLASS).wrapInner(this._$htmlContainer);\r\n this._renderStylingMode();\r\n var template = this._getTemplate(ANONYMOUS_TEMPLATE_NAME);\r\n this._$templateResult = template && template.render({\r\n container: getPublicElement(this._$htmlContainer),\r\n noModel: true,\r\n transclude: true\r\n });\r\n this._renderSubmitElement();\r\n this.callBase();\r\n this._updateContainerMarkup()\r\n },\r\n _renderSubmitElement: function() {\r\n this._$submitElement = $(\"<textarea>\").addClass(HTML_EDITOR_SUBMIT_ELEMENT_CLASS).attr(\"hidden\", true).appendTo(this.$element());\r\n this._setSubmitValue(this.option(\"value\"))\r\n },\r\n _setSubmitValue: function(value) {\r\n this._getSubmitElement().val(value)\r\n },\r\n _getSubmitElement: function() {\r\n return this._$submitElement\r\n },\r\n _createNoScriptFrame: function() {\r\n return $(\"<iframe>\").css(\"display\", \"none\").attr({\r\n srcdoc: \"\",\r\n id: \"xss-frame\",\r\n sandbox: \"allow-same-origin\"\r\n })\r\n },\r\n _removeXSSVulnerableHtml: function(value) {\r\n var $frame = this._createNoScriptFrame().appendTo(\"body\");\r\n var frame = $frame.get(0);\r\n var frameWindow = frame.contentWindow;\r\n var frameDocument = frameWindow.document;\r\n var frameDocumentBody = frameDocument.body;\r\n frameDocumentBody.innerHTML = value;\r\n var removeInlineHandlers = element => {\r\n if (element.attributes) {\r\n for (var i = 0; i < element.attributes.length; i++) {\r\n var name = element.attributes[i].name;\r\n if (name.startsWith(\"on\")) {\r\n element.removeAttribute(name)\r\n }\r\n }\r\n }\r\n if (element.childNodes) {\r\n for (var _i = 0; _i < element.childNodes.length; _i++) {\r\n removeInlineHandlers(element.childNodes[_i])\r\n }\r\n }\r\n };\r\n removeInlineHandlers(frameDocumentBody);\r\n frameDocumentBody.querySelectorAll(\"script\").forEach(scriptNode => {\r\n scriptNode.remove()\r\n });\r\n var sanitizedHtml = frameDocumentBody.innerHTML;\r\n $frame.remove();\r\n return sanitizedHtml\r\n },\r\n _updateContainerMarkup: function() {\r\n var markup = this.option(\"value\");\r\n if (this._isMarkdownValue()) {\r\n this._prepareMarkdownConverter();\r\n markup = this._markdownConverter.toHtml(markup)\r\n }\r\n if (markup) {\r\n var sanitizedMarkup = this._removeXSSVulnerableHtml(markup);\r\n this._$htmlContainer.html(sanitizedMarkup)\r\n }\r\n },\r\n _prepareMarkdownConverter: function() {\r\n var MarkdownConverter = ConverterController.getConverter(\"markdown\");\r\n if (MarkdownConverter) {\r\n this._markdownConverter = new MarkdownConverter\r\n } else {\r\n throw Errors.Error(\"E1051\", \"markdown\")\r\n }\r\n },\r\n _render: function() {\r\n this._prepareConverters();\r\n this.callBase()\r\n },\r\n _prepareQuillRegistrator: function() {\r\n if (!this._quillRegistrator) {\r\n this._quillRegistrator = new QuillRegistrator\r\n }\r\n },\r\n _getRegistrator: function() {\r\n this._prepareQuillRegistrator();\r\n return this._quillRegistrator\r\n },\r\n _prepareConverters: function() {\r\n if (!this._deltaConverter) {\r\n var DeltaConverter = ConverterController.getConverter(\"delta\");\r\n if (DeltaConverter) {\r\n this._deltaConverter = new DeltaConverter\r\n }\r\n }\r\n if (this.option(\"valueType\") === MARKDOWN_VALUE_TYPE && !this._markdownConverter) {\r\n this._prepareMarkdownConverter()\r\n }\r\n },\r\n _renderContentImpl: function() {\r\n this._contentRenderedDeferred = new Deferred;\r\n var renderContentPromise = this._contentRenderedDeferred.promise();\r\n this.callBase();\r\n this._renderHtmlEditor();\r\n this._renderFormDialog();\r\n this._addKeyPressHandler();\r\n return renderContentPromise\r\n },\r\n _pointerMoveHandler: function(e) {\r\n if (isIos) {\r\n e.stopPropagation()\r\n }\r\n },\r\n _attachFocusEvents: function() {\r\n deferRender(this.callBase.bind(this))\r\n },\r\n _addKeyPressHandler: function() {\r\n var keyDownEvent = addNamespace(\"keydown\", \"\".concat(this.NAME, \"TextChange\"));\r\n eventsEngine.on(this._$htmlContainer, keyDownEvent, this._keyDownHandler.bind(this))\r\n },\r\n _keyDownHandler: function(e) {\r\n this._saveValueChangeEvent(e)\r\n },\r\n _renderHtmlEditor: function() {\r\n var customizeModules = this.option(\"customizeModules\");\r\n var modulesConfig = this._getModulesConfig();\r\n if (isFunction(customizeModules)) {\r\n customizeModules(modulesConfig)\r\n }\r\n this._quillInstance = this._getRegistrator().createEditor(this._$htmlContainer[0], {\r\n placeholder: this.option(\"placeholder\"),\r\n readOnly: this.option(\"readOnly\") || this.option(\"disabled\"),\r\n modules: modulesConfig,\r\n theme: \"basic\"\r\n });\r\n this._deltaConverter.setQuillInstance(this._quillInstance);\r\n this._textChangeHandlerWithContext = this._textChangeHandler.bind(this);\r\n this._quillInstance.on(\"text-change\", this._textChangeHandlerWithContext);\r\n this._renderScrollHandler();\r\n if (this._hasTranscludedContent()) {\r\n this._updateContentTask = executeAsync(() => {\r\n this._applyTranscludedContent()\r\n })\r\n } else {\r\n this._finalizeContentRendering()\r\n }\r\n },\r\n _renderScrollHandler: function() {\r\n var $scrollContainer = this._getContent();\r\n var initScrollData = prepareScrollData($scrollContainer);\r\n eventsEngine.on($scrollContainer, addNamespace(scrollEvents.init, this.NAME), initScrollData, noop);\r\n eventsEngine.on($scrollContainer, addNamespace(pointerEvents.move, this.NAME), this._pointerMoveHandler.bind(this))\r\n },\r\n _applyTranscludedContent: function() {\r\n var valueOption = this.option(\"value\");\r\n if (!isDefined(valueOption)) {\r\n var html = this._deltaConverter.toHtml();\r\n var newDelta = this._quillInstance.clipboard.convert({\r\n html: html\r\n });\r\n if (newDelta.ops.length) {\r\n this._quillInstance.setContents(newDelta);\r\n return\r\n }\r\n }\r\n this._finalizeContentRendering()\r\n },\r\n _hasTranscludedContent: function() {\r\n return this._$templateResult && this._$templateResult.length\r\n },\r\n _getModulesConfig: function() {\r\n var quill = this._getRegistrator().getQuill();\r\n var wordListMatcher = getWordMatcher(quill);\r\n var modulesConfig = extend({}, {\r\n table: true,\r\n toolbar: this._getModuleConfigByOption(\"toolbar\"),\r\n variables: this._getModuleConfigByOption(\"variables\"),\r\n resizing: this._getModuleConfigByOption(\"mediaResizing\"),\r\n tableResizing: this._getModuleConfigByOption(\"tableResizing\"),\r\n tableContextMenu: this._getModuleConfigByOption(\"tableContextMenu\"),\r\n imageUpload: this._getModuleConfigByOption(\"imageUpload\"),\r\n imageCursor: this._getBaseModuleConfig(),\r\n mentions: this._getModuleConfigByOption(\"mentions\"),\r\n uploader: {\r\n onDrop: e => this._saveValueChangeEvent(dxEvent(e)),\r\n imageBlot: \"extendedImage\"\r\n },\r\n keyboard: {\r\n onKeydown: e => this._saveValueChangeEvent(dxEvent(e))\r\n },\r\n clipboard: {\r\n onPaste: e => this._saveValueChangeEvent(dxEvent(e)),\r\n onCut: e => this._saveValueChangeEvent(dxEvent(e)),\r\n matchers: [\r\n [\"p.MsoListParagraphCxSpFirst\", wordListMatcher],\r\n [\"p.MsoListParagraphCxSpMiddle\", wordListMatcher],\r\n [\"p.MsoListParagraphCxSpLast\", wordListMatcher]\r\n ]\r\n },\r\n multiline: Boolean(this.option(\"allowSoftLineBreak\"))\r\n }, this._getCustomModules());\r\n return modulesConfig\r\n },\r\n _getModuleConfigByOption: function(userOptionName) {\r\n var optionValue = this.option(userOptionName);\r\n var config = {};\r\n if (!isDefined(optionValue)) {\r\n return\r\n }\r\n if (Array.isArray(optionValue)) {\r\n config[userOptionName] = optionValue\r\n } else {\r\n config = optionValue\r\n }\r\n return extend(this._getBaseModuleConfig(), config)\r\n },\r\n _getBaseModuleConfig: function() {\r\n return {\r\n editorInstance: this\r\n }\r\n },\r\n _getCustomModules: function() {\r\n var modules = {};\r\n var moduleNames = this._getRegistrator().getRegisteredModuleNames();\r\n moduleNames.forEach(modulePath => {\r\n modules[modulePath] = this._getBaseModuleConfig()\r\n });\r\n return modules\r\n },\r\n _textChangeHandler: function(newDelta, oldDelta, source) {\r\n var htmlMarkup = this._deltaConverter.toHtml();\r\n var convertedValue = this._isMarkdownValue() ? this._updateValueByType(MARKDOWN_VALUE_TYPE, htmlMarkup) : htmlMarkup;\r\n var currentValue = this.option(\"value\");\r\n if (currentValue !== convertedValue && !this._isNullValueConverted(currentValue, convertedValue)) {\r\n this._isEditorUpdating = true;\r\n this.option(\"value\", convertedValue)\r\n }\r\n this._finalizeContentRendering()\r\n },\r\n _isNullValueConverted: function(currentValue, convertedValue) {\r\n return null === currentValue && \"\" === convertedValue\r\n },\r\n _finalizeContentRendering: function() {\r\n if (this._contentRenderedDeferred) {\r\n this.clearHistory();\r\n this._contentInitializedCallback.fire();\r\n this._contentRenderedDeferred.resolve();\r\n this._contentRenderedDeferred = void 0\r\n }\r\n },\r\n _updateValueByType: function(valueType, value) {\r\n var converter = this._markdownConverter;\r\n if (!isDefined(converter)) {\r\n return\r\n }\r\n var currentValue = ensureDefined(value, this.option(\"value\"));\r\n return valueType === MARKDOWN_VALUE_TYPE ? converter.toMarkdown(currentValue) : converter.toHtml(currentValue)\r\n },\r\n _isMarkdownValue: function() {\r\n return this.option(\"valueType\") === MARKDOWN_VALUE_TYPE\r\n },\r\n _resetEnabledState: function() {\r\n if (this._quillInstance) {\r\n var isEnabled = !(this.option(\"readOnly\") || this.option(\"disabled\"));\r\n this._quillInstance.enable(isEnabled)\r\n }\r\n },\r\n _renderFormDialog: function() {\r\n var userOptions = extend(true, {\r\n width: \"auto\",\r\n height: \"auto\",\r\n hideOnOutsideClick: true\r\n }, this.option(\"formDialogOptions\"));\r\n this._formDialog = new FormDialog(this, userOptions)\r\n },\r\n _getStylingModePrefix: function() {\r\n return \"dx-htmleditor-\"\r\n },\r\n _getQuillContainer: function() {\r\n return this._$htmlContainer\r\n },\r\n _prepareModuleOptions(args) {\r\n var _args$fullName;\r\n var optionData = null === (_args$fullName = args.fullName) || void 0 === _args$fullName ? void 0 : _args$fullName.split(\".\");\r\n var value = args.value;\r\n var optionName = optionData.length >= 2 ? optionData[1] : args.name;\r\n if (3 === optionData.length) {\r\n value = {\r\n [optionData[2]]: value\r\n }\r\n }\r\n return [optionName, value]\r\n },\r\n _moduleOptionChanged: function(moduleName, args) {\r\n var moduleInstance = this.getModule(moduleName);\r\n var shouldPassOptionsToModule = Boolean(moduleInstance);\r\n if (shouldPassOptionsToModule) {\r\n moduleInstance.option(...this._prepareModuleOptions(args))\r\n } else {\r\n this._invalidate()\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"value\":\r\n if (this._quillInstance) {\r\n if (this._isEditorUpdating) {\r\n this._isEditorUpdating = false\r\n } else {\r\n var updatedValue = this._isMarkdownValue() ? this._updateValueByType(\"HTML\", args.value) : args.value;\r\n this._suppressValueChangeAction();\r\n this._updateHtmlContent(updatedValue);\r\n this._resumeValueChangeAction()\r\n }\r\n } else {\r\n this._$htmlContainer.html(args.value)\r\n }\r\n var value = this.option(\"value\");\r\n if (value !== args.previousValue) {\r\n this._setSubmitValue(value);\r\n this.callBase(_extends({}, args, {\r\n value: value\r\n }))\r\n }\r\n break;\r\n case \"placeholder\":\r\n case \"variables\":\r\n case \"toolbar\":\r\n case \"mentions\":\r\n case \"customizeModules\":\r\n case \"allowSoftLineBreak\":\r\n this._invalidate();\r\n break;\r\n case \"tableResizing\":\r\n this._moduleOptionChanged(\"tableResizing\", args);\r\n break;\r\n case \"valueType\":\r\n this._prepareConverters();\r\n var newValue = this._updateValueByType(args.value);\r\n if (\"html\" === args.value && this._quillInstance) {\r\n this._updateHtmlContent(newValue)\r\n } else {\r\n this.option(\"value\", newValue)\r\n }\r\n break;\r\n case \"stylingMode\":\r\n this._renderStylingMode();\r\n break;\r\n case \"readOnly\":\r\n case \"disabled\":\r\n this.callBase(args);\r\n this._resetEnabledState();\r\n break;\r\n case \"formDialogOptions\":\r\n this._renderFormDialog();\r\n break;\r\n case \"tableContextMenu\":\r\n this._moduleOptionChanged(\"tableContextMenu\", args);\r\n break;\r\n case \"mediaResizing\":\r\n if (!args.previousValue || !args.value) {\r\n this._invalidate()\r\n } else {\r\n this.getModule(\"resizing\").option(args.name, args.value)\r\n }\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n this._repaintToolbar();\r\n break;\r\n case \"imageUpload\":\r\n this._moduleOptionChanged(\"imageUpload\", args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _repaintToolbar: function() {\r\n this._applyToolbarMethod(\"repaint\")\r\n },\r\n _updateHtmlContent: function(html) {\r\n var newDelta = this._quillInstance.clipboard.convert({\r\n html: html\r\n });\r\n this._quillInstance.setContents(newDelta)\r\n },\r\n _clean: function() {\r\n if (this._quillInstance) {\r\n eventsEngine.off(this._getContent(), \".\".concat(this.NAME));\r\n this._quillInstance.off(\"text-change\", this._textChangeHandlerWithContext);\r\n this._cleanCallback.fire()\r\n }\r\n this._abortUpdateContentTask();\r\n this._cleanCallback.empty();\r\n this._contentInitializedCallback.empty();\r\n this.callBase()\r\n },\r\n _abortUpdateContentTask: function() {\r\n if (this._updateContentTask) {\r\n this._updateContentTask.abort();\r\n this._updateContentTask = void 0\r\n }\r\n },\r\n _applyQuillMethod(methodName, args) {\r\n if (this._quillInstance) {\r\n return this._quillInstance[methodName].apply(this._quillInstance, args)\r\n }\r\n },\r\n _applyQuillHistoryMethod(methodName) {\r\n if (this._quillInstance && this._quillInstance.history) {\r\n this._quillInstance.history[methodName]()\r\n }\r\n },\r\n _applyToolbarMethod(methodName) {\r\n var _this$getModule;\r\n null === (_this$getModule = this.getModule(\"toolbar\")) || void 0 === _this$getModule ? void 0 : _this$getModule[methodName]()\r\n },\r\n addCleanCallback(callback) {\r\n this._cleanCallback.add(callback)\r\n },\r\n addContentInitializedCallback(callback) {\r\n this._contentInitializedCallback.add(callback)\r\n },\r\n register: function(components) {\r\n this._getRegistrator().registerModules(components);\r\n if (this._quillInstance) {\r\n this.repaint()\r\n }\r\n },\r\n get: function(modulePath) {\r\n return this._getRegistrator().getQuill().import(modulePath)\r\n },\r\n getModule: function(moduleName) {\r\n return this._applyQuillMethod(\"getModule\", arguments)\r\n },\r\n getQuillInstance: function() {\r\n return this._quillInstance\r\n },\r\n getSelection: function(focus) {\r\n return this._applyQuillMethod(\"getSelection\", arguments)\r\n },\r\n setSelection: function(index, length) {\r\n this._applyQuillMethod(\"setSelection\", arguments)\r\n },\r\n getText: function(index, length) {\r\n return this._applyQuillMethod(\"getText\", arguments)\r\n },\r\n format: function(formatName, formatValue) {\r\n this._applyQuillMethod(\"format\", arguments)\r\n },\r\n formatText: function(index, length, formatName, formatValue) {\r\n this._applyQuillMethod(\"formatText\", arguments)\r\n },\r\n formatLine: function(index, length, formatName, formatValue) {\r\n this._applyQuillMethod(\"formatLine\", arguments)\r\n },\r\n getFormat: function(index, length) {\r\n return this._applyQuillMethod(\"getFormat\", arguments)\r\n },\r\n removeFormat: function(index, length) {\r\n return this._applyQuillMethod(\"removeFormat\", arguments)\r\n },\r\n clearHistory: function() {\r\n this._applyQuillHistoryMethod(\"clear\");\r\n this._applyToolbarMethod(\"updateHistoryWidgets\")\r\n },\r\n undo: function() {\r\n this._applyQuillHistoryMethod(\"undo\")\r\n },\r\n redo: function() {\r\n this._applyQuillHistoryMethod(\"redo\")\r\n },\r\n getLength: function() {\r\n return this._applyQuillMethod(\"getLength\")\r\n },\r\n getBounds: function(index, length) {\r\n return this._applyQuillMethod(\"getBounds\", arguments)\r\n },\r\n delete: function(index, length) {\r\n this._applyQuillMethod(\"deleteText\", arguments)\r\n },\r\n insertText: function(index, text, formats) {\r\n this._applyQuillMethod(\"insertText\", arguments)\r\n },\r\n insertEmbed: function(index, type, config) {\r\n this._applyQuillMethod(\"insertEmbed\", arguments)\r\n },\r\n showFormDialog: function(formConfig) {\r\n return this._formDialog.show(formConfig)\r\n },\r\n formDialogOption: function(optionName, optionValue) {\r\n return this._formDialog.popupOption.apply(this._formDialog, arguments)\r\n },\r\n focus: function() {\r\n this.callBase();\r\n this._applyQuillMethod(\"focus\")\r\n },\r\n blur: function() {\r\n this._applyQuillMethod(\"blur\")\r\n },\r\n getMentionKeyInTemplateStorage() {\r\n return this._mentionKeyInTemplateStorage\r\n }\r\n});\r\nregisterComponent(\"dxHtmlEditor\", HtmlEditor);\r\nexport default HtmlEditor;\r\n","/**\r\n * DevExtreme (esm/ui/html_editor.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport HtmlEditor from \"./html_editor/ui.html_editor\";\r\nexport default HtmlEditor;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.reorder.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n setWidth,\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isMouseEvent\r\n} from \"../../events/utils/index\";\r\nimport {\r\n register as registerDecorator\r\n} from \"./ui.list.edit.decorator_registry\";\r\nimport EditDecorator from \"./ui.list.edit.decorator\";\r\nimport Sortable from \"../sortable\";\r\nvar REORDER_HANDLE_CONTAINER_CLASS = \"dx-list-reorder-handle-container\";\r\nvar REORDER_HANDLE_CLASS = \"dx-list-reorder-handle\";\r\nvar REORDERING_ITEM_GHOST_CLASS = \"dx-list-item-ghost-reordering\";\r\nvar STATE_HOVER_CLASS = \"dx-state-hover\";\r\nregisterDecorator(\"reorder\", \"default\", EditDecorator.inherit({\r\n _init: function() {\r\n var list = this._list;\r\n this._groupedEnabled = this._list.option(\"grouped\");\r\n this._lockedDrag = false;\r\n var filter = this._groupedEnabled ? \"> .dx-list-group > .dx-list-group-body > .dx-list-item\" : \"> .dx-list-item\";\r\n this._sortable = list._createComponent(list._scrollView.content(), Sortable, extend({\r\n component: list,\r\n contentTemplate: null,\r\n allowReordering: false,\r\n filter: filter,\r\n container: list.$element(),\r\n dragDirection: list.option(\"itemDragging.group\") ? \"both\" : \"vertical\",\r\n handle: \".\".concat(REORDER_HANDLE_CLASS),\r\n dragTemplate: this._dragTemplate,\r\n onDragStart: this._dragStartHandler.bind(this),\r\n onDragChange: this._dragChangeHandler.bind(this),\r\n onReorder: this._reorderHandler.bind(this)\r\n }, list.option(\"itemDragging\")))\r\n },\r\n afterRender: function() {\r\n this._sortable.update()\r\n },\r\n _dragTemplate: function(e) {\r\n var result = $(e.itemElement).clone().addClass(REORDERING_ITEM_GHOST_CLASS).addClass(STATE_HOVER_CLASS);\r\n setWidth(result, getWidth(e.itemElement));\r\n return result\r\n },\r\n _dragStartHandler: function(e) {\r\n if (this._lockedDrag) {\r\n e.cancel = true;\r\n return\r\n }\r\n },\r\n _dragChangeHandler: function(e) {\r\n if (this._groupedEnabled && !this._sameParent(e.fromIndex, e.toIndex)) {\r\n e.cancel = true;\r\n return\r\n }\r\n },\r\n _sameParent: function(fromIndex, toIndex) {\r\n var $dragging = this._list.getItemElementByFlatIndex(fromIndex);\r\n var $over = this._list.getItemElementByFlatIndex(toIndex);\r\n return $over.parent().get(0) === $dragging.parent().get(0)\r\n },\r\n _reorderHandler: function(e) {\r\n var $targetElement = this._list.getItemElementByFlatIndex(e.toIndex);\r\n this._list.reorderItem($(e.itemElement), $targetElement)\r\n },\r\n afterBag: function(config) {\r\n var $handle = $(\"<div>\").addClass(REORDER_HANDLE_CLASS);\r\n eventsEngine.on($handle, \"dxpointerdown\", e => {\r\n this._lockedDrag = !isMouseEvent(e)\r\n });\r\n eventsEngine.on($handle, \"dxhold\", {\r\n timeout: 30\r\n }, e => {\r\n e.cancel = true;\r\n this._lockedDrag = false\r\n });\r\n config.$container.addClass(REORDER_HANDLE_CONTAINER_CLASS).append($handle)\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (esm/ui/list.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport List from \"./list_light\";\r\nimport \"./list/modules/selection\";\r\nimport \"./list/modules/deleting\";\r\nimport \"./list/modules/dragging\";\r\nimport \"./list/modules/context\";\r\nimport \"./list/modules/search\";\r\nexport default List;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.context.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterHeight,\r\n getOuterWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport EditDecoratorMenuHelperMixin from \"./ui.list.edit.decorator_menu_helper\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n register as registerDecorator\r\n} from \"./ui.list.edit.decorator_registry\";\r\nimport EditDecorator from \"./ui.list.edit.decorator\";\r\nimport Overlay from \"../overlay/ui.overlay\";\r\nimport {\r\n ListBase\r\n} from \"./ui.list.base\";\r\nvar CONTEXTMENU_CLASS = \"dx-list-context-menu\";\r\nvar CONTEXTMENU_MENUCONTENT_CLASS = \"dx-list-context-menucontent\";\r\nregisterDecorator(\"menu\", \"context\", EditDecorator.inherit({\r\n _init: function() {\r\n var $menu = $(\"<div>\").addClass(CONTEXTMENU_CLASS);\r\n this._list.$element().append($menu);\r\n this._menu = this._renderOverlay($menu)\r\n },\r\n _renderOverlay: function($element) {\r\n return this._list._createComponent($element, Overlay, {\r\n shading: false,\r\n deferRendering: true,\r\n hideOnParentScroll: true,\r\n hideOnOutsideClick: function(e) {\r\n return !$(e.target).closest(\".\" + CONTEXTMENU_CLASS).length\r\n },\r\n animation: {\r\n show: {\r\n type: \"slide\",\r\n duration: 300,\r\n from: {\r\n height: 0,\r\n opacity: 1\r\n },\r\n to: {\r\n height: function() {\r\n return getOuterHeight(this._$menuList)\r\n }.bind(this),\r\n opacity: 1\r\n }\r\n },\r\n hide: {\r\n type: \"slide\",\r\n duration: 0,\r\n from: {\r\n opacity: 1\r\n },\r\n to: {\r\n opacity: 0\r\n }\r\n }\r\n },\r\n _ignoreFunctionValueDeprecation: true,\r\n height: function() {\r\n return this._$menuList ? getOuterHeight(this._$menuList) : 0\r\n }.bind(this),\r\n width: function() {\r\n return getOuterWidth(this._list.$element())\r\n }.bind(this),\r\n onContentReady: this._renderMenuContent.bind(this)\r\n })\r\n },\r\n _renderMenuContent: function(e) {\r\n var $overlayContent = e.component.$content();\r\n var items = this._menuItems().slice();\r\n if (this._deleteEnabled()) {\r\n items.push({\r\n text: messageLocalization.format(\"dxListEditDecorator-delete\"),\r\n action: this._deleteItem.bind(this)\r\n })\r\n }\r\n this._$menuList = $(\"<div>\");\r\n this._list._createComponent(this._$menuList, ListBase, {\r\n items: items,\r\n onItemClick: this._menuItemClickHandler.bind(this),\r\n height: \"auto\",\r\n integrationOptions: {}\r\n });\r\n $overlayContent.addClass(CONTEXTMENU_MENUCONTENT_CLASS);\r\n $overlayContent.append(this._$menuList)\r\n },\r\n _menuItemClickHandler: function(args) {\r\n this._menu.hide();\r\n this._fireMenuAction(this._$itemWithMenu, args.itemData.action)\r\n },\r\n _deleteItem: function() {\r\n this._list.deleteItem(this._$itemWithMenu)\r\n },\r\n handleContextMenu: function($itemElement) {\r\n this._$itemWithMenu = $itemElement;\r\n this._menu.option({\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\",\r\n of: $itemElement,\r\n collision: \"flip\"\r\n }\r\n });\r\n this._menu.show();\r\n return true\r\n },\r\n dispose: function() {\r\n if (this._menu) {\r\n this._menu.$element().remove()\r\n }\r\n this.callBase.apply(this, arguments)\r\n }\r\n}).include(EditDecoratorMenuHelperMixin));\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.switchable.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterHeight,\r\n setHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport EditDecorator from \"./ui.list.edit.decorator\";\r\nvar abstract = EditDecorator.abstract;\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport {\r\n active\r\n} from \"../../events/core/emitter.feedback\";\r\nvar LIST_EDIT_DECORATOR = \"dxListEditDecorator\";\r\nvar POINTER_DOWN_EVENT_NAME = addNamespace(pointerEvents.down, LIST_EDIT_DECORATOR);\r\nvar ACTIVE_EVENT_NAME = addNamespace(active, LIST_EDIT_DECORATOR);\r\nvar LIST_ITEM_CONTENT_CLASS = \"dx-list-item-content\";\r\nvar SWITCHABLE_DELETE_READY_CLASS = \"dx-list-switchable-delete-ready\";\r\nvar SWITCHABLE_MENU_SHIELD_POSITIONING_CLASS = \"dx-list-switchable-menu-shield-positioning\";\r\nvar SWITCHABLE_DELETE_TOP_SHIELD_CLASS = \"dx-list-switchable-delete-top-shield\";\r\nvar SWITCHABLE_DELETE_BOTTOM_SHIELD_CLASS = \"dx-list-switchable-delete-bottom-shield\";\r\nvar SWITCHABLE_MENU_ITEM_SHIELD_POSITIONING_CLASS = \"dx-list-switchable-menu-item-shield-positioning\";\r\nvar SWITCHABLE_DELETE_ITEM_CONTENT_SHIELD_CLASS = \"dx-list-switchable-delete-item-content-shield\";\r\nvar SWITCHABLE_DELETE_BUTTON_CONTAINER_CLASS = \"dx-list-switchable-delete-button-container\";\r\nvar SwitchableEditDecorator = EditDecorator.inherit({\r\n _init: function() {\r\n this._$topShield = $(\"<div>\").addClass(SWITCHABLE_DELETE_TOP_SHIELD_CLASS);\r\n this._$bottomShield = $(\"<div>\").addClass(SWITCHABLE_DELETE_BOTTOM_SHIELD_CLASS);\r\n this._$itemContentShield = $(\"<div>\").addClass(SWITCHABLE_DELETE_ITEM_CONTENT_SHIELD_CLASS);\r\n eventsEngine.on(this._$topShield, POINTER_DOWN_EVENT_NAME, this._cancelDeleteReadyItem.bind(this));\r\n eventsEngine.on(this._$bottomShield, POINTER_DOWN_EVENT_NAME, this._cancelDeleteReadyItem.bind(this));\r\n this._list.$element().append(this._$topShield.toggle(false)).append(this._$bottomShield.toggle(false))\r\n },\r\n handleClick: function() {\r\n return this._cancelDeleteReadyItem()\r\n },\r\n _cancelDeleteReadyItem: function() {\r\n if (!this._$readyToDeleteItem) {\r\n return false\r\n }\r\n this._cancelDelete(this._$readyToDeleteItem);\r\n return true\r\n },\r\n _cancelDelete: function($itemElement) {\r\n this._toggleDeleteReady($itemElement, false)\r\n },\r\n _toggleDeleteReady: function($itemElement, readyToDelete) {\r\n if (void 0 === readyToDelete) {\r\n readyToDelete = !this._isReadyToDelete($itemElement)\r\n }\r\n this._toggleShields($itemElement, readyToDelete);\r\n this._toggleScrolling(readyToDelete);\r\n this._cacheReadyToDeleteItem($itemElement, readyToDelete);\r\n this._animateToggleDelete($itemElement, readyToDelete)\r\n },\r\n _isReadyToDelete: function($itemElement) {\r\n return $itemElement.hasClass(SWITCHABLE_DELETE_READY_CLASS)\r\n },\r\n _toggleShields: function($itemElement, enabled) {\r\n this._list.$element().toggleClass(SWITCHABLE_MENU_SHIELD_POSITIONING_CLASS, enabled);\r\n this._$topShield.toggle(enabled);\r\n this._$bottomShield.toggle(enabled);\r\n if (enabled) {\r\n this._updateShieldsHeight($itemElement)\r\n }\r\n this._toggleContentShield($itemElement, enabled)\r\n },\r\n _updateShieldsHeight: function($itemElement) {\r\n var $list = this._list.$element();\r\n var listTopOffset = $list.offset().top;\r\n var listHeight = getOuterHeight($list);\r\n var itemTopOffset = $itemElement.offset().top;\r\n var itemHeight = getOuterHeight($itemElement);\r\n var dirtyTopShieldHeight = itemTopOffset - listTopOffset;\r\n var dirtyBottomShieldHeight = listHeight - itemHeight - dirtyTopShieldHeight;\r\n setHeight(this._$topShield, Math.max(dirtyTopShieldHeight, 0));\r\n setHeight(this._$bottomShield, Math.max(dirtyBottomShieldHeight, 0))\r\n },\r\n _toggleContentShield: function($itemElement, enabled) {\r\n if (enabled) {\r\n $itemElement.find(\".\" + LIST_ITEM_CONTENT_CLASS).first().append(this._$itemContentShield)\r\n } else {\r\n this._$itemContentShield.detach()\r\n }\r\n },\r\n _toggleScrolling: function(readyToDelete) {\r\n var scrollView = this._list.$element().dxScrollView(\"instance\");\r\n if (readyToDelete) {\r\n scrollView.on(\"start\", this._cancelScrolling)\r\n } else {\r\n scrollView.off(\"start\", this._cancelScrolling)\r\n }\r\n },\r\n _cancelScrolling: function(args) {\r\n args.event.cancel = true\r\n },\r\n _cacheReadyToDeleteItem: function($itemElement, cache) {\r\n if (cache) {\r\n this._$readyToDeleteItem = $itemElement\r\n } else {\r\n delete this._$readyToDeleteItem\r\n }\r\n },\r\n _animateToggleDelete: function($itemElement, readyToDelete) {\r\n if (readyToDelete) {\r\n this._enablePositioning($itemElement);\r\n this._prepareDeleteReady($itemElement);\r\n this._animatePrepareDeleteReady($itemElement);\r\n eventsEngine.off($itemElement, pointerEvents.up)\r\n } else {\r\n this._forgetDeleteReady($itemElement);\r\n this._animateForgetDeleteReady($itemElement).done(this._disablePositioning.bind(this, $itemElement))\r\n }\r\n },\r\n _enablePositioning: function($itemElement) {\r\n $itemElement.addClass(SWITCHABLE_MENU_ITEM_SHIELD_POSITIONING_CLASS);\r\n eventsEngine.on($itemElement, ACTIVE_EVENT_NAME, noop);\r\n eventsEngine.one($itemElement, pointerEvents.up, this._disablePositioning.bind(this, $itemElement))\r\n },\r\n _disablePositioning: function($itemElement) {\r\n $itemElement.removeClass(SWITCHABLE_MENU_ITEM_SHIELD_POSITIONING_CLASS);\r\n eventsEngine.off($itemElement, ACTIVE_EVENT_NAME)\r\n },\r\n _prepareDeleteReady: function($itemElement) {\r\n $itemElement.addClass(SWITCHABLE_DELETE_READY_CLASS)\r\n },\r\n _forgetDeleteReady: function($itemElement) {\r\n $itemElement.removeClass(SWITCHABLE_DELETE_READY_CLASS)\r\n },\r\n _animatePrepareDeleteReady: abstract,\r\n _animateForgetDeleteReady: abstract,\r\n _getDeleteButtonContainer: function($itemElement) {\r\n $itemElement = $itemElement || this._$readyToDeleteItem;\r\n return $itemElement.children(\".\" + SWITCHABLE_DELETE_BUTTON_CONTAINER_CLASS)\r\n },\r\n _deleteItem: function($itemElement) {\r\n $itemElement = $itemElement || this._$readyToDeleteItem;\r\n this._getDeleteButtonContainer($itemElement).detach();\r\n if ($itemElement.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n return\r\n }\r\n this._list.deleteItem($itemElement).always(this._cancelDelete.bind(this, $itemElement))\r\n },\r\n _isRtlEnabled: function() {\r\n return this._list.option(\"rtlEnabled\")\r\n },\r\n dispose: function() {\r\n if (this._$topShield) {\r\n this._$topShield.remove()\r\n }\r\n if (this._$bottomShield) {\r\n this._$bottomShield.remove()\r\n }\r\n this.callBase.apply(this, arguments)\r\n }\r\n});\r\nexport default SwitchableEditDecorator;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.switchable.button.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getOuterWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport fx from \"../../animation/fx\";\r\nimport Button from \"../button\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n register as registerDecorator\r\n} from \"./ui.list.edit.decorator_registry\";\r\nimport SwitchableEditDecorator from \"./ui.list.edit.decorator.switchable\";\r\nvar SWITCHABLE_DELETE_BUTTON_CONTAINER_CLASS = \"dx-list-switchable-delete-button-container\";\r\nvar SWITCHABLE_DELETE_BUTTON_WRAPPER_CLASS = \"dx-list-switchable-delete-button-wrapper\";\r\nvar SWITCHABLE_DELETE_BUTTON_INNER_WRAPPER_CLASS = \"dx-list-switchable-delete-button-inner-wrapper\";\r\nvar SWITCHABLE_DELETE_BUTTON_CLASS = \"dx-list-switchable-delete-button\";\r\nvar SWITCHABLE_DELETE_BUTTON_ANIMATION_DURATION = 200;\r\nvar SwitchableButtonEditDecorator = SwitchableEditDecorator.inherit({\r\n _init: function() {\r\n this.callBase.apply(this, arguments);\r\n var $buttonContainer = $(\"<div>\").addClass(SWITCHABLE_DELETE_BUTTON_CONTAINER_CLASS);\r\n var $buttonWrapper = $(\"<div>\").addClass(SWITCHABLE_DELETE_BUTTON_WRAPPER_CLASS);\r\n var $buttonInnerWrapper = $(\"<div>\").addClass(SWITCHABLE_DELETE_BUTTON_INNER_WRAPPER_CLASS);\r\n var $button = $(\"<div>\").addClass(SWITCHABLE_DELETE_BUTTON_CLASS);\r\n this._list._createComponent($button, Button, {\r\n text: messageLocalization.format(\"dxListEditDecorator-delete\"),\r\n type: \"danger\",\r\n onClick: function(e) {\r\n this._deleteItem();\r\n e.event.stopPropagation()\r\n }.bind(this),\r\n integrationOptions: {}\r\n });\r\n $buttonContainer.append($buttonWrapper);\r\n $buttonWrapper.append($buttonInnerWrapper);\r\n $buttonInnerWrapper.append($button);\r\n this._$buttonContainer = $buttonContainer\r\n },\r\n _enablePositioning: function($itemElement) {\r\n this.callBase.apply(this, arguments);\r\n fx.stop(this._$buttonContainer, true);\r\n this._$buttonContainer.appendTo($itemElement)\r\n },\r\n _disablePositioning: function() {\r\n this.callBase.apply(this, arguments);\r\n this._$buttonContainer.detach()\r\n },\r\n _animatePrepareDeleteReady: function() {\r\n var rtl = this._isRtlEnabled();\r\n var listWidth = getWidth(this._list.$element());\r\n var buttonWidth = this._buttonWidth();\r\n var fromValue = rtl ? listWidth : -buttonWidth;\r\n var toValue = rtl ? listWidth - buttonWidth : 0;\r\n return fx.animate(this._$buttonContainer, {\r\n type: \"custom\",\r\n duration: SWITCHABLE_DELETE_BUTTON_ANIMATION_DURATION,\r\n from: {\r\n right: fromValue\r\n },\r\n to: {\r\n right: toValue\r\n }\r\n })\r\n },\r\n _animateForgetDeleteReady: function() {\r\n var rtl = this._isRtlEnabled();\r\n var listWidth = getWidth(this._list.$element());\r\n var buttonWidth = this._buttonWidth();\r\n var fromValue = rtl ? listWidth - buttonWidth : 0;\r\n var toValue = rtl ? listWidth : -buttonWidth;\r\n return fx.animate(this._$buttonContainer, {\r\n type: \"custom\",\r\n duration: SWITCHABLE_DELETE_BUTTON_ANIMATION_DURATION,\r\n from: {\r\n right: fromValue\r\n },\r\n to: {\r\n right: toValue\r\n }\r\n })\r\n },\r\n _buttonWidth: function() {\r\n if (!this._buttonContainerWidth) {\r\n this._buttonContainerWidth = getOuterWidth(this._$buttonContainer)\r\n }\r\n return this._buttonContainerWidth\r\n },\r\n dispose: function() {\r\n if (this._$buttonContainer) {\r\n this._$buttonContainer.remove()\r\n }\r\n this.callBase.apply(this, arguments)\r\n }\r\n});\r\nvar TOGGLE_DELETE_SWITCH_CONTAINER_CLASS = \"dx-list-toggle-delete-switch-container\";\r\nvar TOGGLE_DELETE_SWITCH_CLASS = \"dx-list-toggle-delete-switch\";\r\nregisterDecorator(\"delete\", \"toggle\", SwitchableButtonEditDecorator.inherit({\r\n beforeBag: function(config) {\r\n var $itemElement = config.$itemElement;\r\n var $container = config.$container;\r\n var $toggle = $(\"<div>\").addClass(TOGGLE_DELETE_SWITCH_CLASS);\r\n this._list._createComponent($toggle, Button, {\r\n icon: \"toggle-delete\",\r\n onClick: function(e) {\r\n fx.stop(this._$buttonContainer, false);\r\n this._toggleDeleteReady($itemElement);\r\n e.event.stopPropagation()\r\n }.bind(this),\r\n integrationOptions: {}\r\n });\r\n $container.addClass(TOGGLE_DELETE_SWITCH_CONTAINER_CLASS);\r\n $container.append($toggle)\r\n }\r\n}));\r\nregisterDecorator(\"delete\", \"slideButton\", SwitchableButtonEditDecorator.inherit({\r\n _shouldHandleSwipe: true,\r\n _swipeEndHandler: function($itemElement, args) {\r\n if (0 !== args.targetOffset) {\r\n fx.stop(this._$buttonContainer, false);\r\n this._toggleDeleteReady($itemElement)\r\n }\r\n return true\r\n }\r\n}));\r\nexport default SwitchableButtonEditDecorator;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.switchable.slide.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth,\r\n setWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n locate,\r\n move\r\n} from \"../../animation/translator\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n active\r\n} from \"../../events/core/emitter.feedback\";\r\nimport EditDecoratorMenuHelperMixin from \"./ui.list.edit.decorator_menu_helper\";\r\nimport {\r\n register as registerDecorator\r\n} from \"./ui.list.edit.decorator_registry\";\r\nimport SwitchableEditDecorator from \"./ui.list.edit.decorator.switchable\";\r\nimport fx from \"../../animation/fx\";\r\nimport {\r\n isMaterial\r\n} from \"../themes\";\r\nimport ActionSheet from \"../action_sheet\";\r\nvar LIST_EDIT_DECORATOR = \"dxListEditDecorator\";\r\nvar CLICK_EVENT_NAME = addNamespace(clickEventName, LIST_EDIT_DECORATOR);\r\nvar ACTIVE_EVENT_NAME = addNamespace(active, LIST_EDIT_DECORATOR);\r\nvar SLIDE_MENU_CLASS = \"dx-list-slide-menu\";\r\nvar SLIDE_MENU_WRAPPER_CLASS = \"dx-list-slide-menu-wrapper\";\r\nvar SLIDE_MENU_CONTENT_CLASS = \"dx-list-slide-menu-content\";\r\nvar SLIDE_MENU_BUTTONS_CONTAINER_CLASS = \"dx-list-slide-menu-buttons-container\";\r\nvar SLIDE_MENU_BUTTONS_CLASS = \"dx-list-slide-menu-buttons\";\r\nvar SLIDE_MENU_BUTTON_CLASS = \"dx-list-slide-menu-button\";\r\nvar SLIDE_MENU_BUTTON_MENU_CLASS = \"dx-list-slide-menu-button-menu\";\r\nvar SLIDE_MENU_BUTTON_DELETE_CLASS = \"dx-list-slide-menu-button-delete\";\r\nvar SLIDE_MENU_ANIMATION_DURATION = 400;\r\nvar SLIDE_MENU_ANIMATION_EASING = \"cubic-bezier(0.075, 0.82, 0.165, 1)\";\r\nregisterDecorator(\"menu\", \"slide\", SwitchableEditDecorator.inherit({\r\n _shouldHandleSwipe: true,\r\n _init: function() {\r\n this.callBase.apply(this, arguments);\r\n this._$buttonsContainer = $(\"<div>\").addClass(SLIDE_MENU_BUTTONS_CONTAINER_CLASS);\r\n eventsEngine.on(this._$buttonsContainer, ACTIVE_EVENT_NAME, noop);\r\n this._$buttons = $(\"<div>\").addClass(SLIDE_MENU_BUTTONS_CLASS).appendTo(this._$buttonsContainer);\r\n this._renderMenu();\r\n this._renderDeleteButton()\r\n },\r\n _renderMenu: function() {\r\n if (!this._menuEnabled()) {\r\n return\r\n }\r\n var menuItems = this._menuItems();\r\n if (1 === menuItems.length) {\r\n var menuItem = menuItems[0];\r\n this._renderMenuButton(menuItem.text, function(e) {\r\n e.stopPropagation();\r\n this._fireAction(menuItem)\r\n }.bind(this))\r\n } else {\r\n var $menu = $(\"<div>\").addClass(SLIDE_MENU_CLASS);\r\n this._menu = this._list._createComponent($menu, ActionSheet, {\r\n showTitle: false,\r\n items: menuItems,\r\n onItemClick: function(args) {\r\n this._fireAction(args.itemData)\r\n }.bind(this),\r\n integrationOptions: {}\r\n });\r\n $menu.appendTo(this._list.$element());\r\n var $menuButton = this._renderMenuButton(messageLocalization.format(\"dxListEditDecorator-more\"), function(e) {\r\n e.stopPropagation();\r\n this._menu.show()\r\n }.bind(this));\r\n this._menu.option(\"target\", $menuButton)\r\n }\r\n },\r\n _renderMenuButton: function(text, action) {\r\n var $menuButton = $(\"<div>\").addClass(SLIDE_MENU_BUTTON_CLASS).addClass(SLIDE_MENU_BUTTON_MENU_CLASS).text(text);\r\n this._$buttons.append($menuButton);\r\n eventsEngine.on($menuButton, CLICK_EVENT_NAME, action);\r\n return $menuButton\r\n },\r\n _renderDeleteButton: function() {\r\n if (!this._deleteEnabled()) {\r\n return\r\n }\r\n var $deleteButton = $(\"<div>\").addClass(SLIDE_MENU_BUTTON_CLASS).addClass(SLIDE_MENU_BUTTON_DELETE_CLASS).text(isMaterial() ? \"\" : messageLocalization.format(\"dxListEditDecorator-delete\"));\r\n eventsEngine.on($deleteButton, CLICK_EVENT_NAME, function(e) {\r\n e.stopPropagation();\r\n this._deleteItem()\r\n }.bind(this));\r\n this._$buttons.append($deleteButton)\r\n },\r\n _fireAction: function(menuItem) {\r\n this._fireMenuAction($(this._cachedNode), menuItem.action);\r\n this._cancelDeleteReadyItem()\r\n },\r\n modifyElement: function(config) {\r\n this.callBase.apply(this, arguments);\r\n var $itemElement = config.$itemElement;\r\n $itemElement.addClass(SLIDE_MENU_WRAPPER_CLASS);\r\n var $slideMenuContent = $(\"<div>\").addClass(SLIDE_MENU_CONTENT_CLASS);\r\n $itemElement.wrapInner($slideMenuContent)\r\n },\r\n _getDeleteButtonContainer: function() {\r\n return this._$buttonsContainer\r\n },\r\n handleClick: function(_, e) {\r\n if ($(e.target).closest(\".\" + SLIDE_MENU_CONTENT_CLASS).length) {\r\n return this.callBase.apply(this, arguments)\r\n }\r\n return false\r\n },\r\n _swipeStartHandler: function($itemElement) {\r\n this._enablePositioning($itemElement);\r\n this._cacheItemData($itemElement);\r\n this._setPositions(this._getPositions(0))\r\n },\r\n _swipeUpdateHandler: function($itemElement, args) {\r\n var rtl = this._isRtlEnabled();\r\n var signCorrection = rtl ? -1 : 1;\r\n var isItemReadyToDelete = this._isReadyToDelete($itemElement);\r\n var moveJustStarted = this._getCurrentPositions().content === this._getStartPositions().content;\r\n if (moveJustStarted && !isItemReadyToDelete && args.offset * signCorrection > 0) {\r\n args.cancel = true;\r\n return\r\n }\r\n var offset = this._cachedItemWidth * args.offset;\r\n var startOffset = isItemReadyToDelete ? -this._cachedButtonWidth * signCorrection : 0;\r\n var correctedOffset = (offset + startOffset) * signCorrection;\r\n var percent = correctedOffset < 0 ? Math.abs((offset + startOffset) / this._cachedButtonWidth) : 0;\r\n this._setPositions(this._getPositions(percent));\r\n return true\r\n },\r\n _getStartPositions: function() {\r\n var rtl = this._isRtlEnabled();\r\n var signCorrection = rtl ? -1 : 1;\r\n return {\r\n content: 0,\r\n buttonsContainer: rtl ? -this._cachedButtonWidth : this._cachedItemWidth,\r\n buttons: -this._cachedButtonWidth * signCorrection\r\n }\r\n },\r\n _getPositions: function(percent) {\r\n var rtl = this._isRtlEnabled();\r\n var signCorrection = rtl ? -1 : 1;\r\n var startPositions = this._getStartPositions();\r\n return {\r\n content: startPositions.content - percent * this._cachedButtonWidth * signCorrection,\r\n buttonsContainer: startPositions.buttonsContainer - Math.min(percent, 1) * this._cachedButtonWidth * signCorrection,\r\n buttons: startPositions.buttons + Math.min(percent, 1) * this._cachedButtonWidth * signCorrection\r\n }\r\n },\r\n _getCurrentPositions: function() {\r\n return {\r\n content: locate(this._$cachedContent).left,\r\n buttonsContainer: locate(this._$buttonsContainer).left,\r\n buttons: locate(this._$buttons).left\r\n }\r\n },\r\n _setPositions: function(positions) {\r\n move(this._$cachedContent, {\r\n left: positions.content\r\n });\r\n move(this._$buttonsContainer, {\r\n left: positions.buttonsContainer\r\n });\r\n move(this._$buttons, {\r\n left: positions.buttons\r\n })\r\n },\r\n _cacheItemData: function($itemElement) {\r\n if ($itemElement[0] === this._cachedNode) {\r\n return\r\n }\r\n this._$cachedContent = $itemElement.find(\".\" + SLIDE_MENU_CONTENT_CLASS);\r\n this._cachedItemWidth = getOuterWidth($itemElement);\r\n this._cachedButtonWidth = this._cachedButtonWidth || getOuterWidth(this._$buttons);\r\n setWidth(this._$buttonsContainer, this._cachedButtonWidth);\r\n if (this._$cachedContent.length) {\r\n this._cachedNode = $itemElement[0]\r\n }\r\n },\r\n _minButtonContainerLeftOffset: function() {\r\n return this._cachedItemWidth - this._cachedButtonWidth\r\n },\r\n _swipeEndHandler: function($itemElement, args) {\r\n this._cacheItemData($itemElement);\r\n var signCorrection = this._isRtlEnabled() ? 1 : -1;\r\n var offset = this._cachedItemWidth * args.offset;\r\n var endedAtReadyToDelete = !this._isReadyToDelete($itemElement) && offset * signCorrection > .2 * this._cachedButtonWidth;\r\n var readyToDelete = args.targetOffset === signCorrection && endedAtReadyToDelete;\r\n this._toggleDeleteReady($itemElement, readyToDelete);\r\n return true\r\n },\r\n _enablePositioning: function($itemElement) {\r\n fx.stop(this._$cachedContent, true);\r\n this.callBase.apply(this, arguments);\r\n this._$buttonsContainer.appendTo($itemElement)\r\n },\r\n _disablePositioning: function() {\r\n this.callBase.apply(this, arguments);\r\n this._$buttonsContainer.detach()\r\n },\r\n _animatePrepareDeleteReady: function() {\r\n return this._animateToPositions(this._getPositions(1))\r\n },\r\n _animateForgetDeleteReady: function($itemElement) {\r\n this._cacheItemData($itemElement);\r\n return this._animateToPositions(this._getPositions(0))\r\n },\r\n _animateToPositions: function(positions) {\r\n var that = this;\r\n var currentPosition = this._getCurrentPositions();\r\n var durationTimePart = Math.min(Math.abs(currentPosition.content - positions.content) / this._cachedButtonWidth, 1);\r\n return fx.animate(this._$cachedContent, {\r\n from: currentPosition,\r\n to: positions,\r\n easing: SLIDE_MENU_ANIMATION_EASING,\r\n duration: SLIDE_MENU_ANIMATION_DURATION * durationTimePart,\r\n strategy: \"frame\",\r\n draw: function(positions) {\r\n that._setPositions(positions)\r\n }\r\n })\r\n },\r\n dispose: function() {\r\n if (this._menu) {\r\n this._menu.$element().remove()\r\n }\r\n if (this._$buttonsContainer) {\r\n this._$buttonsContainer.remove()\r\n }\r\n this.callBase.apply(this, arguments)\r\n }\r\n}).include(EditDecoratorMenuHelperMixin));\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.static.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Button from \"../button\";\r\nimport {\r\n register as registerDecorator\r\n} from \"./ui.list.edit.decorator_registry\";\r\nimport EditDecorator from \"./ui.list.edit.decorator\";\r\nvar STATIC_DELETE_BUTTON_CONTAINER_CLASS = \"dx-list-static-delete-button-container\";\r\nvar STATIC_DELETE_BUTTON_CLASS = \"dx-list-static-delete-button\";\r\nregisterDecorator(\"delete\", \"static\", EditDecorator.inherit({\r\n afterBag: function(config) {\r\n var $itemElement = config.$itemElement;\r\n var $container = config.$container;\r\n var $button = $(\"<div>\").addClass(STATIC_DELETE_BUTTON_CLASS);\r\n this._list._createComponent($button, Button, {\r\n icon: \"remove\",\r\n onClick: function(args) {\r\n args.event.stopPropagation();\r\n this._deleteItem($itemElement)\r\n }.bind(this),\r\n integrationOptions: {}\r\n });\r\n $container.addClass(STATIC_DELETE_BUTTON_CONTAINER_CLASS).append($button)\r\n },\r\n _deleteItem: function($itemElement) {\r\n if ($itemElement.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n return\r\n }\r\n this._list.deleteItem($itemElement)\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.swipe.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nimport fx from \"../../animation/fx\";\r\nimport {\r\n register as registerDecorator\r\n} from \"./ui.list.edit.decorator_registry\";\r\nimport EditDecorator from \"./ui.list.edit.decorator\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nregisterDecorator(\"delete\", \"swipe\", EditDecorator.inherit({\r\n _shouldHandleSwipe: true,\r\n _renderItemPosition: function($itemElement, offset, animate) {\r\n var deferred = new Deferred;\r\n var itemOffset = offset * this._itemElementWidth;\r\n if (animate) {\r\n fx.animate($itemElement, {\r\n to: {\r\n left: itemOffset\r\n },\r\n type: \"slide\",\r\n complete: function() {\r\n deferred.resolve($itemElement, offset)\r\n }\r\n })\r\n } else {\r\n move($itemElement, {\r\n left: itemOffset\r\n });\r\n deferred.resolve()\r\n }\r\n return deferred.promise()\r\n },\r\n _swipeStartHandler: function($itemElement) {\r\n this._itemElementWidth = getWidth($itemElement);\r\n return true\r\n },\r\n _swipeUpdateHandler: function($itemElement, args) {\r\n this._renderItemPosition($itemElement, args.offset);\r\n return true\r\n },\r\n _swipeEndHandler: function($itemElement, args) {\r\n var offset = args.targetOffset;\r\n this._renderItemPosition($itemElement, offset, true).done(function($itemElement, offset) {\r\n if (Math.abs(offset)) {\r\n this._list.deleteItem($itemElement).fail(function() {\r\n this._renderItemPosition($itemElement, 0, true)\r\n }.bind(this))\r\n }\r\n }.bind(this));\r\n return true\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (esm/ui/list/modules/search.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport searchBoxMixin from \"../../widget/ui.search_box_mixin\";\r\nimport TextBox from \"../../text_box\";\r\nsearchBoxMixin.setEditorClass(TextBox);\r\n","/**\r\n * DevExtreme (esm/ui/radio_group/radio_button.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport Editor from \"../editor/editor\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nvar RADIO_BUTTON_CLASS = \"dx-radiobutton\";\r\nvar RADIO_BUTTON_ICON_CLASS = \"dx-radiobutton-icon\";\r\nvar RADIO_BUTTON_ICON_DOT_CLASS = \"dx-radiobutton-icon-dot\";\r\nvar RADIO_BUTTON_CHECKED_CLASS = \"dx-radiobutton-checked\";\r\nvar RADIO_BUTTON_ICON_CHECKED_CLASS = \"dx-radiobutton-icon-checked\";\r\nvar RadioButton = Editor.inherit({\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), {\r\n space: function(e) {\r\n e.preventDefault();\r\n this._clickAction({\r\n event: e\r\n })\r\n }\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n hoverStateEnabled: true,\r\n activeStateEnabled: true,\r\n value: false\r\n })\r\n },\r\n _canValueBeChangedByClick: function() {\r\n return true\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.$element().addClass(RADIO_BUTTON_CLASS)\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._renderIcon();\r\n this._renderCheckedState(this.option(\"value\"));\r\n this._renderClick();\r\n this.setAria(\"role\", \"radio\")\r\n },\r\n _renderIcon: function() {\r\n this._$icon = $(\"<div>\").addClass(RADIO_BUTTON_ICON_CLASS);\r\n $(\"<div>\").addClass(RADIO_BUTTON_ICON_DOT_CLASS).appendTo(this._$icon);\r\n this.$element().append(this._$icon)\r\n },\r\n _renderCheckedState: function(checked) {\r\n this.$element().toggleClass(RADIO_BUTTON_CHECKED_CLASS, checked).find(\".\" + RADIO_BUTTON_ICON_CLASS).toggleClass(RADIO_BUTTON_ICON_CHECKED_CLASS, checked);\r\n this.setAria(\"checked\", checked)\r\n },\r\n _renderClick: function() {\r\n var eventName = addNamespace(clickEventName, this.NAME);\r\n this._clickAction = this._createAction(function(args) {\r\n this._clickHandler(args.event)\r\n }.bind(this));\r\n eventsEngine.off(this.$element(), eventName);\r\n eventsEngine.on(this.$element(), eventName, function(e) {\r\n this._clickAction({\r\n event: e\r\n })\r\n }.bind(this))\r\n },\r\n _clickHandler: function(e) {\r\n this._saveValueChangeEvent(e);\r\n this.option(\"value\", true)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"value\":\r\n this._renderCheckedState(args.value);\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxRadioButton\", RadioButton);\r\nexport default RadioButton;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.selection.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport CheckBox from \"../check_box\";\r\nimport RadioButton from \"../radio_group/radio_button\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n register as registerDecorator\r\n} from \"./ui.list.edit.decorator_registry\";\r\nimport EditDecorator from \"./ui.list.edit.decorator\";\r\nvar SELECT_DECORATOR_ENABLED_CLASS = \"dx-list-select-decorator-enabled\";\r\nvar SELECT_DECORATOR_SELECT_ALL_CLASS = \"dx-list-select-all\";\r\nvar SELECT_DECORATOR_SELECT_ALL_CHECKBOX_CLASS = \"dx-list-select-all-checkbox\";\r\nvar SELECT_DECORATOR_SELECT_ALL_LABEL_CLASS = \"dx-list-select-all-label\";\r\nvar SELECT_CHECKBOX_CONTAINER_CLASS = \"dx-list-select-checkbox-container\";\r\nvar SELECT_CHECKBOX_CLASS = \"dx-list-select-checkbox\";\r\nvar SELECT_RADIO_BUTTON_CONTAINER_CLASS = \"dx-list-select-radiobutton-container\";\r\nvar SELECT_RADIO_BUTTON_CLASS = \"dx-list-select-radiobutton\";\r\nvar FOCUSED_STATE_CLASS = \"dx-state-focused\";\r\nvar CLICK_EVENT_NAME = addNamespace(clickEventName, \"dxListEditDecorator\");\r\nregisterDecorator(\"selection\", \"default\", EditDecorator.inherit({\r\n _init: function() {\r\n this.callBase.apply(this, arguments);\r\n var selectionMode = this._list.option(\"selectionMode\");\r\n this._singleStrategy = \"single\" === selectionMode;\r\n this._containerClass = this._singleStrategy ? SELECT_RADIO_BUTTON_CONTAINER_CLASS : SELECT_CHECKBOX_CONTAINER_CLASS;\r\n this._controlClass = this._singleStrategy ? SELECT_RADIO_BUTTON_CLASS : SELECT_CHECKBOX_CLASS;\r\n this._controlWidget = this._singleStrategy ? RadioButton : CheckBox;\r\n this._list.$element().addClass(SELECT_DECORATOR_ENABLED_CLASS)\r\n },\r\n beforeBag: function(config) {\r\n var $itemElement = config.$itemElement;\r\n var $container = config.$container.addClass(this._containerClass);\r\n var $control = $(\"<div>\").addClass(this._controlClass).appendTo($container);\r\n new this._controlWidget($control, extend(this._commonOptions(), {\r\n value: this._isSelected($itemElement),\r\n elementAttr: {\r\n \"aria-label\": \"Check State\"\r\n },\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false,\r\n onValueChanged: function(e) {\r\n e.event && this._list._saveSelectionChangeEvent(e.event);\r\n this._processCheckedState($itemElement, e.value);\r\n e.event && e.event.stopPropagation()\r\n }.bind(this)\r\n }))\r\n },\r\n modifyElement: function(config) {\r\n this.callBase.apply(this, arguments);\r\n var $itemElement = config.$itemElement;\r\n var control = this._controlWidget.getInstance($itemElement.find(\".\" + this._controlClass));\r\n eventsEngine.on($itemElement, \"stateChanged\", function(e, state) {\r\n control.option(\"value\", state)\r\n }.bind(this))\r\n },\r\n _updateSelectAllState: function() {\r\n if (!this._$selectAll) {\r\n return\r\n }\r\n this._selectAllCheckBox.option(\"value\", this._list.isSelectAll())\r\n },\r\n afterRender: function() {\r\n if (\"all\" !== this._list.option(\"selectionMode\")) {\r\n return\r\n }\r\n if (!this._$selectAll) {\r\n this._renderSelectAll()\r\n } else {\r\n this._updateSelectAllState()\r\n }\r\n },\r\n handleKeyboardEvents: function(currentFocusedIndex, moveFocusUp) {\r\n var moveFocusDown = !moveFocusUp;\r\n var list = this._list;\r\n var $selectAll = this._$selectAll;\r\n var lastItemIndex = list._getLastItemIndex();\r\n var isFocusOutOfList = moveFocusUp && 0 === currentFocusedIndex || moveFocusDown && currentFocusedIndex === lastItemIndex;\r\n var hasSelectAllItem = !!$selectAll;\r\n if (hasSelectAllItem && isFocusOutOfList) {\r\n list.option(\"focusedElement\", $selectAll);\r\n list.scrollToItem(list.option(\"focusedElement\"));\r\n return true\r\n }\r\n return false\r\n },\r\n handleEnterPressing: function(e) {\r\n if (this._$selectAll && this._$selectAll.hasClass(FOCUSED_STATE_CLASS)) {\r\n e.target = this._$selectAll.get(0);\r\n this._list._saveSelectionChangeEvent(e);\r\n this._selectAllCheckBox.option(\"value\", !this._selectAllCheckBox.option(\"value\"));\r\n return true\r\n }\r\n },\r\n _renderSelectAll: function() {\r\n var $selectAll = this._$selectAll = $(\"<div>\").addClass(SELECT_DECORATOR_SELECT_ALL_CLASS);\r\n var list = this._list;\r\n var downArrowHandler = list._supportedKeys().downArrow.bind(list);\r\n this._selectAllCheckBox = list._createComponent($(\"<div>\").addClass(SELECT_DECORATOR_SELECT_ALL_CHECKBOX_CLASS).appendTo($selectAll), CheckBox, {\r\n elementAttr: {\r\n \"aria-label\": \"Select All\"\r\n },\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false\r\n });\r\n this._selectAllCheckBox.registerKeyHandler(\"downArrow\", downArrowHandler);\r\n $(\"<div>\").addClass(SELECT_DECORATOR_SELECT_ALL_LABEL_CLASS).text(this._list.option(\"selectAllText\")).appendTo($selectAll);\r\n this._list.itemsContainer().prepend($selectAll);\r\n this._updateSelectAllState();\r\n this._attachSelectAllHandler()\r\n },\r\n _attachSelectAllHandler: function() {\r\n this._selectAllCheckBox.option(\"onValueChanged\", this._selectAllHandler.bind(this));\r\n eventsEngine.off(this._$selectAll, CLICK_EVENT_NAME);\r\n eventsEngine.on(this._$selectAll, CLICK_EVENT_NAME, this._selectAllClickHandler.bind(this))\r\n },\r\n _selectAllHandler: function(e) {\r\n e.event && e.event.stopPropagation();\r\n var isSelectedAll = this._selectAllCheckBox.option(\"value\");\r\n e.event && this._list._saveSelectionChangeEvent(e.event);\r\n if (true === isSelectedAll) {\r\n this._selectAllItems()\r\n } else if (false === isSelectedAll) {\r\n this._unselectAllItems()\r\n }\r\n this._list._createActionByOption(\"onSelectAllValueChanged\")({\r\n value: isSelectedAll\r\n })\r\n },\r\n _checkSelectAllCapability: function() {\r\n var list = this._list;\r\n var dataController = list._dataController;\r\n if (\"allPages\" === list.option(\"selectAllMode\") && list.option(\"grouped\") && !dataController.group()) {\r\n errors.log(\"W1010\");\r\n return false\r\n }\r\n return true\r\n },\r\n _selectAllItems: function() {\r\n if (!this._checkSelectAllCapability()) {\r\n return\r\n }\r\n this._list._selection.selectAll(\"page\" === this._list.option(\"selectAllMode\"))\r\n },\r\n _unselectAllItems: function() {\r\n if (!this._checkSelectAllCapability()) {\r\n return\r\n }\r\n this._list._selection.deselectAll(\"page\" === this._list.option(\"selectAllMode\"))\r\n },\r\n _selectAllClickHandler: function(e) {\r\n this._list._saveSelectionChangeEvent(e);\r\n this._selectAllCheckBox.option(\"value\", !this._selectAllCheckBox.option(\"value\"))\r\n },\r\n _isSelected: function($itemElement) {\r\n return this._list.isItemSelected($itemElement)\r\n },\r\n _processCheckedState: function($itemElement, checked) {\r\n if (checked) {\r\n this._list.selectItem($itemElement)\r\n } else {\r\n this._list.unselectItem($itemElement)\r\n }\r\n },\r\n dispose: function() {\r\n this._disposeSelectAll();\r\n this._list.$element().removeClass(SELECT_DECORATOR_ENABLED_CLASS);\r\n this.callBase.apply(this, arguments)\r\n },\r\n _disposeSelectAll: function() {\r\n if (this._$selectAll) {\r\n this._$selectAll.remove();\r\n this._$selectAll = null\r\n }\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (esm/ui/list/item.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport CollectionWidgetItem from \"../collection/item\";\r\nvar LIST_ITEM_BADGE_CONTAINER_CLASS = \"dx-list-item-badge-container\";\r\nvar LIST_ITEM_BADGE_CLASS = \"dx-list-item-badge\";\r\nvar BADGE_CLASS = \"dx-badge\";\r\nvar LIST_ITEM_CHEVRON_CONTAINER_CLASS = \"dx-list-item-chevron-container\";\r\nvar LIST_ITEM_CHEVRON_CLASS = \"dx-list-item-chevron\";\r\nvar ListItem = CollectionWidgetItem.inherit({\r\n _renderWatchers: function() {\r\n this.callBase();\r\n this._startWatcher(\"badge\", this._renderBadge.bind(this));\r\n this._startWatcher(\"showChevron\", this._renderShowChevron.bind(this))\r\n },\r\n _renderBadge: function(badge) {\r\n this._$element.children(\".\" + LIST_ITEM_BADGE_CONTAINER_CLASS).remove();\r\n if (!badge) {\r\n return\r\n }\r\n var $badge = $(\"<div>\").addClass(LIST_ITEM_BADGE_CONTAINER_CLASS).append($(\"<div>\").addClass(LIST_ITEM_BADGE_CLASS).addClass(BADGE_CLASS).text(badge));\r\n var $chevron = this._$element.children(\".\" + LIST_ITEM_CHEVRON_CONTAINER_CLASS).first();\r\n $chevron.length > 0 ? $badge.insertBefore($chevron) : $badge.appendTo(this._$element)\r\n },\r\n _renderShowChevron: function(showChevron) {\r\n this._$element.children(\".\" + LIST_ITEM_CHEVRON_CONTAINER_CLASS).remove();\r\n if (!showChevron) {\r\n return\r\n }\r\n var $chevronContainer = $(\"<div>\").addClass(LIST_ITEM_CHEVRON_CONTAINER_CLASS);\r\n var $chevron = $(\"<div>\").addClass(LIST_ITEM_CHEVRON_CLASS);\r\n $chevronContainer.append($chevron).appendTo(this._$element)\r\n }\r\n});\r\nexport default ListItem;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scroll_view/utils/get_element_style.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n titleize\r\n} from \"../../../../core/utils/inflector\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../../../core/utils/window\";\r\nimport {\r\n toNumber\r\n} from \"../../../utils/type_conversion\";\r\nexport function getElementStyle(el) {\r\n var _getWindow$getCompute, _getWindow;\r\n return el && hasWindow() ? null === (_getWindow$getCompute = (_getWindow = getWindow()).getComputedStyle) || void 0 === _getWindow$getCompute ? void 0 : _getWindow$getCompute.call(_getWindow, el) : null\r\n}\r\nexport function getElementMargin(element, side) {\r\n var style = getElementStyle(element);\r\n return style ? toNumber(style[\"margin\".concat(titleize(side))]) : 0\r\n}\r\nexport function getElementPadding(element, side) {\r\n var style = getElementStyle(element);\r\n return style ? toNumber(style[\"padding\".concat(titleize(side))]) : 0\r\n}\r\nexport function getElementOverflowX(element) {\r\n var style = getElementStyle(element);\r\n return style ? style.overflowX : \"visible\"\r\n}\r\nexport function getElementOverflowY(element) {\r\n var style = getElementStyle(element);\r\n return style ? style.overflowY : \"visible\"\r\n}\r\nexport function getElementTransform(element) {\r\n var style = getElementStyle(element);\r\n return style ? style.transform : \"\"\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.base.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight,\r\n getOuterHeight,\r\n setHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n ensureDefined,\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isPlainObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n getImageContainer\r\n} from \"../../core/utils/icon\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n compileGetter\r\n} from \"../../core/utils/data\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport fx from \"../../animation/fx\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport {\r\n end as swipeEventEnd\r\n} from \"../../events/swipe\";\r\nimport {\r\n nativeScrolling\r\n} from \"../../core/utils/support\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n render\r\n} from \"../widget/utils.ink_ripple\";\r\nimport devices from \"../../core/devices\";\r\nimport ListItem from \"./item\";\r\nimport Button from \"../button\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n current,\r\n isMaterial\r\n} from \"../themes\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport ScrollView from \"../scroll_view\";\r\nimport {\r\n deviceDependentOptions\r\n} from \"../scroll_view/ui.scrollable.device\";\r\nimport CollectionWidget from \"../collection/ui.collection_widget.live_update\";\r\nimport {\r\n BindableTemplate\r\n} from \"../../core/templates/bindable_template\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport DataConverterMixin from \"../shared/grouped_data_converter_mixin\";\r\nimport {\r\n getElementMargin\r\n} from \"../../renovation/ui/scroll_view/utils/get_element_style\";\r\nvar LIST_CLASS = \"dx-list\";\r\nvar LIST_ITEM_CLASS = \"dx-list-item\";\r\nvar LIST_ITEM_SELECTOR = \".\" + LIST_ITEM_CLASS;\r\nvar LIST_ITEM_ICON_CONTAINER_CLASS = \"dx-list-item-icon-container\";\r\nvar LIST_ITEM_ICON_CLASS = \"dx-list-item-icon\";\r\nvar LIST_GROUP_CLASS = \"dx-list-group\";\r\nvar LIST_GROUP_HEADER_CLASS = \"dx-list-group-header\";\r\nvar LIST_GROUP_BODY_CLASS = \"dx-list-group-body\";\r\nvar LIST_COLLAPSIBLE_GROUPS_CLASS = \"dx-list-collapsible-groups\";\r\nvar LIST_GROUP_COLLAPSED_CLASS = \"dx-list-group-collapsed\";\r\nvar LIST_GROUP_HEADER_INDICATOR_CLASS = \"dx-list-group-header-indicator\";\r\nvar LIST_HAS_NEXT_CLASS = \"dx-has-next\";\r\nvar LIST_NEXT_BUTTON_CLASS = \"dx-list-next-button\";\r\nvar WRAP_ITEM_TEXT_CLASS = \"dx-wrap-item-text\";\r\nvar SELECT_ALL_ITEM_SELECTOR = \".dx-list-select-all\";\r\nvar LIST_ITEM_DATA_KEY = \"dxListItemData\";\r\nvar LIST_FEEDBACK_SHOW_TIMEOUT = 70;\r\nvar groupItemsGetter = compileGetter(\"items\");\r\nvar _scrollView;\r\nexport var ListBase = CollectionWidget.inherit({\r\n _activeStateUnit: [LIST_ITEM_SELECTOR, SELECT_ALL_ITEM_SELECTOR].join(\",\"),\r\n _supportedKeys: function() {\r\n var that = this;\r\n var moveFocusPerPage = function(direction) {\r\n var $item = getEdgeVisibleItem(direction);\r\n var isFocusedItem = $item.is(that.option(\"focusedElement\"));\r\n if (isFocusedItem) {\r\n ! function($item, direction) {\r\n var resultPosition = $item.position().top;\r\n if (\"prev\" === direction) {\r\n resultPosition = $item.position().top - getHeight(that.$element()) + getOuterHeight($item)\r\n }\r\n that.scrollTo(resultPosition)\r\n }($item, direction);\r\n $item = getEdgeVisibleItem(direction)\r\n }\r\n that.option(\"focusedElement\", getPublicElement($item));\r\n that.scrollToItem($item)\r\n };\r\n\r\n function getEdgeVisibleItem(direction) {\r\n var scrollTop = that.scrollTop();\r\n var containerHeight = getHeight(that.$element());\r\n var $item = $(that.option(\"focusedElement\"));\r\n var isItemVisible = true;\r\n if (!$item.length) {\r\n return $()\r\n }\r\n while (isItemVisible) {\r\n var $nextItem = $item[direction]();\r\n if (!$nextItem.length) {\r\n break\r\n }\r\n var nextItemLocation = $nextItem.position().top + getOuterHeight($nextItem) / 2;\r\n isItemVisible = nextItemLocation < containerHeight + scrollTop && nextItemLocation > scrollTop;\r\n if (isItemVisible) {\r\n $item = $nextItem\r\n }\r\n }\r\n return $item\r\n }\r\n return extend(this.callBase(), {\r\n leftArrow: noop,\r\n rightArrow: noop,\r\n pageUp: function() {\r\n moveFocusPerPage(\"prev\");\r\n return false\r\n },\r\n pageDown: function() {\r\n moveFocusPerPage(\"next\");\r\n return false\r\n }\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n hoverStateEnabled: true,\r\n pullRefreshEnabled: false,\r\n scrollingEnabled: true,\r\n showScrollbar: \"onScroll\",\r\n useNativeScrolling: true,\r\n bounceEnabled: true,\r\n scrollByContent: true,\r\n scrollByThumb: false,\r\n pullingDownText: messageLocalization.format(\"dxList-pullingDownText\"),\r\n pulledDownText: messageLocalization.format(\"dxList-pulledDownText\"),\r\n refreshingText: messageLocalization.format(\"dxList-refreshingText\"),\r\n pageLoadingText: messageLocalization.format(\"dxList-pageLoadingText\"),\r\n onScroll: null,\r\n onPullRefresh: null,\r\n onPageLoading: null,\r\n pageLoadMode: \"scrollBottom\",\r\n nextButtonText: messageLocalization.format(\"dxList-nextButtonText\"),\r\n onItemSwipe: null,\r\n grouped: false,\r\n onGroupRendered: null,\r\n collapsibleGroups: false,\r\n groupTemplate: \"group\",\r\n indicateLoading: true,\r\n activeStateEnabled: true,\r\n _itemAttributes: {\r\n role: \"option\"\r\n },\r\n _listAttributes: {\r\n role: \"listbox\"\r\n },\r\n useInkRipple: false,\r\n wrapItemText: false,\r\n _swipeEnabled: true,\r\n showChevronExpr: function(data) {\r\n return data ? data.showChevron : void 0\r\n },\r\n badgeExpr: function(data) {\r\n return data ? data.badge : void 0\r\n }\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n var themeName = current();\r\n return this.callBase().concat(deviceDependentOptions(), [{\r\n device: function() {\r\n return !nativeScrolling\r\n },\r\n options: {\r\n useNativeScrolling: false\r\n }\r\n }, {\r\n device: function(_device) {\r\n return !nativeScrolling && !devices.isSimulator() && \"desktop\" === devices.real().deviceType && \"generic\" === _device.platform\r\n },\r\n options: {\r\n showScrollbar: \"onHover\",\r\n pageLoadMode: \"nextButton\"\r\n }\r\n }, {\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial(themeName)\r\n },\r\n options: {\r\n pullingDownText: \"\",\r\n pulledDownText: \"\",\r\n refreshingText: \"\",\r\n pageLoadingText: \"\",\r\n useInkRipple: true\r\n }\r\n }])\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this._updateLoadingState(true)\r\n }\r\n },\r\n _itemClass: function() {\r\n return LIST_ITEM_CLASS\r\n },\r\n _itemDataKey: function() {\r\n return LIST_ITEM_DATA_KEY\r\n },\r\n _itemContainer: function() {\r\n return this._$container\r\n },\r\n _saveSelectionChangeEvent: function(e) {\r\n this._selectionChangeEventInstance = e\r\n },\r\n _getSelectionChangeEvent: function() {\r\n return this._selectionChangeEventInstance\r\n },\r\n _refreshItemElements: function() {\r\n if (!this.option(\"grouped\")) {\r\n this._itemElementsCache = this._itemContainer().children(this._itemSelector())\r\n } else {\r\n this._itemElementsCache = this._itemContainer().children(\".\" + LIST_GROUP_CLASS).children(\".\" + LIST_GROUP_BODY_CLASS).children(this._itemSelector())\r\n }\r\n },\r\n _modifyByChanges: function() {\r\n this.callBase.apply(this, arguments);\r\n this._refreshItemElements();\r\n this._updateLoadingState(true)\r\n },\r\n reorderItem: function(itemElement, toItemElement) {\r\n var promise = this.callBase(itemElement, toItemElement);\r\n return promise.done((function() {\r\n this._refreshItemElements()\r\n }))\r\n },\r\n deleteItem: function(itemElement) {\r\n var promise = this.callBase(itemElement);\r\n return promise.done((function() {\r\n this._refreshItemElements()\r\n }))\r\n },\r\n _itemElements: function() {\r\n return this._itemElementsCache\r\n },\r\n _itemSelectHandler: function(e) {\r\n if (\"single\" === this.option(\"selectionMode\") && this.isItemSelected(e.currentTarget)) {\r\n return\r\n }\r\n return this.callBase(e)\r\n },\r\n _allowDynamicItemsAppend: function() {\r\n return true\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._dataController.resetDataSourcePageIndex();\r\n this._$container = this.$element();\r\n this._initScrollView();\r\n this._feedbackShowTimeout = LIST_FEEDBACK_SHOW_TIMEOUT;\r\n this._createGroupRenderAction()\r\n },\r\n _scrollBottomMode: function() {\r\n return \"scrollBottom\" === this.option(\"pageLoadMode\")\r\n },\r\n _nextButtonMode: function() {\r\n return \"nextButton\" === this.option(\"pageLoadMode\")\r\n },\r\n _dataSourceOptions: function() {\r\n var scrollBottom = this._scrollBottomMode();\r\n var nextButton = this._nextButtonMode();\r\n return extend(this.callBase(), {\r\n paginate: ensureDefined(scrollBottom || nextButton, true)\r\n })\r\n },\r\n _getGroupedOption: function() {\r\n return this.option(\"grouped\")\r\n },\r\n _getGroupContainerByIndex: function(groupIndex) {\r\n return this._itemContainer().find(\".\".concat(LIST_GROUP_CLASS)).eq(groupIndex).find(\".\".concat(LIST_GROUP_BODY_CLASS))\r\n },\r\n _dataSourceFromUrlLoadMode: function() {\r\n return \"raw\"\r\n },\r\n _initScrollView: function() {\r\n var scrollingEnabled = this.option(\"scrollingEnabled\");\r\n var pullRefreshEnabled = scrollingEnabled && this.option(\"pullRefreshEnabled\");\r\n var autoPagingEnabled = scrollingEnabled && this._scrollBottomMode() && !!this._dataController.getDataSource();\r\n this._scrollView = this._createComponent(this.$element(), getScrollView(), {\r\n height: this.option(\"height\"),\r\n width: this.option(\"width\"),\r\n disabled: this.option(\"disabled\") || !scrollingEnabled,\r\n onScroll: this._scrollHandler.bind(this),\r\n onPullDown: pullRefreshEnabled ? this._pullDownHandler.bind(this) : null,\r\n onReachBottom: autoPagingEnabled ? this._scrollBottomHandler.bind(this) : null,\r\n showScrollbar: this.option(\"showScrollbar\"),\r\n useNative: this.option(\"useNativeScrolling\"),\r\n bounceEnabled: this.option(\"bounceEnabled\"),\r\n scrollByContent: this.option(\"scrollByContent\"),\r\n scrollByThumb: this.option(\"scrollByThumb\"),\r\n pullingDownText: this.option(\"pullingDownText\"),\r\n pulledDownText: this.option(\"pulledDownText\"),\r\n refreshingText: this.option(\"refreshingText\"),\r\n reachBottomText: this.option(\"pageLoadingText\"),\r\n useKeyboard: false\r\n });\r\n this._$container = $(this._scrollView.content());\r\n if (this.option(\"wrapItemText\")) {\r\n this._$container.addClass(WRAP_ITEM_TEXT_CLASS)\r\n }\r\n this._createScrollViewActions()\r\n },\r\n _createScrollViewActions: function() {\r\n this._scrollAction = this._createActionByOption(\"onScroll\");\r\n this._pullRefreshAction = this._createActionByOption(\"onPullRefresh\");\r\n this._pageLoadingAction = this._createActionByOption(\"onPageLoading\")\r\n },\r\n _scrollHandler: function(e) {\r\n this._scrollAction && this._scrollAction(e)\r\n },\r\n _initTemplates: function() {\r\n this._templateManager.addDefaultTemplates({\r\n group: new BindableTemplate((function($container, data) {\r\n if (isPlainObject(data)) {\r\n if (data.key) {\r\n $container.text(data.key)\r\n }\r\n } else {\r\n $container.text(String(data))\r\n }\r\n }), [\"key\"], this.option(\"integrationOptions.watchMethod\"))\r\n });\r\n this.callBase()\r\n },\r\n _prepareDefaultItemTemplate: function(data, $container) {\r\n this.callBase(data, $container);\r\n if (data.icon) {\r\n var $icon = getImageContainer(data.icon).addClass(LIST_ITEM_ICON_CLASS);\r\n var $iconContainer = $(\"<div>\").addClass(LIST_ITEM_ICON_CONTAINER_CLASS);\r\n $iconContainer.append($icon);\r\n $container.prepend($iconContainer)\r\n }\r\n },\r\n _getBindableFields: function() {\r\n return [\"text\", \"html\", \"icon\"]\r\n },\r\n _updateLoadingState: function(tryLoadMore) {\r\n var dataController = this._dataController;\r\n var shouldLoadNextPage = this._scrollBottomMode() && tryLoadMore && !dataController.isLoading() && !this._isLastPage();\r\n if (this._shouldContinueLoading(shouldLoadNextPage)) {\r\n this._infiniteDataLoading()\r\n } else {\r\n this._scrollView.release(!shouldLoadNextPage && !dataController.isLoading());\r\n this._toggleNextButton(this._shouldRenderNextButton() && !this._isLastPage());\r\n this._loadIndicationSuppressed(false)\r\n }\r\n },\r\n _shouldRenderNextButton: function() {\r\n return this._nextButtonMode() && this._dataController.isLoaded()\r\n },\r\n _isDataSourceFirstLoadCompleted: function(newValue) {\r\n if (isDefined(newValue)) {\r\n this._isFirstLoadCompleted = newValue\r\n }\r\n return this._isFirstLoadCompleted\r\n },\r\n _dataSourceLoadingChangedHandler: function(isLoading) {\r\n if (this._loadIndicationSuppressed()) {\r\n return\r\n }\r\n if (isLoading && this.option(\"indicateLoading\")) {\r\n this._showLoadingIndicatorTimer = setTimeout(function() {\r\n var isEmpty = !this._itemElements().length;\r\n var shouldIndicateLoading = !isEmpty || this._isDataSourceFirstLoadCompleted();\r\n if (shouldIndicateLoading) {\r\n var _this$_scrollView;\r\n null === (_this$_scrollView = this._scrollView) || void 0 === _this$_scrollView ? void 0 : _this$_scrollView.startLoading()\r\n }\r\n }.bind(this))\r\n } else {\r\n clearTimeout(this._showLoadingIndicatorTimer);\r\n this._scrollView && this._scrollView.finishLoading()\r\n }\r\n if (!isLoading) {\r\n this._isDataSourceFirstLoadCompleted(false)\r\n }\r\n },\r\n _dataSourceChangedHandler: function() {\r\n if (!this._shouldAppendItems() && hasWindow()) {\r\n this._scrollView && this._scrollView.scrollTo(0)\r\n }\r\n this.callBase.apply(this, arguments);\r\n this._isDataSourceFirstLoadCompleted(true)\r\n },\r\n _refreshContent: function() {\r\n this._prepareContent();\r\n this._fireContentReadyAction()\r\n },\r\n _hideLoadingIfLoadIndicationOff: function() {\r\n if (!this.option(\"indicateLoading\")) {\r\n this._dataSourceLoadingChangedHandler(false)\r\n }\r\n },\r\n _loadIndicationSuppressed: function(value) {\r\n if (!arguments.length) {\r\n return this._isLoadIndicationSuppressed\r\n }\r\n this._isLoadIndicationSuppressed = value\r\n },\r\n _scrollViewIsFull: function() {\r\n var scrollView = this._scrollView;\r\n return !scrollView || getHeight(scrollView.content()) > getHeight(scrollView.container())\r\n },\r\n _pullDownHandler: function(e) {\r\n this._pullRefreshAction(e);\r\n var dataController = this._dataController;\r\n if (dataController.getDataSource() && !dataController.isLoading()) {\r\n this._clearSelectedItems();\r\n dataController.pageIndex(0);\r\n dataController.reload()\r\n } else {\r\n this._updateLoadingState()\r\n }\r\n },\r\n _shouldContinueLoading: function(shouldLoadNextPage) {\r\n var _this$_scrollView$scr, _this$_scrollView$scr2;\r\n var isBottomReached = getHeight(this._scrollView.content()) - getHeight(this._scrollView.container()) < (null !== (_this$_scrollView$scr = null === (_this$_scrollView$scr2 = this._scrollView.scrollOffset()) || void 0 === _this$_scrollView$scr2 ? void 0 : _this$_scrollView$scr2.top) && void 0 !== _this$_scrollView$scr ? _this$_scrollView$scr : 0);\r\n return shouldLoadNextPage && (!this._scrollViewIsFull() || isBottomReached)\r\n },\r\n _infiniteDataLoading: function() {\r\n var isElementVisible = this.$element().is(\":visible\");\r\n if (isElementVisible) {\r\n clearTimeout(this._loadNextPageTimer);\r\n this._loadNextPageTimer = setTimeout(() => {\r\n this._loadNextPage()\r\n })\r\n }\r\n },\r\n _scrollBottomHandler: function(e) {\r\n this._pageLoadingAction(e);\r\n var dataController = this._dataController;\r\n if (!dataController.isLoading() && !this._isLastPage()) {\r\n this._loadNextPage()\r\n } else {\r\n this._updateLoadingState()\r\n }\r\n },\r\n _renderItems: function(items) {\r\n if (this.option(\"grouped\")) {\r\n each(items, this._renderGroup.bind(this));\r\n this._attachGroupCollapseEvent();\r\n this._renderEmptyMessage();\r\n if (isMaterial()) {\r\n this.attachGroupHeaderInkRippleEvents()\r\n }\r\n } else {\r\n this.callBase.apply(this, arguments)\r\n }\r\n this._refreshItemElements();\r\n this._updateLoadingState(true)\r\n },\r\n _attachGroupCollapseEvent: function() {\r\n var eventName = addNamespace(clickEventName, this.NAME);\r\n var selector = \".\" + LIST_GROUP_HEADER_CLASS;\r\n var $element = this.$element();\r\n var collapsibleGroups = this.option(\"collapsibleGroups\");\r\n $element.toggleClass(LIST_COLLAPSIBLE_GROUPS_CLASS, collapsibleGroups);\r\n eventsEngine.off($element, eventName, selector);\r\n if (collapsibleGroups) {\r\n eventsEngine.on($element, eventName, selector, function(e) {\r\n this._createAction(function(e) {\r\n var $group = $(e.event.currentTarget).parent();\r\n this._collapseGroupHandler($group);\r\n if (this.option(\"focusStateEnabled\")) {\r\n this.option(\"focusedElement\", getPublicElement($group.find(\".\" + LIST_ITEM_CLASS).eq(0)))\r\n }\r\n }.bind(this), {\r\n validatingTargetName: \"element\"\r\n })({\r\n event: e\r\n })\r\n }.bind(this))\r\n }\r\n },\r\n _collapseGroupHandler: function($group, toggle) {\r\n var deferred = new Deferred;\r\n if ($group.hasClass(LIST_GROUP_COLLAPSED_CLASS) === toggle) {\r\n return deferred.resolve()\r\n }\r\n var $groupBody = $group.children(\".\" + LIST_GROUP_BODY_CLASS);\r\n var startHeight = getOuterHeight($groupBody);\r\n var endHeight = 0;\r\n if (0 === startHeight) {\r\n setHeight($groupBody, \"auto\");\r\n endHeight = getOuterHeight($groupBody)\r\n }\r\n $group.toggleClass(LIST_GROUP_COLLAPSED_CLASS, toggle);\r\n fx.animate($groupBody, {\r\n type: \"custom\",\r\n from: {\r\n height: startHeight\r\n },\r\n to: {\r\n height: endHeight\r\n },\r\n duration: 200,\r\n complete: function() {\r\n this.updateDimensions();\r\n this._updateLoadingState(true);\r\n deferred.resolve()\r\n }.bind(this)\r\n });\r\n return deferred.promise()\r\n },\r\n _dataSourceLoadErrorHandler: function() {\r\n this._forgetNextPageLoading();\r\n if (this._initialized) {\r\n this._renderEmptyMessage();\r\n this._updateLoadingState()\r\n }\r\n },\r\n _initMarkup: function() {\r\n this._itemElementsCache = $();\r\n this.$element().addClass(LIST_CLASS);\r\n this.callBase();\r\n this.option(\"useInkRipple\") && this._renderInkRipple();\r\n this.setAria(\"role\", this.option(\"_listAttributes\").role)\r\n },\r\n _renderInkRipple: function() {\r\n this._inkRipple = render()\r\n },\r\n _toggleActiveState: function($element, value, e) {\r\n this.callBase.apply(this, arguments);\r\n var that = this;\r\n if (!this._inkRipple) {\r\n return\r\n }\r\n var config = {\r\n element: $element,\r\n event: e\r\n };\r\n if (value) {\r\n if (isMaterial()) {\r\n this._inkRippleTimer = setTimeout((function() {\r\n that._inkRipple.showWave(config)\r\n }), LIST_FEEDBACK_SHOW_TIMEOUT / 2)\r\n } else {\r\n that._inkRipple.showWave(config)\r\n }\r\n } else {\r\n clearTimeout(this._inkRippleTimer);\r\n this._inkRipple.hideWave(config)\r\n }\r\n },\r\n _postprocessRenderItem: function(args) {\r\n this._refreshItemElements();\r\n this.callBase.apply(this, arguments);\r\n if (this.option(\"_swipeEnabled\")) {\r\n this._attachSwipeEvent($(args.itemElement))\r\n }\r\n },\r\n _attachSwipeEvent: function($itemElement) {\r\n var endEventName = addNamespace(swipeEventEnd, this.NAME);\r\n eventsEngine.on($itemElement, endEventName, this._itemSwipeEndHandler.bind(this))\r\n },\r\n _itemSwipeEndHandler: function(e) {\r\n this._itemDXEventHandler(e, \"onItemSwipe\", {\r\n direction: e.offset < 0 ? \"left\" : \"right\"\r\n })\r\n },\r\n _nextButtonHandler: function(e) {\r\n this._pageLoadingAction(e);\r\n var dataController = this._dataController;\r\n if (dataController.getDataSource() && !dataController.isLoading()) {\r\n this._scrollView.toggleLoading(true);\r\n this._$nextButton.detach();\r\n this._loadIndicationSuppressed(true);\r\n this._loadNextPage()\r\n }\r\n },\r\n _renderGroup: function(index, group) {\r\n var $groupElement = $(\"<div>\").addClass(LIST_GROUP_CLASS).appendTo(this._itemContainer());\r\n var $groupHeaderElement = $(\"<div>\").addClass(LIST_GROUP_HEADER_CLASS).appendTo($groupElement);\r\n var groupTemplateName = this.option(\"groupTemplate\");\r\n var groupTemplate = this._getTemplate(group.template || groupTemplateName, group, index, $groupHeaderElement);\r\n var renderArgs = {\r\n index: index,\r\n itemData: group,\r\n container: getPublicElement($groupHeaderElement)\r\n };\r\n this._createItemByTemplate(groupTemplate, renderArgs);\r\n if (isMaterial()) {\r\n $(\"<div>\").addClass(LIST_GROUP_HEADER_INDICATOR_CLASS).prependTo($groupHeaderElement)\r\n }\r\n this._renderingGroupIndex = index;\r\n var $groupBody = $(\"<div>\").addClass(LIST_GROUP_BODY_CLASS).appendTo($groupElement);\r\n each(groupItemsGetter(group) || [], function(itemIndex, item) {\r\n this._renderItem({\r\n group: index,\r\n item: itemIndex\r\n }, item, $groupBody)\r\n }.bind(this));\r\n this._groupRenderAction({\r\n groupElement: getPublicElement($groupElement),\r\n groupIndex: index,\r\n groupData: group\r\n })\r\n },\r\n downInkRippleHandler: function(e) {\r\n this._toggleActiveState($(e.currentTarget), true, e)\r\n },\r\n upInkRippleHandler: function(e) {\r\n this._toggleActiveState($(e.currentTarget), false)\r\n },\r\n attachGroupHeaderInkRippleEvents: function() {\r\n var selector = \".\" + LIST_GROUP_HEADER_CLASS;\r\n var $element = this.$element();\r\n this._downInkRippleHandler = this._downInkRippleHandler || this.downInkRippleHandler.bind(this);\r\n this._upInkRippleHandler = this._upInkRippleHandler || this.upInkRippleHandler.bind(this);\r\n var downArguments = [$element, \"dxpointerdown\", selector, this._downInkRippleHandler];\r\n var upArguments = [$element, \"dxpointerup dxpointerout\", selector, this._upInkRippleHandler];\r\n eventsEngine.off(...downArguments);\r\n eventsEngine.on(...downArguments);\r\n eventsEngine.off(...upArguments);\r\n eventsEngine.on(...upArguments)\r\n },\r\n _createGroupRenderAction: function() {\r\n this._groupRenderAction = this._createActionByOption(\"onGroupRendered\")\r\n },\r\n _clean: function() {\r\n clearTimeout(this._inkRippleTimer);\r\n if (this._$nextButton) {\r\n this._$nextButton.remove();\r\n this._$nextButton = null\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _dispose: function() {\r\n this._isDataSourceFirstLoadCompleted(false);\r\n clearTimeout(this._holdTimer);\r\n clearTimeout(this._loadNextPageTimer);\r\n clearTimeout(this._showLoadingIndicatorTimer);\r\n this.callBase()\r\n },\r\n _toggleDisabledState: function(value) {\r\n this.callBase(value);\r\n this._scrollView.option(\"disabled\", value || !this.option(\"scrollingEnabled\"))\r\n },\r\n _toggleNextButton: function(value) {\r\n var dataController = this._dataController;\r\n var $nextButton = this._getNextButton();\r\n this.$element().toggleClass(LIST_HAS_NEXT_CLASS, value);\r\n if (value && dataController.isLoaded()) {\r\n $nextButton.appendTo(this._itemContainer())\r\n }\r\n if (!value) {\r\n $nextButton.detach()\r\n }\r\n },\r\n _getNextButton: function() {\r\n if (!this._$nextButton) {\r\n this._$nextButton = this._createNextButton()\r\n }\r\n return this._$nextButton\r\n },\r\n _createNextButton: function() {\r\n var $result = $(\"<div>\").addClass(LIST_NEXT_BUTTON_CLASS);\r\n var $button = $(\"<div>\").appendTo($result);\r\n this._createComponent($button, Button, {\r\n text: this.option(\"nextButtonText\"),\r\n onClick: this._nextButtonHandler.bind(this),\r\n type: isMaterial() ? \"default\" : void 0,\r\n integrationOptions: {}\r\n });\r\n return $result\r\n },\r\n _moveFocus: function() {\r\n this.callBase.apply(this, arguments);\r\n this.scrollToItem(this.option(\"focusedElement\"))\r\n },\r\n _refresh: function() {\r\n if (!hasWindow()) {\r\n this.callBase()\r\n } else {\r\n var scrollTop = this._scrollView.scrollTop();\r\n this.callBase();\r\n scrollTop && this._scrollView.scrollTo(scrollTop)\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"pageLoadMode\":\r\n this._toggleNextButton(args.value);\r\n this._initScrollView();\r\n break;\r\n case \"dataSource\":\r\n this.callBase(args);\r\n this._initScrollView();\r\n this._isDataSourceFirstLoadCompleted(false);\r\n break;\r\n case \"items\":\r\n this.callBase(args);\r\n this._isDataSourceFirstLoadCompleted(false);\r\n break;\r\n case \"pullingDownText\":\r\n case \"pulledDownText\":\r\n case \"refreshingText\":\r\n case \"pageLoadingText\":\r\n case \"showScrollbar\":\r\n case \"bounceEnabled\":\r\n case \"scrollByContent\":\r\n case \"scrollByThumb\":\r\n case \"useNativeScrolling\":\r\n case \"scrollingEnabled\":\r\n case \"pullRefreshEnabled\":\r\n this._initScrollView();\r\n this._updateLoadingState(true);\r\n break;\r\n case \"nextButtonText\":\r\n case \"onItemSwipe\":\r\n case \"useInkRipple\":\r\n this._invalidate();\r\n break;\r\n case \"onScroll\":\r\n case \"onPullRefresh\":\r\n case \"onPageLoading\":\r\n this._createScrollViewActions();\r\n break;\r\n case \"grouped\":\r\n case \"collapsibleGroups\":\r\n case \"groupTemplate\":\r\n this._invalidate();\r\n break;\r\n case \"wrapItemText\":\r\n this._$container.toggleClass(WRAP_ITEM_TEXT_CLASS, args.value);\r\n break;\r\n case \"onGroupRendered\":\r\n this._createGroupRenderAction();\r\n break;\r\n case \"width\":\r\n case \"height\":\r\n this.callBase(args);\r\n this._scrollView.option(args.name, args.value);\r\n this._scrollView.update();\r\n break;\r\n case \"indicateLoading\":\r\n this._hideLoadingIfLoadIndicationOff();\r\n break;\r\n case \"visible\":\r\n this.callBase(args);\r\n this._scrollView.update();\r\n break;\r\n case \"rtlEnabled\":\r\n this._initScrollView();\r\n this.callBase(args);\r\n break;\r\n case \"showChevronExpr\":\r\n case \"badgeExpr\":\r\n this._invalidate();\r\n break;\r\n case \"_swipeEnabled\":\r\n case \"_listAttributes\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _extendActionArgs: function($itemElement) {\r\n if (!this.option(\"grouped\")) {\r\n return this.callBase($itemElement)\r\n }\r\n var $group = $itemElement.closest(\".\" + LIST_GROUP_CLASS);\r\n var $item = $group.find(\".\" + LIST_ITEM_CLASS);\r\n return extend(this.callBase($itemElement), {\r\n itemIndex: {\r\n group: $group.index(),\r\n item: $item.index($itemElement)\r\n }\r\n })\r\n },\r\n expandGroup: function(groupIndex) {\r\n var deferred = new Deferred;\r\n var $group = this._itemContainer().find(\".\" + LIST_GROUP_CLASS).eq(groupIndex);\r\n this._collapseGroupHandler($group, false).done(function() {\r\n deferred.resolveWith(this)\r\n }.bind(this));\r\n return deferred.promise()\r\n },\r\n collapseGroup: function(groupIndex) {\r\n var deferred = new Deferred;\r\n var $group = this._itemContainer().find(\".\" + LIST_GROUP_CLASS).eq(groupIndex);\r\n this._collapseGroupHandler($group, true).done(function() {\r\n deferred.resolveWith(this)\r\n }.bind(this));\r\n return deferred\r\n },\r\n updateDimensions: function() {\r\n var that = this;\r\n var deferred = new Deferred;\r\n if (that._scrollView) {\r\n that._scrollView.update().done((function() {\r\n !that._scrollViewIsFull() && that._updateLoadingState(true);\r\n deferred.resolveWith(that)\r\n }))\r\n } else {\r\n deferred.resolveWith(that)\r\n }\r\n return deferred.promise()\r\n },\r\n reload: function() {\r\n this.callBase();\r\n this.scrollTo(0);\r\n this._pullDownHandler()\r\n },\r\n repaint: function() {\r\n this.scrollTo(0);\r\n this.callBase()\r\n },\r\n scrollTop: function() {\r\n return this._scrollView.scrollOffset().top\r\n },\r\n clientHeight: function() {\r\n return this._scrollView.clientHeight()\r\n },\r\n scrollHeight: function() {\r\n return this._scrollView.scrollHeight()\r\n },\r\n scrollBy: function(distance) {\r\n this._scrollView.scrollBy(distance)\r\n },\r\n scrollTo: function(location) {\r\n this._scrollView.scrollTo(location)\r\n },\r\n scrollToItem: function(itemElement) {\r\n var $item = this._editStrategy.getItemElement(itemElement);\r\n var item = null === $item || void 0 === $item ? void 0 : $item.get(0);\r\n this._scrollView.scrollToElement(item, {\r\n bottom: getElementMargin(item, \"bottom\")\r\n })\r\n },\r\n _dimensionChanged: function() {\r\n this.updateDimensions()\r\n }\r\n}).include(DataConverterMixin);\r\nListBase.ItemClass = ListItem;\r\n\r\nfunction getScrollView() {\r\n return _scrollView || ScrollView\r\n}\r\nexport function setScrollView(value) {\r\n _scrollView = value\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n start as swipeEventStart,\r\n swipe as swipeEventSwipe,\r\n end as swipeEventEnd\r\n} from \"../../events/swipe\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nvar LIST_EDIT_DECORATOR = \"dxListEditDecorator\";\r\nvar SWIPE_START_EVENT_NAME = addNamespace(swipeEventStart, LIST_EDIT_DECORATOR);\r\nvar SWIPE_UPDATE_EVENT_NAME = addNamespace(swipeEventSwipe, LIST_EDIT_DECORATOR);\r\nvar SWIPE_END_EVENT_NAME = addNamespace(swipeEventEnd, LIST_EDIT_DECORATOR);\r\nvar EditDecorator = Class.inherit({\r\n ctor: function(list) {\r\n this._list = list;\r\n this._init()\r\n },\r\n _init: noop,\r\n _shouldHandleSwipe: false,\r\n _attachSwipeEvent: function(config) {\r\n var swipeConfig = {\r\n itemSizeFunc: function() {\r\n if (this._clearSwipeCache) {\r\n this._itemWidthCache = getWidth(this._list.$element());\r\n this._clearSwipeCache = false\r\n }\r\n return this._itemWidthCache\r\n }.bind(this)\r\n };\r\n eventsEngine.on(config.$itemElement, SWIPE_START_EVENT_NAME, swipeConfig, this._itemSwipeStartHandler.bind(this));\r\n eventsEngine.on(config.$itemElement, SWIPE_UPDATE_EVENT_NAME, this._itemSwipeUpdateHandler.bind(this));\r\n eventsEngine.on(config.$itemElement, SWIPE_END_EVENT_NAME, this._itemSwipeEndHandler.bind(this))\r\n },\r\n _itemSwipeStartHandler: function(e) {\r\n var $itemElement = $(e.currentTarget);\r\n if ($itemElement.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n e.cancel = true;\r\n return\r\n }\r\n clearTimeout(this._list._inkRippleTimer);\r\n this._swipeStartHandler($itemElement, e)\r\n },\r\n _itemSwipeUpdateHandler: function(e) {\r\n var $itemElement = $(e.currentTarget);\r\n this._swipeUpdateHandler($itemElement, e)\r\n },\r\n _itemSwipeEndHandler: function(e) {\r\n var $itemElement = $(e.currentTarget);\r\n this._swipeEndHandler($itemElement, e);\r\n this._clearSwipeCache = true\r\n },\r\n beforeBag: noop,\r\n afterBag: noop,\r\n _commonOptions: function() {\r\n return {\r\n activeStateEnabled: this._list.option(\"activeStateEnabled\"),\r\n hoverStateEnabled: this._list.option(\"hoverStateEnabled\"),\r\n focusStateEnabled: this._list.option(\"focusStateEnabled\")\r\n }\r\n },\r\n modifyElement: function(config) {\r\n if (this._shouldHandleSwipe) {\r\n this._attachSwipeEvent(config);\r\n this._clearSwipeCache = true\r\n }\r\n },\r\n afterRender: noop,\r\n handleClick: noop,\r\n handleKeyboardEvents: noop,\r\n handleEnterPressing: noop,\r\n handleContextMenu: noop,\r\n _swipeStartHandler: noop,\r\n _swipeUpdateHandler: noop,\r\n _swipeEndHandler: noop,\r\n visibilityChange: noop,\r\n getExcludedSelectors: noop,\r\n dispose: noop\r\n});\r\nexport default EditDecorator;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator_menu_helper.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar EditDecoratorMenuHelperMixin = {\r\n _menuEnabled: function() {\r\n return !!this._menuItems().length\r\n },\r\n _menuItems: function() {\r\n return this._list.option(\"menuItems\")\r\n },\r\n _deleteEnabled: function() {\r\n return this._list.option(\"allowItemDeleting\")\r\n },\r\n _fireMenuAction: function($itemElement, action) {\r\n this._list._itemEventHandlerByHandler($itemElement, action, {}, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n }\r\n};\r\nexport default EditDecoratorMenuHelperMixin;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator_registry.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nexport var registry = {};\r\nexport function register(option, type, decoratorClass) {\r\n var decoratorsRegistry = registry;\r\n var decoratorConfig = {};\r\n decoratorConfig[option] = decoratorsRegistry[option] ? decoratorsRegistry[option] : {};\r\n decoratorConfig[option][type] = decoratorClass;\r\n extend(decoratorsRegistry, decoratorConfig)\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.strategy.grouped.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n isNumeric\r\n} from \"../../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport storeHelper from \"../../data/store_helper\";\r\nimport query from \"../../data/query\";\r\nimport EditStrategy from \"../collection/ui.collection_widget.edit.strategy.plain\";\r\nvar LIST_ITEM_CLASS = \"dx-list-item\";\r\nvar LIST_GROUP_CLASS = \"dx-list-group\";\r\nvar SELECTION_SHIFT = 20;\r\nvar SELECTION_MASK = (1 << SELECTION_SHIFT) - 1;\r\nvar combineIndex = function(indices) {\r\n return (indices.group << SELECTION_SHIFT) + indices.item\r\n};\r\nvar splitIndex = function(combinedIndex) {\r\n return {\r\n group: combinedIndex >> SELECTION_SHIFT,\r\n item: combinedIndex & SELECTION_MASK\r\n }\r\n};\r\nvar GroupedEditStrategy = EditStrategy.inherit({\r\n _groupElements: function() {\r\n return this._collectionWidget._itemContainer().find(\".\" + LIST_GROUP_CLASS)\r\n },\r\n _groupItemElements: function($group) {\r\n return $group.find(\".\" + LIST_ITEM_CLASS)\r\n },\r\n getIndexByItemData: function(itemData) {\r\n var groups = this._collectionWidget.option(\"items\");\r\n var index = false;\r\n if (!itemData) {\r\n return false\r\n }\r\n if (itemData.items && itemData.items.length) {\r\n itemData = itemData.items[0]\r\n }\r\n each(groups, (function(groupIndex, group) {\r\n if (!group.items) {\r\n return false\r\n }\r\n each(group.items, (function(itemIndex, item) {\r\n if (item !== itemData) {\r\n return true\r\n }\r\n index = {\r\n group: groupIndex,\r\n item: itemIndex\r\n };\r\n return false\r\n }));\r\n if (index) {\r\n return false\r\n }\r\n }));\r\n return index\r\n },\r\n getItemDataByIndex: function(index) {\r\n var items = this._collectionWidget.option(\"items\");\r\n if (isNumeric(index)) {\r\n return this.itemsGetter()[index]\r\n }\r\n return index && items[index.group] && items[index.group].items[index.item] || null\r\n },\r\n itemsGetter: function() {\r\n var resultItems = [];\r\n var items = this._collectionWidget.option(\"items\");\r\n for (var i = 0; i < items.length; i++) {\r\n if (items[i] && items[i].items) {\r\n resultItems = resultItems.concat(items[i].items)\r\n } else {\r\n resultItems.push(items[i])\r\n }\r\n }\r\n return resultItems\r\n },\r\n deleteItemAtIndex: function(index) {\r\n var indices = splitIndex(index);\r\n var itemGroup = this._collectionWidget.option(\"items\")[indices.group].items;\r\n itemGroup.splice(indices.item, 1)\r\n },\r\n getKeysByItems: function(items) {\r\n var plainItems = [];\r\n var i;\r\n for (i = 0; i < items.length; i++) {\r\n if (items[i] && items[i].items) {\r\n plainItems = plainItems.concat(items[i].items)\r\n } else {\r\n plainItems.push(items[i])\r\n }\r\n }\r\n var result = [];\r\n for (i = 0; i < plainItems.length; i++) {\r\n result.push(this._collectionWidget.keyOf(plainItems[i]))\r\n }\r\n return result\r\n },\r\n getIndexByKey: function(key, items) {\r\n var groups = items || this._collectionWidget.option(\"items\");\r\n var index = -1;\r\n var that = this;\r\n each(groups, (function(groupIndex, group) {\r\n if (!group.items) {\r\n return\r\n }\r\n each(group.items, (function(itemIndex, item) {\r\n var itemKey = that._collectionWidget.keyOf(item);\r\n if (that._equalKeys(itemKey, key)) {\r\n index = {\r\n group: groupIndex,\r\n item: itemIndex\r\n };\r\n return false\r\n }\r\n }));\r\n if (-1 !== index) {\r\n return false\r\n }\r\n }));\r\n return index\r\n },\r\n _getGroups: function(items) {\r\n var dataController = this._collectionWidget._dataController;\r\n var group = dataController.group();\r\n if (group) {\r\n return storeHelper.queryByOptions(query(items), {\r\n group: group\r\n }).toArray()\r\n }\r\n return this._collectionWidget.option(\"items\")\r\n },\r\n getItemsByKeys: function(keys, items) {\r\n var result = [];\r\n var groups = this._getGroups(items);\r\n var groupItemByKeyMap = {};\r\n var getItemMeta = key => {\r\n var index = this.getIndexByKey(key, groups);\r\n var group = index && groups[index.group];\r\n if (!group) {\r\n return\r\n }\r\n return {\r\n groupKey: group.key,\r\n item: group.items[index.item]\r\n }\r\n };\r\n each(keys, (function(_, key) {\r\n var itemMeta = getItemMeta(key);\r\n if (!itemMeta) {\r\n return\r\n }\r\n var groupKey = itemMeta.groupKey;\r\n var item = itemMeta.item;\r\n var selectedGroup = groupItemByKeyMap[groupKey];\r\n if (!selectedGroup) {\r\n selectedGroup = {\r\n key: groupKey,\r\n items: []\r\n };\r\n groupItemByKeyMap[groupKey] = selectedGroup;\r\n result.push(selectedGroup)\r\n }\r\n selectedGroup.items.push(item)\r\n }));\r\n return result\r\n },\r\n moveItemAtIndexToIndex: function(movingIndex, destinationIndex) {\r\n var items = this._collectionWidget.option(\"items\");\r\n var movingIndices = splitIndex(movingIndex);\r\n var destinationIndices = splitIndex(destinationIndex);\r\n var movingItemGroup = items[movingIndices.group].items;\r\n var destinationItemGroup = items[destinationIndices.group].items;\r\n var movedItemData = movingItemGroup[movingIndices.item];\r\n movingItemGroup.splice(movingIndices.item, 1);\r\n destinationItemGroup.splice(destinationIndices.item, 0, movedItemData)\r\n },\r\n _isItemIndex: function(index) {\r\n return index && isNumeric(index.group) && isNumeric(index.item)\r\n },\r\n _getNormalizedItemIndex: function(itemElement) {\r\n var $item = $(itemElement);\r\n var $group = $item.closest(\".\" + LIST_GROUP_CLASS);\r\n if (!$group.length) {\r\n return -1\r\n }\r\n return combineIndex({\r\n group: this._groupElements().index($group),\r\n item: this._groupItemElements($group).index($item)\r\n })\r\n },\r\n _normalizeItemIndex: function(index) {\r\n return combineIndex(index)\r\n },\r\n _denormalizeItemIndex: function(index) {\r\n return splitIndex(index)\r\n },\r\n _getItemByNormalizedIndex: function(index) {\r\n var indices = splitIndex(index);\r\n var $group = this._groupElements().eq(indices.group);\r\n return this._groupItemElements($group).eq(indices.item)\r\n },\r\n _itemsFromSameParent: function(firstIndex, secondIndex) {\r\n return splitIndex(firstIndex).group === splitIndex(secondIndex).group\r\n }\r\n});\r\nexport default GroupedEditStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.provider.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport {\r\n registry\r\n} from \"./ui.list.edit.decorator_registry\";\r\nvar editOptionsRegistry = [];\r\nvar registerOption = function(enabledFunc, decoratorTypeFunc, decoratorSubTypeFunc) {\r\n editOptionsRegistry.push({\r\n enabled: enabledFunc,\r\n decoratorType: decoratorTypeFunc,\r\n decoratorSubType: decoratorSubTypeFunc\r\n })\r\n};\r\nregisterOption((function() {\r\n return this.option(\"menuItems\").length\r\n}), (function() {\r\n return \"menu\"\r\n}), (function() {\r\n return this.option(\"menuMode\")\r\n}));\r\nregisterOption((function() {\r\n return !this.option(\"menuItems\").length && this.option(\"allowItemDeleting\")\r\n}), (function() {\r\n var mode = this.option(\"itemDeleteMode\");\r\n return \"toggle\" === mode || \"slideButton\" === mode || \"swipe\" === mode || \"static\" === mode ? \"delete\" : \"menu\"\r\n}), (function() {\r\n var mode = this.option(\"itemDeleteMode\");\r\n if (\"slideItem\" === mode) {\r\n mode = \"slide\"\r\n }\r\n return mode\r\n}));\r\nregisterOption((function() {\r\n return \"none\" !== this.option(\"selectionMode\") && this.option(\"showSelectionControls\")\r\n}), (function() {\r\n return \"selection\"\r\n}), (function() {\r\n return \"default\"\r\n}));\r\nregisterOption((function() {\r\n return this.option(\"itemDragging.allowReordering\") || this.option(\"itemDragging.allowDropInsideItem\") || this.option(\"itemDragging.group\")\r\n}), (function() {\r\n return \"reorder\"\r\n}), (function() {\r\n return \"default\"\r\n}));\r\nvar LIST_ITEM_BEFORE_BAG_CLASS = \"dx-list-item-before-bag\";\r\nvar LIST_ITEM_AFTER_BAG_CLASS = \"dx-list-item-after-bag\";\r\nvar DECORATOR_BEFORE_BAG_CREATE_METHOD = \"beforeBag\";\r\nvar DECORATOR_AFTER_BAG_CREATE_METHOD = \"afterBag\";\r\nvar DECORATOR_MODIFY_ELEMENT_METHOD = \"modifyElement\";\r\nvar DECORATOR_AFTER_RENDER_METHOD = \"afterRender\";\r\nvar DECORATOR_GET_EXCLUDED_SELECTORS_METHOD = \"getExcludedSelectors\";\r\nvar EditProvider = Class.inherit({\r\n ctor: function(list) {\r\n this._list = list;\r\n this._fetchRequiredDecorators()\r\n },\r\n dispose: function() {\r\n if (this._decorators && this._decorators.length) {\r\n each(this._decorators, (function(_, decorator) {\r\n decorator.dispose()\r\n }))\r\n }\r\n },\r\n _fetchRequiredDecorators: function() {\r\n this._decorators = [];\r\n each(editOptionsRegistry, function(_, option) {\r\n var optionEnabled = option.enabled.call(this._list);\r\n if (optionEnabled) {\r\n var decoratorType = option.decoratorType.call(this._list);\r\n var decoratorSubType = option.decoratorSubType.call(this._list);\r\n var decorator = this._createDecorator(decoratorType, decoratorSubType);\r\n this._decorators.push(decorator)\r\n }\r\n }.bind(this))\r\n },\r\n _createDecorator: function(type, subType) {\r\n var decoratorClass = this._findDecorator(type, subType);\r\n return new decoratorClass(this._list)\r\n },\r\n _findDecorator: function(type, subType) {\r\n var _registry$type;\r\n var foundDecorator = null === (_registry$type = registry[type]) || void 0 === _registry$type ? void 0 : _registry$type[subType];\r\n if (!foundDecorator) {\r\n throw errors.Error(\"E1012\", type, subType)\r\n }\r\n return foundDecorator\r\n },\r\n modifyItemElement: function(args) {\r\n var $itemElement = $(args.itemElement);\r\n var config = {\r\n $itemElement: $itemElement\r\n };\r\n this._prependBeforeBags($itemElement, config);\r\n this._appendAfterBags($itemElement, config);\r\n this._applyDecorators(DECORATOR_MODIFY_ELEMENT_METHOD, config)\r\n },\r\n afterItemsRendered: function() {\r\n this._applyDecorators(DECORATOR_AFTER_RENDER_METHOD)\r\n },\r\n _prependBeforeBags: function($itemElement, config) {\r\n var $beforeBags = this._collectDecoratorsMarkup(DECORATOR_BEFORE_BAG_CREATE_METHOD, config, LIST_ITEM_BEFORE_BAG_CLASS);\r\n $itemElement.prepend($beforeBags)\r\n },\r\n _appendAfterBags: function($itemElement, config) {\r\n var $afterBags = this._collectDecoratorsMarkup(DECORATOR_AFTER_BAG_CREATE_METHOD, config, LIST_ITEM_AFTER_BAG_CLASS);\r\n $itemElement.append($afterBags)\r\n },\r\n _collectDecoratorsMarkup: function(method, config, containerClass) {\r\n var $collector = $(\"<div>\");\r\n each(this._decorators, (function() {\r\n var $container = $(\"<div>\").addClass(containerClass);\r\n this[method](extend({\r\n $container: $container\r\n }, config));\r\n if ($container.children().length) {\r\n $collector.append($container)\r\n }\r\n }));\r\n return $collector.children()\r\n },\r\n _applyDecorators: function(method, config) {\r\n each(this._decorators, (function() {\r\n this[method](config)\r\n }))\r\n },\r\n _handlerExists: function(name) {\r\n if (!this._decorators) {\r\n return false\r\n }\r\n var decorators = this._decorators;\r\n var length = decorators.length;\r\n for (var i = 0; i < length; i++) {\r\n if (decorators[i][name] !== noop) {\r\n return true\r\n }\r\n }\r\n return false\r\n },\r\n _eventHandler: function(name, $itemElement, e) {\r\n if (!this._decorators) {\r\n return false\r\n }\r\n var response = false;\r\n var decorators = this._decorators;\r\n var length = decorators.length;\r\n for (var i = 0; i < length; i++) {\r\n response = decorators[i][name]($itemElement, e);\r\n if (response) {\r\n break\r\n }\r\n }\r\n return response\r\n },\r\n handleClick: function($itemElement, e) {\r\n return this._eventHandler(\"handleClick\", $itemElement, e)\r\n },\r\n handleKeyboardEvents: function(currentFocusedIndex, moveFocusUp) {\r\n return this._eventHandler(\"handleKeyboardEvents\", currentFocusedIndex, moveFocusUp)\r\n },\r\n handleEnterPressing: function(e) {\r\n return this._eventHandler(\"handleEnterPressing\", e)\r\n },\r\n contextMenuHandlerExists: function() {\r\n return this._handlerExists(\"handleContextMenu\")\r\n },\r\n handleContextMenu: function($itemElement, e) {\r\n return this._eventHandler(\"handleContextMenu\", $itemElement, e)\r\n },\r\n getExcludedItemSelectors: function() {\r\n var excludedSelectors = [];\r\n this._applyDecorators(DECORATOR_GET_EXCLUDED_SELECTORS_METHOD, excludedSelectors);\r\n return excludedSelectors.join(\",\")\r\n }\r\n});\r\nexport default EditProvider;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n isTouchEvent\r\n} from \"../../events/utils/index\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport GroupedEditStrategy from \"./ui.list.edit.strategy.grouped\";\r\nimport localizationMessage from \"../../localization/message\";\r\nimport EditProvider from \"./ui.list.edit.provider\";\r\nimport {\r\n ListBase\r\n} from \"./ui.list.base\";\r\nvar LIST_ITEM_SELECTED_CLASS = \"dx-list-item-selected\";\r\nvar LIST_ITEM_RESPONSE_WAIT_CLASS = \"dx-list-item-response-wait\";\r\nvar ListEdit = ListBase.inherit({\r\n _supportedKeys() {\r\n var that = this;\r\n var parent = this.callBase();\r\n var moveFocusedItem = (e, moveUp) => {\r\n var editStrategy = this._editStrategy;\r\n var focusedElement = this.option(\"focusedElement\");\r\n var focusedItemIndex = editStrategy.getNormalizedIndex(focusedElement);\r\n var isLastIndexFocused = focusedItemIndex === this._getLastItemIndex();\r\n if (isLastIndexFocused && this._dataController.isLoading()) {\r\n return\r\n }\r\n if (e.shiftKey && that.option(\"itemDragging.allowReordering\")) {\r\n var nextItemIndex = focusedItemIndex + (moveUp ? -1 : 1);\r\n var $nextItem = editStrategy.getItemElement(nextItemIndex);\r\n this.reorderItem(focusedElement, $nextItem);\r\n this.scrollToItem(focusedElement);\r\n e.preventDefault()\r\n } else {\r\n var editProvider = this._editProvider;\r\n var isInternalMoving = editProvider.handleKeyboardEvents(focusedItemIndex, moveUp);\r\n if (!isInternalMoving) {\r\n moveUp ? parent.upArrow(e) : parent.downArrow(e)\r\n }\r\n }\r\n };\r\n return extend({}, parent, {\r\n del: e => {\r\n if (that.option(\"allowItemDeleting\")) {\r\n e.preventDefault();\r\n that.deleteItem(that.option(\"focusedElement\"))\r\n }\r\n },\r\n upArrow: e => moveFocusedItem(e, true),\r\n downArrow: e => moveFocusedItem(e),\r\n enter: function(e) {\r\n if (!this._editProvider.handleEnterPressing(e)) {\r\n parent.enter.apply(this, arguments)\r\n }\r\n },\r\n space: function(e) {\r\n if (!this._editProvider.handleEnterPressing(e)) {\r\n parent.space.apply(this, arguments)\r\n }\r\n }\r\n })\r\n },\r\n _updateSelection() {\r\n this._editProvider.afterItemsRendered();\r\n this.callBase()\r\n },\r\n _getLastItemIndex() {\r\n return this._itemElements().length - 1\r\n },\r\n _refreshItemElements() {\r\n this.callBase();\r\n var excludedSelectors = this._editProvider.getExcludedItemSelectors();\r\n if (excludedSelectors.length) {\r\n this._itemElementsCache = this._itemElementsCache.not(excludedSelectors)\r\n }\r\n },\r\n _isItemStrictEquals: function(item1, item2) {\r\n var privateKey = item1 && item1.__dx_key__;\r\n if (privateKey && !this.key() && this._selection.isItemSelected(privateKey)) {\r\n return false\r\n }\r\n return this.callBase(item1, item2)\r\n },\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n showSelectionControls: false,\r\n selectionMode: \"none\",\r\n selectAllMode: \"page\",\r\n onSelectAllValueChanged: null,\r\n selectAllText: localizationMessage.format(\"dxList-selectAll\"),\r\n menuItems: [],\r\n menuMode: \"context\",\r\n allowItemDeleting: false,\r\n itemDeleteMode: \"static\",\r\n itemDragging: {}\r\n })\r\n },\r\n _defaultOptionsRules() {\r\n return this.callBase().concat([{\r\n device: _device => \"ios\" === _device.platform,\r\n options: {\r\n menuMode: \"slide\",\r\n itemDeleteMode: \"slideItem\"\r\n }\r\n }, {\r\n device: {\r\n platform: \"android\"\r\n },\r\n options: {\r\n itemDeleteMode: \"swipe\"\r\n }\r\n }])\r\n },\r\n _init() {\r\n this.callBase();\r\n this._initEditProvider()\r\n },\r\n _initDataSource() {\r\n this.callBase();\r\n if (!this._isPageSelectAll()) {\r\n this._dataSource && this._dataSource.requireTotalCount(true)\r\n }\r\n },\r\n _isPageSelectAll() {\r\n return \"page\" === this.option(\"selectAllMode\")\r\n },\r\n _initEditProvider() {\r\n this._editProvider = new EditProvider(this)\r\n },\r\n _disposeEditProvider() {\r\n if (this._editProvider) {\r\n this._editProvider.dispose()\r\n }\r\n },\r\n _refreshEditProvider() {\r\n this._disposeEditProvider();\r\n this._initEditProvider()\r\n },\r\n _initEditStrategy() {\r\n if (this.option(\"grouped\")) {\r\n this._editStrategy = new GroupedEditStrategy(this)\r\n } else {\r\n this.callBase()\r\n }\r\n },\r\n _initMarkup() {\r\n this._refreshEditProvider();\r\n this.callBase()\r\n },\r\n _renderItems() {\r\n this.callBase(...arguments);\r\n this._editProvider.afterItemsRendered()\r\n },\r\n _selectedItemClass: () => LIST_ITEM_SELECTED_CLASS,\r\n _itemResponseWaitClass: () => LIST_ITEM_RESPONSE_WAIT_CLASS,\r\n _itemClickHandler(e) {\r\n var $itemElement = $(e.currentTarget);\r\n if ($itemElement.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n return\r\n }\r\n var handledByEditProvider = this._editProvider.handleClick($itemElement, e);\r\n if (handledByEditProvider) {\r\n return\r\n }\r\n this._saveSelectionChangeEvent(e);\r\n this.callBase(...arguments)\r\n },\r\n _shouldFireContextMenuEvent() {\r\n return this.callBase(...arguments) || this._editProvider.contextMenuHandlerExists()\r\n },\r\n _itemHoldHandler(e) {\r\n var $itemElement = $(e.currentTarget);\r\n if ($itemElement.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n return\r\n }\r\n var handledByEditProvider = isTouchEvent(e) && this._editProvider.handleContextMenu($itemElement, e);\r\n if (handledByEditProvider) {\r\n e.handledByEditProvider = true;\r\n return\r\n }\r\n this.callBase(...arguments)\r\n },\r\n _getItemContainer: function(changeData) {\r\n if (this.option(\"grouped\")) {\r\n var _this$_editStrategy$g;\r\n var groupIndex = null === (_this$_editStrategy$g = this._editStrategy.getIndexByItemData(changeData)) || void 0 === _this$_editStrategy$g ? void 0 : _this$_editStrategy$g.group;\r\n return this._getGroupContainerByIndex(groupIndex)\r\n } else {\r\n return this.callBase(changeData)\r\n }\r\n },\r\n _itemContextMenuHandler(e) {\r\n var $itemElement = $(e.currentTarget);\r\n if ($itemElement.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n return\r\n }\r\n var handledByEditProvider = !e.handledByEditProvider && this._editProvider.handleContextMenu($itemElement, e);\r\n if (handledByEditProvider) {\r\n e.preventDefault();\r\n return\r\n }\r\n this.callBase(...arguments)\r\n },\r\n _postprocessRenderItem(args) {\r\n this.callBase(...arguments);\r\n this._editProvider.modifyItemElement(args)\r\n },\r\n _clean() {\r\n this._disposeEditProvider();\r\n this.callBase()\r\n },\r\n focusListItem(index) {\r\n var $item = this._editStrategy.getItemElement(index);\r\n this.option(\"focusedElement\", $item);\r\n this.focus();\r\n this.scrollToItem(this.option(\"focusedElement\"))\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"selectAllMode\":\r\n this._initDataSource();\r\n this._dataController.pageIndex(0);\r\n this._dataController.load();\r\n break;\r\n case \"grouped\":\r\n this._clearSelectedItems();\r\n delete this._renderingGroupIndex;\r\n this._initEditStrategy();\r\n this.callBase(args);\r\n break;\r\n case \"showSelectionControls\":\r\n case \"menuItems\":\r\n case \"menuMode\":\r\n case \"allowItemDeleting\":\r\n case \"itemDeleteMode\":\r\n case \"itemDragging\":\r\n case \"selectAllText\":\r\n this._invalidate();\r\n break;\r\n case \"onSelectAllValueChanged\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n selectAll() {\r\n return this._selection.selectAll(this._isPageSelectAll())\r\n },\r\n unselectAll() {\r\n return this._selection.deselectAll(this._isPageSelectAll())\r\n },\r\n isSelectAll() {\r\n return this._selection.getSelectAllState(this._isPageSelectAll())\r\n },\r\n getFlatIndexByItemElement(itemElement) {\r\n return this._itemElements().index(itemElement)\r\n },\r\n getItemElementByFlatIndex(flatIndex) {\r\n var $itemElements = this._itemElements();\r\n if (flatIndex < 0 || flatIndex >= $itemElements.length) {\r\n return $()\r\n }\r\n return $itemElements.eq(flatIndex)\r\n },\r\n getItemByIndex(index) {\r\n return this._editStrategy.getItemDataByIndex(index)\r\n },\r\n deleteItem(itemElement) {\r\n var editStrategy = this._editStrategy;\r\n var deletingElementIndex = editStrategy.getNormalizedIndex(itemElement);\r\n var focusedElement = this.option(\"focusedElement\");\r\n var focusedItemIndex = focusedElement ? editStrategy.getNormalizedIndex(focusedElement) : deletingElementIndex;\r\n var isLastIndexFocused = focusedItemIndex === this._getLastItemIndex();\r\n var nextFocusedItem = isLastIndexFocused || deletingElementIndex < focusedItemIndex ? focusedItemIndex - 1 : focusedItemIndex;\r\n var promise = this.callBase(itemElement);\r\n return promise.done((function() {\r\n return this.focusListItem(nextFocusedItem)\r\n }))\r\n }\r\n});\r\nexport default ListEdit;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.search.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport ListEdit from \"./ui.list.edit\";\r\nimport searchBoxMixin from \"../widget/ui.search_box_mixin\";\r\nvar ListSearch = ListEdit.inherit(searchBoxMixin).inherit({\r\n _addWidgetPrefix: function(className) {\r\n return \"dx-list-\" + className\r\n },\r\n _getCombinedFilter: function() {\r\n var dataController = this._dataController;\r\n var storeLoadOptions = {\r\n filter: dataController.filter()\r\n };\r\n dataController.addSearchFilter(storeLoadOptions);\r\n var filter = storeLoadOptions.filter;\r\n return filter\r\n },\r\n _initDataSource: function() {\r\n var value = this.option(\"searchValue\");\r\n var expr = this.option(\"searchExpr\");\r\n var mode = this.option(\"searchMode\");\r\n this.callBase();\r\n var dataController = this._dataController;\r\n value && value.length && dataController.searchValue(value);\r\n mode.length && dataController.searchOperation(searchBoxMixin.getOperationBySearchMode(mode));\r\n expr && dataController.searchExpr(expr)\r\n }\r\n});\r\nexport default ListSearch;\r\n","/**\r\n * DevExtreme (esm/ui/list_light.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport ListEdit from \"./list/ui.list.edit.search\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nregisterComponent(\"dxList\", ListEdit);\r\nexport default ListEdit;\r\n","/**\r\n * DevExtreme (esm/ui/load_indicator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getHeight\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n getNavigator\r\n} from \"../core/utils/window\";\r\nvar navigator = getNavigator();\r\nimport {\r\n animation\r\n} from \"../core/utils/support\";\r\nimport {\r\n current,\r\n isMaterial,\r\n isGeneric\r\n} from \"./themes\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport devices from \"../core/devices\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport Widget from \"./widget/ui.widget\";\r\nvar LOADINDICATOR_CLASS = \"dx-loadindicator\";\r\nvar LOADINDICATOR_WRAPPER_CLASS = \"dx-loadindicator-wrapper\";\r\nvar LOADINDICATOR_CONTENT_CLASS = \"dx-loadindicator-content\";\r\nvar LOADINDICATOR_ICON_CLASS = \"dx-loadindicator-icon\";\r\nvar LOADINDICATOR_SEGMENT_CLASS = \"dx-loadindicator-segment\";\r\nvar LOADINDICATOR_SEGMENT_INNER_CLASS = \"dx-loadindicator-segment-inner\";\r\nvar LOADINDICATOR_IMAGE_CLASS = \"dx-loadindicator-image\";\r\nvar LoadIndicator = Widget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n indicatorSrc: \"\",\r\n activeStateEnabled: false,\r\n hoverStateEnabled: false,\r\n _animatingSegmentCount: 1,\r\n _animatingSegmentInner: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n var themeName = current();\r\n return this.callBase().concat([{\r\n device: function() {\r\n var realDevice = devices.real();\r\n var obsoleteAndroid = \"android\" === realDevice.platform && !/chrome/i.test(navigator.userAgent);\r\n return obsoleteAndroid\r\n },\r\n options: {\r\n viaImage: true\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial(themeName)\r\n },\r\n options: {\r\n _animatingSegmentCount: 2,\r\n _animatingSegmentInner: true\r\n }\r\n }, {\r\n device: function() {\r\n return isGeneric(themeName)\r\n },\r\n options: {\r\n _animatingSegmentCount: 7\r\n }\r\n }])\r\n },\r\n _useTemplates: function() {\r\n return false\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.$element().addClass(LOADINDICATOR_CLASS)\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._renderWrapper();\r\n this._renderIndicatorContent();\r\n this._renderMarkup()\r\n },\r\n _renderWrapper: function() {\r\n this._$wrapper = $(\"<div>\").addClass(LOADINDICATOR_WRAPPER_CLASS);\r\n this.$element().append(this._$wrapper)\r\n },\r\n _renderIndicatorContent: function() {\r\n this._$content = $(\"<div>\").addClass(LOADINDICATOR_CONTENT_CLASS);\r\n this._$wrapper.append(this._$content)\r\n },\r\n _renderMarkup: function() {\r\n if (animation() && !this.option(\"viaImage\") && !this.option(\"indicatorSrc\")) {\r\n this._renderMarkupForAnimation()\r\n } else {\r\n this._renderMarkupForImage()\r\n }\r\n },\r\n _renderMarkupForAnimation: function() {\r\n var animatingSegmentInner = this.option(\"_animatingSegmentInner\");\r\n this._$indicator = $(\"<div>\").addClass(LOADINDICATOR_ICON_CLASS);\r\n this._$content.append(this._$indicator);\r\n for (var i = this.option(\"_animatingSegmentCount\"); i >= 0; --i) {\r\n var $segment = $(\"<div>\").addClass(LOADINDICATOR_SEGMENT_CLASS).addClass(LOADINDICATOR_SEGMENT_CLASS + i);\r\n if (animatingSegmentInner) {\r\n $segment.append($(\"<div>\").addClass(LOADINDICATOR_SEGMENT_INNER_CLASS))\r\n }\r\n this._$indicator.append($segment)\r\n }\r\n },\r\n _renderMarkupForImage: function() {\r\n var indicatorSrc = this.option(\"indicatorSrc\");\r\n this._$wrapper.addClass(LOADINDICATOR_IMAGE_CLASS);\r\n if (indicatorSrc) {\r\n this._$wrapper.css(\"backgroundImage\", \"url(\" + indicatorSrc + \")\")\r\n }\r\n },\r\n _renderDimensions: function() {\r\n this.callBase();\r\n this._updateContentSizeForAnimation()\r\n },\r\n _updateContentSizeForAnimation: function() {\r\n if (!this._$indicator) {\r\n return\r\n }\r\n var width = this.option(\"width\");\r\n var height = this.option(\"height\");\r\n if (width || height) {\r\n width = getWidth(this.$element());\r\n height = getHeight(this.$element());\r\n var minDimension = Math.min(height, width);\r\n this._$wrapper.css({\r\n height: minDimension,\r\n width: minDimension,\r\n fontSize: minDimension\r\n })\r\n }\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n this._removeMarkupForAnimation();\r\n this._removeMarkupForImage()\r\n },\r\n _removeMarkupForAnimation: function() {\r\n if (!this._$indicator) {\r\n return\r\n }\r\n this._$indicator.remove();\r\n delete this._$indicator\r\n },\r\n _removeMarkupForImage: function() {\r\n this._$wrapper.css(\"backgroundImage\", \"none\")\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"_animatingSegmentCount\":\r\n case \"_animatingSegmentInner\":\r\n case \"indicatorSrc\":\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxLoadIndicator\", LoadIndicator);\r\nexport default LoadIndicator;\r\n","/**\r\n * DevExtreme (esm/ui/load_panel.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../core/utils/common\";\r\nimport messageLocalization from \"../localization/message\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport LoadIndicator from \"./load_indicator\";\r\nimport Overlay from \"./overlay/ui.overlay\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n isMaterial\r\n} from \"./themes\";\r\nvar LOADPANEL_CLASS = \"dx-loadpanel\";\r\nvar LOADPANEL_WRAPPER_CLASS = \"dx-loadpanel-wrapper\";\r\nvar LOADPANEL_INDICATOR_CLASS = \"dx-loadpanel-indicator\";\r\nvar LOADPANEL_MESSAGE_CLASS = \"dx-loadpanel-message\";\r\nvar LOADPANEL_CONTENT_CLASS = \"dx-loadpanel-content\";\r\nvar LOADPANEL_CONTENT_WRAPPER_CLASS = \"dx-loadpanel-content-wrapper\";\r\nvar LOADPANEL_PANE_HIDDEN_CLASS = \"dx-loadpanel-pane-hidden\";\r\nvar LoadPanel = Overlay.inherit({\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), {\r\n escape: noop\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n message: messageLocalization.format(\"Loading\"),\r\n width: 222,\r\n height: 90,\r\n animation: null,\r\n showIndicator: true,\r\n indicatorSrc: \"\",\r\n showPane: true,\r\n delay: 0,\r\n templatesRenderAsynchronously: false,\r\n hideTopOverlayHandler: null,\r\n focusStateEnabled: false,\r\n propagateOutsideClick: true\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"generic\"\r\n },\r\n options: {\r\n shadingColor: \"transparent\"\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial()\r\n },\r\n options: {\r\n message: \"\",\r\n width: 60,\r\n height: 60,\r\n maxHeight: 60,\r\n maxWidth: 60\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase.apply(this, arguments)\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this.$element().addClass(LOADPANEL_CLASS);\r\n this.$wrapper().addClass(LOADPANEL_WRAPPER_CLASS)\r\n },\r\n _renderContentImpl: function() {\r\n this.callBase();\r\n this.$content().addClass(LOADPANEL_CONTENT_CLASS);\r\n this._$loadPanelContentWrapper = $(\"<div>\").addClass(LOADPANEL_CONTENT_WRAPPER_CLASS);\r\n this._$loadPanelContentWrapper.appendTo(this.$content());\r\n this._togglePaneVisible();\r\n this._cleanPreviousContent();\r\n this._renderLoadIndicator();\r\n this._renderMessage()\r\n },\r\n _show: function() {\r\n var delay = this.option(\"delay\");\r\n if (!delay) {\r\n return this.callBase()\r\n }\r\n var deferred = new Deferred;\r\n var callBase = this.callBase.bind(this);\r\n this._clearShowTimeout();\r\n this._showTimeout = setTimeout((function() {\r\n callBase().done((function() {\r\n deferred.resolve()\r\n }))\r\n }), delay);\r\n return deferred.promise()\r\n },\r\n _hide: function() {\r\n this._clearShowTimeout();\r\n return this.callBase()\r\n },\r\n _clearShowTimeout: function() {\r\n clearTimeout(this._showTimeout)\r\n },\r\n _renderMessage: function() {\r\n if (!this._$loadPanelContentWrapper) {\r\n return\r\n }\r\n var message = this.option(\"message\");\r\n if (!message) {\r\n return\r\n }\r\n var $message = $(\"<div>\").addClass(LOADPANEL_MESSAGE_CLASS).text(message);\r\n this._$loadPanelContentWrapper.append($message)\r\n },\r\n _renderLoadIndicator: function() {\r\n if (!this._$loadPanelContentWrapper || !this.option(\"showIndicator\")) {\r\n return\r\n }\r\n if (!this._$indicator) {\r\n this._$indicator = $(\"<div>\").addClass(LOADPANEL_INDICATOR_CLASS).appendTo(this._$loadPanelContentWrapper)\r\n }\r\n this._createComponent(this._$indicator, LoadIndicator, {\r\n indicatorSrc: this.option(\"indicatorSrc\")\r\n })\r\n },\r\n _cleanPreviousContent: function() {\r\n this.$content().find(\".\" + LOADPANEL_MESSAGE_CLASS).remove();\r\n this.$content().find(\".\" + LOADPANEL_INDICATOR_CLASS).remove();\r\n delete this._$indicator\r\n },\r\n _togglePaneVisible: function() {\r\n this.$content().toggleClass(LOADPANEL_PANE_HIDDEN_CLASS, !this.option(\"showPane\"))\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"delay\":\r\n break;\r\n case \"message\":\r\n case \"showIndicator\":\r\n this._cleanPreviousContent();\r\n this._renderLoadIndicator();\r\n this._renderMessage();\r\n break;\r\n case \"showPane\":\r\n this._togglePaneVisible();\r\n break;\r\n case \"indicatorSrc\":\r\n this._renderLoadIndicator();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _dispose: function() {\r\n this._clearShowTimeout();\r\n this.callBase()\r\n }\r\n});\r\nregisterComponent(\"dxLoadPanel\", LoadPanel);\r\nexport default LoadPanel;\r\n","/**\r\n * DevExtreme (esm/ui/lookup.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getHeight,\r\n getOuterHeight,\r\n getOuterWidth\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n nativeScrolling\r\n} from \"../core/utils/support\";\r\nimport {\r\n noop\r\n} from \"../core/utils/common\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n getFieldName\r\n} from \"../core/options/utils\";\r\nimport messageLocalization from \"../localization/message\";\r\nimport devices from \"../core/devices\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n addNamespace\r\n} from \"../events/utils/index\";\r\nimport DropDownList from \"./drop_down_editor/ui.drop_down_list\";\r\nimport {\r\n current,\r\n isMaterial\r\n} from \"./themes\";\r\nimport {\r\n name as clickEventName\r\n} from \"../events/click\";\r\nimport Popover from \"./popover/ui.popover\";\r\nimport TextBox from \"./text_box\";\r\nimport {\r\n ChildDefaultTemplate\r\n} from \"../core/templates/child_default_template\";\r\nimport {\r\n locate,\r\n move,\r\n resetPosition\r\n} from \"../animation/translator\";\r\nimport {\r\n isDefined\r\n} from \"../core/utils/type\";\r\nimport {\r\n getElementWidth\r\n} from \"./drop_down_editor/utils\";\r\nvar LOOKUP_CLASS = \"dx-lookup\";\r\nvar LOOKUP_SEARCH_CLASS = \"dx-lookup-search\";\r\nvar LOOKUP_SEARCH_WRAPPER_CLASS = \"dx-lookup-search-wrapper\";\r\nvar LOOKUP_FIELD_CLASS = \"dx-lookup-field\";\r\nvar LOOKUP_ARROW_CLASS = \"dx-lookup-arrow\";\r\nvar LOOKUP_FIELD_WRAPPER_CLASS = \"dx-lookup-field-wrapper\";\r\nvar LOOKUP_POPUP_CLASS = \"dx-lookup-popup\";\r\nvar LOOKUP_POPUP_WRAPPER_CLASS = \"dx-lookup-popup-wrapper\";\r\nvar LOOKUP_POPUP_SEARCH_CLASS = \"dx-lookup-popup-search\";\r\nvar LOOKUP_POPOVER_MODE = \"dx-lookup-popover-mode\";\r\nvar LOOKUP_EMPTY_CLASS = \"dx-lookup-empty\";\r\nvar LOOKUP_POPOVER_FLIP_VERTICAL_CLASS = \"dx-popover-flipped-vertical\";\r\nvar TEXTEDITOR_INPUT_CLASS = \"dx-texteditor-input\";\r\nvar LIST_ITEM_CLASS = \"dx-list-item\";\r\nvar LIST_ITEM_SELECTED_CLASS = \"dx-list-item-selected\";\r\nvar GROUP_LIST_HEADER_CLASS = \"dx-list-group-header\";\r\nvar MATERIAL_LOOKUP_LIST_ITEMS_COUNT = 5;\r\nvar MATERIAL_LOOKUP_LIST_PADDING = 8;\r\nvar WINDOW_RATIO = .8;\r\nvar Lookup = DropDownList.inherit({\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), {\r\n space: function(e) {\r\n e.preventDefault();\r\n this._validatedOpening()\r\n },\r\n enter: function() {\r\n this._validatedOpening()\r\n }\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n var getSize = side => {\r\n var size;\r\n if (\"phone\" === devices.real().deviceType && window.visualViewport) {\r\n size = window.visualViewport[side]\r\n } else {\r\n size = \"width\" === side ? getWidth(window) : getHeight(window)\r\n }\r\n return size * WINDOW_RATIO\r\n };\r\n return extend(this.callBase(), {\r\n placeholder: messageLocalization.format(\"Select\"),\r\n searchPlaceholder: messageLocalization.format(\"Search\"),\r\n searchEnabled: true,\r\n searchStartEvent: \"input change keyup\",\r\n cleanSearchOnOpening: true,\r\n showCancelButton: true,\r\n showClearButton: false,\r\n clearButtonText: messageLocalization.format(\"Clear\"),\r\n applyButtonText: messageLocalization.format(\"OK\"),\r\n pullRefreshEnabled: false,\r\n useNativeScrolling: true,\r\n pullingDownText: messageLocalization.format(\"dxList-pullingDownText\"),\r\n pulledDownText: messageLocalization.format(\"dxList-pulledDownText\"),\r\n refreshingText: messageLocalization.format(\"dxList-refreshingText\"),\r\n pageLoadingText: messageLocalization.format(\"dxList-pageLoadingText\"),\r\n onScroll: null,\r\n onPullRefresh: null,\r\n onPageLoading: null,\r\n pageLoadMode: \"scrollBottom\",\r\n nextButtonText: messageLocalization.format(\"dxList-nextButtonText\"),\r\n grouped: false,\r\n groupTemplate: \"group\",\r\n usePopover: false,\r\n showDropDownButton: false,\r\n focusStateEnabled: false,\r\n dropDownOptions: {\r\n showTitle: true,\r\n width: function() {\r\n return getSize(\"width\")\r\n },\r\n height: function() {\r\n return getSize(\"height\")\r\n },\r\n shading: true,\r\n hideOnOutsideClick: false,\r\n position: void 0,\r\n animation: {},\r\n title: \"\",\r\n titleTemplate: \"title\",\r\n onTitleRendered: null,\r\n fullScreen: false\r\n },\r\n dropDownCentered: false,\r\n _scrollToSelectedItemEnabled: false,\r\n useHiddenSubmitElement: true\r\n })\r\n },\r\n _setDeprecatedOptions() {\r\n this.callBase();\r\n extend(this._deprecatedOptions, {\r\n valueChangeEvent: {\r\n since: \"22.1\",\r\n alias: \"searchStartEvent\"\r\n }\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n var themeName = current();\r\n return this.callBase().concat([{\r\n device: function() {\r\n return !nativeScrolling\r\n },\r\n options: {\r\n useNativeScrolling: false\r\n }\r\n }, {\r\n device: function(_device) {\r\n return !devices.isSimulator() && \"desktop\" === devices.real().deviceType && \"generic\" === _device.platform\r\n },\r\n options: {\r\n usePopover: true,\r\n dropDownOptions: {\r\n height: \"auto\"\r\n }\r\n }\r\n }, {\r\n device: {\r\n platform: \"ios\",\r\n phone: true\r\n },\r\n options: {\r\n dropDownOptions: {\r\n fullScreen: true\r\n }\r\n }\r\n }, {\r\n device: {\r\n platform: \"ios\",\r\n tablet: true\r\n },\r\n options: {\r\n dropDownOptions: {\r\n width: function() {\r\n return .4 * Math.min(getWidth(window), getHeight(window))\r\n },\r\n height: \"auto\"\r\n },\r\n usePopover: true\r\n }\r\n }, {\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial(themeName)\r\n },\r\n options: {\r\n usePopover: false,\r\n searchEnabled: false,\r\n showCancelButton: false,\r\n dropDownCentered: true,\r\n _scrollToSelectedItemEnabled: true,\r\n dropDownOptions: {\r\n hideOnOutsideClick: true,\r\n _ignoreFunctionValueDeprecation: true,\r\n width: () => getElementWidth(this.$element()),\r\n height: function() {\r\n return this._getPopupHeight()\r\n }.bind(this),\r\n showTitle: false,\r\n shading: false\r\n }\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initActions()\r\n },\r\n _initActions() {\r\n this.callBase();\r\n this._initScrollAction();\r\n this._initPageLoadingAction();\r\n this._initPullRefreshAction()\r\n },\r\n _initPageLoadingAction: function() {\r\n this._pageLoadingAction = this._createActionByOption(\"onPageLoading\")\r\n },\r\n _initPullRefreshAction: function() {\r\n this._pullRefreshAction = this._createActionByOption(\"onPullRefresh\")\r\n },\r\n _initScrollAction: function() {\r\n this._scrollAction = this._createActionByOption(\"onScroll\")\r\n },\r\n _scrollHandler: function(e) {\r\n this._scrollAction(e)\r\n },\r\n _pullRefreshHandler: function(e) {\r\n this._pullRefreshAction(e)\r\n },\r\n _pageLoadingHandler: function(e) {\r\n this._pageLoadingAction(e)\r\n },\r\n _initTemplates: function() {\r\n this.callBase();\r\n this._templateManager.addDefaultTemplates({\r\n group: new ChildDefaultTemplate(\"group\"),\r\n title: new ChildDefaultTemplate(\"title\")\r\n })\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(LOOKUP_CLASS).toggleClass(LOOKUP_POPOVER_MODE, this.option(\"usePopover\"));\r\n this.callBase()\r\n },\r\n _inputWrapper: function() {\r\n return this.$element().find(\".\" + LOOKUP_FIELD_WRAPPER_CLASS)\r\n },\r\n _dataSourceOptions: function() {\r\n return extend(this.callBase(), {\r\n paginate: true\r\n })\r\n },\r\n _fireContentReadyAction: noop,\r\n _popupWrapperClass: function() {\r\n return \"\"\r\n },\r\n _renderInput: function() {\r\n var fieldClickAction = this._createAction(() => {\r\n this._toggleOpenState()\r\n });\r\n this._$field = $(\"<div>\").addClass(LOOKUP_FIELD_CLASS);\r\n eventsEngine.on(this._$field, addNamespace(clickEventName, this.NAME), e => {\r\n fieldClickAction({\r\n event: e\r\n })\r\n });\r\n var $arrow = $(\"<div>\").addClass(LOOKUP_ARROW_CLASS);\r\n this._$fieldWrapper = $(\"<div>\").addClass(LOOKUP_FIELD_WRAPPER_CLASS).append(this._$field).append($arrow).appendTo(this.$element())\r\n },\r\n _getInputContainer() {\r\n return this._$fieldWrapper\r\n },\r\n _renderField: function() {\r\n var fieldTemplate = this._getTemplateByOption(\"fieldTemplate\");\r\n if (fieldTemplate && this.option(\"fieldTemplate\")) {\r\n this._renderFieldTemplate(fieldTemplate);\r\n return\r\n }\r\n var displayValue = this.option(\"displayValue\");\r\n this._updateField(displayValue);\r\n this.$element().toggleClass(LOOKUP_EMPTY_CLASS, !this.option(\"selectedItem\"))\r\n },\r\n _getLabelContainer: function() {\r\n return this._$field\r\n },\r\n _renderDisplayText: function(text) {\r\n if (this._input().length) {\r\n this.callBase(text)\r\n } else {\r\n this._updateField(text)\r\n }\r\n },\r\n _updateField: function(text) {\r\n text = isDefined(text) && String(text) || this.option(\"placeholder\");\r\n this._$field.text(text)\r\n },\r\n _renderFieldTemplate: function(template) {\r\n this._$field.empty();\r\n var data = this._fieldRenderData();\r\n template.render({\r\n model: data,\r\n container: getPublicElement(this._$field)\r\n })\r\n },\r\n _fieldRenderData: function() {\r\n return this.option(\"selectedItem\")\r\n },\r\n _popupShowingHandler: function() {\r\n this.callBase.apply(this, arguments);\r\n if (this.option(\"cleanSearchOnOpening\")) {\r\n if (this.option(\"searchEnabled\") && this._searchBox.option(\"value\")) {\r\n this._searchBox.option(\"value\", \"\");\r\n this._searchCanceled()\r\n }\r\n this._list && this._list.option(\"focusedElement\", null)\r\n }\r\n if (this.option(\"dropDownOptions.fullScreen\") && this.option(\"_scrollToSelectedItemEnabled\")) {\r\n this._popup.option(\"position\").of = $(window)\r\n }\r\n },\r\n _popupShownHandler: function() {\r\n var scrollToSelectedItemEnabled = this.option(\"_scrollToSelectedItemEnabled\");\r\n var fullScreen = this.option(\"dropDownOptions.fullScreen\");\r\n if (!fullScreen && scrollToSelectedItemEnabled) {\r\n this._setPopupPosition()\r\n }\r\n this.callBase()\r\n },\r\n _scrollToSelectedItem: function() {\r\n var selectedIndex = this._list.option(\"selectedIndex\");\r\n var listItems = this._list.option(\"items\");\r\n var itemsCount = listItems.length;\r\n if (0 !== itemsCount) {\r\n if (this._list.option(\"grouped\")) {\r\n this._list.scrollToItem({\r\n group: itemsCount - 1,\r\n item: listItems[itemsCount - 1].items.length - 1\r\n })\r\n } else {\r\n this._list.scrollToItem(itemsCount - 1)\r\n }\r\n this._list.scrollToItem(selectedIndex)\r\n }\r\n },\r\n _getDifferenceOffsets: function(selectedListItem) {\r\n return selectedListItem.offset().top - $(this.element()).offset().top\r\n },\r\n _isCenteringEnabled: (index, count) => 1 < index && index < count - 2,\r\n _getPopupOffset: function() {\r\n var listItemsCount = this._listItemElements().length;\r\n if (0 === listItemsCount) {\r\n return\r\n }\r\n var selectedListItem = $(this._list.element()).find(\".\" + LIST_ITEM_SELECTED_CLASS);\r\n var selectedIndex = this._listItemElements().index(selectedListItem);\r\n var differenceOfHeights = (getHeight(selectedListItem) - getHeight(this.element())) / 2;\r\n var lookupOffset = $(this._list.element()).offset().top;\r\n var dropDownHeightOption = this.option(\"dropDownOptions.height\");\r\n var popupHeight = \"function\" === typeof dropDownHeightOption ? dropDownHeightOption() : dropDownHeightOption;\r\n var windowHeight = getHeight(window);\r\n var offsetTop = 0;\r\n if (-1 !== selectedIndex) {\r\n if (this._isCenteringEnabled(selectedIndex, listItemsCount)) {\r\n this._scrollToSelectedItem();\r\n var scrollOffsetTop = (popupHeight - getHeight(selectedListItem)) / 2 - this._getDifferenceOffsets(selectedListItem);\r\n this._list.scrollTo(this._list.scrollTop() + MATERIAL_LOOKUP_LIST_PADDING / 2 - scrollOffsetTop);\r\n offsetTop = differenceOfHeights + this._getDifferenceOffsets(selectedListItem);\r\n if (lookupOffset < offsetTop && selectedIndex !== listItemsCount - 3) {\r\n this._list.scrollTo(this._list.scrollTop() + this._getDifferenceOffsets(selectedListItem) / 2);\r\n offsetTop = differenceOfHeights + this._getDifferenceOffsets(selectedListItem)\r\n }\r\n } else if (selectedIndex <= 1) {\r\n this._list.scrollTo(0);\r\n offsetTop = differenceOfHeights + this._getDifferenceOffsets(selectedListItem)\r\n } else if (selectedIndex >= listItemsCount - 2) {\r\n this._scrollToSelectedItem();\r\n offsetTop = differenceOfHeights + this._getDifferenceOffsets(selectedListItem)\r\n }\r\n if (lookupOffset < offsetTop) {\r\n this._scrollToSelectedItem();\r\n offsetTop = differenceOfHeights + MATERIAL_LOOKUP_LIST_PADDING\r\n }\r\n }\r\n var offsetBottom = popupHeight - offsetTop - getHeight(this.element());\r\n if (windowHeight - lookupOffset < offsetBottom) {\r\n this._list.scrollTo(this._list.scrollTop() + differenceOfHeights - offsetBottom);\r\n offsetTop = popupHeight - getHeight(this.element()) - MATERIAL_LOOKUP_LIST_PADDING\r\n }\r\n return offsetTop\r\n },\r\n _setPopupPosition: function() {\r\n if (!this.option(\"dropDownCentered\")) {\r\n return\r\n }\r\n var flipped = this._popup.$wrapper().hasClass(LOOKUP_POPOVER_FLIP_VERTICAL_CLASS);\r\n if (flipped) {\r\n return\r\n }\r\n var popupContentParent = $(this._popup.$content()).parent();\r\n var popupOffset = this._getPopupOffset();\r\n var position = locate(popupContentParent);\r\n move(popupContentParent, {\r\n top: position.top - popupOffset\r\n })\r\n },\r\n _listItemGroupedElements: function() {\r\n var groups = this._list._itemContainer().children();\r\n var items = [];\r\n groups.each((_, group) => {\r\n items.push($(group).find(\".\" + GROUP_LIST_HEADER_CLASS)[0]);\r\n var groupedItems = $(group).find(\".\" + LIST_ITEM_CLASS);\r\n groupedItems.each((_, item) => {\r\n items.push(item)\r\n })\r\n });\r\n return $(items)\r\n },\r\n _calculateListHeight: function(grouped) {\r\n var listItems = grouped ? this._listItemGroupedElements() : this._listItemElements();\r\n var selectedListItem = $(\".\" + LIST_ITEM_SELECTED_CLASS);\r\n var selectedIndex = listItems.index(selectedListItem);\r\n var listHeight = 0;\r\n var requireListItems = [];\r\n if (0 === listItems.length) {\r\n listHeight += MATERIAL_LOOKUP_LIST_PADDING\r\n } else if (listItems.length < MATERIAL_LOOKUP_LIST_ITEMS_COUNT) {\r\n listItems.each((_, item) => {\r\n listHeight += getOuterHeight(item)\r\n })\r\n } else {\r\n if (selectedIndex <= 1) {\r\n requireListItems = listItems.slice(0, MATERIAL_LOOKUP_LIST_ITEMS_COUNT)\r\n } else if (this._isCenteringEnabled(selectedIndex, listItems.length)) {\r\n requireListItems = listItems.slice(selectedIndex - 2, selectedIndex + 3)\r\n } else {\r\n requireListItems = listItems.slice(listItems.length - MATERIAL_LOOKUP_LIST_ITEMS_COUNT, listItems.length)\r\n }\r\n requireListItems.each((_, item) => {\r\n listHeight += getOuterHeight(item)\r\n })\r\n }\r\n return listHeight + (grouped ? MATERIAL_LOOKUP_LIST_PADDING : 2 * MATERIAL_LOOKUP_LIST_PADDING)\r\n },\r\n _getPopupHeight: function() {\r\n var _this$_list;\r\n if (null !== (_this$_list = this._list) && void 0 !== _this$_list && _this$_list.itemElements().length) {\r\n return this._calculateListHeight(this.option(\"grouped\")) + (this._$searchWrapper ? getOuterHeight(this._$searchWrapper) : 0) + (this._popup._$bottom ? getOuterHeight(this._popup._$bottom) : 0) + (this._popup._$title ? getOuterHeight(this._popup._$title) : 0)\r\n } else {\r\n return \"auto\"\r\n }\r\n },\r\n _renderPopup: function() {\r\n if (this.option(\"usePopover\") && !this.option(\"dropDownOptions.fullScreen\")) {\r\n if (this.option(\"_scrollToSelectedItemEnabled\")) {\r\n this.callBase()\r\n } else {\r\n this._renderPopover()\r\n }\r\n } else {\r\n this.callBase()\r\n }\r\n this._$popup.addClass(LOOKUP_POPUP_CLASS);\r\n this._popup.$wrapper().addClass(LOOKUP_POPUP_WRAPPER_CLASS)\r\n },\r\n _renderPopover: function() {\r\n this._popup = this._createComponent(this._$popup, Popover, extend(this._popupConfig(), this._options.cache(\"dropDownOptions\"), {\r\n showEvent: null,\r\n hideEvent: null,\r\n target: this.$element(),\r\n fullScreen: false,\r\n shading: false,\r\n hideOnParentScroll: true,\r\n _fixWrapperPosition: false,\r\n width: this._isInitialOptionValue(\"dropDownOptions.width\") ? function() {\r\n return getOuterWidth(this.$element())\r\n }.bind(this) : this._popupConfig().width\r\n }));\r\n this._popup.on({\r\n showing: this._popupShowingHandler.bind(this),\r\n shown: this._popupShownHandler.bind(this),\r\n hiding: this._popupHidingHandler.bind(this),\r\n hidden: this._popupHiddenHandler.bind(this),\r\n contentReady: this._contentReadyHandler.bind(this)\r\n });\r\n if (this.option(\"_scrollToSelectedItemEnabled\")) {\r\n this._popup._$arrow.remove()\r\n }\r\n this._setPopupContentId(this._popup.$content());\r\n this._contentReadyHandler()\r\n },\r\n _popupHidingHandler: function() {\r\n this.callBase();\r\n this.option(\"focusStateEnabled\") && this.focus()\r\n },\r\n _popupHiddenHandler: function() {\r\n this.callBase();\r\n if (this.option(\"_scrollToSelectedItemEnabled\")) {\r\n resetPosition($(this._popup.content()).parent())\r\n }\r\n },\r\n _preventFocusOnPopup: noop,\r\n _popupConfig: function() {\r\n var result = extend(this.callBase(), {\r\n toolbarItems: this._getPopupToolbarItems(),\r\n hideOnParentScroll: false,\r\n onPositioned: null,\r\n maxHeight: \"100vh\",\r\n showTitle: this.option(\"dropDownOptions.showTitle\"),\r\n title: this.option(\"dropDownOptions.title\"),\r\n titleTemplate: this._getTemplateByOption(\"dropDownOptions.titleTemplate\"),\r\n onTitleRendered: this.option(\"dropDownOptions.onTitleRendered\"),\r\n fullScreen: this.option(\"dropDownOptions.fullScreen\"),\r\n shading: this.option(\"dropDownOptions.shading\"),\r\n hideOnOutsideClick: this.option(\"dropDownOptions.hideOnOutsideClick\") || this.option(\"dropDownOptions.closeOnOutsideClick\")\r\n });\r\n delete result.animation;\r\n delete result.position;\r\n if (this.option(\"_scrollToSelectedItemEnabled\")) {\r\n result.position = this.option(\"dropDownCentered\") ? {\r\n my: \"left top\",\r\n at: \"left top\",\r\n of: this.element()\r\n } : {\r\n my: \"left top\",\r\n at: \"left bottom\",\r\n of: this.element()\r\n };\r\n result.hideOnParentScroll = true\r\n }\r\n each([\"position\", \"animation\", \"width\", \"height\"], (_, optionName) => {\r\n var popupOptionValue = this.option(\"dropDownOptions.\".concat(optionName));\r\n if (void 0 !== popupOptionValue) {\r\n result[optionName] = popupOptionValue\r\n }\r\n });\r\n return result\r\n },\r\n _getPopupToolbarItems: function() {\r\n var buttonsConfig = \"useButtons\" === this.option(\"applyValueMode\") ? this._popupToolbarItemsConfig() : [];\r\n var cancelButton = this._getCancelButtonConfig();\r\n if (cancelButton) {\r\n buttonsConfig.push(cancelButton)\r\n }\r\n var clearButton = this._getClearButtonConfig();\r\n if (clearButton) {\r\n buttonsConfig.push(clearButton)\r\n }\r\n return this._applyButtonsLocation(buttonsConfig)\r\n },\r\n _popupToolbarItemsConfig: function() {\r\n return [{\r\n shortcut: \"done\",\r\n options: {\r\n onClick: this._applyButtonHandler.bind(this),\r\n text: this.option(\"applyButtonText\")\r\n }\r\n }]\r\n },\r\n _getCancelButtonConfig: function() {\r\n return this.option(\"showCancelButton\") ? {\r\n shortcut: \"cancel\",\r\n onClick: this._cancelButtonHandler.bind(this),\r\n options: {\r\n onInitialized: e => {\r\n e.component.registerKeyHandler(\"escape\", this.close.bind(this))\r\n },\r\n text: this.option(\"cancelButtonText\")\r\n }\r\n } : null\r\n },\r\n _getClearButtonConfig: function() {\r\n return this.option(\"showClearButton\") ? {\r\n shortcut: \"clear\",\r\n onClick: this._resetValue.bind(this),\r\n options: {\r\n text: this.option(\"clearButtonText\")\r\n }\r\n } : null\r\n },\r\n _applyButtonHandler: function(args) {\r\n if (args) {\r\n this._saveValueChangeEvent(args.event)\r\n }\r\n this.option(\"value\", this._valueGetter(this._currentSelectedItem()));\r\n this.callBase()\r\n },\r\n _cancelButtonHandler: function() {\r\n this._refreshSelected();\r\n this.callBase()\r\n },\r\n _refreshPopupVisibility: function() {\r\n if (this.option(\"opened\")) {\r\n this._updateListDimensions()\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n if (this.option(\"usePopover\") && !this.option(\"dropDownOptions.width\")) {\r\n this.option(\"dropDownOptions.width\", getWidth(this.$element()))\r\n }\r\n this._updateListDimensions()\r\n },\r\n _input: function() {\r\n return this._$searchBox || this.callBase()\r\n },\r\n _renderPopupContent: function() {\r\n this.callBase();\r\n this._renderSearch()\r\n },\r\n _renderValueChangeEvent: noop,\r\n _renderSearch: function() {\r\n var isSearchEnabled = this.option(\"searchEnabled\");\r\n this._toggleSearchClass(isSearchEnabled);\r\n if (isSearchEnabled) {\r\n var $searchWrapper = this._$searchWrapper = $(\"<div>\").addClass(LOOKUP_SEARCH_WRAPPER_CLASS);\r\n var $searchBox = this._$searchBox = $(\"<div>\").addClass(LOOKUP_SEARCH_CLASS).appendTo($searchWrapper);\r\n var currentDevice = devices.current();\r\n var searchMode = currentDevice.android ? \"text\" : \"search\";\r\n var isKeyboardListeningEnabled = false;\r\n this._searchBox = this._createComponent($searchBox, TextBox, {\r\n onDisposing: () => isKeyboardListeningEnabled = false,\r\n onFocusIn: () => isKeyboardListeningEnabled = true,\r\n onFocusOut: () => isKeyboardListeningEnabled = false,\r\n onKeyboardHandled: opts => isKeyboardListeningEnabled && this._list._keyboardHandler(opts),\r\n mode: searchMode,\r\n showClearButton: true,\r\n valueChangeEvent: this.option(\"searchStartEvent\"),\r\n onValueChanged: e => {\r\n this._searchHandler(e)\r\n }\r\n });\r\n this._registerSearchKeyHandlers();\r\n $searchWrapper.insertBefore(this._$list);\r\n this._setSearchPlaceholder()\r\n }\r\n },\r\n _removeSearch: function() {\r\n this._$searchWrapper && this._$searchWrapper.remove();\r\n delete this._$searchWrapper;\r\n this._$searchBox && this._$searchBox.remove();\r\n delete this._$searchBox;\r\n delete this._searchBox\r\n },\r\n _selectListItemHandler: function(e) {\r\n var $itemElement = $(this._list.option(\"focusedElement\"));\r\n if (!$itemElement.length) {\r\n return\r\n }\r\n e.preventDefault();\r\n e.target = $itemElement.get(0);\r\n this._saveValueChangeEvent(e);\r\n this._selectListItem(e.itemData, $itemElement)\r\n },\r\n _registerSearchKeyHandlers: function() {\r\n this._searchBox.registerKeyHandler(\"escape\", this.close.bind(this));\r\n this._searchBox.registerKeyHandler(\"enter\", this._selectListItemHandler.bind(this));\r\n this._searchBox.registerKeyHandler(\"space\", this._selectListItemHandler.bind(this));\r\n this._searchBox.registerKeyHandler(\"end\", noop);\r\n this._searchBox.registerKeyHandler(\"home\", noop)\r\n },\r\n _toggleSearchClass: function(isSearchEnabled) {\r\n if (this._popup) {\r\n this._popup.$wrapper().toggleClass(LOOKUP_POPUP_SEARCH_CLASS, isSearchEnabled)\r\n }\r\n },\r\n _setSearchPlaceholder: function() {\r\n if (!this._$searchBox) {\r\n return\r\n }\r\n var minSearchLength = this.option(\"minSearchLength\");\r\n var placeholder = this.option(\"searchPlaceholder\");\r\n if (minSearchLength && placeholder === messageLocalization.format(\"Search\")) {\r\n placeholder = messageLocalization.getFormatter(\"dxLookup-searchPlaceholder\")(minSearchLength)\r\n }\r\n this._searchBox.option(\"placeholder\", placeholder)\r\n },\r\n _setAriaTargetForList: noop,\r\n _renderList: function() {\r\n this.callBase();\r\n this._list.registerKeyHandler(\"escape\", () => {\r\n this.close()\r\n })\r\n },\r\n _listConfig: function() {\r\n return extend(this.callBase(), {\r\n tabIndex: 0,\r\n grouped: this.option(\"grouped\"),\r\n groupTemplate: this._getTemplateByOption(\"groupTemplate\"),\r\n pullRefreshEnabled: this.option(\"pullRefreshEnabled\"),\r\n useNativeScrolling: this.option(\"useNativeScrolling\"),\r\n pullingDownText: this.option(\"pullingDownText\"),\r\n pulledDownText: this.option(\"pulledDownText\"),\r\n refreshingText: this.option(\"refreshingText\"),\r\n pageLoadingText: this.option(\"pageLoadingText\"),\r\n onScroll: this._scrollHandler.bind(this),\r\n onPullRefresh: this._pullRefreshHandler.bind(this),\r\n onPageLoading: this._pageLoadingHandler.bind(this),\r\n pageLoadMode: this.option(\"pageLoadMode\"),\r\n nextButtonText: this.option(\"nextButtonText\"),\r\n indicateLoading: this.option(\"searchEnabled\"),\r\n onSelectionChanged: this._getSelectionChangedHandler()\r\n })\r\n },\r\n _getSelectionChangedHandler: function() {\r\n return this.option(\"showSelectionControls\") ? this._selectionChangeHandler.bind(this) : noop\r\n },\r\n _listContentReadyHandler: function() {\r\n this.callBase(...arguments);\r\n this._refreshSelected()\r\n },\r\n _runWithoutCloseOnScroll: function(callback) {\r\n var {\r\n _scrollToSelectedItemEnabled: _scrollToSelectedItemEnabled\r\n } = this.option();\r\n var hideOnParentScroll = this._popup.option(\"hideOnParentScroll\");\r\n if (!_scrollToSelectedItemEnabled) {\r\n callback()\r\n } else {\r\n this._popup.option(\"hideOnParentScroll\", false);\r\n callback();\r\n this._hideOnParentScrollTimer = setTimeout(() => {\r\n this._popup.option(\"hideOnParentScroll\", hideOnParentScroll)\r\n })\r\n }\r\n },\r\n _setFocusPolicy: function() {\r\n if (!this.option(\"focusStateEnabled\")) {\r\n return\r\n }\r\n this._runWithoutCloseOnScroll(() => {\r\n if (this.option(\"searchEnabled\")) {\r\n this._searchBox.focus()\r\n } else {\r\n eventsEngine.trigger(this._$list, \"focus\")\r\n }\r\n })\r\n },\r\n _focusTarget: function() {\r\n return this._$field\r\n },\r\n _keyboardEventBindingTarget: function() {\r\n return this._$field\r\n },\r\n _listItemClickHandler: function(e) {\r\n this._saveValueChangeEvent(e.event);\r\n this._selectListItem(e.itemData, e.event.currentTarget)\r\n },\r\n _selectListItem: function(itemData, target) {\r\n this._list.selectItem(target);\r\n if (\"instantly\" === this.option(\"applyValueMode\")) {\r\n this._applyButtonHandler()\r\n }\r\n },\r\n _currentSelectedItem: function() {\r\n return this.option(\"grouped\") ? this._list.option(\"selectedItems[0]\").items[0] : this._list.option(\"selectedItems[0]\")\r\n },\r\n _resetValue: function(e) {\r\n this._saveValueChangeEvent(e.event);\r\n this.option(\"value\", null);\r\n this.option(\"opened\", false)\r\n },\r\n _searchValue: function() {\r\n return this.option(\"searchEnabled\") && this._searchBox ? this._searchBox.option(\"value\") : \"\"\r\n },\r\n _renderInputValue: function() {\r\n return this.callBase().always(() => {\r\n this._refreshSelected()\r\n })\r\n },\r\n _renderPlaceholder: function() {\r\n if (0 === this.$element().find(\".\" + TEXTEDITOR_INPUT_CLASS).length) {\r\n return\r\n }\r\n this.callBase()\r\n },\r\n _clean: function() {\r\n this._$fieldWrapper.remove();\r\n clearTimeout(this._hideOnParentScrollTimer);\r\n this._hideOnParentScrollTimer = null;\r\n this._$searchBox = null;\r\n this.callBase()\r\n },\r\n _optionChanged: function(args) {\r\n var _this$_searchBox;\r\n var {\r\n name: name,\r\n fullName: fullName,\r\n value: value\r\n } = args;\r\n switch (name) {\r\n case \"dataSource\":\r\n this.callBase(...arguments);\r\n this._renderField();\r\n break;\r\n case \"searchEnabled\":\r\n if (this._popup) {\r\n this._removeSearch();\r\n this._renderSearch()\r\n }\r\n break;\r\n case \"searchPlaceholder\":\r\n this._setSearchPlaceholder();\r\n break;\r\n case \"minSearchLength\":\r\n this._setSearchPlaceholder();\r\n this.callBase(...arguments);\r\n break;\r\n case \"usePopover\":\r\n case \"placeholder\":\r\n this._invalidate();\r\n break;\r\n case \"clearButtonText\":\r\n case \"showClearButton\":\r\n case \"showCancelButton\":\r\n this._setPopupOption(\"toolbarItems\", this._getPopupToolbarItems());\r\n break;\r\n case \"applyValueMode\":\r\n this.callBase(...arguments);\r\n break;\r\n case \"onPageLoading\":\r\n this._initPageLoadingAction();\r\n break;\r\n case \"onPullRefresh\":\r\n this._initPullRefreshAction();\r\n break;\r\n case \"pullRefreshEnabled\":\r\n case \"useNativeScrolling\":\r\n case \"pullingDownText\":\r\n case \"pulledDownText\":\r\n case \"refreshingText\":\r\n case \"pageLoadingText\":\r\n case \"nextButtonText\":\r\n case \"grouped\":\r\n case \"groupTemplate\":\r\n this._setListOption(name);\r\n break;\r\n case \"searchStartEvent\":\r\n null === (_this$_searchBox = this._searchBox) || void 0 === _this$_searchBox ? void 0 : _this$_searchBox.option(\"valueChangeEvent\", value);\r\n break;\r\n case \"onScroll\":\r\n this._initScrollAction();\r\n break;\r\n case \"pageLoadMode\":\r\n this._setListOption(\"pageLoadMode\", this.option(\"pageLoadMode\"));\r\n break;\r\n case \"cleanSearchOnOpening\":\r\n case \"_scrollToSelectedItemEnabled\":\r\n break;\r\n case \"dropDownOptions\":\r\n switch (fullName) {\r\n case \"dropDownOptions.width\":\r\n case \"dropDownOptions.height\":\r\n this._popupOptionChanged({\r\n name: name,\r\n fullName: fullName,\r\n value: \"auto\" === value ? this.initialOption(\"dropDownOptions\")[getFieldName(fullName)] : value\r\n });\r\n this._options.cache(\"dropDownOptions\", this.option(\"dropDownOptions\"));\r\n break;\r\n default:\r\n this.callBase(...arguments)\r\n }\r\n break;\r\n case \"dropDownCentered\":\r\n if (this.option(\"_scrollToSelectedItemEnabled\")) {\r\n this.option(\"dropDownOptions.position\", void 0);\r\n this._renderPopup()\r\n }\r\n break;\r\n default:\r\n this.callBase(...arguments)\r\n }\r\n },\r\n focus: function() {\r\n this.option(\"opened\") ? this._setFocusPolicy() : eventsEngine.trigger(this._focusTarget(), \"focus\")\r\n },\r\n field: function() {\r\n return this._$field\r\n }\r\n});\r\nregisterComponent(\"dxLookup\", Lookup);\r\nexport default Lookup;\r\n","/**\r\n * DevExtreme (esm/ui/map/provider.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nimport {\r\n map\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n isPlainObject,\r\n isNumeric\r\n} from \"../../core/utils/type\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nvar abstract = Class.abstract;\r\nvar Provider = Class.inherit({\r\n _defaultRouteWeight: function() {\r\n return 5\r\n },\r\n _defaultRouteOpacity: function() {\r\n return .5\r\n },\r\n _defaultRouteColor: function() {\r\n return \"#0000FF\"\r\n },\r\n ctor: function(map, $container) {\r\n this._mapWidget = map;\r\n this._$container = $container\r\n },\r\n render: function(markerOptions, routeOptions) {\r\n return this._renderImpl().then(function() {\r\n return Promise.all([this._applyFunctionIfNeeded(\"addMarkers\", markerOptions), this._applyFunctionIfNeeded(\"addRoutes\", routeOptions)]).then((function() {\r\n return true\r\n }))\r\n }.bind(this))\r\n },\r\n _renderImpl: abstract,\r\n updateDimensions: abstract,\r\n updateMapType: abstract,\r\n updateBounds: abstract,\r\n updateCenter: abstract,\r\n updateZoom: abstract,\r\n updateControls: abstract,\r\n updateMarkers: function(markerOptionsToRemove, markerOptionsToAdd) {\r\n return new Promise(function(resolve) {\r\n return this._applyFunctionIfNeeded(\"removeMarkers\", markerOptionsToRemove).then(function(removeValue) {\r\n this._applyFunctionIfNeeded(\"addMarkers\", markerOptionsToAdd).then((function(addValue) {\r\n resolve(addValue ? addValue : removeValue)\r\n }))\r\n }.bind(this))\r\n }.bind(this))\r\n },\r\n addMarkers: abstract,\r\n removeMarkers: abstract,\r\n adjustViewport: abstract,\r\n updateRoutes: function(routeOptionsToRemove, routeOptionsToAdd) {\r\n return new Promise(function(resolve) {\r\n return this._applyFunctionIfNeeded(\"removeRoutes\", routeOptionsToRemove).then(function(removeValue) {\r\n this._applyFunctionIfNeeded(\"addRoutes\", routeOptionsToAdd).then((function(addValue) {\r\n resolve(addValue ? addValue : removeValue)\r\n }))\r\n }.bind(this))\r\n }.bind(this))\r\n },\r\n addRoutes: abstract,\r\n removeRoutes: abstract,\r\n clean: abstract,\r\n map: function() {\r\n return this._map\r\n },\r\n isEventsCanceled: function() {\r\n return false\r\n },\r\n _option: function(name, value) {\r\n if (void 0 === value) {\r\n return this._mapWidget.option(name)\r\n }\r\n this._mapWidget.setOptionSilent(name, value)\r\n },\r\n _keyOption: function(providerName) {\r\n var key = this._option(\"apiKey\");\r\n return void 0 === key[providerName] ? key : key[providerName]\r\n },\r\n _parseTooltipOptions: function(option) {\r\n return {\r\n text: option.text || option,\r\n visible: option.isShown || false\r\n }\r\n },\r\n _getLatLng: function(location) {\r\n if (\"string\" === typeof location) {\r\n var coords = map(location.split(\",\"), (function(item) {\r\n return item.trim()\r\n }));\r\n var numericRegex = /^[-+]?[0-9]*\\.?[0-9]*$/;\r\n if (2 === coords.length && coords[0].match(numericRegex) && coords[1].match(numericRegex)) {\r\n return {\r\n lat: parseFloat(coords[0]),\r\n lng: parseFloat(coords[1])\r\n }\r\n }\r\n } else if (Array.isArray(location) && 2 === location.length) {\r\n return {\r\n lat: location[0],\r\n lng: location[1]\r\n }\r\n } else if (isPlainObject(location) && isNumeric(location.lat) && isNumeric(location.lng)) {\r\n return location\r\n }\r\n return null\r\n },\r\n _areBoundsSet: function() {\r\n return this._option(\"bounds.northEast\") && this._option(\"bounds.southWest\")\r\n },\r\n _addEventNamespace: function(name) {\r\n return addNamespace(name, this._mapWidget.NAME)\r\n },\r\n _applyFunctionIfNeeded: function(fnName, array) {\r\n if (!array.length) {\r\n return Promise.resolve()\r\n }\r\n return this[fnName](array)\r\n },\r\n _fireAction: function(name, actionArguments) {\r\n this._mapWidget._createActionByOption(name)(actionArguments)\r\n },\r\n _fireClickAction: function(actionArguments) {\r\n this._fireAction(\"onClick\", actionArguments)\r\n },\r\n _fireMarkerAddedAction: function(actionArguments) {\r\n this._fireAction(\"onMarkerAdded\", actionArguments)\r\n },\r\n _fireMarkerRemovedAction: function(actionArguments) {\r\n this._fireAction(\"onMarkerRemoved\", actionArguments)\r\n },\r\n _fireRouteAddedAction: function(actionArguments) {\r\n this._fireAction(\"onRouteAdded\", actionArguments)\r\n },\r\n _fireRouteRemovedAction: function(actionArguments) {\r\n this._fireAction(\"onRouteRemoved\", actionArguments)\r\n }\r\n});\r\nexport default Provider;\r\n","/**\r\n * DevExtreme (esm/ui/map/provider.google_static.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Provider from \"./provider\";\r\nimport Color from \"../../color\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nvar GOOGLE_STATIC_URL = \"https://maps.google.com/maps/api/staticmap?\";\r\nvar GoogleStaticProvider = Provider.inherit({\r\n _locationToString: function(location) {\r\n var latLng = this._getLatLng(location);\r\n return latLng ? latLng.lat + \",\" + latLng.lng : location.toString().replace(/ /g, \"+\")\r\n },\r\n _renderImpl: function() {\r\n return this._updateMap()\r\n },\r\n updateDimensions: function() {\r\n return this._updateMap()\r\n },\r\n updateMapType: function() {\r\n return this._updateMap()\r\n },\r\n updateBounds: function() {\r\n return Promise.resolve()\r\n },\r\n updateCenter: function() {\r\n return this._updateMap()\r\n },\r\n updateZoom: function() {\r\n return this._updateMap()\r\n },\r\n updateControls: function() {\r\n return Promise.resolve()\r\n },\r\n addMarkers: function(options) {\r\n var that = this;\r\n return this._updateMap().then((function(result) {\r\n each(options, (function(_, options) {\r\n that._fireMarkerAddedAction({\r\n options: options\r\n })\r\n }));\r\n return result\r\n }))\r\n },\r\n removeMarkers: function(options) {\r\n var that = this;\r\n return this._updateMap().then((function(result) {\r\n each(options, (function(_, options) {\r\n that._fireMarkerRemovedAction({\r\n options: options\r\n })\r\n }));\r\n return result\r\n }))\r\n },\r\n adjustViewport: function() {\r\n return Promise.resolve()\r\n },\r\n addRoutes: function(options) {\r\n var that = this;\r\n return this._updateMap().then((function(result) {\r\n each(options, (function(_, options) {\r\n that._fireRouteAddedAction({\r\n options: options\r\n })\r\n }));\r\n return result\r\n }))\r\n },\r\n removeRoutes: function(options) {\r\n var that = this;\r\n return this._updateMap().then((function(result) {\r\n each(options, (function(_, options) {\r\n that._fireRouteRemovedAction({\r\n options: options\r\n })\r\n }));\r\n return result\r\n }))\r\n },\r\n clean: function() {\r\n this._$container.css(\"backgroundImage\", \"none\");\r\n eventsEngine.off(this._$container, this._addEventNamespace(clickEventName));\r\n return Promise.resolve()\r\n },\r\n mapRendered: function() {\r\n return true\r\n },\r\n _updateMap: function() {\r\n var key = this._keyOption(\"googleStatic\");\r\n var $container = this._$container;\r\n var requestOptions = [\"sensor=false\", \"size=\" + Math.round(getWidth($container)) + \"x\" + Math.round(getHeight($container)), \"maptype=\" + this._option(\"type\"), \"center=\" + this._locationToString(this._option(\"center\")), \"zoom=\" + this._option(\"zoom\"), this._markersSubstring()];\r\n requestOptions.push.apply(requestOptions, this._routeSubstrings());\r\n if (key) {\r\n requestOptions.push(\"key=\" + key)\r\n }\r\n var request = GOOGLE_STATIC_URL + requestOptions.join(\"&\");\r\n this._$container.css(\"background\", 'url(\"' + request + '\") no-repeat 0 0');\r\n this._attachClickEvent();\r\n return Promise.resolve(true)\r\n },\r\n _markersSubstring: function() {\r\n var that = this;\r\n var markers = [];\r\n var markerIcon = this._option(\"markerIconSrc\");\r\n if (markerIcon) {\r\n markers.push(\"icon:\" + markerIcon)\r\n }\r\n each(this._option(\"markers\"), (function(_, marker) {\r\n markers.push(that._locationToString(marker.location))\r\n }));\r\n return \"markers=\" + markers.join(\"|\")\r\n },\r\n _routeSubstrings: function() {\r\n var that = this;\r\n var routes = [];\r\n each(this._option(\"routes\"), (function(_, route) {\r\n var color = new Color(route.color || that._defaultRouteColor()).toHex().replace(\"#\", \"0x\");\r\n var opacity = Math.round(255 * (route.opacity || that._defaultRouteOpacity())).toString(16);\r\n var width = route.weight || that._defaultRouteWeight();\r\n var locations = [];\r\n each(route.locations, (function(_, routePoint) {\r\n locations.push(that._locationToString(routePoint))\r\n }));\r\n routes.push(\"path=color:\" + color + opacity + \"|weight:\" + width + \"|\" + locations.join(\"|\"))\r\n }));\r\n return routes\r\n },\r\n _attachClickEvent: function() {\r\n var that = this;\r\n var eventName = this._addEventNamespace(clickEventName);\r\n eventsEngine.off(this._$container, eventName);\r\n eventsEngine.on(this._$container, eventName, (function(e) {\r\n that._fireClickAction({\r\n event: e\r\n })\r\n }))\r\n }\r\n});\r\nexport default GoogleStaticProvider;\r\n","/**\r\n * DevExtreme (esm/ui/map/provider.dynamic.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each,\r\n map\r\n} from \"../../core/utils/iterator\";\r\nimport Provider from \"./provider\";\r\nvar abstract = Provider.abstract;\r\nvar DynamicProvider = Provider.inherit({\r\n _geocodeLocation: function(location) {\r\n return new Promise(function(resolve) {\r\n var cache = this._geocodedLocations;\r\n var cachedLocation = cache[location];\r\n if (cachedLocation) {\r\n resolve(cachedLocation)\r\n } else {\r\n this._geocodeLocationImpl(location).then((function(geocodedLocation) {\r\n cache[location] = geocodedLocation;\r\n resolve(geocodedLocation)\r\n }))\r\n }\r\n }.bind(this))\r\n },\r\n _renderImpl: function() {\r\n return this._load().then(function() {\r\n return this._init()\r\n }.bind(this)).then(function() {\r\n return Promise.all([this.updateMapType(), this._areBoundsSet() ? this.updateBounds() : this.updateCenter()])\r\n }.bind(this)).then(function() {\r\n this._attachHandlers();\r\n return new Promise((function(resolve) {\r\n var timeout = setTimeout((function() {\r\n clearTimeout(timeout);\r\n resolve()\r\n }))\r\n }))\r\n }.bind(this))\r\n },\r\n _load: function() {\r\n if (!this._mapsLoader) {\r\n this._mapsLoader = this._loadImpl()\r\n }\r\n this._markers = [];\r\n this._routes = [];\r\n return this._mapsLoader\r\n },\r\n _loadImpl: abstract,\r\n _init: abstract,\r\n _attachHandlers: abstract,\r\n addMarkers: function(options) {\r\n return Promise.all(map(options, function(options) {\r\n return this._addMarker(options)\r\n }.bind(this))).then(function(markerObjects) {\r\n this._fitBounds();\r\n return [false, map(markerObjects, (function(markerObject) {\r\n return markerObject.marker\r\n }))]\r\n }.bind(this))\r\n },\r\n _addMarker: function(options) {\r\n return this._renderMarker(options).then(function(markerObject) {\r\n this._markers.push(extend({\r\n options: options\r\n }, markerObject));\r\n this._fireMarkerAddedAction({\r\n options: options,\r\n originalMarker: markerObject.marker\r\n });\r\n return markerObject\r\n }.bind(this))\r\n },\r\n _renderMarker: abstract,\r\n removeMarkers: function(markersOptionsToRemove) {\r\n var that = this;\r\n each(markersOptionsToRemove, (function(_, markerOptionToRemove) {\r\n that._removeMarker(markerOptionToRemove)\r\n }));\r\n return Promise.resolve()\r\n },\r\n _removeMarker: function(markersOptionToRemove) {\r\n var that = this;\r\n each(this._markers, (function(markerIndex, markerObject) {\r\n if (markerObject.options !== markersOptionToRemove) {\r\n return true\r\n }\r\n that._destroyMarker(markerObject);\r\n that._markers.splice(markerIndex, 1);\r\n that._fireMarkerRemovedAction({\r\n options: markerObject.options\r\n });\r\n return false\r\n }))\r\n },\r\n _destroyMarker: abstract,\r\n _clearMarkers: function() {\r\n while (this._markers.length > 0) {\r\n this._removeMarker(this._markers[0].options)\r\n }\r\n },\r\n addRoutes: function(options) {\r\n return Promise.all(map(options, function(options) {\r\n return this._addRoute(options)\r\n }.bind(this))).then(function(routeObjects) {\r\n this._fitBounds();\r\n return [false, map(routeObjects, (function(routeObject) {\r\n return routeObject.instance\r\n }))]\r\n }.bind(this))\r\n },\r\n _addRoute: function(options) {\r\n return this._renderRoute(options).then(function(routeObject) {\r\n this._routes.push(extend({\r\n options: options\r\n }, routeObject));\r\n this._fireRouteAddedAction({\r\n options: options,\r\n originalRoute: routeObject.instance\r\n });\r\n return routeObject\r\n }.bind(this))\r\n },\r\n _renderRoute: abstract,\r\n removeRoutes: function(options) {\r\n var that = this;\r\n each(options, (function(routeIndex, options) {\r\n that._removeRoute(options)\r\n }));\r\n return Promise.resolve()\r\n },\r\n _removeRoute: function(options) {\r\n var that = this;\r\n each(this._routes, (function(routeIndex, routeObject) {\r\n if (routeObject.options !== options) {\r\n return true\r\n }\r\n that._destroyRoute(routeObject);\r\n that._routes.splice(routeIndex, 1);\r\n that._fireRouteRemovedAction({\r\n options: options\r\n });\r\n return false\r\n }))\r\n },\r\n _destroyRoute: abstract,\r\n _clearRoutes: function() {\r\n while (this._routes.length > 0) {\r\n this._removeRoute(this._routes[0].options)\r\n }\r\n },\r\n adjustViewport: function() {\r\n return this._fitBounds()\r\n },\r\n isEventsCanceled: function() {\r\n return true\r\n },\r\n _fitBounds: abstract,\r\n _updateBounds: function() {\r\n var that = this;\r\n this._clearBounds();\r\n if (!this._option(\"autoAdjust\")) {\r\n return\r\n }\r\n each(this._markers, (function(_, markerObject) {\r\n that._extendBounds(markerObject.location)\r\n }));\r\n each(this._routes, (function(_, routeObject) {\r\n routeObject.northEast && that._extendBounds(routeObject.northEast);\r\n routeObject.southWest && that._extendBounds(routeObject.southWest)\r\n }))\r\n },\r\n _clearBounds: function() {\r\n this._bounds = null\r\n },\r\n _extendBounds: abstract\r\n});\r\nexport default DynamicProvider;\r\n","/**\r\n * DevExtreme (esm/ui/map/provider.dynamic.google.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n map\r\n} from \"../../core/utils/iterator\";\r\nimport DynamicProvider from \"./provider.dynamic\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport Color from \"../../color\";\r\nimport ajax from \"../../core/utils/ajax\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nvar GOOGLE_MAP_READY = \"_googleScriptReady\";\r\nvar GOOGLE_URL = \"https://maps.googleapis.com/maps/api/js?callback=\" + GOOGLE_MAP_READY;\r\nvar INFO_WINDOW_CLASS = \"gm-style-iw\";\r\nvar CustomMarker;\r\nvar initCustomMarkerClass = function() {\r\n CustomMarker = function(options) {\r\n this._position = options.position;\r\n this._offset = options.offset;\r\n this._$overlayContainer = $(\"<div>\").css({\r\n position: \"absolute\",\r\n display: \"none\",\r\n cursor: \"pointer\"\r\n }).append(options.html);\r\n this.setMap(options.map)\r\n };\r\n CustomMarker.prototype = new google.maps.OverlayView;\r\n CustomMarker.prototype.onAdd = function() {\r\n var $pane = $(this.getPanes().overlayMouseTarget);\r\n $pane.append(this._$overlayContainer);\r\n this._clickListener = google.maps.event.addDomListener(this._$overlayContainer.get(0), \"click\", function(e) {\r\n google.maps.event.trigger(this, \"click\");\r\n e.preventDefault()\r\n }.bind(this));\r\n this.draw()\r\n };\r\n CustomMarker.prototype.onRemove = function() {\r\n google.maps.event.removeListener(this._clickListener);\r\n this._$overlayContainer.remove()\r\n };\r\n CustomMarker.prototype.draw = function() {\r\n var position = this.getProjection().fromLatLngToDivPixel(this._position);\r\n this._$overlayContainer.css({\r\n left: position.x + this._offset.left,\r\n top: position.y + this._offset.top,\r\n display: \"block\"\r\n })\r\n }\r\n};\r\nvar googleMapsLoaded = function() {\r\n return window.google && window.google.maps\r\n};\r\nvar googleMapsLoader;\r\nvar GoogleProvider = DynamicProvider.inherit({\r\n _mapType: function(type) {\r\n var mapTypes = {\r\n hybrid: google.maps.MapTypeId.HYBRID,\r\n roadmap: google.maps.MapTypeId.ROADMAP,\r\n satellite: google.maps.MapTypeId.SATELLITE\r\n };\r\n return mapTypes[type] || mapTypes.hybrid\r\n },\r\n _movementMode: function(type) {\r\n var movementTypes = {\r\n driving: google.maps.TravelMode.DRIVING,\r\n walking: google.maps.TravelMode.WALKING\r\n };\r\n return movementTypes[type] || movementTypes.driving\r\n },\r\n _resolveLocation: function(location) {\r\n return new Promise(function(resolve) {\r\n var latLng = this._getLatLng(location);\r\n if (latLng) {\r\n resolve(new google.maps.LatLng(latLng.lat, latLng.lng))\r\n } else {\r\n this._geocodeLocation(location).then((function(geocodedLocation) {\r\n resolve(geocodedLocation)\r\n }))\r\n }\r\n }.bind(this))\r\n },\r\n _geocodedLocations: {},\r\n _geocodeLocationImpl: function(location) {\r\n return new Promise((function(resolve) {\r\n if (!isDefined(location)) {\r\n resolve(new google.maps.LatLng(0, 0));\r\n return\r\n }\r\n var geocoder = new google.maps.Geocoder;\r\n geocoder.geocode({\r\n address: location\r\n }, (function(results, status) {\r\n if (status === google.maps.GeocoderStatus.OK) {\r\n resolve(results[0].geometry.location)\r\n } else {\r\n errors.log(\"W1006\", status);\r\n resolve(new google.maps.LatLng(0, 0))\r\n }\r\n }))\r\n }))\r\n },\r\n _normalizeLocation: function(location) {\r\n return {\r\n lat: location.lat(),\r\n lng: location.lng()\r\n }\r\n },\r\n _normalizeLocationRect: function(locationRect) {\r\n return {\r\n northEast: this._normalizeLocation(locationRect.getNorthEast()),\r\n southWest: this._normalizeLocation(locationRect.getSouthWest())\r\n }\r\n },\r\n _loadImpl: function() {\r\n return new Promise(function(resolve) {\r\n if (googleMapsLoaded()) {\r\n resolve()\r\n } else {\r\n if (!googleMapsLoader) {\r\n googleMapsLoader = this._loadMapScript()\r\n }\r\n googleMapsLoader.then(function() {\r\n if (googleMapsLoaded()) {\r\n resolve();\r\n return\r\n }\r\n this._loadMapScript().then(resolve)\r\n }.bind(this))\r\n }\r\n }.bind(this)).then((function() {\r\n initCustomMarkerClass()\r\n }))\r\n },\r\n _loadMapScript: function() {\r\n return new Promise(function(resolve) {\r\n var key = this._keyOption(\"google\");\r\n window[GOOGLE_MAP_READY] = resolve;\r\n ajax.sendRequest({\r\n url: GOOGLE_URL + (key ? \"&key=\" + key : \"\"),\r\n dataType: \"script\"\r\n })\r\n }.bind(this)).then((function() {\r\n try {\r\n delete window[GOOGLE_MAP_READY]\r\n } catch (e) {\r\n window[GOOGLE_MAP_READY] = void 0\r\n }\r\n }))\r\n },\r\n _init: function() {\r\n return new Promise(function(resolve) {\r\n this._resolveLocation(this._option(\"center\")).then(function(center) {\r\n var showDefaultUI = this._option(\"controls\");\r\n this._map = new google.maps.Map(this._$container[0], {\r\n zoom: this._option(\"zoom\"),\r\n center: center,\r\n disableDefaultUI: !showDefaultUI\r\n });\r\n var listener = google.maps.event.addListener(this._map, \"idle\", (function() {\r\n resolve(listener)\r\n }))\r\n }.bind(this))\r\n }.bind(this)).then((function(listener) {\r\n google.maps.event.removeListener(listener)\r\n }))\r\n },\r\n _attachHandlers: function() {\r\n this._boundsChangeListener = google.maps.event.addListener(this._map, \"bounds_changed\", this._boundsChangeHandler.bind(this));\r\n this._clickListener = google.maps.event.addListener(this._map, \"click\", this._clickActionHandler.bind(this))\r\n },\r\n _boundsChangeHandler: function() {\r\n var bounds = this._map.getBounds();\r\n this._option(\"bounds\", this._normalizeLocationRect(bounds));\r\n var center = this._map.getCenter();\r\n this._option(\"center\", this._normalizeLocation(center));\r\n if (!this._preventZoomChangeEvent) {\r\n this._option(\"zoom\", this._map.getZoom())\r\n }\r\n },\r\n _clickActionHandler: function(e) {\r\n this._fireClickAction({\r\n location: this._normalizeLocation(e.latLng)\r\n })\r\n },\r\n updateDimensions: function() {\r\n var center = this._option(\"center\");\r\n google.maps.event.trigger(this._map, \"resize\");\r\n this._option(\"center\", center);\r\n return this.updateCenter()\r\n },\r\n updateMapType: function() {\r\n this._map.setMapTypeId(this._mapType(this._option(\"type\")));\r\n return Promise.resolve()\r\n },\r\n updateBounds: function() {\r\n return Promise.all([this._resolveLocation(this._option(\"bounds.northEast\")), this._resolveLocation(this._option(\"bounds.southWest\"))]).then(function(result) {\r\n var bounds = new google.maps.LatLngBounds;\r\n bounds.extend(result[0]);\r\n bounds.extend(result[1]);\r\n this._map.fitBounds(bounds)\r\n }.bind(this))\r\n },\r\n updateCenter: function() {\r\n return this._resolveLocation(this._option(\"center\")).then(function(center) {\r\n this._map.setCenter(center);\r\n this._option(\"center\", this._normalizeLocation(center))\r\n }.bind(this))\r\n },\r\n updateZoom: function() {\r\n this._map.setZoom(this._option(\"zoom\"));\r\n return Promise.resolve()\r\n },\r\n updateControls: function() {\r\n var showDefaultUI = this._option(\"controls\");\r\n this._map.setOptions({\r\n disableDefaultUI: !showDefaultUI\r\n });\r\n return Promise.resolve()\r\n },\r\n isEventsCanceled: function(e) {\r\n var gestureHandling = this._map && this._map.get(\"gestureHandling\");\r\n var isInfoWindowContent = $(e.target).closest(\".\".concat(INFO_WINDOW_CLASS)).length > 0;\r\n if (isInfoWindowContent || \"desktop\" !== devices.real().deviceType && \"cooperative\" === gestureHandling) {\r\n return false\r\n }\r\n return this.callBase()\r\n },\r\n _renderMarker: function(options) {\r\n return this._resolveLocation(options.location).then(function(location) {\r\n var marker;\r\n if (options.html) {\r\n marker = new CustomMarker({\r\n map: this._map,\r\n position: location,\r\n html: options.html,\r\n offset: extend({\r\n top: 0,\r\n left: 0\r\n }, options.htmlOffset)\r\n })\r\n } else {\r\n marker = new google.maps.Marker({\r\n position: location,\r\n map: this._map,\r\n icon: options.iconSrc || this._option(\"markerIconSrc\")\r\n })\r\n }\r\n var infoWindow = this._renderTooltip(marker, options.tooltip);\r\n var listener;\r\n if (options.onClick || options.tooltip) {\r\n var markerClickAction = this._mapWidget._createAction(options.onClick || noop);\r\n var markerNormalizedLocation = this._normalizeLocation(location);\r\n listener = google.maps.event.addListener(marker, \"click\", function() {\r\n markerClickAction({\r\n location: markerNormalizedLocation\r\n });\r\n if (infoWindow) {\r\n infoWindow.open(this._map, marker)\r\n }\r\n }.bind(this))\r\n }\r\n return {\r\n location: location,\r\n marker: marker,\r\n listener: listener\r\n }\r\n }.bind(this))\r\n },\r\n _renderTooltip: function(marker, options) {\r\n if (!options) {\r\n return\r\n }\r\n options = this._parseTooltipOptions(options);\r\n var infoWindow = new google.maps.InfoWindow({\r\n content: options.text\r\n });\r\n if (options.visible) {\r\n infoWindow.open(this._map, marker)\r\n }\r\n return infoWindow\r\n },\r\n _destroyMarker: function(marker) {\r\n marker.marker.setMap(null);\r\n if (marker.listener) {\r\n google.maps.event.removeListener(marker.listener)\r\n }\r\n },\r\n _renderRoute: function(options) {\r\n return Promise.all(map(options.locations, function(point) {\r\n return this._resolveLocation(point)\r\n }.bind(this))).then(function(locations) {\r\n return new Promise(function(resolve) {\r\n var origin = locations.shift();\r\n var destination = locations.pop();\r\n var waypoints = map(locations, (function(location) {\r\n return {\r\n location: location,\r\n stopover: true\r\n }\r\n }));\r\n var request = {\r\n origin: origin,\r\n destination: destination,\r\n waypoints: waypoints,\r\n optimizeWaypoints: true,\r\n travelMode: this._movementMode(options.mode)\r\n };\r\n (new google.maps.DirectionsService).route(request, function(response, status) {\r\n if (status === google.maps.DirectionsStatus.OK) {\r\n var color = new Color(options.color || this._defaultRouteColor()).toHex();\r\n var directionOptions = {\r\n directions: response,\r\n map: this._map,\r\n suppressMarkers: true,\r\n preserveViewport: true,\r\n polylineOptions: {\r\n strokeWeight: options.weight || this._defaultRouteWeight(),\r\n strokeOpacity: options.opacity || this._defaultRouteOpacity(),\r\n strokeColor: color\r\n }\r\n };\r\n var route = new google.maps.DirectionsRenderer(directionOptions);\r\n var bounds = response.routes[0].bounds;\r\n resolve({\r\n instance: route,\r\n northEast: bounds.getNorthEast(),\r\n southWest: bounds.getSouthWest()\r\n })\r\n } else {\r\n errors.log(\"W1006\", status);\r\n resolve({\r\n instance: new google.maps.DirectionsRenderer({})\r\n })\r\n }\r\n }.bind(this))\r\n }.bind(this))\r\n }.bind(this))\r\n },\r\n _destroyRoute: function(routeObject) {\r\n routeObject.instance.setMap(null)\r\n },\r\n _fitBounds: function() {\r\n this._updateBounds();\r\n if (this._bounds && this._option(\"autoAdjust\")) {\r\n var zoomBeforeFitting = this._map.getZoom();\r\n this._preventZoomChangeEvent = true;\r\n this._map.fitBounds(this._bounds);\r\n this._boundsChangeHandler();\r\n var zoomAfterFitting = this._map.getZoom();\r\n if (zoomBeforeFitting < zoomAfterFitting) {\r\n this._map.setZoom(zoomBeforeFitting)\r\n } else {\r\n this._option(\"zoom\", zoomAfterFitting)\r\n }\r\n delete this._preventZoomChangeEvent\r\n }\r\n return Promise.resolve()\r\n },\r\n _extendBounds: function(location) {\r\n if (this._bounds) {\r\n this._bounds.extend(location)\r\n } else {\r\n this._bounds = new google.maps.LatLngBounds;\r\n this._bounds.extend(location)\r\n }\r\n },\r\n clean: function() {\r\n if (this._map) {\r\n google.maps.event.removeListener(this._boundsChangeListener);\r\n google.maps.event.removeListener(this._clickListener);\r\n this._clearMarkers();\r\n this._clearRoutes();\r\n delete this._map;\r\n this._$container.empty()\r\n }\r\n return Promise.resolve()\r\n }\r\n});\r\nexport default GoogleProvider;\r\n","/**\r\n * DevExtreme (esm/ui/map/provider.dynamic.bing.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport {\r\n map,\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport DynamicProvider from \"./provider.dynamic\";\r\nimport Color from \"../../color\";\r\nimport ajax from \"../../core/utils/ajax\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nvar BING_MAP_READY = \"_bingScriptReady\";\r\nvar BING_URL_V8 = \"https://www.bing.com/api/maps/mapcontrol?callback=\" + BING_MAP_READY;\r\nvar INFOBOX_V_OFFSET_V8 = 13;\r\nvar BING_CREDENTIALS = \"AhuxC0dQ1DBTNo8L-H9ToVMQStmizZzBJdraTSgCzDSWPsA1Qd8uIvFSflzxdaLH\";\r\nvar MIN_LOCATION_RECT_LENGTH = 1e-16;\r\nvar msMapsLoaded = function() {\r\n return window.Microsoft && window.Microsoft.Maps\r\n};\r\nvar msMapsLoader;\r\nvar BingProvider = DynamicProvider.inherit({\r\n _mapType: function(type) {\r\n var mapTypes = {\r\n roadmap: Microsoft.Maps.MapTypeId.road,\r\n hybrid: Microsoft.Maps.MapTypeId.aerial,\r\n satellite: Microsoft.Maps.MapTypeId.aerial\r\n };\r\n return mapTypes[type] || mapTypes.road\r\n },\r\n _movementMode: function(type) {\r\n var movementTypes = {\r\n driving: Microsoft.Maps.Directions.RouteMode.driving,\r\n walking: Microsoft.Maps.Directions.RouteMode.walking\r\n };\r\n return movementTypes[type] || movementTypes.driving\r\n },\r\n _resolveLocation: function(location) {\r\n return new Promise(function(resolve) {\r\n var latLng = this._getLatLng(location);\r\n if (latLng) {\r\n resolve(new Microsoft.Maps.Location(latLng.lat, latLng.lng))\r\n } else {\r\n this._geocodeLocation(location).then((function(geocodedLocation) {\r\n resolve(geocodedLocation)\r\n }))\r\n }\r\n }.bind(this))\r\n },\r\n _geocodedLocations: {},\r\n _geocodeLocationImpl: function(location) {\r\n return new Promise(function(resolve) {\r\n if (!isDefined(location)) {\r\n resolve(new Microsoft.Maps.Location(0, 0));\r\n return\r\n }\r\n var searchManager = new Microsoft.Maps.Search.SearchManager(this._map);\r\n var searchRequest = {\r\n where: location,\r\n count: 1,\r\n callback: function(searchResponse) {\r\n var result = searchResponse.results[0];\r\n if (result) {\r\n var boundsBox = searchResponse.results[0].location;\r\n resolve(new Microsoft.Maps.Location(boundsBox.latitude, boundsBox.longitude))\r\n } else {\r\n resolve(new Microsoft.Maps.Location(0, 0))\r\n }\r\n }\r\n };\r\n searchManager.geocode(searchRequest)\r\n }.bind(this))\r\n },\r\n _normalizeLocation: function(location) {\r\n return {\r\n lat: location.latitude,\r\n lng: location.longitude\r\n }\r\n },\r\n _normalizeLocationRect: function(locationRect) {\r\n var northWest = this._normalizeLocation(locationRect.getNorthwest());\r\n var southEast = this._normalizeLocation(locationRect.getSoutheast());\r\n return {\r\n northEast: {\r\n lat: northWest.lat,\r\n lng: southEast.lng\r\n },\r\n southWest: {\r\n lat: southEast.lat,\r\n lng: northWest.lng\r\n }\r\n }\r\n },\r\n _loadImpl: function() {\r\n return new Promise(function(resolve) {\r\n if (msMapsLoaded()) {\r\n resolve()\r\n } else {\r\n if (!msMapsLoader) {\r\n msMapsLoader = this._loadMapScript()\r\n }\r\n msMapsLoader.then(function() {\r\n if (msMapsLoaded()) {\r\n resolve();\r\n return\r\n }\r\n this._loadMapScript().then(resolve)\r\n }.bind(this))\r\n }\r\n }.bind(this)).then((function() {\r\n return Promise.all([new Promise((function(resolve) {\r\n Microsoft.Maps.loadModule(\"Microsoft.Maps.Search\", {\r\n callback: resolve\r\n })\r\n })), new Promise((function(resolve) {\r\n Microsoft.Maps.loadModule(\"Microsoft.Maps.Directions\", {\r\n callback: resolve\r\n })\r\n }))])\r\n }))\r\n },\r\n _loadMapScript: function() {\r\n return new Promise((function(resolve) {\r\n window[BING_MAP_READY] = resolve;\r\n ajax.sendRequest({\r\n url: BING_URL_V8,\r\n dataType: \"script\"\r\n })\r\n })).then((function() {\r\n try {\r\n delete window[BING_MAP_READY]\r\n } catch (e) {\r\n window[BING_MAP_READY] = void 0\r\n }\r\n }))\r\n },\r\n _init: function() {\r\n this._createMap();\r\n return Promise.resolve()\r\n },\r\n _createMap: function() {\r\n var controls = this._option(\"controls\");\r\n this._map = new Microsoft.Maps.Map(this._$container[0], {\r\n credentials: this._keyOption(\"bing\") || BING_CREDENTIALS,\r\n zoom: this._option(\"zoom\"),\r\n showDashboard: controls,\r\n showMapTypeSelector: controls,\r\n showScalebar: controls\r\n })\r\n },\r\n _attachHandlers: function() {\r\n this._providerViewChangeHandler = Microsoft.Maps.Events.addHandler(this._map, \"viewchange\", this._viewChangeHandler.bind(this));\r\n this._providerClickHandler = Microsoft.Maps.Events.addHandler(this._map, \"click\", this._clickActionHandler.bind(this))\r\n },\r\n _viewChangeHandler: function() {\r\n var bounds = this._map.getBounds();\r\n this._option(\"bounds\", this._normalizeLocationRect(bounds));\r\n var center = this._map.getCenter();\r\n this._option(\"center\", this._normalizeLocation(center));\r\n if (!this._preventZoomChangeEvent) {\r\n this._option(\"zoom\", this._map.getZoom())\r\n }\r\n },\r\n _clickActionHandler: function(e) {\r\n if (\"map\" === e.targetType) {\r\n this._fireClickAction({\r\n location: this._normalizeLocation(e.location)\r\n })\r\n }\r\n },\r\n updateDimensions: function() {\r\n var $container = this._$container;\r\n this._map.setOptions({\r\n width: getWidth($container),\r\n height: getHeight($container)\r\n });\r\n return Promise.resolve()\r\n },\r\n updateMapType: function() {\r\n var type = this._option(\"type\");\r\n var labelOverlay = Microsoft.Maps.LabelOverlay;\r\n this._map.setView({\r\n animate: false,\r\n mapTypeId: this._mapType(type),\r\n labelOverlay: \"satellite\" === type ? labelOverlay.hidden : labelOverlay.visible\r\n });\r\n return Promise.resolve()\r\n },\r\n updateBounds: function() {\r\n return Promise.all([this._resolveLocation(this._option(\"bounds.northEast\")), this._resolveLocation(this._option(\"bounds.southWest\"))]).then(function(result) {\r\n var bounds = new Microsoft.Maps.LocationRect.fromLocations(result[0], result[1]);\r\n this._map.setView({\r\n animate: false,\r\n bounds: bounds\r\n })\r\n }.bind(this))\r\n },\r\n updateCenter: function() {\r\n return this._resolveLocation(this._option(\"center\")).then(function(center) {\r\n this._map.setView({\r\n animate: false,\r\n center: center\r\n })\r\n }.bind(this))\r\n },\r\n updateZoom: function() {\r\n this._map.setView({\r\n animate: false,\r\n zoom: this._option(\"zoom\")\r\n });\r\n return Promise.resolve()\r\n },\r\n updateControls: function() {\r\n this.clean();\r\n return this.render.apply(this, arguments)\r\n },\r\n _renderMarker: function(options) {\r\n return this._resolveLocation(options.location).then(function(location) {\r\n var pushpinOptions = {\r\n icon: options.iconSrc || this._option(\"markerIconSrc\")\r\n };\r\n if (options.html) {\r\n extend(pushpinOptions, {\r\n htmlContent: options.html,\r\n width: null,\r\n height: null\r\n });\r\n var htmlOffset = options.htmlOffset;\r\n if (htmlOffset) {\r\n pushpinOptions.anchor = new Microsoft.Maps.Point(-htmlOffset.left, -htmlOffset.top)\r\n }\r\n }\r\n var pushpin = new Microsoft.Maps.Pushpin(location, pushpinOptions);\r\n this._map.entities.push(pushpin);\r\n var infobox = this._renderTooltip(location, options.tooltip);\r\n var handler;\r\n if (options.onClick || options.tooltip) {\r\n var markerClickAction = this._mapWidget._createAction(options.onClick || noop);\r\n var markerNormalizedLocation = this._normalizeLocation(location);\r\n handler = Microsoft.Maps.Events.addHandler(pushpin, \"click\", (function() {\r\n markerClickAction({\r\n location: markerNormalizedLocation\r\n });\r\n if (infobox) {\r\n infobox.setOptions({\r\n visible: true\r\n })\r\n }\r\n }))\r\n }\r\n return {\r\n location: location,\r\n marker: pushpin,\r\n infobox: infobox,\r\n handler: handler\r\n }\r\n }.bind(this))\r\n },\r\n _renderTooltip: function(location, options) {\r\n if (!options) {\r\n return\r\n }\r\n options = this._parseTooltipOptions(options);\r\n var infobox = new Microsoft.Maps.Infobox(location, {\r\n description: options.text,\r\n offset: new Microsoft.Maps.Point(0, INFOBOX_V_OFFSET_V8),\r\n visible: options.visible\r\n });\r\n infobox.setMap(this._map);\r\n return infobox\r\n },\r\n _destroyMarker: function(marker) {\r\n this._map.entities.remove(marker.marker);\r\n if (marker.infobox) {\r\n marker.infobox.setMap(null)\r\n }\r\n if (marker.handler) {\r\n Microsoft.Maps.Events.removeHandler(marker.handler)\r\n }\r\n },\r\n _renderRoute: function(options) {\r\n return Promise.all(map(options.locations, function(point) {\r\n return this._resolveLocation(point)\r\n }.bind(this))).then(function(locations) {\r\n return new Promise(function(resolve) {\r\n var direction = new Microsoft.Maps.Directions.DirectionsManager(this._map);\r\n var color = new Color(options.color || this._defaultRouteColor()).toHex();\r\n var routeColor = new Microsoft.Maps.Color.fromHex(color);\r\n routeColor.a = 255 * (options.opacity || this._defaultRouteOpacity());\r\n direction.setRenderOptions({\r\n autoUpdateMapView: false,\r\n displayRouteSelector: false,\r\n waypointPushpinOptions: {\r\n visible: false\r\n },\r\n drivingPolylineOptions: {\r\n strokeColor: routeColor,\r\n strokeThickness: options.weight || this._defaultRouteWeight()\r\n },\r\n walkingPolylineOptions: {\r\n strokeColor: routeColor,\r\n strokeThickness: options.weight || this._defaultRouteWeight()\r\n }\r\n });\r\n direction.setRequestOptions({\r\n routeMode: this._movementMode(options.mode),\r\n routeDraggable: false\r\n });\r\n each(locations, (function(_, location) {\r\n var waypoint = new Microsoft.Maps.Directions.Waypoint({\r\n location: location\r\n });\r\n direction.addWaypoint(waypoint)\r\n }));\r\n var directionHandlers = [];\r\n directionHandlers.push(Microsoft.Maps.Events.addHandler(direction, \"directionsUpdated\", (function(args) {\r\n while (directionHandlers.length) {\r\n Microsoft.Maps.Events.removeHandler(directionHandlers.pop())\r\n }\r\n var routeSummary = args.routeSummary[0];\r\n resolve({\r\n instance: direction,\r\n northEast: routeSummary.northEast,\r\n southWest: routeSummary.southWest\r\n })\r\n })));\r\n directionHandlers.push(Microsoft.Maps.Events.addHandler(direction, \"directionsError\", (function(args) {\r\n while (directionHandlers.length) {\r\n Microsoft.Maps.Events.removeHandler(directionHandlers.pop())\r\n }\r\n var status = \"RouteResponseCode: \" + args.responseCode + \" - \" + args.message;\r\n errors.log(\"W1006\", status);\r\n resolve({\r\n instance: direction\r\n })\r\n })));\r\n direction.calculateDirections()\r\n }.bind(this))\r\n }.bind(this))\r\n },\r\n _destroyRoute: function(routeObject) {\r\n routeObject.instance.dispose()\r\n },\r\n _fitBounds: function() {\r\n this._updateBounds();\r\n if (this._bounds && this._option(\"autoAdjust\")) {\r\n var zoomBeforeFitting = this._map.getZoom();\r\n this._preventZoomChangeEvent = true;\r\n var bounds = this._bounds.clone();\r\n bounds.height = 1.1 * bounds.height;\r\n bounds.width = 1.1 * bounds.width;\r\n this._map.setView({\r\n animate: false,\r\n bounds: bounds,\r\n zoom: zoomBeforeFitting\r\n });\r\n var zoomAfterFitting = this._map.getZoom();\r\n if (zoomBeforeFitting < zoomAfterFitting) {\r\n this._map.setView({\r\n animate: false,\r\n zoom: zoomBeforeFitting\r\n })\r\n } else {\r\n this._option(\"zoom\", zoomAfterFitting)\r\n }\r\n delete this._preventZoomChangeEvent\r\n }\r\n return Promise.resolve()\r\n },\r\n _extendBounds: function(location) {\r\n if (this._bounds) {\r\n this._bounds = new Microsoft.Maps.LocationRect.fromLocations(this._bounds.getNorthwest(), this._bounds.getSoutheast(), location)\r\n } else {\r\n this._bounds = new Microsoft.Maps.LocationRect(location, MIN_LOCATION_RECT_LENGTH, MIN_LOCATION_RECT_LENGTH)\r\n }\r\n },\r\n clean: function() {\r\n if (this._map) {\r\n Microsoft.Maps.Events.removeHandler(this._providerViewChangeHandler);\r\n Microsoft.Maps.Events.removeHandler(this._providerClickHandler);\r\n this._clearMarkers();\r\n this._clearRoutes();\r\n this._map.dispose()\r\n }\r\n return Promise.resolve()\r\n }\r\n});\r\nexport default BingProvider;\r\n","/**\r\n * DevExtreme (esm/ui/map.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n fromPromise\r\n} from \"../core/utils/deferred\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport errors from \"./widget/ui.errors\";\r\nimport devices from \"../core/devices\";\r\nimport Widget from \"./widget/ui.widget\";\r\nimport {\r\n titleize\r\n} from \"../core/utils/inflector\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n wrapToArray\r\n} from \"../core/utils/array\";\r\nimport {\r\n isNumeric\r\n} from \"../core/utils/type\";\r\nimport {\r\n addNamespace\r\n} from \"../events/utils/index\";\r\nimport pointerEvents from \"../events/pointer\";\r\nimport googleStatic from \"./map/provider.google_static\";\r\nimport google from \"./map/provider.dynamic.google\";\r\nimport bing from \"./map/provider.dynamic.bing\";\r\nvar PROVIDERS = {\r\n googleStatic: googleStatic,\r\n google: google,\r\n bing: bing\r\n};\r\nvar MAP_CLASS = \"dx-map\";\r\nvar MAP_CONTAINER_CLASS = \"dx-map-container\";\r\nvar MAP_SHIELD_CLASS = \"dx-map-shield\";\r\nvar Map = Widget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n bounds: {\r\n northEast: null,\r\n southWest: null\r\n },\r\n center: {\r\n lat: 0,\r\n lng: 0\r\n },\r\n zoom: 1,\r\n width: 300,\r\n height: 300,\r\n type: \"roadmap\",\r\n provider: \"google\",\r\n autoAdjust: true,\r\n markers: [],\r\n markerIconSrc: null,\r\n onMarkerAdded: null,\r\n onMarkerRemoved: null,\r\n routes: [],\r\n onRouteAdded: null,\r\n onRouteRemoved: null,\r\n apiKey: {\r\n bing: \"\",\r\n google: \"\",\r\n googleStatic: \"\"\r\n },\r\n controls: false,\r\n onReady: null,\r\n onUpdated: null,\r\n onClick: null\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.$element().addClass(MAP_CLASS);\r\n this._lastAsyncAction = Promise.resolve();\r\n this._checkOption(\"provider\");\r\n this._checkOption(\"markers\");\r\n this._checkOption(\"routes\");\r\n this._initContainer();\r\n this._grabEvents();\r\n this._rendered = {}\r\n },\r\n _useTemplates: function() {\r\n return false\r\n },\r\n _checkOption: function(option) {\r\n var value = this.option(option);\r\n if (\"markers\" === option && !Array.isArray(value)) {\r\n throw errors.Error(\"E1022\")\r\n }\r\n if (\"routes\" === option && !Array.isArray(value)) {\r\n throw errors.Error(\"E1023\")\r\n }\r\n },\r\n _initContainer: function() {\r\n this._$container = $(\"<div>\").addClass(MAP_CONTAINER_CLASS);\r\n this.$element().append(this._$container)\r\n },\r\n _grabEvents: function() {\r\n var eventName = addNamespace(pointerEvents.down, this.NAME);\r\n eventsEngine.on(this.$element(), eventName, this._cancelEvent.bind(this))\r\n },\r\n _cancelEvent: function(e) {\r\n var cancelByProvider = this._provider && this._provider.isEventsCanceled(e) && !this.option(\"disabled\");\r\n if (cancelByProvider) {\r\n e.stopPropagation()\r\n }\r\n },\r\n _saveRendered: function(option) {\r\n var value = this.option(option);\r\n this._rendered[option] = value.slice()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderShield();\r\n this._saveRendered(\"markers\");\r\n this._saveRendered(\"routes\");\r\n this._provider = new(PROVIDERS[this.option(\"provider\")])(this, this._$container);\r\n this._queueAsyncAction(\"render\", this._rendered.markers, this._rendered.routes)\r\n },\r\n _renderShield: function() {\r\n var $shield;\r\n if (this.option(\"disabled\")) {\r\n $shield = $(\"<div>\").addClass(MAP_SHIELD_CLASS);\r\n this.$element().append($shield)\r\n } else {\r\n $shield = this.$element().find(\".\" + MAP_SHIELD_CLASS);\r\n $shield.remove()\r\n }\r\n },\r\n _clean: function() {\r\n this._cleanFocusState();\r\n if (this._provider) {\r\n this._provider.clean()\r\n }\r\n this._provider = null;\r\n this._lastAsyncAction = Promise.resolve();\r\n this.setOptionSilent(\"bounds\", {\r\n northEast: null,\r\n southWest: null\r\n });\r\n delete this._suppressAsyncAction\r\n },\r\n _optionChanged: function(args) {\r\n var name = args.name;\r\n var changeBag = this._optionChangeBag;\r\n this._optionChangeBag = null;\r\n switch (name) {\r\n case \"disabled\":\r\n this._renderShield();\r\n this.callBase(args);\r\n break;\r\n case \"width\":\r\n case \"height\":\r\n this.callBase(args);\r\n this._dimensionChanged();\r\n break;\r\n case \"provider\":\r\n this._suppressAsyncAction = true;\r\n this._invalidate();\r\n break;\r\n case \"apiKey\":\r\n errors.log(\"W1001\");\r\n break;\r\n case \"bounds\":\r\n this._queueAsyncAction(\"updateBounds\");\r\n break;\r\n case \"center\":\r\n this._queueAsyncAction(\"updateCenter\");\r\n break;\r\n case \"zoom\":\r\n this._queueAsyncAction(\"updateZoom\");\r\n break;\r\n case \"type\":\r\n this._queueAsyncAction(\"updateMapType\");\r\n break;\r\n case \"controls\":\r\n this._queueAsyncAction(\"updateControls\", this._rendered.markers, this._rendered.routes);\r\n break;\r\n case \"autoAdjust\":\r\n this._queueAsyncAction(\"adjustViewport\");\r\n break;\r\n case \"markers\":\r\n case \"routes\":\r\n this._checkOption(name);\r\n var prevValue = this._rendered[name];\r\n this._saveRendered(name);\r\n this._queueAsyncAction(\"update\" + titleize(name), changeBag ? changeBag.removed : prevValue, changeBag ? changeBag.added : this._rendered[name]).then((function(result) {\r\n if (changeBag) {\r\n changeBag.resolve(result)\r\n }\r\n }));\r\n break;\r\n case \"markerIconSrc\":\r\n this._queueAsyncAction(\"updateMarkers\", this._rendered.markers, this._rendered.markers);\r\n break;\r\n case \"onReady\":\r\n case \"onUpdated\":\r\n case \"onMarkerAdded\":\r\n case \"onMarkerRemoved\":\r\n case \"onRouteAdded\":\r\n case \"onRouteRemoved\":\r\n case \"onClick\":\r\n break;\r\n default:\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this._dimensionChanged()\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n this._queueAsyncAction(\"updateDimensions\")\r\n },\r\n _queueAsyncAction: function(name) {\r\n var options = [].slice.call(arguments).slice(1);\r\n var isActionSuppressed = this._suppressAsyncAction;\r\n this._lastAsyncAction = this._lastAsyncAction.then(function() {\r\n if (!this._provider || isActionSuppressed) {\r\n return Promise.resolve()\r\n }\r\n return this._provider[name].apply(this._provider, options).then(function(result) {\r\n result = wrapToArray(result);\r\n var mapRefreshed = result[0];\r\n if (mapRefreshed && !this._disposed) {\r\n this._triggerReadyAction()\r\n }\r\n return result[1]\r\n }.bind(this))\r\n }.bind(this));\r\n return this._lastAsyncAction\r\n },\r\n _triggerReadyAction: function() {\r\n this._createActionByOption(\"onReady\")({\r\n originalMap: this._provider.map()\r\n })\r\n },\r\n _triggerUpdateAction: function() {\r\n this._createActionByOption(\"onUpdated\")()\r\n },\r\n setOptionSilent: function(name, value) {\r\n this._setOptionWithoutOptionChange(name, value)\r\n },\r\n addMarker: function(marker) {\r\n return this._addFunction(\"markers\", marker)\r\n },\r\n removeMarker: function(marker) {\r\n return this._removeFunction(\"markers\", marker)\r\n },\r\n addRoute: function(route) {\r\n return this._addFunction(\"routes\", route)\r\n },\r\n removeRoute: function(route) {\r\n return this._removeFunction(\"routes\", route)\r\n },\r\n _addFunction: function(optionName, addingValue) {\r\n var optionValue = this.option(optionName);\r\n var addingValues = wrapToArray(addingValue);\r\n optionValue.push.apply(optionValue, addingValues);\r\n return this._partialArrayOptionChange(optionName, optionValue, addingValues, [])\r\n },\r\n _removeFunction: function(optionName, removingValue) {\r\n var optionValue = this.option(optionName);\r\n var removingValues = wrapToArray(removingValue);\r\n each(removingValues, (function(removingIndex, removingValue) {\r\n var index = isNumeric(removingValue) ? removingValue : null === optionValue || void 0 === optionValue ? void 0 : optionValue.indexOf(removingValue);\r\n if (-1 !== index) {\r\n var removing = optionValue.splice(index, 1)[0];\r\n removingValues.splice(removingIndex, 1, removing)\r\n } else {\r\n throw errors.log(\"E1021\", titleize(optionName.substring(0, optionName.length - 1)), removingValue)\r\n }\r\n }));\r\n return this._partialArrayOptionChange(optionName, optionValue, [], removingValues)\r\n },\r\n _partialArrayOptionChange: function(optionName, optionValue, addingValues, removingValues) {\r\n return fromPromise(new Promise(function(resolve) {\r\n this._optionChangeBag = {\r\n resolve: resolve,\r\n added: addingValues,\r\n removed: removingValues\r\n };\r\n this.option(optionName, optionValue)\r\n }.bind(this)).then((function(result) {\r\n return result && 1 === result.length ? result[0] : result\r\n })), this)\r\n }\r\n});\r\nregisterComponent(\"dxMap\", Map);\r\nexport default Map;\r\n","/**\r\n * DevExtreme (esm/ui/menu.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Menu from \"./menu/ui.menu\";\r\nexport default Menu;\r\n","/**\r\n * DevExtreme (esm/ui/menu/ui.submenu.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getHeight,\r\n setWidth,\r\n setHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport animationPosition from \"../../animation/position\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport ContextMenu from \"../context_menu\";\r\nvar DX_CONTEXT_MENU_CONTENT_DELIMITER_CLASS = \"dx-context-menu-content-delimiter\";\r\nvar DX_SUBMENU_CLASS = \"dx-submenu\";\r\nclass Submenu extends ContextMenu {\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n orientation: \"horizontal\",\r\n tabIndex: null,\r\n onHoverStart: noop\r\n })\r\n }\r\n _initDataAdapter() {\r\n this._dataAdapter = this.option(\"_dataAdapter\");\r\n if (!this._dataAdapter) {\r\n super._initDataAdapter()\r\n }\r\n }\r\n _renderContentImpl() {\r\n this._renderContextMenuOverlay();\r\n super._renderContentImpl();\r\n var node = this._dataAdapter.getNodeByKey(this.option(\"_parentKey\"));\r\n node && this._renderItems(this._getChildNodes(node));\r\n this._renderDelimiter()\r\n }\r\n _renderDelimiter() {\r\n this.$contentDelimiter = $(\"<div>\").appendTo(this._itemContainer()).addClass(DX_CONTEXT_MENU_CONTENT_DELIMITER_CLASS)\r\n }\r\n _getOverlayOptions() {\r\n return extend(true, super._getOverlayOptions(), {\r\n onPositioned: this._overlayPositionedActionHandler.bind(this),\r\n position: {\r\n precise: true\r\n }\r\n })\r\n }\r\n _overlayPositionedActionHandler(arg) {\r\n this._showDelimiter(arg)\r\n }\r\n _hoverEndHandler(e) {\r\n super._hoverEndHandler(e);\r\n this._toggleFocusClass(false, e.currentTarget)\r\n }\r\n _isMenuHorizontal() {\r\n return \"horizontal\" === this.option(\"orientation\")\r\n }\r\n _hoverStartHandler(e) {\r\n var hoverStartAction = this.option(\"onHoverStart\");\r\n hoverStartAction(e);\r\n super._hoverStartHandler(e);\r\n this._toggleFocusClass(true, e.currentTarget)\r\n }\r\n _drawSubmenu($rootItem) {\r\n this._actions.onShowing({\r\n rootItem: getPublicElement($rootItem),\r\n submenu: this\r\n });\r\n super._drawSubmenu($rootItem);\r\n this._actions.onShown({\r\n rootItem: getPublicElement($rootItem),\r\n submenu: this\r\n })\r\n }\r\n _hideSubmenu($rootItem) {\r\n this._actions.onHiding({\r\n cancel: true,\r\n rootItem: getPublicElement($rootItem),\r\n submenu: this\r\n });\r\n super._hideSubmenu($rootItem);\r\n this._actions.onHidden({\r\n rootItem: getPublicElement($rootItem),\r\n submenu: this\r\n })\r\n }\r\n _showDelimiter(arg) {\r\n if (!this.$contentDelimiter) {\r\n return\r\n }\r\n var $submenu = this._itemContainer().children(\".\".concat(DX_SUBMENU_CLASS)).eq(0);\r\n var $rootItem = this.option(\"position\").of.find(\".dx-context-menu-container-border\");\r\n var position = {\r\n of: $submenu,\r\n precise: true\r\n };\r\n var containerOffset = arg.position;\r\n var vLocation = containerOffset.v.location;\r\n var hLocation = containerOffset.h.location;\r\n var rootOffset = $rootItem.offset();\r\n var offsetLeft = Math.round(rootOffset.left);\r\n var offsetTop = Math.round(rootOffset.top);\r\n var rootWidth = getWidth($rootItem);\r\n var rootHeight = getHeight($rootItem);\r\n var submenuWidth = getWidth($submenu);\r\n var submenuHeight = getHeight($submenu);\r\n this.$contentDelimiter.css(\"display\", \"block\");\r\n setWidth(this.$contentDelimiter, this._isMenuHorizontal() ? rootWidth < submenuWidth ? rootWidth : submenuWidth : 3);\r\n setHeight(this.$contentDelimiter, this._isMenuHorizontal() ? 3 : rootHeight < submenuHeight ? rootHeight : submenuHeight);\r\n if (this._isMenuHorizontal()) {\r\n if (vLocation > offsetTop) {\r\n if (Math.round(hLocation) === offsetLeft) {\r\n position.offset = \"0 -2.5\";\r\n position.at = position.my = \"left top\"\r\n } else {\r\n position.offset = \"0 -2.5\";\r\n position.at = position.my = \"right top\"\r\n }\r\n } else {\r\n setHeight(this.$contentDelimiter, 5);\r\n if (Math.round(hLocation) === offsetLeft) {\r\n position.offset = \"0 5\";\r\n position.at = position.my = \"left bottom\"\r\n } else {\r\n position.offset = \"0 5\";\r\n position.at = position.my = \"right bottom\"\r\n }\r\n }\r\n } else if (hLocation > offsetLeft) {\r\n if (Math.round(vLocation) === offsetTop) {\r\n position.offset = \"-2.5 0\";\r\n position.at = position.my = \"left top\"\r\n } else {\r\n position.offset = \"-2.5 0\";\r\n position.at = position.my = \"left bottom\"\r\n }\r\n } else if (Math.round(vLocation) === offsetTop) {\r\n position.offset = \"2.5 0\";\r\n position.at = position.my = \"right top\"\r\n } else {\r\n position.offset = \"2.5 0\";\r\n position.at = position.my = \"right bottom\"\r\n }\r\n animationPosition.setup(this.$contentDelimiter, position)\r\n }\r\n _getContextMenuPosition() {\r\n return this.option(\"position\")\r\n }\r\n isOverlayVisible() {\r\n return this._overlay.option(\"visible\")\r\n }\r\n getOverlayContent() {\r\n return this._overlay.$content()\r\n }\r\n}\r\nexport default Submenu;\r\n","/**\r\n * DevExtreme (esm/ui/menu/ui.menu.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n isPlainObject,\r\n isObject,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n getElementMaxHeightByWindow\r\n} from \"../overlay/utils\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport {\r\n end as hoverEventEnd\r\n} from \"../../events/hover\";\r\nimport MenuBase from \"../context_menu/ui.menu_base\";\r\nimport Overlay from \"../overlay/ui.overlay\";\r\nimport Submenu from \"./ui.submenu\";\r\nimport Button from \"../button\";\r\nimport TreeView from \"../tree_view\";\r\nvar DX_MENU_CLASS = \"dx-menu\";\r\nvar DX_MENU_VERTICAL_CLASS = DX_MENU_CLASS + \"-vertical\";\r\nvar DX_MENU_HORIZONTAL_CLASS = DX_MENU_CLASS + \"-horizontal\";\r\nvar DX_MENU_ITEM_CLASS = DX_MENU_CLASS + \"-item\";\r\nvar DX_MENU_ITEMS_CONTAINER_CLASS = DX_MENU_CLASS + \"-items-container\";\r\nvar DX_MENU_ITEM_EXPANDED_CLASS = DX_MENU_ITEM_CLASS + \"-expanded\";\r\nvar DX_CONTEXT_MENU_CLASS = \"dx-context-menu\";\r\nvar DX_CONTEXT_MENU_CONTAINER_BORDER_CLASS = DX_CONTEXT_MENU_CLASS + \"-container-border\";\r\nvar DX_CONTEXT_MENU_CONTENT_DELIMITER_CLASS = \"dx-context-menu-content-delimiter\";\r\nvar DX_SUBMENU_CLASS = \"dx-submenu\";\r\nvar DX_STATE_DISABLED_CLASS = \"dx-state-disabled\";\r\nvar DX_STATE_HOVER_CLASS = \"dx-state-hover\";\r\nvar DX_STATE_ACTIVE_CLASS = \"dx-state-active\";\r\nvar DX_ADAPTIVE_MODE_CLASS = DX_MENU_CLASS + \"-adaptive-mode\";\r\nvar DX_ADAPTIVE_HAMBURGER_BUTTON_CLASS = DX_MENU_CLASS + \"-hamburger-button\";\r\nvar DX_ADAPTIVE_MODE_OVERLAY_WRAPPER_CLASS = DX_ADAPTIVE_MODE_CLASS + \"-overlay-wrapper\";\r\nvar FOCUS_UP = \"up\";\r\nvar FOCUS_DOWN = \"down\";\r\nvar FOCUS_LEFT = \"left\";\r\nvar FOCUS_RIGHT = \"right\";\r\nvar SHOW_SUBMENU_OPERATION = \"showSubmenu\";\r\nvar NEXTITEM_OPERATION = \"nextItem\";\r\nvar PREVITEM_OPERATION = \"prevItem\";\r\nvar DEFAULT_DELAY = {\r\n show: 50,\r\n hide: 300\r\n};\r\nvar ACTIONS = [\"onSubmenuShowing\", \"onSubmenuShown\", \"onSubmenuHiding\", \"onSubmenuHidden\", \"onItemContextMenu\", \"onItemClick\", \"onSelectionChanged\", \"onItemRendered\"];\r\nclass Menu extends MenuBase {\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n orientation: \"horizontal\",\r\n submenuDirection: \"auto\",\r\n showFirstSubmenuMode: {\r\n name: \"onClick\",\r\n delay: {\r\n show: 50,\r\n hide: 300\r\n }\r\n },\r\n hideSubmenuOnMouseLeave: false,\r\n onSubmenuShowing: null,\r\n onSubmenuShown: null,\r\n onSubmenuHiding: null,\r\n onSubmenuHidden: null,\r\n adaptivityEnabled: false\r\n })\r\n }\r\n _setOptionsByReference() {\r\n super._setOptionsByReference();\r\n extend(this._optionsByReference, {\r\n animation: true,\r\n selectedItem: true\r\n })\r\n }\r\n _itemElements() {\r\n var rootMenuElements = super._itemElements();\r\n var submenuElements = this._submenuItemElements();\r\n return rootMenuElements.add(submenuElements)\r\n }\r\n _submenuItemElements() {\r\n var elements = [];\r\n var itemSelector = \".\".concat(DX_MENU_ITEM_CLASS);\r\n var currentSubmenu = this._submenus.length && this._submenus[0];\r\n if (currentSubmenu && currentSubmenu.itemsContainer()) {\r\n elements = currentSubmenu.itemsContainer().find(itemSelector)\r\n }\r\n return elements\r\n }\r\n _focusTarget() {\r\n return this.$element()\r\n }\r\n _isMenuHorizontal() {\r\n return \"horizontal\" === this.option(\"orientation\")\r\n }\r\n _moveFocus(location) {\r\n var $items = this._getAvailableItems();\r\n var isMenuHorizontal = this._isMenuHorizontal();\r\n var $activeItem = this._getActiveItem(true);\r\n var argument;\r\n var operation;\r\n var navigationAction;\r\n var $newTarget;\r\n switch (location) {\r\n case FOCUS_UP:\r\n operation = isMenuHorizontal ? SHOW_SUBMENU_OPERATION : this._getItemsNavigationOperation(PREVITEM_OPERATION);\r\n argument = isMenuHorizontal ? $activeItem : $items;\r\n navigationAction = this._getKeyboardNavigationAction(operation, argument);\r\n $newTarget = navigationAction();\r\n break;\r\n case FOCUS_DOWN:\r\n operation = isMenuHorizontal ? SHOW_SUBMENU_OPERATION : this._getItemsNavigationOperation(NEXTITEM_OPERATION);\r\n argument = isMenuHorizontal ? $activeItem : $items;\r\n navigationAction = this._getKeyboardNavigationAction(operation, argument);\r\n $newTarget = navigationAction();\r\n break;\r\n case FOCUS_RIGHT:\r\n operation = isMenuHorizontal ? this._getItemsNavigationOperation(NEXTITEM_OPERATION) : SHOW_SUBMENU_OPERATION;\r\n argument = isMenuHorizontal ? $items : $activeItem;\r\n navigationAction = this._getKeyboardNavigationAction(operation, argument);\r\n $newTarget = navigationAction();\r\n break;\r\n case FOCUS_LEFT:\r\n operation = isMenuHorizontal ? this._getItemsNavigationOperation(PREVITEM_OPERATION) : SHOW_SUBMENU_OPERATION;\r\n argument = isMenuHorizontal ? $items : $activeItem;\r\n navigationAction = this._getKeyboardNavigationAction(operation, argument);\r\n $newTarget = navigationAction();\r\n break;\r\n default:\r\n return super._moveFocus(location)\r\n }\r\n if ($newTarget && 0 !== $newTarget.length) {\r\n this.option(\"focusedElement\", getPublicElement($newTarget))\r\n }\r\n }\r\n _getItemsNavigationOperation(operation) {\r\n var navOperation = operation;\r\n if (this.option(\"rtlEnabled\")) {\r\n navOperation = operation === PREVITEM_OPERATION ? NEXTITEM_OPERATION : PREVITEM_OPERATION\r\n }\r\n return navOperation\r\n }\r\n _getKeyboardNavigationAction(operation, argument) {\r\n var action = noop;\r\n switch (operation) {\r\n case SHOW_SUBMENU_OPERATION:\r\n if (!argument.hasClass(DX_STATE_DISABLED_CLASS)) {\r\n action = this._showSubmenu.bind(this, argument)\r\n }\r\n break;\r\n case NEXTITEM_OPERATION:\r\n action = this._nextItem.bind(this, argument);\r\n break;\r\n case PREVITEM_OPERATION:\r\n action = this._prevItem.bind(this, argument)\r\n }\r\n return action\r\n }\r\n _clean() {\r\n super._clean();\r\n this.option(\"templatesRenderAsynchronously\") && clearTimeout(this._resizeEventTimer)\r\n }\r\n _visibilityChanged(visible) {\r\n if (visible) {\r\n if (!this._menuItemsWidth) {\r\n this._updateItemsWidthCache()\r\n }\r\n this._dimensionChanged()\r\n }\r\n }\r\n _isAdaptivityEnabled() {\r\n return this.option(\"adaptivityEnabled\") && \"horizontal\" === this.option(\"orientation\")\r\n }\r\n _updateItemsWidthCache() {\r\n var $menuItems = this.$element().find(\"ul\").first().children(\"li\").children(\".\".concat(DX_MENU_ITEM_CLASS));\r\n this._menuItemsWidth = this._getSummaryItemsWidth($menuItems, true)\r\n }\r\n _dimensionChanged() {\r\n if (!this._isAdaptivityEnabled()) {\r\n return\r\n }\r\n var containerWidth = getOuterWidth(this.$element());\r\n this._toggleAdaptiveMode(this._menuItemsWidth > containerWidth)\r\n }\r\n _init() {\r\n super._init();\r\n this._submenus = []\r\n }\r\n _initActions() {\r\n this._actions = {};\r\n each(ACTIONS, (index, action) => {\r\n this._actions[action] = this._createActionByOption(action)\r\n })\r\n }\r\n _initMarkup() {\r\n this._visibleSubmenu = null;\r\n this.$element().addClass(DX_MENU_CLASS);\r\n super._initMarkup();\r\n this._addCustomCssClass(this.$element());\r\n this.setAria(\"role\", \"menubar\")\r\n }\r\n _render() {\r\n super._render();\r\n this._initAdaptivity()\r\n }\r\n _renderHamburgerButton() {\r\n this._hamburger = new Button($(\"<div>\").addClass(DX_ADAPTIVE_HAMBURGER_BUTTON_CLASS), {\r\n icon: \"menu\",\r\n activeStateEnabled: false,\r\n onClick: this._toggleTreeView.bind(this)\r\n });\r\n return this._hamburger.$element()\r\n }\r\n _toggleTreeView(state) {\r\n if (isPlainObject(state)) {\r\n state = !this._overlay.option(\"visible\")\r\n }\r\n this._overlay.option(\"visible\", state);\r\n if (state) {\r\n this._treeView.focus()\r\n }\r\n this._toggleHamburgerActiveState(state)\r\n }\r\n _toggleHamburgerActiveState(state) {\r\n this._hamburger && this._hamburger.$element().toggleClass(DX_STATE_ACTIVE_CLASS, state)\r\n }\r\n _toggleAdaptiveMode(state) {\r\n var $menuItemsContainer = this.$element().find(\".\".concat(DX_MENU_HORIZONTAL_CLASS));\r\n var $adaptiveElements = this.$element().find(\".\".concat(DX_ADAPTIVE_MODE_CLASS));\r\n if (state) {\r\n this._hideVisibleSubmenu()\r\n } else {\r\n this._treeView && this._treeView.collapseAll();\r\n this._overlay && this._toggleTreeView(state)\r\n }\r\n $menuItemsContainer.toggle(!state);\r\n $adaptiveElements.toggle(state)\r\n }\r\n _removeAdaptivity() {\r\n if (!this._$adaptiveContainer) {\r\n return\r\n }\r\n this._toggleAdaptiveMode(false);\r\n this._$adaptiveContainer.remove();\r\n this._$adaptiveContainer = null;\r\n this._treeView = null;\r\n this._hamburger = null;\r\n this._overlay = null\r\n }\r\n _treeviewItemClickHandler(e) {\r\n this._actions.onItemClick(e);\r\n if (!e.node.children.length) {\r\n this._toggleTreeView(false)\r\n }\r\n }\r\n _getAdaptiveOverlayOptions() {\r\n var rtl = this.option(\"rtlEnabled\");\r\n var position = rtl ? \"right\" : \"left\";\r\n return {\r\n _ignoreFunctionValueDeprecation: true,\r\n maxHeight: () => getElementMaxHeightByWindow(this.$element()),\r\n deferRendering: false,\r\n shading: false,\r\n animation: false,\r\n hideOnParentScroll: true,\r\n onHidden: () => {\r\n this._toggleHamburgerActiveState(false)\r\n },\r\n height: \"auto\",\r\n hideOnOutsideClick: e => !$(e.target).closest(\".\".concat(DX_ADAPTIVE_HAMBURGER_BUTTON_CLASS)).length,\r\n position: {\r\n collision: \"flipfit\",\r\n at: \"bottom \" + position,\r\n my: \"top \" + position,\r\n of: this._hamburger.$element()\r\n }\r\n }\r\n }\r\n _getTreeViewOptions() {\r\n var menuOptions = {};\r\n each([\"rtlEnabled\", \"width\", \"accessKey\", \"activeStateEnabled\", \"animation\", \"dataSource\", \"disabled\", \"displayExpr\", \"displayExpr\", \"focusStateEnabled\", \"hint\", \"hoverStateEnabled\", \"itemsExpr\", \"items\", \"itemTemplate\", \"selectedExpr\", \"selectionMode\", \"tabIndex\", \"visible\"], (_, option) => {\r\n menuOptions[option] = this.option(option)\r\n });\r\n each([\"onItemContextMenu\", \"onSelectionChanged\", \"onItemRendered\"], (_, actionName) => {\r\n menuOptions[actionName] = e => {\r\n this._actions[actionName](e)\r\n }\r\n });\r\n return extend(menuOptions, {\r\n dataSource: this.getDataSource(),\r\n animationEnabled: !!this.option(\"animation\"),\r\n onItemClick: this._treeviewItemClickHandler.bind(this),\r\n onItemExpanded: e => {\r\n this._overlay.repaint();\r\n this._actions.onSubmenuShown(e)\r\n },\r\n onItemCollapsed: e => {\r\n this._overlay.repaint();\r\n this._actions.onSubmenuHidden(e)\r\n },\r\n selectNodesRecursive: false,\r\n selectByClick: this.option(\"selectByClick\"),\r\n expandEvent: \"click\"\r\n })\r\n }\r\n _initAdaptivity() {\r\n if (!this._isAdaptivityEnabled()) {\r\n return\r\n }\r\n this._$adaptiveContainer = $(\"<div>\").addClass(DX_ADAPTIVE_MODE_CLASS);\r\n var $hamburger = this._renderHamburgerButton();\r\n this._treeView = this._createComponent($(\"<div>\"), TreeView, this._getTreeViewOptions());\r\n this._overlay = this._createComponent($(\"<div>\"), Overlay, this._getAdaptiveOverlayOptions());\r\n this._overlay.$content().append(this._treeView.$element()).addClass(DX_ADAPTIVE_MODE_CLASS).addClass(this.option(\"cssClass\"));\r\n this._overlay.$wrapper().addClass(DX_ADAPTIVE_MODE_OVERLAY_WRAPPER_CLASS);\r\n this._$adaptiveContainer.append($hamburger);\r\n this._$adaptiveContainer.append(this._overlay.$element());\r\n this.$element().append(this._$adaptiveContainer);\r\n this._updateItemsWidthCache();\r\n this._dimensionChanged()\r\n }\r\n _getDelay(delayType) {\r\n var delay = this.option(\"showFirstSubmenuMode\").delay;\r\n if (!isDefined(delay)) {\r\n return DEFAULT_DELAY[delayType]\r\n } else {\r\n return isObject(delay) ? delay[delayType] : delay\r\n }\r\n }\r\n _keyboardHandler(e) {\r\n return super._keyboardHandler(e, !!this._visibleSubmenu)\r\n }\r\n _renderContainer() {\r\n var $wrapper = $(\"<div>\");\r\n $wrapper.appendTo(this.$element()).addClass(this._isMenuHorizontal() ? DX_MENU_HORIZONTAL_CLASS : DX_MENU_VERTICAL_CLASS);\r\n return super._renderContainer($wrapper)\r\n }\r\n _renderSubmenuItems(node, $itemFrame) {\r\n var submenu = this._createSubmenu(node, $itemFrame);\r\n this._submenus.push(submenu);\r\n this._renderBorderElement($itemFrame);\r\n return submenu\r\n }\r\n _getKeyboardListeners() {\r\n return super._getKeyboardListeners().concat(this._visibleSubmenu)\r\n }\r\n _createSubmenu(node, $rootItem) {\r\n var $submenuContainer = $(\"<div>\").addClass(DX_CONTEXT_MENU_CLASS).appendTo($rootItem);\r\n var items = this._getChildNodes(node);\r\n var subMenu = this._createComponent($submenuContainer, Submenu, extend(this._getSubmenuOptions(), {\r\n _dataAdapter: this._dataAdapter,\r\n _parentKey: node.internalFields.key,\r\n items: items,\r\n onHoverStart: this._clearTimeouts.bind(this),\r\n position: this.getSubmenuPosition($rootItem)\r\n }));\r\n this._attachSubmenuHandlers($rootItem, subMenu);\r\n return subMenu\r\n }\r\n _getSubmenuOptions() {\r\n var $submenuTarget = $(\"<div>\");\r\n var isMenuHorizontal = this._isMenuHorizontal();\r\n return {\r\n itemTemplate: this.option(\"itemTemplate\"),\r\n target: $submenuTarget,\r\n orientation: this.option(\"orientation\"),\r\n selectionMode: this.option(\"selectionMode\"),\r\n cssClass: this.option(\"cssClass\"),\r\n selectByClick: this.option(\"selectByClick\"),\r\n hoverStateEnabled: this.option(\"hoverStateEnabled\"),\r\n activeStateEnabled: this.option(\"activeStateEnabled\"),\r\n focusStateEnabled: this.option(\"focusStateEnabled\"),\r\n animation: this.option(\"animation\"),\r\n showSubmenuMode: this.option(\"showSubmenuMode\"),\r\n displayExpr: this.option(\"displayExpr\"),\r\n disabledExpr: this.option(\"disabledExpr\"),\r\n selectedExpr: this.option(\"selectedExpr\"),\r\n itemsExpr: this.option(\"itemsExpr\"),\r\n onFocusedItemChanged: e => {\r\n if (!e.component.option(\"visible\")) {\r\n return\r\n }\r\n this.option(\"focusedElement\", e.component.option(\"focusedElement\"))\r\n },\r\n onSelectionChanged: this._nestedItemOnSelectionChangedHandler.bind(this),\r\n onItemClick: this._nestedItemOnItemClickHandler.bind(this),\r\n onItemRendered: this._nestedItemOnItemRenderedHandler.bind(this),\r\n onLeftFirstItem: isMenuHorizontal ? null : this._moveMainMenuFocus.bind(this, PREVITEM_OPERATION),\r\n onLeftLastItem: isMenuHorizontal ? null : this._moveMainMenuFocus.bind(this, NEXTITEM_OPERATION),\r\n onCloseRootSubmenu: this._moveMainMenuFocus.bind(this, isMenuHorizontal ? PREVITEM_OPERATION : null),\r\n onExpandLastSubmenu: isMenuHorizontal ? this._moveMainMenuFocus.bind(this, NEXTITEM_OPERATION) : null\r\n }\r\n }\r\n _getShowFirstSubmenuMode() {\r\n if (!this._isDesktopDevice()) {\r\n return \"onClick\"\r\n }\r\n var optionValue = this.option(\"showFirstSubmenuMode\");\r\n return isObject(optionValue) ? optionValue.name : optionValue\r\n }\r\n _moveMainMenuFocus(direction) {\r\n var $items = this._getAvailableItems();\r\n var itemCount = $items.length;\r\n var $currentItem = $items.filter(\".\".concat(DX_MENU_ITEM_EXPANDED_CLASS)).eq(0);\r\n var itemIndex = $items.index($currentItem);\r\n this._hideSubmenu(this._visibleSubmenu);\r\n itemIndex += direction === PREVITEM_OPERATION ? -1 : 1;\r\n if (itemIndex >= itemCount) {\r\n itemIndex = 0\r\n } else if (itemIndex < 0) {\r\n itemIndex = itemCount - 1\r\n }\r\n var $newItem = $items.eq(itemIndex);\r\n this.option(\"focusedElement\", getPublicElement($newItem))\r\n }\r\n _nestedItemOnSelectionChangedHandler(args) {\r\n var selectedItem = args.addedItems.length && args.addedItems[0];\r\n var submenu = Submenu.getInstance(args.element);\r\n var onSelectionChanged = this._actions.onSelectionChanged;\r\n onSelectionChanged(args);\r\n selectedItem && this._clearSelectionInSubmenus(selectedItem[0], submenu);\r\n this._clearRootSelection();\r\n this._setOptionWithoutOptionChange(\"selectedItem\", selectedItem)\r\n }\r\n _clearSelectionInSubmenus(item, targetSubmenu) {\r\n var cleanAllSubmenus = !arguments.length;\r\n each(this._submenus, (index, submenu) => {\r\n var $submenu = submenu._itemContainer();\r\n var isOtherItem = !$submenu.is(targetSubmenu && targetSubmenu._itemContainer());\r\n var $selectedItem = $submenu.find(\".\".concat(this._selectedItemClass()));\r\n if (isOtherItem && $selectedItem.length || cleanAllSubmenus) {\r\n $selectedItem.removeClass(this._selectedItemClass());\r\n var selectedItemData = this._getItemData($selectedItem);\r\n if (selectedItemData) {\r\n selectedItemData.selected = false\r\n }\r\n submenu._clearSelectedItems()\r\n }\r\n })\r\n }\r\n _clearRootSelection() {\r\n var $prevSelectedItem = this.$element().find(\".\".concat(DX_MENU_ITEMS_CONTAINER_CLASS)).first().children().children().filter(\".\".concat(this._selectedItemClass()));\r\n if ($prevSelectedItem.length) {\r\n var prevSelectedItemData = this._getItemData($prevSelectedItem);\r\n prevSelectedItemData.selected = false;\r\n $prevSelectedItem.removeClass(this._selectedItemClass())\r\n }\r\n }\r\n _nestedItemOnItemClickHandler(e) {\r\n this._actions.onItemClick(e)\r\n }\r\n _nestedItemOnItemRenderedHandler(e) {\r\n this._actions.onItemRendered(e)\r\n }\r\n _attachSubmenuHandlers($rootItem, submenu) {\r\n var $submenuOverlayContent = submenu.getOverlayContent();\r\n var submenus = $submenuOverlayContent.find(\".\".concat(DX_SUBMENU_CLASS));\r\n var submenuMouseLeaveName = addNamespace(hoverEventEnd, this.NAME + \"_submenu\");\r\n submenu.option({\r\n onShowing: this._submenuOnShowingHandler.bind(this, $rootItem, submenu),\r\n onShown: this._submenuOnShownHandler.bind(this, $rootItem, submenu),\r\n onHiding: this._submenuOnHidingHandler.bind(this, $rootItem, submenu),\r\n onHidden: this._submenuOnHiddenHandler.bind(this, $rootItem, submenu)\r\n });\r\n each(submenus, (index, submenu) => {\r\n eventsEngine.off(submenu, submenuMouseLeaveName);\r\n eventsEngine.on(submenu, submenuMouseLeaveName, null, this._submenuMouseLeaveHandler.bind(this, $rootItem))\r\n })\r\n }\r\n _submenuOnShowingHandler($rootItem, submenu) {\r\n var $border = $rootItem.children(\".\".concat(DX_CONTEXT_MENU_CONTAINER_BORDER_CLASS));\r\n this._actions.onSubmenuShowing({\r\n rootItem: getPublicElement($rootItem),\r\n submenu: submenu\r\n });\r\n $border.show();\r\n $rootItem.addClass(DX_MENU_ITEM_EXPANDED_CLASS)\r\n }\r\n _submenuOnShownHandler($rootItem, submenu) {\r\n this._actions.onSubmenuShown({\r\n rootItem: getPublicElement($rootItem),\r\n submenu: submenu\r\n })\r\n }\r\n _submenuOnHidingHandler($rootItem, submenu, eventArgs) {\r\n var $border = $rootItem.children(\".\".concat(DX_CONTEXT_MENU_CONTAINER_BORDER_CLASS));\r\n var args = eventArgs;\r\n args.rootItem = getPublicElement($rootItem);\r\n args.submenu = submenu;\r\n this._actions.onSubmenuHiding(args);\r\n eventArgs = args;\r\n if (!eventArgs.cancel) {\r\n if (this._visibleSubmenu === submenu) {\r\n this._visibleSubmenu = null\r\n }\r\n $border.hide();\r\n $rootItem.removeClass(DX_MENU_ITEM_EXPANDED_CLASS)\r\n }\r\n }\r\n _submenuOnHiddenHandler($rootItem, submenu) {\r\n this._actions.onSubmenuHidden({\r\n rootItem: getPublicElement($rootItem),\r\n submenu: submenu\r\n })\r\n }\r\n _submenuMouseLeaveHandler($rootItem, eventArgs) {\r\n var target = $(eventArgs.relatedTarget).parents(\".\".concat(DX_CONTEXT_MENU_CLASS))[0];\r\n var contextMenu = this._getSubmenuByRootElement($rootItem).getOverlayContent()[0];\r\n if (this.option(\"hideSubmenuOnMouseLeave\") && target !== contextMenu) {\r\n this._clearTimeouts();\r\n setTimeout(this._hideSubmenuAfterTimeout.bind(this), this._getDelay(\"hide\"))\r\n }\r\n }\r\n _hideSubmenuAfterTimeout() {\r\n if (!this._visibleSubmenu) {\r\n return\r\n }\r\n var isRootItemHovered = $(this._visibleSubmenu.$element().context).hasClass(DX_STATE_HOVER_CLASS);\r\n var isSubmenuItemHovered = this._visibleSubmenu.getOverlayContent().find(\".\".concat(DX_STATE_HOVER_CLASS)).length;\r\n var hoveredElementFromSubMenu = this._visibleSubmenu.getOverlayContent().get(0).querySelector(\":hover\");\r\n if (!hoveredElementFromSubMenu && !isSubmenuItemHovered && !isRootItemHovered) {\r\n this._visibleSubmenu.hide()\r\n }\r\n }\r\n _getSubmenuByRootElement($rootItem) {\r\n if (!$rootItem) {\r\n return false\r\n }\r\n var $submenu = $rootItem.children(\".\".concat(DX_CONTEXT_MENU_CLASS));\r\n return $submenu.length && Submenu.getInstance($submenu)\r\n }\r\n getSubmenuPosition($rootItem) {\r\n var isHorizontalMenu = this._isMenuHorizontal();\r\n var submenuDirection = this.option(\"submenuDirection\").toLowerCase();\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var submenuPosition = {\r\n collision: \"flip\",\r\n of: $rootItem,\r\n precise: true\r\n };\r\n switch (submenuDirection) {\r\n case \"leftortop\":\r\n submenuPosition.at = \"left top\";\r\n submenuPosition.my = isHorizontalMenu ? \"left bottom\" : \"right top\";\r\n break;\r\n case \"rightorbottom\":\r\n submenuPosition.at = isHorizontalMenu ? \"left bottom\" : \"right top\";\r\n submenuPosition.my = \"left top\";\r\n break;\r\n default:\r\n if (isHorizontalMenu) {\r\n submenuPosition.at = rtlEnabled ? \"right bottom\" : \"left bottom\";\r\n submenuPosition.my = rtlEnabled ? \"right top\" : \"left top\"\r\n } else {\r\n submenuPosition.at = rtlEnabled ? \"left top\" : \"right top\";\r\n submenuPosition.my = rtlEnabled ? \"right top\" : \"left top\"\r\n }\r\n }\r\n return submenuPosition\r\n }\r\n _renderBorderElement($item) {\r\n $(\"<div>\").appendTo($item).addClass(DX_CONTEXT_MENU_CONTAINER_BORDER_CLASS).hide()\r\n }\r\n _itemPointerDownHandler(e) {\r\n var $target = $(e.target);\r\n var $closestItem = $target.closest(this._itemElements());\r\n if ($closestItem.hasClass(\"dx-menu-item-has-submenu\")) {\r\n this.option(\"focusedElement\", null);\r\n return\r\n }\r\n super._itemPointerDownHandler(e)\r\n }\r\n _hoverStartHandler(e) {\r\n var mouseMoveEventName = addNamespace(pointerEvents.move, this.NAME);\r\n var $item = this._getItemElementByEventArgs(e);\r\n var node = this._dataAdapter.getNodeByItem(this._getItemData($item));\r\n var isSelectionActive = isDefined(e.buttons) && 1 === e.buttons || !isDefined(e.buttons) && 1 === e.which;\r\n if (this._isItemDisabled($item)) {\r\n return\r\n }\r\n eventsEngine.off($item, mouseMoveEventName);\r\n if (!this._hasChildren(node)) {\r\n this._showSubmenuTimer = setTimeout(this._hideSubmenuAfterTimeout.bind(this), this._getDelay(\"hide\"));\r\n return\r\n }\r\n if (\"onHover\" === this._getShowFirstSubmenuMode() && !isSelectionActive) {\r\n var submenu = this._getSubmenuByElement($item);\r\n this._clearTimeouts();\r\n if (!submenu.isOverlayVisible()) {\r\n eventsEngine.on($item, mouseMoveEventName, this._itemMouseMoveHandler.bind(this));\r\n this._showSubmenuTimer = this._getDelay(\"hide\")\r\n }\r\n }\r\n }\r\n _hoverEndHandler(eventArg) {\r\n var $item = this._getItemElementByEventArgs(eventArg);\r\n var relatedTarget = $(eventArg.relatedTarget);\r\n super._hoverEndHandler(eventArg);\r\n this._clearTimeouts();\r\n if (this._isItemDisabled($item)) {\r\n return\r\n }\r\n if (relatedTarget.hasClass(DX_CONTEXT_MENU_CONTENT_DELIMITER_CLASS)) {\r\n return\r\n }\r\n if (this.option(\"hideSubmenuOnMouseLeave\") && !relatedTarget.hasClass(DX_MENU_ITEMS_CONTAINER_CLASS)) {\r\n this._hideSubmenuTimer = setTimeout(() => {\r\n this._hideSubmenuAfterTimeout()\r\n }, this._getDelay(\"hide\"))\r\n }\r\n }\r\n _hideVisibleSubmenu() {\r\n if (!this._visibleSubmenu) {\r\n return false\r\n }\r\n this._hideSubmenu(this._visibleSubmenu);\r\n return true\r\n }\r\n _showSubmenu($itemElement) {\r\n var submenu = this._getSubmenuByElement($itemElement);\r\n if (this._visibleSubmenu !== submenu) {\r\n this._hideVisibleSubmenu()\r\n }\r\n if (submenu) {\r\n this._clearTimeouts();\r\n this.focus();\r\n submenu.show();\r\n this.option(\"focusedElement\", submenu.option(\"focusedElement\"))\r\n }\r\n this._visibleSubmenu = submenu;\r\n this._hoveredRootItem = $itemElement\r\n }\r\n _hideSubmenu(submenu) {\r\n submenu && submenu.hide();\r\n if (this._visibleSubmenu === submenu) {\r\n this._visibleSubmenu = null\r\n }\r\n this._hoveredRootItem = null\r\n }\r\n _itemMouseMoveHandler(e) {\r\n if (e.pointers && e.pointers.length) {\r\n return\r\n }\r\n var $item = $(e.currentTarget);\r\n if (!isDefined(this._showSubmenuTimer)) {\r\n return\r\n }\r\n this._clearTimeouts();\r\n this._showSubmenuTimer = setTimeout(() => {\r\n var submenu = this._getSubmenuByElement($item);\r\n if (submenu && !submenu.isOverlayVisible()) {\r\n this._showSubmenu($item)\r\n }\r\n }, this._getDelay(\"show\"))\r\n }\r\n _clearTimeouts() {\r\n clearTimeout(this._hideSubmenuTimer);\r\n clearTimeout(this._showSubmenuTimer)\r\n }\r\n _getSubmenuByElement($itemElement, itemData) {\r\n var submenu = this._getSubmenuByRootElement($itemElement);\r\n if (submenu) {\r\n return submenu\r\n } else {\r\n itemData = itemData || this._getItemData($itemElement);\r\n var node = this._dataAdapter.getNodeByItem(itemData);\r\n return this._hasChildren(node) && this._renderSubmenuItems(node, $itemElement)\r\n }\r\n }\r\n _updateSubmenuVisibilityOnClick(actionArgs) {\r\n var args = actionArgs.args.length && actionArgs.args[0];\r\n if (!args || this._disabledGetter(args.itemData)) {\r\n return\r\n }\r\n var $itemElement = $(args.itemElement);\r\n var currentSubmenu = this._getSubmenuByElement($itemElement, args.itemData);\r\n this._updateSelectedItemOnClick(actionArgs);\r\n if (this._visibleSubmenu) {\r\n if (this._visibleSubmenu === currentSubmenu) {\r\n if (\"onClick\" === this.option(\"showFirstSubmenuMode\")) {\r\n this._hideSubmenu(this._visibleSubmenu)\r\n }\r\n return\r\n } else {\r\n this._hideSubmenu(this._visibleSubmenu)\r\n }\r\n }\r\n if (!currentSubmenu) {\r\n return\r\n }\r\n if (!currentSubmenu.isOverlayVisible()) {\r\n this._showSubmenu($itemElement);\r\n return\r\n }\r\n }\r\n _optionChanged(args) {\r\n if (ACTIONS.indexOf(args.name) >= 0) {\r\n this._initActions();\r\n return\r\n }\r\n switch (args.name) {\r\n case \"orientation\":\r\n case \"submenuDirection\":\r\n this._invalidate();\r\n break;\r\n case \"showFirstSubmenuMode\":\r\n case \"hideSubmenuOnMouseLeave\":\r\n break;\r\n case \"showSubmenuMode\":\r\n this._changeSubmenusOption(args.name, args.value);\r\n break;\r\n case \"adaptivityEnabled\":\r\n args.value ? this._initAdaptivity() : this._removeAdaptivity();\r\n break;\r\n case \"width\":\r\n if (this._isAdaptivityEnabled()) {\r\n this._treeView.option(args.name, args.value);\r\n this._overlay.option(args.name, args.value)\r\n }\r\n super._optionChanged(args);\r\n this._dimensionChanged();\r\n break;\r\n case \"animation\":\r\n if (this._isAdaptivityEnabled()) {\r\n this._treeView.option(\"animationEnabled\", !!args.value)\r\n }\r\n super._optionChanged(args);\r\n break;\r\n default:\r\n if (this._isAdaptivityEnabled() && (args.name === args.fullName || \"items\" === args.name)) {\r\n this._treeView.option(args.fullName, args.value)\r\n }\r\n super._optionChanged(args)\r\n }\r\n }\r\n _changeSubmenusOption(name, value) {\r\n each(this._submenus, (index, submenu) => {\r\n submenu.option(name, value)\r\n })\r\n }\r\n selectItem(itemElement) {\r\n this._hideSubmenu(this._visibleSubmenu);\r\n super.selectItem(itemElement)\r\n }\r\n unselectItem(itemElement) {\r\n this._hideSubmenu(this._visibleSubmenu);\r\n super.selectItem(itemElement)\r\n }\r\n}\r\nregisterComponent(\"dxMenu\", Menu);\r\nexport default Menu;\r\n","/**\r\n * DevExtreme (esm/ui/multi_view/ui.multi_view.animation.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport fx from \"../../animation/fx\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nexport var _translator = {\r\n move($element, position) {\r\n move($element, {\r\n left: position\r\n })\r\n }\r\n};\r\nexport var animation = {\r\n moveTo($element, position, duration, completeAction) {\r\n fx.animate($element, {\r\n type: \"slide\",\r\n to: {\r\n left: position\r\n },\r\n duration: duration,\r\n complete: completeAction\r\n })\r\n },\r\n complete($element) {\r\n fx.stop($element, true)\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/multi_view.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n locate\r\n} from \"../animation/translator\";\r\nimport {\r\n _translator,\r\n animation\r\n} from \"./multi_view/ui.multi_view.animation\";\r\nimport {\r\n sign\r\n} from \"../core/utils/math\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n noop,\r\n deferRender\r\n} from \"../core/utils/common\";\r\nimport {\r\n triggerResizeEvent\r\n} from \"../events/visibility_change\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport {\r\n isDefined\r\n} from \"../core/utils/type\";\r\nimport devices from \"../core/devices\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport CollectionWidget from \"./collection/ui.collection_widget.live_update\";\r\nimport Swipeable from \"../events/gesture/swipeable\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nvar MULTIVIEW_CLASS = \"dx-multiview\";\r\nvar MULTIVIEW_WRAPPER_CLASS = \"dx-multiview-wrapper\";\r\nvar MULTIVIEW_ITEM_CONTAINER_CLASS = \"dx-multiview-item-container\";\r\nvar MULTIVIEW_ITEM_CLASS = \"dx-multiview-item\";\r\nvar MULTIVIEW_ITEM_HIDDEN_CLASS = \"dx-multiview-item-hidden\";\r\nvar MULTIVIEW_ITEM_DATA_KEY = \"dxMultiViewItemData\";\r\nvar MULTIVIEW_ANIMATION_DURATION = 200;\r\nvar toNumber = value => +value;\r\nvar position = $element => locate($element).left;\r\nvar MultiView = CollectionWidget.inherit({\r\n _activeStateUnit: \".\" + MULTIVIEW_ITEM_CLASS,\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), {\r\n pageUp: noop,\r\n pageDown: noop\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n selectedIndex: 0,\r\n swipeEnabled: true,\r\n animationEnabled: true,\r\n loop: false,\r\n deferRendering: true,\r\n _itemAttributes: {\r\n role: \"tabpanel\"\r\n },\r\n loopItemFocus: false,\r\n selectOnFocus: true,\r\n selectionMode: \"single\",\r\n selectionRequired: true,\r\n selectionByClick: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }])\r\n },\r\n _itemClass: function() {\r\n return MULTIVIEW_ITEM_CLASS\r\n },\r\n _itemDataKey: function() {\r\n return MULTIVIEW_ITEM_DATA_KEY\r\n },\r\n _itemContainer: function() {\r\n return this._$itemContainer\r\n },\r\n _itemElements: function() {\r\n return this._itemContainer().children(this._itemSelector())\r\n },\r\n _itemWidth: function() {\r\n if (!this._itemWidthValue) {\r\n this._itemWidthValue = getWidth(this._$wrapper)\r\n }\r\n return this._itemWidthValue\r\n },\r\n _clearItemWidthCache: function() {\r\n delete this._itemWidthValue\r\n },\r\n _itemsCount: function() {\r\n return this.option(\"items\").length\r\n },\r\n _normalizeIndex: function(index) {\r\n var count = this._itemsCount();\r\n if (index < 0) {\r\n index += count\r\n }\r\n if (index >= count) {\r\n index -= count\r\n }\r\n return index\r\n },\r\n _getRTLSignCorrection: function() {\r\n return this.option(\"rtlEnabled\") ? -1 : 1\r\n },\r\n _init: function() {\r\n this.callBase.apply(this, arguments);\r\n var $element = this.$element();\r\n $element.addClass(MULTIVIEW_CLASS);\r\n this._$wrapper = $(\"<div>\").addClass(MULTIVIEW_WRAPPER_CLASS);\r\n this._$wrapper.appendTo($element);\r\n this._$itemContainer = $(\"<div>\").addClass(MULTIVIEW_ITEM_CONTAINER_CLASS);\r\n this._$itemContainer.appendTo(this._$wrapper);\r\n this.option(\"loopItemFocus\", this.option(\"loop\"));\r\n this._initSwipeable()\r\n },\r\n _initMarkup: function() {\r\n this._deferredItems = [];\r\n this.callBase();\r\n var selectedItemIndices = this._getSelectedItemIndices();\r\n this._updateItemsVisibility(selectedItemIndices[0])\r\n },\r\n _afterItemElementDeleted: function($item, deletedActionArgs) {\r\n this.callBase($item, deletedActionArgs);\r\n if (this._deferredItems) {\r\n this._deferredItems.splice(deletedActionArgs.itemIndex, 1)\r\n }\r\n },\r\n _beforeItemElementInserted: function(change) {\r\n this.callBase.apply(this, arguments);\r\n if (this._deferredItems) {\r\n this._deferredItems.splice(change.index, 0, null)\r\n }\r\n },\r\n _executeItemRenderAction: function(index, itemData, itemElement) {\r\n index = (this.option(\"items\") || []).indexOf(itemData);\r\n this.callBase(index, itemData, itemElement)\r\n },\r\n _renderItemContent: function(args) {\r\n var renderContentDeferred = new Deferred;\r\n var that = this;\r\n var callBase = this.callBase;\r\n var deferred = new Deferred;\r\n deferred.done((function() {\r\n var $itemContent = callBase.call(that, args);\r\n renderContentDeferred.resolve($itemContent)\r\n }));\r\n this._deferredItems[args.index] = deferred;\r\n this.option(\"deferRendering\") || deferred.resolve();\r\n return renderContentDeferred.promise()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n deferRender(() => {\r\n var selectedItemIndices = this._getSelectedItemIndices();\r\n this._updateItems(selectedItemIndices[0])\r\n })\r\n },\r\n _updateItems: function(selectedIndex, newIndex) {\r\n this._updateItemsPosition(selectedIndex, newIndex);\r\n this._updateItemsVisibility(selectedIndex, newIndex)\r\n },\r\n _modifyByChanges: function() {\r\n this.callBase.apply(this, arguments);\r\n var selectedItemIndices = this._getSelectedItemIndices();\r\n this._updateItemsVisibility(selectedItemIndices[0])\r\n },\r\n _updateItemsPosition: function(selectedIndex, newIndex) {\r\n var $itemElements = this._itemElements();\r\n var positionSign = isDefined(newIndex) ? -this._animationDirection(newIndex, selectedIndex) : void 0;\r\n var $selectedItem = $itemElements.eq(selectedIndex);\r\n _translator.move($selectedItem, 0);\r\n if (isDefined(newIndex)) {\r\n _translator.move($itemElements.eq(newIndex), 100 * positionSign + \"%\")\r\n }\r\n },\r\n _updateItemsVisibility: function(selectedIndex, newIndex) {\r\n var $itemElements = this._itemElements();\r\n $itemElements.each(function(itemIndex, item) {\r\n var $item = $(item);\r\n var isHidden = itemIndex !== selectedIndex && itemIndex !== newIndex;\r\n if (!isHidden) {\r\n this._renderSpecificItem(itemIndex)\r\n }\r\n $item.toggleClass(MULTIVIEW_ITEM_HIDDEN_CLASS, isHidden);\r\n this.setAria(\"hidden\", isHidden || void 0, $item)\r\n }.bind(this))\r\n },\r\n _renderSpecificItem: function(index) {\r\n var $item = this._itemElements().eq(index);\r\n var hasItemContent = $item.find(this._itemContentClass()).length > 0;\r\n if (isDefined(index) && !hasItemContent) {\r\n this._deferredItems[index].resolve();\r\n triggerResizeEvent($item)\r\n }\r\n },\r\n _refreshItem: function($item, item) {\r\n this.callBase($item, item);\r\n this._updateItemsVisibility(this.option(\"selectedIndex\"))\r\n },\r\n _setAriaSelected: noop,\r\n _updateSelection: function(addedSelection, removedSelection) {\r\n var newIndex = addedSelection[0];\r\n var prevIndex = removedSelection[0];\r\n animation.complete(this._$itemContainer);\r\n this._updateItems(prevIndex, newIndex);\r\n var animationDirection = this._animationDirection(newIndex, prevIndex);\r\n this._animateItemContainer(animationDirection * this._itemWidth(), function() {\r\n _translator.move(this._$itemContainer, 0);\r\n this._updateItems(newIndex);\r\n getWidth(this._$itemContainer)\r\n }.bind(this))\r\n },\r\n _animateItemContainer: function(position, completeCallback) {\r\n var duration = this.option(\"animationEnabled\") ? MULTIVIEW_ANIMATION_DURATION : 0;\r\n animation.moveTo(this._$itemContainer, position, duration, completeCallback)\r\n },\r\n _animationDirection: function(newIndex, prevIndex) {\r\n var containerPosition = position(this._$itemContainer);\r\n var indexDifference = (prevIndex - newIndex) * this._getRTLSignCorrection() * this._getItemFocusLoopSignCorrection();\r\n var isSwipePresent = 0 !== containerPosition;\r\n var directionSignVariable = isSwipePresent ? containerPosition : indexDifference;\r\n return sign(directionSignVariable)\r\n },\r\n _getSwipeDisabledState() {\r\n return !this.option(\"swipeEnabled\") || this._itemsCount() <= 1\r\n },\r\n _initSwipeable() {\r\n this._createComponent(this.$element(), Swipeable, {\r\n disabled: this._getSwipeDisabledState(),\r\n elastic: false,\r\n itemSizeFunc: this._itemWidth.bind(this),\r\n onStart: args => this._swipeStartHandler(args.event),\r\n onUpdated: args => this._swipeUpdateHandler(args.event),\r\n onEnd: args => this._swipeEndHandler(args.event)\r\n })\r\n },\r\n _swipeStartHandler: function(e) {\r\n animation.complete(this._$itemContainer);\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n var loop = this.option(\"loop\");\r\n var lastIndex = this._itemsCount() - 1;\r\n var rtl = this.option(\"rtlEnabled\");\r\n e.maxLeftOffset = toNumber(loop || (rtl ? selectedIndex > 0 : selectedIndex < lastIndex));\r\n e.maxRightOffset = toNumber(loop || (rtl ? selectedIndex < lastIndex : selectedIndex > 0));\r\n this._swipeDirection = null\r\n },\r\n _swipeUpdateHandler: function(e) {\r\n var offset = e.offset;\r\n var swipeDirection = sign(offset) * this._getRTLSignCorrection();\r\n _translator.move(this._$itemContainer, offset * this._itemWidth());\r\n if (swipeDirection !== this._swipeDirection) {\r\n this._swipeDirection = swipeDirection;\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n var newIndex = this._normalizeIndex(selectedIndex - swipeDirection);\r\n this._updateItems(selectedIndex, newIndex)\r\n }\r\n },\r\n _swipeEndHandler: function(e) {\r\n var targetOffset = e.targetOffset * this._getRTLSignCorrection();\r\n if (targetOffset) {\r\n this.option(\"selectedIndex\", this._normalizeIndex(this.option(\"selectedIndex\") - targetOffset));\r\n var $selectedElement = this.itemElements().filter(\".dx-item-selected\");\r\n this.option(\"focusStateEnabled\") && this.option(\"focusedElement\", getPublicElement($selectedElement))\r\n } else {\r\n this._animateItemContainer(0, noop)\r\n }\r\n },\r\n _getItemFocusLoopSignCorrection: function() {\r\n return this._itemFocusLooped ? -1 : 1\r\n },\r\n _moveFocus: function() {\r\n this.callBase.apply(this, arguments);\r\n this._itemFocusLooped = false\r\n },\r\n _prevItem: function($items) {\r\n var $result = this.callBase.apply(this, arguments);\r\n this._itemFocusLooped = $result.is($items.last());\r\n return $result\r\n },\r\n _nextItem: function($items) {\r\n var $result = this.callBase.apply(this, arguments);\r\n this._itemFocusLooped = $result.is($items.first());\r\n return $result\r\n },\r\n _dimensionChanged: function() {\r\n this._clearItemWidthCache()\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this._dimensionChanged()\r\n }\r\n },\r\n _updateSwipeDisabledState() {\r\n var disabled = this._getSwipeDisabledState();\r\n Swipeable.getInstance(this.$element()).option(\"disabled\", disabled)\r\n },\r\n _optionChanged: function(args) {\r\n var value = args.value;\r\n switch (args.name) {\r\n case \"loop\":\r\n this.option(\"loopItemFocus\", value);\r\n break;\r\n case \"animationEnabled\":\r\n break;\r\n case \"swipeEnabled\":\r\n this._updateSwipeDisabledState();\r\n break;\r\n case \"deferRendering\":\r\n this._invalidate();\r\n break;\r\n case \"items\":\r\n this._updateSwipeDisabledState();\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxMultiView\", MultiView);\r\nexport default MultiView;\r\n","/**\r\n * DevExtreme (esm/ui/number_box/utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n adjust\r\n} from \"../../core/utils/math\";\r\nvar getRealSeparatorIndex = function(str) {\r\n var quoteBalance = 0;\r\n var separatorCount = 0;\r\n for (var i = 0; i < str.length; ++i) {\r\n if (\"'\" === str[i]) {\r\n quoteBalance++\r\n }\r\n if (\".\" === str[i]) {\r\n ++separatorCount;\r\n if (quoteBalance % 2 === 0) {\r\n return {\r\n occurrence: separatorCount,\r\n index: i\r\n }\r\n }\r\n }\r\n }\r\n return {\r\n occurrence: 1,\r\n index: -1\r\n }\r\n};\r\nvar getNthOccurrence = function(str, c, n) {\r\n var i = -1;\r\n while (n-- && i++ < str.length) {\r\n i = str.indexOf(c, i)\r\n }\r\n return i\r\n};\r\nvar splitByIndex = function(str, index) {\r\n if (-1 === index) {\r\n return [str]\r\n }\r\n return [str.slice(0, index), str.slice(index + 1)]\r\n};\r\nvar adjustPercentValue = function(rawValue, precision) {\r\n return rawValue && adjust(rawValue / 100, precision)\r\n};\r\nexport {\r\n getRealSeparatorIndex,\r\n getNthOccurrence,\r\n splitByIndex,\r\n adjustPercentValue\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/number_box/number_box.caret.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n fitIntoRange\r\n} from \"../../core/utils/math\";\r\nimport {\r\n escapeRegExp\r\n} from \"../../core/utils/common\";\r\nimport number from \"../../localization/number\";\r\nimport {\r\n getRealSeparatorIndex,\r\n getNthOccurrence,\r\n splitByIndex\r\n} from \"./utils\";\r\nexport var getCaretBoundaries = function(text, format) {\r\n if (\"string\" === typeof format) {\r\n var signParts = format.split(\";\");\r\n var sign = number.getSign(text, format);\r\n signParts[1] = signParts[1] || \"-\" + signParts[0];\r\n format = signParts[sign < 0 ? 1 : 0];\r\n format = (str = format, str.replace(/'([^']*)'/g, str => str.split(\"\").map(() => \" \").join(\"\").substr(2)));\r\n var prefixStubLength = /^[^#0.,]*/.exec(format)[0].length;\r\n var postfixStubLength = /[^#0.,]*$/.exec(format)[0].length;\r\n return {\r\n start: prefixStubLength,\r\n end: text.length - postfixStubLength\r\n }\r\n } else {\r\n return {\r\n start: 0,\r\n end: text.length\r\n }\r\n }\r\n var str\r\n};\r\nvar _getDigitCountBeforeIndex = function(index, text) {\r\n var decimalSeparator = number.getDecimalSeparator();\r\n var regExp = new RegExp(\"[^0-9\" + escapeRegExp(decimalSeparator) + \"]\", \"g\");\r\n var textBeforePosition = text.slice(0, index);\r\n return textBeforePosition.replace(regExp, \"\").length\r\n};\r\nvar _reverseText = function(text) {\r\n return text.split(\"\").reverse().join(\"\")\r\n};\r\nvar _getDigitPositionByIndex = function(digitIndex, text) {\r\n if (!digitIndex) {\r\n return -1\r\n }\r\n var regExp = /[0-9]/g;\r\n var counter = 1;\r\n var index = null;\r\n var result = regExp.exec(text);\r\n while (result) {\r\n index = result.index;\r\n if (counter >= digitIndex) {\r\n return index\r\n }\r\n counter++;\r\n result = regExp.exec(text)\r\n }\r\n return null === index ? text.length : index\r\n};\r\nvar _trimNonNumericCharsFromEnd = function(text) {\r\n return text.replace(/[^0-9e]+$/, \"\")\r\n};\r\nexport var getCaretWithOffset = function(caret, offset) {\r\n if (void 0 === caret.start) {\r\n caret = {\r\n start: caret,\r\n end: caret\r\n }\r\n }\r\n return {\r\n start: caret.start + offset,\r\n end: caret.end + offset\r\n }\r\n};\r\nexport var getCaretAfterFormat = function(text, formatted, caret, format) {\r\n caret = getCaretWithOffset(caret, 0);\r\n var point = number.getDecimalSeparator();\r\n var isSeparatorBasedText = isSeparatorBasedString(text);\r\n var realSeparatorOccurrenceIndex = getRealSeparatorIndex(format).occurrence;\r\n var pointPosition = isSeparatorBasedText ? 0 : getNthOccurrence(text, point, realSeparatorOccurrenceIndex);\r\n var newPointPosition = getNthOccurrence(formatted, point, realSeparatorOccurrenceIndex);\r\n var textParts = splitByIndex(text, pointPosition);\r\n var formattedParts = splitByIndex(formatted, newPointPosition);\r\n var isCaretOnFloat = -1 !== pointPosition && caret.start > pointPosition;\r\n if (isCaretOnFloat) {\r\n var relativeIndex = caret.start - pointPosition - 1;\r\n var digitsBefore = _getDigitCountBeforeIndex(relativeIndex, textParts[1]);\r\n var newPosition = formattedParts[1] ? newPointPosition + 1 + _getDigitPositionByIndex(digitsBefore, formattedParts[1]) + 1 : formatted.length;\r\n return getCaretInBoundaries(newPosition, formatted, format)\r\n } else {\r\n var formattedIntPart = _trimNonNumericCharsFromEnd(formattedParts[0]);\r\n var positionFromEnd = textParts[0].length - caret.start;\r\n var digitsFromEnd = _getDigitCountBeforeIndex(positionFromEnd, _reverseText(textParts[0]));\r\n var newPositionFromEnd = _getDigitPositionByIndex(digitsFromEnd, _reverseText(formattedIntPart));\r\n var newPositionFromBegin = formattedIntPart.length - (newPositionFromEnd + 1);\r\n return getCaretInBoundaries(newPositionFromBegin, formatted, format)\r\n }\r\n};\r\n\r\nfunction isSeparatorBasedString(text) {\r\n return 1 === text.length && !!text.match(/^[,.][0-9]*$/g)\r\n}\r\nexport var isCaretInBoundaries = function(caret, text, format) {\r\n caret = getCaretWithOffset(caret, 0);\r\n var boundaries = getCaretInBoundaries(caret, text, format);\r\n return caret.start >= boundaries.start && caret.end <= boundaries.end\r\n};\r\nexport function getCaretInBoundaries(caret, text, format) {\r\n caret = getCaretWithOffset(caret, 0);\r\n var boundaries = getCaretBoundaries(text, format);\r\n var adjustedCaret = {\r\n start: fitIntoRange(caret.start, boundaries.start, boundaries.end),\r\n end: fitIntoRange(caret.end, boundaries.start, boundaries.end)\r\n };\r\n return adjustedCaret\r\n}\r\nexport var getCaretOffset = function(previousText, newText, format) {\r\n var previousBoundaries = getCaretBoundaries(previousText, format);\r\n var newBoundaries = getCaretBoundaries(newText, format);\r\n return newBoundaries.start - previousBoundaries.start\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/number_box/number_box.spin.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport {\r\n lock\r\n} from \"../../events/core/emitter.feedback\";\r\nimport holdEvent from \"../../events/hold\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar SPIN_CLASS = \"dx-numberbox-spin\";\r\nvar SPIN_BUTTON_CLASS = \"dx-numberbox-spin-button\";\r\nvar SPIN_HOLD_DELAY = 100;\r\nvar NUMBER_BOX = \"dxNumberBox\";\r\nvar POINTERUP_EVENT_NAME = addNamespace(pointerEvents.up, NUMBER_BOX);\r\nvar POINTERCANCEL_EVENT_NAME = addNamespace(pointerEvents.cancel, NUMBER_BOX);\r\nvar SpinButton = Widget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n direction: \"up\",\r\n onChange: null,\r\n activeStateEnabled: true,\r\n hoverStateEnabled: true\r\n })\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n var direction = SPIN_CLASS + \"-\" + this.option(\"direction\");\r\n this.$element().addClass(SPIN_BUTTON_CLASS).addClass(direction);\r\n this._spinIcon = $(\"<div>\").addClass(direction + \"-icon\").appendTo(this.$element())\r\n },\r\n _render: function() {\r\n this.callBase();\r\n var eventName = addNamespace(pointerEvents.down, this.NAME);\r\n var $element = this.$element();\r\n eventsEngine.off($element, eventName);\r\n eventsEngine.on($element, eventName, this._spinDownHandler.bind(this));\r\n this._spinChangeHandler = this._createActionByOption(\"onChange\")\r\n },\r\n _spinDownHandler: function(e) {\r\n e.preventDefault();\r\n this._clearTimer();\r\n eventsEngine.on(this.$element(), holdEvent.name, function() {\r\n this._feedBackDeferred = new Deferred;\r\n lock(this._feedBackDeferred);\r\n this._spinChangeHandler({\r\n event: e\r\n });\r\n this._holdTimer = setInterval(this._spinChangeHandler, SPIN_HOLD_DELAY, {\r\n event: e\r\n })\r\n }.bind(this));\r\n var document = domAdapter.getDocument();\r\n eventsEngine.on(document, POINTERUP_EVENT_NAME, this._clearTimer.bind(this));\r\n eventsEngine.on(document, POINTERCANCEL_EVENT_NAME, this._clearTimer.bind(this));\r\n this._spinChangeHandler({\r\n event: e\r\n })\r\n },\r\n _dispose: function() {\r\n this._clearTimer();\r\n this.callBase()\r\n },\r\n _clearTimer: function() {\r\n eventsEngine.off(this.$element(), holdEvent.name);\r\n var document = domAdapter.getDocument();\r\n eventsEngine.off(document, POINTERUP_EVENT_NAME);\r\n eventsEngine.off(document, POINTERCANCEL_EVENT_NAME);\r\n if (this._feedBackDeferred) {\r\n this._feedBackDeferred.resolve()\r\n }\r\n if (this._holdTimer) {\r\n clearInterval(this._holdTimer)\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"onChange\":\r\n case \"direction\":\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nexport default SpinButton;\r\n","/**\r\n * DevExtreme (esm/ui/number_box/number_box.spins.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport TextEditorButton from \"../text_box/texteditor_button_collection/button\";\r\nimport SpinButton from \"./number_box.spin\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport pointer from \"../../events/pointer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nvar SPIN_CLASS = \"dx-numberbox-spin\";\r\nvar SPIN_CONTAINER_CLASS = \"dx-numberbox-spin-container\";\r\nvar SPIN_TOUCH_FRIENDLY_CLASS = \"dx-numberbox-spin-touch-friendly\";\r\nexport default class SpinButtons extends TextEditorButton {\r\n _attachEvents(instance, $spinContainer) {\r\n var {\r\n editor: editor\r\n } = this;\r\n var eventName = addNamespace(pointer.down, editor.NAME);\r\n var $spinContainerChildren = $spinContainer.children();\r\n var pointerDownAction = editor._createAction(e => editor._spinButtonsPointerDownHandler(e));\r\n eventsEngine.off($spinContainer, eventName);\r\n eventsEngine.on($spinContainer, eventName, e => pointerDownAction({\r\n event: e\r\n }));\r\n SpinButton.getInstance($spinContainerChildren.eq(0)).option(\"onChange\", e => editor._spinUpChangeHandler(e));\r\n SpinButton.getInstance($spinContainerChildren.eq(1)).option(\"onChange\", e => editor._spinDownChangeHandler(e))\r\n }\r\n _create() {\r\n var {\r\n editor: editor\r\n } = this;\r\n var $spinContainer = $(\"<div>\").addClass(SPIN_CONTAINER_CLASS);\r\n var $spinUp = $(\"<div>\").appendTo($spinContainer);\r\n var $spinDown = $(\"<div>\").appendTo($spinContainer);\r\n var options = this._getOptions();\r\n this._addToContainer($spinContainer);\r\n editor._createComponent($spinUp, SpinButton, extend({\r\n direction: \"up\"\r\n }, options));\r\n editor._createComponent($spinDown, SpinButton, extend({\r\n direction: \"down\"\r\n }, options));\r\n this._legacyRender(editor.$element(), this._isTouchFriendly(), options.visible);\r\n return {\r\n instance: $spinContainer,\r\n $element: $spinContainer\r\n }\r\n }\r\n _getOptions() {\r\n var {\r\n editor: editor\r\n } = this;\r\n var visible = this._isVisible();\r\n var disabled = editor.option(\"disabled\");\r\n return {\r\n visible: visible,\r\n disabled: disabled\r\n }\r\n }\r\n _isVisible() {\r\n var {\r\n editor: editor\r\n } = this;\r\n return super._isVisible() && editor.option(\"showSpinButtons\")\r\n }\r\n _isTouchFriendly() {\r\n var {\r\n editor: editor\r\n } = this;\r\n return editor.option(\"showSpinButtons\") && editor.option(\"useLargeSpinButtons\")\r\n }\r\n _legacyRender($editor, isTouchFriendly, isVisible) {\r\n $editor.toggleClass(SPIN_TOUCH_FRIENDLY_CLASS, isTouchFriendly);\r\n $editor.toggleClass(SPIN_CLASS, isVisible)\r\n }\r\n update() {\r\n var shouldUpdate = super.update();\r\n if (shouldUpdate) {\r\n var {\r\n editor: editor,\r\n instance: instance\r\n } = this;\r\n var $editor = editor.$element();\r\n var isVisible = this._isVisible();\r\n var isTouchFriendly = this._isTouchFriendly();\r\n var $spinButtons = instance.children();\r\n var spinUp = SpinButton.getInstance($spinButtons.eq(0));\r\n var spinDown = SpinButton.getInstance($spinButtons.eq(1));\r\n var options = this._getOptions();\r\n spinUp.option(options);\r\n spinDown.option(options);\r\n this._legacyRender($editor, isTouchFriendly, isVisible)\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/number_box/number_box.base.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n applyServerDecimalSeparator,\r\n ensureDefined\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n fitIntoRange,\r\n inRange\r\n} from \"../../core/utils/math\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport devices from \"../../core/devices\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport TextEditor from \"../text_box/ui.text_editor\";\r\nimport {\r\n addNamespace,\r\n getChar,\r\n isCommandKeyPressed,\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport SpinButtons from \"./number_box.spins\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar math = Math;\r\nvar WIDGET_CLASS = \"dx-numberbox\";\r\nvar FIREFOX_CONTROL_KEYS = [\"tab\", \"del\", \"backspace\", \"leftArrow\", \"rightArrow\", \"home\", \"end\", \"enter\"];\r\nvar FORCE_VALUECHANGE_EVENT_NAMESPACE = \"NumberBoxForceValueChange\";\r\nvar NumberBoxBase = TextEditor.inherit({\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), {\r\n upArrow: function(e) {\r\n if (!isCommandKeyPressed(e)) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this._spinUpChangeHandler(e)\r\n }\r\n },\r\n downArrow: function(e) {\r\n if (!isCommandKeyPressed(e)) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this._spinDownChangeHandler(e)\r\n }\r\n },\r\n enter: function() {}\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n value: 0,\r\n min: void 0,\r\n max: void 0,\r\n step: 1,\r\n showSpinButtons: false,\r\n useLargeSpinButtons: true,\r\n mode: \"text\",\r\n invalidValueMessage: messageLocalization.format(\"dxNumberBox-invalidValueMessage\"),\r\n buttons: void 0\r\n })\r\n },\r\n _useTemplates: function() {\r\n return false\r\n },\r\n _getDefaultButtons: function() {\r\n return this.callBase().concat([{\r\n name: \"spins\",\r\n Ctor: SpinButtons\r\n }])\r\n },\r\n _isSupportInputMode: function() {\r\n var version = parseFloat(browser.version);\r\n return browser.chrome && version >= 66 || browser.safari && version >= 12\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return devices.real().generic && !devices.isSimulator()\r\n },\r\n options: {\r\n useLargeSpinButtons: false\r\n }\r\n }, {\r\n device: function() {\r\n return \"desktop\" !== devices.real().deviceType && !this._isSupportInputMode()\r\n }.bind(this),\r\n options: {\r\n mode: \"number\"\r\n }\r\n }])\r\n },\r\n _initMarkup: function() {\r\n this._renderSubmitElement();\r\n this.$element().addClass(WIDGET_CLASS);\r\n this.callBase()\r\n },\r\n _getDefaultAttributes: function() {\r\n var attributes = this.callBase();\r\n attributes.inputmode = \"decimal\";\r\n return attributes\r\n },\r\n _renderContentImpl: function() {\r\n this.option(\"isValid\") && this._validateValue(this.option(\"value\"));\r\n this.setAria(\"role\", \"spinbutton\")\r\n },\r\n _renderSubmitElement: function() {\r\n this._$submitElement = $(\"<input>\").attr(\"type\", \"hidden\").appendTo(this.$element());\r\n this._setSubmitValue(this.option(\"value\"))\r\n },\r\n _setSubmitValue: function(value) {\r\n this._getSubmitElement().val(applyServerDecimalSeparator(value))\r\n },\r\n _getSubmitElement: function() {\r\n return this._$submitElement\r\n },\r\n _keyPressHandler: function(e) {\r\n this.callBase(e);\r\n var char = getChar(e);\r\n var isInputCharValid = /[\\d.,eE\\-+]/.test(char);\r\n if (!isInputCharValid) {\r\n var keyName = normalizeKeyName(e);\r\n if (isCommandKeyPressed(e) || keyName && FIREFOX_CONTROL_KEYS.includes(keyName)) {\r\n return\r\n }\r\n e.preventDefault();\r\n return false\r\n }\r\n this._keyPressed = true\r\n },\r\n _onMouseWheel: function(dxEvent) {\r\n dxEvent.delta > 0 ? this._spinValueChange(1, dxEvent) : this._spinValueChange(-1, dxEvent)\r\n },\r\n _renderValue: function() {\r\n var inputValue = this._input().val();\r\n var value = this.option(\"value\");\r\n if (!inputValue.length || Number(inputValue) !== value) {\r\n this._forceValueRender();\r\n this._toggleEmptinessEventHandler()\r\n }\r\n var valueText = isDefined(value) ? null : messageLocalization.format(\"dxNumberBox-noDataText\");\r\n this.setAria({\r\n valuenow: ensureDefined(value, \"\"),\r\n valuetext: valueText\r\n });\r\n this.option(\"text\", this._input().val());\r\n this._updateButtons();\r\n return (new Deferred).resolve()\r\n },\r\n _forceValueRender: function() {\r\n var value = this.option(\"value\");\r\n var number = Number(value);\r\n var formattedValue = isNaN(number) ? \"\" : this._applyDisplayValueFormatter(value);\r\n this._renderDisplayText(formattedValue)\r\n },\r\n _applyDisplayValueFormatter: function(value) {\r\n return this.option(\"displayValueFormatter\")(value)\r\n },\r\n _renderProps: function() {\r\n this._input().prop({\r\n min: this.option(\"min\"),\r\n max: this.option(\"max\"),\r\n step: this.option(\"step\")\r\n });\r\n this.setAria({\r\n valuemin: ensureDefined(this.option(\"min\"), \"\"),\r\n valuemax: ensureDefined(this.option(\"max\"), \"\")\r\n })\r\n },\r\n _spinButtonsPointerDownHandler: function() {\r\n var $input = this._input();\r\n if (!this.option(\"useLargeSpinButtons\") && domAdapter.getActiveElement() !== $input[0]) {\r\n eventsEngine.trigger($input, \"focus\")\r\n }\r\n },\r\n _spinUpChangeHandler: function(e) {\r\n if (!this.option(\"readOnly\")) {\r\n this._spinValueChange(1, e.event || e)\r\n }\r\n },\r\n _spinDownChangeHandler: function(e) {\r\n if (!this.option(\"readOnly\")) {\r\n this._spinValueChange(-1, e.event || e)\r\n }\r\n },\r\n _spinValueChange: function(sign, dxEvent) {\r\n var step = parseFloat(this.option(\"step\"));\r\n if (0 === step) {\r\n return\r\n }\r\n var value = parseFloat(this._normalizeInputValue()) || 0;\r\n value = this._correctRounding(value, step * sign);\r\n var min = this.option(\"min\");\r\n var max = this.option(\"max\");\r\n if (isDefined(min)) {\r\n value = Math.max(min, value)\r\n }\r\n if (isDefined(max)) {\r\n value = Math.min(max, value)\r\n }\r\n this._saveValueChangeEvent(dxEvent);\r\n this.option(\"value\", value)\r\n },\r\n _correctRounding: function(value, step) {\r\n var regex = /[,.](.*)/;\r\n var isFloatValue = regex.test(value);\r\n var isFloatStep = regex.test(step);\r\n if (isFloatValue || isFloatStep) {\r\n var valueAccuracy = isFloatValue ? regex.exec(value)[0].length : 0;\r\n var stepAccuracy = isFloatStep ? regex.exec(step)[0].length : 0;\r\n var accuracy = math.max(valueAccuracy, stepAccuracy);\r\n value = this._round(value + step, accuracy);\r\n return value\r\n }\r\n return value + step\r\n },\r\n _round: function(value, precision) {\r\n precision = precision || 0;\r\n var multiplier = Math.pow(10, precision);\r\n value *= multiplier;\r\n value = Math.round(value) / multiplier;\r\n return value\r\n },\r\n _renderValueChangeEvent: function() {\r\n this.callBase();\r\n var forceValueChangeEvent = addNamespace(\"focusout\", FORCE_VALUECHANGE_EVENT_NAMESPACE);\r\n eventsEngine.off(this.element(), forceValueChangeEvent);\r\n eventsEngine.on(this.element(), forceValueChangeEvent, this._forceRefreshInputValue.bind(this))\r\n },\r\n _forceRefreshInputValue: function() {\r\n if (\"number\" === this.option(\"mode\")) {\r\n return\r\n }\r\n var $input = this._input();\r\n var formattedValue = this._applyDisplayValueFormatter(this.option(\"value\"));\r\n $input.val(null);\r\n $input.val(formattedValue)\r\n },\r\n _valueChangeEventHandler: function(e) {\r\n var $input = this._input();\r\n var inputValue = this._normalizeText();\r\n var value = this._parseValue(inputValue);\r\n var valueHasDigits = \".\" !== inputValue && \"-\" !== inputValue;\r\n if (this._isValueValid() && !this._validateValue(value)) {\r\n $input.val(this._applyDisplayValueFormatter(value));\r\n return\r\n }\r\n if (valueHasDigits) {\r\n this.callBase(e, isNaN(value) ? null : value)\r\n }\r\n this._applyValueBoundaries(inputValue, value);\r\n this.validationRequest.fire({\r\n value: value,\r\n editor: this\r\n })\r\n },\r\n _applyValueBoundaries: function(inputValue, parsedValue) {\r\n var isValueIncomplete = this._isValueIncomplete(inputValue);\r\n var isValueCorrect = this._isValueInRange(inputValue);\r\n if (!isValueIncomplete && !isValueCorrect && null !== parsedValue) {\r\n if (Number(inputValue) !== parsedValue) {\r\n this._input().val(this._applyDisplayValueFormatter(parsedValue))\r\n }\r\n }\r\n },\r\n _replaceCommaWithPoint: function(value) {\r\n return value.replace(\",\", \".\")\r\n },\r\n _inputIsInvalid: function() {\r\n var isNumberMode = \"number\" === this.option(\"mode\");\r\n var validityState = this._input().get(0).validity;\r\n return isNumberMode && validityState && validityState.badInput\r\n },\r\n _renderDisplayText: function(text) {\r\n if (this._inputIsInvalid()) {\r\n return\r\n }\r\n this.callBase(text)\r\n },\r\n _isValueIncomplete: function(value) {\r\n return /(^-$)|(^-?\\d*\\.$)|(\\d+e-?$)/i.test(value)\r\n },\r\n _isValueInRange: function(value) {\r\n return inRange(value, this.option(\"min\"), this.option(\"max\"))\r\n },\r\n _isNumber: function(value) {\r\n return null !== this._parseValue(value)\r\n },\r\n _validateValue: function(value) {\r\n var inputValue = this._normalizeText();\r\n var isValueValid = this._isValueValid();\r\n var isValid = true;\r\n var isNumber = this._isNumber(inputValue);\r\n if (isNaN(Number(value))) {\r\n isValid = false\r\n }\r\n if (!value && isValueValid) {\r\n isValid = true\r\n } else if (!isNumber && !isValueValid) {\r\n isValid = false\r\n }\r\n this.option({\r\n isValid: isValid,\r\n validationError: isValid ? null : {\r\n editorSpecific: true,\r\n message: this.option(\"invalidValueMessage\")\r\n }\r\n });\r\n return isValid\r\n },\r\n _normalizeInputValue: function() {\r\n return this._parseValue(this._normalizeText())\r\n },\r\n _normalizeText: function() {\r\n var value = this._input().val().trim();\r\n return this._replaceCommaWithPoint(value)\r\n },\r\n _parseValue: function(value) {\r\n var number = parseFloat(value);\r\n if (isNaN(number)) {\r\n return null\r\n }\r\n return fitIntoRange(number, this.option(\"min\"), this.option(\"max\"))\r\n },\r\n _clearValue: function() {\r\n if (this._inputIsInvalid()) {\r\n this._input().val(\"\");\r\n this._validateValue()\r\n }\r\n this.callBase()\r\n },\r\n reset: function() {\r\n if (null === this.option(\"value\")) {\r\n this.option(\"text\", \"\");\r\n if (this._input().length) {\r\n this._renderValue()\r\n }\r\n } else {\r\n this.option(\"value\", null)\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"value\":\r\n this._validateValue(args.value);\r\n this._setSubmitValue(args.value);\r\n this.callBase(args);\r\n this._resumeValueChangeAction();\r\n break;\r\n case \"step\":\r\n this._renderProps();\r\n break;\r\n case \"min\":\r\n case \"max\":\r\n this._renderProps();\r\n this.option(\"value\", this._parseValue(this.option(\"value\")));\r\n break;\r\n case \"showSpinButtons\":\r\n case \"useLargeSpinButtons\":\r\n this._updateButtons([\"spins\"]);\r\n break;\r\n case \"invalidValueMessage\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nexport default NumberBoxBase;\r\n","/**\r\n * DevExtreme (esm/ui/number_box/number_box.mask.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isNumeric,\r\n isDefined,\r\n isFunction,\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n fitIntoRange,\r\n inRange\r\n} from \"../../core/utils/math\";\r\nimport number from \"../../localization/number\";\r\nimport {\r\n getCaretWithOffset,\r\n isCaretInBoundaries,\r\n getCaretInBoundaries,\r\n getCaretBoundaries,\r\n getCaretAfterFormat,\r\n getCaretOffset\r\n} from \"./number_box.caret\";\r\nimport {\r\n getFormat as getLDMLFormat\r\n} from \"../../localization/ldml/number\";\r\nimport NumberBoxBase from \"./number_box.base\";\r\nimport {\r\n addNamespace,\r\n getChar,\r\n normalizeKeyName,\r\n isCommandKeyPressed\r\n} from \"../../events/utils/index\";\r\nimport {\r\n ensureDefined,\r\n escapeRegExp\r\n} from \"../../core/utils/common\";\r\nimport {\r\n getRealSeparatorIndex,\r\n getNthOccurrence,\r\n splitByIndex,\r\n adjustPercentValue\r\n} from \"./utils\";\r\nvar NUMBER_FORMATTER_NAMESPACE = \"dxNumberFormatter\";\r\nvar MOVE_FORWARD = 1;\r\nvar MOVE_BACKWARD = -1;\r\nvar MINUS = \"-\";\r\nvar MINUS_KEY = \"minus\";\r\nvar INPUT_EVENT = \"input\";\r\nvar CARET_TIMEOUT_DURATION = 0;\r\nvar NumberBoxMask = NumberBoxBase.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n useMaskBehavior: true,\r\n format: null\r\n })\r\n },\r\n _isDeleteKey: function(key) {\r\n return \"del\" === key\r\n },\r\n _supportedKeys: function() {\r\n if (!this._useMaskBehavior()) {\r\n return this.callBase()\r\n }\r\n return extend(this.callBase(), {\r\n minus: this._revertSign.bind(this),\r\n del: this._removeHandler.bind(this),\r\n backspace: this._removeHandler.bind(this),\r\n leftArrow: this._arrowHandler.bind(this, MOVE_BACKWARD),\r\n rightArrow: this._arrowHandler.bind(this, MOVE_FORWARD),\r\n home: this._moveCaretToBoundaryEventHandler.bind(this, MOVE_FORWARD),\r\n enter: this._updateFormattedValue.bind(this),\r\n end: this._moveCaretToBoundaryEventHandler.bind(this, MOVE_BACKWARD)\r\n })\r\n },\r\n _getTextSeparatorIndex: function(text) {\r\n var decimalSeparator = number.getDecimalSeparator();\r\n var realSeparatorOccurrenceIndex = getRealSeparatorIndex(this.option(\"format\")).occurrence;\r\n return getNthOccurrence(text, decimalSeparator, realSeparatorOccurrenceIndex)\r\n },\r\n _focusInHandler: function(e) {\r\n if (!this._preventNestedFocusEvent(e)) {\r\n this.clearCaretTimeout();\r\n this._caretTimeout = setTimeout(function() {\r\n this._caretTimeout = void 0;\r\n var caret = this._caret();\r\n if (caret.start === caret.end && this._useMaskBehavior()) {\r\n var text = this._getInputVal();\r\n var decimalSeparatorIndex = this._getTextSeparatorIndex(text);\r\n if (decimalSeparatorIndex >= 0) {\r\n this._caret({\r\n start: decimalSeparatorIndex,\r\n end: decimalSeparatorIndex\r\n })\r\n } else {\r\n this._moveCaretToBoundaryEventHandler(MOVE_BACKWARD, e)\r\n }\r\n }\r\n }.bind(this), CARET_TIMEOUT_DURATION)\r\n }\r\n this.callBase(e)\r\n },\r\n _focusOutHandler: function(e) {\r\n var shouldHandleEvent = !this._preventNestedFocusEvent(e);\r\n if (shouldHandleEvent) {\r\n this._focusOutOccurs = true;\r\n if (this._useMaskBehavior()) {\r\n this._updateFormattedValue()\r\n }\r\n }\r\n this.callBase(e);\r\n if (shouldHandleEvent) {\r\n this._focusOutOccurs = false\r\n }\r\n },\r\n _hasValueBeenChanged(inputValue) {\r\n var format = this._getFormatPattern();\r\n var value = this.option(\"value\");\r\n var formatted = this._format(value, format) || \"\";\r\n return formatted !== inputValue\r\n },\r\n _updateFormattedValue: function() {\r\n var inputValue = this._getInputVal();\r\n if (this._hasValueBeenChanged(inputValue)) {\r\n this._updateParsedValue();\r\n this._adjustParsedValue();\r\n this._setTextByParsedValue();\r\n if (this._parsedValue !== this.option(\"value\")) {\r\n eventsEngine.trigger(this._input(), \"change\")\r\n }\r\n }\r\n },\r\n _arrowHandler: function(step, e) {\r\n if (!this._useMaskBehavior()) {\r\n return\r\n }\r\n var text = this._getInputVal();\r\n var format = this._getFormatPattern();\r\n var nextCaret = getCaretWithOffset(this._caret(), step);\r\n if (!isCaretInBoundaries(nextCaret, text, format)) {\r\n nextCaret = step === MOVE_FORWARD ? nextCaret.end : nextCaret.start;\r\n e.preventDefault();\r\n this._caret(getCaretInBoundaries(nextCaret, text, format))\r\n }\r\n },\r\n _moveCaretToBoundary: function(direction) {\r\n var boundaries = getCaretBoundaries(this._getInputVal(), this._getFormatPattern());\r\n var newCaret = getCaretWithOffset(direction === MOVE_FORWARD ? boundaries.start : boundaries.end, 0);\r\n this._caret(newCaret)\r\n },\r\n _moveCaretToBoundaryEventHandler: function(direction, e) {\r\n if (!this._useMaskBehavior() || e && e.shiftKey) {\r\n return\r\n }\r\n this._moveCaretToBoundary(direction);\r\n e && e.preventDefault()\r\n },\r\n _shouldMoveCaret: function(text, caret) {\r\n var decimalSeparator = number.getDecimalSeparator();\r\n var isDecimalSeparatorNext = text.charAt(caret.end) === decimalSeparator;\r\n var moveToFloat = (this._lastKey === decimalSeparator || \".\" === this._lastKey || \",\" === this._lastKey) && isDecimalSeparatorNext;\r\n return moveToFloat\r\n },\r\n _getInputVal: function() {\r\n return number.convertDigits(this._input().val(), true)\r\n },\r\n _keyboardHandler: function(e) {\r\n this.clearCaretTimeout();\r\n this._lastKey = number.convertDigits(getChar(e), true);\r\n this._lastKeyName = normalizeKeyName(e);\r\n if (!this._shouldHandleKey(e.originalEvent)) {\r\n return this.callBase(e)\r\n }\r\n var normalizedText = this._getInputVal();\r\n var caret = this._caret();\r\n var enteredChar = this._lastKeyName === MINUS_KEY ? \"\" : this._lastKey;\r\n var newValue = this._tryParse(normalizedText, caret, enteredChar);\r\n if (this._shouldMoveCaret(normalizedText, caret)) {\r\n this._moveCaret(1);\r\n e.originalEvent.preventDefault()\r\n }\r\n if (void 0 === newValue) {\r\n if (this._lastKeyName !== MINUS_KEY) {\r\n e.originalEvent.preventDefault()\r\n }\r\n } else {\r\n this._parsedValue = newValue\r\n }\r\n return this.callBase(e)\r\n },\r\n _keyPressHandler: function(e) {\r\n if (!this._useMaskBehavior()) {\r\n this.callBase(e)\r\n }\r\n },\r\n _removeHandler: function(e) {\r\n var caret = this._caret();\r\n var text = this._getInputVal();\r\n var start = caret.start;\r\n var end = caret.end;\r\n this._lastKey = getChar(e);\r\n this._lastKeyName = normalizeKeyName(e);\r\n var isDeleteKey = this._isDeleteKey(this._lastKeyName);\r\n var isBackspaceKey = !isDeleteKey;\r\n if (start === end) {\r\n var caretPosition = start;\r\n var canDelete = isBackspaceKey && caretPosition > 0 || isDeleteKey && caretPosition < text.length;\r\n if (canDelete) {\r\n isDeleteKey && end++;\r\n isBackspaceKey && start--\r\n } else {\r\n e.preventDefault();\r\n return\r\n }\r\n }\r\n var char = text.slice(start, end);\r\n if (this._isStub(char)) {\r\n this._moveCaret(isDeleteKey ? 1 : -1);\r\n if (this._parsedValue < 0 || 1 / this._parsedValue === -1 / 0) {\r\n this._revertSign(e);\r\n this._setTextByParsedValue();\r\n var shouldTriggerInputEvent = this.option(\"valueChangeEvent\").split(\" \").includes(\"input\");\r\n if (shouldTriggerInputEvent) {\r\n eventsEngine.trigger(this._input(), \"input\")\r\n }\r\n }\r\n e.preventDefault();\r\n return\r\n }\r\n var decimalSeparator = number.getDecimalSeparator();\r\n if (char === decimalSeparator) {\r\n var decimalSeparatorIndex = text.indexOf(decimalSeparator);\r\n if (this._isNonStubAfter(decimalSeparatorIndex + 1)) {\r\n this._moveCaret(isDeleteKey ? 1 : -1);\r\n e.preventDefault()\r\n }\r\n return\r\n }\r\n if (end - start < text.length) {\r\n var editedText = this._replaceSelectedText(text, {\r\n start: start,\r\n end: end\r\n }, \"\");\r\n var noDigits = editedText.search(/[0-9]/) < 0;\r\n if (noDigits && this._isValueInRange(0)) {\r\n this._parsedValue = this._parsedValue < 0 || 1 / this._parsedValue === -1 / 0 ? -0 : 0;\r\n return\r\n }\r\n }\r\n var valueAfterRemoving = this._tryParse(text, {\r\n start: start,\r\n end: end\r\n }, \"\");\r\n if (void 0 === valueAfterRemoving) {\r\n e.preventDefault()\r\n } else {\r\n this._parsedValue = valueAfterRemoving\r\n }\r\n },\r\n _isPercentFormat: function() {\r\n var format = this._getFormatPattern();\r\n var noEscapedFormat = format.replace(/'[^']+'/g, \"\");\r\n return -1 !== noEscapedFormat.indexOf(\"%\")\r\n },\r\n _parse: function(text, format) {\r\n var formatOption = this.option(\"format\");\r\n var isCustomParser = isFunction(formatOption.parser);\r\n var parser = isCustomParser ? formatOption.parser : number.parse;\r\n var integerPartStartIndex = 0;\r\n if (!isCustomParser) {\r\n var formatPointIndex = getRealSeparatorIndex(format).index;\r\n var textPointIndex = this._getTextSeparatorIndex(text);\r\n var formatIntegerPartLength = -1 !== formatPointIndex ? formatPointIndex : format.length;\r\n var textIntegerPartLength = -1 !== textPointIndex ? textPointIndex : text.length;\r\n if (textIntegerPartLength > formatIntegerPartLength && -1 === format.indexOf(\"#\")) {\r\n integerPartStartIndex = textIntegerPartLength - formatIntegerPartLength\r\n }\r\n }\r\n text = text.substr(integerPartStartIndex);\r\n return parser(text, format)\r\n },\r\n _format: function(value, format) {\r\n var formatOption = this.option(\"format\");\r\n var customFormatter = (null === formatOption || void 0 === formatOption ? void 0 : formatOption.formatter) || formatOption;\r\n var formatter = isFunction(customFormatter) ? customFormatter : number.format;\r\n var formattedValue = null === value ? \"\" : formatter(value, format);\r\n return formattedValue\r\n },\r\n _getFormatPattern: function() {\r\n if (!this._currentFormat) {\r\n this._updateFormat()\r\n }\r\n return this._currentFormat\r\n },\r\n _updateFormat: function() {\r\n var format = this.option(\"format\");\r\n var isCustomParser = isFunction(null === format || void 0 === format ? void 0 : format.parser);\r\n var isLDMLPattern = isString(format) && (format.indexOf(\"0\") >= 0 || format.indexOf(\"#\") >= 0);\r\n var isExponentialFormat = \"exponential\" === format || \"exponential\" === (null === format || void 0 === format ? void 0 : format.type);\r\n var shouldUseFormatAsIs = isCustomParser || isLDMLPattern || isExponentialFormat;\r\n this._currentFormat = shouldUseFormatAsIs ? format : getLDMLFormat(value => {\r\n var text = this._format(value, format);\r\n return number.convertDigits(text, true)\r\n })\r\n },\r\n _getFormatForSign: function(text) {\r\n var format = this._getFormatPattern();\r\n if (isString(format)) {\r\n var signParts = format.split(\";\");\r\n var sign = number.getSign(text, format);\r\n signParts[1] = signParts[1] || \"-\" + signParts[0];\r\n return sign < 0 ? signParts[1] : signParts[0]\r\n } else {\r\n var _sign = number.getSign(text);\r\n return _sign < 0 ? \"-\" : \"\"\r\n }\r\n },\r\n _removeStubs: function(text, excludeComma) {\r\n var format = this._getFormatForSign(text);\r\n var thousandsSeparator = number.getThousandsSeparator();\r\n var stubs = this._getStubs(format);\r\n var result = text;\r\n if (stubs.length) {\r\n var prefixStubs = stubs[0];\r\n var postfixRegex = new RegExp(\"(\" + escapeRegExp(stubs[1] || \"\") + \")$\", \"g\");\r\n var decoratorsRegex = new RegExp(\"[-\" + escapeRegExp(excludeComma ? \"\" : thousandsSeparator) + \"]\", \"g\");\r\n result = result.replace(prefixStubs, \"\").replace(postfixRegex, \"\").replace(decoratorsRegex, \"\")\r\n }\r\n return result\r\n },\r\n _getStubs: function(format) {\r\n var regExpResult = /[^']([#0.,]+)/g.exec(format);\r\n var pattern = regExpResult && regExpResult[0].trim();\r\n return format.split(pattern).map((function(stub) {\r\n return stub.replace(/'/g, \"\")\r\n }))\r\n },\r\n _truncateToPrecision: function(value, maxPrecision) {\r\n if (isDefined(value)) {\r\n var strValue = value.toString();\r\n var decimalSeparatorIndex = strValue.indexOf(\".\");\r\n if (strValue && decimalSeparatorIndex > -1) {\r\n var parsedValue = parseFloat(strValue.substr(0, decimalSeparatorIndex + maxPrecision + 1));\r\n return isNaN(parsedValue) ? value : parsedValue\r\n }\r\n }\r\n return value\r\n },\r\n _tryParse: function(text, selection, char) {\r\n var isTextSelected = selection.start !== selection.end;\r\n var isWholeTextSelected = isTextSelected && 0 === selection.start && selection.end === text.length;\r\n var decimalSeparator = number.getDecimalSeparator();\r\n if (isWholeTextSelected && char === decimalSeparator) {\r\n return 0\r\n }\r\n var editedText = this._replaceSelectedText(text, selection, char);\r\n var format = this._getFormatPattern();\r\n var parsedValue = this._getParsedValue(editedText, format);\r\n var maxPrecision = !format.parser && this._getPrecisionLimits(editedText).max;\r\n var isValueChanged = parsedValue !== this._parsedValue;\r\n var isDecimalPointRestricted = char === decimalSeparator && 0 === maxPrecision;\r\n var isUselessCharRestricted = !isTextSelected && !isValueChanged && char !== MINUS && !this._isValueIncomplete(editedText) && this._isStub(char);\r\n if (isDecimalPointRestricted || isUselessCharRestricted) {\r\n return\r\n }\r\n if (\"\" === this._removeStubs(editedText)) {\r\n parsedValue = Math.abs(0 * this._parsedValue)\r\n }\r\n if (isNaN(parsedValue)) {\r\n return\r\n }\r\n var value = null === parsedValue ? this._parsedValue : parsedValue;\r\n parsedValue = maxPrecision ? this._truncateToPrecision(value, maxPrecision) : parsedValue;\r\n return !format.parser && this._isPercentFormat() ? adjustPercentValue(parsedValue, maxPrecision) : parsedValue\r\n },\r\n _getParsedValue: function(text, format) {\r\n var sign = number.getSign(text, (null === format || void 0 === format ? void 0 : format.formatter) || format);\r\n var textWithoutStubs = this._removeStubs(text, true);\r\n var parsedValue = this._parse(textWithoutStubs, format);\r\n var parsedValueSign = parsedValue < 0 ? -1 : 1;\r\n var parsedValueWithSign = isNumeric(parsedValue) && sign !== parsedValueSign ? sign * parsedValue : parsedValue;\r\n return parsedValueWithSign\r\n },\r\n _isValueIncomplete: function(text) {\r\n if (!this._useMaskBehavior()) {\r\n return this.callBase(text)\r\n }\r\n var caret = this._caret();\r\n var point = number.getDecimalSeparator();\r\n var pointIndex = this._getTextSeparatorIndex(text);\r\n var isCaretOnFloat = pointIndex >= 0 && pointIndex < caret.start;\r\n var textParts = this._removeStubs(text, true).split(point);\r\n if (!isCaretOnFloat || 2 !== textParts.length) {\r\n return false\r\n }\r\n var floatLength = textParts[1].length;\r\n var format = this._getFormatPattern();\r\n var isCustomParser = !!format.parser;\r\n var precision = !isCustomParser && this._getPrecisionLimits(this._getFormatPattern(), text);\r\n var isPrecisionInRange = isCustomParser ? true : inRange(floatLength, precision.min, precision.max);\r\n var endsWithZero = \"0\" === textParts[1].charAt(floatLength - 1);\r\n return isPrecisionInRange && (endsWithZero || !floatLength)\r\n },\r\n _isValueInRange: function(value) {\r\n var min = ensureDefined(this.option(\"min\"), -1 / 0);\r\n var max = ensureDefined(this.option(\"max\"), 1 / 0);\r\n return inRange(value, min, max)\r\n },\r\n _setInputText: function(text) {\r\n var normalizedText = number.convertDigits(text, true);\r\n var newCaret = getCaretAfterFormat(this._getInputVal(), normalizedText, this._caret(), this._getFormatPattern());\r\n this._input().val(text);\r\n this._toggleEmptinessEventHandler();\r\n this._formattedValue = text;\r\n if (!this._focusOutOccurs) {\r\n this._caret(newCaret)\r\n }\r\n },\r\n _useMaskBehavior: function() {\r\n return !!this.option(\"format\") && this.option(\"useMaskBehavior\")\r\n },\r\n _renderInputType: function() {\r\n var isNumberType = \"number\" === this.option(\"mode\");\r\n var isDesktop = \"desktop\" === devices.real().deviceType;\r\n if (this._useMaskBehavior() && isNumberType) {\r\n this._setInputType(isDesktop || this._isSupportInputMode() ? \"text\" : \"tel\")\r\n } else {\r\n this.callBase()\r\n }\r\n },\r\n _isChar: function(str) {\r\n return isString(str) && 1 === str.length\r\n },\r\n _moveCaret: function(offset) {\r\n if (!offset) {\r\n return\r\n }\r\n var newCaret = getCaretWithOffset(this._caret(), offset);\r\n var adjustedCaret = getCaretInBoundaries(newCaret, this._getInputVal(), this._getFormatPattern());\r\n this._caret(adjustedCaret)\r\n },\r\n _shouldHandleKey: function(e) {\r\n var keyName = normalizeKeyName(e);\r\n var isSpecialChar = isCommandKeyPressed(e) || e.altKey || e.shiftKey || !this._isChar(keyName);\r\n var isMinusKey = keyName === MINUS_KEY;\r\n var useMaskBehavior = this._useMaskBehavior();\r\n return useMaskBehavior && !isSpecialChar && !isMinusKey\r\n },\r\n _renderInput: function() {\r\n this.callBase();\r\n this._renderFormatter()\r\n },\r\n _renderFormatter: function() {\r\n this._clearCache();\r\n this._detachFormatterEvents();\r\n if (this._useMaskBehavior()) {\r\n this._attachFormatterEvents()\r\n }\r\n },\r\n _detachFormatterEvents: function() {\r\n eventsEngine.off(this._input(), \".\" + NUMBER_FORMATTER_NAMESPACE)\r\n },\r\n _isInputFromPaste: function(e) {\r\n var inputType = e.originalEvent && e.originalEvent.inputType;\r\n if (isDefined(inputType)) {\r\n return \"insertFromPaste\" === inputType\r\n } else {\r\n return this._isValuePasted\r\n }\r\n },\r\n _attachFormatterEvents: function() {\r\n var $input = this._input();\r\n eventsEngine.on($input, addNamespace(INPUT_EVENT, NUMBER_FORMATTER_NAMESPACE), function(e) {\r\n this._formatValue(e);\r\n this._isValuePasted = false\r\n }.bind(this));\r\n eventsEngine.on($input, addNamespace(\"dxclick\", NUMBER_FORMATTER_NAMESPACE), function() {\r\n if (!this._caretTimeout) {\r\n this._caretTimeout = setTimeout(function() {\r\n this._caretTimeout = void 0;\r\n this._caret(getCaretInBoundaries(this._caret(), this._getInputVal(), this._getFormatPattern()))\r\n }.bind(this), CARET_TIMEOUT_DURATION)\r\n }\r\n }.bind(this));\r\n eventsEngine.on($input, \"dxdblclick\", function() {\r\n this.clearCaretTimeout()\r\n }.bind(this))\r\n },\r\n clearCaretTimeout: function() {\r\n clearTimeout(this._caretTimeout);\r\n this._caretTimeout = void 0\r\n },\r\n _forceRefreshInputValue: function() {\r\n if (!this._useMaskBehavior()) {\r\n return this.callBase()\r\n }\r\n },\r\n _isNonStubAfter: function(index) {\r\n var text = this._getInputVal().slice(index);\r\n return text && !this._isStub(text, true)\r\n },\r\n _isStub: function(str, isString) {\r\n var escapedDecimalSeparator = escapeRegExp(number.getDecimalSeparator());\r\n var regExpString = \"^[^0-9\" + escapedDecimalSeparator + \"]+$\";\r\n var stubRegExp = new RegExp(regExpString, \"g\");\r\n return stubRegExp.test(str) && (isString || this._isChar(str))\r\n },\r\n _parseValue: function(text) {\r\n if (!this._useMaskBehavior()) {\r\n return this.callBase(text)\r\n }\r\n return this._parsedValue\r\n },\r\n _getPrecisionLimits: function(text) {\r\n var currentFormat = this._getFormatForSign(text);\r\n var realSeparatorIndex = getRealSeparatorIndex(currentFormat).index;\r\n var floatPart = (splitByIndex(currentFormat, realSeparatorIndex)[1] || \"\").replace(/[^#0]/g, \"\");\r\n var minPrecision = floatPart.replace(/^(0*)#*/, \"$1\").length;\r\n var maxPrecision = floatPart.length;\r\n return {\r\n min: minPrecision,\r\n max: maxPrecision\r\n }\r\n },\r\n _revertSign: function(e) {\r\n if (!this._useMaskBehavior()) {\r\n return\r\n }\r\n var caret = this._caret();\r\n if (caret.start !== caret.end) {\r\n if (normalizeKeyName(e) === MINUS_KEY) {\r\n this._applyRevertedSign(e, caret, true);\r\n return\r\n } else {\r\n this._caret(getCaretInBoundaries(0, this._getInputVal(), this._getFormatPattern()))\r\n }\r\n }\r\n this._applyRevertedSign(e, caret)\r\n },\r\n _applyRevertedSign: function(e, caret, preserveSelectedText) {\r\n var newValue = -1 * ensureDefined(this._parsedValue, null);\r\n if (this._isValueInRange(newValue) || 0 === newValue) {\r\n this._parsedValue = newValue;\r\n if (preserveSelectedText) {\r\n var format = this._getFormatPattern();\r\n var previousText = this._getInputVal();\r\n this._setTextByParsedValue();\r\n e.preventDefault();\r\n var currentText = this._getInputVal();\r\n var offset = getCaretOffset(previousText, currentText, format);\r\n caret = getCaretWithOffset(caret, offset);\r\n var caretInBoundaries = getCaretInBoundaries(caret, currentText, format);\r\n this._caret(caretInBoundaries)\r\n }\r\n }\r\n },\r\n _removeMinusFromText: function(text, caret) {\r\n var isMinusPressed = this._lastKeyName === MINUS_KEY && text.charAt(caret.start - 1) === MINUS;\r\n return isMinusPressed ? this._replaceSelectedText(text, {\r\n start: caret.start - 1,\r\n end: caret.start\r\n }, \"\") : text\r\n },\r\n _setTextByParsedValue: function() {\r\n var format = this._getFormatPattern();\r\n var parsed = this._parseValue();\r\n var formatted = this._format(parsed, format) || \"\";\r\n this._setInputText(formatted)\r\n },\r\n _formatValue: function(e) {\r\n var normalizedText = this._getInputVal();\r\n var caret = this._caret();\r\n var textWithoutMinus = this._removeMinusFromText(normalizedText, caret);\r\n var wasMinusRemoved = textWithoutMinus !== normalizedText;\r\n normalizedText = textWithoutMinus;\r\n if (!this._isInputFromPaste(e) && this._isValueIncomplete(textWithoutMinus)) {\r\n this._formattedValue = normalizedText;\r\n if (wasMinusRemoved) {\r\n this._setTextByParsedValue()\r\n }\r\n return\r\n }\r\n var textWasChanged = number.convertDigits(this._formattedValue, true) !== normalizedText;\r\n if (textWasChanged) {\r\n var value = this._tryParse(normalizedText, caret, \"\");\r\n if (isDefined(value)) {\r\n this._parsedValue = value\r\n }\r\n }\r\n this._setTextByParsedValue()\r\n },\r\n _renderDisplayText: function() {\r\n if (this._useMaskBehavior()) {\r\n this._toggleEmptinessEventHandler()\r\n } else {\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n _renderValue: function() {\r\n if (this._useMaskBehavior()) {\r\n this._parsedValue = this.option(\"value\");\r\n this._setTextByParsedValue()\r\n }\r\n return this.callBase()\r\n },\r\n _updateParsedValue: function() {\r\n var inputValue = this._getInputVal();\r\n this._parsedValue = this._tryParse(inputValue, this._caret())\r\n },\r\n _adjustParsedValue: function() {\r\n if (!this._useMaskBehavior()) {\r\n return\r\n }\r\n var clearedText = this._removeStubs(this._getInputVal());\r\n var parsedValue = clearedText ? this._parseValue() : null;\r\n if (!isNumeric(parsedValue)) {\r\n this._parsedValue = parsedValue;\r\n return\r\n }\r\n this._parsedValue = fitIntoRange(parsedValue, this.option(\"min\"), this.option(\"max\"))\r\n },\r\n _valueChangeEventHandler: function(e) {\r\n if (!this._useMaskBehavior()) {\r\n return this.callBase(e)\r\n }\r\n var caret = this._caret();\r\n this._saveValueChangeEvent(e);\r\n this._lastKey = null;\r\n this._lastKeyName = null;\r\n this._updateParsedValue();\r\n this._adjustParsedValue();\r\n this.option(\"value\", this._parsedValue);\r\n if (caret) {\r\n this._caret(caret)\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"format\":\r\n case \"useMaskBehavior\":\r\n this._renderInputType();\r\n this._updateFormat();\r\n this._renderFormatter();\r\n this._renderValue();\r\n this._refreshValueChangeEvent();\r\n this._refreshEvents();\r\n break;\r\n case \"min\":\r\n case \"max\":\r\n this._adjustParsedValue();\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _clearCache: function() {\r\n delete this._formattedValue;\r\n delete this._lastKey;\r\n delete this._lastKeyName;\r\n delete this._parsedValue;\r\n delete this._focusOutOccurs;\r\n clearTimeout(this._caretTimeout);\r\n delete this._caretTimeout\r\n },\r\n _clean: function() {\r\n this._clearCache();\r\n this.callBase()\r\n }\r\n});\r\nexport default NumberBoxMask;\r\n","/**\r\n * DevExtreme (esm/ui/number_box/number_box.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport NumberBoxMask from \"./number_box.mask\";\r\nregisterComponent(\"dxNumberBox\", NumberBoxMask);\r\nexport default NumberBoxMask;\r\n","/**\r\n * DevExtreme (esm/ui/number_box.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport NumberBox from \"./number_box/number_box\";\r\nexport default NumberBox;\r\n","/**\r\n * DevExtreme (esm/ui/overlay/overlay_position_controller.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n isDefined,\r\n isString,\r\n isWindow,\r\n isEvent\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport positionUtils from \"../../animation/position\";\r\nimport {\r\n resetPosition,\r\n move,\r\n locate\r\n} from \"../../animation/translator\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport swatch from \"../widget/swatch_container\";\r\nvar window = getWindow();\r\nvar OVERLAY_POSITION_ALIASES = {\r\n top: {\r\n my: \"top center\",\r\n at: \"top center\"\r\n },\r\n bottom: {\r\n my: \"bottom center\",\r\n at: \"bottom center\"\r\n },\r\n right: {\r\n my: \"right center\",\r\n at: \"right center\"\r\n },\r\n left: {\r\n my: \"left center\",\r\n at: \"left center\"\r\n },\r\n center: {\r\n my: \"center\",\r\n at: \"center\"\r\n },\r\n \"right bottom\": {\r\n my: \"right bottom\",\r\n at: \"right bottom\"\r\n },\r\n \"right top\": {\r\n my: \"right top\",\r\n at: \"right top\"\r\n },\r\n \"left bottom\": {\r\n my: \"left bottom\",\r\n at: \"left bottom\"\r\n },\r\n \"left top\": {\r\n my: \"left top\",\r\n at: \"left top\"\r\n }\r\n};\r\nvar OVERLAY_DEFAULT_BOUNDARY_OFFSET = {\r\n h: 0,\r\n v: 0\r\n};\r\nclass OverlayPositionController {\r\n constructor(_ref) {\r\n var {\r\n position: position,\r\n container: container,\r\n visualContainer: visualContainer,\r\n $root: $root,\r\n $content: $content,\r\n $wrapper: $wrapper,\r\n onPositioned: onPositioned,\r\n onVisualPositionChanged: onVisualPositionChanged,\r\n restorePosition: restorePosition,\r\n _fixWrapperPosition: _fixWrapperPosition\r\n } = _ref;\r\n this._props = {\r\n position: position,\r\n container: container,\r\n visualContainer: visualContainer,\r\n restorePosition: restorePosition,\r\n onPositioned: onPositioned,\r\n onVisualPositionChanged: onVisualPositionChanged,\r\n _fixWrapperPosition: _fixWrapperPosition\r\n };\r\n this._$root = $root;\r\n this._$content = $content;\r\n this._$wrapper = $wrapper;\r\n this._$markupContainer = void 0;\r\n this._$visualContainer = void 0;\r\n this._shouldRenderContentInitialPosition = true;\r\n this._visualPosition = void 0;\r\n this._initialPosition = void 0;\r\n this._previousVisualPosition = void 0;\r\n this.updateContainer(container);\r\n this.updatePosition(position);\r\n this.updateVisualContainer(visualContainer)\r\n }\r\n get $container() {\r\n this.updateContainer();\r\n return this._$markupContainer\r\n }\r\n get $visualContainer() {\r\n return this._$visualContainer\r\n }\r\n get position() {\r\n return this._position\r\n }\r\n set fixWrapperPosition(fixWrapperPosition) {\r\n this._props._fixWrapperPosition = fixWrapperPosition;\r\n this.styleWrapperPosition()\r\n }\r\n set restorePosition(restorePosition) {\r\n this._props.restorePosition = restorePosition\r\n }\r\n restorePositionOnNextRender(value) {\r\n this._shouldRenderContentInitialPosition = value || !this._visualPosition\r\n }\r\n openingHandled() {\r\n var shouldRestorePosition = this._props.restorePosition;\r\n this.restorePositionOnNextRender(shouldRestorePosition)\r\n }\r\n updatePosition(positionProp) {\r\n this._props.position = positionProp;\r\n this._position = this._normalizePosition(positionProp);\r\n this.updateVisualContainer()\r\n }\r\n updateContainer() {\r\n var containerProp = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._props.container;\r\n this._props.container = containerProp;\r\n this._$markupContainer = containerProp ? $(containerProp) : swatch.getSwatchContainer(this._$root);\r\n this.updateVisualContainer(this._props.visualContainer)\r\n }\r\n updateVisualContainer() {\r\n var visualContainer = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._props.visualContainer;\r\n this._props.visualContainer = visualContainer;\r\n this._$visualContainer = this._getVisualContainer()\r\n }\r\n detectVisualPositionChange(event) {\r\n this._updateVisualPositionValue();\r\n this._raisePositionedEvents(event)\r\n }\r\n positionContent() {\r\n if (this._shouldRenderContentInitialPosition) {\r\n this._renderContentInitialPosition()\r\n } else {\r\n move(this._$content, this._visualPosition);\r\n this.detectVisualPositionChange()\r\n }\r\n }\r\n positionWrapper() {\r\n if (this._$visualContainer) {\r\n positionUtils.setup(this._$wrapper, {\r\n my: \"top left\",\r\n at: \"top left\",\r\n of: this._$visualContainer\r\n })\r\n }\r\n }\r\n styleWrapperPosition() {\r\n var useFixed = isWindow(this.$visualContainer.get(0)) || this._props._fixWrapperPosition;\r\n var positionStyle = useFixed ? \"fixed\" : \"absolute\";\r\n this._$wrapper.css(\"position\", positionStyle)\r\n }\r\n _updateVisualPositionValue() {\r\n this._previousVisualPosition = this._visualPosition;\r\n this._visualPosition = locate(this._$content)\r\n }\r\n _renderContentInitialPosition() {\r\n this._renderBoundaryOffset();\r\n resetPosition(this._$content);\r\n var wrapperOverflow = this._$wrapper.css(\"overflow\");\r\n this._$wrapper.css(\"overflow\", \"hidden\");\r\n var resultPosition = positionUtils.setup(this._$content, this._position);\r\n this._$wrapper.css(\"overflow\", wrapperOverflow);\r\n this._initialPosition = resultPosition;\r\n this.detectVisualPositionChange()\r\n }\r\n _raisePositionedEvents(event) {\r\n var previousPosition = this._previousVisualPosition;\r\n var newPosition = this._visualPosition;\r\n var isVisualPositionChanged = (null === previousPosition || void 0 === previousPosition ? void 0 : previousPosition.top) !== newPosition.top || (null === previousPosition || void 0 === previousPosition ? void 0 : previousPosition.left) !== newPosition.left;\r\n if (isVisualPositionChanged) {\r\n this._props.onVisualPositionChanged({\r\n previousPosition: previousPosition,\r\n position: newPosition,\r\n event: event\r\n })\r\n }\r\n this._props.onPositioned({\r\n position: this._initialPosition\r\n })\r\n }\r\n _renderBoundaryOffset() {\r\n var _this$_position;\r\n var boundaryOffset = null !== (_this$_position = this._position) && void 0 !== _this$_position ? _this$_position : {\r\n boundaryOffset: OVERLAY_DEFAULT_BOUNDARY_OFFSET\r\n };\r\n this._$content.css(\"margin\", \"\".concat(boundaryOffset.v, \"px \").concat(boundaryOffset.h, \"px\"))\r\n }\r\n _getVisualContainer() {\r\n var _this$_props$position, _this$_props$position2;\r\n var containerProp = this._props.container;\r\n var visualContainerProp = this._props.visualContainer;\r\n var positionOf = isEvent(null === (_this$_props$position = this._props.position) || void 0 === _this$_props$position ? void 0 : _this$_props$position.of) ? this._props.position.of.target : null === (_this$_props$position2 = this._props.position) || void 0 === _this$_props$position2 ? void 0 : _this$_props$position2.of;\r\n if (visualContainerProp) {\r\n return $(visualContainerProp)\r\n }\r\n if (containerProp) {\r\n return $(containerProp)\r\n }\r\n if (positionOf) {\r\n return $(positionOf)\r\n }\r\n return $(window)\r\n }\r\n _normalizePosition(positionProp) {\r\n var defaultPositionConfig = {\r\n boundaryOffset: OVERLAY_DEFAULT_BOUNDARY_OFFSET\r\n };\r\n if (isDefined(positionProp)) {\r\n return extend(true, {}, defaultPositionConfig, this._positionToObject(positionProp))\r\n } else {\r\n return defaultPositionConfig\r\n }\r\n }\r\n _positionToObject(position) {\r\n if (isString(position)) {\r\n return extend({}, OVERLAY_POSITION_ALIASES[position])\r\n }\r\n return position\r\n }\r\n}\r\nexport {\r\n OVERLAY_POSITION_ALIASES,\r\n OverlayPositionController\r\n};\r\n","/**\r\n * DevExtreme (esm/mobile/hide_callback.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var hideCallback = function() {\r\n var callbacks = [];\r\n return {\r\n add: function(callback) {\r\n if (!callbacks.includes(callback)) {\r\n callbacks.push(callback)\r\n }\r\n },\r\n remove: function(callback) {\r\n var indexOfCallback = callbacks.indexOf(callback);\r\n if (-1 !== indexOfCallback) {\r\n callbacks.splice(indexOfCallback, 1)\r\n }\r\n },\r\n fire: function() {\r\n var callback = callbacks.pop();\r\n var result = !!callback;\r\n if (result) {\r\n callback()\r\n }\r\n return result\r\n },\r\n hasCallback: function() {\r\n return callbacks.length > 0\r\n }\r\n }\r\n}();\r\n","/**\r\n * DevExtreme (esm/ui/overlay/ui.overlay.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth,\r\n getOuterHeight\r\n} from \"../../core/utils/size\";\r\nimport fx from \"../../animation/fx\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport devices from \"../../core/devices\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n EmptyTemplate\r\n} from \"../../core/templates/empty_template\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n contains,\r\n resetActiveElement\r\n} from \"../../core/utils/dom\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport readyCallbacks from \"../../core/utils/ready_callbacks\";\r\nimport {\r\n isFunction,\r\n isObject,\r\n isPromise,\r\n isWindow\r\n} from \"../../core/utils/type\";\r\nimport {\r\n changeCallback\r\n} from \"../../core/utils/view_port\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport errors from \"../../core/errors\";\r\nimport uiErrors from \"../widget/ui.errors\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n move as dragEventMove\r\n} from \"../../events/drag\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport {\r\n keyboard\r\n} from \"../../events/short\";\r\nimport {\r\n addNamespace,\r\n isCommandKeyPressed,\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport {\r\n triggerHidingEvent,\r\n triggerResizeEvent,\r\n triggerShownEvent\r\n} from \"../../events/visibility_change\";\r\nimport {\r\n hideCallback as hideTopOverlayCallback\r\n} from \"../../mobile/hide_callback\";\r\nimport {\r\n tabbable\r\n} from \"../widget/selectors\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport * as zIndexPool from \"./z_index\";\r\nimport {\r\n OverlayPositionController,\r\n OVERLAY_POSITION_ALIASES\r\n} from \"./overlay_position_controller\";\r\nvar ready = readyCallbacks.add;\r\nvar window = getWindow();\r\nvar viewPortChanged = changeCallback;\r\nvar OVERLAY_CLASS = \"dx-overlay\";\r\nvar OVERLAY_WRAPPER_CLASS = \"dx-overlay-wrapper\";\r\nvar OVERLAY_CONTENT_CLASS = \"dx-overlay-content\";\r\nvar OVERLAY_SHADER_CLASS = \"dx-overlay-shader\";\r\nvar INNER_OVERLAY_CLASS = \"dx-inner-overlay\";\r\nvar INVISIBLE_STATE_CLASS = \"dx-state-invisible\";\r\nvar ANONYMOUS_TEMPLATE_NAME = \"content\";\r\nvar RTL_DIRECTION_CLASS = \"dx-rtl\";\r\nvar OVERLAY_STACK = [];\r\nvar PREVENT_SAFARI_SCROLLING_CLASS = \"dx-prevent-safari-scrolling\";\r\nvar TAB_KEY = \"tab\";\r\nready(() => {\r\n eventsEngine.subscribeGlobal(domAdapter.getDocument(), pointerEvents.down, e => {\r\n for (var i = OVERLAY_STACK.length - 1; i >= 0; i--) {\r\n if (!OVERLAY_STACK[i]._proxiedDocumentDownHandler(e)) {\r\n return\r\n }\r\n }\r\n })\r\n});\r\nvar Overlay = Widget.inherit({\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), {\r\n escape: function() {\r\n this.hide()\r\n }\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n activeStateEnabled: false,\r\n visible: false,\r\n deferRendering: true,\r\n shading: true,\r\n shadingColor: \"\",\r\n wrapperAttr: {},\r\n position: extend({}, OVERLAY_POSITION_ALIASES.center),\r\n width: \"80vw\",\r\n minWidth: null,\r\n maxWidth: null,\r\n height: \"80vh\",\r\n minHeight: null,\r\n maxHeight: null,\r\n animation: {\r\n show: {\r\n type: \"pop\",\r\n duration: 300,\r\n from: {\r\n scale: .55\r\n }\r\n },\r\n hide: {\r\n type: \"pop\",\r\n duration: 300,\r\n from: {\r\n opacity: 1,\r\n scale: 1\r\n },\r\n to: {\r\n opacity: 0,\r\n scale: .55\r\n }\r\n }\r\n },\r\n closeOnOutsideClick: false,\r\n hideOnOutsideClick: false,\r\n copyRootClassesToWrapper: false,\r\n _ignoreCopyRootClassesToWrapperDeprecation: false,\r\n _ignoreElementAttrDeprecation: false,\r\n onShowing: null,\r\n onShown: null,\r\n onHiding: null,\r\n onHidden: null,\r\n contentTemplate: \"content\",\r\n innerOverlay: false,\r\n restorePosition: true,\r\n container: void 0,\r\n visualContainer: void 0,\r\n hideTopOverlayHandler: () => {\r\n this.hide()\r\n },\r\n hideOnParentScroll: false,\r\n onPositioned: null,\r\n propagateOutsideClick: false,\r\n ignoreChildEvents: true,\r\n _checkParentVisibility: true,\r\n _hideOnParentScrollTarget: void 0,\r\n _fixWrapperPosition: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return !hasWindow()\r\n },\r\n options: {\r\n width: null,\r\n height: null,\r\n animation: null,\r\n _checkParentVisibility: false\r\n }\r\n }])\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n animation: true\r\n })\r\n },\r\n $wrapper: function() {\r\n return this._$wrapper\r\n },\r\n _eventBindingTarget: function() {\r\n return this._$content\r\n },\r\n _setDeprecatedOptions() {\r\n this.callBase();\r\n extend(this._deprecatedOptions, {\r\n closeOnOutsideClick: {\r\n since: \"22.1\",\r\n alias: \"hideOnOutsideClick\"\r\n }\r\n })\r\n },\r\n ctor: function(element, options) {\r\n this.callBase(element, options);\r\n if (options) {\r\n if (options.copyRootClassesToWrapper && !options._ignoreCopyRootClassesToWrapperDeprecation) {\r\n this._logDeprecatedOptionWarning(\"copyRootClassesToWrapper\", {\r\n since: \"21.2\",\r\n message: 'Use the \"wrapperAttr\" option instead'\r\n })\r\n }\r\n if (options.elementAttr && !options._ignoreElementAttrDeprecation) {\r\n this._logDeprecatedOptionWarning(\"elementAttr\", {\r\n since: \"21.2\",\r\n message: 'Use the \"wrapperAttr\" option instead'\r\n })\r\n }\r\n }\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initActions();\r\n this._initHideOnOutsideClickHandler();\r\n this._initTabTerminatorHandler();\r\n this._customWrapperClass = null;\r\n this._$wrapper = $(\"<div>\").addClass(OVERLAY_WRAPPER_CLASS);\r\n this._$content = $(\"<div>\").addClass(OVERLAY_CONTENT_CLASS);\r\n this._initInnerOverlayClass();\r\n var $element = this.$element();\r\n if (this.option(\"copyRootClassesToWrapper\")) {\r\n this._$wrapper.addClass($element.attr(\"class\"))\r\n }\r\n $element.addClass(OVERLAY_CLASS);\r\n this._$wrapper.attr(\"data-bind\", \"dxControlsDescendantBindings: true\");\r\n this._toggleViewPortSubscription(true);\r\n this._initHideTopOverlayHandler(this.option(\"hideTopOverlayHandler\"));\r\n this._parentsScrollSubscriptionInfo = {\r\n handler: e => {\r\n this._hideOnParentsScrollHandler(e)\r\n }\r\n };\r\n this.warnPositionAsFunction()\r\n },\r\n warnPositionAsFunction() {\r\n if (isFunction(this.option(\"position\"))) {\r\n errors.log(\"W0018\")\r\n }\r\n },\r\n _initInnerOverlayClass: function() {\r\n this._$content.toggleClass(INNER_OVERLAY_CLASS, this.option(\"innerOverlay\"))\r\n },\r\n _initHideTopOverlayHandler: function(handler) {\r\n this._hideTopOverlayHandler = handler\r\n },\r\n _getActionsList: function() {\r\n return [\"onShowing\", \"onShown\", \"onHiding\", \"onHidden\", \"onPositioned\", \"onVisualPositionChanged\"]\r\n },\r\n _initActions: function() {\r\n this._actions = {};\r\n var actions = this._getActionsList();\r\n each(actions, (_, action) => {\r\n this._actions[action] = this._createActionByOption(action, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n }) || noop\r\n })\r\n },\r\n _initHideOnOutsideClickHandler: function() {\r\n var _this = this;\r\n this._proxiedDocumentDownHandler = function() {\r\n return _this._documentDownHandler(...arguments)\r\n }\r\n },\r\n _initMarkup() {\r\n this.callBase();\r\n this._renderWrapperAttributes();\r\n this._initPositionController()\r\n },\r\n _documentDownHandler: function(e) {\r\n if (this._showAnimationProcessing) {\r\n this._stopAnimation()\r\n }\r\n var isAttachedTarget = $(window.document).is(e.target) || contains(window.document, e.target);\r\n var isInnerOverlay = $(e.target).closest(\".\".concat(INNER_OVERLAY_CLASS)).length;\r\n var outsideClick = isAttachedTarget && !isInnerOverlay && !(this._$content.is(e.target) || contains(this._$content.get(0), e.target));\r\n if (outsideClick && this._shouldHideOnOutsideClick(e)) {\r\n this._outsideClickHandler(e)\r\n }\r\n return this.option(\"propagateOutsideClick\")\r\n },\r\n _shouldHideOnOutsideClick: function(e) {\r\n var {\r\n hideOnOutsideClick: hideOnOutsideClick\r\n } = this.option();\r\n if (isFunction(hideOnOutsideClick)) {\r\n return hideOnOutsideClick(e)\r\n }\r\n return hideOnOutsideClick\r\n },\r\n _outsideClickHandler(e) {\r\n if (this.option(\"shading\")) {\r\n e.preventDefault()\r\n }\r\n this.hide()\r\n },\r\n _getAnonymousTemplateName: function() {\r\n return ANONYMOUS_TEMPLATE_NAME\r\n },\r\n _initTemplates: function() {\r\n this._templateManager.addDefaultTemplates({\r\n content: new EmptyTemplate\r\n });\r\n this.callBase()\r\n },\r\n _isTopOverlay: function() {\r\n var overlayStack = this._overlayStack();\r\n for (var i = overlayStack.length - 1; i >= 0; i--) {\r\n var tabbableElements = overlayStack[i]._findTabbableBounds();\r\n if (tabbableElements.first || tabbableElements.last) {\r\n return overlayStack[i] === this\r\n }\r\n }\r\n return false\r\n },\r\n _overlayStack: function() {\r\n return OVERLAY_STACK\r\n },\r\n _zIndexInitValue: function() {\r\n return Overlay.baseZIndex()\r\n },\r\n _toggleViewPortSubscription: function(toggle) {\r\n var _this2 = this;\r\n viewPortChanged.remove(this._viewPortChangeHandle);\r\n if (toggle) {\r\n this._viewPortChangeHandle = function() {\r\n _this2._viewPortChangeHandler(...arguments)\r\n };\r\n viewPortChanged.add(this._viewPortChangeHandle)\r\n }\r\n },\r\n _viewPortChangeHandler: function() {\r\n this._positionController.updateContainer(this.option(\"container\"));\r\n this._refresh()\r\n },\r\n _renderWrapperAttributes() {\r\n var {\r\n wrapperAttr: wrapperAttr\r\n } = this.option();\r\n var attributes = extend({}, wrapperAttr);\r\n var classNames = attributes.class;\r\n delete attributes.class;\r\n this.$wrapper().attr(attributes).removeClass(this._customWrapperClass).addClass(classNames);\r\n this._customWrapperClass = classNames\r\n },\r\n _renderVisibilityAnimate: function(visible) {\r\n this._stopAnimation();\r\n return visible ? this._show() : this._hide()\r\n },\r\n _getAnimationConfig: function() {\r\n return this._getOptionValue(\"animation\", this)\r\n },\r\n _animateShowing: function() {\r\n var _this$_getAnimationCo, _showAnimation$start, _showAnimation$comple, _this3 = this;\r\n var animation = null !== (_this$_getAnimationCo = this._getAnimationConfig()) && void 0 !== _this$_getAnimationCo ? _this$_getAnimationCo : {};\r\n var showAnimation = this._normalizeAnimation(animation.show, \"to\");\r\n var startShowAnimation = null !== (_showAnimation$start = null === showAnimation || void 0 === showAnimation ? void 0 : showAnimation.start) && void 0 !== _showAnimation$start ? _showAnimation$start : noop;\r\n var completeShowAnimation = null !== (_showAnimation$comple = null === showAnimation || void 0 === showAnimation ? void 0 : showAnimation.complete) && void 0 !== _showAnimation$comple ? _showAnimation$comple : noop;\r\n this._animate(showAnimation, (function() {\r\n if (_this3._isAnimationPaused) {\r\n return\r\n }\r\n if (_this3.option(\"focusStateEnabled\")) {\r\n eventsEngine.trigger(_this3._focusTarget(), \"focus\")\r\n }\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n completeShowAnimation.call(_this3, ...args);\r\n _this3._showAnimationProcessing = false;\r\n _this3._isHidden = false;\r\n _this3._actions.onShown();\r\n _this3._toggleSafariScrolling();\r\n _this3._showingDeferred.resolve()\r\n }), (function() {\r\n if (_this3._isAnimationPaused) {\r\n return\r\n }\r\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n args[_key2] = arguments[_key2]\r\n }\r\n startShowAnimation.call(_this3, ...args);\r\n _this3._showAnimationProcessing = true\r\n }))\r\n },\r\n _processShowingHidingCancel: function(cancelArg, applyFunction, cancelFunction) {\r\n if (isPromise(cancelArg)) {\r\n cancelArg.then(shouldCancel => {\r\n if (shouldCancel) {\r\n cancelFunction()\r\n } else {\r\n applyFunction()\r\n }\r\n }).catch(() => applyFunction())\r\n } else {\r\n cancelArg ? cancelFunction() : applyFunction()\r\n }\r\n },\r\n _show: function() {\r\n this._showingDeferred = new Deferred;\r\n this._parentHidden = this._isParentHidden();\r\n this._showingDeferred.done(() => {\r\n delete this._parentHidden\r\n });\r\n if (this._parentHidden) {\r\n this._isHidden = true;\r\n return this._showingDeferred.resolve()\r\n }\r\n if (this._currentVisible) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n this._currentVisible = true;\r\n if (this._isHidingActionCanceled) {\r\n delete this._isHidingActionCanceled;\r\n this._showingDeferred.reject()\r\n } else {\r\n var show = () => {\r\n this._stopAnimation();\r\n this._toggleVisibility(true);\r\n this._$content.css(\"visibility\", \"hidden\");\r\n this._$content.toggleClass(INVISIBLE_STATE_CLASS, false);\r\n this._updateZIndexStackPosition(true);\r\n this._positionController.openingHandled();\r\n this._renderContent();\r\n var showingArgs = {\r\n cancel: false\r\n };\r\n this._actions.onShowing(showingArgs);\r\n this._processShowingHidingCancel(showingArgs.cancel, () => {\r\n this._$content.css(\"visibility\", \"\");\r\n this._renderVisibility(true);\r\n this._animateShowing()\r\n }, () => {\r\n this._toggleVisibility(false);\r\n this._$content.css(\"visibility\", \"\");\r\n this._$content.toggleClass(INVISIBLE_STATE_CLASS, true);\r\n this._isShowingActionCanceled = true;\r\n this._moveFromContainer();\r\n this.option(\"visible\", false);\r\n this._showingDeferred.resolve()\r\n })\r\n };\r\n if (this.option(\"templatesRenderAsynchronously\")) {\r\n this._stopShowTimer();\r\n this._asyncShowTimeout = setTimeout(show)\r\n } else {\r\n show()\r\n }\r\n }\r\n return this._showingDeferred.promise()\r\n },\r\n _normalizeAnimation: function(showHideConfig, direction) {\r\n if (showHideConfig) {\r\n showHideConfig = extend({\r\n type: \"slide\",\r\n skipElementInitialStyles: true\r\n }, showHideConfig);\r\n if (isObject(showHideConfig[direction])) {\r\n extend(showHideConfig[direction], {\r\n position: this._positionController.position\r\n })\r\n }\r\n }\r\n return showHideConfig\r\n },\r\n _animateHiding: function() {\r\n var _this$_getAnimationCo2, _hideAnimation$start, _hideAnimation$comple, _this4 = this;\r\n var animation = null !== (_this$_getAnimationCo2 = this._getAnimationConfig()) && void 0 !== _this$_getAnimationCo2 ? _this$_getAnimationCo2 : {};\r\n var hideAnimation = this._normalizeAnimation(animation.hide, \"from\");\r\n var startHideAnimation = null !== (_hideAnimation$start = null === hideAnimation || void 0 === hideAnimation ? void 0 : hideAnimation.start) && void 0 !== _hideAnimation$start ? _hideAnimation$start : noop;\r\n var completeHideAnimation = null !== (_hideAnimation$comple = null === hideAnimation || void 0 === hideAnimation ? void 0 : hideAnimation.complete) && void 0 !== _hideAnimation$comple ? _hideAnimation$comple : noop;\r\n this._animate(hideAnimation, (function() {\r\n var _this4$_actions;\r\n _this4._$content.css(\"pointerEvents\", \"\");\r\n _this4._renderVisibility(false);\r\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\r\n args[_key3] = arguments[_key3]\r\n }\r\n completeHideAnimation.call(_this4, ...args);\r\n _this4._hideAnimationProcessing = false;\r\n null === (_this4$_actions = _this4._actions) || void 0 === _this4$_actions ? void 0 : _this4$_actions.onHidden();\r\n _this4._hidingDeferred.resolve()\r\n }), (function() {\r\n _this4._$content.css(\"pointerEvents\", \"none\");\r\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\r\n args[_key4] = arguments[_key4]\r\n }\r\n startHideAnimation.call(_this4, ...args);\r\n _this4._hideAnimationProcessing = true\r\n }))\r\n },\r\n _hide: function() {\r\n if (!this._currentVisible) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n this._currentVisible = false;\r\n this._hidingDeferred = new Deferred;\r\n var hidingArgs = {\r\n cancel: false\r\n };\r\n if (this._isShowingActionCanceled) {\r\n delete this._isShowingActionCanceled;\r\n this._hidingDeferred.reject()\r\n } else {\r\n this._actions.onHiding(hidingArgs);\r\n this._toggleSafariScrolling();\r\n this._processShowingHidingCancel(hidingArgs.cancel, () => {\r\n this._forceFocusLost();\r\n this._toggleShading(false);\r\n this._toggleSubscriptions(false);\r\n this._stopShowTimer();\r\n this._animateHiding()\r\n }, () => {\r\n this._isHidingActionCanceled = true;\r\n this.option(\"visible\", true);\r\n this._hidingDeferred.resolve()\r\n })\r\n }\r\n return this._hidingDeferred.promise()\r\n },\r\n _forceFocusLost: function() {\r\n var activeElement = domAdapter.getActiveElement();\r\n var shouldResetActiveElement = !!this._$content.find(activeElement).length;\r\n if (shouldResetActiveElement) {\r\n resetActiveElement()\r\n }\r\n },\r\n _animate: function(animation, completeCallback, startCallback) {\r\n if (animation) {\r\n startCallback = startCallback || animation.start || noop;\r\n fx.animate(this._$content, extend({}, animation, {\r\n start: startCallback,\r\n complete: completeCallback\r\n }))\r\n } else {\r\n completeCallback()\r\n }\r\n },\r\n _stopAnimation: function() {\r\n fx.stop(this._$content, true)\r\n },\r\n _renderVisibility: function(visible) {\r\n if (visible && this._isParentHidden()) {\r\n return\r\n }\r\n this._currentVisible = visible;\r\n this._stopAnimation();\r\n if (!visible) {\r\n triggerHidingEvent(this._$content)\r\n }\r\n if (visible) {\r\n this._checkContainerExists();\r\n this._moveToContainer();\r\n this._renderGeometry();\r\n triggerShownEvent(this._$content);\r\n triggerResizeEvent(this._$content)\r\n } else {\r\n this._toggleVisibility(visible);\r\n this._$content.toggleClass(INVISIBLE_STATE_CLASS, !visible);\r\n this._updateZIndexStackPosition(visible);\r\n this._moveFromContainer()\r\n }\r\n this._toggleShading(visible);\r\n this._toggleSubscriptions(visible)\r\n },\r\n _updateZIndexStackPosition: function(pushToStack) {\r\n var overlayStack = this._overlayStack();\r\n var index = overlayStack.indexOf(this);\r\n if (pushToStack) {\r\n if (-1 === index) {\r\n this._zIndex = zIndexPool.create(this._zIndexInitValue());\r\n overlayStack.push(this)\r\n }\r\n this._$wrapper.css(\"zIndex\", this._zIndex);\r\n this._$content.css(\"zIndex\", this._zIndex)\r\n } else if (-1 !== index) {\r\n overlayStack.splice(index, 1);\r\n zIndexPool.remove(this._zIndex)\r\n }\r\n },\r\n _toggleShading: function(visible) {\r\n this._$wrapper.toggleClass(OVERLAY_SHADER_CLASS, visible && this.option(\"shading\"));\r\n this._$wrapper.css(\"backgroundColor\", this.option(\"shading\") ? this.option(\"shadingColor\") : \"\");\r\n this._toggleTabTerminator(visible && this.option(\"shading\"))\r\n },\r\n _initTabTerminatorHandler: function() {\r\n var _this5 = this;\r\n this._proxiedTabTerminatorHandler = function() {\r\n _this5._tabKeyHandler(...arguments)\r\n }\r\n },\r\n _toggleTabTerminator: function(enabled) {\r\n var eventName = addNamespace(\"keydown\", this.NAME);\r\n if (enabled) {\r\n eventsEngine.on(domAdapter.getDocument(), eventName, this._proxiedTabTerminatorHandler)\r\n } else {\r\n eventsEngine.off(domAdapter.getDocument(), eventName, this._proxiedTabTerminatorHandler)\r\n }\r\n },\r\n _findTabbableBounds: function() {\r\n var $elements = this._$wrapper.find(\"*\");\r\n var elementsCount = $elements.length - 1;\r\n var result = {\r\n first: null,\r\n last: null\r\n };\r\n for (var i = 0; i <= elementsCount; i++) {\r\n if (!result.first && $elements.eq(i).is(tabbable)) {\r\n result.first = $elements.eq(i)\r\n }\r\n if (!result.last && $elements.eq(elementsCount - i).is(tabbable)) {\r\n result.last = $elements.eq(elementsCount - i)\r\n }\r\n if (result.first && result.last) {\r\n break\r\n }\r\n }\r\n return result\r\n },\r\n _tabKeyHandler: function(e) {\r\n if (normalizeKeyName(e) !== TAB_KEY || !this._isTopOverlay()) {\r\n return\r\n }\r\n var tabbableElements = this._findTabbableBounds();\r\n var $firstTabbable = tabbableElements.first;\r\n var $lastTabbable = tabbableElements.last;\r\n var isTabOnLast = !e.shiftKey && e.target === $lastTabbable.get(0);\r\n var isShiftTabOnFirst = e.shiftKey && e.target === $firstTabbable.get(0);\r\n var isEmptyTabList = 0 === tabbableElements.length;\r\n var isOutsideTarget = !contains(this._$wrapper.get(0), e.target);\r\n if (isTabOnLast || isShiftTabOnFirst || isEmptyTabList || isOutsideTarget) {\r\n e.preventDefault();\r\n var $focusElement = e.shiftKey ? $lastTabbable : $firstTabbable;\r\n eventsEngine.trigger($focusElement, \"focusin\");\r\n eventsEngine.trigger($focusElement, \"focus\")\r\n }\r\n },\r\n _toggleSubscriptions: function(enabled) {\r\n if (hasWindow()) {\r\n this._toggleHideTopOverlayCallback(enabled);\r\n this._toggleHideOnParentsScrollSubscription(enabled)\r\n }\r\n },\r\n _toggleHideTopOverlayCallback: function(subscribe) {\r\n if (!this._hideTopOverlayHandler) {\r\n return\r\n }\r\n if (subscribe) {\r\n hideTopOverlayCallback.add(this._hideTopOverlayHandler)\r\n } else {\r\n hideTopOverlayCallback.remove(this._hideTopOverlayHandler)\r\n }\r\n },\r\n _toggleHideOnParentsScrollSubscription: function(needSubscribe) {\r\n var _this$_parentsScrollS;\r\n var scrollEvent = addNamespace(\"scroll\", this.NAME);\r\n var {\r\n prevTargets: prevTargets,\r\n handler: handler\r\n } = null !== (_this$_parentsScrollS = this._parentsScrollSubscriptionInfo) && void 0 !== _this$_parentsScrollS ? _this$_parentsScrollS : {};\r\n eventsEngine.off(prevTargets, scrollEvent, handler);\r\n var hideOnScroll = this.option(\"hideOnParentScroll\");\r\n if (needSubscribe && hideOnScroll) {\r\n var $parents = this._getHideOnParentScrollTarget().parents();\r\n if (\"desktop\" === devices.real().deviceType) {\r\n $parents = $parents.add(window)\r\n }\r\n eventsEngine.on($parents, scrollEvent, handler);\r\n this._parentsScrollSubscriptionInfo.prevTargets = $parents\r\n }\r\n },\r\n _hideOnParentsScrollHandler: function(e) {\r\n var hideHandled = false;\r\n var hideOnScroll = this.option(\"hideOnParentScroll\");\r\n if (isFunction(hideOnScroll)) {\r\n hideHandled = hideOnScroll(e)\r\n }\r\n if (!hideHandled && !this._showAnimationProcessing) {\r\n this.hide()\r\n }\r\n },\r\n _getHideOnParentScrollTarget: function() {\r\n var $hideOnParentScrollTarget = $(this.option(\"_hideOnParentScrollTarget\"));\r\n if ($hideOnParentScrollTarget.length) {\r\n return $hideOnParentScrollTarget\r\n }\r\n return this._$wrapper\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._appendContentToElement();\r\n this._renderVisibilityAnimate(this.option(\"visible\"))\r\n },\r\n _appendContentToElement: function() {\r\n if (!this._$content.parent().is(this.$element())) {\r\n this._$content.appendTo(this.$element())\r\n }\r\n },\r\n _renderContent: function() {\r\n var shouldDeferRendering = !this._currentVisible && this.option(\"deferRendering\");\r\n var isParentHidden = this.option(\"visible\") && this._isParentHidden();\r\n if (isParentHidden) {\r\n this._isHidden = true;\r\n return\r\n }\r\n if (this._contentAlreadyRendered || shouldDeferRendering) {\r\n return\r\n }\r\n this._contentAlreadyRendered = true;\r\n this._appendContentToElement();\r\n this.callBase()\r\n },\r\n _isParentHidden: function() {\r\n if (!this.option(\"_checkParentVisibility\")) {\r\n return false\r\n }\r\n if (void 0 !== this._parentHidden) {\r\n return this._parentHidden\r\n }\r\n var $parent = this.$element().parent();\r\n if ($parent.is(\":visible\")) {\r\n return false\r\n }\r\n var isHidden = false;\r\n $parent.add($parent.parents()).each((function() {\r\n var $element = $(this);\r\n if (\"none\" === $element.css(\"display\")) {\r\n isHidden = true;\r\n return false\r\n }\r\n }));\r\n return isHidden || !domAdapter.getBody().contains($parent.get(0))\r\n },\r\n _renderContentImpl: function() {\r\n var whenContentRendered = new Deferred;\r\n var contentTemplateOption = this.option(\"contentTemplate\");\r\n var contentTemplate = this._getTemplate(contentTemplateOption);\r\n var transclude = this._templateManager.anonymousTemplateName === contentTemplateOption;\r\n contentTemplate && contentTemplate.render({\r\n container: getPublicElement(this.$content()),\r\n noModel: true,\r\n transclude: transclude,\r\n onRendered: () => {\r\n whenContentRendered.resolve();\r\n if (this.option(\"templatesRenderAsynchronously\")) {\r\n this._dimensionChanged()\r\n }\r\n }\r\n });\r\n this._renderScrollTerminator();\r\n whenContentRendered.done(() => {\r\n if (this.option(\"visible\")) {\r\n this._moveToContainer()\r\n }\r\n });\r\n return whenContentRendered.promise()\r\n },\r\n _getPositionControllerConfig() {\r\n var {\r\n container: container,\r\n visualContainer: visualContainer,\r\n _fixWrapperPosition: _fixWrapperPosition,\r\n restorePosition: restorePosition\r\n } = this.option();\r\n return {\r\n container: container,\r\n visualContainer: visualContainer,\r\n $root: this.$element(),\r\n $content: this._$content,\r\n $wrapper: this._$wrapper,\r\n onPositioned: this._actions.onPositioned,\r\n onVisualPositionChanged: this._actions.onVisualPositionChanged,\r\n restorePosition: restorePosition,\r\n _fixWrapperPosition: _fixWrapperPosition\r\n }\r\n },\r\n _initPositionController() {\r\n this._positionController = new OverlayPositionController(this._getPositionControllerConfig())\r\n },\r\n _renderScrollTerminator: function() {\r\n var $scrollTerminator = this._$wrapper;\r\n var terminatorEventName = addNamespace(dragEventMove, this.NAME);\r\n eventsEngine.off($scrollTerminator, terminatorEventName);\r\n eventsEngine.on($scrollTerminator, terminatorEventName, {\r\n validate: function() {\r\n return true\r\n },\r\n getDirection: function() {\r\n return \"both\"\r\n },\r\n _toggleGestureCover: function(toggle) {\r\n if (!toggle) {\r\n this._toggleGestureCoverImpl(toggle)\r\n }\r\n },\r\n _clearSelection: noop,\r\n isNative: true\r\n }, e => {\r\n var originalEvent = e.originalEvent.originalEvent;\r\n var {\r\n type: type\r\n } = originalEvent || {};\r\n var isWheel = \"wheel\" === type;\r\n var isMouseMove = \"mousemove\" === type;\r\n var isScrollByWheel = isWheel && !isCommandKeyPressed(e);\r\n e._cancelPreventDefault = true;\r\n if (originalEvent && false !== e.cancelable && (!isMouseMove && !isWheel || isScrollByWheel)) {\r\n e.preventDefault()\r\n }\r\n })\r\n },\r\n _moveFromContainer: function() {\r\n this._$content.appendTo(this.$element());\r\n this._$wrapper.detach()\r\n },\r\n _checkContainerExists() {\r\n var $wrapperContainer = this._positionController.$container;\r\n if (void 0 === $wrapperContainer) {\r\n return\r\n }\r\n var containerExists = $wrapperContainer.length > 0;\r\n if (!containerExists) {\r\n uiErrors.log(\"W1021\", this.NAME)\r\n }\r\n },\r\n _moveToContainer: function() {\r\n var $wrapperContainer = this._positionController.$container;\r\n this._$wrapper.appendTo($wrapperContainer);\r\n this._$content.appendTo(this._$wrapper)\r\n },\r\n _renderGeometry: function(options) {\r\n var {\r\n visible: visible\r\n } = this.option();\r\n if (visible && hasWindow()) {\r\n this._stopAnimation();\r\n this._renderGeometryImpl()\r\n }\r\n },\r\n _renderGeometryImpl: function() {\r\n this._positionController.updatePosition(this._getOptionValue(\"position\"));\r\n this._renderWrapper();\r\n this._renderDimensions();\r\n this._renderPosition()\r\n },\r\n _renderPosition() {\r\n this._positionController.positionContent()\r\n },\r\n _isAllWindowCovered: function() {\r\n return isWindow(this._positionController.$visualContainer.get(0)) && this.option(\"shading\")\r\n },\r\n _toggleSafariScrolling: function() {\r\n var visible = this.option(\"visible\");\r\n var $body = $(domAdapter.getBody());\r\n var isIosSafari = \"ios\" === devices.real().platform && browser.safari;\r\n var isAllWindowCovered = this._isAllWindowCovered();\r\n var isScrollingPrevented = $body.hasClass(PREVENT_SAFARI_SCROLLING_CLASS);\r\n var shouldPreventScrolling = !isScrollingPrevented && visible && isAllWindowCovered;\r\n var shouldEnableScrolling = isScrollingPrevented && (!visible || !isAllWindowCovered || this._disposed);\r\n if (isIosSafari) {\r\n if (shouldEnableScrolling) {\r\n $body.removeClass(PREVENT_SAFARI_SCROLLING_CLASS);\r\n window.scrollTo(0, this._cachedBodyScrollTop);\r\n this._cachedBodyScrollTop = void 0\r\n } else if (shouldPreventScrolling) {\r\n this._cachedBodyScrollTop = window.pageYOffset;\r\n $body.addClass(PREVENT_SAFARI_SCROLLING_CLASS)\r\n }\r\n }\r\n },\r\n _renderWrapper: function() {\r\n this._positionController.styleWrapperPosition();\r\n this._renderWrapperDimensions();\r\n this._positionController.positionWrapper()\r\n },\r\n _renderWrapperDimensions: function() {\r\n var $visualContainer = this._positionController.$visualContainer;\r\n var documentElement = domAdapter.getDocumentElement();\r\n var isVisualContainerWindow = isWindow($visualContainer.get(0));\r\n var wrapperWidth = isVisualContainerWindow ? documentElement.clientWidth : getOuterWidth($visualContainer);\r\n var wrapperHeight = isVisualContainerWindow ? window.innerHeight : getOuterHeight($visualContainer);\r\n this._$wrapper.css({\r\n width: wrapperWidth,\r\n height: wrapperHeight\r\n })\r\n },\r\n _renderDimensions: function() {\r\n var content = this._$content.get(0);\r\n this._$content.css({\r\n minWidth: this._getOptionValue(\"minWidth\", content),\r\n maxWidth: this._getOptionValue(\"maxWidth\", content),\r\n minHeight: this._getOptionValue(\"minHeight\", content),\r\n maxHeight: this._getOptionValue(\"maxHeight\", content),\r\n width: this._getOptionValue(\"width\", content),\r\n height: this._getOptionValue(\"height\", content)\r\n })\r\n },\r\n _focusTarget: function() {\r\n return this._$content\r\n },\r\n _attachKeyboardEvents: function() {\r\n this._keyboardListenerId = keyboard.on(this._$content, null, opts => this._keyboardHandler(opts))\r\n },\r\n _keyboardHandler: function(options) {\r\n var e = options.originalEvent;\r\n var $target = $(e.target);\r\n if ($target.is(this._$content) || !this.option(\"ignoreChildEvents\")) {\r\n this.callBase(...arguments)\r\n }\r\n },\r\n _isVisible: function() {\r\n return this.option(\"visible\")\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n if (this.option(\"visible\")) {\r\n this._renderVisibilityAnimate(visible)\r\n }\r\n } else {\r\n this._renderVisibilityAnimate(visible)\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n this._renderGeometry()\r\n },\r\n _clean: function() {\r\n var options = this.option();\r\n if (!this._contentAlreadyRendered && !options.isRenovated) {\r\n this.$content().empty()\r\n }\r\n this._renderVisibility(false);\r\n this._stopShowTimer();\r\n this._cleanFocusState()\r\n },\r\n _stopShowTimer() {\r\n if (this._asyncShowTimeout) {\r\n clearTimeout(this._asyncShowTimeout)\r\n }\r\n this._asyncShowTimeout = null\r\n },\r\n _dispose: function() {\r\n fx.stop(this._$content, false);\r\n clearTimeout(this._deferShowTimer);\r\n this._toggleViewPortSubscription(false);\r\n this._toggleSubscriptions(false);\r\n this._updateZIndexStackPosition(false);\r\n this._toggleTabTerminator(false);\r\n this._actions = null;\r\n this._parentsScrollSubscriptionInfo = null;\r\n this.callBase();\r\n this._toggleSafariScrolling();\r\n this.option(\"visible\") && zIndexPool.remove(this._zIndex);\r\n this._$wrapper.remove();\r\n this._$content.remove()\r\n },\r\n _toggleRTLDirection: function(rtl) {\r\n this._$content.toggleClass(RTL_DIRECTION_CLASS, rtl)\r\n },\r\n _optionChanged: function(args) {\r\n var value = args.value;\r\n if (this._getActionsList().includes(args.name)) {\r\n this._initActions();\r\n return\r\n }\r\n switch (args.name) {\r\n case \"animation\":\r\n break;\r\n case \"shading\":\r\n this._toggleShading(this.option(\"visible\"));\r\n this._toggleSafariScrolling();\r\n break;\r\n case \"shadingColor\":\r\n this._toggleShading(this.option(\"visible\"));\r\n break;\r\n case \"width\":\r\n case \"height\":\r\n this._renderGeometry();\r\n break;\r\n case \"minWidth\":\r\n case \"maxWidth\":\r\n case \"minHeight\":\r\n case \"maxHeight\":\r\n this._renderGeometry();\r\n break;\r\n case \"position\":\r\n this._positionController.updatePosition(this.option(\"position\"));\r\n this._positionController.restorePositionOnNextRender(true);\r\n this._renderGeometry();\r\n this._toggleSafariScrolling();\r\n break;\r\n case \"visible\":\r\n this._renderVisibilityAnimate(value).done(() => {\r\n var _this$_animateDeferre;\r\n return null === (_this$_animateDeferre = this._animateDeferred) || void 0 === _this$_animateDeferre ? void 0 : _this$_animateDeferre.resolveWith(this)\r\n }).fail(() => {\r\n var _this$_animateDeferre2;\r\n return null === (_this$_animateDeferre2 = this._animateDeferred) || void 0 === _this$_animateDeferre2 ? void 0 : _this$_animateDeferre2.reject()\r\n });\r\n break;\r\n case \"container\":\r\n this._positionController.updateContainer(value);\r\n this._invalidate();\r\n this._toggleSafariScrolling();\r\n break;\r\n case \"visualContainer\":\r\n this._positionController.updateVisualContainer(value);\r\n this._renderWrapper();\r\n this._toggleSafariScrolling();\r\n break;\r\n case \"innerOverlay\":\r\n this._initInnerOverlayClass();\r\n break;\r\n case \"deferRendering\":\r\n case \"contentTemplate\":\r\n this._contentAlreadyRendered = false;\r\n this._clean();\r\n this._invalidate();\r\n break;\r\n case \"hideTopOverlayHandler\":\r\n this._toggleHideTopOverlayCallback(false);\r\n this._initHideTopOverlayHandler(args.value);\r\n this._toggleHideTopOverlayCallback(this.option(\"visible\"));\r\n break;\r\n case \"hideOnParentScroll\":\r\n case \"_hideOnParentScrollTarget\":\r\n this._toggleHideOnParentsScrollSubscription(this.option(\"visible\"));\r\n break;\r\n case \"closeOnOutsideClick\":\r\n case \"hideOnOutsideClick\":\r\n case \"propagateOutsideClick\":\r\n break;\r\n case \"rtlEnabled\":\r\n this._contentAlreadyRendered = false;\r\n this.callBase(args);\r\n break;\r\n case \"_fixWrapperPosition\":\r\n this._positionController.fixWrapperPosition = value;\r\n break;\r\n case \"wrapperAttr\":\r\n this._renderWrapperAttributes();\r\n break;\r\n case \"restorePosition\":\r\n this._positionController.restorePosition = args.value;\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n toggle: function(showing) {\r\n showing = void 0 === showing ? !this.option(\"visible\") : showing;\r\n var result = new Deferred;\r\n if (showing === this.option(\"visible\")) {\r\n return result.resolveWith(this, [showing]).promise()\r\n }\r\n var animateDeferred = new Deferred;\r\n this._animateDeferred = animateDeferred;\r\n this.option(\"visible\", showing);\r\n animateDeferred.promise().done(() => {\r\n delete this._animateDeferred;\r\n result.resolveWith(this, [this.option(\"visible\")])\r\n }).fail(() => {\r\n delete this._animateDeferred;\r\n result.reject()\r\n });\r\n return result.promise()\r\n },\r\n $content: function() {\r\n return this._$content\r\n },\r\n show: function() {\r\n return this.toggle(true)\r\n },\r\n hide: function() {\r\n return this.toggle(false)\r\n },\r\n content: function() {\r\n return getPublicElement(this._$content)\r\n },\r\n repaint: function() {\r\n if (this._contentAlreadyRendered) {\r\n this._positionController.restorePositionOnNextRender(true);\r\n this._renderGeometry({\r\n forceStopAnimation: true\r\n });\r\n triggerResizeEvent(this._$content)\r\n } else {\r\n this.callBase()\r\n }\r\n }\r\n});\r\nOverlay.baseZIndex = zIndex => zIndexPool.base(zIndex);\r\nregisterComponent(\"dxOverlay\", Overlay);\r\nexport default Overlay;\r\n","/**\r\n * DevExtreme (esm/ui/overlay/utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getInnerHeight,\r\n getOuterHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n isNumeric\r\n} from \"../../core/utils/type\";\r\nvar WINDOW_HEIGHT_PERCENT = .9;\r\nexport var getElementMaxHeightByWindow = ($element, startLocation) => {\r\n var $window = $(getWindow());\r\n var {\r\n top: elementOffset\r\n } = $element.offset();\r\n var actualOffset;\r\n if (isNumeric(startLocation)) {\r\n if (startLocation < elementOffset) {\r\n return elementOffset - startLocation\r\n } else {\r\n actualOffset = getInnerHeight($window) - startLocation + $window.scrollTop()\r\n }\r\n } else {\r\n var offsetTop = elementOffset - $window.scrollTop();\r\n var offsetBottom = getInnerHeight($window) - offsetTop - getOuterHeight($element);\r\n actualOffset = Math.max(offsetTop, offsetBottom)\r\n }\r\n return actualOffset * WINDOW_HEIGHT_PERCENT\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/overlay/z_index.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n ensureDefined\r\n} from \"../../core/utils/common\";\r\nvar baseZIndex = 1500;\r\nvar zIndexStack = [];\r\nexport var base = ZIndex => {\r\n baseZIndex = ensureDefined(ZIndex, baseZIndex);\r\n return baseZIndex\r\n};\r\nexport var create = function() {\r\n var baseIndex = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : baseZIndex;\r\n var length = zIndexStack.length;\r\n var index = (length ? zIndexStack[length - 1] : baseIndex) + 1;\r\n zIndexStack.push(index);\r\n return index\r\n};\r\nexport var remove = zIndex => {\r\n var position = zIndexStack.indexOf(zIndex);\r\n if (position >= 0) {\r\n zIndexStack.splice(position, 1)\r\n }\r\n};\r\nexport var isLastZIndexInStack = zIndex => zIndexStack.length && zIndexStack[zIndexStack.length - 1] === zIndex;\r\nexport var clearStack = () => {\r\n zIndexStack = []\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/pivot_grid/chart_integration/m_chart_integration.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n createPath,\r\n foreachTree,\r\n formatValue\r\n} from \"../m_widget_utils\";\r\nvar FORMAT_DICTIONARY = {\r\n number: \"numeric\",\r\n date: \"datetime\"\r\n};\r\nvar UNBIND_KEY = \"dxPivotGridUnbinding\";\r\n\r\nfunction getFormattedValue(path, fields) {\r\n var value = [];\r\n var lastFieldIndex = fields.length - 1;\r\n each(path, (i, item) => {\r\n value.push(item.text || formatValue(item.value, fields[lastFieldIndex - i]))\r\n });\r\n return value.reverse()\r\n}\r\n\r\nfunction getExpandedLevel(node) {\r\n var level = 0;\r\n foreachTree(node, members => {\r\n level = Math.max(level, members.length - 1)\r\n });\r\n return level\r\n}\r\n\r\nfunction processDataCell(processCellArgs, processCell) {\r\n var {\r\n chartDataItem: chartDataItem\r\n } = processCellArgs;\r\n var processedCell = processCell && processCell(processCellArgs);\r\n if (processedCell) {\r\n chartDataItem = extend({}, chartDataItem, processedCell.chartDataItem);\r\n processedCell = extend({}, processCellArgs, processedCell, {\r\n chartDataItem: chartDataItem\r\n });\r\n return processedCell\r\n }\r\n return processCellArgs\r\n}\r\n\r\nfunction createChartDataSource(pivotGridDataSource, mapOptions, axisDictionary) {\r\n var data = pivotGridDataSource.getData();\r\n var dataSource = [];\r\n var dataFields = pivotGridDataSource.getAreaFields(\"data\");\r\n var rowFields = pivotGridDataSource.getAreaFields(\"row\");\r\n var columnFields = pivotGridDataSource.getAreaFields(\"column\");\r\n var columnElements = [{\r\n index: data.grandTotalColumnIndex,\r\n children: data.columns\r\n }];\r\n var rowElements = [{\r\n index: data.grandTotalRowIndex,\r\n children: data.rows\r\n }];\r\n var rowLevel = getExpandedLevel(rowElements);\r\n var columnLevel = getExpandedLevel(columnElements);\r\n var measureIndex;\r\n var dataField;\r\n var rowMemberIndex;\r\n var rowVisibility;\r\n var rowPathFormatted;\r\n var rowPath;\r\n var columnMemberIndex;\r\n var columnVisibility;\r\n var columnPath;\r\n var columnPathFormatted;\r\n\r\n function createDataItem() {\r\n var dataCell = (data.values[rowMemberIndex] || [])[columnMemberIndex] || [];\r\n var value = dataCell[measureIndex];\r\n var axis;\r\n var processCellArgs = {\r\n rowPath: rowPath,\r\n maxRowLevel: rowLevel,\r\n rowPathFormatted: rowPathFormatted,\r\n rowFields: rowFields,\r\n columnPathFormatted: columnPathFormatted,\r\n maxColumnLevel: columnLevel,\r\n columnPath: columnPath,\r\n columnFields: columnFields,\r\n dataFields: dataFields,\r\n dataIndex: measureIndex,\r\n dataValues: dataCell,\r\n visible: columnVisibility && rowVisibility\r\n };\r\n var seriesName = (mapOptions.inverted ? columnPathFormatted : rowPathFormatted).join(\" - \");\r\n var argument = (mapOptions.inverted ? rowPathFormatted : columnPathFormatted).join(\"/\");\r\n if (dataFields.length > 1) {\r\n if (\"args\" === mapOptions.putDataFieldsInto || \"both\" === mapOptions.putDataFieldsInto) {\r\n argument += \" | \".concat(dataField.caption)\r\n }\r\n if (\"args\" !== mapOptions.putDataFieldsInto) {\r\n seriesName += \" | \".concat(dataField.caption);\r\n if (\"singleAxis\" !== mapOptions.dataFieldsDisplayMode) {\r\n axis = dataField.caption\r\n }\r\n }\r\n }\r\n processCellArgs.chartDataItem = {\r\n val: void 0 === value ? null : value,\r\n series: seriesName,\r\n arg: argument\r\n };\r\n processCellArgs = processDataCell(processCellArgs, mapOptions.processCell);\r\n if (processCellArgs.visible) {\r\n axisDictionary[processCellArgs.chartDataItem.series] = axisDictionary[processCellArgs.chartDataItem.series] || axis;\r\n dataSource.push(processCellArgs.chartDataItem)\r\n }\r\n }\r\n\r\n function foreachRowColumn(callBack) {\r\n foreachTree(rowElements, rowMembers => {\r\n rowMemberIndex = rowMembers[0].index;\r\n rowMembers = rowMembers.slice(0, rowMembers.length - 1);\r\n rowVisibility = rowLevel === rowMembers.length;\r\n rowPath = createPath(rowMembers);\r\n rowPathFormatted = getFormattedValue(rowMembers, rowFields);\r\n if (0 === rowPath.length) {\r\n rowPathFormatted = [mapOptions.grandTotalText]\r\n }\r\n foreachTree(columnElements, columnMembers => {\r\n columnMemberIndex = columnMembers[0].index;\r\n columnMembers = columnMembers.slice(0, columnMembers.length - 1);\r\n columnVisibility = columnLevel === columnMembers.length;\r\n columnPath = createPath(columnMembers);\r\n columnPathFormatted = getFormattedValue(columnMembers, columnFields);\r\n if (0 === columnPath.length) {\r\n columnPathFormatted = [mapOptions.grandTotalText]\r\n }\r\n callBack()\r\n })\r\n })\r\n }\r\n\r\n function foreachDataField(callback) {\r\n each(dataFields, (index, field) => {\r\n dataField = field;\r\n measureIndex = index;\r\n callback()\r\n })\r\n }\r\n if (false === mapOptions.alternateDataFields) {\r\n foreachDataField(() => {\r\n foreachRowColumn(createDataItem)\r\n })\r\n } else {\r\n foreachRowColumn(() => {\r\n foreachDataField(createDataItem)\r\n })\r\n }\r\n return dataSource\r\n}\r\n\r\nfunction createValueAxisOptions(dataSource, options) {\r\n var dataFields = dataSource.getAreaFields(\"data\");\r\n if (\"args\" !== options.putDataFieldsInto && \"singleAxis\" !== options.dataFieldsDisplayMode || 1 === dataFields.length) {\r\n var valueAxisSettings = [];\r\n each(dataFields, (_, dataField) => {\r\n var valueAxisOptions = {\r\n name: dataField.caption,\r\n title: dataField.caption,\r\n valueType: FORMAT_DICTIONARY[dataField.dataType] || dataField.dataType,\r\n label: {\r\n format: dataField.format\r\n }\r\n };\r\n if (dataField.customizeText) {\r\n valueAxisOptions.label.customizeText = function(formatObject) {\r\n return dataField.customizeText.call(dataField, formatObject)\r\n }\r\n }\r\n if (\"splitPanes\" === options.dataFieldsDisplayMode) {\r\n valueAxisOptions.pane = dataField.caption\r\n }\r\n valueAxisSettings.push(valueAxisOptions)\r\n });\r\n return valueAxisSettings\r\n }\r\n return [{}]\r\n}\r\n\r\nfunction createPanesOptions(dataSource, options) {\r\n var panes = [];\r\n var dataFields = dataSource.getAreaFields(\"data\");\r\n if (dataFields.length > 1 && \"splitPanes\" === options.dataFieldsDisplayMode && \"args\" !== options.putDataFieldsInto) {\r\n each(dataFields, (_, dataField) => {\r\n panes.push({\r\n name: dataField.caption\r\n })\r\n })\r\n }\r\n if (!panes.length) {\r\n panes.push({})\r\n }\r\n return panes\r\n}\r\n\r\nfunction createChartOptions(dataSource, options) {\r\n var {\r\n customizeSeries: customizeSeries\r\n } = options;\r\n var {\r\n customizeChart: customizeChart\r\n } = options;\r\n var chartOptions = {\r\n valueAxis: createValueAxisOptions(dataSource, options),\r\n panes: createPanesOptions(dataSource, options)\r\n };\r\n var axisDictionary = {};\r\n if (customizeChart) {\r\n chartOptions = extend(true, {}, chartOptions, customizeChart(chartOptions))\r\n }\r\n chartOptions.dataSource = createChartDataSource(dataSource, options, axisDictionary);\r\n chartOptions.seriesTemplate = {\r\n nameField: \"series\",\r\n customizeSeries(seriesName) {\r\n var seriesOptions = {};\r\n if (\"splitPanes\" === options.dataFieldsDisplayMode) {\r\n seriesOptions.pane = axisDictionary[seriesName]\r\n } else if (\"singleAxis\" !== options.dataFieldsDisplayMode) {\r\n seriesOptions.axis = axisDictionary[seriesName]\r\n }\r\n if (customizeSeries) {\r\n seriesOptions = extend(seriesOptions, customizeSeries(seriesName, seriesOptions))\r\n }\r\n return seriesOptions\r\n }\r\n };\r\n return chartOptions\r\n}\r\n\r\nfunction getChartInstance(chartElement) {\r\n if (!chartElement) {\r\n return false\r\n }\r\n if (chartElement.NAME) {\r\n return \"dxChart\" === chartElement.NAME && chartElement\r\n }\r\n var element = $(chartElement);\r\n return element.data(\"dxChart\") && element.dxChart(\"instance\")\r\n}\r\n\r\nfunction removeBinding(chart) {\r\n var unbind = chart.$element().data(UNBIND_KEY);\r\n unbind && unbind()\r\n}\r\nvar ChartIntegrationMixin = {\r\n bindChart(chart, integrationOptions) {\r\n integrationOptions = extend({}, integrationOptions);\r\n var that = this;\r\n var updateChart = function() {\r\n integrationOptions.grandTotalText = that.option(\"texts.grandTotal\");\r\n var chartOptions = createChartOptions(that.getDataSource(), integrationOptions);\r\n chart.option(chartOptions)\r\n };\r\n chart = getChartInstance(chart);\r\n if (!chart) {\r\n return null\r\n }\r\n removeBinding(chart);\r\n that.on(\"changed\", updateChart);\r\n updateChart();\r\n var disposeBinding = function() {\r\n chart.$element().removeData(UNBIND_KEY);\r\n that.off(\"changed\", updateChart)\r\n };\r\n chart.on(\"disposing\", disposeBinding);\r\n this.on(\"disposing\", disposeBinding);\r\n chart.$element().data(UNBIND_KEY, disposeBinding);\r\n return disposeBinding\r\n }\r\n};\r\nexport default {\r\n ChartIntegrationMixin: ChartIntegrationMixin\r\n};\r\nexport {\r\n ChartIntegrationMixin\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/pivot_grid/area_item/m_area_item.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport Class from \"../../../../core/class\";\r\nimport {\r\n getPublicElement\r\n} from \"../../../../core/element\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n setWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n getMemoizeScrollTo\r\n} from \"../../../../renovation/ui/common/utils/scroll/getMemoizeScrollTo\";\r\nvar PIVOTGRID_EXPAND_CLASS = \"dx-expand\";\r\nvar getRealElementWidth = function(element) {\r\n var width = 0;\r\n var {\r\n offsetWidth: offsetWidth\r\n } = element;\r\n if (element.getBoundingClientRect) {\r\n var clientRect = getBoundingRect(element);\r\n width = clientRect.width;\r\n if (!width) {\r\n width = clientRect.right - clientRect.left\r\n }\r\n if (width <= offsetWidth - 1) {\r\n width = offsetWidth\r\n }\r\n }\r\n return width > 0 ? width : offsetWidth\r\n};\r\n\r\nfunction getFakeTableOffset(scrollPos, elementOffset, tableSize, viewPortSize) {\r\n var offset = 0;\r\n var halfTableCount = 0;\r\n var halfTableSize = tableSize / 2;\r\n if (scrollPos + viewPortSize - (elementOffset + tableSize) > 1) {\r\n if (scrollPos >= elementOffset + tableSize + halfTableSize) {\r\n halfTableCount = parseInt((scrollPos - (elementOffset + tableSize)) / halfTableSize, 10)\r\n }\r\n offset = elementOffset + tableSize + halfTableSize * halfTableCount\r\n } else if (scrollPos < elementOffset) {\r\n if (scrollPos <= elementOffset - halfTableSize) {\r\n halfTableCount = parseInt((scrollPos - (elementOffset - halfTableSize)) / halfTableSize, 10)\r\n }\r\n offset = elementOffset - (tableSize - halfTableSize * halfTableCount)\r\n } else {\r\n offset = elementOffset\r\n }\r\n return offset\r\n}\r\nvar AreaItem = Class.inherit({\r\n ctor(component) {\r\n this.component = component\r\n },\r\n option() {\r\n return this.component.option.apply(this.component, arguments)\r\n },\r\n _getRowElement(index) {\r\n if (this._tableElement && this._tableElement.length > 0) {\r\n return this._tableElement[0].rows[index]\r\n }\r\n return null\r\n },\r\n _createGroupElement: () => $(\"<div>\"),\r\n _createTableElement: () => $(\"<table>\"),\r\n _getCellText(cell, encodeHtml) {\r\n var cellText = cell.isWhiteSpace ? \" \" : cell.text || \" \";\r\n if (encodeHtml && (-1 !== cellText.indexOf(\"<\") || -1 !== cellText.indexOf(\">\"))) {\r\n cellText = $(\"<div>\").text(cellText).html()\r\n }\r\n return cellText\r\n },\r\n _getRowClassNames() {},\r\n _applyCustomStyles(options) {\r\n if (options.cell.width) {\r\n options.cssArray.push(\"min-width:\".concat(options.cell.width, \"px\"))\r\n }\r\n if (options.cell.sorted) {\r\n options.classArray.push(\"dx-pivotgrid-sorted\")\r\n }\r\n },\r\n _getMainElementMarkup: () => \"<tbody>\",\r\n _getCloseMainElementMarkup: () => \"</tbody>\",\r\n _renderTableContent(tableElement, data) {\r\n var rowsCount = data.length;\r\n var row;\r\n var cell;\r\n var i;\r\n var j;\r\n var cellText;\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var markupArray = [];\r\n var encodeHtml = this.option(\"encodeHtml\");\r\n var rowClassNames;\r\n tableElement.data(\"area\", this._getAreaName());\r\n tableElement.data(\"data\", data);\r\n tableElement.css(\"width\", \"\");\r\n markupArray.push(this._getMainElementMarkup());\r\n for (i = 0; i < rowsCount; i += 1) {\r\n row = data[i];\r\n var columnMarkupArray = [];\r\n rowClassNames = [];\r\n markupArray.push(\"<tr \");\r\n for (j = 0; j < row.length; j += 1) {\r\n cell = row[j];\r\n this._getRowClassNames(i, cell, rowClassNames);\r\n columnMarkupArray.push(\"<td \");\r\n if (cell) {\r\n cell.rowspan && columnMarkupArray.push(\"\".concat(\"rowspan='\" + (cell.rowspan || 1), \"'\"));\r\n cell.colspan && columnMarkupArray.push(\"\".concat(\"colspan='\" + (cell.colspan || 1), \"'\"));\r\n var styleOptions = {\r\n cellElement: void 0,\r\n cell: cell,\r\n cellsCount: row.length,\r\n cellIndex: j,\r\n rowElement: void 0,\r\n rowIndex: i,\r\n rowsCount: rowsCount,\r\n rtlEnabled: rtlEnabled,\r\n classArray: [],\r\n cssArray: []\r\n };\r\n this._applyCustomStyles(styleOptions);\r\n if (styleOptions.cssArray.length) {\r\n columnMarkupArray.push(\"style='\");\r\n columnMarkupArray.push(styleOptions.cssArray.join(\";\"));\r\n columnMarkupArray.push(\"'\")\r\n }\r\n if (styleOptions.classArray.length) {\r\n columnMarkupArray.push(\"class='\");\r\n columnMarkupArray.push(styleOptions.classArray.join(\" \"));\r\n columnMarkupArray.push(\"'\")\r\n }\r\n columnMarkupArray.push(\">\");\r\n if (isDefined(cell.expanded)) {\r\n columnMarkupArray.push(\"<div class='dx-expand-icon-container'><span class='\".concat(PIVOTGRID_EXPAND_CLASS, \"'></span></div>\"))\r\n }\r\n cellText = this._getCellText(cell, encodeHtml)\r\n } else {\r\n cellText = \"\"\r\n }\r\n columnMarkupArray.push(\"<span \");\r\n if (isDefined(cell.wordWrapEnabled)) {\r\n columnMarkupArray.push(\"style='white-space:\", cell.wordWrapEnabled ? \"normal\" : \"nowrap\", \";'\")\r\n }\r\n columnMarkupArray.push(\">\".concat(cellText, \"</span>\"));\r\n if (cell.sorted) {\r\n columnMarkupArray.push(\"<span class='dx-icon-sorted'></span>\")\r\n }\r\n columnMarkupArray.push(\"</td>\")\r\n }\r\n if (rowClassNames.length) {\r\n markupArray.push(\"class='\");\r\n markupArray.push(rowClassNames.join(\" \"));\r\n markupArray.push(\"'\")\r\n }\r\n markupArray.push(\">\");\r\n markupArray.push(columnMarkupArray.join(\"\"));\r\n markupArray.push(\"</tr>\")\r\n }\r\n markupArray.push(this._getCloseMainElementMarkup());\r\n tableElement.append(markupArray.join(\"\"));\r\n this._triggerOnCellPrepared(tableElement, data)\r\n },\r\n _triggerOnCellPrepared(tableElement, data) {\r\n var rowElements = tableElement.find(\"tr\");\r\n var areaName = this._getAreaName();\r\n var onCellPrepared = this.option(\"onCellPrepared\");\r\n var hasEvent = this.component._eventsStrategy.hasEvent(\"cellPrepared\");\r\n var rowElement;\r\n var $cellElement;\r\n var onCellPreparedArgs;\r\n var defaultActionArgs = this.component._defaultActionArgs();\r\n var row;\r\n var cell;\r\n var rowIndex;\r\n var columnIndex;\r\n if (onCellPrepared || hasEvent) {\r\n for (rowIndex = 0; rowIndex < data.length; rowIndex += 1) {\r\n row = data[rowIndex];\r\n rowElement = rowElements.eq(rowIndex);\r\n for (columnIndex = 0; columnIndex < row.length; columnIndex += 1) {\r\n cell = row[columnIndex];\r\n $cellElement = rowElement.children().eq(columnIndex);\r\n onCellPreparedArgs = {\r\n area: areaName,\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex,\r\n cellElement: getPublicElement($cellElement),\r\n cell: cell\r\n };\r\n if (hasEvent) {\r\n this.component._trigger(\"onCellPrepared\", onCellPreparedArgs)\r\n } else {\r\n onCellPrepared(extend(onCellPreparedArgs, defaultActionArgs))\r\n }\r\n }\r\n }\r\n }\r\n },\r\n _getRowHeight(index) {\r\n var row = this._getRowElement(index);\r\n var height = 0;\r\n var {\r\n offsetHeight: offsetHeight\r\n } = row;\r\n if (row && row.lastChild) {\r\n if (row.getBoundingClientRect) {\r\n var clientRect = getBoundingRect(row);\r\n height = clientRect.height;\r\n if (height <= offsetHeight - 1) {\r\n height = offsetHeight\r\n }\r\n }\r\n return height > 0 ? height : offsetHeight\r\n }\r\n return 0\r\n },\r\n _setRowHeight(index, value) {\r\n var row = this._getRowElement(index);\r\n if (row) {\r\n row.style.height = \"\".concat(value, \"px\")\r\n }\r\n },\r\n getRowsLength() {\r\n if (this._tableElement && this._tableElement.length > 0) {\r\n return this._tableElement[0].rows.length\r\n }\r\n return 0\r\n },\r\n getRowsHeight() {\r\n var result = [];\r\n var rowsLength = this.getRowsLength();\r\n var i;\r\n for (i = 0; i < rowsLength; i += 1) {\r\n result.push(this._getRowHeight(i))\r\n }\r\n return result\r\n },\r\n setRowsHeight(values) {\r\n var totalHeight = 0;\r\n var valuesLength = values.length;\r\n var i;\r\n for (i = 0; i < valuesLength; i += 1) {\r\n totalHeight += values[i];\r\n this._setRowHeight(i, values[i])\r\n }\r\n this._tableHeight = totalHeight;\r\n this._tableElement[0].style.height = \"\".concat(totalHeight, \"px\")\r\n },\r\n getColumnsWidth() {\r\n var rowsLength = this.getRowsLength();\r\n var rowIndex;\r\n var row;\r\n var i;\r\n var columnIndex;\r\n var processedCells = [];\r\n var result = [];\r\n var fillCells = function(cells, rowIndex, columnIndex, rowSpan, colSpan) {\r\n var rowOffset;\r\n var columnOffset;\r\n for (rowOffset = 0; rowOffset < rowSpan; rowOffset += 1) {\r\n for (columnOffset = 0; columnOffset < colSpan; columnOffset += 1) {\r\n cells[rowIndex + rowOffset] = cells[rowIndex + rowOffset] || [];\r\n cells[rowIndex + rowOffset][columnIndex + columnOffset] = true\r\n }\r\n }\r\n };\r\n if (rowsLength) {\r\n for (rowIndex = 0; rowIndex < rowsLength; rowIndex += 1) {\r\n processedCells[rowIndex] = processedCells[rowIndex] || [];\r\n row = this._getRowElement(rowIndex);\r\n for (i = 0; i < row.cells.length; i += 1) {\r\n for (columnIndex = 0; processedCells[rowIndex][columnIndex]; columnIndex += 1) {}\r\n fillCells(processedCells, rowIndex, columnIndex, row.cells[i].rowSpan, row.cells[i].colSpan);\r\n if (1 === row.cells[i].colSpan) {\r\n result[columnIndex] = result[columnIndex] || getRealElementWidth(row.cells[i])\r\n }\r\n }\r\n }\r\n }\r\n return result\r\n },\r\n setColumnsWidth(values) {\r\n var i;\r\n var tableElement = this._tableElement[0];\r\n var colgroupElementHTML = \"\";\r\n var columnsCount = this.getColumnsCount();\r\n var columnWidth = [];\r\n for (i = 0; i < columnsCount; i += 1) {\r\n columnWidth.push(values[i] || 0)\r\n }\r\n for (i = columnsCount; i < values.length && values; i += 1) {\r\n columnWidth[columnsCount - 1] += values[i]\r\n }\r\n for (i = 0; i < columnsCount; i += 1) {\r\n colgroupElementHTML += '<col style=\"width: '.concat(columnWidth[i], 'px\">')\r\n }\r\n this._colgroupElement.html(colgroupElementHTML);\r\n this._tableWidth = columnWidth.reduce((sum, width) => sum + width, 0);\r\n tableElement.style.width = \"\".concat(this._tableWidth, \"px\");\r\n tableElement.style.tableLayout = \"fixed\"\r\n },\r\n resetColumnsWidth() {\r\n setWidth(this._colgroupElement.find(\"col\"), \"auto\");\r\n this._tableElement.css({\r\n width: \"\",\r\n tableLayout: \"\"\r\n })\r\n },\r\n setGroupWidth(value) {\r\n this._getScrollable().option(\"width\", value)\r\n },\r\n setGroupHeight(value) {\r\n this._getScrollable().option(\"height\", value)\r\n },\r\n getGroupHeight() {\r\n return this._getGroupElementSize(\"height\")\r\n },\r\n getGroupWidth() {\r\n return this._getGroupElementSize(\"width\")\r\n },\r\n _getGroupElementSize(dimension) {\r\n var size = this.groupElement()[0].style[dimension];\r\n if (size.indexOf(\"px\") > 0) {\r\n return parseFloat(size)\r\n }\r\n return null\r\n },\r\n groupElement() {\r\n return this._groupElement\r\n },\r\n tableElement() {\r\n return this._tableElement\r\n },\r\n element() {\r\n return this._rootElement\r\n },\r\n headElement() {\r\n return this._tableElement.find(\"thead\")\r\n },\r\n _setTableCss(styles) {\r\n if (this.option(\"rtlEnabled\")) {\r\n styles.right = styles.left;\r\n delete styles.left\r\n }\r\n this.tableElement().css(styles)\r\n },\r\n setVirtualContentParams(params) {\r\n this._virtualContent.css({\r\n width: params.width,\r\n height: params.height\r\n });\r\n var scrollable = this._getScrollable();\r\n if (null === scrollable || void 0 === scrollable ? void 0 : scrollable.isRenovated()) {\r\n this._getScrollable().option(\"classes\", \"dx-virtual-mode\")\r\n } else {\r\n this.groupElement().addClass(\"dx-virtual-mode\")\r\n }\r\n },\r\n disableVirtualMode() {\r\n var scrollable = this._getScrollable();\r\n if (null === scrollable || void 0 === scrollable ? void 0 : scrollable.isRenovated()) {\r\n this._getScrollable().option(\"classes\", \"\")\r\n } else {\r\n this.groupElement().removeClass(\"dx-virtual-mode\")\r\n }\r\n },\r\n _renderVirtualContent() {\r\n if (!this._virtualContent && \"virtual\" === this.option(\"scrolling.mode\")) {\r\n this._virtualContent = $(\"<div>\").addClass(\"dx-virtual-content\").insertBefore(this._tableElement)\r\n }\r\n },\r\n reset() {\r\n var tableElement = this._tableElement[0];\r\n this._fakeTable && this._fakeTable.detach();\r\n this._fakeTable = null;\r\n this.disableVirtualMode();\r\n this.setGroupWidth(\"100%\");\r\n this.setGroupHeight(\"auto\");\r\n this.resetColumnsWidth();\r\n if (tableElement) {\r\n for (var i = 0; i < tableElement.rows.length; i += 1) {\r\n tableElement.rows[i].style.height = \"\"\r\n }\r\n tableElement.style.height = \"\";\r\n tableElement.style.width = \"100%\"\r\n }\r\n },\r\n _updateFakeTableVisibility() {\r\n var tableElement = this.tableElement()[0];\r\n var horizontalOffsetName = this.option(\"rtlEnabled\") ? \"right\" : \"left\";\r\n var fakeTableElement = this._fakeTable[0];\r\n if (tableElement.style.top === fakeTableElement.style.top && fakeTableElement.style[horizontalOffsetName] === tableElement.style[horizontalOffsetName]) {\r\n this._fakeTable.addClass(\"dx-hidden\")\r\n } else {\r\n this._fakeTable.removeClass(\"dx-hidden\")\r\n }\r\n },\r\n _moveFakeTableHorizontally(scrollPos) {\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var offsetStyleName = rtlEnabled ? \"right\" : \"left\";\r\n var tableElementOffset = parseFloat(this.tableElement()[0].style[offsetStyleName]);\r\n var offset = getFakeTableOffset(scrollPos, tableElementOffset, this._tableWidth, this.getGroupWidth());\r\n if (parseFloat(this._fakeTable[0].style[offsetStyleName]) !== offset) {\r\n this._fakeTable[0].style[offsetStyleName] = \"\".concat(offset, \"px\")\r\n }\r\n },\r\n _moveFakeTableTop(scrollPos) {\r\n var tableElementOffsetTop = parseFloat(this.tableElement()[0].style.top);\r\n var offsetTop = getFakeTableOffset(scrollPos, tableElementOffsetTop, this._tableHeight, this.getGroupHeight());\r\n if (parseFloat(this._fakeTable[0].style.top) !== offsetTop) {\r\n this._fakeTable[0].style.top = \"\".concat(offsetTop, \"px\")\r\n }\r\n },\r\n _moveFakeTable() {\r\n this._updateFakeTableVisibility()\r\n },\r\n _createFakeTable() {\r\n if (!this._fakeTable) {\r\n this._fakeTable = this.tableElement().clone().addClass(\"dx-pivot-grid-fake-table\").appendTo(this._virtualContent)\r\n }\r\n },\r\n render(rootElement, data) {\r\n if (this._tableElement) {\r\n try {\r\n this._tableElement[0].innerHTML = \"\"\r\n } catch (e) {\r\n this._tableElement.empty()\r\n }\r\n this._tableElement.removeAttr(\"style\")\r\n } else {\r\n this._groupElement = this._createGroupElement();\r\n this._tableElement = this._createTableElement();\r\n this._tableElement.appendTo(this._groupElement);\r\n this._groupElement.appendTo(rootElement);\r\n this._rootElement = rootElement\r\n }\r\n this._colgroupElement = $(\"<colgroup>\").appendTo(this._tableElement);\r\n this._renderTableContent(this._tableElement, data);\r\n this._renderVirtualContent()\r\n },\r\n _getScrollable() {\r\n return this.groupElement().data(\"dxScrollable\")\r\n },\r\n _getMemoizeScrollTo() {\r\n var _a;\r\n this._memoizeScrollTo = null !== (_a = this._memoizeScrollTo) && void 0 !== _a ? _a : getMemoizeScrollTo(() => this._getScrollable());\r\n return this._memoizeScrollTo\r\n },\r\n _getMaxLeftOffset(scrollable) {\r\n var containerElement = $(scrollable.container()).get(0);\r\n return containerElement.scrollWidth - containerElement.clientWidth\r\n },\r\n on(eventName, handler) {\r\n var that = this;\r\n var scrollable = that._getScrollable();\r\n if (scrollable) {\r\n scrollable.on(eventName, e => {\r\n if (that.option(\"rtlEnabled\") && isDefined(e.scrollOffset.left)) {\r\n e.scrollOffset.left = that._getMaxLeftOffset(scrollable) - e.scrollOffset.left\r\n }\r\n handler(e)\r\n })\r\n }\r\n return this\r\n },\r\n off(eventName) {\r\n var scrollable = this._getScrollable();\r\n if (scrollable) {\r\n scrollable.off(eventName)\r\n }\r\n return this\r\n },\r\n scrollTo(pos) {\r\n var force = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : false;\r\n var scrollable = this._getScrollable();\r\n if (!scrollable) {\r\n return\r\n }\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var areaName = this._getAreaName();\r\n var scrollablePos = _extends(_extends({}, pos), {\r\n left: rtlEnabled && (\"column\" === areaName || \"data\" === areaName) ? this._getMaxLeftOffset(scrollable) - pos.left : pos.left\r\n });\r\n var memoizeScrollTo = this._getMemoizeScrollTo();\r\n memoizeScrollTo(scrollablePos, force);\r\n if (this._virtualContent) {\r\n this._createFakeTable();\r\n this._moveFakeTable(pos)\r\n }\r\n },\r\n updateScrollable() {\r\n var scrollable = this._getScrollable();\r\n if (scrollable) {\r\n return scrollable.update()\r\n }\r\n return\r\n },\r\n getColumnsCount() {\r\n var columnCount = 0;\r\n var row = this._getRowElement(0);\r\n var cells;\r\n if (row) {\r\n cells = row.cells;\r\n for (var i = 0, len = cells.length; i < len; ++i) {\r\n columnCount += cells[i].colSpan\r\n }\r\n }\r\n return columnCount\r\n },\r\n getData() {\r\n var tableElement = this._tableElement;\r\n return tableElement ? tableElement.data(\"data\") : []\r\n }\r\n});\r\nexport default {\r\n AreaItem: AreaItem,\r\n getRealElementWidth: getRealElementWidth\r\n};\r\nexport {\r\n AreaItem,\r\n getRealElementWidth\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/pivot_grid/data_area/m_data_area.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n nativeScrolling\r\n} from \"../../../../core/utils/support\";\r\nimport {\r\n AreaItem\r\n} from \"../area_item/m_area_item\";\r\nimport {\r\n calculateScrollbarWidth\r\n} from \"../m_widget_utils\";\r\nvar PIVOTGRID_AREA_CLASS = \"dx-pivotgrid-area\";\r\nvar PIVOTGRID_AREA_DATA_CLASS = \"dx-pivotgrid-area-data\";\r\nvar PIVOTGRID_TOTAL_CLASS = \"dx-total\";\r\nvar PIVOTGRID_GRAND_TOTAL_CLASS = \"dx-grandtotal\";\r\nvar PIVOTGRID_ROW_TOTAL_CLASS = \"dx-row-total\";\r\nvar DataArea = AreaItem.inherit({\r\n _getAreaName: () => \"data\",\r\n _createGroupElement: () => $(\"<div>\").addClass(PIVOTGRID_AREA_CLASS).addClass(PIVOTGRID_AREA_DATA_CLASS).css(\"borderTopWidth\", 0),\r\n _applyCustomStyles(options) {\r\n var {\r\n cell: cell\r\n } = options;\r\n var {\r\n classArray: classArray\r\n } = options;\r\n if (\"T\" === cell.rowType || \"T\" === cell.columnType) {\r\n classArray.push(PIVOTGRID_TOTAL_CLASS)\r\n }\r\n if (\"GT\" === cell.rowType || \"GT\" === cell.columnType) {\r\n classArray.push(PIVOTGRID_GRAND_TOTAL_CLASS)\r\n }\r\n if (\"T\" === cell.rowType || \"GT\" === cell.rowType) {\r\n classArray.push(PIVOTGRID_ROW_TOTAL_CLASS)\r\n }\r\n if (options.rowIndex === options.rowsCount - 1) {\r\n options.cssArray.push(\"border-bottom: 0px\")\r\n }\r\n this.callBase(options)\r\n },\r\n _moveFakeTable(scrollPos) {\r\n this._moveFakeTableHorizontally(scrollPos.x);\r\n this._moveFakeTableTop(scrollPos.y);\r\n this.callBase()\r\n },\r\n renderScrollable() {\r\n this._groupElement.dxScrollable({\r\n useNative: this.getUseNativeValue(),\r\n useSimulatedScrollbar: false,\r\n rtlEnabled: this.component.option(\"rtlEnabled\"),\r\n bounceEnabled: false,\r\n updateManually: true\r\n })\r\n },\r\n getUseNativeValue() {\r\n var {\r\n useNative: useNative\r\n } = this.component.option(\"scrolling\");\r\n return \"auto\" === useNative ? !!nativeScrolling : !!useNative\r\n },\r\n getScrollbarWidth() {\r\n return this.getUseNativeValue() ? calculateScrollbarWidth() : 0\r\n },\r\n updateScrollableOptions(_ref) {\r\n var {\r\n direction: direction,\r\n rtlEnabled: rtlEnabled\r\n } = _ref;\r\n var scrollable = this._getScrollable();\r\n scrollable.option(\"useNative\", this.getUseNativeValue());\r\n scrollable.option({\r\n direction: direction,\r\n rtlEnabled: rtlEnabled\r\n })\r\n },\r\n getScrollableDirection(horizontal, vertical) {\r\n if (horizontal && !vertical) {\r\n return \"horizontal\"\r\n }\r\n if (!horizontal && vertical) {\r\n return \"vertical\"\r\n }\r\n return \"both\"\r\n },\r\n reset() {\r\n this.callBase();\r\n if (this._virtualContent) {\r\n this._virtualContent.parent().css(\"height\", \"auto\")\r\n }\r\n },\r\n setVirtualContentParams(params) {\r\n this.callBase(params);\r\n this._virtualContent.parent().css(\"height\", params.height);\r\n this._setTableCss({\r\n top: params.top,\r\n left: params.left\r\n })\r\n }\r\n});\r\nexport default {\r\n DataArea: DataArea\r\n};\r\nexport {\r\n DataArea\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/pivot_grid/data_controller/m_data_controller.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../../../core/class\";\r\nimport Callbacks from \"../../../../core/utils/callbacks\";\r\nimport {\r\n deferUpdate\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each,\r\n map\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n format\r\n} from \"../../../../core/utils/string\";\r\nimport {\r\n isDefined,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport stateStoring from \"../../../grids/grid_core/state_storing/m_state_storing_core\";\r\nimport {\r\n createColumnsInfo,\r\n foreachColumnInfo\r\n} from \"../../../grids/grid_core/virtual_columns/m_virtual_columns_core\";\r\nimport VirtualScrollControllerModule from \"../../../grids/grid_core/virtual_scrolling/m_virtual_scrolling_core\";\r\nimport {\r\n PivotGridDataSource\r\n} from \"../data_source/m_data_source\";\r\nimport {\r\n createPath,\r\n findField,\r\n foreachTree,\r\n foreachTreeAsync,\r\n formatValue\r\n} from \"../m_widget_utils\";\r\nvar math = Math;\r\nvar GRAND_TOTAL_TYPE = \"GT\";\r\nvar TOTAL_TYPE = \"T\";\r\nvar DATA_TYPE = \"D\";\r\nvar NOT_AVAILABLE = \"#N/A\";\r\nvar CHANGING_DURATION_IF_PAGINATE = 300;\r\nvar proxyMethod = function(instance, methodName, defaultResult) {\r\n if (!instance[methodName]) {\r\n instance[methodName] = function() {\r\n var dataSource = this._dataSource;\r\n return dataSource ? dataSource[methodName].apply(dataSource, arguments) : defaultResult\r\n }\r\n }\r\n};\r\nvar DataController = Class.inherit(function() {\r\n function formatCellValue(value, dataField, errorText) {\r\n return value === NOT_AVAILABLE ? errorText : formatValue(value, dataField)\r\n }\r\n var createHeaderInfo = function() {\r\n var addInfoItem = function(info, options) {\r\n var breadth = options.lastIndex - options.index || 1;\r\n var itemInfo = function(headerItem, breadth, isHorizontal, isTree) {\r\n var infoItem = {\r\n type: headerItem.type,\r\n text: headerItem.text\r\n };\r\n if (headerItem.path) {\r\n infoItem.path = headerItem.path\r\n }\r\n if (headerItem.width) {\r\n infoItem.width = headerItem.width\r\n }\r\n if (isDefined(headerItem.wordWrapEnabled)) {\r\n infoItem.wordWrapEnabled = headerItem.wordWrapEnabled\r\n }\r\n if (headerItem.isLast) {\r\n infoItem.isLast = true\r\n }\r\n if (headerItem.sorted) {\r\n infoItem.sorted = true\r\n }\r\n if (headerItem.isMetric) {\r\n infoItem.dataIndex = headerItem.dataIndex\r\n }\r\n if (isDefined(headerItem.expanded)) {\r\n infoItem.expanded = headerItem.expanded\r\n }\r\n if (breadth > 1) {\r\n infoItem[isHorizontal ? \"colspan\" : \"rowspan\"] = breadth\r\n }\r\n if (headerItem.depthSize && headerItem.depthSize > 1) {\r\n infoItem[isHorizontal ? \"rowspan\" : \"colspan\"] = headerItem.depthSize\r\n }\r\n if (headerItem.index >= 0) {\r\n infoItem.dataSourceIndex = headerItem.index\r\n }\r\n if (isTree && headerItem.children && headerItem.children.length && !headerItem.children[0].isMetric) {\r\n infoItem.width = null;\r\n infoItem.isWhiteSpace = true\r\n }\r\n return infoItem\r\n }(options.headerItem, breadth, options.isHorizontal, options.isTree);\r\n ! function(info, infoItem, itemIndex, depthIndex, isHorizontal) {\r\n var index = isHorizontal ? depthIndex : itemIndex;\r\n while (!info[index]) {\r\n info.push([])\r\n }\r\n if (isHorizontal) {\r\n info[index].push(infoItem)\r\n } else {\r\n info[index].unshift(infoItem)\r\n }\r\n }(info, itemInfo, options.index, options.depth, options.isHorizontal);\r\n if (!options.headerItem.children || 0 === options.headerItem.children.length) {\r\n return options.lastIndex + 1\r\n }\r\n return options.lastIndex\r\n };\r\n var getViewHeaderItems = function(headerItems, headerDescriptions, cellDescriptions, depthSize, options) {\r\n var cellDescriptionsCount = cellDescriptions.length;\r\n var viewHeaderItems = function(headerItems, headerDescriptions) {\r\n var headerDescriptionsCount = headerDescriptions && headerDescriptions.length || 0;\r\n var childrenStack = [];\r\n var d = new Deferred;\r\n var headerItem;\r\n when(foreachTreeAsync(headerItems, (items, index) => {\r\n var item = items[0];\r\n var path = createPath(items);\r\n headerItem = createHeaderItem(childrenStack, path.length, index);\r\n headerItem.type = DATA_TYPE;\r\n headerItem.value = item.value;\r\n headerItem.path = path;\r\n headerItem.text = item.text;\r\n headerItem.index = item.index;\r\n headerItem.displayText = item.displayText;\r\n headerItem.key = item.key;\r\n headerItem.isEmpty = item.isEmpty;\r\n if (path.length < headerDescriptionsCount && (!item.children || 0 !== item.children.length)) {\r\n headerItem.expanded = !!item.children\r\n }\r\n })).done(() => {\r\n d.resolve(createHeaderItem(childrenStack, 0, 0).children || [])\r\n });\r\n return d\r\n }(headerItems, headerDescriptions);\r\n var {\r\n dataFields: dataFields\r\n } = options;\r\n var d = new Deferred;\r\n when(viewHeaderItems).done(viewHeaderItems => {\r\n options.notifyProgress(.5);\r\n if (options.showGrandTotals) {\r\n viewHeaderItems[!options.showTotalsPrior ? \"push\" : \"unshift\"]({\r\n type: GRAND_TOTAL_TYPE,\r\n isEmpty: options.isEmptyGrandTotal\r\n })\r\n }\r\n var hideTotals = false === options.showTotals || dataFields.length > 0 && dataFields.length === options.hiddenTotals.length;\r\n var hideData = dataFields.length > 0 && options.hiddenValues.length === dataFields.length;\r\n if (hideData && hideTotals) {\r\n depthSize = 1\r\n }\r\n if (!hideTotals || \"tree\" === options.layout) {\r\n ! function(headerItems, headerDescriptions, showTotalsPrior, isTree) {\r\n showTotalsPrior = showTotalsPrior || isTree;\r\n foreachTree(headerItems, (items, index) => {\r\n var item = items[0];\r\n var parentChildren = (items[1] ? items[1].children : headerItems) || [];\r\n var dataField = headerDescriptions[items.length - 1];\r\n if (item.type === DATA_TYPE && item.expanded && (false !== dataField.showTotals || isTree)) {\r\n -1 !== index && parentChildren.splice(showTotalsPrior ? index : index + 1, 0, extend({}, item, {\r\n children: null,\r\n type: TOTAL_TYPE,\r\n expanded: showTotalsPrior ? true : null,\r\n isAdditionalTotal: true\r\n }));\r\n if (showTotalsPrior) {\r\n item.expanded = null\r\n }\r\n }\r\n })\r\n }(viewHeaderItems, headerDescriptions, options.showTotalsPrior, \"tree\" === options.layout)\r\n }\r\n when(foreachTreeAsync(viewHeaderItems, items => {\r\n var item = items[0];\r\n if (!item.children || 0 === item.children.length) {\r\n item.depthSize = depthSize - items.length + 1\r\n }\r\n })).done(() => {\r\n if (cellDescriptionsCount > 1) {\r\n ! function(headerItems, cellDescriptions, options) {\r\n foreachTree(headerItems, items => {\r\n var item = items[0];\r\n var i;\r\n if (!item.children || 0 === item.children.length) {\r\n item.children = [];\r\n for (i = 0; i < cellDescriptions.length; i += 1) {\r\n var isGrandTotal = item.type === GRAND_TOTAL_TYPE;\r\n var isTotal = item.type === TOTAL_TYPE;\r\n var isValue = item.type === DATA_TYPE;\r\n var columnIsHidden = false === cellDescriptions[i].visible || isGrandTotal && options.hiddenGrandTotals.includes(i) || isTotal && options.hiddenTotals.includes(i) || isValue && options.hiddenValues.includes(i);\r\n if (columnIsHidden) {\r\n continue\r\n }\r\n item.children.push({\r\n caption: cellDescriptions[i].caption,\r\n path: item.path,\r\n type: item.type,\r\n value: i,\r\n index: item.index,\r\n dataIndex: i,\r\n isMetric: true,\r\n isEmpty: item.isEmpty && item.isEmpty[i]\r\n })\r\n }\r\n }\r\n })\r\n }(viewHeaderItems, cellDescriptions, options)\r\n }!options.showEmpty && function(headerItems) {\r\n foreachTree([{\r\n children: headerItems\r\n }], (items, index) => {\r\n var item = items[0];\r\n var parentChildren = (items[1] ? items[1].children : headerItems) || [];\r\n var {\r\n isEmpty: isEmpty\r\n } = item;\r\n if (isEmpty && isEmpty.length) {\r\n isEmpty = item.isEmpty.filter(isEmpty => isEmpty).length === isEmpty.length\r\n }\r\n if (item && !item.children && isEmpty) {\r\n parentChildren.splice(index, 1);\r\n ! function removeEmptyParent(items, index) {\r\n var parent = items[index + 1];\r\n if (!items[index].children.length && parent && parent.children) {\r\n parent.children.splice(parent.children.indexOf(items[index]), 1);\r\n removeEmptyParent(items, index + 1)\r\n }\r\n }(items, 1)\r\n }\r\n })\r\n }(viewHeaderItems);\r\n options.notifyProgress(.75);\r\n when(foreachTreeAsync(viewHeaderItems, items => {\r\n var item = items[0];\r\n var {\r\n isMetric: isMetric\r\n } = item;\r\n var field = headerDescriptions[items.length - 1] || {};\r\n if (item.type === DATA_TYPE && !isMetric) {\r\n item.width = field.width\r\n }\r\n if (hideData && item.type === DATA_TYPE) {\r\n var parentChildren = (items[1] ? items[1].children : viewHeaderItems) || [];\r\n parentChildren.splice(parentChildren.indexOf(item), 1);\r\n return\r\n }\r\n if (isMetric) {\r\n item.wordWrapEnabled = cellDescriptions[item.dataIndex].wordWrapEnabled\r\n } else {\r\n item.wordWrapEnabled = field.wordWrapEnabled\r\n }\r\n item.isLast = !item.children || !item.children.length;\r\n if (item.isLast) {\r\n each(options.sortBySummaryPaths, (_, sortBySummaryPath) => {\r\n if (!isDefined(item.dataIndex)) {\r\n sortBySummaryPath = sortBySummaryPath.slice(0);\r\n sortBySummaryPath.pop()\r\n }\r\n if (function(items, sortBySummaryPath) {\r\n var path;\r\n var item = items[0];\r\n var stringValuesUsed = isString(sortBySummaryPath[0]);\r\n var headerItem = item.dataIndex >= 0 ? items[1] : item;\r\n if (stringValuesUsed && -1 !== sortBySummaryPath[0].indexOf(\"&[\") && headerItem.key || !headerItem.key) {\r\n path = createPath(items)\r\n } else {\r\n path = map(items, item => item.dataIndex >= 0 ? item.value : item.text).reverse()\r\n }\r\n if (item.type === GRAND_TOTAL_TYPE) {\r\n path = path.slice(1)\r\n }\r\n return path.join(\"/\") === sortBySummaryPath.join(\"/\")\r\n }(items, sortBySummaryPath)) {\r\n item.sorted = true;\r\n return false\r\n }\r\n return\r\n })\r\n }\r\n item.text = function(item, description, options) {\r\n var {\r\n text: text\r\n } = item;\r\n if (isDefined(item.displayText)) {\r\n text = item.displayText\r\n } else if (isDefined(item.caption)) {\r\n text = item.caption\r\n } else if (item.type === GRAND_TOTAL_TYPE) {\r\n text = options.texts.grandTotal\r\n }\r\n if (item.isAdditionalTotal) {\r\n text = format(options.texts.total || \"\", text)\r\n }\r\n return text\r\n }(item, 0, options)\r\n })).done(() => {\r\n if (!viewHeaderItems.length) {\r\n viewHeaderItems.push({})\r\n }\r\n options.notifyProgress(1);\r\n d.resolve(viewHeaderItems)\r\n })\r\n })\r\n });\r\n return d\r\n };\r\n\r\n function createHeaderItem(childrenStack, depth, index) {\r\n var parent = childrenStack[depth] = childrenStack[depth] || [];\r\n var node = parent[index] = {};\r\n if (childrenStack[depth + 1]) {\r\n node.children = childrenStack[depth + 1];\r\n for (var i = depth + 1; i < childrenStack.length; i += 1) {\r\n childrenStack[i] = void 0\r\n }\r\n childrenStack.length = depth + 1\r\n }\r\n return node\r\n }\r\n return function(headerItems, headerDescriptions, cellDescriptions, isHorizontal, options) {\r\n var info = [];\r\n var depthSize = function(headerItems) {\r\n var depth = 0;\r\n foreachTree(headerItems, items => {\r\n depth = math.max(depth, items.length)\r\n });\r\n return depth\r\n }(headerItems) || 1;\r\n var d = new Deferred;\r\n getViewHeaderItems(headerItems, headerDescriptions, cellDescriptions, depthSize, options).done(viewHeaderItems => {\r\n ! function(info, viewHeaderItems, depthSize, isHorizontal, isTree) {\r\n var lastIndex = 0;\r\n var index;\r\n var depth;\r\n var indexesByDepth = [0];\r\n foreachTree(viewHeaderItems, items => {\r\n var headerItem = items[0];\r\n depth = headerItem.isMetric ? depthSize : items.length - 1;\r\n while (indexesByDepth.length - 1 < depth) {\r\n indexesByDepth.push(indexesByDepth[indexesByDepth.length - 1])\r\n }\r\n index = indexesByDepth[depth] || 0;\r\n lastIndex = addInfoItem(info, {\r\n headerItem: headerItem,\r\n index: index,\r\n lastIndex: lastIndex,\r\n depth: depth,\r\n isHorizontal: isHorizontal,\r\n isTree: isTree\r\n });\r\n indexesByDepth.length = depth;\r\n indexesByDepth.push(lastIndex)\r\n })\r\n }(info, viewHeaderItems, depthSize, isHorizontal, \"tree\" === options.layout);\r\n options.notifyProgress(1);\r\n d.resolve(info)\r\n });\r\n return d\r\n }\r\n }();\r\n\r\n function createSortPaths(headerFields, dataFields) {\r\n var sortBySummaryPaths = [];\r\n each(headerFields, (_, headerField) => {\r\n var fieldIndex = findField(dataFields, headerField.sortBySummaryField);\r\n if (fieldIndex >= 0) {\r\n sortBySummaryPaths.push((headerField.sortBySummaryPath || []).concat([fieldIndex]))\r\n }\r\n });\r\n return sortBySummaryPaths\r\n }\r\n\r\n function foreachRowInfo(rowsInfo, callback) {\r\n var columnOffset = 0;\r\n var columnOffsetResetIndexes = [];\r\n for (var i = 0; i < rowsInfo.length; i += 1) {\r\n for (var j = 0; j < rowsInfo[i].length; j += 1) {\r\n var rowSpanOffset = (rowsInfo[i][j].rowspan || 1) - 1;\r\n var visibleIndex = i + rowSpanOffset;\r\n if (columnOffsetResetIndexes[i]) {\r\n columnOffset -= columnOffsetResetIndexes[i];\r\n columnOffsetResetIndexes[i] = 0\r\n }\r\n if (false === callback(rowsInfo[i][j], visibleIndex, i, j, columnOffset)) {\r\n break\r\n }\r\n columnOffsetResetIndexes[i + (rowsInfo[i][j].rowspan || 1)] = (columnOffsetResetIndexes[i + (rowsInfo[i][j].rowspan || 1)] || 0) + 1;\r\n columnOffset += 1\r\n }\r\n }\r\n }\r\n\r\n function getHeaderIndexedItems(headerItems, options) {\r\n var visibleIndex = 0;\r\n var indexedItems = [];\r\n foreachTree(headerItems, items => {\r\n var headerItem = items[0];\r\n var path = createPath(items);\r\n if (headerItem.children && false === options.showTotals) {\r\n return\r\n }\r\n var indexedItem = extend(true, {}, headerItem, {\r\n visibleIndex: visibleIndex += 1,\r\n path: path\r\n });\r\n if (isDefined(indexedItem.index)) {\r\n indexedItems[indexedItem.index] = indexedItem\r\n } else {\r\n indexedItems.push(indexedItem)\r\n }\r\n });\r\n return indexedItems\r\n }\r\n\r\n function createScrollController(dataController, component, dataAdapter) {\r\n return new VirtualScrollControllerModule.VirtualScrollController(component, extend({\r\n hasKnownLastPage: () => true,\r\n pageCount() {\r\n return math.ceil(this.totalItemsCount() / this.pageSize())\r\n },\r\n updateLoading() {},\r\n itemsCount() {\r\n if (this.pageIndex() < this.pageCount() - 1) {\r\n return this.pageSize()\r\n }\r\n return this.totalItemsCount() % this.pageSize()\r\n },\r\n items: () => [],\r\n viewportItems: () => [],\r\n onChanged() {},\r\n isLoading: () => dataController.isLoading(),\r\n changingDuration() {\r\n var dataSource = dataController._dataSource;\r\n if (dataSource.paginate()) {\r\n return CHANGING_DURATION_IF_PAGINATE\r\n }\r\n return dataController._changingDuration || 0\r\n }\r\n }, dataAdapter))\r\n }\r\n var members = {\r\n ctor(options) {\r\n var that = this;\r\n var virtualScrollControllerChanged = that._fireChanged.bind(that);\r\n options = that._options = options || {};\r\n that.dataSourceChanged = Callbacks();\r\n that._dataSource = that._createDataSource(options);\r\n if (options.component && \"virtual\" === options.component.option(\"scrolling.mode\")) {\r\n that._rowsScrollController = createScrollController(that, options.component, {\r\n totalItemsCount: () => that.totalRowCount(),\r\n pageIndex: index => that.rowPageIndex(index),\r\n pageSize: () => that.rowPageSize(),\r\n load() {\r\n if (that._rowsScrollController.pageIndex() >= this.pageCount()) {\r\n that._rowsScrollController.pageIndex(this.pageCount() - 1)\r\n }\r\n return that._rowsScrollController.handleDataChanged((function() {\r\n if (that._dataSource.paginate()) {\r\n that._dataSource.load()\r\n } else {\r\n virtualScrollControllerChanged.apply(this, arguments)\r\n }\r\n }))\r\n }\r\n });\r\n that._columnsScrollController = createScrollController(that, options.component, {\r\n totalItemsCount: () => that.totalColumnCount(),\r\n pageIndex: index => that.columnPageIndex(index),\r\n pageSize: () => that.columnPageSize(),\r\n load() {\r\n if (that._columnsScrollController.pageIndex() >= this.pageCount()) {\r\n that._columnsScrollController.pageIndex(this.pageCount() - 1)\r\n }\r\n return that._columnsScrollController.handleDataChanged((function() {\r\n if (that._dataSource.paginate()) {\r\n that._dataSource.load()\r\n } else {\r\n virtualScrollControllerChanged.apply(this, arguments)\r\n }\r\n }))\r\n }\r\n })\r\n }\r\n that._stateStoringController = new stateStoring.StateStoringController(options.component).init();\r\n that._columnsInfo = [];\r\n that._rowsInfo = [];\r\n that._cellsInfo = [];\r\n that.expandValueChanging = Callbacks();\r\n that.loadingChanged = Callbacks();\r\n that.progressChanged = Callbacks();\r\n that.scrollChanged = Callbacks();\r\n that.load();\r\n that._update();\r\n that.changed = Callbacks()\r\n },\r\n _fireChanged() {\r\n var startChanging = new Date;\r\n this.changed && !this._lockChanged && this.changed.fire();\r\n this._changingDuration = new Date - startChanging\r\n },\r\n _correctSkipsTakes(rowIndex, rowSkip, rowSpan, levels, skips, takes) {\r\n var endIndex = rowSpan ? rowIndex + rowSpan - 1 : rowIndex;\r\n skips[levels.length] = skips[levels.length] || 0;\r\n takes[levels.length] = takes[levels.length] || 0;\r\n if (endIndex < rowSkip) {\r\n skips[levels.length] += 1\r\n } else {\r\n takes[levels.length] += 1\r\n }\r\n },\r\n _calculatePagingForRowExpandedPaths(options, skips, takes, rowExpandedSkips, rowExpandedTakes) {\r\n var rows = this._rowsInfo;\r\n var rowCount = Math.min(options.rowSkip + options.rowTake, rows.length);\r\n var {\r\n rowExpandedPaths: rowExpandedPaths\r\n } = options;\r\n var levels = [];\r\n var expandedPathIndexes = {};\r\n var i;\r\n var j;\r\n var path;\r\n rowExpandedPaths.forEach((path, index) => {\r\n expandedPathIndexes[path] = index\r\n });\r\n for (i = 0; i < rowCount; i += 1) {\r\n takes.length = skips.length = levels.length + 1;\r\n for (j = 0; j < rows[i].length; j += 1) {\r\n var cell = rows[i][j];\r\n if (\"D\" === cell.type) {\r\n this._correctSkipsTakes(i, options.rowSkip, cell.rowspan, levels, skips, takes);\r\n path = cell.path || path;\r\n var expandIndex = path && path.length > 1 ? expandedPathIndexes[path.slice(0, -1)] : -1;\r\n if (expandIndex >= 0) {\r\n rowExpandedSkips[expandIndex] = skips[levels.length] || 0;\r\n rowExpandedTakes[expandIndex] = takes[levels.length] || 0\r\n }\r\n if (cell.rowspan) {\r\n levels.push(cell.rowspan)\r\n }\r\n }\r\n }\r\n levels = levels.map(level => level - 1).filter(level => level > 0)\r\n }\r\n },\r\n _calculatePagingForColumnExpandedPaths(options, skips, takes, expandedSkips, expandedTakes) {\r\n var skipByPath = {};\r\n var takeByPath = {};\r\n foreachColumnInfo(this._columnsInfo, (columnInfo, columnIndex) => {\r\n if (\"D\" === columnInfo.type && columnInfo.path && void 0 === columnInfo.dataIndex) {\r\n var colspan = columnInfo.colspan || 1;\r\n var path = columnInfo.path.slice(0, -1).toString();\r\n skipByPath[path] = skipByPath[path] || 0;\r\n takeByPath[path] = takeByPath[path] || 0;\r\n if (columnIndex + colspan <= options.columnSkip) {\r\n skipByPath[path] += 1\r\n } else if (columnIndex < options.columnSkip + options.columnTake) {\r\n takeByPath[path] += 1\r\n }\r\n }\r\n });\r\n skips[0] = skipByPath[\"\"];\r\n takes[0] = takeByPath[\"\"];\r\n options.columnExpandedPaths.forEach((path, index) => {\r\n var skip = skipByPath[path];\r\n var take = takeByPath[path];\r\n if (void 0 !== skip) {\r\n expandedSkips[index] = skip\r\n }\r\n if (void 0 !== take) {\r\n expandedTakes[index] = take\r\n }\r\n })\r\n },\r\n _processPagingForExpandedPaths(options, area, storeLoadOptions, reload) {\r\n var expandedPaths = options[\"\".concat(area, \"ExpandedPaths\")];\r\n var expandedSkips = expandedPaths.map(() => 0);\r\n var expandedTakes = expandedPaths.map(() => reload ? options.pageSize : 0);\r\n var skips = [];\r\n var takes = [];\r\n if (!reload) {\r\n if (\"row\" === area) {\r\n this._calculatePagingForRowExpandedPaths(options, skips, takes, expandedSkips, expandedTakes)\r\n } else {\r\n this._calculatePagingForColumnExpandedPaths(options, skips, takes, expandedSkips, expandedTakes)\r\n }\r\n }\r\n this._savePagingForExpandedPaths(options, area, storeLoadOptions, skips[0], takes[0], expandedSkips, expandedTakes)\r\n },\r\n _savePagingForExpandedPaths(options, area, storeLoadOptions, skip, take, expandedSkips, expandedTakes) {\r\n var expandedPaths = options[\"\".concat(area, \"ExpandedPaths\")];\r\n options[\"\".concat(area, \"ExpandedPaths\")] = [];\r\n options[\"\".concat(area, \"Skip\")] = void 0 !== skip ? skip : options[\"\".concat(area, \"Skip\")];\r\n options[\"\".concat(area, \"Take\")] = void 0 !== take ? take : options[\"\".concat(area, \"Take\")];\r\n for (var i = 0; i < expandedPaths.length; i += 1) {\r\n if (expandedTakes[i]) {\r\n var isOppositeArea = options.area && options.area !== area;\r\n storeLoadOptions.push(extend({\r\n area: area,\r\n headerName: \"\".concat(area, \"s\")\r\n }, options, {\r\n [\"\".concat(area, \"Skip\")]: expandedSkips[i],\r\n [\"\".concat(area, \"Take\")]: expandedTakes[i],\r\n [isOppositeArea ? \"oppositePath\" : \"path\"]: expandedPaths[i]\r\n }))\r\n }\r\n }\r\n },\r\n _handleCustomizeStoreLoadOptions(storeLoadOptions, reload) {\r\n var options = storeLoadOptions[0];\r\n var rowsScrollController = this._rowsScrollController;\r\n if (this._dataSource.paginate() && rowsScrollController) {\r\n var rowPageSize = rowsScrollController.pageSize();\r\n if (\"rows\" === options.headerName) {\r\n options.rowSkip = 0;\r\n options.rowTake = rowPageSize;\r\n options.rowExpandedPaths = []\r\n } else {\r\n options.rowSkip = rowsScrollController.beginPageIndex() * rowPageSize;\r\n options.rowTake = (rowsScrollController.endPageIndex() - rowsScrollController.beginPageIndex() + 1) * rowPageSize;\r\n this._processPagingForExpandedPaths(options, \"row\", storeLoadOptions, reload)\r\n }\r\n }\r\n var columnsScrollController = this._columnsScrollController;\r\n if (this._dataSource.paginate() && columnsScrollController) {\r\n var columnPageSize = columnsScrollController.pageSize();\r\n storeLoadOptions.forEach(options => {\r\n if (\"columns\" === options.headerName) {\r\n options.columnSkip = 0;\r\n options.columnTake = columnPageSize;\r\n options.columnExpandedPaths = []\r\n } else {\r\n options.columnSkip = columnsScrollController.beginPageIndex() * columnPageSize;\r\n options.columnTake = (columnsScrollController.endPageIndex() - columnsScrollController.beginPageIndex() + 1) * columnPageSize;\r\n this._processPagingForExpandedPaths(options, \"column\", storeLoadOptions, reload)\r\n }\r\n })\r\n }\r\n },\r\n load() {\r\n var that = this;\r\n var stateStoringController = this._stateStoringController;\r\n if (stateStoringController.isEnabled() && !stateStoringController.isLoaded()) {\r\n stateStoringController.load().always(state => {\r\n if (state) {\r\n that._dataSource.state(state)\r\n } else {\r\n that._dataSource.load()\r\n }\r\n })\r\n } else {\r\n that._dataSource.load()\r\n }\r\n },\r\n calculateVirtualContentParams(contentParams) {\r\n var rowsScrollController = this._rowsScrollController;\r\n var columnsScrollController = this._columnsScrollController;\r\n if (rowsScrollController && columnsScrollController) {\r\n rowsScrollController.viewportItemSize(contentParams.virtualRowHeight);\r\n rowsScrollController.viewportSize(contentParams.viewportHeight / rowsScrollController.viewportItemSize());\r\n rowsScrollController.setContentItemSizes(contentParams.itemHeights);\r\n columnsScrollController.viewportItemSize(contentParams.virtualColumnWidth);\r\n columnsScrollController.viewportSize(contentParams.viewportWidth / columnsScrollController.viewportItemSize());\r\n columnsScrollController.setContentItemSizes(contentParams.itemWidths);\r\n deferUpdate(() => {\r\n columnsScrollController.loadIfNeed();\r\n rowsScrollController.loadIfNeed()\r\n });\r\n this.scrollChanged.fire({\r\n left: columnsScrollController.getViewportPosition(),\r\n top: rowsScrollController.getViewportPosition()\r\n });\r\n return {\r\n contentTop: rowsScrollController.getContentOffset(),\r\n contentLeft: columnsScrollController.getContentOffset(),\r\n width: columnsScrollController.getVirtualContentSize(),\r\n height: rowsScrollController.getVirtualContentSize()\r\n }\r\n }\r\n return\r\n },\r\n setViewportPosition(left, top) {\r\n this._rowsScrollController.setViewportPosition(top || 0);\r\n this._columnsScrollController.setViewportPosition(left || 0)\r\n },\r\n subscribeToWindowScrollEvents($element) {\r\n var _a;\r\n null === (_a = this._rowsScrollController) || void 0 === _a ? void 0 : _a.subscribeToWindowScrollEvents($element)\r\n },\r\n updateWindowScrollPosition(position) {\r\n var _a;\r\n null === (_a = this._rowsScrollController) || void 0 === _a ? void 0 : _a.scrollTo(position)\r\n },\r\n updateViewOptions(options) {\r\n extend(this._options, options);\r\n this._update()\r\n },\r\n _handleExpandValueChanging(e) {\r\n this.expandValueChanging.fire(e)\r\n },\r\n _handleLoadingChanged(isLoading) {\r\n this.loadingChanged.fire(isLoading)\r\n },\r\n _handleProgressChanged(progress) {\r\n this.progressChanged.fire(progress)\r\n },\r\n _handleFieldsPrepared(e) {\r\n this._options.onFieldsPrepared && this._options.onFieldsPrepared(e)\r\n },\r\n _createDataSource(options) {\r\n var that = this;\r\n var dataSourceOptions = options.dataSource;\r\n var dataSource;\r\n that._isSharedDataSource = dataSourceOptions instanceof PivotGridDataSource;\r\n if (that._isSharedDataSource) {\r\n dataSource = dataSourceOptions\r\n } else {\r\n dataSource = new PivotGridDataSource(dataSourceOptions)\r\n }\r\n that._expandValueChangingHandler = that._handleExpandValueChanging.bind(that);\r\n that._loadingChangedHandler = that._handleLoadingChanged.bind(that);\r\n that._fieldsPreparedHandler = that._handleFieldsPrepared.bind(that);\r\n that._customizeStoreLoadOptionsHandler = that._handleCustomizeStoreLoadOptions.bind(that);\r\n that._changedHandler = function() {\r\n that._update();\r\n that.dataSourceChanged.fire()\r\n };\r\n that._progressChangedHandler = function(progress) {\r\n that._handleProgressChanged(.8 * progress)\r\n };\r\n dataSource.on(\"changed\", that._changedHandler);\r\n dataSource.on(\"expandValueChanging\", that._expandValueChangingHandler);\r\n dataSource.on(\"loadingChanged\", that._loadingChangedHandler);\r\n dataSource.on(\"progressChanged\", that._progressChangedHandler);\r\n dataSource.on(\"fieldsPrepared\", that._fieldsPreparedHandler);\r\n dataSource.on(\"customizeStoreLoadOptions\", that._customizeStoreLoadOptionsHandler);\r\n return dataSource\r\n },\r\n getDataSource() {\r\n return this._dataSource\r\n },\r\n isLoading() {\r\n return this._dataSource.isLoading()\r\n },\r\n beginLoading() {\r\n this._dataSource.beginLoading()\r\n },\r\n endLoading() {\r\n this._dataSource.endLoading()\r\n },\r\n _update() {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var options = that._options;\r\n var columnFields = dataSource.getAreaFields(\"column\");\r\n var rowFields = dataSource.getAreaFields(\"row\");\r\n var dataFields = dataSource.getAreaFields(\"data\");\r\n var dataFieldsForRows = \"row\" === options.dataFieldArea ? dataFields : [];\r\n var dataFieldsForColumns = \"row\" !== options.dataFieldArea ? dataFields : [];\r\n var data = dataSource.getData();\r\n var hiddenTotals = function(dataFields) {\r\n var result = [];\r\n each(dataFields, (index, field) => {\r\n if (false === field.showTotals) {\r\n result.push(index)\r\n }\r\n });\r\n return result\r\n }(dataFields);\r\n var hiddenValues = function(dataFields) {\r\n var result = [];\r\n dataFields.forEach((field, index) => {\r\n if (void 0 === field.showValues && false === field.showTotals || false === field.showValues) {\r\n result.push(index)\r\n }\r\n });\r\n return result\r\n }(dataFields);\r\n var hiddenGrandTotals = function(dataFields, columnFields) {\r\n var result = [];\r\n each(dataFields, (index, field) => {\r\n if (false === field.showGrandTotals) {\r\n result.push(index)\r\n }\r\n });\r\n if (0 === columnFields.length && result.length === dataFields.length) {\r\n result = []\r\n }\r\n return result\r\n }(dataFields, columnFields);\r\n var grandTotalsAreHiddenForNotAllDataFields = dataFields.length > 0 ? hiddenGrandTotals.length !== dataFields.length : true;\r\n var rowOptions = {\r\n isEmptyGrandTotal: data.isEmptyGrandTotalRow,\r\n texts: options.texts || {},\r\n hiddenTotals: hiddenTotals,\r\n hiddenValues: hiddenValues,\r\n hiddenGrandTotals: [],\r\n showTotals: options.showRowTotals,\r\n showGrandTotals: false !== options.showRowGrandTotals && grandTotalsAreHiddenForNotAllDataFields,\r\n sortBySummaryPaths: createSortPaths(columnFields, dataFields),\r\n showTotalsPrior: \"rows\" === options.showTotalsPrior || \"both\" === options.showTotalsPrior,\r\n showEmpty: !options.hideEmptySummaryCells,\r\n layout: options.rowHeaderLayout,\r\n fields: rowFields,\r\n dataFields: dataFields,\r\n progress: 0\r\n };\r\n var columnOptions = {\r\n isEmptyGrandTotal: data.isEmptyGrandTotalColumn,\r\n texts: options.texts || {},\r\n hiddenTotals: hiddenTotals,\r\n hiddenValues: hiddenValues,\r\n hiddenGrandTotals: hiddenGrandTotals,\r\n showTotals: options.showColumnTotals,\r\n showTotalsPrior: \"columns\" === options.showTotalsPrior || \"both\" === options.showTotalsPrior,\r\n showGrandTotals: false !== options.showColumnGrandTotals && grandTotalsAreHiddenForNotAllDataFields,\r\n sortBySummaryPaths: createSortPaths(rowFields, dataFields),\r\n showEmpty: !options.hideEmptySummaryCells,\r\n fields: columnFields,\r\n dataFields: dataFields,\r\n progress: 0\r\n };\r\n var notifyProgress = function(progress) {\r\n this.progress = progress;\r\n that._handleProgressChanged(.8 + .1 * rowOptions.progress + .1 * columnOptions.progress)\r\n };\r\n rowOptions.notifyProgress = notifyProgress;\r\n columnOptions.notifyProgress = notifyProgress;\r\n if (!isDefined(data.grandTotalRowIndex)) {\r\n data.grandTotalRowIndex = getHeaderIndexedItems(data.rows, rowOptions).length\r\n }\r\n if (!isDefined(data.grandTotalColumnIndex)) {\r\n data.grandTotalColumnIndex = getHeaderIndexedItems(data.columns, columnOptions).length\r\n }\r\n dataSource._changeLoadingCount(1);\r\n when(createHeaderInfo(data.columns, columnFields, dataFieldsForColumns, true, columnOptions), createHeaderInfo(data.rows, rowFields, dataFieldsForRows, false, rowOptions)).always(() => {\r\n dataSource._changeLoadingCount(-1)\r\n }).done((columnsInfo, rowsInfo) => {\r\n that._columnsInfo = columnsInfo;\r\n that._rowsInfo = rowsInfo;\r\n if (that._rowsScrollController && that._columnsScrollController && that.changed && !that._dataSource.paginate()) {\r\n that._rowsScrollController.reset(true);\r\n that._columnsScrollController.reset(true);\r\n that._lockChanged = true;\r\n that._rowsScrollController.load();\r\n that._columnsScrollController.load();\r\n that._lockChanged = false\r\n }\r\n }).done(() => {\r\n that._fireChanged();\r\n if (that._stateStoringController.isEnabled() && !that._dataSource.isLoading()) {\r\n that._stateStoringController.state(that._dataSource.state());\r\n that._stateStoringController.save()\r\n }\r\n })\r\n },\r\n getRowsInfo(getAllData) {\r\n var rowsInfo = this._rowsInfo;\r\n var scrollController = this._rowsScrollController;\r\n var rowspan;\r\n if (scrollController && !getAllData) {\r\n var startIndex = scrollController.beginPageIndex() * this.rowPageSize();\r\n var endIndex = scrollController.endPageIndex() * this.rowPageSize() + this.rowPageSize();\r\n var newRowsInfo = [];\r\n var maxDepth = 1;\r\n foreachRowInfo(rowsInfo, (rowInfo, visibleIndex, rowIndex, _, columnIndex) => {\r\n var isVisible = visibleIndex >= startIndex && rowIndex < endIndex;\r\n var index = rowIndex < startIndex ? 0 : rowIndex - startIndex;\r\n var cell = rowInfo;\r\n if (isVisible) {\r\n newRowsInfo[index] = newRowsInfo[index] || [];\r\n rowspan = rowIndex < startIndex ? rowInfo.rowspan - (startIndex - rowIndex) || 1 : rowInfo.rowspan;\r\n if (startIndex + index + rowspan > endIndex) {\r\n rowspan = endIndex - (index + startIndex) || 1\r\n }\r\n if (rowspan !== rowInfo.rowspan) {\r\n cell = extend({}, cell, {\r\n rowspan: rowspan\r\n })\r\n }\r\n newRowsInfo[index].push(cell);\r\n maxDepth = math.max(maxDepth, columnIndex + 1)\r\n } else {\r\n return false\r\n }\r\n return\r\n });\r\n foreachRowInfo(newRowsInfo, (rowInfo, visibleIndex, rowIndex, columnIndex, realColumnIndex) => {\r\n var colspan = rowInfo.colspan || 1;\r\n if (realColumnIndex + colspan > maxDepth) {\r\n newRowsInfo[rowIndex][columnIndex] = extend({}, rowInfo, {\r\n colspan: maxDepth - realColumnIndex || 1\r\n })\r\n }\r\n });\r\n return newRowsInfo\r\n }\r\n return rowsInfo\r\n },\r\n getColumnsInfo(getAllData) {\r\n var info = this._columnsInfo;\r\n var scrollController = this._columnsScrollController;\r\n if (scrollController && !getAllData) {\r\n var startIndex = scrollController.beginPageIndex() * this.columnPageSize();\r\n var endIndex = scrollController.endPageIndex() * this.columnPageSize() + this.columnPageSize();\r\n info = createColumnsInfo(info, startIndex, endIndex)\r\n }\r\n return info\r\n },\r\n totalRowCount() {\r\n return this._rowsInfo.length\r\n },\r\n rowPageIndex(index) {\r\n if (void 0 !== index) {\r\n this._rowPageIndex = index\r\n }\r\n return this._rowPageIndex || 0\r\n },\r\n totalColumnCount() {\r\n var count = 0;\r\n if (this._columnsInfo && this._columnsInfo.length) {\r\n for (var i = 0; i < this._columnsInfo[0].length; i += 1) {\r\n count += this._columnsInfo[0][i].colspan || 1\r\n }\r\n }\r\n return count\r\n },\r\n rowPageSize(size) {\r\n if (void 0 !== size) {\r\n this._rowPageSize = size\r\n }\r\n return this._rowPageSize || 20\r\n },\r\n columnPageSize(size) {\r\n if (void 0 !== size) {\r\n this._columnPageSize = size\r\n }\r\n return this._columnPageSize || 20\r\n },\r\n columnPageIndex(index) {\r\n if (void 0 !== index) {\r\n this._columnPageIndex = index\r\n }\r\n return this._columnPageIndex || 0\r\n },\r\n getCellsInfo(getAllData) {\r\n var rowsInfo = this.getRowsInfo(getAllData);\r\n var columnsInfo = this.getColumnsInfo(getAllData);\r\n var data = this._dataSource.getData();\r\n var texts = this._options.texts || {};\r\n return function(rowsInfo, columnsInfo, data, dataFields, dataFieldArea, errorText) {\r\n var info = [];\r\n var dataFieldAreaInRows = \"row\" === dataFieldArea;\r\n var dataSourceCells = data.values;\r\n dataSourceCells.length && foreachRowInfo(rowsInfo, (rowInfo, rowIndex) => {\r\n var row = info[rowIndex] = [];\r\n var dataRow = dataSourceCells[rowInfo.dataSourceIndex >= 0 ? rowInfo.dataSourceIndex : data.grandTotalRowIndex] || [];\r\n rowInfo.isLast && foreachColumnInfo(columnsInfo, (columnInfo, columnIndex) => {\r\n var dataIndex = (dataFieldAreaInRows ? rowInfo.dataIndex : columnInfo.dataIndex) || 0;\r\n var dataField = dataFields[dataIndex];\r\n if (columnInfo.isLast && dataField && false !== dataField.visible) {\r\n var cell = dataRow[columnInfo.dataSourceIndex >= 0 ? columnInfo.dataSourceIndex : data.grandTotalColumnIndex];\r\n if (!Array.isArray(cell)) {\r\n cell = [cell]\r\n }\r\n var cellValue = cell[dataIndex];\r\n row[columnIndex] = {\r\n text: formatCellValue(cellValue, dataField, errorText),\r\n value: cellValue,\r\n format: dataField.format,\r\n dataType: dataField.dataType,\r\n columnType: columnInfo.type,\r\n rowType: rowInfo.type,\r\n rowPath: rowInfo.path || [],\r\n columnPath: columnInfo.path || [],\r\n dataIndex: dataIndex\r\n };\r\n if (dataField.width) {\r\n row[columnIndex].width = dataField.width\r\n }\r\n }\r\n })\r\n });\r\n return info\r\n }(rowsInfo, columnsInfo, data, this._dataSource.getAreaFields(\"data\"), this._options.dataFieldArea, texts.dataNotAvailable)\r\n },\r\n dispose() {\r\n if (this._isSharedDataSource) {\r\n this._dataSource.off(\"changed\", this._changedHandler);\r\n this._dataSource.off(\"expandValueChanging\", this._expandValueChangingHandler);\r\n this._dataSource.off(\"loadingChanged\", this._loadingChangedHandler);\r\n this._dataSource.off(\"progressChanged\", this._progressChangedHandler);\r\n this._dataSource.off(\"fieldsPrepared\", this._fieldsPreparedHandler);\r\n this._dataSource.off(\"customizeStoreLoadOptions\", this._customizeStoreLoadOptionsHandler)\r\n } else {\r\n this._dataSource.dispose()\r\n }\r\n this._columnsScrollController && this._columnsScrollController.dispose();\r\n this._rowsScrollController && this._rowsScrollController.dispose();\r\n this._stateStoringController.dispose();\r\n this.expandValueChanging.empty();\r\n this.changed.empty();\r\n this.loadingChanged.empty();\r\n this.progressChanged.empty();\r\n this.scrollChanged.empty();\r\n this.dataSourceChanged.empty()\r\n }\r\n };\r\n proxyMethod(members, \"applyPartialDataSource\");\r\n proxyMethod(members, \"collapseHeaderItem\");\r\n proxyMethod(members, \"expandHeaderItem\");\r\n proxyMethod(members, \"getData\");\r\n proxyMethod(members, \"isEmpty\");\r\n return members\r\n}());\r\nvar DataController__internals = {\r\n NO_DATA_AVAILABLE_TEXT: NOT_AVAILABLE\r\n};\r\nexport default {\r\n DataController: DataController,\r\n DataController__internals: DataController__internals\r\n};\r\nexport {\r\n DataController,\r\n DataController__internals\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/pivot_grid/export/m_export.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport Class from \"../../../../core/class\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getDefaultAlignment\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n hasWindow\r\n} from \"../../../../core/utils/window\";\r\nimport {\r\n excel as excelExporter,\r\n export as exportMethod\r\n} from \"../../../../exporter\";\r\nimport formatHelper from \"../../../../format_helper\";\r\nimport localizationNumber from \"../../../../localization/number\";\r\nimport {\r\n prepareItems\r\n} from \"../../../grids/grid_core/m_export\";\r\nvar DEFAULT_DATA_TYPE = \"string\";\r\nvar DEFAUL_COLUMN_WIDTH = 100;\r\nvar ExportController = {\r\n exportToExcel() {\r\n exportMethod(this.getDataProvider(), {\r\n fileName: this.option(\"export.fileName\"),\r\n format: \"EXCEL\",\r\n rtlEnabled: this.option(\"rtlEnabled\"),\r\n exportingAction: this._actions.onExporting,\r\n exportedAction: this._actions.onExported,\r\n fileSavingAction: this._actions.onFileSaving\r\n }, excelExporter.getData)\r\n },\r\n _getLength(items) {\r\n var i;\r\n var itemCount = items[0].length;\r\n var cellCount = 0;\r\n for (i = 0; i < itemCount; i += 1) {\r\n cellCount += items[0][i].colspan || 1\r\n }\r\n return cellCount\r\n },\r\n _correctCellsInfoItemLengths(cellsInfo, expectedLength) {\r\n for (var i = 0; i < cellsInfo.length; i += 1) {\r\n while (cellsInfo[i].length < expectedLength) {\r\n cellsInfo[i].push({})\r\n }\r\n }\r\n return cellsInfo\r\n },\r\n _calculateCellInfoItemLength(columnsRow) {\r\n var result = 0;\r\n for (var columnIndex = 0; columnIndex < columnsRow.length; columnIndex += 1) {\r\n result += isDefined(columnsRow[columnIndex].colspan) ? columnsRow[columnIndex].colspan : 1\r\n }\r\n return result\r\n },\r\n _getEmptyCell: () => ({\r\n text: \"\",\r\n value: void 0,\r\n colspan: 1,\r\n rowspan: 1\r\n }),\r\n _getAllItems(columnsInfo, rowsInfoItems, cellsInfo) {\r\n var cellIndex;\r\n var rowIndex;\r\n var correctedCellsInfo = cellsInfo;\r\n var rowsLength = this._getLength(rowsInfoItems);\r\n var headerRowsCount = columnsInfo.length;\r\n if (columnsInfo.length > 0 && columnsInfo[0].length > 0 && cellsInfo.length > 0 && 0 === cellsInfo[0].length) {\r\n var cellInfoItemLength = this._calculateCellInfoItemLength(columnsInfo[0]);\r\n if (cellInfoItemLength > 0) {\r\n correctedCellsInfo = this._correctCellsInfoItemLengths(cellsInfo, cellInfoItemLength)\r\n }\r\n }\r\n if (0 === correctedCellsInfo.length) {\r\n var rowsCount = rowsInfoItems.length;\r\n var collapsedColumnCount = columnsInfo.map(headerRowWithColumns => headerRowWithColumns.filter(row => !row.expanded).length).reduce((result, collapsedCount) => result + collapsedCount, 0);\r\n for (var rowIdx = 0; rowIdx < rowsCount; rowIdx += 1) {\r\n correctedCellsInfo[rowIdx] = [];\r\n for (var colIdx = 0; colIdx < collapsedColumnCount; colIdx += 1) {\r\n correctedCellsInfo[rowIdx][colIdx] = this._getEmptyCell()\r\n }\r\n }\r\n }\r\n var sourceItems = columnsInfo.concat(correctedCellsInfo);\r\n for (rowIndex = 0; rowIndex < rowsInfoItems.length; rowIndex += 1) {\r\n for (cellIndex = rowsInfoItems[rowIndex].length - 1; cellIndex >= 0; cellIndex -= 1) {\r\n if (!isDefined(sourceItems[rowIndex + headerRowsCount])) {\r\n sourceItems[rowIndex + headerRowsCount] = []\r\n }\r\n sourceItems[rowIndex + headerRowsCount].splice(0, 0, extend({}, rowsInfoItems[rowIndex][cellIndex]))\r\n }\r\n }\r\n sourceItems[0].splice(0, 0, extend({}, this._getEmptyCell(), {\r\n alignment: getDefaultAlignment(this._options.rtlEnabled),\r\n colspan: rowsLength,\r\n rowspan: headerRowsCount\r\n }));\r\n return prepareItems(sourceItems, this._getEmptyCell())\r\n },\r\n getDataProvider() {\r\n return new DataProvider(this)\r\n }\r\n};\r\nvar DataProvider = Class.inherit({\r\n ctor(exportController) {\r\n this._exportController = exportController\r\n },\r\n ready() {\r\n this._initOptions();\r\n var options = this._options;\r\n return when(options.items).done(items => {\r\n var headerSize = items[0][0].rowspan;\r\n var columns = items[headerSize - 1];\r\n each(columns, (columnIndex, column) => {\r\n column.width = DEFAUL_COLUMN_WIDTH\r\n });\r\n options.columns = columns;\r\n options.items = items\r\n })\r\n },\r\n _initOptions() {\r\n var exportController = this._exportController;\r\n var dataController = exportController._dataController;\r\n var items = new Deferred;\r\n dataController.beginLoading();\r\n setTimeout(() => {\r\n var columnsInfo = extend(true, [], dataController.getColumnsInfo(true));\r\n var rowsInfoItems = extend(true, [], dataController.getRowsInfo(true));\r\n var cellsInfo = dataController.getCellsInfo(true);\r\n items.resolve(exportController._getAllItems(columnsInfo, rowsInfoItems, cellsInfo));\r\n dataController.endLoading()\r\n });\r\n this._options = {\r\n items: items,\r\n rtlEnabled: exportController.option(\"rtlEnabled\"),\r\n dataFields: exportController.getDataSource().getAreaFields(\"data\"),\r\n customizeExcelCell: exportController.option(\"export.customizeExcelCell\"),\r\n rowsArea: exportController._rowsArea,\r\n columnsArea: exportController._columnsArea\r\n }\r\n },\r\n getColumns() {\r\n return this._options.columns\r\n },\r\n getColumnsWidths() {\r\n var colsArea = this._options.columnsArea;\r\n var {\r\n rowsArea: rowsArea\r\n } = this._options;\r\n var {\r\n columns: columns\r\n } = this._options;\r\n var useDefaultWidth = !hasWindow() || \"virtual\" === colsArea.option(\"scrolling.mode\") || colsArea.element().is(\":hidden\");\r\n return useDefaultWidth ? columns.map(() => DEFAUL_COLUMN_WIDTH) : rowsArea.getColumnsWidth().concat(colsArea.getColumnsWidth())\r\n },\r\n getRowsCount() {\r\n return this._options.items.length\r\n },\r\n getGroupLevel: () => 0,\r\n getCellMerging(rowIndex, cellIndex) {\r\n var {\r\n items: items\r\n } = this._options;\r\n var item = items[rowIndex] && items[rowIndex][cellIndex];\r\n return item ? {\r\n colspan: item.colspan - 1,\r\n rowspan: item.rowspan - 1\r\n } : {\r\n colspan: 0,\r\n rowspan: 0\r\n }\r\n },\r\n getFrozenArea() {\r\n return {\r\n x: this.getRowAreaColCount(),\r\n y: this.getColumnAreaRowCount()\r\n }\r\n },\r\n getCellType(rowIndex, cellIndex) {\r\n var style = this.getStyles()[this.getStyleId(rowIndex, cellIndex)];\r\n return style && style.dataType || \"string\"\r\n },\r\n getCellData(rowIndex, cellIndex, isExcelJS) {\r\n var result = {};\r\n var {\r\n items: items\r\n } = this._options;\r\n var item = items[rowIndex] && items[rowIndex][cellIndex] || {};\r\n if (isExcelJS) {\r\n result.cellSourceData = item;\r\n var areaName = this._tryGetAreaName(item, rowIndex, cellIndex);\r\n if (areaName) {\r\n result.cellSourceData.area = areaName\r\n }\r\n result.cellSourceData.rowIndex = rowIndex;\r\n result.cellSourceData.columnIndex = cellIndex\r\n }\r\n if (\"string\" === this.getCellType(rowIndex, cellIndex)) {\r\n result.value = item.text\r\n } else {\r\n result.value = item.value\r\n }\r\n if (result.cellSourceData && result.cellSourceData.isWhiteSpace) {\r\n result.value = \"\"\r\n }\r\n return result\r\n },\r\n _tryGetAreaName(item, rowIndex, cellIndex) {\r\n if (this.isColumnAreaCell(rowIndex, cellIndex)) {\r\n return \"column\"\r\n }\r\n if (this.isRowAreaCell(rowIndex, cellIndex)) {\r\n return \"row\"\r\n }\r\n if (isDefined(item.dataIndex)) {\r\n return \"data\"\r\n }\r\n return\r\n },\r\n isRowAreaCell(rowIndex, cellIndex) {\r\n return rowIndex >= this.getColumnAreaRowCount() && cellIndex < this.getRowAreaColCount()\r\n },\r\n isColumnAreaCell(rowIndex, cellIndex) {\r\n return cellIndex >= this.getRowAreaColCount() && rowIndex < this.getColumnAreaRowCount()\r\n },\r\n getColumnAreaRowCount() {\r\n return this._options.items[0][0].rowspan\r\n },\r\n getRowAreaColCount() {\r\n return this._options.items[0][0].colspan\r\n },\r\n getHeaderStyles() {\r\n return [{\r\n alignment: \"center\",\r\n dataType: \"string\"\r\n }, {\r\n alignment: getDefaultAlignment(this._options.rtlEnabled),\r\n dataType: \"string\"\r\n }]\r\n },\r\n getDataFieldStyles() {\r\n var {\r\n dataFields: dataFields\r\n } = this._options;\r\n var dataItemStyle = {\r\n alignment: this._options.rtlEnabled ? \"left\" : \"right\"\r\n };\r\n var dataFieldStyles = [];\r\n if (dataFields.length) {\r\n dataFields.forEach(dataField => {\r\n dataFieldStyles.push(_extends(_extends({}, dataItemStyle), {\r\n format: dataField.format,\r\n dataType: this.getCellDataType(dataField)\r\n }))\r\n });\r\n return dataFieldStyles\r\n }\r\n return [dataItemStyle]\r\n },\r\n getStyles() {\r\n if (this._styles) {\r\n return this._styles\r\n }\r\n this._styles = [...this.getHeaderStyles(), ...this.getDataFieldStyles()];\r\n return this._styles\r\n },\r\n getCellDataType(field) {\r\n if (field && field.customizeText) {\r\n return \"string\"\r\n }\r\n if (field.dataType) {\r\n return field.dataType\r\n }\r\n if (field.format) {\r\n if (1 === localizationNumber.parse(formatHelper.format(1, field.format))) {\r\n return \"number\"\r\n }\r\n if (formatHelper.format(new Date, field.format)) {\r\n return \"date\"\r\n }\r\n }\r\n return DEFAULT_DATA_TYPE\r\n },\r\n getStyleId(rowIndex, cellIndex) {\r\n var {\r\n items: items\r\n } = this._options;\r\n var item = items[rowIndex] && items[rowIndex][cellIndex] || {};\r\n if (0 === cellIndex && 0 === rowIndex || this.isColumnAreaCell(rowIndex, cellIndex)) {\r\n return 0\r\n }\r\n if (this.isRowAreaCell(rowIndex, cellIndex)) {\r\n return 1\r\n }\r\n return this.getHeaderStyles().length + (item.dataIndex || 0)\r\n },\r\n hasCustomizeExcelCell() {\r\n return isDefined(this._options.customizeExcelCell)\r\n },\r\n customizeExcelCell(e) {\r\n if (this._options.customizeExcelCell) {\r\n this._options.customizeExcelCell(e)\r\n }\r\n }\r\n});\r\nvar PivotGridExport = {\r\n DEFAUL_COLUMN_WIDTH: DEFAUL_COLUMN_WIDTH\r\n};\r\nexport default {\r\n ExportController: ExportController,\r\n PivotGridExport: PivotGridExport,\r\n DataProvider: DataProvider\r\n};\r\nexport {\r\n DataProvider,\r\n ExportController,\r\n PivotGridExport\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/pivot_grid/fields_area/m_fields_area.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport \"../field_chooser/m_field_chooser_base\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n setHeight,\r\n setWidth\r\n} from \"../../../../core/utils/style\";\r\nimport Button from \"../../../../ui/button\";\r\nimport Popup from \"../../../../ui/popup/ui.popup\";\r\nimport {\r\n AreaItem\r\n} from \"../area_item/m_area_item\";\r\nimport {\r\n capitalizeFirstLetter\r\n} from \"../m_widget_utils\";\r\nvar DIV = \"<div>\";\r\nvar AREA_DRAG_CLASS = \"dx-pivotgrid-drag-action\";\r\n\r\nfunction renderGroupConnector(field, nextField, prevField, $container) {\r\n if (prevField && prevField.groupName && prevField.groupName === field.groupName) {\r\n $(DIV).addClass(\"dx-group-connector\").addClass(\"dx-group-connector-prev\").appendTo($container)\r\n }\r\n if (nextField && nextField.groupName && nextField.groupName === field.groupName) {\r\n $(DIV).addClass(\"dx-group-connector\").addClass(\"dx-group-connector-next\").appendTo($container)\r\n }\r\n}\r\nvar FieldsArea = AreaItem.inherit({\r\n ctor(component, area) {\r\n this.callBase(component);\r\n this._area = area\r\n },\r\n _getAreaName: () => \"fields\",\r\n _createGroupElement() {\r\n return $(DIV).addClass(\"dx-pivotgrid-fields-area\").addClass(\"dx-area-fields\").addClass(AREA_DRAG_CLASS).attr(\"group\", this._area)\r\n },\r\n isVisible() {\r\n return !!this.option(\"fieldPanel.visible\") && this.option(\"fieldPanel.show\".concat(capitalizeFirstLetter(this._area), \"Fields\"))\r\n },\r\n _renderButton(element) {\r\n var that = this;\r\n var container = $(\"<td>\").appendTo($(\"<tr>\").appendTo(element));\r\n var button = that.component._createComponent($(DIV).appendTo(container), Button, {\r\n text: \"Fields\",\r\n icon: \"menu\",\r\n width: \"auto\",\r\n onClick() {\r\n var popup = that.tableElement().find(\".dx-fields-area-popup\").dxPopup(\"instance\");\r\n if (!popup.option(\"visible\")) {\r\n popup.show()\r\n }\r\n }\r\n });\r\n button.$element().addClass(\"dx-pivotgrid-fields-area-hamburger\")\r\n },\r\n _getPopupOptions: (row, button) => ({\r\n contentTemplate: () => $(\"<table>\").addClass(\"dx-area-field-container\").append($(\"<thead>\").addClass(\"dx-pivotgrid-fields-area-head\").append(row)),\r\n height: \"auto\",\r\n width: \"auto\",\r\n position: {\r\n at: \"left\",\r\n my: \"left\",\r\n of: button\r\n },\r\n dragEnabled: false,\r\n animation: {\r\n show: {\r\n type: \"pop\",\r\n duration: 200\r\n }\r\n },\r\n shading: false,\r\n showTitle: false,\r\n hideOnOutsideClick: true,\r\n container: button.parent()\r\n }),\r\n _renderPopup(tableElement, row) {\r\n var button = tableElement.find(\".dx-button\");\r\n var popupOptions = this._getPopupOptions(row, button);\r\n var FieldChooserBase = this.component.$element().dxPivotGridFieldChooserBase(\"instance\");\r\n if (this._rowPopup) {\r\n this._rowPopup.$element().remove()\r\n }\r\n this._rowPopup = this.component._createComponent($(DIV).appendTo(tableElement), Popup, popupOptions);\r\n this._rowPopup.$element().addClass(\"dx-fields-area-popup\");\r\n this._rowPopup.content().addClass(\"dx-pivotgrid-fields-container\");\r\n this._rowPopup.content().parent().attr(\"group\", \"row\");\r\n FieldChooserBase.subscribeToEvents(this._rowPopup.content());\r\n FieldChooserBase.renderSortable(this._rowPopup.content())\r\n },\r\n _shouldCreateButton: () => false,\r\n _renderTableContent(tableElement, data) {\r\n var that = this;\r\n var groupElement = this.groupElement();\r\n var isVisible = this.isVisible();\r\n var fieldChooserBase = that.component.$element().dxPivotGridFieldChooserBase(\"instance\");\r\n var head = $(\"<thead>\").addClass(\"dx-pivotgrid-fields-area-head\").appendTo(tableElement);\r\n var area = that._area;\r\n var row = $(\"<tr>\");\r\n groupElement.toggleClass(\"dx-hidden\", !isVisible);\r\n tableElement.addClass(\"dx-area-field-container\");\r\n if (!isVisible) {\r\n return\r\n }\r\n each(data, (index, field) => {\r\n if (field.area === area && false !== field.visible) {\r\n var td = $(\"<td>\").append(fieldChooserBase.renderField(field, \"row\" === field.area));\r\n var indicators = td.find(\".dx-column-indicators\");\r\n if (indicators.length && that._shouldCreateButton()) {\r\n indicators.insertAfter(indicators.next())\r\n }\r\n td.appendTo(row);\r\n renderGroupConnector(field, data[index + 1], data[index - 1], td)\r\n }\r\n });\r\n if (!row.children().length) {\r\n $(\"<td>\").append($(DIV).addClass(\"dx-empty-area-text\").text(this.option(\"fieldPanel.texts.\".concat(area, \"FieldArea\")))).appendTo(row)\r\n }\r\n if (that._shouldCreateButton()) {\r\n that._renderButton(head);\r\n that._renderPopup(tableElement, row)\r\n } else {\r\n head.append(row)\r\n }\r\n },\r\n setGroupWidth(value) {\r\n setWidth(this.groupElement(), value)\r\n },\r\n setGroupHeight(value) {\r\n setHeight(this.groupElement(), value)\r\n },\r\n reset() {\r\n this.callBase();\r\n this.groupElement().css(\"marginTop\", 0)\r\n },\r\n _renderVirtualContent: noop\r\n});\r\nexport default {\r\n FieldsArea: FieldsArea\r\n};\r\nexport {\r\n FieldsArea\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/pivot_grid/headers_area/m_headers_area.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n setHeight,\r\n setWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport Scrollable from \"../../../../ui/scroll_view/ui.scrollable\";\r\nimport {\r\n AreaItem\r\n} from \"../area_item/m_area_item\";\r\nvar PIVOTGRID_AREA_CLASS = \"dx-pivotgrid-area\";\r\nvar PIVOTGRID_AREA_COLUMN_CLASS = \"dx-pivotgrid-horizontal-headers\";\r\nvar PIVOTGRID_AREA_ROW_CLASS = \"dx-pivotgrid-vertical-headers\";\r\nvar PIVOTGRID_TOTAL_CLASS = \"dx-total\";\r\nvar PIVOTGRID_GRAND_TOTAL_CLASS = \"dx-grandtotal\";\r\nvar PIVOTGRID_ROW_TOTAL_CLASS = \"dx-row-total\";\r\nvar PIVOTGRID_EXPANDED_CLASS = \"dx-pivotgrid-expanded\";\r\nvar PIVOTGRID_COLLAPSED_CLASS = \"dx-pivotgrid-collapsed\";\r\nvar PIVOTGRID_LAST_CELL_CLASS = \"dx-last-cell\";\r\nvar PIVOTGRID_VERTICAL_SCROLL_CLASS = \"dx-vertical-scroll\";\r\nvar PIVOTGRID_EXPAND_BORDER = \"dx-expand-border\";\r\nvar isRenovatedScrollable = !!Scrollable.IS_RENOVATED_WIDGET;\r\n\r\nfunction getCellPath(tableElement, cell) {\r\n if (cell) {\r\n var {\r\n data: data\r\n } = tableElement.data();\r\n var {\r\n rowIndex: rowIndex\r\n } = cell.parentNode;\r\n var {\r\n cellIndex: cellIndex\r\n } = cell;\r\n return data[rowIndex] && data[rowIndex][cellIndex] && data[rowIndex][cellIndex].path\r\n }\r\n return\r\n}\r\nvar HorizontalHeadersArea = AreaItem.inherit({\r\n ctor(component) {\r\n this.callBase(component);\r\n this._scrollBarWidth = 0\r\n },\r\n _getAreaName: () => \"column\",\r\n _getAreaClassName: () => PIVOTGRID_AREA_COLUMN_CLASS,\r\n _createGroupElement() {\r\n return $(\"<div>\").addClass(this._getAreaClassName()).addClass(PIVOTGRID_AREA_CLASS)\r\n },\r\n _applyCustomStyles(options) {\r\n var {\r\n cssArray: cssArray\r\n } = options;\r\n var {\r\n cell: cell\r\n } = options;\r\n var {\r\n rowsCount: rowsCount\r\n } = options;\r\n var {\r\n classArray: classArray\r\n } = options;\r\n if (options.cellIndex === options.cellsCount - 1) {\r\n cssArray.push(\"\".concat(options.rtlEnabled ? \"border-left:\" : \"border-right:\", \"0px\"))\r\n }\r\n if (cell.rowspan === rowsCount - options.rowIndex || options.rowIndex + 1 === rowsCount) {\r\n cssArray.push(\"border-bottom-width:0px\")\r\n }\r\n if (\"T\" === cell.type || \"GT\" === cell.type) {\r\n classArray.push(PIVOTGRID_ROW_TOTAL_CLASS)\r\n }\r\n if (\"T\" === options.cell.type) {\r\n classArray.push(PIVOTGRID_TOTAL_CLASS)\r\n }\r\n if (\"GT\" === options.cell.type) {\r\n classArray.push(PIVOTGRID_GRAND_TOTAL_CLASS)\r\n }\r\n if (isDefined(cell.expanded)) {\r\n classArray.push(cell.expanded ? PIVOTGRID_EXPANDED_CLASS : PIVOTGRID_COLLAPSED_CLASS)\r\n }\r\n this.callBase(options)\r\n },\r\n _getMainElementMarkup() {\r\n return \"<thead class='\".concat(this._getAreaClassName(), \"'>\")\r\n },\r\n _getCloseMainElementMarkup: () => \"</thead>\",\r\n setVirtualContentParams(params) {\r\n this.callBase(params);\r\n this._setTableCss({\r\n left: params.left,\r\n top: 0\r\n });\r\n this._virtualContentWidth = params.width\r\n },\r\n hasScroll() {\r\n var tableWidth = this._virtualContent ? this._virtualContentWidth : this._tableWidth;\r\n var groupWidth = this.getGroupWidth();\r\n if (groupWidth && tableWidth) {\r\n return tableWidth - groupWidth >= 1\r\n }\r\n return false\r\n },\r\n renderScrollable() {\r\n this._groupElement.dxScrollable({\r\n useNative: false,\r\n useSimulatedScrollbar: false,\r\n showScrollbar: \"never\",\r\n bounceEnabled: false,\r\n direction: \"horizontal\",\r\n rtlEnabled: isRenovatedScrollable ? this.component.option(\"rtlEnabled\") : false,\r\n updateManually: true\r\n })\r\n },\r\n updateScrollableOptions(_ref) {\r\n var {\r\n rtlEnabled: rtlEnabled\r\n } = _ref;\r\n var scrollable = this._getScrollable();\r\n isRenovatedScrollable && scrollable.option({\r\n rtlEnabled: rtlEnabled\r\n })\r\n },\r\n processScrollBarSpacing(scrollBarWidth) {\r\n var groupAlignment = this.option(\"rtlEnabled\") ? \"right\" : \"left\";\r\n var groupWidth = this.getGroupWidth();\r\n if (groupWidth) {\r\n this.setGroupWidth(groupWidth - scrollBarWidth)\r\n }\r\n if (this._scrollBarWidth) {\r\n this._groupElement.next().remove()\r\n }\r\n this._groupElement.toggleClass(PIVOTGRID_VERTICAL_SCROLL_CLASS, scrollBarWidth > 0);\r\n setWidth(this._groupElement.css(\"float\", groupAlignment), this.getGroupHeight());\r\n this._scrollBarWidth = scrollBarWidth\r\n },\r\n getScrollPath(offset) {\r\n var tableElement = this.tableElement();\r\n var cell;\r\n offset -= parseInt(tableElement[0].style.left, 10) || 0;\r\n each(tableElement.find(\"td\"), (_, td) => {\r\n if (1 === td.colSpan && td.offsetLeft <= offset && td.offsetWidth + td.offsetLeft > offset) {\r\n cell = td;\r\n return false\r\n }\r\n return\r\n });\r\n return getCellPath(tableElement, cell)\r\n },\r\n _moveFakeTable(scrollPos) {\r\n this._moveFakeTableHorizontally(scrollPos);\r\n this.callBase()\r\n }\r\n});\r\nvar VerticalHeadersArea = HorizontalHeadersArea.inherit({\r\n _getAreaClassName: () => PIVOTGRID_AREA_ROW_CLASS,\r\n _applyCustomStyles(options) {\r\n this.callBase(options);\r\n if (options.cellIndex === options.cellsCount - 1) {\r\n options.classArray.push(PIVOTGRID_LAST_CELL_CLASS)\r\n }\r\n if (options.rowIndex === options.rowsCount - 1) {\r\n options.cssArray.push(\"border-bottom: 0px\")\r\n }\r\n if (options.cell.isWhiteSpace) {\r\n options.classArray.push(\"dx-white-space-column\")\r\n }\r\n },\r\n _getAreaName: () => \"row\",\r\n setVirtualContentParams(params) {\r\n this.callBase(params);\r\n this._setTableCss({\r\n top: params.top,\r\n left: 0\r\n });\r\n this._virtualContentHeight = params.height\r\n },\r\n hasScroll() {\r\n var tableHeight = this._virtualContent ? this._virtualContentHeight : this._tableHeight;\r\n var groupHeight = this.getGroupHeight();\r\n if (groupHeight && tableHeight) {\r\n return tableHeight - groupHeight >= 1\r\n }\r\n return false\r\n },\r\n renderScrollable() {\r\n this._groupElement.dxScrollable({\r\n useNative: false,\r\n useSimulatedScrollbar: false,\r\n showScrollbar: \"never\",\r\n bounceEnabled: false,\r\n direction: \"vertical\",\r\n updateManually: true\r\n })\r\n },\r\n processScrollBarSpacing(scrollBarWidth) {\r\n var groupHeight = this.getGroupHeight();\r\n if (groupHeight) {\r\n this.setGroupHeight(groupHeight - scrollBarWidth)\r\n }\r\n if (this._scrollBarWidth) {\r\n this._groupElement.next().remove()\r\n }\r\n if (scrollBarWidth) {\r\n var $div = $(\"<div>\");\r\n setWidth($div, \"100%\");\r\n setHeight($div, scrollBarWidth - 1);\r\n this._groupElement.after($div)\r\n }\r\n this._scrollBarWidth = scrollBarWidth\r\n },\r\n getScrollPath(offset) {\r\n var tableElement = this.tableElement();\r\n var cell;\r\n offset -= parseInt(tableElement[0].style.top, 10) || 0;\r\n each(tableElement.find(\"tr\"), (_, tr) => {\r\n var td = tr.childNodes[tr.childNodes.length - 1];\r\n if (td && 1 === td.rowSpan && td.offsetTop <= offset && td.offsetHeight + td.offsetTop > offset) {\r\n cell = td;\r\n return false\r\n }\r\n return\r\n });\r\n return getCellPath(tableElement, cell)\r\n },\r\n _moveFakeTable(scrollPos) {\r\n this._moveFakeTableTop(scrollPos);\r\n this.callBase()\r\n },\r\n _getRowClassNames(rowIndex, cell, rowClassNames) {\r\n if (0 !== rowIndex & cell.expanded && !rowClassNames.includes(PIVOTGRID_EXPAND_BORDER)) {\r\n rowClassNames.push(PIVOTGRID_EXPAND_BORDER)\r\n }\r\n },\r\n _getMainElementMarkup() {\r\n return \"<tbody class='\".concat(this._getAreaClassName(), \"'>\")\r\n },\r\n _getCloseMainElementMarkup: () => \"</tbody>\",\r\n updateColspans(columnCount) {\r\n var {\r\n rows: rows\r\n } = this.tableElement()[0];\r\n var columnOffset = 0;\r\n var columnOffsetResetIndexes = [];\r\n if (this.getColumnsCount() - columnCount > 0) {\r\n return\r\n }\r\n for (var i = 0; i < rows.length; i += 1) {\r\n for (var j = 0; j < rows[i].cells.length; j += 1) {\r\n var cell = rows[i].cells[j];\r\n var {\r\n rowSpan: rowSpan\r\n } = cell;\r\n if (columnOffsetResetIndexes[i]) {\r\n columnOffset -= columnOffsetResetIndexes[i];\r\n columnOffsetResetIndexes[i] = 0\r\n }\r\n var diff = columnCount - (columnOffset + cell.colSpan);\r\n if (j === rows[i].cells.length - 1 && diff > 0) {\r\n cell.colSpan += diff\r\n }\r\n columnOffsetResetIndexes[i + rowSpan] = (columnOffsetResetIndexes[i + rowSpan] || 0) + cell.colSpan;\r\n columnOffset += cell.colSpan\r\n }\r\n }\r\n }\r\n});\r\nexport default {\r\n HorizontalHeadersArea: HorizontalHeadersArea,\r\n VerticalHeadersArea: VerticalHeadersArea\r\n};\r\nexport {\r\n HorizontalHeadersArea,\r\n VerticalHeadersArea\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/pivot_grid/m_widget.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../../core/component_registrator\";\r\nimport {\r\n getPublicElement\r\n} from \"../../../core/element\";\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n deferRender,\r\n deferUpdate,\r\n noop\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n getHeight,\r\n getOuterHeight,\r\n getWidth,\r\n setHeight\r\n} from \"../../../core/utils/size\";\r\nimport {\r\n format as formatString\r\n} from \"../../../core/utils/string\";\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../../core/utils/window\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../events/click\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport {\r\n addNamespace\r\n} from \"../../../events/utils/index\";\r\nimport localizationMessage from \"../../../localization/message\";\r\nimport ContextMenu from \"../../../ui/context_menu\";\r\nimport Popup from \"../../../ui/popup/ui.popup\";\r\nimport Widget from \"../../../ui/widget/ui.widget\";\r\nimport gridCoreUtils from \"../../grids/grid_core/m_utils\";\r\nimport {\r\n ChartIntegrationMixin\r\n} from \"./chart_integration/m_chart_integration\";\r\nimport DataAreaImport from \"./data_area/m_data_area\";\r\nimport DataControllerImport from \"./data_controller/m_data_controller\";\r\nimport {\r\n ExportController\r\n} from \"./export/m_export\";\r\nimport {\r\n FieldChooser\r\n} from \"./field_chooser/m_field_chooser\";\r\nimport {\r\n FieldChooserBase\r\n} from \"./field_chooser/m_field_chooser_base\";\r\nimport {\r\n FieldsArea\r\n} from \"./fields_area/m_fields_area\";\r\nimport HeadersArea from \"./headers_area/m_headers_area\";\r\nimport {\r\n findField,\r\n mergeArraysByMaxValue,\r\n setFieldProperty\r\n} from \"./m_widget_utils\";\r\nvar window = getWindow();\r\nvar DATA_AREA_CELL_CLASS = \"dx-area-data-cell\";\r\nvar ROW_AREA_CELL_CLASS = \"dx-area-row-cell\";\r\nvar COLUMN_AREA_CELL_CLASS = \"dx-area-column-cell\";\r\nvar DESCRIPTION_AREA_CELL_CLASS = \"dx-area-description-cell\";\r\nvar BORDERS_CLASS = \"dx-pivotgrid-border\";\r\nvar PIVOTGRID_CLASS = \"dx-pivotgrid\";\r\nvar ROW_LINES_CLASS = \"dx-row-lines\";\r\nvar BOTTOM_ROW_CLASS = \"dx-bottom-row\";\r\nvar BOTTOM_BORDER_CLASS = \"dx-bottom-border\";\r\nvar FIELDS_CONTAINER_CLASS = \"dx-pivotgrid-fields-container\";\r\nvar FIELDS_CLASS = \"dx-area-fields\";\r\nvar FIELD_CHOOSER_POPUP_CLASS = \"dx-fieldchooser-popup\";\r\nvar INCOMPRESSIBLE_FIELDS_CLASS = \"dx-incompressible-fields\";\r\nvar OVERFLOW_HIDDEN_CLASS = \"dx-overflow-hidden\";\r\nvar TR = \"<tr>\";\r\nvar TD = \"<td>\";\r\nvar DIV = \"<div>\";\r\nvar TEST_HEIGHT = 66666;\r\nvar FIELD_CALCULATED_OPTIONS = [\"allowSorting\", \"allowSortingBySummary\", \"allowFiltering\", \"allowExpandAll\"];\r\n\r\nfunction getArraySum(array) {\r\n var sum = 0;\r\n each(array, (_, value) => {\r\n sum += value || 0\r\n });\r\n return sum\r\n}\r\n\r\nfunction adjustSizeArray(sizeArray, space) {\r\n var delta = space / sizeArray.length;\r\n for (var i = 0; i < sizeArray.length; i += 1) {\r\n sizeArray[i] -= delta\r\n }\r\n}\r\n\r\nfunction unsubscribeScrollEvents(area) {\r\n area.off(\"scroll\").off(\"stop\")\r\n}\r\n\r\nfunction subscribeToScrollEvent(area, handler) {\r\n unsubscribeScrollEvents(area);\r\n area.on(\"scroll\", handler).on(\"stop\", handler)\r\n}\r\n\r\nfunction getCommonBorderWidth(elements, direction) {\r\n var borderStyleNames = \"width\" === direction ? [\"borderLeftWidth\", \"borderRightWidth\"] : [\"borderTopWidth\", \"borderBottomWidth\"];\r\n var width = 0;\r\n each(elements, (_, elem) => {\r\n var computedStyle = window.getComputedStyle(elem.get(0));\r\n borderStyleNames.forEach(borderStyleName => {\r\n width += parseFloat(computedStyle[borderStyleName]) || 0\r\n })\r\n });\r\n return width\r\n}\r\n\r\nfunction clickedOnFieldsArea($targetElement) {\r\n return $targetElement.closest(\".\".concat(FIELDS_CLASS)).length || $targetElement.find(\".\".concat(FIELDS_CLASS)).length\r\n}\r\nvar PivotGrid = Widget.inherit({\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n scrolling: {\r\n timeout: 300,\r\n renderingThreshold: 150,\r\n minTimeout: 10,\r\n mode: \"standard\",\r\n useNative: \"auto\",\r\n removeInvisiblePages: true,\r\n virtualRowHeight: 50,\r\n virtualColumnWidth: 100,\r\n loadTwoPagesOnStart: true\r\n },\r\n encodeHtml: true,\r\n dataSource: null,\r\n activeStateEnabled: false,\r\n fieldChooser: {\r\n minWidth: 250,\r\n minHeight: 250,\r\n enabled: true,\r\n allowSearch: false,\r\n searchTimeout: 500,\r\n layout: 0,\r\n title: localizationMessage.format(\"dxPivotGrid-fieldChooserTitle\"),\r\n width: 600,\r\n height: 600,\r\n applyChangesMode: \"instantly\"\r\n },\r\n onContextMenuPreparing: null,\r\n allowSorting: false,\r\n allowSortingBySummary: false,\r\n allowFiltering: false,\r\n allowExpandAll: false,\r\n wordWrapEnabled: true,\r\n fieldPanel: {\r\n showColumnFields: true,\r\n showFilterFields: true,\r\n showDataFields: true,\r\n showRowFields: true,\r\n allowFieldDragging: true,\r\n visible: false,\r\n texts: {\r\n columnFieldArea: localizationMessage.format(\"dxPivotGrid-columnFieldArea\"),\r\n rowFieldArea: localizationMessage.format(\"dxPivotGrid-rowFieldArea\"),\r\n filterFieldArea: localizationMessage.format(\"dxPivotGrid-filterFieldArea\"),\r\n dataFieldArea: localizationMessage.format(\"dxPivotGrid-dataFieldArea\")\r\n }\r\n },\r\n dataFieldArea: \"column\",\r\n export: {\r\n enabled: false,\r\n fileName: \"PivotGrid\"\r\n },\r\n showRowTotals: true,\r\n showRowGrandTotals: true,\r\n showColumnTotals: true,\r\n showColumnGrandTotals: true,\r\n hideEmptySummaryCells: true,\r\n showTotalsPrior: \"none\",\r\n rowHeaderLayout: \"standard\",\r\n loadPanel: {\r\n enabled: true,\r\n text: localizationMessage.format(\"Loading\"),\r\n width: 200,\r\n height: 70,\r\n showIndicator: true,\r\n indicatorSrc: \"\",\r\n showPane: true\r\n },\r\n texts: {\r\n grandTotal: localizationMessage.format(\"dxPivotGrid-grandTotal\"),\r\n total: localizationMessage.getFormatter(\"dxPivotGrid-total\"),\r\n noData: localizationMessage.format(\"dxDataGrid-noDataText\"),\r\n showFieldChooser: localizationMessage.format(\"dxPivotGrid-showFieldChooser\"),\r\n expandAll: localizationMessage.format(\"dxPivotGrid-expandAll\"),\r\n collapseAll: localizationMessage.format(\"dxPivotGrid-collapseAll\"),\r\n sortColumnBySummary: localizationMessage.getFormatter(\"dxPivotGrid-sortColumnBySummary\"),\r\n sortRowBySummary: localizationMessage.getFormatter(\"dxPivotGrid-sortRowBySummary\"),\r\n removeAllSorting: localizationMessage.format(\"dxPivotGrid-removeAllSorting\"),\r\n exportToExcel: localizationMessage.format(\"dxDataGrid-exportToExcel\"),\r\n dataNotAvailable: localizationMessage.format(\"dxPivotGrid-dataNotAvailable\")\r\n },\r\n onCellClick: null,\r\n onCellPrepared: null,\r\n showBorders: false,\r\n stateStoring: {\r\n enabled: false,\r\n storageKey: null,\r\n type: \"localStorage\",\r\n customLoad: null,\r\n customSave: null,\r\n savingTimeout: 2e3\r\n },\r\n onExpandValueChanging: null,\r\n renderCellCountLimit: 2e4,\r\n onExporting: null,\r\n onExported: null,\r\n onFileSaving: null,\r\n headerFilter: {\r\n width: 252,\r\n height: 325,\r\n allowSearch: false,\r\n showRelevantValues: false,\r\n searchTimeout: 500,\r\n texts: {\r\n emptyValue: localizationMessage.format(\"dxDataGrid-headerFilterEmptyValue\"),\r\n ok: localizationMessage.format(\"dxDataGrid-headerFilterOK\"),\r\n cancel: localizationMessage.format(\"dxDataGrid-headerFilterCancel\")\r\n }\r\n }\r\n })\r\n },\r\n _updateCalculatedOptions(fields) {\r\n var that = this;\r\n each(fields, (_, field) => {\r\n each(FIELD_CALCULATED_OPTIONS, (_, optionName) => {\r\n var isCalculated = field._initProperties && optionName in field._initProperties && void 0 === field._initProperties[optionName];\r\n var needUpdate = void 0 === field[optionName] || isCalculated;\r\n if (needUpdate) {\r\n setFieldProperty(field, optionName, that.option(optionName))\r\n }\r\n })\r\n })\r\n },\r\n _getDataControllerOptions() {\r\n var that = this;\r\n return {\r\n component: that,\r\n dataSource: that.option(\"dataSource\"),\r\n texts: that.option(\"texts\"),\r\n showRowTotals: that.option(\"showRowTotals\"),\r\n showRowGrandTotals: that.option(\"showRowGrandTotals\"),\r\n showColumnTotals: that.option(\"showColumnTotals\"),\r\n showTotalsPrior: that.option(\"showTotalsPrior\"),\r\n showColumnGrandTotals: that.option(\"showColumnGrandTotals\"),\r\n dataFieldArea: that.option(\"dataFieldArea\"),\r\n rowHeaderLayout: that.option(\"rowHeaderLayout\"),\r\n hideEmptySummaryCells: that.option(\"hideEmptySummaryCells\"),\r\n onFieldsPrepared(fields) {\r\n that._updateCalculatedOptions(fields)\r\n }\r\n }\r\n },\r\n _initDataController() {\r\n var that = this;\r\n that._dataController && that._dataController.dispose();\r\n that._dataController = new DataControllerImport.DataController(that._getDataControllerOptions());\r\n if (hasWindow()) {\r\n that._dataController.changed.add(() => {\r\n that._render()\r\n })\r\n }\r\n that._dataController.scrollChanged.add(options => {\r\n that._scrollLeft = options.left;\r\n that._scrollTop = options.top\r\n });\r\n that._dataController.loadingChanged.add(() => {\r\n that._updateLoading()\r\n });\r\n that._dataController.progressChanged.add(that._updateLoading.bind(that));\r\n that._dataController.dataSourceChanged.add(() => {\r\n that._trigger(\"onChanged\")\r\n });\r\n var expandValueChanging = that.option(\"onExpandValueChanging\");\r\n if (expandValueChanging) {\r\n that._dataController.expandValueChanging.add(e => {\r\n expandValueChanging(e)\r\n })\r\n }\r\n },\r\n _init() {\r\n this.callBase();\r\n this._initDataController();\r\n this._scrollLeft = this._scrollTop = null;\r\n this._initActions()\r\n },\r\n _initActions() {\r\n this._actions = {\r\n onChanged: this._createActionByOption(\"onChanged\"),\r\n onContextMenuPreparing: this._createActionByOption(\"onContextMenuPreparing\"),\r\n onCellClick: this._createActionByOption(\"onCellClick\"),\r\n onExporting: this._createActionByOption(\"onExporting\"),\r\n onExported: this._createActionByOption(\"onExported\"),\r\n onFileSaving: this._createActionByOption(\"onFileSaving\"),\r\n onCellPrepared: this._createActionByOption(\"onCellPrepared\")\r\n }\r\n },\r\n _trigger(eventName, eventArg) {\r\n this._actions[eventName](eventArg)\r\n },\r\n _optionChanged(args) {\r\n if (FIELD_CALCULATED_OPTIONS.includes(args.name)) {\r\n var fields = this.getDataSource().fields();\r\n this._updateCalculatedOptions(fields)\r\n }\r\n switch (args.name) {\r\n case \"dataSource\":\r\n case \"allowSorting\":\r\n case \"allowFiltering\":\r\n case \"allowExpandAll\":\r\n case \"allowSortingBySummary\":\r\n case \"scrolling\":\r\n case \"stateStoring\":\r\n this._initDataController();\r\n this._fieldChooserPopup.hide();\r\n this._renderFieldChooser();\r\n this._invalidate();\r\n break;\r\n case \"texts\":\r\n case \"showTotalsPrior\":\r\n case \"showRowTotals\":\r\n case \"showRowGrandTotals\":\r\n case \"showColumnTotals\":\r\n case \"showColumnGrandTotals\":\r\n case \"hideEmptySummaryCells\":\r\n case \"dataFieldArea\":\r\n this._dataController.updateViewOptions(this._getDataControllerOptions());\r\n break;\r\n case \"useNativeScrolling\":\r\n case \"encodeHtml\":\r\n case \"renderCellCountLimit\":\r\n break;\r\n case \"rtlEnabled\":\r\n this.callBase(args);\r\n this._renderFieldChooser();\r\n this._renderContextMenu();\r\n hasWindow() && this._renderLoadPanel(this._dataArea.groupElement(), this.$element());\r\n this._invalidate();\r\n break;\r\n case \"export\":\r\n this._renderDescriptionArea();\r\n break;\r\n case \"onExpandValueChanging\":\r\n break;\r\n case \"onCellClick\":\r\n case \"onContextMenuPreparing\":\r\n case \"onExporting\":\r\n case \"onExported\":\r\n case \"onFileSaving\":\r\n case \"onCellPrepared\":\r\n this._actions[args.name] = this._createActionByOption(args.name);\r\n break;\r\n case \"fieldChooser\":\r\n this._renderFieldChooser();\r\n this._renderDescriptionArea();\r\n break;\r\n case \"loadPanel\":\r\n if (hasWindow()) {\r\n if (\"loadPanel.enabled\" === args.fullName) {\r\n clearTimeout(this._hideLoadingTimeoutID);\r\n this._renderLoadPanel(this._dataArea.groupElement(), this.$element())\r\n } else {\r\n this._renderLoadPanel(this._dataArea.groupElement(), this.$element());\r\n this._invalidate()\r\n }\r\n }\r\n break;\r\n case \"fieldPanel\":\r\n this._renderDescriptionArea();\r\n this._invalidate();\r\n break;\r\n case \"headerFilter\":\r\n this._renderFieldChooser();\r\n this._invalidate();\r\n break;\r\n case \"showBorders\":\r\n this._tableElement().toggleClass(BORDERS_CLASS, !!args.value);\r\n this.updateDimensions();\r\n break;\r\n case \"wordWrapEnabled\":\r\n this._tableElement().toggleClass(\"dx-word-wrap\", !!args.value);\r\n this.updateDimensions();\r\n break;\r\n case \"rowHeaderLayout\":\r\n this._tableElement().find(\".\".concat(ROW_AREA_CELL_CLASS)).toggleClass(\"dx-area-tree-view\", \"tree\" === args.value);\r\n this._dataController.updateViewOptions(this._getDataControllerOptions());\r\n break;\r\n case \"height\":\r\n case \"width\":\r\n this._hasHeight = null;\r\n this.callBase(args);\r\n this.resize();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _updateScrollPosition(columnsArea, rowsArea, dataArea) {\r\n var force = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : false;\r\n var scrollTop;\r\n var scrollLeft;\r\n var scrolled = this._scrollTop || this._scrollLeft;\r\n if (this._scrollUpdating) {\r\n return\r\n }\r\n this._scrollUpdating = true;\r\n if (rowsArea && !rowsArea.hasScroll() && this._hasHeight) {\r\n this._scrollTop = null\r\n }\r\n if (columnsArea && !columnsArea.hasScroll()) {\r\n this._scrollLeft = null\r\n }\r\n if (null !== this._scrollTop || null !== this._scrollLeft || scrolled || this.option(\"rtlEnabled\")) {\r\n scrollTop = this._scrollTop || 0;\r\n scrollLeft = this._scrollLeft || 0;\r\n dataArea.scrollTo({\r\n left: scrollLeft,\r\n top: scrollTop\r\n }, force);\r\n columnsArea.scrollTo({\r\n left: scrollLeft\r\n }, force);\r\n rowsArea.scrollTo({\r\n top: scrollTop\r\n }, force);\r\n this._dataController.updateWindowScrollPosition(this._scrollTop)\r\n }\r\n this._scrollUpdating = false\r\n },\r\n _subscribeToEvents(columnsArea, rowsArea, dataArea) {\r\n var that = this;\r\n each([columnsArea, rowsArea, dataArea], (_, area) => {\r\n subscribeToScrollEvent(area, e => function(e, area) {\r\n var {\r\n scrollOffset: scrollOffset\r\n } = e;\r\n var scrollable = area._getScrollable();\r\n var leftOffset = \"vertical\" !== scrollable.option(\"direction\") ? scrollOffset.left : that._scrollLeft;\r\n var topOffset = \"horizontal\" !== scrollable.option(\"direction\") && that._hasHeight ? scrollOffset.top : that._scrollTop;\r\n if ((that._scrollLeft || 0) !== (leftOffset || 0) || (that._scrollTop || 0) !== (topOffset || 0)) {\r\n that._scrollLeft = leftOffset;\r\n that._scrollTop = topOffset;\r\n that._updateScrollPosition(columnsArea, rowsArea, dataArea);\r\n if (\"virtual\" === that.option(\"scrolling.mode\")) {\r\n that._dataController.setViewportPosition(that._scrollLeft, that._scrollTop)\r\n }\r\n }\r\n }(e, area))\r\n });\r\n !that._hasHeight && that._dataController.subscribeToWindowScrollEvents(dataArea.groupElement())\r\n },\r\n _clean: noop,\r\n _needDelayResizing(cellsInfo) {\r\n var cellsCount = cellsInfo.length * (cellsInfo.length ? cellsInfo[0].length : 0);\r\n return cellsCount > this.option(\"renderCellCountLimit\")\r\n },\r\n _renderFieldChooser() {\r\n var _a;\r\n var that = this;\r\n var container = that._pivotGridContainer;\r\n var fieldChooserOptions = that.option(\"fieldChooser\") || {};\r\n var toolbarItems = \"onDemand\" === fieldChooserOptions.applyChangesMode ? [{\r\n toolbar: \"bottom\",\r\n location: \"after\",\r\n widget: \"dxButton\",\r\n options: {\r\n text: localizationMessage.format(\"OK\"),\r\n onClick() {\r\n that._fieldChooserPopup.$content().dxPivotGridFieldChooser(\"applyChanges\");\r\n that._fieldChooserPopup.hide()\r\n }\r\n }\r\n }, {\r\n toolbar: \"bottom\",\r\n location: \"after\",\r\n widget: \"dxButton\",\r\n options: {\r\n text: localizationMessage.format(\"Cancel\"),\r\n onClick() {\r\n that._fieldChooserPopup.hide()\r\n }\r\n }\r\n }] : [];\r\n var fieldChooserComponentOptions = {\r\n layout: fieldChooserOptions.layout,\r\n texts: fieldChooserOptions.texts || {},\r\n dataSource: that.getDataSource(),\r\n allowSearch: fieldChooserOptions.allowSearch,\r\n searchTimeout: fieldChooserOptions.searchTimeout,\r\n width: void 0,\r\n height: void 0,\r\n headerFilter: that.option(\"headerFilter\"),\r\n encodeHtml: null !== (_a = that.option(\"fieldChooser.encodeHtml\")) && void 0 !== _a ? _a : that.option(\"encodeHtml\"),\r\n applyChangesMode: fieldChooserOptions.applyChangesMode,\r\n onContextMenuPreparing(e) {\r\n that._trigger(\"onContextMenuPreparing\", e)\r\n }\r\n };\r\n var popupOptions = {\r\n shading: false,\r\n title: fieldChooserOptions.title,\r\n width: fieldChooserOptions.width,\r\n height: fieldChooserOptions.height,\r\n showCloseButton: true,\r\n resizeEnabled: true,\r\n minWidth: fieldChooserOptions.minWidth,\r\n minHeight: fieldChooserOptions.minHeight,\r\n toolbarItems: toolbarItems,\r\n onResize(e) {\r\n e.component.$content().dxPivotGridFieldChooser(\"updateDimensions\")\r\n },\r\n onShown(e) {\r\n that._createComponent(e.component.content(), FieldChooser, fieldChooserComponentOptions)\r\n },\r\n onHidden(e) {\r\n var fieldChooser = e.component.$content().dxPivotGridFieldChooser(\"instance\");\r\n fieldChooser.resetTreeView();\r\n fieldChooser.cancelChanges()\r\n }\r\n };\r\n if (that._fieldChooserPopup) {\r\n that._fieldChooserPopup.option(popupOptions);\r\n that._fieldChooserPopup.$content().dxPivotGridFieldChooser(fieldChooserComponentOptions)\r\n } else {\r\n that._fieldChooserPopup = that._createComponent($(DIV).addClass(FIELD_CHOOSER_POPUP_CLASS).appendTo(container), Popup, popupOptions)\r\n }\r\n },\r\n _renderContextMenu() {\r\n var that = this;\r\n var $container = that._pivotGridContainer;\r\n if (that._contextMenu) {\r\n that._contextMenu.$element().remove()\r\n }\r\n that._contextMenu = that._createComponent($(DIV).appendTo($container), ContextMenu, {\r\n onPositioning(actionArgs) {\r\n var {\r\n event: event\r\n } = actionArgs;\r\n actionArgs.cancel = true;\r\n if (!event) {\r\n return\r\n }\r\n var targetElement = event.target.cellIndex >= 0 ? event.target : $(event.target).closest(\"td\").get(0);\r\n if (!targetElement) {\r\n return\r\n }\r\n var args = that._createEventArgs(targetElement, event);\r\n var items = that._getContextMenuItems(args);\r\n if (items) {\r\n actionArgs.component.option(\"items\", items);\r\n actionArgs.cancel = false\r\n }\r\n },\r\n onItemClick(params) {\r\n params.itemData.onItemClick && params.itemData.onItemClick(params)\r\n },\r\n cssClass: PIVOTGRID_CLASS,\r\n target: that.$element()\r\n })\r\n },\r\n _getContextMenuItems(e) {\r\n var that = this;\r\n var items = [];\r\n var texts = that.option(\"texts\");\r\n if (\"row\" === e.area || \"column\" === e.area) {\r\n var areaFields = e[\"\".concat(e.area, \"Fields\")];\r\n var oppositeAreaFields = e[\"column\" === e.area ? \"rowFields\" : \"columnFields\"];\r\n var field = e.cell.path && areaFields[e.cell.path.length - 1];\r\n var dataSource = that.getDataSource();\r\n if (field && field.allowExpandAll && e.cell.path.length < e[\"\".concat(e.area, \"Fields\")].length && !dataSource.paginate()) {\r\n items.push({\r\n beginGroup: true,\r\n icon: \"none\",\r\n text: texts.expandAll,\r\n onItemClick() {\r\n dataSource.expandAll(field.index)\r\n }\r\n });\r\n items.push({\r\n text: texts.collapseAll,\r\n icon: \"none\",\r\n onItemClick() {\r\n dataSource.collapseAll(field.index)\r\n }\r\n })\r\n }\r\n if (e.cell.isLast && !dataSource.paginate()) {\r\n var sortingBySummaryItemCount = 0;\r\n each(oppositeAreaFields, (_, field) => {\r\n if (!field.allowSortingBySummary) {\r\n return\r\n }\r\n each(e.dataFields, (dataIndex, dataField) => {\r\n if (isDefined(e.cell.dataIndex) && e.cell.dataIndex !== dataIndex) {\r\n return\r\n }\r\n var showDataFieldCaption = !isDefined(e.cell.dataIndex) && e.dataFields.length > 1;\r\n var textFormat = \"column\" === e.area ? texts.sortColumnBySummary : texts.sortRowBySummary;\r\n var checked = findField(e.dataFields, field.sortBySummaryField) === dataIndex && (e.cell.path || []).join(\"/\") === (field.sortBySummaryPath || []).join(\"/\");\r\n var text = formatString(textFormat, showDataFieldCaption ? \"\".concat(field.caption, \" - \").concat(dataField.caption) : field.caption);\r\n items.push({\r\n beginGroup: 0 === sortingBySummaryItemCount,\r\n icon: checked ? \"desc\" === field.sortOrder ? \"sortdowntext\" : \"sortuptext\" : \"none\",\r\n text: text,\r\n onItemClick() {\r\n dataSource.field(field.index, {\r\n sortBySummaryField: dataField.name || dataField.caption || dataField.dataField,\r\n sortBySummaryPath: e.cell.path,\r\n sortOrder: \"desc\" === field.sortOrder ? \"asc\" : \"desc\"\r\n });\r\n dataSource.load()\r\n }\r\n });\r\n sortingBySummaryItemCount += 1\r\n })\r\n });\r\n each(oppositeAreaFields, (_, field) => {\r\n if (!field.allowSortingBySummary || !isDefined(field.sortBySummaryField)) {\r\n return\r\n }\r\n items.push({\r\n beginGroup: 0 === sortingBySummaryItemCount,\r\n icon: \"none\",\r\n text: texts.removeAllSorting,\r\n onItemClick() {\r\n each(oppositeAreaFields, (_, field) => {\r\n dataSource.field(field.index, {\r\n sortBySummaryField: void 0,\r\n sortBySummaryPath: void 0,\r\n sortOrder: void 0\r\n })\r\n });\r\n dataSource.load()\r\n }\r\n });\r\n return false\r\n })\r\n }\r\n }\r\n if (that.option(\"fieldChooser.enabled\")) {\r\n items.push({\r\n beginGroup: true,\r\n icon: \"columnchooser\",\r\n text: texts.showFieldChooser,\r\n onItemClick() {\r\n that._fieldChooserPopup.show()\r\n }\r\n })\r\n }\r\n if (that.option(\"export.enabled\")) {\r\n items.push({\r\n beginGroup: true,\r\n icon: \"xlsxfile\",\r\n text: texts.exportToExcel,\r\n onItemClick() {\r\n that.exportToExcel()\r\n }\r\n })\r\n }\r\n e.items = items;\r\n that._trigger(\"onContextMenuPreparing\", e);\r\n items = e.items;\r\n if (items && items.length) {\r\n return items\r\n }\r\n return\r\n },\r\n _createEventArgs(targetElement, dxEvent) {\r\n var dataSource = this.getDataSource();\r\n var args = {\r\n rowFields: dataSource.getAreaFields(\"row\"),\r\n columnFields: dataSource.getAreaFields(\"column\"),\r\n dataFields: dataSource.getAreaFields(\"data\"),\r\n event: dxEvent\r\n };\r\n if (clickedOnFieldsArea($(targetElement))) {\r\n return extend(this._createFieldArgs(targetElement), args)\r\n }\r\n return extend(this._createCellArgs(targetElement), args)\r\n },\r\n _createFieldArgs(targetElement) {\r\n var field = $(targetElement).children().data(\"field\");\r\n var args = {\r\n field: field\r\n };\r\n return isDefined(field) ? args : {}\r\n },\r\n _createCellArgs(cellElement) {\r\n var $cellElement = $(cellElement);\r\n var columnIndex = cellElement.cellIndex;\r\n var {\r\n rowIndex: rowIndex\r\n } = cellElement.parentElement;\r\n var $table = $cellElement.closest(\"table\");\r\n var data = $table.data(\"data\");\r\n var cell = data && data[rowIndex] && data[rowIndex][columnIndex];\r\n var args = {\r\n area: $table.data(\"area\"),\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex,\r\n cellElement: getPublicElement($cellElement),\r\n cell: cell\r\n };\r\n return args\r\n },\r\n _handleCellClick(e) {\r\n var that = this;\r\n var args = that._createEventArgs(e.currentTarget, e);\r\n var {\r\n cell: cell\r\n } = args;\r\n if (!cell || !args.area && (args.rowIndex || args.columnIndex)) {\r\n return\r\n }\r\n that._trigger(\"onCellClick\", args);\r\n cell && !args.cancel && isDefined(cell.expanded) && setTimeout(() => {\r\n that._dataController[cell.expanded ? \"collapseHeaderItem\" : \"expandHeaderItem\"](args.area, cell.path)\r\n })\r\n },\r\n _getNoDataText() {\r\n return this.option(\"texts.noData\")\r\n },\r\n _renderNoDataText: gridCoreUtils.renderNoDataText,\r\n _renderLoadPanel: gridCoreUtils.renderLoadPanel,\r\n _updateLoading(progress) {\r\n var that = this;\r\n var isLoading = that._dataController.isLoading();\r\n if (!that._loadPanel) {\r\n return\r\n }\r\n var loadPanelVisible = that._loadPanel.option(\"visible\");\r\n if (!loadPanelVisible) {\r\n that._startLoadingTime = new Date\r\n }\r\n if (isLoading) {\r\n if (progress) {\r\n if (new Date - that._startLoadingTime >= 1e3) {\r\n that._loadPanel.option(\"message\", \"\".concat(Math.floor(100 * progress), \"%\"))\r\n }\r\n } else {\r\n that._loadPanel.option(\"message\", that.option(\"loadPanel.text\"))\r\n }\r\n }\r\n clearTimeout(that._hideLoadingTimeoutID);\r\n if (loadPanelVisible && !isLoading) {\r\n that._hideLoadingTimeoutID = setTimeout(() => {\r\n that._loadPanel.option(\"visible\", false);\r\n that.$element().removeClass(OVERFLOW_HIDDEN_CLASS)\r\n })\r\n } else {\r\n var visibilityOptions = {\r\n visible: isLoading\r\n };\r\n if (isLoading) {\r\n visibilityOptions.position = gridCoreUtils.calculateLoadPanelPosition(that._dataArea.groupElement())\r\n }\r\n that._loadPanel.option(visibilityOptions);\r\n that.$element().toggleClass(OVERFLOW_HIDDEN_CLASS, !isLoading)\r\n }\r\n },\r\n _renderDescriptionArea() {\r\n var $element = this.$element();\r\n var $descriptionCell = $element.find(\".\".concat(DESCRIPTION_AREA_CELL_CLASS));\r\n var $toolbarContainer = $(DIV).addClass(\"dx-pivotgrid-toolbar\");\r\n var fieldPanel = this.option(\"fieldPanel\");\r\n var $filterHeader = $element.find(\".dx-filter-header\");\r\n var $columnHeader = $element.find(\".dx-column-header\");\r\n var $targetContainer;\r\n if (fieldPanel.visible && fieldPanel.showFilterFields) {\r\n $targetContainer = $filterHeader\r\n } else if (fieldPanel.visible && (fieldPanel.showDataFields || fieldPanel.showColumnFields)) {\r\n $targetContainer = $columnHeader\r\n } else {\r\n $targetContainer = $descriptionCell\r\n }\r\n $columnHeader.toggleClass(BOTTOM_BORDER_CLASS, !!(fieldPanel.visible && (fieldPanel.showDataFields || fieldPanel.showColumnFields)));\r\n $filterHeader.toggleClass(BOTTOM_BORDER_CLASS, !!(fieldPanel.visible && fieldPanel.showFilterFields));\r\n $descriptionCell.toggleClass(\"dx-pivotgrid-background\", fieldPanel.visible && (fieldPanel.showDataFields || fieldPanel.showColumnFields || fieldPanel.showRowFields));\r\n this.$element().find(\".dx-pivotgrid-toolbar\").remove();\r\n $toolbarContainer.prependTo($targetContainer);\r\n if (this.option(\"fieldChooser.enabled\")) {\r\n var $buttonElement = $(DIV).appendTo($toolbarContainer).addClass(\"dx-pivotgrid-field-chooser-button\");\r\n var buttonOptions = {\r\n icon: \"columnchooser\",\r\n hint: this.option(\"texts.showFieldChooser\"),\r\n onClick: () => {\r\n this.getFieldChooserPopup().show()\r\n }\r\n };\r\n this._createComponent($buttonElement, \"dxButton\", buttonOptions)\r\n }\r\n if (this.option(\"export.enabled\")) {\r\n var _$buttonElement = $(DIV).appendTo($toolbarContainer).addClass(\"dx-pivotgrid-export-button\");\r\n var _buttonOptions = {\r\n icon: \"xlsxfile\",\r\n hint: this.option(\"texts.exportToExcel\"),\r\n onClick: () => {\r\n this.exportToExcel()\r\n }\r\n };\r\n this._createComponent(_$buttonElement, \"dxButton\", _buttonOptions)\r\n }\r\n },\r\n _detectHasContainerHeight() {\r\n var element = this.$element();\r\n if (isDefined(this._hasHeight)) {\r\n var height = this.option(\"height\") || this.$element().get(0).style.height;\r\n if (height && this._hasHeight ^ \"auto\" !== height) {\r\n this._hasHeight = null\r\n }\r\n }\r\n if (isDefined(this._hasHeight) || element.is(\":hidden\")) {\r\n return\r\n }\r\n this._pivotGridContainer.addClass(\"dx-hidden\");\r\n var testElement = $(DIV);\r\n setHeight(testElement, TEST_HEIGHT);\r\n element.append(testElement);\r\n this._hasHeight = getHeight(element) !== TEST_HEIGHT;\r\n this._pivotGridContainer.removeClass(\"dx-hidden\");\r\n testElement.remove()\r\n },\r\n _renderHeaders(rowHeaderContainer, columnHeaderContainer, filterHeaderContainer, dataHeaderContainer) {\r\n var dataSource = this.getDataSource();\r\n this._rowFields = this._rowFields || new FieldsArea(this, \"row\");\r\n this._rowFields.render(rowHeaderContainer, dataSource.getAreaFields(\"row\"));\r\n this._columnFields = this._columnFields || new FieldsArea(this, \"column\");\r\n this._columnFields.render(columnHeaderContainer, dataSource.getAreaFields(\"column\"));\r\n this._filterFields = this._filterFields || new FieldsArea(this, \"filter\");\r\n this._filterFields.render(filterHeaderContainer, dataSource.getAreaFields(\"filter\"));\r\n this._dataFields = this._dataFields || new FieldsArea(this, \"data\");\r\n this._dataFields.render(dataHeaderContainer, dataSource.getAreaFields(\"data\"));\r\n this.$element().dxPivotGridFieldChooserBase(\"instance\").renderSortable()\r\n },\r\n _createTableElement() {\r\n var $table = $(\"<table>\").css({\r\n width: \"100%\"\r\n }).toggleClass(BORDERS_CLASS, !!this.option(\"showBorders\")).toggleClass(\"dx-word-wrap\", !!this.option(\"wordWrapEnabled\"));\r\n eventsEngine.on($table, addNamespace(clickEventName, \"dxPivotGrid\"), \"td\", this._handleCellClick.bind(this));\r\n return $table\r\n },\r\n _renderDataArea(dataAreaElement) {\r\n var dataArea = this._dataArea || new DataAreaImport.DataArea(this);\r\n this._dataArea = dataArea;\r\n dataArea.render(dataAreaElement, this._dataController.getCellsInfo());\r\n return dataArea\r\n },\r\n _renderRowsArea(rowsAreaElement) {\r\n var rowsArea = this._rowsArea || new HeadersArea.VerticalHeadersArea(this);\r\n this._rowsArea = rowsArea;\r\n rowsArea.render(rowsAreaElement, this._dataController.getRowsInfo());\r\n return rowsArea\r\n },\r\n _renderColumnsArea(columnsAreaElement) {\r\n var columnsArea = this._columnsArea || new HeadersArea.HorizontalHeadersArea(this);\r\n this._columnsArea = columnsArea;\r\n columnsArea.render(columnsAreaElement, this._dataController.getColumnsInfo());\r\n return columnsArea\r\n },\r\n _initMarkup() {\r\n this.callBase.apply(this, arguments);\r\n this.$element().addClass(PIVOTGRID_CLASS)\r\n },\r\n _renderContentImpl() {\r\n var columnsAreaElement;\r\n var rowsAreaElement;\r\n var dataAreaElement;\r\n var tableElement;\r\n var isFirstDrawing = !this._pivotGridContainer;\r\n var rowHeaderContainer;\r\n var columnHeaderContainer;\r\n var filterHeaderContainer;\r\n var dataHeaderContainer;\r\n tableElement = !isFirstDrawing && this._tableElement();\r\n if (!tableElement) {\r\n this.$element().addClass(ROW_LINES_CLASS).addClass(FIELDS_CONTAINER_CLASS);\r\n this._pivotGridContainer = $(DIV).addClass(\"dx-pivotgrid-container\");\r\n this._renderFieldChooser();\r\n this._renderContextMenu();\r\n columnsAreaElement = $(TD).addClass(COLUMN_AREA_CELL_CLASS);\r\n rowsAreaElement = $(TD).addClass(ROW_AREA_CELL_CLASS);\r\n dataAreaElement = $(TD).addClass(DATA_AREA_CELL_CLASS);\r\n tableElement = this._createTableElement();\r\n dataHeaderContainer = $(TD).addClass(\"dx-data-header\");\r\n filterHeaderContainer = $(\"<td>\").attr(\"colspan\", \"2\").addClass(\"dx-filter-header\");\r\n columnHeaderContainer = $(TD).addClass(\"dx-column-header\");\r\n rowHeaderContainer = $(TD).addClass(DESCRIPTION_AREA_CELL_CLASS);\r\n $(TR).append(filterHeaderContainer).appendTo(tableElement);\r\n $(TR).append(dataHeaderContainer).append(columnHeaderContainer).appendTo(tableElement);\r\n $(TR).append(rowHeaderContainer).append(columnsAreaElement).appendTo(tableElement);\r\n $(TR).addClass(BOTTOM_ROW_CLASS).append(rowsAreaElement).append(dataAreaElement).appendTo(tableElement);\r\n this._pivotGridContainer.append(tableElement);\r\n this.$element().append(this._pivotGridContainer);\r\n if (\"tree\" === this.option(\"rowHeaderLayout\")) {\r\n rowsAreaElement.addClass(\"dx-area-tree-view\")\r\n }\r\n }\r\n this.$element().addClass(OVERFLOW_HIDDEN_CLASS);\r\n this._createComponent(this.$element(), FieldChooserBase, {\r\n dataSource: this.getDataSource(),\r\n encodeHtml: this.option(\"encodeHtml\"),\r\n allowFieldDragging: this.option(\"fieldPanel.allowFieldDragging\"),\r\n headerFilter: this.option(\"headerFilter\"),\r\n visible: this.option(\"visible\"),\r\n remoteSort: \"virtual\" === this.option(\"scrolling.mode\")\r\n });\r\n var dataArea = this._renderDataArea(dataAreaElement);\r\n var rowsArea = this._renderRowsArea(rowsAreaElement);\r\n var columnsArea = this._renderColumnsArea(columnsAreaElement);\r\n dataArea.tableElement().prepend(columnsArea.headElement());\r\n if (isFirstDrawing) {\r\n this._renderLoadPanel(dataArea.groupElement().parent(), this.$element());\r\n this._renderDescriptionArea();\r\n rowsArea.renderScrollable();\r\n columnsArea.renderScrollable();\r\n dataArea.renderScrollable()\r\n } [dataArea, rowsArea, columnsArea].forEach(area => {\r\n unsubscribeScrollEvents(area)\r\n });\r\n this._renderHeaders(rowHeaderContainer, columnHeaderContainer, filterHeaderContainer, dataHeaderContainer);\r\n this._update(isFirstDrawing)\r\n },\r\n _update(isFirstDrawing) {\r\n var that = this;\r\n var updateHandler = function() {\r\n that.updateDimensions()\r\n };\r\n if (that._needDelayResizing(that._dataArea.getData()) && isFirstDrawing) {\r\n setTimeout(updateHandler)\r\n } else {\r\n updateHandler()\r\n }\r\n },\r\n _fireContentReadyAction() {\r\n if (!this._dataController.isLoading()) {\r\n this.callBase()\r\n }\r\n },\r\n getScrollPath(area) {\r\n if (\"column\" === area) {\r\n return this._columnsArea.getScrollPath(this._scrollLeft)\r\n }\r\n return this._rowsArea.getScrollPath(this._scrollTop)\r\n },\r\n getDataSource() {\r\n return this._dataController.getDataSource()\r\n },\r\n getFieldChooserPopup() {\r\n return this._fieldChooserPopup\r\n },\r\n hasScroll(area) {\r\n return \"column\" === area ? this._columnsArea.hasScroll() : this._rowsArea.hasScroll()\r\n },\r\n _dimensionChanged() {\r\n this.updateDimensions()\r\n },\r\n _visibilityChanged(visible) {\r\n if (visible) {\r\n this.updateDimensions()\r\n }\r\n },\r\n _dispose() {\r\n clearTimeout(this._hideLoadingTimeoutID);\r\n this.callBase.apply(this, arguments);\r\n if (this._dataController) {\r\n this._dataController.dispose()\r\n }\r\n },\r\n _tableElement() {\r\n return this.$element().find(\"table\").first()\r\n },\r\n addWidgetPrefix: className => \"dx-pivotgrid-\".concat(className),\r\n resize() {\r\n this.updateDimensions()\r\n },\r\n isReady() {\r\n return this.callBase() && !this._dataController.isLoading()\r\n },\r\n updateDimensions() {\r\n var that = this;\r\n var groupWidth;\r\n var tableElement = that._tableElement();\r\n var bordersWidth;\r\n var totalWidth = 0;\r\n var totalHeight = 0;\r\n var rowsAreaWidth = 0;\r\n var hasRowsScroll;\r\n var hasColumnsScroll;\r\n var dataAreaCell = tableElement.find(\".\".concat(DATA_AREA_CELL_CLASS));\r\n var rowAreaCell = tableElement.find(\".\".concat(ROW_AREA_CELL_CLASS));\r\n var columnAreaCell = tableElement.find(\".\".concat(COLUMN_AREA_CELL_CLASS));\r\n var descriptionCell = tableElement.find(\".\".concat(DESCRIPTION_AREA_CELL_CLASS));\r\n var filterHeaderCell = tableElement.find(\".dx-filter-header\");\r\n var columnHeaderCell = tableElement.find(\".dx-column-header\");\r\n var rowFieldsHeader = that._rowFields;\r\n var d = new Deferred;\r\n if (!hasWindow()) {\r\n return\r\n }\r\n var needSynchronizeFieldPanel = rowFieldsHeader.isVisible() && \"tree\" !== that.option(\"rowHeaderLayout\");\r\n that._detectHasContainerHeight();\r\n if (!that._dataArea.headElement().length) {\r\n that._dataArea.tableElement().prepend(that._columnsArea.headElement())\r\n }\r\n if (needSynchronizeFieldPanel) {\r\n that._rowsArea.updateColspans(rowFieldsHeader.getColumnsCount());\r\n that._rowsArea.tableElement().prepend(rowFieldsHeader.headElement())\r\n }\r\n tableElement.addClass(INCOMPRESSIBLE_FIELDS_CLASS);\r\n that._dataArea.reset();\r\n that._rowsArea.reset();\r\n that._columnsArea.reset();\r\n rowFieldsHeader.reset();\r\n var calculateHasScroll = (areaSize, totalSize) => totalSize - areaSize >= 1;\r\n var calculateGroupHeight = (dataAreaHeight, totalHeight, hasRowsScroll, hasColumnsScroll, scrollBarWidth) => hasRowsScroll ? dataAreaHeight : totalHeight + (hasColumnsScroll ? scrollBarWidth : 0);\r\n deferUpdate(() => {\r\n var rowHeights = that._rowsArea.getRowsHeight();\r\n var descriptionCellHeight = getOuterHeight(descriptionCell[0], true) + (needSynchronizeFieldPanel ? rowHeights[0] : 0);\r\n var filterAreaHeight = 0;\r\n var dataAreaHeight = 0;\r\n if (that._hasHeight) {\r\n filterAreaHeight = getHeight(filterHeaderCell);\r\n var $dataHeader = tableElement.find(\".dx-data-header\");\r\n var dataHeaderHeight = getHeight($dataHeader);\r\n bordersWidth = getCommonBorderWidth([columnAreaCell, dataAreaCell, tableElement, columnHeaderCell, filterHeaderCell], \"height\");\r\n dataAreaHeight = getHeight(that.$element()) - filterAreaHeight - dataHeaderHeight - (Math.max(getHeight(that._dataArea.headElement()), getHeight(columnAreaCell), descriptionCellHeight) + bordersWidth)\r\n }\r\n var scrollBarWidth = that._dataArea.getScrollbarWidth();\r\n var hasVerticalScrollbar = calculateHasScroll(dataAreaHeight, getHeight(that._dataArea.tableElement()));\r\n that._dataArea.tableElement().css({\r\n width: that._hasHeight && hasVerticalScrollbar && scrollBarWidth ? \"calc(100% - \".concat(scrollBarWidth, \"px)\") : \"100%\"\r\n });\r\n var resultWidths = that._dataArea.getColumnsWidth();\r\n var rowsAreaHeights = needSynchronizeFieldPanel ? rowHeights.slice(1) : rowHeights;\r\n var dataAreaHeights = that._dataArea.getRowsHeight();\r\n var columnsAreaRowCount = that._dataController.getColumnsInfo().length;\r\n var resultHeights = mergeArraysByMaxValue(rowsAreaHeights, dataAreaHeights.slice(columnsAreaRowCount));\r\n var columnsAreaRowHeights = dataAreaHeights.slice(0, columnsAreaRowCount);\r\n var columnsAreaHeight = getArraySum(columnsAreaRowHeights);\r\n var rowsAreaColumnWidths = that._rowsArea.getColumnsWidth();\r\n totalWidth = getWidth(that._dataArea.tableElement());\r\n totalHeight = getArraySum(resultHeights);\r\n if (!totalWidth || !totalHeight) {\r\n d.resolve();\r\n return\r\n }\r\n rowsAreaWidth = getArraySum(rowsAreaColumnWidths);\r\n var elementWidth = getWidth(that.$element());\r\n bordersWidth = getCommonBorderWidth([rowAreaCell, dataAreaCell, tableElement], \"width\");\r\n groupWidth = elementWidth - rowsAreaWidth - bordersWidth;\r\n groupWidth = groupWidth > 0 ? groupWidth : totalWidth;\r\n var diff = totalWidth - groupWidth;\r\n var needAdjustWidthOnZoom = diff >= 0 && diff <= 2;\r\n if (needAdjustWidthOnZoom) {\r\n adjustSizeArray(resultWidths, diff);\r\n totalWidth = groupWidth\r\n }\r\n hasRowsScroll = that._hasHeight && calculateHasScroll(dataAreaHeight, totalHeight);\r\n hasColumnsScroll = calculateHasScroll(groupWidth, totalWidth);\r\n var groupHeight = calculateGroupHeight(dataAreaHeight, totalHeight, hasRowsScroll, hasColumnsScroll, scrollBarWidth);\r\n deferRender(() => {\r\n that._columnsArea.tableElement().append(that._dataArea.headElement());\r\n rowFieldsHeader.tableElement().append(that._rowsArea.headElement());\r\n if (descriptionCellHeight > columnsAreaHeight) {\r\n adjustSizeArray(columnsAreaRowHeights, columnsAreaHeight - descriptionCellHeight);\r\n that._columnsArea.setRowsHeight(columnsAreaRowHeights)\r\n }\r\n tableElement.removeClass(INCOMPRESSIBLE_FIELDS_CLASS);\r\n columnHeaderCell.children().css(\"maxWidth\", groupWidth);\r\n that._columnsArea.setGroupWidth(groupWidth);\r\n that._columnsArea.processScrollBarSpacing(hasRowsScroll ? scrollBarWidth : 0);\r\n that._columnsArea.setColumnsWidth(resultWidths);\r\n that._rowsArea.setGroupHeight(that._hasHeight ? groupHeight : \"auto\");\r\n that._rowsArea.processScrollBarSpacing(hasColumnsScroll ? scrollBarWidth : 0);\r\n that._rowsArea.setColumnsWidth(rowsAreaColumnWidths);\r\n that._rowsArea.setRowsHeight(resultHeights);\r\n that._dataArea.setColumnsWidth(resultWidths);\r\n that._dataArea.setRowsHeight(resultHeights);\r\n that._dataArea.setGroupWidth(groupWidth);\r\n that._dataArea.setGroupHeight(that._hasHeight ? groupHeight : \"auto\");\r\n needSynchronizeFieldPanel && rowFieldsHeader.setColumnsWidth(rowsAreaColumnWidths);\r\n dataAreaCell.toggleClass(BOTTOM_BORDER_CLASS, !hasRowsScroll);\r\n rowAreaCell.toggleClass(BOTTOM_BORDER_CLASS, !hasRowsScroll);\r\n if (!that._hasHeight && elementWidth !== getWidth(that.$element())) {\r\n var _diff = elementWidth - getWidth(that.$element());\r\n if (!hasColumnsScroll) {\r\n adjustSizeArray(resultWidths, _diff);\r\n that._columnsArea.setColumnsWidth(resultWidths);\r\n that._dataArea.setColumnsWidth(resultWidths)\r\n }\r\n that._dataArea.setGroupWidth(groupWidth - _diff);\r\n that._columnsArea.setGroupWidth(groupWidth - _diff)\r\n }\r\n if (that._hasHeight && that._filterFields.isVisible() && getHeight(filterHeaderCell) !== filterAreaHeight) {\r\n var _diff2 = getHeight(filterHeaderCell) - filterAreaHeight;\r\n if (_diff2 > 0) {\r\n hasRowsScroll = calculateHasScroll(dataAreaHeight - _diff2, totalHeight);\r\n var _groupHeight = calculateGroupHeight(dataAreaHeight - _diff2, totalHeight, hasRowsScroll, hasColumnsScroll, scrollBarWidth);\r\n that._dataArea.setGroupHeight(_groupHeight);\r\n that._rowsArea.setGroupHeight(_groupHeight)\r\n }\r\n }\r\n var scrollingOptions = that.option(\"scrolling\");\r\n if (\"virtual\" === scrollingOptions.mode) {\r\n that._setVirtualContentParams(scrollingOptions, resultWidths, resultHeights, groupWidth, groupHeight, that._hasHeight, rowsAreaWidth)\r\n }\r\n var updateScrollableResults = [];\r\n that._dataArea.updateScrollableOptions({\r\n direction: that._dataArea.getScrollableDirection(hasColumnsScroll, hasRowsScroll),\r\n rtlEnabled: that.option(\"rtlEnabled\")\r\n });\r\n that._columnsArea.updateScrollableOptions({\r\n rtlEnabled: that.option(\"rtlEnabled\")\r\n });\r\n each([that._columnsArea, that._rowsArea, that._dataArea], (_, area) => {\r\n updateScrollableResults.push(area && area.updateScrollable())\r\n });\r\n that._updateLoading();\r\n that._renderNoDataText(dataAreaCell);\r\n when.apply($, updateScrollableResults).done(() => {\r\n that._updateScrollPosition(that._columnsArea, that._rowsArea, that._dataArea, true);\r\n that._subscribeToEvents(that._columnsArea, that._rowsArea, that._dataArea);\r\n d.resolve()\r\n })\r\n });\r\n return\r\n });\r\n return d\r\n },\r\n _setVirtualContentParams(scrollingOptions, resultWidths, resultHeights, groupWidth, groupHeight, hasHeight, rowsAreaWidth) {\r\n var virtualContentParams = this._dataController.calculateVirtualContentParams({\r\n virtualRowHeight: scrollingOptions.virtualRowHeight,\r\n virtualColumnWidth: scrollingOptions.virtualColumnWidth,\r\n itemWidths: resultWidths,\r\n itemHeights: resultHeights,\r\n rowCount: resultHeights.length,\r\n columnCount: resultWidths.length,\r\n viewportWidth: groupWidth,\r\n viewportHeight: hasHeight ? groupHeight : getOuterHeight(window)\r\n });\r\n this._dataArea.setVirtualContentParams({\r\n top: virtualContentParams.contentTop,\r\n left: virtualContentParams.contentLeft,\r\n width: virtualContentParams.width,\r\n height: virtualContentParams.height\r\n });\r\n this._rowsArea.setVirtualContentParams({\r\n top: virtualContentParams.contentTop,\r\n width: rowsAreaWidth,\r\n height: virtualContentParams.height\r\n });\r\n this._columnsArea.setVirtualContentParams({\r\n left: virtualContentParams.contentLeft,\r\n width: virtualContentParams.width,\r\n height: getHeight(this._columnsArea.groupElement())\r\n })\r\n },\r\n applyPartialDataSource(area, path, dataSource) {\r\n this._dataController.applyPartialDataSource(area, path, dataSource)\r\n }\r\n}).inherit(ExportController).include(ChartIntegrationMixin);\r\nregisterComponent(\"dxPivotGrid\", PivotGrid);\r\nexport default {\r\n PivotGrid: PivotGrid\r\n};\r\nexport {\r\n PivotGrid\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/pivot_grid.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport PivotGrid from \"./pivot_grid/ui.pivot_grid\";\r\nexport default PivotGrid;\r\n","/**\r\n * DevExtreme (esm/ui/pivot_grid/ui.pivot_grid.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n PivotGrid\r\n} from \"../../__internal/grids/pivot_grid/m_widget\";\r\nexport default PivotGrid;\r\n","/**\r\n * DevExtreme (esm/ui/pivot_grid/ui.pivot_grid.field_chooser.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n FieldChooser\r\n} from \"../../__internal/grids/pivot_grid/field_chooser/m_field_chooser\";\r\nexport default FieldChooser;\r\n","/**\r\n * DevExtreme (esm/ui/pivot_grid_field_chooser.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport FieldChooser from \"./pivot_grid/ui.pivot_grid.field_chooser\";\r\nexport default FieldChooser;\r\n","/**\r\n * DevExtreme (esm/ui/popover/ui.popover.full.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport \"../toolbar\";\r\nimport Popover from \"../popover/ui.popover\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nexport default class PopoverFull extends Popover {\r\n _getToolbarName() {\r\n return \"dxToolbar\"\r\n }\r\n}\r\nPopoverFull.defaultOptions = function(rule) {\r\n Popover.defaultOptions(rule)\r\n};\r\nregisterComponent(\"dxPopover\", PopoverFull);\r\n","/**\r\n * DevExtreme (esm/ui/popover.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Popover from \"./popover/ui.popover.full\";\r\nexport default Popover;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/resizable/utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isWindow\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n getOuterWidth,\r\n getInnerWidth,\r\n getOuterHeight,\r\n getInnerHeight,\r\n getOffset\r\n} from \"../../../core/utils/size\";\r\nexport var borderWidthStyles = {\r\n left: \"borderLeftWidth\",\r\n top: \"borderTopWidth\",\r\n right: \"borderRightWidth\",\r\n bottom: \"borderBottomWidth\"\r\n};\r\n\r\nfunction getBorderWidth(el, direction) {\r\n if (!isWindow(el)) {\r\n var borderWidth = el.style[borderWidthStyles[direction]];\r\n return parseInt(borderWidth, 10) || 0\r\n }\r\n return 0\r\n}\r\nvar correctGeometry = function(area, mainEl) {\r\n var el = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : void 0;\r\n var {\r\n height: height,\r\n offset: offset,\r\n width: width\r\n } = area;\r\n var {\r\n left: left,\r\n top: top\r\n } = offset;\r\n var areaBorderLeft = el ? getBorderWidth(el, \"left\") : 0;\r\n var areaBorderTop = el ? getBorderWidth(el, \"top\") : 0;\r\n return {\r\n width: width - getOuterWidth(mainEl) - getInnerWidth(mainEl),\r\n height: height - getOuterHeight(mainEl) - getInnerHeight(mainEl),\r\n offset: {\r\n left: left + areaBorderLeft + getBorderWidth(mainEl, \"left\"),\r\n top: top + areaBorderTop + getBorderWidth(mainEl, \"top\")\r\n }\r\n }\r\n};\r\nexport var getAreaFromElement = (el, mainEl) => correctGeometry({\r\n width: getInnerWidth(el),\r\n height: getInnerHeight(el),\r\n offset: extend({\r\n top: 0,\r\n left: 0\r\n }, isWindow(el) ? {} : getOffset(el))\r\n}, mainEl, el);\r\nexport var getAreaFromObject = (_ref, mainEl) => {\r\n var {\r\n bottom: bottom,\r\n left: left,\r\n right: right,\r\n top: top\r\n } = _ref;\r\n return correctGeometry({\r\n width: right - left,\r\n height: bottom - top,\r\n offset: {\r\n left: left,\r\n top: top\r\n }\r\n }, mainEl)\r\n};\r\nexport var getMovingSides = el => {\r\n var {\r\n className: className\r\n } = el;\r\n var hasCornerTopLeftClass = className.includes(\"dx-resizable-handle-corner-top-left\");\r\n var hasCornerTopRightClass = className.includes(\"dx-resizable-handle-corner-top-right\");\r\n var hasCornerBottomLeftClass = className.includes(\"dx-resizable-handle-corner-bottom-left\");\r\n var hasCornerBottomRightClass = className.includes(\"dx-resizable-handle-corner-bottom-right\");\r\n return {\r\n top: className.includes(\"dx-resizable-handle-top\") || hasCornerTopLeftClass || hasCornerTopRightClass,\r\n left: className.includes(\"dx-resizable-handle-left\") || hasCornerTopLeftClass || hasCornerBottomLeftClass,\r\n bottom: className.includes(\"dx-resizable-handle-bottom\") || hasCornerBottomLeftClass || hasCornerBottomRightClass,\r\n right: className.includes(\"dx-resizable-handle-right\") || hasCornerTopRightClass || hasCornerBottomRightClass\r\n }\r\n};\r\nexport function getDragOffsets(area, handleEl, areaProp) {\r\n var hWidth = getOuterWidth(handleEl);\r\n var hHeight = getOuterHeight(handleEl);\r\n var hOffset = getOffset(handleEl);\r\n var areaOffset = area.offset;\r\n var isAreaWindow = isWindow(areaProp);\r\n var scrollOffset_scrollX = isAreaWindow ? areaProp.pageXOffset : 0,\r\n scrollOffset_scrollY = isAreaWindow ? areaProp.pageYOffset : 0;\r\n return {\r\n maxLeftOffset: hOffset.left - areaOffset.left - scrollOffset_scrollX,\r\n maxRightOffset: areaOffset.left + area.width - hOffset.left - hWidth + scrollOffset_scrollX,\r\n maxTopOffset: hOffset.top - areaOffset.top - scrollOffset_scrollY,\r\n maxBottomOffset: areaOffset.top + area.height - hOffset.top - hHeight + scrollOffset_scrollY\r\n }\r\n}\r\nexport var filterOffsets = (offset, handleEl) => {\r\n var sides = getMovingSides(handleEl);\r\n var offsetX = !sides.left && !sides.right ? 0 : offset.x;\r\n var offsetY = !sides.top && !sides.bottom ? 0 : offset.y;\r\n return {\r\n x: offsetX,\r\n y: offsetY\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/popover/popover_position_controller.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"shading\", \"target\", \"$arrow\"];\r\nimport {\r\n isDefined,\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport positionUtils from \"../../animation/position\";\r\nimport {\r\n pairToObject\r\n} from \"../../core/utils/common\";\r\nimport {\r\n borderWidthStyles\r\n} from \"../../renovation/ui/resizable/utils\";\r\nimport {\r\n getWidth,\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport {\r\n OverlayPositionController\r\n} from \"../overlay/overlay_position_controller\";\r\nvar WEIGHT_OF_SIDES = {\r\n left: -1,\r\n top: -1,\r\n center: 0,\r\n right: 1,\r\n bottom: 1\r\n};\r\nvar POPOVER_POSITION_ALIASES = {\r\n top: {\r\n my: \"bottom center\",\r\n at: \"top center\",\r\n collision: \"fit flip\"\r\n },\r\n bottom: {\r\n my: \"top center\",\r\n at: \"bottom center\",\r\n collision: \"fit flip\"\r\n },\r\n right: {\r\n my: \"left center\",\r\n at: \"right center\",\r\n collision: \"flip fit\"\r\n },\r\n left: {\r\n my: \"right center\",\r\n at: \"left center\",\r\n collision: \"flip fit\"\r\n }\r\n};\r\nvar POPOVER_DEFAULT_BOUNDARY_OFFSET = {\r\n h: 10,\r\n v: 10\r\n};\r\nclass PopoverPositionController extends OverlayPositionController {\r\n constructor(_ref) {\r\n var {\r\n shading: shading,\r\n target: target,\r\n $arrow: $arrow\r\n } = _ref, args = _objectWithoutPropertiesLoose(_ref, _excluded);\r\n super(args);\r\n this._props = _extends({}, this._props, {\r\n shading: shading,\r\n target: target\r\n });\r\n this._$arrow = $arrow;\r\n this._positionSide = void 0;\r\n this.updatePosition(this._props.position)\r\n }\r\n positionWrapper() {\r\n if (this._props.shading) {\r\n this._$wrapper.css({\r\n top: 0,\r\n left: 0\r\n })\r\n }\r\n }\r\n updateTarget(target) {\r\n this._props.target = target;\r\n this.updatePosition(this._props.position)\r\n }\r\n _renderBoundaryOffset() {}\r\n _getContainerPosition() {\r\n var offset = pairToObject(this._position.offset || \"\");\r\n var {\r\n h: hOffset,\r\n v: vOffset\r\n } = offset;\r\n var isVerticalSide = this._isVerticalSide();\r\n var isHorizontalSide = this._isHorizontalSide();\r\n if (isVerticalSide || isHorizontalSide) {\r\n var isPopoverInside = this._isPopoverInside();\r\n var sign = (isPopoverInside ? -1 : 1) * WEIGHT_OF_SIDES[this._positionSide];\r\n var arrowSize = isVerticalSide ? getHeight(this._$arrow) : getWidth(this._$arrow);\r\n var arrowSizeCorrection = this._getContentBorderWidth(this._positionSide);\r\n var arrowOffset = sign * (arrowSize - arrowSizeCorrection);\r\n isVerticalSide ? vOffset += arrowOffset : hOffset += arrowOffset\r\n }\r\n return extend({}, this._position, {\r\n offset: hOffset + \" \" + vOffset\r\n })\r\n }\r\n _getContentBorderWidth(side) {\r\n var borderWidth = this._$content.css(borderWidthStyles[side]);\r\n return parseInt(borderWidth) || 0\r\n }\r\n _isPopoverInside() {\r\n var my = positionUtils.setup.normalizeAlign(this._position.my);\r\n var at = positionUtils.setup.normalizeAlign(this._position.at);\r\n return my.h === at.h && my.v === at.v\r\n }\r\n _isVerticalSide() {\r\n var side = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._positionSide;\r\n return \"top\" === side || \"bottom\" === side\r\n }\r\n _isHorizontalSide() {\r\n var side = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._positionSide;\r\n return \"left\" === side || \"right\" === side\r\n }\r\n _getDisplaySide(position) {\r\n var my = positionUtils.setup.normalizeAlign(position.my);\r\n var at = positionUtils.setup.normalizeAlign(position.at);\r\n var weightSign = WEIGHT_OF_SIDES[my.h] === WEIGHT_OF_SIDES[at.h] && WEIGHT_OF_SIDES[my.v] === WEIGHT_OF_SIDES[at.v] ? -1 : 1;\r\n var horizontalWeight = Math.abs(WEIGHT_OF_SIDES[my.h] - weightSign * WEIGHT_OF_SIDES[at.h]);\r\n var verticalWeight = Math.abs(WEIGHT_OF_SIDES[my.v] - weightSign * WEIGHT_OF_SIDES[at.v]);\r\n return horizontalWeight > verticalWeight ? at.h : at.v\r\n }\r\n _normalizePosition(positionProp) {\r\n var defaultPositionConfig = {\r\n of: this._props.target,\r\n boundaryOffset: POPOVER_DEFAULT_BOUNDARY_OFFSET\r\n };\r\n var resultPosition;\r\n if (isDefined(positionProp)) {\r\n resultPosition = extend(true, {}, defaultPositionConfig, this._positionToObject(positionProp))\r\n } else {\r\n resultPosition = defaultPositionConfig\r\n }\r\n this._positionSide = this._getDisplaySide(resultPosition);\r\n return resultPosition\r\n }\r\n _positionToObject(positionProp) {\r\n if (isString(positionProp)) {\r\n return extend({}, POPOVER_POSITION_ALIASES[positionProp])\r\n }\r\n return positionProp\r\n }\r\n}\r\nexport {\r\n PopoverPositionController,\r\n POPOVER_POSITION_ALIASES\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/popover/ui.popover.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n setWidth,\r\n getHeight,\r\n setHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nimport positionUtils from \"../../animation/position\";\r\nimport {\r\n isObject,\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n fitIntoRange\r\n} from \"../../core/utils/math\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport Popup from \"../popup/ui.popup\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../core/utils/position\";\r\nimport {\r\n PopoverPositionController,\r\n POPOVER_POSITION_ALIASES\r\n} from \"./popover_position_controller\";\r\nvar POPOVER_CLASS = \"dx-popover\";\r\nvar POPOVER_WRAPPER_CLASS = \"dx-popover-wrapper\";\r\nvar POPOVER_ARROW_CLASS = \"dx-popover-arrow\";\r\nvar POPOVER_WITHOUT_TITLE_CLASS = \"dx-popover-without-title\";\r\nvar POSITION_FLIP_MAP = {\r\n left: \"right\",\r\n top: \"bottom\",\r\n right: \"left\",\r\n bottom: \"top\",\r\n center: \"center\"\r\n};\r\nvar getEventNameByOption = function(optionValue) {\r\n return isObject(optionValue) ? optionValue.name : optionValue\r\n};\r\nvar getEventName = function(that, optionName) {\r\n var optionValue = that.option(optionName);\r\n return getEventNameByOption(optionValue)\r\n};\r\nvar getEventDelay = function(that, optionName) {\r\n var optionValue = that.option(optionName);\r\n return isObject(optionValue) && optionValue.delay\r\n};\r\nvar attachEvent = function(that, name) {\r\n var {\r\n target: target,\r\n shading: shading,\r\n disabled: disabled,\r\n hideEvent: hideEvent\r\n } = that.option();\r\n var isSelector = isString(target);\r\n var shouldIgnoreHideEvent = shading && \"hide\" === name;\r\n var event = shouldIgnoreHideEvent ? null : getEventName(that, \"\".concat(name, \"Event\"));\r\n if (shouldIgnoreHideEvent && hideEvent) {\r\n errors.log(\"W1020\")\r\n }\r\n if (!event || disabled) {\r\n return\r\n }\r\n var eventName = addNamespace(event, that.NAME);\r\n var action = that._createAction(function() {\r\n var delay = getEventDelay(that, name + \"Event\");\r\n this._clearEventsTimeouts();\r\n if (delay) {\r\n this._timeouts[name] = setTimeout((function() {\r\n that[name]()\r\n }), delay)\r\n } else {\r\n that[name]()\r\n }\r\n }.bind(that), {\r\n validatingTargetName: \"target\"\r\n });\r\n var handler = function(e) {\r\n action({\r\n event: e,\r\n target: $(e.currentTarget)\r\n })\r\n };\r\n var EVENT_HANDLER_NAME = \"_\" + name + \"EventHandler\";\r\n if (isSelector) {\r\n that[EVENT_HANDLER_NAME] = handler;\r\n eventsEngine.on(domAdapter.getDocument(), eventName, target, handler)\r\n } else {\r\n var targetElement = getPublicElement($(target));\r\n that[EVENT_HANDLER_NAME] = void 0;\r\n eventsEngine.on(targetElement, eventName, handler)\r\n }\r\n};\r\nvar detachEvent = function(that, target, name, event) {\r\n var eventName = event || getEventName(that, name + \"Event\");\r\n if (!eventName) {\r\n return\r\n }\r\n eventName = addNamespace(eventName, that.NAME);\r\n var EVENT_HANDLER_NAME = \"_\" + name + \"EventHandler\";\r\n if (that[EVENT_HANDLER_NAME]) {\r\n eventsEngine.off(domAdapter.getDocument(), eventName, target, that[EVENT_HANDLER_NAME])\r\n } else {\r\n eventsEngine.off(getPublicElement($(target)), eventName)\r\n }\r\n};\r\nvar Popover = Popup.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n target: void 0,\r\n shading: false,\r\n position: extend({}, POPOVER_POSITION_ALIASES.bottom),\r\n hideOnOutsideClick: true,\r\n animation: {\r\n show: {\r\n type: \"fade\",\r\n from: 0,\r\n to: 1\r\n },\r\n hide: {\r\n type: \"fade\",\r\n from: 1,\r\n to: 0\r\n }\r\n },\r\n showTitle: false,\r\n width: \"auto\",\r\n height: \"auto\",\r\n dragEnabled: false,\r\n resizeEnabled: false,\r\n fullScreen: false,\r\n hideOnParentScroll: true,\r\n arrowPosition: \"\",\r\n arrowOffset: 0,\r\n _fixWrapperPosition: true\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return [{\r\n device: {\r\n platform: \"ios\"\r\n },\r\n options: {\r\n arrowPosition: {\r\n boundaryOffset: {\r\n h: 20,\r\n v: -10\r\n },\r\n collision: \"fit\"\r\n }\r\n }\r\n }, {\r\n device: function() {\r\n return !hasWindow()\r\n },\r\n options: {\r\n animation: null\r\n }\r\n }]\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._renderArrow();\r\n this._timeouts = {};\r\n this.$element().addClass(POPOVER_CLASS);\r\n this.$wrapper().addClass(POPOVER_WRAPPER_CLASS)\r\n },\r\n _render: function() {\r\n this.callBase.apply(this, arguments);\r\n this._detachEvents(this.option(\"target\"));\r\n this._attachEvents()\r\n },\r\n _detachEvents: function(target) {\r\n detachEvent(this, target, \"show\");\r\n detachEvent(this, target, \"hide\")\r\n },\r\n _attachEvents: function() {\r\n attachEvent(this, \"show\");\r\n attachEvent(this, \"hide\")\r\n },\r\n _renderArrow: function() {\r\n this._$arrow = $(\"<div>\").addClass(POPOVER_ARROW_CLASS).prependTo(this.$overlayContent())\r\n },\r\n _documentDownHandler: function(e) {\r\n if (this._isOutsideClick(e)) {\r\n return this.callBase(e)\r\n }\r\n return true\r\n },\r\n _isOutsideClick: function(e) {\r\n return !$(e.target).closest(this.option(\"target\")).length\r\n },\r\n _animate: function(animation) {\r\n if (animation && animation.to && \"object\" === typeof animation.to) {\r\n extend(animation.to, {\r\n position: this._getContainerPosition()\r\n })\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _stopAnimation: function() {\r\n this.callBase.apply(this, arguments)\r\n },\r\n _renderTitle: function() {\r\n this.$wrapper().toggleClass(POPOVER_WITHOUT_TITLE_CLASS, !this.option(\"showTitle\"));\r\n this.callBase()\r\n },\r\n _renderPosition: function() {\r\n var shouldUpdateDimensions = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : true;\r\n this.callBase();\r\n this._renderOverlayPosition(shouldUpdateDimensions);\r\n this._actions.onPositioned()\r\n },\r\n _renderOverlayPosition: function(shouldUpdateDimensions) {\r\n this._resetOverlayPosition(shouldUpdateDimensions);\r\n this._updateContentSize(shouldUpdateDimensions);\r\n var contentPosition = this._getContainerPosition();\r\n var resultLocation = positionUtils.setup(this.$overlayContent(), contentPosition);\r\n var positionSide = this._getSideByLocation(resultLocation);\r\n this._togglePositionClass(\"dx-position-\" + positionSide);\r\n this._toggleFlippedClass(resultLocation.h.flip, resultLocation.v.flip);\r\n var isArrowVisible = this._isHorizontalSide() || this._isVerticalSide();\r\n if (isArrowVisible) {\r\n this._renderArrowPosition(positionSide)\r\n }\r\n },\r\n _resetOverlayPosition: function(shouldUpdateDimensions) {\r\n this._setContentHeight(shouldUpdateDimensions);\r\n this._togglePositionClass(\"dx-position-\" + this._positionController._positionSide);\r\n move(this.$overlayContent(), {\r\n left: 0,\r\n top: 0\r\n });\r\n this._$arrow.css({\r\n top: \"auto\",\r\n right: \"auto\",\r\n bottom: \"auto\",\r\n left: \"auto\"\r\n })\r\n },\r\n _updateContentSize: function(shouldUpdateDimensions) {\r\n if (!this.$content() || !shouldUpdateDimensions) {\r\n return\r\n }\r\n var containerLocation = positionUtils.calculate(this.$overlayContent(), this._getContainerPosition());\r\n if (containerLocation.h.oversize > 0 && this._isHorizontalSide() && !containerLocation.h.fit) {\r\n var newContainerWidth = getWidth(this.$overlayContent()) - containerLocation.h.oversize;\r\n setWidth(this.$overlayContent(), newContainerWidth)\r\n }\r\n if (containerLocation.v.oversize > 0 && this._isVerticalSide() && !containerLocation.v.fit) {\r\n var newOverlayContentHeight = getHeight(this.$overlayContent()) - containerLocation.v.oversize;\r\n var newPopupContentHeight = getHeight(this.$content()) - containerLocation.v.oversize;\r\n setHeight(this.$overlayContent(), newOverlayContentHeight);\r\n setHeight(this.$content(), newPopupContentHeight)\r\n }\r\n },\r\n _getContainerPosition: function() {\r\n return this._positionController._getContainerPosition()\r\n },\r\n _getHideOnParentScrollTarget: function() {\r\n return $(this._positionController._position.of || this.callBase())\r\n },\r\n _getSideByLocation: function(location) {\r\n var isFlippedByVertical = location.v.flip;\r\n var isFlippedByHorizontal = location.h.flip;\r\n return this._isVerticalSide() && isFlippedByVertical || this._isHorizontalSide() && isFlippedByHorizontal || this._isPopoverInside() ? POSITION_FLIP_MAP[this._positionController._positionSide] : this._positionController._positionSide\r\n },\r\n _togglePositionClass: function(positionClass) {\r\n this.$wrapper().removeClass(\"dx-position-left dx-position-right dx-position-top dx-position-bottom\").addClass(positionClass)\r\n },\r\n _toggleFlippedClass: function(isFlippedHorizontal, isFlippedVertical) {\r\n this.$wrapper().toggleClass(\"dx-popover-flipped-horizontal\", isFlippedHorizontal).toggleClass(\"dx-popover-flipped-vertical\", isFlippedVertical)\r\n },\r\n _renderArrowPosition: function(side) {\r\n var arrowRect = getBoundingRect(this._$arrow.get(0));\r\n var arrowFlip = -(this._isVerticalSide(side) ? arrowRect.height : arrowRect.width);\r\n this._$arrow.css(POSITION_FLIP_MAP[side], arrowFlip);\r\n var axis = this._isVerticalSide(side) ? \"left\" : \"top\";\r\n var sizeProperty = this._isVerticalSide(side) ? \"width\" : \"height\";\r\n var $target = $(this._positionController._position.of);\r\n var targetOffset = positionUtils.offset($target) || {\r\n top: 0,\r\n left: 0\r\n };\r\n var contentOffset = positionUtils.offset(this.$overlayContent());\r\n var arrowSize = arrowRect[sizeProperty];\r\n var contentLocation = contentOffset[axis];\r\n var contentSize = getBoundingRect(this.$overlayContent().get(0))[sizeProperty];\r\n var targetLocation = targetOffset[axis];\r\n var targetElement = $target.get(0);\r\n var targetSize = targetElement && !targetElement.preventDefault ? getBoundingRect(targetElement)[sizeProperty] : 0;\r\n var min = Math.max(contentLocation, targetLocation);\r\n var max = Math.min(contentLocation + contentSize, targetLocation + targetSize);\r\n var arrowLocation;\r\n if (\"start\" === this.option(\"arrowPosition\")) {\r\n arrowLocation = min - contentLocation\r\n } else if (\"end\" === this.option(\"arrowPosition\")) {\r\n arrowLocation = max - contentLocation - arrowSize\r\n } else {\r\n arrowLocation = (min + max) / 2 - contentLocation - arrowSize / 2\r\n }\r\n var borderWidth = this._positionController._getContentBorderWidth(side);\r\n var finalArrowLocation = fitIntoRange(arrowLocation - borderWidth + this.option(\"arrowOffset\"), borderWidth, contentSize - arrowSize - 2 * borderWidth);\r\n this._$arrow.css(axis, finalArrowLocation)\r\n },\r\n _isPopoverInside: function() {\r\n return this._positionController._isPopoverInside()\r\n },\r\n _setContentHeight: function(fullUpdate) {\r\n if (fullUpdate) {\r\n this.callBase()\r\n }\r\n },\r\n _getPositionControllerConfig() {\r\n var {\r\n shading: shading,\r\n target: target\r\n } = this.option();\r\n return extend({}, this.callBase(), {\r\n target: target,\r\n shading: shading,\r\n $arrow: this._$arrow\r\n })\r\n },\r\n _initPositionController() {\r\n this._positionController = new PopoverPositionController(this._getPositionControllerConfig())\r\n },\r\n _renderWrapperDimensions: function() {\r\n if (this.option(\"shading\")) {\r\n this.$wrapper().css({\r\n width: \"100%\",\r\n height: \"100%\"\r\n })\r\n }\r\n },\r\n _isVerticalSide: function(side) {\r\n return this._positionController._isVerticalSide(side)\r\n },\r\n _isHorizontalSide: function(side) {\r\n return this._positionController._isHorizontalSide(side)\r\n },\r\n _clearEventTimeout: function(name) {\r\n clearTimeout(this._timeouts[name])\r\n },\r\n _clearEventsTimeouts: function() {\r\n this._clearEventTimeout(\"show\");\r\n this._clearEventTimeout(\"hide\")\r\n },\r\n _clean: function() {\r\n this._detachEvents(this.option(\"target\"));\r\n this.callBase.apply(this, arguments)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"arrowPosition\":\r\n case \"arrowOffset\":\r\n this._renderGeometry();\r\n break;\r\n case \"fullScreen\":\r\n if (args.value) {\r\n this.option(\"fullScreen\", false)\r\n }\r\n break;\r\n case \"target\":\r\n args.previousValue && this._detachEvents(args.previousValue);\r\n this._positionController.updateTarget(args.value);\r\n this._invalidate();\r\n break;\r\n case \"showEvent\":\r\n case \"hideEvent\":\r\n var name = args.name.substring(0, 4);\r\n var event = getEventNameByOption(args.previousValue);\r\n this.hide();\r\n detachEvent(this, this.option(\"target\"), name, event);\r\n attachEvent(this, name);\r\n break;\r\n case \"visible\":\r\n this._clearEventTimeout(args.value ? \"show\" : \"hide\");\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n show: function(target) {\r\n if (target) {\r\n this.option(\"target\", target)\r\n }\r\n return this.callBase()\r\n }\r\n});\r\nregisterComponent(\"dxPopover\", Popover);\r\nexport default Popover;\r\n","/**\r\n * DevExtreme (esm/ui/popup/ui.popup.full.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport \"../toolbar\";\r\nimport Popup from \"../popup/ui.popup\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nexport default class PopupFull extends Popup {\r\n _getToolbarName() {\r\n return \"dxToolbar\"\r\n }\r\n}\r\nPopupFull.defaultOptions = function(rule) {\r\n Popup.defaultOptions(rule)\r\n};\r\nregisterComponent(\"dxPopup\", PopupFull);\r\n","/**\r\n * DevExtreme (esm/ui/popup.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Popup from \"./popup/ui.popup.full\";\r\nexport default Popup;\r\n","/**\r\n * DevExtreme (esm/ui/popup/popup_drag.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n locate,\r\n move\r\n} from \"../../animation/translator\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n getOffset,\r\n getOuterWidth,\r\n getOuterHeight\r\n} from \"../../core/utils/size\";\r\nimport {\r\n fitIntoRange\r\n} from \"../../core/utils/math\";\r\nimport {\r\n isWindow\r\n} from \"../../core/utils/type\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n start as dragStartEvent,\r\n move as dragMoveEvent,\r\n end as dragEndEvent\r\n} from \"../../events/drag\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nvar KEYBOARD_DRAG_STEP = 5;\r\nclass PopupDrag {\r\n constructor(config) {\r\n this.init(config)\r\n }\r\n init(_ref) {\r\n var {\r\n dragEnabled: dragEnabled,\r\n handle: handle,\r\n draggableElement: draggableElement,\r\n positionController: positionController\r\n } = _ref;\r\n this._positionController = positionController;\r\n this._draggableElement = draggableElement;\r\n this._handle = handle;\r\n this._dragEnabled = dragEnabled;\r\n this.unsubscribe();\r\n if (!dragEnabled) {\r\n return\r\n }\r\n this.subscribe()\r\n }\r\n moveDown(e) {\r\n this._moveTo(KEYBOARD_DRAG_STEP, 0, e)\r\n }\r\n moveUp(e) {\r\n this._moveTo(-KEYBOARD_DRAG_STEP, 0, e)\r\n }\r\n moveLeft(e) {\r\n this._moveTo(0, -KEYBOARD_DRAG_STEP, e)\r\n }\r\n moveRight(e) {\r\n this._moveTo(0, KEYBOARD_DRAG_STEP, e)\r\n }\r\n subscribe() {\r\n var eventNames = this._getEventNames();\r\n eventsEngine.on(this._handle, eventNames.startEventName, e => {\r\n this._dragStartHandler(e)\r\n });\r\n eventsEngine.on(this._handle, eventNames.updateEventName, e => {\r\n this._dragUpdateHandler(e)\r\n });\r\n eventsEngine.on(this._handle, eventNames.endEventName, e => {\r\n this._dragEndHandler(e)\r\n })\r\n }\r\n unsubscribe() {\r\n var eventNames = this._getEventNames();\r\n eventsEngine.off(this._handle, eventNames.startEventName);\r\n eventsEngine.off(this._handle, eventNames.updateEventName);\r\n eventsEngine.off(this._handle, eventNames.endEventName)\r\n }\r\n _getEventNames() {\r\n var startEventName = addNamespace(dragStartEvent, \"overlayDrag\");\r\n var updateEventName = addNamespace(dragMoveEvent, \"overlayDrag\");\r\n var endEventName = addNamespace(dragEndEvent, \"overlayDrag\");\r\n return {\r\n startEventName: startEventName,\r\n updateEventName: updateEventName,\r\n endEventName: endEventName\r\n }\r\n }\r\n _dragStartHandler(e) {\r\n var allowedOffsets = this._getAllowedOffsets();\r\n this._prevOffset = {\r\n x: 0,\r\n y: 0\r\n };\r\n e.targetElements = [];\r\n e.maxTopOffset = allowedOffsets.top;\r\n e.maxBottomOffset = allowedOffsets.bottom;\r\n e.maxLeftOffset = allowedOffsets.left;\r\n e.maxRightOffset = allowedOffsets.right\r\n }\r\n _dragUpdateHandler(e) {\r\n var targetOffset = {\r\n top: e.offset.y - this._prevOffset.y,\r\n left: e.offset.x - this._prevOffset.x\r\n };\r\n this._moveByOffset(targetOffset);\r\n this._prevOffset = e.offset\r\n }\r\n _dragEndHandler(event) {\r\n this._positionController.dragHandled();\r\n this._positionController.detectVisualPositionChange(event)\r\n }\r\n _moveTo(top, left, e) {\r\n if (!this._dragEnabled) {\r\n return\r\n }\r\n e.preventDefault();\r\n e.stopPropagation();\r\n var offset = this._fitOffsetIntoAllowedRange(top, left);\r\n this._moveByOffset(offset);\r\n this._dragEndHandler(e)\r\n }\r\n _fitOffsetIntoAllowedRange(top, left) {\r\n var allowedOffsets = this._getAllowedOffsets();\r\n return {\r\n top: fitIntoRange(top, -allowedOffsets.top, allowedOffsets.bottom),\r\n left: fitIntoRange(left, -allowedOffsets.left, allowedOffsets.right)\r\n }\r\n }\r\n _getContainerDimensions() {\r\n var document = domAdapter.getDocument();\r\n var container = this._positionController.$dragResizeContainer.get(0);\r\n var containerWidth = getOuterWidth(container);\r\n var containerHeight = getOuterHeight(container);\r\n if (isWindow(container)) {\r\n containerHeight = Math.max(document.body.clientHeight, containerHeight);\r\n containerWidth = Math.max(document.body.clientWidth, containerWidth)\r\n }\r\n return {\r\n width: containerWidth,\r\n height: containerHeight\r\n }\r\n }\r\n _getContainerPosition() {\r\n var container = this._positionController.$dragResizeContainer.get(0);\r\n return isWindow(container) ? {\r\n top: 0,\r\n left: 0\r\n } : getOffset(container)\r\n }\r\n _getElementPosition() {\r\n return getOffset(this._draggableElement)\r\n }\r\n _getInnerDelta() {\r\n var containerDimensions = this._getContainerDimensions();\r\n var elementDimensions = this._getElementDimensions();\r\n return {\r\n x: containerDimensions.width - elementDimensions.width,\r\n y: containerDimensions.height - elementDimensions.height\r\n }\r\n }\r\n _getOuterDelta() {\r\n var {\r\n width: width,\r\n height: height\r\n } = this._getElementDimensions();\r\n var outsideDragFactor = this._positionController.outsideDragFactor;\r\n return {\r\n x: width * outsideDragFactor,\r\n y: height * outsideDragFactor\r\n }\r\n }\r\n _getFullDelta() {\r\n var fullDelta = this._getInnerDelta();\r\n var outerDelta = this._getOuterDelta();\r\n return {\r\n x: fullDelta.x + outerDelta.x,\r\n y: fullDelta.y + outerDelta.y\r\n }\r\n }\r\n _getElementDimensions() {\r\n return {\r\n width: this._draggableElement.offsetWidth,\r\n height: this._draggableElement.offsetHeight\r\n }\r\n }\r\n _getAllowedOffsets() {\r\n var fullDelta = this._getFullDelta();\r\n var isDragAllowed = fullDelta.y >= 0 && fullDelta.x >= 0;\r\n if (!isDragAllowed) {\r\n return {\r\n top: 0,\r\n bottom: 0,\r\n left: 0,\r\n right: 0\r\n }\r\n }\r\n var elementPosition = this._getElementPosition();\r\n var containerPosition = this._getContainerPosition();\r\n var outerDelta = this._getOuterDelta();\r\n return {\r\n top: elementPosition.top - containerPosition.top + outerDelta.y,\r\n bottom: -elementPosition.top + containerPosition.top + fullDelta.y,\r\n left: elementPosition.left - containerPosition.left + outerDelta.x,\r\n right: -elementPosition.left + containerPosition.left + fullDelta.x\r\n }\r\n }\r\n _moveByOffset(offset) {\r\n var currentPosition = locate(this._draggableElement);\r\n var newPosition = {\r\n left: currentPosition.left + offset.left,\r\n top: currentPosition.top + offset.top\r\n };\r\n move(this._draggableElement, newPosition)\r\n }\r\n}\r\nexport default PopupDrag;\r\n","/**\r\n * DevExtreme (esm/ui/popup/popup_position_controller.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"fullScreen\", \"forceApplyBindings\", \"dragOutsideBoundary\", \"dragAndResizeArea\", \"outsideDragFactor\"];\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n originalViewPort\r\n} from \"../../core/utils/view_port\";\r\nimport {\r\n OverlayPositionController\r\n} from \"../overlay/overlay_position_controller\";\r\nvar window = getWindow();\r\nclass PopupPositionController extends OverlayPositionController {\r\n constructor(_ref) {\r\n var {\r\n fullScreen: fullScreen,\r\n forceApplyBindings: forceApplyBindings,\r\n dragOutsideBoundary: dragOutsideBoundary,\r\n dragAndResizeArea: dragAndResizeArea,\r\n outsideDragFactor: outsideDragFactor\r\n } = _ref, args = _objectWithoutPropertiesLoose(_ref, _excluded);\r\n super(args);\r\n this._props = _extends({}, this._props, {\r\n fullScreen: fullScreen,\r\n forceApplyBindings: forceApplyBindings,\r\n dragOutsideBoundary: dragOutsideBoundary,\r\n dragAndResizeArea: dragAndResizeArea,\r\n outsideDragFactor: outsideDragFactor\r\n });\r\n this._$dragResizeContainer = void 0;\r\n this._outsideDragFactor = void 0;\r\n this._lastPositionBeforeFullScreen = void 0;\r\n this._updateDragResizeContainer();\r\n this._updateOutsideDragFactor()\r\n }\r\n set fullScreen(fullScreen) {\r\n this._props.fullScreen = fullScreen;\r\n if (fullScreen) {\r\n this._fullScreenEnabled()\r\n } else {\r\n this._fullScreenDisabled()\r\n }\r\n }\r\n get $dragResizeContainer() {\r\n return this._$dragResizeContainer\r\n }\r\n get outsideDragFactor() {\r\n return this._outsideDragFactor\r\n }\r\n set dragAndResizeArea(dragAndResizeArea) {\r\n this._props.dragAndResizeArea = dragAndResizeArea;\r\n this._updateDragResizeContainer()\r\n }\r\n set dragOutsideBoundary(dragOutsideBoundary) {\r\n this._props.dragOutsideBoundary = dragOutsideBoundary;\r\n this._updateDragResizeContainer();\r\n this._updateOutsideDragFactor()\r\n }\r\n set outsideDragFactor(outsideDragFactor) {\r\n this._props.outsideDragFactor = outsideDragFactor;\r\n this._updateOutsideDragFactor()\r\n }\r\n updateContainer(containerProp) {\r\n super.updateContainer(containerProp);\r\n this._updateDragResizeContainer()\r\n }\r\n dragHandled() {\r\n this.restorePositionOnNextRender(false)\r\n }\r\n resizeHandled() {\r\n this.restorePositionOnNextRender(false)\r\n }\r\n positionContent() {\r\n if (this._props.fullScreen) {\r\n move(this._$content, {\r\n top: 0,\r\n left: 0\r\n });\r\n this.detectVisualPositionChange()\r\n } else {\r\n var _this$_props$forceApp, _this$_props;\r\n null === (_this$_props$forceApp = (_this$_props = this._props).forceApplyBindings) || void 0 === _this$_props$forceApp ? void 0 : _this$_props$forceApp.call(_this$_props);\r\n if (!this._shouldRenderContentInitialPosition && this._lastPositionBeforeFullScreen) {\r\n move(this._$content, this._lastPositionBeforeFullScreen);\r\n this._lastPositionBeforeFullScreen = void 0;\r\n this.detectVisualPositionChange()\r\n } else {\r\n super.positionContent()\r\n }\r\n }\r\n }\r\n _updateOutsideDragFactor() {\r\n this._outsideDragFactor = this._getOutsideDragFactor()\r\n }\r\n _getOutsideDragFactor() {\r\n if (this._props.dragOutsideBoundary) {\r\n return 1\r\n }\r\n return this._props.outsideDragFactor\r\n }\r\n _updateDragResizeContainer() {\r\n this._$dragResizeContainer = this._getDragResizeContainer()\r\n }\r\n _getDragResizeContainer() {\r\n if (this._props.dragOutsideBoundary) {\r\n return $(window)\r\n }\r\n if (this._props.dragAndResizeArea) {\r\n return $(this._props.dragAndResizeArea)\r\n }\r\n var isContainerDefined = originalViewPort().get(0) || this._props.container;\r\n return isContainerDefined ? this._$markupContainer : $(window)\r\n }\r\n _getVisualContainer() {\r\n if (this._props.fullScreen) {\r\n return $(window)\r\n }\r\n return super._getVisualContainer()\r\n }\r\n _fullScreenEnabled() {\r\n this.restorePositionOnNextRender(false);\r\n this._lastPositionBeforeFullScreen = this._visualPosition\r\n }\r\n _fullScreenDisabled() {\r\n this.restorePositionOnNextRender(false)\r\n }\r\n}\r\nexport {\r\n PopupPositionController\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/popup/ui.popup.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n EmptyTemplate\r\n} from \"../../core/templates/empty_template\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n camelize\r\n} from \"../../core/utils/inflector\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n getVisibleHeight,\r\n addOffsetToMaxHeight,\r\n addOffsetToMinHeight,\r\n getVerticalOffsets,\r\n getOuterWidth,\r\n getWidth,\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../core/utils/position\";\r\nimport {\r\n isDefined,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n compare as compareVersions\r\n} from \"../../core/utils/version\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n triggerResizeEvent\r\n} from \"../../events/visibility_change\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport PopupDrag from \"./popup_drag\";\r\nimport Resizable from \"../resizable\";\r\nimport Button from \"../button\";\r\nimport Overlay from \"../overlay/ui.overlay\";\r\nimport {\r\n isMaterial,\r\n current as currentTheme\r\n} from \"../themes\";\r\nimport \"../toolbar/ui.toolbar.base\";\r\nimport resizeObserverSingleton from \"../../core/resize_observer\";\r\nimport * as zIndexPool from \"../overlay/z_index\";\r\nimport {\r\n PopupPositionController\r\n} from \"./popup_position_controller\";\r\nvar window = getWindow();\r\nvar POPUP_CLASS = \"dx-popup\";\r\nvar POPUP_WRAPPER_CLASS = \"dx-popup-wrapper\";\r\nvar POPUP_FULL_SCREEN_CLASS = \"dx-popup-fullscreen\";\r\nvar POPUP_FULL_SCREEN_WIDTH_CLASS = \"dx-popup-fullscreen-width\";\r\nvar POPUP_NORMAL_CLASS = \"dx-popup-normal\";\r\nvar POPUP_CONTENT_CLASS = \"dx-popup-content\";\r\nvar DISABLED_STATE_CLASS = \"dx-state-disabled\";\r\nvar POPUP_DRAGGABLE_CLASS = \"dx-popup-draggable\";\r\nvar POPUP_TITLE_CLASS = \"dx-popup-title\";\r\nvar POPUP_TITLE_CLOSEBUTTON_CLASS = \"dx-closebutton\";\r\nvar POPUP_BOTTOM_CLASS = \"dx-popup-bottom\";\r\nvar POPUP_HAS_CLOSE_BUTTON_CLASS = \"dx-has-close-button\";\r\nvar TEMPLATE_WRAPPER_CLASS = \"dx-template-wrapper\";\r\nvar POPUP_CONTENT_FLEX_HEIGHT_CLASS = \"dx-popup-flex-height\";\r\nvar POPUP_CONTENT_INHERIT_HEIGHT_CLASS = \"dx-popup-inherit-height\";\r\nvar ALLOWED_TOOLBAR_ITEM_ALIASES = [\"cancel\", \"clear\", \"done\"];\r\nvar BUTTON_DEFAULT_TYPE = \"default\";\r\nvar BUTTON_NORMAL_TYPE = \"normal\";\r\nvar BUTTON_TEXT_MODE = \"text\";\r\nvar BUTTON_CONTAINED_MODE = \"contained\";\r\nvar IS_OLD_SAFARI = browser.safari && compareVersions(browser.version, [11]) < 0;\r\nvar HEIGHT_STRATEGIES = {\r\n static: \"\",\r\n inherit: POPUP_CONTENT_INHERIT_HEIGHT_CLASS,\r\n flex: POPUP_CONTENT_FLEX_HEIGHT_CLASS\r\n};\r\nvar getButtonPlace = name => {\r\n var device = devices.current();\r\n var platform = device.platform;\r\n var toolbar = \"bottom\";\r\n var location = \"before\";\r\n if (\"ios\" === platform) {\r\n switch (name) {\r\n case \"cancel\":\r\n toolbar = \"top\";\r\n break;\r\n case \"clear\":\r\n toolbar = \"top\";\r\n location = \"after\";\r\n break;\r\n case \"done\":\r\n location = \"after\"\r\n }\r\n } else if (\"android\" === platform) {\r\n switch (name) {\r\n case \"cancel\":\r\n case \"done\":\r\n location = \"after\"\r\n }\r\n }\r\n return {\r\n toolbar: toolbar,\r\n location: location\r\n }\r\n};\r\nvar Popup = Overlay.inherit({\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), {\r\n upArrow: e => {\r\n var _this$_drag;\r\n null === (_this$_drag = this._drag) || void 0 === _this$_drag ? void 0 : _this$_drag.moveUp(e)\r\n },\r\n downArrow: e => {\r\n var _this$_drag2;\r\n null === (_this$_drag2 = this._drag) || void 0 === _this$_drag2 ? void 0 : _this$_drag2.moveDown(e)\r\n },\r\n leftArrow: e => {\r\n var _this$_drag3;\r\n null === (_this$_drag3 = this._drag) || void 0 === _this$_drag3 ? void 0 : _this$_drag3.moveLeft(e)\r\n },\r\n rightArrow: e => {\r\n var _this$_drag4;\r\n null === (_this$_drag4 = this._drag) || void 0 === _this$_drag4 ? void 0 : _this$_drag4.moveRight(e)\r\n }\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n fullScreen: false,\r\n title: \"\",\r\n showTitle: true,\r\n titleTemplate: \"title\",\r\n onTitleRendered: null,\r\n dragOutsideBoundary: false,\r\n dragEnabled: false,\r\n dragAndResizeArea: void 0,\r\n outsideDragFactor: 0,\r\n onResizeStart: null,\r\n onResize: null,\r\n onResizeEnd: null,\r\n resizeEnabled: false,\r\n toolbarItems: [],\r\n showCloseButton: false,\r\n bottomTemplate: \"bottom\",\r\n useDefaultToolbarButtons: false,\r\n useFlatToolbarButtons: false,\r\n autoResizeEnabled: true\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n var themeName = currentTheme();\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"ios\"\r\n },\r\n options: {\r\n animation: this._iosAnimation\r\n }\r\n }, {\r\n device: {\r\n platform: \"android\"\r\n },\r\n options: {\r\n animation: this._androidAnimation\r\n }\r\n }, {\r\n device: {\r\n platform: \"generic\"\r\n },\r\n options: {\r\n showCloseButton: true\r\n }\r\n }, {\r\n device: function(_device) {\r\n return \"desktop\" === devices.real().deviceType && \"generic\" === _device.platform\r\n },\r\n options: {\r\n dragEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial(themeName)\r\n },\r\n options: {\r\n useDefaultToolbarButtons: true,\r\n useFlatToolbarButtons: true,\r\n showCloseButton: false\r\n }\r\n }])\r\n },\r\n _iosAnimation: {\r\n show: {\r\n type: \"slide\",\r\n duration: 400,\r\n from: {\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\"\r\n }\r\n },\r\n to: {\r\n position: {\r\n my: \"center\",\r\n at: \"center\"\r\n }\r\n }\r\n },\r\n hide: {\r\n type: \"slide\",\r\n duration: 400,\r\n from: {\r\n opacity: 1,\r\n position: {\r\n my: \"center\",\r\n at: \"center\"\r\n }\r\n },\r\n to: {\r\n opacity: 1,\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\"\r\n }\r\n }\r\n }\r\n },\r\n _androidAnimation: function() {\r\n return this.option(\"fullScreen\") ? {\r\n show: {\r\n type: \"slide\",\r\n duration: 300,\r\n from: {\r\n top: \"30%\",\r\n opacity: 0\r\n },\r\n to: {\r\n top: 0,\r\n opacity: 1\r\n }\r\n },\r\n hide: {\r\n type: \"slide\",\r\n duration: 300,\r\n from: {\r\n top: 0,\r\n opacity: 1\r\n },\r\n to: {\r\n top: \"30%\",\r\n opacity: 0\r\n }\r\n }\r\n } : {\r\n show: {\r\n type: \"fade\",\r\n duration: 400,\r\n from: 0,\r\n to: 1\r\n },\r\n hide: {\r\n type: \"fade\",\r\n duration: 400,\r\n from: 1,\r\n to: 0\r\n }\r\n }\r\n },\r\n _init: function() {\r\n var popupWrapperClassExternal = this.option(\"_wrapperClassExternal\");\r\n var popupWrapperClasses = popupWrapperClassExternal ? \"\".concat(POPUP_WRAPPER_CLASS, \" \").concat(popupWrapperClassExternal) : POPUP_WRAPPER_CLASS;\r\n this.callBase();\r\n this._updateResizeCallbackSkipCondition();\r\n this.$element().addClass(POPUP_CLASS);\r\n this.$wrapper().addClass(popupWrapperClasses);\r\n this._$popupContent = this._$content.wrapInner($(\"<div>\").addClass(POPUP_CONTENT_CLASS)).children().eq(0)\r\n },\r\n _render: function() {\r\n var isFullscreen = this.option(\"fullScreen\");\r\n this._toggleFullScreenClass(isFullscreen);\r\n this.callBase()\r\n },\r\n _toggleFullScreenClass: function(value) {\r\n this.$overlayContent().toggleClass(POPUP_FULL_SCREEN_CLASS, value).toggleClass(POPUP_NORMAL_CLASS, !value)\r\n },\r\n _initTemplates: function() {\r\n this.callBase();\r\n this._templateManager.addDefaultTemplates({\r\n title: new EmptyTemplate,\r\n bottom: new EmptyTemplate\r\n })\r\n },\r\n _getActionsList: function() {\r\n return this.callBase().concat([\"onResizeStart\", \"onResize\", \"onResizeEnd\"])\r\n },\r\n _contentResizeHandler: function(entry) {\r\n if (!this._shouldSkipContentResize(entry)) {\r\n this._renderGeometry({\r\n shouldOnlyReposition: true\r\n })\r\n }\r\n },\r\n _doesShowAnimationChangeDimensions: function() {\r\n var animation = this.option(\"animation\");\r\n return [\"to\", \"from\"].some(prop => {\r\n var _animation$show;\r\n var config = null === animation || void 0 === animation ? void 0 : null === (_animation$show = animation.show) || void 0 === _animation$show ? void 0 : _animation$show[prop];\r\n return isObject(config) && (\"width\" in config || \"height\" in config)\r\n })\r\n },\r\n _updateResizeCallbackSkipCondition() {\r\n var doesShowAnimationChangeDimensions = this._doesShowAnimationChangeDimensions();\r\n this._shouldSkipContentResize = entry => doesShowAnimationChangeDimensions && this._showAnimationProcessing || this._areContentDimensionsRendered(entry)\r\n },\r\n _observeContentResize: function(shouldObserve) {\r\n if (!this.option(\"useResizeObserver\")) {\r\n return\r\n }\r\n var contentElement = this._$content.get(0);\r\n if (shouldObserve) {\r\n resizeObserverSingleton.observe(contentElement, entry => {\r\n this._contentResizeHandler(entry)\r\n })\r\n } else {\r\n resizeObserverSingleton.unobserve(contentElement)\r\n }\r\n },\r\n _areContentDimensionsRendered: function(entry) {\r\n var _entry$contentBoxSize, _this$_renderedDimens3, _this$_renderedDimens4;\r\n var contentBox = null === (_entry$contentBoxSize = entry.contentBoxSize) || void 0 === _entry$contentBoxSize ? void 0 : _entry$contentBoxSize[0];\r\n if (contentBox) {\r\n var _this$_renderedDimens, _this$_renderedDimens2;\r\n return parseInt(contentBox.inlineSize, 10) === (null === (_this$_renderedDimens = this._renderedDimensions) || void 0 === _this$_renderedDimens ? void 0 : _this$_renderedDimens.width) && parseInt(contentBox.blockSize, 10) === (null === (_this$_renderedDimens2 = this._renderedDimensions) || void 0 === _this$_renderedDimens2 ? void 0 : _this$_renderedDimens2.height)\r\n }\r\n var contentRect = entry.contentRect;\r\n return parseInt(contentRect.width, 10) === (null === (_this$_renderedDimens3 = this._renderedDimensions) || void 0 === _this$_renderedDimens3 ? void 0 : _this$_renderedDimens3.width) && parseInt(contentRect.height, 10) === (null === (_this$_renderedDimens4 = this._renderedDimensions) || void 0 === _this$_renderedDimens4 ? void 0 : _this$_renderedDimens4.height)\r\n },\r\n _renderContent() {\r\n this.callBase();\r\n this._observeContentResize(true)\r\n },\r\n _renderContentImpl: function() {\r\n this._renderTitle();\r\n this.callBase();\r\n this._renderResize();\r\n this._renderBottom()\r\n },\r\n _renderTitle: function() {\r\n var items = this._getToolbarItems(\"top\");\r\n var titleText = this.option(\"title\");\r\n var showTitle = this.option(\"showTitle\");\r\n if (showTitle && !!titleText) {\r\n items.unshift({\r\n location: devices.current().ios ? \"center\" : \"before\",\r\n text: titleText\r\n })\r\n }\r\n if (showTitle || items.length > 0) {\r\n this._$title && this._$title.remove();\r\n var $title = $(\"<div>\").addClass(POPUP_TITLE_CLASS).insertBefore(this.$content());\r\n this._$title = this._renderTemplateByType(\"titleTemplate\", items, $title).addClass(POPUP_TITLE_CLASS);\r\n this._renderDrag();\r\n this._executeTitleRenderAction(this._$title);\r\n this._$title.toggleClass(POPUP_HAS_CLOSE_BUTTON_CLASS, this._hasCloseButton())\r\n } else if (this._$title) {\r\n this._$title.detach()\r\n }\r\n },\r\n _renderTemplateByType: function(optionName, data, $container, additionalToolbarOptions) {\r\n var {\r\n rtlEnabled: rtlEnabled,\r\n useDefaultToolbarButtons: useDefaultToolbarButtons,\r\n useFlatToolbarButtons: useFlatToolbarButtons,\r\n disabled: disabled\r\n } = this.option();\r\n var template = this._getTemplateByOption(optionName);\r\n var toolbarTemplate = template instanceof EmptyTemplate;\r\n if (toolbarTemplate) {\r\n var integrationOptions = extend({}, this.option(\"integrationOptions\"), {\r\n skipTemplates: [\"content\", \"title\"]\r\n });\r\n var toolbarOptions = extend(additionalToolbarOptions, {\r\n items: data,\r\n rtlEnabled: rtlEnabled,\r\n useDefaultButtons: useDefaultToolbarButtons,\r\n useFlatButtons: useFlatToolbarButtons,\r\n disabled: disabled,\r\n integrationOptions: integrationOptions\r\n });\r\n this._getTemplate(\"dx-polymorph-widget\").render({\r\n container: $container,\r\n model: {\r\n widget: this._getToolbarName(),\r\n options: toolbarOptions\r\n }\r\n });\r\n var $toolbar = $container.children(\"div\");\r\n $container.replaceWith($toolbar);\r\n return $toolbar\r\n } else {\r\n var $result = $(template.render({\r\n container: getPublicElement($container)\r\n }));\r\n if ($result.hasClass(TEMPLATE_WRAPPER_CLASS)) {\r\n $container.replaceWith($result);\r\n $container = $result\r\n }\r\n return $container\r\n }\r\n },\r\n _getToolbarName: function() {\r\n return \"dxToolbarBase\"\r\n },\r\n _renderVisibilityAnimate: function(visible) {\r\n return this.callBase(visible)\r\n },\r\n _hide() {\r\n this._observeContentResize(false);\r\n return this.callBase()\r\n },\r\n _executeTitleRenderAction: function($titleElement) {\r\n this._getTitleRenderAction()({\r\n titleElement: getPublicElement($titleElement)\r\n })\r\n },\r\n _getTitleRenderAction: function() {\r\n return this._titleRenderAction || this._createTitleRenderAction()\r\n },\r\n _createTitleRenderAction: function() {\r\n return this._titleRenderAction = this._createActionByOption(\"onTitleRendered\", {\r\n element: this.element(),\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _getCloseButton: function() {\r\n return {\r\n toolbar: \"top\",\r\n location: \"after\",\r\n template: this._getCloseButtonRenderer()\r\n }\r\n },\r\n _getCloseButtonRenderer: function() {\r\n return (_, __, container) => {\r\n var $button = $(\"<div>\").addClass(POPUP_TITLE_CLOSEBUTTON_CLASS);\r\n this._createComponent($button, Button, {\r\n icon: \"close\",\r\n onClick: this._createToolbarItemAction(void 0),\r\n stylingMode: \"text\",\r\n integrationOptions: {}\r\n });\r\n $(container).append($button)\r\n }\r\n },\r\n _getToolbarItems: function(toolbar) {\r\n var toolbarItems = this.option(\"toolbarItems\");\r\n var toolbarsItems = [];\r\n this._toolbarItemClasses = [];\r\n var currentPlatform = devices.current().platform;\r\n var index = 0;\r\n each(toolbarItems, (_, data) => {\r\n var isShortcut = isDefined(data.shortcut);\r\n var item = isShortcut ? getButtonPlace(data.shortcut) : data;\r\n if (isShortcut && \"ios\" === currentPlatform && index < 2) {\r\n item.toolbar = \"top\";\r\n index++\r\n }\r\n item.toolbar = data.toolbar || item.toolbar || \"top\";\r\n if (item && item.toolbar === toolbar) {\r\n if (isShortcut) {\r\n extend(item, {\r\n location: data.location\r\n }, this._getToolbarItemByAlias(data))\r\n }\r\n var isLTROrder = \"generic\" === currentPlatform;\r\n if (\"done\" === data.shortcut && isLTROrder || \"cancel\" === data.shortcut && !isLTROrder) {\r\n toolbarsItems.unshift(item)\r\n } else {\r\n toolbarsItems.push(item)\r\n }\r\n }\r\n });\r\n if (\"top\" === toolbar && this._hasCloseButton()) {\r\n toolbarsItems.push(this._getCloseButton())\r\n }\r\n return toolbarsItems\r\n },\r\n _hasCloseButton() {\r\n return this.option(\"showCloseButton\") && this.option(\"showTitle\")\r\n },\r\n _getLocalizationKey: itemType => \"done\" === itemType.toLowerCase() ? \"OK\" : camelize(itemType, true),\r\n _getToolbarItemByAlias: function(data) {\r\n var that = this;\r\n var itemType = data.shortcut;\r\n if (!ALLOWED_TOOLBAR_ITEM_ALIASES.includes(itemType)) {\r\n return false\r\n }\r\n var itemConfig = extend({\r\n text: messageLocalization.format(this._getLocalizationKey(itemType)),\r\n onClick: this._createToolbarItemAction(data.onClick),\r\n integrationOptions: {},\r\n type: that.option(\"useDefaultToolbarButtons\") ? BUTTON_DEFAULT_TYPE : BUTTON_NORMAL_TYPE,\r\n stylingMode: that.option(\"useFlatToolbarButtons\") ? BUTTON_TEXT_MODE : BUTTON_CONTAINED_MODE\r\n }, data.options || {});\r\n var itemClass = POPUP_CLASS + \"-\" + itemType;\r\n this._toolbarItemClasses.push(itemClass);\r\n return {\r\n template: function(_, __, container) {\r\n var $toolbarItem = $(\"<div>\").addClass(itemClass).appendTo(container);\r\n that._createComponent($toolbarItem, Button, itemConfig)\r\n }\r\n }\r\n },\r\n _createToolbarItemAction: function(clickAction) {\r\n return this._createAction(clickAction, {\r\n afterExecute: function(e) {\r\n e.component.hide()\r\n }\r\n })\r\n },\r\n _renderBottom: function() {\r\n var items = this._getToolbarItems(\"bottom\");\r\n if (items.length) {\r\n this._$bottom && this._$bottom.remove();\r\n var $bottom = $(\"<div>\").addClass(POPUP_BOTTOM_CLASS).insertAfter(this.$content());\r\n this._$bottom = this._renderTemplateByType(\"bottomTemplate\", items, $bottom, {\r\n compactMode: true\r\n }).addClass(POPUP_BOTTOM_CLASS);\r\n this._toggleClasses()\r\n } else {\r\n this._$bottom && this._$bottom.detach()\r\n }\r\n },\r\n _toggleDisabledState: function(value) {\r\n this.callBase(...arguments);\r\n this.$content().toggleClass(DISABLED_STATE_CLASS, Boolean(value))\r\n },\r\n _toggleClasses: function() {\r\n var aliases = ALLOWED_TOOLBAR_ITEM_ALIASES;\r\n each(aliases, (_, alias) => {\r\n var className = POPUP_CLASS + \"-\" + alias;\r\n if (this._toolbarItemClasses.includes(className)) {\r\n this.$wrapper().addClass(className + \"-visible\");\r\n this._$bottom.addClass(className)\r\n } else {\r\n this.$wrapper().removeClass(className + \"-visible\");\r\n this._$bottom.removeClass(className)\r\n }\r\n })\r\n },\r\n _toggleFocusClass(isFocused, $element) {\r\n this.callBase(isFocused, $element);\r\n if (isFocused && !zIndexPool.isLastZIndexInStack(this._zIndex)) {\r\n var zIndex = zIndexPool.create(this._zIndexInitValue());\r\n zIndexPool.remove(this._zIndex);\r\n this._zIndex = zIndex;\r\n this._$wrapper.css(\"zIndex\", zIndex);\r\n this._$content.css(\"zIndex\", zIndex)\r\n }\r\n },\r\n _getPositionControllerConfig() {\r\n var {\r\n fullScreen: fullScreen,\r\n forceApplyBindings: forceApplyBindings,\r\n dragOutsideBoundary: dragOutsideBoundary,\r\n dragAndResizeArea: dragAndResizeArea,\r\n outsideDragFactor: outsideDragFactor\r\n } = this.option();\r\n return extend({}, this.callBase(), {\r\n fullScreen: fullScreen,\r\n forceApplyBindings: forceApplyBindings,\r\n dragOutsideBoundary: dragOutsideBoundary,\r\n dragAndResizeArea: dragAndResizeArea,\r\n outsideDragFactor: outsideDragFactor\r\n })\r\n },\r\n _initPositionController() {\r\n this._positionController = new PopupPositionController(this._getPositionControllerConfig())\r\n },\r\n _getDragTarget: function() {\r\n return this.topToolbar()\r\n },\r\n _renderGeometry: function(options) {\r\n var {\r\n visible: visible,\r\n useResizeObserver: useResizeObserver\r\n } = this.option();\r\n if (visible && hasWindow()) {\r\n var isAnimated = this._showAnimationProcessing;\r\n var shouldRepeatAnimation = isAnimated && !(null !== options && void 0 !== options && options.forceStopAnimation) && useResizeObserver;\r\n this._isAnimationPaused = shouldRepeatAnimation || void 0;\r\n this._stopAnimation();\r\n if (null !== options && void 0 !== options && options.shouldOnlyReposition) {\r\n this._renderPosition(false)\r\n } else {\r\n this._renderGeometryImpl(null === options || void 0 === options ? void 0 : options.isDimensionChange)\r\n }\r\n if (shouldRepeatAnimation) {\r\n this._animateShowing();\r\n this._isAnimationPaused = void 0\r\n }\r\n }\r\n },\r\n _cacheDimensions: function() {\r\n if (!this.option(\"useResizeObserver\")) {\r\n return\r\n }\r\n this._renderedDimensions = {\r\n width: parseInt(getWidth(this._$content), 10),\r\n height: parseInt(getHeight(this._$content), 10)\r\n }\r\n },\r\n _renderGeometryImpl: function() {\r\n var isDimensionChange = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : false;\r\n if (!isDimensionChange) {\r\n this._resetContentHeight()\r\n }\r\n this.callBase();\r\n this._cacheDimensions();\r\n this._setContentHeight()\r\n },\r\n _resetContentHeight: function() {\r\n var height = this._getOptionValue(\"height\");\r\n if (\"auto\" === height) {\r\n this.$content().css({\r\n height: \"auto\",\r\n maxHeight: \"none\"\r\n })\r\n }\r\n },\r\n _renderDrag: function() {\r\n var $dragTarget = this._getDragTarget();\r\n var dragEnabled = this.option(\"dragEnabled\");\r\n if (!$dragTarget) {\r\n return\r\n }\r\n var config = {\r\n dragEnabled: dragEnabled,\r\n handle: $dragTarget.get(0),\r\n draggableElement: this._$content.get(0),\r\n positionController: this._positionController\r\n };\r\n if (this._drag) {\r\n this._drag.init(config)\r\n } else {\r\n this._drag = new PopupDrag(config)\r\n }\r\n this.$overlayContent().toggleClass(POPUP_DRAGGABLE_CLASS, dragEnabled)\r\n },\r\n _renderResize: function() {\r\n this._resizable = this._createComponent(this._$content, Resizable, {\r\n handles: this.option(\"resizeEnabled\") ? \"all\" : \"none\",\r\n onResizeEnd: e => {\r\n this._resizeEndHandler(e);\r\n this._observeContentResize(true)\r\n },\r\n onResize: e => {\r\n this._setContentHeight();\r\n this._actions.onResize(e)\r\n },\r\n onResizeStart: e => {\r\n this._observeContentResize(false);\r\n this._actions.onResizeStart(e)\r\n },\r\n minHeight: 100,\r\n minWidth: 100,\r\n area: this._positionController.$dragResizeContainer,\r\n keepAspectRatio: false\r\n })\r\n },\r\n _resizeEndHandler: function(e) {\r\n var width = this._resizable.option(\"width\");\r\n var height = this._resizable.option(\"height\");\r\n width && this._setOptionWithoutOptionChange(\"width\", width);\r\n height && this._setOptionWithoutOptionChange(\"height\", height);\r\n this._cacheDimensions();\r\n this._positionController.resizeHandled();\r\n this._positionController.detectVisualPositionChange(e.event);\r\n this._actions.onResizeEnd(e)\r\n },\r\n _setContentHeight: function() {\r\n (this.option(\"forceApplyBindings\") || noop)();\r\n var overlayContent = this.$overlayContent().get(0);\r\n var currentHeightStrategyClass = this._chooseHeightStrategy(overlayContent);\r\n this.$content().css(this._getHeightCssStyles(currentHeightStrategyClass, overlayContent));\r\n this._setHeightClasses(this.$overlayContent(), currentHeightStrategyClass)\r\n },\r\n _heightStrategyChangeOffset: function(currentHeightStrategyClass, popupVerticalPaddings) {\r\n return currentHeightStrategyClass === HEIGHT_STRATEGIES.flex ? -popupVerticalPaddings : 0\r\n },\r\n _chooseHeightStrategy: function(overlayContent) {\r\n var isAutoWidth = \"auto\" === overlayContent.style.width || \"\" === overlayContent.style.width;\r\n var currentHeightStrategyClass = HEIGHT_STRATEGIES.static;\r\n if (this._isAutoHeight() && this.option(\"autoResizeEnabled\")) {\r\n if (isAutoWidth || IS_OLD_SAFARI) {\r\n currentHeightStrategyClass = HEIGHT_STRATEGIES.inherit\r\n } else {\r\n currentHeightStrategyClass = HEIGHT_STRATEGIES.flex\r\n }\r\n }\r\n return currentHeightStrategyClass\r\n },\r\n _getHeightCssStyles: function(currentHeightStrategyClass, overlayContent) {\r\n var cssStyles = {};\r\n var contentMaxHeight = this._getOptionValue(\"maxHeight\", overlayContent);\r\n var contentMinHeight = this._getOptionValue(\"minHeight\", overlayContent);\r\n var popupHeightParts = this._splitPopupHeight();\r\n var toolbarsAndVerticalOffsetsHeight = popupHeightParts.header + popupHeightParts.footer + popupHeightParts.contentVerticalOffsets + popupHeightParts.popupVerticalOffsets + this._heightStrategyChangeOffset(currentHeightStrategyClass, popupHeightParts.popupVerticalPaddings);\r\n if (currentHeightStrategyClass === HEIGHT_STRATEGIES.static) {\r\n if (!this._isAutoHeight() || contentMaxHeight || contentMinHeight) {\r\n var overlayHeight = this.option(\"fullScreen\") ? Math.min(getBoundingRect(overlayContent).height, getWindow().innerHeight) : getBoundingRect(overlayContent).height;\r\n var contentHeight = overlayHeight - toolbarsAndVerticalOffsetsHeight;\r\n cssStyles = {\r\n height: Math.max(0, contentHeight),\r\n minHeight: \"auto\",\r\n maxHeight: \"auto\"\r\n }\r\n }\r\n } else {\r\n var container = $(this._positionController.$visualContainer).get(0);\r\n var maxHeightValue = addOffsetToMaxHeight(contentMaxHeight, -toolbarsAndVerticalOffsetsHeight, container);\r\n var minHeightValue = addOffsetToMinHeight(contentMinHeight, -toolbarsAndVerticalOffsetsHeight, container);\r\n cssStyles = {\r\n height: \"auto\",\r\n minHeight: minHeightValue,\r\n maxHeight: maxHeightValue\r\n }\r\n }\r\n return cssStyles\r\n },\r\n _setHeightClasses: function($container, currentClass) {\r\n var excessClasses = \"\";\r\n for (var name in HEIGHT_STRATEGIES) {\r\n if (HEIGHT_STRATEGIES[name] !== currentClass) {\r\n excessClasses += \" \" + HEIGHT_STRATEGIES[name]\r\n }\r\n }\r\n $container.removeClass(excessClasses).addClass(currentClass)\r\n },\r\n _isAutoHeight: function() {\r\n return \"auto\" === this.$overlayContent().get(0).style.height\r\n },\r\n _splitPopupHeight: function() {\r\n var topToolbar = this.topToolbar();\r\n var bottomToolbar = this.bottomToolbar();\r\n return {\r\n header: getVisibleHeight(topToolbar && topToolbar.get(0)),\r\n footer: getVisibleHeight(bottomToolbar && bottomToolbar.get(0)),\r\n contentVerticalOffsets: getVerticalOffsets(this.$overlayContent().get(0), true),\r\n popupVerticalOffsets: getVerticalOffsets(this.$content().get(0), true),\r\n popupVerticalPaddings: getVerticalOffsets(this.$content().get(0), false)\r\n }\r\n },\r\n _isAllWindowCovered: function() {\r\n return this.callBase() || this.option(\"fullScreen\")\r\n },\r\n _renderDimensions: function() {\r\n if (this.option(\"fullScreen\")) {\r\n this.$overlayContent().css({\r\n width: \"100%\",\r\n height: \"100%\",\r\n minWidth: \"\",\r\n maxWidth: \"\",\r\n minHeight: \"\",\r\n maxHeight: \"\"\r\n })\r\n } else {\r\n this.callBase()\r\n }\r\n if (hasWindow()) {\r\n this._renderFullscreenWidthClass()\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n this._renderGeometry({\r\n isDimensionChange: true\r\n })\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n this._observeContentResize(false)\r\n },\r\n _renderFullscreenWidthClass: function() {\r\n this.$overlayContent().toggleClass(POPUP_FULL_SCREEN_WIDTH_CLASS, getOuterWidth(this.$overlayContent()) === getWidth(window))\r\n },\r\n refreshPosition: function() {\r\n this._renderPosition()\r\n },\r\n _optionChanged: function(args) {\r\n var _this$_resizable2;\r\n var value = args.value;\r\n switch (args.name) {\r\n case \"disabled\":\r\n this.callBase(args);\r\n this._renderTitle();\r\n this._renderBottom();\r\n break;\r\n case \"animation\":\r\n this._updateResizeCallbackSkipCondition();\r\n break;\r\n case \"showTitle\":\r\n case \"title\":\r\n case \"titleTemplate\":\r\n this._renderTitle();\r\n this._renderGeometry();\r\n triggerResizeEvent(this.$overlayContent());\r\n break;\r\n case \"bottomTemplate\":\r\n this._renderBottom();\r\n this._renderGeometry();\r\n triggerResizeEvent(this.$overlayContent());\r\n break;\r\n case \"container\":\r\n this.callBase(args);\r\n if (this.option(\"resizeEnabled\")) {\r\n var _this$_resizable;\r\n null === (_this$_resizable = this._resizable) || void 0 === _this$_resizable ? void 0 : _this$_resizable.option(\"area\", this._positionController.$dragResizeContainer)\r\n }\r\n break;\r\n case \"width\":\r\n case \"height\":\r\n this.callBase(args);\r\n null === (_this$_resizable2 = this._resizable) || void 0 === _this$_resizable2 ? void 0 : _this$_resizable2.option(args.name, args.value);\r\n break;\r\n case \"onTitleRendered\":\r\n this._createTitleRenderAction(args.value);\r\n break;\r\n case \"toolbarItems\":\r\n case \"useDefaultToolbarButtons\":\r\n case \"useFlatToolbarButtons\":\r\n var shouldRenderGeometry = !args.fullName.match(/^toolbarItems((\\[\\d+\\])(\\.(options|visible).*)?)?$/);\r\n this._renderTitle();\r\n this._renderBottom();\r\n if (shouldRenderGeometry) {\r\n this._renderGeometry();\r\n triggerResizeEvent(this.$overlayContent())\r\n }\r\n break;\r\n case \"dragEnabled\":\r\n this._renderDrag();\r\n break;\r\n case \"dragAndResizeArea\":\r\n this._positionController.dragAndResizeArea = value;\r\n if (this.option(\"resizeEnabled\")) {\r\n this._resizable.option(\"area\", this._positionController.$dragResizeContainer)\r\n }\r\n this._positionController.positionContent();\r\n break;\r\n case \"dragOutsideBoundary\":\r\n this._positionController.dragOutsideBoundary = value;\r\n if (this.option(\"resizeEnabled\")) {\r\n this._resizable.option(\"area\", this._positionController.$dragResizeContainer)\r\n }\r\n break;\r\n case \"outsideDragFactor\":\r\n this._positionController.outsideDragFactor = value;\r\n break;\r\n case \"resizeEnabled\":\r\n this._renderResize();\r\n this._renderGeometry();\r\n break;\r\n case \"autoResizeEnabled\":\r\n this._renderGeometry();\r\n triggerResizeEvent(this.$overlayContent());\r\n break;\r\n case \"fullScreen\":\r\n this._positionController.fullScreen = args.value;\r\n this._toggleFullScreenClass(args.value);\r\n this._toggleSafariScrolling();\r\n this._renderGeometry();\r\n triggerResizeEvent(this.$overlayContent());\r\n break;\r\n case \"showCloseButton\":\r\n this._renderTitle();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n bottomToolbar: function() {\r\n return this._$bottom\r\n },\r\n topToolbar: function() {\r\n return this._$title\r\n },\r\n $content: function() {\r\n return this._$popupContent\r\n },\r\n content: function() {\r\n return getPublicElement(this.$content())\r\n },\r\n $overlayContent: function() {\r\n return this._$content\r\n }\r\n});\r\nregisterComponent(\"dxPopup\", Popup);\r\nexport default Popup;\r\n","/**\r\n * DevExtreme (esm/ui/progress_bar.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport TrackBar from \"./track_bar\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nvar PROGRESSBAR_CLASS = \"dx-progressbar\";\r\nvar PROGRESSBAR_CONTAINER_CLASS = \"dx-progressbar-container\";\r\nvar PROGRESSBAR_RANGE_CONTAINER_CLASS = \"dx-progressbar-range-container\";\r\nvar PROGRESSBAR_RANGE_CLASS = \"dx-progressbar-range\";\r\nvar PROGRESSBAR_WRAPPER_CLASS = \"dx-progressbar-wrapper\";\r\nvar PROGRESSBAR_STATUS_CLASS = \"dx-progressbar-status\";\r\nvar PROGRESSBAR_INDETERMINATE_SEGMENT_CONTAINER = \"dx-progressbar-animating-container\";\r\nvar PROGRESSBAR_INDETERMINATE_SEGMENT = \"dx-progressbar-animating-segment\";\r\nvar ProgressBar = TrackBar.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n value: 0,\r\n statusFormat: function(ratio) {\r\n return \"Progress: \" + Math.round(100 * ratio) + \"%\"\r\n },\r\n showStatus: true,\r\n onComplete: null,\r\n activeStateEnabled: false,\r\n statusPosition: \"bottom left\",\r\n _animatingSegmentCount: 0\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function(_device) {\r\n return \"android\" === _device.platform\r\n },\r\n options: {\r\n _animatingSegmentCount: 2\r\n }\r\n }])\r\n },\r\n _initMarkup: function() {\r\n this._renderStatus();\r\n this._createCompleteAction();\r\n this.callBase();\r\n this.$element().addClass(PROGRESSBAR_CLASS);\r\n this._$wrapper.addClass(PROGRESSBAR_WRAPPER_CLASS);\r\n this._$bar.addClass(PROGRESSBAR_CONTAINER_CLASS);\r\n this.setAria(\"role\", \"progressbar\");\r\n $(\"<div>\").addClass(PROGRESSBAR_RANGE_CONTAINER_CLASS).appendTo(this._$wrapper).append(this._$bar);\r\n this._$range.addClass(PROGRESSBAR_RANGE_CLASS);\r\n this._toggleStatus(this.option(\"showStatus\"))\r\n },\r\n _useTemplates: function() {\r\n return false\r\n },\r\n _createCompleteAction: function() {\r\n this._completeAction = this._createActionByOption(\"onComplete\")\r\n },\r\n _renderStatus: function() {\r\n this._$status = $(\"<div>\").addClass(PROGRESSBAR_STATUS_CLASS)\r\n },\r\n _renderIndeterminateState: function() {\r\n this._$segmentContainer = $(\"<div>\").addClass(PROGRESSBAR_INDETERMINATE_SEGMENT_CONTAINER);\r\n var segments = this.option(\"_animatingSegmentCount\");\r\n for (var i = 0; i < segments; i++) {\r\n $(\"<div>\").addClass(PROGRESSBAR_INDETERMINATE_SEGMENT).addClass(PROGRESSBAR_INDETERMINATE_SEGMENT + \"-\" + (i + 1)).appendTo(this._$segmentContainer)\r\n }\r\n this._$segmentContainer.appendTo(this._$wrapper)\r\n },\r\n _toggleStatus: function(value) {\r\n var splitPosition = this.option(\"statusPosition\").split(\" \");\r\n if (value) {\r\n if (\"top\" === splitPosition[0] || \"left\" === splitPosition[0]) {\r\n this._$status.prependTo(this._$wrapper)\r\n } else {\r\n this._$status.appendTo(this._$wrapper)\r\n }\r\n } else {\r\n this._$status.detach()\r\n }\r\n this._togglePositionClass()\r\n },\r\n _togglePositionClass: function() {\r\n var position = this.option(\"statusPosition\");\r\n var splitPosition = position.split(\" \");\r\n this._$wrapper.removeClass(\"dx-position-top-left dx-position-top-right dx-position-bottom-left dx-position-bottom-right dx-position-left dx-position-right\");\r\n var positionClass = \"dx-position-\" + splitPosition[0];\r\n if (splitPosition[1]) {\r\n positionClass += \"-\" + splitPosition[1]\r\n }\r\n this._$wrapper.addClass(positionClass)\r\n },\r\n _toggleIndeterminateState: function(value) {\r\n if (value) {\r\n this._renderIndeterminateState();\r\n this._$bar.toggle(false)\r\n } else {\r\n this._$bar.toggle(true);\r\n this._$segmentContainer.remove();\r\n delete this._$segmentContainer\r\n }\r\n },\r\n _renderValue: function() {\r\n var val = this.option(\"value\");\r\n var max = this.option(\"max\");\r\n if (!val && 0 !== val) {\r\n this._toggleIndeterminateState(true);\r\n return\r\n }\r\n if (this._$segmentContainer) {\r\n this._toggleIndeterminateState(false)\r\n }\r\n if (val === max) {\r\n this._completeAction()\r\n }\r\n this.callBase();\r\n this._setStatus()\r\n },\r\n _setStatus: function() {\r\n var format = this.option(\"statusFormat\");\r\n if (isFunction(format)) {\r\n format = format.bind(this)\r\n } else {\r\n format = function(value) {\r\n return value\r\n }\r\n }\r\n var statusText = format(this._currentRatio, this.option(\"value\"));\r\n this._$status.text(statusText)\r\n },\r\n _dispose: function() {\r\n this._$status.remove();\r\n this.callBase()\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"statusFormat\":\r\n this._setStatus();\r\n break;\r\n case \"showStatus\":\r\n this._toggleStatus(args.value);\r\n break;\r\n case \"statusPosition\":\r\n this._toggleStatus(this.option(\"showStatus\"));\r\n break;\r\n case \"onComplete\":\r\n this._createCompleteAction();\r\n break;\r\n case \"_animatingSegmentCount\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxProgressBar\", ProgressBar);\r\nexport default ProgressBar;\r\n","/**\r\n * DevExtreme (esm/ui/radio_group/radio_group.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n deferRender\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport CollectionWidget from \"../collection/ui.collection_widget.edit\";\r\nimport DataExpressionMixin from \"../editor/ui.data_expression\";\r\nimport Editor from \"../editor/editor\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar RADIO_BUTTON_CHECKED_CLASS = \"dx-radiobutton-checked\";\r\nvar RADIO_BUTTON_CLASS = \"dx-radiobutton\";\r\nvar RADIO_BUTTON_ICON_CHECKED_CLASS = \"dx-radiobutton-icon-checked\";\r\nvar RADIO_BUTTON_ICON_CLASS = \"dx-radiobutton-icon\";\r\nvar RADIO_BUTTON_ICON_DOT_CLASS = \"dx-radiobutton-icon-dot\";\r\nvar RADIO_GROUP_HORIZONTAL_CLASS = \"dx-radiogroup-horizontal\";\r\nvar RADIO_GROUP_VERTICAL_CLASS = \"dx-radiogroup-vertical\";\r\nvar RADIO_VALUE_CONTAINER_CLASS = \"dx-radio-value-container\";\r\nvar RADIO_GROUP_CLASS = \"dx-radiogroup\";\r\nvar RADIO_FEEDBACK_HIDE_TIMEOUT = 100;\r\nclass RadioCollection extends CollectionWidget {\r\n _focusTarget() {\r\n return this.$element().parent()\r\n }\r\n _nullValueSelectionSupported() {\r\n return true\r\n }\r\n _getDefaultOptions() {\r\n var defaultOptions = super._getDefaultOptions();\r\n return extend(defaultOptions, DataExpressionMixin._dataExpressionDefaultOptions(), {\r\n _itemAttributes: {\r\n role: \"radio\"\r\n }\r\n })\r\n }\r\n _initMarkup() {\r\n super._initMarkup();\r\n deferRender(() => {\r\n this.itemElements().addClass(RADIO_BUTTON_CLASS)\r\n })\r\n }\r\n _keyboardEventBindingTarget() {\r\n return this._focusTarget()\r\n }\r\n _postprocessRenderItem(args) {\r\n var {\r\n itemData: {\r\n html: html\r\n },\r\n itemElement: itemElement\r\n } = args;\r\n if (!html) {\r\n var $radio = $(\"<div>\").addClass(RADIO_BUTTON_ICON_CLASS);\r\n $(\"<div>\").addClass(RADIO_BUTTON_ICON_DOT_CLASS).appendTo($radio);\r\n var $radioContainer = $(\"<div>\").append($radio).addClass(RADIO_VALUE_CONTAINER_CLASS);\r\n $(itemElement).prepend($radioContainer)\r\n }\r\n super._postprocessRenderItem(args)\r\n }\r\n _processSelectableItem($itemElement, isSelected) {\r\n super._processSelectableItem($itemElement, isSelected);\r\n $itemElement.toggleClass(RADIO_BUTTON_CHECKED_CLASS, isSelected).find(\".\".concat(RADIO_BUTTON_ICON_CLASS)).first().toggleClass(RADIO_BUTTON_ICON_CHECKED_CLASS, isSelected);\r\n this.setAria(\"checked\", isSelected, $itemElement)\r\n }\r\n _refreshContent() {\r\n this._prepareContent();\r\n this._renderContent()\r\n }\r\n _supportedKeys() {\r\n var parent = super._supportedKeys();\r\n return extend({}, parent, {\r\n enter: function(e) {\r\n e.preventDefault();\r\n return parent.enter.apply(this, arguments)\r\n },\r\n space: function(e) {\r\n e.preventDefault();\r\n return parent.space.apply(this, arguments)\r\n }\r\n })\r\n }\r\n _itemElements() {\r\n return this._itemContainer().children(this._itemSelector())\r\n }\r\n _setAriaSelected() {}\r\n}\r\nclass RadioGroup extends Editor {\r\n _dataSourceOptions() {\r\n return {\r\n paginate: false\r\n }\r\n }\r\n _defaultOptionsRules() {\r\n var defaultOptionsRules = super._defaultOptionsRules();\r\n return defaultOptionsRules.concat([{\r\n device: {\r\n tablet: true\r\n },\r\n options: {\r\n layout: \"horizontal\"\r\n }\r\n }, {\r\n device: () => \"desktop\" === devices.real().deviceType && !devices.isSimulator(),\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }])\r\n }\r\n _fireContentReadyAction(force) {\r\n force && super._fireContentReadyAction()\r\n }\r\n _focusTarget() {\r\n return this.$element()\r\n }\r\n _getAriaTarget() {\r\n return this.$element()\r\n }\r\n _getDefaultOptions() {\r\n var defaultOptions = super._getDefaultOptions();\r\n return extend(defaultOptions, extend(DataExpressionMixin._dataExpressionDefaultOptions(), {\r\n hoverStateEnabled: true,\r\n activeStateEnabled: true,\r\n layout: \"vertical\"\r\n }))\r\n }\r\n _getItemValue(item) {\r\n return this._valueGetter ? this._valueGetter(item) : item.text\r\n }\r\n _getSubmitElement() {\r\n return this._$submitElement\r\n }\r\n _init() {\r\n super._init();\r\n this._activeStateUnit = \".\".concat(RADIO_BUTTON_CLASS);\r\n this._feedbackHideTimeout = RADIO_FEEDBACK_HIDE_TIMEOUT;\r\n this._initDataExpressions()\r\n }\r\n _initMarkup() {\r\n this.$element().addClass(RADIO_GROUP_CLASS);\r\n this._renderSubmitElement();\r\n this.setAria(\"role\", \"radiogroup\");\r\n this._renderRadios();\r\n this._renderLayout();\r\n super._initMarkup()\r\n }\r\n _itemClickHandler(_ref) {\r\n var {\r\n itemElement: itemElement,\r\n event: event,\r\n itemData: itemData\r\n } = _ref;\r\n if (this.itemElements().is(itemElement)) {\r\n var newValue = this._getItemValue(itemData);\r\n if (newValue !== this.option(\"value\")) {\r\n this._saveValueChangeEvent(event);\r\n this.option(\"value\", newValue)\r\n }\r\n }\r\n }\r\n _getSelectedItemKeys() {\r\n var value = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.option(\"value\");\r\n var isNullSelectable = \"this\" !== this.option(\"valueExpr\");\r\n var shouldSelectValue = isNullSelectable && null === value || isDefined(value);\r\n return shouldSelectValue ? [value] : []\r\n }\r\n _setSelection(currentValue) {\r\n var value = this._unwrappedValue(currentValue);\r\n this._setCollectionWidgetOption(\"selectedItemKeys\", this._getSelectedItemKeys(value))\r\n }\r\n _optionChanged(args) {\r\n var {\r\n name: name,\r\n value: value\r\n } = args;\r\n this._dataExpressionOptionChanged(args);\r\n switch (name) {\r\n case \"dataSource\":\r\n this._invalidate();\r\n break;\r\n case \"focusStateEnabled\":\r\n case \"accessKey\":\r\n case \"tabIndex\":\r\n this._setCollectionWidgetOption(name, value);\r\n break;\r\n case \"disabled\":\r\n super._optionChanged(args);\r\n this._setCollectionWidgetOption(name, value);\r\n break;\r\n case \"valueExpr\":\r\n this._setCollectionWidgetOption(\"keyExpr\", this._getCollectionKeyExpr());\r\n break;\r\n case \"value\":\r\n this._setSelection(value);\r\n this._setSubmitValue(value);\r\n super._optionChanged(args);\r\n break;\r\n case \"items\":\r\n this._setSelection(this.option(\"value\"));\r\n break;\r\n case \"itemTemplate\":\r\n case \"displayExpr\":\r\n break;\r\n case \"layout\":\r\n this._renderLayout();\r\n this._updateItemsSize();\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _render() {\r\n super._render();\r\n this._updateItemsSize()\r\n }\r\n _renderLayout() {\r\n var layout = this.option(\"layout\");\r\n var $element = this.$element();\r\n $element.toggleClass(RADIO_GROUP_VERTICAL_CLASS, \"vertical\" === layout);\r\n $element.toggleClass(RADIO_GROUP_HORIZONTAL_CLASS, \"horizontal\" === layout)\r\n }\r\n _renderRadios() {\r\n this._areRadiosCreated = new Deferred;\r\n var $radios = $(\"<div>\").appendTo(this.$element());\r\n var {\r\n displayExpr: displayExpr,\r\n accessKey: accessKey,\r\n focusStateEnabled: focusStateEnabled,\r\n itemTemplate: itemTemplate,\r\n tabIndex: tabIndex\r\n } = this.option();\r\n this._createComponent($radios, RadioCollection, {\r\n onInitialized: _ref2 => {\r\n var {\r\n component: component\r\n } = _ref2;\r\n this._radios = component\r\n },\r\n onContentReady: e => {\r\n this._fireContentReadyAction(true)\r\n },\r\n onItemClick: this._itemClickHandler.bind(this),\r\n displayExpr: displayExpr,\r\n accessKey: accessKey,\r\n dataSource: this._dataSource,\r\n focusStateEnabled: focusStateEnabled,\r\n itemTemplate: itemTemplate,\r\n keyExpr: this._getCollectionKeyExpr(),\r\n noDataText: \"\",\r\n scrollingEnabled: false,\r\n selectionByClick: false,\r\n selectionMode: \"single\",\r\n selectedItemKeys: this._getSelectedItemKeys(),\r\n tabIndex: tabIndex\r\n });\r\n this._areRadiosCreated.resolve()\r\n }\r\n _renderSubmitElement() {\r\n this._$submitElement = $(\"<input>\").attr(\"type\", \"hidden\").appendTo(this.$element());\r\n this._setSubmitValue()\r\n }\r\n _setOptionsByReference() {\r\n super._setOptionsByReference();\r\n extend(this._optionsByReference, {\r\n value: true\r\n })\r\n }\r\n _setSubmitValue(value) {\r\n var _value;\r\n value = null !== (_value = value) && void 0 !== _value ? _value : this.option(\"value\");\r\n var submitValue = \"this\" === this.option(\"valueExpr\") ? this._displayGetter(value) : value;\r\n this._$submitElement.val(submitValue)\r\n }\r\n _setCollectionWidgetOption() {\r\n this._areRadiosCreated.done(this._setWidgetOption.bind(this, \"_radios\", arguments))\r\n }\r\n _updateItemsSize() {\r\n if (\"horizontal\" === this.option(\"layout\")) {\r\n this.itemElements().css(\"height\", \"auto\")\r\n } else {\r\n var itemsCount = this.option(\"items\").length;\r\n this.itemElements().css(\"height\", 100 / itemsCount + \"%\")\r\n }\r\n }\r\n focus() {\r\n var _this$_radios;\r\n null === (_this$_radios = this._radios) || void 0 === _this$_radios ? void 0 : _this$_radios.focus()\r\n }\r\n itemElements() {\r\n var _this$_radios2;\r\n return null === (_this$_radios2 = this._radios) || void 0 === _this$_radios2 ? void 0 : _this$_radios2.itemElements()\r\n }\r\n}\r\nRadioGroup.include(DataExpressionMixin);\r\nregisterComponent(\"dxRadioGroup\", RadioGroup);\r\nexport default RadioGroup;\r\n","/**\r\n * DevExtreme (esm/ui/radio_group.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport RadioGroup from \"./radio_group/radio_group\";\r\nexport default RadioGroup;\r\n","/**\r\n * DevExtreme (esm/ui/range_slider.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport Slider from \"./slider\";\r\nimport SliderHandle from \"./slider/ui.slider_handle\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n applyServerDecimalSeparator\r\n} from \"../core/utils/common\";\r\nimport {\r\n eventData\r\n} from \"../events/utils/index\";\r\nimport messageLocalization from \"../localization/message\";\r\nvar RANGE_SLIDER_CLASS = \"dx-rangeslider\";\r\nvar RANGE_SLIDER_START_HANDLE_CLASS = RANGE_SLIDER_CLASS + \"-start-handle\";\r\nvar RANGE_SLIDER_END_HANDLE_CLASS = RANGE_SLIDER_CLASS + \"-end-handle\";\r\nvar RangeSlider = Slider.inherit({\r\n _supportedKeys: function() {\r\n var isRTL = this.option(\"rtlEnabled\");\r\n var that = this;\r\n var _changeHandle = function(e, capturedHandle) {\r\n if (that.option(\"start\") === that.option(\"end\")) {\r\n that._capturedHandle = capturedHandle;\r\n e.target = that._capturedHandle;\r\n eventsEngine.trigger(that._capturedHandle, \"focus\")\r\n }\r\n };\r\n var _setHandleValue = function(e, step, sign) {\r\n var isStart = $(e.target).hasClass(RANGE_SLIDER_START_HANDLE_CLASS);\r\n var valueOption = isStart ? \"start\" : \"end\";\r\n var val = that.option(valueOption);\r\n step = that._valueStep(step);\r\n val += sign * (isRTL ? -step : step);\r\n that.option(valueOption, val)\r\n };\r\n var moveHandleRight = function(e, step) {\r\n _changeHandle(e, isRTL ? that._$handleStart : that._$handleEnd);\r\n _setHandleValue(e, step, 1)\r\n };\r\n var moveHandleLeft = function(e, step) {\r\n _changeHandle(e, isRTL ? that._$handleEnd : that._$handleStart);\r\n _setHandleValue(e, step, -1)\r\n };\r\n return extend(this.callBase(), {\r\n leftArrow: function(e) {\r\n this._processKeyboardEvent(e);\r\n moveHandleLeft(e, this.option(\"step\"))\r\n },\r\n rightArrow: function(e) {\r\n this._processKeyboardEvent(e);\r\n moveHandleRight(e, this.option(\"step\"))\r\n },\r\n pageUp: function(e) {\r\n this._processKeyboardEvent(e);\r\n moveHandleRight(e, this.option(\"step\") * this.option(\"keyStep\"))\r\n },\r\n pageDown: function(e) {\r\n this._processKeyboardEvent(e);\r\n moveHandleLeft(e, this.option(\"step\") * this.option(\"keyStep\"))\r\n },\r\n home: function(e) {\r\n this._processKeyboardEvent(e);\r\n var isStart = $(e.target).hasClass(RANGE_SLIDER_START_HANDLE_CLASS);\r\n var valueOption = isStart ? \"start\" : \"end\";\r\n var startOption = isStart ? \"min\" : \"start\";\r\n var val = this.option(startOption);\r\n this.option(valueOption, val)\r\n },\r\n end: function(e) {\r\n this._processKeyboardEvent(e);\r\n var isStart = $(e.target).hasClass(RANGE_SLIDER_START_HANDLE_CLASS);\r\n var valueOption = isStart ? \"start\" : \"end\";\r\n var endOption = isStart ? \"end\" : \"max\";\r\n var val = this.option(endOption);\r\n this.option(valueOption, val)\r\n }\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n start: 40,\r\n end: 60,\r\n value: [40, 60],\r\n startName: \"\",\r\n endName: \"\"\r\n })\r\n },\r\n _renderSubmitElement: function() {\r\n var $element = this.$element();\r\n this._$submitStartElement = $(\"<input>\").attr(\"type\", \"hidden\").attr(\"name\", this.option(\"startName\")).appendTo($element);\r\n this._$submitEndElement = $(\"<input>\").attr(\"type\", \"hidden\").attr(\"name\", this.option(\"endName\")).appendTo($element)\r\n },\r\n _initOptions: function(options) {\r\n this.callBase(options);\r\n var initialValue = this.initialOption(\"value\");\r\n var value = this.option(\"value\");\r\n if (value[0] === initialValue[0] && value[1] === initialValue[1]) {\r\n this.option(\"value\", [this.option(\"start\"), this.option(\"end\")])\r\n } else {\r\n this.option({\r\n start: value[0],\r\n end: value[1]\r\n })\r\n }\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(RANGE_SLIDER_CLASS);\r\n this.callBase()\r\n },\r\n _renderContentImpl: function() {\r\n this._callHandlerMethod(\"repaint\");\r\n this.callBase()\r\n },\r\n _renderHandle: function() {\r\n this._$handleStart = this._renderHandleImpl(this.option(\"start\"), this._$handleStart).addClass(RANGE_SLIDER_START_HANDLE_CLASS);\r\n this._$handleEnd = this._renderHandleImpl(this.option(\"end\"), this._$handleEnd).addClass(RANGE_SLIDER_END_HANDLE_CLASS);\r\n this._updateHandleAriaLabels()\r\n },\r\n _startHandler: function(args) {\r\n var e = args.event;\r\n var $range = this._$range;\r\n var rangeWidth = getWidth($range);\r\n var eventOffsetX = eventData(e).x - this._$bar.offset().left;\r\n var startHandleX = $range.position().left;\r\n var endHandleX = $range.position().left + rangeWidth;\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var startHandleIsClosest = (rtlEnabled ? -1 : 1) * ((startHandleX + endHandleX) / 2 - eventOffsetX) > 0;\r\n this._capturedHandle = startHandleIsClosest ? this._$handleStart : this._$handleEnd;\r\n this.callBase(args)\r\n },\r\n _updateHandleAriaLabels: function() {\r\n this.setAria(\"label\", messageLocalization.getFormatter(\"dxRangeSlider-ariaFrom\")(this.option(\"dxRangeSlider-ariaFrom\")), this._$handleStart);\r\n this.setAria(\"label\", messageLocalization.getFormatter(\"dxRangeSlider-ariaTill\")(this.option(\"dxRangeSlider-ariaTill\")), this._$handleEnd)\r\n },\r\n _activeHandle: function() {\r\n return this._capturedHandle\r\n },\r\n _updateHandlePosition: function(e) {\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var offsetDirection = rtlEnabled ? -1 : 1;\r\n var max = this.option(\"max\");\r\n var min = this.option(\"min\");\r\n var newRatio = this._startOffset + offsetDirection * e.event.offset / this._swipePixelRatio();\r\n newRatio = newRatio.toPrecision(12);\r\n var newValue = newRatio * (max - min) + min;\r\n this._updateSelectedRangePosition(newRatio, newRatio);\r\n SliderHandle.getInstance(this._activeHandle()).fitTooltipPosition;\r\n this._changeValueOnSwipe(newRatio);\r\n var [startValue, endValue] = this._getActualValue();\r\n var $nextHandle;\r\n if (startValue === endValue) {\r\n if (newValue < startValue) {\r\n $nextHandle = this._$handleStart\r\n } else {\r\n $nextHandle = this._$handleEnd\r\n }\r\n eventsEngine.trigger($nextHandle, \"focus\");\r\n if ($nextHandle && $nextHandle !== this._capturedHandle) {\r\n this._updateSelectedRangePosition((startValue - min) / (max - min), (endValue - min) / (max - min));\r\n this._toggleActiveState(this._activeHandle(), false);\r\n this._toggleActiveState($nextHandle, true);\r\n this._capturedHandle = $nextHandle\r\n }\r\n this._updateSelectedRangePosition(newRatio, newRatio);\r\n this._changeValueOnSwipe(newRatio)\r\n }\r\n },\r\n _updateSelectedRangePosition: function(leftRatio, rightRatio) {\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var moveRight = this._capturedHandle === this._$handleStart && rtlEnabled || this._capturedHandle === this._$handleEnd && !rtlEnabled;\r\n var prop = moveRight ? \"right\" : \"left\";\r\n if (rtlEnabled ^ moveRight) {\r\n this._$range.css(prop, 100 - 100 * rightRatio + \"%\")\r\n } else {\r\n this._$range.css(prop, 100 * leftRatio + \"%\")\r\n }\r\n },\r\n _setValueOnSwipe: function(value) {\r\n var option = this._capturedHandle === this._$handleStart ? \"start\" : \"end\";\r\n var [start, end] = this._getActualValue();\r\n var max = this.option(\"max\");\r\n var min = this.option(\"min\");\r\n start = Math.min(Math.max(start, min), max);\r\n end = Math.min(Math.max(end, min), max);\r\n if (\"start\" === option) {\r\n start = value > end ? end : value\r\n } else {\r\n end = value < start ? start : value\r\n }\r\n if (\"onHandleMove\" === this.option(\"valueChangeMode\")) {\r\n this.option(\"value\", [start, end])\r\n } else {\r\n this._actualValue = [start, end];\r\n this._renderValue()\r\n }\r\n },\r\n _renderValue: function() {\r\n var [valStart, valEnd] = this._getActualValue();\r\n var min = this.option(\"min\");\r\n var max = this.option(\"max\");\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n valStart = Math.max(min, Math.min(valStart, max));\r\n valEnd = Math.max(valStart, Math.min(valEnd, max));\r\n if (\"onHandleMove\" === this.option(\"valueChangeMode\")) {\r\n this._setOptionWithoutOptionChange(\"start\", valStart);\r\n this._setOptionWithoutOptionChange(\"end\", valEnd);\r\n this._setOptionWithoutOptionChange(\"value\", [valStart, valEnd])\r\n }\r\n this._$submitStartElement.val(applyServerDecimalSeparator(valStart));\r\n this._$submitEndElement.val(applyServerDecimalSeparator(valEnd));\r\n var ratio1 = max === min ? 0 : (valStart - min) / (max - min);\r\n var ratio2 = max === min ? 0 : (valEnd - min) / (max - min);\r\n var startOffset = parseFloat((100 * ratio1).toPrecision(12)) + \"%\";\r\n var endOffset = parseFloat((100 * (1 - ratio2)).toPrecision(12)) + \"%\";\r\n !this._needPreventAnimation && this._setRangeStyles({\r\n right: rtlEnabled ? startOffset : endOffset,\r\n left: rtlEnabled ? endOffset : startOffset\r\n });\r\n SliderHandle.getInstance(this._$handleStart).option(\"value\", valStart);\r\n SliderHandle.getInstance(this._$handleEnd).option(\"value\", valEnd)\r\n },\r\n _callHandlerMethod: function(name, args) {\r\n SliderHandle.getInstance(this._$handleStart)[name](args);\r\n SliderHandle.getInstance(this._$handleEnd)[name](args)\r\n },\r\n _setValueOption: function() {\r\n var start = this.option(\"start\");\r\n var end = this.option(\"end\");\r\n this.option(\"value\", [start, end])\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"value\":\r\n if (args.value[0] === args.previousValue[0] && args.value[1] === args.previousValue[1]) {\r\n break\r\n }\r\n this._setOptionWithoutOptionChange(\"start\", args.value[0]);\r\n this._setOptionWithoutOptionChange(\"end\", args.value[1]);\r\n this._renderValue();\r\n var start = this.option(\"start\");\r\n var end = this.option(\"end\");\r\n this._createActionByOption(\"onValueChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })({\r\n start: start,\r\n end: end,\r\n value: [start, end],\r\n event: this._valueChangeEventInstance,\r\n previousValue: args.previousValue\r\n });\r\n this.validationRequest.fire({\r\n value: [start, end],\r\n editor: this\r\n });\r\n this._saveValueChangeEvent(void 0);\r\n break;\r\n case \"start\":\r\n case \"end\":\r\n this._setValueOption();\r\n break;\r\n case \"startName\":\r\n this._$submitStartElement.attr(\"name\", args.value);\r\n break;\r\n case \"endName\":\r\n this._$submitEndElement.attr(\"name\", args.value);\r\n break;\r\n case \"name\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxRangeSlider\", RangeSlider);\r\nexport default RangeSlider;\r\n","/**\r\n * DevExtreme (esm/ui/recurrence_editor.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport RecurrenceEditor from \"../__internal/scheduler/m_recurrence_editor\";\r\nexport default RecurrenceEditor;\r\n","/**\r\n * DevExtreme (esm/ui/resizable.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n getOuterWidth,\r\n getOuterHeight,\r\n getInnerWidth,\r\n getInnerHeight,\r\n getWidth,\r\n getHeight\r\n} from \"../core/utils/size\";\r\nimport {\r\n locate,\r\n move\r\n} from \"../animation/translator\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport DOMComponent from \"../core/dom_component\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n pairToObject\r\n} from \"../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n fitIntoRange,\r\n inRange\r\n} from \"../core/utils/math\";\r\nimport {\r\n isPlainObject,\r\n isFunction,\r\n isWindow\r\n} from \"../core/utils/type\";\r\nimport {\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n start as dragEventStart,\r\n move as dragEventMove,\r\n end as dragEventEnd\r\n} from \"../events/drag\";\r\nimport {\r\n addNamespace\r\n} from \"../events/utils/index\";\r\nimport {\r\n triggerResizeEvent\r\n} from \"../events/visibility_change\";\r\nvar RESIZABLE = \"dxResizable\";\r\nvar RESIZABLE_CLASS = \"dx-resizable\";\r\nvar RESIZABLE_RESIZING_CLASS = \"dx-resizable-resizing\";\r\nvar RESIZABLE_HANDLE_CLASS = \"dx-resizable-handle\";\r\nvar RESIZABLE_HANDLE_TOP_CLASS = \"dx-resizable-handle-top\";\r\nvar RESIZABLE_HANDLE_BOTTOM_CLASS = \"dx-resizable-handle-bottom\";\r\nvar RESIZABLE_HANDLE_LEFT_CLASS = \"dx-resizable-handle-left\";\r\nvar RESIZABLE_HANDLE_RIGHT_CLASS = \"dx-resizable-handle-right\";\r\nvar RESIZABLE_HANDLE_CORNER_CLASS = \"dx-resizable-handle-corner\";\r\nvar DRAGSTART_START_EVENT_NAME = addNamespace(dragEventStart, RESIZABLE);\r\nvar DRAGSTART_EVENT_NAME = addNamespace(dragEventMove, RESIZABLE);\r\nvar DRAGSTART_END_EVENT_NAME = addNamespace(dragEventEnd, RESIZABLE);\r\nvar SIDE_BORDER_WIDTH_STYLES = {\r\n left: \"borderLeftWidth\",\r\n top: \"borderTopWidth\",\r\n right: \"borderRightWidth\",\r\n bottom: \"borderBottomWidth\"\r\n};\r\nvar Resizable = DOMComponent.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n handles: \"all\",\r\n step: \"1\",\r\n stepPrecision: \"simple\",\r\n area: void 0,\r\n minWidth: 30,\r\n maxWidth: 1 / 0,\r\n minHeight: 30,\r\n maxHeight: 1 / 0,\r\n onResizeStart: null,\r\n onResize: null,\r\n onResizeEnd: null,\r\n roundStepValue: true,\r\n keepAspectRatio: true\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.$element().addClass(RESIZABLE_CLASS)\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._renderHandles()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderActions()\r\n },\r\n _renderActions: function() {\r\n this._resizeStartAction = this._createActionByOption(\"onResizeStart\");\r\n this._resizeEndAction = this._createActionByOption(\"onResizeEnd\");\r\n this._resizeAction = this._createActionByOption(\"onResize\")\r\n },\r\n _renderHandles: function() {\r\n this._handles = [];\r\n var handles = this.option(\"handles\");\r\n if (\"none\" === handles || !handles) {\r\n return\r\n }\r\n var directions = \"all\" === handles ? [\"top\", \"bottom\", \"left\", \"right\"] : handles.split(\" \");\r\n var activeHandlesMap = {};\r\n each(directions, (index, handleName) => {\r\n activeHandlesMap[handleName] = true;\r\n this._renderHandle(handleName)\r\n });\r\n activeHandlesMap.bottom && activeHandlesMap.right && this._renderHandle(\"corner-bottom-right\");\r\n activeHandlesMap.bottom && activeHandlesMap.left && this._renderHandle(\"corner-bottom-left\");\r\n activeHandlesMap.top && activeHandlesMap.right && this._renderHandle(\"corner-top-right\");\r\n activeHandlesMap.top && activeHandlesMap.left && this._renderHandle(\"corner-top-left\");\r\n this._attachEventHandlers()\r\n },\r\n _renderHandle: function(handleName) {\r\n var $handle = $(\"<div>\").addClass(RESIZABLE_HANDLE_CLASS).addClass(RESIZABLE_HANDLE_CLASS + \"-\" + handleName).appendTo(this.$element());\r\n this._handles.push($handle)\r\n },\r\n _attachEventHandlers: function() {\r\n if (this.option(\"disabled\")) {\r\n return\r\n }\r\n var handlers = {};\r\n handlers[DRAGSTART_START_EVENT_NAME] = this._dragStartHandler.bind(this);\r\n handlers[DRAGSTART_EVENT_NAME] = this._dragHandler.bind(this);\r\n handlers[DRAGSTART_END_EVENT_NAME] = this._dragEndHandler.bind(this);\r\n this._handles.forEach(handleElement => {\r\n eventsEngine.on(handleElement, handlers, {\r\n direction: \"both\",\r\n immediate: true\r\n })\r\n })\r\n },\r\n _detachEventHandlers: function() {\r\n this._handles.forEach(handleElement => {\r\n eventsEngine.off(handleElement)\r\n })\r\n },\r\n _toggleEventHandlers: function(shouldAttachEvents) {\r\n shouldAttachEvents ? this._attachEventHandlers() : this._detachEventHandlers()\r\n },\r\n _getElementSize: function() {\r\n var $element = this.$element();\r\n return \"border-box\" === $element.css(\"boxSizing\") ? {\r\n width: getOuterWidth($element),\r\n height: getOuterHeight($element)\r\n } : {\r\n width: getWidth($element),\r\n height: getHeight($element)\r\n }\r\n },\r\n _dragStartHandler: function(e) {\r\n var $element = this.$element();\r\n if ($element.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n e.cancel = true;\r\n return\r\n }\r\n this._toggleResizingClass(true);\r\n this._movingSides = this._getMovingSides(e);\r\n this._elementLocation = locate($element);\r\n this._elementSize = this._getElementSize();\r\n this._renderDragOffsets(e);\r\n this._resizeStartAction({\r\n event: e,\r\n width: this._elementSize.width,\r\n height: this._elementSize.height,\r\n handles: this._movingSides\r\n });\r\n e.targetElements = null\r\n },\r\n _toggleResizingClass: function(value) {\r\n this.$element().toggleClass(RESIZABLE_RESIZING_CLASS, value)\r\n },\r\n _renderDragOffsets: function(e) {\r\n var area = this._getArea();\r\n if (!area) {\r\n return\r\n }\r\n var $handle = $(e.target).closest(\".\" + RESIZABLE_HANDLE_CLASS);\r\n var handleWidth = getOuterWidth($handle);\r\n var handleHeight = getOuterHeight($handle);\r\n var handleOffset = $handle.offset();\r\n var areaOffset = area.offset;\r\n var scrollOffset = this._getAreaScrollOffset();\r\n e.maxLeftOffset = this._leftMaxOffset = handleOffset.left - areaOffset.left - scrollOffset.scrollX;\r\n e.maxRightOffset = this._rightMaxOffset = areaOffset.left + area.width - handleOffset.left - handleWidth + scrollOffset.scrollX;\r\n e.maxTopOffset = this._topMaxOffset = handleOffset.top - areaOffset.top - scrollOffset.scrollY;\r\n e.maxBottomOffset = this._bottomMaxOffset = areaOffset.top + area.height - handleOffset.top - handleHeight + scrollOffset.scrollY\r\n },\r\n _getBorderWidth: function($element, direction) {\r\n if (isWindow($element.get(0))) {\r\n return 0\r\n }\r\n var borderWidth = $element.css(SIDE_BORDER_WIDTH_STYLES[direction]);\r\n return parseInt(borderWidth) || 0\r\n },\r\n _proportionate: function(direction, value) {\r\n var size = this._elementSize;\r\n var factor = \"x\" === direction ? size.width / size.height : size.height / size.width;\r\n return value * factor\r\n },\r\n _getProportionalDelta: function(_ref) {\r\n var {\r\n x: x,\r\n y: y\r\n } = _ref;\r\n var proportionalY = this._proportionate(\"y\", x);\r\n if (proportionalY >= y) {\r\n return {\r\n x: x,\r\n y: proportionalY\r\n }\r\n }\r\n var proportionalX = this._proportionate(\"x\", y);\r\n if (proportionalX >= x) {\r\n return {\r\n x: proportionalX,\r\n y: y\r\n }\r\n }\r\n return {\r\n x: 0,\r\n y: 0\r\n }\r\n },\r\n _getDirectionName: function(axis) {\r\n var sides = this._movingSides;\r\n if (\"x\" === axis) {\r\n return sides.left ? \"left\" : \"right\"\r\n } else {\r\n return sides.top ? \"top\" : \"bottom\"\r\n }\r\n },\r\n _fitIntoArea: function(axis, value) {\r\n var _this;\r\n var directionName = this._getDirectionName(axis);\r\n return Math.min(value, null !== (_this = this[\"_\".concat(directionName, \"MaxOffset\")]) && void 0 !== _this ? _this : 1 / 0)\r\n },\r\n _fitDeltaProportionally: function(delta) {\r\n var fittedDelta = _extends({}, delta);\r\n var size = this._elementSize;\r\n var {\r\n minWidth: minWidth,\r\n minHeight: minHeight,\r\n maxWidth: maxWidth,\r\n maxHeight: maxHeight\r\n } = this.option();\r\n var getWidth = () => size.width + fittedDelta.x;\r\n var getHeight = () => size.height + fittedDelta.y;\r\n var isInArea = axis => fittedDelta[axis] === this._fitIntoArea(axis, fittedDelta[axis]);\r\n var isFittedX = () => inRange(getWidth(), minWidth, maxWidth) && isInArea(\"x\");\r\n var isFittedY = () => inRange(getHeight(), minHeight, maxHeight) && isInArea(\"y\");\r\n if (!isFittedX()) {\r\n var x = this._fitIntoArea(\"x\", fitIntoRange(getWidth(), minWidth, maxWidth) - size.width);\r\n fittedDelta = {\r\n x: x,\r\n y: this._proportionate(\"y\", x)\r\n }\r\n }\r\n if (!isFittedY()) {\r\n var y = this._fitIntoArea(\"y\", fitIntoRange(getHeight(), minHeight, maxHeight) - size.height);\r\n fittedDelta = {\r\n x: this._proportionate(\"x\", y),\r\n y: y\r\n }\r\n }\r\n return isFittedX() && isFittedY() ? fittedDelta : {\r\n x: 0,\r\n y: 0\r\n }\r\n },\r\n _fitDelta: function(_ref2) {\r\n var {\r\n x: x,\r\n y: y\r\n } = _ref2;\r\n var size = this._elementSize;\r\n var {\r\n minWidth: minWidth,\r\n minHeight: minHeight,\r\n maxWidth: maxWidth,\r\n maxHeight: maxHeight\r\n } = this.option();\r\n return {\r\n x: fitIntoRange(size.width + x, minWidth, maxWidth) - size.width,\r\n y: fitIntoRange(size.height + y, minHeight, maxHeight) - size.height\r\n }\r\n },\r\n _getDeltaByOffset: function(offset) {\r\n var sides = this._movingSides;\r\n var shouldKeepAspectRatio = this._isCornerHandler(sides) && this.option(\"keepAspectRatio\");\r\n var delta = {\r\n x: offset.x * (sides.left ? -1 : 1),\r\n y: offset.y * (sides.top ? -1 : 1)\r\n };\r\n if (shouldKeepAspectRatio) {\r\n var proportionalDelta = this._getProportionalDelta(delta);\r\n var fittedProportionalDelta = this._fitDeltaProportionally(proportionalDelta);\r\n delta = fittedProportionalDelta\r\n } else {\r\n var fittedDelta = this._fitDelta(delta);\r\n var roundedFittedDelta = this._roundByStep(fittedDelta);\r\n delta = roundedFittedDelta\r\n }\r\n return delta\r\n },\r\n _updatePosition: function(delta, _ref3) {\r\n var {\r\n width: width,\r\n height: height\r\n } = _ref3;\r\n var location = this._elementLocation;\r\n var sides = this._movingSides;\r\n var $element = this.$element();\r\n var elementRect = this._getElementSize();\r\n var offsetTop = delta.y * (sides.top ? -1 : 1) - ((elementRect.height || height) - height);\r\n var offsetLeft = delta.x * (sides.left ? -1 : 1) - ((elementRect.width || width) - width);\r\n move($element, {\r\n top: location.top + (sides.top ? offsetTop : 0),\r\n left: location.left + (sides.left ? offsetLeft : 0)\r\n })\r\n },\r\n _dragHandler: function(e) {\r\n var offset = this._getOffset(e);\r\n var delta = this._getDeltaByOffset(offset);\r\n var dimensions = this._updateDimensions(delta);\r\n this._updatePosition(delta, dimensions);\r\n this._triggerResizeAction(e, dimensions)\r\n },\r\n _updateDimensions: function(delta) {\r\n var isAbsoluteSize = size => \"px\" === size.substring(size.length - 2);\r\n var isStepPrecisionStrict = \"strict\" === this.option(\"stepPrecision\");\r\n var size = this._elementSize;\r\n var width = size.width + delta.x;\r\n var height = size.height + delta.y;\r\n var elementStyle = this.$element().get(0).style;\r\n var shouldRenderWidth = delta.x || isStepPrecisionStrict || isAbsoluteSize(elementStyle.width);\r\n var shouldRenderHeight = delta.y || isStepPrecisionStrict || isAbsoluteSize(elementStyle.height);\r\n if (shouldRenderWidth) {\r\n this.option({\r\n width: width\r\n })\r\n }\r\n if (shouldRenderHeight) {\r\n this.option({\r\n height: height\r\n })\r\n }\r\n return {\r\n width: shouldRenderWidth ? width : size.width,\r\n height: shouldRenderHeight ? height : size.height\r\n }\r\n },\r\n _triggerResizeAction: function(e, _ref4) {\r\n var {\r\n width: width,\r\n height: height\r\n } = _ref4;\r\n this._resizeAction({\r\n event: e,\r\n width: this.option(\"width\") || width,\r\n height: this.option(\"height\") || height,\r\n handles: this._movingSides\r\n });\r\n triggerResizeEvent(this.$element())\r\n },\r\n _isCornerHandler: sides => 0 === Object.values(sides).reduce((xor, value) => xor ^ value, 0),\r\n _getOffset: function(e) {\r\n var offset = e.offset;\r\n var sides = this._movingSides;\r\n if (!sides.left && !sides.right) {\r\n offset.x = 0\r\n }\r\n if (!sides.top && !sides.bottom) {\r\n offset.y = 0\r\n }\r\n return offset\r\n },\r\n _roundByStep: function(delta) {\r\n return \"strict\" === this.option(\"stepPrecision\") ? this._roundStrict(delta) : this._roundNotStrict(delta)\r\n },\r\n _getSteps: function() {\r\n return pairToObject(this.option(\"step\"), !this.option(\"roundStepValue\"))\r\n },\r\n _roundNotStrict: function(delta) {\r\n var steps = this._getSteps();\r\n return {\r\n x: delta.x - delta.x % steps.h,\r\n y: delta.y - delta.y % steps.v\r\n }\r\n },\r\n _roundStrict: function(delta) {\r\n var sides = this._movingSides;\r\n var offset = {\r\n x: delta.x * (sides.left ? -1 : 1),\r\n y: delta.y * (sides.top ? -1 : 1)\r\n };\r\n var steps = this._getSteps();\r\n var location = this._elementLocation;\r\n var size = this._elementSize;\r\n var xPos = sides.left ? location.left : location.left + size.width;\r\n var yPos = sides.top ? location.top : location.top + size.height;\r\n var newXShift = (xPos + offset.x) % steps.h;\r\n var newYShift = (yPos + offset.y) % steps.v;\r\n var sign = Math.sign || (x => {\r\n x = +x;\r\n if (0 === x || isNaN(x)) {\r\n return x\r\n }\r\n return x > 0 ? 1 : -1\r\n });\r\n var separatorOffset = (steps, offset) => (1 + .2 * sign(offset)) % 1 * steps;\r\n var isSmallOffset = (offset, steps) => Math.abs(offset) < .2 * steps;\r\n var newOffsetX = offset.x - newXShift;\r\n var newOffsetY = offset.y - newYShift;\r\n if (newXShift > separatorOffset(steps.h, offset.x)) {\r\n newOffsetX += steps.h\r\n }\r\n if (newYShift > separatorOffset(steps.v, offset.y)) {\r\n newOffsetY += steps.v\r\n }\r\n var roundedOffset_x = (sides.left || sides.right) && !isSmallOffset(offset.x, steps.h) ? newOffsetX : 0,\r\n roundedOffset_y = (sides.top || sides.bottom) && !isSmallOffset(offset.y, steps.v) ? newOffsetY : 0;\r\n return {\r\n x: roundedOffset_x * (sides.left ? -1 : 1),\r\n y: roundedOffset_y * (sides.top ? -1 : 1)\r\n }\r\n },\r\n _getMovingSides: function(e) {\r\n var $target = $(e.target);\r\n var hasCornerTopLeftClass = $target.hasClass(RESIZABLE_HANDLE_CORNER_CLASS + \"-top-left\");\r\n var hasCornerTopRightClass = $target.hasClass(RESIZABLE_HANDLE_CORNER_CLASS + \"-top-right\");\r\n var hasCornerBottomLeftClass = $target.hasClass(RESIZABLE_HANDLE_CORNER_CLASS + \"-bottom-left\");\r\n var hasCornerBottomRightClass = $target.hasClass(RESIZABLE_HANDLE_CORNER_CLASS + \"-bottom-right\");\r\n return {\r\n top: $target.hasClass(RESIZABLE_HANDLE_TOP_CLASS) || hasCornerTopLeftClass || hasCornerTopRightClass,\r\n left: $target.hasClass(RESIZABLE_HANDLE_LEFT_CLASS) || hasCornerTopLeftClass || hasCornerBottomLeftClass,\r\n bottom: $target.hasClass(RESIZABLE_HANDLE_BOTTOM_CLASS) || hasCornerBottomLeftClass || hasCornerBottomRightClass,\r\n right: $target.hasClass(RESIZABLE_HANDLE_RIGHT_CLASS) || hasCornerTopRightClass || hasCornerBottomRightClass\r\n }\r\n },\r\n _getArea: function() {\r\n var area = this.option(\"area\");\r\n if (isFunction(area)) {\r\n area = area.call(this)\r\n }\r\n if (isPlainObject(area)) {\r\n return this._getAreaFromObject(area)\r\n }\r\n return this._getAreaFromElement(area)\r\n },\r\n _getAreaScrollOffset: function() {\r\n var area = this.option(\"area\");\r\n var isElement = !isFunction(area) && !isPlainObject(area);\r\n var scrollOffset = {\r\n scrollY: 0,\r\n scrollX: 0\r\n };\r\n if (isElement) {\r\n var areaElement = $(area)[0];\r\n if (isWindow(areaElement)) {\r\n scrollOffset.scrollX = areaElement.pageXOffset;\r\n scrollOffset.scrollY = areaElement.pageYOffset\r\n }\r\n }\r\n return scrollOffset\r\n },\r\n _getAreaFromObject: function(area) {\r\n var result = {\r\n width: area.right - area.left,\r\n height: area.bottom - area.top,\r\n offset: {\r\n left: area.left,\r\n top: area.top\r\n }\r\n };\r\n this._correctAreaGeometry(result);\r\n return result\r\n },\r\n _getAreaFromElement: function(area) {\r\n var $area = $(area);\r\n var result;\r\n if ($area.length) {\r\n result = {\r\n width: getInnerWidth($area),\r\n height: getInnerHeight($area),\r\n offset: extend({\r\n top: 0,\r\n left: 0\r\n }, isWindow($area[0]) ? {} : $area.offset())\r\n };\r\n this._correctAreaGeometry(result, $area)\r\n }\r\n return result\r\n },\r\n _correctAreaGeometry: function(result, $area) {\r\n var areaBorderLeft = $area ? this._getBorderWidth($area, \"left\") : 0;\r\n var areaBorderTop = $area ? this._getBorderWidth($area, \"top\") : 0;\r\n result.offset.left += areaBorderLeft + this._getBorderWidth(this.$element(), \"left\");\r\n result.offset.top += areaBorderTop + this._getBorderWidth(this.$element(), \"top\");\r\n result.width -= getOuterWidth(this.$element()) - getInnerWidth(this.$element());\r\n result.height -= getOuterHeight(this.$element()) - getInnerHeight(this.$element())\r\n },\r\n _dragEndHandler: function(e) {\r\n var $element = this.$element();\r\n this._resizeEndAction({\r\n event: e,\r\n width: getOuterWidth($element),\r\n height: getOuterHeight($element),\r\n handles: this._movingSides\r\n });\r\n this._toggleResizingClass(false)\r\n },\r\n _renderWidth: function(width) {\r\n this.option(\"width\", fitIntoRange(width, this.option(\"minWidth\"), this.option(\"maxWidth\")))\r\n },\r\n _renderHeight: function(height) {\r\n this.option(\"height\", fitIntoRange(height, this.option(\"minHeight\"), this.option(\"maxHeight\")))\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"disabled\":\r\n this._toggleEventHandlers(!args.value);\r\n this.callBase(args);\r\n break;\r\n case \"handles\":\r\n this._invalidate();\r\n break;\r\n case \"minWidth\":\r\n case \"maxWidth\":\r\n hasWindow() && this._renderWidth(getOuterWidth(this.$element()));\r\n break;\r\n case \"minHeight\":\r\n case \"maxHeight\":\r\n hasWindow() && this._renderHeight(getOuterHeight(this.$element()));\r\n break;\r\n case \"onResize\":\r\n case \"onResizeStart\":\r\n case \"onResizeEnd\":\r\n this._renderActions();\r\n break;\r\n case \"area\":\r\n case \"stepPrecision\":\r\n case \"step\":\r\n case \"roundStepValue\":\r\n case \"keepAspectRatio\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _clean: function() {\r\n this.$element().find(\".\" + RESIZABLE_HANDLE_CLASS).remove()\r\n },\r\n _useTemplates: function() {\r\n return false\r\n }\r\n});\r\nregisterComponent(RESIZABLE, Resizable);\r\nexport default Resizable;\r\n","/**\r\n * DevExtreme (esm/ui/responsive_box.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n grep,\r\n noop\r\n} from \"../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isPlainObject,\r\n isEmptyObject\r\n} from \"../core/utils/type\";\r\nimport errors from \"./widget/ui.errors\";\r\nimport {\r\n getWindow,\r\n defaultScreenFactorFunc,\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n each,\r\n map\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport Box from \"./box\";\r\nimport CollectionWidget from \"./collection/ui.collection_widget.edit\";\r\nvar RESPONSIVE_BOX_CLASS = \"dx-responsivebox\";\r\nvar SCREEN_SIZE_CLASS_PREFIX = RESPONSIVE_BOX_CLASS + \"-screen-\";\r\nvar BOX_ITEM_CLASS = \"dx-box-item\";\r\nvar BOX_ITEM_DATA_KEY = \"dxBoxItemData\";\r\nvar HD_SCREEN_WIDTH = 1920;\r\nvar ResponsiveBox = CollectionWidget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n rows: [],\r\n cols: [],\r\n screenByWidth: null,\r\n singleColumnScreen: \"\",\r\n height: \"100%\",\r\n width: \"100%\",\r\n activeStateEnabled: false,\r\n focusStateEnabled: false,\r\n onItemStateChanged: void 0,\r\n onLayoutChanged: null,\r\n currentScreenFactor: void 0\r\n })\r\n },\r\n _init: function() {\r\n if (!this.option(\"screenByWidth\")) {\r\n this._options.silent(\"screenByWidth\", defaultScreenFactorFunc)\r\n }\r\n this.callBase();\r\n this._initLayoutChangedAction()\r\n },\r\n _initLayoutChangedAction: function() {\r\n this._layoutChangedAction = this._createActionByOption(\"onLayoutChanged\", {\r\n excludeValidators: [\"disabled\", \"readonly\"]\r\n })\r\n },\r\n _itemClass: function() {\r\n return BOX_ITEM_CLASS\r\n },\r\n _itemDataKey: function() {\r\n return BOX_ITEM_DATA_KEY\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this.$element().addClass(RESPONSIVE_BOX_CLASS)\r\n },\r\n _renderItems: function() {\r\n this._setScreenSize();\r\n this._screenItems = this._itemsByScreen();\r\n this._prepareGrid();\r\n this._spreadItems();\r\n this._layoutItems();\r\n this._linkNodeToItem()\r\n },\r\n _itemOptionChanged: function(item) {\r\n var $item = this._findItemElementByItem(item);\r\n if (!$item.length) {\r\n return\r\n }\r\n this._refreshItem($item, item);\r\n this._clearItemNodeTemplates();\r\n this._update(true)\r\n },\r\n _setScreenSize: function() {\r\n var currentScreen = this._getCurrentScreen();\r\n this._removeScreenSizeClass();\r\n this.$element().addClass(SCREEN_SIZE_CLASS_PREFIX + currentScreen);\r\n this.option(\"currentScreenFactor\", currentScreen)\r\n },\r\n _removeScreenSizeClass: function() {\r\n var currentScreenFactor = this.option(\"currentScreenFactor\");\r\n currentScreenFactor && this.$element().removeClass(SCREEN_SIZE_CLASS_PREFIX + currentScreenFactor)\r\n },\r\n _prepareGrid: function() {\r\n var grid = this._grid = [];\r\n this._prepareRowsAndCols();\r\n each(this._rows, function() {\r\n var row = [];\r\n grid.push(row);\r\n each(this._cols, function() {\r\n row.push(this._createEmptyCell())\r\n }.bind(this))\r\n }.bind(this))\r\n },\r\n getSingleColumnRows: function() {\r\n var rows = this.option(\"rows\");\r\n var screenItemsLength = this._screenItems.length;\r\n if (rows.length) {\r\n var filteredRows = this._filterByScreen(rows);\r\n var result = [];\r\n for (var i = 0; i < screenItemsLength; i++) {\r\n var sizeConfig = this._defaultSizeConfig();\r\n if (i < filteredRows.length && isDefined(filteredRows[i].shrink)) {\r\n sizeConfig.shrink = filteredRows[i].shrink\r\n }\r\n result.push(sizeConfig)\r\n }\r\n return result\r\n } else {\r\n return this._defaultSizeConfig(screenItemsLength)\r\n }\r\n },\r\n _prepareRowsAndCols: function() {\r\n if (this._isSingleColumnScreen()) {\r\n this._prepareSingleColumnScreenItems();\r\n this._rows = this.getSingleColumnRows();\r\n this._cols = this._defaultSizeConfig(1)\r\n } else {\r\n this._rows = this._sizesByScreen(this.option(\"rows\"));\r\n this._cols = this._sizesByScreen(this.option(\"cols\"))\r\n }\r\n },\r\n _isSingleColumnScreen: function() {\r\n return this._screenRegExp().test(this.option(\"singleColumnScreen\")) || !this.option(\"rows\").length || !this.option(\"cols\").length\r\n },\r\n _prepareSingleColumnScreenItems: function() {\r\n this._screenItems.sort((function(item1, item2) {\r\n return item1.location.row - item2.location.row || item1.location.col - item2.location.col\r\n }));\r\n each(this._screenItems, (function(index, item) {\r\n extend(item.location, {\r\n row: index,\r\n col: 0,\r\n rowspan: 1,\r\n colspan: 1\r\n })\r\n }))\r\n },\r\n _sizesByScreen: function(sizeConfigs) {\r\n return map(this._filterByScreen(sizeConfigs), function(sizeConfig) {\r\n return extend(this._defaultSizeConfig(), sizeConfig)\r\n }.bind(this))\r\n },\r\n _createDefaultSizeConfig: function() {\r\n return {\r\n ratio: 1,\r\n baseSize: 0,\r\n minSize: 0,\r\n maxSize: 0\r\n }\r\n },\r\n _defaultSizeConfig: function(size) {\r\n var defaultSizeConfig = this._createDefaultSizeConfig();\r\n if (!arguments.length) {\r\n return defaultSizeConfig\r\n }\r\n var result = [];\r\n for (var i = 0; i < size; i++) {\r\n result.push(defaultSizeConfig)\r\n }\r\n return result\r\n },\r\n _filterByScreen: function(items) {\r\n var screenRegExp = this._screenRegExp();\r\n return grep(items, (function(item) {\r\n return !item.screen || screenRegExp.test(item.screen)\r\n }))\r\n },\r\n _screenRegExp: function() {\r\n var screen = this._getCurrentScreen();\r\n return new RegExp(\"(^|\\\\s)\" + screen + \"($|\\\\s)\", \"i\")\r\n },\r\n _getCurrentScreen: function() {\r\n var width = this._screenWidth();\r\n return this.option(\"screenByWidth\")(width)\r\n },\r\n _screenWidth: function() {\r\n return hasWindow() ? getWidth(getWindow()) : HD_SCREEN_WIDTH\r\n },\r\n _createEmptyCell: function() {\r\n return {\r\n item: {},\r\n location: {\r\n colspan: 1,\r\n rowspan: 1\r\n }\r\n }\r\n },\r\n _spreadItems: function() {\r\n each(this._screenItems, function(_, itemInfo) {\r\n var location = itemInfo.location || {};\r\n var itemCol = location.col;\r\n var itemRow = location.row;\r\n var row = this._grid[itemRow];\r\n var itemCell = row && row[itemCol];\r\n this._occupyCells(itemCell, itemInfo)\r\n }.bind(this))\r\n },\r\n _itemsByScreen: function() {\r\n return this.option(\"items\").reduce((result, item) => {\r\n var locations = item.location || {};\r\n locations = isPlainObject(locations) ? [locations] : locations;\r\n this._filterByScreen(locations).forEach(location => {\r\n result.push({\r\n item: item,\r\n location: extend({\r\n rowspan: 1,\r\n colspan: 1\r\n }, location)\r\n })\r\n });\r\n return result\r\n }, [])\r\n },\r\n _occupyCells: function(itemCell, itemInfo) {\r\n if (!itemCell || this._isItemCellOccupied(itemCell, itemInfo)) {\r\n return\r\n }\r\n extend(itemCell, itemInfo);\r\n this._markSpanningCell(itemCell)\r\n },\r\n _isItemCellOccupied: function(itemCell, itemInfo) {\r\n if (!isEmptyObject(itemCell.item)) {\r\n return true\r\n }\r\n var result = false;\r\n this._loopOverSpanning(itemInfo.location, (function(cell) {\r\n result = result || !isEmptyObject(cell.item)\r\n }));\r\n return result\r\n },\r\n _loopOverSpanning: function(location, callback) {\r\n var rowEnd = location.row + location.rowspan - 1;\r\n var colEnd = location.col + location.colspan - 1;\r\n var boundRowEnd = Math.min(rowEnd, this._rows.length - 1);\r\n var boundColEnd = Math.min(colEnd, this._cols.length - 1);\r\n location.rowspan -= rowEnd - boundRowEnd;\r\n location.colspan -= colEnd - boundColEnd;\r\n for (var rowIndex = location.row; rowIndex <= boundRowEnd; rowIndex++) {\r\n for (var colIndex = location.col; colIndex <= boundColEnd; colIndex++) {\r\n if (rowIndex !== location.row || colIndex !== location.col) {\r\n callback(this._grid[rowIndex][colIndex])\r\n }\r\n }\r\n }\r\n },\r\n _markSpanningCell: function(itemCell) {\r\n this._loopOverSpanning(itemCell.location, (function(cell) {\r\n extend(cell, {\r\n item: itemCell.item,\r\n spanningCell: itemCell\r\n })\r\n }))\r\n },\r\n _linkNodeToItem: function() {\r\n each(this._itemElements(), (function(_, itemNode) {\r\n var $item = $(itemNode);\r\n var item = $item.data(BOX_ITEM_DATA_KEY);\r\n if (!item.box) {\r\n item.node = $item.children()\r\n }\r\n }))\r\n },\r\n _layoutItems: function() {\r\n var rowsCount = this._grid.length;\r\n var colsCount = rowsCount && this._grid[0].length;\r\n if (!rowsCount && !colsCount) {\r\n return\r\n }\r\n var result = this._layoutBlock({\r\n direction: \"col\",\r\n row: {\r\n start: 0,\r\n end: rowsCount - 1\r\n },\r\n col: {\r\n start: 0,\r\n end: colsCount - 1\r\n }\r\n });\r\n var rootBox = this._prepareBoxConfig(result.box || {\r\n direction: \"row\",\r\n items: [extend(result, {\r\n ratio: 1\r\n })]\r\n });\r\n extend(rootBox, this._rootBoxConfig(rootBox.items));\r\n this._$root = $(\"<div>\").appendTo(this._itemContainer());\r\n this._createComponent(this._$root, Box, rootBox)\r\n },\r\n _rootBoxConfig: function(items) {\r\n var rootItems = each(items, function(index, item) {\r\n this._needApplyAutoBaseSize(item) && extend(item, {\r\n baseSize: \"auto\"\r\n })\r\n }.bind(this));\r\n return {\r\n width: \"100%\",\r\n height: \"100%\",\r\n items: rootItems,\r\n itemTemplate: this._getTemplateByOption(\"itemTemplate\"),\r\n itemHoldTimeout: this.option(\"itemHoldTimeout\"),\r\n onItemHold: this._createActionByOption(\"onItemHold\"),\r\n onItemClick: this._createActionByOption(\"onItemClick\"),\r\n onItemContextMenu: this._createActionByOption(\"onItemContextMenu\"),\r\n onItemRendered: this._createActionByOption(\"onItemRendered\")\r\n }\r\n },\r\n _needApplyAutoBaseSize: function(item) {\r\n return !item.baseSize && (!item.minSize || \"auto\" === item.minSize) && (!item.maxSize || \"auto\" === item.maxSize)\r\n },\r\n _prepareBoxConfig: function(config) {\r\n return extend(config || {}, {\r\n crossAlign: \"stretch\",\r\n onItemStateChanged: this.option(\"onItemStateChanged\")\r\n })\r\n },\r\n _layoutBlock: function(options) {\r\n if (this._isSingleItem(options)) {\r\n return this._itemByCell(options.row.start, options.col.start)\r\n }\r\n return this._layoutDirection(options)\r\n },\r\n _isSingleItem: function(options) {\r\n var firstCellLocation = this._grid[options.row.start][options.col.start].location;\r\n var isItemRowSpanned = options.row.end - options.row.start === firstCellLocation.rowspan - 1;\r\n var isItemColSpanned = options.col.end - options.col.start === firstCellLocation.colspan - 1;\r\n return isItemRowSpanned && isItemColSpanned\r\n },\r\n _itemByCell: function(rowIndex, colIndex) {\r\n var itemCell = this._grid[rowIndex][colIndex];\r\n return itemCell.spanningCell ? null : itemCell.item\r\n },\r\n _layoutDirection: function(options) {\r\n var items = [];\r\n var direction = options.direction;\r\n var crossDirection = this._crossDirection(direction);\r\n var block;\r\n while (block = this._nextBlock(options)) {\r\n if (this._isBlockIndivisible(options.prevBlockOptions, block)) {\r\n throw errors.Error(\"E1025\")\r\n }\r\n var item = this._layoutBlock({\r\n direction: crossDirection,\r\n row: block.row,\r\n col: block.col,\r\n prevBlockOptions: options\r\n });\r\n if (item) {\r\n extend(item, this._blockSize(block, crossDirection));\r\n items.push(item)\r\n }\r\n options[crossDirection].start = block[crossDirection].end + 1\r\n }\r\n return {\r\n box: this._prepareBoxConfig({\r\n direction: direction,\r\n items: items\r\n })\r\n }\r\n },\r\n _isBlockIndivisible: function(options, block) {\r\n return options && options.col.start === block.col.start && options.col.end === block.col.end && options.row.start === block.row.start && options.row.end === block.row.end\r\n },\r\n _crossDirection: function(direction) {\r\n return \"col\" === direction ? \"row\" : \"col\"\r\n },\r\n _nextBlock: function(options) {\r\n var direction = options.direction;\r\n var crossDirection = this._crossDirection(direction);\r\n var startIndex = options[direction].start;\r\n var endIndex = options[direction].end;\r\n var crossStartIndex = options[crossDirection].start;\r\n if (crossStartIndex > options[crossDirection].end) {\r\n return null\r\n }\r\n var crossSpan = 1;\r\n for (var crossIndex = crossStartIndex; crossIndex < crossStartIndex + crossSpan; crossIndex++) {\r\n var lineCrossSpan = 1;\r\n for (var index = startIndex; index <= endIndex; index++) {\r\n var cell = this._cellByDirection(direction, index, crossIndex);\r\n lineCrossSpan = Math.max(lineCrossSpan, cell.location[crossDirection + \"span\"])\r\n }\r\n var lineCrossEndIndex = crossIndex + lineCrossSpan;\r\n var crossEndIndex = crossStartIndex + crossSpan;\r\n if (lineCrossEndIndex > crossEndIndex) {\r\n crossSpan += lineCrossEndIndex - crossEndIndex\r\n }\r\n }\r\n var result = {};\r\n result[direction] = {\r\n start: startIndex,\r\n end: endIndex\r\n };\r\n result[crossDirection] = {\r\n start: crossStartIndex,\r\n end: crossStartIndex + crossSpan - 1\r\n };\r\n return result\r\n },\r\n _cellByDirection: function(direction, index, crossIndex) {\r\n return \"col\" === direction ? this._grid[crossIndex][index] : this._grid[index][crossIndex]\r\n },\r\n _blockSize: function(block, direction) {\r\n var defaultMinSize = \"row\" === direction ? \"auto\" : 0;\r\n var sizeConfigs = \"row\" === direction ? this._rows : this._cols;\r\n var result = extend(this._createDefaultSizeConfig(), {\r\n ratio: 0\r\n });\r\n for (var index = block[direction].start; index <= block[direction].end; index++) {\r\n var sizeConfig = sizeConfigs[index];\r\n result.ratio += sizeConfig.ratio;\r\n result.baseSize += sizeConfig.baseSize;\r\n result.minSize += sizeConfig.minSize;\r\n result.maxSize += sizeConfig.maxSize;\r\n if (isDefined(sizeConfig.shrink)) {\r\n result.shrink = sizeConfig.shrink\r\n }\r\n }\r\n result.minSize = result.minSize ? result.minSize : defaultMinSize;\r\n result.maxSize = result.maxSize ? result.maxSize : \"auto\";\r\n this._isSingleColumnScreen() && (result.baseSize = \"auto\");\r\n return result\r\n },\r\n _update: function(forceRemoveRoot) {\r\n var $existingRoot = this._$root;\r\n this._renderItems();\r\n if ($existingRoot) {\r\n if (forceRemoveRoot) {\r\n $existingRoot.remove()\r\n } else {\r\n $existingRoot.detach();\r\n this._saveAssistantRoot($existingRoot)\r\n }\r\n }\r\n this._layoutChangedAction()\r\n },\r\n _saveAssistantRoot: function($root) {\r\n this._assistantRoots = this._assistantRoots || [];\r\n this._assistantRoots.push($root)\r\n },\r\n _dispose: function() {\r\n this._clearItemNodeTemplates();\r\n this._cleanUnusedRoots();\r\n this.callBase.apply(this, arguments)\r\n },\r\n _cleanUnusedRoots: function() {\r\n if (!this._assistantRoots) {\r\n return\r\n }\r\n each(this._assistantRoots, (function(_, item) {\r\n $(item).remove()\r\n }))\r\n },\r\n _clearItemNodeTemplates: function() {\r\n each(this.option(\"items\"), (function() {\r\n delete this.node\r\n }))\r\n },\r\n _attachClickEvent: noop,\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"rows\":\r\n case \"cols\":\r\n case \"screenByWidth\":\r\n case \"singleColumnScreen\":\r\n this._clearItemNodeTemplates();\r\n this._invalidate();\r\n break;\r\n case \"width\":\r\n case \"height\":\r\n this.callBase(args);\r\n this._update();\r\n break;\r\n case \"onLayoutChanged\":\r\n this._initLayoutChangedAction();\r\n break;\r\n case \"itemTemplate\":\r\n this._clearItemNodeTemplates();\r\n this.callBase(args);\r\n break;\r\n case \"currentScreenFactor\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n if (this._getCurrentScreen() !== this.option(\"currentScreenFactor\")) {\r\n this._update()\r\n }\r\n },\r\n repaint: function() {\r\n this._update()\r\n }\r\n});\r\nregisterComponent(\"dxResponsiveBox\", ResponsiveBox);\r\nexport default ResponsiveBox;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/appointment/utils/getAppointmentTakesAllDay.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../../../../core/utils/type\";\r\nimport dateUtils from \"../../../../../core/utils/date\";\r\nvar getAppointmentDurationInHours = (startDate, endDate) => (endDate.getTime() - startDate.getTime()) / dateUtils.dateToMilliseconds(\"hour\");\r\nvar appointmentHasShortDayDuration = (startDate, endDate, viewStartDayHour, viewEndDayHour) => {\r\n var appointmentDurationInHours = getAppointmentDurationInHours(startDate, endDate);\r\n var viewDurationInHours = viewEndDayHour - viewStartDayHour;\r\n var startDateHours = startDate.getHours();\r\n var endDateHours = endDate.getHours();\r\n return appointmentDurationInHours >= viewDurationInHours && startDateHours === viewStartDayHour && endDateHours === viewEndDayHour\r\n};\r\nexport var getAppointmentTakesAllDay = (appointmentAdapter, viewStartDayHour, viewEndDayHour, allDayPanelMode) => {\r\n var hasAllDay = () => appointmentAdapter.allDay;\r\n switch (allDayPanelMode) {\r\n case \"hidden\":\r\n return false;\r\n case \"allDay\":\r\n return hasAllDay();\r\n case \"all\":\r\n default:\r\n if (hasAllDay()) {\r\n return true\r\n }\r\n var {\r\n endDate: endDate, startDate: startDate\r\n } = appointmentAdapter;\r\n if (!isDefined(endDate)) {\r\n return false\r\n }\r\n var appointmentDurationInHours = getAppointmentDurationInHours(startDate, endDate);\r\n return appointmentDurationInHours >= 24 || appointmentHasShortDayDuration(startDate, endDate, viewStartDayHour, viewEndDayHour)\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/model/untyped_getCurrentView.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isObject\r\n} from \"../../../../core/utils/type\";\r\nvar VIEW_TYPES = [\"day\", \"week\", \"workWeek\", \"month\", \"timelineDay\", \"timelineWeek\", \"timelineWorkWeek\", \"timelineMonth\", \"agenda\"];\r\nexport var renovationGetCurrentView = (currentView, views) => {\r\n var currentViewProps = views.find(view => {\r\n var names = isObject(view) ? [view.name, view.type] : [view];\r\n if (names.includes(currentView)) {\r\n return true\r\n }\r\n return false\r\n });\r\n if (void 0 === currentViewProps) {\r\n if (VIEW_TYPES.includes(currentView)) {\r\n currentViewProps = currentView\r\n } else {\r\n [currentViewProps] = views\r\n }\r\n }\r\n return currentViewProps\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/timeZoneCalculator/utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport dateUtils from \"../../../../core/utils/date\";\r\nimport {\r\n PathTimeZoneConversion\r\n} from \"./types\";\r\nvar MS_IN_MINUTE = 6e4;\r\nvar MS_IN_HOUR = 60 * MS_IN_MINUTE;\r\nexport class TimeZoneCalculator {\r\n constructor(options) {\r\n this.options = options\r\n }\r\n createDate(sourceDate, info) {\r\n var date = new Date(sourceDate);\r\n switch (info.path) {\r\n case PathTimeZoneConversion.fromSourceToAppointment:\r\n return this.getConvertedDate(date, info.appointmentTimeZone, true, false);\r\n case PathTimeZoneConversion.fromAppointmentToSource:\r\n return this.getConvertedDate(date, info.appointmentTimeZone, true, true);\r\n case PathTimeZoneConversion.fromSourceToGrid:\r\n return this.getConvertedDate(date, info.appointmentTimeZone, false, false);\r\n case PathTimeZoneConversion.fromGridToSource:\r\n return this.getConvertedDate(date, info.appointmentTimeZone, false, true);\r\n default:\r\n throw new Error(\"not specified pathTimeZoneConversion\")\r\n }\r\n }\r\n getOffsets(date, appointmentTimezone) {\r\n var clientOffset = -this.getClientOffset(date) / dateUtils.dateToMilliseconds(\"hour\");\r\n var commonOffset = this.getCommonOffset(date);\r\n var appointmentOffset = this.getAppointmentOffset(date, appointmentTimezone);\r\n return {\r\n client: clientOffset,\r\n common: !isDefined(commonOffset) ? clientOffset : commonOffset,\r\n appointment: \"number\" !== typeof appointmentOffset ? clientOffset : appointmentOffset\r\n }\r\n }\r\n getConvertedDateByOffsets(date, clientOffset, targetOffset, isBack) {\r\n var direction = isBack ? -1 : 1;\r\n var resultDate = new Date(date);\r\n resultDate.setMinutes(resultDate.getMinutes() - direction * (60 * clientOffset));\r\n resultDate.setMinutes(resultDate.getMinutes() + direction * (60 * targetOffset));\r\n return new Date(resultDate)\r\n }\r\n getOriginStartDateOffsetInMs(date, timezone, isUTCDate) {\r\n var offsetInHours = this.getOffsetInHours(date, timezone, isUTCDate);\r\n return offsetInHours * MS_IN_HOUR\r\n }\r\n getOffsetInHours(date, timezone, isUTCDate) {\r\n var {\r\n appointment: appointment,\r\n client: client,\r\n common: common\r\n } = this.getOffsets(date, timezone);\r\n if (!!timezone && isUTCDate) {\r\n return appointment - client\r\n }\r\n if (!!timezone && !isUTCDate) {\r\n return appointment - common\r\n }\r\n if (!timezone && isUTCDate) {\r\n return common - client\r\n }\r\n return 0\r\n }\r\n getClientOffset(date) {\r\n return this.options.getClientOffset(date)\r\n }\r\n getCommonOffset(date) {\r\n return this.options.tryGetCommonOffset(date)\r\n }\r\n getAppointmentOffset(date, appointmentTimezone) {\r\n return this.options.tryGetAppointmentOffset(date, appointmentTimezone)\r\n }\r\n getConvertedDate(date, appointmentTimezone, useAppointmentTimeZone, isBack) {\r\n var newDate = new Date(date.getTime());\r\n var offsets = this.getOffsets(newDate, appointmentTimezone);\r\n if (useAppointmentTimeZone && !!appointmentTimezone) {\r\n return this.getConvertedDateByOffsets(date, offsets.client, offsets.appointment, isBack)\r\n }\r\n return this.getConvertedDateByOffsets(date, offsets.client, offsets.common, isBack)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/scheduler/utils.timeZone.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport timezoneUtils from \"../../__internal/scheduler/m_utils_time_zone\";\r\nexport default timezoneUtils;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/m_expression_utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nexport var ExpressionUtils = {\r\n getField: (dataAccessors, field, obj) => {\r\n if (!isDefined(dataAccessors.getter[field])) {\r\n return\r\n }\r\n return dataAccessors.getter[field](obj)\r\n },\r\n setField: (dataAccessors, field, obj, value) => {\r\n if (!isDefined(dataAccessors.setter[field])) {\r\n return\r\n }\r\n dataAccessors.setter[field](obj, value);\r\n return obj\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/appointments/data_provider/m_utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dateUtils from \"../../../../core/utils/date\";\r\nimport dateSerialization from \"../../../../core/utils/date_serialization\";\r\nimport timeZoneUtils from \"../../../../ui/scheduler/utils.timeZone\";\r\nimport {\r\n ExpressionUtils\r\n} from \"../../m_expression_utils\";\r\nvar toMs = dateUtils.dateToMilliseconds;\r\nvar FULL_DATE_FORMAT = \"yyyyMMddTHHmmss\";\r\nexport var compareDateWithStartDayHour = (startDate, endDate, startDayHour, allDay, severalDays) => {\r\n var startTime = dateUtils.dateTimeFromDecimal(startDayHour);\r\n var result = startDate.getHours() >= startTime.hours && startDate.getMinutes() >= startTime.minutes || endDate.getHours() === startTime.hours && endDate.getMinutes() > startTime.minutes || endDate.getHours() > startTime.hours || severalDays || allDay;\r\n return result\r\n};\r\nexport var compareDateWithEndDayHour = options => {\r\n var {\r\n startDate: startDate,\r\n endDate: endDate,\r\n startDayHour: startDayHour,\r\n endDayHour: endDayHour,\r\n viewStartDayHour: viewStartDayHour,\r\n viewEndDayHour: viewEndDayHour,\r\n allDay: allDay,\r\n severalDays: severalDays,\r\n min: min,\r\n max: max,\r\n checkIntersectViewport: checkIntersectViewport\r\n } = options;\r\n var hiddenInterval = (24 - viewEndDayHour + viewStartDayHour) * toMs(\"hour\");\r\n var apptDuration = endDate.getTime() - startDate.getTime();\r\n var delta = (hiddenInterval - apptDuration) / toMs(\"hour\");\r\n var apptStartHour = startDate.getHours();\r\n var apptStartMinutes = startDate.getMinutes();\r\n var result;\r\n var endTime = dateUtils.dateTimeFromDecimal(endDayHour);\r\n var startTime = dateUtils.dateTimeFromDecimal(startDayHour);\r\n var apptIntersectViewport = startDate < max && endDate > min;\r\n result = checkIntersectViewport && apptIntersectViewport || apptStartHour < endTime.hours || apptStartHour === endTime.hours && apptStartMinutes < endTime.minutes || allDay && startDate <= max || severalDays && apptIntersectViewport && (apptStartHour < endTime.hours || 60 * endDate.getHours() + endDate.getMinutes() > 60 * startTime.hours);\r\n if (apptDuration < hiddenInterval) {\r\n if (apptStartHour > endTime.hours && apptStartMinutes > endTime.minutes && delta <= apptStartHour - endDayHour) {\r\n result = false\r\n }\r\n }\r\n return result\r\n};\r\nexport var getAppointmentTakesSeveralDays = adapter => !dateUtils.sameDate(adapter.startDate, adapter.endDate);\r\nexport var _isEndDateWrong = (startDate, endDate) => !endDate || isNaN(endDate.getTime()) || startDate.getTime() > endDate.getTime();\r\nexport var _appointmentPartInInterval = (startDate, endDate, startDayHour, endDayHour) => {\r\n var apptStartDayHour = startDate.getHours();\r\n var apptEndDayHour = endDate.getHours();\r\n return apptStartDayHour <= startDayHour && apptEndDayHour <= endDayHour && apptEndDayHour >= startDayHour || apptEndDayHour >= endDayHour && apptStartDayHour <= endDayHour && apptStartDayHour >= startDayHour\r\n};\r\nexport var getRecurrenceException = (appointmentAdapter, timeZoneCalculator, timeZone) => {\r\n var {\r\n recurrenceException: recurrenceException\r\n } = appointmentAdapter;\r\n if (recurrenceException) {\r\n var exceptions = recurrenceException.split(\",\");\r\n for (var i = 0; i < exceptions.length; i++) {\r\n exceptions[i] = _convertRecurrenceException(exceptions[i], appointmentAdapter.startDate, timeZoneCalculator, timeZone)\r\n }\r\n return exceptions.join()\r\n }\r\n return recurrenceException\r\n};\r\nexport var _convertRecurrenceException = (exceptionString, startDate, timeZoneCalculator, timeZone) => {\r\n exceptionString = exceptionString.replace(/\\s/g, \"\");\r\n var getConvertedToTimeZone = date => timeZoneCalculator.createDate(date, {\r\n path: \"toGrid\"\r\n });\r\n var exceptionDate = dateSerialization.deserializeDate(exceptionString);\r\n var convertedStartDate = getConvertedToTimeZone(startDate);\r\n var convertedExceptionDate = getConvertedToTimeZone(exceptionDate);\r\n convertedExceptionDate = timeZoneUtils.correctRecurrenceExceptionByTimezone(convertedExceptionDate, convertedStartDate, timeZone);\r\n exceptionString = dateSerialization.serializeDate(convertedExceptionDate, FULL_DATE_FORMAT);\r\n return exceptionString\r\n};\r\nexport var replaceWrongEndDate = (rawAppointment, startDate, endDate, appointmentDuration, dataAccessors) => {\r\n if (_isEndDateWrong(startDate, endDate)) {\r\n var isAllDay = ExpressionUtils.getField(dataAccessors, \"allDay\", rawAppointment);\r\n var calculatedEndDate = ((isAllDay, startDate) => {\r\n if (isAllDay) {\r\n return dateUtils.setToDayEnd(new Date(startDate))\r\n }\r\n return new Date(startDate.getTime() + appointmentDuration * toMs(\"minute\"))\r\n })(isAllDay, startDate);\r\n dataAccessors.setter.endDate(rawAppointment, calculatedEndDate)\r\n }\r\n};\r\nexport var sortAppointmentsByStartDate = (appointments, dataAccessors) => {\r\n appointments.sort((a, b) => {\r\n var firstDate = new Date(ExpressionUtils.getField(dataAccessors, \"startDate\", a.settings || a));\r\n var secondDate = new Date(ExpressionUtils.getField(dataAccessors, \"startDate\", b.settings || b));\r\n return Math.sign(firstDate.getTime() - secondDate.getTime())\r\n })\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/m_appointment_adapter.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n deepExtendArraySafe\r\n} from \"../../core/utils/object\";\r\nimport errors from \"../../ui/widget/ui.errors\";\r\nimport {\r\n ExpressionUtils\r\n} from \"./m_expression_utils\";\r\nimport {\r\n getRecurrenceProcessor\r\n} from \"./m_recurrence\";\r\nvar PROPERTY_NAMES = {\r\n startDate: \"startDate\",\r\n endDate: \"endDate\",\r\n allDay: \"allDay\",\r\n text: \"text\",\r\n description: \"description\",\r\n startDateTimeZone: \"startDateTimeZone\",\r\n endDateTimeZone: \"endDateTimeZone\",\r\n recurrenceRule: \"recurrenceRule\",\r\n recurrenceException: \"recurrenceException\",\r\n disabled: \"disabled\"\r\n};\r\nclass AppointmentAdapter {\r\n constructor(rawAppointment, dataAccessors, timeZoneCalculator, options) {\r\n this.rawAppointment = rawAppointment;\r\n this.dataAccessors = dataAccessors;\r\n this.timeZoneCalculator = timeZoneCalculator;\r\n this.options = options\r\n }\r\n get duration() {\r\n return this.endDate ? this.endDate - this.startDate : 0\r\n }\r\n get startDate() {\r\n var result = this.getField(PROPERTY_NAMES.startDate);\r\n return void 0 === result ? result : new Date(result)\r\n }\r\n set startDate(value) {\r\n this.setField(PROPERTY_NAMES.startDate, value)\r\n }\r\n get endDate() {\r\n var result = this.getField(PROPERTY_NAMES.endDate);\r\n return void 0 === result ? result : new Date(result)\r\n }\r\n set endDate(value) {\r\n this.setField(PROPERTY_NAMES.endDate, value)\r\n }\r\n get allDay() {\r\n return this.getField(PROPERTY_NAMES.allDay)\r\n }\r\n set allDay(value) {\r\n this.setField(PROPERTY_NAMES.allDay, value)\r\n }\r\n get text() {\r\n return this.getField(PROPERTY_NAMES.text)\r\n }\r\n set text(value) {\r\n this.setField(PROPERTY_NAMES.text, value)\r\n }\r\n get description() {\r\n return this.getField(PROPERTY_NAMES.description)\r\n }\r\n set description(value) {\r\n this.setField(PROPERTY_NAMES.description, value)\r\n }\r\n get startDateTimeZone() {\r\n return this.getField(PROPERTY_NAMES.startDateTimeZone)\r\n }\r\n get endDateTimeZone() {\r\n return this.getField(PROPERTY_NAMES.endDateTimeZone)\r\n }\r\n get recurrenceRule() {\r\n return this.getField(PROPERTY_NAMES.recurrenceRule)\r\n }\r\n set recurrenceRule(value) {\r\n this.setField(PROPERTY_NAMES.recurrenceRule, value)\r\n }\r\n get recurrenceException() {\r\n return this.getField(PROPERTY_NAMES.recurrenceException)\r\n }\r\n set recurrenceException(value) {\r\n this.setField(PROPERTY_NAMES.recurrenceException, value)\r\n }\r\n get disabled() {\r\n return !!this.getField(PROPERTY_NAMES.disabled)\r\n }\r\n get isRecurrent() {\r\n return getRecurrenceProcessor().isValidRecurrenceRule(this.recurrenceRule)\r\n }\r\n getField(property) {\r\n return ExpressionUtils.getField(this.dataAccessors, property, this.rawAppointment)\r\n }\r\n setField(property, value) {\r\n return ExpressionUtils.setField(this.dataAccessors, property, this.rawAppointment, value)\r\n }\r\n calculateStartDate(pathTimeZoneConversion) {\r\n if (!this.startDate || isNaN(this.startDate.getTime())) {\r\n throw errors.Error(\"E1032\", this.text)\r\n }\r\n return this.calculateDate(this.startDate, this.startDateTimeZone, pathTimeZoneConversion)\r\n }\r\n calculateEndDate(pathTimeZoneConversion) {\r\n return this.calculateDate(this.endDate, this.endDateTimeZone, pathTimeZoneConversion)\r\n }\r\n calculateDate(date, appointmentTimeZone, pathTimeZoneConversion) {\r\n if (!date) {\r\n return\r\n }\r\n return this.timeZoneCalculator.createDate(date, {\r\n appointmentTimeZone: appointmentTimeZone,\r\n path: pathTimeZoneConversion\r\n })\r\n }\r\n clone() {\r\n var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : void 0;\r\n var result = new AppointmentAdapter(deepExtendArraySafe({}, this.rawAppointment), this.dataAccessors, this.timeZoneCalculator, options);\r\n if (null === options || void 0 === options ? void 0 : options.pathTimeZone) {\r\n result.startDate = result.calculateStartDate(options.pathTimeZone);\r\n result.endDate = result.calculateEndDate(options.pathTimeZone)\r\n }\r\n return result\r\n }\r\n source() {\r\n var serializeDate = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : false;\r\n if (serializeDate) {\r\n var clonedAdapter = this.clone();\r\n clonedAdapter.startDate = this.startDate;\r\n clonedAdapter.endDate = this.endDate;\r\n return clonedAdapter.source()\r\n }\r\n return extend({}, this.rawAppointment)\r\n }\r\n}\r\nexport default AppointmentAdapter;\r\nexport var createAppointmentAdapter = (rawAppointment, dataAccessors, timeZoneCalculator, options) => new AppointmentAdapter(rawAppointment, dataAccessors, timeZoneCalculator, options);\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/utils/recurrence/excludeFromRecurrence.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n createAppointmentAdapter\r\n} from \"../../../../../__internal/scheduler/m_appointment_adapter\";\r\nimport dateSerialization from \"../../../../../core/utils/date_serialization\";\r\nvar FULL_DATE_FORMAT = \"yyyyMMddTHHmmss\";\r\nvar UTC_FULL_DATE_FORMAT = \"\".concat(FULL_DATE_FORMAT, \"Z\");\r\nvar getSerializedDate = (date, startDate, isAllDay) => {\r\n if (isAllDay) {\r\n date.setHours(startDate.getHours(), startDate.getMinutes(), startDate.getSeconds(), startDate.getMilliseconds())\r\n }\r\n return dateSerialization.serializeDate(date, UTC_FULL_DATE_FORMAT)\r\n};\r\nvar createRecurrenceException = (appointmentAdapter, exceptionDate) => {\r\n var result = [];\r\n if (appointmentAdapter.recurrenceException) {\r\n result.push(appointmentAdapter.recurrenceException)\r\n }\r\n result.push(getSerializedDate(exceptionDate, appointmentAdapter.startDate, appointmentAdapter.allDay));\r\n return result.join()\r\n};\r\nexport var excludeFromRecurrence = (appointment, exceptionDate, dataAccessors, timeZoneCalculator) => {\r\n var appointmentAdapter = createAppointmentAdapter(_extends({}, appointment), dataAccessors, timeZoneCalculator);\r\n appointmentAdapter.recurrenceException = createRecurrenceException(appointmentAdapter, exceptionDate);\r\n return appointmentAdapter\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/m_classes.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var FIXED_CONTAINER_CLASS = \"dx-scheduler-fixed-appointments\";\r\nexport var REDUCED_APPOINTMENT_CLASS = \"dx-scheduler-appointment-reduced\";\r\nexport var REDUCED_APPOINTMENT_ICON = \"dx-scheduler-appointment-reduced-icon\";\r\nexport var RECURRENCE_APPOINTMENT_CLASS = \"dx-scheduler-appointment-recurrence\";\r\nexport var EMPTY_APPOINTMENT_CLASS = \"dx-scheduler-appointment-empty\";\r\nexport var ALL_DAY_APPOINTMENT_CLASS = \"dx-scheduler-all-day-appointment\";\r\nexport var REDUCED_APPOINTMENT_PARTS_CLASSES = {\r\n head: \"dx-scheduler-appointment-head\",\r\n body: \"dx-scheduler-appointment-body\",\r\n tail: \"dx-scheduler-appointment-tail\"\r\n};\r\nexport var DIRECTION_APPOINTMENT_CLASSES = {\r\n horizontal: \"dx-scheduler-appointment-horizontal\",\r\n vertical: \"dx-scheduler-appointment-vertical\"\r\n};\r\nexport var APPOINTMENT_DRAG_SOURCE_CLASS = \"dx-scheduler-appointment-drag-source\";\r\nexport var APPOINTMENT_ITEM_CLASS = \"dx-scheduler-appointment\";\r\nexport var APPOINTMENT_CONTENT_CLASSES = {\r\n APPOINTMENT_CONTENT_DETAILS: \"dx-scheduler-appointment-content-details\",\r\n RECURRING_ICON: \"dx-scheduler-appointment-recurrence-icon\",\r\n APPOINTMENT_TITLE: \"dx-scheduler-appointment-title\",\r\n APPOINTMENT_DATE: \"dx-scheduler-appointment-content-date\",\r\n ALL_DAY_CONTENT: \"dx-scheduler-appointment-content-allday\",\r\n ITEM: \"dx-scheduler-appointment\",\r\n AGENDA_MARKER: \"dx-scheduler-agenda-appointment-marker\",\r\n AGENDA_RESOURCE_LIST: \"dx-scheduler-appointment-resource-list\",\r\n AGENDA_RESOURCE_LIST_ITEM: \"dx-scheduler-appointment-resource-item\",\r\n AGENDA_RESOURCE_LIST_ITEM_VALUE: \"dx-scheduler-appointment-resource-item-value\"\r\n};\r\nexport var AGENDA_LAST_IN_DATE_APPOINTMENT_CLASS = \"dx-scheduler-last-in-date-agenda-appointment\";\r\nexport var HEADER_CURRENT_TIME_CELL_CLASS = \"dx-scheduler-header-panel-current-time-cell\";\r\nexport var VIRTUAL_CELL_CLASS = \"dx-scheduler-virtual-cell\";\r\nexport var TIME_PANEL_CLASS = \"dx-scheduler-time-panel\";\r\nexport var DATE_TABLE_CLASS = \"dx-scheduler-date-table\";\r\nexport var DATE_TABLE_ROW_CLASS = \"dx-scheduler-date-table-row\";\r\nexport var GROUP_ROW_CLASS = \"dx-scheduler-group-row\";\r\nexport var GROUP_HEADER_CONTENT_CLASS = \"dx-scheduler-group-header-content\";\r\nexport var LAST_GROUP_CELL_CLASS = \"dx-scheduler-last-group-cell\";\r\nexport var FIRST_GROUP_CELL_CLASS = \"dx-scheduler-first-group-cell\";\r\nexport var VERTICAL_GROUP_COUNT_CLASSES = [\"dx-scheduler-group-column-count-one\", \"dx-scheduler-group-column-count-two\", \"dx-scheduler-group-column-count-three\"];\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/m_constants.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var LIST_ITEM_DATA_KEY = \"dxListItemData\";\r\nexport var LIST_ITEM_CLASS = \"dx-list-item\";\r\nexport var APPOINTMENT_SETTINGS_KEY = \"dxAppointmentSettings\";\r\nexport var HORIZONTAL_GROUP_ORIENTATION = \"horizontal\";\r\nexport var VIEWS = {\r\n DAY: \"day\",\r\n WEEK: \"week\",\r\n WORK_WEEK: \"workWeek\",\r\n MONTH: \"month\",\r\n TIMELINE_DAY: \"timelineDay\",\r\n TIMELINE_WEEK: \"timelineWeek\",\r\n TIMELINE_WORK_WEEK: \"timelineWorkWeek\",\r\n TIMELINE_MONTH: \"timelineMonth\",\r\n AGENDA: \"agenda\"\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/resources/hasResourceValue.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nexport var hasResourceValue = (resourceValues, itemValue) => isDefined(resourceValues.find(value => equalByValue(value, itemValue)));\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/resources/m_utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n wrapToArray\r\n} from \"../../../core/utils/array\";\r\nimport {\r\n equalByValue\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n compileGetter,\r\n compileSetter\r\n} from \"../../../core/utils/data\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n deepExtendArraySafe\r\n} from \"../../../core/utils/object\";\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n DataSource\r\n} from \"../../../data/data_source/data_source\";\r\nimport {\r\n normalizeDataSourceOptions\r\n} from \"../../../data/data_source/utils\";\r\nimport {\r\n hasResourceValue\r\n} from \"../../../renovation/ui/scheduler/resources/hasResourceValue\";\r\nexport var getValueExpr = resource => resource.valueExpr || \"id\";\r\nexport var getDisplayExpr = resource => resource.displayExpr || \"text\";\r\nexport var getFieldExpr = resource => resource.fieldExpr || resource.field;\r\nexport var getWrappedDataSource = dataSource => {\r\n if (dataSource instanceof DataSource) {\r\n return dataSource\r\n }\r\n var result = _extends(_extends({}, normalizeDataSourceOptions(dataSource)), {\r\n pageSize: 0\r\n });\r\n if (!Array.isArray(dataSource)) {\r\n result.filter = dataSource.filter\r\n }\r\n return new DataSource(result)\r\n};\r\nexport var createResourcesTree = groups => {\r\n var leafIndex = 0;\r\n var make = (group, groupIndex, result, parent) => {\r\n var _a;\r\n result = result || [];\r\n for (var itemIndex = 0; itemIndex < group.items.length; itemIndex++) {\r\n var currentGroupItem = group.items[itemIndex];\r\n var resultItem = {\r\n name: group.name,\r\n value: currentGroupItem.id,\r\n title: currentGroupItem.text,\r\n data: null === (_a = group.data) || void 0 === _a ? void 0 : _a[itemIndex],\r\n children: [],\r\n parent: parent || null\r\n };\r\n var nextGroupIndex = groupIndex + 1;\r\n if (groups[nextGroupIndex]) {\r\n make(groups[nextGroupIndex], nextGroupIndex, resultItem.children, resultItem)\r\n }\r\n if (!resultItem.children.length) {\r\n resultItem.leafIndex = leafIndex;\r\n leafIndex++\r\n }\r\n result.push(resultItem)\r\n }\r\n return result\r\n };\r\n return make(groups[0], 0)\r\n};\r\nexport var getPathToLeaf = (leafIndex, groups) => {\r\n var tree = createResourcesTree(groups);\r\n var findLeafByIndex = (data, index) => {\r\n for (var i = 0; i < data.length; i++) {\r\n if (data[i].leafIndex === index) {\r\n return data[i]\r\n }\r\n var _leaf = findLeafByIndex(data[i].children, index);\r\n if (_leaf) {\r\n return _leaf\r\n }\r\n }\r\n };\r\n var makeBranch = (leaf, result) => {\r\n result = result || [];\r\n result.push(leaf.value);\r\n if (leaf.parent) {\r\n makeBranch(leaf.parent, result)\r\n }\r\n return result\r\n };\r\n var leaf = findLeafByIndex(tree, leafIndex);\r\n return makeBranch(leaf).reverse()\r\n};\r\nexport var getCellGroups = (groupIndex, groups) => {\r\n var result = [];\r\n if (getGroupCount(groups)) {\r\n if (groupIndex < 0) {\r\n return\r\n }\r\n var path = getPathToLeaf(groupIndex, groups);\r\n for (var i = 0; i < groups.length; i++) {\r\n result.push({\r\n name: groups[i].name,\r\n id: path[i]\r\n })\r\n }\r\n }\r\n return result\r\n};\r\nexport var getGroupCount = groups => {\r\n var result = 0;\r\n for (var i = 0, len = groups.length; i < len; i++) {\r\n if (!i) {\r\n result = groups[i].items.length\r\n } else {\r\n result *= groups[i].items.length\r\n }\r\n }\r\n return result\r\n};\r\nexport var getGroupsObjectFromGroupsArray = groupsArray => groupsArray.reduce((currentGroups, _ref) => {\r\n var {\r\n name: name,\r\n id: id\r\n } = _ref;\r\n return _extends(_extends({}, currentGroups), {\r\n [name]: id\r\n })\r\n}, {});\r\nexport var getAllGroups = groups => {\r\n var groupCount = getGroupCount(groups);\r\n return [...new Array(groupCount)].map((_, groupIndex) => {\r\n var groupsArray = getCellGroups(groupIndex, groups);\r\n return getGroupsObjectFromGroupsArray(groupsArray)\r\n })\r\n};\r\nexport var getResourceByField = (fieldName, loadedResources) => {\r\n for (var i = 0; i < loadedResources.length; i++) {\r\n var resource = loadedResources[i];\r\n if (resource.name === fieldName) {\r\n return resource.data\r\n }\r\n }\r\n return []\r\n};\r\nexport var createResourceEditorModel = (resources, loadedResources) => resources.map(resource => {\r\n var dataField = getFieldExpr(resource);\r\n var dataSource = getResourceByField(dataField, loadedResources);\r\n return {\r\n editorOptions: {\r\n dataSource: dataSource.length ? dataSource : getWrappedDataSource(resource.dataSource),\r\n displayExpr: getDisplayExpr(resource),\r\n valueExpr: getValueExpr(resource)\r\n },\r\n dataField: dataField,\r\n editorType: resource.allowMultiple ? \"dxTagBox\" : \"dxSelectBox\",\r\n label: {\r\n text: resource.label || dataField\r\n }\r\n }\r\n});\r\nexport var isResourceMultiple = (resources, resourceField) => {\r\n var resource = resources.find(resource => {\r\n var field = getFieldExpr(resource);\r\n return field === resourceField\r\n });\r\n return !!(null === resource || void 0 === resource ? void 0 : resource.allowMultiple)\r\n};\r\nexport var filterResources = (resources, fields) => resources.filter(resource => {\r\n var field = getFieldExpr(resource);\r\n return fields.indexOf(field) > -1\r\n});\r\nexport var getPaintedResources = (resources, groups) => {\r\n var newGroups = groups || [];\r\n var result = resources.find(resource => resource.useColorAsDefault);\r\n if (result) {\r\n return result\r\n }\r\n var newResources = newGroups.length ? filterResources(resources, newGroups) : resources;\r\n return newResources[newResources.length - 1]\r\n};\r\nexport var getOrLoadResourceItem = (resources, resourceLoaderMap, field, value) => {\r\n var result = new Deferred;\r\n resources.filter(resource => getFieldExpr(resource) === field && isDefined(resource.dataSource)).forEach(resource => {\r\n var wrappedDataSource = getWrappedDataSource(resource.dataSource);\r\n var valueExpr = getValueExpr(resource);\r\n if (!resourceLoaderMap.has(field)) {\r\n resourceLoaderMap.set(field, wrappedDataSource.load())\r\n }\r\n resourceLoaderMap.get(field).done(data => {\r\n var getter = compileGetter(valueExpr);\r\n var filteredData = data.filter(resource => equalByValue(getter(resource), value));\r\n result.resolve(filteredData[0])\r\n }).fail(() => {\r\n resourceLoaderMap.delete(field);\r\n result.reject()\r\n })\r\n });\r\n return result.promise()\r\n};\r\nexport var getDataAccessors = (dataAccessors, fieldName, type) => {\r\n var actions = dataAccessors[type];\r\n return actions[fieldName]\r\n};\r\nexport var groupAppointmentsByResources = function(config, appointments) {\r\n var groups = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [];\r\n var result = {\r\n 0: appointments\r\n };\r\n if (groups.length && config.loadedResources.length) {\r\n result = groupAppointmentsByResourcesCore(config, appointments, config.loadedResources)\r\n }\r\n var totalResourceCount = 0;\r\n config.loadedResources.forEach((resource, index) => {\r\n if (!index) {\r\n totalResourceCount = resource.items.length\r\n } else {\r\n totalResourceCount *= resource.items.length\r\n }\r\n });\r\n for (var index = 0; index < totalResourceCount; index++) {\r\n var key = index.toString();\r\n if (result[key]) {\r\n continue\r\n }\r\n result[key] = []\r\n }\r\n return result\r\n};\r\nexport var groupAppointmentsByResourcesCore = (config, appointments, resources) => {\r\n var tree = createResourcesTree(resources);\r\n var result = {};\r\n appointments.forEach(appointment => {\r\n var treeLeaves = getResourceTreeLeaves((field, action) => getDataAccessors(config.dataAccessors, field, action), tree, appointment);\r\n for (var i = 0; i < treeLeaves.length; i++) {\r\n if (!result[treeLeaves[i]]) {\r\n result[treeLeaves[i]] = []\r\n }\r\n result[treeLeaves[i]].push(deepExtendArraySafe({}, appointment, true))\r\n }\r\n });\r\n return result\r\n};\r\nexport var getResourceTreeLeaves = (getDataAccessors, tree, rawAppointment, result) => {\r\n result = result || [];\r\n for (var i = 0; i < tree.length; i++) {\r\n if (!hasGroupItem(getDataAccessors, rawAppointment, tree[i].name, tree[i].value)) {\r\n continue\r\n }\r\n if (isDefined(tree[i].leafIndex)) {\r\n result.push(tree[i].leafIndex)\r\n }\r\n if (tree[i].children) {\r\n getResourceTreeLeaves(getDataAccessors, tree[i].children, rawAppointment, result)\r\n }\r\n }\r\n return result\r\n};\r\nvar hasGroupItem = (getDataAccessors, rawAppointment, groupName, itemValue) => {\r\n var resourceValue = getDataAccessors(groupName, \"getter\")(rawAppointment);\r\n return hasResourceValue(wrapToArray(resourceValue), itemValue)\r\n};\r\nexport var createReducedResourcesTree = (loadedResources, getDataAccessors, appointments) => {\r\n var tree = createResourcesTree(loadedResources);\r\n return reduceResourcesTree(getDataAccessors, tree, appointments)\r\n};\r\nexport var reduceResourcesTree = (getDataAccessors, tree, existingAppointments, _result) => {\r\n _result = _result ? _result.children : [];\r\n tree.forEach((node, index) => {\r\n var ok = false;\r\n var resourceName = node.name;\r\n var resourceValue = node.value;\r\n var resourceTitle = node.title;\r\n var resourceData = node.data;\r\n var resourceGetter = getDataAccessors(resourceName, \"getter\");\r\n existingAppointments.forEach(appointment => {\r\n if (!ok) {\r\n var resourceFromAppointment = resourceGetter(appointment);\r\n if (Array.isArray(resourceFromAppointment)) {\r\n if (resourceFromAppointment.includes(resourceValue)) {\r\n _result.push({\r\n name: resourceName,\r\n value: resourceValue,\r\n title: resourceTitle,\r\n data: resourceData,\r\n children: []\r\n });\r\n ok = true\r\n }\r\n } else if (resourceFromAppointment === resourceValue) {\r\n _result.push({\r\n name: resourceName,\r\n value: resourceValue,\r\n title: resourceTitle,\r\n data: resourceData,\r\n children: []\r\n });\r\n ok = true\r\n }\r\n }\r\n });\r\n if (ok && node.children && node.children.length) {\r\n reduceResourcesTree(getDataAccessors, node.children, existingAppointments, _result[index])\r\n }\r\n });\r\n return _result\r\n};\r\nexport var getResourcesDataByGroups = (loadedResources, resources, groups) => {\r\n if (!groups || !groups.length) {\r\n return loadedResources\r\n }\r\n var fieldNames = {};\r\n var currentResourcesData = [];\r\n groups.forEach(group => {\r\n each(group, (name, value) => {\r\n fieldNames[name] = value\r\n })\r\n });\r\n var resourceData = loadedResources.filter(_ref2 => {\r\n var {\r\n name: name\r\n } = _ref2;\r\n return isDefined(fieldNames[name])\r\n });\r\n resourceData.forEach(data => currentResourcesData.push(extend({}, data)));\r\n currentResourcesData.forEach(currentResource => {\r\n var {\r\n items: items,\r\n data: data,\r\n name: resourceName\r\n } = currentResource;\r\n var resource = filterResources(resources, [resourceName])[0] || {};\r\n var valueExpr = getValueExpr(resource);\r\n var filteredItems = [];\r\n var filteredData = [];\r\n groups.filter(group => isDefined(group[resourceName])).forEach(group => {\r\n each(group, (name, value) => {\r\n if (!filteredItems.filter(item => item.id === value && item[valueExpr] === name).length) {\r\n var currentItems = items.filter(item => item.id === value);\r\n var currentData = data.filter(item => item[valueExpr] === value);\r\n filteredItems.push(...currentItems);\r\n filteredData.push(...currentData)\r\n }\r\n })\r\n });\r\n currentResource.items = filteredItems;\r\n currentResource.data = filteredData\r\n });\r\n return currentResourcesData\r\n};\r\nexport var setResourceToAppointment = (resources, dataAccessors, appointment, groups) => {\r\n var resourcesSetter = dataAccessors.setter;\r\n for (var name in groups) {\r\n var resourceData = groups[name];\r\n var value = isResourceMultiple(resources, name) ? wrapToArray(resourceData) : resourceData;\r\n resourcesSetter[name](appointment, value)\r\n }\r\n};\r\nexport var getResourceColor = (resources, resourceLoaderMap, field, value) => {\r\n var result = new Deferred;\r\n var resource = filterResources(resources, [field])[0] || {};\r\n var colorExpr = resource.colorExpr || \"color\";\r\n var colorGetter = compileGetter(colorExpr);\r\n getOrLoadResourceItem(resources, resourceLoaderMap, field, value).done(resource => result.resolve(colorGetter(resource))).fail(() => result.reject());\r\n return result.promise()\r\n};\r\nexport var getAppointmentColor = (resourceConfig, appointmentConfig) => {\r\n var {\r\n resources: resources,\r\n dataAccessors: dataAccessors,\r\n loadedResources: loadedResources,\r\n resourceLoaderMap: resourceLoaderMap\r\n } = resourceConfig;\r\n var {\r\n groupIndex: groupIndex,\r\n groups: groups,\r\n itemData: itemData\r\n } = appointmentConfig;\r\n var paintedResources = getPaintedResources(resources || [], groups);\r\n if (paintedResources) {\r\n var field = getFieldExpr(paintedResources);\r\n var cellGroups = getCellGroups(groupIndex, loadedResources);\r\n var resourcesDataAccessors = getDataAccessors(dataAccessors, field, \"getter\");\r\n var resourceValues = wrapToArray(resourcesDataAccessors(itemData));\r\n var groupId = resourceValues[0];\r\n for (var i = 0; i < cellGroups.length; i++) {\r\n if (cellGroups[i].name === field) {\r\n groupId = cellGroups[i].id;\r\n break\r\n }\r\n }\r\n return getResourceColor(resources, resourceLoaderMap, field, groupId)\r\n }\r\n return (new Deferred).resolve().promise()\r\n};\r\nexport var createExpressions = function() {\r\n var resources = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\r\n var result = {\r\n getter: {},\r\n setter: {}\r\n };\r\n resources.forEach(resource => {\r\n var field = getFieldExpr(resource);\r\n result.getter[field] = compileGetter(field);\r\n result.setter[field] = compileSetter(field)\r\n });\r\n return result\r\n};\r\nvar getTransformedResourceData = (resource, data) => {\r\n var valueGetter = compileGetter(getValueExpr(resource));\r\n var displayGetter = compileGetter(getDisplayExpr(resource));\r\n return data.map(item => {\r\n var result = {\r\n id: valueGetter(item),\r\n text: displayGetter(item)\r\n };\r\n if (item.color) {\r\n result.color = item.color\r\n }\r\n return result\r\n })\r\n};\r\nexport var loadResources = (groups, resources, resourceLoaderMap) => {\r\n var result = new Deferred;\r\n var deferreds = [];\r\n var newGroups = groups || [];\r\n var newResources = resources || [];\r\n var loadedResources = [];\r\n filterResources(newResources, newGroups).forEach(resource => {\r\n var deferred = new Deferred;\r\n var name = getFieldExpr(resource);\r\n deferreds.push(deferred);\r\n var dataSourcePromise = getWrappedDataSource(resource.dataSource).load();\r\n resourceLoaderMap.set(name, dataSourcePromise);\r\n dataSourcePromise.done(data => {\r\n var items = getTransformedResourceData(resource, data);\r\n deferred.resolve({\r\n name: name,\r\n items: items,\r\n data: data\r\n })\r\n }).fail(() => deferred.reject())\r\n });\r\n if (!deferreds.length) {\r\n return result.resolve(loadedResources)\r\n }\r\n when.apply(null, deferreds).done((function() {\r\n for (var _len = arguments.length, resources = new Array(_len), _key = 0; _key < _len; _key++) {\r\n resources[_key] = arguments[_key]\r\n }\r\n var hasEmpty = resources.some(r => 0 === r.items.length);\r\n loadedResources = hasEmpty ? [] : resources;\r\n result.resolve(loadedResources)\r\n })).fail(() => result.reject());\r\n return result.promise()\r\n};\r\nexport var getNormalizedResources = (rawAppointment, dataAccessors, resources) => {\r\n var result = {};\r\n each(dataAccessors.resources.getter, fieldName => {\r\n var value = dataAccessors.resources.getter[fieldName](rawAppointment);\r\n if (isDefined(value)) {\r\n var isMultiple = isResourceMultiple(resources, fieldName);\r\n var resourceValue = isMultiple ? wrapToArray(value) : value;\r\n result[fieldName] = resourceValue\r\n }\r\n });\r\n return result\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/consts.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var VERTICAL_GROUP_ORIENTATION = \"vertical\";\r\nexport var HORIZONTAL_GROUP_ORIENTATION = \"horizontal\";\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n combineClasses\r\n} from \"../../../utils/combine_classes\";\r\nimport {\r\n HORIZONTAL_GROUP_ORIENTATION,\r\n VERTICAL_GROUP_ORIENTATION\r\n} from \"../consts\";\r\nexport var getKeyByDateAndGroup = (date, groupIndex) => {\r\n var key = date.getTime();\r\n if (!groupIndex) {\r\n return key.toString()\r\n }\r\n return (key + groupIndex).toString()\r\n};\r\nexport var getKeyByGroup = (groupIndex, isVerticalGrouping) => {\r\n if (isVerticalGrouping && !!groupIndex) {\r\n return groupIndex.toString()\r\n }\r\n return \"0\"\r\n};\r\nexport var addToStyles = (options, style) => {\r\n var nextStyle = null !== style && void 0 !== style ? style : {};\r\n var result = _extends({}, nextStyle);\r\n options.forEach(_ref => {\r\n var {\r\n attr: attr,\r\n value: value\r\n } = _ref;\r\n result[attr] = value || nextStyle[attr]\r\n });\r\n return result\r\n};\r\nexport var addHeightToStyle = (value, style) => {\r\n var height = value ? \"\".concat(value, \"px\") : \"\";\r\n return addToStyles([{\r\n attr: \"height\",\r\n value: height\r\n }], style)\r\n};\r\nexport var addWidthToStyle = (value, style) => {\r\n var width = value ? \"\".concat(value, \"px\") : \"\";\r\n return addToStyles([{\r\n attr: \"width\",\r\n value: width\r\n }], style)\r\n};\r\nexport var getGroupCellClasses = function() {\r\n var isFirstGroupCell = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : false;\r\n var isLastGroupCell = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : false;\r\n var className = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : \"\";\r\n return combineClasses({\r\n \"dx-scheduler-first-group-cell\": isFirstGroupCell,\r\n \"dx-scheduler-last-group-cell\": isLastGroupCell,\r\n [className]: true\r\n })\r\n};\r\nexport var getIsGroupedAllDayPanel = (hasAllDayRow, isVerticalGrouping) => hasAllDayRow && isVerticalGrouping;\r\nexport var isVerticalGroupingApplied = (groups, groupOrientation) => groupOrientation === VERTICAL_GROUP_ORIENTATION && !!groups.length;\r\nexport var isHorizontalGroupingApplied = (groups, groupOrientation) => groupOrientation === HORIZONTAL_GROUP_ORIENTATION && !!groups.length;\r\nexport var isGroupingByDate = (groups, groupOrientation, groupByDate) => {\r\n var isHorizontalGrouping = isHorizontalGroupingApplied(groups, groupOrientation);\r\n return groupByDate && isHorizontalGrouping\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/view_model/to_test/views/utils/const.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var VIEWS = {\r\n DAY: \"day\",\r\n WEEK: \"week\",\r\n WORK_WEEK: \"workWeek\",\r\n MONTH: \"month\",\r\n TIMELINE_DAY: \"timelineDay\",\r\n TIMELINE_WEEK: \"timelineWeek\",\r\n TIMELINE_WORK_WEEK: \"timelineWorkWeek\",\r\n TIMELINE_MONTH: \"timelineMonth\",\r\n AGENDA: \"agenda\"\r\n};\r\nexport var TIMELINE_VIEWS = {\r\n timelineDay: true,\r\n timelineWeek: true,\r\n timelineWorkWeek: true,\r\n timelineMonth: true\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/view_model/to_test/views/utils/base.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errors from \"../../../../../../../ui/widget/ui.errors\";\r\nimport dateUtils from \"../../../../../../../core/utils/date\";\r\nimport {\r\n isDefined\r\n} from \"../../../../../../../core/utils/type\";\r\nimport dateLocalization from \"../../../../../../../localization/date\";\r\nimport timeZoneUtils from \"../../../../../../../__internal/scheduler/m_utils_time_zone\";\r\nimport {\r\n VERTICAL_GROUP_COUNT_CLASSES\r\n} from \"../../../../../../../__internal/scheduler/m_classes\";\r\nimport {\r\n VIEWS\r\n} from \"../../../../../../../__internal/scheduler/m_constants\";\r\nimport {\r\n getGroupCount\r\n} from \"../../../../../../../__internal/scheduler/resources/m_utils\";\r\nimport {\r\n isVerticalGroupingApplied\r\n} from \"../../../../workspaces/utils\";\r\nimport {\r\n TIMELINE_VIEWS\r\n} from \"./const\";\r\nexport var isDateInRange = (date, startDate, endDate, diff) => diff > 0 ? dateUtils.dateInRange(date, startDate, new Date(endDate.getTime() - 1)) : dateUtils.dateInRange(date, endDate, startDate, \"date\");\r\nexport var setOptionHour = (date, optionHour) => {\r\n var nextDate = new Date(date);\r\n if (!isDefined(optionHour)) {\r\n return nextDate\r\n }\r\n nextDate.setHours(optionHour, optionHour % 1 * 60, 0, 0);\r\n return nextDate\r\n};\r\nexport var getViewStartByOptions = (startDate, currentDate, intervalDuration, startViewDate) => {\r\n if (!startDate) {\r\n return new Date(currentDate)\r\n }\r\n var currentStartDate = dateUtils.trimTime(startViewDate);\r\n var diff = currentStartDate.getTime() <= currentDate.getTime() ? 1 : -1;\r\n var endDate = new Date(currentStartDate.getTime() + intervalDuration * diff);\r\n while (!isDateInRange(currentDate, currentStartDate, endDate, diff)) {\r\n currentStartDate = endDate;\r\n endDate = new Date(currentStartDate.getTime() + intervalDuration * diff)\r\n }\r\n return diff > 0 ? currentStartDate : endDate\r\n};\r\nexport var getCalculatedFirstDayOfWeek = firstDayOfWeekOption => isDefined(firstDayOfWeekOption) ? firstDayOfWeekOption : dateLocalization.firstDayOfWeekIndex();\r\nexport var calculateViewStartDate = startDateOption => startDateOption;\r\nexport var calculateCellIndex = (rowIndex, columnIndex, rowCount) => columnIndex * rowCount + rowIndex;\r\nexport var getStartViewDateWithoutDST = (startViewDate, startDayHour) => {\r\n var newStartViewDate = timeZoneUtils.getDateWithoutTimezoneChange(startViewDate);\r\n newStartViewDate.setHours(startDayHour);\r\n return newStartViewDate\r\n};\r\nexport var getHeaderCellText = (headerIndex, date, headerCellTextFormat, getDateForHeaderText, additionalOptions) => {\r\n var validDate = getDateForHeaderText(headerIndex, date, additionalOptions);\r\n return dateLocalization.format(validDate, headerCellTextFormat)\r\n};\r\nexport var validateDayHours = (startDayHour, endDayHour) => {\r\n if (startDayHour >= endDayHour) {\r\n throw errors.Error(\"E1058\")\r\n }\r\n};\r\nexport var getStartViewDateTimeOffset = (startViewDate, startDayHour) => {\r\n var validStartDayHour = Math.floor(startDayHour);\r\n var isDSTChange = timeZoneUtils.isTimezoneChangeInDate(startViewDate);\r\n if (isDSTChange && validStartDayHour !== startViewDate.getHours()) {\r\n return dateUtils.dateToMilliseconds(\"hour\")\r\n }\r\n return 0\r\n};\r\nexport var formatWeekday = date => dateLocalization.getDayNames(\"abbreviated\")[date.getDay()];\r\nexport var formatWeekdayAndDay = date => \"\".concat(formatWeekday(date), \" \").concat(dateLocalization.format(date, \"day\"));\r\nexport var getToday = (indicatorTime, timeZoneCalculator) => {\r\n var todayDate = null !== indicatorTime && void 0 !== indicatorTime ? indicatorTime : new Date;\r\n return (null === timeZoneCalculator || void 0 === timeZoneCalculator ? void 0 : timeZoneCalculator.createDate(todayDate, {\r\n path: \"toGrid\"\r\n })) || todayDate\r\n};\r\nexport var getVerticalGroupCountClass = groups => {\r\n switch (null === groups || void 0 === groups ? void 0 : groups.length) {\r\n case 1:\r\n return VERTICAL_GROUP_COUNT_CLASSES[0];\r\n case 2:\r\n return VERTICAL_GROUP_COUNT_CLASSES[1];\r\n case 3:\r\n return VERTICAL_GROUP_COUNT_CLASSES[2];\r\n default:\r\n return\r\n }\r\n};\r\nexport var isDateAndTimeView = viewType => viewType !== VIEWS.TIMELINE_MONTH && viewType !== VIEWS.MONTH;\r\nexport var isTimelineView = viewType => !!TIMELINE_VIEWS[viewType];\r\nexport var getHorizontalGroupCount = (groups, groupOrientation) => {\r\n var groupCount = getGroupCount(groups) || 1;\r\n var isVerticalGrouping = isVerticalGroupingApplied(groups, groupOrientation);\r\n return isVerticalGrouping ? 1 : groupCount\r\n};\r\nexport var calculateIsGroupedAllDayPanel = (groups, groupOrientation, isAllDayPanelVisible) => isVerticalGroupingApplied(groups, groupOrientation) && isAllDayPanelVisible;\r\nexport var calculateDayDuration = (startDayHour, endDayHour) => endDayHour - startDayHour;\r\nexport var isHorizontalView = viewType => {\r\n switch (viewType) {\r\n case VIEWS.TIMELINE_DAY:\r\n case VIEWS.TIMELINE_WEEK:\r\n case VIEWS.TIMELINE_WORK_WEEK:\r\n case VIEWS.TIMELINE_MONTH:\r\n case VIEWS.MONTH:\r\n return true;\r\n default:\r\n return false\r\n }\r\n};\r\nexport var getTotalCellCountByCompleteData = completeData => completeData[completeData.length - 1].length;\r\nexport var getTotalRowCountByCompleteData = completeData => completeData.length;\r\nexport var getDisplayedCellCount = (displayedCellCount, completeData) => null !== displayedCellCount && void 0 !== displayedCellCount ? displayedCellCount : getTotalCellCountByCompleteData(completeData);\r\nexport var getDisplayedRowCount = (displayedRowCount, completeData) => null !== displayedRowCount && void 0 !== displayedRowCount ? displayedRowCount : getTotalRowCountByCompleteData(completeData);\r\nexport var getCellDuration = (viewType, startDayHour, endDayHour, hoursInterval) => {\r\n switch (viewType) {\r\n case \"month\":\r\n return 36e5 * calculateDayDuration(startDayHour, endDayHour);\r\n case \"timelineMonth\":\r\n return dateUtils.dateToMilliseconds(\"day\");\r\n default:\r\n return 36e5 * hoursInterval\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/data/data_source.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n DataSource\r\n} from \"./data_source/data_source\";\r\nexport default DataSource;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/utils/semaphore/semaphore.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport class Semaphore {\r\n constructor() {\r\n this.counter = 0\r\n }\r\n isFree() {\r\n return 0 === this.counter\r\n }\r\n take() {\r\n this.counter += 1\r\n }\r\n release() {\r\n this.counter -= 1;\r\n if (this.counter < 0) {\r\n this.counter = 0\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/appointment_popup/m_form.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport \"../m_recurrence_editor\";\r\nimport \"../../../ui/text_area\";\r\nimport \"../../../ui/tag_box\";\r\nimport \"../../../ui/switch\";\r\nimport \"../../../ui/select_box\";\r\nimport devices from \"../../../core/devices\";\r\nimport $ from \"../../../core/renderer\";\r\nimport dateUtils from \"../../../core/utils/date\";\r\nimport dateSerialization from \"../../../core/utils/date_serialization\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport DataSource from \"../../../data/data_source\";\r\nimport messageLocalization from \"../../../localization/message\";\r\nimport {\r\n Semaphore\r\n} from \"../../../renovation/ui/scheduler/utils/semaphore/semaphore\";\r\nimport Form from \"../../../ui/form\";\r\nimport {\r\n createAppointmentAdapter\r\n} from \"../m_appointment_adapter\";\r\nimport timeZoneDataUtils from \"../timezones/m_utils_timezones_data\";\r\nvar SCREEN_SIZE_OF_SINGLE_COLUMN = 600;\r\nexport var APPOINTMENT_FORM_GROUP_NAMES = {\r\n Main: \"mainGroup\",\r\n Recurrence: \"recurrenceGroup\"\r\n};\r\nvar getStartDateWithStartHour = (startDate, startDayHour) => new Date(new Date(startDate).setHours(startDayHour));\r\nvar validateAppointmentFormDate = (editor, value, previousValue) => {\r\n var isCurrentDateCorrect = null === value || !!value;\r\n var isPreviousDateCorrect = null === previousValue || !!previousValue;\r\n if (!isCurrentDateCorrect && isPreviousDateCorrect) {\r\n editor.option(\"value\", previousValue)\r\n }\r\n};\r\nvar updateRecurrenceItemVisibility = (recurrenceRuleExpr, value, form) => {\r\n var _a;\r\n form.itemOption(APPOINTMENT_FORM_GROUP_NAMES.Recurrence, \"visible\", value);\r\n !value && form.updateData(recurrenceRuleExpr, \"\");\r\n null === (_a = form.getEditor(recurrenceRuleExpr)) || void 0 === _a ? void 0 : _a.changeValueByVisibility(value)\r\n};\r\nvar createDateBoxEditor = (dataField, colSpan, firstDayOfWeek, label, onValueChanged) => ({\r\n editorType: \"dxDateBox\",\r\n dataField: dataField,\r\n colSpan: colSpan,\r\n label: {\r\n text: messageLocalization.format(label)\r\n },\r\n validationRules: [{\r\n type: \"required\"\r\n }],\r\n editorOptions: {\r\n width: \"100%\",\r\n calendarOptions: {\r\n firstDayOfWeek: firstDayOfWeek\r\n },\r\n onValueChanged: onValueChanged,\r\n useMaskBehavior: true\r\n }\r\n});\r\nexport class AppointmentForm {\r\n constructor(scheduler) {\r\n this.scheduler = scheduler;\r\n this.form = null;\r\n this.semaphore = new Semaphore\r\n }\r\n get dxForm() {\r\n return this.form\r\n }\r\n set readOnly(value) {\r\n this.form.option(\"readOnly\", value);\r\n var {\r\n recurrenceRuleExpr: recurrenceRuleExpr\r\n } = this.scheduler.getDataAccessors().expr;\r\n var recurrenceEditor = this.form.getEditor(recurrenceRuleExpr);\r\n null === recurrenceEditor || void 0 === recurrenceEditor ? void 0 : recurrenceEditor.option(\"readOnly\", value)\r\n }\r\n get formData() {\r\n return this.form.option(\"formData\")\r\n }\r\n set formData(value) {\r\n this.form.option(\"formData\", value)\r\n }\r\n create(triggerResize, changeSize, formData) {\r\n var {\r\n allowTimeZoneEditing: allowTimeZoneEditing\r\n } = this.scheduler.getEditingConfig();\r\n var {\r\n expr: expr\r\n } = this.scheduler.getDataAccessors();\r\n var recurrenceEditorVisibility = !!formData[expr.recurrenceRuleExpr];\r\n var colSpan = recurrenceEditorVisibility ? 1 : 2;\r\n var mainItems = [...this._createMainItems(expr, triggerResize, changeSize, allowTimeZoneEditing), ...this.scheduler.createResourceEditorModel()];\r\n changeSize(recurrenceEditorVisibility);\r\n var items = [{\r\n itemType: \"group\",\r\n name: APPOINTMENT_FORM_GROUP_NAMES.Main,\r\n colCountByScreen: {\r\n lg: 2,\r\n xs: 1\r\n },\r\n colSpan: colSpan,\r\n items: mainItems\r\n }, {\r\n itemType: \"group\",\r\n name: APPOINTMENT_FORM_GROUP_NAMES.Recurrence,\r\n visible: recurrenceEditorVisibility,\r\n colSpan: colSpan,\r\n items: this._createRecurrenceEditor(expr)\r\n }];\r\n var element = $(\"<div>\");\r\n this.scheduler.createComponent(element, Form, {\r\n items: items,\r\n showValidationSummary: true,\r\n scrollingEnabled: true,\r\n colCount: \"auto\",\r\n colCountByScreen: {\r\n lg: 2,\r\n xs: 1\r\n },\r\n formData: formData,\r\n showColonAfterLabel: false,\r\n labelLocation: \"top\",\r\n onInitialized: e => {\r\n this.form = e.component\r\n },\r\n customizeItem: e => {\r\n if (this.form && \"group\" === e.itemType) {\r\n var dataExprs = this.scheduler.getDataAccessors().expr;\r\n var startDate = new Date(this.formData[dataExprs.startDateExpr]);\r\n var endDate = new Date(this.formData[dataExprs.endDateExpr]);\r\n var startTimeZoneEditor = e.items.find(i => i.dataField === dataExprs.startDateTimeZoneExpr);\r\n var endTimeZoneEditor = e.items.find(i => i.dataField === dataExprs.endDateTimeZoneExpr);\r\n if (startTimeZoneEditor) {\r\n startTimeZoneEditor.editorOptions.dataSource = this.createTimeZoneDataSource(startDate)\r\n }\r\n if (endTimeZoneEditor) {\r\n endTimeZoneEditor.editorOptions.dataSource = this.createTimeZoneDataSource(endDate)\r\n }\r\n }\r\n },\r\n screenByWidth: width => width < SCREEN_SIZE_OF_SINGLE_COLUMN || \"desktop\" !== devices.current().deviceType ? \"xs\" : \"lg\"\r\n })\r\n }\r\n createTimeZoneDataSource(date) {\r\n return new DataSource({\r\n store: timeZoneDataUtils.getDisplayedTimeZones(date),\r\n paginate: true,\r\n pageSize: 10\r\n })\r\n }\r\n _createAppointmentAdapter(rawAppointment) {\r\n return createAppointmentAdapter(rawAppointment, this.scheduler.getDataAccessors())\r\n }\r\n _dateBoxValueChanged(args, dateExpr, isNeedCorrect) {\r\n validateAppointmentFormDate(args.component, args.value, args.previousValue);\r\n var value = dateSerialization.deserializeDate(args.value);\r\n var previousValue = dateSerialization.deserializeDate(args.previousValue);\r\n var dateEditor = this.form.getEditor(dateExpr);\r\n var dateValue = dateSerialization.deserializeDate(dateEditor.option(\"value\"));\r\n if (this.semaphore.isFree() && dateValue && value && isNeedCorrect(dateValue, value)) {\r\n var duration = previousValue ? dateValue.getTime() - previousValue.getTime() : 0;\r\n dateEditor.option(\"value\", new Date(value.getTime() + duration))\r\n }\r\n }\r\n _createTimezoneEditor(timeZoneExpr, secondTimeZoneExpr, visibleIndex, colSpan, isMainTimeZone) {\r\n var visible = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : false;\r\n var noTzTitle = messageLocalization.format(\"dxScheduler-noTimezoneTitle\");\r\n return {\r\n dataField: timeZoneExpr,\r\n editorType: \"dxSelectBox\",\r\n visibleIndex: visibleIndex,\r\n colSpan: colSpan,\r\n label: {\r\n text: \" \"\r\n },\r\n editorOptions: {\r\n displayExpr: \"title\",\r\n valueExpr: \"id\",\r\n placeholder: noTzTitle,\r\n searchEnabled: true,\r\n onValueChanged: args => {\r\n var {\r\n form: form\r\n } = this;\r\n var secondTimezoneEditor = form.getEditor(secondTimeZoneExpr);\r\n if (isMainTimeZone) {\r\n secondTimezoneEditor.option(\"value\", args.value)\r\n }\r\n }\r\n },\r\n visible: visible\r\n }\r\n }\r\n _createDateBoxItems(dataExprs, allowTimeZoneEditing) {\r\n var colSpan = allowTimeZoneEditing ? 2 : 1;\r\n var firstDayOfWeek = this.scheduler.getFirstDayOfWeek();\r\n return [createDateBoxEditor(dataExprs.startDateExpr, colSpan, firstDayOfWeek, \"dxScheduler-editorLabelStartDate\", args => {\r\n this._dateBoxValueChanged(args, dataExprs.endDateExpr, (endValue, startValue) => endValue < startValue)\r\n }), this._createTimezoneEditor(dataExprs.startDateTimeZoneExpr, dataExprs.endDateTimeZoneExpr, 1, colSpan, true, allowTimeZoneEditing), createDateBoxEditor(dataExprs.endDateExpr, colSpan, firstDayOfWeek, \"dxScheduler-editorLabelEndDate\", args => {\r\n this._dateBoxValueChanged(args, dataExprs.startDateExpr, (startValue, endValue) => endValue < startValue)\r\n }), this._createTimezoneEditor(dataExprs.endDateTimeZoneExpr, dataExprs.startDateTimeZoneExpr, 3, colSpan, false, allowTimeZoneEditing)]\r\n }\r\n _changeFormItemDateType(itemPath, isAllDay) {\r\n var itemEditorOptions = this.form.itemOption(itemPath).editorOptions;\r\n var type = isAllDay ? \"date\" : \"datetime\";\r\n var newEditorOption = _extends(_extends({}, itemEditorOptions), {\r\n type: type\r\n });\r\n this.form.itemOption(itemPath, \"editorOptions\", newEditorOption)\r\n }\r\n _createMainItems(dataExprs, triggerResize, changeSize, allowTimeZoneEditing) {\r\n return [{\r\n dataField: dataExprs.textExpr,\r\n editorType: \"dxTextBox\",\r\n colSpan: 2,\r\n label: {\r\n text: messageLocalization.format(\"dxScheduler-editorLabelTitle\")\r\n }\r\n }, {\r\n itemType: \"group\",\r\n colSpan: 2,\r\n colCountByScreen: {\r\n lg: 2,\r\n xs: 1\r\n },\r\n items: this._createDateBoxItems(dataExprs, allowTimeZoneEditing)\r\n }, {\r\n itemType: \"group\",\r\n colSpan: 2,\r\n colCountByScreen: {\r\n lg: 2,\r\n xs: 2\r\n },\r\n items: [{\r\n dataField: dataExprs.allDayExpr,\r\n cssClass: \"dx-appointment-form-switch\",\r\n editorType: \"dxSwitch\",\r\n label: {\r\n text: messageLocalization.format(\"dxScheduler-allDay\"),\r\n location: \"right\"\r\n },\r\n editorOptions: {\r\n onValueChanged: args => {\r\n var {\r\n value: value\r\n } = args;\r\n var startDateEditor = this.form.getEditor(dataExprs.startDateExpr);\r\n var endDateEditor = this.form.getEditor(dataExprs.endDateExpr);\r\n var startDate = dateSerialization.deserializeDate(startDateEditor.option(\"value\"));\r\n if (this.semaphore.isFree() && startDate) {\r\n if (value) {\r\n var allDayStartDate = dateUtils.trimTime(startDate);\r\n startDateEditor.option(\"value\", new Date(allDayStartDate));\r\n endDateEditor.option(\"value\", new Date(allDayStartDate))\r\n } else {\r\n var startDateWithStartHour = getStartDateWithStartHour(startDate, this.scheduler.getStartDayHour());\r\n var endDate = this.scheduler.getCalculatedEndDate(startDateWithStartHour);\r\n startDateEditor.option(\"value\", startDateWithStartHour);\r\n endDateEditor.option(\"value\", endDate)\r\n }\r\n }\r\n var startDateItemPath = \"\".concat(APPOINTMENT_FORM_GROUP_NAMES.Main, \".\").concat(dataExprs.startDateExpr);\r\n var endDateItemPath = \"\".concat(APPOINTMENT_FORM_GROUP_NAMES.Main, \".\").concat(dataExprs.endDateExpr);\r\n this._changeFormItemDateType(startDateItemPath, value);\r\n this._changeFormItemDateType(endDateItemPath, value)\r\n }\r\n }\r\n }, {\r\n editorType: \"dxSwitch\",\r\n dataField: \"repeat\",\r\n cssClass: \"dx-appointment-form-switch\",\r\n name: \"visibilityChanged\",\r\n label: {\r\n text: messageLocalization.format(\"dxScheduler-editorLabelRecurrence\"),\r\n location: \"right\"\r\n },\r\n editorOptions: {\r\n onValueChanged: args => {\r\n var {\r\n form: form\r\n } = this;\r\n var colSpan = args.value ? 1 : 2;\r\n form.itemOption(APPOINTMENT_FORM_GROUP_NAMES.Main, \"colSpan\", colSpan);\r\n form.itemOption(APPOINTMENT_FORM_GROUP_NAMES.Recurrence, \"colSpan\", colSpan);\r\n updateRecurrenceItemVisibility(dataExprs.recurrenceRuleExpr, args.value, form);\r\n changeSize(args.value);\r\n triggerResize()\r\n }\r\n }\r\n }]\r\n }, {\r\n itemType: \"empty\",\r\n colSpan: 2\r\n }, {\r\n dataField: dataExprs.descriptionExpr,\r\n editorType: \"dxTextArea\",\r\n colSpan: 2,\r\n label: {\r\n text: messageLocalization.format(\"dxScheduler-editorLabelDescription\")\r\n }\r\n }, {\r\n itemType: \"empty\",\r\n colSpan: 2\r\n }]\r\n }\r\n _createRecurrenceEditor(dataExprs) {\r\n return [{\r\n dataField: dataExprs.recurrenceRuleExpr,\r\n editorType: \"dxRecurrenceEditor\",\r\n editorOptions: {\r\n firstDayOfWeek: this.scheduler.getFirstDayOfWeek(),\r\n timeZoneCalculator: this.scheduler.getTimeZoneCalculator(),\r\n getStartDateTimeZone: () => this._createAppointmentAdapter(this.formData).startDateTimeZone\r\n },\r\n label: {\r\n text: \" \",\r\n visible: false\r\n }\r\n }]\r\n }\r\n setEditorsType(allDay) {\r\n var {\r\n startDateExpr: startDateExpr,\r\n endDateExpr: endDateExpr\r\n } = this.scheduler.getDataAccessors().expr;\r\n var startDateItemPath = \"\".concat(APPOINTMENT_FORM_GROUP_NAMES.Main, \".\").concat(startDateExpr);\r\n var endDateItemPath = \"\".concat(APPOINTMENT_FORM_GROUP_NAMES.Main, \".\").concat(endDateExpr);\r\n var startDateFormItem = this.form.itemOption(startDateItemPath);\r\n var endDateFormItem = this.form.itemOption(endDateItemPath);\r\n if (startDateFormItem && endDateFormItem) {\r\n var startDateEditorOptions = startDateFormItem.editorOptions;\r\n var endDateEditorOptions = endDateFormItem.editorOptions;\r\n startDateEditorOptions.type = endDateEditorOptions.type = allDay ? \"date\" : \"datetime\";\r\n this.form.itemOption(startDateItemPath, \"editorOptions\", startDateEditorOptions);\r\n this.form.itemOption(endDateItemPath, \"editorOptions\", endDateEditorOptions)\r\n }\r\n }\r\n updateRecurrenceEditorStartDate(date, expression) {\r\n var options = {\r\n startDate: date\r\n };\r\n this.setEditorOptions(expression, \"Recurrence\", options)\r\n }\r\n setEditorOptions(name, groupName, options) {\r\n var editorPath = \"\".concat(APPOINTMENT_FORM_GROUP_NAMES[groupName], \".\").concat(name);\r\n var editor = this.form.itemOption(editorPath);\r\n editor && this.form.itemOption(editorPath, \"editorOptions\", extend({}, editor.editorOptions, options))\r\n }\r\n setTimeZoneEditorDataSource(date, path) {\r\n var dataSource = this.createTimeZoneDataSource(date);\r\n this.setEditorOptions(path, \"Main\", {\r\n dataSource: dataSource\r\n })\r\n }\r\n updateFormData(formData) {\r\n this.semaphore.take();\r\n this.form.option(\"formData\", formData);\r\n var dataExprs = this.scheduler.getDataAccessors().expr;\r\n var allDay = formData[dataExprs.allDayExpr];\r\n var startDate = new Date(formData[dataExprs.startDateExpr]);\r\n var endDate = new Date(formData[dataExprs.endDateExpr]);\r\n this.setTimeZoneEditorDataSource(startDate, dataExprs.startDateTimeZoneExpr);\r\n this.setTimeZoneEditorDataSource(endDate, dataExprs.endDateTimeZoneExpr);\r\n this.updateRecurrenceEditorStartDate(startDate, dataExprs.recurrenceRuleExpr);\r\n this.setEditorsType(allDay);\r\n this.semaphore.release()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/appointment_edit_form/popup_config.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport devices from \"../../../../core/devices\";\r\nimport {\r\n getWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n getWindow\r\n} from \"../../../../core/utils/window\";\r\nexport var POPUP_WIDTH = {\r\n DEFAULT: 485,\r\n RECURRENCE: 970,\r\n FULLSCREEN: 1e3,\r\n MOBILE: {\r\n DEFAULT: 350,\r\n FULLSCREEN: 500\r\n }\r\n};\r\nexport var defaultAnimation = {\r\n show: {\r\n type: \"pop\",\r\n duration: 300,\r\n from: {\r\n scale: .55\r\n }\r\n },\r\n hide: {\r\n type: \"pop\",\r\n duration: 300,\r\n to: {\r\n opacity: 0,\r\n scale: .55\r\n },\r\n from: {\r\n opacity: 1,\r\n scale: 1\r\n }\r\n }\r\n};\r\nvar isMobile = () => \"desktop\" !== devices.current().deviceType;\r\nvar isIOSPlatform = () => \"ios\" === devices.current().platform;\r\nvar TOOLBAR_LOCATION = {\r\n AFTER: \"after\",\r\n BEFORE: \"before\"\r\n};\r\nvar getButtonsConfig = () => ({\r\n doneButton: {\r\n shortcut: \"done\",\r\n options: {\r\n text: messageLocalization.format(\"Done\")\r\n },\r\n location: TOOLBAR_LOCATION.AFTER\r\n },\r\n cancelButton: {\r\n shortcut: \"cancel\",\r\n location: isIOSPlatform() ? TOOLBAR_LOCATION.BEFORE : TOOLBAR_LOCATION.AFTER\r\n }\r\n});\r\nexport var getPopupToolbarItems = (allowUpdating, doneClick) => {\r\n var result = [];\r\n var buttonsConfig = getButtonsConfig();\r\n if (allowUpdating) {\r\n result.push(_extends({}, buttonsConfig.doneButton, {\r\n onClick: doneClick\r\n }))\r\n }\r\n result.push(buttonsConfig.cancelButton);\r\n return result\r\n};\r\nexport var isPopupFullScreenNeeded = () => {\r\n var window = getWindow();\r\n var width = window && getWidth(window);\r\n if (width) {\r\n return isMobile() ? width < POPUP_WIDTH.MOBILE.FULLSCREEN : width < POPUP_WIDTH.FULLSCREEN\r\n }\r\n return false\r\n};\r\nexport var getMaxWidth = isRecurrence => {\r\n if (isMobile()) {\r\n return POPUP_WIDTH.MOBILE.DEFAULT\r\n }\r\n return isRecurrence ? POPUP_WIDTH.RECURRENCE : POPUP_WIDTH.DEFAULT\r\n};\r\nexport var getPopupSize = isRecurrence => ({\r\n fullScreen: isPopupFullScreenNeeded(),\r\n maxWidth: getMaxWidth(isRecurrence)\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/m_loading.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n value as viewPort\r\n} from \"../../core/utils/view_port\";\r\nimport LoadPanel from \"../../ui/load_panel\";\r\nvar loading = null;\r\nvar createLoadPanel = function(options) {\r\n return new LoadPanel($(\"<div>\").appendTo(options && options.container || viewPort()), options)\r\n};\r\nvar removeLoadPanel = function() {\r\n if (!loading) {\r\n return\r\n }\r\n loading.$element().remove();\r\n loading = null\r\n};\r\nexport function show(options) {\r\n removeLoadPanel();\r\n loading = createLoadPanel(options);\r\n return loading.show()\r\n}\r\nexport function hide() {\r\n if (!loading) {\r\n return (new Deferred).resolve()\r\n }\r\n return loading.hide().done(removeLoadPanel).promise()\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/appointment_popup/m_popup.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport devices from \"../../../core/devices\";\r\nimport $ from \"../../../core/renderer\";\r\nimport dateUtils from \"../../../core/utils/date\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../core/utils/deferred\";\r\nimport {\r\n triggerResizeEvent\r\n} from \"../../../events/visibility_change\";\r\nimport {\r\n getMaxWidth,\r\n getPopupToolbarItems,\r\n isPopupFullScreenNeeded\r\n} from \"../../../renovation/ui/scheduler/appointment_edit_form/popup_config\";\r\nimport Popup from \"../../../ui/popup/ui.popup\";\r\nimport {\r\n createAppointmentAdapter\r\n} from \"../m_appointment_adapter\";\r\nimport {\r\n hide as hideLoading,\r\n show as showLoading\r\n} from \"../m_loading\";\r\nimport {\r\n getNormalizedResources\r\n} from \"../resources/m_utils\";\r\nvar toMs = dateUtils.dateToMilliseconds;\r\nvar APPOINTMENT_POPUP_CLASS = \"dx-scheduler-appointment-popup\";\r\nvar DAY_IN_MS = toMs(\"day\");\r\nvar POPUP_CONFIG = {\r\n height: \"auto\",\r\n maxHeight: \"100%\",\r\n showCloseButton: false,\r\n showTitle: false,\r\n defaultOptionsRules: [{\r\n device: () => devices.current().android,\r\n options: {\r\n showTitle: false\r\n }\r\n }]\r\n};\r\nexport var ACTION_TO_APPOINTMENT = {\r\n CREATE: 0,\r\n UPDATE: 1,\r\n EXCLUDE_FROM_SERIES: 2\r\n};\r\nexport class AppointmentPopup {\r\n constructor(scheduler, form) {\r\n this.scheduler = scheduler;\r\n this.form = form;\r\n this.popup = null;\r\n this.state = {\r\n action: null,\r\n lastEditData: null,\r\n saveChangesLocker: false,\r\n appointment: {\r\n data: null\r\n }\r\n }\r\n }\r\n get visible() {\r\n return this.popup ? this.popup.option(\"visible\") : false\r\n }\r\n show(appointment, config) {\r\n this.state.appointment.data = appointment;\r\n this.state.action = config.action;\r\n this.state.excludeInfo = config.excludeInfo;\r\n if (!this.popup) {\r\n var popupConfig = this._createPopupConfig();\r\n this.popup = this._createPopup(popupConfig)\r\n }\r\n this.popup.option(\"toolbarItems\", getPopupToolbarItems(config.isToolbarVisible, e => this._doneButtonClickHandler(e)));\r\n this.popup.show()\r\n }\r\n hide() {\r\n this.popup.hide()\r\n }\r\n dispose() {\r\n var _a;\r\n null === (_a = this.popup) || void 0 === _a ? void 0 : _a.$element().remove()\r\n }\r\n _createPopup(options) {\r\n var popupElement = $(\"<div>\").addClass(APPOINTMENT_POPUP_CLASS).appendTo(this.scheduler.getElement());\r\n return this.scheduler.createComponent(popupElement, Popup, options)\r\n }\r\n _createPopupConfig() {\r\n return _extends(_extends({}, POPUP_CONFIG), {\r\n onHiding: () => this.scheduler.focus(),\r\n contentTemplate: () => this._createPopupContent(),\r\n onShowing: e => this._onShowing(e),\r\n wrapperAttr: {\r\n class: APPOINTMENT_POPUP_CLASS\r\n }\r\n })\r\n }\r\n _onShowing(e) {\r\n this._updateForm();\r\n var arg = {\r\n form: this.form.dxForm,\r\n popup: this.popup,\r\n appointmentData: this.state.appointment.data,\r\n cancel: false\r\n };\r\n this.scheduler.getAppointmentFormOpening()(arg);\r\n this.scheduler.processActionResult(arg, canceled => {\r\n if (canceled) {\r\n e.cancel = true\r\n } else {\r\n this.updatePopupFullScreenMode()\r\n }\r\n })\r\n }\r\n _createPopupContent() {\r\n this._createForm();\r\n return this.form.dxForm.$element()\r\n }\r\n _createFormData(rawAppointment) {\r\n var appointment = this._createAppointmentAdapter(rawAppointment);\r\n var dataAccessors = this.scheduler.getDataAccessors();\r\n var resources = this.scheduler.getResources();\r\n var normalizedResources = getNormalizedResources(rawAppointment, dataAccessors, resources);\r\n return _extends(_extends(_extends({}, rawAppointment), normalizedResources), {\r\n repeat: !!appointment.recurrenceRule\r\n })\r\n }\r\n _createForm() {\r\n var rawAppointment = this.state.appointment.data;\r\n var formData = this._createFormData(rawAppointment);\r\n this.form.create(this.triggerResize.bind(this), this.changeSize.bind(this), formData)\r\n }\r\n _isReadOnly(rawAppointment) {\r\n var appointment = this._createAppointmentAdapter(rawAppointment);\r\n if (rawAppointment && appointment.disabled) {\r\n return true\r\n }\r\n if (this.state.action === ACTION_TO_APPOINTMENT.CREATE) {\r\n return false\r\n }\r\n return !this.scheduler.getEditingConfig().allowUpdating\r\n }\r\n _createAppointmentAdapter(rawAppointment) {\r\n return createAppointmentAdapter(rawAppointment, this.scheduler.getDataAccessors(), this.scheduler.getTimeZoneCalculator())\r\n }\r\n _updateForm() {\r\n var {\r\n data: data\r\n } = this.state.appointment;\r\n var appointment = this._createAppointmentAdapter(this._createFormData(data));\r\n if (appointment.startDate) {\r\n appointment.startDate = appointment.calculateStartDate(\"toAppointment\")\r\n }\r\n if (appointment.endDate) {\r\n appointment.endDate = appointment.calculateEndDate(\"toAppointment\")\r\n }\r\n var formData = appointment.source();\r\n this.form.readOnly = this._isReadOnly(formData);\r\n this.form.updateFormData(formData)\r\n }\r\n triggerResize() {\r\n if (this.popup) {\r\n triggerResizeEvent(this.popup.$element())\r\n }\r\n }\r\n changeSize(isRecurrence) {\r\n if (this.popup) {\r\n var isFullScreen = isPopupFullScreenNeeded();\r\n var maxWidth = isFullScreen ? \"100%\" : getMaxWidth(isRecurrence);\r\n this.popup.option(\"fullScreen\", isFullScreen);\r\n this.popup.option(\"maxWidth\", maxWidth)\r\n }\r\n }\r\n updatePopupFullScreenMode() {\r\n if (this.form.dxForm) {\r\n var {\r\n formData: formData\r\n } = this.form;\r\n var isRecurrence = formData[this.scheduler.getDataAccessors().expr.recurrenceRuleExpr];\r\n if (this.visible) {\r\n this.changeSize(isRecurrence)\r\n }\r\n }\r\n }\r\n saveChangesAsync(isShowLoadPanel) {\r\n var deferred = new Deferred;\r\n var validation = this.form.dxForm.validate();\r\n isShowLoadPanel && this._showLoadPanel();\r\n when(validation && validation.complete || validation).done(validation => {\r\n if (validation && !validation.isValid) {\r\n hideLoading();\r\n deferred.resolve(false);\r\n return\r\n }\r\n var adapter = this._createAppointmentAdapter(this.form.formData);\r\n var clonedAdapter = adapter.clone({\r\n pathTimeZone: \"fromAppointment\"\r\n });\r\n this._addMissingDSTTime(adapter, clonedAdapter);\r\n var appointment = clonedAdapter.source();\r\n delete appointment.repeat;\r\n switch (this.state.action) {\r\n case ACTION_TO_APPOINTMENT.CREATE:\r\n this.scheduler.addAppointment(appointment).done(deferred.resolve);\r\n break;\r\n case ACTION_TO_APPOINTMENT.UPDATE:\r\n this.scheduler.updateAppointment(this.state.appointment.data, appointment).done(deferred.resolve);\r\n break;\r\n case ACTION_TO_APPOINTMENT.EXCLUDE_FROM_SERIES:\r\n this.scheduler.updateAppointment(this.state.excludeInfo.sourceAppointment, this.state.excludeInfo.updatedAppointment);\r\n this.scheduler.addAppointment(appointment).done(deferred.resolve)\r\n }\r\n deferred.done(() => {\r\n hideLoading();\r\n this.state.lastEditData = appointment\r\n })\r\n });\r\n return deferred.promise()\r\n }\r\n _doneButtonClickHandler(e) {\r\n e.cancel = true;\r\n this.saveEditDataAsync()\r\n }\r\n saveEditDataAsync() {\r\n var deferred = new Deferred;\r\n if (this._tryLockSaveChanges()) {\r\n when(this.saveChangesAsync(true)).done(() => {\r\n if (this.state.lastEditData) {\r\n var adapter = this._createAppointmentAdapter(this.state.lastEditData);\r\n var {\r\n startDate: startDate,\r\n endDate: endDate,\r\n allDay: allDay\r\n } = adapter;\r\n var startTime = startDate.getTime();\r\n var endTime = endDate.getTime();\r\n var inAllDayRow = allDay || endTime - startTime >= DAY_IN_MS;\r\n var dataAccessors = this.scheduler.getDataAccessors();\r\n var resourceList = this.scheduler.getResources();\r\n var normalizedResources = getNormalizedResources(this.state.lastEditData, dataAccessors, resourceList);\r\n this.scheduler.updateScrollPosition(startDate, normalizedResources, inAllDayRow);\r\n this.state.lastEditData = null\r\n }\r\n this._unlockSaveChanges();\r\n deferred.resolve()\r\n })\r\n }\r\n return deferred.promise()\r\n }\r\n _showLoadPanel() {\r\n var container = this.popup.$overlayContent();\r\n showLoading({\r\n container: container,\r\n position: {\r\n of: container\r\n }\r\n })\r\n }\r\n _tryLockSaveChanges() {\r\n if (false === this.state.saveChangesLocker) {\r\n this.state.saveChangesLocker = true;\r\n return true\r\n }\r\n return false\r\n }\r\n _unlockSaveChanges() {\r\n this.state.saveChangesLocker = false\r\n }\r\n _addMissingDSTTime(formAppointmentAdapter, clonedAppointmentAdapter) {\r\n var timeZoneCalculator = this.scheduler.getTimeZoneCalculator();\r\n clonedAppointmentAdapter.startDate = this._addMissingDSTShiftToDate(timeZoneCalculator, formAppointmentAdapter.startDate, clonedAppointmentAdapter.startDate);\r\n if (clonedAppointmentAdapter.endDate) {\r\n clonedAppointmentAdapter.endDate = this._addMissingDSTShiftToDate(timeZoneCalculator, formAppointmentAdapter.endDate, clonedAppointmentAdapter.endDate)\r\n }\r\n }\r\n _addMissingDSTShiftToDate(timeZoneCalculator, originFormDate, clonedDate) {\r\n var _a, _b;\r\n var originTimezoneShift = null === (_a = timeZoneCalculator.getOffsets(originFormDate)) || void 0 === _a ? void 0 : _a.common;\r\n var clonedTimezoneShift = null === (_b = timeZoneCalculator.getOffsets(clonedDate)) || void 0 === _b ? void 0 : _b.common;\r\n var shiftDifference = originTimezoneShift - clonedTimezoneShift;\r\n return shiftDifference ? new Date(clonedDate.getTime() + shiftDifference * toMs(\"hour\")) : clonedDate\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/utils/filtering/getDatesWithoutTime.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dateUtils from \"../../../../../core/utils/date\";\r\nvar getDatesWithoutTime = (min, max) => {\r\n var newMin = dateUtils.trimTime(min);\r\n var newMax = dateUtils.trimTime(max);\r\n newMax.setDate(newMax.getDate() + 1);\r\n return [newMin, newMax]\r\n};\r\nexport default getDatesWithoutTime;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/utils/filtering/remote.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n equalByValue\r\n} from \"../../../../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../../../../core/utils/extend\";\r\nimport dateSerialization from \"../../../../../core/utils/date_serialization\";\r\nimport {\r\n isDefined,\r\n isString\r\n} from \"../../../../../core/utils/type\";\r\nimport getDatesWithoutTime from \"./getDatesWithoutTime\";\r\nvar FilterPosition = {\r\n dateFilter: 0,\r\n userFilter: 1\r\n};\r\nclass RemoteFilterCombiner {\r\n constructor(options) {\r\n this.options = options\r\n }\r\n get dataAccessors() {\r\n return this.options.dataAccessors\r\n }\r\n get dataSourceFilter() {\r\n return this.options.dataSourceFilter\r\n }\r\n get dateSerializationFormat() {\r\n return this.options.dateSerializationFormat\r\n }\r\n get forceIsoDateParsing() {\r\n return isDefined(this.options.forceIsoDateParsing) ? this.options.forceIsoDateParsing : true\r\n }\r\n makeDateFilter(min, max) {\r\n var {\r\n endDateExpr: endDateExpr,\r\n recurrenceRuleExpr: recurrenceRuleExpr,\r\n startDateExpr: startDateExpr\r\n } = this.dataAccessors.expr;\r\n var dateFilter = [\r\n [\r\n [endDateExpr, \">=\", min],\r\n [startDateExpr, \"<\", max]\r\n ], \"or\", [recurrenceRuleExpr, \"startswith\", \"freq\"], \"or\", [\r\n [endDateExpr, min],\r\n [startDateExpr, min]\r\n ]\r\n ];\r\n if (!recurrenceRuleExpr) {\r\n dateFilter.splice(1, 2)\r\n }\r\n return dateFilter\r\n }\r\n combineFilters(dateFilter, userFilter) {\r\n var combinedFilter = [];\r\n dateFilter && combinedFilter.push(dateFilter);\r\n userFilter && combinedFilter.push(userFilter);\r\n return this.serializeRemoteFilter(combinedFilter)\r\n }\r\n serializeRemoteFilter(combinedFilter) {\r\n if (!Array.isArray(combinedFilter)) {\r\n return combinedFilter\r\n }\r\n var {\r\n endDateExpr: endDateExpr,\r\n startDateExpr: startDateExpr\r\n } = this.dataAccessors.expr;\r\n var filter = extend([], combinedFilter);\r\n if (isString(filter[0])) {\r\n if (this.forceIsoDateParsing && filter.length > 1) {\r\n if (filter[0] === startDateExpr || filter[0] === endDateExpr) {\r\n var lastFilterValue = filter[filter.length - 1];\r\n filter[filter.length - 1] = dateSerialization.serializeDate(new Date(lastFilterValue), this.dateSerializationFormat)\r\n }\r\n }\r\n }\r\n for (var i = 0; i < filter.length; i += 1) {\r\n filter[i] = this.serializeRemoteFilter(filter[i])\r\n }\r\n return filter\r\n }\r\n getUserFilter(dateFilter) {\r\n if (!this.dataSourceFilter || equalByValue(this.dataSourceFilter, dateFilter)) {\r\n return\r\n }\r\n var containsDateFilter = this.dataSourceFilter.length > 0 && equalByValue(this.dataSourceFilter[FilterPosition.dateFilter], dateFilter);\r\n var userFilter = containsDateFilter ? this.dataSourceFilter[FilterPosition.userFilter] : this.dataSourceFilter;\r\n return userFilter\r\n }\r\n combine(min, max) {\r\n var [trimMin, trimMax] = getDatesWithoutTime(min, max);\r\n var dateFilter = this.makeDateFilter(trimMin, trimMax);\r\n var userFilter = this.getUserFilter(dateFilter);\r\n var combinedFilter = this.combineFilters(dateFilter, userFilter);\r\n return combinedFilter\r\n }\r\n}\r\nvar combineRemoteFilter = options => new RemoteFilterCombiner(options).combine(options.min, options.max);\r\nexport default combineRemoteFilter;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/appointments/data_provider/m_appointment_data_source.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n Deferred\r\n} from \"../../../../core/utils/deferred\";\r\nvar STORE_EVENTS = {\r\n updating: \"updating\",\r\n push: \"push\"\r\n};\r\nexport class AppointmentDataSource {\r\n constructor(dataSource) {\r\n this.setDataSource(dataSource);\r\n this._updatedAppointmentKeys = []\r\n }\r\n get keyName() {\r\n var store = this._dataSource.store();\r\n return store.key()\r\n }\r\n get isDataSourceInit() {\r\n return !!this._dataSource\r\n }\r\n _getStoreKey(target) {\r\n var store = this._dataSource.store();\r\n return store.keyOf(target)\r\n }\r\n setDataSource(dataSource) {\r\n this._dataSource = dataSource;\r\n this.cleanState();\r\n this._initStoreChangeHandlers()\r\n }\r\n _initStoreChangeHandlers() {\r\n var dataSource = this._dataSource;\r\n var store = null === dataSource || void 0 === dataSource ? void 0 : dataSource.store();\r\n if (store) {\r\n store.on(STORE_EVENTS.updating, key => {\r\n var keyName = store.key();\r\n if (keyName) {\r\n this._updatedAppointmentKeys.push({\r\n key: keyName,\r\n value: key\r\n })\r\n } else {\r\n this._updatedAppointment = key\r\n }\r\n });\r\n store.on(STORE_EVENTS.push, pushItems => {\r\n var items = dataSource.items();\r\n var keyName = store.key();\r\n pushItems.forEach(pushItem => {\r\n var itemExists = 0 !== items.filter(item => item[keyName] === pushItem.key).length;\r\n if (itemExists) {\r\n this._updatedAppointmentKeys.push({\r\n key: keyName,\r\n value: pushItem.key\r\n })\r\n } else {\r\n var {\r\n data: data\r\n } = pushItem;\r\n data && items.push(data)\r\n }\r\n });\r\n dataSource.load()\r\n })\r\n }\r\n }\r\n getUpdatedAppointment() {\r\n return this._updatedAppointment\r\n }\r\n getUpdatedAppointmentKeys() {\r\n return this._updatedAppointmentKeys\r\n }\r\n cleanState() {\r\n this._updatedAppointment = null;\r\n this._updatedAppointmentKeys = []\r\n }\r\n add(rawAppointment) {\r\n return this._dataSource.store().insert(rawAppointment).done(() => this._dataSource.load())\r\n }\r\n update(target, data) {\r\n var key = this._getStoreKey(target);\r\n var d = new Deferred;\r\n this._dataSource.store().update(key, data).done(result => this._dataSource.load().done(() => d.resolve(result)).fail(d.reject)).fail(d.reject);\r\n return d.promise()\r\n }\r\n remove(rawAppointment) {\r\n var key = this._getStoreKey(rawAppointment);\r\n return this._dataSource.store().remove(key).done(() => this._dataSource.load())\r\n }\r\n destroy() {\r\n var _a;\r\n var store = null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.store();\r\n if (store) {\r\n store.off(STORE_EVENTS.updating);\r\n store.off(STORE_EVENTS.push)\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/appointments/data_provider/m_appointment_filter.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n wrapToArray\r\n} from \"../../../../core/utils/array\";\r\nimport dateUtils from \"../../../../core/utils/date\";\r\nimport {\r\n each,\r\n map\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n isDefined,\r\n isFunction\r\n} from \"../../../../core/utils/type\";\r\nimport query from \"../../../../data/query\";\r\nimport {\r\n getAppointmentTakesAllDay\r\n} from \"../../../../renovation/ui/scheduler/appointment/utils/getAppointmentTakesAllDay\";\r\nimport {\r\n hasResourceValue\r\n} from \"../../../../renovation/ui/scheduler/resources/hasResourceValue\";\r\nimport getDatesWithoutTime from \"../../../../renovation/ui/scheduler/utils/filtering/getDatesWithoutTime\";\r\nimport {\r\n isDateAndTimeView as calculateIsDateAndTimeView,\r\n isTimelineView\r\n} from \"../../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\";\r\nimport {\r\n createAppointmentAdapter\r\n} from \"../../m_appointment_adapter\";\r\nimport {\r\n getRecurrenceProcessor\r\n} from \"../../m_recurrence\";\r\nimport {\r\n getResourcesDataByGroups\r\n} from \"../../resources/m_utils\";\r\nimport {\r\n _appointmentPartInInterval,\r\n compareDateWithEndDayHour,\r\n compareDateWithStartDayHour,\r\n getAppointmentTakesSeveralDays,\r\n getRecurrenceException\r\n} from \"./m_utils\";\r\nvar toMs = dateUtils.dateToMilliseconds;\r\nvar FilterStrategies = {\r\n virtual: \"virtual\",\r\n standard: \"standard\"\r\n};\r\nexport class AppointmentFilterBaseStrategy {\r\n constructor(options) {\r\n this.options = options;\r\n this.dataAccessors = this.options.dataAccessors;\r\n this._init()\r\n }\r\n get strategyName() {\r\n return FilterStrategies.standard\r\n }\r\n get timeZoneCalculator() {\r\n return this.options.timeZoneCalculator\r\n }\r\n get viewStartDayHour() {\r\n return this.options.startDayHour\r\n }\r\n get viewEndDayHour() {\r\n return this.options.endDayHour\r\n }\r\n get timezone() {\r\n return this.options.timezone\r\n }\r\n get firstDayOfWeek() {\r\n return this.options.firstDayOfWeek\r\n }\r\n get showAllDayPanel() {\r\n return this.options.showAllDayPanel\r\n }\r\n get loadedResources() {\r\n return this._resolveOption(\"loadedResources\")\r\n }\r\n get supportAllDayRow() {\r\n return this._resolveOption(\"supportAllDayRow\")\r\n }\r\n get viewType() {\r\n return this._resolveOption(\"viewType\")\r\n }\r\n get viewDirection() {\r\n return this._resolveOption(\"viewDirection\")\r\n }\r\n get dateRange() {\r\n return this._resolveOption(\"dateRange\")\r\n }\r\n get groupCount() {\r\n return this._resolveOption(\"groupCount\")\r\n }\r\n get viewDataProvider() {\r\n return this._resolveOption(\"viewDataProvider\")\r\n }\r\n get allDayPanelMode() {\r\n return this._resolveOption(\"allDayPanelMode\")\r\n }\r\n _resolveOption(name) {\r\n var result = this.options[name];\r\n return \"function\" === typeof result ? result() : result\r\n }\r\n _init() {\r\n this.setDataAccessors(this.dataAccessors)\r\n }\r\n filter(preparedItems) {\r\n var {\r\n dateRange: dateRange\r\n } = this;\r\n var allDay;\r\n if (!this.showAllDayPanel && this.supportAllDayRow) {\r\n allDay = false\r\n }\r\n return this.filterLoadedAppointments({\r\n startDayHour: this.viewStartDayHour,\r\n endDayHour: this.viewEndDayHour,\r\n viewStartDayHour: this.viewStartDayHour,\r\n viewEndDayHour: this.viewEndDayHour,\r\n min: dateRange[0],\r\n max: dateRange[1],\r\n resources: this.loadedResources,\r\n allDay: allDay,\r\n supportMultiDayAppointments: isTimelineView(this.viewType),\r\n firstDayOfWeek: this.firstDayOfWeek\r\n }, preparedItems)\r\n }\r\n hasAllDayAppointments(filteredItems, preparedItems) {\r\n var adapters = filteredItems.map(item => createAppointmentAdapter(item, this.dataAccessors, this.timeZoneCalculator));\r\n var result = false;\r\n each(adapters, (_, item) => {\r\n if (getAppointmentTakesAllDay(item, this.viewStartDayHour, this.viewEndDayHour, this.allDayPanelMode)) {\r\n result = true;\r\n return false\r\n }\r\n });\r\n return result\r\n }\r\n setDataAccessors(dataAccessors) {\r\n this.dataAccessors = dataAccessors\r\n }\r\n _createAllDayAppointmentFilter(filterOptions) {\r\n var {\r\n viewStartDayHour: viewStartDayHour,\r\n viewEndDayHour: viewEndDayHour\r\n } = filterOptions;\r\n return [\r\n [appointment => getAppointmentTakesAllDay(appointment, viewStartDayHour, viewEndDayHour, this.allDayPanelMode)]\r\n ]\r\n }\r\n _createCombinedFilter(filterOptions) {\r\n var min = new Date(filterOptions.min);\r\n var max = new Date(filterOptions.max);\r\n var {\r\n startDayHour: startDayHour,\r\n endDayHour: endDayHour,\r\n viewStartDayHour: viewStartDayHour,\r\n viewEndDayHour: viewEndDayHour,\r\n resources: resources,\r\n firstDayOfWeek: firstDayOfWeek,\r\n checkIntersectViewport: checkIntersectViewport,\r\n supportMultiDayAppointments: supportMultiDayAppointments\r\n } = filterOptions;\r\n var [trimMin, trimMax] = getDatesWithoutTime(min, max);\r\n var useRecurrence = isDefined(this.dataAccessors.getter.recurrenceRule);\r\n return [\r\n [appointment => {\r\n var _a;\r\n var appointmentVisible = null !== (_a = appointment.visible) && void 0 !== _a ? _a : true;\r\n if (!appointmentVisible) {\r\n return false\r\n }\r\n var {\r\n startDate: startDate,\r\n endDate: endDate,\r\n hasRecurrenceRule: hasRecurrenceRule\r\n } = appointment;\r\n if (!hasRecurrenceRule) {\r\n if (!(endDate >= trimMin && startDate < trimMax || dateUtils.sameDate(endDate, trimMin) && dateUtils.sameDate(startDate, trimMin))) {\r\n return false\r\n }\r\n }\r\n var appointmentTakesAllDay = getAppointmentTakesAllDay(appointment, viewStartDayHour, viewEndDayHour, this.allDayPanelMode);\r\n var appointmentTakesSeveralDays = getAppointmentTakesSeveralDays(appointment);\r\n var isAllDay = appointment.allDay;\r\n var isLongAppointment = appointmentTakesSeveralDays || appointmentTakesAllDay;\r\n if ((null === resources || void 0 === resources ? void 0 : resources.length) && !this._filterAppointmentByResources(appointment.rawAppointment, resources)) {\r\n return false\r\n }\r\n if (appointmentTakesAllDay && false === filterOptions.allDay) {\r\n return false\r\n }\r\n if (hasRecurrenceRule) {\r\n var recurrenceException = getRecurrenceException(appointment, this.timeZoneCalculator, this.timezone);\r\n if (!this._filterAppointmentByRRule(_extends(_extends({}, appointment), {\r\n recurrenceException: recurrenceException,\r\n allDay: appointmentTakesAllDay\r\n }), min, max, startDayHour, endDayHour, firstDayOfWeek)) {\r\n return false\r\n }\r\n }\r\n if (!isAllDay && supportMultiDayAppointments && isLongAppointment) {\r\n if (endDate < min && (!useRecurrence || useRecurrence && !hasRecurrenceRule)) {\r\n return false\r\n }\r\n }\r\n if (isDefined(startDayHour) && (!useRecurrence || !filterOptions.isVirtualScrolling)) {\r\n if (!compareDateWithStartDayHour(startDate, endDate, startDayHour, appointmentTakesAllDay, appointmentTakesSeveralDays)) {\r\n return false\r\n }\r\n }\r\n if (isDefined(endDayHour)) {\r\n if (!compareDateWithEndDayHour({\r\n startDate: startDate,\r\n endDate: endDate,\r\n startDayHour: startDayHour,\r\n endDayHour: endDayHour,\r\n viewStartDayHour: viewStartDayHour,\r\n viewEndDayHour: viewEndDayHour,\r\n allDay: appointmentTakesAllDay,\r\n severalDays: appointmentTakesSeveralDays,\r\n min: min,\r\n max: max,\r\n checkIntersectViewport: checkIntersectViewport\r\n })) {\r\n return false\r\n }\r\n }\r\n if (!isAllDay && (!isLongAppointment || supportMultiDayAppointments)) {\r\n if (endDate < min && useRecurrence && !hasRecurrenceRule) {\r\n return false\r\n }\r\n }\r\n return true\r\n }]\r\n ]\r\n }\r\n _createAppointmentFilter(filterOptions) {\r\n return this._createCombinedFilter(filterOptions)\r\n }\r\n _filterAppointmentByResources(appointment, resources) {\r\n var checkAppointmentResourceValues = (resourceName, resourceIndex) => {\r\n var resourceGetter = this.dataAccessors.resources.getter[resourceName];\r\n var resource;\r\n if (isFunction(resourceGetter)) {\r\n resource = resourceGetter(appointment)\r\n }\r\n var appointmentResourceValues = wrapToArray(resource);\r\n var resourceData = map(resources[resourceIndex].items, _ref => {\r\n var {\r\n id: id\r\n } = _ref;\r\n return id\r\n });\r\n for (var i = 0; i < appointmentResourceValues.length; i++) {\r\n if (hasResourceValue(resourceData, appointmentResourceValues[i])) {\r\n return true\r\n }\r\n }\r\n return false\r\n };\r\n var result = false;\r\n for (var i = 0; i < resources.length; i++) {\r\n var resourceName = resources[i].name;\r\n result = checkAppointmentResourceValues(resourceName, i);\r\n if (!result) {\r\n return false\r\n }\r\n }\r\n return result\r\n }\r\n _filterAppointmentByRRule(appointment, min, max, startDayHour, endDayHour, firstDayOfWeek) {\r\n var {\r\n recurrenceRule: recurrenceRule\r\n } = appointment;\r\n var {\r\n recurrenceException: recurrenceException\r\n } = appointment;\r\n var {\r\n allDay: allDay\r\n } = appointment;\r\n var result = true;\r\n var appointmentStartDate = appointment.startDate;\r\n var appointmentEndDate = appointment.endDate;\r\n var recurrenceProcessor = getRecurrenceProcessor();\r\n if (allDay || _appointmentPartInInterval(appointmentStartDate, appointmentEndDate, startDayHour, endDayHour)) {\r\n var [trimMin, trimMax] = getDatesWithoutTime(min, max);\r\n min = trimMin;\r\n max = new Date(trimMax.getTime() - toMs(\"minute\"))\r\n }\r\n if (recurrenceRule && !recurrenceProcessor.isValidRecurrenceRule(recurrenceRule)) {\r\n result = appointmentEndDate > min && appointmentStartDate <= max\r\n }\r\n if (result && recurrenceProcessor.isValidRecurrenceRule(recurrenceRule)) {\r\n result = recurrenceProcessor.hasRecurrence({\r\n rule: recurrenceRule,\r\n exception: recurrenceException,\r\n start: appointmentStartDate,\r\n end: appointmentEndDate,\r\n min: min,\r\n max: max,\r\n firstDayOfWeek: firstDayOfWeek,\r\n appointmentTimezoneOffset: this.timeZoneCalculator.getOriginStartDateOffsetInMs(appointmentStartDate, appointment.startDateTimeZone, false)\r\n })\r\n }\r\n return result\r\n }\r\n filterLoadedAppointments(filterOptions, preparedItems) {\r\n var filteredItems = this.filterPreparedItems(filterOptions, preparedItems);\r\n return filteredItems.map(_ref2 => {\r\n var {\r\n rawAppointment: rawAppointment\r\n } = _ref2;\r\n return rawAppointment\r\n })\r\n }\r\n filterPreparedItems(filterOptions, preparedItems) {\r\n var combinedFilter = this._createAppointmentFilter(filterOptions);\r\n return query(preparedItems).filter(combinedFilter).toArray()\r\n }\r\n filterAllDayAppointments(filterOptions, preparedItems) {\r\n var combinedFilter = this._createAllDayAppointmentFilter(filterOptions);\r\n return query(preparedItems).filter(combinedFilter).toArray().map(_ref3 => {\r\n var {\r\n rawAppointment: rawAppointment\r\n } = _ref3;\r\n return rawAppointment\r\n })\r\n }\r\n}\r\nexport class AppointmentFilterVirtualStrategy extends AppointmentFilterBaseStrategy {\r\n get strategyName() {\r\n return FilterStrategies.virtual\r\n }\r\n get resources() {\r\n return this.options.resources\r\n }\r\n filter(preparedItems) {\r\n var hourMs = toMs(\"hour\");\r\n var isCalculateStartAndEndDayHour = calculateIsDateAndTimeView(this.viewType);\r\n var checkIntersectViewport = isCalculateStartAndEndDayHour && \"horizontal\" === this.viewDirection;\r\n var isAllDayWorkspace = !this.supportAllDayRow;\r\n var showAllDayAppointments = this.showAllDayPanel || isAllDayWorkspace;\r\n var endViewDate = this.viewDataProvider.getLastViewDateByEndDayHour(this.viewEndDayHour);\r\n var filterOptions = [];\r\n var groupsInfo = this.viewDataProvider.getCompletedGroupsInfo();\r\n groupsInfo.forEach(item => {\r\n var {\r\n groupIndex: groupIndex\r\n } = item;\r\n var groupStartDate = item.startDate;\r\n var groupEndDate = new Date(Math.min(item.endDate, endViewDate));\r\n var startDayHour = isCalculateStartAndEndDayHour ? groupStartDate.getHours() : this.viewStartDayHour;\r\n var endDayHour = isCalculateStartAndEndDayHour ? startDayHour + groupStartDate.getMinutes() / 60 + (groupEndDate - groupStartDate) / hourMs : this.viewEndDayHour;\r\n var resources = this._getPrerenderFilterResources(groupIndex);\r\n var hasAllDayPanel = this.viewDataProvider.hasGroupAllDayPanel(groupIndex);\r\n var supportAllDayAppointment = isAllDayWorkspace || !!showAllDayAppointments && hasAllDayPanel;\r\n filterOptions.push({\r\n isVirtualScrolling: true,\r\n startDayHour: startDayHour,\r\n endDayHour: endDayHour,\r\n viewStartDayHour: this.viewStartDayHour,\r\n viewEndDayHour: this.viewEndDayHour,\r\n min: groupStartDate,\r\n max: groupEndDate,\r\n supportMultiDayAppointments: isTimelineView(this.viewType),\r\n allDay: supportAllDayAppointment,\r\n resources: resources,\r\n firstDayOfWeek: this.firstDayOfWeek,\r\n checkIntersectViewport: checkIntersectViewport\r\n })\r\n });\r\n return this.filterLoadedAppointments({\r\n filterOptions: filterOptions,\r\n groupCount: this.groupCount\r\n }, preparedItems)\r\n }\r\n filterPreparedItems(_ref4, preparedItems) {\r\n var {\r\n filterOptions: filterOptions,\r\n groupCount: groupCount\r\n } = _ref4;\r\n var combinedFilters = [];\r\n var itemsToFilter = preparedItems;\r\n var needPreFilter = groupCount > 0;\r\n if (needPreFilter) {\r\n itemsToFilter = itemsToFilter.filter(_ref5 => {\r\n var {\r\n rawAppointment: rawAppointment\r\n } = _ref5;\r\n for (var i = 0; i < filterOptions.length; ++i) {\r\n var {\r\n resources: resources\r\n } = filterOptions[i];\r\n if (this._filterAppointmentByResources(rawAppointment, resources)) {\r\n return true\r\n }\r\n }\r\n })\r\n }\r\n filterOptions.forEach(option => {\r\n combinedFilters.length && combinedFilters.push(\"or\");\r\n var filter = this._createAppointmentFilter(option);\r\n combinedFilters.push(filter)\r\n });\r\n return query(itemsToFilter).filter(combinedFilters).toArray()\r\n }\r\n hasAllDayAppointments(adapters, preparedItems) {\r\n return this.filterAllDayAppointments({\r\n viewStartDayHour: this.viewStartDayHour,\r\n viewEndDayHour: this.viewEndDayHour\r\n }, preparedItems).length > 0\r\n }\r\n _getPrerenderFilterResources(groupIndex) {\r\n var cellGroup = this.viewDataProvider.getCellsGroup(groupIndex);\r\n return getResourcesDataByGroups(this.loadedResources, this.resources, [cellGroup])\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/appointments/data_provider/m_appointment_data_provider.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport config from \"../../../../core/config\";\r\nimport combineRemoteFilter from \"../../../../renovation/ui/scheduler/utils/filtering/remote\";\r\nimport {\r\n AppointmentDataSource\r\n} from \"./m_appointment_data_source\";\r\nimport {\r\n AppointmentFilterBaseStrategy,\r\n AppointmentFilterVirtualStrategy\r\n} from \"./m_appointment_filter\";\r\nvar FilterStrategies = {\r\n virtual: \"virtual\",\r\n standard: \"standard\"\r\n};\r\nexport class AppointmentDataProvider {\r\n constructor(options) {\r\n this.options = options;\r\n this.dataSource = this.options.dataSource;\r\n this.dataAccessors = this.options.dataAccessors;\r\n this.timeZoneCalculator = this.options.timeZoneCalculator;\r\n this.appointmentDataSource = new AppointmentDataSource(this.dataSource);\r\n this.initFilterStrategy()\r\n }\r\n get keyName() {\r\n return this.appointmentDataSource.keyName\r\n }\r\n get isDataSourceInit() {\r\n return !!this.dataSource\r\n }\r\n get filterStrategyName() {\r\n return this.options.getIsVirtualScrolling() ? FilterStrategies.virtual : FilterStrategies.standard\r\n }\r\n getFilterStrategy() {\r\n if (!this.filterStrategy || this.filterStrategy.strategyName !== this.filterStrategyName) {\r\n this.initFilterStrategy()\r\n }\r\n return this.filterStrategy\r\n }\r\n initFilterStrategy() {\r\n var filterOptions = {\r\n resources: this.options.resources,\r\n dataAccessors: this.dataAccessors,\r\n startDayHour: this.options.startDayHour,\r\n endDayHour: this.options.endDayHour,\r\n showAllDayPanel: this.options.showAllDayPanel,\r\n timeZoneCalculator: this.options.timeZoneCalculator,\r\n loadedResources: this.options.getLoadedResources,\r\n supportAllDayRow: this.options.getSupportAllDayRow,\r\n viewType: this.options.getViewType,\r\n viewDirection: this.options.getViewDirection,\r\n dateRange: this.options.getDateRange,\r\n groupCount: this.options.getGroupCount,\r\n viewDataProvider: this.options.getViewDataProvider,\r\n allDayPanelMode: this.options.allDayPanelMode\r\n };\r\n this.filterStrategy = this.filterStrategyName === FilterStrategies.virtual ? new AppointmentFilterVirtualStrategy(filterOptions) : new AppointmentFilterBaseStrategy(filterOptions)\r\n }\r\n setDataSource(dataSource) {\r\n this.dataSource = dataSource;\r\n this.initFilterStrategy();\r\n this.appointmentDataSource.setDataSource(this.dataSource)\r\n }\r\n updateDataAccessors(dataAccessors) {\r\n this.dataAccessors = dataAccessors;\r\n this.initFilterStrategy()\r\n }\r\n filter(preparedItems) {\r\n return this.getFilterStrategy().filter(preparedItems)\r\n }\r\n filterByDate(min, max, remoteFiltering, dateSerializationFormat) {\r\n if (!this.dataSource || !remoteFiltering) {\r\n return\r\n }\r\n var dataSourceFilter = this.dataSource.filter();\r\n var filter = combineRemoteFilter({\r\n dataSourceFilter: dataSourceFilter,\r\n dataAccessors: this.dataAccessors,\r\n min: min,\r\n max: max,\r\n dateSerializationFormat: dateSerializationFormat,\r\n forceIsoDateParsing: config().forceIsoDateParsing\r\n });\r\n this.dataSource.filter(filter)\r\n }\r\n hasAllDayAppointments(filteredItems, preparedItems) {\r\n return this.getFilterStrategy().hasAllDayAppointments(filteredItems, preparedItems)\r\n }\r\n filterLoadedAppointments(filterOption, preparedItems) {\r\n return this.getFilterStrategy().filterLoadedAppointments(filterOption, preparedItems)\r\n }\r\n calculateAppointmentEndDate(isAllDay, startDate) {\r\n return this.getFilterStrategy().calculateAppointmentEndDate(isAllDay, startDate)\r\n }\r\n cleanState() {\r\n this.appointmentDataSource.cleanState()\r\n }\r\n getUpdatedAppointment() {\r\n return this.appointmentDataSource._updatedAppointment\r\n }\r\n getUpdatedAppointmentKeys() {\r\n return this.appointmentDataSource._updatedAppointmentKeys\r\n }\r\n add(rawAppointment) {\r\n return this.appointmentDataSource.add(rawAppointment)\r\n }\r\n update(target, rawAppointment) {\r\n return this.appointmentDataSource.update(target, rawAppointment)\r\n }\r\n remove(rawAppointment) {\r\n return this.appointmentDataSource.remove(rawAppointment)\r\n }\r\n destroy() {\r\n this.appointmentDataSource.destroy()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/tooltip/ui.tooltip.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Tooltip from \"./tooltip\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n value as viewPort\r\n} from \"../../core/utils/view_port\";\r\nvar tooltip = null;\r\nvar removeTooltipElement = null;\r\nvar createTooltip = function(options) {\r\n options = extend({\r\n position: \"top\"\r\n }, options);\r\n var content = options.content;\r\n delete options.content;\r\n var $tooltip = $(\"<div>\").html(content).appendTo(viewPort());\r\n removeTooltipElement = function() {\r\n $tooltip.remove()\r\n };\r\n tooltip = new Tooltip($tooltip, options)\r\n};\r\nvar removeTooltip = function() {\r\n if (!tooltip) {\r\n return\r\n }\r\n removeTooltipElement();\r\n tooltip = null\r\n};\r\nexport function show(options) {\r\n removeTooltip();\r\n createTooltip(options);\r\n return tooltip.show()\r\n}\r\nexport function hide() {\r\n if (!tooltip) {\r\n return (new Deferred).resolve()\r\n }\r\n return tooltip.hide().done(removeTooltip).promise()\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/appointments/m_appointment.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n move\r\n} from \"../../../animation/translator\";\r\nimport registerComponent from \"../../../core/component_registrator\";\r\nimport DOMComponent from \"../../../core/dom_component\";\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n Deferred\r\n} from \"../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport pointerEvents from \"../../../events/pointer\";\r\nimport {\r\n addNamespace\r\n} from \"../../../events/utils/index\";\r\nimport dateLocalization from \"../../../localization/date\";\r\nimport messageLocalization from \"../../../localization/message\";\r\nimport Resizable from \"../../../ui/resizable\";\r\nimport {\r\n hide,\r\n show\r\n} from \"../../../ui/tooltip/ui.tooltip\";\r\nimport {\r\n ALL_DAY_APPOINTMENT_CLASS,\r\n APPOINTMENT_CONTENT_CLASSES,\r\n APPOINTMENT_DRAG_SOURCE_CLASS,\r\n DIRECTION_APPOINTMENT_CLASSES,\r\n EMPTY_APPOINTMENT_CLASS,\r\n RECURRENCE_APPOINTMENT_CLASS,\r\n REDUCED_APPOINTMENT_CLASS,\r\n REDUCED_APPOINTMENT_ICON,\r\n REDUCED_APPOINTMENT_PARTS_CLASSES\r\n} from \"../m_classes\";\r\nimport {\r\n ExpressionUtils\r\n} from \"../m_expression_utils\";\r\nimport {\r\n getRecurrenceProcessor\r\n} from \"../m_recurrence\";\r\nvar DEFAULT_HORIZONTAL_HANDLES = \"left right\";\r\nvar DEFAULT_VERTICAL_HANDLES = \"top bottom\";\r\nvar REDUCED_APPOINTMENT_POINTERENTER_EVENT_NAME = addNamespace(pointerEvents.enter, \"dxSchedulerAppointment\");\r\nvar REDUCED_APPOINTMENT_POINTERLEAVE_EVENT_NAME = addNamespace(pointerEvents.leave, \"dxSchedulerAppointment\");\r\nexport class Appointment extends DOMComponent {\r\n get coloredElement() {\r\n return this.$element()\r\n }\r\n get rawAppointment() {\r\n return this.option(\"data\")\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n data: {},\r\n groupIndex: -1,\r\n groups: [],\r\n geometry: {\r\n top: 0,\r\n left: 0,\r\n width: 0,\r\n height: 0\r\n },\r\n allowDrag: true,\r\n allowResize: true,\r\n reduced: null,\r\n isCompact: false,\r\n direction: \"vertical\",\r\n resizableConfig: {\r\n keepAspectRatio: false\r\n },\r\n cellHeight: 0,\r\n cellWidth: 0,\r\n isDragSource: false\r\n })\r\n }\r\n notifyObserver(subject, args) {\r\n var observer = this.option(\"observer\");\r\n if (observer) {\r\n observer.fire(subject, args)\r\n }\r\n }\r\n invoke(funcName) {\r\n var observer = this.option(\"observer\");\r\n if (observer) {\r\n return observer.fire.apply(observer, arguments)\r\n }\r\n }\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"data\":\r\n case \"groupIndex\":\r\n case \"geometry\":\r\n case \"allowDrag\":\r\n case \"allowResize\":\r\n case \"reduced\":\r\n case \"sortedIndex\":\r\n case \"isCompact\":\r\n case \"direction\":\r\n case \"resizableConfig\":\r\n case \"cellHeight\":\r\n case \"cellWidth\":\r\n this._invalidate();\r\n break;\r\n case \"isDragSource\":\r\n this._renderDragSourceClass();\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _getHorizontalResizingRule() {\r\n var reducedHandles = {\r\n head: this.option(\"rtlEnabled\") ? \"right\" : \"left\",\r\n body: \"\",\r\n tail: this.option(\"rtlEnabled\") ? \"left\" : \"right\"\r\n };\r\n var getResizableStep = this.option(\"getResizableStep\");\r\n var step = getResizableStep ? getResizableStep() : 0;\r\n return {\r\n handles: this.option(\"reduced\") ? reducedHandles[this.option(\"reduced\")] : DEFAULT_HORIZONTAL_HANDLES,\r\n minHeight: 0,\r\n minWidth: this.invoke(\"getCellWidth\"),\r\n step: step,\r\n roundStepValue: false\r\n }\r\n }\r\n _getVerticalResizingRule() {\r\n var height = Math.round(this.invoke(\"getCellHeight\"));\r\n return {\r\n handles: DEFAULT_VERTICAL_HANDLES,\r\n minWidth: 0,\r\n minHeight: height,\r\n step: height,\r\n roundStepValue: true\r\n }\r\n }\r\n _render() {\r\n super._render();\r\n this._renderAppointmentGeometry();\r\n this._renderEmptyClass();\r\n this._renderReducedAppointment();\r\n this._renderAllDayClass();\r\n this._renderDragSourceClass();\r\n this._renderDirection();\r\n this.$element().data(\"dxAppointmentStartDate\", this.option(\"startDate\"));\r\n var text = ExpressionUtils.getField(this.option(\"dataAccessors\"), \"text\", this.rawAppointment);\r\n this.$element().attr(\"title\", text);\r\n this.$element().attr(\"role\", \"button\");\r\n this._renderRecurrenceClass();\r\n this._renderResizable();\r\n this._setResourceColor()\r\n }\r\n _setResourceColor() {\r\n var appointmentConfig = {\r\n itemData: this.rawAppointment,\r\n groupIndex: this.option(\"groupIndex\"),\r\n groups: this.option(\"groups\")\r\n };\r\n var deferredColor = this.option(\"getAppointmentColor\")(appointmentConfig);\r\n deferredColor.done(color => color && this.coloredElement.css(\"backgroundColor\", color))\r\n }\r\n _renderAppointmentGeometry() {\r\n var geometry = this.option(\"geometry\");\r\n var $element = this.$element();\r\n move($element, {\r\n top: geometry.top,\r\n left: geometry.left\r\n });\r\n $element.css({\r\n width: geometry.width < 0 ? 0 : geometry.width,\r\n height: geometry.height < 0 ? 0 : geometry.height\r\n })\r\n }\r\n _renderEmptyClass() {\r\n var geometry = this.option(\"geometry\");\r\n if (geometry.empty || this.option(\"isCompact\")) {\r\n this.$element().addClass(EMPTY_APPOINTMENT_CLASS)\r\n }\r\n }\r\n _renderReducedAppointment() {\r\n var reducedPart = this.option(\"reduced\");\r\n if (!reducedPart) {\r\n return\r\n }\r\n this.$element().toggleClass(REDUCED_APPOINTMENT_CLASS, true).toggleClass(REDUCED_APPOINTMENT_PARTS_CLASSES[reducedPart], true);\r\n this._renderAppointmentReducedIcon()\r\n }\r\n _renderAppointmentReducedIcon() {\r\n var $icon = $(\"<div>\").addClass(REDUCED_APPOINTMENT_ICON).appendTo(this.$element());\r\n var endDate = this._getEndDate();\r\n var tooltipLabel = messageLocalization.format(\"dxScheduler-editorLabelEndDate\");\r\n var tooltipText = [tooltipLabel, \": \", dateLocalization.format(endDate, \"monthAndDay\"), \", \", dateLocalization.format(endDate, \"year\")].join(\"\");\r\n eventsEngine.off($icon, REDUCED_APPOINTMENT_POINTERENTER_EVENT_NAME);\r\n eventsEngine.on($icon, REDUCED_APPOINTMENT_POINTERENTER_EVENT_NAME, () => {\r\n show({\r\n target: $icon,\r\n content: tooltipText\r\n })\r\n });\r\n eventsEngine.off($icon, REDUCED_APPOINTMENT_POINTERLEAVE_EVENT_NAME);\r\n eventsEngine.on($icon, REDUCED_APPOINTMENT_POINTERLEAVE_EVENT_NAME, () => {\r\n hide()\r\n })\r\n }\r\n _getEndDate() {\r\n var result = ExpressionUtils.getField(this.option(\"dataAccessors\"), \"endDate\", this.rawAppointment);\r\n if (result) {\r\n return new Date(result)\r\n }\r\n return result\r\n }\r\n _renderAllDayClass() {\r\n this.$element().toggleClass(ALL_DAY_APPOINTMENT_CLASS, !!this.option(\"allDay\"))\r\n }\r\n _renderDragSourceClass() {\r\n this.$element().toggleClass(APPOINTMENT_DRAG_SOURCE_CLASS, !!this.option(\"isDragSource\"))\r\n }\r\n _renderRecurrenceClass() {\r\n var rule = ExpressionUtils.getField(this.option(\"dataAccessors\"), \"recurrenceRule\", this.rawAppointment);\r\n if (getRecurrenceProcessor().isValidRecurrenceRule(rule)) {\r\n this.$element().addClass(RECURRENCE_APPOINTMENT_CLASS)\r\n }\r\n }\r\n _renderDirection() {\r\n this.$element().addClass(DIRECTION_APPOINTMENT_CLASSES[this.option(\"direction\")])\r\n }\r\n _createResizingConfig() {\r\n var config = \"vertical\" === this.option(\"direction\") ? this._getVerticalResizingRule() : this._getHorizontalResizingRule();\r\n if (!this.invoke(\"isGroupedByDate\")) {\r\n config.stepPrecision = \"strict\"\r\n }\r\n return config\r\n }\r\n _renderResizable() {\r\n if (this.option(\"allowResize\")) {\r\n this._createComponent(this.$element(), Resizable, extend(this._createResizingConfig(), this.option(\"resizableConfig\")))\r\n }\r\n }\r\n _useTemplates() {\r\n return false\r\n }\r\n}\r\nregisterComponent(\"dxSchedulerAppointment\", Appointment);\r\nexport class AgendaAppointment extends Appointment {\r\n get coloredElement() {\r\n return this.$element().find(\".\".concat(APPOINTMENT_CONTENT_CLASSES.AGENDA_MARKER))\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n createPlainResourceListAsync: new Deferred\r\n })\r\n }\r\n _renderResourceList(container, list) {\r\n list.forEach(item => {\r\n var itemContainer = $(\"<div>\").addClass(APPOINTMENT_CONTENT_CLASSES.AGENDA_RESOURCE_LIST_ITEM).appendTo(container);\r\n $(\"<div>\").text(\"\".concat(item.label, \":\")).appendTo(itemContainer);\r\n $(\"<div>\").addClass(APPOINTMENT_CONTENT_CLASSES.AGENDA_RESOURCE_LIST_ITEM_VALUE).text(item.values.join(\", \")).appendTo(itemContainer)\r\n })\r\n }\r\n _render() {\r\n super._render();\r\n var createPlainResourceListAsync = this.option(\"createPlainResourceListAsync\");\r\n createPlainResourceListAsync(this.rawAppointment).done(list => {\r\n var parent = this.$element().find(\".\".concat(APPOINTMENT_CONTENT_CLASSES.APPOINTMENT_CONTENT_DETAILS));\r\n var container = $(\"<div>\").addClass(APPOINTMENT_CONTENT_CLASSES.AGENDA_RESOURCE_LIST).appendTo(parent);\r\n this._renderResourceList(container, list)\r\n })\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/appointments/m_appointment_layout.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../../core/dom_adapter\";\r\nimport $ from \"../../../core/renderer\";\r\nimport messageLocalization from \"../../../localization/message\";\r\nimport {\r\n APPOINTMENT_CONTENT_CLASSES\r\n} from \"../m_classes\";\r\nvar allDayText = \" \".concat(messageLocalization.format(\"dxScheduler-allDay\"), \": \");\r\nexport var createAppointmentLayout = (formatText, config) => {\r\n var result = $(domAdapter.createDocumentFragment());\r\n $(\"<div>\").text(formatText.text).addClass(APPOINTMENT_CONTENT_CLASSES.APPOINTMENT_TITLE).appendTo(result);\r\n if (config.html) {\r\n result.html(config.html)\r\n }\r\n var $contentDetails = $(\"<div>\").addClass(APPOINTMENT_CONTENT_CLASSES.APPOINTMENT_CONTENT_DETAILS).appendTo(result);\r\n $(\"<div>\").addClass(APPOINTMENT_CONTENT_CLASSES.APPOINTMENT_DATE).text(formatText.formatDate).appendTo($contentDetails);\r\n config.isRecurrence && $(\"<span>\").addClass(\"\".concat(APPOINTMENT_CONTENT_CLASSES.RECURRING_ICON, \" dx-icon-repeat\")).appendTo(result);\r\n config.isAllDay && $(\"<div>\").text(allDayText).addClass(APPOINTMENT_CONTENT_CLASSES.ALL_DAY_CONTENT).prependTo($contentDetails);\r\n return result\r\n};\r\nexport var createAgendaAppointmentLayout = (formatText, config) => {\r\n var result = $(domAdapter.createDocumentFragment());\r\n var leftLayoutContainer = $(\"<div>\").addClass(\"dx-scheduler-agenda-appointment-left-layout\").appendTo(result);\r\n var rightLayoutContainer = $(\"<div>\").addClass(\"dx-scheduler-agenda-appointment-right-layout\").appendTo(result);\r\n var marker = $(\"<div>\").addClass(APPOINTMENT_CONTENT_CLASSES.AGENDA_MARKER).appendTo(leftLayoutContainer);\r\n config.isRecurrence && $(\"<span>\").addClass(\"\".concat(APPOINTMENT_CONTENT_CLASSES.RECURRING_ICON, \" dx-icon-repeat\")).appendTo(marker);\r\n $(\"<div>\").addClass(APPOINTMENT_CONTENT_CLASSES.APPOINTMENT_TITLE).text(formatText.text).appendTo(rightLayoutContainer);\r\n var additionalContainer = $(\"<div>\").addClass(APPOINTMENT_CONTENT_CLASSES.APPOINTMENT_CONTENT_DETAILS).appendTo(rightLayoutContainer);\r\n $(\"<div>\").addClass(APPOINTMENT_CONTENT_CLASSES.APPOINTMENT_DATE).text(formatText.formatDate).appendTo(additionalContainer);\r\n if (config.isAllDay) {\r\n $(\"<div>\").text(allDayText).addClass(APPOINTMENT_CONTENT_CLASSES.ALL_DAY_CONTENT).prependTo(additionalContainer)\r\n }\r\n return result\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/appointments/resizing/m_utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar normalizeDate = (options, date, sourceDate, isStartDate) => {\r\n if (!options.considerTime) {\r\n return date\r\n }\r\n var result = new Date(date);\r\n result.setHours(sourceDate.getHours(), sourceDate.getMinutes(), sourceDate.getSeconds());\r\n var {\r\n startDayHour: startDayHour,\r\n endDayHour: endDayHour,\r\n appointmentSettings: {\r\n allDay: allDay\r\n }\r\n } = options;\r\n var minDate = new Date(date);\r\n var maxDate = new Date(date);\r\n minDate.setHours(startDayHour, 0, 0, 0);\r\n maxDate.setHours(endDayHour, 0, 0, 0);\r\n var resultTime = result.getTime();\r\n var isDateOutInterval = isStartDate ? resultTime < minDate.getTime() || resultTime >= maxDate.getTime() : resultTime <= minDate.getTime() || resultTime > maxDate.getTime();\r\n if (isDateOutInterval) {\r\n result = !allDay ? maxDate : minDate\r\n }\r\n return result\r\n};\r\nexport var normalizeStartDate = (options, startDate, sourceStartDate) => normalizeDate(options, startDate, sourceStartDate, true);\r\nexport var normalizeEndDate = (options, endDate, sourceEndDate) => normalizeDate(options, endDate, sourceEndDate, false);\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/appointments/resizing/m_core.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n normalizeEndDate,\r\n normalizeStartDate\r\n} from \"./m_utils\";\r\nvar getAppointmentLeftCell = options => {\r\n var {\r\n cellHeight: cellHeight,\r\n cellWidth: cellWidth,\r\n viewDataProvider: viewDataProvider,\r\n relativeAppointmentRect: relativeAppointmentRect,\r\n appointmentSettings: appointmentSettings,\r\n rtlEnabled: rtlEnabled\r\n } = options;\r\n var cellRowIndex = Math.floor(relativeAppointmentRect.top / cellHeight);\r\n var cellColumnIndex = Math.round(relativeAppointmentRect.left / cellWidth);\r\n var leftCell = viewDataProvider.getCellData(cellRowIndex, cellColumnIndex, appointmentSettings.allDay, rtlEnabled);\r\n return leftCell\r\n};\r\nvar getDateRangeHorizontal = options => {\r\n var {\r\n cellWidth: cellWidth,\r\n cellCountInRow: cellCountInRow,\r\n relativeAppointmentRect: relativeAppointmentRect,\r\n viewDataProvider: viewDataProvider,\r\n appointmentSettings: appointmentSettings,\r\n handles: handles\r\n } = options;\r\n var appointmentFirstCell = getAppointmentLeftCell(options);\r\n var appointmentCellsAmount = Math.round(relativeAppointmentRect.width / cellWidth);\r\n var appointmentLastCellIndex = appointmentFirstCell.index + (appointmentCellsAmount - 1);\r\n var {\r\n allDay: allDay,\r\n sourceAppointment: sourceAppointment\r\n } = appointmentSettings.info;\r\n if (handles.left) {\r\n var startDate = normalizeStartDate(options, appointmentFirstCell.startDate, sourceAppointment.startDate);\r\n return {\r\n startDate: startDate,\r\n endDate: sourceAppointment.endDate\r\n }\r\n }\r\n var appointmentRowIndex = Math.floor(appointmentLastCellIndex / cellCountInRow);\r\n var appointmentColumnIndex = appointmentLastCellIndex % cellCountInRow;\r\n var appointmentLastCell = viewDataProvider.getCellData(appointmentRowIndex, appointmentColumnIndex, allDay);\r\n var endDate = !options.considerTime ? appointmentLastCell.endDate : appointmentLastCell.startDate;\r\n endDate = normalizeEndDate(options, endDate, sourceAppointment.endDate);\r\n return {\r\n startDate: sourceAppointment.startDate,\r\n endDate: endDate\r\n }\r\n};\r\nvar getDateRangeHorizontalRTL = options => {\r\n var {\r\n viewDataProvider: viewDataProvider,\r\n cellCountInRow: cellCountInRow,\r\n appointmentSettings: appointmentSettings,\r\n handles: handles,\r\n cellWidth: cellWidth,\r\n relativeAppointmentRect: relativeAppointmentRect\r\n } = options;\r\n var appointmentLastCell = getAppointmentLeftCell(options);\r\n var {\r\n allDay: allDay,\r\n sourceAppointment: sourceAppointment\r\n } = appointmentSettings.info;\r\n if (handles.right) {\r\n var appointmentLastCellIndex = appointmentLastCell.index;\r\n var appointmentCellsAmount = Math.round(relativeAppointmentRect.width / cellWidth);\r\n var appointmentFirstCellIndex = appointmentLastCellIndex - appointmentCellsAmount + 1;\r\n var appointmentRowIndex = Math.floor(appointmentLastCellIndex / cellCountInRow);\r\n var appointmentFirstCell = viewDataProvider.getCellData(appointmentRowIndex, appointmentFirstCellIndex, allDay, true);\r\n var startDate = normalizeStartDate(options, appointmentFirstCell.startDate, sourceAppointment.endDate);\r\n return {\r\n startDate: startDate,\r\n endDate: sourceAppointment.endDate\r\n }\r\n }\r\n var endDate = !options.considerTime ? appointmentLastCell.endDate : appointmentLastCell.startDate;\r\n endDate = normalizeEndDate(options, endDate, sourceAppointment.endDate);\r\n return {\r\n startDate: sourceAppointment.startDate,\r\n endDate: endDate\r\n }\r\n};\r\nvar getRelativeAppointmentRect = (appointmentRect, parentAppointmentRect) => {\r\n var left = appointmentRect.left - parentAppointmentRect.left;\r\n var top = appointmentRect.top - parentAppointmentRect.top;\r\n var width = left < 0 ? appointmentRect.width + left : appointmentRect.width;\r\n var height = top < 0 ? appointmentRect.height + top : appointmentRect.height;\r\n return {\r\n left: Math.max(0, left),\r\n top: Math.max(0, top),\r\n width: width,\r\n height: height\r\n }\r\n};\r\nvar getAppointmentCellsInfo = options => {\r\n var {\r\n appointmentSettings: appointmentSettings,\r\n isVerticalGroupedWorkSpace: isVerticalGroupedWorkSpace,\r\n DOMMetaData: DOMMetaData\r\n } = options;\r\n var DOMMetaTable = appointmentSettings.allDay && !isVerticalGroupedWorkSpace ? [DOMMetaData.allDayPanelCellsMeta] : DOMMetaData.dateTableCellsMeta;\r\n var {\r\n positionByMap: positionByMap\r\n } = appointmentSettings;\r\n var {\r\n height: cellHeight,\r\n width: cellWidth\r\n } = DOMMetaTable[positionByMap.rowIndex][positionByMap.columnIndex];\r\n var cellCountInRow = DOMMetaTable[positionByMap.rowIndex].length;\r\n return {\r\n cellWidth: cellWidth,\r\n cellHeight: cellHeight,\r\n cellCountInRow: cellCountInRow\r\n }\r\n};\r\nexport var getAppointmentDateRange = options => {\r\n var {\r\n appointmentSettings: appointmentSettings\r\n } = options;\r\n var relativeAppointmentRect = getRelativeAppointmentRect(options.appointmentRect, options.parentAppointmentRect);\r\n var cellInfo = getAppointmentCellsInfo(options);\r\n var considerTime = !options.isDateAndTimeView || appointmentSettings.allDay;\r\n var extendedOptions = _extends(_extends(_extends({}, options), cellInfo), {\r\n considerTime: considerTime,\r\n relativeAppointmentRect: relativeAppointmentRect\r\n });\r\n return !options.rtlEnabled ? getDateRangeHorizontal(extendedOptions) : getDateRangeHorizontalRTL(extendedOptions)\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/appointments/m_appointment_collection.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n locate,\r\n move\r\n} from \"../../../animation/translator\";\r\nimport registerComponent from \"../../../core/component_registrator\";\r\nimport domAdapter from \"../../../core/dom_adapter\";\r\nimport {\r\n getPublicElement\r\n} from \"../../../core/element\";\r\nimport {\r\n data as elementData\r\n} from \"../../../core/element_data\";\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n wrapToArray\r\n} from \"../../../core/utils/array\";\r\nimport {\r\n grep,\r\n normalizeKey\r\n} from \"../../../core/utils/common\";\r\nimport dateUtils from \"../../../core/utils/date\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n deepExtendArraySafe\r\n} from \"../../../core/utils/object\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../../core/utils/position\";\r\nimport {\r\n setOuterHeight,\r\n setOuterWidth\r\n} from \"../../../core/utils/size\";\r\nimport {\r\n isDeferred,\r\n isDefined,\r\n isPlainObject,\r\n isString\r\n} from \"../../../core/utils/type\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport {\r\n name as dblclickEvent\r\n} from \"../../../events/double_click\";\r\nimport {\r\n addNamespace,\r\n isFakeClickEvent\r\n} from \"../../../events/utils/index\";\r\nimport CollectionWidget from \"../../../ui/collection/ui.collection_widget.edit\";\r\nimport timeZoneUtils from \"../../../ui/scheduler/utils.timeZone\";\r\nimport {\r\n createAppointmentAdapter\r\n} from \"../m_appointment_adapter\";\r\nimport {\r\n APPOINTMENT_DRAG_SOURCE_CLASS,\r\n APPOINTMENT_ITEM_CLASS\r\n} from \"../m_classes\";\r\nimport {\r\n APPOINTMENT_SETTINGS_KEY\r\n} from \"../m_constants\";\r\nimport {\r\n ExpressionUtils\r\n} from \"../m_expression_utils\";\r\nimport {\r\n getRecurrenceProcessor\r\n} from \"../m_recurrence\";\r\nimport {\r\n getAppointmentTakesSeveralDays,\r\n sortAppointmentsByStartDate\r\n} from \"./data_provider/m_utils\";\r\nimport {\r\n AgendaAppointment,\r\n Appointment\r\n} from \"./m_appointment\";\r\nimport {\r\n createAgendaAppointmentLayout,\r\n createAppointmentLayout\r\n} from \"./m_appointment_layout\";\r\nimport {\r\n getAppointmentDateRange\r\n} from \"./resizing/m_core\";\r\nvar COMPONENT_CLASS = \"dx-scheduler-scrollable-appointments\";\r\nvar DBLCLICK_EVENT_NAME = addNamespace(dblclickEvent, \"dxSchedulerAppointment\");\r\nvar toMs = dateUtils.dateToMilliseconds;\r\nclass SchedulerAppointments extends CollectionWidget {\r\n constructor(element, options) {\r\n super(element, options);\r\n this._virtualAppointments = {}\r\n }\r\n get isAgendaView() {\r\n return this.invoke(\"isCurrentViewAgenda\")\r\n }\r\n get isVirtualScrolling() {\r\n return this.invoke(\"isVirtualScrolling\")\r\n }\r\n get appointmentDataProvider() {\r\n return this.option(\"getAppointmentDataProvider\")()\r\n }\r\n option(optionName, value) {\r\n return super.option(...arguments)\r\n }\r\n notifyObserver(subject, args) {\r\n var observer = this.option(\"observer\");\r\n if (observer) {\r\n observer.fire(subject, args)\r\n }\r\n }\r\n invoke(funcName) {\r\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\r\n args[_key - 1] = arguments[_key]\r\n }\r\n var observer = this.option(\"observer\");\r\n if (observer) {\r\n return observer.fire.apply(observer, arguments)\r\n }\r\n }\r\n _dispose() {\r\n clearTimeout(this._appointmentClickTimeout);\r\n super._dispose()\r\n }\r\n _supportedKeys() {\r\n var parent = super._supportedKeys();\r\n var currentAppointment = this._$currentAppointment;\r\n return extend(parent, {\r\n escape: function() {\r\n var _a, _b, _c;\r\n if (this.resizeOccur) {\r\n this.moveAppointmentBack();\r\n this.resizeOccur = false;\r\n null === (_a = currentAppointment.dxResizable(\"instance\")) || void 0 === _a ? void 0 : _a._detachEventHandlers();\r\n null === (_b = currentAppointment.dxResizable(\"instance\")) || void 0 === _b ? void 0 : _b._attachEventHandlers();\r\n null === (_c = currentAppointment.dxResizable(\"instance\")) || void 0 === _c ? void 0 : _c._toggleResizingClass(false)\r\n }\r\n }.bind(this),\r\n del: function(e) {\r\n if (this.option(\"allowDelete\")) {\r\n e.preventDefault();\r\n var data = this._getItemData(e.target);\r\n this.notifyObserver(\"onDeleteButtonPress\", {\r\n data: data,\r\n target: e.target\r\n })\r\n }\r\n }.bind(this),\r\n tab: function(e) {\r\n var appointments = this._getAccessAppointments();\r\n var focusedAppointment = appointments.filter(\".dx-state-focused\");\r\n var index = focusedAppointment.data(APPOINTMENT_SETTINGS_KEY).sortedIndex;\r\n var lastIndex = appointments.length - 1;\r\n if (index > 0 && e.shiftKey || index < lastIndex && !e.shiftKey) {\r\n e.preventDefault();\r\n e.shiftKey ? index-- : index++;\r\n var $nextAppointment = this._getAppointmentByIndex(index);\r\n this._resetTabIndex($nextAppointment);\r\n eventsEngine.trigger($nextAppointment, \"focus\")\r\n }\r\n }\r\n })\r\n }\r\n _getAppointmentByIndex(sortedIndex) {\r\n var appointments = this._getAccessAppointments();\r\n return appointments.filter((_, $item) => elementData($item, APPOINTMENT_SETTINGS_KEY).sortedIndex === sortedIndex).eq(0)\r\n }\r\n _getAccessAppointments() {\r\n return this._itemElements().filter(\":visible\").not(\".dx-state-disabled\")\r\n }\r\n _resetTabIndex($appointment) {\r\n this._focusTarget().attr(\"tabIndex\", -1);\r\n $appointment.attr(\"tabIndex\", this.option(\"tabIndex\"))\r\n }\r\n _moveFocus() {}\r\n _focusTarget() {\r\n return this._itemElements()\r\n }\r\n _renderFocusTarget() {\r\n var $appointment = this._getAppointmentByIndex(0);\r\n this._resetTabIndex($appointment)\r\n }\r\n _focusInHandler(e) {\r\n super._focusInHandler(e);\r\n this._$currentAppointment = $(e.target);\r\n this.option(\"focusedElement\", getPublicElement($(e.target)))\r\n }\r\n _focusOutHandler(e) {\r\n var $appointment = this._getAppointmentByIndex(0);\r\n this.option(\"focusedElement\", getPublicElement($appointment));\r\n super._focusOutHandler(e)\r\n }\r\n _eventBindingTarget() {\r\n return this._itemContainer()\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n noDataText: null,\r\n activeStateEnabled: true,\r\n hoverStateEnabled: true,\r\n tabIndex: 0,\r\n fixedContainer: null,\r\n allDayContainer: null,\r\n allowDrag: true,\r\n allowResize: true,\r\n allowAllDayResize: true,\r\n onAppointmentDblClick: null,\r\n _collectorOffset: 0,\r\n groups: [],\r\n resources: []\r\n })\r\n }\r\n _optionChanged(args) {\r\n if (this.option(\"isRenovatedAppointments\")) {\r\n return\r\n }\r\n switch (args.name) {\r\n case \"items\":\r\n this._cleanFocusState();\r\n this._clearDropDownItems();\r\n this._clearDropDownItemsElements();\r\n this._repaintAppointments(args.value);\r\n this._renderDropDownAppointments();\r\n this._attachAppointmentsEvents();\r\n break;\r\n case \"fixedContainer\":\r\n case \"allDayContainer\":\r\n case \"onAppointmentDblClick\":\r\n break;\r\n case \"allowDrag\":\r\n case \"allowResize\":\r\n case \"allowAllDayResize\":\r\n this._invalidate();\r\n break;\r\n case \"focusedElement\":\r\n this._resetTabIndex($(args.value));\r\n super._optionChanged(args);\r\n break;\r\n case \"allowDelete\":\r\n break;\r\n case \"focusStateEnabled\":\r\n this._clearDropDownItemsElements();\r\n this._renderDropDownAppointments();\r\n super._optionChanged(args);\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _isAllDayAppointment(appointment) {\r\n return appointment.settings.length && appointment.settings[0].allDay || false\r\n }\r\n _isRepaintAppointment(appointment) {\r\n return !isDefined(appointment.needRepaint) || true === appointment.needRepaint\r\n }\r\n _isRepaintAll(appointments) {\r\n if (this.isAgendaView) {\r\n return true\r\n }\r\n for (var i = 0; i < appointments.length; i++) {\r\n if (!this._isRepaintAppointment(appointments[i])) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n _applyFragment(fragment, allDay) {\r\n if (fragment.children().length > 0) {\r\n this._getAppointmentContainer(allDay).append(fragment)\r\n }\r\n }\r\n _onEachAppointment(appointment, index, container, isRepaintAll) {\r\n if (true === (null === appointment || void 0 === appointment ? void 0 : appointment.needRemove)) {\r\n this._clearItem(appointment)\r\n } else if (isRepaintAll || this._isRepaintAppointment(appointment)) {\r\n (() => {\r\n appointment.needRepaint = false;\r\n this._clearItem(appointment);\r\n this._renderItem(index, appointment, container)\r\n })()\r\n }\r\n }\r\n _repaintAppointments(appointments) {\r\n this._renderByFragments(($commonFragment, $allDayFragment) => {\r\n var isRepaintAll = this._isRepaintAll(appointments);\r\n if (isRepaintAll) {\r\n this._getAppointmentContainer(true).html(\"\");\r\n this._getAppointmentContainer(false).html(\"\")\r\n }!appointments.length && this._cleanItemContainer();\r\n appointments.forEach((appointment, index) => {\r\n var container = this._isAllDayAppointment(appointment) ? $allDayFragment : $commonFragment;\r\n this._onEachAppointment(appointment, index, container, isRepaintAll)\r\n })\r\n })\r\n }\r\n _renderByFragments(renderFunction) {\r\n if (this.isVirtualScrolling) {\r\n var $commonFragment = $(domAdapter.createDocumentFragment());\r\n var $allDayFragment = $(domAdapter.createDocumentFragment());\r\n renderFunction($commonFragment, $allDayFragment);\r\n this._applyFragment($commonFragment, false);\r\n this._applyFragment($allDayFragment, true)\r\n } else {\r\n renderFunction(this._getAppointmentContainer(false), this._getAppointmentContainer(true))\r\n }\r\n }\r\n _attachAppointmentsEvents() {\r\n this._attachClickEvent();\r\n this._attachHoldEvent();\r\n this._attachContextMenuEvent();\r\n this._attachAppointmentDblClick();\r\n this._renderFocusState();\r\n this._attachFeedbackEvents();\r\n this._attachHoverEvents()\r\n }\r\n _clearItem(item) {\r\n var $items = this._findItemElementByItem(item.itemData);\r\n if (!$items.length) {\r\n return\r\n }\r\n each($items, (_, $item) => {\r\n $item.detach();\r\n $item.remove()\r\n })\r\n }\r\n _clearDropDownItems() {\r\n this._virtualAppointments = {}\r\n }\r\n _clearDropDownItemsElements() {\r\n this.invoke(\"clearCompactAppointments\")\r\n }\r\n _findItemElementByItem(item) {\r\n var result = [];\r\n var that = this;\r\n this.itemElements().each((function() {\r\n var $item = $(this);\r\n if ($item.data(that._itemDataKey()) === item) {\r\n result.push($item)\r\n }\r\n }));\r\n return result\r\n }\r\n _itemClass() {\r\n return APPOINTMENT_ITEM_CLASS\r\n }\r\n _itemContainer() {\r\n var $container = super._itemContainer();\r\n var $result = $container;\r\n var $allDayContainer = this.option(\"allDayContainer\");\r\n if ($allDayContainer) {\r\n $result = $container.add($allDayContainer)\r\n }\r\n return $result\r\n }\r\n _cleanItemContainer() {\r\n super._cleanItemContainer();\r\n var $allDayContainer = this.option(\"allDayContainer\");\r\n if ($allDayContainer) {\r\n $allDayContainer.empty()\r\n }\r\n this._virtualAppointments = {}\r\n }\r\n _clean() {\r\n super._clean();\r\n delete this._$currentAppointment;\r\n delete this._initialSize;\r\n delete this._initialCoordinates\r\n }\r\n _init() {\r\n super._init();\r\n this.$element().addClass(COMPONENT_CLASS);\r\n this._preventSingleAppointmentClick = false\r\n }\r\n _renderAppointmentTemplate($container, appointment, model) {\r\n var config = {\r\n isAllDay: appointment.allDay,\r\n isRecurrence: appointment.recurrenceRule,\r\n html: isPlainObject(appointment) && appointment.html ? appointment.html : void 0\r\n };\r\n var formatText = this.invoke(\"getTextAndFormatDate\", model.appointmentData, this._currentAppointmentSettings.agendaSettings || model.targetedAppointmentData, \"TIME\");\r\n $container.append(this.isAgendaView ? createAgendaAppointmentLayout(formatText, config) : createAppointmentLayout(formatText, config))\r\n }\r\n _executeItemRenderAction(index, itemData, itemElement) {\r\n var action = this._getItemRenderAction();\r\n if (action) {\r\n action(this.invoke(\"mapAppointmentFields\", {\r\n itemData: itemData,\r\n itemElement: itemElement\r\n }))\r\n }\r\n delete this._currentAppointmentSettings\r\n }\r\n _itemClickHandler(e) {\r\n super._itemClickHandler(e, {}, {\r\n afterExecute: function(e) {\r\n this._processItemClick(e.args[0].event)\r\n }.bind(this)\r\n })\r\n }\r\n _processItemClick(e) {\r\n var $target = $(e.currentTarget);\r\n var data = this._getItemData($target);\r\n if (\"keydown\" === e.type || isFakeClickEvent(e)) {\r\n this.notifyObserver(\"showEditAppointmentPopup\", {\r\n data: data,\r\n target: $target\r\n });\r\n return\r\n }\r\n this._appointmentClickTimeout = setTimeout(() => {\r\n if (!this._preventSingleAppointmentClick && domAdapter.getBody().contains($target[0])) {\r\n this.notifyObserver(\"showAppointmentTooltip\", {\r\n data: data,\r\n target: $target\r\n })\r\n }\r\n this._preventSingleAppointmentClick = false\r\n }, 300)\r\n }\r\n _extendActionArgs($itemElement) {\r\n var args = super._extendActionArgs($itemElement);\r\n return this.invoke(\"mapAppointmentFields\", args)\r\n }\r\n _render() {\r\n super._render();\r\n this._attachAppointmentDblClick()\r\n }\r\n _attachAppointmentDblClick() {\r\n var that = this;\r\n var itemSelector = that._itemSelector();\r\n var itemContainer = this._itemContainer();\r\n eventsEngine.off(itemContainer, DBLCLICK_EVENT_NAME, itemSelector);\r\n eventsEngine.on(itemContainer, DBLCLICK_EVENT_NAME, itemSelector, e => {\r\n that._itemDXEventHandler(e, \"onAppointmentDblClick\", {}, {\r\n afterExecute(e) {\r\n that._dblClickHandler(e.args[0].event)\r\n }\r\n })\r\n })\r\n }\r\n _dblClickHandler(e) {\r\n var $targetAppointment = $(e.currentTarget);\r\n var appointmentData = this._getItemData($targetAppointment);\r\n clearTimeout(this._appointmentClickTimeout);\r\n this._preventSingleAppointmentClick = true;\r\n this.notifyObserver(\"showEditAppointmentPopup\", {\r\n data: appointmentData,\r\n target: $targetAppointment\r\n })\r\n }\r\n _renderItem(index, item, container) {\r\n var {\r\n itemData: itemData\r\n } = item;\r\n var $items = [];\r\n for (var i = 0; i < item.settings.length; i++) {\r\n var setting = item.settings[i];\r\n this._currentAppointmentSettings = setting;\r\n var $item = super._renderItem(index, itemData, container);\r\n $item.data(APPOINTMENT_SETTINGS_KEY, setting);\r\n $items.push($item)\r\n }\r\n return $items\r\n }\r\n _getItemContent($itemFrame) {\r\n $itemFrame.data(APPOINTMENT_SETTINGS_KEY, this._currentAppointmentSettings);\r\n var $itemContent = super._getItemContent($itemFrame);\r\n return $itemContent\r\n }\r\n _createItemByTemplate(itemTemplate, renderArgs) {\r\n var {\r\n itemData: itemData,\r\n container: container,\r\n index: index\r\n } = renderArgs;\r\n return itemTemplate.render({\r\n model: {\r\n appointmentData: itemData,\r\n targetedAppointmentData: this.invoke(\"getTargetedAppointmentData\", itemData, $(container).parent())\r\n },\r\n container: container,\r\n index: index\r\n })\r\n }\r\n _getAppointmentContainer(allDay) {\r\n var $allDayContainer = this.option(\"allDayContainer\");\r\n var $container = this.itemsContainer().not($allDayContainer);\r\n if (allDay && $allDayContainer) {\r\n $container = $allDayContainer\r\n }\r\n return $container\r\n }\r\n _postprocessRenderItem(args) {\r\n this._renderAppointment(args.itemElement, this._currentAppointmentSettings)\r\n }\r\n _renderAppointment(element, settings) {\r\n var _a;\r\n element.data(APPOINTMENT_SETTINGS_KEY, settings);\r\n this._applyResourceDataAttr(element);\r\n var rawAppointment = this._getItemData(element);\r\n var geometry = this.invoke(\"getAppointmentGeometry\", settings);\r\n var allowResize = this.option(\"allowResize\") && (!isDefined(settings.skipResizing) || isString(settings.skipResizing));\r\n var allowDrag = this.option(\"allowDrag\");\r\n var {\r\n allDay: allDay\r\n } = settings;\r\n this.invoke(\"setCellDataCacheAlias\", this._currentAppointmentSettings, geometry);\r\n if (settings.virtual) {\r\n var appointmentConfig = {\r\n itemData: rawAppointment,\r\n groupIndex: settings.groupIndex,\r\n groups: this.option(\"groups\")\r\n };\r\n var deferredColor = this.option(\"getAppointmentColor\")(appointmentConfig);\r\n this._processVirtualAppointment(settings, element, rawAppointment, deferredColor)\r\n } else {\r\n var config = {\r\n data: rawAppointment,\r\n groupIndex: settings.groupIndex,\r\n observer: this.option(\"observer\"),\r\n geometry: geometry,\r\n direction: settings.direction || \"vertical\",\r\n allowResize: allowResize,\r\n allowDrag: allowDrag,\r\n allDay: allDay,\r\n reduced: settings.appointmentReduced,\r\n isCompact: settings.isCompact,\r\n startDate: new Date(null === (_a = settings.info) || void 0 === _a ? void 0 : _a.appointment.startDate),\r\n cellWidth: this.invoke(\"getCellWidth\"),\r\n cellHeight: this.invoke(\"getCellHeight\"),\r\n resizableConfig: this._resizableConfig(rawAppointment, settings),\r\n groups: this.option(\"groups\"),\r\n getAppointmentColor: this.option(\"getAppointmentColor\"),\r\n getResourceDataAccessors: this.option(\"getResourceDataAccessors\")\r\n };\r\n if (this.isAgendaView) {\r\n var agendaResourceProcessor = this.option(\"getAgendaResourceProcessor\")();\r\n config.createPlainResourceListAsync = rawAppointment => agendaResourceProcessor.createListAsync(rawAppointment)\r\n }\r\n this._createComponent(element, this.isAgendaView ? AgendaAppointment : Appointment, _extends(_extends({}, config), {\r\n dataAccessors: this.option(\"dataAccessors\"),\r\n getResizableStep: this.option(\"getResizableStep\")\r\n }))\r\n }\r\n }\r\n _applyResourceDataAttr($appointment) {\r\n var dataAccessors = this.option(\"getResourceDataAccessors\")();\r\n var rawAppointment = this._getItemData($appointment);\r\n each(dataAccessors.getter, key => {\r\n var value = dataAccessors.getter[key](rawAppointment);\r\n if (isDefined(value)) {\r\n var prefix = \"data-\".concat(normalizeKey(key.toLowerCase()), \"-\");\r\n wrapToArray(value).forEach(value => $appointment.attr(prefix + normalizeKey(value), true))\r\n }\r\n })\r\n }\r\n _resizableConfig(appointmentData, itemSetting) {\r\n return {\r\n area: this._calculateResizableArea(itemSetting, appointmentData),\r\n onResizeStart: function(e) {\r\n this.resizeOccur = true;\r\n this._$currentAppointment = $(e.element);\r\n if (this.invoke(\"needRecalculateResizableArea\")) {\r\n var updatedArea = this._calculateResizableArea(this._$currentAppointment.data(APPOINTMENT_SETTINGS_KEY), this._$currentAppointment.data(\"dxItemData\"));\r\n e.component.option(\"area\", updatedArea);\r\n e.component._renderDragOffsets(e.event)\r\n }\r\n this._initialSize = {\r\n width: e.width,\r\n height: e.height\r\n };\r\n this._initialCoordinates = locate(this._$currentAppointment)\r\n }.bind(this),\r\n onResizeEnd: function(e) {\r\n this.resizeOccur = false;\r\n this._resizeEndHandler(e)\r\n }.bind(this)\r\n }\r\n }\r\n _calculateResizableArea(itemSetting, appointmentData) {\r\n var area = this.$element().closest(\".dx-scrollable-content\");\r\n return this.invoke(\"getResizableAppointmentArea\", {\r\n coordinates: {\r\n left: itemSetting.left,\r\n top: 0,\r\n groupIndex: itemSetting.groupIndex\r\n },\r\n allDay: itemSetting.allDay\r\n }) || area\r\n }\r\n _resizeEndHandler(e) {\r\n var $element = $(e.element);\r\n var {\r\n allDay: allDay,\r\n info: info\r\n } = $element.data(\"dxAppointmentSettings\");\r\n var sourceAppointment = this._getItemData($element);\r\n var dateRange = {};\r\n if (allDay) {\r\n dateRange = this.resizeAllDay(e)\r\n } else {\r\n var startDate = this._getEndResizeAppointmentStartDate(e, sourceAppointment, info.appointment);\r\n var {\r\n endDate: endDate\r\n } = info.appointment;\r\n dateRange = this._getDateRange(e, startDate, endDate)\r\n }\r\n this.updateResizedAppointment($element, dateRange, this.option(\"dataAccessors\"), this.option(\"timeZoneCalculator\"))\r\n }\r\n resizeAllDay(e) {\r\n var $element = $(e.element);\r\n var timeZoneCalculator = this.option(\"timeZoneCalculator\");\r\n var dataAccessors = this.option(\"dataAccessors\");\r\n return getAppointmentDateRange({\r\n handles: e.handles,\r\n appointmentSettings: $element.data(\"dxAppointmentSettings\"),\r\n isVerticalViewDirection: this.option(\"isVerticalViewDirection\")(),\r\n isVerticalGroupedWorkSpace: this.option(\"isVerticalGroupedWorkSpace\")(),\r\n appointmentRect: getBoundingRect($element[0]),\r\n parentAppointmentRect: getBoundingRect($element.parent()[0]),\r\n viewDataProvider: this.option(\"getViewDataProvider\")(),\r\n isDateAndTimeView: this.option(\"isDateAndTimeView\")(),\r\n startDayHour: this.invoke(\"getStartDayHour\"),\r\n endDayHour: this.invoke(\"getEndDayHour\"),\r\n timeZoneCalculator: timeZoneCalculator,\r\n dataAccessors: dataAccessors,\r\n rtlEnabled: this.option(\"rtlEnabled\"),\r\n DOMMetaData: this.option(\"getDOMElementsMetaData\")()\r\n })\r\n }\r\n updateResizedAppointment($element, dateRange, dataAccessors, timeZoneCalculator) {\r\n var sourceAppointment = this._getItemData($element);\r\n var modifiedAppointmentAdapter = createAppointmentAdapter(sourceAppointment, dataAccessors, timeZoneCalculator).clone();\r\n modifiedAppointmentAdapter.startDate = new Date(dateRange.startDate);\r\n modifiedAppointmentAdapter.endDate = new Date(dateRange.endDate);\r\n this.notifyObserver(\"updateAppointmentAfterResize\", {\r\n target: sourceAppointment,\r\n data: modifiedAppointmentAdapter.clone({\r\n pathTimeZone: \"fromGrid\"\r\n }).source(),\r\n $appointment: $element\r\n })\r\n }\r\n _getEndResizeAppointmentStartDate(e, rawAppointment, appointmentInfo) {\r\n var timeZoneCalculator = this.option(\"timeZoneCalculator\");\r\n var appointmentAdapter = createAppointmentAdapter(rawAppointment, this.option(\"dataAccessors\"), timeZoneCalculator);\r\n var {\r\n startDate: startDate\r\n } = appointmentInfo;\r\n var recurrenceProcessor = getRecurrenceProcessor();\r\n var {\r\n recurrenceRule: recurrenceRule,\r\n startDateTimeZone: startDateTimeZone\r\n } = appointmentAdapter;\r\n var isAllDay = this.invoke(\"isAllDay\", rawAppointment);\r\n var isRecurrent = recurrenceProcessor.isValidRecurrenceRule(recurrenceRule);\r\n if (!e.handles.top && !isRecurrent && !isAllDay) {\r\n startDate = timeZoneCalculator.createDate(appointmentAdapter.startDate, {\r\n appointmentTimeZone: startDateTimeZone,\r\n path: \"toGrid\"\r\n })\r\n }\r\n return startDate\r\n }\r\n _getDateRange(e, startDate, endDate) {\r\n var itemData = this._getItemData(e.element);\r\n var deltaTime = this.invoke(\"getDeltaTime\", e, this._initialSize, itemData);\r\n var renderingStrategyDirection = this.invoke(\"getRenderingStrategyDirection\");\r\n var isStartDateChanged = false;\r\n var isAllDay = this.invoke(\"isAllDay\", itemData);\r\n var needCorrectDates = this.invoke(\"needCorrectAppointmentDates\") && !isAllDay;\r\n var startTime;\r\n var endTime;\r\n if (\"vertical\" !== renderingStrategyDirection || isAllDay) {\r\n isStartDateChanged = this.option(\"rtlEnabled\") ? e.handles.right : e.handles.left\r\n } else {\r\n isStartDateChanged = e.handles.top\r\n }\r\n if (isStartDateChanged) {\r\n startTime = needCorrectDates ? this._correctStartDateByDelta(startDate, deltaTime) : startDate.getTime() - deltaTime;\r\n startTime += timeZoneUtils.getTimezoneOffsetChangeInMs(startDate, endDate, startTime, endDate);\r\n endTime = endDate.getTime()\r\n } else {\r\n startTime = startDate.getTime();\r\n endTime = needCorrectDates ? this._correctEndDateByDelta(endDate, deltaTime) : endDate.getTime() + deltaTime;\r\n endTime -= timeZoneUtils.getTimezoneOffsetChangeInMs(startDate, endDate, startDate, endTime)\r\n }\r\n return {\r\n startDate: new Date(startTime),\r\n endDate: new Date(endTime)\r\n }\r\n }\r\n _correctEndDateByDelta(endDate, deltaTime) {\r\n var endDayHour = this.invoke(\"getEndDayHour\");\r\n var startDayHour = this.invoke(\"getStartDayHour\");\r\n var result = endDate.getTime() + deltaTime;\r\n var visibleDayDuration = (endDayHour - startDayHour) * toMs(\"hour\");\r\n var daysCount = deltaTime > 0 ? Math.ceil(deltaTime / visibleDayDuration) : Math.floor(deltaTime / visibleDayDuration);\r\n var maxDate = new Date(endDate);\r\n var minDate = new Date(endDate);\r\n minDate.setHours(startDayHour, 0, 0, 0);\r\n maxDate.setHours(endDayHour, 0, 0, 0);\r\n if (result > maxDate.getTime() || result <= minDate.getTime()) {\r\n var tailOfCurrentDay = maxDate.getTime() - endDate.getTime();\r\n var tailOfPrevDays = deltaTime - tailOfCurrentDay;\r\n var correctedEndDate = new Date(endDate).setDate(endDate.getDate() + daysCount);\r\n var lastDay = new Date(correctedEndDate);\r\n lastDay.setHours(startDayHour, 0, 0, 0);\r\n result = lastDay.getTime() + tailOfPrevDays - visibleDayDuration * (daysCount - 1)\r\n }\r\n return result\r\n }\r\n _correctStartDateByDelta(startDate, deltaTime) {\r\n var endDayHour = this.invoke(\"getEndDayHour\");\r\n var startDayHour = this.invoke(\"getStartDayHour\");\r\n var result = startDate.getTime() - deltaTime;\r\n var visibleDayDuration = (endDayHour - startDayHour) * toMs(\"hour\");\r\n var daysCount = deltaTime > 0 ? Math.ceil(deltaTime / visibleDayDuration) : Math.floor(deltaTime / visibleDayDuration);\r\n var maxDate = new Date(startDate);\r\n var minDate = new Date(startDate);\r\n minDate.setHours(startDayHour, 0, 0, 0);\r\n maxDate.setHours(endDayHour, 0, 0, 0);\r\n if (result < minDate.getTime() || result >= maxDate.getTime()) {\r\n var tailOfCurrentDay = startDate.getTime() - minDate.getTime();\r\n var tailOfPrevDays = deltaTime - tailOfCurrentDay;\r\n var firstDay = new Date(startDate.setDate(startDate.getDate() - daysCount));\r\n firstDay.setHours(endDayHour, 0, 0, 0);\r\n result = firstDay.getTime() - tailOfPrevDays + visibleDayDuration * (daysCount - 1)\r\n }\r\n return result\r\n }\r\n _processVirtualAppointment(appointmentSetting, $appointment, appointmentData, color) {\r\n var virtualAppointment = appointmentSetting.virtual;\r\n var virtualGroupIndex = virtualAppointment.index;\r\n if (!isDefined(this._virtualAppointments[virtualGroupIndex])) {\r\n this._virtualAppointments[virtualGroupIndex] = {\r\n coordinates: {\r\n top: virtualAppointment.top,\r\n left: virtualAppointment.left\r\n },\r\n items: {\r\n data: [],\r\n colors: [],\r\n settings: []\r\n },\r\n isAllDay: !!virtualAppointment.isAllDay,\r\n buttonColor: color\r\n }\r\n }\r\n appointmentSetting.targetedAppointmentData = this.invoke(\"getTargetedAppointmentData\", appointmentData, $appointment);\r\n this._virtualAppointments[virtualGroupIndex].items.settings.push(appointmentSetting);\r\n this._virtualAppointments[virtualGroupIndex].items.data.push(appointmentData);\r\n this._virtualAppointments[virtualGroupIndex].items.colors.push(color);\r\n $appointment.remove()\r\n }\r\n _renderContentImpl() {\r\n super._renderContentImpl();\r\n this._renderDropDownAppointments()\r\n }\r\n _renderDropDownAppointments() {\r\n this._renderByFragments(($commonFragment, $allDayFragment) => {\r\n each(this._virtualAppointments, groupIndex => {\r\n var virtualGroup = this._virtualAppointments[groupIndex];\r\n var virtualItems = virtualGroup.items;\r\n var virtualCoordinates = virtualGroup.coordinates;\r\n var $fragment = virtualGroup.isAllDay ? $allDayFragment : $commonFragment;\r\n var {\r\n left: left\r\n } = virtualCoordinates;\r\n var buttonWidth = this.invoke(\"getDropDownAppointmentWidth\", virtualGroup.isAllDay);\r\n var buttonHeight = this.invoke(\"getDropDownAppointmentHeight\");\r\n var rtlOffset = this.option(\"rtlEnabled\") ? buttonWidth : 0;\r\n this.notifyObserver(\"renderCompactAppointments\", {\r\n $container: $fragment,\r\n coordinates: {\r\n top: virtualCoordinates.top,\r\n left: left + rtlOffset\r\n },\r\n items: virtualItems,\r\n buttonColor: virtualGroup.buttonColor,\r\n width: buttonWidth - this.option(\"_collectorOffset\"),\r\n height: buttonHeight,\r\n onAppointmentClick: this.option(\"onItemClick\"),\r\n allowDrag: this.option(\"allowDrag\"),\r\n cellWidth: this.invoke(\"getCellWidth\"),\r\n isCompact: this.invoke(\"isAdaptive\") || this._isGroupCompact(virtualGroup)\r\n })\r\n })\r\n })\r\n }\r\n _isGroupCompact(virtualGroup) {\r\n return !virtualGroup.isAllDay && this.invoke(\"supportCompactDropDownAppointments\")\r\n }\r\n _sortAppointmentsByStartDate(appointments) {\r\n return sortAppointmentsByStartDate(appointments, this.option(\"dataAccessors\"))\r\n }\r\n _processRecurrenceAppointment(appointment, index, skipLongAppointments) {\r\n var recurrenceRule = ExpressionUtils.getField(this.option(\"dataAccessors\"), \"recurrenceRule\", appointment);\r\n var result = {\r\n parts: [],\r\n indexes: []\r\n };\r\n if (recurrenceRule) {\r\n var dates = appointment.settings || appointment;\r\n var startDate = new Date(ExpressionUtils.getField(this.option(\"dataAccessors\"), \"startDate\", dates));\r\n var startDateTimeZone = ExpressionUtils.getField(this.option(\"dataAccessors\"), \"startDateTimeZone\", appointment);\r\n var endDate = new Date(ExpressionUtils.getField(this.option(\"dataAccessors\"), \"endDate\", dates));\r\n var appointmentDuration = endDate.getTime() - startDate.getTime();\r\n var recurrenceException = ExpressionUtils.getField(this.option(\"dataAccessors\"), \"recurrenceException\", appointment);\r\n var startViewDate = this.invoke(\"getStartViewDate\");\r\n var endViewDate = this.invoke(\"getEndViewDate\");\r\n var timezoneCalculator = this.option(\"timeZoneCalculator\");\r\n var recurrentDates = getRecurrenceProcessor().generateDates({\r\n rule: recurrenceRule,\r\n exception: recurrenceException,\r\n start: startDate,\r\n end: endDate,\r\n min: startViewDate,\r\n max: endViewDate,\r\n appointmentTimezoneOffset: timezoneCalculator.getOriginStartDateOffsetInMs(startDate, startDateTimeZone, false)\r\n });\r\n var recurrentDateCount = appointment.settings ? 1 : recurrentDates.length;\r\n for (var i = 0; i < recurrentDateCount; i++) {\r\n var appointmentPart = extend({}, appointment, true);\r\n if (recurrentDates[i]) {\r\n var appointmentSettings = this._applyStartDateToObj(recurrentDates[i], {});\r\n this._applyEndDateToObj(new Date(recurrentDates[i].getTime() + appointmentDuration), appointmentSettings);\r\n appointmentPart.settings = appointmentSettings\r\n } else {\r\n appointmentPart.settings = dates\r\n }\r\n result.parts.push(appointmentPart);\r\n if (!skipLongAppointments) {\r\n this._processLongAppointment(appointmentPart, result)\r\n }\r\n }\r\n result.indexes.push(index)\r\n }\r\n return result\r\n }\r\n _processLongAppointment(appointment, result) {\r\n var parts = this.splitAppointmentByDay(appointment);\r\n var partCount = parts.length;\r\n var endViewDate = this.invoke(\"getEndViewDate\").getTime();\r\n var startViewDate = this.invoke(\"getStartViewDate\").getTime();\r\n var timeZoneCalculator = this.option(\"timeZoneCalculator\");\r\n result = result || {\r\n parts: []\r\n };\r\n if (partCount > 1) {\r\n extend(appointment, parts[0]);\r\n for (var i = 1; i < partCount; i++) {\r\n var startDate = ExpressionUtils.getField(this.option(\"dataAccessors\"), \"startDate\", parts[i].settings).getTime();\r\n startDate = timeZoneCalculator.createDate(startDate, {\r\n path: \"toGrid\"\r\n });\r\n if (startDate < endViewDate && startDate > startViewDate) {\r\n result.parts.push(parts[i])\r\n }\r\n }\r\n }\r\n return result\r\n }\r\n _reduceRecurrenceAppointments(recurrenceIndexes, appointments) {\r\n each(recurrenceIndexes, (i, index) => {\r\n appointments.splice(index - i, 1)\r\n })\r\n }\r\n _combineAppointments(appointments, additionalAppointments) {\r\n if (additionalAppointments.length) {\r\n appointments.push(...additionalAppointments)\r\n }\r\n this._sortAppointmentsByStartDate(appointments)\r\n }\r\n _applyStartDateToObj(startDate, obj) {\r\n ExpressionUtils.setField(this.option(\"dataAccessors\"), \"startDate\", obj, startDate);\r\n return obj\r\n }\r\n _applyEndDateToObj(endDate, obj) {\r\n ExpressionUtils.setField(this.option(\"dataAccessors\"), \"endDate\", obj, endDate);\r\n return obj\r\n }\r\n moveAppointmentBack(dragEvent) {\r\n var $appointment = this._$currentAppointment;\r\n var size = this._initialSize;\r\n var coords = this._initialCoordinates;\r\n if (dragEvent) {\r\n this._removeDragSourceClassFromDraggedAppointment();\r\n if (isDeferred(dragEvent.cancel)) {\r\n dragEvent.cancel.resolve(true)\r\n } else {\r\n dragEvent.cancel = true\r\n }\r\n }\r\n if ($appointment && !dragEvent) {\r\n if (coords) {\r\n move($appointment, coords);\r\n delete this._initialSize\r\n }\r\n if (size) {\r\n setOuterWidth($appointment, size.width);\r\n setOuterHeight($appointment, size.height);\r\n delete this._initialCoordinates\r\n }\r\n }\r\n }\r\n focus() {\r\n if (this._$currentAppointment) {\r\n var focusedElement = getPublicElement(this._$currentAppointment);\r\n this.option(\"focusedElement\", focusedElement);\r\n eventsEngine.trigger(focusedElement, \"focus\")\r\n }\r\n }\r\n splitAppointmentByDay(appointment) {\r\n var dates = appointment.settings || appointment;\r\n var dataAccessors = this.option(\"dataAccessors\");\r\n var originalStartDate = new Date(ExpressionUtils.getField(dataAccessors, \"startDate\", dates));\r\n var startDate = dateUtils.makeDate(originalStartDate);\r\n var endDate = dateUtils.makeDate(ExpressionUtils.getField(dataAccessors, \"endDate\", dates));\r\n var maxAllowedDate = this.invoke(\"getEndViewDate\");\r\n var startDayHour = this.invoke(\"getStartDayHour\");\r\n var endDayHour = this.invoke(\"getEndDayHour\");\r\n var timeZoneCalculator = this.option(\"timeZoneCalculator\");\r\n var adapter = createAppointmentAdapter(appointment, dataAccessors, timeZoneCalculator);\r\n var appointmentIsLong = getAppointmentTakesSeveralDays(adapter);\r\n var result = [];\r\n startDate = timeZoneCalculator.createDate(startDate, {\r\n path: \"toGrid\"\r\n });\r\n endDate = timeZoneCalculator.createDate(endDate, {\r\n path: \"toGrid\"\r\n });\r\n if (startDate.getHours() <= endDayHour && startDate.getHours() >= startDayHour && !appointmentIsLong) {\r\n result.push(this._applyStartDateToObj(new Date(startDate), {\r\n appointmentData: appointment\r\n }));\r\n startDate.setDate(startDate.getDate() + 1)\r\n }\r\n while (appointmentIsLong && startDate.getTime() < endDate.getTime() && startDate < maxAllowedDate) {\r\n var currentStartDate = new Date(startDate);\r\n var currentEndDate = new Date(startDate);\r\n this._checkStartDate(currentStartDate, originalStartDate, startDayHour);\r\n this._checkEndDate(currentEndDate, endDate, endDayHour);\r\n var appointmentData = deepExtendArraySafe({}, appointment, true);\r\n var appointmentSettings = {};\r\n this._applyStartDateToObj(currentStartDate, appointmentSettings);\r\n this._applyEndDateToObj(currentEndDate, appointmentSettings);\r\n appointmentData.settings = appointmentSettings;\r\n result.push(appointmentData);\r\n startDate = dateUtils.trimTime(startDate);\r\n startDate.setDate(startDate.getDate() + 1);\r\n startDate.setHours(startDayHour)\r\n }\r\n return result\r\n }\r\n _checkStartDate(currentDate, originalDate, startDayHour) {\r\n if (!dateUtils.sameDate(currentDate, originalDate) || currentDate.getHours() <= startDayHour) {\r\n currentDate.setHours(startDayHour, 0, 0, 0)\r\n } else {\r\n currentDate.setHours(originalDate.getHours(), originalDate.getMinutes(), originalDate.getSeconds(), originalDate.getMilliseconds())\r\n }\r\n }\r\n _checkEndDate(currentDate, originalDate, endDayHour) {\r\n if (!dateUtils.sameDate(currentDate, originalDate) || currentDate.getHours() > endDayHour) {\r\n currentDate.setHours(endDayHour, 0, 0, 0)\r\n } else {\r\n currentDate.setHours(originalDate.getHours(), originalDate.getMinutes(), originalDate.getSeconds(), originalDate.getMilliseconds())\r\n }\r\n }\r\n _removeDragSourceClassFromDraggedAppointment() {\r\n var $appointments = this._itemElements().filter(\".\".concat(APPOINTMENT_DRAG_SOURCE_CLASS));\r\n $appointments.each((_, element) => {\r\n var appointmentInstance = $(element).dxSchedulerAppointment(\"instance\");\r\n appointmentInstance.option(\"isDragSource\", false)\r\n })\r\n }\r\n _setDragSourceAppointment(appointment, settings) {\r\n var $appointments = this._findItemElementByItem(appointment);\r\n var {\r\n startDate: startDate,\r\n endDate: endDate\r\n } = settings.info.sourceAppointment;\r\n var {\r\n groupIndex: groupIndex\r\n } = settings;\r\n $appointments.forEach($item => {\r\n var {\r\n info: itemInfo,\r\n groupIndex: itemGroupIndex\r\n } = $item.data(APPOINTMENT_SETTINGS_KEY);\r\n var {\r\n startDate: itemStartDate,\r\n endDate: itemEndDate\r\n } = itemInfo.sourceAppointment;\r\n var appointmentInstance = $item.dxSchedulerAppointment(\"instance\");\r\n var isDragSource = startDate.getTime() === itemStartDate.getTime() && endDate.getTime() === itemEndDate.getTime() && groupIndex === itemGroupIndex;\r\n appointmentInstance.option(\"isDragSource\", isDragSource)\r\n })\r\n }\r\n updateResizableArea() {\r\n var $allResizableElements = this.$element().find(\".dx-scheduler-appointment.dx-resizable\");\r\n var horizontalResizables = grep($allResizableElements, el => {\r\n var $el = $(el);\r\n var resizableInst = $el.dxResizable(\"instance\");\r\n var {\r\n area: area,\r\n handles: handles\r\n } = resizableInst.option();\r\n return (\"right left\" === handles || \"left right\" === handles) && isPlainObject(area)\r\n });\r\n each(horizontalResizables, (_, el) => {\r\n var $el = $(el);\r\n var position = locate($el);\r\n var appointmentData = this._getItemData($el);\r\n var area = this._calculateResizableArea({\r\n left: position.left\r\n }, appointmentData);\r\n $el.dxResizable(\"instance\").option(\"area\", area)\r\n })\r\n }\r\n}\r\nregisterComponent(\"dxSchedulerAppointments\", SchedulerAppointments);\r\nexport default SchedulerAppointments;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/appointment/utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n addToStyles\r\n} from \"../workspaces/utils\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport dateLocalization from \"../../../../localization/date\";\r\nvar EditorLabelLocalizationConst = \"dxScheduler-editorLabelEndDate\";\r\nexport var getAppointmentStyles = viewModel => {\r\n var {\r\n geometry: {\r\n height: height,\r\n left: left,\r\n top: top,\r\n width: width\r\n }\r\n } = viewModel;\r\n return addToStyles([{\r\n attr: \"height\",\r\n value: \"\".concat(height || 50, \"px\")\r\n }, {\r\n attr: \"width\",\r\n value: \"\".concat(width || 50, \"px\")\r\n }, {\r\n attr: \"top\",\r\n value: \"\".concat(top, \"px\")\r\n }, {\r\n attr: \"left\",\r\n value: \"\".concat(left, \"px\")\r\n }])\r\n};\r\nexport var getAppointmentKey = geometry => {\r\n var {\r\n height: height,\r\n left: left,\r\n top: top,\r\n width: width\r\n } = geometry;\r\n return \"\".concat(left, \"-\").concat(top, \"-\").concat(width, \"-\").concat(height)\r\n};\r\nexport var getReducedIconTooltipText = endDate => {\r\n var tooltipLabel = messageLocalization.format(EditorLabelLocalizationConst);\r\n if (!endDate) {\r\n return tooltipLabel\r\n }\r\n var date = new Date(endDate);\r\n var monthAndDay = dateLocalization.format(date, \"monthAndDay\");\r\n var year = dateLocalization.format(date, \"year\");\r\n return \"\".concat(tooltipLabel, \": \").concat(monthAndDay, \", \").concat(year)\r\n};\r\nexport var mergeStylesWithColor = (color, styles) => !color ? styles : addToStyles([{\r\n attr: \"backgroundColor\",\r\n value: color\r\n}], styles);\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/appointment/content/details/layout.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"dateText\"];\r\nimport {\r\n createVNode\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n props: {\r\n dateText: dateText\r\n }\r\n } = _ref;\r\n return createVNode(1, \"div\", \"dx-scheduler-appointment-content-details\", createVNode(1, \"div\", \"dx-scheduler-appointment-content-date\", dateText, 0), 2)\r\n};\r\nexport var AppointmentDetailsProps = {\r\n dateText: \"\"\r\n};\r\nexport class AppointmentDetails extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nAppointmentDetails.defaultProps = AppointmentDetailsProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/appointment/content/title/layout.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"text\"];\r\nimport {\r\n createVNode\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n props: {\r\n text: text\r\n }\r\n } = _ref;\r\n return createVNode(1, \"div\", \"dx-scheduler-appointment-title\", text, 0)\r\n};\r\nexport var AppointmentTitleProps = {\r\n text: \"\"\r\n};\r\nexport class AppointmentTitle extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nAppointmentTitle.defaultProps = AppointmentTitleProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/appointment/content/layout.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"appointmentTemplate\", \"data\", \"dateText\", \"hideReducedIconTooltip\", \"index\", \"isRecurrent\", \"isReduced\", \"showReducedIconTooltip\", \"text\"];\r\nimport {\r\n createVNode,\r\n createFragment,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n Fragment\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n AppointmentDetails\r\n} from \"./details/layout\";\r\nimport {\r\n AppointmentTitle\r\n} from \"./title/layout\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n props: {\r\n appointmentTemplate: appointmentTemplate,\r\n data: data,\r\n dateText: dateText,\r\n index: index,\r\n isRecurrent: isRecurrent,\r\n isReduced: isReduced,\r\n text: text\r\n },\r\n refReducedIcon: refReducedIcon\r\n } = _ref;\r\n var AppointmentTemplate = appointmentTemplate;\r\n return createVNode(1, \"div\", \"dx-scheduler-appointment-content\", appointmentTemplate ? AppointmentTemplate({\r\n data: data,\r\n index: index\r\n }) : createFragment([createComponentVNode(2, AppointmentTitle, {\r\n text: text\r\n }), createComponentVNode(2, AppointmentDetails, {\r\n dateText: dateText\r\n }), isRecurrent && createVNode(1, \"div\", \"dx-scheduler-appointment-recurrence-icon dx-icon-repeat\"), isReduced && createVNode(1, \"div\", \"dx-scheduler-appointment-reduced-icon\", null, 1, null, null, refReducedIcon)], 0), 0)\r\n};\r\nexport var AppointmentContentProps = {\r\n text: \"\",\r\n dateText: \"\",\r\n isRecurrent: false,\r\n isReduced: false,\r\n index: 0\r\n};\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class AppointmentContent extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.refReducedIcon = infernoCreateRef();\r\n this.bindHoverEffect = this.bindHoverEffect.bind(this);\r\n this.onReducedIconMouseEnter = this.onReducedIconMouseEnter.bind(this);\r\n this.onReducedIconMouseLeave = this.onReducedIconMouseLeave.bind(this)\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.bindHoverEffect, [this.props.showReducedIconTooltip, this.props.data, this.props.hideReducedIconTooltip])]\r\n }\r\n updateEffects() {\r\n var _this$_effects$;\r\n null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props.showReducedIconTooltip, this.props.data, this.props.hideReducedIconTooltip])\r\n }\r\n bindHoverEffect() {\r\n var _this$refReducedIcon$, _this$refReducedIcon$2;\r\n var onMouseEnter = () => this.onReducedIconMouseEnter();\r\n var onMouseLeave = () => this.onReducedIconMouseLeave();\r\n null === (_this$refReducedIcon$ = this.refReducedIcon.current) || void 0 === _this$refReducedIcon$ ? void 0 : _this$refReducedIcon$.addEventListener(\"mouseenter\", onMouseEnter);\r\n null === (_this$refReducedIcon$2 = this.refReducedIcon.current) || void 0 === _this$refReducedIcon$2 ? void 0 : _this$refReducedIcon$2.addEventListener(\"mouseleave\", onMouseLeave);\r\n return () => {\r\n var _this$refReducedIcon$3, _this$refReducedIcon$4;\r\n null === (_this$refReducedIcon$3 = this.refReducedIcon.current) || void 0 === _this$refReducedIcon$3 ? void 0 : _this$refReducedIcon$3.removeEventListener(\"mouseenter\", onMouseEnter);\r\n null === (_this$refReducedIcon$4 = this.refReducedIcon.current) || void 0 === _this$refReducedIcon$4 ? void 0 : _this$refReducedIcon$4.removeEventListener(\"mouseleave\", onMouseLeave)\r\n }\r\n }\r\n onReducedIconMouseEnter() {\r\n this.props.showReducedIconTooltip({\r\n target: this.refReducedIcon.current,\r\n endDate: this.props.data.appointmentData.endDate\r\n })\r\n }\r\n onReducedIconMouseLeave() {\r\n this.props.hideReducedIconTooltip()\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n appointmentTemplate: getTemplate(props.appointmentTemplate)\r\n }),\r\n refReducedIcon: this.refReducedIcon,\r\n onReducedIconMouseEnter: this.onReducedIconMouseEnter,\r\n onReducedIconMouseLeave: this.onReducedIconMouseLeave,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nAppointmentContent.defaultProps = AppointmentContentProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/resources/utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n getAppointmentColor as getDeferredAppointmentColor\r\n} from \"../../../../__internal/scheduler/resources/m_utils\";\r\nexport var getAppointmentColor = (resourceConfig, appointmentConfig) => getDeferredAppointmentColor(_extends({}, resourceConfig, {\r\n dataAccessors: resourceConfig.resourcesDataAccessors\r\n}), appointmentConfig);\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/appointments_context.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n createContext\r\n} from \"@devextreme/runtime/inferno\";\r\nexport var AppointmentsContext = createContext(void 0);\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/appointment/appointment.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"appointmentTemplate\", \"groups\", \"hideReducedIconTooltip\", \"index\", \"onItemClick\", \"onItemDoubleClick\", \"showReducedIconTooltip\", \"viewModel\"];\r\nimport {\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n normalizeStyles\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n getAppointmentStyles,\r\n mergeStylesWithColor\r\n} from \"./utils\";\r\nimport {\r\n AppointmentContent\r\n} from \"./content/layout\";\r\nimport {\r\n Widget\r\n} from \"../../common/widget\";\r\nimport {\r\n combineClasses\r\n} from \"../../../utils/combine_classes\";\r\nimport {\r\n getAppointmentColor\r\n} from \"../resources/utils\";\r\nimport {\r\n AppointmentsContext\r\n} from \"../appointments_context\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n classes: classes,\r\n data: data,\r\n dateText: dateText,\r\n isReduced: isReduced,\r\n onItemClick: onItemClick,\r\n props: {\r\n appointmentTemplate: appointmentTemplate,\r\n hideReducedIconTooltip: hideReducedIconTooltip,\r\n index: index,\r\n showReducedIconTooltip: showReducedIconTooltip,\r\n viewModel: {\r\n info: {\r\n isRecurrent: isRecurrent\r\n }\r\n }\r\n },\r\n ref: ref,\r\n styles: styles,\r\n text: text\r\n } = _ref;\r\n return normalizeProps(createComponentVNode(2, Widget, _extends({\r\n focusStateEnabled: true,\r\n onClick: onItemClick,\r\n rootElementRef: ref,\r\n style: normalizeStyles(styles),\r\n classes: classes,\r\n hint: text\r\n }, {\r\n role: \"button\",\r\n \"data-index\": index\r\n }, {\r\n children: createComponentVNode(2, AppointmentContent, {\r\n text: text,\r\n isReduced: isReduced,\r\n dateText: dateText,\r\n isRecurrent: isRecurrent,\r\n index: index,\r\n data: data,\r\n showReducedIconTooltip: showReducedIconTooltip,\r\n hideReducedIconTooltip: hideReducedIconTooltip,\r\n appointmentTemplate: appointmentTemplate\r\n })\r\n })))\r\n};\r\nexport var AppointmentProps = {\r\n index: 0\r\n};\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class Appointment extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.ref = infernoCreateRef();\r\n this.state = {\r\n color: void 0\r\n };\r\n this.updateStylesEffect = this.updateStylesEffect.bind(this);\r\n this.bindDoubleClickEffect = this.bindDoubleClickEffect.bind(this);\r\n this.onItemClick = this.onItemClick.bind(this);\r\n this.onItemDoubleClick = this.onItemDoubleClick.bind(this)\r\n }\r\n get appointmentsContextValue() {\r\n if (this.context[AppointmentsContext.id]) {\r\n return this.context[AppointmentsContext.id]\r\n }\r\n return AppointmentsContext.defaultValue\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.updateStylesEffect, [this.props.viewModel, this.appointmentsContextValue, this.props.groups]), new InfernoEffect(this.bindDoubleClickEffect, [])]\r\n }\r\n updateEffects() {\r\n var _this$_effects$;\r\n null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props.viewModel, this.appointmentsContextValue, this.props.groups])\r\n }\r\n updateStylesEffect() {\r\n var _viewModel$info$group;\r\n var {\r\n viewModel: viewModel\r\n } = this.props;\r\n var groupIndex = null !== (_viewModel$info$group = viewModel.info.groupIndex) && void 0 !== _viewModel$info$group ? _viewModel$info$group : 0;\r\n var {\r\n appointment: appointment\r\n } = viewModel;\r\n getAppointmentColor({\r\n resources: this.appointmentsContextValue.resources,\r\n resourceLoaderMap: this.appointmentsContextValue.resourceLoaderMap,\r\n resourcesDataAccessors: this.appointmentsContextValue.dataAccessors.resources,\r\n loadedResources: this.appointmentsContextValue.loadedResources\r\n }, {\r\n itemData: appointment,\r\n groupIndex: groupIndex,\r\n groups: this.props.groups\r\n }).then(color => {\r\n this.setState(__state_argument => ({\r\n color: color\r\n }))\r\n }).catch(() => \"\")\r\n }\r\n bindDoubleClickEffect() {\r\n var _this$ref$current;\r\n var onDoubleClick = () => this.onItemDoubleClick();\r\n null === (_this$ref$current = this.ref.current) || void 0 === _this$ref$current ? void 0 : _this$ref$current.addEventListener(\"dblclick\", onDoubleClick);\r\n return () => {\r\n var _this$ref$current2;\r\n null === (_this$ref$current2 = this.ref.current) || void 0 === _this$ref$current2 ? void 0 : _this$ref$current2.removeEventListener(\"dblclick\", onDoubleClick)\r\n }\r\n }\r\n get appointmentStyles() {\r\n return getAppointmentStyles(this.props.viewModel)\r\n }\r\n get styles() {\r\n return mergeStylesWithColor(this.state.color, this.appointmentStyles)\r\n }\r\n get text() {\r\n return this.props.viewModel.appointment.text\r\n }\r\n get isReduced() {\r\n var {\r\n appointmentReduced: appointmentReduced\r\n } = this.props.viewModel.info;\r\n return !!appointmentReduced\r\n }\r\n get classes() {\r\n var {\r\n focused: focused,\r\n info: {\r\n allDay: allDay,\r\n appointmentReduced: appointmentReduced,\r\n direction: direction,\r\n isRecurrent: isRecurrent\r\n }\r\n } = this.props.viewModel;\r\n var isVerticalDirection = \"vertical\" === direction;\r\n return combineClasses({\r\n \"dx-state-focused\": !!focused,\r\n \"dx-scheduler-appointment\": true,\r\n \"dx-scheduler-appointment-horizontal\": !isVerticalDirection,\r\n \"dx-scheduler-appointment-vertical\": isVerticalDirection,\r\n \"dx-scheduler-appointment-recurrence\": isRecurrent,\r\n \"dx-scheduler-all-day-appointment\": allDay,\r\n \"dx-scheduler-appointment-reduced\": this.isReduced,\r\n \"dx-scheduler-appointment-head\": \"head\" === appointmentReduced,\r\n \"dx-scheduler-appointment-body\": \"body\" === appointmentReduced,\r\n \"dx-scheduler-appointment-tail\": \"tail\" === appointmentReduced\r\n })\r\n }\r\n get dateText() {\r\n return this.props.viewModel.info.dateText\r\n }\r\n get data() {\r\n return {\r\n appointmentData: this.props.viewModel.info.appointment,\r\n targetedAppointmentData: this.props.viewModel.appointment\r\n }\r\n }\r\n onItemClick() {\r\n var e = {\r\n data: [this.props.viewModel],\r\n target: this.ref.current,\r\n index: this.props.index\r\n };\r\n this.props.onItemClick(e)\r\n }\r\n onItemDoubleClick() {\r\n var e = {\r\n data: [this.props.viewModel],\r\n target: this.ref.current,\r\n index: this.props.index\r\n };\r\n this.props.onItemDoubleClick(e)\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n appointmentTemplate: getTemplate(props.appointmentTemplate)\r\n }),\r\n color: this.state.color,\r\n ref: this.ref,\r\n appointmentsContextValue: this.appointmentsContextValue,\r\n appointmentStyles: this.appointmentStyles,\r\n styles: this.styles,\r\n text: this.text,\r\n isReduced: this.isReduced,\r\n classes: this.classes,\r\n dateText: this.dateText,\r\n data: this.data,\r\n onItemClick: this.onItemClick,\r\n onItemDoubleClick: this.onItemDoubleClick,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nAppointment.defaultProps = AppointmentProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/appointment/overflow_indicator/layout.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"groups\", \"overflowIndicatorTemplate\", \"viewModel\"];\r\nimport {\r\n createVNode,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n normalizeStyles\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n combineClasses\r\n} from \"../../../../utils/combine_classes\";\r\nimport {\r\n Button\r\n} from \"../../../button\";\r\nimport {\r\n getIndicatorColor,\r\n getOverflowIndicatorStyles\r\n} from \"./utils\";\r\nimport messageLocalization from \"../../../../../localization/message\";\r\nimport {\r\n AppointmentsContext\r\n} from \"../../appointments_context\";\r\nimport {\r\n mergeStylesWithColor\r\n} from \"../utils\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n classes: classes,\r\n data: data,\r\n props: {\r\n overflowIndicatorTemplate: OverflowIndicatorTemplate\r\n },\r\n styles: styles,\r\n text: text\r\n } = _ref;\r\n return createComponentVNode(2, Button, {\r\n style: normalizeStyles(styles),\r\n className: classes,\r\n type: \"default\",\r\n stylingMode: \"contained\",\r\n children: OverflowIndicatorTemplate ? OverflowIndicatorTemplate({\r\n data: data\r\n }) : createVNode(1, \"span\", null, text, 0)\r\n })\r\n};\r\nexport var OverflowIndicatorProps = {};\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class OverflowIndicator extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n color: void 0\r\n };\r\n this.updateStylesEffect = this.updateStylesEffect.bind(this)\r\n }\r\n get appointmentsContextValue() {\r\n if (this.context[AppointmentsContext.id]) {\r\n return this.context[AppointmentsContext.id]\r\n }\r\n return AppointmentsContext.defaultValue\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.updateStylesEffect, [this.props.groups, this.props.viewModel, this.appointmentsContextValue])]\r\n }\r\n updateEffects() {\r\n var _this$_effects$;\r\n null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props.groups, this.props.viewModel, this.appointmentsContextValue])\r\n }\r\n updateStylesEffect() {\r\n var {\r\n groups: groups,\r\n viewModel: viewModel\r\n } = this.props;\r\n getIndicatorColor(this.appointmentsContextValue, viewModel, groups).then(color => {\r\n this.setState(__state_argument => ({\r\n color: color\r\n }))\r\n })\r\n }\r\n get data() {\r\n return {\r\n appointmentCount: this.props.viewModel.items.settings.length,\r\n isCompact: this.props.viewModel.isCompact\r\n }\r\n }\r\n get text() {\r\n var {\r\n isCompact: isCompact\r\n } = this.props.viewModel;\r\n var {\r\n appointmentCount: appointmentCount\r\n } = this.data;\r\n if (isCompact) {\r\n return \"\".concat(appointmentCount)\r\n }\r\n var formatter = messageLocalization.getFormatter(\"dxScheduler-moreAppointments\");\r\n return formatter(appointmentCount)\r\n }\r\n get appointmentStyles() {\r\n return getOverflowIndicatorStyles(this.props.viewModel)\r\n }\r\n get styles() {\r\n return mergeStylesWithColor(this.state.color, this.appointmentStyles)\r\n }\r\n get classes() {\r\n return combineClasses({\r\n \"dx-scheduler-appointment-collector\": true,\r\n \"dx-scheduler-appointment-collector-compact\": this.data.isCompact\r\n })\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n overflowIndicatorTemplate: getTemplate(props.overflowIndicatorTemplate)\r\n }),\r\n color: this.state.color,\r\n appointmentsContextValue: this.appointmentsContextValue,\r\n data: this.data,\r\n text: this.text,\r\n appointmentStyles: this.appointmentStyles,\r\n styles: this.styles,\r\n classes: this.classes,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nOverflowIndicator.defaultProps = OverflowIndicatorProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/appointment/overflow_indicator/utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n addToStyles\r\n} from \"../../workspaces/utils\";\r\nimport {\r\n getAppointmentColor\r\n} from \"../../resources/utils\";\r\nexport var getOverflowIndicatorStyles = viewModel => {\r\n var {\r\n geometry: {\r\n height: height,\r\n left: left,\r\n top: top,\r\n width: width\r\n }\r\n } = viewModel;\r\n var result = addToStyles([{\r\n attr: \"left\",\r\n value: \"\".concat(left, \"px\")\r\n }, {\r\n attr: \"top\",\r\n value: \"\".concat(top, \"px\")\r\n }, {\r\n attr: \"width\",\r\n value: \"\".concat(width, \"px\")\r\n }, {\r\n attr: \"height\",\r\n value: \"\".concat(height, \"px\")\r\n }, {\r\n attr: \"boxShadow\",\r\n value: \"inset \".concat(width, \"px 0 0 0 rgba(0, 0, 0, 0.3)\")\r\n }]);\r\n return result\r\n};\r\nexport var getOverflowIndicatorColor = (color, colors) => !colors.length || 0 === colors.filter(item => item !== color).length ? color : void 0;\r\nexport var getIndicatorColor = (appointmentContext, viewModel, groups) => {\r\n var _viewModel$groupIndex;\r\n var groupIndex = null !== (_viewModel$groupIndex = viewModel.groupIndex) && void 0 !== _viewModel$groupIndex ? _viewModel$groupIndex : 0;\r\n var {\r\n appointment: appointment\r\n } = viewModel.items.settings[0];\r\n return getAppointmentColor({\r\n resources: appointmentContext.resources,\r\n resourceLoaderMap: appointmentContext.resourceLoaderMap,\r\n resourcesDataAccessors: appointmentContext.dataAccessors.resources,\r\n loadedResources: appointmentContext.loadedResources\r\n }, {\r\n itemData: appointment,\r\n groupIndex: groupIndex,\r\n groups: groups\r\n })\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/appointment/layout.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"isAllDay\"];\r\nimport {\r\n createVNode,\r\n createComponentVNode\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoWrapperComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n Appointment\r\n} from \"./appointment\";\r\nimport {\r\n OverflowIndicator\r\n} from \"./overflow_indicator/layout\";\r\nimport {\r\n combineClasses\r\n} from \"../../../utils/combine_classes\";\r\nimport {\r\n AppointmentsContext\r\n} from \"../appointments_context\";\r\nimport {\r\n subscribeToDXPointerDownEvent\r\n} from \"../../../utils/subscribe_to_event\";\r\nvar SELECTOR = {\r\n appointment: \".dx-scheduler-appointment\",\r\n allDay: \"dx-scheduler-all-day-appointment\",\r\n collector: \"dx-scheduler-appointment-collector\"\r\n};\r\nexport var viewFunction = _ref => {\r\n var {\r\n appointments: appointments,\r\n appointmentsContextValue: {\r\n appointmentTemplate: appointmentTemplate,\r\n groups: groups,\r\n hideReducedIconTooltip: hideReducedIconTooltip,\r\n onAppointmentClick: onAppointmentClick,\r\n onAppointmentDoubleClick: onAppointmentDoubleClick,\r\n overflowIndicatorTemplate: overflowIndicatorTemplate,\r\n showReducedIconTooltip: showReducedIconTooltip\r\n },\r\n classes: classes,\r\n layoutRef: layoutRef,\r\n overflowIndicators: overflowIndicators\r\n } = _ref;\r\n return createVNode(1, \"div\", classes, [appointments.map((item, index) => createComponentVNode(2, Appointment, {\r\n viewModel: item,\r\n appointmentTemplate: appointmentTemplate,\r\n index: index,\r\n groups: groups,\r\n onItemClick: onAppointmentClick,\r\n onItemDoubleClick: onAppointmentDoubleClick,\r\n showReducedIconTooltip: showReducedIconTooltip,\r\n hideReducedIconTooltip: hideReducedIconTooltip\r\n }, item.key)), overflowIndicators.map((item, index) => createComponentVNode(2, OverflowIndicator, {\r\n viewModel: item,\r\n groups: groups,\r\n overflowIndicatorTemplate: overflowIndicatorTemplate,\r\n \"data-index\": index\r\n }, item.key))], 0, null, null, layoutRef)\r\n};\r\nexport var AppointmentLayoutProps = {\r\n isAllDay: false\r\n};\r\nimport {\r\n createReRenderEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class AppointmentLayout extends InfernoWrapperComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.layoutRef = infernoCreateRef();\r\n this.__getterCache = {};\r\n this.pointerEventsEffect = this.pointerEventsEffect.bind(this);\r\n this.onAppointmentPointerDown = this.onAppointmentPointerDown.bind(this)\r\n }\r\n get appointmentsContextValue() {\r\n if (this.context[AppointmentsContext.id]) {\r\n return this.context[AppointmentsContext.id]\r\n }\r\n return AppointmentsContext.defaultValue\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.pointerEventsEffect, [this.appointmentsContextValue]), createReRenderEffect()]\r\n }\r\n updateEffects() {\r\n var _this$_effects$;\r\n null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.appointmentsContextValue])\r\n }\r\n pointerEventsEffect() {\r\n var disposePointerDown = subscribeToDXPointerDownEvent(this.layoutRef.current, e => this.onAppointmentPointerDown(e));\r\n return () => {\r\n disposePointerDown()\r\n }\r\n }\r\n get classes() {\r\n var {\r\n isAllDay: isAllDay\r\n } = this.props;\r\n return combineClasses({\r\n \"dx-scheduler-scrollable-appointments\": !isAllDay,\r\n \"dx-scheduler-all-day-appointments\": isAllDay\r\n })\r\n }\r\n get appointments() {\r\n if (void 0 !== this.__getterCache.appointments) {\r\n return this.__getterCache.appointments\r\n }\r\n return this.__getterCache.appointments = (() => {\r\n if (this.props.isAllDay) {\r\n return this.appointmentsContextValue.viewModel.allDay\r\n }\r\n return this.appointmentsContextValue.viewModel.regular\r\n })()\r\n }\r\n get overflowIndicators() {\r\n if (void 0 !== this.__getterCache.overflowIndicators) {\r\n return this.__getterCache.overflowIndicators\r\n }\r\n return this.__getterCache.overflowIndicators = (() => {\r\n if (this.props.isAllDay) {\r\n return this.appointmentsContextValue.viewModel.allDayCompact\r\n }\r\n return this.appointmentsContextValue.viewModel.regularCompact\r\n })()\r\n }\r\n onAppointmentPointerDown(e) {\r\n var appointmentElement = e.target.closest(SELECTOR.appointment);\r\n if (appointmentElement) {\r\n var {\r\n index: index\r\n } = appointmentElement.dataset;\r\n var focusedAppointmentIndex = index ? parseInt(index, 10) : -1;\r\n var isAllDay = appointmentElement.classList.contains(SELECTOR.allDay);\r\n var isCompact = appointmentElement.classList.contains(SELECTOR.collector);\r\n var typeMap = {\r\n allDayCompact: isAllDay && isCompact,\r\n allDay: isAllDay && !isCompact,\r\n regularCompact: !isAllDay && isCompact,\r\n regular: !isAllDay && !isCompact\r\n };\r\n var appointmentType = Object.entries(typeMap).filter(item => item[1])[0][0];\r\n this.appointmentsContextValue.updateFocusedAppointment(appointmentType, focusedAppointmentIndex)\r\n }\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n super.componentWillUpdate();\r\n if (this.props.isAllDay !== nextProps.isAllDay || this.context[AppointmentsContext.id] !== context[AppointmentsContext.id]) {\r\n this.__getterCache.appointments = void 0\r\n }\r\n if (this.props.isAllDay !== nextProps.isAllDay || this.context[AppointmentsContext.id] !== context[AppointmentsContext.id]) {\r\n this.__getterCache.overflowIndicators = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n layoutRef: this.layoutRef,\r\n appointmentsContextValue: this.appointmentsContextValue,\r\n classes: this.classes,\r\n appointments: this.appointments,\r\n overflowIndicators: this.overflowIndicators,\r\n onAppointmentPointerDown: this.onAppointmentPointerDown,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nAppointmentLayout.defaultProps = AppointmentLayoutProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/appointment/layout.j.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../../../core/component_registrator\";\r\nimport BaseComponent from \"../../../component_wrapper/common/component\";\r\nimport {\r\n AppointmentLayout as AppointmentLayoutComponent\r\n} from \"./layout\";\r\nexport default class AppointmentLayout extends BaseComponent {\r\n get _propsInfo() {\r\n return {\r\n twoWay: [],\r\n allowNull: [],\r\n elements: [],\r\n templates: [],\r\n props: [\"isAllDay\"]\r\n }\r\n }\r\n get _viewComponent() {\r\n return AppointmentLayoutComponent\r\n }\r\n}\r\nregisterComponent(\"dxAppointmentLayout\", AppointmentLayout);\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/m_utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n compileGetter,\r\n compileSetter\r\n} from \"../../core/utils/data\";\r\nimport dateSerialization from \"../../core/utils/date_serialization\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n getOuterHeight,\r\n setHeight,\r\n setWidth\r\n} from \"../../core/utils/size\";\r\nimport {\r\n APPOINTMENT_SETTINGS_KEY\r\n} from \"./m_constants\";\r\nexport var utils = {\r\n dataAccessors: {\r\n getAppointmentSettings: element => $(element).data(APPOINTMENT_SETTINGS_KEY),\r\n getAppointmentInfo: element => {\r\n var settings = utils.dataAccessors.getAppointmentSettings(element);\r\n return null === settings || void 0 === settings ? void 0 : settings.info\r\n },\r\n create: (fields, currentDataAccessors, forceIsoDateParsing, dateSerializationFormat) => {\r\n var dataAccessors = currentDataAccessors ? _extends({}, currentDataAccessors) : {\r\n getter: {},\r\n setter: {},\r\n expr: {}\r\n };\r\n each(fields, (name, expr) => {\r\n if (expr) {\r\n var getter = compileGetter(expr);\r\n var setter = compileSetter(expr);\r\n var dateGetter;\r\n var dateSetter;\r\n var serializationFormat;\r\n if (field = name, \"startDate\" === field || \"endDate\" === field) {\r\n dateGetter = object => {\r\n var value = getter(object);\r\n if (forceIsoDateParsing) {\r\n value = dateSerialization.deserializeDate(value)\r\n }\r\n return value\r\n };\r\n dateSetter = (object, value) => {\r\n if (dateSerializationFormat) {\r\n serializationFormat = dateSerializationFormat\r\n } else if (forceIsoDateParsing && !serializationFormat) {\r\n var oldValue = getter(object);\r\n serializationFormat = dateSerialization.getDateSerializationFormat(oldValue)\r\n }\r\n var newValue = dateSerialization.serializeDate(value, serializationFormat);\r\n setter(object, newValue)\r\n }\r\n }\r\n dataAccessors.getter[name] = dateGetter || getter;\r\n dataAccessors.setter[name] = dateSetter || setter;\r\n dataAccessors.expr[\"\".concat(name, \"Expr\")] = expr\r\n } else {\r\n delete dataAccessors.getter[name];\r\n delete dataAccessors.setter[name];\r\n delete dataAccessors.expr[\"\".concat(name, \"Expr\")]\r\n }\r\n var field\r\n });\r\n return dataAccessors\r\n }\r\n },\r\n DOM: {\r\n getHeaderHeight: header => header ? header._$element && parseInt(getOuterHeight(header._$element), 10) : 0\r\n },\r\n renovation: {\r\n renderComponent: (widget, parentElement, componentClass, componentName, viewModel) => {\r\n var component = widget[componentName];\r\n if (!component) {\r\n var container = getPublicElement(parentElement);\r\n component = widget._createComponent(container, componentClass, viewModel);\r\n widget[componentName] = component\r\n } else {\r\n var $element = component.$element();\r\n var elementStyle = $element.get(0).style;\r\n var {\r\n height: height\r\n } = elementStyle;\r\n var {\r\n width: width\r\n } = elementStyle;\r\n component.option(viewModel);\r\n if (height) {\r\n setHeight($element, height)\r\n }\r\n if (width) {\r\n setWidth($element, width)\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/appointments/m_render.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport dxrAppointmentLayout from \"../../../renovation/ui/scheduler/appointment/layout.j\";\r\nimport {\r\n utils\r\n} from \"../m_utils\";\r\nexport var renderAppointments = options => {\r\n var {\r\n instance: instance,\r\n $dateTable: $dateTable,\r\n viewModel: viewModel\r\n } = options;\r\n var container = getAppointmentsContainer($dateTable);\r\n utils.renovation.renderComponent(instance, container, dxrAppointmentLayout, \"renovatedAppointments\", viewModel)\r\n};\r\nvar getAppointmentsContainer = $dateTable => {\r\n var container = $(\".dx-appointments-container\");\r\n if (0 === container.length) {\r\n container = $(\"<div>\").addClass(\"dx-appointments-container\").appendTo($dateTable)\r\n }\r\n return container\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/header/m_calendar.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../../core/component_registrator\";\r\nimport devices from \"../../../core/devices\";\r\nimport $ from \"../../../core/renderer\";\r\nimport Calendar from \"../../../ui/calendar\";\r\nimport Popover from \"../../../ui/popover/ui.popover\";\r\nimport Popup from \"../../../ui/popup/ui.popup\";\r\nimport Scrollable from \"../../../ui/scroll_view/ui.scrollable\";\r\nimport Widget from \"../../../ui/widget/ui.widget\";\r\nvar CALENDAR_CLASS = \"dx-scheduler-navigator-calendar\";\r\nvar CALENDAR_POPOVER_CLASS = \"dx-scheduler-navigator-calendar-popover\";\r\nexport default class SchedulerCalendar extends Widget {\r\n show(target) {\r\n if (!this._isMobileLayout()) {\r\n this._overlay.option(\"target\", target)\r\n }\r\n this._overlay.show()\r\n }\r\n hide() {\r\n this._overlay.hide()\r\n }\r\n _keyboardHandler(opts) {\r\n var _a;\r\n null === (_a = this._calendar) || void 0 === _a ? void 0 : _a._keyboardHandler(opts)\r\n }\r\n _init() {\r\n super._init();\r\n this.$element()\r\n }\r\n _render() {\r\n super._render();\r\n this._renderOverlay()\r\n }\r\n _renderOverlay() {\r\n this.$element().addClass(CALENDAR_POPOVER_CLASS);\r\n var isMobileLayout = this._isMobileLayout();\r\n var overlayType = isMobileLayout ? Popup : Popover;\r\n this._overlay = this._createComponent(this.$element(), overlayType, {\r\n contentTemplate: () => this._createOverlayContent(),\r\n onShown: () => this._calendar.focus(),\r\n defaultOptionsRules: [{\r\n device: () => isMobileLayout,\r\n options: {\r\n fullScreen: true,\r\n showCloseButton: false,\r\n toolbarItems: [{\r\n shortcut: \"cancel\"\r\n }]\r\n }\r\n }]\r\n })\r\n }\r\n _createOverlayContent() {\r\n var result = $(\"<div>\").addClass(CALENDAR_CLASS);\r\n this._calendar = this._createComponent(result, Calendar, this._getCalendarOptions());\r\n if (this._isMobileLayout()) {\r\n var scrollable = this._createScrollable(result);\r\n return scrollable.$element()\r\n }\r\n return result\r\n }\r\n _createScrollable(content) {\r\n var result = this._createComponent(\"<div>\", Scrollable, {\r\n direction: \"vertical\"\r\n });\r\n result.$content().append(content);\r\n return result\r\n }\r\n _optionChanged(_ref) {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref;\r\n var _a;\r\n switch (name) {\r\n case \"value\":\r\n null === (_a = this._calendar) || void 0 === _a ? void 0 : _a.option(\"value\", value)\r\n }\r\n }\r\n _getCalendarOptions() {\r\n return {\r\n value: this.option(\"value\"),\r\n min: this.option(\"min\"),\r\n max: this.option(\"max\"),\r\n firstDayOfWeek: this.option(\"firstDayOfWeek\"),\r\n focusStateEnabled: this.option(\"focusStateEnabled\"),\r\n onValueChanged: this.option(\"onValueChanged\"),\r\n skipFocusCheck: true,\r\n tabIndex: this.option(\"tabIndex\")\r\n }\r\n }\r\n _isMobileLayout() {\r\n return !devices.current().generic\r\n }\r\n}\r\nregisterComponent(\"dxSchedulerCalendarPopup\", SchedulerCalendar);\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/header/m_date_navigator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport dateUtils from \"../../../core/utils/date\";\r\nimport {\r\n isMaterial\r\n} from \"../../../ui/themes\";\r\nvar {\r\n trimTime: trimTime\r\n} = dateUtils;\r\nvar DATE_NAVIGATOR_CLASS = \"dx-scheduler-navigator\";\r\nvar PREVIOUS_BUTTON_CLASS = \"dx-scheduler-navigator-previous\";\r\nvar CALENDAR_BUTTON_CLASS = \"dx-scheduler-navigator-caption\";\r\nvar NEXT_BUTTON_CLASS = \"dx-scheduler-navigator-next\";\r\nvar DIRECTION_LEFT = -1;\r\nvar DIRECTION_RIGHT = 1;\r\nexport var getDateNavigator = (header, item) => {\r\n var items = [getPreviousButtonOptions(header), getCalendarButtonOptions(header), getNextButtonOptions(header)];\r\n var stylingMode = isMaterial() ? \"text\" : \"contained\";\r\n return _extends({\r\n widget: \"dxButtonGroup\",\r\n cssClass: DATE_NAVIGATOR_CLASS,\r\n options: {\r\n items: items,\r\n stylingMode: stylingMode,\r\n selectionMode: \"none\",\r\n onItemClick: e => {\r\n e.itemData.clickHandler(e)\r\n }\r\n }\r\n }, item)\r\n};\r\nvar getPreviousButtonOptions = header => ({\r\n key: \"previous\",\r\n icon: \"chevronprev\",\r\n elementAttr: {\r\n class: PREVIOUS_BUTTON_CLASS\r\n },\r\n clickHandler: () => header._updateDateByDirection(DIRECTION_LEFT),\r\n onContentReady: e => {\r\n var previousButton = e.component;\r\n previousButton.option(\"disabled\", isPreviousButtonDisabled(header));\r\n header._addEvent(\"min\", () => {\r\n previousButton.option(\"disabled\", isPreviousButtonDisabled(header))\r\n });\r\n header._addEvent(\"currentDate\", () => {\r\n previousButton.option(\"disabled\", isPreviousButtonDisabled(header))\r\n });\r\n header._addEvent(\"startViewDate\", () => {\r\n previousButton.option(\"disabled\", isPreviousButtonDisabled(header))\r\n })\r\n }\r\n});\r\nvar getCalendarButtonOptions = header => ({\r\n key: \"calendar\",\r\n text: header.captionText,\r\n elementAttr: {\r\n class: CALENDAR_BUTTON_CLASS\r\n },\r\n clickHandler: e => header._showCalendar(e),\r\n onContentReady: e => {\r\n var calendarButton = e.component;\r\n header._addEvent(\"currentView\", () => {\r\n calendarButton.option(\"text\", header.captionText)\r\n });\r\n header._addEvent(\"currentDate\", () => {\r\n calendarButton.option(\"text\", header.captionText)\r\n });\r\n header._addEvent(\"startViewDate\", () => {\r\n calendarButton.option(\"text\", header.captionText)\r\n });\r\n header._addEvent(\"views\", () => {\r\n calendarButton.option(\"text\", header.captionText)\r\n });\r\n header._addEvent(\"firstDayOfWeek\", () => {\r\n calendarButton.option(\"text\", header.captionText)\r\n })\r\n }\r\n});\r\nvar getNextButtonOptions = header => ({\r\n key: \"next\",\r\n icon: \"chevronnext\",\r\n elementAttr: {\r\n class: NEXT_BUTTON_CLASS\r\n },\r\n clickHandler: () => header._updateDateByDirection(DIRECTION_RIGHT),\r\n onContentReady: e => {\r\n var nextButton = e.component;\r\n nextButton.option(\"disabled\", isNextButtonDisabled(header));\r\n header._addEvent(\"min\", () => {\r\n nextButton.option(\"disabled\", isNextButtonDisabled(header))\r\n });\r\n header._addEvent(\"currentDate\", () => {\r\n nextButton.option(\"disabled\", isNextButtonDisabled(header))\r\n });\r\n header._addEvent(\"startViewDate\", () => {\r\n nextButton.option(\"disabled\", isNextButtonDisabled(header))\r\n })\r\n }\r\n});\r\nvar isPreviousButtonDisabled = header => {\r\n var min = header.option(\"min\");\r\n if (!min) {\r\n return false\r\n }\r\n min = new Date(min);\r\n var caption = header._getCaption();\r\n min = trimTime(min);\r\n var previousDate = header._getNextDate(-1, caption.endDate);\r\n return previousDate < min\r\n};\r\nvar isNextButtonDisabled = header => {\r\n var max = header.option(\"max\");\r\n if (!max) {\r\n return false\r\n }\r\n max = new Date(max);\r\n var caption = header._getCaption();\r\n max = max.setHours(23, 59, 59);\r\n var nextDate = header._getNextDate(1, caption.startDate);\r\n return nextDate > max\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/header/m_utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errors from \"../../../core/errors\";\r\nimport dateUtils from \"../../../core/utils/date\";\r\nimport {\r\n camelize\r\n} from \"../../../core/utils/inflector\";\r\nimport {\r\n isFunction,\r\n isObject\r\n} from \"../../../core/utils/type\";\r\nimport dateLocalization from \"../../../localization/date\";\r\nimport messageLocalization from \"../../../localization/message\";\r\nimport {\r\n VIEWS\r\n} from \"../m_constants\";\r\nvar DAY_FORMAT = \"d\";\r\nvar DAYS_IN_WORK_WEEK = 5;\r\nvar {\r\n correctDateWithUnitBeginning: getPeriodStart,\r\n getFirstWeekDate: getWeekStart,\r\n getLastMonthDay: getLastMonthDay,\r\n addDateInterval: addDateInterval\r\n} = dateUtils;\r\nvar {\r\n format: formatDate\r\n} = dateLocalization;\r\nvar MS_DURATION = {\r\n milliseconds: 1\r\n};\r\nvar DAY_DURATION = {\r\n days: 1\r\n};\r\nvar WEEK_DURATION = {\r\n days: 7\r\n};\r\nvar SATURDAY_INDEX = 6;\r\nvar SUNDAY_INDEX = 0;\r\nvar subMS = date => addDateInterval(date, MS_DURATION, -1);\r\nvar addMS = date => addDateInterval(date, MS_DURATION, 1);\r\nvar nextDay = date => addDateInterval(date, DAY_DURATION, 1);\r\nexport var nextWeek = date => addDateInterval(date, WEEK_DURATION, 1);\r\nvar nextMonth = date => {\r\n var days = getLastMonthDay(date);\r\n return addDateInterval(date, {\r\n days: days\r\n }, 1)\r\n};\r\nvar isWeekend = date => date.getDay() === SATURDAY_INDEX || date.getDay() === SUNDAY_INDEX;\r\nvar getWorkWeekStart = firstDayOfWeek => {\r\n var date = new Date(firstDayOfWeek);\r\n while (isWeekend(date)) {\r\n date = nextDay(date)\r\n }\r\n return date\r\n};\r\nvar getDateAfterWorkWeek = workWeekStart => {\r\n var date = new Date(workWeekStart);\r\n var workDaysCount = 0;\r\n while (workDaysCount < DAYS_IN_WORK_WEEK) {\r\n if (!isWeekend(date)) {\r\n workDaysCount++\r\n }\r\n date = nextDay(date)\r\n }\r\n return date\r\n};\r\nvar nextAgendaStart = (date, agendaDuration) => addDateInterval(date, {\r\n days: agendaDuration\r\n}, 1);\r\nvar getInterval = options => {\r\n var startDate = getIntervalStartDate(options);\r\n var endDate = getIntervalEndDate(startDate, options);\r\n return {\r\n startDate: startDate,\r\n endDate: endDate\r\n }\r\n};\r\nvar getIntervalStartDate = options => {\r\n var {\r\n date: date,\r\n step: step,\r\n firstDayOfWeek: firstDayOfWeek\r\n } = options;\r\n switch (step) {\r\n case \"day\":\r\n case \"week\":\r\n case \"month\":\r\n return getPeriodStart(date, step, false, firstDayOfWeek);\r\n case \"workWeek\":\r\n var firstWeekDay = getWeekStart(date, firstDayOfWeek);\r\n return getWorkWeekStart(firstWeekDay);\r\n case \"agenda\":\r\n return new Date(date)\r\n }\r\n};\r\nvar getIntervalEndDate = (startDate, options) => {\r\n var {\r\n intervalCount: intervalCount,\r\n step: step,\r\n agendaDuration: agendaDuration\r\n } = options;\r\n var periodStartDate;\r\n var periodEndDate;\r\n var nextPeriodStartDate = new Date(startDate);\r\n for (var i = 0; i < intervalCount; i++) {\r\n periodStartDate = nextPeriodStartDate;\r\n periodEndDate = getPeriodEndDate(periodStartDate, step, agendaDuration);\r\n nextPeriodStartDate = getNextPeriodStartDate(periodEndDate, step)\r\n }\r\n return periodEndDate\r\n};\r\nvar getPeriodEndDate = (currentPeriodStartDate, step, agendaDuration) => {\r\n var date;\r\n switch (step) {\r\n case \"day\":\r\n date = nextDay(currentPeriodStartDate);\r\n break;\r\n case \"week\":\r\n date = nextWeek(currentPeriodStartDate);\r\n break;\r\n case \"month\":\r\n date = nextMonth(currentPeriodStartDate);\r\n break;\r\n case \"workWeek\":\r\n date = getDateAfterWorkWeek(currentPeriodStartDate);\r\n break;\r\n case \"agenda\":\r\n date = nextAgendaStart(currentPeriodStartDate, agendaDuration)\r\n }\r\n return subMS(date)\r\n};\r\nvar getNextPeriodStartDate = (currentPeriodEndDate, step) => {\r\n var date = addMS(currentPeriodEndDate);\r\n if (\"workWeek\" === step) {\r\n while (isWeekend(date)) {\r\n date = nextDay(date)\r\n }\r\n }\r\n return date\r\n};\r\nexport var getNextIntervalDate = (options, direction) => {\r\n var {\r\n date: date,\r\n step: step,\r\n intervalCount: intervalCount,\r\n agendaDuration: agendaDuration\r\n } = options;\r\n var dayDuration;\r\n switch (step) {\r\n case \"day\":\r\n dayDuration = 1 * intervalCount;\r\n break;\r\n case \"week\":\r\n case \"workWeek\":\r\n dayDuration = 7 * intervalCount;\r\n break;\r\n case \"agenda\":\r\n dayDuration = agendaDuration;\r\n break;\r\n case \"month\":\r\n return getNextMonthDate(date, intervalCount, direction)\r\n }\r\n return addDateInterval(date, {\r\n days: dayDuration\r\n }, direction)\r\n};\r\nvar getNextMonthDate = (date, intervalCount, direction) => {\r\n var currentDate = date.getDate();\r\n var currentMonthFirstDate = new Date(new Date(date.getTime()).setDate(1));\r\n var thatMonthFirstDate = new Date(currentMonthFirstDate.setMonth(currentMonthFirstDate.getMonth() + intervalCount * direction));\r\n var thatMonthDuration = getLastMonthDay(thatMonthFirstDate);\r\n var minDate = currentDate < thatMonthDuration ? currentDate : thatMonthDuration;\r\n var currentMonthMinDate = new Date(new Date(date.getTime()).setDate(minDate));\r\n var thatMonthMinDate = new Date(currentMonthMinDate.setMonth(currentMonthMinDate.getMonth() + intervalCount * direction));\r\n return thatMonthMinDate\r\n};\r\nvar getDateMonthFormatter = isShort => {\r\n var monthType = isShort ? \"abbreviated\" : \"wide\";\r\n var months = dateLocalization.getMonthNames(monthType);\r\n return date => {\r\n var day = formatDate(date, \"day\");\r\n var month = months[date.getMonth()];\r\n return \"\".concat(day, \" \").concat(month)\r\n }\r\n};\r\nvar formatMonthYear = date => {\r\n var months = dateLocalization.getMonthNames(\"abbreviated\");\r\n var month = months[date.getMonth()];\r\n var year = formatDate(date, \"year\");\r\n return \"\".concat(month, \" \").concat(year)\r\n};\r\nvar getDateMonthYearFormatter = isShort => date => {\r\n var dateMonthFormat = getDateMonthFormatter(isShort);\r\n var dateMonth = dateMonthFormat(date);\r\n var year = formatDate(date, \"year\");\r\n return \"\".concat(dateMonth, \" \").concat(year)\r\n};\r\nvar getDifferentYearCaption = (startDate, endDate) => {\r\n var firstDateText = formatDate(startDate, getDateMonthYearFormatter(true));\r\n var lastDateDateText = formatDate(endDate, getDateMonthYearFormatter(true));\r\n return \"\".concat(firstDateText, \"-\").concat(lastDateDateText)\r\n};\r\nvar getSameYearCaption = (startDate, endDate, isShort) => {\r\n var isDifferentMonthDates = startDate.getMonth() !== endDate.getMonth();\r\n var useShortFormat = isDifferentMonthDates || isShort;\r\n var firstDateFormat = isDifferentMonthDates ? getDateMonthFormatter(useShortFormat) : DAY_FORMAT;\r\n var firstDateText = formatDate(startDate, firstDateFormat);\r\n var lastDateText = formatDate(endDate, getDateMonthYearFormatter(useShortFormat));\r\n return \"\".concat(firstDateText, \"-\").concat(lastDateText)\r\n};\r\nvar getSameDateCaption = (date, step, isShort) => {\r\n var useShortFormat = \"agenda\" === step ? isShort : false;\r\n var dateMonthFormat = getDateMonthFormatter(useShortFormat);\r\n var dateMonth = dateMonthFormat(date);\r\n var year = formatDate(date, \"year\");\r\n return \"\".concat(dateMonth, \" \").concat(year)\r\n};\r\nvar formatCaptionByMonths = (startDate, endDate, isShort) => {\r\n var isDifferentYears = startDate.getFullYear() !== endDate.getFullYear();\r\n if (isDifferentYears) {\r\n return getDifferentYearCaption(startDate, endDate)\r\n }\r\n return getSameYearCaption(startDate, endDate, isShort)\r\n};\r\nvar formatMonthViewCaption = (startDate, endDate) => {\r\n if (dateUtils.sameMonth(startDate, endDate)) {\r\n return formatDate(startDate, \"monthandyear\")\r\n }\r\n var isSameYear = dateUtils.sameYear(startDate, endDate);\r\n var firstDateText = isSameYear ? dateLocalization.getMonthNames(\"abbreviated\")[startDate.getMonth()] : formatMonthYear(startDate);\r\n var lastDateText = formatMonthYear(endDate);\r\n return \"\".concat(firstDateText, \"-\").concat(lastDateText)\r\n};\r\nvar getCaptionText = (startDate, endDate, isShort, step) => {\r\n if (dateUtils.sameDate(startDate, endDate)) {\r\n return getSameDateCaption(startDate, step, isShort)\r\n }\r\n if (\"month\" === step) {\r\n return formatMonthViewCaption(startDate, endDate)\r\n }\r\n return formatCaptionByMonths(startDate, endDate, isShort)\r\n};\r\nexport var getCaption = (options, isShort, customizationFunction) => {\r\n var {\r\n startDate: startDate,\r\n endDate: endDate\r\n } = getInterval(options);\r\n var text = getCaptionText(startDate, endDate, isShort, options.step);\r\n if (isFunction(customizationFunction)) {\r\n text = customizationFunction({\r\n startDate: startDate,\r\n endDate: endDate,\r\n text: text\r\n })\r\n }\r\n return {\r\n startDate: startDate,\r\n endDate: endDate,\r\n text: text\r\n }\r\n};\r\nvar STEP_MAP = {\r\n day: \"day\",\r\n week: \"week\",\r\n workWeek: \"workWeek\",\r\n month: \"month\",\r\n timelineDay: \"day\",\r\n timelineWeek: \"week\",\r\n timelineWorkWeek: \"workWeek\",\r\n timelineMonth: \"month\",\r\n agenda: \"agenda\"\r\n};\r\nexport var getStep = view => STEP_MAP[getViewType(view)];\r\nexport var getViewType = view => {\r\n if (isObject(view) && view.type) {\r\n return view.type\r\n }\r\n return view\r\n};\r\nexport var getViewName = view => {\r\n if (isObject(view)) {\r\n return view.name ? view.name : view.type\r\n }\r\n return view\r\n};\r\nexport var getViewText = view => {\r\n if (view.name) {\r\n return view.name\r\n }\r\n var viewName = camelize(view.type || view, true);\r\n return messageLocalization.format(\"dxScheduler-switcher\".concat(viewName))\r\n};\r\nvar isValidView = view => Object.values(VIEWS).includes(view);\r\nexport var validateViews = views => {\r\n views.forEach(view => {\r\n var viewType = getViewType(view);\r\n if (!isValidView(viewType)) {\r\n errors.log(\"W0008\", viewType)\r\n }\r\n })\r\n};\r\nexport var formatViews = views => {\r\n validateViews(views);\r\n return views.map(view => {\r\n var text = getViewText(view);\r\n var type = getViewType(view);\r\n var name = getViewName(view);\r\n return {\r\n text: text,\r\n name: name,\r\n view: {\r\n text: text,\r\n type: type,\r\n name: name\r\n }\r\n }\r\n })\r\n};\r\nexport var isOneView = (views, selectedView) => 1 === views.length && views[0].name === selectedView;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/header/m_view_switcher.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n formatViews,\r\n getViewName,\r\n isOneView\r\n} from \"./m_utils\";\r\nvar VIEW_SWITCHER_CLASS = \"dx-scheduler-view-switcher\";\r\nvar VIEW_SWITCHER_DROP_DOWN_BUTTON_CLASS = \"dx-scheduler-view-switcher-dropdown-button\";\r\nvar VIEW_SWITCHER_DROP_DOWN_BUTTON_CONTENT_CLASS = \"dx-scheduler-view-switcher-dropdown-button-content\";\r\nvar getViewsAndSelectedView = header => {\r\n var views = formatViews(header.views);\r\n var selectedView = getViewName(header.currentView);\r\n var isSelectedViewInViews = views.some(view => view.name === selectedView);\r\n selectedView = isSelectedViewInViews ? selectedView : void 0;\r\n return {\r\n selectedView: selectedView,\r\n views: views\r\n }\r\n};\r\nexport var getViewSwitcher = (header, item) => {\r\n var {\r\n selectedView: selectedView,\r\n views: views\r\n } = getViewsAndSelectedView(header);\r\n return _extends({\r\n widget: \"dxButtonGroup\",\r\n locateInMenu: \"auto\",\r\n cssClass: VIEW_SWITCHER_CLASS,\r\n options: {\r\n items: views,\r\n keyExpr: \"name\",\r\n selectedItemKeys: [selectedView],\r\n stylingMode: \"contained\",\r\n onItemClick: e => {\r\n var {\r\n view: view\r\n } = e.itemData;\r\n header._updateCurrentView(view)\r\n },\r\n onContentReady: e => {\r\n var viewSwitcher = e.component;\r\n header._addEvent(\"currentView\", view => {\r\n viewSwitcher.option(\"selectedItemKeys\", [getViewName(view)])\r\n })\r\n }\r\n }\r\n }, item)\r\n};\r\nexport var getDropDownViewSwitcher = (header, item) => {\r\n var {\r\n selectedView: selectedView,\r\n views: views\r\n } = getViewsAndSelectedView(header);\r\n var oneView = isOneView(views, selectedView);\r\n return _extends({\r\n widget: \"dxDropDownButton\",\r\n locateInMenu: \"never\",\r\n cssClass: VIEW_SWITCHER_CLASS,\r\n options: {\r\n items: views,\r\n useSelectMode: true,\r\n keyExpr: \"name\",\r\n selectedItemKey: selectedView,\r\n displayExpr: \"text\",\r\n showArrowIcon: !oneView,\r\n elementAttr: {\r\n class: VIEW_SWITCHER_DROP_DOWN_BUTTON_CLASS\r\n },\r\n onItemClick: e => {\r\n var {\r\n view: view\r\n } = e.itemData;\r\n header._updateCurrentView(view)\r\n },\r\n onContentReady: e => {\r\n var viewSwitcher = e.component;\r\n header._addEvent(\"currentView\", view => {\r\n var views = formatViews(header.views);\r\n if (isOneView(views, view)) {\r\n header.repaint()\r\n }\r\n viewSwitcher.option(\"selectedItemKey\", getViewName(view))\r\n })\r\n },\r\n dropDownOptions: {\r\n onShowing: e => {\r\n if (oneView) {\r\n e.cancel = true\r\n }\r\n },\r\n width: \"max-content\",\r\n _wrapperClassExternal: VIEW_SWITCHER_DROP_DOWN_BUTTON_CONTENT_CLASS\r\n }\r\n }\r\n }, item)\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/header/m_header.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport \"../../../ui/button_group\";\r\nimport \"../../../ui/drop_down_button\";\r\nimport registerComponent from \"../../../core/component_registrator\";\r\nimport devices from \"../../../core/devices\";\r\nimport errors from \"../../../core/errors\";\r\nimport $ from \"../../../core/renderer\";\r\nimport dateUtils from \"../../../core/utils/date\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n renovationGetCurrentView\r\n} from \"../../../renovation/ui/scheduler/model/untyped_getCurrentView\";\r\nimport Toolbar from \"../../../ui/toolbar\";\r\nimport Widget from \"../../../ui/widget/ui.widget\";\r\nimport SchedulerCalendar from \"./m_calendar\";\r\nimport {\r\n getDateNavigator\r\n} from \"./m_date_navigator\";\r\nimport {\r\n getCaption,\r\n getNextIntervalDate,\r\n getStep,\r\n getViewName,\r\n getViewType,\r\n nextWeek,\r\n validateViews\r\n} from \"./m_utils\";\r\nimport {\r\n getDropDownViewSwitcher,\r\n getViewSwitcher\r\n} from \"./m_view_switcher\";\r\nvar DEFAULT_ELEMENT = \"defaultElement\";\r\nvar VIEW_SWITCHER = \"viewSwitcher\";\r\nvar DATE_NAVIGATOR = \"dateNavigator\";\r\nvar COMPONENT_CLASS = \"dx-scheduler-header\";\r\nexport class SchedulerHeader extends Widget {\r\n get views() {\r\n return this.option(\"views\")\r\n }\r\n get captionText() {\r\n return this._getCaption().text\r\n }\r\n get intervalOptions() {\r\n var step = getStep(this.currentView);\r\n var intervalCount = this.option(\"intervalCount\");\r\n var firstDayOfWeek = this.option(\"firstDayOfWeek\");\r\n var agendaDuration = this.option(\"agendaDuration\");\r\n return {\r\n step: step,\r\n intervalCount: intervalCount,\r\n firstDayOfWeek: firstDayOfWeek,\r\n agendaDuration: agendaDuration\r\n }\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n _useShortDateFormat: !devices.real().generic || devices.isSimulator()\r\n })\r\n }\r\n _createEventMap() {\r\n this.eventMap = new Map([\r\n [\"currentView\", [view => {\r\n this.currentView = renovationGetCurrentView(getViewName(view), this.option(\"views\"))\r\n }]],\r\n [\"items\", [this.repaint.bind(this)]],\r\n [\"views\", [validateViews]],\r\n [\"currentDate\", [this._getCalendarOptionUpdater(\"value\")]],\r\n [\"min\", [this._getCalendarOptionUpdater(\"min\")]],\r\n [\"max\", [this._getCalendarOptionUpdater(\"max\")]],\r\n [\"tabIndex\", [this.repaint.bind(this)]],\r\n [\"focusStateEnabled\", [this.repaint.bind(this)]],\r\n [\"useDropDownViewSwitcher\", [this.repaint.bind(this)]]\r\n ])\r\n }\r\n _addEvent(name, event) {\r\n if (!this.eventMap.has(name)) {\r\n this.eventMap.set(name, [])\r\n }\r\n var events = this.eventMap.get(name);\r\n this.eventMap.set(name, [...events, event])\r\n }\r\n _optionChanged(args) {\r\n var {\r\n name: name,\r\n value: value\r\n } = args;\r\n if (this.eventMap.has(name)) {\r\n var events = this.eventMap.get(name);\r\n events.forEach(event => {\r\n event(value)\r\n })\r\n }\r\n }\r\n _init() {\r\n super._init();\r\n this._createEventMap();\r\n this.$element().addClass(COMPONENT_CLASS);\r\n this.currentView = renovationGetCurrentView(getViewName(this.option(\"currentView\")), this.option(\"views\"))\r\n }\r\n _render() {\r\n super._render();\r\n this._createEventMap();\r\n this._renderToolbar()\r\n }\r\n _renderToolbar() {\r\n var config = this._createToolbarConfig();\r\n var toolbarElement = $(\"<div>\");\r\n toolbarElement.appendTo(this.$element());\r\n this._toolbar = this._createComponent(toolbarElement, Toolbar, config)\r\n }\r\n _createToolbarConfig() {\r\n var items = this.option(\"items\");\r\n var parsedItems = items.map(element => this._parseItem(element));\r\n return {\r\n items: parsedItems\r\n }\r\n }\r\n _parseItem(item) {\r\n var isDefaultElement = this._isDefaultItem(item);\r\n if (isDefaultElement) {\r\n var defaultElementType = item[DEFAULT_ELEMENT];\r\n switch (defaultElementType) {\r\n case VIEW_SWITCHER:\r\n if (this.option(\"useDropDownViewSwitcher\")) {\r\n return getDropDownViewSwitcher(this, item)\r\n }\r\n return getViewSwitcher(this, item);\r\n case DATE_NAVIGATOR:\r\n this._renderCalendar();\r\n return getDateNavigator(this, item);\r\n default:\r\n errors.log(\"Unknown default element type: \".concat(defaultElementType))\r\n }\r\n }\r\n return item\r\n }\r\n _callEvent(event, arg) {\r\n if (this.eventMap.has(event)) {\r\n var events = this.eventMap.get(event);\r\n events.forEach(event => event(arg))\r\n }\r\n }\r\n _updateCurrentView(view) {\r\n var onCurrentViewChange = this.option(\"onCurrentViewChange\");\r\n onCurrentViewChange(view.name);\r\n this._callEvent(\"currentView\", view)\r\n }\r\n _updateCalendarValueAndCurrentDate(date) {\r\n this._updateCurrentDate(date);\r\n this._calendar.option(\"value\", date)\r\n }\r\n _updateCurrentDate(date) {\r\n var onCurrentDateChange = this.option(\"onCurrentDateChange\");\r\n onCurrentDateChange(date);\r\n this._callEvent(\"currentDate\", date)\r\n }\r\n _renderCalendar() {\r\n this._calendar = this._createComponent(\"<div>\", SchedulerCalendar, {\r\n value: this.option(\"currentDate\"),\r\n min: this.option(\"min\"),\r\n max: this.option(\"max\"),\r\n firstDayOfWeek: this.option(\"firstDayOfWeek\"),\r\n focusStateEnabled: this.option(\"focusStateEnabled\"),\r\n tabIndex: this.option(\"tabIndex\"),\r\n onValueChanged: e => {\r\n this._updateCurrentDate(e.value);\r\n this._calendar.hide()\r\n }\r\n });\r\n this._calendar.$element().appendTo(this.$element())\r\n }\r\n _getCalendarOptionUpdater(name) {\r\n return value => {\r\n if (this._calendar) {\r\n this._calendar.option(name, value)\r\n }\r\n }\r\n }\r\n _getNextDate(direction) {\r\n var initialDate = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null;\r\n var date = null !== initialDate && void 0 !== initialDate ? initialDate : this.option(\"currentDate\");\r\n var options = _extends(_extends({}, this.intervalOptions), {\r\n date: date\r\n });\r\n return getNextIntervalDate(options, direction)\r\n }\r\n _isMonth() {\r\n var {\r\n currentView: currentView\r\n } = this;\r\n return \"month\" === getViewType(currentView)\r\n }\r\n _getDisplayedDate() {\r\n var startViewDate = this.option(\"startViewDate\");\r\n if (this._isMonth()) {\r\n return nextWeek(startViewDate)\r\n }\r\n return new Date(startViewDate)\r\n }\r\n _getCaption() {\r\n var date = this.option(\"currentDate\");\r\n if (this.option(\"startViewDate\")) {\r\n date = this._getDisplayedDate()\r\n }\r\n date = dateUtils.trimTime(date);\r\n var options = _extends(_extends({}, this.intervalOptions), {\r\n date: date\r\n });\r\n var customizationFunction = this.option(\"customizeDateNavigatorText\");\r\n var useShortDateFormat = this.option(\"_useShortDateFormat\");\r\n return getCaption(options, useShortDateFormat, customizationFunction)\r\n }\r\n _updateDateByDirection(direction) {\r\n var date = this._getNextDate(direction);\r\n this._updateCalendarValueAndCurrentDate(date)\r\n }\r\n _showCalendar(e) {\r\n this._calendar.show(e.element)\r\n }\r\n _hideCalendar() {\r\n this._calendar.hide()\r\n }\r\n _isDefaultItem(item) {\r\n return Object.prototype.hasOwnProperty.call(item, DEFAULT_ELEMENT)\r\n }\r\n}\r\nregisterComponent(\"dxSchedulerHeader\", SchedulerHeader);\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/appointments/m_cell_position_calculator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport dateUtils from \"../../../core/utils/date\";\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nclass BaseStrategy {\r\n constructor(options) {\r\n this.isVirtualScrolling = false;\r\n this.options = options\r\n }\r\n get DOMMetaData() {\r\n return this.options.DOMMetaData\r\n }\r\n get appointments() {\r\n return this.options.dateSettings\r\n }\r\n get viewDataProvider() {\r\n return this.options.viewDataProvider\r\n }\r\n get positionHelper() {\r\n return this.options.positionHelper\r\n }\r\n get startViewDate() {\r\n return this.options.startViewDate\r\n }\r\n get viewStartDayHour() {\r\n return this.options.viewStartDayHour\r\n }\r\n get viewEndDayHour() {\r\n return this.options.viewEndDayHour\r\n }\r\n get cellDuration() {\r\n return this.options.cellDuration\r\n }\r\n get getPositionShift() {\r\n return this.options.getPositionShiftCallback\r\n }\r\n get groupCount() {\r\n return this.options.groupCount\r\n }\r\n get rtlEnabled() {\r\n return this.options.rtlEnabled\r\n }\r\n get isVerticalGrouping() {\r\n return this.options.isVerticalGroupOrientation\r\n }\r\n get showAllDayPanel() {\r\n return this.options.showAllDayPanel\r\n }\r\n get supportAllDayRow() {\r\n return this.options.supportAllDayRow\r\n }\r\n get isGroupedAllDayPanel() {\r\n return this.options.isGroupedAllDayPanel\r\n }\r\n calculateCellPositions(groupIndices, isAllDayRowAppointment, isRecurrentAppointment) {\r\n var result = [];\r\n this.appointments.forEach((dateSetting, index) => {\r\n var coordinates = this.getCoordinateInfos({\r\n appointment: dateSetting,\r\n groupIndices: groupIndices,\r\n isAllDayRowAppointment: isAllDayRowAppointment,\r\n isRecurrentAppointment: isRecurrentAppointment\r\n });\r\n coordinates.forEach(item => {\r\n !!item && result.push(this._prepareObject(item, index))\r\n })\r\n });\r\n return result\r\n }\r\n getCoordinateInfos(options) {\r\n var {\r\n appointment: appointment,\r\n isAllDayRowAppointment: isAllDayRowAppointment,\r\n groupIndices: groupIndices,\r\n recurrent: recurrent\r\n } = options;\r\n var {\r\n startDate: startDate\r\n } = appointment;\r\n var groupIndex = !recurrent ? appointment.source.groupIndex : void 0;\r\n return this.getCoordinatesByDateInGroup(startDate, groupIndices, isAllDayRowAppointment, groupIndex)\r\n }\r\n _prepareObject(position, dateSettingIndex) {\r\n position.dateSettingIndex = dateSettingIndex;\r\n return {\r\n coordinates: position,\r\n dateSettingIndex: dateSettingIndex\r\n }\r\n }\r\n getCoordinatesByDate(date, groupIndex, inAllDayRow) {\r\n var validGroupIndex = groupIndex || 0;\r\n var cellInfo = {\r\n groupIndex: validGroupIndex,\r\n startDate: date,\r\n isAllDay: inAllDayRow\r\n };\r\n var positionByMap = this.viewDataProvider.findCellPositionInMap(cellInfo);\r\n if (!positionByMap) {\r\n return\r\n }\r\n var position = this.getCellPosition(positionByMap, inAllDayRow && !this.isVerticalGrouping);\r\n var timeShift = inAllDayRow ? 0 : this.getTimeShift(date);\r\n var shift = this.getPositionShift(timeShift, inAllDayRow);\r\n var horizontalHMax = this.positionHelper.getHorizontalMax(validGroupIndex, date);\r\n var verticalMax = this.positionHelper.getVerticalMax({\r\n groupIndex: validGroupIndex,\r\n isVirtualScrolling: this.isVirtualScrolling,\r\n showAllDayPanel: this.showAllDayPanel,\r\n supportAllDayRow: this.supportAllDayRow,\r\n isGroupedAllDayPanel: this.isGroupedAllDayPanel,\r\n isVerticalGrouping: this.isVerticalGrouping\r\n });\r\n return {\r\n positionByMap: positionByMap,\r\n cellPosition: position.left + shift.cellPosition,\r\n top: position.top + shift.top,\r\n left: position.left + shift.left,\r\n rowIndex: position.rowIndex,\r\n columnIndex: position.columnIndex,\r\n hMax: horizontalHMax,\r\n vMax: verticalMax,\r\n groupIndex: validGroupIndex\r\n }\r\n }\r\n getCoordinatesByDateInGroup(startDate, groupIndices, inAllDayRow, groupIndex) {\r\n var result = [];\r\n if (this.viewDataProvider.isSkippedDate(startDate)) {\r\n return result\r\n }\r\n var validGroupIndices = [groupIndex];\r\n if (!isDefined(groupIndex)) {\r\n validGroupIndices = this.groupCount ? groupIndices : [0]\r\n }\r\n validGroupIndices.forEach(groupIndex => {\r\n var coordinates = this.getCoordinatesByDate(startDate, groupIndex, inAllDayRow);\r\n if (coordinates) {\r\n result.push(coordinates)\r\n }\r\n });\r\n return result\r\n }\r\n getCellPosition(cellCoordinates, isAllDayPanel) {\r\n var {\r\n dateTableCellsMeta: dateTableCellsMeta,\r\n allDayPanelCellsMeta: allDayPanelCellsMeta\r\n } = this.DOMMetaData;\r\n var {\r\n columnIndex: columnIndex,\r\n rowIndex: rowIndex\r\n } = cellCoordinates;\r\n var position = isAllDayPanel ? allDayPanelCellsMeta[columnIndex] : dateTableCellsMeta[rowIndex][columnIndex];\r\n var validPosition = _extends({}, position);\r\n if (this.rtlEnabled) {\r\n validPosition.left += position.width\r\n }\r\n if (validPosition) {\r\n validPosition.rowIndex = cellCoordinates.rowIndex;\r\n validPosition.columnIndex = cellCoordinates.columnIndex\r\n }\r\n return validPosition\r\n }\r\n getTimeShift(date) {\r\n var currentDayStart = new Date(date);\r\n var currentDayEndHour = new Date(new Date(date).setHours(this.viewEndDayHour, 0, 0));\r\n if (date.getTime() <= currentDayEndHour.getTime()) {\r\n currentDayStart.setHours(this.viewStartDayHour, 0, 0, 0)\r\n }\r\n var timeZoneDifference = dateUtils.getTimezonesDifference(date, currentDayStart);\r\n var currentDateTime = date.getTime();\r\n var currentDayStartTime = currentDayStart.getTime();\r\n var minTime = this.startViewDate.getTime();\r\n return currentDateTime > minTime ? (currentDateTime - currentDayStartTime + timeZoneDifference) % this.cellDuration / this.cellDuration : 0\r\n }\r\n}\r\nclass VirtualStrategy extends BaseStrategy {\r\n constructor() {\r\n super(...arguments);\r\n this.isVirtualScrolling = true\r\n }\r\n calculateCellPositions(groupIndices, isAllDayRowAppointment, isRecurrentAppointment) {\r\n var appointments = isAllDayRowAppointment ? this.appointments : this.appointments.filter(_ref => {\r\n var {\r\n source: source,\r\n startDate: startDate,\r\n endDate: endDate\r\n } = _ref;\r\n return this.viewDataProvider.isGroupIntersectDateInterval(source.groupIndex, startDate, endDate)\r\n });\r\n if (isRecurrentAppointment) {\r\n return this.createRecurrentAppointmentInfos(appointments, isAllDayRowAppointment)\r\n }\r\n return super.calculateCellPositions(groupIndices, isAllDayRowAppointment, isRecurrentAppointment)\r\n }\r\n createRecurrentAppointmentInfos(dateSettings, isAllDayRowAppointment) {\r\n var result = [];\r\n dateSettings.forEach((_ref2, index) => {\r\n var {\r\n source: source,\r\n startDate: startDate\r\n } = _ref2;\r\n var coordinate = this.getCoordinatesByDate(startDate, source.groupIndex, isAllDayRowAppointment);\r\n if (coordinate) {\r\n result.push(this._prepareObject(coordinate, index))\r\n }\r\n });\r\n return result\r\n }\r\n}\r\nexport class CellPositionCalculator {\r\n constructor(options) {\r\n this.options = options\r\n }\r\n calculateCellPositions(groupIndices, isAllDayRowAppointment, isRecurrentAppointment) {\r\n var strategy = this.options.isVirtualScrolling ? new VirtualStrategy(this.options) : new BaseStrategy(this.options);\r\n return strategy.calculateCellPositions(groupIndices, isAllDayRowAppointment, isRecurrentAppointment)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/appointments/m_text_utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dateUtils from \"../../../core/utils/date\";\r\nimport dateLocalization from \"../../../localization/date\";\r\nexport var createFormattedDateText = options => {\r\n var {\r\n startDate: startDate,\r\n endDate: endDate,\r\n allDay: allDay,\r\n format: format\r\n } = options;\r\n var formatType = format || getFormatType(startDate, endDate, allDay);\r\n return formatDates(startDate, endDate, formatType)\r\n};\r\nexport var getFormatType = (startDate, endDate, isAllDay, isDateAndTimeView) => {\r\n if (isAllDay) {\r\n return \"DATE\"\r\n }\r\n if (isDateAndTimeView && dateUtils.sameDate(startDate, endDate)) {\r\n return \"TIME\"\r\n }\r\n return \"DATETIME\"\r\n};\r\nexport var formatDates = (startDate, endDate, formatType) => {\r\n var isSameDate = startDate.getDate() === endDate.getDate();\r\n switch (formatType) {\r\n case \"DATETIME\":\r\n return [dateLocalization.format(startDate, \"monthandday\"), \" \", dateLocalization.format(startDate, \"shorttime\"), \" - \", isSameDate ? \"\" : \"\".concat(dateLocalization.format(endDate, \"monthandday\"), \" \"), dateLocalization.format(endDate, \"shorttime\")].join(\"\");\r\n case \"TIME\":\r\n return \"\".concat(dateLocalization.format(startDate, \"shorttime\"), \" - \").concat(dateLocalization.format(endDate, \"shorttime\"));\r\n case \"DATE\":\r\n return \"\".concat(dateLocalization.format(startDate, \"monthandday\")).concat(isSameDate ? \"\" : \" - \".concat(dateLocalization.format(endDate, \"monthandday\")))\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/appointments/m_settings_generator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport dateUtils from \"../../../core/utils/date\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n isEmptyObject\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n isDateAndTimeView\r\n} from \"../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\";\r\nimport timeZoneUtils from \"../../../ui/scheduler/utils.timeZone\";\r\nimport {\r\n createAppointmentAdapter\r\n} from \"../m_appointment_adapter\";\r\nimport {\r\n ExpressionUtils\r\n} from \"../m_expression_utils\";\r\nimport {\r\n getRecurrenceProcessor\r\n} from \"../m_recurrence\";\r\nimport {\r\n createResourcesTree,\r\n getDataAccessors,\r\n getGroupCount,\r\n getResourceTreeLeaves\r\n} from \"../resources/m_utils\";\r\nimport {\r\n CellPositionCalculator\r\n} from \"./m_cell_position_calculator\";\r\nimport {\r\n createFormattedDateText\r\n} from \"./m_text_utils\";\r\nvar toMs = dateUtils.dateToMilliseconds;\r\nvar APPOINTMENT_DATE_TEXT_FORMAT = \"TIME\";\r\nexport class DateGeneratorBaseStrategy {\r\n constructor(options) {\r\n this.options = options\r\n }\r\n get rawAppointment() {\r\n return this.options.rawAppointment\r\n }\r\n get timeZoneCalculator() {\r\n return this.options.timeZoneCalculator\r\n }\r\n get viewDataProvider() {\r\n return this.options.viewDataProvider\r\n }\r\n get appointmentTakesAllDay() {\r\n return this.options.appointmentTakesAllDay\r\n }\r\n get supportAllDayRow() {\r\n return this.options.supportAllDayRow\r\n }\r\n get isAllDayRowAppointment() {\r\n return this.options.isAllDayRowAppointment\r\n }\r\n get timeZone() {\r\n return this.options.timeZone\r\n }\r\n get dateRange() {\r\n return this.options.dateRange\r\n }\r\n get firstDayOfWeek() {\r\n return this.options.firstDayOfWeek\r\n }\r\n get viewStartDayHour() {\r\n return this.options.viewStartDayHour\r\n }\r\n get viewEndDayHour() {\r\n return this.options.viewEndDayHour\r\n }\r\n get endViewDate() {\r\n return this.options.endViewDate\r\n }\r\n get viewType() {\r\n return this.options.viewType\r\n }\r\n get isGroupedByDate() {\r\n return this.options.isGroupedByDate\r\n }\r\n get isVerticalOrientation() {\r\n return this.options.isVerticalGroupOrientation\r\n }\r\n get dataAccessors() {\r\n return this.options.dataAccessors\r\n }\r\n get loadedResources() {\r\n return this.options.loadedResources\r\n }\r\n get isDateAppointment() {\r\n return !isDateAndTimeView(this.viewType) && this.appointmentTakesAllDay\r\n }\r\n getIntervalDuration() {\r\n return this.appointmentTakesAllDay ? this.options.allDayIntervalDuration : this.options.intervalDuration\r\n }\r\n generate(appointmentAdapter) {\r\n var itemGroupIndices = this._getGroupIndices(this.rawAppointment);\r\n var appointmentList = this._createAppointments(appointmentAdapter, itemGroupIndices);\r\n appointmentList = this._getProcessedByAppointmentTimeZone(appointmentList, appointmentAdapter);\r\n if (this._canProcessNotNativeTimezoneDates(appointmentAdapter)) {\r\n appointmentList = this._getProcessedNotNativeTimezoneDates(appointmentList, appointmentAdapter)\r\n }\r\n var dateSettings = this._createGridAppointmentList(appointmentList, appointmentAdapter);\r\n var firstViewDates = this._getAppointmentsFirstViewDate(dateSettings);\r\n this._fillNormalizedStartDate(dateSettings, firstViewDates);\r\n dateSettings = this._cropAppointmentsByStartDayHour(dateSettings, firstViewDates);\r\n dateSettings = this._fillNormalizedEndDate(dateSettings, this.rawAppointment);\r\n if (this._needSeparateLongParts()) {\r\n dateSettings = this._separateLongParts(dateSettings, appointmentAdapter)\r\n }\r\n var {\r\n isRecurrent: isRecurrent\r\n } = appointmentAdapter;\r\n return {\r\n dateSettings: dateSettings,\r\n itemGroupIndices: itemGroupIndices,\r\n isRecurrent: isRecurrent\r\n }\r\n }\r\n _getProcessedByAppointmentTimeZone(appointmentList, appointment) {\r\n var hasAppointmentTimeZone = !isEmptyObject(appointment.startDateTimeZone) || !isEmptyObject(appointment.endDateTimeZone);\r\n if (hasAppointmentTimeZone) {\r\n var appointmentOffsets = {\r\n startDate: this.timeZoneCalculator.getOffsets(appointment.startDate, appointment.startDateTimeZone),\r\n endDate: this.timeZoneCalculator.getOffsets(appointment.endDate, appointment.endDateTimeZone)\r\n };\r\n appointmentList.forEach(a => {\r\n var sourceOffsets_startDate = this.timeZoneCalculator.getOffsets(a.startDate, appointment.startDateTimeZone),\r\n sourceOffsets_endDate = this.timeZoneCalculator.getOffsets(a.endDate, appointment.endDateTimeZone);\r\n var startDateOffsetDiff = appointmentOffsets.startDate.appointment - sourceOffsets_startDate.appointment;\r\n var endDateOffsetDiff = appointmentOffsets.endDate.appointment - sourceOffsets_endDate.appointment;\r\n if (sourceOffsets_startDate.appointment !== sourceOffsets_startDate.common) {\r\n a.startDate = new Date(a.startDate.getTime() + startDateOffsetDiff * toMs(\"hour\"))\r\n }\r\n if (sourceOffsets_endDate.appointment !== sourceOffsets_endDate.common) {\r\n a.endDate = new Date(a.endDate.getTime() + endDateOffsetDiff * toMs(\"hour\"))\r\n }\r\n })\r\n }\r\n return appointmentList\r\n }\r\n _createAppointments(appointment, groupIndices) {\r\n var appointments = this._createRecurrenceAppointments(appointment, groupIndices);\r\n if (!appointment.isRecurrent && 0 === appointments.length) {\r\n appointments.push({\r\n startDate: appointment.startDate,\r\n endDate: appointment.endDate\r\n })\r\n }\r\n appointments = appointments.map(item => {\r\n var _a;\r\n var resultEndTime = null === (_a = item.endDate) || void 0 === _a ? void 0 : _a.getTime();\r\n if (item.startDate.getTime() === resultEndTime) {\r\n item.endDate.setTime(resultEndTime + toMs(\"minute\"))\r\n }\r\n return _extends(_extends({}, item), {\r\n exceptionDate: new Date(item.startDate)\r\n })\r\n });\r\n return appointments\r\n }\r\n _canProcessNotNativeTimezoneDates(appointment) {\r\n var isTimeZoneSet = !isEmptyObject(this.timeZone);\r\n if (!isTimeZoneSet) {\r\n return false\r\n }\r\n if (!appointment.isRecurrent) {\r\n return false\r\n }\r\n return !timeZoneUtils.isEqualLocalTimeZone(this.timeZone, appointment.startDate)\r\n }\r\n _getProcessedNotNativeDateIfCrossDST(date, offset) {\r\n if (offset < 0) {\r\n var newDate = new Date(date);\r\n var newDateMinusOneHour = new Date(newDate);\r\n newDateMinusOneHour.setHours(newDateMinusOneHour.getHours() - 1);\r\n var newDateOffset = this.timeZoneCalculator.getOffsets(newDate).common;\r\n var newDateMinusOneHourOffset = this.timeZoneCalculator.getOffsets(newDateMinusOneHour).common;\r\n if (newDateOffset !== newDateMinusOneHourOffset) {\r\n return 0\r\n }\r\n }\r\n return offset\r\n }\r\n _getCommonOffset(date) {\r\n return this.timeZoneCalculator.getOffsets(date).common\r\n }\r\n _getProcessedNotNativeTimezoneDates(appointmentList, appointment) {\r\n return appointmentList.map(item => {\r\n var diffStartDateOffset = this._getCommonOffset(appointment.startDate) - this._getCommonOffset(item.startDate);\r\n var diffEndDateOffset = this._getCommonOffset(appointment.endDate) - this._getCommonOffset(item.endDate);\r\n if (0 === diffStartDateOffset && 0 === diffEndDateOffset) {\r\n return item\r\n }\r\n diffStartDateOffset = this._getProcessedNotNativeDateIfCrossDST(item.startDate, diffStartDateOffset);\r\n diffEndDateOffset = this._getProcessedNotNativeDateIfCrossDST(item.endDate, diffEndDateOffset);\r\n var newStartDate = new Date(item.startDate.getTime() + diffStartDateOffset * toMs(\"hour\"));\r\n var newEndDate = new Date(item.endDate.getTime() + diffEndDateOffset * toMs(\"hour\"));\r\n var testNewStartDate = this.timeZoneCalculator.createDate(newStartDate, {\r\n path: \"toGrid\"\r\n });\r\n var testNewEndDate = this.timeZoneCalculator.createDate(newEndDate, {\r\n path: \"toGrid\"\r\n });\r\n if (appointment.duration > testNewEndDate.getTime() - testNewStartDate.getTime()) {\r\n newEndDate = new Date(newStartDate.getTime() + appointment.duration)\r\n }\r\n return _extends(_extends({}, item), {\r\n startDate: newStartDate,\r\n endDate: newEndDate,\r\n exceptionDate: new Date(newStartDate)\r\n })\r\n })\r\n }\r\n _needSeparateLongParts() {\r\n return this.isVerticalOrientation ? this.isGroupedByDate : this.isGroupedByDate && this.appointmentTakesAllDay\r\n }\r\n normalizeEndDateByViewEnd(rawAppointment, endDate) {\r\n var result = new Date(endDate.getTime());\r\n var isAllDay = isDateAndTimeView(this.viewType) && this.appointmentTakesAllDay;\r\n if (!isAllDay) {\r\n var roundedEndViewDate = dateUtils.roundToHour(this.endViewDate);\r\n if (result > roundedEndViewDate) {\r\n result = roundedEndViewDate\r\n }\r\n }\r\n var endDayHour = this.viewEndDayHour;\r\n var allDay = ExpressionUtils.getField(this.dataAccessors, \"allDay\", rawAppointment);\r\n var currentViewEndTime = new Date(new Date(endDate.getTime()).setHours(endDayHour, 0, 0, 0));\r\n if (result.getTime() > currentViewEndTime.getTime() || allDay && result.getHours() < endDayHour) {\r\n result = currentViewEndTime\r\n }\r\n return result\r\n }\r\n _fillNormalizedEndDate(dateSettings, rawAppointment) {\r\n return dateSettings.map(item => {\r\n var {\r\n endDate: endDate\r\n } = item;\r\n var normalizedEndDate = this.normalizeEndDateByViewEnd(rawAppointment, endDate);\r\n return _extends(_extends({}, item), {\r\n normalizedEndDate: normalizedEndDate\r\n })\r\n })\r\n }\r\n _separateLongParts(gridAppointmentList, appointmentAdapter) {\r\n var result = [];\r\n gridAppointmentList.forEach(gridAppointment => {\r\n var maxDate = new Date(this.dateRange[1]);\r\n var {\r\n normalizedEndDate: endDateOfPart\r\n } = gridAppointment;\r\n var longStartDateParts = dateUtils.getDatesOfInterval(gridAppointment.startDate, endDateOfPart, {\r\n milliseconds: this.getIntervalDuration()\r\n });\r\n var list = longStartDateParts.filter(startDatePart => new Date(startDatePart) < maxDate).map(date => {\r\n var endDate = new Date(new Date(date).setMilliseconds(appointmentAdapter.duration));\r\n var normalizedEndDate = this.normalizeEndDateByViewEnd(this.rawAppointment, endDate);\r\n return {\r\n startDate: date,\r\n endDate: endDate,\r\n normalizedEndDate: normalizedEndDate,\r\n source: gridAppointment.source\r\n }\r\n });\r\n result = result.concat(list)\r\n });\r\n return result\r\n }\r\n _createGridAppointmentList(appointmentList, appointmentAdapter) {\r\n return appointmentList.map(source => {\r\n var offsetDifference = appointmentAdapter.startDate.getTimezoneOffset() - source.startDate.getTimezoneOffset();\r\n if (0 !== offsetDifference && this._canProcessNotNativeTimezoneDates(appointmentAdapter)) {\r\n source.startDate = new Date(source.startDate.getTime() + offsetDifference * toMs(\"minute\"));\r\n source.endDate = new Date(source.endDate.getTime() + offsetDifference * toMs(\"minute\"));\r\n source.exceptionDate = new Date(source.startDate)\r\n }\r\n var startDate = this.timeZoneCalculator.createDate(source.startDate, {\r\n path: \"toGrid\"\r\n });\r\n var endDate = this.timeZoneCalculator.createDate(source.endDate, {\r\n path: \"toGrid\"\r\n });\r\n return {\r\n startDate: startDate,\r\n endDate: endDate,\r\n allDay: appointmentAdapter.allDay || false,\r\n source: source\r\n }\r\n })\r\n }\r\n _createExtremeRecurrenceDates(groupIndex) {\r\n var startViewDate = this.appointmentTakesAllDay ? dateUtils.trimTime(this.dateRange[0]) : this.dateRange[0];\r\n var endViewDateByEndDayHour = this.dateRange[1];\r\n if (this.timeZone) {\r\n startViewDate = this.timeZoneCalculator.createDate(startViewDate, {\r\n path: \"fromGrid\"\r\n });\r\n endViewDateByEndDayHour = this.timeZoneCalculator.createDate(endViewDateByEndDayHour, {\r\n path: \"fromGrid\"\r\n });\r\n var daylightOffset = timeZoneUtils.getDaylightOffsetInMs(startViewDate, endViewDateByEndDayHour);\r\n if (daylightOffset) {\r\n endViewDateByEndDayHour = new Date(endViewDateByEndDayHour.getTime() + daylightOffset)\r\n }\r\n }\r\n return [startViewDate, endViewDateByEndDayHour]\r\n }\r\n _createRecurrenceOptions(appointment, groupIndex) {\r\n var [minRecurrenceDate, maxRecurrenceDate] = this._createExtremeRecurrenceDates(groupIndex);\r\n return {\r\n rule: appointment.recurrenceRule,\r\n exception: appointment.recurrenceException,\r\n min: minRecurrenceDate,\r\n max: maxRecurrenceDate,\r\n firstDayOfWeek: this.firstDayOfWeek,\r\n start: appointment.startDate,\r\n end: appointment.endDate,\r\n appointmentTimezoneOffset: this.timeZoneCalculator.getOriginStartDateOffsetInMs(appointment.startDate, appointment.rawAppointment.startDateTimeZone, true),\r\n getPostProcessedException: date => {\r\n if (isEmptyObject(this.timeZone) || timeZoneUtils.isEqualLocalTimeZone(this.timeZone, date)) {\r\n return date\r\n }\r\n var appointmentOffset = this.timeZoneCalculator.getOffsets(appointment.startDate).common;\r\n var exceptionAppointmentOffset = this.timeZoneCalculator.getOffsets(date).common;\r\n var diff = appointmentOffset - exceptionAppointmentOffset;\r\n diff = this._getProcessedNotNativeDateIfCrossDST(date, diff);\r\n return new Date(date.getTime() - diff * dateUtils.dateToMilliseconds(\"hour\"))\r\n }\r\n }\r\n }\r\n _createRecurrenceAppointments(appointment, groupIndices) {\r\n var {\r\n duration: duration\r\n } = appointment;\r\n var option = this._createRecurrenceOptions(appointment);\r\n var generatedStartDates = getRecurrenceProcessor().generateDates(option);\r\n return generatedStartDates.map(date => {\r\n var utcDate = timeZoneUtils.createUTCDateWithLocalOffset(date);\r\n utcDate.setTime(utcDate.getTime() + duration);\r\n var endDate = timeZoneUtils.createDateFromUTCWithLocalOffset(utcDate);\r\n return {\r\n startDate: new Date(date),\r\n endDate: endDate\r\n }\r\n })\r\n }\r\n _getAppointmentsFirstViewDate(appointments) {\r\n return appointments.map(appointment => this._getAppointmentFirstViewDate(appointment))\r\n }\r\n _fillNormalizedStartDate(appointments, firstViewDates, rawAppointment) {\r\n appointments.forEach((appointment, idx) => {\r\n appointment.startDate = this._getAppointmentResultDate({\r\n appointment: appointment,\r\n rawAppointment: rawAppointment,\r\n startDate: new Date(appointment.startDate),\r\n startDayHour: this.viewStartDayHour,\r\n firstViewDate: firstViewDates[idx]\r\n })\r\n })\r\n }\r\n _cropAppointmentsByStartDayHour(appointments, firstViewDates) {\r\n return appointments.filter((appointment, idx) => {\r\n if (!firstViewDates[idx]) {\r\n return false\r\n }\r\n if (this.appointmentTakesAllDay) {\r\n return true\r\n }\r\n return appointment.endDate > appointment.startDate\r\n })\r\n }\r\n _getAppointmentResultDate(options) {\r\n var {\r\n appointment: appointment,\r\n startDayHour: startDayHour,\r\n firstViewDate: firstViewDate\r\n } = options;\r\n var {\r\n startDate: startDate\r\n } = options;\r\n var resultDate;\r\n if (this.appointmentTakesAllDay) {\r\n resultDate = dateUtils.normalizeDate(startDate, firstViewDate)\r\n } else {\r\n if (startDate < firstViewDate) {\r\n startDate = firstViewDate\r\n }\r\n resultDate = dateUtils.normalizeDate(appointment.startDate, startDate)\r\n }\r\n return !this.isDateAppointment ? dateUtils.roundDateByStartDayHour(resultDate, startDayHour) : resultDate\r\n }\r\n _getAppointmentFirstViewDate(appointment) {\r\n var groupIndex = appointment.source.groupIndex || 0;\r\n var {\r\n startDate: startDate,\r\n endDate: endDate\r\n } = appointment;\r\n if (this.isAllDayRowAppointment || appointment.allDay) {\r\n return this.viewDataProvider.findAllDayGroupCellStartDate(groupIndex, startDate)\r\n }\r\n return this.viewDataProvider.findGroupCellStartDate(groupIndex, startDate, endDate, this.isDateAppointment)\r\n }\r\n _getGroupIndices(rawAppointment) {\r\n var result = [];\r\n if (rawAppointment && this.loadedResources.length) {\r\n var tree = createResourcesTree(this.loadedResources);\r\n result = getResourceTreeLeaves((field, action) => getDataAccessors(this.options.dataAccessors.resources, field, action), tree, rawAppointment)\r\n }\r\n return result\r\n }\r\n}\r\nexport class DateGeneratorVirtualStrategy extends DateGeneratorBaseStrategy {\r\n get groupCount() {\r\n return getGroupCount(this.loadedResources)\r\n }\r\n _createRecurrenceAppointments(appointment, groupIndices) {\r\n var {\r\n duration: duration\r\n } = appointment;\r\n var result = [];\r\n var validGroupIndices = this.groupCount ? groupIndices : [0];\r\n validGroupIndices.forEach(groupIndex => {\r\n var option = this._createRecurrenceOptions(appointment, groupIndex);\r\n var generatedStartDates = getRecurrenceProcessor().generateDates(option);\r\n var recurrentInfo = generatedStartDates.map(date => {\r\n var startDate = new Date(date);\r\n var utcDate = timeZoneUtils.createUTCDateWithLocalOffset(date);\r\n utcDate.setTime(utcDate.getTime() + duration);\r\n var endDate = timeZoneUtils.createDateFromUTCWithLocalOffset(utcDate);\r\n return {\r\n startDate: startDate,\r\n endDate: endDate,\r\n groupIndex: groupIndex\r\n }\r\n });\r\n result.push(...recurrentInfo)\r\n });\r\n return result\r\n }\r\n _updateGroupIndices(appointments, groupIndices) {\r\n var result = [];\r\n groupIndices.forEach(groupIndex => {\r\n var groupStartDate = this.viewDataProvider.getGroupStartDate(groupIndex);\r\n if (groupStartDate) {\r\n appointments.forEach(appointment => {\r\n var appointmentCopy = extend({}, appointment);\r\n appointmentCopy.groupIndex = groupIndex;\r\n result.push(appointmentCopy)\r\n })\r\n }\r\n });\r\n return result\r\n }\r\n _getGroupIndices(resources) {\r\n var groupIndices = super._getGroupIndices(resources);\r\n var viewDataGroupIndices = this.viewDataProvider.getGroupIndices();\r\n if (!(null === groupIndices || void 0 === groupIndices ? void 0 : groupIndices.length)) {\r\n groupIndices = [0]\r\n }\r\n return groupIndices.filter(groupIndex => -1 !== viewDataGroupIndices.indexOf(groupIndex))\r\n }\r\n _createAppointments(appointment, groupIndices) {\r\n var appointments = super._createAppointments(appointment, groupIndices);\r\n return !appointment.isRecurrent ? this._updateGroupIndices(appointments, groupIndices) : appointments\r\n }\r\n}\r\nexport class AppointmentSettingsGenerator {\r\n constructor(options) {\r\n this.options = options;\r\n this.appointmentAdapter = createAppointmentAdapter(this.rawAppointment, this.dataAccessors, this.timeZoneCalculator)\r\n }\r\n get rawAppointment() {\r\n return this.options.rawAppointment\r\n }\r\n get dataAccessors() {\r\n return this.options.dataAccessors\r\n }\r\n get timeZoneCalculator() {\r\n return this.options.timeZoneCalculator\r\n }\r\n get isAllDayRowAppointment() {\r\n return this.options.appointmentTakesAllDay && this.options.supportAllDayRow\r\n }\r\n get groups() {\r\n return this.options.groups\r\n }\r\n get dateSettingsStrategy() {\r\n var options = _extends(_extends({}, this.options), {\r\n isAllDayRowAppointment: this.isAllDayRowAppointment\r\n });\r\n return this.options.isVirtualScrolling ? new DateGeneratorVirtualStrategy(options) : new DateGeneratorBaseStrategy(options)\r\n }\r\n create() {\r\n var {\r\n dateSettings: dateSettings,\r\n itemGroupIndices: itemGroupIndices,\r\n isRecurrent: isRecurrent\r\n } = this._generateDateSettings();\r\n var cellPositions = this._calculateCellPositions(dateSettings, itemGroupIndices);\r\n var result = this._prepareAppointmentInfos(dateSettings, cellPositions, isRecurrent);\r\n return result\r\n }\r\n _generateDateSettings() {\r\n return this.dateSettingsStrategy.generate(this.appointmentAdapter)\r\n }\r\n _calculateCellPositions(dateSettings, itemGroupIndices) {\r\n var cellPositionCalculator = new CellPositionCalculator(_extends(_extends({}, this.options), {\r\n dateSettings: dateSettings\r\n }));\r\n return cellPositionCalculator.calculateCellPositions(itemGroupIndices, this.isAllDayRowAppointment, this.appointmentAdapter.isRecurrent)\r\n }\r\n _prepareAppointmentInfos(dateSettings, cellPositions, isRecurrent) {\r\n var infos = [];\r\n cellPositions.forEach(_ref => {\r\n var {\r\n coordinates: coordinates,\r\n dateSettingIndex: dateSettingIndex\r\n } = _ref;\r\n var dateSetting = dateSettings[dateSettingIndex];\r\n var dateText = this._getAppointmentDateText(dateSetting);\r\n var info = {\r\n appointment: dateSetting,\r\n sourceAppointment: dateSetting.source,\r\n dateText: dateText,\r\n isRecurrent: isRecurrent\r\n };\r\n infos.push(_extends(_extends({}, coordinates), {\r\n info: info\r\n }))\r\n });\r\n return infos\r\n }\r\n _getAppointmentDateText(sourceAppointment) {\r\n var {\r\n startDate: startDate,\r\n endDate: endDate,\r\n allDay: allDay\r\n } = sourceAppointment;\r\n return createFormattedDateText({\r\n startDate: startDate,\r\n endDate: endDate,\r\n allDay: allDay,\r\n format: APPOINTMENT_DATE_TEXT_FORMAT\r\n })\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/appointments/rendering_strategies/m_appointments_positioning_strategy_base.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nvar COLLECTOR_DEFAULT_WIDTH = 24;\r\nvar COLLECTOR_DEFAULT_OFFSET = 3;\r\nvar COMPACT_THEME_APPOINTMENT_DEFAULT_OFFSET = 22;\r\nvar APPOINTMENT_MIN_COUNT = 1;\r\nvar APPOINTMENT_DEFAULT_WIDTH = 40;\r\nvar COLLECTOR_WIDTH_IN_PERCENTS = 75;\r\nvar APPOINTMENT_INCREASED_WIDTH = 50;\r\nclass AppointmentPositioningStrategy {\r\n constructor(renderingStrategy) {\r\n this._renderingStrategy = renderingStrategy\r\n }\r\n getDropDownAppointmentWidth(intervalCount, isAllDay) {\r\n if (isAllDay || !isDefined(isAllDay)) {\r\n return COLLECTOR_WIDTH_IN_PERCENTS * this._renderingStrategy.cellWidth / 100\r\n }\r\n return COLLECTOR_DEFAULT_WIDTH\r\n }\r\n getCollectorTopOffset(allDay) {\r\n return COLLECTOR_DEFAULT_OFFSET\r\n }\r\n getCollectorLeftOffset() {\r\n return COLLECTOR_DEFAULT_OFFSET\r\n }\r\n getAppointmentDefaultOffset() {\r\n if (this._renderingStrategy._isCompactTheme()) {\r\n return COMPACT_THEME_APPOINTMENT_DEFAULT_OFFSET\r\n }\r\n return this._renderingStrategy.appointmentOffset\r\n }\r\n getDynamicAppointmentCountPerCell() {\r\n var renderingStrategy = this._renderingStrategy;\r\n var {\r\n cellHeight: cellHeight\r\n } = renderingStrategy;\r\n var allDayCount = Math.floor((cellHeight - renderingStrategy._getAppointmentDefaultOffset()) / renderingStrategy._getAppointmentDefaultHeight()) || this._getAppointmentMinCount();\r\n if (renderingStrategy.allDaySupported()) {\r\n return {\r\n allDay: \"vertical\" === renderingStrategy.groupOrientation ? allDayCount : this._renderingStrategy.appointmentCountPerCell,\r\n simple: this._calculateDynamicAppointmentCountPerCell() || this._getAppointmentMinCount()\r\n }\r\n }\r\n return allDayCount\r\n }\r\n getDropDownAppointmentHeight() {\r\n return\r\n }\r\n _getAppointmentMinCount() {\r\n return APPOINTMENT_MIN_COUNT\r\n }\r\n _calculateDynamicAppointmentCountPerCell() {\r\n return Math.floor(this._renderingStrategy._getAppointmentMaxWidth() / APPOINTMENT_INCREASED_WIDTH)\r\n }\r\n _getAppointmentDefaultWidth() {\r\n return APPOINTMENT_DEFAULT_WIDTH\r\n }\r\n}\r\nexport default AppointmentPositioningStrategy;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/appointments/rendering_strategies/m_appointments_positioning_strategy_adaptive.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport AppointmentPositioningStrategy from \"./m_appointments_positioning_strategy_base\";\r\nvar COLLECTOR_ADAPTIVE_SIZE = 28;\r\nvar COLLECTOR_ADAPTIVE_BOTTOM_OFFSET = 40;\r\nvar ADAPTIVE_APPOINTMENT_DEFAULT_OFFSET = 35;\r\nvar ADAPTIVE_APPOINTMENT_DEFAULT_WIDTH = 30;\r\nclass AdaptivePositioningStrategy extends AppointmentPositioningStrategy {\r\n getDropDownAppointmentWidth(intervalCount, isAllDay) {\r\n return this.getDropDownButtonAdaptiveSize()\r\n }\r\n getDropDownButtonAdaptiveSize() {\r\n return COLLECTOR_ADAPTIVE_SIZE\r\n }\r\n getCollectorTopOffset(allDay) {\r\n var renderingStrategy = this._renderingStrategy;\r\n if (renderingStrategy.allDaySupported() && allDay) {\r\n return (renderingStrategy.allDayHeight - renderingStrategy.getDropDownButtonAdaptiveSize()) / 2\r\n }\r\n return this._renderingStrategy.cellHeight - COLLECTOR_ADAPTIVE_BOTTOM_OFFSET\r\n }\r\n getCollectorLeftOffset() {\r\n var collectorWidth = this._renderingStrategy.getDropDownAppointmentWidth();\r\n return (this._renderingStrategy.cellWidth - collectorWidth) / 2\r\n }\r\n getAppointmentDefaultOffset() {\r\n return ADAPTIVE_APPOINTMENT_DEFAULT_OFFSET\r\n }\r\n getDynamicAppointmentCountPerCell() {\r\n var renderingStrategy = this._renderingStrategy;\r\n if (renderingStrategy.allDaySupported()) {\r\n return {\r\n allDay: 0,\r\n simple: this._calculateDynamicAppointmentCountPerCell() || this._getAppointmentMinCount()\r\n }\r\n }\r\n return 0\r\n }\r\n getDropDownAppointmentHeight() {\r\n return COLLECTOR_ADAPTIVE_SIZE\r\n }\r\n _getAppointmentMinCount() {\r\n return 0\r\n }\r\n _getAppointmentDefaultWidth() {\r\n var renderingStrategy = this._renderingStrategy;\r\n if (renderingStrategy.allDaySupported()) {\r\n return ADAPTIVE_APPOINTMENT_DEFAULT_WIDTH\r\n }\r\n return super._getAppointmentDefaultWidth()\r\n }\r\n _calculateDynamicAppointmentCountPerCell() {\r\n return Math.floor(this._renderingStrategy._getAppointmentMaxWidth() / this._renderingStrategy._getAppointmentDefaultWidth())\r\n }\r\n}\r\nexport default AdaptivePositioningStrategy;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/appointments/rendering_strategies/m_strategy_base.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport dateUtils from \"../../../../core/utils/date\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n isNumeric,\r\n isObject\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n getAppointmentTakesAllDay\r\n} from \"../../../../renovation/ui/scheduler/appointment/utils/getAppointmentTakesAllDay\";\r\nimport timeZoneUtils from \"../../../../ui/scheduler/utils.timeZone\";\r\nimport {\r\n current as currentTheme\r\n} from \"../../../../ui/themes\";\r\nimport {\r\n createAppointmentAdapter\r\n} from \"../../m_appointment_adapter\";\r\nimport {\r\n AppointmentSettingsGenerator\r\n} from \"../m_settings_generator\";\r\nimport AdaptivePositioningStrategy from \"./m_appointments_positioning_strategy_adaptive\";\r\nimport AppointmentPositioningStrategy from \"./m_appointments_positioning_strategy_base\";\r\nvar toMs = dateUtils.dateToMilliseconds;\r\nvar APPOINTMENT_MIN_SIZE = 2;\r\nvar APPOINTMENT_DEFAULT_HEIGHT = 20;\r\nvar COMPACT_THEME_APPOINTMENT_DEFAULT_HEIGHT = 18;\r\nvar DROP_DOWN_BUTTON_ADAPTIVE_SIZE = 28;\r\nvar WEEK_VIEW_COLLECTOR_OFFSET = 5;\r\nvar COMPACT_THEME_WEEK_VIEW_COLLECTOR_OFFSET = 1;\r\nclass BaseRenderingStrategy {\r\n constructor(options) {\r\n this.options = options;\r\n this._initPositioningStrategy()\r\n }\r\n get isAdaptive() {\r\n return this.options.adaptivityEnabled\r\n }\r\n get rtlEnabled() {\r\n return this.options.rtlEnabled\r\n }\r\n get startDayHour() {\r\n return this.options.startDayHour\r\n }\r\n get endDayHour() {\r\n return this.options.endDayHour\r\n }\r\n get maxAppointmentsPerCell() {\r\n return this.options.maxAppointmentsPerCell\r\n }\r\n get cellWidth() {\r\n return this.options.cellWidth\r\n }\r\n get cellHeight() {\r\n return this.options.cellHeight\r\n }\r\n get allDayHeight() {\r\n return this.options.allDayHeight\r\n }\r\n get resizableStep() {\r\n return this.options.resizableStep\r\n }\r\n get isGroupedByDate() {\r\n return this.options.isGroupedByDate\r\n }\r\n get visibleDayDuration() {\r\n return this.options.visibleDayDuration\r\n }\r\n get viewStartDayHour() {\r\n return this.options.viewStartDayHour\r\n }\r\n get viewEndDayHour() {\r\n return this.options.viewEndDayHour\r\n }\r\n get cellDuration() {\r\n return this.options.cellDuration\r\n }\r\n get cellDurationInMinutes() {\r\n return this.options.cellDurationInMinutes\r\n }\r\n get leftVirtualCellCount() {\r\n return this.options.leftVirtualCellCount\r\n }\r\n get topVirtualCellCount() {\r\n return this.options.topVirtualCellCount\r\n }\r\n get positionHelper() {\r\n return this.options.positionHelper\r\n }\r\n get showAllDayPanel() {\r\n return this.options.showAllDayPanel\r\n }\r\n get isGroupedAllDayPanel() {\r\n return this.options.isGroupedAllDayPanel\r\n }\r\n get groupOrientation() {\r\n return this.options.groupOrientation\r\n }\r\n get rowCount() {\r\n return this.options.rowCount\r\n }\r\n get groupCount() {\r\n return this.options.groupCount\r\n }\r\n get currentDate() {\r\n return this.options.currentDate\r\n }\r\n get appointmentCountPerCell() {\r\n return this.options.appointmentCountPerCell\r\n }\r\n get appointmentOffset() {\r\n return this.options.appointmentOffset\r\n }\r\n get allowResizing() {\r\n return this.options.allowResizing\r\n }\r\n get allowAllDayResizing() {\r\n return this.options.allowAllDayResizing\r\n }\r\n get viewDataProvider() {\r\n return this.options.viewDataProvider\r\n }\r\n get dataAccessors() {\r\n return this.options.dataAccessors\r\n }\r\n get timeZoneCalculator() {\r\n return this.options.timeZoneCalculator\r\n }\r\n get intervalCount() {\r\n return this.options.intervalCount\r\n }\r\n get allDayPanelMode() {\r\n return this.options.allDayPanelMode\r\n }\r\n get isVirtualScrolling() {\r\n return this.options.isVirtualScrolling\r\n }\r\n _correctCollectorCoordinatesInAdaptive(coordinates, isAllDay) {\r\n coordinates.top += this.getCollectorTopOffset(isAllDay);\r\n coordinates.left += this.getCollectorLeftOffset()\r\n }\r\n _initPositioningStrategy() {\r\n this._positioningStrategy = this.isAdaptive ? new AdaptivePositioningStrategy(this) : new AppointmentPositioningStrategy(this)\r\n }\r\n getPositioningStrategy() {\r\n return this._positioningStrategy\r\n }\r\n getAppointmentMinSize() {\r\n return APPOINTMENT_MIN_SIZE\r\n }\r\n keepAppointmentSettings() {\r\n return false\r\n }\r\n getDeltaTime(args, initialSize, appointment) {}\r\n getAppointmentGeometry(coordinates) {\r\n return coordinates\r\n }\r\n needCorrectAppointmentDates() {\r\n return true\r\n }\r\n getDirection() {\r\n return \"horizontal\"\r\n }\r\n createTaskPositionMap(items, skipSorting) {\r\n delete this._maxAppointmentCountPerCell;\r\n var length = null === items || void 0 === items ? void 0 : items.length;\r\n if (!length) {\r\n return\r\n }\r\n var map = [];\r\n for (var i = 0; i < length; i++) {\r\n var coordinates = this._getItemPosition(items[i]);\r\n if (coordinates.length && this.rtlEnabled) {\r\n coordinates = this._correctRtlCoordinates(coordinates)\r\n }\r\n coordinates.forEach(item => {\r\n item.leftVirtualCellCount = this.leftVirtualCellCount;\r\n item.topVirtualCellCount = this.topVirtualCellCount;\r\n item.leftVirtualWidth = this.leftVirtualCellCount * this.cellWidth;\r\n item.topVirtualHeight = this.topVirtualCellCount * this.cellHeight\r\n });\r\n map.push(coordinates)\r\n }\r\n var positionArray = this._getSortedPositions(map);\r\n var resultPositions = this._getResultPositions(positionArray);\r\n return this._getExtendedPositionMap(map, resultPositions)\r\n }\r\n _getDeltaWidth(args, initialSize) {\r\n var intervalWidth = this.resizableStep || this.getAppointmentMinSize();\r\n var initialWidth = initialSize.width;\r\n return Math.round((args.width - initialWidth) / intervalWidth)\r\n }\r\n _correctRtlCoordinates(coordinates) {\r\n var width = coordinates[0].width || this._getAppointmentMaxWidth();\r\n coordinates.forEach(coordinate => {\r\n if (!coordinate.appointmentReduced) {\r\n coordinate.left -= width\r\n }\r\n });\r\n return coordinates\r\n }\r\n _getAppointmentMaxWidth() {\r\n return this.cellWidth\r\n }\r\n _getItemPosition(appointment) {\r\n var position = this.generateAppointmentSettings(appointment);\r\n var allDay = this.isAllDay(appointment);\r\n var result = [];\r\n for (var j = 0; j < position.length; j++) {\r\n var height = this.calculateAppointmentHeight(appointment, position[j]);\r\n var width = this.calculateAppointmentWidth(appointment, position[j]);\r\n var resultWidth = width;\r\n var appointmentReduced = null;\r\n var multiWeekAppointmentParts = [];\r\n var initialRowIndex = position[j].rowIndex;\r\n var initialColumnIndex = position[j].columnIndex;\r\n if (this._needVerifyItemSize() || allDay) {\r\n var currentMaxAllowedPosition = position[j].hMax;\r\n if (this.isAppointmentGreaterThan(currentMaxAllowedPosition, {\r\n left: position[j].left,\r\n width: width\r\n })) {\r\n appointmentReduced = \"head\";\r\n initialRowIndex = position[j].rowIndex;\r\n initialColumnIndex = position[j].columnIndex;\r\n resultWidth = this._reduceMultiWeekAppointment(width, {\r\n left: position[j].left,\r\n right: currentMaxAllowedPosition\r\n });\r\n multiWeekAppointmentParts = this._getAppointmentParts({\r\n sourceAppointmentWidth: width,\r\n reducedWidth: resultWidth,\r\n height: height\r\n }, position[j]);\r\n if (this.rtlEnabled) {\r\n position[j].left = currentMaxAllowedPosition\r\n }\r\n }\r\n }\r\n extend(position[j], {\r\n height: height,\r\n width: resultWidth,\r\n allDay: allDay,\r\n rowIndex: initialRowIndex,\r\n columnIndex: initialColumnIndex,\r\n appointmentReduced: appointmentReduced\r\n });\r\n result = this._getAppointmentPartsPosition(multiWeekAppointmentParts, position[j], result)\r\n }\r\n return result\r\n }\r\n _getAppointmentPartsPosition(appointmentParts, position, result) {\r\n if (appointmentParts.length) {\r\n appointmentParts.unshift(position);\r\n result = result.concat(appointmentParts)\r\n } else {\r\n result.push(position)\r\n }\r\n return result\r\n }\r\n getAppointmentSettingsGenerator(rawAppointment) {\r\n return new AppointmentSettingsGenerator(_extends({\r\n rawAppointment: rawAppointment,\r\n appointmentTakesAllDay: this.isAppointmentTakesAllDay(rawAppointment),\r\n getPositionShiftCallback: this.getPositionShift.bind(this)\r\n }, this.options))\r\n }\r\n generateAppointmentSettings(rawAppointment) {\r\n return this.getAppointmentSettingsGenerator(rawAppointment).create()\r\n }\r\n isAppointmentTakesAllDay(rawAppointment) {\r\n var adapter = createAppointmentAdapter(rawAppointment, this.dataAccessors, this.timeZoneCalculator);\r\n return getAppointmentTakesAllDay(adapter, this.viewStartDayHour, this.viewEndDayHour, this.allDayPanelMode)\r\n }\r\n _getAppointmentParts(geometry, settings) {\r\n return []\r\n }\r\n _getCompactAppointmentParts(appointmentWidth) {\r\n var cellWidth = this.cellWidth || this.getAppointmentMinSize();\r\n return Math.round(appointmentWidth / cellWidth)\r\n }\r\n _reduceMultiWeekAppointment(sourceAppointmentWidth, bound) {\r\n if (this.rtlEnabled) {\r\n sourceAppointmentWidth = Math.floor(bound.left - bound.right)\r\n } else {\r\n sourceAppointmentWidth = bound.right - Math.floor(bound.left)\r\n }\r\n return sourceAppointmentWidth\r\n }\r\n calculateAppointmentHeight(appointment, position) {\r\n return 0\r\n }\r\n calculateAppointmentWidth(appointment, position) {\r\n return 0\r\n }\r\n isAppointmentGreaterThan(etalon, comparisonParameters) {\r\n var result = comparisonParameters.left + comparisonParameters.width - etalon;\r\n if (this.rtlEnabled) {\r\n result = etalon + comparisonParameters.width - comparisonParameters.left\r\n }\r\n return result > this.cellWidth / 2\r\n }\r\n isAllDay(appointment) {\r\n return false\r\n }\r\n cropAppointmentWidth(width, cellWidth) {\r\n return this.isGroupedByDate ? cellWidth : width\r\n }\r\n _getSortedPositions(positionList, skipSorting) {\r\n var result = [];\r\n var round = value => Math.round(100 * value) / 100;\r\n var createItem = (rowIndex, columnIndex, top, left, bottom, right, position, allDay) => ({\r\n i: rowIndex,\r\n j: columnIndex,\r\n top: round(top),\r\n left: round(left),\r\n bottom: round(bottom),\r\n right: round(right),\r\n cellPosition: position,\r\n allDay: allDay\r\n });\r\n for (var rowIndex = 0, rowCount = positionList.length; rowIndex < rowCount; rowIndex++) {\r\n for (var columnIndex = 0, cellCount = positionList[rowIndex].length; columnIndex < cellCount; columnIndex++) {\r\n var {\r\n top: top,\r\n left: left,\r\n height: height,\r\n width: width,\r\n cellPosition: cellPosition,\r\n allDay: allDay\r\n } = positionList[rowIndex][columnIndex];\r\n result.push(createItem(rowIndex, columnIndex, top, left, top + height, left + width, cellPosition, allDay))\r\n }\r\n }\r\n return result.sort((a, b) => this._sortCondition(a, b))\r\n }\r\n _sortCondition(a, b) {}\r\n _getConditions(a, b) {\r\n var isSomeEdge = this._isSomeEdge(a, b);\r\n return {\r\n columnCondition: isSomeEdge || this._normalizeCondition(a.left, b.left),\r\n rowCondition: isSomeEdge || this._normalizeCondition(a.top, b.top),\r\n cellPositionCondition: isSomeEdge || this._normalizeCondition(a.cellPosition, b.cellPosition)\r\n }\r\n }\r\n _rowCondition(a, b) {\r\n var conditions = this._getConditions(a, b);\r\n return conditions.columnCondition || conditions.rowCondition\r\n }\r\n _columnCondition(a, b) {\r\n var conditions = this._getConditions(a, b);\r\n return conditions.rowCondition || conditions.columnCondition\r\n }\r\n _isSomeEdge(a, b) {\r\n return a.i === b.i && a.j === b.j\r\n }\r\n _normalizeCondition(first, second) {\r\n var result = first - second;\r\n return Math.abs(result) > 1 ? result : 0\r\n }\r\n _isItemsCross(firstItem, secondItem) {\r\n var areItemsInTheSameTable = !!firstItem.allDay === !!secondItem.allDay;\r\n var areItemsAllDay = firstItem.allDay && secondItem.allDay;\r\n if (areItemsInTheSameTable) {\r\n var orientation = this._getOrientation(areItemsAllDay);\r\n return this._checkItemsCrossing(firstItem, secondItem, orientation)\r\n }\r\n return false\r\n }\r\n _checkItemsCrossing(firstItem, secondItem, orientation) {\r\n var firstItemSide1 = Math.floor(firstItem[orientation[0]]);\r\n var firstItemSide2 = Math.floor(firstItem[orientation[1]]);\r\n var secondItemSide1 = Math.ceil(secondItem[orientation[0]]);\r\n var secondItemSide2 = Math.ceil(secondItem[orientation[1]]);\r\n var isItemCross = Math.abs(firstItem[orientation[2]] - secondItem[orientation[2]]) <= 1;\r\n return isItemCross && (firstItemSide1 <= secondItemSide1 && firstItemSide2 > secondItemSide1 || firstItemSide1 < secondItemSide2 && firstItemSide2 >= secondItemSide2 || firstItemSide1 === secondItemSide1 && firstItemSide2 === secondItemSide2)\r\n }\r\n _getOrientation(isAllDay) {\r\n return isAllDay ? [\"left\", \"right\", \"top\"] : [\"top\", \"bottom\", \"left\"]\r\n }\r\n _getResultPositions(sortedArray) {\r\n var result = [];\r\n var i;\r\n var sortedIndex = 0;\r\n var currentItem;\r\n var indexes;\r\n var itemIndex;\r\n var maxIndexInStack = 0;\r\n var stack = {};\r\n var findFreeIndex = (indexes, index) => {\r\n var isFind = indexes.some(item => item === index);\r\n if (isFind) {\r\n return findFreeIndex(indexes, ++index)\r\n }\r\n return index\r\n };\r\n var createItem = (currentItem, index) => {\r\n var currentIndex = index || 0;\r\n return {\r\n index: currentIndex,\r\n i: currentItem.i,\r\n j: currentItem.j,\r\n left: currentItem.left,\r\n right: currentItem.right,\r\n top: currentItem.top,\r\n bottom: currentItem.bottom,\r\n allDay: currentItem.allDay,\r\n sortedIndex: this._skipSortedIndex(currentIndex) ? null : sortedIndex++\r\n }\r\n };\r\n var startNewStack = currentItem => {\r\n stack.items = [createItem(currentItem)];\r\n stack.left = currentItem.left;\r\n stack.right = currentItem.right;\r\n stack.top = currentItem.top;\r\n stack.bottom = currentItem.bottom;\r\n stack.allDay = currentItem.allDay\r\n };\r\n var pushItemsInResult = items => {\r\n items.forEach(item => {\r\n result.push({\r\n index: item.index,\r\n count: maxIndexInStack + 1,\r\n i: item.i,\r\n j: item.j,\r\n sortedIndex: item.sortedIndex\r\n })\r\n })\r\n };\r\n for (i = 0; i < sortedArray.length; i++) {\r\n currentItem = sortedArray[i];\r\n indexes = [];\r\n if (!stack.items) {\r\n startNewStack(currentItem)\r\n } else if (this._isItemsCross(stack, currentItem)) {\r\n stack.items.forEach(item => {\r\n if (this._isItemsCross(item, currentItem)) {\r\n indexes.push(item.index)\r\n }\r\n });\r\n itemIndex = indexes.length ? findFreeIndex(indexes, 0) : 0;\r\n stack.items.push(createItem(currentItem, itemIndex));\r\n maxIndexInStack = Math.max(itemIndex, maxIndexInStack);\r\n stack.left = Math.min(stack.left, currentItem.left);\r\n stack.right = Math.max(stack.right, currentItem.right);\r\n stack.top = Math.min(stack.top, currentItem.top);\r\n stack.bottom = Math.max(stack.bottom, currentItem.bottom);\r\n stack.allDay = currentItem.allDay\r\n } else {\r\n pushItemsInResult(stack.items);\r\n stack = {};\r\n startNewStack(currentItem);\r\n maxIndexInStack = 0\r\n }\r\n }\r\n if (stack.items) {\r\n pushItemsInResult(stack.items)\r\n }\r\n return result.sort((a, b) => {\r\n var columnCondition = a.j - b.j;\r\n var rowCondition = a.i - b.i;\r\n return rowCondition || columnCondition\r\n })\r\n }\r\n _skipSortedIndex(index) {\r\n return index > this._getMaxAppointmentCountPerCell() - 1\r\n }\r\n _findIndexByKey(arr, iKey, jKey, iValue, jValue) {\r\n var result = 0;\r\n for (var i = 0, len = arr.length; i < len; i++) {\r\n if (arr[i][iKey] === iValue && arr[i][jKey] === jValue) {\r\n result = i;\r\n break\r\n }\r\n }\r\n return result\r\n }\r\n _getExtendedPositionMap(map, positions) {\r\n var positionCounter = 0;\r\n var result = [];\r\n for (var i = 0, mapLength = map.length; i < mapLength; i++) {\r\n var resultString = [];\r\n for (var j = 0, itemLength = map[i].length; j < itemLength; j++) {\r\n map[i][j].index = positions[positionCounter].index;\r\n map[i][j].sortedIndex = positions[positionCounter].sortedIndex;\r\n map[i][j].count = positions[positionCounter++].count;\r\n resultString.push(map[i][j]);\r\n this._checkLongCompactAppointment(map[i][j], resultString)\r\n }\r\n result.push(resultString)\r\n }\r\n return result\r\n }\r\n _checkLongCompactAppointment(item, result) {\r\n this._splitLongCompactAppointment(item, result);\r\n return result\r\n }\r\n _splitLongCompactAppointment(item, result) {\r\n var appointmentCountPerCell = this._getMaxAppointmentCountPerCellByType(item.allDay);\r\n var compactCount = 0;\r\n if (void 0 !== appointmentCountPerCell && item.index > appointmentCountPerCell - 1) {\r\n item.isCompact = true;\r\n compactCount = this._getCompactAppointmentParts(item.width);\r\n for (var k = 1; k < compactCount; k++) {\r\n var compactPart = extend(true, {}, item);\r\n compactPart.left = this._getCompactLeftCoordinate(item.left, k);\r\n compactPart.columnIndex += k;\r\n compactPart.sortedIndex = null;\r\n result.push(compactPart)\r\n }\r\n }\r\n return result\r\n }\r\n _adjustDurationByDaylightDiff(duration, startDate, endDate) {\r\n var daylightDiff = timeZoneUtils.getDaylightOffset(startDate, endDate);\r\n return this._needAdjustDuration(daylightDiff) ? this._calculateDurationByDaylightDiff(duration, daylightDiff) : duration\r\n }\r\n _needAdjustDuration(diff) {\r\n return 0 !== diff\r\n }\r\n _calculateDurationByDaylightDiff(duration, diff) {\r\n return duration + diff * toMs(\"minute\")\r\n }\r\n _getCollectorLeftOffset(isAllDay) {\r\n if (isAllDay || !this.isApplyCompactAppointmentOffset()) {\r\n return 0\r\n }\r\n var dropDownButtonWidth = this.getDropDownAppointmentWidth(this.intervalCount, isAllDay);\r\n var rightOffset = this._isCompactTheme() ? COMPACT_THEME_WEEK_VIEW_COLLECTOR_OFFSET : WEEK_VIEW_COLLECTOR_OFFSET;\r\n return this.cellWidth - dropDownButtonWidth - rightOffset\r\n }\r\n _markAppointmentAsVirtual(coordinates) {\r\n var isAllDay = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : false;\r\n var countFullWidthAppointmentInCell = this._getMaxAppointmentCountPerCellByType(isAllDay);\r\n if (coordinates.count - countFullWidthAppointmentInCell > 0) {\r\n var {\r\n top: top,\r\n left: left\r\n } = coordinates;\r\n var compactRender = this.isAdaptive || !isAllDay && this.supportCompactDropDownAppointments();\r\n coordinates.virtual = {\r\n left: left + this._getCollectorLeftOffset(isAllDay),\r\n top: top,\r\n width: this.getDropDownAppointmentWidth(this.intervalCount, isAllDay),\r\n height: this.getDropDownAppointmentHeight(),\r\n index: this._generateAppointmentCollectorIndex(coordinates, isAllDay),\r\n isAllDay: isAllDay,\r\n groupIndex: coordinates.groupIndex,\r\n isCompact: compactRender\r\n }\r\n }\r\n }\r\n isApplyCompactAppointmentOffset() {\r\n return this.supportCompactDropDownAppointments()\r\n }\r\n supportCompactDropDownAppointments() {\r\n return true\r\n }\r\n _generateAppointmentCollectorIndex(_ref, isAllDay) {\r\n var {\r\n groupIndex: groupIndex,\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex\r\n } = _ref;\r\n return \"\".concat(groupIndex, \"-\").concat(rowIndex, \"-\").concat(columnIndex, \"-\").concat(isAllDay)\r\n }\r\n _getMaxAppointmentCountPerCellByType(isAllDay) {\r\n var appointmentCountPerCell = this._getMaxAppointmentCountPerCell();\r\n if (isObject(appointmentCountPerCell)) {\r\n return isAllDay ? appointmentCountPerCell.allDay : appointmentCountPerCell.simple\r\n }\r\n return appointmentCountPerCell\r\n }\r\n getDropDownAppointmentWidth(intervalCount, isAllDay) {\r\n return this.getPositioningStrategy().getDropDownAppointmentWidth(intervalCount, isAllDay)\r\n }\r\n getDropDownAppointmentHeight() {\r\n return this.getPositioningStrategy().getDropDownAppointmentHeight()\r\n }\r\n getDropDownButtonAdaptiveSize() {\r\n return DROP_DOWN_BUTTON_ADAPTIVE_SIZE\r\n }\r\n getCollectorTopOffset(allDay) {\r\n return this.getPositioningStrategy().getCollectorTopOffset(allDay)\r\n }\r\n getCollectorLeftOffset() {\r\n return this.getPositioningStrategy().getCollectorLeftOffset()\r\n }\r\n getAppointmentDataCalculator() {}\r\n getVerticalAppointmentHeight(cellHeight, currentAppointmentCountInCell, maxAppointmentsPerCell) {\r\n var resultMaxAppointmentsPerCell = maxAppointmentsPerCell;\r\n if (isNumeric(this.maxAppointmentsPerCell)) {\r\n var dynamicAppointmentCountPerCell = this._getDynamicAppointmentCountPerCell();\r\n var maxAppointmentCountDisplayedInCell = dynamicAppointmentCountPerCell.allDay || dynamicAppointmentCountPerCell;\r\n var maxAppointmentsCount = Math.max(currentAppointmentCountInCell, maxAppointmentCountDisplayedInCell);\r\n resultMaxAppointmentsPerCell = Math.min(maxAppointmentsCount, maxAppointmentsPerCell)\r\n }\r\n return cellHeight / resultMaxAppointmentsPerCell\r\n }\r\n _customizeCoordinates(coordinates, cellHeight, appointmentCountPerCell, topOffset, isAllDay) {\r\n var {\r\n index: index,\r\n count: count\r\n } = coordinates;\r\n var appointmentHeight = this.getVerticalAppointmentHeight(cellHeight, count, appointmentCountPerCell);\r\n var appointmentTop = coordinates.top + index * appointmentHeight;\r\n var top = appointmentTop + topOffset;\r\n var {\r\n width: width\r\n } = coordinates;\r\n var {\r\n left: left\r\n } = coordinates;\r\n if (coordinates.isCompact) {\r\n this.isAdaptive && this._correctCollectorCoordinatesInAdaptive(coordinates, isAllDay);\r\n this._markAppointmentAsVirtual(coordinates, isAllDay)\r\n }\r\n return {\r\n height: appointmentHeight,\r\n width: width,\r\n top: top,\r\n left: left,\r\n empty: this._isAppointmentEmpty(cellHeight, width)\r\n }\r\n }\r\n _isAppointmentEmpty(height, width) {\r\n return height < this._getAppointmentMinHeight() || width < this._getAppointmentMinWidth()\r\n }\r\n _calculateGeometryConfig(coordinates) {\r\n var overlappingMode = this.maxAppointmentsPerCell;\r\n var offsets = this._getOffsets();\r\n var appointmentDefaultOffset = this._getAppointmentDefaultOffset();\r\n var appointmentCountPerCell = this._getAppointmentCount(overlappingMode, coordinates);\r\n var ratio = this._getDefaultRatio(coordinates, appointmentCountPerCell);\r\n var maxHeight = this._getMaxHeight();\r\n if (!isNumeric(appointmentCountPerCell)) {\r\n appointmentCountPerCell = coordinates.count;\r\n ratio = (maxHeight - offsets.unlimited) / maxHeight\r\n }\r\n var topOffset = (1 - ratio) * maxHeight;\r\n if (\"auto\" === overlappingMode || isNumeric(overlappingMode)) {\r\n ratio = 1;\r\n maxHeight -= appointmentDefaultOffset;\r\n topOffset = appointmentDefaultOffset\r\n }\r\n return {\r\n height: ratio * maxHeight,\r\n appointmentCountPerCell: appointmentCountPerCell,\r\n offset: topOffset\r\n }\r\n }\r\n _getAppointmentCount(overlappingMode, coordinates) {}\r\n _getDefaultRatio(coordinates, appointmentCountPerCell) {}\r\n _getOffsets() {}\r\n _getMaxHeight() {}\r\n _needVerifyItemSize() {\r\n return false\r\n }\r\n _getMaxAppointmentCountPerCell() {\r\n if (!this._maxAppointmentCountPerCell) {\r\n var overlappingMode = this.maxAppointmentsPerCell;\r\n var appointmentCountPerCell;\r\n if (isNumeric(overlappingMode)) {\r\n appointmentCountPerCell = overlappingMode\r\n }\r\n if (\"auto\" === overlappingMode) {\r\n appointmentCountPerCell = this._getDynamicAppointmentCountPerCell()\r\n }\r\n if (\"unlimited\" === overlappingMode) {\r\n appointmentCountPerCell = void 0\r\n }\r\n this._maxAppointmentCountPerCell = appointmentCountPerCell\r\n }\r\n return this._maxAppointmentCountPerCell\r\n }\r\n _getDynamicAppointmentCountPerCell() {\r\n return this.getPositioningStrategy().getDynamicAppointmentCountPerCell()\r\n }\r\n allDaySupported() {\r\n return false\r\n }\r\n _isCompactTheme() {\r\n return \"compact\" === (currentTheme() || \"\").split(\".\").pop()\r\n }\r\n _getAppointmentDefaultOffset() {\r\n return this.getPositioningStrategy().getAppointmentDefaultOffset()\r\n }\r\n _getAppointmentDefaultHeight() {\r\n return this._getAppointmentHeightByTheme()\r\n }\r\n _getAppointmentMinHeight() {\r\n return this._getAppointmentDefaultHeight()\r\n }\r\n _getAppointmentHeightByTheme() {\r\n return this._isCompactTheme() ? COMPACT_THEME_APPOINTMENT_DEFAULT_HEIGHT : APPOINTMENT_DEFAULT_HEIGHT\r\n }\r\n _getAppointmentDefaultWidth() {\r\n return this.getPositioningStrategy()._getAppointmentDefaultWidth()\r\n }\r\n _getAppointmentMinWidth() {\r\n return this._getAppointmentDefaultWidth()\r\n }\r\n _needVerticalGroupBounds(allDay) {\r\n return false\r\n }\r\n _needHorizontalGroupBounds() {\r\n return false\r\n }\r\n getAppointmentDurationInMs(apptStartDate, apptEndDate, allDay) {\r\n if (allDay) {\r\n var appointmentDuration = apptEndDate.getTime() - apptStartDate.getTime();\r\n var ceilQuantityOfDays = Math.ceil(appointmentDuration / toMs(\"day\"));\r\n return ceilQuantityOfDays * this.visibleDayDuration\r\n }\r\n var msInHour = toMs(\"hour\");\r\n var trimmedStartDate = dateUtils.trimTime(apptStartDate);\r\n var trimmedEndDate = dateUtils.trimTime(apptEndDate);\r\n var deltaDate = trimmedEndDate - trimmedStartDate;\r\n var quantityOfDays = deltaDate / toMs(\"day\") + 1;\r\n var dayVisibleHours = this.endDayHour - this.startDayHour;\r\n var appointmentDayHours = dayVisibleHours * quantityOfDays;\r\n var startHours = (apptStartDate - trimmedStartDate) / msInHour;\r\n var apptStartDelta = Math.max(0, startHours - this.startDayHour);\r\n var endHours = Math.max(0, (apptEndDate - trimmedEndDate) / msInHour - this.startDayHour);\r\n var apptEndDelta = Math.max(0, dayVisibleHours - endHours);\r\n var result = (appointmentDayHours - (apptStartDelta + apptEndDelta)) * msInHour;\r\n return result\r\n }\r\n getPositionShift(timeShift, isAllDay) {\r\n return {\r\n top: timeShift * this.cellHeight,\r\n left: 0,\r\n cellPosition: 0\r\n }\r\n }\r\n}\r\nexport default BaseRenderingStrategy;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/appointments/rendering_strategies/m_strategy_agenda.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dateUtils from \"../../../../core/utils/date\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n createAppointmentAdapter\r\n} from \"../../m_appointment_adapter\";\r\nimport {\r\n ExpressionUtils\r\n} from \"../../m_expression_utils\";\r\nimport {\r\n groupAppointmentsByResources\r\n} from \"../../resources/m_utils\";\r\nimport {\r\n getAppointmentTakesSeveralDays,\r\n replaceWrongEndDate\r\n} from \"../data_provider/m_utils\";\r\nimport BaseRenderingStrategy from \"./m_strategy_base\";\r\nclass AgendaRenderingStrategy extends BaseRenderingStrategy {\r\n get instance() {\r\n return this.options.instance\r\n }\r\n get agendaDuration() {\r\n return this.options.agendaDuration\r\n }\r\n getAppointmentMinSize() {}\r\n getDeltaTime() {}\r\n keepAppointmentSettings() {\r\n return true\r\n }\r\n getAppointmentGeometry(geometry) {\r\n return geometry\r\n }\r\n groupAppointmentByResources(appointments) {\r\n var groups = this.instance._getCurrentViewOption(\"groups\");\r\n var config = {\r\n loadedResources: this.options.loadedResources,\r\n resources: this.options.resources,\r\n dataAccessors: this.dataAccessors.resources\r\n };\r\n return groupAppointmentsByResources(config, appointments, groups)\r\n }\r\n createTaskPositionMap(appointments) {\r\n var height;\r\n var appointmentsByResources;\r\n this.calculateRows(appointments, this.agendaDuration, this.currentDate);\r\n if (appointments.length) {\r\n height = this.instance.fire(\"getAgendaVerticalStepHeight\");\r\n appointmentsByResources = this.groupAppointmentByResources(appointments);\r\n var groupedAppts = [];\r\n each(appointmentsByResources, (i, appts) => {\r\n var additionalAppointments = [];\r\n var recurrentIndexes = [];\r\n each(appts, (index, appointment) => {\r\n var recurrenceBatch = this.instance.getAppointmentsInstance()._processRecurrenceAppointment(appointment, index);\r\n var appointmentBatch = null;\r\n if (!recurrenceBatch.indexes.length) {\r\n appointmentBatch = this.instance.getAppointmentsInstance()._processLongAppointment(appointment);\r\n additionalAppointments = additionalAppointments.concat(appointmentBatch.parts)\r\n }\r\n additionalAppointments = additionalAppointments.concat(recurrenceBatch.parts);\r\n recurrentIndexes = recurrentIndexes.concat(recurrenceBatch.indexes)\r\n });\r\n this.instance.getAppointmentsInstance()._reduceRecurrenceAppointments(recurrentIndexes, appts);\r\n this.instance.getAppointmentsInstance()._combineAppointments(appts, additionalAppointments);\r\n groupedAppts = groupedAppts.concat(appts)\r\n });\r\n Array.prototype.splice.apply(appointments, [0, appointments.length].concat(groupedAppts))\r\n }\r\n var result = [];\r\n var sortedIndex = 0;\r\n appointments.forEach((appt, index) => {\r\n result.push([{\r\n height: height,\r\n width: \"100%\",\r\n sortedIndex: sortedIndex++,\r\n groupIndex: this._calculateGroupIndex(index, appointmentsByResources),\r\n agendaSettings: appt.settings\r\n }]);\r\n delete appt.settings\r\n });\r\n return result\r\n }\r\n _calculateGroupIndex(apptIndex, appointmentsByResources) {\r\n var resultInd;\r\n var counter = 0;\r\n for (var i in appointmentsByResources) {\r\n var countApptInGroup = appointmentsByResources[i].length;\r\n if (apptIndex >= counter && apptIndex < counter + countApptInGroup) {\r\n resultInd = Number(i);\r\n break\r\n }\r\n counter += countApptInGroup\r\n }\r\n return resultInd\r\n }\r\n _getDeltaWidth(args, initialSize) {}\r\n _getAppointmentMaxWidth() {\r\n return this.cellWidth\r\n }\r\n _needVerifyItemSize() {\r\n return false\r\n }\r\n _getAppointmentParts(geometry, settings) {}\r\n _reduceMultiWeekAppointment() {}\r\n calculateAppointmentHeight() {\r\n return 0\r\n }\r\n calculateAppointmentWidth() {\r\n return 0\r\n }\r\n isAppointmentGreaterThan(etalon, comparisonParameters) {}\r\n isAllDay() {\r\n return false\r\n }\r\n _sortCondition() {}\r\n _rowCondition(a, b) {}\r\n _columnCondition(a, b) {}\r\n _findIndexByKey(arr, iKey, jKey, iValue, jValue) {}\r\n _markAppointmentAsVirtual() {}\r\n getDropDownAppointmentWidth() {}\r\n getCollectorLeftOffset() {}\r\n getCollectorTopOffset() {}\r\n replaceWrongAppointmentEndDate(rawAppointment, startDate, endDate) {\r\n var adapter = createAppointmentAdapter(rawAppointment, this.dataAccessors, this.timeZoneCalculator);\r\n replaceWrongEndDate(adapter, startDate, endDate, this.cellDuration, this.dataAccessors)\r\n }\r\n calculateRows(appointments, agendaDuration, currentDate, needClearSettings) {\r\n this._rows = [];\r\n currentDate = dateUtils.trimTime(new Date(currentDate));\r\n var groupedAppointments = this.groupAppointmentByResources(appointments);\r\n each(groupedAppointments, (_, currentAppointments) => {\r\n var groupResult = [];\r\n var appts = {\r\n indexes: [],\r\n parts: []\r\n };\r\n if (!currentAppointments.length) {\r\n this._rows.push([]);\r\n return true\r\n }\r\n each(currentAppointments, (index, appointment) => {\r\n var startDate = ExpressionUtils.getField(this.dataAccessors, \"startDate\", appointment);\r\n var endDate = ExpressionUtils.getField(this.dataAccessors, \"endDate\", appointment);\r\n this.replaceWrongAppointmentEndDate(appointment, startDate, endDate);\r\n needClearSettings && delete appointment.settings;\r\n var result = this.instance.getAppointmentsInstance()._processRecurrenceAppointment(appointment, index, false);\r\n appts.parts = appts.parts.concat(result.parts);\r\n appts.indexes = appts.indexes.concat(result.indexes)\r\n });\r\n this.instance.getAppointmentsInstance()._reduceRecurrenceAppointments(appts.indexes, currentAppointments);\r\n currentAppointments.push(...appts.parts);\r\n var appointmentCount = currentAppointments.length;\r\n for (var i = 0; i < agendaDuration; i++) {\r\n var day = new Date(currentDate);\r\n day.setMilliseconds(day.getMilliseconds() + 864e5 * i);\r\n if (void 0 === groupResult[i]) {\r\n groupResult[i] = 0\r\n }\r\n for (var j = 0; j < appointmentCount; j++) {\r\n var appointmentData = currentAppointments[j].settings || currentAppointments[j];\r\n var adapter = createAppointmentAdapter(currentAppointments[j], this.dataAccessors, this.timeZoneCalculator);\r\n var appointmentIsLong = getAppointmentTakesSeveralDays(adapter);\r\n var appointmentIsRecurrence = ExpressionUtils.getField(this.dataAccessors, \"recurrenceRule\", currentAppointments[j]);\r\n if (this.instance.fire(\"dayHasAppointment\", day, appointmentData, true) || !appointmentIsRecurrence && appointmentIsLong && this.instance.fire(\"dayHasAppointment\", day, currentAppointments[j], true)) {\r\n groupResult[i] += 1\r\n }\r\n }\r\n }\r\n this._rows.push(groupResult)\r\n });\r\n return this._rows\r\n }\r\n _iterateRow(row, obj, index) {\r\n for (var i = 0; i < row.length; i++) {\r\n obj.counter += row[i];\r\n if (obj.counter >= index) {\r\n obj.indexInRow = i;\r\n break\r\n }\r\n }\r\n }\r\n getDateByIndex(index, rows, startViewDate) {\r\n var obj = {\r\n counter: 0,\r\n indexInRow: 0\r\n };\r\n index++;\r\n for (var i = 0; i < rows.length; i++) {\r\n this._iterateRow(rows[i], obj, index);\r\n if (obj.indexInRow) {\r\n break\r\n }\r\n }\r\n return new Date(new Date(startViewDate).setDate(startViewDate.getDate() + obj.indexInRow))\r\n }\r\n getAppointmentDataCalculator() {\r\n return ($appointment, originalStartDate) => {\r\n var apptIndex = $appointment.index();\r\n var startViewDate = this.instance.getStartViewDate();\r\n var calculatedStartDate = this.getDateByIndex(apptIndex, this._rows, startViewDate);\r\n var wrappedOriginalStartDate = new Date(originalStartDate);\r\n return {\r\n startDate: new Date(calculatedStartDate.setHours(wrappedOriginalStartDate.getHours(), wrappedOriginalStartDate.getMinutes(), wrappedOriginalStartDate.getSeconds(), wrappedOriginalStartDate.getMilliseconds()))\r\n }\r\n }\r\n }\r\n}\r\nexport default AgendaRenderingStrategy;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/view_model/appointments/utils/getSkippedHoursInRange.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dateUtils from \"../../../../../../core/utils/date\";\r\nvar getSkippedHoursInRange = (startDate, endDate, viewDataProvider) => {\r\n var msInHour = dateUtils.dateToMilliseconds(\"hour\");\r\n var startTime = dateUtils.trimTime(startDate).getTime();\r\n var endTime = dateUtils.setToDayEnd(new Date(endDate.getTime() - 1)).getTime();\r\n var allDayIntervalDuration = 24 * msInHour;\r\n var excludedHours = 0;\r\n for (var time = startTime; time < endTime; time += allDayIntervalDuration) {\r\n var checkDate = new Date(time);\r\n if (viewDataProvider.isSkippedDate(checkDate)) {\r\n excludedHours += 24\r\n }\r\n }\r\n return excludedHours\r\n};\r\nexport default getSkippedHoursInRange;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/appointments/rendering_strategies/m_strategy_horizontal.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dateUtils from \"../../../../core/utils/date\";\r\nimport getSkippedHoursInRange from \"../../../../renovation/ui/scheduler/view_model/appointments/utils/getSkippedHoursInRange\";\r\nimport {\r\n ExpressionUtils\r\n} from \"../../m_expression_utils\";\r\nimport BaseAppointmentsStrategy from \"./m_strategy_base\";\r\nvar DEFAULT_APPOINTMENT_HEIGHT = 60;\r\nvar MIN_APPOINTMENT_HEIGHT = 35;\r\nvar DROP_DOWN_BUTTON_OFFSET = 2;\r\nvar toMs = dateUtils.dateToMilliseconds;\r\nclass HorizontalRenderingStrategy extends BaseAppointmentsStrategy {\r\n _needVerifyItemSize() {\r\n return true\r\n }\r\n calculateAppointmentWidth(appointment, position) {\r\n var cellWidth = this.cellWidth || this.getAppointmentMinSize();\r\n var allDay = ExpressionUtils.getField(this.dataAccessors, \"allDay\", appointment);\r\n var {\r\n startDate: startDate\r\n } = position.info.appointment;\r\n var {\r\n endDate: endDate\r\n } = position.info.appointment;\r\n var {\r\n normalizedEndDate: normalizedEndDate\r\n } = position.info.appointment;\r\n var duration = this.getAppointmentDurationInMs(startDate, normalizedEndDate, allDay);\r\n duration = this._adjustDurationByDaylightDiff(duration, startDate, normalizedEndDate);\r\n var cellDuration = this.cellDurationInMinutes * toMs(\"minute\");\r\n var skippedHours = getSkippedHoursInRange(startDate, endDate, this.viewDataProvider);\r\n var durationInCells = (duration - skippedHours * toMs(\"hour\")) / cellDuration;\r\n var width = this.cropAppointmentWidth(durationInCells * cellWidth, cellWidth);\r\n return width\r\n }\r\n _needAdjustDuration(diff) {\r\n return diff < 0\r\n }\r\n getAppointmentGeometry(coordinates) {\r\n var result = this._customizeAppointmentGeometry(coordinates);\r\n return super.getAppointmentGeometry(result)\r\n }\r\n _customizeAppointmentGeometry(coordinates) {\r\n var config = this._calculateGeometryConfig(coordinates);\r\n return this._customizeCoordinates(coordinates, config.height, config.appointmentCountPerCell, config.offset)\r\n }\r\n _getOffsets() {\r\n return {\r\n unlimited: 0,\r\n auto: 0\r\n }\r\n }\r\n _getCompactLeftCoordinate(itemLeft, index) {\r\n var cellWidth = this.cellWidth || this.getAppointmentMinSize();\r\n return itemLeft + cellWidth * index\r\n }\r\n _getMaxHeight() {\r\n return this.cellHeight || this.getAppointmentMinSize()\r\n }\r\n _getAppointmentCount(overlappingMode, coordinates) {\r\n return this._getMaxAppointmentCountPerCellByType(false)\r\n }\r\n _getAppointmentDefaultHeight() {\r\n return DEFAULT_APPOINTMENT_HEIGHT\r\n }\r\n _getAppointmentMinHeight() {\r\n return MIN_APPOINTMENT_HEIGHT\r\n }\r\n _sortCondition(a, b) {\r\n return this._columnCondition(a, b)\r\n }\r\n _getOrientation() {\r\n return [\"left\", \"right\", \"top\"]\r\n }\r\n getDropDownAppointmentWidth(intervalCount, isAllDay) {\r\n return this.cellWidth - 2 * DROP_DOWN_BUTTON_OFFSET\r\n }\r\n getDeltaTime(args, initialSize) {\r\n var deltaTime;\r\n var deltaWidth = args.width - initialSize.width;\r\n deltaTime = toMs(\"minute\") * Math.round(deltaWidth / this.cellWidth * this.cellDurationInMinutes);\r\n return deltaTime\r\n }\r\n isAllDay(appointmentData) {\r\n return ExpressionUtils.getField(this.dataAccessors, \"allDay\", appointmentData)\r\n }\r\n _isItemsCross(firstItem, secondItem) {\r\n var orientation = this._getOrientation();\r\n return this._checkItemsCrossing(firstItem, secondItem, orientation)\r\n }\r\n getPositionShift(timeShift) {\r\n var positionShift = super.getPositionShift(timeShift);\r\n var left = this.cellWidth * timeShift;\r\n if (this.rtlEnabled) {\r\n left *= -1\r\n }\r\n left += positionShift.left;\r\n return {\r\n top: 0,\r\n left: left,\r\n cellPosition: left\r\n }\r\n }\r\n supportCompactDropDownAppointments() {\r\n return false\r\n }\r\n}\r\nexport default HorizontalRenderingStrategy;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/workspaces/helpers/m_position_helper.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar getCellSize = DOMMetaData => {\r\n var {\r\n dateTableCellsMeta: dateTableCellsMeta\r\n } = DOMMetaData;\r\n var length = null === dateTableCellsMeta || void 0 === dateTableCellsMeta ? void 0 : dateTableCellsMeta.length;\r\n if (!length) {\r\n return {\r\n width: 0,\r\n height: 0\r\n }\r\n }\r\n var cellIndex = length > 1 ? 1 : 0;\r\n var cellSize = dateTableCellsMeta[cellIndex][0];\r\n return {\r\n width: cellSize.width,\r\n height: cellSize.height\r\n }\r\n};\r\nvar getMaxAllowedHorizontalPosition = (groupIndex, viewDataProvider, rtlEnabled, DOMMetaData) => {\r\n var {\r\n dateTableCellsMeta: dateTableCellsMeta\r\n } = DOMMetaData;\r\n var firstRow = dateTableCellsMeta[0];\r\n if (!firstRow) {\r\n return 0\r\n }\r\n var {\r\n columnIndex: columnIndex\r\n } = viewDataProvider.getLastGroupCellPosition(groupIndex);\r\n var cellPosition = firstRow[columnIndex];\r\n if (!cellPosition) {\r\n return 0\r\n }\r\n return !rtlEnabled ? cellPosition.left + cellPosition.width : cellPosition.left\r\n};\r\nexport var getCellHeight = DOMMetaData => getCellSize(DOMMetaData).height;\r\nexport var getCellWidth = DOMMetaData => getCellSize(DOMMetaData).width;\r\nexport var getAllDayHeight = (showAllDayPanel, isVerticalGrouping, DOMMetaData) => {\r\n if (!showAllDayPanel) {\r\n return 0\r\n }\r\n if (isVerticalGrouping) {\r\n var {\r\n dateTableCellsMeta: dateTableCellsMeta\r\n } = DOMMetaData;\r\n var length = null === dateTableCellsMeta || void 0 === dateTableCellsMeta ? void 0 : dateTableCellsMeta.length;\r\n return length ? dateTableCellsMeta[0][0].height : 0\r\n }\r\n var {\r\n allDayPanelCellsMeta: allDayPanelCellsMeta\r\n } = DOMMetaData;\r\n return (null === allDayPanelCellsMeta || void 0 === allDayPanelCellsMeta ? void 0 : allDayPanelCellsMeta.length) ? allDayPanelCellsMeta[0].height : 0\r\n};\r\nexport var getMaxAllowedPosition = (groupIndex, viewDataProvider, rtlEnabled, DOMMetaData) => {\r\n var validGroupIndex = groupIndex || 0;\r\n return getMaxAllowedHorizontalPosition(validGroupIndex, viewDataProvider, rtlEnabled, DOMMetaData)\r\n};\r\nexport var getGroupWidth = (groupIndex, viewDataProvider, options) => {\r\n var {\r\n isVirtualScrolling: isVirtualScrolling,\r\n rtlEnabled: rtlEnabled,\r\n DOMMetaData: DOMMetaData\r\n } = options;\r\n var cellWidth = getCellWidth(DOMMetaData);\r\n var result = viewDataProvider.getCellCount(options) * cellWidth;\r\n if (isVirtualScrolling) {\r\n var groupedData = viewDataProvider.groupedDataMap.dateTableGroupedMap;\r\n var groupLength = groupedData[groupIndex][0].length;\r\n result = groupLength * cellWidth\r\n }\r\n var position = getMaxAllowedPosition(groupIndex, viewDataProvider, rtlEnabled, DOMMetaData);\r\n var currentPosition = position[groupIndex];\r\n if (currentPosition) {\r\n if (rtlEnabled) {\r\n result = currentPosition - position[groupIndex + 1]\r\n } else if (0 === groupIndex) {\r\n result = currentPosition\r\n } else {\r\n result = currentPosition - position[groupIndex - 1]\r\n }\r\n }\r\n return result\r\n};\r\nexport class PositionHelper {\r\n constructor(options) {\r\n this.options = options;\r\n this.groupStrategy = this.options.isVerticalGrouping ? new GroupStrategyBase(this.options) : new GroupStrategyHorizontal(this.options)\r\n }\r\n get viewDataProvider() {\r\n return this.options.viewDataProvider\r\n }\r\n get rtlEnabled() {\r\n return this.options.rtlEnabled\r\n }\r\n get isGroupedByDate() {\r\n return this.options.isGroupedByDate\r\n }\r\n get groupCount() {\r\n return this.options.groupCount\r\n }\r\n get DOMMetaData() {\r\n return this.options.getDOMMetaDataCallback()\r\n }\r\n getHorizontalMax(groupIndex) {\r\n var getMaxPosition = groupIndex => getMaxAllowedPosition(groupIndex, this.viewDataProvider, this.rtlEnabled, this.DOMMetaData);\r\n if (this.isGroupedByDate) {\r\n var viewPortGroupCount = this.viewDataProvider.getViewPortGroupCount();\r\n return Math.max(getMaxPosition(groupIndex), getMaxPosition(viewPortGroupCount - 1))\r\n }\r\n return getMaxPosition(groupIndex)\r\n }\r\n getResizableStep() {\r\n var cellWidth = getCellWidth(this.DOMMetaData);\r\n if (this.isGroupedByDate) {\r\n return this.groupCount * cellWidth\r\n }\r\n return cellWidth\r\n }\r\n getVerticalMax(options) {\r\n return this.groupStrategy.getVerticalMax(options)\r\n }\r\n getOffsetByAllDayPanel(options) {\r\n return this.groupStrategy.getOffsetByAllDayPanel(options)\r\n }\r\n getGroupTop(options) {\r\n return this.groupStrategy.getGroupTop(options)\r\n }\r\n}\r\nclass GroupStrategyBase {\r\n constructor(options) {\r\n this.options = options\r\n }\r\n get viewDataProvider() {\r\n return this.options.viewDataProvider\r\n }\r\n get isGroupedByDate() {\r\n return this.options.isGroupedByDate\r\n }\r\n get rtlEnabled() {\r\n return this.options.rtlEnabled\r\n }\r\n get groupCount() {\r\n return this.options.groupCount\r\n }\r\n get DOMMetaData() {\r\n return this.options.getDOMMetaDataCallback()\r\n }\r\n getOffsetByAllDayPanel(_ref) {\r\n var {\r\n groupIndex: groupIndex,\r\n supportAllDayRow: supportAllDayRow,\r\n showAllDayPanel: showAllDayPanel\r\n } = _ref;\r\n var result = 0;\r\n if (supportAllDayRow && showAllDayPanel) {\r\n var allDayPanelHeight = getAllDayHeight(showAllDayPanel, true, this.DOMMetaData);\r\n result = allDayPanelHeight * (groupIndex + 1)\r\n }\r\n return result\r\n }\r\n getVerticalMax(options) {\r\n var maxAllowedPosition = this._getMaxAllowedVerticalPosition(_extends(_extends({}, options), {\r\n viewDataProvider: this.viewDataProvider,\r\n rtlEnabled: this.rtlEnabled,\r\n DOMMetaData: this.DOMMetaData\r\n }));\r\n maxAllowedPosition += this.getOffsetByAllDayPanel(options);\r\n return maxAllowedPosition\r\n }\r\n getGroupTop(_ref2) {\r\n var {\r\n groupIndex: groupIndex,\r\n showAllDayPanel: showAllDayPanel,\r\n isGroupedAllDayPanel: isGroupedAllDayPanel\r\n } = _ref2;\r\n var rowCount = this.viewDataProvider.getRowCountInGroup(groupIndex);\r\n var maxVerticalPosition = this._getMaxAllowedVerticalPosition({\r\n groupIndex: groupIndex,\r\n viewDataProvider: this.viewDataProvider,\r\n showAllDayPanel: showAllDayPanel,\r\n isGroupedAllDayPanel: isGroupedAllDayPanel,\r\n isVerticalGrouping: true,\r\n DOMMetaData: this.DOMMetaData\r\n });\r\n return maxVerticalPosition - getCellHeight(this.DOMMetaData) * rowCount\r\n }\r\n _getAllDayHeight(showAllDayPanel) {\r\n return getAllDayHeight(showAllDayPanel, true, this.DOMMetaData)\r\n }\r\n _getMaxAllowedVerticalPosition(_ref3) {\r\n var {\r\n groupIndex: groupIndex,\r\n showAllDayPanel: showAllDayPanel,\r\n isGroupedAllDayPanel: isGroupedAllDayPanel\r\n } = _ref3;\r\n var {\r\n rowIndex: rowIndex\r\n } = this.viewDataProvider.getLastGroupCellPosition(groupIndex);\r\n var {\r\n dateTableCellsMeta: dateTableCellsMeta\r\n } = this.DOMMetaData;\r\n var lastGroupRow = dateTableCellsMeta[rowIndex];\r\n if (!lastGroupRow) {\r\n return 0\r\n }\r\n var result = lastGroupRow[0].top + lastGroupRow[0].height;\r\n if (isGroupedAllDayPanel) {\r\n result -= (groupIndex + 1) * this._getAllDayHeight(showAllDayPanel)\r\n }\r\n return result\r\n }\r\n}\r\nclass GroupStrategyHorizontal extends GroupStrategyBase {\r\n getOffsetByAllDayPanel() {\r\n return 0\r\n }\r\n getVerticalMax(options) {\r\n var {\r\n isVirtualScrolling: isVirtualScrolling,\r\n groupIndex: groupIndex\r\n } = options;\r\n var correctedGroupIndex = isVirtualScrolling ? groupIndex : 0;\r\n return this._getMaxAllowedVerticalPosition(_extends(_extends({}, options), {\r\n groupIndex: correctedGroupIndex\r\n }))\r\n }\r\n getGroupTop() {\r\n return 0\r\n }\r\n _getAllDayHeight(showAllDayPanel) {\r\n return getAllDayHeight(showAllDayPanel, false, this.DOMMetaData)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/appointments/rendering_strategies/m_strategy_horizontal_month_line.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dateUtils from \"../../../../core/utils/date\";\r\nimport query from \"../../../../data/query\";\r\nimport {\r\n sortAppointmentsByStartDate\r\n} from \"../data_provider/m_utils\";\r\nimport HorizontalAppointmentsStrategy from \"./m_strategy_horizontal\";\r\nvar HOURS_IN_DAY = 24;\r\nvar MINUTES_IN_HOUR = 60;\r\nvar MILLISECONDS_IN_MINUTE = 6e4;\r\nvar ZERO_APPOINTMENT_DURATION_IN_DAYS = 1;\r\nclass HorizontalMonthLineRenderingStrategy extends HorizontalAppointmentsStrategy {\r\n calculateAppointmentWidth(appointment, position) {\r\n var startDate = dateUtils.trimTime(position.info.appointment.startDate);\r\n var {\r\n normalizedEndDate: normalizedEndDate\r\n } = position.info.appointment;\r\n var cellWidth = this.cellWidth || this.getAppointmentMinSize();\r\n var duration = Math.ceil(this._getDurationInDays(startDate, normalizedEndDate));\r\n var width = this.cropAppointmentWidth(duration * cellWidth, cellWidth);\r\n if (this.isVirtualScrolling) {\r\n var skippedDays = this.viewDataProvider.getSkippedDaysCount(position.groupIndex, startDate, normalizedEndDate, duration);\r\n width -= skippedDays * cellWidth\r\n }\r\n return width\r\n }\r\n _getDurationInDays(startDate, endDate) {\r\n var adjustedDuration = this._adjustDurationByDaylightDiff(endDate.getTime() - startDate.getTime(), startDate, endDate);\r\n return adjustedDuration / dateUtils.dateToMilliseconds(\"day\") || ZERO_APPOINTMENT_DURATION_IN_DAYS\r\n }\r\n getDeltaTime(args, initialSize) {\r\n return HOURS_IN_DAY * MINUTES_IN_HOUR * MILLISECONDS_IN_MINUTE * this._getDeltaWidth(args, initialSize)\r\n }\r\n isAllDay() {\r\n return false\r\n }\r\n createTaskPositionMap(items, skipSorting) {\r\n if (!skipSorting) {\r\n sortAppointmentsByStartDate(items, this.dataAccessors)\r\n }\r\n return super.createTaskPositionMap(items)\r\n }\r\n _getSortedPositions(map, skipSorting) {\r\n var result = super._getSortedPositions(map);\r\n if (!skipSorting) {\r\n result = query(result).sortBy(\"top\").thenBy(\"left\").thenBy(\"cellPosition\").thenBy(\"i\").toArray()\r\n }\r\n return result\r\n }\r\n needCorrectAppointmentDates() {\r\n return false\r\n }\r\n getPositionShift(timeShift) {\r\n return {\r\n top: 0,\r\n left: 0,\r\n cellPosition: 0\r\n }\r\n }\r\n}\r\nexport default HorizontalMonthLineRenderingStrategy;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/appointments/rendering_strategies/m_strategy_horizontal_month.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport dateUtils from \"../../../../core/utils/date\";\r\nimport {\r\n getGroupWidth\r\n} from \"../../workspaces/helpers/m_position_helper\";\r\nimport HorizontalMonthLineRenderingStrategy from \"./m_strategy_horizontal_month_line\";\r\nvar MONTH_APPOINTMENT_HEIGHT_RATIO = .6;\r\nvar MONTH_APPOINTMENT_MIN_OFFSET = 26;\r\nvar MONTH_APPOINTMENT_MAX_OFFSET = 30;\r\nvar MONTH_DROPDOWN_APPOINTMENT_MIN_RIGHT_OFFSET = 36;\r\nvar MONTH_DROPDOWN_APPOINTMENT_MAX_RIGHT_OFFSET = 60;\r\nvar toMs = dateUtils.dateToMilliseconds;\r\nclass HorizontalMonthRenderingStrategy extends HorizontalMonthLineRenderingStrategy {\r\n get endViewDate() {\r\n return this.options.endViewDate\r\n }\r\n get adaptivityEnabled() {\r\n return this.options.adaptivityEnabled\r\n }\r\n get DOMMetaData() {\r\n return this.options.DOMMetaData\r\n }\r\n _getLeftPosition(settings) {\r\n var fullWeekAppointmentWidth = this.getGroupWidth(settings.groupIndex);\r\n return this._calculateMultiWeekAppointmentLeftOffset(settings.hMax, fullWeekAppointmentWidth)\r\n }\r\n _getChunkCount(fullChunksWidth, firstChunkWidth, weekWidth, settings) {\r\n var {\r\n groupIndex: groupIndex,\r\n info: {\r\n appointment: {\r\n startDate: startDate\r\n }\r\n }\r\n } = settings;\r\n var rawFullChunksWidth = fullChunksWidth - firstChunkWidth + weekWidth;\r\n var allChunksCount = Math.ceil(rawFullChunksWidth / weekWidth);\r\n var viewRowIndex = this._tryGetRowIndexInView(startDate);\r\n if (void 0 !== viewRowIndex) {\r\n var viewChunksCount = this.viewDataProvider.getRowCountInGroup(groupIndex);\r\n var allowedChunksCount = viewChunksCount - viewRowIndex;\r\n return allChunksCount <= allowedChunksCount ? allChunksCount : allowedChunksCount\r\n }\r\n return allChunksCount\r\n }\r\n _tryGetRowIndexInView(positionStartDate) {\r\n var _a;\r\n var columnsCount = this.viewDataProvider.getColumnsCount();\r\n if ((null === (_a = this.options.dataRange) || void 0 === _a ? void 0 : _a.length) < 1 || !columnsCount) {\r\n return\r\n }\r\n var [startViewDate] = this.options.dateRange;\r\n var dayDurationMs = toMs(\"day\");\r\n var timeFromStart = positionStartDate.getTime() - startViewDate.getTime();\r\n return Math.floor(timeFromStart / dayDurationMs / columnsCount)\r\n }\r\n _getChunkWidths(geometry, settings, weekWidth) {\r\n var firstChunkWidth = geometry.reducedWidth;\r\n var fullChunksWidth = Math.floor(geometry.sourceAppointmentWidth);\r\n var widthWithoutFirstChunk = fullChunksWidth - firstChunkWidth;\r\n return [firstChunkWidth, fullChunksWidth, widthWithoutFirstChunk]\r\n }\r\n _getTailChunkSettings(withoutFirstChunkWidth, weekWidth, leftPosition) {\r\n var tailChunkWidth = withoutFirstChunkWidth % weekWidth || weekWidth;\r\n var rtlPosition = leftPosition + (weekWidth - tailChunkWidth);\r\n var tailChunkLeftPosition = this.rtlEnabled ? rtlPosition : leftPosition;\r\n return [tailChunkWidth, tailChunkLeftPosition]\r\n }\r\n _getAppointmentParts(geometry, settings) {\r\n var result = [];\r\n var weekWidth = Math.round(this.getGroupWidth(settings.groupIndex));\r\n var [firstChunkWidth, fullChunksWidth, withoutFirstChunkWidth] = this._getChunkWidths(geometry, settings, weekWidth);\r\n var leftPosition = this._getLeftPosition(settings);\r\n var hasTailChunk = this.endViewDate > settings.info.appointment.endDate;\r\n var chunkCount = this._getChunkCount(fullChunksWidth, firstChunkWidth, weekWidth, settings);\r\n var [tailChunkWidth, tailChunkLeftPosition] = this._getTailChunkSettings(withoutFirstChunkWidth, weekWidth, leftPosition);\r\n for (var chunkIndex = 1; chunkIndex < chunkCount; chunkIndex++) {\r\n var topPosition = settings.top + this.cellHeight * chunkIndex;\r\n var isTailChunk = hasTailChunk && chunkIndex === chunkCount - 1;\r\n result.push(_extends(_extends({}, settings), {\r\n top: topPosition,\r\n left: isTailChunk ? tailChunkLeftPosition : leftPosition,\r\n height: geometry.height,\r\n width: isTailChunk ? tailChunkWidth : weekWidth,\r\n appointmentReduced: isTailChunk ? \"tail\" : \"body\",\r\n rowIndex: ++settings.rowIndex,\r\n columnIndex: 0\r\n }))\r\n }\r\n return result\r\n }\r\n _calculateMultiWeekAppointmentLeftOffset(max, width) {\r\n return this.rtlEnabled ? max : max - width\r\n }\r\n getGroupWidth(groupIndex) {\r\n return getGroupWidth(groupIndex, this.viewDataProvider, {\r\n intervalCount: this.options.intervalCount,\r\n currentDate: this.options.currentDate,\r\n viewType: this.options.viewType,\r\n hoursInterval: this.options.hoursInterval,\r\n startDayHour: this.options.startDayHour,\r\n endDayHour: this.options.endDayHour,\r\n isVirtualScrolling: this.isVirtualScrolling,\r\n rtlEnabled: this.rtlEnabled,\r\n DOMMetaData: this.DOMMetaData\r\n })\r\n }\r\n _getAppointmentDefaultHeight() {\r\n return this._getAppointmentHeightByTheme()\r\n }\r\n _getAppointmentMinHeight() {\r\n return this._getAppointmentDefaultHeight()\r\n }\r\n _columnCondition(a, b) {\r\n var conditions = this._getConditions(a, b);\r\n return conditions.rowCondition || conditions.columnCondition || conditions.cellPositionCondition\r\n }\r\n createTaskPositionMap(items) {\r\n return super.createTaskPositionMap(items, true)\r\n }\r\n _getSortedPositions(map) {\r\n return super._getSortedPositions(map, true)\r\n }\r\n _getDefaultRatio() {\r\n return MONTH_APPOINTMENT_HEIGHT_RATIO\r\n }\r\n _getOffsets() {\r\n return {\r\n unlimited: MONTH_APPOINTMENT_MIN_OFFSET,\r\n auto: MONTH_APPOINTMENT_MAX_OFFSET\r\n }\r\n }\r\n getDropDownAppointmentWidth(intervalCount, isAllDay) {\r\n if (this.adaptivityEnabled) {\r\n return this.getDropDownButtonAdaptiveSize()\r\n }\r\n var offset = intervalCount > 1 ? MONTH_DROPDOWN_APPOINTMENT_MAX_RIGHT_OFFSET : MONTH_DROPDOWN_APPOINTMENT_MIN_RIGHT_OFFSET;\r\n return this.cellWidth - offset\r\n }\r\n needCorrectAppointmentDates() {\r\n return false\r\n }\r\n _needVerticalGroupBounds() {\r\n return false\r\n }\r\n _needHorizontalGroupBounds() {\r\n return true\r\n }\r\n getPositionShift(timeShift) {\r\n return {\r\n cellPosition: timeShift * this.cellWidth,\r\n top: 0,\r\n left: 0\r\n }\r\n }\r\n}\r\nexport default HorizontalMonthRenderingStrategy;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/appointments/rendering_strategies/m_strategy_vertical.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport dateUtils from \"../../../../core/utils/date\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n roundFloatPart\r\n} from \"../../../../core/utils/math\";\r\nimport {\r\n isNumeric\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n getAppointmentTakesAllDay\r\n} from \"../../../../renovation/ui/scheduler/appointment/utils/getAppointmentTakesAllDay\";\r\nimport getSkippedHoursInRange from \"../../../../renovation/ui/scheduler/view_model/appointments/utils/getSkippedHoursInRange\";\r\nimport timeZoneUtils from \"../../../../ui/scheduler/utils.timeZone\";\r\nimport {\r\n createAppointmentAdapter\r\n} from \"../../m_appointment_adapter\";\r\nimport {\r\n ExpressionUtils\r\n} from \"../../m_expression_utils\";\r\nimport BaseAppointmentsStrategy from \"./m_strategy_base\";\r\nvar ALLDAY_APPOINTMENT_MIN_VERTICAL_OFFSET = 5;\r\nvar ALLDAY_APPOINTMENT_MAX_VERTICAL_OFFSET = 20;\r\nvar toMs = dateUtils.dateToMilliseconds;\r\nclass VerticalRenderingStrategy extends BaseAppointmentsStrategy {\r\n getDeltaTime(args, initialSize, appointment) {\r\n var deltaTime = 0;\r\n if (this.isAllDay(appointment)) {\r\n deltaTime = this._getDeltaWidth(args, initialSize) * toMs(\"day\")\r\n } else {\r\n var deltaHeight = args.height - initialSize.height;\r\n deltaTime = toMs(\"minute\") * Math.round(deltaHeight / this.cellHeight * this.cellDurationInMinutes)\r\n }\r\n return deltaTime\r\n }\r\n _correctCollectorCoordinatesInAdaptive(coordinates, isAllDay) {\r\n if (isAllDay) {\r\n super._correctCollectorCoordinatesInAdaptive(coordinates, isAllDay)\r\n } else if (0 === this._getMaxAppointmentCountPerCellByType()) {\r\n var {\r\n cellHeight: cellHeight\r\n } = this;\r\n var {\r\n cellWidth: cellWidth\r\n } = this;\r\n coordinates.top += (cellHeight - this.getDropDownButtonAdaptiveSize()) / 2;\r\n coordinates.left += (cellWidth - this.getDropDownButtonAdaptiveSize()) / 2\r\n }\r\n }\r\n getAppointmentGeometry(coordinates) {\r\n var geometry = null;\r\n if (coordinates.allDay) {\r\n geometry = this._getAllDayAppointmentGeometry(coordinates)\r\n } else {\r\n geometry = this.isAdaptive && coordinates.isCompact ? this._getAdaptiveGeometry(coordinates) : this._getVerticalAppointmentGeometry(coordinates)\r\n }\r\n return super.getAppointmentGeometry(geometry)\r\n }\r\n _getAdaptiveGeometry(coordinates) {\r\n var config = this._calculateGeometryConfig(coordinates);\r\n return this._customizeCoordinates(coordinates, config.height, config.appointmentCountPerCell, config.offset)\r\n }\r\n _getItemPosition(appointment) {\r\n var allDay = this.isAllDay(appointment);\r\n if (allDay) {\r\n return super._getItemPosition(appointment)\r\n }\r\n var adapter = createAppointmentAdapter(appointment, this.dataAccessors, this.timeZoneCalculator);\r\n var isRecurring = !!adapter.recurrenceRule;\r\n var appointmentStartDate = adapter.calculateStartDate(\"toGrid\");\r\n var appointmentEndDate = adapter.calculateEndDate(\"toGrid\");\r\n var appointmentDuration = appointmentEndDate - appointmentStartDate;\r\n var appointmentBeginInCurrentView = this.options.startViewDate < appointmentStartDate;\r\n var isAppointmentTakesSeveralDays = !timeZoneUtils.isSameAppointmentDates(appointmentStartDate, appointmentEndDate);\r\n var settings = this.generateAppointmentSettings(appointment);\r\n var result = [];\r\n for (var j = 0; j < settings.length; j++) {\r\n var currentSetting = settings[j];\r\n var height = this.calculateAppointmentHeight(appointment, currentSetting);\r\n var width = this.calculateAppointmentWidth(appointment, currentSetting);\r\n var resultHeight = height;\r\n var appointmentReduced = null;\r\n var multiDaysAppointmentParts = [];\r\n var currentMaxAllowedPosition = currentSetting.vMax;\r\n if (this._isMultiViewAppointment(currentSetting, height) || isAppointmentTakesSeveralDays && !isRecurring) {\r\n var trimmedStartDate = dateUtils.trimTime(appointmentStartDate);\r\n var trimmedSettingStartDate = dateUtils.trimTime(currentSetting.info.appointment.startDate);\r\n var reduceHead = trimmedStartDate <= trimmedSettingStartDate || isRecurring;\r\n if (reduceHead) {\r\n resultHeight = this._reduceMultiDayAppointment(height, {\r\n top: currentSetting.top,\r\n bottom: currentMaxAllowedPosition\r\n });\r\n multiDaysAppointmentParts = this._getAppointmentParts({\r\n sourceAppointmentHeight: height,\r\n reducedHeight: resultHeight,\r\n width: width\r\n }, currentSetting)\r\n }\r\n var {\r\n startDate: currentSettingStartDate,\r\n normalizedEndDate: currentSettingNormalizedEndDate\r\n } = currentSetting.info.appointment;\r\n var currentSettingDuration = currentSettingNormalizedEndDate - currentSettingStartDate;\r\n var hasNextParts = currentSettingDuration < appointmentDuration;\r\n appointmentReduced = hasNextParts ? appointmentBeginInCurrentView ? \"head\" : \"body\" : appointmentBeginInCurrentView ? \"head\" : \"tail\"\r\n }\r\n extend(currentSetting, {\r\n height: resultHeight,\r\n width: width,\r\n allDay: allDay,\r\n appointmentReduced: appointmentReduced\r\n });\r\n result = this._getAppointmentPartsPosition(multiDaysAppointmentParts, currentSetting, result)\r\n }\r\n return result\r\n }\r\n _isMultiViewAppointment(_ref, height) {\r\n var {\r\n vMax: vMax,\r\n top: top\r\n } = _ref;\r\n var fullAppointmentHeight = roundFloatPart(height, 2);\r\n var remainingHeight = roundFloatPart(vMax - top, 2);\r\n return fullAppointmentHeight > remainingHeight\r\n }\r\n _reduceMultiDayAppointment(sourceAppointmentHeight, bound) {\r\n return Math.min(sourceAppointmentHeight, bound.bottom - Math.floor(bound.top))\r\n }\r\n _getGroupHeight() {\r\n return this.cellHeight * this.rowCount\r\n }\r\n _getGroupTopOffset(appointmentSettings) {\r\n var {\r\n groupIndex: groupIndex\r\n } = appointmentSettings;\r\n var groupTop = Math.max(0, this.positionHelper.getGroupTop({\r\n groupIndex: groupIndex,\r\n showAllDayPanel: this.showAllDayPanel,\r\n isGroupedAllDayPanel: this.isGroupedAllDayPanel\r\n }));\r\n var allDayPanelOffset = this.positionHelper.getOffsetByAllDayPanel({\r\n groupIndex: groupIndex,\r\n supportAllDayRow: this.allDaySupported(),\r\n showAllDayPanel: this.showAllDayPanel\r\n });\r\n var appointmentGroupTopOffset = appointmentSettings.top - groupTop - allDayPanelOffset;\r\n return appointmentGroupTopOffset\r\n }\r\n _getTailHeight(appointmentGeometry, appointmentSettings) {\r\n if (!this.isVirtualScrolling) {\r\n return appointmentGeometry.sourceAppointmentHeight - appointmentGeometry.reducedHeight\r\n }\r\n var appointmentGroupTopOffset = this._getGroupTopOffset(appointmentSettings);\r\n var {\r\n sourceAppointmentHeight: sourceAppointmentHeight\r\n } = appointmentGeometry;\r\n var groupHeight = this._getGroupHeight();\r\n var tailHeight = appointmentGroupTopOffset + sourceAppointmentHeight - groupHeight;\r\n return tailHeight\r\n }\r\n _getAppointmentParts(appointmentGeometry, appointmentSettings) {\r\n var {\r\n width: width\r\n } = appointmentGeometry;\r\n var result = [];\r\n var currentPartTop = Math.max(0, this.positionHelper.getGroupTop({\r\n groupIndex: appointmentSettings.groupIndex,\r\n showAllDayPanel: this.showAllDayPanel,\r\n isGroupedAllDayPanel: this.isGroupedAllDayPanel\r\n }));\r\n var cellsDiff = this.isGroupedByDate ? this.groupCount : 1;\r\n var offset = this.cellWidth * cellsDiff;\r\n var allDayPanelOffset = this.positionHelper.getOffsetByAllDayPanel({\r\n groupIndex: appointmentSettings.groupIndex,\r\n supportAllDayRow: this.allDaySupported(),\r\n showAllDayPanel: this.showAllDayPanel\r\n });\r\n currentPartTop += allDayPanelOffset;\r\n var minHeight = this.getAppointmentMinSize();\r\n var {\r\n vMax: vMax,\r\n hMax: hMax\r\n } = appointmentSettings;\r\n var hasTailPart = this.options.endViewDate > appointmentSettings.info.appointment.endDate;\r\n var left = Math.round(appointmentSettings.left + offset);\r\n var tailHeight = this._getTailHeight(appointmentGeometry, appointmentSettings);\r\n while (tailHeight > 0 && left < hMax) {\r\n tailHeight = Math.max(minHeight, tailHeight);\r\n var columnIndex = appointmentSettings.columnIndex + cellsDiff;\r\n var height = Math.min(tailHeight, vMax);\r\n result.push(_extends(_extends({}, appointmentSettings), {\r\n top: currentPartTop,\r\n left: left,\r\n height: height,\r\n width: width,\r\n appointmentReduced: \"body\",\r\n rowIndex: 0,\r\n columnIndex: columnIndex\r\n }));\r\n left += offset;\r\n tailHeight -= vMax\r\n }\r\n if (hasTailPart && result.length > 0) {\r\n result[result.length - 1].appointmentReduced = \"tail\"\r\n }\r\n return result\r\n }\r\n _getMinuteHeight() {\r\n return this.cellHeight / this.cellDurationInMinutes\r\n }\r\n _getCompactLeftCoordinate(itemLeft, index) {\r\n var cellWidth = this.cellWidth || this.getAppointmentMinSize();\r\n return itemLeft + (1 + cellWidth) * index\r\n }\r\n _getVerticalAppointmentGeometry(coordinates) {\r\n var config = this._calculateVerticalGeometryConfig(coordinates);\r\n return this._customizeVerticalCoordinates(coordinates, config.width, config.appointmentCountPerCell, config.offset)\r\n }\r\n _customizeVerticalCoordinates(coordinates, width, appointmentCountPerCell, topOffset, isAllDay) {\r\n var appointmentWidth = Math.max(width / appointmentCountPerCell, width / coordinates.count);\r\n var {\r\n height: height\r\n } = coordinates;\r\n var appointmentLeft = coordinates.left + coordinates.index * appointmentWidth;\r\n var {\r\n top: top\r\n } = coordinates;\r\n if (coordinates.isCompact) {\r\n this._markAppointmentAsVirtual(coordinates, isAllDay)\r\n }\r\n return {\r\n height: height,\r\n width: appointmentWidth,\r\n top: top,\r\n left: appointmentLeft,\r\n empty: this._isAppointmentEmpty(height, width)\r\n }\r\n }\r\n _calculateVerticalGeometryConfig(coordinates) {\r\n var overlappingMode = this.maxAppointmentsPerCell;\r\n var offsets = this._getOffsets();\r\n var appointmentDefaultOffset = this._getAppointmentDefaultOffset();\r\n var appointmentCountPerCell = this._getAppointmentCount(overlappingMode, coordinates);\r\n var ratio = this._getDefaultRatio(coordinates, appointmentCountPerCell);\r\n var maxWidth = this._getMaxWidth();\r\n if (!appointmentCountPerCell) {\r\n appointmentCountPerCell = coordinates.count;\r\n ratio = (maxWidth - offsets.unlimited) / maxWidth\r\n }\r\n var topOffset = (1 - ratio) * maxWidth;\r\n if (\"auto\" === overlappingMode || isNumeric(overlappingMode)) {\r\n ratio = 1;\r\n maxWidth -= appointmentDefaultOffset;\r\n topOffset = 0\r\n }\r\n return {\r\n width: ratio * maxWidth,\r\n appointmentCountPerCell: appointmentCountPerCell,\r\n offset: topOffset\r\n }\r\n }\r\n _getMaxWidth() {\r\n return this.cellWidth\r\n }\r\n isAllDay(appointmentData) {\r\n return getAppointmentTakesAllDay(createAppointmentAdapter(appointmentData, this.dataAccessors, this.timeZoneCalculator), this.startDayHour, this.endDayHour, this.allDayPanelMode)\r\n }\r\n _getAppointmentMaxWidth() {\r\n return this.cellWidth - this._getAppointmentDefaultOffset()\r\n }\r\n calculateAppointmentWidth(appointment, position) {\r\n if (!this.isAllDay(appointment)) {\r\n return 0\r\n }\r\n var startDate = dateUtils.trimTime(position.info.appointment.startDate);\r\n var {\r\n normalizedEndDate: normalizedEndDate\r\n } = position.info.appointment;\r\n var cellWidth = this.cellWidth || this.getAppointmentMinSize();\r\n var durationInHours = (normalizedEndDate.getTime() - startDate.getTime()) / toMs(\"hour\");\r\n var skippedHours = getSkippedHoursInRange(position.info.appointment.startDate, position.info.appointment.endDate, this.viewDataProvider);\r\n var width = Math.ceil((durationInHours - skippedHours) / 24) * cellWidth;\r\n width = this.cropAppointmentWidth(width, cellWidth);\r\n return width\r\n }\r\n calculateAppointmentHeight(appointment, position) {\r\n if (this.isAllDay(appointment)) {\r\n return 0\r\n }\r\n var {\r\n startDate: startDate\r\n } = position.info.appointment;\r\n var {\r\n normalizedEndDate: normalizedEndDate\r\n } = position.info.appointment;\r\n var allDay = ExpressionUtils.getField(this.dataAccessors, \"allDay\", appointment);\r\n var duration = this.getAppointmentDurationInMs(startDate, normalizedEndDate, allDay);\r\n var durationInMinutes = this._adjustDurationByDaylightDiff(duration, startDate, normalizedEndDate) / toMs(\"minute\");\r\n var height = durationInMinutes * this._getMinuteHeight();\r\n return height\r\n }\r\n getDirection() {\r\n return \"vertical\"\r\n }\r\n _sortCondition(a, b) {\r\n if (!!a.allDay !== !!b.allDay) {\r\n return a.allDay ? 1 : -1\r\n }\r\n var isAllDay = a.allDay && b.allDay;\r\n return \"vertical\" === this.groupOrientation && isAllDay ? this._columnCondition(a, b) : this._rowCondition(a, b)\r\n }\r\n allDaySupported() {\r\n return true\r\n }\r\n _getAllDayAppointmentGeometry(coordinates) {\r\n var config = this._calculateGeometryConfig(coordinates);\r\n return this._customizeCoordinates(coordinates, config.height, config.appointmentCountPerCell, config.offset, true)\r\n }\r\n _calculateGeometryConfig(coordinates) {\r\n if (!this.allowResizing || !this.allowAllDayResizing) {\r\n coordinates.skipResizing = true\r\n }\r\n var config = super._calculateGeometryConfig(coordinates);\r\n var minAppointmentCountPerCell = Math.min(config.appointmentCountPerCell, this._getDynamicAppointmentCountPerCell().allDay);\r\n if (coordinates.allDay && coordinates.count <= minAppointmentCountPerCell) {\r\n config.offset = 0\r\n }\r\n return config\r\n }\r\n _getAppointmentCount(overlappingMode, coordinates) {\r\n return \"auto\" !== overlappingMode && 1 === coordinates.count && !isNumeric(overlappingMode) ? coordinates.count : this._getMaxAppointmentCountPerCellByType(coordinates.allDay)\r\n }\r\n _getDefaultRatio(coordinates, appointmentCountPerCell) {\r\n return coordinates.count > this.appointmentCountPerCell ? .65 : 1\r\n }\r\n _getOffsets() {\r\n return {\r\n unlimited: ALLDAY_APPOINTMENT_MIN_VERTICAL_OFFSET,\r\n auto: ALLDAY_APPOINTMENT_MAX_VERTICAL_OFFSET\r\n }\r\n }\r\n _getMaxHeight() {\r\n return this.allDayHeight || this.getAppointmentMinSize()\r\n }\r\n _needVerticalGroupBounds(allDay) {\r\n return !allDay\r\n }\r\n _needHorizontalGroupBounds() {\r\n return false\r\n }\r\n getPositionShift(timeShift, isAllDay) {\r\n if (!isAllDay && this.isAdaptive && 0 === this._getMaxAppointmentCountPerCellByType(isAllDay)) {\r\n return {\r\n top: 0,\r\n left: 0,\r\n cellPosition: 0\r\n }\r\n }\r\n return super.getPositionShift(timeShift, isAllDay)\r\n }\r\n}\r\nexport default VerticalRenderingStrategy;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/appointments/m_view_model_generator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n getAppointmentKey\r\n} from \"../../../renovation/ui/scheduler/appointment/utils\";\r\nimport AgendaAppointmentsStrategy from \"./rendering_strategies/m_strategy_agenda\";\r\nimport HorizontalAppointmentsStrategy from \"./rendering_strategies/m_strategy_horizontal\";\r\nimport HorizontalMonthAppointmentsStrategy from \"./rendering_strategies/m_strategy_horizontal_month\";\r\nimport HorizontalMonthLineAppointmentsStrategy from \"./rendering_strategies/m_strategy_horizontal_month_line\";\r\nimport VerticalAppointmentsStrategy from \"./rendering_strategies/m_strategy_vertical\";\r\nimport WeekAppointmentRenderingStrategy from \"./rendering_strategies/m_strategy_week\";\r\nvar RENDERING_STRATEGIES = {\r\n horizontal: HorizontalAppointmentsStrategy,\r\n horizontalMonth: HorizontalMonthAppointmentsStrategy,\r\n horizontalMonthLine: HorizontalMonthLineAppointmentsStrategy,\r\n vertical: VerticalAppointmentsStrategy,\r\n week: WeekAppointmentRenderingStrategy,\r\n agenda: AgendaAppointmentsStrategy\r\n};\r\nexport class AppointmentViewModelGenerator {\r\n initRenderingStrategy(options) {\r\n var RenderingStrategy = RENDERING_STRATEGIES[options.appointmentRenderingStrategyName];\r\n this.renderingStrategy = new RenderingStrategy(options)\r\n }\r\n generate(filteredItems, options) {\r\n var {\r\n isRenovatedAppointments: isRenovatedAppointments\r\n } = options;\r\n var appointments = filteredItems ? filteredItems.slice() : [];\r\n this.initRenderingStrategy(options);\r\n var renderingStrategy = this.getRenderingStrategy();\r\n var positionMap = renderingStrategy.createTaskPositionMap(appointments);\r\n var viewModel = this.postProcess(appointments, positionMap, isRenovatedAppointments);\r\n if (isRenovatedAppointments) {\r\n return this.makeRenovatedViewModels(viewModel, options.supportAllDayRow, options.isVerticalGroupOrientation)\r\n }\r\n return {\r\n positionMap: positionMap,\r\n viewModel: viewModel\r\n }\r\n }\r\n postProcess(filteredItems, positionMap, isRenovatedAppointments) {\r\n var renderingStrategy = this.getRenderingStrategy();\r\n return filteredItems.map((data, index) => {\r\n if (!renderingStrategy.keepAppointmentSettings()) {\r\n delete data.settings\r\n }\r\n var appointmentSettings = positionMap[index];\r\n appointmentSettings.forEach(item => {\r\n item.direction = \"vertical\" === renderingStrategy.getDirection() && !item.allDay ? \"vertical\" : \"horizontal\"\r\n });\r\n var item = {\r\n itemData: data,\r\n settings: appointmentSettings\r\n };\r\n if (!isRenovatedAppointments) {\r\n item.needRepaint = true;\r\n item.needRemove = false\r\n }\r\n return item\r\n })\r\n }\r\n makeRenovatedViewModels(viewModel, supportAllDayRow, isVerticalGrouping) {\r\n var strategy = this.getRenderingStrategy();\r\n var regularViewModels = [];\r\n var allDayViewModels = [];\r\n var compactOptions = [];\r\n var isAllDayPanel = supportAllDayRow && !isVerticalGrouping;\r\n viewModel.forEach(_ref => {\r\n var {\r\n itemData: itemData,\r\n settings: settings\r\n } = _ref;\r\n settings.forEach(options => {\r\n var item = this.prepareViewModel(options, strategy, itemData);\r\n if (options.isCompact) {\r\n compactOptions.push({\r\n compactViewModel: options.virtual,\r\n appointmentViewModel: item\r\n })\r\n } else if (options.allDay && isAllDayPanel) {\r\n allDayViewModels.push(item)\r\n } else {\r\n regularViewModels.push(item)\r\n }\r\n })\r\n });\r\n var compactViewModels = this.prepareCompactViewModels(compactOptions, supportAllDayRow);\r\n var result = _extends({\r\n allDay: allDayViewModels,\r\n regular: regularViewModels\r\n }, compactViewModels);\r\n return result\r\n }\r\n prepareViewModel(options, strategy, itemData) {\r\n var geometry = strategy.getAppointmentGeometry(options);\r\n var viewModel = {\r\n key: getAppointmentKey(geometry),\r\n appointment: itemData,\r\n geometry: _extends(_extends({}, geometry), {\r\n leftVirtualWidth: options.leftVirtualWidth,\r\n topVirtualHeight: options.topVirtualHeight\r\n }),\r\n info: _extends(_extends({}, options.info), {\r\n allDay: options.allDay,\r\n direction: options.direction,\r\n appointmentReduced: options.appointmentReduced,\r\n groupIndex: options.groupIndex\r\n })\r\n };\r\n return viewModel\r\n }\r\n getCompactViewModelFrame(compactViewModel) {\r\n return {\r\n isAllDay: !!compactViewModel.isAllDay,\r\n isCompact: compactViewModel.isCompact,\r\n groupIndex: compactViewModel.groupIndex,\r\n geometry: {\r\n left: compactViewModel.left,\r\n top: compactViewModel.top,\r\n width: compactViewModel.width,\r\n height: compactViewModel.height\r\n },\r\n items: {\r\n colors: [],\r\n data: [],\r\n settings: []\r\n }\r\n }\r\n }\r\n prepareCompactViewModels(compactOptions, supportAllDayRow) {\r\n var regularCompact = {};\r\n var allDayCompact = {};\r\n compactOptions.forEach(_ref2 => {\r\n var {\r\n compactViewModel: compactViewModel,\r\n appointmentViewModel: appointmentViewModel\r\n } = _ref2;\r\n var {\r\n index: index,\r\n isAllDay: isAllDay\r\n } = compactViewModel;\r\n var viewModel = isAllDay && supportAllDayRow ? allDayCompact : regularCompact;\r\n if (!viewModel[index]) {\r\n viewModel[index] = this.getCompactViewModelFrame(compactViewModel)\r\n }\r\n var {\r\n settings: settings,\r\n data: data,\r\n colors: colors\r\n } = viewModel[index].items;\r\n settings.push(appointmentViewModel);\r\n data.push(appointmentViewModel.appointment);\r\n colors.push(appointmentViewModel.info.resourceColor)\r\n });\r\n var toArray = items => Object.keys(items).map(key => _extends({\r\n key: key\r\n }, items[key]));\r\n var allDayViewModels = toArray(allDayCompact);\r\n var regularViewModels = toArray(regularCompact);\r\n return {\r\n allDayCompact: allDayViewModels,\r\n regularCompact: regularViewModels\r\n }\r\n }\r\n getRenderingStrategy() {\r\n return this.renderingStrategy\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/appointments/rendering_strategies/m_strategy_week.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport VerticalRenderingStrategy from \"./m_strategy_vertical\";\r\nclass WeekAppointmentRenderingStrategy extends VerticalRenderingStrategy {\r\n isApplyCompactAppointmentOffset() {\r\n if (this.isAdaptive && 0 === this._getMaxAppointmentCountPerCellByType()) {\r\n return false\r\n }\r\n return this.supportCompactDropDownAppointments()\r\n }\r\n}\r\nexport default WeekAppointmentRenderingStrategy;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/m_appointments_layout_manager.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n equalByValue\r\n} from \"../../core/utils/common\";\r\nimport {\r\n getAppointmentRenderingStrategyName\r\n} from \"../../renovation/ui/scheduler/model/utils\";\r\nimport {\r\n getCellDuration\r\n} from \"../../renovation/ui/scheduler/view_model/to_test/views/utils/base\";\r\nimport {\r\n AppointmentViewModelGenerator\r\n} from \"./appointments/m_view_model_generator\";\r\nimport {\r\n getGroupCount\r\n} from \"./resources/m_utils\";\r\nimport {\r\n getAllDayHeight,\r\n getCellHeight,\r\n getCellWidth\r\n} from \"./workspaces/helpers/m_position_helper\";\r\nclass AppointmentLayoutManager {\r\n constructor(instance) {\r\n this.instance = instance;\r\n this.appointmentViewModel = new AppointmentViewModelGenerator\r\n }\r\n get appointmentRenderingStrategyName() {\r\n return getAppointmentRenderingStrategyName(this.instance.currentViewType)\r\n }\r\n getCellDimensions(options) {\r\n if (this.instance._workSpace) {\r\n return {\r\n width: this.instance._workSpace.getCellWidth(),\r\n height: this.instance._workSpace.getCellHeight(),\r\n allDayHeight: this.instance._workSpace.getAllDayHeight()\r\n }\r\n }\r\n return\r\n }\r\n _getRenderingStrategyOptions() {\r\n var workspace = this.instance.getWorkSpace();\r\n var {\r\n virtualScrollingDispatcher: virtualScrollingDispatcher\r\n } = this.instance.getWorkSpace();\r\n var {\r\n cellCountInsideLeftVirtualCell: cellCountInsideLeftVirtualCell,\r\n cellCountInsideTopVirtualRow: cellCountInsideTopVirtualRow\r\n } = virtualScrollingDispatcher;\r\n var groupCount = getGroupCount(this.instance.option(\"loadedResources\"));\r\n var DOMMetaData = workspace.getDOMElementsMetaData();\r\n var allDayHeight = getAllDayHeight(workspace.option(\"showAllDayPanel\"), workspace._isVerticalGroupedWorkSpace(), DOMMetaData);\r\n var rowCount = workspace._getRowCount();\r\n var {\r\n positionHelper: positionHelper,\r\n viewDataProvider: viewDataProvider\r\n } = workspace;\r\n var visibleDayDuration = viewDataProvider.getVisibleDayDuration(workspace.option(\"startDayHour\"), workspace.option(\"endDayHour\"), workspace.option(\"hoursInterval\"));\r\n var cellDuration = getCellDuration(workspace.type, workspace.option(\"startDayHour\"), workspace.option(\"endDayHour\"), workspace.option(\"hoursInterval\"));\r\n return {\r\n resources: this.instance.option(\"resources\"),\r\n loadedResources: this.instance.option(\"loadedResources\"),\r\n getAppointmentColor: this.instance.createGetAppointmentColor(),\r\n dataAccessors: this.instance._dataAccessors,\r\n isRenovatedAppointments: this.instance.option(\"isRenovatedAppointments\"),\r\n appointmentRenderingStrategyName: this.appointmentRenderingStrategyName,\r\n adaptivityEnabled: this.instance.option(\"adaptivityEnabled\"),\r\n rtlEnabled: this.instance.option(\"rtlEnabled\"),\r\n startDayHour: this.instance._getCurrentViewOption(\"startDayHour\"),\r\n endDayHour: this.instance._getCurrentViewOption(\"endDayHour\"),\r\n maxAppointmentsPerCell: this.instance._getCurrentViewOption(\"maxAppointmentsPerCell\"),\r\n currentDate: this.instance.option(\"currentDate\"),\r\n isVirtualScrolling: this.instance.isVirtualScrolling(),\r\n leftVirtualCellCount: cellCountInsideLeftVirtualCell,\r\n topVirtualCellCount: cellCountInsideTopVirtualRow,\r\n intervalCount: workspace.option(\"intervalCount\"),\r\n hoursInterval: workspace.option(\"hoursInterval\"),\r\n showAllDayPanel: workspace.option(\"showAllDayPanel\"),\r\n isGroupedAllDayPanel: workspace.isGroupedAllDayPanel(),\r\n groups: this.instance._getCurrentViewOption(\"groups\"),\r\n groupCount: groupCount,\r\n rowCount: rowCount,\r\n appointmentCountPerCell: this.instance.option(\"_appointmentCountPerCell\"),\r\n appointmentOffset: this.instance.option(\"_appointmentOffset\"),\r\n allowResizing: this.instance._allowResizing(),\r\n allowAllDayResizing: this.instance._allowAllDayResizing(),\r\n startViewDate: workspace.getStartViewDate(),\r\n groupOrientation: workspace._getRealGroupOrientation(),\r\n cellWidth: getCellWidth(DOMMetaData),\r\n cellHeight: getCellHeight(DOMMetaData),\r\n allDayHeight: allDayHeight,\r\n resizableStep: positionHelper.getResizableStep(),\r\n visibleDayDuration: visibleDayDuration,\r\n allDayPanelMode: this.instance._getCurrentViewOption(\"allDayPanelMode\"),\r\n timeZoneCalculator: this.instance.timeZoneCalculator,\r\n timeZone: this.instance.option(\"timeZone\"),\r\n firstDayOfWeek: this.instance.getFirstDayOfWeek(),\r\n viewStartDayHour: this.instance._getCurrentViewOption(\"startDayHour\"),\r\n viewEndDayHour: this.instance._getCurrentViewOption(\"endDayHour\"),\r\n viewType: workspace.type,\r\n endViewDate: workspace.getEndViewDate(),\r\n positionHelper: positionHelper,\r\n isGroupedByDate: workspace.isGroupedByDate(),\r\n cellDuration: cellDuration,\r\n cellDurationInMinutes: workspace.option(\"cellDuration\"),\r\n viewDataProvider: workspace.viewDataProvider,\r\n supportAllDayRow: workspace.supportAllDayRow(),\r\n dateRange: workspace.getDateRange(),\r\n intervalDuration: workspace.getIntervalDuration(),\r\n allDayIntervalDuration: workspace.getIntervalDuration(true),\r\n isVerticalGroupOrientation: workspace.isVerticalOrientation(),\r\n DOMMetaData: DOMMetaData,\r\n instance: this.instance,\r\n agendaDuration: workspace.option(\"agendaDuration\")\r\n }\r\n }\r\n createAppointmentsMap(items) {\r\n var renderingStrategyOptions = this._getRenderingStrategyOptions();\r\n var {\r\n viewModel: viewModel,\r\n positionMap: positionMap\r\n } = this.appointmentViewModel.generate(items, renderingStrategyOptions);\r\n this._positionMap = positionMap;\r\n return viewModel\r\n }\r\n _isDataChanged(data) {\r\n var {\r\n appointmentDataProvider: appointmentDataProvider\r\n } = this.instance;\r\n var updatedData = appointmentDataProvider.getUpdatedAppointment();\r\n return updatedData === data || appointmentDataProvider.getUpdatedAppointmentKeys().some(item => data[item.key] === item.value)\r\n }\r\n _isAppointmentShouldAppear(currentAppointment, sourceAppointment) {\r\n return currentAppointment.needRepaint && sourceAppointment.needRemove\r\n }\r\n _isSettingChanged(settings, sourceSetting) {\r\n if (settings.length !== sourceSetting.length) {\r\n return true\r\n }\r\n var createSettingsToCompare = (settings, index) => {\r\n var currentSetting = settings[index];\r\n var leftVirtualCellCount = currentSetting.leftVirtualCellCount || 0;\r\n var topVirtualCellCount = currentSetting.topVirtualCellCount || 0;\r\n var columnIndex = currentSetting.columnIndex + leftVirtualCellCount;\r\n var rowIndex = currentSetting.rowIndex + topVirtualCellCount;\r\n var hMax = currentSetting.reduced ? currentSetting.hMax : void 0;\r\n var vMax = currentSetting.reduced ? currentSetting.vMax : void 0;\r\n return _extends(_extends({}, currentSetting), {\r\n columnIndex: columnIndex,\r\n rowIndex: rowIndex,\r\n positionByMap: void 0,\r\n topVirtualCellCount: void 0,\r\n leftVirtualCellCount: void 0,\r\n leftVirtualWidth: void 0,\r\n topVirtualHeight: void 0,\r\n hMax: hMax,\r\n vMax: vMax,\r\n info: {}\r\n })\r\n };\r\n for (var i = 0; i < settings.length; i++) {\r\n var newSettings = createSettingsToCompare(settings, i);\r\n var oldSettings = createSettingsToCompare(sourceSetting, i);\r\n if (oldSettings) {\r\n oldSettings.sortedIndex = newSettings.sortedIndex\r\n }\r\n if (!equalByValue(newSettings, oldSettings)) {\r\n return true\r\n }\r\n }\r\n return false\r\n }\r\n _getAssociatedSourceAppointment(currentAppointment, sourceAppointments) {\r\n for (var i = 0; i < sourceAppointments.length; i++) {\r\n var item = sourceAppointments[i];\r\n if (item.itemData === currentAppointment.itemData) {\r\n return item\r\n }\r\n }\r\n return null\r\n }\r\n _getDeletedAppointments(currentAppointments, sourceAppointments) {\r\n var result = [];\r\n for (var i = 0; i < sourceAppointments.length; i++) {\r\n var sourceAppointment = sourceAppointments[i];\r\n var currentAppointment = this._getAssociatedSourceAppointment(sourceAppointment, currentAppointments);\r\n if (!currentAppointment) {\r\n sourceAppointment.needRemove = true;\r\n result.push(sourceAppointment)\r\n }\r\n }\r\n return result\r\n }\r\n getRepaintedAppointments(currentAppointments, sourceAppointments) {\r\n if (0 === sourceAppointments.length || \"agenda\" === this.appointmentRenderingStrategyName) {\r\n return currentAppointments\r\n }\r\n currentAppointments.forEach(appointment => {\r\n var sourceAppointment = this._getAssociatedSourceAppointment(appointment, sourceAppointments);\r\n if (sourceAppointment) {\r\n var isDataChanged = this._isDataChanged(appointment.itemData);\r\n var isSettingChanged = this._isSettingChanged(appointment.settings, sourceAppointment.settings);\r\n var isAppointmentShouldAppear = this._isAppointmentShouldAppear(appointment, sourceAppointment);\r\n appointment.needRepaint = isDataChanged || isSettingChanged || isAppointmentShouldAppear\r\n }\r\n });\r\n return currentAppointments.concat(this._getDeletedAppointments(currentAppointments, sourceAppointments))\r\n }\r\n getRenderingStrategyInstance() {\r\n var renderingStrategy = this.appointmentViewModel.getRenderingStrategy();\r\n if (!renderingStrategy) {\r\n var options = this._getRenderingStrategyOptions();\r\n this.appointmentViewModel.initRenderingStrategy(options)\r\n }\r\n return this.appointmentViewModel.getRenderingStrategy()\r\n }\r\n}\r\nexport default AppointmentLayoutManager;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/model/utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var getAppointmentRenderingStrategyName = viewType => {\r\n var {\r\n renderingStrategy: renderingStrategy\r\n } = {\r\n day: {\r\n renderingStrategy: \"vertical\"\r\n },\r\n week: {\r\n renderingStrategy: \"week\"\r\n },\r\n workWeek: {\r\n renderingStrategy: \"week\"\r\n },\r\n month: {\r\n renderingStrategy: \"horizontalMonth\"\r\n },\r\n timelineDay: {\r\n renderingStrategy: \"horizontal\"\r\n },\r\n timelineWeek: {\r\n renderingStrategy: \"horizontal\"\r\n },\r\n timelineWorkWeek: {\r\n renderingStrategy: \"horizontal\"\r\n },\r\n timelineMonth: {\r\n renderingStrategy: \"horizontalMonthLine\"\r\n },\r\n agenda: {\r\n renderingStrategy: \"agenda\"\r\n }\r\n } [viewType];\r\n return renderingStrategy\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/m_data_structures.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport class AppointmentTooltipInfo {\r\n constructor(appointment) {\r\n var targetedAppointment = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : void 0;\r\n var color = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [];\r\n var settings = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : [];\r\n this.appointment = appointment;\r\n this.targetedAppointment = targetedAppointment;\r\n this.color = color;\r\n this.settings = settings\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/m_compact_appointments_helper.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n locate,\r\n move\r\n} from \"../../animation/translator\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n FunctionTemplate\r\n} from \"../../core/templates/function_template\";\r\nimport {\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../core/utils/position\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n getOverflowIndicatorColor\r\n} from \"../../renovation/ui/scheduler/appointment/overflow_indicator/utils\";\r\nimport Button from \"../../ui/button\";\r\nimport {\r\n createAppointmentAdapter\r\n} from \"./m_appointment_adapter\";\r\nimport {\r\n LIST_ITEM_CLASS,\r\n LIST_ITEM_DATA_KEY\r\n} from \"./m_constants\";\r\nimport {\r\n AppointmentTooltipInfo\r\n} from \"./m_data_structures\";\r\nvar APPOINTMENT_COLLECTOR_CLASS = \"dx-scheduler-appointment-collector\";\r\nvar COMPACT_APPOINTMENT_COLLECTOR_CLASS = \"\".concat(APPOINTMENT_COLLECTOR_CLASS, \"-compact\");\r\nvar APPOINTMENT_COLLECTOR_CONTENT_CLASS = \"\".concat(APPOINTMENT_COLLECTOR_CLASS, \"-content\");\r\nvar WEEK_VIEW_COLLECTOR_OFFSET = 5;\r\nvar COMPACT_THEME_WEEK_VIEW_COLLECTOR_OFFSET = 1;\r\nexport class CompactAppointmentsHelper {\r\n constructor(instance) {\r\n this.instance = instance;\r\n this.elements = []\r\n }\r\n render(options) {\r\n var {\r\n isCompact: isCompact,\r\n items: items,\r\n buttonColor: buttonColor\r\n } = options;\r\n var template = this._createTemplate(items.data.length, isCompact);\r\n var button = this._createCompactButton(template, options);\r\n var $button = button.$element();\r\n this._makeBackgroundColor($button, items.colors, buttonColor);\r\n this._makeBackgroundDarker($button);\r\n this.elements.push($button);\r\n $button.data(\"items\", this._createTooltipInfos(items));\r\n return $button\r\n }\r\n clear() {\r\n this.elements.forEach(button => {\r\n button.detach();\r\n button.remove()\r\n });\r\n this.elements = []\r\n }\r\n _createTooltipInfos(items) {\r\n return items.data.map((appointment, index) => {\r\n var _a;\r\n var targetedAdapter = createAppointmentAdapter(appointment, this.instance._dataAccessors, this.instance.timeZoneCalculator).clone();\r\n if ((null === (_a = items.settings) || void 0 === _a ? void 0 : _a.length) > 0) {\r\n var {\r\n info: info\r\n } = items.settings[index];\r\n targetedAdapter.startDate = info.sourceAppointment.startDate;\r\n targetedAdapter.endDate = info.sourceAppointment.endDate\r\n }\r\n return new AppointmentTooltipInfo(appointment, targetedAdapter.source(), items.colors[index], items.settings[index])\r\n })\r\n }\r\n _onButtonClick(e, options) {\r\n var $button = $(e.element);\r\n this.instance.showAppointmentTooltipCore($button, $button.data(\"items\"), this._getExtraOptionsForTooltip(options, $button))\r\n }\r\n _getExtraOptionsForTooltip(options, $appointmentCollector) {\r\n return {\r\n clickEvent: this._clickEvent(options.onAppointmentClick).bind(this),\r\n dragBehavior: options.allowDrag && this._createTooltipDragBehavior($appointmentCollector).bind(this),\r\n dropDownAppointmentTemplate: this.instance.option().dropDownAppointmentTemplate,\r\n isButtonClick: true\r\n }\r\n }\r\n _clickEvent(onAppointmentClick) {\r\n return e => {\r\n var clickEventArgs = this.instance._createEventArgs(e);\r\n onAppointmentClick(clickEventArgs)\r\n }\r\n }\r\n _createTooltipDragBehavior($appointmentCollector) {\r\n return e => {\r\n var $element = $(e.element);\r\n var $schedulerElement = $(this.instance.element());\r\n var workSpace = this.instance.getWorkSpace();\r\n var initialPosition = locate($appointmentCollector);\r\n var options = {\r\n filter: \".\".concat(LIST_ITEM_CLASS),\r\n isSetCursorOffset: true,\r\n initialPosition: initialPosition,\r\n getItemData: itemElement => {\r\n var _a;\r\n return null === (_a = $(itemElement).data(LIST_ITEM_DATA_KEY)) || void 0 === _a ? void 0 : _a.appointment\r\n },\r\n getItemSettings: (_, event) => event.itemSettings\r\n };\r\n workSpace._createDragBehaviorBase($element, $schedulerElement, options)\r\n }\r\n }\r\n _getCollectorOffset(width, cellWidth) {\r\n return cellWidth - width - this._getCollectorRightOffset()\r\n }\r\n _getCollectorRightOffset() {\r\n return this.instance.getRenderingStrategyInstance()._isCompactTheme() ? COMPACT_THEME_WEEK_VIEW_COLLECTOR_OFFSET : WEEK_VIEW_COLLECTOR_OFFSET\r\n }\r\n _makeBackgroundDarker(button) {\r\n button.css(\"boxShadow\", \"inset \".concat(getBoundingRect(button.get(0)).width, \"px 0 0 0 rgba(0, 0, 0, 0.3)\"))\r\n }\r\n _makeBackgroundColor($button, colors, color) {\r\n when.apply(null, colors).done(function() {\r\n this._makeBackgroundColorCore($button, color, [...arguments])\r\n }.bind(this))\r\n }\r\n _makeBackgroundColorCore($button, color, itemColors) {\r\n color && color.done(color => {\r\n var backgroundColor = getOverflowIndicatorColor(color, itemColors);\r\n if (backgroundColor) {\r\n $button.css(\"backgroundColor\", backgroundColor)\r\n }\r\n })\r\n }\r\n _setPosition(element, position) {\r\n move(element, {\r\n top: position.top,\r\n left: position.left\r\n })\r\n }\r\n _createCompactButton(template, options) {\r\n var $button = this._createCompactButtonElement(options);\r\n return this.instance._createComponent($button, Button, {\r\n type: \"default\",\r\n width: options.width,\r\n height: options.height,\r\n onClick: e => this._onButtonClick(e, options),\r\n template: this._renderTemplate(template, options.items, options.isCompact)\r\n })\r\n }\r\n _createCompactButtonElement(_ref) {\r\n var {\r\n isCompact: isCompact,\r\n $container: $container,\r\n coordinates: coordinates\r\n } = _ref;\r\n var result = $(\"<div>\").addClass(APPOINTMENT_COLLECTOR_CLASS).toggleClass(COMPACT_APPOINTMENT_COLLECTOR_CLASS, isCompact).appendTo($container);\r\n this._setPosition(result, coordinates);\r\n return result\r\n }\r\n _renderTemplate(template, items, isCompact) {\r\n return new FunctionTemplate(options => template.render({\r\n model: {\r\n appointmentCount: items.data.length,\r\n isCompact: isCompact\r\n },\r\n container: options.container\r\n }))\r\n }\r\n _createTemplate(count, isCompact) {\r\n this._initButtonTemplate(count, isCompact);\r\n return this.instance._getAppointmentTemplate(\"appointmentCollectorTemplate\")\r\n }\r\n _initButtonTemplate(count, isCompact) {\r\n this.instance._templateManager.addDefaultTemplates({\r\n appointmentCollector: new FunctionTemplate(options => this._createButtonTemplate(count, $(options.container), isCompact))\r\n })\r\n }\r\n _createButtonTemplate(appointmentCount, element, isCompact) {\r\n var text = isCompact ? appointmentCount : messageLocalization.getFormatter(\"dxScheduler-moreAppointments\")(appointmentCount);\r\n return element.append($(\"<span>\").text(text)).addClass(APPOINTMENT_COLLECTOR_CONTENT_CLASS)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/m_subscribes.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n isPlainObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n formatDates,\r\n getFormatType\r\n} from \"./appointments/m_text_utils\";\r\nimport {\r\n createAppointmentAdapter\r\n} from \"./m_appointment_adapter\";\r\nimport {\r\n AGENDA_LAST_IN_DATE_APPOINTMENT_CLASS\r\n} from \"./m_classes\";\r\nimport {\r\n utils\r\n} from \"./m_utils\";\r\nvar toMs = dateUtils.dateToMilliseconds;\r\nvar subscribes = {\r\n isCurrentViewAgenda() {\r\n return \"agenda\" === this.currentViewType\r\n },\r\n currentViewUpdated(currentView) {\r\n this.option(\"currentView\", currentView)\r\n },\r\n currentDateUpdated(date) {\r\n this.option(\"currentDate\", date)\r\n },\r\n getOption(name) {\r\n return this.option(name)\r\n },\r\n getWorkspaceOption(name) {\r\n return this.getWorkSpace().option(name)\r\n },\r\n isVirtualScrolling() {\r\n return this.isVirtualScrolling()\r\n },\r\n setCellDataCacheAlias(appointment, geometry) {\r\n this._workSpace.setCellDataCacheAlias(appointment, geometry)\r\n },\r\n isGroupedByDate() {\r\n return this.getWorkSpace().isGroupedByDate()\r\n },\r\n showAppointmentTooltip(options) {\r\n var targetedAppointment = this.getTargetedAppointment(options.data, options.target);\r\n this.showAppointmentTooltip(options.data, options.target, targetedAppointment)\r\n },\r\n hideAppointmentTooltip() {\r\n this.hideAppointmentTooltip()\r\n },\r\n showEditAppointmentPopup(options) {\r\n var targetedData = this.getTargetedAppointment(options.data, options.target);\r\n this.showAppointmentPopup(options.data, false, targetedData)\r\n },\r\n updateAppointmentAfterResize(options) {\r\n var info = utils.dataAccessors.getAppointmentInfo(options.$appointment);\r\n var {\r\n exceptionDate: exceptionDate\r\n } = info.sourceAppointment;\r\n this._checkRecurringAppointment(options.target, options.data, exceptionDate, () => {\r\n this._updateAppointment(options.target, options.data, (function() {\r\n this._appointments.moveAppointmentBack()\r\n }))\r\n })\r\n },\r\n getUpdatedData(rawAppointment) {\r\n return this._getUpdatedData(rawAppointment)\r\n },\r\n updateAppointmentAfterDrag(_ref) {\r\n var {\r\n event: event,\r\n element: element,\r\n rawAppointment: rawAppointment,\r\n newCellIndex: newCellIndex,\r\n oldCellIndex: oldCellIndex\r\n } = _ref;\r\n var info = utils.dataAccessors.getAppointmentInfo(element);\r\n var appointment = createAppointmentAdapter(rawAppointment, this._dataAccessors, this.timeZoneCalculator);\r\n var targetedAppointment = createAppointmentAdapter(extend({}, rawAppointment, this._getUpdatedData(rawAppointment)), this._dataAccessors, this.timeZoneCalculator);\r\n var targetedRawAppointment = targetedAppointment.source();\r\n var becomeAllDay = targetedAppointment.allDay;\r\n var wasAllDay = appointment.allDay;\r\n var movedBetweenAllDayAndSimple = this._workSpace.supportAllDayRow() && (wasAllDay && !becomeAllDay || !wasAllDay && becomeAllDay);\r\n var isDragAndDropBetweenComponents = event.fromComponent !== event.toComponent;\r\n if (-1 === newCellIndex) {\r\n if (!isDragAndDropBetweenComponents) {\r\n this._appointments.moveAppointmentBack(event)\r\n }\r\n return\r\n }\r\n if (newCellIndex !== oldCellIndex || isDragAndDropBetweenComponents || movedBetweenAllDayAndSimple) {\r\n this._checkRecurringAppointment(rawAppointment, targetedRawAppointment, info.sourceAppointment.exceptionDate, () => {\r\n this._updateAppointment(rawAppointment, targetedRawAppointment, (function() {\r\n this._appointments.moveAppointmentBack(event)\r\n }), event)\r\n }, void 0, void 0, event)\r\n } else {\r\n this._appointments.moveAppointmentBack(event)\r\n }\r\n },\r\n onDeleteButtonPress(options) {\r\n var targetedData = this.getTargetedAppointment(options.data, $(options.target));\r\n this.checkAndDeleteAppointment(options.data, targetedData);\r\n this.hideAppointmentTooltip()\r\n },\r\n getTextAndFormatDate(appointmentRaw, targetedAppointmentRaw, format) {\r\n var appointmentAdapter = createAppointmentAdapter(appointmentRaw, this._dataAccessors, this.timeZoneCalculator);\r\n var targetedAdapter = createAppointmentAdapter(targetedAppointmentRaw || appointmentRaw, this._dataAccessors, this.timeZoneCalculator);\r\n var startDate = this.timeZoneCalculator.createDate(targetedAdapter.startDate, {\r\n path: \"toGrid\"\r\n });\r\n var endDate = this.timeZoneCalculator.createDate(targetedAdapter.endDate, {\r\n path: \"toGrid\"\r\n });\r\n var formatType = format || getFormatType(startDate, endDate, targetedAdapter.allDay, \"month\" !== this.currentViewType);\r\n return {\r\n text: targetedAdapter.text || appointmentAdapter.text,\r\n formatDate: formatDates(startDate, endDate, formatType)\r\n }\r\n },\r\n _createAppointmentTitle(data) {\r\n if (isPlainObject(data)) {\r\n return data.text\r\n }\r\n return String(data)\r\n },\r\n getResizableAppointmentArea(options) {\r\n var {\r\n allDay: allDay\r\n } = options;\r\n var groups = this._getCurrentViewOption(\"groups\");\r\n if (groups && groups.length) {\r\n if (allDay || this.getLayoutManager().getRenderingStrategyInstance()._needHorizontalGroupBounds()) {\r\n var horizontalGroupBounds = this._workSpace.getGroupBounds(options.coordinates);\r\n return {\r\n left: horizontalGroupBounds.left,\r\n right: horizontalGroupBounds.right,\r\n top: 0,\r\n bottom: 0\r\n }\r\n }\r\n if (this.getLayoutManager().getRenderingStrategyInstance()._needVerticalGroupBounds(allDay) && this._workSpace._isVerticalGroupedWorkSpace()) {\r\n var verticalGroupBounds = this._workSpace.getGroupBounds(options.coordinates);\r\n return {\r\n left: 0,\r\n right: 0,\r\n top: verticalGroupBounds.top,\r\n bottom: verticalGroupBounds.bottom\r\n }\r\n }\r\n }\r\n return\r\n },\r\n needRecalculateResizableArea() {\r\n return this.getWorkSpace().needRecalculateResizableArea()\r\n },\r\n getAppointmentGeometry(settings) {\r\n return this.getLayoutManager().getRenderingStrategyInstance().getAppointmentGeometry(settings)\r\n },\r\n isAllDay(appointmentData) {\r\n return this.getLayoutManager().getRenderingStrategyInstance().isAllDay(appointmentData)\r\n },\r\n getDeltaTime(e, initialSize, itemData) {\r\n return this.getLayoutManager().getRenderingStrategyInstance().getDeltaTime(e, initialSize, itemData)\r\n },\r\n getDropDownAppointmentWidth(isAllDay) {\r\n return this.getLayoutManager().getRenderingStrategyInstance().getDropDownAppointmentWidth(this._getViewCountConfig().intervalCount, isAllDay)\r\n },\r\n getDropDownAppointmentHeight() {\r\n return this.getLayoutManager().getRenderingStrategyInstance().getDropDownAppointmentHeight()\r\n },\r\n getCellWidth() {\r\n return this.getWorkSpace().getCellWidth()\r\n },\r\n getCellHeight() {\r\n return this.getWorkSpace().getCellHeight()\r\n },\r\n getMaxAppointmentCountPerCellByType(isAllDay) {\r\n return this.getRenderingStrategyInstance()._getMaxAppointmentCountPerCellByType(isAllDay)\r\n },\r\n needCorrectAppointmentDates() {\r\n return this.getRenderingStrategyInstance().needCorrectAppointmentDates()\r\n },\r\n getRenderingStrategyDirection() {\r\n return this.getRenderingStrategyInstance().getDirection()\r\n },\r\n updateAppointmentEndDate(options) {\r\n var {\r\n endDate: endDate\r\n } = options;\r\n var endDayHour = this._getCurrentViewOption(\"endDayHour\");\r\n var startDayHour = this._getCurrentViewOption(\"startDayHour\");\r\n var updatedEndDate = endDate;\r\n if (endDate.getHours() >= endDayHour) {\r\n updatedEndDate.setHours(endDayHour, 0, 0, 0)\r\n } else if (!options.isSameDate && startDayHour > 0 && 60 * endDate.getHours() + endDate.getMinutes() < 60 * startDayHour) {\r\n updatedEndDate = new Date(updatedEndDate.getTime() - toMs(\"day\"));\r\n updatedEndDate.setHours(endDayHour, 0, 0, 0)\r\n }\r\n return updatedEndDate\r\n },\r\n renderCompactAppointments(options) {\r\n this._compactAppointmentsHelper.render(options)\r\n },\r\n clearCompactAppointments() {\r\n this._compactAppointmentsHelper.clear()\r\n },\r\n supportCompactDropDownAppointments() {\r\n return this.getLayoutManager().getRenderingStrategyInstance().supportCompactDropDownAppointments()\r\n },\r\n getGroupCount() {\r\n return this._workSpace._getGroupCount()\r\n },\r\n mapAppointmentFields(config) {\r\n var {\r\n itemData: itemData,\r\n itemElement: itemElement,\r\n targetedAppointment: targetedAppointment\r\n } = config;\r\n var targetedData = targetedAppointment || this.getTargetedAppointment(itemData, itemElement);\r\n return {\r\n appointmentData: config.itemData,\r\n appointmentElement: config.itemElement,\r\n targetedAppointmentData: targetedData\r\n }\r\n },\r\n dayHasAppointment(day, appointment, trimTime) {\r\n return this.dayHasAppointment(day, appointment, trimTime)\r\n },\r\n getLayoutManager() {\r\n return this._layoutManager\r\n },\r\n getAgendaVerticalStepHeight() {\r\n return this.getWorkSpace().getAgendaVerticalStepHeight()\r\n },\r\n getAgendaDuration() {\r\n return this._getCurrentViewOption(\"agendaDuration\")\r\n },\r\n getStartViewDate() {\r\n return this.getStartViewDate()\r\n },\r\n getEndViewDate() {\r\n return this.getEndViewDate()\r\n },\r\n forceMaxAppointmentPerCell() {\r\n return this.forceMaxAppointmentPerCell()\r\n },\r\n onAgendaReady(rows) {\r\n var $appts = this.getAppointmentsInstance()._itemElements();\r\n var total = 0;\r\n var applyClass = function(_, count) {\r\n var index = count + total - 1;\r\n $appts.eq(index).addClass(AGENDA_LAST_IN_DATE_APPOINTMENT_CLASS);\r\n total += count\r\n };\r\n for (var i = 0; i < rows.length; i++) {\r\n each(rows[i], applyClass)\r\n }\r\n },\r\n getTimezone() {\r\n return this._getTimezoneOffsetByOption()\r\n },\r\n getTargetedAppointmentData(appointment, element) {\r\n return this.getTargetedAppointment(appointment, element)\r\n },\r\n getEndDayHour() {\r\n return this._workSpace.option(\"endDayHour\") || this.option(\"endDayHour\")\r\n },\r\n getStartDayHour() {\r\n return this._workSpace.option(\"startDayHour\") || this.option(\"startDayHour\")\r\n },\r\n isAdaptive() {\r\n return this.option(\"adaptivityEnabled\")\r\n },\r\n removeDroppableCellClass() {\r\n this._workSpace.removeDroppableCellClass()\r\n }\r\n};\r\nexport default subscribes;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/resources/m_agenda_resource_processor.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n wrapToArray\r\n} from \"../../../core/utils/array\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../core/utils/deferred\";\r\nimport {\r\n getDisplayExpr,\r\n getFieldExpr,\r\n getValueExpr,\r\n getWrappedDataSource\r\n} from \"./m_utils\";\r\nclass PromiseItem {\r\n constructor(rawAppointment, promise) {\r\n this.rawAppointment = rawAppointment;\r\n this.promise = promise\r\n }\r\n}\r\nexport class AgendaResourceProcessor {\r\n constructor() {\r\n var resourceDeclarations = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\r\n this._resourceDeclarations = resourceDeclarations;\r\n this.isLoaded = false;\r\n this.isLoading = false;\r\n this.resourceMap = new Map;\r\n this.appointmentPromiseQueue = []\r\n }\r\n get resourceDeclarations() {\r\n return this._resourceDeclarations\r\n }\r\n set resourceDeclarations(value) {\r\n this._resourceDeclarations = value;\r\n this.isLoaded = false;\r\n this.isLoading = false;\r\n this.resourceMap.clear();\r\n this.appointmentPromiseQueue = []\r\n }\r\n _pushAllResources() {\r\n this.appointmentPromiseQueue.forEach(_ref => {\r\n var {\r\n promise: promise,\r\n rawAppointment: rawAppointment\r\n } = _ref;\r\n var result = [];\r\n this.resourceMap.forEach((resource, fieldName) => {\r\n var item = {\r\n label: resource.label,\r\n values: []\r\n };\r\n if (fieldName in rawAppointment) {\r\n wrapToArray(rawAppointment[fieldName]).forEach(value => item.values.push(resource.map.get(value)))\r\n }\r\n if (item.values.length) {\r\n result.push(item)\r\n }\r\n });\r\n promise.resolve(result)\r\n });\r\n this.appointmentPromiseQueue = []\r\n }\r\n _onPullResource(fieldName, valueName, displayName, label, items) {\r\n var map = new Map;\r\n items.forEach(item => map.set(item[valueName], item[displayName]));\r\n this.resourceMap.set(fieldName, {\r\n label: label,\r\n map: map\r\n })\r\n }\r\n _hasResourceDeclarations(resources) {\r\n if (0 === resources.length) {\r\n this.appointmentPromiseQueue.forEach(_ref2 => {\r\n var {\r\n promise: promise\r\n } = _ref2;\r\n return promise.resolve([])\r\n });\r\n this.appointmentPromiseQueue = [];\r\n return false\r\n }\r\n return true\r\n }\r\n _tryPullResources(resources, resultAsync) {\r\n if (!this.isLoading) {\r\n this.isLoading = true;\r\n var promises = [];\r\n resources.forEach(resource => {\r\n var promise = (new Deferred).done(items => this._onPullResource(getFieldExpr(resource), getValueExpr(resource), getDisplayExpr(resource), resource.label, items));\r\n promises.push(promise);\r\n var dataSource = getWrappedDataSource(resource.dataSource);\r\n if (dataSource.isLoaded()) {\r\n promise.resolve(dataSource.items())\r\n } else {\r\n dataSource.load().done(list => promise.resolve(list)).fail(() => promise.reject())\r\n }\r\n });\r\n when.apply(null, promises).done(() => {\r\n this.isLoaded = true;\r\n this.isLoading = false;\r\n this._pushAllResources()\r\n }).fail(() => resultAsync.reject())\r\n }\r\n }\r\n initializeState() {\r\n var resourceDeclarations = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\r\n this.resourceDeclarations = resourceDeclarations\r\n }\r\n createListAsync(rawAppointment) {\r\n var resultAsync = new Deferred;\r\n this.appointmentPromiseQueue.push(new PromiseItem(rawAppointment, resultAsync));\r\n if (this._hasResourceDeclarations(this.resourceDeclarations)) {\r\n if (this.isLoaded) {\r\n this._pushAllResources()\r\n } else {\r\n this._tryPullResources(this.resourceDeclarations, resultAsync)\r\n }\r\n }\r\n return resultAsync.promise()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/tooltip_strategies/m_tooltip_strategy_base.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n FunctionTemplate\r\n} from \"../../../core/templates/function_template\";\r\nimport Button from \"../../../ui/button\";\r\nimport List from \"../../../ui/list/ui.list.edit\";\r\nvar TOOLTIP_APPOINTMENT_ITEM = \"dx-tooltip-appointment-item\";\r\nvar TOOLTIP_APPOINTMENT_ITEM_CONTENT = \"\".concat(TOOLTIP_APPOINTMENT_ITEM, \"-content\");\r\nvar TOOLTIP_APPOINTMENT_ITEM_CONTENT_SUBJECT = \"\".concat(TOOLTIP_APPOINTMENT_ITEM, \"-content-subject\");\r\nvar TOOLTIP_APPOINTMENT_ITEM_CONTENT_DATE = \"\".concat(TOOLTIP_APPOINTMENT_ITEM, \"-content-date\");\r\nvar TOOLTIP_APPOINTMENT_ITEM_MARKER = \"\".concat(TOOLTIP_APPOINTMENT_ITEM, \"-marker\");\r\nvar TOOLTIP_APPOINTMENT_ITEM_MARKER_BODY = \"\".concat(TOOLTIP_APPOINTMENT_ITEM, \"-marker-body\");\r\nvar TOOLTIP_APPOINTMENT_ITEM_DELETE_BUTTON_CONTAINER = \"\".concat(TOOLTIP_APPOINTMENT_ITEM, \"-delete-button-container\");\r\nvar TOOLTIP_APPOINTMENT_ITEM_DELETE_BUTTON = \"\".concat(TOOLTIP_APPOINTMENT_ITEM, \"-delete-button\");\r\nexport class TooltipStrategyBase {\r\n constructor(options) {\r\n this._tooltip = null;\r\n this._options = options;\r\n this._extraOptions = null\r\n }\r\n show(target, dataList, extraOptions) {\r\n if (this._canShowTooltip(dataList)) {\r\n this.hide();\r\n this._extraOptions = extraOptions;\r\n this._showCore(target, dataList)\r\n }\r\n }\r\n _showCore(target, dataList) {\r\n if (!this._tooltip) {\r\n this._tooltip = this._createTooltip(target, dataList)\r\n } else {\r\n this._shouldUseTarget() && this._tooltip.option(\"target\", target);\r\n this._list.option(\"dataSource\", dataList)\r\n }\r\n this._prepareBeforeVisibleChanged(dataList);\r\n this._tooltip.option(\"visible\", true)\r\n }\r\n _prepareBeforeVisibleChanged(dataList) {}\r\n _getContentTemplate(dataList) {\r\n return container => {\r\n var listElement = $(\"<div>\");\r\n $(container).append(listElement);\r\n this._list = this._createList(listElement, dataList)\r\n }\r\n }\r\n isAlreadyShown(target) {\r\n if (this._tooltip && this._tooltip.option(\"visible\")) {\r\n return this._tooltip.option(\"target\")[0] === target[0]\r\n }\r\n return\r\n }\r\n _onShown() {\r\n this._list.option(\"focusStateEnabled\", this._extraOptions.focusStateEnabled)\r\n }\r\n dispose() {}\r\n hide() {\r\n if (this._tooltip) {\r\n this._tooltip.option(\"visible\", false)\r\n }\r\n }\r\n _shouldUseTarget() {\r\n return true\r\n }\r\n _createTooltip(target, dataList) {}\r\n _canShowTooltip(dataList) {\r\n if (!dataList.length) {\r\n return false\r\n }\r\n return true\r\n }\r\n _createListOption(dataList) {\r\n return {\r\n dataSource: dataList,\r\n onContentReady: this._onListRender.bind(this),\r\n onItemClick: e => this._onListItemClick(e),\r\n onItemContextMenu: this._onListItemContextMenu.bind(this),\r\n itemTemplate: (item, index) => this._renderTemplate(item.appointment, item.targetedAppointment, index, item.color),\r\n _swipeEnabled: false,\r\n pageLoadMode: \"scrollBottom\"\r\n }\r\n }\r\n _onListRender(e) {}\r\n _createTooltipElement(wrapperClass) {\r\n return $(\"<div>\").appendTo(this._options.container).addClass(wrapperClass)\r\n }\r\n _createList(listElement, dataList) {\r\n return this._options.createComponent(listElement, List, this._createListOption(dataList))\r\n }\r\n _renderTemplate(appointment, targetedAppointment, index, color) {\r\n var itemListContent = this._createItemListContent(appointment, targetedAppointment, color);\r\n this._options.addDefaultTemplates({\r\n [this._getItemListTemplateName()]: new FunctionTemplate(options => {\r\n var $container = $(options.container);\r\n $container.append(itemListContent);\r\n return $container\r\n })\r\n });\r\n var template = this._options.getAppointmentTemplate(\"\".concat(this._getItemListTemplateName(), \"Template\"));\r\n return this._createFunctionTemplate(template, appointment, targetedAppointment, index)\r\n }\r\n _createFunctionTemplate(template, appointmentData, targetedAppointmentData, index) {\r\n var isButtonClicked = !!this._extraOptions.isButtonClick;\r\n var isEmptyDropDownAppointmentTemplate = this._isEmptyDropDownAppointmentTemplate();\r\n return new FunctionTemplate(options => template.render({\r\n model: isEmptyDropDownAppointmentTemplate ? {\r\n appointmentData: appointmentData,\r\n targetedAppointmentData: targetedAppointmentData,\r\n isButtonClicked: isButtonClicked\r\n } : appointmentData,\r\n container: options.container,\r\n index: index\r\n }))\r\n }\r\n _getItemListTemplateName() {\r\n return this._isEmptyDropDownAppointmentTemplate() ? \"appointmentTooltip\" : \"dropDownAppointment\"\r\n }\r\n _isEmptyDropDownAppointmentTemplate() {\r\n return !this._extraOptions.dropDownAppointmentTemplate || \"dropDownAppointment\" === this._extraOptions.dropDownAppointmentTemplate\r\n }\r\n _onListItemClick(e) {\r\n this.hide();\r\n this._extraOptions.clickEvent && this._extraOptions.clickEvent(e);\r\n this._options.showAppointmentPopup(e.itemData.appointment, false, e.itemData.targetedAppointment)\r\n }\r\n _onListItemContextMenu(e) {}\r\n _createItemListContent(appointment, targetedAppointment, color) {\r\n var {\r\n editing: editing\r\n } = this._extraOptions;\r\n var $itemElement = $(\"<div>\").addClass(TOOLTIP_APPOINTMENT_ITEM);\r\n $itemElement.append(this._createItemListMarker(color));\r\n $itemElement.append(this._createItemListInfo(this._options.createFormattedDateText(appointment, targetedAppointment)));\r\n var disabled = this._options.getAppointmentDisabled(appointment);\r\n if (!disabled && (editing && true === editing.allowDeleting || true === editing)) {\r\n $itemElement.append(this._createDeleteButton(appointment, targetedAppointment))\r\n }\r\n return $itemElement\r\n }\r\n _createItemListMarker(color) {\r\n var $marker = $(\"<div>\").addClass(TOOLTIP_APPOINTMENT_ITEM_MARKER);\r\n var $markerBody = $(\"<div>\").addClass(TOOLTIP_APPOINTMENT_ITEM_MARKER_BODY);\r\n $marker.append($markerBody);\r\n color && color.done(value => $markerBody.css(\"background\", value));\r\n return $marker\r\n }\r\n _createItemListInfo(object) {\r\n var result = $(\"<div>\").addClass(TOOLTIP_APPOINTMENT_ITEM_CONTENT);\r\n var $title = $(\"<div>\").addClass(TOOLTIP_APPOINTMENT_ITEM_CONTENT_SUBJECT).text(object.text);\r\n var $date = $(\"<div>\").addClass(TOOLTIP_APPOINTMENT_ITEM_CONTENT_DATE).text(object.formatDate);\r\n return result.append($title).append($date)\r\n }\r\n _createDeleteButton(appointment, targetedAppointment) {\r\n var $container = $(\"<div>\").addClass(TOOLTIP_APPOINTMENT_ITEM_DELETE_BUTTON_CONTAINER);\r\n var $deleteButton = $(\"<div>\").addClass(TOOLTIP_APPOINTMENT_ITEM_DELETE_BUTTON);\r\n $container.append($deleteButton);\r\n this._options.createComponent($deleteButton, Button, {\r\n icon: \"trash\",\r\n stylingMode: \"text\",\r\n onClick: e => {\r\n this.hide();\r\n e.event.stopPropagation();\r\n this._options.checkAndDeleteAppointment(appointment, targetedAppointment)\r\n }\r\n });\r\n return $container\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/tooltip_strategies/m_desktop_tooltip_strategy.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n touch\r\n} from \"../../../core/utils/support\";\r\nimport Tooltip from \"../../../ui/tooltip\";\r\nimport {\r\n TooltipStrategyBase\r\n} from \"./m_tooltip_strategy_base\";\r\nvar APPOINTMENT_TOOLTIP_WRAPPER_CLASS = \"dx-scheduler-appointment-tooltip-wrapper\";\r\nvar MAX_TOOLTIP_HEIGHT = 200;\r\nexport class DesktopTooltipStrategy extends TooltipStrategyBase {\r\n _prepareBeforeVisibleChanged(dataList) {\r\n this._tooltip.option(\"position\", {\r\n my: \"bottom\",\r\n at: \"top\",\r\n boundary: this._getBoundary(dataList),\r\n offset: this._extraOptions.offset,\r\n collision: \"fit flipfit\"\r\n })\r\n }\r\n _getBoundary(dataList) {\r\n return this._options.isAppointmentInAllDayPanel(dataList[0].appointment) ? this._options.container : this._options.getScrollableContainer()\r\n }\r\n _onShown() {\r\n super._onShown();\r\n if (this._extraOptions.isButtonClick) {\r\n this._list.focus();\r\n this._list.option(\"focusedElement\", null)\r\n }\r\n }\r\n _createListOption(target, dataList) {\r\n var result = super._createListOption(target, dataList);\r\n result.showScrollbar = touch ? \"always\" : \"onHover\";\r\n return result\r\n }\r\n _createTooltip(target, dataList) {\r\n var tooltip = this._createTooltipElement(APPOINTMENT_TOOLTIP_WRAPPER_CLASS);\r\n return this._options.createComponent(tooltip, Tooltip, {\r\n target: target,\r\n maxHeight: MAX_TOOLTIP_HEIGHT,\r\n rtlEnabled: this._extraOptions.rtlEnabled,\r\n onShown: this._onShown.bind(this),\r\n contentTemplate: this._getContentTemplate(dataList),\r\n wrapperAttr: {\r\n class: APPOINTMENT_TOOLTIP_WRAPPER_CLASS\r\n }\r\n })\r\n }\r\n _onListRender(e) {\r\n return this._extraOptions.dragBehavior && this._extraOptions.dragBehavior(e)\r\n }\r\n _onListItemContextMenu(e) {\r\n var contextMenuEventArgs = this._options.createEventArgs(e);\r\n this._options.onItemContextMenu(contextMenuEventArgs)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/tooltip_strategies/m_mobile_tooltip_strategy.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight,\r\n getOuterHeight,\r\n getWidth\r\n} from \"../../../core/utils/size\";\r\nimport {\r\n getWindow\r\n} from \"../../../core/utils/window\";\r\nimport Overlay from \"../../../ui/overlay/ui.overlay\";\r\nimport {\r\n TooltipStrategyBase\r\n} from \"./m_tooltip_strategy_base\";\r\nvar SLIDE_PANEL_CLASS_NAME = \"dx-scheduler-overlay-panel\";\r\nvar MAX_TABLET_OVERLAY_HEIGHT_FACTOR = .9;\r\nvar MAX_HEIGHT = {\r\n PHONE: 250,\r\n TABLET: \"90%\",\r\n DEFAULT: \"auto\"\r\n};\r\nvar MAX_WIDTH = {\r\n PHONE: \"100%\",\r\n TABLET: \"80%\"\r\n};\r\nvar animationConfig = {\r\n show: {\r\n type: \"slide\",\r\n duration: 300,\r\n from: {\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\",\r\n of: getWindow()\r\n }\r\n },\r\n to: {\r\n position: {\r\n my: \"center\",\r\n at: \"center\",\r\n of: getWindow()\r\n }\r\n }\r\n },\r\n hide: {\r\n type: \"slide\",\r\n duration: 300,\r\n to: {\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\",\r\n of: getWindow()\r\n }\r\n },\r\n from: {\r\n position: {\r\n my: \"center\",\r\n at: \"center\",\r\n of: getWindow()\r\n }\r\n }\r\n }\r\n};\r\nvar createPhoneDeviceConfig = listHeight => ({\r\n shading: false,\r\n width: MAX_WIDTH.PHONE,\r\n height: listHeight > MAX_HEIGHT.PHONE ? MAX_HEIGHT.PHONE : MAX_HEIGHT.DEFAULT,\r\n position: {\r\n my: \"bottom\",\r\n at: \"bottom\",\r\n of: getWindow()\r\n }\r\n});\r\nvar createTabletDeviceConfig = listHeight => {\r\n var currentMaxHeight = getHeight(getWindow()) * MAX_TABLET_OVERLAY_HEIGHT_FACTOR;\r\n return {\r\n shading: true,\r\n width: MAX_WIDTH.TABLET,\r\n height: listHeight > currentMaxHeight ? MAX_HEIGHT.TABLET : MAX_HEIGHT.DEFAULT,\r\n position: {\r\n my: \"center\",\r\n at: \"center\",\r\n of: getWindow()\r\n }\r\n }\r\n};\r\nexport class MobileTooltipStrategy extends TooltipStrategyBase {\r\n _shouldUseTarget() {\r\n return false\r\n }\r\n _onShowing() {\r\n var isTabletWidth = getWidth(getWindow()) > 700;\r\n this._tooltip.option(\"height\", MAX_HEIGHT.DEFAULT);\r\n var listHeight = getOuterHeight(this._list.$element());\r\n this._tooltip.option(isTabletWidth ? createTabletDeviceConfig(listHeight) : createPhoneDeviceConfig(listHeight))\r\n }\r\n _createTooltip(target, dataList) {\r\n var element = this._createTooltipElement(SLIDE_PANEL_CLASS_NAME);\r\n return this._options.createComponent(element, Overlay, {\r\n target: getWindow(),\r\n hideOnOutsideClick: true,\r\n animation: animationConfig,\r\n onShowing: () => this._onShowing(),\r\n onShown: this._onShown.bind(this),\r\n contentTemplate: this._getContentTemplate(dataList),\r\n wrapperAttr: {\r\n class: SLIDE_PANEL_CLASS_NAME\r\n }\r\n })\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/view_model/to_test/views/utils/agenda.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n setOptionHour\r\n} from \"./base\";\r\nexport var calculateStartViewDate = (currentDate, startDayHour) => {\r\n var validCurrentDate = new Date(currentDate);\r\n return setOptionHour(validCurrentDate, startDayHour)\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/m_table_creator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport {\r\n data as elementData\r\n} from \"../../core/element_data\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nvar ROW_SELECTOR = \"tr\";\r\nclass SchedulerTableCreator {\r\n constructor() {\r\n this.VERTICAL = \"vertical\";\r\n this.HORIZONTAL = \"horizontal\"\r\n }\r\n insertAllDayRow(allDayElements, tableBody, index) {\r\n if (allDayElements[index]) {\r\n var row = allDayElements[index].find(ROW_SELECTOR);\r\n if (!row.length) {\r\n row = $(domAdapter.createElement(ROW_SELECTOR));\r\n row.append(allDayElements[index].get(0))\r\n }\r\n tableBody.appendChild(row.get ? row.get(0) : row)\r\n }\r\n }\r\n makeTable(options) {\r\n var _a;\r\n var tableBody = domAdapter.createElement(\"tbody\");\r\n var templateCallbacks = [];\r\n var row;\r\n var rowCountInGroup = options.groupCount ? options.rowCount / options.groupCount : options.rowCount;\r\n var allDayElementIndex = 0;\r\n var {\r\n allDayElements: allDayElements\r\n } = options;\r\n var {\r\n groupIndex: groupIndex\r\n } = options;\r\n var {\r\n rowCount: rowCount\r\n } = options;\r\n $(options.container).append(tableBody);\r\n if (allDayElements) {\r\n this.insertAllDayRow(allDayElements, tableBody, 0);\r\n allDayElementIndex++\r\n }\r\n for (var rowIndex = 0; rowIndex < rowCount; rowIndex++) {\r\n row = domAdapter.createElement(ROW_SELECTOR);\r\n tableBody.appendChild(row);\r\n var isLastRowInGroup = (rowIndex + 1) % rowCountInGroup === 0;\r\n if (options.rowClass) {\r\n row.className = options.rowClass\r\n }\r\n for (var columnIndex = 0; columnIndex < options.cellCount; columnIndex++) {\r\n var td = domAdapter.createElement(\"td\");\r\n row.appendChild(td);\r\n if (options.cellClass) {\r\n if (isFunction(options.cellClass)) {\r\n td.className = options.cellClass(rowIndex, columnIndex)\r\n } else {\r\n td.className = options.cellClass\r\n }\r\n }\r\n var cellDataObject = void 0;\r\n var dataKey = void 0;\r\n var dataValue = void 0;\r\n if (options.getCellData) {\r\n cellDataObject = options.getCellData(td, rowIndex, columnIndex, groupIndex);\r\n dataKey = cellDataObject.key;\r\n dataValue = cellDataObject.value;\r\n dataKey && elementData(td, dataKey, dataValue)\r\n }\r\n null === (_a = options.setAdditionalClasses) || void 0 === _a ? void 0 : _a.call(options, $(td), dataValue);\r\n if (options.cellTemplate && options.cellTemplate.render) {\r\n var additionalTemplateData = options.getTemplateData ? options.getTemplateData(rowIndex) : {};\r\n var templateOptions = {\r\n model: _extends({\r\n text: options.getCellText ? options.getCellText(rowIndex, columnIndex) : \"\",\r\n date: options.getCellDate ? options.getCellDate(rowIndex) : void 0\r\n }, additionalTemplateData),\r\n container: getPublicElement($(td)),\r\n index: rowIndex * options.cellCount + columnIndex\r\n };\r\n if (dataValue) {\r\n if (dataValue.startDate) {\r\n templateOptions.model.startDate = dataValue.startDate\r\n }\r\n if (dataValue.endDate) {\r\n templateOptions.model.endDate = dataValue.endDate\r\n }\r\n if (dataValue.groups) {\r\n templateOptions.model.groups = dataValue.groups\r\n }\r\n if (dataValue.allDay) {\r\n templateOptions.model.allDay = dataValue.allDay\r\n }\r\n }\r\n templateCallbacks.push(options.cellTemplate.render.bind(options.cellTemplate, templateOptions))\r\n } else if (options.getCellText) {\r\n $(\"<div>\").text(options.getCellText(rowIndex, columnIndex)).addClass(options.getCellTextClass).appendTo($(td))\r\n }\r\n }\r\n if (allDayElements && isLastRowInGroup) {\r\n this.insertAllDayRow(allDayElements, tableBody, allDayElementIndex);\r\n allDayElementIndex++\r\n }\r\n }\r\n return templateCallbacks\r\n }\r\n makeGroupedTable(type, groups, cssClasses, cellCount, cellTemplate, rowCount, groupByDate) {\r\n var rows = [];\r\n if (type === this.VERTICAL) {\r\n rows = this._makeVerticalGroupedRows(groups, cssClasses, cellTemplate, rowCount)\r\n } else {\r\n rows = this._makeHorizontalGroupedRows(groups, cssClasses, cellCount, cellTemplate, groupByDate)\r\n }\r\n return rows\r\n }\r\n makeGroupedTableFromJSON(type, data, config) {\r\n var table;\r\n var cellStorage = [];\r\n var rowIndex = 0;\r\n config = config || {};\r\n var cellTag = config.cellTag || \"td\";\r\n var childrenField = config.childrenField || \"children\";\r\n var titleField = config.titleField || \"title\";\r\n var {\r\n groupTableClass: groupTableClass\r\n } = config;\r\n var {\r\n groupRowClass: groupRowClass\r\n } = config;\r\n var {\r\n groupCellClass: groupCellClass\r\n } = config;\r\n var {\r\n groupCellCustomContent: groupCellCustomContent\r\n } = config;\r\n\r\n function getChildCount(item) {\r\n if (item[childrenField]) {\r\n return item[childrenField].length\r\n }\r\n return 0\r\n }\r\n\r\n function createCell(text, childCount, index, data) {\r\n var cell = {\r\n element: domAdapter.createElement(cellTag),\r\n childCount: childCount\r\n };\r\n if (groupCellClass) {\r\n cell.element.className = groupCellClass\r\n }\r\n var cellText = domAdapter.createTextNode(text);\r\n if (\"function\" === typeof groupCellCustomContent) {\r\n groupCellCustomContent(cell.element, cellText, index, data)\r\n } else {\r\n cell.element.appendChild(cellText)\r\n }\r\n return cell\r\n }! function() {\r\n table = domAdapter.createElement(\"table\");\r\n if (groupTableClass) {\r\n table.className = groupTableClass\r\n }\r\n }();\r\n ! function generateCells(data) {\r\n for (var i = 0; i < data.length; i++) {\r\n var childCount = getChildCount(data[i]);\r\n var cell = createCell(data[i][titleField], childCount, i, data[i]);\r\n if (!cellStorage[rowIndex]) {\r\n cellStorage[rowIndex] = []\r\n }\r\n cellStorage[rowIndex].push(cell);\r\n if (childCount) {\r\n generateCells(data[i][childrenField])\r\n } else {\r\n rowIndex++\r\n }\r\n }\r\n }(data);\r\n void cellStorage.forEach(cells => {\r\n var row = domAdapter.createElement(ROW_SELECTOR);\r\n if (groupRowClass) {\r\n row.className = groupRowClass\r\n }\r\n var rowspans = [];\r\n for (var i = cells.length - 1; i >= 0; i--) {\r\n var prev = cells[i + 1];\r\n var rowspan = cells[i].childCount;\r\n if (prev && prev.childCount) {\r\n rowspan *= prev.childCount\r\n }\r\n rowspans.push(rowspan)\r\n }\r\n rowspans.reverse();\r\n cells.forEach((cell, index) => {\r\n if (rowspans[index]) {\r\n cell.element.setAttribute(\"rowSpan\", rowspans[index])\r\n }\r\n row.appendChild(cell.element)\r\n });\r\n table.appendChild(row)\r\n });\r\n return table\r\n }\r\n _makeFlexGroupedRowCells(group, repeatCount, cssClasses, cellTemplate) {\r\n var repeatByDate = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 1;\r\n var cells = [];\r\n var {\r\n items: items\r\n } = group;\r\n var itemCount = items.length;\r\n for (var i = 0; i < repeatCount * repeatByDate; i++) {\r\n for (var j = 0; j < itemCount; j++) {\r\n var $container = $(\"<div>\");\r\n var cell = {};\r\n if (cellTemplate && cellTemplate.render) {\r\n var templateOptions = {\r\n model: items[j],\r\n container: getPublicElement($container),\r\n index: i * itemCount + j\r\n };\r\n if (group.data) {\r\n templateOptions.model.data = group.data[j]\r\n }\r\n cell.template = cellTemplate.render.bind(cellTemplate, templateOptions)\r\n } else {\r\n $container.text(items[j].text).attr(\"title\", items[j].text).addClass(\"dx-scheduler-group-header-content\");\r\n $container = $(\"<div>\").append($container)\r\n }\r\n var cssClass = isFunction(cssClasses.groupHeaderClass) ? cssClasses.groupHeaderClass(j) : cssClasses.groupHeaderClass;\r\n cell.element = $container.addClass(cssClass);\r\n cells.push(cell)\r\n }\r\n }\r\n return cells\r\n }\r\n _makeVerticalGroupedRows(groups, cssClasses, cellTemplate, rowCount) {\r\n var cellTemplates = [];\r\n var repeatCount = 1;\r\n var cellsArray = [];\r\n var cellIterator = function(cell) {\r\n if (cell.template) {\r\n cellTemplates.push(cell.template)\r\n }\r\n };\r\n for (var i = 0; i < groups.length; i++) {\r\n if (i > 0) {\r\n repeatCount = groups[i - 1].items.length * repeatCount\r\n }\r\n var cells = this._makeFlexGroupedRowCells(groups[i], repeatCount, cssClasses, cellTemplate);\r\n cells.forEach(cellIterator);\r\n cellsArray.push(cells)\r\n }\r\n var rows = [];\r\n var groupCount = cellsArray.length;\r\n for (var _i = 0; _i < groupCount; _i++) {\r\n rows.push($(\"<div>\").addClass(cssClasses.groupHeaderRowClass))\r\n }\r\n for (var _i2 = groupCount - 1; _i2 >= 0; _i2--) {\r\n var currentColumnLength = cellsArray[_i2].length;\r\n for (var j = 0; j < currentColumnLength; j++) {\r\n rows[_i2].append(cellsArray[_i2][j].element)\r\n }\r\n }\r\n return {\r\n elements: $(\"<div>\").addClass(\"dx-scheduler-group-flex-container\").append(rows),\r\n cellTemplates: cellTemplates\r\n }\r\n }\r\n _makeHorizontalGroupedRows(groups, cssClasses, cellCount, cellTemplate, groupByDate) {\r\n var repeatCount = 1;\r\n var groupCount = groups.length;\r\n var rows = [];\r\n var cellTemplates = [];\r\n var repeatByDate = groupByDate ? cellCount : 1;\r\n var cellIterator = function(cell) {\r\n if (cell.template) {\r\n cellTemplates.push(cell.template)\r\n }\r\n return cell.element\r\n };\r\n for (var i = 0; i < groupCount; i++) {\r\n if (i > 0) {\r\n repeatCount = groups[i - 1].items.length * repeatCount\r\n }\r\n var cells = this._makeGroupedRowCells(groups[i], repeatCount, cssClasses, cellTemplate, repeatByDate);\r\n rows.push($(\"<tr>\").addClass(cssClasses.groupRowClass).append(cells.map(cellIterator)))\r\n }\r\n var maxCellCount = rows[groupCount - 1].find(\"th\").length;\r\n for (var j = 0; j < groupCount; j++) {\r\n var $cell = rows[j].find(\"th\");\r\n var colspan = maxCellCount / $cell.length;\r\n if (!groupByDate) {\r\n colspan *= cellCount\r\n }\r\n if (colspan > 1 && 1 === repeatByDate || groupByDate && groupCount > 1) {\r\n $cell.attr(\"colSpan\", colspan)\r\n }\r\n }\r\n return {\r\n elements: rows,\r\n cellTemplates: cellTemplates\r\n }\r\n }\r\n _makeGroupedRowCells(group, repeatCount, cssClasses, cellTemplate, repeatByDate) {\r\n repeatByDate = repeatByDate || 1;\r\n repeatCount *= repeatByDate;\r\n var cells = [];\r\n var {\r\n items: items\r\n } = group;\r\n var itemCount = items.length;\r\n for (var i = 0; i < repeatCount; i++) {\r\n for (var j = 0; j < itemCount; j++) {\r\n var $container = $(\"<div>\");\r\n var cell = {};\r\n if (cellTemplate && cellTemplate.render) {\r\n var templateOptions = {\r\n model: items[j],\r\n container: getPublicElement($container),\r\n index: i * itemCount + j\r\n };\r\n if (group.data) {\r\n templateOptions.model.data = group.data[j]\r\n }\r\n cell.template = cellTemplate.render.bind(cellTemplate, templateOptions)\r\n } else {\r\n $container.text(items[j].text);\r\n $container = $(\"<div>\").append($container)\r\n }\r\n $container.addClass(cssClasses.groupHeaderContentClass);\r\n var cssClass = void 0;\r\n if (isFunction(cssClasses.groupHeaderClass)) {\r\n cssClass = cssClasses.groupHeaderClass(j)\r\n } else {\r\n cssClass = cssClasses.groupHeaderClass\r\n }\r\n cell.element = $(\"<th>\").addClass(cssClass).append($container);\r\n cells.push(cell)\r\n }\r\n }\r\n return cells\r\n }\r\n}\r\nexport default {\r\n tableCreator: new SchedulerTableCreator\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/scheduler/date_table.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport Component from \"../common/component\";\r\nexport class DateTable extends Component {\r\n _setOptionsByReference() {\r\n super._setOptionsByReference();\r\n this._optionsByReference = _extends({}, this._optionsByReference, {\r\n dataCellTemplate: true\r\n })\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/ordinary_cell.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"children\", \"className\", \"colSpan\", \"styles\"];\r\nimport {\r\n createVNode\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n normalizeStyles\r\n} from \"@devextreme/runtime/inferno\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n props: {\r\n children: children,\r\n className: className,\r\n colSpan: colSpan,\r\n styles: styles\r\n }\r\n } = _ref;\r\n return createVNode(1, \"td\", className, children, 0, {\r\n style: normalizeStyles(styles),\r\n colSpan: colSpan\r\n })\r\n};\r\nexport var CellProps = {};\r\nexport class OrdinaryCell extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nOrdinaryCell.defaultProps = CellProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/header_cell.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"children\", \"className\", \"colSpan\", \"styles\"];\r\nimport {\r\n createVNode\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n normalizeStyles\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n CellProps\r\n} from \"./ordinary_cell\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n props: {\r\n children: children,\r\n className: className,\r\n colSpan: colSpan,\r\n styles: styles\r\n }\r\n } = _ref;\r\n return createVNode(1, \"th\", className, children, 0, {\r\n style: normalizeStyles(styles),\r\n colSpan: colSpan\r\n })\r\n};\r\nexport class HeaderCell extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nHeaderCell.defaultProps = CellProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/virtual_cell.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"colSpan\", \"isHeaderCell\", \"width\"];\r\nimport {\r\n createComponentVNode\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n addWidthToStyle\r\n} from \"../utils\";\r\nimport {\r\n HeaderCell\r\n} from \"./header_cell\";\r\nimport {\r\n OrdinaryCell\r\n} from \"./ordinary_cell\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n props: {\r\n colSpan: colSpan,\r\n isHeaderCell: isHeaderCell\r\n },\r\n style: style\r\n } = _ref;\r\n var Cell = isHeaderCell ? HeaderCell : OrdinaryCell;\r\n return createComponentVNode(2, Cell, {\r\n className: \"dx-scheduler-virtual-cell\",\r\n styles: style,\r\n colSpan: colSpan\r\n })\r\n};\r\nexport var VirtualCellProps = {\r\n width: 0,\r\n isHeaderCell: false\r\n};\r\nexport class VirtualCell extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get style() {\r\n var {\r\n width: width\r\n } = this.props;\r\n var {\r\n style: style\r\n } = this.restAttributes;\r\n return addWidthToStyle(width, style)\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n style: this.style,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nVirtualCell.defaultProps = VirtualCellProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/row.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"children\", \"className\", \"isHeaderRow\", \"leftVirtualCellCount\", \"leftVirtualCellWidth\", \"rightVirtualCellCount\", \"rightVirtualCellWidth\", \"styles\"];\r\nimport {\r\n createVNode,\r\n createComponentVNode\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n normalizeStyles\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n VirtualCell\r\n} from \"./virtual_cell\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n hasLeftVirtualCell: hasLeftVirtualCell,\r\n hasRightVirtualCell: hasRightVirtualCell,\r\n props: {\r\n children: children,\r\n className: className,\r\n isHeaderRow: isHeaderRow,\r\n leftVirtualCellCount: leftVirtualCellCount,\r\n leftVirtualCellWidth: leftVirtualCellWidth,\r\n rightVirtualCellCount: rightVirtualCellCount,\r\n rightVirtualCellWidth: rightVirtualCellWidth,\r\n styles: styles\r\n }\r\n } = _ref;\r\n return createVNode(1, \"tr\", className, [hasLeftVirtualCell && createComponentVNode(2, VirtualCell, {\r\n width: leftVirtualCellWidth,\r\n colSpan: leftVirtualCellCount,\r\n isHeaderCell: isHeaderRow\r\n }), children, hasRightVirtualCell && createComponentVNode(2, VirtualCell, {\r\n width: rightVirtualCellWidth,\r\n colSpan: rightVirtualCellCount,\r\n isHeaderCell: isHeaderRow\r\n })], 0, {\r\n style: normalizeStyles(styles)\r\n })\r\n};\r\nexport var RowProps = {\r\n className: \"\",\r\n leftVirtualCellWidth: 0,\r\n rightVirtualCellWidth: 0,\r\n isHeaderRow: false\r\n};\r\nexport class Row extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get hasLeftVirtualCell() {\r\n var {\r\n leftVirtualCellCount: leftVirtualCellCount\r\n } = this.props;\r\n return !!leftVirtualCellCount\r\n }\r\n get hasRightVirtualCell() {\r\n var {\r\n rightVirtualCellCount: rightVirtualCellCount\r\n } = this.props;\r\n return !!rightVirtualCellCount\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n hasLeftVirtualCell: this.hasLeftVirtualCell,\r\n hasRightVirtualCell: this.hasRightVirtualCell,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nRow.defaultProps = RowProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/virtual_row.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"cellsCount\", \"children\", \"className\", \"height\", \"isHeaderRow\", \"leftVirtualCellCount\", \"leftVirtualCellWidth\", \"rightVirtualCellCount\", \"rightVirtualCellWidth\", \"styles\"];\r\nimport {\r\n createComponentVNode\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n addHeightToStyle\r\n} from \"../utils\";\r\nimport {\r\n RowProps,\r\n Row\r\n} from \"./row\";\r\nimport {\r\n VirtualCell\r\n} from \"./virtual_cell\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n classes: classes,\r\n props: {\r\n leftVirtualCellCount: leftVirtualCellCount,\r\n leftVirtualCellWidth: leftVirtualCellWidth,\r\n rightVirtualCellCount: rightVirtualCellCount,\r\n rightVirtualCellWidth: rightVirtualCellWidth\r\n },\r\n style: style,\r\n virtualCells: virtualCells\r\n } = _ref;\r\n return createComponentVNode(2, Row, {\r\n styles: style,\r\n className: classes,\r\n leftVirtualCellWidth: leftVirtualCellWidth,\r\n rightVirtualCellWidth: rightVirtualCellWidth,\r\n leftVirtualCellCount: leftVirtualCellCount,\r\n rightVirtualCellCount: rightVirtualCellCount,\r\n children: virtualCells.map((_, index) => createComponentVNode(2, VirtualCell, null, index.toString()))\r\n })\r\n};\r\nexport var VirtualRowProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(RowProps), Object.getOwnPropertyDescriptors({\r\n leftVirtualCellWidth: 0,\r\n rightVirtualCellWidth: 0,\r\n cellsCount: 1\r\n})));\r\nexport class VirtualRow extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.__getterCache = {}\r\n }\r\n get style() {\r\n var {\r\n height: height\r\n } = this.props;\r\n var {\r\n style: style\r\n } = this.restAttributes;\r\n return addHeightToStyle(height, style)\r\n }\r\n get classes() {\r\n var {\r\n className: className\r\n } = this.props;\r\n return \"dx-scheduler-virtual-row \".concat(className)\r\n }\r\n get virtualCells() {\r\n if (void 0 !== this.__getterCache.virtualCells) {\r\n return this.__getterCache.virtualCells\r\n }\r\n return this.__getterCache.virtualCells = (() => {\r\n var {\r\n cellsCount: cellsCount\r\n } = this.props;\r\n return [...Array(cellsCount)]\r\n })()\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n if (this.props.cellsCount !== nextProps.cellsCount) {\r\n this.__getterCache.virtualCells = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n style: this.style,\r\n classes: this.classes,\r\n virtualCells: this.virtualCells,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nVirtualRow.defaultProps = VirtualRowProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/table.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"bottomVirtualRowHeight\", \"children\", \"className\", \"height\", \"leftVirtualCellCount\", \"leftVirtualCellWidth\", \"rightVirtualCellCount\", \"rightVirtualCellWidth\", \"tableRef\", \"topVirtualRowHeight\", \"virtualCellsCount\", \"width\"];\r\nimport {\r\n createVNode,\r\n createComponentVNode\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n normalizeStyles\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n addHeightToStyle,\r\n addWidthToStyle\r\n} from \"../utils\";\r\nimport {\r\n VirtualRow\r\n} from \"./virtual_row\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n hasBottomVirtualRow: hasBottomVirtualRow,\r\n hasTopVirtualRow: hasTopVirtualRow,\r\n props: {\r\n bottomVirtualRowHeight: bottomVirtualRowHeight,\r\n children: children,\r\n className: className,\r\n leftVirtualCellCount: leftVirtualCellCount,\r\n leftVirtualCellWidth: leftVirtualCellWidth,\r\n rightVirtualCellCount: rightVirtualCellCount,\r\n rightVirtualCellWidth: rightVirtualCellWidth,\r\n tableRef: tableRef,\r\n topVirtualRowHeight: topVirtualRowHeight,\r\n virtualCellsCount: virtualCellsCount\r\n },\r\n style: style\r\n } = _ref;\r\n return createVNode(1, \"table\", className, createVNode(1, \"tbody\", null, [hasTopVirtualRow && createComponentVNode(2, VirtualRow, {\r\n height: topVirtualRowHeight,\r\n cellsCount: virtualCellsCount,\r\n leftVirtualCellWidth: leftVirtualCellWidth,\r\n rightVirtualCellWidth: rightVirtualCellWidth,\r\n leftVirtualCellCount: leftVirtualCellCount,\r\n rightVirtualCellCount: rightVirtualCellCount\r\n }), children, hasBottomVirtualRow && createComponentVNode(2, VirtualRow, {\r\n height: bottomVirtualRowHeight,\r\n cellsCount: virtualCellsCount,\r\n leftVirtualCellWidth: leftVirtualCellWidth,\r\n rightVirtualCellWidth: rightVirtualCellWidth,\r\n leftVirtualCellCount: leftVirtualCellCount,\r\n rightVirtualCellCount: rightVirtualCellCount\r\n })], 0), 2, {\r\n style: normalizeStyles(style)\r\n }, null, tableRef)\r\n};\r\nexport var TableProps = {\r\n className: \"\",\r\n topVirtualRowHeight: 0,\r\n bottomVirtualRowHeight: 0,\r\n leftVirtualCellWidth: 0,\r\n rightVirtualCellWidth: 0,\r\n virtualCellsCount: 0\r\n};\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class Table extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.elementRef = infernoCreateRef()\r\n }\r\n get style() {\r\n var {\r\n height: height,\r\n width: width\r\n } = this.props;\r\n var {\r\n style: style\r\n } = this.restAttributes;\r\n var heightAdded = addHeightToStyle(height, style);\r\n return addWidthToStyle(width, heightAdded)\r\n }\r\n get hasTopVirtualRow() {\r\n var {\r\n topVirtualRowHeight: topVirtualRowHeight\r\n } = this.props;\r\n return !!topVirtualRowHeight\r\n }\r\n get hasBottomVirtualRow() {\r\n var {\r\n bottomVirtualRowHeight: bottomVirtualRowHeight\r\n } = this.props;\r\n return !!bottomVirtualRowHeight\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n elementRef: this.elementRef,\r\n style: this.style,\r\n hasTopVirtualRow: this.hasTopVirtualRow,\r\n hasBottomVirtualRow: this.hasBottomVirtualRow,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nTable.defaultProps = TableProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/const.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var DefaultSizes = {\r\n allDayPanelHeight: 25\r\n};\r\nexport var DATE_TABLE_CELL_CLASS = \"dx-scheduler-date-table-cell\";\r\nexport var ALL_DAY_PANEL_CELL_CLASS = \"dx-scheduler-all-day-table-cell\";\r\nexport var DATE_TABLE_ROW_CLASS = \"dx-scheduler-date-table-row\";\r\nexport var ALL_DAY_ROW_CLASS = \"dx-scheduler-all-day-table-row\";\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/cell.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"allDay\", \"ariaLabel\", \"children\", \"className\", \"contentTemplateProps\", \"endDate\", \"groupIndex\", \"groups\", \"index\", \"isFirstGroupCell\", \"isLastGroupCell\", \"startDate\", \"text\"];\r\nimport {\r\n createVNode\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n getGroupCellClasses\r\n} from \"../utils\";\r\nexport var viewFunction = viewModel => createVNode(1, \"td\", viewModel.classes, viewModel.props.children, 0, {\r\n \"aria-label\": viewModel.props.ariaLabel\r\n});\r\nexport var CellBaseProps = {\r\n className: \"\",\r\n isFirstGroupCell: false,\r\n isLastGroupCell: false,\r\n startDate: Object.freeze(new Date),\r\n endDate: Object.freeze(new Date),\r\n allDay: false,\r\n text: \"\",\r\n index: 0,\r\n contentTemplateProps: Object.freeze({\r\n data: {},\r\n index: 0\r\n })\r\n};\r\nexport class CellBase extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get classes() {\r\n var {\r\n className: className,\r\n isFirstGroupCell: isFirstGroupCell,\r\n isLastGroupCell: isLastGroupCell\r\n } = this.props;\r\n return getGroupCellClasses(isFirstGroupCell, isLastGroupCell, className)\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n classes: this.classes,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nCellBase.defaultProps = CellBaseProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/date_table/cell.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"allDay\", \"ariaLabel\", \"children\", \"className\", \"contentTemplateProps\", \"dataCellTemplate\", \"endDate\", \"firstDayOfMonth\", \"groupIndex\", \"groups\", \"index\", \"isFirstGroupCell\", \"isFocused\", \"isLastGroupCell\", \"isSelected\", \"otherMonth\", \"startDate\", \"text\", \"today\"];\r\nimport {\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n CellBase as Cell,\r\n CellBaseProps\r\n} from \"../cell\";\r\nimport {\r\n combineClasses\r\n} from \"../../../../../utils/combine_classes\";\r\nimport {\r\n DATE_TABLE_CELL_CLASS\r\n} from \"../../const\";\r\nvar ADD_APPOINTMENT_LABEL = \"Add appointment\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n ariaLabel: ariaLabel,\r\n classes: classes,\r\n dataCellTemplateProps: dataCellTemplateProps,\r\n props: {\r\n children: children,\r\n dataCellTemplate: DataCellTemplate,\r\n isFirstGroupCell: isFirstGroupCell,\r\n isLastGroupCell: isLastGroupCell\r\n }\r\n } = _ref;\r\n return createComponentVNode(2, Cell, {\r\n isFirstGroupCell: isFirstGroupCell,\r\n isLastGroupCell: isLastGroupCell,\r\n className: classes,\r\n ariaLabel: ariaLabel,\r\n children: [!DataCellTemplate && children, !!DataCellTemplate && DataCellTemplate({\r\n index: dataCellTemplateProps.index,\r\n data: dataCellTemplateProps.data\r\n })]\r\n })\r\n};\r\nexport var DateTableCellBaseProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(CellBaseProps), Object.getOwnPropertyDescriptors({\r\n otherMonth: false,\r\n today: false,\r\n firstDayOfMonth: false,\r\n isSelected: false,\r\n isFocused: false\r\n})));\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class DateTableCellBase extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.__getterCache = {}\r\n }\r\n get classes() {\r\n var {\r\n allDay: allDay,\r\n className: className,\r\n isFocused: isFocused,\r\n isSelected: isSelected\r\n } = this.props;\r\n return combineClasses({\r\n \"dx-scheduler-cell-sizes-horizontal\": true,\r\n \"dx-scheduler-cell-sizes-vertical\": !allDay,\r\n [DATE_TABLE_CELL_CLASS]: !allDay,\r\n \"dx-state-focused\": isSelected,\r\n \"dx-scheduler-focused-cell\": isFocused,\r\n [className]: true\r\n })\r\n }\r\n get dataCellTemplateProps() {\r\n if (void 0 !== this.__getterCache.dataCellTemplateProps) {\r\n return this.__getterCache.dataCellTemplateProps\r\n }\r\n return this.__getterCache.dataCellTemplateProps = (() => {\r\n var {\r\n allDay: allDay,\r\n contentTemplateProps: contentTemplateProps,\r\n endDate: endDate,\r\n groupIndex: groupIndex,\r\n groups: groups,\r\n index: index,\r\n startDate: startDate\r\n } = this.props;\r\n return {\r\n data: _extends({\r\n startDate: startDate,\r\n endDate: endDate,\r\n groups: groups,\r\n groupIndex: groups ? groupIndex : void 0,\r\n text: \"\",\r\n allDay: !!allDay || void 0\r\n }, contentTemplateProps.data),\r\n index: index\r\n }\r\n })()\r\n }\r\n get ariaLabel() {\r\n return this.props.isSelected ? ADD_APPOINTMENT_LABEL : void 0\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n if (this.props.allDay !== nextProps.allDay || this.props.contentTemplateProps !== nextProps.contentTemplateProps || this.props.endDate !== nextProps.endDate || this.props.groupIndex !== nextProps.groupIndex || this.props.groups !== nextProps.groups || this.props.index !== nextProps.index || this.props.startDate !== nextProps.startDate) {\r\n this.__getterCache.dataCellTemplateProps = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n dataCellTemplate: getTemplate(props.dataCellTemplate)\r\n }),\r\n classes: this.classes,\r\n dataCellTemplateProps: this.dataCellTemplateProps,\r\n ariaLabel: this.ariaLabel,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nDateTableCellBase.defaultProps = DateTableCellBaseProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/cell.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"allDay\", \"ariaLabel\", \"children\", \"className\", \"contentTemplateProps\", \"dataCellTemplate\", \"endDate\", \"firstDayOfMonth\", \"groupIndex\", \"groups\", \"index\", \"isFirstGroupCell\", \"isFocused\", \"isLastGroupCell\", \"isSelected\", \"otherMonth\", \"startDate\", \"text\", \"today\"];\r\nimport {\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n ALL_DAY_PANEL_CELL_CLASS\r\n} from \"../../../const\";\r\nimport {\r\n DateTableCellBaseProps,\r\n DateTableCellBase\r\n} from \"../cell\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n props: {\r\n className: className,\r\n dataCellTemplate: dataCellTemplate,\r\n endDate: endDate,\r\n groupIndex: groupIndex,\r\n groups: groups,\r\n index: index,\r\n isFirstGroupCell: isFirstGroupCell,\r\n isFocused: isFocused,\r\n isLastGroupCell: isLastGroupCell,\r\n isSelected: isSelected,\r\n startDate: startDate\r\n }\r\n } = _ref;\r\n return createComponentVNode(2, DateTableCellBase, {\r\n className: \"\".concat(ALL_DAY_PANEL_CELL_CLASS, \" \").concat(className),\r\n startDate: startDate,\r\n endDate: endDate,\r\n groups: groups,\r\n groupIndex: groupIndex,\r\n allDay: true,\r\n isFirstGroupCell: isFirstGroupCell,\r\n isLastGroupCell: isLastGroupCell,\r\n index: index,\r\n dataCellTemplate: dataCellTemplate,\r\n isSelected: isSelected,\r\n isFocused: isFocused\r\n })\r\n};\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class AllDayPanelCell extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n dataCellTemplate: getTemplate(props.dataCellTemplate)\r\n }),\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nAllDayPanelCell.defaultProps = DateTableCellBaseProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/table_body.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"className\", \"dataCellTemplate\", \"isVerticalGroupOrientation\", \"leftVirtualCellCount\", \"leftVirtualCellWidth\", \"rightVirtualCellCount\", \"rightVirtualCellWidth\", \"viewData\"];\r\nimport {\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n Row\r\n} from \"../../row\";\r\nimport {\r\n AllDayPanelCell as Cell\r\n} from \"./cell\";\r\nimport {\r\n combineClasses\r\n} from \"../../../../../../utils/combine_classes\";\r\nexport var viewFunction = viewModel => createComponentVNode(2, Row, {\r\n leftVirtualCellWidth: viewModel.props.leftVirtualCellWidth,\r\n rightVirtualCellWidth: viewModel.props.rightVirtualCellWidth,\r\n leftVirtualCellCount: viewModel.props.leftVirtualCellCount,\r\n rightVirtualCellCount: viewModel.props.rightVirtualCellCount,\r\n className: viewModel.classes,\r\n children: viewModel.props.viewData.map(_ref => {\r\n var {\r\n endDate: endDate,\r\n groupIndex: cellGroupIndex,\r\n groups: groups,\r\n index: cellIndex,\r\n isFirstGroupCell: isFirstGroupCell,\r\n isFocused: isFocused,\r\n isLastGroupCell: isLastGroupCell,\r\n isSelected: isSelected,\r\n key: key,\r\n startDate: startDate\r\n } = _ref;\r\n return createComponentVNode(2, Cell, {\r\n isFirstGroupCell: !viewModel.props.isVerticalGroupOrientation && isFirstGroupCell,\r\n isLastGroupCell: !viewModel.props.isVerticalGroupOrientation && isLastGroupCell,\r\n startDate: startDate,\r\n endDate: endDate,\r\n groups: groups,\r\n groupIndex: cellGroupIndex,\r\n index: cellIndex,\r\n dataCellTemplate: viewModel.props.dataCellTemplate,\r\n isSelected: isSelected,\r\n isFocused: isFocused\r\n }, key)\r\n })\r\n});\r\nexport var AllDayPanelTableBodyProps = {\r\n viewData: Object.freeze([]),\r\n isVerticalGroupOrientation: false,\r\n className: \"\",\r\n leftVirtualCellWidth: 0,\r\n rightVirtualCellWidth: 0\r\n};\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class AllDayPanelTableBody extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get classes() {\r\n var {\r\n className: className\r\n } = this.props;\r\n return combineClasses({\r\n \"dx-scheduler-all-day-table-row\": true,\r\n [className]: !!className\r\n })\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n dataCellTemplate: getTemplate(props.dataCellTemplate)\r\n }),\r\n classes: this.classes,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nAllDayPanelTableBody.defaultProps = AllDayPanelTableBodyProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/layout_props.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var LayoutProps = {\r\n viewData: Object.freeze({\r\n groupedData: [],\r\n leftVirtualCellCount: 0,\r\n rightVirtualCellCount: 0,\r\n topVirtualRowCount: 0,\r\n bottomVirtualRowCount: 0\r\n }),\r\n leftVirtualCellWidth: 0,\r\n rightVirtualCellWidth: 0,\r\n topVirtualRowHeight: 0,\r\n bottomVirtualRowHeight: 0,\r\n addDateTableClass: true,\r\n addVerticalSizesClassToRows: true\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/table.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"addDateTableClass\", \"addVerticalSizesClassToRows\", \"bottomVirtualRowHeight\", \"dataCellTemplate\", \"groupOrientation\", \"leftVirtualCellWidth\", \"rightVirtualCellWidth\", \"tableRef\", \"topVirtualRowHeight\", \"viewData\", \"width\"];\r\nimport {\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n InfernoWrapperComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n Table\r\n} from \"../../table\";\r\nimport {\r\n AllDayPanelTableBody\r\n} from \"./table_body\";\r\nimport {\r\n LayoutProps\r\n} from \"../../layout_props\";\r\nimport {\r\n DefaultSizes\r\n} from \"../../../const\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n allDayPanelData: allDayPanelData,\r\n emptyTableHeight: emptyTableHeight,\r\n props: {\r\n dataCellTemplate: dataCellTemplate,\r\n tableRef: tableRef,\r\n viewData: viewData,\r\n width: width\r\n }\r\n } = _ref;\r\n return createComponentVNode(2, Table, {\r\n className: \"dx-scheduler-all-day-table\",\r\n height: emptyTableHeight,\r\n width: width,\r\n tableRef: tableRef,\r\n children: createComponentVNode(2, AllDayPanelTableBody, {\r\n viewData: allDayPanelData,\r\n leftVirtualCellWidth: viewData.leftVirtualCellWidth,\r\n rightVirtualCellWidth: viewData.rightVirtualCellWidth,\r\n leftVirtualCellCount: viewData.leftVirtualCellCount,\r\n rightVirtualCellCount: viewData.rightVirtualCellCount,\r\n dataCellTemplate: dataCellTemplate\r\n })\r\n })\r\n};\r\nexport var AllDayTableProps = LayoutProps;\r\nimport {\r\n createReRenderEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class AllDayTable extends InfernoWrapperComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.__getterCache = {}\r\n }\r\n createEffects() {\r\n return [createReRenderEffect()]\r\n }\r\n get allDayPanelData() {\r\n if (void 0 !== this.__getterCache.allDayPanelData) {\r\n return this.__getterCache.allDayPanelData\r\n }\r\n return this.__getterCache.allDayPanelData = (() => this.props.viewData.groupedData[0].allDayPanel)()\r\n }\r\n get emptyTableHeight() {\r\n return this.allDayPanelData ? void 0 : DefaultSizes.allDayPanelHeight\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n super.componentWillUpdate();\r\n if (this.props.viewData !== nextProps.viewData) {\r\n this.__getterCache.allDayPanelData = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n dataCellTemplate: getTemplate(props.dataCellTemplate)\r\n }),\r\n allDayPanelData: this.allDayPanelData,\r\n emptyTableHeight: this.emptyTableHeight,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nAllDayTable.defaultProps = AllDayTableProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/table.j.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../../../../../../core/component_registrator\";\r\nimport {\r\n DateTable\r\n} from \"../../../../../../component_wrapper/scheduler/date_table\";\r\nimport {\r\n AllDayTable as AllDayTableComponent\r\n} from \"./table\";\r\nexport default class AllDayTable extends DateTable {\r\n get _propsInfo() {\r\n return {\r\n twoWay: [],\r\n allowNull: [],\r\n elements: [],\r\n templates: [\"dataCellTemplate\"],\r\n props: [\"viewData\", \"groupOrientation\", \"leftVirtualCellWidth\", \"rightVirtualCellWidth\", \"topVirtualRowHeight\", \"bottomVirtualRowHeight\", \"addDateTableClass\", \"addVerticalSizesClassToRows\", \"width\", \"dataCellTemplate\"]\r\n }\r\n }\r\n get _viewComponent() {\r\n return AllDayTableComponent\r\n }\r\n}\r\nregisterComponent(\"dxAllDayTable\", AllDayTable);\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/title.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectDestructuringEmpty from \"@babel/runtime/helpers/esm/objectDestructuringEmpty\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n createVNode\r\n} from \"inferno\";\r\nimport {\r\n InfernoWrapperComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport messageLocalization from \"../../../../../../../localization/message\";\r\nexport var viewFunction = viewModel => createVNode(1, \"div\", \"dx-scheduler-all-day-title\", viewModel.text, 0);\r\nexport var AllDayPanelTitleProps = {};\r\nimport {\r\n createReRenderEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nexport class AllDayPanelTitle extends InfernoWrapperComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n createEffects() {\r\n return [createReRenderEffect()]\r\n }\r\n get text() {\r\n return messageLocalization.format(\"dxScheduler-allDay\")\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _extends({}, (_objectDestructuringEmpty(_this$props), _this$props));\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n text: this.text,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nAllDayPanelTitle.defaultProps = AllDayPanelTitleProps;\r\n","function _objectDestructuringEmpty(t) {\n if (null == t) throw new TypeError(\"Cannot destructure \" + t);\n}\nexport { _objectDestructuringEmpty as default };","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/title.j.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../../../../../../core/component_registrator\";\r\nimport BaseComponent from \"../../../../../../component_wrapper/common/component\";\r\nimport {\r\n AllDayPanelTitle as AllDayPanelTitleComponent\r\n} from \"./title\";\r\nexport default class AllDayPanelTitle extends BaseComponent {\r\n get _propsInfo() {\r\n return {\r\n twoWay: [],\r\n allowNull: [],\r\n elements: [],\r\n templates: [],\r\n props: []\r\n }\r\n }\r\n get _viewComponent() {\r\n return AllDayPanelTitleComponent\r\n }\r\n}\r\nregisterComponent(\"dxAllDayPanelTitle\", AllDayPanelTitle);\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/date_table/table_body.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"addDateTableClass\", \"addVerticalSizesClassToRows\", \"bottomVirtualRowHeight\", \"cellTemplate\", \"dataCellTemplate\", \"groupOrientation\", \"leftVirtualCellWidth\", \"rightVirtualCellWidth\", \"topVirtualRowHeight\", \"viewData\", \"width\"];\r\nimport {\r\n createFragment,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n Fragment\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n Row\r\n} from \"../row\";\r\nimport {\r\n AllDayPanelTableBody\r\n} from \"./all_day_panel/table_body\";\r\nimport {\r\n LayoutProps\r\n} from \"../layout_props\";\r\nimport {\r\n DateTableCellBase\r\n} from \"./cell\";\r\nimport {\r\n combineClasses\r\n} from \"../../../../../utils/combine_classes\";\r\nimport {\r\n DATE_TABLE_ROW_CLASS\r\n} from \"../../const\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n props: {\r\n cellTemplate: Cell,\r\n dataCellTemplate: dataCellTemplate,\r\n viewData: viewData\r\n },\r\n rowClasses: rowClasses\r\n } = _ref;\r\n return createFragment(viewData.groupedData.map(_ref2 => {\r\n var {\r\n allDayPanel: allDayPanel,\r\n dateTable: dateTable,\r\n isGroupedAllDayPanel: isGroupedAllDayPanel,\r\n key: fragmentKey\r\n } = _ref2;\r\n return createFragment([isGroupedAllDayPanel && createComponentVNode(2, AllDayPanelTableBody, {\r\n viewData: allDayPanel,\r\n dataCellTemplate: dataCellTemplate,\r\n isVerticalGroupOrientation: true,\r\n leftVirtualCellWidth: viewData.leftVirtualCellWidth,\r\n rightVirtualCellWidth: viewData.rightVirtualCellWidth,\r\n leftVirtualCellCount: viewData.leftVirtualCellCount,\r\n rightVirtualCellCount: viewData.rightVirtualCellCount\r\n }), dateTable.map(_ref3 => {\r\n var {\r\n cells: cells,\r\n key: rowKey\r\n } = _ref3;\r\n return createComponentVNode(2, Row, {\r\n className: rowClasses,\r\n leftVirtualCellWidth: viewData.leftVirtualCellWidth,\r\n rightVirtualCellWidth: viewData.rightVirtualCellWidth,\r\n leftVirtualCellCount: viewData.leftVirtualCellCount,\r\n rightVirtualCellCount: viewData.rightVirtualCellCount,\r\n children: cells.map(_ref4 => {\r\n var {\r\n endDate: endDate,\r\n firstDayOfMonth: firstDayOfMonth,\r\n groupIndex: cellGroupIndex,\r\n groups: groups,\r\n index: cellIndex,\r\n isFirstGroupCell: isFirstGroupCell,\r\n isFocused: isFocused,\r\n isLastGroupCell: isLastGroupCell,\r\n isSelected: isSelected,\r\n key: key,\r\n otherMonth: otherMonth,\r\n startDate: startDate,\r\n text: text,\r\n today: today\r\n } = _ref4;\r\n return Cell({\r\n isFirstGroupCell: isFirstGroupCell,\r\n isLastGroupCell: isLastGroupCell,\r\n startDate: startDate,\r\n endDate: endDate,\r\n groups: groups,\r\n groupIndex: cellGroupIndex,\r\n index: cellIndex,\r\n dataCellTemplate: dataCellTemplate,\r\n key: key,\r\n text: text,\r\n today: today,\r\n otherMonth: otherMonth,\r\n firstDayOfMonth: firstDayOfMonth,\r\n isSelected: isSelected,\r\n isFocused: isFocused\r\n })\r\n })\r\n }, rowKey)\r\n })], 0, fragmentKey)\r\n }), 0)\r\n};\r\nexport var DateTableBodyProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(LayoutProps), Object.getOwnPropertyDescriptors({\r\n cellTemplate: DateTableCellBase\r\n})));\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class DateTableBody extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get rowClasses() {\r\n var {\r\n addVerticalSizesClassToRows: addVerticalSizesClassToRows\r\n } = this.props;\r\n return combineClasses({\r\n [DATE_TABLE_ROW_CLASS]: true,\r\n \"dx-scheduler-cell-sizes-vertical\": addVerticalSizesClassToRows\r\n })\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n cellTemplate: getTemplate(props.cellTemplate),\r\n dataCellTemplate: getTemplate(props.dataCellTemplate)\r\n }),\r\n rowClasses: this.rowClasses,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nDateTableBody.defaultProps = DateTableBodyProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/date_table/layout.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"addDateTableClass\", \"addVerticalSizesClassToRows\", \"bottomVirtualRowHeight\", \"cellTemplate\", \"dataCellTemplate\", \"groupOrientation\", \"leftVirtualCellWidth\", \"rightVirtualCellWidth\", \"tableRef\", \"topVirtualRowHeight\", \"viewData\", \"width\"];\r\nimport {\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n InfernoWrapperComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n Table\r\n} from \"../table\";\r\nimport {\r\n DateTableBody\r\n} from \"./table_body\";\r\nimport {\r\n LayoutProps\r\n} from \"../layout_props\";\r\nimport {\r\n DateTableCellBase\r\n} from \"./cell\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n bottomVirtualRowHeight: bottomVirtualRowHeight,\r\n classes: classes,\r\n leftVirtualCellWidth: leftVirtualCellWidth,\r\n props: {\r\n addVerticalSizesClassToRows: addVerticalSizesClassToRows,\r\n cellTemplate: cellTemplate,\r\n dataCellTemplate: dataCellTemplate,\r\n groupOrientation: groupOrientation,\r\n tableRef: tableRef,\r\n viewData: viewData,\r\n width: width\r\n },\r\n restAttributes: restAttributes,\r\n rightVirtualCellWidth: rightVirtualCellWidth,\r\n topVirtualRowHeight: topVirtualRowHeight,\r\n virtualCellsCount: virtualCellsCount\r\n } = _ref;\r\n return normalizeProps(createComponentVNode(2, Table, _extends({}, restAttributes, {\r\n tableRef: tableRef,\r\n topVirtualRowHeight: topVirtualRowHeight,\r\n bottomVirtualRowHeight: bottomVirtualRowHeight,\r\n leftVirtualCellWidth: leftVirtualCellWidth,\r\n rightVirtualCellWidth: rightVirtualCellWidth,\r\n leftVirtualCellCount: viewData.leftVirtualCellCount,\r\n rightVirtualCellCount: viewData.rightVirtualCellCount,\r\n virtualCellsCount: virtualCellsCount,\r\n className: classes,\r\n width: width,\r\n children: createComponentVNode(2, DateTableBody, {\r\n cellTemplate: cellTemplate,\r\n viewData: viewData,\r\n dataCellTemplate: dataCellTemplate,\r\n leftVirtualCellWidth: leftVirtualCellWidth,\r\n rightVirtualCellWidth: rightVirtualCellWidth,\r\n groupOrientation: groupOrientation,\r\n addVerticalSizesClassToRows: addVerticalSizesClassToRows\r\n })\r\n })))\r\n};\r\nexport var DateTableLayoutProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(LayoutProps), Object.getOwnPropertyDescriptors({\r\n cellTemplate: DateTableCellBase\r\n})));\r\nimport {\r\n createReRenderEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class DateTableLayoutBase extends InfernoWrapperComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n createEffects() {\r\n return [createReRenderEffect()]\r\n }\r\n get classes() {\r\n var {\r\n addDateTableClass: addDateTableClass\r\n } = this.props;\r\n return addDateTableClass ? \"dx-scheduler-date-table\" : void 0\r\n }\r\n get topVirtualRowHeight() {\r\n var _this$props$viewData$;\r\n return null !== (_this$props$viewData$ = this.props.viewData.topVirtualRowHeight) && void 0 !== _this$props$viewData$ ? _this$props$viewData$ : 0\r\n }\r\n get bottomVirtualRowHeight() {\r\n var _this$props$viewData$2;\r\n return null !== (_this$props$viewData$2 = this.props.viewData.bottomVirtualRowHeight) && void 0 !== _this$props$viewData$2 ? _this$props$viewData$2 : 0\r\n }\r\n get leftVirtualCellWidth() {\r\n var _this$props$viewData$3;\r\n return null !== (_this$props$viewData$3 = this.props.viewData.leftVirtualCellWidth) && void 0 !== _this$props$viewData$3 ? _this$props$viewData$3 : 0\r\n }\r\n get rightVirtualCellWidth() {\r\n var _this$props$viewData$4;\r\n return null !== (_this$props$viewData$4 = this.props.viewData.rightVirtualCellWidth) && void 0 !== _this$props$viewData$4 ? _this$props$viewData$4 : 0\r\n }\r\n get virtualCellsCount() {\r\n return this.props.viewData.groupedData[0].dateTable[0].cells.length\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n cellTemplate: getTemplate(props.cellTemplate),\r\n dataCellTemplate: getTemplate(props.dataCellTemplate)\r\n }),\r\n classes: this.classes,\r\n topVirtualRowHeight: this.topVirtualRowHeight,\r\n bottomVirtualRowHeight: this.bottomVirtualRowHeight,\r\n leftVirtualCellWidth: this.leftVirtualCellWidth,\r\n rightVirtualCellWidth: this.rightVirtualCellWidth,\r\n virtualCellsCount: this.virtualCellsCount,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nDateTableLayoutBase.defaultProps = DateTableLayoutProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/date_table/layout.j.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../../../../../core/component_registrator\";\r\nimport {\r\n DateTable\r\n} from \"../../../../../component_wrapper/scheduler/date_table\";\r\nimport {\r\n DateTableLayoutBase as DateTableLayoutBaseComponent\r\n} from \"./layout\";\r\nexport default class DateTableLayoutBase extends DateTable {\r\n get _propsInfo() {\r\n return {\r\n twoWay: [],\r\n allowNull: [],\r\n elements: [],\r\n templates: [\"cellTemplate\", \"dataCellTemplate\"],\r\n props: [\"cellTemplate\", \"viewData\", \"groupOrientation\", \"leftVirtualCellWidth\", \"rightVirtualCellWidth\", \"topVirtualRowHeight\", \"bottomVirtualRowHeight\", \"addDateTableClass\", \"addVerticalSizesClassToRows\", \"width\", \"dataCellTemplate\"]\r\n }\r\n }\r\n get _viewComponent() {\r\n return DateTableLayoutBaseComponent\r\n }\r\n}\r\nregisterComponent(\"dxDateTableLayoutBase\", DateTableLayoutBase);\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/scheduler/group_panel.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport Component from \"../common/component\";\r\nexport class GroupPanelWrapper extends Component {\r\n _setOptionsByReference() {\r\n super._setOptionsByReference();\r\n this._optionsByReference = _extends({}, this._optionsByReference, {\r\n resourceCellTemplate: true\r\n })\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/group_panel/group_panel_props.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var GroupPanelBaseProps = {\r\n groupPanelData: Object.freeze({\r\n groupPanelItems: [],\r\n baseColSpan: 1\r\n }),\r\n groupByDate: false\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/group_panel/cell_props.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var GroupPanelCellProps = {\r\n id: 0,\r\n text: \"\",\r\n data: Object.freeze({\r\n id: 0\r\n }),\r\n className: \"\"\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/group_panel/vertical/cell.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"cellTemplate\", \"className\", \"color\", \"data\", \"id\", \"index\", \"text\"];\r\nimport {\r\n createVNode,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n GroupPanelCellProps\r\n} from \"../cell_props\";\r\nexport var viewFunction = viewModel => {\r\n var CellTemplate = viewModel.props.cellTemplate;\r\n return createVNode(1, \"div\", \"dx-scheduler-group-header \".concat(viewModel.props.className), [!!viewModel.props.cellTemplate && CellTemplate({\r\n data: {\r\n data: viewModel.props.data,\r\n id: viewModel.props.id,\r\n color: viewModel.props.color,\r\n text: viewModel.props.text\r\n },\r\n index: viewModel.props.index\r\n }), !viewModel.props.cellTemplate && createVNode(1, \"div\", \"dx-scheduler-group-header-content\", viewModel.props.text, 0)], 0)\r\n};\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class GroupPanelVerticalCell extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n cellTemplate: getTemplate(props.cellTemplate)\r\n }),\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nGroupPanelVerticalCell.defaultProps = GroupPanelCellProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/group_panel/row_props.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var GroupPanelRowProps = {\r\n groupItems: Object.freeze([]),\r\n className: \"\"\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/group_panel/vertical/row.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"cellTemplate\", \"className\", \"groupItems\"];\r\nimport {\r\n createVNode,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n GroupPanelVerticalCell\r\n} from \"./cell\";\r\nimport {\r\n GroupPanelRowProps\r\n} from \"../row_props\";\r\nexport var viewFunction = viewModel => createVNode(1, \"div\", \"dx-scheduler-group-row \".concat(viewModel.props.className), viewModel.props.groupItems.map((_ref, index) => {\r\n var {\r\n color: color,\r\n data: data,\r\n id: id,\r\n key: key,\r\n text: text\r\n } = _ref;\r\n return createComponentVNode(2, GroupPanelVerticalCell, {\r\n text: text,\r\n id: id,\r\n data: data,\r\n index: index,\r\n color: color,\r\n cellTemplate: viewModel.props.cellTemplate\r\n }, key)\r\n}), 0);\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class Row extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n cellTemplate: getTemplate(props.cellTemplate)\r\n }),\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nRow.defaultProps = GroupPanelRowProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/group_panel/group_panel_layout_props.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n GroupPanelBaseProps\r\n} from \"./group_panel_props\";\r\nexport var GroupPanelLayoutProps = GroupPanelBaseProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/group_panel/vertical/layout.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"className\", \"elementRef\", \"groupByDate\", \"groupPanelData\", \"height\", \"resourceCellTemplate\", \"styles\"];\r\nimport {\r\n createVNode,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n normalizeStyles\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n Row\r\n} from \"./row\";\r\nimport {\r\n addHeightToStyle\r\n} from \"../../../utils\";\r\nimport {\r\n GroupPanelLayoutProps\r\n} from \"../group_panel_layout_props\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n props: {\r\n className: className,\r\n elementRef: elementRef,\r\n groupPanelData: groupPanelData,\r\n resourceCellTemplate: resourceCellTemplate\r\n },\r\n style: style\r\n } = _ref;\r\n return createVNode(1, \"div\", className, createVNode(1, \"div\", \"dx-scheduler-group-flex-container\", groupPanelData.groupPanelItems.map(group => createComponentVNode(2, Row, {\r\n groupItems: group,\r\n cellTemplate: resourceCellTemplate\r\n }, group[0].key)), 0), 2, {\r\n style: normalizeStyles(style)\r\n }, null, elementRef)\r\n};\r\nexport var VerticalGroupPanelLayoutProps = GroupPanelLayoutProps;\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class GroupPanelVerticalLayout extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get style() {\r\n var {\r\n height: height,\r\n styles: styles\r\n } = this.props;\r\n return addHeightToStyle(height, styles)\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n resourceCellTemplate: getTemplate(props.resourceCellTemplate)\r\n }),\r\n style: this.style,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nGroupPanelVerticalLayout.defaultProps = VerticalGroupPanelLayoutProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/group_panel/horizontal/cell.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"cellTemplate\", \"className\", \"colSpan\", \"color\", \"data\", \"id\", \"index\", \"isFirstGroupCell\", \"isLastGroupCell\", \"text\"];\r\nimport {\r\n createVNode,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n combineClasses\r\n} from \"../../../../../../utils/combine_classes\";\r\nimport {\r\n GroupPanelCellProps\r\n} from \"../cell_props\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n classes: classes,\r\n props: {\r\n cellTemplate: CellTemplate,\r\n colSpan: colSpan,\r\n color: color,\r\n data: data,\r\n id: id,\r\n index: index,\r\n text: text\r\n }\r\n } = _ref;\r\n return createVNode(1, \"th\", classes, createVNode(1, \"div\", \"dx-scheduler-group-header-content\", [!!CellTemplate && CellTemplate({\r\n data: {\r\n data: data,\r\n id: id,\r\n color: color,\r\n text: text\r\n },\r\n index: index\r\n }), !CellTemplate && createVNode(1, \"div\", null, text, 0)], 0), 2, {\r\n colSpan: colSpan\r\n })\r\n};\r\nexport var GroupPanelHorizontalCellProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(GroupPanelCellProps), Object.getOwnPropertyDescriptors({\r\n isFirstGroupCell: false,\r\n isLastGroupCell: false,\r\n colSpan: 1\r\n})));\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class GroupPanelHorizontalCell extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get classes() {\r\n var {\r\n className: className,\r\n isFirstGroupCell: isFirstGroupCell,\r\n isLastGroupCell: isLastGroupCell\r\n } = this.props;\r\n return combineClasses({\r\n \"dx-scheduler-group-header\": true,\r\n \"dx-scheduler-first-group-cell\": isFirstGroupCell,\r\n \"dx-scheduler-last-group-cell\": isLastGroupCell,\r\n [className]: !!className\r\n })\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n cellTemplate: getTemplate(props.cellTemplate)\r\n }),\r\n classes: this.classes,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nGroupPanelHorizontalCell.defaultProps = GroupPanelHorizontalCellProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/group_panel/horizontal/row.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"cellTemplate\", \"className\", \"groupItems\"];\r\nimport {\r\n createVNode,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n GroupPanelHorizontalCell\r\n} from \"./cell\";\r\nimport {\r\n GroupPanelRowProps\r\n} from \"../row_props\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n props: {\r\n cellTemplate: cellTemplate,\r\n className: className,\r\n groupItems: groupItems\r\n }\r\n } = _ref;\r\n return createVNode(1, \"tr\", \"dx-scheduler-group-row \".concat(className), groupItems.map((_ref2, index) => {\r\n var {\r\n colSpan: colSpan,\r\n color: color,\r\n data: data,\r\n id: id,\r\n isFirstGroupCell: isFirstGroupCell,\r\n isLastGroupCell: isLastGroupCell,\r\n key: key,\r\n text: text\r\n } = _ref2;\r\n return createComponentVNode(2, GroupPanelHorizontalCell, {\r\n text: text,\r\n id: id,\r\n data: data,\r\n index: index,\r\n color: color,\r\n colSpan: colSpan,\r\n isFirstGroupCell: !!isFirstGroupCell,\r\n isLastGroupCell: !!isLastGroupCell,\r\n cellTemplate: cellTemplate\r\n }, key)\r\n }), 0)\r\n};\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class Row extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n cellTemplate: getTemplate(props.cellTemplate)\r\n }),\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nRow.defaultProps = GroupPanelRowProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/group_panel/horizontal/layout.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"className\", \"elementRef\", \"groupByDate\", \"groupPanelData\", \"height\", \"resourceCellTemplate\", \"styles\"];\r\nimport {\r\n createFragment,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n Fragment\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n Row\r\n} from \"./row\";\r\nimport {\r\n GroupPanelLayoutProps\r\n} from \"../group_panel_layout_props\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n groupPanelItems: groupPanelItems,\r\n props: {\r\n resourceCellTemplate: resourceCellTemplate\r\n }\r\n } = _ref;\r\n return createFragment(groupPanelItems.map(group => createComponentVNode(2, Row, {\r\n groupItems: group,\r\n cellTemplate: resourceCellTemplate\r\n }, group[0].key)), 0)\r\n};\r\nexport var HorizontalGroupPanelLayoutProps = GroupPanelLayoutProps;\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class GroupPanelHorizontalLayout extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.__getterCache = {}\r\n }\r\n get groupPanelItems() {\r\n if (void 0 !== this.__getterCache.groupPanelItems) {\r\n return this.__getterCache.groupPanelItems\r\n }\r\n return this.__getterCache.groupPanelItems = (() => {\r\n var {\r\n groupPanelData: groupPanelData\r\n } = this.props;\r\n var {\r\n baseColSpan: baseColSpan,\r\n groupPanelItems: groupPanelItems\r\n } = groupPanelData;\r\n var colSpans = groupPanelItems.reduceRight((currentColSpans, groupsRow, index) => {\r\n var nextColSpans = currentColSpans;\r\n var currentLevelGroupCount = groupsRow.length;\r\n var previousColSpan = index === groupPanelItems.length - 1 ? baseColSpan : currentColSpans[index + 1];\r\n var previousLevelGroupCount = index === groupPanelItems.length - 1 ? currentLevelGroupCount : groupPanelItems[index + 1].length;\r\n var groupCountDiff = previousLevelGroupCount / currentLevelGroupCount;\r\n nextColSpans[index] = groupCountDiff * previousColSpan;\r\n return nextColSpans\r\n }, [...new Array(groupPanelItems.length)]);\r\n return groupPanelItems.map((groupsRenderRow, index) => {\r\n var colSpan = colSpans[index];\r\n return groupsRenderRow.map(groupItem => _extends({}, groupItem, {\r\n colSpan: colSpan\r\n }))\r\n })\r\n })()\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n if (this.props.groupPanelData !== nextProps.groupPanelData) {\r\n this.__getterCache.groupPanelItems = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n resourceCellTemplate: getTemplate(props.resourceCellTemplate)\r\n }),\r\n groupPanelItems: this.groupPanelItems,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nGroupPanelHorizontalLayout.defaultProps = HorizontalGroupPanelLayoutProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/group_panel/group_panel.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"className\", \"elementRef\", \"groupByDate\", \"groupOrientation\", \"groupPanelData\", \"groups\", \"height\", \"resourceCellTemplate\"];\r\nimport {\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n InfernoWrapperComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n isVerticalGroupingApplied\r\n} from \"../../utils\";\r\nimport {\r\n GroupPanelBaseProps\r\n} from \"./group_panel_props\";\r\nimport {\r\n GroupPanelVerticalLayout\r\n} from \"./vertical/layout\";\r\nimport {\r\n GroupPanelHorizontalLayout\r\n} from \"./horizontal/layout\";\r\nimport {\r\n VERTICAL_GROUP_ORIENTATION\r\n} from \"../../../consts\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n isVerticalLayout: isVerticalLayout,\r\n props: {\r\n className: className,\r\n elementRef: elementRef,\r\n groupPanelData: groupPanelData,\r\n height: height,\r\n resourceCellTemplate: resourceCellTemplate\r\n },\r\n restAttributes: restAttributes\r\n } = _ref;\r\n return isVerticalLayout ? createComponentVNode(2, GroupPanelVerticalLayout, {\r\n height: height,\r\n resourceCellTemplate: resourceCellTemplate,\r\n className: className,\r\n groupPanelData: groupPanelData,\r\n elementRef: elementRef,\r\n styles: restAttributes.style\r\n }) : createComponentVNode(2, GroupPanelHorizontalLayout, {\r\n height: height,\r\n resourceCellTemplate: resourceCellTemplate,\r\n className: className,\r\n groupPanelData: groupPanelData,\r\n elementRef: elementRef,\r\n styles: restAttributes.style\r\n })\r\n};\r\nexport var GroupPanelProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(GroupPanelBaseProps), Object.getOwnPropertyDescriptors({\r\n groups: Object.freeze([]),\r\n groupOrientation: VERTICAL_GROUP_ORIENTATION\r\n})));\r\nimport {\r\n createReRenderEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class GroupPanel extends InfernoWrapperComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n createEffects() {\r\n return [createReRenderEffect()]\r\n }\r\n get isVerticalLayout() {\r\n var {\r\n groupOrientation: groupOrientation,\r\n groups: groups\r\n } = this.props;\r\n return isVerticalGroupingApplied(groups, groupOrientation)\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n resourceCellTemplate: getTemplate(props.resourceCellTemplate)\r\n }),\r\n isVerticalLayout: this.isVerticalLayout,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nGroupPanel.defaultProps = GroupPanelProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/group_panel/group_panel.j.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../../../../../core/component_registrator\";\r\nimport {\r\n GroupPanelWrapper\r\n} from \"../../../../../component_wrapper/scheduler/group_panel\";\r\nimport {\r\n GroupPanel as GroupPanelComponent\r\n} from \"./group_panel\";\r\nexport default class GroupPanel extends GroupPanelWrapper {\r\n get _propsInfo() {\r\n return {\r\n twoWay: [],\r\n allowNull: [],\r\n elements: [],\r\n templates: [\"resourceCellTemplate\"],\r\n props: [\"groups\", \"groupOrientation\", \"groupPanelData\", \"groupByDate\", \"height\", \"className\", \"resourceCellTemplate\"]\r\n }\r\n }\r\n get _viewComponent() {\r\n return GroupPanelComponent\r\n }\r\n}\r\nregisterComponent(\"dxGroupPanel\", GroupPanel);\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/scheduler/header_panel.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport Component from \"../common/component\";\r\nexport class HeaderPanel extends Component {\r\n _setOptionsByReference() {\r\n super._setOptionsByReference();\r\n this._optionsByReference = _extends({}, this._optionsByReference, {\r\n dateHeaderData: true,\r\n resourceCellTemplate: true,\r\n dateCellTemplate: true,\r\n timeCellTemplate: true\r\n })\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/header_panel/date_header/dateHeaderText.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"splitText\", \"text\"];\r\nimport {\r\n createVNode,\r\n createFragment\r\n} from \"inferno\";\r\nimport {\r\n Fragment\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n props: {\r\n splitText: splitText,\r\n text: text\r\n },\r\n textParts: textParts\r\n } = _ref;\r\n return createFragment(splitText ? textParts.map(part => createVNode(1, \"span\", \"dx-scheduler-header-panel-cell-date\", part, 0)) : text, 0)\r\n};\r\nexport var DateHeaderTextProps = {\r\n text: \"\",\r\n splitText: false\r\n};\r\nexport class DateHeaderText extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.__getterCache = {}\r\n }\r\n get textParts() {\r\n if (void 0 !== this.__getterCache.textParts) {\r\n return this.__getterCache.textParts\r\n }\r\n return this.__getterCache.textParts = (() => {\r\n var {\r\n text: text\r\n } = this.props;\r\n return text ? text.split(\" \") : [\"\"]\r\n })()\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n if (this.props.text !== nextProps.text) {\r\n this.__getterCache.textParts = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n textParts: this.textParts,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nDateHeaderText.defaultProps = DateHeaderTextProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/header_panel/date_header/cell.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"allDay\", \"ariaLabel\", \"children\", \"className\", \"colSpan\", \"contentTemplateProps\", \"dateCellTemplate\", \"endDate\", \"groupIndex\", \"groups\", \"index\", \"isFirstGroupCell\", \"isLastGroupCell\", \"isTimeCellTemplate\", \"isWeekDayCell\", \"splitText\", \"startDate\", \"text\", \"timeCellTemplate\", \"today\"];\r\nimport {\r\n createVNode,\r\n createFragment,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n Fragment\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n CellBaseProps\r\n} from \"../../cell\";\r\nimport {\r\n combineClasses\r\n} from \"../../../../../../utils/combine_classes\";\r\nimport {\r\n getGroupCellClasses\r\n} from \"../../../utils\";\r\nimport {\r\n DateHeaderText\r\n} from \"./dateHeaderText\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n classes: classes,\r\n props: {\r\n colSpan: colSpan,\r\n dateCellTemplate: DateCellTemplate,\r\n groupIndex: groupIndex,\r\n groups: groups,\r\n index: index,\r\n isTimeCellTemplate: isTimeCellTemplate,\r\n splitText: splitText,\r\n startDate: startDate,\r\n text: text,\r\n timeCellTemplate: TimeCellTemplate\r\n },\r\n useTemplate: useTemplate\r\n } = _ref;\r\n return createVNode(1, \"th\", classes, useTemplate ? createFragment([isTimeCellTemplate && TimeCellTemplate && TimeCellTemplate({\r\n data: {\r\n date: startDate,\r\n text: text,\r\n groups: groups,\r\n groupIndex: groupIndex\r\n },\r\n index: index\r\n }), !isTimeCellTemplate && DateCellTemplate && DateCellTemplate({\r\n data: {\r\n date: startDate,\r\n text: text,\r\n groups: groups,\r\n groupIndex: groupIndex\r\n },\r\n index: index\r\n })], 0) : createComponentVNode(2, DateHeaderText, {\r\n splitText: splitText,\r\n text: text\r\n }), 0, {\r\n colSpan: colSpan,\r\n title: text\r\n })\r\n};\r\nexport var DateHeaderCellProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(CellBaseProps), Object.getOwnPropertyDescriptors({\r\n today: false,\r\n colSpan: 1,\r\n isWeekDayCell: false,\r\n splitText: false,\r\n isTimeCellTemplate: false\r\n})));\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class DateHeaderCell extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get classes() {\r\n var {\r\n className: className,\r\n isFirstGroupCell: isFirstGroupCell,\r\n isLastGroupCell: isLastGroupCell,\r\n isWeekDayCell: isWeekDayCell,\r\n today: today\r\n } = this.props;\r\n var cellClasses = combineClasses({\r\n \"dx-scheduler-header-panel-cell\": true,\r\n \"dx-scheduler-cell-sizes-horizontal\": true,\r\n \"dx-scheduler-header-panel-current-time-cell\": today,\r\n \"dx-scheduler-header-panel-week-cell\": isWeekDayCell,\r\n [className]: !!className\r\n });\r\n return getGroupCellClasses(isFirstGroupCell, isLastGroupCell, cellClasses)\r\n }\r\n get useTemplate() {\r\n var {\r\n dateCellTemplate: dateCellTemplate,\r\n isTimeCellTemplate: isTimeCellTemplate,\r\n timeCellTemplate: timeCellTemplate\r\n } = this.props;\r\n return !isTimeCellTemplate && !!dateCellTemplate || isTimeCellTemplate && !!timeCellTemplate\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n timeCellTemplate: getTemplate(props.timeCellTemplate),\r\n dateCellTemplate: getTemplate(props.dateCellTemplate)\r\n }),\r\n classes: this.classes,\r\n useTemplate: this.useTemplate,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nDateHeaderCell.defaultProps = DateHeaderCellProps;\r\n","/**\r\n * DevExtreme (esm/renovation/utils/getThemeType.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isMaterial,\r\n isCompact,\r\n current\r\n} from \"../../ui/themes\";\r\nvar getThemeType = () => {\r\n var theme = current();\r\n return {\r\n isCompact: isCompact(theme),\r\n isMaterial: isMaterial(theme)\r\n }\r\n};\r\nexport default getThemeType;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/header_panel/date_header/layout.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"dateCellTemplate\", \"dateHeaderData\", \"groupByDate\", \"groupOrientation\", \"groups\", \"timeCellTemplate\"];\r\nimport {\r\n createFragment,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n Fragment\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n Row\r\n} from \"../../row\";\r\nimport {\r\n isHorizontalGroupingApplied\r\n} from \"../../../utils\";\r\nimport {\r\n DateHeaderCell\r\n} from \"./cell\";\r\nimport getThemeType from \"../../../../../../utils/getThemeType\";\r\nvar {\r\n isMaterial: isMaterial\r\n} = getThemeType();\r\nexport var viewFunction = _ref => {\r\n var {\r\n isHorizontalGrouping: isHorizontalGrouping,\r\n props: {\r\n dateCellTemplate: dateCellTemplate,\r\n dateHeaderData: dateHeaderData\r\n }\r\n } = _ref;\r\n var {\r\n dataMap: dataMap,\r\n leftVirtualCellCount: leftVirtualCellCount,\r\n leftVirtualCellWidth: leftVirtualCellWidth,\r\n rightVirtualCellCount: rightVirtualCellCount,\r\n rightVirtualCellWidth: rightVirtualCellWidth\r\n } = dateHeaderData;\r\n return createFragment(dataMap.map((dateHeaderRow, rowIndex) => createComponentVNode(2, Row, {\r\n className: \"dx-scheduler-header-row\",\r\n leftVirtualCellWidth: leftVirtualCellWidth,\r\n leftVirtualCellCount: leftVirtualCellCount,\r\n rightVirtualCellWidth: rightVirtualCellWidth,\r\n rightVirtualCellCount: rightVirtualCellCount,\r\n isHeaderRow: true,\r\n children: dateHeaderRow.map(_ref2 => {\r\n var {\r\n colSpan: colSpan,\r\n endDate: endDate,\r\n groupIndex: groupIndex,\r\n groups: cellGroups,\r\n index: index,\r\n isFirstGroupCell: isFirstGroupCell,\r\n isLastGroupCell: isLastGroupCell,\r\n key: key,\r\n startDate: startDate,\r\n text: text,\r\n today: today\r\n } = _ref2;\r\n return createComponentVNode(2, DateHeaderCell, {\r\n startDate: startDate,\r\n endDate: endDate,\r\n groups: isHorizontalGrouping ? cellGroups : void 0,\r\n groupIndex: isHorizontalGrouping ? groupIndex : void 0,\r\n today: today,\r\n index: index,\r\n text: text,\r\n isFirstGroupCell: isFirstGroupCell,\r\n isLastGroupCell: isLastGroupCell,\r\n dateCellTemplate: dateCellTemplate,\r\n colSpan: colSpan,\r\n splitText: isMaterial\r\n }, key)\r\n })\r\n }, rowIndex.toString())), 0)\r\n};\r\nexport var DateHeaderLayoutProps = {\r\n groupOrientation: \"horizontal\",\r\n groupByDate: false,\r\n groups: Object.freeze([])\r\n};\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class DateHeaderLayout extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get isHorizontalGrouping() {\r\n var {\r\n groupByDate: groupByDate,\r\n groupOrientation: groupOrientation,\r\n groups: groups\r\n } = this.props;\r\n return isHorizontalGroupingApplied(groups, groupOrientation) && !groupByDate\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n dateCellTemplate: getTemplate(props.dateCellTemplate),\r\n timeCellTemplate: getTemplate(props.timeCellTemplate)\r\n }),\r\n isHorizontalGrouping: this.isHorizontalGrouping,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nDateHeaderLayout.defaultProps = DateHeaderLayoutProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/header_panel/layout.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"className\", \"dateCellTemplate\", \"dateHeaderData\", \"dateHeaderTemplate\", \"elementRef\", \"groupByDate\", \"groupOrientation\", \"groupPanelData\", \"groups\", \"height\", \"isRenderDateHeader\", \"resourceCellTemplate\", \"timeCellTemplate\"];\r\nimport {\r\n createVNode,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n InfernoWrapperComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n isHorizontalGroupingApplied\r\n} from \"../../utils\";\r\nimport {\r\n GroupPanel,\r\n GroupPanelProps\r\n} from \"../group_panel/group_panel\";\r\nimport {\r\n DateHeaderLayout\r\n} from \"./date_header/layout\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n isHorizontalGrouping: isHorizontalGrouping,\r\n props: {\r\n dateCellTemplate: dateCellTemplate,\r\n dateHeaderData: dateHeaderData,\r\n dateHeaderTemplate: DateHeader,\r\n groupByDate: groupByDate,\r\n groupOrientation: groupOrientation,\r\n groupPanelData: groupPanelData,\r\n groups: groups,\r\n isRenderDateHeader: isRenderDateHeader,\r\n resourceCellTemplate: resourceCellTemplate,\r\n timeCellTemplate: timeCellTemplate\r\n }\r\n } = _ref;\r\n return createVNode(1, \"thead\", null, [isHorizontalGrouping && !groupByDate && createComponentVNode(2, GroupPanel, {\r\n groupPanelData: groupPanelData,\r\n groups: groups,\r\n groupByDate: groupByDate,\r\n groupOrientation: groupOrientation,\r\n resourceCellTemplate: resourceCellTemplate\r\n }), isRenderDateHeader && DateHeader({\r\n groupByDate: groupByDate,\r\n dateHeaderData: dateHeaderData,\r\n groupOrientation: groupOrientation,\r\n groups: groups,\r\n dateCellTemplate: dateCellTemplate,\r\n timeCellTemplate: timeCellTemplate\r\n }), groupByDate && createComponentVNode(2, GroupPanel, {\r\n groupPanelData: groupPanelData,\r\n groups: groups,\r\n groupByDate: groupByDate,\r\n groupOrientation: groupOrientation,\r\n resourceCellTemplate: resourceCellTemplate\r\n })], 0)\r\n};\r\nexport var HeaderPanelLayoutProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(GroupPanelProps), Object.getOwnPropertyDescriptors({\r\n isRenderDateHeader: true,\r\n dateHeaderTemplate: DateHeaderLayout\r\n})));\r\nimport {\r\n createReRenderEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class HeaderPanelLayout extends InfernoWrapperComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n createEffects() {\r\n return [createReRenderEffect()]\r\n }\r\n get isHorizontalGrouping() {\r\n var {\r\n groupOrientation: groupOrientation,\r\n groups: groups\r\n } = this.props;\r\n return isHorizontalGroupingApplied(groups, groupOrientation)\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n dateCellTemplate: getTemplate(props.dateCellTemplate),\r\n timeCellTemplate: getTemplate(props.timeCellTemplate),\r\n dateHeaderTemplate: getTemplate(props.dateHeaderTemplate),\r\n resourceCellTemplate: getTemplate(props.resourceCellTemplate)\r\n }),\r\n isHorizontalGrouping: this.isHorizontalGrouping,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nHeaderPanelLayout.defaultProps = HeaderPanelLayoutProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/header_panel/layout.j.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../../../../../core/component_registrator\";\r\nimport {\r\n HeaderPanel\r\n} from \"../../../../../component_wrapper/scheduler/header_panel\";\r\nimport {\r\n HeaderPanelLayout as HeaderPanelLayoutComponent\r\n} from \"./layout\";\r\nexport default class HeaderPanelLayout extends HeaderPanel {\r\n get _propsInfo() {\r\n return {\r\n twoWay: [],\r\n allowNull: [],\r\n elements: [],\r\n templates: [\"dateCellTemplate\", \"timeCellTemplate\", \"dateHeaderTemplate\", \"resourceCellTemplate\"],\r\n props: [\"dateHeaderData\", \"isRenderDateHeader\", \"dateCellTemplate\", \"timeCellTemplate\", \"dateHeaderTemplate\", \"groups\", \"groupOrientation\", \"groupPanelData\", \"groupByDate\", \"height\", \"className\", \"resourceCellTemplate\"]\r\n }\r\n }\r\n get _viewComponent() {\r\n return HeaderPanelLayoutComponent\r\n }\r\n}\r\nregisterComponent(\"dxHeaderPanelLayout\", HeaderPanelLayout);\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/scheduler/time_panel.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport Component from \"../common/component\";\r\nexport class TimePanel extends Component {\r\n _setOptionsByReference() {\r\n super._setOptionsByReference();\r\n this._optionsByReference = _extends({}, this._optionsByReference, {\r\n timeCellTemplate: true\r\n })\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/time_panel/cell.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"allDay\", \"ariaLabel\", \"children\", \"className\", \"contentTemplateProps\", \"endDate\", \"groupIndex\", \"groups\", \"highlighted\", \"index\", \"isFirstGroupCell\", \"isLastGroupCell\", \"startDate\", \"text\", \"timeCellTemplate\"];\r\nimport {\r\n createVNode,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n CellBase as Cell,\r\n CellBaseProps\r\n} from \"../cell\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n props: {\r\n className: className,\r\n highlighted: highlighted,\r\n isFirstGroupCell: isFirstGroupCell,\r\n isLastGroupCell: isLastGroupCell,\r\n text: text,\r\n timeCellTemplate: TimeCellTemplate\r\n },\r\n timeCellTemplateProps: timeCellTemplateProps\r\n } = _ref;\r\n return createComponentVNode(2, Cell, {\r\n isFirstGroupCell: isFirstGroupCell,\r\n isLastGroupCell: isLastGroupCell,\r\n className: \"dx-scheduler-time-panel-cell dx-scheduler-cell-sizes-vertical \".concat(highlighted ? \"dx-scheduler-time-panel-current-time-cell\" : \"\", \" \").concat(className),\r\n children: [!TimeCellTemplate && createVNode(1, \"div\", null, text, 0), !!TimeCellTemplate && TimeCellTemplate({\r\n index: timeCellTemplateProps.index,\r\n data: timeCellTemplateProps.data\r\n })]\r\n })\r\n};\r\nexport var TimePanelCellProps = CellBaseProps;\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class TimePanelCell extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.__getterCache = {}\r\n }\r\n get timeCellTemplateProps() {\r\n if (void 0 !== this.__getterCache.timeCellTemplateProps) {\r\n return this.__getterCache.timeCellTemplateProps\r\n }\r\n return this.__getterCache.timeCellTemplateProps = (() => {\r\n var {\r\n groupIndex: groupIndex,\r\n groups: groups,\r\n index: index,\r\n startDate: startDate,\r\n text: text\r\n } = this.props;\r\n return {\r\n data: {\r\n date: startDate,\r\n groups: groups,\r\n groupIndex: groupIndex,\r\n text: text\r\n },\r\n index: index\r\n }\r\n })()\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n if (this.props.groupIndex !== nextProps.groupIndex || this.props.groups !== nextProps.groups || this.props.index !== nextProps.index || this.props.startDate !== nextProps.startDate || this.props.text !== nextProps.text) {\r\n this.__getterCache.timeCellTemplateProps = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n timeCellTemplate: getTemplate(props.timeCellTemplate)\r\n }),\r\n timeCellTemplateProps: this.timeCellTemplateProps,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nTimePanelCell.defaultProps = TimePanelCellProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/time_panel/layout.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"groupOrientation\", \"tableRef\", \"timeCellTemplate\", \"timePanelData\"];\r\nimport {\r\n createFragment,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n Fragment\r\n} from \"inferno\";\r\nimport {\r\n InfernoWrapperComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n Row\r\n} from \"../row\";\r\nimport {\r\n TimePanelCell\r\n} from \"./cell\";\r\nimport {\r\n CellBase\r\n} from \"../cell\";\r\nimport {\r\n Table\r\n} from \"../table\";\r\nimport {\r\n AllDayPanelTitle\r\n} from \"../date_table/all_day_panel/title\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n bottomVirtualRowHeight: bottomVirtualRowHeight,\r\n props: {\r\n tableRef: tableRef,\r\n timeCellTemplate: timeCellTemplate,\r\n timePanelData: timePanelData\r\n },\r\n restAttributes: restAttributes,\r\n topVirtualRowHeight: topVirtualRowHeight\r\n } = _ref;\r\n return normalizeProps(createComponentVNode(2, Table, _extends({}, restAttributes, {\r\n topVirtualRowHeight: topVirtualRowHeight,\r\n bottomVirtualRowHeight: bottomVirtualRowHeight,\r\n virtualCellsCount: 1,\r\n className: \"dx-scheduler-time-panel\",\r\n tableRef: tableRef,\r\n children: timePanelData.groupedData.map(_ref2 => {\r\n var {\r\n dateTable: dateTable,\r\n groupIndex: groupIndex,\r\n isGroupedAllDayPanel: isGroupedAllDayPanel,\r\n key: fragmentKey\r\n } = _ref2;\r\n return createFragment([isGroupedAllDayPanel && createComponentVNode(2, Row, {\r\n children: createComponentVNode(2, CellBase, {\r\n className: \"dx-scheduler-time-panel-title-cell\",\r\n children: createComponentVNode(2, AllDayPanelTitle)\r\n })\r\n }), dateTable.map(cell => {\r\n var {\r\n groups: groups,\r\n highlighted: highlighted,\r\n index: cellIndex,\r\n isFirstGroupCell: isFirstGroupCell,\r\n isLastGroupCell: isLastGroupCell,\r\n key: key,\r\n startDate: startDate,\r\n text: text\r\n } = cell;\r\n return createComponentVNode(2, Row, {\r\n className: \"dx-scheduler-time-panel-row\",\r\n children: createComponentVNode(2, TimePanelCell, {\r\n startDate: startDate,\r\n text: text,\r\n groups: groups,\r\n groupIndex: groupIndex,\r\n isFirstGroupCell: isFirstGroupCell,\r\n isLastGroupCell: isLastGroupCell,\r\n index: cellIndex,\r\n timeCellTemplate: timeCellTemplate,\r\n highlighted: highlighted\r\n })\r\n }, key)\r\n })], 0, fragmentKey)\r\n })\r\n })))\r\n};\r\nexport var TimePanelLayoutProps = {\r\n timePanelData: Object.freeze({\r\n groupedData: [],\r\n leftVirtualCellCount: 0,\r\n rightVirtualCellCount: 0,\r\n topVirtualRowCount: 0,\r\n bottomVirtualRowCount: 0\r\n })\r\n};\r\nimport {\r\n createReRenderEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class TimePanelTableLayout extends InfernoWrapperComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n createEffects() {\r\n return [createReRenderEffect()]\r\n }\r\n get topVirtualRowHeight() {\r\n var _this$props$timePanel;\r\n return null !== (_this$props$timePanel = this.props.timePanelData.topVirtualRowHeight) && void 0 !== _this$props$timePanel ? _this$props$timePanel : 0\r\n }\r\n get bottomVirtualRowHeight() {\r\n var _this$props$timePanel2;\r\n return null !== (_this$props$timePanel2 = this.props.timePanelData.bottomVirtualRowHeight) && void 0 !== _this$props$timePanel2 ? _this$props$timePanel2 : 0\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n timeCellTemplate: getTemplate(props.timeCellTemplate)\r\n }),\r\n topVirtualRowHeight: this.topVirtualRowHeight,\r\n bottomVirtualRowHeight: this.bottomVirtualRowHeight,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nTimePanelTableLayout.defaultProps = TimePanelLayoutProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/time_panel/layout.j.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../../../../../core/component_registrator\";\r\nimport {\r\n TimePanel\r\n} from \"../../../../../component_wrapper/scheduler/time_panel\";\r\nimport {\r\n TimePanelTableLayout as TimePanelTableLayoutComponent\r\n} from \"./layout\";\r\nexport default class TimePanelTableLayout extends TimePanel {\r\n get _propsInfo() {\r\n return {\r\n twoWay: [],\r\n allowNull: [],\r\n elements: [],\r\n templates: [\"timeCellTemplate\"],\r\n props: [\"groupOrientation\", \"timePanelData\", \"timeCellTemplate\"]\r\n }\r\n }\r\n get _viewComponent() {\r\n return TimePanelTableLayoutComponent\r\n }\r\n}\r\nregisterComponent(\"dxTimePanelTableLayout\", TimePanelTableLayout);\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/base/m_widget_observer.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Widget from \"../../../ui/widget/ui.widget\";\r\nclass WidgetObserver extends Widget {\r\n notifyObserver(subject, args) {\r\n var observer = this.option(\"observer\");\r\n if (observer) {\r\n observer.fire(subject, args)\r\n }\r\n }\r\n invoke() {\r\n var observer = this.option(\"observer\");\r\n if (observer) {\r\n return observer.fire.apply(observer, arguments)\r\n }\r\n }\r\n}\r\nexport default WidgetObserver;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/m_appointment_drag_behavior.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport Draggable from \"../../ui/draggable\";\r\nimport {\r\n LIST_ITEM_DATA_KEY\r\n} from \"./m_constants\";\r\nimport {\r\n isSchedulerComponent\r\n} from \"./utils/is_scheduler_component\";\r\nvar APPOINTMENT_ITEM_CLASS = \"dx-scheduler-appointment\";\r\nexport default class AppointmentDragBehavior {\r\n constructor(scheduler) {\r\n this.scheduler = scheduler;\r\n this.workspace = this.scheduler._workSpace;\r\n this.appointments = this.scheduler._appointments;\r\n this.initialPosition = {\r\n left: 0,\r\n top: 0\r\n };\r\n this.appointmentInfo = null;\r\n this.dragBetweenComponentsPromise = null\r\n }\r\n isAllDay(appointment) {\r\n return appointment.data(\"dxAppointmentSettings\").allDay\r\n }\r\n onDragStart(e) {\r\n var {\r\n itemSettings: itemSettings,\r\n itemData: itemData,\r\n initialPosition: initialPosition\r\n } = e;\r\n this.initialPosition = initialPosition;\r\n this.appointmentInfo = {\r\n appointment: itemData,\r\n settings: itemSettings\r\n };\r\n this.appointments.notifyObserver(\"hideAppointmentTooltip\")\r\n }\r\n onDragMove(e) {\r\n if (e.fromComponent !== e.toComponent) {\r\n this.appointments.notifyObserver(\"removeDroppableCellClass\")\r\n }\r\n }\r\n getAppointmentElement(e) {\r\n var itemElement = e.event.data && e.event.data.itemElement || e.itemElement;\r\n return $(itemElement)\r\n }\r\n onDragEnd(event) {\r\n var element = this.getAppointmentElement(event);\r\n var rawAppointment = this.appointments._getItemData(element);\r\n var container = this.appointments._getAppointmentContainer(this.isAllDay(element));\r\n container.append(element);\r\n var newCellIndex = this.workspace.getDroppableCellIndex();\r\n var oldCellIndex = this.workspace.getCellIndexByCoordinates(this.initialPosition);\r\n this.appointments.notifyObserver(\"updateAppointmentAfterDrag\", {\r\n event: event,\r\n element: element,\r\n rawAppointment: rawAppointment,\r\n newCellIndex: newCellIndex,\r\n oldCellIndex: oldCellIndex\r\n })\r\n }\r\n onDragCancel() {\r\n this.removeDroppableClasses()\r\n }\r\n getItemData(appointmentElement) {\r\n var dataFromTooltip = $(appointmentElement).data(LIST_ITEM_DATA_KEY);\r\n var itemDataFromTooltip = null === dataFromTooltip || void 0 === dataFromTooltip ? void 0 : dataFromTooltip.appointment;\r\n var itemDataFromGrid = this.appointments._getItemData(appointmentElement);\r\n return itemDataFromTooltip || itemDataFromGrid\r\n }\r\n getItemSettings(appointment) {\r\n var itemData = $(appointment).data(LIST_ITEM_DATA_KEY);\r\n return itemData && itemData.settings || []\r\n }\r\n createDragStartHandler(options, appointmentDragging) {\r\n return e => {\r\n e.itemData = this.getItemData(e.itemElement);\r\n e.itemSettings = this.getItemSettings(e.itemElement);\r\n appointmentDragging.onDragStart && appointmentDragging.onDragStart(e);\r\n if (!e.cancel) {\r\n options.onDragStart(e)\r\n }\r\n }\r\n }\r\n createDragMoveHandler(options, appointmentDragging) {\r\n return e => {\r\n appointmentDragging.onDragMove && appointmentDragging.onDragMove(e);\r\n if (!e.cancel) {\r\n options.onDragMove(e)\r\n }\r\n }\r\n }\r\n createDragEndHandler(options, appointmentDragging) {\r\n return e => {\r\n var updatedData = this.appointments.invoke(\"getUpdatedData\", e.itemData);\r\n this.appointmentInfo = null;\r\n e.toItemData = extend({}, e.itemData, updatedData);\r\n appointmentDragging.onDragEnd && appointmentDragging.onDragEnd(e);\r\n if (!e.cancel) {\r\n options.onDragEnd(e);\r\n if (e.fromComponent !== e.toComponent) {\r\n appointmentDragging.onRemove && appointmentDragging.onRemove(e)\r\n }\r\n }\r\n if (true === e.cancel) {\r\n this.removeDroppableClasses()\r\n }\r\n if (true !== e.cancel && isSchedulerComponent(e.toComponent)) {\r\n var targetDragBehavior = e.toComponent._getDragBehavior();\r\n targetDragBehavior.dragBetweenComponentsPromise = new Deferred\r\n }\r\n }\r\n }\r\n createDropHandler(appointmentDragging) {\r\n return e => {\r\n var updatedData = this.appointments.invoke(\"getUpdatedData\", e.itemData);\r\n e.itemData = extend({}, e.itemData, updatedData);\r\n if (e.fromComponent !== e.toComponent) {\r\n appointmentDragging.onAdd && appointmentDragging.onAdd(e)\r\n }\r\n if (this.dragBetweenComponentsPromise) {\r\n this.dragBetweenComponentsPromise.resolve()\r\n }\r\n }\r\n }\r\n addTo(container, config) {\r\n var appointmentDragging = this.scheduler.option(\"appointmentDragging\") || {};\r\n var options = extend({\r\n component: this.scheduler,\r\n contentTemplate: null,\r\n filter: \".\".concat(APPOINTMENT_ITEM_CLASS),\r\n immediate: false,\r\n onDragStart: this.onDragStart.bind(this),\r\n onDragMove: this.onDragMove.bind(this),\r\n onDragEnd: this.onDragEnd.bind(this),\r\n onDragCancel: this.onDragCancel.bind(this)\r\n }, config);\r\n this.appointments._createComponent(container, Draggable, extend({}, options, appointmentDragging, {\r\n onDragStart: this.createDragStartHandler(options, appointmentDragging),\r\n onDragMove: this.createDragMoveHandler(options, appointmentDragging),\r\n onDragEnd: this.createDragEndHandler(options, appointmentDragging),\r\n onDrop: this.createDropHandler(appointmentDragging),\r\n onCancelByEsc: true\r\n }))\r\n }\r\n updateDragSource(appointment, settings) {\r\n var {\r\n appointmentInfo: appointmentInfo\r\n } = this;\r\n if (appointmentInfo || appointment) {\r\n var currentAppointment = appointment || appointmentInfo.appointment;\r\n var currentSettings = settings || appointmentInfo.settings;\r\n this.appointments._setDragSourceAppointment(currentAppointment, currentSettings)\r\n }\r\n }\r\n removeDroppableClasses() {\r\n this.appointments._removeDragSourceClassFromDraggedAppointment();\r\n this.workspace.removeDroppableCellClass()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/utils/is_scheduler_component.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar schedulerComponentName = \"dxScheduler\";\r\nexport function isSchedulerComponent(component) {\r\n return component.NAME === schedulerComponentName\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/shaders/m_current_time_shader.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nvar DATE_TIME_SHADER_CLASS = \"dx-scheduler-date-time-shader\";\r\nclass CurrentTimeShader {\r\n constructor(_workSpace) {\r\n this._workSpace = _workSpace;\r\n this._$container = this._workSpace._dateTableScrollable.$content()\r\n }\r\n render() {\r\n this.initShaderElements();\r\n this.renderShader();\r\n this._shader.forEach(shader => {\r\n this._$container.append(shader)\r\n })\r\n }\r\n initShaderElements() {\r\n this._$shader = this.createShader();\r\n this._shader = [];\r\n this._shader.push(this._$shader)\r\n }\r\n renderShader() {}\r\n createShader() {\r\n return $(\"<div>\").addClass(DATE_TIME_SHADER_CLASS)\r\n }\r\n clean() {\r\n this._$container && this._$container.find(\".\".concat(DATE_TIME_SHADER_CLASS)).remove()\r\n }\r\n}\r\nexport default CurrentTimeShader;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/shaders/m_current_time_shader_vertical.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n setHeight,\r\n setWidth\r\n} from \"../../../core/utils/size\";\r\nimport CurrentTimeShader from \"./m_current_time_shader\";\r\nvar DATE_TIME_SHADER_ALL_DAY_CLASS = \"dx-scheduler-date-time-shader-all-day\";\r\nvar DATE_TIME_SHADER_TOP_CLASS = \"dx-scheduler-date-time-shader-top\";\r\nvar DATE_TIME_SHADER_BOTTOM_CLASS = \"dx-scheduler-date-time-shader-bottom\";\r\nclass VerticalCurrentTimeShader extends CurrentTimeShader {\r\n renderShader() {\r\n var shaderHeight = this._getShaderHeight();\r\n var maxHeight = this._getShaderMaxHeight();\r\n var isSolidShader = shaderHeight > maxHeight;\r\n if (shaderHeight > maxHeight) {\r\n shaderHeight = maxHeight\r\n }\r\n setHeight(this._$shader, shaderHeight);\r\n var groupCount = this._workSpace._getGroupCount() || 1;\r\n if (this._workSpace.isGroupedByDate()) {\r\n this._renderGroupedByDateShaderParts(groupCount, shaderHeight, maxHeight, isSolidShader)\r\n } else {\r\n this._renderShaderParts(groupCount, shaderHeight, maxHeight, isSolidShader)\r\n }\r\n }\r\n _renderShaderParts(groupCount, shaderHeight, maxHeight, isSolidShader) {\r\n for (var i = 0; i < groupCount; i++) {\r\n var shaderWidth = this._getShaderWidth(i);\r\n this._renderTopShader(this._$shader, shaderHeight, shaderWidth, i);\r\n !isSolidShader && this._renderBottomShader(this._$shader, maxHeight, shaderHeight, shaderWidth, i);\r\n this._renderAllDayShader(shaderWidth, i)\r\n }\r\n }\r\n _renderGroupedByDateShaderParts(groupCount, shaderHeight, maxHeight, isSolidShader) {\r\n var shaderWidth = this._getShaderWidth(0);\r\n var bottomShaderWidth = shaderWidth - this._workSpace.getCellWidth();\r\n if (shaderHeight < 0) {\r\n shaderHeight = 0;\r\n bottomShaderWidth = shaderWidth\r\n }\r\n this._renderTopShader(this._$shader, shaderHeight, shaderWidth * groupCount, 0);\r\n !isSolidShader && this._renderBottomShader(this._$shader, maxHeight, shaderHeight, bottomShaderWidth * groupCount + this._workSpace.getCellWidth(), 0);\r\n this._renderAllDayShader(shaderWidth * groupCount, 0)\r\n }\r\n _renderTopShader($shader, height, width, i) {\r\n this._$topShader = $(\"<div>\").addClass(DATE_TIME_SHADER_TOP_CLASS);\r\n if (width) {\r\n setWidth(this._$topShader, width)\r\n }\r\n if (height) {\r\n setHeight(this._$topShader, height)\r\n }\r\n this._$topShader.css(\"marginTop\", this._getShaderTopOffset(i));\r\n this._$topShader.css(\"left\", this._getShaderOffset(i, width));\r\n $shader.append(this._$topShader)\r\n }\r\n _renderBottomShader($shader, maxHeight, height, width, i) {\r\n this._$bottomShader = $(\"<div>\").addClass(DATE_TIME_SHADER_BOTTOM_CLASS);\r\n var shaderWidth = height < 0 ? width : width - this._workSpace.getCellWidth();\r\n var shaderHeight = height < 0 ? maxHeight : maxHeight - height;\r\n setWidth(this._$bottomShader, shaderWidth);\r\n setHeight(this._$bottomShader, shaderHeight);\r\n this._$bottomShader.css(\"left\", this._getShaderOffset(i, width - this._workSpace.getCellWidth()));\r\n $shader.append(this._$bottomShader)\r\n }\r\n _renderAllDayShader(shaderWidth, i) {\r\n if (this._workSpace.option(\"showAllDayPanel\")) {\r\n this._$allDayIndicator = $(\"<div>\").addClass(DATE_TIME_SHADER_ALL_DAY_CLASS);\r\n setHeight(this._$allDayIndicator, this._workSpace.getAllDayHeight());\r\n setWidth(this._$allDayIndicator, shaderWidth);\r\n this._$allDayIndicator.css(\"left\", this._getShaderOffset(i, shaderWidth));\r\n this._workSpace._$allDayPanel.prepend(this._$allDayIndicator)\r\n }\r\n }\r\n _getShaderOffset(i, width) {\r\n return this._workSpace.getGroupedStrategy().getShaderOffset(i, width)\r\n }\r\n _getShaderTopOffset(i) {\r\n return this._workSpace.getGroupedStrategy().getShaderTopOffset(i)\r\n }\r\n _getShaderHeight() {\r\n return this._workSpace.getGroupedStrategy().getShaderHeight()\r\n }\r\n _getShaderMaxHeight() {\r\n return this._workSpace.getGroupedStrategy().getShaderMaxHeight()\r\n }\r\n _getShaderWidth(i) {\r\n return this._workSpace.getGroupedStrategy().getShaderWidth(i)\r\n }\r\n clean() {\r\n super.clean();\r\n this._workSpace && this._workSpace._$allDayPanel && this._workSpace._$allDayPanel.find(\".\".concat(DATE_TIME_SHADER_ALL_DAY_CLASS)).remove()\r\n }\r\n}\r\nexport default VerticalCurrentTimeShader;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/workspaces/m_cache.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nexport class Cache {\r\n constructor() {\r\n this._cache = new Map\r\n }\r\n get size() {\r\n return this._cache.size\r\n }\r\n clear() {\r\n this._cache.clear()\r\n }\r\n get(name, callback) {\r\n if (!this._cache.has(name) && callback) {\r\n this.set(name, callback())\r\n }\r\n return this._cache.get(name)\r\n }\r\n set(name, value) {\r\n isDefined(value) && this._cache.set(name, value)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/workspaces/m_cells_selection_controller.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n isDateAndTimeView\r\n} from \"../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\";\r\nexport class CellsSelectionController {\r\n handleArrowClick(options) {\r\n var {\r\n key: key,\r\n focusedCellPosition: focusedCellPosition,\r\n edgeIndices: edgeIndices,\r\n getCellDataByPosition: getCellDataByPosition,\r\n isAllDayPanelCell: isAllDayPanelCell\r\n } = options;\r\n var nextCellIndices;\r\n switch (key) {\r\n case \"down\":\r\n nextCellIndices = this.getCellFromNextRowPosition(focusedCellPosition, \"next\", edgeIndices);\r\n break;\r\n case \"up\":\r\n nextCellIndices = this.getCellFromNextRowPosition(focusedCellPosition, \"prev\", edgeIndices);\r\n break;\r\n case \"left\":\r\n nextCellIndices = this.getCellFromNextColumnPosition(_extends(_extends({}, options), {\r\n direction: \"prev\"\r\n }));\r\n break;\r\n case \"right\":\r\n nextCellIndices = this.getCellFromNextColumnPosition(_extends(_extends({}, options), {\r\n direction: \"next\"\r\n }))\r\n }\r\n var currentCellData = getCellDataByPosition(nextCellIndices.rowIndex, nextCellIndices.columnIndex, isAllDayPanelCell);\r\n return this.moveToCell(_extends(_extends({}, options), {\r\n currentCellData: currentCellData\r\n }))\r\n }\r\n getCellFromNextRowPosition(focusedCellPosition, direction, edgeIndices) {\r\n var {\r\n columnIndex: columnIndex,\r\n rowIndex: rowIndex\r\n } = focusedCellPosition;\r\n var deltaPosition = \"next\" === direction ? 1 : -1;\r\n var nextRowIndex = rowIndex + deltaPosition;\r\n var validRowIndex = nextRowIndex >= 0 && nextRowIndex <= edgeIndices.lastRowIndex ? nextRowIndex : rowIndex;\r\n return {\r\n columnIndex: columnIndex,\r\n rowIndex: validRowIndex\r\n }\r\n }\r\n getCellFromNextColumnPosition(options) {\r\n var {\r\n focusedCellPosition: focusedCellPosition,\r\n direction: direction,\r\n edgeIndices: edgeIndices,\r\n isRTL: isRTL,\r\n isGroupedByDate: isGroupedByDate,\r\n groupCount: groupCount,\r\n isMultiSelection: isMultiSelection,\r\n viewType: viewType\r\n } = options;\r\n var {\r\n columnIndex: columnIndex,\r\n rowIndex: rowIndex\r\n } = focusedCellPosition;\r\n var {\r\n firstColumnIndex: firstColumnIndex,\r\n lastColumnIndex: lastColumnIndex,\r\n firstRowIndex: firstRowIndex,\r\n lastRowIndex: lastRowIndex\r\n } = edgeIndices;\r\n var step = isGroupedByDate && isMultiSelection ? groupCount : 1;\r\n var sign = isRTL ? -1 : 1;\r\n var deltaColumnIndex = \"next\" === direction ? sign * step : -1 * sign * step;\r\n var nextColumnIndex = columnIndex + deltaColumnIndex;\r\n var isValidColumnIndex = nextColumnIndex >= firstColumnIndex && nextColumnIndex <= lastColumnIndex;\r\n if (isValidColumnIndex) {\r\n return {\r\n columnIndex: nextColumnIndex,\r\n rowIndex: rowIndex\r\n }\r\n }\r\n return isDateAndTimeView(viewType) ? focusedCellPosition : this._processEdgeCell({\r\n nextColumnIndex: nextColumnIndex,\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex,\r\n firstColumnIndex: firstColumnIndex,\r\n lastColumnIndex: lastColumnIndex,\r\n firstRowIndex: firstRowIndex,\r\n lastRowIndex: lastRowIndex,\r\n step: step\r\n })\r\n }\r\n _processEdgeCell(options) {\r\n var {\r\n nextColumnIndex: nextColumnIndex,\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex,\r\n firstColumnIndex: firstColumnIndex,\r\n lastColumnIndex: lastColumnIndex,\r\n firstRowIndex: firstRowIndex,\r\n lastRowIndex: lastRowIndex,\r\n step: step\r\n } = options;\r\n var validColumnIndex = nextColumnIndex;\r\n var validRowIndex = rowIndex;\r\n var isLeftEdgeCell = nextColumnIndex < firstColumnIndex;\r\n var isRightEdgeCell = nextColumnIndex > lastColumnIndex;\r\n if (isLeftEdgeCell) {\r\n var columnIndexInNextRow = lastColumnIndex - (step - columnIndex % step - 1);\r\n var nextRowIndex = rowIndex - 1;\r\n var isValidRowIndex = nextRowIndex >= firstRowIndex;\r\n validRowIndex = isValidRowIndex ? nextRowIndex : rowIndex;\r\n validColumnIndex = isValidRowIndex ? columnIndexInNextRow : columnIndex\r\n }\r\n if (isRightEdgeCell) {\r\n var _columnIndexInNextRow = firstColumnIndex + columnIndex % step;\r\n var _nextRowIndex = rowIndex + 1;\r\n var _isValidRowIndex = _nextRowIndex <= lastRowIndex;\r\n validRowIndex = _isValidRowIndex ? _nextRowIndex : rowIndex;\r\n validColumnIndex = _isValidRowIndex ? _columnIndexInNextRow : columnIndex\r\n }\r\n return {\r\n columnIndex: validColumnIndex,\r\n rowIndex: validRowIndex\r\n }\r\n }\r\n moveToCell(options) {\r\n var {\r\n isMultiSelection: isMultiSelection,\r\n isMultiSelectionAllowed: isMultiSelectionAllowed,\r\n focusedCellData: focusedCellData,\r\n currentCellData: currentCellData\r\n } = options;\r\n var isValidMultiSelection = isMultiSelection && isMultiSelectionAllowed;\r\n var nextFocusedCellData = isValidMultiSelection ? this._getNextCellData(currentCellData, focusedCellData) : currentCellData;\r\n return nextFocusedCellData\r\n }\r\n _getNextCellData(nextFocusedCellData, focusedCellData, isVirtualCell) {\r\n if (isVirtualCell) {\r\n return focusedCellData\r\n }\r\n var isValidNextFocusedCell = this._isValidNextFocusedCell(nextFocusedCellData, focusedCellData);\r\n return isValidNextFocusedCell ? nextFocusedCellData : focusedCellData\r\n }\r\n _isValidNextFocusedCell(nextFocusedCellData, focusedCellData) {\r\n if (!focusedCellData) {\r\n return true\r\n }\r\n var {\r\n groupIndex: groupIndex,\r\n allDay: allDay\r\n } = focusedCellData;\r\n var {\r\n groupIndex: nextGroupIndex,\r\n allDay: nextAllDay\r\n } = nextFocusedCellData;\r\n return groupIndex === nextGroupIndex && allDay === nextAllDay\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/base/utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dateUtils from \"../../../../../core/utils/date\";\r\nimport {\r\n getGroupCount as _getGroupCount\r\n} from \"../../../../../__internal/scheduler/resources/m_utils\";\r\nimport {\r\n isHorizontalGroupingApplied,\r\n isVerticalGroupingApplied\r\n} from \"../utils\";\r\nimport {\r\n ALL_DAY_PANEL_CELL_CLASS,\r\n ALL_DAY_ROW_CLASS,\r\n DATE_TABLE_CELL_CLASS,\r\n DATE_TABLE_ROW_CLASS\r\n} from \"../const\";\r\nvar DAY_MS = dateUtils.dateToMilliseconds(\"day\");\r\nvar HOUR_MS = dateUtils.dateToMilliseconds(\"hour\");\r\nexport var DATE_TABLE_MIN_CELL_WIDTH = 75;\r\nexport var getTotalRowCount = (rowCount, groupOrientation, groups, isAllDayPanelVisible) => {\r\n var isVerticalGrouping = isVerticalGroupingApplied(groups, groupOrientation);\r\n var groupCount = _getGroupCount(groups);\r\n var totalRowCount = isVerticalGrouping ? rowCount * groupCount : rowCount;\r\n return isAllDayPanelVisible ? totalRowCount + groupCount : totalRowCount\r\n};\r\nexport var getTotalCellCount = (cellCount, groupOrientation, groups) => {\r\n var isHorizontalGrouping = isHorizontalGroupingApplied(groups, groupOrientation);\r\n var groupCount = _getGroupCount(groups);\r\n return isHorizontalGrouping ? cellCount * groupCount : cellCount\r\n};\r\nexport var getRowCountWithAllDayRow = (rowCount, isAllDayPanelVisible) => isAllDayPanelVisible ? rowCount + 1 : rowCount;\r\nexport var getHiddenInterval = (hoursInterval, cellCountInDay) => {\r\n var visibleInterval = hoursInterval * cellCountInDay * HOUR_MS;\r\n return DAY_MS - visibleInterval\r\n};\r\nexport var createCellElementMetaData = (tableRect, cellRect) => {\r\n var {\r\n bottom: bottom,\r\n height: height,\r\n left: left,\r\n right: right,\r\n top: top,\r\n width: width,\r\n x: x,\r\n y: y\r\n } = cellRect;\r\n return {\r\n right: right,\r\n bottom: bottom,\r\n left: left - tableRect.left,\r\n top: top - tableRect.top,\r\n width: width,\r\n height: height,\r\n x: x,\r\n y: y\r\n }\r\n};\r\nexport var getDateForHeaderText = (_, date) => date;\r\nexport var getDateTableWidth = (scrollableWidth, dateTable, viewDataProvider, workSpaceConfig) => {\r\n var dateTableCell = dateTable.querySelector(\"td:not(.dx-scheduler-virtual-cell)\");\r\n var cellWidth = dateTableCell.getBoundingClientRect().width;\r\n if (cellWidth < DATE_TABLE_MIN_CELL_WIDTH) {\r\n cellWidth = DATE_TABLE_MIN_CELL_WIDTH\r\n }\r\n var cellCount = viewDataProvider.getCellCount(workSpaceConfig);\r\n var totalCellCount = getTotalCellCount(cellCount, workSpaceConfig.groupOrientation, workSpaceConfig.groups);\r\n var minTablesWidth = totalCellCount * cellWidth;\r\n return scrollableWidth < minTablesWidth ? minTablesWidth : scrollableWidth\r\n};\r\nexport var createVirtualScrollingOptions = options => ({\r\n getCellHeight: () => options.cellHeight,\r\n getCellWidth: () => options.cellWidth,\r\n getCellMinWidth: () => DATE_TABLE_MIN_CELL_WIDTH,\r\n isRTL: () => options.rtlEnabled,\r\n getSchedulerHeight: () => options.schedulerHeight,\r\n getSchedulerWidth: () => options.schedulerWidth,\r\n getViewHeight: () => options.viewHeight,\r\n getViewWidth: () => options.viewWidth,\r\n getScrolling: () => options.scrolling,\r\n getScrollableOuterWidth: () => options.scrollableWidth,\r\n getGroupCount: () => _getGroupCount(options.groups),\r\n isVerticalGrouping: () => options.isVerticalGrouping,\r\n getTotalRowCount: () => options.completeRowCount,\r\n getTotalCellCount: () => options.completeColumnCount,\r\n getWindowHeight: () => options.windowHeight,\r\n getWindowWidth: () => options.windowWidth\r\n});\r\nexport var getCellIndices = cell => {\r\n var row = cell.closest(\".\".concat(DATE_TABLE_ROW_CLASS, \", .\").concat(ALL_DAY_ROW_CLASS));\r\n var rowParent = row.parentNode;\r\n var cellParent = cell.parentNode;\r\n var columnIndex = [...Array.from(cellParent.children)].filter(child => child.className.includes(DATE_TABLE_CELL_CLASS) || child.className.includes(ALL_DAY_PANEL_CELL_CLASS)).indexOf(cell);\r\n var rowIndex = [...Array.from(rowParent.children)].filter(child => child.className.includes(DATE_TABLE_ROW_CLASS)).indexOf(row);\r\n return {\r\n columnIndex: columnIndex,\r\n rowIndex: rowIndex\r\n }\r\n};\r\nexport var compareCellsByDateAndIndex = daysAndIndexes => {\r\n var {\r\n date: date,\r\n firstDate: firstDate,\r\n firstIndex: firstIndex,\r\n index: index,\r\n lastDate: lastDate,\r\n lastIndex: lastIndex\r\n } = daysAndIndexes;\r\n if (firstDate === lastDate) {\r\n var validFirstIndex = firstIndex;\r\n var validLastIndex = lastIndex;\r\n if (validFirstIndex > validLastIndex) {\r\n [validFirstIndex, validLastIndex] = [validLastIndex, validFirstIndex]\r\n }\r\n return firstDate === date && index >= validFirstIndex && index <= validLastIndex\r\n }\r\n return date === firstDate && index >= firstIndex || date === lastDate && index <= lastIndex || firstDate < date && date < lastDate\r\n};\r\nvar filterCellsByDateAndIndex = (cellsRow, filterData) => {\r\n var {\r\n firstDate: firstDate,\r\n firstIndex: firstIndex,\r\n lastDate: lastDate,\r\n lastIndex: lastIndex\r\n } = filterData;\r\n var firstDay = dateUtils.trimTime(firstDate).getTime();\r\n var lastDay = dateUtils.trimTime(lastDate).getTime();\r\n return cellsRow.filter(cell => {\r\n var {\r\n index: index,\r\n startDate: startDate\r\n } = cell;\r\n var day = dateUtils.trimTime(startDate).getTime();\r\n var daysAndIndexes = {\r\n date: day,\r\n index: index,\r\n firstDate: firstDay,\r\n firstIndex: firstIndex,\r\n lastDate: lastDay,\r\n lastIndex: lastIndex\r\n };\r\n return compareCellsByDateAndIndex(daysAndIndexes)\r\n })\r\n};\r\nexport var getSelectedCells = (viewDataProvider, firstSelectedCell, lastSelectedCell, isLastSelectedCellAllDay) => {\r\n var firstCell = firstSelectedCell;\r\n var lastCell = lastSelectedCell;\r\n if (firstCell.startDate.getTime() > lastCell.startDate.getTime()) {\r\n [firstCell, lastCell] = [lastCell, firstCell]\r\n }\r\n var {\r\n groupIndex: firstGroupIndex,\r\n index: firstCellIndex,\r\n startDate: firstStartDate\r\n } = firstCell;\r\n var {\r\n index: lastCellIndex,\r\n startDate: lastStartDate\r\n } = lastCell;\r\n var cells = viewDataProvider.getCellsByGroupIndexAndAllDay(null !== firstGroupIndex && void 0 !== firstGroupIndex ? firstGroupIndex : 0, isLastSelectedCellAllDay);\r\n var filteredCells = cells.reduce((selectedCells, cellsRow) => {\r\n var filterData = {\r\n firstDate: firstStartDate,\r\n lastDate: lastStartDate,\r\n firstIndex: firstCellIndex,\r\n lastIndex: lastCellIndex\r\n };\r\n var filteredRow = filterCellsByDateAndIndex(cellsRow, filterData);\r\n selectedCells.push(...filteredRow);\r\n return selectedCells\r\n }, []);\r\n var selectedCells = filteredCells.sort((firstArg, secondArg) => firstArg.startDate.getTime() - secondArg.startDate.getTime());\r\n return selectedCells\r\n};\r\nexport var isCellAllDay = cell => cell.className.includes(ALL_DAY_PANEL_CELL_CLASS);\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/workspaces/m_cells_selection_state.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getSelectedCells\r\n} from \"../../../renovation/ui/scheduler/workspaces/base/utils\";\r\nexport default class CellsSelectionState {\r\n constructor(_viewDataProvider) {\r\n this._viewDataProvider = _viewDataProvider;\r\n this._focusedCell = null;\r\n this._selectedCells = null;\r\n this._firstSelectedCell = null;\r\n this._prevFocusedCell = null;\r\n this._prevSelectedCells = null\r\n }\r\n get viewDataProvider() {\r\n return this._viewDataProvider\r\n }\r\n get focusedCell() {\r\n var focusedCell = this._focusedCell;\r\n if (!focusedCell) {\r\n return\r\n }\r\n var {\r\n groupIndex: groupIndex,\r\n startDate: startDate,\r\n allDay: allDay\r\n } = focusedCell;\r\n var cellInfo = {\r\n groupIndex: groupIndex,\r\n startDate: startDate,\r\n isAllDay: allDay,\r\n index: focusedCell.index\r\n };\r\n var cellPosition = this.viewDataProvider.findCellPositionInMap(cellInfo);\r\n return {\r\n coordinates: cellPosition,\r\n cellData: focusedCell\r\n }\r\n }\r\n setFocusedCell(rowIndex, columnIndex, isAllDay) {\r\n if (rowIndex >= 0) {\r\n var cell = this._viewDataProvider.getCellData(rowIndex, columnIndex, isAllDay);\r\n this._focusedCell = cell\r\n }\r\n }\r\n setSelectedCells(lastCellCoordinates) {\r\n var firstCellCoordinates = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : void 0;\r\n var viewDataProvider = this._viewDataProvider;\r\n var {\r\n rowIndex: lastRowIndex,\r\n columnIndex: lastColumnIndex,\r\n allDay: isLastCellAllDay\r\n } = lastCellCoordinates;\r\n if (lastRowIndex < 0) {\r\n return\r\n }\r\n var firstCell = firstCellCoordinates ? viewDataProvider.getCellData(firstCellCoordinates.rowIndex, firstCellCoordinates.columnIndex, firstCellCoordinates.allDay) : this._firstSelectedCell;\r\n var lastCell = viewDataProvider.getCellData(lastRowIndex, lastColumnIndex, isLastCellAllDay);\r\n this._firstSelectedCell = firstCell;\r\n this._selectedCells = getSelectedCells(this._viewDataProvider, firstCell, lastCell, isLastCellAllDay)\r\n }\r\n setSelectedCellsByData(selectedCellsData) {\r\n this._selectedCells = selectedCellsData\r\n }\r\n getSelectedCells() {\r\n return this._selectedCells\r\n }\r\n releaseSelectedAndFocusedCells() {\r\n this.releaseSelectedCells();\r\n this.releaseFocusedCell()\r\n }\r\n releaseSelectedCells() {\r\n this._prevSelectedCells = this._selectedCells;\r\n this._prevFirstSelectedCell = this._firstSelectedCell;\r\n this._selectedCells = null;\r\n this._firstSelectedCell = null\r\n }\r\n releaseFocusedCell() {\r\n this._prevFocusedCell = this._focusedCell;\r\n this._focusedCell = null\r\n }\r\n restoreSelectedAndFocusedCells() {\r\n this._selectedCells = this._selectedCells || this._prevSelectedCells;\r\n this._focusedCell = this._focusedCell || this._prevFocusedCell;\r\n this._firstSelectedCell = this._firstSelectedCell || this._prevFirstSelectedCell;\r\n this._prevSelectedCells = null;\r\n this._prevFirstSelectedCell = null;\r\n this._prevFocusedCell = null\r\n }\r\n clearSelectedAndFocusedCells() {\r\n this._prevSelectedCells = null;\r\n this._selectedCells = null;\r\n this._prevFocusedCell = null;\r\n this._focusedCell = null\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/workspaces/m_virtual_scrolling.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport domAdapter from \"../../../core/dom_adapter\";\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n getWindow\r\n} from \"../../../core/utils/window\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport {\r\n addNamespace\r\n} from \"../../../events/utils/index\";\r\nvar DEFAULT_CELL_HEIGHT = 50;\r\nvar MIN_CELL_WIDTH = 1;\r\nvar MIN_SCROLL_OFFSET = 10;\r\nvar VIRTUAL_APPOINTMENTS_RENDER_TIMEOUT = 15;\r\nvar DOCUMENT_SCROLL_EVENT_NAMESPACE = addNamespace(\"scroll\", \"dxSchedulerVirtualScrolling\");\r\nvar scrollingOrientations = {\r\n vertical: \"vertical\",\r\n horizontal: \"horizontal\",\r\n both: \"both\",\r\n none: \"none\"\r\n};\r\nvar DefaultScrollingOrientation = scrollingOrientations.both;\r\nexport class VirtualScrollingDispatcher {\r\n constructor(options) {\r\n this.options = options;\r\n if (options) {\r\n this._rowHeight = this.getCellHeight();\r\n this._cellWidth = this.getCellWidth();\r\n this._createVirtualScrollingBase()\r\n }\r\n }\r\n get isRTL() {\r\n return this.options.isRTL()\r\n }\r\n get verticalVirtualScrolling() {\r\n return this._verticalVirtualScrolling\r\n }\r\n set verticalVirtualScrolling(value) {\r\n this._verticalVirtualScrolling = value\r\n }\r\n get horizontalVirtualScrolling() {\r\n return this._horizontalVirtualScrolling\r\n }\r\n set horizontalVirtualScrolling(value) {\r\n this._horizontalVirtualScrolling = value\r\n }\r\n get document() {\r\n return domAdapter.getDocument()\r\n }\r\n get height() {\r\n return this.options.getSchedulerHeight()\r\n }\r\n get width() {\r\n return this.options.getSchedulerWidth()\r\n }\r\n get rowHeight() {\r\n return this._rowHeight\r\n }\r\n set rowHeight(value) {\r\n this._rowHeight = value\r\n }\r\n get outlineCount() {\r\n return this.options.getScrolling().outlineCount\r\n }\r\n get cellWidth() {\r\n return this._cellWidth\r\n }\r\n set cellWidth(value) {\r\n this._cellWidth = value\r\n }\r\n get viewportWidth() {\r\n var width = this.width && this.options.getViewWidth();\r\n return width > 0 ? width : this.options.getWindowWidth()\r\n }\r\n get viewportHeight() {\r\n var height = this.height && this.options.getViewHeight();\r\n return height > 0 ? height : this.options.getWindowHeight()\r\n }\r\n get cellCountInsideTopVirtualRow() {\r\n var _a;\r\n return (null === (_a = this.verticalScrollingState) || void 0 === _a ? void 0 : _a.virtualItemCountBefore) || 0\r\n }\r\n get cellCountInsideLeftVirtualCell() {\r\n var _a;\r\n return (null === (_a = this.horizontalScrollingState) || void 0 === _a ? void 0 : _a.virtualItemCountBefore) || 0\r\n }\r\n get cellCountInsideRightVirtualCell() {\r\n var _a;\r\n return (null === (_a = this.horizontalScrollingState) || void 0 === _a ? void 0 : _a.virtualItemCountAfter) || 0\r\n }\r\n get topVirtualRowsCount() {\r\n return this.cellCountInsideTopVirtualRow > 0 ? 1 : 0\r\n }\r\n get leftVirtualCellsCount() {\r\n var virtualItemsCount = !this.isRTL ? this.cellCountInsideLeftVirtualCell : this.cellCountInsideRightVirtualCell;\r\n return virtualItemsCount > 0 ? 1 : 0\r\n }\r\n get virtualRowOffset() {\r\n var _a;\r\n return (null === (_a = this.verticalScrollingState) || void 0 === _a ? void 0 : _a.virtualItemSizeBefore) || 0\r\n }\r\n get virtualCellOffset() {\r\n var _a;\r\n return (null === (_a = this.horizontalScrollingState) || void 0 === _a ? void 0 : _a.virtualItemSizeBefore) || 0\r\n }\r\n get scrollingState() {\r\n var _a, _b;\r\n return {\r\n vertical: null === (_a = this.verticalVirtualScrolling) || void 0 === _a ? void 0 : _a.state,\r\n horizontal: null === (_b = this.horizontalVirtualScrolling) || void 0 === _b ? void 0 : _b.state\r\n }\r\n }\r\n get verticalScrollingState() {\r\n return this.scrollingState.vertical\r\n }\r\n get horizontalScrollingState() {\r\n return this.scrollingState.horizontal\r\n }\r\n get scrollingOrientation() {\r\n var scrolling = this.options.getScrolling();\r\n if (\"standard\" === scrolling.mode) {\r\n return scrollingOrientations.none\r\n }\r\n return scrolling.orientation || DefaultScrollingOrientation\r\n }\r\n get verticalScrollingAllowed() {\r\n return this.scrollingOrientation === scrollingOrientations.vertical || this.scrollingOrientation === scrollingOrientations.both\r\n }\r\n get horizontalScrollingAllowed() {\r\n return this.scrollingOrientation === scrollingOrientations.horizontal || this.scrollingOrientation === scrollingOrientations.both\r\n }\r\n setViewOptions(options) {\r\n this.options = options;\r\n if (this.verticalVirtualScrolling) {\r\n this.verticalVirtualScrolling.options = options;\r\n this.verticalVirtualScrolling.itemSize = this.rowHeight;\r\n this.verticalVirtualScrolling.viewportSize = this.viewportHeight\r\n }\r\n if (this.horizontalVirtualScrolling) {\r\n this.horizontalVirtualScrolling.options = options;\r\n this.verticalVirtualScrolling.itemSize = this.cellWidth;\r\n this.verticalVirtualScrolling.viewportSize = this.viewportWidth\r\n }\r\n }\r\n getRenderState() {\r\n var _a, _b;\r\n var verticalRenderState = (null === (_a = this.verticalVirtualScrolling) || void 0 === _a ? void 0 : _a.getRenderState()) || {};\r\n var horizontalRenderState = (null === (_b = this.horizontalVirtualScrolling) || void 0 === _b ? void 0 : _b.getRenderState()) || {};\r\n return _extends(_extends({}, verticalRenderState), horizontalRenderState)\r\n }\r\n getCellHeight() {\r\n var cellHeight = this.options.getCellHeight();\r\n var result = cellHeight > 0 ? cellHeight : DEFAULT_CELL_HEIGHT;\r\n return Math.floor(result)\r\n }\r\n getCellWidth() {\r\n var cellWidth = this.options.getCellWidth();\r\n var minCellWidth = this.options.getCellMinWidth();\r\n if (!cellWidth || cellWidth < minCellWidth) {\r\n cellWidth = minCellWidth\r\n }\r\n var result = cellWidth > 0 ? cellWidth : MIN_CELL_WIDTH;\r\n return Math.floor(result)\r\n }\r\n calculateCoordinatesByDataAndPosition(cellData, position, date, isCalculateTime, isVerticalDirectionView) {\r\n var {\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex\r\n } = position;\r\n var {\r\n startDate: startDate,\r\n endDate: endDate,\r\n allDay: allDay\r\n } = cellData;\r\n var timeToScroll = date.getTime();\r\n var cellStartTime = startDate.getTime();\r\n var cellEndTime = endDate.getTime();\r\n var scrollInCell = allDay || !isCalculateTime ? 0 : (timeToScroll - cellStartTime) / (cellEndTime - cellStartTime);\r\n var cellWidth = this.getCellWidth();\r\n var rowHeight = this.getCellHeight();\r\n var top = isVerticalDirectionView ? (rowIndex + scrollInCell) * rowHeight : rowIndex * rowHeight;\r\n var left = isVerticalDirectionView ? columnIndex * cellWidth : (columnIndex + scrollInCell) * cellWidth;\r\n if (this.isRTL) {\r\n left = this.options.getScrollableOuterWidth() - left\r\n }\r\n return {\r\n top: top,\r\n left: left\r\n }\r\n }\r\n dispose() {\r\n if (this._onScrollHandler) {\r\n eventsEngine.off(this.document, DOCUMENT_SCROLL_EVENT_NAMESPACE, this._onScrollHandler)\r\n }\r\n }\r\n createVirtualScrolling() {\r\n var isVerticalVirtualScrollingCreated = !!this.verticalVirtualScrolling;\r\n var isHorizontalVirtualScrollingCreated = !!this.horizontalVirtualScrolling;\r\n if (this.verticalScrollingAllowed !== isVerticalVirtualScrollingCreated || this.horizontalScrollingAllowed !== isHorizontalVirtualScrollingCreated) {\r\n this._rowHeight = this.getCellHeight();\r\n this._cellWidth = this.getCellWidth();\r\n this._createVirtualScrollingBase()\r\n }\r\n }\r\n _createVirtualScrollingBase() {\r\n if (this.verticalScrollingAllowed) {\r\n this.verticalVirtualScrolling = new VerticalVirtualScrolling(_extends(_extends({}, this.options), {\r\n viewportHeight: this.viewportHeight,\r\n rowHeight: this.rowHeight,\r\n outlineCount: this.outlineCount\r\n }))\r\n }\r\n if (this.horizontalScrollingAllowed) {\r\n this.horizontalVirtualScrolling = new HorizontalVirtualScrolling(_extends(_extends({}, this.options), {\r\n viewportWidth: this.viewportWidth,\r\n cellWidth: this.cellWidth,\r\n outlineCount: this.outlineCount\r\n }))\r\n }\r\n }\r\n isAttachWindowScrollEvent() {\r\n return (this.horizontalScrollingAllowed || this.verticalScrollingAllowed) && !this.height\r\n }\r\n attachScrollableEvents() {\r\n if (this.isAttachWindowScrollEvent()) {\r\n this._attachWindowScroll()\r\n }\r\n }\r\n _attachWindowScroll() {\r\n var window = getWindow();\r\n this._onScrollHandler = this.options.createAction(() => {\r\n var {\r\n scrollX: scrollX,\r\n scrollY: scrollY\r\n } = window;\r\n if (scrollX >= MIN_SCROLL_OFFSET || scrollY >= MIN_SCROLL_OFFSET) {\r\n this.handleOnScrollEvent({\r\n left: scrollX,\r\n top: scrollY\r\n })\r\n }\r\n });\r\n eventsEngine.on(this.document, DOCUMENT_SCROLL_EVENT_NAMESPACE, this._onScrollHandler)\r\n }\r\n handleOnScrollEvent(scrollPosition) {\r\n var _a, _b, _c, _d;\r\n if (scrollPosition) {\r\n var {\r\n left: left,\r\n top: top\r\n } = scrollPosition;\r\n var verticalStateChanged = isDefined(top) && (null === (_a = this.verticalVirtualScrolling) || void 0 === _a ? void 0 : _a.updateState(top));\r\n var horizontalStateChanged = isDefined(left) && (null === (_b = this.horizontalVirtualScrolling) || void 0 === _b ? void 0 : _b.updateState(left));\r\n if (verticalStateChanged || horizontalStateChanged) {\r\n null === (_d = (_c = this.options).updateRender) || void 0 === _d ? void 0 : _d.call(_c)\r\n }\r\n }\r\n }\r\n updateDimensions(isForce) {\r\n var _a, _b;\r\n var cellHeight = this.getCellHeight();\r\n var needUpdateVertical = this.verticalScrollingAllowed && cellHeight !== this.rowHeight;\r\n if ((needUpdateVertical || isForce) && this.verticalVirtualScrolling) {\r\n this.rowHeight = cellHeight;\r\n this.verticalVirtualScrolling.viewportSize = this.viewportHeight;\r\n this.verticalVirtualScrolling.reinitState(cellHeight, isForce)\r\n }\r\n var cellWidth = this.getCellWidth();\r\n var needUpdateHorizontal = this.horizontalScrollingAllowed && cellWidth !== this.cellWidth;\r\n if ((needUpdateHorizontal || isForce) && this.horizontalVirtualScrolling) {\r\n this.cellWidth = cellWidth;\r\n this.horizontalVirtualScrolling.viewportSize = this.viewportWidth;\r\n this.horizontalVirtualScrolling.reinitState(cellWidth, isForce)\r\n }\r\n if (needUpdateVertical || needUpdateHorizontal) {\r\n null === (_b = (_a = this.options).updateGrid) || void 0 === _b ? void 0 : _b.call(_a)\r\n }\r\n }\r\n}\r\nclass VirtualScrollingBase {\r\n constructor(options) {\r\n this.options = options;\r\n this._state = this.defaultState;\r\n this.viewportSize = this.options.viewportSize;\r\n this._itemSize = this.options.itemSize;\r\n this._position = -1;\r\n this._itemSizeChanged = false;\r\n this.updateState(0)\r\n }\r\n get itemSize() {\r\n return this._itemSize\r\n }\r\n set itemSize(value) {\r\n this._itemSizeChanged = this._itemSize !== value;\r\n this._itemSize = value\r\n }\r\n get state() {\r\n return this._state\r\n }\r\n set state(value) {\r\n this._state = value\r\n }\r\n get startIndex() {\r\n return this.state.startIndex\r\n }\r\n get pageSize() {\r\n return Math.ceil(this.viewportSize / this.itemSize)\r\n }\r\n get outlineCount() {\r\n return isDefined(this.options.outlineCount) ? this.options.outlineCount : Math.floor(this.pageSize / 2)\r\n }\r\n get groupCount() {\r\n return this.options.getGroupCount()\r\n }\r\n get isVerticalGrouping() {\r\n return this.options.isVerticalGrouping()\r\n }\r\n get defaultState() {\r\n return {\r\n prevPosition: 0,\r\n startIndex: -1,\r\n itemCount: 0,\r\n virtualItemCountBefore: 0,\r\n virtualItemCountAfter: 0,\r\n outlineCountBefore: 0,\r\n outlineCountAfter: 0,\r\n virtualItemSizeBefore: 0,\r\n virtualItemSizeAfter: 0,\r\n outlineSizeBefore: 0,\r\n outlineSizeAfter: 0\r\n }\r\n }\r\n get maxScrollPosition() {\r\n return this.getTotalItemCount() * this.itemSize - this.viewportSize\r\n }\r\n get position() {\r\n return this._position\r\n }\r\n set position(value) {\r\n this._position = value\r\n }\r\n needUpdateState(position) {\r\n var {\r\n prevPosition: prevPosition,\r\n startIndex: startIndex\r\n } = this.state;\r\n var isFirstInitialization = startIndex < 0;\r\n if (isFirstInitialization) {\r\n return true\r\n }\r\n var isStartIndexChanged = false;\r\n if (this._validateAndSavePosition(position)) {\r\n if (0 === position || position === this.maxScrollPosition) {\r\n return true\r\n }\r\n var currentPosition = prevPosition;\r\n var currentItemsCount = Math.floor(currentPosition / this.itemSize);\r\n var itemsCount = Math.floor(position / this.itemSize);\r\n isStartIndexChanged = Math.abs(currentItemsCount - itemsCount) >= this.outlineCount\r\n }\r\n return isStartIndexChanged\r\n }\r\n _validateAndSavePosition(position) {\r\n if (!isDefined(position)) {\r\n return false\r\n }\r\n var result = this.position !== position;\r\n this.position = position;\r\n return result\r\n }\r\n _correctPosition(position) {\r\n return position >= 0 ? Math.min(position, this.maxScrollPosition) : -1\r\n }\r\n updateState(position, isForce) {\r\n position = this._correctPosition(position);\r\n if (!this.needUpdateState(position) && !isForce) {\r\n return false\r\n }\r\n var itemsInfoBefore = this._calcItemInfoBefore(position);\r\n var itemsDeltaBefore = this._calcItemDeltaBefore(itemsInfoBefore);\r\n var {\r\n outlineCountAfter: outlineCountAfter,\r\n virtualItemCountAfter: virtualItemCountAfter,\r\n itemCountWithAfter: itemCountWithAfter\r\n } = this._calcItemInfoAfter(itemsDeltaBefore);\r\n var {\r\n virtualItemCountBefore: virtualItemCountBefore,\r\n outlineCountBefore: outlineCountBefore\r\n } = itemsInfoBefore;\r\n var itemCount = outlineCountBefore + itemCountWithAfter + outlineCountAfter;\r\n var itemCountBefore = Math.floor(position / this.itemSize);\r\n this.state.prevPosition = itemCountBefore * this.itemSize;\r\n this.state.startIndex = itemCountBefore - outlineCountBefore;\r\n this.state.virtualItemCountBefore = virtualItemCountBefore;\r\n this.state.outlineCountBefore = outlineCountBefore;\r\n this.state.itemCount = itemCount;\r\n this.state.outlineCountAfter = outlineCountAfter;\r\n this.state.virtualItemCountAfter = virtualItemCountAfter;\r\n this._updateStateCore();\r\n return true\r\n }\r\n reinitState(itemSize, isForceUpdate) {\r\n var {\r\n position: position\r\n } = this;\r\n this.itemSize = itemSize;\r\n this.updateState(0, isForceUpdate);\r\n if (position > 0) {\r\n this.updateState(position, isForceUpdate)\r\n }\r\n }\r\n _calcItemInfoBefore(position) {\r\n var virtualItemCountBefore = Math.floor(position / this.itemSize);\r\n var outlineCountBefore = Math.min(virtualItemCountBefore, this.outlineCount);\r\n virtualItemCountBefore -= outlineCountBefore;\r\n return {\r\n virtualItemCountBefore: virtualItemCountBefore,\r\n outlineCountBefore: outlineCountBefore\r\n }\r\n }\r\n _calcItemDeltaBefore(itemInfoBefore) {\r\n var {\r\n virtualItemCountBefore: virtualItemCountBefore,\r\n outlineCountBefore: outlineCountBefore\r\n } = itemInfoBefore;\r\n var totalItemCount = this.getTotalItemCount();\r\n return totalItemCount - virtualItemCountBefore - outlineCountBefore\r\n }\r\n getTotalItemCount() {\r\n throw \"getTotalItemCount method should be implemented\"\r\n }\r\n getRenderState() {\r\n throw \"getRenderState method should be implemented\"\r\n }\r\n _calcItemInfoAfter(itemsDeltaBefore) {\r\n var itemCountWithAfter = itemsDeltaBefore >= this.pageSize ? this.pageSize : itemsDeltaBefore;\r\n var virtualItemCountAfter = itemsDeltaBefore - itemCountWithAfter;\r\n var outlineCountAfter = virtualItemCountAfter > 0 ? Math.min(virtualItemCountAfter, this.outlineCount) : 0;\r\n if (virtualItemCountAfter > 0) {\r\n virtualItemCountAfter -= outlineCountAfter\r\n }\r\n return {\r\n virtualItemCountAfter: virtualItemCountAfter,\r\n outlineCountAfter: outlineCountAfter,\r\n itemCountWithAfter: itemCountWithAfter\r\n }\r\n }\r\n _updateStateCore() {\r\n var {\r\n state: state\r\n } = this;\r\n var {\r\n virtualItemCountBefore: virtualItemCountBefore\r\n } = state;\r\n var {\r\n virtualItemCountAfter: virtualItemCountAfter\r\n } = state;\r\n var {\r\n outlineCountBefore: outlineCountBefore\r\n } = state;\r\n var {\r\n outlineCountAfter: outlineCountAfter\r\n } = state;\r\n var prevVirtualItemSizeBefore = state.virtualItemSizeBefore;\r\n var prevVirtualItemSizeAfter = state.virtualItemSizeAfter;\r\n var prevOutlineSizeBefore = state.outlineSizeBefore;\r\n var prevOutlineSizeAfter = state.outlineSizeAfter;\r\n var virtualItemSizeBefore = this.itemSize * virtualItemCountBefore;\r\n var virtualItemSizeAfter = this.itemSize * virtualItemCountAfter;\r\n var outlineSizeBefore = this.itemSize * outlineCountBefore;\r\n var outlineSizeAfter = this.itemSize * outlineCountAfter;\r\n var prevVirtualSizeBefore = prevVirtualItemSizeBefore + prevOutlineSizeBefore;\r\n var virtualSizeBefore = virtualItemSizeBefore + outlineSizeBefore;\r\n var prevVirtualSizeAfter = prevVirtualItemSizeAfter + prevOutlineSizeAfter;\r\n var virtualSizeAfter = virtualItemSizeAfter + outlineSizeAfter;\r\n var isAppend = prevVirtualSizeBefore < virtualSizeBefore;\r\n var isPrepend = prevVirtualSizeAfter < virtualSizeAfter;\r\n var needAddItems = this._itemSizeChanged || isAppend || isPrepend;\r\n if (needAddItems) {\r\n this._updateStateVirtualItems(virtualItemSizeBefore, virtualItemSizeAfter)\r\n }\r\n }\r\n _updateStateVirtualItems(virtualItemSizeBefore, virtualItemSizeAfter) {\r\n var {\r\n state: state\r\n } = this;\r\n state.virtualItemSizeBefore = virtualItemSizeBefore;\r\n state.virtualItemSizeAfter = virtualItemSizeAfter\r\n }\r\n}\r\nclass VerticalVirtualScrolling extends VirtualScrollingBase {\r\n constructor(options) {\r\n super(_extends(_extends({}, options), {\r\n itemSize: options.rowHeight,\r\n viewportSize: options.viewportHeight\r\n }))\r\n }\r\n get prevTopPosition() {\r\n return this.state.prevPosition\r\n }\r\n get rowCount() {\r\n return this.state.itemCount\r\n }\r\n get topVirtualRowCount() {\r\n return this.state.virtualItemCountBefore\r\n }\r\n get bottomVirtualRowCount() {\r\n return this.state.virtualItemCountAfter\r\n }\r\n getTotalItemCount() {\r\n return this.options.getTotalRowCount(this.groupCount, this.isVerticalGrouping)\r\n }\r\n getRenderState() {\r\n return {\r\n topVirtualRowHeight: this.state.virtualItemSizeBefore,\r\n bottomVirtualRowHeight: this.state.virtualItemSizeAfter,\r\n startRowIndex: this.state.startIndex,\r\n rowCount: this.state.itemCount,\r\n startIndex: this.state.startIndex\r\n }\r\n }\r\n}\r\nclass HorizontalVirtualScrolling extends VirtualScrollingBase {\r\n constructor(options) {\r\n super(_extends(_extends({}, options), {\r\n itemSize: options.cellWidth,\r\n viewportSize: options.viewportWidth\r\n }))\r\n }\r\n get isRTL() {\r\n return this.options.isRTL()\r\n }\r\n getTotalItemCount() {\r\n return this.options.getTotalCellCount(this.groupCount, this.isVerticalGrouping)\r\n }\r\n getRenderState() {\r\n return {\r\n leftVirtualCellWidth: this.state.virtualItemSizeBefore,\r\n rightVirtualCellWidth: this.state.virtualItemSizeAfter,\r\n startCellIndex: this.state.startIndex,\r\n cellCount: this.state.itemCount,\r\n cellWidth: this.itemSize\r\n }\r\n }\r\n _updateStateVirtualItems(virtualItemSizeBefore, virtualItemSizeAfter) {\r\n if (!this.isRTL) {\r\n super._updateStateVirtualItems(virtualItemSizeBefore, virtualItemSizeAfter)\r\n } else {\r\n var {\r\n state: state\r\n } = this;\r\n state.virtualItemSizeAfter = virtualItemSizeBefore;\r\n state.virtualItemSizeBefore = virtualItemSizeAfter;\r\n state.startIndex = this.getTotalItemCount() - this.startIndex - this.state.itemCount\r\n }\r\n }\r\n}\r\nexport class VirtualScrollingRenderer {\r\n constructor(_workspace) {\r\n this._workspace = _workspace;\r\n this._renderAppointmentTimeoutID = null\r\n }\r\n getRenderTimeout() {\r\n return this._workspace.option(\"isRenovatedAppointments\") ? -1 : VIRTUAL_APPOINTMENTS_RENDER_TIMEOUT\r\n }\r\n get workspace() {\r\n return this._workspace\r\n }\r\n updateRender() {\r\n this._renderGrid();\r\n this._renderAppointments()\r\n }\r\n _renderGrid() {\r\n this.workspace.renderWorkSpace(false)\r\n }\r\n _renderAppointments() {\r\n var renderTimeout = this.getRenderTimeout();\r\n if (renderTimeout >= 0) {\r\n clearTimeout(this._renderAppointmentTimeoutID);\r\n this._renderAppointmentTimeoutID = setTimeout(() => this.workspace.updateAppointments(), renderTimeout)\r\n } else {\r\n this.workspace.updateAppointments()\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/workspaces/m_work_space_grouped_strategy_horizontal.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getBoundingRect\r\n} from \"../../../core/utils/position\";\r\nimport {\r\n FIRST_GROUP_CELL_CLASS,\r\n LAST_GROUP_CELL_CLASS\r\n} from \"../m_classes\";\r\nclass HorizontalGroupedStrategy {\r\n constructor(_workSpace) {\r\n this._workSpace = _workSpace\r\n }\r\n prepareCellIndexes(cellCoordinates, groupIndex, inAllDay) {\r\n var groupByDay = this._workSpace.isGroupedByDate();\r\n if (!groupByDay) {\r\n return {\r\n rowIndex: cellCoordinates.rowIndex,\r\n columnIndex: cellCoordinates.columnIndex + groupIndex * this._workSpace._getCellCount()\r\n }\r\n }\r\n return {\r\n rowIndex: cellCoordinates.rowIndex,\r\n columnIndex: cellCoordinates.columnIndex * this._workSpace._getGroupCount() + groupIndex\r\n }\r\n }\r\n getGroupIndex(rowIndex, columnIndex) {\r\n var groupByDay = this._workSpace.isGroupedByDate();\r\n var groupCount = this._workSpace._getGroupCount();\r\n if (groupByDay) {\r\n return columnIndex % groupCount\r\n }\r\n return Math.floor(columnIndex / this._workSpace._getCellCount())\r\n }\r\n calculateHeaderCellRepeatCount() {\r\n return this._workSpace._getGroupCount() || 1\r\n }\r\n insertAllDayRowsIntoDateTable() {\r\n return false\r\n }\r\n getTotalCellCount(groupCount) {\r\n groupCount = groupCount || 1;\r\n return this._workSpace._getCellCount() * groupCount\r\n }\r\n getTotalRowCount() {\r\n return this._workSpace._getRowCount()\r\n }\r\n calculateTimeCellRepeatCount() {\r\n return 1\r\n }\r\n getWorkSpaceMinWidth() {\r\n return getBoundingRect(this._workSpace.$element().get(0)).width - this._workSpace.getTimePanelWidth()\r\n }\r\n getAllDayOffset() {\r\n return this._workSpace.getAllDayHeight()\r\n }\r\n getGroupCountClass(groups) {\r\n return\r\n }\r\n getLeftOffset() {\r\n return this._workSpace.getTimePanelWidth()\r\n }\r\n _createGroupBoundOffset(startCell, endCell, cellWidth) {\r\n var extraOffset = cellWidth / 2;\r\n var startOffset = startCell ? startCell.offset().left - extraOffset : 0;\r\n var endOffset = endCell ? endCell.offset().left + cellWidth + extraOffset : 0;\r\n return {\r\n left: startOffset,\r\n right: endOffset,\r\n top: 0,\r\n bottom: 0\r\n }\r\n }\r\n _getGroupedByDateBoundOffset($cells, cellWidth) {\r\n var lastCellIndex = $cells.length - 1;\r\n var startCell = $cells.eq(0);\r\n var endCell = $cells.eq(lastCellIndex);\r\n return this._createGroupBoundOffset(startCell, endCell, cellWidth)\r\n }\r\n getGroupBoundsOffset(cellCount, $cells, cellWidth, coordinates, groupedDataMap) {\r\n if (this._workSpace.isGroupedByDate()) {\r\n return this._getGroupedByDateBoundOffset($cells, cellWidth)\r\n }\r\n var startCell;\r\n var endCell;\r\n var cellIndex = this._workSpace.getCellIndexByCoordinates(coordinates);\r\n var groupIndex = coordinates.groupIndex || Math.floor(cellIndex / cellCount);\r\n var currentCellGroup = groupedDataMap.dateTableGroupedMap[groupIndex];\r\n if (currentCellGroup) {\r\n var groupRowLength = currentCellGroup[0].length;\r\n var groupStartPosition = currentCellGroup[0][0].position;\r\n var groupEndPosition = currentCellGroup[0][groupRowLength - 1].position;\r\n startCell = $cells.eq(groupStartPosition.columnIndex);\r\n endCell = $cells.eq(groupEndPosition.columnIndex)\r\n }\r\n return this._createGroupBoundOffset(startCell, endCell, cellWidth)\r\n }\r\n shiftIndicator($indicator, height, rtlOffset, groupIndex) {\r\n var offset = this._getIndicatorOffset(groupIndex);\r\n var horizontalOffset = rtlOffset ? rtlOffset - offset : offset;\r\n $indicator.css(\"left\", horizontalOffset);\r\n $indicator.css(\"top\", height)\r\n }\r\n _getIndicatorOffset(groupIndex) {\r\n var groupByDay = this._workSpace.isGroupedByDate();\r\n return groupByDay ? this._calculateGroupByDateOffset(groupIndex) : this._calculateOffset(groupIndex)\r\n }\r\n _calculateOffset(groupIndex) {\r\n var indicatorStartPosition = this._workSpace.getIndicatorOffset(groupIndex);\r\n var offset = this._workSpace._getCellCount() * this._workSpace.getRoundedCellWidth(groupIndex - 1, 0) * groupIndex;\r\n return indicatorStartPosition + offset\r\n }\r\n _calculateGroupByDateOffset(groupIndex) {\r\n return this._workSpace.getIndicatorOffset(0) * this._workSpace._getGroupCount() + this._workSpace.getRoundedCellWidth(groupIndex - 1, 0) * groupIndex\r\n }\r\n getShaderOffset(i, width) {\r\n var offset = this._workSpace._getCellCount() * this._workSpace.getRoundedCellWidth(i - 1) * i;\r\n return this._workSpace.option(\"rtlEnabled\") ? getBoundingRect(this._workSpace._dateTableScrollable.$content().get(0)).width - offset - this._workSpace.getTimePanelWidth() - width : offset\r\n }\r\n getShaderTopOffset(i) {\r\n return -this.getShaderMaxHeight() * (i > 0 ? 1 : 0)\r\n }\r\n getShaderHeight() {\r\n var height = this._workSpace.getIndicationHeight();\r\n return height\r\n }\r\n getShaderMaxHeight() {\r\n return getBoundingRect(this._workSpace._dateTableScrollable.$content().get(0)).height\r\n }\r\n getShaderWidth(i) {\r\n return this._workSpace.getIndicationWidth(i)\r\n }\r\n getScrollableScrollTop(allDay) {\r\n return !allDay ? this._workSpace.getScrollable().scrollTop() : 0\r\n }\r\n addAdditionalGroupCellClasses(cellClass, index, i, j) {\r\n var applyUnconditionally = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : false;\r\n cellClass = this._addLastGroupCellClass(cellClass, index, applyUnconditionally);\r\n return this._addFirstGroupCellClass(cellClass, index, applyUnconditionally)\r\n }\r\n _addLastGroupCellClass(cellClass, index, applyUnconditionally) {\r\n if (applyUnconditionally) {\r\n return \"\".concat(cellClass, \" \").concat(LAST_GROUP_CELL_CLASS)\r\n }\r\n var groupByDate = this._workSpace.isGroupedByDate();\r\n if (groupByDate) {\r\n if (index % this._workSpace._getGroupCount() === 0) {\r\n return \"\".concat(cellClass, \" \").concat(LAST_GROUP_CELL_CLASS)\r\n }\r\n } else if (index % this._workSpace._getCellCount() === 0) {\r\n return \"\".concat(cellClass, \" \").concat(LAST_GROUP_CELL_CLASS)\r\n }\r\n return cellClass\r\n }\r\n _addFirstGroupCellClass(cellClass, index, applyUnconditionally) {\r\n if (applyUnconditionally) {\r\n return \"\".concat(cellClass, \" \").concat(FIRST_GROUP_CELL_CLASS)\r\n }\r\n var groupByDate = this._workSpace.isGroupedByDate();\r\n if (groupByDate) {\r\n if ((index - 1) % this._workSpace._getGroupCount() === 0) {\r\n return \"\".concat(cellClass, \" \").concat(FIRST_GROUP_CELL_CLASS)\r\n }\r\n } else if ((index - 1) % this._workSpace._getCellCount() === 0) {\r\n return \"\".concat(cellClass, \" \").concat(FIRST_GROUP_CELL_CLASS)\r\n }\r\n return cellClass\r\n }\r\n}\r\nexport default HorizontalGroupedStrategy;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/workspaces/m_work_space_grouped_strategy_vertical.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getBoundingRect\r\n} from \"../../../core/utils/position\";\r\nimport {\r\n calculateDayDuration,\r\n getVerticalGroupCountClass\r\n} from \"../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\";\r\nimport {\r\n FIRST_GROUP_CELL_CLASS,\r\n LAST_GROUP_CELL_CLASS\r\n} from \"../m_classes\";\r\nimport {\r\n Cache\r\n} from \"./m_cache\";\r\nvar DATE_HEADER_OFFSET = 10;\r\nvar WORK_SPACE_BORDER = 1;\r\nclass VerticalGroupedStrategy {\r\n constructor(_workSpace) {\r\n this._workSpace = _workSpace;\r\n this.cache = new Cache\r\n }\r\n prepareCellIndexes(cellCoordinates, groupIndex, inAllDayRow) {\r\n var rowIndex = cellCoordinates.rowIndex + groupIndex * this._workSpace._getRowCount();\r\n if (this._workSpace.supportAllDayRow() && this._workSpace.option(\"showAllDayPanel\")) {\r\n rowIndex += groupIndex;\r\n if (!inAllDayRow) {\r\n rowIndex += 1\r\n }\r\n }\r\n return {\r\n rowIndex: rowIndex,\r\n columnIndex: cellCoordinates.columnIndex\r\n }\r\n }\r\n getGroupIndex(rowIndex) {\r\n return Math.floor(rowIndex / this._workSpace._getRowCount())\r\n }\r\n calculateHeaderCellRepeatCount() {\r\n return 1\r\n }\r\n insertAllDayRowsIntoDateTable() {\r\n return this._workSpace.option(\"showAllDayPanel\")\r\n }\r\n getTotalCellCount() {\r\n return this._workSpace._getCellCount()\r\n }\r\n getTotalRowCount() {\r\n return this._workSpace._getRowCount() * this._workSpace._getGroupCount()\r\n }\r\n calculateTimeCellRepeatCount() {\r\n return this._workSpace._getGroupCount() || 1\r\n }\r\n getWorkSpaceMinWidth() {\r\n var minWidth = this._workSpace._getWorkSpaceWidth();\r\n var workspaceContainerWidth = getBoundingRect(this._workSpace.$element().get(0)).width - this._workSpace.getTimePanelWidth() - this._workSpace.getGroupTableWidth() - 2 * WORK_SPACE_BORDER;\r\n if (minWidth < workspaceContainerWidth) {\r\n minWidth = workspaceContainerWidth\r\n }\r\n return minWidth\r\n }\r\n getAllDayOffset() {\r\n return 0\r\n }\r\n getGroupCountClass(groups) {\r\n return getVerticalGroupCountClass(groups)\r\n }\r\n getLeftOffset() {\r\n return this._workSpace.getTimePanelWidth() + this._workSpace.getGroupTableWidth()\r\n }\r\n getGroupBoundsOffset(groupIndex, _ref) {\r\n var [$firstCell, $lastCell] = _ref;\r\n return this.cache.get(\"groupBoundsOffset\".concat(groupIndex), () => {\r\n var startDayHour = this._workSpace.option(\"startDayHour\");\r\n var endDayHour = this._workSpace.option(\"endDayHour\");\r\n var hoursInterval = this._workSpace.option(\"hoursInterval\");\r\n var dayHeight = calculateDayDuration(startDayHour, endDayHour) / hoursInterval * this._workSpace.getCellHeight();\r\n var scrollTop = this.getScrollableScrollTop();\r\n var topOffset = groupIndex * dayHeight + getBoundingRect(this._workSpace._$thead.get(0)).height + this._workSpace.option(\"getHeaderHeight\")() + DATE_HEADER_OFFSET - scrollTop;\r\n if (this._workSpace.option(\"showAllDayPanel\") && this._workSpace.supportAllDayRow()) {\r\n topOffset += this._workSpace.getCellHeight() * (groupIndex + 1)\r\n }\r\n var bottomOffset = topOffset + dayHeight;\r\n var {\r\n left: left\r\n } = $firstCell.getBoundingClientRect();\r\n var {\r\n right: right\r\n } = $lastCell.getBoundingClientRect();\r\n this._groupBoundsOffset = {\r\n left: left,\r\n right: right,\r\n top: topOffset,\r\n bottom: bottomOffset\r\n };\r\n return this._groupBoundsOffset\r\n })\r\n }\r\n shiftIndicator($indicator, height, rtlOffset, i) {\r\n var offset = this._workSpace.getIndicatorOffset(0);\r\n var tableOffset = this._workSpace.option(\"crossScrollingEnabled\") ? 0 : this._workSpace.getGroupTableWidth();\r\n var horizontalOffset = rtlOffset ? rtlOffset - offset : offset;\r\n var verticalOffset = this._workSpace._getRowCount() * this._workSpace.getCellHeight() * i;\r\n if (this._workSpace.supportAllDayRow() && this._workSpace.option(\"showAllDayPanel\")) {\r\n verticalOffset += this._workSpace.getAllDayHeight() * (i + 1)\r\n }\r\n $indicator.css(\"left\", horizontalOffset + tableOffset);\r\n $indicator.css(\"top\", height + verticalOffset)\r\n }\r\n getShaderOffset(i, width) {\r\n var offset = this._workSpace.option(\"crossScrollingEnabled\") ? 0 : this._workSpace.getGroupTableWidth();\r\n return this._workSpace.option(\"rtlEnabled\") ? getBoundingRect(this._$container.get(0)).width - offset - this._workSpace.getWorkSpaceLeftOffset() - width : offset\r\n }\r\n getShaderTopOffset(i) {\r\n return 0\r\n }\r\n getShaderHeight() {\r\n var height = this._workSpace.getIndicationHeight();\r\n if (this._workSpace.supportAllDayRow() && this._workSpace.option(\"showAllDayPanel\")) {\r\n height += this._workSpace.getCellHeight()\r\n }\r\n return height\r\n }\r\n getShaderMaxHeight() {\r\n var height = this._workSpace._getRowCount() * this._workSpace.getCellHeight();\r\n if (this._workSpace.supportAllDayRow() && this._workSpace.option(\"showAllDayPanel\")) {\r\n height += this._workSpace.getCellHeight()\r\n }\r\n return height\r\n }\r\n getShaderWidth() {\r\n return this._workSpace.getIndicationWidth(0)\r\n }\r\n getScrollableScrollTop() {\r\n return this._workSpace.getScrollable().scrollTop()\r\n }\r\n addAdditionalGroupCellClasses(cellClass, index, i, j) {\r\n cellClass = this._addLastGroupCellClass(cellClass, i + 1);\r\n return this._addFirstGroupCellClass(cellClass, i + 1)\r\n }\r\n _addLastGroupCellClass(cellClass, index) {\r\n if (index % this._workSpace._getRowCount() === 0) {\r\n return \"\".concat(cellClass, \" \").concat(LAST_GROUP_CELL_CLASS)\r\n }\r\n return cellClass\r\n }\r\n _addFirstGroupCellClass(cellClass, index) {\r\n if ((index - 1) % this._workSpace._getRowCount() === 0) {\r\n return \"\".concat(cellClass, \" \").concat(FIRST_GROUP_CELL_CLASS)\r\n }\r\n return cellClass\r\n }\r\n}\r\nexport default VerticalGroupedStrategy;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/view_model/group_panel/utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar extendGroupItemsForGroupingByDate = (groupRenderItems, columnCountPerGroup) => [...new Array(columnCountPerGroup)].reduce((currentGroupItems, _, index) => groupRenderItems.map((groupsRow, rowIndex) => {\r\n var currentRow = currentGroupItems[rowIndex] || [];\r\n return [...currentRow, ...groupsRow.map((item, columnIndex) => _extends({}, item, {\r\n key: \"\".concat(item.key, \"_group_by_date_\").concat(index),\r\n isFirstGroupCell: 0 === columnIndex,\r\n isLastGroupCell: columnIndex === groupsRow.length - 1\r\n }))]\r\n}), []);\r\nexport var getGroupPanelData = (groups, columnCountPerGroup, groupByDate, baseColSpan) => {\r\n var repeatCount = 1;\r\n var groupPanelItems = groups.map(group => {\r\n var result = [];\r\n var {\r\n data: data,\r\n items: items,\r\n name: resourceName\r\n } = group;\r\n var _loop = function(iterator) {\r\n result.push(...items.map((_ref, index) => {\r\n var {\r\n color: color,\r\n id: id,\r\n text: text\r\n } = _ref;\r\n return {\r\n id: id,\r\n text: text,\r\n color: color,\r\n key: \"\".concat(iterator, \"_\").concat(resourceName, \"_\").concat(id),\r\n resourceName: resourceName,\r\n data: null === data || void 0 === data ? void 0 : data[index]\r\n }\r\n }))\r\n };\r\n for (var iterator = 0; iterator < repeatCount; iterator += 1) {\r\n _loop(iterator)\r\n }\r\n repeatCount *= items.length;\r\n return result\r\n });\r\n if (groupByDate) {\r\n groupPanelItems = extendGroupItemsForGroupingByDate(groupPanelItems, columnCountPerGroup)\r\n }\r\n return {\r\n groupPanelItems: groupPanelItems,\r\n baseColSpan: baseColSpan\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/workspaces/view_model/m_date_header_data_generator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar __rest = this && this.__rest || function(s, e) {\r\n var t = {};\r\n for (var p in s) {\r\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) {\r\n t[p] = s[p]\r\n }\r\n }\r\n if (null != s && \"function\" === typeof Object.getOwnPropertySymbols) {\r\n var i = 0;\r\n for (p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) {\r\n t[p[i]] = s[p[i]]\r\n }\r\n }\r\n }\r\n return t\r\n};\r\nimport dateUtils from \"../../../../core/utils/date\";\r\nimport {\r\n formatWeekdayAndDay,\r\n getDisplayedCellCount,\r\n getHeaderCellText,\r\n getHorizontalGroupCount,\r\n getTotalCellCountByCompleteData\r\n} from \"../../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\";\r\nimport {\r\n getGroupCount\r\n} from \"../../resources/m_utils\";\r\nexport class DateHeaderDataGenerator {\r\n constructor(_viewDataGenerator) {\r\n this._viewDataGenerator = _viewDataGenerator\r\n }\r\n getCompleteDateHeaderMap(options, completeViewDataMap) {\r\n var {\r\n isGenerateWeekDaysHeaderData: isGenerateWeekDaysHeaderData\r\n } = options;\r\n var result = [];\r\n if (isGenerateWeekDaysHeaderData) {\r\n var weekDaysRow = this._generateWeekDaysHeaderRowMap(options, completeViewDataMap);\r\n result.push(weekDaysRow)\r\n }\r\n var dateRow = this._generateHeaderDateRow(options, completeViewDataMap);\r\n result.push(dateRow);\r\n return result\r\n }\r\n _generateWeekDaysHeaderRowMap(options, completeViewDataMap) {\r\n var {\r\n isGroupedByDate: isGroupedByDate,\r\n groups: groups,\r\n groupOrientation: groupOrientation,\r\n startDayHour: startDayHour,\r\n endDayHour: endDayHour,\r\n hoursInterval: hoursInterval,\r\n isHorizontalGrouping: isHorizontalGrouping,\r\n intervalCount: intervalCount\r\n } = options;\r\n var cellCountInDay = this._viewDataGenerator.getCellCountInDay(startDayHour, endDayHour, hoursInterval);\r\n var horizontalGroupCount = getHorizontalGroupCount(groups, groupOrientation);\r\n var index = completeViewDataMap[0][0].allDay ? 1 : 0;\r\n var colSpan = isGroupedByDate ? horizontalGroupCount * cellCountInDay : cellCountInDay;\r\n var groupCount = getGroupCount(groups);\r\n var datesRepeatCount = isHorizontalGrouping && !isGroupedByDate ? groupCount : 1;\r\n var daysInGroup = this._viewDataGenerator.daysInInterval * intervalCount;\r\n var daysInView = daysInGroup * datesRepeatCount;\r\n var weekDaysRow = [];\r\n for (var dayIndex = 0; dayIndex < daysInView; dayIndex += 1) {\r\n var cell = completeViewDataMap[index][dayIndex * colSpan];\r\n weekDaysRow.push(_extends(_extends({}, cell), {\r\n colSpan: colSpan,\r\n text: formatWeekdayAndDay(cell.startDate),\r\n isFirstGroupCell: false,\r\n isLastGroupCell: false\r\n }))\r\n }\r\n return weekDaysRow\r\n }\r\n _generateHeaderDateRow(options, completeViewDataMap) {\r\n var {\r\n today: today,\r\n isGroupedByDate: isGroupedByDate,\r\n groupOrientation: groupOrientation,\r\n groups: groups,\r\n headerCellTextFormat: headerCellTextFormat,\r\n getDateForHeaderText: getDateForHeaderText,\r\n interval: interval,\r\n startViewDate: startViewDate,\r\n startDayHour: startDayHour,\r\n endDayHour: endDayHour,\r\n hoursInterval: hoursInterval,\r\n intervalCount: intervalCount,\r\n currentDate: currentDate,\r\n viewType: viewType\r\n } = options;\r\n var horizontalGroupCount = getHorizontalGroupCount(groups, groupOrientation);\r\n var index = completeViewDataMap[0][0].allDay ? 1 : 0;\r\n var colSpan = isGroupedByDate ? horizontalGroupCount : 1;\r\n var isVerticalGrouping = \"vertical\" === groupOrientation;\r\n var cellCountInGroupRow = this._viewDataGenerator.getCellCount({\r\n intervalCount: intervalCount,\r\n currentDate: currentDate,\r\n viewType: viewType,\r\n hoursInterval: hoursInterval,\r\n startDayHour: startDayHour,\r\n endDayHour: endDayHour\r\n });\r\n var cellCountInDay = this._viewDataGenerator.getCellCountInDay(startDayHour, endDayHour, hoursInterval);\r\n var slicedByColumnsData = isGroupedByDate ? completeViewDataMap[index].filter((_, columnIndex) => columnIndex % horizontalGroupCount === 0) : completeViewDataMap[index];\r\n return slicedByColumnsData.map((_a, index) => {\r\n var {\r\n startDate: startDate,\r\n endDate: endDate,\r\n isFirstGroupCell: isFirstGroupCell,\r\n isLastGroupCell: isLastGroupCell\r\n } = _a, restProps = __rest(_a, [\"startDate\", \"endDate\", \"isFirstGroupCell\", \"isLastGroupCell\"]);\r\n var text = getHeaderCellText(index % cellCountInGroupRow, startDate, headerCellTextFormat, getDateForHeaderText, {\r\n interval: interval,\r\n startViewDate: startViewDate,\r\n startDayHour: startDayHour,\r\n cellCountInDay: cellCountInDay\r\n });\r\n return _extends(_extends({}, restProps), {\r\n startDate: startDate,\r\n text: text,\r\n today: dateUtils.sameDate(startDate, today),\r\n colSpan: colSpan,\r\n isFirstGroupCell: isGroupedByDate || isFirstGroupCell && !isVerticalGrouping,\r\n isLastGroupCell: isGroupedByDate || isLastGroupCell && !isVerticalGrouping\r\n })\r\n })\r\n }\r\n generateDateHeaderData(completeDateHeaderMap, completeViewDataMap, options) {\r\n var {\r\n isGenerateWeekDaysHeaderData: isGenerateWeekDaysHeaderData,\r\n cellWidth: cellWidth,\r\n isProvideVirtualCellsWidth: isProvideVirtualCellsWidth,\r\n startDayHour: startDayHour,\r\n endDayHour: endDayHour,\r\n hoursInterval: hoursInterval,\r\n isMonthDateHeader: isMonthDateHeader\r\n } = options;\r\n var dataMap = [];\r\n var weekDayRowConfig = {};\r\n var validCellWidth = cellWidth || 0;\r\n if (isGenerateWeekDaysHeaderData) {\r\n weekDayRowConfig = this._generateDateHeaderDataRow(options, completeDateHeaderMap, completeViewDataMap, this._viewDataGenerator.getCellCountInDay(startDayHour, endDayHour, hoursInterval), 0, validCellWidth);\r\n dataMap.push(weekDayRowConfig.dateRow)\r\n }\r\n var datesRowConfig = this._generateDateHeaderDataRow(options, completeDateHeaderMap, completeViewDataMap, 1, isGenerateWeekDaysHeaderData ? 1 : 0, validCellWidth);\r\n dataMap.push(datesRowConfig.dateRow);\r\n return {\r\n dataMap: dataMap,\r\n leftVirtualCellWidth: isProvideVirtualCellsWidth ? datesRowConfig.leftVirtualCellWidth : void 0,\r\n rightVirtualCellWidth: isProvideVirtualCellsWidth ? datesRowConfig.rightVirtualCellWidth : void 0,\r\n leftVirtualCellCount: datesRowConfig.leftVirtualCellCount,\r\n rightVirtualCellCount: datesRowConfig.rightVirtualCellCount,\r\n weekDayLeftVirtualCellWidth: weekDayRowConfig.leftVirtualCellWidth,\r\n weekDayRightVirtualCellWidth: weekDayRowConfig.rightVirtualCellWidth,\r\n weekDayLeftVirtualCellCount: weekDayRowConfig.leftVirtualCellCount,\r\n weekDayRightVirtualCellCount: weekDayRowConfig.rightVirtualCellCount,\r\n isMonthDateHeader: isMonthDateHeader\r\n }\r\n }\r\n _generateDateHeaderDataRow(options, completeDateHeaderMap, completeViewDataMap, baseColSpan, rowIndex, cellWidth) {\r\n var {\r\n startCellIndex: startCellIndex,\r\n cellCount: cellCount,\r\n isProvideVirtualCellsWidth: isProvideVirtualCellsWidth,\r\n groups: groups,\r\n groupOrientation: groupOrientation,\r\n isGroupedByDate: isGroupedByDate\r\n } = options;\r\n var horizontalGroupCount = getHorizontalGroupCount(groups, groupOrientation);\r\n var colSpan = isGroupedByDate ? horizontalGroupCount * baseColSpan : baseColSpan;\r\n var leftVirtualCellCount = Math.floor(startCellIndex / colSpan);\r\n var displayedCellCount = getDisplayedCellCount(cellCount, completeViewDataMap);\r\n var actualCellCount = Math.ceil((startCellIndex + displayedCellCount) / colSpan);\r\n var totalCellCount = getTotalCellCountByCompleteData(completeViewDataMap);\r\n var dateRow = completeDateHeaderMap[rowIndex].slice(leftVirtualCellCount, actualCellCount);\r\n var finalLeftVirtualCellCount = leftVirtualCellCount * colSpan;\r\n var finalLeftVirtualCellWidth = finalLeftVirtualCellCount * cellWidth;\r\n var finalRightVirtualCellCount = totalCellCount - actualCellCount * colSpan;\r\n var finalRightVirtualCellWidth = finalRightVirtualCellCount * cellWidth;\r\n return {\r\n dateRow: dateRow,\r\n leftVirtualCellCount: finalLeftVirtualCellCount,\r\n leftVirtualCellWidth: isProvideVirtualCellsWidth ? finalLeftVirtualCellWidth : void 0,\r\n rightVirtualCellCount: finalRightVirtualCellCount,\r\n rightVirtualCellWidth: isProvideVirtualCellsWidth ? finalRightVirtualCellWidth : void 0\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/workspaces/view_model/m_grouped_data_map_provider.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dateUtils from \"../../../../core/utils/date\";\r\nimport {\r\n isDateAndTimeView\r\n} from \"../../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\";\r\nexport class GroupedDataMapProvider {\r\n constructor(viewDataGenerator, viewDataMap, completeViewDataMap, viewOptions) {\r\n this.groupedDataMap = viewDataGenerator.generateGroupedDataMap(viewDataMap);\r\n this.completeViewDataMap = completeViewDataMap;\r\n this._viewOptions = viewOptions\r\n }\r\n getGroupStartDate(groupIndex) {\r\n var firstRow = this.getFirstGroupRow(groupIndex);\r\n if (firstRow) {\r\n var {\r\n startDate: startDate\r\n } = firstRow[0].cellData;\r\n return startDate\r\n }\r\n }\r\n getGroupEndDate(groupIndex) {\r\n var lastRow = this.getLastGroupRow(groupIndex);\r\n if (lastRow) {\r\n var lastColumnIndex = lastRow.length - 1;\r\n var {\r\n cellData: cellData\r\n } = lastRow[lastColumnIndex];\r\n var {\r\n endDate: endDate\r\n } = cellData;\r\n return endDate\r\n }\r\n }\r\n findGroupCellStartDate(groupIndex, startDate, endDate, isFindByDate) {\r\n var groupData = this.getGroupFromDateTableGroupMap(groupIndex);\r\n var checkCellStartDate = (rowIndex, columnIndex) => {\r\n var {\r\n cellData: cellData\r\n } = groupData[rowIndex][columnIndex];\r\n var {\r\n startDate: secondMin,\r\n endDate: secondMax\r\n } = cellData;\r\n if (isFindByDate) {\r\n secondMin = dateUtils.trimTime(secondMin);\r\n secondMax = dateUtils.setToDayEnd(secondMin)\r\n }\r\n if (dateUtils.intervalsOverlap({\r\n firstMin: startDate,\r\n firstMax: endDate,\r\n secondMin: secondMin,\r\n secondMax: secondMax\r\n })) {\r\n return secondMin\r\n }\r\n };\r\n var startDateVerticalSearch = (() => {\r\n var cellCount = groupData[0].length;\r\n for (var columnIndex = 0; columnIndex < cellCount; ++columnIndex) {\r\n for (var rowIndex = 0; rowIndex < groupData.length; ++rowIndex) {\r\n var result = checkCellStartDate(rowIndex, columnIndex);\r\n if (result) {\r\n return result\r\n }\r\n }\r\n }\r\n })();\r\n var startDateHorizontalSearch = (() => {\r\n for (var rowIndex = 0; rowIndex < groupData.length; ++rowIndex) {\r\n var row = groupData[rowIndex];\r\n for (var columnIndex = 0; columnIndex < row.length; ++columnIndex) {\r\n var result = checkCellStartDate(rowIndex, columnIndex);\r\n if (result) {\r\n return result\r\n }\r\n }\r\n }\r\n })();\r\n return startDateVerticalSearch > startDateHorizontalSearch ? startDateHorizontalSearch : startDateVerticalSearch\r\n }\r\n findAllDayGroupCellStartDate(groupIndex, startDate) {\r\n var groupStartDate = this.getGroupStartDate(groupIndex);\r\n return groupStartDate > startDate ? groupStartDate : startDate\r\n }\r\n findCellPositionInMap(cellInfo) {\r\n var {\r\n groupIndex: groupIndex,\r\n startDate: startDate,\r\n isAllDay: isAllDay,\r\n index: index\r\n } = cellInfo;\r\n var startTime = isAllDay ? dateUtils.trimTime(startDate).getTime() : startDate.getTime();\r\n var isStartDateInCell = cellData => {\r\n if (!isDateAndTimeView(this._viewOptions.viewType)) {\r\n return dateUtils.sameDate(startDate, cellData.startDate)\r\n }\r\n var cellStartTime = cellData.startDate.getTime();\r\n var cellEndTime = cellData.endDate.getTime();\r\n return isAllDay ? cellData.allDay && startTime >= cellStartTime && startTime <= cellEndTime : startTime >= cellStartTime && startTime < cellEndTime\r\n };\r\n var {\r\n allDayPanelGroupedMap: allDayPanelGroupedMap,\r\n dateTableGroupedMap: dateTableGroupedMap\r\n } = this.groupedDataMap;\r\n var rows = isAllDay && !this._viewOptions.isVerticalGrouping ? allDayPanelGroupedMap[groupIndex] ? [allDayPanelGroupedMap[groupIndex]] : [] : dateTableGroupedMap[groupIndex] || [];\r\n for (var rowIndex = 0; rowIndex < rows.length; ++rowIndex) {\r\n var row = rows[rowIndex];\r\n for (var columnIndex = 0; columnIndex < row.length; ++columnIndex) {\r\n var cell = row[columnIndex];\r\n var {\r\n cellData: cellData\r\n } = cell;\r\n if (this._isSameGroupIndexAndIndex(cellData, groupIndex, index)) {\r\n if (isStartDateInCell(cellData)) {\r\n return cell.position\r\n }\r\n }\r\n }\r\n }\r\n return\r\n }\r\n _isSameGroupIndexAndIndex(cellData, groupIndex, index) {\r\n return cellData.groupIndex === groupIndex && (void 0 === index || cellData.index === index)\r\n }\r\n getCellsGroup(groupIndex) {\r\n var {\r\n dateTableGroupedMap: dateTableGroupedMap\r\n } = this.groupedDataMap;\r\n var groupData = dateTableGroupedMap[groupIndex];\r\n if (groupData) {\r\n var {\r\n cellData: cellData\r\n } = groupData[0][0];\r\n return cellData.groups\r\n }\r\n }\r\n getCompletedGroupsInfo() {\r\n var {\r\n dateTableGroupedMap: dateTableGroupedMap\r\n } = this.groupedDataMap;\r\n return dateTableGroupedMap.map(groupData => {\r\n var firstCell = groupData[0][0];\r\n var {\r\n allDay: allDay,\r\n groupIndex: groupIndex\r\n } = firstCell.cellData;\r\n return {\r\n allDay: allDay,\r\n groupIndex: groupIndex,\r\n startDate: this.getGroupStartDate(groupIndex),\r\n endDate: this.getGroupEndDate(groupIndex)\r\n }\r\n }).filter(_ref => {\r\n var {\r\n startDate: startDate\r\n } = _ref;\r\n return !!startDate\r\n })\r\n }\r\n getGroupIndices() {\r\n return this.getCompletedGroupsInfo().map(_ref2 => {\r\n var {\r\n groupIndex: groupIndex\r\n } = _ref2;\r\n return groupIndex\r\n })\r\n }\r\n getGroupFromDateTableGroupMap(groupIndex) {\r\n var {\r\n dateTableGroupedMap: dateTableGroupedMap\r\n } = this.groupedDataMap;\r\n return dateTableGroupedMap[groupIndex]\r\n }\r\n getFirstGroupRow(groupIndex) {\r\n var groupedData = this.getGroupFromDateTableGroupMap(groupIndex);\r\n if (groupedData) {\r\n var {\r\n cellData: cellData\r\n } = groupedData[0][0];\r\n return !cellData.allDay ? groupedData[0] : groupedData[1]\r\n }\r\n }\r\n getLastGroupRow(groupIndex) {\r\n var {\r\n dateTableGroupedMap: dateTableGroupedMap\r\n } = this.groupedDataMap;\r\n var groupedData = dateTableGroupedMap[groupIndex];\r\n if (groupedData) {\r\n var lastRowIndex = groupedData.length - 1;\r\n return groupedData[lastRowIndex]\r\n }\r\n }\r\n getLastGroupCellPosition(groupIndex) {\r\n var groupRow = this.getLastGroupRow(groupIndex);\r\n return null === groupRow || void 0 === groupRow ? void 0 : groupRow[(null === groupRow || void 0 === groupRow ? void 0 : groupRow.length) - 1].position\r\n }\r\n getRowCountInGroup(groupIndex) {\r\n var groupRow = this.getLastGroupRow(groupIndex);\r\n var cellAmount = groupRow.length;\r\n var lastCellData = groupRow[cellAmount - 1].cellData;\r\n var lastCellIndex = lastCellData.index;\r\n return (lastCellIndex + 1) / groupRow.length\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/view_model/to_test/views/utils/week.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dateUtils from \"../../../../../../../core/utils/date\";\r\nimport dateLocalization from \"../../../../../../../localization/date\";\r\nimport {\r\n getCalculatedFirstDayOfWeek,\r\n getStartViewDateTimeOffset,\r\n getViewStartByOptions,\r\n setOptionHour\r\n} from \"./base\";\r\nimport timeZoneUtils from \"../../../../../../../__internal/scheduler/m_utils_time_zone\";\r\nexport var getIntervalDuration = intervalCount => 7 * dateUtils.dateToMilliseconds(\"day\") * intervalCount;\r\nexport var getValidStartDate = (startDate, firstDayOfWeek) => startDate ? dateUtils.getFirstWeekDate(startDate, firstDayOfWeek) : void 0;\r\nexport var calculateStartViewDate = (currentDate, startDayHour, startDate, intervalDuration, firstDayOfWeekOption) => {\r\n var firstDayOfWeek = getCalculatedFirstDayOfWeek(firstDayOfWeekOption);\r\n var viewStart = getViewStartByOptions(startDate, currentDate, intervalDuration, getValidStartDate(startDate, firstDayOfWeek));\r\n var firstViewDate = dateUtils.getFirstWeekDate(viewStart, firstDayOfWeek);\r\n return setOptionHour(firstViewDate, startDayHour)\r\n};\r\nexport var calculateViewStartDate = (startDateOption, firstDayOfWeek) => {\r\n var validFirstDayOfWeek = null !== firstDayOfWeek && void 0 !== firstDayOfWeek ? firstDayOfWeek : dateLocalization.firstDayOfWeekIndex();\r\n return dateUtils.getFirstWeekDate(startDateOption, validFirstDayOfWeek)\r\n};\r\nvar getTimeCellDate = (rowIndex, date, startViewDate, cellDuration, startDayHour) => {\r\n if (!timeZoneUtils.isTimezoneChangeInDate(date)) {\r\n return date\r\n }\r\n var startViewDateWithoutDST = timeZoneUtils.getDateWithoutTimezoneChange(startViewDate);\r\n var result = new Date(startViewDateWithoutDST);\r\n var timeCellDuration = Math.round(cellDuration);\r\n var startViewDateOffset = getStartViewDateTimeOffset(startViewDate, startDayHour);\r\n result.setMilliseconds(result.getMilliseconds() + timeCellDuration * rowIndex - startViewDateOffset);\r\n return result\r\n};\r\nexport var getTimePanelCellText = (rowIndex, date, startViewDate, cellDuration, startDayHour) => {\r\n if (rowIndex % 2 === 0) {\r\n var validDate = getTimeCellDate(rowIndex, date, startViewDate, cellDuration, startDayHour);\r\n return dateLocalization.format(validDate, \"shorttime\")\r\n }\r\n return \"\"\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/workspaces/view_model/m_time_panel_data_generator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar __rest = this && this.__rest || function(s, e) {\r\n var t = {};\r\n for (var p in s) {\r\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) {\r\n t[p] = s[p]\r\n }\r\n }\r\n if (null != s && \"function\" === typeof Object.getOwnPropertySymbols) {\r\n var i = 0;\r\n for (p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) {\r\n t[p[i]] = s[p[i]]\r\n }\r\n }\r\n }\r\n return t\r\n};\r\nimport dateUtils from \"../../../../core/utils/date\";\r\nimport {\r\n getDisplayedRowCount\r\n} from \"../../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\";\r\nimport {\r\n getTimePanelCellText\r\n} from \"../../../../renovation/ui/scheduler/view_model/to_test/views/utils/week\";\r\nimport {\r\n getIsGroupedAllDayPanel,\r\n getKeyByGroup\r\n} from \"../../../../renovation/ui/scheduler/workspaces/utils\";\r\nimport {\r\n shiftIntegerByModule\r\n} from \"../../../core/utils/math\";\r\nvar toMs = dateUtils.dateToMilliseconds;\r\nexport class TimePanelDataGenerator {\r\n constructor(_viewDataGenerator) {\r\n this._viewDataGenerator = _viewDataGenerator\r\n }\r\n getCompleteTimePanelMap(options, completeViewDataMap) {\r\n var {\r\n startViewDate: startViewDate,\r\n cellDuration: cellDuration,\r\n startDayHour: startDayHour,\r\n isVerticalGrouping: isVerticalGrouping,\r\n intervalCount: intervalCount,\r\n currentDate: currentDate,\r\n viewType: viewType,\r\n hoursInterval: hoursInterval,\r\n endDayHour: endDayHour,\r\n viewOffset: viewOffset,\r\n today: today,\r\n showCurrentTimeIndicator: showCurrentTimeIndicator\r\n } = options;\r\n var rowsCount = completeViewDataMap.length - 1;\r\n var realEndViewDate = completeViewDataMap[rowsCount][completeViewDataMap[rowsCount].length - 1].endDate;\r\n var rowCountInGroup = this._viewDataGenerator.getRowCount({\r\n intervalCount: intervalCount,\r\n currentDate: currentDate,\r\n viewType: viewType,\r\n hoursInterval: hoursInterval,\r\n startDayHour: startDayHour,\r\n endDayHour: endDayHour\r\n });\r\n var cellCountInGroupRow = this._viewDataGenerator.getCellCount({\r\n intervalCount: intervalCount,\r\n currentDate: currentDate,\r\n viewType: viewType,\r\n hoursInterval: hoursInterval,\r\n startDayHour: startDayHour,\r\n endDayHour: endDayHour\r\n });\r\n var allDayRowsCount = 0;\r\n var usualCellIndex = 0;\r\n return completeViewDataMap.map((row, index) => {\r\n var _a = row[0],\r\n {\r\n allDay: allDay,\r\n startDate: startDate,\r\n endDate: endDate,\r\n groups: groups,\r\n groupIndex: groupIndex,\r\n isFirstGroupCell: isFirstGroupCell,\r\n isLastGroupCell: isLastGroupCell,\r\n index: cellIndex\r\n } = _a,\r\n restCellProps = __rest(_a, [\"allDay\", \"startDate\", \"endDate\", \"groups\", \"groupIndex\", \"isFirstGroupCell\", \"isLastGroupCell\", \"index\"]);\r\n var highlighted = allDay ? false : this.isTimeCellShouldBeHighlighted(today, viewOffset, {\r\n startViewDate: startViewDate,\r\n realEndViewDate: realEndViewDate,\r\n showCurrentTimeIndicator: showCurrentTimeIndicator\r\n }, {\r\n date: startDate,\r\n index: usualCellIndex,\r\n duration: Math.round(cellDuration),\r\n isFirst: 0 === usualCellIndex,\r\n isLast: this.isLastCellInGroup(completeViewDataMap, index)\r\n });\r\n if (allDay) {\r\n allDayRowsCount += 1;\r\n usualCellIndex = 0\r\n } else {\r\n usualCellIndex += 1\r\n }\r\n var timeIndex = (index - allDayRowsCount) % rowCountInGroup;\r\n return _extends(_extends({}, restCellProps), {\r\n startDate: startDate,\r\n allDay: allDay,\r\n highlighted: highlighted,\r\n text: getTimePanelCellText(timeIndex, startDate, startViewDate, cellDuration, startDayHour),\r\n groups: isVerticalGrouping ? groups : void 0,\r\n groupIndex: isVerticalGrouping ? groupIndex : void 0,\r\n isFirstGroupCell: isVerticalGrouping && isFirstGroupCell,\r\n isLastGroupCell: isVerticalGrouping && isLastGroupCell,\r\n index: Math.floor(cellIndex / cellCountInGroupRow)\r\n })\r\n })\r\n }\r\n generateTimePanelData(completeTimePanelMap, options) {\r\n var {\r\n startRowIndex: startRowIndex,\r\n rowCount: rowCount,\r\n topVirtualRowHeight: topVirtualRowHeight,\r\n bottomVirtualRowHeight: bottomVirtualRowHeight,\r\n isGroupedAllDayPanel: isGroupedAllDayPanel,\r\n isVerticalGrouping: isVerticalGrouping,\r\n isAllDayPanelVisible: isAllDayPanelVisible\r\n } = options;\r\n var indexDifference = isVerticalGrouping || !isAllDayPanelVisible ? 0 : 1;\r\n var correctedStartRowIndex = startRowIndex + indexDifference;\r\n var displayedRowCount = getDisplayedRowCount(rowCount, completeTimePanelMap);\r\n var timePanelMap = completeTimePanelMap.slice(correctedStartRowIndex, correctedStartRowIndex + displayedRowCount);\r\n var timePanelData = {\r\n topVirtualRowHeight: topVirtualRowHeight,\r\n bottomVirtualRowHeight: bottomVirtualRowHeight,\r\n isGroupedAllDayPanel: isGroupedAllDayPanel\r\n };\r\n var {\r\n previousGroupedData: groupedData\r\n } = this._generateTimePanelDataFromMap(timePanelMap, isVerticalGrouping);\r\n timePanelData.groupedData = groupedData;\r\n return timePanelData\r\n }\r\n _generateTimePanelDataFromMap(timePanelMap, isVerticalGrouping) {\r\n return timePanelMap.reduce((_ref, cellData) => {\r\n var {\r\n previousGroupIndex: previousGroupIndex,\r\n previousGroupedData: previousGroupedData\r\n } = _ref;\r\n var currentGroupIndex = cellData.groupIndex;\r\n if (currentGroupIndex !== previousGroupIndex) {\r\n previousGroupedData.push({\r\n dateTable: [],\r\n isGroupedAllDayPanel: getIsGroupedAllDayPanel(!!cellData.allDay, isVerticalGrouping),\r\n groupIndex: currentGroupIndex,\r\n key: getKeyByGroup(currentGroupIndex, isVerticalGrouping)\r\n })\r\n }\r\n if (cellData.allDay) {\r\n previousGroupedData[previousGroupedData.length - 1].allDayPanel = cellData\r\n } else {\r\n previousGroupedData[previousGroupedData.length - 1].dateTable.push(cellData)\r\n }\r\n return {\r\n previousGroupIndex: currentGroupIndex,\r\n previousGroupedData: previousGroupedData\r\n }\r\n }, {\r\n previousGroupIndex: -1,\r\n previousGroupedData: []\r\n })\r\n }\r\n isTimeCellShouldBeHighlighted(today, viewOffset, _ref2, cellData) {\r\n var {\r\n startViewDate: startViewDate,\r\n realEndViewDate: realEndViewDate,\r\n showCurrentTimeIndicator: showCurrentTimeIndicator\r\n } = _ref2;\r\n if (!showCurrentTimeIndicator || today < startViewDate || today >= realEndViewDate) {\r\n return false\r\n }\r\n var realTodayTimeMs = this.getLocalDateTimeInMs(today);\r\n var [startMs, endMs] = this.getHighlightedInterval(cellData);\r\n return realTodayTimeMs >= startMs && realTodayTimeMs < endMs\r\n }\r\n getHighlightedInterval(_ref3) {\r\n var {\r\n date: date,\r\n index: index,\r\n duration: duration,\r\n isFirst: isFirst,\r\n isLast: isLast\r\n } = _ref3;\r\n var cellTimeMs = this.getLocalDateTimeInMs(date);\r\n var isEvenCell = index % 2 === 0;\r\n switch (true) {\r\n case isFirst || isLast && !isEvenCell:\r\n return [cellTimeMs, cellTimeMs + duration];\r\n case isEvenCell:\r\n return [cellTimeMs - duration, cellTimeMs + duration];\r\n default:\r\n return [cellTimeMs, cellTimeMs + 2 * duration]\r\n }\r\n }\r\n getLocalDateTimeInMs(date) {\r\n var dateUtcMs = date.getTime() - date.getTimezoneOffset() * toMs(\"minute\");\r\n return shiftIntegerByModule(dateUtcMs, toMs(\"day\"))\r\n }\r\n isLastCellInGroup(completeViewDataMap, index) {\r\n if (index === completeViewDataMap.length - 1) {\r\n return true\r\n }\r\n var {\r\n groupIndex: currentGroupIndex\r\n } = completeViewDataMap[index][0];\r\n var {\r\n groupIndex: nextGroupIndex,\r\n allDay: nextAllDay\r\n } = completeViewDataMap[index + 1][0];\r\n return nextAllDay || nextGroupIndex !== currentGroupIndex\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/core/utils/math.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var shiftIntegerByModule = (integerValue, moduleValue) => {\r\n if (!Number.isInteger(integerValue)) {\r\n throw Error(\"Passed integer value \".concat(integerValue, \" is not an integer.\"))\r\n }\r\n if (!Number.isInteger(moduleValue)) {\r\n throw Error(\"Passed module value \".concat(moduleValue, \" is not an integer.\"))\r\n }\r\n if (moduleValue <= 0) {\r\n throw Error(\"Passed module value \".concat(moduleValue, \" must be > 0.\"))\r\n }\r\n var normalizedInteger = integerValue % moduleValue;\r\n switch (true) {\r\n case 0 === normalizedInteger:\r\n return 0;\r\n case normalizedInteger > 0:\r\n return normalizedInteger;\r\n case normalizedInteger < 0:\r\n return moduleValue + normalizedInteger;\r\n default:\r\n throw Error(\"Unexpected division (\".concat(integerValue, \" % \").concat(moduleValue, \") occurred.\"))\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/workspaces/view_model/m_view_data_generator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport dateUtils from \"../../../../core/utils/date\";\r\nimport {\r\n calculateCellIndex,\r\n calculateDayDuration,\r\n getDisplayedCellCount,\r\n getDisplayedRowCount,\r\n getStartViewDateWithoutDST,\r\n getTotalCellCountByCompleteData,\r\n getTotalRowCountByCompleteData,\r\n isHorizontalView\r\n} from \"../../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\";\r\nimport {\r\n getIsGroupedAllDayPanel,\r\n getKeyByGroup\r\n} from \"../../../../renovation/ui/scheduler/workspaces/utils\";\r\nimport {\r\n HORIZONTAL_GROUP_ORIENTATION\r\n} from \"../../m_constants\";\r\nimport {\r\n getAllGroups,\r\n getGroupCount\r\n} from \"../../resources/m_utils\";\r\nvar HOUR_MS = dateUtils.dateToMilliseconds(\"hour\");\r\nvar DAY_MS = dateUtils.dateToMilliseconds(\"day\");\r\nexport class ViewDataGenerator {\r\n constructor() {\r\n this.daysInInterval = 1;\r\n this.isWorkView = false;\r\n this.tableAllDay = false\r\n }\r\n isSkippedDate(date) {\r\n return false\r\n }\r\n _calculateStartViewDate(options) {}\r\n getStartViewDate(options) {\r\n return this._calculateStartViewDate(options)\r\n }\r\n getCompleteViewDataMap(options) {\r\n var {\r\n groups: groups,\r\n isGroupedByDate: isGroupedByDate,\r\n isHorizontalGrouping: isHorizontalGrouping,\r\n isVerticalGrouping: isVerticalGrouping,\r\n intervalCount: intervalCount,\r\n currentDate: currentDate,\r\n viewType: viewType,\r\n startDayHour: startDayHour,\r\n endDayHour: endDayHour,\r\n hoursInterval: hoursInterval\r\n } = options;\r\n this._setVisibilityDates(options);\r\n this.setHiddenInterval(startDayHour, endDayHour, hoursInterval);\r\n var groupsList = getAllGroups(groups);\r\n var cellCountInGroupRow = this.getCellCount({\r\n intervalCount: intervalCount,\r\n currentDate: currentDate,\r\n viewType: viewType,\r\n startDayHour: startDayHour,\r\n endDayHour: endDayHour,\r\n hoursInterval: hoursInterval\r\n });\r\n var rowCountInGroup = this.getRowCount({\r\n intervalCount: intervalCount,\r\n currentDate: currentDate,\r\n viewType: viewType,\r\n hoursInterval: hoursInterval,\r\n startDayHour: startDayHour,\r\n endDayHour: endDayHour\r\n });\r\n var viewDataMap = [];\r\n var allDayPanelData = this._generateAllDayPanelData(options, rowCountInGroup, cellCountInGroupRow);\r\n var viewCellsData = this._generateViewCellsData(options, rowCountInGroup, cellCountInGroupRow);\r\n allDayPanelData && viewDataMap.push(allDayPanelData);\r\n viewDataMap.push(...viewCellsData);\r\n if (isHorizontalGrouping && !isGroupedByDate) {\r\n viewDataMap = this._transformViewDataMapForHorizontalGrouping(viewDataMap, groupsList)\r\n }\r\n if (isVerticalGrouping) {\r\n viewDataMap = this._transformViewDataMapForVerticalGrouping(viewDataMap, groupsList)\r\n }\r\n if (isGroupedByDate) {\r\n viewDataMap = this._transformViewDataMapForGroupingByDate(viewDataMap, groupsList)\r\n }\r\n var completeViewDataMap = this._addKeysToCells(viewDataMap);\r\n return completeViewDataMap\r\n }\r\n _transformViewDataMapForHorizontalGrouping(viewDataMap, groupsList) {\r\n var result = viewDataMap.map(row => row.slice());\r\n groupsList.slice(1).forEach((groups, index) => {\r\n var groupIndex = index + 1;\r\n viewDataMap.forEach((row, rowIndex) => {\r\n var nextGroupRow = row.map(cellData => _extends(_extends({}, cellData), {\r\n groups: groups,\r\n groupIndex: groupIndex\r\n }));\r\n result[rowIndex].push(...nextGroupRow)\r\n })\r\n });\r\n return result\r\n }\r\n _transformViewDataMapForVerticalGrouping(viewDataMap, groupsList) {\r\n var result = viewDataMap.map(row => row.slice());\r\n groupsList.slice(1).forEach((groups, index) => {\r\n var groupIndex = index + 1;\r\n var nextGroupMap = viewDataMap.map(cellsRow => {\r\n var nextRow = cellsRow.map(cellData => _extends(_extends({}, cellData), {\r\n groupIndex: groupIndex,\r\n groups: groups\r\n }));\r\n return nextRow\r\n });\r\n result.push(...nextGroupMap)\r\n });\r\n return result\r\n }\r\n _transformViewDataMapForGroupingByDate(viewDataMap, groupsList) {\r\n var correctedGroupList = groupsList.slice(1);\r\n var correctedGroupCount = correctedGroupList.length;\r\n var result = viewDataMap.map(cellsRow => {\r\n var groupedByDateCellsRow = cellsRow.reduce((currentRow, cell) => {\r\n var rowWithCurrentCell = [...currentRow, _extends(_extends({}, cell), {\r\n isFirstGroupCell: true,\r\n isLastGroupCell: 0 === correctedGroupCount\r\n }), ...correctedGroupList.map((groups, index) => _extends(_extends({}, cell), {\r\n groups: groups,\r\n groupIndex: index + 1,\r\n isFirstGroupCell: false,\r\n isLastGroupCell: index === correctedGroupCount - 1\r\n }))];\r\n return rowWithCurrentCell\r\n }, []);\r\n return groupedByDateCellsRow\r\n });\r\n return result\r\n }\r\n _addKeysToCells(viewDataMap) {\r\n var totalColumnCount = viewDataMap[0].length;\r\n var {\r\n currentViewDataMap: result\r\n } = viewDataMap.reduce((_ref, row, rowIndex) => {\r\n var {\r\n allDayPanelsCount: allDayPanelsCount,\r\n currentViewDataMap: currentViewDataMap\r\n } = _ref;\r\n var isAllDay = row[0].allDay;\r\n var keyBase = (rowIndex - allDayPanelsCount) * totalColumnCount;\r\n var currentAllDayPanelsCount = isAllDay ? allDayPanelsCount + 1 : allDayPanelsCount;\r\n currentViewDataMap[rowIndex].forEach((cell, columnIndex) => {\r\n cell.key = keyBase + columnIndex\r\n });\r\n return {\r\n allDayPanelsCount: currentAllDayPanelsCount,\r\n currentViewDataMap: currentViewDataMap\r\n }\r\n }, {\r\n allDayPanelsCount: 0,\r\n currentViewDataMap: viewDataMap\r\n });\r\n return result\r\n }\r\n generateViewDataMap(completeViewDataMap, options) {\r\n var {\r\n rowCount: rowCount,\r\n startCellIndex: startCellIndex,\r\n startRowIndex: startRowIndex,\r\n cellCount: cellCount,\r\n isVerticalGrouping: isVerticalGrouping,\r\n isAllDayPanelVisible: isAllDayPanelVisible\r\n } = options;\r\n var sliceCells = (row, rowIndex, startIndex, count) => {\r\n var sliceToIndex = void 0 !== count ? startIndex + count : void 0;\r\n return row.slice(startIndex, sliceToIndex).map((cellData, columnIndex) => ({\r\n cellData: cellData,\r\n position: {\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex\r\n }\r\n }))\r\n };\r\n var correctedStartRowIndex = startRowIndex;\r\n var allDayPanelMap = [];\r\n if (this._isStandaloneAllDayPanel(isVerticalGrouping, isAllDayPanelVisible)) {\r\n correctedStartRowIndex++;\r\n allDayPanelMap = sliceCells(completeViewDataMap[0], 0, startCellIndex, cellCount)\r\n }\r\n var displayedRowCount = getDisplayedRowCount(rowCount, completeViewDataMap);\r\n var dateTableMap = completeViewDataMap.slice(correctedStartRowIndex, correctedStartRowIndex + displayedRowCount).map((row, rowIndex) => sliceCells(row, rowIndex, startCellIndex, cellCount));\r\n return {\r\n allDayPanelMap: allDayPanelMap,\r\n dateTableMap: dateTableMap\r\n }\r\n }\r\n _isStandaloneAllDayPanel(isVerticalGrouping, isAllDayPanelVisible) {\r\n return !isVerticalGrouping && isAllDayPanelVisible\r\n }\r\n getViewDataFromMap(completeViewDataMap, viewDataMap, options) {\r\n var {\r\n topVirtualRowHeight: topVirtualRowHeight,\r\n bottomVirtualRowHeight: bottomVirtualRowHeight,\r\n leftVirtualCellWidth: leftVirtualCellWidth,\r\n rightVirtualCellWidth: rightVirtualCellWidth,\r\n cellCount: cellCount,\r\n rowCount: rowCount,\r\n startRowIndex: startRowIndex,\r\n startCellIndex: startCellIndex,\r\n isProvideVirtualCellsWidth: isProvideVirtualCellsWidth,\r\n isGroupedAllDayPanel: isGroupedAllDayPanel,\r\n isVerticalGrouping: isVerticalGrouping,\r\n isAllDayPanelVisible: isAllDayPanelVisible\r\n } = options;\r\n var {\r\n allDayPanelMap: allDayPanelMap,\r\n dateTableMap: dateTableMap\r\n } = viewDataMap;\r\n var {\r\n groupedData: groupedData\r\n } = dateTableMap.reduce((_ref2, cellsRow) => {\r\n var {\r\n previousGroupIndex: previousGroupIndex,\r\n groupedData: groupedData\r\n } = _ref2;\r\n var cellDataRow = cellsRow.map(_ref3 => {\r\n var {\r\n cellData: cellData\r\n } = _ref3;\r\n return cellData\r\n });\r\n var firstCell = cellDataRow[0];\r\n var isAllDayRow = firstCell.allDay;\r\n var currentGroupIndex = firstCell.groupIndex;\r\n if (currentGroupIndex !== previousGroupIndex) {\r\n groupedData.push({\r\n dateTable: [],\r\n isGroupedAllDayPanel: getIsGroupedAllDayPanel(!!isAllDayRow, isVerticalGrouping),\r\n groupIndex: currentGroupIndex,\r\n key: getKeyByGroup(currentGroupIndex, isVerticalGrouping)\r\n })\r\n }\r\n if (isAllDayRow) {\r\n groupedData[groupedData.length - 1].allDayPanel = cellDataRow\r\n } else {\r\n groupedData[groupedData.length - 1].dateTable.push({\r\n cells: cellDataRow,\r\n key: cellDataRow[0].key - startCellIndex\r\n })\r\n }\r\n return {\r\n groupedData: groupedData,\r\n previousGroupIndex: currentGroupIndex\r\n }\r\n }, {\r\n previousGroupIndex: -1,\r\n groupedData: []\r\n });\r\n if (this._isStandaloneAllDayPanel(isVerticalGrouping, isAllDayPanelVisible)) {\r\n groupedData[0].allDayPanel = allDayPanelMap.map(_ref4 => {\r\n var {\r\n cellData: cellData\r\n } = _ref4;\r\n return cellData\r\n })\r\n }\r\n var totalCellCount = getTotalCellCountByCompleteData(completeViewDataMap);\r\n var totalRowCount = getTotalRowCountByCompleteData(completeViewDataMap);\r\n var displayedCellCount = getDisplayedCellCount(cellCount, completeViewDataMap);\r\n var displayedRowCount = getDisplayedRowCount(rowCount, completeViewDataMap);\r\n return {\r\n groupedData: groupedData,\r\n topVirtualRowHeight: topVirtualRowHeight,\r\n bottomVirtualRowHeight: bottomVirtualRowHeight,\r\n leftVirtualCellWidth: isProvideVirtualCellsWidth ? leftVirtualCellWidth : void 0,\r\n rightVirtualCellWidth: isProvideVirtualCellsWidth ? rightVirtualCellWidth : void 0,\r\n isGroupedAllDayPanel: isGroupedAllDayPanel,\r\n leftVirtualCellCount: startCellIndex,\r\n rightVirtualCellCount: void 0 === cellCount ? 0 : totalCellCount - startCellIndex - displayedCellCount,\r\n topVirtualRowCount: startRowIndex,\r\n bottomVirtualRowCount: totalRowCount - startRowIndex - displayedRowCount\r\n }\r\n }\r\n _generateViewCellsData(options, rowCount, cellCountInGroupRow) {\r\n var viewCellsData = [];\r\n for (var rowIndex = 0; rowIndex < rowCount; rowIndex += 1) {\r\n viewCellsData.push(this._generateCellsRow(options, false, rowIndex, rowCount, cellCountInGroupRow))\r\n }\r\n return viewCellsData\r\n }\r\n _generateAllDayPanelData(options, rowCount, columnCount) {\r\n if (!options.isAllDayPanelVisible) {\r\n return null\r\n }\r\n return this._generateCellsRow(options, true, 0, rowCount, columnCount)\r\n }\r\n _generateCellsRow(options, allDay, rowIndex, rowCount, columnCount) {\r\n var cellsRow = [];\r\n for (var columnIndex = 0; columnIndex < columnCount; ++columnIndex) {\r\n var cellDataValue = this.getCellData(rowIndex, columnIndex, options, allDay);\r\n cellDataValue.index = rowIndex * columnCount + columnIndex;\r\n cellDataValue.isFirstGroupCell = this._isFirstGroupCell(rowIndex, columnIndex, options, rowCount, columnCount);\r\n cellDataValue.isLastGroupCell = this._isLastGroupCell(rowIndex, columnIndex, options, rowCount, columnCount);\r\n cellsRow.push(cellDataValue)\r\n }\r\n return cellsRow\r\n }\r\n getCellData(rowIndex, columnIndex, options, allDay) {\r\n return allDay ? this.prepareAllDayCellData(options, rowIndex, columnIndex) : this.prepareCellData(options, rowIndex, columnIndex)\r\n }\r\n prepareCellData(options, rowIndex, columnIndex) {\r\n var {\r\n groups: groups,\r\n startDayHour: startDayHour,\r\n endDayHour: endDayHour,\r\n interval: interval,\r\n hoursInterval: hoursInterval\r\n } = options;\r\n var groupsList = getAllGroups(groups);\r\n var startDate = this.getDateByCellIndices(options, rowIndex, columnIndex, this.getCellCountInDay(startDayHour, endDayHour, hoursInterval));\r\n var endDate = this.calculateEndDate(startDate, interval, endDayHour);\r\n var data = {\r\n startDate: startDate,\r\n endDate: endDate,\r\n allDay: this.tableAllDay,\r\n groupIndex: 0\r\n };\r\n if (groupsList.length > 0) {\r\n data.groups = groupsList[0]\r\n }\r\n return data\r\n }\r\n prepareAllDayCellData(options, rowIndex, columnIndex) {\r\n var data = this.prepareCellData(options, rowIndex, columnIndex);\r\n var startDate = dateUtils.trimTime(data.startDate);\r\n return _extends(_extends({}, data), {\r\n startDate: startDate,\r\n endDate: startDate,\r\n allDay: true\r\n })\r\n }\r\n getDateByCellIndices(options, rowIndex, columnIndex, cellCountInDay) {\r\n var {\r\n startViewDate: startViewDate\r\n } = options;\r\n var {\r\n startDayHour: startDayHour,\r\n interval: interval,\r\n firstDayOfWeek: firstDayOfWeek,\r\n intervalCount: intervalCount\r\n } = options;\r\n var isStartViewDateDuringDST = startViewDate.getHours() !== Math.floor(startDayHour);\r\n if (isStartViewDateDuringDST) {\r\n var dateWithCorrectHours = getStartViewDateWithoutDST(startViewDate, startDayHour);\r\n startViewDate = new Date(dateWithCorrectHours - dateUtils.dateToMilliseconds(\"day\"))\r\n }\r\n var columnCountBase = this.getCellCount(options);\r\n var rowCountBase = this.getRowCount(options);\r\n var cellIndex = this._calculateCellIndex(rowIndex, columnIndex, rowCountBase, columnCountBase);\r\n var millisecondsOffset = this.getMillisecondsOffset(cellIndex, interval, cellCountInDay);\r\n var offsetByCount = this.isWorkView ? this.getTimeOffsetByColumnIndex(columnIndex, this.getFirstDayOfWeek(firstDayOfWeek), columnCountBase, intervalCount) : 0;\r\n var startViewDateTime = startViewDate.getTime();\r\n var currentDate = new Date(startViewDateTime + millisecondsOffset + offsetByCount);\r\n var timeZoneDifference = isStartViewDateDuringDST ? 0 : dateUtils.getTimezonesDifference(startViewDate, currentDate);\r\n currentDate.setTime(currentDate.getTime() + timeZoneDifference);\r\n return currentDate\r\n }\r\n getMillisecondsOffset(cellIndex, interval, cellCountInDay) {\r\n var dayIndex = Math.floor(cellIndex / cellCountInDay);\r\n var realHiddenInterval = dayIndex * this.hiddenInterval;\r\n return interval * cellIndex + realHiddenInterval\r\n }\r\n getTimeOffsetByColumnIndex(columnIndex, firstDayOfWeek, columnCount, intervalCount) {\r\n var firstDayOfWeekDiff = Math.max(0, firstDayOfWeek - 1);\r\n var columnsInWeek = columnCount / intervalCount;\r\n var weekendCount = Math.floor((columnIndex + firstDayOfWeekDiff) / columnsInWeek);\r\n return DAY_MS * weekendCount * 2\r\n }\r\n calculateEndDate(startDate, interval, endDayHour) {\r\n var result = new Date(startDate);\r\n result.setMilliseconds(result.getMilliseconds() + Math.round(interval));\r\n return result\r\n }\r\n _calculateCellIndex(rowIndex, columnIndex, rowCount, columnCountBase) {\r\n return calculateCellIndex(rowIndex, columnIndex, rowCount)\r\n }\r\n generateGroupedDataMap(viewDataMap) {\r\n var {\r\n allDayPanelMap: allDayPanelMap,\r\n dateTableMap: dateTableMap\r\n } = viewDataMap;\r\n var {\r\n previousGroupedDataMap: dateTableGroupedMap\r\n } = dateTableMap.reduce((previousOptions, cellsRow) => {\r\n var {\r\n previousGroupedDataMap: previousGroupedDataMap,\r\n previousRowIndex: previousRowIndex,\r\n previousGroupIndex: previousGroupIndex\r\n } = previousOptions;\r\n var {\r\n groupIndex: currentGroupIndex\r\n } = cellsRow[0].cellData;\r\n var currentRowIndex = currentGroupIndex === previousGroupIndex ? previousRowIndex + 1 : 0;\r\n cellsRow.forEach(cell => {\r\n var {\r\n groupIndex: groupIndex\r\n } = cell.cellData;\r\n if (!previousGroupedDataMap[groupIndex]) {\r\n previousGroupedDataMap[groupIndex] = []\r\n }\r\n if (!previousGroupedDataMap[groupIndex][currentRowIndex]) {\r\n previousGroupedDataMap[groupIndex][currentRowIndex] = []\r\n }\r\n previousGroupedDataMap[groupIndex][currentRowIndex].push(cell)\r\n });\r\n return {\r\n previousGroupedDataMap: previousGroupedDataMap,\r\n previousRowIndex: currentRowIndex,\r\n previousGroupIndex: currentGroupIndex\r\n }\r\n }, {\r\n previousGroupedDataMap: [],\r\n previousRowIndex: -1,\r\n previousGroupIndex: -1\r\n });\r\n var allDayPanelGroupedMap = [];\r\n null === allDayPanelMap || void 0 === allDayPanelMap ? void 0 : allDayPanelMap.forEach(cell => {\r\n var {\r\n groupIndex: groupIndex\r\n } = cell.cellData;\r\n if (!allDayPanelGroupedMap[groupIndex]) {\r\n allDayPanelGroupedMap[groupIndex] = []\r\n }\r\n allDayPanelGroupedMap[groupIndex].push(cell)\r\n });\r\n return {\r\n allDayPanelGroupedMap: allDayPanelGroupedMap,\r\n dateTableGroupedMap: dateTableGroupedMap\r\n }\r\n }\r\n _isFirstGroupCell(rowIndex, columnIndex, options, rowCount, columnCount) {\r\n var {\r\n groupOrientation: groupOrientation,\r\n groups: groups,\r\n isGroupedByDate: isGroupedByDate\r\n } = options;\r\n var groupCount = getGroupCount(groups);\r\n if (isGroupedByDate) {\r\n return columnIndex % groupCount === 0\r\n }\r\n if (groupOrientation === HORIZONTAL_GROUP_ORIENTATION) {\r\n return columnIndex % columnCount === 0\r\n }\r\n return rowIndex % rowCount === 0\r\n }\r\n _isLastGroupCell(rowIndex, columnIndex, options, rowCount, columnCount) {\r\n var {\r\n groupOrientation: groupOrientation,\r\n groups: groups,\r\n isGroupedByDate: isGroupedByDate\r\n } = options;\r\n var groupCount = getGroupCount(groups);\r\n if (isGroupedByDate) {\r\n return (columnIndex + 1) % groupCount === 0\r\n }\r\n if (groupOrientation === HORIZONTAL_GROUP_ORIENTATION) {\r\n return (columnIndex + 1) % columnCount === 0\r\n }\r\n return (rowIndex + 1) % rowCount === 0\r\n }\r\n markSelectedAndFocusedCells(viewDataMap, renderOptions) {\r\n var {\r\n selectedCells: selectedCells,\r\n focusedCell: focusedCell\r\n } = renderOptions;\r\n if (!selectedCells && !focusedCell) {\r\n return viewDataMap\r\n }\r\n var {\r\n allDayPanelMap: allDayPanelMap,\r\n dateTableMap: dateTableMap\r\n } = viewDataMap;\r\n var nextDateTableMap = dateTableMap.map(row => this._markSelectedAndFocusedCellsInRow(row, selectedCells, focusedCell));\r\n var nextAllDayMap = this._markSelectedAndFocusedCellsInRow(allDayPanelMap, selectedCells, focusedCell);\r\n return {\r\n allDayPanelMap: nextAllDayMap,\r\n dateTableMap: nextDateTableMap\r\n }\r\n }\r\n _markSelectedAndFocusedCellsInRow(dataRow, selectedCells, focusedCell) {\r\n return dataRow.map(cell => {\r\n var {\r\n index: index,\r\n groupIndex: groupIndex,\r\n allDay: allDay,\r\n startDate: startDate\r\n } = cell.cellData;\r\n var indexInSelectedCells = selectedCells.findIndex(_ref5 => {\r\n var {\r\n index: selectedCellIndex,\r\n groupIndex: selectedCellGroupIndex,\r\n allDay: selectedCellAllDay,\r\n startDate: selectedCellStartDate\r\n } = _ref5;\r\n return groupIndex === selectedCellGroupIndex && (index === selectedCellIndex || void 0 === selectedCellIndex && startDate.getTime() === selectedCellStartDate.getTime()) && !!allDay === !!selectedCellAllDay\r\n });\r\n var isFocused = !!focusedCell && index === focusedCell.cellData.index && groupIndex === focusedCell.cellData.groupIndex && allDay === focusedCell.cellData.allDay;\r\n if (!isFocused && -1 === indexInSelectedCells) {\r\n return cell\r\n }\r\n return _extends(_extends({}, cell), {\r\n cellData: _extends(_extends({}, cell.cellData), {\r\n isSelected: indexInSelectedCells > -1,\r\n isFocused: isFocused\r\n })\r\n })\r\n })\r\n }\r\n getInterval(hoursInterval) {\r\n return hoursInterval * HOUR_MS\r\n }\r\n _getIntervalDuration(intervalCount) {\r\n return dateUtils.dateToMilliseconds(\"day\") * intervalCount\r\n }\r\n _setVisibilityDates(options) {}\r\n getCellCountInDay(startDayHour, endDayHour, hoursInterval) {\r\n var result = calculateDayDuration(startDayHour, endDayHour) / hoursInterval;\r\n return Math.ceil(result)\r\n }\r\n getCellCount(options) {\r\n var {\r\n intervalCount: intervalCount,\r\n viewType: viewType,\r\n startDayHour: startDayHour,\r\n endDayHour: endDayHour,\r\n hoursInterval: hoursInterval\r\n } = options;\r\n var cellCountInDay = this.getCellCountInDay(startDayHour, endDayHour, hoursInterval);\r\n var columnCountInDay = isHorizontalView(viewType) ? cellCountInDay : 1;\r\n return this.daysInInterval * intervalCount * columnCountInDay\r\n }\r\n getRowCount(options) {\r\n var {\r\n viewType: viewType,\r\n startDayHour: startDayHour,\r\n endDayHour: endDayHour,\r\n hoursInterval: hoursInterval\r\n } = options;\r\n var cellCountInDay = this.getCellCountInDay(startDayHour, endDayHour, hoursInterval);\r\n var rowCountInDay = !isHorizontalView(viewType) ? cellCountInDay : 1;\r\n return rowCountInDay\r\n }\r\n setHiddenInterval(startDayHour, endDayHour, hoursInterval) {\r\n this.hiddenInterval = DAY_MS - this.getVisibleDayDuration(startDayHour, endDayHour, hoursInterval)\r\n }\r\n getVisibleDayDuration(startDayHour, endDayHour, hoursInterval) {\r\n var cellCountInDay = this.getCellCountInDay(startDayHour, endDayHour, hoursInterval);\r\n return hoursInterval * cellCountInDay * HOUR_MS\r\n }\r\n getFirstDayOfWeek(firstDayOfWeekOption) {\r\n return firstDayOfWeekOption\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/workspaces/view_model/m_view_data_generator_day.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n calculateStartViewDate\r\n} from \"../../../../renovation/ui/scheduler/view_model/to_test/views/utils/day\";\r\nimport {\r\n ViewDataGenerator\r\n} from \"./m_view_data_generator\";\r\nexport class ViewDataGeneratorDay extends ViewDataGenerator {\r\n _calculateStartViewDate(options) {\r\n return calculateStartViewDate(options.currentDate, options.startDayHour, options.startDate, this._getIntervalDuration(options.intervalCount))\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/view_model/to_test/views/utils/day.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getViewStartByOptions,\r\n setOptionHour\r\n} from \"./base\";\r\nexport var calculateStartViewDate = (currentDate, startDayHour, startDate, intervalDuration) => {\r\n var firstViewDate = getViewStartByOptions(startDate, currentDate, intervalDuration, startDate);\r\n return setOptionHour(firstViewDate, startDayHour)\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/view_model/to_test/views/utils/month.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dateUtils from \"../../../../../../../core/utils/date\";\r\nimport dateLocalization from \"../../../../../../../localization/date\";\r\nimport {\r\n getCalculatedFirstDayOfWeek,\r\n isDateInRange,\r\n setOptionHour\r\n} from \"./base\";\r\nexport var getViewStartByOptions = (startDate, currentDate, intervalCount, startViewDate) => {\r\n if (!startDate) {\r\n return new Date(currentDate)\r\n }\r\n var currentStartDate = new Date(startViewDate);\r\n var validStartViewDate = new Date(startViewDate);\r\n var diff = currentStartDate.getTime() <= currentDate.getTime() ? 1 : -1;\r\n var endDate = new Date(new Date(validStartViewDate.setMonth(validStartViewDate.getMonth() + diff * intervalCount)));\r\n while (!isDateInRange(currentDate, currentStartDate, endDate, diff)) {\r\n currentStartDate = new Date(endDate);\r\n if (diff > 0) {\r\n currentStartDate.setDate(1)\r\n }\r\n endDate = new Date(new Date(endDate.setMonth(endDate.getMonth() + diff * intervalCount)))\r\n }\r\n return diff > 0 ? currentStartDate : endDate\r\n};\r\nexport var calculateStartViewDate = (currentDate, startDayHour, startDate, intervalCount, firstDayOfWeekOption) => {\r\n var viewStart = getViewStartByOptions(startDate, currentDate, intervalCount, dateUtils.getFirstMonthDate(startDate));\r\n var firstMonthDate = dateUtils.getFirstMonthDate(viewStart);\r\n var firstDayOfWeek = getCalculatedFirstDayOfWeek(firstDayOfWeekOption);\r\n var firstViewDate = dateUtils.getFirstWeekDate(firstMonthDate, firstDayOfWeek);\r\n return setOptionHour(firstViewDate, startDayHour)\r\n};\r\nexport var calculateCellIndex = (rowIndex, columnIndex, _, columnCount) => rowIndex * columnCount + columnIndex;\r\nexport var isFirstCellInMonthWithIntervalCount = (cellDate, intervalCount) => 1 === cellDate.getDate() && intervalCount > 1;\r\nexport var getCellText = (date, intervalCount) => {\r\n if (isFirstCellInMonthWithIntervalCount(date, intervalCount)) {\r\n var monthName = dateLocalization.getMonthNames(\"abbreviated\")[date.getMonth()];\r\n return [monthName, dateLocalization.format(date, \"day\")].join(\" \")\r\n }\r\n return dateLocalization.format(date, \"dd\")\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/workspaces/view_model/m_view_data_generator_month.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dateUtils from \"../../../../core/utils/date\";\r\nimport dateLocalization from \"../../../../localization/date\";\r\nimport {\r\n getToday,\r\n setOptionHour\r\n} from \"../../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\";\r\nimport {\r\n calculateCellIndex,\r\n calculateStartViewDate,\r\n getCellText,\r\n getViewStartByOptions,\r\n isFirstCellInMonthWithIntervalCount\r\n} from \"../../../../renovation/ui/scheduler/view_model/to_test/views/utils/month\";\r\nimport {\r\n calculateAlignedWeeksBetweenDates\r\n} from \"./m_utils\";\r\nimport {\r\n ViewDataGenerator\r\n} from \"./m_view_data_generator\";\r\nvar DAY_IN_MILLISECONDS = dateUtils.dateToMilliseconds(\"day\");\r\nvar DAYS_IN_WEEK = 7;\r\nexport class ViewDataGeneratorMonth extends ViewDataGenerator {\r\n constructor() {\r\n super(...arguments);\r\n this.tableAllDay = void 0\r\n }\r\n getCellData(rowIndex, columnIndex, options, allDay) {\r\n var data = super.getCellData(rowIndex, columnIndex, options, false);\r\n var {\r\n startDate: startDate\r\n } = data;\r\n var {\r\n indicatorTime: indicatorTime,\r\n timeZoneCalculator: timeZoneCalculator,\r\n intervalCount: intervalCount\r\n } = options;\r\n data.today = this.isCurrentDate(startDate, indicatorTime, timeZoneCalculator);\r\n data.otherMonth = this.isOtherMonth(startDate, this._minVisibleDate, this._maxVisibleDate);\r\n data.firstDayOfMonth = isFirstCellInMonthWithIntervalCount(startDate, intervalCount);\r\n data.text = getCellText(startDate, intervalCount);\r\n return data\r\n }\r\n isCurrentDate(date, indicatorTime, timeZoneCalculator) {\r\n return dateUtils.sameDate(date, getToday(indicatorTime, timeZoneCalculator))\r\n }\r\n isOtherMonth(cellDate, minDate, maxDate) {\r\n return !dateUtils.dateInRange(cellDate, minDate, maxDate, \"date\")\r\n }\r\n _calculateCellIndex(rowIndex, columnIndex, rowCount, columnCount) {\r\n return calculateCellIndex(rowIndex, columnIndex, rowCount, columnCount)\r\n }\r\n calculateEndDate(startDate, interval, endDayHour) {\r\n return setOptionHour(startDate, endDayHour)\r\n }\r\n getInterval() {\r\n return DAY_IN_MILLISECONDS\r\n }\r\n _calculateStartViewDate(options) {\r\n return calculateStartViewDate(options.currentDate, options.startDayHour, options.startDate, options.intervalCount, this.getFirstDayOfWeek(options.firstDayOfWeek))\r\n }\r\n _setVisibilityDates(options) {\r\n var {\r\n intervalCount: intervalCount,\r\n startDate: startDate,\r\n currentDate: currentDate\r\n } = options;\r\n var firstMonthDate = dateUtils.getFirstMonthDate(startDate);\r\n var viewStart = getViewStartByOptions(startDate, currentDate, intervalCount, firstMonthDate);\r\n this._minVisibleDate = new Date(viewStart.setDate(1));\r\n var nextMonthDate = new Date(viewStart.setMonth(viewStart.getMonth() + intervalCount));\r\n this._maxVisibleDate = new Date(nextMonthDate.setDate(0))\r\n }\r\n getCellCount() {\r\n return DAYS_IN_WEEK\r\n }\r\n getRowCount(options) {\r\n var _a;\r\n var startDate = new Date(options.currentDate);\r\n startDate.setDate(1);\r\n var endDate = new Date(startDate);\r\n endDate.setMonth(endDate.getMonth() + options.intervalCount);\r\n endDate.setDate(0);\r\n return calculateAlignedWeeksBetweenDates(startDate, endDate, null !== (_a = options.firstDayOfWeek) && void 0 !== _a ? _a : dateLocalization.firstDayOfWeekIndex())\r\n }\r\n getCellCountInDay() {\r\n return 1\r\n }\r\n setHiddenInterval() {\r\n this.hiddenInterval = 0\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/workspaces/view_model/m_utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dateUtils from \"../../../../core/utils/date\";\r\nimport {\r\n VIEWS\r\n} from \"../../m_constants\";\r\nimport {\r\n ViewDataGenerator\r\n} from \"./m_view_data_generator\";\r\nimport {\r\n ViewDataGeneratorDay\r\n} from \"./m_view_data_generator_day\";\r\nimport {\r\n ViewDataGeneratorMonth\r\n} from \"./m_view_data_generator_month\";\r\nimport {\r\n ViewDataGeneratorTimelineMonth\r\n} from \"./m_view_data_generator_timeline_month\";\r\nimport {\r\n ViewDataGeneratorWeek\r\n} from \"./m_view_data_generator_week\";\r\nimport {\r\n ViewDataGeneratorWorkWeek\r\n} from \"./m_view_data_generator_work_week\";\r\nvar DAYS_IN_WEEK = 7;\r\nvar MS_IN_DAY = 864e5;\r\nexport var getViewDataGeneratorByViewType = viewType => {\r\n switch (viewType) {\r\n case VIEWS.MONTH:\r\n return new ViewDataGeneratorMonth;\r\n case VIEWS.TIMELINE_MONTH:\r\n return new ViewDataGeneratorTimelineMonth;\r\n case VIEWS.DAY:\r\n case VIEWS.TIMELINE_DAY:\r\n return new ViewDataGeneratorDay;\r\n case VIEWS.WEEK:\r\n case VIEWS.TIMELINE_WEEK:\r\n return new ViewDataGeneratorWeek;\r\n case VIEWS.WORK_WEEK:\r\n case VIEWS.TIMELINE_WORK_WEEK:\r\n return new ViewDataGeneratorWorkWeek;\r\n default:\r\n return new ViewDataGenerator\r\n }\r\n};\r\nexport function alignToFirstDayOfWeek(date, firstDayOfWeek) {\r\n var newDate = new Date(date);\r\n var dayDiff = newDate.getDay() - firstDayOfWeek;\r\n if (dayDiff < 0) {\r\n dayDiff += DAYS_IN_WEEK\r\n }\r\n newDate.setDate(newDate.getDate() - dayDiff);\r\n return newDate\r\n}\r\nexport function alignToLastDayOfWeek(date, firstDayOfWeek) {\r\n var newDate = alignToFirstDayOfWeek(date, firstDayOfWeek);\r\n newDate.setDate(newDate.getDate() + DAYS_IN_WEEK - 1);\r\n return newDate\r\n}\r\nexport function calculateDaysBetweenDates(fromDate, toDate) {\r\n var msDiff = dateUtils.trimTime(toDate).getTime() - dateUtils.trimTime(fromDate).getTime();\r\n return Math.round(msDiff / MS_IN_DAY) + 1\r\n}\r\nexport function calculateAlignedWeeksBetweenDates(fromDate, toDate, firstDayOfWeek) {\r\n var alignedFromDate = alignToFirstDayOfWeek(fromDate, firstDayOfWeek);\r\n var alignedToDate = alignToLastDayOfWeek(toDate, firstDayOfWeek);\r\n var weekCount = calculateDaysBetweenDates(alignedFromDate, alignedToDate) / DAYS_IN_WEEK;\r\n return Math.max(weekCount, 6)\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/view_model/to_test/views/utils/timeline_month.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dateUtils from \"../../../../../../../core/utils/date\";\r\nimport {\r\n setOptionHour\r\n} from \"./base\";\r\nimport {\r\n getViewStartByOptions\r\n} from \"./month\";\r\nexport var calculateStartViewDate = (currentDate, startDayHour, startDate, intervalCount) => {\r\n var firstViewDate = dateUtils.getFirstMonthDate(getViewStartByOptions(startDate, currentDate, intervalCount, dateUtils.getFirstMonthDate(startDate)));\r\n return setOptionHour(firstViewDate, startDayHour)\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/workspaces/view_model/m_view_data_generator_timeline_month.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dateUtils from \"../../../../core/utils/date\";\r\nimport {\r\n setOptionHour\r\n} from \"../../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\";\r\nimport {\r\n calculateCellIndex\r\n} from \"../../../../renovation/ui/scheduler/view_model/to_test/views/utils/month\";\r\nimport {\r\n calculateStartViewDate\r\n} from \"../../../../renovation/ui/scheduler/view_model/to_test/views/utils/timeline_month\";\r\nimport {\r\n ViewDataGenerator\r\n} from \"./m_view_data_generator\";\r\nvar DAY_IN_MILLISECONDS = dateUtils.dateToMilliseconds(\"day\");\r\nexport class ViewDataGeneratorTimelineMonth extends ViewDataGenerator {\r\n _calculateCellIndex(rowIndex, columnIndex, rowCount, columnCount) {\r\n return calculateCellIndex(rowIndex, columnIndex, rowCount, columnCount)\r\n }\r\n calculateEndDate(startDate, interval, endDayHour) {\r\n return setOptionHour(startDate, endDayHour)\r\n }\r\n getInterval() {\r\n return DAY_IN_MILLISECONDS\r\n }\r\n _calculateStartViewDate(options) {\r\n return calculateStartViewDate(options.currentDate, options.startDayHour, options.startDate, options.intervalCount)\r\n }\r\n getCellCount(options) {\r\n var {\r\n intervalCount: intervalCount,\r\n currentDate: currentDate\r\n } = options;\r\n var cellCount = 0;\r\n for (var i = 1; i <= intervalCount; i++) {\r\n cellCount += new Date(currentDate.getFullYear(), currentDate.getMonth() + i, 0).getDate()\r\n }\r\n return cellCount\r\n }\r\n setHiddenInterval() {\r\n this.hiddenInterval = 0\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/workspaces/view_model/m_view_data_generator_week.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n calculateStartViewDate,\r\n getIntervalDuration\r\n} from \"../../../../renovation/ui/scheduler/view_model/to_test/views/utils/week\";\r\nimport {\r\n ViewDataGenerator\r\n} from \"./m_view_data_generator\";\r\nexport class ViewDataGeneratorWeek extends ViewDataGenerator {\r\n constructor() {\r\n super(...arguments);\r\n this.daysInInterval = 7\r\n }\r\n _getIntervalDuration(intervalCount) {\r\n return getIntervalDuration(intervalCount)\r\n }\r\n _calculateStartViewDate(options) {\r\n return calculateStartViewDate(options.currentDate, options.startDayHour, options.startDate, this._getIntervalDuration(options.intervalCount), this.getFirstDayOfWeek(options.firstDayOfWeek))\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/view_model/to_test/views/utils/work_week.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dateUtils from \"../../../../../../../core/utils/date\";\r\nimport {\r\n getViewStartByOptions,\r\n setOptionHour\r\n} from \"./base\";\r\nimport {\r\n getValidStartDate\r\n} from \"./week\";\r\nvar SATURDAY_INDEX = 6;\r\nvar SUNDAY_INDEX = 0;\r\nvar MONDAY_INDEX = 1;\r\nvar DAYS_IN_WEEK = 7;\r\nexport var isDataOnWeekend = date => {\r\n var day = date.getDay();\r\n return day === SATURDAY_INDEX || day === SUNDAY_INDEX\r\n};\r\nexport var getWeekendsCount = days => 2 * Math.floor(days / 7);\r\nexport var calculateStartViewDate = (currentDate, startDayHour, startDate, intervalDuration, firstDayOfWeek) => {\r\n var viewStart = getViewStartByOptions(startDate, currentDate, intervalDuration, getValidStartDate(startDate, firstDayOfWeek));\r\n var firstViewDate = dateUtils.getFirstWeekDate(viewStart, firstDayOfWeek);\r\n if (isDataOnWeekend(firstViewDate)) {\r\n var currentDay = firstViewDate.getDay();\r\n var distance = (MONDAY_INDEX + DAYS_IN_WEEK - currentDay) % 7;\r\n firstViewDate.setDate(firstViewDate.getDate() + distance)\r\n }\r\n return setOptionHour(firstViewDate, startDayHour)\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/workspaces/view_model/m_view_data_generator_work_week.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n calculateStartViewDate,\r\n isDataOnWeekend\r\n} from \"../../../../renovation/ui/scheduler/view_model/to_test/views/utils/work_week\";\r\nimport {\r\n ViewDataGeneratorWeek\r\n} from \"./m_view_data_generator_week\";\r\nexport class ViewDataGeneratorWorkWeek extends ViewDataGeneratorWeek {\r\n constructor() {\r\n super(...arguments);\r\n this.daysInInterval = 5;\r\n this.isWorkView = true\r\n }\r\n isSkippedDate(date) {\r\n return isDataOnWeekend(date)\r\n }\r\n _calculateStartViewDate(options) {\r\n return calculateStartViewDate(options.currentDate, options.startDayHour, options.startDate, this._getIntervalDuration(options.intervalCount), this.getFirstDayOfWeek(options.firstDayOfWeek))\r\n }\r\n getFirstDayOfWeek(firstDayOfWeekOption) {\r\n return firstDayOfWeekOption || 0\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/workspaces/view_model/m_view_data_provider.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar __rest = this && this.__rest || function(s, e) {\r\n var t = {};\r\n for (var p in s) {\r\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) {\r\n t[p] = s[p]\r\n }\r\n }\r\n if (null != s && \"function\" === typeof Object.getOwnPropertySymbols) {\r\n var i = 0;\r\n for (p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) {\r\n t[p[i]] = s[p[i]]\r\n }\r\n }\r\n }\r\n return t\r\n};\r\nimport dateUtils from \"../../../../core/utils/date\";\r\nimport {\r\n getGroupPanelData\r\n} from \"../../../../renovation/ui/scheduler/view_model/group_panel/utils\";\r\nimport {\r\n calculateIsGroupedAllDayPanel\r\n} from \"../../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\";\r\nimport {\r\n isGroupingByDate,\r\n isHorizontalGroupingApplied,\r\n isVerticalGroupingApplied\r\n} from \"../../../../renovation/ui/scheduler/workspaces/utils\";\r\nimport timeZoneUtils from \"../../m_utils_time_zone\";\r\nimport {\r\n DateHeaderDataGenerator\r\n} from \"./m_date_header_data_generator\";\r\nimport {\r\n GroupedDataMapProvider\r\n} from \"./m_grouped_data_map_provider\";\r\nimport {\r\n TimePanelDataGenerator\r\n} from \"./m_time_panel_data_generator\";\r\nimport {\r\n getViewDataGeneratorByViewType\r\n} from \"./m_utils\";\r\nexport default class ViewDataProvider {\r\n constructor(viewType) {\r\n this.viewDataGenerator = getViewDataGeneratorByViewType(viewType);\r\n this.viewData = {};\r\n this.completeViewDataMap = [];\r\n this.completeDateHeaderMap = [];\r\n this.viewDataMap = {};\r\n this._groupedDataMapProvider = null\r\n }\r\n get groupedDataMap() {\r\n return this._groupedDataMapProvider.groupedDataMap\r\n }\r\n get hiddenInterval() {\r\n return this.viewDataGenerator.hiddenInterval\r\n }\r\n isSkippedDate(date) {\r\n return this.viewDataGenerator.isSkippedDate(date)\r\n }\r\n update(options, isGenerateNewViewData) {\r\n this.viewDataGenerator = getViewDataGeneratorByViewType(options.viewType);\r\n var {\r\n viewDataGenerator: viewDataGenerator\r\n } = this;\r\n var dateHeaderDataGenerator = new DateHeaderDataGenerator(viewDataGenerator);\r\n var timePanelDataGenerator = new TimePanelDataGenerator(viewDataGenerator);\r\n var renderOptions = this._transformRenderOptions(options);\r\n renderOptions.interval = this.viewDataGenerator.getInterval(renderOptions.hoursInterval);\r\n this._options = renderOptions;\r\n if (isGenerateNewViewData) {\r\n this.completeViewDataMap = viewDataGenerator.getCompleteViewDataMap(renderOptions);\r\n this.completeDateHeaderMap = dateHeaderDataGenerator.getCompleteDateHeaderMap(renderOptions, this.completeViewDataMap);\r\n if (renderOptions.isGenerateTimePanelData) {\r\n this.completeTimePanelMap = timePanelDataGenerator.getCompleteTimePanelMap(renderOptions, this.completeViewDataMap)\r\n }\r\n }\r\n this.viewDataMap = viewDataGenerator.generateViewDataMap(this.completeViewDataMap, renderOptions);\r\n this.updateViewData(renderOptions);\r\n this._groupedDataMapProvider = new GroupedDataMapProvider(this.viewDataGenerator, this.viewDataMap, this.completeViewDataMap, {\r\n isVerticalGrouping: renderOptions.isVerticalGrouping,\r\n viewType: renderOptions.viewType\r\n });\r\n this.dateHeaderData = dateHeaderDataGenerator.generateDateHeaderData(this.completeDateHeaderMap, this.completeViewDataMap, renderOptions);\r\n if (renderOptions.isGenerateTimePanelData) {\r\n this.timePanelData = timePanelDataGenerator.generateTimePanelData(this.completeTimePanelMap, renderOptions)\r\n }\r\n }\r\n createGroupedDataMapProvider() {\r\n this._groupedDataMapProvider = new GroupedDataMapProvider(this.viewDataGenerator, this.viewDataMap, this.completeViewDataMap, {\r\n isVerticalGrouping: this._options.isVerticalGrouping,\r\n viewType: this._options.viewType\r\n })\r\n }\r\n updateViewData(options) {\r\n var renderOptions = this._transformRenderOptions(options);\r\n this.viewDataMapWithSelection = this.viewDataGenerator.markSelectedAndFocusedCells(this.viewDataMap, renderOptions);\r\n this.viewData = this.viewDataGenerator.getViewDataFromMap(this.completeViewDataMap, this.viewDataMapWithSelection, renderOptions)\r\n }\r\n _transformRenderOptions(renderOptions) {\r\n var {\r\n groups: groups,\r\n groupOrientation: groupOrientation,\r\n groupByDate: groupByDate,\r\n isAllDayPanelVisible: isAllDayPanelVisible\r\n } = renderOptions, restOptions = __rest(renderOptions, [\"groups\", \"groupOrientation\", \"groupByDate\", \"isAllDayPanelVisible\"]);\r\n return _extends(_extends({}, restOptions), {\r\n startViewDate: this.viewDataGenerator._calculateStartViewDate(renderOptions),\r\n isVerticalGrouping: isVerticalGroupingApplied(groups, groupOrientation),\r\n isHorizontalGrouping: isHorizontalGroupingApplied(groups, groupOrientation),\r\n isGroupedByDate: isGroupingByDate(groups, groupOrientation, groupByDate),\r\n isGroupedAllDayPanel: calculateIsGroupedAllDayPanel(groups, groupOrientation, isAllDayPanelVisible),\r\n groups: groups,\r\n groupOrientation: groupOrientation,\r\n isAllDayPanelVisible: isAllDayPanelVisible\r\n })\r\n }\r\n getGroupPanelData(options) {\r\n var renderOptions = this._transformRenderOptions(options);\r\n if (renderOptions.groups.length > 0) {\r\n var cellCount = this.getCellCount(renderOptions);\r\n return getGroupPanelData(renderOptions.groups, cellCount, renderOptions.isGroupedByDate, renderOptions.isGroupedByDate ? 1 : cellCount)\r\n }\r\n return\r\n }\r\n getGroupStartDate(groupIndex) {\r\n return this._groupedDataMapProvider.getGroupStartDate(groupIndex)\r\n }\r\n getGroupEndDate(groupIndex) {\r\n return this._groupedDataMapProvider.getGroupEndDate(groupIndex)\r\n }\r\n findGroupCellStartDate(groupIndex, startDate, endDate) {\r\n var isFindByDate = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : false;\r\n return this._groupedDataMapProvider.findGroupCellStartDate(groupIndex, startDate, endDate, isFindByDate)\r\n }\r\n findAllDayGroupCellStartDate(groupIndex, startDate) {\r\n return this._groupedDataMapProvider.findAllDayGroupCellStartDate(groupIndex, startDate)\r\n }\r\n findCellPositionInMap(cellInfo) {\r\n return this._groupedDataMapProvider.findCellPositionInMap(cellInfo)\r\n }\r\n hasAllDayPanel() {\r\n var {\r\n viewData: viewData\r\n } = this.viewDataMap;\r\n var {\r\n allDayPanel: allDayPanel\r\n } = viewData.groupedData[0];\r\n return !viewData.isGroupedAllDayPanel && (null === allDayPanel || void 0 === allDayPanel ? void 0 : allDayPanel.length) > 0\r\n }\r\n getCellsGroup(groupIndex) {\r\n return this._groupedDataMapProvider.getCellsGroup(groupIndex)\r\n }\r\n getCompletedGroupsInfo() {\r\n return this._groupedDataMapProvider.getCompletedGroupsInfo()\r\n }\r\n getGroupIndices() {\r\n return this._groupedDataMapProvider.getGroupIndices()\r\n }\r\n getLastGroupCellPosition(groupIndex) {\r\n return this._groupedDataMapProvider.getLastGroupCellPosition(groupIndex)\r\n }\r\n getRowCountInGroup(groupIndex) {\r\n return this._groupedDataMapProvider.getRowCountInGroup(groupIndex)\r\n }\r\n getCellData(rowIndex, columnIndex, isAllDay, rtlEnabled) {\r\n var row = isAllDay && !this._options.isVerticalGrouping ? this.viewDataMap.allDayPanelMap : this.viewDataMap.dateTableMap[rowIndex];\r\n var actualColumnIndex = !rtlEnabled ? columnIndex : row.length - 1 - columnIndex;\r\n var {\r\n cellData: cellData\r\n } = row[actualColumnIndex];\r\n return cellData\r\n }\r\n getCellsByGroupIndexAndAllDay(groupIndex, allDay) {\r\n var rowsPerGroup = this._getRowCountWithAllDayRows();\r\n var isShowAllDayPanel = this._options.isAllDayPanelVisible;\r\n var firstRowInGroup = this._options.isVerticalGrouping ? groupIndex * rowsPerGroup : 0;\r\n var lastRowInGroup = this._options.isVerticalGrouping ? (groupIndex + 1) * rowsPerGroup - 1 : rowsPerGroup;\r\n var correctedFirstRow = isShowAllDayPanel && !allDay ? firstRowInGroup + 1 : firstRowInGroup;\r\n var correctedLastRow = allDay ? correctedFirstRow : lastRowInGroup;\r\n return this.completeViewDataMap.slice(correctedFirstRow, correctedLastRow + 1).map(row => row.filter(_ref => {\r\n var {\r\n groupIndex: currentGroupIndex\r\n } = _ref;\r\n return groupIndex === currentGroupIndex\r\n }))\r\n }\r\n getCellCountWithGroup(groupIndex) {\r\n var rowIndex = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;\r\n var {\r\n dateTableGroupedMap: dateTableGroupedMap\r\n } = this.groupedDataMap;\r\n return dateTableGroupedMap.filter((_, index) => index <= groupIndex).reduce((previous, row) => previous + row[rowIndex].length, 0)\r\n }\r\n hasGroupAllDayPanel(groupIndex) {\r\n var _a, _b;\r\n if (this._options.isVerticalGrouping) {\r\n return !!(null === (_a = this.groupedDataMap.dateTableGroupedMap[groupIndex]) || void 0 === _a ? void 0 : _a[0][0].cellData.allDay)\r\n }\r\n return (null === (_b = this.groupedDataMap.allDayPanelGroupedMap[groupIndex]) || void 0 === _b ? void 0 : _b.length) > 0\r\n }\r\n isGroupIntersectDateInterval(groupIndex, startDate, endDate) {\r\n var groupStartDate = this.getGroupStartDate(groupIndex);\r\n var groupEndDate = this.getGroupEndDate(groupIndex);\r\n return startDate < groupEndDate && endDate > groupStartDate\r\n }\r\n findGlobalCellPosition(date) {\r\n var groupIndex = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;\r\n var allDay = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false;\r\n var {\r\n completeViewDataMap: completeViewDataMap\r\n } = this;\r\n var showAllDayPanel = this._options.isAllDayPanelVisible;\r\n for (var rowIndex = 0; rowIndex < completeViewDataMap.length; rowIndex += 1) {\r\n var currentRow = completeViewDataMap[rowIndex];\r\n for (var columnIndex = 0; columnIndex < currentRow.length; columnIndex += 1) {\r\n var cellData = currentRow[columnIndex];\r\n var {\r\n startDate: currentStartDate,\r\n endDate: currentEndDate,\r\n groupIndex: currentGroupIndex,\r\n allDay: currentAllDay\r\n } = cellData;\r\n if (groupIndex === currentGroupIndex && allDay === !!currentAllDay && this._compareDatesAndAllDay(date, currentStartDate, currentEndDate, allDay)) {\r\n return {\r\n position: {\r\n columnIndex: columnIndex,\r\n rowIndex: showAllDayPanel && !this._options.isVerticalGrouping ? rowIndex - 1 : rowIndex\r\n },\r\n cellData: cellData\r\n }\r\n }\r\n }\r\n }\r\n return\r\n }\r\n _compareDatesAndAllDay(date, cellStartDate, cellEndDate, allDay) {\r\n var time = date.getTime();\r\n var trimmedTime = dateUtils.trimTime(date).getTime();\r\n var cellStartTime = cellStartDate.getTime();\r\n var cellEndTime = cellEndDate.getTime();\r\n return !allDay && time >= cellStartTime && time < cellEndTime || allDay && trimmedTime === cellStartTime\r\n }\r\n getSkippedDaysCount(groupIndex, startDate, endDate, daysCount) {\r\n var {\r\n dateTableGroupedMap: dateTableGroupedMap\r\n } = this._groupedDataMapProvider.groupedDataMap;\r\n var groupedData = dateTableGroupedMap[groupIndex];\r\n var includedDays = 0;\r\n for (var rowIndex = 0; rowIndex < groupedData.length; rowIndex += 1) {\r\n for (var columnIndex = 0; columnIndex < groupedData[rowIndex].length; columnIndex += 1) {\r\n var cell = groupedData[rowIndex][columnIndex].cellData;\r\n if (startDate.getTime() < cell.endDate.getTime() && endDate.getTime() > cell.startDate.getTime()) {\r\n includedDays += 1\r\n }\r\n }\r\n }\r\n var lastCell = groupedData[groupedData.length - 1][groupedData[0].length - 1].cellData;\r\n var lastCellStart = dateUtils.trimTime(lastCell.startDate);\r\n var daysAfterView = Math.floor((endDate.getTime() - lastCellStart.getTime()) / dateUtils.dateToMilliseconds(\"day\"));\r\n var deltaDays = daysAfterView > 0 ? daysAfterView : 0;\r\n return daysCount - includedDays - deltaDays\r\n }\r\n getColumnsCount() {\r\n var {\r\n dateTableMap: dateTableMap\r\n } = this.viewDataMap;\r\n return dateTableMap ? dateTableMap[0].length : 0\r\n }\r\n getViewEdgeIndices(isAllDayPanel) {\r\n if (isAllDayPanel) {\r\n return {\r\n firstColumnIndex: 0,\r\n lastColumnIndex: this.viewDataMap.allDayPanelMap.length - 1,\r\n firstRowIndex: 0,\r\n lastRowIndex: 0\r\n }\r\n }\r\n return {\r\n firstColumnIndex: 0,\r\n lastColumnIndex: this.viewDataMap.dateTableMap[0].length - 1,\r\n firstRowIndex: 0,\r\n lastRowIndex: this.viewDataMap.dateTableMap.length - 1\r\n }\r\n }\r\n getGroupEdgeIndices(groupIndex, isAllDay) {\r\n var groupedDataMap = this.groupedDataMap.dateTableGroupedMap[groupIndex];\r\n var cellsCount = groupedDataMap[0].length;\r\n var rowsCount = groupedDataMap.length;\r\n var firstColumnIndex = groupedDataMap[0][0].position.columnIndex;\r\n var lastColumnIndex = groupedDataMap[0][cellsCount - 1].position.columnIndex;\r\n if (isAllDay) {\r\n return {\r\n firstColumnIndex: firstColumnIndex,\r\n lastColumnIndex: lastColumnIndex,\r\n firstRowIndex: 0,\r\n lastRowIndex: 0\r\n }\r\n }\r\n return {\r\n firstColumnIndex: firstColumnIndex,\r\n lastColumnIndex: lastColumnIndex,\r\n firstRowIndex: groupedDataMap[0][0].position.rowIndex,\r\n lastRowIndex: groupedDataMap[rowsCount - 1][0].position.rowIndex\r\n }\r\n }\r\n isSameCell(firstCellData, secondCellData) {\r\n var {\r\n startDate: firstStartDate,\r\n groupIndex: firstGroupIndex,\r\n allDay: firstAllDay,\r\n index: firstIndex\r\n } = firstCellData;\r\n var {\r\n startDate: secondStartDate,\r\n groupIndex: secondGroupIndex,\r\n allDay: secondAllDay,\r\n index: secondIndex\r\n } = secondCellData;\r\n return firstStartDate.getTime() === secondStartDate.getTime() && firstGroupIndex === secondGroupIndex && firstAllDay === secondAllDay && firstIndex === secondIndex\r\n }\r\n getLastViewDate() {\r\n var {\r\n completeViewDataMap: completeViewDataMap\r\n } = this;\r\n var rowsCount = completeViewDataMap.length - 1;\r\n return completeViewDataMap[rowsCount][completeViewDataMap[rowsCount].length - 1].endDate\r\n }\r\n getStartViewDate() {\r\n return this._options.startViewDate\r\n }\r\n getIntervalDuration(intervalCount) {\r\n return this.viewDataGenerator._getIntervalDuration(intervalCount)\r\n }\r\n getLastCellEndDate() {\r\n return new Date(this.getLastViewDate().getTime() - dateUtils.dateToMilliseconds(\"minute\"))\r\n }\r\n getLastViewDateByEndDayHour(endDayHour) {\r\n var lastCellEndDate = this.getLastCellEndDate();\r\n var endTime = dateUtils.dateTimeFromDecimal(endDayHour);\r\n var endDateOfLastViewCell = new Date(lastCellEndDate.setHours(endTime.hours, endTime.minutes));\r\n return this._adjustEndDateByDaylightDiff(lastCellEndDate, endDateOfLastViewCell)\r\n }\r\n _adjustEndDateByDaylightDiff(startDate, endDate) {\r\n var daylightDiff = timeZoneUtils.getDaylightOffsetInMs(startDate, endDate);\r\n var endDateOfLastViewCell = new Date(endDate.getTime() - daylightDiff);\r\n return new Date(endDateOfLastViewCell.getTime() - dateUtils.dateToMilliseconds(\"minute\"))\r\n }\r\n getCellCountInDay(startDayHour, endDayHour, hoursInterval) {\r\n return this.viewDataGenerator.getCellCountInDay(startDayHour, endDayHour, hoursInterval)\r\n }\r\n getCellCount(options) {\r\n return this.viewDataGenerator.getCellCount(options)\r\n }\r\n getRowCount(options) {\r\n return this.viewDataGenerator.getRowCount(options)\r\n }\r\n getVisibleDayDuration(startDayHour, endDayHour, hoursInterval) {\r\n return this.viewDataGenerator.getVisibleDayDuration(startDayHour, endDayHour, hoursInterval)\r\n }\r\n _getRowCountWithAllDayRows() {\r\n var allDayRowCount = this._options.isAllDayPanelVisible ? 1 : 0;\r\n return this.getRowCount(this._options) + allDayRowCount\r\n }\r\n getFirstDayOfWeek(firstDayOfWeekOption) {\r\n return this.viewDataGenerator.getFirstDayOfWeek(firstDayOfWeekOption)\r\n }\r\n setViewOptions(options) {\r\n this._options = this._transformRenderOptions(options)\r\n }\r\n getViewOptions() {\r\n return this._options\r\n }\r\n getViewPortGroupCount() {\r\n var {\r\n dateTableGroupedMap: dateTableGroupedMap\r\n } = this.groupedDataMap;\r\n return (null === dateTableGroupedMap || void 0 === dateTableGroupedMap ? void 0 : dateTableGroupedMap.length) || 0\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/workspaces/m_work_space.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n locate,\r\n resetPosition\r\n} from \"../../../animation/translator\";\r\nimport domAdapter from \"../../../core/dom_adapter\";\r\nimport {\r\n getPublicElement\r\n} from \"../../../core/element\";\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n compileGetter\r\n} from \"../../../core/utils/data\";\r\nimport dateUtils from \"../../../core/utils/date\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../../core/utils/position\";\r\nimport {\r\n getHeight,\r\n getOuterHeight,\r\n getOuterWidth,\r\n getWidth,\r\n setOuterHeight,\r\n setWidth\r\n} from \"../../../core/utils/size\";\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../../core/utils/window\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../events/click\";\r\nimport {\r\n name as contextMenuEventName\r\n} from \"../../../events/contextmenu\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport {\r\n drop as dragEventDrop,\r\n enter as dragEventEnter,\r\n leave as dragEventLeave\r\n} from \"../../../events/drag\";\r\nimport pointerEvents from \"../../../events/pointer\";\r\nimport {\r\n addNamespace,\r\n isMouseEvent\r\n} from \"../../../events/utils/index\";\r\nimport messageLocalization from \"../../../localization/message\";\r\nimport {\r\n getMemoizeScrollTo\r\n} from \"../../../renovation/ui/common/utils/scroll/getMemoizeScrollTo\";\r\nimport {\r\n calculateIsGroupedAllDayPanel,\r\n calculateViewStartDate,\r\n getCellDuration,\r\n getStartViewDateTimeOffset,\r\n getViewStartByOptions,\r\n isDateAndTimeView,\r\n validateDayHours\r\n} from \"../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\";\r\nimport Scrollable from \"../../../ui/scroll_view/ui.scrollable\";\r\nimport errors from \"../../../ui/widget/ui.errors\";\r\nimport dxrAllDayPanelTable from \"../../../renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/table.j\";\r\nimport dxrAllDayPanelTitle from \"../../../renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/title.j\";\r\nimport dxrDateTableLayout from \"../../../renovation/ui/scheduler/workspaces/base/date_table/layout.j\";\r\nimport dxrGroupPanel from \"../../../renovation/ui/scheduler/workspaces/base/group_panel/group_panel.j\";\r\nimport dxrDateHeader from \"../../../renovation/ui/scheduler/workspaces/base/header_panel/layout.j\";\r\nimport dxrTimePanelTableLayout from \"../../../renovation/ui/scheduler/workspaces/base/time_panel/layout.j\";\r\nimport WidgetObserver from \"../base/m_widget_observer\";\r\nimport AppointmentDragBehavior from \"../m_appointment_drag_behavior\";\r\nimport {\r\n DATE_TABLE_CLASS,\r\n DATE_TABLE_ROW_CLASS,\r\n FIXED_CONTAINER_CLASS,\r\n GROUP_HEADER_CONTENT_CLASS,\r\n GROUP_ROW_CLASS,\r\n TIME_PANEL_CLASS,\r\n VERTICAL_GROUP_COUNT_CLASSES,\r\n VIRTUAL_CELL_CLASS\r\n} from \"../m_classes\";\r\nimport {\r\n APPOINTMENT_SETTINGS_KEY\r\n} from \"../m_constants\";\r\nimport tableCreatorModule from \"../m_table_creator\";\r\nimport {\r\n utils\r\n} from \"../m_utils\";\r\nimport {\r\n createResourcesTree,\r\n getCellGroups,\r\n getGroupCount,\r\n getGroupsObjectFromGroupsArray\r\n} from \"../resources/m_utils\";\r\nimport VerticalShader from \"../shaders/m_current_time_shader_vertical\";\r\nimport {\r\n getAllDayHeight,\r\n getCellHeight,\r\n getCellWidth,\r\n getMaxAllowedPosition,\r\n PositionHelper\r\n} from \"./helpers/m_position_helper\";\r\nimport {\r\n Cache\r\n} from \"./m_cache\";\r\nimport {\r\n CellsSelectionController\r\n} from \"./m_cells_selection_controller\";\r\nimport CellsSelectionState from \"./m_cells_selection_state\";\r\nimport {\r\n VirtualScrollingDispatcher,\r\n VirtualScrollingRenderer\r\n} from \"./m_virtual_scrolling\";\r\nimport HorizontalGroupedStrategy from \"./m_work_space_grouped_strategy_horizontal\";\r\nimport VerticalGroupedStrategy from \"./m_work_space_grouped_strategy_vertical\";\r\nimport ViewDataProvider from \"./view_model/m_view_data_provider\";\r\nvar {\r\n tableCreator: tableCreator\r\n} = tableCreatorModule;\r\nvar DRAGGING_MOUSE_FAULT = 10;\r\nvar {\r\n abstract: abstract\r\n} = WidgetObserver;\r\nvar toMs = dateUtils.dateToMilliseconds;\r\nvar COMPONENT_CLASS = \"dx-scheduler-work-space\";\r\nvar GROUPED_WORKSPACE_CLASS = \"dx-scheduler-work-space-grouped\";\r\nvar VERTICAL_GROUPED_WORKSPACE_CLASS = \"dx-scheduler-work-space-vertical-grouped\";\r\nvar WORKSPACE_VERTICAL_GROUP_TABLE_CLASS = \"dx-scheduler-work-space-vertical-group-table\";\r\nvar WORKSPACE_WITH_BOTH_SCROLLS_CLASS = \"dx-scheduler-work-space-both-scrollbar\";\r\nvar WORKSPACE_WITH_COUNT_CLASS = \"dx-scheduler-work-space-count\";\r\nvar WORKSPACE_WITH_GROUP_BY_DATE_CLASS = \"dx-scheduler-work-space-group-by-date\";\r\nvar WORKSPACE_WITH_ODD_CELLS_CLASS = \"dx-scheduler-work-space-odd-cells\";\r\nvar TIME_PANEL_CELL_CLASS = \"dx-scheduler-time-panel-cell\";\r\nvar TIME_PANEL_ROW_CLASS = \"dx-scheduler-time-panel-row\";\r\nvar ALL_DAY_PANEL_CLASS = \"dx-scheduler-all-day-panel\";\r\nvar ALL_DAY_TABLE_CLASS = \"dx-scheduler-all-day-table\";\r\nvar ALL_DAY_CONTAINER_CLASS = \"dx-scheduler-all-day-appointments\";\r\nvar ALL_DAY_TITLE_CLASS = \"dx-scheduler-all-day-title\";\r\nvar ALL_DAY_TABLE_CELL_CLASS = \"dx-scheduler-all-day-table-cell\";\r\nvar ALL_DAY_TABLE_ROW_CLASS = \"dx-scheduler-all-day-table-row\";\r\nvar WORKSPACE_WITH_ALL_DAY_CLASS = \"dx-scheduler-work-space-all-day\";\r\nvar WORKSPACE_WITH_COLLAPSED_ALL_DAY_CLASS = \"dx-scheduler-work-space-all-day-collapsed\";\r\nvar WORKSPACE_WITH_MOUSE_SELECTION_CLASS = \"dx-scheduler-work-space-mouse-selection\";\r\nvar HORIZONTAL_SIZES_CLASS = \"dx-scheduler-cell-sizes-horizontal\";\r\nvar VERTICAL_SIZES_CLASS = \"dx-scheduler-cell-sizes-vertical\";\r\nvar HEADER_PANEL_CLASS = \"dx-scheduler-header-panel\";\r\nvar HEADER_PANEL_CELL_CLASS = \"dx-scheduler-header-panel-cell\";\r\nvar HEADER_ROW_CLASS = \"dx-scheduler-header-row\";\r\nvar GROUP_HEADER_CLASS = \"dx-scheduler-group-header\";\r\nvar DATE_TABLE_CELL_CLASS = \"dx-scheduler-date-table-cell\";\r\nvar DATE_TABLE_FOCUSED_CELL_CLASS = \"dx-scheduler-focused-cell\";\r\nvar VIRTUAL_ROW_CLASS = \"dx-scheduler-virtual-row\";\r\nvar DATE_TABLE_DROPPABLE_CELL_CLASS = \"dx-scheduler-date-table-droppable-cell\";\r\nvar SCHEDULER_HEADER_SCROLLABLE_CLASS = \"dx-scheduler-header-scrollable\";\r\nvar SCHEDULER_SIDEBAR_SCROLLABLE_CLASS = \"dx-scheduler-sidebar-scrollable\";\r\nvar SCHEDULER_DATE_TABLE_SCROLLABLE_CLASS = \"dx-scheduler-date-table-scrollable\";\r\nvar SCHEDULER_WORKSPACE_DXPOINTERDOWN_EVENT_NAME = addNamespace(pointerEvents.down, \"dxSchedulerWorkSpace\");\r\nvar DragEventNames = {\r\n ENTER: addNamespace(dragEventEnter, \"dxSchedulerDateTable\"),\r\n DROP: addNamespace(dragEventDrop, \"dxSchedulerDateTable\"),\r\n LEAVE: addNamespace(dragEventLeave, \"dxSchedulerDateTable\")\r\n};\r\nvar SCHEDULER_CELL_DXCLICK_EVENT_NAME = addNamespace(clickEventName, \"dxSchedulerDateTable\");\r\nvar SCHEDULER_CELL_DXPOINTERDOWN_EVENT_NAME = addNamespace(pointerEvents.down, \"dxSchedulerDateTable\");\r\nvar SCHEDULER_CELL_DXPOINTERUP_EVENT_NAME = addNamespace(pointerEvents.up, \"dxSchedulerDateTable\");\r\nvar SCHEDULER_CELL_DXPOINTERMOVE_EVENT_NAME = addNamespace(pointerEvents.move, \"dxSchedulerDateTable\");\r\nvar CELL_DATA = \"dxCellData\";\r\nvar DATE_TABLE_MIN_CELL_WIDTH = 75;\r\nvar DAY_MS = toMs(\"day\");\r\nvar HOUR_MS = toMs(\"hour\");\r\nvar DRAG_AND_DROP_SELECTOR = \".\".concat(DATE_TABLE_CLASS, \" td, .\").concat(ALL_DAY_TABLE_CLASS, \" td\");\r\nvar CELL_SELECTOR = \".\".concat(DATE_TABLE_CELL_CLASS, \", .\").concat(ALL_DAY_TABLE_CELL_CLASS);\r\nvar CELL_INDEX_CALCULATION_EPSILON = .05;\r\nvar DEFAULT_WORKSPACE_RENDER_OPTIONS = {\r\n renderComponents: {\r\n header: true,\r\n timePanel: true,\r\n dateTable: true,\r\n allDayPanel: true\r\n },\r\n generateNewData: true\r\n};\r\nclass SchedulerWorkSpace extends WidgetObserver {\r\n constructor() {\r\n super(...arguments);\r\n this.viewDirection = \"vertical\"\r\n }\r\n get type() {\r\n return \"\"\r\n }\r\n get viewDataProvider() {\r\n if (!this._viewDataProvider) {\r\n this._viewDataProvider = new ViewDataProvider(this.type)\r\n }\r\n return this._viewDataProvider\r\n }\r\n get cache() {\r\n if (!this._cache) {\r\n this._cache = new Cache\r\n }\r\n return this._cache\r\n }\r\n get cellsSelectionState() {\r\n if (!this._cellsSelectionState) {\r\n this._cellsSelectionState = new CellsSelectionState(this.viewDataProvider);\r\n var selectedCellsOption = this.option(\"selectedCellData\");\r\n if ((null === selectedCellsOption || void 0 === selectedCellsOption ? void 0 : selectedCellsOption.length) > 0) {\r\n var validSelectedCells = selectedCellsOption.map(selectedCell => {\r\n var {\r\n groups: groups\r\n } = selectedCell;\r\n if (!groups || 0 === this._getGroupCount()) {\r\n return _extends(_extends({}, selectedCell), {\r\n groupIndex: 0\r\n })\r\n }\r\n var groupIndex = this._getGroupIndexByResourceId(groups);\r\n return _extends(_extends({}, selectedCell), {\r\n groupIndex: groupIndex\r\n })\r\n });\r\n this._cellsSelectionState.setSelectedCellsByData(validSelectedCells)\r\n }\r\n }\r\n return this._cellsSelectionState\r\n }\r\n get cellsSelectionController() {\r\n if (!this._cellsSelectionController) {\r\n this._cellsSelectionController = new CellsSelectionController\r\n }\r\n return this._cellsSelectionController\r\n }\r\n get isAllDayPanelVisible() {\r\n return this._isShowAllDayPanel() && this.supportAllDayRow()\r\n }\r\n get verticalGroupTableClass() {\r\n return WORKSPACE_VERTICAL_GROUP_TABLE_CLASS\r\n }\r\n get renovatedHeaderPanelComponent() {\r\n return dxrDateHeader\r\n }\r\n get timeZoneCalculator() {\r\n return this.option(\"timeZoneCalculator\")\r\n }\r\n get isDefaultDraggingMode() {\r\n return \"default\" === this.option(\"draggingMode\")\r\n }\r\n _supportedKeys() {\r\n var clickHandler = function(e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n var selectedCells = this.cellsSelectionState.getSelectedCells();\r\n if (null === selectedCells || void 0 === selectedCells ? void 0 : selectedCells.length) {\r\n var selectedCellsElement = selectedCells.map(cellData => this._getCellByData(cellData)).filter(cell => !!cell);\r\n e.target = selectedCellsElement;\r\n this._showPopup = true;\r\n this._cellClickAction({\r\n event: e,\r\n cellElement: $(selectedCellsElement),\r\n cellData: selectedCells[0]\r\n })\r\n }\r\n };\r\n var onArrowPressed = (e, key) => {\r\n var _a;\r\n e.preventDefault();\r\n e.stopPropagation();\r\n var focusedCellData = null === (_a = this.cellsSelectionState.focusedCell) || void 0 === _a ? void 0 : _a.cellData;\r\n if (focusedCellData) {\r\n var isAllDayPanelCell = focusedCellData.allDay && !this._isVerticalGroupedWorkSpace();\r\n var isMultiSelection = e.shiftKey;\r\n var isMultiSelectionAllowed = this.option(\"allowMultipleCellSelection\");\r\n var isRTL = this._isRTL();\r\n var groupCount = this._getGroupCount();\r\n var isGroupedByDate = this.isGroupedByDate();\r\n var isHorizontalGrouping = this._isHorizontalGroupedWorkSpace();\r\n var focusedCellPosition = this.viewDataProvider.findCellPositionInMap(_extends(_extends({}, focusedCellData), {\r\n isAllDay: focusedCellData.allDay\r\n }));\r\n var edgeIndices = isHorizontalGrouping && isMultiSelection && !isGroupedByDate ? this.viewDataProvider.getGroupEdgeIndices(focusedCellData.groupIndex, isAllDayPanelCell) : this.viewDataProvider.getViewEdgeIndices(isAllDayPanelCell);\r\n var nextCellData = this.cellsSelectionController.handleArrowClick({\r\n focusedCellPosition: focusedCellPosition,\r\n edgeIndices: edgeIndices,\r\n isRTL: isRTL,\r\n isGroupedByDate: isGroupedByDate,\r\n groupCount: groupCount,\r\n isMultiSelection: isMultiSelection,\r\n isMultiSelectionAllowed: isMultiSelectionAllowed,\r\n viewType: this.type,\r\n key: key,\r\n getCellDataByPosition: this.viewDataProvider.getCellData.bind(this.viewDataProvider),\r\n isAllDayPanelCell: isAllDayPanelCell,\r\n focusedCellData: focusedCellData\r\n });\r\n this._processNextSelectedCell(nextCellData, focusedCellData, isMultiSelection && isMultiSelectionAllowed)\r\n }\r\n };\r\n return extend(super._supportedKeys(), {\r\n enter: clickHandler,\r\n space: clickHandler,\r\n downArrow: e => {\r\n onArrowPressed(e, \"down\")\r\n },\r\n upArrow: e => {\r\n onArrowPressed(e, \"up\")\r\n },\r\n rightArrow: e => {\r\n onArrowPressed(e, \"right\")\r\n },\r\n leftArrow: e => {\r\n onArrowPressed(e, \"left\")\r\n }\r\n })\r\n }\r\n _isRTL() {\r\n return this.option(\"rtlEnabled\")\r\n }\r\n _moveToCell($cell, isMultiSelection) {\r\n if (!isDefined($cell) || !$cell.length) {\r\n return\r\n }\r\n var isMultiSelectionAllowed = this.option(\"allowMultipleCellSelection\");\r\n var currentCellData = this._getFullCellData($cell);\r\n var focusedCellData = this.cellsSelectionState.focusedCell.cellData;\r\n var nextFocusedCellData = this.cellsSelectionController.moveToCell({\r\n isMultiSelection: isMultiSelection,\r\n isMultiSelectionAllowed: isMultiSelectionAllowed,\r\n currentCellData: currentCellData,\r\n focusedCellData: focusedCellData,\r\n isVirtualCell: $cell.hasClass(VIRTUAL_CELL_CLASS)\r\n });\r\n this._processNextSelectedCell(nextFocusedCellData, focusedCellData, isMultiSelectionAllowed && isMultiSelection)\r\n }\r\n _processNextSelectedCell(nextCellData, focusedCellData, isMultiSelection) {\r\n var nextCellPosition = this.viewDataProvider.findCellPositionInMap({\r\n startDate: nextCellData.startDate,\r\n groupIndex: nextCellData.groupIndex,\r\n isAllDay: nextCellData.allDay,\r\n index: nextCellData.index\r\n });\r\n if (!this.viewDataProvider.isSameCell(focusedCellData, nextCellData)) {\r\n var $cell = nextCellData.allDay && !this._isVerticalGroupedWorkSpace() ? this._dom_getAllDayPanelCell(nextCellPosition.columnIndex) : this._dom_getDateCell(nextCellPosition);\r\n var isNextCellAllDay = nextCellData.allDay;\r\n this._setSelectedCellsStateAndUpdateSelection(isNextCellAllDay, nextCellPosition, isMultiSelection, $cell);\r\n this._dateTableScrollable.scrollToElement($cell)\r\n }\r\n }\r\n _setSelectedCellsStateAndUpdateSelection(isAllDay, cellPosition, isMultiSelection, $nextFocusedCell) {\r\n var nextCellCoordinates = {\r\n rowIndex: cellPosition.rowIndex,\r\n columnIndex: cellPosition.columnIndex,\r\n allDay: isAllDay\r\n };\r\n this.cellsSelectionState.setFocusedCell(nextCellCoordinates.rowIndex, nextCellCoordinates.columnIndex, isAllDay);\r\n if (isMultiSelection) {\r\n this.cellsSelectionState.setSelectedCells(nextCellCoordinates)\r\n } else {\r\n this.cellsSelectionState.setSelectedCells(nextCellCoordinates, nextCellCoordinates)\r\n }\r\n this.updateCellsSelection();\r\n this._updateSelectedCellDataOption(this.cellsSelectionState.getSelectedCells(), $nextFocusedCell)\r\n }\r\n _hasAllDayClass($cell) {\r\n return $cell.hasClass(ALL_DAY_TABLE_CELL_CLASS)\r\n }\r\n _focusInHandler(e) {\r\n if ($(e.target).is(this._focusTarget()) && false !== this._isCellClick) {\r\n delete this._isCellClick;\r\n delete this._contextMenuHandled;\r\n super._focusInHandler.apply(this, arguments);\r\n this.cellsSelectionState.restoreSelectedAndFocusedCells();\r\n if (!this.cellsSelectionState.focusedCell) {\r\n var cellCoordinates = {\r\n columnIndex: 0,\r\n rowIndex: 0,\r\n allDay: this._isVerticalGroupedWorkSpace() && this.isAllDayPanelVisible\r\n };\r\n this.cellsSelectionState.setFocusedCell(cellCoordinates.rowIndex, cellCoordinates.columnIndex, cellCoordinates.allDay);\r\n this.cellsSelectionState.setSelectedCells(cellCoordinates, cellCoordinates)\r\n }\r\n this.updateCellsSelection();\r\n this._updateSelectedCellDataOption(this.cellsSelectionState.getSelectedCells())\r\n }\r\n }\r\n _focusOutHandler() {\r\n super._focusOutHandler.apply(this, arguments);\r\n if (!this._contextMenuHandled && !this._disposed) {\r\n this.cellsSelectionState.releaseSelectedAndFocusedCells();\r\n this.viewDataProvider.updateViewData(this.generateRenderOptions());\r\n this.updateCellsSelection()\r\n }\r\n }\r\n _focusTarget() {\r\n return this.$element()\r\n }\r\n _isVerticalGroupedWorkSpace() {\r\n var _a;\r\n return !!(null === (_a = this.option(\"groups\")) || void 0 === _a ? void 0 : _a.length) && \"vertical\" === this.option(\"groupOrientation\")\r\n }\r\n _isHorizontalGroupedWorkSpace() {\r\n var _a;\r\n return !!(null === (_a = this.option(\"groups\")) || void 0 === _a ? void 0 : _a.length) && \"horizontal\" === this.option(\"groupOrientation\")\r\n }\r\n _isWorkSpaceWithCount() {\r\n return this.option(\"intervalCount\") > 1\r\n }\r\n _isWorkspaceWithOddCells() {\r\n return .5 === this.option(\"hoursInterval\") && !this.isVirtualScrolling()\r\n }\r\n _getRealGroupOrientation() {\r\n return this._isVerticalGroupedWorkSpace() ? \"vertical\" : \"horizontal\"\r\n }\r\n createRAllDayPanelElements() {\r\n this._$allDayPanel = $(\"<div>\").addClass(ALL_DAY_PANEL_CLASS);\r\n this._$allDayTitle = $(\"<div>\").appendTo(this._$headerPanelEmptyCell)\r\n }\r\n _dateTableScrollableConfig() {\r\n var config = {\r\n useKeyboard: false,\r\n bounceEnabled: false,\r\n updateManually: true,\r\n onScroll: () => {\r\n var _a;\r\n null === (_a = this._groupedStrategy.cache) || void 0 === _a ? void 0 : _a.clear()\r\n }\r\n };\r\n if (this._needCreateCrossScrolling()) {\r\n config = extend(config, this._createCrossScrollingConfig(config))\r\n }\r\n if (this.isVirtualScrolling() && (this.virtualScrollingDispatcher.horizontalScrollingAllowed || this.virtualScrollingDispatcher.height)) {\r\n var currentOnScroll = config.onScroll;\r\n config = _extends(_extends({}, config), {\r\n onScroll: e => {\r\n null === currentOnScroll || void 0 === currentOnScroll ? void 0 : currentOnScroll(e);\r\n this.virtualScrollingDispatcher.handleOnScrollEvent(null === e || void 0 === e ? void 0 : e.scrollOffset)\r\n }\r\n })\r\n }\r\n return config\r\n }\r\n _createCrossScrollingConfig(_ref) {\r\n var {\r\n onScroll: _onScroll\r\n } = _ref;\r\n return {\r\n direction: \"both\",\r\n onScroll: event => {\r\n null === _onScroll || void 0 === _onScroll ? void 0 : _onScroll();\r\n this._scrollSync.sidebar({\r\n top: event.scrollOffset.top\r\n });\r\n this._scrollSync.header({\r\n left: event.scrollOffset.left\r\n })\r\n },\r\n onEnd: () => {\r\n this.option(\"onScrollEnd\")()\r\n }\r\n }\r\n }\r\n _headerScrollableConfig() {\r\n return {\r\n useKeyboard: false,\r\n showScrollbar: \"never\",\r\n direction: \"horizontal\",\r\n useNative: false,\r\n updateManually: true,\r\n bounceEnabled: false,\r\n onScroll: event => {\r\n this._scrollSync.dateTable({\r\n left: event.scrollOffset.left\r\n })\r\n }\r\n }\r\n }\r\n _visibilityChanged(visible) {\r\n this.cache.clear();\r\n if (visible) {\r\n this._updateGroupTableHeight()\r\n }\r\n if (visible && this._needCreateCrossScrolling()) {\r\n this._setTableSizes()\r\n }\r\n }\r\n _setTableSizes() {\r\n this.cache.clear();\r\n this._attachTableClasses();\r\n var cellWidth = this.getCellWidth();\r\n if (cellWidth < this.getCellMinWidth()) {\r\n cellWidth = this.getCellMinWidth()\r\n }\r\n var minWidth = this.getWorkSpaceMinWidth();\r\n var groupCount = this._getGroupCount();\r\n var totalCellCount = this._getTotalCellCount(groupCount);\r\n var width = cellWidth * totalCellCount;\r\n if (width < minWidth) {\r\n width = minWidth\r\n }\r\n setWidth(this._$headerPanel, width);\r\n setWidth(this._$dateTable, width);\r\n if (this._$allDayTable) {\r\n setWidth(this._$allDayTable, width)\r\n }\r\n this._attachHeaderTableClasses();\r\n this._updateGroupTableHeight();\r\n this._updateScrollable()\r\n }\r\n getWorkSpaceMinWidth() {\r\n return this._groupedStrategy.getWorkSpaceMinWidth()\r\n }\r\n _dimensionChanged() {\r\n if (!this._isVisible()) {\r\n return\r\n }\r\n if (this.option(\"crossScrollingEnabled\")) {\r\n this._setTableSizes()\r\n }\r\n this.updateHeaderEmptyCellWidth();\r\n this._updateScrollable();\r\n this.cache.clear()\r\n }\r\n _needCreateCrossScrolling() {\r\n return this.option(\"crossScrollingEnabled\")\r\n }\r\n _getElementClass() {\r\n return noop()\r\n }\r\n _getRowCount() {\r\n return this.viewDataProvider.getRowCount({\r\n intervalCount: this.option(\"intervalCount\"),\r\n currentDate: this.option(\"currentDate\"),\r\n viewType: this.type,\r\n hoursInterval: this.option(\"hoursInterval\"),\r\n startDayHour: this.option(\"startDayHour\"),\r\n endDayHour: this.option(\"endDayHour\")\r\n })\r\n }\r\n _getCellCount() {\r\n return this.viewDataProvider.getCellCount({\r\n intervalCount: this.option(\"intervalCount\"),\r\n currentDate: this.option(\"currentDate\"),\r\n viewType: this.type,\r\n hoursInterval: this.option(\"hoursInterval\"),\r\n startDayHour: this.option(\"startDayHour\"),\r\n endDayHour: this.option(\"endDayHour\")\r\n })\r\n }\r\n isRenovatedRender() {\r\n return this.renovatedRenderSupported() && this.option(\"renovateRender\")\r\n }\r\n _isVirtualModeOn() {\r\n return \"virtual\" === this.option(\"scrolling.mode\")\r\n }\r\n isVirtualScrolling() {\r\n return this.isRenovatedRender() && this._isVirtualModeOn()\r\n }\r\n _initVirtualScrolling() {\r\n if (this.virtualScrollingDispatcher) {\r\n this.virtualScrollingDispatcher.dispose();\r\n this.virtualScrollingDispatcher = null\r\n }\r\n this.virtualScrollingDispatcher = new VirtualScrollingDispatcher(this._getVirtualScrollingDispatcherOptions());\r\n this.virtualScrollingDispatcher.attachScrollableEvents();\r\n this.renderer = new VirtualScrollingRenderer(this)\r\n }\r\n onDataSourceChanged(argument) {}\r\n isGroupedAllDayPanel() {\r\n return calculateIsGroupedAllDayPanel(this.option(\"groups\"), this.option(\"groupOrientation\"), this.isAllDayPanelVisible)\r\n }\r\n generateRenderOptions(isProvideVirtualCellsWidth) {\r\n var _a;\r\n var groupCount = this._getGroupCount();\r\n var groupOrientation = groupCount > 0 ? this.option(\"groupOrientation\") : this._getDefaultGroupStrategy();\r\n var options = _extends({\r\n groupByDate: this.option(\"groupByDate\"),\r\n startRowIndex: 0,\r\n startCellIndex: 0,\r\n groupOrientation: groupOrientation,\r\n today: null === (_a = this._getToday) || void 0 === _a ? void 0 : _a.call(this),\r\n groups: this.option(\"groups\"),\r\n isProvideVirtualCellsWidth: isProvideVirtualCellsWidth,\r\n isAllDayPanelVisible: this.isAllDayPanelVisible,\r\n selectedCells: this.cellsSelectionState.getSelectedCells(),\r\n focusedCell: this.cellsSelectionState.focusedCell,\r\n headerCellTextFormat: this._getFormat(),\r\n getDateForHeaderText: (_, date) => date,\r\n startDayHour: this.option(\"startDayHour\"),\r\n endDayHour: this.option(\"endDayHour\"),\r\n cellDuration: this.getCellDuration(),\r\n viewType: this.type,\r\n intervalCount: this.option(\"intervalCount\"),\r\n hoursInterval: this.option(\"hoursInterval\"),\r\n currentDate: this.option(\"currentDate\"),\r\n startDate: this.option(\"startDate\"),\r\n firstDayOfWeek: this.option(\"firstDayOfWeek\"),\r\n showCurrentTimeIndicator: this.option(\"showCurrentTimeIndicator\")\r\n }, this.virtualScrollingDispatcher.getRenderState());\r\n return options\r\n }\r\n renovatedRenderSupported() {\r\n return true\r\n }\r\n _updateGroupTableHeight() {\r\n if (this._isVerticalGroupedWorkSpace() && hasWindow()) {\r\n this._setHorizontalGroupHeaderCellsHeight()\r\n }\r\n }\r\n updateHeaderEmptyCellWidth() {\r\n if (hasWindow() && this._isRenderHeaderPanelEmptyCell()) {\r\n var timePanelWidth = this.getTimePanelWidth();\r\n var groupPanelWidth = this.getGroupTableWidth();\r\n this._$headerPanelEmptyCell.css(\"width\", timePanelWidth + groupPanelWidth)\r\n }\r\n }\r\n _isGroupsSpecified(resources) {\r\n var _a;\r\n return (null === (_a = this.option(\"groups\")) || void 0 === _a ? void 0 : _a.length) && resources\r\n }\r\n _getGroupIndexByResourceId(id) {\r\n var groups = this.option(\"groups\");\r\n var resourceTree = createResourcesTree(groups);\r\n if (!resourceTree.length) {\r\n return 0\r\n }\r\n return this._getGroupIndexRecursively(resourceTree, id)\r\n }\r\n _getGroupIndexRecursively(resourceTree, id) {\r\n var currentKey = resourceTree[0].name;\r\n var currentValue = id[currentKey];\r\n return resourceTree.reduce((prevIndex, _ref2) => {\r\n var {\r\n leafIndex: leafIndex,\r\n value: value,\r\n children: children\r\n } = _ref2;\r\n var areValuesEqual = currentValue === value;\r\n if (areValuesEqual && void 0 !== leafIndex) {\r\n return leafIndex\r\n }\r\n if (areValuesEqual) {\r\n return this._getGroupIndexRecursively(children, id)\r\n }\r\n return prevIndex\r\n }, 0)\r\n }\r\n _getViewStartByOptions() {\r\n return getViewStartByOptions(this.option(\"startDate\"), this.option(\"currentDate\"), this._getIntervalDuration(), this.option(\"startDate\") ? this._calculateViewStartDate() : void 0)\r\n }\r\n _getIntervalDuration() {\r\n return this.viewDataProvider.getIntervalDuration(this.option(\"intervalCount\"))\r\n }\r\n _getHeaderDate() {\r\n return this.getStartViewDate()\r\n }\r\n _calculateViewStartDate() {\r\n return calculateViewStartDate(this.option(\"startDate\"))\r\n }\r\n _firstDayOfWeek() {\r\n return this.viewDataProvider.getFirstDayOfWeek(this.option(\"firstDayOfWeek\"))\r\n }\r\n _attachEvents() {\r\n this._createSelectionChangedAction();\r\n this._attachClickEvent();\r\n this._attachContextMenuEvent()\r\n }\r\n _attachClickEvent() {\r\n var that = this;\r\n var pointerDownAction = this._createAction(e => {\r\n that._pointerDownHandler(e.event)\r\n });\r\n this._createCellClickAction();\r\n var cellSelector = \".\".concat(DATE_TABLE_CELL_CLASS, \",.\").concat(ALL_DAY_TABLE_CELL_CLASS);\r\n var $element = this.$element();\r\n eventsEngine.off($element, SCHEDULER_WORKSPACE_DXPOINTERDOWN_EVENT_NAME);\r\n eventsEngine.off($element, SCHEDULER_CELL_DXCLICK_EVENT_NAME);\r\n eventsEngine.on($element, SCHEDULER_WORKSPACE_DXPOINTERDOWN_EVENT_NAME, e => {\r\n if (isMouseEvent(e) && e.which > 1) {\r\n e.preventDefault();\r\n return\r\n }\r\n pointerDownAction({\r\n event: e\r\n })\r\n });\r\n eventsEngine.on($element, SCHEDULER_CELL_DXCLICK_EVENT_NAME, cellSelector, e => {\r\n var $cell = $(e.target);\r\n that._cellClickAction({\r\n event: e,\r\n cellElement: getPublicElement($cell),\r\n cellData: that.getCellData($cell)\r\n })\r\n })\r\n }\r\n _createCellClickAction() {\r\n this._cellClickAction = this._createActionByOption(\"onCellClick\", {\r\n afterExecute: e => this._cellClickHandler(e.args[0].event)\r\n })\r\n }\r\n _createSelectionChangedAction() {\r\n this._selectionChangedAction = this._createActionByOption(\"onSelectionChanged\")\r\n }\r\n _cellClickHandler(argument) {\r\n if (this._showPopup) {\r\n delete this._showPopup;\r\n this._handleSelectedCellsClick()\r\n }\r\n }\r\n _pointerDownHandler(e) {\r\n var $target = $(e.target);\r\n if (!$target.hasClass(DATE_TABLE_CELL_CLASS) && !$target.hasClass(ALL_DAY_TABLE_CELL_CLASS)) {\r\n this._isCellClick = false;\r\n return\r\n }\r\n this._isCellClick = true;\r\n if ($target.hasClass(DATE_TABLE_FOCUSED_CELL_CLASS)) {\r\n this._showPopup = true\r\n } else {\r\n var cellCoordinates = this._getCoordinatesByCell($target);\r\n var isAllDayCell = this._hasAllDayClass($target);\r\n this._setSelectedCellsStateAndUpdateSelection(isAllDayCell, cellCoordinates, false, $target)\r\n }\r\n }\r\n _handleSelectedCellsClick() {\r\n var selectedCells = this.cellsSelectionState.getSelectedCells();\r\n var firstCellData = selectedCells[0];\r\n var lastCellData = selectedCells[selectedCells.length - 1];\r\n var result = {\r\n startDate: firstCellData.startDate,\r\n endDate: lastCellData.endDate\r\n };\r\n if (void 0 !== lastCellData.allDay) {\r\n result.allDay = lastCellData.allDay\r\n }\r\n this.option(\"onSelectedCellsClick\")(result, lastCellData.groups)\r\n }\r\n _attachContextMenuEvent() {\r\n this._createContextMenuAction();\r\n var cellSelector = \".\".concat(DATE_TABLE_CELL_CLASS, \",.\").concat(ALL_DAY_TABLE_CELL_CLASS);\r\n var $element = this.$element();\r\n var eventName = addNamespace(contextMenuEventName, this.NAME);\r\n eventsEngine.off($element, eventName, cellSelector);\r\n eventsEngine.on($element, eventName, cellSelector, this._contextMenuHandler.bind(this))\r\n }\r\n _contextMenuHandler(e) {\r\n var $cell = $(e.target);\r\n this._contextMenuAction({\r\n event: e,\r\n cellElement: getPublicElement($cell),\r\n cellData: this.getCellData($cell)\r\n });\r\n this._contextMenuHandled = true\r\n }\r\n _createContextMenuAction() {\r\n this._contextMenuAction = this._createActionByOption(\"onCellContextMenu\")\r\n }\r\n _getGroupHeaderContainer() {\r\n if (this._isVerticalGroupedWorkSpace()) {\r\n return this._$groupTable\r\n }\r\n return this._$thead\r\n }\r\n _getDateHeaderContainer() {\r\n return this._$thead\r\n }\r\n _getCalculateHeaderCellRepeatCount() {\r\n return this._groupedStrategy.calculateHeaderCellRepeatCount()\r\n }\r\n _updateScrollable() {\r\n var _a, _b;\r\n this._dateTableScrollable.update();\r\n null === (_a = this._headerScrollable) || void 0 === _a ? void 0 : _a.update();\r\n null === (_b = this._sidebarScrollable) || void 0 === _b ? void 0 : _b.update()\r\n }\r\n _getTimePanelRowCount() {\r\n return this._getCellCountInDay()\r\n }\r\n _getCellCountInDay() {\r\n var hoursInterval = this.option(\"hoursInterval\");\r\n var startDayHour = this.option(\"startDayHour\");\r\n var endDayHour = this.option(\"endDayHour\");\r\n return this.viewDataProvider.getCellCountInDay(startDayHour, endDayHour, hoursInterval)\r\n }\r\n _getTotalCellCount(groupCount) {\r\n return this._groupedStrategy.getTotalCellCount(groupCount)\r\n }\r\n _getTotalRowCount(groupCount, includeAllDayPanelRows) {\r\n var result = this._groupedStrategy.getTotalRowCount(groupCount);\r\n if (includeAllDayPanelRows && this.isAllDayPanelVisible) {\r\n result += groupCount\r\n }\r\n return result\r\n }\r\n _getGroupIndex(rowIndex, columnIndex) {\r\n return this._groupedStrategy.getGroupIndex(rowIndex, columnIndex)\r\n }\r\n calculateEndDate(startDate) {\r\n var {\r\n viewDataGenerator: viewDataGenerator\r\n } = this.viewDataProvider;\r\n return viewDataGenerator.calculateEndDate(startDate, viewDataGenerator.getInterval(this.option(\"hoursInterval\")), this.option(\"endDayHour\"))\r\n }\r\n _getGroupCount() {\r\n return getGroupCount(this.option(\"groups\"))\r\n }\r\n _attachTablesEvents() {\r\n var element = this.$element();\r\n this._attachDragEvents(element);\r\n this._attachPointerEvents(element)\r\n }\r\n _detachDragEvents(element) {\r\n eventsEngine.off(element, DragEventNames.ENTER);\r\n eventsEngine.off(element, DragEventNames.LEAVE);\r\n eventsEngine.off(element, DragEventNames.DROP)\r\n }\r\n _attachDragEvents(element) {\r\n this._detachDragEvents(element);\r\n eventsEngine.on(element, DragEventNames.ENTER, DRAG_AND_DROP_SELECTOR, {\r\n checkDropTarget: (target, event) => !this._isOutsideScrollable(target, event)\r\n }, e => {\r\n if (!this.preventDefaultDragging) {\r\n this.removeDroppableCellClass();\r\n $(e.target).addClass(DATE_TABLE_DROPPABLE_CELL_CLASS)\r\n }\r\n });\r\n eventsEngine.on(element, DragEventNames.LEAVE, () => {\r\n if (!this.preventDefaultDragging) {\r\n this.removeDroppableCellClass()\r\n }\r\n });\r\n eventsEngine.on(element, DragEventNames.DROP, DRAG_AND_DROP_SELECTOR, () => {\r\n var _a, _b;\r\n if (!this.dragBehavior) {\r\n return\r\n }\r\n if (!(null === (_a = this.dragBehavior) || void 0 === _a ? void 0 : _a.dragBetweenComponentsPromise)) {\r\n this.dragBehavior.removeDroppableClasses();\r\n return\r\n }\r\n null === (_b = this.dragBehavior.dragBetweenComponentsPromise) || void 0 === _b ? void 0 : _b.then(() => {\r\n this.dragBehavior.removeDroppableClasses()\r\n })\r\n })\r\n }\r\n _attachPointerEvents(element) {\r\n var isPointerDown = false;\r\n eventsEngine.off(element, SCHEDULER_CELL_DXPOINTERMOVE_EVENT_NAME);\r\n eventsEngine.off(element, SCHEDULER_CELL_DXPOINTERDOWN_EVENT_NAME);\r\n eventsEngine.on(element, SCHEDULER_CELL_DXPOINTERDOWN_EVENT_NAME, DRAG_AND_DROP_SELECTOR, e => {\r\n if (isMouseEvent(e) && 1 === e.which) {\r\n isPointerDown = true;\r\n this.$element().addClass(WORKSPACE_WITH_MOUSE_SELECTION_CLASS);\r\n eventsEngine.off(domAdapter.getDocument(), SCHEDULER_CELL_DXPOINTERUP_EVENT_NAME);\r\n eventsEngine.on(domAdapter.getDocument(), SCHEDULER_CELL_DXPOINTERUP_EVENT_NAME, () => {\r\n isPointerDown = false;\r\n this.$element().removeClass(WORKSPACE_WITH_MOUSE_SELECTION_CLASS)\r\n })\r\n }\r\n });\r\n eventsEngine.on(element, SCHEDULER_CELL_DXPOINTERMOVE_EVENT_NAME, DRAG_AND_DROP_SELECTOR, e => {\r\n if (isPointerDown && this._dateTableScrollable && !this._dateTableScrollable.option(\"scrollByContent\")) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this._moveToCell($(e.target), true)\r\n }\r\n })\r\n }\r\n _getFormat() {\r\n return abstract()\r\n }\r\n getWorkArea() {\r\n return this._$dateTableContainer\r\n }\r\n getScrollable() {\r\n return this._dateTableScrollable\r\n }\r\n getScrollableScrollTop() {\r\n return this._dateTableScrollable.scrollTop()\r\n }\r\n getGroupedScrollableScrollTop(allDay) {\r\n return this._groupedStrategy.getScrollableScrollTop(allDay)\r\n }\r\n getScrollableScrollLeft() {\r\n return this._dateTableScrollable.scrollLeft()\r\n }\r\n getScrollableOuterWidth() {\r\n return this._dateTableScrollable.scrollWidth()\r\n }\r\n getScrollableContainer() {\r\n return $(this._dateTableScrollable.container())\r\n }\r\n getHeaderPanelHeight() {\r\n return this._$headerPanel && getOuterHeight(this._$headerPanel, true)\r\n }\r\n getTimePanelWidth() {\r\n return this._$timePanel && getBoundingRect(this._$timePanel.get(0)).width\r\n }\r\n getGroupTableWidth() {\r\n return this._$groupTable ? getOuterWidth(this._$groupTable) : 0\r\n }\r\n getWorkSpaceLeftOffset() {\r\n return this._groupedStrategy.getLeftOffset()\r\n }\r\n _getCellCoordinatesByIndex(index) {\r\n var columnIndex = Math.floor(index / this._getRowCount());\r\n var rowIndex = index - this._getRowCount() * columnIndex;\r\n return {\r\n columnIndex: columnIndex,\r\n rowIndex: rowIndex\r\n }\r\n }\r\n _getDateGenerationOptions() {\r\n var _a;\r\n return {\r\n startDayHour: this.option(\"startDayHour\"),\r\n endDayHour: this.option(\"endDayHour\"),\r\n isWorkView: this.viewDataProvider.viewDataGenerator.isWorkView,\r\n interval: null === (_a = this.viewDataProvider.viewDataGenerator) || void 0 === _a ? void 0 : _a.getInterval(this.option(\"hoursInterval\")),\r\n startViewDate: this.getStartViewDate(),\r\n firstDayOfWeek: this._firstDayOfWeek()\r\n }\r\n }\r\n _getIntervalBetween(currentDate, allDay) {\r\n var firstViewDate = this.getStartViewDate();\r\n var startDayTime = this.option(\"startDayHour\") * HOUR_MS;\r\n var timeZoneOffset = dateUtils.getTimezonesDifference(firstViewDate, currentDate);\r\n var fullInterval = currentDate.getTime() - firstViewDate.getTime() - timeZoneOffset;\r\n var days = this._getDaysOfInterval(fullInterval, startDayTime);\r\n var weekendsCount = this._getWeekendsCount(days);\r\n var result = (days - weekendsCount) * DAY_MS;\r\n if (!allDay) {\r\n var {\r\n hiddenInterval: hiddenInterval\r\n } = this.viewDataProvider;\r\n var visibleDayDuration = this.getVisibleDayDuration();\r\n result = fullInterval - days * hiddenInterval - weekendsCount * visibleDayDuration\r\n }\r\n return result\r\n }\r\n _getWeekendsCount(argument) {\r\n return 0\r\n }\r\n _getDaysOfInterval(fullInterval, startDayTime) {\r\n return Math.floor((fullInterval + startDayTime) / DAY_MS)\r\n }\r\n _updateIndex(index) {\r\n return index * this._getRowCount()\r\n }\r\n _getDroppableCell() {\r\n return this._getDateTables().find(\".\".concat(DATE_TABLE_DROPPABLE_CELL_CLASS))\r\n }\r\n _getWorkSpaceWidth() {\r\n return this.cache.get(\"workspaceWidth\", () => {\r\n if (this._needCreateCrossScrolling()) {\r\n return getBoundingRect(this._$dateTable.get(0)).width\r\n }\r\n var totalWidth = getBoundingRect(this.$element().get(0)).width;\r\n var timePanelWidth = this.getTimePanelWidth();\r\n var groupTableWidth = this.getGroupTableWidth();\r\n return totalWidth - timePanelWidth - groupTableWidth\r\n })\r\n }\r\n _getCellByCoordinates(cellCoordinates, groupIndex, inAllDayRow) {\r\n var indexes = this._groupedStrategy.prepareCellIndexes(cellCoordinates, groupIndex, inAllDayRow);\r\n return this._dom_getDateCell(indexes)\r\n }\r\n _dom_getDateCell(position) {\r\n return this._$dateTable.find(\"tr:not(.\".concat(VIRTUAL_ROW_CLASS, \")\")).eq(position.rowIndex).find(\"td:not(.\".concat(VIRTUAL_CELL_CLASS, \")\")).eq(position.columnIndex)\r\n }\r\n _dom_getAllDayPanelCell(columnIndex) {\r\n return this._$allDayPanel.find(\"tr\").eq(0).find(\"td\").eq(columnIndex)\r\n }\r\n _getCells(allDay, direction) {\r\n var cellClass = allDay ? ALL_DAY_TABLE_CELL_CLASS : DATE_TABLE_CELL_CLASS;\r\n if (\"vertical\" === direction) {\r\n var result = [];\r\n for (var i = 1;; i++) {\r\n var cells = this.$element().find(\"tr .\".concat(cellClass, \":nth-child(\").concat(i, \")\"));\r\n if (!cells.length) {\r\n break\r\n }\r\n result = result.concat(cells.toArray())\r\n }\r\n return $(result)\r\n }\r\n return this.$element().find(\".\".concat(cellClass))\r\n }\r\n _getFirstAndLastDataTableCell() {\r\n var selector = this.isVirtualScrolling() ? \".\".concat(DATE_TABLE_CELL_CLASS, \", .\").concat(VIRTUAL_CELL_CLASS) : \".\".concat(DATE_TABLE_CELL_CLASS);\r\n var $cells = this.$element().find(selector);\r\n return [$cells[0], $cells[$cells.length - 1]]\r\n }\r\n _getAllCells(allDay) {\r\n if (this._isVerticalGroupedWorkSpace()) {\r\n return this._$dateTable.find(\"td:not(.\".concat(VIRTUAL_CELL_CLASS, \")\"))\r\n }\r\n var cellClass = allDay && this.supportAllDayRow() ? ALL_DAY_TABLE_CELL_CLASS : DATE_TABLE_CELL_CLASS;\r\n return this.$element().find(\".\".concat(cellClass))\r\n }\r\n _setHorizontalGroupHeaderCellsHeight() {\r\n var {\r\n height: height\r\n } = getBoundingRect(this._$dateTable.get(0));\r\n setOuterHeight(this._$groupTable, height)\r\n }\r\n _getGroupHeaderCells() {\r\n return this.$element().find(\".\".concat(GROUP_HEADER_CLASS))\r\n }\r\n _getScrollCoordinates(hours, minutes, date, groupIndex, allDay) {\r\n var currentDate = date || new Date(this.option(\"currentDate\"));\r\n var startDayHour = this.option(\"startDayHour\");\r\n var endDayHour = this.option(\"endDayHour\");\r\n if (hours < startDayHour) {\r\n hours = startDayHour\r\n }\r\n if (hours >= endDayHour) {\r\n hours = endDayHour - 1\r\n }\r\n currentDate.setHours(hours, minutes, 0, 0);\r\n var cell = this.viewDataProvider.findGlobalCellPosition(currentDate, groupIndex, allDay);\r\n var {\r\n position: position,\r\n cellData: cellData\r\n } = cell;\r\n return this.virtualScrollingDispatcher.calculateCoordinatesByDataAndPosition(cellData, position, currentDate, isDateAndTimeView(this.type), \"vertical\" === this.viewDirection)\r\n }\r\n _isOutsideScrollable(target, event) {\r\n var $dateTableScrollableElement = this._dateTableScrollable.$element();\r\n var scrollableSize = getBoundingRect($dateTableScrollableElement.get(0));\r\n var window = getWindow();\r\n var isTargetInAllDayPanel = !$(target).closest($dateTableScrollableElement).length;\r\n var isOutsideHorizontalScrollable = event.pageX < scrollableSize.left || event.pageX > scrollableSize.left + scrollableSize.width + (window.scrollX || 0);\r\n var isOutsideVerticalScrollable = event.pageY < scrollableSize.top || event.pageY > scrollableSize.top + scrollableSize.height + (window.scrollY || 0);\r\n if (isTargetInAllDayPanel && !isOutsideHorizontalScrollable) {\r\n return false\r\n }\r\n return isOutsideVerticalScrollable || isOutsideHorizontalScrollable\r\n }\r\n setCellDataCache(cellCoordinates, groupIndex, $cell) {\r\n var key = JSON.stringify({\r\n rowIndex: cellCoordinates.rowIndex,\r\n columnIndex: cellCoordinates.columnIndex,\r\n groupIndex: groupIndex\r\n });\r\n this.cache.set(key, this.getCellData($cell))\r\n }\r\n setCellDataCacheAlias(appointment, geometry) {\r\n var key = JSON.stringify({\r\n rowIndex: appointment.rowIndex,\r\n columnIndex: appointment.columnIndex,\r\n groupIndex: appointment.groupIndex\r\n });\r\n var aliasKey = JSON.stringify({\r\n top: geometry.top,\r\n left: geometry.left\r\n });\r\n this.cache.set(aliasKey, this.cache.get(key))\r\n }\r\n supportAllDayRow() {\r\n return true\r\n }\r\n keepOriginalHours() {\r\n return false\r\n }\r\n _filterCellDataFields(cellData) {\r\n return extend(true, {}, {\r\n startDate: cellData.startDate,\r\n endDate: cellData.endDate,\r\n groups: cellData.groups,\r\n groupIndex: cellData.groupIndex,\r\n allDay: cellData.allDay\r\n })\r\n }\r\n getCellData($cell) {\r\n var cellData = this._getFullCellData($cell) || {};\r\n return this._filterCellDataFields(cellData)\r\n }\r\n _getFullCellData($cell) {\r\n var currentCell = $cell[0];\r\n if (currentCell) {\r\n return this._getDataByCell($cell)\r\n }\r\n return\r\n }\r\n _getVirtualRowOffset() {\r\n return this.virtualScrollingDispatcher.virtualRowOffset\r\n }\r\n _getVirtualCellOffset() {\r\n return this.virtualScrollingDispatcher.virtualCellOffset\r\n }\r\n _getDataByCell($cell) {\r\n var rowIndex = $cell.parent().index() - this.virtualScrollingDispatcher.topVirtualRowsCount;\r\n var columnIndex = $cell.index() - this.virtualScrollingDispatcher.leftVirtualCellsCount;\r\n var {\r\n viewDataProvider: viewDataProvider\r\n } = this;\r\n var isAllDayCell = this._hasAllDayClass($cell);\r\n var cellData = viewDataProvider.getCellData(rowIndex, columnIndex, isAllDayCell);\r\n return cellData || void 0\r\n }\r\n isGroupedByDate() {\r\n return this.option(\"groupByDate\") && this._isHorizontalGroupedWorkSpace() && this._getGroupCount() > 0\r\n }\r\n getCellIndexByDate(date, inAllDayRow) {\r\n var {\r\n viewDataGenerator: viewDataGenerator\r\n } = this.viewDataProvider;\r\n var timeInterval = inAllDayRow ? 864e5 : viewDataGenerator.getInterval(this.option(\"hoursInterval\"));\r\n var startViewDateOffset = getStartViewDateTimeOffset(this.getStartViewDate(), this.option(\"startDayHour\"));\r\n var dateTimeStamp = this._getIntervalBetween(date, inAllDayRow) + startViewDateOffset;\r\n var index = Math.floor(dateTimeStamp / timeInterval);\r\n if (inAllDayRow) {\r\n index = this._updateIndex(index)\r\n }\r\n if (index < 0) {\r\n index = 0\r\n }\r\n return index\r\n }\r\n getDroppableCellIndex() {\r\n var $droppableCell = this._getDroppableCell();\r\n var $row = $droppableCell.parent();\r\n var rowIndex = $row.index();\r\n return rowIndex * $row.find(\"td\").length + $droppableCell.index()\r\n }\r\n getDataByDroppableCell() {\r\n var cellData = this.getCellData($(this._getDroppableCell()));\r\n var {\r\n allDay: allDay\r\n } = cellData;\r\n var {\r\n startDate: startDate\r\n } = cellData;\r\n var {\r\n endDate: endDate\r\n } = cellData;\r\n return {\r\n startDate: startDate,\r\n endDate: endDate,\r\n allDay: allDay,\r\n groups: cellData.groups\r\n }\r\n }\r\n getDateRange() {\r\n return [this.getStartViewDate(), this.getEndViewDateByEndDayHour()]\r\n }\r\n getCellMinWidth() {\r\n return DATE_TABLE_MIN_CELL_WIDTH\r\n }\r\n getRoundedCellWidth(groupIndex, startIndex, cellCount) {\r\n if (groupIndex < 0 || !hasWindow()) {\r\n return 0\r\n }\r\n var $row = this.$element().find(\".\".concat(DATE_TABLE_ROW_CLASS)).eq(0);\r\n var width = 0;\r\n var $cells = $row.find(\".\".concat(DATE_TABLE_CELL_CLASS));\r\n var totalCellCount = this._getCellCount() * groupIndex;\r\n cellCount = cellCount || this._getCellCount();\r\n if (!isDefined(startIndex)) {\r\n startIndex = totalCellCount\r\n }\r\n for (var i = startIndex; i < totalCellCount + cellCount; i++) {\r\n var element = $($cells).eq(i).get(0);\r\n var elementWidth = element ? getBoundingRect(element).width : 0;\r\n width += elementWidth\r\n }\r\n return width / (totalCellCount + cellCount - startIndex)\r\n }\r\n getCellWidth() {\r\n return getCellWidth(this.getDOMElementsMetaData())\r\n }\r\n getCellHeight() {\r\n return getCellHeight(this.getDOMElementsMetaData())\r\n }\r\n getAllDayHeight() {\r\n return getAllDayHeight(this.option(\"showAllDayPanel\"), this._isVerticalGroupedWorkSpace(), this.getDOMElementsMetaData())\r\n }\r\n getMaxAllowedPosition(groupIndex) {\r\n return getMaxAllowedPosition(groupIndex, this.viewDataProvider, this.option(\"rtlEnabled\"), this.getDOMElementsMetaData())\r\n }\r\n getAllDayOffset() {\r\n return this._groupedStrategy.getAllDayOffset()\r\n }\r\n getCellIndexByCoordinates(coordinates, allDay) {\r\n var cellCount = this._getTotalCellCount(this._getGroupCount());\r\n var cellWidth = this.getCellWidth();\r\n var cellHeight = allDay ? this.getAllDayHeight() : this.getCellHeight();\r\n var topIndex = Math.floor(Math.floor(coordinates.top) / Math.floor(cellHeight));\r\n var leftIndex = coordinates.left / cellWidth;\r\n leftIndex = Math.floor(leftIndex + CELL_INDEX_CALCULATION_EPSILON);\r\n if (this._isRTL()) {\r\n leftIndex = cellCount - leftIndex - 1\r\n }\r\n return cellCount * topIndex + leftIndex\r\n }\r\n getStartViewDate() {\r\n return this.viewDataProvider.getStartViewDate()\r\n }\r\n getEndViewDate() {\r\n return this.viewDataProvider.getLastCellEndDate()\r\n }\r\n getEndViewDateByEndDayHour() {\r\n return this.viewDataProvider.getLastViewDateByEndDayHour(this.option(\"endDayHour\"))\r\n }\r\n getCellDuration() {\r\n return getCellDuration(this.type, this.option(\"startDayHour\"), this.option(\"endDayHour\"), this.option(\"hoursInterval\"))\r\n }\r\n getIntervalDuration(allDay) {\r\n return allDay ? toMs(\"day\") : this.getCellDuration()\r\n }\r\n getVisibleDayDuration() {\r\n var startDayHour = this.option(\"startDayHour\");\r\n var endDayHour = this.option(\"endDayHour\");\r\n var hoursInterval = this.option(\"hoursInterval\");\r\n return this.viewDataProvider.getVisibleDayDuration(startDayHour, endDayHour, hoursInterval)\r\n }\r\n getGroupBounds(coordinates) {\r\n var groupBounds = this._groupedStrategy instanceof VerticalGroupedStrategy ? this.getGroupBoundsVertical(coordinates.groupIndex) : this.getGroupBoundsHorizontal(coordinates);\r\n return this._isRTL() ? this.getGroupBoundsRtlCorrection(groupBounds) : groupBounds\r\n }\r\n getGroupBoundsVertical(groupIndex) {\r\n var $firstAndLastCells = this._getFirstAndLastDataTableCell();\r\n return this._groupedStrategy.getGroupBoundsOffset(groupIndex, $firstAndLastCells)\r\n }\r\n getGroupBoundsHorizontal(coordinates) {\r\n var cellCount = this._getCellCount();\r\n var $cells = this._getCells();\r\n var cellWidth = this.getCellWidth();\r\n var {\r\n groupedDataMap: groupedDataMap\r\n } = this.viewDataProvider;\r\n return this._groupedStrategy.getGroupBoundsOffset(cellCount, $cells, cellWidth, coordinates, groupedDataMap)\r\n }\r\n getGroupBoundsRtlCorrection(groupBounds) {\r\n var cellWidth = this.getCellWidth();\r\n return _extends(_extends({}, groupBounds), {\r\n left: groupBounds.right - 2 * cellWidth,\r\n right: groupBounds.left + 2 * cellWidth\r\n })\r\n }\r\n needRecalculateResizableArea() {\r\n return this._isVerticalGroupedWorkSpace() && 0 !== this.getScrollable().scrollTop()\r\n }\r\n getCellDataByCoordinates(coordinates, allDay) {\r\n var key = JSON.stringify({\r\n top: coordinates.top,\r\n left: coordinates.left\r\n });\r\n return this.cache.get(key, () => {\r\n var $cells = this._getCells(allDay);\r\n var cellIndex = this.getCellIndexByCoordinates(coordinates, allDay);\r\n var $cell = $cells.eq(cellIndex);\r\n return this.getCellData($cell)\r\n })\r\n }\r\n getVisibleBounds() {\r\n var result = {};\r\n var $scrollable = this.getScrollable().$element();\r\n var cellHeight = this.getCellHeight();\r\n var scrolledCellCount = this.getScrollableScrollTop() / cellHeight;\r\n var totalCellCount = scrolledCellCount + getHeight($scrollable) / cellHeight;\r\n result.top = {\r\n hours: Math.floor(scrolledCellCount * this.option(\"hoursInterval\")) + this.option(\"startDayHour\"),\r\n minutes: scrolledCellCount % 2 ? 30 : 0\r\n };\r\n result.bottom = {\r\n hours: Math.floor(totalCellCount * this.option(\"hoursInterval\")) + this.option(\"startDayHour\"),\r\n minutes: Math.floor(totalCellCount) % 2 ? 30 : 0\r\n };\r\n return result\r\n }\r\n updateScrollPosition(date, groups) {\r\n var allDay = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false;\r\n var newDate = this.timeZoneCalculator.createDate(date, {\r\n path: \"toGrid\"\r\n });\r\n var inAllDayRow = allDay && this.isAllDayPanelVisible;\r\n if (this.needUpdateScrollPosition(newDate, groups, inAllDayRow)) {\r\n this.scrollTo(newDate, groups, inAllDayRow, false)\r\n }\r\n }\r\n needUpdateScrollPosition(date, groups, inAllDayRow) {\r\n var cells = this._getCellsInViewport(inAllDayRow);\r\n var groupIndex = this._isGroupsSpecified(groups) ? this._getGroupIndexByResourceId(groups) : 0;\r\n var time = date.getTime();\r\n var trimmedTime = dateUtils.trimTime(date).getTime();\r\n return cells.reduce((currentResult, cell) => {\r\n var {\r\n startDate: cellStartDate,\r\n endDate: cellEndDate,\r\n groupIndex: cellGroupIndex\r\n } = this.getCellData(cell);\r\n var cellStartTime = cellStartDate.getTime();\r\n var cellEndTime = cellEndDate.getTime();\r\n if ((!inAllDayRow && cellStartTime <= time && time < cellEndTime || inAllDayRow && trimmedTime === cellStartTime) && groupIndex === cellGroupIndex) {\r\n return false\r\n }\r\n return currentResult\r\n }, true)\r\n }\r\n _getCellsInViewport(inAllDayRow) {\r\n var $scrollable = this.getScrollable().$element();\r\n var cellHeight = this.getCellHeight();\r\n var cellWidth = this.getCellWidth();\r\n var totalColumnCount = this._getTotalCellCount(this._getGroupCount());\r\n var scrollableScrollTop = this.getScrollableScrollTop();\r\n var scrollableScrollLeft = this.getScrollableScrollLeft();\r\n var fullScrolledRowCount = scrollableScrollTop / cellHeight - this.virtualScrollingDispatcher.topVirtualRowsCount;\r\n var scrolledRowCount = Math.floor(fullScrolledRowCount);\r\n if (scrollableScrollTop % cellHeight !== 0) {\r\n scrolledRowCount += 1\r\n }\r\n var fullScrolledColumnCount = scrollableScrollLeft / cellWidth;\r\n var scrolledColumnCount = Math.floor(fullScrolledColumnCount);\r\n if (scrollableScrollLeft % cellWidth !== 0) {\r\n scrolledColumnCount += 1\r\n }\r\n var rowCount = Math.floor(fullScrolledRowCount + getHeight($scrollable) / cellHeight);\r\n var columnCount = Math.floor(fullScrolledColumnCount + getWidth($scrollable) / cellWidth);\r\n var $cells = this._getAllCells(inAllDayRow);\r\n var result = [];\r\n $cells.each((function(index) {\r\n var $cell = $(this);\r\n var columnIndex = index % totalColumnCount;\r\n var rowIndex = index / totalColumnCount;\r\n if (scrolledColumnCount <= columnIndex && columnIndex < columnCount && scrolledRowCount <= rowIndex && rowIndex < rowCount) {\r\n result.push($cell)\r\n }\r\n }));\r\n return result\r\n }\r\n scrollToTime(hours, minutes, date) {\r\n if (!this._isValidScrollDate(date)) {\r\n return\r\n }\r\n var coordinates = this._getScrollCoordinates(hours, minutes, date);\r\n var scrollable = this.getScrollable();\r\n scrollable.scrollBy({\r\n top: coordinates.top - scrollable.scrollTop(),\r\n left: 0\r\n })\r\n }\r\n scrollTo(date, groups) {\r\n var allDay = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false;\r\n var throwWarning = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : true;\r\n if (!this._isValidScrollDate(date, throwWarning)) {\r\n return\r\n }\r\n var groupIndex = this._getGroupCount() && groups ? this._getGroupIndexByResourceId(groups) : 0;\r\n var isScrollToAllDay = allDay && this.isAllDayPanelVisible;\r\n var coordinates = this._getScrollCoordinates(date.getHours(), date.getMinutes(), date, groupIndex, isScrollToAllDay);\r\n var scrollable = this.getScrollable();\r\n var $scrollable = scrollable.$element();\r\n var cellWidth = this.getCellWidth();\r\n var offset = this.option(\"rtlEnabled\") ? cellWidth : 0;\r\n var scrollableHeight = getHeight($scrollable);\r\n var scrollableWidth = getWidth($scrollable);\r\n var cellHeight = this.getCellHeight();\r\n var xShift = (scrollableWidth - cellWidth) / 2;\r\n var yShift = (scrollableHeight - cellHeight) / 2;\r\n var left = coordinates.left - scrollable.scrollLeft() - xShift - offset;\r\n var top = coordinates.top - scrollable.scrollTop() - yShift;\r\n if (isScrollToAllDay && !this._isVerticalGroupedWorkSpace()) {\r\n top = 0\r\n }\r\n if (this.option(\"templatesRenderAsynchronously\")) {\r\n setTimeout(() => {\r\n scrollable.scrollBy({\r\n left: left,\r\n top: top\r\n })\r\n })\r\n } else {\r\n scrollable.scrollBy({\r\n left: left,\r\n top: top\r\n })\r\n }\r\n }\r\n _isValidScrollDate(date) {\r\n var throwWarning = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : true;\r\n var min = this.getStartViewDate();\r\n var max = this.getEndViewDate();\r\n if (date < min || date > max) {\r\n throwWarning && errors.log(\"W1008\", date);\r\n return false\r\n }\r\n return true\r\n }\r\n needApplyCollectorOffset() {\r\n return false\r\n }\r\n removeDroppableCellClass($cellElement) {\r\n var $cell = $cellElement || this._getDroppableCell();\r\n null === $cell || void 0 === $cell ? void 0 : $cell.removeClass(DATE_TABLE_DROPPABLE_CELL_CLASS)\r\n }\r\n _getCoordinatesByCell($cell) {\r\n var columnIndex = $cell.index() - this.virtualScrollingDispatcher.leftVirtualCellsCount;\r\n var rowIndex = $cell.parent().index();\r\n var isAllDayCell = this._hasAllDayClass($cell);\r\n var isVerticalGrouping = this._isVerticalGroupedWorkSpace();\r\n if (!(isAllDayCell && !isVerticalGrouping)) {\r\n rowIndex -= this.virtualScrollingDispatcher.topVirtualRowsCount\r\n }\r\n return {\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex\r\n }\r\n }\r\n _isShowAllDayPanel() {\r\n return this.option(\"showAllDayPanel\")\r\n }\r\n _getTimePanelCells() {\r\n return this.$element().find(\".\".concat(TIME_PANEL_CELL_CLASS))\r\n }\r\n _getRDateTableProps() {\r\n return {\r\n viewData: this.viewDataProvider.viewData,\r\n dataCellTemplate: this.option(\"dataCellTemplate\"),\r\n addDateTableClass: !this.option(\"crossScrollingEnabled\") || this.isVirtualScrolling(),\r\n groupOrientation: this.option(\"groupOrientation\"),\r\n addVerticalSizesClassToRows: false\r\n }\r\n }\r\n _updateSelectedCellDataOption(selectedCellData, $nextFocusedCell) {\r\n var correctedSelectedCellData = selectedCellData.map(_ref3 => {\r\n var {\r\n startDate: startDate,\r\n endDate: endDate,\r\n allDay: allDay,\r\n groupIndex: groupIndex,\r\n groups: groups\r\n } = _ref3;\r\n return {\r\n startDate: startDate,\r\n endDate: endDate,\r\n allDay: allDay,\r\n groupIndex: groupIndex,\r\n groups: groups\r\n }\r\n });\r\n this.option(\"selectedCellData\", correctedSelectedCellData);\r\n this._selectionChangedAction({\r\n selectedCellData: correctedSelectedCellData\r\n })\r\n }\r\n _getCellByData(cellData) {\r\n var {\r\n startDate: startDate,\r\n groupIndex: groupIndex,\r\n allDay: allDay,\r\n index: index\r\n } = cellData;\r\n var position = this.viewDataProvider.findCellPositionInMap({\r\n startDate: startDate,\r\n groupIndex: groupIndex,\r\n isAllDay: allDay,\r\n index: index\r\n });\r\n if (!position) {\r\n return\r\n }\r\n return allDay && !this._isVerticalGroupedWorkSpace() ? this._dom_getAllDayPanelCell(position.columnIndex) : this._dom_getDateCell(position)\r\n }\r\n getDOMElementsMetaData() {\r\n return this.cache.get(\"cellElementsMeta\", () => ({\r\n dateTableCellsMeta: this._getDateTableDOMElementsInfo(),\r\n allDayPanelCellsMeta: this._getAllDayPanelDOMElementsInfo()\r\n }))\r\n }\r\n _getDateTableDOMElementsInfo() {\r\n var dateTableCells = this._getAllCells(false);\r\n if (!dateTableCells.length || !hasWindow()) {\r\n return [\r\n [{}]\r\n ]\r\n }\r\n var dateTable = this._getDateTable();\r\n var dateTableRect = getBoundingRect(dateTable.get(0));\r\n var columnsCount = this.viewDataProvider.getColumnsCount();\r\n var result = [];\r\n dateTableCells.each((index, cell) => {\r\n var rowIndex = Math.floor(index / columnsCount);\r\n if (result.length === rowIndex) {\r\n result.push([])\r\n }\r\n this._addCellMetaData(result[rowIndex], cell, dateTableRect)\r\n });\r\n return result\r\n }\r\n _getAllDayPanelDOMElementsInfo() {\r\n var result = [];\r\n if (this.isAllDayPanelVisible && !this._isVerticalGroupedWorkSpace() && hasWindow()) {\r\n var allDayCells = this._getAllCells(true);\r\n if (!allDayCells.length) {\r\n return [{}]\r\n }\r\n var allDayAppointmentContainer = this._$allDayPanel;\r\n var allDayPanelRect = getBoundingRect(allDayAppointmentContainer.get(0));\r\n allDayCells.each((_, cell) => {\r\n this._addCellMetaData(result, cell, allDayPanelRect)\r\n })\r\n }\r\n return result\r\n }\r\n _addCellMetaData(cellMetaDataArray, cell, parentRect) {\r\n var cellRect = getBoundingRect(cell);\r\n cellMetaDataArray.push({\r\n left: cellRect.left - parentRect.left,\r\n top: cellRect.top - parentRect.top,\r\n width: cellRect.width,\r\n height: cellRect.height\r\n })\r\n }\r\n _oldRender_getAllDayCellData(groupIndex) {\r\n return (cell, rowIndex, columnIndex) => {\r\n var validColumnIndex = columnIndex % this._getCellCount();\r\n var options = this._getDateGenerationOptions(true);\r\n var startDate = this.viewDataProvider.viewDataGenerator.getDateByCellIndices(options, rowIndex, validColumnIndex, this._getCellCountInDay());\r\n startDate = dateUtils.trimTime(startDate);\r\n var validGroupIndex = groupIndex || 0;\r\n if (this.isGroupedByDate()) {\r\n validGroupIndex = Math.floor(columnIndex % this._getGroupCount())\r\n } else if (this._isHorizontalGroupedWorkSpace()) {\r\n validGroupIndex = Math.floor(columnIndex / this._getCellCount())\r\n }\r\n var data = {\r\n startDate: startDate,\r\n endDate: startDate,\r\n allDay: true,\r\n groupIndex: validGroupIndex\r\n };\r\n var groupsArray = getCellGroups(validGroupIndex, this.option(\"groups\"));\r\n if (groupsArray.length) {\r\n data.groups = getGroupsObjectFromGroupsArray(groupsArray)\r\n }\r\n return {\r\n key: CELL_DATA,\r\n value: data\r\n }\r\n }\r\n }\r\n renderRWorkSpace() {\r\n var {\r\n header: header,\r\n timePanel: timePanel,\r\n dateTable: dateTable,\r\n allDayPanel: allDayPanel\r\n } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : DEFAULT_WORKSPACE_RENDER_OPTIONS.renderComponents;\r\n if (header) {\r\n this.renderRHeaderPanel()\r\n }\r\n if (timePanel) {\r\n this.renderRTimeTable()\r\n }\r\n if (dateTable) {\r\n this.renderRDateTable()\r\n }\r\n if (allDayPanel) {\r\n this.renderRAllDayPanel()\r\n }\r\n }\r\n renderRDateTable() {\r\n utils.renovation.renderComponent(this, this._$dateTable, dxrDateTableLayout, \"renovatedDateTable\", this._getRDateTableProps())\r\n }\r\n renderRGroupPanel() {\r\n var _a;\r\n var options = {\r\n groups: this.option(\"groups\"),\r\n groupOrientation: this.option(\"groupOrientation\"),\r\n groupByDate: this.isGroupedByDate(),\r\n resourceCellTemplate: this.option(\"resourceCellTemplate\"),\r\n className: this.verticalGroupTableClass,\r\n groupPanelData: this.viewDataProvider.getGroupPanelData(this.generateRenderOptions())\r\n };\r\n if (null === (_a = this.option(\"groups\")) || void 0 === _a ? void 0 : _a.length) {\r\n this._attachGroupCountClass();\r\n utils.renovation.renderComponent(this, this._getGroupHeaderContainer(), dxrGroupPanel, \"renovatedGroupPanel\", options)\r\n } else {\r\n this._detachGroupCountClass()\r\n }\r\n }\r\n renderRAllDayPanel() {\r\n var _a;\r\n var visible = this.isAllDayPanelVisible && !this.isGroupedAllDayPanel();\r\n if (visible) {\r\n this._toggleAllDayVisibility(false);\r\n var options = _extends({\r\n viewData: this.viewDataProvider.viewData,\r\n dataCellTemplate: this.option(\"dataCellTemplate\"),\r\n startCellIndex: 0\r\n }, (null === (_a = this.virtualScrollingDispatcher.horizontalVirtualScrolling) || void 0 === _a ? void 0 : _a.getRenderState()) || {});\r\n utils.renovation.renderComponent(this, this._$allDayTable, dxrAllDayPanelTable, \"renovatedAllDayPanel\", options);\r\n utils.renovation.renderComponent(this, this._$allDayTitle, dxrAllDayPanelTitle, \"renovatedAllDayPanelTitle\", {})\r\n }\r\n this._toggleAllDayVisibility(true)\r\n }\r\n renderRTimeTable() {\r\n utils.renovation.renderComponent(this, this._$timePanel, dxrTimePanelTableLayout, \"renovatedTimePanel\", {\r\n timePanelData: this.viewDataProvider.timePanelData,\r\n timeCellTemplate: this.option(\"timeCellTemplate\"),\r\n groupOrientation: this.option(\"groupOrientation\")\r\n })\r\n }\r\n renderRHeaderPanel() {\r\n var isRenderDateHeader = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : true;\r\n var _a;\r\n if (null === (_a = this.option(\"groups\")) || void 0 === _a ? void 0 : _a.length) {\r\n this._attachGroupCountClass()\r\n } else {\r\n this._detachGroupCountClass()\r\n }\r\n utils.renovation.renderComponent(this, this._$thead, this.renovatedHeaderPanelComponent, \"renovatedHeaderPanel\", {\r\n dateHeaderData: this.viewDataProvider.dateHeaderData,\r\n groupPanelData: this.viewDataProvider.getGroupPanelData(this.generateRenderOptions()),\r\n dateCellTemplate: this.option(\"dateCellTemplate\"),\r\n timeCellTemplate: this.option(\"timeCellTemplate\"),\r\n groups: this.option(\"groups\"),\r\n groupByDate: this.isGroupedByDate(),\r\n groupOrientation: this.option(\"groupOrientation\"),\r\n resourceCellTemplate: this.option(\"resourceCellTemplate\"),\r\n isRenderDateHeader: isRenderDateHeader\r\n })\r\n }\r\n initDragBehavior(scheduler) {\r\n if (!this.dragBehavior && scheduler) {\r\n this.dragBehavior = new AppointmentDragBehavior(scheduler);\r\n var $rootElement = $(scheduler.element());\r\n this._createDragBehavior(this.getWorkArea(), $rootElement);\r\n this._createDragBehavior(this._$allDayPanel, $rootElement)\r\n }\r\n }\r\n _createDragBehavior($targetElement, $rootElement) {\r\n var options = {\r\n getItemData: (itemElement, appointments) => appointments._getItemData(itemElement),\r\n getItemSettings: $itemElement => $itemElement.data(APPOINTMENT_SETTINGS_KEY)\r\n };\r\n this._createDragBehaviorBase($targetElement, $rootElement, options)\r\n }\r\n _createDragBehaviorBase(targetElement, rootElement, options) {\r\n var container = this.$element().find(\".\".concat(FIXED_CONTAINER_CLASS));\r\n this.dragBehavior.addTo(targetElement, createDragBehaviorConfig(container, rootElement, this.isDefaultDraggingMode, this.dragBehavior, () => {\r\n if (!this.isDefaultDraggingMode) {\r\n this.preventDefaultDragging = false\r\n }\r\n }, () => {\r\n if (!this.isDefaultDraggingMode) {\r\n this.preventDefaultDragging = true\r\n }\r\n }, () => this._getDroppableCell(), () => this._getDateTables(), () => this.removeDroppableCellClass(), () => this.getCellWidth(), options))\r\n }\r\n _isRenderHeaderPanelEmptyCell() {\r\n return this._isVerticalGroupedWorkSpace()\r\n }\r\n _dispose() {\r\n super._dispose();\r\n this.virtualScrollingDispatcher.dispose()\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n currentDate: new Date,\r\n intervalCount: 1,\r\n startDate: null,\r\n firstDayOfWeek: void 0,\r\n startDayHour: 0,\r\n endDayHour: 24,\r\n hoursInterval: .5,\r\n activeStateEnabled: true,\r\n hoverStateEnabled: true,\r\n groups: [],\r\n showAllDayPanel: true,\r\n allDayExpanded: false,\r\n onCellClick: null,\r\n crossScrollingEnabled: false,\r\n dataCellTemplate: null,\r\n timeCellTemplate: null,\r\n resourceCellTemplate: null,\r\n dateCellTemplate: null,\r\n allowMultipleCellSelection: true,\r\n indicatorTime: new Date,\r\n indicatorUpdateInterval: 5 * toMs(\"minute\"),\r\n shadeUntilCurrentTime: true,\r\n groupOrientation: \"horizontal\",\r\n selectedCellData: [],\r\n groupByDate: false,\r\n scrolling: {\r\n mode: \"standard\"\r\n },\r\n allDayPanelMode: \"all\",\r\n renovateRender: true,\r\n height: void 0,\r\n draggingMode: \"outlook\",\r\n onScrollEnd: () => {},\r\n getHeaderHeight: void 0,\r\n onRenderAppointments: () => {},\r\n onShowAllDayPanel: () => {},\r\n onSelectedCellsClick: () => {},\r\n timeZoneCalculator: void 0,\r\n schedulerHeight: void 0,\r\n schedulerWidth: void 0\r\n })\r\n }\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"startDayHour\":\r\n validateDayHours(args.value, this.option(\"endDayHour\"));\r\n this._cleanWorkSpace();\r\n break;\r\n case \"endDayHour\":\r\n validateDayHours(this.option(\"startDayHour\"), args.value);\r\n this._cleanWorkSpace();\r\n break;\r\n case \"dateCellTemplate\":\r\n case \"resourceCellTemplate\":\r\n case \"dataCellTemplate\":\r\n case \"timeCellTemplate\":\r\n case \"hoursInterval\":\r\n case \"firstDayOfWeek\":\r\n case \"currentDate\":\r\n case \"startDate\":\r\n this._cleanWorkSpace();\r\n break;\r\n case \"groups\":\r\n this._cleanView();\r\n this._removeAllDayElements();\r\n this._initGrouping();\r\n this.repaint();\r\n break;\r\n case \"groupOrientation\":\r\n this._initGroupedStrategy();\r\n this._createAllDayPanelElements();\r\n this._removeAllDayElements();\r\n this._cleanWorkSpace();\r\n this._toggleGroupByDateClass();\r\n break;\r\n case \"showAllDayPanel\":\r\n if (this._isVerticalGroupedWorkSpace()) {\r\n this._cleanView();\r\n this._removeAllDayElements();\r\n this._initGrouping();\r\n this.repaint()\r\n } else if (!this.isRenovatedRender()) {\r\n this._toggleAllDayVisibility(true)\r\n } else {\r\n this.renderWorkSpace()\r\n }\r\n break;\r\n case \"allDayExpanded\":\r\n this._changeAllDayVisibility();\r\n this._attachTablesEvents();\r\n this._updateScrollable();\r\n break;\r\n case \"onSelectionChanged\":\r\n this._createSelectionChangedAction();\r\n break;\r\n case \"onCellClick\":\r\n this._createCellClickAction();\r\n break;\r\n case \"onCellContextMenu\":\r\n this._attachContextMenuEvent();\r\n break;\r\n case \"intervalCount\":\r\n this._cleanWorkSpace();\r\n this._toggleWorkSpaceCountClass();\r\n break;\r\n case \"groupByDate\":\r\n this._cleanWorkSpace();\r\n this._toggleGroupByDateClass();\r\n break;\r\n case \"crossScrollingEnabled\":\r\n this._toggleHorizontalScrollClass();\r\n this._dateTableScrollable.option(this._dateTableScrollableConfig());\r\n break;\r\n case \"allDayPanelMode\":\r\n this.updateShowAllDayPanel();\r\n this.updateAppointments();\r\n break;\r\n case \"width\":\r\n super._optionChanged(args);\r\n this._dimensionChanged();\r\n break;\r\n case \"timeZoneCalculator\":\r\n case \"allowMultipleCellSelection\":\r\n case \"selectedCellData\":\r\n break;\r\n case \"renovateRender\":\r\n case \"scrolling\":\r\n this.repaint();\r\n break;\r\n case \"schedulerHeight\":\r\n case \"schedulerWidth\":\r\n this.virtualScrollingDispatcher.updateDimensions(true);\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n updateShowAllDayPanel() {\r\n var isHiddenAllDayPanel = \"hidden\" === this.option(\"allDayPanelMode\");\r\n this.option(\"onShowAllDayPanel\")(!isHiddenAllDayPanel)\r\n }\r\n _getVirtualScrollingDispatcherOptions() {\r\n return {\r\n getCellHeight: this.getCellHeight.bind(this),\r\n getCellWidth: this.getCellWidth.bind(this),\r\n getCellMinWidth: this.getCellMinWidth.bind(this),\r\n isRTL: this._isRTL.bind(this),\r\n getSchedulerHeight: () => this.option(\"schedulerHeight\"),\r\n getSchedulerWidth: () => this.option(\"schedulerWidth\"),\r\n getViewHeight: () => this.$element().height ? this.$element().height() : getHeight(this.$element()),\r\n getViewWidth: () => this.$element().width ? this.$element().width() : getWidth(this.$element()),\r\n getWindowHeight: () => getWindow().innerHeight,\r\n getWindowWidth: () => getWindow().innerWidth,\r\n getScrolling: () => this.option(\"scrolling\"),\r\n getScrollableOuterWidth: this.getScrollableOuterWidth.bind(this),\r\n getScrollable: this.getScrollable.bind(this),\r\n createAction: this._createAction.bind(this),\r\n updateRender: this.updateRender.bind(this),\r\n updateGrid: this.updateGrid.bind(this),\r\n getGroupCount: this._getGroupCount.bind(this),\r\n isVerticalGrouping: this._isVerticalGroupedWorkSpace.bind(this),\r\n getTotalRowCount: this._getTotalRowCount.bind(this),\r\n getTotalCellCount: this._getTotalCellCount.bind(this)\r\n }\r\n }\r\n _cleanWorkSpace() {\r\n this._cleanView();\r\n this._toggleGroupedClass();\r\n this._toggleWorkSpaceWithOddCells();\r\n this.virtualScrollingDispatcher.updateDimensions(true);\r\n this._renderView();\r\n this.option(\"crossScrollingEnabled\") && this._setTableSizes();\r\n this.cache.clear()\r\n }\r\n _init() {\r\n this._scrollSync = {};\r\n this._viewDataProvider = null;\r\n this._cellsSelectionState = null;\r\n this._activeStateUnit = CELL_SELECTOR;\r\n super._init();\r\n this._initGrouping();\r\n this._toggleHorizontalScrollClass();\r\n this._toggleWorkSpaceCountClass();\r\n this._toggleGroupByDateClass();\r\n this._toggleWorkSpaceWithOddCells();\r\n this.$element().addClass(COMPONENT_CLASS).addClass(this._getElementClass())\r\n }\r\n _initPositionHelper() {\r\n this.positionHelper = new PositionHelper({\r\n key: this.option(\"key\"),\r\n viewDataProvider: this.viewDataProvider,\r\n viewStartDayHour: this.option(\"startDayHour\"),\r\n viewEndDayHour: this.option(\"endDayHour\"),\r\n cellDuration: this.getCellDuration(),\r\n groupedStrategy: this._groupedStrategy,\r\n isGroupedByDate: this.isGroupedByDate(),\r\n rtlEnabled: this.option(\"rtlEnabled\"),\r\n startViewDate: this.getStartViewDate(),\r\n isVerticalGrouping: this._isVerticalGroupedWorkSpace(),\r\n groupCount: this._getGroupCount(),\r\n isVirtualScrolling: this.isVirtualScrolling(),\r\n getDOMMetaDataCallback: this.getDOMElementsMetaData.bind(this)\r\n })\r\n }\r\n _initGrouping() {\r\n this._initGroupedStrategy();\r\n this._toggleGroupingDirectionClass();\r\n this._toggleGroupByDateClass()\r\n }\r\n isVerticalOrientation() {\r\n var _a;\r\n var orientation = (null === (_a = this.option(\"groups\")) || void 0 === _a ? void 0 : _a.length) ? this.option(\"groupOrientation\") : this._getDefaultGroupStrategy();\r\n return \"vertical\" === orientation\r\n }\r\n _initGroupedStrategy() {\r\n var Strategy = this.isVerticalOrientation() ? VerticalGroupedStrategy : HorizontalGroupedStrategy;\r\n this._groupedStrategy = new Strategy(this)\r\n }\r\n _getDefaultGroupStrategy() {\r\n return \"horizontal\"\r\n }\r\n _toggleHorizontalScrollClass() {\r\n this.$element().toggleClass(WORKSPACE_WITH_BOTH_SCROLLS_CLASS, this.option(\"crossScrollingEnabled\"))\r\n }\r\n _toggleGroupByDateClass() {\r\n this.$element().toggleClass(WORKSPACE_WITH_GROUP_BY_DATE_CLASS, this.isGroupedByDate())\r\n }\r\n _toggleWorkSpaceCountClass() {\r\n this.$element().toggleClass(WORKSPACE_WITH_COUNT_CLASS, this._isWorkSpaceWithCount())\r\n }\r\n _toggleWorkSpaceWithOddCells() {\r\n this.$element().toggleClass(WORKSPACE_WITH_ODD_CELLS_CLASS, this._isWorkspaceWithOddCells())\r\n }\r\n _toggleGroupingDirectionClass() {\r\n this.$element().toggleClass(VERTICAL_GROUPED_WORKSPACE_CLASS, this._isVerticalGroupedWorkSpace())\r\n }\r\n _getDateTableCellClass(rowIndex, columnIndex) {\r\n var cellClass = \"\".concat(DATE_TABLE_CELL_CLASS, \" \").concat(HORIZONTAL_SIZES_CLASS, \" \").concat(VERTICAL_SIZES_CLASS);\r\n return this._groupedStrategy.addAdditionalGroupCellClasses(cellClass, columnIndex + 1, rowIndex, columnIndex)\r\n }\r\n _getGroupHeaderClass(i) {\r\n var cellClass = GROUP_HEADER_CLASS;\r\n return this._groupedStrategy.addAdditionalGroupCellClasses(cellClass, i + 1)\r\n }\r\n _initWorkSpaceUnits() {\r\n this._$headerPanelContainer = $(\"<div>\").addClass(\"dx-scheduler-header-panel-container\");\r\n this._$headerTablesContainer = $(\"<div>\").addClass(\"dx-scheduler-header-tables-container\");\r\n this._$headerPanel = $(\"<table>\");\r\n this._$thead = $(\"<thead>\").appendTo(this._$headerPanel);\r\n this._$headerPanelEmptyCell = $(\"<div>\").addClass(\"dx-scheduler-header-panel-empty-cell\");\r\n this._$allDayTable = $(\"<table>\");\r\n this._$fixedContainer = $(\"<div>\").addClass(FIXED_CONTAINER_CLASS);\r\n this._$allDayContainer = $(\"<div>\").addClass(ALL_DAY_CONTAINER_CLASS);\r\n this._$dateTableScrollableContent = $(\"<div>\").addClass(\"dx-scheduler-date-table-scrollable-content\");\r\n this._$sidebarScrollableContent = $(\"<div>\").addClass(\"dx-scheduler-side-bar-scrollable-content\");\r\n this._initAllDayPanelElements();\r\n if (this.isRenovatedRender()) {\r\n this.createRAllDayPanelElements()\r\n } else {\r\n this._createAllDayPanelElements()\r\n }\r\n this._$timePanel = $(\"<table>\").addClass(TIME_PANEL_CLASS);\r\n this._$dateTable = $(\"<table>\");\r\n this._$dateTableContainer = $(\"<div>\").addClass(\"dx-scheduler-date-table-container\");\r\n this._$groupTable = $(\"<div>\").addClass(WORKSPACE_VERTICAL_GROUP_TABLE_CLASS)\r\n }\r\n _initAllDayPanelElements() {\r\n this._allDayTitles = [];\r\n this._allDayTables = [];\r\n this._allDayPanels = []\r\n }\r\n _initDateTableScrollable() {\r\n var $dateTableScrollable = $(\"<div>\").addClass(SCHEDULER_DATE_TABLE_SCROLLABLE_CLASS);\r\n this._dateTableScrollable = this._createComponent($dateTableScrollable, Scrollable, this._dateTableScrollableConfig());\r\n this._scrollSync.dateTable = getMemoizeScrollTo(() => this._dateTableScrollable)\r\n }\r\n _createWorkSpaceElements() {\r\n if (this.option(\"crossScrollingEnabled\")) {\r\n this._createWorkSpaceScrollableElements()\r\n } else {\r\n this._createWorkSpaceStaticElements()\r\n }\r\n }\r\n _createWorkSpaceStaticElements() {\r\n var _a;\r\n this._$dateTableContainer.append(this._$dateTable);\r\n if (this._isVerticalGroupedWorkSpace()) {\r\n this._$dateTableContainer.append(this._$allDayContainer);\r\n this._$dateTableScrollableContent.append(this._$groupTable, this._$timePanel, this._$dateTableContainer);\r\n this._dateTableScrollable.$content().append(this._$dateTableScrollableContent);\r\n this._$headerTablesContainer.append(this._$headerPanel)\r\n } else {\r\n this._$dateTableScrollableContent.append(this._$timePanel, this._$dateTableContainer);\r\n this._dateTableScrollable.$content().append(this._$dateTableScrollableContent);\r\n this._$headerTablesContainer.append(this._$headerPanel, this._$allDayPanel);\r\n null === (_a = this._$allDayPanel) || void 0 === _a ? void 0 : _a.append(this._$allDayContainer, this._$allDayTable)\r\n }\r\n this._appendHeaderPanelEmptyCellIfNecessary();\r\n this._$headerPanelContainer.append(this._$headerTablesContainer);\r\n this.$element().append(this._$fixedContainer, this._$headerPanelContainer, this._dateTableScrollable.$element())\r\n }\r\n _createWorkSpaceScrollableElements() {\r\n var _a;\r\n this.$element().append(this._$fixedContainer);\r\n this._$flexContainer = $(\"<div>\").addClass(\"dx-scheduler-work-space-flex-container\");\r\n this._createHeaderScrollable();\r\n this._headerScrollable.$content().append(this._$headerPanel);\r\n this._appendHeaderPanelEmptyCellIfNecessary();\r\n this._$headerPanelContainer.append(this._$headerTablesContainer);\r\n this.$element().append(this._$headerPanelContainer);\r\n this.$element().append(this._$flexContainer);\r\n this._createSidebarScrollable();\r\n this._$flexContainer.append(this._dateTableScrollable.$element());\r\n this._$dateTableContainer.append(this._$dateTable);\r\n this._$dateTableScrollableContent.append(this._$dateTableContainer);\r\n this._dateTableScrollable.$content().append(this._$dateTableScrollableContent);\r\n if (this._isVerticalGroupedWorkSpace()) {\r\n this._$dateTableContainer.append(this._$allDayContainer);\r\n this._$sidebarScrollableContent.append(this._$groupTable, this._$timePanel)\r\n } else {\r\n this._headerScrollable.$content().append(this._$allDayPanel);\r\n null === (_a = this._$allDayPanel) || void 0 === _a ? void 0 : _a.append(this._$allDayContainer, this._$allDayTable);\r\n this._$sidebarScrollableContent.append(this._$timePanel)\r\n }\r\n this._sidebarScrollable.$content().append(this._$sidebarScrollableContent)\r\n }\r\n _appendHeaderPanelEmptyCellIfNecessary() {\r\n this._isRenderHeaderPanelEmptyCell() && this._$headerPanelContainer.append(this._$headerPanelEmptyCell)\r\n }\r\n _createHeaderScrollable() {\r\n var $headerScrollable = $(\"<div>\").addClass(SCHEDULER_HEADER_SCROLLABLE_CLASS).appendTo(this._$headerTablesContainer);\r\n this._headerScrollable = this._createComponent($headerScrollable, Scrollable, this._headerScrollableConfig());\r\n this._scrollSync.header = getMemoizeScrollTo(() => this._headerScrollable)\r\n }\r\n _createSidebarScrollable() {\r\n var $timePanelScrollable = $(\"<div>\").addClass(SCHEDULER_SIDEBAR_SCROLLABLE_CLASS).appendTo(this._$flexContainer);\r\n this._sidebarScrollable = this._createComponent($timePanelScrollable, Scrollable, {\r\n useKeyboard: false,\r\n showScrollbar: \"never\",\r\n direction: \"vertical\",\r\n useNative: false,\r\n updateManually: true,\r\n bounceEnabled: false,\r\n onScroll: event => {\r\n this._scrollSync.dateTable({\r\n top: event.scrollOffset.top\r\n })\r\n }\r\n });\r\n this._scrollSync.sidebar = getMemoizeScrollTo(() => this._sidebarScrollable)\r\n }\r\n _attachTableClasses() {\r\n this._addTableClass(this._$dateTable, DATE_TABLE_CLASS);\r\n if (this._isVerticalGroupedWorkSpace()) {\r\n var groupCount = this._getGroupCount();\r\n for (var i = 0; i < groupCount; i++) {\r\n this._addTableClass(this._allDayTables[i], ALL_DAY_TABLE_CLASS)\r\n }\r\n } else if (!this.isRenovatedRender()) {\r\n this._addTableClass(this._$allDayTable, ALL_DAY_TABLE_CLASS)\r\n }\r\n }\r\n _attachHeaderTableClasses() {\r\n this._addTableClass(this._$headerPanel, HEADER_PANEL_CLASS)\r\n }\r\n _addTableClass($el, className) {\r\n $el && !$el.hasClass(className) && $el.addClass(className)\r\n }\r\n _initMarkup() {\r\n this.cache.clear();\r\n this._initWorkSpaceUnits();\r\n this._initVirtualScrolling();\r\n this._initDateTableScrollable();\r\n this._createWorkSpaceElements();\r\n super._initMarkup();\r\n if (!this.option(\"crossScrollingEnabled\")) {\r\n this._attachTableClasses();\r\n this._attachHeaderTableClasses()\r\n }\r\n this._toggleGroupedClass();\r\n this._renderView();\r\n this._attachEvents()\r\n }\r\n _render() {\r\n super._render();\r\n this._renderDateTimeIndication();\r\n this._setIndicationUpdateInterval()\r\n }\r\n _toggleGroupedClass() {\r\n this.$element().toggleClass(GROUPED_WORKSPACE_CLASS, this._getGroupCount() > 0)\r\n }\r\n _renderView() {\r\n if (this.isRenovatedRender()) {\r\n if (this._isVerticalGroupedWorkSpace()) {\r\n this.renderRGroupPanel()\r\n }\r\n } else {\r\n this._applyCellTemplates(this._renderGroupHeader())\r\n }\r\n this.renderWorkSpace();\r\n if (this.isRenovatedRender()) {\r\n this.virtualScrollingDispatcher.updateDimensions()\r\n }\r\n this._updateGroupTableHeight();\r\n this.updateHeaderEmptyCellWidth();\r\n this._shader = new VerticalShader(this)\r\n }\r\n updateCellsSelection() {\r\n var renderOptions = this.generateRenderOptions();\r\n this.viewDataProvider.updateViewData(renderOptions);\r\n this.renderRWorkSpace({\r\n timePanel: true,\r\n dateTable: true,\r\n allDayPanel: true\r\n })\r\n }\r\n _renderDateTimeIndication() {\r\n return noop()\r\n }\r\n renderCurrentDateTimeLineAndShader() {\r\n return noop()\r\n }\r\n renderCurrentDateTimeIndication() {\r\n return noop()\r\n }\r\n _setIndicationUpdateInterval() {\r\n return noop()\r\n }\r\n _detachGroupCountClass() {\r\n [...VERTICAL_GROUP_COUNT_CLASSES].forEach(className => {\r\n this.$element().removeClass(className)\r\n })\r\n }\r\n _attachGroupCountClass() {\r\n var className = this._groupedStrategy.getGroupCountClass(this.option(\"groups\"));\r\n this.$element().addClass(className)\r\n }\r\n _getDateHeaderTemplate() {\r\n return this.option(\"dateCellTemplate\")\r\n }\r\n _toggleAllDayVisibility(isUpdateScrollable) {\r\n var showAllDayPanel = this._isShowAllDayPanel();\r\n this.$element().toggleClass(WORKSPACE_WITH_ALL_DAY_CLASS, showAllDayPanel);\r\n this._changeAllDayVisibility();\r\n isUpdateScrollable && this._updateScrollable()\r\n }\r\n _changeAllDayVisibility() {\r\n this.cache.clear();\r\n this.$element().toggleClass(WORKSPACE_WITH_COLLAPSED_ALL_DAY_CLASS, !this.option(\"allDayExpanded\") && this._isShowAllDayPanel())\r\n }\r\n _getDateTables() {\r\n return this._$dateTable.add(this._$allDayTable)\r\n }\r\n _getDateTable() {\r\n return this._$dateTable\r\n }\r\n _removeAllDayElements() {\r\n this._$allDayTable && this._$allDayTable.remove();\r\n this._$allDayTitle && this._$allDayTitle.remove()\r\n }\r\n _cleanView() {\r\n var _a, _b, _c;\r\n this.cache.clear();\r\n this._cleanTableWidths();\r\n this.cellsSelectionState.clearSelectedAndFocusedCells();\r\n if (!this.isRenovatedRender()) {\r\n this._$thead.empty();\r\n this._$dateTable.empty();\r\n this._$timePanel.empty();\r\n this._$groupTable.empty();\r\n null === (_a = this._$allDayTable) || void 0 === _a ? void 0 : _a.empty();\r\n null === (_b = this._$sidebarTable) || void 0 === _b ? void 0 : _b.empty()\r\n }\r\n null === (_c = this._shader) || void 0 === _c ? void 0 : _c.clean();\r\n delete this._interval\r\n }\r\n _clean() {\r\n eventsEngine.off(domAdapter.getDocument(), SCHEDULER_CELL_DXPOINTERUP_EVENT_NAME);\r\n this._disposeRenovatedComponents();\r\n super._clean()\r\n }\r\n _cleanTableWidths() {\r\n this._$headerPanel.css(\"width\", \"\");\r\n this._$dateTable.css(\"width\", \"\");\r\n this._$allDayTable && this._$allDayTable.css(\"width\", \"\")\r\n }\r\n _disposeRenovatedComponents() {\r\n var _a, _b, _c, _d, _e;\r\n null === (_a = this.renovatedAllDayPanel) || void 0 === _a ? void 0 : _a.dispose();\r\n this.renovatedAllDayPanel = void 0;\r\n null === (_b = this.renovatedDateTable) || void 0 === _b ? void 0 : _b.dispose();\r\n this.renovatedDateTable = void 0;\r\n null === (_c = this.renovatedTimePanel) || void 0 === _c ? void 0 : _c.dispose();\r\n this.renovatedTimePanel = void 0;\r\n null === (_d = this.renovatedGroupPanel) || void 0 === _d ? void 0 : _d.dispose();\r\n this.renovatedGroupPanel = void 0;\r\n null === (_e = this.renovatedHeaderPanel) || void 0 === _e ? void 0 : _e.dispose();\r\n this.renovatedHeaderPanel = void 0\r\n }\r\n getGroupedStrategy() {\r\n return this._groupedStrategy\r\n }\r\n getFixedContainer() {\r\n return this._$fixedContainer\r\n }\r\n getAllDayContainer() {\r\n return this._$allDayContainer\r\n }\r\n updateRender() {\r\n this.renderer.updateRender()\r\n }\r\n updateGrid() {\r\n this.renderer._renderGrid()\r\n }\r\n updateAppointments() {\r\n var _a;\r\n this.option(\"onRenderAppointments\")();\r\n null === (_a = this.dragBehavior) || void 0 === _a ? void 0 : _a.updateDragSource()\r\n }\r\n _createAllDayPanelElements() {\r\n var groupCount = this._getGroupCount();\r\n if (this._isVerticalGroupedWorkSpace() && 0 !== groupCount) {\r\n for (var i = 0; i < groupCount; i++) {\r\n var $allDayTitle = $(\"<div>\").addClass(ALL_DAY_TITLE_CLASS).text(messageLocalization.format(\"dxScheduler-allDay\"));\r\n this._allDayTitles.push($allDayTitle);\r\n this._$allDayTable = $(\"<table>\");\r\n this._allDayTables.push(this._$allDayTable);\r\n this._$allDayPanel = $(\"<div>\").addClass(ALL_DAY_PANEL_CLASS).append(this._$allDayTable);\r\n this._allDayPanels.push(this._$allDayPanel)\r\n }\r\n } else {\r\n this._$allDayTitle = $(\"<div>\").addClass(ALL_DAY_TITLE_CLASS).text(messageLocalization.format(\"dxScheduler-allDay\")).appendTo(this.$element());\r\n this._$allDayTable = $(\"<table>\");\r\n this._$allDayPanel = $(\"<div>\").addClass(ALL_DAY_PANEL_CLASS).append(this._$allDayTable)\r\n }\r\n }\r\n renderWorkSpace() {\r\n var {\r\n generateNewData: generateNewData,\r\n renderComponents: renderComponents\r\n } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : DEFAULT_WORKSPACE_RENDER_OPTIONS;\r\n this.cache.clear();\r\n this.viewDataProvider.update(this.generateRenderOptions(), generateNewData);\r\n if (this.isRenovatedRender()) {\r\n this.renderRWorkSpace(renderComponents)\r\n } else {\r\n this._renderDateHeader();\r\n this._renderTimePanel();\r\n this._renderGroupAllDayPanel();\r\n this._renderDateTable();\r\n this._renderAllDayPanel()\r\n }\r\n this._initPositionHelper()\r\n }\r\n _renderGroupHeader() {\r\n var $container = this._getGroupHeaderContainer();\r\n var groupCount = this._getGroupCount();\r\n var cellTemplates = [];\r\n if (groupCount) {\r\n var groupRows = this._makeGroupRows(this.option(\"groups\"), this.option(\"groupByDate\"));\r\n this._attachGroupCountClass();\r\n $container.append(groupRows.elements);\r\n cellTemplates = groupRows.cellTemplates\r\n } else {\r\n this._detachGroupCountClass()\r\n }\r\n return cellTemplates\r\n }\r\n _applyCellTemplates(templates) {\r\n null === templates || void 0 === templates ? void 0 : templates.forEach(template => {\r\n template()\r\n })\r\n }\r\n _makeGroupRows(groups, groupByDate) {\r\n var tableCreatorStrategy = this._isVerticalGroupedWorkSpace() ? tableCreator.VERTICAL : tableCreator.HORIZONTAL;\r\n return tableCreator.makeGroupedTable(tableCreatorStrategy, groups, {\r\n groupHeaderRowClass: GROUP_ROW_CLASS,\r\n groupRowClass: GROUP_ROW_CLASS,\r\n groupHeaderClass: this._getGroupHeaderClass.bind(this),\r\n groupHeaderContentClass: GROUP_HEADER_CONTENT_CLASS\r\n }, this._getCellCount() || 1, this.option(\"resourceCellTemplate\"), this._getGroupCount(), groupByDate)\r\n }\r\n _renderDateHeader() {\r\n var container = this._getDateHeaderContainer();\r\n var $headerRow = $(\"<tr>\").addClass(HEADER_ROW_CLASS);\r\n var count = this._getCellCount();\r\n var cellTemplate = this._getDateHeaderTemplate();\r\n var repeatCount = this._getCalculateHeaderCellRepeatCount();\r\n var templateCallbacks = [];\r\n var groupByDate = this.isGroupedByDate();\r\n if (!groupByDate) {\r\n for (var rowIndex = 0; rowIndex < repeatCount; rowIndex++) {\r\n for (var columnIndex = 0; columnIndex < count; columnIndex++) {\r\n var templateIndex = rowIndex * count + columnIndex;\r\n this._renderDateHeaderTemplate($headerRow, columnIndex, templateIndex, cellTemplate, templateCallbacks)\r\n }\r\n }\r\n container.append($headerRow)\r\n } else {\r\n var colSpan = groupByDate ? this._getGroupCount() : 1;\r\n for (var _columnIndex = 0; _columnIndex < count; _columnIndex++) {\r\n var _templateIndex = _columnIndex * repeatCount;\r\n var cellElement = this._renderDateHeaderTemplate($headerRow, _columnIndex, _templateIndex, cellTemplate, templateCallbacks);\r\n cellElement.attr(\"colSpan\", colSpan)\r\n }\r\n container.prepend($headerRow)\r\n }\r\n this._applyCellTemplates(templateCallbacks);\r\n return $headerRow\r\n }\r\n _renderDateHeaderTemplate(container, panelCellIndex, templateIndex, cellTemplate, templateCallbacks) {\r\n var validTemplateIndex = this.isGroupedByDate() ? Math.floor(templateIndex / this._getGroupCount()) : templateIndex;\r\n var {\r\n completeDateHeaderMap: completeDateHeaderMap\r\n } = this.viewDataProvider;\r\n var {\r\n text: text,\r\n startDate: date\r\n } = completeDateHeaderMap[completeDateHeaderMap.length - 1][validTemplateIndex];\r\n var $cell = $(\"<th>\").addClass(this._getHeaderPanelCellClass(panelCellIndex)).attr(\"title\", text);\r\n if (null === cellTemplate || void 0 === cellTemplate ? void 0 : cellTemplate.render) {\r\n templateCallbacks.push(cellTemplate.render.bind(cellTemplate, {\r\n model: _extends({\r\n text: text,\r\n date: date\r\n }, this._getGroupsForDateHeaderTemplate(templateIndex)),\r\n index: templateIndex,\r\n container: getPublicElement($cell)\r\n }))\r\n } else {\r\n $cell.text(text)\r\n }\r\n container.append($cell);\r\n return $cell\r\n }\r\n _getGroupsForDateHeaderTemplate(templateIndex) {\r\n var indexMultiplier = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 1;\r\n var groupIndex;\r\n var groups;\r\n if (this._isHorizontalGroupedWorkSpace() && !this.isGroupedByDate()) {\r\n groupIndex = this._getGroupIndex(0, templateIndex * indexMultiplier);\r\n var groupsArray = getCellGroups(groupIndex, this.option(\"groups\"));\r\n groups = getGroupsObjectFromGroupsArray(groupsArray)\r\n }\r\n return {\r\n groups: groups,\r\n groupIndex: groupIndex\r\n }\r\n }\r\n _getHeaderPanelCellClass(i) {\r\n var cellClass = \"\".concat(HEADER_PANEL_CELL_CLASS, \" \").concat(HORIZONTAL_SIZES_CLASS);\r\n return this._groupedStrategy.addAdditionalGroupCellClasses(cellClass, i + 1, void 0, void 0, this.isGroupedByDate())\r\n }\r\n _renderAllDayPanel(index) {\r\n var cellCount = this._getCellCount();\r\n if (!this._isVerticalGroupedWorkSpace()) {\r\n cellCount *= this._getGroupCount() || 1\r\n }\r\n var cellTemplates = this._renderTableBody({\r\n container: this._allDayPanels.length ? getPublicElement(this._allDayTables[index]) : getPublicElement(this._$allDayTable),\r\n rowCount: 1,\r\n cellCount: cellCount,\r\n cellClass: this._getAllDayPanelCellClass.bind(this),\r\n rowClass: ALL_DAY_TABLE_ROW_CLASS,\r\n cellTemplate: this.option(\"dataCellTemplate\"),\r\n getCellData: this._oldRender_getAllDayCellData(index),\r\n groupIndex: index\r\n }, true);\r\n this._toggleAllDayVisibility(true);\r\n this._applyCellTemplates(cellTemplates)\r\n }\r\n _renderGroupAllDayPanel() {\r\n if (this._isVerticalGroupedWorkSpace()) {\r\n var groupCount = this._getGroupCount();\r\n for (var i = 0; i < groupCount; i++) {\r\n this._renderAllDayPanel(i)\r\n }\r\n }\r\n }\r\n _getAllDayPanelCellClass(i, j) {\r\n var cellClass = \"\".concat(ALL_DAY_TABLE_CELL_CLASS, \" \").concat(HORIZONTAL_SIZES_CLASS);\r\n return this._groupedStrategy.addAdditionalGroupCellClasses(cellClass, j + 1)\r\n }\r\n _renderTimePanel() {\r\n var repeatCount = this._groupedStrategy.calculateTimeCellRepeatCount();\r\n var getData = (rowIndex, field) => {\r\n var allDayPanelsCount = 0;\r\n if (this.isAllDayPanelVisible) {\r\n allDayPanelsCount = 1\r\n }\r\n if (this.isGroupedAllDayPanel()) {\r\n allDayPanelsCount = Math.ceil((rowIndex + 1) / this._getRowCount())\r\n }\r\n var validRowIndex = rowIndex + allDayPanelsCount;\r\n return this.viewDataProvider.completeTimePanelMap[validRowIndex][field]\r\n };\r\n this._renderTableBody({\r\n container: getPublicElement(this._$timePanel),\r\n rowCount: this._getTimePanelRowCount() * repeatCount,\r\n cellCount: 1,\r\n cellClass: this._getTimeCellClass.bind(this),\r\n rowClass: TIME_PANEL_ROW_CLASS,\r\n cellTemplate: this.option(\"timeCellTemplate\"),\r\n getCellText: rowIndex => getData(rowIndex, \"text\"),\r\n getCellDate: rowIndex => getData(rowIndex, \"startDate\"),\r\n groupCount: this._getGroupCount(),\r\n allDayElements: this._insertAllDayRowsIntoDateTable() ? this._allDayTitles : void 0,\r\n getTemplateData: (rowIndex => {\r\n if (!this._isVerticalGroupedWorkSpace()) {\r\n return {}\r\n }\r\n var groupIndex = this._getGroupIndex(rowIndex, 0);\r\n var groupsArray = getCellGroups(groupIndex, this.option(\"groups\"));\r\n var groups = getGroupsObjectFromGroupsArray(groupsArray);\r\n return {\r\n groupIndex: groupIndex,\r\n groups: groups\r\n }\r\n }).bind(this)\r\n })\r\n }\r\n _getTimeCellClass(i) {\r\n var cellClass = \"\".concat(TIME_PANEL_CELL_CLASS, \" \").concat(VERTICAL_SIZES_CLASS);\r\n return this._isVerticalGroupedWorkSpace() ? this._groupedStrategy.addAdditionalGroupCellClasses(cellClass, i, i) : cellClass\r\n }\r\n _renderDateTable() {\r\n var groupCount = this._getGroupCount();\r\n this._renderTableBody({\r\n container: getPublicElement(this._$dateTable),\r\n rowCount: this._getTotalRowCount(groupCount),\r\n cellCount: this._getTotalCellCount(groupCount),\r\n cellClass: this._getDateTableCellClass.bind(this),\r\n rowClass: DATE_TABLE_ROW_CLASS,\r\n cellTemplate: this.option(\"dataCellTemplate\"),\r\n getCellData: (_, rowIndex, columnIndex) => {\r\n var isGroupedAllDayPanel = this.isGroupedAllDayPanel();\r\n var validRowIndex = rowIndex;\r\n if (isGroupedAllDayPanel) {\r\n var rowCount = this._getRowCount();\r\n var allDayPanelsCount = Math.ceil(rowIndex / rowCount);\r\n validRowIndex += allDayPanelsCount\r\n }\r\n var {\r\n cellData: cellData\r\n } = this.viewDataProvider.viewDataMap.dateTableMap[validRowIndex][columnIndex];\r\n return {\r\n value: this._filterCellDataFields(cellData),\r\n fullValue: cellData,\r\n key: CELL_DATA\r\n }\r\n },\r\n allDayElements: this._insertAllDayRowsIntoDateTable() ? this._allDayPanels : void 0,\r\n groupCount: groupCount,\r\n groupByDate: this.option(\"groupByDate\")\r\n })\r\n }\r\n _insertAllDayRowsIntoDateTable() {\r\n return this._groupedStrategy.insertAllDayRowsIntoDateTable()\r\n }\r\n _renderTableBody(options, delayCellTemplateRendering) {\r\n var result = [];\r\n if (!delayCellTemplateRendering) {\r\n this._applyCellTemplates(tableCreator.makeTable(options))\r\n } else {\r\n result = tableCreator.makeTable(options)\r\n }\r\n return result\r\n }\r\n}\r\nvar createDragBehaviorConfig = (container, rootElement, isDefaultDraggingMode, dragBehavior, enableDefaultDragging, disableDefaultDragging, getDroppableCell, getDateTables, removeDroppableCellClass, getCellWidth, options) => {\r\n var state = {\r\n dragElement: void 0,\r\n itemData: void 0\r\n };\r\n var isItemDisabled = () => {\r\n var {\r\n itemData: itemData\r\n } = state;\r\n if (itemData) {\r\n var getter = compileGetter(\"disabled\");\r\n return getter(itemData)\r\n }\r\n return true\r\n };\r\n var cursorOffset = options.isSetCursorOffset ? () => {\r\n var $dragElement = $(state.dragElement);\r\n return {\r\n x: getWidth($dragElement) / 2,\r\n y: getHeight($dragElement) / 2\r\n }\r\n } : void 0;\r\n return {\r\n container: container,\r\n dragTemplate: () => state.dragElement,\r\n onDragStart: e => {\r\n if (!isDefaultDraggingMode) {\r\n disableDefaultDragging()\r\n }\r\n var canceled = e.cancel;\r\n var {\r\n event: event\r\n } = e;\r\n var $itemElement = $(e.itemElement);\r\n var appointments = e.component._appointments;\r\n state.itemData = options.getItemData(e.itemElement, appointments);\r\n var settings = options.getItemSettings($itemElement, e);\r\n var {\r\n initialPosition: initialPosition\r\n } = options;\r\n if (!isItemDisabled()) {\r\n event.data = event.data || {};\r\n if (!canceled) {\r\n if (!settings.isCompact) {\r\n dragBehavior.updateDragSource(state.itemData, settings)\r\n }\r\n state.dragElement = ((itemData, settings, appointments) => {\r\n var appointmentIndex = appointments.option(\"items\").length;\r\n settings.isCompact = false;\r\n settings.virtual = false;\r\n var items = appointments._renderItem(appointmentIndex, {\r\n itemData: itemData,\r\n settings: [settings]\r\n });\r\n return items[0]\r\n })(state.itemData, settings, appointments);\r\n event.data.itemElement = state.dragElement;\r\n event.data.initialPosition = null !== initialPosition && void 0 !== initialPosition ? initialPosition : locate($(state.dragElement));\r\n event.data.itemData = state.itemData;\r\n event.data.itemSettings = settings;\r\n dragBehavior.onDragStart(event.data);\r\n resetPosition($(state.dragElement))\r\n }\r\n }\r\n },\r\n onDragMove: () => {\r\n if (isDefaultDraggingMode) {\r\n return\r\n }\r\n var elements = (() => {\r\n var appointmentWidth = getWidth(state.dragElement);\r\n var cellWidth = getCellWidth();\r\n var isWideAppointment = appointmentWidth > cellWidth;\r\n var isNarrowAppointment = appointmentWidth <= DRAGGING_MOUSE_FAULT;\r\n var dragElementContainer = $(state.dragElement).parent();\r\n var boundingRect = getBoundingRect(dragElementContainer.get(0));\r\n var newX = boundingRect.left;\r\n var newY = boundingRect.top;\r\n if (isWideAppointment) {\r\n return domAdapter.elementsFromPoint(newX + DRAGGING_MOUSE_FAULT, newY + DRAGGING_MOUSE_FAULT)\r\n }\r\n if (isNarrowAppointment) {\r\n return domAdapter.elementsFromPoint(newX, newY)\r\n }\r\n return domAdapter.elementsFromPoint(newX + appointmentWidth / 2, newY + DRAGGING_MOUSE_FAULT)\r\n })();\r\n var isMoveUnderControl = !!elements.find(el => el === rootElement.get(0));\r\n var dateTables = getDateTables();\r\n var droppableCell = elements.find(el => {\r\n var {\r\n classList: classList\r\n } = el;\r\n var isCurrentSchedulerElement = 1 === dateTables.find(el).length;\r\n return isCurrentSchedulerElement && (classList.contains(DATE_TABLE_CELL_CLASS) || classList.contains(ALL_DAY_TABLE_CELL_CLASS))\r\n });\r\n if (droppableCell) {\r\n if (!getDroppableCell().is(droppableCell)) {\r\n removeDroppableCellClass()\r\n }\r\n $(droppableCell).addClass(DATE_TABLE_DROPPABLE_CELL_CLASS)\r\n } else if (!isMoveUnderControl) {\r\n removeDroppableCellClass()\r\n }\r\n },\r\n onDragEnd: e => {\r\n var _a;\r\n if (!isDefaultDraggingMode) {\r\n enableDefaultDragging()\r\n }\r\n if (!isItemDisabled()) {\r\n dragBehavior.onDragEnd(e)\r\n }\r\n null === (_a = state.dragElement) || void 0 === _a ? void 0 : _a.remove();\r\n removeDroppableCellClass()\r\n },\r\n cursorOffset: cursorOffset,\r\n filter: options.filter\r\n }\r\n};\r\nexport default SchedulerWorkSpace;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/workspaces/m_agenda.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../../core/component_registrator\";\r\nimport domAdapter from \"../../../core/dom_adapter\";\r\nimport {\r\n getPublicElement\r\n} from \"../../../core/element\";\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../../../core/utils/common\";\r\nimport dateUtils from \"../../../core/utils/date\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n setHeight,\r\n setOuterHeight\r\n} from \"../../../core/utils/size\";\r\nimport dateLocalization from \"../../../localization/date\";\r\nimport {\r\n calculateStartViewDate\r\n} from \"../../../renovation/ui/scheduler/view_model/to_test/views/utils/agenda\";\r\nimport {\r\n formatWeekday,\r\n getVerticalGroupCountClass\r\n} from \"../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\";\r\nimport {\r\n DATE_TABLE_CLASS,\r\n DATE_TABLE_ROW_CLASS,\r\n GROUP_HEADER_CONTENT_CLASS,\r\n GROUP_ROW_CLASS,\r\n TIME_PANEL_CLASS\r\n} from \"../m_classes\";\r\nimport {\r\n VIEWS\r\n} from \"../m_constants\";\r\nimport tableCreatorModule from \"../m_table_creator\";\r\nimport {\r\n createReducedResourcesTree,\r\n getDataAccessors,\r\n getPathToLeaf\r\n} from \"../resources/m_utils\";\r\nimport WorkSpace from \"./m_work_space\";\r\nvar {\r\n tableCreator: tableCreator\r\n} = tableCreatorModule;\r\nvar AGENDA_CLASS = \"dx-scheduler-agenda\";\r\nvar AGENDA_DATE_CLASS = \"dx-scheduler-agenda-date\";\r\nvar GROUP_TABLE_CLASS = \"dx-scheduler-group-table\";\r\nvar TIME_PANEL_ROW_CLASS = \"dx-scheduler-time-panel-row\";\r\nvar TIME_PANEL_CELL_CLASS = \"dx-scheduler-time-panel-cell\";\r\nvar NODATA_CONTAINER_CLASS = \"dx-scheduler-agenda-nodata\";\r\nvar LAST_ROW_CLASS = \"dx-scheduler-date-table-last-row\";\r\nvar INNER_CELL_MARGIN = 5;\r\nvar OUTER_CELL_MARGIN = 20;\r\nclass SchedulerAgenda extends WorkSpace {\r\n get type() {\r\n return VIEWS.AGENDA\r\n }\r\n get renderingStrategy() {\r\n return this.invoke(\"getLayoutManager\").getRenderingStrategyInstance()\r\n }\r\n get appointmentDataProvider() {\r\n return this.option(\"getAppointmentDataProvider\")()\r\n }\r\n getStartViewDate() {\r\n return this._startViewDate\r\n }\r\n _init() {\r\n super._init();\r\n this._activeStateUnit = void 0\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n agendaDuration: 7,\r\n rowHeight: 60,\r\n noDataText: \"\"\r\n })\r\n }\r\n _optionChanged(args) {\r\n var {\r\n name: name\r\n } = args;\r\n var {\r\n value: value\r\n } = args;\r\n switch (name) {\r\n case \"agendaDuration\":\r\n break;\r\n case \"noDataText\":\r\n case \"rowHeight\":\r\n this._recalculateAgenda(this._rows);\r\n break;\r\n case \"groups\":\r\n if (!value || !value.length) {\r\n if (this._$groupTable) {\r\n this._$groupTable.remove();\r\n this._$groupTable = null;\r\n this._detachGroupCountClass()\r\n }\r\n } else if (!this._$groupTable) {\r\n this._initGroupTable();\r\n this._dateTableScrollable.$content().prepend(this._$groupTable)\r\n }\r\n super._optionChanged(args);\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _renderFocusState() {\r\n return noop()\r\n }\r\n _renderFocusTarget() {\r\n return noop()\r\n }\r\n _cleanFocusState() {\r\n return noop()\r\n }\r\n supportAllDayRow() {\r\n return false\r\n }\r\n _isVerticalGroupedWorkSpace() {\r\n return false\r\n }\r\n _getElementClass() {\r\n return AGENDA_CLASS\r\n }\r\n _calculateStartViewDate() {\r\n return calculateStartViewDate(this.option(\"currentDate\"), this.option(\"startDayHour\"))\r\n }\r\n _getRowCount() {\r\n return this.option(\"agendaDuration\")\r\n }\r\n _getCellCount() {\r\n return 1\r\n }\r\n _getTimePanelRowCount() {\r\n return this.option(\"agendaDuration\")\r\n }\r\n _renderAllDayPanel() {\r\n return noop()\r\n }\r\n _toggleAllDayVisibility() {\r\n return noop()\r\n }\r\n _initWorkSpaceUnits() {\r\n this._initGroupTable();\r\n this._$timePanel = $(\"<table>\").addClass(TIME_PANEL_CLASS);\r\n this._$dateTable = $(\"<table>\").addClass(DATE_TABLE_CLASS);\r\n this._$dateTableScrollableContent = $(\"<div>\").addClass(\"dx-scheduler-date-table-scrollable-content\");\r\n this._$dateTableContainer = $(\"<div>\").addClass(\"dx-scheduler-date-table-container\")\r\n }\r\n _initGroupTable() {\r\n var groups = this.option(\"groups\");\r\n if (groups && groups.length) {\r\n this._$groupTable = $(\"<table>\").addClass(GROUP_TABLE_CLASS)\r\n }\r\n }\r\n _renderView() {\r\n this._startViewDate = this._calculateStartViewDate();\r\n this._rows = [];\r\n this._initPositionHelper()\r\n }\r\n _recalculateAgenda(rows) {\r\n var cellTemplates = [];\r\n this._cleanView();\r\n if (this._rowsIsEmpty(rows)) {\r\n this._renderNoData();\r\n return\r\n }\r\n this._rows = rows;\r\n if (this._$groupTable) {\r\n cellTemplates = this._renderGroupHeader();\r\n this._setGroupHeaderCellsHeight()\r\n }\r\n this._renderTimePanel();\r\n this._renderDateTable();\r\n this.invoke(\"onAgendaReady\", rows);\r\n this._applyCellTemplates(cellTemplates);\r\n this._dateTableScrollable.update()\r\n }\r\n _renderNoData() {\r\n this._$noDataContainer = $(\"<div>\").addClass(NODATA_CONTAINER_CLASS).html(this.option(\"noDataText\"));\r\n this._dateTableScrollable.$content().append(this._$noDataContainer)\r\n }\r\n _setTableSizes() {\r\n return noop()\r\n }\r\n _toggleHorizontalScrollClass() {\r\n return noop()\r\n }\r\n _createCrossScrollingConfig(argument) {\r\n return noop()\r\n }\r\n _setGroupHeaderCellsHeight() {\r\n var $cells = this._getGroupHeaderCells().filter((_, element) => !element.getAttribute(\"rowSpan\"));\r\n var rows = this._removeEmptyRows(this._rows);\r\n if (!rows.length) {\r\n return\r\n }\r\n for (var i = 0; i < $cells.length; i++) {\r\n var $cellContent = $cells.eq(i).find(\".dx-scheduler-group-header-content\");\r\n setOuterHeight($cellContent, this._getGroupRowHeight(rows[i]))\r\n }\r\n }\r\n _rowsIsEmpty(rows) {\r\n var result = true;\r\n for (var i = 0; i < rows.length; i++) {\r\n var groupRow = rows[i];\r\n for (var j = 0; j < groupRow.length; j++) {\r\n if (groupRow[j]) {\r\n result = false;\r\n break\r\n }\r\n }\r\n }\r\n return result\r\n }\r\n _attachGroupCountClass() {\r\n var className = getVerticalGroupCountClass(this.option(\"groups\"));\r\n this.$element().addClass(className)\r\n }\r\n _removeEmptyRows(rows) {\r\n var result = [];\r\n for (var i = 0; i < rows.length; i++) {\r\n if (rows[i].length && !(data = rows[i], !data.some(value => value > 0))) {\r\n result.push(rows[i])\r\n }\r\n }\r\n var data;\r\n return result\r\n }\r\n _getGroupHeaderContainer() {\r\n return this._$groupTable\r\n }\r\n _makeGroupRows() {\r\n var tree = createReducedResourcesTree(this.option(\"loadedResources\"), (field, action) => getDataAccessors(this.option(\"getResourceDataAccessors\")(), field, action), this.option(\"getFilteredItems\")());\r\n var cellTemplate = this.option(\"resourceCellTemplate\");\r\n var getGroupHeaderContentClass = GROUP_HEADER_CONTENT_CLASS;\r\n var cellTemplates = [];\r\n var table = tableCreator.makeGroupedTableFromJSON(tableCreator.VERTICAL, tree, {\r\n cellTag: \"th\",\r\n groupTableClass: GROUP_TABLE_CLASS,\r\n groupRowClass: GROUP_ROW_CLASS,\r\n groupCellClass: this._getGroupHeaderClass(),\r\n groupCellCustomContent(cell, cellTextElement, index, data) {\r\n var container = domAdapter.createElement(\"div\");\r\n container.className = getGroupHeaderContentClass;\r\n if (cellTemplate && cellTemplate.render) {\r\n cellTemplates.push(cellTemplate.render.bind(cellTemplate, {\r\n model: {\r\n data: data.data,\r\n id: data.value,\r\n color: data.color,\r\n text: cellTextElement.textContent\r\n },\r\n container: getPublicElement($(container)),\r\n index: index\r\n }))\r\n } else {\r\n var contentWrapper = domAdapter.createElement(\"div\");\r\n contentWrapper.appendChild(cellTextElement);\r\n container.appendChild(contentWrapper)\r\n }\r\n cell.appendChild(container)\r\n },\r\n cellTemplate: cellTemplate\r\n });\r\n return {\r\n elements: $(table).find(\".\".concat(GROUP_ROW_CLASS)),\r\n cellTemplates: cellTemplates\r\n }\r\n }\r\n _cleanView() {\r\n this._$dateTable.empty();\r\n this._$timePanel.empty();\r\n if (this._$groupTable) {\r\n this._$groupTable.empty()\r\n }\r\n if (this._$noDataContainer) {\r\n this._$noDataContainer.empty();\r\n this._$noDataContainer.remove();\r\n delete this._$noDataContainer\r\n }\r\n }\r\n _createWorkSpaceElements() {\r\n this._createWorkSpaceStaticElements()\r\n }\r\n _createWorkSpaceStaticElements() {\r\n this._$dateTableContainer.append(this._$dateTable);\r\n this._dateTableScrollable.$content().append(this._$dateTableScrollableContent);\r\n if (this._$groupTable) {\r\n this._$dateTableScrollableContent.prepend(this._$groupTable)\r\n }\r\n this._$dateTableScrollableContent.append(this._$timePanel, this._$dateTableContainer);\r\n this.$element().append(this._dateTableScrollable.$element())\r\n }\r\n _renderDateTable() {\r\n this._renderTableBody({\r\n container: getPublicElement(this._$dateTable),\r\n rowClass: DATE_TABLE_ROW_CLASS,\r\n cellClass: this._getDateTableCellClass()\r\n })\r\n }\r\n _attachTablesEvents() {\r\n return noop()\r\n }\r\n _attachEvents() {\r\n return noop()\r\n }\r\n _cleanCellDataCache() {\r\n return noop()\r\n }\r\n isIndicationAvailable() {\r\n return false\r\n }\r\n _prepareCellTemplateOptions(text, date, rowIndex, $cell) {\r\n var groupsOpt = this.option(\"groups\");\r\n var groups = {};\r\n var isGroupedView = !!groupsOpt.length;\r\n var path = isGroupedView && getPathToLeaf(rowIndex, groupsOpt) || [];\r\n path.forEach((resourceValue, resourceIndex) => {\r\n var resourceName = groupsOpt[resourceIndex].name;\r\n groups[resourceName] = resourceValue\r\n });\r\n var groupIndex = isGroupedView ? this._getGroupIndexByResourceId(groups) : void 0;\r\n return {\r\n model: {\r\n text: text,\r\n date: date,\r\n groups: groups,\r\n groupIndex: groupIndex\r\n },\r\n container: getPublicElement($cell),\r\n index: rowIndex\r\n }\r\n }\r\n _renderTableBody(options, delayCellTemplateRendering) {\r\n var cellTemplates = [];\r\n var cellTemplateOpt = options.cellTemplate;\r\n this._$rows = [];\r\n var i;\r\n var fillTableBody = function(rowIndex, rowSize) {\r\n if (rowSize) {\r\n var date;\r\n var cellDateNumber;\r\n var cellDayName;\r\n var $row = $(\"<tr>\");\r\n var $td = $(\"<td>\");\r\n setHeight($td, this._getRowHeight(rowSize));\r\n if (options.getStartDate) {\r\n date = options.getStartDate && options.getStartDate(rowIndex);\r\n cellDateNumber = dateLocalization.format(date, \"d\");\r\n cellDayName = dateLocalization.format(date, formatWeekday)\r\n }\r\n if (cellTemplateOpt && cellTemplateOpt.render) {\r\n var templateOptions = this._prepareCellTemplateOptions(\"\".concat(cellDateNumber, \" \").concat(cellDayName), date, i, $td);\r\n cellTemplates.push(cellTemplateOpt.render.bind(cellTemplateOpt, templateOptions))\r\n } else if (cellDateNumber && cellDayName) {\r\n $td.addClass(AGENDA_DATE_CLASS).text(\"\".concat(cellDateNumber, \" \").concat(cellDayName))\r\n }\r\n if (options.rowClass) {\r\n $row.addClass(options.rowClass)\r\n }\r\n if (options.cellClass) {\r\n $td.addClass(options.cellClass)\r\n }\r\n $row.append($td);\r\n this._$rows.push($row)\r\n }\r\n }.bind(this);\r\n for (i = 0; i < this._rows.length; i++) {\r\n each(this._rows[i], fillTableBody);\r\n this._setLastRowClass()\r\n }\r\n $(options.container).append($(\"<tbody>\").append(this._$rows));\r\n this._applyCellTemplates(cellTemplates)\r\n }\r\n _setLastRowClass() {\r\n if (this._rows.length > 1 && this._$rows.length) {\r\n var $lastRow = this._$rows[this._$rows.length - 1];\r\n $lastRow.addClass(LAST_ROW_CLASS)\r\n }\r\n }\r\n _renderTimePanel() {\r\n this._renderTableBody({\r\n container: getPublicElement(this._$timePanel),\r\n rowCount: this._getTimePanelRowCount(),\r\n cellCount: 1,\r\n rowClass: TIME_PANEL_ROW_CLASS,\r\n cellClass: TIME_PANEL_CELL_CLASS,\r\n cellTemplate: this.option(\"dateCellTemplate\"),\r\n getStartDate: this._getTimePanelStartDate.bind(this)\r\n })\r\n }\r\n _getTimePanelStartDate(rowIndex) {\r\n var current = new Date(this.option(\"currentDate\"));\r\n var cellDate = new Date(current.setDate(current.getDate() + rowIndex));\r\n return cellDate\r\n }\r\n _getRowHeight(rowSize) {\r\n var baseHeight = this.option(\"rowHeight\");\r\n var innerOffset = (rowSize - 1) * INNER_CELL_MARGIN;\r\n return rowSize ? baseHeight * rowSize + innerOffset + OUTER_CELL_MARGIN : 0\r\n }\r\n _getGroupRowHeight(groupRows) {\r\n if (!groupRows) {\r\n return\r\n }\r\n var result = 0;\r\n for (var i = 0; i < groupRows.length; i++) {\r\n result += this._getRowHeight(groupRows[i])\r\n }\r\n return result\r\n }\r\n _calculateRows(appointments) {\r\n return this.renderingStrategy.calculateRows(appointments, this.option(\"agendaDuration\"), this.option(\"currentDate\"))\r\n }\r\n onDataSourceChanged(appointments) {\r\n super.onDataSourceChanged();\r\n this._renderView();\r\n var rows = this._calculateRows(appointments);\r\n this._recalculateAgenda(rows)\r\n }\r\n getAgendaVerticalStepHeight() {\r\n return this.option(\"rowHeight\")\r\n }\r\n getEndViewDate() {\r\n var currentDate = new Date(this.option(\"currentDate\"));\r\n var agendaDuration = this.option(\"agendaDuration\");\r\n currentDate.setHours(this.option(\"endDayHour\"));\r\n var result = currentDate.setDate(currentDate.getDate() + agendaDuration - 1) - 6e4;\r\n return new Date(result)\r\n }\r\n getEndViewDateByEndDayHour() {\r\n return this.getEndViewDate()\r\n }\r\n getCellDataByCoordinates() {\r\n return {\r\n startDate: null,\r\n endDate: null\r\n }\r\n }\r\n updateScrollPosition(date) {\r\n var newDate = this.timeZoneCalculator.createDate(date, {\r\n path: \"toGrid\"\r\n });\r\n var bounds = this.getVisibleBounds();\r\n var startDateHour = newDate.getHours();\r\n var startDateMinutes = newDate.getMinutes();\r\n if (this.needUpdateScrollPosition(startDateHour, startDateMinutes, bounds, newDate)) {\r\n this.scrollToTime(startDateHour, startDateMinutes, newDate)\r\n }\r\n }\r\n needUpdateScrollPosition(hours, minutes, bounds, newData) {\r\n var isUpdateNeeded = false;\r\n if (hours < bounds.top.hours || hours > bounds.bottom.hours) {\r\n isUpdateNeeded = true\r\n }\r\n if (hours === bounds.top.hours && minutes < bounds.top.minutes) {\r\n isUpdateNeeded = true\r\n }\r\n if (hours === bounds.bottom.hours && minutes > bounds.top.minutes) {\r\n isUpdateNeeded = true\r\n }\r\n return isUpdateNeeded\r\n }\r\n renovatedRenderSupported() {\r\n return false\r\n }\r\n _setSelectedCellsByCellData() {}\r\n _getIntervalDuration() {\r\n return dateUtils.dateToMilliseconds(\"day\") * this.option(\"intervalCount\")\r\n }\r\n getDOMElementsMetaData() {\r\n return {\r\n dateTableCellsMeta: [\r\n [{}]\r\n ],\r\n allDayPanelCellsMeta: [{}]\r\n }\r\n }\r\n}\r\nregisterComponent(\"dxSchedulerAgenda\", SchedulerAgenda);\r\nexport default SchedulerAgenda;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/view_model/to_test/views/utils/timeline_week.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport timeZoneUtils from \"../../../../../../../__internal/scheduler/m_utils_time_zone\";\r\nimport {\r\n getStartViewDateWithoutDST\r\n} from \"./base\";\r\nexport var getDateForHeaderText = (index, date, options) => {\r\n if (!timeZoneUtils.isTimezoneChangeInDate(date)) {\r\n return date\r\n }\r\n var {\r\n cellCountInDay: cellCountInDay,\r\n interval: interval,\r\n startDayHour: startDayHour,\r\n startViewDate: startViewDate\r\n } = options;\r\n var result = getStartViewDateWithoutDST(startViewDate, startDayHour);\r\n var validIndex = index % cellCountInDay;\r\n result.setTime(result.getTime() + validIndex * interval);\r\n return result\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/timeline/header_panel/date_header/layout.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"dateCellTemplate\", \"dateHeaderData\", \"groupByDate\", \"groupOrientation\", \"groups\", \"timeCellTemplate\"];\r\nimport {\r\n createFragment,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n Fragment\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n Row\r\n} from \"../../../base/row\";\r\nimport {\r\n isHorizontalGroupingApplied\r\n} from \"../../../utils\";\r\nimport {\r\n DateHeaderCell\r\n} from \"../../../base/header_panel/date_header/cell\";\r\nimport {\r\n DateHeaderLayoutProps\r\n} from \"../../../base/header_panel/date_header/layout\";\r\nimport getThemeType from \"../../../../../../utils/getThemeType\";\r\nvar {\r\n isMaterial: isMaterial\r\n} = getThemeType();\r\nexport var viewFunction = _ref => {\r\n var {\r\n isHorizontalGrouping: isHorizontalGrouping,\r\n props: {\r\n dateCellTemplate: dateCellTemplate,\r\n dateHeaderData: dateHeaderData,\r\n timeCellTemplate: timeCellTemplate\r\n }\r\n } = _ref;\r\n var {\r\n dataMap: dataMap,\r\n isMonthDateHeader: isMonthDateHeader,\r\n leftVirtualCellCount: leftVirtualCellCount,\r\n leftVirtualCellWidth: leftVirtualCellWidth,\r\n rightVirtualCellCount: rightVirtualCellCount,\r\n rightVirtualCellWidth: rightVirtualCellWidth,\r\n weekDayLeftVirtualCellCount: weekDayLeftVirtualCellCount,\r\n weekDayLeftVirtualCellWidth: weekDayLeftVirtualCellWidth,\r\n weekDayRightVirtualCellCount: weekDayRightVirtualCellCount,\r\n weekDayRightVirtualCellWidth: weekDayRightVirtualCellWidth\r\n } = dateHeaderData;\r\n return createFragment(dataMap.map((dateHeaderRow, rowIndex) => {\r\n var rowsCount = dataMap.length;\r\n var isTimeCellTemplate = rowsCount - 1 === rowIndex;\r\n var isWeekDayRow = rowsCount > 1 && 0 === rowIndex;\r\n var splitText = isMaterial && (isMonthDateHeader || isWeekDayRow);\r\n var validLeftVirtualCellCount = leftVirtualCellCount;\r\n var validRightVirtualCellCount = rightVirtualCellCount;\r\n var validRightVirtualCellWidth = rightVirtualCellWidth;\r\n var validLeftVirtualCellWidth = leftVirtualCellWidth;\r\n if (isWeekDayRow) {\r\n validLeftVirtualCellCount = weekDayLeftVirtualCellCount;\r\n validRightVirtualCellCount = weekDayRightVirtualCellCount;\r\n validRightVirtualCellWidth = weekDayRightVirtualCellWidth;\r\n validLeftVirtualCellWidth = weekDayLeftVirtualCellWidth\r\n }\r\n return createComponentVNode(2, Row, {\r\n className: \"dx-scheduler-header-row\",\r\n leftVirtualCellWidth: validLeftVirtualCellWidth,\r\n leftVirtualCellCount: validLeftVirtualCellCount,\r\n rightVirtualCellWidth: validRightVirtualCellWidth,\r\n rightVirtualCellCount: validRightVirtualCellCount,\r\n children: dateHeaderRow.map(_ref2 => {\r\n var {\r\n colSpan: colSpan,\r\n endDate: endDate,\r\n groupIndex: groupIndex,\r\n groups: cellGroups,\r\n index: index,\r\n isFirstGroupCell: isFirstGroupCell,\r\n isLastGroupCell: isLastGroupCell,\r\n key: key,\r\n startDate: startDate,\r\n text: text,\r\n today: today\r\n } = _ref2;\r\n return createComponentVNode(2, DateHeaderCell, {\r\n startDate: startDate,\r\n endDate: endDate,\r\n groups: isHorizontalGrouping ? cellGroups : void 0,\r\n groupIndex: isHorizontalGrouping ? groupIndex : void 0,\r\n today: today,\r\n index: index,\r\n text: text,\r\n isFirstGroupCell: isFirstGroupCell,\r\n isLastGroupCell: isLastGroupCell,\r\n isWeekDayCell: isWeekDayRow,\r\n colSpan: colSpan,\r\n splitText: splitText,\r\n dateCellTemplate: dateCellTemplate,\r\n timeCellTemplate: timeCellTemplate,\r\n isTimeCellTemplate: isTimeCellTemplate\r\n }, key)\r\n })\r\n }, rowIndex.toString())\r\n }), 0)\r\n};\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class TimelineDateHeaderLayout extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get isHorizontalGrouping() {\r\n var {\r\n groupByDate: groupByDate,\r\n groupOrientation: groupOrientation,\r\n groups: groups\r\n } = this.props;\r\n return isHorizontalGroupingApplied(groups, groupOrientation) && !groupByDate\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n dateCellTemplate: getTemplate(props.dateCellTemplate),\r\n timeCellTemplate: getTemplate(props.timeCellTemplate)\r\n }),\r\n isHorizontalGrouping: this.isHorizontalGrouping,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nTimelineDateHeaderLayout.defaultProps = DateHeaderLayoutProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/timeline/header_panel/layout.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"className\", \"dateCellTemplate\", \"dateHeaderData\", \"dateHeaderTemplate\", \"elementRef\", \"groupByDate\", \"groupOrientation\", \"groupPanelData\", \"groups\", \"height\", \"isRenderDateHeader\", \"resourceCellTemplate\", \"timeCellTemplate\"];\r\nimport {\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n InfernoWrapperComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n HeaderPanelLayout,\r\n HeaderPanelLayoutProps\r\n} from \"../../base/header_panel/layout\";\r\nimport {\r\n TimelineDateHeaderLayout\r\n} from \"./date_header/layout\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n props: {\r\n dateCellTemplate: dateCellTemplate,\r\n dateHeaderData: dateHeaderData,\r\n groupByDate: groupByDate,\r\n groupOrientation: groupOrientation,\r\n groupPanelData: groupPanelData,\r\n groups: groups,\r\n isRenderDateHeader: isRenderDateHeader,\r\n resourceCellTemplate: resourceCellTemplate,\r\n timeCellTemplate: timeCellTemplate\r\n }\r\n } = _ref;\r\n return createComponentVNode(2, HeaderPanelLayout, {\r\n dateHeaderTemplate: TimelineDateHeaderLayout,\r\n dateHeaderData: dateHeaderData,\r\n groupPanelData: groupPanelData,\r\n groupByDate: groupByDate,\r\n groups: groups,\r\n groupOrientation: groupOrientation,\r\n isRenderDateHeader: isRenderDateHeader,\r\n resourceCellTemplate: resourceCellTemplate,\r\n dateCellTemplate: dateCellTemplate,\r\n timeCellTemplate: timeCellTemplate\r\n })\r\n};\r\nimport {\r\n createReRenderEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class TimelineHeaderPanelLayout extends InfernoWrapperComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n createEffects() {\r\n return [createReRenderEffect()]\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n dateCellTemplate: getTemplate(props.dateCellTemplate),\r\n timeCellTemplate: getTemplate(props.timeCellTemplate),\r\n dateHeaderTemplate: getTemplate(props.dateHeaderTemplate),\r\n resourceCellTemplate: getTemplate(props.resourceCellTemplate)\r\n }),\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nTimelineHeaderPanelLayout.defaultProps = HeaderPanelLayoutProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/timeline/header_panel/layout.j.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../../../../../core/component_registrator\";\r\nimport {\r\n HeaderPanel\r\n} from \"../../../../../component_wrapper/scheduler/header_panel\";\r\nimport {\r\n TimelineHeaderPanelLayout as TimelineHeaderPanelLayoutComponent\r\n} from \"./layout\";\r\nexport default class TimelineHeaderPanelLayout extends HeaderPanel {\r\n get _propsInfo() {\r\n return {\r\n twoWay: [],\r\n allowNull: [],\r\n elements: [],\r\n templates: [\"dateCellTemplate\", \"timeCellTemplate\", \"dateHeaderTemplate\", \"resourceCellTemplate\"],\r\n props: [\"dateHeaderData\", \"isRenderDateHeader\", \"dateCellTemplate\", \"timeCellTemplate\", \"dateHeaderTemplate\", \"groups\", \"groupOrientation\", \"groupPanelData\", \"groupByDate\", \"height\", \"className\", \"resourceCellTemplate\"]\r\n }\r\n }\r\n get _viewComponent() {\r\n return TimelineHeaderPanelLayoutComponent\r\n }\r\n}\r\nregisterComponent(\"dxTimelineHeaderPanelLayout\", TimelineHeaderPanelLayout);\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/shaders/m_current_time_shader_horizontal.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getBoundingRect\r\n} from \"../../../core/utils/position\";\r\nimport {\r\n setWidth\r\n} from \"../../../core/utils/size\";\r\nimport CurrentTimeShader from \"./m_current_time_shader\";\r\nclass HorizontalCurrentTimeShader extends CurrentTimeShader {\r\n renderShader() {\r\n var groupCount = this._workSpace._isHorizontalGroupedWorkSpace() ? this._workSpace._getGroupCount() : 1;\r\n for (var i = 0; i < groupCount; i += 1) {\r\n var isFirstShader = 0 === i;\r\n var $shader = isFirstShader ? this._$shader : this.createShader();\r\n if (this._workSpace.isGroupedByDate()) {\r\n this._customizeGroupedByDateShader($shader, i)\r\n } else {\r\n this._customizeShader($shader, i)\r\n }!isFirstShader && this._shader.push($shader)\r\n }\r\n }\r\n _customizeShader($shader, groupIndex) {\r\n var shaderWidth = this._workSpace.getIndicationWidth();\r\n this._applyShaderWidth($shader, shaderWidth);\r\n if (groupIndex >= 1) {\r\n var workSpace = this._workSpace;\r\n var indicationWidth = workSpace._getCellCount() * workSpace.getCellWidth();\r\n $shader.css(\"left\", indicationWidth)\r\n } else {\r\n $shader.css(\"left\", 0)\r\n }\r\n }\r\n _applyShaderWidth($shader, width) {\r\n var maxWidth = getBoundingRect(this._$container.get(0)).width;\r\n if (width > maxWidth) {\r\n width = maxWidth\r\n }\r\n if (width > 0) {\r\n setWidth($shader, width)\r\n }\r\n }\r\n _customizeGroupedByDateShader($shader, groupIndex) {\r\n var cellCount = this._workSpace.getIndicationCellCount();\r\n var integerPart = Math.floor(cellCount);\r\n var fractionPart = cellCount - integerPart;\r\n var isFirstShaderPart = 0 === groupIndex;\r\n var workSpace = this._workSpace;\r\n var shaderWidth = isFirstShaderPart ? workSpace.getIndicationWidth() : fractionPart * workSpace.getCellWidth();\r\n var shaderLeft;\r\n this._applyShaderWidth($shader, shaderWidth);\r\n if (isFirstShaderPart) {\r\n shaderLeft = workSpace._getCellCount() * workSpace.getCellWidth() * groupIndex\r\n } else {\r\n shaderLeft = workSpace.getCellWidth() * integerPart * workSpace._getGroupCount() + groupIndex * workSpace.getCellWidth()\r\n }\r\n $shader.css(\"left\", shaderLeft)\r\n }\r\n}\r\nexport default HorizontalCurrentTimeShader;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/workspaces/m_work_space_indicator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../../core/component_registrator\";\r\nimport $ from \"../../../core/renderer\";\r\nimport dateUtils from \"../../../core/utils/date\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../../core/utils/position\";\r\nimport {\r\n setWidth\r\n} from \"../../../core/utils/size\";\r\nimport {\r\n hasWindow\r\n} from \"../../../core/utils/window\";\r\nimport {\r\n getToday\r\n} from \"../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\";\r\nimport {\r\n HEADER_CURRENT_TIME_CELL_CLASS\r\n} from \"../m_classes\";\r\nimport timezoneUtils from \"../m_utils_time_zone\";\r\nimport SchedulerWorkSpace from \"./m_work_space\";\r\nvar toMs = dateUtils.dateToMilliseconds;\r\nvar SCHEDULER_DATE_TIME_INDICATOR_CLASS = \"dx-scheduler-date-time-indicator\";\r\nvar TIME_PANEL_CURRENT_TIME_CELL_CLASS = \"dx-scheduler-time-panel-current-time-cell\";\r\nclass SchedulerWorkSpaceIndicator extends SchedulerWorkSpace {\r\n _getToday() {\r\n return getToday(this.option(\"indicatorTime\"), this.timeZoneCalculator)\r\n }\r\n isIndicationOnView() {\r\n if (this.option(\"showCurrentTimeIndicator\")) {\r\n var today = this._getToday();\r\n var endViewDate = dateUtils.trimTime(this.getEndViewDate());\r\n return dateUtils.dateInRange(today, this.getStartViewDate(), new Date(endViewDate.getTime() + toMs(\"day\")))\r\n }\r\n return false\r\n }\r\n isIndicationAvailable() {\r\n if (!hasWindow()) {\r\n return false\r\n }\r\n var today = this._getToday();\r\n return today >= dateUtils.trimTime(new Date(this.getStartViewDate()))\r\n }\r\n isIndicatorVisible() {\r\n var today = this._getToday();\r\n var endViewDate = new Date(this.getEndViewDate().getTime() + toMs(\"minute\") - 1);\r\n var firstViewDate = new Date(this.getStartViewDate());\r\n firstViewDate.setFullYear(today.getFullYear(), today.getMonth(), today.getDate());\r\n endViewDate.setFullYear(today.getFullYear(), today.getMonth(), today.getDate());\r\n return dateUtils.dateInRange(today, firstViewDate, endViewDate)\r\n }\r\n _renderIndicator(height, rtlOffset, $container, groupCount) {\r\n var groupedByDate = this.isGroupedByDate();\r\n var repeatCount = groupedByDate ? 1 : groupCount;\r\n for (var i = 0; i < repeatCount; i++) {\r\n var $indicator = this._createIndicator($container);\r\n setWidth($indicator, groupedByDate ? this.getCellWidth() * groupCount : this.getCellWidth());\r\n this._groupedStrategy.shiftIndicator($indicator, height, rtlOffset, i)\r\n }\r\n }\r\n _createIndicator($container) {\r\n var $indicator = $(\"<div>\").addClass(SCHEDULER_DATE_TIME_INDICATOR_CLASS);\r\n $container.append($indicator);\r\n return $indicator\r\n }\r\n _getRtlOffset(width) {\r\n return this.option(\"rtlEnabled\") ? getBoundingRect(this._dateTableScrollable.$content().get(0)).width - this.getTimePanelWidth() - width : 0\r\n }\r\n _setIndicationUpdateInterval() {\r\n if (!this.option(\"showCurrentTimeIndicator\") || 0 === this.option(\"indicatorUpdateInterval\")) {\r\n return\r\n }\r\n this._clearIndicatorUpdateInterval();\r\n this._indicatorInterval = setInterval(() => {\r\n this.renderCurrentDateTimeIndication()\r\n }, this.option(\"indicatorUpdateInterval\"))\r\n }\r\n _clearIndicatorUpdateInterval() {\r\n if (this._indicatorInterval) {\r\n clearInterval(this._indicatorInterval);\r\n delete this._indicatorInterval\r\n }\r\n }\r\n _isVerticalShader() {\r\n return true\r\n }\r\n getIndicationWidth(groupIndex) {\r\n var maxWidth = this.getCellWidth() * this._getCellCount();\r\n var difference = this._getIndicatorDuration();\r\n if (difference > this._getCellCount()) {\r\n difference = this._getCellCount()\r\n }\r\n var width = difference * this.getRoundedCellWidth(groupIndex, groupIndex * this._getCellCount(), difference);\r\n return maxWidth < width ? maxWidth : width\r\n }\r\n getIndicatorOffset(groupIndex) {\r\n var difference = this._getIndicatorDuration() - 1;\r\n var offset = difference * this.getRoundedCellWidth(groupIndex, groupIndex * this._getCellCount(), difference);\r\n return offset\r\n }\r\n _getIndicatorDuration() {\r\n var today = this._getToday();\r\n var firstViewDate = new Date(this.getStartViewDate());\r\n var timeDiff = today.getTime() - firstViewDate.getTime();\r\n if (\"workWeek\" === this.option(\"type\")) {\r\n timeDiff -= this._getWeekendsCount(Math.round(timeDiff / toMs(\"day\"))) * toMs(\"day\")\r\n }\r\n return Math.ceil((timeDiff + 1) / toMs(\"day\"))\r\n }\r\n getIndicationHeight() {\r\n var today = timezoneUtils.getDateWithoutTimezoneChange(this._getToday());\r\n var cellHeight = this.getCellHeight();\r\n var date = new Date(this.getStartViewDate());\r\n if (this.isIndicationOnView()) {\r\n date.setFullYear(today.getFullYear(), today.getMonth(), today.getDate())\r\n }\r\n var duration = today.getTime() - date.getTime();\r\n var cellCount = duration / this.getCellDuration();\r\n return cellCount * cellHeight\r\n }\r\n _dispose() {\r\n this._clearIndicatorUpdateInterval();\r\n super._dispose.apply(this, arguments)\r\n }\r\n renderCurrentDateTimeIndication() {\r\n this.renderCurrentDateTimeLineAndShader();\r\n if (this.isRenovatedRender()) {\r\n this.renderWorkSpace({\r\n generateNewData: true,\r\n renderComponents: {\r\n header: true,\r\n timePanel: true\r\n }\r\n })\r\n }\r\n }\r\n renderCurrentDateTimeLineAndShader() {\r\n var _a;\r\n this._cleanDateTimeIndicator();\r\n null === (_a = this._shader) || void 0 === _a ? void 0 : _a.clean();\r\n this._renderDateTimeIndication()\r\n }\r\n _isCurrentTimeHeaderCell(headerIndex) {\r\n if (this.isIndicationOnView()) {\r\n var {\r\n completeDateHeaderMap: completeDateHeaderMap\r\n } = this.viewDataProvider;\r\n var date = completeDateHeaderMap[completeDateHeaderMap.length - 1][headerIndex].startDate;\r\n return dateUtils.sameDate(date, this._getToday())\r\n }\r\n return false\r\n }\r\n _getHeaderPanelCellClass(i) {\r\n var cellClass = super._getHeaderPanelCellClass(i);\r\n if (this._isCurrentTimeHeaderCell(i)) {\r\n return \"\".concat(cellClass, \" \").concat(HEADER_CURRENT_TIME_CELL_CLASS)\r\n }\r\n return cellClass\r\n }\r\n _cleanView() {\r\n super._cleanView();\r\n this._cleanDateTimeIndicator()\r\n }\r\n _dimensionChanged() {\r\n super._dimensionChanged();\r\n this.renderCurrentDateTimeLineAndShader()\r\n }\r\n _cleanDateTimeIndicator() {\r\n this.$element().find(\".\".concat(SCHEDULER_DATE_TIME_INDICATOR_CLASS)).remove()\r\n }\r\n _cleanWorkSpace() {\r\n super._cleanWorkSpace();\r\n this._renderDateTimeIndication();\r\n this._setIndicationUpdateInterval()\r\n }\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"showCurrentTimeIndicator\":\r\n case \"indicatorTime\":\r\n this._cleanWorkSpace();\r\n break;\r\n case \"indicatorUpdateInterval\":\r\n this._setIndicationUpdateInterval();\r\n break;\r\n case \"showAllDayPanel\":\r\n case \"allDayExpanded\":\r\n case \"crossScrollingEnabled\":\r\n super._optionChanged(args);\r\n this.renderCurrentDateTimeIndication();\r\n break;\r\n case \"shadeUntilCurrentTime\":\r\n this.renderCurrentDateTimeIndication();\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n showCurrentTimeIndicator: true,\r\n indicatorTime: new Date,\r\n indicatorUpdateInterval: 5 * toMs(\"minute\"),\r\n shadeUntilCurrentTime: true\r\n })\r\n }\r\n _getCurrentTimePanelCellIndices() {\r\n var rowCountPerGroup = this._getTimePanelRowCount();\r\n var today = this._getToday();\r\n var index = this.getCellIndexByDate(today);\r\n var {\r\n rowIndex: currentTimeRowIndex\r\n } = this._getCellCoordinatesByIndex(index);\r\n if (void 0 === currentTimeRowIndex) {\r\n return []\r\n }\r\n var cellIndices;\r\n if (0 === currentTimeRowIndex) {\r\n cellIndices = [currentTimeRowIndex]\r\n } else {\r\n cellIndices = currentTimeRowIndex % 2 === 0 ? [currentTimeRowIndex - 1, currentTimeRowIndex] : [currentTimeRowIndex, currentTimeRowIndex + 1]\r\n }\r\n var verticalGroupCount = this._isVerticalGroupedWorkSpace() ? this._getGroupCount() : 1;\r\n return [...new Array(verticalGroupCount)].reduce((currentIndices, _, groupIndex) => [...currentIndices, ...cellIndices.map(cellIndex => rowCountPerGroup * groupIndex + cellIndex)], [])\r\n }\r\n _renderDateTimeIndication() {\r\n if (!this.isIndicationAvailable()) {\r\n return\r\n }\r\n if (this.option(\"shadeUntilCurrentTime\")) {\r\n this._shader.render()\r\n }\r\n if (!this.isIndicationOnView() || !this.isIndicatorVisible()) {\r\n return\r\n }\r\n var groupCount = this._getGroupCount() || 1;\r\n var $container = this._dateTableScrollable.$content();\r\n var height = this.getIndicationHeight();\r\n var rtlOffset = this._getRtlOffset(this.getCellWidth());\r\n this._renderIndicator(height, rtlOffset, $container, groupCount);\r\n if (!this.isRenovatedRender()) {\r\n this._setCurrentTimeCells()\r\n }\r\n }\r\n _setCurrentTimeCells() {\r\n var timePanelCells = this._getTimePanelCells();\r\n var currentTimeCellIndices = this._getCurrentTimePanelCellIndices();\r\n currentTimeCellIndices.forEach(timePanelCellIndex => {\r\n timePanelCells.eq(timePanelCellIndex).addClass(TIME_PANEL_CURRENT_TIME_CELL_CLASS)\r\n })\r\n }\r\n _cleanCurrentTimeCells() {\r\n this.$element().find(\".\".concat(TIME_PANEL_CURRENT_TIME_CELL_CLASS)).removeClass(TIME_PANEL_CURRENT_TIME_CELL_CLASS)\r\n }\r\n}\r\nregisterComponent(\"dxSchedulerWorkSpace\", SchedulerWorkSpaceIndicator);\r\nexport default SchedulerWorkSpaceIndicator;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/workspaces/m_timeline.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport registerComponent from \"../../../core/component_registrator\";\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../../../core/utils/common\";\r\nimport dateUtils from \"../../../core/utils/date\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../../core/utils/position\";\r\nimport {\r\n getOuterHeight,\r\n getOuterWidth,\r\n setHeight\r\n} from \"../../../core/utils/size\";\r\nimport {\r\n hasWindow\r\n} from \"../../../core/utils/window\";\r\nimport {\r\n formatWeekdayAndDay\r\n} from \"../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\";\r\nimport {\r\n getDateForHeaderText\r\n} from \"../../../renovation/ui/scheduler/view_model/to_test/views/utils/timeline_week\";\r\nimport dxrTimelineDateHeader from \"../../../renovation/ui/scheduler/workspaces/timeline/header_panel/layout.j\";\r\nimport {\r\n GROUP_HEADER_CONTENT_CLASS,\r\n GROUP_ROW_CLASS,\r\n HEADER_CURRENT_TIME_CELL_CLASS\r\n} from \"../m_classes\";\r\nimport tableCreatorModule from \"../m_table_creator\";\r\nimport timezoneUtils from \"../m_utils_time_zone\";\r\nimport HorizontalShader from \"../shaders/m_current_time_shader_horizontal\";\r\nimport SchedulerWorkSpace from \"./m_work_space_indicator\";\r\nvar {\r\n tableCreator: tableCreator\r\n} = tableCreatorModule;\r\nvar TIMELINE_CLASS = \"dx-scheduler-timeline\";\r\nvar GROUP_TABLE_CLASS = \"dx-scheduler-group-table\";\r\nvar HORIZONTAL_GROUPED_WORKSPACE_CLASS = \"dx-scheduler-work-space-horizontal-grouped\";\r\nvar HEADER_PANEL_CELL_CLASS = \"dx-scheduler-header-panel-cell\";\r\nvar HEADER_PANEL_WEEK_CELL_CLASS = \"dx-scheduler-header-panel-week-cell\";\r\nvar HEADER_ROW_CLASS = \"dx-scheduler-header-row\";\r\nvar HORIZONTAL = \"horizontal\";\r\nvar DATE_TABLE_CELL_BORDER = 1;\r\nvar DATE_TABLE_HEADER_MARGIN = 10;\r\nvar toMs = dateUtils.dateToMilliseconds;\r\nclass SchedulerTimeline extends SchedulerWorkSpace {\r\n constructor() {\r\n super(...arguments);\r\n this.viewDirection = \"horizontal\"\r\n }\r\n get verticalGroupTableClass() {\r\n return GROUP_TABLE_CLASS\r\n }\r\n get renovatedHeaderPanelComponent() {\r\n return dxrTimelineDateHeader\r\n }\r\n getGroupTableWidth() {\r\n return this._$sidebarTable ? getOuterWidth(this._$sidebarTable) : 0\r\n }\r\n _getTotalRowCount(groupCount) {\r\n if (this._isHorizontalGroupedWorkSpace()) {\r\n return this._getRowCount()\r\n }\r\n groupCount = groupCount || 1;\r\n return this._getRowCount() * groupCount\r\n }\r\n _getFormat() {\r\n return \"shorttime\"\r\n }\r\n _getWorkSpaceHeight() {\r\n if (this.option(\"crossScrollingEnabled\") && hasWindow()) {\r\n return getBoundingRect(this._$dateTable.get(0)).height\r\n }\r\n return getBoundingRect(this.$element().get(0)).height\r\n }\r\n _dateTableScrollableConfig() {\r\n var config = super._dateTableScrollableConfig();\r\n var timelineConfig = {\r\n direction: HORIZONTAL\r\n };\r\n return this.option(\"crossScrollingEnabled\") ? config : extend(config, timelineConfig)\r\n }\r\n _needCreateCrossScrolling() {\r\n return true\r\n }\r\n _headerScrollableConfig() {\r\n var config = super._headerScrollableConfig();\r\n return extend(config, {\r\n scrollByContent: true\r\n })\r\n }\r\n supportAllDayRow() {\r\n return false\r\n }\r\n _getGroupHeaderContainer() {\r\n if (this._isHorizontalGroupedWorkSpace()) {\r\n return this._$thead\r\n }\r\n return this._$sidebarTable\r\n }\r\n _insertAllDayRowsIntoDateTable() {\r\n return false\r\n }\r\n _needRenderWeekHeader() {\r\n return false\r\n }\r\n _incrementDate(date) {\r\n date.setDate(date.getDate() + 1)\r\n }\r\n getIndicationCellCount() {\r\n var timeDiff = this._getTimeDiff();\r\n return this._calculateDurationInCells(timeDiff)\r\n }\r\n _getTimeDiff() {\r\n var today = this._getToday();\r\n var date = this._getIndicationFirstViewDate();\r\n var startViewDate = this.getStartViewDate();\r\n var dayLightOffset = timezoneUtils.getDaylightOffsetInMs(startViewDate, today);\r\n if (dayLightOffset) {\r\n today = new Date(today.getTime() + dayLightOffset)\r\n }\r\n return today.getTime() - date.getTime()\r\n }\r\n _calculateDurationInCells(timeDiff) {\r\n var today = this._getToday();\r\n var differenceInDays = Math.floor(timeDiff / toMs(\"day\"));\r\n var duration = (timeDiff - differenceInDays * toMs(\"day\") - this.option(\"startDayHour\") * toMs(\"hour\")) / this.getCellDuration();\r\n if (today.getHours() > this.option(\"endDayHour\")) {\r\n duration = this._getCellCountInDay()\r\n }\r\n if (duration < 0) {\r\n duration = 0\r\n }\r\n return differenceInDays * this._getCellCountInDay() + duration\r\n }\r\n getIndicationWidth() {\r\n if (this.isGroupedByDate()) {\r\n var cellCount = this.getIndicationCellCount();\r\n var integerPart = Math.floor(cellCount);\r\n var fractionPart = cellCount - integerPart;\r\n return this.getCellWidth() * (integerPart * this._getGroupCount() + fractionPart)\r\n }\r\n return this.getIndicationCellCount() * this.getCellWidth()\r\n }\r\n _isVerticalShader() {\r\n return false\r\n }\r\n _isCurrentTimeHeaderCell() {\r\n return false\r\n }\r\n _setTableSizes() {\r\n var minHeight = this._getWorkSpaceMinHeight();\r\n setHeight(this._$sidebarTable, minHeight);\r\n setHeight(this._$dateTable, minHeight);\r\n super._setTableSizes();\r\n this.virtualScrollingDispatcher.updateDimensions()\r\n }\r\n _getWorkSpaceMinHeight() {\r\n var minHeight = this._getWorkSpaceHeight();\r\n var workspaceContainerHeight = getOuterHeight(this.$element(), true) - this.getHeaderPanelHeight() - 2 * DATE_TABLE_CELL_BORDER - DATE_TABLE_HEADER_MARGIN;\r\n if (minHeight < workspaceContainerHeight) {\r\n minHeight = workspaceContainerHeight\r\n }\r\n return minHeight\r\n }\r\n _getCellCoordinatesByIndex(index) {\r\n return {\r\n columnIndex: index % this._getCellCount(),\r\n rowIndex: 0\r\n }\r\n }\r\n _getCellByCoordinates(cellCoordinates, groupIndex) {\r\n var indexes = this._groupedStrategy.prepareCellIndexes(cellCoordinates, groupIndex);\r\n return this._$dateTable.find(\"tr\").eq(indexes.rowIndex).find(\"td\").eq(indexes.columnIndex)\r\n }\r\n _getWorkSpaceWidth() {\r\n return getOuterWidth(this._$dateTable, true)\r\n }\r\n _getIndicationFirstViewDate() {\r\n return dateUtils.trimTime(new Date(this.getStartViewDate()))\r\n }\r\n _getIntervalBetween(currentDate, allDay) {\r\n var startDayHour = this.option(\"startDayHour\");\r\n var endDayHour = this.option(\"endDayHour\");\r\n var firstViewDate = this.getStartViewDate();\r\n var firstViewDateTime = firstViewDate.getTime();\r\n var hiddenInterval = (24 - endDayHour + startDayHour) * toMs(\"hour\");\r\n var timeZoneOffset = dateUtils.getTimezonesDifference(firstViewDate, currentDate);\r\n var apptStart = currentDate.getTime();\r\n var fullInterval = apptStart - firstViewDateTime - timeZoneOffset;\r\n var fullDays = Math.floor(fullInterval / toMs(\"day\"));\r\n var tailDuration = fullInterval - fullDays * toMs(\"day\");\r\n var tailDelta = 0;\r\n var cellCount = this._getCellCountInDay() * (fullDays - this._getWeekendsCount(fullDays));\r\n var gapBeforeAppt = apptStart - dateUtils.trimTime(new Date(currentDate)).getTime();\r\n var result = cellCount * this.option(\"hoursInterval\") * toMs(\"hour\");\r\n if (!allDay) {\r\n if (currentDate.getHours() < startDayHour) {\r\n tailDelta = tailDuration - hiddenInterval + gapBeforeAppt\r\n } else if (currentDate.getHours() >= startDayHour && currentDate.getHours() < endDayHour) {\r\n tailDelta = tailDuration\r\n } else if (currentDate.getHours() >= startDayHour && currentDate.getHours() >= endDayHour) {\r\n tailDelta = tailDuration - (gapBeforeAppt - endDayHour * toMs(\"hour\"))\r\n } else if (!fullDays) {\r\n result = fullInterval\r\n }\r\n result += tailDelta\r\n }\r\n return result\r\n }\r\n _getWeekendsCount(argument) {\r\n return 0\r\n }\r\n getAllDayContainer() {\r\n return null\r\n }\r\n getTimePanelWidth() {\r\n return 0\r\n }\r\n getIntervalDuration(allDay) {\r\n return this.getCellDuration()\r\n }\r\n getCellMinWidth() {\r\n return 0\r\n }\r\n getWorkSpaceLeftOffset() {\r\n return 0\r\n }\r\n scrollToTime(hours, minutes, date) {\r\n var coordinates = this._getScrollCoordinates(hours, minutes, date);\r\n var scrollable = this.getScrollable();\r\n var offset = this.option(\"rtlEnabled\") ? getBoundingRect(this.getScrollableContainer().get(0)).width : 0;\r\n if (this.option(\"templatesRenderAsynchronously\")) {\r\n setTimeout(() => {\r\n scrollable.scrollBy({\r\n left: coordinates.left - scrollable.scrollLeft() - offset,\r\n top: 0\r\n })\r\n })\r\n } else {\r\n scrollable.scrollBy({\r\n left: coordinates.left - scrollable.scrollLeft() - offset,\r\n top: 0\r\n })\r\n }\r\n }\r\n renderRAllDayPanel() {}\r\n renderRTimeTable() {}\r\n _renderGroupAllDayPanel() {}\r\n generateRenderOptions(argument) {\r\n var options = super.generateRenderOptions(true);\r\n return _extends(_extends({}, options), {\r\n isGenerateWeekDaysHeaderData: this._needRenderWeekHeader(),\r\n getDateForHeaderText: getDateForHeaderText\r\n })\r\n }\r\n _init() {\r\n super._init();\r\n this.$element().addClass(TIMELINE_CLASS);\r\n this._$sidebarTable = $(\"<div>\").addClass(GROUP_TABLE_CLASS)\r\n }\r\n _getDefaultGroupStrategy() {\r\n return \"vertical\"\r\n }\r\n _toggleGroupingDirectionClass() {\r\n this.$element().toggleClass(HORIZONTAL_GROUPED_WORKSPACE_CLASS, this._isHorizontalGroupedWorkSpace())\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n groupOrientation: \"vertical\"\r\n })\r\n }\r\n _createWorkSpaceElements() {\r\n this._createWorkSpaceScrollableElements()\r\n }\r\n _toggleAllDayVisibility() {\r\n return noop()\r\n }\r\n _changeAllDayVisibility() {\r\n return noop()\r\n }\r\n _getDateHeaderTemplate() {\r\n return this.option(\"timeCellTemplate\")\r\n }\r\n _renderView() {\r\n var groupCellTemplates;\r\n if (!this.isRenovatedRender()) {\r\n groupCellTemplates = this._renderGroupHeader()\r\n }\r\n this.renderWorkSpace();\r\n if (this.isRenovatedRender()) {\r\n this.virtualScrollingDispatcher.updateDimensions()\r\n }\r\n this._shader = new HorizontalShader(this);\r\n this._$sidebarTable.appendTo(this._sidebarScrollable.$content());\r\n if (this.isRenovatedRender() && this._isVerticalGroupedWorkSpace()) {\r\n this.renderRGroupPanel()\r\n }\r\n this.updateHeaderEmptyCellWidth();\r\n this._applyCellTemplates(groupCellTemplates)\r\n }\r\n _setHorizontalGroupHeaderCellsHeight() {\r\n return noop()\r\n }\r\n _getTimePanelCells() {\r\n return this.$element().find(\".\".concat(HEADER_PANEL_CELL_CLASS, \":not(.\").concat(HEADER_PANEL_WEEK_CELL_CLASS, \")\"))\r\n }\r\n _getCurrentTimePanelCellIndices() {\r\n var columnCountPerGroup = this._getCellCount();\r\n var today = this._getToday();\r\n var index = this.getCellIndexByDate(today);\r\n var {\r\n columnIndex: currentTimeColumnIndex\r\n } = this._getCellCoordinatesByIndex(index);\r\n if (void 0 === currentTimeColumnIndex) {\r\n return []\r\n }\r\n var horizontalGroupCount = this._isHorizontalGroupedWorkSpace() && !this.isGroupedByDate() ? this._getGroupCount() : 1;\r\n return [...new Array(horizontalGroupCount)].map((_, groupIndex) => columnCountPerGroup * groupIndex + currentTimeColumnIndex)\r\n }\r\n _renderTimePanel() {\r\n return noop()\r\n }\r\n _renderAllDayPanel() {\r\n return noop()\r\n }\r\n _createAllDayPanelElements() {\r\n return noop()\r\n }\r\n _renderDateHeader() {\r\n var $headerRow = super._renderDateHeader();\r\n if (this._needRenderWeekHeader()) {\r\n var firstViewDate = new Date(this.getStartViewDate());\r\n var currentDate = new Date(firstViewDate);\r\n var $cells = [];\r\n var groupCount = this._getGroupCount();\r\n var cellCountInDay = this._getCellCountInDay();\r\n var colSpan = this.isGroupedByDate() ? cellCountInDay * groupCount : cellCountInDay;\r\n var cellTemplate = this.option(\"dateCellTemplate\");\r\n var horizontalGroupCount = this._isHorizontalGroupedWorkSpace() && !this.isGroupedByDate() ? groupCount : 1;\r\n var cellsInGroup = this.viewDataProvider.viewDataGenerator.daysInInterval * this.option(\"intervalCount\");\r\n var cellsCount = cellsInGroup * horizontalGroupCount;\r\n for (var templateIndex = 0; templateIndex < cellsCount; templateIndex++) {\r\n var $th = $(\"<th>\");\r\n var text = formatWeekdayAndDay(currentDate);\r\n if (cellTemplate) {\r\n var templateOptions = {\r\n model: _extends({\r\n text: text,\r\n date: new Date(currentDate)\r\n }, this._getGroupsForDateHeaderTemplate(templateIndex, colSpan)),\r\n container: $th,\r\n index: templateIndex\r\n };\r\n cellTemplate.render(templateOptions)\r\n } else {\r\n $th.text(text)\r\n }\r\n $th.addClass(HEADER_PANEL_CELL_CLASS).addClass(HEADER_PANEL_WEEK_CELL_CLASS).attr(\"colSpan\", colSpan);\r\n $cells.push($th);\r\n if (templateIndex % cellsInGroup === cellsInGroup - 1) {\r\n currentDate = new Date(firstViewDate)\r\n } else {\r\n this._incrementDate(currentDate)\r\n }\r\n }\r\n var $row = $(\"<tr>\").addClass(HEADER_ROW_CLASS).append($cells);\r\n $headerRow.before($row)\r\n }\r\n }\r\n _renderIndicator(height, rtlOffset, $container, groupCount) {\r\n var $indicator;\r\n var width = this.getIndicationWidth();\r\n if (\"vertical\" === this.option(\"groupOrientation\")) {\r\n $indicator = this._createIndicator($container);\r\n setHeight($indicator, getBoundingRect($container.get(0)).height);\r\n $indicator.css(\"left\", rtlOffset ? rtlOffset - width : width)\r\n } else {\r\n for (var i = 0; i < groupCount; i++) {\r\n var offset = this.isGroupedByDate() ? i * this.getCellWidth() : this._getCellCount() * this.getCellWidth() * i;\r\n $indicator = this._createIndicator($container);\r\n setHeight($indicator, getBoundingRect($container.get(0)).height);\r\n $indicator.css(\"left\", rtlOffset ? rtlOffset - width - offset : width + offset)\r\n }\r\n }\r\n }\r\n _makeGroupRows(groups, groupByDate) {\r\n var tableCreatorStrategy = \"vertical\" === this.option(\"groupOrientation\") ? tableCreator.VERTICAL : tableCreator.HORIZONTAL;\r\n return tableCreator.makeGroupedTable(tableCreatorStrategy, groups, {\r\n groupRowClass: GROUP_ROW_CLASS,\r\n groupHeaderRowClass: GROUP_ROW_CLASS,\r\n groupHeaderClass: this._getGroupHeaderClass.bind(this),\r\n groupHeaderContentClass: GROUP_HEADER_CONTENT_CLASS\r\n }, this._getCellCount() || 1, this.option(\"resourceCellTemplate\"), this._getTotalRowCount(this._getGroupCount()), groupByDate)\r\n }\r\n _setCurrentTimeCells() {\r\n var timePanelCells = this._getTimePanelCells();\r\n var currentTimeCellIndices = this._getCurrentTimePanelCellIndices();\r\n currentTimeCellIndices.forEach(timePanelCellIndex => {\r\n timePanelCells.eq(timePanelCellIndex).addClass(HEADER_CURRENT_TIME_CELL_CLASS)\r\n })\r\n }\r\n _cleanCurrentTimeCells() {\r\n this.$element().find(\".\".concat(HEADER_CURRENT_TIME_CELL_CLASS)).removeClass(HEADER_CURRENT_TIME_CELL_CLASS)\r\n }\r\n}\r\nregisterComponent(\"dxSchedulerTimeline\", SchedulerTimeline);\r\nexport default SchedulerTimeline;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/workspaces/m_timeline_day.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../../core/component_registrator\";\r\nimport {\r\n VIEWS\r\n} from \"../m_constants\";\r\nimport SchedulerTimeline from \"./m_timeline\";\r\nvar TIMELINE_CLASS = \"dx-scheduler-timeline-day\";\r\nclass SchedulerTimelineDay extends SchedulerTimeline {\r\n get type() {\r\n return VIEWS.TIMELINE_DAY\r\n }\r\n _getElementClass() {\r\n return TIMELINE_CLASS\r\n }\r\n _needRenderWeekHeader() {\r\n return this._isWorkSpaceWithCount()\r\n }\r\n}\r\nregisterComponent(\"dxSchedulerTimelineDay\", SchedulerTimelineDay);\r\nexport default SchedulerTimelineDay;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/workspaces/m_timeline_month.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport registerComponent from \"../../../core/component_registrator\";\r\nimport dateUtils from \"../../../core/utils/date\";\r\nimport {\r\n formatWeekdayAndDay\r\n} from \"../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\";\r\nimport {\r\n getViewStartByOptions\r\n} from \"../../../renovation/ui/scheduler/view_model/to_test/views/utils/month\";\r\nimport dxrDateHeader from \"../../../renovation/ui/scheduler/workspaces/base/header_panel/layout.j\";\r\nimport {\r\n VIEWS\r\n} from \"../m_constants\";\r\nimport SchedulerTimeline from \"./m_timeline\";\r\nvar TIMELINE_CLASS = \"dx-scheduler-timeline-month\";\r\nclass SchedulerTimelineMonth extends SchedulerTimeline {\r\n constructor() {\r\n super(...arguments);\r\n this.viewDirection = \"horizontal\"\r\n }\r\n get type() {\r\n return VIEWS.TIMELINE_MONTH\r\n }\r\n get renovatedHeaderPanelComponent() {\r\n return dxrDateHeader\r\n }\r\n _renderView() {\r\n super._renderView();\r\n this._updateScrollable()\r\n }\r\n _getElementClass() {\r\n return TIMELINE_CLASS\r\n }\r\n _getDateHeaderTemplate() {\r\n return this.option(\"dateCellTemplate\")\r\n }\r\n _calculateDurationInCells(timeDiff) {\r\n return timeDiff / this.getCellDuration()\r\n }\r\n isIndicatorVisible() {\r\n return true\r\n }\r\n _getFormat() {\r\n return formatWeekdayAndDay\r\n }\r\n _getIntervalBetween(currentDate) {\r\n var firstViewDate = this.getStartViewDate();\r\n var timeZoneOffset = dateUtils.getTimezonesDifference(firstViewDate, currentDate);\r\n return currentDate.getTime() - (firstViewDate.getTime() - 36e5 * this.option(\"startDayHour\")) - timeZoneOffset\r\n }\r\n _getViewStartByOptions() {\r\n return getViewStartByOptions(this.option(\"startDate\"), this.option(\"currentDate\"), this.option(\"intervalCount\"), dateUtils.getFirstMonthDate(this.option(\"startDate\")))\r\n }\r\n generateRenderOptions() {\r\n var options = super.generateRenderOptions(true);\r\n return _extends(_extends({}, options), {\r\n getDateForHeaderText: (_, date) => date\r\n })\r\n }\r\n}\r\nregisterComponent(\"dxSchedulerTimelineMonth\", SchedulerTimelineMonth);\r\nexport default SchedulerTimelineMonth;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/workspaces/m_timeline_week.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../../core/component_registrator\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../../core/utils/position\";\r\nimport {\r\n VIEWS\r\n} from \"../m_constants\";\r\nimport SchedulerTimeline from \"./m_timeline\";\r\nvar TIMELINE_CLASS = \"dx-scheduler-timeline-week\";\r\nexport default class SchedulerTimelineWeek extends SchedulerTimeline {\r\n get type() {\r\n return VIEWS.TIMELINE_WEEK\r\n }\r\n _getElementClass() {\r\n return TIMELINE_CLASS\r\n }\r\n _getHeaderPanelCellWidth($headerRow) {\r\n return getBoundingRect($headerRow.children().first().get(0)).width\r\n }\r\n _needRenderWeekHeader() {\r\n return true\r\n }\r\n _incrementDate(date) {\r\n date.setDate(date.getDate() + 1)\r\n }\r\n}\r\nregisterComponent(\"dxSchedulerTimelineWeek\", SchedulerTimelineWeek);\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/workspaces/m_timeline_work_week.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../../core/component_registrator\";\r\nimport {\r\n getWeekendsCount\r\n} from \"../../../renovation/ui/scheduler/view_model/to_test/views/utils/work_week\";\r\nimport {\r\n VIEWS\r\n} from \"../m_constants\";\r\nimport SchedulerTimelineWeek from \"./m_timeline_week\";\r\nvar TIMELINE_CLASS = \"dx-scheduler-timeline-work-week\";\r\nvar LAST_DAY_WEEK_INDEX = 5;\r\nclass SchedulerTimelineWorkWeek extends SchedulerTimelineWeek {\r\n get type() {\r\n return VIEWS.TIMELINE_WORK_WEEK\r\n }\r\n constructor() {\r\n super(...arguments);\r\n this._getWeekendsCount = getWeekendsCount\r\n }\r\n _getElementClass() {\r\n return TIMELINE_CLASS\r\n }\r\n _incrementDate(date) {\r\n var day = date.getDay();\r\n if (day === LAST_DAY_WEEK_INDEX) {\r\n date.setDate(date.getDate() + 2)\r\n }\r\n super._incrementDate(date)\r\n }\r\n}\r\nregisterComponent(\"dxSchedulerTimelineWorkWeek\", SchedulerTimelineWorkWeek);\r\nexport default SchedulerTimelineWorkWeek;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/workspaces/m_work_space_vertical.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n formatWeekdayAndDay\r\n} from \"../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\";\r\nimport SchedulerWorkSpaceIndicator from \"./m_work_space_indicator\";\r\nclass SchedulerWorkspaceVertical extends SchedulerWorkSpaceIndicator {\r\n _getFormat() {\r\n return formatWeekdayAndDay\r\n }\r\n generateRenderOptions() {\r\n var options = super.generateRenderOptions();\r\n return _extends(_extends({}, options), {\r\n isGenerateTimePanelData: true\r\n })\r\n }\r\n _isRenderHeaderPanelEmptyCell() {\r\n return true\r\n }\r\n}\r\nexport default SchedulerWorkspaceVertical;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/workspaces/m_work_space_day.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../../core/component_registrator\";\r\nimport {\r\n VIEWS\r\n} from \"../m_constants\";\r\nimport SchedulerWorkSpaceVertical from \"./m_work_space_vertical\";\r\nvar DAY_CLASS = \"dx-scheduler-work-space-day\";\r\nclass SchedulerWorkSpaceDay extends SchedulerWorkSpaceVertical {\r\n get type() {\r\n return VIEWS.DAY\r\n }\r\n _getElementClass() {\r\n return DAY_CLASS\r\n }\r\n _renderDateHeader() {\r\n return 1 === this.option(\"intervalCount\") ? null : super._renderDateHeader()\r\n }\r\n renderRHeaderPanel() {\r\n if (1 === this.option(\"intervalCount\")) {\r\n super.renderRHeaderPanel(false)\r\n } else {\r\n super.renderRHeaderPanel(true)\r\n }\r\n }\r\n}\r\nregisterComponent(\"dxSchedulerWorkSpaceDay\", SchedulerWorkSpaceDay);\r\nexport default SchedulerWorkSpaceDay;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/month/date_table/cell.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"allDay\", \"ariaLabel\", \"children\", \"className\", \"contentTemplateProps\", \"dataCellTemplate\", \"endDate\", \"firstDayOfMonth\", \"groupIndex\", \"groups\", \"index\", \"isFirstGroupCell\", \"isFocused\", \"isLastGroupCell\", \"isSelected\", \"otherMonth\", \"startDate\", \"text\", \"today\"];\r\nimport {\r\n createVNode,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n combineClasses\r\n} from \"../../../../../utils/combine_classes\";\r\nimport {\r\n DateTableCellBase,\r\n DateTableCellBaseProps\r\n} from \"../../base/date_table/cell\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n classes: classes,\r\n contentTemplateProps: contentTemplateProps,\r\n props: {\r\n dataCellTemplate: dataCellTemplate,\r\n endDate: endDate,\r\n groupIndex: groupIndex,\r\n groups: groups,\r\n index: index,\r\n isFirstGroupCell: isFirstGroupCell,\r\n isFocused: isFocused,\r\n isLastGroupCell: isLastGroupCell,\r\n isSelected: isSelected,\r\n startDate: startDate,\r\n text: text\r\n }\r\n } = _ref;\r\n return createComponentVNode(2, DateTableCellBase, {\r\n className: classes,\r\n dataCellTemplate: dataCellTemplate,\r\n startDate: startDate,\r\n endDate: endDate,\r\n text: text,\r\n groups: groups,\r\n groupIndex: groupIndex,\r\n index: index,\r\n isFirstGroupCell: isFirstGroupCell,\r\n isLastGroupCell: isLastGroupCell,\r\n isSelected: isSelected,\r\n isFocused: isFocused,\r\n contentTemplateProps: contentTemplateProps,\r\n children: createVNode(1, \"div\", \"dx-scheduler-date-table-cell-text\", text, 0)\r\n })\r\n};\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class MonthDateTableCell extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.__getterCache = {}\r\n }\r\n get classes() {\r\n var {\r\n className: className,\r\n firstDayOfMonth: firstDayOfMonth,\r\n otherMonth: otherMonth,\r\n today: today\r\n } = this.props;\r\n return combineClasses({\r\n \"dx-scheduler-date-table-other-month\": !!otherMonth,\r\n \"dx-scheduler-date-table-current-date\": !!today,\r\n \"dx-scheduler-date-table-first-of-month\": !!firstDayOfMonth,\r\n [className]: !!className\r\n })\r\n }\r\n get contentTemplateProps() {\r\n if (void 0 !== this.__getterCache.contentTemplateProps) {\r\n return this.__getterCache.contentTemplateProps\r\n }\r\n return this.__getterCache.contentTemplateProps = (() => {\r\n var {\r\n index: index,\r\n text: text\r\n } = this.props;\r\n return {\r\n data: {\r\n text: text\r\n },\r\n index: index\r\n }\r\n })()\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n if (this.props.index !== nextProps.index || this.props.text !== nextProps.text) {\r\n this.__getterCache.contentTemplateProps = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n dataCellTemplate: getTemplate(props.dataCellTemplate)\r\n }),\r\n classes: this.classes,\r\n contentTemplateProps: this.contentTemplateProps,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nMonthDateTableCell.defaultProps = DateTableCellBaseProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/month/date_table/layout.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"addDateTableClass\", \"addVerticalSizesClassToRows\", \"bottomVirtualRowHeight\", \"cellTemplate\", \"dataCellTemplate\", \"groupOrientation\", \"leftVirtualCellWidth\", \"rightVirtualCellWidth\", \"tableRef\", \"topVirtualRowHeight\", \"viewData\", \"width\"];\r\nimport {\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n InfernoWrapperComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n DateTableLayoutBase,\r\n DateTableLayoutProps\r\n} from \"../../base/date_table/layout\";\r\nimport {\r\n MonthDateTableCell\r\n} from \"./cell\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n props: {\r\n addDateTableClass: addDateTableClass,\r\n addVerticalSizesClassToRows: addVerticalSizesClassToRows,\r\n dataCellTemplate: dataCellTemplate,\r\n groupOrientation: groupOrientation,\r\n tableRef: tableRef,\r\n viewData: viewData,\r\n width: width\r\n },\r\n restAttributes: restAttributes\r\n } = _ref;\r\n return normalizeProps(createComponentVNode(2, DateTableLayoutBase, _extends({\r\n viewData: viewData,\r\n groupOrientation: groupOrientation,\r\n addDateTableClass: addDateTableClass,\r\n dataCellTemplate: dataCellTemplate,\r\n cellTemplate: MonthDateTableCell,\r\n tableRef: tableRef,\r\n addVerticalSizesClassToRows: addVerticalSizesClassToRows,\r\n width: width\r\n }, restAttributes)))\r\n};\r\nimport {\r\n createReRenderEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class MonthDateTableLayout extends InfernoWrapperComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n createEffects() {\r\n return [createReRenderEffect()]\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n cellTemplate: getTemplate(props.cellTemplate),\r\n dataCellTemplate: getTemplate(props.dataCellTemplate)\r\n }),\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nMonthDateTableLayout.defaultProps = DateTableLayoutProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/workspaces/month/date_table/layout.j.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../../../../../core/component_registrator\";\r\nimport {\r\n DateTable\r\n} from \"../../../../../component_wrapper/scheduler/date_table\";\r\nimport {\r\n MonthDateTableLayout as MonthDateTableLayoutComponent\r\n} from \"./layout\";\r\nexport default class MonthDateTableLayout extends DateTable {\r\n get _propsInfo() {\r\n return {\r\n twoWay: [],\r\n allowNull: [],\r\n elements: [],\r\n templates: [\"cellTemplate\", \"dataCellTemplate\"],\r\n props: [\"cellTemplate\", \"viewData\", \"groupOrientation\", \"leftVirtualCellWidth\", \"rightVirtualCellWidth\", \"topVirtualRowHeight\", \"bottomVirtualRowHeight\", \"addDateTableClass\", \"addVerticalSizesClassToRows\", \"width\", \"dataCellTemplate\"]\r\n }\r\n }\r\n get _viewComponent() {\r\n return MonthDateTableLayoutComponent\r\n }\r\n}\r\nregisterComponent(\"dxMonthDateTableLayout\", MonthDateTableLayout);\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/workspaces/m_work_space_month.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport registerComponent from \"../../../core/component_registrator\";\r\nimport {\r\n noop\r\n} from \"../../../core/utils/common\";\r\nimport dateUtils from \"../../../core/utils/date\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../../core/utils/position\";\r\nimport {\r\n hasWindow\r\n} from \"../../../core/utils/window\";\r\nimport {\r\n formatWeekday\r\n} from \"../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\";\r\nimport {\r\n getCellText,\r\n getViewStartByOptions\r\n} from \"../../../renovation/ui/scheduler/view_model/to_test/views/utils/month\";\r\nimport dxrMonthDateTableLayout from \"../../../renovation/ui/scheduler/workspaces/month/date_table/layout.j\";\r\nimport {\r\n VIEWS\r\n} from \"../m_constants\";\r\nimport {\r\n utils\r\n} from \"../m_utils\";\r\nimport SchedulerWorkSpace from \"./m_work_space_indicator\";\r\nvar MONTH_CLASS = \"dx-scheduler-work-space-month\";\r\nvar DATE_TABLE_CURRENT_DATE_CLASS = \"dx-scheduler-date-table-current-date\";\r\nvar DATE_TABLE_CELL_TEXT_CLASS = \"dx-scheduler-date-table-cell-text\";\r\nvar DATE_TABLE_FIRST_OF_MONTH_CLASS = \"dx-scheduler-date-table-first-of-month\";\r\nvar DATE_TABLE_OTHER_MONTH_DATE_CLASS = \"dx-scheduler-date-table-other-month\";\r\nvar toMs = dateUtils.dateToMilliseconds;\r\nclass SchedulerWorkSpaceMonth extends SchedulerWorkSpace {\r\n get type() {\r\n return VIEWS.MONTH\r\n }\r\n _getElementClass() {\r\n return MONTH_CLASS\r\n }\r\n _getFormat() {\r\n return formatWeekday\r\n }\r\n _getIntervalBetween(currentDate) {\r\n var firstViewDate = this.getStartViewDate();\r\n var timeZoneOffset = dateUtils.getTimezonesDifference(firstViewDate, currentDate);\r\n return currentDate.getTime() - (firstViewDate.getTime() - 36e5 * this.option(\"startDayHour\")) - timeZoneOffset\r\n }\r\n _getDateGenerationOptions() {\r\n return _extends(_extends({}, super._getDateGenerationOptions()), {\r\n cellCountInDay: 1\r\n })\r\n }\r\n getCellWidth() {\r\n return this.cache.get(\"cellWidth\", () => {\r\n var averageWidth = 0;\r\n var cells = this._getCells().slice(0, 7);\r\n cells.each((index, element) => {\r\n averageWidth += hasWindow() ? getBoundingRect(element).width : 0\r\n });\r\n return 0 === cells.length ? void 0 : averageWidth / 7\r\n })\r\n }\r\n _insertAllDayRowsIntoDateTable() {\r\n return false\r\n }\r\n _getCellCoordinatesByIndex(index) {\r\n var rowIndex = Math.floor(index / this._getCellCount());\r\n var columnIndex = index - this._getCellCount() * rowIndex;\r\n return {\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex\r\n }\r\n }\r\n _needCreateCrossScrolling() {\r\n return this.option(\"crossScrollingEnabled\") || this._isVerticalGroupedWorkSpace()\r\n }\r\n _getViewStartByOptions() {\r\n return getViewStartByOptions(this.option(\"startDate\"), this.option(\"currentDate\"), this.option(\"intervalCount\"), dateUtils.getFirstMonthDate(this.option(\"startDate\")))\r\n }\r\n _updateIndex(index) {\r\n return index\r\n }\r\n isIndicationAvailable() {\r\n return false\r\n }\r\n getIntervalDuration() {\r\n return toMs(\"day\")\r\n }\r\n getTimePanelWidth() {\r\n return 0\r\n }\r\n supportAllDayRow() {\r\n return false\r\n }\r\n keepOriginalHours() {\r\n return true\r\n }\r\n getWorkSpaceLeftOffset() {\r\n return 0\r\n }\r\n needApplyCollectorOffset() {\r\n return true\r\n }\r\n _getHeaderDate() {\r\n return this._getViewStartByOptions()\r\n }\r\n scrollToTime() {\r\n return noop()\r\n }\r\n renderRAllDayPanel() {}\r\n renderRTimeTable() {}\r\n renderRDateTable() {\r\n utils.renovation.renderComponent(this, this._$dateTable, dxrMonthDateTableLayout, \"renovatedDateTable\", this._getRDateTableProps())\r\n }\r\n _createWorkSpaceElements() {\r\n if (this._isVerticalGroupedWorkSpace()) {\r\n this._createWorkSpaceScrollableElements()\r\n } else {\r\n super._createWorkSpaceElements()\r\n }\r\n }\r\n _toggleAllDayVisibility() {\r\n return noop()\r\n }\r\n _changeAllDayVisibility() {\r\n return noop()\r\n }\r\n _renderTimePanel() {\r\n return noop()\r\n }\r\n _renderAllDayPanel() {\r\n return noop()\r\n }\r\n _setMonthClassesToCell($cell, data) {\r\n $cell.toggleClass(DATE_TABLE_CURRENT_DATE_CLASS, data.isCurrentDate).toggleClass(DATE_TABLE_FIRST_OF_MONTH_CLASS, data.firstDayOfMonth).toggleClass(DATE_TABLE_OTHER_MONTH_DATE_CLASS, data.otherMonth)\r\n }\r\n _createAllDayPanelElements() {}\r\n _renderTableBody(options) {\r\n options.getCellText = (rowIndex, columnIndex) => {\r\n var date = this.viewDataProvider.completeViewDataMap[rowIndex][columnIndex].startDate;\r\n return getCellText(date, this.option(\"intervalCount\"))\r\n };\r\n options.getCellTextClass = DATE_TABLE_CELL_TEXT_CLASS;\r\n options.setAdditionalClasses = this._setMonthClassesToCell.bind(this);\r\n super._renderTableBody(options)\r\n }\r\n}\r\nregisterComponent(\"dxSchedulerWorkSpaceMonth\", SchedulerWorkSpaceMonth);\r\nexport default SchedulerWorkSpaceMonth;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/workspaces/m_work_space_week.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../../core/component_registrator\";\r\nimport {\r\n calculateViewStartDate\r\n} from \"../../../renovation/ui/scheduler/view_model/to_test/views/utils/week\";\r\nimport {\r\n VIEWS\r\n} from \"../m_constants\";\r\nimport SchedulerWorkSpaceVertical from \"./m_work_space_vertical\";\r\nvar WEEK_CLASS = \"dx-scheduler-work-space-week\";\r\nclass SchedulerWorkSpaceWeek extends SchedulerWorkSpaceVertical {\r\n get type() {\r\n return VIEWS.WEEK\r\n }\r\n _getElementClass() {\r\n return WEEK_CLASS\r\n }\r\n _calculateViewStartDate() {\r\n return calculateViewStartDate(this.option(\"startDate\"), this._firstDayOfWeek())\r\n }\r\n}\r\nregisterComponent(\"dxSchedulerWorkSpaceWeek\", SchedulerWorkSpaceWeek);\r\nexport default SchedulerWorkSpaceWeek;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/workspaces/m_work_space_work_week.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../../core/component_registrator\";\r\nimport {\r\n getWeekendsCount\r\n} from \"../../../renovation/ui/scheduler/view_model/to_test/views/utils/work_week\";\r\nimport {\r\n VIEWS\r\n} from \"../m_constants\";\r\nimport SchedulerWorkSpaceWeek from \"./m_work_space_week\";\r\nvar WORK_WEEK_CLASS = \"dx-scheduler-work-space-work-week\";\r\nclass SchedulerWorkSpaceWorkWeek extends SchedulerWorkSpaceWeek {\r\n get type() {\r\n return VIEWS.WORK_WEEK\r\n }\r\n constructor() {\r\n super(...arguments);\r\n this._getWeekendsCount = getWeekendsCount\r\n }\r\n _getElementClass() {\r\n return WORK_WEEK_CLASS\r\n }\r\n}\r\nregisterComponent(\"dxSchedulerWorkSpaceWorkWeek\", SchedulerWorkSpaceWorkWeek);\r\nexport default SchedulerWorkSpaceWorkWeek;\r\n","/**\r\n * DevExtreme (esm/__internal/scheduler/m_scheduler.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport config from \"../../core/config\";\r\nimport devices from \"../../core/devices\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n BindableTemplate\r\n} from \"../../core/templates/bindable_template\";\r\nimport {\r\n EmptyTemplate\r\n} from \"../../core/templates/empty_template\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n compileGetter\r\n} from \"../../core/utils/data\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport dateSerialization from \"../../core/utils/date_serialization\";\r\nimport {\r\n Deferred,\r\n fromPromise,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../core/utils/position\";\r\nimport {\r\n isDeferred,\r\n isDefined,\r\n isEmptyObject,\r\n isFunction,\r\n isObject,\r\n isPromise,\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport DataHelperMixin from \"../../data_helper\";\r\nimport {\r\n triggerResizeEvent\r\n} from \"../../events/visibility_change\";\r\nimport dateLocalization from \"../../localization/date\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n getAppointmentTakesAllDay\r\n} from \"../../renovation/ui/scheduler/appointment/utils/getAppointmentTakesAllDay\";\r\nimport {\r\n renovationGetCurrentView\r\n} from \"../../renovation/ui/scheduler/model/untyped_getCurrentView\";\r\nimport {\r\n createTimeZoneCalculator\r\n} from \"../../renovation/ui/scheduler/timeZoneCalculator/createTimeZoneCalculator\";\r\nimport {\r\n getPreparedDataItems\r\n} from \"../../renovation/ui/scheduler/utils/data\";\r\nimport {\r\n excludeFromRecurrence\r\n} from \"../../renovation/ui/scheduler/utils/recurrence/excludeFromRecurrence\";\r\nimport {\r\n isDateAndTimeView as _isDateAndTimeView,\r\n isTimelineView,\r\n validateDayHours\r\n} from \"../../renovation/ui/scheduler/view_model/to_test/views/utils/base\";\r\nimport {\r\n custom as customDialog\r\n} from \"../../ui/dialog\";\r\nimport {\r\n isMaterial\r\n} from \"../../ui/themes\";\r\nimport errors from \"../../ui/widget/ui.errors\";\r\nimport Widget from \"../../ui/widget/ui.widget\";\r\nimport {\r\n AppointmentForm\r\n} from \"./appointment_popup/m_form\";\r\nimport {\r\n ACTION_TO_APPOINTMENT,\r\n AppointmentPopup\r\n} from \"./appointment_popup/m_popup\";\r\nimport {\r\n AppointmentDataProvider\r\n} from \"./appointments/data_provider/m_appointment_data_provider\";\r\nimport AppointmentCollection from \"./appointments/m_appointment_collection\";\r\nimport {\r\n renderAppointments\r\n} from \"./appointments/m_render\";\r\nimport {\r\n SchedulerHeader\r\n} from \"./header/m_header\";\r\nimport {\r\n createAppointmentAdapter\r\n} from \"./m_appointment_adapter\";\r\nimport AppointmentLayoutManager from \"./m_appointments_layout_manager\";\r\nimport {\r\n CompactAppointmentsHelper\r\n} from \"./m_compact_appointments_helper\";\r\nimport {\r\n AppointmentTooltipInfo\r\n} from \"./m_data_structures\";\r\nimport {\r\n ExpressionUtils\r\n} from \"./m_expression_utils\";\r\nimport {\r\n hide as hideLoading,\r\n show as showLoading\r\n} from \"./m_loading\";\r\nimport {\r\n getRecurrenceProcessor\r\n} from \"./m_recurrence\";\r\nimport subscribes from \"./m_subscribes\";\r\nimport {\r\n utils\r\n} from \"./m_utils\";\r\nimport timeZoneUtils from \"./m_utils_time_zone\";\r\nimport {\r\n AgendaResourceProcessor\r\n} from \"./resources/m_agenda_resource_processor\";\r\nimport {\r\n createExpressions,\r\n createResourceEditorModel as _createResourceEditorModel,\r\n getAppointmentColor,\r\n getCellGroups,\r\n loadResources,\r\n setResourceToAppointment\r\n} from \"./resources/m_utils\";\r\nimport {\r\n DesktopTooltipStrategy\r\n} from \"./tooltip_strategies/m_desktop_tooltip_strategy\";\r\nimport {\r\n MobileTooltipStrategy\r\n} from \"./tooltip_strategies/m_mobile_tooltip_strategy\";\r\nimport SchedulerAgenda from \"./workspaces/m_agenda\";\r\nimport SchedulerTimelineDay from \"./workspaces/m_timeline_day\";\r\nimport SchedulerTimelineMonth from \"./workspaces/m_timeline_month\";\r\nimport SchedulerTimelineWeek from \"./workspaces/m_timeline_week\";\r\nimport SchedulerTimelineWorkWeek from \"./workspaces/m_timeline_work_week\";\r\nimport SchedulerWorkSpaceDay from \"./workspaces/m_work_space_day\";\r\nimport SchedulerWorkSpaceMonth from \"./workspaces/m_work_space_month\";\r\nimport SchedulerWorkSpaceWeek from \"./workspaces/m_work_space_week\";\r\nimport SchedulerWorkSpaceWorkWeek from \"./workspaces/m_work_space_work_week\";\r\nvar MINUTES_IN_HOUR = 60;\r\nvar DEFAULT_AGENDA_DURATION = 7;\r\nvar WIDGET_CLASS = \"dx-scheduler\";\r\nvar WIDGET_SMALL_CLASS = \"\".concat(WIDGET_CLASS, \"-small\");\r\nvar WIDGET_ADAPTIVE_CLASS = \"\".concat(WIDGET_CLASS, \"-adaptive\");\r\nvar WIDGET_READONLY_CLASS = \"\".concat(WIDGET_CLASS, \"-readonly\");\r\nvar WIDGET_SMALL_WIDTH = 400;\r\nvar FULL_DATE_FORMAT = \"yyyyMMddTHHmmss\";\r\nvar UTC_FULL_DATE_FORMAT = \"\".concat(FULL_DATE_FORMAT, \"Z\");\r\nvar DEFAULT_APPOINTMENT_TEMPLATE_NAME = \"item\";\r\nvar DEFAULT_APPOINTMENT_COLLECTOR_TEMPLATE_NAME = \"appointmentCollector\";\r\nvar DEFAULT_DROP_DOWN_APPOINTMENT_TEMPLATE_NAME = \"dropDownAppointment\";\r\nvar VIEWS_CONFIG = {\r\n day: {\r\n workSpace: SchedulerWorkSpaceDay,\r\n renderingStrategy: \"vertical\"\r\n },\r\n week: {\r\n workSpace: SchedulerWorkSpaceWeek,\r\n renderingStrategy: \"vertical\"\r\n },\r\n workWeek: {\r\n workSpace: SchedulerWorkSpaceWorkWeek,\r\n renderingStrategy: \"vertical\"\r\n },\r\n month: {\r\n workSpace: SchedulerWorkSpaceMonth,\r\n renderingStrategy: \"horizontalMonth\"\r\n },\r\n timelineDay: {\r\n workSpace: SchedulerTimelineDay,\r\n renderingStrategy: \"horizontal\"\r\n },\r\n timelineWeek: {\r\n workSpace: SchedulerTimelineWeek,\r\n renderingStrategy: \"horizontal\"\r\n },\r\n timelineWorkWeek: {\r\n workSpace: SchedulerTimelineWorkWeek,\r\n renderingStrategy: \"horizontal\"\r\n },\r\n timelineMonth: {\r\n workSpace: SchedulerTimelineMonth,\r\n renderingStrategy: \"horizontalMonthLine\"\r\n },\r\n agenda: {\r\n workSpace: SchedulerAgenda,\r\n renderingStrategy: \"agenda\"\r\n }\r\n};\r\nvar StoreEventNames = {\r\n ADDING: \"onAppointmentAdding\",\r\n ADDED: \"onAppointmentAdded\",\r\n DELETING: \"onAppointmentDeleting\",\r\n DELETED: \"onAppointmentDeleted\",\r\n UPDATING: \"onAppointmentUpdating\",\r\n UPDATED: \"onAppointmentUpdated\"\r\n};\r\nvar RECURRENCE_EDITING_MODE = {\r\n SERIES: \"editSeries\",\r\n OCCURENCE: \"editOccurence\",\r\n CANCEL: \"cancel\"\r\n};\r\nclass Scheduler extends Widget {\r\n _getDefaultOptions() {\r\n var defaultOptions = extend(super._getDefaultOptions(), {\r\n views: [\"day\", \"week\"],\r\n currentView: \"day\",\r\n currentDate: dateUtils.trimTime(new Date),\r\n min: void 0,\r\n max: void 0,\r\n dateSerializationFormat: void 0,\r\n firstDayOfWeek: void 0,\r\n groups: [],\r\n resources: [],\r\n loadedResources: [],\r\n resourceLoaderMap: new Map,\r\n dataSource: null,\r\n customizeDateNavigatorText: void 0,\r\n appointmentTemplate: DEFAULT_APPOINTMENT_TEMPLATE_NAME,\r\n dropDownAppointmentTemplate: DEFAULT_DROP_DOWN_APPOINTMENT_TEMPLATE_NAME,\r\n appointmentCollectorTemplate: DEFAULT_APPOINTMENT_COLLECTOR_TEMPLATE_NAME,\r\n dataCellTemplate: null,\r\n timeCellTemplate: null,\r\n resourceCellTemplate: null,\r\n dateCellTemplate: null,\r\n startDayHour: 0,\r\n endDayHour: 24,\r\n editing: {\r\n allowAdding: true,\r\n allowDeleting: true,\r\n allowDragging: true,\r\n allowResizing: true,\r\n allowUpdating: true,\r\n allowTimeZoneEditing: false\r\n },\r\n showAllDayPanel: true,\r\n showCurrentTimeIndicator: true,\r\n shadeUntilCurrentTime: false,\r\n indicatorUpdateInterval: 3e5,\r\n indicatorTime: void 0,\r\n recurrenceEditMode: \"dialog\",\r\n cellDuration: 30,\r\n maxAppointmentsPerCell: \"auto\",\r\n selectedCellData: [],\r\n groupByDate: false,\r\n onAppointmentRendered: null,\r\n onAppointmentClick: null,\r\n onAppointmentDblClick: null,\r\n onAppointmentContextMenu: null,\r\n onCellClick: null,\r\n onCellContextMenu: null,\r\n onAppointmentAdding: null,\r\n onAppointmentAdded: null,\r\n onAppointmentUpdating: null,\r\n onAppointmentUpdated: null,\r\n onAppointmentDeleting: null,\r\n onAppointmentDeleted: null,\r\n onAppointmentFormOpening: null,\r\n onAppointmentTooltipShowing: null,\r\n appointmentTooltipTemplate: \"appointmentTooltip\",\r\n appointmentPopupTemplate: \"appointmentPopup\",\r\n crossScrollingEnabled: false,\r\n useDropDownViewSwitcher: false,\r\n startDateExpr: \"startDate\",\r\n endDateExpr: \"endDate\",\r\n textExpr: \"text\",\r\n descriptionExpr: \"description\",\r\n allDayExpr: \"allDay\",\r\n recurrenceRuleExpr: \"recurrenceRule\",\r\n recurrenceExceptionExpr: \"recurrenceException\",\r\n disabledExpr: \"disabled\",\r\n remoteFiltering: false,\r\n timeZone: \"\",\r\n startDateTimeZoneExpr: \"startDateTimeZone\",\r\n endDateTimeZoneExpr: \"endDateTimeZone\",\r\n noDataText: messageLocalization.format(\"dxCollectionWidget-noDataText\"),\r\n adaptivityEnabled: false,\r\n allowMultipleCellSelection: true,\r\n scrolling: {\r\n mode: \"standard\"\r\n },\r\n allDayPanelMode: \"all\",\r\n renovateRender: true,\r\n _draggingMode: \"outlook\",\r\n _appointmentTooltipOffset: {\r\n x: 0,\r\n y: 0\r\n },\r\n _appointmentTooltipButtonsPosition: \"bottom\",\r\n _appointmentTooltipOpenButtonText: messageLocalization.format(\"dxScheduler-openAppointment\"),\r\n _appointmentCountPerCell: 2,\r\n _collectorOffset: 0,\r\n _appointmentOffset: 26,\r\n toolbar: [{\r\n location: \"before\",\r\n defaultElement: \"dateNavigator\"\r\n }, {\r\n location: \"after\",\r\n defaultElement: \"viewSwitcher\"\r\n }]\r\n });\r\n return extend(true, defaultOptions, {\r\n integrationOptions: {\r\n useDeferUpdateForTemplates: false\r\n }\r\n })\r\n }\r\n get filteredItems() {\r\n if (!this._filteredItems) {\r\n this._filteredItems = []\r\n }\r\n return this._filteredItems\r\n }\r\n set filteredItems(value) {\r\n this._filteredItems = value\r\n }\r\n get preparedItems() {\r\n if (!this._preparedItems) {\r\n this._preparedItems = []\r\n }\r\n return this._preparedItems\r\n }\r\n set preparedItems(value) {\r\n this._preparedItems = value\r\n }\r\n get currentView() {\r\n return renovationGetCurrentView(this.option(\"currentView\"), this.option(\"views\"))\r\n }\r\n get currentViewType() {\r\n return isObject(this.currentView) ? this.currentView.type : this.currentView\r\n }\r\n get timeZoneCalculator() {\r\n if (!this._timeZoneCalculator) {\r\n this._timeZoneCalculator = createTimeZoneCalculator(this.option(\"timeZone\"))\r\n }\r\n return this._timeZoneCalculator\r\n }\r\n _setDeprecatedOptions() {\r\n super._setDeprecatedOptions();\r\n extend(this._deprecatedOptions, {\r\n dropDownAppointmentTemplate: {\r\n since: \"19.2\",\r\n message: \"appointmentTooltipTemplate\"\r\n }\r\n })\r\n }\r\n _defaultOptionsRules() {\r\n return super._defaultOptionsRules().concat([{\r\n device: () => \"desktop\" === devices.real().deviceType && !devices.isSimulator(),\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: () => !devices.current().generic,\r\n options: {\r\n useDropDownViewSwitcher: true,\r\n editing: {\r\n allowDragging: false,\r\n allowResizing: false\r\n }\r\n }\r\n }, {\r\n device: () => isMaterial(),\r\n options: {\r\n useDropDownViewSwitcher: true,\r\n dateCellTemplate(data, index, element) {\r\n var {\r\n text: text\r\n } = data;\r\n text.split(\" \").forEach((text, index) => {\r\n var span = $(\"<span>\").text(text).addClass(\"dx-scheduler-header-panel-cell-date\");\r\n $(element).append(span);\r\n if (!index) {\r\n $(element).append(\" \")\r\n }\r\n })\r\n },\r\n _appointmentTooltipOffset: {\r\n x: 0,\r\n y: 11\r\n },\r\n _appointmentTooltipButtonsPosition: \"top\",\r\n _appointmentTooltipOpenButtonText: null,\r\n _appointmentCountPerCell: 1,\r\n _collectorOffset: 20,\r\n _appointmentOffset: 30\r\n }\r\n }])\r\n }\r\n _postponeDataSourceLoading(promise) {\r\n this.postponedOperations.add(\"_reloadDataSource\", this._reloadDataSource.bind(this), promise)\r\n }\r\n _postponeResourceLoading() {\r\n var whenLoaded = this.postponedOperations.add(\"loadResources\", () => {\r\n var groups = this._getCurrentViewOption(\"groups\");\r\n return loadResources(groups, this.option(\"resources\"), this.option(\"resourceLoaderMap\"))\r\n });\r\n var resolveCallbacks = new Deferred;\r\n whenLoaded.done(resources => {\r\n this.option(\"loadedResources\", resources);\r\n resolveCallbacks.resolve(resources)\r\n });\r\n this._postponeDataSourceLoading(whenLoaded);\r\n return resolveCallbacks.promise()\r\n }\r\n _optionChanged(args) {\r\n var _a, _b, _c, _d;\r\n var {\r\n value: value\r\n } = args;\r\n var {\r\n name: name\r\n } = args;\r\n switch (args.name) {\r\n case \"customizeDateNavigatorText\":\r\n this._updateOption(\"header\", name, value);\r\n break;\r\n case \"firstDayOfWeek\":\r\n this._updateOption(\"workSpace\", name, value);\r\n this._updateOption(\"header\", name, value);\r\n break;\r\n case \"currentDate\":\r\n value = this._dateOption(name);\r\n value = dateUtils.trimTime(new Date(value));\r\n this.option(\"selectedCellData\", []);\r\n this._workSpace.option(name, new Date(value));\r\n null === (_a = this._header) || void 0 === _a ? void 0 : _a.option(name, new Date(value));\r\n null === (_b = this._header) || void 0 === _b ? void 0 : _b.option(\"startViewDate\", this.getStartViewDate());\r\n this._appointments.option(\"items\", []);\r\n this._filterAppointmentsByDate();\r\n this._postponeDataSourceLoading();\r\n break;\r\n case \"dataSource\":\r\n this._initDataSource();\r\n this.appointmentDataProvider.setDataSource(this._dataSource);\r\n this._postponeResourceLoading().done(() => {\r\n this._filterAppointmentsByDate();\r\n this._updateOption(\"workSpace\", \"showAllDayPanel\", this.option(\"showAllDayPanel\"))\r\n });\r\n break;\r\n case \"min\":\r\n case \"max\":\r\n value = this._dateOption(name);\r\n this._updateOption(\"header\", name, new Date(value));\r\n this._updateOption(\"workSpace\", name, new Date(value));\r\n break;\r\n case \"views\":\r\n if (this._getCurrentViewOptions()) {\r\n this.repaint()\r\n } else {\r\n null === (_c = this._header) || void 0 === _c ? void 0 : _c.option(name, value)\r\n }\r\n break;\r\n case \"useDropDownViewSwitcher\":\r\n null === (_d = this._header) || void 0 === _d ? void 0 : _d.option(name, value);\r\n break;\r\n case \"currentView\":\r\n this._validateDayHours();\r\n this._validateCellDuration();\r\n this._appointments.option({\r\n items: [],\r\n allowDrag: this._allowDragging(),\r\n allowResize: this._allowResizing(),\r\n itemTemplate: this._getAppointmentTemplate(\"appointmentTemplate\")\r\n });\r\n this._postponeResourceLoading().done(resources => {\r\n var _a;\r\n this._refreshWorkSpace(resources);\r\n null === (_a = this._header) || void 0 === _a ? void 0 : _a.option(this._headerConfig());\r\n this._filterAppointmentsByDate();\r\n this._appointments.option(\"allowAllDayResize\", \"day\" !== value)\r\n });\r\n this.postponedOperations.callPostponedOperations();\r\n break;\r\n case \"appointmentTemplate\":\r\n this._appointments.option(\"itemTemplate\", value);\r\n break;\r\n case \"dateCellTemplate\":\r\n case \"resourceCellTemplate\":\r\n case \"dataCellTemplate\":\r\n case \"timeCellTemplate\":\r\n this.repaint();\r\n break;\r\n case \"groups\":\r\n this._postponeResourceLoading().done(resources => {\r\n this._refreshWorkSpace(resources);\r\n this._filterAppointmentsByDate()\r\n });\r\n break;\r\n case \"resources\":\r\n this._dataAccessors.resources = createExpressions(this.option(\"resources\"));\r\n this.agendaResourceProcessor.initializeState(this.option(\"resources\"));\r\n this.updateInstances();\r\n this._postponeResourceLoading().done(resources => {\r\n this._appointments.option(\"items\", []);\r\n this._refreshWorkSpace(resources);\r\n this._filterAppointmentsByDate();\r\n this._createAppointmentPopupForm()\r\n });\r\n break;\r\n case \"startDayHour\":\r\n case \"endDayHour\":\r\n this._validateDayHours();\r\n this.updateInstances();\r\n this._appointments.option(\"items\", []);\r\n this._updateOption(\"workSpace\", name, value);\r\n this._appointments.repaint();\r\n this._filterAppointmentsByDate();\r\n this._postponeDataSourceLoading();\r\n break;\r\n case StoreEventNames.ADDING:\r\n case StoreEventNames.ADDED:\r\n case StoreEventNames.UPDATING:\r\n case StoreEventNames.UPDATED:\r\n case StoreEventNames.DELETING:\r\n case StoreEventNames.DELETED:\r\n case \"onAppointmentFormOpening\":\r\n case \"onAppointmentTooltipShowing\":\r\n this._actions[name] = this._createActionByOption(name);\r\n break;\r\n case \"onAppointmentRendered\":\r\n this._appointments.option(\"onItemRendered\", this._getAppointmentRenderedAction());\r\n break;\r\n case \"onAppointmentClick\":\r\n this._appointments.option(\"onItemClick\", this._createActionByOption(name));\r\n break;\r\n case \"onAppointmentDblClick\":\r\n this._appointments.option(name, this._createActionByOption(name));\r\n break;\r\n case \"onAppointmentContextMenu\":\r\n this._appointments.option(\"onItemContextMenu\", this._createActionByOption(name));\r\n this._appointmentTooltip._options.onItemContextMenu = this._createActionByOption(name);\r\n break;\r\n case \"noDataText\":\r\n case \"allowMultipleCellSelection\":\r\n case \"selectedCellData\":\r\n case \"accessKey\":\r\n case \"onCellClick\":\r\n case \"onCellContextMenu\":\r\n this._workSpace.option(name, value);\r\n break;\r\n case \"crossScrollingEnabled\":\r\n this._postponeResourceLoading().done(resources => {\r\n this._appointments.option(\"items\", []);\r\n this._refreshWorkSpace(resources);\r\n if (this._readyToRenderAppointments) {\r\n this._appointments.option(\"items\", this._getAppointmentsToRepaint())\r\n }\r\n });\r\n break;\r\n case \"cellDuration\":\r\n this._validateCellDuration();\r\n this._updateOption(\"workSpace\", name, value);\r\n this._appointments.option(\"items\", []);\r\n if (this._readyToRenderAppointments) {\r\n this._updateOption(\"workSpace\", \"hoursInterval\", value / 60);\r\n this._appointments.option(\"items\", this._getAppointmentsToRepaint())\r\n }\r\n break;\r\n case \"tabIndex\":\r\n case \"focusStateEnabled\":\r\n this._updateOption(\"header\", name, value);\r\n this._updateOption(\"workSpace\", name, value);\r\n this._appointments.option(name, value);\r\n super._optionChanged(args);\r\n break;\r\n case \"width\":\r\n this._updateOption(\"header\", name, value);\r\n if (this.option(\"crossScrollingEnabled\")) {\r\n this._updateOption(\"workSpace\", \"width\", value)\r\n }\r\n this._updateOption(\"workSpace\", \"schedulerWidth\", value);\r\n super._optionChanged(args);\r\n this._dimensionChanged(null, true);\r\n break;\r\n case \"height\":\r\n super._optionChanged(args);\r\n this._dimensionChanged(null, true);\r\n this._updateOption(\"workSpace\", \"schedulerHeight\", value);\r\n break;\r\n case \"editing\":\r\n this._initEditing();\r\n var editing = this._editing;\r\n this._bringEditingModeToAppointments(editing);\r\n this.hideAppointmentTooltip();\r\n this._cleanPopup();\r\n break;\r\n case \"showAllDayPanel\":\r\n this.updateInstances();\r\n this.repaint();\r\n break;\r\n case \"showCurrentTimeIndicator\":\r\n case \"indicatorTime\":\r\n case \"indicatorUpdateInterval\":\r\n case \"shadeUntilCurrentTime\":\r\n case \"groupByDate\":\r\n this._updateOption(\"workSpace\", name, value);\r\n this.repaint();\r\n break;\r\n case \"appointmentDragging\":\r\n case \"appointmentTooltipTemplate\":\r\n case \"appointmentPopupTemplate\":\r\n case \"recurrenceEditMode\":\r\n case \"remoteFiltering\":\r\n case \"timeZone\":\r\n this.updateInstances();\r\n this.repaint();\r\n break;\r\n case \"dropDownAppointmentTemplate\":\r\n case \"appointmentCollectorTemplate\":\r\n case \"_appointmentTooltipOffset\":\r\n case \"_appointmentTooltipButtonsPosition\":\r\n case \"_appointmentTooltipOpenButtonText\":\r\n case \"_appointmentCountPerCell\":\r\n case \"_collectorOffset\":\r\n case \"_appointmentOffset\":\r\n this.repaint();\r\n break;\r\n case \"dateSerializationFormat\":\r\n case \"maxAppointmentsPerCell\":\r\n break;\r\n case \"startDateExpr\":\r\n case \"endDateExpr\":\r\n case \"startDateTimeZoneExpr\":\r\n case \"endDateTimeZoneExpr\":\r\n case \"textExpr\":\r\n case \"descriptionExpr\":\r\n case \"allDayExpr\":\r\n case \"recurrenceRuleExpr\":\r\n case \"recurrenceExceptionExpr\":\r\n case \"disabledExpr\":\r\n this._updateExpression(name, value);\r\n this.appointmentDataProvider.updateDataAccessors(this._dataAccessors);\r\n this._initAppointmentTemplate();\r\n this.repaint();\r\n break;\r\n case \"adaptivityEnabled\":\r\n this._toggleAdaptiveClass();\r\n this.repaint();\r\n break;\r\n case \"scrolling\":\r\n this.option(\"crossScrollingEnabled\", this._isHorizontalVirtualScrolling() || this.option(\"crossScrollingEnabled\"));\r\n this._updateOption(\"workSpace\", args.fullName, value);\r\n break;\r\n case \"allDayPanelMode\":\r\n this.updateInstances();\r\n this._updateOption(\"workSpace\", args.fullName, value);\r\n break;\r\n case \"renovateRender\":\r\n this._updateOption(\"workSpace\", name, value);\r\n break;\r\n case \"_draggingMode\":\r\n this._workSpace.option(\"draggingMode\", value);\r\n break;\r\n case \"toolbar\":\r\n this._header ? this._header.option(\"items\", value) : this.repaint();\r\n break;\r\n case \"loadedResources\":\r\n case \"resourceLoaderMap\":\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _dateOption(optionName) {\r\n var optionValue = this._getCurrentViewOption(optionName);\r\n return dateSerialization.deserializeDate(optionValue)\r\n }\r\n _getSerializationFormat(optionName) {\r\n var value = this._getCurrentViewOption(optionName);\r\n if (\"number\" === typeof value) {\r\n return \"number\"\r\n }\r\n if (!isString(value)) {\r\n return\r\n }\r\n return dateSerialization.getDateSerializationFormat(value)\r\n }\r\n _bringEditingModeToAppointments(editing) {\r\n var editingConfig = {\r\n allowDelete: editing.allowUpdating && editing.allowDeleting\r\n };\r\n if (!this._isAgenda()) {\r\n editingConfig.allowDrag = editing.allowDragging;\r\n editingConfig.allowResize = editing.allowResizing;\r\n editingConfig.allowAllDayResize = editing.allowResizing && this._supportAllDayResizing()\r\n }\r\n this._appointments.option(editingConfig);\r\n this.repaint()\r\n }\r\n _isAgenda() {\r\n return \"agenda\" === this.getLayoutManager().appointmentRenderingStrategyName\r\n }\r\n _allowDragging() {\r\n return this._editing.allowDragging && !this._isAgenda()\r\n }\r\n _allowResizing() {\r\n return this._editing.allowResizing && !this._isAgenda()\r\n }\r\n _allowAllDayResizing() {\r\n return this._editing.allowResizing && this._supportAllDayResizing()\r\n }\r\n _supportAllDayResizing() {\r\n return \"day\" !== this.currentViewType || this.currentView.intervalCount > 1\r\n }\r\n _isAllDayExpanded() {\r\n return this.option(\"showAllDayPanel\") && this.appointmentDataProvider.hasAllDayAppointments(this.filteredItems, this.preparedItems)\r\n }\r\n _getTimezoneOffsetByOption(date) {\r\n return timeZoneUtils.calculateTimezoneByValue(this.option(\"timeZone\"), date)\r\n }\r\n _filterAppointmentsByDate() {\r\n var dateRange = this._workSpace.getDateRange();\r\n var startDate = this.timeZoneCalculator.createDate(dateRange[0], {\r\n path: \"fromGrid\"\r\n });\r\n var endDate = this.timeZoneCalculator.createDate(dateRange[1], {\r\n path: \"fromGrid\"\r\n });\r\n this.appointmentDataProvider.filterByDate(startDate, endDate, this.option(\"remoteFiltering\"), this.option(\"dateSerializationFormat\"))\r\n }\r\n _reloadDataSource() {\r\n var result = new Deferred;\r\n if (this._dataSource) {\r\n this._dataSource.load().done(() => {\r\n hideLoading();\r\n this._fireContentReadyAction(result)\r\n }).fail(() => {\r\n hideLoading();\r\n result.reject()\r\n });\r\n this._dataSource.isLoading() && showLoading({\r\n container: this.$element(),\r\n position: {\r\n of: this.$element()\r\n }\r\n })\r\n } else {\r\n this._fireContentReadyAction(result)\r\n }\r\n return result.promise()\r\n }\r\n _fireContentReadyAction(result) {\r\n var _a;\r\n var contentReadyBase = super._fireContentReadyAction.bind(this);\r\n var fireContentReady = () => {\r\n contentReadyBase();\r\n null === result || void 0 === result ? void 0 : result.resolve()\r\n };\r\n if (this._workSpaceRecalculation) {\r\n null === (_a = this._workSpaceRecalculation) || void 0 === _a ? void 0 : _a.done(() => {\r\n fireContentReady()\r\n })\r\n } else {\r\n fireContentReady()\r\n }\r\n }\r\n _dimensionChanged(value) {\r\n var isForce = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : false;\r\n var isFixedHeight = \"number\" === typeof this.option(\"height\");\r\n var isFixedWidth = \"number\" === typeof this.option(\"width\");\r\n if (!this._isVisible()) {\r\n return\r\n }\r\n this._toggleSmallClass();\r\n var workspace = this.getWorkSpace();\r\n if (!this._isAgenda() && this.filteredItems && workspace) {\r\n if (isForce || !isFixedHeight || !isFixedWidth) {\r\n workspace.option(\"allDayExpanded\", this._isAllDayExpanded());\r\n workspace._dimensionChanged();\r\n var appointments = this.getLayoutManager().createAppointmentsMap(this.filteredItems);\r\n this._appointments.option(\"items\", appointments)\r\n }\r\n }\r\n this.hideAppointmentTooltip();\r\n this._appointmentPopup.triggerResize();\r\n this._appointmentPopup.updatePopupFullScreenMode()\r\n }\r\n _clean() {\r\n this._cleanPopup();\r\n super._clean()\r\n }\r\n _toggleSmallClass() {\r\n var {\r\n width: width\r\n } = getBoundingRect(this.$element().get(0));\r\n this.$element().toggleClass(WIDGET_SMALL_CLASS, width < WIDGET_SMALL_WIDTH)\r\n }\r\n _toggleAdaptiveClass() {\r\n this.$element().toggleClass(WIDGET_ADAPTIVE_CLASS, this.option(\"adaptivityEnabled\"))\r\n }\r\n _visibilityChanged(visible) {\r\n visible && this._dimensionChanged(null, true)\r\n }\r\n _dataSourceOptions() {\r\n return {\r\n paginate: false\r\n }\r\n }\r\n _initAllDayPanel() {\r\n if (\"hidden\" === this.option(\"allDayPanelMode\")) {\r\n this.option(\"showAllDayPanel\", false)\r\n }\r\n }\r\n _init() {\r\n this._initExpressions({\r\n startDate: this.option(\"startDateExpr\"),\r\n endDate: this.option(\"endDateExpr\"),\r\n startDateTimeZone: this.option(\"startDateTimeZoneExpr\"),\r\n endDateTimeZone: this.option(\"endDateTimeZoneExpr\"),\r\n allDay: this.option(\"allDayExpr\"),\r\n text: this.option(\"textExpr\"),\r\n description: this.option(\"descriptionExpr\"),\r\n recurrenceRule: this.option(\"recurrenceRuleExpr\"),\r\n recurrenceException: this.option(\"recurrenceExceptionExpr\"),\r\n disabled: this.option(\"disabledExpr\")\r\n });\r\n super._init();\r\n this._initAllDayPanel();\r\n this._initDataSource();\r\n this._customizeDataSourceLoadOptions();\r\n this.$element().addClass(WIDGET_CLASS);\r\n this._initEditing();\r\n this.updateInstances();\r\n this._initActions();\r\n this._compactAppointmentsHelper = new CompactAppointmentsHelper(this);\r\n this._asyncTemplatesTimers = [];\r\n this._dataSourceLoadedCallback = Callbacks();\r\n this._subscribes = subscribes;\r\n this.agendaResourceProcessor = new AgendaResourceProcessor(this.option(\"resources\"))\r\n }\r\n createAppointmentDataProvider() {\r\n var _a;\r\n null === (_a = this.appointmentDataProvider) || void 0 === _a ? void 0 : _a.destroy();\r\n this.appointmentDataProvider = new AppointmentDataProvider({\r\n dataSource: this._dataSource,\r\n dataAccessors: this._dataAccessors,\r\n timeZoneCalculator: this.timeZoneCalculator,\r\n dateSerializationFormat: this.option(\"dateSerializationFormat\"),\r\n resources: this.option(\"resources\"),\r\n startDayHour: this._getCurrentViewOption(\"startDayHour\"),\r\n endDayHour: this._getCurrentViewOption(\"endDayHour\"),\r\n appointmentDuration: this._getCurrentViewOption(\"cellDuration\"),\r\n allDayPanelMode: this._getCurrentViewOption(\"allDayPanelMode\"),\r\n showAllDayPanel: this.option(\"showAllDayPanel\"),\r\n getLoadedResources: () => this.option(\"loadedResources\"),\r\n getIsVirtualScrolling: () => this.isVirtualScrolling(),\r\n getSupportAllDayRow: () => this._workSpace.supportAllDayRow(),\r\n getViewType: () => this._workSpace.type,\r\n getViewDirection: () => this._workSpace.viewDirection,\r\n getDateRange: () => this._workSpace.getDateRange(),\r\n getGroupCount: () => this._workSpace._getGroupCount(),\r\n getViewDataProvider: () => this._workSpace.viewDataProvider\r\n })\r\n }\r\n updateInstances() {\r\n this._timeZoneCalculator = null;\r\n if (this.getWorkSpace()) {\r\n this.createAppointmentDataProvider()\r\n }\r\n }\r\n _customizeDataSourceLoadOptions() {\r\n var _a;\r\n null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.on(\"customizeStoreLoadOptions\", _ref => {\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = _ref;\r\n storeLoadOptions.startDate = this.getStartViewDate();\r\n storeLoadOptions.endDate = this.getEndViewDate()\r\n })\r\n }\r\n _initTemplates() {\r\n this._initAppointmentTemplate();\r\n this._templateManager.addDefaultTemplates({\r\n appointmentTooltip: new EmptyTemplate,\r\n dropDownAppointment: new EmptyTemplate\r\n });\r\n super._initTemplates()\r\n }\r\n _initAppointmentTemplate() {\r\n var {\r\n expr: expr\r\n } = this._dataAccessors;\r\n var createGetter = property => compileGetter(\"appointmentData.\".concat(property));\r\n var getDate = getter => data => {\r\n var value = getter(data);\r\n if (value instanceof Date) {\r\n return value.valueOf()\r\n }\r\n return value\r\n };\r\n this._templateManager.addDefaultTemplates({\r\n item: new BindableTemplate(($container, data, model) => this.getAppointmentsInstance()._renderAppointmentTemplate($container, data, model), [\"html\", \"text\", \"startDate\", \"endDate\", \"allDay\", \"description\", \"recurrenceRule\", \"recurrenceException\", \"startDateTimeZone\", \"endDateTimeZone\"], this.option(\"integrationOptions.watchMethod\"), {\r\n text: createGetter(expr.textExpr),\r\n startDate: getDate(createGetter(expr.startDateExpr)),\r\n endDate: getDate(createGetter(expr.endDateExpr)),\r\n startDateTimeZone: createGetter(expr.startDateTimeZoneExpr),\r\n endDateTimeZone: createGetter(expr.endDateTimeZoneExpr),\r\n allDay: createGetter(expr.allDayExpr),\r\n recurrenceRule: createGetter(expr.recurrenceRuleExpr)\r\n })\r\n })\r\n }\r\n _renderContent() {\r\n this._renderContentImpl()\r\n }\r\n _updatePreparedItems(items) {\r\n this.preparedItems = getPreparedDataItems(items, this._dataAccessors, this._getCurrentViewOption(\"cellDuration\"), this.timeZoneCalculator)\r\n }\r\n _dataSourceChangedHandler(result) {\r\n if (this._readyToRenderAppointments) {\r\n this._workSpaceRecalculation.done(() => {\r\n this._updatePreparedItems(result);\r\n this._renderAppointments();\r\n this.getWorkSpace().onDataSourceChanged(this.filteredItems)\r\n })\r\n }\r\n }\r\n isVirtualScrolling() {\r\n var _a;\r\n var workspace = this.getWorkSpace();\r\n if (workspace) {\r\n return workspace.isVirtualScrolling()\r\n }\r\n var currentViewOptions = this._getCurrentViewOptions();\r\n var scrolling = this.option(\"scrolling\");\r\n return \"virtual\" === (null === scrolling || void 0 === scrolling ? void 0 : scrolling.mode) || \"virtual\" === (null === (_a = null === currentViewOptions || void 0 === currentViewOptions ? void 0 : currentViewOptions.scrolling) || void 0 === _a ? void 0 : _a.mode)\r\n }\r\n _filterAppointments() {\r\n this.filteredItems = this.appointmentDataProvider.filter(this.preparedItems)\r\n }\r\n _renderAppointments() {\r\n var workspace = this.getWorkSpace();\r\n this._filterAppointments();\r\n workspace.option(\"allDayExpanded\", this._isAllDayExpanded());\r\n var viewModel = [];\r\n if (this._isVisible()) {\r\n viewModel = this._getAppointmentsToRepaint()\r\n }\r\n if (this.option(\"isRenovatedAppointments\")) {\r\n renderAppointments({\r\n instance: this,\r\n $dateTable: this.getWorkSpace()._getDateTable(),\r\n viewModel: viewModel\r\n })\r\n } else {\r\n this._appointments.option(\"items\", viewModel)\r\n }\r\n this.appointmentDataProvider.cleanState()\r\n }\r\n _getAppointmentsToRepaint() {\r\n var layoutManager = this.getLayoutManager();\r\n var appointmentsMap = layoutManager.createAppointmentsMap(this.filteredItems);\r\n if (this.option(\"isRenovatedAppointments\")) {\r\n var appointmentTemplate = this.option(\"appointmentTemplate\") !== DEFAULT_APPOINTMENT_TEMPLATE_NAME ? this.option(\"appointmentTemplate\") : void 0;\r\n return {\r\n appointments: appointmentsMap,\r\n appointmentTemplate: appointmentTemplate\r\n }\r\n }\r\n return layoutManager.getRepaintedAppointments(appointmentsMap, this.getAppointmentsInstance().option(\"items\"))\r\n }\r\n _initExpressions(fields) {\r\n this._dataAccessors = utils.dataAccessors.create(fields, this._dataAccessors, config().forceIsoDateParsing, this.option(\"dateSerializationFormat\"));\r\n this._dataAccessors.resources = createExpressions(this.option(\"resources\"))\r\n }\r\n _updateExpression(name, value) {\r\n var exprObj = {};\r\n exprObj[name.replace(\"Expr\", \"\")] = value;\r\n this._initExpressions(exprObj)\r\n }\r\n getResourceDataAccessors() {\r\n return this._dataAccessors.resources\r\n }\r\n _initEditing() {\r\n var editing = this.option(\"editing\");\r\n this._editing = {\r\n allowAdding: !!editing,\r\n allowUpdating: !!editing,\r\n allowDeleting: !!editing,\r\n allowResizing: !!editing,\r\n allowDragging: !!editing\r\n };\r\n if (isObject(editing)) {\r\n this._editing = extend(this._editing, editing)\r\n }\r\n this._editing.allowDragging = this._editing.allowDragging && this._editing.allowUpdating;\r\n this._editing.allowResizing = this._editing.allowResizing && this._editing.allowUpdating;\r\n this.$element().toggleClass(WIDGET_READONLY_CLASS, this._isReadOnly())\r\n }\r\n _isReadOnly() {\r\n var result = true;\r\n var editing = this._editing;\r\n for (var prop in editing) {\r\n if (Object.prototype.hasOwnProperty.call(editing, prop)) {\r\n result = result && !editing[prop]\r\n }\r\n }\r\n return result\r\n }\r\n _dispose() {\r\n var _a;\r\n this._appointmentTooltip && this._appointmentTooltip.dispose();\r\n null === (_a = this._recurrenceDialog) || void 0 === _a ? void 0 : _a.hide(RECURRENCE_EDITING_MODE.CANCEL);\r\n this.hideAppointmentPopup();\r\n this.hideAppointmentTooltip();\r\n this._asyncTemplatesTimers.forEach(clearTimeout);\r\n this._asyncTemplatesTimers = [];\r\n super._dispose()\r\n }\r\n _initActions() {\r\n this._actions = {\r\n onAppointmentAdding: this._createActionByOption(StoreEventNames.ADDING),\r\n onAppointmentAdded: this._createActionByOption(StoreEventNames.ADDED),\r\n onAppointmentUpdating: this._createActionByOption(StoreEventNames.UPDATING),\r\n onAppointmentUpdated: this._createActionByOption(StoreEventNames.UPDATED),\r\n onAppointmentDeleting: this._createActionByOption(StoreEventNames.DELETING),\r\n onAppointmentDeleted: this._createActionByOption(StoreEventNames.DELETED),\r\n onAppointmentFormOpening: this._createActionByOption(\"onAppointmentFormOpening\"),\r\n onAppointmentTooltipShowing: this._createActionByOption(\"onAppointmentTooltipShowing\")\r\n }\r\n }\r\n _getAppointmentRenderedAction() {\r\n return this._createActionByOption(\"onAppointmentRendered\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n }\r\n _renderFocusTarget() {\r\n return noop()\r\n }\r\n _initMarkup() {\r\n super._initMarkup();\r\n this._validateDayHours();\r\n this._validateCellDuration();\r\n this._renderMainContainer();\r\n this._renderHeader();\r\n this._layoutManager = new AppointmentLayoutManager(this);\r\n this._appointments = this._createComponent(\"<div>\", AppointmentCollection, this._appointmentsConfig());\r\n this._appointments.option(\"itemTemplate\", this._getAppointmentTemplate(\"appointmentTemplate\"));\r\n this._appointmentTooltip = new(this.option(\"adaptivityEnabled\") ? MobileTooltipStrategy : DesktopTooltipStrategy)(this._getAppointmentTooltipOptions());\r\n this._createAppointmentPopupForm();\r\n if (this._isDataSourceLoaded() || this._isDataSourceLoading()) {\r\n this._initMarkupCore(this.option(\"loadedResources\"));\r\n this._dataSourceChangedHandler(this._dataSource.items());\r\n this._fireContentReadyAction()\r\n } else {\r\n var groups = this._getCurrentViewOption(\"groups\");\r\n loadResources(groups, this.option(\"resources\"), this.option(\"resourceLoaderMap\")).done(resources => {\r\n this.option(\"loadedResources\", resources);\r\n this._initMarkupCore(resources);\r\n this._reloadDataSource()\r\n })\r\n }\r\n }\r\n _createAppointmentPopupForm() {\r\n var _a, _b;\r\n if (this._appointmentForm) {\r\n null === (_a = this._appointmentForm.form) || void 0 === _a ? void 0 : _a.dispose()\r\n }\r\n this._appointmentForm = this.createAppointmentForm();\r\n null === (_b = this._appointmentPopup) || void 0 === _b ? void 0 : _b.dispose();\r\n this._appointmentPopup = this.createAppointmentPopup(this._appointmentForm)\r\n }\r\n _renderMainContainer() {\r\n this._mainContainer = $(\"<div>\").addClass(\"dx-scheduler-container\");\r\n this.$element().append(this._mainContainer)\r\n }\r\n createAppointmentForm() {\r\n var scheduler = {\r\n createResourceEditorModel: () => _createResourceEditorModel(this.option(\"resources\"), this.option(\"loadedResources\")),\r\n getDataAccessors: () => this._dataAccessors,\r\n createComponent: (element, component, options) => this._createComponent(element, component, options),\r\n getEditingConfig: () => this._editing,\r\n getFirstDayOfWeek: () => this.option(\"firstDayOfWeek\"),\r\n getStartDayHour: () => this.option(\"startDayHour\"),\r\n getCalculatedEndDate: startDateWithStartHour => this._workSpace.calculateEndDate(startDateWithStartHour),\r\n getTimeZoneCalculator: () => this.timeZoneCalculator\r\n };\r\n return new AppointmentForm(scheduler)\r\n }\r\n createAppointmentPopup(form) {\r\n var scheduler = {\r\n getElement: () => this.$element(),\r\n createComponent: (element, component, options) => this._createComponent(element, component, options),\r\n focus: () => this.focus(),\r\n getResources: () => this.option(\"resources\"),\r\n getEditingConfig: () => this._editing,\r\n getTimeZoneCalculator: () => this.timeZoneCalculator,\r\n getDataAccessors: () => this._dataAccessors,\r\n getAppointmentFormOpening: () => this._actions.onAppointmentFormOpening,\r\n processActionResult: (arg, canceled) => this._processActionResult(arg, canceled),\r\n addAppointment: appointment => this.addAppointment(appointment),\r\n updateAppointment: (sourceAppointment, updatedAppointment) => this.updateAppointment(sourceAppointment, updatedAppointment),\r\n updateScrollPosition: (startDate, resourceItem, inAllDayRow) => {\r\n this._workSpace.updateScrollPosition(startDate, resourceItem, inAllDayRow)\r\n }\r\n };\r\n return new AppointmentPopup(scheduler, form)\r\n }\r\n _getAppointmentTooltipOptions() {\r\n return {\r\n createComponent: this._createComponent.bind(this),\r\n container: this.$element(),\r\n getScrollableContainer: this.getWorkSpaceScrollableContainer.bind(this),\r\n addDefaultTemplates: this._templateManager.addDefaultTemplates.bind(this._templateManager),\r\n getAppointmentTemplate: this._getAppointmentTemplate.bind(this),\r\n showAppointmentPopup: this.showAppointmentPopup.bind(this),\r\n checkAndDeleteAppointment: this.checkAndDeleteAppointment.bind(this),\r\n isAppointmentInAllDayPanel: this.isAppointmentInAllDayPanel.bind(this),\r\n createFormattedDateText: (appointment, targetedAppointment, format) => this.fire(\"getTextAndFormatDate\", appointment, targetedAppointment, format),\r\n getAppointmentDisabled: appointment => createAppointmentAdapter(appointment, this._dataAccessors, this.timeZoneCalculator).disabled,\r\n onItemContextMenu: this._createActionByOption(\"onAppointmentContextMenu\"),\r\n createEventArgs: this._createEventArgs.bind(this)\r\n }\r\n }\r\n _createEventArgs(e) {\r\n var config = {\r\n itemData: e.itemData.appointment,\r\n itemElement: e.itemElement,\r\n targetedAppointment: e.itemData.targetedAppointment\r\n };\r\n return extend({}, this.fire(\"mapAppointmentFields\", config), {\r\n component: e.component,\r\n element: e.element,\r\n event: e.event,\r\n model: e.model\r\n })\r\n }\r\n checkAndDeleteAppointment(appointment, targetedAppointment) {\r\n var targetedAdapter = createAppointmentAdapter(targetedAppointment, this._dataAccessors, this.timeZoneCalculator);\r\n var deletingOptions = this.fireOnAppointmentDeleting(appointment, targetedAdapter);\r\n this._checkRecurringAppointment(appointment, targetedAppointment, targetedAdapter.startDate, () => {\r\n this.processDeleteAppointment(appointment, deletingOptions)\r\n }, true)\r\n }\r\n _getExtraAppointmentTooltipOptions() {\r\n return {\r\n rtlEnabled: this.option(\"rtlEnabled\"),\r\n focusStateEnabled: this.option(\"focusStateEnabled\"),\r\n editing: this.option(\"editing\"),\r\n offset: this.option(\"_appointmentTooltipOffset\")\r\n }\r\n }\r\n isAppointmentInAllDayPanel(appointmentData) {\r\n var workSpace = this._workSpace;\r\n var itTakesAllDay = this.appointmentTakesAllDay(appointmentData);\r\n return itTakesAllDay && workSpace.supportAllDayRow() && workSpace.option(\"showAllDayPanel\")\r\n }\r\n _initMarkupCore(resources) {\r\n this._readyToRenderAppointments = hasWindow();\r\n this._workSpace && this._cleanWorkspace();\r\n this._renderWorkSpace(resources);\r\n this._appointments.option({\r\n fixedContainer: this._workSpace.getFixedContainer(),\r\n allDayContainer: this._workSpace.getAllDayContainer()\r\n });\r\n this._waitAsyncTemplate(() => {\r\n var _a;\r\n return null === (_a = this._workSpaceRecalculation) || void 0 === _a ? void 0 : _a.resolve()\r\n });\r\n this.createAppointmentDataProvider();\r\n this._filterAppointmentsByDate();\r\n this._validateKeyFieldIfAgendaExist()\r\n }\r\n _isDataSourceLoaded() {\r\n return this._dataSource && this._dataSource.isLoaded()\r\n }\r\n _render() {\r\n var _a;\r\n this._toggleSmallClass();\r\n this._toggleAdaptiveClass();\r\n null === (_a = this.getWorkSpace()) || void 0 === _a ? void 0 : _a.updateHeaderEmptyCellWidth();\r\n super._render()\r\n }\r\n _renderHeader() {\r\n if (0 !== this.option(\"toolbar\").length) {\r\n var $header = $(\"<div>\").appendTo(this._mainContainer);\r\n this._header = this._createComponent($header, SchedulerHeader, this._headerConfig())\r\n }\r\n }\r\n _headerConfig() {\r\n var currentViewOptions = this._getCurrentViewOptions();\r\n var countConfig = this._getViewCountConfig();\r\n var result = extend({\r\n firstDayOfWeek: this.getFirstDayOfWeek(),\r\n currentView: this.option(\"currentView\"),\r\n isAdaptive: this.option(\"adaptivityEnabled\"),\r\n tabIndex: this.option(\"tabIndex\"),\r\n focusStateEnabled: this.option(\"focusStateEnabled\"),\r\n rtlEnabled: this.option(\"rtlEnabled\"),\r\n useDropDownViewSwitcher: this.option(\"useDropDownViewSwitcher\"),\r\n customizeDateNavigatorText: this.option(\"customizeDateNavigatorText\"),\r\n agendaDuration: currentViewOptions.agendaDuration || DEFAULT_AGENDA_DURATION\r\n }, currentViewOptions);\r\n result.intervalCount = countConfig.intervalCount;\r\n result.views = this.option(\"views\");\r\n result.min = new Date(this._dateOption(\"min\"));\r\n result.max = new Date(this._dateOption(\"max\"));\r\n result.currentDate = dateUtils.trimTime(new Date(this._dateOption(\"currentDate\")));\r\n result.onCurrentViewChange = name => {\r\n this.option(\"currentView\", name)\r\n };\r\n result.onCurrentDateChange = date => {\r\n this.option(\"currentDate\", date)\r\n };\r\n result.items = this.option(\"toolbar\");\r\n result.startViewDate = this.getStartViewDate();\r\n result.todayDate = () => {\r\n var result = this.timeZoneCalculator.createDate(new Date, {\r\n path: \"toGrid\"\r\n });\r\n return result\r\n };\r\n return result\r\n }\r\n _appointmentsConfig() {\r\n var config = {\r\n getResources: () => this.option(\"resources\"),\r\n getResourceDataAccessors: this.getResourceDataAccessors.bind(this),\r\n getAgendaResourceProcessor: () => this.agendaResourceProcessor,\r\n getAppointmentColor: this.createGetAppointmentColor(),\r\n getAppointmentDataProvider: () => this.appointmentDataProvider,\r\n dataAccessors: this._dataAccessors,\r\n observer: this,\r\n onItemRendered: this._getAppointmentRenderedAction(),\r\n onItemClick: this._createActionByOption(\"onAppointmentClick\"),\r\n onItemContextMenu: this._createActionByOption(\"onAppointmentContextMenu\"),\r\n onAppointmentDblClick: this._createActionByOption(\"onAppointmentDblClick\"),\r\n tabIndex: this.option(\"tabIndex\"),\r\n focusStateEnabled: this.option(\"focusStateEnabled\"),\r\n allowDrag: this._allowDragging(),\r\n allowDelete: this._editing.allowUpdating && this._editing.allowDeleting,\r\n allowResize: this._allowResizing(),\r\n allowAllDayResize: this._allowAllDayResizing(),\r\n rtlEnabled: this.option(\"rtlEnabled\"),\r\n currentView: this.currentView,\r\n groups: this._getCurrentViewOption(\"groups\"),\r\n isRenovatedAppointments: this.option(\"isRenovatedAppointments\"),\r\n timeZoneCalculator: this.timeZoneCalculator,\r\n getResizableStep: () => this._workSpace ? this._workSpace.positionHelper.getResizableStep() : 0,\r\n getDOMElementsMetaData: () => {\r\n var _a;\r\n return null === (_a = this._workSpace) || void 0 === _a ? void 0 : _a.getDOMElementsMetaData()\r\n },\r\n getViewDataProvider: () => {\r\n var _a;\r\n return null === (_a = this._workSpace) || void 0 === _a ? void 0 : _a.viewDataProvider\r\n },\r\n isVerticalViewDirection: () => \"vertical\" === this.getRenderingStrategyInstance().getDirection(),\r\n isVerticalGroupedWorkSpace: () => this._workSpace._isVerticalGroupedWorkSpace(),\r\n isDateAndTimeView: () => _isDateAndTimeView(this._workSpace.type),\r\n onContentReady: () => {\r\n var _a;\r\n null === (_a = this._workSpace) || void 0 === _a ? void 0 : _a.option(\"allDayExpanded\", this._isAllDayExpanded())\r\n }\r\n };\r\n return config\r\n }\r\n getCollectorOffset() {\r\n if (this._workSpace.needApplyCollectorOffset() && !this.option(\"adaptivityEnabled\")) {\r\n return this.option(\"_collectorOffset\")\r\n }\r\n return 0\r\n }\r\n getAppointmentDurationInMinutes() {\r\n return this._getCurrentViewOption(\"cellDuration\")\r\n }\r\n _getCurrentViewType() {\r\n return this.currentViewType\r\n }\r\n _renderWorkSpace(groups) {\r\n var _a;\r\n this._readyToRenderAppointments && this._toggleSmallClass();\r\n var $workSpace = $(\"<div>\").appendTo(this._mainContainer);\r\n var countConfig = this._getViewCountConfig();\r\n var workSpaceComponent = VIEWS_CONFIG[this._getCurrentViewType()].workSpace;\r\n var workSpaceConfig = this._workSpaceConfig(groups, countConfig);\r\n this._workSpace = this._createComponent($workSpace, workSpaceComponent, workSpaceConfig);\r\n this._allowDragging() && this._workSpace.initDragBehavior(this, this._all);\r\n this._workSpace._attachTablesEvents();\r\n this._workSpace.getWorkArea().append(this._appointments.$element());\r\n this._recalculateWorkspace();\r\n countConfig.startDate && (null === (_a = this._header) || void 0 === _a ? void 0 : _a.option(\"currentDate\", this._workSpace._getHeaderDate()));\r\n this._appointments.option(\"_collectorOffset\", this.getCollectorOffset())\r\n }\r\n _getViewCountConfig() {\r\n var currentView = this.option(\"currentView\");\r\n var view = this._getViewByName(currentView);\r\n var viewCount = view && view.intervalCount || 1;\r\n var startDate = view && view.startDate || null;\r\n return {\r\n intervalCount: viewCount,\r\n startDate: startDate\r\n }\r\n }\r\n _getViewByName(name) {\r\n var views = this.option(\"views\");\r\n for (var i = 0; i < views.length; i++) {\r\n if (views[i].name === name || views[i].type === name || views[i] === name) {\r\n return views[i]\r\n }\r\n }\r\n }\r\n _recalculateWorkspace() {\r\n this._workSpaceRecalculation = new Deferred;\r\n this._waitAsyncTemplate(() => {\r\n triggerResizeEvent(this._workSpace.$element());\r\n this._workSpace.renderCurrentDateTimeLineAndShader()\r\n })\r\n }\r\n _workSpaceConfig(groups, countConfig) {\r\n var _a;\r\n var currentViewOptions = this._getCurrentViewOptions();\r\n var scrolling = this.option(\"scrolling\");\r\n var isVirtualScrolling = \"virtual\" === scrolling.mode || \"virtual\" === (null === (_a = currentViewOptions.scrolling) || void 0 === _a ? void 0 : _a.mode);\r\n var horizontalVirtualScrollingAllowed = isVirtualScrolling && (!isDefined(scrolling.orientation) || [\"horizontal\", \"both\"].filter(item => {\r\n var _a;\r\n return scrolling.orientation === item || (null === (_a = currentViewOptions.scrolling) || void 0 === _a ? void 0 : _a.orientation) === item\r\n }).length > 0);\r\n var crossScrollingEnabled = this.option(\"crossScrollingEnabled\") || horizontalVirtualScrollingAllowed || isTimelineView(this.currentViewType);\r\n var result = extend({\r\n resources: this.option(\"resources\"),\r\n loadedResources: this.option(\"loadedResources\"),\r\n getFilteredItems: () => this.filteredItems,\r\n getResourceDataAccessors: this.getResourceDataAccessors.bind(this),\r\n noDataText: this.option(\"noDataText\"),\r\n firstDayOfWeek: this.option(\"firstDayOfWeek\"),\r\n startDayHour: this.option(\"startDayHour\"),\r\n endDayHour: this.option(\"endDayHour\"),\r\n tabIndex: this.option(\"tabIndex\"),\r\n accessKey: this.option(\"accessKey\"),\r\n focusStateEnabled: this.option(\"focusStateEnabled\"),\r\n cellDuration: this.option(\"cellDuration\"),\r\n showAllDayPanel: this.option(\"showAllDayPanel\"),\r\n showCurrentTimeIndicator: this.option(\"showCurrentTimeIndicator\"),\r\n indicatorTime: this.option(\"indicatorTime\"),\r\n indicatorUpdateInterval: this.option(\"indicatorUpdateInterval\"),\r\n shadeUntilCurrentTime: this.option(\"shadeUntilCurrentTime\"),\r\n allDayExpanded: this._appointments.option(\"items\"),\r\n crossScrollingEnabled: crossScrollingEnabled,\r\n dataCellTemplate: this.option(\"dataCellTemplate\"),\r\n timeCellTemplate: this.option(\"timeCellTemplate\"),\r\n resourceCellTemplate: this.option(\"resourceCellTemplate\"),\r\n dateCellTemplate: this.option(\"dateCellTemplate\"),\r\n allowMultipleCellSelection: this.option(\"allowMultipleCellSelection\"),\r\n selectedCellData: this.option(\"selectedCellData\"),\r\n onSelectionChanged: args => {\r\n this.option(\"selectedCellData\", args.selectedCellData)\r\n },\r\n groupByDate: this._getCurrentViewOption(\"groupByDate\"),\r\n scrolling: scrolling,\r\n draggingMode: this.option(\"_draggingMode\"),\r\n timeZoneCalculator: this.timeZoneCalculator,\r\n schedulerHeight: this.option(\"height\"),\r\n schedulerWidth: this.option(\"width\"),\r\n allDayPanelMode: this.option(\"allDayPanelMode\"),\r\n onSelectedCellsClick: this.showAddAppointmentPopup.bind(this),\r\n onRenderAppointments: this._renderAppointments.bind(this),\r\n onShowAllDayPanel: value => this.option(\"showAllDayPanel\", value),\r\n getHeaderHeight: () => utils.DOM.getHeaderHeight(this._header),\r\n onScrollEnd: () => this._appointments.updateResizableArea(),\r\n renovateRender: this._isRenovatedRender(isVirtualScrolling),\r\n isRenovatedAppointments: this.option(\"isRenovatedAppointments\")\r\n }, currentViewOptions);\r\n result.observer = this;\r\n result.intervalCount = countConfig.intervalCount;\r\n result.startDate = countConfig.startDate;\r\n result.groups = groups;\r\n result.onCellClick = this._createActionByOption(\"onCellClick\");\r\n result.onCellContextMenu = this._createActionByOption(\"onCellContextMenu\");\r\n result.currentDate = dateUtils.trimTime(new Date(this._dateOption(\"currentDate\")));\r\n result.hoursInterval = result.cellDuration / 60;\r\n result.allDayExpanded = false;\r\n result.dataCellTemplate = result.dataCellTemplate ? this._getTemplate(result.dataCellTemplate) : null;\r\n result.timeCellTemplate = result.timeCellTemplate ? this._getTemplate(result.timeCellTemplate) : null;\r\n result.resourceCellTemplate = result.resourceCellTemplate ? this._getTemplate(result.resourceCellTemplate) : null;\r\n result.dateCellTemplate = result.dateCellTemplate ? this._getTemplate(result.dateCellTemplate) : null;\r\n result.getAppointmentDataProvider = () => this.appointmentDataProvider;\r\n return result\r\n }\r\n _isRenovatedRender(isVirtualScrolling) {\r\n return this.option(\"renovateRender\") && hasWindow() || isVirtualScrolling\r\n }\r\n _waitAsyncTemplate(callback) {\r\n if (this._options.silent(\"templatesRenderAsynchronously\")) {\r\n var timer = setTimeout(() => {\r\n callback();\r\n clearTimeout(timer)\r\n });\r\n this._asyncTemplatesTimers.push(timer)\r\n } else {\r\n callback()\r\n }\r\n }\r\n _getCurrentViewOptions() {\r\n return this.currentView\r\n }\r\n _getCurrentViewOption(optionName) {\r\n if (this.currentView && void 0 !== this.currentView[optionName]) {\r\n return this.currentView[optionName]\r\n }\r\n return this.option(optionName)\r\n }\r\n _getAppointmentTemplate(optionName) {\r\n var currentViewOptions = this._getCurrentViewOptions();\r\n if (currentViewOptions && currentViewOptions[optionName]) {\r\n return this._getTemplate(currentViewOptions[optionName])\r\n }\r\n return this._getTemplateByOption(optionName)\r\n }\r\n _updateOption(viewName, optionName, value) {\r\n var currentViewOptions = this._getCurrentViewOptions();\r\n if (!currentViewOptions || !isDefined(currentViewOptions[optionName])) {\r\n this[\"_\".concat(viewName)].option(optionName, value)\r\n }\r\n }\r\n _refreshWorkSpace(groups) {\r\n this._cleanWorkspace();\r\n delete this._workSpace;\r\n this._renderWorkSpace(groups);\r\n if (this._readyToRenderAppointments) {\r\n this._appointments.option({\r\n fixedContainer: this._workSpace.getFixedContainer(),\r\n allDayContainer: this._workSpace.getAllDayContainer()\r\n });\r\n this._waitAsyncTemplate(() => this._workSpaceRecalculation.resolve())\r\n }\r\n }\r\n _cleanWorkspace() {\r\n this._appointments.$element().detach();\r\n this._workSpace._dispose();\r\n this._workSpace.$element().remove();\r\n this.option(\"selectedCellData\", [])\r\n }\r\n getWorkSpaceScrollable() {\r\n return this._workSpace.getScrollable()\r\n }\r\n getWorkSpaceScrollableContainer() {\r\n return this._workSpace.getScrollableContainer()\r\n }\r\n getWorkSpace() {\r\n return this._workSpace\r\n }\r\n getHeader() {\r\n return this._header\r\n }\r\n _cleanPopup() {\r\n var _a;\r\n null === (_a = this._appointmentPopup) || void 0 === _a ? void 0 : _a.dispose()\r\n }\r\n _checkRecurringAppointment(rawAppointment, singleAppointment, exceptionDate, callback, isDeleted, isPopupEditing, dragEvent, recurrenceEditMode) {\r\n var recurrenceRule = ExpressionUtils.getField(this._dataAccessors, \"recurrenceRule\", rawAppointment);\r\n if (!getRecurrenceProcessor().evalRecurrenceRule(recurrenceRule).isValid || !this._editing.allowUpdating) {\r\n callback();\r\n return\r\n }\r\n var editMode = recurrenceEditMode || this.option(\"recurrenceEditMode\");\r\n switch (editMode) {\r\n case \"series\":\r\n callback();\r\n break;\r\n case \"occurrence\":\r\n this._excludeAppointmentFromSeries(rawAppointment, singleAppointment, exceptionDate, isDeleted, isPopupEditing, dragEvent);\r\n break;\r\n default:\r\n if (dragEvent) {\r\n dragEvent.cancel = new Deferred\r\n }\r\n this._showRecurrenceChangeConfirm(isDeleted).done(editingMode => {\r\n editingMode === RECURRENCE_EDITING_MODE.SERIES && callback();\r\n editingMode === RECURRENCE_EDITING_MODE.OCCURENCE && this._excludeAppointmentFromSeries(rawAppointment, singleAppointment, exceptionDate, isDeleted, isPopupEditing, dragEvent)\r\n }).fail(() => this._appointments.moveAppointmentBack(dragEvent))\r\n }\r\n }\r\n _excludeAppointmentFromSeries(rawAppointment, newRawAppointment, exceptionDate, isDeleted, isPopupEditing, dragEvent) {\r\n var appointment = excludeFromRecurrence(rawAppointment, exceptionDate, this._dataAccessors, this._timeZoneCalculator);\r\n var singleRawAppointment = _extends({}, newRawAppointment);\r\n delete singleRawAppointment[this._dataAccessors.expr.recurrenceExceptionExpr];\r\n delete singleRawAppointment[this._dataAccessors.expr.recurrenceRuleExpr];\r\n var keyPropertyName = this.appointmentDataProvider.keyName;\r\n delete singleRawAppointment[keyPropertyName];\r\n var canCreateNewAppointment = !isDeleted && !isPopupEditing;\r\n if (canCreateNewAppointment) {\r\n this.addAppointment(singleRawAppointment)\r\n }\r\n if (isPopupEditing) {\r\n this._appointmentPopup.show(singleRawAppointment, {\r\n isToolbarVisible: true,\r\n action: ACTION_TO_APPOINTMENT.EXCLUDE_FROM_SERIES,\r\n excludeInfo: {\r\n sourceAppointment: rawAppointment,\r\n updatedAppointment: appointment.source()\r\n }\r\n });\r\n this._editAppointmentData = rawAppointment\r\n } else {\r\n this._updateAppointment(rawAppointment, appointment.source(), () => {\r\n this._appointments.moveAppointmentBack(dragEvent)\r\n }, dragEvent)\r\n }\r\n }\r\n _createRecurrenceException(appointment, exceptionDate) {\r\n var result = [];\r\n if (appointment.recurrenceException) {\r\n result.push(appointment.recurrenceException)\r\n }\r\n result.push(this._getSerializedDate(exceptionDate, appointment.startDate, appointment.allDay));\r\n return result.join()\r\n }\r\n _getSerializedDate(date, startDate, isAllDay) {\r\n isAllDay && date.setHours(startDate.getHours(), startDate.getMinutes(), startDate.getSeconds(), startDate.getMilliseconds());\r\n return dateSerialization.serializeDate(date, UTC_FULL_DATE_FORMAT)\r\n }\r\n _showRecurrenceChangeConfirm(isDeleted) {\r\n var message = messageLocalization.format(isDeleted ? \"dxScheduler-confirmRecurrenceDeleteMessage\" : \"dxScheduler-confirmRecurrenceEditMessage\");\r\n var seriesText = messageLocalization.format(isDeleted ? \"dxScheduler-confirmRecurrenceDeleteSeries\" : \"dxScheduler-confirmRecurrenceEditSeries\");\r\n var occurrenceText = messageLocalization.format(isDeleted ? \"dxScheduler-confirmRecurrenceDeleteOccurrence\" : \"dxScheduler-confirmRecurrenceEditOccurrence\");\r\n this._recurrenceDialog = customDialog({\r\n messageHtml: message,\r\n showCloseButton: true,\r\n showTitle: true,\r\n buttons: [{\r\n text: seriesText,\r\n onClick: () => RECURRENCE_EDITING_MODE.SERIES\r\n }, {\r\n text: occurrenceText,\r\n onClick: () => RECURRENCE_EDITING_MODE.OCCURENCE\r\n }],\r\n popupOptions: {\r\n wrapperAttr: {\r\n class: \"dx-dialog\"\r\n }\r\n }\r\n });\r\n return this._recurrenceDialog.show()\r\n }\r\n _getUpdatedData(rawAppointment) {\r\n var getConvertedFromGrid = date => date ? this.timeZoneCalculator.createDate(date, {\r\n path: \"fromGrid\"\r\n }) : void 0;\r\n var isValidDate = date => !isNaN(new Date(date).getTime());\r\n var targetCell = this.getTargetCellData();\r\n var appointment = createAppointmentAdapter(rawAppointment, this._dataAccessors, this.timeZoneCalculator);\r\n var cellStartDate = getConvertedFromGrid(targetCell.startDate);\r\n var cellEndDate = getConvertedFromGrid(targetCell.endDate);\r\n var appointmentStartDate = new Date(appointment.startDate);\r\n var appointmentEndDate = new Date(appointment.endDate);\r\n var resultedStartDate = cellStartDate || appointmentStartDate;\r\n if (!isValidDate(appointmentStartDate)) {\r\n appointmentStartDate = resultedStartDate\r\n }\r\n if (!isValidDate(appointmentEndDate)) {\r\n appointmentEndDate = cellEndDate\r\n }\r\n var duration = appointmentEndDate.getTime() - appointmentStartDate.getTime();\r\n var isKeepAppointmentHours = this._workSpace.keepOriginalHours() && isValidDate(appointment.startDate) && isValidDate(cellStartDate);\r\n if (isKeepAppointmentHours) {\r\n var {\r\n trimTime: trimTime\r\n } = dateUtils;\r\n var startDate = this.timeZoneCalculator.createDate(appointment.startDate, {\r\n path: \"toGrid\"\r\n });\r\n var timeInMs = startDate.getTime() - trimTime(startDate).getTime();\r\n resultedStartDate = new Date(trimTime(targetCell.startDate).getTime() + timeInMs);\r\n resultedStartDate = this.timeZoneCalculator.createDate(resultedStartDate, {\r\n path: \"fromGrid\"\r\n })\r\n }\r\n var result = createAppointmentAdapter({}, this._dataAccessors, this.timeZoneCalculator);\r\n if (void 0 !== targetCell.allDay) {\r\n result.allDay = targetCell.allDay\r\n }\r\n result.startDate = resultedStartDate;\r\n var resultedEndDate = new Date(resultedStartDate.getTime() + duration);\r\n if (this.appointmentTakesAllDay(rawAppointment) && !result.allDay && this._workSpace.supportAllDayRow()) {\r\n resultedEndDate = this._workSpace.calculateEndDate(resultedStartDate)\r\n }\r\n if (appointment.allDay && !this._workSpace.supportAllDayRow() && !this._workSpace.keepOriginalHours()) {\r\n var dateCopy = new Date(resultedStartDate);\r\n dateCopy.setHours(0);\r\n resultedEndDate = new Date(dateCopy.getTime() + duration);\r\n if (0 !== resultedEndDate.getHours()) {\r\n resultedEndDate.setHours(this._getCurrentViewOption(\"endDayHour\"))\r\n }\r\n }\r\n var timeZoneOffset = timeZoneUtils.getTimezoneOffsetChangeInMs(appointmentStartDate, appointmentEndDate, resultedStartDate, resultedEndDate);\r\n result.endDate = new Date(resultedEndDate.getTime() - timeZoneOffset);\r\n var rawResult = result.source();\r\n setResourceToAppointment(this.option(\"resources\"), this.getResourceDataAccessors(), rawResult, targetCell.groups);\r\n return rawResult\r\n }\r\n getTargetedAppointment(appointment, element) {\r\n var settings = utils.dataAccessors.getAppointmentSettings(element);\r\n var info = utils.dataAccessors.getAppointmentInfo(element);\r\n var appointmentIndex = $(element).data(this._appointments._itemIndexKey());\r\n var adapter = createAppointmentAdapter(appointment, this._dataAccessors, this.timeZoneCalculator);\r\n var targetedAdapter = adapter.clone();\r\n if (this._isAgenda() && adapter.isRecurrent) {\r\n var {\r\n agendaSettings: agendaSettings\r\n } = settings;\r\n targetedAdapter.startDate = ExpressionUtils.getField(this._dataAccessors, \"startDate\", agendaSettings);\r\n targetedAdapter.endDate = ExpressionUtils.getField(this._dataAccessors, \"endDate\", agendaSettings)\r\n } else if (settings) {\r\n targetedAdapter.startDate = info ? info.sourceAppointment.startDate : adapter.startDate;\r\n targetedAdapter.endDate = info ? info.sourceAppointment.endDate : adapter.endDate\r\n }\r\n var rawTargetedAppointment = targetedAdapter.source();\r\n if (element) {\r\n this.setTargetedAppointmentResources(rawTargetedAppointment, element, appointmentIndex)\r\n }\r\n if (info) {\r\n rawTargetedAppointment.displayStartDate = new Date(info.appointment.startDate);\r\n rawTargetedAppointment.displayEndDate = new Date(info.appointment.endDate)\r\n }\r\n return rawTargetedAppointment\r\n }\r\n subscribe(subject, action) {\r\n this._subscribes[subject] = subscribes[subject] = action\r\n }\r\n fire(subject) {\r\n var callback = this._subscribes[subject];\r\n var args = Array.prototype.slice.call(arguments);\r\n if (!isFunction(callback)) {\r\n throw errors.Error(\"E1031\", subject)\r\n }\r\n return callback.apply(this, args.slice(1))\r\n }\r\n getTargetCellData() {\r\n return this._workSpace.getDataByDroppableCell()\r\n }\r\n _updateAppointment(target, rawAppointment, onUpdatePrevented, dragEvent) {\r\n var updatingOptions = {\r\n newData: rawAppointment,\r\n oldData: extend({}, target),\r\n cancel: false\r\n };\r\n var performFailAction = function(err) {\r\n if (onUpdatePrevented) {\r\n onUpdatePrevented.call(this)\r\n }\r\n if (err && \"Error\" === err.name) {\r\n throw err\r\n }\r\n }.bind(this);\r\n this._actions[StoreEventNames.UPDATING](updatingOptions);\r\n if (dragEvent && !isDeferred(dragEvent.cancel)) {\r\n dragEvent.cancel = new Deferred\r\n }\r\n return this._processActionResult(updatingOptions, (function(canceled) {\r\n var deferred = new Deferred;\r\n if (!canceled) {\r\n this._expandAllDayPanel(rawAppointment);\r\n try {\r\n deferred = this.appointmentDataProvider.update(target, rawAppointment).done(() => {\r\n dragEvent && dragEvent.cancel.resolve(false)\r\n }).always(storeAppointment => this._onDataPromiseCompleted(StoreEventNames.UPDATED, storeAppointment)).fail(() => performFailAction())\r\n } catch (err) {\r\n performFailAction(err);\r\n deferred.resolve()\r\n }\r\n } else {\r\n performFailAction();\r\n deferred.resolve()\r\n }\r\n return deferred.promise()\r\n }))\r\n }\r\n _processActionResult(actionOptions, callback) {\r\n var deferred = new Deferred;\r\n var resolveCallback = callbackResult => {\r\n when(fromPromise(callbackResult)).always(deferred.resolve)\r\n };\r\n if (isPromise(actionOptions.cancel)) {\r\n when(fromPromise(actionOptions.cancel)).always(cancel => {\r\n if (!isDefined(cancel)) {\r\n cancel = \"rejected\" === actionOptions.cancel.state()\r\n }\r\n resolveCallback(callback.call(this, cancel))\r\n })\r\n } else {\r\n resolveCallback(callback.call(this, actionOptions.cancel))\r\n }\r\n return deferred.promise()\r\n }\r\n _expandAllDayPanel(appointment) {\r\n if (!this._isAllDayExpanded() && this.appointmentTakesAllDay(appointment)) {\r\n this._workSpace.option(\"allDayExpanded\", true)\r\n }\r\n }\r\n _onDataPromiseCompleted(handlerName, storeAppointment, appointment) {\r\n var args = {\r\n appointmentData: appointment || storeAppointment\r\n };\r\n if (storeAppointment instanceof Error) {\r\n args.error = storeAppointment\r\n } else {\r\n this._appointmentPopup.visible && this._appointmentPopup.hide()\r\n }\r\n this._actions[handlerName](args);\r\n this._fireContentReadyAction()\r\n }\r\n getAppointmentsInstance() {\r\n return this._appointments\r\n }\r\n getLayoutManager() {\r\n return this._layoutManager\r\n }\r\n getRenderingStrategyInstance() {\r\n return this.getLayoutManager().getRenderingStrategyInstance()\r\n }\r\n getActions() {\r\n return this._actions\r\n }\r\n appointmentTakesAllDay(rawAppointment) {\r\n var appointment = createAppointmentAdapter(rawAppointment, this._dataAccessors, this.timeZoneCalculator);\r\n return getAppointmentTakesAllDay(appointment, this._getCurrentViewOption(\"startDayHour\"), this._getCurrentViewOption(\"endDayHour\"), this._getCurrentViewOption(\"allDayPanelMode\"))\r\n }\r\n dayHasAppointment(day, rawAppointment, trimTime) {\r\n var getConvertedToTimeZone = date => this.timeZoneCalculator.createDate(date, {\r\n path: \"toGrid\"\r\n });\r\n var appointment = createAppointmentAdapter(rawAppointment, this._dataAccessors, this.timeZoneCalculator);\r\n var startDate = new Date(appointment.startDate);\r\n var endDate = new Date(appointment.endDate);\r\n startDate = getConvertedToTimeZone(startDate);\r\n endDate = getConvertedToTimeZone(endDate);\r\n if (day.getTime() === endDate.getTime()) {\r\n return startDate.getTime() === endDate.getTime()\r\n }\r\n if (trimTime) {\r\n day = dateUtils.trimTime(day);\r\n startDate = dateUtils.trimTime(startDate);\r\n endDate = dateUtils.trimTime(endDate)\r\n }\r\n var dayTimeStamp = day.getTime();\r\n var startDateTimeStamp = startDate.getTime();\r\n var endDateTimeStamp = endDate.getTime();\r\n return startDateTimeStamp <= dayTimeStamp && dayTimeStamp <= endDateTimeStamp\r\n }\r\n setTargetedAppointmentResources(rawAppointment, element, appointmentIndex) {\r\n var groups = this._getCurrentViewOption(\"groups\");\r\n if (null === groups || void 0 === groups ? void 0 : groups.length) {\r\n var resourcesSetter = this.getResourceDataAccessors().setter;\r\n var workSpace = this._workSpace;\r\n var getGroups;\r\n var setResourceCallback;\r\n if (this._isAgenda()) {\r\n getGroups = function() {\r\n var apptSettings = this.getLayoutManager()._positionMap[appointmentIndex];\r\n return getCellGroups(apptSettings[0].groupIndex, this.getWorkSpace().option(\"groups\"))\r\n };\r\n setResourceCallback = function(_, group) {\r\n resourcesSetter[group.name](rawAppointment, group.id)\r\n }\r\n } else {\r\n getGroups = function() {\r\n var setting = utils.dataAccessors.getAppointmentSettings(element) || {};\r\n return workSpace.getCellDataByCoordinates({\r\n left: setting.left,\r\n top: setting.top\r\n }).groups\r\n };\r\n setResourceCallback = function(field, value) {\r\n resourcesSetter[field](rawAppointment, value)\r\n }\r\n }\r\n each(getGroups.call(this), setResourceCallback)\r\n }\r\n }\r\n getStartViewDate() {\r\n var _a;\r\n return null === (_a = this._workSpace) || void 0 === _a ? void 0 : _a.getStartViewDate()\r\n }\r\n getEndViewDate() {\r\n return this._workSpace.getEndViewDate()\r\n }\r\n showAddAppointmentPopup(cellData, cellGroups) {\r\n var appointmentAdapter = createAppointmentAdapter({}, this._dataAccessors, this.timeZoneCalculator);\r\n appointmentAdapter.allDay = cellData.allDay;\r\n appointmentAdapter.startDate = this.timeZoneCalculator.createDate(cellData.startDate, {\r\n path: \"fromGrid\"\r\n });\r\n appointmentAdapter.endDate = this.timeZoneCalculator.createDate(cellData.endDate, {\r\n path: \"fromGrid\"\r\n });\r\n var resultAppointment = extend(appointmentAdapter.source(), cellGroups);\r\n this.showAppointmentPopup(resultAppointment, true)\r\n }\r\n showAppointmentPopup(rawAppointment, createNewAppointment, rawTargetedAppointment) {\r\n var newRawTargetedAppointment = _extends({}, rawTargetedAppointment);\r\n if (newRawTargetedAppointment) {\r\n delete newRawTargetedAppointment.displayStartDate;\r\n delete newRawTargetedAppointment.displayEndDate\r\n }\r\n var appointment = createAppointmentAdapter(newRawTargetedAppointment || rawAppointment, this._dataAccessors, this.timeZoneCalculator);\r\n var newTargetedAppointment = extend({}, rawAppointment, newRawTargetedAppointment);\r\n var isCreateAppointment = null !== createNewAppointment && void 0 !== createNewAppointment ? createNewAppointment : isEmptyObject(rawAppointment);\r\n if (isEmptyObject(rawAppointment)) {\r\n rawAppointment = this.createPopupAppointment()\r\n }\r\n if (isCreateAppointment) {\r\n delete this._editAppointmentData;\r\n this._editing.allowAdding && this._appointmentPopup.show(rawAppointment, {\r\n isToolbarVisible: true,\r\n action: ACTION_TO_APPOINTMENT.CREATE\r\n })\r\n } else {\r\n this._checkRecurringAppointment(rawAppointment, newTargetedAppointment, appointment.startDate, () => {\r\n this._editAppointmentData = rawAppointment;\r\n this._appointmentPopup.show(rawAppointment, {\r\n isToolbarVisible: this._editing.allowUpdating,\r\n action: ACTION_TO_APPOINTMENT.UPDATE\r\n })\r\n }, false, true)\r\n }\r\n }\r\n createPopupAppointment() {\r\n var result = {};\r\n var toMs = dateUtils.dateToMilliseconds;\r\n var startDate = new Date(this.option(\"currentDate\"));\r\n var endDate = new Date(startDate.getTime() + this.option(\"cellDuration\") * toMs(\"minute\"));\r\n ExpressionUtils.setField(this._dataAccessors, \"startDate\", result, startDate);\r\n ExpressionUtils.setField(this._dataAccessors, \"endDate\", result, endDate);\r\n return result\r\n }\r\n hideAppointmentPopup(saveChanges) {\r\n var _a;\r\n if (null === (_a = this._appointmentPopup) || void 0 === _a ? void 0 : _a.visible) {\r\n saveChanges && this._appointmentPopup.saveChangesAsync();\r\n this._appointmentPopup.hide()\r\n }\r\n }\r\n showAppointmentTooltip(appointment, element, targetedAppointment) {\r\n if (appointment) {\r\n var settings = utils.dataAccessors.getAppointmentSettings(element);\r\n var appointmentConfig = {\r\n itemData: targetedAppointment || appointment,\r\n groupIndex: null === settings || void 0 === settings ? void 0 : settings.groupIndex,\r\n groups: this.option(\"groups\")\r\n };\r\n var _getAppointmentColor = this.createGetAppointmentColor();\r\n var deferredColor = _getAppointmentColor(appointmentConfig);\r\n var info = new AppointmentTooltipInfo(appointment, targetedAppointment, deferredColor);\r\n this.showAppointmentTooltipCore(element, [info])\r\n }\r\n }\r\n createGetAppointmentColor() {\r\n return appointmentConfig => {\r\n var resourceConfig = {\r\n resources: this.option(\"resources\"),\r\n dataAccessors: this.getResourceDataAccessors(),\r\n loadedResources: this.option(\"loadedResources\"),\r\n resourceLoaderMap: this.option(\"resourceLoaderMap\")\r\n };\r\n return getAppointmentColor(resourceConfig, appointmentConfig)\r\n }\r\n }\r\n showAppointmentTooltipCore(target, data, options) {\r\n var arg = {\r\n cancel: false,\r\n appointments: data.map(item => {\r\n var result = {\r\n appointmentData: item.appointment,\r\n currentAppointmentData: _extends({}, item.targetedAppointment),\r\n color: item.color\r\n };\r\n if (item.settings.info) {\r\n var {\r\n startDate: startDate,\r\n endDate: endDate\r\n } = item.settings.info.appointment;\r\n result.currentAppointmentData.displayStartDate = startDate;\r\n result.currentAppointmentData.displayEndDate = endDate\r\n }\r\n return result\r\n }),\r\n targetElement: target\r\n };\r\n this._createActionByOption(\"onAppointmentTooltipShowing\")(arg);\r\n if (this._appointmentTooltip.isAlreadyShown(target)) {\r\n this.hideAppointmentTooltip()\r\n } else {\r\n this._processActionResult(arg, canceled => {\r\n !canceled && this._appointmentTooltip.show(target, data, _extends(_extends({}, this._getExtraAppointmentTooltipOptions()), options))\r\n })\r\n }\r\n }\r\n hideAppointmentTooltip() {\r\n this._appointmentTooltip && this._appointmentTooltip.hide()\r\n }\r\n scrollToTime(hours, minutes, date) {\r\n errors.log(\"W0002\", \"dxScheduler\", \"scrollToTime\", \"21.1\", 'Use the \"scrollTo\" method instead');\r\n this._workSpace.scrollToTime(hours, minutes, date)\r\n }\r\n scrollTo(date, groups, allDay) {\r\n this._workSpace.scrollTo(date, groups, allDay)\r\n }\r\n _isHorizontalVirtualScrolling() {\r\n var scrolling = this.option(\"scrolling\");\r\n var {\r\n orientation: orientation,\r\n mode: mode\r\n } = scrolling;\r\n var isVirtualScrolling = \"virtual\" === mode;\r\n return isVirtualScrolling && (\"horizontal\" === orientation || \"both\" === orientation)\r\n }\r\n addAppointment(rawAppointment) {\r\n var appointment = createAppointmentAdapter(rawAppointment, this._dataAccessors, this.timeZoneCalculator);\r\n appointment.text = appointment.text || \"\";\r\n var serializedAppointment = appointment.source(true);\r\n var addingOptions = {\r\n appointmentData: serializedAppointment,\r\n cancel: false\r\n };\r\n this._actions[StoreEventNames.ADDING](addingOptions);\r\n return this._processActionResult(addingOptions, canceled => {\r\n if (canceled) {\r\n return (new Deferred).resolve()\r\n }\r\n this._expandAllDayPanel(serializedAppointment);\r\n return this.appointmentDataProvider.add(serializedAppointment).always(storeAppointment => this._onDataPromiseCompleted(StoreEventNames.ADDED, storeAppointment))\r\n })\r\n }\r\n updateAppointment(target, appointment) {\r\n return this._updateAppointment(target, appointment)\r\n }\r\n deleteAppointment(rawAppointment) {\r\n var deletingOptions = this.fireOnAppointmentDeleting(rawAppointment);\r\n this.processDeleteAppointment(rawAppointment, deletingOptions)\r\n }\r\n fireOnAppointmentDeleting(rawAppointment, targetedAppointmentData) {\r\n var deletingOptions = {\r\n appointmentData: rawAppointment,\r\n targetedAppointmentData: targetedAppointmentData,\r\n cancel: false\r\n };\r\n this._actions[StoreEventNames.DELETING](deletingOptions);\r\n return deletingOptions\r\n }\r\n processDeleteAppointment(rawAppointment, deletingOptions) {\r\n this._processActionResult(deletingOptions, (function(canceled) {\r\n if (!canceled) {\r\n this.appointmentDataProvider.remove(rawAppointment).always(storeAppointment => this._onDataPromiseCompleted(StoreEventNames.DELETED, storeAppointment, rawAppointment))\r\n }\r\n }))\r\n }\r\n deleteRecurrence(appointment, date, recurrenceEditMode) {\r\n this._checkRecurringAppointment(appointment, {}, date, () => {\r\n this.processDeleteAppointment(appointment, {\r\n cancel: false\r\n })\r\n }, true, false, null, recurrenceEditMode)\r\n }\r\n focus() {\r\n if (this._editAppointmentData) {\r\n this._appointments.focus()\r\n } else {\r\n this._workSpace.focus()\r\n }\r\n }\r\n getFirstDayOfWeek() {\r\n return isDefined(this.option(\"firstDayOfWeek\")) ? this.option(\"firstDayOfWeek\") : dateLocalization.firstDayOfWeekIndex()\r\n }\r\n _validateKeyFieldIfAgendaExist() {\r\n if (!this.appointmentDataProvider.isDataSourceInit) {\r\n return\r\n }\r\n var hasAgendaView = !!this._getViewByName(\"agenda\");\r\n var isKeyExist = !!this.appointmentDataProvider.keyName;\r\n if (hasAgendaView && !isKeyExist) {\r\n errors.log(\"W1023\")\r\n }\r\n }\r\n _validateCellDuration() {\r\n var endDayHour = this._getCurrentViewOption(\"endDayHour\");\r\n var startDayHour = this._getCurrentViewOption(\"startDayHour\");\r\n var cellDuration = this._getCurrentViewOption(\"cellDuration\");\r\n if ((endDayHour - startDayHour) * MINUTES_IN_HOUR % cellDuration !== 0) {\r\n errors.log(\"W1015\")\r\n }\r\n }\r\n _validateDayHours() {\r\n var startDayHour = this._getCurrentViewOption(\"startDayHour\");\r\n var endDayHour = this._getCurrentViewOption(\"endDayHour\");\r\n validateDayHours(startDayHour, endDayHour)\r\n }\r\n _getDragBehavior() {\r\n return this._workSpace.dragBehavior\r\n }\r\n}\r\nScheduler.include(DataHelperMixin);\r\nregisterComponent(\"dxScheduler\", Scheduler);\r\nexport default Scheduler;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/timeZoneCalculator/createTimeZoneCalculator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n TimeZoneCalculator\r\n} from \"./utils\";\r\nimport timeZoneUtils from \"../../../../__internal/scheduler/m_utils_time_zone\";\r\nexport var createTimeZoneCalculator = currentTimeZone => new TimeZoneCalculator({\r\n getClientOffset: date => timeZoneUtils.getClientTimezoneOffset(date),\r\n tryGetCommonOffset: date => timeZoneUtils.calculateTimezoneByValue(currentTimeZone, date),\r\n tryGetAppointmentOffset: (date, appointmentTimezone) => timeZoneUtils.calculateTimezoneByValue(appointmentTimezone, date)\r\n});\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scheduler/utils/data.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n replaceWrongEndDate\r\n} from \"../../../../__internal/scheduler/appointments/data_provider/m_utils\";\r\nimport {\r\n createAppointmentAdapter\r\n} from \"../../../../__internal/scheduler/m_appointment_adapter\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nvar RECURRENCE_FREQ = \"freq\";\r\nexport var getPreparedDataItems = (dataItems, dataAccessors, cellDurationInMinutes, timeZoneCalculator) => {\r\n var result = [];\r\n null === dataItems || void 0 === dataItems ? void 0 : dataItems.forEach(rawAppointment => {\r\n var _recurrenceRule$match;\r\n var startDate = new Date(dataAccessors.getter.startDate(rawAppointment));\r\n var endDate = new Date(dataAccessors.getter.endDate(rawAppointment));\r\n replaceWrongEndDate(rawAppointment, startDate, endDate, cellDurationInMinutes, dataAccessors);\r\n var adapter = createAppointmentAdapter(rawAppointment, dataAccessors, timeZoneCalculator);\r\n var comparableStartDate = adapter.startDate && adapter.calculateStartDate(\"toGrid\");\r\n var comparableEndDate = adapter.endDate && adapter.calculateEndDate(\"toGrid\");\r\n var regex = new RegExp(RECURRENCE_FREQ, \"gi\");\r\n var recurrenceRule = adapter.recurrenceRule;\r\n var hasRecurrenceRule = !!(null !== recurrenceRule && void 0 !== recurrenceRule && null !== (_recurrenceRule$match = recurrenceRule.match(regex)) && void 0 !== _recurrenceRule$match && _recurrenceRule$match.length);\r\n var visible = isDefined(rawAppointment.visible) ? !!rawAppointment.visible : true;\r\n if (comparableStartDate && comparableEndDate) {\r\n result.push({\r\n allDay: !!adapter.allDay,\r\n startDate: comparableStartDate,\r\n startDateTimeZone: rawAppointment.startDateTimeZone,\r\n endDate: comparableEndDate,\r\n endDateTimeZone: rawAppointment.endDateTimeZone,\r\n recurrenceRule: adapter.recurrenceRule,\r\n recurrenceException: adapter.recurrenceException,\r\n hasRecurrenceRule: hasRecurrenceRule,\r\n visible: visible,\r\n rawAppointment: rawAppointment\r\n })\r\n }\r\n });\r\n return result\r\n};\r\nexport var resolveDataItems = options => Array.isArray(options) ? options : options.data;\r\n","/**\r\n * DevExtreme (esm/ui/scheduler.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Scheduler from \"./scheduler/ui.scheduler\";\r\nexport default Scheduler;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scroll_view.native.pull_down.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nimport NativeStrategy from \"./ui.scrollable.native\";\r\nimport LoadIndicator from \"../load_indicator\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar SCROLLVIEW_PULLDOWN_REFRESHING_CLASS = \"dx-scrollview-pull-down-loading\";\r\nvar SCROLLVIEW_PULLDOWN_READY_CLASS = \"dx-scrollview-pull-down-ready\";\r\nvar SCROLLVIEW_PULLDOWN_IMAGE_CLASS = \"dx-scrollview-pull-down-image\";\r\nvar SCROLLVIEW_PULLDOWN_INDICATOR_CLASS = \"dx-scrollview-pull-down-indicator\";\r\nvar SCROLLVIEW_PULLDOWN_TEXT_CLASS = \"dx-scrollview-pull-down-text\";\r\nvar SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS = \"dx-scrollview-pull-down-text-visible\";\r\nvar STATE_RELEASED = 0;\r\nvar STATE_READY = 1;\r\nvar STATE_REFRESHING = 2;\r\nvar STATE_LOADING = 3;\r\nvar PULLDOWN_RELEASE_TIME = 400;\r\nvar PullDownNativeScrollViewStrategy = NativeStrategy.inherit({\r\n _init: function(scrollView) {\r\n this.callBase(scrollView);\r\n this._$topPocket = scrollView._$topPocket;\r\n this._$pullDown = scrollView._$pullDown;\r\n this._$refreshingText = scrollView._$refreshingText;\r\n this._$scrollViewContent = $(scrollView.content());\r\n this._$container = $(scrollView.container());\r\n this._initCallbacks()\r\n },\r\n _initCallbacks: function() {\r\n this.pullDownCallbacks = Callbacks();\r\n this.releaseCallbacks = Callbacks();\r\n this.reachBottomCallbacks = Callbacks()\r\n },\r\n render: function() {\r\n this.callBase();\r\n this._renderPullDown();\r\n this._releaseState()\r\n },\r\n _renderPullDown: function() {\r\n var $image = $(\"<div>\").addClass(SCROLLVIEW_PULLDOWN_IMAGE_CLASS);\r\n var $loadContainer = $(\"<div>\").addClass(SCROLLVIEW_PULLDOWN_INDICATOR_CLASS);\r\n var $loadIndicator = new LoadIndicator($(\"<div>\")).$element();\r\n var $text = this._$pullDownText = $(\"<div>\").addClass(SCROLLVIEW_PULLDOWN_TEXT_CLASS);\r\n this._$pullingDownText = $(\"<div>\").text(this.option(\"pullingDownText\")).appendTo($text);\r\n this._$pulledDownText = $(\"<div>\").text(this.option(\"pulledDownText\")).appendTo($text);\r\n this._$refreshingText = $(\"<div>\").text(this.option(\"refreshingText\")).appendTo($text);\r\n this._$pullDown.empty().append($image).append($loadContainer.append($loadIndicator)).append($text)\r\n },\r\n _releaseState: function() {\r\n this._state = STATE_RELEASED;\r\n this._refreshPullDownText()\r\n },\r\n _refreshPullDownText: function() {\r\n var that = this;\r\n var pullDownTextItems = [{\r\n element: this._$pullingDownText,\r\n visibleState: STATE_RELEASED\r\n }, {\r\n element: this._$pulledDownText,\r\n visibleState: STATE_READY\r\n }, {\r\n element: this._$refreshingText,\r\n visibleState: STATE_REFRESHING\r\n }];\r\n each(pullDownTextItems, (function(_, item) {\r\n var action = that._state === item.visibleState ? \"addClass\" : \"removeClass\";\r\n item.element[action](SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS)\r\n }))\r\n },\r\n update: function() {\r\n this.callBase();\r\n this._setTopPocketOffset()\r\n },\r\n _updateDimensions: function() {\r\n this.callBase();\r\n this._topPocketSize = this._$topPocket.get(0).clientHeight;\r\n var contentEl = this._$scrollViewContent.get(0);\r\n var containerEl = this._$container.get(0);\r\n this._bottomBoundary = Math.max(contentEl.clientHeight - containerEl.clientHeight, 0)\r\n },\r\n _allowedDirections: function() {\r\n var allowedDirections = this.callBase();\r\n allowedDirections.vertical = allowedDirections.vertical || this._pullDownEnabled;\r\n return allowedDirections\r\n },\r\n _setTopPocketOffset: function() {\r\n this._$topPocket.css({\r\n top: -this._topPocketSize\r\n })\r\n },\r\n handleEnd: function() {\r\n this.callBase();\r\n this._complete()\r\n },\r\n handleStop: function() {\r\n this.callBase();\r\n this._complete()\r\n },\r\n _complete: function() {\r\n if (this._state === STATE_READY) {\r\n this._setPullDownOffset(this._topPocketSize);\r\n clearTimeout(this._pullDownRefreshTimeout);\r\n this._pullDownRefreshTimeout = setTimeout(function() {\r\n this._pullDownRefreshing()\r\n }.bind(this), 400)\r\n }\r\n },\r\n _setPullDownOffset: function(offset) {\r\n move(this._$topPocket, {\r\n top: offset\r\n });\r\n move(this._$scrollViewContent, {\r\n top: offset\r\n })\r\n },\r\n handleScroll: function(e) {\r\n this.callBase(e);\r\n if (this._state === STATE_REFRESHING) {\r\n return\r\n }\r\n var currentLocation = this.location().top;\r\n var scrollDelta = (this._location || 0) - currentLocation;\r\n this._location = currentLocation;\r\n if (this._isPullDown()) {\r\n this._pullDownReady()\r\n } else if (scrollDelta > 0 && this._isReachBottom()) {\r\n this._reachBottom()\r\n } else {\r\n this._stateReleased()\r\n }\r\n },\r\n _isPullDown: function() {\r\n return this._pullDownEnabled && this._location >= this._topPocketSize\r\n },\r\n _isReachBottom: function() {\r\n return this._reachBottomEnabled && Math.round(this._bottomBoundary + Math.floor(this._location)) <= 1\r\n },\r\n _reachBottom: function() {\r\n if (this._state === STATE_LOADING) {\r\n return\r\n }\r\n this._state = STATE_LOADING;\r\n this.reachBottomCallbacks.fire()\r\n },\r\n _pullDownReady: function() {\r\n if (this._state === STATE_READY) {\r\n return\r\n }\r\n this._state = STATE_READY;\r\n this._$pullDown.addClass(SCROLLVIEW_PULLDOWN_READY_CLASS);\r\n this._refreshPullDownText()\r\n },\r\n _stateReleased: function() {\r\n if (this._state === STATE_RELEASED) {\r\n return\r\n }\r\n this._$pullDown.removeClass(SCROLLVIEW_PULLDOWN_REFRESHING_CLASS).removeClass(SCROLLVIEW_PULLDOWN_READY_CLASS);\r\n this._releaseState()\r\n },\r\n _pullDownRefreshing: function() {\r\n if (this._state === STATE_REFRESHING) {\r\n return\r\n }\r\n this._state = STATE_REFRESHING;\r\n this._$pullDown.addClass(SCROLLVIEW_PULLDOWN_REFRESHING_CLASS).removeClass(SCROLLVIEW_PULLDOWN_READY_CLASS);\r\n this._refreshPullDownText();\r\n this.pullDownCallbacks.fire()\r\n },\r\n pullDownEnable: function(enabled) {\r\n if (enabled) {\r\n this._updateDimensions();\r\n this._setTopPocketOffset()\r\n }\r\n this._pullDownEnabled = enabled\r\n },\r\n reachBottomEnable: function(enabled) {\r\n this._reachBottomEnabled = enabled\r\n },\r\n pendingRelease: function() {\r\n this._state = STATE_READY\r\n },\r\n release: function() {\r\n var deferred = new Deferred;\r\n this._updateDimensions();\r\n clearTimeout(this._releaseTimeout);\r\n if (this._state === STATE_LOADING) {\r\n this._state = STATE_RELEASED\r\n }\r\n this._releaseTimeout = setTimeout(function() {\r\n this._setPullDownOffset(0);\r\n this._stateReleased();\r\n this.releaseCallbacks.fire();\r\n this._updateAction();\r\n deferred.resolve()\r\n }.bind(this), PULLDOWN_RELEASE_TIME);\r\n return deferred.promise()\r\n },\r\n dispose: function() {\r\n clearTimeout(this._pullDownRefreshTimeout);\r\n clearTimeout(this._releaseTimeout);\r\n this.callBase()\r\n }\r\n});\r\nexport default PullDownNativeScrollViewStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scroll_view.native.swipe_down.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nimport {\r\n eventData\r\n} from \"../../events/utils/index\";\r\nimport NativeStrategy from \"./ui.scrollable.native\";\r\nimport LoadIndicator from \"../load_indicator\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar SCROLLVIEW_PULLDOWN_DOWN_LOADING_CLASS = \"dx-scrollview-pull-down-loading\";\r\nvar SCROLLVIEW_PULLDOWN_INDICATOR_CLASS = \"dx-scrollview-pull-down-indicator\";\r\nvar SCROLLVIEW_PULLDOWN_REFRESHING_CLASS = \"dx-scrollview-pull-down-refreshing\";\r\nvar PULLDOWN_ICON_CLASS = \"dx-icon-pulldown\";\r\nvar STATE_RELEASED = 0;\r\nvar STATE_READY = 1;\r\nvar STATE_REFRESHING = 2;\r\nvar STATE_TOUCHED = 4;\r\nvar STATE_PULLED = 5;\r\nvar SwipeDownNativeScrollViewStrategy = NativeStrategy.inherit({\r\n _init: function(scrollView) {\r\n this.callBase(scrollView);\r\n this._$topPocket = scrollView._$topPocket;\r\n this._$pullDown = scrollView._$pullDown;\r\n this._$scrollViewContent = $(scrollView.content());\r\n this._$container = $(scrollView.container());\r\n this._initCallbacks();\r\n this._location = 0\r\n },\r\n _initCallbacks: function() {\r\n this.pullDownCallbacks = Callbacks();\r\n this.releaseCallbacks = Callbacks();\r\n this.reachBottomCallbacks = Callbacks()\r\n },\r\n render: function() {\r\n this.callBase();\r\n this._renderPullDown();\r\n this._releaseState()\r\n },\r\n _renderPullDown: function() {\r\n var $loadContainer = $(\"<div>\").addClass(SCROLLVIEW_PULLDOWN_INDICATOR_CLASS);\r\n var $loadIndicator = new LoadIndicator($(\"<div>\")).$element();\r\n this._$icon = $(\"<div>\").addClass(PULLDOWN_ICON_CLASS);\r\n this._$pullDown.empty().append(this._$icon).append($loadContainer.append($loadIndicator))\r\n },\r\n _releaseState: function() {\r\n this._state = STATE_RELEASED;\r\n this._releasePullDown();\r\n this._updateDimensions()\r\n },\r\n _releasePullDown: function() {\r\n this._$pullDown.css({\r\n opacity: 0\r\n })\r\n },\r\n _updateDimensions: function() {\r\n this.callBase();\r\n this._topPocketSize = this._$topPocket.get(0).clientHeight;\r\n var contentEl = this._$scrollViewContent.get(0);\r\n var containerEl = this._$container.get(0);\r\n this._bottomBoundary = Math.max(contentEl.clientHeight - containerEl.clientHeight, 0)\r\n },\r\n _allowedDirections: function() {\r\n var allowedDirections = this.callBase();\r\n allowedDirections.vertical = allowedDirections.vertical || this._pullDownEnabled;\r\n return allowedDirections\r\n },\r\n handleInit: function(e) {\r\n this.callBase(e);\r\n if (this._state === STATE_RELEASED && 0 === this._location) {\r\n this._startClientY = eventData(e.originalEvent).y;\r\n this._state = STATE_TOUCHED\r\n }\r\n },\r\n handleMove: function(e) {\r\n this.callBase(e);\r\n this._deltaY = eventData(e.originalEvent).y - this._startClientY;\r\n if (this._state === STATE_TOUCHED) {\r\n if (this._pullDownEnabled && this._deltaY > 0) {\r\n this._state = STATE_PULLED\r\n } else {\r\n this._complete()\r\n }\r\n }\r\n if (this._state === STATE_PULLED) {\r\n e.preventDefault();\r\n this._movePullDown()\r\n }\r\n },\r\n _movePullDown: function() {\r\n var pullDownHeight = this._getPullDownHeight();\r\n var top = Math.min(3 * pullDownHeight, this._deltaY + this._getPullDownStartPosition());\r\n var angle = 180 * top / pullDownHeight / 3;\r\n this._$pullDown.css({\r\n opacity: 1\r\n }).toggleClass(SCROLLVIEW_PULLDOWN_REFRESHING_CLASS, top < pullDownHeight);\r\n move(this._$pullDown, {\r\n top: top\r\n });\r\n this._$icon.css({\r\n transform: \"rotate(\" + angle + \"deg)\"\r\n })\r\n },\r\n _isPullDown: function() {\r\n return this._pullDownEnabled && this._state === STATE_PULLED && this._deltaY >= this._getPullDownHeight() - this._getPullDownStartPosition()\r\n },\r\n _getPullDownHeight: function() {\r\n return Math.round(.05 * getOuterHeight(this._$element))\r\n },\r\n _getPullDownStartPosition: function() {\r\n return -Math.round(1.5 * getOuterHeight(this._$pullDown))\r\n },\r\n handleEnd: function() {\r\n if (this._isPullDown()) {\r\n this._pullDownRefreshing()\r\n }\r\n this._complete()\r\n },\r\n handleStop: function() {\r\n this._complete()\r\n },\r\n _complete: function() {\r\n if (this._state === STATE_TOUCHED || this._state === STATE_PULLED) {\r\n this._releaseState()\r\n }\r\n },\r\n handleScroll: function(e) {\r\n this.callBase(e);\r\n if (this._state === STATE_REFRESHING) {\r\n return\r\n }\r\n var currentLocation = this.location().top;\r\n var scrollDelta = this._location - currentLocation;\r\n this._location = currentLocation;\r\n if (scrollDelta > 0 && this._isReachBottom()) {\r\n this._reachBottom()\r\n } else {\r\n this._stateReleased()\r\n }\r\n },\r\n _isReachBottom: function() {\r\n return this._reachBottomEnabled && Math.round(this._bottomBoundary + Math.floor(this._location)) <= 1\r\n },\r\n _reachBottom: function() {\r\n this.reachBottomCallbacks.fire()\r\n },\r\n _stateReleased: function() {\r\n if (this._state === STATE_RELEASED) {\r\n return\r\n }\r\n this._$pullDown.removeClass(SCROLLVIEW_PULLDOWN_DOWN_LOADING_CLASS);\r\n this._releaseState()\r\n },\r\n _pullDownRefreshing: function() {\r\n this._state = STATE_REFRESHING;\r\n this._pullDownRefreshHandler()\r\n },\r\n _pullDownRefreshHandler: function() {\r\n this._refreshPullDown();\r\n this.pullDownCallbacks.fire()\r\n },\r\n _refreshPullDown: function() {\r\n this._$pullDown.addClass(SCROLLVIEW_PULLDOWN_DOWN_LOADING_CLASS);\r\n move(this._$pullDown, {\r\n top: this._getPullDownHeight()\r\n })\r\n },\r\n pullDownEnable: function(enabled) {\r\n this._$topPocket.toggle(enabled);\r\n this._pullDownEnabled = enabled\r\n },\r\n reachBottomEnable: function(enabled) {\r\n this._reachBottomEnabled = enabled\r\n },\r\n pendingRelease: function() {\r\n this._state = STATE_READY\r\n },\r\n release: function() {\r\n var deferred = new Deferred;\r\n this._updateDimensions();\r\n clearTimeout(this._releaseTimeout);\r\n this._releaseTimeout = setTimeout(function() {\r\n this._stateReleased();\r\n this.releaseCallbacks.fire();\r\n this._updateAction();\r\n deferred.resolve()\r\n }.bind(this), 800);\r\n return deferred.promise()\r\n },\r\n dispose: function() {\r\n clearTimeout(this._pullDownRefreshTimeout);\r\n clearTimeout(this._releaseTimeout);\r\n this.callBase()\r\n }\r\n});\r\nexport default SwipeDownNativeScrollViewStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scroll_view.simulated.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n executeAsync\r\n} from \"../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nvar math = Math;\r\nimport {\r\n Scroller,\r\n SimulatedStrategy\r\n} from \"./ui.scrollable.simulated\";\r\nimport LoadIndicator from \"../load_indicator\";\r\nvar SCROLLVIEW_PULLDOWN_REFRESHING_CLASS = \"dx-scrollview-pull-down-loading\";\r\nvar SCROLLVIEW_PULLDOWN_READY_CLASS = \"dx-scrollview-pull-down-ready\";\r\nvar SCROLLVIEW_PULLDOWN_IMAGE_CLASS = \"dx-scrollview-pull-down-image\";\r\nvar SCROLLVIEW_PULLDOWN_INDICATOR_CLASS = \"dx-scrollview-pull-down-indicator\";\r\nvar SCROLLVIEW_PULLDOWN_TEXT_CLASS = \"dx-scrollview-pull-down-text\";\r\nvar SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS = \"dx-scrollview-pull-down-text-visible\";\r\nvar STATE_RELEASED = 0;\r\nvar STATE_READY = 1;\r\nvar STATE_REFRESHING = 2;\r\nvar STATE_LOADING = 3;\r\nvar ScrollViewScroller = Scroller.inherit({\r\n ctor: function() {\r\n this._topPocketSize = 0;\r\n this._bottomPocketSize = 0;\r\n this.callBase.apply(this, arguments);\r\n this._initCallbacks();\r\n this._releaseState()\r\n },\r\n _releaseState: function() {\r\n this._state = STATE_RELEASED;\r\n this._refreshPullDownText()\r\n },\r\n _refreshPullDownText: function() {\r\n var that = this;\r\n var pullDownTextItems = [{\r\n element: this._$pullingDownText,\r\n visibleState: STATE_RELEASED\r\n }, {\r\n element: this._$pulledDownText,\r\n visibleState: STATE_READY\r\n }, {\r\n element: this._$refreshingText,\r\n visibleState: STATE_REFRESHING\r\n }];\r\n each(pullDownTextItems, (function(_, item) {\r\n var action = that._state === item.visibleState ? \"addClass\" : \"removeClass\";\r\n item.element[action](SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS)\r\n }))\r\n },\r\n _initCallbacks: function() {\r\n this.pullDownCallbacks = Callbacks();\r\n this.releaseCallbacks = Callbacks();\r\n this.reachBottomCallbacks = Callbacks()\r\n },\r\n _updateBounds: function() {\r\n var considerPockets = \"horizontal\" !== this._direction;\r\n if (considerPockets) {\r\n this._topPocketSize = this._$topPocket.get(0).clientHeight;\r\n this._bottomPocketSize = this._$bottomPocket.get(0).clientHeight;\r\n var containerEl = this._$container.get(0);\r\n var contentEl = this._$content.get(0);\r\n this._bottomBoundary = Math.max(contentEl.clientHeight - this._bottomPocketSize - containerEl.clientHeight, 0)\r\n }\r\n this.callBase()\r\n },\r\n _updateScrollbar: function() {\r\n this._scrollbar.option({\r\n containerSize: this._containerSize(),\r\n contentSize: this._contentSize() - this._topPocketSize - this._bottomPocketSize,\r\n scaleRatio: this._getScaleRatio()\r\n })\r\n },\r\n _moveContent: function() {\r\n this.callBase();\r\n if (this._isPullDown()) {\r\n this._pullDownReady()\r\n } else if (this._isReachBottom()) {\r\n this._reachBottomReady()\r\n } else if (this._state !== STATE_RELEASED) {\r\n this._stateReleased()\r\n }\r\n },\r\n _moveScrollbar: function() {\r\n this._scrollbar.moveTo(this._topPocketSize + this._location)\r\n },\r\n _isPullDown: function() {\r\n return this._pullDownEnabled && this._location >= 0\r\n },\r\n _isReachBottom: function() {\r\n var containerEl = this._$container.get(0);\r\n return this._reachBottomEnabled && Math.round(this._bottomBoundary - Math.ceil(containerEl.scrollTop)) <= 1\r\n },\r\n _scrollComplete: function() {\r\n if (this._inBounds() && this._state === STATE_READY) {\r\n this._pullDownRefreshing()\r\n } else if (this._inBounds() && this._state === STATE_LOADING) {\r\n this._reachBottomLoading()\r\n } else {\r\n this.callBase()\r\n }\r\n },\r\n _reachBottomReady: function() {\r\n if (this._state === STATE_LOADING) {\r\n return\r\n }\r\n this._state = STATE_LOADING;\r\n this._minOffset = this._getMinOffset()\r\n },\r\n _getMaxOffset: function() {\r\n return -this._topPocketSize\r\n },\r\n _getMinOffset: function() {\r\n return math.min(this.callBase(), -this._topPocketSize)\r\n },\r\n _reachBottomLoading: function() {\r\n this.reachBottomCallbacks.fire()\r\n },\r\n _pullDownReady: function() {\r\n if (this._state === STATE_READY) {\r\n return\r\n }\r\n this._state = STATE_READY;\r\n this._maxOffset = 0;\r\n this._$pullDown.addClass(SCROLLVIEW_PULLDOWN_READY_CLASS);\r\n this._refreshPullDownText()\r\n },\r\n _stateReleased: function() {\r\n if (this._state === STATE_RELEASED) {\r\n return\r\n }\r\n this._releaseState();\r\n this._updateBounds();\r\n this._$pullDown.removeClass(SCROLLVIEW_PULLDOWN_REFRESHING_CLASS).removeClass(SCROLLVIEW_PULLDOWN_READY_CLASS);\r\n this.releaseCallbacks.fire()\r\n },\r\n _pullDownRefreshing: function() {\r\n if (this._state === STATE_REFRESHING) {\r\n return\r\n }\r\n this._state = STATE_REFRESHING;\r\n this._$pullDown.addClass(SCROLLVIEW_PULLDOWN_REFRESHING_CLASS).removeClass(SCROLLVIEW_PULLDOWN_READY_CLASS);\r\n this._refreshPullDownText();\r\n this.pullDownCallbacks.fire()\r\n },\r\n _releaseHandler: function() {\r\n if (this._state === STATE_RELEASED) {\r\n this._moveToBounds()\r\n }\r\n this._update();\r\n if (this._releaseTask) {\r\n this._releaseTask.abort()\r\n }\r\n this._releaseTask = executeAsync(this._release.bind(this));\r\n return this._releaseTask.promise\r\n },\r\n _release: function() {\r\n this._stateReleased();\r\n this._scrollComplete()\r\n },\r\n _reachBottomEnablingHandler: function(enabled) {\r\n if (this._reachBottomEnabled === enabled) {\r\n return\r\n }\r\n this._reachBottomEnabled = enabled;\r\n this._updateBounds()\r\n },\r\n _pullDownEnablingHandler: function(enabled) {\r\n if (this._pullDownEnabled === enabled) {\r\n return\r\n }\r\n this._pullDownEnabled = enabled;\r\n this._considerTopPocketChange();\r\n this._updateHandler()\r\n },\r\n _considerTopPocketChange: function() {\r\n this._location -= getHeight(this._$topPocket) || -this._topPocketSize;\r\n this._maxOffset = 0;\r\n this._move()\r\n },\r\n _pendingReleaseHandler: function() {\r\n this._state = STATE_READY\r\n },\r\n dispose: function() {\r\n if (this._releaseTask) {\r\n this._releaseTask.abort()\r\n }\r\n this.callBase()\r\n }\r\n});\r\nvar SimulatedScrollViewStrategy = SimulatedStrategy.inherit({\r\n _init: function(scrollView) {\r\n this.callBase(scrollView);\r\n this._$pullDown = scrollView._$pullDown;\r\n this._$topPocket = scrollView._$topPocket;\r\n this._$bottomPocket = scrollView._$bottomPocket;\r\n this._initCallbacks()\r\n },\r\n _initCallbacks: function() {\r\n this.pullDownCallbacks = Callbacks();\r\n this.releaseCallbacks = Callbacks();\r\n this.reachBottomCallbacks = Callbacks()\r\n },\r\n render: function() {\r\n this._renderPullDown();\r\n this.callBase()\r\n },\r\n _renderPullDown: function() {\r\n var $image = $(\"<div>\").addClass(SCROLLVIEW_PULLDOWN_IMAGE_CLASS);\r\n var $loadContainer = $(\"<div>\").addClass(SCROLLVIEW_PULLDOWN_INDICATOR_CLASS);\r\n var $loadIndicator = new LoadIndicator($(\"<div>\")).$element();\r\n var $text = this._$pullDownText = $(\"<div>\").addClass(SCROLLVIEW_PULLDOWN_TEXT_CLASS);\r\n this._$pullingDownText = $(\"<div>\").text(this.option(\"pullingDownText\")).appendTo($text);\r\n this._$pulledDownText = $(\"<div>\").text(this.option(\"pulledDownText\")).appendTo($text);\r\n this._$refreshingText = $(\"<div>\").text(this.option(\"refreshingText\")).appendTo($text);\r\n this._$pullDown.empty().append($image).append($loadContainer.append($loadIndicator)).append($text)\r\n },\r\n pullDownEnable: function(enabled) {\r\n this._eventHandler(\"pullDownEnabling\", enabled)\r\n },\r\n reachBottomEnable: function(enabled) {\r\n this._eventHandler(\"reachBottomEnabling\", enabled)\r\n },\r\n _createScroller: function(direction) {\r\n var that = this;\r\n var scroller = that._scrollers[direction] = new ScrollViewScroller(that._scrollerOptions(direction));\r\n scroller.pullDownCallbacks.add((function() {\r\n that.pullDownCallbacks.fire()\r\n }));\r\n scroller.releaseCallbacks.add((function() {\r\n that.releaseCallbacks.fire()\r\n }));\r\n scroller.reachBottomCallbacks.add((function() {\r\n that.reachBottomCallbacks.fire()\r\n }))\r\n },\r\n _scrollerOptions: function(direction) {\r\n return extend(this.callBase(direction), {\r\n $topPocket: this._$topPocket,\r\n $bottomPocket: this._$bottomPocket,\r\n $pullDown: this._$pullDown,\r\n $pullDownText: this._$pullDownText,\r\n $pullingDownText: this._$pullingDownText,\r\n $pulledDownText: this._$pulledDownText,\r\n $refreshingText: this._$refreshingText\r\n })\r\n },\r\n pendingRelease: function() {\r\n this._eventHandler(\"pendingRelease\")\r\n },\r\n release: function() {\r\n return this._eventHandler(\"release\").done(this._updateAction)\r\n },\r\n location: function() {\r\n var location = this.callBase();\r\n location.top += getHeight(this._$topPocket);\r\n return location\r\n },\r\n dispose: function() {\r\n each(this._scrollers, (function() {\r\n this.dispose()\r\n }));\r\n this.callBase()\r\n }\r\n});\r\nexport default SimulatedScrollViewStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scroll_view.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport PullDownStrategy from \"./ui.scroll_view.native.pull_down\";\r\nimport SwipeDownStrategy from \"./ui.scroll_view.native.swipe_down\";\r\nimport SimulatedStrategy from \"./ui.scroll_view.simulated\";\r\nimport Scrollable from \"./ui.scrollable\";\r\nimport LoadIndicator from \"../load_indicator\";\r\nimport {\r\n isMaterial\r\n} from \"./../themes\";\r\nimport LoadPanel from \"../load_panel\";\r\nvar SCROLLVIEW_CLASS = \"dx-scrollview\";\r\nvar SCROLLVIEW_CONTENT_CLASS = SCROLLVIEW_CLASS + \"-content\";\r\nvar SCROLLVIEW_TOP_POCKET_CLASS = SCROLLVIEW_CLASS + \"-top-pocket\";\r\nvar SCROLLVIEW_BOTTOM_POCKET_CLASS = SCROLLVIEW_CLASS + \"-bottom-pocket\";\r\nvar SCROLLVIEW_PULLDOWN_CLASS = SCROLLVIEW_CLASS + \"-pull-down\";\r\nvar SCROLLVIEW_REACHBOTTOM_CLASS = SCROLLVIEW_CLASS + \"-scrollbottom\";\r\nvar SCROLLVIEW_REACHBOTTOM_INDICATOR_CLASS = SCROLLVIEW_REACHBOTTOM_CLASS + \"-indicator\";\r\nvar SCROLLVIEW_REACHBOTTOM_TEXT_CLASS = SCROLLVIEW_REACHBOTTOM_CLASS + \"-text\";\r\nvar SCROLLVIEW_LOADPANEL = SCROLLVIEW_CLASS + \"-loadpanel\";\r\nvar refreshStrategies = {\r\n pullDown: PullDownStrategy,\r\n swipeDown: SwipeDownStrategy,\r\n simulated: SimulatedStrategy\r\n};\r\nvar isServerSide = !hasWindow();\r\nvar scrollViewServerConfig = {\r\n finishLoading: noop,\r\n release: noop,\r\n refresh: noop,\r\n scrollOffset: () => ({\r\n top: 0,\r\n left: 0\r\n }),\r\n _optionChanged: function(args) {\r\n if (\"onUpdated\" !== args.name) {\r\n return this.callBase.apply(this, arguments)\r\n }\r\n }\r\n};\r\nvar ScrollView = Scrollable.inherit(isServerSide ? scrollViewServerConfig : {\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n pullingDownText: messageLocalization.format(\"dxScrollView-pullingDownText\"),\r\n pulledDownText: messageLocalization.format(\"dxScrollView-pulledDownText\"),\r\n refreshingText: messageLocalization.format(\"dxScrollView-refreshingText\"),\r\n reachBottomText: messageLocalization.format(\"dxScrollView-reachBottomText\"),\r\n onPullDown: null,\r\n onReachBottom: null,\r\n refreshStrategy: \"pullDown\"\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n var realDevice = devices.real();\r\n return \"android\" === realDevice.platform\r\n },\r\n options: {\r\n refreshStrategy: \"swipeDown\"\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial()\r\n },\r\n options: {\r\n pullingDownText: \"\",\r\n pulledDownText: \"\",\r\n refreshingText: \"\",\r\n reachBottomText: \"\"\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._loadingIndicatorEnabled = true\r\n },\r\n _initScrollableMarkup: function() {\r\n this.callBase();\r\n this.$element().addClass(SCROLLVIEW_CLASS);\r\n this._initContent();\r\n this._initTopPocket();\r\n this._initBottomPocket();\r\n this._initLoadPanel()\r\n },\r\n _initContent: function() {\r\n var $content = $(\"<div>\").addClass(SCROLLVIEW_CONTENT_CLASS);\r\n this._$content.wrapInner($content)\r\n },\r\n _initTopPocket: function() {\r\n var $topPocket = this._$topPocket = $(\"<div>\").addClass(SCROLLVIEW_TOP_POCKET_CLASS);\r\n var $pullDown = this._$pullDown = $(\"<div>\").addClass(SCROLLVIEW_PULLDOWN_CLASS);\r\n $topPocket.append($pullDown);\r\n this._$content.prepend($topPocket)\r\n },\r\n _initBottomPocket: function() {\r\n var $bottomPocket = this._$bottomPocket = $(\"<div>\").addClass(SCROLLVIEW_BOTTOM_POCKET_CLASS);\r\n var $reachBottom = this._$reachBottom = $(\"<div>\").addClass(SCROLLVIEW_REACHBOTTOM_CLASS);\r\n var $loadContainer = $(\"<div>\").addClass(SCROLLVIEW_REACHBOTTOM_INDICATOR_CLASS);\r\n var $loadIndicator = new LoadIndicator($(\"<div>\")).$element();\r\n var $text = this._$reachBottomText = $(\"<div>\").addClass(SCROLLVIEW_REACHBOTTOM_TEXT_CLASS);\r\n this._updateReachBottomText();\r\n $reachBottom.append($loadContainer.append($loadIndicator)).append($text);\r\n $bottomPocket.append($reachBottom);\r\n this._$content.append($bottomPocket)\r\n },\r\n _initLoadPanel: function() {\r\n var $loadPanelElement = $(\"<div>\").addClass(SCROLLVIEW_LOADPANEL).appendTo(this.$element());\r\n var loadPanelOptions = {\r\n shading: false,\r\n delay: 400,\r\n message: this.option(\"refreshingText\"),\r\n position: {\r\n of: this.$element()\r\n }\r\n };\r\n this._loadPanel = this._createComponent($loadPanelElement, LoadPanel, loadPanelOptions)\r\n },\r\n _updateReachBottomText: function() {\r\n this._$reachBottomText.text(this.option(\"reachBottomText\"))\r\n },\r\n _createStrategy: function() {\r\n var strategyName = this.option(\"useNative\") ? this.option(\"refreshStrategy\") : \"simulated\";\r\n var strategyClass = refreshStrategies[strategyName];\r\n this._strategy = new strategyClass(this);\r\n this._strategy.pullDownCallbacks.add(this._pullDownHandler.bind(this));\r\n this._strategy.releaseCallbacks.add(this._releaseHandler.bind(this));\r\n this._strategy.reachBottomCallbacks.add(this._reachBottomHandler.bind(this))\r\n },\r\n _createActions: function() {\r\n this.callBase();\r\n this._pullDownAction = this._createActionByOption(\"onPullDown\");\r\n this._reachBottomAction = this._createActionByOption(\"onReachBottom\");\r\n this._tryRefreshPocketState()\r\n },\r\n _tryRefreshPocketState: function() {\r\n this._pullDownEnable(this.hasActionSubscription(\"onPullDown\"));\r\n this._reachBottomEnable(this.hasActionSubscription(\"onReachBottom\"))\r\n },\r\n on: function(eventName) {\r\n var result = this.callBase.apply(this, arguments);\r\n if (\"pullDown\" === eventName || \"reachBottom\" === eventName) {\r\n this._tryRefreshPocketState()\r\n }\r\n return result\r\n },\r\n _pullDownEnable: function(enabled) {\r\n if (0 === arguments.length) {\r\n return this._pullDownEnabled\r\n }\r\n if (this._$pullDown && this._strategy) {\r\n this._$pullDown.toggle(enabled);\r\n this._strategy.pullDownEnable(enabled);\r\n this._pullDownEnabled = enabled\r\n }\r\n },\r\n _reachBottomEnable: function(enabled) {\r\n if (0 === arguments.length) {\r\n return this._reachBottomEnabled\r\n }\r\n if (this._$reachBottom && this._strategy) {\r\n this._$reachBottom.toggle(enabled);\r\n this._strategy.reachBottomEnable(enabled);\r\n this._reachBottomEnabled = enabled\r\n }\r\n },\r\n _pullDownHandler: function() {\r\n this._loadingIndicator(false);\r\n this._pullDownLoading()\r\n },\r\n _loadingIndicator: function(value) {\r\n if (arguments.length < 1) {\r\n return this._loadingIndicatorEnabled\r\n }\r\n this._loadingIndicatorEnabled = value\r\n },\r\n _pullDownLoading: function() {\r\n this.startLoading();\r\n this._pullDownAction()\r\n },\r\n _reachBottomHandler: function() {\r\n this._loadingIndicator(false);\r\n this._reachBottomLoading()\r\n },\r\n _reachBottomLoading: function() {\r\n this.startLoading();\r\n this._reachBottomAction()\r\n },\r\n _releaseHandler: function() {\r\n this.finishLoading();\r\n this._loadingIndicator(true)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"onPullDown\":\r\n case \"onReachBottom\":\r\n this._createActions();\r\n break;\r\n case \"pullingDownText\":\r\n case \"pulledDownText\":\r\n case \"refreshingText\":\r\n case \"refreshStrategy\":\r\n this._invalidate();\r\n break;\r\n case \"reachBottomText\":\r\n this._updateReachBottomText();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n content: function() {\r\n return getPublicElement(this._$content.children().eq(1))\r\n },\r\n release: function(preventReachBottom) {\r\n if (void 0 !== preventReachBottom) {\r\n this.toggleLoading(!preventReachBottom)\r\n }\r\n return this._strategy.release()\r\n },\r\n toggleLoading: function(showOrHide) {\r\n this._reachBottomEnable(showOrHide)\r\n },\r\n refresh: function() {\r\n if (!this.hasActionSubscription(\"onPullDown\")) {\r\n return\r\n }\r\n this._strategy.pendingRelease();\r\n this._pullDownLoading()\r\n },\r\n startLoading: function() {\r\n if (this._loadingIndicator() && this.$element().is(\":visible\")) {\r\n this._loadPanel.show()\r\n }\r\n this._lock()\r\n },\r\n finishLoading: function() {\r\n this._loadPanel.hide();\r\n this._unlock()\r\n },\r\n _dispose: function() {\r\n this._strategy.dispose();\r\n this.callBase();\r\n if (this._loadPanel) {\r\n this._loadPanel.$element().remove()\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxScrollView\", ScrollView);\r\nexport default ScrollView;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport ScrollView from \"./scroll_view/ui.scroll_view\";\r\nexport default ScrollView;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/animator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport Class from \"../../core/class\";\r\nvar abstract = Class.abstract;\r\nimport {\r\n requestAnimationFrame,\r\n cancelAnimationFrame\r\n} from \"../../animation/frame\";\r\nvar Animator = Class.inherit({\r\n ctor: function() {\r\n this._finished = true;\r\n this._stopped = false;\r\n this._proxiedStepCore = this._stepCore.bind(this)\r\n },\r\n start: function() {\r\n this._stopped = false;\r\n this._finished = false;\r\n this._stepCore()\r\n },\r\n stop: function() {\r\n this._stopped = true;\r\n cancelAnimationFrame(this._stepAnimationFrame)\r\n },\r\n _stepCore: function() {\r\n if (this._isStopped()) {\r\n this._stop();\r\n return\r\n }\r\n if (this._isFinished()) {\r\n this._finished = true;\r\n this._complete();\r\n return\r\n }\r\n this._step();\r\n this._stepAnimationFrame = requestAnimationFrame(this._proxiedStepCore)\r\n },\r\n _step: abstract,\r\n _isFinished: noop,\r\n _stop: noop,\r\n _complete: noop,\r\n _isStopped: function() {\r\n return this._stopped\r\n },\r\n inProgress: function() {\r\n return !(this._stopped || this._finished)\r\n }\r\n});\r\nexport default Animator;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scrollable.device.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n nativeScrolling,\r\n touch\r\n} from \"../../core/utils/support\";\r\nexport var deviceDependentOptions = function() {\r\n return [{\r\n device: function() {\r\n return !nativeScrolling\r\n },\r\n options: {\r\n useNative: false\r\n }\r\n }, {\r\n device: function(_device) {\r\n return !devices.isSimulator() && \"desktop\" === devices.real().deviceType && \"generic\" === _device.platform\r\n },\r\n options: {\r\n bounceEnabled: false,\r\n scrollByThumb: true,\r\n scrollByContent: touch,\r\n showScrollbar: \"onHover\"\r\n }\r\n }]\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scrollable.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Scrollable from \"./ui.scrollable.old\";\r\nexport default Scrollable;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scrollable.native.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight,\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n isDxMouseWheelEvent\r\n} from \"../../events/utils/index\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport devices from \"../../core/devices\";\r\nimport Class from \"../../core/class\";\r\nimport Scrollbar from \"./ui.scrollbar\";\r\nvar SCROLLABLE_NATIVE = \"dxNativeScrollable\";\r\nvar SCROLLABLE_NATIVE_CLASS = \"dx-scrollable-native\";\r\nvar SCROLLABLE_SCROLLBAR_SIMULATED = \"dx-scrollable-scrollbar-simulated\";\r\nvar SCROLLABLE_SCROLLBARS_HIDDEN = \"dx-scrollable-scrollbars-hidden\";\r\nvar VERTICAL = \"vertical\";\r\nvar HORIZONTAL = \"horizontal\";\r\nvar HIDE_SCROLLBAR_TIMEOUT = 500;\r\nvar NativeStrategy = Class.inherit({\r\n ctor: function(scrollable) {\r\n this._init(scrollable)\r\n },\r\n _init: function(scrollable) {\r\n this._component = scrollable;\r\n this._$element = scrollable.$element();\r\n this._$container = $(scrollable.container());\r\n this._$content = scrollable.$content();\r\n this._direction = scrollable.option(\"direction\");\r\n this._useSimulatedScrollbar = scrollable.option(\"useSimulatedScrollbar\");\r\n this.option = scrollable.option.bind(scrollable);\r\n this._createActionByOption = scrollable._createActionByOption.bind(scrollable);\r\n this._isLocked = scrollable._isLocked.bind(scrollable);\r\n this._isDirection = scrollable._isDirection.bind(scrollable);\r\n this._allowedDirection = scrollable._allowedDirection.bind(scrollable);\r\n this._getMaxOffset = scrollable._getMaxOffset.bind(scrollable);\r\n this._isRtlNativeStrategy = scrollable._isRtlNativeStrategy.bind(scrollable)\r\n },\r\n render: function() {\r\n var device = devices.real();\r\n var deviceType = device.platform;\r\n this._$element.addClass(SCROLLABLE_NATIVE_CLASS).addClass(SCROLLABLE_NATIVE_CLASS + \"-\" + deviceType).toggleClass(SCROLLABLE_SCROLLBARS_HIDDEN, !this._isScrollbarVisible());\r\n if (this._isScrollbarVisible() && this._useSimulatedScrollbar) {\r\n this._renderScrollbars()\r\n }\r\n },\r\n updateRtlPosition: function(isFirstRender) {\r\n if (isFirstRender && this.option(\"rtlEnabled\")) {\r\n if (this._isScrollbarVisible() && this._useSimulatedScrollbar) {\r\n this._moveScrollbars()\r\n }\r\n }\r\n },\r\n _renderScrollbars: function() {\r\n this._scrollbars = {};\r\n this._hideScrollbarTimeout = 0;\r\n this._$element.addClass(SCROLLABLE_SCROLLBAR_SIMULATED);\r\n this._renderScrollbar(VERTICAL);\r\n this._renderScrollbar(HORIZONTAL)\r\n },\r\n _renderScrollbar: function(direction) {\r\n if (!this._isDirection(direction)) {\r\n return\r\n }\r\n this._scrollbars[direction] = new Scrollbar($(\"<div>\").appendTo(this._$element), {\r\n direction: direction,\r\n expandable: this._component.option(\"scrollByThumb\")\r\n })\r\n },\r\n handleInit: noop,\r\n handleStart: noop,\r\n handleMove: function(e) {\r\n if (this._isLocked()) {\r\n e.cancel = true;\r\n return\r\n }\r\n if (this._allowedDirection()) {\r\n e.originalEvent.isScrollingEvent = true\r\n }\r\n },\r\n handleEnd: noop,\r\n handleCancel: noop,\r\n handleStop: noop,\r\n _eachScrollbar: function(callback) {\r\n callback = callback.bind(this);\r\n each(this._scrollbars || {}, (function(direction, scrollbar) {\r\n callback(scrollbar, direction)\r\n }))\r\n },\r\n createActions: function() {\r\n this._scrollAction = this._createActionByOption(\"onScroll\");\r\n this._updateAction = this._createActionByOption(\"onUpdated\")\r\n },\r\n _createActionArgs: function() {\r\n var {\r\n left: left,\r\n top: top\r\n } = this.location();\r\n return {\r\n event: this._eventForUserAction,\r\n scrollOffset: this._getScrollOffset(),\r\n reachedLeft: this._isRtlNativeStrategy() ? this._isReachedRight(-left) : this._isReachedLeft(left),\r\n reachedRight: this._isRtlNativeStrategy() ? this._isReachedLeft(-Math.abs(left)) : this._isReachedRight(left),\r\n reachedTop: this._isDirection(VERTICAL) ? Math.round(top) >= 0 : void 0,\r\n reachedBottom: this._isDirection(VERTICAL) ? Math.round(Math.abs(top) - this._getMaxOffset().top) >= 0 : void 0\r\n }\r\n },\r\n _getScrollOffset: function() {\r\n var {\r\n top: top,\r\n left: left\r\n } = this.location();\r\n return {\r\n top: -top,\r\n left: this._normalizeOffsetLeft(-left)\r\n }\r\n },\r\n _normalizeOffsetLeft(scrollLeft) {\r\n if (this._isRtlNativeStrategy()) {\r\n return this._getMaxOffset().left + scrollLeft\r\n }\r\n return scrollLeft\r\n },\r\n _isReachedLeft: function(left) {\r\n return this._isDirection(HORIZONTAL) ? Math.round(left) >= 0 : void 0\r\n },\r\n _isReachedRight: function(left) {\r\n return this._isDirection(HORIZONTAL) ? Math.round(Math.abs(left) - this._getMaxOffset().left) >= 0 : void 0\r\n },\r\n _isScrollbarVisible: function() {\r\n var {\r\n showScrollbar: showScrollbar\r\n } = this.option();\r\n return \"never\" !== showScrollbar && false !== showScrollbar\r\n },\r\n handleScroll: function(e) {\r\n this._eventForUserAction = e;\r\n this._moveScrollbars();\r\n this._scrollAction(this._createActionArgs())\r\n },\r\n _moveScrollbars: function() {\r\n var {\r\n top: top,\r\n left: left\r\n } = this._getScrollOffset();\r\n this._eachScrollbar((function(scrollbar) {\r\n scrollbar.moveTo({\r\n top: -top,\r\n left: -left\r\n });\r\n scrollbar.option(\"visible\", true)\r\n }));\r\n this._hideScrollbars()\r\n },\r\n _hideScrollbars: function() {\r\n clearTimeout(this._hideScrollbarTimeout);\r\n this._hideScrollbarTimeout = setTimeout(function() {\r\n this._eachScrollbar((function(scrollbar) {\r\n scrollbar.option(\"visible\", false)\r\n }))\r\n }.bind(this), HIDE_SCROLLBAR_TIMEOUT)\r\n },\r\n location: function() {\r\n return {\r\n left: -this._$container.scrollLeft(),\r\n top: -this._$container.scrollTop()\r\n }\r\n },\r\n disabledChanged: noop,\r\n update: function() {\r\n this._update();\r\n this._updateAction(this._createActionArgs())\r\n },\r\n _update: function() {\r\n this._updateDimensions();\r\n this._updateScrollbars()\r\n },\r\n _updateDimensions: function() {\r\n this._containerSize = {\r\n height: getHeight(this._$container),\r\n width: getWidth(this._$container)\r\n };\r\n this._componentContentSize = {\r\n height: getHeight(this._component.$content()),\r\n width: getWidth(this._component.$content())\r\n };\r\n this._contentSize = {\r\n height: getHeight(this._$content),\r\n width: getWidth(this._$content)\r\n }\r\n },\r\n _updateScrollbars: function() {\r\n this._eachScrollbar((function(scrollbar, direction) {\r\n var dimension = direction === VERTICAL ? \"height\" : \"width\";\r\n scrollbar.option({\r\n containerSize: this._containerSize[dimension],\r\n contentSize: this._componentContentSize[dimension]\r\n });\r\n scrollbar.update()\r\n }))\r\n },\r\n _allowedDirections: function() {\r\n return {\r\n vertical: this._isDirection(VERTICAL) && this._contentSize.height > this._containerSize.height,\r\n horizontal: this._isDirection(HORIZONTAL) && this._contentSize.width > this._containerSize.width\r\n }\r\n },\r\n dispose: function() {\r\n var className = this._$element.get(0).className;\r\n var scrollableNativeRegexp = new RegExp(SCROLLABLE_NATIVE_CLASS + \"\\\\S*\", \"g\");\r\n if (scrollableNativeRegexp.test(className)) {\r\n this._$element.removeClass(className.match(scrollableNativeRegexp).join(\" \"))\r\n }\r\n eventsEngine.off(this._$element, \".\" + SCROLLABLE_NATIVE);\r\n eventsEngine.off(this._$container, \".\" + SCROLLABLE_NATIVE);\r\n this._removeScrollbars();\r\n clearTimeout(this._hideScrollbarTimeout)\r\n },\r\n _removeScrollbars: function() {\r\n this._eachScrollbar((function(scrollbar) {\r\n scrollbar.$element().remove()\r\n }))\r\n },\r\n scrollBy: function(distance) {\r\n var location = this.location();\r\n this._$container.scrollTop(Math.round(-location.top - distance.top));\r\n this._$container.scrollLeft(Math.round(-location.left - distance.left))\r\n },\r\n validate: function(e) {\r\n if (this.option(\"disabled\")) {\r\n return false\r\n }\r\n if (isDxMouseWheelEvent(e) && this._isScrolledInMaxDirection(e)) {\r\n return false\r\n }\r\n return !!this._allowedDirection()\r\n },\r\n _isScrolledInMaxDirection(e) {\r\n var container = this._$container.get(0);\r\n var result;\r\n if (e.delta > 0) {\r\n result = e.shiftKey ? !container.scrollLeft : !container.scrollTop\r\n } else if (e.shiftKey) {\r\n result = container.scrollLeft >= this._getMaxOffset().left\r\n } else {\r\n result = container.scrollTop >= this._getMaxOffset().top\r\n }\r\n return result\r\n },\r\n getDirection: function() {\r\n return this._allowedDirection()\r\n }\r\n});\r\nexport default NativeStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scrollable.old.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight,\r\n getOuterHeight,\r\n getWidth,\r\n getOuterWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n nativeScrolling\r\n} from \"../../core/utils/support\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport {\r\n ensureDefined\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isPlainObject,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport devices from \"../../core/devices\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport DOMComponent from \"../../core/dom_component\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport scrollEvents from \"../../events/gesture/emitter.gesture.scroll\";\r\nimport {\r\n SimulatedStrategy\r\n} from \"./ui.scrollable.simulated\";\r\nimport NativeStrategy from \"./ui.scrollable.native\";\r\nimport {\r\n deviceDependentOptions\r\n} from \"./ui.scrollable.device\";\r\nimport {\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n getElementLocationInternal\r\n} from \"../../renovation/ui/scroll_view/utils/get_element_location_internal\";\r\nvar SCROLLABLE = \"dxScrollable\";\r\nvar SCROLLABLE_STRATEGY = \"dxScrollableStrategy\";\r\nvar SCROLLABLE_CLASS = \"dx-scrollable\";\r\nvar SCROLLABLE_DISABLED_CLASS = \"dx-scrollable-disabled\";\r\nvar SCROLLABLE_CONTAINER_CLASS = \"dx-scrollable-container\";\r\nvar SCROLLABLE_WRAPPER_CLASS = \"dx-scrollable-wrapper\";\r\nvar SCROLLABLE_CONTENT_CLASS = \"dx-scrollable-content\";\r\nvar VERTICAL = \"vertical\";\r\nvar HORIZONTAL = \"horizontal\";\r\nvar BOTH = \"both\";\r\nvar Scrollable = DOMComponent.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n disabled: false,\r\n onScroll: null,\r\n direction: VERTICAL,\r\n showScrollbar: \"onScroll\",\r\n useNative: true,\r\n bounceEnabled: true,\r\n scrollByContent: true,\r\n scrollByThumb: false,\r\n onUpdated: null,\r\n onStart: null,\r\n onEnd: null,\r\n onBounce: null,\r\n useSimulatedScrollbar: false,\r\n useKeyboard: true,\r\n inertiaEnabled: true,\r\n updateManually: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat(deviceDependentOptions(), [{\r\n device: function() {\r\n return nativeScrolling && \"android\" === devices.real().platform && !browser.mozilla\r\n },\r\n options: {\r\n useSimulatedScrollbar: true\r\n }\r\n }])\r\n },\r\n _initOptions: function(options) {\r\n this.callBase(options);\r\n if (!(\"useSimulatedScrollbar\" in options)) {\r\n this._setUseSimulatedScrollbar()\r\n }\r\n },\r\n _setUseSimulatedScrollbar: function() {\r\n if (!this.initialOption(\"useSimulatedScrollbar\")) {\r\n this.option(\"useSimulatedScrollbar\", !this.option(\"useNative\"))\r\n }\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initScrollableMarkup();\r\n this._locked = false\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this.update();\r\n this._updateRtlPosition();\r\n this._savedScrollOffset && this.scrollTo(this._savedScrollOffset);\r\n delete this._savedScrollOffset\r\n } else {\r\n this._savedScrollOffset = this.scrollOffset()\r\n }\r\n },\r\n _initScrollableMarkup: function() {\r\n var $element = this.$element().addClass(SCROLLABLE_CLASS);\r\n var $container = this._$container = $(\"<div>\").addClass(SCROLLABLE_CONTAINER_CLASS);\r\n var $wrapper = this._$wrapper = $(\"<div>\").addClass(SCROLLABLE_WRAPPER_CLASS);\r\n var $content = this._$content = $(\"<div>\").addClass(SCROLLABLE_CONTENT_CLASS);\r\n $content.append($element.contents()).appendTo($container);\r\n $container.appendTo($wrapper);\r\n $wrapper.appendTo($element)\r\n },\r\n _dimensionChanged: function() {\r\n this.update();\r\n this._updateRtlPosition()\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._renderDirection()\r\n },\r\n _render: function() {\r\n this._renderStrategy();\r\n this._attachEventHandlers();\r\n this._renderDisabledState();\r\n this._createActions();\r\n this.update();\r\n this.callBase();\r\n this._updateRtlPosition(true)\r\n },\r\n _updateRtlPosition: function(needInitializeRtlConfig) {\r\n this._strategy.updateRtlPosition(needInitializeRtlConfig)\r\n },\r\n _getMaxOffset: function() {\r\n var {\r\n scrollWidth: scrollWidth,\r\n clientWidth: clientWidth,\r\n scrollHeight: scrollHeight,\r\n clientHeight: clientHeight\r\n } = $(this.container()).get(0);\r\n return {\r\n left: scrollWidth - clientWidth,\r\n top: scrollHeight - clientHeight\r\n }\r\n },\r\n _attachEventHandlers: function() {\r\n var strategy = this._strategy;\r\n var initEventData = {\r\n getDirection: strategy.getDirection.bind(strategy),\r\n validate: this._validate.bind(this),\r\n isNative: this.option(\"useNative\"),\r\n scrollTarget: this._$container\r\n };\r\n eventsEngine.off(this._$wrapper, \".\" + SCROLLABLE);\r\n eventsEngine.on(this._$wrapper, addNamespace(scrollEvents.init, SCROLLABLE), initEventData, this._initHandler.bind(this));\r\n eventsEngine.on(this._$wrapper, addNamespace(scrollEvents.start, SCROLLABLE), strategy.handleStart.bind(strategy));\r\n eventsEngine.on(this._$wrapper, addNamespace(scrollEvents.move, SCROLLABLE), strategy.handleMove.bind(strategy));\r\n eventsEngine.on(this._$wrapper, addNamespace(scrollEvents.end, SCROLLABLE), strategy.handleEnd.bind(strategy));\r\n eventsEngine.on(this._$wrapper, addNamespace(scrollEvents.cancel, SCROLLABLE), strategy.handleCancel.bind(strategy));\r\n eventsEngine.on(this._$wrapper, addNamespace(scrollEvents.stop, SCROLLABLE), strategy.handleStop.bind(strategy));\r\n eventsEngine.off(this._$container, \".\" + SCROLLABLE);\r\n eventsEngine.on(this._$container, addNamespace(\"scroll\", SCROLLABLE), strategy.handleScroll.bind(strategy))\r\n },\r\n _validate: function(e) {\r\n if (this._isLocked()) {\r\n return false\r\n }\r\n this._updateIfNeed();\r\n return this._moveIsAllowed(e)\r\n },\r\n _moveIsAllowed(e) {\r\n return this._strategy.validate(e)\r\n },\r\n handleMove(e) {\r\n this._strategy.handleMove(e)\r\n },\r\n _prepareDirections(value) {\r\n this._strategy._prepareDirections(value)\r\n },\r\n _initHandler: function() {\r\n var strategy = this._strategy;\r\n strategy.handleInit.apply(strategy, arguments)\r\n },\r\n _renderDisabledState: function() {\r\n this.$element().toggleClass(SCROLLABLE_DISABLED_CLASS, this.option(\"disabled\"));\r\n if (this.option(\"disabled\")) {\r\n this._lock()\r\n } else {\r\n this._unlock()\r\n }\r\n },\r\n _renderDirection: function() {\r\n this.$element().removeClass(\"dx-scrollable-\" + HORIZONTAL).removeClass(\"dx-scrollable-\" + VERTICAL).removeClass(\"dx-scrollable-\" + BOTH).addClass(\"dx-scrollable-\" + this.option(\"direction\"))\r\n },\r\n _renderStrategy: function() {\r\n this._createStrategy();\r\n this._strategy.render();\r\n this.$element().data(SCROLLABLE_STRATEGY, this._strategy)\r\n },\r\n _createStrategy: function() {\r\n this._strategy = this.option(\"useNative\") ? new NativeStrategy(this) : new SimulatedStrategy(this)\r\n },\r\n _createActions: function() {\r\n this._strategy && this._strategy.createActions()\r\n },\r\n _clean: function() {\r\n this._strategy && this._strategy.dispose()\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"onStart\":\r\n case \"onEnd\":\r\n case \"onUpdated\":\r\n case \"onScroll\":\r\n case \"onBounce\":\r\n this._createActions();\r\n break;\r\n case \"direction\":\r\n this._resetInactiveDirection();\r\n this._invalidate();\r\n break;\r\n case \"useNative\":\r\n this._setUseSimulatedScrollbar();\r\n this._invalidate();\r\n break;\r\n case \"inertiaEnabled\":\r\n case \"scrollByThumb\":\r\n case \"bounceEnabled\":\r\n case \"useKeyboard\":\r\n case \"showScrollbar\":\r\n case \"useSimulatedScrollbar\":\r\n this._invalidate();\r\n break;\r\n case \"disabled\":\r\n this._renderDisabledState();\r\n this._strategy && this._strategy.disabledChanged();\r\n break;\r\n case \"updateManually\":\r\n case \"scrollByContent\":\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n this._updateRtlPosition();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _resetInactiveDirection: function() {\r\n var inactiveProp = this._getInactiveProp();\r\n if (!inactiveProp || !hasWindow()) {\r\n return\r\n }\r\n var scrollOffset = this.scrollOffset();\r\n scrollOffset[inactiveProp] = 0;\r\n this.scrollTo(scrollOffset)\r\n },\r\n _getInactiveProp: function() {\r\n var direction = this.option(\"direction\");\r\n if (direction === VERTICAL) {\r\n return \"left\"\r\n }\r\n if (direction === HORIZONTAL) {\r\n return \"top\"\r\n }\r\n },\r\n _location: function() {\r\n return this._strategy.location()\r\n },\r\n _normalizeLocation: function(location) {\r\n if (isPlainObject(location)) {\r\n var left = ensureDefined(location.left, location.x);\r\n var top = ensureDefined(location.top, location.y);\r\n return {\r\n left: isDefined(left) ? -left : void 0,\r\n top: isDefined(top) ? -top : void 0\r\n }\r\n } else {\r\n var direction = this.option(\"direction\");\r\n return {\r\n left: direction !== VERTICAL ? -location : void 0,\r\n top: direction !== HORIZONTAL ? -location : void 0\r\n }\r\n }\r\n },\r\n _isLocked: function() {\r\n return this._locked\r\n },\r\n _lock: function() {\r\n this._locked = true\r\n },\r\n _unlock: function() {\r\n if (!this.option(\"disabled\")) {\r\n this._locked = false\r\n }\r\n },\r\n _isDirection: function(direction) {\r\n var current = this.option(\"direction\");\r\n if (direction === VERTICAL) {\r\n return current !== HORIZONTAL\r\n }\r\n if (direction === HORIZONTAL) {\r\n return current !== VERTICAL\r\n }\r\n return current === direction\r\n },\r\n _updateAllowedDirection: function() {\r\n var allowedDirections = this._strategy._allowedDirections();\r\n if (this._isDirection(BOTH) && allowedDirections.vertical && allowedDirections.horizontal) {\r\n this._allowedDirectionValue = BOTH\r\n } else if (this._isDirection(HORIZONTAL) && allowedDirections.horizontal) {\r\n this._allowedDirectionValue = HORIZONTAL\r\n } else if (this._isDirection(VERTICAL) && allowedDirections.vertical) {\r\n this._allowedDirectionValue = VERTICAL\r\n } else {\r\n this._allowedDirectionValue = null\r\n }\r\n },\r\n _allowedDirection: function() {\r\n return this._allowedDirectionValue\r\n },\r\n $content: function() {\r\n return this._$content\r\n },\r\n content: function() {\r\n return getPublicElement(this._$content)\r\n },\r\n container: function() {\r\n return getPublicElement(this._$container)\r\n },\r\n scrollOffset: function() {\r\n return this._strategy._getScrollOffset()\r\n },\r\n _isRtlNativeStrategy: function() {\r\n var {\r\n useNative: useNative,\r\n rtlEnabled: rtlEnabled\r\n } = this.option();\r\n return useNative && rtlEnabled\r\n },\r\n scrollTop: function() {\r\n return this.scrollOffset().top\r\n },\r\n scrollLeft: function() {\r\n return this.scrollOffset().left\r\n },\r\n clientHeight: function() {\r\n return getHeight(this._$container)\r\n },\r\n scrollHeight: function() {\r\n return getOuterHeight(this.$content())\r\n },\r\n clientWidth: function() {\r\n return getWidth(this._$container)\r\n },\r\n scrollWidth: function() {\r\n return getOuterWidth(this.$content())\r\n },\r\n update: function() {\r\n if (!this._strategy) {\r\n return\r\n }\r\n return when(this._strategy.update()).done(function() {\r\n this._updateAllowedDirection()\r\n }.bind(this))\r\n },\r\n scrollBy: function(distance) {\r\n distance = this._normalizeLocation(distance);\r\n if (!distance.top && !distance.left) {\r\n return\r\n }\r\n this._updateIfNeed();\r\n this._strategy.scrollBy(distance)\r\n },\r\n scrollTo: function(targetLocation) {\r\n targetLocation = this._normalizeLocation(targetLocation);\r\n this._updateIfNeed();\r\n var location = this._location();\r\n if (!this.option(\"useNative\")) {\r\n targetLocation = this._strategy._applyScaleRatio(targetLocation);\r\n location = this._strategy._applyScaleRatio(location)\r\n }\r\n if (this._isRtlNativeStrategy()) {\r\n location.left = location.left - this._getMaxOffset().left\r\n }\r\n var distance = this._normalizeLocation({\r\n left: location.left - ensureDefined(targetLocation.left, location.left),\r\n top: location.top - ensureDefined(targetLocation.top, location.top)\r\n });\r\n if (!distance.top && !distance.left) {\r\n return\r\n }\r\n this._strategy.scrollBy(distance)\r\n },\r\n scrollToElement: function(element, offset) {\r\n var $element = $(element);\r\n var elementInsideContent = this.$content().find(element).length;\r\n var elementIsInsideContent = $element.parents(\".\" + SCROLLABLE_CLASS).length - $element.parents(\".\" + SCROLLABLE_CONTENT_CLASS).length === 0;\r\n if (!elementInsideContent || !elementIsInsideContent) {\r\n return\r\n }\r\n var scrollPosition = {\r\n top: 0,\r\n left: 0\r\n };\r\n var direction = this.option(\"direction\");\r\n if (direction !== VERTICAL) {\r\n scrollPosition.left = this.getScrollElementPosition($element, HORIZONTAL, offset)\r\n }\r\n if (direction !== HORIZONTAL) {\r\n scrollPosition.top = this.getScrollElementPosition($element, VERTICAL, offset)\r\n }\r\n this.scrollTo(scrollPosition)\r\n },\r\n getScrollElementPosition: function($element, direction, offset) {\r\n var scrollOffset = this.scrollOffset();\r\n return getElementLocationInternal($element.get(0), direction, $(this.container()).get(0), scrollOffset, offset)\r\n },\r\n _updateIfNeed: function() {\r\n if (!this.option(\"updateManually\")) {\r\n this.update()\r\n }\r\n },\r\n _useTemplates: function() {\r\n return false\r\n },\r\n isRenovated: function() {\r\n return !!Scrollable.IS_RENOVATED_WIDGET\r\n }\r\n});\r\nregisterComponent(SCROLLABLE, Scrollable);\r\nexport default Scrollable;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scroll_view/utils/get_element_location_internal.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n titleize\r\n} from \"../../../../core/utils/inflector\";\r\nimport {\r\n getRelativeOffset\r\n} from \"./get_relative_offset\";\r\nimport {\r\n DIRECTION_VERTICAL,\r\n SCROLLABLE_CONTENT_CLASS\r\n} from \"../common/consts\";\r\nexport function getElementLocationInternal(targetElement, direction, containerElement, scrollOffset, offset) {\r\n var additionalOffset = _extends({\r\n top: 0,\r\n left: 0,\r\n right: 0,\r\n bottom: 0\r\n }, offset);\r\n var isVertical = direction === DIRECTION_VERTICAL;\r\n var prop = isVertical ? \"top\" : \"left\";\r\n var inverseProp = isVertical ? \"bottom\" : \"right\";\r\n var dimension = isVertical ? \"height\" : \"width\";\r\n var containerOffsetSize = containerElement[\"offset\".concat(titleize(dimension))];\r\n var containerClientSize = containerElement[\"client\".concat(titleize(dimension))];\r\n var containerSize = containerElement.getBoundingClientRect()[dimension];\r\n var elementSize = targetElement.getBoundingClientRect()[dimension];\r\n var scale = 1;\r\n if (Math.abs(containerSize - containerOffsetSize) > 1) {\r\n scale = containerSize / containerOffsetSize\r\n }\r\n var relativeElementOffset = getRelativeOffset(SCROLLABLE_CONTENT_CLASS, targetElement)[prop] / scale;\r\n var containerScrollOffset = scrollOffset[prop];\r\n var relativeStartOffset = containerScrollOffset - relativeElementOffset + additionalOffset[prop];\r\n var relativeEndOffset = containerScrollOffset - relativeElementOffset - elementSize / scale + containerClientSize - additionalOffset[inverseProp];\r\n if (relativeStartOffset <= 0 && relativeEndOffset >= 0) {\r\n return containerScrollOffset\r\n }\r\n return containerScrollOffset - (Math.abs(relativeStartOffset) > Math.abs(relativeEndOffset) ? relativeEndOffset : relativeStartOffset)\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scrollable.simulated.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight,\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n titleize\r\n} from \"../../core/utils/inflector\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n each,\r\n map\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../core/utils/position\";\r\nimport {\r\n resetPosition,\r\n move,\r\n locate\r\n} from \"../../animation/translator\";\r\nimport Class from \"../../core/class\";\r\nimport Animator from \"./animator\";\r\nimport {\r\n isDxMouseWheelEvent,\r\n addNamespace as addEventNamespace,\r\n normalizeKeyName,\r\n isCommandKeyPressed\r\n} from \"../../events/utils/index\";\r\nimport {\r\n deferUpdate,\r\n deferUpdater,\r\n deferRender,\r\n deferRenderer,\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport Scrollbar from \"./ui.scrollbar\";\r\nimport {\r\n when,\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar SCROLLABLE_SIMULATED = \"dxSimulatedScrollable\";\r\nvar SCROLLABLE_STRATEGY = \"dxScrollableStrategy\";\r\nvar SCROLLABLE_SIMULATED_CURSOR = SCROLLABLE_SIMULATED + \"Cursor\";\r\nvar SCROLLABLE_SIMULATED_KEYBOARD = SCROLLABLE_SIMULATED + \"Keyboard\";\r\nvar SCROLLABLE_SIMULATED_CLASS = \"dx-scrollable-simulated\";\r\nvar SCROLLABLE_SCROLLBARS_ALWAYSVISIBLE = \"dx-scrollable-scrollbars-alwaysvisible\";\r\nvar SCROLLABLE_SCROLLBAR_CLASS = \"dx-scrollable-scrollbar\";\r\nvar VERTICAL = \"vertical\";\r\nvar HORIZONTAL = \"horizontal\";\r\nvar ACCELERATION = .92;\r\nvar OUT_BOUNDS_ACCELERATION = .5;\r\nvar MIN_VELOCITY_LIMIT = 1;\r\nvar FRAME_DURATION = Math.round(1e3 / 60);\r\nvar SCROLL_LINE_HEIGHT = 40;\r\nvar VALIDATE_WHEEL_TIMEOUT = 500;\r\nvar BOUNCE_MIN_VELOCITY_LIMIT = MIN_VELOCITY_LIMIT / 5;\r\nvar BOUNCE_DURATION = 400;\r\nvar BOUNCE_FRAMES = BOUNCE_DURATION / FRAME_DURATION;\r\nvar BOUNCE_ACCELERATION_SUM = (1 - Math.pow(ACCELERATION, BOUNCE_FRAMES)) / (1 - ACCELERATION);\r\nvar KEY_CODES = {\r\n PAGE_UP: \"pageUp\",\r\n PAGE_DOWN: \"pageDown\",\r\n END: \"end\",\r\n HOME: \"home\",\r\n LEFT: \"leftArrow\",\r\n UP: \"upArrow\",\r\n RIGHT: \"rightArrow\",\r\n DOWN: \"downArrow\",\r\n TAB: \"tab\"\r\n};\r\nvar InertiaAnimator = Animator.inherit({\r\n ctor: function(scroller) {\r\n this.callBase();\r\n this.scroller = scroller\r\n },\r\n VELOCITY_LIMIT: MIN_VELOCITY_LIMIT,\r\n _isFinished: function() {\r\n return Math.abs(this.scroller._velocity) <= this.VELOCITY_LIMIT\r\n },\r\n _step: function() {\r\n this.scroller._scrollStep(this.scroller._velocity);\r\n this.scroller._velocity *= this._acceleration()\r\n },\r\n _acceleration: function() {\r\n return this.scroller._inBounds() ? ACCELERATION : OUT_BOUNDS_ACCELERATION\r\n },\r\n _complete: function() {\r\n this.scroller._scrollComplete()\r\n }\r\n});\r\nvar BounceAnimator = InertiaAnimator.inherit({\r\n VELOCITY_LIMIT: BOUNCE_MIN_VELOCITY_LIMIT,\r\n _isFinished: function() {\r\n return this.scroller._crossBoundOnNextStep() || this.callBase()\r\n },\r\n _acceleration: function() {\r\n return ACCELERATION\r\n },\r\n _complete: function() {\r\n this.scroller._move(this.scroller._bounceLocation);\r\n this.callBase()\r\n }\r\n});\r\nexport var Scroller = Class.inherit({\r\n ctor: function(options) {\r\n this._initOptions(options);\r\n this._initAnimators();\r\n this._initScrollbar()\r\n },\r\n _initOptions: function(options) {\r\n this._location = 0;\r\n this._topReached = false;\r\n this._bottomReached = false;\r\n this._axis = options.direction === HORIZONTAL ? \"x\" : \"y\";\r\n this._prop = options.direction === HORIZONTAL ? \"left\" : \"top\";\r\n this._dimension = options.direction === HORIZONTAL ? \"width\" : \"height\";\r\n this._scrollProp = options.direction === HORIZONTAL ? \"scrollLeft\" : \"scrollTop\";\r\n each(options, (optionName, optionValue) => {\r\n this[\"_\" + optionName] = optionValue\r\n })\r\n },\r\n _initAnimators: function() {\r\n this._inertiaAnimator = new InertiaAnimator(this);\r\n this._bounceAnimator = new BounceAnimator(this)\r\n },\r\n _initScrollbar: function() {\r\n this._scrollbar = new Scrollbar($(\"<div>\").appendTo(this._$container), {\r\n direction: this._direction,\r\n visible: this._scrollByThumb,\r\n visibilityMode: this._visibilityModeNormalize(this._scrollbarVisible),\r\n expandable: this._scrollByThumb\r\n });\r\n this._$scrollbar = this._scrollbar.$element()\r\n },\r\n _visibilityModeNormalize: function(mode) {\r\n return true === mode ? \"onScroll\" : false === mode ? \"never\" : mode\r\n },\r\n _scrollStep: function(delta) {\r\n var prevLocation = this._location;\r\n this._location += delta;\r\n this._suppressBounce();\r\n this._move();\r\n if (Math.abs(prevLocation - this._location) < 1) {\r\n return\r\n }\r\n eventsEngine.triggerHandler(this._$container, {\r\n type: \"scroll\"\r\n })\r\n },\r\n _suppressBounce: function() {\r\n if (this._bounceEnabled || this._inBounds(this._location)) {\r\n return\r\n }\r\n this._velocity = 0;\r\n this._location = this._boundLocation()\r\n },\r\n _boundLocation: function(location) {\r\n location = void 0 !== location ? location : this._location;\r\n return Math.max(Math.min(location, this._maxOffset), this._minOffset)\r\n },\r\n _move: function(location) {\r\n this._location = void 0 !== location ? location * this._getScaleRatio() : this._location;\r\n this._moveContent();\r\n this._moveScrollbar()\r\n },\r\n _moveContent: function() {\r\n var location = this._location;\r\n this._$container[this._scrollProp](-location / this._getScaleRatio());\r\n this._moveContentByTranslator(location)\r\n },\r\n _getScaleRatio: function() {\r\n if (hasWindow() && !this._scaleRatio) {\r\n var element = this._$element.get(0);\r\n var realDimension = this._getRealDimension(element, this._dimension);\r\n var baseDimension = this._getBaseDimension(element, this._dimension);\r\n this._scaleRatio = Math.round(realDimension / baseDimension * 100) / 100\r\n }\r\n return this._scaleRatio || 1\r\n },\r\n _getRealDimension: function(element, dimension) {\r\n return Math.round(getBoundingRect(element)[dimension])\r\n },\r\n _getBaseDimension: function(element, dimension) {\r\n var dimensionName = \"offset\" + titleize(dimension);\r\n return element[dimensionName]\r\n },\r\n _moveContentByTranslator: function(location) {\r\n var translateOffset;\r\n var minOffset = -this._maxScrollPropValue;\r\n if (location > 0) {\r\n translateOffset = location\r\n } else if (location <= minOffset) {\r\n translateOffset = location - minOffset\r\n } else {\r\n translateOffset = location % 1\r\n }\r\n if (this._translateOffset === translateOffset) {\r\n return\r\n }\r\n var targetLocation = {};\r\n targetLocation[this._prop] = translateOffset;\r\n this._translateOffset = translateOffset;\r\n if (0 === translateOffset) {\r\n resetPosition(this._$content);\r\n return\r\n }\r\n move(this._$content, targetLocation)\r\n },\r\n _moveScrollbar: function() {\r\n this._scrollbar.moveTo(this._location)\r\n },\r\n _scrollComplete: function() {\r\n if (this._inBounds()) {\r\n this._hideScrollbar();\r\n if (this._completeDeferred) {\r\n this._completeDeferred.resolve()\r\n }\r\n }\r\n this._scrollToBounds()\r\n },\r\n _scrollToBounds: function() {\r\n if (this._inBounds()) {\r\n return\r\n }\r\n this._bounceAction();\r\n this._setupBounce();\r\n this._bounceAnimator.start()\r\n },\r\n _setupBounce: function() {\r\n var boundLocation = this._bounceLocation = this._boundLocation();\r\n var bounceDistance = boundLocation - this._location;\r\n this._velocity = bounceDistance / BOUNCE_ACCELERATION_SUM\r\n },\r\n _inBounds: function(location) {\r\n location = void 0 !== location ? location : this._location;\r\n return this._boundLocation(location) === location\r\n },\r\n _crossBoundOnNextStep: function() {\r\n var location = this._location;\r\n var nextLocation = location + this._velocity;\r\n return location < this._minOffset && nextLocation >= this._minOffset || location > this._maxOffset && nextLocation <= this._maxOffset\r\n },\r\n _initHandler: function(e) {\r\n this._stopScrolling();\r\n this._prepareThumbScrolling(e)\r\n },\r\n _stopScrolling: deferRenderer((function() {\r\n this._hideScrollbar();\r\n this._inertiaAnimator.stop();\r\n this._bounceAnimator.stop()\r\n })),\r\n _prepareThumbScrolling: function(e) {\r\n if (isDxMouseWheelEvent(e.originalEvent)) {\r\n return\r\n }\r\n var $target = $(e.originalEvent.target);\r\n var scrollbarClicked = this._isScrollbar($target);\r\n if (scrollbarClicked) {\r\n this._moveToMouseLocation(e)\r\n }\r\n this._thumbScrolling = scrollbarClicked || this._isThumb($target);\r\n this._crossThumbScrolling = !this._thumbScrolling && this._isAnyThumbScrolling($target);\r\n if (this._thumbScrolling) {\r\n this._scrollbar.feedbackOn()\r\n }\r\n },\r\n _isThumbScrollingHandler: function($target) {\r\n return this._isThumb($target)\r\n },\r\n _moveToMouseLocation: function(e) {\r\n var mouseLocation = e[\"page\" + this._axis.toUpperCase()] - this._$element.offset()[this._prop];\r\n var location = this._location + mouseLocation / this._containerToContentRatio() - getHeight(this._$container) / 2;\r\n this._scrollStep(-Math.round(location))\r\n },\r\n _startHandler: function() {\r\n this._showScrollbar()\r\n },\r\n _moveHandler: function(delta) {\r\n if (this._crossThumbScrolling) {\r\n return\r\n }\r\n if (this._thumbScrolling) {\r\n delta[this._axis] = -Math.round(delta[this._axis] / this._containerToContentRatio())\r\n }\r\n this._scrollBy(delta)\r\n },\r\n _scrollBy: function(delta) {\r\n delta = delta[this._axis];\r\n if (!this._inBounds()) {\r\n delta *= OUT_BOUNDS_ACCELERATION\r\n }\r\n this._scrollStep(delta)\r\n },\r\n _scrollByHandler: function(delta) {\r\n this._scrollBy(delta);\r\n this._scrollComplete()\r\n },\r\n _containerToContentRatio: function() {\r\n return this._scrollbar.containerToContentRatio()\r\n },\r\n _endHandler: function(velocity) {\r\n this._completeDeferred = new Deferred;\r\n this._velocity = velocity[this._axis];\r\n this._inertiaHandler();\r\n this._resetThumbScrolling();\r\n return this._completeDeferred.promise()\r\n },\r\n _inertiaHandler: function() {\r\n this._suppressInertia();\r\n this._inertiaAnimator.start()\r\n },\r\n _suppressInertia: function() {\r\n if (!this._inertiaEnabled || this._thumbScrolling) {\r\n this._velocity = 0\r\n }\r\n },\r\n _resetThumbScrolling: function() {\r\n this._thumbScrolling = false;\r\n this._crossThumbScrolling = false\r\n },\r\n _stopHandler: function() {\r\n if (this._thumbScrolling) {\r\n this._scrollComplete()\r\n }\r\n this._resetThumbScrolling();\r\n this._scrollToBounds()\r\n },\r\n _disposeHandler: function() {\r\n this._stopScrolling();\r\n this._$scrollbar.remove()\r\n },\r\n _updateHandler: function() {\r\n this._update();\r\n this._moveToBounds()\r\n },\r\n _update: function() {\r\n this._stopScrolling();\r\n return deferUpdate(() => {\r\n this._resetScaleRatio();\r\n this._updateLocation();\r\n this._updateBounds();\r\n this._updateScrollbar();\r\n deferRender(() => {\r\n this._moveScrollbar();\r\n this._scrollbar.update()\r\n })\r\n })\r\n },\r\n _resetScaleRatio: function() {\r\n this._scaleRatio = null\r\n },\r\n _updateLocation: function() {\r\n this._location = (locate(this._$content)[this._prop] - this._$container[this._scrollProp]()) * this._getScaleRatio()\r\n },\r\n _updateBounds: function() {\r\n this._maxOffset = this._getMaxOffset();\r\n this._minOffset = this._getMinOffset()\r\n },\r\n _getMaxOffset: function() {\r\n return 0\r\n },\r\n _getMinOffset: function() {\r\n this._maxScrollPropValue = Math.max(this._contentSize() - this._containerSize(), 0);\r\n return -this._maxScrollPropValue\r\n },\r\n _updateScrollbar: deferUpdater((function() {\r\n var containerSize = this._containerSize();\r\n var contentSize = this._contentSize();\r\n var baseContainerSize = this._getBaseDimension(this._$container.get(0), this._dimension);\r\n var baseContentSize = this._getBaseDimension(this._$content.get(0), this._dimension);\r\n deferRender(() => {\r\n this._scrollbar.option({\r\n containerSize: containerSize,\r\n contentSize: contentSize,\r\n baseContainerSize: baseContainerSize,\r\n baseContentSize: baseContentSize,\r\n scaleRatio: this._getScaleRatio()\r\n })\r\n })\r\n })),\r\n _moveToBounds: deferRenderer(deferUpdater(deferRenderer((function() {\r\n var location = this._boundLocation();\r\n var locationChanged = location !== this._location;\r\n this._location = location;\r\n this._move();\r\n if (locationChanged) {\r\n this._scrollAction()\r\n }\r\n })))),\r\n _createActionsHandler: function(actions) {\r\n this._scrollAction = actions.scroll;\r\n this._bounceAction = actions.bounce\r\n },\r\n _showScrollbar: function() {\r\n this._scrollbar.option(\"visible\", true)\r\n },\r\n _hideScrollbar: function() {\r\n this._scrollbar.option(\"visible\", false)\r\n },\r\n _containerSize: function() {\r\n return this._getRealDimension(this._$container.get(0), this._dimension)\r\n },\r\n _contentSize: function() {\r\n var isOverflowHidden = \"hidden\" === this._$content.css(\"overflow\" + this._axis.toUpperCase());\r\n var contentSize = this._getRealDimension(this._$content.get(0), this._dimension);\r\n if (!isOverflowHidden) {\r\n var containerScrollSize = this._$content[0][\"scroll\" + titleize(this._dimension)] * this._getScaleRatio();\r\n contentSize = Math.max(containerScrollSize, contentSize)\r\n }\r\n return contentSize\r\n },\r\n _validateEvent: function(e) {\r\n var $target = $(e.originalEvent.target);\r\n return this._isThumb($target) || this._isScrollbar($target)\r\n },\r\n _isThumb: function($element) {\r\n return this._scrollByThumb && this._scrollbar.isThumb($element)\r\n },\r\n _isScrollbar: function($element) {\r\n return this._scrollByThumb && $element && $element.is(this._$scrollbar)\r\n },\r\n _reachedMin: function() {\r\n return Math.round(this._location - this._minOffset) <= 0\r\n },\r\n _reachedMax: function() {\r\n return Math.round(this._location - this._maxOffset) >= 0\r\n },\r\n _cursorEnterHandler: function() {\r\n this._resetScaleRatio();\r\n this._updateScrollbar();\r\n this._scrollbar.cursorEnter()\r\n },\r\n _cursorLeaveHandler: function() {\r\n this._scrollbar.cursorLeave()\r\n },\r\n dispose: noop\r\n});\r\nvar hoveredScrollable;\r\nvar activeScrollable;\r\nexport var SimulatedStrategy = Class.inherit({\r\n ctor: function(scrollable) {\r\n this._init(scrollable)\r\n },\r\n _init: function(scrollable) {\r\n this._component = scrollable;\r\n this._$element = scrollable.$element();\r\n this._$container = $(scrollable.container());\r\n this._$wrapper = scrollable._$wrapper;\r\n this._$content = scrollable.$content();\r\n this.option = scrollable.option.bind(scrollable);\r\n this._createActionByOption = scrollable._createActionByOption.bind(scrollable);\r\n this._isLocked = scrollable._isLocked.bind(scrollable);\r\n this._isDirection = scrollable._isDirection.bind(scrollable);\r\n this._allowedDirection = scrollable._allowedDirection.bind(scrollable);\r\n this._getMaxOffset = scrollable._getMaxOffset.bind(scrollable)\r\n },\r\n render: function() {\r\n this._$element.addClass(SCROLLABLE_SIMULATED_CLASS);\r\n this._createScrollers();\r\n if (this.option(\"useKeyboard\")) {\r\n this._$container.prop(\"tabIndex\", 0)\r\n }\r\n this._attachKeyboardHandler();\r\n this._attachCursorHandlers()\r\n },\r\n _createScrollers: function() {\r\n this._scrollers = {};\r\n if (this._isDirection(HORIZONTAL)) {\r\n this._createScroller(HORIZONTAL)\r\n }\r\n if (this._isDirection(VERTICAL)) {\r\n this._createScroller(VERTICAL)\r\n }\r\n this._$element.toggleClass(SCROLLABLE_SCROLLBARS_ALWAYSVISIBLE, \"always\" === this.option(\"showScrollbar\"))\r\n },\r\n _createScroller: function(direction) {\r\n this._scrollers[direction] = new Scroller(this._scrollerOptions(direction))\r\n },\r\n _scrollerOptions: function(direction) {\r\n return {\r\n direction: direction,\r\n $content: this._$content,\r\n $container: this._$container,\r\n $wrapper: this._$wrapper,\r\n $element: this._$element,\r\n scrollByThumb: this.option(\"scrollByThumb\"),\r\n scrollbarVisible: this.option(\"showScrollbar\"),\r\n bounceEnabled: this.option(\"bounceEnabled\"),\r\n inertiaEnabled: this.option(\"inertiaEnabled\"),\r\n isAnyThumbScrolling: this._isAnyThumbScrolling.bind(this)\r\n }\r\n },\r\n _applyScaleRatio: function(targetLocation) {\r\n for (var direction in this._scrollers) {\r\n var prop = this._getPropByDirection(direction);\r\n if (isDefined(targetLocation[prop])) {\r\n var scroller = this._scrollers[direction];\r\n targetLocation[prop] *= scroller._getScaleRatio()\r\n }\r\n }\r\n return targetLocation\r\n },\r\n _isAnyThumbScrolling: function($target) {\r\n var result = false;\r\n this._eventHandler(\"isThumbScrolling\", $target).done((function(isThumbScrollingVertical, isThumbScrollingHorizontal) {\r\n result = isThumbScrollingVertical || isThumbScrollingHorizontal\r\n }));\r\n return result\r\n },\r\n handleInit: function(e) {\r\n this._suppressDirections(e);\r\n this._eventForUserAction = e;\r\n this._eventHandler(\"init\", e)\r\n },\r\n _suppressDirections: function(e) {\r\n if (isDxMouseWheelEvent(e.originalEvent)) {\r\n this._prepareDirections(true);\r\n return\r\n }\r\n this._prepareDirections();\r\n this._eachScroller((function(scroller, direction) {\r\n var $target = $(e.originalEvent.target);\r\n var isValid = scroller._validateEvent(e) || this.option(\"scrollByContent\") && this._isContent($target);\r\n this._validDirections[direction] = isValid\r\n }))\r\n },\r\n _isContent: function($element) {\r\n return !!$element.closest(this._$element).length\r\n },\r\n _prepareDirections: function(value) {\r\n value = value || false;\r\n this._validDirections = {};\r\n this._validDirections[HORIZONTAL] = value;\r\n this._validDirections[VERTICAL] = value\r\n },\r\n _eachScroller: function(callback) {\r\n callback = callback.bind(this);\r\n each(this._scrollers, (function(direction, scroller) {\r\n callback(scroller, direction)\r\n }))\r\n },\r\n handleStart: function(e) {\r\n this._eventForUserAction = e;\r\n this._eventHandler(\"start\").done(this._startAction)\r\n },\r\n _saveActive: function() {\r\n activeScrollable = this\r\n },\r\n _resetActive: function() {\r\n if (activeScrollable === this) {\r\n activeScrollable = null\r\n }\r\n },\r\n handleMove: function(e) {\r\n if (this._isLocked()) {\r\n e.cancel = true;\r\n this._resetActive();\r\n return\r\n }\r\n this._saveActive();\r\n e.preventDefault && e.preventDefault();\r\n this._adjustDistance(e, e.delta);\r\n this._eventForUserAction = e;\r\n this._eventHandler(\"move\", e.delta)\r\n },\r\n _adjustDistance: function(e, distance) {\r\n distance.x *= this._validDirections[HORIZONTAL];\r\n distance.y *= this._validDirections[VERTICAL];\r\n var devicePixelRatio = this._tryGetDevicePixelRatio();\r\n if (devicePixelRatio && isDxMouseWheelEvent(e.originalEvent)) {\r\n distance.x = Math.round(distance.x / devicePixelRatio * 100) / 100;\r\n distance.y = Math.round(distance.y / devicePixelRatio * 100) / 100\r\n }\r\n },\r\n _tryGetDevicePixelRatio: function() {\r\n if (hasWindow()) {\r\n return getWindow().devicePixelRatio\r\n }\r\n },\r\n handleEnd: function(e) {\r\n this._resetActive();\r\n this._refreshCursorState(e.originalEvent && e.originalEvent.target);\r\n this._adjustDistance(e, e.velocity);\r\n this._eventForUserAction = e;\r\n return this._eventHandler(\"end\", e.velocity).done(this._endAction)\r\n },\r\n handleCancel: function(e) {\r\n this._resetActive();\r\n this._eventForUserAction = e;\r\n return this._eventHandler(\"end\", {\r\n x: 0,\r\n y: 0\r\n })\r\n },\r\n handleStop: function() {\r\n this._resetActive();\r\n this._eventHandler(\"stop\")\r\n },\r\n handleScroll: function() {\r\n this._updateRtlConfig();\r\n this._scrollAction()\r\n },\r\n _attachKeyboardHandler: function() {\r\n eventsEngine.off(this._$element, \".\".concat(SCROLLABLE_SIMULATED_KEYBOARD));\r\n if (!this.option(\"disabled\") && this.option(\"useKeyboard\")) {\r\n eventsEngine.on(this._$element, addEventNamespace(\"keydown\", SCROLLABLE_SIMULATED_KEYBOARD), this._keyDownHandler.bind(this))\r\n }\r\n },\r\n _keyDownHandler: function(e) {\r\n clearTimeout(this._updateHandlerTimeout);\r\n this._updateHandlerTimeout = setTimeout(() => {\r\n if (normalizeKeyName(e) === KEY_CODES.TAB) {\r\n this._eachScroller(scroller => {\r\n scroller._updateHandler()\r\n })\r\n }\r\n });\r\n if (!this._$container.is(domAdapter.getActiveElement(this._$container.get(0)))) {\r\n return\r\n }\r\n var handled = true;\r\n switch (normalizeKeyName(e)) {\r\n case KEY_CODES.DOWN:\r\n this._scrollByLine({\r\n y: 1\r\n });\r\n break;\r\n case KEY_CODES.UP:\r\n this._scrollByLine({\r\n y: -1\r\n });\r\n break;\r\n case KEY_CODES.RIGHT:\r\n this._scrollByLine({\r\n x: 1\r\n });\r\n break;\r\n case KEY_CODES.LEFT:\r\n this._scrollByLine({\r\n x: -1\r\n });\r\n break;\r\n case KEY_CODES.PAGE_DOWN:\r\n this._scrollByPage(1);\r\n break;\r\n case KEY_CODES.PAGE_UP:\r\n this._scrollByPage(-1);\r\n break;\r\n case KEY_CODES.HOME:\r\n this._scrollToHome();\r\n break;\r\n case KEY_CODES.END:\r\n this._scrollToEnd();\r\n break;\r\n default:\r\n handled = false\r\n }\r\n if (handled) {\r\n e.stopPropagation();\r\n e.preventDefault()\r\n }\r\n },\r\n _scrollByLine: function(lines) {\r\n var devicePixelRatio = this._tryGetDevicePixelRatio();\r\n var scrollOffset = SCROLL_LINE_HEIGHT;\r\n if (devicePixelRatio) {\r\n scrollOffset = Math.abs(scrollOffset / devicePixelRatio * 100) / 100\r\n }\r\n this.scrollBy({\r\n top: (lines.y || 0) * -scrollOffset,\r\n left: (lines.x || 0) * -scrollOffset\r\n })\r\n },\r\n _scrollByPage: function(page) {\r\n var prop = this._wheelProp();\r\n var dimension = this._dimensionByProp(prop);\r\n var distance = {};\r\n var getter = \"width\" === dimension ? getWidth : getHeight;\r\n distance[prop] = page * -getter(this._$container);\r\n this.scrollBy(distance)\r\n },\r\n _dimensionByProp: function(prop) {\r\n return \"left\" === prop ? \"width\" : \"height\"\r\n },\r\n _getPropByDirection: function(direction) {\r\n return direction === HORIZONTAL ? \"left\" : \"top\"\r\n },\r\n _scrollToHome: function() {\r\n var prop = this._wheelProp();\r\n var distance = {};\r\n distance[prop] = 0;\r\n this._component.scrollTo(distance)\r\n },\r\n _scrollToEnd: function() {\r\n var prop = this._wheelProp();\r\n var dimension = this._dimensionByProp(prop);\r\n var distance = {};\r\n var getter = \"width\" === dimension ? getWidth : getHeight;\r\n distance[prop] = getter(this._$content) - getter(this._$container);\r\n this._component.scrollTo(distance)\r\n },\r\n createActions: function() {\r\n this._startAction = this._createActionHandler(\"onStart\");\r\n this._endAction = this._createActionHandler(\"onEnd\");\r\n this._updateAction = this._createActionHandler(\"onUpdated\");\r\n this._createScrollerActions()\r\n },\r\n _createScrollerActions: function() {\r\n this._scrollAction = this._createActionHandler(\"onScroll\");\r\n this._bounceAction = this._createActionHandler(\"onBounce\");\r\n this._eventHandler(\"createActions\", {\r\n scroll: this._scrollAction,\r\n bounce: this._bounceAction\r\n })\r\n },\r\n _createActionHandler: function(optionName) {\r\n var actionHandler = this._createActionByOption(optionName);\r\n return () => {\r\n actionHandler(extend(this._createActionArgs(), arguments))\r\n }\r\n },\r\n _createActionArgs: function() {\r\n var {\r\n horizontal: scrollerX,\r\n vertical: scrollerY\r\n } = this._scrollers;\r\n var offset = this._getScrollOffset();\r\n this._scrollOffset = {\r\n top: scrollerY && offset.top,\r\n left: scrollerX && offset.left\r\n };\r\n return {\r\n event: this._eventForUserAction,\r\n scrollOffset: this._scrollOffset,\r\n reachedLeft: scrollerX && scrollerX._reachedMax(),\r\n reachedRight: scrollerX && scrollerX._reachedMin(),\r\n reachedTop: scrollerY && scrollerY._reachedMax(),\r\n reachedBottom: scrollerY && scrollerY._reachedMin()\r\n }\r\n },\r\n _getScrollOffset() {\r\n return {\r\n top: -this.location().top,\r\n left: -this.location().left\r\n }\r\n },\r\n _eventHandler: function(eventName) {\r\n var args = [].slice.call(arguments).slice(1);\r\n var deferreds = map(this._scrollers, scroller => scroller[\"_\" + eventName + \"Handler\"].apply(scroller, args));\r\n return when.apply($, deferreds).promise()\r\n },\r\n location: function() {\r\n var location = locate(this._$content);\r\n location.top -= this._$container.scrollTop();\r\n location.left -= this._$container.scrollLeft();\r\n return location\r\n },\r\n disabledChanged: function() {\r\n this._attachCursorHandlers()\r\n },\r\n _attachCursorHandlers: function() {\r\n eventsEngine.off(this._$element, \".\".concat(SCROLLABLE_SIMULATED_CURSOR));\r\n if (!this.option(\"disabled\") && this._isHoverMode()) {\r\n eventsEngine.on(this._$element, addEventNamespace(\"mouseenter\", SCROLLABLE_SIMULATED_CURSOR), this._cursorEnterHandler.bind(this));\r\n eventsEngine.on(this._$element, addEventNamespace(\"mouseleave\", SCROLLABLE_SIMULATED_CURSOR), this._cursorLeaveHandler.bind(this))\r\n }\r\n },\r\n _isHoverMode: function() {\r\n return \"onHover\" === this.option(\"showScrollbar\")\r\n },\r\n _cursorEnterHandler: function(e) {\r\n e = e || {};\r\n e.originalEvent = e.originalEvent || {};\r\n if (activeScrollable || e.originalEvent._hoverHandled) {\r\n return\r\n }\r\n if (hoveredScrollable) {\r\n hoveredScrollable._cursorLeaveHandler()\r\n }\r\n hoveredScrollable = this;\r\n this._eventHandler(\"cursorEnter\");\r\n e.originalEvent._hoverHandled = true\r\n },\r\n _cursorLeaveHandler: function(e) {\r\n if (hoveredScrollable !== this || activeScrollable === hoveredScrollable) {\r\n return\r\n }\r\n this._eventHandler(\"cursorLeave\");\r\n hoveredScrollable = null;\r\n this._refreshCursorState(e && e.relatedTarget)\r\n },\r\n _refreshCursorState: function(target) {\r\n if (!this._isHoverMode() && (!target || activeScrollable)) {\r\n return\r\n }\r\n var $target = $(target);\r\n var $scrollable = $target.closest(\".\".concat(SCROLLABLE_SIMULATED_CLASS, \":not(.dx-state-disabled)\"));\r\n var targetScrollable = $scrollable.length && $scrollable.data(SCROLLABLE_STRATEGY);\r\n if (hoveredScrollable && hoveredScrollable !== targetScrollable) {\r\n hoveredScrollable._cursorLeaveHandler()\r\n }\r\n if (targetScrollable) {\r\n targetScrollable._cursorEnterHandler()\r\n }\r\n },\r\n update: function() {\r\n var result = this._eventHandler(\"update\").done(this._updateAction);\r\n return when(result, deferUpdate(() => {\r\n var allowedDirections = this._allowedDirections();\r\n deferRender(() => {\r\n var touchDirection = allowedDirections.vertical ? \"pan-x\" : \"\";\r\n touchDirection = allowedDirections.horizontal ? \"pan-y\" : touchDirection;\r\n touchDirection = allowedDirections.vertical && allowedDirections.horizontal ? \"none\" : touchDirection;\r\n this._$container.css(\"touchAction\", touchDirection)\r\n });\r\n return when().promise()\r\n }))\r\n },\r\n _allowedDirections: function() {\r\n var bounceEnabled = this.option(\"bounceEnabled\");\r\n var verticalScroller = this._scrollers[VERTICAL];\r\n var horizontalScroller = this._scrollers[HORIZONTAL];\r\n return {\r\n vertical: verticalScroller && (verticalScroller._minOffset < 0 || bounceEnabled),\r\n horizontal: horizontalScroller && (horizontalScroller._minOffset < 0 || bounceEnabled)\r\n }\r\n },\r\n _updateBounds: function() {\r\n this._scrollers[HORIZONTAL] && this._scrollers[HORIZONTAL]._updateBounds()\r\n },\r\n _isHorizontalAndRtlEnabled: function() {\r\n return this.option(\"rtlEnabled\") && this.option(\"direction\") !== VERTICAL\r\n },\r\n updateRtlPosition: function(needInitializeRtlConfig) {\r\n if (needInitializeRtlConfig) {\r\n this._rtlConfig = {\r\n scrollRight: 0,\r\n clientWidth: this._$container.get(0).clientWidth,\r\n windowPixelRatio: this._getWindowDevicePixelRatio()\r\n }\r\n }\r\n this._updateBounds();\r\n if (this._isHorizontalAndRtlEnabled()) {\r\n var scrollLeft = this._getMaxOffset().left - this._rtlConfig.scrollRight;\r\n if (scrollLeft <= 0) {\r\n scrollLeft = 0;\r\n this._rtlConfig.scrollRight = this._getMaxOffset().left\r\n }\r\n if (this._getScrollOffset().left !== scrollLeft) {\r\n this._rtlConfig.skipUpdating = true;\r\n this._component.scrollTo({\r\n left: scrollLeft\r\n });\r\n this._rtlConfig.skipUpdating = false\r\n }\r\n }\r\n },\r\n _updateRtlConfig: function() {\r\n if (this._isHorizontalAndRtlEnabled() && !this._rtlConfig.skipUpdating) {\r\n var {\r\n clientWidth: clientWidth,\r\n scrollLeft: scrollLeft\r\n } = this._$container.get(0);\r\n var windowPixelRatio = this._getWindowDevicePixelRatio();\r\n if (this._rtlConfig.windowPixelRatio === windowPixelRatio && this._rtlConfig.clientWidth === clientWidth) {\r\n this._rtlConfig.scrollRight = this._getMaxOffset().left - scrollLeft\r\n }\r\n this._rtlConfig.clientWidth = clientWidth;\r\n this._rtlConfig.windowPixelRatio = windowPixelRatio\r\n }\r\n },\r\n _getWindowDevicePixelRatio: function() {\r\n return hasWindow() ? getWindow().devicePixelRatio : 1\r\n },\r\n scrollBy: function(distance) {\r\n var verticalScroller = this._scrollers[VERTICAL];\r\n var horizontalScroller = this._scrollers[HORIZONTAL];\r\n if (verticalScroller) {\r\n distance.top = verticalScroller._boundLocation(distance.top + verticalScroller._location) - verticalScroller._location\r\n }\r\n if (horizontalScroller) {\r\n distance.left = horizontalScroller._boundLocation(distance.left + horizontalScroller._location) - horizontalScroller._location\r\n }\r\n this._prepareDirections(true);\r\n this._startAction();\r\n this._eventHandler(\"scrollBy\", {\r\n x: distance.left,\r\n y: distance.top\r\n });\r\n this._endAction();\r\n this._updateRtlConfig()\r\n },\r\n validate: function(e) {\r\n if (isDxMouseWheelEvent(e) && isCommandKeyPressed(e)) {\r\n return false\r\n }\r\n if (this.option(\"disabled\")) {\r\n return false\r\n }\r\n if (this.option(\"bounceEnabled\")) {\r\n return true\r\n }\r\n return isDxMouseWheelEvent(e) ? this._validateWheel(e) : this._validateMove(e)\r\n },\r\n _validateWheel: function(e) {\r\n var scroller = this._scrollers[this._wheelDirection(e)];\r\n var reachedMin = scroller._reachedMin();\r\n var reachedMax = scroller._reachedMax();\r\n var contentGreaterThanContainer = !reachedMin || !reachedMax;\r\n var locatedNotAtBound = !reachedMin && !reachedMax;\r\n var scrollFromMin = reachedMin && e.delta > 0;\r\n var scrollFromMax = reachedMax && e.delta < 0;\r\n var validated = contentGreaterThanContainer && (locatedNotAtBound || scrollFromMin || scrollFromMax);\r\n validated = validated || void 0 !== this._validateWheelTimer;\r\n if (validated) {\r\n clearTimeout(this._validateWheelTimer);\r\n this._validateWheelTimer = setTimeout(() => {\r\n this._validateWheelTimer = void 0\r\n }, VALIDATE_WHEEL_TIMEOUT)\r\n }\r\n return validated\r\n },\r\n _validateMove: function(e) {\r\n if (!this.option(\"scrollByContent\") && !$(e.target).closest(\".\".concat(SCROLLABLE_SCROLLBAR_CLASS)).length) {\r\n return false\r\n }\r\n return this._allowedDirection()\r\n },\r\n getDirection: function(e) {\r\n return isDxMouseWheelEvent(e) ? this._wheelDirection(e) : this._allowedDirection()\r\n },\r\n _wheelProp: function() {\r\n return this._wheelDirection() === HORIZONTAL ? \"left\" : \"top\"\r\n },\r\n _wheelDirection: function(e) {\r\n switch (this.option(\"direction\")) {\r\n case HORIZONTAL:\r\n return HORIZONTAL;\r\n case VERTICAL:\r\n return VERTICAL;\r\n default:\r\n return e && e.shiftKey ? HORIZONTAL : VERTICAL\r\n }\r\n },\r\n dispose: function() {\r\n this._resetActive();\r\n if (hoveredScrollable === this) {\r\n hoveredScrollable = null\r\n }\r\n this._eventHandler(\"dispose\");\r\n this._detachEventHandlers();\r\n this._$element.removeClass(SCROLLABLE_SIMULATED_CLASS);\r\n this._eventForUserAction = null;\r\n clearTimeout(this._validateWheelTimer);\r\n clearTimeout(this._updateHandlerTimeout)\r\n },\r\n _detachEventHandlers: function() {\r\n eventsEngine.off(this._$element, \".\".concat(SCROLLABLE_SIMULATED_CURSOR));\r\n eventsEngine.off(this._$container, \".\".concat(SCROLLABLE_SIMULATED_KEYBOARD))\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scrollbar.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport readyCallback from \"../../core/utils/ready_callbacks\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n deferRenderer\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isPlainObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nvar SCROLLBAR = \"dxScrollbar\";\r\nvar SCROLLABLE_SCROLLBAR_CLASS = \"dx-scrollable-scrollbar\";\r\nvar SCROLLABLE_SCROLLBAR_ACTIVE_CLASS = \"\".concat(SCROLLABLE_SCROLLBAR_CLASS, \"-active\");\r\nvar SCROLLABLE_SCROLL_CLASS = \"dx-scrollable-scroll\";\r\nvar SCROLLABLE_SCROLL_CONTENT_CLASS = \"dx-scrollable-scroll-content\";\r\nvar HOVER_ENABLED_STATE = \"dx-scrollbar-hoverable\";\r\nvar HORIZONTAL = \"horizontal\";\r\nvar THUMB_MIN_SIZE = 15;\r\nvar SCROLLBAR_VISIBLE = {\r\n onScroll: \"onScroll\",\r\n onHover: \"onHover\",\r\n always: \"always\",\r\n never: \"never\"\r\n};\r\nvar activeScrollbar = null;\r\nvar Scrollbar = Widget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n direction: null,\r\n visible: false,\r\n activeStateEnabled: false,\r\n visibilityMode: SCROLLBAR_VISIBLE.onScroll,\r\n containerSize: 0,\r\n contentSize: 0,\r\n expandable: true,\r\n scaleRatio: 1\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._isHovered = false\r\n },\r\n _initMarkup: function() {\r\n this._renderThumb();\r\n this.callBase()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderDirection();\r\n this._update();\r\n this._attachPointerDownHandler();\r\n this.option(\"hoverStateEnabled\", this._isHoverMode());\r\n this.$element().toggleClass(HOVER_ENABLED_STATE, this.option(\"hoverStateEnabled\"))\r\n },\r\n _renderThumb: function() {\r\n this._$thumb = $(\"<div>\").addClass(SCROLLABLE_SCROLL_CLASS);\r\n $(\"<div>\").addClass(SCROLLABLE_SCROLL_CONTENT_CLASS).appendTo(this._$thumb);\r\n this.$element().addClass(SCROLLABLE_SCROLLBAR_CLASS).append(this._$thumb)\r\n },\r\n isThumb: function($element) {\r\n return !!this.$element().find($element).length\r\n },\r\n _isHoverMode: function() {\r\n var visibilityMode = this.option(\"visibilityMode\");\r\n return (visibilityMode === SCROLLBAR_VISIBLE.onHover || visibilityMode === SCROLLBAR_VISIBLE.always) && this.option(\"expandable\")\r\n },\r\n _renderDirection: function() {\r\n var direction = this.option(\"direction\");\r\n this.$element().addClass(\"dx-scrollbar-\" + direction);\r\n this._dimension = direction === HORIZONTAL ? \"width\" : \"height\";\r\n this._prop = direction === HORIZONTAL ? \"left\" : \"top\"\r\n },\r\n _attachPointerDownHandler: function() {\r\n eventsEngine.on(this._$thumb, addNamespace(pointerEvents.down, SCROLLBAR), this.feedbackOn.bind(this))\r\n },\r\n feedbackOn: function() {\r\n this.$element().addClass(SCROLLABLE_SCROLLBAR_ACTIVE_CLASS);\r\n activeScrollbar = this\r\n },\r\n feedbackOff: function() {\r\n this.$element().removeClass(SCROLLABLE_SCROLLBAR_ACTIVE_CLASS);\r\n activeScrollbar = null\r\n },\r\n cursorEnter: function() {\r\n this._isHovered = true;\r\n if (this._needScrollbar()) {\r\n this.option(\"visible\", true)\r\n }\r\n },\r\n cursorLeave: function() {\r\n this._isHovered = false;\r\n this.option(\"visible\", false)\r\n },\r\n _renderDimensions: function() {\r\n this._$thumb.css({\r\n width: this.option(\"width\"),\r\n height: this.option(\"height\")\r\n })\r\n },\r\n _toggleVisibility: function(visible) {\r\n if (this.option(\"visibilityMode\") === SCROLLBAR_VISIBLE.onScroll) {\r\n this._$thumb.css(\"opacity\")\r\n }\r\n visible = this._adjustVisibility(visible);\r\n this.option().visible = visible;\r\n this._$thumb.toggleClass(\"dx-state-invisible\", !visible)\r\n },\r\n _adjustVisibility: function(visible) {\r\n if (this._baseContainerToContentRatio && !this._needScrollbar()) {\r\n return false\r\n }\r\n switch (this.option(\"visibilityMode\")) {\r\n case SCROLLBAR_VISIBLE.onScroll:\r\n break;\r\n case SCROLLBAR_VISIBLE.onHover:\r\n visible = visible || !!this._isHovered;\r\n break;\r\n case SCROLLBAR_VISIBLE.never:\r\n visible = false;\r\n break;\r\n case SCROLLBAR_VISIBLE.always:\r\n visible = true\r\n }\r\n return visible\r\n },\r\n moveTo: function(location) {\r\n if (this._isHidden()) {\r\n return\r\n }\r\n if (isPlainObject(location)) {\r\n location = location[this._prop] || 0\r\n }\r\n var scrollBarLocation = {};\r\n scrollBarLocation[this._prop] = this._calculateScrollBarPosition(location);\r\n move(this._$thumb, scrollBarLocation)\r\n },\r\n _calculateScrollBarPosition: function(location) {\r\n return -location * this._thumbRatio\r\n },\r\n _update: function() {\r\n var containerSize = Math.round(this.option(\"containerSize\"));\r\n var contentSize = Math.round(this.option(\"contentSize\"));\r\n var baseContainerSize = Math.round(this.option(\"baseContainerSize\"));\r\n var baseContentSize = Math.round(this.option(\"baseContentSize\"));\r\n if (isNaN(baseContainerSize)) {\r\n baseContainerSize = containerSize;\r\n baseContentSize = contentSize\r\n }\r\n this._baseContainerToContentRatio = baseContentSize ? baseContainerSize / baseContentSize : baseContainerSize;\r\n this._realContainerToContentRatio = contentSize ? containerSize / contentSize : containerSize;\r\n var thumbSize = Math.round(Math.max(Math.round(containerSize * this._realContainerToContentRatio), THUMB_MIN_SIZE));\r\n this._thumbRatio = (containerSize - thumbSize) / (this.option(\"scaleRatio\") * (contentSize - containerSize));\r\n this.option(this._dimension, thumbSize / this.option(\"scaleRatio\"));\r\n this.$element().css(\"display\", this._needScrollbar() ? \"\" : \"none\")\r\n },\r\n _isHidden: function() {\r\n return this.option(\"visibilityMode\") === SCROLLBAR_VISIBLE.never\r\n },\r\n _needScrollbar: function() {\r\n return !this._isHidden() && this._baseContainerToContentRatio < 1\r\n },\r\n containerToContentRatio: function() {\r\n return this._realContainerToContentRatio\r\n },\r\n _normalizeSize: function(size) {\r\n return isPlainObject(size) ? size[this._dimension] || 0 : size\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n if (this === activeScrollbar) {\r\n activeScrollbar = null\r\n }\r\n eventsEngine.off(this._$thumb, \".\" + SCROLLBAR)\r\n },\r\n _optionChanged: function(args) {\r\n if (this._isHidden()) {\r\n return\r\n }\r\n switch (args.name) {\r\n case \"containerSize\":\r\n case \"contentSize\":\r\n this.option()[args.name] = this._normalizeSize(args.value);\r\n this._update();\r\n break;\r\n case \"baseContentSize\":\r\n case \"baseContainerSize\":\r\n this._update();\r\n break;\r\n case \"visibilityMode\":\r\n case \"direction\":\r\n this._invalidate();\r\n break;\r\n case \"scaleRatio\":\r\n this._update();\r\n break;\r\n default:\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n update: deferRenderer((function() {\r\n this._adjustVisibility() && this.option(\"visible\", true)\r\n }))\r\n});\r\nreadyCallback.add((function() {\r\n eventsEngine.subscribeGlobal(domAdapter.getDocument(), addNamespace(pointerEvents.up, SCROLLBAR), (function() {\r\n if (activeScrollbar) {\r\n activeScrollbar.feedbackOff()\r\n }\r\n }))\r\n}));\r\nexport default Scrollbar;\r\n","/**\r\n * DevExtreme (esm/ui/select_box.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n noop,\r\n ensureDefined\r\n} from \"../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isPromise\r\n} from \"../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n Deferred,\r\n fromPromise\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport errors from \"../core/errors\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport messageLocalization from \"../localization/message\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport DropDownList from \"./drop_down_editor/ui.drop_down_list\";\r\nimport \"./list/modules/selection\";\r\nimport {\r\n normalizeKeyName\r\n} from \"../events/utils/index\";\r\nvar DISABLED_STATE_SELECTOR = \".dx-state-disabled\";\r\nvar SELECTBOX_CLASS = \"dx-selectbox\";\r\nvar SELECTBOX_POPUP_CLASS = \"dx-selectbox-popup\";\r\nvar SELECTBOX_CONTAINER_CLASS = \"dx-selectbox-container\";\r\nvar SELECTBOX_POPUP_WRAPPER_CLASS = \"dx-selectbox-popup-wrapper\";\r\nvar SelectBox = DropDownList.inherit({\r\n _supportedKeys: function() {\r\n var that = this;\r\n var parent = this.callBase();\r\n var clearSelectBox = function(e) {\r\n var isEditable = this._isEditable();\r\n if (!isEditable) {\r\n if (this.option(\"showClearButton\")) {\r\n e.preventDefault();\r\n this.reset()\r\n }\r\n } else if (this._valueSubstituted()) {\r\n this._preventFiltering = true\r\n }\r\n this._savedTextRemoveEvent = e;\r\n this._preventSubstitution = true\r\n };\r\n var searchIfNeeded = function() {\r\n if (that.option(\"searchEnabled\") && that._valueSubstituted()) {\r\n that._searchHandler()\r\n }\r\n };\r\n return extend({}, parent, {\r\n tab: function() {\r\n if (this.option(\"opened\") && \"instantly\" === this.option(\"applyValueMode\")) {\r\n this._resetCaretPosition(true)\r\n }\r\n parent.tab && parent.tab.apply(this, arguments);\r\n this._cancelSearchIfNeed()\r\n },\r\n upArrow: function(e) {\r\n if (parent.upArrow && parent.upArrow.apply(this, arguments)) {\r\n if (!this.option(\"opened\")) {\r\n this._setNextValue(e)\r\n }\r\n return true\r\n }\r\n },\r\n downArrow: function(e) {\r\n if (parent.downArrow && parent.downArrow.apply(this, arguments)) {\r\n if (!this.option(\"opened\")) {\r\n this._setNextValue(e)\r\n }\r\n return true\r\n }\r\n },\r\n leftArrow: function() {\r\n searchIfNeeded();\r\n parent.leftArrow && parent.leftArrow.apply(this, arguments)\r\n },\r\n rightArrow: function() {\r\n searchIfNeeded();\r\n parent.rightArrow && parent.rightArrow.apply(this, arguments)\r\n },\r\n home: function() {\r\n searchIfNeeded();\r\n parent.home && parent.home.apply(this, arguments)\r\n },\r\n end: function() {\r\n searchIfNeeded();\r\n parent.end && parent.end.apply(this, arguments)\r\n },\r\n escape: function() {\r\n var result = parent.escape && parent.escape.apply(this, arguments);\r\n this._cancelEditing();\r\n return null !== result && void 0 !== result ? result : true\r\n },\r\n enter: function(e) {\r\n var isOpened = this.option(\"opened\");\r\n var inputText = this._input().val().trim();\r\n var isCustomText = inputText && this._list && !this._list.option(\"focusedElement\");\r\n if (!inputText && isDefined(this.option(\"value\")) && this.option(\"allowClearing\")) {\r\n this._saveValueChangeEvent(e);\r\n this.option({\r\n selectedItem: null,\r\n value: null\r\n });\r\n this.close()\r\n } else {\r\n if (this.option(\"acceptCustomValue\")) {\r\n e.preventDefault();\r\n if (isCustomText) {\r\n if (isOpened) {\r\n this._toggleOpenState()\r\n }\r\n this._valueChangeEventHandler(e)\r\n }\r\n return isOpened\r\n }\r\n if (parent.enter && parent.enter.apply(this, arguments)) {\r\n return isOpened\r\n }\r\n }\r\n },\r\n space: function(e) {\r\n var isOpened = this.option(\"opened\");\r\n var isSearchEnabled = this.option(\"searchEnabled\");\r\n var acceptCustomValue = this.option(\"acceptCustomValue\");\r\n if (!isOpened || isSearchEnabled || acceptCustomValue) {\r\n return\r\n }\r\n e.preventDefault();\r\n this._valueChangeEventHandler(e);\r\n return true\r\n },\r\n backspace: clearSelectBox,\r\n del: clearSelectBox\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n placeholder: messageLocalization.format(\"Select\"),\r\n fieldTemplate: null,\r\n customItemCreateEvent: \"change\",\r\n valueChangeEvent: \"change\",\r\n acceptCustomValue: false,\r\n onCustomItemCreating: function(e) {\r\n if (!isDefined(e.customItem)) {\r\n e.customItem = e.text\r\n }\r\n },\r\n showSelectionControls: false,\r\n allowClearing: true,\r\n tooltipEnabled: false,\r\n openOnFieldClick: true,\r\n showDropDownButton: true,\r\n displayCustomValue: false,\r\n useHiddenSubmitElement: true\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initCustomItemCreatingAction()\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(SELECTBOX_CLASS);\r\n this._renderTooltip();\r\n this.callBase();\r\n this._$container.addClass(SELECTBOX_CONTAINER_CLASS)\r\n },\r\n _createPopup: function() {\r\n this.callBase();\r\n this._popup.$element().addClass(SELECTBOX_POPUP_CLASS);\r\n this._popup.$overlayContent().attr(\"tabindex\", -1)\r\n },\r\n _popupWrapperClass: function() {\r\n return this.callBase() + \" \" + SELECTBOX_POPUP_WRAPPER_CLASS\r\n },\r\n _setDeprecatedOptions() {\r\n this.callBase();\r\n extend(this._deprecatedOptions, {\r\n valueChangeEvent: {\r\n since: \"22.2\",\r\n alias: \"customItemCreateEvent\"\r\n }\r\n })\r\n },\r\n _cancelEditing: function() {\r\n if (!this.option(\"searchEnabled\") && this._list) {\r\n this._focusListElement(null);\r\n this._updateField(this.option(\"selectedItem\"))\r\n }\r\n },\r\n _renderOpenedState: function() {\r\n this.callBase();\r\n if (this.option(\"opened\")) {\r\n this._scrollToSelectedItem();\r\n this._focusSelectedElement()\r\n }\r\n },\r\n _focusSelectedElement: function() {\r\n var _items$indexOf;\r\n var searchValue = this._searchValue();\r\n if (!searchValue) {\r\n this._focusListElement(null);\r\n return\r\n }\r\n var {\r\n items: items,\r\n selectedItem: selectedItem\r\n } = this.option();\r\n var $listItems = this._list._itemElements();\r\n var index = null !== (_items$indexOf = null === items || void 0 === items ? void 0 : items.indexOf(selectedItem)) && void 0 !== _items$indexOf ? _items$indexOf : -1;\r\n var focusedElement = -1 !== index && !this._isCustomItemSelected() ? $listItems.eq(index) : null;\r\n this._focusListElement(focusedElement)\r\n },\r\n _renderFocusedElement: function() {\r\n if (!this._list) {\r\n return\r\n }\r\n var searchValue = this._searchValue();\r\n if (!searchValue || this.option(\"acceptCustomValue\")) {\r\n this._focusListElement(null);\r\n return\r\n }\r\n var $listItems = this._list._itemElements();\r\n var focusedElement = $listItems.not(DISABLED_STATE_SELECTOR).eq(0);\r\n this._focusListElement(focusedElement)\r\n },\r\n _focusListElement: function(element) {\r\n this._preventInputValueRender = true;\r\n this._list.option(\"focusedElement\", getPublicElement(element));\r\n delete this._preventInputValueRender\r\n },\r\n _scrollToSelectedItem: function() {\r\n this._list && this._list.scrollToItem(this._list.option(\"selectedItem\"))\r\n },\r\n _listContentReadyHandler: function() {\r\n this.callBase();\r\n var isPaginate = this._dataController.paginate();\r\n if (isPaginate && this._needPopupRepaint()) {\r\n return\r\n }\r\n this._scrollToSelectedItem()\r\n },\r\n _renderValue: function() {\r\n this._renderInputValue();\r\n this._setSubmitValue();\r\n return (new Deferred).resolve()\r\n },\r\n _renderInputValue: function() {\r\n return this.callBase().always(function() {\r\n this._renderInputValueAsync()\r\n }.bind(this))\r\n },\r\n _renderInputValueAsync: function() {\r\n this._renderTooltip();\r\n this._renderInputValueImpl().always(function() {\r\n this._refreshSelected()\r\n }.bind(this))\r\n },\r\n _renderInputValueImpl: function() {\r\n this._renderField();\r\n return (new Deferred).resolve()\r\n },\r\n _setNextItem: function(step) {\r\n var item = this._calcNextItem(step);\r\n var value = this._valueGetter(item);\r\n this._setValue(value)\r\n },\r\n _setNextValue: function(e) {\r\n var dataSourceIsLoaded = this._dataController.isLoaded() ? (new Deferred).resolve() : this._dataController.load();\r\n dataSourceIsLoaded.done(function() {\r\n var selectedIndex = this._getSelectedIndex();\r\n var hasPages = this._dataController.pageSize();\r\n var isLastPage = this._dataController.isLastPage();\r\n var isLastItem = selectedIndex === this._items().length - 1;\r\n this._saveValueChangeEvent(e);\r\n var step = \"downArrow\" === normalizeKeyName(e) ? 1 : -1;\r\n if (hasPages && !isLastPage && isLastItem && step > 0) {\r\n if (!this._popup) {\r\n this._createPopup()\r\n }\r\n if (!this._dataController.isLoading()) {\r\n this._list._loadNextPage().done(this._setNextItem.bind(this, step))\r\n }\r\n } else {\r\n this._setNextItem(step)\r\n }\r\n }.bind(this))\r\n },\r\n _setSelectedItem: function(item) {\r\n var isUnknownItem = !this._isCustomValueAllowed() && void 0 === item;\r\n this.callBase(isUnknownItem ? null : item);\r\n if (!isUnknownItem && (!this._isEditable() || this._isCustomItemSelected())) {\r\n this._setListOption(\"selectedItem\", this.option(\"selectedItem\"))\r\n }\r\n },\r\n _isCustomValueAllowed: function() {\r\n return this.option(\"acceptCustomValue\") || this.callBase()\r\n },\r\n _displayValue: function(item) {\r\n item = !isDefined(item) && this._isCustomValueAllowed() ? this.option(\"value\") : item;\r\n return this.callBase(item)\r\n },\r\n _listConfig: function() {\r\n var result = extend(this.callBase(), {\r\n pageLoadMode: \"scrollBottom\",\r\n onSelectionChanged: this._getSelectionChangeHandler(),\r\n selectedItem: this.option(\"selectedItem\"),\r\n onFocusedItemChanged: this._listFocusedItemChangeHandler.bind(this)\r\n });\r\n if (this.option(\"showSelectionControls\")) {\r\n extend(result, {\r\n showSelectionControls: true,\r\n selectionByClick: true\r\n })\r\n }\r\n return result\r\n },\r\n _listFocusedItemChangeHandler: function(e) {\r\n if (this._preventInputValueRender) {\r\n return\r\n }\r\n var list = e.component;\r\n var focusedElement = $(list.option(\"focusedElement\"));\r\n var focusedItem = list._getItemData(focusedElement);\r\n this._updateField(focusedItem)\r\n },\r\n _updateField: function(item) {\r\n var fieldTemplate = this._getTemplateByOption(\"fieldTemplate\");\r\n if (!(fieldTemplate && this.option(\"fieldTemplate\"))) {\r\n var text = this._displayGetter(item);\r\n this.option(\"text\", text);\r\n this._renderDisplayText(text);\r\n return\r\n }\r\n this._renderField()\r\n },\r\n _getSelectionChangeHandler: function() {\r\n return this.option(\"showSelectionControls\") ? this._selectionChangeHandler.bind(this) : noop\r\n },\r\n _selectionChangeHandler: function(e) {\r\n each(e.addedItems || [], function(_, addedItem) {\r\n this._setValue(this._valueGetter(addedItem))\r\n }.bind(this))\r\n },\r\n _getActualSearchValue: function() {\r\n return this._dataController.searchValue()\r\n },\r\n _toggleOpenState: function(isVisible) {\r\n if (this.option(\"disabled\")) {\r\n return\r\n }\r\n isVisible = arguments.length ? isVisible : !this.option(\"opened\");\r\n if (!isVisible && !this._shouldClearFilter()) {\r\n this._restoreInputText(true)\r\n }\r\n if (this._wasSearch() && isVisible) {\r\n this._wasSearch(false);\r\n var showDataImmediately = this.option(\"showDataBeforeSearch\") || this._isMinSearchLengthExceeded();\r\n if (showDataImmediately && this._dataController.getDataSource()) {\r\n if (this._searchTimer) {\r\n return\r\n }\r\n var searchValue = this._getActualSearchValue();\r\n searchValue && this._wasSearch(true);\r\n this._filterDataSource(searchValue || null)\r\n } else {\r\n this._setListOption(\"items\", [])\r\n }\r\n }\r\n if (isVisible) {\r\n this._scrollToSelectedItem()\r\n }\r\n this.callBase(isVisible)\r\n },\r\n _renderTooltip: function() {\r\n if (this.option(\"tooltipEnabled\")) {\r\n this.$element().attr(\"title\", this.option(\"displayValue\"))\r\n }\r\n },\r\n _renderDimensions: function() {\r\n this.callBase();\r\n this._updatePopupWidth();\r\n this._updateListDimensions()\r\n },\r\n _isValueEqualInputText: function() {\r\n var initialSelectedItem = this.option(\"selectedItem\");\r\n if (null === initialSelectedItem) {\r\n return false\r\n }\r\n var value = this._displayGetter(initialSelectedItem);\r\n var displayValue = value ? String(value) : \"\";\r\n var inputText = this._searchValue();\r\n return displayValue === inputText\r\n },\r\n _popupHidingHandler: function() {\r\n if (this._isValueEqualInputText()) {\r\n this._cancelEditing()\r\n }\r\n this.callBase()\r\n },\r\n _popupHiddenHandler: function() {\r\n this.callBase();\r\n if (this._shouldCancelSearch()) {\r\n this._wasSearch(false);\r\n this._searchCanceled();\r\n this._shouldCancelSearch(false)\r\n }\r\n },\r\n _restoreInputText: function(saveEditingValue) {\r\n if (this.option(\"readOnly\")) {\r\n return\r\n }\r\n this._loadItemDeferred && this._loadItemDeferred.always(function() {\r\n var {\r\n acceptCustomValue: acceptCustomValue,\r\n text: text,\r\n selectedItem: initialSelectedItem\r\n } = this.option();\r\n if (acceptCustomValue) {\r\n if (!saveEditingValue && !this._isValueChanging) {\r\n this._updateField(null !== initialSelectedItem && void 0 !== initialSelectedItem ? initialSelectedItem : this._createCustomItem(text));\r\n this._clearFilter()\r\n }\r\n return\r\n }\r\n if (this.option(\"searchEnabled\")) {\r\n if (!this._searchValue() && this.option(\"allowClearing\")) {\r\n this._clearTextValue();\r\n return\r\n }\r\n }\r\n if (this._isValueEqualInputText()) {\r\n return\r\n }\r\n this._renderInputValue().always(function(selectedItem) {\r\n var newSelectedItem = ensureDefined(selectedItem, initialSelectedItem);\r\n this._setSelectedItem(newSelectedItem);\r\n this._updateField(newSelectedItem);\r\n this._clearFilter()\r\n }.bind(this))\r\n }.bind(this))\r\n },\r\n _valueChangeEventIncludesBlur: function() {\r\n var valueChangeEvent = this.option(this._getValueChangeEventOptionName());\r\n return valueChangeEvent.includes(\"blur\")\r\n },\r\n _isPreventedFocusOutEvent: function(e) {\r\n return this._preventNestedFocusEvent(e) || this._valueChangeEventIncludesBlur()\r\n },\r\n _focusOutHandler: function(e) {\r\n if (!this._isPreventedFocusOutEvent(e)) {\r\n var isOverlayTarget = this._isOverlayNestedTarget(e.relatedTarget);\r\n if (!isOverlayTarget) {\r\n this._restoreInputText();\r\n this._clearSearchTimer()\r\n }\r\n this._cancelSearchIfNeed(e)\r\n }\r\n e.target = this._input().get(0);\r\n this.callBase(e)\r\n },\r\n _cancelSearchIfNeed: function(e) {\r\n var {\r\n searchEnabled: searchEnabled\r\n } = this.option();\r\n var isOverlayTarget = this._isOverlayNestedTarget(null === e || void 0 === e ? void 0 : e.relatedTarget);\r\n var shouldCancelSearch = this._wasSearch() && searchEnabled && !isOverlayTarget;\r\n if (shouldCancelSearch) {\r\n var _this$_popup;\r\n var isPopupVisible = null === (_this$_popup = this._popup) || void 0 === _this$_popup ? void 0 : _this$_popup._hideAnimationProcessing;\r\n this._clearSearchTimer();\r\n if (isPopupVisible) {\r\n this._shouldCancelSearch(true)\r\n } else {\r\n this._wasSearch(false);\r\n this._searchCanceled()\r\n }\r\n }\r\n },\r\n _shouldCancelSearch: function(value) {\r\n if (!arguments.length) {\r\n return this._shouldCancelSearchValue\r\n }\r\n this._shouldCancelSearchValue = value\r\n },\r\n _isOverlayNestedTarget: function(target) {\r\n return !!$(target).closest(\".\".concat(SELECTBOX_POPUP_WRAPPER_CLASS)).length\r\n },\r\n _clearTextValue: function() {\r\n var selectedItem = this.option(\"selectedItem\");\r\n var selectedItemText = this._displayGetter(selectedItem);\r\n var shouldRestoreValue = selectedItem && \"\" !== selectedItemText;\r\n if (shouldRestoreValue) {\r\n if (this._savedTextRemoveEvent) {\r\n this._saveValueChangeEvent(this._savedTextRemoveEvent)\r\n }\r\n this.option(\"value\", null)\r\n }\r\n delete this._savedTextRemoveEvent\r\n },\r\n _shouldOpenPopup: function() {\r\n return this._needPassDataSourceToList() && this._wasSearch()\r\n },\r\n _isFocused: function() {\r\n var activeElement = domAdapter.getActiveElement(this.element());\r\n return this.callBase() && $(activeElement).closest(this._input()).length > 0\r\n },\r\n _getValueChangeEventOptionName: function() {\r\n return \"customItemCreateEvent\"\r\n },\r\n _renderValueChangeEvent: function() {\r\n if (this._isEditable()) {\r\n this.callBase()\r\n }\r\n },\r\n _fieldRenderData: function() {\r\n var $listFocused = this._list && this.option(\"opened\") && $(this._list.option(\"focusedElement\"));\r\n if ($listFocused && $listFocused.length) {\r\n return this._list._getItemData($listFocused)\r\n }\r\n return this.option(\"selectedItem\")\r\n },\r\n _isSelectedValue: function(value) {\r\n return this._isValueEquals(value, this.option(\"value\"))\r\n },\r\n _shouldCloseOnItemClick: function() {\r\n return !(this.option(\"showSelectionControls\") && \"single\" !== this.option(\"selectionMode\"))\r\n },\r\n _listItemClickHandler: function(e) {\r\n var previousValue = this._getCurrentValue();\r\n this._focusListElement($(e.itemElement));\r\n this._saveValueChangeEvent(e.event);\r\n this._completeSelection(this._valueGetter(e.itemData));\r\n if (this._shouldCloseOnItemClick()) {\r\n this.option(\"opened\", false)\r\n }\r\n if (this.option(\"searchEnabled\") && previousValue === this._valueGetter(e.itemData)) {\r\n this._updateField(e.itemData)\r\n }\r\n if (this._shouldClearFilter()) {\r\n this._cancelSearchIfNeed()\r\n }\r\n },\r\n _shouldClearFilter: function() {\r\n return this._wasSearch()\r\n },\r\n _completeSelection: function(value) {\r\n this._setValue(value)\r\n },\r\n _loadItem: function(value, cache) {\r\n var that = this;\r\n var deferred = new Deferred;\r\n this.callBase(value, cache).done(function(item) {\r\n deferred.resolve(item)\r\n }.bind(this)).fail(function(args) {\r\n if (null !== args && void 0 !== args && args.shouldSkipCallback) {\r\n return\r\n }\r\n var selectedItem = that.option(\"selectedItem\");\r\n if (that.option(\"acceptCustomValue\") && value === that._valueGetter(selectedItem)) {\r\n deferred.resolve(selectedItem)\r\n } else {\r\n deferred.reject()\r\n }\r\n }.bind(this));\r\n return deferred.promise()\r\n },\r\n _loadInputValue: function(value, callback) {\r\n this._loadItemDeferred = this._loadItem(value).always(callback);\r\n return this._loadItemDeferred\r\n },\r\n _isCustomItemSelected: function() {\r\n var selectedItem = this.option(\"selectedItem\");\r\n var searchValue = this._searchValue();\r\n var selectedItemText = this._displayGetter(selectedItem);\r\n return !selectedItemText || searchValue !== selectedItemText.toString()\r\n },\r\n _valueChangeEventHandler: function(e) {\r\n if (this.option(\"acceptCustomValue\") && this._isCustomItemSelected() && !this._isValueChanging) {\r\n this._isValueChanging = true;\r\n this._customItemAddedHandler(e)\r\n }\r\n },\r\n _initCustomItemCreatingAction: function() {\r\n this._customItemCreatingAction = this._createActionByOption(\"onCustomItemCreating\")\r\n },\r\n _createCustomItem: function(text) {\r\n var params = {\r\n text: text\r\n };\r\n var actionResult = this._customItemCreatingAction(params);\r\n var item = ensureDefined(actionResult, params.customItem);\r\n if (isDefined(actionResult)) {\r\n errors.log(\"W0015\", \"onCustomItemCreating\", \"customItem\")\r\n }\r\n return item\r\n },\r\n _customItemAddedHandler: function(e) {\r\n var searchValue = this._searchValue();\r\n var item = this._createCustomItem(searchValue);\r\n this._saveValueChangeEvent(e);\r\n if (void 0 === item) {\r\n this._renderValue();\r\n throw errors.Error(\"E0121\")\r\n }\r\n if (isPromise(item)) {\r\n fromPromise(item).done(this._setCustomItem.bind(this)).fail(this._setCustomItem.bind(this, null))\r\n } else {\r\n this._setCustomItem(item)\r\n }\r\n },\r\n _setCustomItem: function(item) {\r\n if (this._disposed) {\r\n return\r\n }\r\n item = item || null;\r\n this.option(\"selectedItem\", item);\r\n this._cancelSearchIfNeed();\r\n this._setValue(this._valueGetter(item));\r\n this._renderDisplayText(this._displayGetter(item));\r\n this._isValueChanging = false\r\n },\r\n _clearValueHandler: function(e) {\r\n this._preventFiltering = true;\r\n this.callBase(e);\r\n this._searchCanceled();\r\n return false\r\n },\r\n _wasSearch: function(value) {\r\n if (!arguments.length) {\r\n return !!this._wasSearchValue\r\n }\r\n this._wasSearchValue = value\r\n },\r\n _searchHandler: function() {\r\n if (this._preventFiltering) {\r\n delete this._preventFiltering;\r\n return\r\n }\r\n if (this._needPassDataSourceToList()) {\r\n this._wasSearch(true)\r\n }\r\n this.callBase(arguments)\r\n },\r\n _dataSourceFiltered: function(searchValue) {\r\n this.callBase();\r\n if (null !== searchValue) {\r\n this._renderInputSubstitution();\r\n this._renderFocusedElement()\r\n }\r\n },\r\n _valueSubstituted: function() {\r\n var input = this._input().get(0);\r\n var currentSearchLength = this._searchValue().length;\r\n var isAllSelected = 0 === input.selectionStart && input.selectionEnd === currentSearchLength;\r\n var inputHasSelection = input.selectionStart !== input.selectionEnd;\r\n var isLastSymbolSelected = currentSearchLength === input.selectionEnd;\r\n return this._wasSearch() && inputHasSelection && !isAllSelected && isLastSymbolSelected && this._shouldSubstitutionBeRendered()\r\n },\r\n _shouldSubstitutionBeRendered: function() {\r\n return !this._preventSubstitution && this.option(\"searchEnabled\") && !this.option(\"acceptCustomValue\") && \"startswith\" === this.option(\"searchMode\")\r\n },\r\n _renderInputSubstitution: function() {\r\n if (!this._shouldSubstitutionBeRendered()) {\r\n delete this._preventSubstitution;\r\n return\r\n }\r\n var item = this._list && this._getPlainItems(this._list.option(\"items\"))[0];\r\n if (!item) {\r\n return\r\n }\r\n var $input = this._input();\r\n var valueLength = $input.val().length;\r\n if (0 === valueLength) {\r\n return\r\n }\r\n var inputElement = $input.get(0);\r\n var displayValue = this._displayGetter(item).toString();\r\n inputElement.value = displayValue;\r\n this._caret({\r\n start: valueLength,\r\n end: displayValue.length\r\n })\r\n },\r\n _dispose: function() {\r\n this._renderInputValueAsync = noop;\r\n delete this._loadItemDeferred;\r\n this.callBase()\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"customItemCreateEvent\":\r\n this._refreshValueChangeEvent();\r\n this._refreshFocusEvent();\r\n this._refreshEvents();\r\n break;\r\n case \"onCustomItemCreating\":\r\n this._initCustomItemCreatingAction();\r\n break;\r\n case \"tooltipEnabled\":\r\n this._renderTooltip();\r\n break;\r\n case \"displayCustomValue\":\r\n case \"acceptCustomValue\":\r\n case \"showSelectionControls\":\r\n this._invalidate();\r\n break;\r\n case \"allowClearing\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxSelectBox\", SelectBox);\r\nexport default SelectBox;\r\n","/**\r\n * DevExtreme (esm/ui/selection/selection.strategy.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dataQuery from \"../../data/query\";\r\nimport {\r\n getKeyHash,\r\n noop,\r\n equalByValue\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isPlainObject,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nexport default class SelectionStrategy {\r\n constructor(options) {\r\n this.options = options;\r\n this._setOption(\"disabledItemKeys\", []);\r\n this._clearItemKeys()\r\n }\r\n _clearItemKeys() {\r\n this._setOption(\"addedItemKeys\", []);\r\n this._setOption(\"removedItemKeys\", []);\r\n this._setOption(\"removedItems\", []);\r\n this._setOption(\"addedItems\", [])\r\n }\r\n validate() {}\r\n _setOption(name, value) {\r\n this.options[name] = value\r\n }\r\n onSelectionChanged() {\r\n var addedItemKeys = this.options.addedItemKeys;\r\n var removedItemKeys = this.options.removedItemKeys;\r\n var addedItems = this.options.addedItems;\r\n var removedItems = this.options.removedItems;\r\n var selectedItems = this.options.selectedItems;\r\n var selectedItemKeys = this.options.selectedItemKeys;\r\n var onSelectionChanged = this.options.onSelectionChanged || noop;\r\n this._clearItemKeys();\r\n onSelectionChanged({\r\n selectedItems: selectedItems,\r\n selectedItemKeys: selectedItemKeys,\r\n addedItemKeys: addedItemKeys,\r\n removedItemKeys: removedItemKeys,\r\n addedItems: addedItems,\r\n removedItems: removedItems\r\n })\r\n }\r\n equalKeys(key1, key2) {\r\n if (this.options.equalByReference) {\r\n if (isObject(key1) && isObject(key2)) {\r\n return key1 === key2\r\n }\r\n }\r\n return equalByValue(key1, key2)\r\n }\r\n getSelectableItems(items) {\r\n return items.filter((function(item) {\r\n return !(null !== item && void 0 !== item && item.disabled)\r\n }))\r\n }\r\n _clearSelection(keys, preserve, isDeselect, isSelectAll) {\r\n keys = keys || [];\r\n keys = Array.isArray(keys) ? keys : [keys];\r\n this.validate();\r\n return this.selectedItemKeys(keys, preserve, isDeselect, isSelectAll)\r\n }\r\n _removeTemplateProperty(remoteFilter) {\r\n if (Array.isArray(remoteFilter)) {\r\n return remoteFilter.map(f => this._removeTemplateProperty(f))\r\n }\r\n if (isObject(remoteFilter)) {\r\n delete remoteFilter.template\r\n }\r\n return remoteFilter\r\n }\r\n _loadFilteredData(remoteFilter, localFilter, select, isSelectAll) {\r\n var filterLength = encodeURI(JSON.stringify(this._removeTemplateProperty(remoteFilter))).length;\r\n var needLoadAllData = this.options.maxFilterLengthInRequest && filterLength > this.options.maxFilterLengthInRequest;\r\n var deferred = new Deferred;\r\n var loadOptions = {\r\n filter: needLoadAllData ? void 0 : remoteFilter,\r\n select: needLoadAllData ? this.options.dataFields() : select || this.options.dataFields()\r\n };\r\n if (remoteFilter && 0 === remoteFilter.length) {\r\n deferred.resolve([])\r\n } else {\r\n this.options.load(loadOptions).done((function(items) {\r\n var filteredItems = isPlainObject(items) ? items.data : items;\r\n if (localFilter && !isSelectAll) {\r\n filteredItems = filteredItems.filter(localFilter)\r\n } else if (needLoadAllData) {\r\n filteredItems = dataQuery(filteredItems).filter(remoteFilter).toArray()\r\n }\r\n deferred.resolve(filteredItems)\r\n })).fail(deferred.reject.bind(deferred))\r\n }\r\n return deferred\r\n }\r\n updateSelectedItemKeyHash(keys) {\r\n for (var i = 0; i < keys.length; i++) {\r\n var keyHash = getKeyHash(keys[i]);\r\n if (!isObject(keyHash)) {\r\n this.options.keyHashIndices[keyHash] = this.options.keyHashIndices[keyHash] || [];\r\n var keyIndices = this.options.keyHashIndices[keyHash];\r\n keyIndices.push(i)\r\n }\r\n }\r\n }\r\n _isAnyItemSelected(items) {\r\n for (var i = 0; i < items.length; i++) {\r\n if (this.options.isItemSelected(items[i])) {\r\n return\r\n }\r\n }\r\n return false\r\n }\r\n _getFullSelectAllState() {\r\n var items = this.options.plainItems();\r\n var dataFilter = this.options.filter();\r\n var selectedItems = this.options.ignoreDisabledItems ? this.options.selectedItems : this.options.selectedItems.filter(item => !(null !== item && void 0 !== item && item.disabled));\r\n if (dataFilter) {\r\n selectedItems = dataQuery(selectedItems).filter(dataFilter).toArray()\r\n }\r\n var selectedItemsLength = selectedItems.length;\r\n var disabledItemsLength = items.length - this.getSelectableItems(items).length;\r\n if (!selectedItemsLength) {\r\n return this._isAnyItemSelected(items)\r\n }\r\n if (selectedItemsLength >= this.options.totalCount() - disabledItemsLength) {\r\n return true\r\n }\r\n return\r\n }\r\n _getVisibleSelectAllState() {\r\n var items = this.getSelectableItems(this.options.plainItems());\r\n var hasSelectedItems = false;\r\n var hasUnselectedItems = false;\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n var itemData = this.options.getItemData(item);\r\n var key = this.options.keyOf(itemData);\r\n if (this.options.isSelectableItem(item)) {\r\n if (this.isItemKeySelected(key)) {\r\n hasSelectedItems = true\r\n } else {\r\n hasUnselectedItems = true\r\n }\r\n }\r\n }\r\n if (hasSelectedItems) {\r\n return !hasUnselectedItems ? true : void 0\r\n } else {\r\n return false\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/selection/selection.strategy.deferred.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport SelectionStrategy from \"./selection.strategy\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport dataQuery from \"../../data/query\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nexport default class DeferredStrategy extends SelectionStrategy {\r\n getSelectedItems() {\r\n return this._loadFilteredData(this.options.selectionFilter)\r\n }\r\n getSelectedItemKeys() {\r\n var d = new Deferred;\r\n var that = this;\r\n var key = this.options.key();\r\n var select = isString(key) ? [key] : key;\r\n this._loadFilteredData(this.options.selectionFilter, null, select).done((function(items) {\r\n var keys = items.map((function(item) {\r\n return that.options.keyOf(item)\r\n }));\r\n d.resolve(keys)\r\n })).fail(d.reject);\r\n return d.promise()\r\n }\r\n selectedItemKeys(keys, preserve, isDeselect, isSelectAll) {\r\n if (isSelectAll) {\r\n var filter = this.options.filter();\r\n var needResetSelectionFilter = !filter || JSON.stringify(filter) === JSON.stringify(this.options.selectionFilter) && isDeselect;\r\n if (needResetSelectionFilter) {\r\n this._setOption(\"selectionFilter\", isDeselect ? [] : null)\r\n } else {\r\n this._addSelectionFilter(isDeselect, filter, isSelectAll)\r\n }\r\n } else {\r\n if (!preserve) {\r\n this._setOption(\"selectionFilter\", [])\r\n }\r\n for (var i = 0; i < keys.length; i++) {\r\n if (isDeselect) {\r\n this.removeSelectedItem(keys[i])\r\n } else {\r\n this.addSelectedItem(keys[i], isSelectAll, !preserve)\r\n }\r\n }\r\n }\r\n this.onSelectionChanged();\r\n return (new Deferred).resolve()\r\n }\r\n setSelectedItems(keys) {\r\n this._setOption(\"selectionFilter\", null);\r\n for (var i = 0; i < keys.length; i++) {\r\n this.addSelectedItem(keys[i])\r\n }\r\n }\r\n isItemDataSelected(itemData) {\r\n return this.isItemKeySelected(itemData)\r\n }\r\n isItemKeySelected(itemData) {\r\n var selectionFilter = this.options.selectionFilter;\r\n if (!selectionFilter) {\r\n return true\r\n }\r\n return !!dataQuery([itemData]).filter(selectionFilter).toArray().length\r\n }\r\n _getKeyExpr() {\r\n var keyField = this.options.key();\r\n if (Array.isArray(keyField) && 1 === keyField.length) {\r\n return keyField[0]\r\n }\r\n return keyField\r\n }\r\n _normalizeKey(key) {\r\n var keyExpr = this.options.key();\r\n if (Array.isArray(keyExpr) && 1 === keyExpr.length) {\r\n return key[keyExpr[0]]\r\n }\r\n return key\r\n }\r\n _getFilterByKey(key) {\r\n var keyField = this._getKeyExpr();\r\n var filter = [keyField, \"=\", this._normalizeKey(key)];\r\n if (Array.isArray(keyField)) {\r\n filter = [];\r\n for (var i = 0; i < keyField.length; i++) {\r\n filter.push([keyField[i], \"=\", key[keyField[i]]]);\r\n if (i !== keyField.length - 1) {\r\n filter.push(\"and\")\r\n }\r\n }\r\n }\r\n return filter\r\n }\r\n addSelectedItem(key, isSelectAll, skipFilter) {\r\n var filter = this._getFilterByKey(key);\r\n this._addSelectionFilter(false, filter, isSelectAll, skipFilter)\r\n }\r\n removeSelectedItem(key) {\r\n var filter = this._getFilterByKey(key);\r\n this._addSelectionFilter(true, filter)\r\n }\r\n validate() {\r\n var key = this.options.key;\r\n if (key && void 0 === key()) {\r\n throw errors.Error(\"E1042\", \"Deferred selection\")\r\n }\r\n }\r\n _findSubFilter(selectionFilter, filter) {\r\n if (!selectionFilter) {\r\n return -1\r\n }\r\n var filterString = JSON.stringify(filter);\r\n for (var index = 0; index < selectionFilter.length; index++) {\r\n var subFilter = selectionFilter[index];\r\n if (subFilter && JSON.stringify(subFilter) === filterString) {\r\n return index\r\n }\r\n }\r\n return -1\r\n }\r\n _isLastSubFilter(selectionFilter, filter) {\r\n if (selectionFilter && filter) {\r\n return this._findSubFilter(selectionFilter, filter) === selectionFilter.length - 1 || 0 === this._findSubFilter([selectionFilter], filter)\r\n }\r\n return false\r\n }\r\n _addFilterOperator(selectionFilter, filterOperator) {\r\n if (selectionFilter.length > 1 && isString(selectionFilter[1]) && selectionFilter[1] !== filterOperator) {\r\n selectionFilter = [selectionFilter]\r\n }\r\n if (selectionFilter.length) {\r\n selectionFilter.push(filterOperator)\r\n }\r\n return selectionFilter\r\n }\r\n _denormalizeFilter(filter) {\r\n if (filter && isString(filter[0])) {\r\n filter = [filter]\r\n }\r\n return filter\r\n }\r\n _isOnlyNegativeFiltersLeft(filters) {\r\n return filters.every((filterItem, i) => {\r\n if (i % 2 === 0) {\r\n return Array.isArray(filterItem) && \"!\" === filterItem[0]\r\n } else {\r\n return \"and\" === filterItem\r\n }\r\n })\r\n }\r\n _addSelectionFilter(isDeselect, filter, isSelectAll, skipFilter) {\r\n var _selectionFilter;\r\n var currentFilter = isDeselect ? [\"!\", filter] : filter;\r\n var currentOperation = isDeselect ? \"and\" : \"or\";\r\n var needAddFilter = true;\r\n var selectionFilter = this.options.selectionFilter || [];\r\n selectionFilter = this._denormalizeFilter(selectionFilter);\r\n if (null !== (_selectionFilter = selectionFilter) && void 0 !== _selectionFilter && _selectionFilter.length && !skipFilter) {\r\n var removedIndex = this._removeSameFilter(selectionFilter, filter, isDeselect, isSelectAll);\r\n var filterIndex = this._removeSameFilter(selectionFilter, filter, !isDeselect);\r\n var shouldCleanFilter = isDeselect && (-1 !== removedIndex || -1 !== filterIndex) && this._isOnlyNegativeFiltersLeft(selectionFilter);\r\n if (shouldCleanFilter) {\r\n selectionFilter = []\r\n }\r\n var isKeyOperatorsAfterRemoved = this._isKeyFilter(filter) && this._hasKeyFiltersOnlyStartingFromIndex(selectionFilter, filterIndex);\r\n needAddFilter = filter.length && !isKeyOperatorsAfterRemoved\r\n }\r\n if (needAddFilter) {\r\n selectionFilter = this._addFilterOperator(selectionFilter, currentOperation);\r\n selectionFilter.push(currentFilter)\r\n }\r\n selectionFilter = this._normalizeFilter(selectionFilter);\r\n this._setOption(\"selectionFilter\", !isDeselect && !selectionFilter.length ? null : selectionFilter)\r\n }\r\n _normalizeFilter(filter) {\r\n if (filter && 1 === filter.length) {\r\n filter = filter[0]\r\n }\r\n return filter\r\n }\r\n _removeFilterByIndex(filter, filterIndex, isSelectAll) {\r\n var operation = filter[1];\r\n if (filterIndex > 0) {\r\n filter.splice(filterIndex - 1, 2)\r\n } else {\r\n filter.splice(filterIndex, 2)\r\n }\r\n if (isSelectAll && \"and\" === operation) {\r\n filter.splice(0, filter.length)\r\n }\r\n }\r\n _isSimpleKeyFilter(filter, key) {\r\n return 3 === filter.length && filter[0] === key && \"=\" === filter[1]\r\n }\r\n _isKeyFilter(filter) {\r\n if (2 === filter.length && \"!\" === filter[0]) {\r\n return this._isKeyFilter(filter[1])\r\n }\r\n var keyField = this._getKeyExpr();\r\n if (Array.isArray(keyField)) {\r\n if (filter.length !== 2 * keyField.length - 1) {\r\n return false\r\n }\r\n for (var i = 0; i < keyField.length; i++) {\r\n if (i > 0 && \"and\" !== filter[2 * i - 1]) {\r\n return false\r\n }\r\n if (!this._isSimpleKeyFilter(filter[2 * i], keyField[i])) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n return this._isSimpleKeyFilter(filter, keyField)\r\n }\r\n _hasKeyFiltersOnlyStartingFromIndex(selectionFilter, filterIndex) {\r\n if (filterIndex >= 0) {\r\n for (var i = filterIndex; i < selectionFilter.length; i++) {\r\n if (\"string\" !== typeof selectionFilter[i] && !this._isKeyFilter(selectionFilter[i])) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n return false\r\n }\r\n _removeSameFilter(selectionFilter, filter, inverted, isSelectAll) {\r\n filter = inverted ? [\"!\", filter] : filter;\r\n if (JSON.stringify(filter) === JSON.stringify(selectionFilter)) {\r\n selectionFilter.splice(0, selectionFilter.length);\r\n return 0\r\n }\r\n var filterIndex = this._findSubFilter(selectionFilter, filter);\r\n if (filterIndex >= 0) {\r\n this._removeFilterByIndex(selectionFilter, filterIndex, isSelectAll);\r\n return filterIndex\r\n } else {\r\n for (var i = 0; i < selectionFilter.length; i++) {\r\n if (Array.isArray(selectionFilter[i]) && selectionFilter[i].length > 2) {\r\n var _filterIndex = this._removeSameFilter(selectionFilter[i], filter, false, isSelectAll);\r\n if (_filterIndex >= 0) {\r\n if (!selectionFilter[i].length) {\r\n this._removeFilterByIndex(selectionFilter, i, isSelectAll)\r\n } else if (1 === selectionFilter[i].length) {\r\n selectionFilter[i] = selectionFilter[i][0]\r\n }\r\n return _filterIndex\r\n }\r\n }\r\n }\r\n return -1\r\n }\r\n }\r\n getSelectAllState() {\r\n var filter = this.options.filter();\r\n var selectionFilter = this.options.selectionFilter;\r\n if (!selectionFilter) {\r\n return true\r\n }\r\n if (!selectionFilter.length) {\r\n return false\r\n }\r\n if (!filter || !filter.length) {\r\n return\r\n }\r\n selectionFilter = this._denormalizeFilter(selectionFilter);\r\n if (this._isLastSubFilter(selectionFilter, filter)) {\r\n return true\r\n }\r\n if (this._isLastSubFilter(selectionFilter, [\"!\", filter])) {\r\n return false\r\n }\r\n return\r\n }\r\n loadSelectedItemsWithFilter() {\r\n var componentFilter = this.options.filter();\r\n var selectionFilter = this.options.selectionFilter;\r\n var filter = componentFilter ? [componentFilter, \"and\", selectionFilter] : selectionFilter;\r\n return this._loadFilteredData(filter)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/selection/selection.strategy.standard.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getKeyHash\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n removeDuplicates,\r\n getUniqueValues\r\n} from \"../../core/utils/array\";\r\nimport {\r\n isKeysEqual\r\n} from \"../../core/utils/array_compare\";\r\nimport dataQuery from \"../../data/query\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n SelectionFilterCreator\r\n} from \"../../core/utils/selection_filter\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport SelectionStrategy from \"./selection.strategy\";\r\nexport default class StandardStrategy extends SelectionStrategy {\r\n constructor(options) {\r\n super(options);\r\n this._initSelectedItemKeyHash()\r\n }\r\n _initSelectedItemKeyHash() {\r\n this._setOption(\"keyHashIndices\", this.options.equalByReference ? null : {})\r\n }\r\n getSelectedItemKeys() {\r\n return this.options.selectedItemKeys.slice(0)\r\n }\r\n getSelectedItems() {\r\n return this.options.selectedItems.slice(0)\r\n }\r\n _preserveSelectionUpdate(items, isDeselect) {\r\n var keyOf = this.options.keyOf;\r\n var keyIndicesToRemoveMap;\r\n var keyIndex;\r\n var i;\r\n if (!keyOf) {\r\n return\r\n }\r\n var isBatchDeselect = isDeselect && items.length > 1 && !this.options.equalByReference;\r\n if (isBatchDeselect) {\r\n keyIndicesToRemoveMap = {}\r\n }\r\n for (i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n var key = keyOf(item);\r\n if (isDeselect) {\r\n keyIndex = this.removeSelectedItem(key, keyIndicesToRemoveMap, null === item || void 0 === item ? void 0 : item.disabled);\r\n if (keyIndicesToRemoveMap && keyIndex >= 0) {\r\n keyIndicesToRemoveMap[keyIndex] = true\r\n }\r\n } else {\r\n this.addSelectedItem(key, item)\r\n }\r\n }\r\n if (isBatchDeselect) {\r\n this._batchRemoveSelectedItems(keyIndicesToRemoveMap)\r\n }\r\n }\r\n _batchRemoveSelectedItems(keyIndicesToRemoveMap) {\r\n var selectedItemKeys = this.options.selectedItemKeys.slice(0);\r\n var selectedItems = this.options.selectedItems.slice(0);\r\n this.options.selectedItemKeys.length = 0;\r\n this.options.selectedItems.length = 0;\r\n for (var i = 0; i < selectedItemKeys.length; i++) {\r\n if (!keyIndicesToRemoveMap[i]) {\r\n this.options.selectedItemKeys.push(selectedItemKeys[i]);\r\n this.options.selectedItems.push(selectedItems[i])\r\n }\r\n }\r\n this._initSelectedItemKeyHash();\r\n this.updateSelectedItemKeyHash(this.options.selectedItemKeys)\r\n }\r\n _loadSelectedItemsCore(keys, isDeselect, isSelectAll, filter) {\r\n var forceCombinedFilter = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : false;\r\n var deferred = new Deferred;\r\n var key = this.options.key();\r\n if (!keys.length && !isSelectAll) {\r\n deferred.resolve([]);\r\n return deferred\r\n }\r\n if (isSelectAll && isDeselect && !filter) {\r\n deferred.resolve(this.getSelectedItems());\r\n return deferred\r\n }\r\n var selectionFilterCreator = new SelectionFilterCreator(keys, isSelectAll);\r\n var combinedFilter = selectionFilterCreator.getCombinedFilter(key, filter, forceCombinedFilter);\r\n var deselectedItems = [];\r\n if (isDeselect) {\r\n var selectedItems = this.options.selectedItems;\r\n deselectedItems = combinedFilter && keys.length !== selectedItems.length ? dataQuery(selectedItems).filter(combinedFilter).toArray() : selectedItems.slice(0)\r\n }\r\n var filteredItems = deselectedItems.length ? deselectedItems : this.options.plainItems(true).filter(this.options.isSelectableItem).map(this.options.getItemData);\r\n var localFilter = selectionFilterCreator.getLocalFilter(this.options.keyOf, this.equalKeys.bind(this), this.options.equalByReference, key);\r\n filteredItems = filteredItems.filter(localFilter);\r\n if (deselectedItems.length || !isSelectAll && filteredItems.length === keys.length) {\r\n deferred.resolve(filteredItems)\r\n } else {\r\n deferred = this._loadFilteredData(combinedFilter, localFilter, null, isSelectAll)\r\n }\r\n return deferred\r\n }\r\n _replaceSelectionUpdate(items) {\r\n var internalKeys = [];\r\n var keyOf = this.options.keyOf;\r\n if (!keyOf) {\r\n return\r\n }\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n var key = keyOf(item);\r\n internalKeys.push(key)\r\n }\r\n this.setSelectedItems(internalKeys, items)\r\n }\r\n _warnOnIncorrectKeys(keys) {\r\n var allowNullValue = this.options.allowNullValue;\r\n for (var i = 0; i < keys.length; i++) {\r\n var key = keys[i];\r\n if ((!allowNullValue || null !== key) && !this.isItemKeySelected(key)) {\r\n errors.log(\"W1002\", key)\r\n }\r\n }\r\n }\r\n _isMultiSelectEnabled() {\r\n var mode = this.options.mode;\r\n return \"all\" === mode || \"multiple\" === mode\r\n }\r\n _requestInProgress() {\r\n var _this$_lastLoadDeferr;\r\n return \"pending\" === (null === (_this$_lastLoadDeferr = this._lastLoadDeferred) || void 0 === _this$_lastLoadDeferr ? void 0 : _this$_lastLoadDeferr.state())\r\n }\r\n _concatRequestsItems(keys, isDeselect, oldRequestItems, updatedKeys) {\r\n var selectedItems;\r\n var deselectedItems = isDeselect ? keys : [];\r\n if (updatedKeys) {\r\n selectedItems = updatedKeys\r\n } else {\r\n selectedItems = removeDuplicates(keys, this.options.selectedItemKeys)\r\n }\r\n return {\r\n addedItems: oldRequestItems.added.concat(selectedItems),\r\n removedItems: oldRequestItems.removed.concat(deselectedItems),\r\n keys: keys\r\n }\r\n }\r\n _collectLastRequestData(keys, isDeselect, isSelectAll, updatedKeys) {\r\n var isDeselectAll = isDeselect && isSelectAll;\r\n var oldRequestItems = {\r\n added: [],\r\n removed: []\r\n };\r\n var multiSelectEnabled = this._isMultiSelectEnabled();\r\n var lastRequestData = multiSelectEnabled ? this._lastRequestData : {};\r\n if (multiSelectEnabled) {\r\n if (this._shouldMergeWithLastRequest) {\r\n if (isDeselectAll) {\r\n this._lastLoadDeferred.reject();\r\n lastRequestData = {}\r\n } else if (!isKeysEqual(keys, this.options.selectedItemKeys)) {\r\n oldRequestItems.added = lastRequestData.addedItems;\r\n oldRequestItems.removed = lastRequestData.removedItems;\r\n if (!isDeselect) {\r\n this._lastLoadDeferred.reject()\r\n }\r\n }\r\n }\r\n lastRequestData = this._concatRequestsItems(keys, isDeselect, oldRequestItems, this._shouldMergeWithLastRequest ? void 0 : updatedKeys)\r\n }\r\n return lastRequestData\r\n }\r\n _updateKeysByLastRequestData(keys, isDeselect, isSelectAll) {\r\n var currentKeys = keys;\r\n if (this._isMultiSelectEnabled() && this._shouldMergeWithLastRequest && !isDeselect && !isSelectAll) {\r\n var _this$_lastRequestDat, _this$_lastRequestDat2;\r\n currentKeys = removeDuplicates(keys.concat(null === (_this$_lastRequestDat = this._lastRequestData) || void 0 === _this$_lastRequestDat ? void 0 : _this$_lastRequestDat.addedItems), null === (_this$_lastRequestDat2 = this._lastRequestData) || void 0 === _this$_lastRequestDat2 ? void 0 : _this$_lastRequestDat2.removedItems);\r\n currentKeys = getUniqueValues(currentKeys)\r\n }\r\n return currentKeys\r\n }\r\n _loadSelectedItems(keys, isDeselect, isSelectAll, updatedKeys) {\r\n var forceCombinedFilter = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : false;\r\n var that = this;\r\n var deferred = new Deferred;\r\n var filter = that.options.filter();\r\n this._shouldMergeWithLastRequest = this._requestInProgress();\r\n this._lastRequestData = this._collectLastRequestData(keys, isDeselect, isSelectAll, updatedKeys);\r\n when(that._lastLoadDeferred).always((function() {\r\n var currentKeys = that._updateKeysByLastRequestData(keys, isDeselect, isSelectAll);\r\n that._shouldMergeWithLastRequest = false;\r\n that._loadSelectedItemsCore(currentKeys, isDeselect, isSelectAll, filter, forceCombinedFilter).done(deferred.resolve).fail(deferred.reject)\r\n }));\r\n that._lastLoadDeferred = deferred;\r\n return deferred\r\n }\r\n selectedItemKeys(keys, preserve, isDeselect, isSelectAll, updatedKeys) {\r\n var forceCombinedFilter = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : false;\r\n var that = this;\r\n var deferred = that._loadSelectedItems(keys, isDeselect, isSelectAll, updatedKeys, forceCombinedFilter);\r\n deferred.done((function(items) {\r\n if (preserve) {\r\n that._preserveSelectionUpdate(items, isDeselect)\r\n } else {\r\n that._replaceSelectionUpdate(items)\r\n }\r\n that.onSelectionChanged()\r\n }));\r\n return deferred\r\n }\r\n addSelectedItem(key, itemData) {\r\n if (isDefined(itemData) && !this.options.ignoreDisabledItems && itemData.disabled) {\r\n if (-1 === this.options.disabledItemKeys.indexOf(key)) {\r\n this.options.disabledItemKeys.push(key)\r\n }\r\n return\r\n }\r\n var keyHash = this._getKeyHash(key);\r\n if (-1 === this._indexOfSelectedItemKey(keyHash)) {\r\n if (!isObject(keyHash) && this.options.keyHashIndices) {\r\n this.options.keyHashIndices[keyHash] = [this.options.selectedItemKeys.length]\r\n }\r\n this.options.selectedItemKeys.push(key);\r\n this.options.addedItemKeys.push(key);\r\n this.options.addedItems.push(itemData);\r\n this.options.selectedItems.push(itemData)\r\n }\r\n }\r\n _getSelectedIndexByKey(key, ignoreIndicesMap) {\r\n var selectedItemKeys = this.options.selectedItemKeys;\r\n for (var index = 0; index < selectedItemKeys.length; index++) {\r\n if ((!ignoreIndicesMap || !ignoreIndicesMap[index]) && this.equalKeys(selectedItemKeys[index], key)) {\r\n return index\r\n }\r\n }\r\n return -1\r\n }\r\n _getSelectedIndexByHash(key, ignoreIndicesMap) {\r\n var indices = this.options.keyHashIndices[key];\r\n if (indices && indices.length > 1 && ignoreIndicesMap) {\r\n indices = indices.filter((function(index) {\r\n return !ignoreIndicesMap[index]\r\n }))\r\n }\r\n return indices && indices[0] >= 0 ? indices[0] : -1\r\n }\r\n _indexOfSelectedItemKey(key, ignoreIndicesMap) {\r\n var selectedIndex;\r\n if (this.options.equalByReference) {\r\n selectedIndex = this.options.selectedItemKeys.indexOf(key)\r\n } else if (isObject(key)) {\r\n selectedIndex = this._getSelectedIndexByKey(key, ignoreIndicesMap)\r\n } else {\r\n selectedIndex = this._getSelectedIndexByHash(key, ignoreIndicesMap)\r\n }\r\n return selectedIndex\r\n }\r\n _shiftSelectedKeyIndices(keyIndex) {\r\n for (var currentKeyIndex = keyIndex; currentKeyIndex < this.options.selectedItemKeys.length; currentKeyIndex++) {\r\n var currentKey = this.options.selectedItemKeys[currentKeyIndex];\r\n var currentKeyHash = getKeyHash(currentKey);\r\n var currentKeyIndices = this.options.keyHashIndices[currentKeyHash];\r\n if (!currentKeyIndices) {\r\n continue\r\n }\r\n for (var i = 0; i < currentKeyIndices.length; i++) {\r\n if (currentKeyIndices[i] > keyIndex) {\r\n currentKeyIndices[i]--\r\n }\r\n }\r\n }\r\n }\r\n removeSelectedItem(key, keyIndicesToRemoveMap, isDisabled) {\r\n if (!this.options.ignoreDisabledItems && isDisabled) {\r\n return\r\n }\r\n var keyHash = this._getKeyHash(key);\r\n var isBatchDeselect = !!keyIndicesToRemoveMap;\r\n var keyIndex = this._indexOfSelectedItemKey(keyHash, keyIndicesToRemoveMap);\r\n if (keyIndex < 0) {\r\n return keyIndex\r\n }\r\n this.options.removedItemKeys.push(key);\r\n this.options.removedItems.push(this.options.selectedItems[keyIndex]);\r\n if (isBatchDeselect) {\r\n return keyIndex\r\n }\r\n this.options.selectedItemKeys.splice(keyIndex, 1);\r\n this.options.selectedItems.splice(keyIndex, 1);\r\n if (isObject(keyHash) || !this.options.keyHashIndices) {\r\n return keyIndex\r\n }\r\n var keyIndices = this.options.keyHashIndices[keyHash];\r\n if (!keyIndices) {\r\n return keyIndex\r\n }\r\n keyIndices.shift();\r\n if (!keyIndices.length) {\r\n delete this.options.keyHashIndices[keyHash]\r\n }\r\n this._shiftSelectedKeyIndices(keyIndex);\r\n return keyIndex\r\n }\r\n _updateAddedItemKeys(keys, items) {\r\n for (var i = 0; i < keys.length; i++) {\r\n if (!this.isItemKeySelected(keys[i])) {\r\n this.options.addedItemKeys.push(keys[i]);\r\n this.options.addedItems.push(items[i])\r\n }\r\n }\r\n }\r\n _updateRemovedItemKeys(keys, oldSelectedKeys, oldSelectedItems) {\r\n for (var i = 0; i < oldSelectedKeys.length; i++) {\r\n if (!this.isItemKeySelected(oldSelectedKeys[i])) {\r\n this.options.removedItemKeys.push(oldSelectedKeys[i]);\r\n this.options.removedItems.push(oldSelectedItems[i])\r\n }\r\n }\r\n }\r\n _isItemSelectionInProgress(key, checkPending) {\r\n var shouldCheckPending = checkPending && this._lastRequestData && this._requestInProgress();\r\n if (shouldCheckPending) {\r\n var _this$_lastRequestDat3;\r\n var addedItems = null !== (_this$_lastRequestDat3 = this._lastRequestData.addedItems) && void 0 !== _this$_lastRequestDat3 ? _this$_lastRequestDat3 : [];\r\n return addedItems.includes(key)\r\n } else {\r\n return false\r\n }\r\n }\r\n _getKeyHash(key) {\r\n return this.options.equalByReference ? key : getKeyHash(key)\r\n }\r\n setSelectedItems(keys, items) {\r\n this._updateAddedItemKeys(keys, items);\r\n var oldSelectedKeys = this.options.selectedItemKeys;\r\n var oldSelectedItems = this.options.selectedItems;\r\n if (!this.options.equalByReference) {\r\n this._initSelectedItemKeyHash();\r\n this.updateSelectedItemKeyHash(keys)\r\n }\r\n this._setOption(\"selectedItemKeys\", keys);\r\n this._setOption(\"selectedItems\", items);\r\n this._updateRemovedItemKeys(keys, oldSelectedKeys, oldSelectedItems)\r\n }\r\n isItemDataSelected(itemData) {\r\n var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n var key = this.options.keyOf(itemData);\r\n return this.isItemKeySelected(key, options)\r\n }\r\n isItemKeySelected(key) {\r\n var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n var result = this._isItemSelectionInProgress(key, options.checkPending);\r\n if (!result) {\r\n var keyHash = this._getKeyHash(key);\r\n var index = this._indexOfSelectedItemKey(keyHash);\r\n result = -1 !== index\r\n }\r\n return result\r\n }\r\n getSelectAllState(visibleOnly) {\r\n if (visibleOnly) {\r\n return this._getVisibleSelectAllState()\r\n } else {\r\n return this._getFullSelectAllState()\r\n }\r\n }\r\n loadSelectedItemsWithFilter() {\r\n var keyExpr = this.options.key();\r\n var keys = this.getSelectedItemKeys();\r\n var filter = this.options.filter();\r\n if (!keys.length) {\r\n return Deferred().resolve([])\r\n }\r\n var selectionFilterCreator = new SelectionFilterCreator(keys);\r\n var combinedFilter = selectionFilterCreator.getCombinedFilter(keyExpr, filter, true);\r\n return this._loadFilteredData(combinedFilter)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/selection/selection.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport deferredStrategy from \"./selection.strategy.deferred\";\r\nimport standardStrategy from \"./selection.strategy.standard\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nexport default class Selection {\r\n constructor(options) {\r\n this.options = extend(this._getDefaultOptions(), options, {\r\n selectedItemKeys: options.selectedKeys || []\r\n });\r\n this._selectionStrategy = this.options.deferred ? new deferredStrategy(this.options) : new standardStrategy(this.options);\r\n this._focusedItemIndex = -1;\r\n if (!this.options.equalByReference) {\r\n this._selectionStrategy.updateSelectedItemKeyHash(this.options.selectedItemKeys)\r\n }\r\n }\r\n _getDefaultOptions() {\r\n return {\r\n allowNullValue: false,\r\n deferred: false,\r\n equalByReference: false,\r\n mode: \"multiple\",\r\n selectedItems: [],\r\n selectionFilter: [],\r\n maxFilterLengthInRequest: 0,\r\n onSelectionChanged: noop,\r\n key: noop,\r\n keyOf: function(item) {\r\n return item\r\n },\r\n load: function() {\r\n return (new Deferred).resolve([])\r\n },\r\n totalCount: function() {\r\n return -1\r\n },\r\n isSelectableItem: function() {\r\n return true\r\n },\r\n isItemSelected: function() {\r\n return false\r\n },\r\n getItemData: function(item) {\r\n return item\r\n },\r\n dataFields: noop,\r\n filter: noop\r\n }\r\n }\r\n validate() {\r\n this._selectionStrategy.validate()\r\n }\r\n getSelectedItemKeys() {\r\n return this._selectionStrategy.getSelectedItemKeys()\r\n }\r\n getSelectedItems() {\r\n return this._selectionStrategy.getSelectedItems()\r\n }\r\n selectionFilter(value) {\r\n if (void 0 === value) {\r\n return this.options.selectionFilter\r\n }\r\n var filterIsChanged = this.options.selectionFilter !== value && JSON.stringify(this.options.selectionFilter) !== JSON.stringify(value);\r\n this.options.selectionFilter = value;\r\n filterIsChanged && this.onSelectionChanged()\r\n }\r\n setSelection(keys, updatedKeys) {\r\n return this.selectedItemKeys(keys, false, false, false, updatedKeys)\r\n }\r\n select(keys) {\r\n return this.selectedItemKeys(keys, true)\r\n }\r\n deselect(keys) {\r\n return this.selectedItemKeys(keys, true, true)\r\n }\r\n selectedItemKeys(keys, preserve, isDeselect, isSelectAll, updatedKeys) {\r\n var _keys;\r\n keys = null !== (_keys = keys) && void 0 !== _keys ? _keys : [];\r\n keys = Array.isArray(keys) ? keys : [keys];\r\n this.validate();\r\n return this._selectionStrategy.selectedItemKeys(keys, preserve, isDeselect, isSelectAll, updatedKeys)\r\n }\r\n clearSelection() {\r\n return this.selectedItemKeys([])\r\n }\r\n _addSelectedItem(itemData, key) {\r\n this._selectionStrategy.addSelectedItem(key, itemData)\r\n }\r\n _removeSelectedItem(key) {\r\n this._selectionStrategy.removeSelectedItem(key)\r\n }\r\n _setSelectedItems(keys, items) {\r\n this._selectionStrategy.setSelectedItems(keys, items)\r\n }\r\n onSelectionChanged() {\r\n this._selectionStrategy.onSelectionChanged()\r\n }\r\n changeItemSelection(itemIndex, keys, setFocusOnly) {\r\n var _this$options$allowLo, _this$options;\r\n var isSelectedItemsChanged;\r\n var items = this.options.plainItems();\r\n var item = items[itemIndex];\r\n var deferred;\r\n var allowLoadByRange = null === (_this$options$allowLo = (_this$options = this.options).allowLoadByRange) || void 0 === _this$options$allowLo ? void 0 : _this$options$allowLo.call(_this$options);\r\n var indexOffset;\r\n var focusedItemNotInLoadedRange = false;\r\n var shiftFocusedItemNotInLoadedRange = false;\r\n var itemIsNotInLoadedRange = index => index >= 0 && !items.filter(it => it.loadIndex === index).length;\r\n if (allowLoadByRange && isDefined(item)) {\r\n indexOffset = item.loadIndex - itemIndex;\r\n itemIndex = item.loadIndex;\r\n focusedItemNotInLoadedRange = itemIsNotInLoadedRange(this._focusedItemIndex);\r\n if (isDefined(this._shiftFocusedItemIndex)) {\r\n shiftFocusedItemNotInLoadedRange = itemIsNotInLoadedRange(this._shiftFocusedItemIndex)\r\n }\r\n }\r\n if (!this.isSelectable() || !this.isDataItem(item)) {\r\n return false\r\n }\r\n var itemData = this.options.getItemData(item);\r\n var itemKey = this.options.keyOf(itemData);\r\n keys = keys || {};\r\n if (keys.shift && \"multiple\" === this.options.mode && this._focusedItemIndex >= 0) {\r\n if (focusedItemNotInLoadedRange || shiftFocusedItemNotInLoadedRange) {\r\n isSelectedItemsChanged = itemIndex !== this._shiftFocusedItemIndex || this._focusedItemIndex !== this._shiftFocusedItemIndex;\r\n if (isSelectedItemsChanged) {\r\n deferred = this.changeItemSelectionWhenShiftKeyInVirtualPaging(itemIndex)\r\n }\r\n } else {\r\n isSelectedItemsChanged = this.changeItemSelectionWhenShiftKeyPressed(itemIndex, items, indexOffset)\r\n }\r\n } else if (keys.control) {\r\n this._resetItemSelectionWhenShiftKeyPressed();\r\n if (!setFocusOnly) {\r\n var isSelected = this._selectionStrategy.isItemDataSelected(itemData);\r\n if (\"single\" === this.options.mode) {\r\n this.clearSelectedItems()\r\n }\r\n if (isSelected) {\r\n this._removeSelectedItem(itemKey)\r\n } else {\r\n this._addSelectedItem(itemData, itemKey)\r\n }\r\n }\r\n isSelectedItemsChanged = true\r\n } else {\r\n this._resetItemSelectionWhenShiftKeyPressed();\r\n var isKeysEqual = this._selectionStrategy.equalKeys(this.options.selectedItemKeys[0], itemKey);\r\n if (1 !== this.options.selectedItemKeys.length || !isKeysEqual) {\r\n this._setSelectedItems([itemKey], [itemData]);\r\n isSelectedItemsChanged = true\r\n }\r\n }\r\n if (isSelectedItemsChanged) {\r\n when(deferred).done(() => {\r\n this._focusedItemIndex = itemIndex;\r\n !setFocusOnly && this.onSelectionChanged()\r\n });\r\n return true\r\n }\r\n }\r\n isDataItem(item) {\r\n return this.options.isSelectableItem(item)\r\n }\r\n isSelectable() {\r\n return \"single\" === this.options.mode || \"multiple\" === this.options.mode\r\n }\r\n isItemDataSelected(data) {\r\n return this._selectionStrategy.isItemDataSelected(data, {\r\n checkPending: true\r\n })\r\n }\r\n isItemSelected(arg, options) {\r\n return this._selectionStrategy.isItemKeySelected(arg, options)\r\n }\r\n _resetItemSelectionWhenShiftKeyPressed() {\r\n delete this._shiftFocusedItemIndex\r\n }\r\n _resetFocusedItemIndex() {\r\n this._focusedItemIndex = -1\r\n }\r\n changeItemSelectionWhenShiftKeyInVirtualPaging(loadIndex) {\r\n var loadOptions = this.options.getLoadOptions(loadIndex, this._focusedItemIndex, this._shiftFocusedItemIndex);\r\n var deferred = new Deferred;\r\n var indexOffset = loadOptions.skip;\r\n this.options.load(loadOptions).done(items => {\r\n this.changeItemSelectionWhenShiftKeyPressed(loadIndex, items, indexOffset);\r\n deferred.resolve()\r\n });\r\n return deferred.promise()\r\n }\r\n changeItemSelectionWhenShiftKeyPressed(itemIndex, items, indexOffset) {\r\n var isSelectedItemsChanged = false;\r\n var itemIndexStep;\r\n var indexOffsetDefined = isDefined(indexOffset);\r\n var index = indexOffsetDefined ? this._focusedItemIndex - indexOffset : this._focusedItemIndex;\r\n var keyOf = this.options.keyOf;\r\n var focusedItem = items[index];\r\n var focusedData = this.options.getItemData(focusedItem);\r\n var focusedKey = keyOf(focusedData);\r\n var isFocusedItemSelected = focusedItem && this.isItemDataSelected(focusedData);\r\n if (!isDefined(this._shiftFocusedItemIndex)) {\r\n this._shiftFocusedItemIndex = this._focusedItemIndex\r\n }\r\n var data;\r\n var itemKey;\r\n var startIndex;\r\n var endIndex;\r\n if (this._shiftFocusedItemIndex !== this._focusedItemIndex) {\r\n itemIndexStep = this._focusedItemIndex < this._shiftFocusedItemIndex ? 1 : -1;\r\n startIndex = indexOffsetDefined ? this._focusedItemIndex - indexOffset : this._focusedItemIndex;\r\n endIndex = indexOffsetDefined ? this._shiftFocusedItemIndex - indexOffset : this._shiftFocusedItemIndex;\r\n for (index = startIndex; index !== endIndex; index += itemIndexStep) {\r\n if (indexOffsetDefined || this.isDataItem(items[index])) {\r\n itemKey = keyOf(this.options.getItemData(items[index]));\r\n this._removeSelectedItem(itemKey);\r\n isSelectedItemsChanged = true\r\n }\r\n }\r\n }\r\n if (itemIndex !== this._shiftFocusedItemIndex) {\r\n itemIndexStep = itemIndex < this._shiftFocusedItemIndex ? 1 : -1;\r\n startIndex = indexOffsetDefined ? itemIndex - indexOffset : itemIndex;\r\n endIndex = indexOffsetDefined ? this._shiftFocusedItemIndex - indexOffset : this._shiftFocusedItemIndex;\r\n for (index = startIndex; index !== endIndex; index += itemIndexStep) {\r\n if (indexOffsetDefined || this.isDataItem(items[index])) {\r\n data = this.options.getItemData(items[index]);\r\n itemKey = keyOf(data);\r\n this._addSelectedItem(data, itemKey);\r\n isSelectedItemsChanged = true\r\n }\r\n }\r\n }\r\n if ((indexOffsetDefined || this.isDataItem(focusedItem)) && !isFocusedItemSelected) {\r\n this._addSelectedItem(focusedData, focusedKey);\r\n isSelectedItemsChanged = true\r\n }\r\n return isSelectedItemsChanged\r\n }\r\n clearSelectedItems() {\r\n this._setSelectedItems([], [])\r\n }\r\n selectAll(isOnePage) {\r\n this._resetFocusedItemIndex();\r\n if (isOnePage) {\r\n return this._onePageSelectAll(false)\r\n } else {\r\n return this.selectedItemKeys([], true, false, true)\r\n }\r\n }\r\n deselectAll(isOnePage) {\r\n this._resetFocusedItemIndex();\r\n if (isOnePage) {\r\n return this._onePageSelectAll(true)\r\n } else {\r\n return this.selectedItemKeys([], true, true, true)\r\n }\r\n }\r\n _onePageSelectAll(isDeselect) {\r\n var items = this._selectionStrategy.getSelectableItems(this.options.plainItems());\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n if (this.isDataItem(item)) {\r\n var itemData = this.options.getItemData(item);\r\n var itemKey = this.options.keyOf(itemData);\r\n var isSelected = this.isItemSelected(itemKey);\r\n if (!isSelected && !isDeselect) {\r\n this._addSelectedItem(itemData, itemKey)\r\n }\r\n if (isSelected && isDeselect) {\r\n this._removeSelectedItem(itemKey)\r\n }\r\n }\r\n }\r\n this.onSelectionChanged();\r\n return (new Deferred).resolve()\r\n }\r\n getSelectAllState(visibleOnly) {\r\n return this._selectionStrategy.getSelectAllState(visibleOnly)\r\n }\r\n loadSelectedItemsWithFilter() {\r\n return this._selectionStrategy.loadSelectedItemsWithFilter()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/shared/accessibility.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar FOCUS_STATE_CLASS = \"dx-state-focused\";\r\nvar FOCUS_DISABLED_CLASS = \"dx-cell-focus-disabled\";\r\nvar FOCUSED_ROW_SELECTOR = \".dx-row-focused\";\r\nvar GRID_ROW_SELECTOR = \".dx-datagrid-rowsview .dx-row\";\r\nvar GRID_CELL_SELECTOR = \"\".concat(GRID_ROW_SELECTOR, \" > td\");\r\nvar TREELIST_ROW_SELECTOR = \".dx-treelist-rowsview .dx-row\";\r\nvar TREELIST_CELL_SELECTOR = \"\".concat(TREELIST_ROW_SELECTOR, \" > td\");\r\nvar viewItemSelectorMap = {\r\n groupPanel: [\".dx-datagrid-group-panel .dx-group-panel-item[tabindex]\"],\r\n columnHeaders: [\".dx-datagrid-headers .dx-header-row > td.dx-datagrid-action\", \".dx-treelist-headers .dx-header-row > td.dx-treelist-action\"],\r\n filterRow: [\".dx-datagrid-headers .dx-datagrid-filter-row .dx-editor-cell .dx-texteditor-input\", \".dx-treelist-headers .dx-treelist-filter-row .dx-editor-cell .dx-texteditor-input\"],\r\n rowsView: [\"\".concat(FOCUSED_ROW_SELECTOR), \"\".concat(GRID_ROW_SELECTOR, \"[tabindex]\"), \"\".concat(GRID_CELL_SELECTOR, \"[tabindex]\"), \"\".concat(GRID_CELL_SELECTOR), \"\".concat(TREELIST_ROW_SELECTOR, \"[tabindex]\"), \"\".concat(TREELIST_CELL_SELECTOR, \"[tabindex]\"), \"\".concat(TREELIST_CELL_SELECTOR)],\r\n footer: [\".dx-datagrid-total-footer .dx-datagrid-summary-item\", \".dx-treelist-total-footer .dx-treelist-summary-item\"],\r\n filterPanel: [\".dx-datagrid-filter-panel .dx-icon-filter\", \".dx-treelist-filter-panel .dx-icon-filter\"],\r\n pager: [\".dx-datagrid-pager [tabindex]\", \".dx-treelist-pager [tabindex]\"]\r\n};\r\nvar isMouseDown = false;\r\nvar isHiddenFocusing = false;\r\nvar focusedElementInfo = null;\r\n\r\nfunction processKeyDown(viewName, instance, event, action, $mainElement, executeKeyDown) {\r\n var isHandled = fireKeyDownEvent(instance, event.originalEvent, executeKeyDown);\r\n if (isHandled) {\r\n return\r\n }\r\n var keyName = normalizeKeyName(event);\r\n if (\"enter\" === keyName || \"space\" === keyName) {\r\n saveFocusedElementInfo(event.target, instance);\r\n action && action({\r\n event: event\r\n })\r\n } else if (\"tab\" === keyName) {\r\n $mainElement.addClass(FOCUS_STATE_CLASS)\r\n } else {\r\n selectView(viewName, instance, event)\r\n }\r\n}\r\nexport function saveFocusedElementInfo(target, instance) {\r\n var $target = $(target);\r\n var ariaLabel = $target.attr(\"aria-label\");\r\n var $activeElements = getActiveAccessibleElements(ariaLabel, instance.element());\r\n var targetIndex = $activeElements.index($target);\r\n focusedElementInfo = extend({}, {\r\n ariaLabel: ariaLabel,\r\n index: targetIndex\r\n }, {\r\n viewInstance: instance\r\n })\r\n}\r\n\r\nfunction getActiveAccessibleElements(ariaLabel, viewElement) {\r\n var $viewElement = $(viewElement);\r\n var $activeElements;\r\n if (ariaLabel) {\r\n $activeElements = $viewElement.find('[aria-label=\"'.concat(ariaLabel, '\"][tabindex]'))\r\n } else {\r\n $activeElements = $viewElement.find(\"[tabindex]\")\r\n }\r\n return $activeElements\r\n}\r\n\r\nfunction findFocusedViewElement(viewSelectors, element) {\r\n var root = (null === element || void 0 === element ? void 0 : element.getRootNode()) || domAdapter.getDocument();\r\n for (var index in viewSelectors) {\r\n var selector = viewSelectors[index];\r\n var $focusViewElement = $(root).find(selector).first();\r\n if ($focusViewElement.length) {\r\n return $focusViewElement\r\n }\r\n }\r\n}\r\n\r\nfunction fireKeyDownEvent(instance, event, executeAction) {\r\n var args = {\r\n event: event,\r\n handled: false\r\n };\r\n if (executeAction) {\r\n executeAction(args)\r\n } else {\r\n instance._createActionByOption(\"onKeyDown\")(args)\r\n }\r\n return args.handled\r\n}\r\n\r\nfunction onDocumentVisibilityChange() {\r\n isHiddenFocusing = \"visible\" === domAdapter.getDocument().visibilityState\r\n}\r\nexport function subscribeVisibilityChange() {\r\n eventsEngine.on(domAdapter.getDocument(), \"visibilitychange\", onDocumentVisibilityChange)\r\n}\r\nexport function unsubscribeVisibilityChange() {\r\n eventsEngine.off(domAdapter.getDocument(), \"visibilitychange\", onDocumentVisibilityChange)\r\n}\r\nexport function hiddenFocus(element, preventScroll) {\r\n isHiddenFocusing = true;\r\n element.focus({\r\n preventScroll: preventScroll\r\n });\r\n isHiddenFocusing = false\r\n}\r\nexport function registerKeyboardAction(viewName, instance, $element, selector, action, executeKeyDown) {\r\n if (instance.option(\"useLegacyKeyboardNavigation\")) {\r\n return noop\r\n }\r\n var getMainElement = () => $(instance.element());\r\n var keyDownHandler = e => processKeyDown(viewName, instance, e, action, getMainElement(), executeKeyDown);\r\n var mouseDownHandler = () => {\r\n isMouseDown = true;\r\n getMainElement().removeClass(FOCUS_STATE_CLASS)\r\n };\r\n var focusinHandler = () => {\r\n var needShowOverlay = !isMouseDown && !isHiddenFocusing;\r\n if (needShowOverlay) {\r\n getMainElement().addClass(FOCUS_STATE_CLASS)\r\n }\r\n isMouseDown = false\r\n };\r\n eventsEngine.on($element, \"keydown\", selector, keyDownHandler);\r\n eventsEngine.on($element, \"mousedown\", selector, mouseDownHandler);\r\n eventsEngine.on($element, \"focusin\", selector, focusinHandler);\r\n return () => {\r\n eventsEngine.off($element, \"keydown\", selector, keyDownHandler);\r\n eventsEngine.off($element, \"mousedown\", selector, mouseDownHandler);\r\n eventsEngine.off($element, \"focusin\", selector, focusinHandler)\r\n }\r\n}\r\nexport function restoreFocus(instance) {\r\n if (!instance.option(\"useLegacyKeyboardNavigation\") && focusedElementInfo) {\r\n var viewInstance = focusedElementInfo.viewInstance;\r\n if (viewInstance) {\r\n var $activeElements = getActiveAccessibleElements(focusedElementInfo.ariaLabel, viewInstance.element());\r\n var $targetElement = $activeElements.eq(focusedElementInfo.index);\r\n focusedElementInfo = null;\r\n eventsEngine.trigger($targetElement, \"focus\")\r\n }\r\n }\r\n}\r\nexport function selectView(viewName, instance, event) {\r\n var keyName = normalizeKeyName(event);\r\n if (event.ctrlKey && (\"upArrow\" === keyName || \"downArrow\" === keyName)) {\r\n var viewNames = Object.keys(viewItemSelectorMap);\r\n var viewItemIndex = viewNames.indexOf(viewName);\r\n while (viewItemIndex >= 0 && viewItemIndex < viewNames.length) {\r\n viewItemIndex = \"upArrow\" === keyName ? --viewItemIndex : ++viewItemIndex;\r\n var _viewName = viewNames[viewItemIndex];\r\n var viewSelectors = viewItemSelectorMap[_viewName];\r\n var $focusViewElement = findFocusedViewElement(viewSelectors, event.target);\r\n if ($focusViewElement && $focusViewElement.length) {\r\n $focusViewElement.attr(\"tabindex\", instance.option(\"tabindex\") || 0);\r\n eventsEngine.trigger($focusViewElement, \"focus\");\r\n $focusViewElement.removeClass(FOCUS_DISABLED_CLASS);\r\n break\r\n }\r\n }\r\n }\r\n}\r\nexport function setTabIndex(instance, $element) {\r\n if (!instance.option(\"useLegacyKeyboardnavigation\")) {\r\n $element.attr(\"tabindex\", instance.option(\"tabindex\") || 0)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/shared/filtering.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDate,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n map\r\n} from \"../../core/utils/iterator\";\r\nvar DEFAULT_DATE_INTERVAL = [\"year\", \"month\", \"day\"];\r\nvar DEFAULT_DATETIME_INTERVAL = [\"year\", \"month\", \"day\", \"hour\", \"minute\"];\r\nvar isDateType = function(dataType) {\r\n return \"date\" === dataType || \"datetime\" === dataType\r\n};\r\nvar getGroupInterval = function(column) {\r\n var index;\r\n var result = [];\r\n var dateIntervals = [\"year\", \"month\", \"day\", \"hour\", \"minute\", \"second\"];\r\n var groupInterval = column.headerFilter && column.headerFilter.groupInterval;\r\n var interval = \"quarter\" === groupInterval ? \"month\" : groupInterval;\r\n if (isDateType(column.dataType) && null !== groupInterval) {\r\n result = \"datetime\" === column.dataType ? DEFAULT_DATETIME_INTERVAL : DEFAULT_DATE_INTERVAL;\r\n index = dateIntervals.indexOf(interval);\r\n if (index >= 0) {\r\n result = dateIntervals.slice(0, index);\r\n result.push(groupInterval);\r\n return result\r\n }\r\n return result\r\n } else if (isDefined(groupInterval)) {\r\n return Array.isArray(groupInterval) ? groupInterval : [groupInterval]\r\n }\r\n};\r\nexport default (function() {\r\n var getFilterSelector = function(column, target) {\r\n var selector = column.dataField || column.selector;\r\n if (\"search\" === target) {\r\n selector = column.displayField || column.calculateDisplayValue || selector\r\n }\r\n return selector\r\n };\r\n var getFilterExpressionByRange = function(filterValue, target) {\r\n var endFilterValue;\r\n var startFilterExpression;\r\n var endFilterExpression;\r\n var selector = getFilterSelector(this, target);\r\n if (Array.isArray(filterValue) && isDefined(filterValue[0]) && isDefined(filterValue[1])) {\r\n startFilterExpression = [selector, \">=\", filterValue[0]];\r\n endFilterExpression = [selector, \"<=\", filterValue[1]];\r\n if (isDateType(this.dataType) && (date = filterValue[1], date.getHours() + date.getMinutes() + date.getSeconds() + date.getMilliseconds() < 1)) {\r\n endFilterValue = new Date(filterValue[1].getTime());\r\n if (\"date\" === this.dataType) {\r\n endFilterValue.setDate(filterValue[1].getDate() + 1)\r\n }\r\n endFilterExpression = [selector, \"<\", endFilterValue]\r\n }\r\n return [startFilterExpression, \"and\", endFilterExpression]\r\n }\r\n var date\r\n };\r\n var getFilterExpressionForDate = function(filterValue, selectedFilterOperation, target) {\r\n var dateStart;\r\n var dateEnd;\r\n var dateInterval;\r\n var values = function(dateValue) {\r\n if (isDate(dateValue)) {\r\n return [dateValue.getFullYear(), dateValue.getMonth(), dateValue.getDate(), dateValue.getHours(), dateValue.getMinutes(), dateValue.getSeconds()]\r\n }\r\n return map((\"\" + dateValue).split(\"/\"), (function(value, index) {\r\n return 1 === index ? Number(value) - 1 : Number(value)\r\n }))\r\n }(filterValue);\r\n var selector = getFilterSelector(this, target);\r\n if (\"headerFilter\" === target) {\r\n dateInterval = getGroupInterval(this)[values.length - 1]\r\n } else if (\"datetime\" === this.dataType) {\r\n dateInterval = \"minute\"\r\n }\r\n switch (dateInterval) {\r\n case \"year\":\r\n dateStart = new Date(values[0], 0, 1);\r\n dateEnd = new Date(values[0] + 1, 0, 1);\r\n break;\r\n case \"month\":\r\n dateStart = new Date(values[0], values[1], 1);\r\n dateEnd = new Date(values[0], values[1] + 1, 1);\r\n break;\r\n case \"quarter\":\r\n dateStart = new Date(values[0], 3 * values[1], 1);\r\n dateEnd = new Date(values[0], 3 * values[1] + 3, 1);\r\n break;\r\n case \"hour\":\r\n dateStart = new Date(values[0], values[1], values[2], values[3]);\r\n dateEnd = new Date(values[0], values[1], values[2], values[3] + 1);\r\n break;\r\n case \"minute\":\r\n dateStart = new Date(values[0], values[1], values[2], values[3], values[4]);\r\n dateEnd = new Date(values[0], values[1], values[2], values[3], values[4] + 1);\r\n break;\r\n case \"second\":\r\n dateStart = new Date(values[0], values[1], values[2], values[3], values[4], values[5]);\r\n dateEnd = new Date(values[0], values[1], values[2], values[3], values[4], values[5] + 1);\r\n break;\r\n default:\r\n dateStart = new Date(values[0], values[1], values[2]);\r\n dateEnd = new Date(values[0], values[1], values[2] + 1)\r\n }\r\n switch (selectedFilterOperation) {\r\n case \"<\":\r\n return [selector, \"<\", dateStart];\r\n case \"<=\":\r\n return [selector, \"<\", dateEnd];\r\n case \">\":\r\n return [selector, \">=\", dateEnd];\r\n case \">=\":\r\n return [selector, \">=\", dateStart];\r\n case \"<>\":\r\n return [\r\n [selector, \"<\", dateStart], \"or\", [selector, \">=\", dateEnd]\r\n ];\r\n default:\r\n return [\r\n [selector, \">=\", dateStart], \"and\", [selector, \"<\", dateEnd]\r\n ]\r\n }\r\n };\r\n var getFilterExpressionForNumber = function(filterValue, selectedFilterOperation, target) {\r\n var selector = getFilterSelector(this, target);\r\n var groupInterval = getGroupInterval(this);\r\n if (\"headerFilter\" === target && groupInterval && isDefined(filterValue)) {\r\n var values = (\"\" + filterValue).split(\"/\");\r\n var value = Number(values[values.length - 1]);\r\n var interval = groupInterval[values.length - 1];\r\n var startFilterValue = [selector, \">=\", value];\r\n var endFilterValue = [selector, \"<\", value + interval];\r\n var condition = [startFilterValue, \"and\", endFilterValue];\r\n return condition\r\n }\r\n return [selector, selectedFilterOperation || \"=\", filterValue]\r\n };\r\n return {\r\n defaultCalculateFilterExpression: function(filterValue, selectedFilterOperation, target) {\r\n var column = this;\r\n var selector = getFilterSelector(column, target);\r\n var isSearchByDisplayValue = column.calculateDisplayValue && \"search\" === target;\r\n var dataType = isSearchByDisplayValue && column.lookup && column.lookup.dataType || column.dataType;\r\n var filter = null;\r\n if ((\"headerFilter\" === target || \"filterBuilder\" === target) && null === filterValue) {\r\n filter = [selector, selectedFilterOperation || \"=\", null];\r\n if (\"string\" === dataType) {\r\n filter = [filter, \"=\" === selectedFilterOperation ? \"or\" : \"and\", [selector, selectedFilterOperation || \"=\", \"\"]]\r\n }\r\n } else if (\"string\" === dataType && (!column.lookup || isSearchByDisplayValue)) {\r\n filter = [selector, selectedFilterOperation || \"contains\", filterValue]\r\n } else if (\"between\" === selectedFilterOperation) {\r\n return getFilterExpressionByRange.apply(column, [filterValue, target])\r\n } else if (isDateType(dataType) && isDefined(filterValue)) {\r\n return getFilterExpressionForDate.apply(column, arguments)\r\n } else if (\"number\" === dataType) {\r\n return getFilterExpressionForNumber.apply(column, arguments)\r\n } else {\r\n filter = [selector, selectedFilterOperation || \"=\", filterValue]\r\n }\r\n return filter\r\n },\r\n getGroupInterval: getGroupInterval\r\n }\r\n}());\r\n","/**\r\n * DevExtreme (esm/ui/shared/grouped_data_converter_mixin.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isObject\r\n} from \"../../core/utils/type\";\r\nvar isCorrectStructure = data => Array.isArray(data) && data.every(item => {\r\n var hasTwoFields = 2 === Object.keys(item).length;\r\n var hasCorrectFields = \"key\" in item && \"items\" in item;\r\n return hasTwoFields && hasCorrectFields && Array.isArray(item.items)\r\n});\r\nexport default {\r\n _getSpecificDataSourceOption: function() {\r\n var dataSource = this.option(\"dataSource\");\r\n var hasSimpleItems = false;\r\n var data = {};\r\n if (this._getGroupedOption() && isCorrectStructure(dataSource)) {\r\n data = dataSource.reduce((accumulator, item) => {\r\n var items = item.items.map(innerItem => {\r\n if (!isObject(innerItem)) {\r\n innerItem = {\r\n text: innerItem\r\n };\r\n hasSimpleItems = true\r\n }\r\n if (!(\"key\" in innerItem)) {\r\n innerItem.key = item.key\r\n }\r\n return innerItem\r\n });\r\n return accumulator.concat(items)\r\n }, []);\r\n dataSource = {\r\n store: {\r\n type: \"array\",\r\n data: data\r\n },\r\n group: {\r\n selector: \"key\",\r\n keepInitialKeyOrder: true\r\n }\r\n };\r\n if (hasSimpleItems) {\r\n dataSource.searchExpr = \"text\"\r\n }\r\n }\r\n return dataSource\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/shared/ui.editor_factory_mixin.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n isDefined,\r\n isObject,\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport variableWrapper from \"../../core/utils/variable_wrapper\";\r\nimport {\r\n compileGetter\r\n} from \"../../core/utils/data\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport {\r\n normalizeDataSourceOptions\r\n} from \"../../data/data_source/utils\";\r\nimport {\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nvar {\r\n isWrapped: isWrapped\r\n} = variableWrapper;\r\nimport \"../text_box\";\r\nimport \"../number_box\";\r\nimport \"../check_box\";\r\nimport \"../select_box\";\r\nimport \"../date_box\";\r\nvar CHECKBOX_SIZE_CLASS = \"checkbox-size\";\r\nvar EDITOR_INLINE_BLOCK = \"dx-editor-inline-block\";\r\nvar EditorFactoryMixin = function() {\r\n var getResultConfig = function(config, options) {\r\n return extend(config, {\r\n readOnly: options.readOnly,\r\n placeholder: options.placeholder,\r\n inputAttr: {\r\n id: options.id,\r\n \"aria-labelledby\": options[\"aria-labelledby\"]\r\n },\r\n tabIndex: options.tabIndex\r\n }, options.editorOptions)\r\n };\r\n var checkEnterBug = function() {\r\n return browser.mozilla || devices.real().ios\r\n };\r\n var getTextEditorConfig = function(options) {\r\n var data = {};\r\n var isEnterBug = checkEnterBug();\r\n var sharedData = options.sharedData || data;\r\n return getResultConfig({\r\n placeholder: options.placeholder,\r\n width: options.width,\r\n value: options.value,\r\n onValueChanged: function(e) {\r\n var needDelayedUpdate = \"filterRow\" === options.parentType || \"searchPanel\" === options.parentType;\r\n var isInputOrKeyUpEvent = e.event && (\"input\" === e.event.type || \"keyup\" === e.event.type);\r\n var updateValue = function(e, notFireEvent) {\r\n options && options.setValue(e.value, notFireEvent)\r\n };\r\n clearTimeout(data.valueChangeTimeout);\r\n if (isInputOrKeyUpEvent && needDelayedUpdate) {\r\n sharedData.valueChangeTimeout = data.valueChangeTimeout = setTimeout((function() {\r\n updateValue(e, data.valueChangeTimeout !== sharedData.valueChangeTimeout)\r\n }), isDefined(options.updateValueTimeout) ? options.updateValueTimeout : 0)\r\n } else {\r\n updateValue(e)\r\n }\r\n },\r\n onKeyDown: function(e) {\r\n if (isEnterBug && \"enter\" === normalizeKeyName(e.event)) {\r\n eventsEngine.trigger($(e.component._input()), \"change\")\r\n }\r\n },\r\n valueChangeEvent: \"change\" + (\"filterRow\" === options.parentType ? \" keyup input\" : \"\")\r\n }, options)\r\n };\r\n var prepareDateBox = function(options) {\r\n options.editorName = \"dxDateBox\";\r\n options.editorOptions = getResultConfig({\r\n value: options.value,\r\n onValueChanged: function(args) {\r\n options.setValue(args.value)\r\n },\r\n onKeyDown: function(_ref) {\r\n var {\r\n component: component,\r\n event: event\r\n } = _ref;\r\n var useMaskBehavior = component.option(\"useMaskBehavior\");\r\n if ((checkEnterBug() || useMaskBehavior) && \"enter\" === normalizeKeyName(event)) {\r\n component.blur();\r\n component.focus()\r\n }\r\n },\r\n displayFormat: options.format,\r\n type: options.dataType,\r\n dateSerializationFormat: null,\r\n width: \"filterBuilder\" === options.parentType ? void 0 : \"auto\"\r\n }, options)\r\n };\r\n var prepareTextBox = function(options) {\r\n var config = getTextEditorConfig(options);\r\n var isSearching = \"searchPanel\" === options.parentType;\r\n if (options.editorType && \"dxTextBox\" !== options.editorType) {\r\n config.value = options.value\r\n } else {\r\n config.value = (value = options.value, isDefined(value) ? value.toString() : \"\")\r\n }\r\n var value;\r\n config.valueChangeEvent += isSearching ? \" keyup input search\" : \"\";\r\n config.mode = config.mode || (isSearching ? \"search\" : \"text\");\r\n options.editorName = \"dxTextBox\";\r\n options.editorOptions = config\r\n };\r\n var prepareNumberBox = function(options) {\r\n var config = getTextEditorConfig(options);\r\n config.value = isDefined(options.value) ? options.value : null;\r\n options.editorName = \"dxNumberBox\";\r\n options.editorOptions = config\r\n };\r\n\r\n function prepareLookupEditor(options) {\r\n var lookup = options.lookup;\r\n var displayGetter;\r\n var dataSource;\r\n var postProcess;\r\n var isFilterRow = \"filterRow\" === options.parentType;\r\n if (lookup) {\r\n var _options$editorType;\r\n displayGetter = compileGetter(lookup.displayExpr);\r\n dataSource = lookup.dataSource;\r\n if (isFunction(dataSource) && !isWrapped(dataSource)) {\r\n dataSource = dataSource(options.row || {});\r\n ! function(options) {\r\n if (options.row && options.row.watch && \"dataRow\" === options.parentType) {\r\n var editorOptions = options.editorOptions || {};\r\n options.editorOptions = editorOptions;\r\n var selectBox;\r\n var onInitialized = editorOptions.onInitialized;\r\n editorOptions.onInitialized = function(e) {\r\n onInitialized && onInitialized.apply(this, arguments);\r\n selectBox = e.component;\r\n selectBox.on(\"disposing\", stopWatch)\r\n };\r\n var dataSource;\r\n var stopWatch = options.row.watch(() => {\r\n dataSource = options.lookup.dataSource(options.row);\r\n return dataSource && dataSource.filter\r\n }, () => {\r\n selectBox.option(\"dataSource\", dataSource)\r\n }, row => {\r\n options.row = row\r\n })\r\n }\r\n }(options)\r\n }\r\n if (isObject(dataSource) || Array.isArray(dataSource)) {\r\n dataSource = normalizeDataSourceOptions(dataSource);\r\n if (isFilterRow) {\r\n postProcess = dataSource.postProcess;\r\n dataSource.postProcess = function(items) {\r\n if (0 === this.pageIndex()) {\r\n items = items.slice(0);\r\n items.unshift(null)\r\n }\r\n if (postProcess) {\r\n return postProcess.call(this, items)\r\n }\r\n return items\r\n }\r\n }\r\n }\r\n var allowClearing = Boolean(lookup.allowClearing && !isFilterRow);\r\n options.editorName = null !== (_options$editorType = options.editorType) && void 0 !== _options$editorType ? _options$editorType : \"dxSelectBox\";\r\n options.editorOptions = getResultConfig({\r\n searchEnabled: true,\r\n value: options.value,\r\n valueExpr: options.lookup.valueExpr,\r\n searchExpr: options.lookup.searchExpr || options.lookup.displayExpr,\r\n allowClearing: allowClearing,\r\n showClearButton: allowClearing,\r\n displayExpr: function(data) {\r\n if (null === data) {\r\n return options.showAllText\r\n }\r\n return displayGetter(data)\r\n },\r\n dataSource: dataSource,\r\n onValueChanged: function(e) {\r\n var params = [e.value];\r\n !isFilterRow && params.push(e.component.option(\"text\"));\r\n options.setValue.apply(this, params)\r\n }\r\n }, options)\r\n }\r\n }\r\n\r\n function prepareCheckBox(options) {\r\n options.editorName = \"dxCheckBox\";\r\n options.editorOptions = getResultConfig({\r\n elementAttr: {\r\n id: options.id\r\n },\r\n value: isDefined(options.value) ? options.value : void 0,\r\n hoverStateEnabled: !options.readOnly,\r\n focusStateEnabled: !options.readOnly,\r\n activeStateEnabled: false,\r\n onValueChanged: function(e) {\r\n options.setValue && options.setValue(e.value, e)\r\n }\r\n }, options)\r\n }\r\n var prepareCustomEditor = options => {\r\n options.editorName = options.editorType;\r\n options.editorOptions = getResultConfig({\r\n value: options.value,\r\n onValueChanged: function(args) {\r\n options.setValue(args.value)\r\n }\r\n }, options)\r\n };\r\n var prepareEditor = options => {\r\n var prepareDefaultEditor = {\r\n dxDateBox: prepareDateBox,\r\n dxCheckBox: prepareCheckBox,\r\n dxNumberBox: prepareNumberBox,\r\n dxTextBox: prepareTextBox\r\n };\r\n if (options.lookup) {\r\n prepareLookupEditor(options)\r\n } else if (options.editorType) {\r\n var _prepareDefaultEditor;\r\n (null !== (_prepareDefaultEditor = prepareDefaultEditor[options.editorType]) && void 0 !== _prepareDefaultEditor ? _prepareDefaultEditor : prepareCustomEditor)(options)\r\n } else {\r\n switch (options.dataType) {\r\n case \"date\":\r\n case \"datetime\":\r\n prepareDateBox(options);\r\n break;\r\n case \"boolean\":\r\n ! function(options) {\r\n if (\"filterRow\" === options.parentType || \"filterBuilder\" === options.parentType) {\r\n prepareLookupEditor(extend(options, {\r\n lookup: {\r\n displayExpr: function(data) {\r\n if (true === data) {\r\n return options.trueText || \"true\"\r\n } else if (false === data) {\r\n return options.falseText || \"false\"\r\n }\r\n },\r\n dataSource: [true, false]\r\n }\r\n }))\r\n } else {\r\n prepareCheckBox(options)\r\n }\r\n }(options);\r\n break;\r\n case \"number\":\r\n prepareNumberBox(options);\r\n break;\r\n default:\r\n prepareTextBox(options)\r\n }\r\n }\r\n };\r\n return {\r\n createEditor: function($container, options) {\r\n options.cancel = false;\r\n options.editorElement = getPublicElement($container);\r\n if (!isDefined(options.tabIndex)) {\r\n options.tabIndex = this.option(\"tabIndex\")\r\n }\r\n prepareEditor(options);\r\n this.executeAction(\"onEditorPreparing\", options);\r\n if (options.cancel) {\r\n return\r\n }\r\n if (\"dataRow\" === options.parentType && !options.isOnForm && !isDefined(options.editorOptions.showValidationMark)) {\r\n options.editorOptions.showValidationMark = false\r\n }! function(that, options) {\r\n var $editorElement = $(options.editorElement);\r\n if (options.editorName && options.editorOptions && $editorElement[options.editorName]) {\r\n if (\"dxCheckBox\" === options.editorName || \"dxSwitch\" === options.editorName) {\r\n if (!options.isOnForm) {\r\n $editorElement.addClass(that.addWidgetPrefix(CHECKBOX_SIZE_CLASS));\r\n $editorElement.parent().addClass(EDITOR_INLINE_BLOCK)\r\n }\r\n }\r\n that._createComponent($editorElement, options.editorName, options.editorOptions);\r\n if (\"dxDateBox\" === options.editorName) {\r\n var dateBox = $editorElement.dxDateBox(\"instance\");\r\n var defaultEnterKeyHandler = dateBox._supportedKeys().enter;\r\n dateBox.registerKeyHandler(\"enter\", e => {\r\n if (dateBox.option(\"opened\")) {\r\n defaultEnterKeyHandler(e)\r\n }\r\n return true\r\n })\r\n }\r\n if (\"dxTextArea\" === options.editorName) {\r\n $editorElement.dxTextArea(\"instance\").registerKeyHandler(\"enter\", (function(event) {\r\n if (\"enter\" === normalizeKeyName(event) && !event.ctrlKey && !event.shiftKey) {\r\n event.stopPropagation()\r\n }\r\n }))\r\n }\r\n }\r\n }(this, options);\r\n this.executeAction(\"onEditorPrepared\", options)\r\n }\r\n }\r\n}();\r\nexport default EditorFactoryMixin;\r\n","/**\r\n * DevExtreme (esm/ui/slider/ui.slider.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n setWidth\r\n} from \"../../core/utils/size\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport devices from \"../../core/devices\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n applyServerDecimalSeparator\r\n} from \"../../core/utils/common\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n name as clickName\r\n} from \"../../events/click\";\r\nimport {\r\n lock\r\n} from \"../../events/core/emitter.feedback\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Swipeable from \"../../events/gesture/swipeable\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport {\r\n addNamespace,\r\n isMouseEvent,\r\n isTouchEvent,\r\n eventData\r\n} from \"../../events/utils/index\";\r\nimport numberLocalization from \"../../localization/number\";\r\nimport {\r\n isMaterial,\r\n current as currentTheme\r\n} from \"../themes\";\r\nimport TrackBar from \"../track_bar\";\r\nimport {\r\n render\r\n} from \"../widget/utils.ink_ripple\";\r\nimport SliderHandle from \"./ui.slider_handle\";\r\nimport {\r\n roundFloatPart,\r\n getExponentLength,\r\n getRemainderByDivision\r\n} from \"../../core/utils/math\";\r\nvar SLIDER_CLASS = \"dx-slider\";\r\nvar SLIDER_WRAPPER_CLASS = \"dx-slider-wrapper\";\r\nvar SLIDER_HANDLE_SELECTOR = \".dx-slider-handle\";\r\nvar SLIDER_BAR_CLASS = \"dx-slider-bar\";\r\nvar SLIDER_RANGE_CLASS = \"dx-slider-range\";\r\nvar SLIDER_RANGE_VISIBLE_CLASS = \"dx-slider-range-visible\";\r\nvar SLIDER_LABEL_CLASS = \"dx-slider-label\";\r\nvar SLIDER_LABEL_POSITION_CLASS_PREFIX = \"dx-slider-label-position-\";\r\nvar SLIDER_TOOLTIP_POSITION_CLASS_PREFIX = \"dx-slider-tooltip-position-\";\r\nvar INVALID_MESSAGE_VISIBLE_CLASS = \"dx-invalid-message-visible\";\r\nvar SLIDER_VALIDATION_NAMESPACE = \"Validation\";\r\nvar Slider = TrackBar.inherit({\r\n _activeStateUnit: SLIDER_HANDLE_SELECTOR,\r\n _supportedKeys: function() {\r\n var isRTL = this.option(\"rtlEnabled\");\r\n var roundedValue = (offset, isLeftDirection) => {\r\n offset = this._valueStep(offset);\r\n var step = this.option(\"step\");\r\n var value = this.option(\"value\");\r\n var currentPosition = value - this.option(\"min\");\r\n var remainder = getRemainderByDivision(currentPosition, step, this._getValueExponentLength());\r\n var result = isLeftDirection ? value - offset + (remainder ? step - remainder : 0) : value + offset - remainder;\r\n var min = this.option(\"min\");\r\n var max = this.option(\"max\");\r\n if (result < min) {\r\n result = min\r\n } else if (result > max) {\r\n result = max\r\n }\r\n return this._roundToExponentLength(result)\r\n };\r\n var moveHandleRight = offset => {\r\n this.option(\"value\", roundedValue(offset, isRTL))\r\n };\r\n var moveHandleLeft = offset => {\r\n this.option(\"value\", roundedValue(offset, !isRTL))\r\n };\r\n return extend(this.callBase(), {\r\n leftArrow: function(e) {\r\n this._processKeyboardEvent(e);\r\n moveHandleLeft(this.option(\"step\"))\r\n },\r\n rightArrow: function(e) {\r\n this._processKeyboardEvent(e);\r\n moveHandleRight(this.option(\"step\"))\r\n },\r\n pageUp: function(e) {\r\n this._processKeyboardEvent(e);\r\n moveHandleRight(this.option(\"step\") * this.option(\"keyStep\"))\r\n },\r\n pageDown: function(e) {\r\n this._processKeyboardEvent(e);\r\n moveHandleLeft(this.option(\"step\") * this.option(\"keyStep\"))\r\n },\r\n home: function(e) {\r\n this._processKeyboardEvent(e);\r\n var min = this.option(\"min\");\r\n this.option(\"value\", min)\r\n },\r\n end: function(e) {\r\n this._processKeyboardEvent(e);\r\n var max = this.option(\"max\");\r\n this.option(\"value\", max)\r\n }\r\n })\r\n },\r\n _processKeyboardEvent: function(e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this._saveValueChangeEvent(e)\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n value: 50,\r\n hoverStateEnabled: true,\r\n activeStateEnabled: true,\r\n step: 1,\r\n showRange: true,\r\n tooltip: {\r\n enabled: false,\r\n format: function(value) {\r\n return value\r\n },\r\n position: \"top\",\r\n showMode: \"onHover\"\r\n },\r\n label: {\r\n visible: false,\r\n position: \"bottom\",\r\n format: function(value) {\r\n return value\r\n }\r\n },\r\n keyStep: 1,\r\n useInkRipple: false,\r\n validationMessageOffset: isMaterial() ? {\r\n h: 18,\r\n v: 0\r\n } : {\r\n h: 7,\r\n v: 4\r\n },\r\n focusStateEnabled: true,\r\n valueChangeMode: \"onHandleMove\"\r\n })\r\n },\r\n _toggleValidationMessage: function(visible) {\r\n if (!this.option(\"isValid\")) {\r\n this.$element().toggleClass(INVALID_MESSAGE_VISIBLE_CLASS, visible)\r\n }\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n var themeName = currentTheme();\r\n return isMaterial(themeName)\r\n },\r\n options: {\r\n useInkRipple: true\r\n }\r\n }])\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(SLIDER_CLASS);\r\n this._renderSubmitElement();\r\n this.option(\"useInkRipple\") && this._renderInkRipple();\r\n this.callBase();\r\n this._renderLabels();\r\n this._renderStartHandler();\r\n this._renderAriaMinAndMax()\r\n },\r\n _attachFocusEvents: function() {\r\n this.callBase();\r\n var namespace = this.NAME + SLIDER_VALIDATION_NAMESPACE;\r\n var focusInEvent = addNamespace(\"focusin\", namespace);\r\n var focusOutEvent = addNamespace(\"focusout\", namespace);\r\n var $focusTarget = this._focusTarget();\r\n eventsEngine.on($focusTarget, focusInEvent, this._toggleValidationMessage.bind(this, true));\r\n eventsEngine.on($focusTarget, focusOutEvent, this._toggleValidationMessage.bind(this, false))\r\n },\r\n _detachFocusEvents: function() {\r\n this.callBase();\r\n var $focusTarget = this._focusTarget();\r\n this._toggleValidationMessage(false);\r\n eventsEngine.off($focusTarget, this.NAME + SLIDER_VALIDATION_NAMESPACE)\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._repaintHandle()\r\n },\r\n _renderSubmitElement: function() {\r\n this._$submitElement = $(\"<input>\").attr(\"type\", \"hidden\").appendTo(this.$element())\r\n },\r\n _getSubmitElement: function() {\r\n return this._$submitElement\r\n },\r\n _renderInkRipple: function() {\r\n this._inkRipple = render({\r\n waveSizeCoefficient: .7,\r\n isCentered: true,\r\n wavesNumber: 2,\r\n useHoldAnimation: false\r\n })\r\n },\r\n _renderInkWave: function(element, dxEvent, doRender, waveIndex) {\r\n if (!this._inkRipple) {\r\n return\r\n }\r\n var config = {\r\n element: element,\r\n event: dxEvent,\r\n wave: waveIndex\r\n };\r\n if (doRender) {\r\n this._inkRipple.showWave(config)\r\n } else {\r\n this._inkRipple.hideWave(config)\r\n }\r\n },\r\n _visibilityChanged: function() {\r\n this.repaint()\r\n },\r\n _renderWrapper: function() {\r\n this.callBase();\r\n this._$wrapper.addClass(SLIDER_WRAPPER_CLASS);\r\n this._createComponent(this._$wrapper, Swipeable, {\r\n elastic: false,\r\n immediate: true,\r\n immediateTimeout: 0,\r\n onStart: this._swipeStartHandler.bind(this),\r\n onUpdated: this._swipeUpdateHandler.bind(this),\r\n onEnd: this._swipeEndHandler.bind(this),\r\n itemSizeFunc: this._itemWidthFunc.bind(this)\r\n })\r\n },\r\n _renderContainer: function() {\r\n this.callBase();\r\n this._$bar.addClass(SLIDER_BAR_CLASS)\r\n },\r\n _renderRange: function() {\r\n this.callBase();\r\n this._$range.addClass(SLIDER_RANGE_CLASS);\r\n this._renderHandle();\r\n this._renderRangeVisibility()\r\n },\r\n _renderRangeVisibility: function() {\r\n this._$range.toggleClass(SLIDER_RANGE_VISIBLE_CLASS, Boolean(this.option(\"showRange\")))\r\n },\r\n _renderHandle: function() {\r\n this._$handle = this._renderHandleImpl(this.option(\"value\"), this._$handle)\r\n },\r\n _renderHandleImpl: function(value, $element) {\r\n var $handle = $element || $(\"<div>\").appendTo(this._$range);\r\n var tooltip = this.option(\"tooltip\");\r\n this.$element().toggleClass(SLIDER_TOOLTIP_POSITION_CLASS_PREFIX + \"bottom\", tooltip.enabled && \"bottom\" === tooltip.position).toggleClass(SLIDER_TOOLTIP_POSITION_CLASS_PREFIX + \"top\", tooltip.enabled && \"top\" === tooltip.position);\r\n this._createComponent($handle, SliderHandle, {\r\n value: value,\r\n tooltip: tooltip\r\n });\r\n return $handle\r\n },\r\n _renderAriaMinAndMax: function() {\r\n this.setAria({\r\n valuemin: this.option(\"min\"),\r\n valuemax: this.option(\"max\")\r\n }, this._$handle)\r\n },\r\n _toggleActiveState: function($element, value) {\r\n this.callBase($element, value);\r\n this._renderInkWave($element, null, !!value, 1)\r\n },\r\n _toggleFocusClass: function(isFocused, $element) {\r\n this.callBase(isFocused, $element);\r\n if (this._disposed) {\r\n return\r\n }\r\n var $focusTarget = $($element || this._focusTarget());\r\n this._renderInkWave($focusTarget, null, isFocused, 0)\r\n },\r\n _renderLabels: function() {\r\n this.$element().removeClass(SLIDER_LABEL_POSITION_CLASS_PREFIX + \"bottom\").removeClass(SLIDER_LABEL_POSITION_CLASS_PREFIX + \"top\");\r\n if (this.option(\"label.visible\")) {\r\n var min = this.option(\"min\");\r\n var max = this.option(\"max\");\r\n var position = this.option(\"label.position\");\r\n var labelFormat = this.option(\"label.format\");\r\n if (!this._$minLabel) {\r\n this._$minLabel = $(\"<div>\").addClass(SLIDER_LABEL_CLASS).appendTo(this._$wrapper)\r\n }\r\n this._$minLabel.text(numberLocalization.format(min, labelFormat));\r\n if (!this._$maxLabel) {\r\n this._$maxLabel = $(\"<div>\").addClass(SLIDER_LABEL_CLASS).appendTo(this._$wrapper)\r\n }\r\n this._$maxLabel.text(numberLocalization.format(max, labelFormat));\r\n this.$element().addClass(SLIDER_LABEL_POSITION_CLASS_PREFIX + position)\r\n } else {\r\n if (this._$minLabel) {\r\n this._$minLabel.remove();\r\n delete this._$minLabel\r\n }\r\n if (this._$maxLabel) {\r\n this._$maxLabel.remove();\r\n delete this._$maxLabel\r\n }\r\n }\r\n },\r\n _renderStartHandler: function() {\r\n var pointerDownEventName = addNamespace(pointerEvents.down, this.NAME);\r\n var clickEventName = addNamespace(clickName, this.NAME);\r\n var startAction = this._createAction(this._startHandler.bind(this));\r\n var $element = this.$element();\r\n eventsEngine.off($element, pointerDownEventName);\r\n eventsEngine.on($element, pointerDownEventName, e => {\r\n if (isMouseEvent(e)) {\r\n startAction({\r\n event: e\r\n })\r\n }\r\n });\r\n eventsEngine.off($element, clickEventName);\r\n eventsEngine.on($element, clickEventName, e => {\r\n var $handle = this._activeHandle();\r\n if ($handle) {\r\n eventsEngine.trigger($handle, \"focusin\");\r\n eventsEngine.trigger($handle, \"focus\")\r\n }\r\n startAction({\r\n event: e\r\n });\r\n if (\"onHandleRelease\" === this.option(\"valueChangeMode\")) {\r\n this.option(\"value\", this._getActualValue());\r\n this._actualValue = void 0\r\n }\r\n })\r\n },\r\n _itemWidthFunc: function() {\r\n return this._itemWidthRatio\r\n },\r\n _swipeStartHandler: function(e) {\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n if (isTouchEvent(e.event)) {\r\n this._createAction(this._startHandler.bind(this))({\r\n event: e.event\r\n })\r\n }\r\n this._feedbackDeferred = new Deferred;\r\n lock(this._feedbackDeferred);\r\n this._toggleActiveState(this._activeHandle(), this.option(\"activeStateEnabled\"));\r\n this._startOffset = this._currentRatio;\r\n var startOffset = this._startOffset * this._swipePixelRatio();\r\n var endOffset = (1 - this._startOffset) * this._swipePixelRatio();\r\n e.event.maxLeftOffset = rtlEnabled ? endOffset : startOffset;\r\n e.event.maxRightOffset = rtlEnabled ? startOffset : endOffset;\r\n this._itemWidthRatio = getWidth(this.$element()) / this._swipePixelRatio();\r\n this._needPreventAnimation = true\r\n },\r\n _swipeEndHandler: function(e) {\r\n if (this._isSingleValuePossible()) {\r\n return\r\n }\r\n this._feedbackDeferred.resolve();\r\n this._toggleActiveState(this._activeHandle(), false);\r\n var offsetDirection = this.option(\"rtlEnabled\") ? -1 : 1;\r\n var ratio = this._startOffset + offsetDirection * e.event.targetOffset / this._swipePixelRatio();\r\n delete this._needPreventAnimation;\r\n this._saveValueChangeEvent(e.event);\r\n this._changeValueOnSwipe(ratio);\r\n if (\"onHandleRelease\" === this.option(\"valueChangeMode\")) {\r\n this.option(\"value\", this._getActualValue())\r\n }\r\n this._actualValue = void 0;\r\n delete this._startOffset;\r\n this._renderValue()\r\n },\r\n _activeHandle: function() {\r\n return this._$handle\r\n },\r\n _swipeUpdateHandler: function(e) {\r\n if (this._isSingleValuePossible()) {\r\n return\r\n }\r\n this._saveValueChangeEvent(e.event);\r\n this._updateHandlePosition(e)\r\n },\r\n _updateHandlePosition: function(e) {\r\n var offsetDirection = this.option(\"rtlEnabled\") ? -1 : 1;\r\n var newRatio = Math.min(this._startOffset + offsetDirection * e.event.offset / this._swipePixelRatio(), 1);\r\n setWidth(this._$range, 100 * newRatio + \"%\");\r\n SliderHandle.getInstance(this._activeHandle()).fitTooltipPosition;\r\n this._changeValueOnSwipe(newRatio)\r\n },\r\n _swipePixelRatio: function() {\r\n var min = this.option(\"min\");\r\n var max = this.option(\"max\");\r\n var step = this._valueStep(this.option(\"step\"));\r\n return (max - min) / step\r\n },\r\n _valueStep: function(step) {\r\n if (!step || isNaN(step)) {\r\n step = 1\r\n }\r\n return step\r\n },\r\n _getValueExponentLength: function() {\r\n var {\r\n step: step,\r\n min: min\r\n } = this.option();\r\n return Math.max(getExponentLength(step), getExponentLength(min))\r\n },\r\n _roundToExponentLength: function(value) {\r\n var valueExponentLength = this._getValueExponentLength();\r\n return roundFloatPart(value, valueExponentLength)\r\n },\r\n _changeValueOnSwipe: function(ratio) {\r\n var min = this.option(\"min\");\r\n var max = this.option(\"max\");\r\n var step = this._valueStep(this.option(\"step\"));\r\n var newChange = ratio * (max - min);\r\n var newValue = min + newChange;\r\n if (step < 0) {\r\n return\r\n }\r\n if (newValue === max || newValue === min) {\r\n this._setValueOnSwipe(newValue)\r\n } else {\r\n var stepCount = Math.round((newValue - min) / step);\r\n newValue = this._roundToExponentLength(stepCount * step + min);\r\n this._setValueOnSwipe(Math.max(Math.min(newValue, max), min))\r\n }\r\n },\r\n _setValueOnSwipe: function(value) {\r\n this._actualValue = value;\r\n if (\"onHandleRelease\" === this.option(\"valueChangeMode\")) {\r\n SliderHandle.getInstance(this._activeHandle()).option(\"value\", value)\r\n } else {\r\n this.option(\"value\", value);\r\n this._saveValueChangeEvent(void 0)\r\n }\r\n },\r\n _getActualValue: function() {\r\n var _this$_actualValue;\r\n return null !== (_this$_actualValue = this._actualValue) && void 0 !== _this$_actualValue ? _this$_actualValue : this.option(\"value\")\r\n },\r\n _isSingleValuePossible: function() {\r\n var {\r\n min: min,\r\n max: max\r\n } = this.option();\r\n return min === max\r\n },\r\n _startHandler: function(args) {\r\n if (this._isSingleValuePossible()) {\r\n return\r\n }\r\n var e = args.event;\r\n this._currentRatio = (eventData(e).x - this._$bar.offset().left) / getWidth(this._$bar);\r\n if (this.option(\"rtlEnabled\")) {\r\n this._currentRatio = 1 - this._currentRatio\r\n }\r\n this._saveValueChangeEvent(e);\r\n this._changeValueOnSwipe(this._currentRatio)\r\n },\r\n _renderValue: function() {\r\n this.callBase();\r\n var value = this._getActualValue();\r\n this._getSubmitElement().val(applyServerDecimalSeparator(value));\r\n SliderHandle.getInstance(this._activeHandle()).option(\"value\", value)\r\n },\r\n _setRangeStyles: function(options) {\r\n options && this._$range.css(options)\r\n },\r\n _callHandlerMethod: function(name, args) {\r\n SliderHandle.getInstance(this._$handle)[name](args)\r\n },\r\n _repaintHandle: function() {\r\n this._callHandlerMethod(\"repaint\")\r\n },\r\n _fitTooltip: function() {\r\n this._callHandlerMethod(\"updateTooltipPosition\")\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"visible\":\r\n this.callBase(args);\r\n this._renderHandle();\r\n this._repaintHandle();\r\n break;\r\n case \"min\":\r\n case \"max\":\r\n this._renderValue();\r\n this.callBase(args);\r\n this._renderLabels();\r\n this._renderAriaMinAndMax();\r\n this._fitTooltip();\r\n break;\r\n case \"step\":\r\n this._renderValue();\r\n break;\r\n case \"keyStep\":\r\n break;\r\n case \"showRange\":\r\n this._renderRangeVisibility();\r\n break;\r\n case \"tooltip\":\r\n this._renderHandle();\r\n break;\r\n case \"label\":\r\n this._renderLabels();\r\n break;\r\n case \"useInkRipple\":\r\n this._invalidate();\r\n break;\r\n case \"valueChangeMode\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _refresh: function() {\r\n this._toggleRTLDirection(this.option(\"rtlEnabled\"));\r\n this._renderDimensions();\r\n this._renderValue();\r\n this._renderHandle();\r\n this._repaintHandle()\r\n },\r\n _clean: function() {\r\n delete this._inkRipple;\r\n delete this._actualValue;\r\n this.callBase()\r\n }\r\n});\r\nregisterComponent(\"dxSlider\", Slider);\r\nexport default Slider;\r\n","/**\r\n * DevExtreme (esm/ui/slider.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Slider from \"./slider/ui.slider\";\r\nexport default Slider;\r\n","/**\r\n * DevExtreme (esm/ui/slider/slider_tooltip_position_controller.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n PopoverPositionController\r\n} from \"../popover/popover_position_controller\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nimport positionUtils from \"../../animation/position\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isString\r\n} from \"../../core/utils/type\";\r\nvar SLIDER_TOOLTIP_POSITION_ALIASES = {\r\n top: {\r\n my: \"bottom center\",\r\n at: \"top center\",\r\n collision: \"fit none\"\r\n },\r\n bottom: {\r\n my: \"top center\",\r\n at: \"bottom center\",\r\n collision: \"fit none\"\r\n }\r\n};\r\nvar SLIDER_TOOLTIP_DEFAULT_BOUNDARY_OFFSET = {\r\n h: 2,\r\n v: 1\r\n};\r\nvar SLIDER_CLASS = \"dx-slider\";\r\nclass SliderTooltipPositionController extends PopoverPositionController {\r\n _normalizePosition(positionProp) {\r\n var $sliderHandle = this._props.target;\r\n var sliderClass = \".\".concat(SLIDER_CLASS);\r\n var $slider = null === $sliderHandle || void 0 === $sliderHandle ? void 0 : $sliderHandle.closest(sliderClass);\r\n var defaultPositionConfig = {\r\n of: $sliderHandle,\r\n boundaryOffset: SLIDER_TOOLTIP_DEFAULT_BOUNDARY_OFFSET,\r\n boundary: null === $slider || void 0 === $slider ? void 0 : $slider.get(0)\r\n };\r\n var resultPosition = extend(true, {}, defaultPositionConfig, this._positionToObject(positionProp));\r\n this._positionSide = this._getDisplaySide(resultPosition);\r\n return resultPosition\r\n }\r\n _renderContentInitialPosition() {\r\n super._renderContentInitialPosition();\r\n this._fitIntoSlider()\r\n }\r\n _fitIntoSlider() {\r\n var {\r\n collisionSide: collisionSide,\r\n oversize: oversize\r\n } = positionUtils.calculate(this._$content, this._position).h;\r\n var left = this._visualPosition.left;\r\n var isLeftSide = \"left\" === collisionSide;\r\n var offset = (isLeftSide ? 1 : -1) * oversize;\r\n move(this._$content, {\r\n left: left + offset\r\n });\r\n this._updateVisualPositionValue()\r\n }\r\n _positionToObject(positionProp) {\r\n if (isString(positionProp)) {\r\n return extend({}, SLIDER_TOOLTIP_POSITION_ALIASES[positionProp])\r\n }\r\n return positionProp\r\n }\r\n}\r\nexport {\r\n SliderTooltipPositionController\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/slider/ui.slider_tooltip.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Tooltip from \"../tooltip\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n SliderTooltipPositionController\r\n} from \"./slider_tooltip_position_controller\";\r\nimport numberLocalization from \"../../localization/number\";\r\nvar SLIDER_TOOLTIP_VISIBILITY_CLASS = \"dx-slider-tooltip-visible-on-hover\";\r\nvar SliderTooltip = Tooltip.inherit({\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n visible: false,\r\n position: \"top\",\r\n hideOnOutsideClick: false,\r\n hideTopOverlayHandler: null,\r\n hideOnParentScroll: false,\r\n animation: null,\r\n arrowPosition: null,\r\n templatesRenderAsynchronously: false,\r\n _fixWrapperPosition: false,\r\n useResizeObserver: false,\r\n showMode: \"onHover\",\r\n format: value => value,\r\n value: 0\r\n })\r\n },\r\n _initMarkup() {\r\n this.callBase();\r\n this._attachToMarkup(this.option(\"visible\"));\r\n this._toggleShowModeClass()\r\n },\r\n _renderContent() {\r\n this.callBase();\r\n this._renderContentText()\r\n },\r\n _renderContentText() {\r\n var {\r\n value: value,\r\n format: format\r\n } = this.option();\r\n var formattedText = numberLocalization.format(null !== value && void 0 !== value ? value : 0, format);\r\n this.$content().text(formattedText);\r\n this._renderPosition()\r\n },\r\n _toggleShowModeClass() {\r\n var isHoverMode = \"onHover\" === this.option(\"showMode\");\r\n var $sliderHandle = this.option(\"target\");\r\n $sliderHandle.toggleClass(SLIDER_TOOLTIP_VISIBILITY_CLASS, isHoverMode)\r\n },\r\n _initPositionController() {\r\n this._positionController = new SliderTooltipPositionController(this._getPositionControllerConfig())\r\n },\r\n _attachToMarkup(enabled) {\r\n var $sliderHandle = this.option(\"target\");\r\n enabled ? this.$element().appendTo($sliderHandle) : this.$element().detach()\r\n },\r\n _optionChanged(args) {\r\n var {\r\n name: name,\r\n value: value\r\n } = args;\r\n switch (name) {\r\n case \"visible\":\r\n this._attachToMarkup(value);\r\n this.callBase(args);\r\n break;\r\n case \"showMode\":\r\n this._toggleShowModeClass();\r\n break;\r\n case \"format\":\r\n case \"value\":\r\n this._renderContentText();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n updatePosition() {\r\n this._renderPosition()\r\n }\r\n});\r\nexport default SliderTooltip;\r\n","/**\r\n * DevExtreme (esm/ui/slider/ui.slider_handle.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport SliderTooltip from \"./ui.slider_tooltip\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nvar SLIDER_HANDLE_CLASS = \"dx-slider-handle\";\r\nvar SliderHandle = Widget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n hoverStateEnabled: false,\r\n value: 0,\r\n tooltip: {\r\n enabled: false,\r\n format: value => value,\r\n position: \"top\",\r\n showMode: \"onHover\"\r\n }\r\n })\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this.$element().addClass(SLIDER_HANDLE_CLASS);\r\n this.setAria({\r\n role: \"slider\",\r\n valuenow: this.option(\"value\")\r\n })\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderTooltip()\r\n },\r\n _renderTooltip: function() {\r\n var {\r\n tooltip: tooltip,\r\n value: value\r\n } = this.option();\r\n var {\r\n position: position,\r\n format: format,\r\n enabled: enabled,\r\n showMode: showMode\r\n } = tooltip;\r\n var $sliderTooltip = $(\"<div>\");\r\n this._sliderTooltip = this._createComponent($sliderTooltip, SliderTooltip, {\r\n target: this.$element(),\r\n container: $sliderTooltip,\r\n position: position,\r\n visible: enabled,\r\n showMode: showMode,\r\n format: format,\r\n value: value\r\n })\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n this._sliderTooltip = null\r\n },\r\n _updateTooltipOptions(args) {\r\n var _this$_sliderTooltip;\r\n var tooltipOptions = Widget.getOptionsFromContainer(args);\r\n this._setWidgetOption(\"_sliderTooltip\", [tooltipOptions]);\r\n null === (_this$_sliderTooltip = this._sliderTooltip) || void 0 === _this$_sliderTooltip ? void 0 : _this$_sliderTooltip.option(\"visible\", tooltipOptions.enabled)\r\n },\r\n _optionChanged: function(args) {\r\n var {\r\n name: name,\r\n value: value\r\n } = args;\r\n switch (name) {\r\n case \"value\":\r\n var _this$_sliderTooltip2;\r\n null === (_this$_sliderTooltip2 = this._sliderTooltip) || void 0 === _this$_sliderTooltip2 ? void 0 : _this$_sliderTooltip2.option(\"value\", value);\r\n this.setAria(\"valuenow\", value);\r\n break;\r\n case \"tooltip\":\r\n this._updateTooltipOptions(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n updateTooltipPosition: function() {\r\n var _this$_sliderTooltip3;\r\n null === (_this$_sliderTooltip3 = this._sliderTooltip) || void 0 === _this$_sliderTooltip3 ? void 0 : _this$_sliderTooltip3.updatePosition()\r\n },\r\n repaint: function() {\r\n var _this$_sliderTooltip4;\r\n null === (_this$_sliderTooltip4 = this._sliderTooltip) || void 0 === _this$_sliderTooltip4 ? void 0 : _this$_sliderTooltip4.repaint()\r\n }\r\n});\r\nexport default SliderHandle;\r\n","/**\r\n * DevExtreme (esm/__internal/m_sortable.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport fx from \"../animation/fx\";\r\nimport {\r\n resetPosition\r\n} from \"../animation/translator\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n getBoundingRect\r\n} from \"../core/utils/position\";\r\nimport {\r\n getHeight,\r\n getOuterHeight,\r\n getOuterWidth,\r\n getWidth\r\n} from \"../core/utils/size\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport Draggable from \"./m_draggable\";\r\nvar window = getWindow();\r\nvar SORTABLE = \"dxSortable\";\r\nvar PLACEHOLDER_CLASS = \"placeholder\";\r\nvar CLONE_CLASS = \"clone\";\r\nvar isElementVisible = itemElement => $(itemElement).is(\":visible\");\r\nvar animate = (element, config) => {\r\n var _a, _b;\r\n if (!element) {\r\n return\r\n }\r\n var left = (null === (_a = config.to) || void 0 === _a ? void 0 : _a.left) || 0;\r\n var top = (null === (_b = config.to) || void 0 === _b ? void 0 : _b.top) || 0;\r\n element.style.transform = \"translate(\".concat(left, \"px,\").concat(top, \"px)\");\r\n element.style.transition = fx.off ? \"\" : \"transform \".concat(config.duration, \"ms \").concat(config.easing)\r\n};\r\nvar stopAnimation = element => {\r\n if (!element) {\r\n return\r\n }\r\n element.style.transform = \"\";\r\n element.style.transition = \"\"\r\n};\r\n\r\nfunction getScrollableBoundary($scrollable) {\r\n var offset = $scrollable.offset();\r\n var {\r\n style: style\r\n } = $scrollable[0];\r\n var paddingLeft = parseFloat(style.paddingLeft) || 0;\r\n var paddingRight = parseFloat(style.paddingRight) || 0;\r\n var paddingTop = parseFloat(style.paddingTop) || 0;\r\n var width = $scrollable[0].clientWidth - (paddingLeft + paddingRight);\r\n var height = getHeight($scrollable);\r\n var left = offset.left + paddingLeft;\r\n var top = offset.top + paddingTop;\r\n return {\r\n left: left,\r\n right: left + width,\r\n top: top,\r\n bottom: top + height\r\n }\r\n}\r\nvar Sortable = Draggable.inherit({\r\n _init() {\r\n this.callBase();\r\n this._sourceScrollHandler = this._handleSourceScroll.bind(this);\r\n this._sourceScrollableInfo = null\r\n },\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n clone: true,\r\n filter: \"> *\",\r\n itemOrientation: \"vertical\",\r\n dropFeedbackMode: \"push\",\r\n allowDropInsideItem: false,\r\n allowReordering: true,\r\n moveItemOnDrop: false,\r\n onDragChange: null,\r\n onAdd: null,\r\n onRemove: null,\r\n onReorder: null,\r\n onPlaceholderPrepared: null,\r\n animation: {\r\n type: \"slide\",\r\n duration: 300,\r\n easing: \"ease\"\r\n },\r\n fromIndex: null,\r\n toIndex: null,\r\n dropInsideItem: false,\r\n itemPoints: null,\r\n fromIndexOffset: 0,\r\n offset: 0,\r\n autoUpdate: false,\r\n draggableElementSize: 0\r\n })\r\n },\r\n reset() {\r\n this.option({\r\n dropInsideItem: false,\r\n toIndex: null,\r\n fromIndex: null,\r\n itemPoints: null,\r\n fromIndexOffset: 0,\r\n draggableElementSize: 0\r\n });\r\n if (this._$placeholderElement) {\r\n this._$placeholderElement.remove()\r\n }\r\n this._$placeholderElement = null;\r\n if (!this._isIndicateMode() && this._$modifiedItem) {\r\n this._$modifiedItem.css(\"marginBottom\", this._modifiedItemMargin);\r\n this._$modifiedItem = null\r\n }\r\n },\r\n _getPrevVisibleItem: (items, index) => items.slice(0, index).reverse().filter(isElementVisible)[0],\r\n _dragStartHandler(e) {\r\n this.callBase.apply(this, arguments);\r\n if (true === e.cancel) {\r\n return\r\n }\r\n var $sourceElement = this._getSourceElement();\r\n this._updateItemPoints();\r\n this._subscribeToSourceScroll(e);\r\n this.option(\"fromIndex\", this._getElementIndex($sourceElement));\r\n this.option(\"fromIndexOffset\", this.option(\"offset\"))\r\n },\r\n _subscribeToSourceScroll(e) {\r\n var $scrollable = this._getScrollable($(e.target));\r\n if ($scrollable) {\r\n this._sourceScrollableInfo = {\r\n element: $scrollable,\r\n scrollLeft: $scrollable.scrollLeft(),\r\n scrollTop: $scrollable.scrollTop()\r\n };\r\n eventsEngine.off($scrollable, \"scroll\", this._sourceScrollHandler);\r\n eventsEngine.on($scrollable, \"scroll\", this._sourceScrollHandler)\r\n }\r\n },\r\n _unsubscribeFromSourceScroll() {\r\n if (this._sourceScrollableInfo) {\r\n eventsEngine.off(this._sourceScrollableInfo.element, \"scroll\", this._sourceScrollHandler);\r\n this._sourceScrollableInfo = null\r\n }\r\n },\r\n _handleSourceScroll(e) {\r\n var sourceScrollableInfo = this._sourceScrollableInfo;\r\n if (sourceScrollableInfo) {\r\n [\"scrollLeft\", \"scrollTop\"].forEach(scrollProp => {\r\n if (e.target[scrollProp] !== sourceScrollableInfo[scrollProp]) {\r\n var scrollBy = e.target[scrollProp] - sourceScrollableInfo[scrollProp];\r\n this._correctItemPoints(scrollBy);\r\n this._movePlaceholder();\r\n sourceScrollableInfo[scrollProp] = e.target[scrollProp]\r\n }\r\n })\r\n }\r\n },\r\n _dragEnterHandler(e) {\r\n this.callBase.apply(this, arguments);\r\n if (this === this._getSourceDraggable()) {\r\n return\r\n }\r\n this._subscribeToSourceScroll(e);\r\n this._updateItemPoints();\r\n this.option(\"fromIndex\", -1);\r\n if (!this._isIndicateMode()) {\r\n var itemPoints = this.option(\"itemPoints\");\r\n var lastItemPoint = itemPoints[itemPoints.length - 1];\r\n if (lastItemPoint) {\r\n var $element = this.$element();\r\n var $sourceElement = this._getSourceElement();\r\n var isVertical = this._isVerticalOrientation();\r\n var sourceElementSize = isVertical ? getOuterHeight($sourceElement, true) : getOuterWidth($sourceElement, true);\r\n var scrollSize = $element.get(0)[isVertical ? \"scrollHeight\" : \"scrollWidth\"];\r\n var scrollPosition = $element.get(0)[isVertical ? \"scrollTop\" : \"scrollLeft\"];\r\n var positionProp = isVertical ? \"top\" : \"left\";\r\n var lastPointPosition = lastItemPoint[positionProp];\r\n var elementPosition = $element.offset()[positionProp];\r\n var freeSize = elementPosition + scrollSize - scrollPosition - lastPointPosition;\r\n if (freeSize < sourceElementSize) {\r\n if (isVertical) {\r\n var items = this._getItems();\r\n var $lastItem = $(this._getPrevVisibleItem(items));\r\n this._$modifiedItem = $lastItem;\r\n this._modifiedItemMargin = $lastItem.get(0).style.marginBottom;\r\n $lastItem.css(\"marginBottom\", sourceElementSize - freeSize);\r\n var $sortable = $lastItem.closest(\".dx-sortable\");\r\n var sortable = $sortable.data(\"dxScrollable\") || $sortable.data(\"dxScrollView\");\r\n sortable && sortable.update()\r\n }\r\n }\r\n }\r\n }\r\n },\r\n _dragLeaveHandler() {\r\n this.callBase.apply(this, arguments);\r\n if (this !== this._getSourceDraggable()) {\r\n this._unsubscribeFromSourceScroll()\r\n }\r\n },\r\n dragEnter() {\r\n if (this !== this._getTargetDraggable()) {\r\n this.option(\"toIndex\", -1)\r\n }\r\n },\r\n dragLeave() {\r\n if (this !== this._getTargetDraggable()) {\r\n this.option(\"toIndex\", this.option(\"fromIndex\"))\r\n }\r\n },\r\n _allowDrop(event) {\r\n var targetDraggable = this._getTargetDraggable();\r\n var $targetDraggable = targetDraggable.$element();\r\n var $scrollable = this._getScrollable($targetDraggable);\r\n if ($scrollable) {\r\n var {\r\n left: left,\r\n right: right,\r\n top: top,\r\n bottom: bottom\r\n } = getScrollableBoundary($scrollable);\r\n var toIndex = this.option(\"toIndex\");\r\n var itemPoints = this.option(\"itemPoints\");\r\n var itemPoint = null === itemPoints || void 0 === itemPoints ? void 0 : itemPoints.filter(item => item.index === toIndex)[0];\r\n if (itemPoint && void 0 !== itemPoint.top) {\r\n var isVertical = this._isVerticalOrientation();\r\n if (isVertical) {\r\n return top <= Math.ceil(itemPoint.top) && Math.floor(itemPoint.top) <= bottom\r\n }\r\n return left <= Math.ceil(itemPoint.left) && Math.floor(itemPoint.left) <= right\r\n }\r\n }\r\n return true\r\n },\r\n dragEnd(sourceEvent) {\r\n this._unsubscribeFromSourceScroll();\r\n var $sourceElement = this._getSourceElement();\r\n var sourceDraggable = this._getSourceDraggable();\r\n var isSourceDraggable = sourceDraggable.NAME !== this.NAME;\r\n var toIndex = this.option(\"toIndex\");\r\n var {\r\n event: event\r\n } = sourceEvent;\r\n var allowDrop = this._allowDrop(event);\r\n if (null !== toIndex && toIndex >= 0 && allowDrop) {\r\n var cancelAdd;\r\n var cancelRemove;\r\n if (sourceDraggable !== this) {\r\n cancelAdd = this._fireAddEvent(event);\r\n if (!cancelAdd) {\r\n cancelRemove = this._fireRemoveEvent(event)\r\n }\r\n }\r\n if (isSourceDraggable) {\r\n resetPosition($sourceElement)\r\n }\r\n if (this.option(\"moveItemOnDrop\")) {\r\n !cancelAdd && this._moveItem($sourceElement, toIndex, cancelRemove)\r\n }\r\n if (sourceDraggable === this) {\r\n return this._fireReorderEvent(event)\r\n }\r\n }\r\n return Deferred().resolve()\r\n },\r\n dragMove(e) {\r\n var itemPoints = this.option(\"itemPoints\");\r\n if (!itemPoints) {\r\n return\r\n }\r\n var isVertical = this._isVerticalOrientation();\r\n var axisName = isVertical ? \"top\" : \"left\";\r\n var cursorPosition = isVertical ? e.pageY : e.pageX;\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var itemPoint;\r\n for (var i = itemPoints.length - 1; i >= 0; i--) {\r\n var centerPosition = itemPoints[i + 1] && (itemPoints[i][axisName] + itemPoints[i + 1][axisName]) / 2;\r\n if ((!isVertical && rtlEnabled ? cursorPosition > centerPosition : centerPosition > cursorPosition) || void 0 === centerPosition) {\r\n itemPoint = itemPoints[i]\r\n } else {\r\n break\r\n }\r\n }\r\n if (itemPoint) {\r\n this._updatePlaceholderPosition(e, itemPoint);\r\n if (this._verticalScrollHelper.isScrolling() && this._isIndicateMode()) {\r\n this._movePlaceholder()\r\n }\r\n }\r\n },\r\n _isIndicateMode() {\r\n return \"indicate\" === this.option(\"dropFeedbackMode\") || this.option(\"allowDropInsideItem\")\r\n },\r\n _createPlaceholder() {\r\n var $placeholderContainer;\r\n if (this._isIndicateMode()) {\r\n $placeholderContainer = $(\"<div>\").addClass(this._addWidgetPrefix(PLACEHOLDER_CLASS)).insertBefore(this._getSourceDraggable()._$dragElement)\r\n }\r\n this._$placeholderElement = $placeholderContainer;\r\n return $placeholderContainer\r\n },\r\n _getItems() {\r\n var itemsSelector = this._getItemsSelector();\r\n return this._$content().find(itemsSelector).not(\".\".concat(this._addWidgetPrefix(PLACEHOLDER_CLASS))).not(\".\".concat(this._addWidgetPrefix(CLONE_CLASS))).toArray()\r\n },\r\n _allowReordering() {\r\n var sourceDraggable = this._getSourceDraggable();\r\n var targetDraggable = this._getTargetDraggable();\r\n return sourceDraggable !== targetDraggable || this.option(\"allowReordering\")\r\n },\r\n _isValidPoint(visibleIndex, draggableVisibleIndex, dropInsideItem) {\r\n var allowDropInsideItem = this.option(\"allowDropInsideItem\");\r\n var allowReordering = dropInsideItem || this._allowReordering();\r\n if (!allowReordering && (0 !== visibleIndex || !allowDropInsideItem)) {\r\n return false\r\n }\r\n if (!this._isIndicateMode()) {\r\n return true\r\n }\r\n return -1 === draggableVisibleIndex || visibleIndex !== draggableVisibleIndex && (dropInsideItem || visibleIndex !== draggableVisibleIndex + 1)\r\n },\r\n _getItemPoints() {\r\n var result = [];\r\n var $item;\r\n var offset;\r\n var itemWidth;\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var isVertical = this._isVerticalOrientation();\r\n var itemElements = this._getItems();\r\n var visibleItemElements = itemElements.filter(isElementVisible);\r\n var visibleItemCount = visibleItemElements.length;\r\n var $draggableItem = this._getDraggableElement();\r\n var draggableVisibleIndex = visibleItemElements.indexOf($draggableItem.get(0));\r\n if (visibleItemCount) {\r\n for (var i = 0; i <= visibleItemCount; i++) {\r\n var needCorrectLeftPosition = !isVertical && rtlEnabled ^ i === visibleItemCount;\r\n var needCorrectTopPosition = isVertical && i === visibleItemCount;\r\n if (i < visibleItemCount) {\r\n $item = $(visibleItemElements[i]);\r\n offset = $item.offset();\r\n itemWidth = getOuterWidth($item)\r\n }\r\n result.push({\r\n dropInsideItem: false,\r\n left: offset.left + (needCorrectLeftPosition ? itemWidth : 0),\r\n top: offset.top + (needCorrectTopPosition ? result[i - 1].height : 0),\r\n index: i === visibleItemCount ? itemElements.length : itemElements.indexOf($item.get(0)),\r\n $item: $item,\r\n width: getOuterWidth($item),\r\n height: getOuterHeight($item),\r\n isValid: this._isValidPoint(i, draggableVisibleIndex)\r\n })\r\n }\r\n if (this.option(\"allowDropInsideItem\")) {\r\n var points = result;\r\n result = [];\r\n for (var _i = 0; _i < points.length; _i++) {\r\n result.push(points[_i]);\r\n if (points[_i + 1]) {\r\n result.push(extend({}, points[_i], {\r\n dropInsideItem: true,\r\n top: Math.floor((points[_i].top + points[_i + 1].top) / 2),\r\n left: Math.floor((points[_i].left + points[_i + 1].left) / 2),\r\n isValid: this._isValidPoint(_i, draggableVisibleIndex, true)\r\n }))\r\n }\r\n }\r\n }\r\n } else {\r\n result.push({\r\n dropInsideItem: false,\r\n index: 0,\r\n isValid: true\r\n })\r\n }\r\n return result\r\n },\r\n _updateItemPoints(forceUpdate) {\r\n if (forceUpdate || this.option(\"autoUpdate\") || !this.option(\"itemPoints\")) {\r\n this.option(\"itemPoints\", this._getItemPoints())\r\n }\r\n },\r\n _correctItemPoints(scrollBy) {\r\n var itemPoints = this.option(\"itemPoints\");\r\n if (scrollBy && itemPoints && !this.option(\"autoUpdate\")) {\r\n var isVertical = this._isVerticalOrientation();\r\n var positionPropName = isVertical ? \"top\" : \"left\";\r\n itemPoints.forEach(itemPoint => {\r\n itemPoint[positionPropName] -= scrollBy\r\n })\r\n }\r\n },\r\n _getElementIndex($itemElement) {\r\n return this._getItems().indexOf($itemElement.get(0))\r\n },\r\n _getDragTemplateArgs($element) {\r\n var args = this.callBase.apply(this, arguments);\r\n args.model.fromIndex = this._getElementIndex($element);\r\n return args\r\n },\r\n _togglePlaceholder(value) {\r\n this._$placeholderElement && this._$placeholderElement.toggle(value)\r\n },\r\n _isVerticalOrientation() {\r\n return \"vertical\" === this.option(\"itemOrientation\")\r\n },\r\n _normalizeToIndex(toIndex, skipOffsetting) {\r\n var isAnotherDraggable = this._getSourceDraggable() !== this._getTargetDraggable();\r\n var fromIndex = this._getActualFromIndex();\r\n if (null === toIndex) {\r\n return fromIndex\r\n }\r\n return Math.max(isAnotherDraggable || fromIndex >= toIndex || skipOffsetting ? toIndex : toIndex - 1, 0)\r\n },\r\n _updatePlaceholderPosition(e, itemPoint) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n var toIndex = this._normalizeToIndex(itemPoint.index, itemPoint.dropInsideItem);\r\n var eventArgs = extend(this._getEventArgs(e), {\r\n toIndex: toIndex,\r\n dropInsideItem: itemPoint.dropInsideItem\r\n });\r\n itemPoint.isValid && this._getAction(\"onDragChange\")(eventArgs);\r\n if (eventArgs.cancel || !itemPoint.isValid) {\r\n if (!itemPoint.isValid) {\r\n this.option({\r\n dropInsideItem: false,\r\n toIndex: null\r\n })\r\n }\r\n return\r\n }\r\n this.option({\r\n dropInsideItem: itemPoint.dropInsideItem,\r\n toIndex: itemPoint.index\r\n });\r\n this._getAction(\"onPlaceholderPrepared\")(extend(this._getEventArgs(e), {\r\n placeholderElement: getPublicElement(this._$placeholderElement),\r\n dragElement: getPublicElement(sourceDraggable._$dragElement)\r\n }));\r\n this._updateItemPoints()\r\n },\r\n _makeWidthCorrection($item, width) {\r\n this._$scrollable = this._getScrollable($item);\r\n if (this._$scrollable) {\r\n var scrollableWidth = getWidth(this._$scrollable);\r\n var overflowLeft = this._$scrollable.offset().left - $item.offset().left;\r\n var overflowRight = getOuterWidth($item) - overflowLeft - scrollableWidth;\r\n if (overflowLeft > 0) {\r\n width -= overflowLeft\r\n }\r\n if (overflowRight > 0) {\r\n width -= overflowRight\r\n }\r\n }\r\n return width\r\n },\r\n _updatePlaceholderSizes($placeholderElement, itemElement) {\r\n var dropInsideItem = this.option(\"dropInsideItem\");\r\n var $item = $(itemElement);\r\n var isVertical = this._isVerticalOrientation();\r\n var width = \"\";\r\n var height = \"\";\r\n $placeholderElement.toggleClass(this._addWidgetPrefix(\"placeholder-inside\"), dropInsideItem);\r\n if (isVertical || dropInsideItem) {\r\n width = getOuterWidth($item)\r\n }\r\n if (!isVertical || dropInsideItem) {\r\n height = getOuterHeight($item)\r\n }\r\n width = this._makeWidthCorrection($item, width);\r\n $placeholderElement.css({\r\n width: width,\r\n height: height\r\n })\r\n },\r\n _moveItem($itemElement, index, cancelRemove) {\r\n var $prevTargetItemElement;\r\n var $itemElements = this._getItems();\r\n var $targetItemElement = $itemElements[index];\r\n var sourceDraggable = this._getSourceDraggable();\r\n if (cancelRemove) {\r\n $itemElement = $itemElement.clone();\r\n sourceDraggable._toggleDragSourceClass(false, $itemElement)\r\n }\r\n if (!$targetItemElement) {\r\n $prevTargetItemElement = $itemElements[index - 1]\r\n }\r\n this._moveItemCore($itemElement, $targetItemElement, $prevTargetItemElement)\r\n },\r\n _moveItemCore($targetItem, item, prevItem) {\r\n if (!item && !prevItem) {\r\n $targetItem.appendTo(this.$element())\r\n } else if (prevItem) {\r\n $targetItem.insertAfter($(prevItem))\r\n } else {\r\n $targetItem.insertBefore($(item))\r\n }\r\n },\r\n _getDragStartArgs(e, $itemElement) {\r\n return extend(this.callBase.apply(this, arguments), {\r\n fromIndex: this._getElementIndex($itemElement)\r\n })\r\n },\r\n _getEventArgs(e) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n var targetDraggable = this._getTargetDraggable();\r\n var dropInsideItem = targetDraggable.option(\"dropInsideItem\");\r\n return extend(this.callBase.apply(this, arguments), {\r\n fromIndex: sourceDraggable.option(\"fromIndex\"),\r\n toIndex: this._normalizeToIndex(targetDraggable.option(\"toIndex\"), dropInsideItem),\r\n dropInsideItem: dropInsideItem\r\n })\r\n },\r\n _optionChanged(args) {\r\n var {\r\n name: name\r\n } = args;\r\n switch (name) {\r\n case \"onDragChange\":\r\n case \"onPlaceholderPrepared\":\r\n case \"onAdd\":\r\n case \"onRemove\":\r\n case \"onReorder\":\r\n this[\"_\".concat(name, \"Action\")] = this._createActionByOption(name);\r\n break;\r\n case \"itemOrientation\":\r\n case \"allowDropInsideItem\":\r\n case \"moveItemOnDrop\":\r\n case \"dropFeedbackMode\":\r\n case \"itemPoints\":\r\n case \"animation\":\r\n case \"allowReordering\":\r\n case \"fromIndexOffset\":\r\n case \"offset\":\r\n case \"draggableElementSize\":\r\n case \"autoUpdate\":\r\n break;\r\n case \"fromIndex\":\r\n [false, true].forEach(isDragSource => {\r\n var fromIndex = isDragSource ? args.value : args.previousValue;\r\n if (null !== fromIndex) {\r\n var $fromElement = $(this._getItems()[fromIndex]);\r\n this._toggleDragSourceClass(isDragSource, $fromElement)\r\n }\r\n });\r\n break;\r\n case \"dropInsideItem\":\r\n this._optionChangedDropInsideItem(args);\r\n break;\r\n case \"toIndex\":\r\n this._optionChangedToIndex(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _optionChangedDropInsideItem() {\r\n if (this._isIndicateMode() && this._$placeholderElement) {\r\n this._movePlaceholder()\r\n }\r\n },\r\n _isPositionVisible(position) {\r\n var $element = this.$element();\r\n var scrollContainer;\r\n if (\"hidden\" !== $element.css(\"overflow\")) {\r\n scrollContainer = $element.get(0)\r\n } else {\r\n $element.parents().each((function() {\r\n if (\"visible\" !== $(this).css(\"overflow\")) {\r\n scrollContainer = this;\r\n return false\r\n }\r\n return\r\n }))\r\n }\r\n if (scrollContainer) {\r\n var clientRect = getBoundingRect(scrollContainer);\r\n var isVerticalOrientation = this._isVerticalOrientation();\r\n var start = isVerticalOrientation ? \"top\" : \"left\";\r\n var end = isVerticalOrientation ? \"bottom\" : \"right\";\r\n var pageOffset = isVerticalOrientation ? window.pageYOffset : window.pageXOffset;\r\n if (position[start] < clientRect[start] + pageOffset || position[start] > clientRect[end] + pageOffset) {\r\n return false\r\n }\r\n }\r\n return true\r\n },\r\n _optionChangedToIndex(args) {\r\n var toIndex = args.value;\r\n if (this._isIndicateMode()) {\r\n var showPlaceholder = null !== toIndex && toIndex >= 0;\r\n this._togglePlaceholder(showPlaceholder);\r\n if (showPlaceholder) {\r\n this._movePlaceholder()\r\n }\r\n } else {\r\n this._moveItems(args.previousValue, args.value, args.fullUpdate)\r\n }\r\n },\r\n update() {\r\n if (null === this.option(\"fromIndex\") && null === this.option(\"toIndex\")) {\r\n return\r\n }\r\n this._updateItemPoints(true);\r\n this._updateDragSourceClass();\r\n var toIndex = this.option(\"toIndex\");\r\n this._optionChangedToIndex({\r\n value: toIndex,\r\n fullUpdate: true\r\n })\r\n },\r\n _updateDragSourceClass() {\r\n var fromIndex = this._getActualFromIndex();\r\n var $fromElement = $(this._getItems()[fromIndex]);\r\n if ($fromElement.length) {\r\n this._$sourceElement = $fromElement;\r\n this._toggleDragSourceClass(true, $fromElement)\r\n }\r\n },\r\n _makeLeftCorrection(left) {\r\n var $scrollable = this._$scrollable;\r\n if ($scrollable && this._isVerticalOrientation()) {\r\n var overflowLeft = $scrollable.offset().left - left;\r\n if (overflowLeft > 0) {\r\n left += overflowLeft\r\n }\r\n }\r\n return left\r\n },\r\n _movePlaceholder() {\r\n var $placeholderElement = this._$placeholderElement || this._createPlaceholder();\r\n if (!$placeholderElement) {\r\n return\r\n }\r\n var items = this._getItems();\r\n var toIndex = this.option(\"toIndex\");\r\n var isVerticalOrientation = this._isVerticalOrientation();\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var dropInsideItem = this.option(\"dropInsideItem\");\r\n var position = null;\r\n var itemElement = items[toIndex];\r\n if (itemElement) {\r\n var $itemElement = $(itemElement);\r\n position = $itemElement.offset();\r\n if (!isVerticalOrientation && rtlEnabled && !dropInsideItem) {\r\n position.left += getOuterWidth($itemElement, true)\r\n }\r\n } else {\r\n var prevVisibleItemElement = itemElement = this._getPrevVisibleItem(items, toIndex);\r\n if (prevVisibleItemElement) {\r\n position = $(prevVisibleItemElement).offset();\r\n if (isVerticalOrientation) {\r\n position.top += getOuterHeight(prevVisibleItemElement, true)\r\n } else if (!rtlEnabled) {\r\n position.left += getOuterWidth(prevVisibleItemElement, true)\r\n }\r\n }\r\n }\r\n this._updatePlaceholderSizes($placeholderElement, itemElement);\r\n if (position && !this._isPositionVisible(position)) {\r\n position = null\r\n }\r\n if (position) {\r\n var isLastVerticalPosition = isVerticalOrientation && toIndex === items.length;\r\n var outerPlaceholderHeight = getOuterHeight($placeholderElement);\r\n position.left = this._makeLeftCorrection(position.left);\r\n position.top = isLastVerticalPosition && position.top >= outerPlaceholderHeight ? position.top - outerPlaceholderHeight : position.top;\r\n this._move(position, $placeholderElement)\r\n }\r\n $placeholderElement.toggle(!!position)\r\n },\r\n _getPositions(items, elementSize, fromIndex, toIndex) {\r\n var positions = [];\r\n for (var i = 0; i < items.length; i++) {\r\n var position = 0;\r\n if (null === toIndex || null === fromIndex) {\r\n positions.push(position);\r\n continue\r\n }\r\n if (-1 === fromIndex) {\r\n if (i >= toIndex) {\r\n position = elementSize\r\n }\r\n } else if (-1 === toIndex) {\r\n if (i > fromIndex) {\r\n position = -elementSize\r\n }\r\n } else if (fromIndex < toIndex) {\r\n if (i > fromIndex && i < toIndex) {\r\n position = -elementSize\r\n }\r\n } else if (fromIndex > toIndex) {\r\n if (i >= toIndex && i < fromIndex) {\r\n position = elementSize\r\n }\r\n }\r\n positions.push(position)\r\n }\r\n return positions\r\n },\r\n _getDraggableElementSize(isVerticalOrientation) {\r\n var $draggableItem = this._getDraggableElement();\r\n var size = this.option(\"draggableElementSize\");\r\n if (!size) {\r\n size = isVerticalOrientation ? (getOuterHeight($draggableItem) + getOuterHeight($draggableItem, true)) / 2 : (getOuterWidth($draggableItem) + getOuterWidth($draggableItem, true)) / 2;\r\n if (!this.option(\"autoUpdate\")) {\r\n this.option(\"draggableElementSize\", size)\r\n }\r\n }\r\n return size\r\n },\r\n _getActualFromIndex() {\r\n var {\r\n fromIndex: fromIndex,\r\n fromIndexOffset: fromIndexOffset,\r\n offset: offset\r\n } = this.option();\r\n return null == fromIndex ? null : fromIndex + fromIndexOffset - offset\r\n },\r\n _moveItems(prevToIndex, toIndex, fullUpdate) {\r\n var fromIndex = this._getActualFromIndex();\r\n var isVerticalOrientation = this._isVerticalOrientation();\r\n var positionPropName = isVerticalOrientation ? \"top\" : \"left\";\r\n var elementSize = this._getDraggableElementSize(isVerticalOrientation);\r\n var items = this._getItems();\r\n var prevPositions = this._getPositions(items, elementSize, fromIndex, prevToIndex);\r\n var positions = this._getPositions(items, elementSize, fromIndex, toIndex);\r\n var animationConfig = this.option(\"animation\");\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n for (var i = 0; i < items.length; i++) {\r\n var itemElement = items[i];\r\n var prevPosition = prevPositions[i];\r\n var position = positions[i];\r\n if (null === toIndex || null === fromIndex) {\r\n stopAnimation(itemElement)\r\n } else if (prevPosition !== position || fullUpdate && position) {\r\n animate(itemElement, extend({}, animationConfig, {\r\n to: {\r\n [positionPropName]: !isVerticalOrientation && rtlEnabled ? -position : position\r\n }\r\n }))\r\n }\r\n }\r\n },\r\n _toggleDragSourceClass(value, $element) {\r\n var $sourceElement = $element || this._$sourceElement;\r\n this.callBase.apply(this, arguments);\r\n if (!this._isIndicateMode()) {\r\n $sourceElement && $sourceElement.toggleClass(this._addWidgetPrefix(\"source-hidden\"), value)\r\n }\r\n },\r\n _dispose() {\r\n this.reset();\r\n this.callBase()\r\n },\r\n _fireAddEvent(sourceEvent) {\r\n var args = this._getEventArgs(sourceEvent);\r\n this._getAction(\"onAdd\")(args);\r\n return args.cancel\r\n },\r\n _fireRemoveEvent(sourceEvent) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n var args = this._getEventArgs(sourceEvent);\r\n sourceDraggable._getAction(\"onRemove\")(args);\r\n return args.cancel\r\n },\r\n _fireReorderEvent(sourceEvent) {\r\n var args = this._getEventArgs(sourceEvent);\r\n this._getAction(\"onReorder\")(args);\r\n return args.promise || Deferred().resolve()\r\n }\r\n});\r\nregisterComponent(SORTABLE, Sortable);\r\nexport default Sortable;\r\n","/**\r\n * DevExtreme (esm/ui/sortable.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Sortable from \"../__internal/m_sortable\";\r\nexport default Sortable;\r\n","/**\r\n * DevExtreme (esm/ui/speed_dial_action/speed_dial_item.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport {\r\n getImageContainer\r\n} from \"../../core/utils/icon\";\r\nimport Overlay from \"../overlay/ui.overlay\";\r\nimport {\r\n render\r\n} from \"../widget/utils.ink_ripple\";\r\nimport {\r\n isMaterial\r\n} from \"../themes\";\r\nimport {\r\n isPlainObject\r\n} from \"../../core/utils/type\";\r\nvar FAB_CLASS = \"dx-fa-button\";\r\nvar FAB_ICON_CLASS = \"dx-fa-button-icon\";\r\nvar FAB_LABEL_CLASS = \"dx-fa-button-label\";\r\nvar FAB_LABEL_WRAPPER_CLASS = \"dx-fa-button-label-wrapper\";\r\nvar FAB_CONTENT_REVERSE_CLASS = \"dx-fa-button-content-reverse\";\r\nvar OVERLAY_CONTENT_SELECTOR = \".dx-overlay-content\";\r\nclass SpeedDialItem extends Overlay {\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n shading: false,\r\n useInkRipple: false,\r\n callOverlayRenderShading: false,\r\n width: \"auto\",\r\n zIndex: 1500,\r\n _observeContentResize: false\r\n })\r\n }\r\n _defaultOptionsRules() {\r\n return super._defaultOptionsRules().concat([{\r\n device: () => isMaterial(),\r\n options: {\r\n useInkRipple: true\r\n }\r\n }])\r\n }\r\n _moveToContainer() {\r\n this._$wrapper.appendTo(this.$element());\r\n this._$content.appendTo(this._$wrapper)\r\n }\r\n _render() {\r\n this.$element().addClass(FAB_CLASS);\r\n this._renderIcon();\r\n this._renderLabel();\r\n super._render();\r\n this.option(\"useInkRipple\") && this._renderInkRipple();\r\n this._renderClick()\r\n }\r\n _renderLabel() {\r\n !!this._$label && this._$label.remove();\r\n var labelText = this.option(\"label\");\r\n if (!labelText) {\r\n this._$label = null;\r\n return\r\n }\r\n var $element = $(\"<div>\").addClass(FAB_LABEL_CLASS);\r\n var $wrapper = $(\"<div>\").addClass(FAB_LABEL_WRAPPER_CLASS);\r\n this._$label = $wrapper.prependTo(this.$content()).append($element.text(labelText));\r\n this.$content().toggleClass(FAB_CONTENT_REVERSE_CLASS, this._isPositionLeft(this.option(\"parentPosition\")))\r\n }\r\n _isPositionLeft(position) {\r\n var currentLocation = \"\";\r\n if (position) {\r\n if (isPlainObject(position) && position.at) {\r\n if (position.at.x) {\r\n currentLocation = position.at.x\r\n } else {\r\n currentLocation = position.at\r\n }\r\n } else if (\"string\" === typeof position) {\r\n currentLocation = position\r\n }\r\n }\r\n return \"left\" === currentLocation.split(\" \")[0]\r\n }\r\n _renderButtonIcon($element, icon, iconClass) {\r\n !!$element && $element.remove();\r\n $element = $(\"<div>\").addClass(iconClass);\r\n var $iconElement = getImageContainer(icon);\r\n $element.append($iconElement).appendTo(this.$content());\r\n return $element\r\n }\r\n _renderIcon() {\r\n this._$icon = this._renderButtonIcon(this._$icon, this._options.silent(\"icon\"), FAB_ICON_CLASS)\r\n }\r\n _renderWrapper() {\r\n if (this._options.silent(\"callOverlayRenderShading\")) {\r\n super._renderWrapper()\r\n }\r\n }\r\n _getVisibleActions(actions) {\r\n var currentActions = actions || this.option(\"actions\") || [];\r\n return currentActions.filter(action => action.option(\"visible\"))\r\n }\r\n _getActionComponent() {\r\n if (1 === this._getVisibleActions().length) {\r\n return this._getVisibleActions()[0]\r\n } else {\r\n return this.option(\"actionComponent\") || this.option(\"actions\")[0]\r\n }\r\n }\r\n _initContentReadyAction() {\r\n this._contentReadyAction = this._getActionComponent()._createActionByOption(\"onContentReady\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n }, true)\r\n }\r\n _fireContentReadyAction() {\r\n this._contentReadyAction({\r\n actionElement: this.$element()\r\n })\r\n }\r\n _updateZIndexStackPosition() {\r\n var zIndex = this.option(\"zIndex\");\r\n this._$wrapper.css(\"zIndex\", zIndex);\r\n this._$content.css(\"zIndex\", zIndex)\r\n }\r\n _setClickAction() {\r\n var eventName = addNamespace(clickEventName, this.NAME);\r\n var overlayContent = this.$element().find(OVERLAY_CONTENT_SELECTOR);\r\n eventsEngine.off(overlayContent, eventName);\r\n eventsEngine.on(overlayContent, eventName, e => {\r\n var clickActionArgs = {\r\n event: e,\r\n actionElement: this.element(),\r\n element: this._getActionComponent().$element()\r\n };\r\n this._clickAction(clickActionArgs)\r\n })\r\n }\r\n _defaultActionArgs() {\r\n return {\r\n component: this._getActionComponent()\r\n }\r\n }\r\n _renderClick() {\r\n this._clickAction = this._getActionComponent()._createActionByOption(\"onClick\");\r\n this._setClickAction()\r\n }\r\n _renderInkRipple() {\r\n this._inkRipple = render()\r\n }\r\n _getInkRippleContainer() {\r\n return this._$icon\r\n }\r\n _toggleActiveState($element, value, e) {\r\n super._toggleActiveState.apply(this, arguments);\r\n if (!this._inkRipple) {\r\n return\r\n }\r\n var config = {\r\n element: this._getInkRippleContainer(),\r\n event: e\r\n };\r\n if (value) {\r\n this._inkRipple.showWave(config)\r\n } else {\r\n this._inkRipple.hideWave(config)\r\n }\r\n }\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"icon\":\r\n this._renderIcon();\r\n break;\r\n case \"onClick\":\r\n this._renderClick();\r\n break;\r\n case \"label\":\r\n this._renderLabel();\r\n break;\r\n case \"visible\":\r\n this._currentVisible = args.previousValue;\r\n args.value ? this._show() : this._hide();\r\n break;\r\n case \"useInkRipple\":\r\n this._render();\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n}\r\nexport default SpeedDialItem;\r\n","/**\r\n * DevExtreme (esm/ui/speed_dial_action/speed_dial_main_item.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport config from \"../../core/config\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport swatchContainer from \"../widget/swatch_container\";\r\nimport SpeedDialItem from \"./speed_dial_item\";\r\nimport {\r\n isMaterial\r\n} from \"../themes\";\r\nvar {\r\n getSwatchContainer: getSwatchContainer\r\n} = swatchContainer;\r\nvar FAB_MAIN_CLASS = \"dx-fa-button-main\";\r\nvar FAB_MAIN_CLASS_WITH_LABEL = \"dx-fa-button-with-label\";\r\nvar FAB_CLOSE_ICON_CLASS = \"dx-fa-button-icon-close\";\r\nvar INVISIBLE_STATE_CLASS = \"dx-state-invisible\";\r\nvar speedDialMainItem = null;\r\nvar modifyActionOptions = action => {\r\n var {\r\n animation: animation,\r\n actionComponent: actionComponent,\r\n actionVisible: actionVisible,\r\n actions: actions,\r\n activeStateEnabled: activeStateEnabled,\r\n direction: direction,\r\n elementAttr: elementAttr,\r\n hint: hint,\r\n hoverStateEnabled: hoverStateEnabled,\r\n icon: icon,\r\n id: id,\r\n index: index,\r\n label: label,\r\n onClick: onClick,\r\n onContentReady: onContentReady,\r\n parentPosition: parentPosition,\r\n position: position,\r\n visible: visible,\r\n zIndex: zIndex\r\n } = action.option();\r\n return extend({}, {\r\n animation: animation,\r\n actionComponent: actionComponent,\r\n actionVisible: actionVisible,\r\n actions: actions,\r\n activeStateEnabled: activeStateEnabled,\r\n direction: direction,\r\n elementAttr: elementAttr,\r\n hint: hint,\r\n hoverStateEnabled: hoverStateEnabled,\r\n icon: icon,\r\n id: id,\r\n index: index,\r\n label: label,\r\n onClick: onClick,\r\n onContentReady: onContentReady,\r\n parentPosition: parentPosition,\r\n position: position,\r\n visible: visible,\r\n zIndex: zIndex,\r\n _ignoreElementAttrDeprecation: true\r\n }, {\r\n onInitialized: null,\r\n onDisposing: null\r\n })\r\n};\r\nclass SpeedDialMainItem extends SpeedDialItem {\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), extend({\r\n icon: \"add\",\r\n closeIcon: \"close\",\r\n position: {\r\n at: \"right bottom\",\r\n my: \"right bottom\",\r\n offset: {\r\n x: -16,\r\n y: -16\r\n }\r\n },\r\n maxSpeedDialActionCount: 5,\r\n hint: \"\",\r\n label: \"\",\r\n direction: \"auto\",\r\n actions: [],\r\n activeStateEnabled: true,\r\n hoverStateEnabled: true,\r\n indent: 55,\r\n childIndent: 40,\r\n childOffset: 9,\r\n callOverlayRenderShading: true,\r\n hideOnOutsideClick: true\r\n }, config().floatingActionButtonConfig, {\r\n shading: false\r\n }))\r\n }\r\n _defaultOptionsRules() {\r\n return super._defaultOptionsRules().concat([{\r\n device: () => isMaterial(),\r\n options: {\r\n indent: 72,\r\n childIndent: 56,\r\n childOffset: 8\r\n }\r\n }])\r\n }\r\n _render() {\r\n this.$element().addClass(FAB_MAIN_CLASS);\r\n super._render();\r\n this._moveToContainer();\r\n this._renderCloseIcon();\r\n this._renderClick()\r\n }\r\n _renderLabel() {\r\n super._renderLabel();\r\n this.$element().toggleClass(FAB_MAIN_CLASS_WITH_LABEL, !!this._$label)\r\n }\r\n _renderCloseIcon() {\r\n this._$closeIcon = this._renderButtonIcon(this._$closeIcon, this._options.silent(\"closeIcon\"), FAB_CLOSE_ICON_CLASS);\r\n this._$closeIcon.addClass(INVISIBLE_STATE_CLASS)\r\n }\r\n _renderClick() {\r\n this._clickAction = 1 === this._getVisibleActions().length ? this._getActionComponent()._createActionByOption(\"onClick\") : this._createAction(this._clickHandler.bind(this));\r\n this._setClickAction()\r\n }\r\n _getVisibleActions(actions) {\r\n var currentActions = actions || this.option(\"actions\");\r\n return currentActions.filter(action => action.option(\"visible\"))\r\n }\r\n _getCurrentOptions(actions) {\r\n var visibleActions = speedDialMainItem._getVisibleActions(actions);\r\n var defaultOptions = this._getDefaultOptions();\r\n delete defaultOptions.elementAttr;\r\n delete defaultOptions.closeOnOutsideClick;\r\n return 1 === visibleActions.length ? extend(modifyActionOptions(visibleActions[0]), {\r\n position: this._getPosition()\r\n }) : extend(defaultOptions, {\r\n visible: 0 !== visibleActions.length\r\n })\r\n }\r\n _clickHandler() {\r\n var actions = this._actionItems.filter(action => action.option(\"actionVisible\")).sort((action, nextAction) => action.option(\"index\") - nextAction.option(\"index\"));\r\n if (1 === actions.length) {\r\n return\r\n }\r\n var lastActionIndex = actions.length - 1;\r\n for (var i = 0; i < actions.length; i++) {\r\n actions[i].option(\"animation\", this._getActionAnimation(actions[i], i, lastActionIndex));\r\n actions[i].option(\"position\", this._getActionPosition(actions, i));\r\n actions[i]._$wrapper.css(\"position\", this._$wrapper.css(\"position\"));\r\n actions[i].toggle()\r\n }\r\n if (config().floatingActionButtonConfig.shading) {\r\n this._isShadingShown = !this.option(\"shading\");\r\n this.option(\"shading\", this._isShadingShown)\r\n }\r\n this._$icon.toggleClass(INVISIBLE_STATE_CLASS);\r\n this._$closeIcon.toggleClass(INVISIBLE_STATE_CLASS)\r\n }\r\n _updateZIndexStackPosition() {\r\n super._updateZIndexStackPosition();\r\n var overlayStack = this._overlayStack();\r\n overlayStack.push(this)\r\n }\r\n _renderActions() {\r\n var actions = this.option(\"actions\");\r\n if (this._actionItems && this._actionItems.length) {\r\n this._actionItems.forEach(actionItem => {\r\n actionItem.dispose();\r\n actionItem.$element().remove()\r\n });\r\n this._actionItems = []\r\n }\r\n this._actionItems = [];\r\n if (1 === actions.length) {\r\n return\r\n }\r\n for (var i = 0; i < actions.length; i++) {\r\n var action = actions[i];\r\n var $actionElement = $(\"<div>\").appendTo(getSwatchContainer(action.$element()));\r\n eventsEngine.off($actionElement, \"click\");\r\n eventsEngine.on($actionElement, \"click\", () => {\r\n this._clickHandler()\r\n });\r\n action._options.silent(\"actionComponent\", action);\r\n action._options.silent(\"parentPosition\", this._getPosition());\r\n action._options.silent(\"actionVisible\", action._options.silent(\"visible\"));\r\n this._actionItems.push(this._createComponent($actionElement, SpeedDialItem, extend({}, modifyActionOptions(action), {\r\n visible: false\r\n })))\r\n }\r\n }\r\n _getActionAnimation(action, index, lastActionIndex) {\r\n action._options.silent(\"animation.show.delay\", 30 * index);\r\n action._options.silent(\"animation.hide.delay\", 30 * (lastActionIndex - index));\r\n return action._options.silent(\"animation\")\r\n }\r\n _getDirectionIndex(actions, direction) {\r\n if (\"auto\" === direction) {\r\n var contentHeight = getHeight(this.$content());\r\n var actionsHeight = this.initialOption(\"indent\") + this.initialOption(\"childIndent\") * actions.length - contentHeight;\r\n var offsetTop = this.$content().offset().top;\r\n if (actionsHeight < offsetTop) {\r\n return -1\r\n } else {\r\n var offsetBottom = getHeight(this._positionController._$wrapperCoveredElement) - contentHeight - offsetTop;\r\n return offsetTop >= offsetBottom ? -1 : 1\r\n }\r\n }\r\n return \"down\" !== direction ? -1 : 1\r\n }\r\n _getActionPosition(actions, index) {\r\n var action = actions[index];\r\n var actionOffsetXValue = this.initialOption(\"childOffset\");\r\n var actionOffsetX = action._options.silent(\"label\") && !this._$label ? this._isPositionLeft(this._getPosition()) ? actionOffsetXValue : -actionOffsetXValue : 0;\r\n var actionOffsetYValue = this.initialOption(\"indent\") + this.initialOption(\"childIndent\") * index;\r\n var actionOffsetY = this._getDirectionIndex(actions, this.option(\"direction\")) * actionOffsetYValue;\r\n var actionPositionAtMy = action._options.silent(\"label\") ? this._isPositionLeft(this._getPosition()) ? \"left\" : \"right\" : \"center\";\r\n return {\r\n of: this.$content(),\r\n at: actionPositionAtMy,\r\n my: actionPositionAtMy,\r\n offset: {\r\n x: actionOffsetX,\r\n y: actionOffsetY\r\n }\r\n }\r\n }\r\n _outsideClickHandler(e) {\r\n if (this._isShadingShown) {\r\n var isShadingClick = $(e.target)[0] === this._$wrapper[0];\r\n if (isShadingClick) {\r\n e.preventDefault();\r\n this._clickHandler()\r\n }\r\n }\r\n }\r\n _setPosition() {\r\n if (this.option(\"visible\")) {\r\n this._hide();\r\n this._show()\r\n }\r\n }\r\n _getPosition() {\r\n return this._getDefaultOptions().position\r\n }\r\n _getInkRippleContainer() {\r\n return this.$content()\r\n }\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"actions\":\r\n if (this._isVisible()) {\r\n this._renderIcon();\r\n this._renderLabel()\r\n }\r\n this._renderCloseIcon();\r\n this._renderClick();\r\n this._renderActions();\r\n break;\r\n case \"maxSpeedDialActionCount\":\r\n this._renderActions();\r\n break;\r\n case \"closeIcon\":\r\n this._renderCloseIcon();\r\n break;\r\n case \"position\":\r\n super._optionChanged(args);\r\n this._setPosition();\r\n break;\r\n case \"label\":\r\n if (this._isVisible()) {\r\n this._renderLabel()\r\n }\r\n this._setPosition();\r\n break;\r\n case \"icon\":\r\n if (this._isVisible()) {\r\n this._renderIcon()\r\n }\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n}\r\nexport function initAction(newAction) {\r\n newAction._options.silent(\"onInitializing\", null);\r\n var isActionExist = false;\r\n if (!speedDialMainItem) {\r\n var $fabMainElement = $(\"<div>\").appendTo(getSwatchContainer(newAction.$element()));\r\n speedDialMainItem = newAction._createComponent($fabMainElement, SpeedDialMainItem, extend({}, modifyActionOptions(newAction), {\r\n actions: [newAction]\r\n }))\r\n } else {\r\n var savedActions = speedDialMainItem.option(\"actions\");\r\n savedActions.forEach(action => {\r\n if (action._options.silent(\"id\") === newAction._options.silent(\"id\")) {\r\n isActionExist = true;\r\n return newAction\r\n }\r\n });\r\n delete speedDialMainItem._options.position;\r\n if (!isActionExist) {\r\n if (speedDialMainItem._getVisibleActions(savedActions).length >= speedDialMainItem.option(\"maxSpeedDialActionCount\")) {\r\n newAction.dispose();\r\n errors.log(\"W1014\");\r\n return\r\n }\r\n savedActions.push(newAction);\r\n speedDialMainItem.option(extend(speedDialMainItem._getCurrentOptions(savedActions), {\r\n actions: savedActions\r\n }))\r\n } else if (1 === savedActions.length) {\r\n speedDialMainItem.option(extend({}, modifyActionOptions(savedActions[0]), {\r\n actions: savedActions,\r\n position: speedDialMainItem._getPosition()\r\n }))\r\n } else {\r\n speedDialMainItem.option(extend(speedDialMainItem._getCurrentOptions(savedActions), {\r\n actions: savedActions\r\n }))\r\n }\r\n }\r\n}\r\nexport function disposeAction(actionId) {\r\n if (!speedDialMainItem) {\r\n return\r\n }\r\n var savedActions = speedDialMainItem.option(\"actions\");\r\n var savedActionsCount = savedActions.length;\r\n savedActions = savedActions.filter(action => action._options.silent(\"id\") !== actionId);\r\n if (savedActionsCount === savedActions.length) {\r\n return\r\n }\r\n if (!savedActions.length) {\r\n speedDialMainItem.dispose();\r\n speedDialMainItem.$element().remove();\r\n speedDialMainItem = null\r\n } else if (1 === savedActions.length) {\r\n speedDialMainItem.option(extend({}, modifyActionOptions(savedActions[0]), {\r\n actions: savedActions\r\n }))\r\n } else {\r\n speedDialMainItem.option({\r\n actions: savedActions\r\n })\r\n }\r\n}\r\nexport function repaint() {\r\n if (!speedDialMainItem) {\r\n return\r\n }\r\n var visibleActions = speedDialMainItem._getVisibleActions();\r\n var icon = 1 === visibleActions.length ? visibleActions[0].option(\"icon\") : speedDialMainItem._getDefaultOptions().icon;\r\n var label = 1 === visibleActions.length ? visibleActions[0].option(\"label\") : speedDialMainItem._getDefaultOptions().label;\r\n speedDialMainItem.option({\r\n actions: speedDialMainItem.option(\"actions\"),\r\n icon: icon,\r\n closeIcon: speedDialMainItem._getDefaultOptions().closeIcon,\r\n position: speedDialMainItem._getPosition(),\r\n label: label,\r\n maxSpeedDialActionCount: speedDialMainItem._getDefaultOptions().maxSpeedDialActionCount,\r\n direction: speedDialMainItem._getDefaultOptions().direction\r\n })\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/speed_dial_action/speed_dial_action.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport Guid from \"../../core/guid\";\r\nimport readyCallbacks from \"../../core/utils/ready_callbacks\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport {\r\n initAction,\r\n disposeAction\r\n} from \"./speed_dial_main_item\";\r\nimport swatchContainer from \"../widget/swatch_container\";\r\nvar {\r\n getSwatchContainer: getSwatchContainer\r\n} = swatchContainer;\r\nvar ready = readyCallbacks.add;\r\nclass SpeedDialAction extends Widget {\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n icon: \"\",\r\n onClick: null,\r\n label: \"\",\r\n visible: true,\r\n index: 0,\r\n onContentReady: null,\r\n activeStateEnabled: true,\r\n hoverStateEnabled: true,\r\n animation: {\r\n show: {\r\n type: \"pop\",\r\n duration: 200,\r\n easing: \"cubic-bezier(0.4, 0, 0.2, 1)\",\r\n from: {\r\n scale: 0,\r\n opacity: 0\r\n },\r\n to: {\r\n scale: 1,\r\n opacity: 1\r\n }\r\n },\r\n hide: {\r\n type: \"pop\",\r\n duration: 200,\r\n easing: \"cubic-bezier(0.4, 0, 0.2, 1)\",\r\n from: {\r\n scale: 1,\r\n opacity: 1\r\n },\r\n to: {\r\n scale: 0,\r\n opacity: 0\r\n }\r\n }\r\n },\r\n id: new Guid\r\n })\r\n }\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"onClick\":\r\n case \"icon\":\r\n case \"label\":\r\n case \"visible\":\r\n case \"index\":\r\n case \"onInitializing\":\r\n initAction(this);\r\n break;\r\n case \"animation\":\r\n case \"id\":\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _render() {\r\n this._toggleVisibility(false);\r\n if (!getSwatchContainer(this.$element())) {\r\n ready(() => initAction(this))\r\n } else {\r\n initAction(this)\r\n }\r\n }\r\n _dispose() {\r\n disposeAction(this._options.silent(\"id\"));\r\n super._dispose()\r\n }\r\n}\r\nregisterComponent(\"dxSpeedDialAction\", SpeedDialAction);\r\nexport default SpeedDialAction;\r\n","/**\r\n * DevExtreme (esm/ui/speed_dial_action.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport SpeedDialAction from \"./speed_dial_action/speed_dial_action\";\r\nexport default SpeedDialAction;\r\n","/**\r\n * DevExtreme (esm/ui/splitter.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport Widget from \"./widget/ui.widget\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport pointerEvents from \"../events/pointer\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n addNamespace\r\n} from \"../events/utils/index\";\r\nimport Guid from \"../core/guid\";\r\nvar window = getWindow();\r\nvar SPLITTER_CLASS = \"dx-splitter\";\r\nvar SPLITTER_WRAPPER_CLASS = \"\".concat(SPLITTER_CLASS, \"-wrapper\");\r\nvar SPLITTER_INACTIVE_CLASS = \"\".concat(SPLITTER_CLASS, \"-inactive\");\r\nvar SPLITTER_BORDER_CLASS = \"\".concat(SPLITTER_CLASS, \"-border\");\r\nvar SPLITTER_INITIAL_STATE_CLASS = \"\".concat(SPLITTER_CLASS, \"-initial\");\r\nvar STATE_DISABLED_CLASS = \"dx-state-disabled\";\r\nvar SPLITTER_MODULE_NAMESPACE = \"dxSplitterResizing\";\r\nexport default class SplitterControl extends Widget {\r\n _init() {\r\n super._init();\r\n var eventGuid = (new Guid).toString();\r\n this.SPLITTER_POINTER_DOWN_EVENT_NAME = addNamespace(pointerEvents.down, SPLITTER_MODULE_NAMESPACE + eventGuid);\r\n this.SPLITTER_POINTER_MOVE_EVENT_NAME = addNamespace(pointerEvents.move, SPLITTER_MODULE_NAMESPACE + eventGuid);\r\n this.SPLITTER_POINTER_UP_EVENT_NAME = addNamespace(pointerEvents.up, SPLITTER_MODULE_NAMESPACE + eventGuid)\r\n }\r\n _initMarkup() {\r\n super._initMarkup();\r\n this._initActions();\r\n this._$container = this.option(\"container\");\r\n this._$leftElement = this.option(\"leftElement\");\r\n this._$rightElement = this.option(\"rightElement\");\r\n this.$element().addClass(SPLITTER_WRAPPER_CLASS).addClass(SPLITTER_INITIAL_STATE_CLASS);\r\n this._$splitterBorder = $(\"<div>\").addClass(SPLITTER_BORDER_CLASS).appendTo(this.$element());\r\n this._$splitter = $(\"<div>\").addClass(SPLITTER_CLASS).addClass(SPLITTER_INACTIVE_CLASS).appendTo(this._$splitterBorder)\r\n }\r\n _initActions() {\r\n this._actions = {\r\n onApplyPanelSize: this._createActionByOption(\"onApplyPanelSize\"),\r\n onActiveStateChanged: this._createActionByOption(\"onActiveStateChanged\")\r\n }\r\n }\r\n _render() {\r\n super._render();\r\n this._detachEventHandlers();\r\n this._attachEventHandlers()\r\n }\r\n _clean() {\r\n this._detachEventHandlers();\r\n super._clean()\r\n }\r\n _attachEventHandlers() {\r\n var document = domAdapter.getDocument();\r\n eventsEngine.on(this._$splitterBorder, this.SPLITTER_POINTER_DOWN_EVENT_NAME, this._onMouseDownHandler.bind(this));\r\n eventsEngine.on(document, this.SPLITTER_POINTER_MOVE_EVENT_NAME, this._onMouseMoveHandler.bind(this));\r\n eventsEngine.on(document, this.SPLITTER_POINTER_UP_EVENT_NAME, this._onMouseUpHandler.bind(this))\r\n }\r\n _detachEventHandlers() {\r\n var document = domAdapter.getDocument();\r\n eventsEngine.off(this._$splitterBorder, this.SPLITTER_POINTER_DOWN_EVENT_NAME);\r\n eventsEngine.off(document, this.SPLITTER_POINTER_MOVE_EVENT_NAME);\r\n eventsEngine.off(document, this.SPLITTER_POINTER_UP_EVENT_NAME)\r\n }\r\n _dimensionChanged(dimension) {\r\n if (!dimension || \"height\" !== dimension) {\r\n this._containerWidth = this._$container.get(0).clientWidth;\r\n this._setSplitterPositionLeft({\r\n needUpdatePanels: true,\r\n usePercentagePanelsWidth: true\r\n })\r\n }\r\n }\r\n _onMouseDownHandler(e) {\r\n e.preventDefault();\r\n this._offsetX = e.pageX - this._$splitterBorder.offset().left <= this._getSplitterBorderWidth() ? e.pageX - this._$splitterBorder.offset().left : 0;\r\n this._containerWidth = this._$container.get(0).clientWidth;\r\n this.$element().removeClass(SPLITTER_INITIAL_STATE_CLASS);\r\n this._toggleActive(true);\r\n this._setSplitterPositionLeft({\r\n needUpdatePanels: true\r\n })\r\n }\r\n _onMouseMoveHandler(e) {\r\n if (!this._isSplitterActive) {\r\n return\r\n }\r\n this._setSplitterPositionLeft({\r\n splitterPositionLeft: this._getNewSplitterPositionLeft(e),\r\n needUpdatePanels: true\r\n })\r\n }\r\n _onMouseUpHandler() {\r\n if (!this._isSplitterActive) {\r\n return\r\n }\r\n this._leftPanelPercentageWidth = null;\r\n this._toggleActive(false);\r\n this._setSplitterPositionLeft({\r\n needUpdatePanels: true,\r\n usePercentagePanelsWidth: true\r\n })\r\n }\r\n _getNewSplitterPositionLeft(e) {\r\n var newSplitterPositionLeft = e.pageX - this._getContainerLeftOffset() - this._offsetX;\r\n newSplitterPositionLeft = Math.max(0 - this._getSplitterOffset(), newSplitterPositionLeft);\r\n newSplitterPositionLeft = Math.min(this._containerWidth - this._getSplitterOffset() - this._getSplitterWidth(), newSplitterPositionLeft);\r\n return newSplitterPositionLeft\r\n }\r\n _getContainerLeftOffset() {\r\n var offsetLeft = this._$container.offset().left;\r\n if (window) {\r\n var style = window.getComputedStyle(this._$container.get(0));\r\n var paddingLeft = parseFloat(style.paddingLeft) || 0;\r\n var borderLeft = parseFloat(style.borderLeftWidth) || 0;\r\n offsetLeft += paddingLeft + borderLeft\r\n }\r\n return offsetLeft\r\n }\r\n _getSplitterOffset() {\r\n return (this._getSplitterBorderWidth() - this._getSplitterWidth()) / 2\r\n }\r\n _getSplitterWidth() {\r\n return this._$splitter.get(0).clientWidth\r\n }\r\n _getSplitterBorderWidth() {\r\n return this._$splitterBorder.get(0).clientWidth\r\n }\r\n _getLeftPanelWidth() {\r\n return this._$leftElement.get(0).clientWidth\r\n }\r\n getSplitterBorderElement() {\r\n return this._$splitterBorder\r\n }\r\n _toggleActive(isActive) {\r\n this.$element().toggleClass(SPLITTER_INACTIVE_CLASS, !isActive);\r\n this._$splitter.toggleClass(SPLITTER_INACTIVE_CLASS, !isActive);\r\n this._isSplitterActive = isActive;\r\n this._actions.onActiveStateChanged({\r\n isActive: isActive\r\n })\r\n }\r\n toggleDisabled(isDisabled) {\r\n this.$element().toggleClass(STATE_DISABLED_CLASS, isDisabled);\r\n this._$splitter.toggleClass(STATE_DISABLED_CLASS, isDisabled)\r\n }\r\n isSplitterMoved() {\r\n return !this.$element().hasClass(SPLITTER_INITIAL_STATE_CLASS)\r\n }\r\n disableSplitterCalculation(value) {\r\n this._isSplitterCalculationDisabled = value\r\n }\r\n _setSplitterPositionLeft() {\r\n var {\r\n splitterPositionLeft: splitterPositionLeft = null,\r\n needUpdatePanels: needUpdatePanels = false,\r\n usePercentagePanelsWidth: usePercentagePanelsWidth = false\r\n } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};\r\n splitterPositionLeft = splitterPositionLeft || this._getLeftPanelWidth() - this._getSplitterOffset();\r\n var leftPanelWidth = splitterPositionLeft + this._getSplitterOffset();\r\n var rightPanelWidth = this._containerWidth - leftPanelWidth;\r\n if (!this._isSplitterCalculationDisabled) {\r\n this.$element().css(\"left\", splitterPositionLeft)\r\n }\r\n this._leftPanelPercentageWidth = this._leftPanelPercentageWidth || this._convertToPercentage(leftPanelWidth);\r\n var rightPanelPercentageWidth = this._convertToPercentage(this._containerWidth - this._convertToPixels(this._leftPanelPercentageWidth));\r\n if (!needUpdatePanels) {\r\n return\r\n }\r\n this._actions.onApplyPanelSize({\r\n leftPanelWidth: usePercentagePanelsWidth ? \"\".concat(this._leftPanelPercentageWidth, \"%\") : leftPanelWidth,\r\n rightPanelWidth: usePercentagePanelsWidth ? \"\".concat(rightPanelPercentageWidth, \"%\") : rightPanelWidth\r\n })\r\n }\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"initialLeftPanelWidth\":\r\n this._leftPanelPercentageWidth = this._convertToPercentage(args.value);\r\n this._dimensionChanged();\r\n break;\r\n case \"leftElement\":\r\n this.repaint();\r\n break;\r\n case \"onActiveStateChanged\":\r\n case \"onApplyPanelSize\":\r\n this._actions[args.name] = this._createActionByOption(args.name);\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _convertToPercentage(pixelWidth) {\r\n return pixelWidth / this._$container.get(0).clientWidth * 100\r\n }\r\n _convertToPixels(percentageWidth) {\r\n return percentageWidth / 100 * this._$container.get(0).clientWidth\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/switch.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport devices from \"../core/devices\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport Editor from \"./editor/editor\";\r\nimport {\r\n addNamespace\r\n} from \"../events/utils/index\";\r\nimport {\r\n lock\r\n} from \"../events/core/emitter.feedback\";\r\nimport {\r\n getBoundingRect\r\n} from \"../core/utils/position\";\r\nimport fx from \"../animation/fx\";\r\nimport messageLocalization from \"../localization/message\";\r\nimport {\r\n name as clickEventName\r\n} from \"../events/click\";\r\nimport Swipeable from \"../events/gesture/swipeable\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nvar SWITCH_CLASS = \"dx-switch\";\r\nvar SWITCH_WRAPPER_CLASS = SWITCH_CLASS + \"-wrapper\";\r\nvar SWITCH_CONTAINER_CLASS = SWITCH_CLASS + \"-container\";\r\nvar SWITCH_INNER_CLASS = SWITCH_CLASS + \"-inner\";\r\nvar SWITCH_HANDLE_CLASS = SWITCH_CLASS + \"-handle\";\r\nvar SWITCH_ON_VALUE_CLASS = SWITCH_CLASS + \"-on-value\";\r\nvar SWITCH_ON_CLASS = SWITCH_CLASS + \"-on\";\r\nvar SWITCH_OFF_CLASS = SWITCH_CLASS + \"-off\";\r\nvar SWITCH_ANIMATION_DURATION = 100;\r\nvar Switch = Editor.inherit({\r\n _supportedKeys: function() {\r\n var isRTL = this.option(\"rtlEnabled\");\r\n var click = function(e) {\r\n e.preventDefault();\r\n this._clickAction({\r\n event: e\r\n })\r\n };\r\n var move = function(value, e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this._saveValueChangeEvent(e);\r\n this._animateValue(value)\r\n };\r\n return extend(this.callBase(), {\r\n space: click,\r\n enter: click,\r\n leftArrow: move.bind(this, isRTL ? true : false),\r\n rightArrow: move.bind(this, isRTL ? false : true)\r\n })\r\n },\r\n _useTemplates: function() {\r\n return false\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n hoverStateEnabled: true,\r\n activeStateEnabled: true,\r\n switchedOnText: messageLocalization.format(\"dxSwitch-switchedOnText\"),\r\n switchedOffText: messageLocalization.format(\"dxSwitch-switchedOffText\"),\r\n value: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }])\r\n },\r\n _feedbackHideTimeout: 0,\r\n _animating: false,\r\n _initMarkup: function() {\r\n this._renderContainers();\r\n this.$element().addClass(SWITCH_CLASS).append(this._$switchWrapper);\r\n this._renderSubmitElement();\r\n this._renderClick();\r\n this.setAria(\"role\", \"button\");\r\n this._renderSwipeable();\r\n this.callBase();\r\n this._renderSwitchInner();\r\n this._renderLabels();\r\n this._renderValue()\r\n },\r\n _getInnerOffset: function(value, offset) {\r\n var ratio = (offset - this._offsetDirection() * Number(!value)) / 2;\r\n return 100 * ratio + \"%\"\r\n },\r\n _getHandleOffset: function(value, offset) {\r\n if (this.option(\"rtlEnabled\")) {\r\n value = !value\r\n }\r\n if (value) {\r\n var calcValue = 100 * -offset - 100;\r\n return calcValue + \"%\"\r\n } else {\r\n return 100 * -offset + \"%\"\r\n }\r\n },\r\n _renderSwitchInner: function() {\r\n this._$switchInner = $(\"<div>\").addClass(SWITCH_INNER_CLASS).appendTo(this._$switchContainer);\r\n this._$handle = $(\"<div>\").addClass(SWITCH_HANDLE_CLASS).appendTo(this._$switchInner)\r\n },\r\n _renderLabels: function() {\r\n this._$labelOn = $(\"<div>\").addClass(SWITCH_ON_CLASS).prependTo(this._$switchInner);\r\n this._$labelOff = $(\"<div>\").addClass(SWITCH_OFF_CLASS).appendTo(this._$switchInner);\r\n this._setLabelsText()\r\n },\r\n _renderContainers: function() {\r\n this._$switchContainer = $(\"<div>\").addClass(SWITCH_CONTAINER_CLASS);\r\n this._$switchWrapper = $(\"<div>\").addClass(SWITCH_WRAPPER_CLASS).append(this._$switchContainer)\r\n },\r\n _renderSwipeable: function() {\r\n this._createComponent(this.$element(), Swipeable, {\r\n elastic: false,\r\n immediate: true,\r\n onStart: this._swipeStartHandler.bind(this),\r\n onUpdated: this._swipeUpdateHandler.bind(this),\r\n onEnd: this._swipeEndHandler.bind(this),\r\n itemSizeFunc: this._getItemSizeFunc.bind(this)\r\n })\r\n },\r\n _getItemSizeFunc: function() {\r\n return getOuterWidth(this._$switchContainer, true) - getBoundingRect(this._$handle.get(0)).width\r\n },\r\n _renderSubmitElement: function() {\r\n this._$submitElement = $(\"<input>\").attr(\"type\", \"hidden\").appendTo(this.$element())\r\n },\r\n _getSubmitElement: function() {\r\n return this._$submitElement\r\n },\r\n _offsetDirection: function() {\r\n return this.option(\"rtlEnabled\") ? -1 : 1\r\n },\r\n _renderPosition: function(state, swipeOffset) {\r\n var innerOffset = this._getInnerOffset(state, swipeOffset);\r\n var handleOffset = this._getHandleOffset(state, swipeOffset);\r\n this._$switchInner.css(\"transform\", \" translateX(\" + innerOffset + \")\");\r\n this._$handle.css(\"transform\", \" translateX(\" + handleOffset + \")\")\r\n },\r\n _validateValue: function() {\r\n var check = this.option(\"value\");\r\n if (\"boolean\" !== typeof check) {\r\n this._options.silent(\"value\", !!check)\r\n }\r\n },\r\n _renderClick: function() {\r\n var eventName = addNamespace(clickEventName, this.NAME);\r\n var $element = this.$element();\r\n this._clickAction = this._createAction(this._clickHandler.bind(this));\r\n eventsEngine.off($element, eventName);\r\n eventsEngine.on($element, eventName, function(e) {\r\n this._clickAction({\r\n event: e\r\n })\r\n }.bind(this))\r\n },\r\n _clickHandler: function(args) {\r\n var e = args.event;\r\n this._saveValueChangeEvent(e);\r\n if (this._animating || this._swiping) {\r\n return\r\n }\r\n this._animateValue(!this.option(\"value\"))\r\n },\r\n _animateValue: function(value) {\r\n var startValue = this.option(\"value\");\r\n var endValue = value;\r\n if (startValue === endValue) {\r\n return\r\n }\r\n this._animating = true;\r\n var fromInnerOffset = this._getInnerOffset(startValue, 0);\r\n var toInnerOffset = this._getInnerOffset(endValue, 0);\r\n var fromHandleOffset = this._getHandleOffset(startValue, 0);\r\n var toHandleOffset = this._getHandleOffset(endValue, 0);\r\n var that = this;\r\n var fromInnerConfig = {};\r\n var toInnerConfig = {};\r\n var fromHandleConfig = {};\r\n var toHandlerConfig = {};\r\n fromInnerConfig.transform = \" translateX(\" + fromInnerOffset + \")\";\r\n toInnerConfig.transform = \" translateX(\" + toInnerOffset + \")\";\r\n fromHandleConfig.transform = \" translateX(\" + fromHandleOffset + \")\";\r\n toHandlerConfig.transform = \" translateX(\" + toHandleOffset + \")\";\r\n this.$element().toggleClass(SWITCH_ON_VALUE_CLASS, endValue);\r\n fx.animate(this._$handle, {\r\n from: fromHandleConfig,\r\n to: toHandlerConfig,\r\n duration: SWITCH_ANIMATION_DURATION\r\n });\r\n fx.animate(this._$switchInner, {\r\n from: fromInnerConfig,\r\n to: toInnerConfig,\r\n duration: SWITCH_ANIMATION_DURATION,\r\n complete: function() {\r\n that._animating = false;\r\n that.option(\"value\", endValue)\r\n }\r\n })\r\n },\r\n _swipeStartHandler: function(e) {\r\n var state = this.option(\"value\");\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var maxOffOffset = rtlEnabled ? 0 : 1;\r\n var maxOnOffset = rtlEnabled ? 1 : 0;\r\n e.event.maxLeftOffset = state ? maxOffOffset : maxOnOffset;\r\n e.event.maxRightOffset = state ? maxOnOffset : maxOffOffset;\r\n this._swiping = true;\r\n this._feedbackDeferred = new Deferred;\r\n lock(this._feedbackDeferred);\r\n this._toggleActiveState(this.$element(), this.option(\"activeStateEnabled\"))\r\n },\r\n _swipeUpdateHandler: function(e) {\r\n this._renderPosition(this.option(\"value\"), e.event.offset)\r\n },\r\n _swipeEndHandler: function(e) {\r\n var that = this;\r\n var offsetDirection = this._offsetDirection();\r\n var toInnerConfig = {};\r\n var toHandleConfig = {};\r\n var innerOffset = this._getInnerOffset(that.option(\"value\"), e.event.targetOffset);\r\n var handleOffset = this._getHandleOffset(that.option(\"value\"), e.event.targetOffset);\r\n toInnerConfig.transform = \" translateX(\" + innerOffset + \")\";\r\n toHandleConfig.transform = \" translateX(\" + handleOffset + \")\";\r\n fx.animate(this._$handle, {\r\n to: toHandleConfig,\r\n duration: SWITCH_ANIMATION_DURATION\r\n });\r\n fx.animate(this._$switchInner, {\r\n to: toInnerConfig,\r\n duration: SWITCH_ANIMATION_DURATION,\r\n complete: function() {\r\n that._swiping = false;\r\n var pos = that.option(\"value\") + offsetDirection * e.event.targetOffset;\r\n that._saveValueChangeEvent(e.event);\r\n that.option(\"value\", Boolean(pos));\r\n that._feedbackDeferred.resolve();\r\n that._toggleActiveState(that.$element(), false)\r\n }\r\n })\r\n },\r\n _renderValue: function() {\r\n this._validateValue();\r\n var val = this.option(\"value\");\r\n this._renderPosition(val, 0);\r\n this.$element().toggleClass(SWITCH_ON_VALUE_CLASS, val);\r\n this._getSubmitElement().val(val);\r\n this.setAria({\r\n pressed: val,\r\n label: val ? this.option(\"switchedOnText\") : this.option(\"switchedOffText\")\r\n })\r\n },\r\n _setLabelsText: function() {\r\n this._$labelOn && this._$labelOn.text(this.option(\"switchedOnText\"));\r\n this._$labelOff && this._$labelOff.text(this.option(\"switchedOffText\"))\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this.repaint()\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"width\":\r\n delete this._marginBound;\r\n this._refresh();\r\n break;\r\n case \"switchedOnText\":\r\n case \"switchedOffText\":\r\n this._setLabelsText();\r\n break;\r\n case \"value\":\r\n this._renderValue();\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxSwitch\", Switch);\r\nexport default Switch;\r\n","/**\r\n * DevExtreme (esm/ui/tab_panel/item.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport CollectionWidgetItem from \"../collection/item\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nexport default class TabPanelItem extends CollectionWidgetItem {\r\n _renderWatchers() {\r\n this._startWatcher(\"badge\", noop);\r\n return super._renderWatchers()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/tab_panel.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterHeight\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n touch\r\n} from \"../core/utils/support\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport devices from \"../core/devices\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport MultiView from \"./multi_view\";\r\nimport Tabs from \"./tabs\";\r\nimport {\r\n default as TabPanelItem\r\n} from \"./tab_panel/item\";\r\nimport {\r\n getImageContainer\r\n} from \"../core/utils/icon\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport {\r\n isPlainObject,\r\n isDefined\r\n} from \"../core/utils/type\";\r\nimport {\r\n BindableTemplate\r\n} from \"../core/templates/bindable_template\";\r\nimport {\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nvar TABPANEL_CLASS = \"dx-tabpanel\";\r\nvar TABPANEL_TABS_CLASS = \"dx-tabpanel-tabs\";\r\nvar TABPANEL_CONTAINER_CLASS = \"dx-tabpanel-container\";\r\nvar TABS_ITEM_TEXT_CLASS = \"dx-tab-text\";\r\nvar TabPanel = MultiView.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n itemTitleTemplate: \"title\",\r\n hoverStateEnabled: true,\r\n showNavButtons: false,\r\n scrollByContent: true,\r\n scrollingEnabled: true,\r\n onTitleClick: null,\r\n onTitleHold: null,\r\n onTitleRendered: null,\r\n badgeExpr: function(data) {\r\n return data ? data.badge : void 0\r\n }\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return !touch\r\n },\r\n options: {\r\n swipeEnabled: false\r\n }\r\n }, {\r\n device: {\r\n platform: \"generic\"\r\n },\r\n options: {\r\n animationEnabled: false\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.$element().addClass(TABPANEL_CLASS);\r\n this.setAria(\"role\", \"tabpanel\")\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._createTitleActions();\r\n this._renderLayout()\r\n },\r\n _initTemplates: function() {\r\n this.callBase();\r\n this._templateManager.addDefaultTemplates({\r\n title: new BindableTemplate((function($container, data) {\r\n if (isPlainObject(data)) {\r\n var $iconElement = getImageContainer(data.icon);\r\n if ($iconElement) {\r\n $container.append($iconElement)\r\n }\r\n if (isDefined(data.title) && !isPlainObject(data.title)) {\r\n $container.append(domAdapter.createTextNode(data.title))\r\n }\r\n } else if (isDefined(data)) {\r\n $container.text(String(data))\r\n }\r\n $container.wrapInner($(\"<span>\").addClass(TABS_ITEM_TEXT_CLASS))\r\n }), [\"title\", \"icon\"], this.option(\"integrationOptions.watchMethod\"))\r\n })\r\n },\r\n _createTitleActions: function() {\r\n this._createTitleClickAction();\r\n this._createTitleHoldAction();\r\n this._createTitleRenderedAction()\r\n },\r\n _createTitleClickAction: function() {\r\n this._titleClickAction = this._createActionByOption(\"onTitleClick\")\r\n },\r\n _createTitleHoldAction: function() {\r\n this._titleHoldAction = this._createActionByOption(\"onTitleHold\")\r\n },\r\n _createTitleRenderedAction: function() {\r\n this._titleRenderedAction = this._createActionByOption(\"onTitleRendered\")\r\n },\r\n _renderContent: function() {\r\n var that = this;\r\n this.callBase();\r\n if (this.option(\"templatesRenderAsynchronously\")) {\r\n this._resizeEventTimer = setTimeout((function() {\r\n that._updateLayout()\r\n }), 0)\r\n }\r\n },\r\n _renderLayout: function() {\r\n if (this._tabs) {\r\n this._updateLayout();\r\n return\r\n }\r\n var $element = this.$element();\r\n this._$tabContainer = $(\"<div>\").addClass(TABPANEL_TABS_CLASS).appendTo($element);\r\n var $tabs = $(\"<div>\").appendTo(this._$tabContainer);\r\n this._tabs = this._createComponent($tabs, Tabs, this._tabConfig());\r\n this._$container = $(\"<div>\").addClass(TABPANEL_CONTAINER_CLASS).appendTo($element);\r\n this._$container.append(this._$wrapper);\r\n this._updateLayout()\r\n },\r\n _updateLayout: function() {\r\n if (hasWindow()) {\r\n var tabsHeight = getOuterHeight(this._$tabContainer);\r\n this._$container.css({\r\n marginTop: -tabsHeight,\r\n paddingTop: tabsHeight\r\n })\r\n }\r\n },\r\n _refreshActiveDescendant: function() {\r\n if (!this._tabs) {\r\n return\r\n }\r\n var tabs = this._tabs;\r\n var tabItems = tabs.itemElements();\r\n var $activeTab = $(tabItems[tabs.option(\"selectedIndex\")]);\r\n var id = this.getFocusedItemId();\r\n this.setAria(\"controls\", void 0, $(tabItems));\r\n this.setAria(\"controls\", id, $activeTab)\r\n },\r\n _tabConfig: function() {\r\n return {\r\n selectOnFocus: true,\r\n focusStateEnabled: this.option(\"focusStateEnabled\"),\r\n hoverStateEnabled: this.option(\"hoverStateEnabled\"),\r\n repaintChangesOnly: this.option(\"repaintChangesOnly\"),\r\n tabIndex: this.option(\"tabIndex\"),\r\n selectedIndex: this.option(\"selectedIndex\"),\r\n badgeExpr: this.option(\"badgeExpr\"),\r\n onItemClick: this._titleClickAction.bind(this),\r\n onItemHold: this._titleHoldAction.bind(this),\r\n itemHoldTimeout: this.option(\"itemHoldTimeout\"),\r\n onSelectionChanged: function(e) {\r\n this.option(\"selectedIndex\", e.component.option(\"selectedIndex\"));\r\n this._refreshActiveDescendant()\r\n }.bind(this),\r\n onItemRendered: this._titleRenderedAction.bind(this),\r\n itemTemplate: this._getTemplateByOption(\"itemTitleTemplate\"),\r\n items: this.option(\"items\"),\r\n noDataText: null,\r\n scrollingEnabled: this.option(\"scrollingEnabled\"),\r\n scrollByContent: this.option(\"scrollByContent\"),\r\n showNavButtons: this.option(\"showNavButtons\"),\r\n itemTemplateProperty: \"tabTemplate\",\r\n loopItemFocus: this.option(\"loop\"),\r\n selectionRequired: true,\r\n onOptionChanged: function(args) {\r\n if (\"focusedElement\" === args.name) {\r\n if (args.value) {\r\n var $value = $(args.value);\r\n var $newItem = this._itemElements().eq($value.index());\r\n this.option(\"focusedElement\", getPublicElement($newItem))\r\n } else {\r\n this.option(\"focusedElement\", args.value)\r\n }\r\n }\r\n }.bind(this),\r\n onFocusIn: function(args) {\r\n this._focusInHandler(args.event)\r\n }.bind(this),\r\n onFocusOut: function(args) {\r\n if (!this._isFocusOutHandlerExecuting) {\r\n this._focusOutHandler(args.event)\r\n }\r\n }.bind(this)\r\n }\r\n },\r\n _renderFocusTarget: function() {\r\n this._focusTarget().attr(\"tabIndex\", -1)\r\n },\r\n _updateFocusState: function(e, isFocused) {\r\n this.callBase(e, isFocused);\r\n if (e.target === this._tabs._focusTarget().get(0)) {\r\n this._toggleFocusClass(isFocused, this._focusTarget())\r\n }\r\n },\r\n _focusOutHandler: function(e) {\r\n this._isFocusOutHandlerExecuting = true;\r\n this.callBase.apply(this, arguments);\r\n this._tabs._focusOutHandler(e);\r\n this._isFocusOutHandlerExecuting = false\r\n },\r\n _setTabsOption: function(name, value) {\r\n if (this._tabs) {\r\n this._tabs.option(name, value)\r\n }\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this._tabs._dimensionChanged();\r\n this._updateLayout()\r\n }\r\n },\r\n registerKeyHandler: function(key, handler) {\r\n this.callBase(key, handler);\r\n if (this._tabs) {\r\n this._tabs.registerKeyHandler(key, handler)\r\n }\r\n },\r\n repaint: function() {\r\n this.callBase();\r\n this._tabs.repaint()\r\n },\r\n _optionChanged: function(args) {\r\n var name = args.name;\r\n var value = args.value;\r\n var fullName = args.fullName;\r\n switch (name) {\r\n case \"dataSource\":\r\n this.callBase(args);\r\n break;\r\n case \"items\":\r\n this._setTabsOption(name, this.option(name));\r\n this._updateLayout();\r\n if (!this.option(\"repaintChangesOnly\")) {\r\n this._tabs.repaint()\r\n }\r\n this.callBase(args);\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n this._tabs.repaint();\r\n break;\r\n case \"selectedIndex\":\r\n case \"selectedItem\":\r\n this._setTabsOption(fullName, value);\r\n this.callBase(args);\r\n if (true === this.option(\"focusStateEnabled\")) {\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n var selectedTabContent = this._itemElements().eq(selectedIndex);\r\n this.option(\"focusedElement\", getPublicElement(selectedTabContent))\r\n }\r\n break;\r\n case \"itemHoldTimeout\":\r\n case \"focusStateEnabled\":\r\n case \"hoverStateEnabled\":\r\n this._setTabsOption(fullName, value);\r\n this.callBase(args);\r\n break;\r\n case \"scrollingEnabled\":\r\n case \"scrollByContent\":\r\n case \"showNavButtons\":\r\n this._setTabsOption(fullName, value);\r\n break;\r\n case \"focusedElement\":\r\n var id = value ? $(value).index() : value;\r\n var newItem = value ? this._tabs._itemElements().eq(id) : value;\r\n this._setTabsOption(\"focusedElement\", getPublicElement(newItem));\r\n this.callBase(args);\r\n break;\r\n case \"itemTitleTemplate\":\r\n this._setTabsOption(\"itemTemplate\", this._getTemplateByOption(\"itemTitleTemplate\"));\r\n break;\r\n case \"onTitleClick\":\r\n this._createTitleClickAction();\r\n this._setTabsOption(\"onItemClick\", this._titleClickAction.bind(this));\r\n break;\r\n case \"onTitleHold\":\r\n this._createTitleHoldAction();\r\n this._setTabsOption(\"onItemHold\", this._titleHoldAction.bind(this));\r\n break;\r\n case \"onTitleRendered\":\r\n this._createTitleRenderedAction();\r\n this._setTabsOption(\"onItemRendered\", this._titleRenderedAction.bind(this));\r\n break;\r\n case \"loop\":\r\n this._setTabsOption(\"loopItemFocus\", value);\r\n break;\r\n case \"badgeExpr\":\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _clean: function() {\r\n clearTimeout(this._resizeEventTimer);\r\n this.callBase()\r\n }\r\n});\r\nTabPanel.ItemClass = TabPanelItem;\r\nregisterComponent(\"dxTabPanel\", TabPanel);\r\nexport default TabPanel;\r\n","/**\r\n * DevExtreme (esm/ui/tabs/item.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport CollectionWidgetItem from \"../collection/item\";\r\nvar TABS_ITEM_BADGE_CLASS = \"dx-tabs-item-badge\";\r\nvar BADGE_CLASS = \"dx-badge\";\r\nvar TabsItem = CollectionWidgetItem.inherit({\r\n _renderWatchers: function() {\r\n this.callBase();\r\n this._startWatcher(\"badge\", this._renderBadge.bind(this))\r\n },\r\n _renderBadge: function(badge) {\r\n this._$element.children(\".\" + BADGE_CLASS).remove();\r\n if (!badge) {\r\n return\r\n }\r\n var $badge = $(\"<div>\").addClass(TABS_ITEM_BADGE_CLASS).addClass(BADGE_CLASS).text(badge);\r\n this._$element.append($badge)\r\n }\r\n});\r\nexport default TabsItem;\r\n","/**\r\n * DevExtreme (esm/ui/tabs/constants.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var TABS_EXPANDED_CLASS = \"dx-tabs-expanded\";\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scroll_view/utils/get_scroll_left_max.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function getScrollLeftMax(element) {\r\n return element.scrollWidth - element.clientWidth\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scroll_view/utils/get_boundary_props.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getScrollLeftMax\r\n} from \"./get_scroll_left_max\";\r\nimport {\r\n getScrollTopMax\r\n} from \"./get_scroll_top_max\";\r\nimport {\r\n ScrollDirection\r\n} from \"./scroll_direction\";\r\nexport function isReachedLeft(scrollOffsetLeft, epsilon) {\r\n return Math.round(scrollOffsetLeft) <= epsilon\r\n}\r\nexport function isReachedRight(element, scrollOffsetLeft, epsilon) {\r\n return Math.round(getScrollLeftMax(element) - scrollOffsetLeft) <= epsilon\r\n}\r\nexport function isReachedTop(scrollOffsetTop, epsilon) {\r\n return Math.round(scrollOffsetTop) <= epsilon\r\n}\r\nexport function isReachedBottom(element, scrollOffsetTop, pocketHeight, epsilon) {\r\n return Math.round(getScrollTopMax(element) - scrollOffsetTop - pocketHeight) <= epsilon\r\n}\r\nexport function getBoundaryProps(direction, scrollOffset, element) {\r\n var pocketHeight = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 0;\r\n var {\r\n left: left,\r\n top: top\r\n } = scrollOffset;\r\n var boundaryProps = {};\r\n var {\r\n isHorizontal: isHorizontal,\r\n isVertical: isVertical\r\n } = new ScrollDirection(direction);\r\n if (isHorizontal) {\r\n boundaryProps.reachedLeft = isReachedLeft(left, 0);\r\n boundaryProps.reachedRight = isReachedRight(element, left, 0)\r\n }\r\n if (isVertical) {\r\n boundaryProps.reachedTop = isReachedTop(top, 0);\r\n boundaryProps.reachedBottom = isReachedBottom(element, top, pocketHeight, 0)\r\n }\r\n return boundaryProps\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/tabs.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getOuterWidth\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport devices from \"../core/devices\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport Button from \"./button\";\r\nimport {\r\n render\r\n} from \"./widget/utils.ink_ripple\";\r\nimport {\r\n addNamespace\r\n} from \"../events/utils/index\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n isPlainObject\r\n} from \"../core/utils/type\";\r\nimport pointerEvents from \"../events/pointer\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport TabsItem from \"./tabs/item\";\r\nimport {\r\n TABS_EXPANDED_CLASS\r\n} from \"./tabs/constants\";\r\nimport {\r\n isMaterial,\r\n current as currentTheme\r\n} from \"./themes\";\r\nimport holdEvent from \"../events/hold\";\r\nimport Scrollable from \"./scroll_view/ui.scrollable\";\r\nimport {\r\n default as CollectionWidget\r\n} from \"./collection/ui.collection_widget.live_update\";\r\nimport {\r\n getImageContainer\r\n} from \"../core/utils/icon\";\r\nimport {\r\n BindableTemplate\r\n} from \"../core/templates/bindable_template\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n isReachedLeft,\r\n isReachedRight\r\n} from \"../renovation/ui/scroll_view/utils/get_boundary_props\";\r\nimport {\r\n getScrollLeftMax\r\n} from \"../renovation/ui/scroll_view/utils/get_scroll_left_max\";\r\nvar TABS_CLASS = \"dx-tabs\";\r\nvar TABS_WRAPPER_CLASS = \"dx-tabs-wrapper\";\r\nvar TABS_STRETCHED_CLASS = \"dx-tabs-stretched\";\r\nvar TABS_SCROLLABLE_CLASS = \"dx-tabs-scrollable\";\r\nvar TABS_NAV_BUTTONS_CLASS = \"dx-tabs-nav-buttons\";\r\nvar OVERFLOW_HIDDEN_CLASS = \"dx-overflow-hidden\";\r\nvar TABS_ITEM_CLASS = \"dx-tab\";\r\nvar TABS_ITEM_SELECTED_CLASS = \"dx-tab-selected\";\r\nvar TABS_NAV_BUTTON_CLASS = \"dx-tabs-nav-button\";\r\nvar TABS_LEFT_NAV_BUTTON_CLASS = \"dx-tabs-nav-button-left\";\r\nvar TABS_RIGHT_NAV_BUTTON_CLASS = \"dx-tabs-nav-button-right\";\r\nvar TABS_ITEM_TEXT_CLASS = \"dx-tab-text\";\r\nvar TABS_ITEM_DATA_KEY = \"dxTabData\";\r\nvar BUTTON_NEXT_ICON = \"chevronnext\";\r\nvar BUTTON_PREV_ICON = \"chevronprev\";\r\nvar FEEDBACK_HIDE_TIMEOUT = 100;\r\nvar FEEDBACK_DURATION_INTERVAL = 5;\r\nvar FEEDBACK_SCROLL_TIMEOUT = 300;\r\nvar TAB_OFFSET = 30;\r\nvar Tabs = CollectionWidget.inherit({\r\n _activeStateUnit: \".\" + TABS_ITEM_CLASS,\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n hoverStateEnabled: true,\r\n showNavButtons: true,\r\n scrollByContent: true,\r\n scrollingEnabled: true,\r\n selectionMode: \"single\",\r\n activeStateEnabled: true,\r\n selectionRequired: false,\r\n selectOnFocus: true,\r\n loopItemFocus: false,\r\n useInkRipple: false,\r\n badgeExpr: function(data) {\r\n return data ? data.badge : void 0\r\n },\r\n _itemAttributes: {\r\n role: \"tab\"\r\n }\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n var themeName = currentTheme();\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" !== devices.real().deviceType\r\n },\r\n options: {\r\n showNavButtons: false\r\n }\r\n }, {\r\n device: {\r\n deviceType: \"desktop\"\r\n },\r\n options: {\r\n scrollByContent: false\r\n }\r\n }, {\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial(themeName)\r\n },\r\n options: {\r\n useInkRipple: true,\r\n selectOnFocus: false\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.setAria(\"role\", \"tablist\");\r\n this.$element().addClass(TABS_CLASS);\r\n this._renderWrapper();\r\n this._renderMultiple();\r\n this._feedbackHideTimeout = FEEDBACK_HIDE_TIMEOUT\r\n },\r\n _initTemplates: function() {\r\n this.callBase();\r\n this._templateManager.addDefaultTemplates({\r\n item: new BindableTemplate(function($container, data) {\r\n if (isPlainObject(data)) {\r\n this._prepareDefaultItemTemplate(data, $container)\r\n } else {\r\n $container.text(String(data))\r\n }\r\n var $iconElement = getImageContainer(data.icon);\r\n $iconElement && $iconElement.prependTo($container);\r\n $container.wrapInner($(\"<span>\").addClass(TABS_ITEM_TEXT_CLASS))\r\n }.bind(this), [\"text\", \"html\", \"icon\"], this.option(\"integrationOptions.watchMethod\"))\r\n })\r\n },\r\n _createItemByTemplate: function(itemTemplate, renderArgs) {\r\n var {\r\n itemData: itemData,\r\n container: container,\r\n index: index\r\n } = renderArgs;\r\n this._deferredTemplates[index] = new Deferred;\r\n return itemTemplate.render({\r\n model: itemData,\r\n container: container,\r\n index: index,\r\n onRendered: () => this._deferredTemplates[index].resolve()\r\n })\r\n },\r\n _itemClass: function() {\r\n return TABS_ITEM_CLASS\r\n },\r\n _selectedItemClass: function() {\r\n return TABS_ITEM_SELECTED_CLASS\r\n },\r\n _itemDataKey: function() {\r\n return TABS_ITEM_DATA_KEY\r\n },\r\n _initMarkup: function() {\r\n this._deferredTemplates = [];\r\n this.callBase();\r\n this.option(\"useInkRipple\") && this._renderInkRipple();\r\n this.$element().addClass(OVERFLOW_HIDDEN_CLASS)\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._deferRenderScrolling()\r\n },\r\n _deferRenderScrolling() {\r\n when.apply(this, this._deferredTemplates).done(() => this._renderScrolling())\r\n },\r\n _renderScrolling: function() {\r\n var removeClasses = [TABS_STRETCHED_CLASS, TABS_EXPANDED_CLASS, OVERFLOW_HIDDEN_CLASS];\r\n this.$element().removeClass(removeClasses.join(\" \"));\r\n if (this.option(\"scrollingEnabled\") && this._isItemsWidthExceeded()) {\r\n if (!this._scrollable) {\r\n this._renderScrollable();\r\n this._renderNavButtons()\r\n }\r\n var scrollable = this.getScrollable();\r\n scrollable.update();\r\n if (this.option(\"rtlEnabled\")) {\r\n var maxLeftOffset = getScrollLeftMax($(this.getScrollable().container()).get(0));\r\n scrollable.scrollTo({\r\n left: maxLeftOffset\r\n })\r\n }\r\n this._updateNavButtonsVisibility();\r\n this._scrollToItem(this.option(\"selectedItem\"))\r\n }\r\n if (!(this.option(\"scrollingEnabled\") && this._isItemsWidthExceeded())) {\r\n this._cleanScrolling();\r\n if (this._needStretchItems() && !this._isItemsWidthExceeded()) {\r\n this.$element().addClass(TABS_STRETCHED_CLASS)\r\n }\r\n this.$element().removeClass(TABS_NAV_BUTTONS_CLASS).addClass(TABS_EXPANDED_CLASS)\r\n }\r\n },\r\n _isItemsWidthExceeded: function() {\r\n var tabItemsWidth = this._getSummaryItemsWidth(this._getVisibleItems(), true);\r\n return tabItemsWidth - 1 > getWidth(this.$element())\r\n },\r\n _needStretchItems: function() {\r\n var $visibleItems = this._getVisibleItems();\r\n var elementWidth = getWidth(this.$element());\r\n var itemsWidth = [];\r\n each($visibleItems, (_, item) => {\r\n itemsWidth.push(getOuterWidth(item, true))\r\n });\r\n var maxTabWidth = Math.max.apply(null, itemsWidth);\r\n return maxTabWidth >= elementWidth / $visibleItems.length\r\n },\r\n _cleanNavButtons: function() {\r\n if (!this._leftButton || !this._rightButton) {\r\n return\r\n }\r\n this._leftButton.$element().remove();\r\n this._rightButton.$element().remove();\r\n this._leftButton = null;\r\n this._rightButton = null\r\n },\r\n _cleanScrolling: function() {\r\n if (!this._scrollable) {\r\n return\r\n }\r\n this._$wrapper.appendTo(this.$element());\r\n this._scrollable.$element().remove();\r\n this._scrollable = null;\r\n this._cleanNavButtons()\r\n },\r\n _renderInkRipple: function() {\r\n this._inkRipple = render()\r\n },\r\n _toggleActiveState: function($element, value, e) {\r\n this.callBase.apply(this, arguments);\r\n if (!this._inkRipple) {\r\n return\r\n }\r\n var config = {\r\n element: $element,\r\n event: e\r\n };\r\n if (value) {\r\n this._inkRipple.showWave(config)\r\n } else {\r\n this._inkRipple.hideWave(config)\r\n }\r\n },\r\n _renderMultiple: function() {\r\n if (\"multiple\" === this.option(\"selectionMode\")) {\r\n this.option(\"selectOnFocus\", false)\r\n }\r\n },\r\n _renderWrapper: function() {\r\n this._$wrapper = $(\"<div>\").addClass(TABS_WRAPPER_CLASS);\r\n this.$element().append(this._$wrapper)\r\n },\r\n _itemContainer: function() {\r\n return this._$wrapper\r\n },\r\n _renderScrollable: function() {\r\n var $itemContainer = this.$element().wrapInner($(\"<div>\").addClass(TABS_SCROLLABLE_CLASS)).children();\r\n this._scrollable = this._createComponent($itemContainer, Scrollable, {\r\n direction: \"horizontal\",\r\n showScrollbar: \"never\",\r\n useKeyboard: false,\r\n useNative: false,\r\n scrollByContent: this.option(\"scrollByContent\"),\r\n onScroll: () => {\r\n this._updateNavButtonsVisibility()\r\n }\r\n });\r\n this.$element().append(this._scrollable.$element())\r\n },\r\n _scrollToItem: function(itemData) {\r\n if (!this._scrollable) {\r\n return\r\n }\r\n var $item = this._editStrategy.getItemElement(itemData);\r\n this._scrollable.scrollToElement($item)\r\n },\r\n _renderNavButtons: function() {\r\n this.$element().toggleClass(TABS_NAV_BUTTONS_CLASS, this.option(\"showNavButtons\"));\r\n if (!this.option(\"showNavButtons\")) {\r\n return\r\n }\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n this._leftButton = this._createNavButton(-TAB_OFFSET, rtlEnabled ? BUTTON_NEXT_ICON : BUTTON_PREV_ICON);\r\n var $leftButton = this._leftButton.$element();\r\n $leftButton.addClass(TABS_LEFT_NAV_BUTTON_CLASS);\r\n this.$element().prepend($leftButton);\r\n this._rightButton = this._createNavButton(TAB_OFFSET, rtlEnabled ? BUTTON_PREV_ICON : BUTTON_NEXT_ICON);\r\n var $rightButton = this._rightButton.$element();\r\n $rightButton.addClass(TABS_RIGHT_NAV_BUTTON_CLASS);\r\n this.$element().append($rightButton)\r\n },\r\n _updateNavButtonsVisibility: function() {\r\n var scrollable = this.getScrollable();\r\n this._leftButton && this._leftButton.option(\"disabled\", isReachedLeft(scrollable.scrollLeft(), 1));\r\n this._rightButton && this._rightButton.option(\"disabled\", isReachedRight($(scrollable.container()).get(0), scrollable.scrollLeft(), 1))\r\n },\r\n _updateScrollPosition: function(offset, duration) {\r\n this._scrollable.update();\r\n this._scrollable.scrollBy(offset / duration)\r\n },\r\n _createNavButton: function(offset, icon) {\r\n var that = this;\r\n var holdAction = that._createAction((function() {\r\n that._holdInterval = setInterval((function() {\r\n that._updateScrollPosition(offset, FEEDBACK_DURATION_INTERVAL)\r\n }), FEEDBACK_DURATION_INTERVAL)\r\n }));\r\n var holdEventName = addNamespace(holdEvent.name, \"dxNavButton\");\r\n var pointerUpEventName = addNamespace(pointerEvents.up, \"dxNavButton\");\r\n var pointerOutEventName = addNamespace(pointerEvents.out, \"dxNavButton\");\r\n var navButton = this._createComponent($(\"<div>\").addClass(TABS_NAV_BUTTON_CLASS), Button, {\r\n focusStateEnabled: false,\r\n icon: icon,\r\n onClick: function() {\r\n that._updateScrollPosition(offset, 1)\r\n },\r\n integrationOptions: {}\r\n });\r\n var $navButton = navButton.$element();\r\n eventsEngine.on($navButton, holdEventName, {\r\n timeout: FEEDBACK_SCROLL_TIMEOUT\r\n }, function(e) {\r\n holdAction({\r\n event: e\r\n })\r\n }.bind(this));\r\n eventsEngine.on($navButton, pointerUpEventName, (function() {\r\n that._clearInterval()\r\n }));\r\n eventsEngine.on($navButton, pointerOutEventName, (function() {\r\n that._clearInterval()\r\n }));\r\n return navButton\r\n },\r\n _clearInterval: function() {\r\n if (this._holdInterval) {\r\n clearInterval(this._holdInterval)\r\n }\r\n },\r\n _updateSelection: function(addedSelection) {\r\n this._scrollable && this._scrollable.scrollToElement(this.itemElements().eq(addedSelection[0]), {\r\n left: 1,\r\n right: 1\r\n })\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this._dimensionChanged()\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n this._renderScrolling()\r\n },\r\n _itemSelectHandler: function(e) {\r\n if (\"single\" === this.option(\"selectionMode\") && this.isItemSelected(e.currentTarget)) {\r\n return\r\n }\r\n this.callBase(e)\r\n },\r\n _clean: function() {\r\n this._deferredTemplates = [];\r\n this._cleanScrolling();\r\n this.callBase()\r\n },\r\n _updateFocusedElement() {\r\n var {\r\n focusStateEnabled: focusStateEnabled,\r\n selectedIndex: selectedIndex\r\n } = this.option();\r\n var itemElements = this._itemElements();\r\n if (focusStateEnabled && itemElements.length) {\r\n var selectedItem = itemElements.get(selectedIndex);\r\n this.option({\r\n focusedElement: selectedItem\r\n })\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"useInkRipple\":\r\n case \"scrollingEnabled\":\r\n case \"showNavButtons\":\r\n this._invalidate();\r\n break;\r\n case \"scrollByContent\":\r\n this._scrollable && this._scrollable.option(args.name, args.value);\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n this._dimensionChanged();\r\n break;\r\n case \"selectionMode\":\r\n this._renderMultiple();\r\n this.callBase(args);\r\n break;\r\n case \"badgeExpr\":\r\n this._invalidate();\r\n break;\r\n case \"selectedIndex\":\r\n case \"selectedItem\":\r\n case \"selectedItems\":\r\n this.callBase(args);\r\n this._updateFocusedElement();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _afterItemElementInserted() {\r\n this.callBase();\r\n this._deferRenderScrolling()\r\n },\r\n _afterItemElementDeleted($item, deletedActionArgs) {\r\n this.callBase($item, deletedActionArgs);\r\n this._renderScrolling()\r\n },\r\n getScrollable() {\r\n return this._scrollable\r\n }\r\n});\r\nTabs.ItemClass = TabsItem;\r\nregisterComponent(\"dxTabs\", Tabs);\r\nexport default Tabs;\r\n","/**\r\n * DevExtreme (esm/ui/tag_box.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth,\r\n getHeight\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport devices from \"../core/devices\";\r\nimport {\r\n data as elementData\r\n} from \"../core/element_data\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n noop,\r\n ensureDefined,\r\n equalByValue\r\n} from \"../core/utils/common\";\r\nimport {\r\n SelectionFilterCreator as FilterCreator\r\n} from \"../core/utils/selection_filter\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n createTextElementHiddenCopy\r\n} from \"../core/utils/dom\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport {\r\n isDefined,\r\n isObject,\r\n isString\r\n} from \"../core/utils/type\";\r\nimport {\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n removeDuplicates,\r\n getIntersection\r\n} from \"../core/utils/array\";\r\nimport messageLocalization from \"../localization/message\";\r\nimport {\r\n addNamespace,\r\n isCommandKeyPressed,\r\n normalizeKeyName\r\n} from \"../events/utils/index\";\r\nimport {\r\n name as clickEvent\r\n} from \"../events/click\";\r\nimport caret from \"./text_box/utils.caret\";\r\nimport {\r\n normalizeLoadResult\r\n} from \"../data/data_source/utils\";\r\nimport SelectBox from \"./select_box\";\r\nimport {\r\n BindableTemplate\r\n} from \"../core/templates/bindable_template\";\r\nimport {\r\n allowScroll\r\n} from \"./text_box/utils.scroll\";\r\nimport errors from \"./widget/ui.errors\";\r\nvar TAGBOX_TAG_DATA_KEY = \"dxTagData\";\r\nvar TAGBOX_CLASS = \"dx-tagbox\";\r\nvar TAGBOX_TAG_CONTAINER_CLASS = \"dx-tag-container\";\r\nvar TAGBOX_TAG_CLASS = \"dx-tag\";\r\nvar TAGBOX_MULTI_TAG_CLASS = \"dx-tagbox-multi-tag\";\r\nvar TAGBOX_CUSTOM_TAG_CLASS = \"dx-tag-custom\";\r\nvar TAGBOX_TAG_REMOVE_BUTTON_CLASS = \"dx-tag-remove-button\";\r\nvar TAGBOX_ONLY_SELECT_CLASS = \"dx-tagbox-only-select\";\r\nvar TAGBOX_SINGLE_LINE_CLASS = \"dx-tagbox-single-line\";\r\nvar TAGBOX_POPUP_WRAPPER_CLASS = \"dx-tagbox-popup-wrapper\";\r\nvar TAGBOX_TAG_CONTENT_CLASS = \"dx-tag-content\";\r\nvar TAGBOX_DEFAULT_FIELD_TEMPLATE_CLASS = \"dx-tagbox-default-template\";\r\nvar TAGBOX_CUSTOM_FIELD_TEMPLATE_CLASS = \"dx-tagbox-custom-template\";\r\nvar TEXTEDITOR_INPUT_CONTAINER_CLASS = \"dx-texteditor-input-container\";\r\nvar TAGBOX_MOUSE_WHEEL_DELTA_MULTIPLIER = -.3;\r\nvar TagBox = SelectBox.inherit({\r\n _supportedKeys: function() {\r\n var parent = this.callBase();\r\n var sendToList = options => this._list._keyboardHandler(options);\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n return extend({}, parent, {\r\n backspace: function(e) {\r\n if (!this._isCaretAtTheStart()) {\r\n return\r\n }\r\n this._processKeyboardEvent(e);\r\n this._isTagRemoved = true;\r\n var $tagToDelete = this._$focusedTag || this._tagElements().last();\r\n if (this._$focusedTag) {\r\n this._moveTagFocus(\"prev\", true)\r\n }\r\n if (0 === $tagToDelete.length) {\r\n return\r\n }\r\n this._preserveFocusedTag = true;\r\n this._removeTagElement($tagToDelete);\r\n delete this._preserveFocusedTag\r\n },\r\n upArrow: (e, opts) => e.altKey || !this._list ? parent.upArrow.call(this, e) : sendToList(opts),\r\n downArrow: (e, opts) => e.altKey || !this._list ? parent.downArrow.call(this, e) : sendToList(opts),\r\n del: function(e) {\r\n if (!this._$focusedTag || !this._isCaretAtTheStart()) {\r\n return\r\n }\r\n this._processKeyboardEvent(e);\r\n this._isTagRemoved = true;\r\n var $tagToDelete = this._$focusedTag;\r\n this._moveTagFocus(\"next\", true);\r\n this._preserveFocusedTag = true;\r\n this._removeTagElement($tagToDelete);\r\n delete this._preserveFocusedTag\r\n },\r\n enter: function(e, options) {\r\n var isListItemFocused = this._list && null !== this._list.option(\"focusedElement\");\r\n var isCustomItem = this.option(\"acceptCustomValue\") && !isListItemFocused;\r\n if (isCustomItem) {\r\n e.preventDefault();\r\n \"\" !== this._searchValue() && this._customItemAddedHandler(e);\r\n return\r\n }\r\n if (this.option(\"opened\")) {\r\n this._saveValueChangeEvent(e);\r\n sendToList(options);\r\n e.preventDefault()\r\n }\r\n },\r\n space: function(e, options) {\r\n var isOpened = this.option(\"opened\");\r\n var isInputActive = this._shouldRenderSearchEvent();\r\n if (isOpened && !isInputActive) {\r\n this._saveValueChangeEvent(e);\r\n sendToList(options);\r\n e.preventDefault()\r\n }\r\n },\r\n leftArrow: function(e) {\r\n if (!this._isCaretAtTheStart() || this._isEmpty() || this._isEditable() && rtlEnabled && !this._$focusedTag) {\r\n return\r\n }\r\n e.preventDefault();\r\n var direction = rtlEnabled ? \"next\" : \"prev\";\r\n this._moveTagFocus(direction);\r\n !this.option(\"multiline\") && this._scrollContainer(direction)\r\n },\r\n rightArrow: function(e) {\r\n if (!this._isCaretAtTheStart() || this._isEmpty() || this._isEditable() && !rtlEnabled && !this._$focusedTag) {\r\n return\r\n }\r\n e.preventDefault();\r\n var direction = rtlEnabled ? \"prev\" : \"next\";\r\n this._moveTagFocus(direction);\r\n !this.option(\"multiline\") && this._scrollContainer(direction)\r\n }\r\n })\r\n },\r\n _processKeyboardEvent: function(e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this._saveValueChangeEvent(e)\r\n },\r\n _isEmpty: function() {\r\n return 0 === this._getValue().length\r\n },\r\n _updateTagsContainer: function($element) {\r\n this._$tagsContainer = $element.addClass(TAGBOX_TAG_CONTAINER_CLASS)\r\n },\r\n _allowSelectItemByTab: function() {\r\n return false\r\n },\r\n _isCaretAtTheStart: function() {\r\n var position = caret(this._input());\r\n return 0 === position.start && 0 === position.end\r\n },\r\n _moveTagFocus: function(direction, clearOnBoundary) {\r\n if (!this._$focusedTag) {\r\n var tagElements = this._tagElements();\r\n this._$focusedTag = \"next\" === direction ? tagElements.first() : tagElements.last();\r\n this._toggleFocusClass(true, this._$focusedTag);\r\n return\r\n }\r\n var $nextFocusedTag = this._$focusedTag[direction](\".\".concat(TAGBOX_TAG_CLASS));\r\n if ($nextFocusedTag.length > 0) {\r\n this._replaceFocusedTag($nextFocusedTag)\r\n } else if (clearOnBoundary || \"next\" === direction && this._isEditable()) {\r\n this._clearTagFocus()\r\n }\r\n },\r\n _replaceFocusedTag: function($nextFocusedTag) {\r\n this._toggleFocusClass(false, this._$focusedTag);\r\n this._$focusedTag = $nextFocusedTag;\r\n this._toggleFocusClass(true, this._$focusedTag)\r\n },\r\n _clearTagFocus: function() {\r\n if (!this._$focusedTag) {\r\n return\r\n }\r\n this._toggleFocusClass(false, this._$focusedTag);\r\n delete this._$focusedTag\r\n },\r\n _focusClassTarget: function($element) {\r\n if ($element && $element.length && $element[0] !== this._focusTarget()[0]) {\r\n return $element\r\n }\r\n return this.callBase()\r\n },\r\n _getLabelContainer: function() {\r\n return this._$tagsContainer\r\n },\r\n _scrollContainer: function(direction) {\r\n if (this.option(\"multiline\") || !hasWindow()) {\r\n return\r\n }\r\n if (!this._$tagsContainer) {\r\n return\r\n }\r\n var scrollPosition = this._getScrollPosition(direction);\r\n this._$tagsContainer.scrollLeft(scrollPosition)\r\n },\r\n _getScrollPosition: function(direction) {\r\n if (\"start\" === direction || \"end\" === direction) {\r\n return this._getBorderPosition(direction)\r\n }\r\n return this._$focusedTag ? this._getFocusedTagPosition(direction) : this._getBorderPosition(\"end\")\r\n },\r\n _getBorderPosition: function(direction) {\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var isScrollLeft = \"end\" === direction ^ rtlEnabled;\r\n var scrollSign = rtlEnabled ? -1 : 1;\r\n return isScrollLeft ^ !rtlEnabled ? 0 : scrollSign * (this._$tagsContainer.get(0).scrollWidth - getOuterWidth(this._$tagsContainer))\r\n },\r\n _getFocusedTagPosition: function(direction) {\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var isScrollLeft = \"next\" === direction ^ rtlEnabled;\r\n var {\r\n left: scrollOffset\r\n } = this._$focusedTag.position();\r\n var scrollLeft = this._$tagsContainer.scrollLeft();\r\n if (isScrollLeft) {\r\n scrollOffset += getOuterWidth(this._$focusedTag, true) - getOuterWidth(this._$tagsContainer)\r\n }\r\n if (isScrollLeft ^ scrollOffset < 0) {\r\n scrollLeft += scrollOffset\r\n }\r\n return scrollLeft\r\n },\r\n _setNextValue: noop,\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n value: [],\r\n showDropDownButton: false,\r\n maxFilterQueryLength: 1500,\r\n tagTemplate: \"tag\",\r\n selectAllText: messageLocalization.format(\"dxList-selectAll\"),\r\n hideSelectedItems: false,\r\n selectedItems: [],\r\n selectAllMode: \"page\",\r\n onSelectAllValueChanged: null,\r\n maxDisplayedTags: void 0,\r\n showMultiTagOnly: true,\r\n onMultiTagPreparing: null,\r\n multiline: true,\r\n useSubmitBehavior: true\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._selectedItems = [];\r\n this._initSelectAllValueChangedAction()\r\n },\r\n _initActions: function() {\r\n this.callBase();\r\n this._initMultiTagPreparingAction()\r\n },\r\n _initMultiTagPreparingAction: function() {\r\n this._multiTagPreparingAction = this._createActionByOption(\"onMultiTagPreparing\", {\r\n beforeExecute: function(e) {\r\n this._multiTagPreparingHandler(e.args[0])\r\n }.bind(this),\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _multiTagPreparingHandler: function(args) {\r\n var {\r\n length: selectedCount\r\n } = this._getValue();\r\n if (!this.option(\"showMultiTagOnly\")) {\r\n args.text = messageLocalization.getFormatter(\"dxTagBox-moreSelected\")(selectedCount - this.option(\"maxDisplayedTags\") + 1)\r\n } else {\r\n args.text = messageLocalization.getFormatter(\"dxTagBox-selected\")(selectedCount)\r\n }\r\n },\r\n _initDynamicTemplates: function() {\r\n this.callBase();\r\n this._templateManager.addDefaultTemplates({\r\n tag: new BindableTemplate(($container, data) => {\r\n var _data$text;\r\n var $tagContent = $(\"<div>\").addClass(TAGBOX_TAG_CONTENT_CLASS);\r\n $(\"<span>\").text(null !== (_data$text = data.text) && void 0 !== _data$text ? _data$text : data).appendTo($tagContent);\r\n $(\"<div>\").addClass(TAGBOX_TAG_REMOVE_BUTTON_CLASS).appendTo($tagContent);\r\n $container.append($tagContent)\r\n }, [\"text\"], this.option(\"integrationOptions.watchMethod\"), {\r\n text: this._displayGetter\r\n })\r\n })\r\n },\r\n _toggleSubmitElement: function(enabled) {\r\n if (enabled) {\r\n this._renderSubmitElement();\r\n this._setSubmitValue()\r\n } else {\r\n this._$submitElement && this._$submitElement.remove();\r\n delete this._$submitElement\r\n }\r\n },\r\n _renderSubmitElement: function() {\r\n if (!this.option(\"useSubmitBehavior\")) {\r\n return\r\n }\r\n this._$submitElement = $(\"<select>\").attr(\"multiple\", \"multiple\").css(\"display\", \"none\").appendTo(this.$element())\r\n },\r\n _setSubmitValue: function() {\r\n if (!this.option(\"useSubmitBehavior\")) {\r\n return\r\n }\r\n var value = this._getValue();\r\n var $options = [];\r\n for (var i = 0, n = value.length; i < n; i++) {\r\n var useDisplayText = this._shouldUseDisplayValue(value[i]);\r\n $options.push($(\"<option>\").val(useDisplayText ? this._displayGetter(value[i]) : value[i]).attr(\"selected\", \"selected\"))\r\n }\r\n this._getSubmitElement().empty().append($options)\r\n },\r\n _initMarkup: function() {\r\n this._tagElementsCache = $();\r\n var isSingleLineMode = !this.option(\"multiline\");\r\n this.$element().addClass(TAGBOX_CLASS).toggleClass(TAGBOX_ONLY_SELECT_CLASS, !(this.option(\"searchEnabled\") || this.option(\"acceptCustomValue\"))).toggleClass(TAGBOX_SINGLE_LINE_CLASS, isSingleLineMode);\r\n this._initTagTemplate();\r\n this.callBase()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderTagRemoveAction();\r\n this._renderSingleLineScroll();\r\n this._scrollContainer(\"start\")\r\n },\r\n _initTagTemplate: function() {\r\n this._tagTemplate = this._getTemplateByOption(\"tagTemplate\")\r\n },\r\n _renderField: function() {\r\n var isDefaultFieldTemplate = !isDefined(this.option(\"fieldTemplate\"));\r\n this.$element().toggleClass(TAGBOX_DEFAULT_FIELD_TEMPLATE_CLASS, isDefaultFieldTemplate).toggleClass(TAGBOX_CUSTOM_FIELD_TEMPLATE_CLASS, !isDefaultFieldTemplate);\r\n this.callBase()\r\n },\r\n _renderTagRemoveAction: function() {\r\n var tagRemoveAction = this._createAction(this._removeTagHandler.bind(this));\r\n var eventName = addNamespace(clickEvent, \"dxTagBoxTagRemove\");\r\n eventsEngine.off(this._$tagsContainer, eventName);\r\n eventsEngine.on(this._$tagsContainer, eventName, \".\".concat(TAGBOX_TAG_REMOVE_BUTTON_CLASS), event => {\r\n tagRemoveAction({\r\n event: event\r\n })\r\n })\r\n },\r\n _renderSingleLineScroll: function() {\r\n var mouseWheelEvent = addNamespace(\"dxmousewheel\", this.NAME);\r\n var $element = this.$element();\r\n var isMultiline = this.option(\"multiline\");\r\n eventsEngine.off($element, mouseWheelEvent);\r\n if (\"desktop\" !== devices.real().deviceType) {\r\n this._$tagsContainer && this._$tagsContainer.css(\"overflowX\", isMultiline ? \"\" : \"auto\");\r\n return\r\n }\r\n if (isMultiline) {\r\n return\r\n }\r\n eventsEngine.on($element, mouseWheelEvent, this._tagContainerMouseWheelHandler.bind(this))\r\n },\r\n _tagContainerMouseWheelHandler: function(e) {\r\n var scrollLeft = this._$tagsContainer.scrollLeft();\r\n var delta = e.delta * TAGBOX_MOUSE_WHEEL_DELTA_MULTIPLIER;\r\n if (!isCommandKeyPressed(e) && allowScroll(this._$tagsContainer, delta, true)) {\r\n this._$tagsContainer.scrollLeft(scrollLeft + delta);\r\n return false\r\n }\r\n },\r\n _renderEvents: function() {\r\n this.callBase();\r\n var input = this._input();\r\n var namespace = addNamespace(\"keydown\", this.NAME);\r\n eventsEngine.on(input, namespace, e => {\r\n var keyName = normalizeKeyName(e);\r\n if (!this._isControlKey(keyName) && this._isEditable()) {\r\n this._clearTagFocus()\r\n }\r\n })\r\n },\r\n _popupWrapperClass: function() {\r\n return this.callBase() + \" \" + TAGBOX_POPUP_WRAPPER_CLASS\r\n },\r\n _renderInput: function() {\r\n this.callBase();\r\n this._renderPreventBlurOnInputClick()\r\n },\r\n _renderPreventBlurOnInputClick: function() {\r\n var eventName = addNamespace(\"mousedown\", \"dxTagBox\");\r\n eventsEngine.off(this._inputWrapper(), eventName);\r\n eventsEngine.on(this._inputWrapper(), eventName, e => {\r\n if (e.target !== this._input()[0] && this._isFocused()) {\r\n e.preventDefault()\r\n }\r\n })\r\n },\r\n _renderInputValueImpl: function() {\r\n return this._renderMultiSelect()\r\n },\r\n _loadInputValue: function() {\r\n return when()\r\n },\r\n _clearTextValue: function() {\r\n this._input().val(\"\");\r\n this._toggleEmptinessEventHandler();\r\n this.option(\"text\", \"\")\r\n },\r\n _focusInHandler: function(e) {\r\n if (!this._preventNestedFocusEvent(e)) {\r\n this._scrollContainer(\"end\")\r\n }\r\n this.callBase(e)\r\n },\r\n _renderInputValue: function() {\r\n this.option(\"displayValue\", this._searchValue());\r\n return this.callBase()\r\n },\r\n _restoreInputText: function(saveEditingValue) {\r\n if (!saveEditingValue) {\r\n this._clearTextValue()\r\n }\r\n },\r\n _focusOutHandler: function(e) {\r\n if (!this._preventNestedFocusEvent(e)) {\r\n this._clearTagFocus();\r\n this._scrollContainer(\"start\")\r\n }\r\n this.callBase(e)\r\n },\r\n _getFirstPopupElement: function() {\r\n return this.option(\"showSelectionControls\") ? this._list.$element() : this.callBase()\r\n },\r\n _initSelectAllValueChangedAction: function() {\r\n this._selectAllValueChangeAction = this._createActionByOption(\"onSelectAllValueChanged\")\r\n },\r\n _renderList: function() {\r\n this.callBase();\r\n this._setListDataSourceFilter();\r\n if (this.option(\"showSelectionControls\")) {\r\n this._list.registerKeyHandler(\"tab\", e => this._popupElementTabHandler(e));\r\n this._list.registerKeyHandler(\"escape\", e => this._popupElementEscHandler(e))\r\n }\r\n },\r\n _canListHaveFocus: function() {\r\n return \"useButtons\" === this.option(\"applyValueMode\")\r\n },\r\n _listConfig: function() {\r\n var selectionMode = this.option(\"showSelectionControls\") ? \"all\" : \"multiple\";\r\n return extend(this.callBase(), {\r\n maxFilterLengthInRequest: this.option(\"maxFilterQueryLength\"),\r\n selectionMode: selectionMode,\r\n selectAllText: this.option(\"selectAllText\"),\r\n onSelectAllValueChanged: _ref => {\r\n var {\r\n value: value\r\n } = _ref;\r\n this._selectAllValueChangeAction({\r\n value: value\r\n })\r\n },\r\n selectAllMode: this.option(\"selectAllMode\"),\r\n selectedItems: this._selectedItems,\r\n onFocusedItemChanged: null\r\n })\r\n },\r\n _renderMultiSelect: function() {\r\n var d = new Deferred;\r\n this._updateTagsContainer(this._$textEditorInputContainer);\r\n this._renderInputSize();\r\n this._renderTags().done(() => {\r\n this._popup && this._popup.refreshPosition();\r\n d.resolve()\r\n }).fail(d.reject);\r\n return d.promise()\r\n },\r\n _listItemClickHandler: function(e) {\r\n !this.option(\"showSelectionControls\") && this._clearTextValue();\r\n if (\"useButtons\" === this.option(\"applyValueMode\")) {\r\n return\r\n }\r\n this.callBase(e);\r\n this._saveValueChangeEvent(void 0)\r\n },\r\n _shouldClearFilter: function() {\r\n var shouldClearFilter = this.callBase();\r\n var showSelectionControls = this.option(\"showSelectionControls\");\r\n return !showSelectionControls && shouldClearFilter\r\n },\r\n _renderInputSize: function() {\r\n var $input = this._input();\r\n var value = $input.val();\r\n var isEmptyInput = isString(value) && value;\r\n var width = \"\";\r\n var size = \"\";\r\n var canTypeText = this.option(\"searchEnabled\") || this.option(\"acceptCustomValue\");\r\n if (isEmptyInput && canTypeText) {\r\n var $calculationElement = createTextElementHiddenCopy($input, value, {\r\n includePaddings: true\r\n });\r\n $calculationElement.insertAfter($input);\r\n width = getOuterWidth($calculationElement) + 5;\r\n $calculationElement.remove()\r\n } else if (!value) {\r\n size = 1\r\n }\r\n $input.css(\"width\", width);\r\n $input.attr(\"size\", size)\r\n },\r\n _renderInputSubstitution: function() {\r\n this.callBase();\r\n this._updateWidgetHeight()\r\n },\r\n _getValue: function() {\r\n return this.option(\"value\") || []\r\n },\r\n _multiTagRequired: function() {\r\n var values = this._getValue();\r\n var maxDisplayedTags = this.option(\"maxDisplayedTags\");\r\n return isDefined(maxDisplayedTags) && values.length > maxDisplayedTags\r\n },\r\n _renderMultiTag: function($input) {\r\n var $tag = $(\"<div>\").addClass(TAGBOX_TAG_CLASS).addClass(TAGBOX_MULTI_TAG_CLASS);\r\n var args = {\r\n multiTagElement: getPublicElement($tag),\r\n selectedItems: this.option(\"selectedItems\")\r\n };\r\n this._multiTagPreparingAction(args);\r\n if (args.cancel) {\r\n return false\r\n }\r\n $tag.data(TAGBOX_TAG_DATA_KEY, args.text);\r\n $tag.insertBefore($input);\r\n this._tagTemplate.render({\r\n model: args.text,\r\n container: getPublicElement($tag)\r\n });\r\n return $tag\r\n },\r\n _getFilter: function(creator) {\r\n var dataSourceFilter = this._dataController.filter();\r\n var filterExpr = creator.getCombinedFilter(this.option(\"valueExpr\"), dataSourceFilter);\r\n var filterQueryLength = encodeURI(JSON.stringify(filterExpr)).length;\r\n var maxFilterQueryLength = this.option(\"maxFilterQueryLength\");\r\n if (filterQueryLength <= maxFilterQueryLength) {\r\n return filterExpr\r\n }\r\n errors.log(\"W1019\", maxFilterQueryLength)\r\n },\r\n _getFilteredItems: function(values) {\r\n var _this$_loadFilteredIt, _this$_list;\r\n null === (_this$_loadFilteredIt = this._loadFilteredItemsPromise) || void 0 === _this$_loadFilteredIt ? void 0 : _this$_loadFilteredIt.reject();\r\n var creator = new FilterCreator(values);\r\n var listSelectedItems = null === (_this$_list = this._list) || void 0 === _this$_list ? void 0 : _this$_list.option(\"selectedItems\");\r\n var isListItemsLoaded = !!listSelectedItems && this._list._dataController.isLoaded();\r\n var selectedItems = listSelectedItems || this.option(\"selectedItems\");\r\n var clientFilterFunction = creator.getLocalFilter(this._valueGetter);\r\n var filteredItems = selectedItems.filter(clientFilterFunction);\r\n var selectedItemsAlreadyLoaded = filteredItems.length === values.length;\r\n var d = new Deferred;\r\n var dataController = this._dataController;\r\n if ((!this._isDataSourceChanged || isListItemsLoaded) && selectedItemsAlreadyLoaded) {\r\n return d.resolve(filteredItems).promise()\r\n } else {\r\n var {\r\n customQueryParams: customQueryParams,\r\n expand: expand,\r\n select: select\r\n } = dataController.loadOptions();\r\n var filter = this._getFilter(creator);\r\n dataController.loadFromStore({\r\n filter: filter,\r\n customQueryParams: customQueryParams,\r\n expand: expand,\r\n select: select\r\n }).done((data, extra) => {\r\n this._isDataSourceChanged = false;\r\n if (this._disposed) {\r\n d.reject();\r\n return\r\n }\r\n var {\r\n data: items\r\n } = normalizeLoadResult(data, extra);\r\n var mappedItems = dataController.applyMapFunction(items);\r\n d.resolve(mappedItems.filter(clientFilterFunction))\r\n }).fail(d.reject);\r\n this._loadFilteredItemsPromise = d;\r\n return d.promise()\r\n }\r\n },\r\n _createTagsData: function(values, filteredItems) {\r\n var items = [];\r\n var cache = {};\r\n var isValueExprSpecified = \"this\" === this._valueGetterExpr();\r\n var filteredValues = {};\r\n filteredItems.forEach(filteredItem => {\r\n var filteredItemValue = isValueExprSpecified ? JSON.stringify(filteredItem) : this._valueGetter(filteredItem);\r\n filteredValues[filteredItemValue] = filteredItem\r\n });\r\n var loadItemPromises = [];\r\n values.forEach((value, index) => {\r\n var currentItem = filteredValues[isValueExprSpecified ? JSON.stringify(value) : value];\r\n if (isValueExprSpecified && !isDefined(currentItem)) {\r\n loadItemPromises.push(this._loadItem(value, cache).always(item => {\r\n var newItem = this._createTagData(item, value);\r\n items.splice(index, 0, newItem)\r\n }))\r\n } else {\r\n var newItem = this._createTagData(currentItem, value);\r\n items.splice(index, 0, newItem)\r\n }\r\n });\r\n var d = new Deferred;\r\n when.apply(this, loadItemPromises).always((function() {\r\n d.resolve(items)\r\n }));\r\n return d.promise()\r\n },\r\n _createTagData: function(item, value) {\r\n if (isDefined(item)) {\r\n this._selectedItems.push(item);\r\n return item\r\n } else {\r\n var selectedItem = this.option(\"selectedItem\");\r\n var customItem = this._valueGetter(selectedItem) === value ? selectedItem : value;\r\n return customItem\r\n }\r\n },\r\n _isGroupedData: function() {\r\n return this.option(\"grouped\") && !this._dataController.group()\r\n },\r\n _getItemsByValues: function(values) {\r\n var resultItems = [];\r\n values.forEach(function(value) {\r\n var item = this._getItemFromPlain(value);\r\n if (isDefined(item)) {\r\n resultItems.push(item)\r\n }\r\n }.bind(this));\r\n return resultItems\r\n },\r\n _getFilteredGroupedItems: function(values) {\r\n var selectedItems = new Deferred;\r\n if (this._filteredGroupedItemsLoadPromise) {\r\n this._dataController.cancel(this._filteredGroupedItemsLoadPromise.operationId)\r\n }\r\n if (!this._dataController.items().length) {\r\n this._filteredGroupedItemsLoadPromise = this._dataController.load().done(() => {\r\n selectedItems.resolve(this._getItemsByValues(values))\r\n }).fail(() => {\r\n selectedItems.resolve([])\r\n }).always(() => {\r\n this._filteredGroupedItemsLoadPromise = void 0\r\n })\r\n } else {\r\n selectedItems.resolve(this._getItemsByValues(values))\r\n }\r\n return selectedItems.promise()\r\n },\r\n _loadTagsData: function() {\r\n var values = this._getValue();\r\n var tagData = new Deferred;\r\n this._selectedItems = [];\r\n var filteredItemsPromise = this._isGroupedData() ? this._getFilteredGroupedItems(values) : this._getFilteredItems(values);\r\n filteredItemsPromise.done(filteredItems => {\r\n var items = this._createTagsData(values, filteredItems);\r\n items.always((function(data) {\r\n tagData.resolve(data)\r\n }))\r\n }).fail(tagData.reject.bind(this));\r\n return tagData.promise()\r\n },\r\n _renderTags: function() {\r\n var d = new Deferred;\r\n var isPlainDataUsed = false;\r\n if (this._shouldGetItemsFromPlain(this._valuesToUpdate)) {\r\n this._selectedItems = this._getItemsFromPlain(this._valuesToUpdate);\r\n if (this._selectedItems.length === this._valuesToUpdate.length) {\r\n this._renderTagsImpl(this._selectedItems);\r\n isPlainDataUsed = true;\r\n d.resolve()\r\n }\r\n }\r\n if (!isPlainDataUsed) {\r\n this._loadTagsData().done(items => {\r\n if (this._disposed) {\r\n d.reject();\r\n return\r\n }\r\n this._renderTagsImpl(items);\r\n d.resolve()\r\n }).fail(d.reject)\r\n }\r\n return d.promise()\r\n },\r\n _renderTagsImpl: function(items) {\r\n this._renderTagsCore(items);\r\n this._renderEmptyState();\r\n if (!this._preserveFocusedTag) {\r\n this._clearTagFocus()\r\n }\r\n },\r\n _shouldGetItemsFromPlain: function(values) {\r\n return values && this._dataController.isLoaded() && values.length <= this._getPlainItems().length\r\n },\r\n _getItemsFromPlain: function(values) {\r\n var selectedItems = this._getSelectedItemsFromList(values);\r\n var needFilterPlainItems = 0 === selectedItems.length && values.length > 0 || selectedItems.length < values.length;\r\n if (needFilterPlainItems) {\r\n var plainItems = this._getPlainItems();\r\n selectedItems = this._filterSelectedItems(plainItems, values)\r\n }\r\n return selectedItems\r\n },\r\n _getSelectedItemsFromList: function(values) {\r\n var _this$_list2;\r\n var listSelectedItems = null === (_this$_list2 = this._list) || void 0 === _this$_list2 ? void 0 : _this$_list2.option(\"selectedItems\");\r\n var selectedItems = [];\r\n if (values.length === (null === listSelectedItems || void 0 === listSelectedItems ? void 0 : listSelectedItems.length)) {\r\n selectedItems = this._filterSelectedItems(listSelectedItems, values)\r\n }\r\n return selectedItems\r\n },\r\n _filterSelectedItems: function(plainItems, values) {\r\n var selectedItems = plainItems.filter(dataItem => {\r\n var currentValue;\r\n for (var i = 0; i < values.length; i++) {\r\n currentValue = values[i];\r\n if (isObject(currentValue)) {\r\n if (this._isValueEquals(dataItem, currentValue)) {\r\n return true\r\n }\r\n } else if (this._isValueEquals(this._valueGetter(dataItem), currentValue)) {\r\n return true\r\n }\r\n }\r\n return false\r\n }, this);\r\n return selectedItems\r\n },\r\n _integrateInput: function() {\r\n this._isInputReady.resolve();\r\n this.callBase();\r\n var tagsContainer = this.$element().find(\".\".concat(TEXTEDITOR_INPUT_CONTAINER_CLASS));\r\n this._updateTagsContainer(tagsContainer);\r\n this._renderTagRemoveAction()\r\n },\r\n _renderTagsCore: function(items) {\r\n var _this$_isInputReady;\r\n null === (_this$_isInputReady = this._isInputReady) || void 0 === _this$_isInputReady ? void 0 : _this$_isInputReady.reject();\r\n this._isInputReady = new Deferred;\r\n this._renderField();\r\n this.option(\"selectedItems\", this._selectedItems.slice());\r\n this._cleanTags();\r\n if (this._input().length > 0) {\r\n this._isInputReady.resolve()\r\n }\r\n when(this._isInputReady).done(() => {\r\n this._renderTagsElements(items)\r\n })\r\n },\r\n _renderTagsElements(items) {\r\n var $multiTag = this._multiTagRequired() && this._renderMultiTag(this._input());\r\n var showMultiTagOnly = this.option(\"showMultiTagOnly\");\r\n var maxDisplayedTags = this.option(\"maxDisplayedTags\");\r\n items.forEach((item, index) => {\r\n if ($multiTag && showMultiTagOnly || $multiTag && !showMultiTagOnly && index - maxDisplayedTags >= -1) {\r\n return false\r\n }\r\n this._renderTag(item, $multiTag || this._input())\r\n });\r\n if (this._isFocused()) {\r\n this._scrollContainer(\"end\")\r\n }\r\n this._refreshTagElements()\r\n },\r\n _cleanTags: function() {\r\n if (this._multiTagRequired()) {\r\n this._tagElements().remove()\r\n } else {\r\n var $tags = this._tagElements();\r\n var values = this._getValue();\r\n each($tags, (function(_, tag) {\r\n var $tag = $(tag);\r\n var tagData = $tag.data(TAGBOX_TAG_DATA_KEY);\r\n if (!(null !== values && void 0 !== values && values.includes(tagData))) {\r\n $tag.remove()\r\n }\r\n }))\r\n }\r\n },\r\n _renderEmptyState: function() {\r\n var isEmpty = !(this._getValue().length || this._selectedItems.length || this._searchValue());\r\n this._toggleEmptiness(isEmpty);\r\n this._renderDisplayText()\r\n },\r\n _renderDisplayText: function() {\r\n this._renderInputSize()\r\n },\r\n _refreshTagElements: function() {\r\n this._tagElementsCache = this.$element().find(\".\".concat(TAGBOX_TAG_CLASS))\r\n },\r\n _tagElements: function() {\r\n return this._tagElementsCache\r\n },\r\n _applyTagTemplate: function(item, $tag) {\r\n this._tagTemplate.render({\r\n model: item,\r\n container: getPublicElement($tag)\r\n })\r\n },\r\n _renderTag: function(item, $input) {\r\n var value = this._valueGetter(item);\r\n if (!isDefined(value)) {\r\n return\r\n }\r\n var $tag = this._getTag(value);\r\n var displayValue = this._displayGetter(item);\r\n var itemModel = this._getItemModel(item, displayValue);\r\n if ($tag) {\r\n if (isDefined(displayValue)) {\r\n $tag.empty();\r\n this._applyTagTemplate(itemModel, $tag)\r\n }\r\n $tag.removeClass(TAGBOX_CUSTOM_TAG_CLASS)\r\n } else {\r\n $tag = this._createTag(value, $input);\r\n if (isDefined(item)) {\r\n this._applyTagTemplate(itemModel, $tag)\r\n } else {\r\n $tag.addClass(TAGBOX_CUSTOM_TAG_CLASS);\r\n this._applyTagTemplate(value, $tag)\r\n }\r\n }\r\n },\r\n _getItemModel: function(item, displayValue) {\r\n if (isObject(item) && isDefined(displayValue)) {\r\n return item\r\n } else {\r\n return ensureDefined(displayValue, \"\")\r\n }\r\n },\r\n _getTag: function(value) {\r\n var $tags = this._tagElements();\r\n var tagsLength = $tags.length;\r\n var result = false;\r\n for (var i = 0; i < tagsLength; i++) {\r\n var $tag = $tags[i];\r\n var tagData = elementData($tag, TAGBOX_TAG_DATA_KEY);\r\n if (value === tagData || equalByValue(value, tagData)) {\r\n result = $($tag);\r\n break\r\n }\r\n }\r\n return result\r\n },\r\n _createTag: function(value, $input) {\r\n return $(\"<div>\").addClass(TAGBOX_TAG_CLASS).data(TAGBOX_TAG_DATA_KEY, value).insertBefore($input)\r\n },\r\n _toggleEmptinessEventHandler: function() {\r\n this._toggleEmptiness(!this._getValue().length && !this._searchValue().length)\r\n },\r\n _customItemAddedHandler: function(e) {\r\n this.callBase(e);\r\n this._clearTextValue()\r\n },\r\n _removeTagHandler: function(args) {\r\n var e = args.event;\r\n e.stopPropagation();\r\n this._saveValueChangeEvent(e);\r\n var $tag = $(e.target).closest(\".\".concat(TAGBOX_TAG_CLASS));\r\n this._removeTagElement($tag)\r\n },\r\n _removeTagElement: function($tag) {\r\n if ($tag.hasClass(TAGBOX_MULTI_TAG_CLASS)) {\r\n if (!this.option(\"showMultiTagOnly\")) {\r\n this.option(\"value\", this._getValue().slice(0, this.option(\"maxDisplayedTags\")))\r\n } else {\r\n this.reset()\r\n }\r\n return\r\n }\r\n var itemValue = $tag.data(TAGBOX_TAG_DATA_KEY);\r\n this._removeTagWithUpdate(itemValue);\r\n this._refreshTagElements()\r\n },\r\n _updateField: noop,\r\n _removeTagWithUpdate: function(itemValue) {\r\n var value = this._getValue().slice();\r\n this._removeTag(value, itemValue);\r\n this.option(\"value\", value);\r\n this.option(\"selectedItem\", null);\r\n if (0 === value.length) {\r\n this._clearTagFocus()\r\n }\r\n },\r\n _getCurrentValue: function() {\r\n return this._lastValue()\r\n },\r\n _selectionChangeHandler: function(e) {\r\n if (\"useButtons\" === this.option(\"applyValueMode\")) {\r\n return\r\n }\r\n var value = this._getValue().slice();\r\n each(e.removedItems || [], (_, removedItem) => {\r\n this._removeTag(value, this._valueGetter(removedItem))\r\n });\r\n each(e.addedItems || [], (_, addedItem) => {\r\n this._addTag(value, this._valueGetter(addedItem))\r\n });\r\n this._updateWidgetHeight();\r\n if (!equalByValue(this._list.option(\"selectedItemKeys\"), this.option(\"value\"))) {\r\n var listSelectionChangeEvent = this._list._getSelectionChangeEvent();\r\n listSelectionChangeEvent && this._saveValueChangeEvent(listSelectionChangeEvent);\r\n this.option(\"value\", value)\r\n }\r\n this._list._saveSelectionChangeEvent(void 0)\r\n },\r\n _removeTag: function(value, item) {\r\n var index = this._valueIndex(item, value);\r\n if (index >= 0) {\r\n value.splice(index, 1)\r\n }\r\n },\r\n _addTag: function(value, item) {\r\n var index = this._valueIndex(item);\r\n if (index < 0) {\r\n value.push(item)\r\n }\r\n },\r\n _fieldRenderData: function() {\r\n return this._selectedItems.slice()\r\n },\r\n _completeSelection: function(value) {\r\n if (!this.option(\"showSelectionControls\")) {\r\n this._setValue(value)\r\n }\r\n },\r\n _setValue: function(value) {\r\n if (null === value) {\r\n return\r\n }\r\n var useButtons = \"useButtons\" === this.option(\"applyValueMode\");\r\n var valueIndex = this._valueIndex(value);\r\n var values = (useButtons ? this._list.option(\"selectedItemKeys\") : this._getValue()).slice();\r\n if (valueIndex >= 0) {\r\n values.splice(valueIndex, 1)\r\n } else {\r\n values.push(value)\r\n }\r\n if (\"useButtons\" === this.option(\"applyValueMode\")) {\r\n this._list.option(\"selectedItemKeys\", values)\r\n } else {\r\n this.option(\"value\", values)\r\n }\r\n },\r\n _isSelectedValue: function(value, cache) {\r\n return this._valueIndex(value, null, cache) > -1\r\n },\r\n _valueIndex: function(value, values, cache) {\r\n var result = -1;\r\n if (cache && \"object\" !== typeof value) {\r\n if (!cache.indexByValues) {\r\n cache.indexByValues = {};\r\n values = values || this._getValue();\r\n values.forEach((function(value, index) {\r\n cache.indexByValues[value] = index\r\n }))\r\n }\r\n if (value in cache.indexByValues) {\r\n return cache.indexByValues[value]\r\n }\r\n }\r\n values = values || this._getValue();\r\n each(values, (index, selectedValue) => {\r\n if (this._isValueEquals(value, selectedValue)) {\r\n result = index;\r\n return false\r\n }\r\n });\r\n return result\r\n },\r\n _lastValue: function() {\r\n var values = this._getValue();\r\n var lastValue = values[values.length - 1];\r\n return null !== lastValue && void 0 !== lastValue ? lastValue : null\r\n },\r\n _shouldRenderSearchEvent: function() {\r\n return this.option(\"searchEnabled\") || this.option(\"acceptCustomValue\")\r\n },\r\n _searchHandler: function(e) {\r\n if (this.option(\"searchEnabled\") && !!e && !this._isTagRemoved) {\r\n this.callBase(arguments);\r\n this._setListDataSourceFilter()\r\n }\r\n this._updateWidgetHeight();\r\n delete this._isTagRemoved\r\n },\r\n _updateWidgetHeight: function() {\r\n var element = this.$element();\r\n var originalHeight = getHeight(element);\r\n this._renderInputSize();\r\n var currentHeight = getHeight(element);\r\n if (this._popup && this.option(\"opened\") && this._isEditable() && currentHeight !== originalHeight) {\r\n this._popup.repaint()\r\n }\r\n },\r\n _refreshSelected: function() {\r\n var _this$_list3;\r\n (null === (_this$_list3 = this._list) || void 0 === _this$_list3 ? void 0 : _this$_list3.getDataSource()) && this._list.option(\"selectedItems\", this._selectedItems)\r\n },\r\n _resetListDataSourceFilter: function() {\r\n var dataController = this._dataController;\r\n delete this._userFilter;\r\n dataController.filter(null);\r\n dataController.reload()\r\n },\r\n _setListDataSourceFilter: function() {\r\n if (!this.option(\"hideSelectedItems\") || !this._list) {\r\n return\r\n }\r\n var dataController = this._dataController;\r\n var valueGetterExpr = this._valueGetterExpr();\r\n if (isString(valueGetterExpr) && \"this\" !== valueGetterExpr) {\r\n var filter = this._dataSourceFilterExpr();\r\n if (void 0 === this._userFilter) {\r\n this._userFilter = dataController.filter() || null\r\n }\r\n this._userFilter && filter.push(this._userFilter);\r\n filter.length ? dataController.filter(filter) : dataController.filter(null)\r\n } else {\r\n dataController.filter(this._dataSourceFilterFunction.bind(this))\r\n }\r\n dataController.load()\r\n },\r\n _dataSourceFilterExpr: function() {\r\n var filter = [];\r\n this._getValue().forEach(value => filter.push([\"!\", [this._valueGetterExpr(), value]]));\r\n return filter\r\n },\r\n _dataSourceFilterFunction: function(itemData) {\r\n var itemValue = this._valueGetter(itemData);\r\n var result = true;\r\n each(this._getValue(), (index, value) => {\r\n if (this._isValueEquals(value, itemValue)) {\r\n result = false;\r\n return false\r\n }\r\n });\r\n return result\r\n },\r\n _dataSourceChangedHandler: function() {\r\n this._isDataSourceChanged = true;\r\n this.callBase.apply(this, arguments)\r\n },\r\n _applyButtonHandler: function(args) {\r\n this._saveValueChangeEvent(args.event);\r\n this.option(\"value\", this._getSortedListValues());\r\n this._clearTextValue();\r\n this.callBase();\r\n this._cancelSearchIfNeed()\r\n },\r\n _getSortedListValues: function() {\r\n var listValues = this._getListValues();\r\n var currentValue = this.option(\"value\") || [];\r\n var existedItems = listValues.length ? getIntersection(currentValue, listValues) : [];\r\n var newItems = existedItems.length ? removeDuplicates(listValues, currentValue) : listValues;\r\n return existedItems.concat(newItems)\r\n },\r\n _getListValues: function() {\r\n if (!this._list) {\r\n return []\r\n }\r\n return this._getPlainItems(this._list.option(\"selectedItems\")).map(item => this._valueGetter(item))\r\n },\r\n _setListDataSource: function() {\r\n var currentValue = this._getValue();\r\n this.callBase();\r\n if (currentValue !== this.option(\"value\")) {\r\n this.option(\"value\", currentValue)\r\n }\r\n this._refreshSelected()\r\n },\r\n _renderOpenedState: function() {\r\n this.callBase();\r\n if (\"useButtons\" === this.option(\"applyValueMode\") && !this.option(\"opened\")) {\r\n this._refreshSelected()\r\n }\r\n },\r\n reset: function() {\r\n this._restoreInputText();\r\n var defaultValue = this._getDefaultOptions().value;\r\n var currentValue = this.option(\"value\");\r\n if (defaultValue && 0 === defaultValue.length && currentValue && defaultValue.length === currentValue.length) {\r\n return\r\n }\r\n this.callBase()\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n delete this._defaultTagTemplate;\r\n delete this._valuesToUpdate;\r\n delete this._tagTemplate\r\n },\r\n _getSelectedItemsDifference(newItems, previousItems) {\r\n if (!newItems.length) {\r\n return {\r\n addedItems: [],\r\n removedItems: previousItems.slice()\r\n }\r\n }\r\n if (!previousItems.length) {\r\n return {\r\n addedItems: newItems.slice(),\r\n removedItems: []\r\n }\r\n }\r\n var previousItemsValuesMap = previousItems.reduce((map, item) => {\r\n var value = this._valueGetter(item);\r\n map[value] = item;\r\n return map\r\n }, {});\r\n var addedItems = [];\r\n newItems.forEach(item => {\r\n var value = this._valueGetter(item);\r\n if (!previousItemsValuesMap[value]) {\r\n addedItems.push(item)\r\n }\r\n delete previousItemsValuesMap[value]\r\n });\r\n return {\r\n addedItems: addedItems,\r\n removedItems: Object.values(previousItemsValuesMap)\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n var {\r\n name: name,\r\n value: value,\r\n previousValue: previousValue\r\n } = args;\r\n switch (name) {\r\n case \"onSelectAllValueChanged\":\r\n this._initSelectAllValueChangedAction();\r\n break;\r\n case \"onMultiTagPreparing\":\r\n this._initMultiTagPreparingAction();\r\n this._renderTags();\r\n break;\r\n case \"hideSelectedItems\":\r\n if (value) {\r\n this._setListDataSourceFilter()\r\n } else {\r\n this._resetListDataSourceFilter()\r\n }\r\n break;\r\n case \"useSubmitBehavior\":\r\n this._toggleSubmitElement(value);\r\n break;\r\n case \"displayExpr\":\r\n this.callBase(args);\r\n this._initTemplates();\r\n this._invalidate();\r\n break;\r\n case \"tagTemplate\":\r\n this._initTagTemplate();\r\n this._invalidate();\r\n break;\r\n case \"selectAllText\":\r\n this._setListOption(\"selectAllText\", this.option(\"selectAllText\"));\r\n break;\r\n case \"readOnly\":\r\n case \"disabled\":\r\n this.callBase(args);\r\n !value && this._refreshEvents();\r\n break;\r\n case \"value\":\r\n this._valuesToUpdate = value;\r\n this.callBase(args);\r\n this._valuesToUpdate = void 0;\r\n this._setListDataSourceFilter();\r\n break;\r\n case \"maxDisplayedTags\":\r\n case \"showMultiTagOnly\":\r\n this._renderTags();\r\n break;\r\n case \"selectAllMode\":\r\n this._setListOption(name, value);\r\n break;\r\n case \"selectedItem\":\r\n break;\r\n case \"selectedItems\":\r\n this._selectionChangedAction(this._getSelectedItemsDifference(value, previousValue));\r\n break;\r\n case \"multiline\":\r\n this.$element().toggleClass(TAGBOX_SINGLE_LINE_CLASS, !value);\r\n this._renderSingleLineScroll();\r\n break;\r\n case \"maxFilterQueryLength\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _getActualSearchValue: function() {\r\n return this.callBase() || this._searchValue()\r\n },\r\n _popupHidingHandler: function() {\r\n this.callBase();\r\n this._clearFilter()\r\n }\r\n});\r\nregisterComponent(\"dxTagBox\", TagBox);\r\nexport default TagBox;\r\n","/**\r\n * DevExtreme (esm/ui/text_area.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n noop,\r\n ensureDefined\r\n} from \"../core/utils/common\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n isDefined\r\n} from \"../core/utils/type\";\r\nimport {\r\n addNamespace,\r\n eventData\r\n} from \"../events/utils/index\";\r\nimport pointerEvents from \"../events/pointer\";\r\nimport scrollEvents from \"../events/gesture/emitter.gesture.scroll\";\r\nimport {\r\n getVerticalOffsets,\r\n getElementBoxParams,\r\n parseHeight,\r\n getOuterHeight\r\n} from \"../core/utils/size\";\r\nimport {\r\n allowScroll,\r\n prepareScrollData\r\n} from \"./text_box/utils.scroll\";\r\nimport TextBox from \"./text_box\";\r\nvar TEXTAREA_CLASS = \"dx-textarea\";\r\nvar TEXTEDITOR_INPUT_CLASS_AUTO_RESIZE = \"dx-texteditor-input-auto-resize\";\r\nvar TextArea = TextBox.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n spellcheck: true,\r\n minHeight: void 0,\r\n maxHeight: void 0,\r\n autoResizeEnabled: false\r\n })\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(TEXTAREA_CLASS);\r\n this.callBase();\r\n this.setAria(\"multiline\", \"true\")\r\n },\r\n _renderContentImpl: function() {\r\n this._updateInputHeight();\r\n this.callBase()\r\n },\r\n _renderInput: function() {\r\n this.callBase();\r\n this._renderScrollHandler()\r\n },\r\n _createInput: function() {\r\n var $input = $(\"<textarea>\");\r\n this._applyInputAttributes($input, this.option(\"inputAttr\"));\r\n this._updateInputAutoResizeAppearance($input);\r\n return $input\r\n },\r\n _getDefaultAttributes: function() {\r\n return {\r\n autocomplete: \"off\"\r\n }\r\n },\r\n _setInputMinHeight: noop,\r\n _renderScrollHandler: function() {\r\n this._eventY = 0;\r\n var $input = this._input();\r\n var initScrollData = prepareScrollData($input, true);\r\n eventsEngine.on($input, addNamespace(scrollEvents.init, this.NAME), initScrollData, noop);\r\n eventsEngine.on($input, addNamespace(pointerEvents.down, this.NAME), this._pointerDownHandler.bind(this));\r\n eventsEngine.on($input, addNamespace(pointerEvents.move, this.NAME), this._pointerMoveHandler.bind(this))\r\n },\r\n _pointerDownHandler: function(e) {\r\n this._eventY = eventData(e).y\r\n },\r\n _pointerMoveHandler: function(e) {\r\n var currentEventY = eventData(e).y;\r\n var delta = this._eventY - currentEventY;\r\n if (allowScroll(this._input(), delta)) {\r\n e.isScrollingEvent = true;\r\n e.stopPropagation()\r\n }\r\n this._eventY = currentEventY\r\n },\r\n _renderDimensions: function() {\r\n var $element = this.$element();\r\n var element = $element.get(0);\r\n var width = this._getOptionValue(\"width\", element);\r\n var height = this._getOptionValue(\"height\", element);\r\n var minHeight = this.option(\"minHeight\");\r\n var maxHeight = this.option(\"maxHeight\");\r\n $element.css({\r\n minHeight: void 0 !== minHeight ? minHeight : \"\",\r\n maxHeight: void 0 !== maxHeight ? maxHeight : \"\",\r\n width: width,\r\n height: height\r\n })\r\n },\r\n _resetDimensions: function() {\r\n this.$element().css({\r\n height: \"\",\r\n minHeight: \"\",\r\n maxHeight: \"\"\r\n })\r\n },\r\n _renderEvents: function() {\r\n if (this.option(\"autoResizeEnabled\")) {\r\n eventsEngine.on(this._input(), addNamespace(\"input paste\", this.NAME), this._updateInputHeight.bind(this))\r\n }\r\n this.callBase()\r\n },\r\n _refreshEvents: function() {\r\n eventsEngine.off(this._input(), addNamespace(\"input paste\", this.NAME));\r\n this.callBase()\r\n },\r\n _getHeightDifference($input) {\r\n return getVerticalOffsets(this._$element.get(0), false) + getVerticalOffsets(this._$textEditorContainer.get(0), false) + getVerticalOffsets(this._$textEditorInputContainer.get(0), false) + getElementBoxParams(\"height\", getWindow().getComputedStyle($input.get(0))).margin\r\n },\r\n _updateInputHeight: function() {\r\n if (!hasWindow()) {\r\n return\r\n }\r\n var $input = this._input();\r\n var height = this.option(\"height\");\r\n var autoHeightResizing = void 0 === height && this.option(\"autoResizeEnabled\");\r\n var shouldCalculateInputHeight = autoHeightResizing || void 0 === height && this.option(\"minHeight\");\r\n if (!shouldCalculateInputHeight) {\r\n $input.css(\"height\", \"\");\r\n return\r\n }\r\n this._resetDimensions();\r\n this._$element.css(\"height\", getOuterHeight(this._$element));\r\n $input.css(\"height\", 0);\r\n var heightDifference = this._getHeightDifference($input);\r\n this._renderDimensions();\r\n var minHeight = this._getBoundaryHeight(\"minHeight\");\r\n var maxHeight = this._getBoundaryHeight(\"maxHeight\");\r\n var inputHeight = $input[0].scrollHeight;\r\n if (void 0 !== minHeight) {\r\n inputHeight = Math.max(inputHeight, minHeight - heightDifference)\r\n }\r\n if (void 0 !== maxHeight) {\r\n var adjustedMaxHeight = maxHeight - heightDifference;\r\n var needScroll = inputHeight > adjustedMaxHeight;\r\n inputHeight = Math.min(inputHeight, adjustedMaxHeight);\r\n this._updateInputAutoResizeAppearance($input, !needScroll)\r\n }\r\n $input.css(\"height\", inputHeight);\r\n if (autoHeightResizing) {\r\n this._$element.css(\"height\", \"auto\")\r\n }\r\n },\r\n _getBoundaryHeight: function(optionName) {\r\n var boundaryValue = this.option(optionName);\r\n if (isDefined(boundaryValue)) {\r\n return \"number\" === typeof boundaryValue ? boundaryValue : parseHeight(boundaryValue, this.$element().get(0).parentElement, this._$element.get(0))\r\n }\r\n },\r\n _renderInputType: noop,\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this._updateInputHeight()\r\n }\r\n },\r\n _updateInputAutoResizeAppearance: function($input, isAutoResizeEnabled) {\r\n if ($input) {\r\n var autoResizeEnabled = ensureDefined(isAutoResizeEnabled, this.option(\"autoResizeEnabled\"));\r\n $input.toggleClass(TEXTEDITOR_INPUT_CLASS_AUTO_RESIZE, autoResizeEnabled)\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n if (this.option(\"visible\")) {\r\n this._updateInputHeight()\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"autoResizeEnabled\":\r\n this._updateInputAutoResizeAppearance(this._input(), args.value);\r\n this._refreshEvents();\r\n this._updateInputHeight();\r\n break;\r\n case \"value\":\r\n case \"height\":\r\n this.callBase(args);\r\n this._updateInputHeight();\r\n break;\r\n case \"minHeight\":\r\n case \"maxHeight\":\r\n this._renderDimensions();\r\n this._updateInputHeight();\r\n break;\r\n case \"visible\":\r\n this.callBase(args);\r\n args.value && this._updateInputHeight();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxTextArea\", TextArea);\r\nexport default TextArea;\r\n","/**\r\n * DevExtreme (esm/ui/text_box/text_box.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport TextEditor from \"./ui.text_editor\";\r\nimport {\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport {\r\n getOuterWidth,\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nvar ignoreKeys = [\"backspace\", \"tab\", \"enter\", \"pageUp\", \"pageDown\", \"end\", \"home\", \"leftArrow\", \"rightArrow\", \"downArrow\", \"upArrow\", \"del\"];\r\nvar TEXTBOX_CLASS = \"dx-textbox\";\r\nvar SEARCHBOX_CLASS = \"dx-searchbox\";\r\nvar ICON_CLASS = \"dx-icon\";\r\nvar SEARCH_ICON_CLASS = \"dx-icon-search\";\r\nvar TextBox = TextEditor.inherit({\r\n ctor: function(element, options) {\r\n if (options) {\r\n this._showClearButton = options.showClearButton\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n value: \"\",\r\n mode: \"text\",\r\n maxLength: null\r\n })\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(TEXTBOX_CLASS);\r\n this.callBase();\r\n this.setAria(\"role\", \"textbox\")\r\n },\r\n _renderInputType: function() {\r\n this.callBase();\r\n this._renderSearchMode()\r\n },\r\n _useTemplates: function() {\r\n return false\r\n },\r\n _renderProps: function() {\r\n this.callBase();\r\n this._toggleMaxLengthProp()\r\n },\r\n _toggleMaxLengthProp: function() {\r\n var maxLength = this._getMaxLength();\r\n if (maxLength && maxLength > 0) {\r\n this._input().attr(\"maxLength\", maxLength)\r\n } else {\r\n this._input().removeAttr(\"maxLength\")\r\n }\r\n },\r\n _renderSearchMode: function() {\r\n var $element = this._$element;\r\n if (\"search\" === this.option(\"mode\")) {\r\n $element.addClass(SEARCHBOX_CLASS);\r\n this._renderSearchIcon();\r\n if (void 0 === this._showClearButton) {\r\n this._showClearButton = this.option(\"showClearButton\");\r\n this.option(\"showClearButton\", true)\r\n }\r\n } else {\r\n $element.removeClass(SEARCHBOX_CLASS);\r\n this._$searchIcon && this._$searchIcon.remove();\r\n this.option(\"showClearButton\", void 0 === this._showClearButton ? this.option(\"showClearButton\") : this._showClearButton);\r\n delete this._showClearButton\r\n }\r\n },\r\n _renderSearchIcon: function() {\r\n var $searchIcon = $(\"<div>\").addClass(ICON_CLASS).addClass(SEARCH_ICON_CLASS);\r\n $searchIcon.prependTo(this._input().parent());\r\n this._$searchIcon = $searchIcon\r\n },\r\n _getLabelContainerWidth: function() {\r\n if (this._$searchIcon) {\r\n var $inputContainer = this._input().parent();\r\n return getWidth($inputContainer) - this._getLabelBeforeWidth()\r\n }\r\n return this.callBase()\r\n },\r\n _getLabelBeforeWidth: function() {\r\n var labelBeforeWidth = this.callBase();\r\n if (this._$searchIcon) {\r\n labelBeforeWidth += getOuterWidth(this._$searchIcon)\r\n }\r\n return labelBeforeWidth\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"maxLength\":\r\n this._toggleMaxLengthProp();\r\n break;\r\n case \"mode\":\r\n this.callBase(args);\r\n this._updateLabelWidth();\r\n break;\r\n case \"mask\":\r\n this.callBase(args);\r\n this._toggleMaxLengthProp();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _onKeyDownCutOffHandler: function(e) {\r\n var actualMaxLength = this._getMaxLength();\r\n if (actualMaxLength && !e.ctrlKey && !this._hasSelection()) {\r\n var $input = $(e.target);\r\n var key = normalizeKeyName(e);\r\n this._cutOffExtraChar($input);\r\n return $input.val().length < actualMaxLength || ignoreKeys.includes(key) || \"\" !== window.getSelection().toString()\r\n } else {\r\n return true\r\n }\r\n },\r\n _onChangeCutOffHandler: function(e) {\r\n var $input = $(e.target);\r\n if (this.option(\"maxLength\")) {\r\n this._cutOffExtraChar($input)\r\n }\r\n },\r\n _cutOffExtraChar: function($input) {\r\n var actualMaxLength = this._getMaxLength();\r\n var textInput = $input.val();\r\n if (actualMaxLength && textInput.length > actualMaxLength) {\r\n $input.val(textInput.substr(0, actualMaxLength))\r\n }\r\n },\r\n _getMaxLength: function() {\r\n var isMaskSpecified = !!this.option(\"mask\");\r\n return isMaskSpecified ? null : this.option(\"maxLength\")\r\n }\r\n});\r\nregisterComponent(\"dxTextBox\", TextBox);\r\nexport default TextBox;\r\n","/**\r\n * DevExtreme (esm/ui/text_box.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport TextBox from \"./text_box/text_box\";\r\nexport default TextBox;\r\n","/**\r\n * DevExtreme (esm/ui/text_box/texteditor_button_collection/button.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nexport default class TextEditorButton {\r\n constructor(name, editor, options) {\r\n this.instance = null;\r\n this.$container = null;\r\n this.$placeMarker = null;\r\n this.editor = editor;\r\n this.name = name;\r\n this.options = options || {}\r\n }\r\n _addPlaceMarker($container) {\r\n this.$placeMarker = $(\"<div>\").appendTo($container)\r\n }\r\n _addToContainer($element) {\r\n var {\r\n $placeMarker: $placeMarker,\r\n $container: $container\r\n } = this;\r\n $placeMarker ? $placeMarker.replaceWith($element) : $element.appendTo($container)\r\n }\r\n _attachEvents() {\r\n throw \"Not implemented\"\r\n }\r\n _create() {\r\n throw \"Not implemented\"\r\n }\r\n _isRendered() {\r\n return !!this.instance\r\n }\r\n _isVisible() {\r\n var {\r\n editor: editor,\r\n options: options\r\n } = this;\r\n return options.visible || !editor.option(\"readOnly\")\r\n }\r\n _isDisabled() {\r\n throw \"Not implemented\"\r\n }\r\n _shouldRender() {\r\n return this._isVisible() && !this._isRendered()\r\n }\r\n dispose() {\r\n var {\r\n instance: instance,\r\n $placeMarker: $placeMarker\r\n } = this;\r\n if (instance) {\r\n instance.dispose ? instance.dispose() : instance.remove();\r\n this.instance = null\r\n }\r\n $placeMarker && $placeMarker.remove()\r\n }\r\n render() {\r\n var $container = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.$container;\r\n this.$container = $container;\r\n if (this._isVisible()) {\r\n var {\r\n instance: instance,\r\n $element: $element\r\n } = this._create();\r\n this.instance = instance;\r\n this._attachEvents(instance, $element)\r\n } else {\r\n this._addPlaceMarker($container)\r\n }\r\n }\r\n update() {\r\n if (this._shouldRender()) {\r\n this.render()\r\n }\r\n return !!this.instance\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/text_box/utils.support.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport devices from \"../../core/devices\";\r\nimport browser from \"../../core/utils/browser\";\r\n\r\nfunction isModernAndroidDevice() {\r\n var {\r\n android: android,\r\n version: version\r\n } = devices.real();\r\n return android && version[0] > 4\r\n}\r\nexport function isInputEventsL2Supported() {\r\n return \"onbeforeinput\" in domAdapter.createElement(\"input\") && !browser.chrome || isModernAndroidDevice()\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.mask.rule.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar EMPTY_CHAR = \" \";\r\nvar BaseMaskRule = Class.inherit({\r\n ctor: function(config) {\r\n this._value = EMPTY_CHAR;\r\n extend(this, config)\r\n },\r\n next: function(rule) {\r\n if (!arguments.length) {\r\n return this._next\r\n }\r\n this._next = rule\r\n },\r\n text: noop,\r\n value: noop,\r\n rawValue: noop,\r\n handle: noop,\r\n _prepareHandlingArgs: function(args, config) {\r\n var _config$str, _config$start, _config$length;\r\n config = config || {};\r\n var handlingProperty = Object.prototype.hasOwnProperty.call(args, \"value\") ? \"value\" : \"text\";\r\n args[handlingProperty] = null !== (_config$str = config.str) && void 0 !== _config$str ? _config$str : args[handlingProperty];\r\n args.start = null !== (_config$start = config.start) && void 0 !== _config$start ? _config$start : args.start;\r\n args.length = null !== (_config$length = config.length) && void 0 !== _config$length ? _config$length : args.length;\r\n args.index = args.index + 1;\r\n return args\r\n },\r\n reset: noop,\r\n clear: noop,\r\n first: function(index) {\r\n index = index || 0;\r\n return this.next().first(index + 1)\r\n },\r\n isAccepted: function() {\r\n return false\r\n },\r\n adjustedCaret: function(caret, isForwardDirection, char) {\r\n return isForwardDirection ? this._adjustedForward(caret, 0, char) : this._adjustedBackward(caret, 0, char)\r\n },\r\n _adjustedForward: noop,\r\n _adjustedBackward: noop,\r\n isValid: noop\r\n});\r\nexport var EmptyMaskRule = BaseMaskRule.inherit({\r\n next: noop,\r\n handle: function() {\r\n return 0\r\n },\r\n text: function() {\r\n return \"\"\r\n },\r\n value: function() {\r\n return \"\"\r\n },\r\n first: function() {\r\n return 0\r\n },\r\n rawValue: function() {\r\n return \"\"\r\n },\r\n adjustedCaret: function() {\r\n return 0\r\n },\r\n isValid: function() {\r\n return true\r\n }\r\n});\r\nexport var MaskRule = BaseMaskRule.inherit({\r\n text: function() {\r\n return (this._value !== EMPTY_CHAR ? this._value : this.maskChar) + this.next().text()\r\n },\r\n value: function() {\r\n return this._value + this.next().value()\r\n },\r\n rawValue: function() {\r\n return this._value + this.next().rawValue()\r\n },\r\n handle: function(args) {\r\n var str = Object.prototype.hasOwnProperty.call(args, \"value\") ? args.value : args.text;\r\n if (!str || !str.length || !args.length) {\r\n return 0\r\n }\r\n if (args.start) {\r\n return this.next().handle(this._prepareHandlingArgs(args, {\r\n start: args.start - 1\r\n }))\r\n }\r\n var char = str[0];\r\n var rest = str.substring(1);\r\n this._tryAcceptChar(char, args);\r\n return this._accepted() ? this.next().handle(this._prepareHandlingArgs(args, {\r\n str: rest,\r\n length: args.length - 1\r\n })) + 1 : this.handle(this._prepareHandlingArgs(args, {\r\n str: rest,\r\n length: args.length - 1\r\n }))\r\n },\r\n clear: function(args) {\r\n this._tryAcceptChar(EMPTY_CHAR, args);\r\n this.next().clear(this._prepareHandlingArgs(args))\r\n },\r\n reset: function() {\r\n this._accepted(false);\r\n this.next().reset()\r\n },\r\n _tryAcceptChar: function(char, args) {\r\n this._accepted(false);\r\n if (!this._isAllowed(char, args)) {\r\n return\r\n }\r\n var acceptedChar = char === EMPTY_CHAR ? this.maskChar : char;\r\n args.fullText = args.fullText.substring(0, args.index) + acceptedChar + args.fullText.substring(args.index + 1);\r\n this._accepted(true);\r\n this._value = char\r\n },\r\n _accepted: function(value) {\r\n if (!arguments.length) {\r\n return !!this._isAccepted\r\n }\r\n this._isAccepted = !!value\r\n },\r\n first: function(index) {\r\n return this._value === EMPTY_CHAR ? index || 0 : this.callBase(index)\r\n },\r\n _isAllowed: function(char, args) {\r\n if (char === EMPTY_CHAR) {\r\n return true\r\n }\r\n return this._isValid(char, args)\r\n },\r\n _isValid: function(char, args) {\r\n var allowedChars = this.allowedChars;\r\n if (allowedChars instanceof RegExp) {\r\n return allowedChars.test(char)\r\n }\r\n if (isFunction(allowedChars)) {\r\n return allowedChars(char, args.index, args.fullText)\r\n }\r\n if (Array.isArray(allowedChars)) {\r\n return allowedChars.includes(char)\r\n }\r\n return allowedChars === char\r\n },\r\n isAccepted: function(caret) {\r\n return 0 === caret ? this._accepted() : this.next().isAccepted(caret - 1)\r\n },\r\n _adjustedForward: function(caret, index, char) {\r\n if (index >= caret) {\r\n return index\r\n }\r\n return this.next()._adjustedForward(caret, index + 1, char) || index + 1\r\n },\r\n _adjustedBackward: function(caret, index) {\r\n if (index >= caret - 1) {\r\n return caret\r\n }\r\n return this.next()._adjustedBackward(caret, index + 1) || index + 1\r\n },\r\n isValid: function(args) {\r\n return this._isValid(this._value, args) && this.next().isValid(this._prepareHandlingArgs(args))\r\n }\r\n});\r\nexport var StubMaskRule = MaskRule.inherit({\r\n value: function() {\r\n return this.next().value()\r\n },\r\n handle: function(args) {\r\n var hasValueProperty = Object.prototype.hasOwnProperty.call(args, \"value\");\r\n var str = hasValueProperty ? args.value : args.text;\r\n if (!str.length || !args.length) {\r\n return 0\r\n }\r\n if (args.start || hasValueProperty) {\r\n return this.next().handle(this._prepareHandlingArgs(args, {\r\n start: args.start && args.start - 1\r\n }))\r\n }\r\n var char = str[0];\r\n var rest = str.substring(1);\r\n this._tryAcceptChar(char);\r\n var nextArgs = this._isAllowed(char) ? this._prepareHandlingArgs(args, {\r\n str: rest,\r\n length: args.length - 1\r\n }) : args;\r\n return this.next().handle(nextArgs) + 1\r\n },\r\n clear: function(args) {\r\n this._accepted(false);\r\n this.next().clear(this._prepareHandlingArgs(args))\r\n },\r\n _tryAcceptChar: function(char) {\r\n this._accepted(this._isValid(char))\r\n },\r\n _isValid: function(char) {\r\n return char === this.maskChar\r\n },\r\n first: function(index) {\r\n index = index || 0;\r\n return this.next().first(index + 1)\r\n },\r\n _adjustedForward: function(caret, index, char) {\r\n if (index >= caret && char === this.maskChar) {\r\n return index\r\n }\r\n if (caret === index + 1 && this._accepted()) {\r\n return caret\r\n }\r\n return this.next()._adjustedForward(caret, index + 1, char)\r\n },\r\n _adjustedBackward: function(caret, index) {\r\n if (index >= caret - 1) {\r\n return 0\r\n }\r\n return this.next()._adjustedBackward(caret, index + 1)\r\n },\r\n isValid: function(args) {\r\n return this.next().isValid(this._prepareHandlingArgs(args))\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.clear.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport TextEditorButton from \"./texteditor_button_collection/button\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport pointer from \"../../events/pointer\";\r\nimport {\r\n name as click\r\n} from \"../../events/click\";\r\nvar pointerDown = pointer.down;\r\nvar STATE_INVISIBLE_CLASS = \"dx-state-invisible\";\r\nvar TEXTEDITOR_CLEAR_BUTTON_CLASS = \"dx-clear-button-area\";\r\nvar TEXTEDITOR_CLEAR_ICON_CLASS = \"dx-icon-clear\";\r\nvar TEXTEDITOR_ICON_CLASS = \"dx-icon\";\r\nvar TEXTEDITOR_SHOW_CLEAR_BUTTON_CLASS = \"dx-show-clear-button\";\r\nexport default class ClearButton extends TextEditorButton {\r\n _create() {\r\n var $element = $(\"<span>\").addClass(TEXTEDITOR_CLEAR_BUTTON_CLASS).append($(\"<span>\").addClass(TEXTEDITOR_ICON_CLASS).addClass(TEXTEDITOR_CLEAR_ICON_CLASS));\r\n this._addToContainer($element);\r\n this.update(true);\r\n return {\r\n instance: $element,\r\n $element: $element\r\n }\r\n }\r\n _isVisible() {\r\n var {\r\n editor: editor\r\n } = this;\r\n return editor._isClearButtonVisible()\r\n }\r\n _attachEvents(instance, $button) {\r\n var {\r\n editor: editor\r\n } = this;\r\n var editorName = editor.NAME;\r\n eventsEngine.on($button, addNamespace(pointerDown, editorName), e => {\r\n e.preventDefault();\r\n if (\"mouse\" !== e.pointerType) {\r\n editor._clearValueHandler(e)\r\n }\r\n });\r\n eventsEngine.on($button, addNamespace(click, editorName), e => editor._clearValueHandler(e))\r\n }\r\n _legacyRender($editor, isVisible) {\r\n $editor.toggleClass(TEXTEDITOR_SHOW_CLEAR_BUTTON_CLASS, isVisible)\r\n }\r\n update() {\r\n var rendered = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : false;\r\n !rendered && super.update();\r\n var {\r\n editor: editor,\r\n instance: instance\r\n } = this;\r\n var $editor = editor.$element();\r\n var isVisible = this._isVisible();\r\n instance && instance.toggleClass(STATE_INVISIBLE_CLASS, !isVisible);\r\n this._legacyRender($editor, isVisible)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/text_box/texteditor_button_collection/custom.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport TextEditorButton from \"./button\";\r\nimport Button from \"../../button\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport {\r\n start,\r\n end\r\n} from \"../../../events/hover\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../events/click\";\r\nvar CUSTOM_BUTTON_HOVERED_CLASS = \"dx-custom-button-hovered\";\r\nexport default class CustomButton extends TextEditorButton {\r\n _attachEvents(instance, $element) {\r\n var {\r\n editor: editor\r\n } = this;\r\n eventsEngine.on($element, start, () => {\r\n editor.$element().addClass(CUSTOM_BUTTON_HOVERED_CLASS)\r\n });\r\n eventsEngine.on($element, end, () => {\r\n editor.$element().removeClass(CUSTOM_BUTTON_HOVERED_CLASS)\r\n });\r\n eventsEngine.on($element, clickEventName, e => {\r\n e.stopPropagation()\r\n })\r\n }\r\n _create() {\r\n var {\r\n editor: editor\r\n } = this;\r\n var $element = $(\"<div>\");\r\n this._addToContainer($element);\r\n var instance = editor._createComponent($element, Button, extend({}, this.options, {\r\n ignoreParentReadOnly: true,\r\n disabled: this._isDisabled(),\r\n integrationOptions: this._prepareIntegrationOptions(editor)\r\n }));\r\n return {\r\n $element: $element,\r\n instance: instance\r\n }\r\n }\r\n _prepareIntegrationOptions(editor) {\r\n return extend({}, editor.option(\"integrationOptions\"), {\r\n skipTemplates: [\"content\"]\r\n })\r\n }\r\n update() {\r\n var isUpdated = super.update();\r\n if (this.instance) {\r\n this.instance.option(\"disabled\", this._isDisabled())\r\n }\r\n return isUpdated\r\n }\r\n _isVisible() {\r\n var {\r\n editor: editor\r\n } = this;\r\n return editor.option(\"visible\")\r\n }\r\n _isDisabled() {\r\n var isDefinedByUser = void 0 !== this.options.disabled;\r\n if (isDefinedByUser) {\r\n return this.instance ? this.instance.option(\"disabled\") : this.options.disabled\r\n } else {\r\n return this.editor.option(\"readOnly\")\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/text_box/texteditor_button_collection/index.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport CustomButton from \"./custom\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport errors from \"../../widget/ui.errors\";\r\nvar TEXTEDITOR_BUTTONS_CONTAINER_CLASS = \"dx-texteditor-buttons-container\";\r\n\r\nfunction checkButtonInfo(buttonInfo) {\r\n (() => {\r\n if (!buttonInfo || \"object\" !== typeof buttonInfo || Array.isArray(buttonInfo)) {\r\n throw errors.Error(\"E1053\")\r\n }\r\n })();\r\n (() => {\r\n if (!(\"name\" in buttonInfo)) {\r\n throw errors.Error(\"E1054\")\r\n }\r\n })();\r\n (() => {\r\n var {\r\n name: name\r\n } = buttonInfo;\r\n if (\"string\" !== typeof name) {\r\n throw errors.Error(\"E1055\")\r\n }\r\n })();\r\n (() => {\r\n var {\r\n location: location\r\n } = buttonInfo;\r\n if (\"location\" in buttonInfo && \"after\" !== location && \"before\" !== location) {\r\n buttonInfo.location = \"after\"\r\n }\r\n })()\r\n}\r\n\r\nfunction checkNamesUniqueness(existingNames, newName) {\r\n if (-1 !== existingNames.indexOf(newName)) {\r\n throw errors.Error(\"E1055\", newName)\r\n }\r\n existingNames.push(newName)\r\n}\r\n\r\nfunction isPredefinedButtonName(name, predefinedButtonsInfo) {\r\n return !!predefinedButtonsInfo.find(info => info.name === name)\r\n}\r\nexport default class TextEditorButtonCollection {\r\n constructor(editor, defaultButtonsInfo) {\r\n this.buttons = [];\r\n this.defaultButtonsInfo = defaultButtonsInfo;\r\n this.editor = editor\r\n }\r\n _compileButtonInfo(buttons) {\r\n var names = [];\r\n return buttons.map(button => {\r\n var isStringButton = \"string\" === typeof button;\r\n if (!isStringButton) {\r\n checkButtonInfo(button)\r\n }\r\n var isDefaultButton = isStringButton || isPredefinedButtonName(button.name, this.defaultButtonsInfo);\r\n if (isDefaultButton) {\r\n var defaultButtonInfo = this.defaultButtonsInfo.find(_ref => {\r\n var {\r\n name: name\r\n } = _ref;\r\n return name === button || name === button.name\r\n });\r\n if (!defaultButtonInfo) {\r\n throw errors.Error(\"E1056\", this.editor.NAME, button)\r\n }\r\n checkNamesUniqueness(names, button);\r\n return defaultButtonInfo\r\n } else {\r\n var {\r\n name: name\r\n } = button;\r\n checkNamesUniqueness(names, name);\r\n return extend(button, {\r\n Ctor: CustomButton\r\n })\r\n }\r\n })\r\n }\r\n _createButton(buttonsInfo) {\r\n var {\r\n Ctor: Ctor,\r\n options: options,\r\n name: name\r\n } = buttonsInfo;\r\n var button = new Ctor(name, this.editor, options);\r\n this.buttons.push(button);\r\n return button\r\n }\r\n _renderButtons(buttons, $container, targetLocation) {\r\n var $buttonsContainer = null;\r\n var buttonsInfo = buttons ? this._compileButtonInfo(buttons) : this.defaultButtonsInfo;\r\n buttonsInfo.forEach(buttonsInfo => {\r\n var {\r\n location: location = \"after\"\r\n } = buttonsInfo;\r\n if (location === targetLocation) {\r\n this._createButton(buttonsInfo).render((() => {\r\n $buttonsContainer = $buttonsContainer || $(\"<div>\").addClass(TEXTEDITOR_BUTTONS_CONTAINER_CLASS);\r\n \"before\" === targetLocation ? $container.prepend($buttonsContainer) : $container.append($buttonsContainer);\r\n return $buttonsContainer\r\n })())\r\n }\r\n });\r\n return $buttonsContainer\r\n }\r\n clean() {\r\n this.buttons.forEach(button => button.dispose());\r\n this.buttons = []\r\n }\r\n getButton(buttonName) {\r\n var button = this.buttons.find(_ref2 => {\r\n var {\r\n name: name\r\n } = _ref2;\r\n return name === buttonName\r\n });\r\n return button && button.instance\r\n }\r\n renderAfterButtons(buttons, $container) {\r\n return this._renderButtons(buttons, $container, \"after\")\r\n }\r\n renderBeforeButtons(buttons, $container) {\r\n return this._renderButtons(buttons, $container, \"before\")\r\n }\r\n updateButtons(names) {\r\n this.buttons.forEach(button => {\r\n if (!names || -1 !== names.indexOf(button.name)) {\r\n button.update()\r\n }\r\n })\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.label.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Guid from \"../../core/guid\";\r\nvar TEXTEDITOR_LABEL_CLASS = \"dx-texteditor-label\";\r\nvar TEXTEDITOR_WITH_LABEL_CLASS = \"dx-texteditor-with-label\";\r\nvar TEXTEDITOR_WITH_FLOATING_LABEL_CLASS = \"dx-texteditor-with-floating-label\";\r\nvar TEXTEDITOR_WITH_BEFORE_BUTTONS_CLASS = \"dx-texteditor-with-before-buttons\";\r\nvar LABEL_BEFORE_CLASS = \"dx-label-before\";\r\nvar LABEL_CLASS = \"dx-label\";\r\nvar LABEL_AFTER_CLASS = \"dx-label-after\";\r\nclass TextEditorLabel {\r\n constructor(props) {\r\n this._props = props;\r\n this._id = \"\".concat(TEXTEDITOR_LABEL_CLASS, \"-\").concat(new Guid);\r\n this._render();\r\n this._toggleMarkupVisibility()\r\n }\r\n _isVisible() {\r\n return !!this._props.text && \"hidden\" !== this._props.mode\r\n }\r\n _render() {\r\n this._$before = $(\"<div>\").addClass(LABEL_BEFORE_CLASS);\r\n this._$labelSpan = $(\"<span>\");\r\n this._$label = $(\"<div>\").addClass(LABEL_CLASS).append(this._$labelSpan);\r\n this._$after = $(\"<div>\").addClass(LABEL_AFTER_CLASS);\r\n this._$root = $(\"<div>\").addClass(TEXTEDITOR_LABEL_CLASS).attr(\"id\", this._id).append(this._$before).append(this._$label).append(this._$after);\r\n this._updateMark();\r\n this._updateText();\r\n this._updateBeforeWidth();\r\n this._updateMaxWidth()\r\n }\r\n _toggleMarkupVisibility() {\r\n var visible = this._isVisible();\r\n this._updateEditorBeforeButtonsClass(visible);\r\n this._updateEditorLabelClass(visible);\r\n visible ? this._$root.appendTo(this._props.$editor) : this._$root.detach()\r\n }\r\n _updateEditorLabelClass(visible) {\r\n this._props.$editor.removeClass(TEXTEDITOR_WITH_FLOATING_LABEL_CLASS).removeClass(TEXTEDITOR_WITH_LABEL_CLASS);\r\n if (visible) {\r\n var labelClass = \"floating\" === this._props.mode ? TEXTEDITOR_WITH_FLOATING_LABEL_CLASS : TEXTEDITOR_WITH_LABEL_CLASS;\r\n this._props.$editor.addClass(labelClass)\r\n }\r\n }\r\n _updateEditorBeforeButtonsClass() {\r\n var visible = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._isVisible();\r\n this._props.$editor.removeClass(TEXTEDITOR_WITH_BEFORE_BUTTONS_CLASS);\r\n if (visible) {\r\n var beforeButtonsClass = this._props.containsButtonsBefore ? TEXTEDITOR_WITH_BEFORE_BUTTONS_CLASS : \"\";\r\n this._props.$editor.addClass(beforeButtonsClass)\r\n }\r\n }\r\n _updateMark() {\r\n this._$labelSpan.attr(\"data-mark\", this._props.mark)\r\n }\r\n _updateText() {\r\n this._$labelSpan.text(this._props.text)\r\n }\r\n _updateBeforeWidth() {\r\n if (this._isVisible()) {\r\n var _this$_props$beforeWi;\r\n var width = null !== (_this$_props$beforeWi = this._props.beforeWidth) && void 0 !== _this$_props$beforeWi ? _this$_props$beforeWi : this._props.getBeforeWidth();\r\n this._$before.css({\r\n width: width\r\n })\r\n }\r\n }\r\n _updateMaxWidth() {\r\n if (this._isVisible()) {\r\n var _this$_props$containe;\r\n var maxWidth = null !== (_this$_props$containe = this._props.containerWidth) && void 0 !== _this$_props$containe ? _this$_props$containe : this._props.getContainerWidth();\r\n this._$label.css({\r\n maxWidth: maxWidth\r\n })\r\n }\r\n }\r\n $element() {\r\n return this._$root\r\n }\r\n isVisible() {\r\n return this._isVisible()\r\n }\r\n getId() {\r\n if (this._isVisible()) {\r\n return this._id\r\n }\r\n }\r\n updateMode(mode) {\r\n this._props.mode = mode;\r\n this._toggleMarkupVisibility();\r\n this._updateBeforeWidth();\r\n this._updateMaxWidth()\r\n }\r\n updateText(text) {\r\n this._props.text = text;\r\n this._updateText();\r\n this._toggleMarkupVisibility();\r\n this._updateBeforeWidth();\r\n this._updateMaxWidth()\r\n }\r\n updateMark(mark) {\r\n this._props.mark = mark;\r\n this._updateMark()\r\n }\r\n updateContainsButtonsBefore(containsButtonsBefore) {\r\n this._props.containsButtonsBefore = containsButtonsBefore;\r\n this._updateEditorBeforeButtonsClass()\r\n }\r\n updateBeforeWidth(beforeWidth) {\r\n this._props.beforeWidth = beforeWidth;\r\n this._updateBeforeWidth()\r\n }\r\n updateMaxWidth(containerWidth) {\r\n this._props.containerWidth = containerWidth;\r\n this._updateMaxWidth()\r\n }\r\n}\r\nexport {\r\n TextEditorLabel\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.base.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n focused\r\n} from \"../widget/selectors\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n current,\r\n isMaterial\r\n} from \"../themes\";\r\nimport devices from \"../../core/devices\";\r\nimport Editor from \"../editor/editor\";\r\nimport {\r\n addNamespace,\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport ClearButton from \"./ui.text_editor.clear\";\r\nimport TextEditorButtonCollection from \"./texteditor_button_collection/index\";\r\nimport config from \"../../core/config\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport LoadIndicator from \"../load_indicator\";\r\nimport {\r\n TextEditorLabel\r\n} from \"./ui.text_editor.label\";\r\nimport {\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport resizeObserverSingleton from \"../../core/resize_observer\";\r\nvar TEXTEDITOR_CLASS = \"dx-texteditor\";\r\nvar TEXTEDITOR_INPUT_CONTAINER_CLASS = \"dx-texteditor-input-container\";\r\nvar TEXTEDITOR_INPUT_CLASS = \"dx-texteditor-input\";\r\nvar TEXTEDITOR_INPUT_SELECTOR = \".\" + TEXTEDITOR_INPUT_CLASS;\r\nvar TEXTEDITOR_CONTAINER_CLASS = \"dx-texteditor-container\";\r\nvar TEXTEDITOR_BUTTONS_CONTAINER_CLASS = \"dx-texteditor-buttons-container\";\r\nvar TEXTEDITOR_PLACEHOLDER_CLASS = \"dx-placeholder\";\r\nvar TEXTEDITOR_EMPTY_INPUT_CLASS = \"dx-texteditor-empty\";\r\nvar STATE_INVISIBLE_CLASS = \"dx-state-invisible\";\r\nvar TEXTEDITOR_PENDING_INDICATOR_CLASS = \"dx-pending-indicator\";\r\nvar TEXTEDITOR_VALIDATION_PENDING_CLASS = \"dx-validation-pending\";\r\nvar TEXTEDITOR_VALID_CLASS = \"dx-valid\";\r\nvar EVENTS_LIST = [\"KeyDown\", \"KeyPress\", \"KeyUp\", \"Change\", \"Cut\", \"Copy\", \"Paste\", \"Input\"];\r\nvar CONTROL_KEYS = [\"tab\", \"enter\", \"shift\", \"control\", \"alt\", \"escape\", \"pageUp\", \"pageDown\", \"end\", \"home\", \"leftArrow\", \"upArrow\", \"rightArrow\", \"downArrow\"];\r\nvar TextEditorLabelCreator = TextEditorLabel;\r\n\r\nfunction checkButtonsOptionType(buttons) {\r\n if (isDefined(buttons) && !Array.isArray(buttons)) {\r\n throw errors.Error(\"E1053\")\r\n }\r\n}\r\nvar TextEditorBase = Editor.inherit({\r\n ctor: function(_, options) {\r\n if (options) {\r\n checkButtonsOptionType(options.buttons)\r\n }\r\n this._buttonCollection = new TextEditorButtonCollection(this, this._getDefaultButtons());\r\n this._$beforeButtonsContainer = null;\r\n this._$afterButtonsContainer = null;\r\n this._labelContainerElement = null;\r\n this.callBase.apply(this, arguments)\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n buttons: void 0,\r\n value: \"\",\r\n spellcheck: false,\r\n showClearButton: false,\r\n valueChangeEvent: \"change\",\r\n placeholder: \"\",\r\n inputAttr: {},\r\n onFocusIn: null,\r\n onFocusOut: null,\r\n onKeyDown: null,\r\n onKeyUp: null,\r\n onChange: null,\r\n onInput: null,\r\n onCut: null,\r\n onCopy: null,\r\n onPaste: null,\r\n onEnterKey: null,\r\n mode: \"text\",\r\n hoverStateEnabled: true,\r\n focusStateEnabled: true,\r\n text: void 0,\r\n displayValueFormatter: function(value) {\r\n return isDefined(value) && false !== value ? value : \"\"\r\n },\r\n stylingMode: config().editorStylingMode || \"outlined\",\r\n showValidationMark: true,\r\n label: \"\",\r\n labelMode: \"static\",\r\n labelMark: \"\"\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n var themeName = current();\r\n return isMaterial(themeName)\r\n },\r\n options: {\r\n stylingMode: config().editorStylingMode || \"filled\",\r\n labelMode: \"floating\"\r\n }\r\n }])\r\n },\r\n _getDefaultButtons: function() {\r\n return [{\r\n name: \"clear\",\r\n Ctor: ClearButton\r\n }]\r\n },\r\n _isClearButtonVisible: function() {\r\n return this.option(\"showClearButton\") && !this.option(\"readOnly\")\r\n },\r\n _input: function() {\r\n return this.$element().find(TEXTEDITOR_INPUT_SELECTOR).first()\r\n },\r\n _isFocused: function() {\r\n return focused(this._input()) || this.callBase()\r\n },\r\n _inputWrapper: function() {\r\n return this.$element()\r\n },\r\n _buttonsContainer: function() {\r\n return this._inputWrapper().find(\".\" + TEXTEDITOR_BUTTONS_CONTAINER_CLASS).eq(0)\r\n },\r\n _isControlKey: function(key) {\r\n return -1 !== CONTROL_KEYS.indexOf(key)\r\n },\r\n _renderStylingMode: function() {\r\n this.callBase();\r\n this._updateButtonsStyling(this.option(\"stylingMode\"))\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(TEXTEDITOR_CLASS);\r\n this._renderInput();\r\n this._renderStylingMode();\r\n this._renderInputType();\r\n this._renderPlaceholder();\r\n this._renderProps();\r\n this.callBase();\r\n this._renderValue();\r\n this._renderLabel()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._refreshValueChangeEvent();\r\n this._renderEvents();\r\n this._renderEnterKeyAction();\r\n this._renderEmptinessEvent()\r\n },\r\n _renderInput: function() {\r\n this._$buttonsContainer = this._$textEditorContainer = $(\"<div>\").addClass(TEXTEDITOR_CONTAINER_CLASS).appendTo(this.$element());\r\n this._$textEditorInputContainer = $(\"<div>\").addClass(TEXTEDITOR_INPUT_CONTAINER_CLASS).appendTo(this._$textEditorContainer);\r\n this._$textEditorInputContainer.append(this._createInput());\r\n this._renderButtonContainers()\r\n },\r\n _getInputContainer() {\r\n return this._$textEditorInputContainer\r\n },\r\n _renderPendingIndicator: function() {\r\n this.$element().addClass(TEXTEDITOR_VALIDATION_PENDING_CLASS);\r\n var $inputContainer = this._getInputContainer();\r\n var $indicatorElement = $(\"<div>\").addClass(TEXTEDITOR_PENDING_INDICATOR_CLASS).appendTo($inputContainer);\r\n this._pendingIndicator = this._createComponent($indicatorElement, LoadIndicator)\r\n },\r\n _disposePendingIndicator: function() {\r\n if (!this._pendingIndicator) {\r\n return\r\n }\r\n this._pendingIndicator.dispose();\r\n this._pendingIndicator.$element().remove();\r\n this._pendingIndicator = null;\r\n this.$element().removeClass(TEXTEDITOR_VALIDATION_PENDING_CLASS)\r\n },\r\n _renderValidationState: function() {\r\n this.callBase();\r\n var isPending = \"pending\" === this.option(\"validationStatus\");\r\n var $element = this.$element();\r\n if (isPending) {\r\n !this._pendingIndicator && this._renderPendingIndicator();\r\n this._showValidMark = false\r\n } else {\r\n if (\"invalid\" === this.option(\"validationStatus\")) {\r\n this._showValidMark = false\r\n }\r\n if (!this._showValidMark && true === this.option(\"showValidationMark\")) {\r\n this._showValidMark = \"valid\" === this.option(\"validationStatus\") && !!this._pendingIndicator\r\n }\r\n this._disposePendingIndicator()\r\n }\r\n $element.toggleClass(TEXTEDITOR_VALID_CLASS, !!this._showValidMark)\r\n },\r\n _renderButtonContainers: function() {\r\n var buttons = this.option(\"buttons\");\r\n this._$beforeButtonsContainer = this._buttonCollection.renderBeforeButtons(buttons, this._$buttonsContainer);\r\n this._$afterButtonsContainer = this._buttonCollection.renderAfterButtons(buttons, this._$buttonsContainer)\r\n },\r\n _cleanButtonContainers: function() {\r\n var _this$_$beforeButtons, _this$_$afterButtonsC;\r\n null === (_this$_$beforeButtons = this._$beforeButtonsContainer) || void 0 === _this$_$beforeButtons ? void 0 : _this$_$beforeButtons.remove();\r\n null === (_this$_$afterButtonsC = this._$afterButtonsContainer) || void 0 === _this$_$afterButtonsC ? void 0 : _this$_$afterButtonsC.remove();\r\n this._buttonCollection.clean()\r\n },\r\n _clean() {\r\n this._buttonCollection.clean();\r\n this._disposePendingIndicator();\r\n this._unobserveLabelContainerResize();\r\n this._$beforeButtonsContainer = null;\r\n this._$afterButtonsContainer = null;\r\n this._$textEditorContainer = null;\r\n this._$buttonsContainer = null;\r\n this.callBase()\r\n },\r\n _createInput: function() {\r\n var $input = $(\"<input>\");\r\n this._applyInputAttributes($input, this.option(\"inputAttr\"));\r\n return $input\r\n },\r\n _setSubmitElementName: function(name) {\r\n var inputAttrName = this.option(\"inputAttr.name\");\r\n return this.callBase(name || inputAttrName || \"\")\r\n },\r\n _applyInputAttributes: function($input, customAttributes) {\r\n var inputAttributes = extend(this._getDefaultAttributes(), customAttributes);\r\n $input.attr(inputAttributes).addClass(TEXTEDITOR_INPUT_CLASS);\r\n this._setInputMinHeight($input)\r\n },\r\n _setInputMinHeight: function($input) {\r\n $input.css(\"minHeight\", this.option(\"height\") ? \"0\" : \"\")\r\n },\r\n _getDefaultAttributes: function() {\r\n var defaultAttributes = {\r\n autocomplete: \"off\"\r\n };\r\n var {\r\n ios: ios,\r\n mac: mac\r\n } = devices.real();\r\n if (ios || mac) {\r\n defaultAttributes.placeholder = \" \"\r\n }\r\n return defaultAttributes\r\n },\r\n _updateButtons: function(names) {\r\n this._buttonCollection.updateButtons(names)\r\n },\r\n _updateButtonsStyling: function(editorStylingMode) {\r\n each(this.option(\"buttons\"), (_, _ref) => {\r\n var {\r\n options: options,\r\n name: buttonName\r\n } = _ref;\r\n if (options && !options.stylingMode && this.option(\"visible\")) {\r\n var buttonInstance = this.getButton(buttonName);\r\n buttonInstance.option && buttonInstance.option(\"stylingMode\", \"underlined\" === editorStylingMode ? \"text\" : \"contained\")\r\n }\r\n })\r\n },\r\n _renderValue: function() {\r\n var renderInputPromise = this._renderInputValue();\r\n return renderInputPromise.promise()\r\n },\r\n _renderInputValue: function(value) {\r\n var _value;\r\n value = null !== (_value = value) && void 0 !== _value ? _value : this.option(\"value\");\r\n var text = this.option(\"text\");\r\n var displayValue = this.option(\"displayValue\");\r\n var displayValueFormatter = this.option(\"displayValueFormatter\");\r\n if (void 0 !== displayValue && null !== value) {\r\n text = displayValueFormatter(displayValue)\r\n } else if (!isDefined(text)) {\r\n text = displayValueFormatter(value)\r\n }\r\n this.option(\"text\", text);\r\n if (this._input().val() !== (isDefined(text) ? text : \"\")) {\r\n this._renderDisplayText(text)\r\n } else {\r\n this._toggleEmptinessEventHandler()\r\n }\r\n return (new Deferred).resolve()\r\n },\r\n _renderDisplayText: function(text) {\r\n this._input().val(text);\r\n this._toggleEmptinessEventHandler()\r\n },\r\n _isValueValid: function() {\r\n if (this._input().length) {\r\n var validity = this._input().get(0).validity;\r\n if (validity) {\r\n return validity.valid\r\n }\r\n }\r\n return true\r\n },\r\n _toggleEmptiness: function(isEmpty) {\r\n this.$element().toggleClass(TEXTEDITOR_EMPTY_INPUT_CLASS, isEmpty);\r\n this._togglePlaceholder(isEmpty)\r\n },\r\n _togglePlaceholder: function(isEmpty) {\r\n this.$element().find(\".\".concat(TEXTEDITOR_PLACEHOLDER_CLASS)).eq(0).toggleClass(STATE_INVISIBLE_CLASS, !isEmpty)\r\n },\r\n _renderProps: function() {\r\n this._toggleReadOnlyState();\r\n this._toggleSpellcheckState();\r\n this._toggleTabIndex()\r\n },\r\n _toggleDisabledState: function(value) {\r\n this.callBase.apply(this, arguments);\r\n var $input = this._input();\r\n $input.prop(\"disabled\", value)\r\n },\r\n _toggleTabIndex: function() {\r\n var $input = this._input();\r\n var disabled = this.option(\"disabled\");\r\n var focusStateEnabled = this.option(\"focusStateEnabled\");\r\n if (disabled || !focusStateEnabled) {\r\n $input.attr(\"tabIndex\", -1)\r\n } else {\r\n $input.removeAttr(\"tabIndex\")\r\n }\r\n },\r\n _toggleReadOnlyState: function() {\r\n this._input().prop(\"readOnly\", this._readOnlyPropValue());\r\n this.callBase()\r\n },\r\n _readOnlyPropValue: function() {\r\n return this.option(\"readOnly\")\r\n },\r\n _toggleSpellcheckState: function() {\r\n this._input().prop(\"spellcheck\", this.option(\"spellcheck\"))\r\n },\r\n _unobserveLabelContainerResize: function() {\r\n if (this._labelContainerElement) {\r\n resizeObserverSingleton.unobserve(this._labelContainerElement);\r\n this._labelContainerElement = null\r\n }\r\n },\r\n _getLabelContainer: function() {\r\n return this._input()\r\n },\r\n _getLabelContainerWidth: function() {\r\n return getWidth(this._getLabelContainer())\r\n },\r\n _getLabelBeforeWidth: function() {\r\n var buttonsBeforeWidth = this._$beforeButtonsContainer && getWidth(this._$beforeButtonsContainer);\r\n return null !== buttonsBeforeWidth && void 0 !== buttonsBeforeWidth ? buttonsBeforeWidth : 0\r\n },\r\n _updateLabelWidth: function() {\r\n this._label.updateBeforeWidth(this._getLabelBeforeWidth());\r\n this._label.updateMaxWidth(this._getLabelContainerWidth())\r\n },\r\n _setLabelContainerAria: function(force) {\r\n var label = this._label.getId() || void 0;\r\n if (label || force) {\r\n this.setAria(\"labelledby\", label, this._getLabelContainer())\r\n }\r\n },\r\n _renderLabel: function() {\r\n this._unobserveLabelContainerResize();\r\n this._labelContainerElement = $(this._getLabelContainer()).get(0);\r\n var {\r\n label: label,\r\n labelMode: labelMode,\r\n labelMark: labelMark\r\n } = this.option();\r\n var labelConfig = {\r\n $editor: this.$element(),\r\n text: label,\r\n mark: labelMark,\r\n mode: labelMode,\r\n containsButtonsBefore: !!this._$beforeButtonsContainer,\r\n getContainerWidth: () => this._getLabelContainerWidth(),\r\n getBeforeWidth: () => this._getLabelBeforeWidth()\r\n };\r\n this._label = new TextEditorLabelCreator(labelConfig);\r\n this._setLabelContainerAria();\r\n if (this._labelContainerElement) {\r\n resizeObserverSingleton.observe(this._labelContainerElement, this._updateLabelWidth.bind(this))\r\n }\r\n },\r\n _renderPlaceholder: function() {\r\n this._renderPlaceholderMarkup();\r\n this._attachPlaceholderEvents()\r\n },\r\n _renderPlaceholderMarkup: function() {\r\n if (this._$placeholder) {\r\n this._$placeholder.remove();\r\n this._$placeholder = null\r\n }\r\n var $input = this._input();\r\n var placeholderText = this.option(\"placeholder\");\r\n var $placeholder = this._$placeholder = $(\"<div>\").attr(\"data-dx_placeholder\", placeholderText);\r\n $placeholder.insertAfter($input);\r\n $placeholder.addClass(TEXTEDITOR_PLACEHOLDER_CLASS)\r\n },\r\n _attachPlaceholderEvents: function() {\r\n var startEvent = addNamespace(pointerEvents.up, this.NAME);\r\n eventsEngine.on(this._$placeholder, startEvent, () => {\r\n eventsEngine.trigger(this._input(), \"focus\")\r\n });\r\n this._toggleEmptinessEventHandler()\r\n },\r\n _placeholder: function() {\r\n return this._$placeholder || $()\r\n },\r\n _clearValueHandler: function(e) {\r\n var $input = this._input();\r\n e.stopPropagation();\r\n this._saveValueChangeEvent(e);\r\n this._clearValue();\r\n !this._isFocused() && eventsEngine.trigger($input, \"focus\");\r\n eventsEngine.trigger($input, \"input\")\r\n },\r\n _clearValue: function() {\r\n this.reset()\r\n },\r\n _renderEvents: function() {\r\n var $input = this._input();\r\n each(EVENTS_LIST, (_, event) => {\r\n if (this.hasActionSubscription(\"on\" + event)) {\r\n var action = this._createActionByOption(\"on\" + event, {\r\n excludeValidators: [\"readOnly\"]\r\n });\r\n eventsEngine.on($input, addNamespace(event.toLowerCase(), this.NAME), e => {\r\n if (this._disposed) {\r\n return\r\n }\r\n action({\r\n event: e\r\n })\r\n })\r\n }\r\n })\r\n },\r\n _refreshEvents: function() {\r\n var $input = this._input();\r\n each(EVENTS_LIST, (_, event) => {\r\n eventsEngine.off($input, addNamespace(event.toLowerCase(), this.NAME))\r\n });\r\n this._renderEvents()\r\n },\r\n _keyPressHandler: function() {\r\n this.option(\"text\", this._input().val())\r\n },\r\n _keyDownHandler: function(e) {\r\n var $input = this._input();\r\n var isCtrlEnter = e.ctrlKey && \"enter\" === normalizeKeyName(e);\r\n var isNewValue = $input.val() !== this.option(\"value\");\r\n if (isCtrlEnter && isNewValue) {\r\n eventsEngine.trigger($input, \"change\")\r\n }\r\n },\r\n _getValueChangeEventOptionName: function() {\r\n return \"valueChangeEvent\"\r\n },\r\n _renderValueChangeEvent: function() {\r\n var keyPressEvent = addNamespace(this._renderValueEventName(), \"\".concat(this.NAME, \"TextChange\"));\r\n var valueChangeEvent = addNamespace(this.option(this._getValueChangeEventOptionName()), \"\".concat(this.NAME, \"ValueChange\"));\r\n var keyDownEvent = addNamespace(\"keydown\", \"\".concat(this.NAME, \"TextChange\"));\r\n var $input = this._input();\r\n eventsEngine.on($input, keyPressEvent, this._keyPressHandler.bind(this));\r\n eventsEngine.on($input, valueChangeEvent, this._valueChangeEventHandler.bind(this));\r\n eventsEngine.on($input, keyDownEvent, this._keyDownHandler.bind(this))\r\n },\r\n _cleanValueChangeEvent: function() {\r\n var valueChangeNamespace = \".\".concat(this.NAME, \"ValueChange\");\r\n var textChangeNamespace = \".\".concat(this.NAME, \"TextChange\");\r\n eventsEngine.off(this._input(), valueChangeNamespace);\r\n eventsEngine.off(this._input(), textChangeNamespace)\r\n },\r\n _refreshValueChangeEvent: function() {\r\n this._cleanValueChangeEvent();\r\n this._renderValueChangeEvent()\r\n },\r\n _renderValueEventName: function() {\r\n return \"input change keypress\"\r\n },\r\n _focusTarget: function() {\r\n return this._input()\r\n },\r\n _focusEventTarget: function() {\r\n return this.element()\r\n },\r\n _isInput: function(element) {\r\n return element === this._input().get(0)\r\n },\r\n _preventNestedFocusEvent: function(event) {\r\n if (event.isDefaultPrevented()) {\r\n return true\r\n }\r\n var shouldPrevent = this._isNestedTarget(event.relatedTarget);\r\n if (\"focusin\" === event.type) {\r\n shouldPrevent = shouldPrevent && this._isNestedTarget(event.target) && !this._isInput(event.target)\r\n } else if (!shouldPrevent) {\r\n this._toggleFocusClass(false, this.$element())\r\n }\r\n shouldPrevent && event.preventDefault();\r\n return shouldPrevent\r\n },\r\n _isNestedTarget: function(target) {\r\n return !!this.$element().find(target).length\r\n },\r\n _focusClassTarget: function() {\r\n return this.$element()\r\n },\r\n _focusInHandler: function(event) {\r\n this._preventNestedFocusEvent(event);\r\n this.callBase.apply(this, arguments)\r\n },\r\n _focusOutHandler: function(event) {\r\n this._preventNestedFocusEvent(event);\r\n this.callBase.apply(this, arguments)\r\n },\r\n _toggleFocusClass: function(isFocused, $element) {\r\n this.callBase(isFocused, this._focusClassTarget($element))\r\n },\r\n _hasFocusClass: function(element) {\r\n return this.callBase($(element || this.$element()))\r\n },\r\n _renderEmptinessEvent: function() {\r\n var $input = this._input();\r\n eventsEngine.on($input, \"input blur\", this._toggleEmptinessEventHandler.bind(this))\r\n },\r\n _toggleEmptinessEventHandler: function() {\r\n var text = this._input().val();\r\n var isEmpty = (\"\" === text || null === text) && this._isValueValid();\r\n this._toggleEmptiness(isEmpty)\r\n },\r\n _valueChangeEventHandler: function(e, formattedValue) {\r\n if (this.option(\"readOnly\")) {\r\n return\r\n }\r\n this._saveValueChangeEvent(e);\r\n this.option(\"value\", arguments.length > 1 ? formattedValue : this._input().val());\r\n this._saveValueChangeEvent(void 0)\r\n },\r\n _renderEnterKeyAction: function() {\r\n this._enterKeyAction = this._createActionByOption(\"onEnterKey\", {\r\n excludeValidators: [\"readOnly\"]\r\n });\r\n eventsEngine.off(this._input(), \"keyup.onEnterKey.dxTextEditor\");\r\n eventsEngine.on(this._input(), \"keyup.onEnterKey.dxTextEditor\", this._enterKeyHandlerUp.bind(this))\r\n },\r\n _enterKeyHandlerUp: function(e) {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (\"enter\" === normalizeKeyName(e)) {\r\n this._enterKeyAction({\r\n event: e\r\n })\r\n }\r\n },\r\n _updateValue: function() {\r\n this._options.silent(\"text\", null);\r\n this._renderValue()\r\n },\r\n _dispose: function() {\r\n this._enterKeyAction = void 0;\r\n this.callBase()\r\n },\r\n _getSubmitElement: function() {\r\n return this._input()\r\n },\r\n _hasActiveElement: function() {\r\n return this._input().is(domAdapter.getActiveElement(this._input()[0]))\r\n },\r\n _optionChanged: function(args) {\r\n var {\r\n name: name,\r\n fullName: fullName,\r\n value: value\r\n } = args;\r\n var eventName = name.replace(\"on\", \"\");\r\n if (EVENTS_LIST.includes(eventName)) {\r\n this._refreshEvents();\r\n return\r\n }\r\n switch (name) {\r\n case \"valueChangeEvent\":\r\n this._refreshValueChangeEvent();\r\n this._refreshFocusEvent();\r\n this._refreshEvents();\r\n break;\r\n case \"onValueChanged\":\r\n this._createValueChangeAction();\r\n break;\r\n case \"focusStateEnabled\":\r\n this.callBase(args);\r\n this._toggleTabIndex();\r\n break;\r\n case \"spellcheck\":\r\n this._toggleSpellcheckState();\r\n break;\r\n case \"mode\":\r\n this._renderInputType();\r\n break;\r\n case \"onEnterKey\":\r\n this._renderEnterKeyAction();\r\n break;\r\n case \"placeholder\":\r\n this._renderPlaceholder();\r\n break;\r\n case \"label\":\r\n this._label.updateText(value);\r\n this._setLabelContainerAria(true);\r\n break;\r\n case \"labelMark\":\r\n this._label.updateMark(value);\r\n break;\r\n case \"labelMode\":\r\n this._label.updateMode(value);\r\n this._setLabelContainerAria(true);\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n this._label.updateMaxWidth(this._getLabelContainerWidth());\r\n break;\r\n case \"readOnly\":\r\n case \"disabled\":\r\n this._updateButtons();\r\n this.callBase(args);\r\n break;\r\n case \"showClearButton\":\r\n this._updateButtons([\"clear\"]);\r\n break;\r\n case \"text\":\r\n break;\r\n case \"value\":\r\n this._updateValue();\r\n this.callBase(args);\r\n break;\r\n case \"inputAttr\":\r\n this._applyInputAttributes(this._input(), this.option(name));\r\n break;\r\n case \"stylingMode\":\r\n this._renderStylingMode();\r\n this._updateLabelWidth();\r\n break;\r\n case \"buttons\":\r\n if (fullName === name) {\r\n checkButtonsOptionType(value)\r\n }\r\n this._cleanButtonContainers();\r\n this._renderButtonContainers();\r\n this._updateButtonsStyling(this.option(\"stylingMode\"));\r\n this._updateLabelWidth();\r\n this._label.updateContainsButtonsBefore(!!this._$beforeButtonsContainer);\r\n break;\r\n case \"visible\":\r\n this.callBase(args);\r\n if (value && this.option(\"buttons\")) {\r\n this._cleanButtonContainers();\r\n this._renderButtonContainers();\r\n this._updateButtonsStyling(this.option(\"stylingMode\"))\r\n }\r\n break;\r\n case \"displayValueFormatter\":\r\n this._invalidate();\r\n break;\r\n case \"showValidationMark\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _renderInputType: function() {\r\n this._setInputType(this.option(\"mode\"))\r\n },\r\n _setInputType: function(type) {\r\n var input = this._input();\r\n if (\"search\" === type) {\r\n type = \"text\"\r\n }\r\n try {\r\n input.prop(\"type\", type)\r\n } catch (e) {\r\n input.prop(\"type\", \"text\")\r\n }\r\n },\r\n getButton(name) {\r\n return this._buttonCollection.getButton(name)\r\n },\r\n focus: function() {\r\n eventsEngine.trigger(this._input(), \"focus\")\r\n },\r\n reset: function() {\r\n if (this._showValidMark) {\r\n this._showValidMark = false;\r\n this._renderValidationState()\r\n }\r\n var defaultOptions = this._getDefaultOptions();\r\n if (this.option(\"value\") === defaultOptions.value) {\r\n this._options.silent(\"text\", \"\");\r\n this._renderValue()\r\n } else {\r\n this.option(\"value\", defaultOptions.value)\r\n }\r\n },\r\n on: function(eventName, eventHandler) {\r\n var result = this.callBase(eventName, eventHandler);\r\n var event = eventName.charAt(0).toUpperCase() + eventName.substr(1);\r\n if (EVENTS_LIST.indexOf(event) >= 0) {\r\n this._refreshEvents()\r\n }\r\n return result\r\n }\r\n});\r\nexport default TextEditorBase;\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.mask.strategy.base.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport EventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport {\r\n clipboardText as getClipboardText\r\n} from \"../../core/utils/dom\";\r\nvar MASK_EVENT_NAMESPACE = \"dxMask\";\r\nvar BLUR_EVENT = \"blur beforedeactivate\";\r\nvar EMPTY_CHAR = \" \";\r\nexport default class BaseMaskStrategy {\r\n constructor(editor) {\r\n this.editor = editor;\r\n this.DIRECTION = {\r\n FORWARD: \"forward\",\r\n BACKWARD: \"backward\"\r\n };\r\n this.NAME = this._getStrategyName()\r\n }\r\n _getStrategyName() {\r\n return \"base\"\r\n }\r\n editorOption() {\r\n return this.editor.option(...arguments)\r\n }\r\n editorInput() {\r\n return this.editor._input()\r\n }\r\n editorCaret(newCaret) {\r\n if (!newCaret) {\r\n return this.editor._caret()\r\n }\r\n this.editor._caret(newCaret)\r\n }\r\n getHandler(handlerName) {\r\n var handler = this[\"_\".concat(handlerName, \"Handler\")] || function() {};\r\n return handler.bind(this)\r\n }\r\n attachEvents() {\r\n var $input = this.editorInput();\r\n this.getHandleEventNames().forEach(eventName => {\r\n var subscriptionName = addNamespace(eventName.toLowerCase(), MASK_EVENT_NAMESPACE);\r\n EventsEngine.on($input, subscriptionName, this.getEventHandler(eventName))\r\n });\r\n this._attachChangeEventHandlers()\r\n }\r\n getHandleEventNames() {\r\n return [\"focusIn\", \"focusOut\", \"keyDown\", \"input\", \"paste\", \"cut\", \"drop\"]\r\n }\r\n getEventHandler(eventName) {\r\n return this[\"_\".concat(eventName, \"Handler\")].bind(this)\r\n }\r\n detachEvents() {\r\n EventsEngine.off(this.editorInput(), \".\".concat(MASK_EVENT_NAMESPACE))\r\n }\r\n _attachChangeEventHandlers() {\r\n if (!this.editorOption(\"valueChangeEvent\").split(\" \").includes(\"change\")) {\r\n return\r\n }\r\n EventsEngine.on(this.editorInput(), addNamespace(BLUR_EVENT, MASK_EVENT_NAMESPACE), function(e) {\r\n this._suppressCaretChanging(this._changeHandler, [e]);\r\n this._changeHandler(e)\r\n }.bind(this.editor))\r\n }\r\n _focusInHandler() {\r\n this.editor._showMaskPlaceholder();\r\n this.editor._direction(this.DIRECTION.FORWARD);\r\n if (!this.editor._isValueEmpty() && this.editorOption(\"isValid\")) {\r\n this.editor._adjustCaret()\r\n } else {\r\n var caret = this.editor._maskRulesChain.first();\r\n this._caretTimeout = setTimeout(function() {\r\n this._caret({\r\n start: caret,\r\n end: caret\r\n })\r\n }.bind(this.editor), 0)\r\n }\r\n }\r\n _focusOutHandler(event) {\r\n this.editor._changeHandler(event);\r\n if (\"onFocus\" === this.editorOption(\"showMaskMode\") && this.editor._isValueEmpty()) {\r\n this.editorOption(\"text\", \"\");\r\n this.editor._renderDisplayText(\"\")\r\n }\r\n }\r\n _cutHandler(event) {\r\n var caret = this.editorCaret();\r\n var selectedText = this.editorInput().val().substring(caret.start, caret.end);\r\n this.editor._maskKeyHandler(event, () => getClipboardText(event, selectedText))\r\n }\r\n _dropHandler() {\r\n this._clearDragTimer();\r\n this._dragTimer = setTimeout(function() {\r\n this.option(\"value\", this._convertToValue(this._input().val()))\r\n }.bind(this.editor))\r\n }\r\n _clearDragTimer() {\r\n clearTimeout(this._dragTimer)\r\n }\r\n _keyDownHandler() {\r\n this._keyPressHandled = false\r\n }\r\n _pasteHandler(event) {\r\n var {\r\n editor: editor\r\n } = this;\r\n if (editor.option(\"disabled\")) {\r\n return\r\n }\r\n this._keyPressHandled = true;\r\n var caret = this.editorCaret();\r\n editor._maskKeyHandler(event, () => {\r\n var pastedText = getClipboardText(event);\r\n var restText = editor._maskRulesChain.text().substring(caret.end);\r\n var accepted = editor._handleChain({\r\n text: pastedText,\r\n start: caret.start,\r\n length: pastedText.length\r\n });\r\n var newCaret = caret.start + accepted;\r\n editor._handleChain({\r\n text: restText,\r\n start: newCaret,\r\n length: restText.length\r\n });\r\n editor._caret({\r\n start: newCaret,\r\n end: newCaret\r\n })\r\n })\r\n }\r\n _autoFillHandler(event) {\r\n var {\r\n editor: editor\r\n } = this;\r\n var inputVal = this.editorInput().val();\r\n this._inputHandlerTimer = setTimeout(() => {\r\n this._keyPressHandled = true;\r\n if (this._isAutoFill()) {\r\n this._keyPressHandled = true;\r\n editor._maskKeyHandler(event, () => {\r\n editor._handleChain({\r\n text: inputVal,\r\n start: 0,\r\n length: inputVal.length\r\n })\r\n });\r\n editor._validateMask()\r\n }\r\n })\r\n }\r\n _isAutoFill() {\r\n var $input = this.editor._input();\r\n var result = false;\r\n if (browser.webkit) {\r\n var input = $input.get(0);\r\n result = input && input.matches(\":-webkit-autofill\")\r\n }\r\n return result\r\n }\r\n runWithoutEventProcessing(action) {\r\n var keyPressHandled = this._keyPressHandled;\r\n this._keyPressHandled = true;\r\n action();\r\n this._keyPressHandled = keyPressHandled\r\n }\r\n _backspaceHandler() {}\r\n _delHandler(event) {\r\n var {\r\n editor: editor\r\n } = this;\r\n this._keyPressHandled = true;\r\n editor._maskKeyHandler(event, () => !editor._hasSelection() && editor._handleKey(EMPTY_CHAR))\r\n }\r\n clean() {\r\n this._clearDragTimer();\r\n clearTimeout(this._backspaceHandlerTimeout);\r\n clearTimeout(this._caretTimeout);\r\n clearTimeout(this._inputHandlerTimer)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.mask.strategy.default.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport BaseMaskStrategy from \"./ui.text_editor.mask.strategy.base\";\r\nimport {\r\n getChar\r\n} from \"../../events/utils/index\";\r\nvar BACKSPACE_INPUT_TYPE = \"deleteContentBackward\";\r\nvar EMPTY_CHAR = \" \";\r\nclass DefaultMaskStrategy extends BaseMaskStrategy {\r\n _getStrategyName() {\r\n return \"default\"\r\n }\r\n getHandleEventNames() {\r\n return [...super.getHandleEventNames(), \"keyPress\"]\r\n }\r\n _keyPressHandler(event) {\r\n if (this._keyPressHandled) {\r\n return\r\n }\r\n this._keyPressHandled = true;\r\n if (this.editor._isControlKeyFired(event)) {\r\n return\r\n }\r\n var {\r\n editor: editor\r\n } = this;\r\n editor._maskKeyHandler(event, () => editor._handleKey(getChar(event)))\r\n }\r\n _inputHandler(event) {\r\n if (this._backspaceInputHandled(event.originalEvent && event.originalEvent.inputType)) {\r\n this._handleBackspaceInput(event)\r\n }\r\n if (event.originalEvent) {\r\n this._autoFillHandler(event)\r\n }\r\n if (this._keyPressHandled) {\r\n return\r\n }\r\n this._keyPressHandled = true;\r\n var inputValue = this.editorInput().val();\r\n var caret = this.editorCaret();\r\n if (!caret.end) {\r\n return\r\n }\r\n caret.start = caret.end - 1;\r\n var oldValue = inputValue.substring(0, caret.start) + inputValue.substring(caret.end);\r\n var char = inputValue[caret.start];\r\n var {\r\n editor: editor\r\n } = this;\r\n this.editorInput().val(oldValue);\r\n editor._caret({\r\n start: caret.start,\r\n end: caret.start\r\n });\r\n editor._maskKeyHandler(event, () => editor._handleKey(char))\r\n }\r\n _backspaceHandler(event) {\r\n var {\r\n editor: editor\r\n } = this;\r\n this._keyPressHandled = true;\r\n var afterBackspaceHandler = (needAdjustCaret, callBack) => {\r\n if (needAdjustCaret) {\r\n editor._direction(this.DIRECTION.FORWARD);\r\n editor._adjustCaret()\r\n }\r\n var currentCaret = this.editorCaret();\r\n return new Promise(resolve => {\r\n clearTimeout(this._backspaceHandlerTimeout);\r\n this._backspaceHandlerTimeout = setTimeout((function() {\r\n callBack(currentCaret);\r\n resolve()\r\n }))\r\n })\r\n };\r\n editor._maskKeyHandler(event, () => {\r\n if (editor._hasSelection()) {\r\n return afterBackspaceHandler(true, currentCaret => {\r\n editor._displayMask(currentCaret);\r\n editor._maskRulesChain.reset()\r\n })\r\n }\r\n if (editor._tryMoveCaretBackward()) {\r\n return afterBackspaceHandler(false, currentCaret => {\r\n this.editorCaret(currentCaret)\r\n })\r\n }\r\n editor._handleKey(EMPTY_CHAR, this.DIRECTION.BACKWARD);\r\n return afterBackspaceHandler(true, currentCaret => {\r\n editor._displayMask(currentCaret);\r\n editor._maskRulesChain.reset()\r\n })\r\n })\r\n }\r\n _backspaceInputHandled(inputType) {\r\n return inputType === BACKSPACE_INPUT_TYPE && !this._keyPressHandled\r\n }\r\n _handleBackspaceInput(event) {\r\n var {\r\n start: start,\r\n end: end\r\n } = this.editorCaret();\r\n this.editorCaret({\r\n start: start + 1,\r\n end: end + 1\r\n });\r\n this._backspaceHandler(event)\r\n }\r\n}\r\nexport default DefaultMaskStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.mask.strategy.input_events.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport BaseMaskStrategy from \"./ui.text_editor.mask.strategy.base\";\r\nvar DELETE_INPUT_TYPE = \"deleteContentBackward\";\r\nclass InputEventsMaskStrategy extends BaseMaskStrategy {\r\n _getStrategyName() {\r\n return \"inputEvents\"\r\n }\r\n getHandleEventNames() {\r\n return [...super.getHandleEventNames(), \"beforeInput\"]\r\n }\r\n _beforeInputHandler() {\r\n this._prevCaret = this.editorCaret()\r\n }\r\n _inputHandler(_ref) {\r\n var {\r\n originalEvent: originalEvent\r\n } = _ref;\r\n if (!originalEvent) {\r\n return\r\n }\r\n var {\r\n inputType: inputType,\r\n data: data\r\n } = originalEvent;\r\n var currentCaret = this.editorCaret();\r\n if (inputType === DELETE_INPUT_TYPE) {\r\n var length = this._prevCaret.end - this._prevCaret.start || 1;\r\n this.editor.setBackwardDirection();\r\n this._updateEditorMask({\r\n start: currentCaret.start,\r\n length: length,\r\n text: this._getEmptyString(length)\r\n })\r\n } else {\r\n var _this$_prevCaret, _this$_prevCaret2, _this$_prevCaret3;\r\n if (!currentCaret.end) {\r\n return\r\n }\r\n this._autoFillHandler(originalEvent);\r\n this.editorCaret(currentCaret);\r\n var _length = (null === (_this$_prevCaret = this._prevCaret) || void 0 === _this$_prevCaret ? void 0 : _this$_prevCaret.end) - (null === (_this$_prevCaret2 = this._prevCaret) || void 0 === _this$_prevCaret2 ? void 0 : _this$_prevCaret2.start);\r\n var newData = data + (_length ? this._getEmptyString(_length - data.length) : \"\");\r\n this.editor.setForwardDirection();\r\n var hasValidChars = this._updateEditorMask({\r\n start: null === (_this$_prevCaret3 = this._prevCaret) || void 0 === _this$_prevCaret3 ? void 0 : _this$_prevCaret3.start,\r\n length: _length || newData.length,\r\n text: newData\r\n });\r\n if (!hasValidChars) {\r\n this.editorCaret(this._prevCaret)\r\n }\r\n }\r\n }\r\n _getEmptyString(length) {\r\n return Array(length + 1).join(\" \")\r\n }\r\n _updateEditorMask(args) {\r\n var textLength = args.text.length;\r\n var updatedCharsCount = this.editor._handleChain(args);\r\n if (this.editor.isForwardDirection()) {\r\n var {\r\n start: start,\r\n end: end\r\n } = this.editorCaret();\r\n var correction = updatedCharsCount - textLength;\r\n if (start <= updatedCharsCount && updatedCharsCount > 1) {\r\n this.editorCaret({\r\n start: start + correction,\r\n end: end + correction\r\n })\r\n }\r\n this.editor.isForwardDirection() && this.editor._adjustCaret()\r\n }\r\n this.editor._displayMask();\r\n return !!updatedCharsCount\r\n }\r\n}\r\nexport default InputEventsMaskStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.mask.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport caretUtils from \"./utils.caret\";\r\nimport {\r\n isInputEventsL2Supported\r\n} from \"./utils.support\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n addNamespace,\r\n createEvent,\r\n isCommandKeyPressed,\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n focused\r\n} from \"../widget/selectors\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isEmpty\r\n} from \"../../core/utils/string\";\r\nimport {\r\n name as wheelEventName\r\n} from \"../../events/core/wheel\";\r\nimport {\r\n EmptyMaskRule,\r\n StubMaskRule,\r\n MaskRule\r\n} from \"./ui.text_editor.mask.rule\";\r\nimport TextEditorBase from \"./ui.text_editor.base\";\r\nimport DefaultMaskStrategy from \"./ui.text_editor.mask.strategy.default\";\r\nimport InputEventsMaskStrategy from \"./ui.text_editor.mask.strategy.input_events\";\r\nvar stubCaret = function() {\r\n return {}\r\n};\r\nvar caret = caretUtils;\r\nvar EMPTY_CHAR = \" \";\r\nvar ESCAPED_CHAR = \"\\\\\";\r\nvar TEXTEDITOR_MASKED_CLASS = \"dx-texteditor-masked\";\r\nvar FORWARD_DIRECTION = \"forward\";\r\nvar BACKWARD_DIRECTION = \"backward\";\r\nvar DROP_EVENT_NAME = \"drop\";\r\nvar buildInMaskRules = {\r\n 0: /[0-9]/,\r\n 9: /[0-9\\s]/,\r\n \"#\": /[-+0-9\\s]/,\r\n L: function(char) {\r\n return isLiteralChar(char)\r\n },\r\n l: function(char) {\r\n return isLiteralChar(char) || isSpaceChar(char)\r\n },\r\n C: /\\S/,\r\n c: /./,\r\n A: function(char) {\r\n return isLiteralChar(char) || isNumericChar(char)\r\n },\r\n a: function(char) {\r\n return isLiteralChar(char) || isNumericChar(char) || isSpaceChar(char)\r\n }\r\n};\r\n\r\nfunction isNumericChar(char) {\r\n return /[0-9]/.test(char)\r\n}\r\n\r\nfunction isLiteralChar(char) {\r\n var code = char.charCodeAt();\r\n return 64 < code && code < 91 || 96 < code && code < 123 || code > 127\r\n}\r\n\r\nfunction isSpaceChar(char) {\r\n return \" \" === char\r\n}\r\nvar TextEditorMask = TextEditorBase.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n mask: \"\",\r\n maskChar: \"_\",\r\n maskRules: {},\r\n maskInvalidMessage: messageLocalization.format(\"validation-mask\"),\r\n useMaskedValue: false,\r\n showMaskMode: \"always\"\r\n })\r\n },\r\n _supportedKeys: function() {\r\n var that = this;\r\n var keyHandlerMap = {\r\n backspace: that._maskStrategy.getHandler(\"backspace\"),\r\n del: that._maskStrategy.getHandler(\"del\"),\r\n enter: that._changeHandler\r\n };\r\n var result = that.callBase();\r\n each(keyHandlerMap, (function(key, callback) {\r\n var parentHandler = result[key];\r\n result[key] = function(e) {\r\n that.option(\"mask\") && callback.call(that, e);\r\n parentHandler && parentHandler(e)\r\n }\r\n }));\r\n return result\r\n },\r\n _getSubmitElement: function() {\r\n return !this.option(\"mask\") ? this.callBase() : this._$hiddenElement\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initMaskStrategy()\r\n },\r\n _initMaskStrategy: function() {\r\n this._maskStrategy = isInputEventsL2Supported() ? new InputEventsMaskStrategy(this) : new DefaultMaskStrategy(this)\r\n },\r\n _initMarkup: function() {\r\n this._renderHiddenElement();\r\n this.callBase()\r\n },\r\n _attachMouseWheelEventHandlers: function() {\r\n var hasMouseWheelHandler = this._onMouseWheel !== noop;\r\n if (!hasMouseWheelHandler) {\r\n return\r\n }\r\n var input = this._input();\r\n var eventName = addNamespace(wheelEventName, this.NAME);\r\n var mouseWheelAction = this._createAction(function(e) {\r\n var {\r\n event: event\r\n } = e;\r\n if (focused(input) && !isCommandKeyPressed(event)) {\r\n this._onMouseWheel(event);\r\n event.preventDefault();\r\n event.stopPropagation()\r\n }\r\n }.bind(this));\r\n eventsEngine.off(input, eventName);\r\n eventsEngine.on(input, eventName, (function(e) {\r\n mouseWheelAction({\r\n event: e\r\n })\r\n }))\r\n },\r\n _onMouseWheel: noop,\r\n _useMaskBehavior() {\r\n return Boolean(this.option(\"mask\"))\r\n },\r\n _attachDropEventHandler() {\r\n var useMaskBehavior = this._useMaskBehavior();\r\n if (!useMaskBehavior) {\r\n return\r\n }\r\n var eventName = addNamespace(DROP_EVENT_NAME, this.NAME);\r\n var input = this._input();\r\n eventsEngine.off(input, eventName);\r\n eventsEngine.on(input, eventName, e => e.preventDefault())\r\n },\r\n _render: function() {\r\n this._renderMask();\r\n this.callBase();\r\n this._attachDropEventHandler();\r\n this._attachMouseWheelEventHandlers()\r\n },\r\n _renderHiddenElement: function() {\r\n if (this.option(\"mask\")) {\r\n this._$hiddenElement = $(\"<input>\").attr(\"type\", \"hidden\").appendTo(this._inputWrapper())\r\n }\r\n },\r\n _removeHiddenElement: function() {\r\n this._$hiddenElement && this._$hiddenElement.remove()\r\n },\r\n _renderMask: function() {\r\n this.$element().removeClass(TEXTEDITOR_MASKED_CLASS);\r\n this._maskRulesChain = null;\r\n this._maskStrategy.detachEvents();\r\n if (!this.option(\"mask\")) {\r\n return\r\n }\r\n this.$element().addClass(TEXTEDITOR_MASKED_CLASS);\r\n this._maskStrategy.attachEvents();\r\n this._parseMask();\r\n this._renderMaskedValue()\r\n },\r\n _suppressCaretChanging: function(callback, args) {\r\n caret = stubCaret;\r\n try {\r\n callback.apply(this, args)\r\n } finally {\r\n caret = caretUtils\r\n }\r\n },\r\n _changeHandler: function(e) {\r\n var $input = this._input();\r\n var inputValue = $input.val();\r\n if (inputValue === this._changedValue) {\r\n return\r\n }\r\n this._changedValue = inputValue;\r\n var changeEvent = createEvent(e, {\r\n type: \"change\"\r\n });\r\n eventsEngine.trigger($input, changeEvent)\r\n },\r\n _parseMask: function() {\r\n this._maskRules = extend({}, buildInMaskRules, this.option(\"maskRules\"));\r\n this._maskRulesChain = this._parseMaskRule(0)\r\n },\r\n _parseMaskRule: function(index) {\r\n var mask = this.option(\"mask\");\r\n if (index >= mask.length) {\r\n return new EmptyMaskRule\r\n }\r\n var currentMaskChar = mask[index];\r\n var isEscapedChar = currentMaskChar === ESCAPED_CHAR;\r\n var result = isEscapedChar ? new StubMaskRule({\r\n maskChar: mask[index + 1]\r\n }) : this._getMaskRule(currentMaskChar);\r\n result.next(this._parseMaskRule(index + 1 + isEscapedChar));\r\n return result\r\n },\r\n _getMaskRule: function(pattern) {\r\n var ruleConfig;\r\n each(this._maskRules, (function(rulePattern, allowedChars) {\r\n if (rulePattern === pattern) {\r\n ruleConfig = {\r\n pattern: rulePattern,\r\n allowedChars: allowedChars\r\n };\r\n return false\r\n }\r\n }));\r\n return isDefined(ruleConfig) ? new MaskRule(extend({\r\n maskChar: this.option(\"maskChar\") || \" \"\r\n }, ruleConfig)) : new StubMaskRule({\r\n maskChar: pattern\r\n })\r\n },\r\n _renderMaskedValue: function() {\r\n if (!this._maskRulesChain) {\r\n return\r\n }\r\n var value = this.option(\"value\") || \"\";\r\n this._maskRulesChain.clear(this._normalizeChainArguments());\r\n var chainArgs = {\r\n length: value.length\r\n };\r\n chainArgs[this._isMaskedValueMode() ? \"text\" : \"value\"] = value;\r\n this._handleChain(chainArgs);\r\n this._displayMask()\r\n },\r\n _replaceSelectedText: function(text, selection, char) {\r\n if (void 0 === char) {\r\n return text\r\n }\r\n var textBefore = text.slice(0, selection.start);\r\n var textAfter = text.slice(selection.end);\r\n var edited = textBefore + char + textAfter;\r\n return edited\r\n },\r\n _isMaskedValueMode: function() {\r\n return this.option(\"useMaskedValue\")\r\n },\r\n _displayMask: function(caret) {\r\n caret = caret || this._caret();\r\n this._renderValue();\r\n this._caret(caret)\r\n },\r\n _isValueEmpty: function() {\r\n return isEmpty(this._value)\r\n },\r\n _shouldShowMask: function() {\r\n var showMaskMode = this.option(\"showMaskMode\");\r\n if (\"onFocus\" === showMaskMode) {\r\n return focused(this._input()) || !this._isValueEmpty()\r\n }\r\n return true\r\n },\r\n _showMaskPlaceholder: function() {\r\n if (this._shouldShowMask()) {\r\n var text = this._maskRulesChain.text();\r\n this.option(\"text\", text);\r\n if (\"onFocus\" === this.option(\"showMaskMode\")) {\r\n this._renderDisplayText(text)\r\n }\r\n }\r\n },\r\n _renderValue: function() {\r\n if (this._maskRulesChain) {\r\n this._showMaskPlaceholder();\r\n if (this._$hiddenElement) {\r\n var value = this._maskRulesChain.value();\r\n var submitElementValue = !isEmpty(value) ? this._getPreparedValue() : \"\";\r\n this._$hiddenElement.val(submitElementValue)\r\n }\r\n }\r\n return this.callBase()\r\n },\r\n _getPreparedValue: function() {\r\n return this._convertToValue().replace(/\\s+$/, \"\")\r\n },\r\n _valueChangeEventHandler: function(e) {\r\n if (!this._maskRulesChain) {\r\n this.callBase.apply(this, arguments);\r\n return\r\n }\r\n this._saveValueChangeEvent(e);\r\n this.option(\"value\", this._getPreparedValue())\r\n },\r\n _isControlKeyFired: function(e) {\r\n return this._isControlKey(normalizeKeyName(e)) || isCommandKeyPressed(e)\r\n },\r\n _handleChain: function(args) {\r\n var handledCount = this._maskRulesChain.handle(this._normalizeChainArguments(args));\r\n this._updateMaskInfo();\r\n return handledCount\r\n },\r\n _normalizeChainArguments: function(args) {\r\n args = args || {};\r\n args.index = 0;\r\n args.fullText = this._maskRulesChain.text();\r\n return args\r\n },\r\n _convertToValue: function(text) {\r\n if (this._isMaskedValueMode()) {\r\n text = this._replaceMaskCharWithEmpty(text || this._textValue || \"\")\r\n } else {\r\n text = text || this._value || \"\"\r\n }\r\n return text\r\n },\r\n _replaceMaskCharWithEmpty: function(text) {\r\n return text.replace(new RegExp(this.option(\"maskChar\"), \"g\"), EMPTY_CHAR)\r\n },\r\n _maskKeyHandler: function(e, keyHandler) {\r\n if (this.option(\"readOnly\")) {\r\n return\r\n }\r\n this.setForwardDirection();\r\n e.preventDefault();\r\n this._handleSelection();\r\n var previousText = this._input().val();\r\n var raiseInputEvent = () => {\r\n if (previousText !== this._input().val()) {\r\n this._maskStrategy.runWithoutEventProcessing(() => eventsEngine.trigger(this._input(), \"input\"))\r\n }\r\n };\r\n var handled = keyHandler();\r\n if (handled) {\r\n handled.then(raiseInputEvent)\r\n } else {\r\n this.setForwardDirection();\r\n this._adjustCaret();\r\n this._displayMask();\r\n this._maskRulesChain.reset();\r\n raiseInputEvent()\r\n }\r\n },\r\n _handleKey: function(key, direction) {\r\n this._direction(direction || FORWARD_DIRECTION);\r\n this._adjustCaret(key);\r\n this._handleKeyChain(key);\r\n this._moveCaret()\r\n },\r\n _handleSelection: function() {\r\n if (!this._hasSelection()) {\r\n return\r\n }\r\n var caret = this._caret();\r\n var emptyChars = new Array(caret.end - caret.start + 1).join(EMPTY_CHAR);\r\n this._handleKeyChain(emptyChars)\r\n },\r\n _handleKeyChain: function(chars) {\r\n var caret = this._caret();\r\n var start = this.isForwardDirection() ? caret.start : caret.start - 1;\r\n var end = this.isForwardDirection() ? caret.end : caret.end - 1;\r\n var length = start === end ? 1 : end - start;\r\n this._handleChain({\r\n text: chars,\r\n start: start,\r\n length: length\r\n })\r\n },\r\n _tryMoveCaretBackward: function() {\r\n this.setBackwardDirection();\r\n var currentCaret = this._caret().start;\r\n this._adjustCaret();\r\n return !currentCaret || currentCaret !== this._caret().start\r\n },\r\n _adjustCaret: function(char) {\r\n var caretStart = this._caret().start;\r\n var isForwardDirection = this.isForwardDirection();\r\n var caret = this._maskRulesChain.adjustedCaret(caretStart, isForwardDirection, char);\r\n this._caret({\r\n start: caret,\r\n end: caret\r\n })\r\n },\r\n _moveCaret: function() {\r\n var currentCaret = this._caret().start;\r\n var maskRuleIndex = currentCaret + (this.isForwardDirection() ? 0 : -1);\r\n var caret = this._maskRulesChain.isAccepted(maskRuleIndex) ? currentCaret + (this.isForwardDirection() ? 1 : -1) : currentCaret;\r\n this._caret({\r\n start: caret,\r\n end: caret\r\n })\r\n },\r\n _caret: function(position, force) {\r\n var $input = this._input();\r\n if (!$input.length) {\r\n return\r\n }\r\n if (!arguments.length) {\r\n return caret($input)\r\n }\r\n caret($input, position, force)\r\n },\r\n _hasSelection: function() {\r\n var caret = this._caret();\r\n return caret.start !== caret.end\r\n },\r\n _direction: function(direction) {\r\n if (!arguments.length) {\r\n return this._typingDirection\r\n }\r\n this._typingDirection = direction\r\n },\r\n setForwardDirection: function() {\r\n this._direction(FORWARD_DIRECTION)\r\n },\r\n setBackwardDirection: function() {\r\n this._direction(BACKWARD_DIRECTION)\r\n },\r\n isForwardDirection: function() {\r\n return this._direction() === FORWARD_DIRECTION\r\n },\r\n _updateMaskInfo() {\r\n this._textValue = this._maskRulesChain.text();\r\n this._value = this._maskRulesChain.value()\r\n },\r\n _clean: function() {\r\n this._maskStrategy && this._maskStrategy.clean();\r\n this.callBase()\r\n },\r\n _validateMask: function() {\r\n if (!this._maskRulesChain) {\r\n return\r\n }\r\n var isValid = isEmpty(this.option(\"value\")) || this._maskRulesChain.isValid(this._normalizeChainArguments());\r\n this.option({\r\n isValid: isValid,\r\n validationError: isValid ? null : {\r\n editorSpecific: true,\r\n message: this.option(\"maskInvalidMessage\")\r\n }\r\n })\r\n },\r\n _updateHiddenElement: function() {\r\n this._removeHiddenElement();\r\n if (this.option(\"mask\")) {\r\n this._input().removeAttr(\"name\");\r\n this._renderHiddenElement()\r\n }\r\n this._setSubmitElementName(this.option(\"name\"))\r\n },\r\n _updateMaskOption: function() {\r\n this._updateHiddenElement();\r\n this._renderMask();\r\n this._validateMask()\r\n },\r\n _processEmptyMask: function(mask) {\r\n if (mask) {\r\n return\r\n }\r\n var value = this.option(\"value\");\r\n this.option({\r\n text: value,\r\n isValid: true\r\n });\r\n this.validationRequest.fire({\r\n value: value,\r\n editor: this\r\n });\r\n this._renderValue()\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"mask\":\r\n this._updateMaskOption();\r\n this._processEmptyMask(args.value);\r\n break;\r\n case \"maskChar\":\r\n case \"maskRules\":\r\n case \"useMaskedValue\":\r\n this._updateMaskOption();\r\n break;\r\n case \"value\":\r\n this._renderMaskedValue();\r\n this._validateMask();\r\n this.callBase(args);\r\n this._changedValue = this._input().val();\r\n break;\r\n case \"maskInvalidMessage\":\r\n break;\r\n case \"showMaskMode\":\r\n this.option(\"text\", \"\");\r\n this._renderValue();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n reset: function() {\r\n var {\r\n value: defaultValue\r\n } = this._getDefaultOptions();\r\n if (this.option(\"value\") === defaultValue) {\r\n this._renderMaskedValue()\r\n }\r\n this.callBase()\r\n }\r\n});\r\nexport default TextEditorMask;\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport TextEditorMask from \"./ui.text_editor.mask\";\r\nregisterComponent(\"dxTextEditor\", TextEditorMask);\r\nexport default TextEditorMask;\r\n","/**\r\n * DevExtreme (esm/ui/text_box/utils.caret.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport devices from \"../../core/devices\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nvar {\r\n ios: ios,\r\n mac: mac\r\n} = devices.real();\r\nvar isFocusingOnCaretChange = ios || mac;\r\nvar getCaret = function(input) {\r\n var range;\r\n try {\r\n range = {\r\n start: input.selectionStart,\r\n end: input.selectionEnd\r\n }\r\n } catch (e) {\r\n range = {\r\n start: 0,\r\n end: 0\r\n }\r\n }\r\n return range\r\n};\r\nvar setCaret = function(input, position) {\r\n var body = domAdapter.getBody();\r\n if (!body.contains(input) && !body.contains(input.getRootNode().host)) {\r\n return\r\n }\r\n try {\r\n input.selectionStart = position.start;\r\n input.selectionEnd = position.end\r\n } catch (e) {}\r\n};\r\nvar caret = function(input, position) {\r\n var force = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false;\r\n input = $(input).get(0);\r\n if (!isDefined(position)) {\r\n return getCaret(input)\r\n }\r\n if (!force && isFocusingOnCaretChange && domAdapter.getActiveElement(input) !== input) {\r\n return\r\n }\r\n setCaret(input, position)\r\n};\r\nexport default caret;\r\n","/**\r\n * DevExtreme (esm/ui/text_box/utils.scroll.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n isDxMouseWheelEvent\r\n} from \"../../events/utils/index\";\r\nvar allowScroll = function(container, delta, shiftKey) {\r\n var $container = $(container);\r\n var scrollTopPos = shiftKey ? $container.scrollLeft() : $container.scrollTop();\r\n var prop = shiftKey ? \"Width\" : \"Height\";\r\n var scrollSize = $container.prop(\"scroll\".concat(prop));\r\n var clientSize = $container.prop(\"client\".concat(prop));\r\n var scrollBottomPos = scrollSize - clientSize - scrollTopPos | 0;\r\n if (0 === scrollTopPos && 0 === scrollBottomPos) {\r\n return false\r\n }\r\n var isScrollFromTop = 0 === scrollTopPos && delta >= 0;\r\n var isScrollFromBottom = 0 === scrollBottomPos && delta <= 0;\r\n var isScrollFromMiddle = scrollTopPos > 0 && scrollBottomPos > 0;\r\n if (isScrollFromTop || isScrollFromBottom || isScrollFromMiddle) {\r\n return true\r\n }\r\n};\r\nvar prepareScrollData = function(container, validateTarget) {\r\n var $container = $(container);\r\n return {\r\n validate: function(e) {\r\n if (isDxMouseWheelEvent(e) && (eventTarget = e.target, validateTarget ? $(eventTarget).is(container) : true)) {\r\n if (allowScroll($container, -e.delta, e.shiftKey)) {\r\n e._needSkipEvent = true;\r\n return true\r\n }\r\n return false\r\n }\r\n var eventTarget\r\n }\r\n }\r\n};\r\nexport {\r\n allowScroll,\r\n prepareScrollData\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/themes.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterHeight\r\n} from \"../core/utils/size\";\r\nimport devices from \"../core/devices\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n parseHTML\r\n} from \"../core/utils/html_parser\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport readyCallbacks from \"../core/utils/ready_callbacks\";\r\nimport {\r\n value as viewPortValue,\r\n changeCallback,\r\n originalViewPort\r\n} from \"../core/utils/view_port\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n themeReadyCallback\r\n} from \"./themes_callback\";\r\nimport errors from \"./widget/ui.errors\";\r\nvar window = getWindow();\r\nvar ready = readyCallbacks.add;\r\nvar viewPort = viewPortValue;\r\nvar viewPortChanged = changeCallback;\r\nvar initDeferred = new Deferred;\r\nvar DX_LINK_SELECTOR = \"link[rel=dx-theme]\";\r\nvar THEME_ATTR = \"data-theme\";\r\nvar ACTIVE_ATTR = \"data-active\";\r\nvar DX_HAIRLINES_CLASS = \"dx-hairlines\";\r\nvar ANY_THEME = \"any\";\r\nvar context;\r\nvar $activeThemeLink;\r\nvar knownThemes;\r\nvar currentThemeName;\r\nvar pendingThemeName;\r\nvar defaultTimeout = 15e3;\r\nvar THEME_MARKER_PREFIX = \"dx.\";\r\n\r\nfunction readThemeMarker() {\r\n if (!hasWindow()) {\r\n return null\r\n }\r\n var element = $(\"<div>\", context).addClass(\"dx-theme-marker\").appendTo(context.documentElement);\r\n var result;\r\n try {\r\n result = window.getComputedStyle(element.get(0)).fontFamily;\r\n if (!result) {\r\n return null\r\n }\r\n result = result.replace(/[\"']/g, \"\");\r\n if (result.substr(0, THEME_MARKER_PREFIX.length) !== THEME_MARKER_PREFIX) {\r\n return null\r\n }\r\n return result.substr(THEME_MARKER_PREFIX.length)\r\n } finally {\r\n element.remove()\r\n }\r\n}\r\nexport function waitForThemeLoad(themeName) {\r\n var waitStartTime;\r\n var timerId;\r\n var intervalCleared = true;\r\n pendingThemeName = themeName;\r\n\r\n function handleLoaded() {\r\n pendingThemeName = null;\r\n clearInterval(timerId);\r\n intervalCleared = true;\r\n themeReadyCallback.fire();\r\n themeReadyCallback.empty();\r\n initDeferred.resolve()\r\n }\r\n if (isPendingThemeLoaded() || !defaultTimeout) {\r\n handleLoaded()\r\n } else {\r\n if (!intervalCleared) {\r\n if (pendingThemeName) {\r\n pendingThemeName = themeName\r\n }\r\n return\r\n }\r\n waitStartTime = Date.now();\r\n intervalCleared = false;\r\n timerId = setInterval((function() {\r\n var isLoaded = isPendingThemeLoaded();\r\n var isTimeout = !isLoaded && Date.now() - waitStartTime > defaultTimeout;\r\n if (isTimeout) {\r\n errors.log(\"W0004\", pendingThemeName)\r\n }\r\n if (isLoaded || isTimeout) {\r\n handleLoaded()\r\n }\r\n }), 10)\r\n }\r\n}\r\nexport function isPendingThemeLoaded() {\r\n if (!pendingThemeName) {\r\n return true\r\n }\r\n var anyThemePending = pendingThemeName === ANY_THEME;\r\n if (\"resolved\" === initDeferred.state() && anyThemePending) {\r\n return true\r\n }\r\n var themeMarker = readThemeMarker();\r\n if (themeMarker && anyThemePending) {\r\n return true\r\n }\r\n return themeMarker === pendingThemeName\r\n}\r\n\r\nfunction processMarkup() {\r\n var $allThemeLinks = $(DX_LINK_SELECTOR, context);\r\n if (!$allThemeLinks.length) {\r\n return\r\n }\r\n knownThemes = {};\r\n $activeThemeLink = $(parseHTML(\"<link rel=stylesheet>\"), context);\r\n $allThemeLinks.each((function() {\r\n var link = $(this, context);\r\n var fullThemeName = link.attr(THEME_ATTR);\r\n var url = link.attr(\"href\");\r\n var isActive = \"true\" === link.attr(ACTIVE_ATTR);\r\n knownThemes[fullThemeName] = {\r\n url: url,\r\n isActive: isActive\r\n }\r\n }));\r\n $allThemeLinks.last().after($activeThemeLink);\r\n $allThemeLinks.remove()\r\n}\r\n\r\nfunction resolveFullThemeName(desiredThemeName) {\r\n var desiredThemeParts = desiredThemeName ? desiredThemeName.split(\".\") : [];\r\n var result = null;\r\n if (knownThemes) {\r\n if (desiredThemeName in knownThemes) {\r\n return desiredThemeName\r\n }\r\n each(knownThemes, (function(knownThemeName, themeData) {\r\n var knownThemeParts = knownThemeName.split(\".\");\r\n if (desiredThemeParts[0] && knownThemeParts[0] !== desiredThemeParts[0]) {\r\n return\r\n }\r\n if (desiredThemeParts[1] && desiredThemeParts[1] !== knownThemeParts[1]) {\r\n return\r\n }\r\n if (desiredThemeParts[2] && desiredThemeParts[2] !== knownThemeParts[2]) {\r\n return\r\n }\r\n if (!result || themeData.isActive) {\r\n result = knownThemeName\r\n }\r\n if (themeData.isActive) {\r\n return false\r\n }\r\n }))\r\n }\r\n return result\r\n}\r\n\r\nfunction initContext(newContext) {\r\n try {\r\n if (newContext !== context) {\r\n knownThemes = null\r\n }\r\n } catch (x) {\r\n knownThemes = null\r\n }\r\n context = newContext\r\n}\r\nexport function init(options) {\r\n options = options || {};\r\n initContext(options.context || domAdapter.getDocument());\r\n if (!context) {\r\n return\r\n }\r\n processMarkup();\r\n currentThemeName = void 0;\r\n current(options)\r\n}\r\nexport function current(options) {\r\n if (!arguments.length) {\r\n currentThemeName = currentThemeName || readThemeMarker();\r\n return currentThemeName\r\n }\r\n detachCssClasses(viewPort());\r\n options = options || {};\r\n if (\"string\" === typeof options) {\r\n options = {\r\n theme: options\r\n }\r\n }\r\n var isAutoInit = options._autoInit;\r\n var loadCallback = options.loadCallback;\r\n var currentThemeData;\r\n currentThemeName = resolveFullThemeName(options.theme || currentThemeName);\r\n if (currentThemeName) {\r\n currentThemeData = knownThemes[currentThemeName]\r\n }\r\n if (loadCallback) {\r\n themeReadyCallback.add(loadCallback)\r\n }\r\n if (currentThemeData) {\r\n $activeThemeLink.attr(\"href\", knownThemes[currentThemeName].url);\r\n if (themeReadyCallback.has() || \"resolved\" !== initDeferred.state() || options._forceTimeout) {\r\n waitForThemeLoad(currentThemeName)\r\n }\r\n } else if (isAutoInit) {\r\n if (hasWindow()) {\r\n waitForThemeLoad(ANY_THEME)\r\n }\r\n themeReadyCallback.fire();\r\n themeReadyCallback.empty()\r\n } else {\r\n throw errors.Error(\"E0021\", currentThemeName)\r\n }\r\n initDeferred.done(() => attachCssClasses(originalViewPort(), currentThemeName))\r\n}\r\n\r\nfunction getCssClasses(themeName) {\r\n themeName = themeName || current();\r\n var result = [];\r\n var themeNameParts = themeName && themeName.split(\".\");\r\n if (themeNameParts) {\r\n result.push(\"dx-theme-\" + themeNameParts[0], \"dx-theme-\" + themeNameParts[0] + \"-typography\");\r\n if (themeNameParts.length > 1) {\r\n result.push(\"dx-color-scheme-\" + themeNameParts[1] + (isMaterial(themeName) ? \"-\" + themeNameParts[2] : \"\"))\r\n }\r\n }\r\n return result\r\n}\r\nvar themeClasses;\r\nexport function attachCssClasses(element, themeName) {\r\n themeClasses = getCssClasses(themeName).join(\" \");\r\n $(element).addClass(themeClasses);\r\n ! function() {\r\n var pixelRatio = hasWindow() && window.devicePixelRatio;\r\n if (!pixelRatio || pixelRatio < 2) {\r\n return\r\n }\r\n var $tester = $(\"<div>\");\r\n $tester.css(\"border\", \".5px solid transparent\");\r\n $(\"body\").append($tester);\r\n if (1 === getOuterHeight($tester)) {\r\n $(element).addClass(DX_HAIRLINES_CLASS);\r\n themeClasses += \" \" + DX_HAIRLINES_CLASS\r\n }\r\n $tester.remove()\r\n }()\r\n}\r\nexport function detachCssClasses(element) {\r\n $(element).removeClass(themeClasses)\r\n}\r\n\r\nfunction themeReady(callback) {\r\n themeReadyCallback.add(callback)\r\n}\r\n\r\nfunction isTheme(themeRegExp, themeName) {\r\n if (!themeName) {\r\n themeName = currentThemeName || readThemeMarker()\r\n }\r\n return new RegExp(themeRegExp).test(themeName)\r\n}\r\nexport function isMaterial(themeName) {\r\n return isTheme(\"material\", themeName)\r\n}\r\nexport function isGeneric(themeName) {\r\n return isTheme(\"generic\", themeName)\r\n}\r\nexport function isDark(themeName) {\r\n return isTheme(\"dark\", themeName)\r\n}\r\nexport function isCompact(themeName) {\r\n return isTheme(\"compact\", themeName)\r\n}\r\nexport function isWebFontLoaded(text, fontWeight) {\r\n var document = domAdapter.getDocument();\r\n var testElement = document.createElement(\"span\");\r\n testElement.style.position = \"absolute\";\r\n testElement.style.top = \"-9999px\";\r\n testElement.style.left = \"-9999px\";\r\n testElement.style.visibility = \"hidden\";\r\n testElement.style.fontFamily = \"Arial\";\r\n testElement.style.fontSize = \"250px\";\r\n testElement.style.fontWeight = fontWeight;\r\n testElement.innerHTML = text;\r\n document.body.appendChild(testElement);\r\n var etalonFontWidth = testElement.offsetWidth;\r\n testElement.style.fontFamily = \"Roboto, RobotoFallback, Arial\";\r\n var testedFontWidth = testElement.offsetWidth;\r\n testElement.parentNode.removeChild(testElement);\r\n return etalonFontWidth !== testedFontWidth\r\n}\r\nexport function waitWebFont(text, fontWeight) {\r\n return new Promise(resolve => {\r\n var clear = () => {\r\n clearInterval(intervalId);\r\n clearTimeout(timeoutId);\r\n resolve()\r\n };\r\n var intervalId = setInterval(() => {\r\n if (isWebFontLoaded(text, fontWeight)) {\r\n clear()\r\n }\r\n }, 15);\r\n var timeoutId = setTimeout(clear, 2e3)\r\n })\r\n}\r\n\r\nfunction autoInit() {\r\n init({\r\n _autoInit: true,\r\n _forceTimeout: true\r\n });\r\n if ($(DX_LINK_SELECTOR, context).length) {\r\n throw errors.Error(\"E0022\")\r\n }\r\n}\r\nif (hasWindow()) {\r\n autoInit()\r\n} else {\r\n ready(autoInit)\r\n}\r\nviewPortChanged.add((function(viewPort, prevViewPort) {\r\n initDeferred.done((function() {\r\n detachCssClasses(prevViewPort);\r\n attachCssClasses(viewPort)\r\n }))\r\n}));\r\ndevices.changed.add((function() {\r\n init({\r\n _autoInit: true\r\n })\r\n}));\r\nexport {\r\n themeReady as ready\r\n};\r\nexport function resetTheme() {\r\n $activeThemeLink && $activeThemeLink.attr(\"href\", \"about:blank\");\r\n currentThemeName = null;\r\n pendingThemeName = null;\r\n initDeferred = new Deferred\r\n}\r\nexport function initialized(callback) {\r\n initDeferred.done(callback)\r\n}\r\nexport function setDefaultTimeout(timeout) {\r\n defaultTimeout = timeout\r\n}\r\nexport default {\r\n setDefaultTimeout: setDefaultTimeout,\r\n initialized: initialized,\r\n resetTheme: resetTheme,\r\n ready: themeReady,\r\n waitWebFont: waitWebFont,\r\n isWebFontLoaded: isWebFontLoaded,\r\n isCompact: isCompact,\r\n isDark: isDark,\r\n isGeneric: isGeneric,\r\n isMaterial: isMaterial,\r\n detachCssClasses: detachCssClasses,\r\n attachCssClasses: attachCssClasses,\r\n current: current,\r\n waitForThemeLoad: waitForThemeLoad,\r\n isPendingThemeLoaded: isPendingThemeLoaded\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/themes_callback.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Callbacks from \"../core/utils/callbacks\";\r\nexport var themeReadyCallback = Callbacks();\r\n","/**\r\n * DevExtreme (esm/ui/tile_view.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getHeight,\r\n setWidth,\r\n setHeight,\r\n getOuterWidth,\r\n getOuterHeight\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport devices from \"../core/devices\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n map,\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n isDefined\r\n} from \"../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport {\r\n deferRender\r\n} from \"../core/utils/common\";\r\nimport {\r\n nativeScrolling\r\n} from \"../core/utils/support\";\r\nimport ScrollView from \"./scroll_view\";\r\nimport CollectionWidget from \"./collection/ui.collection_widget.edit\";\r\nvar TILEVIEW_CLASS = \"dx-tileview\";\r\nvar TILEVIEW_CONTAINER_CLASS = \"dx-tileview-wrapper\";\r\nvar TILEVIEW_ITEM_CLASS = \"dx-tile\";\r\nvar TILEVIEW_ITEM_SELECTOR = \".\" + TILEVIEW_ITEM_CLASS;\r\nvar TILEVIEW_ITEM_DATA_KEY = \"dxTileData\";\r\nvar CONFIGS = {\r\n horizontal: {\r\n itemMainRatio: \"widthRatio\",\r\n itemCrossRatio: \"heightRatio\",\r\n baseItemMainDimension: \"baseItemWidth\",\r\n baseItemCrossDimension: \"baseItemHeight\",\r\n mainDimension: \"width\",\r\n crossDimension: \"height\",\r\n mainPosition: \"left\",\r\n crossPosition: \"top\"\r\n },\r\n vertical: {\r\n itemMainRatio: \"heightRatio\",\r\n itemCrossRatio: \"widthRatio\",\r\n baseItemMainDimension: \"baseItemHeight\",\r\n baseItemCrossDimension: \"baseItemWidth\",\r\n mainDimension: \"height\",\r\n crossDimension: \"width\",\r\n mainPosition: \"top\",\r\n crossPosition: \"left\"\r\n }\r\n};\r\nvar TileView = CollectionWidget.inherit({\r\n _activeStateUnit: TILEVIEW_ITEM_SELECTOR,\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n items: null,\r\n direction: \"horizontal\",\r\n hoverStateEnabled: true,\r\n showScrollbar: \"never\",\r\n height: 500,\r\n baseItemWidth: 100,\r\n baseItemHeight: 100,\r\n itemMargin: 20,\r\n activeStateEnabled: true,\r\n indicateLoading: true\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return nativeScrolling\r\n },\r\n options: {\r\n showScrollbar: \"onScroll\"\r\n }\r\n }])\r\n },\r\n _itemClass: function() {\r\n return TILEVIEW_ITEM_CLASS\r\n },\r\n _itemDataKey: function() {\r\n return TILEVIEW_ITEM_DATA_KEY\r\n },\r\n _itemContainer: function() {\r\n return this._$container\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.$element().addClass(TILEVIEW_CLASS);\r\n this._initScrollView()\r\n },\r\n _dataSourceLoadingChangedHandler: function(isLoading) {\r\n var scrollView = this._scrollView;\r\n if (!scrollView || !scrollView.startLoading) {\r\n return\r\n }\r\n if (isLoading && this.option(\"indicateLoading\")) {\r\n scrollView.startLoading()\r\n } else {\r\n scrollView.finishLoading()\r\n }\r\n },\r\n _hideLoadingIfLoadIndicationOff: function() {\r\n if (!this.option(\"indicateLoading\")) {\r\n this._dataSourceLoadingChangedHandler(false)\r\n }\r\n },\r\n _initScrollView: function() {\r\n var {\r\n width: width,\r\n height: height,\r\n direction: direction,\r\n showScrollbar: showScrollbar\r\n } = this.option();\r\n this._scrollView = this._createComponent(this.$element(), ScrollView, {\r\n direction: direction,\r\n width: width,\r\n height: height,\r\n scrollByContent: true,\r\n useKeyboard: false,\r\n showScrollbar: showScrollbar\r\n });\r\n this._$container = $(this._scrollView.content());\r\n this._$container.addClass(TILEVIEW_CONTAINER_CLASS);\r\n this._scrollView.option(\"onUpdated\", this._renderGeometry.bind(this))\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n deferRender(function() {\r\n this._cellsPerDimension = 1;\r\n this._renderGeometry();\r\n this._updateScrollView();\r\n this._fireContentReadyAction()\r\n }.bind(this))\r\n },\r\n _updateScrollView: function() {\r\n this._scrollView.option(\"direction\", this.option(\"direction\"));\r\n this._scrollView.update();\r\n this._indicateLoadingIfAlreadyStarted()\r\n },\r\n _indicateLoadingIfAlreadyStarted: function() {\r\n if (this._isDataSourceLoading()) {\r\n this._dataSourceLoadingChangedHandler(true)\r\n }\r\n },\r\n _renderGeometry: function() {\r\n this._config = CONFIGS[this.option(\"direction\")];\r\n var items = this.option(\"items\") || [];\r\n var config = this._config;\r\n var itemMargin = this.option(\"itemMargin\");\r\n var maxItemCrossRatio = Math.max.apply(Math, map(items || [], (function(item) {\r\n return Math.round(item[config.itemCrossRatio] || 1)\r\n })));\r\n var crossDimensionValue;\r\n if (hasWindow) {\r\n crossDimensionValue = (\"width\" === config.crossDimension ? getWidth : getHeight)(this.$element())\r\n } else {\r\n crossDimensionValue = parseInt(this.$element().get(0).style[config.crossDimension])\r\n }\r\n this._cellsPerDimension = Math.floor(crossDimensionValue / (this.option(config.baseItemCrossDimension) + itemMargin));\r\n this._cellsPerDimension = Math.max(this._cellsPerDimension, maxItemCrossRatio);\r\n this._cells = [];\r\n this._cells.push(new Array(this._cellsPerDimension));\r\n this._arrangeItems(items);\r\n this._renderContentSize(config, itemMargin)\r\n },\r\n _renderContentSize: function(_ref, itemMargin) {\r\n var {\r\n mainDimension: mainDimension,\r\n baseItemMainDimension: baseItemMainDimension\r\n } = _ref;\r\n if (hasWindow()) {\r\n var actualContentSize = this._cells.length * this.option(baseItemMainDimension) + (this._cells.length + 1) * itemMargin;\r\n var elementSize = (\"width\" === mainDimension ? getWidth : getHeight)(this.$element());\r\n (\"width\" === mainDimension ? setWidth : setHeight)(this._$container, Math.max(actualContentSize, elementSize))\r\n }\r\n },\r\n _arrangeItems: function(items) {\r\n var config = this._config;\r\n var itemMainRatio = config.itemMainRatio;\r\n var itemCrossRatio = config.itemCrossRatio;\r\n var mainPosition = config.mainPosition;\r\n this._itemsPositions = [];\r\n each(items, function(index, item) {\r\n var currentItem = {};\r\n currentItem[itemMainRatio] = item[itemMainRatio] || 1;\r\n currentItem[itemCrossRatio] = item[itemCrossRatio] || 1;\r\n currentItem.index = index;\r\n currentItem[itemMainRatio] = currentItem[itemMainRatio] <= 0 ? 0 : Math.round(currentItem[config.itemMainRatio]);\r\n currentItem[itemCrossRatio] = currentItem[itemCrossRatio] <= 0 ? 0 : Math.round(currentItem[config.itemCrossRatio]);\r\n var itemPosition = this._getItemPosition(currentItem);\r\n if (-1 === itemPosition[mainPosition]) {\r\n itemPosition[mainPosition] = this._cells.push(new Array(this._cellsPerDimension)) - 1\r\n }\r\n this._occupyCells(currentItem, itemPosition);\r\n this._arrangeItem(currentItem, itemPosition);\r\n this._itemsPositions.push(itemPosition)\r\n }.bind(this))\r\n },\r\n _getItemPosition: function(item) {\r\n var config = this._config;\r\n var mainPosition = config.mainPosition;\r\n var crossPosition = config.crossPosition;\r\n var position = {};\r\n position[mainPosition] = -1;\r\n position[crossPosition] = 0;\r\n for (var main = 0; main < this._cells.length; main++) {\r\n for (var cross = 0; cross < this._cellsPerDimension; cross++) {\r\n if (this._itemFit(main, cross, item)) {\r\n position[mainPosition] = main;\r\n position[crossPosition] = cross;\r\n break\r\n }\r\n }\r\n if (position[mainPosition] > -1) {\r\n break\r\n }\r\n }\r\n return position\r\n },\r\n _itemFit: function(mainPosition, crossPosition, item) {\r\n var result = true;\r\n var config = this._config;\r\n var itemRatioMain = item[config.itemMainRatio];\r\n var itemRatioCross = item[config.itemCrossRatio];\r\n if (crossPosition + itemRatioCross > this._cellsPerDimension) {\r\n return false\r\n }\r\n for (var main = mainPosition; main < mainPosition + itemRatioMain; main++) {\r\n for (var cross = crossPosition; cross < crossPosition + itemRatioCross; cross++) {\r\n if (this._cells.length - 1 < main) {\r\n this._cells.push(new Array(this._cellsPerDimension))\r\n } else if (void 0 !== this._cells[main][cross]) {\r\n result = false;\r\n break\r\n }\r\n }\r\n }\r\n return result\r\n },\r\n _occupyCells: function(item, itemPosition) {\r\n var config = this._config;\r\n var itemPositionMain = itemPosition[config.mainPosition];\r\n var itemPositionCross = itemPosition[config.crossPosition];\r\n var itemRatioMain = item[config.itemMainRatio];\r\n var itemRatioCross = item[config.itemCrossRatio];\r\n for (var main = itemPositionMain; main < itemPositionMain + itemRatioMain; main++) {\r\n for (var cross = itemPositionCross; cross < itemPositionCross + itemRatioCross; cross++) {\r\n this._cells[main][cross] = item.index\r\n }\r\n }\r\n },\r\n _arrangeItem: function(item, itemPosition) {\r\n var config = this._config;\r\n var itemPositionMain = itemPosition[config.mainPosition];\r\n var itemPositionCross = itemPosition[config.crossPosition];\r\n var itemRatioMain = item[config.itemMainRatio];\r\n var itemRatioCross = item[config.itemCrossRatio];\r\n var baseItemCross = this.option(config.baseItemCrossDimension);\r\n var baseItemMain = this.option(config.baseItemMainDimension);\r\n var itemMargin = this.option(\"itemMargin\");\r\n var cssProps = {\r\n display: itemRatioMain <= 0 || itemRatioCross <= 0 ? \"none\" : \"\"\r\n };\r\n var mainDimension = itemRatioMain * baseItemMain + (itemRatioMain - 1) * itemMargin;\r\n var crossDimension = itemRatioCross * baseItemCross + (itemRatioCross - 1) * itemMargin;\r\n cssProps[config.mainDimension] = mainDimension < 0 ? 0 : mainDimension;\r\n cssProps[config.crossDimension] = crossDimension < 0 ? 0 : crossDimension;\r\n cssProps[config.mainPosition] = itemPositionMain * baseItemMain + (itemPositionMain + 1) * itemMargin;\r\n cssProps[config.crossPosition] = itemPositionCross * baseItemCross + (itemPositionCross + 1) * itemMargin;\r\n if (this.option(\"rtlEnabled\")) {\r\n var offsetCorrection = getWidth(this._$container);\r\n var baseItemWidth = this.option(\"baseItemWidth\");\r\n var itemPositionX = itemPosition.left;\r\n var offsetPosition = itemPositionX * baseItemWidth;\r\n var itemBaseOffset = baseItemWidth + itemMargin;\r\n var itemWidth = itemBaseOffset * item.widthRatio;\r\n var subItemMargins = itemPositionX * itemMargin;\r\n cssProps.left = offsetCorrection - (offsetPosition + itemWidth + subItemMargins)\r\n }\r\n this._itemElements().eq(item.index).css(cssProps)\r\n },\r\n _moveFocus: function(location) {\r\n var FOCUS_UP = \"up\";\r\n var FOCUS_DOWN = \"down\";\r\n var FOCUS_LEFT = this.option(\"rtlEnabled\") ? \"right\" : \"left\";\r\n var FOCUS_RIGHT = this.option(\"rtlEnabled\") ? \"left\" : \"right\";\r\n var FOCUS_PAGE_UP = \"pageup\";\r\n var FOCUS_PAGE_DOWN = \"pagedown\";\r\n var horizontalDirection = \"horizontal\" === this.option(\"direction\");\r\n var cells = this._cells;\r\n var index = $(this.option(\"focusedElement\")).index();\r\n var targetCol = this._itemsPositions[index].left;\r\n var targetRow = this._itemsPositions[index].top;\r\n var colCount = (horizontalDirection ? cells : cells[0]).length;\r\n var rowCount = (horizontalDirection ? cells[0] : cells).length;\r\n var getCell = function(col, row) {\r\n if (horizontalDirection) {\r\n return cells[col][row]\r\n }\r\n return cells[row][col]\r\n };\r\n switch (location) {\r\n case FOCUS_PAGE_UP:\r\n case FOCUS_UP:\r\n while (targetRow > 0 && index === getCell(targetCol, targetRow)) {\r\n targetRow--\r\n }\r\n if (targetRow < 0) {\r\n targetRow = 0\r\n }\r\n break;\r\n case FOCUS_PAGE_DOWN:\r\n case FOCUS_DOWN:\r\n while (targetRow < rowCount && index === getCell(targetCol, targetRow)) {\r\n targetRow++\r\n }\r\n if (targetRow === rowCount) {\r\n targetRow = rowCount - 1\r\n }\r\n break;\r\n case FOCUS_RIGHT:\r\n while (targetCol < colCount && index === getCell(targetCol, targetRow)) {\r\n targetCol++\r\n }\r\n if (targetCol === colCount) {\r\n targetCol = colCount - 1\r\n }\r\n break;\r\n case FOCUS_LEFT:\r\n while (targetCol >= 0 && index === getCell(targetCol, targetRow)) {\r\n targetCol--\r\n }\r\n if (targetCol < 0) {\r\n targetCol = 0\r\n }\r\n break;\r\n default:\r\n this.callBase.apply(this, arguments);\r\n return\r\n }\r\n var newTargetIndex = getCell(targetCol, targetRow);\r\n if (!isDefined(newTargetIndex)) {\r\n return\r\n }\r\n var $newTarget = this._itemElements().eq(newTargetIndex);\r\n this.option(\"focusedElement\", getPublicElement($newTarget));\r\n this._scrollToItem($newTarget)\r\n },\r\n _scrollToItem: function($itemElement) {\r\n if (!$itemElement.length) {\r\n return\r\n }\r\n var config = this._config;\r\n var outerMainGetter = \"width\" === config.mainDimension ? getOuterWidth : getOuterHeight;\r\n var itemMargin = this.option(\"itemMargin\");\r\n var itemPosition = $itemElement.position()[config.mainPosition];\r\n var itemDimension = outerMainGetter($itemElement);\r\n var itemTail = itemPosition + itemDimension;\r\n var scrollPosition = this.scrollPosition();\r\n var clientWidth = outerMainGetter(this.$element());\r\n if (scrollPosition <= itemPosition && itemTail <= scrollPosition + clientWidth) {\r\n return\r\n }\r\n if (scrollPosition > itemPosition) {\r\n this._scrollView.scrollTo(itemPosition - itemMargin)\r\n } else {\r\n this._scrollView.scrollTo(itemPosition + itemDimension - clientWidth + itemMargin)\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"items\":\r\n this.callBase(args);\r\n this._renderGeometry();\r\n this._updateScrollView();\r\n break;\r\n case \"showScrollbar\":\r\n this._initScrollView();\r\n break;\r\n case \"disabled\":\r\n this._scrollView.option(\"disabled\", args.value);\r\n this.callBase(args);\r\n break;\r\n case \"baseItemWidth\":\r\n case \"baseItemHeight\":\r\n case \"itemMargin\":\r\n this._renderGeometry();\r\n break;\r\n case \"width\":\r\n case \"height\":\r\n this.callBase(args);\r\n this._renderGeometry();\r\n this._scrollView.option(args.name, args.value);\r\n this._updateScrollView();\r\n break;\r\n case \"direction\":\r\n this._renderGeometry();\r\n this._updateScrollView();\r\n break;\r\n case \"indicateLoading\":\r\n this._hideLoadingIfLoadIndicationOff();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n scrollPosition: function() {\r\n return this._scrollView.scrollOffset()[this._config.mainPosition]\r\n }\r\n});\r\nregisterComponent(\"dxTileView\", TileView);\r\nexport default TileView;\r\n","/**\r\n * DevExtreme (esm/ui/toast/ui.toast.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport readyCallbacks from \"../../core/utils/ready_callbacks\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport Overlay from \"../overlay/ui.overlay\";\r\nimport {\r\n isMaterial\r\n} from \"../themes\";\r\nvar ready = readyCallbacks.add;\r\nvar TOAST_CLASS = \"dx-toast\";\r\nvar TOAST_CLASS_PREFIX = TOAST_CLASS + \"-\";\r\nvar TOAST_WRAPPER_CLASS = TOAST_CLASS_PREFIX + \"wrapper\";\r\nvar TOAST_CONTENT_CLASS = TOAST_CLASS_PREFIX + \"content\";\r\nvar TOAST_MESSAGE_CLASS = TOAST_CLASS_PREFIX + \"message\";\r\nvar TOAST_ICON_CLASS = TOAST_CLASS_PREFIX + \"icon\";\r\nvar WIDGET_NAME = \"dxToast\";\r\nvar toastTypes = [\"info\", \"warning\", \"error\", \"success\"];\r\nvar TOAST_STACK = [];\r\nvar FIRST_Z_INDEX_OFFSET = 8e3;\r\nvar POSITION_ALIASES = {\r\n top: {\r\n my: \"top\",\r\n at: \"top\",\r\n of: null,\r\n offset: \"0 0\"\r\n },\r\n bottom: {\r\n my: \"bottom\",\r\n at: \"bottom\",\r\n of: null,\r\n offset: \"0 -20\"\r\n },\r\n center: {\r\n my: \"center\",\r\n at: \"center\",\r\n of: null,\r\n offset: \"0 0\"\r\n },\r\n right: {\r\n my: \"center right\",\r\n at: \"center right\",\r\n of: null,\r\n offset: \"0 0\"\r\n },\r\n left: {\r\n my: \"center left\",\r\n at: \"center left\",\r\n of: null,\r\n offset: \"0 0\"\r\n }\r\n};\r\nvar DEFAULT_BOUNDARY_OFFSET = {\r\n h: 0,\r\n v: 0\r\n};\r\nready((function() {\r\n eventsEngine.subscribeGlobal(domAdapter.getDocument(), pointerEvents.down, (function(e) {\r\n for (var i = TOAST_STACK.length - 1; i >= 0; i--) {\r\n if (!TOAST_STACK[i]._proxiedDocumentDownHandler(e)) {\r\n return\r\n }\r\n }\r\n }))\r\n}));\r\nvar Toast = Overlay.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n message: \"\",\r\n type: \"info\",\r\n displayTime: 2e3,\r\n position: \"bottom center\",\r\n animation: {\r\n show: {\r\n type: \"fade\",\r\n duration: 400,\r\n from: 0,\r\n to: 1\r\n },\r\n hide: {\r\n type: \"fade\",\r\n duration: 400,\r\n from: 1,\r\n to: 0\r\n }\r\n },\r\n shading: false,\r\n height: \"auto\",\r\n hideTopOverlayHandler: null,\r\n closeOnSwipe: true,\r\n closeOnClick: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"android\"\r\n },\r\n options: {\r\n hideOnOutsideClick: true,\r\n width: \"auto\",\r\n animation: {\r\n show: {\r\n type: \"slide\",\r\n duration: 200,\r\n from: {\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\",\r\n of: window\r\n }\r\n }\r\n },\r\n hide: {\r\n type: \"slide\",\r\n duration: 200,\r\n to: {\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\",\r\n of: window\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }, {\r\n device: function(_device) {\r\n var isPhone = \"phone\" === _device.deviceType;\r\n var isAndroid = \"android\" === _device.platform;\r\n return isPhone && isAndroid\r\n },\r\n options: {\r\n width: \"100vw\",\r\n position: {\r\n at: \"bottom center\",\r\n my: \"bottom center\",\r\n offset: \"0 0\"\r\n }\r\n }\r\n }, {\r\n device: function(_device2) {\r\n return \"phone\" === _device2.deviceType\r\n },\r\n options: {\r\n width: \"100vw\"\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial()\r\n },\r\n options: {\r\n minWidth: 344,\r\n maxWidth: 568,\r\n displayTime: 4e3\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._posStringToObject()\r\n },\r\n _renderContentImpl: function() {\r\n this._message = $(\"<div>\").addClass(TOAST_MESSAGE_CLASS).text(this.option(\"message\")).appendTo(this.$content());\r\n this.setAria(\"role\", \"alert\", this._message);\r\n if (toastTypes.includes(this.option(\"type\").toLowerCase())) {\r\n this.$content().prepend($(\"<div>\").addClass(TOAST_ICON_CLASS))\r\n }\r\n this.callBase()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this.$element().addClass(TOAST_CLASS);\r\n this.$wrapper().addClass(TOAST_WRAPPER_CLASS);\r\n this.$content().addClass(TOAST_CLASS_PREFIX + String(this.option(\"type\")).toLowerCase());\r\n this.$content().addClass(TOAST_CONTENT_CLASS);\r\n this._toggleCloseEvents(\"Swipe\");\r\n this._toggleCloseEvents(\"Click\")\r\n },\r\n _renderScrollTerminator: noop,\r\n _toggleCloseEvents: function(event) {\r\n var dxEvent = \"dx\" + event.toLowerCase();\r\n eventsEngine.off(this.$content(), dxEvent);\r\n this.option(\"closeOn\" + event) && eventsEngine.on(this.$content(), dxEvent, this.hide.bind(this))\r\n },\r\n _posStringToObject: function() {\r\n if (!isString(this.option(\"position\"))) {\r\n return\r\n }\r\n var verticalPosition = this.option(\"position\").split(\" \")[0];\r\n var horizontalPosition = this.option(\"position\").split(\" \")[1];\r\n this.option(\"position\", extend({\r\n boundaryOffset: DEFAULT_BOUNDARY_OFFSET\r\n }, POSITION_ALIASES[verticalPosition]));\r\n switch (horizontalPosition) {\r\n case \"center\":\r\n case \"left\":\r\n case \"right\":\r\n this.option(\"position\").at += \" \" + horizontalPosition;\r\n this.option(\"position\").my += \" \" + horizontalPosition\r\n }\r\n },\r\n _show: function() {\r\n return this.callBase.apply(this, arguments).always(function() {\r\n clearTimeout(this._hideTimeout);\r\n this._hideTimeout = setTimeout(this.hide.bind(this), this.option(\"displayTime\"))\r\n }.bind(this))\r\n },\r\n _overlayStack: function() {\r\n return TOAST_STACK\r\n },\r\n _zIndexInitValue: function() {\r\n return this.callBase() + FIRST_Z_INDEX_OFFSET\r\n },\r\n _dispose: function() {\r\n clearTimeout(this._hideTimeout);\r\n this.callBase()\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"type\":\r\n this.$content().removeClass(TOAST_CLASS_PREFIX + args.previousValue);\r\n this.$content().addClass(TOAST_CLASS_PREFIX + String(args.value).toLowerCase());\r\n break;\r\n case \"message\":\r\n if (this._message) {\r\n this._message.text(args.value)\r\n }\r\n break;\r\n case \"closeOnSwipe\":\r\n this._toggleCloseEvents(\"Swipe\");\r\n break;\r\n case \"closeOnClick\":\r\n this._toggleCloseEvents(\"Click\");\r\n break;\r\n case \"displayTime\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(WIDGET_NAME, Toast);\r\nexport default Toast;\r\n","/**\r\n * DevExtreme (esm/ui/toast.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Toast from \"./toast/ui.toast\";\r\nexport default Toast;\r\n","/**\r\n * DevExtreme (esm/ui/toolbar/ui.toolbar.utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nvar BUTTON_GROUP_CLASS = \"dx-buttongroup\";\r\nvar TOOLBAR_ITEMS = [\"dxAutocomplete\", \"dxButton\", \"dxCheckBox\", \"dxDateBox\", \"dxMenu\", \"dxSelectBox\", \"dxTabs\", \"dxTextBox\", \"dxButtonGroup\", \"dxDropDownButton\"];\r\nvar getItemInstance = function($element) {\r\n var itemData = $element.data && $element.data();\r\n var dxComponents = itemData && itemData.dxComponents;\r\n var widgetName = dxComponents && dxComponents[0];\r\n return widgetName && itemData[widgetName]\r\n};\r\nexport function toggleItemFocusableElementTabIndex(context, item) {\r\n var _itemData$options;\r\n if (!context) {\r\n return\r\n }\r\n var $item = context._findItemElementByItem(item);\r\n if (!$item.length) {\r\n return\r\n }\r\n var itemData = context._getItemData($item);\r\n var isItemNotFocusable = !!(null !== (_itemData$options = itemData.options) && void 0 !== _itemData$options && _itemData$options.disabled || itemData.disabled || context.option(\"disabled\"));\r\n var {\r\n widget: widget\r\n } = itemData;\r\n if (widget && -1 !== TOOLBAR_ITEMS.indexOf(widget)) {\r\n var $widget = $item.find(widget.toLowerCase().replace(\"dx\", \".dx-\"));\r\n if ($widget.length) {\r\n var _itemInstance$_focusT, _itemData$options2;\r\n var itemInstance = getItemInstance($widget);\r\n if (!itemInstance) {\r\n return\r\n }\r\n var $focusTarget = null === (_itemInstance$_focusT = itemInstance._focusTarget) || void 0 === _itemInstance$_focusT ? void 0 : _itemInstance$_focusT.call(itemInstance);\r\n if (\"dxDropDownButton\" === widget) {\r\n $focusTarget = $focusTarget && $focusTarget.find(\".\".concat(BUTTON_GROUP_CLASS))\r\n } else {\r\n var _$focusTarget;\r\n $focusTarget = null !== (_$focusTarget = $focusTarget) && void 0 !== _$focusTarget ? _$focusTarget : $(itemInstance.element())\r\n }\r\n var tabIndex = null === (_itemData$options2 = itemData.options) || void 0 === _itemData$options2 ? void 0 : _itemData$options2.tabIndex;\r\n if (isItemNotFocusable) {\r\n $focusTarget.attr(\"tabIndex\", -1)\r\n } else {\r\n $focusTarget.attr(\"tabIndex\", null !== tabIndex && void 0 !== tabIndex ? tabIndex : 0)\r\n }\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/toolbar/strategy/toolbar.multiline.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getOuterWidth\r\n} from \"../../../core/utils/size\";\r\nvar TOOLBAR_LABEL_CLASS = \"dx-toolbar-label\";\r\nexport class MultiLineStrategy {\r\n constructor(toolbar) {\r\n this._toolbar = toolbar\r\n }\r\n _initMarkup() {}\r\n _updateMenuVisibility() {}\r\n _renderMenuItems() {}\r\n _renderItem() {}\r\n _getMenuItems() {}\r\n _getToolbarItems() {\r\n var _this$_toolbar$option;\r\n return null !== (_this$_toolbar$option = this._toolbar.option(\"items\")) && void 0 !== _this$_toolbar$option ? _this$_toolbar$option : []\r\n }\r\n _getItemsWidth() {\r\n return this._toolbar._getSummaryItemsWidth(this._toolbar.itemElements(), true)\r\n }\r\n _arrangeItems() {\r\n var $label = this._toolbar._$toolbarItemsContainer.find(\".\".concat(TOOLBAR_LABEL_CLASS)).eq(0);\r\n if (!$label.length) {\r\n return\r\n }\r\n var elementWidth = getWidth(this._toolbar.$element());\r\n var labelPaddings = getOuterWidth($label) - getWidth($label);\r\n $label.css(\"maxWidth\", elementWidth - labelPaddings)\r\n }\r\n _hideOverflowItems() {}\r\n _dimensionChanged() {}\r\n _itemOptionChanged() {}\r\n _optionChanged() {}\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/toolbar/internal/ui.toolbar.menu.list.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n ListBase\r\n} from \"../../list/ui.list.base\";\r\nvar TOOLBAR_MENU_ACTION_CLASS = \"dx-toolbar-menu-action\";\r\nvar TOOLBAR_HIDDEN_BUTTON_CLASS = \"dx-toolbar-hidden-button\";\r\nvar TOOLBAR_HIDDEN_BUTTON_GROUP_CLASS = \"dx-toolbar-hidden-button-group\";\r\nvar TOOLBAR_MENU_SECTION_CLASS = \"dx-toolbar-menu-section\";\r\nvar TOOLBAR_MENU_CUSTOM_CLASS = \"dx-toolbar-menu-custom\";\r\nvar TOOLBAR_MENU_LAST_SECTION_CLASS = \"dx-toolbar-menu-last-section\";\r\nvar SCROLLVIEW_CONTENT_CLASS = \"dx-scrollview-content\";\r\nexport default class ToolbarMenuList extends ListBase {\r\n _init() {\r\n super._init();\r\n this._activeStateUnit = \".\".concat(TOOLBAR_MENU_ACTION_CLASS, \":not(.\").concat(TOOLBAR_HIDDEN_BUTTON_GROUP_CLASS, \")\")\r\n }\r\n _initMarkup() {\r\n this._renderSections();\r\n super._initMarkup();\r\n this._setMenuRole()\r\n }\r\n _getSections() {\r\n return this._itemContainer().children()\r\n }\r\n _itemElements() {\r\n return this._getSections().children(this._itemSelector())\r\n }\r\n _renderSections() {\r\n var $container = this._itemContainer();\r\n each([\"before\", \"center\", \"after\", \"menu\"], (_, section) => {\r\n var sectionName = \"_$\".concat(section, \"Section\");\r\n if (!this[sectionName]) {\r\n this[sectionName] = $(\"<div>\").addClass(TOOLBAR_MENU_SECTION_CLASS)\r\n }\r\n this[sectionName].appendTo($container)\r\n })\r\n }\r\n _renderItems() {\r\n super._renderItems.apply(this, arguments);\r\n this._updateSections()\r\n }\r\n _setMenuRole() {\r\n var $menuContainer = this.$element().find(\".\".concat(SCROLLVIEW_CONTENT_CLASS));\r\n $menuContainer.attr(\"role\", \"menu\")\r\n }\r\n _updateSections() {\r\n var $sections = this.$element().find(\".\".concat(TOOLBAR_MENU_SECTION_CLASS));\r\n $sections.removeClass(TOOLBAR_MENU_LAST_SECTION_CLASS);\r\n $sections.not(\":empty\").eq(-1).addClass(TOOLBAR_MENU_LAST_SECTION_CLASS)\r\n }\r\n _renderItem(index, item, itemContainer, $after) {\r\n var _item$location;\r\n var location = null !== (_item$location = item.location) && void 0 !== _item$location ? _item$location : \"menu\";\r\n var $container = this[\"_$\".concat(location, \"Section\")];\r\n var itemElement = super._renderItem(index, item, $container, $after);\r\n if (this._getItemTemplateName({\r\n itemData: item\r\n })) {\r\n itemElement.addClass(TOOLBAR_MENU_CUSTOM_CLASS)\r\n }\r\n if (\"menu\" === location || \"dxButton\" === item.widget || \"dxButtonGroup\" === item.widget || item.isAction) {\r\n itemElement.addClass(TOOLBAR_MENU_ACTION_CLASS)\r\n }\r\n if (\"dxButton\" === item.widget) {\r\n itemElement.addClass(TOOLBAR_HIDDEN_BUTTON_CLASS)\r\n }\r\n if (\"dxButtonGroup\" === item.widget) {\r\n itemElement.addClass(TOOLBAR_HIDDEN_BUTTON_GROUP_CLASS)\r\n }\r\n itemElement.addClass(item.cssClass);\r\n return itemElement\r\n }\r\n _getItemTemplateName(args) {\r\n var template = super._getItemTemplateName(args);\r\n var data = args.itemData;\r\n var menuTemplate = data && data.menuItemTemplate;\r\n return menuTemplate || template\r\n }\r\n _dataSourceOptions() {\r\n return {\r\n paginate: false\r\n }\r\n }\r\n _itemClickHandler(e, args, config) {\r\n if ($(e.target).closest(\".\".concat(TOOLBAR_MENU_ACTION_CLASS)).length) {\r\n super._itemClickHandler(e, args, config)\r\n }\r\n }\r\n _getAriaTarget() {\r\n var _this$option;\r\n return null !== (_this$option = this.option(\"_areaTarget\")) && void 0 !== _this$option ? _this$option : super._getAriaTarget()\r\n }\r\n _clean() {\r\n this._getSections().empty();\r\n super._clean()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/toolbar/internal/ui.toolbar.menu.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterHeight\r\n} from \"../../../core/utils/size\";\r\nimport $ from \"../../../core/renderer\";\r\nimport devices from \"../../../core/devices\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport Widget from \"../../widget/ui.widget\";\r\nimport Button from \"../../button\";\r\nimport ToolbarMenuList from \"./ui.toolbar.menu.list\";\r\nimport {\r\n isMaterial\r\n} from \"../../themes\";\r\nimport {\r\n ChildDefaultTemplate\r\n} from \"../../../core/templates/child_default_template\";\r\nimport {\r\n toggleItemFocusableElementTabIndex\r\n} from \"../ui.toolbar.utils\";\r\nimport {\r\n getWindow\r\n} from \"../../../core/utils/window\";\r\nimport \"../../popup\";\r\nvar DROP_DOWN_MENU_CLASS = \"dx-dropdownmenu\";\r\nvar DROP_DOWN_MENU_POPUP_CLASS = \"dx-dropdownmenu-popup\";\r\nvar DROP_DOWN_MENU_POPUP_WRAPPER_CLASS = \"dx-dropdownmenu-popup-wrapper\";\r\nvar DROP_DOWN_MENU_LIST_CLASS = \"dx-dropdownmenu-list\";\r\nvar DROP_DOWN_MENU_BUTTON_CLASS = \"dx-dropdownmenu-button\";\r\nvar POPUP_BOUNDARY_VERTICAL_OFFSET = 10;\r\nvar POPUP_VERTICAL_OFFSET = 3;\r\nexport default class DropDownMenu extends Widget {\r\n _supportedKeys() {\r\n var extension = {};\r\n if (!this.option(\"opened\") || !this._list.option(\"focusedElement\")) {\r\n extension = this._button._supportedKeys()\r\n }\r\n return extend(super._supportedKeys(), extension, {\r\n tab: function() {\r\n this._popup && this._popup.hide()\r\n }\r\n })\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n items: [],\r\n onItemClick: null,\r\n dataSource: null,\r\n itemTemplate: \"item\",\r\n onButtonClick: null,\r\n activeStateEnabled: true,\r\n hoverStateEnabled: true,\r\n opened: false,\r\n onItemRendered: null,\r\n closeOnClick: true,\r\n useInkRipple: false,\r\n container: void 0,\r\n animation: {\r\n show: {\r\n type: \"fade\",\r\n from: 0,\r\n to: 1\r\n },\r\n hide: {\r\n type: \"fade\",\r\n to: 0\r\n }\r\n }\r\n })\r\n }\r\n _defaultOptionsRules() {\r\n return super._defaultOptionsRules().concat([{\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial()\r\n },\r\n options: {\r\n useInkRipple: true,\r\n animation: {\r\n show: {\r\n type: \"pop\",\r\n duration: 200,\r\n from: {\r\n scale: 0\r\n },\r\n to: {\r\n scale: 1\r\n }\r\n },\r\n hide: {\r\n type: \"pop\",\r\n duration: 200,\r\n from: {\r\n scale: 1\r\n },\r\n to: {\r\n scale: 0\r\n }\r\n }\r\n }\r\n }\r\n }])\r\n }\r\n _init() {\r\n super._init();\r\n this.$element().addClass(DROP_DOWN_MENU_CLASS);\r\n this._initItemClickAction();\r\n this._initButtonClickAction()\r\n }\r\n _initItemClickAction() {\r\n this._itemClickAction = this._createActionByOption(\"onItemClick\")\r\n }\r\n _initButtonClickAction() {\r\n this._buttonClickAction = this._createActionByOption(\"onButtonClick\")\r\n }\r\n _initTemplates() {\r\n this._templateManager.addDefaultTemplates({\r\n content: new ChildDefaultTemplate(\"content\")\r\n });\r\n super._initTemplates()\r\n }\r\n _initMarkup() {\r\n this._renderButton();\r\n super._initMarkup()\r\n }\r\n _render() {\r\n super._render();\r\n this.setAria({\r\n haspopup: true,\r\n expanded: this.option(\"opened\")\r\n })\r\n }\r\n _renderContentImpl() {\r\n if (this.option(\"opened\")) {\r\n this._renderPopup()\r\n }\r\n }\r\n _clean() {\r\n this._cleanFocusState();\r\n this._list && this._list.$element().remove();\r\n this._popup && this._popup.$element().remove();\r\n delete this._list;\r\n delete this._popup\r\n }\r\n _renderButton() {\r\n var $button = this.$element().addClass(DROP_DOWN_MENU_BUTTON_CLASS);\r\n this._button = this._createComponent($button, Button, {\r\n icon: \"overflow\",\r\n template: \"content\",\r\n useInkRipple: this.option(\"useInkRipple\"),\r\n hoverStateEnabled: false,\r\n focusStateEnabled: false,\r\n onClick: e => {\r\n this.option(\"opened\", !this.option(\"opened\"));\r\n this._buttonClickAction(e)\r\n }\r\n })\r\n }\r\n _toggleActiveState($element, value, e) {\r\n this._button._toggleActiveState($element, value, e)\r\n }\r\n _toggleMenuVisibility(opened) {\r\n var state = null !== opened && void 0 !== opened ? opened : !this._popup.option(\"visible\");\r\n if (opened) {\r\n this._renderPopup()\r\n }\r\n this._popup.toggle(state);\r\n this.setAria(\"expanded\", state)\r\n }\r\n _renderPopup() {\r\n if (this._$popup) {\r\n return\r\n }\r\n this._$popup = $(\"<div>\").appendTo(this.$element());\r\n var {\r\n rtlEnabled: rtlEnabled,\r\n container: container,\r\n animation: animation\r\n } = this.option();\r\n this._popup = this._createComponent(this._$popup, \"dxPopup\", {\r\n onInitialized(_ref) {\r\n var {\r\n component: component\r\n } = _ref;\r\n component.$wrapper().addClass(DROP_DOWN_MENU_POPUP_WRAPPER_CLASS).addClass(DROP_DOWN_MENU_POPUP_CLASS)\r\n },\r\n deferRendering: false,\r\n contentTemplate: contentElement => this._renderList(contentElement),\r\n _ignoreFunctionValueDeprecation: true,\r\n maxHeight: () => this._getMaxHeight(),\r\n position: {\r\n my: \"top \".concat(rtlEnabled ? \"left\" : \"right\"),\r\n at: \"bottom \".concat(rtlEnabled ? \"left\" : \"right\"),\r\n collision: \"fit flip\",\r\n offset: {\r\n v: POPUP_VERTICAL_OFFSET\r\n },\r\n of: this.$element()\r\n },\r\n animation: animation,\r\n onOptionChanged: _ref2 => {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref2;\r\n if (\"visible\" === name) {\r\n this.option(\"opened\", value)\r\n }\r\n },\r\n container: container,\r\n autoResizeEnabled: false,\r\n height: \"auto\",\r\n width: \"auto\",\r\n hideOnOutsideClick: e => this._closeOutsideDropDownHandler(e),\r\n hideOnParentScroll: true,\r\n shading: false,\r\n dragEnabled: false,\r\n showTitle: false,\r\n fullScreen: false,\r\n _fixWrapperPosition: true\r\n })\r\n }\r\n _getMaxHeight() {\r\n var $element = this.$element();\r\n var offsetTop = $element.offset().top;\r\n var windowHeight = getOuterHeight(getWindow());\r\n var maxHeight = Math.max(offsetTop, windowHeight - offsetTop - getOuterHeight($element));\r\n return Math.min(windowHeight, maxHeight - POPUP_VERTICAL_OFFSET - POPUP_BOUNDARY_VERTICAL_OFFSET)\r\n }\r\n _closeOutsideDropDownHandler(e) {\r\n var isOutsideClick = !$(e.target).closest(this.$element()).length;\r\n return isOutsideClick\r\n }\r\n _renderList(contentElement) {\r\n var $content = $(contentElement);\r\n $content.addClass(DROP_DOWN_MENU_LIST_CLASS);\r\n this._list = this._createComponent($content, ToolbarMenuList, {\r\n dataSource: this._getListDataSource(),\r\n pageLoadMode: \"scrollBottom\",\r\n indicateLoading: false,\r\n noDataText: \"\",\r\n itemTemplate: this.option(\"itemTemplate\"),\r\n onItemClick: e => {\r\n if (this.option(\"closeOnClick\")) {\r\n this.option(\"opened\", false)\r\n }\r\n this._itemClickAction(e)\r\n },\r\n tabIndex: -1,\r\n focusStateEnabled: false,\r\n activeStateEnabled: true,\r\n onItemRendered: this.option(\"onItemRendered\"),\r\n _areaTarget: this.$element(),\r\n _itemAttributes: {\r\n role: \"menuitem\"\r\n },\r\n _listAttributes: {\r\n role: \"button\"\r\n }\r\n })\r\n }\r\n _itemOptionChanged(item, property, value) {\r\n var _this$_list;\r\n null === (_this$_list = this._list) || void 0 === _this$_list ? void 0 : _this$_list._itemOptionChanged(item, property, value);\r\n toggleItemFocusableElementTabIndex(this._list, item)\r\n }\r\n _getListDataSource() {\r\n var _this$option;\r\n return null !== (_this$option = this.option(\"dataSource\")) && void 0 !== _this$option ? _this$option : this.option(\"items\")\r\n }\r\n _setListDataSource() {\r\n var _this$_list2;\r\n null === (_this$_list2 = this._list) || void 0 === _this$_list2 ? void 0 : _this$_list2.option(\"dataSource\", this._getListDataSource());\r\n delete this._deferRendering\r\n }\r\n _getKeyboardListeners() {\r\n return super._getKeyboardListeners().concat([this._list])\r\n }\r\n _toggleVisibility(visible) {\r\n super._toggleVisibility(visible);\r\n this._button.option(\"visible\", visible)\r\n }\r\n _optionChanged(args) {\r\n var _this$_list3, _this$_list4, _this$_list5;\r\n var {\r\n name: name,\r\n value: value\r\n } = args;\r\n switch (name) {\r\n case \"items\":\r\n case \"dataSource\":\r\n if (!this.option(\"opened\")) {\r\n this._deferRendering = true\r\n } else {\r\n this._setListDataSource()\r\n }\r\n break;\r\n case \"itemTemplate\":\r\n null === (_this$_list3 = this._list) || void 0 === _this$_list3 ? void 0 : _this$_list3.option(name, this._getTemplate(value));\r\n break;\r\n case \"onItemClick\":\r\n this._initItemClickAction();\r\n break;\r\n case \"onButtonClick\":\r\n this._buttonClickAction();\r\n break;\r\n case \"useInkRipple\":\r\n this._invalidate();\r\n break;\r\n case \"focusStateEnabled\":\r\n null === (_this$_list4 = this._list) || void 0 === _this$_list4 ? void 0 : _this$_list4.option(name, value);\r\n super._optionChanged(args);\r\n break;\r\n case \"onItemRendered\":\r\n null === (_this$_list5 = this._list) || void 0 === _this$_list5 ? void 0 : _this$_list5.option(name, value);\r\n break;\r\n case \"opened\":\r\n if (this._deferRendering) {\r\n this._setListDataSource()\r\n }\r\n this._toggleMenuVisibility(value);\r\n this._updateFocusableItemsTabIndex();\r\n break;\r\n case \"closeOnClick\":\r\n break;\r\n case \"container\":\r\n this._popup && this._popup.option(name, value);\r\n break;\r\n case \"disabled\":\r\n if (this._list) {\r\n this._updateFocusableItemsTabIndex()\r\n }\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _updateFocusableItemsTabIndex() {\r\n this.option(\"items\").forEach(item => toggleItemFocusableElementTabIndex(this._list, item))\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/toolbar/strategy/toolbar.singleline.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth\r\n} from \"../../../core/utils/size\";\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n grep,\r\n deferRender\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport DropDownMenu from \"../internal/ui.toolbar.menu\";\r\nimport {\r\n compileGetter\r\n} from \"../../../core/utils/data\";\r\nvar INVISIBLE_STATE_CLASS = \"dx-state-invisible\";\r\nvar TOOLBAR_DROP_DOWN_MENU_CONTAINER_CLASS = \"dx-toolbar-menu-container\";\r\nvar TOOLBAR_BUTTON_CLASS = \"dx-toolbar-button\";\r\nvar TOOLBAR_AUTO_HIDE_ITEM_CLASS = \"dx-toolbar-item-auto-hide\";\r\nvar TOOLBAR_HIDDEN_ITEM = \"dx-toolbar-item-invisible\";\r\nexport class SingleLineStrategy {\r\n constructor(toolbar) {\r\n this._toolbar = toolbar\r\n }\r\n _initMarkup() {\r\n deferRender(() => {\r\n this._renderOverflowMenu();\r\n this._renderMenuItems()\r\n })\r\n }\r\n _renderOverflowMenu() {\r\n if (!this._hasVisibleMenuItems()) {\r\n return\r\n }\r\n this._renderMenuButtonContainer();\r\n var $menu = $(\"<div>\").appendTo(this._overflowMenuContainer());\r\n var itemClickAction = this._toolbar._createActionByOption(\"onItemClick\");\r\n var menuItemTemplate = this._toolbar._getTemplateByOption(\"menuItemTemplate\");\r\n this._menu = this._toolbar._createComponent($menu, DropDownMenu, {\r\n disabled: this._toolbar.option(\"disabled\"),\r\n itemTemplate: () => menuItemTemplate,\r\n onItemClick: e => {\r\n itemClickAction(e)\r\n },\r\n container: this._toolbar.option(\"menuContainer\"),\r\n onOptionChanged: _ref => {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref;\r\n if (\"opened\" === name) {\r\n this._toolbar.option(\"overflowMenuVisible\", value)\r\n }\r\n if (\"items\" === name) {\r\n this._updateMenuVisibility(value)\r\n }\r\n }\r\n })\r\n }\r\n renderMenuItems() {\r\n if (!this._menu) {\r\n this._renderOverflowMenu()\r\n }\r\n this._menu && this._menu.option(\"items\", this._getMenuItems());\r\n if (this._menu && !this._menu.option(\"items\").length) {\r\n this._menu.option(\"opened\", false)\r\n }\r\n }\r\n _renderMenuButtonContainer() {\r\n this._$overflowMenuContainer = $(\"<div>\").appendTo(this._toolbar._$afterSection).addClass(TOOLBAR_BUTTON_CLASS).addClass(TOOLBAR_DROP_DOWN_MENU_CONTAINER_CLASS)\r\n }\r\n _overflowMenuContainer() {\r\n return this._$overflowMenuContainer\r\n }\r\n _updateMenuVisibility(menuItems) {\r\n var items = null !== menuItems && void 0 !== menuItems ? menuItems : this._getMenuItems();\r\n var isMenuVisible = items.length && this._hasVisibleMenuItems(items);\r\n this._toggleMenuVisibility(isMenuVisible)\r\n }\r\n _toggleMenuVisibility(value) {\r\n if (!this._overflowMenuContainer()) {\r\n return\r\n }\r\n this._overflowMenuContainer().toggleClass(INVISIBLE_STATE_CLASS, !value)\r\n }\r\n _renderMenuItems() {\r\n deferRender(() => {\r\n this.renderMenuItems()\r\n })\r\n }\r\n _dimensionChanged() {\r\n this.renderMenuItems()\r\n }\r\n _getToolbarItems() {\r\n var _this$_toolbar$option;\r\n return grep(null !== (_this$_toolbar$option = this._toolbar.option(\"items\")) && void 0 !== _this$_toolbar$option ? _this$_toolbar$option : [], item => !this._toolbar._isMenuItem(item))\r\n }\r\n _getHiddenItems() {\r\n return this._toolbar._itemContainer().children(\".\".concat(TOOLBAR_AUTO_HIDE_ITEM_CLASS, \".\").concat(TOOLBAR_HIDDEN_ITEM)).not(\".\".concat(INVISIBLE_STATE_CLASS))\r\n }\r\n _getMenuItems() {\r\n var _this$_toolbar$option2, _this$_restoreItems;\r\n var menuItems = grep(null !== (_this$_toolbar$option2 = this._toolbar.option(\"items\")) && void 0 !== _this$_toolbar$option2 ? _this$_toolbar$option2 : [], item => this._toolbar._isMenuItem(item));\r\n var $hiddenItems = this._getHiddenItems();\r\n this._restoreItems = null !== (_this$_restoreItems = this._restoreItems) && void 0 !== _this$_restoreItems ? _this$_restoreItems : [];\r\n var overflowItems = [].slice.call($hiddenItems).map(hiddenItem => {\r\n var itemData = this._toolbar._getItemData(hiddenItem);\r\n var $itemContainer = $(hiddenItem);\r\n var $itemMarkup = $itemContainer.children();\r\n return extend({\r\n menuItemTemplate: () => {\r\n this._restoreItems.push({\r\n container: $itemContainer,\r\n item: $itemMarkup\r\n });\r\n var $container = $(\"<div>\").addClass(TOOLBAR_AUTO_HIDE_ITEM_CLASS);\r\n return $container.append($itemMarkup)\r\n }\r\n }, itemData)\r\n });\r\n return [...overflowItems, ...menuItems]\r\n }\r\n _hasVisibleMenuItems(items) {\r\n var menuItems = null !== items && void 0 !== items ? items : this._toolbar.option(\"items\");\r\n var result = false;\r\n var optionGetter = compileGetter(\"visible\");\r\n var overflowGetter = compileGetter(\"locateInMenu\");\r\n each(menuItems, (function(index, item) {\r\n var itemVisible = optionGetter(item, {\r\n functionsAsIs: true\r\n });\r\n var itemOverflow = overflowGetter(item, {\r\n functionsAsIs: true\r\n });\r\n if (false !== itemVisible && (\"auto\" === itemOverflow || \"always\" === itemOverflow) || \"menu\" === item.location) {\r\n result = true\r\n }\r\n }));\r\n return result\r\n }\r\n _arrangeItems() {\r\n var _this$_restoreItems2;\r\n this._toolbar._$centerSection.css({\r\n margin: \"0 auto\",\r\n float: \"none\"\r\n });\r\n each(null !== (_this$_restoreItems2 = this._restoreItems) && void 0 !== _this$_restoreItems2 ? _this$_restoreItems2 : [], (function(_, obj) {\r\n $(obj.container).append(obj.item)\r\n }));\r\n this._restoreItems = [];\r\n var elementWidth = getWidth(this._toolbar.$element());\r\n this._hideOverflowItems(elementWidth);\r\n return elementWidth\r\n }\r\n _hideOverflowItems(elementWidth) {\r\n var _elementWidth;\r\n var overflowItems = this._toolbar.$element().find(\".\".concat(TOOLBAR_AUTO_HIDE_ITEM_CLASS));\r\n if (!overflowItems.length) {\r\n return\r\n }\r\n elementWidth = null !== (_elementWidth = elementWidth) && void 0 !== _elementWidth ? _elementWidth : getWidth(this._toolbar.$element());\r\n $(overflowItems).removeClass(TOOLBAR_HIDDEN_ITEM);\r\n var itemsWidth = this._getItemsWidth();\r\n while (overflowItems.length && elementWidth < itemsWidth) {\r\n var $item = overflowItems.eq(-1);\r\n $item.addClass(TOOLBAR_HIDDEN_ITEM);\r\n itemsWidth = this._getItemsWidth();\r\n overflowItems.splice(-1, 1)\r\n }\r\n }\r\n _getItemsWidth() {\r\n return this._toolbar._getSummaryItemsWidth([this._toolbar._$beforeSection, this._toolbar._$centerSection, this._toolbar._$afterSection])\r\n }\r\n _itemOptionChanged(item, property, value) {\r\n if (\"disabled\" === property || \"options.disabled\" === property) {\r\n if (this._toolbar._isMenuItem(item)) {\r\n var _this$_menu;\r\n null === (_this$_menu = this._menu) || void 0 === _this$_menu ? void 0 : _this$_menu._itemOptionChanged(item, property, value);\r\n return\r\n }\r\n }\r\n this.renderMenuItems()\r\n }\r\n _renderItem(item, itemElement) {\r\n if (\"auto\" === item.locateInMenu) {\r\n itemElement.addClass(TOOLBAR_AUTO_HIDE_ITEM_CLASS)\r\n }\r\n }\r\n _optionChanged(name, value) {\r\n var _this$_menu2, _this$_menu3, _this$_menu4, _this$_menu5, _this$_menu6;\r\n switch (name) {\r\n case \"disabled\":\r\n null === (_this$_menu2 = this._menu) || void 0 === _this$_menu2 ? void 0 : _this$_menu2.option(name, value);\r\n break;\r\n case \"overflowMenuVisible\":\r\n null === (_this$_menu3 = this._menu) || void 0 === _this$_menu3 ? void 0 : _this$_menu3.option(\"opened\", value);\r\n break;\r\n case \"onItemClick\":\r\n null === (_this$_menu4 = this._menu) || void 0 === _this$_menu4 ? void 0 : _this$_menu4.option(name, value);\r\n break;\r\n case \"menuContainer\":\r\n null === (_this$_menu5 = this._menu) || void 0 === _this$_menu5 ? void 0 : _this$_menu5.option(\"container\", value);\r\n break;\r\n case \"menuItemTemplate\":\r\n null === (_this$_menu6 = this._menu) || void 0 === _this$_menu6 ? void 0 : _this$_menu6.option(\"itemTemplate\", value)\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/toolbar/ui.toolbar.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport ToolbarBase from \"./ui.toolbar.base\";\r\nimport {\r\n toggleItemFocusableElementTabIndex\r\n} from \"./ui.toolbar.utils\";\r\nimport {\r\n MultiLineStrategy\r\n} from \"./strategy/toolbar.multiline\";\r\nimport {\r\n SingleLineStrategy\r\n} from \"./strategy/toolbar.singleline\";\r\nvar TOOLBAR_MULTILINE_CLASS = \"dx-toolbar-multiline\";\r\nvar TOOLBAR_AUTO_HIDE_TEXT_CLASS = \"dx-toolbar-text-auto-hide\";\r\nclass Toolbar extends ToolbarBase {\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n menuItemTemplate: \"menuItem\",\r\n menuContainer: void 0,\r\n overflowMenuVisible: false,\r\n multiline: false\r\n })\r\n }\r\n _isMultiline() {\r\n return this.option(\"multiline\")\r\n }\r\n _dimensionChanged(dimension) {\r\n if (\"height\" === dimension) {\r\n return\r\n }\r\n super._dimensionChanged();\r\n this._layoutStrategy._dimensionChanged()\r\n }\r\n _initMarkup() {\r\n super._initMarkup();\r\n this._updateFocusableItemsTabIndex();\r\n this._layoutStrategy._initMarkup()\r\n }\r\n _renderToolbar() {\r\n super._renderToolbar();\r\n this._renderLayoutStrategy()\r\n }\r\n _itemContainer() {\r\n if (this._isMultiline()) {\r\n return this._$toolbarItemsContainer\r\n }\r\n return super._itemContainer()\r\n }\r\n _renderLayoutStrategy() {\r\n this.$element().toggleClass(TOOLBAR_MULTILINE_CLASS, this._isMultiline());\r\n this._layoutStrategy = this._isMultiline() ? new MultiLineStrategy(this) : new SingleLineStrategy(this)\r\n }\r\n _renderSections() {\r\n if (this._isMultiline()) {\r\n return\r\n }\r\n return super._renderSections()\r\n }\r\n _postProcessRenderItems() {\r\n this._layoutStrategy._hideOverflowItems();\r\n this._layoutStrategy._updateMenuVisibility();\r\n super._postProcessRenderItems();\r\n this._layoutStrategy._renderMenuItems()\r\n }\r\n _renderItem(index, item, itemContainer, $after) {\r\n var itemElement = super._renderItem(index, item, itemContainer, $after);\r\n this._layoutStrategy._renderItem(item, itemElement);\r\n var {\r\n widget: widget,\r\n showText: showText\r\n } = item;\r\n if (\"dxButton\" === widget && \"inMenu\" === showText) {\r\n itemElement.toggleClass(TOOLBAR_AUTO_HIDE_TEXT_CLASS)\r\n }\r\n return itemElement\r\n }\r\n _getItemsWidth() {\r\n return this._layoutStrategy._getItemsWidth()\r\n }\r\n _getMenuItems() {\r\n return this._layoutStrategy._getMenuItems()\r\n }\r\n _getToolbarItems() {\r\n return this._layoutStrategy._getToolbarItems()\r\n }\r\n _arrangeItems() {\r\n if (this.$element().is(\":hidden\")) {\r\n return\r\n }\r\n var elementWidth = this._layoutStrategy._arrangeItems();\r\n if (!this._isMultiline()) {\r\n super._arrangeItems(elementWidth)\r\n }\r\n }\r\n _itemOptionChanged(item, property, value) {\r\n if (!this._isMenuItem(item)) {\r\n super._itemOptionChanged(item, property, value)\r\n }\r\n this._layoutStrategy._itemOptionChanged(item, property, value);\r\n if (\"disabled\" === property || \"options.disabled\" === property) {\r\n toggleItemFocusableElementTabIndex(this, item)\r\n }\r\n if (\"location\" === property) {\r\n this.repaint()\r\n }\r\n }\r\n _updateFocusableItemsTabIndex() {\r\n this._getToolbarItems().forEach(item => toggleItemFocusableElementTabIndex(this, item))\r\n }\r\n _isMenuItem(itemData) {\r\n return \"menu\" === itemData.location || \"always\" === itemData.locateInMenu\r\n }\r\n _isToolbarItem(itemData) {\r\n return void 0 === itemData.location || \"never\" === itemData.locateInMenu\r\n }\r\n _optionChanged(_ref) {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref;\r\n this._layoutStrategy._optionChanged(name, value);\r\n switch (name) {\r\n case \"menuContainer\":\r\n case \"menuItemTemplate\":\r\n case \"overflowMenuVisible\":\r\n break;\r\n case \"multiline\":\r\n this._invalidate();\r\n break;\r\n case \"disabled\":\r\n super._optionChanged.apply(this, arguments);\r\n this._updateFocusableItemsTabIndex();\r\n break;\r\n default:\r\n super._optionChanged.apply(this, arguments)\r\n }\r\n }\r\n updateDimensions() {\r\n this._dimensionChanged()\r\n }\r\n}\r\nregisterComponent(\"dxToolbar\", Toolbar);\r\nexport default Toolbar;\r\n","/**\r\n * DevExtreme (esm/ui/toolbar.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Toolbar from \"./toolbar/ui.toolbar\";\r\nexport default Toolbar;\r\n","/**\r\n * DevExtreme (esm/ui/toolbar/constants.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var TOOLBAR_CLASS = \"dx-toolbar\";\r\n","/**\r\n * DevExtreme (esm/ui/collection/ui.collection_widget.async.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport CollectionWidgetEdit from \"./ui.collection_widget.edit\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar AsyncCollectionWidget = CollectionWidgetEdit.inherit({\r\n _initMarkup() {\r\n this._deferredItems = [];\r\n this.callBase()\r\n },\r\n _renderItemContent(args) {\r\n var renderContentDeferred = new Deferred;\r\n var itemDeferred = new Deferred;\r\n this._deferredItems[args.index] = itemDeferred;\r\n var $itemContent = this.callBase.call(this, args);\r\n itemDeferred.done(() => {\r\n renderContentDeferred.resolve($itemContent)\r\n });\r\n return renderContentDeferred.promise()\r\n },\r\n _onItemTemplateRendered: function(itemTemplate, renderArgs) {\r\n return () => {\r\n this._deferredItems[renderArgs.index].resolve()\r\n }\r\n },\r\n _postProcessRenderItems: noop,\r\n _renderItemsAsync() {\r\n var d = new Deferred;\r\n when.apply(this, this._deferredItems).done(() => {\r\n this._postProcessRenderItems();\r\n d.resolve()\r\n });\r\n return d.promise()\r\n },\r\n _clean() {\r\n this.callBase();\r\n this._deferredItems = []\r\n }\r\n});\r\nexport default AsyncCollectionWidget;\r\n","/**\r\n * DevExtreme (esm/ui/toolbar/ui.toolbar.base.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getOuterWidth,\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n isMaterial,\r\n waitWebFont\r\n} from \"../themes\";\r\nimport {\r\n isPlainObject,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../core/utils/position\";\r\nimport AsyncCollectionWidget from \"../collection/ui.collection_widget.async\";\r\nimport {\r\n BindableTemplate\r\n} from \"../../core/templates/bindable_template\";\r\nimport fx from \"../../animation/fx\";\r\nimport {\r\n TOOLBAR_CLASS\r\n} from \"./constants\";\r\nvar TOOLBAR_BEFORE_CLASS = \"dx-toolbar-before\";\r\nvar TOOLBAR_CENTER_CLASS = \"dx-toolbar-center\";\r\nvar TOOLBAR_AFTER_CLASS = \"dx-toolbar-after\";\r\nvar TOOLBAR_MINI_CLASS = \"dx-toolbar-mini\";\r\nvar TOOLBAR_ITEM_CLASS = \"dx-toolbar-item\";\r\nvar TOOLBAR_LABEL_CLASS = \"dx-toolbar-label\";\r\nvar TOOLBAR_BUTTON_CLASS = \"dx-toolbar-button\";\r\nvar TOOLBAR_ITEMS_CONTAINER_CLASS = \"dx-toolbar-items-container\";\r\nvar TOOLBAR_GROUP_CLASS = \"dx-toolbar-group\";\r\nvar TOOLBAR_COMPACT_CLASS = \"dx-toolbar-compact\";\r\nvar TEXT_BUTTON_MODE = \"text\";\r\nvar DEFAULT_BUTTON_TYPE = \"default\";\r\nvar DEFAULT_DROPDOWNBUTTON_STYLING_MODE = \"contained\";\r\nvar TOOLBAR_ITEM_DATA_KEY = \"dxToolbarItemDataKey\";\r\nvar ANIMATION_TIMEOUT = 15;\r\nclass ToolbarBase extends AsyncCollectionWidget {\r\n _getSynchronizableOptionsForCreateComponent() {\r\n return super._getSynchronizableOptionsForCreateComponent().filter(item => \"disabled\" !== item)\r\n }\r\n _initTemplates() {\r\n super._initTemplates();\r\n var template = new BindableTemplate(function($container, data, rawModel) {\r\n if (isPlainObject(data)) {\r\n var {\r\n text: text,\r\n html: html,\r\n widget: widget\r\n } = data;\r\n if (text) {\r\n $container.text(text).wrapInner(\"<div>\")\r\n }\r\n if (html) {\r\n $container.html(html)\r\n }\r\n if (\"dxDropDownButton\" === widget) {\r\n var _data$options;\r\n data.options = null !== (_data$options = data.options) && void 0 !== _data$options ? _data$options : {};\r\n if (!isDefined(data.options.stylingMode)) {\r\n data.options.stylingMode = this.option(\"useFlatButtons\") ? TEXT_BUTTON_MODE : DEFAULT_DROPDOWNBUTTON_STYLING_MODE\r\n }\r\n }\r\n if (\"dxButton\" === widget) {\r\n if (this.option(\"useFlatButtons\")) {\r\n var _data$options2, _data$options$styling;\r\n data.options = null !== (_data$options2 = data.options) && void 0 !== _data$options2 ? _data$options2 : {};\r\n data.options.stylingMode = null !== (_data$options$styling = data.options.stylingMode) && void 0 !== _data$options$styling ? _data$options$styling : TEXT_BUTTON_MODE\r\n }\r\n if (this.option(\"useDefaultButtons\")) {\r\n var _data$options3, _data$options$type;\r\n data.options = null !== (_data$options3 = data.options) && void 0 !== _data$options3 ? _data$options3 : {};\r\n data.options.type = null !== (_data$options$type = data.options.type) && void 0 !== _data$options$type ? _data$options$type : DEFAULT_BUTTON_TYPE\r\n }\r\n }\r\n } else {\r\n $container.text(String(data))\r\n }\r\n this._getTemplate(\"dx-polymorph-widget\").render({\r\n container: $container,\r\n model: rawModel,\r\n parent: this\r\n })\r\n }.bind(this), [\"text\", \"html\", \"widget\", \"options\"], this.option(\"integrationOptions.watchMethod\"));\r\n this._templateManager.addDefaultTemplates({\r\n item: template,\r\n menuItem: template\r\n })\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n renderAs: \"topToolbar\",\r\n grouped: false,\r\n useFlatButtons: false,\r\n useDefaultButtons: false\r\n })\r\n }\r\n _defaultOptionsRules() {\r\n return super._defaultOptionsRules().concat([{\r\n device: function() {\r\n return isMaterial()\r\n },\r\n options: {\r\n useFlatButtons: true\r\n }\r\n }])\r\n }\r\n _itemContainer() {\r\n return this._$toolbarItemsContainer.find([\".\".concat(TOOLBAR_BEFORE_CLASS), \".\".concat(TOOLBAR_CENTER_CLASS), \".\".concat(TOOLBAR_AFTER_CLASS)].join(\",\"))\r\n }\r\n _itemClass() {\r\n return TOOLBAR_ITEM_CLASS\r\n }\r\n _itemDataKey() {\r\n return TOOLBAR_ITEM_DATA_KEY\r\n }\r\n _dimensionChanged() {\r\n if (this._disposed) {\r\n return\r\n }\r\n this._arrangeItems();\r\n this._applyCompactMode()\r\n }\r\n _initMarkup() {\r\n this._renderToolbar();\r\n this._renderSections();\r\n super._initMarkup()\r\n }\r\n _render() {\r\n super._render();\r\n this._renderItemsAsync();\r\n this._updateDimensionsInMaterial()\r\n }\r\n _postProcessRenderItems() {\r\n this._arrangeItems()\r\n }\r\n _renderToolbar() {\r\n this.$element().addClass(TOOLBAR_CLASS);\r\n this._$toolbarItemsContainer = $(\"<div>\").addClass(TOOLBAR_ITEMS_CONTAINER_CLASS).appendTo(this.$element());\r\n this.setAria(\"role\", \"toolbar\")\r\n }\r\n _renderSections() {\r\n var $container = this._$toolbarItemsContainer;\r\n each([\"before\", \"center\", \"after\"], (_, section) => {\r\n var sectionClass = \"dx-toolbar-\".concat(section);\r\n var $section = $container.find(\".\".concat(sectionClass));\r\n if (!$section.length) {\r\n this[\"_$\".concat(section, \"Section\")] = $(\"<div>\").addClass(sectionClass).appendTo($container)\r\n }\r\n })\r\n }\r\n _arrangeItems(elementWidth) {\r\n var _elementWidth;\r\n elementWidth = null !== (_elementWidth = elementWidth) && void 0 !== _elementWidth ? _elementWidth : getWidth(this.$element());\r\n this._$centerSection.css({\r\n margin: \"0 auto\",\r\n float: \"none\"\r\n });\r\n var beforeRect = getBoundingRect(this._$beforeSection.get(0));\r\n var afterRect = getBoundingRect(this._$afterSection.get(0));\r\n this._alignCenterSection(beforeRect, afterRect, elementWidth);\r\n var $label = this._$toolbarItemsContainer.find(\".\".concat(TOOLBAR_LABEL_CLASS)).eq(0);\r\n var $section = $label.parent();\r\n if (!$label.length) {\r\n return\r\n }\r\n var labelOffset = beforeRect.width ? beforeRect.width : $label.position().left;\r\n var widthBeforeSection = $section.hasClass(TOOLBAR_BEFORE_CLASS) ? 0 : labelOffset;\r\n var widthAfterSection = $section.hasClass(TOOLBAR_AFTER_CLASS) ? 0 : afterRect.width;\r\n var elemsAtSectionWidth = 0;\r\n $section.children().not(\".\".concat(TOOLBAR_LABEL_CLASS)).each((function() {\r\n elemsAtSectionWidth += getOuterWidth(this)\r\n }));\r\n var freeSpace = elementWidth - elemsAtSectionWidth;\r\n var sectionMaxWidth = Math.max(freeSpace - widthBeforeSection - widthAfterSection, 0);\r\n if ($section.hasClass(TOOLBAR_BEFORE_CLASS)) {\r\n this._alignSection(this._$beforeSection, sectionMaxWidth)\r\n } else {\r\n var labelPaddings = getOuterWidth($label) - getWidth($label);\r\n $label.css(\"maxWidth\", sectionMaxWidth - labelPaddings)\r\n }\r\n }\r\n _alignCenterSection(beforeRect, afterRect, elementWidth) {\r\n this._alignSection(this._$centerSection, elementWidth - beforeRect.width - afterRect.width);\r\n var isRTL = this.option(\"rtlEnabled\");\r\n var leftRect = isRTL ? afterRect : beforeRect;\r\n var rightRect = isRTL ? beforeRect : afterRect;\r\n var centerRect = getBoundingRect(this._$centerSection.get(0));\r\n if (leftRect.right > centerRect.left || centerRect.right > rightRect.left) {\r\n this._$centerSection.css({\r\n marginLeft: leftRect.width,\r\n marginRight: rightRect.width,\r\n float: leftRect.width > rightRect.width ? \"none\" : \"right\"\r\n })\r\n }\r\n }\r\n _alignSection($section, maxWidth) {\r\n var $labels = $section.find(\".\".concat(TOOLBAR_LABEL_CLASS));\r\n var labels = $labels.toArray();\r\n maxWidth -= this._getCurrentLabelsPaddings(labels);\r\n var currentWidth = this._getCurrentLabelsWidth(labels);\r\n var difference = Math.abs(currentWidth - maxWidth);\r\n if (maxWidth < currentWidth) {\r\n labels = labels.reverse();\r\n this._alignSectionLabels(labels, difference, false)\r\n } else {\r\n this._alignSectionLabels(labels, difference, true)\r\n }\r\n }\r\n _alignSectionLabels(labels, difference, expanding) {\r\n var getRealLabelWidth = function(label) {\r\n return getBoundingRect(label).width\r\n };\r\n for (var i = 0; i < labels.length; i++) {\r\n var $label = $(labels[i]);\r\n var currentLabelWidth = Math.ceil(getRealLabelWidth(labels[i]));\r\n var labelMaxWidth = void 0;\r\n if (expanding) {\r\n $label.css(\"maxWidth\", \"inherit\")\r\n }\r\n var possibleLabelWidth = Math.ceil(expanding ? getRealLabelWidth(labels[i]) : currentLabelWidth);\r\n if (possibleLabelWidth < difference) {\r\n labelMaxWidth = expanding ? possibleLabelWidth : 0;\r\n difference -= possibleLabelWidth\r\n } else {\r\n labelMaxWidth = expanding ? currentLabelWidth + difference : currentLabelWidth - difference;\r\n $label.css(\"maxWidth\", labelMaxWidth);\r\n break\r\n }\r\n $label.css(\"maxWidth\", labelMaxWidth)\r\n }\r\n }\r\n _applyCompactMode() {\r\n var $element = this.$element();\r\n $element.removeClass(TOOLBAR_COMPACT_CLASS);\r\n if (this.option(\"compactMode\") && this._getSummaryItemsWidth(this.itemElements(), true) > getWidth($element)) {\r\n $element.addClass(TOOLBAR_COMPACT_CLASS)\r\n }\r\n }\r\n _getCurrentLabelsWidth(labels) {\r\n var width = 0;\r\n labels.forEach((function(label, index) {\r\n width += getOuterWidth(label)\r\n }));\r\n return width\r\n }\r\n _getCurrentLabelsPaddings(labels) {\r\n var padding = 0;\r\n labels.forEach((function(label, index) {\r\n padding += getOuterWidth(label) - getWidth(label)\r\n }));\r\n return padding\r\n }\r\n _renderItem(index, item, itemContainer, $after) {\r\n var _item$location, _item$text;\r\n var location = null !== (_item$location = item.location) && void 0 !== _item$location ? _item$location : \"center\";\r\n var container = null !== itemContainer && void 0 !== itemContainer ? itemContainer : this[\"_$\".concat(location, \"Section\")];\r\n var itemHasText = !!(null !== (_item$text = item.text) && void 0 !== _item$text ? _item$text : item.html);\r\n var itemElement = super._renderItem(index, item, container, $after);\r\n itemElement.toggleClass(TOOLBAR_BUTTON_CLASS, !itemHasText).toggleClass(TOOLBAR_LABEL_CLASS, itemHasText).addClass(item.cssClass);\r\n return itemElement\r\n }\r\n _renderGroupedItems() {\r\n each(this.option(\"items\"), (groupIndex, group) => {\r\n var _group$location;\r\n var groupItems = group.items;\r\n var $container = $(\"<div>\").addClass(TOOLBAR_GROUP_CLASS);\r\n var location = null !== (_group$location = group.location) && void 0 !== _group$location ? _group$location : \"center\";\r\n if (!groupItems || !groupItems.length) {\r\n return\r\n }\r\n each(groupItems, (itemIndex, item) => {\r\n this._renderItem(itemIndex, item, $container, null)\r\n });\r\n this._$toolbarItemsContainer.find(\".dx-toolbar-\".concat(location)).append($container)\r\n })\r\n }\r\n _renderItems(items) {\r\n var grouped = this.option(\"grouped\") && items.length && items[0].items;\r\n grouped ? this._renderGroupedItems() : super._renderItems(items)\r\n }\r\n _getToolbarItems() {\r\n var _this$option;\r\n return null !== (_this$option = this.option(\"items\")) && void 0 !== _this$option ? _this$option : []\r\n }\r\n _renderContentImpl() {\r\n var items = this._getToolbarItems();\r\n this.$element().toggleClass(TOOLBAR_MINI_CLASS, 0 === items.length);\r\n if (this._renderedItemsCount) {\r\n this._renderItems(items.slice(this._renderedItemsCount))\r\n } else {\r\n this._renderItems(items)\r\n }\r\n this._applyCompactMode()\r\n }\r\n _renderEmptyMessage() {}\r\n _clean() {\r\n this._$toolbarItemsContainer.children().empty();\r\n this.$element().empty();\r\n delete this._$beforeSection;\r\n delete this._$centerSection;\r\n delete this._$afterSection\r\n }\r\n _visibilityChanged(visible) {\r\n if (visible) {\r\n this._arrangeItems()\r\n }\r\n }\r\n _isVisible() {\r\n return getWidth(this.$element()) > 0 && getHeight(this.$element()) > 0\r\n }\r\n _getIndexByItem(item) {\r\n return this._getToolbarItems().indexOf(item)\r\n }\r\n _itemOptionChanged(item, property, value) {\r\n super._itemOptionChanged.apply(this, [item, property, value]);\r\n this._arrangeItems()\r\n }\r\n _optionChanged(_ref) {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref;\r\n switch (name) {\r\n case \"width\":\r\n super._optionChanged.apply(this, arguments);\r\n this._dimensionChanged();\r\n break;\r\n case \"renderAs\":\r\n case \"useFlatButtons\":\r\n case \"useDefaultButtons\":\r\n this._invalidate();\r\n break;\r\n case \"compactMode\":\r\n this._applyCompactMode();\r\n break;\r\n case \"grouped\":\r\n break;\r\n default:\r\n super._optionChanged.apply(this, arguments)\r\n }\r\n }\r\n _dispose() {\r\n super._dispose();\r\n clearTimeout(this._waitParentAnimationTimeout)\r\n }\r\n _updateDimensionsInMaterial() {\r\n if (isMaterial()) {\r\n Promise.all([(() => new Promise(resolve => {\r\n var check = () => {\r\n var readyToResolve = true;\r\n this.$element().parents().each((_, parent) => {\r\n if (fx.isAnimating($(parent))) {\r\n readyToResolve = false;\r\n return false\r\n }\r\n });\r\n if (readyToResolve) {\r\n resolve()\r\n }\r\n return readyToResolve\r\n };\r\n var runCheck = () => {\r\n clearTimeout(this._waitParentAnimationTimeout);\r\n this._waitParentAnimationTimeout = setTimeout(() => check() || runCheck(), ANIMATION_TIMEOUT)\r\n };\r\n runCheck()\r\n }))(), (() => {\r\n var $labels = this.$element().find(\".\".concat(TOOLBAR_LABEL_CLASS));\r\n var promises = [];\r\n $labels.each((_, label) => {\r\n var text = $(label).text();\r\n var fontWeight = $(label).css(\"fontWeight\");\r\n promises.push(waitWebFont(text, fontWeight))\r\n });\r\n return Promise.all(promises)\r\n })()]).then(() => {\r\n this._dimensionChanged()\r\n })\r\n }\r\n }\r\n}\r\nregisterComponent(\"dxToolbarBase\", ToolbarBase);\r\nexport default ToolbarBase;\r\n","/**\r\n * DevExtreme (esm/ui/tooltip.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Tooltip from \"./tooltip/tooltip\";\r\nexport default Tooltip;\r\n","/**\r\n * DevExtreme (esm/ui/tooltip/tooltip.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Guid from \"../../core/guid\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport Popover from \"../popover/ui.popover\";\r\nvar TOOLTIP_CLASS = \"dx-tooltip\";\r\nvar TOOLTIP_WRAPPER_CLASS = \"dx-tooltip-wrapper\";\r\nimport {\r\n isWindow\r\n} from \"../../core/utils/type\";\r\nvar Tooltip = Popover.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n toolbarItems: [],\r\n showCloseButton: false,\r\n showTitle: false,\r\n title: null,\r\n titleTemplate: null,\r\n onTitleRendered: null,\r\n bottomTemplate: null,\r\n propagateOutsideClick: true\r\n })\r\n },\r\n _render: function() {\r\n this.$element().addClass(TOOLTIP_CLASS);\r\n this.$wrapper().addClass(TOOLTIP_WRAPPER_CLASS);\r\n this.callBase()\r\n },\r\n _renderContent: function() {\r\n this.callBase();\r\n this._contentId = \"dx-\" + new Guid;\r\n this.$overlayContent().attr({\r\n id: this._contentId,\r\n role: \"tooltip\"\r\n });\r\n this._toggleAriaDescription(true)\r\n },\r\n _toggleAriaDescription: function(showing) {\r\n var $target = $(this.option(\"target\"));\r\n var label = showing ? this._contentId : void 0;\r\n if (!isWindow($target.get(0))) {\r\n this.setAria(\"describedby\", label, $target)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxTooltip\", Tooltip);\r\nexport default Tooltip;\r\n","/**\r\n * DevExtreme (esm/ui/track_bar.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport Editor from \"./editor/editor\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport fx from \"../animation/fx\";\r\nvar TRACKBAR_CLASS = \"dx-trackbar\";\r\nvar TRACKBAR_CONTAINER_CLASS = \"dx-trackbar-container\";\r\nvar TRACKBAR_RANGE_CLASS = \"dx-trackbar-range\";\r\nvar TRACKBAR_WRAPPER_CLASS = \"dx-trackbar-wrapper\";\r\nvar TrackBar = Editor.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n min: 0,\r\n max: 100,\r\n value: 0\r\n })\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(TRACKBAR_CLASS);\r\n this._renderWrapper();\r\n this._renderContainer();\r\n this._renderRange();\r\n this._renderValue();\r\n this._setRangeStyles();\r\n this.callBase()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._setRangeStyles(this._rangeStylesConfig())\r\n },\r\n _renderWrapper: function() {\r\n this._$wrapper = $(\"<div>\").addClass(TRACKBAR_WRAPPER_CLASS).appendTo(this.$element())\r\n },\r\n _renderContainer: function() {\r\n this._$bar = $(\"<div>\").addClass(TRACKBAR_CONTAINER_CLASS).appendTo(this._$wrapper)\r\n },\r\n _renderRange: function() {\r\n this._$range = $(\"<div>\").addClass(TRACKBAR_RANGE_CLASS).appendTo(this._$bar)\r\n },\r\n _renderValue: function() {\r\n var val = this.option(\"value\");\r\n var min = this.option(\"min\");\r\n var max = this.option(\"max\");\r\n if (min > max) {\r\n return\r\n }\r\n if (val < min) {\r\n this.option(\"value\", min);\r\n this._currentRatio = 0;\r\n return\r\n }\r\n if (val > max) {\r\n this.option(\"value\", max);\r\n this._currentRatio = 1;\r\n return\r\n }\r\n var ratio = min === max ? 0 : (val - min) / (max - min);\r\n !this._needPreventAnimation && this._setRangeStyles({\r\n width: 100 * ratio + \"%\"\r\n });\r\n this.setAria({\r\n valuemin: this.option(\"min\"),\r\n valuemax: max,\r\n valuenow: val\r\n });\r\n this._currentRatio = ratio\r\n },\r\n _rangeStylesConfig: function() {\r\n return {\r\n width: 100 * this._currentRatio + \"%\"\r\n }\r\n },\r\n _setRangeStyles: function(options) {\r\n fx.stop(this._$range);\r\n if (!options) {\r\n this._$range.css({\r\n width: 0\r\n });\r\n return\r\n }\r\n if (this._needPreventAnimation || !hasWindow()) {\r\n return\r\n }\r\n fx.animate(this._$range, {\r\n type: \"custom\",\r\n duration: 100,\r\n to: options\r\n })\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"value\":\r\n this._renderValue();\r\n this.callBase(args);\r\n break;\r\n case \"max\":\r\n case \"min\":\r\n this._renderValue();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _dispose: function() {\r\n fx.stop(this._$range);\r\n this.callBase()\r\n }\r\n});\r\nregisterComponent(\"dxTrackBar\", TrackBar);\r\nexport default TrackBar;\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/m_core.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport modules from \"../../grids/grid_core/m_modules\";\r\nexport default extend({}, modules, {\r\n modules: [],\r\n foreachNodes(nodes, callBack, ignoreHasChildren) {\r\n for (var i = 0; i < nodes.length; i++) {\r\n if (false !== callBack(nodes[i]) && (ignoreHasChildren || nodes[i].hasChildren) && nodes[i].children.length) {\r\n this.foreachNodes(nodes[i].children, callBack, ignoreHasChildren)\r\n }\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/column_headers/m_column_headers.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n columnHeadersModule\r\n} from \"../../../grids/grid_core/column_headers/m_column_headers\";\r\nimport treeListCore from \"../m_core\";\r\nvar ColumnHeadersView = columnHeadersModule.views.columnHeadersView.inherit({\r\n setTableRole($tableElement) {\r\n this.setAria(\"role\", \"treegrid\", $tableElement)\r\n }\r\n});\r\ntreeListCore.registerModule(\"columnHeaders\", {\r\n defaultOptions: columnHeadersModule.defaultOptions,\r\n views: {\r\n columnHeadersView: ColumnHeadersView\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/m_columns_controller.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n columnsControllerModule\r\n} from \"../../grids/grid_core/columns_controller/m_columns_controller\";\r\nimport treeListCore from \"./m_core\";\r\nexport var ColumnsController = columnsControllerModule.controllers.columns.inherit({\r\n _getFirstItems(dataSourceAdapter) {\r\n return this.callBase(dataSourceAdapter).map(node => node.data)\r\n },\r\n getFirstDataColumnIndex() {\r\n var visibleColumns = this.getVisibleColumns();\r\n var visibleColumnsLength = visibleColumns.length;\r\n var firstDataColumnIndex = 0;\r\n for (var i = 0; i <= visibleColumnsLength - 1; i++) {\r\n if (!isDefined(visibleColumns[i].command)) {\r\n firstDataColumnIndex = visibleColumns[i].index;\r\n break\r\n }\r\n }\r\n return firstDataColumnIndex\r\n }\r\n});\r\ntreeListCore.registerModule(\"columns\", {\r\n defaultOptions: columnsControllerModule.defaultOptions,\r\n controllers: {\r\n columns: ColumnsController\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/data_source_adapter/m_data_source_adapter.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n compileGetter,\r\n compileSetter\r\n} from \"../../../../core/utils/data\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n isDefined,\r\n isFunction\r\n} from \"../../../../core/utils/type\";\r\nimport ArrayStore from \"../../../../data/array_store\";\r\nimport {\r\n createObjectWithChanges\r\n} from \"../../../../data/array_utils\";\r\nimport query from \"../../../../data/query\";\r\nimport storeHelper from \"../../../../data/store_helper\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\nimport DataSourceAdapter from \"../../../grids/grid_core/data_source_adapter/m_data_source_adapter\";\r\nimport gridCoreUtils from \"../../../grids/grid_core/m_utils\";\r\nimport treeListCore from \"../m_core\";\r\nvar {\r\n queryByOptions: queryByOptions\r\n} = storeHelper;\r\nvar DEFAULT_KEY_EXPRESSION = \"id\";\r\nvar isFullBranchFilterMode = that => \"fullBranch\" === that.option(\"filterMode\");\r\nvar DataSourceAdapterTreeList = DataSourceAdapter.inherit(function() {\r\n var applySorting = (data, sort) => queryByOptions(query(data), {\r\n sort: sort\r\n }).toArray();\r\n return {\r\n _createKeyGetter() {\r\n var keyExpr = this.getKeyExpr();\r\n return compileGetter(keyExpr)\r\n },\r\n _createKeySetter() {\r\n var keyExpr = this.getKeyExpr();\r\n if (isFunction(keyExpr)) {\r\n return keyExpr\r\n }\r\n return compileSetter(keyExpr)\r\n },\r\n createParentIdGetter() {\r\n return compileGetter(this.option(\"parentIdExpr\"))\r\n },\r\n createParentIdSetter() {\r\n var parentIdExpr = this.option(\"parentIdExpr\");\r\n if (isFunction(parentIdExpr)) {\r\n return parentIdExpr\r\n }\r\n return compileSetter(parentIdExpr)\r\n },\r\n _createItemsGetter() {\r\n return compileGetter(this.option(\"itemsExpr\"))\r\n },\r\n _createHasItemsGetter() {\r\n var hasItemsExpr = this.option(\"hasItemsExpr\");\r\n return hasItemsExpr && compileGetter(hasItemsExpr)\r\n },\r\n _createHasItemsSetter() {\r\n var hasItemsExpr = this.option(\"hasItemsExpr\");\r\n if (isFunction(hasItemsExpr)) {\r\n return hasItemsExpr\r\n }\r\n return hasItemsExpr && compileSetter(hasItemsExpr)\r\n },\r\n _updateIndexByKeyObject(items) {\r\n var that = this;\r\n that._indexByKey = {};\r\n each(items, (index, item) => {\r\n that._indexByKey[item.key] = index\r\n })\r\n },\r\n _calculateHasItems(node, options) {\r\n var {\r\n parentIds: parentIds\r\n } = options.storeLoadOptions;\r\n var hasItems;\r\n var isFullBranch = isFullBranchFilterMode(this);\r\n if (this._hasItemsGetter && (parentIds || !options.storeLoadOptions.filter || isFullBranch)) {\r\n hasItems = this._hasItemsGetter(node.data)\r\n }\r\n if (void 0 === hasItems) {\r\n if (!this._isChildrenLoaded[node.key] && options.remoteOperations.filtering && (parentIds || isFullBranch)) {\r\n hasItems = true\r\n } else if (options.loadOptions.filter && !options.remoteOperations.filtering && isFullBranch) {\r\n hasItems = node.children.length\r\n } else {\r\n hasItems = node.hasChildren\r\n }\r\n }\r\n return !!hasItems\r\n },\r\n _fillVisibleItemsByNodes(nodes, options, result) {\r\n for (var i = 0; i < nodes.length; i++) {\r\n if (nodes[i].visible) {\r\n result.push(nodes[i])\r\n }\r\n if ((this.isRowExpanded(nodes[i].key, options) || !nodes[i].visible) && nodes[i].hasChildren && nodes[i].children.length) {\r\n this._fillVisibleItemsByNodes(nodes[i].children, options, result)\r\n }\r\n }\r\n },\r\n _convertItemToNode(item, rootValue, nodeByKey) {\r\n var key = this._keyGetter(item);\r\n var parentId = this._parentIdGetter(item);\r\n parentId = isDefined(parentId) ? parentId : rootValue;\r\n var parentNode = nodeByKey[parentId] = nodeByKey[parentId] || {\r\n key: parentId,\r\n children: []\r\n };\r\n var node = nodeByKey[key] = nodeByKey[key] || {\r\n key: key,\r\n children: []\r\n };\r\n node.data = item;\r\n node.parent = parentNode;\r\n return node\r\n },\r\n _createNodesByItems(items, visibleItems) {\r\n var rootValue = this.option(\"rootValue\");\r\n var visibleByKey = {};\r\n var nodeByKey = this._nodeByKey = {};\r\n var i;\r\n if (visibleItems) {\r\n for (i = 0; i < visibleItems.length; i++) {\r\n visibleByKey[this._keyGetter(visibleItems[i])] = true\r\n }\r\n }\r\n for (i = 0; i < items.length; i++) {\r\n var node = this._convertItemToNode(items[i], rootValue, nodeByKey);\r\n if (void 0 === node.key) {\r\n return\r\n }\r\n node.visible = !visibleItems || !!visibleByKey[node.key];\r\n if (node.parent) {\r\n node.parent.children.push(node)\r\n }\r\n }\r\n var rootNode = nodeByKey[rootValue] || {\r\n key: rootValue,\r\n children: []\r\n };\r\n rootNode.level = -1;\r\n return rootNode\r\n },\r\n _convertDataToPlainStructure(data, parentId, result) {\r\n var key;\r\n if (this._itemsGetter && !data.isConverted) {\r\n result = result || [];\r\n for (var i = 0; i < data.length; i++) {\r\n var item = createObjectWithChanges(data[i]);\r\n key = this._keyGetter(item);\r\n if (void 0 === key) {\r\n key = result.length + 1;\r\n this._keySetter(item, key)\r\n }\r\n this._parentIdSetter(item, void 0 === parentId ? this.option(\"rootValue\") : parentId);\r\n result.push(item);\r\n var childItems = this._itemsGetter(item);\r\n if (childItems && childItems.length) {\r\n this._convertDataToPlainStructure(childItems, key, result);\r\n var itemsExpr = this.option(\"itemsExpr\");\r\n if (!isFunction(itemsExpr)) {\r\n delete item[itemsExpr]\r\n }\r\n }\r\n }\r\n result.isConverted = true;\r\n return result\r\n }\r\n return data\r\n },\r\n _createIdFilter(field, keys) {\r\n var parentIdFilters = [];\r\n for (var i = 0; i < keys.length; i++) {\r\n parentIdFilters.push([field, \"=\", keys[i]])\r\n }\r\n return gridCoreUtils.combineFilters(parentIdFilters, \"or\")\r\n },\r\n _customizeRemoteOperations(options, operationTypes) {\r\n this.callBase.apply(this, arguments);\r\n options.remoteOperations.paging = false;\r\n var expandVisibleNodes = false;\r\n if (this.option(\"autoExpandAll\")) {\r\n options.remoteOperations.sorting = false;\r\n options.remoteOperations.filtering = false;\r\n if ((!this._lastLoadOptions || operationTypes.filtering && !options.storeLoadOptions.filter) && !options.isCustomLoading) {\r\n expandVisibleNodes = true\r\n }\r\n }\r\n if (!options.isCustomLoading) {\r\n this._isReload = this._isReload || operationTypes.reload;\r\n if (!options.cachedStoreData) {\r\n this._isChildrenLoaded = {};\r\n if (this._isReload) {\r\n this._nodeByKey = {}\r\n }\r\n }\r\n if (this.option(\"expandNodesOnFiltering\") && (operationTypes.filtering || this._isReload && options.storeLoadOptions.filter)) {\r\n if (options.storeLoadOptions.filter) {\r\n expandVisibleNodes = true\r\n } else {\r\n options.collapseVisibleNodes = true\r\n }\r\n }\r\n }\r\n options.expandVisibleNodes = expandVisibleNodes\r\n },\r\n _getParentIdsToLoad(parentIds) {\r\n var parentIdsToLoad = [];\r\n for (var i = 0; i < parentIds.length; i++) {\r\n var node = this.getNodeByKey(parentIds[i]);\r\n if (!node || node.hasChildren && !node.children.length) {\r\n parentIdsToLoad.push(parentIds[i])\r\n }\r\n }\r\n return parentIdsToLoad\r\n },\r\n _handleCustomizeStoreLoadOptions(options) {\r\n var rootValue = this.option(\"rootValue\");\r\n var parentIdExpr = this.option(\"parentIdExpr\");\r\n var {\r\n parentIds: parentIds\r\n } = options.storeLoadOptions;\r\n if (parentIds) {\r\n options.isCustomLoading = false\r\n }\r\n this.callBase.apply(this, arguments);\r\n if (options.remoteOperations.filtering && !options.isCustomLoading) {\r\n if (isFullBranchFilterMode(this) && options.cachedStoreData || !options.storeLoadOptions.filter) {\r\n var expandedRowKeys = options.collapseVisibleNodes ? [] : this.option(\"expandedRowKeys\");\r\n parentIds = [rootValue].concat(expandedRowKeys).concat(parentIds || []);\r\n var parentIdsToLoad = options.data ? this._getParentIdsToLoad(parentIds) : parentIds;\r\n if (parentIdsToLoad.length) {\r\n options.cachedPagingData = void 0;\r\n options.data = void 0;\r\n options.mergeStoreLoadData = true;\r\n options.delay = this.option(\"loadingTimeout\")\r\n }\r\n options.storeLoadOptions.parentIds = parentIdsToLoad;\r\n options.storeLoadOptions.filter = this._createIdFilter(parentIdExpr, parentIdsToLoad)\r\n }\r\n }\r\n },\r\n _generateInfoToLoad(data, needChildren) {\r\n var key;\r\n var keyMap = {};\r\n var resultKeyMap = {};\r\n var resultKeys = [];\r\n var rootValue = this.option(\"rootValue\");\r\n var i;\r\n for (i = 0; i < data.length; i++) {\r\n key = needChildren ? this._parentIdGetter(data[i]) : this._keyGetter(data[i]);\r\n keyMap[key] = true\r\n }\r\n for (i = 0; i < data.length; i++) {\r\n key = needChildren ? this._keyGetter(data[i]) : this._parentIdGetter(data[i]);\r\n var needToLoad = needChildren ? this.isRowExpanded(key) : key !== rootValue;\r\n if (!keyMap[key] && !resultKeyMap[key] && needToLoad) {\r\n resultKeyMap[key] = true;\r\n resultKeys.push(key)\r\n }\r\n }\r\n return {\r\n keyMap: resultKeyMap,\r\n keys: resultKeys\r\n }\r\n },\r\n _loadParentsOrChildren(data, options, needChildren) {\r\n var _a, _b, _c;\r\n var filter;\r\n var needLocalFiltering;\r\n var {\r\n keys: keys,\r\n keyMap: keyMap\r\n } = this._generateInfoToLoad(data, needChildren);\r\n var d = new Deferred;\r\n var isRemoteFiltering = options.remoteOperations.filtering;\r\n var maxFilterLengthInRequest = this.option(\"maxFilterLengthInRequest\");\r\n var sort = null !== (_b = null === (_a = options.storeLoadOptions) || void 0 === _a ? void 0 : _a.sort) && void 0 !== _b ? _b : null === (_c = options.loadOptions) || void 0 === _c ? void 0 : _c.sort;\r\n var loadOptions = isRemoteFiltering ? options.storeLoadOptions : options.loadOptions;\r\n var concatLoadedData = loadedData => {\r\n if (isRemoteFiltering) {\r\n this._cachedStoreData = applySorting(this._cachedStoreData.concat(loadedData), sort)\r\n }\r\n return applySorting(data.concat(loadedData), sort)\r\n };\r\n if (!keys.length) {\r\n return d.resolve(data)\r\n }\r\n var cachedNodes = keys.map(id => this.getNodeByKey(id)).filter(node => node && node.data);\r\n if (cachedNodes.length === keys.length) {\r\n if (needChildren) {\r\n cachedNodes = cachedNodes.reduce((result, node) => result.concat(node.children), [])\r\n }\r\n if (cachedNodes.length) {\r\n return this._loadParentsOrChildren(concatLoadedData(cachedNodes.map(node => node.data)), options, needChildren)\r\n }\r\n }\r\n var keyExpr = needChildren ? this.option(\"parentIdExpr\") : this.getKeyExpr();\r\n filter = this._createIdFilter(keyExpr, keys);\r\n var filterLength = encodeURI(JSON.stringify(filter)).length;\r\n if (filterLength > maxFilterLengthInRequest) {\r\n filter = itemData => keyMap[needChildren ? this._parentIdGetter(itemData) : this._keyGetter(itemData)];\r\n needLocalFiltering = isRemoteFiltering\r\n }\r\n loadOptions = extend({}, loadOptions, {\r\n filter: !needLocalFiltering ? filter : null\r\n });\r\n var store = options.fullData ? new ArrayStore(options.fullData) : this._dataSource.store();\r\n this.loadFromStore(loadOptions, store).done(loadedData => {\r\n if (loadedData.length) {\r\n if (needLocalFiltering) {\r\n loadedData = query(loadedData).filter(filter).toArray()\r\n }\r\n this._loadParentsOrChildren(concatLoadedData(loadedData), options, needChildren).done(d.resolve).fail(d.reject)\r\n } else {\r\n d.resolve(data)\r\n }\r\n }).fail(d.reject);\r\n return d\r\n },\r\n _loadParents(data, options) {\r\n return this._loadParentsOrChildren(data, options)\r\n },\r\n _loadChildrenIfNeed(data, options) {\r\n if (isFullBranchFilterMode(this)) {\r\n return this._loadParentsOrChildren(data, options, true)\r\n }\r\n return when(data)\r\n },\r\n _updateHasItemsMap(options) {\r\n var {\r\n parentIds: parentIds\r\n } = options.storeLoadOptions;\r\n if (parentIds) {\r\n for (var i = 0; i < parentIds.length; i++) {\r\n this._isChildrenLoaded[parentIds[i]] = true\r\n }\r\n }\r\n },\r\n _getKeyInfo: () => ({\r\n key: () => \"key\",\r\n keyOf: data => data.key\r\n }),\r\n _processChanges(changes) {\r\n var processedChanges = [];\r\n changes.forEach(change => {\r\n if (\"insert\" === change.type) {\r\n processedChanges = processedChanges.concat(this._applyInsert(change))\r\n } else if (\"remove\" === change.type) {\r\n processedChanges = processedChanges.concat(this._applyRemove(change))\r\n } else if (\"update\" === change.type) {\r\n processedChanges.push({\r\n type: change.type,\r\n key: change.key,\r\n data: {\r\n data: change.data\r\n }\r\n })\r\n }\r\n });\r\n return processedChanges\r\n },\r\n _handleChanging(e) {\r\n this.callBase.apply(this, arguments);\r\n e.postProcessChanges = changes => {\r\n var changesToProcess = changes.filter(item => \"update\" === item.type);\r\n return this._processChanges(changesToProcess)\r\n }\r\n },\r\n _applyBatch(changes) {\r\n var processedChanges = this._processChanges(changes);\r\n this.callBase(processedChanges)\r\n },\r\n _setHasItems(node, value) {\r\n var hasItemsSetter = this._hasItemsSetter;\r\n node.hasChildren = value;\r\n if (hasItemsSetter && node.data) {\r\n hasItemsSetter(node.data, value)\r\n }\r\n },\r\n _applyInsert(change) {\r\n var baseChanges = [];\r\n var parentId = this.parentKeyOf(change.data);\r\n var parentNode = this.getNodeByKey(parentId);\r\n if (parentNode) {\r\n var rootValue = this.option(\"rootValue\");\r\n var node = this._convertItemToNode(change.data, rootValue, this._nodeByKey);\r\n node.hasChildren = false;\r\n node.level = parentNode.level + 1;\r\n node.visible = true;\r\n parentNode.children.push(node);\r\n this._isChildrenLoaded[node.key] = true;\r\n this._setHasItems(parentNode, true);\r\n if ((!parentNode.parent || this.isRowExpanded(parentNode.key)) && void 0 !== change.index) {\r\n var index = this.items().indexOf(parentNode) + 1;\r\n index += change.index >= 0 ? Math.min(change.index, parentNode.children.length) : parentNode.children.length;\r\n baseChanges.push({\r\n type: change.type,\r\n data: node,\r\n index: index\r\n })\r\n }\r\n }\r\n return baseChanges\r\n },\r\n _needToCopyDataObject: () => false,\r\n _applyRemove(change) {\r\n var baseChanges = [];\r\n var node = this.getNodeByKey(change.key);\r\n var parentNode = node && node.parent;\r\n if (parentNode) {\r\n var index = parentNode.children.indexOf(node);\r\n if (index >= 0) {\r\n parentNode.children.splice(index, 1);\r\n if (!parentNode.children.length) {\r\n this._setHasItems(parentNode, false)\r\n }\r\n baseChanges.push(change);\r\n baseChanges = baseChanges.concat(this.getChildNodeKeys(change.key).map(key => ({\r\n type: change.type,\r\n key: key\r\n })))\r\n }\r\n }\r\n return baseChanges\r\n },\r\n _handleDataLoaded(options) {\r\n var data = options.data = this._convertDataToPlainStructure(options.data);\r\n if (!options.remoteOperations.filtering && options.loadOptions.filter) {\r\n options.fullData = queryByOptions(query(options.data), {\r\n sort: options.loadOptions && options.loadOptions.sort\r\n }).toArray()\r\n }\r\n this._updateHasItemsMap(options);\r\n this.callBase(options);\r\n if (data.isConverted && this._cachedStoreData) {\r\n this._cachedStoreData.isConverted = true\r\n }\r\n },\r\n _fillNodes(nodes, options, expandedRowKeys, level) {\r\n var isFullBranch = isFullBranchFilterMode(this);\r\n level = level || 0;\r\n for (var i = 0; i < nodes.length; i++) {\r\n var node = nodes[i];\r\n var needToExpand = false;\r\n this._fillNodes(nodes[i].children, options, expandedRowKeys, level + 1);\r\n node.level = level;\r\n node.hasChildren = this._calculateHasItems(node, options);\r\n if (node.visible && node.hasChildren) {\r\n if (isFullBranch) {\r\n if (node.children.filter(node => node.visible).length) {\r\n needToExpand = true\r\n } else if (node.children.length) {\r\n treeListCore.foreachNodes(node.children, node => {\r\n node.visible = true\r\n })\r\n }\r\n } else {\r\n needToExpand = true\r\n }\r\n if (options.expandVisibleNodes && needToExpand) {\r\n expandedRowKeys.push(node.key)\r\n }\r\n }\r\n if (node.visible || node.hasChildren) {\r\n node.parent.hasChildren = true\r\n }\r\n }\r\n },\r\n _processTreeStructure(options, visibleItems) {\r\n var {\r\n data: data\r\n } = options;\r\n var {\r\n parentIds: parentIds\r\n } = options.storeLoadOptions;\r\n var expandedRowKeys = [];\r\n if (parentIds && parentIds.length || this._isReload) {\r\n if (options.fullData && options.fullData.length > options.data.length) {\r\n data = options.fullData;\r\n visibleItems = visibleItems || options.data\r\n }\r\n this._rootNode = this._createNodesByItems(data, visibleItems);\r\n if (!this._rootNode) {\r\n options.data = (new Deferred).reject(errors.Error(\"E1046\", this.getKeyExpr()));\r\n return\r\n }\r\n this._fillNodes(this._rootNode.children, options, expandedRowKeys);\r\n this._isNodesInitializing = true;\r\n if (options.collapseVisibleNodes || expandedRowKeys.length) {\r\n this.option(\"expandedRowKeys\", expandedRowKeys)\r\n }\r\n this._isReload = false;\r\n this.executeAction(\"onNodesInitialized\", {\r\n root: this._rootNode\r\n });\r\n this._isNodesInitializing = false\r\n }\r\n var resultData = [];\r\n this._fillVisibleItemsByNodes(this._rootNode.children, options, resultData);\r\n options.data = resultData;\r\n this._totalItemsCount = resultData.length\r\n },\r\n _handleDataLoadedCore(options) {\r\n var that = this;\r\n var {\r\n data: data\r\n } = options;\r\n var {\r\n callBase: callBase\r\n } = that;\r\n var filter = options.storeLoadOptions.filter || options.loadOptions.filter;\r\n var filterMode = that.option(\"filterMode\");\r\n var visibleItems;\r\n var {\r\n parentIds: parentIds\r\n } = options.storeLoadOptions;\r\n var needLoadParents = filter && (!parentIds || !parentIds.length) && \"standard\" !== filterMode;\r\n if (!options.isCustomLoading) {\r\n if (needLoadParents) {\r\n var d = options.data = new Deferred;\r\n if (\"matchOnly\" === filterMode) {\r\n visibleItems = data\r\n }\r\n return that._loadParents(data, options).done(data => {\r\n that._loadChildrenIfNeed(data, options).done(data => {\r\n options.data = data;\r\n that._processTreeStructure(options, visibleItems);\r\n callBase.call(that, options);\r\n d.resolve(options.data)\r\n })\r\n }).fail(d.reject)\r\n }\r\n that._processTreeStructure(options)\r\n }\r\n that.callBase(options)\r\n },\r\n _handlePush(_ref) {\r\n var {\r\n changes: changes\r\n } = _ref;\r\n var reshapeOnPush = this._dataSource._reshapeOnPush;\r\n var isNeedReshape = reshapeOnPush && !!changes.length;\r\n if (isNeedReshape) {\r\n this._isReload = true\r\n }\r\n changes.forEach(change => {\r\n var _a;\r\n null !== (_a = change.index) && void 0 !== _a ? _a : change.index = -1\r\n });\r\n this.callBase.apply(this, arguments)\r\n },\r\n init(dataSource, remoteOperations) {\r\n this.callBase.apply(this, arguments);\r\n var dataStructure = this.option(\"dataStructure\");\r\n this._keyGetter = this._createKeyGetter();\r\n this._parentIdGetter = this.createParentIdGetter();\r\n this._hasItemsGetter = this._createHasItemsGetter();\r\n this._hasItemsSetter = this._createHasItemsSetter();\r\n if (\"tree\" === dataStructure) {\r\n this._itemsGetter = this._createItemsGetter();\r\n this._keySetter = this._createKeySetter();\r\n this._parentIdSetter = this.createParentIdSetter()\r\n }\r\n this._nodeByKey = {};\r\n this._isChildrenLoaded = {};\r\n this._totalItemsCount = 0;\r\n this.createAction(\"onNodesInitialized\")\r\n },\r\n getKeyExpr() {\r\n var store = this.store();\r\n var key = store && store.key();\r\n var keyExpr = this.option(\"keyExpr\");\r\n if (isDefined(key) && isDefined(keyExpr)) {\r\n if (!equalByValue(key, keyExpr)) {\r\n throw errors.Error(\"E1044\")\r\n }\r\n }\r\n return key || keyExpr || DEFAULT_KEY_EXPRESSION\r\n },\r\n keyOf(data) {\r\n return this._keyGetter && this._keyGetter(data)\r\n },\r\n parentKeyOf(data) {\r\n return this._parentIdGetter && this._parentIdGetter(data)\r\n },\r\n getRootNode() {\r\n return this._rootNode\r\n },\r\n totalItemsCount() {\r\n return this._totalItemsCount + this._totalCountCorrection\r\n },\r\n isRowExpanded(key, cache) {\r\n if (cache) {\r\n var {\r\n isExpandedByKey: isExpandedByKey\r\n } = cache;\r\n if (!isExpandedByKey) {\r\n isExpandedByKey = cache.isExpandedByKey = {};\r\n this.option(\"expandedRowKeys\").forEach(key => {\r\n isExpandedByKey[key] = true\r\n })\r\n }\r\n return !!isExpandedByKey[key]\r\n }\r\n var indexExpandedNodeKey = gridCoreUtils.getIndexByKey(key, this.option(\"expandedRowKeys\"), null);\r\n return indexExpandedNodeKey >= 0\r\n },\r\n _changeRowExpandCore(key) {\r\n var expandedRowKeys = this.option(\"expandedRowKeys\").slice();\r\n var indexExpandedNodeKey = gridCoreUtils.getIndexByKey(key, expandedRowKeys, null);\r\n if (indexExpandedNodeKey < 0) {\r\n expandedRowKeys.push(key)\r\n } else {\r\n expandedRowKeys.splice(indexExpandedNodeKey, 1)\r\n }\r\n this.option(\"expandedRowKeys\", expandedRowKeys)\r\n },\r\n changeRowExpand(key) {\r\n this._changeRowExpandCore(key);\r\n return this._isNodesInitializing ? (new Deferred).resolve() : this.load()\r\n },\r\n getNodeByKey(key) {\r\n if (this._nodeByKey) {\r\n return this._nodeByKey[key]\r\n }\r\n },\r\n getNodeLeafKeys() {\r\n var that = this;\r\n var result = [];\r\n var keys = that._rootNode ? [that._rootNode.key] : [];\r\n keys.forEach(key => {\r\n var node = that.getNodeByKey(key);\r\n node && treeListCore.foreachNodes([node], childNode => {\r\n !childNode.children.length && result.push(childNode.key)\r\n })\r\n });\r\n return result\r\n },\r\n getChildNodeKeys(parentKey) {\r\n var node = this.getNodeByKey(parentKey);\r\n var childrenKeys = [];\r\n node && treeListCore.foreachNodes(node.children, childNode => {\r\n childrenKeys.push(childNode.key)\r\n });\r\n return childrenKeys\r\n },\r\n loadDescendants(keys, childrenOnly) {\r\n var that = this;\r\n var d = new Deferred;\r\n var remoteOperations = that.remoteOperations();\r\n if (isDefined(keys)) {\r\n keys = Array.isArray(keys) ? keys : [keys]\r\n } else {\r\n keys = that.getNodeLeafKeys()\r\n }\r\n if (!remoteOperations.filtering || !keys.length) {\r\n return d.resolve()\r\n }\r\n var loadOptions = that._dataSource._createStoreLoadOptions();\r\n loadOptions.parentIds = keys;\r\n that.load(loadOptions).done(() => {\r\n if (!childrenOnly) {\r\n var childKeys = function(that, keys) {\r\n var childKeys = [];\r\n keys.forEach(key => {\r\n var node = that.getNodeByKey(key);\r\n node && node.children.forEach(child => {\r\n childKeys.push(child.key)\r\n })\r\n });\r\n return childKeys\r\n }(that, keys);\r\n if (childKeys.length) {\r\n that.loadDescendants(childKeys, childrenOnly).done(d.resolve).fail(d.reject);\r\n return\r\n }\r\n }\r\n d.resolve()\r\n }).fail(d.reject);\r\n return d.promise()\r\n },\r\n forEachNode() {\r\n var nodes = [];\r\n var callback;\r\n if (1 === arguments.length) {\r\n callback = arguments[0];\r\n var rootNode = this.getRootNode();\r\n nodes = rootNode && rootNode.children || []\r\n } else if (2 === arguments.length) {\r\n callback = arguments[1];\r\n nodes = arguments[0];\r\n nodes = Array.isArray(nodes) ? nodes : [nodes]\r\n }\r\n treeListCore.foreachNodes(nodes, callback)\r\n }\r\n }\r\n}());\r\nexport default {\r\n extend(extender) {\r\n DataSourceAdapterTreeList = DataSourceAdapterTreeList.inherit(extender)\r\n },\r\n create: component => new DataSourceAdapterTreeList(component)\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/data_controller/m_data_controller.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n dataControllerModule\r\n} from \"../../../grids/grid_core/data_controller/m_data_controller\";\r\nimport dataSourceAdapterProvider from \"../data_source_adapter/m_data_source_adapter\";\r\nimport treeListCore from \"../m_core\";\r\nexport var DataController = dataControllerModule.controllers.data.inherit({\r\n _getDataSourceAdapter: () => dataSourceAdapterProvider,\r\n _getNodeLevel(node) {\r\n var level = -1;\r\n while (node.parent) {\r\n if (node.visible) {\r\n level++\r\n }\r\n node = node.parent\r\n }\r\n return level\r\n },\r\n _generateDataItem(node, options) {\r\n return {\r\n rowType: \"data\",\r\n node: node,\r\n key: node.key,\r\n data: node.data,\r\n isExpanded: this.isRowExpanded(node.key, options),\r\n level: this._getNodeLevel(node)\r\n }\r\n },\r\n _loadOnOptionChange() {\r\n this._dataSource.load()\r\n },\r\n _isItemEquals(item1, item2) {\r\n if (item1.isSelected !== item2.isSelected) {\r\n return false\r\n }\r\n if (item1.node && item2.node && item1.node.hasChildren !== item2.node.hasChildren) {\r\n return false\r\n }\r\n if (item1.level !== item2.level || item1.isExpanded !== item2.isExpanded) {\r\n return false\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _isCellChanged(oldRow, newRow, visibleRowIndex, columnIndex, isLiveUpdate) {\r\n var firstDataColumnIndex = this._columnsController.getFirstDataColumnIndex();\r\n if (columnIndex === firstDataColumnIndex && oldRow.isSelected !== newRow.isSelected) {\r\n return true\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n init() {\r\n this.createAction(\"onRowExpanding\");\r\n this.createAction(\"onRowExpanded\");\r\n this.createAction(\"onRowCollapsing\");\r\n this.createAction(\"onRowCollapsed\");\r\n this.callBase.apply(this, arguments)\r\n },\r\n keyOf(data) {\r\n var dataSource = this._dataSource;\r\n if (dataSource) {\r\n return dataSource.keyOf(data)\r\n }\r\n },\r\n key() {\r\n var dataSource = this._dataSource;\r\n if (dataSource) {\r\n return dataSource.getKeyExpr()\r\n }\r\n },\r\n publicMethods() {\r\n return this.callBase().concat([\"expandRow\", \"collapseRow\", \"isRowExpanded\", \"getRootNode\", \"getNodeByKey\", \"loadDescendants\", \"forEachNode\"])\r\n },\r\n changeRowExpand(key) {\r\n if (this._dataSource) {\r\n var args = {\r\n key: key\r\n };\r\n var isExpanded = this.isRowExpanded(key);\r\n this.executeAction(isExpanded ? \"onRowCollapsing\" : \"onRowExpanding\", args);\r\n if (!args.cancel) {\r\n return this._dataSource.changeRowExpand(key).done(() => {\r\n this.executeAction(isExpanded ? \"onRowCollapsed\" : \"onRowExpanded\", args)\r\n })\r\n }\r\n }\r\n return (new Deferred).resolve()\r\n },\r\n isRowExpanded(key, cache) {\r\n return this._dataSource && this._dataSource.isRowExpanded(key, cache)\r\n },\r\n expandRow(key) {\r\n if (!this.isRowExpanded(key)) {\r\n return this.changeRowExpand(key)\r\n }\r\n return (new Deferred).resolve()\r\n },\r\n collapseRow(key) {\r\n if (this.isRowExpanded(key)) {\r\n return this.changeRowExpand(key)\r\n }\r\n return (new Deferred).resolve()\r\n },\r\n getRootNode() {\r\n return this._dataSource && this._dataSource.getRootNode()\r\n },\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"rootValue\":\r\n case \"parentIdExpr\":\r\n case \"itemsExpr\":\r\n case \"filterMode\":\r\n case \"expandNodesOnFiltering\":\r\n case \"autoExpandAll\":\r\n case \"hasItemsExpr\":\r\n case \"dataStructure\":\r\n this._columnsController.reset();\r\n this._items = [];\r\n this._refreshDataSource();\r\n args.handled = true;\r\n break;\r\n case \"expandedRowKeys\":\r\n case \"onNodesInitialized\":\r\n if (this._dataSource && !this._dataSource._isNodesInitializing && !equalByValue(args.value, args.previousValue)) {\r\n this._loadOnOptionChange()\r\n }\r\n args.handled = true;\r\n break;\r\n case \"maxFilterLengthInRequest\":\r\n args.handled = true;\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n getNodeByKey(key) {\r\n if (!this._dataSource) {\r\n return\r\n }\r\n return this._dataSource.getNodeByKey(key)\r\n },\r\n getChildNodeKeys(parentKey) {\r\n if (!this._dataSource) {\r\n return\r\n }\r\n return this._dataSource.getChildNodeKeys(parentKey)\r\n },\r\n loadDescendants(keys, childrenOnly) {\r\n if (!this._dataSource) {\r\n return\r\n }\r\n return this._dataSource.loadDescendants(keys, childrenOnly)\r\n },\r\n forEachNode() {\r\n this._dataSource.forEachNode.apply(this, arguments)\r\n }\r\n});\r\ntreeListCore.registerModule(\"data\", {\r\n defaultOptions: () => extend({}, dataControllerModule.defaultOptions(), {\r\n itemsExpr: \"items\",\r\n parentIdExpr: \"parentId\",\r\n rootValue: 0,\r\n dataStructure: \"plain\",\r\n expandedRowKeys: [],\r\n filterMode: \"withAncestors\",\r\n expandNodesOnFiltering: true,\r\n autoExpandAll: false,\r\n onNodesInitialized: null,\r\n maxFilterLengthInRequest: 1500,\r\n paging: {\r\n enabled: false\r\n }\r\n }),\r\n controllers: {\r\n data: DataController\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/sorting.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n sortingModule\r\n} from \"../../../grids/grid_core/sorting/m_sorting\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"sorting\", sortingModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/rows/m_rows.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport {\r\n removeEvent\r\n} from \"../../../../events/remove\";\r\nimport {\r\n rowsModule\r\n} from \"../../../grids/grid_core/views/m_rows_view\";\r\nimport treeListCore from \"../m_core\";\r\nvar TREELIST_TEXT_CONTENT = \"dx-treelist-text-content\";\r\nvar TREELIST_EXPAND_ICON_CONTAINER_CLASS = \"dx-treelist-icon-container\";\r\nvar TREELIST_CELL_EXPANDABLE_CLASS = \"dx-treelist-cell-expandable\";\r\nvar TREELIST_EMPTY_SPACE = \"dx-treelist-empty-space\";\r\nvar TREELIST_EXPANDED_CLASS = \"dx-treelist-expanded\";\r\nvar TREELIST_COLLAPSED_CLASS = \"dx-treelist-collapsed\";\r\nexport var RowsView = rowsModule.views.rowsView.inherit(function() {\r\n var createIcon = function(hasIcon, isExpanded) {\r\n var $iconElement = $(\"<div>\").addClass(TREELIST_EMPTY_SPACE);\r\n if (hasIcon) {\r\n $iconElement.toggleClass(TREELIST_EXPANDED_CLASS, isExpanded).toggleClass(TREELIST_COLLAPSED_CLASS, !isExpanded).append($(\"<span>\"))\r\n }\r\n return $iconElement\r\n };\r\n return {\r\n _renderIconContainer($container, options) {\r\n var $iconContainer = $(\"<div>\").addClass(TREELIST_EXPAND_ICON_CONTAINER_CLASS).appendTo($container);\r\n if (options.watch) {\r\n var dispose = options.watch(() => [options.row.level, options.row.isExpanded, options.row.node.hasChildren], () => {\r\n $iconContainer.empty();\r\n this._renderIcons($iconContainer, options)\r\n });\r\n eventsEngine.on($iconContainer, removeEvent, dispose)\r\n }\r\n $container.addClass(TREELIST_CELL_EXPANDABLE_CLASS);\r\n return this._renderIcons($iconContainer, options)\r\n },\r\n _renderIcons($iconContainer, options) {\r\n var {\r\n row: row\r\n } = options;\r\n var {\r\n level: level\r\n } = row;\r\n for (var i = 0; i <= level; i++) {\r\n $iconContainer.append(createIcon(i === level && row.node.hasChildren, row.isExpanded))\r\n }\r\n return $iconContainer\r\n },\r\n _renderCellCommandContent(container, model) {\r\n this._renderIconContainer(container, model);\r\n return true\r\n },\r\n _processTemplate(template, options) {\r\n var _a;\r\n var that = this;\r\n var resultTemplate;\r\n var renderingTemplate = this.callBase(template);\r\n var firstDataColumnIndex = that._columnsController.getFirstDataColumnIndex();\r\n if (renderingTemplate && (null === (_a = options.column) || void 0 === _a ? void 0 : _a.index) === firstDataColumnIndex) {\r\n resultTemplate = {\r\n render(options) {\r\n var $container = options.container;\r\n if (that._renderCellCommandContent($container, options.model)) {\r\n options.container = function($container) {\r\n return $(\"<div>\").addClass(TREELIST_TEXT_CONTENT).appendTo($container)\r\n }($container)\r\n }\r\n renderingTemplate.render(options)\r\n }\r\n }\r\n } else {\r\n resultTemplate = renderingTemplate\r\n }\r\n return resultTemplate\r\n },\r\n _updateCell($cell, options) {\r\n $cell = $cell.hasClass(TREELIST_TEXT_CONTENT) ? $cell.parent() : $cell;\r\n this.callBase($cell, options)\r\n },\r\n _rowClick(e) {\r\n var dataController = this._dataController;\r\n var $targetElement = $(e.event.target);\r\n var isExpandIcon = this.isExpandIcon($targetElement);\r\n var item = dataController && dataController.items()[e.rowIndex];\r\n if (isExpandIcon && item) {\r\n dataController.changeRowExpand(item.key)\r\n }\r\n this.callBase(e)\r\n },\r\n _createRow(row) {\r\n var node = row && row.node;\r\n var $rowElement = this.callBase.apply(this, arguments);\r\n if (node) {\r\n this.setAria(\"level\", row.level + 1, $rowElement);\r\n if (node.hasChildren) {\r\n this.setAria(\"expanded\", row.isExpanded, $rowElement)\r\n }\r\n }\r\n return $rowElement\r\n },\r\n isExpandIcon: $targetElement => !!$targetElement.closest(\".\".concat(TREELIST_EXPANDED_CLASS, \", .\").concat(TREELIST_COLLAPSED_CLASS)).length,\r\n setTableRole($tableElement) {\r\n this.setAria(\"role\", \"treegrid\", $tableElement)\r\n }\r\n }\r\n}());\r\ntreeListCore.registerModule(\"rows\", {\r\n defaultOptions: rowsModule.defaultOptions,\r\n views: {\r\n rowsView: RowsView\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/context_menu.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n contextMenuModule\r\n} from \"../../../grids/grid_core/context_menu/m_context_menu\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"contextMenu\", contextMenuModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/error_handling.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n errorHandlingModule\r\n} from \"../../../grids/grid_core/error_handling/m_error_handling\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"errorHandling\", errorHandlingModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/m_grid_view.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n gridViewModule\r\n} from \"../../grids/grid_core/views/m_grid_view\";\r\nimport treeListCore from \"./m_core\";\r\nvar ResizingController = gridViewModule.controllers.resizing.inherit({\r\n _getWidgetAriaLabel: () => \"dxTreeList-ariaTreeList\",\r\n _toggleBestFitMode(isBestFit) {\r\n this.callBase(isBestFit);\r\n var $rowsTable = this._rowsView.getTableElement();\r\n $rowsTable.find(\".dx-treelist-cell-expandable\").toggleClass(this.addWidgetPrefix(\"best-fit\"), isBestFit)\r\n }\r\n});\r\ntreeListCore.registerModule(\"gridView\", {\r\n defaultOptions: gridViewModule.defaultOptions,\r\n controllers: _extends(_extends({}, gridViewModule.controllers), {\r\n resizing: ResizingController\r\n }),\r\n views: gridViewModule.views\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/header_panel.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n headerPanelModule\r\n} from \"../../../grids/grid_core/header_panel/m_header_panel\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"headerPanel\", headerPanelModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/m_widget_base.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport \"./column_headers/m_column_headers\";\r\nimport \"./m_columns_controller\";\r\nimport \"./data_controller/m_data_controller\";\r\nimport \"./module_not_extended/sorting\";\r\nimport \"./rows/m_rows\";\r\nimport \"./module_not_extended/context_menu\";\r\nimport \"./module_not_extended/error_handling\";\r\nimport \"./m_grid_view\";\r\nimport \"./module_not_extended/header_panel\";\r\nimport registerComponent from \"../../../core/component_registrator\";\r\nimport {\r\n deferRender,\r\n noop\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n isDefined,\r\n isFunction\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n isMaterial\r\n} from \"../../../ui/themes\";\r\nimport Widget from \"../../../ui/widget/ui.widget\";\r\nimport treeListCore from \"./m_core\";\r\nvar {\r\n callModuleItemsMethod: callModuleItemsMethod\r\n} = treeListCore;\r\nvar DATAGRID_ROW_SELECTOR = \".dx-row\";\r\nvar TREELIST_CLASS = \"dx-treelist\";\r\ntreeListCore.registerModulesOrder([\"stateStoring\", \"columns\", \"selection\", \"editorFactory\", \"columnChooser\", \"editingRowBased\", \"editingFormBased\", \"editingCellBased\", \"editing\", \"grouping\", \"masterDetail\", \"validating\", \"adaptivity\", \"data\", \"virtualScrolling\", \"columnHeaders\", \"filterRow\", \"headerPanel\", \"headerFilter\", \"sorting\", \"search\", \"rows\", \"pager\", \"columnsResizingReordering\", \"contextMenu\", \"keyboardNavigation\", \"errorHandling\", \"summary\", \"columnFixing\", \"export\", \"gridView\"]);\r\nvar TreeList = Widget.inherit({\r\n _activeStateUnit: DATAGRID_ROW_SELECTOR,\r\n _getDefaultOptions() {\r\n var result = this.callBase();\r\n each(treeListCore.modules, (function() {\r\n if (isFunction(this.defaultOptions)) {\r\n extend(true, result, this.defaultOptions())\r\n }\r\n }));\r\n return result\r\n },\r\n _defaultOptionsRules() {\r\n return this.callBase().concat([{\r\n device: () => isMaterial(),\r\n options: {\r\n showRowLines: true,\r\n showColumnLines: false,\r\n headerFilter: {\r\n height: 315\r\n },\r\n editing: {\r\n useIcons: true\r\n }\r\n }\r\n }])\r\n },\r\n _init() {\r\n this.callBase();\r\n treeListCore.processModules(this, treeListCore);\r\n callModuleItemsMethod(this, \"init\")\r\n },\r\n _clean: noop,\r\n _optionChanged(args) {\r\n callModuleItemsMethod(this, \"optionChanged\", [args]);\r\n if (!args.handled) {\r\n this.callBase(args)\r\n }\r\n },\r\n _dimensionChanged() {\r\n this.updateDimensions(true)\r\n },\r\n _visibilityChanged(visible) {\r\n if (visible) {\r\n this.updateDimensions()\r\n }\r\n },\r\n _initMarkup() {\r\n this.callBase.apply(this, arguments);\r\n this.$element().addClass(TREELIST_CLASS);\r\n this.getView(\"gridView\").render(this.$element())\r\n },\r\n _renderContentImpl() {\r\n this.getView(\"gridView\").update()\r\n },\r\n _renderContent() {\r\n var that = this;\r\n deferRender(() => {\r\n that._renderContentImpl()\r\n })\r\n },\r\n _dispose() {\r\n this.callBase();\r\n callModuleItemsMethod(this, \"dispose\")\r\n },\r\n isReady() {\r\n return this.getController(\"data\").isReady()\r\n },\r\n beginUpdate() {\r\n this.callBase();\r\n callModuleItemsMethod(this, \"beginUpdate\")\r\n },\r\n endUpdate() {\r\n callModuleItemsMethod(this, \"endUpdate\");\r\n this.callBase()\r\n },\r\n getController(name) {\r\n return this._controllers[name]\r\n },\r\n getView(name) {\r\n return this._views[name]\r\n },\r\n focus(element) {\r\n this.callBase();\r\n if (isDefined(element)) {\r\n this.getController(\"keyboardNavigation\").focus(element)\r\n }\r\n }\r\n});\r\nTreeList.registerModule = treeListCore.registerModule.bind(treeListCore);\r\nregisterComponent(\"dxTreeList\", TreeList);\r\nexport default TreeList;\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/m_state_storing.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n stateStoringModule\r\n} from \"../../grids/grid_core/state_storing/m_state_storing\";\r\nimport treeListCore from \"./m_core\";\r\nvar origApplyState = stateStoringModule.extenders.controllers.stateStoring.applyState;\r\ntreeListCore.registerModule(\"stateStoring\", extend(true, {}, stateStoringModule, {\r\n extenders: {\r\n controllers: {\r\n stateStoring: {\r\n applyState(state) {\r\n origApplyState.apply(this, arguments);\r\n this.option(\"expandedRowKeys\", state.expandedRowKeys ? state.expandedRowKeys.slice() : [])\r\n }\r\n },\r\n data: {\r\n getUserState() {\r\n var state = this.callBase.apply(this, arguments);\r\n if (!this.option(\"autoExpandAll\")) {\r\n state.expandedRowKeys = this.option(\"expandedRowKeys\")\r\n }\r\n return state\r\n }\r\n }\r\n }\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/column_chooser.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n columnChooserModule\r\n} from \"../../../grids/grid_core/column_chooser/m_column_chooser\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"columnChooser\", columnChooserModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/m_master_detail.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n masterDetailModule\r\n} from \"../../grids/grid_core/master_detail/m_master_detail\";\r\nimport treeListCore from \"./m_core\";\r\ntreeListCore.registerModule(\"masterDetail\", extend(true, {}, masterDetailModule, {\r\n extenders: {\r\n controllers: {\r\n data: {\r\n isRowExpanded() {\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _processItems() {\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _processDataItem() {\r\n return this.callBase.apply(this, arguments)\r\n }\r\n }\r\n }\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/editor_factory.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n editorFactoryModule\r\n} from \"../../../grids/grid_core/editor_factory/m_editor_factory\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"editorFactory\", editorFactoryModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/editing/m_editing.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport \"../module_not_extended/editor_factory\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n Deferred\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\nimport {\r\n editingModule\r\n} from \"../../../grids/grid_core/editing/m_editing\";\r\nimport gridCoreUtils from \"../../../grids/grid_core/m_utils\";\r\nimport treeListCore from \"../m_core\";\r\nvar TREELIST_EXPAND_ICON_CONTAINER_CLASS = \"dx-treelist-icon-container\";\r\nvar SELECT_CHECKBOX_CLASS = \"dx-select-checkbox\";\r\nvar DATA_EDIT_DATA_INSERT_TYPE = \"insert\";\r\nvar EditingController = editingModule.controllers.editing.inherit({\r\n _generateNewItem(key) {\r\n var item = this.callBase(key);\r\n item.data = {\r\n key: key\r\n };\r\n item.children = [];\r\n item.level = 0;\r\n item.parentKey = this.option(\"rootValue\");\r\n return item\r\n },\r\n _isProcessedItem: () => true,\r\n _setInsertAfterOrBeforeKey(change, parentKey) {\r\n if (void 0 !== parentKey && parentKey !== this.option(\"rootValue\")) {\r\n change.insertAfterKey = parentKey\r\n } else {\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n _getLoadedRowIndex(items, change) {\r\n var dataController = this.getController(\"data\");\r\n var dataSourceAdapter = dataController.dataSource();\r\n var parentKey = null === dataSourceAdapter || void 0 === dataSourceAdapter ? void 0 : dataSourceAdapter.parentKeyOf(change.data);\r\n if (void 0 !== parentKey && parentKey !== this.option(\"rootValue\")) {\r\n var rowIndex = gridCoreUtils.getIndexByKey(parentKey, items);\r\n if (rowIndex >= 0 && this._dataController.isRowExpanded(parentKey)) {\r\n return rowIndex + 1\r\n }\r\n return -1\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _isEditColumnVisible() {\r\n var result = this.callBase.apply(this, arguments);\r\n var editingOptions = this.option(\"editing\");\r\n return result || editingOptions.allowAdding\r\n },\r\n _isDefaultButtonVisible(button, options) {\r\n var result = this.callBase.apply(this, arguments);\r\n var {\r\n row: row\r\n } = options;\r\n if (\"add\" === button.name) {\r\n return this.allowAdding(options) && row.rowIndex !== this._getVisibleEditRowIndex() && !(row.removed || row.isNewRow)\r\n }\r\n return result\r\n },\r\n _getEditingButtons(options) {\r\n var buttons = this.callBase.apply(this, arguments);\r\n if (!options.column.buttons) {\r\n buttons.unshift(this._getButtonConfig(\"add\", options))\r\n }\r\n return buttons\r\n },\r\n _beforeSaveEditData(change) {\r\n var dataController = this._dataController;\r\n var result = this.callBase.apply(this, arguments);\r\n if (change && change.type !== DATA_EDIT_DATA_INSERT_TYPE) {\r\n var store = null === dataController || void 0 === dataController ? void 0 : dataController.store();\r\n var key = null === store || void 0 === store ? void 0 : store.key();\r\n if (!isDefined(key)) {\r\n throw errors.Error(\"E1045\")\r\n }\r\n }\r\n return result\r\n },\r\n addRowByRowIndex(rowIndex) {\r\n var dataController = this.getController(\"data\");\r\n var row = dataController.getVisibleRows()[rowIndex];\r\n return this.addRow(row ? row.key : void 0)\r\n },\r\n addRow(key) {\r\n if (void 0 === key) {\r\n key = this.option(\"rootValue\")\r\n }\r\n return this.callBase.call(this, key)\r\n },\r\n _addRowCore(data, parentKey, oldEditRowIndex) {\r\n var {\r\n callBase: callBase\r\n } = this;\r\n var rootValue = this.option(\"rootValue\");\r\n var dataController = this.getController(\"data\");\r\n var dataSourceAdapter = dataController.dataSource();\r\n var parentKeyGetter = dataSourceAdapter.createParentIdGetter();\r\n parentKey = parentKeyGetter(data);\r\n if (void 0 !== parentKey && parentKey !== rootValue && !dataController.isRowExpanded(parentKey)) {\r\n var deferred = new Deferred;\r\n dataController.expandRow(parentKey).done(() => {\r\n setTimeout(() => {\r\n callBase.call(this, data, parentKey, oldEditRowIndex).done(deferred.resolve).fail(deferred.reject)\r\n })\r\n }).fail(deferred.reject);\r\n return deferred.promise()\r\n }\r\n return callBase.call(this, data, parentKey, oldEditRowIndex)\r\n },\r\n _initNewRow(options, parentKey) {\r\n var dataController = this.getController(\"data\");\r\n var dataSourceAdapter = dataController.dataSource();\r\n var parentIdSetter = dataSourceAdapter.createParentIdSetter();\r\n parentIdSetter(options.data, parentKey);\r\n return this.callBase.apply(this, arguments)\r\n },\r\n allowAdding(options) {\r\n return this._allowEditAction(\"allowAdding\", options)\r\n },\r\n _needToCloseEditableCell($targetElement) {\r\n return this.callBase.apply(this, arguments) || $targetElement.closest(\".\".concat(TREELIST_EXPAND_ICON_CONTAINER_CLASS)).length && this.isEditing()\r\n },\r\n getButtonLocalizationNames() {\r\n var names = this.callBase.apply(this);\r\n names.add = \"dxTreeList-editingAddRowToNode\";\r\n return names\r\n }\r\n});\r\nvar originalRowClick = editingModule.extenders.views.rowsView._rowClick;\r\nvar originalRowDblClick = editingModule.extenders.views.rowsView._rowDblClick;\r\nvar validateClick = function(e) {\r\n var $targetElement = $(e.event.target);\r\n var originalClickHandler = \"dxdblclick\" === e.event.type ? originalRowDblClick : originalRowClick;\r\n if ($targetElement.closest(\".\".concat(SELECT_CHECKBOX_CLASS)).length) {\r\n return false\r\n }\r\n return !needToCallOriginalClickHandler.call(this, e, originalClickHandler)\r\n};\r\n\r\nfunction needToCallOriginalClickHandler(e, originalClickHandler) {\r\n var $targetElement = $(e.event.target);\r\n if (!$targetElement.closest(\".\".concat(TREELIST_EXPAND_ICON_CONTAINER_CLASS)).length) {\r\n originalClickHandler.call(this, e);\r\n return true\r\n }\r\n return false\r\n}\r\nvar RowsViewExtender = extend({}, editingModule.extenders.views.rowsView, {\r\n _renderCellCommandContent($container, options) {\r\n var editingController = this._editingController;\r\n var isEditRow = options.row && editingController.isEditRow(options.row.rowIndex);\r\n var isEditing = options.isEditing || isEditRow;\r\n if (!isEditing) {\r\n return this.callBase.apply(this, arguments)\r\n }\r\n return false\r\n },\r\n _rowClick(e) {\r\n if (validateClick.call(this, e)) {\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n _rowDblClick(e) {\r\n if (validateClick.call(this, e)) {\r\n this.callBase.apply(this, arguments)\r\n }\r\n }\r\n});\r\ntreeListCore.registerModule(\"editing\", {\r\n defaultOptions: () => extend(true, editingModule.defaultOptions(), {\r\n editing: {\r\n texts: {\r\n addRowToNode: messageLocalization.format(\"dxTreeList-editingAddRowToNode\")\r\n }\r\n }\r\n }),\r\n controllers: {\r\n editing: EditingController\r\n },\r\n extenders: {\r\n controllers: extend(true, {}, editingModule.extenders.controllers, {\r\n data: {\r\n changeRowExpand() {\r\n this._editingController.refresh();\r\n return this.callBase.apply(this, arguments)\r\n }\r\n }\r\n }),\r\n views: {\r\n rowsView: RowsViewExtender,\r\n headerPanel: editingModule.extenders.views.headerPanel\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/editing_row_based.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n editingRowBasedModule\r\n} from \"../../../grids/grid_core/editing/m_editing_row_based\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"editingRowBased\", editingRowBasedModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/editing_form_based.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n editingFormBasedModule\r\n} from \"../../../grids/grid_core/editing/m_editing_form_based\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"editingFormBased\", editingFormBasedModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/editing_cell_based.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n editingCellBasedModule\r\n} from \"../../../grids/grid_core/editing/m_editing_cell_based\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"editingCellBased\", editingCellBasedModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/m_validating.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n validatingModule\r\n} from \"../../grids/grid_core/validating/m_validating\";\r\nimport treeListCore from \"./m_core\";\r\nvar EditingControllerExtender = extend({}, validatingModule.extenders.controllers.editing);\r\ndelete EditingControllerExtender.processItems;\r\ndelete EditingControllerExtender.processDataItem;\r\ntreeListCore.registerModule(\"validating\", {\r\n defaultOptions: validatingModule.defaultOptions,\r\n controllers: validatingModule.controllers,\r\n extenders: {\r\n controllers: {\r\n editing: EditingControllerExtender,\r\n editorFactory: validatingModule.extenders.controllers.editorFactory\r\n },\r\n views: validatingModule.extenders.views\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/m_virtual_scrolling.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n virtualScrollingModule\r\n} from \"../../grids/grid_core/virtual_scrolling/m_virtual_scrolling\";\r\nimport dataSourceAdapter from \"./data_source_adapter/m_data_source_adapter\";\r\nimport gridCore from \"./m_core\";\r\nvar oldDefaultOptions = virtualScrollingModule.defaultOptions;\r\nvar originalDataControllerExtender = virtualScrollingModule.extenders.controllers.data;\r\nvar originalDataSourceAdapterExtender = virtualScrollingModule.extenders.dataSourceAdapter;\r\nvirtualScrollingModule.extenders.controllers.data = extend({}, originalDataControllerExtender, {\r\n _loadOnOptionChange() {\r\n var virtualScrollController = this._dataSource && this._dataSource._virtualScrollController;\r\n virtualScrollController && virtualScrollController.reset();\r\n this.callBase()\r\n }\r\n});\r\nvirtualScrollingModule.extenders.dataSourceAdapter = extend({}, originalDataSourceAdapterExtender, {\r\n changeRowExpand() {\r\n return this.callBase.apply(this, arguments).done(() => {\r\n var viewportItemIndex = this.getViewportItemIndex();\r\n viewportItemIndex >= 0 && this.setViewportItemIndex(viewportItemIndex)\r\n })\r\n }\r\n});\r\ngridCore.registerModule(\"virtualScrolling\", extend({}, virtualScrollingModule, {\r\n defaultOptions: () => extend(true, oldDefaultOptions(), {\r\n scrolling: {\r\n mode: \"virtual\"\r\n }\r\n })\r\n}));\r\ndataSourceAdapter.extend(virtualScrollingModule.extenders.dataSourceAdapter);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/filter_row.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n filterRowModule\r\n} from \"../../../grids/grid_core/filter/m_filter_row\";\r\nimport core from \"../m_core\";\r\ncore.registerModule(\"filterRow\", filterRowModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/header_filter.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n headerFilterModule\r\n} from \"../../../grids/grid_core/header_filter/m_header_filter\";\r\nimport core from \"../m_core\";\r\ncore.registerModule(\"headerFilter\", headerFilterModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/filter_sync.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n filterSyncModule\r\n} from \"../../../grids/grid_core/filter/m_filter_sync\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"filterSync\", filterSyncModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/filter_builder.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n filterBuilderModule\r\n} from \"../../../grids/grid_core/filter/m_filter_builder\";\r\nimport core from \"../m_core\";\r\ncore.registerModule(\"filterBuilder\", filterBuilderModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/filter_panel.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n filterPanelModule\r\n} from \"../../../grids/grid_core/filter/m_filter_panel\";\r\nimport core from \"../m_core\";\r\ncore.registerModule(\"filterPanel\", filterPanelModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/pager.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n pagerModule\r\n} from \"../../../grids/grid_core/pager/m_pager\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"pager\", pagerModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/columns_resizing_reordering.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n columnsResizingReorderingModule\r\n} from \"../../../grids/grid_core/columns_resizing_reordering/m_columns_resizing_reordering\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"columnsResizingReordering\", columnsResizingReorderingModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/column_fixing.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n columnFixingModule\r\n} from \"../../../grids/grid_core/column_fixing/m_column_fixing\";\r\nimport core from \"../m_core\";\r\ncore.registerModule(\"columnFixing\", columnFixingModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/adaptivity.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n adaptivityModule\r\n} from \"../../../grids/grid_core/adaptivity/m_adaptivity\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"adaptivity\", adaptivityModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/selection/m_selection.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n equalByValue,\r\n noop\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n selectionModule\r\n} from \"../../../grids/grid_core/selection/m_selection\";\r\nimport treeListCore from \"../m_core\";\r\nvar TREELIST_SELECT_ALL_CLASS = \"dx-treelist-select-all\";\r\nvar CELL_FOCUS_DISABLED_CLASS = \"dx-cell-focus-disabled\";\r\nvar SELECT_CHECKBOX_CLASS = \"dx-select-checkbox\";\r\nvar originalRowClick = selectionModule.extenders.views.rowsView._rowClick;\r\nvar originalHandleDataChanged = selectionModule.extenders.controllers.data._handleDataChanged;\r\nvar nodeExists = function(array, currentKey) {\r\n return !!array.filter(key => key === currentKey).length\r\n};\r\ntreeListCore.registerModule(\"selection\", extend(true, {}, selectionModule, {\r\n defaultOptions: () => extend(true, selectionModule.defaultOptions(), {\r\n selection: {\r\n showCheckBoxesMode: \"always\",\r\n recursive: false\r\n }\r\n }),\r\n extenders: {\r\n controllers: {\r\n data: {\r\n _handleDataChanged(e) {\r\n var selectionController = this.getController(\"selection\");\r\n var isRecursiveSelection = selectionController.isRecursiveSelection();\r\n if (isRecursiveSelection && (!e || \"updateSelectionState\" !== e.changeType)) {\r\n selectionController.updateSelectionState({\r\n selectedItemKeys: this.option(\"selectedRowKeys\")\r\n })\r\n }\r\n originalHandleDataChanged.apply(this, arguments)\r\n },\r\n loadDescendants() {\r\n var that = this;\r\n var d = that.callBase.apply(that, arguments);\r\n var selectionController = that.getController(\"selection\");\r\n var isRecursiveSelection = selectionController.isRecursiveSelection();\r\n if (isRecursiveSelection) {\r\n d.done(() => {\r\n selectionController.updateSelectionState({\r\n selectedItemKeys: that.option(\"selectedRowKeys\")\r\n })\r\n })\r\n }\r\n return d\r\n }\r\n },\r\n selection: {\r\n init() {\r\n this.callBase.apply(this, arguments);\r\n this._selectionStateByKey = {}\r\n },\r\n _getSelectionConfig() {\r\n var config = this.callBase.apply(this, arguments);\r\n var {\r\n plainItems: plainItems\r\n } = config;\r\n config.plainItems = cached => {\r\n var result;\r\n if (cached) {\r\n result = this._dataController.getCachedStoreData()\r\n }\r\n result || (result = plainItems.apply(this, arguments).map(item => item.data));\r\n return result || []\r\n };\r\n config.isItemSelected = item => {\r\n var key = this._dataController.keyOf(item);\r\n return this.isRowSelected(key)\r\n };\r\n config.isSelectableItem = item => !!item;\r\n config.getItemData = item => item;\r\n config.allowLoadByRange = () => false;\r\n return config\r\n },\r\n renderSelectCheckBoxContainer($container, model) {\r\n var rowsView = this.component.getView(\"rowsView\");\r\n $container.addClass(CELL_FOCUS_DISABLED_CLASS);\r\n var $checkbox = rowsView._renderSelectCheckBox($container, {\r\n value: model.row.isSelected,\r\n row: model.row,\r\n column: model.column\r\n });\r\n rowsView._attachCheckBoxClickEvent($checkbox)\r\n },\r\n _updateSelectColumn: noop,\r\n _getSelectAllNodeKeys() {\r\n var {\r\n component: component\r\n } = this;\r\n var root = component.getRootNode();\r\n var cache = {};\r\n var keys = [];\r\n var isRecursiveSelection = this.isRecursiveSelection();\r\n root && treeListCore.foreachNodes(root.children, node => {\r\n if (void 0 !== node.key && (node.visible || isRecursiveSelection)) {\r\n keys.push(node.key)\r\n }\r\n if (!node.visible) {\r\n return true\r\n }\r\n return isRecursiveSelection ? false : component.isRowExpanded(node.key, cache)\r\n });\r\n return keys\r\n },\r\n isSelectAll() {\r\n var selectedRowKeys = this.option(\"selectedRowKeys\") || [];\r\n if (0 === selectedRowKeys.length) {\r\n return false\r\n }\r\n var {\r\n component: component\r\n } = this;\r\n var visibleKeys = this._getSelectAllNodeKeys();\r\n var isRecursiveSelection = this.isRecursiveSelection();\r\n var hasIndeterminateState = false;\r\n var selectedVisibleKeys = visibleKeys.filter(key => {\r\n var isRowSelected = component.isRowSelected(key, isRecursiveSelection);\r\n if (void 0 === isRowSelected) {\r\n hasIndeterminateState = true\r\n }\r\n return isRowSelected\r\n });\r\n if (!selectedVisibleKeys.length) {\r\n return hasIndeterminateState ? void 0 : false\r\n }\r\n if (selectedVisibleKeys.length === visibleKeys.length) {\r\n return true\r\n }\r\n return\r\n },\r\n selectAll() {\r\n var visibleKeys = this._getSelectAllNodeKeys().filter(key => !this.isRowSelected(key));\r\n this.focusedItemIndex(-1);\r\n return this.selectRows(visibleKeys, true)\r\n },\r\n deselectAll() {\r\n var visibleKeys = this._getSelectAllNodeKeys();\r\n this.focusedItemIndex(-1);\r\n return this.deselectRows(visibleKeys)\r\n },\r\n selectedItemKeys(value, preserve, isDeselect, isSelectAll) {\r\n var that = this;\r\n var selectedRowKeys = that.option(\"selectedRowKeys\");\r\n var isRecursiveSelection = this.isRecursiveSelection();\r\n var normalizedArgs = isRecursiveSelection && that._normalizeSelectionArgs({\r\n keys: isDefined(value) ? value : []\r\n }, preserve, !isDeselect);\r\n if (normalizedArgs && !equalByValue(normalizedArgs.selectedRowKeys, selectedRowKeys)) {\r\n that._isSelectionNormalizing = true;\r\n return this.callBase(normalizedArgs.selectedRowKeys, false, false, false).always(() => {\r\n that._isSelectionNormalizing = false\r\n }).done(items => {\r\n normalizedArgs.selectedRowsData = items;\r\n that._fireSelectionChanged(normalizedArgs)\r\n })\r\n }\r\n return this.callBase(value, preserve, isDeselect, isSelectAll)\r\n },\r\n changeItemSelection(itemIndex, keyboardKeys) {\r\n var isRecursiveSelection = this.isRecursiveSelection();\r\n var callBase = this.callBase.bind(this);\r\n if (isRecursiveSelection && !keyboardKeys.shift) {\r\n var key = this._dataController.getKeyByRowIndex(itemIndex);\r\n return this.selectedItemKeys(key, true, this.isRowSelected(key)).done(() => {\r\n this.isRowSelected(key) && callBase(itemIndex, keyboardKeys, true)\r\n })\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _updateParentSelectionState(node, isSelected) {\r\n var that = this;\r\n var state = isSelected;\r\n var parentNode = node.parent;\r\n if (parentNode) {\r\n if (parentNode.children.length > 1) {\r\n if (false === isSelected) {\r\n var hasSelectedState = parentNode.children.some(childNode => that._selectionStateByKey[childNode.key]);\r\n state = hasSelectedState ? void 0 : false\r\n } else if (true === isSelected) {\r\n var hasNonSelectedState = parentNode.children.some(childNode => !that._selectionStateByKey[childNode.key]);\r\n state = hasNonSelectedState ? void 0 : true\r\n }\r\n }\r\n this._selectionStateByKey[parentNode.key] = state;\r\n if (parentNode.parent && parentNode.parent.level >= 0) {\r\n this._updateParentSelectionState(parentNode, state)\r\n }\r\n }\r\n },\r\n _updateChildrenSelectionState(node, isSelected) {\r\n var that = this;\r\n var {\r\n children: children\r\n } = node;\r\n children && children.forEach(childNode => {\r\n that._selectionStateByKey[childNode.key] = isSelected;\r\n if (childNode.children.length > 0) {\r\n that._updateChildrenSelectionState(childNode, isSelected)\r\n }\r\n })\r\n },\r\n _updateSelectionStateCore(keys, isSelected) {\r\n var dataController = this._dataController;\r\n for (var i = 0; i < keys.length; i++) {\r\n this._selectionStateByKey[keys[i]] = isSelected;\r\n var node = dataController.getNodeByKey(keys[i]);\r\n if (node) {\r\n this._updateParentSelectionState(node, isSelected);\r\n this._updateChildrenSelectionState(node, isSelected)\r\n }\r\n }\r\n },\r\n _getSelectedParentKeys(key, selectedItemKeys, useCash) {\r\n var selectedParentNode;\r\n var node = this._dataController.getNodeByKey(key);\r\n var parentNode = node && node.parent;\r\n var result = [];\r\n while (parentNode && parentNode.level >= 0) {\r\n result.unshift(parentNode.key);\r\n var isSelected = useCash ? !nodeExists(selectedItemKeys, parentNode.key) && this.isRowSelected(parentNode.key) : selectedItemKeys.indexOf(parentNode.key) >= 0;\r\n if (isSelected) {\r\n selectedParentNode = parentNode;\r\n result = this._getSelectedParentKeys(selectedParentNode.key, selectedItemKeys, useCash).concat(result);\r\n break\r\n } else if (useCash) {\r\n break\r\n }\r\n parentNode = parentNode.parent\r\n }\r\n return selectedParentNode && result || []\r\n },\r\n _getSelectedChildKeys(key, keysToIgnore) {\r\n var childKeys = [];\r\n var node = this._dataController.getNodeByKey(key);\r\n node && treeListCore.foreachNodes(node.children, childNode => {\r\n var ignoreKeyIndex = keysToIgnore.indexOf(childNode.key);\r\n if (ignoreKeyIndex < 0) {\r\n childKeys.push(childNode.key)\r\n }\r\n return ignoreKeyIndex > 0 || ignoreKeyIndex < 0 && void 0 === this._selectionStateByKey[childNode.key]\r\n });\r\n return childKeys\r\n },\r\n _normalizeParentKeys(key, args) {\r\n var keysToIgnore = [key];\r\n var parentNodeKeys = this._getSelectedParentKeys(key, args.selectedRowKeys);\r\n if (parentNodeKeys.length) {\r\n keysToIgnore = keysToIgnore.concat(parentNodeKeys);\r\n keysToIgnore.forEach(key => {\r\n var index = args.selectedRowKeys.indexOf(key);\r\n if (index >= 0) {\r\n args.selectedRowKeys.splice(index, 1)\r\n }\r\n });\r\n var childKeys = this._getSelectedChildKeys(parentNodeKeys[0], keysToIgnore);\r\n args.selectedRowKeys = args.selectedRowKeys.concat(childKeys)\r\n }\r\n },\r\n _normalizeChildrenKeys(key, args) {\r\n var node = this._dataController.getNodeByKey(key);\r\n node && node.children.forEach(childNode => {\r\n var index = args.selectedRowKeys.indexOf(childNode.key);\r\n if (index >= 0) {\r\n args.selectedRowKeys.splice(index, 1)\r\n }\r\n this._normalizeChildrenKeys(childNode.key, args)\r\n })\r\n },\r\n _normalizeSelectedRowKeysCore(keys, args, preserve, isSelect) {\r\n var that = this;\r\n keys.forEach(key => {\r\n if (preserve && that.isRowSelected(key) === isSelect) {\r\n return\r\n }\r\n that._normalizeChildrenKeys(key, args);\r\n var index = args.selectedRowKeys.indexOf(key);\r\n if (isSelect) {\r\n if (index < 0) {\r\n args.selectedRowKeys.push(key)\r\n }\r\n args.currentSelectedRowKeys.push(key)\r\n } else {\r\n if (index >= 0) {\r\n args.selectedRowKeys.splice(index, 1)\r\n }\r\n args.currentDeselectedRowKeys.push(key);\r\n that._normalizeParentKeys(key, args)\r\n }\r\n })\r\n },\r\n _normalizeSelectionArgs(args, preserve, isSelect) {\r\n var result;\r\n var keys = Array.isArray(args.keys) ? args.keys : [args.keys];\r\n var selectedRowKeys = this.option(\"selectedRowKeys\") || [];\r\n if (keys.length) {\r\n result = {\r\n currentSelectedRowKeys: [],\r\n currentDeselectedRowKeys: [],\r\n selectedRowKeys: preserve ? selectedRowKeys.slice(0) : []\r\n };\r\n this._normalizeSelectedRowKeysCore(keys, result, preserve, isSelect)\r\n }\r\n return result\r\n },\r\n _updateSelectedItems(args) {\r\n this.updateSelectionState(args);\r\n this.callBase(args)\r\n },\r\n _fireSelectionChanged() {\r\n if (!this._isSelectionNormalizing) {\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n _isModeLeavesOnly: mode => \"leavesOnly\" === mode,\r\n _removeDuplicatedKeys(keys) {\r\n var result = [];\r\n var processedKeys = {};\r\n keys.forEach(key => {\r\n if (!processedKeys[key]) {\r\n processedKeys[key] = true;\r\n result.push(key)\r\n }\r\n });\r\n return result\r\n },\r\n _getAllChildKeys(key) {\r\n var childKeys = [];\r\n var node = this._dataController.getNodeByKey(key);\r\n node && treeListCore.foreachNodes(node.children, childNode => {\r\n childKeys.push(childNode.key)\r\n }, true);\r\n return childKeys\r\n },\r\n _getAllSelectedRowKeys(keys) {\r\n var result = [];\r\n keys.forEach(key => {\r\n var parentKeys = this._getSelectedParentKeys(key, [], true);\r\n var childKeys = this._getAllChildKeys(key);\r\n result.push.apply(result, parentKeys.concat([key], childKeys))\r\n });\r\n result = this._removeDuplicatedKeys(result);\r\n return result\r\n },\r\n _getParentSelectedRowKeys(keys) {\r\n var that = this;\r\n var result = [];\r\n keys.forEach(key => {\r\n var parentKeys = that._getSelectedParentKeys(key, keys);\r\n !parentKeys.length && result.push(key)\r\n });\r\n return result\r\n },\r\n _getLeafSelectedRowKeys(keys) {\r\n var result = [];\r\n var dataController = this._dataController;\r\n keys.forEach(key => {\r\n var node = dataController.getNodeByKey(key);\r\n node && !node.hasChildren && result.push(key)\r\n });\r\n return result\r\n },\r\n isRecursiveSelection() {\r\n var selectionMode = this.option(\"selection.mode\");\r\n var isRecursive = this.option(\"selection.recursive\");\r\n return \"multiple\" === selectionMode && isRecursive\r\n },\r\n updateSelectionState(options) {\r\n var removedItemKeys = options.removedItemKeys || [];\r\n var selectedItemKeys = options.selectedItemKeys || [];\r\n if (this.isRecursiveSelection()) {\r\n this._updateSelectionStateCore(removedItemKeys, false);\r\n this._updateSelectionStateCore(selectedItemKeys, true)\r\n }\r\n },\r\n isRowSelected(key, isRecursiveSelection) {\r\n var result = this.callBase.apply(this, arguments);\r\n isRecursiveSelection = null !== isRecursiveSelection && void 0 !== isRecursiveSelection ? isRecursiveSelection : this.isRecursiveSelection();\r\n if (!result && isRecursiveSelection) {\r\n if (key in this._selectionStateByKey) {\r\n return this._selectionStateByKey[key]\r\n }\r\n return false\r\n }\r\n return result\r\n },\r\n getSelectedRowKeys(mode) {\r\n if (!this._dataController) {\r\n return []\r\n }\r\n var selectedRowKeys = this.callBase.apply(this, arguments);\r\n if (mode) {\r\n if (this.isRecursiveSelection()) {\r\n selectedRowKeys = this._getAllSelectedRowKeys(selectedRowKeys)\r\n }\r\n if (\"all\" !== mode) {\r\n if (\"excludeRecursive\" === mode) {\r\n selectedRowKeys = this._getParentSelectedRowKeys(selectedRowKeys)\r\n } else if (this._isModeLeavesOnly(mode)) {\r\n selectedRowKeys = this._getLeafSelectedRowKeys(selectedRowKeys)\r\n }\r\n }\r\n }\r\n return selectedRowKeys\r\n },\r\n getSelectedRowsData(mode) {\r\n var dataController = this._dataController;\r\n var selectedKeys = this.getSelectedRowKeys(mode) || [];\r\n var selectedRowsData = [];\r\n selectedKeys.forEach(key => {\r\n var node = dataController.getNodeByKey(key);\r\n node && selectedRowsData.push(node.data)\r\n });\r\n return selectedRowsData\r\n },\r\n refresh() {\r\n this._selectionStateByKey = {};\r\n return this.callBase.apply(this, arguments)\r\n }\r\n }\r\n },\r\n views: {\r\n columnHeadersView: {\r\n _processTemplate(template, options) {\r\n var that = this;\r\n var resultTemplate;\r\n var renderingTemplate = this.callBase(template, options);\r\n var firstDataColumnIndex = that._columnsController.getFirstDataColumnIndex();\r\n if (renderingTemplate && \"header\" === options.rowType && options.column.index === firstDataColumnIndex) {\r\n resultTemplate = {\r\n render(options) {\r\n if (\"multiple\" === that.option(\"selection.mode\")) {\r\n that.renderSelectAll(options.container, options.model)\r\n }\r\n renderingTemplate.render(options)\r\n }\r\n }\r\n } else {\r\n resultTemplate = renderingTemplate\r\n }\r\n return resultTemplate\r\n },\r\n renderSelectAll($cell, options) {\r\n $cell.addClass(TREELIST_SELECT_ALL_CLASS);\r\n this._renderSelectAllCheckBox($cell)\r\n },\r\n _isSortableElement($target) {\r\n return this.callBase($target) && !$target.closest(\".\".concat(SELECT_CHECKBOX_CLASS)).length\r\n }\r\n },\r\n rowsView: {\r\n _renderIcons($iconContainer, options) {\r\n this.callBase.apply(this, arguments);\r\n if (!options.row.isNewRow && \"multiple\" === this.option(\"selection.mode\")) {\r\n this.getController(\"selection\").renderSelectCheckBoxContainer($iconContainer, options)\r\n }\r\n return $iconContainer\r\n },\r\n _rowClick(e) {\r\n var $targetElement = $(e.event.target);\r\n if (this.isExpandIcon($targetElement)) {\r\n this.callBase.apply(this, arguments)\r\n } else {\r\n originalRowClick.apply(this, arguments)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/search.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n searchModule\r\n} from \"../../../grids/grid_core/search/m_search\";\r\nimport core from \"../m_core\";\r\ncore.registerModule(\"search\", searchModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/m_keyboard_navigation.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n keyboardNavigationModule\r\n} from \"../../grids/grid_core/keyboard_navigation/m_keyboard_navigation\";\r\nimport core from \"./m_core\";\r\ncore.registerModule(\"keyboardNavigation\", extend(true, {}, keyboardNavigationModule, {\r\n extenders: {\r\n controllers: {\r\n keyboardNavigation: {\r\n _leftRightKeysHandler(eventArgs, isEditing) {\r\n var rowIndex = this.getVisibleRowIndex();\r\n var dataController = this._dataController;\r\n if (eventArgs.ctrl) {\r\n var directionCode = this._getDirectionCodeByKey(eventArgs.keyName);\r\n var key = dataController.getKeyByRowIndex(rowIndex);\r\n if (\"nextInRow\" === directionCode) {\r\n dataController.expandRow(key)\r\n } else {\r\n dataController.collapseRow(key)\r\n }\r\n } else {\r\n return this.callBase.apply(this, arguments)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/virtual_columns.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n virtualColumnsModule\r\n} from \"../../../grids/grid_core/virtual_columns/m_virtual_columns\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"virtualColumns\", virtualColumnsModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/m_focus.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n Deferred\r\n} from \"../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n focusModule\r\n} from \"../../grids/grid_core/focus/m_focus\";\r\nimport core from \"./m_core\";\r\n\r\nfunction findIndex(items, callback) {\r\n var result = -1;\r\n items.forEach((node, index) => {\r\n if (callback(node)) {\r\n result = index\r\n }\r\n });\r\n return result\r\n}\r\ncore.registerModule(\"focus\", extend(true, {}, focusModule, {\r\n extenders: {\r\n controllers: {\r\n data: {\r\n changeRowExpand(key) {\r\n if (this.option(\"focusedRowEnabled\") && this.isRowExpanded(key)) {\r\n if (this._isFocusedRowInside(key)) {\r\n this.option(\"focusedRowKey\", key)\r\n }\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _isFocusedRowInside(parentKey) {\r\n var focusedRowKey = this.option(\"focusedRowKey\");\r\n var rowIndex = this.getRowIndexByKey(focusedRowKey);\r\n var focusedRow = rowIndex >= 0 && this.getVisibleRows()[rowIndex];\r\n var parent = focusedRow && focusedRow.node.parent;\r\n while (parent) {\r\n if (parent.key === parentKey) {\r\n return true\r\n }\r\n parent = parent.parent\r\n }\r\n return false\r\n },\r\n getParentKey(key) {\r\n var dataSource = this._dataSource;\r\n var node = this.getNodeByKey(key);\r\n var d = new Deferred;\r\n if (node) {\r\n d.resolve(node.parent ? node.parent.key : void 0)\r\n } else {\r\n dataSource.load({\r\n filter: [dataSource.getKeyExpr(), \"=\", key]\r\n }).done(items => {\r\n var parentData = items[0];\r\n if (parentData) {\r\n d.resolve(dataSource.parentKeyOf(parentData))\r\n } else {\r\n d.resolve()\r\n }\r\n }).fail(d.reject)\r\n }\r\n return d.promise()\r\n },\r\n expandAscendants(key) {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var d = new Deferred;\r\n that.getParentKey(key).done(parentKey => {\r\n if (dataSource && void 0 !== parentKey && parentKey !== that.option(\"rootValue\")) {\r\n dataSource._isNodesInitializing = true;\r\n that.expandRow(parentKey);\r\n dataSource._isNodesInitializing = false;\r\n that.expandAscendants(parentKey).done(d.resolve).fail(d.reject)\r\n } else {\r\n d.resolve()\r\n }\r\n }).fail(d.reject);\r\n return d.promise()\r\n },\r\n getPageIndexByKey(key) {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var d = new Deferred;\r\n that.expandAscendants(key).done(() => {\r\n dataSource.load({\r\n parentIds: []\r\n }).done(nodes => {\r\n var offset = findIndex(nodes, node => that.keyOf(node.data) === key);\r\n var pageIndex = -1;\r\n if (offset >= 0) {\r\n pageIndex = Math.floor(offset / that.pageSize())\r\n }\r\n d.resolve(pageIndex)\r\n }).fail(d.reject)\r\n }).fail(d.reject);\r\n return d.promise()\r\n }\r\n }\r\n }\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/row_dragging.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n rowDraggingModule\r\n} from \"../../../grids/grid_core/row_dragging/m_row_dragging\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"rowDragging\", rowDraggingModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/m_widget.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport TreeList from \"./m_widget_base\";\r\nimport \"./m_state_storing\";\r\nimport \"./module_not_extended/column_chooser\";\r\nimport \"./m_master_detail\";\r\nimport \"./editing/m_editing\";\r\nimport \"./module_not_extended/editing_row_based\";\r\nimport \"./module_not_extended/editing_form_based\";\r\nimport \"./module_not_extended/editing_cell_based\";\r\nimport \"./m_validating\";\r\nimport \"./m_virtual_scrolling\";\r\nimport \"./module_not_extended/filter_row\";\r\nimport \"./module_not_extended/header_filter\";\r\nimport \"./module_not_extended/filter_sync\";\r\nimport \"./module_not_extended/filter_builder\";\r\nimport \"./module_not_extended/filter_panel\";\r\nimport \"./module_not_extended/pager\";\r\nimport \"./module_not_extended/columns_resizing_reordering\";\r\nimport \"./module_not_extended/column_fixing\";\r\nimport \"./module_not_extended/adaptivity\";\r\nimport \"./selection/m_selection\";\r\nimport \"./module_not_extended/search\";\r\nimport \"./m_keyboard_navigation\";\r\nimport \"./module_not_extended/virtual_columns\";\r\nimport \"./m_focus\";\r\nimport \"./module_not_extended/row_dragging\";\r\nexport default TreeList;\r\n","/**\r\n * DevExtreme (esm/ui/tree_list.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport TreeList from \"../__internal/grids/tree_list/m_widget\";\r\nimport \"./tree_list/ui.tree_list.base\";\r\nexport default TreeList;\r\n","/**\r\n * DevExtreme (esm/ui/tree_view.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport TreeView from \"./tree_view/ui.tree_view.search\";\r\nexport default TreeView;\r\n","/**\r\n * DevExtreme (esm/ui/tree_view/ui.tree_view.base.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport {\r\n asyncNoop,\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n isDefined,\r\n isPrimitive,\r\n isFunction,\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport CheckBox from \"../check_box\";\r\nimport HierarchicalCollectionWidget from \"../hierarchical_collection/ui.hierarchical_collection_widget\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport {\r\n name as dblclickEvent\r\n} from \"../../events/double_click\";\r\nimport fx from \"../../animation/fx\";\r\nimport Scrollable from \"../scroll_view/ui.scrollable\";\r\nimport LoadIndicator from \"../load_indicator\";\r\nimport {\r\n fromPromise,\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n nativeScrolling\r\n} from \"../../core/utils/support\";\r\nimport {\r\n getRelativeOffset\r\n} from \"../../renovation/ui/scroll_view/utils/get_relative_offset\";\r\nimport {\r\n SCROLLABLE_CONTENT_CLASS,\r\n DIRECTION_HORIZONTAL,\r\n DIRECTION_VERTICAL\r\n} from \"../../renovation/ui/scroll_view/common/consts\";\r\nvar WIDGET_CLASS = \"dx-treeview\";\r\nvar NODE_CLASS = \"\".concat(WIDGET_CLASS, \"-node\");\r\nvar NODE_CONTAINER_CLASS = \"\".concat(NODE_CLASS, \"-container\");\r\nvar NODE_LOAD_INDICATOR_CLASS = \"\".concat(NODE_CLASS, \"-loadindicator\");\r\nvar OPENED_NODE_CONTAINER_CLASS = \"\".concat(NODE_CLASS, \"-container-opened\");\r\nvar IS_LEAF = \"\".concat(NODE_CLASS, \"-is-leaf\");\r\nvar ITEM_CLASS = \"\".concat(WIDGET_CLASS, \"-item\");\r\nvar ITEM_WITH_CHECKBOX_CLASS = \"\".concat(ITEM_CLASS, \"-with-checkbox\");\r\nvar ITEM_WITHOUT_CHECKBOX_CLASS = \"\".concat(ITEM_CLASS, \"-without-checkbox\");\r\nvar ITEM_DATA_KEY = \"\".concat(ITEM_CLASS, \"-data\");\r\nvar TOGGLE_ITEM_VISIBILITY_CLASS = \"\".concat(WIDGET_CLASS, \"-toggle-item-visibility\");\r\nvar LOAD_INDICATOR_CLASS = \"\".concat(WIDGET_CLASS, \"-loadindicator\");\r\nvar LOAD_INDICATOR_WRAPPER_CLASS = \"\".concat(WIDGET_CLASS, \"-loadindicator-wrapper\");\r\nvar TOGGLE_ITEM_VISIBILITY_OPENED_CLASS = \"\".concat(WIDGET_CLASS, \"-toggle-item-visibility-opened\");\r\nvar SELECT_ALL_ITEM_CLASS = \"\".concat(WIDGET_CLASS, \"-select-all-item\");\r\nvar INVISIBLE_STATE_CLASS = \"dx-state-invisible\";\r\nvar DISABLED_STATE_CLASS = \"dx-state-disabled\";\r\nvar SELECTED_ITEM_CLASS = \"dx-state-selected\";\r\nvar EXPAND_EVENT_NAMESPACE = \"dxTreeView_expand\";\r\nvar DATA_ITEM_ID = \"data-item-id\";\r\nvar TreeViewBase = HierarchicalCollectionWidget.inherit({\r\n _supportedKeys: function(e) {\r\n var click = e => {\r\n var $itemElement = $(this.option(\"focusedElement\"));\r\n if (!$itemElement.length) {\r\n return\r\n }\r\n e.target = $itemElement;\r\n e.currentTarget = $itemElement;\r\n this._itemClickHandler(e, $itemElement.children(\".\" + ITEM_CLASS));\r\n var expandEventName = this._getEventNameByOption(this.option(\"expandEvent\"));\r\n var expandByClick = expandEventName === addNamespace(clickEventName, EXPAND_EVENT_NAMESPACE);\r\n if (expandByClick) {\r\n this._expandEventHandler(e)\r\n }\r\n };\r\n var select = e => {\r\n e.preventDefault();\r\n var $focusedElement = $(this.option(\"focusedElement\"));\r\n var checkboxInstance = this._getCheckBoxInstance($focusedElement);\r\n if (!checkboxInstance.option(\"disabled\")) {\r\n var currentState = checkboxInstance.option(\"value\");\r\n this._updateItemSelection(!currentState, $focusedElement.find(\".\" + ITEM_CLASS).get(0), true)\r\n }\r\n };\r\n var toggleExpandedNestedItems = function(state, e) {\r\n if (!this.option(\"expandAllEnabled\")) {\r\n return\r\n }\r\n e.preventDefault();\r\n var $rootElement = $(this.option(\"focusedElement\"));\r\n if (!$rootElement.length) {\r\n return\r\n }\r\n var rootItem = this._getItemData($rootElement.find(\".\".concat(ITEM_CLASS)));\r\n this._toggleExpandedNestedItems([rootItem], state)\r\n };\r\n return extend(this.callBase(), {\r\n enter: this._showCheckboxes() ? select : click,\r\n space: this._showCheckboxes() ? select : click,\r\n asterisk: toggleExpandedNestedItems.bind(this, true),\r\n minus: toggleExpandedNestedItems.bind(this, false)\r\n })\r\n },\r\n _toggleExpandedNestedItems: function(items, state) {\r\n if (!items) {\r\n return\r\n }\r\n for (var i = 0, len = items.length; i < len; i++) {\r\n var item = items[i];\r\n var node = this._dataAdapter.getNodeByItem(item);\r\n this._toggleExpandedState(node, state);\r\n this._toggleExpandedNestedItems(item.items, state)\r\n }\r\n },\r\n _getNodeElement: function(node, cache) {\r\n var key = this._encodeString(node.internalFields.key);\r\n if (cache) {\r\n if (!cache.$nodeByKey) {\r\n cache.$nodeByKey = {};\r\n this.$element().find(\".\".concat(NODE_CLASS)).each((function() {\r\n var $node = $(this);\r\n var key = $node.attr(DATA_ITEM_ID);\r\n cache.$nodeByKey[key] = $node\r\n }))\r\n }\r\n return cache.$nodeByKey[key] || $()\r\n }\r\n var element = this.$element().get(0).querySelector(\"[\".concat(DATA_ITEM_ID, '=\"').concat(key, '\"]'));\r\n return $(element)\r\n },\r\n _activeStateUnit: \".\" + ITEM_CLASS,\r\n _widgetClass: function() {\r\n return WIDGET_CLASS\r\n },\r\n _getDefaultOptions: function() {\r\n var defaultOptions = extend(this.callBase(), {\r\n animationEnabled: true,\r\n dataStructure: \"tree\",\r\n deferRendering: true,\r\n expandAllEnabled: false,\r\n hasItemsExpr: \"hasItems\",\r\n selectNodesRecursive: true,\r\n expandNodesRecursive: true,\r\n showCheckBoxesMode: \"none\",\r\n selectAllText: messageLocalization.format(\"dxList-selectAll\"),\r\n onItemSelectionChanged: null,\r\n onItemExpanded: null,\r\n onItemCollapsed: null,\r\n scrollDirection: \"vertical\",\r\n useNativeScrolling: true,\r\n virtualModeEnabled: false,\r\n rootValue: 0,\r\n focusStateEnabled: false,\r\n selectionMode: \"multiple\",\r\n expandEvent: \"dblclick\",\r\n selectByClick: false,\r\n createChildren: null,\r\n onSelectAllValueChanged: null\r\n });\r\n return extend(true, defaultOptions, {\r\n integrationOptions: {\r\n useDeferUpdateForTemplates: false\r\n }\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return !nativeScrolling\r\n },\r\n options: {\r\n useNativeScrolling: false\r\n }\r\n }])\r\n },\r\n _initSelectedItems: noop,\r\n _syncSelectionOptions: asyncNoop,\r\n _fireSelectionChanged: function() {\r\n var selectionChangePromise = this._selectionChangePromise;\r\n when(selectionChangePromise).done(function() {\r\n this._createActionByOption(\"onSelectionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })()\r\n }.bind(this))\r\n },\r\n _createSelectAllValueChangedAction: function() {\r\n this._selectAllValueChangedAction = this._createActionByOption(\"onSelectAllValueChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _fireSelectAllValueChanged: function(value) {\r\n this._selectAllValueChangedAction({\r\n value: value\r\n })\r\n },\r\n _checkBoxModeChange: function(value, previousValue) {\r\n var searchEnabled = this.option(\"searchEnabled\");\r\n var previousSelectAllEnabled = this._selectAllEnabled(previousValue);\r\n var previousItemsContainer = this._itemContainer(searchEnabled, previousSelectAllEnabled);\r\n this._detachClickEvent(previousItemsContainer);\r\n this._detachExpandEvent(previousItemsContainer);\r\n if (\"none\" === previousValue || \"none\" === value) {\r\n return\r\n }\r\n var selectAllExists = this._$selectAllItem && this._$selectAllItem.length;\r\n switch (value) {\r\n case \"selectAll\":\r\n if (!selectAllExists) {\r\n this._createSelectAllValueChangedAction();\r\n this._renderSelectAllItem()\r\n }\r\n break;\r\n case \"normal\":\r\n if (selectAllExists) {\r\n this._$selectAllItem.remove();\r\n delete this._$selectAllItem\r\n }\r\n }\r\n },\r\n _removeSelection: function() {\r\n var that = this;\r\n each(this._dataAdapter.getFullData(), (function(_, node) {\r\n if (!that._hasChildren(node)) {\r\n return\r\n }\r\n that._dataAdapter.toggleSelection(node.internalFields.key, false, true)\r\n }))\r\n },\r\n _optionChanged: function(args) {\r\n var {\r\n name: name,\r\n value: value,\r\n previousValue: previousValue\r\n } = args;\r\n switch (name) {\r\n case \"selectAllText\":\r\n if (this._$selectAllItem) {\r\n this._$selectAllItem.dxCheckBox(\"instance\").option(\"text\", value)\r\n }\r\n break;\r\n case \"showCheckBoxesMode\":\r\n this._checkBoxModeChange(value, previousValue);\r\n this._invalidate();\r\n break;\r\n case \"scrollDirection\":\r\n this.getScrollable().option(\"direction\", value);\r\n break;\r\n case \"useNativeScrolling\":\r\n this.getScrollable().option(\"useNative\", value);\r\n break;\r\n case \"items\":\r\n delete this._$selectAllItem;\r\n this.callBase(args);\r\n break;\r\n case \"dataSource\":\r\n this.callBase(args);\r\n this._initDataAdapter();\r\n this._filter = {};\r\n break;\r\n case \"hasItemsExpr\":\r\n this._initAccessors();\r\n this.repaint();\r\n break;\r\n case \"expandEvent\":\r\n this._attachExpandEvent();\r\n break;\r\n case \"deferRendering\":\r\n case \"dataStructure\":\r\n case \"rootValue\":\r\n case \"createChildren\":\r\n case \"expandNodesRecursive\":\r\n case \"onItemSelectionChanged\":\r\n case \"onItemExpanded\":\r\n case \"onItemCollapsed\":\r\n case \"expandAllEnabled\":\r\n case \"animationEnabled\":\r\n case \"virtualModeEnabled\":\r\n case \"selectByClick\":\r\n break;\r\n case \"selectionMode\":\r\n this._initDataAdapter();\r\n this.callBase(args);\r\n break;\r\n case \"onSelectAllValueChanged\":\r\n this._createSelectAllValueChangedAction();\r\n break;\r\n case \"selectNodesRecursive\":\r\n this._dataAdapter.setOption(\"recursiveSelection\", args.value);\r\n this.repaint();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _initDataSource: function() {\r\n if (this._useCustomChildrenLoader()) {\r\n this._loadChildrenByCustomLoader(null).done(function(newItems) {\r\n if (newItems && newItems.length) {\r\n this.option(\"items\", newItems)\r\n }\r\n }.bind(this))\r\n } else {\r\n this.callBase();\r\n this._isVirtualMode() && this._initVirtualMode()\r\n }\r\n },\r\n _initVirtualMode: function() {\r\n var filter = this._filter;\r\n if (!filter.custom) {\r\n filter.custom = this._dataSource.filter()\r\n }\r\n if (!filter.internal) {\r\n filter.internal = [this.option(\"parentIdExpr\"), this.option(\"rootValue\")]\r\n }\r\n },\r\n _useCustomChildrenLoader: function() {\r\n return isFunction(this.option(\"createChildren\")) && this._isDataStructurePlain()\r\n },\r\n _loadChildrenByCustomLoader: function(parentNode) {\r\n var invocationResult = this.option(\"createChildren\").call(this, parentNode);\r\n if (Array.isArray(invocationResult)) {\r\n return (new Deferred).resolve(invocationResult).promise()\r\n }\r\n if (invocationResult && isFunction(invocationResult.then)) {\r\n return fromPromise(invocationResult)\r\n }\r\n return (new Deferred).resolve([]).promise()\r\n },\r\n _combineFilter: function() {\r\n if (!this._filter.custom || !this._filter.custom.length) {\r\n return this._filter.internal\r\n }\r\n return [this._filter.custom, this._filter.internal]\r\n },\r\n _dataSourceLoadErrorHandler: function() {\r\n this._renderEmptyMessage()\r\n },\r\n _init: function() {\r\n this._filter = {};\r\n this.callBase();\r\n this._initStoreChangeHandlers()\r\n },\r\n _dataSourceChangedHandler: function(newItems) {\r\n var items = this.option(\"items\");\r\n if (this._initialized && this._isVirtualMode() && items.length) {\r\n return\r\n }\r\n this.option(\"items\", newItems)\r\n },\r\n _removeTreeViewLoadIndicator: function() {\r\n if (!this._treeViewLoadIndicator) {\r\n return\r\n }\r\n this._treeViewLoadIndicator.remove();\r\n this._treeViewLoadIndicator = null\r\n },\r\n _createTreeViewLoadIndicator: function() {\r\n this._treeViewLoadIndicator = $(\"<div>\").addClass(LOAD_INDICATOR_CLASS);\r\n this._createComponent(this._treeViewLoadIndicator, LoadIndicator, {});\r\n return this._treeViewLoadIndicator\r\n },\r\n _dataSourceLoadingChangedHandler: function(isLoading) {\r\n var resultFilter;\r\n if (this._isVirtualMode()) {\r\n resultFilter = this._combineFilter();\r\n this._dataSource.filter(resultFilter)\r\n }\r\n if (isLoading && !this._dataSource.isLoaded()) {\r\n this.option(\"items\", []);\r\n var $wrapper = $(\"<div>\").addClass(LOAD_INDICATOR_WRAPPER_CLASS);\r\n this._createTreeViewLoadIndicator().appendTo($wrapper);\r\n this.itemsContainer().append($wrapper);\r\n if (this._isVirtualMode() && this._dataSource.filter() !== resultFilter) {\r\n this._dataSource.filter([])\r\n }\r\n } else {\r\n this._removeTreeViewLoadIndicator()\r\n }\r\n },\r\n _initStoreChangeHandlers: function() {\r\n if (\"plain\" !== this.option(\"dataStructure\")) {\r\n return\r\n }\r\n this._dataSource && this._dataSource.store().on(\"inserted\", newItem => {\r\n this.option().items = this.option(\"items\").concat(newItem);\r\n this._dataAdapter.addItem(newItem);\r\n if (!this._dataAdapter.isFiltered(newItem)) {\r\n return\r\n }\r\n this._updateLevel(this._parentIdGetter(newItem))\r\n }).on(\"removed\", removedKey => {\r\n var node = this._dataAdapter.getNodeByKey(removedKey);\r\n if (isDefined(node)) {\r\n this.option(\"items\")[this._dataAdapter.getIndexByKey(node.internalFields.key)] = 0;\r\n this._markChildrenItemsToRemove(node);\r\n this._removeItems();\r\n this._dataAdapter.removeItem(removedKey);\r\n this._updateLevel(this._parentIdGetter(node))\r\n }\r\n })\r\n },\r\n _markChildrenItemsToRemove: function(node) {\r\n var keys = node.internalFields.childrenKeys;\r\n each(keys, (_, key) => {\r\n this.option(\"items\")[this._dataAdapter.getIndexByKey(key)] = 0;\r\n this._markChildrenItemsToRemove(this._dataAdapter.getNodeByKey(key))\r\n })\r\n },\r\n _removeItems: function() {\r\n var items = extend(true, [], this.option(\"items\"));\r\n var counter = 0;\r\n each(items, (index, item) => {\r\n if (!item) {\r\n this.option(\"items\").splice(index - counter, 1);\r\n counter++\r\n }\r\n })\r\n },\r\n _updateLevel: function(parentId) {\r\n var $container = this._getContainerByParentKey(parentId);\r\n this._renderItems($container, this._dataAdapter.getChildrenNodes(parentId))\r\n },\r\n _getOldContainer: function($itemElement) {\r\n if ($itemElement.length) {\r\n return $itemElement.children(\".\".concat(NODE_CONTAINER_CLASS))\r\n }\r\n var scrollable = this.getScrollable();\r\n if (scrollable) {\r\n return $(scrollable.content()).children()\r\n }\r\n return $()\r\n },\r\n _getContainerByParentKey: function(parentId) {\r\n var node = this._dataAdapter.getNodeByKey(parentId);\r\n var $itemElement = node ? this._getNodeElement(node) : [];\r\n this._getOldContainer($itemElement).remove();\r\n var $container = this._renderNodeContainer($itemElement);\r\n if (this._isRootLevel(parentId)) {\r\n var scrollable = this.getScrollable();\r\n if (!scrollable) {\r\n this._renderScrollableContainer()\r\n }\r\n $(scrollable.content()).append($container)\r\n }\r\n return $container\r\n },\r\n _isRootLevel: function(parentId) {\r\n return parentId === this.option(\"rootValue\")\r\n },\r\n _getAccessors: function() {\r\n var accessors = this.callBase();\r\n accessors.push(\"hasItems\");\r\n return accessors\r\n },\r\n _getDataAdapterOptions: function() {\r\n return {\r\n rootValue: this.option(\"rootValue\"),\r\n multipleSelection: !this._isSingleSelection(),\r\n recursiveSelection: this._isRecursiveSelection(),\r\n recursiveExpansion: this.option(\"expandNodesRecursive\"),\r\n selectionRequired: this.option(\"selectionRequired\"),\r\n dataType: this.option(\"dataStructure\"),\r\n sort: this._dataSource && this._dataSource.sort()\r\n }\r\n },\r\n _initMarkup: function() {\r\n this._renderScrollableContainer();\r\n this._renderEmptyMessage(this._dataAdapter.getRootNodes());\r\n this.callBase();\r\n this.setAria(\"role\", \"tree\")\r\n },\r\n _renderContentImpl: function() {\r\n var $nodeContainer = this._renderNodeContainer();\r\n $(this.getScrollable().content()).append($nodeContainer);\r\n if (!this.option(\"items\") || !this.option(\"items\").length) {\r\n return\r\n }\r\n this._renderItems($nodeContainer, this._dataAdapter.getRootNodes());\r\n this._attachExpandEvent();\r\n if (this._selectAllEnabled()) {\r\n this._createSelectAllValueChangedAction();\r\n this._renderSelectAllItem($nodeContainer)\r\n }\r\n },\r\n _isVirtualMode: function() {\r\n return this.option(\"virtualModeEnabled\") && this._isDataStructurePlain() && !!this.option(\"dataSource\")\r\n },\r\n _isDataStructurePlain: function() {\r\n return \"plain\" === this.option(\"dataStructure\")\r\n },\r\n _fireContentReadyAction: function() {\r\n var dataSource = this.getDataSource();\r\n var skipContentReadyAction = dataSource && !dataSource.isLoaded() || this._skipContentReadyAndItemExpanded;\r\n var scrollable = this.getScrollable();\r\n if (scrollable && hasWindow()) {\r\n scrollable.update()\r\n }\r\n if (!skipContentReadyAction) {\r\n this.callBase()\r\n }\r\n if (scrollable && hasWindow()) {\r\n scrollable.update()\r\n }\r\n },\r\n _renderScrollableContainer: function() {\r\n this._scrollable = this._createComponent($(\"<div>\").appendTo(this.$element()), Scrollable, {\r\n useNative: this.option(\"useNativeScrolling\"),\r\n direction: this.option(\"scrollDirection\"),\r\n useKeyboard: false\r\n })\r\n },\r\n _renderNodeContainer: function($parent) {\r\n var $container = $(\"<ul>\").addClass(NODE_CONTAINER_CLASS);\r\n this.setAria(\"role\", \"group\", $container);\r\n if ($parent && $parent.length) {\r\n var itemData = this._getItemData($parent.children(\".\" + ITEM_CLASS));\r\n if (this._expandedGetter(itemData)) {\r\n $container.addClass(OPENED_NODE_CONTAINER_CLASS)\r\n }\r\n $container.appendTo($parent)\r\n }\r\n return $container\r\n },\r\n _createDOMElement: function($nodeContainer, node) {\r\n var $node = $(\"<li>\").addClass(NODE_CLASS).attr(DATA_ITEM_ID, this._encodeString(node.internalFields.key)).prependTo($nodeContainer);\r\n this.setAria({\r\n role: \"treeitem\",\r\n label: this._displayGetter(node.internalFields.item) || \"\",\r\n expanded: node.internalFields.expanded || false,\r\n level: this._getLevel($nodeContainer)\r\n }, $node);\r\n return $node\r\n },\r\n _getLevel: function($nodeContainer) {\r\n var parent = $nodeContainer.parent();\r\n return parent.hasClass(\"dx-scrollable-content\") ? 1 : parseInt(parent.attr(\"aria-level\")) + 1\r\n },\r\n _showCheckboxes: function() {\r\n return \"none\" !== this.option(\"showCheckBoxesMode\")\r\n },\r\n _selectAllEnabled: function(showCheckBoxesMode) {\r\n var mode = null !== showCheckBoxesMode && void 0 !== showCheckBoxesMode ? showCheckBoxesMode : this.option(\"showCheckBoxesMode\");\r\n return \"selectAll\" === mode && !this._isSingleSelection()\r\n },\r\n _renderItems: function($nodeContainer, nodes) {\r\n var length = nodes.length - 1;\r\n for (var i = length; i >= 0; i--) {\r\n this._renderItem(i, nodes[i], $nodeContainer)\r\n }\r\n this._renderedItemsCount += nodes.length\r\n },\r\n _renderItem: function(nodeIndex, node, $nodeContainer) {\r\n var $node = this._createDOMElement($nodeContainer, node);\r\n var nodeData = node.internalFields;\r\n var showCheckBox = this._showCheckboxes();\r\n $node.addClass(showCheckBox ? ITEM_WITH_CHECKBOX_CLASS : ITEM_WITHOUT_CHECKBOX_CLASS);\r\n $node.toggleClass(INVISIBLE_STATE_CLASS, false === nodeData.item.visible);\r\n showCheckBox && this._renderCheckBox($node, node);\r\n this.setAria(\"selected\", nodeData.selected, $node);\r\n this._toggleSelectedClass($node, nodeData.selected);\r\n this.callBase(this._renderedItemsCount + nodeIndex, nodeData.item, $node);\r\n if (false !== nodeData.item.visible) {\r\n this._renderChildren($node, node)\r\n }\r\n },\r\n _setAriaSelected: function() {},\r\n _renderChildren: function($node, node) {\r\n if (!this._hasChildren(node)) {\r\n this._addLeafClass($node);\r\n return\r\n }\r\n this._renderToggleItemVisibilityIcon($node, node);\r\n if (this.option(\"deferRendering\") && !node.internalFields.expanded) {\r\n return\r\n }\r\n this._loadSublevel(node).done(childNodes => {\r\n this._renderSublevel($node, this._getActualNode(node), childNodes)\r\n })\r\n },\r\n _getActualNode: function(cachedNode) {\r\n return this._dataAdapter.getNodeByKey(cachedNode.internalFields.key)\r\n },\r\n _hasChildren: function(node) {\r\n if (this._isVirtualMode() || this._useCustomChildrenLoader()) {\r\n return false !== this._hasItemsGetter(node.internalFields.item)\r\n }\r\n return this.callBase(node)\r\n },\r\n _loadSublevel: function(node) {\r\n var deferred = new Deferred;\r\n var childrenNodes = this._getChildNodes(node);\r\n if (childrenNodes.length) {\r\n deferred.resolve(childrenNodes)\r\n } else {\r\n this._loadNestedItems(node).done(items => {\r\n deferred.resolve(this._dataAdapter.getNodesByItems(items))\r\n })\r\n }\r\n return deferred.promise()\r\n },\r\n _renderSublevel: function($node, node, childNodes) {\r\n var $nestedNodeContainer = this._renderNodeContainer($node, node);\r\n var childNodesByChildrenKeys = childNodes.filter(childNode => -1 !== node.internalFields.childrenKeys.indexOf(childNode.internalFields.key));\r\n this._renderItems($nestedNodeContainer, childNodesByChildrenKeys);\r\n if (childNodesByChildrenKeys.length && !node.internalFields.selected) {\r\n var firstChild = childNodesByChildrenKeys[0];\r\n this._updateParentsState(firstChild, this._getNodeElement(firstChild))\r\n }\r\n this._normalizeIconState($node, childNodesByChildrenKeys.length);\r\n if (node.internalFields.expanded) {\r\n $nestedNodeContainer.addClass(OPENED_NODE_CONTAINER_CLASS)\r\n }\r\n },\r\n _executeItemRenderAction: function(itemIndex, itemData, itemElement) {\r\n var node = this._getNode(itemElement);\r\n this._getItemRenderAction()({\r\n itemElement: itemElement,\r\n itemIndex: itemIndex,\r\n itemData: itemData,\r\n node: this._dataAdapter.getPublicNode(node)\r\n })\r\n },\r\n _addLeafClass: function($node) {\r\n $node.addClass(IS_LEAF)\r\n },\r\n _expandEventHandler: function(e) {\r\n var $nodeElement = $(e.currentTarget.parentNode);\r\n if (!$nodeElement.hasClass(IS_LEAF)) {\r\n this._toggleExpandedState(e.currentTarget, void 0, e)\r\n }\r\n },\r\n _attachExpandEvent: function() {\r\n var expandedEventName = this._getEventNameByOption(this.option(\"expandEvent\"));\r\n var $itemsContainer = this._itemContainer();\r\n this._detachExpandEvent($itemsContainer);\r\n eventsEngine.on($itemsContainer, expandedEventName, this._itemSelector(), this._expandEventHandler.bind(this))\r\n },\r\n _detachExpandEvent(itemsContainer) {\r\n eventsEngine.off(itemsContainer, \".\".concat(EXPAND_EVENT_NAMESPACE), this._itemSelector())\r\n },\r\n _getEventNameByOption: function(name) {\r\n var event = \"click\" === name ? clickEventName : dblclickEvent;\r\n return addNamespace(event, EXPAND_EVENT_NAMESPACE)\r\n },\r\n _getNode: function(identifier) {\r\n if (!isDefined(identifier)) {\r\n return null\r\n }\r\n if (identifier.internalFields) {\r\n return identifier\r\n }\r\n if (isPrimitive(identifier)) {\r\n return this._dataAdapter.getNodeByKey(identifier)\r\n }\r\n var itemElement = $(identifier).get(0);\r\n if (!itemElement) {\r\n return null\r\n }\r\n if (domAdapter.isElementNode(itemElement)) {\r\n return this._getNodeByElement(itemElement)\r\n }\r\n return this._dataAdapter.getNodeByItem(itemElement)\r\n },\r\n _getNodeByElement: function(itemElement) {\r\n var $node = $(itemElement).closest(\".\" + NODE_CLASS);\r\n var key = this._decodeString($node.attr(DATA_ITEM_ID));\r\n return this._dataAdapter.getNodeByKey(key)\r\n },\r\n _toggleExpandedState: function(itemElement, state, e) {\r\n var node = this._getNode(itemElement);\r\n if (!node) {\r\n return (new Deferred).reject().promise()\r\n }\r\n if (node.internalFields.disabled) {\r\n return (new Deferred).reject().promise()\r\n }\r\n var currentState = node.internalFields.expanded;\r\n if (currentState === state) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n if (this._hasChildren(node)) {\r\n var $node = this._getNodeElement(node);\r\n if ($node.find(\".\".concat(NODE_LOAD_INDICATOR_CLASS, \":not(.\").concat(INVISIBLE_STATE_CLASS, \")\")).length) {\r\n return (new Deferred).reject().promise()\r\n }\r\n this._createLoadIndicator($node)\r\n }\r\n if (!isDefined(state)) {\r\n state = !currentState\r\n }\r\n this._dataAdapter.toggleExpansion(node.internalFields.key, state);\r\n return this._updateExpandedItemsUI(node, state, e)\r\n },\r\n _createLoadIndicator: function($node) {\r\n var $icon = $node.children(\".\" + TOGGLE_ITEM_VISIBILITY_CLASS);\r\n var $nodeContainer = $node.children(\".\".concat(NODE_CONTAINER_CLASS));\r\n if ($icon.hasClass(TOGGLE_ITEM_VISIBILITY_OPENED_CLASS) || $nodeContainer.not(\":empty\").length) {\r\n return\r\n }\r\n this._createComponent($(\"<div>\").addClass(NODE_LOAD_INDICATOR_CLASS), LoadIndicator, {}).$element().appendTo($node);\r\n $icon.hide()\r\n },\r\n _renderToggleItemVisibilityIcon: function($node, node) {\r\n var $icon = $(\"<div>\").addClass(TOGGLE_ITEM_VISIBILITY_CLASS).appendTo($node);\r\n if (node.internalFields.expanded) {\r\n $icon.addClass(TOGGLE_ITEM_VISIBILITY_OPENED_CLASS);\r\n $node.parent().addClass(OPENED_NODE_CONTAINER_CLASS)\r\n }\r\n if (node.internalFields.disabled) {\r\n $icon.addClass(DISABLED_STATE_CLASS)\r\n }\r\n this._renderToggleItemVisibilityIconClick($icon, node)\r\n },\r\n _renderToggleItemVisibilityIconClick: function($icon, node) {\r\n var eventName = addNamespace(clickEventName, this.NAME);\r\n eventsEngine.off($icon, eventName);\r\n eventsEngine.on($icon, eventName, e => {\r\n this._toggleExpandedState(node.internalFields.key, void 0, e)\r\n })\r\n },\r\n _updateExpandedItemsUI: function(node, state, e) {\r\n var $node = this._getNodeElement(node);\r\n var isHiddenNode = !$node.length || state && $node.is(\":hidden\");\r\n if (this.option(\"expandNodesRecursive\") && isHiddenNode) {\r\n var parentNode = this._getNode(node.internalFields.parentKey);\r\n if (parentNode) {\r\n this._updateExpandedItemsUI(parentNode, state, e)\r\n }\r\n }\r\n var $icon = $node.children(\".\" + TOGGLE_ITEM_VISIBILITY_CLASS);\r\n var $nodeContainer = $node.children(\".\".concat(NODE_CONTAINER_CLASS));\r\n $icon.toggleClass(TOGGLE_ITEM_VISIBILITY_OPENED_CLASS, state);\r\n var nodeContainerExists = $nodeContainer.length > 0;\r\n var completionCallback = new Deferred;\r\n if (!state || nodeContainerExists && !$nodeContainer.is(\":empty\")) {\r\n this._animateNodeContainer(node, state, e, completionCallback);\r\n return completionCallback.promise()\r\n }\r\n if (0 === node.internalFields.childrenKeys.length && (this._isVirtualMode() || this._useCustomChildrenLoader())) {\r\n this._loadNestedItemsWithUpdate(node, state, e, completionCallback);\r\n return completionCallback.promise()\r\n }\r\n this._renderSublevel($node, node, this._getChildNodes(node));\r\n this._fireContentReadyAction();\r\n this._animateNodeContainer(node, state, e, completionCallback);\r\n return completionCallback.promise()\r\n },\r\n _loadNestedItemsWithUpdate: function(node, state, e, completionCallback) {\r\n var $node = this._getNodeElement(node);\r\n this._loadNestedItems(node).done(items => {\r\n var actualNodeData = this._getActualNode(node);\r\n this._renderSublevel($node, actualNodeData, this._dataAdapter.getNodesByItems(items));\r\n if (!items || !items.length) {\r\n completionCallback.resolve();\r\n return\r\n }\r\n this._fireContentReadyAction();\r\n this._animateNodeContainer(actualNodeData, state, e, completionCallback)\r\n })\r\n },\r\n _loadNestedItems: function(node) {\r\n if (this._useCustomChildrenLoader()) {\r\n var publicNode = this._dataAdapter.getPublicNode(node);\r\n return this._loadChildrenByCustomLoader(publicNode).done(newItems => {\r\n if (!this._areNodesExists(newItems)) {\r\n this._appendItems(newItems)\r\n }\r\n })\r\n }\r\n if (!this._isVirtualMode()) {\r\n return (new Deferred).resolve([]).promise()\r\n }\r\n this._filter.internal = [this.option(\"parentIdExpr\"), node.internalFields.key];\r\n this._dataSource.filter(this._combineFilter());\r\n return this._dataSource.load().done(newItems => {\r\n if (!this._areNodesExists(newItems)) {\r\n this._appendItems(newItems)\r\n }\r\n })\r\n },\r\n _areNodesExists: function(newItems, items) {\r\n var keyOfRootItem = this.keyOf(newItems[0]);\r\n var fullData = this._dataAdapter.getFullData();\r\n return !!this._dataAdapter.getNodeByKey(keyOfRootItem, fullData)\r\n },\r\n _appendItems: function(newItems) {\r\n this.option().items = this.option(\"items\").concat(newItems);\r\n this._initDataAdapter()\r\n },\r\n _animateNodeContainer: function(node, state, e, completionCallback) {\r\n var $node = this._getNodeElement(node);\r\n var $nodeContainer = $node.children(\".\".concat(NODE_CONTAINER_CLASS));\r\n if (node && completionCallback && 0 === $nodeContainer.length) {\r\n completionCallback.resolve()\r\n }\r\n $nodeContainer.addClass(OPENED_NODE_CONTAINER_CLASS);\r\n var nodeHeight = getHeight($nodeContainer);\r\n fx.stop($nodeContainer, true);\r\n fx.animate($nodeContainer, {\r\n type: \"custom\",\r\n duration: this.option(\"animationEnabled\") ? 400 : 0,\r\n from: {\r\n maxHeight: state ? 0 : nodeHeight\r\n },\r\n to: {\r\n maxHeight: state ? nodeHeight : 0\r\n },\r\n complete: function() {\r\n $nodeContainer.css(\"maxHeight\", \"none\");\r\n $nodeContainer.toggleClass(OPENED_NODE_CONTAINER_CLASS, state);\r\n this.setAria(\"expanded\", state, $node);\r\n this.getScrollable().update();\r\n this._fireExpandedStateUpdatedEvent(state, node, e);\r\n if (completionCallback) {\r\n completionCallback.resolve()\r\n }\r\n }.bind(this)\r\n })\r\n },\r\n _fireExpandedStateUpdatedEvent: function(isExpanded, node, e) {\r\n if (!this._hasChildren(node) || this._skipContentReadyAndItemExpanded) {\r\n return\r\n }\r\n var optionName = isExpanded ? \"onItemExpanded\" : \"onItemCollapsed\";\r\n if (isDefined(e)) {\r\n this._itemDXEventHandler(e, optionName, {\r\n node: this._dataAdapter.getPublicNode(node)\r\n })\r\n } else {\r\n var target = this._getNodeElement(node);\r\n this._itemEventHandler(target, optionName, {\r\n event: e,\r\n node: this._dataAdapter.getPublicNode(node)\r\n })\r\n }\r\n },\r\n _normalizeIconState: function($node, hasNewItems) {\r\n var $loadIndicator = $node.find(\".\".concat(NODE_LOAD_INDICATOR_CLASS));\r\n if ($loadIndicator.length) {\r\n var _LoadIndicator$getIns;\r\n null === (_LoadIndicator$getIns = LoadIndicator.getInstance($loadIndicator)) || void 0 === _LoadIndicator$getIns ? void 0 : _LoadIndicator$getIns.option(\"visible\", false)\r\n }\r\n var $toggleItem = $node.find(\".\".concat(TOGGLE_ITEM_VISIBILITY_CLASS));\r\n if (hasNewItems) {\r\n $toggleItem.show();\r\n return\r\n }\r\n $toggleItem.removeClass(TOGGLE_ITEM_VISIBILITY_CLASS);\r\n $node.addClass(IS_LEAF)\r\n },\r\n _emptyMessageContainer: function() {\r\n var scrollable = this.getScrollable();\r\n return scrollable ? $(scrollable.content()) : this.callBase()\r\n },\r\n _renderContent: function() {\r\n var items = this.option(\"items\");\r\n if (items && items.length) {\r\n this._contentAlreadyRendered = true\r\n }\r\n this.callBase()\r\n },\r\n _renderSelectAllItem: function($container) {\r\n $container = $container || this.$element().find(\".\".concat(NODE_CONTAINER_CLASS)).first();\r\n this._$selectAllItem = $(\"<div>\").addClass(SELECT_ALL_ITEM_CLASS);\r\n var value = this._dataAdapter.isAllSelected();\r\n this._createComponent(this._$selectAllItem, CheckBox, {\r\n value: value,\r\n text: this.option(\"selectAllText\"),\r\n onValueChanged: this._onSelectAllCheckboxValueChanged.bind(this)\r\n });\r\n this._toggleSelectedClass(this._$selectAllItem, value);\r\n $container.before(this._$selectAllItem)\r\n },\r\n _onSelectAllCheckboxValueChanged: function(args) {\r\n this._toggleSelectAll(args);\r\n this._fireSelectAllValueChanged(args.value)\r\n },\r\n _toggleSelectAll: function(args) {\r\n this._dataAdapter.toggleSelectAll(args.value);\r\n this._updateItemsUI();\r\n this._fireSelectionChanged()\r\n },\r\n _renderCheckBox: function($node, node) {\r\n var $checkbox = $(\"<div>\").appendTo($node);\r\n this._createComponent($checkbox, CheckBox, {\r\n value: node.internalFields.selected,\r\n onValueChanged: this._changeCheckboxValue.bind(this),\r\n focusStateEnabled: false,\r\n disabled: this._disabledGetter(node)\r\n })\r\n },\r\n _toggleSelectedClass: function($node, value) {\r\n $node.toggleClass(SELECTED_ITEM_CLASS, !!value)\r\n },\r\n _toggleNodeDisabledState: function(node, state) {\r\n var $node = this._getNodeElement(node);\r\n var $item = $node.find(\".\" + ITEM_CLASS).eq(0);\r\n this._dataAdapter.toggleNodeDisabledState(node.internalFields.key, state);\r\n $item.toggleClass(DISABLED_STATE_CLASS, !!state);\r\n if (this._showCheckboxes()) {\r\n var checkbox = this._getCheckBoxInstance($node);\r\n checkbox.option(\"disabled\", !!state)\r\n }\r\n },\r\n _itemOptionChanged: function(item, property, value) {\r\n var node = this._dataAdapter.getNodeByItem(item);\r\n if (property === this.option(\"disabledExpr\")) {\r\n this._toggleNodeDisabledState(node, value)\r\n }\r\n },\r\n _changeCheckboxValue: function(e) {\r\n var $node = $(e.element).parent(\".\" + NODE_CLASS);\r\n var $item = $node.children(\".\" + ITEM_CLASS);\r\n var item = this._getItemData($item);\r\n var node = this._getNodeByElement($item);\r\n var value = e.value;\r\n if (node && node.internalFields.selected === value) {\r\n return\r\n }\r\n this._updateItemSelection(value, item, e.event)\r\n },\r\n _isSingleSelection: function() {\r\n return \"single\" === this.option(\"selectionMode\")\r\n },\r\n _isRecursiveSelection: function() {\r\n return this.option(\"selectNodesRecursive\") && \"single\" !== this.option(\"selectionMode\")\r\n },\r\n _isLastSelectedBranch: function(publicNode, selectedNodesKeys, deep) {\r\n var keyIndex = selectedNodesKeys.indexOf(publicNode.key);\r\n if (keyIndex >= 0) {\r\n selectedNodesKeys.splice(keyIndex, 1)\r\n }\r\n if (deep) {\r\n each(publicNode.children, function(_, childNode) {\r\n this._isLastSelectedBranch(childNode, selectedNodesKeys, true)\r\n }.bind(this))\r\n }\r\n if (publicNode.parent) {\r\n this._isLastSelectedBranch(publicNode.parent, selectedNodesKeys)\r\n }\r\n return 0 === selectedNodesKeys.length\r\n },\r\n _isLastRequired: function(node) {\r\n var selectionRequired = this.option(\"selectionRequired\");\r\n var isSingleMode = this._isSingleSelection();\r\n var selectedNodesKeys = this.getSelectedNodeKeys();\r\n if (!selectionRequired) {\r\n return\r\n }\r\n if (isSingleMode) {\r\n return 1 === selectedNodesKeys.length\r\n } else {\r\n return this._isLastSelectedBranch(node.internalFields.publicNode, selectedNodesKeys.slice(), true)\r\n }\r\n },\r\n _updateItemSelection: function(value, itemElement, dxEvent) {\r\n var node = this._getNode(itemElement);\r\n if (!node || false === node.visible) {\r\n return false\r\n }\r\n if (node.internalFields.selected === value) {\r\n return true\r\n }\r\n if (!value && this._isLastRequired(node)) {\r\n if (this._showCheckboxes()) {\r\n var $node = this._getNodeElement(node);\r\n this._getCheckBoxInstance($node).option(\"value\", true)\r\n }\r\n return false\r\n }\r\n if (value && this._isSingleSelection()) {\r\n var selectedKeys = this.getSelectedNodeKeys();\r\n each(selectedKeys, (index, key) => {\r\n this._dataAdapter.toggleSelection(key, false);\r\n this._updateItemsUI();\r\n this._fireItemSelectionChanged(this._getNode(key))\r\n })\r\n }\r\n this._dataAdapter.toggleSelection(node.internalFields.key, value);\r\n var isAllSelected = this._dataAdapter.isAllSelected();\r\n var needFireSelectAllChanged = this._selectAllEnabled() && this._$selectAllItem.dxCheckBox(\"instance\").option(\"value\") !== isAllSelected;\r\n this._updateItemsUI();\r\n this._fireItemSelectionChanged(node, dxEvent);\r\n this._fireSelectionChanged();\r\n if (needFireSelectAllChanged) {\r\n this._fireSelectAllValueChanged(isAllSelected)\r\n }\r\n return true\r\n },\r\n _fireItemSelectionChanged: function(node, dxEvent) {\r\n var initiator = dxEvent || this._findItemElementByItem(node.internalFields.item);\r\n var handler = dxEvent ? this._itemDXEventHandler : this._itemEventHandler;\r\n handler.call(this, initiator, \"onItemSelectionChanged\", {\r\n node: this._dataAdapter.getPublicNode(node),\r\n itemData: node.internalFields.item\r\n })\r\n },\r\n _getCheckBoxInstance: function($node) {\r\n return $node.children(\".dx-checkbox\").dxCheckBox(\"instance\")\r\n },\r\n _updateItemsUI: function() {\r\n var cache = {};\r\n each(this._dataAdapter.getData(), (_, node) => {\r\n var $node = this._getNodeElement(node, cache);\r\n var nodeSelection = node.internalFields.selected;\r\n if (!$node.length) {\r\n return\r\n }\r\n this._toggleSelectedClass($node, nodeSelection);\r\n this.setAria(\"selected\", nodeSelection, $node);\r\n if (this._showCheckboxes()) {\r\n this._getCheckBoxInstance($node).option(\"value\", nodeSelection)\r\n }\r\n });\r\n if (this._selectAllEnabled()) {\r\n var selectAllCheckbox = this._$selectAllItem.dxCheckBox(\"instance\");\r\n selectAllCheckbox.option(\"onValueChanged\", void 0);\r\n selectAllCheckbox.option(\"value\", this._dataAdapter.isAllSelected());\r\n selectAllCheckbox.option(\"onValueChanged\", this._onSelectAllCheckboxValueChanged.bind(this))\r\n }\r\n },\r\n _updateParentsState: function(node, $node) {\r\n if (!$node) {\r\n return\r\n }\r\n var parentNode = this._dataAdapter.getNodeByKey(node.internalFields.parentKey);\r\n var $parentNode = $($node.parents(\".\" + NODE_CLASS)[0]);\r\n if (this._showCheckboxes()) {\r\n var parentValue = parentNode.internalFields.selected;\r\n this._getCheckBoxInstance($parentNode).option(\"value\", parentValue);\r\n this._toggleSelectedClass($parentNode, parentValue)\r\n }\r\n if (parentNode.internalFields.parentKey !== this.option(\"rootValue\")) {\r\n this._updateParentsState(parentNode, $parentNode)\r\n }\r\n },\r\n _itemEventHandlerImpl: function(initiator, action, actionArgs) {\r\n var $itemElement = $(initiator).closest(\".\" + NODE_CLASS).children(\".\" + ITEM_CLASS);\r\n return action(extend(this._extendActionArgs($itemElement), actionArgs))\r\n },\r\n _itemContextMenuHandler: function(e) {\r\n this._createEventHandler(\"onItemContextMenu\", e)\r\n },\r\n _itemHoldHandler: function(e) {\r\n this._createEventHandler(\"onItemHold\", e)\r\n },\r\n _createEventHandler: function(eventName, e) {\r\n var node = this._getNodeByElement(e.currentTarget);\r\n this._itemDXEventHandler(e, eventName, {\r\n node: this._dataAdapter.getPublicNode(node)\r\n })\r\n },\r\n _itemClass: function() {\r\n return ITEM_CLASS\r\n },\r\n _itemDataKey: function() {\r\n return ITEM_DATA_KEY\r\n },\r\n _attachClickEvent: function() {\r\n var $itemContainer = this._itemContainer();\r\n this._detachClickEvent($itemContainer);\r\n var {\r\n clickEventNamespace: clickEventNamespace,\r\n itemSelector: itemSelector,\r\n pointerDownEventNamespace: pointerDownEventNamespace,\r\n nodeSelector: nodeSelector\r\n } = this._getItemClickEventData();\r\n eventsEngine.on($itemContainer, clickEventNamespace, itemSelector, e => {\r\n this._itemClickHandler(e, $(e.currentTarget))\r\n });\r\n eventsEngine.on($itemContainer, pointerDownEventNamespace, nodeSelector, e => {\r\n this._itemPointerDownHandler(e)\r\n })\r\n },\r\n _detachClickEvent: function(itemsContainer) {\r\n var {\r\n clickEventNamespace: clickEventNamespace,\r\n itemSelector: itemSelector,\r\n pointerDownEventNamespace: pointerDownEventNamespace,\r\n nodeSelector: nodeSelector\r\n } = this._getItemClickEventData();\r\n eventsEngine.off(itemsContainer, clickEventNamespace, itemSelector);\r\n eventsEngine.off(itemsContainer, pointerDownEventNamespace, nodeSelector)\r\n },\r\n _getItemClickEventData: function() {\r\n var itemSelector = \".\".concat(this._itemClass());\r\n var nodeSelector = \".\".concat(NODE_CLASS, \", .\").concat(SELECT_ALL_ITEM_CLASS);\r\n var clickEventNamespace = addNamespace(clickEventName, this.NAME);\r\n var pointerDownEventNamespace = addNamespace(pointerEvents.down, this.NAME);\r\n return {\r\n clickEventNamespace: clickEventNamespace,\r\n itemSelector: itemSelector,\r\n pointerDownEventNamespace: pointerDownEventNamespace,\r\n nodeSelector: nodeSelector\r\n }\r\n },\r\n _itemClickHandler: function(e, $item) {\r\n var itemData = this._getItemData($item);\r\n var node = this._getNodeByElement($item);\r\n this._itemDXEventHandler(e, \"onItemClick\", {\r\n node: this._dataAdapter.getPublicNode(node)\r\n });\r\n if (this.option(\"selectByClick\") && !e.isDefaultPrevented()) {\r\n this._updateItemSelection(!node.internalFields.selected, itemData, e)\r\n }\r\n },\r\n _updateSelectionToFirstItem: function($items, startIndex) {\r\n var itemIndex = startIndex;\r\n while (itemIndex >= 0) {\r\n var $item = $($items[itemIndex]);\r\n this._updateItemSelection(true, $item.find(\".\" + ITEM_CLASS).get(0));\r\n itemIndex--\r\n }\r\n },\r\n _updateSelectionToLastItem: function($items, startIndex) {\r\n var length = $items.length;\r\n var itemIndex = startIndex;\r\n while (itemIndex < length) {\r\n var $item = $($items[itemIndex]);\r\n this._updateItemSelection(true, $item.find(\".\" + ITEM_CLASS).get(0));\r\n itemIndex++\r\n }\r\n },\r\n focus: function() {\r\n if (this._selectAllEnabled()) {\r\n eventsEngine.trigger(this._$selectAllItem, \"focus\");\r\n return\r\n }\r\n this.callBase()\r\n },\r\n _focusInHandler: function(e) {\r\n this._updateFocusState(e, true);\r\n var isSelectAllItem = $(e.target).hasClass(SELECT_ALL_ITEM_CLASS);\r\n if (isSelectAllItem || this.option(\"focusedElement\")) {\r\n clearTimeout(this._setFocusedItemTimeout);\r\n var element = isSelectAllItem ? getPublicElement(this._$selectAllItem) : $(this.option(\"focusedElement\"));\r\n this._setFocusedItemTimeout = setTimeout(() => {\r\n this._setFocusedItem(element)\r\n });\r\n return\r\n }\r\n var $activeItem = this._getActiveItem();\r\n this.option(\"focusedElement\", getPublicElement($activeItem.closest(\".\" + NODE_CLASS)))\r\n },\r\n _setFocusedItem: function($target) {\r\n if (!$target || !$target.length) {\r\n return\r\n }\r\n if (!$target.children().hasClass(DISABLED_STATE_CLASS)) {\r\n this.callBase($target)\r\n }\r\n },\r\n _itemPointerDownHandler: function(e) {\r\n if (!this.option(\"focusStateEnabled\")) {\r\n return\r\n }\r\n var $target = $(e.target).closest(\".\" + NODE_CLASS + \", .\" + SELECT_ALL_ITEM_CLASS);\r\n if (!$target.length) {\r\n return\r\n }\r\n var itemElement = $target.hasClass(DISABLED_STATE_CLASS) ? null : $target;\r\n this.option(\"focusedElement\", getPublicElement(itemElement))\r\n },\r\n _findNonDisabledNodes: function($nodes) {\r\n return $nodes.not((function() {\r\n return $(this).children(\".\" + ITEM_CLASS).hasClass(DISABLED_STATE_CLASS)\r\n }))\r\n },\r\n _moveFocus: function(location, e) {\r\n var FOCUS_UP = \"up\";\r\n var FOCUS_DOWN = \"down\";\r\n var FOCUS_FIRST = \"first\";\r\n var FOCUS_LAST = \"last\";\r\n var FOCUS_LEFT = this.option(\"rtlEnabled\") ? \"right\" : \"left\";\r\n var FOCUS_RIGHT = this.option(\"rtlEnabled\") ? \"left\" : \"right\";\r\n this.$element().find(\".\".concat(NODE_CONTAINER_CLASS)).each((function() {\r\n fx.stop(this, true)\r\n }));\r\n var $items = this._findNonDisabledNodes(this._nodeElements());\r\n if (!$items || !$items.length) {\r\n return\r\n }\r\n switch (location) {\r\n case FOCUS_UP:\r\n var $prevItem = this._prevItem($items);\r\n this.option(\"focusedElement\", getPublicElement($prevItem));\r\n var prevItemElement = this._getNodeItemElement($prevItem);\r\n this.getScrollable().scrollToElement(prevItemElement);\r\n if (e.shiftKey && this._showCheckboxes()) {\r\n this._updateItemSelection(true, prevItemElement)\r\n }\r\n break;\r\n case FOCUS_DOWN:\r\n var $nextItem = this._nextItem($items);\r\n this.option(\"focusedElement\", getPublicElement($nextItem));\r\n var nextItemElement = this._getNodeItemElement($nextItem);\r\n this.getScrollable().scrollToElement(nextItemElement);\r\n if (e.shiftKey && this._showCheckboxes()) {\r\n this._updateItemSelection(true, nextItemElement)\r\n }\r\n break;\r\n case FOCUS_FIRST:\r\n var $firstItem = $items.first();\r\n if (e.shiftKey && this._showCheckboxes()) {\r\n this._updateSelectionToFirstItem($items, $items.index(this._prevItem($items)))\r\n }\r\n this.option(\"focusedElement\", getPublicElement($firstItem));\r\n this.getScrollable().scrollToElement(this._getNodeItemElement($firstItem));\r\n break;\r\n case FOCUS_LAST:\r\n var $lastItem = $items.last();\r\n if (e.shiftKey && this._showCheckboxes()) {\r\n this._updateSelectionToLastItem($items, $items.index(this._nextItem($items)))\r\n }\r\n this.option(\"focusedElement\", getPublicElement($lastItem));\r\n this.getScrollable().scrollToElement(this._getNodeItemElement($lastItem));\r\n break;\r\n case FOCUS_RIGHT:\r\n this._expandFocusedContainer();\r\n break;\r\n case FOCUS_LEFT:\r\n this._collapseFocusedContainer();\r\n break;\r\n default:\r\n this.callBase.apply(this, arguments);\r\n return\r\n }\r\n },\r\n _getNodeItemElement: function($node) {\r\n return $node.find(\".\" + ITEM_CLASS).get(0)\r\n },\r\n _nodeElements: function() {\r\n return this.$element().find(\".\" + NODE_CLASS).not(\":hidden\")\r\n },\r\n _expandFocusedContainer: function() {\r\n var $focusedNode = $(this.option(\"focusedElement\"));\r\n if (!$focusedNode.length || $focusedNode.hasClass(IS_LEAF)) {\r\n return\r\n }\r\n var $node = $focusedNode.find(\".\".concat(NODE_CONTAINER_CLASS)).eq(0);\r\n if ($node.hasClass(OPENED_NODE_CONTAINER_CLASS)) {\r\n var $nextItem = this._nextItem(this._findNonDisabledNodes(this._nodeElements()));\r\n this.option(\"focusedElement\", getPublicElement($nextItem));\r\n this.getScrollable().scrollToElement(this._getNodeItemElement($nextItem));\r\n return\r\n }\r\n var node = this._getNodeByElement($focusedNode.children(\".\" + ITEM_CLASS));\r\n this._toggleExpandedState(node, true)\r\n },\r\n _getClosestNonDisabledNode: function($node) {\r\n do {\r\n $node = $node.parent().closest(\".\" + NODE_CLASS)\r\n } while ($node.children(\".dx-treeview-item.dx-state-disabled\").length);\r\n return $node\r\n },\r\n _collapseFocusedContainer: function() {\r\n var $focusedNode = $(this.option(\"focusedElement\"));\r\n if (!$focusedNode.length) {\r\n return\r\n }\r\n var nodeElement = $focusedNode.find(\".\".concat(NODE_CONTAINER_CLASS)).eq(0);\r\n if (!$focusedNode.hasClass(IS_LEAF) && nodeElement.hasClass(OPENED_NODE_CONTAINER_CLASS)) {\r\n var node = this._getNodeByElement($focusedNode.children(\".\" + ITEM_CLASS));\r\n this._toggleExpandedState(node, false)\r\n } else {\r\n var collapsedNode = this._getClosestNonDisabledNode($focusedNode);\r\n collapsedNode.length && this.option(\"focusedElement\", getPublicElement(collapsedNode));\r\n this.getScrollable().scrollToElement(this._getNodeItemElement(collapsedNode))\r\n }\r\n },\r\n _encodeString: function(value) {\r\n return isString(value) ? encodeURI(value) : value\r\n },\r\n _decodeString: function(value) {\r\n return isString(value) ? decodeURI(value) : value\r\n },\r\n getScrollable: function() {\r\n return this._scrollable\r\n },\r\n updateDimensions: function() {\r\n var deferred = new Deferred;\r\n var scrollable = this.getScrollable();\r\n if (scrollable) {\r\n scrollable.update().done(() => {\r\n deferred.resolveWith(this)\r\n })\r\n } else {\r\n deferred.resolveWith(this)\r\n }\r\n return deferred.promise()\r\n },\r\n selectItem: function(itemElement) {\r\n return this._updateItemSelection(true, itemElement)\r\n },\r\n unselectItem: function(itemElement) {\r\n return this._updateItemSelection(false, itemElement)\r\n },\r\n expandItem: function(itemElement) {\r\n return this._toggleExpandedState(itemElement, true)\r\n },\r\n collapseItem: function(itemElement) {\r\n return this._toggleExpandedState(itemElement, false)\r\n },\r\n getNodes: function() {\r\n return this._dataAdapter.getTreeNodes()\r\n },\r\n getSelectedNodes: function() {\r\n return this.getSelectedNodeKeys().map(key => {\r\n var node = this._dataAdapter.getNodeByKey(key);\r\n return this._dataAdapter.getPublicNode(node)\r\n })\r\n },\r\n getSelectedNodeKeys: function() {\r\n return this._dataAdapter.getSelectedNodesKeys()\r\n },\r\n selectAll: function() {\r\n if (this._selectAllEnabled()) {\r\n this._$selectAllItem.dxCheckBox(\"instance\").option(\"value\", true)\r\n } else {\r\n this._toggleSelectAll({\r\n value: true\r\n })\r\n }\r\n },\r\n unselectAll: function() {\r\n if (this._selectAllEnabled()) {\r\n this._$selectAllItem.dxCheckBox(\"instance\").option(\"value\", false)\r\n } else {\r\n this._toggleSelectAll({\r\n value: false\r\n })\r\n }\r\n },\r\n _allItemsExpandedHandler: function() {\r\n this._skipContentReadyAndItemExpanded = false;\r\n this._fireContentReadyAction()\r\n },\r\n expandAll: function() {\r\n var nodes = this._dataAdapter.getData();\r\n var expandingPromises = [];\r\n this._skipContentReadyAndItemExpanded = true;\r\n nodes.forEach(node => expandingPromises.push(this._toggleExpandedState(node.internalFields.key, true)));\r\n Promise.allSettled(expandingPromises).then(() => {\r\n var _this$_allItemsExpand;\r\n return null === (_this$_allItemsExpand = this._allItemsExpandedHandler) || void 0 === _this$_allItemsExpand ? void 0 : _this$_allItemsExpand.call(this)\r\n })\r\n },\r\n collapseAll: function() {\r\n each(this._dataAdapter.getExpandedNodesKeys(), function(_, key) {\r\n this._toggleExpandedState(key, false)\r\n }.bind(this))\r\n },\r\n scrollToItem: function(keyOrItemOrElement) {\r\n var node = this._getNode(keyOrItemOrElement);\r\n if (!node) {\r\n return (new Deferred).reject().promise()\r\n }\r\n var nodeKeysToExpand = [];\r\n var parentNode = node.internalFields.publicNode.parent;\r\n while (null != parentNode) {\r\n if (!parentNode.expanded) {\r\n nodeKeysToExpand.push(parentNode.key)\r\n }\r\n parentNode = parentNode.parent\r\n }\r\n var scrollCallback = new Deferred;\r\n this._expandNodes(nodeKeysToExpand.reverse()).always(() => {\r\n var $element = this._getNodeElement(node);\r\n if ($element && $element.length) {\r\n this.scrollToElementTopLeft($element.get(0));\r\n scrollCallback.resolve()\r\n } else {\r\n scrollCallback.reject()\r\n }\r\n });\r\n return scrollCallback.promise()\r\n },\r\n scrollToElementTopLeft: function(targetElement) {\r\n var scrollable = this.getScrollable();\r\n var {\r\n scrollDirection: scrollDirection,\r\n rtlEnabled: rtlEnabled\r\n } = this.option();\r\n var targetLocation = {\r\n top: 0,\r\n left: 0\r\n };\r\n var relativeOffset = getRelativeOffset(SCROLLABLE_CONTENT_CLASS, targetElement);\r\n if (scrollDirection !== DIRECTION_VERTICAL) {\r\n var containerElement = $(scrollable.container()).get(0);\r\n targetLocation.left = rtlEnabled ? relativeOffset.left + targetElement.offsetWidth - containerElement.clientWidth : relativeOffset.left\r\n }\r\n if (scrollDirection !== DIRECTION_HORIZONTAL) {\r\n targetLocation.top = relativeOffset.top\r\n }\r\n scrollable.scrollTo(targetLocation)\r\n },\r\n _expandNodes: function(keysToExpand) {\r\n if (!keysToExpand || 0 === keysToExpand.length) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n var resultCallback = new Deferred;\r\n var callbacksByNodes = keysToExpand.map(key => this.expandItem(key));\r\n when.apply($, callbacksByNodes).done(() => resultCallback.resolve()).fail(() => resultCallback.reject());\r\n return resultCallback.promise()\r\n },\r\n _dispose: function() {\r\n this.callBase();\r\n clearTimeout(this._setFocusedItemTimeout);\r\n this._allItemsExpandedHandler = null\r\n }\r\n});\r\nexport default TreeViewBase;\r\n","/**\r\n * DevExtreme (esm/ui/tree_view/ui.tree_view.search.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport searchBoxMixin from \"../widget/ui.search_box_mixin\";\r\nimport TextBox from \"../text_box\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport TreeViewBase from \"./ui.tree_view.base\";\r\nsearchBoxMixin.setEditorClass(TextBox);\r\nvar WIDGET_CLASS = \"dx-treeview\";\r\nvar NODE_CONTAINER_CLASS = \"\".concat(WIDGET_CLASS, \"-node-container\");\r\nvar TreeViewSearch = TreeViewBase.inherit(searchBoxMixin).inherit({\r\n _addWidgetPrefix: function(className) {\r\n return \"\".concat(WIDGET_CLASS, \"-\").concat(className)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"searchValue\":\r\n if (this._showCheckboxes() && this._isRecursiveSelection()) {\r\n this._removeSelection()\r\n }\r\n this._initDataAdapter();\r\n this._updateSearch();\r\n this._repaintContainer();\r\n this.option(\"focusedElement\", null);\r\n break;\r\n case \"searchExpr\":\r\n this._initDataAdapter();\r\n this.repaint();\r\n break;\r\n case \"searchMode\":\r\n this.option(\"expandNodesRecursive\") ? this._updateDataAdapter() : this._initDataAdapter();\r\n this.repaint();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _updateDataAdapter: function() {\r\n this._setOptionWithoutOptionChange(\"expandNodesRecursive\", false);\r\n this._initDataAdapter();\r\n this._setOptionWithoutOptionChange(\"expandNodesRecursive\", true)\r\n },\r\n _getDataAdapterOptions: function() {\r\n return extend(this.callBase(), {\r\n searchValue: this.option(\"searchValue\"),\r\n searchMode: this.option(\"searchMode\") || \"contains\",\r\n searchExpr: this.option(\"searchExpr\")\r\n })\r\n },\r\n _getNodeContainer: function() {\r\n return this.$element().find(\".\".concat(NODE_CONTAINER_CLASS)).first()\r\n },\r\n _updateSearch: function() {\r\n if (this._searchEditor) {\r\n var editorOptions = this._getSearchEditorOptions();\r\n this._searchEditor.option(editorOptions)\r\n }\r\n },\r\n _repaintContainer: function() {\r\n var $container = this._getNodeContainer();\r\n var rootNodes;\r\n if ($container.length) {\r\n $container.empty();\r\n rootNodes = this._dataAdapter.getRootNodes();\r\n this._renderEmptyMessage(rootNodes);\r\n this._renderItems($container, rootNodes);\r\n this._fireContentReadyAction()\r\n }\r\n },\r\n _focusTarget: function() {\r\n return this._itemContainer(this.option(\"searchEnabled\"))\r\n },\r\n _cleanItemContainer: function() {\r\n this.$element().empty()\r\n },\r\n _itemContainer: function(isSearchMode, selectAllEnabled) {\r\n var _selectAllEnabled;\r\n null !== (_selectAllEnabled = selectAllEnabled) && void 0 !== _selectAllEnabled ? _selectAllEnabled : selectAllEnabled = this._selectAllEnabled();\r\n if (selectAllEnabled) {\r\n return this._getNodeContainer()\r\n }\r\n if (this._scrollable && isSearchMode) {\r\n return $(this._scrollable.content())\r\n }\r\n return this.callBase()\r\n },\r\n _addWidgetClass: function() {\r\n this.$element().addClass(this._widgetClass())\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n this._removeSearchBox()\r\n }\r\n});\r\nregisterComponent(\"dxTreeView\", TreeViewSearch);\r\nexport default TreeViewSearch;\r\n","/**\r\n * DevExtreme (esm/ui/validation_engine.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../core/class\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n EventsStrategy\r\n} from \"../core/events_strategy\";\r\nimport errors from \"../core/errors\";\r\nimport {\r\n grep\r\n} from \"../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isString,\r\n isDate,\r\n isBoolean,\r\n isObject,\r\n isFunction,\r\n isPromise,\r\n isNumeric\r\n} from \"../core/utils/type\";\r\nimport numberLocalization from \"../localization/number\";\r\nimport messageLocalization from \"../localization/message\";\r\nimport {\r\n fromPromise,\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nvar STATUS = {\r\n valid: \"valid\",\r\n invalid: \"invalid\",\r\n pending: \"pending\"\r\n};\r\nclass BaseRuleValidator {\r\n constructor() {\r\n this.NAME = \"base\"\r\n }\r\n defaultMessage(value) {\r\n return messageLocalization.getFormatter(\"validation-\".concat(this.NAME))(value)\r\n }\r\n defaultFormattedMessage(value) {\r\n return messageLocalization.getFormatter(\"validation-\".concat(this.NAME, \"-formatted\"))(value)\r\n }\r\n _isValueEmpty(value) {\r\n return !rulesValidators.required.validate(value, {})\r\n }\r\n validate(value, rule) {\r\n var valueArray = Array.isArray(value) ? value : [value];\r\n var result = true;\r\n if (valueArray.length) {\r\n valueArray.every(itemValue => {\r\n result = this._validate(itemValue, rule);\r\n return result\r\n })\r\n } else {\r\n result = this._validate(null, rule)\r\n }\r\n return result\r\n }\r\n}\r\nclass RequiredRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"required\"\r\n }\r\n _validate(value, rule) {\r\n if (!isDefined(value)) {\r\n return false\r\n }\r\n if (false === value) {\r\n return false\r\n }\r\n value = String(value);\r\n if (rule.trim || !isDefined(rule.trim)) {\r\n value = value.trim()\r\n }\r\n return \"\" !== value\r\n }\r\n}\r\nclass NumericRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"numeric\"\r\n }\r\n _validate(value, rule) {\r\n if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n if (rule.useCultureSettings && isString(value)) {\r\n return !isNaN(numberLocalization.parse(value))\r\n } else {\r\n return isNumeric(value)\r\n }\r\n }\r\n}\r\nclass RangeRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"range\"\r\n }\r\n _validate(value, rule) {\r\n if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n var validNumber = rulesValidators.numeric.validate(value, rule);\r\n var validValue = isDefined(value) && \"\" !== value;\r\n var number = validNumber ? parseFloat(value) : validValue && value.valueOf();\r\n var min = rule.min;\r\n var max = rule.max;\r\n if (!(validNumber || isDate(value)) && !validValue) {\r\n return false\r\n }\r\n if (isDefined(min)) {\r\n if (isDefined(max)) {\r\n return number >= min && number <= max\r\n }\r\n return number >= min\r\n } else if (isDefined(max)) {\r\n return number <= max\r\n } else {\r\n throw errors.Error(\"E0101\")\r\n }\r\n }\r\n}\r\nclass StringLengthRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"stringLength\"\r\n }\r\n _validate(value, rule) {\r\n var _value;\r\n value = String(null !== (_value = value) && void 0 !== _value ? _value : \"\");\r\n if (rule.trim || !isDefined(rule.trim)) {\r\n value = value.trim()\r\n }\r\n if (rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n return rulesValidators.range.validate(value.length, extend({}, rule))\r\n }\r\n}\r\nclass CustomRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"custom\"\r\n }\r\n validate(value, rule) {\r\n if (rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n var validator = rule.validator;\r\n var dataGetter = validator && isFunction(validator.option) && validator.option(\"dataGetter\");\r\n var extraParams = isFunction(dataGetter) && dataGetter();\r\n var params = {\r\n value: value,\r\n validator: validator,\r\n rule: rule\r\n };\r\n if (extraParams) {\r\n extend(params, extraParams)\r\n }\r\n return rule.validationCallback(params)\r\n }\r\n}\r\nclass AsyncRuleValidator extends CustomRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"async\"\r\n }\r\n validate(value, rule) {\r\n if (!isDefined(rule.reevaluate)) {\r\n extend(rule, {\r\n reevaluate: true\r\n })\r\n }\r\n if (rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n var validator = rule.validator;\r\n var dataGetter = validator && isFunction(validator.option) && validator.option(\"dataGetter\");\r\n var extraParams = isFunction(dataGetter) && dataGetter();\r\n var params = {\r\n value: value,\r\n validator: validator,\r\n rule: rule\r\n };\r\n if (extraParams) {\r\n extend(params, extraParams)\r\n }\r\n var callbackResult = rule.validationCallback(params);\r\n if (!isPromise(callbackResult)) {\r\n throw errors.Error(\"E0103\")\r\n }\r\n return this._getWrappedPromise(fromPromise(callbackResult).promise())\r\n }\r\n _getWrappedPromise(promise) {\r\n var deferred = new Deferred;\r\n promise.then((function(res) {\r\n deferred.resolve(res)\r\n }), (function(err) {\r\n var res = {\r\n isValid: false\r\n };\r\n if (isDefined(err)) {\r\n if (isString(err)) {\r\n res.message = err\r\n } else if (isObject(err) && isDefined(err.message) && isString(err.message)) {\r\n res.message = err.message\r\n }\r\n }\r\n deferred.resolve(res)\r\n }));\r\n return deferred.promise()\r\n }\r\n}\r\nclass CompareRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"compare\"\r\n }\r\n _validate(value, rule) {\r\n if (!rule.comparisonTarget) {\r\n throw errors.Error(\"E0102\")\r\n }\r\n if (rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n extend(rule, {\r\n reevaluate: true\r\n });\r\n var otherValue = rule.comparisonTarget();\r\n var type = rule.comparisonType || \"==\";\r\n switch (type) {\r\n case \"==\":\r\n return value == otherValue;\r\n case \"!=\":\r\n return value != otherValue;\r\n case \"===\":\r\n return value === otherValue;\r\n case \"!==\":\r\n return value !== otherValue;\r\n case \">\":\r\n return value > otherValue;\r\n case \">=\":\r\n return value >= otherValue;\r\n case \"<\":\r\n return value < otherValue;\r\n case \"<=\":\r\n return value <= otherValue\r\n }\r\n }\r\n}\r\nclass PatternRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"pattern\"\r\n }\r\n _validate(value, rule) {\r\n if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n var pattern = rule.pattern;\r\n if (isString(pattern)) {\r\n pattern = new RegExp(pattern)\r\n }\r\n return pattern.test(value)\r\n }\r\n}\r\nclass EmailRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"email\"\r\n }\r\n _validate(value, rule) {\r\n if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n return rulesValidators.pattern.validate(value, extend({}, rule, {\r\n pattern: /^[\\d\\w._-]+@[\\d\\w._-]+\\.[\\w]+$/i\r\n }))\r\n }\r\n}\r\nvar rulesValidators = {\r\n required: new RequiredRuleValidator,\r\n numeric: new NumericRuleValidator,\r\n range: new RangeRuleValidator,\r\n stringLength: new StringLengthRuleValidator,\r\n custom: new CustomRuleValidator,\r\n async: new AsyncRuleValidator,\r\n compare: new CompareRuleValidator,\r\n pattern: new PatternRuleValidator,\r\n email: new EmailRuleValidator\r\n};\r\nvar GroupConfig = Class.inherit({\r\n ctor(group) {\r\n this.group = group;\r\n this.validators = [];\r\n this._pendingValidators = [];\r\n this._onValidatorStatusChanged = this._onValidatorStatusChanged.bind(this);\r\n this._resetValidationInfo();\r\n this._eventsStrategy = new EventsStrategy(this)\r\n },\r\n validate() {\r\n var result = {\r\n isValid: true,\r\n brokenRules: [],\r\n validators: [],\r\n status: STATUS.valid,\r\n complete: null\r\n };\r\n this._unsubscribeFromAllChangeEvents();\r\n this._pendingValidators = [];\r\n this._resetValidationInfo();\r\n each(this.validators, (_, validator) => {\r\n var validatorResult = validator.validate();\r\n result.isValid = result.isValid && validatorResult.isValid;\r\n if (validatorResult.brokenRules) {\r\n result.brokenRules = result.brokenRules.concat(validatorResult.brokenRules)\r\n }\r\n result.validators.push(validator);\r\n if (validatorResult.status === STATUS.pending) {\r\n this._addPendingValidator(validator)\r\n }\r\n this._subscribeToChangeEvents(validator)\r\n });\r\n if (this._pendingValidators.length) {\r\n result.status = STATUS.pending\r\n } else {\r\n result.status = result.isValid ? STATUS.valid : STATUS.invalid;\r\n this._unsubscribeFromAllChangeEvents();\r\n this._raiseValidatedEvent(result)\r\n }\r\n this._updateValidationInfo(result);\r\n return extend({}, this._validationInfo.result)\r\n },\r\n _subscribeToChangeEvents(validator) {\r\n validator.on(\"validating\", this._onValidatorStatusChanged);\r\n validator.on(\"validated\", this._onValidatorStatusChanged)\r\n },\r\n _unsubscribeFromChangeEvents(validator) {\r\n validator.off(\"validating\", this._onValidatorStatusChanged);\r\n validator.off(\"validated\", this._onValidatorStatusChanged)\r\n },\r\n _unsubscribeFromAllChangeEvents() {\r\n each(this.validators, (_, validator) => {\r\n this._unsubscribeFromChangeEvents(validator)\r\n })\r\n },\r\n _updateValidationInfo(result) {\r\n this._validationInfo.result = result;\r\n if (result.status !== STATUS.pending) {\r\n return\r\n }\r\n if (!this._validationInfo.deferred) {\r\n this._validationInfo.deferred = new Deferred;\r\n this._validationInfo.result.complete = this._validationInfo.deferred.promise()\r\n }\r\n },\r\n _addPendingValidator(validator) {\r\n var foundValidator = grep(this._pendingValidators, (function(val) {\r\n return val === validator\r\n }))[0];\r\n if (!foundValidator) {\r\n this._pendingValidators.push(validator)\r\n }\r\n },\r\n _removePendingValidator(validator) {\r\n var index = this._pendingValidators.indexOf(validator);\r\n if (index >= 0) {\r\n this._pendingValidators.splice(index, 1)\r\n }\r\n },\r\n _orderBrokenRules(brokenRules) {\r\n var orderedRules = [];\r\n each(this.validators, (function(_, validator) {\r\n var foundRules = grep(brokenRules, (function(rule) {\r\n return rule.validator === validator\r\n }));\r\n if (foundRules.length) {\r\n orderedRules = orderedRules.concat(foundRules)\r\n }\r\n }));\r\n return orderedRules\r\n },\r\n _updateBrokenRules(result) {\r\n if (!this._validationInfo.result) {\r\n return\r\n }\r\n var brokenRules = this._validationInfo.result.brokenRules;\r\n var rules = grep(brokenRules, (function(rule) {\r\n return rule.validator !== result.validator\r\n }));\r\n if (result.brokenRules) {\r\n brokenRules = rules.concat(result.brokenRules)\r\n }\r\n this._validationInfo.result.brokenRules = this._orderBrokenRules(brokenRules)\r\n },\r\n _onValidatorStatusChanged(result) {\r\n if (result.status === STATUS.pending) {\r\n this._addPendingValidator(result.validator);\r\n return\r\n }\r\n this._resolveIfComplete(result)\r\n },\r\n _resolveIfComplete(result) {\r\n this._removePendingValidator(result.validator);\r\n this._updateBrokenRules(result);\r\n if (!this._pendingValidators.length) {\r\n this._unsubscribeFromAllChangeEvents();\r\n if (!this._validationInfo.result) {\r\n return\r\n }\r\n this._validationInfo.result.status = 0 === this._validationInfo.result.brokenRules.length ? STATUS.valid : STATUS.invalid;\r\n this._validationInfo.result.isValid = this._validationInfo.result.status === STATUS.valid;\r\n var res = extend({}, this._validationInfo.result, {\r\n complete: null\r\n });\r\n var deferred = this._validationInfo.deferred;\r\n this._validationInfo.deferred = null;\r\n this._raiseValidatedEvent(res);\r\n deferred && setTimeout(() => {\r\n deferred.resolve(res)\r\n })\r\n }\r\n },\r\n _raiseValidatedEvent(result) {\r\n this._eventsStrategy.fireEvent(\"validated\", [result])\r\n },\r\n _resetValidationInfo() {\r\n this._validationInfo = {\r\n result: null,\r\n deferred: null\r\n }\r\n },\r\n _synchronizeValidationInfo() {\r\n if (this._validationInfo.result) {\r\n this._validationInfo.result.validators = this.validators\r\n }\r\n },\r\n removeRegisteredValidator(validator) {\r\n var index = this.validators.indexOf(validator);\r\n if (index > -1) {\r\n this.validators.splice(index, 1);\r\n this._synchronizeValidationInfo();\r\n this._resolveIfComplete({\r\n validator: validator\r\n })\r\n }\r\n },\r\n registerValidator(validator) {\r\n if (!this.validators.includes(validator)) {\r\n this.validators.push(validator);\r\n this._synchronizeValidationInfo()\r\n }\r\n },\r\n reset() {\r\n each(this.validators, (function(_, validator) {\r\n validator.reset()\r\n }));\r\n this._pendingValidators = [];\r\n this._resetValidationInfo()\r\n },\r\n on(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n }\r\n});\r\nvar ValidationEngine = {\r\n groups: [],\r\n getGroupConfig(group) {\r\n var result = grep(this.groups, (function(config) {\r\n return config.group === group\r\n }));\r\n if (result.length) {\r\n return result[0]\r\n }\r\n },\r\n findGroup($element, model) {\r\n var _$element$data, _$element$data$dxComp;\r\n var hasValidationGroup = null === (_$element$data = $element.data()) || void 0 === _$element$data ? void 0 : null === (_$element$data$dxComp = _$element$data.dxComponents) || void 0 === _$element$data$dxComp ? void 0 : _$element$data$dxComp.includes(\"dxValidationGroup\");\r\n var validationGroup = hasValidationGroup && $element.dxValidationGroup(\"instance\");\r\n if (validationGroup) {\r\n return validationGroup\r\n }\r\n var $dxGroup = $element.parents(\".dx-validationgroup\").first();\r\n if ($dxGroup.length) {\r\n return $dxGroup.dxValidationGroup(\"instance\")\r\n }\r\n return model\r\n },\r\n initGroups() {\r\n this.groups = [];\r\n this.addGroup()\r\n },\r\n addGroup(group) {\r\n var config = this.getGroupConfig(group);\r\n if (!config) {\r\n config = new GroupConfig(group);\r\n this.groups.push(config)\r\n }\r\n return config\r\n },\r\n removeGroup(group) {\r\n var config = this.getGroupConfig(group);\r\n var index = this.groups.indexOf(config);\r\n if (index > -1) {\r\n this.groups.splice(index, 1)\r\n }\r\n return config\r\n },\r\n _setDefaultMessage(info) {\r\n var {\r\n rule: rule,\r\n validator: validator,\r\n name: name\r\n } = info;\r\n if (!isDefined(rule.message)) {\r\n if (validator.defaultFormattedMessage && isDefined(name)) {\r\n rule.message = validator.defaultFormattedMessage(name)\r\n } else {\r\n rule.message = validator.defaultMessage()\r\n }\r\n }\r\n },\r\n _addBrokenRule(info) {\r\n var {\r\n result: result,\r\n rule: rule\r\n } = info;\r\n if (!result.brokenRule) {\r\n result.brokenRule = rule\r\n }\r\n if (!result.brokenRules) {\r\n result.brokenRules = []\r\n }\r\n result.brokenRules.push(rule)\r\n },\r\n validate(value, rules, name) {\r\n var _rules$;\r\n var result = {\r\n name: name,\r\n value: value,\r\n brokenRule: null,\r\n brokenRules: null,\r\n isValid: true,\r\n validationRules: rules,\r\n pendingRules: null,\r\n status: STATUS.valid,\r\n complete: null\r\n };\r\n var validator = null === rules || void 0 === rules ? void 0 : null === (_rules$ = rules[0]) || void 0 === _rules$ ? void 0 : _rules$.validator;\r\n var asyncRuleItems = [];\r\n each(rules || [], (_, rule) => {\r\n var ruleValidator = rulesValidators[rule.type];\r\n var ruleValidationResult;\r\n if (ruleValidator) {\r\n if (isDefined(rule.isValid) && rule.value === value && !rule.reevaluate) {\r\n if (!rule.isValid) {\r\n result.isValid = false;\r\n this._addBrokenRule({\r\n result: result,\r\n rule: rule\r\n });\r\n return false\r\n }\r\n return true\r\n }\r\n rule.value = value;\r\n if (\"async\" === rule.type) {\r\n asyncRuleItems.push({\r\n rule: rule,\r\n ruleValidator: ruleValidator\r\n });\r\n return true\r\n }\r\n ruleValidationResult = ruleValidator.validate(value, rule);\r\n rule.isValid = ruleValidationResult;\r\n if (!ruleValidationResult) {\r\n result.isValid = false;\r\n this._setDefaultMessage({\r\n rule: rule,\r\n validator: ruleValidator,\r\n name: name\r\n });\r\n this._addBrokenRule({\r\n result: result,\r\n rule: rule\r\n })\r\n }\r\n if (!rule.isValid) {\r\n return false\r\n }\r\n } else {\r\n throw errors.Error(\"E0100\")\r\n }\r\n });\r\n if (result.isValid && !result.brokenRules && asyncRuleItems.length) {\r\n result = this._validateAsyncRules({\r\n value: value,\r\n items: asyncRuleItems,\r\n result: result,\r\n name: name\r\n })\r\n }\r\n this._synchronizeGroupValidationInfo(validator, result);\r\n result.status = result.pendingRules ? STATUS.pending : result.isValid ? STATUS.valid : STATUS.invalid;\r\n return result\r\n },\r\n _synchronizeGroupValidationInfo(validator, result) {\r\n var _result$brokenRules;\r\n if (!validator) {\r\n return\r\n }\r\n var groupConfig = ValidationEngine.getGroupConfig(validator._validationGroup);\r\n groupConfig._updateBrokenRules.call(groupConfig, {\r\n validator: validator,\r\n brokenRules: null !== (_result$brokenRules = result.brokenRules) && void 0 !== _result$brokenRules ? _result$brokenRules : []\r\n })\r\n },\r\n _validateAsyncRules(_ref) {\r\n var {\r\n result: result,\r\n value: value,\r\n items: items,\r\n name: name\r\n } = _ref;\r\n var asyncResults = [];\r\n each(items, (_, item) => {\r\n var validateResult = item.ruleValidator.validate(value, item.rule);\r\n if (!isPromise(validateResult)) {\r\n this._updateRuleConfig({\r\n rule: item.rule,\r\n ruleResult: this._getPatchedRuleResult(validateResult),\r\n validator: item.ruleValidator,\r\n name: name\r\n })\r\n } else {\r\n if (!result.pendingRules) {\r\n result.pendingRules = []\r\n }\r\n result.pendingRules.push(item.rule);\r\n var asyncResult = validateResult.then(res => {\r\n var ruleResult = this._getPatchedRuleResult(res);\r\n this._updateRuleConfig({\r\n rule: item.rule,\r\n ruleResult: ruleResult,\r\n validator: item.ruleValidator,\r\n name: name\r\n });\r\n return ruleResult\r\n });\r\n asyncResults.push(asyncResult)\r\n }\r\n });\r\n if (asyncResults.length) {\r\n result.complete = Promise.all(asyncResults).then(values => this._getAsyncRulesResult({\r\n result: result,\r\n values: values\r\n }))\r\n }\r\n return result\r\n },\r\n _updateRuleConfig(_ref2) {\r\n var {\r\n rule: rule,\r\n ruleResult: ruleResult,\r\n validator: validator,\r\n name: name\r\n } = _ref2;\r\n rule.isValid = ruleResult.isValid;\r\n if (!ruleResult.isValid) {\r\n if (isDefined(ruleResult.message) && isString(ruleResult.message) && ruleResult.message.length) {\r\n rule.message = ruleResult.message\r\n } else {\r\n this._setDefaultMessage({\r\n rule: rule,\r\n validator: validator,\r\n name: name\r\n })\r\n }\r\n }\r\n },\r\n _getPatchedRuleResult(ruleResult) {\r\n var result;\r\n if (isObject(ruleResult)) {\r\n result = extend({}, ruleResult);\r\n if (!isDefined(result.isValid)) {\r\n result.isValid = true\r\n }\r\n } else {\r\n result = {\r\n isValid: isBoolean(ruleResult) ? ruleResult : true\r\n }\r\n }\r\n return result\r\n },\r\n _getAsyncRulesResult(_ref3) {\r\n var {\r\n values: values,\r\n result: result\r\n } = _ref3;\r\n each(values, (index, val) => {\r\n if (false === val.isValid) {\r\n result.isValid = val.isValid;\r\n var rule = result.pendingRules[index];\r\n this._addBrokenRule({\r\n result: result,\r\n rule: rule\r\n })\r\n }\r\n });\r\n result.pendingRules = null;\r\n result.complete = null;\r\n result.status = result.isValid ? STATUS.valid : STATUS.invalid;\r\n return result\r\n },\r\n registerValidatorInGroup(group, validator) {\r\n var groupConfig = ValidationEngine.addGroup(group);\r\n groupConfig.registerValidator.call(groupConfig, validator)\r\n },\r\n _shouldRemoveGroup(group, validatorsInGroup) {\r\n var isDefaultGroup = void 0 === group;\r\n var isValidationGroupInstance = group && \"dxValidationGroup\" === group.NAME;\r\n return !isDefaultGroup && !isValidationGroupInstance && !validatorsInGroup.length\r\n },\r\n removeRegisteredValidator(group, validator) {\r\n var config = ValidationEngine.getGroupConfig(group);\r\n if (config) {\r\n config.removeRegisteredValidator.call(config, validator);\r\n var validatorsInGroup = config.validators;\r\n if (this._shouldRemoveGroup(group, validatorsInGroup)) {\r\n this.removeGroup(group)\r\n }\r\n }\r\n },\r\n initValidationOptions(options) {\r\n var initedOptions = {};\r\n if (options) {\r\n [\"isValid\", \"validationStatus\", \"validationError\", \"validationErrors\"].forEach(prop => {\r\n if (prop in options) {\r\n extend(initedOptions, this.synchronizeValidationOptions({\r\n name: prop,\r\n value: options[prop]\r\n }, options))\r\n }\r\n })\r\n }\r\n return initedOptions\r\n },\r\n synchronizeValidationOptions(_ref4, options) {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref4;\r\n switch (name) {\r\n case \"validationStatus\":\r\n var isValid = value === STATUS.valid || value === STATUS.pending;\r\n return options.isValid !== isValid ? {\r\n isValid: isValid\r\n } : {};\r\n case \"isValid\":\r\n var {\r\n validationStatus: validationStatus\r\n } = options;\r\n var newStatus = validationStatus;\r\n if (value && validationStatus === STATUS.invalid) {\r\n newStatus = STATUS.valid\r\n } else if (!value && validationStatus !== STATUS.invalid) {\r\n newStatus = STATUS.invalid\r\n }\r\n return newStatus !== validationStatus ? {\r\n validationStatus: newStatus\r\n } : {};\r\n case \"validationErrors\":\r\n var validationError = !value || !value.length ? null : value[0];\r\n return options.validationError !== validationError ? {\r\n validationError: validationError\r\n } : {};\r\n case \"validationError\":\r\n var {\r\n validationErrors: validationErrors\r\n } = options;\r\n if (!value && validationErrors) {\r\n return {\r\n validationErrors: null\r\n }\r\n } else if (value && !validationErrors) {\r\n return {\r\n validationErrors: [value]\r\n }\r\n } else if (value && validationErrors && value !== validationErrors[0]) {\r\n validationErrors[0] = value;\r\n return {\r\n validationErrors: validationErrors.slice()\r\n }\r\n }\r\n }\r\n return {}\r\n },\r\n validateGroup(group) {\r\n var groupConfig = ValidationEngine.getGroupConfig(group);\r\n if (!groupConfig) {\r\n throw errors.Error(\"E0110\")\r\n }\r\n return groupConfig.validate()\r\n },\r\n resetGroup(group) {\r\n var groupConfig = ValidationEngine.getGroupConfig(group);\r\n if (!groupConfig) {\r\n throw errors.Error(\"E0110\")\r\n }\r\n return groupConfig.reset()\r\n }\r\n};\r\nValidationEngine.initGroups();\r\nexport default ValidationEngine;\r\n","/**\r\n * DevExtreme (esm/ui/validation_group.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport DOMComponent from \"../core/dom_component\";\r\nimport ValidationSummary from \"./validation_summary\";\r\nimport ValidationEngine from \"./validation_engine\";\r\nimport Validator from \"./validator\";\r\nvar VALIDATION_ENGINE_CLASS = \"dx-validationgroup\";\r\nvar VALIDATOR_CLASS = \"dx-validator\";\r\nvar VALIDATION_SUMMARY_CLASS = \"dx-validationsummary\";\r\nclass ValidationGroup extends DOMComponent {\r\n _getDefaultOptions() {\r\n return super._getDefaultOptions()\r\n }\r\n _init() {\r\n super._init();\r\n ValidationEngine.addGroup(this)\r\n }\r\n _initMarkup() {\r\n var $element = this.$element();\r\n $element.addClass(VALIDATION_ENGINE_CLASS);\r\n $element.find(\".\".concat(VALIDATOR_CLASS)).each((function(_, validatorContainer) {\r\n Validator.getInstance($(validatorContainer))._initGroupRegistration()\r\n }));\r\n $element.find(\".\".concat(VALIDATION_SUMMARY_CLASS)).each((function(_, summaryContainer) {\r\n ValidationSummary.getInstance($(summaryContainer)).refreshValidationGroup()\r\n }));\r\n super._initMarkup()\r\n }\r\n validate() {\r\n return ValidationEngine.validateGroup(this)\r\n }\r\n reset() {\r\n return ValidationEngine.resetGroup(this)\r\n }\r\n _dispose() {\r\n ValidationEngine.removeGroup(this);\r\n this.$element().removeClass(VALIDATION_ENGINE_CLASS);\r\n super._dispose()\r\n }\r\n _useTemplates() {\r\n return false\r\n }\r\n}\r\nregisterComponent(\"dxValidationGroup\", ValidationGroup);\r\nexport default ValidationGroup;\r\n","/**\r\n * DevExtreme (esm/ui/validation_message.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n getOuterWidth\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport Overlay from \"./overlay/ui.overlay\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n encodeHtml\r\n} from \"../core/utils/string\";\r\nimport {\r\n getDefaultAlignment\r\n} from \"../core/utils/position\";\r\nvar INVALID_MESSAGE = \"dx-invalid-message\";\r\nvar INVALID_MESSAGE_AUTO = \"dx-invalid-message-auto\";\r\nvar INVALID_MESSAGE_ALWAYS = \"dx-invalid-message-always\";\r\nvar INVALID_MESSAGE_CONTENT = \"dx-invalid-message-content\";\r\nvar VALIDATION_MESSAGE_MIN_WIDTH = 100;\r\nvar ValidationMessage = Overlay.inherit({\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n integrationOptions: {},\r\n templatesRenderAsynchronously: false,\r\n shading: false,\r\n width: \"auto\",\r\n height: \"auto\",\r\n hideOnOutsideClick: false,\r\n animation: null,\r\n visible: true,\r\n propagateOutsideClick: true,\r\n _checkParentVisibility: false,\r\n rtlEnabled: false,\r\n contentTemplate: this._renderInnerHtml,\r\n maxWidth: \"100%\",\r\n container: this.$element(),\r\n target: void 0,\r\n mode: \"auto\",\r\n validationErrors: void 0,\r\n positionSide: \"top\",\r\n boundary: void 0,\r\n offset: {\r\n h: 0,\r\n v: 0\r\n },\r\n contentId: void 0\r\n })\r\n },\r\n _init() {\r\n this.callBase();\r\n this.updateMaxWidth();\r\n this._updatePosition()\r\n },\r\n _initMarkup() {\r\n this.callBase();\r\n this._ensureMessageNotEmpty();\r\n this._updatePositionByTarget();\r\n this._toggleModeClass();\r\n this._updateContentId()\r\n },\r\n _updatePositionByTarget: function() {\r\n var {\r\n target: target\r\n } = this.option();\r\n this.option(\"position.of\", target)\r\n },\r\n _ensureMessageNotEmpty: function() {\r\n this._textMarkup = this._getTextMarkup();\r\n var shouldShowMessage = this.option(\"visible\") && this._textMarkup;\r\n this._toggleVisibilityClasses(shouldShowMessage)\r\n },\r\n _toggleVisibilityClasses: function(visible) {\r\n if (visible) {\r\n this.$element().addClass(INVALID_MESSAGE);\r\n this.$wrapper().addClass(INVALID_MESSAGE)\r\n } else {\r\n this.$element().removeClass(INVALID_MESSAGE);\r\n this.$wrapper().removeClass(INVALID_MESSAGE)\r\n }\r\n },\r\n _updateContentId() {\r\n var {\r\n container: container,\r\n contentId: contentId\r\n } = this.option();\r\n var id = null !== contentId && void 0 !== contentId ? contentId : $(container).attr(\"aria-describedby\");\r\n this.$content().addClass(INVALID_MESSAGE_CONTENT).attr(\"id\", id)\r\n },\r\n _renderInnerHtml(element) {\r\n var $element = element && $(element);\r\n null === $element || void 0 === $element ? void 0 : $element.html(this._textMarkup)\r\n },\r\n _getTextMarkup() {\r\n var _this$option;\r\n var validationErrors = null !== (_this$option = this.option(\"validationErrors\")) && void 0 !== _this$option ? _this$option : [];\r\n var validationErrorMessage = \"\";\r\n validationErrors.forEach(err => {\r\n var _err$message;\r\n var separator = validationErrorMessage ? \"<br />\" : \"\";\r\n validationErrorMessage += separator + encodeHtml(null !== (_err$message = null === err || void 0 === err ? void 0 : err.message) && void 0 !== _err$message ? _err$message : \"\")\r\n });\r\n return validationErrorMessage\r\n },\r\n _toggleModeClass() {\r\n var mode = this.option(\"mode\");\r\n this.$wrapper().toggleClass(INVALID_MESSAGE_AUTO, \"auto\" === mode).toggleClass(INVALID_MESSAGE_ALWAYS, \"always\" === mode)\r\n },\r\n updateMaxWidth() {\r\n var target = this.option(\"target\");\r\n var targetWidth = getOuterWidth(target);\r\n var maxWidth = \"100%\";\r\n if (targetWidth) {\r\n maxWidth = Math.max(targetWidth, VALIDATION_MESSAGE_MIN_WIDTH)\r\n }\r\n this.option({\r\n maxWidth: maxWidth\r\n })\r\n },\r\n _getPositionsArray: function(positionSide, rtlSide) {\r\n switch (positionSide) {\r\n case \"top\":\r\n return [\"\".concat(rtlSide, \" bottom\"), \"\".concat(rtlSide, \" top\")];\r\n case \"left\":\r\n return [\"right\", \"left\"];\r\n case \"right\":\r\n return [\"left\", \"right\"];\r\n default:\r\n return [\"\".concat(rtlSide, \" top\"), \"\".concat(rtlSide, \" bottom\")]\r\n }\r\n },\r\n _updatePosition: function() {\r\n var {\r\n positionSide: positionSide,\r\n rtlEnabled: rtlEnabled,\r\n offset: componentOffset,\r\n boundary: boundary\r\n } = this.option();\r\n var rtlSide = getDefaultAlignment(rtlEnabled);\r\n var positions = this._getPositionsArray(positionSide, rtlSide);\r\n var offset = _extends({}, componentOffset);\r\n this.$element().addClass(\"dx-invalid-message-\".concat(positionSide));\r\n if (rtlEnabled && \"left\" !== positionSide && \"right\" !== positionSide) {\r\n offset.h = -offset.h\r\n }\r\n if (\"top\" === positionSide) {\r\n offset.v = -offset.v\r\n }\r\n if (\"left\" === positionSide) {\r\n offset.h = -offset.h\r\n }\r\n this.option(\"position\", {\r\n offset: offset,\r\n boundary: boundary,\r\n my: positions[0],\r\n at: positions[1],\r\n collision: \"none flip\"\r\n })\r\n },\r\n _optionChanged(args) {\r\n var {\r\n name: name,\r\n value: value,\r\n previousValue: previousValue\r\n } = args;\r\n switch (name) {\r\n case \"target\":\r\n this._updatePositionByTarget();\r\n this.updateMaxWidth();\r\n this.callBase(args);\r\n break;\r\n case \"boundary\":\r\n this.option(\"position.boundary\", value);\r\n break;\r\n case \"mode\":\r\n this._toggleModeClass(value);\r\n break;\r\n case \"rtlEnabled\":\r\n case \"offset\":\r\n case \"positionSide\":\r\n this.$element().removeClass(\"dx-invalid-message-\".concat(previousValue));\r\n this._updatePosition();\r\n break;\r\n case \"container\":\r\n this._updateContentId();\r\n this.callBase(args);\r\n break;\r\n case \"contentId\":\r\n this._updateContentId();\r\n break;\r\n case \"validationErrors\":\r\n this._ensureMessageNotEmpty();\r\n this._renderInnerHtml(this.$content());\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxValidationMessage\", ValidationMessage);\r\nexport default ValidationMessage;\r\n","/**\r\n * DevExtreme (esm/ui/validation_summary.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n grep\r\n} from \"../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n each,\r\n map\r\n} from \"../core/utils/iterator\";\r\nimport ValidationEngine from \"./validation_engine\";\r\nimport CollectionWidget from \"./collection/ui.collection_widget.edit\";\r\nvar VALIDATION_SUMMARY_CLASS = \"dx-validationsummary\";\r\nvar ITEM_CLASS = VALIDATION_SUMMARY_CLASS + \"-item\";\r\nvar ITEM_DATA_KEY = VALIDATION_SUMMARY_CLASS + \"-item-data\";\r\nvar ValidationSummary = CollectionWidget.inherit({\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n focusStateEnabled: false,\r\n noDataText: null\r\n })\r\n },\r\n _setOptionsByReference() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n validationGroup: true\r\n })\r\n },\r\n _init() {\r\n this.callBase();\r\n this._initGroupRegistration()\r\n },\r\n _initGroupRegistration() {\r\n var $element = this.$element();\r\n var group = this.option(\"validationGroup\") || ValidationEngine.findGroup($element, this._modelByElement($element));\r\n var groupConfig = ValidationEngine.addGroup(group);\r\n this._unsubscribeGroup();\r\n this._groupWasInit = true;\r\n this._validationGroup = group;\r\n this.groupSubscription = this._groupValidationHandler.bind(this);\r\n groupConfig.on(\"validated\", this.groupSubscription)\r\n },\r\n _unsubscribeGroup() {\r\n var groupConfig = ValidationEngine.getGroupConfig(this._validationGroup);\r\n groupConfig && groupConfig.off(\"validated\", this.groupSubscription)\r\n },\r\n _getOrderedItems(validators, items) {\r\n var orderedItems = [];\r\n each(validators, (function(_, validator) {\r\n var foundItems = grep(items, (function(item) {\r\n if (item.validator === validator) {\r\n return true\r\n }\r\n }));\r\n if (foundItems.length) {\r\n orderedItems = orderedItems.concat(foundItems)\r\n }\r\n }));\r\n return orderedItems\r\n },\r\n _groupValidationHandler(params) {\r\n var items = this._getOrderedItems(params.validators, map(params.brokenRules, (function(rule) {\r\n return {\r\n text: rule.message,\r\n validator: rule.validator,\r\n index: rule.index\r\n }\r\n })));\r\n this.validators = params.validators;\r\n each(this.validators, (_, validator) => {\r\n if (validator._validationSummary !== this) {\r\n var handler = this._itemValidationHandler.bind(this);\r\n validator.on(\"validated\", handler);\r\n validator.on(\"disposing\", (function() {\r\n validator.off(\"validated\", handler);\r\n validator._validationSummary = null;\r\n handler = null\r\n }));\r\n validator._validationSummary = this\r\n }\r\n });\r\n this.option(\"items\", items)\r\n },\r\n _itemValidationHandler(_ref) {\r\n var {\r\n isValid: isValid,\r\n validator: validator,\r\n brokenRules: brokenRules\r\n } = _ref;\r\n var items = this.option(\"items\");\r\n var itemsChanged = false;\r\n var itemIndex = 0;\r\n var _loop = function() {\r\n var item = items[itemIndex];\r\n if (item.validator === validator) {\r\n var foundRule = grep(brokenRules || [], (function(rule) {\r\n return rule.index === item.index\r\n }))[0];\r\n if (isValid || !foundRule) {\r\n items.splice(itemIndex, 1);\r\n itemsChanged = true;\r\n return \"continue\"\r\n }\r\n if (foundRule.message !== item.text) {\r\n item.text = foundRule.message;\r\n itemsChanged = true\r\n }\r\n }\r\n itemIndex++\r\n };\r\n while (itemIndex < items.length) {\r\n var _ret = _loop();\r\n if (\"continue\" === _ret) {\r\n continue\r\n }\r\n }\r\n each(brokenRules, (function(_, rule) {\r\n var foundItem = grep(items, (function(item) {\r\n return item.validator === validator && item.index === rule.index\r\n }))[0];\r\n if (!foundItem) {\r\n items.push({\r\n text: rule.message,\r\n validator: validator,\r\n index: rule.index\r\n });\r\n itemsChanged = true\r\n }\r\n }));\r\n if (itemsChanged) {\r\n items = this._getOrderedItems(this.validators, items);\r\n this.option(\"items\", items)\r\n }\r\n },\r\n _initMarkup() {\r\n this.$element().addClass(VALIDATION_SUMMARY_CLASS);\r\n this.callBase()\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"validationGroup\":\r\n this._initGroupRegistration();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _itemClass: () => ITEM_CLASS,\r\n _itemDataKey: () => ITEM_DATA_KEY,\r\n _postprocessRenderItem(params) {\r\n eventsEngine.on(params.itemElement, \"click\", (function() {\r\n params.itemData.validator && params.itemData.validator.focus && params.itemData.validator.focus()\r\n }))\r\n },\r\n _dispose() {\r\n this.callBase();\r\n this._unsubscribeGroup()\r\n },\r\n refreshValidationGroup() {\r\n this._initGroupRegistration()\r\n }\r\n});\r\nregisterComponent(\"dxValidationSummary\", ValidationSummary);\r\nexport default ValidationSummary;\r\n","/**\r\n * DevExtreme (esm/ui/validation/default_adapter.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nvar DefaultAdapter = Class.inherit({\r\n ctor(editor, validator) {\r\n this.editor = editor;\r\n this.validator = validator;\r\n this.validationRequestsCallbacks = [];\r\n var handler = args => {\r\n this.validationRequestsCallbacks.forEach(item => item(args))\r\n };\r\n editor.validationRequest.add(handler);\r\n editor.on(\"disposing\", (function() {\r\n editor.validationRequest.remove(handler)\r\n }))\r\n },\r\n getValue() {\r\n return this.editor.option(\"value\")\r\n },\r\n getCurrentValidationError() {\r\n return this.editor.option(\"validationError\")\r\n },\r\n bypass() {\r\n return this.editor.option(\"disabled\")\r\n },\r\n applyValidationResults(params) {\r\n this.editor.option({\r\n validationErrors: params.brokenRules,\r\n validationStatus: params.status\r\n })\r\n },\r\n reset() {\r\n this.editor.reset()\r\n },\r\n focus() {\r\n this.editor.focus()\r\n }\r\n});\r\nexport default DefaultAdapter;\r\n","/**\r\n * DevExtreme (esm/ui/validator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n data as elementData\r\n} from \"../core/element_data\";\r\nimport Callbacks from \"../core/utils/callbacks\";\r\nimport errors from \"./widget/ui.errors\";\r\nimport DOMComponent from \"../core/dom_component\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n map\r\n} from \"../core/utils/iterator\";\r\nimport ValidationEngine from \"./validation_engine\";\r\nimport DefaultAdapter from \"./validation/default_adapter\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport Guid from \"../core/guid\";\r\nvar VALIDATOR_CLASS = \"dx-validator\";\r\nvar VALIDATION_STATUS_VALID = \"valid\";\r\nvar VALIDATION_STATUS_INVALID = \"invalid\";\r\nvar VALIDATION_STATUS_PENDING = \"pending\";\r\nvar Validator = DOMComponent.inherit({\r\n _initOptions: function(options) {\r\n this.callBase.apply(this, arguments);\r\n this.option(ValidationEngine.initValidationOptions(options))\r\n },\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n validationRules: []\r\n })\r\n },\r\n _init() {\r\n this.callBase();\r\n this._initGroupRegistration();\r\n this.focused = Callbacks();\r\n this._initAdapter();\r\n this._validationInfo = {\r\n result: null,\r\n deferred: null,\r\n skipValidation: false\r\n }\r\n },\r\n _initGroupRegistration() {\r\n var group = this._findGroup();\r\n if (!this._groupWasInit) {\r\n this.on(\"disposing\", (function(args) {\r\n ValidationEngine.removeRegisteredValidator(args.component._validationGroup, args.component)\r\n }))\r\n }\r\n if (!this._groupWasInit || this._validationGroup !== group) {\r\n ValidationEngine.removeRegisteredValidator(this._validationGroup, this);\r\n this._groupWasInit = true;\r\n this._validationGroup = group;\r\n ValidationEngine.registerValidatorInGroup(group, this)\r\n }\r\n },\r\n _setOptionsByReference() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n validationGroup: true\r\n })\r\n },\r\n _getEditor() {\r\n var element = this.$element()[0];\r\n return elementData(element, \"dx-validation-target\")\r\n },\r\n _initAdapter() {\r\n var dxStandardEditor = this._getEditor();\r\n var adapter = this.option(\"adapter\");\r\n if (!adapter) {\r\n if (dxStandardEditor) {\r\n adapter = new DefaultAdapter(dxStandardEditor, this);\r\n adapter.validationRequestsCallbacks.push(args => {\r\n if (this._validationInfo.skipValidation) {\r\n return\r\n }\r\n this.validate(args)\r\n });\r\n this.option(\"adapter\", adapter);\r\n return\r\n }\r\n throw errors.Error(\"E0120\")\r\n }\r\n var callbacks = adapter.validationRequestsCallbacks;\r\n if (callbacks) {\r\n callbacks.push(args => {\r\n this.validate(args)\r\n })\r\n }\r\n },\r\n _toggleRTLDirection(isRtl) {\r\n var _this$option$editor$o, _this$option, _this$option$editor;\r\n var rtlEnabled = null !== (_this$option$editor$o = null === (_this$option = this.option(\"adapter\")) || void 0 === _this$option ? void 0 : null === (_this$option$editor = _this$option.editor) || void 0 === _this$option$editor ? void 0 : _this$option$editor.option(\"rtlEnabled\")) && void 0 !== _this$option$editor$o ? _this$option$editor$o : isRtl;\r\n this.callBase(rtlEnabled)\r\n },\r\n _initMarkup() {\r\n this.$element().addClass(VALIDATOR_CLASS);\r\n this.callBase()\r\n },\r\n _render() {\r\n this.callBase();\r\n this._toggleAccessibilityAttributes()\r\n },\r\n _toggleAccessibilityAttributes() {\r\n var dxStandardEditor = this._getEditor();\r\n if (dxStandardEditor) {\r\n var rules = this.option(\"validationRules\") || [];\r\n var isRequired = rules.some(_ref => {\r\n var {\r\n type: type\r\n } = _ref;\r\n return \"required\" === type\r\n }) || null;\r\n if (dxStandardEditor.isInitialized()) {\r\n dxStandardEditor.setAria(\"required\", isRequired)\r\n }\r\n dxStandardEditor.option(\"_onMarkupRendered\", () => {\r\n dxStandardEditor.setAria(\"required\", isRequired)\r\n })\r\n }\r\n },\r\n _visibilityChanged(visible) {\r\n if (visible) {\r\n this._initGroupRegistration()\r\n }\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"validationGroup\":\r\n this._initGroupRegistration();\r\n return;\r\n case \"validationRules\":\r\n this._resetValidationRules();\r\n this._toggleAccessibilityAttributes();\r\n void 0 !== this.option(\"isValid\") && this.validate();\r\n return;\r\n case \"adapter\":\r\n this._initAdapter();\r\n break;\r\n case \"isValid\":\r\n case \"validationStatus\":\r\n this.option(ValidationEngine.synchronizeValidationOptions(args, this.option()));\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _getValidationRules() {\r\n if (!this._validationRules) {\r\n this._validationRules = map(this.option(\"validationRules\"), (rule, index) => extend({}, rule, {\r\n validator: this,\r\n index: index\r\n }))\r\n }\r\n return this._validationRules\r\n },\r\n _findGroup() {\r\n var $element = this.$element();\r\n return this.option(\"validationGroup\") || ValidationEngine.findGroup($element, this._modelByElement($element))\r\n },\r\n _resetValidationRules() {\r\n delete this._validationRules\r\n },\r\n validate(args) {\r\n var adapter = this.option(\"adapter\");\r\n var name = this.option(\"name\");\r\n var bypass = adapter.bypass && adapter.bypass();\r\n var value = args && void 0 !== args.value ? args.value : adapter.getValue();\r\n var currentError = adapter.getCurrentValidationError && adapter.getCurrentValidationError();\r\n var rules = this._getValidationRules();\r\n var currentResult = this._validationInfo && this._validationInfo.result;\r\n if (currentResult && currentResult.status === VALIDATION_STATUS_PENDING && currentResult.value === value) {\r\n return extend({}, currentResult)\r\n }\r\n var result;\r\n if (bypass) {\r\n result = {\r\n isValid: true,\r\n status: VALIDATION_STATUS_VALID\r\n }\r\n } else if (currentError && currentError.editorSpecific) {\r\n currentError.validator = this;\r\n result = {\r\n isValid: false,\r\n status: VALIDATION_STATUS_INVALID,\r\n brokenRule: currentError,\r\n brokenRules: [currentError]\r\n }\r\n } else {\r\n result = ValidationEngine.validate(value, rules, name)\r\n }\r\n result.id = (new Guid).toString();\r\n this._applyValidationResult(result, adapter);\r\n result.complete && result.complete.then(res => {\r\n if (res.id === this._validationInfo.result.id) {\r\n this._applyValidationResult(res, adapter)\r\n }\r\n });\r\n return extend({}, this._validationInfo.result)\r\n },\r\n reset() {\r\n var adapter = this.option(\"adapter\");\r\n var result = {\r\n id: null,\r\n isValid: true,\r\n brokenRule: null,\r\n brokenRules: null,\r\n pendingRules: null,\r\n status: VALIDATION_STATUS_VALID,\r\n complete: null\r\n };\r\n this._validationInfo.skipValidation = true;\r\n adapter.reset();\r\n this._validationInfo.skipValidation = false;\r\n this._resetValidationRules();\r\n this._applyValidationResult(result, adapter)\r\n },\r\n _updateValidationResult(result) {\r\n if (!this._validationInfo.result || this._validationInfo.result.id !== result.id) {\r\n var complete = this._validationInfo.deferred && this._validationInfo.result.complete;\r\n this._validationInfo.result = extend({}, result, {\r\n complete: complete\r\n })\r\n } else {\r\n for (var prop in result) {\r\n if (\"id\" !== prop && \"complete\" !== prop) {\r\n this._validationInfo.result[prop] = result[prop]\r\n }\r\n }\r\n }\r\n },\r\n _applyValidationResult(result, adapter) {\r\n var validatedAction = this._createActionByOption(\"onValidated\", {\r\n excludeValidators: [\"readOnly\"]\r\n });\r\n result.validator = this;\r\n this._updateValidationResult(result);\r\n adapter.applyValidationResults && adapter.applyValidationResults(this._validationInfo.result);\r\n this.option({\r\n validationStatus: this._validationInfo.result.status\r\n });\r\n if (this._validationInfo.result.status === VALIDATION_STATUS_PENDING) {\r\n if (!this._validationInfo.deferred) {\r\n this._validationInfo.deferred = new Deferred;\r\n this._validationInfo.result.complete = this._validationInfo.deferred.promise()\r\n }\r\n this._eventsStrategy.fireEvent(\"validating\", [this._validationInfo.result]);\r\n return\r\n }\r\n if (this._validationInfo.result.status !== VALIDATION_STATUS_PENDING) {\r\n validatedAction(result);\r\n if (this._validationInfo.deferred) {\r\n this._validationInfo.deferred.resolve(result);\r\n this._validationInfo.deferred = null\r\n }\r\n }\r\n },\r\n focus() {\r\n var adapter = this.option(\"adapter\");\r\n adapter && adapter.focus && adapter.focus()\r\n },\r\n _useTemplates: function() {\r\n return false\r\n }\r\n});\r\nregisterComponent(\"dxValidator\", Validator);\r\nexport default Validator;\r\n","/**\r\n * DevExtreme (esm/ui/widget/selectors.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nvar focusableFn = function(element, tabIndex) {\r\n if (!visible(element)) {\r\n return false\r\n }\r\n var nodeName = element.nodeName.toLowerCase();\r\n var isTabIndexNotNaN = !isNaN(tabIndex);\r\n var isDisabled = element.disabled;\r\n var isDefaultFocus = /^(input|select|textarea|button|object|iframe)$/.test(nodeName);\r\n var isHyperlink = \"a\" === nodeName;\r\n var isFocusable;\r\n var isContentEditable = element.isContentEditable;\r\n if (isDefaultFocus || isContentEditable) {\r\n isFocusable = !isDisabled\r\n } else if (isHyperlink) {\r\n isFocusable = element.href || isTabIndexNotNaN\r\n } else {\r\n isFocusable = isTabIndexNotNaN\r\n }\r\n return isFocusable\r\n};\r\n\r\nfunction visible(element) {\r\n var $element = $(element);\r\n return $element.is(\":visible\") && \"hidden\" !== $element.css(\"visibility\") && \"hidden\" !== $element.parents().css(\"visibility\")\r\n}\r\nexport var focusable = function(index, element) {\r\n return focusableFn(element, $(element).attr(\"tabIndex\"))\r\n};\r\nexport var tabbable = function(index, element) {\r\n var tabIndex = $(element).attr(\"tabIndex\");\r\n return (isNaN(tabIndex) || tabIndex >= 0) && focusableFn(element, tabIndex)\r\n};\r\nexport var focused = function($element) {\r\n var element = $($element).get(0);\r\n return domAdapter.getActiveElement(element) === element\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/widget/swatch_container.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n value\r\n} from \"../../core/utils/view_port\";\r\nvar SWATCH_CONTAINER_CLASS_PREFIX = \"dx-swatch-\";\r\nvar getSwatchContainer = element => {\r\n var $element = $(element);\r\n var swatchContainer = $element.closest('[class^=\"'.concat(SWATCH_CONTAINER_CLASS_PREFIX, '\"], [class*=\" ').concat(SWATCH_CONTAINER_CLASS_PREFIX, '\"]'));\r\n var viewport = value();\r\n if (!swatchContainer.length) {\r\n return viewport\r\n }\r\n var swatchClassRegex = new RegExp(\"(\\\\s|^)(\".concat(SWATCH_CONTAINER_CLASS_PREFIX, \".*?)(\\\\s|$)\"));\r\n var swatchClass = swatchContainer[0].className.match(swatchClassRegex)[2];\r\n var viewportSwatchContainer = viewport.children(\".\" + swatchClass);\r\n if (!viewportSwatchContainer.length) {\r\n viewportSwatchContainer = $(\"<div>\").addClass(swatchClass).appendTo(viewport)\r\n }\r\n return viewportSwatchContainer\r\n};\r\nexport default {\r\n getSwatchContainer: getSwatchContainer\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/widget/ui.errors.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errorUtils from \"../../core/utils/error\";\r\nimport errors from \"../../core/errors\";\r\nexport default errorUtils(errors.ERROR_MESSAGES, {\r\n E1001: \"Module '{0}'. Controller '{1}' is already registered\",\r\n E1002: \"Module '{0}'. Controller '{1}' does not inherit from DevExpress.ui.dxDataGrid.Controller\",\r\n E1003: \"Module '{0}'. View '{1}' is already registered\",\r\n E1004: \"Module '{0}'. View '{1}' does not inherit from DevExpress.ui.dxDataGrid.View\",\r\n E1005: \"Public method '{0}' is already registered\",\r\n E1006: \"Public method '{0}.{1}' does not exist\",\r\n E1007: \"State storing cannot be provided due to the restrictions of the browser\",\r\n E1010: \"The template does not contain the TextBox widget\",\r\n E1011: 'Items cannot be deleted from the List. Implement the \"remove\" function in the data store',\r\n E1012: \"Editing type '{0}' with the name '{1}' is unsupported\",\r\n E1016: \"Unexpected type of data source is provided for a lookup column\",\r\n E1018: \"The 'collapseAll' method cannot be called if you use a remote data source\",\r\n E1019: \"Search mode '{0}' is unavailable\",\r\n E1020: \"The type cannot be changed after initialization\",\r\n E1021: \"{0} '{1}' you are trying to remove does not exist\",\r\n E1022: 'The \"markers\" option is given an invalid value. Assign an array instead',\r\n E1023: 'The \"routes\" option is given an invalid value. Assign an array instead',\r\n E1025: \"This layout is too complex to render\",\r\n E1026: 'The \"calculateCustomSummary\" function is missing from a field whose \"summaryType\" option is set to \"custom\"',\r\n E1031: \"Unknown subscription in the Scheduler widget: '{0}'\",\r\n E1032: \"Unknown start date in an appointment: '{0}'\",\r\n E1033: \"Unknown step in the date navigator: '{0}'\",\r\n E1034: \"The browser does not implement an API for saving files\",\r\n E1035: \"The editor cannot be created: {0}\",\r\n E1037: \"Invalid structure of grouped data\",\r\n E1038: \"The browser does not support local storages for local web pages\",\r\n E1039: \"A cell's position cannot be calculated\",\r\n E1040: \"The '{0}' key value is not unique within the data array\",\r\n E1041: \"The '{0}' script is referenced after the DevExtreme scripts or not referenced at all\",\r\n E1042: \"{0} requires the key field to be specified\",\r\n E1043: \"Changes cannot be processed due to the incorrectly set key\",\r\n E1044: \"The key field specified by the keyExpr option does not match the key field specified in the data store\",\r\n E1045: \"Editing requires the key field to be specified in the data store\",\r\n E1046: \"The '{0}' key field is not found in data objects\",\r\n E1047: 'The \"{0}\" field is not found in the fields array',\r\n E1048: 'The \"{0}\" operation is not found in the filterOperations array',\r\n E1049: \"Column '{0}': filtering is allowed but the 'dataField' or 'name' option is not specified\",\r\n E1050: \"The validationRules option does not apply to third-party editors defined in the editCellTemplate\",\r\n E1051: 'HtmlEditor\\'s valueType is \"{0}\", but the {0} converter was not imported.',\r\n E1052: '{0} should have the \"dataSource\" option specified',\r\n E1053: 'The \"buttons\" option accepts an array that contains only objects or string values',\r\n E1054: \"All text editor buttons must have names\",\r\n E1055: 'One or several text editor buttons have invalid or non-unique \"name\" values',\r\n E1056: 'The {0} widget does not support buttons of the \"{1}\" type',\r\n E1058: 'The \"startDayHour\" must be earlier than the \"endDayHour\"',\r\n E1059: \"The following column names are not unique: {0}\",\r\n E1060: \"All editable columns must have names\",\r\n W1001: 'The \"key\" option cannot be modified after initialization',\r\n W1002: \"An item with the key '{0}' does not exist\",\r\n W1003: \"A group with the key '{0}' in which you are trying to select items does not exist\",\r\n W1004: \"The item '{0}' you are trying to select in the group '{1}' does not exist\",\r\n W1005: \"Due to column data types being unspecified, data has been loaded twice in order to apply initial filter settings. To resolve this issue, specify data types for all grid columns.\",\r\n W1006: \"The map service returned the following error: '{0}'\",\r\n W1007: \"No item with key {0} was found in the data source, but this key was used as the parent key for item {1}\",\r\n W1008: \"Cannot scroll to the '{0}' date because it does not exist on the current view\",\r\n W1009: \"Searching works only if data is specified using the dataSource option\",\r\n W1010: \"The capability to select all items works with source data of plain structure only\",\r\n W1011: 'The \"keyExpr\" option is not applied when dataSource is not an array',\r\n W1012: \"The '{0}' key field is not found in data objects\",\r\n W1013: 'The \"message\" field in the dialog component was renamed to \"messageHtml\". Change your code correspondingly. In addition, if you used HTML code in the message, make sure that it is secure',\r\n W1014: \"The Floating Action Button exceeds the recommended speed dial action count. If you need to display more speed dial actions, increase the maxSpeedDialActionCount option value in the global config.\",\r\n W1015: 'The \"cellDuration\" should divide the range from the \"startDayHour\" to the \"endDayHour\" into even intervals',\r\n W1016: \"The '{0}' field in the HTML Editor toolbar item configuration was renamed to '{1}'. Please make a corresponding change in your code.\",\r\n W1017: \"The 'key' property is not specified for a lookup data source. Please specify it to prevent requests for the entire dataset when users filter data.\",\r\n W1018: \"Infinite scrolling may not work properly with multiple selection. To use these features together, set 'selection.deferred' to true or set 'selection.selectAllMode' to 'page'.\",\r\n W1019: \"Filter query string exceeds maximum length limit of {0} characters.\",\r\n W1020: \"hideEvent is ignored when the shading property is true\",\r\n W1021: \"The '{0}' is not rendered because none of the DOM elements match the value of the \\\"container\\\" property.\",\r\n W1022: \"{0} JSON parsing error: '{1}'\",\r\n W1023: \"Appointments require unique keys. Otherwise, the agenda view may not work correctly.\",\r\n W1025: \"'scrolling.mode' is set to 'virtual' or 'infinite'. Specify the height of the component.\"\r\n});\r\n","/**\r\n * DevExtreme (esm/ui/widget/ui.search_box_mixin.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n stubComponent\r\n} from \"../../core/utils/stubs\";\r\nvar EditorClass = stubComponent(\"TextBox\");\r\nexport default {\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n searchMode: \"\",\r\n searchExpr: null,\r\n searchValue: \"\",\r\n searchEnabled: false,\r\n searchEditorOptions: {}\r\n })\r\n },\r\n _initMarkup: function() {\r\n this._renderSearch();\r\n this.callBase()\r\n },\r\n _renderSearch: function() {\r\n var $element = this.$element();\r\n var searchEnabled = this.option(\"searchEnabled\");\r\n var searchBoxClassName = this._addWidgetPrefix(\"search\");\r\n var rootElementClassName = this._addWidgetPrefix(\"with-search\");\r\n if (!searchEnabled) {\r\n $element.removeClass(rootElementClassName);\r\n this._removeSearchBox();\r\n return\r\n }\r\n var editorOptions = this._getSearchEditorOptions();\r\n if (this._searchEditor) {\r\n this._searchEditor.option(editorOptions)\r\n } else {\r\n $element.addClass(rootElementClassName);\r\n this._$searchEditorElement = $(\"<div>\").addClass(searchBoxClassName).prependTo($element);\r\n this._searchEditor = this._createComponent(this._$searchEditorElement, EditorClass, editorOptions)\r\n }\r\n },\r\n _removeSearchBox: function() {\r\n this._$searchEditorElement && this._$searchEditorElement.remove();\r\n delete this._$searchEditorElement;\r\n delete this._searchEditor\r\n },\r\n _getSearchEditorOptions: function() {\r\n var that = this;\r\n var userEditorOptions = that.option(\"searchEditorOptions\");\r\n var searchText = messageLocalization.format(\"Search\");\r\n return extend({\r\n mode: \"search\",\r\n placeholder: searchText,\r\n tabIndex: that.option(\"tabIndex\"),\r\n value: that.option(\"searchValue\"),\r\n valueChangeEvent: \"input\",\r\n inputAttr: {\r\n \"aria-label\": searchText\r\n },\r\n onValueChanged: function(e) {\r\n var searchTimeout = that.option(\"searchTimeout\");\r\n that._valueChangeDeferred = new Deferred;\r\n clearTimeout(that._valueChangeTimeout);\r\n that._valueChangeDeferred.done(function() {\r\n this.option(\"searchValue\", e.value)\r\n }.bind(that));\r\n if (e.event && \"input\" === e.event.type && searchTimeout) {\r\n that._valueChangeTimeout = setTimeout((function() {\r\n that._valueChangeDeferred.resolve()\r\n }), searchTimeout)\r\n } else {\r\n that._valueChangeDeferred.resolve()\r\n }\r\n }\r\n }, userEditorOptions)\r\n },\r\n _getAriaTarget: function() {\r\n if (this.option(\"searchEnabled\")) {\r\n return this._itemContainer(true)\r\n }\r\n return this.$element()\r\n },\r\n _focusTarget: function() {\r\n if (this.option(\"searchEnabled\")) {\r\n return this._itemContainer(true)\r\n }\r\n return this.callBase()\r\n },\r\n _updateFocusState: function(e, isFocused) {\r\n if (this.option(\"searchEnabled\")) {\r\n this._toggleFocusClass(isFocused, this.$element())\r\n }\r\n this.callBase(e, isFocused)\r\n },\r\n getOperationBySearchMode: function(searchMode) {\r\n return \"equals\" === searchMode ? \"=\" : searchMode\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"searchEnabled\":\r\n case \"searchEditorOptions\":\r\n this._invalidate();\r\n break;\r\n case \"searchExpr\":\r\n case \"searchMode\":\r\n case \"searchValue\":\r\n if (!this._dataSource) {\r\n errors.log(\"W1009\");\r\n return\r\n }\r\n if (\"searchMode\" === args.name) {\r\n this._dataSource.searchOperation(this.getOperationBySearchMode(args.value))\r\n } else {\r\n this._dataSource[args.name](args.value)\r\n }\r\n this._dataSource.load();\r\n break;\r\n case \"searchTimeout\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n focus: function() {\r\n if (!this.option(\"focusedElement\") && this.option(\"searchEnabled\")) {\r\n this._searchEditor && this._searchEditor.focus();\r\n return\r\n }\r\n this.callBase()\r\n },\r\n _cleanAria: function($ariaTarget) {\r\n this.setAria({\r\n role: null,\r\n activedescendant: null\r\n }, $ariaTarget);\r\n $ariaTarget.attr(\"tabIndex\", null)\r\n },\r\n _clean() {\r\n this.callBase();\r\n this._cleanAria(this._itemContainer());\r\n this._cleanAria(this.$element())\r\n },\r\n _refresh: function() {\r\n if (this._valueChangeDeferred) {\r\n this._valueChangeDeferred.resolve()\r\n }\r\n this.callBase()\r\n },\r\n setEditorClass: function(value) {\r\n EditorClass = value\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/stubs.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function stubComponent(componentName) {\r\n return class {\r\n constructor() {\r\n throw new Error(\"Module '\".concat(componentName, \"' not found\"))\r\n }\r\n static getInstance() {}\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/widget/ui.widget.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Action from \"../../core/action\";\r\nimport DOMComponent from \"../../core/dom_component\";\r\nimport {\r\n active,\r\n focus,\r\n hover,\r\n keyboard\r\n} from \"../../events/short\";\r\nimport {\r\n deferRender,\r\n deferRenderer,\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n focusable as focusableSelector\r\n} from \"./selectors\";\r\nimport {\r\n isPlainObject,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n compare as compareVersions\r\n} from \"../../core/utils/version\";\r\nimport \"../../events/click\";\r\nimport \"../../events/core/emitter.feedback\";\r\nimport \"../../events/hover\";\r\n\r\nfunction setAttribute(name, value, target) {\r\n name = \"role\" === name || \"id\" === name ? name : \"aria-\".concat(name);\r\n value = isDefined(value) ? value.toString() : null;\r\n target.attr(name, value)\r\n}\r\nvar Widget = DOMComponent.inherit({\r\n _feedbackHideTimeout: 400,\r\n _feedbackShowTimeout: 30,\r\n _supportedKeys: () => ({}),\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n hoveredElement: null,\r\n isActive: false,\r\n disabled: false,\r\n visible: true,\r\n hint: void 0,\r\n activeStateEnabled: false,\r\n onContentReady: null,\r\n hoverStateEnabled: false,\r\n focusStateEnabled: false,\r\n tabIndex: 0,\r\n accessKey: void 0,\r\n onFocusIn: null,\r\n onFocusOut: null,\r\n onKeyboardHandled: null,\r\n ignoreParentReadOnly: false,\r\n useResizeObserver: true\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n var device = devices.real();\r\n var platform = device.platform;\r\n var version = device.version;\r\n return \"ios\" === platform && compareVersions(version, \"13.3\") <= 0\r\n },\r\n options: {\r\n useResizeObserver: false\r\n }\r\n }])\r\n },\r\n _init() {\r\n this.callBase();\r\n this._initContentReadyAction()\r\n },\r\n _innerWidgetOptionChanged: function(innerWidget, args) {\r\n var options = Widget.getOptionsFromContainer(args);\r\n innerWidget && innerWidget.option(options);\r\n this._options.cache(args.name, options)\r\n },\r\n _bindInnerWidgetOptions(innerWidget, optionsContainer) {\r\n var syncOptions = () => this._options.silent(optionsContainer, extend({}, innerWidget.option()));\r\n syncOptions();\r\n innerWidget.on(\"optionChanged\", syncOptions)\r\n },\r\n _getAriaTarget() {\r\n return this._focusTarget()\r\n },\r\n _initContentReadyAction() {\r\n this._contentReadyAction = this._createActionByOption(\"onContentReady\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initMarkup() {\r\n var {\r\n disabled: disabled,\r\n visible: visible\r\n } = this.option();\r\n this.$element().addClass(\"dx-widget\");\r\n this._toggleDisabledState(disabled);\r\n this._toggleVisibility(visible);\r\n this._renderHint();\r\n this._isFocusable() && this._renderFocusTarget();\r\n this.callBase()\r\n },\r\n _render() {\r\n this.callBase();\r\n this._renderContent();\r\n this._renderFocusState();\r\n this._attachFeedbackEvents();\r\n this._attachHoverEvents();\r\n this._toggleIndependentState()\r\n },\r\n _renderHint() {\r\n var {\r\n hint: hint\r\n } = this.option();\r\n this.$element().attr(\"title\", hint || null)\r\n },\r\n _renderContent() {\r\n deferRender(() => !this._disposed ? this._renderContentImpl() : void 0).done(() => !this._disposed ? this._fireContentReadyAction() : void 0)\r\n },\r\n _renderContentImpl: noop,\r\n _fireContentReadyAction: deferRenderer((function() {\r\n return this._contentReadyAction()\r\n })),\r\n _dispose() {\r\n this._contentReadyAction = null;\r\n this._detachKeyboardEvents();\r\n this.callBase()\r\n },\r\n _resetActiveState() {\r\n this._toggleActiveState(this._eventBindingTarget(), false)\r\n },\r\n _clean() {\r\n this._cleanFocusState();\r\n this._resetActiveState();\r\n this.callBase();\r\n this.$element().empty()\r\n },\r\n _toggleVisibility(visible) {\r\n this.$element().toggleClass(\"dx-state-invisible\", !visible);\r\n this.setAria(\"hidden\", !visible || void 0)\r\n },\r\n _renderFocusState() {\r\n this._attachKeyboardEvents();\r\n if (this._isFocusable()) {\r\n this._renderFocusTarget();\r\n this._attachFocusEvents();\r\n this._renderAccessKey()\r\n }\r\n },\r\n _renderAccessKey() {\r\n var $el = this._focusTarget();\r\n var {\r\n accessKey: accessKey\r\n } = this.option();\r\n $el.attr(\"accesskey\", accessKey)\r\n },\r\n _isFocusable() {\r\n var {\r\n focusStateEnabled: focusStateEnabled,\r\n disabled: disabled\r\n } = this.option();\r\n return focusStateEnabled && !disabled\r\n },\r\n _eventBindingTarget() {\r\n return this.$element()\r\n },\r\n _focusTarget() {\r\n return this._getActiveElement()\r\n },\r\n _isFocusTarget: function(element) {\r\n var focusTargets = $(this._focusTarget()).toArray();\r\n return focusTargets.includes(element)\r\n },\r\n _getActiveElement() {\r\n var activeElement = this._eventBindingTarget();\r\n if (this._activeStateUnit) {\r\n return activeElement.find(this._activeStateUnit).not(\".dx-state-disabled\")\r\n }\r\n return activeElement\r\n },\r\n _renderFocusTarget() {\r\n var {\r\n tabIndex: tabIndex\r\n } = this.option();\r\n this._focusTarget().attr(\"tabIndex\", tabIndex)\r\n },\r\n _keyboardEventBindingTarget() {\r\n return this._eventBindingTarget()\r\n },\r\n _refreshFocusEvent() {\r\n this._detachFocusEvents();\r\n this._attachFocusEvents()\r\n },\r\n _focusEventTarget() {\r\n return this._focusTarget()\r\n },\r\n _focusInHandler(event) {\r\n if (!event.isDefaultPrevented()) {\r\n this._createActionByOption(\"onFocusIn\", {\r\n beforeExecute: () => this._updateFocusState(event, true),\r\n excludeValidators: [\"readOnly\"]\r\n })({\r\n event: event\r\n })\r\n }\r\n },\r\n _focusOutHandler(event) {\r\n if (!event.isDefaultPrevented()) {\r\n this._createActionByOption(\"onFocusOut\", {\r\n beforeExecute: () => this._updateFocusState(event, false),\r\n excludeValidators: [\"readOnly\", \"disabled\"]\r\n })({\r\n event: event\r\n })\r\n }\r\n },\r\n _updateFocusState(_ref, isFocused) {\r\n var {\r\n target: target\r\n } = _ref;\r\n if (this._isFocusTarget(target)) {\r\n this._toggleFocusClass(isFocused, $(target))\r\n }\r\n },\r\n _toggleFocusClass(isFocused, $element) {\r\n var $focusTarget = $element && $element.length ? $element : this._focusTarget();\r\n $focusTarget.toggleClass(\"dx-state-focused\", isFocused)\r\n },\r\n _hasFocusClass(element) {\r\n var $focusTarget = $(element || this._focusTarget());\r\n return $focusTarget.hasClass(\"dx-state-focused\")\r\n },\r\n _isFocused() {\r\n return this._hasFocusClass()\r\n },\r\n _getKeyboardListeners: () => [],\r\n _attachKeyboardEvents() {\r\n this._detachKeyboardEvents();\r\n var {\r\n focusStateEnabled: focusStateEnabled,\r\n onKeyboardHandled: onKeyboardHandled\r\n } = this.option();\r\n var hasChildListeners = this._getKeyboardListeners().length;\r\n var hasKeyboardEventHandler = !!onKeyboardHandled;\r\n var shouldAttach = focusStateEnabled || hasChildListeners || hasKeyboardEventHandler;\r\n if (shouldAttach) {\r\n this._keyboardListenerId = keyboard.on(this._keyboardEventBindingTarget(), this._focusTarget(), opts => this._keyboardHandler(opts))\r\n }\r\n },\r\n _keyboardHandler(options, onlyChildProcessing) {\r\n if (!onlyChildProcessing) {\r\n var {\r\n originalEvent: originalEvent,\r\n keyName: keyName,\r\n which: which\r\n } = options;\r\n var keys = this._supportedKeys(originalEvent);\r\n var func = keys[keyName] || keys[which];\r\n if (void 0 !== func) {\r\n var handler = func.bind(this);\r\n var result = handler(originalEvent, options);\r\n if (!result) {\r\n return false\r\n }\r\n }\r\n }\r\n var keyboardListeners = this._getKeyboardListeners();\r\n var {\r\n onKeyboardHandled: onKeyboardHandled\r\n } = this.option();\r\n keyboardListeners.forEach(listener => listener && listener._keyboardHandler(options));\r\n onKeyboardHandled && onKeyboardHandled(options);\r\n return true\r\n },\r\n _refreshFocusState() {\r\n this._cleanFocusState();\r\n this._renderFocusState()\r\n },\r\n _cleanFocusState() {\r\n var $element = this._focusTarget();\r\n $element.removeAttr(\"tabIndex\");\r\n this._toggleFocusClass(false);\r\n this._detachFocusEvents();\r\n this._detachKeyboardEvents()\r\n },\r\n _detachKeyboardEvents() {\r\n keyboard.off(this._keyboardListenerId);\r\n this._keyboardListenerId = null\r\n },\r\n _attachHoverEvents() {\r\n var {\r\n hoverStateEnabled: hoverStateEnabled\r\n } = this.option();\r\n var selector = this._activeStateUnit;\r\n var $el = this._eventBindingTarget();\r\n hover.off($el, {\r\n selector: selector,\r\n namespace: \"UIFeedback\"\r\n });\r\n if (hoverStateEnabled) {\r\n hover.on($el, new Action(_ref2 => {\r\n var {\r\n event: event,\r\n element: element\r\n } = _ref2;\r\n this._hoverStartHandler(event);\r\n this.option(\"hoveredElement\", $(element))\r\n }, {\r\n excludeValidators: [\"readOnly\"]\r\n }), event => {\r\n this.option(\"hoveredElement\", null);\r\n this._hoverEndHandler(event)\r\n }, {\r\n selector: selector,\r\n namespace: \"UIFeedback\"\r\n })\r\n }\r\n },\r\n _attachFeedbackEvents() {\r\n var {\r\n activeStateEnabled: activeStateEnabled\r\n } = this.option();\r\n var selector = this._activeStateUnit;\r\n var $el = this._eventBindingTarget();\r\n active.off($el, {\r\n namespace: \"UIFeedback\",\r\n selector: selector\r\n });\r\n if (activeStateEnabled) {\r\n active.on($el, new Action(_ref3 => {\r\n var {\r\n event: event,\r\n element: element\r\n } = _ref3;\r\n return this._toggleActiveState($(element), true, event)\r\n }), new Action(_ref4 => {\r\n var {\r\n event: event,\r\n element: element\r\n } = _ref4;\r\n return this._toggleActiveState($(element), false, event)\r\n }, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n }), {\r\n showTimeout: this._feedbackShowTimeout,\r\n hideTimeout: this._feedbackHideTimeout,\r\n selector: selector,\r\n namespace: \"UIFeedback\"\r\n })\r\n }\r\n },\r\n _detachFocusEvents() {\r\n var $el = this._focusEventTarget();\r\n focus.off($el, {\r\n namespace: \"\".concat(this.NAME, \"Focus\")\r\n })\r\n },\r\n _attachFocusEvents() {\r\n var $el = this._focusEventTarget();\r\n focus.on($el, e => this._focusInHandler(e), e => this._focusOutHandler(e), {\r\n namespace: \"\".concat(this.NAME, \"Focus\"),\r\n isFocusable: (index, el) => $(el).is(focusableSelector)\r\n })\r\n },\r\n _hoverStartHandler: noop,\r\n _hoverEndHandler: noop,\r\n _toggleActiveState($element, value) {\r\n this.option(\"isActive\", value);\r\n $element.toggleClass(\"dx-state-active\", value)\r\n },\r\n _updatedHover() {\r\n var hoveredElement = this._options.silent(\"hoveredElement\");\r\n this._hover(hoveredElement, hoveredElement)\r\n },\r\n _findHoverTarget($el) {\r\n return $el && $el.closest(this._activeStateUnit || this._eventBindingTarget())\r\n },\r\n _hover($el, $previous) {\r\n var {\r\n hoverStateEnabled: hoverStateEnabled,\r\n disabled: disabled,\r\n isActive: isActive\r\n } = this.option();\r\n $previous = this._findHoverTarget($previous);\r\n $previous && $previous.toggleClass(\"dx-state-hover\", false);\r\n if ($el && hoverStateEnabled && !disabled && !isActive) {\r\n var newHoveredElement = this._findHoverTarget($el);\r\n newHoveredElement && newHoveredElement.toggleClass(\"dx-state-hover\", true)\r\n }\r\n },\r\n _toggleDisabledState(value) {\r\n this.$element().toggleClass(\"dx-state-disabled\", Boolean(value));\r\n this.setAria(\"disabled\", value || void 0)\r\n },\r\n _toggleIndependentState() {\r\n this.$element().toggleClass(\"dx-state-independent\", this.option(\"ignoreParentReadOnly\"))\r\n },\r\n _setWidgetOption(widgetName, args) {\r\n if (!this[widgetName]) {\r\n return\r\n }\r\n if (isPlainObject(args[0])) {\r\n each(args[0], (option, value) => this._setWidgetOption(widgetName, [option, value]));\r\n return\r\n }\r\n var optionName = args[0];\r\n var value = args[1];\r\n if (1 === args.length) {\r\n value = this.option(optionName)\r\n }\r\n var widgetOptionMap = this[\"\".concat(widgetName, \"OptionMap\")];\r\n this[widgetName].option(widgetOptionMap ? widgetOptionMap(optionName) : optionName, value)\r\n },\r\n _optionChanged(args) {\r\n var {\r\n name: name,\r\n value: value,\r\n previousValue: previousValue\r\n } = args;\r\n switch (name) {\r\n case \"disabled\":\r\n this._toggleDisabledState(value);\r\n this._updatedHover();\r\n this._refreshFocusState();\r\n break;\r\n case \"hint\":\r\n this._renderHint();\r\n break;\r\n case \"ignoreParentReadOnly\":\r\n this._toggleIndependentState();\r\n break;\r\n case \"activeStateEnabled\":\r\n this._attachFeedbackEvents();\r\n break;\r\n case \"hoverStateEnabled\":\r\n this._attachHoverEvents();\r\n this._updatedHover();\r\n break;\r\n case \"tabIndex\":\r\n case \"focusStateEnabled\":\r\n this._refreshFocusState();\r\n break;\r\n case \"onFocusIn\":\r\n case \"onFocusOut\":\r\n case \"useResizeObserver\":\r\n break;\r\n case \"accessKey\":\r\n this._renderAccessKey();\r\n break;\r\n case \"hoveredElement\":\r\n this._hover(value, previousValue);\r\n break;\r\n case \"isActive\":\r\n this._updatedHover();\r\n break;\r\n case \"visible\":\r\n this._toggleVisibility(value);\r\n if (this._isVisibilityChangeSupported()) {\r\n this._checkVisibilityChanged(value ? \"shown\" : \"hiding\")\r\n }\r\n break;\r\n case \"onKeyboardHandled\":\r\n this._attachKeyboardEvents();\r\n break;\r\n case \"onContentReady\":\r\n this._initContentReadyAction();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _isVisible() {\r\n var {\r\n visible: visible\r\n } = this.option();\r\n return this.callBase() && visible\r\n },\r\n beginUpdate() {\r\n this._ready(false);\r\n this.callBase()\r\n },\r\n endUpdate() {\r\n this.callBase();\r\n if (this._initialized) {\r\n this._ready(true)\r\n }\r\n },\r\n _ready(value) {\r\n if (0 === arguments.length) {\r\n return this._isReady\r\n }\r\n this._isReady = value\r\n },\r\n setAria() {\r\n if (!isPlainObject(arguments.length <= 0 ? void 0 : arguments[0])) {\r\n setAttribute(arguments.length <= 0 ? void 0 : arguments[0], arguments.length <= 1 ? void 0 : arguments[1], (arguments.length <= 2 ? void 0 : arguments[2]) || this._getAriaTarget())\r\n } else {\r\n var target = (arguments.length <= 1 ? void 0 : arguments[1]) || this._getAriaTarget();\r\n each(arguments.length <= 0 ? void 0 : arguments[0], (name, value) => setAttribute(name, value, target))\r\n }\r\n },\r\n isReady() {\r\n return this._ready()\r\n },\r\n repaint() {\r\n this._refresh()\r\n },\r\n focus() {\r\n focus.trigger(this._focusTarget())\r\n },\r\n registerKeyHandler(key, handler) {\r\n var currentKeys = this._supportedKeys();\r\n this._supportedKeys = () => extend(currentKeys, {\r\n [key]: handler\r\n })\r\n }\r\n});\r\nWidget.getOptionsFromContainer = _ref5 => {\r\n var {\r\n name: name,\r\n fullName: fullName,\r\n value: value\r\n } = _ref5;\r\n var options = {};\r\n if (name === fullName) {\r\n options = value\r\n } else {\r\n var option = fullName.split(\".\").pop();\r\n options[option] = value\r\n }\r\n return options\r\n};\r\nexport default Widget;\r\n","/**\r\n * DevExtreme (esm/ui/widget/utils.ink_ripple.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth,\r\n getOuterHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nvar INKRIPPLE_CLASS = \"dx-inkripple\";\r\nvar INKRIPPLE_WAVE_CLASS = \"dx-inkripple-wave\";\r\nvar INKRIPPLE_SHOWING_CLASS = \"dx-inkripple-showing\";\r\nvar INKRIPPLE_HIDING_CLASS = \"dx-inkripple-hiding\";\r\nvar DEFAULT_WAVE_SIZE_COEFFICIENT = 2;\r\nvar MAX_WAVE_SIZE = 4e3;\r\nvar ANIMATION_DURATION = 300;\r\nvar HOLD_ANIMATION_DURATION = 1e3;\r\nvar DEFAULT_WAVE_INDEX = 0;\r\nexport var initConfig = function() {\r\n var config = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};\r\n var {\r\n useHoldAnimation: useHoldAnimation,\r\n waveSizeCoefficient: waveSizeCoefficient,\r\n isCentered: isCentered,\r\n wavesNumber: wavesNumber\r\n } = config;\r\n return {\r\n waveSizeCoefficient: waveSizeCoefficient || DEFAULT_WAVE_SIZE_COEFFICIENT,\r\n isCentered: isCentered || false,\r\n wavesNumber: wavesNumber || 1,\r\n durations: getDurations(null !== useHoldAnimation && void 0 !== useHoldAnimation ? useHoldAnimation : true)\r\n }\r\n};\r\nexport var render = function(args) {\r\n var config = initConfig(args);\r\n return {\r\n showWave: showWave.bind(this, config),\r\n hideWave: hideWave.bind(this, config)\r\n }\r\n};\r\nvar getInkRipple = function(element) {\r\n var result = element.children(\".\" + INKRIPPLE_CLASS);\r\n if (0 === result.length) {\r\n result = $(\"<div>\").addClass(INKRIPPLE_CLASS).appendTo(element)\r\n }\r\n return result\r\n};\r\nvar getWaves = function(element, wavesNumber) {\r\n var inkRipple = getInkRipple($(element));\r\n var result = inkRipple.children(\".\" + INKRIPPLE_WAVE_CLASS).toArray();\r\n for (var i = result.length; i < wavesNumber; i++) {\r\n var $currentWave = $(\"<div>\").appendTo(inkRipple).addClass(INKRIPPLE_WAVE_CLASS);\r\n result.push($currentWave[0])\r\n }\r\n return $(result)\r\n};\r\nvar getWaveStyleConfig = function(args, config) {\r\n var element = $(config.element);\r\n var elementWidth = getOuterWidth(element);\r\n var elementHeight = getOuterHeight(element);\r\n var elementDiagonal = parseInt(Math.sqrt(elementWidth * elementWidth + elementHeight * elementHeight));\r\n var waveSize = Math.min(MAX_WAVE_SIZE, parseInt(elementDiagonal * args.waveSizeCoefficient));\r\n var left;\r\n var top;\r\n if (args.isCentered) {\r\n left = (elementWidth - waveSize) / 2;\r\n top = (elementHeight - waveSize) / 2\r\n } else {\r\n var event = config.event;\r\n var position = element.offset();\r\n var x = event.pageX - position.left;\r\n var y = event.pageY - position.top;\r\n left = x - waveSize / 2;\r\n top = y - waveSize / 2\r\n }\r\n return {\r\n left: left,\r\n top: top,\r\n height: waveSize,\r\n width: waveSize\r\n }\r\n};\r\nexport function showWave(args, config) {\r\n var $wave = getWaves(config.element, args.wavesNumber).eq(config.wave || DEFAULT_WAVE_INDEX);\r\n args.hidingTimeout && clearTimeout(args.hidingTimeout);\r\n hideSelectedWave($wave);\r\n $wave.css(getWaveStyleConfig(args, config));\r\n args.showingTimeout = setTimeout(showingWaveHandler.bind(this, args, $wave), 0)\r\n}\r\n\r\nfunction showingWaveHandler(args, $wave) {\r\n var durationCss = args.durations.showingScale + \"ms\";\r\n $wave.addClass(INKRIPPLE_SHOWING_CLASS).css(\"transitionDuration\", durationCss)\r\n}\r\n\r\nfunction getDurations(useHoldAnimation) {\r\n return {\r\n showingScale: useHoldAnimation ? HOLD_ANIMATION_DURATION : ANIMATION_DURATION,\r\n hidingScale: ANIMATION_DURATION,\r\n hidingOpacity: ANIMATION_DURATION\r\n }\r\n}\r\n\r\nfunction hideSelectedWave($wave) {\r\n $wave.removeClass(INKRIPPLE_HIDING_CLASS).css(\"transitionDuration\", \"\")\r\n}\r\nexport function hideWave(args, config) {\r\n args.showingTimeout && clearTimeout(args.showingTimeout);\r\n var $wave = getWaves(config.element, config.wavesNumber).eq(config.wave || DEFAULT_WAVE_INDEX);\r\n var durations = args.durations;\r\n var durationCss = durations.hidingScale + \"ms, \" + durations.hidingOpacity + \"ms\";\r\n $wave.addClass(INKRIPPLE_HIDING_CLASS).removeClass(INKRIPPLE_SHOWING_CLASS).css(\"transitionDuration\", durationCss);\r\n var animationDuration = Math.max(durations.hidingScale, durations.hidingOpacity);\r\n args.hidingTimeout = setTimeout(hideSelectedWave.bind(this, $wave), animationDuration)\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/axes/axes_constants.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n map as _map\r\n} from \"../core/utils\";\r\nexport default {\r\n logarithmic: \"logarithmic\",\r\n discrete: \"discrete\",\r\n numeric: \"numeric\",\r\n left: \"left\",\r\n right: \"right\",\r\n top: \"top\",\r\n bottom: \"bottom\",\r\n center: \"center\",\r\n horizontal: \"horizontal\",\r\n vertical: \"vertical\",\r\n convertTicksToValues: function(ticks) {\r\n return _map(ticks || [], (function(item) {\r\n return item.value\r\n }))\r\n },\r\n validateOverlappingMode: function(mode) {\r\n return \"ignore\" === mode || \"none\" === mode ? mode : \"hide\"\r\n },\r\n getTicksCountInRange: function(ticks, valueKey, range) {\r\n var i = 1;\r\n if (ticks.length > 1) {\r\n for (; i < ticks.length; i++) {\r\n if (Math.abs(ticks[i].coords[valueKey] - ticks[0].coords[valueKey]) >= range) {\r\n break\r\n }\r\n }\r\n }\r\n return i\r\n },\r\n areLabelsOverlap: function(bBox1, bBox2, spacing, alignment) {\r\n var horizontalInverted = bBox1.x > bBox2.x;\r\n var verticalInverted = bBox1.y > bBox2.y;\r\n var x1 = bBox1.x;\r\n var x2 = bBox2.x;\r\n var width1 = bBox1.width;\r\n var width2 = bBox2.width;\r\n if (\"left\" === alignment) {\r\n x1 += width1 / 2;\r\n x2 += width2 / 2\r\n } else if (\"right\" === alignment) {\r\n x1 -= width1 / 2;\r\n x2 -= width2 / 2\r\n }\r\n var hasHorizontalOverlapping = horizontalInverted ? x2 + width2 + spacing > x1 : x1 + width1 + spacing > x2;\r\n var hasVerticalOverlapping = verticalInverted ? bBox2.y + bBox2.height > bBox1.y : bBox1.y + bBox1.height > bBox2.y;\r\n return hasHorizontalOverlapping && hasVerticalOverlapping\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/axes/tick.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\n\r\nfunction getPathStyle(options) {\r\n return {\r\n stroke: options.color,\r\n \"stroke-width\": options.width,\r\n \"stroke-opacity\": options.opacity,\r\n opacity: 1\r\n }\r\n}\r\n\r\nfunction createTick(axis, renderer, tickOptions, gridOptions, skippedCategory, skipLabels, offset) {\r\n var tickOffset = offset || axis._tickOffset;\r\n var lineGroup = axis._axisLineGroup;\r\n var elementsGroup = axis._axisElementsGroup;\r\n var tickStyle = getPathStyle(tickOptions);\r\n var gridStyle = getPathStyle(gridOptions);\r\n var emptyStrRegExp = /^\\s+$/;\r\n var axisOptions = axis.getOptions();\r\n var labelOptions = axisOptions.label;\r\n var labelStyle = axis._textOptions;\r\n\r\n function getLabelFontStyle(tick) {\r\n var fontStyle = axis._textFontStyles;\r\n var customizeColor = labelOptions.customizeColor;\r\n if (customizeColor && customizeColor.call) {\r\n fontStyle = extend({}, axis._textFontStyles, {\r\n fill: customizeColor.call(tick, tick)\r\n })\r\n }\r\n return fontStyle\r\n }\r\n\r\n function createLabelHint(tick, range) {\r\n var labelHint = axis.formatHint(tick.value, labelOptions, range);\r\n if (isDefined(labelHint) && \"\" !== labelHint) {\r\n tick.getContentContainer().setTitle(labelHint)\r\n }\r\n }\r\n return function(value) {\r\n var tick = {\r\n value: value,\r\n updateValue(newValue) {\r\n this.value = value = newValue\r\n },\r\n initCoords: function() {\r\n this.coords = axis._getTranslatedValue(value, tickOffset);\r\n this.labelCoords = axis._getTranslatedValue(value)\r\n },\r\n saveCoords() {\r\n this._lastStoredCoordinates = {\r\n coords: this._storedCoords,\r\n labelCoords: this._storedLabelsCoords\r\n };\r\n this._storedCoords = this.coords;\r\n this._storedLabelsCoords = this.templateContainer ? this._getTemplateCoords() : this.labelCoords\r\n },\r\n resetCoordinates() {\r\n if (this._lastStoredCoordinates) {\r\n this._storedCoords = this._lastStoredCoordinates.coords;\r\n this._storedLabelsCoords = this._lastStoredCoordinates.labelCoords\r\n }\r\n },\r\n drawMark(options) {\r\n if (!tickOptions.visible || skippedCategory === value) {\r\n return\r\n }\r\n if (axis.areCoordsOutsideAxis(this.coords)) {\r\n return\r\n }\r\n if (this.mark) {\r\n this.mark.append(lineGroup);\r\n axis.sharp(this.mark, axis.getSharpDirectionByCoords(this.coords));\r\n this.updateTickPosition(options)\r\n } else {\r\n this.mark = axis._createPathElement([], tickStyle, axis.getSharpDirectionByCoords(this.coords)).append(lineGroup);\r\n this.updateTickPosition(options)\r\n }\r\n },\r\n setSkippedCategory(category) {\r\n skippedCategory = category\r\n },\r\n _updateLine(lineElement, settings, storedSettings, animate, isGridLine) {\r\n if (!lineElement) {\r\n return\r\n }\r\n if (null === settings.points || null === settings.r) {\r\n lineElement.remove();\r\n return\r\n }\r\n if (animate && storedSettings && null !== storedSettings.points) {\r\n settings.opacity = 1;\r\n lineElement.attr(storedSettings);\r\n lineElement.animate(settings)\r\n } else {\r\n settings.opacity = animate ? 0 : 1;\r\n lineElement.attr(settings);\r\n animate && lineElement.animate({\r\n opacity: 1\r\n }, {\r\n delay: .5,\r\n partitionDuration: .5\r\n })\r\n }\r\n this.coords.angle && axis._rotateTick(lineElement, this.coords, isGridLine)\r\n },\r\n updateTickPosition: function(options, animate) {\r\n this._updateLine(this.mark, {\r\n points: axis._getTickMarkPoints(tick.coords, tickOptions.length, options)\r\n }, this._storedCoords && {\r\n points: axis._getTickMarkPoints(tick._storedCoords, tickOptions.length, options)\r\n }, animate, false)\r\n },\r\n drawLabel: function(range, template) {\r\n if (this.templateContainer && axis.isRendered()) {\r\n this.updateLabelPosition();\r\n return\r\n }\r\n var labelIsVisible = labelOptions.visible && !skipLabels && !axis.getTranslator().getBusinessRange().isEmpty() && !axis.areCoordsOutsideAxis(this.labelCoords);\r\n if (!labelIsVisible) {\r\n if (this.label) {\r\n this.removeLabel()\r\n }\r\n return\r\n }\r\n var templateOption = labelOptions.template;\r\n var text = axis.formatLabel(value, labelOptions, range);\r\n if (this.label) {\r\n this.label.attr({\r\n text: text,\r\n rotate: 0\r\n }).append(elementsGroup);\r\n createLabelHint(this, range);\r\n this.updateLabelPosition();\r\n return\r\n }\r\n if (templateOption) {\r\n this.templateContainer = renderer.g().append(elementsGroup);\r\n this._templateDef && this._templateDef.reject();\r\n this._templateDef = new Deferred;\r\n template.render({\r\n model: {\r\n valueText: text,\r\n value: this.value,\r\n labelFontStyle: getLabelFontStyle(this),\r\n labelStyle: labelStyle\r\n },\r\n container: this.templateContainer.element,\r\n onRendered: () => {\r\n this.updateLabelPosition();\r\n this._templateDef && this._templateDef.resolve()\r\n }\r\n })\r\n } else if (isDefined(text) && \"\" !== text && !emptyStrRegExp.test(text)) {\r\n this.label = renderer.text(text).css(getLabelFontStyle(this)).attr(labelStyle).append(elementsGroup);\r\n this.updateLabelPosition();\r\n createLabelHint(this, range)\r\n }\r\n var containerForData = this.getContentContainer();\r\n containerForData && containerForData.data(\"chart-data-argument\", this.value);\r\n this.templateContainer && createLabelHint(this, range)\r\n },\r\n getTemplateDeferred() {\r\n return this._templateDef\r\n },\r\n getContentContainer() {\r\n return this.templateContainer || this.label\r\n },\r\n fadeOutElements() {\r\n var startSettings = {\r\n opacity: 1\r\n };\r\n var endSettings = {\r\n opacity: 0\r\n };\r\n var animationSettings = {\r\n partitionDuration: .5\r\n };\r\n if (this.getContentContainer()) {\r\n this._fadeOutLabel()\r\n }\r\n if (this.grid) {\r\n this.grid.append(axis._axisGridGroup).attr(startSettings).animate(endSettings, animationSettings)\r\n }\r\n if (this.mark) {\r\n this.mark.append(axis._axisLineGroup).attr(startSettings).animate(endSettings, animationSettings)\r\n }\r\n },\r\n _fadeInLabel() {\r\n var group = axis._renderer.g().attr({\r\n opacity: 0\r\n }).append(axis._axisElementsGroup).animate({\r\n opacity: 1\r\n }, {\r\n delay: .5,\r\n partitionDuration: .5\r\n });\r\n this.getContentContainer().append(group)\r\n },\r\n _fadeOutLabel() {\r\n var group = axis._renderer.g().attr({\r\n opacity: 1\r\n }).animate({\r\n opacity: 0\r\n }, {\r\n partitionDuration: .5\r\n }).append(axis._axisElementsGroup).toBackground();\r\n this.getContentContainer().append(group)\r\n },\r\n _getTemplateCoords() {\r\n return axis._getLabelAdjustedCoord(this, (axis._constantLabelOffset || 0) + (tick.labelOffset || 0))\r\n },\r\n updateLabelPosition: function(animate) {\r\n var templateContainer = this.templateContainer;\r\n if (!this.getContentContainer()) {\r\n return\r\n }\r\n if (animate && this._storedLabelsCoords) {\r\n if (templateContainer) {\r\n templateContainer.attr(this._storedLabelsCoords);\r\n var lCoords = this._getTemplateCoords();\r\n templateContainer.animate(lCoords)\r\n } else {\r\n this.label.attr({\r\n x: this._storedLabelsCoords.x,\r\n y: this._storedLabelsCoords.y\r\n });\r\n this.label.animate({\r\n x: this.labelCoords.x,\r\n y: this.labelCoords.y\r\n })\r\n }\r\n } else {\r\n if (templateContainer) {\r\n var _lCoords = this._getTemplateCoords();\r\n templateContainer.attr(_lCoords)\r\n } else {\r\n this.label.attr({\r\n x: this.labelCoords.x,\r\n y: this.labelCoords.y\r\n })\r\n }\r\n if (animate) {\r\n this._fadeInLabel()\r\n }\r\n }\r\n },\r\n updateMultilineTextAlignment() {\r\n if (labelOptions.template || !this.label) {\r\n return\r\n }\r\n this.label.attr({\r\n textsAlignment: this.labelAlignment || axis.getOptions().label.alignment\r\n })\r\n },\r\n drawGrid: function(drawLine) {\r\n if (gridOptions.visible && skippedCategory !== this.value) {\r\n if (this.grid) {\r\n this.grid.append(axis._axisGridGroup);\r\n axis.sharp(this.grid, axis.getSharpDirectionByCoords(this.coords));\r\n this.updateGridPosition()\r\n } else {\r\n this.grid = drawLine(this, gridStyle);\r\n this.grid && this.grid.append(axis._axisGridGroup)\r\n }\r\n }\r\n },\r\n updateGridPosition: function(animate) {\r\n this._updateLine(this.grid, axis._getGridPoints(tick.coords), this._storedCoords && axis._getGridPoints(this._storedCoords), animate, true)\r\n },\r\n removeLabel() {\r\n var contentContainer = this.getContentContainer();\r\n contentContainer && contentContainer.remove();\r\n this._templateDef && this._templateDef.reject();\r\n this._templateDef = this.templateContainer = this.label = null\r\n }\r\n };\r\n return tick\r\n }\r\n}\r\nexport {\r\n createTick as tick\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/axes/datetime_breaks.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dateUtils from \"../../core/utils/date\";\r\nvar days = [0, 1, 2, 3, 4, 5, 6];\r\n\r\nfunction getWeekendDays(workdays) {\r\n return days.filter((function(day) {\r\n return !workdays.some((function(workDay) {\r\n return workDay === day\r\n }))\r\n }))\r\n}\r\n\r\nfunction getNextDayIndex(dayIndex) {\r\n return (dayIndex + 1) % 7\r\n}\r\n\r\nfunction dayBetweenWeekend(weekend, day) {\r\n var start = weekend.start;\r\n var end = weekend.end;\r\n while (start !== end) {\r\n if (start === day) {\r\n return true\r\n }\r\n start = getNextDayIndex(start)\r\n }\r\n return false\r\n}\r\n\r\nfunction getDaysDistance(day, end) {\r\n var length = 0;\r\n while (day !== end) {\r\n day = getNextDayIndex(day);\r\n length++\r\n }\r\n return length\r\n}\r\n\r\nfunction separateBreak(scaleBreak, day) {\r\n var result = [];\r\n var dayEnd = new Date(day);\r\n dayEnd.setDate(day.getDate() + 1);\r\n if (day > scaleBreak.from) {\r\n result.push({\r\n from: scaleBreak.from,\r\n to: day\r\n })\r\n }\r\n if (dayEnd < scaleBreak.to) {\r\n result.push({\r\n from: dayEnd,\r\n to: scaleBreak.to\r\n })\r\n }\r\n return result\r\n}\r\n\r\nfunction getWeekEndDayIndices(workDays) {\r\n var indices = getWeekendDays(workDays);\r\n if (indices.length < 7) {\r\n while (getNextDayIndex(indices[indices.length - 1]) === indices[0]) {\r\n indices.unshift(indices.pop())\r\n }\r\n }\r\n return indices\r\n}\r\n\r\nfunction generateDateBreaksForWeekend(min, max, weekendDayIndices) {\r\n var day = min.getDate();\r\n var breaks = [];\r\n var weekends = weekendDayIndices.reduce((function(obj, day) {\r\n var currentWeekEnd = obj[1];\r\n if (void 0 === currentWeekEnd.start) {\r\n currentWeekEnd = {\r\n start: day,\r\n end: getNextDayIndex(day)\r\n };\r\n obj[0].push(currentWeekEnd);\r\n return [obj[0], currentWeekEnd]\r\n } else if (currentWeekEnd.end === day) {\r\n currentWeekEnd.end = getNextDayIndex(day);\r\n return obj\r\n }\r\n currentWeekEnd = {\r\n start: day,\r\n end: getNextDayIndex(day)\r\n };\r\n obj[0].push(currentWeekEnd);\r\n return [obj[0], currentWeekEnd]\r\n }), [\r\n [], {}\r\n ]);\r\n weekends[0].forEach((function(weekend) {\r\n var currentDate = new Date(min);\r\n currentDate = dateUtils.trimTime(currentDate);\r\n while (currentDate < max) {\r\n day = currentDate.getDay();\r\n var date = currentDate.getDate();\r\n if (dayBetweenWeekend(weekend, day)) {\r\n var from = new Date(currentDate);\r\n currentDate.setDate(date + getDaysDistance(day, weekend.end));\r\n var to = new Date(currentDate);\r\n breaks.push({\r\n from: from,\r\n to: to\r\n })\r\n }\r\n currentDate.setDate(currentDate.getDate() + 1)\r\n }\r\n }));\r\n return breaks\r\n}\r\n\r\nfunction excludeWorkDaysFromWeekEndBreaks(breaks, exactWorkDays) {\r\n var result = breaks.slice();\r\n var i;\r\n var processWorkDay = function(workday) {\r\n workday = dateUtils.trimTime(new Date(workday));\r\n if (result[i].from <= workday && result[i].to > workday) {\r\n var separatedBreak = separateBreak(result[i], workday);\r\n if (2 === separatedBreak.length) {\r\n result.splice(i, 1, separatedBreak[0], separatedBreak[1])\r\n } else if (1 === separatedBreak.length) {\r\n result.splice(i, 1, separatedBreak[0])\r\n } else {\r\n result.splice(i, 1)\r\n }\r\n }\r\n };\r\n for (i = 0; i < result.length; i++) {\r\n exactWorkDays.forEach(processWorkDay)\r\n }\r\n return result\r\n}\r\n\r\nfunction generateBreaksForHolidays(min, max, holidays, weekendDayIndices) {\r\n var day;\r\n var dayInWeekend = function(dayIndex) {\r\n return dayIndex === day\r\n };\r\n var adjustedMin = dateUtils.trimTime(min);\r\n var adjustedMax = dateUtils.trimTime(max);\r\n adjustedMax.setDate(max.getDate() + 1);\r\n return holidays.reduce((function(breaks, holiday) {\r\n var holidayStart;\r\n var holidayEnd;\r\n holiday = new Date(holiday);\r\n day = holiday.getDay();\r\n if (!weekendDayIndices.some(dayInWeekend) && holiday >= adjustedMin && holiday <= adjustedMax) {\r\n holidayStart = dateUtils.trimTime(holiday);\r\n holidayEnd = new Date(holidayStart);\r\n holidayEnd.setDate(holidayStart.getDate() + 1);\r\n breaks.push({\r\n from: holidayStart,\r\n to: holidayEnd\r\n })\r\n }\r\n return breaks\r\n }), [])\r\n}\r\n\r\nfunction calculateGaps(breaks) {\r\n return breaks.map((function(b) {\r\n return {\r\n from: b.from,\r\n to: b.to,\r\n gapSize: dateUtils.convertMillisecondsToDateUnits(b.to - b.from)\r\n }\r\n }))\r\n}\r\nexport function generateDateBreaks(min, max, workWeek, singleWorkdays, holidays) {\r\n var weekendDayIndices = getWeekEndDayIndices(workWeek);\r\n var breaks = generateDateBreaksForWeekend(min, max, weekendDayIndices);\r\n breaks.push.apply(breaks, generateBreaksForHolidays(min, max, holidays || [], weekendDayIndices));\r\n return calculateGaps(excludeWorkDaysFromWeekEndBreaks(breaks, singleWorkdays || []))\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/axes/xy_axes.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n Range\r\n} from \"../translators/range\";\r\nimport formatHelper from \"../../format_helper\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n generateDateBreaks\r\n} from \"./datetime_breaks\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n getLog,\r\n patchFontOptions,\r\n getCosAndSin\r\n} from \"../core/utils\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport constants from \"./axes_constants\";\r\nvar getNextDateUnit = dateUtils.getNextDateUnit;\r\nvar correctDateWithUnitBeginning = dateUtils.correctDateWithUnitBeginning;\r\nvar _math = Math;\r\nvar _max = _math.max;\r\nvar TOP = constants.top;\r\nvar BOTTOM = constants.bottom;\r\nvar LEFT = constants.left;\r\nvar RIGHT = constants.right;\r\nvar CENTER = constants.center;\r\nvar SCALE_BREAK_OFFSET = 3;\r\nvar RANGE_RATIO = .3;\r\nvar WAVED_LINE_CENTER = 2;\r\nvar WAVED_LINE_TOP = 0;\r\nvar WAVED_LINE_BOTTOM = 4;\r\nvar WAVED_LINE_LENGTH = 24;\r\nvar TICKS_CORRECTIONS = {\r\n left: -1,\r\n top: -1,\r\n right: 0,\r\n bottom: 0,\r\n center: -.5\r\n};\r\n\r\nfunction prepareDatesDifferences(datesDifferences, tickInterval) {\r\n var dateUnitInterval;\r\n var i;\r\n if (\"week\" === tickInterval) {\r\n tickInterval = \"day\"\r\n }\r\n if (\"quarter\" === tickInterval) {\r\n tickInterval = \"month\"\r\n }\r\n if (datesDifferences[tickInterval]) {\r\n for (i = 0; i < dateUtils.dateUnitIntervals.length; i++) {\r\n dateUnitInterval = dateUtils.dateUnitIntervals[i];\r\n if (datesDifferences[dateUnitInterval]) {\r\n datesDifferences[dateUnitInterval] = false;\r\n datesDifferences.count--\r\n }\r\n if (dateUnitInterval === tickInterval) {\r\n break\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction sortingBreaks(breaks) {\r\n return breaks.sort((function(a, b) {\r\n return a.from - b.from\r\n }))\r\n}\r\n\r\nfunction getMarkerDates(min, max, markerInterval) {\r\n var origMin = min;\r\n var dates;\r\n min = correctDateWithUnitBeginning(min, markerInterval);\r\n max = correctDateWithUnitBeginning(max, markerInterval);\r\n dates = dateUtils.getSequenceByInterval(min, max, markerInterval);\r\n if (dates.length && origMin > dates[0]) {\r\n dates = dates.slice(1)\r\n }\r\n return dates\r\n}\r\n\r\nfunction getStripHorizontalAlignmentPosition(alignment) {\r\n var position = \"start\";\r\n if (\"center\" === alignment) {\r\n position = \"center\"\r\n }\r\n if (\"right\" === alignment) {\r\n position = \"end\"\r\n }\r\n return position\r\n}\r\n\r\nfunction getStripVerticalAlignmentPosition(alignment) {\r\n var position = \"start\";\r\n if (\"center\" === alignment) {\r\n position = \"center\"\r\n }\r\n if (\"bottom\" === alignment) {\r\n position = \"end\"\r\n }\r\n return position\r\n}\r\n\r\nfunction getMarkerInterval(tickInterval) {\r\n var markerInterval = getNextDateUnit(tickInterval);\r\n if (\"quarter\" === markerInterval) {\r\n markerInterval = getNextDateUnit(markerInterval)\r\n }\r\n return markerInterval\r\n}\r\n\r\nfunction getMarkerFormat(curDate, prevDate, tickInterval, markerInterval) {\r\n var format = markerInterval;\r\n var datesDifferences = prevDate && dateUtils.getDatesDifferences(prevDate, curDate);\r\n if (prevDate && \"year\" !== tickInterval) {\r\n prepareDatesDifferences(datesDifferences, tickInterval);\r\n format = formatHelper.getDateFormatByDifferences(datesDifferences)\r\n }\r\n return format\r\n}\r\n\r\nfunction getMaxSide(act, boxes) {\r\n return boxes.reduce((function(prevValue, box) {\r\n return _max(prevValue, act(box))\r\n }), 0)\r\n}\r\n\r\nfunction getDistanceByAngle(bBox, rotationAngle) {\r\n rotationAngle = _math.abs(rotationAngle);\r\n rotationAngle = rotationAngle % 180 >= 90 ? 90 - rotationAngle % 90 : rotationAngle % 90;\r\n var a = rotationAngle * (_math.PI / 180);\r\n if (a >= _math.atan(bBox.height / bBox.width)) {\r\n return bBox.height / _math.abs(_math.sin(a))\r\n } else {\r\n return bBox.width\r\n }\r\n}\r\n\r\nfunction getMaxConstantLinePadding(constantLines) {\r\n return constantLines.reduce((function(padding, options) {\r\n return _max(padding, options.paddingTopBottom)\r\n }), 0)\r\n}\r\n\r\nfunction getConstantLineLabelMarginForVerticalAlignment(constantLines, alignment, labelHeight) {\r\n return constantLines.some((function(options) {\r\n return options.label.verticalAlignment === alignment\r\n })) && labelHeight || 0\r\n}\r\n\r\nfunction getLeftMargin(bBox) {\r\n return _math.abs(bBox.x) || 0\r\n}\r\n\r\nfunction getRightMargin(bBox) {\r\n return _math.abs(bBox.width - _math.abs(bBox.x)) || 0\r\n}\r\n\r\nfunction generateRangesOnPoints(points, edgePoints, getRange) {\r\n var i;\r\n var length;\r\n var maxRange = null;\r\n var ranges = [];\r\n var curValue;\r\n var prevValue;\r\n var curRange;\r\n for (i = 1, length = points.length; i < length; i++) {\r\n curValue = points[i];\r\n prevValue = points[i - 1];\r\n curRange = getRange(curValue, prevValue);\r\n if (edgePoints.indexOf(curValue) >= 0) {\r\n if (!maxRange || curRange > maxRange.length) {\r\n maxRange = {\r\n start: curValue,\r\n end: prevValue,\r\n length: curRange\r\n }\r\n }\r\n } else {\r\n if (maxRange && curRange < maxRange.length) {\r\n ranges.push(maxRange)\r\n } else {\r\n ranges.push({\r\n start: curValue,\r\n end: prevValue,\r\n length: curRange\r\n })\r\n }\r\n maxRange = null\r\n }\r\n }\r\n if (maxRange) {\r\n ranges.push(maxRange)\r\n }\r\n return ranges\r\n}\r\n\r\nfunction generateAutoBreaks(_ref, series, _ref2) {\r\n var {\r\n logarithmBase: logarithmBase,\r\n type: type,\r\n maxAutoBreakCount: maxAutoBreakCount\r\n } = _ref;\r\n var {\r\n minVisible: minVisible,\r\n maxVisible: maxVisible\r\n } = _ref2;\r\n var breaks = [];\r\n var getRange = \"logarithmic\" === type ? (min, max) => getLog(max / min, logarithmBase) : (min, max) => max - min;\r\n var visibleRange = getRange(minVisible, maxVisible);\r\n var points = series.reduce((result, s) => {\r\n var points = s.getPointsInViewPort();\r\n result[0] = result[0].concat(points[0]);\r\n result[1] = result[1].concat(points[1]);\r\n return result\r\n }, [\r\n [],\r\n []\r\n ]);\r\n var sortedAllPoints = points[0].concat(points[1]).sort((a, b) => b - a);\r\n var edgePoints = points[1].filter(p => points[0].indexOf(p) < 0);\r\n var minDiff = RANGE_RATIO * visibleRange;\r\n var ranges = generateRangesOnPoints(sortedAllPoints, edgePoints, getRange).sort((a, b) => b.length - a.length);\r\n var epsilon = _math.min.apply(null, ranges.map(r => r.length)) / 1e3;\r\n var _maxAutoBreakCount = isDefined(maxAutoBreakCount) ? _math.min(maxAutoBreakCount, ranges.length) : ranges.length;\r\n for (var i = 0; i < _maxAutoBreakCount; i++) {\r\n if (ranges[i].length >= minDiff) {\r\n if (visibleRange <= ranges[i].length) {\r\n break\r\n }\r\n visibleRange -= ranges[i].length;\r\n if (visibleRange > epsilon || visibleRange < -epsilon) {\r\n breaks.push({\r\n from: ranges[i].start,\r\n to: ranges[i].end\r\n });\r\n minDiff = RANGE_RATIO * visibleRange\r\n }\r\n } else {\r\n break\r\n }\r\n }\r\n sortingBreaks(breaks);\r\n return breaks\r\n}\r\nexport default {\r\n linear: {\r\n _getStep: function(boxes, rotationAngle) {\r\n var spacing = this._options.label.minSpacing;\r\n var func = this._isHorizontal ? function(box) {\r\n return box.width + spacing\r\n } : function(box) {\r\n return box.height\r\n };\r\n var maxLabelLength = getMaxSide(func, boxes);\r\n if (rotationAngle) {\r\n maxLabelLength = getDistanceByAngle({\r\n width: maxLabelLength,\r\n height: this._getMaxLabelHeight(boxes, 0)\r\n }, rotationAngle)\r\n }\r\n return constants.getTicksCountInRange(this._majorTicks, this._isHorizontal ? \"x\" : \"y\", maxLabelLength)\r\n },\r\n _getMaxLabelHeight: function(boxes, spacing) {\r\n return getMaxSide((function(box) {\r\n return box.height\r\n }), boxes) + spacing\r\n },\r\n _validateOverlappingMode: function(mode, displayMode) {\r\n if (this._isHorizontal && (\"rotate\" === displayMode || \"stagger\" === displayMode) || !this._isHorizontal) {\r\n return constants.validateOverlappingMode(mode)\r\n }\r\n return mode\r\n },\r\n _validateDisplayMode: function(mode) {\r\n return this._isHorizontal ? mode : \"standard\"\r\n },\r\n getMarkerTrackers: function() {\r\n return this._markerTrackers\r\n },\r\n _getSharpParam: function(opposite) {\r\n return this._isHorizontal ^ opposite ? \"h\" : \"v\"\r\n },\r\n _createAxisElement: function() {\r\n return this._renderer.path([], \"line\")\r\n },\r\n _updateAxisElementPosition: function() {\r\n var axisCoord = this._axisPosition;\r\n var canvas = this._getCanvasStartEnd();\r\n this._axisElement.attr({\r\n points: this._isHorizontal ? [canvas.start, axisCoord, canvas.end, axisCoord] : [axisCoord, canvas.start, axisCoord, canvas.end]\r\n })\r\n },\r\n _getTranslatedCoord: function(value, offset) {\r\n return this._translator.translate(value, offset)\r\n },\r\n _initAxisPositions() {\r\n if (this.customPositionIsAvailable()) {\r\n this._customBoundaryPosition = this.getCustomBoundaryPosition()\r\n }\r\n if (!this.customPositionIsAvailable() || this.customPositionIsBoundary()) {\r\n this._axisPosition = this.getPredefinedPosition(this.getResolvedBoundaryPosition())\r\n } else {\r\n this._axisPosition = this.getCustomPosition()\r\n }\r\n },\r\n _getTickMarkPoints(coords, length, tickOptions) {\r\n var isHorizontal = this._isHorizontal;\r\n var tickOrientation = this._options.tickOrientation;\r\n var labelPosition = this._options.label.position;\r\n var tickStartCoord;\r\n if (isDefined(tickOrientation)) {\r\n tickStartCoord = TICKS_CORRECTIONS[tickOrientation] * length\r\n } else {\r\n var shift = tickOptions.shift || 0;\r\n if (!isHorizontal && labelPosition === LEFT || isHorizontal && labelPosition !== BOTTOM) {\r\n shift = -shift\r\n }\r\n tickStartCoord = shift + this.getTickStartPositionShift(length)\r\n }\r\n return [coords.x + (isHorizontal ? 0 : tickStartCoord), coords.y + (isHorizontal ? tickStartCoord : 0), coords.x + (isHorizontal ? 0 : tickStartCoord + length), coords.y + (isHorizontal ? tickStartCoord + length : 0)]\r\n },\r\n getTickStartPositionShift(length) {\r\n var width = this._options.width;\r\n var position = this.getResolvedBoundaryPosition();\r\n return length % 2 === 1 ? width % 2 === 0 && (position === LEFT || position === TOP) || width % 2 === 1 && (position === RIGHT || position === BOTTOM) && !this.hasNonBoundaryPosition() ? Math.floor(-length / 2) : -Math.floor(length / 2) : -length / 2 + (width % 2 === 0 ? 0 : position === BOTTOM || position === RIGHT ? -1 : 1)\r\n },\r\n _getTitleCoords: function() {\r\n var horizontal = this._isHorizontal;\r\n var x = this._axisPosition;\r\n var y = this._axisPosition;\r\n var align = this._options.title.alignment;\r\n var canvas = this._getCanvasStartEnd();\r\n var fromStartToEnd = horizontal || this._options.position === LEFT;\r\n var canvasStart = fromStartToEnd ? canvas.start : canvas.end;\r\n var canvasEnd = fromStartToEnd ? canvas.end : canvas.start;\r\n var coord = align === LEFT ? canvasStart : align === RIGHT ? canvasEnd : canvas.start + (canvas.end - canvas.start) / 2;\r\n if (horizontal) {\r\n x = coord\r\n } else {\r\n y = coord\r\n }\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n _drawTitleText: function(group, coords) {\r\n var options = this._options;\r\n var titleOptions = options.title;\r\n var attrs = {\r\n opacity: titleOptions.opacity,\r\n align: titleOptions.alignment,\r\n class: titleOptions.cssClass\r\n };\r\n if (!titleOptions.text || !group) {\r\n return\r\n }\r\n coords = coords || this._getTitleCoords();\r\n if (!this._isHorizontal) {\r\n attrs.rotate = options.position === LEFT ? 270 : 90\r\n }\r\n var text = this._renderer.text(titleOptions.text, coords.x, coords.y).css(patchFontOptions(titleOptions.font)).attr(attrs).append(group);\r\n this._checkTitleOverflow(text);\r\n return text\r\n },\r\n _updateTitleCoords: function() {\r\n this._title && this._title.element.attr(this._getTitleCoords())\r\n },\r\n _drawTitle: function() {\r\n var title = this._drawTitleText(this._axisTitleGroup);\r\n if (title) {\r\n this._title = {\r\n element: title\r\n }\r\n }\r\n },\r\n _measureTitle: function() {\r\n if (this._title) {\r\n if (this._title.bBox && !this._title.originalSize) {\r\n this._title.originalSize = this._title.bBox\r\n }\r\n this._title.bBox = this._title.element.getBBox()\r\n }\r\n },\r\n _drawDateMarker: function(date, options, range) {\r\n var markerOptions = this._options.marker;\r\n var invert = this._translator.getBusinessRange().invert;\r\n var textIndent = markerOptions.width + markerOptions.textLeftIndent;\r\n var pathElement;\r\n if (null === options.x) {\r\n return\r\n }\r\n if (!options.withoutStick) {\r\n pathElement = this._renderer.path([options.x, options.y, options.x, options.y + markerOptions.separatorHeight], \"line\").attr({\r\n \"stroke-width\": markerOptions.width,\r\n stroke: markerOptions.color,\r\n \"stroke-opacity\": markerOptions.opacity,\r\n sharp: \"h\"\r\n }).append(this._axisElementsGroup)\r\n }\r\n var text = String(this.formatLabel(date, options.labelOptions, range));\r\n return {\r\n date: date,\r\n x: options.x,\r\n y: options.y,\r\n cropped: options.withoutStick,\r\n label: this._renderer.text(text, options.x, options.y).css(patchFontOptions(markerOptions.label.font)).append(this._axisElementsGroup),\r\n line: pathElement,\r\n getContentContainer() {\r\n return this.label\r\n },\r\n getEnd: function() {\r\n return this.x + (invert ? -1 : 1) * (textIndent + this.labelBBox.width)\r\n },\r\n setTitle: function() {\r\n this.title = text\r\n },\r\n hideLabel: function() {\r\n this.label.dispose();\r\n this.label = null;\r\n this.title = text\r\n },\r\n hide: function() {\r\n if (pathElement) {\r\n pathElement.dispose();\r\n pathElement = null\r\n }\r\n this.label.dispose();\r\n this.label = null;\r\n this.hidden = true\r\n }\r\n }\r\n },\r\n _drawDateMarkers: function() {\r\n var that = this;\r\n var options = that._options;\r\n var translator = that._translator;\r\n var viewport = that._getViewportRange();\r\n var minBound = viewport.minVisible;\r\n var dateMarkers = [];\r\n var dateMarker;\r\n\r\n function draw(markerDate, format, withoutStick) {\r\n return that._drawDateMarker(markerDate, {\r\n x: translator.translate(markerDate),\r\n y: markersAreaTop,\r\n labelOptions: that._getLabelFormatOptions(format),\r\n withoutStick: withoutStick\r\n }, viewport)\r\n }\r\n if (viewport.isEmpty() || !options.marker.visible || \"datetime\" !== options.argumentType || \"discrete\" === options.type || that._majorTicks.length <= 1) {\r\n return []\r\n }\r\n var markersAreaTop = that._axisPosition + options.marker.topIndent;\r\n var tickInterval = dateUtils.getDateUnitInterval(this._tickInterval);\r\n var markerInterval = getMarkerInterval(tickInterval);\r\n var markerDates = getMarkerDates(minBound, viewport.maxVisible, markerInterval);\r\n if (markerDates.length > 1 || 1 === markerDates.length && minBound < markerDates[0]) {\r\n dateMarkers = markerDates.reduce((function(markers, curDate, i, dates) {\r\n var marker = draw(curDate, getMarkerFormat(curDate, dates[i - 1] || minBound < curDate && minBound, tickInterval, markerInterval));\r\n marker && markers.push(marker);\r\n return markers\r\n }), []);\r\n if (minBound < markerDates[0]) {\r\n dateMarker = draw(minBound, getMarkerFormat(minBound, markerDates[0], tickInterval, markerInterval), true);\r\n dateMarker && dateMarkers.unshift(dateMarker)\r\n }\r\n }\r\n return dateMarkers\r\n },\r\n _adjustDateMarkers: function(offset) {\r\n offset = offset || 0;\r\n var that = this;\r\n var markerOptions = this._options.marker;\r\n var textIndent = markerOptions.width + markerOptions.textLeftIndent;\r\n var invert = this._translator.getBusinessRange().invert;\r\n var canvas = that._getCanvasStartEnd();\r\n var dateMarkers = this._dateMarkers;\r\n if (!dateMarkers.length) {\r\n return offset\r\n }\r\n if (dateMarkers[0].cropped) {\r\n if (!this._checkMarkersPosition(invert, dateMarkers[1], dateMarkers[0])) {\r\n dateMarkers[0].hideLabel()\r\n }\r\n }\r\n var prevDateMarker;\r\n dateMarkers.forEach((function(marker, i, markers) {\r\n if (marker.cropped) {\r\n return\r\n }\r\n if (invert ? marker.getEnd() < canvas.end : marker.getEnd() > canvas.end) {\r\n marker.hideLabel()\r\n } else if (that._checkMarkersPosition(invert, marker, prevDateMarker)) {\r\n prevDateMarker = marker\r\n } else {\r\n marker.hide()\r\n }\r\n }));\r\n this._dateMarkers.forEach((function(marker) {\r\n if (marker.label) {\r\n var labelBBox = marker.labelBBox;\r\n var dy = marker.y + markerOptions.textTopIndent - labelBBox.y;\r\n marker.label.attr({\r\n translateX: invert ? marker.x - textIndent - labelBBox.x - labelBBox.width : marker.x + textIndent - labelBBox.x,\r\n translateY: dy + offset\r\n })\r\n }\r\n if (marker.line) {\r\n marker.line.attr({\r\n translateY: offset\r\n })\r\n }\r\n }));\r\n that._initializeMarkersTrackers(offset);\r\n return offset + markerOptions.topIndent + markerOptions.separatorHeight\r\n },\r\n _checkMarkersPosition: function(invert, dateMarker, prevDateMarker) {\r\n if (void 0 === prevDateMarker) {\r\n return true\r\n }\r\n return invert ? dateMarker.x < prevDateMarker.getEnd() : dateMarker.x > prevDateMarker.getEnd()\r\n },\r\n _initializeMarkersTrackers: function(offset) {\r\n var separatorHeight = this._options.marker.separatorHeight;\r\n var renderer = this._renderer;\r\n var businessRange = this._translator.getBusinessRange();\r\n var canvas = this._getCanvasStartEnd();\r\n var group = this._axisElementsGroup;\r\n this._markerTrackers = this._dateMarkers.filter((function(marker) {\r\n return !marker.hidden\r\n })).map((function(marker, i, markers) {\r\n var nextMarker = markers[i + 1] || {\r\n x: canvas.end,\r\n date: businessRange.max\r\n };\r\n var x = marker.x;\r\n var y = marker.y + offset;\r\n var markerTracker = renderer.path([x, y, x, y + separatorHeight, nextMarker.x, y + separatorHeight, nextMarker.x, y, x, y], \"area\").attr({\r\n \"stroke-width\": 1,\r\n stroke: \"grey\",\r\n fill: \"grey\",\r\n opacity: 1e-4\r\n }).append(group);\r\n markerTracker.data(\"range\", {\r\n startValue: marker.date,\r\n endValue: nextMarker.date\r\n });\r\n if (marker.title) {\r\n markerTracker.setTitle(marker.title)\r\n }\r\n return markerTracker\r\n }))\r\n },\r\n _getLabelFormatOptions: function(formatString) {\r\n var markerLabelOptions = this._markerLabelOptions;\r\n if (!markerLabelOptions) {\r\n this._markerLabelOptions = markerLabelOptions = extend(true, {}, this._options.marker.label)\r\n }\r\n if (!isDefined(this._options.marker.label.format)) {\r\n markerLabelOptions.format = formatString\r\n }\r\n return markerLabelOptions\r\n },\r\n _adjustConstantLineLabels: function(constantLines) {\r\n var that = this;\r\n var axisPosition = that._options.position;\r\n var canvas = that.getCanvas();\r\n var canvasLeft = canvas.left;\r\n var canvasRight = canvas.width - canvas.right;\r\n var canvasTop = canvas.top;\r\n var canvasBottom = canvas.height - canvas.bottom;\r\n var verticalCenter = canvasTop + (canvasBottom - canvasTop) / 2;\r\n var horizontalCenter = canvasLeft + (canvasRight - canvasLeft) / 2;\r\n var maxLabel = 0;\r\n constantLines.forEach((function(item) {\r\n var isHorizontal = that._isHorizontal;\r\n var linesOptions = item.options;\r\n var paddingTopBottom = linesOptions.paddingTopBottom;\r\n var paddingLeftRight = linesOptions.paddingLeftRight;\r\n var labelOptions = linesOptions.label;\r\n var labelVerticalAlignment = labelOptions.verticalAlignment;\r\n var labelHorizontalAlignment = labelOptions.horizontalAlignment;\r\n var labelIsInside = \"inside\" === labelOptions.position;\r\n var label = item.label;\r\n var box = item.labelBBox;\r\n var translateX;\r\n var translateY;\r\n if (null === label || box.isEmpty) {\r\n return\r\n }\r\n if (isHorizontal) {\r\n if (labelIsInside) {\r\n if (labelHorizontalAlignment === LEFT) {\r\n translateX = item.coord - paddingLeftRight - box.x - box.width\r\n } else {\r\n translateX = item.coord + paddingLeftRight - box.x\r\n }\r\n switch (labelVerticalAlignment) {\r\n case CENTER:\r\n translateY = verticalCenter - box.y - box.height / 2;\r\n break;\r\n case BOTTOM:\r\n translateY = canvasBottom - paddingTopBottom - box.y - box.height;\r\n break;\r\n default:\r\n translateY = canvasTop + paddingTopBottom - box.y\r\n }\r\n } else {\r\n if (axisPosition === labelVerticalAlignment) {\r\n maxLabel = _max(maxLabel, box.height + paddingTopBottom)\r\n }\r\n translateX = item.coord - box.x - box.width / 2;\r\n if (labelVerticalAlignment === BOTTOM) {\r\n translateY = canvasBottom + paddingTopBottom - box.y\r\n } else {\r\n translateY = canvasTop - paddingTopBottom - box.y - box.height\r\n }\r\n }\r\n } else if (labelIsInside) {\r\n if (labelVerticalAlignment === BOTTOM) {\r\n translateY = item.coord + paddingTopBottom - box.y\r\n } else {\r\n translateY = item.coord - paddingTopBottom - box.y - box.height\r\n }\r\n switch (labelHorizontalAlignment) {\r\n case CENTER:\r\n translateX = horizontalCenter - box.x - box.width / 2;\r\n break;\r\n case RIGHT:\r\n translateX = canvasRight - paddingLeftRight - box.x - box.width;\r\n break;\r\n default:\r\n translateX = canvasLeft + paddingLeftRight - box.x\r\n }\r\n } else {\r\n if (axisPosition === labelHorizontalAlignment) {\r\n maxLabel = _max(maxLabel, box.width + paddingLeftRight)\r\n }\r\n translateY = item.coord - box.y - box.height / 2;\r\n if (labelHorizontalAlignment === RIGHT) {\r\n translateX = canvasRight + paddingLeftRight - box.x\r\n } else {\r\n translateX = canvasLeft - paddingLeftRight - box.x - box.width\r\n }\r\n }\r\n label.attr({\r\n translateX: translateX,\r\n translateY: translateY\r\n })\r\n }));\r\n return maxLabel\r\n },\r\n _drawConstantLinesForEstimating: function(constantLines) {\r\n var that = this;\r\n var renderer = this._renderer;\r\n var group = renderer.g();\r\n constantLines.forEach((function(options) {\r\n that._drawConstantLineLabelText(options.label.text, 0, 0, options.label, group).attr({\r\n align: \"center\"\r\n })\r\n }));\r\n return group.append(renderer.root)\r\n },\r\n _estimateLabelHeight: function(bBox, labelOptions) {\r\n var height = bBox.height;\r\n var drawingType = labelOptions.drawingType;\r\n if (\"stagger\" === this._validateDisplayMode(drawingType) || \"stagger\" === this._validateOverlappingMode(labelOptions.overlappingBehavior, drawingType)) {\r\n height = 2 * height + labelOptions.staggeringSpacing\r\n }\r\n if (\"rotate\" === this._validateDisplayMode(drawingType) || \"rotate\" === this._validateOverlappingMode(labelOptions.overlappingBehavior, drawingType)) {\r\n var sinCos = getCosAndSin(labelOptions.rotationAngle);\r\n height = height * sinCos.cos + bBox.width * sinCos.sin\r\n }\r\n return height && (height + labelOptions.indentFromAxis || 0) || 0\r\n },\r\n estimateMargins: function(canvas) {\r\n this.updateCanvas(canvas);\r\n var range = this._getViewportRange();\r\n var ticksData = this._createTicksAndLabelFormat(range);\r\n var ticks = ticksData.ticks;\r\n var tickInterval = ticksData.tickInterval;\r\n var options = this._options;\r\n var constantLineOptions = this._outsideConstantLines.filter(l => l.labelOptions.visible).map(l => l.options);\r\n var rootElement = this._renderer.root;\r\n var labelIsVisible = options.label.visible && !range.isEmpty() && ticks.length;\r\n var labelValue = labelIsVisible && this.formatLabel(ticks[ticks.length - 1], options.label, void 0, void 0, tickInterval, ticks);\r\n var labelElement = labelIsVisible && this._renderer.text(labelValue, 0, 0).css(this._textFontStyles).attr(this._textOptions).append(rootElement);\r\n var titleElement = this._drawTitleText(rootElement, {\r\n x: 0,\r\n y: 0\r\n });\r\n var constantLinesLabelsElement = this._drawConstantLinesForEstimating(constantLineOptions);\r\n var labelBox = !options.label.template && labelElement && labelElement.getBBox() || {\r\n x: 0,\r\n y: 0,\r\n width: 0,\r\n height: 0\r\n };\r\n var titleBox = titleElement && titleElement.getBBox() || {\r\n x: 0,\r\n y: 0,\r\n width: 0,\r\n height: 0\r\n };\r\n var constantLinesBox = constantLinesLabelsElement.getBBox();\r\n var titleHeight = titleBox.height ? titleBox.height + options.title.margin : 0;\r\n var labelHeight = this._estimateLabelHeight(labelBox, options.label);\r\n var constantLinesHeight = constantLinesBox.height ? constantLinesBox.height + getMaxConstantLinePadding(constantLineOptions) : 0;\r\n var height = labelHeight + titleHeight;\r\n var margins = {\r\n left: _max(getLeftMargin(labelBox), getLeftMargin(constantLinesBox)),\r\n right: _max(getRightMargin(labelBox), getRightMargin(constantLinesBox)),\r\n top: (\"top\" === options.position ? height : 0) + getConstantLineLabelMarginForVerticalAlignment(constantLineOptions, \"top\", constantLinesHeight),\r\n bottom: (\"top\" !== options.position ? height : 0) + getConstantLineLabelMarginForVerticalAlignment(constantLineOptions, \"bottom\", constantLinesHeight)\r\n };\r\n labelElement && labelElement.remove();\r\n titleElement && titleElement.remove();\r\n constantLinesLabelsElement && constantLinesLabelsElement.remove();\r\n return margins\r\n },\r\n _checkAlignmentConstantLineLabels: function(labelOptions) {\r\n var position = labelOptions.position;\r\n var verticalAlignment = (labelOptions.verticalAlignment || \"\").toLowerCase();\r\n var horizontalAlignment = (labelOptions.horizontalAlignment || \"\").toLowerCase();\r\n if (this._isHorizontal) {\r\n if (\"outside\" === position) {\r\n verticalAlignment = verticalAlignment === BOTTOM ? BOTTOM : TOP;\r\n horizontalAlignment = CENTER\r\n } else {\r\n verticalAlignment = verticalAlignment === CENTER ? CENTER : verticalAlignment === BOTTOM ? BOTTOM : TOP;\r\n horizontalAlignment = horizontalAlignment === LEFT ? LEFT : RIGHT\r\n }\r\n } else if (\"outside\" === position) {\r\n verticalAlignment = CENTER;\r\n horizontalAlignment = horizontalAlignment === LEFT ? LEFT : RIGHT\r\n } else {\r\n verticalAlignment = verticalAlignment === BOTTOM ? BOTTOM : TOP;\r\n horizontalAlignment = horizontalAlignment === RIGHT ? RIGHT : horizontalAlignment === CENTER ? CENTER : LEFT\r\n }\r\n labelOptions.verticalAlignment = verticalAlignment;\r\n labelOptions.horizontalAlignment = horizontalAlignment\r\n },\r\n _getConstantLineLabelsCoords: function(value, lineLabelOptions) {\r\n var x = value;\r\n var y = value;\r\n if (this._isHorizontal) {\r\n y = this._orthogonalPositions[\"top\" === lineLabelOptions.verticalAlignment ? \"start\" : \"end\"]\r\n } else {\r\n x = this._orthogonalPositions[\"right\" === lineLabelOptions.horizontalAlignment ? \"end\" : \"start\"]\r\n }\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n _getAdjustedStripLabelCoords: function(strip) {\r\n var stripOptions = strip.options;\r\n var paddingTopBottom = stripOptions.paddingTopBottom;\r\n var paddingLeftRight = stripOptions.paddingLeftRight;\r\n var horizontalAlignment = stripOptions.label.horizontalAlignment;\r\n var verticalAlignment = stripOptions.label.verticalAlignment;\r\n var box = strip.labelBBox;\r\n var labelHeight = box.height;\r\n var labelWidth = box.width;\r\n var labelCoords = strip.labelCoords;\r\n var y = labelCoords.y - box.y;\r\n var x = labelCoords.x - box.x;\r\n if (verticalAlignment === TOP) {\r\n y += paddingTopBottom\r\n } else if (verticalAlignment === CENTER) {\r\n y -= labelHeight / 2\r\n } else if (verticalAlignment === BOTTOM) {\r\n y -= paddingTopBottom + labelHeight\r\n }\r\n if (horizontalAlignment === LEFT) {\r\n x += paddingLeftRight\r\n } else if (horizontalAlignment === CENTER) {\r\n x -= labelWidth / 2\r\n } else if (horizontalAlignment === RIGHT) {\r\n x -= paddingLeftRight + labelWidth\r\n }\r\n return {\r\n translateX: x,\r\n translateY: y\r\n }\r\n },\r\n _adjustTitle: function(offset) {\r\n offset = offset || 0;\r\n if (!this._title) {\r\n return\r\n }\r\n var options = this._options;\r\n var position = options.position;\r\n var margin = options.title.margin;\r\n var title = this._title;\r\n var boxTitle = title.bBox;\r\n var x = boxTitle.x;\r\n var y = boxTitle.y;\r\n var width = boxTitle.width;\r\n var height = boxTitle.height;\r\n var axisPosition = this._axisPosition;\r\n var loCoord = axisPosition - margin - offset;\r\n var hiCoord = axisPosition + margin + offset;\r\n var params = {};\r\n if (this._isHorizontal) {\r\n if (position === TOP) {\r\n params.translateY = loCoord - (y + height)\r\n } else {\r\n params.translateY = hiCoord - y\r\n }\r\n } else if (position === LEFT) {\r\n params.translateX = loCoord - (x + width)\r\n } else {\r\n params.translateX = hiCoord - x\r\n }\r\n title.element.attr(params)\r\n },\r\n _checkTitleOverflow: function(titleElement) {\r\n if (!this._title && !titleElement) {\r\n return\r\n }\r\n var canvasLength = this._getScreenDelta();\r\n var title = titleElement ? {\r\n bBox: titleElement.getBBox(),\r\n element: titleElement\r\n } : this._title;\r\n var titleOptions = this._options.title;\r\n var boxTitle = title.bBox;\r\n if ((this._isHorizontal ? boxTitle.width : boxTitle.height) > canvasLength) {\r\n title.element.setMaxSize(canvasLength, void 0, {\r\n wordWrap: titleOptions.wordWrap || \"none\",\r\n textOverflow: titleOptions.textOverflow || \"ellipsis\"\r\n });\r\n this._wrapped = titleOptions.wordWrap && \"none\" !== titleOptions.wordWrap\r\n } else {\r\n var moreThanOriginalSize = title.originalSize && canvasLength > (this._isHorizontal ? title.originalSize.width : title.originalSize.height);\r\n !this._wrapped && moreThanOriginalSize && title.element.restoreText()\r\n }\r\n },\r\n coordsIn: function(x, y) {\r\n var canvas = this.getCanvas();\r\n var isHorizontal = this._options.isHorizontal;\r\n var position = this._options.position;\r\n var coord = isHorizontal ? y : x;\r\n if (isHorizontal && (x < canvas.left || x > canvas.width - canvas.right) || !isHorizontal && (y < canvas.top || y > canvas.height - canvas.bottom)) {\r\n return false\r\n }\r\n if (isHorizontal && position === constants.top || !isHorizontal && position === constants.left) {\r\n return coord < canvas[position]\r\n }\r\n return coord > canvas[isHorizontal ? \"height\" : \"width\"] - canvas[position]\r\n },\r\n _boundaryTicksVisibility: {\r\n min: true,\r\n max: true\r\n },\r\n adjust() {\r\n var seriesData = this._seriesData;\r\n var viewport = this._series.filter(s => s.isVisible()).reduce((range, s) => {\r\n var seriesRange = s.getViewport();\r\n range.min = isDefined(seriesRange.min) ? range.min < seriesRange.min ? range.min : seriesRange.min : range.min;\r\n range.max = isDefined(seriesRange.max) ? range.max > seriesRange.max ? range.max : seriesRange.max : range.max;\r\n if (s.showZero) {\r\n range = new Range(range);\r\n range.correctValueZeroLevel()\r\n }\r\n return range\r\n }, {});\r\n if (isDefined(viewport.min) && isDefined(viewport.max)) {\r\n seriesData.minVisible = viewport.min;\r\n seriesData.maxVisible = viewport.max\r\n }\r\n seriesData.userBreaks = this._getScaleBreaks(this._options, {\r\n minVisible: seriesData.minVisible,\r\n maxVisible: seriesData.maxVisible\r\n }, this._series, this.isArgumentAxis);\r\n this._translator.updateBusinessRange(this._getViewportRange())\r\n },\r\n hasWrap() {\r\n return this._wrapped\r\n },\r\n getAxisPosition() {\r\n return this._axisPosition\r\n },\r\n _getStick: function() {\r\n return !this._options.valueMarginsEnabled\r\n },\r\n _getStripLabelCoords: function(from, to, stripLabelOptions) {\r\n var orthogonalPositions = this._orthogonalPositions;\r\n var isHorizontal = this._isHorizontal;\r\n var horizontalAlignment = stripLabelOptions.horizontalAlignment;\r\n var verticalAlignment = stripLabelOptions.verticalAlignment;\r\n var x;\r\n var y;\r\n if (isHorizontal) {\r\n if (horizontalAlignment === CENTER) {\r\n x = from + (to - from) / 2\r\n } else if (horizontalAlignment === LEFT) {\r\n x = from\r\n } else if (horizontalAlignment === RIGHT) {\r\n x = to\r\n }\r\n y = orthogonalPositions[getStripVerticalAlignmentPosition(verticalAlignment)]\r\n } else {\r\n x = orthogonalPositions[getStripHorizontalAlignmentPosition(horizontalAlignment)];\r\n if (verticalAlignment === TOP) {\r\n y = from\r\n } else if (verticalAlignment === CENTER) {\r\n y = to + (from - to) / 2\r\n } else if (verticalAlignment === BOTTOM) {\r\n y = to\r\n }\r\n }\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n _getTranslatedValue: function(value, offset) {\r\n var interval;\r\n if (\"semidiscrete\" === this._options.type) {\r\n interval = this._options.tickInterval\r\n }\r\n var pos1 = this._translator.translate(value, offset, false, interval);\r\n var pos2 = this._axisPosition;\r\n var isHorizontal = this._isHorizontal;\r\n return {\r\n x: isHorizontal ? pos1 : pos2,\r\n y: isHorizontal ? pos2 : pos1\r\n }\r\n },\r\n areCoordsOutsideAxis: function(coords) {\r\n var coord = this._isHorizontal ? coords.x : coords.y;\r\n var visibleArea = this.getVisibleArea();\r\n if (coord < visibleArea[0] || coord > visibleArea[1]) {\r\n return true\r\n }\r\n return false\r\n },\r\n _getSkippedCategory: function(ticks) {\r\n var skippedCategory;\r\n if (this._options.type === constants.discrete && this._tickOffset && 0 !== ticks.length) {\r\n skippedCategory = ticks[ticks.length - 1]\r\n }\r\n return skippedCategory\r\n },\r\n _filterBreaks: function(breaks, viewport, breakStyle) {\r\n var minVisible = viewport.minVisible;\r\n var maxVisible = viewport.maxVisible;\r\n var breakSize = breakStyle ? breakStyle.width : 0;\r\n return breaks.reduce((function(result, currentBreak) {\r\n var from = currentBreak.from;\r\n var to = currentBreak.to;\r\n var lastResult = result[result.length - 1];\r\n var newBreak;\r\n if (!isDefined(from) || !isDefined(to)) {\r\n return result\r\n }\r\n if (from > to) {\r\n to = [from, from = to][0]\r\n }\r\n if (result.length && from < lastResult.to) {\r\n if (to > lastResult.to) {\r\n lastResult.to = to > maxVisible ? maxVisible : to;\r\n if (lastResult.gapSize) {\r\n lastResult.gapSize = void 0;\r\n lastResult.cumulativeWidth += breakSize\r\n }\r\n }\r\n } else if (from >= minVisible && from < maxVisible || to <= maxVisible && to > minVisible) {\r\n from = from >= minVisible ? from : minVisible;\r\n to = to <= maxVisible ? to : maxVisible;\r\n if (to - from < maxVisible - minVisible) {\r\n var _lastResult$cumulativ;\r\n newBreak = {\r\n from: from,\r\n to: to,\r\n cumulativeWidth: (null !== (_lastResult$cumulativ = null === lastResult || void 0 === lastResult ? void 0 : lastResult.cumulativeWidth) && void 0 !== _lastResult$cumulativ ? _lastResult$cumulativ : 0) + breakSize\r\n };\r\n if (currentBreak.gapSize) {\r\n var _lastResult$cumulativ2;\r\n newBreak.gapSize = dateUtils.convertMillisecondsToDateUnits(to - from);\r\n newBreak.cumulativeWidth = null !== (_lastResult$cumulativ2 = null === lastResult || void 0 === lastResult ? void 0 : lastResult.cumulativeWidth) && void 0 !== _lastResult$cumulativ2 ? _lastResult$cumulativ2 : 0\r\n }\r\n result.push(newBreak)\r\n }\r\n }\r\n return result\r\n }), [])\r\n },\r\n _getScaleBreaks: function(axisOptions, viewport, series, isArgumentAxis) {\r\n var that = this;\r\n var breaks = (axisOptions.breaks || []).map((function(b) {\r\n return {\r\n from: that.parser(b.startValue),\r\n to: that.parser(b.endValue)\r\n }\r\n }));\r\n if (\"discrete\" !== axisOptions.type && \"datetime\" === axisOptions.dataType && axisOptions.workdaysOnly) {\r\n breaks = breaks.concat(generateDateBreaks(viewport.minVisible, viewport.maxVisible, axisOptions.workWeek, axisOptions.singleWorkdays, axisOptions.holidays))\r\n }\r\n if (!isArgumentAxis && \"discrete\" !== axisOptions.type && \"datetime\" !== axisOptions.dataType && axisOptions.autoBreaksEnabled && 0 !== axisOptions.maxAutoBreakCount) {\r\n breaks = breaks.concat(generateAutoBreaks(axisOptions, series, viewport))\r\n }\r\n return sortingBreaks(breaks)\r\n },\r\n _drawBreak: function(translatedEnd, positionFrom, positionTo, width, options, group) {\r\n var breakStart = translatedEnd - (!this._translator.isInverted() ? width + 1 : 0);\r\n var attr = {\r\n \"stroke-width\": 1,\r\n stroke: options.borderColor,\r\n sharp: !options.isWaved ? options.isHorizontal ? \"h\" : \"v\" : void 0\r\n };\r\n var spaceAttr = {\r\n stroke: options.color,\r\n \"stroke-width\": width\r\n };\r\n var getPoints = this._isHorizontal ? rotateLine : function(p) {\r\n return p\r\n };\r\n var drawer = getLineDrawer(this._renderer, group, getPoints, positionFrom, breakStart, positionTo, options.isWaved);\r\n drawer(width / 2, spaceAttr);\r\n drawer(0, attr);\r\n drawer(width, attr)\r\n },\r\n _createBreakClipRect: function(from, to) {\r\n var canvas = this._canvas;\r\n var clipWidth = to - from;\r\n var clipRect;\r\n if (this._isHorizontal) {\r\n clipRect = this._renderer.clipRect(canvas.left, from, canvas.width, clipWidth)\r\n } else {\r\n clipRect = this._renderer.clipRect(from, canvas.top, clipWidth, canvas.height)\r\n }\r\n this._breaksElements = this._breaksElements || [];\r\n this._breaksElements.push(clipRect);\r\n return clipRect.id\r\n },\r\n _createBreaksGroup: function(clipFrom, clipTo) {\r\n var group = this._renderer.g().attr({\r\n class: this._axisCssPrefix + \"breaks\",\r\n \"clip-path\": this._createBreakClipRect(clipFrom, clipTo)\r\n }).append(this._scaleBreaksGroup);\r\n this._breaksElements = this._breaksElements || [];\r\n this._breaksElements.push(group);\r\n return group\r\n },\r\n _disposeBreaksGroup: function() {\r\n (this._breaksElements || []).forEach((function(clipRect) {\r\n clipRect.dispose()\r\n }));\r\n this._breaksElements = null\r\n },\r\n drawScaleBreaks: function(customCanvas) {\r\n var that = this;\r\n var options = that._options;\r\n var breakStyle = options.breakStyle;\r\n var position = options.position;\r\n var positionFrom;\r\n var positionTo;\r\n var breaks = that._translator.getBusinessRange().breaks || [];\r\n var additionGroup;\r\n var additionBreakFrom;\r\n var additionBreakTo;\r\n that._disposeBreaksGroup();\r\n if (!(breaks && breaks.length)) {\r\n return\r\n }\r\n var breakOptions = {\r\n color: that._options.containerColor,\r\n borderColor: breakStyle.color,\r\n isHorizontal: that._isHorizontal,\r\n isWaved: \"straight\" !== breakStyle.line.toLowerCase()\r\n };\r\n if (customCanvas) {\r\n positionFrom = customCanvas.start;\r\n positionTo = customCanvas.end\r\n } else {\r\n positionFrom = that._orthogonalPositions.start - (options.visible && !that._axisShift && (position === LEFT || position === TOP) ? SCALE_BREAK_OFFSET : 0);\r\n positionTo = that._orthogonalPositions.end + (options.visible && (position === RIGHT || position === BOTTOM) ? SCALE_BREAK_OFFSET : 0)\r\n }\r\n var mainGroup = that._createBreaksGroup(positionFrom, positionTo);\r\n if (that._axisShift && options.visible) {\r\n additionBreakFrom = that._axisPosition - that._axisShift - SCALE_BREAK_OFFSET;\r\n additionBreakTo = additionBreakFrom + 2 * SCALE_BREAK_OFFSET;\r\n additionGroup = that._createBreaksGroup(additionBreakFrom, additionBreakTo)\r\n }\r\n breaks.forEach((function(br) {\r\n if (!br.gapSize) {\r\n var breakCoord = that._getTranslatedCoord(br.to);\r\n that._drawBreak(breakCoord, positionFrom, positionTo, breakStyle.width, breakOptions, mainGroup);\r\n if (that._axisShift && options.visible) {\r\n that._drawBreak(breakCoord, additionBreakFrom, additionBreakTo, breakStyle.width, breakOptions, additionGroup)\r\n }\r\n }\r\n }))\r\n },\r\n _getSpiderCategoryOption: noop,\r\n shift: function(margins) {\r\n var options = this._options;\r\n var isHorizontal = options.isHorizontal;\r\n var axesSpacing = this.getMultipleAxesSpacing();\r\n var constantLinesGroups = this._axisConstantLineGroups;\r\n\r\n function shiftGroup(side, group) {\r\n var attr = {\r\n translateX: 0,\r\n translateY: 0\r\n };\r\n var shift = margins[side] ? margins[side] + axesSpacing : 0;\r\n attr[isHorizontal ? \"translateY\" : \"translateX\"] = (side === LEFT || side === TOP ? -1 : 1) * shift;\r\n (group[side] || group).attr(attr);\r\n return shift\r\n }\r\n this._axisShift = shiftGroup(options.position, this._axisGroup);\r\n shiftGroup(options.position, this._axisElementsGroup);\r\n (isHorizontal ? [TOP, BOTTOM] : [LEFT, RIGHT]).forEach(side => {\r\n shiftGroup(side, constantLinesGroups.above);\r\n shiftGroup(side, constantLinesGroups.under)\r\n })\r\n },\r\n getCustomPosition(position) {\r\n var orthogonalAxis = this.getOrthogonalAxis();\r\n var resolvedPosition = null !== position && void 0 !== position ? position : this.getResolvedPositionOption();\r\n var offset = this.getOptions().offset;\r\n var orthogonalTranslator = orthogonalAxis.getTranslator();\r\n var orthogonalAxisType = orthogonalAxis.getOptions().type;\r\n var validPosition = orthogonalAxis.validateUnit(resolvedPosition);\r\n var currentPosition;\r\n if (\"discrete\" === orthogonalAxisType && (!orthogonalTranslator._categories || orthogonalTranslator._categories.indexOf(validPosition) < 0)) {\r\n validPosition = void 0\r\n }\r\n if (this.positionIsBoundary(resolvedPosition)) {\r\n currentPosition = this.getPredefinedPosition(resolvedPosition)\r\n } else if (!isDefined(validPosition)) {\r\n currentPosition = this.getPredefinedPosition(this.getOptions().position)\r\n } else {\r\n currentPosition = orthogonalTranslator.to(validPosition, -1)\r\n }\r\n if (isFinite(currentPosition) && isFinite(offset)) {\r\n currentPosition += offset\r\n }\r\n return currentPosition\r\n },\r\n getCustomBoundaryPosition(position) {\r\n var {\r\n customPosition: customPosition,\r\n offset: offset\r\n } = this.getOptions();\r\n var resolvedPosition = null !== position && void 0 !== position ? position : this.getResolvedPositionOption();\r\n var orthogonalAxis = this.getOrthogonalAxis();\r\n var orthogonalTranslator = orthogonalAxis.getTranslator();\r\n var visibleArea = orthogonalTranslator.getCanvasVisibleArea();\r\n if (!isDefined(orthogonalAxis._orthogonalPositions) || 0 === orthogonalTranslator.canvasLength) {\r\n return\r\n }\r\n var currentPosition = this.getCustomPosition(resolvedPosition);\r\n if (!isDefined(currentPosition)) {\r\n return this.getResolvedBoundaryPosition()\r\n } else if (isDefined(customPosition)) {\r\n if (currentPosition <= visibleArea.min) {\r\n return this._isHorizontal ? TOP : LEFT\r\n } else if (currentPosition >= visibleArea.max) {\r\n return this._isHorizontal ? BOTTOM : RIGHT\r\n }\r\n } else if (isDefined(offset)) {\r\n if (currentPosition <= this._orthogonalPositions.start) {\r\n return this._isHorizontal ? TOP : LEFT\r\n } else if (currentPosition >= this._orthogonalPositions.end) {\r\n return this._isHorizontal ? BOTTOM : RIGHT\r\n }\r\n }\r\n return currentPosition\r\n },\r\n getResolvedPositionOption() {\r\n var _options$customPositi;\r\n var options = this.getOptions();\r\n return null !== (_options$customPositi = options.customPosition) && void 0 !== _options$customPositi ? _options$customPositi : options.position\r\n },\r\n customPositionIsAvailable() {\r\n var options = this.getOptions();\r\n return isDefined(this.getOrthogonalAxis()) && (isDefined(options.customPosition) || isFinite(options.offset))\r\n },\r\n hasNonBoundaryPosition() {\r\n return this.customPositionIsAvailable() && !this.customPositionIsBoundary()\r\n },\r\n getResolvedBoundaryPosition() {\r\n return this.customPositionIsBoundary() ? this._customBoundaryPosition : this.getOptions().position\r\n },\r\n customPositionEqualsToPredefined() {\r\n return this.customPositionIsBoundary() && this._customBoundaryPosition === this.getOptions().position\r\n },\r\n customPositionIsBoundary() {\r\n return this.positionIsBoundary(this._customBoundaryPosition)\r\n },\r\n positionIsBoundary: position => [TOP, LEFT, BOTTOM, RIGHT].indexOf(position) >= 0,\r\n getPredefinedPosition(position) {\r\n var _this$_orthogonalPosi;\r\n return null === (_this$_orthogonalPosi = this._orthogonalPositions) || void 0 === _this$_orthogonalPosi ? void 0 : _this$_orthogonalPosi[position === TOP || position === LEFT ? \"start\" : \"end\"]\r\n },\r\n resolveOverlappingForCustomPositioning(oppositeAxes) {\r\n var that = this;\r\n if (!that.hasNonBoundaryPosition() && !that.customPositionIsBoundary() && !oppositeAxes.some(a => a.hasNonBoundaryPosition())) {\r\n return\r\n }\r\n var overlappingObj = {\r\n axes: [],\r\n ticks: []\r\n };\r\n oppositeAxes.filter(orthogonalAxis => orthogonalAxis.pane === that.pane).forEach(orthogonalAxis => {\r\n for (var i = 0; i < that._majorTicks.length; i++) {\r\n var tick = that._majorTicks[i];\r\n var label = tick.label;\r\n if (label) {\r\n if (overlappingObj.axes.indexOf(orthogonalAxis) < 0 && that._detectElementsOverlapping(label, orthogonalAxis._axisElement)) {\r\n overlappingObj.axes.push(orthogonalAxis);\r\n that._shiftThroughOrthogonalAxisOverlappedTick(label, orthogonalAxis)\r\n }\r\n for (var j = 0; j < orthogonalAxis._majorTicks.length; j++) {\r\n var oppositeTick = orthogonalAxis._majorTicks[j];\r\n var oppositeLabel = oppositeTick.label;\r\n if (oppositeLabel && that._detectElementsOverlapping(label, oppositeLabel)) {\r\n overlappingObj.ticks.push(tick);\r\n that._shiftThroughAxisOverlappedTick(tick);\r\n i = that._majorTicks.length;\r\n break\r\n }\r\n }\r\n }\r\n if (tick.mark && overlappingObj.ticks.indexOf(tick) < 0) {\r\n if (that._isHorizontal && tick.mark.attr(\"translateY\")) {\r\n tick.mark.attr({\r\n translateY: 0\r\n })\r\n } else if (!that._isHorizontal && tick.mark.attr(\"translateX\")) {\r\n tick.mark.attr({\r\n translateX: 0\r\n })\r\n }\r\n }\r\n }\r\n })\r\n },\r\n _shiftThroughOrthogonalAxisOverlappedTick(label, orthogonalAxis) {\r\n var labelBBox = label.getBBox();\r\n var orthogonalAxisPosition = orthogonalAxis.getAxisPosition();\r\n var orthogonalAxisLabelOptions = orthogonalAxis.getOptions().label;\r\n var orthogonalAxisLabelPosition = orthogonalAxisLabelOptions.position;\r\n var orthogonalAxisLabelIndent = orthogonalAxisLabelOptions.indentFromAxis / 2;\r\n var translateCoordName = this._isHorizontal ? \"translateX\" : \"translateY\";\r\n var defaultOrthogonalAxisLabelPosition = this._isHorizontal ? LEFT : TOP;\r\n var translate = label.attr(translateCoordName);\r\n var labelCoord = (this._isHorizontal ? labelBBox.x : labelBBox.y) + translate;\r\n var labelSize = this._isHorizontal ? labelBBox.width : labelBBox.height;\r\n var outsidePart = orthogonalAxisPosition - labelCoord;\r\n var insidePart = labelCoord + labelSize - orthogonalAxisPosition;\r\n var attr = {};\r\n attr[translateCoordName] = translate;\r\n if (outsidePart > 0 && insidePart > 0) {\r\n if (insidePart - outsidePart > 1) {\r\n attr[translateCoordName] += outsidePart + orthogonalAxisLabelIndent\r\n } else if (outsidePart - insidePart > 1) {\r\n attr[translateCoordName] -= insidePart + orthogonalAxisLabelIndent\r\n } else {\r\n attr[translateCoordName] += orthogonalAxisLabelPosition === defaultOrthogonalAxisLabelPosition ? outsidePart + orthogonalAxisLabelIndent : -(insidePart + orthogonalAxisLabelIndent)\r\n }\r\n label.attr(attr)\r\n }\r\n },\r\n _shiftThroughAxisOverlappedTick(tick) {\r\n var _tick$mark;\r\n var label = tick.label;\r\n if (!label) {\r\n return\r\n }\r\n var labelBBox = label.getBBox();\r\n var tickMarkBBox = null === (_tick$mark = tick.mark) || void 0 === _tick$mark ? void 0 : _tick$mark.getBBox();\r\n var axisPosition = this.getAxisPosition();\r\n var labelOptions = this.getOptions().label;\r\n var labelIndent = labelOptions.indentFromAxis;\r\n var labelPosition = labelOptions.position;\r\n var defaultLabelPosition = this._isHorizontal ? TOP : LEFT;\r\n var translateCoordName = this._isHorizontal ? \"translateY\" : \"translateX\";\r\n var translate = label.attr(translateCoordName);\r\n var labelCoord = (this._isHorizontal ? labelBBox.y : labelBBox.x) + translate;\r\n var labelSize = this._isHorizontal ? labelBBox.height : labelBBox.width;\r\n var attr = {};\r\n attr[translateCoordName] = translate + (labelPosition === defaultLabelPosition ? axisPosition - labelCoord + labelIndent : -(labelCoord - axisPosition + labelSize + labelIndent));\r\n label.attr(attr);\r\n if (tick.mark) {\r\n var markerSize = this._isHorizontal ? tickMarkBBox.height : tickMarkBBox.width;\r\n var dir = labelPosition === defaultLabelPosition ? 1 : -1;\r\n attr[translateCoordName] = dir * (markerSize - 1);\r\n tick.mark.attr(attr)\r\n }\r\n },\r\n _detectElementsOverlapping(element1, element2) {\r\n if (!element1 || !element2) {\r\n return false\r\n }\r\n var bBox1 = element1.getBBox();\r\n var x1 = bBox1.x + element1.attr(\"translateX\");\r\n var y1 = bBox1.y + element1.attr(\"translateY\");\r\n var bBox2 = element2.getBBox();\r\n var x2 = bBox2.x + element2.attr(\"translateX\");\r\n var y2 = bBox2.y + element2.attr(\"translateY\");\r\n return (x2 >= x1 && x2 <= x1 + bBox1.width || x1 >= x2 && x1 <= x2 + bBox2.width) && (y2 >= y1 && y2 <= y1 + bBox1.height || y1 >= y2 && y1 <= y2 + bBox2.height)\r\n }\r\n }\r\n};\r\n\r\nfunction getLineDrawer(renderer, root, rotatePoints, positionFrom, breakStart, positionTo, isWaved) {\r\n var elementType = isWaved ? \"bezier\" : \"line\";\r\n var group = renderer.g().append(root);\r\n return function(offset, attr) {\r\n renderer.path(rotatePoints(getPoints(positionFrom, breakStart, positionTo, offset, isWaved)), elementType).attr(attr).append(group)\r\n }\r\n}\r\n\r\nfunction getPoints(positionFrom, breakStart, positionTo, offset, isWaved) {\r\n if (!isWaved) {\r\n return [positionFrom, breakStart + offset, positionTo, breakStart + offset]\r\n }\r\n breakStart += offset;\r\n var currentPosition;\r\n var topPoint = breakStart + WAVED_LINE_TOP;\r\n var centerPoint = breakStart + WAVED_LINE_CENTER;\r\n var bottomPoint = breakStart + WAVED_LINE_BOTTOM;\r\n var points = [\r\n [positionFrom, centerPoint]\r\n ];\r\n for (currentPosition = positionFrom; currentPosition < positionTo + WAVED_LINE_LENGTH; currentPosition += WAVED_LINE_LENGTH) {\r\n points.push([currentPosition + 6, topPoint, currentPosition + 6, topPoint, currentPosition + 12, centerPoint, currentPosition + 18, bottomPoint, currentPosition + 18, bottomPoint, currentPosition + 24, centerPoint])\r\n }\r\n return [].concat.apply([], points)\r\n}\r\n\r\nfunction rotateLine(lineCoords) {\r\n var points = [];\r\n var i;\r\n for (i = 0; i < lineCoords.length; i += 2) {\r\n points.push(lineCoords[i + 1]);\r\n points.push(lineCoords[i])\r\n }\r\n return points\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/axes/axes_utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar _max = Math.max;\r\nexport var calculateCanvasMargins = function(bBoxes, canvas) {\r\n var cLeft = canvas.left;\r\n var cTop = canvas.top;\r\n var cRight = canvas.width - canvas.right;\r\n var cBottom = canvas.height - canvas.bottom;\r\n return bBoxes.reduce((function(margins, bBox) {\r\n if (!bBox || bBox.isEmpty) {\r\n return margins\r\n }\r\n return {\r\n left: _max(margins.left, cLeft - bBox.x),\r\n top: _max(margins.top, cTop - bBox.y),\r\n right: _max(margins.right, bBox.x + bBox.width - cRight),\r\n bottom: _max(margins.bottom, bBox.y + bBox.height - cBottom)\r\n }\r\n }), {\r\n left: 0,\r\n right: 0,\r\n top: 0,\r\n bottom: 0\r\n })\r\n};\r\nexport var measureLabels = function(items) {\r\n items.forEach((function(item) {\r\n var label = item.getContentContainer();\r\n item.labelBBox = label ? label.getBBox() : {\r\n x: 0,\r\n y: 0,\r\n width: 0,\r\n height: 0\r\n }\r\n }))\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/axes/polar_axes.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n map as _map,\r\n convertPolarToXY,\r\n convertXYToPolar,\r\n normalizeAngle,\r\n getVizRangeObject,\r\n getCosAndSin,\r\n getDistance\r\n} from \"../core/utils\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport constants from \"./axes_constants\";\r\nimport xyAxes from \"./xy_axes\";\r\nimport {\r\n tick\r\n} from \"./tick\";\r\nimport {\r\n calculateCanvasMargins,\r\n measureLabels\r\n} from \"./axes_utils\";\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nvar {\r\n PI: PI,\r\n abs: abs,\r\n atan: atan,\r\n round: round\r\n} = Math;\r\nvar _min = Math.min;\r\nvar _max = Math.max;\r\nvar xyAxesLinear = xyAxes.linear;\r\nvar HALF_PI_ANGLE = 90;\r\n\r\nfunction getPolarQuarter(angle) {\r\n var quarter;\r\n angle = normalizeAngle(angle);\r\n if (angle >= 315 && angle <= 360 || angle < 45 && angle >= 0) {\r\n quarter = 1\r\n } else if (angle >= 45 && angle < 135) {\r\n quarter = 2\r\n } else if (angle >= 135 && angle < 225) {\r\n quarter = 3\r\n } else if (angle >= 225 && angle < 315) {\r\n quarter = 4\r\n }\r\n return quarter\r\n}\r\nvar circularAxes = {\r\n _calculateValueMargins(ticks) {\r\n var {\r\n minVisible: minVisible,\r\n maxVisible: maxVisible\r\n } = this._getViewportRange();\r\n if (ticks && ticks.length > 1) {\r\n minVisible = minVisible < ticks[0].value ? minVisible : ticks[0].value;\r\n maxVisible = minVisible > ticks[ticks.length - 1].value ? maxVisible : ticks[ticks.length - 1].value\r\n }\r\n return {\r\n minValue: minVisible,\r\n maxValue: maxVisible\r\n }\r\n },\r\n applyMargins() {\r\n var margins = this._calculateValueMargins(this._majorTicks);\r\n var br = this._translator.getBusinessRange();\r\n br.addRange({\r\n minVisible: margins.minValue,\r\n maxVisible: margins.maxValue,\r\n interval: this._calculateRangeInterval(br.interval)\r\n });\r\n this._translator.updateBusinessRange(br)\r\n },\r\n _getTranslatorOptions: function() {\r\n return {\r\n isHorizontal: true,\r\n conversionValue: true,\r\n addSpiderCategory: this._getSpiderCategoryOption(),\r\n stick: this._getStick()\r\n }\r\n },\r\n getCenter: function() {\r\n return this._center\r\n },\r\n getRadius: function() {\r\n return this._radius\r\n },\r\n getAngles: function() {\r\n var options = this._options;\r\n return [options.startAngle, options.endAngle]\r\n },\r\n _updateRadius(canvas) {\r\n var rad = _min(canvas.width - canvas.left - canvas.right, canvas.height - canvas.top - canvas.bottom) / 2;\r\n this._radius = rad < 0 ? 0 : rad\r\n },\r\n _updateCenter: function(canvas) {\r\n this._center = {\r\n x: canvas.left + (canvas.width - canvas.right - canvas.left) / 2,\r\n y: canvas.top + (canvas.height - canvas.top - canvas.bottom) / 2\r\n }\r\n },\r\n _processCanvas: function(canvas) {\r\n this._updateRadius(canvas);\r\n this._updateCenter(canvas);\r\n return {\r\n left: 0,\r\n right: 0,\r\n width: this._getScreenDelta()\r\n }\r\n },\r\n _createAxisElement: function() {\r\n return this._renderer.circle()\r\n },\r\n _updateAxisElementPosition: function() {\r\n var center = this.getCenter();\r\n this._axisElement.attr({\r\n cx: center.x,\r\n cy: center.y,\r\n r: this.getRadius()\r\n })\r\n },\r\n _boundaryTicksVisibility: {\r\n min: true\r\n },\r\n _getSpiderCategoryOption: function() {\r\n return this._options.firstPointOnStartAngle\r\n },\r\n _validateOptions(options) {\r\n var originValue = options.originValue;\r\n var wholeRange = options.wholeRange = {};\r\n var period = options.period;\r\n if (isDefined(originValue)) {\r\n originValue = this.validateUnit(originValue)\r\n }\r\n if (period > 0 && options.argumentType === constants.numeric) {\r\n originValue = originValue || 0;\r\n wholeRange.endValue = originValue + period;\r\n this._viewport = getVizRangeObject([originValue, wholeRange.endValue])\r\n }\r\n if (isDefined(originValue)) {\r\n wholeRange.startValue = originValue\r\n }\r\n },\r\n getMargins() {\r\n var tickOptions = this._options.tick;\r\n var tickOuterLength = _max(tickOptions.visible ? tickOptions.length / 2 + tickOptions.shift : 0, 0);\r\n var radius = this.getRadius();\r\n var {\r\n x: x,\r\n y: y\r\n } = this._center;\r\n var labelBoxes = this._majorTicks.map(t => t.label && t.label.getBBox()).filter(b => b);\r\n var canvas = extend({}, this._canvas, {\r\n left: x - radius,\r\n top: y - radius,\r\n right: this._canvas.width - (x + radius),\r\n bottom: this._canvas.height - (y + radius)\r\n });\r\n var margins = calculateCanvasMargins(labelBoxes, canvas);\r\n Object.keys(margins).forEach(k => margins[k] = margins[k] < tickOuterLength ? tickOuterLength : margins[k]);\r\n return margins\r\n },\r\n _updateLabelsPosition() {\r\n measureLabels(this._majorTicks);\r\n this._adjustLabelsCoord(0, 0, true);\r\n this._checkBoundedLabelsOverlapping(this._majorTicks, this._majorTicks.map(t => t.labelBBox))\r\n },\r\n _setVisualRange: _noop,\r\n applyVisualRangeSetter: _noop,\r\n _getStick: function() {\r\n return this._options.firstPointOnStartAngle || this._options.type !== constants.discrete\r\n },\r\n _getTranslatedCoord: function(value, offset) {\r\n return this._translator.translate(value, offset) - HALF_PI_ANGLE\r\n },\r\n _getCanvasStartEnd: function() {\r\n return {\r\n start: 0 - HALF_PI_ANGLE,\r\n end: 360 - HALF_PI_ANGLE\r\n }\r\n },\r\n _getStripGraphicAttributes: function(fromAngle, toAngle) {\r\n var center = this.getCenter();\r\n var angle = this.getAngles()[0];\r\n var r = this.getRadius();\r\n return {\r\n x: center.x,\r\n y: center.y,\r\n innerRadius: 0,\r\n outerRadius: r,\r\n startAngle: -toAngle - angle,\r\n endAngle: -fromAngle - angle\r\n }\r\n },\r\n _createStrip: function(coords) {\r\n return this._renderer.arc(coords.x, coords.y, coords.innerRadius, coords.outerRadius, coords.startAngle, coords.endAngle)\r\n },\r\n _getStripLabelCoords: function(from, to) {\r\n var coords = this._getStripGraphicAttributes(from, to);\r\n var angle = coords.startAngle + (coords.endAngle - coords.startAngle) / 2;\r\n var cosSin = getCosAndSin(angle);\r\n var halfRad = this.getRadius() / 2;\r\n var center = this.getCenter();\r\n var x = round(center.x + halfRad * cosSin.cos);\r\n var y = round(center.y - halfRad * cosSin.sin);\r\n return {\r\n x: x,\r\n y: y,\r\n align: constants.center\r\n }\r\n },\r\n _getConstantLineGraphicAttributes: function(value) {\r\n var center = this.getCenter();\r\n var r = this.getRadius();\r\n return {\r\n points: [center.x, center.y, center.x + r, center.y]\r\n }\r\n },\r\n _createConstantLine: function(value, attr) {\r\n return this._createPathElement(this._getConstantLineGraphicAttributes(value).points, attr)\r\n },\r\n _rotateConstantLine(line, value) {\r\n var {\r\n x: x,\r\n y: y\r\n } = this.getCenter();\r\n line.rotate(value + this.getAngles()[0], x, y)\r\n },\r\n _getConstantLineLabelsCoords: function(value) {\r\n var cosSin = getCosAndSin(-value - this.getAngles()[0]);\r\n var halfRad = this.getRadius() / 2;\r\n var center = this.getCenter();\r\n var x = round(center.x + halfRad * cosSin.cos);\r\n var y = round(center.y - halfRad * cosSin.sin);\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n _checkAlignmentConstantLineLabels: _noop,\r\n _adjustDivisionFactor: function(val) {\r\n return 180 * val / (this.getRadius() * PI)\r\n },\r\n _getScreenDelta: function() {\r\n var angles = this.getAngles();\r\n return abs(angles[0] - angles[1])\r\n },\r\n _getTickMarkPoints: function(coords, length, _ref) {\r\n var {\r\n shift: shift = 0\r\n } = _ref;\r\n var center = this.getCenter();\r\n var radiusWithTicks = this.getRadius() + length * {\r\n inside: -1,\r\n center: -.5,\r\n outside: 0\r\n } [this._options.tickOrientation || \"center\"];\r\n return [center.x + radiusWithTicks + shift, center.y, center.x + radiusWithTicks + length + shift, center.y]\r\n },\r\n _getLabelAdjustedCoord: function(tick, _offset, _maxWidth, checkCanvas) {\r\n var labelCoords = tick.labelCoords;\r\n var labelY = labelCoords.y;\r\n var labelAngle = labelCoords.angle;\r\n var cosSin = getCosAndSin(labelAngle);\r\n var cos = cosSin.cos;\r\n var sin = cosSin.sin;\r\n var box = tick.labelBBox;\r\n var halfWidth = box.width / 2;\r\n var halfHeight = box.height / 2;\r\n var indentFromAxis = this._options.label.indentFromAxis || 0;\r\n var x = labelCoords.x + indentFromAxis * cos;\r\n var y = labelY + (labelY - box.y - halfHeight) + indentFromAxis * sin;\r\n var shiftX = 0;\r\n var shiftY = 0;\r\n switch (getPolarQuarter(labelAngle)) {\r\n case 1:\r\n shiftX = halfWidth;\r\n shiftY = halfHeight * sin;\r\n break;\r\n case 2:\r\n shiftX = halfWidth * cos;\r\n shiftY = halfHeight;\r\n break;\r\n case 3:\r\n shiftX = -halfWidth;\r\n shiftY = halfHeight * sin;\r\n break;\r\n case 4:\r\n shiftX = halfWidth * cos;\r\n shiftY = -halfHeight\r\n }\r\n if (checkCanvas) {\r\n var canvas = this._canvas;\r\n var boxShiftX = x - labelCoords.x + shiftX;\r\n var boxShiftY = y - labelCoords.y + shiftY;\r\n if (box.x + boxShiftX < canvas.originalLeft) {\r\n shiftX -= box.x + boxShiftX - canvas.originalLeft\r\n }\r\n if (box.x + box.width + boxShiftX > canvas.width - canvas.originalRight) {\r\n shiftX -= box.x + box.width + boxShiftX - (canvas.width - canvas.originalRight)\r\n }\r\n if (box.y + boxShiftY < canvas.originalTop) {\r\n shiftY -= box.y + boxShiftY - canvas.originalTop\r\n }\r\n if (box.y + box.height + boxShiftY > canvas.height - canvas.originalBottom) {\r\n shiftY -= box.y + box.height + boxShiftY - (canvas.height - canvas.originalBottom)\r\n }\r\n }\r\n return {\r\n x: x + shiftX,\r\n y: y + shiftY\r\n }\r\n },\r\n _getGridLineDrawer: function() {\r\n var that = this;\r\n return function(tick, gridStyle) {\r\n var center = that.getCenter();\r\n return that._createPathElement(that._getGridPoints().points, gridStyle).rotate(tick.coords.angle, center.x, center.y)\r\n }\r\n },\r\n _getGridPoints: function() {\r\n var r = this.getRadius();\r\n var center = this.getCenter();\r\n return {\r\n points: [center.x, center.y, center.x + r, center.y]\r\n }\r\n },\r\n _getTranslatedValue: function(value, offset) {\r\n var startAngle = this.getAngles()[0];\r\n var angle = this._translator.translate(value, -offset);\r\n var coords = convertPolarToXY(this.getCenter(), startAngle, angle, this.getRadius());\r\n return {\r\n x: coords.x,\r\n y: coords.y,\r\n angle: this.getTranslatedAngle(angle)\r\n }\r\n },\r\n _getAdjustedStripLabelCoords: function(strip) {\r\n var box = strip.labelBBox;\r\n return {\r\n translateY: strip.label.attr(\"y\") - box.y - box.height / 2\r\n }\r\n },\r\n coordsIn: function(x, y) {\r\n return convertXYToPolar(this.getCenter(), x, y).r > this.getRadius()\r\n },\r\n _rotateTick: function(element, coords) {\r\n var center = this.getCenter();\r\n element.rotate(coords.angle, center.x, center.y)\r\n },\r\n _validateOverlappingMode: function(mode) {\r\n return constants.validateOverlappingMode(mode)\r\n },\r\n _validateDisplayMode: function() {\r\n return \"standard\"\r\n },\r\n _getStep: function(boxes) {\r\n var radius = this.getRadius() + (this._options.label.indentFromAxis || 0);\r\n var maxLabelBox = boxes.reduce((function(prevValue, box) {\r\n var curValue = prevValue;\r\n if (prevValue.width < box.width) {\r\n curValue.width = box.width\r\n }\r\n if (prevValue.height < box.height) {\r\n curValue.height = box.height\r\n }\r\n return curValue\r\n }), {\r\n width: 0,\r\n height: 0\r\n });\r\n var angle1 = abs(2 * atan(maxLabelBox.height / (2 * radius - maxLabelBox.width)) * 180 / PI);\r\n var angle2 = abs(2 * atan(maxLabelBox.width / (2 * radius - maxLabelBox.height)) * 180 / PI);\r\n return constants.getTicksCountInRange(this._majorTicks, \"angle\", _max(angle1, angle2))\r\n },\r\n _checkBoundedLabelsOverlapping: function(majorTicks, boxes, mode) {\r\n var labelOpt = this._options.label;\r\n mode = mode || this._validateOverlappingMode(labelOpt.overlappingBehavior);\r\n if (\"hide\" !== mode) {\r\n return\r\n }\r\n var lastVisibleLabelIndex = majorTicks.reduce((lastVisibleLabelIndex, tick, index) => tick.label ? index : lastVisibleLabelIndex, null);\r\n if (!lastVisibleLabelIndex) {\r\n return\r\n }\r\n if (constants.areLabelsOverlap(boxes[0], boxes[lastVisibleLabelIndex], labelOpt.minSpacing, constants.center)) {\r\n \"first\" === labelOpt.hideFirstOrLast ? majorTicks[0].removeLabel() : majorTicks[lastVisibleLabelIndex].removeLabel()\r\n }\r\n },\r\n shift: function(margins) {\r\n this._axisGroup.attr({\r\n translateX: margins.right,\r\n translateY: margins.bottom\r\n });\r\n this._axisElementsGroup.attr({\r\n translateX: margins.right,\r\n translateY: margins.bottom\r\n })\r\n },\r\n getTranslatedAngle(angle) {\r\n var startAngle = this.getAngles()[0];\r\n return angle + startAngle - HALF_PI_ANGLE\r\n }\r\n};\r\nexport var circular = circularAxes;\r\nexport var circularSpider = extend({}, circularAxes, {\r\n _createAxisElement: function() {\r\n return this._renderer.path([], \"area\")\r\n },\r\n _updateAxisElementPosition: function() {\r\n this._axisElement.attr({\r\n points: _map(this.getSpiderTicks(), (function(tick) {\r\n return {\r\n x: tick.coords.x,\r\n y: tick.coords.y\r\n }\r\n }))\r\n })\r\n },\r\n _getStick: function() {\r\n return true\r\n },\r\n _getSpiderCategoryOption: function() {\r\n return true\r\n },\r\n getSpiderTicks: function() {\r\n var ticks = this.getFullTicks();\r\n this._spiderTicks = ticks.map(tick(this, this.renderer, {}, {}, this._getSkippedCategory(ticks), true));\r\n this._spiderTicks.forEach((function(tick) {\r\n tick.initCoords()\r\n }));\r\n return this._spiderTicks\r\n },\r\n _getStripGraphicAttributes: function(fromAngle, toAngle) {\r\n var center = this.getCenter();\r\n var spiderTicks = this.getSpiderTicks();\r\n var firstTick;\r\n var lastTick;\r\n var nextTick;\r\n var tick;\r\n var points = [];\r\n var i = 0;\r\n var len = spiderTicks.length;\r\n while (i < len) {\r\n tick = spiderTicks[i].coords;\r\n if (tick.angle >= fromAngle && tick.angle <= toAngle) {\r\n if (!firstTick) {\r\n firstTick = (spiderTicks[i - 1] || spiderTicks[spiderTicks.length - 1]).coords;\r\n points.push((tick.x + firstTick.x) / 2, (tick.y + firstTick.y) / 2)\r\n }\r\n points.push(tick.x, tick.y);\r\n nextTick = (spiderTicks[i + 1] || spiderTicks[0]).coords;\r\n lastTick = {\r\n x: (tick.x + nextTick.x) / 2,\r\n y: (tick.y + nextTick.y) / 2\r\n }\r\n }\r\n i++\r\n }\r\n points.push(lastTick.x, lastTick.y);\r\n points.push(center.x, center.y);\r\n return {\r\n points: points\r\n }\r\n },\r\n _createStrip: function(_ref2) {\r\n var {\r\n points: points\r\n } = _ref2;\r\n return this._renderer.path(points, \"area\")\r\n },\r\n _getTranslatedCoord: function(value, offset) {\r\n return this._translator.translate(value, offset) - HALF_PI_ANGLE\r\n },\r\n _setTickOffset: function() {\r\n this._tickOffset = false\r\n }\r\n});\r\nexport var linear = {\r\n _resetMargins() {\r\n this._reinitTranslator(this._getViewportRange())\r\n },\r\n _getStick: xyAxesLinear._getStick,\r\n _getSpiderCategoryOption: _noop,\r\n _getTranslatorOptions: function() {\r\n return {\r\n isHorizontal: true,\r\n stick: this._getStick()\r\n }\r\n },\r\n getRadius: circularAxes.getRadius,\r\n getCenter: circularAxes.getCenter,\r\n getAngles: circularAxes.getAngles,\r\n _updateRadius: circularAxes._updateRadius,\r\n _updateCenter: circularAxes._updateCenter,\r\n _processCanvas(canvas) {\r\n this._updateRadius(canvas);\r\n this._updateCenter(canvas);\r\n return {\r\n left: 0,\r\n right: 0,\r\n startPadding: canvas.startPadding,\r\n endPadding: canvas.endPadding,\r\n width: this.getRadius()\r\n }\r\n },\r\n _createAxisElement: xyAxesLinear._createAxisElement,\r\n _updateAxisElementPosition: function() {\r\n var centerCoord = this.getCenter();\r\n this._axisElement.attr({\r\n points: [centerCoord.x, centerCoord.y, centerCoord.x + this.getRadius(), centerCoord.y]\r\n }).rotate(this.getAngles()[0] - HALF_PI_ANGLE, centerCoord.x, centerCoord.y)\r\n },\r\n _getScreenDelta: function() {\r\n return this.getRadius()\r\n },\r\n _getTickMarkPoints: function(coords, length) {\r\n return [coords.x - length / 2, coords.y, coords.x + length / 2, coords.y]\r\n },\r\n _getLabelAdjustedCoord: function(tick) {\r\n var labelCoords = tick.labelCoords;\r\n var labelY = labelCoords.y;\r\n var cosSin = getCosAndSin(labelCoords.angle);\r\n var indentFromAxis = this._options.label.indentFromAxis || 0;\r\n var box = tick.labelBBox;\r\n var x = labelCoords.x - abs(indentFromAxis * cosSin.sin) + abs(box.width / 2 * cosSin.cos) - box.width / 2;\r\n var y = labelY + (labelY - box.y) - abs(box.height / 2 * cosSin.sin) + abs(indentFromAxis * cosSin.cos);\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n _getGridLineDrawer: function() {\r\n var that = this;\r\n return function(tick, gridStyle) {\r\n var grid = that._getGridPoints(tick.coords);\r\n return that._renderer.circle(grid.cx, grid.cy, grid.r).attr(gridStyle).sharp()\r\n }\r\n },\r\n _getGridPoints: function(coords) {\r\n var pos = this.getCenter();\r\n var radius = getDistance(pos.x, pos.y, coords.x, coords.y);\r\n if (radius > this.getRadius()) {\r\n return {\r\n cx: null,\r\n cy: null,\r\n r: null\r\n }\r\n }\r\n return {\r\n cx: pos.x,\r\n cy: pos.y,\r\n r: radius\r\n }\r\n },\r\n _getTranslatedValue: function(value, offset) {\r\n var startAngle = this.getAngles()[0];\r\n var xy = convertPolarToXY(this.getCenter(), startAngle, 0, this._translator.translate(value, offset));\r\n return {\r\n x: xy.x,\r\n y: xy.y,\r\n angle: startAngle - HALF_PI_ANGLE\r\n }\r\n },\r\n _getTranslatedCoord: function(value, offset) {\r\n return this._translator.translate(value, offset)\r\n },\r\n _getCanvasStartEnd() {\r\n var invert = this.getTranslator().getBusinessRange().invert;\r\n var coords = [0, this.getRadius()];\r\n invert && coords.reverse();\r\n return {\r\n start: coords[0],\r\n end: coords[1]\r\n }\r\n },\r\n _getStripGraphicAttributes: function(fromPoint, toPoint) {\r\n var center = this.getCenter();\r\n return {\r\n x: center.x,\r\n y: center.y,\r\n innerRadius: fromPoint,\r\n outerRadius: toPoint\r\n }\r\n },\r\n _createStrip: function(attrs) {\r\n return this._renderer.arc(attrs.x, attrs.y, attrs.innerRadius, attrs.outerRadius, 0, 360)\r\n },\r\n _getAdjustedStripLabelCoords: circularAxes._getAdjustedStripLabelCoords,\r\n _getStripLabelCoords: function(from, to) {\r\n var labelPos = from + (to - from) / 2;\r\n var center = this.getCenter();\r\n var y = round(center.y - labelPos);\r\n return {\r\n x: center.x,\r\n y: y,\r\n align: constants.center\r\n }\r\n },\r\n _getConstantLineGraphicAttributes: function(value) {\r\n var center = this.getCenter();\r\n return {\r\n cx: center.x,\r\n cy: center.y,\r\n r: value\r\n }\r\n },\r\n _createConstantLine: function(value, attr) {\r\n var attrs = this._getConstantLineGraphicAttributes(value);\r\n return this._renderer.circle(attrs.cx, attrs.cy, attrs.r).attr(attr).sharp()\r\n },\r\n _getConstantLineLabelsCoords: function(value) {\r\n var center = this.getCenter();\r\n var y = round(center.y - value);\r\n return {\r\n x: center.x,\r\n y: y\r\n }\r\n },\r\n _checkAlignmentConstantLineLabels: _noop,\r\n _rotateTick: function(element, coords, isGridLine) {\r\n !isGridLine && element.rotate(coords.angle + HALF_PI_ANGLE, coords.x, coords.y)\r\n },\r\n _validateOverlappingMode: circularAxes._validateOverlappingMode,\r\n _validateDisplayMode: circularAxes._validateDisplayMode,\r\n _getStep: function(boxes) {\r\n var quarter = getPolarQuarter(this.getAngles()[0]);\r\n var spacing = this._options.label.minSpacing;\r\n var func = 2 === quarter || 4 === quarter ? function(box) {\r\n return box.width + spacing\r\n } : function(box) {\r\n return box.height\r\n };\r\n var maxLabelLength = boxes.reduce((prevValue, box) => _max(prevValue, func(box)), 0);\r\n return constants.getTicksCountInRange(this._majorTicks, 2 === quarter || 4 === quarter ? \"x\" : \"y\", maxLabelLength)\r\n }\r\n};\r\nexport var linearSpider = extend({}, linear, {\r\n _createPathElement: function(points, attr) {\r\n return this._renderer.path(points, \"area\").attr(attr).sharp()\r\n },\r\n setSpiderTicks: function(ticks) {\r\n this._spiderTicks = ticks\r\n },\r\n _getGridLineDrawer: function() {\r\n var that = this;\r\n return function(tick, gridStyle) {\r\n return that._createPathElement(that._getGridPoints(tick.coords).points, gridStyle)\r\n }\r\n },\r\n _getGridPoints: function(coords) {\r\n var pos = this.getCenter();\r\n var radius = getDistance(pos.x, pos.y, coords.x, coords.y);\r\n return this._getGridPointsByRadius(radius)\r\n },\r\n _getGridPointsByRadius: function(radius) {\r\n var pos = this.getCenter();\r\n if (radius > this.getRadius()) {\r\n return {\r\n points: null\r\n }\r\n }\r\n return {\r\n points: _map(this._spiderTicks, (function(tick) {\r\n var cosSin = getCosAndSin(tick.coords.angle);\r\n return {\r\n x: round(pos.x + radius * cosSin.cos),\r\n y: round(pos.y + radius * cosSin.sin)\r\n }\r\n }))\r\n }\r\n },\r\n _getStripGraphicAttributes: function(fromPoint, toPoint) {\r\n var innerPoints = this._getGridPointsByRadius(toPoint).points;\r\n var outerPoints = this._getGridPointsByRadius(fromPoint).points;\r\n return {\r\n points: [outerPoints, innerPoints.reverse()]\r\n }\r\n },\r\n _createStrip: circularSpider._createStrip,\r\n _getConstantLineGraphicAttributes: function(value) {\r\n return this._getGridPointsByRadius(value)\r\n },\r\n _createConstantLine: function(value, attr) {\r\n return this._createPathElement(this._getConstantLineGraphicAttributes(value).points, attr)\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/axes/base_axis.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n smartFormatter as _format,\r\n formatRange\r\n} from \"./smart_formatter\";\r\nimport {\r\n patchFontOptions,\r\n getVizRangeObject,\r\n getLogExt as getLog,\r\n raiseToExt as raiseTo,\r\n valueOf,\r\n rotateBBox,\r\n getCategoriesInfo,\r\n adjustVisualRange,\r\n getAddFunction,\r\n convertVisualRangeObject\r\n} from \"../core/utils\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isPlainObject,\r\n type\r\n} from \"../../core/utils/type\";\r\nimport constants from \"./axes_constants\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport formatHelper from \"../../format_helper\";\r\nimport {\r\n getParser\r\n} from \"../components/parse_utils\";\r\nimport {\r\n tickGenerator\r\n} from \"./tick_generator\";\r\nimport {\r\n Translator2D\r\n} from \"../translators/translator2d\";\r\nimport {\r\n Range\r\n} from \"../translators/range\";\r\nimport {\r\n tick\r\n} from \"./tick\";\r\nimport {\r\n adjust\r\n} from \"../../core/utils/math\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nimport xyMethods from \"./xy_axes\";\r\nimport * as polarMethods from \"./polar_axes\";\r\nimport createConstantLine from \"./constant_line\";\r\nimport createStrip from \"./strip\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n calculateCanvasMargins,\r\n measureLabels\r\n} from \"./axes_utils\";\r\nvar convertTicksToValues = constants.convertTicksToValues;\r\nvar _math = Math;\r\nvar _abs = _math.abs;\r\nvar _max = _math.max;\r\nvar _min = _math.min;\r\nvar _isArray = Array.isArray;\r\nvar DEFAULT_AXIS_LABEL_SPACING = 5;\r\nvar MAX_GRID_BORDER_ADHENSION = 4;\r\nvar TOP = constants.top;\r\nvar BOTTOM = constants.bottom;\r\nvar LEFT = constants.left;\r\nvar RIGHT = constants.right;\r\nvar CENTER = constants.center;\r\nvar KEEP = \"keep\";\r\nvar SHIFT = \"shift\";\r\nvar RESET = \"reset\";\r\nvar ROTATE = \"rotate\";\r\nvar DEFAULT_AXIS_DIVISION_FACTOR = 50;\r\nvar DEFAULT_MINOR_AXIS_DIVISION_FACTOR = 15;\r\nvar SCROLL_THRESHOLD = 5;\r\nvar MIN_BAR_MARGIN = 5;\r\nvar MAX_MARGIN_VALUE = .8;\r\nvar dateIntervals = {\r\n day: 864e5,\r\n week: 6048e5\r\n};\r\n\r\nfunction getTickGenerator(options, incidentOccurred, skipTickGeneration, rangeIsEmpty, adjustDivisionFactor, _ref) {\r\n var _options$workWeek;\r\n var {\r\n allowNegatives: allowNegatives,\r\n linearThreshold: linearThreshold\r\n } = _ref;\r\n return tickGenerator({\r\n axisType: options.type,\r\n dataType: options.dataType,\r\n logBase: options.logarithmBase,\r\n allowNegatives: allowNegatives,\r\n linearThreshold: linearThreshold,\r\n axisDivisionFactor: adjustDivisionFactor(options.axisDivisionFactor || DEFAULT_AXIS_DIVISION_FACTOR),\r\n minorAxisDivisionFactor: adjustDivisionFactor(options.minorAxisDivisionFactor || DEFAULT_MINOR_AXIS_DIVISION_FACTOR),\r\n numberMultipliers: options.numberMultipliers,\r\n calculateMinors: options.minorTick.visible || options.minorGrid.visible || options.calculateMinors,\r\n allowDecimals: options.allowDecimals,\r\n endOnTick: options.endOnTick,\r\n incidentOccurred: incidentOccurred,\r\n firstDayOfWeek: null === (_options$workWeek = options.workWeek) || void 0 === _options$workWeek ? void 0 : _options$workWeek[0],\r\n skipTickGeneration: skipTickGeneration,\r\n skipCalculationLimits: options.skipCalculationLimits,\r\n generateExtraTick: options.generateExtraTick,\r\n minTickInterval: options.minTickInterval,\r\n rangeIsEmpty: rangeIsEmpty\r\n })\r\n}\r\n\r\nfunction createMajorTick(axis, renderer, skippedCategory) {\r\n var options = axis.getOptions();\r\n return tick(axis, renderer, options.tick, options.grid, skippedCategory, false)\r\n}\r\n\r\nfunction createMinorTick(axis, renderer) {\r\n var options = axis.getOptions();\r\n return tick(axis, renderer, options.minorTick, options.minorGrid)\r\n}\r\n\r\nfunction createBoundaryTick(axis, renderer, isFirst) {\r\n var options = axis.getOptions();\r\n return tick(axis, renderer, extend({}, options.tick, {\r\n visible: options.showCustomBoundaryTicks\r\n }), options.grid, void 0, false, isFirst ? -1 : 1)\r\n}\r\n\r\nfunction callAction(elements, action, actionArgument1, actionArgument2) {\r\n (elements || []).forEach(e => e[action](actionArgument1, actionArgument2))\r\n}\r\n\r\nfunction initTickCoords(ticks) {\r\n callAction(ticks, \"initCoords\")\r\n}\r\n\r\nfunction drawTickMarks(ticks, options) {\r\n callAction(ticks, \"drawMark\", options)\r\n}\r\n\r\nfunction drawGrids(ticks, drawLine) {\r\n callAction(ticks, \"drawGrid\", drawLine)\r\n}\r\n\r\nfunction updateTicksPosition(ticks, options, animate) {\r\n callAction(ticks, \"updateTickPosition\", options, animate)\r\n}\r\n\r\nfunction updateGridsPosition(ticks, animate) {\r\n callAction(ticks, \"updateGridPosition\", animate)\r\n}\r\n\r\nfunction cleanUpInvalidTicks(ticks) {\r\n var i = ticks.length - 1;\r\n for (i; i >= 0; i--) {\r\n if (!removeInvalidTick(ticks, i)) {\r\n break\r\n }\r\n }\r\n for (i = 0; i < ticks.length; i++) {\r\n if (removeInvalidTick(ticks, i)) {\r\n i--\r\n } else {\r\n break\r\n }\r\n }\r\n}\r\n\r\nfunction removeInvalidTick(ticks, i) {\r\n if (null === ticks[i].coords.x || null === ticks[i].coords.y) {\r\n ticks.splice(i, 1);\r\n return true\r\n }\r\n return false\r\n}\r\n\r\nfunction validateAxisOptions(options) {\r\n var _labelOptions$minSpac;\r\n var labelOptions = options.label;\r\n var position = options.position;\r\n var defaultPosition = options.isHorizontal ? BOTTOM : LEFT;\r\n var secondaryPosition = options.isHorizontal ? TOP : RIGHT;\r\n var labelPosition = labelOptions.position;\r\n if (position !== defaultPosition && position !== secondaryPosition) {\r\n position = defaultPosition\r\n }\r\n if (!labelPosition || \"outside\" === labelPosition) {\r\n labelPosition = position\r\n } else if (\"inside\" === labelPosition) {\r\n labelPosition = {\r\n [TOP]: BOTTOM,\r\n [BOTTOM]: TOP,\r\n [LEFT]: RIGHT,\r\n [RIGHT]: LEFT\r\n } [position]\r\n }\r\n if (labelPosition !== defaultPosition && labelPosition !== secondaryPosition) {\r\n labelPosition = position\r\n }\r\n if (labelOptions.alignment !== CENTER && !labelOptions.userAlignment) {\r\n labelOptions.alignment = {\r\n [TOP]: CENTER,\r\n [BOTTOM]: CENTER,\r\n [LEFT]: RIGHT,\r\n [RIGHT]: LEFT\r\n } [labelPosition]\r\n }\r\n options.position = position;\r\n labelOptions.position = labelPosition;\r\n options.hoverMode = options.hoverMode ? options.hoverMode.toLowerCase() : \"none\";\r\n labelOptions.minSpacing = null !== (_labelOptions$minSpac = labelOptions.minSpacing) && void 0 !== _labelOptions$minSpac ? _labelOptions$minSpac : DEFAULT_AXIS_LABEL_SPACING;\r\n options.type && (options.type = options.type.toLowerCase());\r\n options.argumentType && (options.argumentType = options.argumentType.toLowerCase());\r\n options.valueType && (options.valueType = options.valueType.toLowerCase())\r\n}\r\n\r\nfunction getOptimalAngle(boxes, labelOpt) {\r\n var angle = 180 * _math.asin((boxes[0].height + labelOpt.minSpacing) / (boxes[1].x - boxes[0].x)) / _math.PI;\r\n return angle < 45 ? -45 : -90\r\n}\r\n\r\nfunction updateLabels(ticks, step, func) {\r\n ticks.forEach((function(tick, index) {\r\n if (tick.getContentContainer()) {\r\n if (index % step !== 0) {\r\n tick.removeLabel()\r\n } else if (func) {\r\n func(tick, index)\r\n }\r\n }\r\n }))\r\n}\r\n\r\nfunction getZoomBoundValue(optionValue, dataValue) {\r\n if (void 0 === optionValue) {\r\n return dataValue\r\n } else if (null === optionValue) {\r\n return\r\n } else {\r\n return optionValue\r\n }\r\n}\r\n\r\nfunction configureGenerator(options, axisDivisionFactor, viewPort, screenDelta, minTickInterval) {\r\n var tickGeneratorOptions = extend({}, options, {\r\n endOnTick: true,\r\n axisDivisionFactor: axisDivisionFactor,\r\n skipCalculationLimits: true,\r\n generateExtraTick: true,\r\n minTickInterval: minTickInterval\r\n });\r\n return function(tickInterval, skipTickGeneration, min, max, breaks) {\r\n return getTickGenerator(tickGeneratorOptions, _noop, skipTickGeneration, viewPort.isEmpty(), v => v, viewPort)({\r\n min: min,\r\n max: max,\r\n categories: viewPort.categories,\r\n isSpacedMargin: viewPort.isSpacedMargin\r\n }, screenDelta, tickInterval, isDefined(tickInterval), void 0, void 0, void 0, breaks)\r\n }\r\n}\r\n\r\nfunction getConstantLineSharpDirection(coord, axisCanvas) {\r\n return Math.max(axisCanvas.start, axisCanvas.end) !== coord ? 1 : -1\r\n}\r\nexport var Axis = function(renderSettings) {\r\n this._renderer = renderSettings.renderer;\r\n this._incidentOccurred = renderSettings.incidentOccurred;\r\n this._eventTrigger = renderSettings.eventTrigger;\r\n this._stripsGroup = renderSettings.stripsGroup;\r\n this._stripLabelAxesGroup = renderSettings.stripLabelAxesGroup;\r\n this._labelsAxesGroup = renderSettings.labelsAxesGroup;\r\n this._constantLinesGroup = renderSettings.constantLinesGroup;\r\n this._scaleBreaksGroup = renderSettings.scaleBreaksGroup;\r\n this._axesContainerGroup = renderSettings.axesContainerGroup;\r\n this._gridContainerGroup = renderSettings.gridGroup;\r\n this._axisCssPrefix = renderSettings.widgetClass + \"-\" + (renderSettings.axisClass ? renderSettings.axisClass + \"-\" : \"\");\r\n this._setType(renderSettings.axisType, renderSettings.drawingType);\r\n this._createAxisGroups();\r\n this._translator = this._createTranslator();\r\n this.isArgumentAxis = renderSettings.isArgumentAxis;\r\n this._viewport = {};\r\n this._prevDataInfo = {};\r\n this._firstDrawing = true;\r\n this._initRange = {};\r\n this._getTemplate = renderSettings.getTemplate\r\n};\r\nAxis.prototype = {\r\n constructor: Axis,\r\n _drawAxis() {\r\n var options = this._options;\r\n if (!options.visible) {\r\n return\r\n }\r\n this._axisElement = this._createAxisElement();\r\n this._updateAxisElementPosition();\r\n this._axisElement.attr({\r\n \"stroke-width\": options.width,\r\n stroke: options.color,\r\n \"stroke-opacity\": options.opacity\r\n }).sharp(this._getSharpParam(true), this.getAxisSharpDirection()).append(this._axisLineGroup)\r\n },\r\n _createPathElement(points, attr, sharpDirection) {\r\n return this.sharp(this._renderer.path(points, \"line\").attr(attr), sharpDirection)\r\n },\r\n sharp(svgElement) {\r\n var sharpDirection = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 1;\r\n return svgElement.sharp(this._getSharpParam(), sharpDirection)\r\n },\r\n customPositionIsAvailable: () => false,\r\n getOrthogonalAxis: _noop,\r\n getCustomPosition: _noop,\r\n getCustomBoundaryPosition: _noop,\r\n resolveOverlappingForCustomPositioning: _noop,\r\n hasNonBoundaryPosition: () => false,\r\n customPositionIsBoundaryOrthogonalAxis: () => false,\r\n getResolvedBoundaryPosition() {\r\n return this.getOptions().position\r\n },\r\n getAxisSharpDirection() {\r\n var position = this.getResolvedBoundaryPosition();\r\n return this.hasNonBoundaryPosition() || position !== BOTTOM && position !== RIGHT ? 1 : -1\r\n },\r\n getSharpDirectionByCoords(coords) {\r\n var canvas = this._getCanvasStartEnd();\r\n var maxCoord = Math.max(canvas.start, canvas.end);\r\n return this.getRadius ? 0 : maxCoord !== coords[this._isHorizontal ? \"x\" : \"y\"] ? 1 : -1\r\n },\r\n _getGridLineDrawer: function() {\r\n var that = this;\r\n return function(tick, gridStyle) {\r\n var grid = that._getGridPoints(tick.coords);\r\n if (grid.points) {\r\n return that._createPathElement(grid.points, gridStyle, that.getSharpDirectionByCoords(tick.coords))\r\n }\r\n return null\r\n }\r\n },\r\n _getGridPoints: function(coords) {\r\n var isHorizontal = this._isHorizontal;\r\n var tickPositionField = isHorizontal ? \"x\" : \"y\";\r\n var orthogonalPositions = this._orthogonalPositions;\r\n var positionFrom = orthogonalPositions.start;\r\n var positionTo = orthogonalPositions.end;\r\n var borderOptions = this.borderOptions;\r\n var canvasStart = isHorizontal ? LEFT : TOP;\r\n var canvasEnd = isHorizontal ? RIGHT : BOTTOM;\r\n var axisCanvas = this.getCanvas();\r\n var canvas = {\r\n left: axisCanvas.left,\r\n right: axisCanvas.width - axisCanvas.right,\r\n top: axisCanvas.top,\r\n bottom: axisCanvas.height - axisCanvas.bottom\r\n };\r\n var firstBorderLinePosition = borderOptions.visible && borderOptions[canvasStart] ? canvas[canvasStart] : void 0;\r\n var lastBorderLinePosition = borderOptions.visible && borderOptions[canvasEnd] ? canvas[canvasEnd] : void 0;\r\n var minDelta = MAX_GRID_BORDER_ADHENSION + firstBorderLinePosition;\r\n var maxDelta = lastBorderLinePosition - MAX_GRID_BORDER_ADHENSION;\r\n if (this.areCoordsOutsideAxis(coords) || void 0 === coords[tickPositionField] || coords[tickPositionField] < minDelta || coords[tickPositionField] > maxDelta) {\r\n return {\r\n points: null\r\n }\r\n }\r\n return {\r\n points: isHorizontal ? null !== coords[tickPositionField] ? [coords[tickPositionField], positionFrom, coords[tickPositionField], positionTo] : null : null !== coords[tickPositionField] ? [positionFrom, coords[tickPositionField], positionTo, coords[tickPositionField]] : null\r\n }\r\n },\r\n _getConstantLinePos: function(parsedValue, canvasStart, canvasEnd) {\r\n var value = this._getTranslatedCoord(parsedValue);\r\n if (!isDefined(value) || value < _min(canvasStart, canvasEnd) || value > _max(canvasStart, canvasEnd)) {\r\n return\r\n }\r\n return value\r\n },\r\n _getConstantLineGraphicAttributes: function(value) {\r\n var positionFrom = this._orthogonalPositions.start;\r\n var positionTo = this._orthogonalPositions.end;\r\n return {\r\n points: this._isHorizontal ? [value, positionFrom, value, positionTo] : [positionFrom, value, positionTo, value]\r\n }\r\n },\r\n _createConstantLine: function(value, attr) {\r\n return this._createPathElement(this._getConstantLineGraphicAttributes(value).points, attr, getConstantLineSharpDirection(value, this._getCanvasStartEnd()))\r\n },\r\n _drawConstantLineLabelText: function(text, x, y, _ref2, group) {\r\n var {\r\n font: font,\r\n cssClass: cssClass\r\n } = _ref2;\r\n return this._renderer.text(text, x, y).css(patchFontOptions(extend({}, this._options.label.font, font))).attr({\r\n align: \"center\",\r\n class: cssClass\r\n }).append(group)\r\n },\r\n _drawConstantLineLabels: function(parsedValue, lineLabelOptions, value, group) {\r\n var _text;\r\n var text = lineLabelOptions.text;\r\n var options = this._options;\r\n var labelOptions = options.label;\r\n this._checkAlignmentConstantLineLabels(lineLabelOptions);\r\n text = null !== (_text = text) && void 0 !== _text ? _text : this.formatLabel(parsedValue, labelOptions);\r\n var coords = this._getConstantLineLabelsCoords(value, lineLabelOptions);\r\n return this._drawConstantLineLabelText(text, coords.x, coords.y, lineLabelOptions, group)\r\n },\r\n _getStripPos: function(startValue, endValue, canvasStart, canvasEnd, range) {\r\n var isContinuous = !!(range.minVisible || range.maxVisible);\r\n var categories = (range.categories || []).reduce((function(result, cat) {\r\n result.push(cat.valueOf());\r\n return result\r\n }), []);\r\n var start;\r\n var end;\r\n var swap;\r\n var startCategoryIndex;\r\n var endCategoryIndex;\r\n if (!isContinuous) {\r\n if (isDefined(startValue) && isDefined(endValue)) {\r\n var _parsedStartValue$val, _parsedEndValue$value;\r\n var parsedStartValue = this.parser(startValue);\r\n var parsedEndValue = this.parser(endValue);\r\n startCategoryIndex = categories.indexOf(null !== (_parsedStartValue$val = null === parsedStartValue || void 0 === parsedStartValue ? void 0 : parsedStartValue.valueOf()) && void 0 !== _parsedStartValue$val ? _parsedStartValue$val : void 0);\r\n endCategoryIndex = categories.indexOf(null !== (_parsedEndValue$value = null === parsedEndValue || void 0 === parsedEndValue ? void 0 : parsedEndValue.valueOf()) && void 0 !== _parsedEndValue$value ? _parsedEndValue$value : void 0);\r\n if (-1 === startCategoryIndex || -1 === endCategoryIndex) {\r\n return {\r\n from: 0,\r\n to: 0,\r\n outOfCanvas: true\r\n }\r\n }\r\n if (startCategoryIndex > endCategoryIndex) {\r\n swap = endValue;\r\n endValue = startValue;\r\n startValue = swap\r\n }\r\n }\r\n }\r\n if (isDefined(startValue)) {\r\n startValue = this.validateUnit(startValue, \"E2105\", \"strip\");\r\n start = this._getTranslatedCoord(startValue, -1)\r\n } else {\r\n start = canvasStart\r\n }\r\n if (isDefined(endValue)) {\r\n endValue = this.validateUnit(endValue, \"E2105\", \"strip\");\r\n end = this._getTranslatedCoord(endValue, 1)\r\n } else {\r\n end = canvasEnd\r\n }\r\n var stripPosition = start < end ? {\r\n from: start,\r\n to: end\r\n } : {\r\n from: end,\r\n to: start\r\n };\r\n var visibleArea = this.getVisibleArea();\r\n if (stripPosition.from <= visibleArea[0] && stripPosition.to <= visibleArea[0] || stripPosition.from >= visibleArea[1] && stripPosition.to >= visibleArea[1]) {\r\n stripPosition.outOfCanvas = true\r\n }\r\n return stripPosition\r\n },\r\n _getStripGraphicAttributes: function(fromPoint, toPoint) {\r\n var x;\r\n var y;\r\n var width;\r\n var height;\r\n var orthogonalPositions = this._orthogonalPositions;\r\n var positionFrom = orthogonalPositions.start;\r\n var positionTo = orthogonalPositions.end;\r\n if (this._isHorizontal) {\r\n x = fromPoint;\r\n y = _min(positionFrom, positionTo);\r\n width = toPoint - fromPoint;\r\n height = _abs(positionFrom - positionTo)\r\n } else {\r\n x = _min(positionFrom, positionTo);\r\n y = fromPoint;\r\n width = _abs(positionFrom - positionTo);\r\n height = _abs(fromPoint - toPoint)\r\n }\r\n return {\r\n x: x,\r\n y: y,\r\n width: width,\r\n height: height\r\n }\r\n },\r\n _createStrip: function(attrs) {\r\n return this._renderer.rect(attrs.x, attrs.y, attrs.width, attrs.height)\r\n },\r\n _adjustStripLabels: function() {\r\n var that = this;\r\n this._strips.forEach((function(strip) {\r\n if (strip.label) {\r\n strip.label.attr(that._getAdjustedStripLabelCoords(strip))\r\n }\r\n }))\r\n },\r\n _adjustLabelsCoord(offset, maxWidth, checkCanvas) {\r\n var getContainerAttrs = tick => this._getLabelAdjustedCoord(tick, offset + (tick.labelOffset || 0), maxWidth, checkCanvas);\r\n this._majorTicks.forEach((function(tick) {\r\n if (tick.label) {\r\n tick.updateMultilineTextAlignment();\r\n tick.label.attr(getContainerAttrs(tick))\r\n } else {\r\n tick.templateContainer && tick.templateContainer.attr(getContainerAttrs(tick))\r\n }\r\n }))\r\n },\r\n _adjustLabels: function(offset) {\r\n var options = this.getOptions();\r\n var positionsAreConsistent = options.position === options.label.position;\r\n var maxSize = this._majorTicks.reduce((function(size, tick) {\r\n if (!tick.getContentContainer()) {\r\n return size\r\n }\r\n var bBox = tick.labelRotationAngle ? rotateBBox(tick.labelBBox, [tick.labelCoords.x, tick.labelCoords.y], -tick.labelRotationAngle) : tick.labelBBox;\r\n return {\r\n width: _max(size.width || 0, bBox.width),\r\n height: _max(size.height || 0, bBox.height),\r\n offset: _max(size.offset || 0, tick.labelOffset || 0)\r\n }\r\n }), {});\r\n var additionalOffset = positionsAreConsistent ? this._isHorizontal ? maxSize.height : maxSize.width : 0;\r\n this._adjustLabelsCoord(offset, maxSize.width);\r\n return offset + additionalOffset + (additionalOffset && this._options.label.indentFromAxis) + (positionsAreConsistent ? maxSize.offset : 0)\r\n },\r\n _getLabelAdjustedCoord: function(tick, offset, maxWidth) {\r\n offset = offset || 0;\r\n var options = this._options;\r\n var templateBox = tick.templateContainer && tick.templateContainer.getBBox();\r\n var box = templateBox || rotateBBox(tick.labelBBox, [tick.labelCoords.x, tick.labelCoords.y], -tick.labelRotationAngle || 0);\r\n var textAlign = tick.labelAlignment || options.label.alignment;\r\n var isDiscrete = \"discrete\" === this._options.type;\r\n var isFlatLabel = tick.labelRotationAngle % 90 === 0;\r\n var indentFromAxis = options.label.indentFromAxis;\r\n var labelPosition = options.label.position;\r\n var axisPosition = this._axisPosition;\r\n var labelCoords = tick.labelCoords;\r\n var labelX = labelCoords.x;\r\n var translateX;\r\n var translateY;\r\n if (this._isHorizontal) {\r\n if (labelPosition === BOTTOM) {\r\n translateY = axisPosition + indentFromAxis - box.y + offset\r\n } else {\r\n translateY = axisPosition - indentFromAxis - (box.y + box.height) - offset\r\n }\r\n if (textAlign === RIGHT) {\r\n translateX = isDiscrete && isFlatLabel ? tick.coords.x - (box.x + box.width) : labelX - box.x - box.width\r\n } else if (textAlign === LEFT) {\r\n translateX = isDiscrete && isFlatLabel ? labelX - box.x - (tick.coords.x - labelX) : labelX - box.x\r\n } else {\r\n translateX = labelX - box.x - box.width / 2\r\n }\r\n } else {\r\n translateY = labelCoords.y - box.y - box.height / 2;\r\n if (labelPosition === LEFT) {\r\n if (textAlign === LEFT) {\r\n translateX = axisPosition - indentFromAxis - maxWidth - box.x\r\n } else if (textAlign === CENTER) {\r\n translateX = axisPosition - indentFromAxis - maxWidth / 2 - box.x - box.width / 2\r\n } else {\r\n translateX = axisPosition - indentFromAxis - box.x - box.width\r\n }\r\n translateX -= offset\r\n } else {\r\n if (textAlign === RIGHT) {\r\n translateX = axisPosition + indentFromAxis + maxWidth - box.x - box.width\r\n } else if (textAlign === CENTER) {\r\n translateX = axisPosition + indentFromAxis + maxWidth / 2 - box.x - box.width / 2\r\n } else {\r\n translateX = axisPosition + indentFromAxis - box.x\r\n }\r\n translateX += offset\r\n }\r\n }\r\n return {\r\n translateX: translateX,\r\n translateY: translateY\r\n }\r\n },\r\n _createAxisConstantLineGroups: function() {\r\n var renderer = this._renderer;\r\n var classSelector = this._axisCssPrefix;\r\n var constantLinesClass = classSelector + \"constant-lines\";\r\n var insideGroup = renderer.g().attr({\r\n class: constantLinesClass\r\n });\r\n var outsideGroup1 = renderer.g().attr({\r\n class: constantLinesClass\r\n });\r\n var outsideGroup2 = renderer.g().attr({\r\n class: constantLinesClass\r\n });\r\n return {\r\n inside: insideGroup,\r\n outside1: outsideGroup1,\r\n left: outsideGroup1,\r\n top: outsideGroup1,\r\n outside2: outsideGroup2,\r\n right: outsideGroup2,\r\n bottom: outsideGroup2,\r\n remove: function() {\r\n this.inside.remove();\r\n this.outside1.remove();\r\n this.outside2.remove()\r\n },\r\n clear: function() {\r\n this.inside.clear();\r\n this.outside1.clear();\r\n this.outside2.clear()\r\n }\r\n }\r\n },\r\n _createAxisGroups: function() {\r\n var renderer = this._renderer;\r\n var classSelector = this._axisCssPrefix;\r\n this._axisGroup = renderer.g().attr({\r\n class: classSelector + \"axis\"\r\n }).enableLinks();\r\n this._axisStripGroup = renderer.g().attr({\r\n class: classSelector + \"strips\"\r\n });\r\n this._axisGridGroup = renderer.g().attr({\r\n class: classSelector + \"grid\"\r\n });\r\n this._axisElementsGroup = renderer.g().attr({\r\n class: classSelector + \"elements\"\r\n });\r\n this._axisLineGroup = renderer.g().attr({\r\n class: classSelector + \"line\"\r\n }).linkOn(this._axisGroup, \"axisLine\").linkAppend();\r\n this._axisTitleGroup = renderer.g().attr({\r\n class: classSelector + \"title\"\r\n }).append(this._axisGroup);\r\n this._axisConstantLineGroups = {\r\n above: this._createAxisConstantLineGroups(),\r\n under: this._createAxisConstantLineGroups()\r\n };\r\n this._axisStripLabelGroup = renderer.g().attr({\r\n class: classSelector + \"axis-labels\"\r\n })\r\n },\r\n _clearAxisGroups: function() {\r\n this._axisGroup.remove();\r\n this._axisStripGroup.remove();\r\n this._axisStripLabelGroup.remove();\r\n this._axisConstantLineGroups.above.remove();\r\n this._axisConstantLineGroups.under.remove();\r\n this._axisGridGroup.remove();\r\n this._axisTitleGroup.clear();\r\n if (!this._options.label.template || !this.isRendered()) {\r\n this._axisElementsGroup.remove();\r\n this._axisElementsGroup.clear()\r\n }\r\n this._axisLineGroup && this._axisLineGroup.clear();\r\n this._axisStripGroup && this._axisStripGroup.clear();\r\n this._axisGridGroup && this._axisGridGroup.clear();\r\n this._axisConstantLineGroups.above.clear();\r\n this._axisConstantLineGroups.under.clear();\r\n this._axisStripLabelGroup && this._axisStripLabelGroup.clear()\r\n },\r\n _getLabelFormatObject: function(value, labelOptions, range, point, tickInterval, ticks) {\r\n range = range || this._getViewportRange();\r\n var formatObject = {\r\n value: value,\r\n valueText: _format(value, {\r\n labelOptions: labelOptions,\r\n ticks: ticks || convertTicksToValues(this._majorTicks),\r\n tickInterval: null !== tickInterval && void 0 !== tickInterval ? tickInterval : this._tickInterval,\r\n dataType: this._options.dataType,\r\n logarithmBase: this._options.logarithmBase,\r\n type: this._options.type,\r\n showTransition: !this._options.marker.visible,\r\n point: point\r\n }) || \"\",\r\n min: range.minVisible,\r\n max: range.maxVisible\r\n };\r\n if (point) {\r\n formatObject.point = point\r\n }\r\n return formatObject\r\n },\r\n formatLabel: function(value, labelOptions, range, point, tickInterval, ticks) {\r\n var formatObject = this._getLabelFormatObject(value, labelOptions, range, point, tickInterval, ticks);\r\n return isFunction(labelOptions.customizeText) ? labelOptions.customizeText.call(formatObject, formatObject) : formatObject.valueText\r\n },\r\n formatHint: function(value, labelOptions, range) {\r\n var formatObject = this._getLabelFormatObject(value, labelOptions, range);\r\n return isFunction(labelOptions.customizeHint) ? labelOptions.customizeHint.call(formatObject, formatObject) : void 0\r\n },\r\n formatRange(startValue, endValue, interval, argumentFormat) {\r\n return formatRange({\r\n startValue: startValue,\r\n endValue: endValue,\r\n tickInterval: interval,\r\n argumentFormat: argumentFormat,\r\n axisOptions: this.getOptions()\r\n })\r\n },\r\n _setTickOffset: function() {\r\n var options = this._options;\r\n var discreteAxisDivisionMode = options.discreteAxisDivisionMode;\r\n this._tickOffset = +(\"crossLabels\" !== discreteAxisDivisionMode || !discreteAxisDivisionMode)\r\n },\r\n aggregatedPointBetweenTicks() {\r\n return \"crossTicks\" === this._options.aggregatedPointsPosition\r\n },\r\n resetApplyingAnimation: function(isFirstDrawing) {\r\n this._resetApplyingAnimation = true;\r\n if (isFirstDrawing) {\r\n this._firstDrawing = true\r\n }\r\n },\r\n isFirstDrawing() {\r\n return this._firstDrawing\r\n },\r\n getMargins: function() {\r\n var that = this;\r\n var {\r\n position: position,\r\n offset: offset,\r\n customPosition: customPosition,\r\n placeholderSize: placeholderSize,\r\n grid: grid,\r\n tick: tick,\r\n crosshairMargin: crosshairMargin\r\n } = that._options;\r\n var isDefinedCustomPositionOption = isDefined(customPosition);\r\n var boundaryPosition = that.getResolvedBoundaryPosition();\r\n var canvas = that.getCanvas();\r\n var cLeft = canvas.left;\r\n var cTop = canvas.top;\r\n var cRight = canvas.width - canvas.right;\r\n var cBottom = canvas.height - canvas.bottom;\r\n var edgeMarginCorrection = _max(grid.visible && grid.width || 0, tick.visible && tick.width || 0);\r\n var constantLineAboveSeries = that._axisConstantLineGroups.above;\r\n var constantLineUnderSeries = that._axisConstantLineGroups.under;\r\n var boxes = [that._axisElementsGroup, constantLineAboveSeries.outside1, constantLineAboveSeries.outside2, constantLineUnderSeries.outside1, constantLineUnderSeries.outside2, that._axisLineGroup].map(group => group && group.getBBox()).concat(function(group) {\r\n var box = group && group.getBBox();\r\n if (!box || box.isEmpty) {\r\n return box\r\n }\r\n if (that._isHorizontal) {\r\n box.x = cLeft;\r\n box.width = cRight - cLeft\r\n } else {\r\n box.y = cTop;\r\n box.height = cBottom - cTop\r\n }\r\n return box\r\n }(that._axisTitleGroup));\r\n var margins = calculateCanvasMargins(boxes, canvas);\r\n margins[position] += crosshairMargin;\r\n if (that.hasNonBoundaryPosition() && isDefinedCustomPositionOption) {\r\n margins[boundaryPosition] = 0\r\n }\r\n if (placeholderSize) {\r\n margins[position] = placeholderSize\r\n }\r\n if (edgeMarginCorrection) {\r\n if (that._isHorizontal && canvas.right < edgeMarginCorrection && margins.right < edgeMarginCorrection) {\r\n margins.right = edgeMarginCorrection\r\n }\r\n if (!that._isHorizontal && canvas.bottom < edgeMarginCorrection && margins.bottom < edgeMarginCorrection) {\r\n margins.bottom = edgeMarginCorrection\r\n }\r\n }\r\n if (!isDefinedCustomPositionOption && isDefined(offset)) {\r\n var moveByOffset = that.customPositionIsBoundary() && (offset > 0 && (boundaryPosition === LEFT || boundaryPosition === TOP) || offset < 0 && (boundaryPosition === RIGHT || boundaryPosition === BOTTOM));\r\n margins[boundaryPosition] -= moveByOffset ? offset : 0\r\n }\r\n return margins\r\n },\r\n validateUnit: function(unit, idError, parameters) {\r\n unit = this.parser(unit);\r\n if (void 0 === unit && idError) {\r\n this._incidentOccurred(idError, [parameters])\r\n }\r\n return unit\r\n },\r\n _setType: function(axisType, drawingType) {\r\n var axisTypeMethods;\r\n switch (axisType) {\r\n case \"xyAxes\":\r\n axisTypeMethods = xyMethods;\r\n break;\r\n case \"polarAxes\":\r\n axisTypeMethods = polarMethods\r\n }\r\n extend(this, axisTypeMethods[drawingType])\r\n },\r\n _getSharpParam: function() {\r\n return true\r\n },\r\n _disposeBreaksGroup: _noop,\r\n dispose: function() {\r\n [this._axisElementsGroup, this._axisStripGroup, this._axisGroup].forEach((function(g) {\r\n g.dispose()\r\n }));\r\n this._strips = this._title = null;\r\n this._axisStripGroup = this._axisConstantLineGroups = this._axisStripLabelGroup = this._axisBreaksGroup = null;\r\n this._axisLineGroup = this._axisElementsGroup = this._axisGridGroup = null;\r\n this._axisGroup = this._axisTitleGroup = null;\r\n this._axesContainerGroup = this._stripsGroup = this._constantLinesGroup = this._labelsAxesGroup = null;\r\n this._renderer = this._options = this._textOptions = this._textFontStyles = null;\r\n this._translator = null;\r\n this._majorTicks = this._minorTicks = null;\r\n this._disposeBreaksGroup();\r\n this._templatesRendered && this._templatesRendered.reject()\r\n },\r\n getOptions: function() {\r\n return this._options\r\n },\r\n setPane: function(pane) {\r\n this.pane = pane;\r\n this._options.pane = pane\r\n },\r\n setTypes: function(type, axisType, typeSelector) {\r\n this._options.type = type || this._options.type;\r\n this._options[typeSelector] = axisType || this._options[typeSelector];\r\n this._updateTranslator()\r\n },\r\n resetTypes: function(typeSelector) {\r\n this._options.type = this._initTypes.type;\r\n this._options[typeSelector] = this._initTypes[typeSelector]\r\n },\r\n getTranslator: function() {\r\n return this._translator\r\n },\r\n updateOptions: function(options) {\r\n var that = this;\r\n var labelOpt = options.label;\r\n validateAxisOptions(options);\r\n that._options = options;\r\n options.tick = options.tick || {};\r\n options.minorTick = options.minorTick || {};\r\n options.grid = options.grid || {};\r\n options.minorGrid = options.minorGrid || {};\r\n options.title = options.title || {};\r\n options.marker = options.marker || {};\r\n that._initTypes = {\r\n type: options.type,\r\n argumentType: options.argumentType,\r\n valueType: options.valueType\r\n };\r\n that._setTickOffset();\r\n that._isHorizontal = options.isHorizontal;\r\n that.pane = options.pane;\r\n that.name = options.name;\r\n that.priority = options.priority;\r\n that._hasLabelFormat = \"\" !== labelOpt.format && isDefined(labelOpt.format);\r\n that._textOptions = {\r\n opacity: labelOpt.opacity,\r\n align: \"center\",\r\n class: labelOpt.cssClass\r\n };\r\n that._textFontStyles = patchFontOptions(labelOpt.font);\r\n if (options.type === constants.logarithmic) {\r\n if (options.logarithmBaseError) {\r\n that._incidentOccurred(\"E2104\");\r\n delete options.logarithmBaseError\r\n }\r\n }\r\n that._updateTranslator();\r\n that._createConstantLines();\r\n that._strips = (options.strips || []).map(o => createStrip(that, o));\r\n that._majorTicks = that._minorTicks = null;\r\n that._firstDrawing = true\r\n },\r\n calculateInterval: function(value, prevValue) {\r\n var options = this._options;\r\n if (!options || options.type !== constants.logarithmic) {\r\n return _abs(value - prevValue)\r\n }\r\n var {\r\n allowNegatives: allowNegatives,\r\n linearThreshold: linearThreshold\r\n } = new Range(this.getTranslator().getBusinessRange());\r\n return _abs(getLog(value, options.logarithmBase, allowNegatives, linearThreshold) - getLog(prevValue, options.logarithmBase, allowNegatives, linearThreshold))\r\n },\r\n getCanvasRange() {\r\n var translator = this._translator;\r\n return {\r\n startValue: translator.from(translator.translate(\"canvas_position_start\")),\r\n endValue: translator.from(translator.translate(\"canvas_position_end\"))\r\n }\r\n },\r\n _processCanvas: function(canvas) {\r\n return canvas\r\n },\r\n updateCanvas: function(canvas, canvasRedesign) {\r\n if (!canvasRedesign) {\r\n var positions = this._orthogonalPositions = {\r\n start: !this._isHorizontal ? canvas.left : canvas.top,\r\n end: !this._isHorizontal ? canvas.width - canvas.right : canvas.height - canvas.bottom\r\n };\r\n positions.center = positions.start + (positions.end - positions.start) / 2\r\n } else {\r\n this._orthogonalPositions = null\r\n }\r\n this._canvas = canvas;\r\n this._translator.updateCanvas(this._processCanvas(canvas));\r\n this._initAxisPositions()\r\n },\r\n getCanvas: function() {\r\n return this._canvas\r\n },\r\n getAxisShift() {\r\n return this._axisShift || 0\r\n },\r\n hideTitle: function() {\r\n if (this._options.title.text) {\r\n this._incidentOccurred(\"W2105\", [this._isHorizontal ? \"horizontal\" : \"vertical\"]);\r\n this._axisTitleGroup.clear()\r\n }\r\n },\r\n getTitle: function() {\r\n return this._title\r\n },\r\n hideOuterElements: function() {\r\n var options = this._options;\r\n if ((options.label.visible || this._outsideConstantLines.length) && !this._translator.getBusinessRange().isEmpty()) {\r\n this._incidentOccurred(\"W2106\", [this._isHorizontal ? \"horizontal\" : \"vertical\"]);\r\n this._axisElementsGroup.clear();\r\n callAction(this._outsideConstantLines, \"removeLabel\")\r\n }\r\n },\r\n _resolveLogarithmicOptionsForRange(range) {\r\n var options = this._options;\r\n if (options.type === constants.logarithmic) {\r\n range.addRange({\r\n allowNegatives: void 0 !== options.allowNegatives ? options.allowNegatives : range.min <= 0\r\n });\r\n if (!isNaN(options.linearThreshold)) {\r\n range.linearThreshold = options.linearThreshold\r\n }\r\n }\r\n },\r\n adjustViewport(businessRange) {\r\n var options = this._options;\r\n var isDiscrete = options.type === constants.discrete;\r\n var categories = this._seriesData && this._seriesData.categories || [];\r\n var wholeRange = this.adjustRange(getVizRangeObject(options.wholeRange));\r\n var visualRange = this.getViewport() || {};\r\n var result = new Range(businessRange);\r\n this._addConstantLinesToRange(result);\r\n var minDefined = isDefined(visualRange.startValue);\r\n var maxDefined = isDefined(visualRange.endValue);\r\n if (!isDiscrete) {\r\n minDefined = minDefined && (!isDefined(wholeRange.endValue) || visualRange.startValue < wholeRange.endValue);\r\n maxDefined = maxDefined && (!isDefined(wholeRange.startValue) || visualRange.endValue > wholeRange.startValue)\r\n }\r\n var minVisible = minDefined ? visualRange.startValue : result.minVisible;\r\n var maxVisible = maxDefined ? visualRange.endValue : result.maxVisible;\r\n if (!isDiscrete) {\r\n var _wholeRange$startValu, _wholeRange$endValue;\r\n result.min = null !== (_wholeRange$startValu = wholeRange.startValue) && void 0 !== _wholeRange$startValu ? _wholeRange$startValu : result.min;\r\n result.max = null !== (_wholeRange$endValue = wholeRange.endValue) && void 0 !== _wholeRange$endValue ? _wholeRange$endValue : result.max\r\n } else {\r\n var categoriesInfo = getCategoriesInfo(categories, wholeRange.startValue, wholeRange.endValue);\r\n categories = categoriesInfo.categories;\r\n result.categories = categories\r\n }\r\n var adjustedVisualRange = adjustVisualRange({\r\n axisType: options.type,\r\n dataType: options.dataType,\r\n base: options.logarithmBase\r\n }, {\r\n startValue: minDefined ? visualRange.startValue : void 0,\r\n endValue: maxDefined ? visualRange.endValue : void 0,\r\n length: visualRange.length\r\n }, {\r\n categories: categories,\r\n min: wholeRange.startValue,\r\n max: wholeRange.endValue\r\n }, {\r\n categories: categories,\r\n min: minVisible,\r\n max: maxVisible\r\n });\r\n result.minVisible = adjustedVisualRange.startValue;\r\n result.maxVisible = adjustedVisualRange.endValue;\r\n !isDefined(result.min) && (result.min = result.minVisible);\r\n !isDefined(result.max) && (result.max = result.maxVisible);\r\n result.addRange({});\r\n this._resolveLogarithmicOptionsForRange(result);\r\n return result\r\n },\r\n adjustRange(range) {\r\n range = range || {};\r\n var isDiscrete = this._options.type === constants.discrete;\r\n var isLogarithmic = this._options.type === constants.logarithmic;\r\n var disabledNegatives = false === this._options.allowNegatives;\r\n if (isLogarithmic) {\r\n range.startValue = disabledNegatives && range.startValue <= 0 ? null : range.startValue;\r\n range.endValue = disabledNegatives && range.endValue <= 0 ? null : range.endValue\r\n }\r\n if (!isDiscrete && isDefined(range.startValue) && isDefined(range.endValue) && range.startValue > range.endValue) {\r\n var tmp = range.endValue;\r\n range.endValue = range.startValue;\r\n range.startValue = tmp\r\n }\r\n return range\r\n },\r\n _getVisualRangeUpdateMode(viewport, newRange, oppositeValue) {\r\n var value = this._options.visualRangeUpdateMode;\r\n var translator = this._translator;\r\n var range = this._seriesData;\r\n var prevDataInfo = this._prevDataInfo;\r\n if (prevDataInfo.isEmpty && !prevDataInfo.containsConstantLine) {\r\n return KEEP\r\n }\r\n if (!this.isArgumentAxis) {\r\n var _viewport = this.getViewport();\r\n if (!isDefined(_viewport.startValue) && !isDefined(_viewport.endValue) && !isDefined(_viewport.length)) {\r\n return RESET\r\n }\r\n }\r\n if (this.isArgumentAxis) {\r\n if (-1 === [SHIFT, KEEP, RESET].indexOf(value)) {\r\n if (range.axisType === constants.discrete) {\r\n var categories = range.categories;\r\n var newCategories = newRange.categories;\r\n var visualRange = this.visualRange();\r\n if (categories && newCategories && categories.length && -1 !== newCategories.map(c => c.valueOf()).join(\",\").indexOf(categories.map(c => c.valueOf()).join(\",\")) && (visualRange.startValue.valueOf() !== categories[0].valueOf() || visualRange.endValue.valueOf() !== categories[categories.length - 1].valueOf())) {\r\n value = KEEP\r\n } else {\r\n value = RESET\r\n }\r\n } else {\r\n var minPoint = translator.translate(range.min);\r\n var minVisiblePoint = translator.translate(viewport.startValue);\r\n var maxPoint = translator.translate(range.max);\r\n var maxVisiblePoint = translator.translate(viewport.endValue);\r\n if (minPoint === minVisiblePoint && maxPoint === maxVisiblePoint) {\r\n value = RESET\r\n } else if (minPoint !== minVisiblePoint && maxPoint === maxVisiblePoint) {\r\n value = SHIFT\r\n } else {\r\n value = KEEP\r\n }\r\n }\r\n if (value === KEEP && prevDataInfo.isEmpty && prevDataInfo.containsConstantLine) {\r\n value = RESET\r\n }\r\n }\r\n } else if (-1 === [KEEP, RESET].indexOf(value)) {\r\n if (oppositeValue === KEEP) {\r\n value = KEEP\r\n } else {\r\n value = RESET\r\n }\r\n }\r\n return value\r\n },\r\n _handleBusinessRangeChanged(oppositeVisualRangeUpdateMode, axisReinitialized, newRange) {\r\n var visualRange = this.visualRange();\r\n if (axisReinitialized || this._translator.getBusinessRange().isEmpty()) {\r\n return\r\n }\r\n var visualRangeUpdateMode = this._lastVisualRangeUpdateMode = this._getVisualRangeUpdateMode(visualRange, newRange, oppositeVisualRangeUpdateMode);\r\n if (visualRangeUpdateMode === KEEP) {\r\n this._setVisualRange([visualRange.startValue, visualRange.endValue])\r\n } else if (visualRangeUpdateMode === RESET) {\r\n this._setVisualRange([null, null])\r\n } else if (visualRangeUpdateMode === SHIFT) {\r\n this._setVisualRange({\r\n length: this.getVisualRangeLength()\r\n })\r\n }\r\n },\r\n getVisualRangeLength(range) {\r\n var currentBusinessRange = range || this._translator.getBusinessRange();\r\n var {\r\n type: type\r\n } = this._options;\r\n var length;\r\n if (type === constants.logarithmic) {\r\n length = adjust(this.calculateInterval(currentBusinessRange.maxVisible, currentBusinessRange.minVisible))\r\n } else if (type === constants.discrete) {\r\n var categoriesInfo = getCategoriesInfo(currentBusinessRange.categories, currentBusinessRange.minVisible, currentBusinessRange.maxVisible);\r\n length = categoriesInfo.categories.length\r\n } else {\r\n length = currentBusinessRange.maxVisible - currentBusinessRange.minVisible\r\n }\r\n return length\r\n },\r\n getVisualRangeCenter(range, useMerge) {\r\n var translator = this.getTranslator();\r\n var businessRange = translator.getBusinessRange();\r\n var currentBusinessRange = useMerge ? extend(true, {}, businessRange, range || {}) : range || businessRange;\r\n var {\r\n type: type,\r\n logarithmBase: logarithmBase\r\n } = this._options;\r\n var center;\r\n if (!isDefined(currentBusinessRange.minVisible) || !isDefined(currentBusinessRange.maxVisible)) {\r\n return\r\n }\r\n if (type === constants.logarithmic) {\r\n var {\r\n allowNegatives: allowNegatives,\r\n linearThreshold: linearThreshold,\r\n minVisible: minVisible,\r\n maxVisible: maxVisible\r\n } = currentBusinessRange;\r\n center = raiseTo(adjust(getLog(maxVisible, logarithmBase, allowNegatives, linearThreshold) + getLog(minVisible, logarithmBase, allowNegatives, linearThreshold)) / 2, logarithmBase, allowNegatives, linearThreshold)\r\n } else if (type === constants.discrete) {\r\n var categoriesInfo = getCategoriesInfo(currentBusinessRange.categories, currentBusinessRange.minVisible, currentBusinessRange.maxVisible);\r\n var index = Math.ceil(categoriesInfo.categories.length / 2) - 1;\r\n center = businessRange.categories.indexOf(categoriesInfo.categories[index])\r\n } else {\r\n center = translator.toValue((currentBusinessRange.maxVisible.valueOf() + currentBusinessRange.minVisible.valueOf()) / 2)\r\n }\r\n return center\r\n },\r\n setBusinessRange(range, axisReinitialized, oppositeVisualRangeUpdateMode, argCategories) {\r\n var _that$_seriesData$min, _that$_seriesData$max;\r\n var options = this._options;\r\n var isDiscrete = options.type === constants.discrete;\r\n this._handleBusinessRangeChanged(oppositeVisualRangeUpdateMode, axisReinitialized, range);\r\n this._seriesData = new Range(range);\r\n var dataIsEmpty = this._seriesData.isEmpty();\r\n var rangeWithConstantLines = new Range(this._seriesData);\r\n this._addConstantLinesToRange(rangeWithConstantLines);\r\n this._prevDataInfo = {\r\n isEmpty: dataIsEmpty,\r\n containsConstantLine: rangeWithConstantLines.containsConstantLine\r\n };\r\n this._seriesData.addRange({\r\n categories: options.categories,\r\n dataType: options.dataType,\r\n axisType: options.type,\r\n base: options.logarithmBase,\r\n invert: options.inverted\r\n });\r\n this._resolveLogarithmicOptionsForRange(this._seriesData);\r\n if (!isDiscrete) {\r\n if (!isDefined(this._seriesData.min) && !isDefined(this._seriesData.max)) {\r\n var visualRange = this.getViewport();\r\n visualRange && this._seriesData.addRange({\r\n min: visualRange.startValue,\r\n max: visualRange.endValue\r\n })\r\n }\r\n var synchronizedValue = options.synchronizedValue;\r\n if (isDefined(synchronizedValue)) {\r\n this._seriesData.addRange({\r\n min: synchronizedValue,\r\n max: synchronizedValue\r\n })\r\n }\r\n }\r\n this._seriesData.minVisible = null !== (_that$_seriesData$min = this._seriesData.minVisible) && void 0 !== _that$_seriesData$min ? _that$_seriesData$min : this._seriesData.min;\r\n this._seriesData.maxVisible = null !== (_that$_seriesData$max = this._seriesData.maxVisible) && void 0 !== _that$_seriesData$max ? _that$_seriesData$max : this._seriesData.max;\r\n if (!this.isArgumentAxis && options.showZero) {\r\n this._seriesData.correctValueZeroLevel()\r\n }\r\n this._seriesData.sortCategories(this.getCategoriesSorter(argCategories));\r\n this._seriesData.userBreaks = this._seriesData.isEmpty() ? [] : this._getScaleBreaks(options, this._seriesData, this._series, this.isArgumentAxis);\r\n this._translator.updateBusinessRange(this._getViewportRange())\r\n },\r\n _addConstantLinesToRange(dataRange) {\r\n this._outsideConstantLines.concat(this._insideConstantLines || []).forEach(cl => {\r\n if (cl.options.extendAxis) {\r\n var value = cl.getParsedValue();\r\n dataRange.addRange({\r\n containsConstantLine: true,\r\n minVisible: value,\r\n maxVisible: value,\r\n min: !isDefined(dataRange.min) ? value : dataRange.min,\r\n max: !isDefined(dataRange.max) ? value : dataRange.max\r\n })\r\n }\r\n })\r\n },\r\n setGroupSeries: function(series) {\r\n this._series = series\r\n },\r\n getLabelsPosition: function() {\r\n var options = this._options;\r\n var position = options.position;\r\n var labelShift = options.label.indentFromAxis + (this._axisShift || 0) + this._constantLabelOffset;\r\n var axisPosition = this._axisPosition;\r\n return position === TOP || position === LEFT ? axisPosition - labelShift : axisPosition + labelShift\r\n },\r\n getFormattedValue: function(value, options, point) {\r\n var labelOptions = this._options.label;\r\n return isDefined(value) ? this.formatLabel(value, extend(true, {}, labelOptions, options), void 0, point) : null\r\n },\r\n _getBoundaryTicks: function(majors, viewPort) {\r\n var length = majors.length;\r\n var options = this._options;\r\n var customBounds = options.customBoundTicks;\r\n var min = viewPort.minVisible;\r\n var max = viewPort.maxVisible;\r\n var addMinMax = options.showCustomBoundaryTicks ? this._boundaryTicksVisibility : {};\r\n var boundaryTicks = [];\r\n if (options.type === constants.discrete) {\r\n if (this._tickOffset && 0 !== majors.length) {\r\n boundaryTicks = [majors[0], majors[majors.length - 1]]\r\n }\r\n } else if (customBounds) {\r\n if (addMinMax.min && isDefined(customBounds[0])) {\r\n boundaryTicks.push(customBounds[0])\r\n }\r\n if (addMinMax.max && isDefined(customBounds[1])) {\r\n boundaryTicks.push(customBounds[1])\r\n }\r\n } else {\r\n if (addMinMax.min && (0 === length || majors[0] > min)) {\r\n boundaryTicks.push(min)\r\n }\r\n if (addMinMax.max && (0 === length || majors[length - 1] < max)) {\r\n boundaryTicks.push(max)\r\n }\r\n }\r\n return boundaryTicks\r\n },\r\n setPercentLabelFormat: function() {\r\n if (!this._hasLabelFormat) {\r\n this._options.label.format = \"percent\"\r\n }\r\n },\r\n resetAutoLabelFormat: function() {\r\n if (!this._hasLabelFormat) {\r\n delete this._options.label.format\r\n }\r\n },\r\n getMultipleAxesSpacing: function() {\r\n return this._options.multipleAxesSpacing || 0\r\n },\r\n getTicksValues: function() {\r\n return {\r\n majorTicksValues: convertTicksToValues(this._majorTicks),\r\n minorTicksValues: convertTicksToValues(this._minorTicks)\r\n }\r\n },\r\n estimateTickInterval: function(canvas) {\r\n this.updateCanvas(canvas);\r\n return this._tickInterval !== this._getTicks(this._getViewportRange(), _noop, true).tickInterval\r\n },\r\n setTicks: function(ticks) {\r\n var majors = ticks.majorTicks || [];\r\n this._majorTicks = majors.map(createMajorTick(this, this._renderer, this._getSkippedCategory(majors)));\r\n this._minorTicks = (ticks.minorTicks || []).map(createMinorTick(this, this._renderer));\r\n this._isSynchronized = true\r\n },\r\n _adjustDivisionFactor: function(val) {\r\n return val\r\n },\r\n _getTicks: function(viewPort, incidentOccurred, skipTickGeneration) {\r\n var options = this._options;\r\n var customTicks = options.customTicks;\r\n var customMinorTicks = options.customMinorTicks;\r\n return getTickGenerator(options, incidentOccurred || this._incidentOccurred, skipTickGeneration, this._translator.getBusinessRange().isEmpty(), this._adjustDivisionFactor.bind(this), viewPort)({\r\n min: viewPort.minVisible,\r\n max: viewPort.maxVisible,\r\n categories: viewPort.categories,\r\n isSpacedMargin: viewPort.isSpacedMargin\r\n }, this._getScreenDelta(), options.tickInterval, \"ignore\" === options.label.overlappingBehavior || options.forceUserTickInterval, {\r\n majors: customTicks,\r\n minors: customMinorTicks\r\n }, options.minorTickInterval, options.minorTickCount, this._initialBreaks)\r\n },\r\n _createTicksAndLabelFormat: function(range, incidentOccurred) {\r\n var options = this._options;\r\n var ticks = this._getTicks(range, incidentOccurred, false);\r\n if (!range.isEmpty() && options.type === constants.discrete && \"datetime\" === options.dataType && !this._hasLabelFormat && ticks.ticks.length) {\r\n options.label.format = formatHelper.getDateFormatByTicks(ticks.ticks)\r\n }\r\n return ticks\r\n },\r\n getAggregationInfo(useAllAggregatedPoints, range) {\r\n var _visualRange$startVal, _visualRange$endValue, _that$_seriesData;\r\n var options = this._options;\r\n var marginOptions = this._marginOptions;\r\n var businessRange = new Range(this.getTranslator().getBusinessRange()).addRange(range);\r\n var visualRange = this.getViewport();\r\n var minVisible = null !== (_visualRange$startVal = null === visualRange || void 0 === visualRange ? void 0 : visualRange.startValue) && void 0 !== _visualRange$startVal ? _visualRange$startVal : businessRange.minVisible;\r\n var maxVisible = null !== (_visualRange$endValue = null === visualRange || void 0 === visualRange ? void 0 : visualRange.endValue) && void 0 !== _visualRange$endValue ? _visualRange$endValue : businessRange.maxVisible;\r\n var ticks = [];\r\n if (options.type === constants.discrete && options.aggregateByCategory) {\r\n return {\r\n aggregateByCategory: true\r\n }\r\n }\r\n var aggregationInterval = options.aggregationInterval;\r\n var aggregationGroupWidth = options.aggregationGroupWidth;\r\n if (!aggregationGroupWidth && marginOptions) {\r\n if (marginOptions.checkInterval) {\r\n aggregationGroupWidth = options.axisDivisionFactor\r\n }\r\n if (marginOptions.sizePointNormalState) {\r\n aggregationGroupWidth = Math.min(marginOptions.sizePointNormalState, options.axisDivisionFactor)\r\n }\r\n }\r\n var minInterval = !options.aggregationGroupWidth && !aggregationInterval && range.interval;\r\n var generateTicks = configureGenerator(options, aggregationGroupWidth, businessRange, this._getScreenDelta(), minInterval);\r\n var tickInterval = generateTicks(aggregationInterval, true, minVisible, maxVisible, null === (_that$_seriesData = this._seriesData) || void 0 === _that$_seriesData ? void 0 : _that$_seriesData.breaks).tickInterval;\r\n if (options.type !== constants.discrete) {\r\n var min = useAllAggregatedPoints ? businessRange.min : minVisible;\r\n var max = useAllAggregatedPoints ? businessRange.max : maxVisible;\r\n if (isDefined(min) && isDefined(max)) {\r\n var add = getAddFunction({\r\n base: options.logarithmBase,\r\n axisType: options.type,\r\n dataType: options.dataType\r\n }, false);\r\n var start = min;\r\n var end = max;\r\n if (!useAllAggregatedPoints && isDefined(tickInterval)) {\r\n var maxMinDistance = Math.max(this.calculateInterval(max, min), \"datetime\" === options.dataType ? dateUtils.dateToMilliseconds(tickInterval) : tickInterval);\r\n start = add(min, maxMinDistance, -1);\r\n end = add(max, maxMinDistance)\r\n }\r\n start = start < businessRange.min ? businessRange.min : start;\r\n end = end > businessRange.max ? businessRange.max : end;\r\n var breaks = this._getScaleBreaks(options, {\r\n minVisible: start,\r\n maxVisible: end\r\n }, this._series, this.isArgumentAxis);\r\n var filteredBreaks = this._filterBreaks(breaks, {\r\n minVisible: start,\r\n maxVisible: end\r\n }, options.breakStyle);\r\n ticks = generateTicks(tickInterval, false, start, end, filteredBreaks).ticks\r\n }\r\n }\r\n this._aggregationInterval = tickInterval;\r\n return {\r\n interval: tickInterval,\r\n ticks: ticks\r\n }\r\n },\r\n getTickInterval() {\r\n return this._tickInterval\r\n },\r\n getAggregationInterval() {\r\n return this._aggregationInterval\r\n },\r\n createTicks: function(canvas) {\r\n var that = this;\r\n var renderer = that._renderer;\r\n var options = that._options;\r\n if (!canvas) {\r\n return\r\n }\r\n that._isSynchronized = false;\r\n that.updateCanvas(canvas);\r\n var range = that._getViewportRange();\r\n that._initialBreaks = range.breaks = this._seriesData.breaks = that._filterBreaks(this._seriesData.userBreaks, range, options.breakStyle);\r\n that._estimatedTickInterval = that._getTicks(that.adjustViewport(this._seriesData), _noop, true).tickInterval;\r\n var margins = this._calculateValueMargins();\r\n range.addRange({\r\n minVisible: margins.minValue,\r\n maxVisible: margins.maxValue,\r\n isSpacedMargin: margins.isSpacedMargin\r\n });\r\n var ticks = that._createTicksAndLabelFormat(range);\r\n var boundaryTicks = that._getBoundaryTicks(ticks.ticks, that._getViewportRange());\r\n if (options.showCustomBoundaryTicks && boundaryTicks.length) {\r\n that._boundaryTicks = [boundaryTicks[0]].map(createBoundaryTick(that, renderer, true));\r\n if (boundaryTicks.length > 1) {\r\n that._boundaryTicks = that._boundaryTicks.concat([boundaryTicks[1]].map(createBoundaryTick(that, renderer, false)))\r\n }\r\n } else {\r\n that._boundaryTicks = []\r\n }\r\n var minors = (ticks.minorTicks || []).filter((function(minor) {\r\n return !boundaryTicks.some((function(boundary) {\r\n return valueOf(boundary) === valueOf(minor)\r\n }))\r\n }));\r\n that._tickInterval = ticks.tickInterval;\r\n that._minorTickInterval = ticks.minorTickInterval;\r\n var oldMajorTicks = that._majorTicks || [];\r\n var majorTicksByValues = oldMajorTicks.reduce((r, t) => {\r\n r[t.value.valueOf()] = t;\r\n return r\r\n }, {});\r\n var sameType = type(ticks.ticks[0]) === type(oldMajorTicks[0] && oldMajorTicks[0].value);\r\n var skippedCategory = that._getSkippedCategory(ticks.ticks);\r\n var majorTicks = ticks.ticks.map(v => {\r\n var tick = majorTicksByValues[v.valueOf()];\r\n if (tick && sameType) {\r\n delete majorTicksByValues[v.valueOf()];\r\n tick.setSkippedCategory(skippedCategory);\r\n return tick\r\n } else {\r\n return createMajorTick(that, renderer, skippedCategory)(v)\r\n }\r\n });\r\n that._majorTicks = majorTicks;\r\n var oldMinorTicks = that._minorTicks || [];\r\n that._minorTicks = minors.map((v, i) => {\r\n var minorTick = oldMinorTicks[i];\r\n if (minorTick) {\r\n minorTick.updateValue(v);\r\n return minorTick\r\n }\r\n return createMinorTick(that, renderer)(v)\r\n });\r\n that._ticksToRemove = Object.keys(majorTicksByValues).map(k => majorTicksByValues[k]).concat(oldMinorTicks.slice(that._minorTicks.length, oldMinorTicks.length));\r\n that._ticksToRemove.forEach(t => {\r\n var _t$label;\r\n return null === (_t$label = t.label) || void 0 === _t$label ? void 0 : _t$label.removeTitle()\r\n });\r\n if (ticks.breaks) {\r\n that._seriesData.breaks = ticks.breaks\r\n }\r\n that._reinitTranslator(that._getViewportRange())\r\n },\r\n _reinitTranslator: function(range) {\r\n var translator = this._translator;\r\n if (this._isSynchronized) {\r\n return\r\n }\r\n translator.updateBusinessRange(range)\r\n },\r\n _getViewportRange() {\r\n return this.adjustViewport(this._seriesData)\r\n },\r\n setMarginOptions: function(options) {\r\n this._marginOptions = options\r\n },\r\n getMarginOptions() {\r\n var _this$_marginOptions;\r\n return null !== (_this$_marginOptions = this._marginOptions) && void 0 !== _this$_marginOptions ? _this$_marginOptions : {}\r\n },\r\n _calculateRangeInterval: function(interval) {\r\n var isDateTime = \"datetime\" === this._options.dataType;\r\n var minArgs = [];\r\n var addToArgs = function(value) {\r\n isDefined(value) && minArgs.push(isDateTime ? dateUtils.dateToMilliseconds(value) : value)\r\n };\r\n addToArgs(this._tickInterval);\r\n addToArgs(this._estimatedTickInterval);\r\n isDefined(interval) && minArgs.push(interval);\r\n addToArgs(this._aggregationInterval);\r\n return this._calculateWorkWeekInterval(_min.apply(this, minArgs))\r\n },\r\n _calculateWorkWeekInterval(businessInterval) {\r\n var options = this._options;\r\n if (\"datetime\" === options.dataType && options.workdaysOnly && businessInterval) {\r\n var workWeek = options.workWeek.length * dateIntervals.day;\r\n var weekend = dateIntervals.week - workWeek;\r\n if (workWeek !== businessInterval && weekend < businessInterval) {\r\n var weekendsCount = Math.ceil(businessInterval / dateIntervals.week);\r\n businessInterval -= weekend * weekendsCount\r\n } else if (weekend >= businessInterval && businessInterval > dateIntervals.day) {\r\n businessInterval = dateIntervals.day\r\n }\r\n }\r\n return businessInterval\r\n },\r\n _getConvertIntervalCoefficient(intervalInPx, screenDelta) {\r\n var ratioOfCanvasRange = this._translator.ratioOfCanvasRange();\r\n return ratioOfCanvasRange / (ratioOfCanvasRange * screenDelta / (intervalInPx + screenDelta))\r\n },\r\n _calculateValueMargins(ticks) {\r\n this._resetMargins();\r\n var margins = this.getMarginOptions();\r\n var marginSize = (margins.size || 0) / 2;\r\n var options = this._options;\r\n var dataRange = this._getViewportRange();\r\n var viewPort = this.getViewport();\r\n var screenDelta = this._getScreenDelta();\r\n var isDiscrete = -1 !== (options.type || \"\").indexOf(constants.discrete);\r\n var valueMarginsEnabled = options.valueMarginsEnabled && !isDiscrete && !this.customPositionIsBoundaryOrthogonalAxis();\r\n var translator = this._translator;\r\n var minValueMargin = options.minValueMargin;\r\n var maxValueMargin = options.maxValueMargin;\r\n var minPadding = 0;\r\n var maxPadding = 0;\r\n var interval = 0;\r\n var rangeInterval;\r\n if (dataRange.stubData || !screenDelta) {\r\n return {\r\n startPadding: 0,\r\n endPadding: 0\r\n }\r\n }\r\n if (this.isArgumentAxis && margins.checkInterval) {\r\n rangeInterval = this._calculateRangeInterval(dataRange.interval);\r\n var pxInterval = translator.getInterval(rangeInterval);\r\n if (isFinite(pxInterval)) {\r\n interval = Math.ceil(pxInterval / (2 * this._getConvertIntervalCoefficient(pxInterval, screenDelta)))\r\n } else {\r\n rangeInterval = 0\r\n }\r\n }\r\n var minPercentPadding;\r\n var maxPercentPadding;\r\n var maxPaddingValue = screenDelta * MAX_MARGIN_VALUE / 2;\r\n if (valueMarginsEnabled) {\r\n if (isDefined(minValueMargin)) {\r\n minPercentPadding = isFinite(minValueMargin) ? minValueMargin : 0\r\n } else if (!this.isArgumentAxis && margins.checkInterval && valueOf(dataRange.minVisible) > 0 && valueOf(dataRange.minVisible) === valueOf(dataRange.min)) {\r\n minPadding = MIN_BAR_MARGIN\r\n } else {\r\n minPadding = Math.max(marginSize, interval);\r\n minPadding = Math.min(maxPaddingValue, minPadding)\r\n }\r\n if (isDefined(maxValueMargin)) {\r\n maxPercentPadding = isFinite(maxValueMargin) ? maxValueMargin : 0\r\n } else if (!this.isArgumentAxis && margins.checkInterval && valueOf(dataRange.maxVisible) < 0 && valueOf(dataRange.maxVisible) === valueOf(dataRange.max)) {\r\n maxPadding = MIN_BAR_MARGIN\r\n } else {\r\n maxPadding = Math.max(marginSize, interval);\r\n maxPadding = Math.min(maxPaddingValue, maxPadding)\r\n }\r\n }\r\n var percentStick = margins.percentStick && !this.isArgumentAxis;\r\n if (percentStick) {\r\n if (1 === _abs(dataRange.max)) {\r\n maxPadding = 0\r\n }\r\n if (1 === _abs(dataRange.min)) {\r\n minPadding = 0\r\n }\r\n }\r\n var canvasStartEnd = this._getCanvasStartEnd();\r\n var commonMargin = 1 + (minPercentPadding || 0) + (maxPercentPadding || 0);\r\n var screenDeltaWithMargins = (screenDelta - minPadding - maxPadding) / commonMargin || screenDelta;\r\n if (void 0 !== minPercentPadding || void 0 !== maxPercentPadding) {\r\n if (void 0 !== minPercentPadding) {\r\n minPadding = screenDeltaWithMargins * minPercentPadding\r\n }\r\n if (void 0 !== maxPercentPadding) {\r\n maxPadding = screenDeltaWithMargins * maxPercentPadding\r\n }\r\n }\r\n var minValue;\r\n var maxValue;\r\n if (options.type !== constants.discrete && ticks && ticks.length > 1 && !options.skipViewportExtending && !viewPort.action && false !== options.endOnTick) {\r\n var length = ticks.length;\r\n var firstTickPosition = translator.translate(ticks[0].value);\r\n var lastTickPosition = translator.translate(ticks[length - 1].value);\r\n var invertMultiplier = firstTickPosition > lastTickPosition ? -1 : 1;\r\n var minTickPadding = _max(invertMultiplier * (canvasStartEnd.start - firstTickPosition), 0);\r\n var maxTickPadding = _max(invertMultiplier * (lastTickPosition - canvasStartEnd.end), 0);\r\n if (minTickPadding > minPadding || maxTickPadding > maxPadding) {\r\n var commonPadding = maxTickPadding + minTickPadding;\r\n var coeff = this._getConvertIntervalCoefficient(commonPadding, screenDelta);\r\n if (minTickPadding >= minPadding) {\r\n minValue = ticks[0].value\r\n }\r\n if (maxTickPadding >= maxPadding) {\r\n maxValue = ticks[length - 1].value\r\n }\r\n minPadding = _max(minTickPadding, minPadding) / coeff;\r\n maxPadding = _max(maxTickPadding, maxPadding) / coeff\r\n }\r\n }\r\n minPercentPadding = void 0 === minPercentPadding ? minPadding / screenDeltaWithMargins : minPercentPadding;\r\n maxPercentPadding = void 0 === maxPercentPadding ? maxPadding / screenDeltaWithMargins : maxPercentPadding;\r\n if (!isDiscrete) {\r\n if (this._translator.isInverted()) {\r\n var _minValue, _maxValue;\r\n minValue = null !== (_minValue = minValue) && void 0 !== _minValue ? _minValue : translator.from(canvasStartEnd.start + screenDelta * minPercentPadding, -1);\r\n maxValue = null !== (_maxValue = maxValue) && void 0 !== _maxValue ? _maxValue : translator.from(canvasStartEnd.end - screenDelta * maxPercentPadding, 1)\r\n } else {\r\n var _minValue2, _maxValue2;\r\n minValue = null !== (_minValue2 = minValue) && void 0 !== _minValue2 ? _minValue2 : translator.from(canvasStartEnd.start - screenDelta * minPercentPadding, -1);\r\n maxValue = null !== (_maxValue2 = maxValue) && void 0 !== _maxValue2 ? _maxValue2 : translator.from(canvasStartEnd.end + screenDelta * maxPercentPadding, 1)\r\n }\r\n }\r\n var {\r\n correctedMin: correctedMin,\r\n correctedMax: correctedMax,\r\n start: start,\r\n end: end\r\n } = this.getCorrectedValuesToZero(minValue, maxValue);\r\n minPadding = null !== start && void 0 !== start ? start : minPadding;\r\n maxPadding = null !== end && void 0 !== end ? end : maxPadding;\r\n return {\r\n startPadding: translator.isInverted() ? maxPadding : minPadding,\r\n endPadding: translator.isInverted() ? minPadding : maxPadding,\r\n minValue: null !== correctedMin && void 0 !== correctedMin ? correctedMin : minValue,\r\n maxValue: null !== correctedMax && void 0 !== correctedMax ? correctedMax : maxValue,\r\n interval: rangeInterval,\r\n isSpacedMargin: minPadding === maxPadding && 0 !== minPadding\r\n }\r\n },\r\n getCorrectedValuesToZero(minValue, maxValue) {\r\n var that = this;\r\n var translator = that._translator;\r\n var canvasStartEnd = that._getCanvasStartEnd();\r\n var dataRange = that._getViewportRange();\r\n var screenDelta = that._getScreenDelta();\r\n var options = that._options;\r\n var start;\r\n var end;\r\n var correctedMin;\r\n var correctedMax;\r\n var correctZeroLevel = (minPoint, maxPoint) => {\r\n var minExpectedPadding = _abs(canvasStartEnd.start - minPoint);\r\n var maxExpectedPadding = _abs(canvasStartEnd.end - maxPoint);\r\n var coeff = that._getConvertIntervalCoefficient(minExpectedPadding + maxExpectedPadding, screenDelta);\r\n start = minExpectedPadding / coeff;\r\n end = maxExpectedPadding / coeff\r\n };\r\n if (!that.isArgumentAxis && \"datetime\" !== options.dataType) {\r\n if (minValue * dataRange.min <= 0 && minValue * dataRange.minVisible <= 0) {\r\n correctZeroLevel(translator.translate(0), translator.translate(maxValue));\r\n correctedMin = 0\r\n }\r\n if (maxValue * dataRange.max <= 0 && maxValue * dataRange.maxVisible <= 0) {\r\n correctZeroLevel(translator.translate(minValue), translator.translate(0));\r\n correctedMax = 0\r\n }\r\n }\r\n return {\r\n start: isFinite(start) ? start : null,\r\n end: isFinite(end) ? end : null,\r\n correctedMin: correctedMin,\r\n correctedMax: correctedMax\r\n }\r\n },\r\n applyMargins() {\r\n if (this._isSynchronized) {\r\n return\r\n }\r\n var margins = this._calculateValueMargins(this._majorTicks);\r\n var canvas = extend({}, this._canvas, {\r\n startPadding: margins.startPadding,\r\n endPadding: margins.endPadding\r\n });\r\n this._translator.updateCanvas(this._processCanvas(canvas));\r\n if (isFinite(margins.interval)) {\r\n var br = this._translator.getBusinessRange();\r\n br.addRange({\r\n interval: margins.interval\r\n });\r\n this._translator.updateBusinessRange(br)\r\n }\r\n },\r\n _resetMargins: function() {\r\n this._reinitTranslator(this._getViewportRange());\r\n if (this._canvas) {\r\n this._translator.updateCanvas(this._processCanvas(this._canvas))\r\n }\r\n },\r\n _createConstantLines() {\r\n var constantLines = (this._options.constantLines || []).map(o => createConstantLine(this, o));\r\n this._outsideConstantLines = constantLines.filter(l => \"outside\" === l.labelPosition);\r\n this._insideConstantLines = constantLines.filter(l => \"inside\" === l.labelPosition)\r\n },\r\n draw: function(canvas, borderOptions) {\r\n var that = this;\r\n var options = this._options;\r\n that.borderOptions = borderOptions || {\r\n visible: false\r\n };\r\n that._resetMargins();\r\n that.createTicks(canvas);\r\n that.applyMargins();\r\n that._clearAxisGroups();\r\n initTickCoords(that._majorTicks);\r\n initTickCoords(that._minorTicks);\r\n initTickCoords(that._boundaryTicks);\r\n that._axisGroup.append(that._axesContainerGroup);\r\n that._drawAxis();\r\n that._drawTitle();\r\n drawTickMarks(that._majorTicks, options.tick);\r\n drawTickMarks(that._minorTicks, options.minorTick);\r\n drawTickMarks(that._boundaryTicks, options.tick);\r\n var drawGridLine = that._getGridLineDrawer();\r\n drawGrids(that._majorTicks, drawGridLine);\r\n drawGrids(that._minorTicks, drawGridLine);\r\n callAction(that._majorTicks, \"drawLabel\", that._getViewportRange(), that._getTemplate(options.label.template));\r\n that._templatesRendered && that._templatesRendered.reject();\r\n that._templatesRendered = new Deferred;\r\n that._majorTicks.forEach((function(tick) {\r\n tick.labelRotationAngle = 0;\r\n tick.labelAlignment = void 0;\r\n tick.labelOffset = 0\r\n }));\r\n callAction(that._outsideConstantLines.concat(that._insideConstantLines), \"draw\");\r\n callAction(that._strips, \"draw\");\r\n that._dateMarkers = that._drawDateMarkers() || [];\r\n that._stripLabelAxesGroup && that._axisStripLabelGroup.append(that._stripLabelAxesGroup);\r\n that._gridContainerGroup && that._axisGridGroup.append(that._gridContainerGroup);\r\n that._stripsGroup && that._axisStripGroup.append(that._stripsGroup);\r\n that._labelsAxesGroup && that._axisElementsGroup.append(that._labelsAxesGroup);\r\n if (that._constantLinesGroup) {\r\n that._axisConstantLineGroups.above.inside.append(that._constantLinesGroup.above);\r\n that._axisConstantLineGroups.above.outside1.append(that._constantLinesGroup.above);\r\n that._axisConstantLineGroups.above.outside2.append(that._constantLinesGroup.above);\r\n that._axisConstantLineGroups.under.inside.append(that._constantLinesGroup.under);\r\n that._axisConstantLineGroups.under.outside1.append(that._constantLinesGroup.under);\r\n that._axisConstantLineGroups.under.outside2.append(that._constantLinesGroup.under)\r\n }\r\n that._measureTitle();\r\n measureLabels(that._majorTicks);\r\n !options.label.template && that._applyWordWrap();\r\n measureLabels(that._outsideConstantLines);\r\n measureLabels(that._insideConstantLines);\r\n measureLabels(that._strips);\r\n measureLabels(that._dateMarkers);\r\n that._adjustConstantLineLabels(that._insideConstantLines);\r\n that._adjustStripLabels();\r\n var offset = that._constantLabelOffset = that._adjustConstantLineLabels(that._outsideConstantLines);\r\n if (!that._translator.getBusinessRange().isEmpty()) {\r\n that._setLabelsPlacement();\r\n offset = that._adjustLabels(offset)\r\n }\r\n when.apply(this, that._majorTicks.map(tick => tick.getTemplateDeferred())).done(() => {\r\n that._templatesRendered.resolve()\r\n });\r\n offset = that._adjustDateMarkers(offset);\r\n that._adjustTitle(offset)\r\n },\r\n getTemplatesDef() {\r\n return this._templatesRendered\r\n },\r\n setRenderedState(state) {\r\n this._drawn = state\r\n },\r\n isRendered() {\r\n return this._drawn\r\n },\r\n _applyWordWrap() {\r\n var convertedTickInterval;\r\n var textWidth;\r\n var textHeight;\r\n var options = this._options;\r\n var tickInterval = this._tickInterval;\r\n if (isDefined(tickInterval)) {\r\n convertedTickInterval = this.getTranslator().getInterval(\"datetime\" === options.dataType ? dateUtils.dateToMilliseconds(tickInterval) : tickInterval)\r\n }\r\n var displayMode = this._validateDisplayMode(options.label.displayMode);\r\n var overlappingMode = this._validateOverlappingMode(options.label.overlappingBehavior, displayMode);\r\n var wordWrapMode = options.label.wordWrap || \"none\";\r\n var overflowMode = options.label.textOverflow || \"none\";\r\n if ((\"none\" !== wordWrapMode || \"none\" !== overflowMode) && displayMode !== ROTATE && overlappingMode !== ROTATE && \"auto\" !== overlappingMode) {\r\n var usefulSpace = isDefined(options.placeholderSize) ? options.placeholderSize - options.label.indentFromAxis : void 0;\r\n if (this._isHorizontal) {\r\n textWidth = convertedTickInterval;\r\n textHeight = usefulSpace\r\n } else {\r\n textWidth = usefulSpace;\r\n textHeight = convertedTickInterval\r\n }\r\n var correctByWidth = false;\r\n var correctByHeight = false;\r\n if (textWidth) {\r\n if (this._majorTicks.some(tick => tick.labelBBox.width > textWidth)) {\r\n correctByWidth = true\r\n }\r\n }\r\n if (textHeight) {\r\n if (this._majorTicks.some(tick => tick.labelBBox.height > textHeight)) {\r\n correctByHeight = true\r\n }\r\n }\r\n if (correctByWidth || correctByHeight) {\r\n this._majorTicks.forEach(tick => {\r\n tick.label && tick.label.setMaxSize(textWidth, textHeight, options.label)\r\n });\r\n measureLabels(this._majorTicks)\r\n }\r\n }\r\n },\r\n _measureTitle: _noop,\r\n animate() {\r\n callAction(this._majorTicks, \"animateLabels\")\r\n },\r\n updateSize(canvas, animate) {\r\n var updateTitle = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : true;\r\n this.updateCanvas(canvas);\r\n if (updateTitle) {\r\n this._checkTitleOverflow();\r\n this._measureTitle();\r\n this._updateTitleCoords()\r\n }\r\n this._reinitTranslator(this._getViewportRange());\r\n this.applyMargins();\r\n var animationEnabled = !this._firstDrawing && animate;\r\n var options = this._options;\r\n initTickCoords(this._majorTicks);\r\n initTickCoords(this._minorTicks);\r\n initTickCoords(this._boundaryTicks);\r\n if (this._resetApplyingAnimation && !this._firstDrawing) {\r\n this._resetStartCoordinates()\r\n }\r\n cleanUpInvalidTicks(this._majorTicks);\r\n cleanUpInvalidTicks(this._minorTicks);\r\n cleanUpInvalidTicks(this._boundaryTicks);\r\n if (this._axisElement) {\r\n this._updateAxisElementPosition()\r\n }\r\n updateTicksPosition(this._majorTicks, options.tick, animationEnabled);\r\n updateTicksPosition(this._minorTicks, options.minorTick, animationEnabled);\r\n updateTicksPosition(this._boundaryTicks, options.tick);\r\n callAction(this._majorTicks, \"updateLabelPosition\", animationEnabled);\r\n this._outsideConstantLines.concat(this._insideConstantLines || []).forEach(l => l.updatePosition(animationEnabled));\r\n callAction(this._strips, \"updatePosition\", animationEnabled);\r\n updateGridsPosition(this._majorTicks, animationEnabled);\r\n updateGridsPosition(this._minorTicks, animationEnabled);\r\n if (animationEnabled) {\r\n callAction(this._ticksToRemove || [], \"fadeOutElements\")\r\n }\r\n this.prepareAnimation();\r\n this._ticksToRemove = null;\r\n if (!this._translator.getBusinessRange().isEmpty()) {\r\n this._firstDrawing = false\r\n }\r\n this._resetApplyingAnimation = false;\r\n this._updateLabelsPosition()\r\n },\r\n _updateLabelsPosition: _noop,\r\n prepareAnimation() {\r\n var action = \"saveCoords\";\r\n callAction(this._majorTicks, action);\r\n callAction(this._minorTicks, action);\r\n callAction(this._insideConstantLines, action);\r\n callAction(this._outsideConstantLines, action);\r\n callAction(this._strips, action)\r\n },\r\n _resetStartCoordinates() {\r\n var action = \"resetCoordinates\";\r\n callAction(this._majorTicks, action);\r\n callAction(this._minorTicks, action);\r\n callAction(this._insideConstantLines, action);\r\n callAction(this._outsideConstantLines, action);\r\n callAction(this._strips, action)\r\n },\r\n applyClipRects: function(elementsClipID, canvasClipID) {\r\n this._axisGroup.attr({\r\n \"clip-path\": canvasClipID\r\n });\r\n this._axisStripGroup.attr({\r\n \"clip-path\": elementsClipID\r\n });\r\n this._axisElementsGroup.attr({\r\n \"clip-path\": canvasClipID\r\n })\r\n },\r\n _validateVisualRange(optionValue) {\r\n var range = getVizRangeObject(optionValue);\r\n if (void 0 !== range.startValue) {\r\n range.startValue = this.validateUnit(range.startValue)\r\n }\r\n if (void 0 !== range.endValue) {\r\n range.endValue = this.validateUnit(range.endValue)\r\n }\r\n return convertVisualRangeObject(range, !_isArray(optionValue))\r\n },\r\n _validateOptions(options) {\r\n options.wholeRange = this._validateVisualRange(options.wholeRange);\r\n options.visualRange = options._customVisualRange = this._validateVisualRange(options._customVisualRange);\r\n this._setVisualRange(options._customVisualRange)\r\n },\r\n validate() {\r\n var options = this._options;\r\n var dataType = this.isArgumentAxis ? options.argumentType : options.valueType;\r\n var parser = dataType ? getParser(dataType) : function(unit) {\r\n return unit\r\n };\r\n this.parser = parser;\r\n options.dataType = dataType;\r\n this._validateOptions(options)\r\n },\r\n resetVisualRange(isSilent) {\r\n this._seriesData.minVisible = this._seriesData.min;\r\n this._seriesData.maxVisible = this._seriesData.max;\r\n this.handleZooming([null, null], {\r\n start: !!isSilent,\r\n end: !!isSilent\r\n })\r\n },\r\n _setVisualRange(visualRange, allowPartialUpdate) {\r\n var range = this.adjustRange(getVizRangeObject(visualRange));\r\n if (allowPartialUpdate) {\r\n isDefined(range.startValue) && (this._viewport.startValue = range.startValue);\r\n isDefined(range.endValue) && (this._viewport.endValue = range.endValue)\r\n } else {\r\n this._viewport = range\r\n }\r\n },\r\n _applyZooming(visualRange, allowPartialUpdate) {\r\n this._resetVisualRangeOption();\r\n this._setVisualRange(visualRange, allowPartialUpdate);\r\n var viewPort = this.getViewport();\r\n this._seriesData.userBreaks = this._getScaleBreaks(this._options, {\r\n minVisible: viewPort.startValue,\r\n maxVisible: viewPort.endValue\r\n }, this._series, this.isArgumentAxis);\r\n this._translator.updateBusinessRange(this._getViewportRange())\r\n },\r\n getZoomStartEventArg(event, actionType) {\r\n return {\r\n axis: this,\r\n range: this.visualRange(),\r\n cancel: false,\r\n event: event,\r\n actionType: actionType\r\n }\r\n },\r\n _getZoomEndEventArg(previousRange, event, actionType, zoomFactor, shift) {\r\n var newRange = this.visualRange();\r\n return {\r\n axis: this,\r\n previousRange: previousRange,\r\n range: newRange,\r\n cancel: false,\r\n event: event,\r\n actionType: actionType,\r\n zoomFactor: zoomFactor,\r\n shift: shift,\r\n rangeStart: newRange.startValue,\r\n rangeEnd: newRange.endValue\r\n }\r\n },\r\n getZoomBounds() {\r\n var wholeRange = getVizRangeObject(this._options.wholeRange);\r\n var range = this.getTranslator().getBusinessRange();\r\n var secondPriorityRange = {\r\n startValue: getZoomBoundValue(this._initRange.startValue, range.min),\r\n endValue: getZoomBoundValue(this._initRange.endValue, range.max)\r\n };\r\n return {\r\n startValue: getZoomBoundValue(wholeRange.startValue, secondPriorityRange.startValue),\r\n endValue: getZoomBoundValue(wholeRange.endValue, secondPriorityRange.endValue)\r\n }\r\n },\r\n setInitRange() {\r\n this._initRange = {};\r\n if (0 === Object.keys(this._options.wholeRange || {}).length) {\r\n this._initRange = this.getZoomBounds()\r\n }\r\n },\r\n _resetVisualRangeOption() {\r\n this._options._customVisualRange = {}\r\n },\r\n getTemplatesGroups() {\r\n var ticks = this._majorTicks;\r\n if (ticks) {\r\n return this._majorTicks.map(tick => tick.templateContainer).filter(item => isDefined(item))\r\n } else {\r\n return []\r\n }\r\n },\r\n setCustomVisualRange(range) {\r\n this._options._customVisualRange = range\r\n },\r\n visualRange() {\r\n var args = arguments;\r\n var visualRange;\r\n if (0 === args.length) {\r\n var adjustedRange = this._getAdjustedBusinessRange();\r\n var startValue = adjustedRange.minVisible;\r\n var endValue = adjustedRange.maxVisible;\r\n if (this._options.type === constants.discrete) {\r\n var _startValue, _endValue;\r\n startValue = null !== (_startValue = startValue) && void 0 !== _startValue ? _startValue : adjustedRange.categories[0];\r\n endValue = null !== (_endValue = endValue) && void 0 !== _endValue ? _endValue : adjustedRange.categories[adjustedRange.categories.length - 1];\r\n return {\r\n startValue: startValue,\r\n endValue: endValue,\r\n categories: getCategoriesInfo(adjustedRange.categories, startValue, endValue).categories\r\n }\r\n }\r\n return {\r\n startValue: startValue,\r\n endValue: endValue\r\n }\r\n } else if (_isArray(args[0])) {\r\n visualRange = args[0]\r\n } else if (isPlainObject(args[0])) {\r\n visualRange = extend({}, args[0])\r\n } else {\r\n visualRange = [args[0], args[1]]\r\n }\r\n var zoomResults = this.handleZooming(visualRange, args[1]);\r\n if (!zoomResults.isPrevented) {\r\n this._visualRange(this, zoomResults)\r\n }\r\n },\r\n handleZooming(visualRange, preventEvents, domEvent, action) {\r\n preventEvents = preventEvents || {};\r\n if (isDefined(visualRange)) {\r\n visualRange = this._validateVisualRange(visualRange);\r\n visualRange.action = action\r\n }\r\n var zoomStartEvent = this.getZoomStartEventArg(domEvent, action);\r\n var previousRange = zoomStartEvent.range;\r\n !preventEvents.start && this._eventTrigger(\"zoomStart\", zoomStartEvent);\r\n var zoomResults = {\r\n isPrevented: zoomStartEvent.cancel,\r\n skipEventRising: preventEvents.skipEventRising,\r\n range: visualRange || zoomStartEvent.range\r\n };\r\n if (!zoomStartEvent.cancel) {\r\n isDefined(visualRange) && this._applyZooming(visualRange, preventEvents.allowPartialUpdate);\r\n if (!isDefined(this._storedZoomEndParams)) {\r\n this._storedZoomEndParams = {\r\n startRange: previousRange,\r\n type: this.getOptions().type\r\n }\r\n }\r\n this._storedZoomEndParams.event = domEvent;\r\n this._storedZoomEndParams.action = action;\r\n this._storedZoomEndParams.prevent = !!preventEvents.end\r\n }\r\n return zoomResults\r\n },\r\n handleZoomEnd() {\r\n if (isDefined(this._storedZoomEndParams) && !this._storedZoomEndParams.prevent) {\r\n var previousRange = this._storedZoomEndParams.startRange;\r\n var domEvent = this._storedZoomEndParams.event;\r\n var action = this._storedZoomEndParams.action;\r\n var previousBusinessRange = {\r\n minVisible: previousRange.startValue,\r\n maxVisible: previousRange.endValue,\r\n categories: previousRange.categories\r\n };\r\n var typeIsNotChanged = this.getOptions().type === this._storedZoomEndParams.type;\r\n var shift = typeIsNotChanged ? adjust(this.getVisualRangeCenter() - this.getVisualRangeCenter(previousBusinessRange, false)) : NaN;\r\n var zoomFactor = typeIsNotChanged ? +(Math.round(this.getVisualRangeLength(previousBusinessRange) / (this.getVisualRangeLength() || 1) + \"e+2\") + \"e-2\") : NaN;\r\n var zoomEndEvent = this._getZoomEndEventArg(previousRange, domEvent, action, zoomFactor, shift);\r\n zoomEndEvent.cancel = this.checkZoomingLowerLimitOvercome(1 === zoomFactor ? \"pan\" : \"zoom\", zoomFactor).stopInteraction;\r\n this._eventTrigger(\"zoomEnd\", zoomEndEvent);\r\n if (zoomEndEvent.cancel) {\r\n this._restorePreviousVisualRange(previousRange)\r\n }\r\n this._storedZoomEndParams = null\r\n }\r\n },\r\n _restorePreviousVisualRange(previousRange) {\r\n this._storedZoomEndParams = null;\r\n this._applyZooming(previousRange);\r\n this._visualRange(this, previousRange)\r\n },\r\n checkZoomingLowerLimitOvercome(actionType, zoomFactor, range) {\r\n var options = this._options;\r\n var translator = this._translator;\r\n var minZoom = options.minVisualRangeLength;\r\n var correctedRange = range;\r\n var visualRange;\r\n var isOvercoming = \"zoom\" === actionType && zoomFactor >= 1;\r\n var businessRange = translator.getBusinessRange();\r\n if (range) {\r\n visualRange = this.adjustRange(getVizRangeObject(range));\r\n visualRange = {\r\n minVisible: visualRange.startValue,\r\n maxVisible: visualRange.endValue,\r\n categories: businessRange.categories\r\n }\r\n }\r\n var beforeVisualRangeLength = this.getVisualRangeLength(businessRange);\r\n var afterVisualRangeLength = this.getVisualRangeLength(visualRange);\r\n if (isDefined(minZoom) || \"discrete\" === options.type) {\r\n minZoom = translator.convert(minZoom);\r\n if (visualRange && minZoom < beforeVisualRangeLength && minZoom >= afterVisualRangeLength) {\r\n correctedRange = getVizRangeObject(translator.getRangeByMinZoomValue(minZoom, visualRange));\r\n isOvercoming = false\r\n } else {\r\n isOvercoming &= minZoom > afterVisualRangeLength\r\n }\r\n } else {\r\n var canvasLength = this._translator.canvasLength;\r\n var fullRange = {\r\n minVisible: businessRange.min,\r\n maxVisible: businessRange.max,\r\n categories: businessRange.categories\r\n };\r\n isOvercoming &= this.getVisualRangeLength(fullRange) / canvasLength >= afterVisualRangeLength\r\n }\r\n return {\r\n stopInteraction: !!isOvercoming,\r\n correctedRange: correctedRange\r\n }\r\n },\r\n isExtremePosition(isMax) {\r\n var extremeDataValue;\r\n var seriesData;\r\n if (\"discrete\" === this._options.type) {\r\n seriesData = this._translator.getBusinessRange();\r\n extremeDataValue = isMax ? seriesData.categories[seriesData.categories.length - 1] : seriesData.categories[0]\r\n } else {\r\n seriesData = this.getZoomBounds();\r\n extremeDataValue = isMax ? seriesData.endValue : seriesData.startValue\r\n }\r\n var translator = this.getTranslator();\r\n var extremePoint = translator.translate(extremeDataValue);\r\n var visualRange = this.visualRange();\r\n var visualRangePoint = isMax ? translator.translate(visualRange.endValue) : translator.translate(visualRange.startValue);\r\n return _abs(visualRangePoint - extremePoint) < SCROLL_THRESHOLD\r\n },\r\n getViewport() {\r\n return this._viewport\r\n },\r\n getFullTicks: function() {\r\n var majors = this._majorTicks || [];\r\n if (this._options.type === constants.discrete) {\r\n return convertTicksToValues(majors)\r\n } else {\r\n return convertTicksToValues(majors.concat(this._minorTicks, this._boundaryTicks)).sort((function(a, b) {\r\n return valueOf(a) - valueOf(b)\r\n }))\r\n }\r\n },\r\n measureLabels: function(canvas, withIndents) {\r\n var that = this;\r\n var options = that._options;\r\n var widthAxis = options.visible ? options.width : 0;\r\n var ticks;\r\n var indent = withIndents ? options.label.indentFromAxis + .5 * options.tick.length : 0;\r\n var tickInterval;\r\n var viewportRange = that._getViewportRange();\r\n if (viewportRange.isEmpty() || !options.label.visible || !that._axisElementsGroup) {\r\n return {\r\n height: widthAxis,\r\n width: widthAxis,\r\n x: 0,\r\n y: 0\r\n }\r\n }\r\n if (that._majorTicks) {\r\n ticks = convertTicksToValues(that._majorTicks)\r\n } else {\r\n that.updateCanvas(canvas);\r\n ticks = that._createTicksAndLabelFormat(viewportRange, _noop);\r\n tickInterval = ticks.tickInterval;\r\n ticks = ticks.ticks\r\n }\r\n var maxText = ticks.reduce((function(prevLabel, tick, index) {\r\n var label = that.formatLabel(tick, options.label, viewportRange, void 0, tickInterval, ticks);\r\n if (prevLabel.length < label.length) {\r\n return label\r\n } else {\r\n return prevLabel\r\n }\r\n }), that.formatLabel(ticks[0], options.label, viewportRange, void 0, tickInterval, ticks));\r\n var text = that._renderer.text(maxText, 0, 0).css(that._textFontStyles).attr(that._textOptions).append(that._renderer.root);\r\n var box = text.getBBox();\r\n text.remove();\r\n return {\r\n x: box.x,\r\n y: box.y,\r\n width: box.width + indent,\r\n height: box.height + indent\r\n }\r\n },\r\n _setLabelsPlacement: function() {\r\n if (!this._options.label.visible) {\r\n return\r\n }\r\n var labelOpt = this._options.label;\r\n var displayMode = this._validateDisplayMode(labelOpt.displayMode);\r\n var overlappingMode = this._validateOverlappingMode(labelOpt.overlappingBehavior, displayMode);\r\n var ignoreOverlapping = \"none\" === overlappingMode || \"ignore\" === overlappingMode;\r\n var behavior = {\r\n rotationAngle: labelOpt.rotationAngle,\r\n staggeringSpacing: labelOpt.staggeringSpacing\r\n };\r\n var notRecastStep;\r\n var boxes = this._majorTicks.map((function(tick) {\r\n return tick.labelBBox\r\n }));\r\n var step = this._getStep(boxes);\r\n switch (displayMode) {\r\n case ROTATE:\r\n if (ignoreOverlapping) {\r\n notRecastStep = true;\r\n step = 1\r\n }\r\n this._applyLabelMode(displayMode, step, boxes, labelOpt, notRecastStep);\r\n break;\r\n case \"stagger\":\r\n if (ignoreOverlapping) {\r\n step = 2\r\n }\r\n this._applyLabelMode(displayMode, _max(step, 2), boxes, labelOpt);\r\n break;\r\n default:\r\n this._applyLabelOverlapping(boxes, overlappingMode, step, behavior)\r\n }\r\n },\r\n _applyLabelOverlapping: function(boxes, mode, step, behavior) {\r\n var labelOpt = this._options.label;\r\n var majorTicks = this._majorTicks;\r\n if (\"none\" === mode || \"ignore\" === mode) {\r\n return\r\n }\r\n if (step > 1 && boxes.some((function(box, index, array) {\r\n if (0 === index) {\r\n return false\r\n }\r\n return constants.areLabelsOverlap(box, array[index - 1], labelOpt.minSpacing, labelOpt.alignment)\r\n }))) {\r\n this._applyLabelMode(mode, step, boxes, behavior)\r\n }\r\n this._checkBoundedLabelsOverlapping(majorTicks, boxes, mode);\r\n this._checkShiftedLabels(majorTicks, boxes, labelOpt.minSpacing, labelOpt.alignment)\r\n },\r\n _applyLabelMode: function(mode, step, boxes, behavior, notRecastStep) {\r\n var majorTicks = this._majorTicks;\r\n var labelOpt = this._options.label;\r\n var angle = behavior.rotationAngle;\r\n var labelHeight;\r\n var alignment;\r\n var func;\r\n switch (mode) {\r\n case ROTATE:\r\n if (!labelOpt.userAlignment) {\r\n alignment = angle < 0 ? RIGHT : LEFT;\r\n if (angle % 90 === 0) {\r\n alignment = CENTER\r\n }\r\n }\r\n step = notRecastStep ? step : this._getStep(boxes, angle);\r\n func = function(tick) {\r\n var contentContainer = tick.getContentContainer();\r\n if (!contentContainer) {\r\n return\r\n }\r\n contentContainer.rotate(angle);\r\n tick.labelRotationAngle = angle;\r\n alignment && (tick.labelAlignment = alignment)\r\n };\r\n updateLabels(majorTicks, step, func);\r\n break;\r\n case \"stagger\":\r\n labelHeight = this._getMaxLabelHeight(boxes, behavior.staggeringSpacing);\r\n func = function(tick, index) {\r\n if (index / (step - 1) % 2 !== 0) {\r\n tick.labelOffset = labelHeight\r\n }\r\n };\r\n updateLabels(majorTicks, step - 1, func);\r\n break;\r\n case \"auto\":\r\n case \"_auto\":\r\n if (2 === step) {\r\n this._applyLabelMode(\"stagger\", step, boxes, behavior)\r\n } else {\r\n this._applyLabelMode(ROTATE, step, boxes, {\r\n rotationAngle: getOptimalAngle(boxes, labelOpt)\r\n })\r\n }\r\n break;\r\n default:\r\n updateLabels(majorTicks, step)\r\n }\r\n },\r\n getMarkerTrackers: _noop,\r\n _drawDateMarkers: _noop,\r\n _adjustDateMarkers: _noop,\r\n coordsIn: _noop,\r\n areCoordsOutsideAxis: _noop,\r\n _getSkippedCategory: _noop,\r\n _initAxisPositions: _noop,\r\n _drawTitle: _noop,\r\n _updateTitleCoords: _noop,\r\n _adjustConstantLineLabels: _noop,\r\n _createTranslator: function() {\r\n return new Translator2D({}, {}, {})\r\n },\r\n _updateTranslator: function() {\r\n var translator = this._translator;\r\n translator.update(translator.getBusinessRange(), this._canvas || {}, this._getTranslatorOptions())\r\n },\r\n _getTranslatorOptions: function() {\r\n var _options$workWeek2, _options$breakStyle$w, _options$breakStyle;\r\n var options = this._options;\r\n return {\r\n isHorizontal: this._isHorizontal,\r\n shiftZeroValue: !this.isArgumentAxis,\r\n interval: options.semiDiscreteInterval,\r\n firstDayOfWeek: null === (_options$workWeek2 = options.workWeek) || void 0 === _options$workWeek2 ? void 0 : _options$workWeek2[0],\r\n stick: this._getStick(),\r\n breaksSize: null !== (_options$breakStyle$w = null === (_options$breakStyle = options.breakStyle) || void 0 === _options$breakStyle ? void 0 : _options$breakStyle.width) && void 0 !== _options$breakStyle$w ? _options$breakStyle$w : 0\r\n }\r\n },\r\n getVisibleArea() {\r\n var canvas = this._getCanvasStartEnd();\r\n return [canvas.start, canvas.end].sort((a, b) => a - b)\r\n },\r\n _getCanvasStartEnd: function() {\r\n var isHorizontal = this._isHorizontal;\r\n var canvas = this._canvas || {};\r\n var invert = this._translator.getBusinessRange().invert;\r\n var coords = isHorizontal ? [canvas.left, canvas.width - canvas.right] : [canvas.height - canvas.bottom, canvas.top];\r\n invert && coords.reverse();\r\n return {\r\n start: coords[0],\r\n end: coords[1]\r\n }\r\n },\r\n _getScreenDelta: function() {\r\n var canvas = this._getCanvasStartEnd();\r\n var breaks = this._seriesData ? this._seriesData.breaks || [] : [];\r\n var breaksLength = breaks.length;\r\n var screenDelta = _abs(canvas.start - canvas.end);\r\n return screenDelta - (breaksLength ? breaks[breaksLength - 1].cumulativeWidth : 0)\r\n },\r\n _getScaleBreaks: function() {\r\n return []\r\n },\r\n _filterBreaks: function() {\r\n return []\r\n },\r\n _adjustTitle: _noop,\r\n _checkTitleOverflow: _noop,\r\n getSpiderTicks: _noop,\r\n setSpiderTicks: _noop,\r\n _checkBoundedLabelsOverlapping: _noop,\r\n _checkShiftedLabels: _noop,\r\n drawScaleBreaks: _noop,\r\n _visualRange: _noop,\r\n _rotateConstantLine: _noop,\r\n applyVisualRangeSetter(visualRangeSetter) {\r\n this._visualRange = visualRangeSetter\r\n },\r\n getCategoriesSorter(argCategories) {\r\n var sort;\r\n if (this.isArgumentAxis) {\r\n sort = argCategories\r\n } else {\r\n var categoriesSortingMethod = this._options.categoriesSortingMethod;\r\n sort = null !== categoriesSortingMethod && void 0 !== categoriesSortingMethod ? categoriesSortingMethod : this._options.categories\r\n }\r\n return sort\r\n },\r\n _getAdjustedBusinessRange() {\r\n return this.adjustViewport(this._translator.getBusinessRange())\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/axes/strip.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n patchFontOptions\r\n} from \"../core/utils\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nexport default function createStrip(axis, options) {\r\n var storedCoord;\r\n var lastStoredCoordinates;\r\n var labelOptions = options.label || {};\r\n return {\r\n options: options,\r\n label: null,\r\n rect: null,\r\n _getCoord() {\r\n var canvas = axis._getCanvasStartEnd();\r\n var range = axis._translator.getBusinessRange();\r\n return axis._getStripPos(options.startValue, options.endValue, canvas.start, canvas.end, range)\r\n },\r\n _drawLabel: coords => axis._renderer.text(labelOptions.text, coords.x, coords.y).css(patchFontOptions(extend({}, axis.getOptions().label.font, labelOptions.font))).attr({\r\n align: \"center\",\r\n class: labelOptions.cssClass\r\n }).append(axis._axisStripLabelGroup),\r\n draw() {\r\n if (axis._translator.getBusinessRange().isEmpty()) {\r\n return\r\n }\r\n if ((isDefined(options.startValue) || isDefined(options.endValue)) && isDefined(options.color)) {\r\n var stripPos = this._getCoord();\r\n this.labelCoords = labelOptions.text ? axis._getStripLabelCoords(stripPos.from, stripPos.to, labelOptions) : null;\r\n if (stripPos.outOfCanvas || !isDefined(stripPos.to) || !isDefined(stripPos.from)) {\r\n return\r\n }\r\n this.rect = axis._createStrip(axis._getStripGraphicAttributes(stripPos.from, stripPos.to)).attr({\r\n fill: options.color\r\n }).append(axis._axisStripGroup);\r\n this.label = labelOptions.text ? this._drawLabel(this.labelCoords) : null\r\n }\r\n },\r\n getContentContainer() {\r\n return this.label\r\n },\r\n removeLabel() {},\r\n updatePosition(animate) {\r\n var stripPos = this._getCoord();\r\n if (animate && storedCoord) {\r\n this.label && this.label.attr(axis._getStripLabelCoords(storedCoord.from, storedCoord.to, options.label));\r\n this.rect && this.rect.attr(axis._getStripGraphicAttributes(storedCoord.from, storedCoord.to));\r\n this.label && this.label.animate(axis._getStripLabelCoords(stripPos.from, stripPos.to, options.label));\r\n this.rect && this.rect.animate(axis._getStripGraphicAttributes(stripPos.from, stripPos.to))\r\n } else {\r\n this.label && this.label.attr(axis._getStripLabelCoords(stripPos.from, stripPos.to, options.label));\r\n this.rect && this.rect.attr(axis._getStripGraphicAttributes(stripPos.from, stripPos.to))\r\n }\r\n },\r\n saveCoords() {\r\n lastStoredCoordinates = storedCoord;\r\n storedCoord = this._getCoord()\r\n },\r\n resetCoordinates() {\r\n storedCoord = lastStoredCoordinates\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/axes/constant_line.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nexport default function createConstantLine(axis, options) {\r\n var labelOptions = options.label || {};\r\n var labelPosition = labelOptions.position || \"inside\";\r\n var parsedValue;\r\n var valueIsParsed = false;\r\n var lastStoredCoordinates;\r\n axis._checkAlignmentConstantLineLabels(labelOptions);\r\n var storedCoord;\r\n return {\r\n options: options,\r\n labelOptions: labelOptions,\r\n labelPosition: labelPosition,\r\n label: null,\r\n line: null,\r\n getParsedValue() {\r\n if (!valueIsParsed) {\r\n parsedValue = axis.validateUnit(options.value, \"E2105\", \"constantLine\");\r\n valueIsParsed = true;\r\n return parsedValue\r\n }\r\n return parsedValue\r\n },\r\n draw() {\r\n if (!isDefined(options.value) || axis._translator.getBusinessRange().isEmpty()) {\r\n return this\r\n }\r\n var canvas = axis._getCanvasStartEnd();\r\n var parsedValue = this.getParsedValue();\r\n this.coord = axis._getConstantLinePos(parsedValue, canvas.start, canvas.end);\r\n var rootGroup = options.displayBehindSeries ? axis._axisConstantLineGroups.under : axis._axisConstantLineGroups.above;\r\n var group = rootGroup[labelPosition];\r\n if (!group) {\r\n var side = axis._isHorizontal ? labelOptions.verticalAlignment : labelOptions.horizontalAlignment;\r\n group = rootGroup[side]\r\n }\r\n if (!isDefined(this.coord)) {\r\n return this\r\n }\r\n var path = axis._createConstantLine(this.coord, {\r\n stroke: options.color,\r\n \"stroke-width\": options.width,\r\n dashStyle: options.dashStyle\r\n });\r\n this.line = path.append(rootGroup.inside);\r\n this.label = labelOptions.visible ? axis._drawConstantLineLabels(parsedValue, labelOptions, this.coord, group) : null;\r\n this.updatePosition();\r\n return this\r\n },\r\n getContentContainer() {\r\n return this.label\r\n },\r\n removeLabel() {\r\n this.label && this.label.remove()\r\n },\r\n updatePosition(animate) {\r\n var canvas = axis._getCanvasStartEnd();\r\n var coord = axis._getConstantLinePos(this.getParsedValue(), canvas.start, canvas.end);\r\n if (!isDefined(coord)) {\r\n return\r\n }\r\n this.coord = coord;\r\n if (animate && storedCoord) {\r\n this.label && this.label.attr(axis._getConstantLineLabelsCoords(storedCoord, this.labelOptions));\r\n this.line && this.line.attr(axis._getConstantLineGraphicAttributes(storedCoord));\r\n this.label && this.label.animate(axis._getConstantLineLabelsCoords(this.coord, this.labelOptions));\r\n this.line && this.line.animate(axis._getConstantLineGraphicAttributes(this.coord))\r\n } else {\r\n this.label && this.label.attr(axis._getConstantLineLabelsCoords(this.coord, this.labelOptions));\r\n this.line && this.line.attr(axis._getConstantLineGraphicAttributes(this.coord));\r\n axis._rotateConstantLine(this.line, this.coord)\r\n }\r\n },\r\n saveCoords() {\r\n lastStoredCoordinates = storedCoord;\r\n storedCoord = this.coord\r\n },\r\n resetCoordinates() {\r\n storedCoord = lastStoredCoordinates\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/axes/smart_formatter.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport formatHelper from \"../../format_helper\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isExponential,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport {\r\n adjust,\r\n getPrecision,\r\n getExponent\r\n} from \"../../core/utils/math\";\r\nimport {\r\n getAdjustedLog10 as log10\r\n} from \"../core/utils\";\r\nvar _format = formatHelper.format;\r\nvar {\r\n abs: abs,\r\n floor: floor\r\n} = Math;\r\nvar EXPONENTIAL = \"exponential\";\r\nvar formats = [\"fixedPoint\", \"thousands\", \"millions\", \"billions\", \"trillions\", EXPONENTIAL];\r\nvar dateUnitIntervals = [\"millisecond\", \"second\", \"minute\", \"hour\", \"day\", \"month\", \"year\"];\r\n\r\nfunction getDatesDifferences(prevDate, curDate, nextDate, tickFormat) {\r\n var prevDifferences;\r\n var nextDifferences;\r\n var dateUnitInterval;\r\n var dateUnitsLength = dateUnitIntervals.length;\r\n var i;\r\n var j;\r\n if (\"week\" === tickFormat) {\r\n tickFormat = \"day\"\r\n } else if (\"quarter\" === tickFormat) {\r\n tickFormat = \"month\"\r\n } else if (\"shorttime\" === tickFormat) {\r\n tickFormat = \"hour\"\r\n } else if (\"longtime\" === tickFormat) {\r\n tickFormat = \"second\"\r\n }\r\n var tickFormatIndex = dateUnitIntervals.indexOf(tickFormat);\r\n if (nextDate) {\r\n nextDifferences = dateUtils.getDatesDifferences(curDate, nextDate);\r\n prevDifferences = dateUtils.getDatesDifferences(curDate, prevDate);\r\n if (nextDifferences[tickFormat]) {\r\n for (i = dateUnitsLength - 1; i >= tickFormatIndex; i--) {\r\n dateUnitInterval = dateUnitIntervals[i];\r\n if (i === tickFormatIndex) {\r\n setDateUnitInterval(nextDifferences, tickFormatIndex + (nextDifferences.millisecond ? 2 : 1))\r\n } else if (nextDifferences[dateUnitInterval]) {\r\n resetDateUnitInterval(nextDifferences, i);\r\n break\r\n }\r\n }\r\n }\r\n } else {\r\n prevDifferences = dateUtils.getDatesDifferences(prevDate, curDate);\r\n for (i = dateUnitsLength - 1; i >= tickFormatIndex; i--) {\r\n dateUnitInterval = dateUnitIntervals[i];\r\n if (prevDifferences[dateUnitInterval]) {\r\n if (i - tickFormatIndex > 1) {\r\n for (j = tickFormatIndex + 1; j >= 0; j--) {\r\n resetDateUnitInterval(prevDifferences, j)\r\n }\r\n break\r\n } else if (isDateTimeStart(curDate, dateUnitInterval)) {\r\n for (j = i - 1; j > 0; j--) {\r\n resetDateUnitInterval(prevDifferences, j)\r\n }\r\n break\r\n }\r\n }\r\n }\r\n }\r\n return nextDate ? nextDifferences : prevDifferences\r\n}\r\n\r\nfunction isDateTimeStart(date, dateUnitInterval) {\r\n var unitNumbers = [date.getMilliseconds(), date.getSeconds(), date.getMinutes(), date.getHours(), date.getDate(), date.getMonth()];\r\n var unitIndex = dateUnitIntervals.indexOf(dateUnitInterval);\r\n var i;\r\n for (i = 0; i < unitIndex; i++) {\r\n if (4 === i && 1 !== unitNumbers[i] || 4 !== i && 0 !== unitNumbers[i]) {\r\n return false\r\n }\r\n }\r\n return true\r\n}\r\n\r\nfunction resetDateUnitInterval(differences, intervalIndex) {\r\n var dateUnitInterval = dateUnitIntervals[intervalIndex];\r\n if (differences[dateUnitInterval]) {\r\n differences[dateUnitInterval] = false;\r\n differences.count--\r\n }\r\n}\r\n\r\nfunction setDateUnitInterval(differences, intervalIndex) {\r\n var dateUnitInterval = dateUnitIntervals[intervalIndex];\r\n if (false === differences[dateUnitInterval]) {\r\n differences[dateUnitInterval] = true;\r\n differences.count++\r\n }\r\n}\r\n\r\nfunction getNoZeroIndex(str) {\r\n return str.length - parseInt(str).toString().length\r\n}\r\n\r\nfunction getTransitionTickIndex(ticks, value) {\r\n var i;\r\n var curDiff;\r\n var minDiff;\r\n var nearestTickIndex = 0;\r\n minDiff = abs(value - ticks[0]);\r\n for (i = 1; i < ticks.length; i++) {\r\n curDiff = abs(value - ticks[i]);\r\n if (curDiff < minDiff) {\r\n minDiff = curDiff;\r\n nearestTickIndex = i\r\n }\r\n }\r\n return nearestTickIndex\r\n}\r\n\r\nfunction splitDecimalNumber(value) {\r\n return value.toString().split(\".\")\r\n}\r\n\r\nfunction createFormat(type) {\r\n var formatter;\r\n if (isFunction(type)) {\r\n formatter = type;\r\n type = null\r\n }\r\n return {\r\n type: type,\r\n formatter: formatter\r\n }\r\n}\r\n\r\nfunction formatLogarithmicNumber(tick) {\r\n var log10Tick = log10(abs(tick));\r\n var type;\r\n if (log10Tick > 0) {\r\n type = formats[floor(log10Tick / 3)] || EXPONENTIAL\r\n } else if (log10Tick < -4) {\r\n type = EXPONENTIAL\r\n } else {\r\n return _format(adjust(tick))\r\n }\r\n return _format(tick, {\r\n type: type,\r\n precision: 0\r\n })\r\n}\r\n\r\nfunction getDateTimeFormat(tick, _ref) {\r\n var {\r\n showTransition: showTransition,\r\n ticks: ticks,\r\n tickInterval: tickInterval\r\n } = _ref;\r\n var typeFormat = dateUtils.getDateFormatByTickInterval(tickInterval);\r\n var prevDateIndex;\r\n var nextDateIndex;\r\n if (showTransition && ticks.length) {\r\n var indexOfTick = ticks.map(Number).indexOf(+tick);\r\n if (1 === ticks.length && 0 === indexOfTick) {\r\n typeFormat = formatHelper.getDateFormatByTicks(ticks)\r\n } else {\r\n if (-1 === indexOfTick) {\r\n prevDateIndex = getTransitionTickIndex(ticks, tick)\r\n } else {\r\n prevDateIndex = 0 === indexOfTick ? ticks.length - 1 : indexOfTick - 1;\r\n nextDateIndex = 0 === indexOfTick ? 1 : -1\r\n }\r\n var datesDifferences = getDatesDifferences(ticks[prevDateIndex], tick, ticks[nextDateIndex], typeFormat);\r\n typeFormat = formatHelper.getDateFormatByDifferences(datesDifferences, typeFormat)\r\n }\r\n }\r\n return createFormat(typeFormat)\r\n}\r\n\r\nfunction getFormatExponential(tick, tickInterval) {\r\n var stringTick = abs(tick).toString();\r\n if (!isExponential(tick)) {\r\n return abs(getNoZeroIndex(stringTick.split(\".\")[1]) - getExponent(tickInterval) + 1)\r\n } else {\r\n return Math.max(abs(getExponent(tick) - getExponent(tickInterval)), abs(getPrecision(tick) - getPrecision(tickInterval)))\r\n }\r\n}\r\n\r\nfunction getFormatWithModifier(tick, tickInterval) {\r\n var tickIntervalIndex = floor(log10(tickInterval));\r\n var tickIndex;\r\n var typeFormat;\r\n var precision = 0;\r\n var actualIndex = tickIndex = floor(log10(abs(tick)));\r\n if (tickIndex - tickIntervalIndex >= 2) {\r\n actualIndex = tickIntervalIndex\r\n }\r\n var indexOfFormat = floor(actualIndex / 3);\r\n var offset = 3 * indexOfFormat;\r\n if (indexOfFormat < 5) {\r\n if (tickIntervalIndex - offset === 2 && tickIndex >= 3) {\r\n indexOfFormat++;\r\n offset = 3 * indexOfFormat\r\n }\r\n typeFormat = formats[indexOfFormat]\r\n } else {\r\n typeFormat = formats[formats.length - 1]\r\n }\r\n if (offset > 0) {\r\n var separatedTickInterval = splitDecimalNumber(tickInterval / Math.pow(10, offset));\r\n if (separatedTickInterval[1]) {\r\n precision = separatedTickInterval[1].length\r\n }\r\n }\r\n return {\r\n precision: precision,\r\n type: typeFormat\r\n }\r\n}\r\n\r\nfunction getHighDiffFormat(diff) {\r\n var stop = false;\r\n for (var i in diff) {\r\n if (true === diff[i] || \"hour\" === i || stop) {\r\n diff[i] = false;\r\n stop = true\r\n } else if (false === diff[i]) {\r\n diff[i] = true\r\n }\r\n }\r\n return createFormat(formatHelper.getDateFormatByDifferences(diff))\r\n}\r\n\r\nfunction getHighAndSelfDiffFormat(diff, interval) {\r\n var stop = false;\r\n for (var i in diff) {\r\n if (stop) {\r\n diff[i] = false\r\n } else if (i === interval) {\r\n stop = true\r\n } else {\r\n diff[i] = true\r\n }\r\n }\r\n return createFormat(formatHelper.getDateFormatByDifferences(diff))\r\n}\r\n\r\nfunction formatDateRange(startValue, endValue, tickInterval) {\r\n var diff = getDatesDifferences(startValue, endValue);\r\n var typeFormat = dateUtils.getDateFormatByTickInterval(tickInterval);\r\n var diffFormatType = formatHelper.getDateFormatByDifferences(diff, typeFormat);\r\n var diffFormat = createFormat(diffFormatType);\r\n var values = [];\r\n if (tickInterval in diff) {\r\n var rangeFormat = getHighAndSelfDiffFormat(getDatesDifferences(startValue, endValue), tickInterval);\r\n var value = _format(startValue, rangeFormat);\r\n if (value) {\r\n values.push(value)\r\n }\r\n } else {\r\n var _rangeFormat = getHighDiffFormat(getDatesDifferences(startValue, endValue));\r\n var highValue = _format(startValue, _rangeFormat);\r\n if (highValue) {\r\n values.push(highValue)\r\n }\r\n values.push(\"\".concat(_format(startValue, diffFormat), \" - \").concat(_format(endValue, diffFormat)))\r\n }\r\n return values.join(\", \")\r\n}\r\n\r\nfunction processDateInterval(interval) {\r\n if (isObject(interval)) {\r\n var dateUnits = Object.keys(interval);\r\n var sum = dateUnits.reduce((sum, k) => interval[k] + sum, 0);\r\n if (1 === sum) {\r\n var dateUnit = dateUnits.filter(k => 1 === interval[k])[0];\r\n return dateUnit.slice(0, dateUnit.length - 1)\r\n }\r\n }\r\n return interval\r\n}\r\nexport function smartFormatter(tick, options) {\r\n var tickInterval = options.tickInterval;\r\n var stringTick = abs(tick).toString();\r\n var format = options.labelOptions.format;\r\n var ticks = options.ticks;\r\n var isLogarithmic = \"logarithmic\" === options.type;\r\n if (1 === ticks.length && 0 === ticks.indexOf(tick) && !isDefined(tickInterval)) {\r\n tickInterval = abs(tick) >= 1 ? 1 : adjust(1 - abs(tick), tick)\r\n }\r\n if (Object.is(tick, -0)) {\r\n tick = 0\r\n }\r\n if (!isDefined(format) && \"discrete\" !== options.type && tick && (10 === options.logarithmBase || !isLogarithmic)) {\r\n if (\"datetime\" !== options.dataType && isDefined(tickInterval)) {\r\n if (ticks.length && -1 === ticks.indexOf(tick)) {\r\n var indexOfTick = getTransitionTickIndex(ticks, tick);\r\n tickInterval = adjust(abs(tick - ticks[indexOfTick]), tick)\r\n }\r\n if (isLogarithmic) {\r\n return formatLogarithmicNumber(tick)\r\n } else {\r\n var separatedTickInterval = splitDecimalNumber(tickInterval);\r\n if (separatedTickInterval < 2) {\r\n separatedTickInterval = splitDecimalNumber(tick)\r\n }\r\n if (separatedTickInterval.length > 1 && !isExponential(tickInterval)) {\r\n format = {\r\n type: formats[0],\r\n precision: separatedTickInterval[1].length\r\n }\r\n } else if (isExponential(tickInterval) && (-1 !== stringTick.indexOf(\".\") || isExponential(tick))) {\r\n format = {\r\n type: EXPONENTIAL,\r\n precision: getFormatExponential(tick, tickInterval)\r\n }\r\n } else {\r\n format = getFormatWithModifier(tick, tickInterval)\r\n }\r\n }\r\n } else if (\"datetime\" === options.dataType) {\r\n format = getDateTimeFormat(tick, options)\r\n }\r\n }\r\n return _format(tick, format)\r\n}\r\nexport function formatRange(_ref2) {\r\n var {\r\n startValue: startValue,\r\n endValue: endValue,\r\n tickInterval: tickInterval,\r\n argumentFormat: argumentFormat,\r\n axisOptions: {\r\n dataType: dataType,\r\n type: type,\r\n logarithmBase: logarithmBase\r\n }\r\n } = _ref2;\r\n if (\"discrete\" === type) {\r\n return \"\"\r\n }\r\n if (\"datetime\" === dataType) {\r\n return formatDateRange(startValue, endValue, processDateInterval(tickInterval))\r\n }\r\n var formatOptions = {\r\n ticks: [],\r\n type: type,\r\n dataType: dataType,\r\n tickInterval: tickInterval,\r\n logarithmBase: logarithmBase,\r\n labelOptions: {\r\n format: argumentFormat\r\n }\r\n };\r\n return \"\".concat(smartFormatter(startValue, formatOptions), \" - \").concat(smartFormatter(endValue, formatOptions))\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/axes/tick_generator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getLogExt as getLog,\r\n getCategoriesInfo,\r\n raiseToExt,\r\n getLog as mathLog,\r\n raiseTo as mathRaise\r\n} from \"../core/utils\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport {\r\n isDefined,\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n adjust,\r\n sign\r\n} from \"../../core/utils/math\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nvar convertDateUnitToMilliseconds = dateUtils.convertDateUnitToMilliseconds;\r\nvar dateToMilliseconds = dateUtils.dateToMilliseconds;\r\nvar math = Math;\r\nvar mathAbs = math.abs;\r\nvar mathFloor = math.floor;\r\nvar mathCeil = math.ceil;\r\nvar mathPow = math.pow;\r\nvar NUMBER_MULTIPLIERS = [1, 2, 2.5, 5];\r\nvar LOGARITHMIC_MULTIPLIERS = [1, 2, 3, 5];\r\nvar DATETIME_MULTIPLIERS = {\r\n millisecond: [1, 2, 5, 10, 25, 50, 100, 250, 500],\r\n second: [1, 2, 3, 5, 10, 15, 20, 30],\r\n minute: [1, 2, 3, 5, 10, 15, 20, 30],\r\n hour: [1, 2, 3, 4, 6, 8, 12],\r\n day: [1, 2],\r\n week: [1, 2],\r\n month: [1, 2, 3, 6]\r\n};\r\nvar DATETIME_MULTIPLIERS_WITH_BIG_WEEKEND = extend({}, DATETIME_MULTIPLIERS, {\r\n day: [1]\r\n});\r\nvar DATETIME_MINOR_MULTIPLIERS = {\r\n millisecond: [1, 2, 5, 10, 25, 50, 100, 250, 500],\r\n second: [1, 2, 3, 5, 10, 15, 20, 30],\r\n minute: [1, 2, 3, 5, 10, 15, 20, 30],\r\n hour: [1, 2, 3, 4, 6, 8, 12],\r\n day: [1, 2, 3, 7, 14],\r\n month: [1, 2, 3, 6]\r\n};\r\nvar MINOR_DELIMITERS = [2, 4, 5, 8, 10];\r\nvar VISIBILITY_DELIMITER = 3;\r\nvar MINUTE = 6e4;\r\n\r\nfunction dummyGenerator(options) {\r\n return function(data, screenDelta, tickInterval, forceTickInterval) {\r\n var count = mathFloor(screenDelta / options.axisDivisionFactor);\r\n count = count < 1 ? 1 : count;\r\n var interval = screenDelta / count;\r\n return {\r\n ticks: interval > 0 ? Array.apply(null, new Array(count + 1)).map((_, i) => interval * i) : [],\r\n tickInterval: interval\r\n }\r\n }\r\n}\r\n\r\nfunction discreteGenerator(options) {\r\n return function(data, screenDelta, tickInterval, forceTickInterval) {\r\n var categories = getCategoriesInfo(data.categories, data.min, data.max).categories;\r\n return {\r\n ticks: categories,\r\n tickInterval: mathCeil(categories.length * options.axisDivisionFactor / screenDelta)\r\n }\r\n }\r\n}\r\nvar getValue = value => value;\r\nvar getLogValue = (base, allowNegatives, linearThreshold) => value => getLog(value, base, allowNegatives, linearThreshold);\r\nvar raiseTo = (base, allowNegatives, linearThreshold) => value => raiseToExt(value, base, allowNegatives, linearThreshold);\r\nvar mathRaiseTo = base => value => mathRaise(value, base);\r\nvar logAbsValue = base => value => 0 === value ? 0 : mathLog(mathAbs(value), base);\r\nvar correctValueByInterval = (post, round, getValue) => (value, interval) => adjust(post(round(adjust(getValue(value) / interval)) * interval));\r\n\r\nfunction correctMinValueByEndOnTick(floorFunc, ceilFunc, resolveEndOnTick, endOnTick) {\r\n if (isDefined(endOnTick)) {\r\n return endOnTick ? floorFunc : ceilFunc\r\n }\r\n return function(value, interval, businessViewInfo, forceEndOnTick) {\r\n var floorTickValue = floorFunc(value, interval);\r\n if (value - floorTickValue === 0 || !isDefined(businessViewInfo) || resolveEndOnTick(value, floorTickValue, interval, businessViewInfo) || forceEndOnTick) {\r\n return floorTickValue\r\n }\r\n return ceilFunc(value, interval)\r\n }\r\n}\r\n\r\nfunction resolveEndOnTick(curValue, tickValue, interval, businessViewInfo) {\r\n var prevTickDataDiff = interval - mathAbs(tickValue - curValue);\r\n var intervalCount = math.max(mathCeil(businessViewInfo.businessDelta / interval), 2);\r\n var businessRatio = businessViewInfo.screenDelta / (intervalCount * interval);\r\n var potentialTickScreenDiff = math.round(businessRatio * prevTickDataDiff);\r\n var delimiterFactor = getLog(businessRatio * interval / businessViewInfo.axisDivisionFactor, 2) + 1;\r\n var delimiterMultiplier = (businessViewInfo.isSpacedMargin ? 2 : 1) * delimiterFactor;\r\n var screenDelimiter = math.round(VISIBILITY_DELIMITER * delimiterMultiplier);\r\n return businessViewInfo.businessDelta > businessViewInfo.interval && potentialTickScreenDiff >= screenDelimiter\r\n}\r\n\r\nfunction resolveEndOnTickLog(base) {\r\n return function(curValue, tickValue, interval, businessViewInfo) {\r\n return resolveEndOnTick(getLog(curValue, base), getLog(tickValue, base), interval, businessViewInfo)\r\n }\r\n}\r\n\r\nfunction resolveEndOnTickDate(curValue, tickValue, interval, businessViewInfo) {\r\n return resolveEndOnTick(curValue.valueOf(), tickValue.valueOf(), dateToMilliseconds(interval), businessViewInfo)\r\n}\r\n\r\nfunction getBusinessDelta(data, breaks) {\r\n var spacing = 0;\r\n if (breaks) {\r\n spacing = breaks.reduce((prev, item) => prev + (item.to - item.from), 0)\r\n }\r\n return mathAbs(data.max - data.min - spacing)\r\n}\r\n\r\nfunction getBusinessDeltaLog(base, allowNegatives, linearThreshold) {\r\n var getLog = getLogValue(base, allowNegatives, linearThreshold);\r\n return function(data, breaks) {\r\n var spacing = 0;\r\n if (breaks) {\r\n spacing = breaks.reduce((prev, item) => prev + mathAbs(getLog(item.to / item.from)), 0)\r\n }\r\n return mathCeil(mathAbs(getLog(data.max) - getLog(data.min)) - spacing)\r\n }\r\n}\r\n\r\nfunction getIntervalByFactor(businessDelta, screenDelta, axisDivisionFactor, addTickCount) {\r\n var count = screenDelta / axisDivisionFactor - (addTickCount || 0);\r\n count = count < 1 ? 1 : count;\r\n return businessDelta / count\r\n}\r\n\r\nfunction getMultiplierFactor(interval, factorDelta) {\r\n return mathPow(10, mathFloor(getLog(interval, 10)) + (factorDelta || 0))\r\n}\r\n\r\nfunction calculateTickInterval(businessDelta, screenDelta, tickInterval, forceTickInterval, axisDivisionFactor, multipliers, allowDecimals, addTickCount, _, minTickInterval) {\r\n var interval = getIntervalByFactor(businessDelta, screenDelta, axisDivisionFactor, addTickCount);\r\n var result = 1;\r\n var onlyIntegers = false === allowDecimals;\r\n if (!forceTickInterval || !tickInterval) {\r\n if (interval >= 1 || !onlyIntegers && interval > 0) {\r\n result = adjustInterval(interval, multipliers, onlyIntegers)\r\n }\r\n if (!tickInterval || !forceTickInterval && tickInterval < result) {\r\n tickInterval = result\r\n }\r\n }\r\n if (!forceTickInterval && minTickInterval) {\r\n minTickInterval = adjustInterval(minTickInterval, multipliers, onlyIntegers);\r\n if (minTickInterval > tickInterval) {\r\n tickInterval = minTickInterval\r\n }\r\n }\r\n return tickInterval\r\n}\r\n\r\nfunction adjustInterval(interval, multipliers, onlyIntegers) {\r\n var factor = getMultiplierFactor(interval, -1);\r\n var result = 1;\r\n multipliers = multipliers || NUMBER_MULTIPLIERS;\r\n if (interval > 0) {\r\n interval /= factor;\r\n result = multipliers.concat(10 * multipliers[0]).map(m => 10 * m).reduce((r, m) => {\r\n if (.1 === factor && onlyIntegers && 25 === m) {\r\n return r\r\n }\r\n return r < interval ? m : r\r\n }, 0);\r\n result = adjust(result * factor, factor)\r\n }\r\n return result\r\n}\r\n\r\nfunction calculateMinorTickInterval(businessDelta, screenDelta, tickInterval, axisDivisionFactor) {\r\n var interval = getIntervalByFactor(businessDelta, screenDelta, axisDivisionFactor);\r\n return tickInterval || MINOR_DELIMITERS.reduce((r, d) => {\r\n var cur = businessDelta / d;\r\n return cur >= interval ? cur : r\r\n }, 0)\r\n}\r\n\r\nfunction getCalculateTickIntervalLog(skipCalculationLimits) {\r\n return function(businessDelta, screenDelta, tickInterval, forceTickInterval, axisDivisionFactor, multipliers, allowDecimals, _, __, minTickInterval) {\r\n var interval = getIntervalByFactor(businessDelta, screenDelta, axisDivisionFactor);\r\n var result = 0;\r\n var adjustInterval = getAdjustIntervalLog(skipCalculationLimits);\r\n if (!forceTickInterval || !tickInterval) {\r\n if (interval > 0) {\r\n result = adjustInterval(interval, multipliers)\r\n }\r\n if (!tickInterval || !forceTickInterval && tickInterval < result) {\r\n tickInterval = result\r\n }\r\n }\r\n if (!forceTickInterval && minTickInterval) {\r\n minTickInterval = adjustInterval(minTickInterval, multipliers);\r\n if (minTickInterval > tickInterval) {\r\n tickInterval = minTickInterval\r\n }\r\n }\r\n return tickInterval\r\n }\r\n}\r\n\r\nfunction getAdjustIntervalLog(skipCalculationLimits) {\r\n return function(interval, multipliers) {\r\n var factor = getMultiplierFactor(interval);\r\n multipliers = multipliers || LOGARITHMIC_MULTIPLIERS;\r\n if (!skipCalculationLimits && factor < 1) {\r\n factor = 1\r\n }\r\n return multipliers.concat(10 * multipliers[0]).reduce((r, m) => r < interval ? m * factor : r, 0)\r\n }\r\n}\r\n\r\nfunction getDataTimeMultipliers(gapSize) {\r\n if (gapSize && gapSize > 2) {\r\n return DATETIME_MULTIPLIERS_WITH_BIG_WEEKEND\r\n } else {\r\n return DATETIME_MULTIPLIERS\r\n }\r\n}\r\n\r\nfunction numbersReducer(interval, key) {\r\n return function(r, m) {\r\n if (!r && interval <= convertDateUnitToMilliseconds(key, m)) {\r\n r = {};\r\n r[key + \"s\"] = m\r\n }\r\n return r\r\n }\r\n}\r\n\r\nfunction yearsReducer(interval, factor) {\r\n return function(r, m) {\r\n var years = factor * m;\r\n if (!r && interval <= convertDateUnitToMilliseconds(\"year\", years) && 2.5 !== years) {\r\n r = {\r\n years: years\r\n }\r\n }\r\n return r\r\n }\r\n}\r\n\r\nfunction calculateTickIntervalDateTime(businessDelta, screenDelta, tickInterval, forceTickInterval, axisDivisionFactor, multipliers, allowDecimals, addTickCount, gapSize, minTickInterval) {\r\n if (!forceTickInterval || !tickInterval) {\r\n var result = adjustIntervalDateTime(getIntervalByFactor(businessDelta, screenDelta, axisDivisionFactor), multipliers, null, gapSize);\r\n if (!tickInterval || !forceTickInterval && dateToMilliseconds(tickInterval) <= dateToMilliseconds(result)) {\r\n tickInterval = result\r\n }\r\n }\r\n if (!forceTickInterval && minTickInterval) {\r\n minTickInterval = adjustIntervalDateTime(minTickInterval, multipliers, null, gapSize);\r\n if (dateToMilliseconds(minTickInterval) > dateToMilliseconds(tickInterval)) {\r\n tickInterval = minTickInterval\r\n }\r\n }\r\n return tickInterval\r\n}\r\n\r\nfunction adjustIntervalDateTime(interval, multipliers, _, gapSize) {\r\n var result;\r\n multipliers = multipliers || getDataTimeMultipliers(gapSize);\r\n for (var key in multipliers) {\r\n result = multipliers[key].reduce(numbersReducer(interval, key), result);\r\n if (result) {\r\n break\r\n }\r\n }\r\n if (!result) {\r\n for (var factor = 1;; factor *= 10) {\r\n result = NUMBER_MULTIPLIERS.reduce(yearsReducer(interval, factor), result);\r\n if (result) {\r\n break\r\n }\r\n }\r\n }\r\n return result\r\n}\r\n\r\nfunction calculateMinorTickIntervalDateTime(businessDelta, screenDelta, tickInterval, axisDivisionFactor) {\r\n return calculateTickIntervalDateTime(businessDelta, screenDelta, tickInterval, true, axisDivisionFactor, DATETIME_MINOR_MULTIPLIERS)\r\n}\r\n\r\nfunction getTickIntervalByCustomTicks(getValue, postProcess) {\r\n return ticks => ticks ? postProcess(mathAbs(adjust(getValue(ticks[1]) - getValue(ticks[0])))) || void 0 : void 0\r\n}\r\n\r\nfunction addInterval(value, interval, isNegative) {\r\n return dateUtils.addInterval(value, interval, isNegative)\r\n}\r\n\r\nfunction addIntervalLog(log, raise) {\r\n return (value, interval, isNegative) => raise(addInterval(log(value), interval, isNegative))\r\n}\r\n\r\nfunction addIntervalDate(value, interval, isNegative) {\r\n return addInterval(value, interval, isNegative)\r\n}\r\n\r\nfunction addIntervalWithBreaks(addInterval, breaks, correctValue) {\r\n breaks = breaks.filter(b => !b.gapSize);\r\n return function(value, interval, isNegative) {\r\n var breakSize;\r\n value = addInterval(value, interval, isNegative);\r\n if (!breaks.every(item => {\r\n if (value >= addInterval(item.from, interval) && addInterval(value, interval) < item.to) {\r\n breakSize = item.to - item.from - 2 * (addInterval(item.from, interval) - item.from)\r\n }\r\n return !breakSize\r\n })) {\r\n value = correctValue(addInterval(value, breakSize), interval)\r\n }\r\n return value\r\n }\r\n}\r\n\r\nfunction calculateTicks(addInterval, correctMinValue, adjustInterval, resolveEndOnTick) {\r\n return function(data, tickInterval, endOnTick, gaps, breaks, businessDelta, screenDelta, axisDivisionFactor, generateExtraTick) {\r\n var correctTickValue = correctTickValueOnGapSize(addInterval, gaps);\r\n var min = data.min;\r\n var max = data.max;\r\n var businessViewInfo = {\r\n screenDelta: screenDelta,\r\n businessDelta: businessDelta,\r\n axisDivisionFactor: axisDivisionFactor,\r\n isSpacedMargin: data.isSpacedMargin,\r\n interval: tickInterval\r\n };\r\n var cur = correctMinValue(min, tickInterval, businessViewInfo);\r\n var ticks = [];\r\n if (null !== breaks && void 0 !== breaks && breaks.length) {\r\n addInterval = addIntervalWithBreaks(addInterval, breaks, correctMinValue)\r\n }\r\n if (cur > max) {\r\n cur = correctMinValue(min, adjustInterval(businessDelta / 2), businessViewInfo);\r\n if (cur > max) {\r\n endOnTick = true;\r\n cur = correctMinValue(min, tickInterval, businessViewInfo, endOnTick)\r\n }\r\n }\r\n cur = correctTickValue(cur);\r\n var prev;\r\n while (cur < max && cur !== prev || generateExtraTick && cur <= max) {\r\n ticks.push(cur);\r\n prev = cur;\r\n cur = correctTickValue(addInterval(cur, tickInterval))\r\n }\r\n if (endOnTick || cur - max === 0 || !isDefined(endOnTick) && resolveEndOnTick(max, cur, tickInterval, businessViewInfo)) {\r\n ticks.push(cur)\r\n }\r\n return ticks\r\n }\r\n}\r\n\r\nfunction calculateMinorTicks(updateTickInterval, addInterval, correctMinValue, correctTickValue, ceil) {\r\n return function(min, max, majorTicks, minorTickInterval, tickInterval, breaks, maxCount) {\r\n var factor = tickInterval / minorTickInterval;\r\n var lastMajor = majorTicks[majorTicks.length - 1];\r\n var firstMajor = majorTicks[0];\r\n var tickBalance = maxCount - 1;\r\n if (null !== breaks && void 0 !== breaks && breaks.length) {\r\n addInterval = addIntervalWithBreaks(addInterval, breaks, correctMinValue)\r\n }\r\n minorTickInterval = updateTickInterval(minorTickInterval, firstMajor, firstMajor, factor);\r\n if (0 === minorTickInterval) {\r\n return []\r\n }\r\n var cur = correctTickValue(correctMinValue(min, tickInterval, min), minorTickInterval);\r\n minorTickInterval = updateTickInterval(minorTickInterval, firstMajor, cur, factor);\r\n var ticks = [];\r\n while (cur < firstMajor && (!tickBalance || tickBalance > 0)) {\r\n cur >= min && ticks.push(cur);\r\n tickBalance--;\r\n cur = addInterval(cur, minorTickInterval)\r\n }\r\n var middleTicks = majorTicks.reduce((r, tick) => {\r\n tickBalance = maxCount - 1;\r\n if (null === r.prevTick) {\r\n r.prevTick = tick;\r\n return r\r\n }\r\n minorTickInterval = updateTickInterval(minorTickInterval, tick, r.prevTick, factor);\r\n var cur = correctTickValue(r.prevTick, minorTickInterval);\r\n while (cur < tick && (!tickBalance || tickBalance > 0)) {\r\n cur !== r.prevTick && r.minors.push(cur);\r\n tickBalance--;\r\n cur = addInterval(cur, minorTickInterval)\r\n }\r\n r.prevTick = tick;\r\n return r\r\n }, {\r\n prevTick: null,\r\n minors: []\r\n });\r\n ticks = ticks.concat(middleTicks.minors);\r\n var maxValue = ceil(max, tickInterval, min);\r\n minorTickInterval = updateTickInterval(minorTickInterval, maxValue, maxValue, factor);\r\n cur = correctTickValue(lastMajor, minorTickInterval);\r\n var prev;\r\n while (cur < max && cur !== prev) {\r\n ticks.push(cur);\r\n prev = cur;\r\n cur = addInterval(cur, minorTickInterval)\r\n }\r\n if (lastMajor - max !== 0 && cur - max === 0) {\r\n ticks.push(cur)\r\n }\r\n return ticks\r\n }\r\n}\r\n\r\nfunction filterTicks(ticks, breaks) {\r\n if (breaks.length) {\r\n var result = breaks.reduce((result, b) => {\r\n var tmpTicks = [];\r\n var i;\r\n for (i = result[1]; i < ticks.length; i++) {\r\n var tickValue = ticks[i];\r\n if (tickValue < b.from) {\r\n tmpTicks.push(tickValue)\r\n }\r\n if (tickValue >= b.to) {\r\n break\r\n }\r\n }\r\n return [result[0].concat(tmpTicks), i]\r\n }, [\r\n [], 0\r\n ]);\r\n return result[0].concat(ticks.slice(result[1]))\r\n }\r\n return ticks\r\n}\r\n\r\nfunction correctTickValueOnGapSize(addInterval, breaks) {\r\n return function(value) {\r\n var gapSize;\r\n if (!breaks.every(item => {\r\n if (value >= item.from && value < item.to) {\r\n gapSize = item.gapSize\r\n }\r\n return !gapSize\r\n })) {\r\n value = addInterval(value, gapSize)\r\n }\r\n return value\r\n }\r\n}\r\n\r\nfunction generator(options, getBusinessDelta, calculateTickInterval, calculateMinorTickInterval, getMajorTickIntervalByCustomTicks, getMinorTickIntervalByCustomTicks, convertTickInterval, calculateTicks, calculateMinorTicks, processScaleBreaks) {\r\n function correctUserTickInterval(tickInterval, businessDelta, limit) {\r\n if (tickInterval && businessDelta / convertTickInterval(tickInterval) >= limit + 1) {\r\n options.incidentOccurred(\"W2003\");\r\n tickInterval = void 0\r\n }\r\n return tickInterval\r\n }\r\n return function(data, screenDelta, tickInterval, forceTickInterval, customTicks, minorTickInterval, minorTickCount, breaks) {\r\n customTicks = customTicks || {};\r\n var businessDelta = getBusinessDelta(data, breaks);\r\n var result = function(customTicks) {\r\n return {\r\n tickInterval: getMajorTickIntervalByCustomTicks(customTicks.majors),\r\n ticks: customTicks.majors || [],\r\n minorTickInterval: getMinorTickIntervalByCustomTicks(customTicks.minors),\r\n minorTicks: customTicks.minors || []\r\n }\r\n }(customTicks);\r\n if (!isNaN(businessDelta)) {\r\n if (0 === businessDelta && !customTicks.majors) {\r\n result.ticks = [data.min]\r\n } else {\r\n result = function(ticks, data, businessDelta, screenDelta, tickInterval, forceTickInterval, customTicks, breaks) {\r\n if (customTicks.majors) {\r\n ticks.breaks = breaks;\r\n return ticks\r\n }\r\n var gaps = breaks.filter(b => b.gapSize);\r\n var majorTicks;\r\n tickInterval = options.skipCalculationLimits ? tickInterval : correctUserTickInterval(tickInterval, businessDelta, screenDelta);\r\n tickInterval = calculateTickInterval(businessDelta, screenDelta, tickInterval, forceTickInterval, options.axisDivisionFactor, options.numberMultipliers, options.allowDecimals, breaks.length, gaps[0] && gaps[0].gapSize.days, options.minTickInterval);\r\n if (!options.skipTickGeneration) {\r\n majorTicks = calculateTicks(data, tickInterval, options.endOnTick, gaps, breaks, businessDelta, screenDelta, options.axisDivisionFactor, options.generateExtraTick);\r\n breaks = processScaleBreaks(breaks, majorTicks, tickInterval);\r\n majorTicks = filterTicks(majorTicks, breaks);\r\n ticks.breaks = breaks;\r\n ticks.ticks = ticks.ticks.concat(majorTicks)\r\n }\r\n ticks.tickInterval = tickInterval;\r\n return ticks\r\n }(result, data, businessDelta, screenDelta, tickInterval, forceTickInterval, customTicks, breaks || []);\r\n if (!options.skipTickGeneration && businessDelta > 0) {\r\n result = function(ticks, data, businessDelta, screenDelta, minorTickInterval, minorTickCount, customTicks) {\r\n if (!options.calculateMinors) {\r\n return ticks\r\n }\r\n if (customTicks.minors) {\r\n return ticks\r\n }\r\n var minorBusinessDelta = convertTickInterval(ticks.tickInterval);\r\n var minorScreenDelta = screenDelta * minorBusinessDelta / businessDelta;\r\n var breaks = ticks.breaks;\r\n if (!minorTickInterval && minorTickCount) {\r\n minorTickInterval = getMinorTickIntervalByCustomTicks([minorBusinessDelta / (minorTickCount + 1), minorBusinessDelta / (minorTickCount + 1) * 2])\r\n } else {\r\n minorTickCount = void 0\r\n }\r\n minorTickInterval = correctUserTickInterval(minorTickInterval, minorBusinessDelta, minorScreenDelta);\r\n minorTickInterval = calculateMinorTickInterval(minorBusinessDelta, minorScreenDelta, minorTickInterval, options.minorAxisDivisionFactor);\r\n ticks.minorTicks = filterTicks(ticks.minorTicks.concat(calculateMinorTicks(data.min, data.max, ticks.ticks, minorTickInterval, ticks.tickInterval, breaks, minorTickCount)), breaks);\r\n ticks.minorTickInterval = minorTickInterval;\r\n return ticks\r\n }(result, data, businessDelta, screenDelta, minorTickInterval, minorTickCount, customTicks)\r\n }\r\n }\r\n }\r\n return result\r\n }\r\n}\r\n\r\nfunction getBaseTick(breakValue, _ref, interval, getValue) {\r\n var [tick, insideTick] = _ref;\r\n if (!isDefined(tick) || mathAbs(getValue(breakValue) - getValue(tick)) / interval > .25) {\r\n if (isDefined(insideTick) && mathAbs(getValue(insideTick) - getValue(tick)) / interval < 2) {\r\n tick = insideTick\r\n } else if (!isDefined(tick)) {\r\n tick = breakValue\r\n }\r\n }\r\n return tick\r\n}\r\n\r\nfunction getScaleBreaksProcessor(convertTickInterval, getValue, addCorrection) {\r\n return function(breaks, ticks, tickInterval) {\r\n var interval = convertTickInterval(tickInterval);\r\n var correction = .5 * interval;\r\n return breaks.reduce((result, b) => {\r\n var breakTicks = ticks.filter(tick => tick <= b.from);\r\n var from = addCorrection(getBaseTick(b.from, [].concat(breakTicks[breakTicks.length - 1], ticks[breakTicks.length]), interval, getValue), correction);\r\n breakTicks = ticks.filter(tick => tick >= b.to);\r\n var to = addCorrection(getBaseTick(b.to, [].concat(breakTicks[0], ticks[ticks.length - breakTicks.length - 1]), interval, getValue), -correction);\r\n if (getValue(to) - getValue(from) < interval && !b.gapSize) {\r\n return result\r\n }\r\n if (b.gapSize) {\r\n return result.concat([b])\r\n }\r\n return result.concat([{\r\n from: from,\r\n to: to,\r\n cumulativeWidth: b.cumulativeWidth\r\n }])\r\n }, [])\r\n }\r\n}\r\n\r\nfunction numericGenerator(options) {\r\n var floor = correctValueByInterval(getValue, mathFloor, getValue);\r\n var ceil = correctValueByInterval(getValue, mathCeil, getValue);\r\n var calculateTickIntervalByCustomTicks = getTickIntervalByCustomTicks(getValue, getValue);\r\n return generator(options, getBusinessDelta, calculateTickInterval, calculateMinorTickInterval, calculateTickIntervalByCustomTicks, calculateTickIntervalByCustomTicks, getValue, calculateTicks(addInterval, correctMinValueByEndOnTick(floor, ceil, resolveEndOnTick, options.endOnTick), adjustInterval, resolveEndOnTick), calculateMinorTicks(getValue, addInterval, floor, addInterval, getValue), getScaleBreaksProcessor(getValue, getValue, (value, correction) => value + correction))\r\n}\r\nvar correctValueByIntervalLog = (post, getRound, getValue) => (value, interval) => sign(value) * adjust(post(getRound(value)(adjust(getValue(value) / interval)) * interval));\r\n\r\nfunction logarithmicGenerator(options) {\r\n var base = options.logBase;\r\n var raise = raiseTo(base, options.allowNegatives, options.linearThreshold);\r\n var log = getLogValue(base, options.allowNegatives, options.linearThreshold);\r\n var absLog = logAbsValue(base);\r\n var absRaise = mathRaiseTo(base);\r\n var floor = correctValueByIntervalLog(absRaise, value => value < 0 ? mathCeil : mathFloor, absLog);\r\n var ceil = correctValueByIntervalLog(absRaise, value => value < 0 ? mathFloor : mathCeil, absLog);\r\n var ceilNumber = correctValueByInterval(getValue, mathCeil, getValue);\r\n return generator(options, getBusinessDeltaLog(base, options.allowNegatives, options.linearThreshold), getCalculateTickIntervalLog(options.skipCalculationLimits), calculateMinorTickInterval, getTickIntervalByCustomTicks(log, getValue), getTickIntervalByCustomTicks(getValue, getValue), getValue, calculateTicks(addIntervalLog(log, raise), correctMinValueByEndOnTick(floor, ceil, resolveEndOnTickLog(base), options.endOnTick), getAdjustIntervalLog(options.skipCalculationLimits), resolveEndOnTickLog(base)), calculateMinorTicks((_, tick, prevTick, factor) => Math.max(Math.abs(tick), Math.abs(prevTick)) / factor, addInterval, floor, ceilNumber, ceil), getScaleBreaksProcessor(getValue, log, (value, correction) => raise(log(value) + correction)))\r\n}\r\n\r\nfunction dateGenerator(options) {\r\n function floor(value, interval) {\r\n var floorNumber = correctValueByInterval(getValue, mathFloor, getValue);\r\n var intervalObject = isString(interval) ? dateUtils.getDateIntervalByString(interval.toLowerCase()) : interval;\r\n var divider = dateToMilliseconds(interval);\r\n if (intervalObject.days % 7 === 0 || interval.quarters) {\r\n intervalObject = adjustIntervalDateTime(divider)\r\n }\r\n var correctDateWithUnitBeginning = v => dateUtils.correctDateWithUnitBeginning(v, intervalObject, null, options.firstDayOfWeek);\r\n var floorAtStartDate = v => new Date(mathFloor((v.getTime() - v.getTimezoneOffset() * MINUTE) / divider) * divider + v.getTimezoneOffset() * MINUTE);\r\n value = correctDateWithUnitBeginning(value);\r\n if (\"years\" in intervalObject) {\r\n value.setFullYear(floorNumber(value.getFullYear(), intervalObject.years))\r\n } else if (\"quarters\" in intervalObject) {\r\n value = correctDateWithUnitBeginning(floorAtStartDate(value))\r\n } else if (\"months\" in intervalObject) {\r\n value.setMonth(floorNumber(value.getMonth(), intervalObject.months))\r\n } else if (\"weeks\" in intervalObject || \"days\" in intervalObject) {\r\n value = correctDateWithUnitBeginning(floorAtStartDate(value))\r\n } else if (\"hours\" in intervalObject) {\r\n value.setHours(floorNumber(value.getHours(), intervalObject.hours))\r\n } else if (\"minutes\" in intervalObject) {\r\n value.setMinutes(floorNumber(value.getMinutes(), intervalObject.minutes))\r\n } else if (\"seconds\" in intervalObject) {\r\n value.setSeconds(floorNumber(value.getSeconds(), intervalObject.seconds))\r\n } else if (\"milliseconds\" in intervalObject) {\r\n value = floorAtStartDate(value)\r\n }\r\n return value\r\n }\r\n var calculateTickIntervalByCustomTicks = getTickIntervalByCustomTicks(getValue, dateUtils.convertMillisecondsToDateUnits);\r\n return generator(options, getBusinessDelta, calculateTickIntervalDateTime, calculateMinorTickIntervalDateTime, calculateTickIntervalByCustomTicks, calculateTickIntervalByCustomTicks, dateToMilliseconds, calculateTicks(addIntervalDate, correctMinValueByEndOnTick(floor, (function(value, interval) {\r\n var newValue = floor(value, interval);\r\n while (value - newValue > 0) {\r\n newValue = addIntervalDate(newValue, interval)\r\n }\r\n return newValue\r\n }), resolveEndOnTickDate, options.endOnTick), adjustIntervalDateTime, resolveEndOnTickDate), calculateMinorTicks(getValue, addIntervalDate, floor, addIntervalDate, getValue), getScaleBreaksProcessor(dateToMilliseconds, getValue, (value, correction) => new Date(value.getTime() + correction)))\r\n}\r\nexport var tickGenerator = function(options) {\r\n var result;\r\n if (options.rangeIsEmpty) {\r\n result = dummyGenerator(options)\r\n } else if (\"discrete\" === options.axisType) {\r\n result = discreteGenerator(options)\r\n } else if (\"logarithmic\" === options.axisType) {\r\n result = logarithmicGenerator(options)\r\n } else if (\"datetime\" === options.dataType) {\r\n result = dateGenerator(options)\r\n } else {\r\n result = numericGenerator(options)\r\n }\r\n return result\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/gauges/bar_gauge.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar PI_DIV_180 = Math.PI / 180;\r\nvar _abs = Math.abs;\r\nvar _round = Math.round;\r\nvar _floor = Math.floor;\r\nvar _min = Math.min;\r\nvar _max = Math.max;\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n clone\r\n} from \"../../core/utils/object\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n normalizeEnum as _normalizeEnum,\r\n convertAngleToRendererSpace,\r\n getCosAndSin,\r\n patchFontOptions\r\n} from \"../core/utils\";\r\nimport {\r\n BaseGauge,\r\n getSampleText,\r\n formatValue,\r\n compareArrays\r\n} from \"./base_gauge\";\r\nvar _getSampleText = getSampleText;\r\nvar _formatValue = formatValue;\r\nvar _compareArrays = compareArrays;\r\nimport dxCircularGauge from \"./circular_gauge\";\r\nvar _isArray = Array.isArray;\r\nvar _convertAngleToRendererSpace = convertAngleToRendererSpace;\r\nvar _getCosAndSin = getCosAndSin;\r\nvar _patchFontOptions = patchFontOptions;\r\nvar _Number = Number;\r\nvar _isFinite = isFinite;\r\nvar _noop = noop;\r\nvar _extend = extend;\r\nimport {\r\n plugin as pluginLegend\r\n} from \"../components/legend\";\r\nvar OPTION_VALUES = \"values\";\r\nvar BarWrapper;\r\nexport var dxBarGauge = BaseGauge.inherit({\r\n _rootClass: \"dxbg-bar-gauge\",\r\n _themeSection: \"barGauge\",\r\n _fontFields: [\"label.font\", \"legend.font\", \"legend.title.font\", \"legend.title.subtitle.font\"],\r\n _initCore: function() {\r\n var that = this;\r\n that.callBase.apply(that, arguments);\r\n that._barsGroup = that._renderer.g().attr({\r\n class: \"dxbg-bars\"\r\n }).linkOn(that._renderer.root, \"bars\");\r\n that._values = [];\r\n that._context = {\r\n renderer: that._renderer,\r\n translator: that._translator,\r\n tracker: that._tracker,\r\n group: that._barsGroup\r\n };\r\n that._animateStep = function(pos) {\r\n var bars = that._bars;\r\n var i;\r\n var ii;\r\n for (i = 0, ii = bars.length; i < ii; ++i) {\r\n bars[i].animate(pos)\r\n }\r\n };\r\n that._animateComplete = function() {\r\n that._bars.forEach(bar => bar.endAnimation());\r\n that._checkOverlap()\r\n }\r\n },\r\n _disposeCore: function() {\r\n var that = this;\r\n that._barsGroup.linkOff();\r\n that._barsGroup = that._values = that._context = that._animateStep = that._animateComplete = null;\r\n that.callBase.apply(that, arguments)\r\n },\r\n _setupDomainCore: function() {\r\n var startValue = this.option(\"startValue\");\r\n var endValue = this.option(\"endValue\");\r\n _isFinite(startValue) || (startValue = 0);\r\n _isFinite(endValue) || (endValue = 100);\r\n this._translator.setDomain(startValue, endValue);\r\n this._baseValue = this._translator.adjust(this.option(\"baseValue\"));\r\n _isFinite(this._baseValue) || (this._baseValue = startValue < endValue ? startValue : endValue)\r\n },\r\n _getDefaultSize: function() {\r\n return {\r\n width: 300,\r\n height: 300\r\n }\r\n },\r\n _setupCodomain: dxCircularGauge.prototype._setupCodomain,\r\n _getApproximateScreenRange: function() {\r\n var sides = this._area.sides;\r\n var width = this._canvas.width / (sides.right - sides.left);\r\n var height = this._canvas.height / (sides.down - sides.up);\r\n var r = width < height ? width : height;\r\n return -this._translator.getCodomainRange() * r * PI_DIV_180\r\n },\r\n _setupAnimationSettings: function() {\r\n var that = this;\r\n that.callBase.apply(that, arguments);\r\n if (that._animationSettings) {\r\n that._animationSettings.step = that._animateStep;\r\n that._animationSettings.complete = that._animateComplete\r\n }\r\n },\r\n _cleanContent: function() {\r\n this._barsGroup.linkRemove();\r\n this._animationSettings && this._barsGroup.stopAnimation();\r\n this._barsGroup.clear()\r\n },\r\n _renderContent: function() {\r\n var labelOptions = this.option(\"label\");\r\n var text;\r\n var bBox;\r\n var context = this._context;\r\n this._barsGroup.linkAppend();\r\n context.textEnabled = void 0 === labelOptions || labelOptions && (!(\"visible\" in labelOptions) || labelOptions.visible);\r\n if (context.textEnabled) {\r\n context.textColor = labelOptions && labelOptions.font && labelOptions.font.color || null;\r\n labelOptions = _extend(true, {}, this._themeManager.theme().label, labelOptions);\r\n context.formatOptions = {\r\n format: void 0 !== labelOptions.format ? labelOptions.format : this._defaultFormatOptions,\r\n customizeText: labelOptions.customizeText\r\n };\r\n context.textOptions = {\r\n align: \"center\"\r\n };\r\n context.fontStyles = _patchFontOptions(_extend({}, this._themeManager.theme().label.font, labelOptions.font, {\r\n color: null\r\n }));\r\n this._textIndent = labelOptions.indent > 0 ? _Number(labelOptions.indent) : 0;\r\n context.lineWidth = labelOptions.connectorWidth > 0 ? _Number(labelOptions.connectorWidth) : 0;\r\n context.lineColor = labelOptions.connectorColor || null;\r\n text = this._renderer.text(_getSampleText(this._translator, context.formatOptions), 0, 0).attr(context.textOptions).css(context.fontStyles).append(this._barsGroup);\r\n bBox = text.getBBox();\r\n text.remove();\r\n context.textY = bBox.y;\r\n context.textWidth = bBox.width;\r\n context.textHeight = bBox.height\r\n }\r\n dxCircularGauge.prototype._applyMainLayout.call(this);\r\n this._renderBars()\r\n },\r\n _measureMainElements: function() {\r\n var result = {\r\n maxRadius: this._area.radius\r\n };\r\n if (this._context.textEnabled) {\r\n result.horizontalMargin = this._context.textWidth;\r\n result.verticalMargin = this._context.textHeight;\r\n result.inverseHorizontalMargin = this._context.textWidth / 2;\r\n result.inverseVerticalMargin = this._context.textHeight / 2\r\n }\r\n return result\r\n },\r\n _renderBars: function() {\r\n var options = _extend({}, this._themeManager.theme(), this.option());\r\n var radius;\r\n var area = this._area;\r\n var relativeInnerRadius = options.relativeInnerRadius > 0 && options.relativeInnerRadius < 1 ? _Number(options.relativeInnerRadius) : .1;\r\n radius = area.radius;\r\n if (this._context.textEnabled) {\r\n this._textIndent = _round(_min(this._textIndent, radius / 2));\r\n radius -= this._textIndent\r\n }\r\n this._outerRadius = _floor(radius);\r\n this._innerRadius = _floor(radius * relativeInnerRadius);\r\n this._barSpacing = options.barSpacing > 0 ? _Number(options.barSpacing) : 0;\r\n _extend(this._context, {\r\n backgroundColor: options.backgroundColor,\r\n x: area.x,\r\n y: area.y,\r\n startAngle: area.startCoord,\r\n endAngle: area.endCoord,\r\n baseAngle: this._translator.translate(this._baseValue)\r\n });\r\n this._arrangeBars()\r\n },\r\n _arrangeBars: function() {\r\n var radius = this._outerRadius - this._innerRadius;\r\n var context = this._context;\r\n var i;\r\n var count = this._bars.length;\r\n this._beginValueChanging();\r\n context.barSize = count > 0 ? _max((radius - (count - 1) * this._barSpacing) / count, 1) : 0;\r\n var spacing = count > 1 ? _max(_min((radius - count * context.barSize) / (count - 1), this._barSpacing), 0) : 0;\r\n var _count = _min(_floor((radius + spacing) / context.barSize), count);\r\n this._setBarsCount(count);\r\n radius = this._outerRadius;\r\n context.textRadius = radius;\r\n context.textIndent = this._textIndent;\r\n this._palette.reset();\r\n var unitOffset = context.barSize + spacing;\r\n var colors = this._palette.generateColors(_count);\r\n for (i = 0; i < _count; ++i, radius -= unitOffset) {\r\n this._bars[i].arrange({\r\n radius: radius,\r\n color: colors[i]\r\n })\r\n }\r\n for (var _i = _count; _i < count; _i++) {\r\n this._bars[_i].hide()\r\n }\r\n if (this._animationSettings && !this._noAnimation) {\r\n this._animateBars()\r\n } else {\r\n this._updateBars()\r\n }\r\n this._endValueChanging()\r\n },\r\n _setBarsCount: function() {\r\n if (this._bars.length > 0) {\r\n if (this._dummyBackground) {\r\n this._dummyBackground.dispose();\r\n this._dummyBackground = null\r\n }\r\n } else {\r\n if (!this._dummyBackground) {\r\n this._dummyBackground = this._renderer.arc().attr({\r\n \"stroke-linejoin\": \"round\"\r\n })\r\n }\r\n this._dummyBackground.attr({\r\n x: this._context.x,\r\n y: this._context.y,\r\n outerRadius: this._outerRadius,\r\n innerRadius: this._innerRadius,\r\n startAngle: this._context.endAngle,\r\n endAngle: this._context.startAngle,\r\n fill: this._context.backgroundColor\r\n }).append(this._barsGroup)\r\n }\r\n },\r\n _updateBars: function() {\r\n this._bars.forEach(bar => bar.applyValue());\r\n this._checkOverlap()\r\n },\r\n _checkOverlap: function() {\r\n var bars = this._bars;\r\n var overlapStrategy = _normalizeEnum(this._getOption(\"resolveLabelOverlapping\", true));\r\n if (\"none\" === overlapStrategy) {\r\n return\r\n }\r\n var sortedBars = bars.concat().sort((a, b) => a.getValue() - b.getValue());\r\n var currentIndex = 0;\r\n var nextIndex = 1;\r\n while (currentIndex < sortedBars.length && nextIndex < sortedBars.length) {\r\n var current = sortedBars[currentIndex];\r\n var next = sortedBars[nextIndex];\r\n if (current.checkIntersect(next)) {\r\n next.hideLabel();\r\n nextIndex++\r\n } else {\r\n currentIndex = nextIndex;\r\n nextIndex = currentIndex + 1\r\n }\r\n }\r\n },\r\n _animateBars: function() {\r\n var i;\r\n var ii = this._bars.length;\r\n if (ii > 0) {\r\n for (i = 0; i < ii; ++i) {\r\n this._bars[i].beginAnimation()\r\n }\r\n this._barsGroup.animate({\r\n _: 0\r\n }, this._animationSettings)\r\n }\r\n },\r\n _buildNodes() {\r\n var that = this;\r\n var options = that._options.silent();\r\n that._palette = that._themeManager.createPalette(options.palette, {\r\n useHighlight: true,\r\n extensionMode: options.paletteExtensionMode\r\n });\r\n that._palette.reset();\r\n that._bars = that._bars || [];\r\n that._animationSettings && that._barsGroup.stopAnimation();\r\n var barValues = that._values.filter(_isFinite);\r\n var count = barValues.length;\r\n if (that._bars.length > count) {\r\n var ii = that._bars.length;\r\n for (var i = count; i < ii; ++i) {\r\n that._bars[i].dispose()\r\n }\r\n that._bars.splice(count, ii - count)\r\n } else if (that._bars.length < count) {\r\n for (var _i2 = that._bars.length; _i2 < count; ++_i2) {\r\n that._bars.push(new BarWrapper(_i2, that._context))\r\n }\r\n }\r\n that._bars.forEach((bar, index) => {\r\n bar.update({\r\n color: that._palette.getNextColor(count),\r\n value: barValues[index]\r\n })\r\n })\r\n },\r\n _updateValues: function(values) {\r\n var list = _isArray(values) && values || _isFinite(values) && [values] || [];\r\n var i;\r\n var ii = list.length;\r\n var value;\r\n this._values.length = ii;\r\n for (i = 0; i < ii; ++i) {\r\n value = list[i];\r\n this._values[i] = _Number(_isFinite(value) ? value : this._values[i])\r\n }\r\n if (!this._resizing) {\r\n if (!_compareArrays(this._values, this.option(OPTION_VALUES))) {\r\n this.option(OPTION_VALUES, this._values.slice())\r\n }\r\n }\r\n this._change([\"NODES\"])\r\n },\r\n values: function(arg) {\r\n if (void 0 !== arg) {\r\n this._updateValues(arg);\r\n return this\r\n } else {\r\n return this._values.slice(0)\r\n }\r\n },\r\n _optionChangesMap: {\r\n backgroundColor: \"MOSTLY_TOTAL\",\r\n relativeInnerRadius: \"MOSTLY_TOTAL\",\r\n barSpacing: \"MOSTLY_TOTAL\",\r\n label: \"MOSTLY_TOTAL\",\r\n resolveLabelOverlapping: \"MOSTLY_TOTAL\",\r\n palette: \"MOSTLY_TOTAL\",\r\n paletteExtensionMode: \"MOSTLY_TOTAL\",\r\n values: \"VALUES\"\r\n },\r\n _change_VALUES: function() {\r\n this._updateValues(this.option(OPTION_VALUES))\r\n },\r\n _factory: clone(BaseGauge.prototype._factory),\r\n _optionChangesOrder: [\"VALUES\", \"NODES\"],\r\n _initialChanges: [\"VALUES\"],\r\n _change_NODES() {\r\n this._buildNodes()\r\n },\r\n _change_MOSTLY_TOTAL: function() {\r\n this._change([\"NODES\"]);\r\n this.callBase()\r\n },\r\n _proxyData: [],\r\n _getLegendData() {\r\n var formatOptions = {};\r\n var options = this._options.silent();\r\n var labelFormatOptions = (options.label || {}).format;\r\n var legendFormatOptions = (options.legend || {}).itemTextFormat;\r\n if (legendFormatOptions) {\r\n formatOptions.format = legendFormatOptions\r\n } else {\r\n formatOptions.format = labelFormatOptions || this._defaultFormatOptions\r\n }\r\n return (this._bars || []).map(b => ({\r\n id: b.index,\r\n item: {\r\n value: b.getValue(),\r\n color: b.getColor(),\r\n index: b.index\r\n },\r\n text: _formatValue(b.getValue(), formatOptions),\r\n visible: true,\r\n states: {\r\n normal: {\r\n fill: b.getColor()\r\n }\r\n }\r\n }))\r\n }\r\n});\r\nBarWrapper = function(index, context) {\r\n this._context = context;\r\n this._tracker = context.renderer.arc().attr({\r\n \"stroke-linejoin\": \"round\"\r\n });\r\n this.index = index\r\n};\r\n_extend(BarWrapper.prototype, {\r\n dispose: function() {\r\n this._background.dispose();\r\n this._bar.dispose();\r\n if (this._context.textEnabled) {\r\n this._line.dispose();\r\n this._text.dispose()\r\n }\r\n this._context.tracker.detach(this._tracker);\r\n this._context = this._settings = this._background = this._bar = this._line = this._text = this._tracker = null;\r\n return this\r\n },\r\n arrange: function(options) {\r\n var context = this._context;\r\n this._visible = true;\r\n context.tracker.attach(this._tracker, this, {\r\n index: this.index\r\n });\r\n this._background = context.renderer.arc().attr({\r\n \"stroke-linejoin\": \"round\",\r\n fill: context.backgroundColor\r\n }).append(context.group);\r\n this._settings = this._settings || {\r\n x: context.x,\r\n y: context.y,\r\n startAngle: context.baseAngle,\r\n endAngle: context.baseAngle\r\n };\r\n this._bar = context.renderer.arc().attr(_extend({\r\n \"stroke-linejoin\": \"round\"\r\n }, this._settings)).append(context.group);\r\n if (context.textEnabled) {\r\n this._line = context.renderer.path([], \"line\").attr({\r\n \"stroke-width\": context.lineWidth\r\n }).append(context.group);\r\n this._text = context.renderer.text().css(context.fontStyles).attr(context.textOptions).append(context.group)\r\n }\r\n this._angle = isFinite(this._angle) ? this._angle : context.baseAngle;\r\n this._settings.outerRadius = options.radius;\r\n this._settings.innerRadius = options.radius - context.barSize;\r\n this._settings.x = context.x;\r\n this._settings.y = context.y;\r\n this._background.attr(_extend({}, this._settings, {\r\n startAngle: context.endAngle,\r\n endAngle: context.startAngle,\r\n fill: this._context.backgroundColor\r\n }));\r\n this._bar.attr({\r\n x: context.x,\r\n y: context.y,\r\n outerRadius: this._settings.outerRadius,\r\n innerRadius: this._settings.innerRadius,\r\n fill: this._color\r\n });\r\n this._tracker.attr(this._settings);\r\n if (context.textEnabled) {\r\n this._line.attr({\r\n points: [context.x, context.y - this._settings.innerRadius, context.x, context.y - context.textRadius - context.textIndent],\r\n stroke: context.lineColor || this._color\r\n }).sharp();\r\n this._text.css({\r\n fill: context.textColor || this._color\r\n })\r\n }\r\n return this\r\n },\r\n getTooltipParameters: function() {\r\n var cosSin = _getCosAndSin((this._angle + this._context.baseAngle) / 2);\r\n return {\r\n x: _round(this._context.x + (this._settings.outerRadius + this._settings.innerRadius) / 2 * cosSin.cos),\r\n y: _round(this._context.y - (this._settings.outerRadius + this._settings.innerRadius) / 2 * cosSin.sin),\r\n offset: 0,\r\n color: this._color,\r\n value: this._value\r\n }\r\n },\r\n setAngle: function(angle) {\r\n var context = this._context;\r\n var settings = this._settings;\r\n var cosSin;\r\n this._angle = angle;\r\n setAngles(settings, context.baseAngle, angle);\r\n this._bar.attr(settings);\r\n this._tracker.attr(settings);\r\n if (context.textEnabled) {\r\n cosSin = _getCosAndSin(angle);\r\n var indent = context.textIndent;\r\n var radius = context.textRadius + indent;\r\n var x = context.x + radius * cosSin.cos;\r\n var y = context.y - radius * cosSin.sin;\r\n var halfWidth = .5 * context.textWidth;\r\n var textHeight = context.textHeight;\r\n var textY = context.textY;\r\n if (_abs(x - context.x) > indent) {\r\n x += x < context.x ? -halfWidth : halfWidth\r\n }\r\n if (_abs(y - context.y) <= indent) {\r\n y -= textY + .5 * textHeight\r\n } else {\r\n y -= y < context.y ? textY + textHeight : textY\r\n }\r\n var text = _formatValue(this._value, context.formatOptions, {\r\n index: this.index\r\n });\r\n var visibility = \"\" === text ? \"hidden\" : null;\r\n this._text.attr({\r\n text: text,\r\n x: x,\r\n y: y,\r\n visibility: visibility\r\n });\r\n this._line.attr({\r\n visibility: visibility\r\n });\r\n this._line.rotate(_convertAngleToRendererSpace(angle), context.x, context.y)\r\n }\r\n return this\r\n },\r\n hideLabel: function() {\r\n this._text.attr({\r\n visibility: \"hidden\"\r\n });\r\n this._line.attr({\r\n visibility: \"hidden\"\r\n })\r\n },\r\n checkIntersect: function(anotherBar) {\r\n var coords = this.calculateLabelCoords();\r\n var anotherCoords = anotherBar.calculateLabelCoords();\r\n if (!coords || !anotherCoords) {\r\n return false\r\n }\r\n var width = Math.max(0, Math.min(coords.bottomRight.x, anotherCoords.bottomRight.x) - Math.max(coords.topLeft.x, anotherCoords.topLeft.x));\r\n var height = Math.max(0, Math.min(coords.bottomRight.y, anotherCoords.bottomRight.y) - Math.max(coords.topLeft.y, anotherCoords.topLeft.y));\r\n return width * height !== 0\r\n },\r\n calculateLabelCoords: function() {\r\n if (!this._text) {\r\n return\r\n }\r\n var box = this._text.getBBox();\r\n return {\r\n topLeft: {\r\n x: box.x,\r\n y: box.y\r\n },\r\n bottomRight: {\r\n x: box.x + box.width,\r\n y: box.y + box.height\r\n }\r\n }\r\n },\r\n _processValue: function(value) {\r\n return this._context.translator.translate(this._context.translator.adjust(value))\r\n },\r\n applyValue() {\r\n if (!this._visible) {\r\n return this\r\n }\r\n return this.setAngle(this._processValue(this.getValue()))\r\n },\r\n update(_ref) {\r\n var {\r\n color: color,\r\n value: value\r\n } = _ref;\r\n this._color = color;\r\n this._value = value\r\n },\r\n hide() {\r\n this._visible = false\r\n },\r\n getColor() {\r\n return this._color\r\n },\r\n getValue() {\r\n return this._value\r\n },\r\n beginAnimation: function() {\r\n if (!this._visible) {\r\n return this\r\n }\r\n var angle = this._processValue(this.getValue());\r\n if (!compareFloats(this._angle, angle)) {\r\n this._start = this._angle;\r\n this._delta = angle - this._angle;\r\n this._tracker.attr({\r\n visibility: \"hidden\"\r\n });\r\n if (this._context.textEnabled) {\r\n this._line.attr({\r\n visibility: \"hidden\"\r\n });\r\n this._text.attr({\r\n visibility: \"hidden\"\r\n })\r\n }\r\n } else {\r\n this.animate = _noop;\r\n this.setAngle(this._angle)\r\n }\r\n },\r\n animate: function(pos) {\r\n if (!this._visible) {\r\n return this\r\n }\r\n this._angle = this._start + this._delta * pos;\r\n setAngles(this._settings, this._context.baseAngle, this._angle);\r\n this._bar.attr(this._settings)\r\n },\r\n endAnimation: function() {\r\n if (void 0 !== this._delta) {\r\n if (compareFloats(this._angle, this._start + this._delta)) {\r\n this._tracker.attr({\r\n visibility: null\r\n });\r\n this.setAngle(this._angle)\r\n }\r\n } else {\r\n delete this.animate\r\n }\r\n delete this._start;\r\n delete this._delta\r\n }\r\n});\r\n\r\nfunction setAngles(target, angle1, angle2) {\r\n target.startAngle = angle1 < angle2 ? angle1 : angle2;\r\n target.endAngle = angle1 < angle2 ? angle2 : angle1\r\n}\r\n\r\nfunction compareFloats(value1, value2) {\r\n return _abs(value1 - value2) < 1e-4\r\n}\r\nregisterComponent(\"dxBarGauge\", dxBarGauge);\r\ndxBarGauge.addPlugin(pluginLegend);\r\n","/**\r\n * DevExtreme (esm/viz/bar_gauge.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n dxBarGauge\r\n} from \"./gauges/bar_gauge\";\r\nexport default dxBarGauge;\r\n","/**\r\n * DevExtreme (esm/viz/sparklines/bullet.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport BaseSparkline from \"./base_sparkline\";\r\nimport componentRegistrator from \"../../core/component_registrator\";\r\nvar TARGET_MIN_Y = .02;\r\nvar TARGET_MAX_Y = .98;\r\nvar BAR_VALUE_MIN_Y = .1;\r\nvar BAR_VALUE_MAX_Y = .9;\r\nvar DEFAULT_CANVAS_WIDTH = 300;\r\nvar DEFAULT_CANVAS_HEIGHT = 30;\r\nvar DEFAULT_HORIZONTAL_MARGIN = 1;\r\nvar DEFAULT_VERTICAL_MARGIN = 2;\r\nvar _Number = Number;\r\nvar _isFinite = isFinite;\r\nvar dxBullet = BaseSparkline.inherit({\r\n _rootClassPrefix: \"dxb\",\r\n _rootClass: \"dxb-bullet\",\r\n _themeSection: \"bullet\",\r\n _defaultSize: {\r\n width: DEFAULT_CANVAS_WIDTH,\r\n height: DEFAULT_CANVAS_HEIGHT,\r\n left: DEFAULT_HORIZONTAL_MARGIN,\r\n right: DEFAULT_HORIZONTAL_MARGIN,\r\n top: DEFAULT_VERTICAL_MARGIN,\r\n bottom: DEFAULT_VERTICAL_MARGIN\r\n },\r\n _disposeWidgetElements: function() {\r\n delete this._zeroLevelPath;\r\n delete this._targetPath;\r\n delete this._barValuePath\r\n },\r\n _cleanWidgetElements: function() {\r\n this._zeroLevelPath.remove();\r\n this._targetPath.remove();\r\n this._barValuePath.remove()\r\n },\r\n _drawWidgetElements: function() {\r\n this._drawBullet();\r\n this._drawn()\r\n },\r\n _createHtmlElements: function() {\r\n var renderer = this._renderer;\r\n this._zeroLevelPath = renderer.path(void 0, \"line\").attr({\r\n class: \"dxb-zero-level\",\r\n \"stroke-linecap\": \"square\"\r\n });\r\n this._targetPath = renderer.path(void 0, \"line\").attr({\r\n class: \"dxb-target\",\r\n \"stroke-linecap\": \"square\"\r\n });\r\n this._barValuePath = renderer.path(void 0, \"line\").attr({\r\n class: \"dxb-bar-value\",\r\n \"stroke-linecap\": \"square\"\r\n })\r\n },\r\n _prepareOptions: function() {\r\n var options;\r\n var startScaleValue;\r\n var endScaleValue;\r\n var level;\r\n var value;\r\n var target;\r\n this._allOptions = options = this.callBase();\r\n var isValueUndefined = void 0 === this._allOptions.value;\r\n var isTargetUndefined = void 0 === this._allOptions.target;\r\n this._tooltipEnabled = !(isValueUndefined && isTargetUndefined);\r\n if (isValueUndefined) {\r\n this._allOptions.value = 0\r\n }\r\n if (isTargetUndefined) {\r\n this._allOptions.target = 0\r\n }\r\n options.value = value = _Number(options.value);\r\n options.target = target = _Number(options.target);\r\n if (void 0 === this._allOptions.startScaleValue) {\r\n this._allOptions.startScaleValue = target < value ? target : value;\r\n this._allOptions.startScaleValue = this._allOptions.startScaleValue < 0 ? this._allOptions.startScaleValue : 0\r\n }\r\n if (void 0 === this._allOptions.endScaleValue) {\r\n this._allOptions.endScaleValue = target > value ? target : value\r\n }\r\n options.startScaleValue = startScaleValue = _Number(options.startScaleValue);\r\n options.endScaleValue = endScaleValue = _Number(options.endScaleValue);\r\n if (endScaleValue < startScaleValue) {\r\n level = endScaleValue;\r\n this._allOptions.endScaleValue = startScaleValue;\r\n this._allOptions.startScaleValue = level;\r\n this._allOptions.inverted = true\r\n }\r\n },\r\n _updateRange: function() {\r\n var options = this._allOptions;\r\n this._ranges = {\r\n arg: {\r\n invert: options.rtlEnabled ? !options.inverted : options.inverted,\r\n min: options.startScaleValue,\r\n max: options.endScaleValue,\r\n axisType: \"continuous\",\r\n dataType: \"numeric\"\r\n },\r\n val: {\r\n min: 0,\r\n max: 1,\r\n axisType: \"continuous\",\r\n dataType: \"numeric\"\r\n }\r\n }\r\n },\r\n _drawBullet: function() {\r\n var options = this._allOptions;\r\n var isValidBounds = options.startScaleValue !== options.endScaleValue;\r\n var isValidMin = _isFinite(options.startScaleValue);\r\n var isValidMax = _isFinite(options.endScaleValue);\r\n var isValidValue = _isFinite(options.value);\r\n var isValidTarget = _isFinite(options.target);\r\n if (isValidBounds && isValidMax && isValidMin && isValidTarget && isValidValue) {\r\n this._drawBarValue();\r\n this._drawTarget();\r\n this._drawZeroLevel()\r\n }\r\n },\r\n _getTargetParams: function() {\r\n var options = this._allOptions;\r\n var translatorY = this._valueAxis.getTranslator();\r\n var x = this._argumentAxis.getTranslator().translate(options.target);\r\n return {\r\n points: [x, translatorY.translate(TARGET_MIN_Y), x, translatorY.translate(TARGET_MAX_Y)],\r\n stroke: options.targetColor,\r\n \"stroke-width\": options.targetWidth\r\n }\r\n },\r\n _getBarValueParams: function() {\r\n var options = this._allOptions;\r\n var translatorX = this._argumentAxis.getTranslator();\r\n var translatorY = this._valueAxis.getTranslator();\r\n var startLevel = options.startScaleValue;\r\n var endLevel = options.endScaleValue;\r\n var value = options.value;\r\n var y2 = translatorY.translate(BAR_VALUE_MIN_Y);\r\n var y1 = translatorY.translate(BAR_VALUE_MAX_Y);\r\n var x1;\r\n var x2;\r\n if (value > 0) {\r\n x1 = startLevel <= 0 ? 0 : startLevel;\r\n x2 = value >= endLevel ? endLevel : value < x1 ? x1 : value\r\n } else {\r\n x1 = endLevel >= 0 ? 0 : endLevel;\r\n x2 = value < startLevel ? startLevel : value > x1 ? x1 : value\r\n }\r\n x1 = translatorX.translate(x1);\r\n x2 = translatorX.translate(x2);\r\n return {\r\n points: [x1, y1, x2, y1, x2, y2, x1, y2],\r\n fill: options.color\r\n }\r\n },\r\n _getCorrectCanvas: function() {\r\n return this._canvas\r\n },\r\n _getZeroLevelParams: function() {\r\n var translatorY = this._valueAxis.getTranslator();\r\n var x = this._argumentAxis.getTranslator().translate(0);\r\n return {\r\n points: [x, translatorY.translate(TARGET_MIN_Y), x, translatorY.translate(TARGET_MAX_Y)],\r\n stroke: this._allOptions.targetColor,\r\n \"stroke-width\": 1\r\n }\r\n },\r\n _drawZeroLevel: function() {\r\n var options = this._allOptions;\r\n if (0 > options.endScaleValue || 0 < options.startScaleValue || !options.showZeroLevel) {\r\n return\r\n }\r\n this._zeroLevelPath.attr(this._getZeroLevelParams()).sharp().append(this._renderer.root)\r\n },\r\n _drawTarget: function() {\r\n var options = this._allOptions;\r\n var target = options.target;\r\n if (target > options.endScaleValue || target < options.startScaleValue || !options.showTarget) {\r\n return\r\n }\r\n this._targetPath.attr(this._getTargetParams()).sharp().append(this._renderer.root)\r\n },\r\n _drawBarValue: function() {\r\n this._barValuePath.attr(this._getBarValueParams()).append(this._renderer.root)\r\n },\r\n _getTooltipCoords: function() {\r\n var canvas = this._canvas;\r\n var rootOffset = this._renderer.getRootOffset();\r\n var bBox = this._barValuePath.getBBox();\r\n return {\r\n x: bBox.x + bBox.width / 2 + rootOffset.left,\r\n y: canvas.height / 2 + rootOffset.top\r\n }\r\n },\r\n _getTooltipData: function() {\r\n var tooltip = this._tooltip;\r\n var options = this._allOptions;\r\n var value = options.value;\r\n var target = options.target;\r\n var valueText = tooltip.formatValue(value);\r\n var targetText = tooltip.formatValue(target);\r\n return {\r\n originalValue: value,\r\n originalTarget: target,\r\n value: valueText,\r\n target: targetText,\r\n valueText: [\"Actual Value:\", valueText, \"Target Value:\", targetText]\r\n }\r\n },\r\n _isTooltipEnabled: function() {\r\n return this._tooltipEnabled\r\n }\r\n});\r\neach([\"color\", \"targetColor\", \"targetWidth\", \"showTarget\", \"showZeroLevel\", \"value\", \"target\", \"startScaleValue\", \"endScaleValue\"], (function(_, name) {\r\n dxBullet.prototype._optionChangesMap[name] = \"OPTIONS\"\r\n}));\r\ncomponentRegistrator(\"dxBullet\", dxBullet);\r\nexport default dxBullet;\r\n","/**\r\n * DevExtreme (esm/viz/bullet.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Bullet from \"./sparklines/bullet\";\r\nexport default Bullet;\r\n","/**\r\n * DevExtreme (esm/viz/chart_components/crosshair.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n patchFontOptions\r\n} from \"../core/utils\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nvar math = Math;\r\nvar mathAbs = math.abs;\r\nvar mathMin = math.min;\r\nvar mathMax = math.max;\r\nvar mathFloor = math.floor;\r\nvar HORIZONTAL = \"horizontal\";\r\nvar VERTICAL = \"vertical\";\r\nvar LABEL_BACKGROUND_PADDING_X = 8;\r\nvar LABEL_BACKGROUND_PADDING_Y = 4;\r\nvar CENTER = \"center\";\r\nvar RIGHT = \"right\";\r\nvar LEFT = \"left\";\r\nvar TOP = \"top\";\r\nvar BOTTOM = \"bottom\";\r\nexport function getMargins() {\r\n return {\r\n x: LABEL_BACKGROUND_PADDING_X,\r\n y: LABEL_BACKGROUND_PADDING_Y\r\n }\r\n}\r\n\r\nfunction getRectangleBBox(bBox) {\r\n return {\r\n x: bBox.x - LABEL_BACKGROUND_PADDING_X,\r\n y: bBox.y - LABEL_BACKGROUND_PADDING_Y,\r\n width: bBox.width + 2 * LABEL_BACKGROUND_PADDING_X,\r\n height: bBox.height + 2 * LABEL_BACKGROUND_PADDING_Y\r\n }\r\n}\r\n\r\nfunction getLabelCheckerPosition(x, y, isHorizontal, canvas) {\r\n var params = isHorizontal ? [\"x\", \"width\", \"y\", \"height\", y, 0] : [\"y\", \"height\", \"x\", \"width\", x, 1];\r\n return function(bBox, position, coord) {\r\n var labelCoord = {\r\n x: coord.x,\r\n y: coord.y\r\n };\r\n var rectangleBBox = getRectangleBBox(bBox);\r\n var delta = isHorizontal ? coord.y - bBox.y - bBox.height / 2 : coord.y - bBox.y;\r\n labelCoord.y = isHorizontal || !isHorizontal && position === BOTTOM ? coord.y + delta : coord.y;\r\n if (rectangleBBox[params[0]] < 0) {\r\n labelCoord[params[0]] -= rectangleBBox[params[0]]\r\n } else if (rectangleBBox[params[0]] + rectangleBBox[params[1]] + delta * params[5] > canvas[params[1]]) {\r\n labelCoord[params[0]] -= rectangleBBox[params[0]] + rectangleBBox[params[1]] + delta * params[5] - canvas[params[1]]\r\n }\r\n if (params[4] - rectangleBBox[params[3]] / 2 < 0) {\r\n labelCoord[params[2]] -= params[4] - rectangleBBox[params[3]] / 2\r\n } else if (params[4] + rectangleBBox[params[3]] / 2 > canvas[params[3]]) {\r\n labelCoord[params[2]] -= params[4] + rectangleBBox[params[3]] / 2 - canvas[params[3]]\r\n }\r\n return labelCoord\r\n }\r\n}\r\nexport function Crosshair(renderer, options, params, group) {\r\n this._renderer = renderer;\r\n this._crosshairGroup = group;\r\n this._options = {};\r\n this.update(options, params)\r\n}\r\nCrosshair.prototype = {\r\n constructor: Crosshair,\r\n update: function(options, params) {\r\n var canvas = params.canvas;\r\n this._canvas = {\r\n top: canvas.top,\r\n bottom: canvas.height - canvas.bottom,\r\n left: canvas.left,\r\n right: canvas.width - canvas.right,\r\n width: canvas.width,\r\n height: canvas.height\r\n };\r\n this._axes = params.axes;\r\n this._panes = params.panes;\r\n this._prepareOptions(options, HORIZONTAL);\r\n this._prepareOptions(options, VERTICAL)\r\n },\r\n dispose: function() {\r\n this._renderer = this._crosshairGroup = this._options = this._axes = this._canvas = this._horizontalGroup = this._verticalGroup = this._horizontal = this._vertical = this._circle = this._panes = null\r\n },\r\n _prepareOptions: function(options, direction) {\r\n var lineOptions = options[direction + \"Line\"];\r\n this._options[direction] = {\r\n visible: lineOptions.visible,\r\n line: {\r\n stroke: lineOptions.color || options.color,\r\n \"stroke-width\": lineOptions.width || options.width,\r\n dashStyle: lineOptions.dashStyle || options.dashStyle,\r\n opacity: lineOptions.opacity || options.opacity,\r\n \"stroke-linecap\": \"butt\"\r\n },\r\n label: extend(true, {}, options.label, lineOptions.label)\r\n }\r\n },\r\n _createLines: function(options, sharpParam, group) {\r\n var lines = [];\r\n var canvas = this._canvas;\r\n var points = [canvas.left, canvas.top, canvas.left, canvas.top];\r\n for (var i = 0; i < 2; i++) {\r\n lines.push(this._renderer.path(points, \"line\").attr(options).sharp(sharpParam).append(group))\r\n }\r\n return lines\r\n },\r\n render: function() {\r\n var renderer = this._renderer;\r\n var options = this._options;\r\n var verticalOptions = options.vertical;\r\n var horizontalOptions = options.horizontal;\r\n var extraOptions = horizontalOptions.visible ? horizontalOptions.line : verticalOptions.line;\r\n var circleOptions = {\r\n stroke: extraOptions.stroke,\r\n \"stroke-width\": extraOptions[\"stroke-width\"],\r\n dashStyle: extraOptions.dashStyle,\r\n opacity: extraOptions.opacity\r\n };\r\n var canvas = this._canvas;\r\n this._horizontal = {};\r\n this._vertical = {};\r\n this._circle = renderer.circle(canvas.left, canvas.top, 0).attr(circleOptions).append(this._crosshairGroup);\r\n this._horizontalGroup = renderer.g().append(this._crosshairGroup);\r\n this._verticalGroup = renderer.g().append(this._crosshairGroup);\r\n if (verticalOptions.visible) {\r\n this._vertical.lines = this._createLines(verticalOptions.line, \"h\", this._verticalGroup);\r\n this._vertical.labels = this._createLabels(this._axes[0], verticalOptions, false, this._verticalGroup)\r\n }\r\n if (horizontalOptions.visible) {\r\n this._horizontal.lines = this._createLines(horizontalOptions.line, \"v\", this._horizontalGroup);\r\n this._horizontal.labels = this._createLabels(this._axes[1], horizontalOptions, true, this._horizontalGroup)\r\n }\r\n this.hide()\r\n },\r\n _createLabels: function(axes, options, isHorizontal, group) {\r\n var canvas = this._canvas;\r\n var renderer = this._renderer;\r\n var x;\r\n var y;\r\n var text;\r\n var labels = [];\r\n var background;\r\n var currentLabelPos;\r\n var labelOptions = options.label;\r\n if (labelOptions.visible) {\r\n axes.forEach((function(axis) {\r\n var position = axis.getOptions().position;\r\n if (axis.getTranslator().getBusinessRange().isEmpty()) {\r\n return\r\n }\r\n currentLabelPos = axis.getLabelsPosition();\r\n if (isHorizontal) {\r\n y = canvas.top;\r\n x = currentLabelPos\r\n } else {\r\n x = canvas.left;\r\n y = currentLabelPos\r\n }\r\n var align = position === TOP || position === BOTTOM ? CENTER : position === RIGHT ? LEFT : RIGHT;\r\n background = renderer.rect(0, 0, 0, 0).attr({\r\n fill: labelOptions.backgroundColor || options.line.stroke\r\n }).append(group);\r\n text = renderer.text(\"0\", 0, 0).css(patchFontOptions(options.label.font)).attr({\r\n align: align,\r\n class: labelOptions.cssClass\r\n }).append(group);\r\n labels.push({\r\n text: text,\r\n background: background,\r\n axis: axis,\r\n options: labelOptions,\r\n pos: {\r\n coord: currentLabelPos,\r\n side: position\r\n },\r\n startXY: {\r\n x: x,\r\n y: y\r\n }\r\n })\r\n }))\r\n }\r\n return labels\r\n },\r\n _updateText: function(value, axisName, labels, point, func) {\r\n var that = this;\r\n labels.forEach((function(label) {\r\n var axis = label.axis;\r\n var coord = label.startXY;\r\n var textElement = label.text;\r\n var backgroundElement = label.background;\r\n var text = \"\";\r\n if (!axis.name || axis.name === axisName) {\r\n text = axis.getFormattedValue(value, label.options, point)\r\n }\r\n if (text) {\r\n textElement.attr({\r\n text: text,\r\n x: coord.x,\r\n y: coord.y\r\n });\r\n textElement.attr(func(textElement.getBBox(), label.pos.side, coord));\r\n that._updateLinesCanvas(label);\r\n backgroundElement.attr(getRectangleBBox(textElement.getBBox()))\r\n } else {\r\n textElement.attr({\r\n text: \"\"\r\n });\r\n backgroundElement.attr({\r\n x: 0,\r\n y: 0,\r\n width: 0,\r\n height: 0\r\n })\r\n }\r\n }))\r\n },\r\n hide: function() {\r\n this._crosshairGroup.attr({\r\n visibility: \"hidden\"\r\n })\r\n },\r\n _updateLinesCanvas: function(label) {\r\n var position = label.pos.side;\r\n var labelCoord = label.pos.coord;\r\n var coords = this._linesCanvas;\r\n var canvas = this._canvas;\r\n coords[position] = coords[position] !== canvas[position] && mathAbs(coords[position] - canvas[position]) < mathAbs(labelCoord - canvas[position]) ? coords[position] : labelCoord\r\n },\r\n _updateLines: function(lines, x, y, r, isHorizontal) {\r\n var coords = this._linesCanvas;\r\n var canvas = this._canvas;\r\n var points = isHorizontal ? [\r\n [mathMin(x - r, coords.left), canvas.top, x - r, canvas.top],\r\n [x + r, canvas.top, mathMax(coords.right, x + r), canvas.top]\r\n ] : [\r\n [canvas.left, mathMin(coords.top, y - r), canvas.left, y - r],\r\n [canvas.left, y + r, canvas.left, mathMax(coords.bottom, y + r)]\r\n ];\r\n for (var i = 0; i < 2; i++) {\r\n lines[i].attr({\r\n points: points[i]\r\n }).sharp(isHorizontal ? \"v\" : \"h\", isHorizontal ? y === canvas.bottom ? -1 : 1 : x === canvas.right ? -1 : 1)\r\n }\r\n },\r\n _resetLinesCanvas: function() {\r\n var canvas = this._canvas;\r\n this._linesCanvas = {\r\n left: canvas.left,\r\n right: canvas.right,\r\n top: canvas.top,\r\n bottom: canvas.bottom\r\n }\r\n },\r\n _getClipRectForPane: function(x, y) {\r\n var panes = this._panes;\r\n var i;\r\n var coords;\r\n for (i = 0; i < panes.length; i++) {\r\n coords = panes[i].coords;\r\n if (coords.left <= x && coords.right >= x && coords.top <= y && coords.bottom >= y) {\r\n return panes[i].clipRect\r\n }\r\n }\r\n return {\r\n id: null\r\n }\r\n },\r\n show: function(data) {\r\n var point = data.point;\r\n var pointData = point.getCrosshairData(data.x, data.y);\r\n var r = point.getPointRadius();\r\n var horizontal = this._horizontal;\r\n var vertical = this._vertical;\r\n var rad = !r ? 0 : r + 3;\r\n var canvas = this._canvas;\r\n var x = mathFloor(pointData.x);\r\n var y = mathFloor(pointData.y);\r\n if (x >= canvas.left && x <= canvas.right && y >= canvas.top && y <= canvas.bottom) {\r\n this._crosshairGroup.attr({\r\n visibility: \"visible\"\r\n });\r\n this._resetLinesCanvas();\r\n this._circle.attr({\r\n cx: x,\r\n cy: y,\r\n r: rad,\r\n \"clip-path\": this._getClipRectForPane(x, y).id\r\n });\r\n if (horizontal.lines) {\r\n this._updateText(pointData.yValue, pointData.axis, horizontal.labels, point, getLabelCheckerPosition(x, y, true, canvas));\r\n this._updateLines(horizontal.lines, x, y, rad, true);\r\n this._horizontalGroup.attr({\r\n translateY: y - canvas.top\r\n })\r\n }\r\n if (vertical.lines) {\r\n this._updateText(pointData.xValue, pointData.axis, vertical.labels, point, getLabelCheckerPosition(x, y, false, canvas));\r\n this._updateLines(vertical.lines, x, y, rad, false);\r\n this._verticalGroup.attr({\r\n translateX: x - canvas.left\r\n })\r\n }\r\n } else {\r\n this.hide()\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/chart_components/multi_axes_synchronizer.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n debug\r\n} from \"../../core/utils/console\";\r\nimport {\r\n isDefined,\r\n isNumeric\r\n} from \"../../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n getLogExt,\r\n raiseToExt\r\n} from \"../core/utils\";\r\nimport {\r\n adjust\r\n} from \"../../core/utils/math\";\r\nvar _math = Math;\r\nvar _floor = _math.floor;\r\nvar _max = _math.max;\r\nvar _abs = _math.abs;\r\n\r\nfunction getValueAxesPerPanes(valueAxes) {\r\n var result = {};\r\n valueAxes.forEach(axis => {\r\n var pane = axis.pane;\r\n if (!result[pane]) {\r\n result[pane] = []\r\n }\r\n result[pane].push(axis)\r\n });\r\n return result\r\n}\r\nvar linearConverter = br => ({\r\n transform: function(v, b) {\r\n return adjust(getLogExt(v, b, br.allowNegatives, br.linearThreshold))\r\n },\r\n getTicks: function(interval, tickValues, base) {\r\n var ticks = [];\r\n var tick = this.transform(tickValues[0], base);\r\n while (ticks.length < tickValues.length) {\r\n ticks.push(tick);\r\n tick = adjust(tick + interval)\r\n }\r\n return ticks\r\n }\r\n});\r\nvar logConverter = br => ({\r\n transform: function(v, b) {\r\n return adjust(raiseToExt(v, b, br.allowNegatives, br.linearThreshold))\r\n },\r\n getTicks: function(interval, tickValues, base) {\r\n var ticks = [];\r\n var tick;\r\n for (var i = 0; i < tickValues.length; i += 1) {\r\n tick = this.transform(tickValues[i], base);\r\n ticks.push(tick)\r\n }\r\n return ticks\r\n }\r\n});\r\n\r\nfunction convertAxisInfo(axisInfo, converter) {\r\n if (!axisInfo.isLogarithmic) {\r\n return\r\n }\r\n var base = axisInfo.logarithmicBase;\r\n var tickValues = axisInfo.tickValues;\r\n axisInfo.minValue = converter.transform(axisInfo.minValue, base);\r\n axisInfo.oldMinValue = converter.transform(axisInfo.oldMinValue, base);\r\n axisInfo.maxValue = converter.transform(axisInfo.maxValue, base);\r\n axisInfo.oldMaxValue = converter.transform(axisInfo.oldMaxValue, base);\r\n axisInfo.tickInterval = _math.round(axisInfo.tickInterval);\r\n if (axisInfo.tickInterval < 1) {\r\n axisInfo.tickInterval = 1\r\n }\r\n var ticks = converter.getTicks(axisInfo.tickInterval, tickValues, base);\r\n ticks.tickInterval = axisInfo.tickInterval;\r\n axisInfo.tickValues = ticks\r\n}\r\n\r\nfunction populateAxesInfo(axes) {\r\n return axes.reduce((function(result, axis) {\r\n var ticksValues = axis.getTicksValues();\r\n var majorTicks = ticksValues.majorTicksValues;\r\n var options = axis.getOptions();\r\n var businessRange = axis.getTranslator().getBusinessRange();\r\n var visibleArea = axis.getVisibleArea();\r\n var axisInfo;\r\n var tickInterval = axis._tickInterval;\r\n var synchronizedValue = options.synchronizedValue;\r\n var action = axis.getViewport().action;\r\n if (majorTicks && majorTicks.length > 0 && isNumeric(majorTicks[0]) && \"discrete\" !== options.type && !businessRange.isEmpty() && !(businessRange.breaks && businessRange.breaks.length) && \"zoom\" !== action && \"pan\" !== action) {\r\n axis.applyMargins();\r\n var startValue = axis.getTranslator().from(visibleArea[0]);\r\n var endValue = axis.getTranslator().from(visibleArea[1]);\r\n var minValue = startValue < endValue ? startValue : endValue;\r\n var maxValue = startValue < endValue ? endValue : startValue;\r\n if (minValue === maxValue && isDefined(synchronizedValue)) {\r\n tickInterval = _abs(majorTicks[0] - synchronizedValue) || 1;\r\n minValue = majorTicks[0] - tickInterval;\r\n maxValue = majorTicks[0] + tickInterval\r\n }\r\n axisInfo = {\r\n axis: axis,\r\n isLogarithmic: \"logarithmic\" === options.type,\r\n logarithmicBase: businessRange.base,\r\n tickValues: majorTicks,\r\n minorValues: ticksValues.minorTicksValues,\r\n minorTickInterval: axis._minorTickInterval,\r\n minValue: minValue,\r\n oldMinValue: minValue,\r\n maxValue: maxValue,\r\n oldMaxValue: maxValue,\r\n inverted: businessRange.invert,\r\n tickInterval: tickInterval,\r\n synchronizedValue: synchronizedValue\r\n };\r\n convertAxisInfo(axisInfo, linearConverter(axis.getTranslator().getBusinessRange()));\r\n result.push(axisInfo)\r\n }\r\n return result\r\n }), [])\r\n}\r\n\r\nfunction updateTickValues(axesInfo) {\r\n var maxTicksCount = axesInfo.reduce((max, axisInfo) => _max(max, axisInfo.tickValues.length), 0);\r\n axesInfo.forEach(axisInfo => {\r\n var ticksMultiplier;\r\n var ticksCount;\r\n var additionalStartTicksCount = 0;\r\n var synchronizedValue = axisInfo.synchronizedValue;\r\n var tickValues = axisInfo.tickValues;\r\n var tickInterval = axisInfo.tickInterval;\r\n if (isDefined(synchronizedValue)) {\r\n axisInfo.baseTickValue = axisInfo.invertedBaseTickValue = synchronizedValue;\r\n axisInfo.tickValues = [axisInfo.baseTickValue]\r\n } else {\r\n if (tickValues.length > 1 && tickInterval) {\r\n ticksMultiplier = _floor((maxTicksCount + 1) / tickValues.length);\r\n ticksCount = ticksMultiplier > 1 ? _floor((maxTicksCount + 1) / ticksMultiplier) : maxTicksCount;\r\n additionalStartTicksCount = _floor((ticksCount - tickValues.length) / 2);\r\n while (additionalStartTicksCount > 0 && 0 !== tickValues[0]) {\r\n tickValues.unshift(adjust(tickValues[0] - tickInterval));\r\n additionalStartTicksCount--\r\n }\r\n while (tickValues.length < ticksCount) {\r\n tickValues.push(adjust(tickValues[tickValues.length - 1] + tickInterval))\r\n }\r\n axisInfo.tickInterval = tickInterval / ticksMultiplier\r\n }\r\n axisInfo.baseTickValue = tickValues[0];\r\n axisInfo.invertedBaseTickValue = tickValues[tickValues.length - 1]\r\n }\r\n })\r\n}\r\n\r\nfunction getAxisRange(axisInfo) {\r\n return axisInfo.maxValue - axisInfo.minValue || 1\r\n}\r\n\r\nfunction getMainAxisInfo(axesInfo) {\r\n for (var i = 0; i < axesInfo.length; i++) {\r\n if (!axesInfo[i].stubData) {\r\n return axesInfo[i]\r\n }\r\n }\r\n return null\r\n}\r\n\r\nfunction correctMinMaxValues(axesInfo) {\r\n var mainAxisInfo = getMainAxisInfo(axesInfo);\r\n var mainAxisInfoTickInterval = mainAxisInfo.tickInterval;\r\n axesInfo.forEach(axisInfo => {\r\n var scale;\r\n var move;\r\n var mainAxisBaseValueOffset;\r\n var valueFromAxisInfo;\r\n if (axisInfo !== mainAxisInfo) {\r\n if (mainAxisInfoTickInterval && axisInfo.tickInterval) {\r\n if (axisInfo.stubData && isDefined(axisInfo.synchronizedValue)) {\r\n axisInfo.oldMinValue = axisInfo.minValue = axisInfo.baseTickValue - (mainAxisInfo.baseTickValue - mainAxisInfo.minValue) / mainAxisInfoTickInterval * axisInfo.tickInterval;\r\n axisInfo.oldMaxValue = axisInfo.maxValue = axisInfo.baseTickValue - (mainAxisInfo.baseTickValue - mainAxisInfo.maxValue) / mainAxisInfoTickInterval * axisInfo.tickInterval\r\n }\r\n scale = mainAxisInfoTickInterval / getAxisRange(mainAxisInfo) / axisInfo.tickInterval * getAxisRange(axisInfo);\r\n axisInfo.maxValue = axisInfo.minValue + getAxisRange(axisInfo) / scale\r\n }\r\n if (mainAxisInfo.inverted && !axisInfo.inverted || !mainAxisInfo.inverted && axisInfo.inverted) {\r\n mainAxisBaseValueOffset = mainAxisInfo.maxValue - mainAxisInfo.invertedBaseTickValue\r\n } else {\r\n mainAxisBaseValueOffset = mainAxisInfo.baseTickValue - mainAxisInfo.minValue\r\n }\r\n valueFromAxisInfo = getAxisRange(axisInfo);\r\n move = (mainAxisBaseValueOffset / getAxisRange(mainAxisInfo) - (axisInfo.baseTickValue - axisInfo.minValue) / valueFromAxisInfo) * valueFromAxisInfo;\r\n axisInfo.minValue -= move;\r\n axisInfo.maxValue -= move\r\n }\r\n })\r\n}\r\n\r\nfunction calculatePaddings(axesInfo) {\r\n var minPadding;\r\n var maxPadding;\r\n var startPadding = 0;\r\n var endPadding = 0;\r\n axesInfo.forEach(axisInfo => {\r\n var inverted = axisInfo.inverted;\r\n minPadding = axisInfo.minValue > axisInfo.oldMinValue ? (axisInfo.minValue - axisInfo.oldMinValue) / getAxisRange(axisInfo) : 0;\r\n maxPadding = axisInfo.maxValue < axisInfo.oldMaxValue ? (axisInfo.oldMaxValue - axisInfo.maxValue) / getAxisRange(axisInfo) : 0;\r\n startPadding = _max(startPadding, inverted ? maxPadding : minPadding);\r\n endPadding = _max(endPadding, inverted ? minPadding : maxPadding)\r\n });\r\n return {\r\n start: startPadding,\r\n end: endPadding\r\n }\r\n}\r\n\r\nfunction correctMinMaxValuesByPaddings(axesInfo, paddings) {\r\n axesInfo.forEach(info => {\r\n var range = getAxisRange(info);\r\n var inverted = info.inverted;\r\n info.minValue = adjust(info.minValue - paddings[inverted ? \"end\" : \"start\"] * range);\r\n info.maxValue = adjust(info.maxValue + paddings[inverted ? \"start\" : \"end\"] * range)\r\n })\r\n}\r\n\r\nfunction updateTickValuesIfSynchronizedValueUsed(axesInfo) {\r\n var hasSynchronizedValue = false;\r\n axesInfo.forEach(info => {\r\n hasSynchronizedValue = hasSynchronizedValue || isDefined(info.synchronizedValue)\r\n });\r\n axesInfo.forEach(info => {\r\n var tickInterval = info.tickInterval;\r\n var tickValues = info.tickValues;\r\n var maxValue = info.maxValue;\r\n var minValue = info.minValue;\r\n var tick;\r\n if (hasSynchronizedValue && tickInterval) {\r\n while ((tick = adjust(tickValues[0] - tickInterval)) >= minValue) {\r\n tickValues.unshift(tick)\r\n }\r\n tick = tickValues[tickValues.length - 1];\r\n while ((tick = adjust(tick + tickInterval)) <= maxValue) {\r\n tickValues.push(tick)\r\n }\r\n }\r\n while (tickValues[0] + tickInterval / 10 < minValue) {\r\n tickValues.shift()\r\n }\r\n while (tickValues[tickValues.length - 1] - tickInterval / 10 > maxValue) {\r\n tickValues.pop()\r\n }\r\n })\r\n}\r\n\r\nfunction applyMinMaxValues(axesInfo) {\r\n axesInfo.forEach(info => {\r\n var axis = info.axis;\r\n var range = axis.getTranslator().getBusinessRange();\r\n if (range.min === range.minVisible) {\r\n range.min = info.minValue\r\n }\r\n if (range.max === range.maxVisible) {\r\n range.max = info.maxValue\r\n }\r\n range.minVisible = info.minValue;\r\n range.maxVisible = info.maxValue;\r\n if (range.min > range.minVisible) {\r\n range.min = range.minVisible\r\n }\r\n if (range.max < range.maxVisible) {\r\n range.max = range.maxVisible\r\n }\r\n axis.getTranslator().updateBusinessRange(range);\r\n axis.setTicks({\r\n majorTicks: info.tickValues,\r\n minorTicks: info.minorValues\r\n })\r\n })\r\n}\r\n\r\nfunction correctAfterSynchronize(axesInfo) {\r\n var invalidAxisInfo = [];\r\n var correctValue;\r\n axesInfo.forEach(info => {\r\n if (info.oldMaxValue - info.oldMinValue === 0) {\r\n invalidAxisInfo.push(info)\r\n } else if (!isDefined(correctValue) && !isDefined(info.synchronizedValue)) {\r\n correctValue = _abs((info.maxValue - info.minValue) / (info.tickValues[_floor(info.tickValues.length / 2)] - info.minValue || info.maxValue))\r\n }\r\n });\r\n if (!isDefined(correctValue)) {\r\n return\r\n }\r\n invalidAxisInfo.forEach(info => {\r\n var firstTick = info.tickValues[0];\r\n var correctedTick = firstTick * correctValue;\r\n if (firstTick > 0) {\r\n info.maxValue = correctedTick;\r\n info.minValue = 0\r\n } else if (firstTick < 0) {\r\n info.minValue = correctedTick;\r\n info.maxValue = 0\r\n }\r\n })\r\n}\r\n\r\nfunction updateMinorTicks(axesInfo) {\r\n axesInfo.forEach((function(axisInfo) {\r\n if (!axisInfo.minorTickInterval) {\r\n return\r\n }\r\n var ticks = [];\r\n var interval = axisInfo.minorTickInterval;\r\n var tickCount = axisInfo.tickInterval / interval - 1;\r\n for (var i = 1; i < axisInfo.tickValues.length; i++) {\r\n var tick = axisInfo.tickValues[i - 1];\r\n for (var j = 0; j < tickCount; j++) {\r\n tick += interval;\r\n ticks.push(tick)\r\n }\r\n }\r\n axisInfo.minorValues = ticks\r\n }))\r\n}\r\n\r\nfunction allAxesValuesOnSameSideFromZero(axesInfo) {\r\n var allPositive = true;\r\n var allNegative = true;\r\n axesInfo.forEach(axis => {\r\n if (axis.oldMinValue > 0 || axis.oldMaxValue > 0) {\r\n allNegative = false\r\n }\r\n if (axis.oldMinValue < 0 || axis.oldMaxValue < 0) {\r\n allPositive = false\r\n }\r\n });\r\n return allPositive || allNegative\r\n}\r\n\r\nfunction correctPaddings(axesInfo, paddings) {\r\n if (!allAxesValuesOnSameSideFromZero(axesInfo)) {\r\n return paddings\r\n }\r\n return axesInfo.reduce((prev, info) => {\r\n var inverted = info.inverted;\r\n var {\r\n start: start,\r\n end: end\r\n } = info.axis.getCorrectedValuesToZero(info.minValue, info.maxValue);\r\n if (isDefined(start) || isDefined(end)) {\r\n return inverted ? {\r\n start: prev.start,\r\n end: Math.min(prev.end, end)\r\n } : {\r\n start: Math.min(prev.start, start),\r\n end: prev.end\r\n }\r\n }\r\n return prev\r\n }, paddings)\r\n}\r\nvar multiAxesSynchronizer = {\r\n synchronize: function(valueAxes) {\r\n each(getValueAxesPerPanes(valueAxes), (function(_, axes) {\r\n var axesInfo;\r\n var paddings;\r\n if (axes.length > 1) {\r\n axesInfo = populateAxesInfo(axes);\r\n if (axesInfo.length < 2 || !getMainAxisInfo(axesInfo)) {\r\n return\r\n }\r\n updateTickValues(axesInfo);\r\n correctMinMaxValues(axesInfo);\r\n paddings = calculatePaddings(axesInfo);\r\n paddings = correctPaddings(axesInfo, paddings);\r\n correctMinMaxValuesByPaddings(axesInfo, paddings);\r\n correctAfterSynchronize(axesInfo);\r\n updateTickValuesIfSynchronizedValueUsed(axesInfo);\r\n updateMinorTicks(axesInfo);\r\n axesInfo.forEach(info => {\r\n convertAxisInfo(info, logConverter(info.axis.getTranslator().getBusinessRange()))\r\n });\r\n applyMinMaxValues(axesInfo)\r\n }\r\n }))\r\n }\r\n};\r\nexport default multiAxesSynchronizer;\r\n","/**\r\n * DevExtreme (esm/viz/chart_components/scroll_bar.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n fireEvent\r\n} from \"../../events/utils/index\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n Translator2D\r\n} from \"../translators/translator2d\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n start as dragEventStart,\r\n move as dragEventMove,\r\n end as dragEventEnd\r\n} from \"../../events/drag\";\r\nvar _min = Math.min;\r\nvar _max = Math.max;\r\nvar MIN_SCROLL_BAR_SIZE = 2;\r\nexport var ScrollBar = function(renderer, group) {\r\n this._translator = new Translator2D({}, {}, {});\r\n this._scroll = renderer.rect().append(group);\r\n this._addEvents()\r\n};\r\n\r\nfunction _getXCoord(canvas, pos, offset, width) {\r\n var x = 0;\r\n if (\"right\" === pos) {\r\n x = canvas.width - canvas.right + offset\r\n } else if (\"left\" === pos) {\r\n x = canvas.left - offset - width\r\n }\r\n return x\r\n}\r\n\r\nfunction _getYCoord(canvas, pos, offset, width) {\r\n var y = 0;\r\n if (\"top\" === pos) {\r\n y = canvas.top - offset\r\n } else if (\"bottom\" === pos) {\r\n y = canvas.height - canvas.bottom + width + offset\r\n }\r\n return y\r\n}\r\nScrollBar.prototype = {\r\n _addEvents: function() {\r\n var scrollElement = this._scroll.element;\r\n eventsEngine.on(scrollElement, dragEventStart, e => {\r\n fireEvent({\r\n type: \"dxc-scroll-start\",\r\n originalEvent: e,\r\n target: scrollElement\r\n })\r\n });\r\n eventsEngine.on(scrollElement, dragEventMove, e => {\r\n var dX = -e.offset.x * this._scale;\r\n var dY = -e.offset.y * this._scale;\r\n var lx = this._offset - (this._layoutOptions.vertical ? dY : dX) / this._scale;\r\n this._applyPosition(lx, lx + this._translator.canvasLength / this._scale);\r\n fireEvent({\r\n type: \"dxc-scroll-move\",\r\n originalEvent: e,\r\n target: scrollElement,\r\n offset: {\r\n x: dX,\r\n y: dY\r\n }\r\n })\r\n });\r\n eventsEngine.on(scrollElement, dragEventEnd, e => {\r\n fireEvent({\r\n type: \"dxc-scroll-end\",\r\n originalEvent: e,\r\n target: scrollElement,\r\n offset: {\r\n x: -e.offset.x * this._scale,\r\n y: -e.offset.y * this._scale\r\n }\r\n })\r\n })\r\n },\r\n update: function(options) {\r\n var position = options.position;\r\n var isVertical = options.rotated;\r\n var defaultPosition = isVertical ? \"right\" : \"top\";\r\n var secondaryPosition = isVertical ? \"left\" : \"bottom\";\r\n if (position !== defaultPosition && position !== secondaryPosition) {\r\n position = defaultPosition\r\n }\r\n this._scroll.attr({\r\n rotate: !options.rotated ? -90 : 0,\r\n rotateX: 0,\r\n rotateY: 0,\r\n fill: options.color,\r\n width: options.width,\r\n opacity: options.opacity\r\n });\r\n this._layoutOptions = {\r\n width: options.width,\r\n offset: options.offset,\r\n vertical: isVertical,\r\n position: position\r\n };\r\n return this\r\n },\r\n init: function(range, stick) {\r\n var isDiscrete = \"discrete\" === range.axisType;\r\n this._translateWithOffset = isDiscrete && !stick ? 1 : 0;\r\n this._translator.update(extend({}, range, {\r\n minVisible: null,\r\n maxVisible: null,\r\n visibleCategories: null\r\n }, isDiscrete && {\r\n min: null,\r\n max: null\r\n } || {}), this._canvas, {\r\n isHorizontal: !this._layoutOptions.vertical,\r\n stick: stick\r\n });\r\n return this\r\n },\r\n getOptions: function() {\r\n return this._layoutOptions\r\n },\r\n setPane: function(panes) {\r\n var position = this._layoutOptions.position;\r\n var pane;\r\n if (\"left\" === position || \"top\" === position) {\r\n pane = panes[0]\r\n } else {\r\n pane = panes[panes.length - 1]\r\n }\r\n this.pane = pane.name;\r\n return this\r\n },\r\n updateSize: function(canvas) {\r\n this._canvas = extend({}, canvas);\r\n var options = this._layoutOptions;\r\n var pos = options.position;\r\n var offset = options.offset;\r\n var width = options.width;\r\n this._scroll.attr({\r\n translateX: _getXCoord(canvas, pos, offset, width),\r\n translateY: _getYCoord(canvas, pos, offset, width)\r\n })\r\n },\r\n getMultipleAxesSpacing: function() {\r\n return 0\r\n },\r\n estimateMargins: function() {\r\n return this.getMargins()\r\n },\r\n getMargins: function() {\r\n var options = this._layoutOptions;\r\n var margins = {\r\n left: 0,\r\n top: 0,\r\n right: 0,\r\n bottom: 0\r\n };\r\n margins[options.position] = options.width + options.offset;\r\n return margins\r\n },\r\n shift: function(margins) {\r\n var _that$_scroll$attr, _that$_scroll$attr2;\r\n var options = this._layoutOptions;\r\n var side = options.position;\r\n var isVertical = options.vertical;\r\n var attr = {\r\n translateX: null !== (_that$_scroll$attr = this._scroll.attr(\"translateX\")) && void 0 !== _that$_scroll$attr ? _that$_scroll$attr : 0,\r\n translateY: null !== (_that$_scroll$attr2 = this._scroll.attr(\"translateY\")) && void 0 !== _that$_scroll$attr2 ? _that$_scroll$attr2 : 0\r\n };\r\n var shift = margins[side];\r\n attr[isVertical ? \"translateX\" : \"translateY\"] += (\"left\" === side || \"top\" === side ? -1 : 1) * shift;\r\n this._scroll.attr(attr)\r\n },\r\n hideTitle: noop,\r\n hideOuterElements: noop,\r\n setPosition: function(min, max) {\r\n var translator = this._translator;\r\n var minPoint = isDefined(min) ? translator.translate(min, -this._translateWithOffset) : translator.translate(\"canvas_position_start\");\r\n var maxPoint = isDefined(max) ? translator.translate(max, this._translateWithOffset) : translator.translate(\"canvas_position_end\");\r\n this._offset = _min(minPoint, maxPoint);\r\n this._scale = translator.getScale(min, max);\r\n this._applyPosition(_min(minPoint, maxPoint), _max(minPoint, maxPoint))\r\n },\r\n customPositionIsAvailable: () => false,\r\n dispose: function() {\r\n this._scroll.dispose();\r\n this._scroll = this._translator = null\r\n },\r\n _applyPosition: function(x1, x2) {\r\n var visibleArea = this._translator.getCanvasVisibleArea();\r\n x1 = _max(x1, visibleArea.min);\r\n x1 = _min(x1, visibleArea.max);\r\n x2 = _min(x2, visibleArea.max);\r\n x2 = _max(x2, visibleArea.min);\r\n var height = Math.abs(x2 - x1);\r\n this._scroll.attr({\r\n y: x1,\r\n height: height < MIN_SCROLL_BAR_SIZE ? MIN_SCROLL_BAR_SIZE : height\r\n })\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/chart_components/shutter_zoom.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n start as dragEventStart,\r\n move as dragEventMove,\r\n end as dragEventEnd\r\n} from \"../../events/drag\";\r\nvar SHUTTER_EVENTS_NS = \".shutter-zoom\";\r\nvar DRAG_START_EVENT_NAME = dragEventStart + SHUTTER_EVENTS_NS;\r\nvar DRAG_UPDATE_EVENT_NAME = dragEventMove + SHUTTER_EVENTS_NS;\r\nvar DRAG_END_EVENT_NAME = dragEventEnd + SHUTTER_EVENTS_NS;\r\n\r\nfunction getPointerCoord(rootOffset, canvas, rotated, e) {\r\n var coord = Math.floor(rotated ? e.pageY - rootOffset.top : e.pageX - rootOffset.left);\r\n var min = rotated ? canvas.y1 : canvas.x1;\r\n var max = rotated ? canvas.y2 : canvas.x2;\r\n if (coord < min) {\r\n coord = min\r\n } else if (coord > max) {\r\n coord = max\r\n }\r\n return coord\r\n}\r\n\r\nfunction checkCoords(rootOffset, canvas, e) {\r\n var x = e.pageX - rootOffset.left;\r\n var y = e.pageY - rootOffset.top;\r\n return x >= canvas.x1 && x <= canvas.x2 && y >= canvas.y1 && y <= canvas.y2\r\n}\r\n\r\nfunction dragStartHandler(ctx) {\r\n return function(e) {\r\n var offset = ctx.getRootOffset();\r\n var canvas = ctx.getCanvas();\r\n if (!checkCoords(offset, canvas, e)) {\r\n e.cancel = true;\r\n return\r\n }\r\n ctx.rootOffset = offset;\r\n ctx.canvas = canvas;\r\n ctx.startCoord = getPointerCoord(offset, canvas, ctx.rotated, e);\r\n ctx.triggerStart();\r\n ctx.rect.attr({\r\n x: canvas.x1,\r\n y: canvas.y1,\r\n width: canvas.width,\r\n height: canvas.height\r\n }).append(ctx.root)\r\n }\r\n}\r\n\r\nfunction dragHandler(ctx) {\r\n return function(e) {\r\n var curCoord = getPointerCoord(ctx.rootOffset, ctx.canvas, ctx.rotated, e);\r\n var attr = {};\r\n ctx.curCoord = curCoord;\r\n attr[ctx.rotated ? \"y\" : \"x\"] = Math.min(ctx.startCoord, curCoord);\r\n attr[ctx.rotated ? \"height\" : \"width\"] = Math.abs(ctx.startCoord - curCoord);\r\n ctx.rect.attr(attr)\r\n }\r\n}\r\n\r\nfunction dragEndHandler(ctx) {\r\n return function(e) {\r\n ctx.triggerEnd();\r\n ctx.rect.remove()\r\n }\r\n}\r\n\r\nfunction shutterZoom(options) {\r\n var chart = options.chart;\r\n var renderer = options.renderer;\r\n var rotated = options.rotated;\r\n var rect = renderer.rect(0, 0, 0, 0).attr(options.shutterOptions);\r\n var shutter = {\r\n rect: rect,\r\n root: renderer.root,\r\n rotated: rotated,\r\n triggerStart: function() {\r\n chart._eventTrigger(\"zoomStart\")\r\n },\r\n triggerEnd: function() {\r\n var tr = chart._argumentAxes[0].getTranslator();\r\n var rangeStart = Math.min(this.startCoord, this.curCoord);\r\n var rangeEnd = Math.max(this.startCoord, this.curCoord);\r\n chart._eventTrigger(\"zoomEnd\", {\r\n rangeStart: tr.from(rangeStart),\r\n rangeEnd: tr.from(rangeEnd)\r\n })\r\n },\r\n dispose: function() {\r\n renderer.root.off(SHUTTER_EVENTS_NS);\r\n rect.dispose()\r\n },\r\n getRootOffset: function() {\r\n return renderer.getRootOffset()\r\n },\r\n getCanvas: function() {\r\n var canvas = chart._canvas;\r\n var panes = chart.panes;\r\n var firstPane = panes[0].canvas;\r\n var lastPane = panes[panes.length - 1].canvas;\r\n return {\r\n x1: firstPane.left,\r\n y1: firstPane.top,\r\n x2: canvas.width - lastPane.right,\r\n y2: canvas.height - lastPane.bottom,\r\n width: canvas.width - firstPane.left - lastPane.right,\r\n height: canvas.height - firstPane.top - lastPane.bottom\r\n }\r\n }\r\n };\r\n renderer.root.off(SHUTTER_EVENTS_NS).on(DRAG_START_EVENT_NAME, {\r\n direction: rotated ? \"vertical\" : \"horizontal\",\r\n immediate: true\r\n }, dragStartHandler(shutter)).on(DRAG_UPDATE_EVENT_NAME, dragHandler(shutter)).on(DRAG_END_EVENT_NAME, dragEndHandler(shutter));\r\n return shutter\r\n}\r\nexport default {\r\n name: \"shutter_zoom\",\r\n init: function() {\r\n var options = this.option(\"shutterZoom\") || {};\r\n if (!options.enabled) {\r\n return\r\n }\r\n this._shutterZoom = shutterZoom({\r\n chart: this,\r\n renderer: this._renderer,\r\n rotated: this.option(\"rotated\"),\r\n shutterOptions: options\r\n })\r\n },\r\n dispose: function() {\r\n this._shutterZoom && this._shutterZoom.dispose()\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/events/transform.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n sign as mathSign,\r\n fitIntoRange\r\n} from \"../core/utils/math\";\r\nimport * as iteratorUtils from \"../core/utils/iterator\";\r\nimport {\r\n hasTouches\r\n} from \"./utils/index\";\r\nimport Emitter from \"./core/emitter\";\r\nimport registerEmitter from \"./core/emitter_registrator\";\r\nvar DX_PREFIX = \"dx\";\r\nvar TRANSFORM = \"transform\";\r\nvar TRANSLATE = \"translate\";\r\nvar PINCH = \"pinch\";\r\nvar ROTATE = \"rotate\";\r\nvar START_POSTFIX = \"start\";\r\nvar UPDATE_POSTFIX = \"\";\r\nvar END_POSTFIX = \"end\";\r\nvar eventAliases = [];\r\nvar addAlias = function(eventName, eventArgs) {\r\n eventAliases.push({\r\n name: eventName,\r\n args: eventArgs\r\n })\r\n};\r\naddAlias(TRANSFORM, {\r\n scale: true,\r\n deltaScale: true,\r\n rotation: true,\r\n deltaRotation: true,\r\n translation: true,\r\n deltaTranslation: true\r\n});\r\naddAlias(TRANSLATE, {\r\n translation: true,\r\n deltaTranslation: true\r\n});\r\naddAlias(PINCH, {\r\n scale: true,\r\n deltaScale: true\r\n});\r\naddAlias(ROTATE, {\r\n rotation: true,\r\n deltaRotation: true\r\n});\r\nvar getVector = function(first, second) {\r\n return {\r\n x: second.pageX - first.pageX,\r\n y: -second.pageY + first.pageY,\r\n centerX: .5 * (second.pageX + first.pageX),\r\n centerY: .5 * (second.pageY + first.pageY)\r\n }\r\n};\r\nvar getEventVector = function(e) {\r\n var pointers = e.pointers;\r\n return getVector(pointers[0], pointers[1])\r\n};\r\nvar getDistance = function(vector) {\r\n return Math.sqrt(vector.x * vector.x + vector.y * vector.y)\r\n};\r\nvar getScale = function(firstVector, secondVector) {\r\n return getDistance(firstVector) / getDistance(secondVector)\r\n};\r\nvar getRotation = function(firstVector, secondVector) {\r\n var scalarProduct = firstVector.x * secondVector.x + firstVector.y * secondVector.y;\r\n var distanceProduct = getDistance(firstVector) * getDistance(secondVector);\r\n if (0 === distanceProduct) {\r\n return 0\r\n }\r\n var sign = mathSign(firstVector.x * secondVector.y - secondVector.x * firstVector.y);\r\n var angle = Math.acos(fitIntoRange(scalarProduct / distanceProduct, -1, 1));\r\n return sign * angle\r\n};\r\nvar getTranslation = function(firstVector, secondVector) {\r\n return {\r\n x: firstVector.centerX - secondVector.centerX,\r\n y: firstVector.centerY - secondVector.centerY\r\n }\r\n};\r\nvar TransformEmitter = Emitter.inherit({\r\n validatePointers: function(e) {\r\n return hasTouches(e) > 1\r\n },\r\n start: function(e) {\r\n this._accept(e);\r\n var startVector = getEventVector(e);\r\n this._startVector = startVector;\r\n this._prevVector = startVector;\r\n this._fireEventAliases(START_POSTFIX, e)\r\n },\r\n move: function(e) {\r\n var currentVector = getEventVector(e);\r\n var eventArgs = this._getEventArgs(currentVector);\r\n this._fireEventAliases(UPDATE_POSTFIX, e, eventArgs);\r\n this._prevVector = currentVector\r\n },\r\n end: function(e) {\r\n var eventArgs = this._getEventArgs(this._prevVector);\r\n this._fireEventAliases(END_POSTFIX, e, eventArgs)\r\n },\r\n _getEventArgs: function(vector) {\r\n return {\r\n scale: getScale(vector, this._startVector),\r\n deltaScale: getScale(vector, this._prevVector),\r\n rotation: getRotation(vector, this._startVector),\r\n deltaRotation: getRotation(vector, this._prevVector),\r\n translation: getTranslation(vector, this._startVector),\r\n deltaTranslation: getTranslation(vector, this._prevVector)\r\n }\r\n },\r\n _fireEventAliases: function(eventPostfix, originalEvent, eventArgs) {\r\n eventArgs = eventArgs || {};\r\n iteratorUtils.each(eventAliases, function(_, eventAlias) {\r\n var args = {};\r\n iteratorUtils.each(eventAlias.args, (function(name) {\r\n if (name in eventArgs) {\r\n args[name] = eventArgs[name]\r\n }\r\n }));\r\n this._fireEvent(DX_PREFIX + eventAlias.name + eventPostfix, originalEvent, args)\r\n }.bind(this))\r\n }\r\n});\r\nvar eventNames = eventAliases.reduce((result, eventAlias) => {\r\n [START_POSTFIX, UPDATE_POSTFIX, END_POSTFIX].forEach(eventPostfix => {\r\n result.push(DX_PREFIX + eventAlias.name + eventPostfix)\r\n });\r\n return result\r\n}, []);\r\nregisterEmitter({\r\n emitter: TransformEmitter,\r\n events: eventNames\r\n});\r\nvar exportNames = {};\r\niteratorUtils.each(eventNames, (function(_, eventName) {\r\n exportNames[eventName.substring(DX_PREFIX.length)] = eventName\r\n}));\r\nexport var {\r\n transformstart: transformstart,\r\n transform: transform,\r\n transformend: transformend,\r\n translatestart: translatestart,\r\n translate: translate,\r\n translateend: translateend,\r\n zoomstart: zoomstart,\r\n zoom: zoom,\r\n zoomend: zoomend,\r\n pinchstart: pinchstart,\r\n pinch: pinch,\r\n pinchend: pinchend,\r\n rotatestart: rotatestart,\r\n rotate: rotate,\r\n rotateend: rotateend\r\n} = exportNames;\r\n","/**\r\n * DevExtreme (esm/viz/chart_components/zoom_and_pan.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n normalizeEnum,\r\n getVizRangeObject\r\n} from \"../core/utils\";\r\nimport {\r\n name as wheelEvent\r\n} from \"../../events/core/wheel\";\r\nimport * as transformEvents from \"../../events/transform\";\r\nimport {\r\n start as dragEventStart,\r\n move as dragEventMove,\r\n end as dragEventEnd\r\n} from \"../../events/drag\";\r\nvar EVENTS_NS = \".zoomAndPanNS\";\r\nvar DRAG_START_EVENT_NAME = dragEventStart + EVENTS_NS;\r\nvar DRAG_EVENT_NAME = dragEventMove + EVENTS_NS;\r\nvar DRAG_END_EVENT_NAME = dragEventEnd + EVENTS_NS;\r\nvar PINCH_START_EVENT_NAME = transformEvents.pinchstart + EVENTS_NS;\r\nvar PINCH_EVENT_NAME = transformEvents.pinch + EVENTS_NS;\r\nvar PINCH_END_EVENT_NAME = transformEvents.pinchend + EVENTS_NS;\r\nvar SCROLL_BAR_START_EVENT_NAME = \"dxc-scroll-start\" + EVENTS_NS;\r\nvar SCROLL_BAR_MOVE_EVENT_NAME = \"dxc-scroll-move\" + EVENTS_NS;\r\nvar SCROLL_BAR_END_EVENT_NAME = \"dxc-scroll-end\" + EVENTS_NS;\r\nvar GESTURE_TIMEOUT = 300;\r\nvar MIN_DRAG_DELTA = 5;\r\nvar _min = Math.min;\r\nvar _max = Math.max;\r\nvar _abs = Math.abs;\r\n\r\nfunction canvasToRect(canvas) {\r\n return {\r\n x: canvas.left,\r\n y: canvas.top,\r\n width: canvas.width - canvas.left - canvas.right,\r\n height: canvas.height - canvas.top - canvas.bottom\r\n }\r\n}\r\n\r\nfunction checkCoords(rect, coords) {\r\n var x = coords.x;\r\n var y = coords.y;\r\n return x >= rect.x && x <= rect.width + rect.x && y >= rect.y && y <= rect.height + rect.y\r\n}\r\n\r\nfunction sortAxes(axes, onlyAxisToNotify) {\r\n if (onlyAxisToNotify) {\r\n axes = axes.sort((a, b) => {\r\n if (a === onlyAxisToNotify) {\r\n return -1\r\n }\r\n if (b === onlyAxisToNotify) {\r\n return 1\r\n }\r\n return 0\r\n })\r\n }\r\n return axes\r\n}\r\n\r\nfunction getFilteredAxes(axes) {\r\n return axes.filter(a => !a.getTranslator().getBusinessRange().isEmpty())\r\n}\r\n\r\nfunction isAxisAvailablePanning(axes) {\r\n return axes.some(axis => !axis.isExtremePosition(false) || !axis.isExtremePosition(true))\r\n}\r\n\r\nfunction axisZoom(axis, onlyAxisToNotify, getRange, getParameters, actionField, scale, e) {\r\n var silent = onlyAxisToNotify && axis !== onlyAxisToNotify;\r\n var range = getRange(axis);\r\n var {\r\n stopInteraction: stopInteraction,\r\n correctedRange: correctedRange\r\n } = axis.checkZoomingLowerLimitOvercome(actionField, scale, range);\r\n var result = axis.handleZooming(stopInteraction ? null : correctedRange, getParameters(silent), e, actionField);\r\n stopInteraction && axis.handleZoomEnd();\r\n return {\r\n stopInteraction: stopInteraction,\r\n result: result\r\n }\r\n}\r\n\r\nfunction zoomAxes(e, axes, getRange, zoom, params, onlyAxisToNotify) {\r\n axes = sortAxes(axes, onlyAxisToNotify);\r\n var zoomStarted = false;\r\n var getParameters = silent => ({\r\n start: !!silent,\r\n end: !!silent\r\n });\r\n getFilteredAxes(axes).some(axis => {\r\n var translator = axis.getTranslator();\r\n var scale = translator.getMinScale(zoom);\r\n var {\r\n stopInteraction: stopInteraction,\r\n result: result\r\n } = axisZoom(axis, onlyAxisToNotify, getRange(_extends({\r\n scale: scale,\r\n translator: translator,\r\n axis: axis\r\n }, params)), getParameters, \"zoom\", scale, e);\r\n zoomStarted = !stopInteraction;\r\n return onlyAxisToNotify && result.isPrevented\r\n });\r\n return zoomStarted\r\n}\r\n\r\nfunction cancelEvent(e) {\r\n if (e.originalEvent) {\r\n cancelEvent(e.originalEvent)\r\n }\r\n if (false !== e.cancelable) {\r\n e.cancel = true\r\n }\r\n}\r\nexport default {\r\n name: \"zoom_and_pan\",\r\n init: function() {\r\n var chart = this;\r\n var renderer = this._renderer;\r\n\r\n function getAxesCopy(zoomAndPan, actionField) {\r\n var axes = [];\r\n var options = zoomAndPan.options;\r\n var actionData = zoomAndPan.actionData;\r\n if (options.argumentAxis[actionField]) {\r\n axes.push(chart.getArgumentAxis())\r\n }\r\n if (options.valueAxis[actionField]) {\r\n axes = axes.concat(actionData.valueAxes)\r\n }\r\n return axes\r\n }\r\n\r\n function startAxesViewportChanging(zoomAndPan, actionField, e) {\r\n var axes = getAxesCopy(zoomAndPan, actionField);\r\n getFilteredAxes(axes).some(axis => axis.handleZooming(null, {\r\n end: true\r\n }, e, actionField).isPrevented) && cancelEvent(e)\r\n }\r\n\r\n function axesViewportChanging(zoomAndPan, actionField, e, offsetCalc, centerCalc) {\r\n function zoomAxes(axes, criteria, coordField, e, actionData) {\r\n var zoom = {\r\n zoomed: false\r\n };\r\n criteria && getFilteredAxes(axes).forEach(axis => {\r\n var options = axis.getOptions();\r\n var viewport = axis.visualRange();\r\n var scale = axis.getTranslator().getEventScale(e);\r\n var translate = -offsetCalc(e, actionData, coordField, scale);\r\n zoom = extend(true, zoom, axis.getTranslator().zoom(translate, scale, axis.getZoomBounds()));\r\n var range = axis.adjustRange(getVizRangeObject([zoom.min, zoom.max]));\r\n var {\r\n stopInteraction: stopInteraction,\r\n correctedRange: correctedRange\r\n } = axis.checkZoomingLowerLimitOvercome(actionField, scale, range);\r\n if (!isDefined(viewport) || viewport.startValue.valueOf() !== correctedRange.startValue.valueOf() || viewport.endValue.valueOf() !== correctedRange.endValue.valueOf()) {\r\n axis.handleZooming(stopInteraction ? null : correctedRange, {\r\n start: true,\r\n end: true\r\n }, e, actionField);\r\n if (!stopInteraction) {\r\n zoom.zoomed = true;\r\n zoom.deltaTranslate = translate - zoom.translate\r\n }\r\n } else if (\"touch\" === e.pointerType && \"discrete\" === options.type) {\r\n var isMinPosition = axis.isExtremePosition(false);\r\n var isMaxPosition = axis.isExtremePosition(true);\r\n var zoomInEnabled = scale > 1 && !stopInteraction;\r\n var zoomOutEnabled = scale < 1 && (!isMinPosition || !isMaxPosition);\r\n var panningEnabled = 1 === scale && !(isMinPosition && (translate < 0 && !options.inverted || translate > 0 && options.inverted) || isMaxPosition && (translate > 0 && !options.inverted || translate < 0 && options.inverted));\r\n zoom.enabled = zoomInEnabled || zoomOutEnabled || panningEnabled\r\n }\r\n });\r\n return zoom\r\n }\r\n\r\n function storeOffset(e, actionData, zoom, coordField) {\r\n if (zoom.zoomed) {\r\n actionData.offset[coordField] = (e.offset ? e.offset[coordField] : actionData.offset[coordField]) + zoom.deltaTranslate\r\n }\r\n }\r\n\r\n function storeCenter(center, actionData, zoom, coordField) {\r\n if (zoom.zoomed) {\r\n actionData.center[coordField] = center[coordField] + zoom.deltaTranslate\r\n }\r\n }\r\n var rotated = chart.option(\"rotated\");\r\n var actionData = zoomAndPan.actionData;\r\n var options = zoomAndPan.options;\r\n var argZoom = {};\r\n var valZoom = {};\r\n if (!actionData.fallback) {\r\n argZoom = zoomAxes(chart._argumentAxes, options.argumentAxis[actionField], rotated ? \"y\" : \"x\", e, actionData);\r\n valZoom = zoomAxes(actionData.valueAxes, options.valueAxis[actionField], rotated ? \"x\" : \"y\", e, actionData);\r\n chart._requestChange([\"VISUAL_RANGE\"]);\r\n storeOffset(e, actionData, argZoom, rotated ? \"y\" : \"x\");\r\n storeOffset(e, actionData, valZoom, rotated ? \"x\" : \"y\")\r\n }\r\n var center = centerCalc(e);\r\n storeCenter(center, actionData, argZoom, rotated ? \"y\" : \"x\");\r\n storeCenter(center, actionData, valZoom, rotated ? \"x\" : \"y\");\r\n if (!argZoom.zoomed && !valZoom.zoomed) {\r\n actionData.center = center\r\n }\r\n return argZoom.zoomed || valZoom.zoomed || actionData.fallback || argZoom.enabled || valZoom.enabled\r\n }\r\n\r\n function finishAxesViewportChanging(zoomAndPan, actionField, e, offsetCalc) {\r\n function zoomAxes(axes, coordField, actionData, onlyAxisToNotify) {\r\n var zoomStarted = false;\r\n var scale = e.scale || 1;\r\n var getRange = axis => {\r\n var zoom = axis.getTranslator().zoom(-offsetCalc(e, actionData, coordField, scale), scale, axis.getZoomBounds());\r\n return {\r\n startValue: zoom.min,\r\n endValue: zoom.max\r\n }\r\n };\r\n var getParameters = silent => ({\r\n start: true,\r\n end: silent\r\n });\r\n getFilteredAxes(axes).forEach(axis => {\r\n zoomStarted = !axisZoom(axis, onlyAxisToNotify, getRange, getParameters, actionField, scale, e).stopInteraction\r\n });\r\n return zoomStarted\r\n }\r\n var rotated = chart.option(\"rotated\");\r\n var actionData = zoomAndPan.actionData;\r\n var options = zoomAndPan.options;\r\n var zoomStarted = true;\r\n if (actionData.fallback) {\r\n zoomStarted &= options.argumentAxis[actionField] && zoomAxes(chart._argumentAxes, rotated ? \"y\" : \"x\", actionData, chart.getArgumentAxis());\r\n zoomStarted |= options.valueAxis[actionField] && zoomAxes(actionData.valueAxes, rotated ? \"x\" : \"y\", actionData)\r\n } else {\r\n var axes = getAxesCopy(zoomAndPan, actionField);\r\n getFilteredAxes(axes).forEach(axis => {\r\n axis.handleZooming(null, {\r\n start: true\r\n }, e, actionField)\r\n });\r\n zoomStarted = axes.length\r\n }\r\n zoomStarted && chart._requestChange([\"VISUAL_RANGE\"])\r\n }\r\n\r\n function prepareActionData(coords, action) {\r\n var axes = chart._argumentAxes.filter(axis => checkCoords(canvasToRect(axis.getCanvas()), coords));\r\n return {\r\n fallback: chart._lastRenderingTime > GESTURE_TIMEOUT,\r\n cancel: !axes.length || !isDefined(action),\r\n action: action,\r\n curAxisRect: axes.length && canvasToRect(axes[0].getCanvas()),\r\n valueAxes: axes.length && chart._valueAxes.filter(axis => checkCoords(canvasToRect(axis.getCanvas()), coords)),\r\n offset: {\r\n x: 0,\r\n y: 0\r\n },\r\n center: coords,\r\n startCenter: coords\r\n }\r\n }\r\n\r\n function getPointerCoord(rect, e) {\r\n var rootOffset = renderer.getRootOffset();\r\n return {\r\n x: _min(_max(e.pageX - rootOffset.left, rect.x), rect.width + rect.x),\r\n y: _min(_max(e.pageY - rootOffset.top, rect.y), rect.height + rect.y)\r\n }\r\n }\r\n\r\n function calcCenterForPinch(e) {\r\n var rootOffset = renderer.getRootOffset();\r\n var x1 = e.pointers[0].pageX;\r\n var x2 = e.pointers[1].pageX;\r\n var y1 = e.pointers[0].pageY;\r\n var y2 = e.pointers[1].pageY;\r\n return {\r\n x: _min(x1, x2) + _abs(x2 - x1) / 2 - rootOffset.left,\r\n y: _min(y1, y2) + _abs(y2 - y1) / 2 - rootOffset.top\r\n }\r\n }\r\n\r\n function calcCenterForDrag(e) {\r\n var rootOffset = renderer.getRootOffset();\r\n return {\r\n x: e.pageX - rootOffset.left,\r\n y: e.pageY - rootOffset.top\r\n }\r\n }\r\n\r\n function calcOffsetForDrag(e, actionData, coordField) {\r\n return e.offset[coordField] - actionData.offset[coordField]\r\n }\r\n\r\n function preventDefaults(e) {\r\n if (false !== e.cancelable) {\r\n e.preventDefault();\r\n e.stopPropagation()\r\n }\r\n chart._stopCurrentHandling()\r\n }\r\n var zoomAndPan = {\r\n dragStartHandler: function(e) {\r\n var options = zoomAndPan.options;\r\n var isTouch = \"touch\" === e.pointerType;\r\n var wantPan = options.argumentAxis.pan || options.valueAxis.pan;\r\n var wantZoom = options.argumentAxis.zoom || options.valueAxis.zoom;\r\n var panKeyPressed = isDefined(options.panKey) && e[normalizeEnum(options.panKey) + \"Key\"];\r\n var dragToZoom = options.dragToZoom;\r\n var action;\r\n e._cancelPreventDefault = true;\r\n if (isTouch) {\r\n if (options.allowTouchGestures && wantPan) {\r\n var cancelPanning = !zoomAndPan.panningVisualRangeEnabled() || zoomAndPan.skipEvent;\r\n action = cancelPanning ? null : \"pan\"\r\n }\r\n } else if (dragToZoom && wantPan && panKeyPressed || !dragToZoom && wantPan) {\r\n action = \"pan\"\r\n } else if (dragToZoom && wantZoom) {\r\n action = \"zoom\"\r\n }\r\n var actionData = prepareActionData(calcCenterForDrag(e), action);\r\n if (actionData.cancel) {\r\n zoomAndPan.skipEvent = false;\r\n if (false !== e.cancelable) {\r\n e.cancel = true\r\n }\r\n return\r\n }\r\n zoomAndPan.actionData = actionData;\r\n if (\"zoom\" === action) {\r\n actionData.startCoords = getPointerCoord(actionData.curAxisRect, e);\r\n actionData.rect = renderer.rect(0, 0, 0, 0).attr(options.dragBoxStyle).append(renderer.root)\r\n } else {\r\n startAxesViewportChanging(zoomAndPan, \"pan\", e)\r\n }\r\n },\r\n dragHandler: function(e) {\r\n var rotated = chart.option(\"rotated\");\r\n var options = zoomAndPan.options;\r\n var actionData = zoomAndPan.actionData;\r\n var isTouch = \"touch\" === e.pointerType;\r\n e._cancelPreventDefault = true;\r\n if (!actionData || isTouch && !zoomAndPan.panningVisualRangeEnabled()) {\r\n return\r\n }\r\n if (\"zoom\" === actionData.action) {\r\n preventDefaults(e);\r\n var curCanvas = actionData.curAxisRect;\r\n var startCoords = actionData.startCoords;\r\n var curCoords = getPointerCoord(curCanvas, e);\r\n var zoomArg = options.argumentAxis.zoom;\r\n var zoomVal = options.valueAxis.zoom;\r\n var rect = {\r\n x: _min(startCoords.x, curCoords.x),\r\n y: _min(startCoords.y, curCoords.y),\r\n width: _abs(startCoords.x - curCoords.x),\r\n height: _abs(startCoords.y - curCoords.y)\r\n };\r\n if (!zoomArg || !zoomVal) {\r\n if (!zoomArg && !rotated || !zoomVal && rotated) {\r\n rect.x = curCanvas.x;\r\n rect.width = curCanvas.width\r\n } else {\r\n rect.y = curCanvas.y;\r\n rect.height = curCanvas.height\r\n }\r\n }\r\n actionData.rect.attr(rect)\r\n } else if (\"pan\" === actionData.action) {\r\n axesViewportChanging(zoomAndPan, \"pan\", e, calcOffsetForDrag, e => e.offset);\r\n var deltaOffsetY = Math.abs(e.offset.y - actionData.offset.y);\r\n var deltaOffsetX = Math.abs(e.offset.x - actionData.offset.x);\r\n if (isTouch && (deltaOffsetY > MIN_DRAG_DELTA && deltaOffsetY > Math.abs(actionData.offset.x) || deltaOffsetX > MIN_DRAG_DELTA && deltaOffsetX > Math.abs(actionData.offset.y))) {\r\n return\r\n }\r\n preventDefaults(e)\r\n }\r\n },\r\n dragEndHandler: function(e) {\r\n var rotated = chart.option(\"rotated\");\r\n var options = zoomAndPan.options;\r\n var actionData = zoomAndPan.actionData;\r\n var isTouch = \"touch\" === e.pointerType;\r\n var getRange = _ref => {\r\n var {\r\n translator: translator,\r\n startCoord: startCoord,\r\n curCoord: curCoord\r\n } = _ref;\r\n return () => [translator.from(startCoord), translator.from(curCoord)]\r\n };\r\n var getCoords = (curCoords, startCoords, field) => ({\r\n curCoord: curCoords[field],\r\n startCoord: startCoords[field]\r\n });\r\n var needToZoom = (axisOption, coords) => axisOption.zoom && _abs(coords.curCoord - coords.startCoord) > MIN_DRAG_DELTA;\r\n var panIsEmpty = actionData && \"pan\" === actionData.action && !actionData.fallback && 0 === actionData.offset.x && 0 === actionData.offset.y;\r\n if (!actionData || isTouch && !zoomAndPan.panningVisualRangeEnabled() || panIsEmpty) {\r\n return\r\n }!isTouch && preventDefaults(e);\r\n if (\"zoom\" === actionData.action) {\r\n var curCoords = getPointerCoord(actionData.curAxisRect, e);\r\n var argumentCoords = getCoords(curCoords, actionData.startCoords, rotated ? \"y\" : \"x\");\r\n var valueCoords = getCoords(curCoords, actionData.startCoords, rotated ? \"x\" : \"y\");\r\n var argumentAxesZoomed = needToZoom(options.argumentAxis, argumentCoords) && zoomAxes(e, chart._argumentAxes, getRange, true, argumentCoords, chart.getArgumentAxis());\r\n var valueAxesZoomed = needToZoom(options.valueAxis, valueCoords) && zoomAxes(e, actionData.valueAxes, getRange, true, valueCoords);\r\n if (valueAxesZoomed || argumentAxesZoomed) {\r\n chart._requestChange([\"VISUAL_RANGE\"])\r\n }\r\n actionData.rect.dispose()\r\n } else if (\"pan\" === actionData.action) {\r\n finishAxesViewportChanging(zoomAndPan, \"pan\", e, calcOffsetForDrag)\r\n }\r\n zoomAndPan.actionData = null\r\n },\r\n pinchStartHandler: function(e) {\r\n var actionData = prepareActionData(calcCenterForPinch(e), \"zoom\");\r\n if (actionData.cancel) {\r\n cancelEvent(e);\r\n return\r\n }\r\n zoomAndPan.actionData = actionData;\r\n startAxesViewportChanging(zoomAndPan, \"zoom\", e)\r\n },\r\n pinchHandler: function(e) {\r\n if (!zoomAndPan.actionData) {\r\n return\r\n }\r\n axesViewportChanging(zoomAndPan, \"zoom\", e, (e, actionData, coordField, scale) => calcCenterForPinch(e)[coordField] - actionData.center[coordField] + (actionData.center[coordField] - actionData.center[coordField] * scale), calcCenterForPinch);\r\n preventDefaults(e)\r\n },\r\n pinchEndHandler: function(e) {\r\n if (!zoomAndPan.actionData) {\r\n return\r\n }\r\n finishAxesViewportChanging(zoomAndPan, \"zoom\", e, (e, actionData, coordField, scale) => actionData.center[coordField] - actionData.startCenter[coordField] + (actionData.startCenter[coordField] - actionData.startCenter[coordField] * scale));\r\n zoomAndPan.actionData = null\r\n },\r\n mouseWheelHandler: function(e) {\r\n var options = zoomAndPan.options;\r\n var rotated = chart.option(\"rotated\");\r\n var getRange = _ref2 => {\r\n var {\r\n translator: translator,\r\n coord: coord,\r\n scale: scale,\r\n axis: axis\r\n } = _ref2;\r\n return () => {\r\n var zoom = translator.zoom(-(coord - coord * scale), scale, axis.getZoomBounds());\r\n return {\r\n startValue: zoom.min,\r\n endValue: zoom.max\r\n }\r\n }\r\n };\r\n var coords = calcCenterForDrag(e);\r\n var axesZoomed = false;\r\n var targetAxes;\r\n if (options.valueAxis.zoom) {\r\n targetAxes = chart._valueAxes.filter(axis => checkCoords(canvasToRect(axis.getCanvas()), coords));\r\n if (0 === targetAxes.length) {\r\n var targetCanvas = chart._valueAxes.reduce((r, axis) => {\r\n if (!r && axis.coordsIn(coords.x, coords.y)) {\r\n r = axis.getCanvas()\r\n }\r\n return r\r\n }, null);\r\n if (targetCanvas) {\r\n targetAxes = chart._valueAxes.filter(axis => checkCoords(canvasToRect(axis.getCanvas()), {\r\n x: targetCanvas.left,\r\n y: targetCanvas.top\r\n }))\r\n }\r\n }\r\n axesZoomed |= zoomAxes(e, targetAxes, getRange, e.delta > 0, {\r\n coord: rotated ? coords.x : coords.y\r\n })\r\n }\r\n if (options.argumentAxis.zoom) {\r\n var canZoom = chart._argumentAxes.some(axis => {\r\n if (checkCoords(canvasToRect(axis.getCanvas()), coords) || axis.coordsIn(coords.x, coords.y)) {\r\n return true\r\n }\r\n return false\r\n });\r\n axesZoomed |= canZoom && zoomAxes(e, chart._argumentAxes, getRange, e.delta > 0, {\r\n coord: rotated ? coords.y : coords.x\r\n }, chart.getArgumentAxis())\r\n }\r\n if (axesZoomed) {\r\n chart._requestChange([\"VISUAL_RANGE\"]);\r\n if (targetAxes && isAxisAvailablePanning(targetAxes) || !targetAxes && zoomAndPan.panningVisualRangeEnabled()) {\r\n preventDefaults(e)\r\n }\r\n }\r\n },\r\n cleanup: function() {\r\n renderer.root.off(EVENTS_NS);\r\n zoomAndPan.actionData && zoomAndPan.actionData.rect && zoomAndPan.actionData.rect.dispose();\r\n zoomAndPan.actionData = null;\r\n renderer.root.css({\r\n \"touch-action\": \"\",\r\n \"-ms-touch-action\": \"\"\r\n })\r\n },\r\n setup: function(options) {\r\n zoomAndPan.cleanup();\r\n if (!options.argumentAxis.pan) {\r\n renderer.root.on(SCROLL_BAR_START_EVENT_NAME, cancelEvent)\r\n }\r\n if (options.argumentAxis.none && options.valueAxis.none) {\r\n return\r\n }\r\n zoomAndPan.options = options;\r\n if ((options.argumentAxis.zoom || options.valueAxis.zoom) && options.allowMouseWheel) {\r\n renderer.root.on(wheelEvent + EVENTS_NS, zoomAndPan.mouseWheelHandler)\r\n }\r\n if ((options.argumentAxis.zoom || options.valueAxis.zoom) && options.allowTouchGestures) {\r\n renderer.root.on(PINCH_START_EVENT_NAME, {\r\n passive: false\r\n }, zoomAndPan.pinchStartHandler).on(PINCH_EVENT_NAME, {\r\n passive: false\r\n }, zoomAndPan.pinchHandler).on(PINCH_END_EVENT_NAME, zoomAndPan.pinchEndHandler)\r\n }\r\n renderer.root.on(DRAG_START_EVENT_NAME, {\r\n immediate: true,\r\n passive: false\r\n }, zoomAndPan.dragStartHandler).on(DRAG_EVENT_NAME, {\r\n immediate: true,\r\n passive: false\r\n }, zoomAndPan.dragHandler).on(DRAG_END_EVENT_NAME, zoomAndPan.dragEndHandler);\r\n renderer.root.on(SCROLL_BAR_START_EVENT_NAME, (function(e) {\r\n zoomAndPan.actionData = {\r\n valueAxes: [],\r\n offset: {\r\n x: 0,\r\n y: 0\r\n },\r\n center: {\r\n x: 0,\r\n y: 0\r\n }\r\n };\r\n preventDefaults(e);\r\n startAxesViewportChanging(zoomAndPan, \"pan\", e)\r\n })).on(SCROLL_BAR_MOVE_EVENT_NAME, (function(e) {\r\n preventDefaults(e);\r\n axesViewportChanging(zoomAndPan, \"pan\", e, calcOffsetForDrag, e => e.offset)\r\n })).on(SCROLL_BAR_END_EVENT_NAME, (function(e) {\r\n preventDefaults(e);\r\n finishAxesViewportChanging(zoomAndPan, \"pan\", e, calcOffsetForDrag);\r\n zoomAndPan.actionData = null\r\n }))\r\n },\r\n panningVisualRangeEnabled: function() {\r\n return isAxisAvailablePanning(chart._valueAxes) || isAxisAvailablePanning(chart._argumentAxes)\r\n }\r\n };\r\n this._zoomAndPan = zoomAndPan\r\n },\r\n members: {\r\n _setupZoomAndPan: function() {\r\n this._zoomAndPan.setup(this._themeManager.getOptions(\"zoomAndPan\"))\r\n }\r\n },\r\n dispose: function() {\r\n this._zoomAndPan.cleanup()\r\n },\r\n customize: function(constructor) {\r\n constructor.addChange({\r\n code: \"ZOOM_AND_PAN\",\r\n handler: function() {\r\n this._setupZoomAndPan()\r\n },\r\n isThemeDependent: true,\r\n isOptionChange: true,\r\n option: \"zoomAndPan\"\r\n })\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/viz/m_chart.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n extend as _extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each as _each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n getPrecision\r\n} from \"../../core/utils/math\";\r\nimport {\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport {\r\n isDefined as _isDefined,\r\n type\r\n} from \"../../core/utils/type\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n Crosshair,\r\n getMargins\r\n} from \"../../viz/chart_components/crosshair\";\r\nimport {\r\n LayoutManager\r\n} from \"../../viz/chart_components/layout_manager\";\r\nimport multiAxesSynchronizer from \"../../viz/chart_components/multi_axes_synchronizer\";\r\nimport {\r\n ScrollBar\r\n} from \"../../viz/chart_components/scroll_bar\";\r\nimport shutterZoom from \"../../viz/chart_components/shutter_zoom\";\r\nimport zoomAndPan from \"../../viz/chart_components/zoom_and_pan\";\r\nimport {\r\n plugins\r\n} from \"../../viz/core/annotations\";\r\nimport {\r\n convertVisualRangeObject,\r\n getCategoriesInfo,\r\n getLog,\r\n isRelativeHeightPane,\r\n map as _map,\r\n normalizePanesHeight,\r\n PANE_PADDING,\r\n rangesAreEqual,\r\n updatePanesCanvases\r\n} from \"../../viz/core/utils\";\r\nimport rangeDataCalculator from \"../../viz/series/helpers/range_data_calculator\";\r\nimport {\r\n Range\r\n} from \"../../viz/translators/range\";\r\nimport {\r\n prepareSegmentRectPoints\r\n} from \"../../viz/utils\";\r\nimport {\r\n AdvancedChart\r\n} from \"./chart_components/m_advanced_chart\";\r\nimport {\r\n overlapping\r\n} from \"./chart_components/m_base_chart\";\r\nvar DEFAULT_PANE_NAME = \"default\";\r\nvar VISUAL_RANGE = \"VISUAL_RANGE\";\r\nvar DEFAULT_PANES = [{\r\n name: DEFAULT_PANE_NAME,\r\n border: {}\r\n}];\r\nvar DISCRETE = \"discrete\";\r\nvar {\r\n isArray: isArray\r\n} = Array;\r\n\r\nfunction getFirstAxisNameForPane(axes, paneName, defaultPane) {\r\n var result;\r\n for (var i = 0; i < axes.length; i += 1) {\r\n if (axes[i].pane === paneName || void 0 === axes[i].pane && paneName === defaultPane) {\r\n result = axes[i].name;\r\n break\r\n }\r\n }\r\n if (!result) {\r\n result = axes[0].name\r\n }\r\n return result\r\n}\r\n\r\nfunction changeVisibilityAxisGrids(axis, gridVisibility, minorGridVisibility) {\r\n var gridOpt = axis.getOptions().grid;\r\n var minorGridOpt = axis.getOptions().minorGrid;\r\n gridOpt.visible = gridVisibility;\r\n minorGridOpt && (minorGridOpt.visible = minorGridVisibility)\r\n}\r\n\r\nfunction hideGridsOnNonFirstValueAxisForPane(axesForPane) {\r\n var axisShown = false;\r\n var hiddenStubAxis = [];\r\n var minorGridVisibility = axesForPane.some(axis => {\r\n var minorGridOptions = axis.getOptions().minorGrid;\r\n return null === minorGridOptions || void 0 === minorGridOptions ? void 0 : minorGridOptions.visible\r\n });\r\n var gridVisibility = axesForPane.some(axis => {\r\n var gridOptions = axis.getOptions().grid;\r\n return null === gridOptions || void 0 === gridOptions ? void 0 : gridOptions.visible\r\n });\r\n if (axesForPane.length > 1) {\r\n axesForPane.forEach(axis => {\r\n var gridOpt = axis.getOptions().grid;\r\n if (axisShown) {\r\n changeVisibilityAxisGrids(axis, false, false)\r\n } else if (null === gridOpt || void 0 === gridOpt ? void 0 : gridOpt.visible) {\r\n if (axis.getTranslator().getBusinessRange().isEmpty()) {\r\n changeVisibilityAxisGrids(axis, false, false);\r\n hiddenStubAxis.push(axis)\r\n } else {\r\n axisShown = true;\r\n changeVisibilityAxisGrids(axis, gridVisibility, minorGridVisibility)\r\n }\r\n }\r\n });\r\n if (!axisShown && hiddenStubAxis.length) {\r\n changeVisibilityAxisGrids(hiddenStubAxis[0], gridVisibility, minorGridVisibility)\r\n }\r\n }\r\n}\r\n\r\nfunction findAxisOptions(valueAxes, valueAxesOptions, axisName) {\r\n var result;\r\n var axInd;\r\n for (axInd = 0; axInd < valueAxesOptions.length; axInd += 1) {\r\n if (valueAxesOptions[axInd].name === axisName) {\r\n result = valueAxesOptions[axInd];\r\n result.priority = axInd;\r\n break\r\n }\r\n }\r\n if (!result) {\r\n for (axInd = 0; axInd < valueAxes.length; axInd += 1) {\r\n if (valueAxes[axInd].name === axisName) {\r\n result = valueAxes[axInd].getOptions();\r\n result.priority = valueAxes[axInd].priority;\r\n break\r\n }\r\n }\r\n }\r\n return result\r\n}\r\n\r\nfunction findAxis(paneName, axisName, axes) {\r\n var axisByName = axes.find(axis => axis.name === axisName && axis.pane === paneName);\r\n if (axisByName) {\r\n return axisByName\r\n }\r\n if (paneName) {\r\n return findAxis(void 0, axisName, axes)\r\n }\r\n}\r\n\r\nfunction compareAxes(a, b) {\r\n return a.priority - b.priority\r\n}\r\n\r\nfunction doesPaneExist(panes, paneName) {\r\n return panes.some(pane => pane.name === paneName)\r\n}\r\n\r\nfunction accumulate(field, src1, src2, auxSpacing) {\r\n var val1 = src1[field] || 0;\r\n var val2 = src2[field] || 0;\r\n return val1 + val2 + (val1 && val2 ? auxSpacing : 0)\r\n}\r\n\r\nfunction pickMax(field, src1, src2) {\r\n return pickMaxValue(src1[field], src2[field])\r\n}\r\n\r\nfunction pickMaxValue(val1, val2) {\r\n return Math.max(val1 || 0, val2 || 0)\r\n}\r\n\r\nfunction getAxisMargins(axis) {\r\n return axis.getMargins()\r\n}\r\n\r\nfunction getHorizontalAxesMargins(axes, getMarginsFunc) {\r\n return axes.reduce((margins, axis) => {\r\n var _a;\r\n var axisMargins = getMarginsFunc(axis);\r\n var paneMargins = margins.panes[axis.pane] = margins.panes[axis.pane] || {};\r\n var spacing = axis.getMultipleAxesSpacing();\r\n paneMargins.top = accumulate(\"top\", paneMargins, axisMargins, spacing);\r\n paneMargins.bottom = accumulate(\"bottom\", paneMargins, axisMargins, spacing);\r\n paneMargins.left = pickMax(\"left\", paneMargins, axisMargins);\r\n paneMargins.right = pickMax(\"right\", paneMargins, axisMargins);\r\n margins.top = pickMax(\"top\", paneMargins, margins);\r\n margins.bottom = pickMax(\"bottom\", paneMargins, margins);\r\n margins.left = pickMax(\"left\", paneMargins, margins);\r\n margins.right = pickMax(\"right\", paneMargins, margins);\r\n var orthogonalAxis = null === (_a = axis.getOrthogonalAxis) || void 0 === _a ? void 0 : _a.call(axis);\r\n var shouldResetPositionMargin = (null === orthogonalAxis || void 0 === orthogonalAxis ? void 0 : orthogonalAxis.customPositionIsAvailable()) && (!axis.customPositionIsBoundaryOrthogonalAxis() || !orthogonalAxis.customPositionEqualsToPredefined());\r\n if (shouldResetPositionMargin) {\r\n margins[orthogonalAxis.getResolvedBoundaryPosition()] = 0\r\n }\r\n return margins\r\n }, {\r\n panes: {}\r\n })\r\n}\r\n\r\nfunction getVerticalAxesMargins(axes) {\r\n return axes.reduce((margins, axis) => {\r\n var axisMargins = axis.getMargins();\r\n var paneMargins = margins.panes[axis.pane] = margins.panes[axis.pane] || {};\r\n var spacing = axis.getMultipleAxesSpacing();\r\n paneMargins.top = pickMax(\"top\", paneMargins, axisMargins);\r\n paneMargins.bottom = pickMax(\"bottom\", paneMargins, axisMargins);\r\n paneMargins.left = accumulate(\"left\", paneMargins, axisMargins, spacing);\r\n paneMargins.right = accumulate(\"right\", paneMargins, axisMargins, spacing);\r\n margins.top = pickMax(\"top\", paneMargins, margins);\r\n margins.bottom = pickMax(\"bottom\", paneMargins, margins);\r\n margins.left = pickMax(\"left\", paneMargins, margins);\r\n margins.right = pickMax(\"right\", paneMargins, margins);\r\n return margins\r\n }, {\r\n panes: {}\r\n })\r\n}\r\n\r\nfunction performActionOnAxes(axes, action, actionArgument1, actionArgument2, actionArgument3) {\r\n axes.forEach(axis => {\r\n axis[action](null === actionArgument1 || void 0 === actionArgument1 ? void 0 : actionArgument1[axis.pane], (null === actionArgument2 || void 0 === actionArgument2 ? void 0 : actionArgument2[axis.pane]) || actionArgument2, actionArgument3)\r\n })\r\n}\r\n\r\nfunction shrinkCanvases(isRotated, canvases, sizes, verticalMargins, horizontalMargins) {\r\n function getMargin(side, margins, pane) {\r\n var m = !(isRotated ? [\"left\", \"right\"] : [\"top\", \"bottom\"]).includes(side) ? margins : margins.panes[pane] || {};\r\n return m[side]\r\n }\r\n\r\n function getMaxMargin(side, margins1, margins2, pane) {\r\n return pickMaxValue(getMargin(side, margins1, pane), getMargin(side, margins2, pane))\r\n }\r\n var getOriginalField = field => \"original\".concat(field[0].toUpperCase()).concat(field.slice(1));\r\n\r\n function shrink(canvases, paneNames, sizeField, startMargin, endMargin, oppositeMargins) {\r\n paneNames = paneNames.sort((p1, p2) => canvases[p2][startMargin] - canvases[p1][startMargin]);\r\n paneNames.forEach(pane => {\r\n var canvas = canvases[pane];\r\n oppositeMargins.forEach(margin => {\r\n canvas[margin] = canvas[getOriginalField(margin)] + getMaxMargin(margin, verticalMargins, horizontalMargins, pane)\r\n })\r\n });\r\n var firstPane = canvases[paneNames[0]];\r\n var initialEmptySpace = firstPane[sizeField] - firstPane[getOriginalField(endMargin)] - canvases[paneNames.at(-1)][getOriginalField(startMargin)];\r\n var emptySpace = paneNames.reduce((space, paneName) => {\r\n var maxStartMargin = getMaxMargin(startMargin, verticalMargins, horizontalMargins, paneName);\r\n var maxEndMargin = getMaxMargin(endMargin, verticalMargins, horizontalMargins, paneName);\r\n return space - maxStartMargin - maxEndMargin\r\n }, initialEmptySpace) - PANE_PADDING * (paneNames.length - 1);\r\n emptySpace -= Object.keys(sizes).reduce((prev, key) => {\r\n var currentHeight = !isRelativeHeightPane(sizes[key]) ? sizes[key].height : 0;\r\n return prev + currentHeight\r\n }, 0);\r\n var initialOffset = firstPane[sizeField] - firstPane[getOriginalField(endMargin)] - (emptySpace < 0 ? emptySpace : 0);\r\n paneNames.reduce((offset, pane) => {\r\n var canvas = canvases[pane];\r\n var paneSize = sizes[pane];\r\n offset -= getMaxMargin(endMargin, verticalMargins, horizontalMargins, pane);\r\n canvas[endMargin] = firstPane[sizeField] - offset;\r\n offset -= !isRelativeHeightPane(paneSize) ? paneSize.height : Math.floor(emptySpace * paneSize.height);\r\n canvas[startMargin] = offset;\r\n offset -= getMaxMargin(startMargin, verticalMargins, horizontalMargins, pane) + PANE_PADDING;\r\n return offset\r\n }, initialOffset)\r\n }\r\n var paneNames = Object.keys(canvases);\r\n if (!isRotated) {\r\n shrink(canvases, paneNames, \"height\", \"top\", \"bottom\", [\"left\", \"right\"])\r\n } else {\r\n shrink(canvases, paneNames, \"width\", \"left\", \"right\", [\"top\", \"bottom\"])\r\n }\r\n return canvases\r\n}\r\n\r\nfunction drawAxesWithTicks(axes, condition, canvases, panesBorderOptions) {\r\n if (condition) {\r\n performActionOnAxes(axes, \"createTicks\", canvases);\r\n multiAxesSynchronizer.synchronize(axes)\r\n }\r\n performActionOnAxes(axes, \"draw\", !condition && canvases, panesBorderOptions)\r\n}\r\n\r\nfunction shiftAxis(side1, side2) {\r\n var shifts = {};\r\n return function(axis) {\r\n if (!axis.customPositionIsAvailable() || axis.customPositionEqualsToPredefined()) {\r\n var shift = shifts[axis.pane] = shifts[axis.pane] || {\r\n top: 0,\r\n left: 0,\r\n bottom: 0,\r\n right: 0\r\n };\r\n var spacing = axis.getMultipleAxesSpacing();\r\n var margins = axis.getMargins();\r\n axis.shift(shift);\r\n shift[side1] = accumulate(side1, shift, margins, spacing);\r\n shift[side2] = accumulate(side2, shift, margins, spacing)\r\n } else {\r\n axis.shift({\r\n top: 0,\r\n left: 0,\r\n bottom: 0,\r\n right: 0\r\n })\r\n }\r\n }\r\n}\r\n\r\nfunction getCommonSize(side, margins) {\r\n var size = 0;\r\n var paneMargins;\r\n Object.keys(margins.panes).forEach(pane => {\r\n paneMargins = margins.panes[pane];\r\n size += \"height\" === side ? paneMargins.top + paneMargins.bottom : paneMargins.left + paneMargins.right\r\n });\r\n return size\r\n}\r\n\r\nfunction checkUsedSpace(sizeShortage, side, axes, getMarginFunc) {\r\n var size = 0;\r\n if (sizeShortage[side] > 0) {\r\n size = getCommonSize(side, getMarginFunc(axes, getAxisMargins));\r\n performActionOnAxes(axes, \"hideTitle\");\r\n sizeShortage[side] -= size - getCommonSize(side, getMarginFunc(axes, getAxisMargins))\r\n }\r\n if (sizeShortage[side] > 0) {\r\n performActionOnAxes(axes, \"hideOuterElements\")\r\n }\r\n}\r\n\r\nfunction axisAnimationEnabled(drawOptions, pointsToAnimation) {\r\n var pointsCount = pointsToAnimation.reduce((sum, count) => sum + count, 0) / pointsToAnimation.length;\r\n return drawOptions.animate && pointsCount <= drawOptions.animationPointsLimit\r\n}\r\n\r\nfunction collectMarkersInfoBySeries(allSeries, filteredSeries, argAxis) {\r\n var series = [];\r\n var overloadedSeries = {};\r\n var argVisualRange = argAxis.visualRange();\r\n var argTranslator = argAxis.getTranslator();\r\n var argViewPortFilter = rangeDataCalculator.getViewPortFilter(argVisualRange || {});\r\n filteredSeries.forEach(s => {\r\n var valAxis = s.getValueAxis();\r\n var valVisualRange = valAxis.getCanvasRange();\r\n var valTranslator = valAxis.getTranslator();\r\n var seriesIndex = allSeries.indexOf(s);\r\n var valViewPortFilter = rangeDataCalculator.getViewPortFilter(valVisualRange || {});\r\n overloadedSeries[seriesIndex] = {};\r\n filteredSeries.forEach(sr => {\r\n overloadedSeries[seriesIndex][allSeries.indexOf(sr)] = 0\r\n });\r\n var seriesPoints = [];\r\n var pointsInViewport = s.getPoints().filter(p => p.getOptions().visible && argViewPortFilter(p.argument) && (valViewPortFilter(p.getMinValue(true)) || valViewPortFilter(p.getMaxValue(true))));\r\n pointsInViewport.forEach(p => {\r\n var tp = {\r\n seriesIndex: seriesIndex,\r\n argument: p.argument,\r\n value: p.getMaxValue(true),\r\n size: p.bubbleSize || p.getOptions().size,\r\n x: void 0,\r\n y: void 0\r\n };\r\n if (p.getMinValue(true) !== p.getMaxValue(true)) {\r\n var mp = _extend({}, tp);\r\n mp.value = p.getMinValue(true);\r\n mp.x = argTranslator.to(mp.argument, 1);\r\n mp.y = valTranslator.to(mp.value, 1);\r\n seriesPoints.push(mp)\r\n }\r\n tp.x = argTranslator.to(tp.argument, 1);\r\n tp.y = valTranslator.to(tp.value, 1);\r\n seriesPoints.push(tp)\r\n });\r\n overloadedSeries[seriesIndex].pointsCount = seriesPoints.length;\r\n overloadedSeries[seriesIndex].total = 0;\r\n overloadedSeries[seriesIndex].continuousSeries = 0;\r\n series.push({\r\n name: s.name,\r\n index: seriesIndex,\r\n points: seriesPoints\r\n })\r\n });\r\n return {\r\n series: series,\r\n overloadedSeries: overloadedSeries\r\n }\r\n}\r\n\r\nfunction applyAutoHidePointMarkers(allSeries, filteredSeries, overloadedSeries, argAxis) {\r\n var argAxisType = argAxis.getOptions().type;\r\n filteredSeries.forEach(s => {\r\n var seriesIndex = allSeries.indexOf(s);\r\n s.autoHidePointMarkers = false;\r\n var tickCount = argAxis.getTicksValues().majorTicksValues.length;\r\n if (s.autoHidePointMarkersEnabled() && (argAxisType === DISCRETE || overloadedSeries[seriesIndex].pointsCount > tickCount)) {\r\n var shouldContinueLoop = true;\r\n Object.keys(overloadedSeries[seriesIndex]).forEach(index => {\r\n var i = parseInt(index, 10);\r\n if (shouldContinueLoop && (isNaN(i) || overloadedSeries[seriesIndex].total / overloadedSeries[seriesIndex].continuousSeries < 3)) {\r\n return\r\n }\r\n if (i === seriesIndex) {\r\n if (2 * overloadedSeries[i][i] >= overloadedSeries[i].pointsCount) {\r\n s.autoHidePointMarkers = true;\r\n shouldContinueLoop = false\r\n }\r\n } else if (overloadedSeries[seriesIndex].total >= overloadedSeries[seriesIndex].pointsCount) {\r\n s.autoHidePointMarkers = true;\r\n shouldContinueLoop = false\r\n }\r\n })\r\n }\r\n })\r\n}\r\n\r\nfunction fastHidingPointMarkersByArea(canvas, markersInfo, series) {\r\n var area = canvas.width * canvas.height;\r\n var seriesPoints = markersInfo.series;\r\n var _loop = function(i) {\r\n var currentSeries = series.filter(s => s.name === seriesPoints[i].name)[0];\r\n var {\r\n points: points\r\n } = seriesPoints[i];\r\n var pointSize = points.length ? points[0].size : 0;\r\n var pointsArea = pointSize * pointSize * points.length;\r\n if (currentSeries.autoHidePointMarkersEnabled() && pointsArea >= area / seriesPoints.length) {\r\n var {\r\n index: index\r\n } = seriesPoints[i];\r\n currentSeries.autoHidePointMarkers = true;\r\n seriesPoints.splice(i, 1);\r\n series.splice(series.indexOf(currentSeries), 1);\r\n markersInfo.overloadedSeries[index] = null\r\n }\r\n };\r\n for (var i = seriesPoints.length - 1; i >= 0; i -= 1) {\r\n _loop(i)\r\n }\r\n}\r\n\r\nfunction updateMarkersInfo(points, overloadedSeries) {\r\n var isContinuousSeries = false;\r\n for (var i = 0; i < points.length - 1; i += 1) {\r\n var curPoint = points[i];\r\n var {\r\n size: size\r\n } = curPoint;\r\n if (_isDefined(curPoint.x) && _isDefined(curPoint.y)) {\r\n for (var j = i + 1; j < points.length; j += 1) {\r\n var nextPoint = points[j];\r\n var nextX = null === nextPoint || void 0 === nextPoint ? void 0 : nextPoint.x;\r\n var nextY = null === nextPoint || void 0 === nextPoint ? void 0 : nextPoint.y;\r\n if (!_isDefined(nextX) || Math.abs(curPoint.x - nextX) >= size) {\r\n isContinuousSeries = isContinuousSeries && j !== i + 1;\r\n break\r\n } else {\r\n var distance = _isDefined(nextX) && _isDefined(nextY) && Math.sqrt(Math.pow(curPoint.x - nextX, 2) + Math.pow(curPoint.y - nextY, 2));\r\n if (distance && distance < size) {\r\n overloadedSeries[curPoint.seriesIndex][nextPoint.seriesIndex] += 1;\r\n overloadedSeries[curPoint.seriesIndex].total += 1;\r\n if (!isContinuousSeries) {\r\n overloadedSeries[curPoint.seriesIndex].continuousSeries += 1;\r\n isContinuousSeries = true\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\nvar dxChart = AdvancedChart.inherit({\r\n _themeSection: \"chart\",\r\n _fontFields: [\"crosshair.label.font\"],\r\n _initCore() {\r\n this.paneAxis = {};\r\n this.callBase()\r\n },\r\n _init() {\r\n this._containerInitialHeight = hasWindow() ? getHeight(this._$element) : 0;\r\n this.callBase()\r\n },\r\n _correctAxes() {\r\n this._correctValueAxes(true)\r\n },\r\n _getExtraOptions: noop,\r\n _createPanes() {\r\n var panes = this.option(\"panes\");\r\n var panesNameCounter = 0;\r\n var defaultPane;\r\n if (!panes || isArray(panes) && !panes.length) {\r\n panes = DEFAULT_PANES\r\n }\r\n this.callBase();\r\n defaultPane = this.option(\"defaultPane\");\r\n panes = _extend(true, [], isArray(panes) ? panes : [panes]);\r\n _each(panes, (_, pane) => {\r\n pane.name = !_isDefined(pane.name) ? DEFAULT_PANE_NAME + panesNameCounter++ : pane.name\r\n });\r\n if (_isDefined(defaultPane)) {\r\n if (!doesPaneExist(panes, defaultPane)) {\r\n this._incidentOccurred(\"W2101\", [defaultPane]);\r\n defaultPane = panes[panes.length - 1].name\r\n }\r\n } else {\r\n defaultPane = panes[panes.length - 1].name\r\n }\r\n this.defaultPane = defaultPane;\r\n panes = this._isRotated() ? panes.reverse() : panes;\r\n return panes\r\n },\r\n _getAxisRenderingOptions: () => ({\r\n axisType: \"xyAxes\",\r\n drawingType: \"linear\"\r\n }),\r\n _prepareAxisOptions(typeSelector, userOptions, rotated) {\r\n return {\r\n isHorizontal: \"argumentAxis\" === typeSelector !== rotated,\r\n containerColor: this._themeManager.getOptions(\"containerBackgroundColor\")\r\n }\r\n },\r\n _checkPaneName(seriesTheme) {\r\n var paneList = _map(this.panes, pane => pane.name);\r\n seriesTheme.pane = seriesTheme.pane || this.defaultPane;\r\n return paneList.includes(seriesTheme.pane)\r\n },\r\n _initCustomPositioningAxes() {\r\n var argumentAxis = this.getArgumentAxis();\r\n var valueAxisName = argumentAxis.getOptions().customPositionAxis;\r\n var valueAxis = this._valueAxes.find(v => v.pane === argumentAxis.pane && (!valueAxisName || valueAxisName === v.name));\r\n this._valueAxes.forEach(v => {\r\n if (argumentAxis !== v.getOrthogonalAxis()) {\r\n v.getOrthogonalAxis = () => argumentAxis;\r\n v.customPositionIsBoundaryOrthogonalAxis = () => argumentAxis.customPositionIsBoundary()\r\n }\r\n });\r\n if (_isDefined(valueAxis) && valueAxis !== argumentAxis.getOrthogonalAxis()) {\r\n argumentAxis.getOrthogonalAxis = () => valueAxis;\r\n argumentAxis.customPositionIsBoundaryOrthogonalAxis = () => this._valueAxes.some(v => v.customPositionIsBoundary())\r\n } else if (_isDefined(argumentAxis.getOrthogonalAxis()) && !_isDefined(valueAxis)) {\r\n argumentAxis.getOrthogonalAxis = noop\r\n }\r\n },\r\n _getAllAxes() {\r\n return this._argumentAxes.concat(this._valueAxes)\r\n },\r\n _resetAxesAnimation(isFirstDrawing, isHorizontal) {\r\n var axes;\r\n if (_isDefined(isHorizontal)) {\r\n axes = isHorizontal ^ this._isRotated() ? this._argumentAxes : this._valueAxes\r\n } else {\r\n axes = this._getAllAxes()\r\n }\r\n axes.forEach(a => {\r\n a.resetApplyingAnimation(isFirstDrawing)\r\n })\r\n },\r\n _axesBoundaryPositioning() {\r\n var allAxes = this._getAllAxes();\r\n var boundaryStateChanged = false;\r\n allAxes.forEach(a => {\r\n if (a.customPositionIsAvailable()) {\r\n var prevBoundaryState = a.customPositionIsBoundary();\r\n a._customBoundaryPosition = a.getCustomBoundaryPosition();\r\n boundaryStateChanged = boundaryStateChanged || prevBoundaryState !== a.customPositionIsBoundary()\r\n }\r\n });\r\n return boundaryStateChanged\r\n },\r\n _getCrosshairMargins() {\r\n var crosshairOptions = this._getCrosshairOptions() || {};\r\n var crosshairEnabled = crosshairOptions.enabled;\r\n var margins = getMargins();\r\n var horizontalLabel = _extend(true, {}, crosshairOptions.label, crosshairOptions.horizontalLine.label);\r\n var verticalLabel = _extend(true, {}, crosshairOptions.label, crosshairOptions.verticalLine.label);\r\n return {\r\n x: crosshairEnabled && crosshairOptions.horizontalLine.visible && horizontalLabel.visible ? margins.x : 0,\r\n y: crosshairEnabled && crosshairOptions.verticalLine.visible && verticalLabel.visible ? margins.y : 0\r\n }\r\n },\r\n _getValueAxis(paneName, axisName) {\r\n var valueAxes = this._valueAxes;\r\n var valueAxisOptions = this.option(\"valueAxis\") || {};\r\n var valueAxesOptions = isArray(valueAxisOptions) ? valueAxisOptions : [valueAxisOptions];\r\n var rotated = this._isRotated();\r\n var crosshairMargins = this._getCrosshairMargins();\r\n var axisOptions;\r\n var axis;\r\n axisName = axisName || getFirstAxisNameForPane(valueAxes, paneName, this.defaultPane);\r\n axis = findAxis(paneName, axisName, valueAxes);\r\n if (!axis) {\r\n axisOptions = findAxisOptions(valueAxes, valueAxesOptions, axisName);\r\n if (!axisOptions) {\r\n this._incidentOccurred(\"W2102\", [axisName]);\r\n axisOptions = {\r\n name: axisName,\r\n priority: valueAxes.length\r\n }\r\n }\r\n axis = this._createAxis(false, this._populateAxesOptions(\"valueAxis\", axisOptions, {\r\n pane: paneName,\r\n name: axisName,\r\n optionPath: isArray(valueAxisOptions) ? \"valueAxis[\".concat(axisOptions.priority, \"]\") : \"valueAxis\",\r\n crosshairMargin: rotated ? crosshairMargins.y : crosshairMargins.x\r\n }, rotated));\r\n axis.applyVisualRangeSetter(this._getVisualRangeSetter());\r\n valueAxes.push(axis)\r\n }\r\n axis.setPane(paneName);\r\n return axis\r\n },\r\n _correctValueAxes(needHideGrids) {\r\n var synchronizeMultiAxes = this._themeManager.getOptions(\"synchronizeMultiAxes\");\r\n var valueAxes = this._valueAxes;\r\n var paneWithAxis = {};\r\n this.series.forEach(series => {\r\n var axis = series.getValueAxis();\r\n paneWithAxis[axis.pane] = true\r\n });\r\n this.panes.forEach(pane => {\r\n var paneName = pane.name;\r\n if (!paneWithAxis[paneName]) {\r\n this._getValueAxis(paneName)\r\n }\r\n if (needHideGrids && synchronizeMultiAxes) {\r\n hideGridsOnNonFirstValueAxisForPane(valueAxes.filter(axis => axis.pane === paneName))\r\n }\r\n });\r\n this._valueAxes = valueAxes.filter(axis => {\r\n if (!axis.pane) {\r\n axis.setPane(this.defaultPane)\r\n }\r\n var paneExists = doesPaneExist(this.panes, axis.pane);\r\n if (!paneExists) {\r\n axis.dispose();\r\n axis = null\r\n }\r\n return paneExists\r\n }).sort(compareAxes);\r\n var defaultAxis = this.getValueAxis();\r\n this._valueAxes.forEach(axis => {\r\n var {\r\n optionPath: optionPath\r\n } = axis.getOptions();\r\n if (optionPath) {\r\n var axesWithSamePath = this._valueAxes.filter(a => a.getOptions().optionPath === optionPath);\r\n if (axesWithSamePath.length > 1) {\r\n if (axesWithSamePath.some(a => a === defaultAxis)) {\r\n axesWithSamePath.forEach(a => {\r\n if (a !== defaultAxis) {\r\n a.getOptions().optionPath = null\r\n }\r\n })\r\n } else {\r\n axesWithSamePath.forEach((a, i) => {\r\n if (0 !== i) {\r\n a.getOptions().optionPath = null\r\n }\r\n })\r\n }\r\n }\r\n }\r\n })\r\n },\r\n _getSeriesForPane(paneName) {\r\n var paneSeries = [];\r\n _each(this.series, (_, oneSeries) => {\r\n if (oneSeries.pane === paneName) {\r\n paneSeries.push(oneSeries)\r\n }\r\n });\r\n return paneSeries\r\n },\r\n _createPanesBorderOptions() {\r\n var commonBorderOptions = this._themeManager.getOptions(\"commonPaneSettings\").border;\r\n var panesBorderOptions = {};\r\n this.panes.forEach(pane => {\r\n panesBorderOptions[pane.name] = _extend(true, {}, commonBorderOptions, pane.border)\r\n });\r\n return panesBorderOptions\r\n },\r\n _createScrollBar() {\r\n var _a;\r\n var scrollBarOptions = this._themeManager.getOptions(\"scrollBar\") || {};\r\n var scrollBarGroup = this._scrollBarGroup;\r\n if (scrollBarOptions.visible) {\r\n scrollBarOptions.rotated = this._isRotated();\r\n this._scrollBar = (this._scrollBar || new ScrollBar(this._renderer, scrollBarGroup)).update(scrollBarOptions)\r\n } else {\r\n scrollBarGroup.linkRemove();\r\n null === (_a = this._scrollBar) || void 0 === _a ? void 0 : _a.dispose();\r\n this._scrollBar = null\r\n }\r\n },\r\n _executeAppendAfterSeries(append) {\r\n append()\r\n },\r\n _prepareToRender() {\r\n var panesBorderOptions = this._createPanesBorderOptions();\r\n this._createPanesBackground();\r\n this._appendAxesGroups();\r\n this._adjustViewport();\r\n return panesBorderOptions\r\n },\r\n _adjustViewport() {\r\n var adjustOnZoom = this._themeManager.getOptions(\"adjustOnZoom\");\r\n if (!adjustOnZoom) {\r\n return\r\n }\r\n this._valueAxes.forEach(axis => axis.adjust())\r\n },\r\n _recreateSizeDependentObjects(isCanvasChanged) {\r\n var series = this._getVisibleSeries();\r\n var useAggregation = series.some(s => s.useAggregation());\r\n var zoomChanged = this._isZooming();\r\n if (!useAggregation) {\r\n return\r\n }\r\n this._argumentAxes.forEach(axis => {\r\n axis.updateCanvas(this._canvas, true)\r\n });\r\n series.forEach(series => {\r\n if (series.useAggregation() && (isCanvasChanged || zoomChanged || !series._useAllAggregatedPoints)) {\r\n series.createPoints()\r\n }\r\n });\r\n this._processSeriesFamilies()\r\n },\r\n _isZooming() {\r\n var argumentAxis = this.getArgumentAxis();\r\n if (!(null === argumentAxis || void 0 === argumentAxis ? void 0 : argumentAxis.getTranslator())) {\r\n return false\r\n }\r\n var businessRange = argumentAxis.getTranslator().getBusinessRange();\r\n var zoomRange = argumentAxis.getViewport();\r\n var min = zoomRange ? zoomRange.min : 0;\r\n var max = zoomRange ? zoomRange.max : 0;\r\n if (\"logarithmic\" === businessRange.axisType) {\r\n min = getLog(min, businessRange.base);\r\n max = getLog(max, businessRange.base)\r\n }\r\n var viewportDistance = businessRange.axisType === DISCRETE ? getCategoriesInfo(businessRange.categories, min, max).categories.length : Math.abs(max - min);\r\n var precision = getPrecision(viewportDistance);\r\n precision = precision > 1 ? Math.pow(10, precision - 2) : 1;\r\n var zoomChanged = Math.round((this._zoomLength - viewportDistance) * precision) / precision !== 0;\r\n this._zoomLength = viewportDistance;\r\n return zoomChanged\r\n },\r\n _handleSeriesDataUpdated() {\r\n var viewport = new Range;\r\n this.series.forEach(s => {\r\n viewport.addRange(s.getArgumentRange())\r\n });\r\n this._argumentAxes.forEach(axis => {\r\n axis.updateCanvas(this._canvas, true);\r\n axis.setBusinessRange(viewport, this._axesReinitialized)\r\n });\r\n this.callBase()\r\n },\r\n _isLegendInside() {\r\n return this._legend && \"inside\" === this._legend.getPosition()\r\n },\r\n _isRotated() {\r\n return this._themeManager.getOptions(\"rotated\")\r\n },\r\n _getLayoutTargets() {\r\n return this.panes\r\n },\r\n _applyClipRects(panesBorderOptions) {\r\n this._drawPanesBorders(panesBorderOptions);\r\n this._createClipRectsForPanes();\r\n this._applyClipRectsForAxes();\r\n this._fillPanesBackground()\r\n },\r\n _updateLegendPosition(drawOptions, legendHasInsidePosition) {\r\n if (drawOptions.drawLegend && this._legend && legendHasInsidePosition) {\r\n var {\r\n panes: panes\r\n } = this;\r\n var newCanvas = _extend({}, panes[0].canvas);\r\n var layoutManager = new LayoutManager;\r\n newCanvas.right = panes[panes.length - 1].canvas.right;\r\n newCanvas.bottom = panes[panes.length - 1].canvas.bottom;\r\n layoutManager.layoutInsideLegend(this._legend, newCanvas)\r\n }\r\n },\r\n _allowLegendInsidePosition: () => true,\r\n _applyExtraSettings(series) {\r\n var paneIndex = this._getPaneIndex(series.pane);\r\n var panesClipRects = this._panesClipRects;\r\n var wideClipRect = panesClipRects.wide[paneIndex];\r\n series.setClippingParams(panesClipRects.base[paneIndex].id, null === wideClipRect || void 0 === wideClipRect ? void 0 : wideClipRect.id, this._getPaneBorderVisibility(paneIndex))\r\n },\r\n _updatePanesCanvases(drawOptions) {\r\n if (!drawOptions.recreateCanvas) {\r\n return\r\n }\r\n updatePanesCanvases(this.panes, this._canvas, this._isRotated())\r\n },\r\n _normalizePanesHeight() {\r\n normalizePanesHeight(this.panes)\r\n },\r\n _renderScaleBreaks() {\r\n this._valueAxes.concat(this._argumentAxes).forEach(axis => {\r\n axis.drawScaleBreaks()\r\n })\r\n },\r\n _getArgFilter() {\r\n return rangeDataCalculator.getViewPortFilter(this.getArgumentAxis().visualRange() || {})\r\n },\r\n _applyPointMarkersAutoHiding() {\r\n var allSeries = this.series;\r\n if (!this._themeManager.getOptions(\"autoHidePointMarkers\")) {\r\n allSeries.forEach(s => {\r\n s.autoHidePointMarkers = false\r\n });\r\n return\r\n }\r\n this.panes.forEach(_ref => {\r\n var {\r\n borderCoords: borderCoords,\r\n name: name\r\n } = _ref;\r\n var series = allSeries.filter(s => s.pane === name && s.usePointsToDefineAutoHiding());\r\n var argAxis = this.getArgumentAxis();\r\n var markersInfo = collectMarkersInfoBySeries(allSeries, series, argAxis);\r\n fastHidingPointMarkersByArea(borderCoords, markersInfo, series);\r\n if (markersInfo.series.length) {\r\n var argVisualRange = argAxis.visualRange();\r\n var argAxisIsDiscrete = argAxis.getOptions().type === DISCRETE;\r\n var sortingCallback = argAxisIsDiscrete ? (p1, p2) => argVisualRange.categories.indexOf(p1.argument) - argVisualRange.categories.indexOf(p2.argument) : (p1, p2) => p1.argument - p2.argument;\r\n var points = [];\r\n markersInfo.series.forEach(s => {\r\n points = points.concat(s.points)\r\n });\r\n points.sort(sortingCallback);\r\n updateMarkersInfo(points, markersInfo.overloadedSeries);\r\n applyAutoHidePointMarkers(allSeries, series, markersInfo.overloadedSeries, argAxis)\r\n }\r\n })\r\n },\r\n _renderAxes(drawOptions, panesBorderOptions) {\r\n function calculateTitlesWidth(axes) {\r\n return axes.map(axis => {\r\n if (!axis.getTitle) {\r\n return 0\r\n }\r\n var title = axis.getTitle();\r\n return title ? title.bBox.width : 0\r\n })\r\n }\r\n var rotated = this._isRotated();\r\n var synchronizeMultiAxes = this._themeManager.getOptions(\"synchronizeMultiAxes\");\r\n var scrollBar = this._scrollBar ? [this._scrollBar] : [];\r\n var extendedArgAxes = this._isArgumentAxisBeforeScrollBar() ? this._argumentAxes.concat(scrollBar) : scrollBar.concat(this._argumentAxes);\r\n var verticalAxes = rotated ? this._argumentAxes : this._valueAxes;\r\n var verticalElements = rotated ? extendedArgAxes : this._valueAxes;\r\n var horizontalAxes = rotated ? this._valueAxes : this._argumentAxes;\r\n var horizontalElements = rotated ? this._valueAxes : extendedArgAxes;\r\n var allAxes = verticalAxes.concat(horizontalAxes);\r\n var allElements = allAxes.concat(scrollBar);\r\n var verticalAxesFirstDrawing = verticalAxes.some(v => v.isFirstDrawing());\r\n this._normalizePanesHeight();\r\n this._updatePanesCanvases(drawOptions);\r\n var panesCanvases = this.panes.reduce((canvases, pane) => {\r\n canvases[pane.name] = _extend({}, pane.canvas);\r\n return canvases\r\n }, {});\r\n var paneSizes = this.panes.reduce((sizes, pane) => {\r\n sizes[pane.name] = {\r\n height: pane.height,\r\n unit: pane.unit\r\n };\r\n return sizes\r\n }, {});\r\n var cleanPanesCanvases = _extend(true, {}, panesCanvases);\r\n this._initCustomPositioningAxes();\r\n var needCustomAdjustAxes = this._axesBoundaryPositioning();\r\n if (!drawOptions.adjustAxes && !needCustomAdjustAxes) {\r\n drawAxesWithTicks(verticalAxes, !rotated && synchronizeMultiAxes, panesCanvases, panesBorderOptions);\r\n drawAxesWithTicks(horizontalAxes, rotated && synchronizeMultiAxes, panesCanvases, panesBorderOptions);\r\n performActionOnAxes(allAxes, \"prepareAnimation\");\r\n this._renderScaleBreaks();\r\n horizontalAxes.forEach(a => a.resolveOverlappingForCustomPositioning(verticalAxes));\r\n verticalAxes.forEach(a => a.resolveOverlappingForCustomPositioning(horizontalAxes));\r\n return false\r\n }\r\n if (needCustomAdjustAxes) {\r\n allAxes.forEach(a => a.customPositionIsAvailable() && a.shift({\r\n top: 0,\r\n left: 0,\r\n bottom: 0,\r\n right: 0\r\n }))\r\n }\r\n if (this._scrollBar) {\r\n this._scrollBar.setPane(this.panes)\r\n }\r\n var vAxesMargins = {\r\n panes: {},\r\n left: 0,\r\n right: 0\r\n };\r\n var hAxesMargins = getHorizontalAxesMargins(horizontalElements, axis => axis.estimateMargins(panesCanvases[axis.pane]));\r\n panesCanvases = shrinkCanvases(rotated, panesCanvases, paneSizes, vAxesMargins, hAxesMargins);\r\n var drawAxesAndSetCanvases = isHorizontal => {\r\n var axes = isHorizontal ? horizontalAxes : verticalAxes;\r\n var condition = (isHorizontal ? rotated : !rotated) && synchronizeMultiAxes;\r\n drawAxesWithTicks(axes, condition, panesCanvases, panesBorderOptions);\r\n if (isHorizontal) {\r\n hAxesMargins = getHorizontalAxesMargins(horizontalElements, getAxisMargins)\r\n } else {\r\n vAxesMargins = getVerticalAxesMargins(verticalElements)\r\n }\r\n panesCanvases = shrinkCanvases(rotated, panesCanvases, paneSizes, vAxesMargins, hAxesMargins)\r\n };\r\n drawAxesAndSetCanvases(false);\r\n drawAxesAndSetCanvases(true);\r\n if (!this._changesApplying && this._estimateTickIntervals(verticalAxes, panesCanvases)) {\r\n drawAxesAndSetCanvases(false)\r\n }\r\n var oldTitlesWidth = calculateTitlesWidth(verticalAxes);\r\n var visibleSeries = this._getVisibleSeries();\r\n var pointsToAnimation = this._getPointsToAnimation(visibleSeries);\r\n var axesIsAnimated = axisAnimationEnabled(drawOptions, pointsToAnimation);\r\n performActionOnAxes(allElements, \"updateSize\", panesCanvases, axesIsAnimated);\r\n horizontalElements.forEach(shiftAxis(\"top\", \"bottom\"));\r\n verticalElements.forEach(shiftAxis(\"left\", \"right\"));\r\n this._renderScaleBreaks();\r\n this.panes.forEach(pane => {\r\n _extend(pane.canvas, panesCanvases[pane.name])\r\n });\r\n this._valueAxes.forEach(axis => {\r\n axis.setInitRange()\r\n });\r\n verticalAxes.forEach((axis, i) => {\r\n var _a;\r\n if (null === (_a = axis.hasWrap) || void 0 === _a ? void 0 : _a.call(axis)) {\r\n var title = axis.getTitle();\r\n var newTitleWidth = title ? title.bBox.width : 0;\r\n var offset = newTitleWidth - oldTitlesWidth[i];\r\n if (\"right\" === axis.getOptions().position) {\r\n vAxesMargins.right += offset\r\n } else {\r\n vAxesMargins.left += offset;\r\n this.panes.forEach(_ref2 => {\r\n var {\r\n name: name\r\n } = _ref2;\r\n vAxesMargins.panes[name].left += offset\r\n })\r\n }\r\n panesCanvases = shrinkCanvases(rotated, panesCanvases, paneSizes, vAxesMargins, hAxesMargins);\r\n performActionOnAxes(allElements, \"updateSize\", panesCanvases, false, false);\r\n oldTitlesWidth = calculateTitlesWidth(verticalAxes)\r\n }\r\n });\r\n if (verticalAxes.some(v => v.customPositionIsAvailable() && v.getCustomPosition() !== v._axisPosition)) {\r\n axesIsAnimated && this._resetAxesAnimation(verticalAxesFirstDrawing, false);\r\n performActionOnAxes(verticalAxes, \"updateSize\", panesCanvases, axesIsAnimated)\r\n }\r\n horizontalAxes.forEach(a => a.resolveOverlappingForCustomPositioning(verticalAxes));\r\n verticalAxes.forEach(a => a.resolveOverlappingForCustomPositioning(horizontalAxes));\r\n return cleanPanesCanvases\r\n },\r\n _getExtraTemplatesItems() {\r\n var allAxes = (this._argumentAxes || []).concat(this._valueAxes || []);\r\n var elements = this._collectTemplatesFromItems(allAxes);\r\n return {\r\n items: elements.items,\r\n groups: elements.groups,\r\n launchRequest() {\r\n allAxes.forEach(a => {\r\n a.setRenderedState(true)\r\n })\r\n },\r\n doneRequest() {\r\n allAxes.forEach(a => {\r\n a.setRenderedState(false)\r\n })\r\n }\r\n }\r\n },\r\n _estimateTickIntervals: (axes, canvases) => axes.some(axis => axis.estimateTickInterval(canvases[axis.pane])),\r\n checkForMoreSpaceForPanesCanvas() {\r\n var rotated = this._isRotated();\r\n var panesAreCustomSized = this.panes.filter(p => p.unit).length === this.panes.length;\r\n var needSpace = false;\r\n if (panesAreCustomSized) {\r\n var needHorizontalSpace = 0;\r\n var needVerticalSpace = 0;\r\n if (rotated) {\r\n var argAxisRightMargin = this.getArgumentAxis().getMargins().right;\r\n var rightPanesIndent = Math.min(...this.panes.map(p => p.canvas.right));\r\n needHorizontalSpace = this._canvas.right + argAxisRightMargin - rightPanesIndent\r\n } else {\r\n var argAxisBottomMargin = this.getArgumentAxis().getMargins().bottom;\r\n var bottomPanesIndent = Math.min(...this.panes.map(p => p.canvas.bottom));\r\n needVerticalSpace = this._canvas.bottom + argAxisBottomMargin - bottomPanesIndent\r\n }\r\n needSpace = needHorizontalSpace > 0 || needVerticalSpace > 0 ? {\r\n width: needHorizontalSpace,\r\n height: needVerticalSpace\r\n } : false;\r\n if (0 !== needVerticalSpace) {\r\n var realSize = this.getSize();\r\n var customSize = this.option(\"size\");\r\n var container = this._$element[0];\r\n var containerHasStyledHeight = !!parseInt(container.style.height, 10) || 0 !== this._containerInitialHeight;\r\n if (!rotated && !(null === customSize || void 0 === customSize ? void 0 : customSize.height) && !containerHasStyledHeight) {\r\n this._forceResize(realSize.width, realSize.height + needVerticalSpace);\r\n needSpace = false\r\n }\r\n }\r\n } else {\r\n needSpace = this.layoutManager.needMoreSpaceForPanesCanvas(this._getLayoutTargets(), rotated, pane => ({\r\n width: rotated && !!pane.unit,\r\n height: !rotated && !!pane.unit\r\n }))\r\n }\r\n return needSpace\r\n },\r\n _forceResize(width, height) {\r\n this._renderer.resize(width, height);\r\n this._updateSize(true);\r\n this._setContentSize();\r\n this._preserveOriginalCanvas();\r\n this._updateCanvasClipRect(this._canvas)\r\n },\r\n _shrinkAxes(sizeShortage, panesCanvases) {\r\n if (!sizeShortage || !panesCanvases) {\r\n return\r\n }\r\n this._renderer.stopAllAnimations(true);\r\n var rotated = this._isRotated();\r\n var scrollBar = this._scrollBar ? [this._scrollBar] : [];\r\n var extendedArgAxes = this._isArgumentAxisBeforeScrollBar() ? this._argumentAxes.concat(scrollBar) : scrollBar.concat(this._argumentAxes);\r\n var verticalAxes = rotated ? extendedArgAxes : this._valueAxes;\r\n var horizontalAxes = rotated ? this._valueAxes : extendedArgAxes;\r\n var allAxes = verticalAxes.concat(horizontalAxes);\r\n if (sizeShortage.width || sizeShortage.height) {\r\n checkUsedSpace(sizeShortage, \"height\", horizontalAxes, getHorizontalAxesMargins);\r\n checkUsedSpace(sizeShortage, \"width\", verticalAxes, getVerticalAxesMargins);\r\n performActionOnAxes(allAxes, \"updateSize\", panesCanvases);\r\n var paneSizes = this.panes.reduce((sizes, pane) => {\r\n sizes[pane.name] = {\r\n height: pane.height,\r\n unit: pane.unit\r\n };\r\n return sizes\r\n }, {});\r\n panesCanvases = shrinkCanvases(rotated, panesCanvases, paneSizes, getVerticalAxesMargins(verticalAxes), getHorizontalAxesMargins(horizontalAxes, getAxisMargins));\r\n performActionOnAxes(allAxes, \"updateSize\", panesCanvases);\r\n horizontalAxes.forEach(shiftAxis(\"top\", \"bottom\"));\r\n verticalAxes.forEach(shiftAxis(\"left\", \"right\"));\r\n this.panes.forEach(pane => _extend(pane.canvas, panesCanvases[pane.name]))\r\n }\r\n },\r\n _isArgumentAxisBeforeScrollBar() {\r\n var _a;\r\n var argumentAxis = this.getArgumentAxis();\r\n if (this._scrollBar) {\r\n var argAxisPosition = argumentAxis.getResolvedBoundaryPosition();\r\n var argAxisLabelPosition = null === (_a = argumentAxis.getOptions().label) || void 0 === _a ? void 0 : _a.position;\r\n var scrollBarPosition = this._scrollBar.getOptions().position;\r\n return argumentAxis.hasNonBoundaryPosition() || scrollBarPosition === argAxisPosition && argAxisLabelPosition !== scrollBarPosition\r\n }\r\n return false\r\n },\r\n _getPanesParameters() {\r\n var {\r\n panes: panes\r\n } = this;\r\n var params = [];\r\n for (var i = 0; i < panes.length; i += 1) {\r\n if (this._getPaneBorderVisibility(i)) {\r\n params.push({\r\n coords: panes[i].borderCoords,\r\n clipRect: this._panesClipRects.fixed[i]\r\n })\r\n }\r\n }\r\n return params\r\n },\r\n _createCrosshairCursor() {\r\n var options = this._themeManager.getOptions(\"crosshair\") || {};\r\n var argumentAxis = this.getArgumentAxis();\r\n var axes = this._isRotated() ? [this._valueAxes, [argumentAxis]] : [\r\n [argumentAxis], this._valueAxes\r\n ];\r\n var parameters = {\r\n canvas: this._getCommonCanvas(),\r\n panes: this._getPanesParameters(),\r\n axes: axes\r\n };\r\n if (!(null === options || void 0 === options ? void 0 : options.enabled)) {\r\n return\r\n }\r\n if (this._crosshair) {\r\n this._crosshair.update(options, parameters)\r\n } else {\r\n this._crosshair = new Crosshair(this._renderer, options, parameters, this._crosshairCursorGroup)\r\n }\r\n this._crosshair.render()\r\n },\r\n _getCommonCanvas() {\r\n var commonCanvas;\r\n var {\r\n panes: panes\r\n } = this;\r\n for (var i = 0; i < panes.length; i += 1) {\r\n var {\r\n canvas: canvas\r\n } = panes[i];\r\n if (!commonCanvas) {\r\n commonCanvas = _extend({}, canvas)\r\n } else {\r\n commonCanvas.right = canvas.right;\r\n commonCanvas.bottom = canvas.bottom\r\n }\r\n }\r\n return commonCanvas\r\n },\r\n _createPanesBackground() {\r\n var defaultBackgroundColor = this._themeManager.getOptions(\"commonPaneSettings\").backgroundColor;\r\n var renderer = this._renderer;\r\n var rects = [];\r\n this._panesBackgroundGroup.clear();\r\n for (var i = 0; i < this.panes.length; i += 1) {\r\n var backgroundColor = this.panes[i].backgroundColor || defaultBackgroundColor;\r\n if (!backgroundColor || \"none\" === backgroundColor) {\r\n rects.push(null);\r\n continue\r\n }\r\n var rect = renderer.rect(0, 0, 0, 0).attr({\r\n fill: backgroundColor,\r\n \"stroke-width\": 0\r\n }).append(this._panesBackgroundGroup);\r\n rects.push(rect)\r\n }\r\n this.panesBackground = rects\r\n },\r\n _fillPanesBackground() {\r\n _each(this.panes, (i, pane) => {\r\n var bc = pane.borderCoords;\r\n if (null !== this.panesBackground[i]) {\r\n this.panesBackground[i].attr({\r\n x: bc.left,\r\n y: bc.top,\r\n width: bc.width,\r\n height: bc.height\r\n })\r\n }\r\n })\r\n },\r\n _calcPaneBorderCoords(pane) {\r\n var {\r\n canvas: canvas\r\n } = pane;\r\n var bc = pane.borderCoords = pane.borderCoords || {};\r\n bc.left = canvas.left;\r\n bc.top = canvas.top;\r\n bc.right = canvas.width - canvas.right;\r\n bc.bottom = canvas.height - canvas.bottom;\r\n bc.width = Math.max(bc.right - bc.left, 0);\r\n bc.height = Math.max(bc.bottom - bc.top, 0)\r\n },\r\n _drawPanesBorders(panesBorderOptions) {\r\n var rotated = this._isRotated();\r\n this._panesBorderGroup.linkRemove().clear();\r\n _each(this.panes, (i, pane) => {\r\n var borderOptions = panesBorderOptions[pane.name];\r\n var attr = {\r\n fill: \"none\",\r\n stroke: borderOptions.color,\r\n \"stroke-opacity\": borderOptions.opacity,\r\n \"stroke-width\": borderOptions.width,\r\n dashStyle: borderOptions.dashStyle,\r\n \"stroke-linecap\": \"square\"\r\n };\r\n this._calcPaneBorderCoords(pane, rotated);\r\n if (!borderOptions.visible) {\r\n return\r\n }\r\n var bc = pane.borderCoords;\r\n var segmentRectParams = prepareSegmentRectPoints(bc.left, bc.top, bc.width, bc.height, borderOptions);\r\n this._renderer.path(segmentRectParams.points, segmentRectParams.pathType).attr(attr).append(this._panesBorderGroup)\r\n });\r\n this._panesBorderGroup.linkAppend()\r\n },\r\n _createClipRect(clipArray, index, left, top, width, height) {\r\n var clipRect = clipArray[index];\r\n if (!clipRect) {\r\n clipRect = this._renderer.clipRect(left, top, width, height);\r\n clipArray[index] = clipRect\r\n } else {\r\n clipRect.attr({\r\n x: left,\r\n y: top,\r\n width: width,\r\n height: height\r\n })\r\n }\r\n },\r\n _createClipRectsForPanes() {\r\n var canvas = this._canvas;\r\n _each(this.panes, (i, pane) => {\r\n var needWideClipRect = false;\r\n var bc = pane.borderCoords;\r\n var {\r\n left: left\r\n } = bc;\r\n var {\r\n top: top\r\n } = bc;\r\n var {\r\n width: width\r\n } = bc;\r\n var {\r\n height: height\r\n } = bc;\r\n var panesClipRects = this._panesClipRects;\r\n this._createClipRect(panesClipRects.fixed, i, left, top, width, height);\r\n this._createClipRect(panesClipRects.base, i, left, top, width, height);\r\n _each(this.series, (_, series) => {\r\n if (series.pane === pane.name && (series.isFinancialSeries() || series.areErrorBarsVisible())) {\r\n needWideClipRect = true\r\n }\r\n });\r\n if (needWideClipRect) {\r\n if (this._isRotated()) {\r\n top = 0;\r\n height = canvas.height\r\n } else {\r\n left = 0;\r\n width = canvas.width\r\n }\r\n this._createClipRect(panesClipRects.wide, i, left, top, width, height)\r\n } else {\r\n panesClipRects.wide[i] = null\r\n }\r\n })\r\n },\r\n _applyClipRectsForAxes() {\r\n var axes = this._getAllAxes();\r\n var chartCanvasClipRectID = this._getCanvasClipRectID();\r\n for (var i = 0; i < axes.length; i += 1) {\r\n var elementsClipRectID = this._getElementsClipRectID(axes[i].pane);\r\n axes[i].applyClipRects(elementsClipRectID, chartCanvasClipRectID)\r\n }\r\n },\r\n _getPaneBorderVisibility(paneIndex) {\r\n var _a;\r\n var commonPaneBorderVisible = this._themeManager.getOptions(\"commonPaneSettings\").border.visible;\r\n var pane = this.panes[paneIndex];\r\n var paneVisibility = null === (_a = null === pane || void 0 === pane ? void 0 : pane.border) || void 0 === _a ? void 0 : _a.visible;\r\n return void 0 === paneVisibility ? commonPaneBorderVisible : paneVisibility\r\n },\r\n _getCanvasForPane(paneName) {\r\n var _a;\r\n return null === (_a = this.panes.find(pane => pane.name === paneName)) || void 0 === _a ? void 0 : _a.canvas\r\n },\r\n _getTrackerSettings() {\r\n return _extend(this.callBase(), {\r\n chart: this,\r\n rotated: this._isRotated(),\r\n crosshair: this._getCrosshairOptions().enabled ? this._crosshair : null,\r\n stickyHovering: this._themeManager.getOptions(\"stickyHovering\")\r\n })\r\n },\r\n _resolveLabelOverlappingStack() {\r\n var isRotated = this._isRotated();\r\n var shiftDirection = isRotated ? (box, length) => ({\r\n x: box.x - length,\r\n y: box.y\r\n }) : (box, length) => ({\r\n x: box.x,\r\n y: box.y - length\r\n });\r\n var processor = (a, b) => {\r\n var coordPosition = isRotated ? 1 : 0;\r\n var figureCenter1 = a.labels[0].getFigureCenter()[coordPosition];\r\n var figureCenter12 = b.labels[0].getFigureCenter()[coordPosition];\r\n if (figureCenter1 - figureCenter12 === 0) {\r\n var translator = a.labels[0].getPoint().series.getValueAxis().getTranslator();\r\n var direction = translator.isInverted() ? -1 : 1;\r\n return (a.value() - b.value()) * direction\r\n }\r\n return 0\r\n };\r\n _each(this._getStackPoints(), (_, stacks) => {\r\n _each(stacks, (_, points) => {\r\n var isInverted = points[0].series.getValueAxis().getOptions().inverted;\r\n overlapping.resolveLabelOverlappingInOneDirection(points, this._getCommonCanvas(), isRotated, isInverted, shiftDirection, processor)\r\n })\r\n })\r\n },\r\n _getStackPoints() {\r\n var stackPoints = {};\r\n var visibleSeries = this._getVisibleSeries();\r\n _each(visibleSeries, (_, singleSeries) => {\r\n var points = singleSeries.getPoints();\r\n var stackName = singleSeries.getStackName() || null;\r\n _each(points, (_, point) => {\r\n var {\r\n argument: argument\r\n } = point;\r\n if (!stackPoints[argument]) {\r\n stackPoints[argument] = {}\r\n }\r\n if (!stackPoints[argument][stackName]) {\r\n stackPoints[argument][stackName] = []\r\n }\r\n stackPoints[argument][stackName].push(point)\r\n })\r\n });\r\n return stackPoints\r\n },\r\n _getCrosshairOptions() {\r\n return this._getOption(\"crosshair\")\r\n },\r\n zoomArgument(min, max) {\r\n if (!this._initialized || !_isDefined(min) && !_isDefined(max)) {\r\n return\r\n }\r\n this.getArgumentAxis().visualRange([min, max])\r\n },\r\n resetVisualRange() {\r\n var axes = this._argumentAxes;\r\n var nonVirtualArgumentAxis = this.getArgumentAxis();\r\n axes.forEach(axis => {\r\n axis.resetVisualRange(nonVirtualArgumentAxis !== axis);\r\n this._applyCustomVisualRangeOption(axis)\r\n });\r\n this.callBase()\r\n },\r\n getVisibleArgumentBounds() {\r\n var translator = this._argumentAxes[0].getTranslator();\r\n var range = translator.getBusinessRange();\r\n var isDiscrete = range.axisType === DISCRETE;\r\n var {\r\n categories: categories\r\n } = range;\r\n return {\r\n minVisible: isDiscrete ? range.minVisible || categories[0] : range.minVisible,\r\n maxVisible: isDiscrete ? range.maxVisible || categories[categories.length - 1] : range.maxVisible\r\n }\r\n },\r\n _change_FULL_RENDER() {\r\n this.callBase();\r\n if (this._changes.has(VISUAL_RANGE)) {\r\n this._raiseZoomEndHandlers()\r\n }\r\n },\r\n _getAxesForScaling() {\r\n return [this.getArgumentAxis()].concat(this._valueAxes)\r\n },\r\n _applyVisualRangeByVirtualAxes(axis, range) {\r\n if (axis.isArgumentAxis) {\r\n if (axis !== this.getArgumentAxis()) {\r\n return true\r\n }\r\n this._argumentAxes.filter(a => a !== axis).forEach(a => a.visualRange(range, {\r\n start: true,\r\n end: true\r\n }))\r\n }\r\n return false\r\n },\r\n _raiseZoomEndHandlers() {\r\n this._argumentAxes.forEach(axis => axis.handleZoomEnd());\r\n this.callBase()\r\n },\r\n _setOptionsByReference() {\r\n this.callBase();\r\n _extend(this._optionsByReference, {\r\n \"argumentAxis.visualRange\": true\r\n })\r\n },\r\n option() {\r\n var option = this.callBase(...arguments);\r\n var valueAxis = this._options.silent(\"valueAxis\");\r\n if (\"array\" === type(valueAxis)) {\r\n for (var i = 0; i < valueAxis.length; i += 1) {\r\n var optionPath = \"valueAxis[\".concat(i, \"].visualRange\");\r\n this._optionsByReference[optionPath] = true\r\n }\r\n }\r\n return option\r\n },\r\n _notifyVisualRange() {\r\n var argAxis = this._argumentAxes[0];\r\n var argumentVisualRange = convertVisualRangeObject(argAxis.visualRange(), !isArray(this.option(\"argumentAxis.visualRange\")));\r\n if (!argAxis.skipEventRising || !rangesAreEqual(argumentVisualRange, this.option(\"argumentAxis.visualRange\"))) {\r\n this.option(\"argumentAxis.visualRange\", argumentVisualRange)\r\n } else {\r\n argAxis.skipEventRising = null\r\n }\r\n this.callBase()\r\n }\r\n});\r\ndxChart.addPlugin(shutterZoom);\r\ndxChart.addPlugin(zoomAndPan);\r\ndxChart.addPlugin(plugins.core);\r\ndxChart.addPlugin(plugins.chart);\r\nregisterComponent(\"dxChart\", dxChart);\r\nexport default dxChart;\r\n","/**\r\n * DevExtreme (esm/viz/chart.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Chart from \"../__internal/viz/m_chart\";\r\nexport default Chart;\r\n","/**\r\n * DevExtreme (esm/viz/chart_components/layout_manager.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isNumeric as _isNumber\r\n} from \"../../core/utils/type\";\r\nimport consts from \"../components/consts\";\r\nimport {\r\n WrapperLayoutElement\r\n} from \"../core/layout_element\";\r\nvar {\r\n floor: floor,\r\n sqrt: sqrt\r\n} = Math;\r\nvar _min = Math.min;\r\nvar _max = Math.max;\r\nvar DEFAULT_INNER_RADIUS = .5;\r\nvar RADIAL_LABEL_INDENT = consts.radialLabelIndent;\r\n\r\nfunction getNearestCoord(firstCoord, secondCoord, pointCenterCoord) {\r\n var nearestCoord;\r\n if (pointCenterCoord < firstCoord) {\r\n nearestCoord = firstCoord\r\n } else if (secondCoord < pointCenterCoord) {\r\n nearestCoord = secondCoord\r\n } else {\r\n nearestCoord = pointCenterCoord\r\n }\r\n return nearestCoord\r\n}\r\n\r\nfunction getLabelLayout(point) {\r\n if (point._label.isVisible() && \"inside\" !== point._label.getLayoutOptions().position) {\r\n return point._label.getBoundingRect()\r\n }\r\n}\r\n\r\nfunction getPieRadius(series, paneCenterX, paneCenterY, accessibleRadius, minR) {\r\n series.some((function(singleSeries) {\r\n return singleSeries.getVisiblePoints().reduce((function(radiusIsFound, point) {\r\n var labelBBox = getLabelLayout(point);\r\n if (labelBBox) {\r\n var xCoords = getNearestCoord(labelBBox.x, labelBBox.x + labelBBox.width, paneCenterX);\r\n var yCoords = getNearestCoord(labelBBox.y, labelBBox.y + labelBBox.height, paneCenterY);\r\n accessibleRadius = _min(_max(getLengthFromCenter(xCoords, yCoords, paneCenterX, paneCenterY) - RADIAL_LABEL_INDENT, minR), accessibleRadius);\r\n radiusIsFound = true\r\n }\r\n return radiusIsFound\r\n }), false)\r\n }));\r\n return accessibleRadius\r\n}\r\n\r\nfunction getSizeLabels(series) {\r\n return series.reduce((function(res, singleSeries) {\r\n var maxWidth = singleSeries.getVisiblePoints().reduce((function(width, point) {\r\n var labelBBox = getLabelLayout(point);\r\n if (labelBBox && labelBBox.width > width) {\r\n width = labelBBox.width\r\n }\r\n return width\r\n }), 0);\r\n var rWidth = maxWidth;\r\n if (maxWidth) {\r\n res.outerLabelsCount++;\r\n if (res.outerLabelsCount > 1) {\r\n maxWidth += consts.pieLabelSpacing\r\n }\r\n rWidth += consts.pieLabelSpacing\r\n }\r\n res.sizes.push(maxWidth);\r\n res.rSizes.push(rWidth);\r\n res.common += maxWidth;\r\n return res\r\n }), {\r\n sizes: [],\r\n rSizes: [],\r\n common: 0,\r\n outerLabelsCount: 0\r\n })\r\n}\r\n\r\nfunction correctLabelRadius(labelSizes, radius, series, canvas, averageWidthLabels, centerX) {\r\n var curRadius;\r\n var i;\r\n var runningWidth = 0;\r\n var sizes = labelSizes.sizes;\r\n var rSizes = labelSizes.rSizes;\r\n for (i = 0; i < series.length; i++) {\r\n if (0 === sizes[i]) {\r\n curRadius && (curRadius += rSizes[i - 1]);\r\n continue\r\n }\r\n curRadius = floor(curRadius ? curRadius + rSizes[i - 1] : radius);\r\n series[i].correctLabelRadius(curRadius);\r\n runningWidth += averageWidthLabels || sizes[i];\r\n rSizes[i] = averageWidthLabels || rSizes[i];\r\n series[i].setVisibleArea({\r\n left: floor(centerX - radius - runningWidth),\r\n right: floor(canvas.width - (centerX + radius + runningWidth)),\r\n top: canvas.top,\r\n bottom: canvas.bottom,\r\n width: canvas.width,\r\n height: canvas.height\r\n })\r\n }\r\n}\r\n\r\nfunction getLengthFromCenter(x, y, paneCenterX, paneCenterY) {\r\n return sqrt((x - paneCenterX) * (x - paneCenterX) + (y - paneCenterY) * (y - paneCenterY))\r\n}\r\n\r\nfunction getInnerRadius(_ref) {\r\n var {\r\n type: type,\r\n innerRadius: innerRadius\r\n } = _ref;\r\n return \"pie\" === type ? 0 : _isNumber(innerRadius) ? Number(innerRadius) : DEFAULT_INNER_RADIUS\r\n}\r\n\r\nfunction LayoutManager() {}\r\n\r\nfunction getAverageLabelWidth(centerX, radius, canvas, sizeLabels) {\r\n return (centerX - radius - RADIAL_LABEL_INDENT - canvas.left) / sizeLabels.outerLabelsCount\r\n}\r\n\r\nfunction getFullRadiusWithLabels(centerX, canvas, sizeLabels) {\r\n return centerX - canvas.left - (sizeLabels.outerLabelsCount > 0 ? sizeLabels.common + RADIAL_LABEL_INDENT : 0)\r\n}\r\n\r\nfunction correctAvailableRadius(availableRadius, canvas, series, minR, paneCenterX, paneCenterY) {\r\n var sizeLabels = getSizeLabels(series);\r\n var averageWidthLabels;\r\n var fullRadiusWithLabels = getFullRadiusWithLabels(paneCenterX, canvas, sizeLabels);\r\n if (fullRadiusWithLabels < minR) {\r\n availableRadius = minR;\r\n averageWidthLabels = getAverageLabelWidth(paneCenterX, availableRadius, canvas, sizeLabels)\r\n } else {\r\n availableRadius = _min(getPieRadius(series, paneCenterX, paneCenterY, availableRadius, minR), fullRadiusWithLabels)\r\n }\r\n correctLabelRadius(sizeLabels, availableRadius + RADIAL_LABEL_INDENT, series, canvas, averageWidthLabels, paneCenterX);\r\n return availableRadius\r\n}\r\n\r\nfunction toLayoutElementCoords(canvas) {\r\n return new WrapperLayoutElement(null, {\r\n x: canvas.left,\r\n y: canvas.top,\r\n width: canvas.width - canvas.left - canvas.right,\r\n height: canvas.height - canvas.top - canvas.bottom\r\n })\r\n}\r\nLayoutManager.prototype = {\r\n constructor: LayoutManager,\r\n setOptions: function(options) {\r\n this._options = options\r\n },\r\n applyPieChartSeriesLayout: function(canvas, series, hideLayoutLabels) {\r\n var paneSpaceHeight = canvas.height - canvas.top - canvas.bottom;\r\n var paneSpaceWidth = canvas.width - canvas.left - canvas.right;\r\n var paneCenterX = paneSpaceWidth / 2 + canvas.left;\r\n var paneCenterY = paneSpaceHeight / 2 + canvas.top;\r\n var piePercentage = this._options.piePercentage;\r\n var availableRadius;\r\n var minR;\r\n if (_isNumber(piePercentage)) {\r\n availableRadius = minR = piePercentage * _min(canvas.height, canvas.width) / 2\r\n } else {\r\n availableRadius = _min(paneSpaceWidth, paneSpaceHeight) / 2;\r\n minR = this._options.minPiePercentage * availableRadius\r\n }\r\n if (!hideLayoutLabels) {\r\n availableRadius = correctAvailableRadius(availableRadius, canvas, series, minR, paneCenterX, paneCenterY)\r\n }\r\n return {\r\n centerX: floor(paneCenterX),\r\n centerY: floor(paneCenterY),\r\n radiusInner: floor(availableRadius * getInnerRadius(series[0])),\r\n radiusOuter: floor(availableRadius)\r\n }\r\n },\r\n applyEqualPieChartLayout: function(series, layout) {\r\n var radius = layout.radius;\r\n return {\r\n centerX: floor(layout.x),\r\n centerY: floor(layout.y),\r\n radiusInner: floor(radius * getInnerRadius(series[0])),\r\n radiusOuter: floor(radius)\r\n }\r\n },\r\n correctPieLabelRadius: function(series, layout, canvas) {\r\n var sizeLabels = getSizeLabels(series);\r\n var averageWidthLabels;\r\n var radius = layout.radiusOuter + RADIAL_LABEL_INDENT;\r\n var availableLabelWidth = layout.centerX - canvas.left - radius;\r\n if (sizeLabels.common + RADIAL_LABEL_INDENT > availableLabelWidth) {\r\n averageWidthLabels = getAverageLabelWidth(layout.centerX, layout.radiusOuter, canvas, sizeLabels)\r\n }\r\n correctLabelRadius(sizeLabels, radius, series, canvas, averageWidthLabels, layout.centerX)\r\n },\r\n needMoreSpaceForPanesCanvas(panes, rotated, fixedSizeCallback) {\r\n var options = this._options;\r\n var width = options.width;\r\n var height = options.height;\r\n var piePercentage = options.piePercentage;\r\n var percentageIsValid = _isNumber(piePercentage);\r\n var needHorizontalSpace = 0;\r\n var needVerticalSpace = 0;\r\n panes.forEach(pane => {\r\n var paneCanvas = pane.canvas;\r\n var minSize = percentageIsValid ? _min(paneCanvas.width, paneCanvas.height) * piePercentage : void 0;\r\n var paneSized = fixedSizeCallback ? fixedSizeCallback(pane) : {\r\n width: false,\r\n height: false\r\n };\r\n var needPaneHorizontalSpace = !paneSized.width ? (percentageIsValid ? minSize : width) - (paneCanvas.width - paneCanvas.left - paneCanvas.right) : 0;\r\n var needPaneVerticalSpace = !paneSized.height ? (percentageIsValid ? minSize : height) - (paneCanvas.height - paneCanvas.top - paneCanvas.bottom) : 0;\r\n if (rotated) {\r\n needHorizontalSpace += needPaneHorizontalSpace > 0 ? needPaneHorizontalSpace : 0;\r\n needVerticalSpace = _max(needPaneVerticalSpace > 0 ? needPaneVerticalSpace : 0, needVerticalSpace)\r\n } else {\r\n needHorizontalSpace = _max(needPaneHorizontalSpace > 0 ? needPaneHorizontalSpace : 0, needHorizontalSpace);\r\n needVerticalSpace += needPaneVerticalSpace > 0 ? needPaneVerticalSpace : 0\r\n }\r\n });\r\n return needHorizontalSpace > 0 || needVerticalSpace > 0 ? {\r\n width: needHorizontalSpace,\r\n height: needVerticalSpace\r\n } : false\r\n },\r\n layoutInsideLegend: function(legend, canvas) {\r\n var layoutOptions = legend.getLayoutOptions();\r\n if (!layoutOptions) {\r\n return\r\n }\r\n var position = layoutOptions.position;\r\n var cutSide = layoutOptions.cutSide;\r\n var my = {\r\n horizontal: position.horizontal,\r\n vertical: position.vertical\r\n };\r\n canvas[layoutOptions.cutLayoutSide] += \"horizontal\" === layoutOptions.cutSide ? layoutOptions.width : layoutOptions.height;\r\n my[cutSide] = {\r\n left: \"right\",\r\n right: \"left\",\r\n top: \"bottom\",\r\n bottom: \"top\",\r\n center: \"center\"\r\n } [my[cutSide]];\r\n legend.position({\r\n of: toLayoutElementCoords(canvas),\r\n my: my,\r\n at: position\r\n })\r\n }\r\n};\r\nexport {\r\n LayoutManager\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/circular_gauge.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport CircularGauge from \"./gauges/circular_gauge\";\r\nexport default CircularGauge;\r\n","/**\r\n * DevExtreme (esm/viz/components/chart_theme_manager.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isString as _isString,\r\n isDefined as _isDefined,\r\n isNumeric,\r\n isPlainObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n BaseThemeManager\r\n} from \"../core/base_theme_manager\";\r\nimport {\r\n normalizeEnum as _normalizeEnum\r\n} from \"../core/utils\";\r\nexport var ThemeManager = BaseThemeManager.inherit(function() {\r\n var processAxisOptions = function(axisOptions) {\r\n if (!axisOptions) {\r\n return {}\r\n }\r\n axisOptions = extend(true, {}, axisOptions);\r\n axisOptions.title = (options = axisOptions.title, _isString(options) ? {\r\n text: options\r\n } : options);\r\n var options;\r\n if (\"logarithmic\" === axisOptions.type && axisOptions.logarithmBase <= 0 || axisOptions.logarithmBase && !isNumeric(axisOptions.logarithmBase)) {\r\n axisOptions.logarithmBase = void 0;\r\n axisOptions.logarithmBaseError = true\r\n }\r\n if (axisOptions.label) {\r\n if (axisOptions.label.alignment) {\r\n axisOptions.label.userAlignment = true\r\n }\r\n }\r\n return axisOptions\r\n };\r\n var applyParticularAxisOptions = function(name, userOptions, rotated) {\r\n var theme = this._theme;\r\n var position = !(rotated ^ \"valueAxis\" === name) ? \"horizontalAxis\" : \"verticalAxis\";\r\n var processedUserOptions = processAxisOptions(userOptions);\r\n var commonAxisSettings = processAxisOptions(this._userOptions.commonAxisSettings);\r\n var mergeOptions = extend(true, {}, theme.commonAxisSettings, theme[position], theme[name], commonAxisSettings, processedUserOptions);\r\n mergeOptions.workWeek = processedUserOptions.workWeek || theme[name].workWeek;\r\n mergeOptions.forceUserTickInterval |= _isDefined(processedUserOptions.tickInterval) && !_isDefined(processedUserOptions.axisDivisionFactor);\r\n return mergeOptions\r\n };\r\n var mergeOptions = function(name, userOptions) {\r\n userOptions = userOptions || this._userOptions[name];\r\n var theme = this._theme[name];\r\n var result = this._mergedSettings[name];\r\n if (result) {\r\n return result\r\n }\r\n if (isPlainObject(theme) && isPlainObject(userOptions)) {\r\n result = extend(true, {}, theme, userOptions)\r\n } else {\r\n result = _isDefined(userOptions) ? userOptions : theme\r\n }\r\n this._mergedSettings[name] = result;\r\n return result\r\n };\r\n var applyParticularTheme = {\r\n base: mergeOptions,\r\n argumentAxis: applyParticularAxisOptions,\r\n valueAxisRangeSelector: function() {\r\n return mergeOptions.call(this, \"valueAxis\")\r\n },\r\n valueAxis: applyParticularAxisOptions,\r\n series: function(name, userOptions, seriesCount) {\r\n var that = this;\r\n var theme = that._theme;\r\n var userCommonSettings = that._userOptions.commonSeriesSettings || {};\r\n var themeCommonSettings = theme.commonSeriesSettings;\r\n var widgetType = that._themeSection.split(\".\").slice(-1)[0];\r\n var type = _normalizeEnum(userOptions.type || userCommonSettings.type || themeCommonSettings.type || \"pie\" === widgetType && theme.type);\r\n var palette = that.palette;\r\n var isBar = ~type.indexOf(\"bar\");\r\n var isLine = ~type.indexOf(\"line\");\r\n var isArea = ~type.indexOf(\"area\");\r\n var isBubble = \"bubble\" === type;\r\n var mainSeriesColor;\r\n var resolveLabelsOverlapping = that.getOptions(\"resolveLabelsOverlapping\");\r\n var containerBackgroundColor = that.getOptions(\"containerBackgroundColor\");\r\n var seriesTemplate = applyParticularTheme.seriesTemplate.call(this);\r\n var seriesVisibility;\r\n if (isBar || isBubble) {\r\n userOptions = extend(true, {}, userCommonSettings, userCommonSettings[type], userOptions);\r\n seriesVisibility = userOptions.visible;\r\n userCommonSettings = {\r\n type: {}\r\n };\r\n extend(true, userOptions, userOptions.point);\r\n userOptions.visible = seriesVisibility\r\n }\r\n var settings = extend(true, {\r\n aggregation: {}\r\n }, themeCommonSettings, themeCommonSettings[type], userCommonSettings, userCommonSettings[type], userOptions);\r\n settings.aggregation.enabled = \"chart\" === widgetType && !!settings.aggregation.enabled;\r\n settings.type = type;\r\n settings.widgetType = widgetType;\r\n settings.containerBackgroundColor = containerBackgroundColor;\r\n if (\"pie\" !== widgetType) {\r\n mainSeriesColor = settings.color || palette.getNextColor(seriesCount)\r\n } else {\r\n mainSeriesColor = function(argument, index, count) {\r\n var cat = \"\".concat(argument, \"-\").concat(index);\r\n if (!that._multiPieColors[cat]) {\r\n that._multiPieColors[cat] = palette.getNextColor(count)\r\n }\r\n return that._multiPieColors[cat]\r\n }\r\n }\r\n settings.mainSeriesColor = mainSeriesColor;\r\n settings.resolveLabelsOverlapping = resolveLabelsOverlapping;\r\n if (settings.label && (isLine || isArea && \"rangearea\" !== type || \"scatter\" === type)) {\r\n settings.label.position = \"outside\"\r\n }\r\n if (seriesTemplate) {\r\n settings.nameField = seriesTemplate.nameField\r\n }\r\n return settings\r\n },\r\n animation: function(name) {\r\n var userOptions = this._userOptions[name];\r\n userOptions = isPlainObject(userOptions) ? userOptions : _isDefined(userOptions) ? {\r\n enabled: !!userOptions\r\n } : {};\r\n return mergeOptions.call(this, name, userOptions)\r\n },\r\n seriesTemplate() {\r\n var value = mergeOptions.call(this, \"seriesTemplate\");\r\n if (value) {\r\n value.nameField = value.nameField || \"series\"\r\n }\r\n return value\r\n },\r\n zoomAndPan() {\r\n function parseOption(option) {\r\n option = _normalizeEnum(option);\r\n var pan = \"pan\" === option || \"both\" === option;\r\n var zoom = \"zoom\" === option || \"both\" === option;\r\n return {\r\n pan: pan,\r\n zoom: zoom,\r\n none: !pan && !zoom\r\n }\r\n }\r\n var options = mergeOptions.call(this, \"zoomAndPan\");\r\n return {\r\n valueAxis: parseOption(options.valueAxis),\r\n argumentAxis: parseOption(options.argumentAxis),\r\n dragToZoom: !!options.dragToZoom,\r\n dragBoxStyle: {\r\n class: \"dxc-shutter\",\r\n fill: options.dragBoxStyle.color,\r\n opacity: options.dragBoxStyle.opacity\r\n },\r\n panKey: options.panKey,\r\n allowMouseWheel: !!options.allowMouseWheel,\r\n allowTouchGestures: !!options.allowTouchGestures\r\n }\r\n }\r\n };\r\n return {\r\n _themeSection: \"chart\",\r\n ctor: function(params) {\r\n var that = this;\r\n that.callBase.apply(that, arguments);\r\n var options = params.options || {};\r\n that._userOptions = options;\r\n that._mergeAxisTitleOptions = [];\r\n that._multiPieColors = {};\r\n that._callback = noop\r\n },\r\n dispose: function() {\r\n var that = this;\r\n that.palette && that.palette.dispose();\r\n that.palette = that._userOptions = that._mergedSettings = that._multiPieColors = null;\r\n return that.callBase.apply(that, arguments)\r\n },\r\n resetPalette: function() {\r\n this.palette.reset();\r\n this._multiPieColors = {}\r\n },\r\n getOptions: function(name) {\r\n return (applyParticularTheme[name] || applyParticularTheme.base).apply(this, arguments)\r\n },\r\n refresh: function() {\r\n this._mergedSettings = {};\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _initializeTheme: function() {\r\n var that = this;\r\n that.callBase.apply(that, arguments);\r\n that.updatePalette()\r\n },\r\n resetOptions: function(name) {\r\n this._mergedSettings[name] = null\r\n },\r\n update: function(options) {\r\n this._userOptions = options\r\n },\r\n updatePalette: function() {\r\n this.palette = this.createPalette(this.getOptions(\"palette\"), {\r\n useHighlight: true,\r\n extensionMode: this.getOptions(\"paletteExtensionMode\")\r\n })\r\n }\r\n }\r\n}());\r\n","/**\r\n * DevExtreme (esm/viz/components/consts.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport default {\r\n events: {\r\n mouseover: \"mouseover\",\r\n mouseout: \"mouseout\",\r\n mousemove: \"mousemove\",\r\n touchstart: \"touchstart\",\r\n touchmove: \"touchmove\",\r\n touchend: \"touchend\",\r\n mousedown: \"mousedown\",\r\n mouseup: \"mouseup\",\r\n click: \"click\",\r\n selectSeries: \"selectseries\",\r\n deselectSeries: \"deselectseries\",\r\n selectPoint: \"selectpoint\",\r\n deselectPoint: \"deselectpoint\",\r\n showPointTooltip: \"showpointtooltip\",\r\n hidePointTooltip: \"hidepointtooltip\"\r\n },\r\n states: {\r\n hover: \"hover\",\r\n normal: \"normal\",\r\n selection: \"selection\",\r\n normalMark: 0,\r\n hoverMark: 1,\r\n selectedMark: 2,\r\n applyHover: \"applyHover\",\r\n applySelected: \"applySelected\",\r\n resetItem: \"resetItem\"\r\n },\r\n radialLabelIndent: 30,\r\n pieLabelSpacing: 10,\r\n pieSeriesSpacing: 4\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/components/data_validator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined as _isDefined,\r\n isFunction as _isFunction,\r\n isString as _isString,\r\n isDate as _isDate,\r\n isNumeric as _isNumber,\r\n isObject as _isObject\r\n} from \"../../core/utils/type\";\r\nvar STRING = \"string\";\r\nvar NUMERIC = \"numeric\";\r\nvar DATETIME = \"datetime\";\r\nvar DISCRETE = \"discrete\";\r\nvar SEMIDISCRETE = \"semidiscrete\";\r\nvar CONTINUOUS = \"continuous\";\r\nvar LOGARITHMIC = \"logarithmic\";\r\nvar VALUE_TYPE = \"valueType\";\r\nvar ARGUMENT_TYPE = \"argumentType\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n enumParser\r\n} from \"../core/utils\";\r\nvar axisTypeParser = enumParser([STRING, NUMERIC, DATETIME]);\r\nimport {\r\n getParser as _getParser\r\n} from \"./parse_utils\";\r\nvar _isArray = Array.isArray;\r\n\r\nfunction groupingValues(data, others, valueField, index) {\r\n if (index >= 0) {\r\n data.slice(index).forEach((function(cell) {\r\n if (_isDefined(cell[valueField])) {\r\n others[valueField] += cell[valueField];\r\n cell[valueField] = void 0\r\n }\r\n }))\r\n }\r\n}\r\n\r\nfunction processGroups(groups) {\r\n groups.forEach((function(group) {\r\n group.valueType = group.valueAxisType = null;\r\n group.series.forEach((function(series) {\r\n series.updateDataType({})\r\n }));\r\n group.valueAxis && group.valueAxis.resetTypes(VALUE_TYPE)\r\n }))\r\n}\r\n\r\nfunction sortValues(data, asc, selector) {\r\n var func = asc ? function(a, b) {\r\n return a - b\r\n } : function(a, b) {\r\n return b - a\r\n };\r\n data.sort((function(a, b) {\r\n var valA = selector(a);\r\n var valB = selector(b);\r\n var aa = _isDefined(valA) ? 1 : 0;\r\n var bb = _isDefined(valB) ? 1 : 0;\r\n return aa && bb ? func(valA, valB) : func(aa, bb)\r\n }));\r\n return data\r\n}\r\n\r\nfunction resetArgumentAxes(axes) {\r\n axes && axes.forEach((function(axis) {\r\n axis.resetTypes(ARGUMENT_TYPE)\r\n }))\r\n}\r\n\r\nfunction parseCategories(categories, parser) {\r\n var newArray = [];\r\n categories.forEach((function(category) {\r\n var parsedCategory = parser(category);\r\n void 0 !== parsedCategory && newArray.push(parsedCategory)\r\n }));\r\n return newArray\r\n}\r\n\r\nfunction parseAxisCategories(groupsData, parsers) {\r\n var argumentCategories = groupsData.argumentOptions && groupsData.argumentOptions.categories;\r\n groupsData.groups.forEach((function(valueGroup, i) {\r\n var categories = valueGroup.valueOptions && valueGroup.valueOptions.categories;\r\n if (categories) {\r\n valueGroup.valueOptions.categories = parseCategories(categories, parsers[i + 1])\r\n }\r\n }));\r\n if (argumentCategories) {\r\n groupsData.argumentOptions.categories = parseCategories(argumentCategories, parsers[0])\r\n }\r\n}\r\n\r\nfunction eigen(x) {\r\n return x\r\n}\r\n\r\nfunction getType(unit, type) {\r\n var result = type;\r\n if (type === STRING || _isString(unit)) {\r\n result = STRING\r\n } else if (type === DATETIME || _isDate(unit)) {\r\n result = DATETIME\r\n } else if (_isNumber(unit)) {\r\n result = NUMERIC\r\n }\r\n return result\r\n}\r\n\r\nfunction correctAxisType(type, axisType, hasCategories, incidentOccurred) {\r\n if (type === STRING && (axisType === CONTINUOUS || axisType === LOGARITHMIC || axisType === SEMIDISCRETE)) {\r\n incidentOccurred(\"E2002\")\r\n }\r\n return axisType === LOGARITHMIC ? LOGARITHMIC : hasCategories || axisType === DISCRETE || type === STRING ? DISCRETE : axisType === SEMIDISCRETE ? SEMIDISCRETE : CONTINUOUS\r\n}\r\n\r\nfunction validUnit(unit, field, incidentOccurred) {\r\n if (unit) {\r\n incidentOccurred(!_isNumber(unit) && !_isDate(unit) && !_isString(unit) ? \"E2003\" : \"E2004\", [field])\r\n }\r\n}\r\n\r\nfunction createParserUnit(type, axisType, incidentOccurred) {\r\n var parser = type ? _getParser(type) : eigen;\r\n var filterInfinity = axisType !== DISCRETE ? function(x) {\r\n return isFinite(x) || void 0 === x ? x : null\r\n } : eigen;\r\n return function(unit, field) {\r\n var parseUnit = filterInfinity(parser(unit));\r\n if (void 0 === parseUnit) {\r\n validUnit(unit, field, incidentOccurred)\r\n }\r\n return parseUnit\r\n }\r\n}\r\n\r\nfunction prepareParsers(groupsData, incidentOccurred) {\r\n var argumentParser = createParserUnit(groupsData.argumentType, groupsData.argumentAxisType, incidentOccurred);\r\n var sizeParser;\r\n var valueParser;\r\n var categoryParsers = [argumentParser];\r\n var cache = {};\r\n var list = [];\r\n groupsData.groups.forEach((function(group, groupIndex) {\r\n group.series.forEach((function(series) {\r\n valueParser = createParserUnit(group.valueType, group.valueAxisType, incidentOccurred);\r\n sizeParser = createParserUnit(NUMERIC, CONTINUOUS, incidentOccurred);\r\n cache[series.getArgumentField()] = argumentParser;\r\n series.getValueFields().forEach((function(field) {\r\n categoryParsers[groupIndex + 1] = valueParser;\r\n cache[field] = valueParser\r\n }));\r\n if (series.getSizeField()) {\r\n cache[series.getSizeField()] = sizeParser\r\n }\r\n }))\r\n }));\r\n for (var field in cache) {\r\n list.push([field, cache[field]])\r\n }\r\n list.length && parseAxisCategories(groupsData, categoryParsers);\r\n return list\r\n}\r\n\r\nfunction getParsedCell(cell, parsers) {\r\n var i;\r\n var ii = parsers.length;\r\n var obj = extend({}, cell);\r\n var field;\r\n var value;\r\n for (i = 0; i < ii; ++i) {\r\n field = parsers[i][0];\r\n value = cell[field];\r\n obj[field] = parsers[i][1](value, field)\r\n }\r\n return obj\r\n}\r\n\r\nfunction parse(data, parsers) {\r\n var parsedData = [];\r\n var i;\r\n var ii = data.length;\r\n parsedData.length = ii;\r\n for (i = 0; i < ii; ++i) {\r\n parsedData[i] = getParsedCell(data[i], parsers)\r\n }\r\n return parsedData\r\n}\r\n\r\nfunction findIndexByThreshold(data, valueField, threshold) {\r\n var i;\r\n var ii = data.length;\r\n var value;\r\n for (i = 0; i < ii; ++i) {\r\n value = data[i][valueField];\r\n if (_isDefined(value) && threshold > value) {\r\n break\r\n }\r\n }\r\n return i\r\n}\r\n\r\nfunction groupMinSlices(originalData, argumentField, valueField, smallValuesGrouping) {\r\n smallValuesGrouping = smallValuesGrouping || {};\r\n var mode = smallValuesGrouping.mode;\r\n var others = {};\r\n if (!mode || \"none\" === mode) {\r\n return\r\n }\r\n others[argumentField] = String(smallValuesGrouping.groupName || \"others\");\r\n others[valueField] = 0;\r\n var data = sortValues(originalData.slice(), false, (function(a) {\r\n return a[valueField]\r\n }));\r\n groupingValues(data, others, valueField, \"smallValueThreshold\" === mode ? findIndexByThreshold(data, valueField, smallValuesGrouping.threshold) : smallValuesGrouping.topCount);\r\n others[valueField] && originalData.push(others)\r\n}\r\n\r\nfunction groupPieData(data, groupsData) {\r\n var firstSeries = groupsData.groups[0] && groupsData.groups[0].series[0];\r\n var isPie = firstSeries && (\"pie\" === firstSeries.type || \"doughnut\" === firstSeries.type || \"donut\" === firstSeries.type);\r\n if (!isPie) {\r\n return\r\n }\r\n groupsData.groups.forEach((function(group) {\r\n group.series.forEach((function(series) {\r\n groupMinSlices(data, series.getArgumentField(), series.getValueFields()[0], series.getOptions().smallValuesGrouping)\r\n }))\r\n }))\r\n}\r\n\r\nfunction addUniqueItemToCollection(item, collection, itemsHash) {\r\n if (!itemsHash[item]) {\r\n collection.push(item);\r\n itemsHash[item] = true\r\n }\r\n}\r\n\r\nfunction getUniqueArgumentFields(groupsData) {\r\n var uniqueArgumentFields = [];\r\n var hash = {};\r\n groupsData.groups.forEach((function(group) {\r\n group.series.forEach((function(series) {\r\n addUniqueItemToCollection(series.getArgumentField(), uniqueArgumentFields, hash)\r\n }))\r\n }));\r\n return uniqueArgumentFields\r\n}\r\n\r\nfunction sort(a, b) {\r\n var result = a - b;\r\n if (isNaN(result)) {\r\n if (!_isDefined(a)) {\r\n return 1\r\n }\r\n if (!_isDefined(b)) {\r\n return -1\r\n }\r\n return 0\r\n }\r\n return result\r\n}\r\n\r\nfunction sortByArgument(data, argumentField) {\r\n return data.slice().sort((function(a, b) {\r\n return sort(a[argumentField], b[argumentField])\r\n }))\r\n}\r\n\r\nfunction sortByCallback(data, callback) {\r\n return data.slice().sort(callback)\r\n}\r\n\r\nfunction checkValueTypeOfGroup(group, cell) {\r\n group.series.forEach((function(series) {\r\n series.getValueFields().forEach((function(field) {\r\n group.valueType = getType(cell[field], group.valueType)\r\n }))\r\n }));\r\n return group.valueType\r\n}\r\n\r\nfunction getSortByCategories(categories) {\r\n var hash = {};\r\n categories.forEach((function(value, i) {\r\n hash[value] = i\r\n }));\r\n return function(data, argumentField) {\r\n return sortValues(data.slice(), true, (function(a) {\r\n return hash[a[argumentField]]\r\n }))\r\n }\r\n}\r\n\r\nfunction sortData(data, groupsData, options, uniqueArgumentFields) {\r\n var dataByArguments = {};\r\n var isDiscrete = groupsData.argumentAxisType === DISCRETE;\r\n var userCategories = isDiscrete && groupsData.argumentOptions && groupsData.argumentOptions.categories;\r\n var sortFunction = function(data) {\r\n return data\r\n };\r\n var sortingMethodOption = options.sortingMethod;\r\n var reSortCategories;\r\n if (!userCategories && _isFunction(sortingMethodOption)) {\r\n data = sortByCallback(data, sortingMethodOption)\r\n }\r\n if (isDiscrete) {\r\n groupsData.categories = getCategories(data, uniqueArgumentFields, userCategories)\r\n }\r\n if (userCategories || !_isFunction(sortingMethodOption) && groupsData.argumentType === STRING && !options._skipArgumentSorting) {\r\n sortFunction = getSortByCategories(groupsData.categories)\r\n } else if (true === sortingMethodOption && groupsData.argumentType !== STRING) {\r\n sortFunction = sortByArgument;\r\n reSortCategories = isDiscrete\r\n }\r\n uniqueArgumentFields.forEach((function(field) {\r\n dataByArguments[field] = sortFunction(data, field)\r\n }));\r\n if (reSortCategories) {\r\n groupsData.categories = groupsData.categories.sort(sort)\r\n }\r\n return dataByArguments\r\n}\r\n\r\nfunction checkItemExistence(collection, item) {\r\n return -1 === collection.map((function(collectionItem) {\r\n return collectionItem.valueOf()\r\n })).indexOf(item.valueOf())\r\n}\r\n\r\nfunction getCategories(data, uniqueArgumentFields, userCategories) {\r\n var categories = userCategories ? userCategories.slice() : [];\r\n uniqueArgumentFields.forEach((function(field) {\r\n data.forEach((function(item) {\r\n var dataItem = item[field];\r\n _isDefined(dataItem) && checkItemExistence(categories, dataItem) && categories.push(dataItem)\r\n }))\r\n }));\r\n return categories\r\n}\r\n\r\nfunction checkArgumentTypeOfGroup(series, cell, groupsData) {\r\n series.forEach((function(currentSeries) {\r\n groupsData.argumentType = getType(cell[currentSeries.getArgumentField()], groupsData.argumentType)\r\n }));\r\n return groupsData.argumentType\r\n}\r\n\r\nfunction checkType(data, groupsData, checkTypeForAllData) {\r\n var groupsWithUndefinedValueType = [];\r\n var groupsWithUndefinedArgumentType = [];\r\n var argumentTypeGroup = groupsData.argumentOptions && axisTypeParser(groupsData.argumentOptions.argumentType);\r\n var groupsIndexes;\r\n groupsData.groups.forEach((function(group) {\r\n if (!group.series.length) {\r\n return\r\n }\r\n var valueTypeGroup = group.valueOptions && axisTypeParser(group.valueOptions.valueType);\r\n group.valueType = valueTypeGroup;\r\n groupsData.argumentType = argumentTypeGroup;\r\n !valueTypeGroup && groupsWithUndefinedValueType.push(group);\r\n !argumentTypeGroup && groupsWithUndefinedArgumentType.push(group)\r\n }));\r\n if (groupsWithUndefinedValueType.length || groupsWithUndefinedArgumentType.length) {\r\n groupsIndexes = groupsWithUndefinedValueType.map((function(_, index) {\r\n return index\r\n }));\r\n data.some((function(cell) {\r\n var defineArg;\r\n groupsWithUndefinedValueType.forEach((function(group, groupIndex) {\r\n if (checkValueTypeOfGroup(group, cell) && groupsIndexes.indexOf(groupIndex) >= 0) {\r\n groupsIndexes.splice(groupIndex, 1)\r\n }\r\n }));\r\n if (!defineArg) {\r\n groupsWithUndefinedArgumentType.forEach((function(group) {\r\n defineArg = checkArgumentTypeOfGroup(group.series, cell, groupsData)\r\n }))\r\n }\r\n if (!checkTypeForAllData && defineArg && 0 === groupsIndexes.length) {\r\n return true\r\n }\r\n }))\r\n }\r\n}\r\n\r\nfunction checkAxisType(groupsData, incidentOccurred) {\r\n var argumentOptions = groupsData.argumentOptions || {};\r\n var userArgumentCategories = argumentOptions && argumentOptions.categories || [];\r\n var argumentAxisType = correctAxisType(groupsData.argumentType, argumentOptions.type, !!userArgumentCategories.length, incidentOccurred);\r\n groupsData.groups.forEach((function(group) {\r\n var valueOptions = group.valueOptions || {};\r\n var valueCategories = valueOptions.categories || [];\r\n var valueAxisType = correctAxisType(group.valueType, valueOptions.type, !!valueCategories.length, incidentOccurred);\r\n group.series.forEach((function(series) {\r\n var optionsSeries = {};\r\n optionsSeries.argumentAxisType = argumentAxisType;\r\n optionsSeries.valueAxisType = valueAxisType;\r\n groupsData.argumentAxisType = groupsData.argumentAxisType || optionsSeries.argumentAxisType;\r\n group.valueAxisType = group.valueAxisType || optionsSeries.valueAxisType;\r\n optionsSeries.argumentType = groupsData.argumentType;\r\n optionsSeries.valueType = group.valueType;\r\n optionsSeries.showZero = valueOptions.showZero;\r\n series.updateDataType(optionsSeries)\r\n }));\r\n group.valueAxisType = group.valueAxisType || valueAxisType;\r\n if (group.valueAxis) {\r\n group.valueAxis.setTypes(group.valueAxisType, group.valueType, VALUE_TYPE);\r\n group.valueAxis.validate()\r\n }\r\n }));\r\n groupsData.argumentAxisType = groupsData.argumentAxisType || argumentAxisType;\r\n if (groupsData.argumentAxes) {\r\n groupsData.argumentAxes.forEach((function(axis) {\r\n axis.setTypes(groupsData.argumentAxisType, groupsData.argumentType, ARGUMENT_TYPE);\r\n axis.validate()\r\n }))\r\n }\r\n}\r\n\r\nfunction verifyData(source, incidentOccurred) {\r\n var data = [];\r\n var sourceIsDefined = _isDefined(source);\r\n var hasError = sourceIsDefined && !_isArray(source);\r\n var i;\r\n var ii;\r\n var k;\r\n var item;\r\n if (sourceIsDefined && !hasError) {\r\n for (i = 0, ii = source.length, k = 0; i < ii; ++i) {\r\n item = source[i];\r\n if (_isObject(item)) {\r\n data[k++] = item\r\n } else if (item) {\r\n hasError = true\r\n }\r\n }\r\n }\r\n if (hasError) {\r\n incidentOccurred(\"E2001\")\r\n }\r\n return data\r\n}\r\nexport function validateData(data, groupsData, incidentOccurred, options) {\r\n data = verifyData(data, incidentOccurred);\r\n groupsData.argumentType = groupsData.argumentAxisType = null;\r\n processGroups(groupsData.groups);\r\n resetArgumentAxes(groupsData.argumentAxes);\r\n checkType(data, groupsData, options.checkTypeForAllData);\r\n checkAxisType(groupsData, incidentOccurred);\r\n if (options.convertToAxisDataType) {\r\n data = parse(data, prepareParsers(groupsData, incidentOccurred))\r\n }\r\n groupPieData(data, groupsData);\r\n var dataByArgumentFields = sortData(data, groupsData, options, getUniqueArgumentFields(groupsData));\r\n return dataByArgumentFields\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/components/legend.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n enumParser,\r\n normalizeEnum,\r\n patchFontOptions\r\n} from \"../core/utils\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n LayoutElement,\r\n WrapperLayoutElement\r\n} from \"../core/layout_element\";\r\nimport {\r\n isDefined,\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n Title\r\n} from \"../core/title\";\r\nimport {\r\n clone\r\n} from \"../../core/utils/object\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n processHatchingAttrs,\r\n getFuncIri\r\n} from \"../core/renderers/renderer\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar _Number = Number;\r\nvar _math = Math;\r\nvar _round = _math.round;\r\nvar _max = _math.max;\r\nvar _min = _math.min;\r\nvar _ceil = _math.ceil;\r\nvar _isDefined = isDefined;\r\nvar _isFunction = isFunction;\r\nvar _enumParser = enumParser;\r\nvar _normalizeEnum = normalizeEnum;\r\nvar _extend = extend;\r\nvar DEFAULT_MARGIN = 10;\r\nvar DEFAULT_MARKER_HATCHING_WIDTH = 2;\r\nvar DEFAULT_MARKER_HATCHING_STEP = 5;\r\nvar CENTER = \"center\";\r\nvar RIGHT = \"right\";\r\nvar LEFT = \"left\";\r\nvar TOP = \"top\";\r\nvar BOTTOM = \"bottom\";\r\nvar HORIZONTAL = \"horizontal\";\r\nvar VERTICAL = \"vertical\";\r\nvar INSIDE = \"inside\";\r\nvar OUTSIDE = \"outside\";\r\nvar NONE = \"none\";\r\nvar HEIGHT = \"height\";\r\nvar WIDTH = \"width\";\r\nvar parseHorizontalAlignment = _enumParser([LEFT, CENTER, RIGHT]);\r\nvar parseVerticalAlignment = _enumParser([TOP, BOTTOM]);\r\nvar parseOrientation = _enumParser([VERTICAL, HORIZONTAL]);\r\nvar parseItemTextPosition = _enumParser([LEFT, RIGHT, TOP, BOTTOM]);\r\nvar parsePosition = _enumParser([OUTSIDE, INSIDE]);\r\nvar parseItemsAlignment = _enumParser([LEFT, CENTER, RIGHT]);\r\n\r\nfunction getState(state, color, stateName) {\r\n if (!state) {\r\n return\r\n }\r\n var colorFromAction = state.fill;\r\n return extend({}, {\r\n state: stateName,\r\n fill: colorFromAction === NONE ? color : colorFromAction,\r\n opacity: state.opacity,\r\n hatching: _extend({}, state.hatching, {\r\n step: DEFAULT_MARKER_HATCHING_STEP,\r\n width: DEFAULT_MARKER_HATCHING_WIDTH\r\n })\r\n })\r\n}\r\n\r\nfunction getAttributes(item, state, size) {\r\n var attrs = processHatchingAttrs(item, state);\r\n if (attrs.fill && 0 === attrs.fill.indexOf(\"DevExpress\")) {\r\n attrs.fill = getFuncIri(attrs.fill)\r\n }\r\n attrs.opacity = attrs.opacity >= 0 ? attrs.opacity : 1;\r\n return extend({}, attrs, {\r\n size: size\r\n })\r\n}\r\n\r\nfunction parseMargins(options) {\r\n var margin = options.margin;\r\n if (margin >= 0) {\r\n margin = _Number(options.margin);\r\n margin = {\r\n top: margin,\r\n bottom: margin,\r\n left: margin,\r\n right: margin\r\n }\r\n } else {\r\n margin = {\r\n top: margin.top >= 0 ? _Number(margin.top) : DEFAULT_MARGIN,\r\n bottom: margin.bottom >= 0 ? _Number(margin.bottom) : DEFAULT_MARGIN,\r\n left: margin.left >= 0 ? _Number(margin.left) : DEFAULT_MARGIN,\r\n right: margin.right >= 0 ? _Number(margin.right) : DEFAULT_MARGIN\r\n }\r\n }\r\n options.margin = margin\r\n}\r\n\r\nfunction getSizeItem(options, markerBBox, labelBBox) {\r\n var width;\r\n var height;\r\n switch (options.itemTextPosition) {\r\n case LEFT:\r\n case RIGHT:\r\n width = markerBBox.width + 7 + labelBBox.width;\r\n height = _max(markerBBox.height, labelBBox.height);\r\n break;\r\n case TOP:\r\n case BOTTOM:\r\n width = _max(markerBBox.width, labelBBox.width);\r\n height = markerBBox.height + 4 + labelBBox.height\r\n }\r\n return {\r\n width: width,\r\n height: height\r\n }\r\n}\r\n\r\nfunction calculateBBoxLabelAndMarker(markerBBox, labelBBox) {\r\n var bBox = {};\r\n bBox.left = _min(markerBBox.x, labelBBox.x);\r\n bBox.top = _min(markerBBox.y, labelBBox.y);\r\n bBox.right = _max(markerBBox.x + markerBBox.width, labelBBox.x + labelBBox.width);\r\n bBox.bottom = _max(markerBBox.y + markerBBox.height, labelBBox.y + labelBBox.height);\r\n return bBox\r\n}\r\n\r\nfunction applyMarkerState(id, idToIndexMap, items, stateName) {\r\n var item = idToIndexMap && items[idToIndexMap[id]];\r\n if (item) {\r\n item.renderMarker(item.states[stateName])\r\n }\r\n}\r\n\r\nfunction parseOptions(options, textField, allowInsidePosition) {\r\n if (!options) {\r\n return null\r\n }\r\n parseMargins(options);\r\n options.horizontalAlignment = parseHorizontalAlignment(options.horizontalAlignment, RIGHT);\r\n options.verticalAlignment = parseVerticalAlignment(options.verticalAlignment, options.horizontalAlignment === CENTER ? BOTTOM : TOP);\r\n options.orientation = parseOrientation(options.orientation, options.horizontalAlignment === CENTER ? HORIZONTAL : VERTICAL);\r\n options.itemTextPosition = parseItemTextPosition(options.itemTextPosition, options.orientation === HORIZONTAL ? BOTTOM : RIGHT);\r\n options.position = allowInsidePosition ? parsePosition(options.position, OUTSIDE) : OUTSIDE;\r\n options.itemsAlignment = parseItemsAlignment(options.itemsAlignment, null);\r\n options.hoverMode = _normalizeEnum(options.hoverMode);\r\n options.customizeText = _isFunction(options.customizeText) ? options.customizeText : function() {\r\n return this[textField]\r\n };\r\n options.customizeHint = _isFunction(options.customizeHint) ? options.customizeHint : noop;\r\n options._incidentOccurred = options._incidentOccurred || noop;\r\n return options\r\n}\r\n\r\nfunction createSquareMarker(renderer, size) {\r\n return renderer.rect(0, 0, size, size)\r\n}\r\n\r\nfunction createCircleMarker(renderer, size) {\r\n return renderer.circle(size / 2, size / 2, size / 2)\r\n}\r\n\r\nfunction isCircle(type) {\r\n return \"circle\" === _normalizeEnum(type)\r\n}\r\n\r\nfunction inRect(rect, x, y) {\r\n return x >= rect.left && x <= rect.right && y >= rect.top && y <= rect.bottom\r\n}\r\n\r\nfunction checkLinesSize(lines, layoutOptions, countItems, margins) {\r\n var position = {\r\n x: 0,\r\n y: 0\r\n };\r\n var maxMeasureLength = 0;\r\n var maxAltMeasureLength = 0;\r\n var margin = 0;\r\n if (\"y\" === layoutOptions.direction) {\r\n margin = margins.top + margins.bottom\r\n } else {\r\n margin = margins.left + margins.right\r\n }\r\n lines.forEach((function(line, i) {\r\n var firstItem = line[0];\r\n var lineLength = line.length;\r\n line.forEach((function(item, index) {\r\n var offset = item.offset || layoutOptions.spacing;\r\n position[layoutOptions.direction] += item[layoutOptions.measure] + (index !== lineLength - 1 ? offset : 0);\r\n maxMeasureLength = _max(maxMeasureLength, position[layoutOptions.direction])\r\n }));\r\n position[layoutOptions.direction] = 0;\r\n position[layoutOptions.altDirection] += firstItem[layoutOptions.altMeasure] + firstItem.altOffset || layoutOptions.altSpacing;\r\n maxAltMeasureLength = _max(maxAltMeasureLength, position[layoutOptions.altDirection])\r\n }));\r\n if (maxMeasureLength + margin > layoutOptions.length) {\r\n layoutOptions.countItem = decreaseItemCount(layoutOptions, countItems);\r\n return true\r\n }\r\n}\r\n\r\nfunction decreaseItemCount(layoutOptions, countItems) {\r\n layoutOptions.altCountItem++;\r\n return _ceil(countItems / layoutOptions.altCountItem)\r\n}\r\n\r\nfunction getLineLength(line, layoutOptions) {\r\n return line.reduce((lineLength, item) => {\r\n var offset = item.offset || layoutOptions.spacing;\r\n return lineLength + item[layoutOptions.measure] + offset\r\n }, 0)\r\n}\r\n\r\nfunction getMaxLineLength(lines, layoutOptions) {\r\n return lines.reduce((maxLineLength, line) => _max(maxLineLength, getLineLength(line, layoutOptions)), 0)\r\n}\r\n\r\nfunction getInitPositionForDirection(line, layoutOptions, maxLineLength) {\r\n var lineLength = getLineLength(line, layoutOptions);\r\n var initPosition;\r\n switch (layoutOptions.itemsAlignment) {\r\n case RIGHT:\r\n initPosition = maxLineLength - lineLength;\r\n break;\r\n case CENTER:\r\n initPosition = (maxLineLength - lineLength) / 2;\r\n break;\r\n default:\r\n initPosition = 0\r\n }\r\n return initPosition\r\n}\r\n\r\nfunction getPos(layoutOptions) {\r\n switch (layoutOptions.itemTextPosition) {\r\n case BOTTOM:\r\n return {\r\n horizontal: CENTER, vertical: TOP\r\n };\r\n case TOP:\r\n return {\r\n horizontal: CENTER, vertical: BOTTOM\r\n };\r\n case LEFT:\r\n return {\r\n horizontal: RIGHT, vertical: CENTER\r\n };\r\n case RIGHT:\r\n return {\r\n horizontal: LEFT, vertical: CENTER\r\n }\r\n }\r\n}\r\n\r\nfunction getLines(lines, layoutOptions, itemIndex) {\r\n var tableLine = {};\r\n if (itemIndex % layoutOptions.countItem === 0) {\r\n if (layoutOptions.markerOffset) {\r\n lines.push([], [])\r\n } else {\r\n lines.push([])\r\n }\r\n }\r\n if (layoutOptions.markerOffset) {\r\n tableLine.firstLine = lines[lines.length - 1];\r\n tableLine.secondLine = lines[lines.length - 2]\r\n } else {\r\n tableLine.firstLine = tableLine.secondLine = lines[lines.length - 1]\r\n }\r\n return tableLine\r\n}\r\n\r\nfunction setMaxInLine(line, measure) {\r\n var maxLineSize = line.reduce((maxLineSize, item) => {\r\n var itemMeasure = item ? item[measure] : maxLineSize;\r\n return _max(maxLineSize, itemMeasure)\r\n }, 0);\r\n line.forEach(item => {\r\n if (item) {\r\n item[measure] = maxLineSize\r\n }\r\n })\r\n}\r\n\r\nfunction transpose(array) {\r\n var width = array.length;\r\n var height = array[0].length;\r\n var i;\r\n var j;\r\n var transposeArray = [];\r\n for (i = 0; i < height; i++) {\r\n transposeArray[i] = [];\r\n for (j = 0; j < width; j++) {\r\n transposeArray[i][j] = array[j][i]\r\n }\r\n }\r\n return transposeArray\r\n}\r\n\r\nfunction getAlign(position) {\r\n switch (position) {\r\n case TOP:\r\n case BOTTOM:\r\n return CENTER;\r\n case LEFT:\r\n return RIGHT;\r\n case RIGHT:\r\n return LEFT\r\n }\r\n}\r\nvar getMarkerCreator = function(type) {\r\n return isCircle(type) ? createCircleMarker : createSquareMarker\r\n};\r\n\r\nfunction getTitleHorizontalAlignment(options) {\r\n if (options.horizontalAlignment === CENTER) {\r\n return CENTER\r\n } else if (options.itemTextPosition === RIGHT) {\r\n return LEFT\r\n } else if (options.itemTextPosition === LEFT) {\r\n return RIGHT\r\n } else {\r\n return CENTER\r\n }\r\n}\r\nexport var Legend = function(settings) {\r\n this._renderer = settings.renderer;\r\n this._legendGroup = settings.group;\r\n this._backgroundClass = settings.backgroundClass;\r\n this._itemGroupClass = settings.itemGroupClass;\r\n this._textField = settings.textField;\r\n this._getCustomizeObject = settings.getFormatObject;\r\n this._titleGroupClass = settings.titleGroupClass;\r\n this._allowInsidePosition = settings.allowInsidePosition;\r\n this._widget = settings.widget;\r\n this._updated = false\r\n};\r\nvar _Legend = Legend;\r\nvar legendPrototype = _Legend.prototype = clone(LayoutElement.prototype);\r\nextend(legendPrototype, {\r\n constructor: _Legend,\r\n getOptions: function() {\r\n return this._options\r\n },\r\n update: function() {\r\n var data = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\r\n var options = arguments.length > 1 ? arguments[1] : void 0;\r\n var themeManagerTitleOptions = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var that = this;\r\n options = that._options = parseOptions(options, that._textField, that._allowInsidePosition) || {};\r\n var initMarkerSize = options.markerSize;\r\n this._updated = true;\r\n this._data = data.map(dataItem => {\r\n dataItem.size = _Number(dataItem.size > 0 ? dataItem.size : initMarkerSize);\r\n dataItem.marker = getAttributes(dataItem, dataItem.states.normal);\r\n Object.defineProperty(dataItem.marker, \"size\", {\r\n get: () => dataItem.size,\r\n set(value) {\r\n dataItem.size = value\r\n }\r\n });\r\n Object.defineProperty(dataItem.marker, \"opacity\", {\r\n get: () => dataItem.states.normal.opacity,\r\n set(value) {\r\n dataItem.states.normal.opacity = dataItem.states.hover.opacity = dataItem.states.selection.opacity = value\r\n }\r\n });\r\n return dataItem\r\n });\r\n if (options.customizeItems) {\r\n that._data = options.customizeItems(data.slice()) || data\r\n }\r\n that._boundingRect = {\r\n width: 0,\r\n height: 0,\r\n x: 0,\r\n y: 0\r\n };\r\n if (that.isVisible() && !that._title) {\r\n that._title = new Title({\r\n renderer: that._renderer,\r\n cssClass: that._titleGroupClass,\r\n root: that._legendGroup\r\n })\r\n }\r\n if (that._title) {\r\n var titleOptions = options.title;\r\n themeManagerTitleOptions.horizontalAlignment = getTitleHorizontalAlignment(options);\r\n that._title.update(themeManagerTitleOptions, titleOptions)\r\n }\r\n this.erase();\r\n return that\r\n },\r\n isVisible: function() {\r\n return this._options && this._options.visible\r\n },\r\n draw: function(width, height) {\r\n var items = this._getItemData();\r\n this.erase();\r\n if (!(this.isVisible() && items && items.length)) {\r\n return this\r\n }\r\n this._insideLegendGroup = this._renderer.g().enableLinks().append(this._legendGroup);\r\n this._title.changeLink(this._insideLegendGroup);\r\n this._createBackground();\r\n if (this._title.hasText()) {\r\n var horizontalPadding = this._background ? 2 * this._options.paddingLeftRight : 0;\r\n this._title.draw(width - horizontalPadding, height)\r\n }\r\n this._markersGroup = this._renderer.g().attr({\r\n class: this._itemGroupClass\r\n }).append(this._insideLegendGroup);\r\n this._createItems(items);\r\n this._updateElementsPosition(width, height);\r\n return this\r\n },\r\n _measureElements: function() {\r\n var options = this._options;\r\n var maxBBoxHeight = 0;\r\n this._items.forEach(item => {\r\n var labelBBox = item.label.getBBox();\r\n var markerBBox = item.marker.getBBox();\r\n item.markerBBox = markerBBox;\r\n item.markerSize = Math.max(markerBBox.width, markerBBox.height);\r\n var bBox = getSizeItem(options, markerBBox, labelBBox);\r\n item.labelBBox = labelBBox;\r\n item.bBox = bBox;\r\n maxBBoxHeight = _max(maxBBoxHeight, bBox.height)\r\n });\r\n if (options.equalRowHeight) {\r\n this._items.forEach(item => item.bBox.height = maxBBoxHeight)\r\n }\r\n },\r\n _updateElementsPosition: function(width, height) {\r\n var options = this._options;\r\n this._size = {\r\n width: width,\r\n height: height\r\n };\r\n this._measureElements();\r\n this._locateElements(options);\r\n this._finalUpdate(options);\r\n var size = this.getLayoutOptions();\r\n if (size.width > width || size.height > height) {\r\n this.freeSpace()\r\n }\r\n },\r\n _createItems: function(items) {\r\n var that = this;\r\n var options = that._options;\r\n var renderer = that._renderer;\r\n var createMarker = getMarkerCreator(options.markerShape);\r\n that._markersId = {};\r\n var templateFunction = !options.markerTemplate ? (dataItem, group) => {\r\n var attrs = dataItem.marker;\r\n createMarker(renderer, attrs.size).attr({\r\n fill: attrs.fill,\r\n opacity: attrs.opacity\r\n }).append({\r\n element: group\r\n })\r\n } : options.markerTemplate;\r\n var template = that._widget._getTemplate(templateFunction);\r\n var markersGroup = that._markersGroup;\r\n markersGroup.css(patchFontOptions(options.font));\r\n that._deferredItems = [];\r\n that._templatesGroups = [];\r\n that._items = (items || []).map((dataItem, i) => {\r\n var stateOfDataItem = dataItem.states;\r\n var normalState = stateOfDataItem.normal;\r\n var normalStateFill = normalState.fill;\r\n dataItem.size = dataItem.marker.size;\r\n var states = {\r\n normal: extend(normalState, {\r\n fill: normalStateFill || options.markerColor || options.defaultColor,\r\n state: \"normal\"\r\n }),\r\n hover: getState(stateOfDataItem.hover, normalStateFill, \"hovered\"),\r\n selection: getState(stateOfDataItem.selection, normalStateFill, \"selected\")\r\n };\r\n dataItem.states = states;\r\n var itemGroup = renderer.g().append(markersGroup);\r\n var markerGroup = renderer.g().attr({\r\n class: \"dxl-marker\"\r\n }).append(itemGroup);\r\n that._deferredItems[i] = new Deferred;\r\n that._templatesGroups.push(markerGroup);\r\n var item = {\r\n label: that._createLabel(dataItem, itemGroup),\r\n marker: markerGroup,\r\n renderer: renderer,\r\n group: itemGroup,\r\n tracker: {\r\n id: dataItem.id,\r\n argument: dataItem.argument,\r\n argumentIndex: dataItem.argumentIndex\r\n },\r\n states: states,\r\n itemTextPosition: options.itemTextPosition,\r\n markerOffset: 0,\r\n bBoxes: [],\r\n renderMarker(state) {\r\n dataItem.marker = getAttributes(item, state, dataItem.size);\r\n markerGroup.clear();\r\n template.render({\r\n model: dataItem,\r\n container: markerGroup.element,\r\n onRendered: that._deferredItems[i].resolve\r\n })\r\n }\r\n };\r\n item.renderMarker(states.normal);\r\n that._createHint(dataItem, itemGroup);\r\n if (void 0 !== dataItem.id) {\r\n that._markersId[dataItem.id] = i\r\n }\r\n return item\r\n })\r\n },\r\n getTemplatesGroups: function() {\r\n return this._templatesGroups || []\r\n },\r\n getTemplatesDef: function() {\r\n return this._deferredItems || []\r\n },\r\n _getItemData: function() {\r\n var items = this._data || [];\r\n var options = this._options || {};\r\n if (options.inverted) {\r\n items = items.slice().reverse()\r\n }\r\n return items.filter(i => i.visible)\r\n },\r\n _finalUpdate: function(options) {\r\n this._adjustBackgroundSettings(options);\r\n this._setBoundingRect(options.margin)\r\n },\r\n erase: function() {\r\n var insideLegendGroup = this._insideLegendGroup;\r\n insideLegendGroup && insideLegendGroup.dispose();\r\n this._insideLegendGroup = this._markersGroup = this._x1 = this._x2 = this._y2 = this._y2 = null;\r\n return this\r\n },\r\n _locateElements: function(locationOptions) {\r\n this._moveInInitialValues();\r\n this._locateRowsColumns(locationOptions)\r\n },\r\n _moveInInitialValues: function() {\r\n this._title.hasText() && this._title.move([0, 0]);\r\n this._legendGroup && this._legendGroup.move(0, 0);\r\n this._background && this._background.attr({\r\n x: 0,\r\n y: 0,\r\n width: 0,\r\n height: 0\r\n })\r\n },\r\n applySelected: function(id) {\r\n applyMarkerState(id, this._markersId, this._items, \"selection\");\r\n return this\r\n },\r\n applyHover: function(id) {\r\n applyMarkerState(id, this._markersId, this._items, \"hover\");\r\n return this\r\n },\r\n resetItem: function(id) {\r\n applyMarkerState(id, this._markersId, this._items, \"normal\");\r\n return this\r\n },\r\n _createLabel: function(data, group) {\r\n var labelFormatObject = this._getCustomizeObject(data);\r\n var options = this._options;\r\n var align = getAlign(options.itemTextPosition);\r\n var text = options.customizeText.call(labelFormatObject, labelFormatObject);\r\n var fontStyle = _isDefined(data.textOpacity) ? {\r\n color: options.font.color,\r\n opacity: data.textOpacity\r\n } : {};\r\n return this._renderer.text(text, 0, 0).css(patchFontOptions(fontStyle)).attr({\r\n align: align,\r\n class: options.cssClass\r\n }).append(group)\r\n },\r\n _createHint: function(data, group) {\r\n var labelFormatObject = this._getCustomizeObject(data);\r\n var text = this._options.customizeHint.call(labelFormatObject, labelFormatObject);\r\n if (_isDefined(text) && \"\" !== text) {\r\n group.setTitle(text)\r\n }\r\n },\r\n _createBackground: function() {\r\n var isInside = this._options.position === INSIDE;\r\n var color = this._options.backgroundColor;\r\n var fill = color || (isInside ? this._options.containerBackgroundColor : NONE);\r\n if (this._options.border.visible || (isInside || color) && color !== NONE) {\r\n this._background = this._renderer.rect(0, 0, 0, 0).attr({\r\n fill: fill,\r\n class: this._backgroundClass\r\n }).append(this._insideLegendGroup)\r\n }\r\n },\r\n _locateRowsColumns: function(options) {\r\n var iteration = 0;\r\n var layoutOptions = this._getItemsLayoutOptions();\r\n var countItems = this._items.length;\r\n var lines;\r\n do {\r\n lines = [];\r\n this._createLines(lines, layoutOptions);\r\n this._alignLines(lines, layoutOptions);\r\n iteration++\r\n } while (checkLinesSize(lines, layoutOptions, countItems, options.margin) && iteration < countItems);\r\n this._applyItemPosition(lines, layoutOptions)\r\n },\r\n _createLines: function(lines, layoutOptions) {\r\n this._items.forEach((item, i) => {\r\n var tableLine = getLines(lines, layoutOptions, i);\r\n var labelBox = {\r\n width: item.labelBBox.width,\r\n height: item.labelBBox.height,\r\n element: item.label,\r\n bBox: item.labelBBox,\r\n pos: getPos(layoutOptions),\r\n itemIndex: i\r\n };\r\n var markerBox = {\r\n width: item.markerBBox.width,\r\n height: item.markerBBox.height,\r\n element: item.marker,\r\n pos: {\r\n horizontal: CENTER,\r\n vertical: CENTER\r\n },\r\n bBox: {\r\n width: item.markerBBox.width,\r\n height: item.markerBBox.height,\r\n x: item.markerBBox.x,\r\n y: item.markerBBox.y\r\n },\r\n itemIndex: i\r\n };\r\n var firstItem;\r\n var secondItem;\r\n var offsetDirection = layoutOptions.markerOffset ? \"altOffset\" : \"offset\";\r\n if (layoutOptions.inverseLabelPosition) {\r\n firstItem = labelBox;\r\n secondItem = markerBox\r\n } else {\r\n firstItem = markerBox;\r\n secondItem = labelBox\r\n }\r\n firstItem[offsetDirection] = layoutOptions.labelOffset;\r\n tableLine.secondLine.push(firstItem);\r\n tableLine.firstLine.push(secondItem)\r\n })\r\n },\r\n _alignLines: function(lines, layoutOptions) {\r\n var i;\r\n var measure = layoutOptions.altMeasure;\r\n lines.forEach(line => setMaxInLine(line, measure));\r\n measure = layoutOptions.measure;\r\n if (layoutOptions.itemsAlignment) {\r\n if (layoutOptions.markerOffset) {\r\n for (i = 0; i < lines.length;) {\r\n transpose([lines[i++], lines[i++]]).forEach(processLine)\r\n }\r\n }\r\n } else {\r\n transpose(lines).forEach(processLine)\r\n }\r\n\r\n function processLine(line) {\r\n setMaxInLine(line, measure)\r\n }\r\n },\r\n _applyItemPosition: function(lines, layoutOptions) {\r\n var that = this;\r\n var position = {\r\n x: 0,\r\n y: 0\r\n };\r\n var maxLineLength = getMaxLineLength(lines, layoutOptions);\r\n lines.forEach(line => {\r\n var firstItem = line[0];\r\n var altOffset = firstItem.altOffset || layoutOptions.altSpacing;\r\n position[layoutOptions.direction] = getInitPositionForDirection(line, layoutOptions, maxLineLength);\r\n line.forEach(item => {\r\n var offset = item.offset || layoutOptions.spacing;\r\n var wrap = new WrapperLayoutElement(item.element, item.bBox);\r\n var itemBBoxOptions = {\r\n x: position.x,\r\n y: position.y,\r\n width: item.width,\r\n height: item.height\r\n };\r\n var itemBBox = new WrapperLayoutElement(null, itemBBoxOptions);\r\n var itemLegend = that._items[item.itemIndex];\r\n wrap.position({\r\n of: itemBBox,\r\n my: item.pos,\r\n at: item.pos\r\n });\r\n itemLegend.bBoxes.push(itemBBox);\r\n position[layoutOptions.direction] += item[layoutOptions.measure] + offset\r\n });\r\n position[layoutOptions.altDirection] += firstItem[layoutOptions.altMeasure] + altOffset\r\n });\r\n this._items.forEach(item => {\r\n var itemBBox = calculateBBoxLabelAndMarker(item.bBoxes[0].getLayoutOptions(), item.bBoxes[1].getLayoutOptions());\r\n var horizontal = that._options.columnItemSpacing / 2;\r\n var vertical = that._options.rowItemSpacing / 2;\r\n item.tracker.left = itemBBox.left - horizontal;\r\n item.tracker.right = itemBBox.right + horizontal;\r\n item.tracker.top = itemBBox.top - vertical;\r\n item.tracker.bottom = itemBBox.bottom + vertical\r\n })\r\n },\r\n _getItemsLayoutOptions: function() {\r\n var options = this._options;\r\n var orientation = options.orientation;\r\n var layoutOptions = {\r\n itemsAlignment: options.itemsAlignment,\r\n orientation: options.orientation\r\n };\r\n var width = this._size.width - (this._background ? 2 * options.paddingLeftRight : 0);\r\n var height = this._size.height - (this._background ? 2 * options.paddingTopBottom : 0);\r\n if (orientation === HORIZONTAL) {\r\n layoutOptions.length = width;\r\n layoutOptions.spacing = options.columnItemSpacing;\r\n layoutOptions.direction = \"x\";\r\n layoutOptions.measure = WIDTH;\r\n layoutOptions.altMeasure = HEIGHT;\r\n layoutOptions.altDirection = \"y\";\r\n layoutOptions.altSpacing = options.rowItemSpacing;\r\n layoutOptions.countItem = options.columnCount;\r\n layoutOptions.altCountItem = options.rowCount;\r\n layoutOptions.marginTextLabel = 4;\r\n layoutOptions.labelOffset = 7;\r\n if (options.itemTextPosition === BOTTOM || options.itemTextPosition === TOP) {\r\n layoutOptions.labelOffset = 4;\r\n layoutOptions.markerOffset = true\r\n }\r\n } else {\r\n layoutOptions.length = height;\r\n layoutOptions.spacing = options.rowItemSpacing;\r\n layoutOptions.direction = \"y\";\r\n layoutOptions.measure = HEIGHT;\r\n layoutOptions.altMeasure = WIDTH;\r\n layoutOptions.altDirection = \"x\";\r\n layoutOptions.altSpacing = options.columnItemSpacing;\r\n layoutOptions.countItem = options.rowCount;\r\n layoutOptions.altCountItem = options.columnCount;\r\n layoutOptions.marginTextLabel = 7;\r\n layoutOptions.labelOffset = 4;\r\n if (options.itemTextPosition === RIGHT || options.itemTextPosition === LEFT) {\r\n layoutOptions.labelOffset = 7;\r\n layoutOptions.markerOffset = true\r\n }\r\n }\r\n if (!layoutOptions.countItem) {\r\n if (layoutOptions.altCountItem) {\r\n layoutOptions.countItem = _ceil(this._items.length / layoutOptions.altCountItem)\r\n } else {\r\n layoutOptions.countItem = this._items.length\r\n }\r\n }\r\n if (options.itemTextPosition === TOP || options.itemTextPosition === LEFT) {\r\n layoutOptions.inverseLabelPosition = true\r\n }\r\n layoutOptions.itemTextPosition = options.itemTextPosition;\r\n layoutOptions.altCountItem = layoutOptions.altCountItem || _ceil(this._items.length / layoutOptions.countItem);\r\n return layoutOptions\r\n },\r\n _adjustBackgroundSettings: function(locationOptions) {\r\n if (!this._background) {\r\n return\r\n }\r\n var border = locationOptions.border;\r\n var legendBox = this._calculateTotalBox();\r\n var backgroundSettings = {\r\n x: _round(legendBox.x - locationOptions.paddingLeftRight),\r\n y: _round(legendBox.y - locationOptions.paddingTopBottom),\r\n width: _round(legendBox.width) + 2 * locationOptions.paddingLeftRight,\r\n height: _round(legendBox.height),\r\n opacity: locationOptions.backgroundOpacity\r\n };\r\n if (border.visible && border.width && border.color && border.color !== NONE) {\r\n backgroundSettings[\"stroke-width\"] = border.width;\r\n backgroundSettings.stroke = border.color;\r\n backgroundSettings[\"stroke-opacity\"] = border.opacity;\r\n backgroundSettings.dashStyle = border.dashStyle;\r\n backgroundSettings.rx = border.cornerRadius || 0;\r\n backgroundSettings.ry = border.cornerRadius || 0\r\n }\r\n this._background.attr(backgroundSettings)\r\n },\r\n _setBoundingRect: function(margin) {\r\n if (!this._insideLegendGroup) {\r\n return\r\n }\r\n var box = this._calculateTotalBox();\r\n box.height += margin.top + margin.bottom;\r\n box.widthWithoutMargins = box.width;\r\n box.width += margin.left + margin.right;\r\n box.x -= margin.left;\r\n box.y -= margin.top;\r\n this._boundingRect = box\r\n },\r\n _calculateTotalBox: function() {\r\n var markerBox = this._markersGroup.getBBox();\r\n var titleBox = this._title.getCorrectedLayoutOptions();\r\n var box = this._insideLegendGroup.getBBox();\r\n var verticalPadding = this._background ? 2 * this._options.paddingTopBottom : 0;\r\n box.height = markerBox.height + titleBox.height + verticalPadding;\r\n titleBox.width > box.width && (box.width = titleBox.width);\r\n return box\r\n },\r\n getActionCallback: function(point) {\r\n var that = this;\r\n if (that._options.visible) {\r\n return function(act) {\r\n that[act](point.index)\r\n }\r\n } else {\r\n return noop\r\n }\r\n },\r\n getLayoutOptions: function() {\r\n var options = this._options;\r\n var boundingRect = this._insideLegendGroup ? this._boundingRect : {\r\n width: 0,\r\n height: 0,\r\n x: 0,\r\n y: 0\r\n };\r\n if (options) {\r\n boundingRect.verticalAlignment = options.verticalAlignment;\r\n boundingRect.horizontalAlignment = options.horizontalAlignment;\r\n if (options.orientation === HORIZONTAL) {\r\n boundingRect.cutLayoutSide = options.verticalAlignment;\r\n boundingRect.cutSide = \"vertical\"\r\n } else if (options.horizontalAlignment === CENTER) {\r\n boundingRect.cutLayoutSide = options.verticalAlignment;\r\n boundingRect.cutSide = \"vertical\"\r\n } else {\r\n boundingRect.cutLayoutSide = options.horizontalAlignment;\r\n boundingRect.cutSide = \"horizontal\"\r\n }\r\n boundingRect.position = {\r\n horizontal: options.horizontalAlignment,\r\n vertical: options.verticalAlignment\r\n };\r\n return boundingRect\r\n }\r\n return null\r\n },\r\n shift: function(x, y) {\r\n var box = {};\r\n if (this._insideLegendGroup) {\r\n this._insideLegendGroup.attr({\r\n translateX: x - this._boundingRect.x,\r\n translateY: y - this._boundingRect.y\r\n })\r\n }\r\n this._title && this._shiftTitle(this._boundingRect.widthWithoutMargins);\r\n this._markersGroup && this._shiftMarkers();\r\n if (this._insideLegendGroup) {\r\n box = this._legendGroup.getBBox()\r\n }\r\n this._x1 = box.x;\r\n this._y1 = box.y;\r\n this._x2 = box.x + box.width;\r\n this._y2 = box.y + box.height;\r\n return this\r\n },\r\n _shiftTitle: function(boxWidth) {\r\n var title = this._title;\r\n var titleBox = title.getCorrectedLayoutOptions();\r\n if (!titleBox || !title.hasText()) {\r\n return\r\n }\r\n var width = boxWidth - (this._background ? 2 * this._options.paddingLeftRight : 0);\r\n var titleOptions = title.getOptions();\r\n var titleY = titleBox.y + titleOptions.margin.top;\r\n var titleX = 0;\r\n if (titleOptions.verticalAlignment === BOTTOM && this._markersGroup) {\r\n titleY += this._markersGroup.getBBox().height\r\n }\r\n if (titleOptions.horizontalAlignment === RIGHT) {\r\n titleX = width - titleBox.width\r\n } else if (titleOptions.horizontalAlignment === CENTER) {\r\n titleX = (width - titleBox.width) / 2\r\n }\r\n title.shift(titleX, titleY)\r\n },\r\n _shiftMarkers: function() {\r\n var titleBox = this._title.getLayoutOptions();\r\n var markerBox = this._markersGroup.getBBox();\r\n var titleOptions = this._title.getOptions() || {};\r\n var center = 0;\r\n var y = 0;\r\n if (titleBox.width > markerBox.width && this._options.horizontalAlignment === CENTER) {\r\n center = titleBox.width / 2 - markerBox.width / 2\r\n }\r\n if (titleOptions.verticalAlignment === TOP) {\r\n y = titleBox.height\r\n }\r\n if (0 !== center || 0 !== y) {\r\n this._markersGroup.attr({\r\n translateX: center,\r\n translateY: y\r\n });\r\n this._items.forEach(item => {\r\n item.tracker.left += center;\r\n item.tracker.right += center;\r\n item.tracker.top += y;\r\n item.tracker.bottom += y\r\n })\r\n }\r\n },\r\n getPosition: function() {\r\n return this._options.position\r\n },\r\n coordsIn: function(x, y) {\r\n return x >= this._x1 && x <= this._x2 && y >= this._y1 && y <= this._y2\r\n },\r\n getItemByCoord: function(x, y) {\r\n var items = this._items;\r\n var legendGroup = this._insideLegendGroup;\r\n x -= legendGroup.attr(\"translateX\");\r\n y -= legendGroup.attr(\"translateY\");\r\n for (var i = 0; i < items.length; i++) {\r\n if (inRect(items[i].tracker, x, y)) {\r\n return items[i].tracker\r\n }\r\n }\r\n return null\r\n },\r\n dispose: function() {\r\n this._title && this._title.dispose();\r\n this._legendGroup = this._insideLegendGroup = this._title = this._renderer = this._options = this._data = this._items = null;\r\n return this\r\n },\r\n layoutOptions: function() {\r\n if (!this.isVisible()) {\r\n return null\r\n }\r\n var pos = this.getLayoutOptions();\r\n return {\r\n horizontalAlignment: this._options.horizontalAlignment,\r\n verticalAlignment: this._options.verticalAlignment,\r\n side: pos.cutSide,\r\n priority: 1,\r\n position: this.getPosition()\r\n }\r\n },\r\n measure: function(size) {\r\n if (this._updated || !this._insideLegendGroup) {\r\n this.draw(size[0], size[1]);\r\n this._updated = false\r\n } else {\r\n this._items.forEach(item => {\r\n item.bBoxes = []\r\n });\r\n this._updateElementsPosition(size[0], size[1])\r\n }\r\n var rect = this.getLayoutOptions();\r\n return [rect.width, rect.height]\r\n },\r\n move: function(rect) {\r\n this.shift(rect[0], rect[1])\r\n },\r\n freeSpace: function() {\r\n this._options._incidentOccurred(\"W2104\");\r\n this.erase()\r\n }\r\n});\r\nexport var plugin = {\r\n name: \"legend\",\r\n init: function() {\r\n var group = this._renderer.g().attr({\r\n class: this._rootClassPrefix + \"-legend\"\r\n }).enableLinks().append(this._renderer.root);\r\n this._legend = new Legend({\r\n renderer: this._renderer,\r\n group: group,\r\n widget: this,\r\n itemGroupClass: this._rootClassPrefix + \"-item\",\r\n titleGroupClass: this._rootClassPrefix + \"-title\",\r\n textField: \"text\",\r\n getFormatObject: function(data) {\r\n return {\r\n item: data.item,\r\n text: data.text\r\n }\r\n }\r\n });\r\n this._layout.add(this._legend)\r\n },\r\n extenders: {\r\n _applyTilesAppearance: function() {\r\n var that = this;\r\n this._items.forEach((function(item) {\r\n that._applyLegendItemStyle(item.id, item.getState())\r\n }))\r\n },\r\n _buildNodes: function() {\r\n this._createLegendItems()\r\n }\r\n },\r\n members: {\r\n _applyLegendItemStyle: function(id, state) {\r\n var legend = this._legend;\r\n switch (state) {\r\n case \"hover\":\r\n legend.applyHover(id);\r\n break;\r\n case \"selection\":\r\n legend.applySelected(id);\r\n break;\r\n default:\r\n legend.resetItem(id)\r\n }\r\n },\r\n _createLegendItems: function() {\r\n if (this._legend.update(this._getLegendData(), this._getOption(\"legend\"), this._themeManager.theme(\"legend\").title)) {\r\n this._requestChange([\"LAYOUT\"])\r\n }\r\n }\r\n },\r\n dispose: function() {\r\n this._legend.dispose()\r\n },\r\n customize: function(constructor) {\r\n constructor.prototype._proxyData.push((function(x, y) {\r\n if (this._legend.coordsIn(x, y)) {\r\n var item = this._legend.getItemByCoord(x, y);\r\n if (item) {\r\n return {\r\n id: item.id,\r\n type: \"legend\"\r\n }\r\n }\r\n }\r\n }));\r\n constructor.addChange({\r\n code: \"LEGEND\",\r\n handler: function() {\r\n this._createLegendItems()\r\n },\r\n isThemeDependent: true,\r\n option: \"legend\",\r\n isOptionChange: true\r\n })\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/components/parse_utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport dateSerialization from \"../../core/utils/date_serialization\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nvar parsers = {\r\n string: function(val) {\r\n return isDefined(val) ? \"\" + val : val\r\n },\r\n numeric: function(val) {\r\n if (!isDefined(val)) {\r\n return val\r\n }\r\n var parsedVal = Number(val);\r\n if (isNaN(parsedVal)) {\r\n parsedVal = void 0\r\n }\r\n return parsedVal\r\n },\r\n datetime: function(val) {\r\n if (!isDefined(val)) {\r\n return val\r\n }\r\n var parsedVal;\r\n var numVal = Number(val);\r\n if (!isNaN(numVal)) {\r\n parsedVal = new Date(numVal)\r\n } else {\r\n parsedVal = dateSerialization.deserializeDate(val)\r\n }\r\n if (isNaN(Number(parsedVal))) {\r\n parsedVal = void 0\r\n }\r\n return parsedVal\r\n }\r\n};\r\nexport function correctValueType(type) {\r\n return \"numeric\" === type || \"datetime\" === type || \"string\" === type ? type : \"\"\r\n}\r\nexport var getParser = function(valueType) {\r\n return parsers[correctValueType(valueType)] || noop\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/components/tracker.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n eventData as _eventData\r\n} from \"../../events/utils/index\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport pointer from \"../../events/pointer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nvar downPointerEventName = pointer.down;\r\nvar movePointerEventName = pointer.move;\r\nexport function Tracker(parameters) {\r\n this._initHandlers(parameters)\r\n}\r\nTracker.prototype = {\r\n constructor: Tracker,\r\n _initHandlers: function(parameters) {\r\n var document = domAdapter.getDocument();\r\n parameters.getCoords = function(e) {\r\n var data = _eventData(e);\r\n var offset = parameters.widget._renderer.getRootOffset();\r\n return [data.x - offset.left, data.y - offset.top]\r\n };\r\n parameters.root.on(clickEventName, clickHandler);\r\n parameters.root.on(downPointerEventName, downHandler);\r\n eventsEngine.on(document, downPointerEventName, downHandler);\r\n eventsEngine.on(document, movePointerEventName, moveHandler);\r\n this._disposeHandlers = function() {\r\n parameters.root.off(clickEventName, clickHandler);\r\n parameters.root.off(downPointerEventName, downHandler);\r\n eventsEngine.off(document, downPointerEventName, downHandler);\r\n eventsEngine.off(document, movePointerEventName, moveHandler)\r\n };\r\n\r\n function clickHandler(e) {\r\n processClick(e, parameters)\r\n }\r\n var isRootDown = false;\r\n\r\n function downHandler(e) {\r\n if (isRootDown) {\r\n isRootDown = false\r\n } else {\r\n if (void 0 !== parameters.getData(e)) {\r\n isRootDown = true\r\n }\r\n moveHandler(e)\r\n }\r\n }\r\n\r\n function moveHandler(e) {\r\n processHover(e, parameters);\r\n parameters.widget._getOption(\"tooltip\").enabled && processTooltip(e, parameters)\r\n }\r\n },\r\n dispose: function() {\r\n this._disposeHandlers()\r\n }\r\n};\r\n\r\nfunction processClick(e, params) {\r\n var id = params.getData(e);\r\n if (id >= 0) {\r\n params.click({\r\n node: params.getNode(id),\r\n coords: params.getCoords(e),\r\n event: e\r\n })\r\n }\r\n}\r\n\r\nfunction processHover(e, params) {\r\n var id = params.getData(e);\r\n if (id >= 0) {\r\n params.getNode(id).setHover()\r\n } else {\r\n params.widget.clearHover()\r\n }\r\n}\r\n\r\nfunction processTooltip(e, params) {\r\n var id = params.getData(e, true);\r\n var coords;\r\n if (id >= 0) {\r\n coords = _eventData(e);\r\n params.getNode(id).showTooltip([coords.x, coords.y])\r\n } else {\r\n params.widget.hideTooltip()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/core/annotations.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n isDefined,\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n Tooltip\r\n} from \"../core/tooltip\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n patchFontOptions\r\n} from \"./utils\";\r\nimport {\r\n Plaque\r\n} from \"./plaque\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport {\r\n start as dragEventStart,\r\n move as dragEventMove,\r\n end as dragEventEnd\r\n} from \"../../events/drag\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nvar getDocument = domAdapter.getDocument;\r\nvar EVENT_NS = \"annotations\";\r\nvar DOT_EVENT_NS = \".\" + EVENT_NS;\r\nvar POINTER_ACTION = addNamespace([pointerEvents.down, pointerEvents.move], EVENT_NS);\r\nvar POINTER_UP_EVENT_NAME = addNamespace(pointerEvents.up, EVENT_NS);\r\nvar DRAG_START_EVENT_NAME = dragEventStart + DOT_EVENT_NS;\r\nvar DRAG_EVENT_NAME = dragEventMove + DOT_EVENT_NS;\r\nvar DRAG_END_EVENT_NAME = dragEventEnd + DOT_EVENT_NS;\r\n\r\nfunction coreAnnotation(options, contentTemplate) {\r\n return {\r\n draw: function(widget, group) {\r\n var annotationGroup = widget._renderer.g().append(group).css(patchFontOptions(options.font));\r\n if (this.plaque) {\r\n this.plaque.clear()\r\n }\r\n this.plaque = new Plaque(extend(true, {}, options, {\r\n cornerRadius: (options.border || {}).cornerRadius\r\n }), widget, annotationGroup, contentTemplate, widget._isAnnotationBounded(options));\r\n this.plaque.draw(widget._getAnnotationCoords(this));\r\n if (options.allowDragging) {\r\n annotationGroup.on(DRAG_START_EVENT_NAME, {\r\n immediate: true\r\n }, e => {\r\n this._dragOffsetX = this.plaque.x - e.pageX;\r\n this._dragOffsetY = this.plaque.y - e.pageY\r\n }).on(DRAG_EVENT_NAME, e => {\r\n this.plaque.move(e.pageX + this._dragOffsetX, e.pageY + this._dragOffsetY)\r\n }).on(DRAG_END_EVENT_NAME, e => {\r\n this.offsetX = (this.offsetX || 0) + e.offset.x;\r\n this.offsetY = (this.offsetY || 0) + e.offset.y\r\n })\r\n }\r\n },\r\n hitTest(x, y) {\r\n return this.plaque.hitTest(x, y)\r\n },\r\n showTooltip(tooltip, _ref) {\r\n var {\r\n x: x,\r\n y: y\r\n } = _ref;\r\n var that = this;\r\n var options = that.options;\r\n if (tooltip.annotation !== that) {\r\n tooltip.setTemplate(options.tooltipTemplate);\r\n var callback = result => {\r\n result && (tooltip.annotation = that)\r\n };\r\n callback(tooltip.show(options, {\r\n x: x,\r\n y: y\r\n }, {\r\n target: options\r\n }, options.customizeTooltip, callback))\r\n } else if (!tooltip.isCursorOnTooltip(x, y)) {\r\n tooltip.move(x, y)\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction getTemplateFunction(options, widget) {\r\n var template;\r\n if (\"text\" === options.type) {\r\n template = function(item, groupElement) {\r\n var text = widget._renderer.text(item.text).attr({\r\n class: item.cssClass\r\n }).append({\r\n element: groupElement\r\n });\r\n if (item.width > 0 || item.height > 0) {\r\n text.setMaxSize(item.width, item.height, {\r\n wordWrap: item.wordWrap,\r\n textOverflow: item.textOverflow\r\n })\r\n }\r\n }\r\n } else if (\"image\" === options.type) {\r\n template = function(item, groupElement) {\r\n var {\r\n width: width,\r\n height: height,\r\n url: url,\r\n location: location\r\n } = item.image || {};\r\n var {\r\n width: outerWidth,\r\n height: outerHeight\r\n } = item;\r\n var imageWidth = outerWidth > 0 ? Math.min(width, outerWidth) : width;\r\n var imageHeight = outerHeight > 0 ? Math.min(height, outerHeight) : height;\r\n widget._renderer.image(0, 0, imageWidth, imageHeight, url, location || \"center\").append({\r\n element: groupElement\r\n })\r\n }\r\n } else if (\"custom\" === options.type) {\r\n template = options.template\r\n }\r\n return template\r\n}\r\n\r\nfunction getImageObject(image) {\r\n return \"string\" === typeof image ? {\r\n url: image\r\n } : image\r\n}\r\nexport var createAnnotations = function(widget, items) {\r\n var commonAnnotationSettings = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var customizeAnnotation = arguments.length > 3 ? arguments[3] : void 0;\r\n var pullOptions = arguments.length > 4 ? arguments[4] : void 0;\r\n var commonImageOptions = getImageObject(commonAnnotationSettings.image);\r\n return items.reduce((arr, item) => {\r\n var currentImageOptions = getImageObject(item.image);\r\n var customizedItem = isFunction(customizeAnnotation) ? customizeAnnotation(item) : {};\r\n if (customizedItem) {\r\n customizedItem.image = getImageObject(customizedItem.image)\r\n }\r\n var options = extend(true, {}, commonAnnotationSettings, item, {\r\n image: commonImageOptions\r\n }, {\r\n image: currentImageOptions\r\n }, customizedItem);\r\n var templateFunction = getTemplateFunction(options, widget);\r\n var annotation = templateFunction && extend(true, pullOptions(options), coreAnnotation(options, widget._getTemplate(templateFunction)));\r\n annotation && arr.push(annotation);\r\n return arr\r\n }, [])\r\n};\r\nvar chartPlugin = {\r\n name: \"annotations_chart\",\r\n init() {},\r\n dispose() {},\r\n members: {\r\n _getAnnotationCoords(annotation) {\r\n var _axis, _axis2;\r\n var coords = {\r\n offsetX: annotation.offsetX,\r\n offsetY: annotation.offsetY\r\n };\r\n var argCoordName = this._options.silent(\"rotated\") ? \"y\" : \"x\";\r\n var valCoordName = this._options.silent(\"rotated\") ? \"x\" : \"y\";\r\n var argAxis = this.getArgumentAxis();\r\n var argument = argAxis.validateUnit(annotation.argument);\r\n var axis = this.getValueAxis(annotation.axis);\r\n var series;\r\n var pane = null === (_axis = axis) || void 0 === _axis ? void 0 : _axis.pane;\r\n if (annotation.series) {\r\n var _series;\r\n series = this.series.filter(s => s.name === annotation.series)[0];\r\n axis = null === (_series = series) || void 0 === _series ? void 0 : _series.getValueAxis();\r\n isDefined(axis) && (pane = axis.pane)\r\n }\r\n if (isDefined(argument)) {\r\n if (series) {\r\n var center = series.getPointCenterByArg(argument);\r\n center && (coords[argCoordName] = center[argCoordName])\r\n } else {\r\n coords[argCoordName] = argAxis.getTranslator().translate(argument)\r\n }!isDefined(pane) && (pane = argAxis.pane)\r\n }\r\n var value = null === (_axis2 = axis) || void 0 === _axis2 ? void 0 : _axis2.validateUnit(annotation.value);\r\n if (isDefined(value)) {\r\n var _axis3;\r\n coords[valCoordName] = null === (_axis3 = axis) || void 0 === _axis3 ? void 0 : _axis3.getTranslator().translate(value);\r\n !isDefined(pane) && isDefined(axis) && (pane = axis.pane)\r\n }\r\n coords.canvas = this._getCanvasForPane(pane);\r\n if (isDefined(coords[argCoordName]) && !isDefined(value)) {\r\n var _series2;\r\n if (!isDefined(axis) && !isDefined(series)) {\r\n coords[valCoordName] = argAxis.getAxisPosition()\r\n } else if (isDefined(axis) && !isDefined(series)) {\r\n coords[valCoordName] = this._argumentAxes.filter(a => a.pane === axis.pane)[0].getAxisPosition()\r\n } else if (null !== (_series2 = series) && void 0 !== _series2 && _series2.checkSeriesViewportCoord(argAxis, coords[argCoordName])) {\r\n coords[valCoordName] = series.getSeriesPairCoord(coords[argCoordName], true)\r\n }\r\n }\r\n if (!isDefined(argument) && isDefined(coords[valCoordName])) {\r\n if (isDefined(axis) && !isDefined(series)) {\r\n coords[argCoordName] = axis.getAxisPosition()\r\n } else if (isDefined(series)) {\r\n if (series.checkSeriesViewportCoord(axis, coords[valCoordName])) {\r\n coords[argCoordName] = series.getSeriesPairCoord(coords[valCoordName], false)\r\n }\r\n }\r\n }\r\n return coords\r\n },\r\n _annotationsPointerEventHandler(event) {\r\n if (this._disposed) {\r\n return\r\n }\r\n var originalEvent = event.originalEvent || {};\r\n var touch = originalEvent.touches && originalEvent.touches[0] || {};\r\n var rootOffset = this._renderer.getRootOffset();\r\n var coords = {\r\n x: touch.pageX || originalEvent.pageX || event.pageX,\r\n y: touch.pageY || originalEvent.pageY || event.pageY\r\n };\r\n var annotation = this._annotations.items.filter(a => a.hitTest(coords.x - rootOffset.left, coords.y - rootOffset.top))[0];\r\n if (!annotation || !annotation.options.tooltipEnabled) {\r\n this._annotations.hideTooltip();\r\n return\r\n }\r\n this._clear();\r\n if (annotation.options.allowDragging && event.type === pointerEvents.down) {\r\n this._annotations._hideToolTipForDrag = true\r\n }\r\n if (!this._annotations._hideToolTipForDrag) {\r\n annotation.showTooltip(this._annotations.tooltip, coords);\r\n event.stopPropagation()\r\n }\r\n },\r\n _isAnnotationBounded: options => isDefined(options.value) || isDefined(options.argument),\r\n _pullOptions: options => ({\r\n type: options.type,\r\n name: options.name,\r\n x: options.x,\r\n y: options.y,\r\n value: options.value,\r\n argument: options.argument,\r\n axis: options.axis,\r\n series: options.series,\r\n options: options,\r\n offsetX: options.offsetX,\r\n offsetY: options.offsetY\r\n }),\r\n _forceAnnotationRender() {\r\n this._change([\"FORCE_RENDER\"])\r\n },\r\n _clear() {\r\n this.hideTooltip();\r\n this.clearHover()\r\n }\r\n }\r\n};\r\nvar polarChartPlugin = {\r\n name: \"annotations_polar_chart\",\r\n init() {},\r\n dispose() {},\r\n members: {\r\n _getAnnotationCoords(annotation) {\r\n var coords = {\r\n offsetX: annotation.offsetX,\r\n offsetY: annotation.offsetY,\r\n canvas: this._calcCanvas()\r\n };\r\n var argAxis = this.getArgumentAxis();\r\n var argument = argAxis.validateUnit(annotation.argument);\r\n var value = this.getValueAxis().validateUnit(annotation.value);\r\n var radius = annotation.radius;\r\n var angle = annotation.angle;\r\n var pointCoords;\r\n var series;\r\n if (annotation.series) {\r\n series = this.series.filter(s => s.name === annotation.series)[0]\r\n }\r\n extend(true, coords, this.getXYFromPolar(angle, radius, argument, value));\r\n if (isDefined(series)) {\r\n if (isDefined(coords.angle) && !isDefined(value) && !isDefined(radius)) {\r\n if (!isDefined(argument)) {\r\n argument = argAxis.getTranslator().from(isFinite(angle) ? this.getActualAngle(angle) : coords.angle)\r\n }\r\n pointCoords = series.getSeriesPairCoord({\r\n argument: argument,\r\n angle: -coords.angle\r\n }, true)\r\n } else if (isDefined(coords.radius) && !isDefined(argument) && !isDefined(angle)) {\r\n pointCoords = series.getSeriesPairCoord({\r\n radius: coords.radius\r\n }, false)\r\n }\r\n if (isDefined(pointCoords)) {\r\n coords.x = pointCoords.x;\r\n coords.y = pointCoords.y\r\n }\r\n }\r\n if (annotation.series && !isDefined(pointCoords)) {\r\n coords.x = coords.y = void 0\r\n }\r\n return coords\r\n },\r\n _annotationsPointerEventHandler: chartPlugin.members._annotationsPointerEventHandler,\r\n _isAnnotationBounded: chartPlugin.members._isAnnotationBounded,\r\n _pullOptions(options) {\r\n var polarOptions = extend({}, {\r\n radius: options.radius,\r\n angle: options.angle\r\n }, chartPlugin.members._pullOptions(options));\r\n delete polarOptions.axis;\r\n return polarOptions\r\n },\r\n _forceAnnotationRender: chartPlugin.members._forceAnnotationRender,\r\n _clear: chartPlugin.members._clear\r\n }\r\n};\r\nvar vectorMapPlugin = {\r\n name: \"annotations_vector_map\",\r\n init() {},\r\n dispose() {\r\n this._annotations._offTracker();\r\n this._annotations._offTracker = null\r\n },\r\n members: {\r\n _getAnnotationCoords(annotation) {\r\n var coords = {\r\n offsetX: annotation.offsetX,\r\n offsetY: annotation.offsetY\r\n };\r\n coords.canvas = this._projection.getCanvas();\r\n if (annotation.coordinates) {\r\n var data = this._projection.toScreenPoint(annotation.coordinates);\r\n coords.x = data[0];\r\n coords.y = data[1]\r\n }\r\n return coords\r\n },\r\n _annotationsPointerEventHandler: chartPlugin.members._annotationsPointerEventHandler,\r\n _isAnnotationBounded: options => isDefined(options.coordinates),\r\n _pullOptions(options) {\r\n var vectorMapOptions = extend({}, {\r\n coordinates: options.coordinates\r\n }, chartPlugin.members._pullOptions(options));\r\n delete vectorMapOptions.axis;\r\n delete vectorMapOptions.series;\r\n delete vectorMapOptions.argument;\r\n delete vectorMapOptions.value;\r\n return vectorMapOptions\r\n },\r\n _forceAnnotationRender() {\r\n this._change([\"EXTRA_ELEMENTS\"])\r\n },\r\n _getAnnotationStyles: () => ({\r\n \"text-anchor\": \"start\"\r\n }),\r\n _clear() {}\r\n },\r\n extenders: {\r\n _prepareExtraElements() {\r\n var that = this;\r\n var renderElements = () => {\r\n that._renderExtraElements()\r\n };\r\n that._annotations._offTracker = that._tracker.on({\r\n move: renderElements,\r\n zoom: renderElements,\r\n end: renderElements\r\n })\r\n }\r\n }\r\n};\r\nvar pieChartPlugin = {\r\n name: \"annotations_pie_chart\",\r\n init() {},\r\n dispose() {},\r\n members: {\r\n _getAnnotationCoords(annotation) {\r\n var series;\r\n var coords = {\r\n offsetX: annotation.offsetX,\r\n offsetY: annotation.offsetY,\r\n canvas: this._canvas\r\n };\r\n if (annotation.argument) {\r\n if (annotation.series) {\r\n series = this.getSeriesByName(annotation.series)\r\n } else {\r\n series = this.series[0]\r\n }\r\n var argument = series.getPointsByArg(annotation.argument)[0];\r\n var {\r\n x: x,\r\n y: y\r\n } = argument.getAnnotationCoords(annotation.location);\r\n coords.x = x;\r\n coords.y = y\r\n }\r\n return coords\r\n },\r\n _isAnnotationBounded: options => options.argument,\r\n _annotationsPointerEventHandler: chartPlugin.members._annotationsPointerEventHandler,\r\n _pullOptions(options) {\r\n var pieChartOptions = extend({}, {\r\n location: options.location\r\n }, chartPlugin.members._pullOptions(options));\r\n delete pieChartOptions.axis;\r\n return pieChartOptions\r\n },\r\n _clear: chartPlugin.members._clear,\r\n _forceAnnotationRender: chartPlugin.members._forceAnnotationRender\r\n }\r\n};\r\nvar corePlugin = {\r\n name: \"annotations_core\",\r\n init() {\r\n this._annotations = {\r\n items: [],\r\n _hideToolTipForDrag: false,\r\n tooltip: new Tooltip({\r\n cssClass: \"\".concat(this._rootClassPrefix, \"-annotation-tooltip\"),\r\n eventTrigger: this._eventTrigger,\r\n widgetRoot: this.element(),\r\n widget: this\r\n }),\r\n hideTooltip() {\r\n this.tooltip.annotation = null;\r\n this.tooltip.hide()\r\n },\r\n clearItems() {\r\n this.items.forEach(i => i.plaque.clear());\r\n this.items = []\r\n }\r\n };\r\n this._annotations.tooltip.setRendererOptions(this._getRendererOptions())\r\n },\r\n dispose() {\r\n this._annotationsGroup.linkRemove().linkOff();\r\n eventsEngine.off(getDocument(), DOT_EVENT_NS);\r\n this._annotationsGroup.off(DOT_EVENT_NS);\r\n this._annotations.tooltip && this._annotations.tooltip.dispose()\r\n },\r\n extenders: {\r\n _createHtmlStructure() {\r\n this._annotationsGroup = this._renderer.g().attr({\r\n class: \"\".concat(this._rootClassPrefix, \"-annotations\")\r\n }).css(this._getAnnotationStyles()).linkOn(this._renderer.root, \"annotations\").linkAppend();\r\n eventsEngine.on(getDocument(), POINTER_ACTION, e => {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (!this._annotations.tooltip.isCursorOnTooltip(e.pageX, e.pageY)) {\r\n this._annotations.hideTooltip()\r\n }\r\n });\r\n eventsEngine.on(getDocument(), POINTER_UP_EVENT_NAME, event => {\r\n this._annotations._hideToolTipForDrag = false;\r\n this._annotationsPointerEventHandler(event)\r\n });\r\n this._annotationsGroup.on(POINTER_ACTION, this._annotationsPointerEventHandler.bind(this))\r\n },\r\n _renderExtraElements() {\r\n this._annotationsGroup.clear();\r\n this._annotations.items.forEach(item => item.draw(this, this._annotationsGroup))\r\n },\r\n _stopCurrentHandling() {\r\n this._annotations.hideTooltip()\r\n }\r\n },\r\n members: {\r\n _buildAnnotations() {\r\n this._annotations.clearItems();\r\n var items = this._getOption(\"annotations\", true);\r\n if (!(null !== items && void 0 !== items && items.length)) {\r\n return\r\n }\r\n this._annotations.items = createAnnotations(this, items, this._getOption(\"commonAnnotationSettings\"), this._getOption(\"customizeAnnotation\", true), this._pullOptions)\r\n },\r\n _setAnnotationTooltipOptions() {\r\n var tooltipOptions = extend({}, this._getOption(\"tooltip\"));\r\n tooltipOptions.contentTemplate = tooltipOptions.customizeTooltip = void 0;\r\n this._annotations.tooltip.update(tooltipOptions)\r\n },\r\n _getAnnotationCoords: () => ({}),\r\n _pullOptions: () => ({}),\r\n _getAnnotationStyles: () => ({})\r\n },\r\n customize(constructor) {\r\n constructor.addChange({\r\n code: \"ANNOTATIONITEMS\",\r\n handler() {\r\n this._requestChange([\"ANNOTATIONS\"])\r\n },\r\n isOptionChange: true,\r\n option: \"annotations\"\r\n });\r\n constructor.addChange({\r\n code: \"ANNOTATIONSSETTINGS\",\r\n handler() {\r\n this._requestChange([\"ANNOTATIONS\"])\r\n },\r\n isOptionChange: true,\r\n option: \"commonAnnotationSettings\"\r\n });\r\n constructor.addChange({\r\n code: \"ANNOTATIONS\",\r\n handler() {\r\n this._buildAnnotations();\r\n this._setAnnotationTooltipOptions();\r\n this._forceAnnotationRender()\r\n },\r\n isThemeDependent: true,\r\n isOptionChange: true\r\n })\r\n },\r\n fontFields: [\"commonAnnotationSettings.font\"]\r\n};\r\nexport var plugins = {\r\n core: corePlugin,\r\n chart: chartPlugin,\r\n polarChart: polarChartPlugin,\r\n vectorMap: vectorMapPlugin,\r\n pieChart: pieChartPlugin\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/palette.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n normalizeEnum\r\n} from \"./core/utils\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nvar _floor = Math.floor;\r\nvar _ceil = Math.ceil;\r\nimport _Color from \"../color\";\r\nvar _isArray = Array.isArray;\r\nimport {\r\n isString as _isString\r\n} from \"../core/utils/type\";\r\nvar HIGHLIGHTING_STEP = 50;\r\nvar DEFAULT_PALETTE = \"material\";\r\nvar officePalette = {\r\n simpleSet: [\"#5f8b95\", \"#ba4d51\", \"#af8a53\", \"#955f71\", \"#859666\", \"#7e688c\"],\r\n indicatingSet: [\"#a3b97c\", \"#e1b676\", \"#ec7f83\"],\r\n gradientSet: [\"#5f8b95\", \"#ba4d51\"],\r\n accentColor: \"#ba4d51\"\r\n};\r\nvar palettes = {\r\n [DEFAULT_PALETTE]: {\r\n simpleSet: [\"#1db2f5\", \"#f5564a\", \"#97c95c\", \"#ffc720\", \"#eb3573\", \"#a63db8\"],\r\n indicatingSet: [\"#97c95c\", \"#ffc720\", \"#f5564a\"],\r\n gradientSet: [\"#1db2f5\", \"#97c95c\"],\r\n accentColor: \"#1db2f5\"\r\n },\r\n office: officePalette,\r\n \"harmony light\": {\r\n simpleSet: [\"#fcb65e\", \"#679ec5\", \"#ad79ce\", \"#7abd5c\", \"#e18e92\", \"#b6d623\", \"#b7abea\", \"#85dbd5\"],\r\n indicatingSet: [\"#b6d623\", \"#fcb65e\", \"#e18e92\"],\r\n gradientSet: [\"#7abd5c\", \"#fcb65e\"],\r\n accentColor: \"#679ec5\"\r\n },\r\n \"soft pastel\": {\r\n simpleSet: [\"#60a69f\", \"#78b6d9\", \"#6682bb\", \"#a37182\", \"#eeba69\", \"#90ba58\", \"#456c68\", \"#7565a4\"],\r\n indicatingSet: [\"#90ba58\", \"#eeba69\", \"#a37182\"],\r\n gradientSet: [\"#78b6d9\", \"#eeba69\"],\r\n accentColor: \"#60a69f\"\r\n },\r\n pastel: {\r\n simpleSet: [\"#bb7862\", \"#70b3a1\", \"#bb626a\", \"#057d85\", \"#ab394b\", \"#dac599\", \"#153459\", \"#b1d2c6\"],\r\n indicatingSet: [\"#70b3a1\", \"#dac599\", \"#bb626a\"],\r\n gradientSet: [\"#bb7862\", \"#70b3a1\"],\r\n accentColor: \"#bb7862\"\r\n },\r\n bright: {\r\n simpleSet: [\"#70c92f\", \"#f8ca00\", \"#bd1550\", \"#e97f02\", \"#9d419c\", \"#7e4452\", \"#9ab57e\", \"#36a3a6\"],\r\n indicatingSet: [\"#70c92f\", \"#f8ca00\", \"#bd1550\"],\r\n gradientSet: [\"#e97f02\", \"#f8ca00\"],\r\n accentColor: \"#e97f02\"\r\n },\r\n soft: {\r\n simpleSet: [\"#cbc87b\", \"#9ab57e\", \"#e55253\", \"#7e4452\", \"#e8c267\", \"#565077\", \"#6babac\", \"#ad6082\"],\r\n indicatingSet: [\"#9ab57e\", \"#e8c267\", \"#e55253\"],\r\n gradientSet: [\"#9ab57e\", \"#e8c267\"],\r\n accentColor: \"#565077\"\r\n },\r\n ocean: {\r\n simpleSet: [\"#75c099\", \"#acc371\", \"#378a8a\", \"#5fa26a\", \"#064970\", \"#38c5d2\", \"#00a7c6\", \"#6f84bb\"],\r\n indicatingSet: [\"#c8e394\", \"#7bc59d\", \"#397c8b\"],\r\n gradientSet: [\"#acc371\", \"#38c5d2\"],\r\n accentColor: \"#378a8a\"\r\n },\r\n vintage: {\r\n simpleSet: [\"#dea484\", \"#efc59c\", \"#cb715e\", \"#eb9692\", \"#a85c4c\", \"#f2c0b5\", \"#c96374\", \"#dd956c\"],\r\n indicatingSet: [\"#ffe5c6\", \"#f4bb9d\", \"#e57660\"],\r\n gradientSet: [\"#efc59c\", \"#cb715e\"],\r\n accentColor: \"#cb715e\"\r\n },\r\n violet: {\r\n simpleSet: [\"#d1a1d1\", \"#eeacc5\", \"#7b5685\", \"#7e7cad\", \"#a13d73\", \"#5b41ab\", \"#e287e2\", \"#689cc1\"],\r\n indicatingSet: [\"#d8e2f6\", \"#d0b2da\", \"#d56a8a\"],\r\n gradientSet: [\"#eeacc5\", \"#7b5685\"],\r\n accentColor: \"#7b5685\"\r\n },\r\n carmine: {\r\n simpleSet: [\"#fb7764\", \"#73d47f\", \"#fed85e\", \"#d47683\", \"#dde392\", \"#757ab2\"],\r\n indicatingSet: [\"#5cb85c\", \"#f0ad4e\", \"#d9534f\"],\r\n gradientSet: [\"#fb7764\", \"#73d47f\"],\r\n accentColor: \"#f05b41\"\r\n },\r\n \"dark moon\": {\r\n simpleSet: [\"#4ddac1\", \"#f4c99a\", \"#80dd9b\", \"#f998b3\", \"#4aaaa0\", \"#a5aef1\"],\r\n indicatingSet: [\"#59d8a4\", \"#f0ad4e\", \"#f9517e\"],\r\n gradientSet: [\"#4ddac1\", \"#f4c99a\"],\r\n accentColor: \"#3debd3\"\r\n },\r\n \"soft blue\": {\r\n simpleSet: [\"#7ab8eb\", \"#97da97\", \"#facb86\", \"#e78683\", \"#839bda\", \"#4db7be\"],\r\n indicatingSet: [\"#5cb85c\", \"#f0ad4e\", \"#d9534f\"],\r\n gradientSet: [\"#7ab8eb\", \"#97da97\"],\r\n accentColor: \"#7ab8eb\"\r\n },\r\n \"dark violet\": {\r\n simpleSet: [\"#9c63ff\", \"#64c064\", \"#eead51\", \"#d2504b\", \"#4b6bbf\", \"#2da7b0\"],\r\n indicatingSet: [\"#5cb85c\", \"#f0ad4e\", \"#d9534f\"],\r\n gradientSet: [\"#9c63ff\", \"#64c064\"],\r\n accentColor: \"#9c63ff\"\r\n },\r\n \"green mist\": {\r\n simpleSet: [\"#3cbab2\", \"#8ed962\", \"#5b9d95\", \"#efcc7c\", \"#f1929f\", \"#4d8dab\"],\r\n indicatingSet: [\"#72d63c\", \"#ffc852\", \"#f74a5e\"],\r\n gradientSet: [\"#3cbab2\", \"#8ed962\"],\r\n accentColor: \"#3cbab2\"\r\n }\r\n};\r\nvar currentPaletteName;\r\nexport function currentPalette(name) {\r\n if (void 0 === name) {\r\n return currentPaletteName || DEFAULT_PALETTE\r\n } else {\r\n name = normalizeEnum(name);\r\n currentPaletteName = name in palettes ? name : void 0\r\n }\r\n}\r\nexport function generateColors(palette, count) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {\r\n keepLastColorInEnd: false\r\n };\r\n options.type = options.baseColorSet;\r\n options.extensionMode = options.paletteExtensionMode;\r\n return createPalette(palette, options).generateColors(count)\r\n}\r\nexport function getPalette(palette, parameters) {\r\n parameters = parameters || {};\r\n palette = palette || (void 0 === currentPaletteName ? parameters.themeDefault : currentPalette());\r\n var result;\r\n var type = parameters.type;\r\n if (_isArray(palette)) {\r\n return palette.slice(0)\r\n } else {\r\n if (_isString(palette)) {\r\n result = palettes[normalizeEnum(palette)]\r\n }\r\n if (!result) {\r\n result = palettes[currentPalette()]\r\n }\r\n }\r\n return type ? result[type].slice(0) : result\r\n}\r\nexport function registerPalette(name, palette) {\r\n var item = {};\r\n var paletteName;\r\n if (_isArray(palette)) {\r\n item.simpleSet = palette.slice(0)\r\n } else if (palette) {\r\n item.simpleSet = _isArray(palette.simpleSet) ? palette.simpleSet.slice(0) : void 0;\r\n item.indicatingSet = _isArray(palette.indicatingSet) ? palette.indicatingSet.slice(0) : void 0;\r\n item.gradientSet = _isArray(palette.gradientSet) ? palette.gradientSet.slice(0) : void 0;\r\n item.accentColor = palette.accentColor\r\n }\r\n if (!item.accentColor) {\r\n item.accentColor = item.simpleSet && item.simpleSet[0]\r\n }\r\n if (item.simpleSet || item.indicatingSet || item.gradientSet) {\r\n paletteName = normalizeEnum(name);\r\n extend(palettes[paletteName] = palettes[paletteName] || {}, item)\r\n }\r\n}\r\nexport function getAccentColor(palette, themeDefault) {\r\n palette = getPalette(palette, {\r\n themeDefault: themeDefault\r\n });\r\n return palette.accentColor || palette[0]\r\n}\r\n\r\nfunction RingBuf(buf) {\r\n var ind = 0;\r\n this.next = function() {\r\n var res = buf[ind++];\r\n if (ind === buf.length) {\r\n this.reset()\r\n }\r\n return res\r\n };\r\n this.reset = function() {\r\n ind = 0\r\n }\r\n}\r\n\r\nfunction getAlternateColorsStrategy(palette, parameters) {\r\n var stepHighlight = parameters.useHighlight ? HIGHLIGHTING_STEP : 0;\r\n var paletteSteps = new RingBuf([0, stepHighlight, -stepHighlight]);\r\n var currentPalette = [];\r\n\r\n function _reset() {\r\n var step = paletteSteps.next();\r\n currentPalette = step ? getAlteredPalette(palette, step) : palette.slice(0)\r\n }\r\n return {\r\n getColor: function(index) {\r\n var color = currentPalette[index % palette.length];\r\n if (index % palette.length === palette.length - 1) {\r\n _reset()\r\n }\r\n return color\r\n },\r\n generateColors: function(count) {\r\n var colors = [];\r\n count = count || parameters.count;\r\n for (var i = 0; i < count; i++) {\r\n colors.push(this.getColor(i))\r\n }\r\n return colors\r\n },\r\n reset: function() {\r\n paletteSteps.reset();\r\n _reset()\r\n }\r\n }\r\n}\r\n\r\nfunction getExtrapolateColorsStrategy(palette, parameters) {\r\n return {\r\n getColor: function(index, count) {\r\n var paletteCount = palette.length;\r\n var cycles = _floor((count - 1) / paletteCount + 1);\r\n var color = palette[index % paletteCount];\r\n if (cycles > 1) {\r\n return function(color, cycleIndex, cycleCount) {\r\n var hsl = new _Color(color).hsl;\r\n var l = hsl.l / 100;\r\n var diapason = cycleCount - 1 / cycleCount;\r\n var minL = l - .5 * diapason;\r\n var maxL = l + .5 * diapason;\r\n var cycleMiddle = (cycleCount - 1) / 2;\r\n var cycleDiff = cycleIndex - cycleMiddle;\r\n if (minL < Math.min(.5, .9 * l)) {\r\n minL = Math.min(.5, .9 * l)\r\n }\r\n if (maxL > Math.max(.8, l + .15 * (1 - l))) {\r\n maxL = Math.max(.8, l + .15 * (1 - l))\r\n }\r\n if (cycleDiff < 0) {\r\n l -= (minL - l) * cycleDiff / cycleMiddle\r\n } else {\r\n l += cycleDiff / cycleMiddle * (maxL - l)\r\n }\r\n hsl.l = 100 * l;\r\n return _Color.prototype.fromHSL(hsl).toHex()\r\n }(color, _floor(index / paletteCount), cycles)\r\n }\r\n return color\r\n },\r\n generateColors: function(count) {\r\n var colors = [];\r\n count = count || parameters.count;\r\n for (var i = 0; i < count; i++) {\r\n colors.push(this.getColor(i, count))\r\n }\r\n return colors\r\n },\r\n reset: function() {}\r\n }\r\n}\r\n\r\nfunction getColorMixer(palette, parameters) {\r\n var paletteCount = palette.length;\r\n var extendedPalette = [];\r\n\r\n function distributeColors(count, colorsCount, startIndex, distribution) {\r\n var groupSize = Math.floor(count / colorsCount);\r\n var extraItems = count - colorsCount * groupSize;\r\n var i = startIndex;\r\n var middleIndex;\r\n var size;\r\n while (i < startIndex + count) {\r\n size = groupSize;\r\n if (extraItems > 0) {\r\n size += 1;\r\n extraItems--\r\n }\r\n middleIndex = size > 2 ? Math.floor(size / 2) : 0;\r\n distribution.push(i + middleIndex);\r\n i += size\r\n }\r\n return distribution.sort((function(a, b) {\r\n return a - b\r\n }))\r\n }\r\n\r\n function getColorAndDistance(arr, startIndex, count) {\r\n startIndex = (count + startIndex) % count;\r\n var distance = 0;\r\n for (var i = startIndex; i < 2 * count; i += 1) {\r\n var index = (count + i) % count;\r\n if (arr[index]) {\r\n return [arr[index], distance]\r\n }\r\n distance++\r\n }\r\n }\r\n\r\n function extendPalette(count) {\r\n if (count <= paletteCount) {\r\n return palette\r\n }\r\n var result = [];\r\n var colorInGroups = paletteCount - 2;\r\n var currentColorIndex = 0;\r\n var cleanColorIndices = [];\r\n if (parameters.keepLastColorInEnd) {\r\n cleanColorIndices = distributeColors(count - 2, colorInGroups, 1, [0, count - 1])\r\n } else {\r\n cleanColorIndices = distributeColors(count - 1, paletteCount - 1, 1, [0])\r\n }\r\n for (var i = 0; i < count; i++) {\r\n if (cleanColorIndices.indexOf(i) > -1) {\r\n result[i] = palette[currentColorIndex++]\r\n }\r\n }\r\n result = function(paletteWithEmptyColors, paletteLength) {\r\n for (var i = 0; i < paletteLength; i++) {\r\n var color = paletteWithEmptyColors[i];\r\n if (!color) {\r\n var color1 = paletteWithEmptyColors[i - 1];\r\n if (!color1) {\r\n continue\r\n } else {\r\n var c2 = getColorAndDistance(paletteWithEmptyColors, i, paletteLength);\r\n var color2 = new _Color(c2[0]);\r\n color1 = new _Color(color1);\r\n for (var j = 0; j < c2[1]; j++, i++) {\r\n paletteWithEmptyColors[i] = color1.blend(color2, (j + 1) / (c2[1] + 1)).toHex()\r\n }\r\n }\r\n }\r\n }\r\n return paletteWithEmptyColors\r\n }(result, count);\r\n return result\r\n }\r\n return {\r\n getColor: function(index, count) {\r\n count = count || parameters.count || paletteCount;\r\n if (extendedPalette.length !== count) {\r\n extendedPalette = extendPalette(count)\r\n }\r\n return extendedPalette[index % count]\r\n },\r\n generateColors: function(count, repeat) {\r\n count = count || parameters.count || paletteCount;\r\n if (repeat && count > paletteCount) {\r\n var colors = extendPalette(paletteCount);\r\n for (var i = 0; i < count - paletteCount; i++) {\r\n colors.push(colors[i])\r\n }\r\n return colors\r\n } else {\r\n return paletteCount > 0 ? extendPalette(count).slice(0, count) : []\r\n }\r\n },\r\n reset: function() {}\r\n }\r\n}\r\nexport function createPalette(palette, parameters, themeDefaultPalette) {\r\n var paletteObj = {\r\n dispose() {\r\n this._extensionStrategy = null\r\n },\r\n getNextColor(count) {\r\n return this._extensionStrategy.getColor(this._currentColor++, count)\r\n },\r\n generateColors(count, parameters) {\r\n return this._extensionStrategy.generateColors(count, (parameters || {}).repeat)\r\n },\r\n reset() {\r\n this._currentColor = 0;\r\n this._extensionStrategy.reset();\r\n return this\r\n }\r\n };\r\n parameters = parameters || {};\r\n var extensionMode = (parameters.extensionMode || \"\").toLowerCase();\r\n var colors = getPalette(palette, {\r\n type: parameters.type || \"simpleSet\",\r\n themeDefault: themeDefaultPalette\r\n });\r\n if (\"alternate\" === extensionMode) {\r\n paletteObj._extensionStrategy = getAlternateColorsStrategy(colors, parameters)\r\n } else if (\"extrapolate\" === extensionMode) {\r\n paletteObj._extensionStrategy = getExtrapolateColorsStrategy(colors, parameters)\r\n } else {\r\n paletteObj._extensionStrategy = getColorMixer(colors, parameters)\r\n }\r\n paletteObj.reset();\r\n return paletteObj\r\n}\r\n\r\nfunction getAlteredPalette(originalPalette, step) {\r\n var palette = [];\r\n var i;\r\n var ii = originalPalette.length;\r\n for (i = 0; i < ii; ++i) {\r\n palette.push(getNewColor(originalPalette[i], step))\r\n }\r\n return palette\r\n}\r\n\r\nfunction getNewColor(currentColor, step) {\r\n var newColor = new _Color(currentColor).alter(step);\r\n var lightness = getLightness(newColor);\r\n if (lightness > 200 || lightness < 55) {\r\n newColor = new _Color(currentColor).alter(-step / 2)\r\n }\r\n return newColor.toHex()\r\n}\r\n\r\nfunction getLightness(color) {\r\n return .3 * color.r + .59 * color.g + .11 * color.b\r\n}\r\nexport function getDiscretePalette(source, size, themeDefaultPalette) {\r\n var palette = size > 0 ? createDiscreteColors(getPalette(source, {\r\n type: \"gradientSet\",\r\n themeDefault: themeDefaultPalette\r\n }), size) : [];\r\n return {\r\n getColor: function(index) {\r\n return palette[index] || null\r\n }\r\n }\r\n}\r\n\r\nfunction createDiscreteColors(source, count) {\r\n var colorCount = count - 1;\r\n var sourceCount = source.length - 1;\r\n var colors = [];\r\n var gradient = [];\r\n var i;\r\n\r\n function addColor(pos) {\r\n var k = sourceCount * pos;\r\n var kl = _floor(k);\r\n var kr = _ceil(k);\r\n gradient.push(colors[kl].blend(colors[kr], k - kl).toHex())\r\n }\r\n for (i = 0; i <= sourceCount; ++i) {\r\n colors.push(new _Color(source[i]))\r\n }\r\n if (colorCount > 0) {\r\n for (i = 0; i <= colorCount; ++i) {\r\n addColor(i / colorCount)\r\n }\r\n } else {\r\n addColor(.5)\r\n }\r\n return gradient\r\n}\r\nexport function getGradientPalette(source, themeDefaultPalette) {\r\n var palette = getPalette(source, {\r\n type: \"gradientSet\",\r\n themeDefault: themeDefaultPalette\r\n });\r\n var color1 = new _Color(palette[0]);\r\n var color2 = new _Color(palette[1]);\r\n return {\r\n getColor: function(ratio) {\r\n return 0 <= ratio && ratio <= 1 ? color1.blend(color2, ratio).toHex() : null\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/core/base_theme_manager.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isString as _isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n createPalette as getPalette,\r\n getDiscretePalette,\r\n getGradientPalette,\r\n getAccentColor as accentColor\r\n} from \"../palette\";\r\nimport {\r\n parseScalar as _parseScalar\r\n} from \"./utils\";\r\nimport {\r\n getTheme,\r\n addCacheItem,\r\n removeCacheItem\r\n} from \"../themes\";\r\nvar _getTheme = getTheme;\r\nvar _addCacheItem = addCacheItem;\r\nvar _removeCacheItem = removeCacheItem;\r\nvar _extend = extend;\r\nvar _each = each;\r\n\r\nfunction getThemePart(theme, path) {\r\n var _theme = theme;\r\n path && _each(path.split(\".\"), (function(_, pathItem) {\r\n return _theme = _theme[pathItem]\r\n }));\r\n return _theme\r\n}\r\nexport var BaseThemeManager = Class.inherit({\r\n ctor: function(options) {\r\n this._themeSection = options.themeSection;\r\n this._fontFields = options.fontFields || [];\r\n _addCacheItem(this)\r\n },\r\n dispose: function() {\r\n _removeCacheItem(this);\r\n this._callback = this._theme = this._font = null;\r\n return this\r\n },\r\n setCallback: function(callback) {\r\n this._callback = callback;\r\n return this\r\n },\r\n setTheme: function(theme, rtl) {\r\n this._current = theme;\r\n this._rtl = rtl;\r\n return this.refresh()\r\n },\r\n refresh: function() {\r\n var current = this._current || {};\r\n var theme = _getTheme(current.name || current);\r\n this._themeName = theme.name;\r\n this._defaultPalette = theme.defaultPalette;\r\n this._font = _extend({}, theme.font, current.font);\r\n this._themeSection && _each(this._themeSection.split(\".\"), (function(_, path) {\r\n theme = _extend(true, {}, theme[path])\r\n }));\r\n this._theme = _extend(true, {}, theme, _isString(current) ? {} : current);\r\n this._initializeTheme();\r\n if (_parseScalar(this._rtl, this._theme.rtlEnabled)) {\r\n _extend(true, this._theme, this._theme._rtl)\r\n }\r\n this._callback();\r\n return this\r\n },\r\n theme: function(path) {\r\n return getThemePart(this._theme, path)\r\n },\r\n themeName: function() {\r\n return this._themeName\r\n },\r\n createPalette: function(palette, options) {\r\n return getPalette(palette, options, this._defaultPalette)\r\n },\r\n createDiscretePalette: function(palette, count) {\r\n return getDiscretePalette(palette, count, this._defaultPalette)\r\n },\r\n createGradientPalette: function(palette) {\r\n return getGradientPalette(palette, this._defaultPalette)\r\n },\r\n getAccentColor: function(palette) {\r\n return accentColor(palette, this._defaultPalette)\r\n },\r\n _initializeTheme: function() {\r\n var that = this;\r\n _each(that._fontFields || [], (function(_, path) {\r\n that._initializeFont(getThemePart(that._theme, path))\r\n }))\r\n },\r\n _initializeFont: function(font) {\r\n _extend(font, this._font, _extend({}, font))\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/core/data_source.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport DataHelperMixin from \"../../data_helper\";\r\nvar postCtor = DataHelperMixin.postCtor;\r\nvar name;\r\nvar members = {\r\n _dataSourceLoadErrorHandler: function() {\r\n this._dataSourceChangedHandler()\r\n },\r\n _dataSourceOptions: function() {\r\n return {\r\n paginate: false\r\n }\r\n },\r\n _updateDataSource: function() {\r\n this._refreshDataSource();\r\n if (!this.option(\"dataSource\")) {\r\n this._dataSourceChangedHandler()\r\n }\r\n },\r\n _dataIsLoaded: function() {\r\n return !this._dataSource || this._dataSource.isLoaded()\r\n },\r\n _dataSourceItems: function() {\r\n return this._dataSource && this._dataSource.items()\r\n }\r\n};\r\nfor (name in DataHelperMixin) {\r\n if (\"postCtor\" === name) {\r\n continue\r\n }\r\n members[name] = DataHelperMixin[name]\r\n}\r\nexport var plugin = {\r\n name: \"data_source\",\r\n init: function() {\r\n postCtor.call(this)\r\n },\r\n dispose: noop,\r\n members: members\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/core/export.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n patchFontOptions\r\n} from \"./utils\";\r\nimport {\r\n HIDDEN_FOR_EXPORT\r\n} from \"../../core/utils/svg\";\r\nimport {\r\n export as _export,\r\n image as imageExporter,\r\n svg as svgExporter,\r\n pdf as pdfExporter\r\n} from \"../../exporter\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n getTheme\r\n} from \"../themes\";\r\nimport {\r\n start as hoverEventStart,\r\n end as hoverEventEnd\r\n} from \"../../events/hover\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport {\r\n logger\r\n} from \"../../core/utils/console\";\r\nimport {\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nvar pointerActions = [pointerEvents.down, pointerEvents.move].join(\" \");\r\nvar BUTTON_SIZE = 35;\r\nvar ICON_COORDS = [\r\n [9, 12, 26, 12, 26, 14, 9, 14],\r\n [9, 17, 26, 17, 26, 19, 9, 19],\r\n [9, 22, 26, 22, 26, 24, 9, 24]\r\n];\r\nvar LIST_PADDING_TOP = 4;\r\nvar LIST_WIDTH = 120;\r\nvar VERTICAL_TEXT_MARGIN = 8;\r\nvar HORIZONTAL_TEXT_MARGIN = 15;\r\nvar MENU_ITEM_HEIGHT = 30;\r\nvar LIST_STROKE_WIDTH = 1;\r\nvar MARGIN = 10;\r\nvar SHADOW_OFFSET = 2;\r\nvar SHADOW_BLUR = 3;\r\nvar DEFAULT_EXPORT_FORMAT = \"PNG\";\r\nvar ALLOWED_IMAGE_FORMATS = [DEFAULT_EXPORT_FORMAT, \"JPEG\", \"GIF\"];\r\nvar ALLOWED_EXTRA_FORMATS = [\"PDF\", \"SVG\"];\r\nvar EXPORT_CSS_CLASS = \"dx-export-menu\";\r\nvar A4WidthCm = \"21cm\";\r\nvar EXPORT_DATA_KEY = \"export-element-type\";\r\nvar FORMAT_DATA_KEY = \"export-element-format\";\r\nvar GET_COLOR_REGEX = /data-backgroundcolor=\"([^\"]*)\"/;\r\n\r\nfunction getValidFormats() {\r\n var imageFormats = imageExporter.testFormats(ALLOWED_IMAGE_FORMATS);\r\n return {\r\n unsupported: imageFormats.unsupported,\r\n supported: imageFormats.supported.concat(ALLOWED_EXTRA_FORMATS)\r\n }\r\n}\r\n\r\nfunction validateFormat(format, incidentOccurred, validFormats) {\r\n validFormats = validFormats || getValidFormats();\r\n format = String(format).toUpperCase();\r\n if (-1 !== validFormats.supported.indexOf(format)) {\r\n return format\r\n }\r\n if (-1 !== validFormats.unsupported.indexOf(format)) {\r\n incidentOccurred && incidentOccurred(\"W2108\", [format])\r\n }\r\n}\r\n\r\nfunction getCreatorFunc(format) {\r\n if (\"SVG\" === format) {\r\n return svgExporter.getData\r\n } else if (\"PDF\" === format) {\r\n return pdfExporter.getData\r\n } else {\r\n return imageExporter.getData\r\n }\r\n}\r\n\r\nfunction print(imageSrc, options) {\r\n var document = getWindow().document;\r\n var iFrame = document.createElement(\"iframe\");\r\n iFrame.onload = setPrint(imageSrc, options);\r\n iFrame.style.position = \"fixed\";\r\n iFrame.style.width = \"0\";\r\n iFrame.style.height = \"0\";\r\n iFrame.style.right = \"0\";\r\n iFrame.style.bottom = \"0\";\r\n document.body.appendChild(iFrame)\r\n}\r\n\r\nfunction calculatePrintPageWidth(iFrameBody) {\r\n iFrameBody.style.width = A4WidthCm;\r\n var width = getWidth(iFrameBody);\r\n iFrameBody.style.width = \"\";\r\n return width\r\n}\r\n\r\nfunction setPrint(imageSrc, options) {\r\n return function() {\r\n var window = this.contentWindow;\r\n var img = window.document.createElement(\"img\");\r\n window.document.body.appendChild(img);\r\n var widthRatio = calculatePrintPageWidth(window.document.body) / options.width;\r\n if (widthRatio < 1) {\r\n window.document.body.style.transform = \"scale(\".concat(widthRatio, \")\");\r\n window.document.body.style[\"transform-origin\"] = \"0 0\"\r\n }\r\n var removeFrame = () => {\r\n this.parentElement.removeChild(this)\r\n };\r\n img.addEventListener(\"load\", () => {\r\n window.focus();\r\n window.print()\r\n });\r\n img.addEventListener(\"error\", removeFrame);\r\n window.addEventListener(\"afterprint\", () => {\r\n setTimeout(removeFrame, 0)\r\n });\r\n img.src = imageSrc\r\n }\r\n}\r\n\r\nfunction getItemAttributes(options, type, itemIndex) {\r\n var x = BUTTON_SIZE - LIST_WIDTH;\r\n var y = BUTTON_SIZE + LIST_PADDING_TOP + LIST_STROKE_WIDTH + itemIndex * MENU_ITEM_HEIGHT;\r\n var attr = {\r\n rect: {\r\n width: LIST_WIDTH - 2 * LIST_STROKE_WIDTH,\r\n height: MENU_ITEM_HEIGHT,\r\n x: x + LIST_STROKE_WIDTH,\r\n y: y\r\n },\r\n text: {\r\n x: x + (options.rtl ? LIST_WIDTH - HORIZONTAL_TEXT_MARGIN : HORIZONTAL_TEXT_MARGIN),\r\n y: y + MENU_ITEM_HEIGHT - VERTICAL_TEXT_MARGIN\r\n }\r\n };\r\n if (\"printing\" === type) {\r\n attr.separator = {\r\n stroke: options.button.default.borderColor,\r\n \"stroke-width\": LIST_STROKE_WIDTH,\r\n cursor: \"pointer\",\r\n sharp: \"v\",\r\n d: \"M \" + x + \" \" + (y + MENU_ITEM_HEIGHT - LIST_STROKE_WIDTH) + \" L \" + (x + LIST_WIDTH) + \" \" + (y + MENU_ITEM_HEIGHT - LIST_STROKE_WIDTH)\r\n }\r\n }\r\n return attr\r\n}\r\n\r\nfunction createMenuItem(renderer, options, settings) {\r\n var itemData = {};\r\n var type = settings.type;\r\n var format = settings.format;\r\n var attr = getItemAttributes(options, type, settings.itemIndex);\r\n var fontStyle = patchFontOptions(options.font);\r\n fontStyle[\"pointer-events\"] = \"none\";\r\n var menuItem = renderer.g().attr({\r\n class: EXPORT_CSS_CLASS + \"-list-item\"\r\n });\r\n itemData[EXPORT_DATA_KEY] = type;\r\n if (format) {\r\n itemData[FORMAT_DATA_KEY] = format\r\n }\r\n var rect = renderer.rect();\r\n rect.attr(attr.rect).css({\r\n cursor: \"pointer\",\r\n \"pointer-events\": \"all\"\r\n }).data(itemData);\r\n rect.on(hoverEventStart + \".export\", () => rect.attr({\r\n fill: options.button.hover.backgroundColor\r\n })).on(hoverEventEnd + \".export\", () => rect.attr({\r\n fill: null\r\n }));\r\n rect.append(menuItem);\r\n var text = renderer.text(settings.text).css(fontStyle).attr(attr.text).append(menuItem);\r\n if (\"printing\" === type) {\r\n renderer.path(null, \"line\").attr(attr.separator).append(menuItem)\r\n }\r\n return {\r\n g: menuItem,\r\n rect: rect,\r\n resetState: () => rect.attr({\r\n fill: null\r\n }),\r\n fixPosition: () => {\r\n var textBBox = text.getBBox();\r\n text.move(attr.text.x - textBBox.x - (options.rtl ? textBBox.width : 0))\r\n }\r\n }\r\n}\r\n\r\nfunction createMenuItems(renderer, options) {\r\n var items = [];\r\n if (options.printingEnabled) {\r\n items.push(createMenuItem(renderer, options, {\r\n type: \"printing\",\r\n text: messageLocalization.format(\"vizExport-printingButtonText\"),\r\n itemIndex: items.length\r\n }))\r\n }\r\n items = options.formats.reduce((r, format) => {\r\n r.push(createMenuItem(renderer, options, {\r\n type: \"exporting\",\r\n text: messageLocalization.getFormatter(\"vizExport-exportButtonText\")(format),\r\n format: format,\r\n itemIndex: r.length\r\n }));\r\n return r\r\n }, items);\r\n return items\r\n}\r\n\r\nfunction getBackgroundColorFromMarkup(markup) {\r\n var parsedMarkup = GET_COLOR_REGEX.exec(markup);\r\n return null === parsedMarkup || void 0 === parsedMarkup ? void 0 : parsedMarkup[1]\r\n}\r\nexport var exportFromMarkup = function(markup, options) {\r\n options.format = validateFormat(options.format) || DEFAULT_EXPORT_FORMAT;\r\n options.fileName = options.fileName || \"file\";\r\n options.exportingAction = options.onExporting;\r\n options.exportedAction = options.onExported;\r\n options.fileSavingAction = options.onFileSaving;\r\n options.margin = isDefined(options.margin) ? options.margin : MARGIN;\r\n options.backgroundColor = isDefined(options.backgroundColor) ? options.backgroundColor : getBackgroundColorFromMarkup(markup) || getTheme().backgroundColor;\r\n _export(markup, options, getCreatorFunc(options.format))\r\n};\r\nexport var getMarkup = widgets => combineMarkups(widgets).markup;\r\nexport var exportWidgets = function(widgets, options) {\r\n options = options || {};\r\n var markupInfo = combineMarkups(widgets, {\r\n gridLayout: options.gridLayout,\r\n verticalAlignment: options.verticalAlignment,\r\n horizontalAlignment: options.horizontalAlignment\r\n });\r\n options.width = markupInfo.width;\r\n options.height = markupInfo.height;\r\n exportFromMarkup(markupInfo.markup, options)\r\n};\r\nexport var combineMarkups = function(widgets) {\r\n var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n if (!Array.isArray(widgets)) {\r\n widgets = [\r\n [widgets]\r\n ]\r\n } else if (!Array.isArray(widgets[0])) {\r\n widgets = widgets.map(item => [item])\r\n }\r\n var compactView = !options.gridLayout;\r\n var exportItems = widgets.reduce((r, row, rowIndex) => {\r\n var rowInfo = row.reduce((r, item, colIndex) => {\r\n var size = item.getSize();\r\n var backgroundColor = item.option(\"backgroundColor\") || getTheme(item.option(\"theme\")).backgroundColor;\r\n backgroundColor && -1 === r.backgroundColors.indexOf(backgroundColor) && r.backgroundColors.push(backgroundColor);\r\n r.hOffset = r.width;\r\n r.width += size.width;\r\n r.height = Math.max(r.height, size.height);\r\n r.itemWidth = Math.max(r.itemWidth, size.width);\r\n r.items.push({\r\n markup: item.svg(),\r\n width: size.width,\r\n height: size.height,\r\n c: colIndex,\r\n r: rowIndex,\r\n hOffset: r.hOffset\r\n });\r\n return r\r\n }, {\r\n items: [],\r\n height: 0,\r\n itemWidth: 0,\r\n hOffset: 0,\r\n width: 0,\r\n backgroundColors: r.backgroundColors\r\n });\r\n r.rowOffsets.push(r.totalHeight);\r\n r.rowHeights.push(rowInfo.height);\r\n r.totalHeight += rowInfo.height;\r\n r.items = r.items.concat(rowInfo.items);\r\n r.itemWidth = Math.max(r.itemWidth, rowInfo.itemWidth);\r\n r.maxItemLen = Math.max(r.maxItemLen, rowInfo.items.length);\r\n r.totalWidth = compactView ? Math.max(r.totalWidth, rowInfo.width) : r.maxItemLen * r.itemWidth;\r\n return r\r\n }, {\r\n items: [],\r\n rowOffsets: [],\r\n rowHeights: [],\r\n itemWidth: 0,\r\n totalHeight: 0,\r\n maxItemLen: 0,\r\n totalWidth: 0,\r\n backgroundColors: []\r\n });\r\n var backgroundColor = 'data-backgroundcolor=\"'.concat(1 === exportItems.backgroundColors.length ? exportItems.backgroundColors[0] : \"\", '\" ');\r\n var getVOffset = item => {\r\n var align = options.verticalAlignment;\r\n var dy = exportItems.rowHeights[item.r] - item.height;\r\n return exportItems.rowOffsets[item.r] + (\"bottom\" === align ? dy : \"center\" === align ? dy / 2 : 0)\r\n };\r\n var getHOffset = item => {\r\n if (compactView) {\r\n return item.hOffset\r\n }\r\n var align = options.horizontalAlignment;\r\n var colWidth = exportItems.itemWidth;\r\n var dx = colWidth - item.width;\r\n return item.c * colWidth + (\"right\" === align ? dx : \"center\" === align ? dx / 2 : 0)\r\n };\r\n var totalHeight = exportItems.totalHeight;\r\n var totalWidth = exportItems.totalWidth;\r\n return {\r\n markup: \"<svg \" + backgroundColor + 'height=\"' + totalHeight + '\" width=\"' + totalWidth + '\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">' + exportItems.items.map(item => '<g transform=\"translate('.concat(getHOffset(item), \",\").concat(getVOffset(item), ')\">').concat(item.markup, \"</g>\")).join(\"\") + \"</svg>\",\r\n width: totalWidth,\r\n height: totalHeight\r\n }\r\n};\r\nexport var ExportMenu = function(params) {\r\n var renderer = this._renderer = params.renderer;\r\n this._incidentOccurred = params.incidentOccurred;\r\n this._exportTo = params.exportTo;\r\n this._print = params.print;\r\n this._shadow = renderer.shadowFilter(\"-50%\", \"-50%\", \"200%\", \"200%\", SHADOW_OFFSET, 6, SHADOW_BLUR);\r\n this._shadow.attr({\r\n opacity: .8\r\n });\r\n this._group = renderer.g().attr({\r\n class: EXPORT_CSS_CLASS,\r\n [HIDDEN_FOR_EXPORT]: true\r\n }).linkOn(renderer.root, {\r\n name: \"export-menu\",\r\n after: \"peripheral\"\r\n });\r\n this._buttonGroup = renderer.g().attr({\r\n class: EXPORT_CSS_CLASS + \"-button\"\r\n }).append(this._group);\r\n this._listGroup = renderer.g().attr({\r\n class: EXPORT_CSS_CLASS + \"-list\"\r\n }).append(this._group);\r\n this._overlay = renderer.rect(-LIST_WIDTH + BUTTON_SIZE, BUTTON_SIZE + LIST_PADDING_TOP, LIST_WIDTH, 0);\r\n this._overlay.attr({\r\n \"stroke-width\": LIST_STROKE_WIDTH,\r\n cursor: \"pointer\",\r\n rx: 4,\r\n ry: 4,\r\n filter: this._shadow.id\r\n });\r\n this._overlay.data({\r\n \"export-element-type\": \"list\"\r\n });\r\n this.validFormats = getValidFormats();\r\n this._subscribeEvents()\r\n};\r\nextend(ExportMenu.prototype, {\r\n getLayoutOptions() {\r\n if (this._hiddenDueToLayout) {\r\n return {\r\n width: 0,\r\n height: 0,\r\n cutSide: \"vertical\",\r\n cutLayoutSide: \"top\"\r\n }\r\n }\r\n var bBox = this._buttonGroup.getBBox();\r\n bBox.cutSide = \"vertical\";\r\n bBox.cutLayoutSide = \"top\";\r\n bBox.height += MARGIN;\r\n bBox.position = {\r\n vertical: \"top\",\r\n horizontal: \"right\"\r\n };\r\n bBox.verticalAlignment = \"top\";\r\n bBox.horizontalAlignment = \"right\";\r\n return bBox\r\n },\r\n shift(_, y) {\r\n this._group.attr({\r\n translateY: this._group.attr(\"translateY\") + y\r\n })\r\n },\r\n draw(width, height, canvas) {\r\n this._group.move(width - BUTTON_SIZE - SHADOW_OFFSET - SHADOW_BLUR + canvas.left, Math.floor(height / 2 - BUTTON_SIZE / 2));\r\n var layoutOptions = this.getLayoutOptions();\r\n if (layoutOptions.width > width || layoutOptions.height > height) {\r\n this.freeSpace()\r\n }\r\n return this\r\n },\r\n show() {\r\n this._group.linkAppend()\r\n },\r\n hide() {\r\n this._group.linkRemove()\r\n },\r\n setOptions(options) {\r\n this._options = options;\r\n if (options.formats) {\r\n options.formats = options.formats.reduce((r, format) => {\r\n format = validateFormat(format, this._incidentOccurred, this.validFormats);\r\n format && r.push(format);\r\n return r\r\n }, [])\r\n } else {\r\n options.formats = this.validFormats.supported.slice()\r\n }\r\n options.printingEnabled = void 0 === options.printingEnabled ? true : options.printingEnabled;\r\n if (options.enabled && (options.formats.length || options.printingEnabled)) {\r\n this.show();\r\n this._updateButton();\r\n this._updateList();\r\n this._hideList()\r\n } else {\r\n this.hide()\r\n }\r\n },\r\n dispose() {\r\n this._unsubscribeEvents();\r\n this._group.linkRemove().linkOff();\r\n this._group.dispose();\r\n this._shadow.dispose()\r\n },\r\n layoutOptions() {\r\n return this._options.enabled && {\r\n horizontalAlignment: \"right\",\r\n verticalAlignment: \"top\",\r\n weak: true\r\n }\r\n },\r\n measure() {\r\n this._fillSpace();\r\n var margin = this._options.button.margin;\r\n return [BUTTON_SIZE + margin.left + margin.right, BUTTON_SIZE + margin.top + margin.bottom]\r\n },\r\n move(rect) {\r\n var margin = this._options.button.margin;\r\n this._group.attr({\r\n translateX: Math.round(rect[0]) + margin.left,\r\n translateY: Math.round(rect[1]) + margin.top\r\n })\r\n },\r\n _fillSpace() {\r\n this._hiddenDueToLayout = false;\r\n this.show()\r\n },\r\n freeSpace() {\r\n this._incidentOccurred(\"W2107\");\r\n this._hiddenDueToLayout = true;\r\n this.hide()\r\n },\r\n _hideList() {\r\n this._listGroup.remove();\r\n this._listShown = false;\r\n this._setButtonState(\"default\");\r\n this._menuItems.forEach(item => item.resetState())\r\n },\r\n _showList() {\r\n this._listGroup.append(this._group);\r\n this._listShown = true;\r\n this._menuItems.forEach(item => item.fixPosition())\r\n },\r\n _setButtonState(state) {\r\n var style = this._options.button[state];\r\n this._button.attr({\r\n stroke: style.borderColor,\r\n fill: style.backgroundColor\r\n });\r\n this._icon.attr({\r\n fill: style.color\r\n })\r\n },\r\n _subscribeEvents() {\r\n this._renderer.root.on(pointerEvents.up + \".export\", e => {\r\n var elementType = e.target[EXPORT_DATA_KEY];\r\n if (!elementType) {\r\n if (this._button) {\r\n this._hideList()\r\n }\r\n return\r\n }\r\n if (\"button\" === elementType) {\r\n if (this._listShown) {\r\n this._setButtonState(\"default\");\r\n this._hideList()\r\n } else {\r\n this._setButtonState(\"focus\");\r\n this._showList()\r\n }\r\n } else if (\"printing\" === elementType) {\r\n this._print();\r\n this._hideList()\r\n } else if (\"exporting\" === elementType) {\r\n this._exportTo(e.target[FORMAT_DATA_KEY]);\r\n this._hideList()\r\n }\r\n });\r\n this._listGroup.on(pointerActions, e => e.stopPropagation());\r\n this._buttonGroup.on(pointerEvents.enter, () => this._setButtonState(\"hover\"));\r\n this._buttonGroup.on(pointerEvents.leave, () => this._setButtonState(this._listShown ? \"focus\" : \"default\"));\r\n this._buttonGroup.on(pointerEvents.down + \".export\", () => this._setButtonState(\"active\"))\r\n },\r\n _unsubscribeEvents() {\r\n this._renderer.root.off(\".export\");\r\n this._listGroup.off();\r\n this._buttonGroup.off()\r\n },\r\n _updateButton() {\r\n var renderer = this._renderer;\r\n var options = this._options;\r\n var exportData = {\r\n \"export-element-type\": \"button\"\r\n };\r\n if (!this._button) {\r\n this._button = renderer.rect(0, 0, BUTTON_SIZE, BUTTON_SIZE).append(this._buttonGroup);\r\n this._button.attr({\r\n rx: 4,\r\n ry: 4,\r\n fill: options.button.default.backgroundColor,\r\n stroke: options.button.default.borderColor,\r\n \"stroke-width\": 1,\r\n cursor: \"pointer\"\r\n });\r\n this._button.data(exportData);\r\n this._icon = renderer.path(ICON_COORDS).append(this._buttonGroup);\r\n this._icon.attr({\r\n fill: options.button.default.color,\r\n cursor: \"pointer\"\r\n });\r\n this._icon.data(exportData);\r\n this._buttonGroup.setTitle(messageLocalization.format(\"vizExport-titleMenuText\"))\r\n }\r\n },\r\n _updateList() {\r\n var options = this._options;\r\n var buttonDefault = options.button.default;\r\n var listGroup = this._listGroup;\r\n var items = createMenuItems(this._renderer, options);\r\n this._shadow.attr({\r\n color: options.shadowColor\r\n });\r\n this._overlay.attr({\r\n height: items.length * MENU_ITEM_HEIGHT + 2 * LIST_STROKE_WIDTH,\r\n fill: buttonDefault.backgroundColor,\r\n stroke: buttonDefault.borderColor\r\n });\r\n listGroup.clear();\r\n this._overlay.append(listGroup);\r\n items.forEach(item => item.g.append(listGroup));\r\n this._menuItems = items\r\n }\r\n});\r\n\r\nfunction getExportOptions(widget, exportOptions, fileName, format) {\r\n if (format || exportOptions.format) {\r\n format = validateFormat(format || exportOptions.format, widget._incidentOccurred)\r\n }\r\n var {\r\n width: width,\r\n height: height\r\n } = widget.getSize();\r\n return {\r\n format: format || DEFAULT_EXPORT_FORMAT,\r\n fileName: fileName || exportOptions.fileName || \"file\",\r\n backgroundColor: exportOptions.backgroundColor,\r\n width: width,\r\n height: height,\r\n margin: exportOptions.margin,\r\n svgToCanvas: exportOptions.svgToCanvas,\r\n exportingAction: widget._createActionByOption(\"onExporting\", {\r\n excludeValidators: [\"disabled\"]\r\n }),\r\n exportedAction: widget._createActionByOption(\"onExported\", {\r\n excludeValidators: [\"disabled\"]\r\n }),\r\n fileSavingAction: widget._createActionByOption(\"onFileSaving\", {\r\n excludeValidators: [\"disabled\"]\r\n })\r\n }\r\n}\r\nexport var plugin = {\r\n name: \"export\",\r\n init() {\r\n this._exportMenu = new ExportMenu({\r\n renderer: this._renderer,\r\n incidentOccurred: this._incidentOccurred,\r\n print: () => this.print(),\r\n exportTo: format => this.exportTo(void 0, format)\r\n });\r\n this._layout.add(this._exportMenu)\r\n },\r\n dispose() {\r\n this._exportMenu.dispose()\r\n },\r\n members: {\r\n _getExportMenuOptions() {\r\n return extend({}, this._getOption(\"export\"), {\r\n rtl: this._getOption(\"rtlEnabled\", true)\r\n })\r\n },\r\n _disablePointerEvents() {\r\n var pointerEventsValue = this._renderer.root.attr(\"pointer-events\");\r\n this._renderer.root.attr({\r\n \"pointer-events\": \"none\"\r\n });\r\n return pointerEventsValue\r\n },\r\n exportTo(fileName, format) {\r\n var menu = this._exportMenu;\r\n var options = getExportOptions(this, this._getOption(\"export\") || {}, fileName, format);\r\n menu && menu.hide();\r\n var pointerEventsValue = this._disablePointerEvents();\r\n var promise = _export(this._renderer.root.element, options, getCreatorFunc(options.format)).fail(logger.error).always(() => {\r\n this._renderer.root.attr({\r\n \"pointer-events\": pointerEventsValue\r\n })\r\n });\r\n menu && menu.show();\r\n return promise\r\n },\r\n print() {\r\n var menu = this._exportMenu;\r\n var options = getExportOptions(this, this._getOption(\"export\") || {});\r\n options.exportingAction = null;\r\n options.exportedAction = null;\r\n options.margin = 0;\r\n options.format = \"PNG\";\r\n options.useBase64 = true;\r\n options.fileSavingAction = eventArgs => {\r\n print(\"data:image/png;base64,\".concat(eventArgs.data), {\r\n width: options.width,\r\n __test: options.__test\r\n });\r\n eventArgs.cancel = true\r\n };\r\n var pointerEventsValue = this._disablePointerEvents();\r\n menu && menu.hide();\r\n var promise = _export(this._renderer.root.element, options, getCreatorFunc(options.format)).fail(logger.error).always(() => {\r\n this._renderer.root.attr({\r\n \"pointer-events\": pointerEventsValue\r\n })\r\n });\r\n menu && menu.show();\r\n return promise\r\n }\r\n },\r\n customize(constructor) {\r\n var proto = constructor.prototype;\r\n constructor.addChange({\r\n code: \"EXPORT\",\r\n handler() {\r\n this._exportMenu.setOptions(this._getExportMenuOptions());\r\n this._change([\"LAYOUT\"])\r\n },\r\n isThemeDependent: true,\r\n isOptionChange: true,\r\n option: \"export\"\r\n });\r\n proto._optionChangesMap.onExporting = \"EXPORT\";\r\n proto._optionChangesMap.onExported = \"EXPORT\";\r\n proto._optionChangesMap.onFileSaving = \"EXPORT\"\r\n },\r\n fontFields: [\"export.font\"]\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/core/helpers.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend as _extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar isServerSide = !hasWindow();\r\n\r\nfunction Flags() {\r\n this.reset()\r\n}\r\nFlags.prototype = {\r\n constructor: Flags,\r\n add: function(codes) {\r\n var i;\r\n var ii = codes.length;\r\n var flags = this._flags;\r\n for (i = 0; i < ii; ++i) {\r\n flags[codes[i]] = 1\r\n }\r\n },\r\n has: function(code) {\r\n return this._flags[code] > 0\r\n },\r\n count: function() {\r\n return Object.keys(this._flags).length\r\n },\r\n reset: function() {\r\n this._flags = {}\r\n }\r\n};\r\n\r\nfunction combineMaps(baseMap, thisMap) {\r\n return baseMap !== thisMap ? _extend({}, baseMap, thisMap) : _extend({}, baseMap)\r\n}\r\n\r\nfunction combineLists(baseList, thisList) {\r\n return baseList !== thisList ? baseList.concat(thisList) : baseList.slice()\r\n}\r\n\r\nfunction buildTotalChanges(proto) {\r\n proto._totalChangesOrder = proto._optionChangesOrder.concat(proto._layoutChangesOrder, proto._customChangesOrder)\r\n}\r\n\r\nfunction addChange(settings) {\r\n var proto = this.prototype;\r\n var code = settings.code;\r\n proto[\"_change_\" + code] = settings.handler;\r\n if (settings.isThemeDependent) {\r\n proto._themeDependentChanges.push(code)\r\n }\r\n if (settings.option) {\r\n proto._optionChangesMap[settings.option] = code\r\n }(settings.isOptionChange ? proto._optionChangesOrder : proto._customChangesOrder).push(code);\r\n buildTotalChanges(proto)\r\n}\r\n\r\nfunction createChainExecutor() {\r\n var executeChain = function executeChain() {\r\n var i;\r\n var ii = executeChain._chain.length;\r\n var result;\r\n for (i = 0; i < ii; ++i) {\r\n result = executeChain._chain[i].apply(this, arguments)\r\n }\r\n return result\r\n };\r\n executeChain._chain = [];\r\n executeChain.add = function(item) {\r\n executeChain._chain.push(item)\r\n };\r\n executeChain.copy = function(executor) {\r\n executeChain._chain = executor._chain.slice()\r\n };\r\n return executeChain\r\n}\r\nexport function expand(target, name, expander) {\r\n var current = target[name];\r\n if (!current) {\r\n current = expander\r\n } else if (!current.add) {\r\n current = createChainExecutor();\r\n current.add(target[name]);\r\n current.add(expander)\r\n } else {\r\n if (false === Object.prototype.hasOwnProperty.call(target, name)) {\r\n current = createChainExecutor();\r\n current.copy(target[name])\r\n }\r\n current.add(expander)\r\n }\r\n target[name] = current\r\n}\r\n\r\nfunction addPlugin(plugin) {\r\n var proto = this.prototype;\r\n proto._plugins.push(plugin);\r\n plugin.fontFields && proto._fontFields.push.apply(proto._fontFields, plugin.fontFields);\r\n if (plugin.members) {\r\n _extend(this.prototype, plugin.members)\r\n }\r\n if (plugin.customize) {\r\n plugin.customize(this)\r\n }\r\n if (plugin.extenders) {\r\n Object.keys(plugin.extenders).forEach((function(key) {\r\n var func = plugin.extenders[key];\r\n expand(proto, key, func)\r\n }), this)\r\n }\r\n}\r\nexport var replaceInherit = isServerSide ? function(widget) {\r\n var _inherit = widget.inherit;\r\n widget.inherit = function() {\r\n var result = _inherit.apply(this, arguments);\r\n var proto = result.prototype;\r\n [\"_plugins\", \"_eventsMap\", \"_initialChanges\", \"_themeDependentChanges\", \"_optionChangesMap\", \"_optionChangesOrder\", \"_layoutChangesOrder\", \"_customChangesOrder\", \"_totalChangesOrder\"].forEach((function(key) {\r\n proto[key] = {}\r\n }));\r\n result.addPlugin = noop;\r\n return result\r\n };\r\n widget.addChange = noop;\r\n widget.addPlugin = noop\r\n} : function(widget) {\r\n var _inherit = widget.inherit;\r\n widget.inherit = function() {\r\n var proto = this.prototype;\r\n var plugins = proto._plugins;\r\n var fontFields = proto._fontFields;\r\n var eventsMap = proto._eventsMap;\r\n var initialChanges = proto._initialChanges;\r\n var themeDependentChanges = proto._themeDependentChanges;\r\n var optionChangesMap = proto._optionChangesMap;\r\n var partialOptionChangesMap = proto._partialOptionChangesMap;\r\n var partialOptionChangesPath = proto._partialOptionChangesPath;\r\n var optionChangesOrder = proto._optionChangesOrder;\r\n var layoutChangesOrder = proto._layoutChangesOrder;\r\n var customChangesOrder = proto._customChangesOrder;\r\n var result = _inherit.apply(this, arguments);\r\n proto = result.prototype;\r\n proto._plugins = combineLists(plugins, proto._plugins);\r\n proto._fontFields = combineLists(fontFields, proto._fontFields);\r\n proto._eventsMap = combineMaps(eventsMap, proto._eventsMap);\r\n proto._initialChanges = combineLists(initialChanges, proto._initialChanges);\r\n proto._themeDependentChanges = combineLists(themeDependentChanges, proto._themeDependentChanges);\r\n proto._optionChangesMap = combineMaps(optionChangesMap, proto._optionChangesMap);\r\n proto._partialOptionChangesMap = combineMaps(partialOptionChangesMap, proto._partialOptionChangesMap);\r\n proto._partialOptionChangesPath = combineMaps(partialOptionChangesPath, proto._partialOptionChangesPath);\r\n proto._optionChangesOrder = combineLists(optionChangesOrder, proto._optionChangesOrder);\r\n proto._layoutChangesOrder = combineLists(layoutChangesOrder, proto._layoutChangesOrder);\r\n proto._customChangesOrder = combineLists(customChangesOrder, proto._customChangesOrder);\r\n buildTotalChanges(proto);\r\n result.addPlugin = addPlugin;\r\n return result\r\n };\r\n widget.prototype._plugins = [];\r\n widget.prototype._fontFields = [];\r\n widget.addChange = addChange;\r\n widget.addPlugin = addPlugin\r\n};\r\nexport function changes() {\r\n return new Flags\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/core/layout_element.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar _round = Math.round;\r\nimport {\r\n clone\r\n} from \"../../core/utils/object\";\r\nvar defaultOffset = {\r\n horizontal: 0,\r\n vertical: 0\r\n};\r\nvar alignFactors = {\r\n center: .5,\r\n right: 1,\r\n bottom: 1,\r\n left: 0,\r\n top: 0\r\n};\r\n\r\nfunction LayoutElement(options) {\r\n this._options = options\r\n}\r\nLayoutElement.prototype = {\r\n constructor: LayoutElement,\r\n position: function(options) {\r\n var ofBBox = options.of.getLayoutOptions();\r\n var myBBox = this.getLayoutOptions();\r\n var at = options.at;\r\n var my = options.my;\r\n var offset = options.offset || defaultOffset;\r\n var shiftX = -alignFactors[my.horizontal] * myBBox.width + ofBBox.x + alignFactors[at.horizontal] * ofBBox.width + parseInt(offset.horizontal);\r\n var shiftY = -alignFactors[my.vertical] * myBBox.height + ofBBox.y + alignFactors[at.vertical] * ofBBox.height + parseInt(offset.vertical);\r\n this.shift(_round(shiftX), _round(shiftY))\r\n },\r\n getLayoutOptions: noop\r\n};\r\n\r\nfunction WrapperLayoutElement(renderElement, bBox) {\r\n this._renderElement = renderElement;\r\n this._cacheBBox = bBox\r\n}\r\nvar wrapperLayoutElementPrototype = WrapperLayoutElement.prototype = clone(LayoutElement.prototype);\r\nwrapperLayoutElementPrototype.constructor = WrapperLayoutElement;\r\nwrapperLayoutElementPrototype.getLayoutOptions = function() {\r\n return this._cacheBBox || this._renderElement.getBBox()\r\n};\r\nwrapperLayoutElementPrototype.shift = function(shiftX, shiftY) {\r\n var bBox = this.getLayoutOptions();\r\n this._renderElement.move(_round(shiftX - bBox.x), _round(shiftY - bBox.y))\r\n};\r\nexport {\r\n LayoutElement,\r\n WrapperLayoutElement\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/core/loading_indicator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n patchFontOptions as _patchFontOptions\r\n} from \"./utils\";\r\nvar STATE_HIDDEN = 0;\r\nvar STATE_SHOWN = 1;\r\nvar ANIMATION_EASING = \"linear\";\r\nvar ANIMATION_DURATION = 400;\r\nvar LOADING_INDICATOR_READY = \"loadingIndicatorReady\";\r\nexport var LoadingIndicator = function(parameters) {\r\n var renderer = parameters.renderer;\r\n this._group = renderer.g().attr({\r\n class: \"dx-loading-indicator\"\r\n }).linkOn(renderer.root, {\r\n name: \"loading-indicator\",\r\n after: \"peripheral\"\r\n });\r\n this._rect = renderer.rect().attr({\r\n opacity: 0\r\n }).append(this._group);\r\n this._text = renderer.text().attr({\r\n align: \"center\"\r\n }).append(this._group);\r\n this._createStates(parameters.eventTrigger, this._group, renderer.root, parameters.notify)\r\n};\r\nLoadingIndicator.prototype = {\r\n constructor: LoadingIndicator,\r\n _createStates: function(eventTrigger, group, root, notify) {\r\n this._states = [{\r\n opacity: 0,\r\n start: function() {\r\n notify(false)\r\n },\r\n complete: function() {\r\n group.linkRemove();\r\n root.css({\r\n \"pointer-events\": \"\"\r\n });\r\n eventTrigger(LOADING_INDICATOR_READY)\r\n }\r\n }, {\r\n opacity: .85,\r\n start: function() {\r\n group.linkAppend();\r\n root.css({\r\n \"pointer-events\": \"none\"\r\n });\r\n notify(true)\r\n },\r\n complete: function() {\r\n eventTrigger(LOADING_INDICATOR_READY)\r\n }\r\n }];\r\n this._state = STATE_HIDDEN\r\n },\r\n setSize: function(size) {\r\n var width = size.width;\r\n var height = size.height;\r\n this._rect.attr({\r\n width: width,\r\n height: height\r\n });\r\n this._text.attr({\r\n x: width / 2,\r\n y: height / 2\r\n })\r\n },\r\n setOptions: function(options) {\r\n this._rect.attr({\r\n fill: options.backgroundColor\r\n });\r\n this._text.css(_patchFontOptions(options.font)).attr({\r\n text: options.text,\r\n class: options.cssClass\r\n });\r\n this[options.show ? \"show\" : \"hide\"]()\r\n },\r\n dispose: function() {\r\n this._group.linkRemove().linkOff();\r\n this._group = this._rect = this._text = this._states = null\r\n },\r\n _transit: function(stateId) {\r\n var state;\r\n if (this._state !== stateId) {\r\n this._state = stateId;\r\n this._isHiding = false;\r\n state = this._states[stateId];\r\n this._rect.stopAnimation().animate({\r\n opacity: state.opacity\r\n }, {\r\n complete: state.complete,\r\n easing: ANIMATION_EASING,\r\n duration: ANIMATION_DURATION,\r\n unstoppable: true\r\n });\r\n this._noHiding = true;\r\n state.start();\r\n this._noHiding = false\r\n }\r\n },\r\n show: function() {\r\n this._transit(STATE_SHOWN)\r\n },\r\n hide: function() {\r\n this._transit(STATE_HIDDEN)\r\n },\r\n scheduleHiding: function() {\r\n if (!this._noHiding) {\r\n this._isHiding = true\r\n }\r\n },\r\n fulfillHiding: function() {\r\n if (this._isHiding) {\r\n this.hide()\r\n }\r\n }\r\n};\r\nexport var plugin = {\r\n name: \"loading_indicator\",\r\n init: function() {\r\n var that = this;\r\n that._loadingIndicator = new LoadingIndicator({\r\n eventTrigger: that._eventTrigger,\r\n renderer: that._renderer,\r\n notify: function(state) {\r\n that._skipLoadingIndicatorOptions = true;\r\n that.option(\"loadingIndicator\", {\r\n show: state\r\n });\r\n that._skipLoadingIndicatorOptions = false;\r\n if (state) {\r\n that._stopCurrentHandling()\r\n }\r\n }\r\n });\r\n that._scheduleLoadingIndicatorHiding()\r\n },\r\n dispose: function() {\r\n this._loadingIndicator.dispose();\r\n this._loadingIndicator = null\r\n },\r\n members: {\r\n _scheduleLoadingIndicatorHiding: function() {\r\n this._loadingIndicator.scheduleHiding()\r\n },\r\n _fulfillLoadingIndicatorHiding: function() {\r\n this._loadingIndicator.fulfillHiding()\r\n },\r\n showLoadingIndicator: function() {\r\n this._loadingIndicator.show()\r\n },\r\n hideLoadingIndicator: function() {\r\n this._loadingIndicator.hide()\r\n },\r\n _onBeginUpdate: function() {\r\n if (!this._optionChangedLocker) {\r\n this._scheduleLoadingIndicatorHiding()\r\n }\r\n }\r\n },\r\n extenders: {\r\n _dataSourceLoadingChangedHandler(isLoading) {\r\n if (isLoading && (this._options.silent(\"loadingIndicator\") || {}).enabled) {\r\n this._loadingIndicator.show()\r\n }\r\n },\r\n _setContentSize() {\r\n this._loadingIndicator.setSize(this._canvas)\r\n },\r\n endUpdate() {\r\n if (this._initialized && this._dataIsReady()) {\r\n this._fulfillLoadingIndicatorHiding()\r\n }\r\n }\r\n },\r\n customize: function(constructor) {\r\n var proto = constructor.prototype;\r\n if (proto._dataSourceChangedHandler) {\r\n var _dataSourceChangedHandler = proto._dataSourceChangedHandler;\r\n proto._dataSourceChangedHandler = function() {\r\n this._scheduleLoadingIndicatorHiding();\r\n _dataSourceChangedHandler.apply(this, arguments)\r\n }\r\n }\r\n constructor.addChange({\r\n code: \"LOADING_INDICATOR\",\r\n handler: function() {\r\n if (!this._skipLoadingIndicatorOptions) {\r\n this._loadingIndicator.setOptions(this._getOption(\"loadingIndicator\"))\r\n }\r\n this._scheduleLoadingIndicatorHiding()\r\n },\r\n isThemeDependent: true,\r\n option: \"loadingIndicator\",\r\n isOptionChange: true\r\n });\r\n proto._eventsMap.onLoadingIndicatorReady = {\r\n name: \"loadingIndicatorReady\"\r\n };\r\n var _drawn = proto._drawn;\r\n proto._drawn = function() {\r\n _drawn.apply(this, arguments);\r\n if (this._dataIsReady()) {\r\n this._fulfillLoadingIndicatorHiding()\r\n }\r\n }\r\n },\r\n fontFields: [\"loadingIndicator.font\"]\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/core/plaque.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"x\", \"y\", \"canvas\", \"offsetX\", \"offsetY\", \"offset\"];\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nvar math = Math;\r\nvar round = math.round;\r\nvar max = math.max;\r\nvar min = math.min;\r\nvar sin = math.sin;\r\nvar cos = math.cos;\r\nvar asin = math.asin;\r\nvar PI = math.PI;\r\nvar buildPath = function() {\r\n for (var _len = arguments.length, points = new Array(_len), _key = 0; _key < _len; _key++) {\r\n points[_key] = arguments[_key]\r\n }\r\n return points.join(\"\")\r\n};\r\n\r\nfunction getArc(cornerRadius, xDirection, yDirection) {\r\n return \"a \".concat(cornerRadius, \" \").concat(cornerRadius, \" 0 0 1 \").concat(xDirection * cornerRadius, \" \").concat(yDirection * cornerRadius)\r\n}\r\n\r\nfunction getAbsoluteArc(cornerRadius, x, y) {\r\n return \"A \".concat(cornerRadius, \" \").concat(cornerRadius, \" 0 0 1 \").concat(x, \" \").concat(y)\r\n}\r\n\r\nfunction rotateX(x, y, angle, x0, y0) {\r\n return (x - x0) * round(cos(angle)) + (y - y0) * round(sin(angle)) + x0\r\n}\r\n\r\nfunction rotateY(x, y, angle, x0, y0) {\r\n return -(x - x0) * round(sin(angle)) + (y - y0) * round(cos(angle)) + y0\r\n}\r\n\r\nfunction rotateSize(options, angle) {\r\n if (angle % 90 === 0 && angle % 180 !== 0) {\r\n return {\r\n width: options.height,\r\n height: options.width\r\n }\r\n }\r\n return options\r\n}\r\n\r\nfunction getCloudAngle(_ref, x, y, anchorX, anchorY) {\r\n var {\r\n width: width,\r\n height: height\r\n } = _ref;\r\n var halfWidth = width / 2;\r\n var halfHeight = height / 2;\r\n var xr = Math.ceil(x + halfWidth);\r\n var xl = Math.floor(x - halfWidth);\r\n var yt = Math.floor(y - halfHeight);\r\n var yb = Math.ceil(y + halfHeight);\r\n if (anchorX < xl && anchorY < yt || anchorX >= xl && anchorX <= xr && anchorY < yt) {\r\n return 270\r\n }\r\n if (anchorX > xr && anchorY > yb || anchorX >= xl && anchorX <= xr && anchorY > yb) {\r\n return 90\r\n } else if (anchorX < xl && anchorY > yb || anchorX < xl && anchorY >= yt && anchorY <= yb) {\r\n return 180\r\n }\r\n return 0\r\n}\r\n\r\nfunction getCloudPoints(_ref2, x, y, anchorX, anchorY, _ref3, bounded) {\r\n var {\r\n width: width,\r\n height: height\r\n } = _ref2;\r\n var {\r\n arrowWidth: arrowWidth,\r\n cornerRadius: cornerRadius = 0\r\n } = _ref3;\r\n var halfArrowWidth = arrowWidth / 2;\r\n var halfWidth = width / 2;\r\n var halfHeight = height / 2;\r\n var xr = Math.ceil(x + halfWidth);\r\n var xl = Math.floor(x - halfWidth);\r\n var yt = Math.floor(y - halfHeight);\r\n var yb = Math.ceil(y + halfHeight);\r\n var leftTopCorner = [xl, yt];\r\n var rightTopCorner = [xr, yt];\r\n var rightBottomCorner = [xr, yb];\r\n var leftBottomCorner = [xl, yb];\r\n var arrowX = anchorX <= xl ? xl : xr <= anchorX ? xr : anchorX;\r\n var arrowY = anchorY <= yt ? yt : yb <= anchorY ? yb : anchorY;\r\n var arrowBaseBottom = min(arrowY + halfArrowWidth, yb);\r\n var arrowBaseTop = max(arrowY - halfArrowWidth, yt);\r\n var arrowBaseLeft = max(arrowX - halfArrowWidth, xl);\r\n cornerRadius = Math.min(width / 2, height / 2, cornerRadius);\r\n var points;\r\n leftTopCorner[1] += cornerRadius;\r\n rightTopCorner[0] -= cornerRadius;\r\n rightBottomCorner[1] -= cornerRadius;\r\n leftBottomCorner[0] += cornerRadius;\r\n if (!bounded || xl <= anchorX && anchorX <= xr && yt <= anchorY && anchorY <= yb) {\r\n points = buildPath(leftTopCorner, getArc(cornerRadius, 1, -1), \"L\", rightTopCorner, getArc(cornerRadius, 1, 1), \"L\", rightBottomCorner, getArc(cornerRadius, -1, 1), \"L\", leftBottomCorner, getArc(cornerRadius, -1, -1))\r\n } else if (anchorX > xr && anchorY < yt) {\r\n var arrowAngle = arrowWidth / cornerRadius || 0;\r\n var angle = PI / 4 + arrowAngle / 2;\r\n var endAngle = PI / 4 - arrowAngle / 2;\r\n var arrowEndPointX = rightTopCorner[0] + cos(endAngle) * cornerRadius;\r\n var arrowEndPointY = rightTopCorner[1] + (1 - sin(endAngle)) * cornerRadius;\r\n var arrowArc = buildPath(\"L\", rightTopCorner, getArc(cornerRadius, cos(angle), 1 - sin(angle)), \"L\", [anchorX, anchorY, arrowEndPointX, arrowEndPointY], getAbsoluteArc(cornerRadius, rightTopCorner[0] + cornerRadius, rightTopCorner[1] + cornerRadius));\r\n if (Math.abs(angle) > PI / 2) {\r\n arrowArc = buildPath(\"L\", [arrowBaseLeft, yt, anchorX, anchorY, xr, arrowBaseBottom])\r\n }\r\n points = buildPath(leftTopCorner, getArc(cornerRadius, 1, -1), arrowArc, \"L\", rightBottomCorner, getArc(cornerRadius, -1, 1), \"L\", leftBottomCorner, getArc(cornerRadius, -1, -1))\r\n } else if (anchorX > xr && anchorY >= yt && anchorY <= yb) {\r\n var _arrowArc;\r\n if (arrowBaseTop >= rightTopCorner[1] + cornerRadius && arrowBaseBottom <= rightBottomCorner[1]) {\r\n _arrowArc = buildPath(getArc(cornerRadius, 1, 1), \"L\", [xr, arrowBaseTop, anchorX, anchorY, xr, arrowBaseBottom], \"L\", rightBottomCorner, getArc(cornerRadius, -1, 1))\r\n } else if (arrowBaseTop < rightTopCorner[1] + cornerRadius && arrowBaseBottom >= rightTopCorner[1] + cornerRadius && arrowBaseBottom <= rightBottomCorner[1]) {\r\n var arrowWidthRest = rightTopCorner[1] + cornerRadius - arrowBaseTop;\r\n var _angle = arrowWidthRest / cornerRadius;\r\n var arrowBaseTopX = rightTopCorner[0] + cos(_angle) * cornerRadius;\r\n var arrowBaseTopY = rightTopCorner[1] + (1 - sin(_angle)) * cornerRadius;\r\n _arrowArc = buildPath(getArc(cornerRadius, cos(_angle), 1 - sin(_angle)), \"L\", [arrowBaseTopX, arrowBaseTopY, anchorX, anchorY, xr, arrowBaseBottom], \"L\", rightBottomCorner, getArc(cornerRadius, -1, 1))\r\n } else if (arrowBaseTop < rightTopCorner[1] + cornerRadius && arrowBaseBottom < rightTopCorner[1] + cornerRadius) {\r\n var _arrowWidthRest = rightTopCorner[1] + cornerRadius - arrowBaseTop;\r\n var _arrowAngle = _arrowWidthRest / cornerRadius;\r\n var _angle2 = _arrowAngle;\r\n var _arrowBaseTopX = rightTopCorner[0] + cos(_angle2) * cornerRadius;\r\n var _arrowBaseTopY = rightTopCorner[1] + (1 - sin(_angle2)) * cornerRadius;\r\n var bottomAngle = Math.sin((rightTopCorner[1] + cornerRadius - arrowBaseBottom) / cornerRadius);\r\n var arrowBaseBottomX = rightTopCorner[0] + cornerRadius * cos(bottomAngle);\r\n var arrowBaseBottomY = rightTopCorner[1] + cornerRadius * (1 - sin(bottomAngle));\r\n _arrowArc = buildPath(getArc(cornerRadius, cos(_angle2), 1 - sin(_angle2)), \"L\", [_arrowBaseTopX, _arrowBaseTopY, anchorX, anchorY, arrowBaseBottomX, arrowBaseBottomY], getAbsoluteArc(cornerRadius, rightTopCorner[0] + cornerRadius, rightTopCorner[1] + cornerRadius), \"L\", rightBottomCorner, getArc(cornerRadius, -1, 1))\r\n } else if (arrowBaseTop <= rightTopCorner[1] + cornerRadius && arrowBaseBottom >= rightBottomCorner[1]) {\r\n var topAngle = asin((rightTopCorner[1] + cornerRadius - arrowBaseTop) / cornerRadius);\r\n var _arrowBaseTopX2 = rightTopCorner[0] + cornerRadius * cos(topAngle);\r\n var _arrowBaseTopY2 = rightTopCorner[1] + cornerRadius * (1 - sin(topAngle));\r\n var _bottomAngle = asin((arrowBaseBottom - rightBottomCorner[1]) / cornerRadius);\r\n var _arrowBaseBottomX = rightBottomCorner[0] + cornerRadius * (cos(_bottomAngle) - 1);\r\n var _arrowBaseBottomY = rightBottomCorner[1] + cornerRadius * sin(_bottomAngle);\r\n _arrowArc = buildPath(getArc(cornerRadius, cos(topAngle), 1 - sin(topAngle)), \"L\", [_arrowBaseTopX2, _arrowBaseTopY2, anchorX, anchorY, _arrowBaseBottomX, _arrowBaseBottomY], getAbsoluteArc(cornerRadius, rightBottomCorner[0] - cornerRadius, rightBottomCorner[1] + cornerRadius))\r\n } else if (arrowBaseTop > rightTopCorner[1] + cornerRadius && arrowBaseTop <= rightBottomCorner[1] && arrowBaseBottom > rightBottomCorner[1]) {\r\n var _bottomAngle2 = asin((arrowBaseBottom - rightBottomCorner[1]) / cornerRadius);\r\n var _arrowBaseBottomX2 = rightBottomCorner[0] + cornerRadius * (cos(_bottomAngle2) - 1);\r\n var _arrowBaseBottomY2 = rightBottomCorner[1] + cornerRadius * sin(_bottomAngle2);\r\n _arrowArc = buildPath(getArc(cornerRadius, 1, 1), \"L\", [xr, arrowBaseTop, anchorX, anchorY, _arrowBaseBottomX2, _arrowBaseBottomY2], getAbsoluteArc(cornerRadius, rightBottomCorner[0] - cornerRadius, rightBottomCorner[1] + cornerRadius))\r\n } else if (arrowBaseTop > rightTopCorner[1] + cornerRadius && arrowBaseBottom > rightBottomCorner[1]) {\r\n var _bottomAngle3 = asin((arrowBaseBottom - rightBottomCorner[1]) / cornerRadius);\r\n var _arrowBaseBottomX3 = rightBottomCorner[0] + cornerRadius * (cos(_bottomAngle3) - 1);\r\n var _arrowBaseBottomY3 = rightBottomCorner[1] + cornerRadius * sin(_bottomAngle3);\r\n var _topAngle = asin((arrowBaseTop - rightBottomCorner[1]) / cornerRadius);\r\n var _arrowBaseTopX3 = rightBottomCorner[0] + cornerRadius * (cos(_topAngle) - 1);\r\n var _arrowBaseTopY3 = rightBottomCorner[1] + cornerRadius * sin(_topAngle);\r\n _arrowArc = buildPath(getArc(cornerRadius, 1, 1), \"L\", rightBottomCorner, getArc(cornerRadius, cos(_topAngle) - 1, sin(_topAngle)), \"L\", [_arrowBaseTopX3, _arrowBaseTopY3, anchorX, anchorY, _arrowBaseBottomX3, _arrowBaseBottomY3], getAbsoluteArc(cornerRadius, rightBottomCorner[0] - cornerRadius, rightBottomCorner[1] + cornerRadius))\r\n }\r\n points = buildPath(leftTopCorner, getArc(cornerRadius, 1, -1), \"L\", rightTopCorner, _arrowArc, \"L\", leftBottomCorner, getArc(cornerRadius, -1, -1))\r\n }\r\n return buildPath(\"M\", points, \"Z\")\r\n}\r\nexport class Plaque {\r\n constructor(options, widget, root, contentTemplate) {\r\n var bounded = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : true;\r\n var measureContent = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : (_, g) => g.getBBox();\r\n var moveContentGroup = arguments.length > 6 && void 0 !== arguments[6] ? arguments[6] : (_, g, x, y) => g.move(x, y);\r\n this.widget = widget;\r\n this.options = options;\r\n this.root = root;\r\n this.contentTemplate = contentTemplate;\r\n this.bonded = bounded;\r\n this.measureContent = measureContent;\r\n this.moveContentGroup = moveContentGroup\r\n }\r\n draw(_ref4) {\r\n var {\r\n x: anchorX,\r\n y: anchorY,\r\n canvas: canvas = {},\r\n offsetX: offsetX,\r\n offsetY: offsetY,\r\n offset: offset = 0\r\n } = _ref4, restProps = _objectWithoutPropertiesLoose(_ref4, _excluded);\r\n var options = this.options;\r\n var {\r\n x: x,\r\n y: y\r\n } = options;\r\n var bounds_xl = canvas.left,\r\n bounds_xr = canvas.width - canvas.right,\r\n bounds_width = canvas.width - canvas.right - canvas.left,\r\n bounds_yt = canvas.top,\r\n bounds_yb = canvas.height - canvas.bottom,\r\n bounds_height = canvas.height - canvas.bottom - canvas.top;\r\n if (!(isDefined(anchorX) && isDefined(anchorY)) && !(isDefined(x) && isDefined(y))) {\r\n return false\r\n }\r\n if (isDefined(anchorX) && (anchorX < bounds_xl || bounds_xr < anchorX || anchorY < bounds_yt || bounds_yb < anchorY)) {\r\n return false\r\n }\r\n if (!this._root) {\r\n this._draw()\r\n }\r\n var shadowSettings = extend({\r\n x: \"-50%\",\r\n y: \"-50%\",\r\n width: \"200%\",\r\n height: \"200%\"\r\n }, options.shadow);\r\n var contentWidth = options.width > 0 ? options.width : null;\r\n var contentHeight = options.height > 0 ? options.height : null;\r\n var onRender = () => {\r\n var _this$_root;\r\n var bBox = this._contentBBox = this.measureContent(this.widget, this._contentGroup);\r\n var size = this._size = {\r\n width: max(contentWidth, bBox.width) + 2 * options.paddingLeftRight,\r\n height: max(contentHeight, bBox.height) + 2 * options.paddingTopBottom,\r\n offset: offset\r\n };\r\n var xOff = shadowSettings.offsetX;\r\n var yOff = shadowSettings.offsetY;\r\n var blur = 2 * shadowSettings.blur + 1;\r\n var lm = max(blur - xOff, 0);\r\n var rm = max(blur + xOff, 0);\r\n var tm = max(blur - yOff, 0);\r\n var bm = max(blur + yOff, 0);\r\n this.margins = {\r\n lm: lm,\r\n rm: rm,\r\n tm: tm,\r\n bm: bm\r\n };\r\n if (!isDefined(x)) {\r\n if (isDefined(offsetX)) {\r\n x = anchorX + offsetX\r\n } else if (bounds_width < size.width) {\r\n x = round(bounds_xl + bounds_width / 2)\r\n } else {\r\n x = min(max(anchorX, Math.ceil(bounds_xl + size.width / 2 + lm)), Math.floor(bounds_xr - size.width / 2 - rm))\r\n }\r\n } else {\r\n x += offsetX || 0;\r\n if (!isDefined(anchorX)) {\r\n anchorX = x\r\n }\r\n }\r\n if (!isDefined(y)) {\r\n if (isDefined(offsetY)) {\r\n y = anchorY + offsetY\r\n } else {\r\n var y_top = anchorY - options.arrowLength - size.height / 2 - offset;\r\n var y_bottom = anchorY + options.arrowLength + size.height / 2 + offset;\r\n if (bounds_height < size.height + options.arrowLength) {\r\n y = round(bounds_yt + size.height / 2)\r\n } else if (y_top - size.height / 2 - tm < bounds_yt) {\r\n if (y_bottom + size.height / 2 + bm < bounds_yb) {\r\n y = y_bottom;\r\n anchorY += offset\r\n } else {\r\n y = round(bounds_yt + size.height / 2)\r\n }\r\n } else {\r\n y = y_top;\r\n anchorY -= offset\r\n }\r\n }\r\n } else {\r\n y += offsetY || 0;\r\n if (!isDefined(anchorY)) {\r\n anchorY = y + size.height / 2\r\n }\r\n }\r\n this.anchorX = anchorX;\r\n this.anchorY = anchorY;\r\n this.move(x, y);\r\n null === (_this$_root = this._root) || void 0 === _this$_root ? void 0 : _this$_root.append(this.root)\r\n };\r\n if (this.contentTemplate.render) {\r\n this.contentTemplate.render({\r\n model: options,\r\n container: this._contentGroup.element,\r\n onRendered: onRender\r\n })\r\n } else {\r\n return this.contentTemplate(_extends({\r\n group: this._contentGroup,\r\n onRender: onRender\r\n }, restProps))\r\n }\r\n return true\r\n }\r\n _draw() {\r\n var renderer = this.widget._renderer;\r\n var options = this.options;\r\n var shadowSettings = extend({\r\n x: \"-50%\",\r\n y: \"-50%\",\r\n width: \"200%\",\r\n height: \"200%\"\r\n }, options.shadow);\r\n var shadow = this._shadow = renderer.shadowFilter().attr(shadowSettings);\r\n var cloudSettings = {\r\n opacity: options.opacity,\r\n \"stroke-width\": 0,\r\n fill: options.color\r\n };\r\n var borderOptions = options.border || {};\r\n if (borderOptions.visible) {\r\n extend(cloudSettings, {\r\n \"stroke-width\": borderOptions.width,\r\n stroke: borderOptions.color,\r\n \"stroke-opacity\": borderOptions.opacity,\r\n dashStyle: borderOptions.dashStyle\r\n })\r\n }\r\n var group = this._root = renderer.g().append(this.root);\r\n if (options.type) {\r\n group.attr({\r\n class: \"dxc-\".concat(options.type, \"-annotation\")\r\n })\r\n }\r\n var cloudGroup = renderer.g().attr({\r\n filter: shadow.id\r\n }).append(group);\r\n this._cloud = renderer.path([], \"area\").attr(cloudSettings).sharp().append(cloudGroup);\r\n this._contentGroup = renderer.g().append(group)\r\n }\r\n getBBox() {\r\n var size = this._size || {};\r\n var margins = this.margins || {};\r\n var rotationAngle = getCloudAngle(size, this.x, this.y, this.anchorX, this.anchorY);\r\n return {\r\n x: Math.floor(this.x - size.width / 2 - margins.lm),\r\n y: Math.floor(this.y - size.height / 2 - margins.tm - (270 === rotationAngle ? this.options.arrowLength : 0)),\r\n width: size.width + margins.lm + margins.rm,\r\n height: size.height + margins.tm + margins.bm + (90 === rotationAngle || 270 === rotationAngle ? this.options.arrowLength : 0)\r\n }\r\n }\r\n clear() {\r\n if (this._root) {\r\n this._root.remove();\r\n this._shadow.remove();\r\n this._root = null\r\n }\r\n return this\r\n }\r\n customizeCloud(attr) {\r\n if (this._cloud) {\r\n this._cloud.attr(attr)\r\n }\r\n }\r\n moveRoot(x, y) {\r\n if (this._root) {\r\n this._root.move(x, y)\r\n }\r\n }\r\n move(x, y) {\r\n x = round(x);\r\n y = round(y);\r\n this.x = x;\r\n this.y = y;\r\n var rotationAngle = getCloudAngle(this._size, x, y, this.anchorX, this.anchorY);\r\n var radRotationAngle = rotationAngle * PI / 180;\r\n this._cloud.attr({\r\n d: getCloudPoints(rotateSize(this._size, rotationAngle), x, y, rotateX(this.anchorX, this.anchorY, radRotationAngle, x, y), rotateY(this.anchorX, this.anchorY, radRotationAngle, x, y), this.options, this.bonded)\r\n }).rotate(rotationAngle, x, y);\r\n this.moveContentGroup(this.widget, this._contentGroup, x - this._contentBBox.x - this._contentBBox.width / 2, y - this._contentBBox.y - this._contentBBox.height / 2)\r\n }\r\n hitTest(x, y) {\r\n var {\r\n width: width,\r\n height: height\r\n } = this._size || {};\r\n return Math.abs(x - this.x) <= width / 2 && Math.abs(y - this.y) <= height / 2\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/core/renderers/animation.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n requestAnimationFrame,\r\n cancelAnimationFrame\r\n} from \"../../../animation/frame\";\r\nvar noop = function() {};\r\nexport var easingFunctions = {\r\n easeOutCubic: function(pos, start, end) {\r\n return 1 === pos ? end : (1 - Math.pow(1 - pos, 3)) * (end - start) + +start\r\n },\r\n linear: function(pos, start, end) {\r\n return 1 === pos ? end : pos * (end - start) + +start\r\n }\r\n};\r\nexport var animationSvgStep = {\r\n segments: function(elem, params, progress, easing, currentParams) {\r\n var from = params.from;\r\n var to = params.to;\r\n var curSeg;\r\n var seg;\r\n var i;\r\n var j;\r\n var segments = [];\r\n for (i = 0; i < from.length; i++) {\r\n curSeg = from[i];\r\n seg = [curSeg[0]];\r\n if (curSeg.length > 1) {\r\n for (j = 1; j < curSeg.length; j++) {\r\n seg.push(easing(progress, curSeg[j], to[i][j]))\r\n }\r\n }\r\n segments.push(seg)\r\n }\r\n currentParams.segments = params.end && 1 === progress ? params.end : segments;\r\n elem.attr({\r\n segments: segments\r\n })\r\n },\r\n arc: function(elem, params, progress, easing) {\r\n var from = params.from;\r\n var to = params.to;\r\n var current = {};\r\n for (var i in from) {\r\n current[i] = easing(progress, from[i], to[i])\r\n }\r\n elem.attr(current)\r\n },\r\n transform: function(elem, params, progress, easing, currentParams) {\r\n var from = params.from;\r\n var to = params.to;\r\n var current = {};\r\n for (var i in from) {\r\n current[i] = currentParams[i] = easing(progress, from[i], to[i])\r\n }\r\n elem.attr(current)\r\n },\r\n base: function(elem, params, progress, easing, currentParams, attributeName) {\r\n var obj = {};\r\n obj[attributeName] = currentParams[attributeName] = easing(progress, params.from, params.to);\r\n elem.attr(obj)\r\n },\r\n _: noop,\r\n complete: function(element, currentSettings) {\r\n element.attr(currentSettings)\r\n }\r\n};\r\n\r\nfunction step(now) {\r\n var animateStep = this._animateStep;\r\n var attrName;\r\n this._progress = this._calcProgress(now);\r\n for (attrName in this.params) {\r\n var anim = animateStep[attrName] || animateStep.base;\r\n anim(this.element, this.params[attrName], this._progress, this._easing, this._currentParams, attrName)\r\n }\r\n this.options.step && this.options.step(this._easing(this._progress, 0, 1), this._progress);\r\n if (1 === this._progress) {\r\n return this.stop()\r\n }\r\n return true\r\n}\r\n\r\nfunction delayTick(now) {\r\n if (now - this._startTime >= this.delay) {\r\n this.tick = step\r\n }\r\n return true\r\n}\r\n\r\nfunction start(now) {\r\n this._startTime = now;\r\n this.tick = this.delay ? delayTick : step;\r\n return true\r\n}\r\n\r\nfunction Animation(element, params, options) {\r\n this._progress = 0;\r\n this.element = element;\r\n this.params = params;\r\n this.options = options;\r\n this.duration = options.partitionDuration ? options.duration * options.partitionDuration : options.duration;\r\n this.delay = options.delay && options.duration * options.delay || 0;\r\n this._animateStep = options.animateStep || animationSvgStep;\r\n this._easing = easingFunctions[options.easing] || easingFunctions.easeOutCubic;\r\n this._currentParams = {};\r\n this.tick = start\r\n}\r\nAnimation.prototype = {\r\n _calcProgress: function(now) {\r\n return Math.min(1, (now - this.delay - this._startTime) / this.duration)\r\n },\r\n stop: function(disableComplete) {\r\n var options = this.options;\r\n var animateStep = this._animateStep;\r\n this.stop = this.tick = noop;\r\n animateStep.complete && animateStep.complete(this.element, this._currentParams);\r\n options.complete && !disableComplete && options.complete()\r\n }\r\n};\r\nexport function AnimationController(element) {\r\n this._animationCount = 0;\r\n this._timerId = null;\r\n this._animations = {};\r\n this.element = element\r\n}\r\nAnimationController.prototype = {\r\n _loop: function() {\r\n var that = this;\r\n var animations = that._animations;\r\n var activeAnimation = 0;\r\n var now = (new Date).getTime();\r\n var an;\r\n var endAnimation = that._endAnimation;\r\n for (an in animations) {\r\n if (!animations[an].tick(now)) {\r\n delete animations[an]\r\n }\r\n activeAnimation++\r\n }\r\n if (0 === activeAnimation) {\r\n that.stop();\r\n that._endAnimationTimer = endAnimation && setTimeout((function() {\r\n if (0 === that._animationCount) {\r\n endAnimation();\r\n that._endAnimation = null\r\n }\r\n }));\r\n return\r\n }\r\n that._timerId = requestAnimationFrame.call(null, (function() {\r\n that._loop()\r\n }), that.element)\r\n },\r\n addAnimation: function(animation) {\r\n var that = this;\r\n that._animations[that._animationCount++] = animation;\r\n clearTimeout(that._endAnimationTimer);\r\n if (!that._timerId) {\r\n clearTimeout(that._startDelay);\r\n that._startDelay = setTimeout((function() {\r\n that._timerId = 1;\r\n that._loop()\r\n }), 0)\r\n }\r\n },\r\n animateElement: function(elem, params, options) {\r\n if (elem && params && options) {\r\n elem.animation && elem.animation.stop();\r\n this.addAnimation(elem.animation = new Animation(elem, params, options))\r\n }\r\n },\r\n onEndAnimation: function(endAnimation) {\r\n this._animationCount ? this._endAnimation = endAnimation : endAnimation()\r\n },\r\n dispose: function() {\r\n this.stop();\r\n this.element = null\r\n },\r\n stop: function() {\r\n this._animations = {};\r\n this._animationCount = 0;\r\n cancelAnimationFrame(this._timerId);\r\n clearTimeout(this._startDelay);\r\n clearTimeout(this._endAnimationTimer);\r\n this._timerId = null\r\n },\r\n lock: function() {\r\n var an;\r\n var animations = this._animations;\r\n var unstoppable;\r\n var hasUnstoppableInAnimations;\r\n for (an in animations) {\r\n unstoppable = animations[an].options.unstoppable;\r\n hasUnstoppableInAnimations = hasUnstoppableInAnimations || unstoppable;\r\n if (!unstoppable) {\r\n animations[an].stop(true);\r\n delete animations[an]\r\n }\r\n }!hasUnstoppableInAnimations && this.stop()\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/core/renderers/renderer.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport domAdapter from \"../../../core/dom_adapter\";\r\nimport {\r\n getWindow\r\n} from \"../../../core/utils/window\";\r\nimport callOnce from \"../../../core/utils/call_once\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport {\r\n getSvgMarkup\r\n} from \"../../../core/utils/svg\";\r\nimport {\r\n AnimationController\r\n} from \"./animation\";\r\nimport {\r\n normalizeBBox,\r\n rotateBBox,\r\n normalizeEnum\r\n} from \"../utils\";\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nvar window = getWindow();\r\nvar {\r\n max: max,\r\n min: min,\r\n floor: floor,\r\n round: round,\r\n sin: sin,\r\n cos: cos,\r\n abs: abs,\r\n PI: PI\r\n} = Math;\r\nvar PI_DIV_180 = PI / 180;\r\nvar SHARPING_CORRECTION = .5;\r\nvar ARC_COORD_PREC = 5;\r\nvar pxAddingExceptions = {\r\n \"column-count\": true,\r\n \"fill-opacity\": true,\r\n \"flex-grow\": true,\r\n \"flex-shrink\": true,\r\n \"font-weight\": true,\r\n \"line-height\": true,\r\n opacity: true,\r\n order: true,\r\n orphans: true,\r\n widows: true,\r\n \"z-index\": true,\r\n zoom: true\r\n};\r\nvar KEY_TEXT = \"text\";\r\nvar KEY_STROKE = \"stroke\";\r\nvar KEY_STROKE_WIDTH = \"stroke-width\";\r\nvar KEY_STROKE_OPACITY = \"stroke-opacity\";\r\nvar KEY_FONT_SIZE = \"font-size\";\r\nvar KEY_FONT_STYLE = \"font-style\";\r\nvar KEY_FONT_WEIGHT = \"font-weight\";\r\nvar KEY_TEXT_DECORATION = \"text-decoration\";\r\nvar KEY_TEXTS_ALIGNMENT = \"textsAlignment\";\r\nvar NONE = \"none\";\r\nvar DEFAULT_FONT_SIZE = 12;\r\nvar ELLIPSIS = \"...\";\r\nvar objectCreate = function() {\r\n if (!Object.create) {\r\n return function(proto) {\r\n var F = function() {};\r\n F.prototype = proto;\r\n return new F\r\n }\r\n } else {\r\n return function(proto) {\r\n return Object.create(proto)\r\n }\r\n }\r\n}();\r\nvar DEFAULTS = {\r\n scaleX: 1,\r\n scaleY: 1,\r\n \"pointer-events\": null\r\n};\r\nvar getBackup = callOnce((function() {\r\n var backupContainer = domAdapter.createElement(\"div\");\r\n backupContainer.style.left = \"-9999px\";\r\n backupContainer.style.position = \"absolute\";\r\n return {\r\n backupContainer: backupContainer,\r\n backupCounter: 0\r\n }\r\n}));\r\n\r\nfunction backupRoot(root) {\r\n if (0 === getBackup().backupCounter) {\r\n domAdapter.getBody().appendChild(getBackup().backupContainer)\r\n }++getBackup().backupCounter;\r\n root.append({\r\n element: getBackup().backupContainer\r\n })\r\n}\r\n\r\nfunction restoreRoot(root, container) {\r\n root.append({\r\n element: container\r\n });\r\n --getBackup().backupCounter;\r\n if (0 === getBackup().backupCounter) {\r\n domAdapter.getBody().removeChild(getBackup().backupContainer)\r\n }\r\n}\r\nvar getNextDefsSvgId = function() {\r\n var numDefsSvgElements = 1;\r\n return function() {\r\n return \"DevExpress_\" + numDefsSvgElements++\r\n }\r\n}();\r\n\r\nfunction isObjectArgument(value) {\r\n return value && \"string\" !== typeof value\r\n}\r\n\r\nfunction createElement(tagName) {\r\n return domAdapter.createElementNS(\"http://www.w3.org/2000/svg\", tagName)\r\n}\r\nexport function getFuncIri(id, pathModified) {\r\n return null !== id ? \"url(\" + (pathModified ? window.location.href.split(\"#\")[0] : \"\") + \"#\" + id + \")\" : id\r\n}\r\n\r\nfunction extend(target, source) {\r\n var key;\r\n for (key in source) {\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction roundValue(value, exp) {\r\n value = value.toString().split(\"e\");\r\n value = round(+(value[0] + \"e\" + (value[1] ? +value[1] + exp : exp)));\r\n value = value.toString().split(\"e\");\r\n return +(value[0] + \"e\" + (value[1] ? +value[1] - exp : -exp))\r\n}\r\nvar preserveAspectRatioMap = {\r\n full: NONE,\r\n lefttop: \"xMinYMin\",\r\n leftcenter: \"xMinYMid\",\r\n leftbottom: \"xMinYMax\",\r\n centertop: \"xMidYMin\",\r\n center: \"xMidYMid\",\r\n centerbottom: \"xMidYMax\",\r\n righttop: \"xMaxYMin\",\r\n rightcenter: \"xMaxYMid\",\r\n rightbottom: \"xMaxYMax\"\r\n};\r\nexport function processHatchingAttrs(element, attrs) {\r\n if (attrs.hatching && \"none\" !== normalizeEnum(attrs.hatching.direction)) {\r\n attrs = extend({}, attrs);\r\n attrs.fill = element._hatching = element.renderer.lockHatching(attrs.fill, attrs.hatching, element._hatching);\r\n delete attrs.hatching\r\n } else if (element._hatching) {\r\n element.renderer.releaseHatching(element._hatching);\r\n element._hatching = null\r\n }\r\n return attrs\r\n}\r\n\r\nfunction normalizeArcParams(x, y, innerR, outerR, startAngle, endAngle) {\r\n var isCircle;\r\n var noArc = true;\r\n var angleDiff = roundValue(endAngle, 3) - roundValue(startAngle, 3);\r\n if (angleDiff) {\r\n if (abs(angleDiff) % 360 === 0) {\r\n startAngle = 0;\r\n endAngle = 360;\r\n isCircle = true;\r\n endAngle -= .01\r\n }\r\n if (startAngle > 360) {\r\n startAngle %= 360\r\n }\r\n if (endAngle > 360) {\r\n endAngle %= 360\r\n }\r\n if (startAngle > endAngle) {\r\n startAngle -= 360\r\n }\r\n noArc = false\r\n }\r\n startAngle *= PI_DIV_180;\r\n endAngle *= PI_DIV_180;\r\n return [x, y, min(outerR, innerR), max(outerR, innerR), cos(startAngle), sin(startAngle), cos(endAngle), sin(endAngle), isCircle, floor(abs(endAngle - startAngle) / PI) % 2 ? \"1\" : \"0\", noArc]\r\n}\r\nvar buildArcPath = function(x, y, innerR, outerR, startAngleCos, startAngleSin, endAngleCos, endAngleSin, isCircle, longFlag) {\r\n return [\"M\", (x + outerR * startAngleCos).toFixed(ARC_COORD_PREC), (y - outerR * startAngleSin).toFixed(ARC_COORD_PREC), \"A\", outerR.toFixed(ARC_COORD_PREC), outerR.toFixed(ARC_COORD_PREC), 0, longFlag, 0, (x + outerR * endAngleCos).toFixed(ARC_COORD_PREC), (y - outerR * endAngleSin).toFixed(ARC_COORD_PREC), isCircle ? \"M\" : \"L\", (x + innerR * endAngleCos).toFixed(5), (y - innerR * endAngleSin).toFixed(ARC_COORD_PREC), \"A\", innerR.toFixed(ARC_COORD_PREC), innerR.toFixed(ARC_COORD_PREC), 0, longFlag, 1, (x + innerR * startAngleCos).toFixed(ARC_COORD_PREC), (y - innerR * startAngleSin).toFixed(ARC_COORD_PREC), \"Z\"].join(\" \")\r\n};\r\n\r\nfunction buildPathSegments(points, type) {\r\n var list = [\r\n [\"M\", 0, 0]\r\n ];\r\n switch (type) {\r\n case \"line\":\r\n list = buildLineSegments(points);\r\n break;\r\n case \"area\":\r\n list = buildLineSegments(points, true);\r\n break;\r\n case \"bezier\":\r\n list = buildCurveSegments(points);\r\n break;\r\n case \"bezierarea\":\r\n list = buildCurveSegments(points, true)\r\n }\r\n return list\r\n}\r\n\r\nfunction buildLineSegments(points, close) {\r\n return buildSegments(points, buildSimpleLineSegment, close)\r\n}\r\n\r\nfunction buildCurveSegments(points, close) {\r\n return buildSegments(points, buildSimpleCurveSegment, close)\r\n}\r\n\r\nfunction buildSegments(points, buildSimpleSegment, close) {\r\n var _points$;\r\n var i;\r\n var ii;\r\n var list = [];\r\n if (null !== (_points$ = points[0]) && void 0 !== _points$ && _points$.length) {\r\n for (i = 0, ii = points.length; i < ii; ++i) {\r\n buildSimpleSegment(points[i], close, list)\r\n }\r\n } else {\r\n buildSimpleSegment(points, close, list)\r\n }\r\n return list\r\n}\r\n\r\nfunction buildSimpleLineSegment(points, close, list) {\r\n var i = 0;\r\n var k0 = list.length;\r\n var k = k0;\r\n var ii = (points || []).length;\r\n if (ii) {\r\n if (void 0 !== points[0].x) {\r\n for (; i < ii;) {\r\n list[k++] = [\"L\", points[i].x, points[i++].y]\r\n }\r\n } else {\r\n for (; i < ii;) {\r\n list[k++] = [\"L\", points[i++], points[i++]]\r\n }\r\n }\r\n list[k0][0] = \"M\"\r\n } else {\r\n list[k] = [\"M\", 0, 0]\r\n }\r\n close && list.push([\"Z\"]);\r\n return list\r\n}\r\n\r\nfunction buildSimpleCurveSegment(points, close, list) {\r\n var i;\r\n var k = list.length;\r\n var ii = (points || []).length;\r\n if (ii) {\r\n if (void 0 !== points[0].x) {\r\n list[k++] = [\"M\", points[0].x, points[0].y];\r\n for (i = 1; i < ii;) {\r\n list[k++] = [\"C\", points[i].x, points[i++].y, points[i].x, points[i++].y, points[i].x, points[i++].y]\r\n }\r\n } else {\r\n list[k++] = [\"M\", points[0], points[1]];\r\n for (i = 2; i < ii;) {\r\n list[k++] = [\"C\", points[i++], points[i++], points[i++], points[i++], points[i++], points[i++]]\r\n }\r\n }\r\n } else {\r\n list[k] = [\"M\", 0, 0]\r\n }\r\n close && list.push([\"Z\"]);\r\n return list\r\n}\r\n\r\nfunction combinePathParam(segments) {\r\n var d = [];\r\n var k = 0;\r\n var i;\r\n var ii = segments.length;\r\n var segment;\r\n var j;\r\n var jj;\r\n for (i = 0; i < ii; ++i) {\r\n segment = segments[i];\r\n for (j = 0, jj = segment.length; j < jj; ++j) {\r\n d[k++] = segment[j]\r\n }\r\n }\r\n return d.join(\" \")\r\n}\r\n\r\nfunction compensateSegments(oldSegments, newSegments, type) {\r\n var oldLength = oldSegments.length;\r\n var newLength = newSegments.length;\r\n var i;\r\n var originalNewSegments;\r\n var makeEqualSegments = -1 !== type.indexOf(\"area\") ? makeEqualAreaSegments : makeEqualLineSegments;\r\n if (0 === oldLength) {\r\n for (i = 0; i < newLength; i++) {\r\n oldSegments.push(newSegments[i].slice(0))\r\n }\r\n } else if (oldLength < newLength) {\r\n makeEqualSegments(oldSegments, newSegments, type)\r\n } else if (oldLength > newLength) {\r\n originalNewSegments = newSegments.slice(0);\r\n makeEqualSegments(newSegments, oldSegments, type)\r\n }\r\n return originalNewSegments\r\n}\r\n\r\nfunction prepareConstSegment(constSeg, type) {\r\n var x = constSeg[constSeg.length - 2];\r\n var y = constSeg[constSeg.length - 1];\r\n switch (type) {\r\n case \"line\":\r\n case \"area\":\r\n constSeg[0] = \"L\";\r\n break;\r\n case \"bezier\":\r\n case \"bezierarea\":\r\n constSeg[0] = \"C\";\r\n constSeg[1] = constSeg[3] = constSeg[5] = x;\r\n constSeg[2] = constSeg[4] = constSeg[6] = y\r\n }\r\n}\r\n\r\nfunction makeEqualLineSegments(short, long, type) {\r\n var constSeg = short[short.length - 1].slice();\r\n var i = short.length;\r\n prepareConstSegment(constSeg, type);\r\n for (; i < long.length; i++) {\r\n short[i] = constSeg.slice(0)\r\n }\r\n}\r\n\r\nfunction makeEqualAreaSegments(short, long, type) {\r\n var i;\r\n var head;\r\n var shortLength = short.length;\r\n var longLength = long.length;\r\n var constsSeg1;\r\n var constsSeg2;\r\n if ((shortLength - 1) % 2 === 0 && (longLength - 1) % 2 === 0) {\r\n i = (shortLength - 1) / 2 - 1;\r\n head = short.slice(0, i + 1);\r\n constsSeg1 = head[head.length - 1].slice(0);\r\n constsSeg2 = short.slice(i + 1)[0].slice(0);\r\n prepareConstSegment(constsSeg1, type);\r\n prepareConstSegment(constsSeg2, type);\r\n for (var j = i; j < (longLength - 1) / 2 - 1; j++) {\r\n short.splice(j + 1, 0, constsSeg1);\r\n short.splice(j + 3, 0, constsSeg2)\r\n }\r\n }\r\n}\r\n\r\nfunction baseCss(that, styles) {\r\n var elemStyles = that._styles;\r\n var key;\r\n var value;\r\n styles = styles || {};\r\n for (key in styles) {\r\n value = styles[key];\r\n if (isDefined(value)) {\r\n value += \"number\" === typeof value && !pxAddingExceptions[key] ? \"px\" : \"\";\r\n elemStyles[key] = \"\" !== value ? value : null\r\n }\r\n }\r\n for (key in elemStyles) {\r\n value = elemStyles[key];\r\n if (value) {\r\n that.element.style[key] = value\r\n } else if (null === value) {\r\n that.element.style[key] = \"\"\r\n }\r\n }\r\n return that\r\n}\r\n\r\nfunction fixFuncIri(wrapper, attribute) {\r\n var element = wrapper.element;\r\n var id = wrapper.attr(attribute);\r\n if (id && -1 !== id.indexOf(\"DevExpress\")) {\r\n element.removeAttribute(attribute);\r\n element.setAttribute(attribute, getFuncIri(id, wrapper.renderer.pathModified))\r\n }\r\n}\r\n\r\nfunction baseAttr(that, attrs) {\r\n attrs = attrs || {};\r\n var settings = that._settings;\r\n var attributes = {};\r\n var key;\r\n var value;\r\n var elem = that.element;\r\n var renderer = that.renderer;\r\n var rtl = renderer.rtl;\r\n var hasTransformations;\r\n var recalculateDashStyle;\r\n var sw;\r\n var i;\r\n if (!isObjectArgument(attrs)) {\r\n if (attrs in settings) {\r\n return settings[attrs]\r\n }\r\n if (attrs in DEFAULTS) {\r\n return DEFAULTS[attrs]\r\n }\r\n return 0\r\n }\r\n extend(attributes, attrs);\r\n for (key in attributes) {\r\n value = attributes[key];\r\n if (void 0 === value) {\r\n continue\r\n }\r\n settings[key] = value;\r\n if (\"align\" === key) {\r\n key = \"text-anchor\";\r\n value = {\r\n left: rtl ? \"end\" : \"start\",\r\n center: \"middle\",\r\n right: rtl ? \"start\" : \"end\"\r\n } [value] || null\r\n } else if (\"dashStyle\" === key) {\r\n recalculateDashStyle = true;\r\n continue\r\n } else if (key === KEY_STROKE_WIDTH) {\r\n recalculateDashStyle = true\r\n } else if (value && (\"fill\" === key || \"clip-path\" === key || \"filter\" === key) && 0 === value.indexOf(\"DevExpress\")) {\r\n that._addFixIRICallback();\r\n value = getFuncIri(value, renderer.pathModified)\r\n } else if (/^(translate(X|Y)|rotate[XY]?|scale(X|Y)|sharp|sharpDirection)$/i.test(key)) {\r\n hasTransformations = true;\r\n continue\r\n } else if (/^(x|y|d)$/i.test(key)) {\r\n hasTransformations = true\r\n }\r\n if (null === value) {\r\n elem.removeAttribute(key)\r\n } else {\r\n elem.setAttribute(key, value)\r\n }\r\n }\r\n if (recalculateDashStyle && \"dashStyle\" in settings) {\r\n value = settings.dashStyle;\r\n sw = (\"_originalSW\" in that ? that._originalSW : settings[KEY_STROKE_WIDTH]) || 1;\r\n key = \"stroke-dasharray\";\r\n value = null === value ? \"\" : normalizeEnum(value);\r\n if (\"\" === value || \"solid\" === value || value === NONE) {\r\n that.element.removeAttribute(key)\r\n } else {\r\n value = value.replace(/longdash/g, \"8,3,\").replace(/dash/g, \"4,3,\").replace(/dot/g, \"1,3,\").replace(/,$/, \"\").split(\",\");\r\n i = value.length;\r\n while (i--) {\r\n value[i] = parseInt(value[i]) * sw\r\n }\r\n that.element.setAttribute(key, value.join(\",\"))\r\n }\r\n }\r\n if (hasTransformations) {\r\n that._applyTransformation()\r\n }\r\n return that\r\n}\r\n\r\nfunction pathAttr(attrs) {\r\n var segments;\r\n if (isObjectArgument(attrs)) {\r\n attrs = extend({}, attrs);\r\n segments = attrs.segments;\r\n if (\"points\" in attrs) {\r\n segments = buildPathSegments(attrs.points, this.type);\r\n delete attrs.points\r\n }\r\n if (segments) {\r\n attrs.d = combinePathParam(segments);\r\n this.segments = segments;\r\n delete attrs.segments\r\n }\r\n }\r\n return baseAttr(this, attrs)\r\n}\r\n\r\nfunction arcAttr(attrs) {\r\n var settings = this._settings;\r\n var x;\r\n var y;\r\n var innerRadius;\r\n var outerRadius;\r\n var startAngle;\r\n var endAngle;\r\n if (isObjectArgument(attrs)) {\r\n attrs = extend({}, attrs);\r\n if (\"x\" in attrs || \"y\" in attrs || \"innerRadius\" in attrs || \"outerRadius\" in attrs || \"startAngle\" in attrs || \"endAngle\" in attrs) {\r\n settings.x = x = \"x\" in attrs ? attrs.x : settings.x;\r\n delete attrs.x;\r\n settings.y = y = \"y\" in attrs ? attrs.y : settings.y;\r\n delete attrs.y;\r\n settings.innerRadius = innerRadius = \"innerRadius\" in attrs ? attrs.innerRadius : settings.innerRadius;\r\n delete attrs.innerRadius;\r\n settings.outerRadius = outerRadius = \"outerRadius\" in attrs ? attrs.outerRadius : settings.outerRadius;\r\n delete attrs.outerRadius;\r\n settings.startAngle = startAngle = \"startAngle\" in attrs ? attrs.startAngle : settings.startAngle;\r\n delete attrs.startAngle;\r\n settings.endAngle = endAngle = \"endAngle\" in attrs ? attrs.endAngle : settings.endAngle;\r\n delete attrs.endAngle;\r\n attrs.d = buildArcPath.apply(null, normalizeArcParams(x, y, innerRadius, outerRadius, startAngle, endAngle))\r\n }\r\n }\r\n return baseAttr(this, attrs)\r\n}\r\n\r\nfunction rectAttr(attrs) {\r\n var x;\r\n var y;\r\n var width;\r\n var height;\r\n var sw;\r\n var maxSW;\r\n var newSW;\r\n if (isObjectArgument(attrs)) {\r\n attrs = extend({}, attrs);\r\n if (void 0 !== attrs.x || void 0 !== attrs.y || void 0 !== attrs.width || void 0 !== attrs.height || void 0 !== attrs[KEY_STROKE_WIDTH]) {\r\n void 0 !== attrs.x ? x = this._originalX = attrs.x : x = this._originalX || 0;\r\n void 0 !== attrs.y ? y = this._originalY = attrs.y : y = this._originalY || 0;\r\n void 0 !== attrs.width ? width = this._originalWidth = attrs.width : width = this._originalWidth || 0;\r\n void 0 !== attrs.height ? height = this._originalHeight = attrs.height : height = this._originalHeight || 0;\r\n void 0 !== attrs[KEY_STROKE_WIDTH] ? sw = this._originalSW = attrs[KEY_STROKE_WIDTH] : sw = this._originalSW;\r\n maxSW = ~~((width < height ? width : height) / 2);\r\n newSW = (sw || 0) < maxSW ? sw || 0 : maxSW;\r\n attrs.x = x + newSW / 2;\r\n attrs.y = y + newSW / 2;\r\n attrs.width = width - newSW;\r\n attrs.height = height - newSW;\r\n ((sw || 0) !== newSW || !(0 === newSW && void 0 === sw)) && (attrs[KEY_STROKE_WIDTH] = newSW)\r\n }\r\n if (\"sharp\" in attrs) {\r\n delete attrs.sharp\r\n }\r\n }\r\n return baseAttr(this, attrs)\r\n}\r\n\r\nfunction textAttr(attrs) {\r\n var isResetRequired;\r\n if (!isObjectArgument(attrs)) {\r\n return baseAttr(this, attrs)\r\n }\r\n attrs = extend({}, attrs);\r\n var settings = this._settings;\r\n var wasStroked = isDefined(settings[KEY_STROKE]) && isDefined(settings[KEY_STROKE_WIDTH]);\r\n if (void 0 !== attrs[KEY_TEXT]) {\r\n settings[KEY_TEXT] = attrs[KEY_TEXT];\r\n delete attrs[KEY_TEXT];\r\n isResetRequired = true\r\n }\r\n if (void 0 !== attrs[KEY_STROKE]) {\r\n settings[KEY_STROKE] = attrs[KEY_STROKE];\r\n delete attrs[KEY_STROKE]\r\n }\r\n if (void 0 !== attrs[KEY_STROKE_WIDTH]) {\r\n settings[KEY_STROKE_WIDTH] = attrs[KEY_STROKE_WIDTH];\r\n delete attrs[KEY_STROKE_WIDTH]\r\n }\r\n if (void 0 !== attrs[KEY_STROKE_OPACITY]) {\r\n settings[KEY_STROKE_OPACITY] = attrs[KEY_STROKE_OPACITY];\r\n delete attrs[KEY_STROKE_OPACITY]\r\n }\r\n if (void 0 !== attrs[KEY_TEXTS_ALIGNMENT]) {\r\n alignTextNodes(this, attrs[KEY_TEXTS_ALIGNMENT]);\r\n delete attrs[KEY_TEXTS_ALIGNMENT]\r\n }\r\n var isStroked = isDefined(settings[KEY_STROKE]) && isDefined(settings[KEY_STROKE_WIDTH]);\r\n baseAttr(this, attrs);\r\n isResetRequired = isResetRequired || isStroked !== wasStroked && settings[KEY_TEXT];\r\n if (isResetRequired) {\r\n createTextNodes(this, settings.text, isStroked);\r\n this._hasEllipsis = false\r\n }\r\n if (isResetRequired || void 0 !== attrs.x || void 0 !== attrs.y) {\r\n locateTextNodes(this)\r\n }\r\n if (isStroked) {\r\n strokeTextNodes(this)\r\n }\r\n return this\r\n}\r\n\r\nfunction textCss(styles) {\r\n styles = styles || {};\r\n baseCss(this, styles);\r\n if (KEY_FONT_SIZE in styles) {\r\n locateTextNodes(this)\r\n }\r\n return this\r\n}\r\n\r\nfunction orderHtmlTree(list, line, node, parentStyle, parentClassName) {\r\n var style;\r\n var realStyle;\r\n var i;\r\n var ii;\r\n var nodes;\r\n if (void 0 !== node.wholeText) {\r\n list.push({\r\n value: node.wholeText,\r\n style: parentStyle,\r\n className: parentClassName,\r\n line: line,\r\n height: parentStyle[KEY_FONT_SIZE] || 0\r\n })\r\n } else if (\"BR\" === node.tagName) {\r\n ++line\r\n } else if (domAdapter.isElementNode(node)) {\r\n extend(style = {}, parentStyle);\r\n switch (node.tagName) {\r\n case \"B\":\r\n case \"STRONG\":\r\n style[KEY_FONT_WEIGHT] = \"bold\";\r\n break;\r\n case \"I\":\r\n case \"EM\":\r\n style[KEY_FONT_STYLE] = \"italic\";\r\n break;\r\n case \"U\":\r\n style[KEY_TEXT_DECORATION] = \"underline\"\r\n }\r\n realStyle = node.style;\r\n realStyle.color && (style.fill = realStyle.color);\r\n realStyle.fontSize && (style[KEY_FONT_SIZE] = realStyle.fontSize);\r\n realStyle.fontStyle && (style[KEY_FONT_STYLE] = realStyle.fontStyle);\r\n realStyle.fontWeight && (style[KEY_FONT_WEIGHT] = realStyle.fontWeight);\r\n realStyle.textDecoration && (style[KEY_TEXT_DECORATION] = realStyle.textDecoration);\r\n for (i = 0, nodes = node.childNodes, ii = nodes.length; i < ii; ++i) {\r\n line = orderHtmlTree(list, line, nodes[i], style, node.className || parentClassName)\r\n }\r\n }\r\n return line\r\n}\r\n\r\nfunction adjustLineHeights(items) {\r\n var i;\r\n var ii;\r\n var currentItem = items[0];\r\n var item;\r\n for (i = 1, ii = items.length; i < ii; ++i) {\r\n item = items[i];\r\n if (item.line === currentItem.line) {\r\n currentItem.height = maxLengthFontSize(currentItem.height, item.height);\r\n currentItem.inherits = currentItem.inherits || 0 === parseFloat(item.height);\r\n item.height = NaN\r\n } else {\r\n currentItem = item\r\n }\r\n }\r\n}\r\n\r\nfunction removeExtraAttrs(html) {\r\n var findStyleAndClassAttrs = /(style|class)\\s*=\\s*([\"'])(?:(?!\\2).)*\\2\\s?/gi;\r\n return html.replace(/(?:(<[a-z0-9]+\\s*))([\\s\\S]*?)(>|\\/>)/gi, (function(allTagAttrs, p1, p2, p3) {\r\n p2 = (p2 && p2.match(findStyleAndClassAttrs) || []).map((function(str) {\r\n return str\r\n })).join(\" \");\r\n return p1 + p2 + p3\r\n }))\r\n}\r\n\r\nfunction parseHTML(text) {\r\n var items = [];\r\n var div = domAdapter.createElement(\"div\");\r\n div.innerHTML = text.replace(/\\r/g, \"\").replace(/\\n/g, \"<br/>\");\r\n orderHtmlTree(items, 0, div, {}, \"\");\r\n adjustLineHeights(items);\r\n return items\r\n}\r\n\r\nfunction parseMultiline(text) {\r\n var texts = text.replace(/\\r/g, \"\").split(/\\n/g);\r\n var i = 0;\r\n var items = [];\r\n for (; i < texts.length; i++) {\r\n items.push({\r\n value: texts[i].trim(),\r\n height: 0,\r\n line: i\r\n })\r\n }\r\n return items\r\n}\r\n\r\nfunction createTspans(items, element, fieldName) {\r\n var i;\r\n var ii;\r\n var item;\r\n for (i = 0, ii = items.length; i < ii; ++i) {\r\n item = items[i];\r\n item[fieldName] = createElement(\"tspan\");\r\n item[fieldName].appendChild(domAdapter.createTextNode(item.value));\r\n item.style && baseCss({\r\n element: item[fieldName],\r\n _styles: {}\r\n }, item.style);\r\n item.className && item[fieldName].setAttribute(\"class\", item.className);\r\n element.appendChild(item[fieldName])\r\n }\r\n}\r\n\r\nfunction restoreText() {\r\n if (this._hasEllipsis) {\r\n this.attr({\r\n text: this._settings.text\r\n })\r\n }\r\n}\r\n\r\nfunction applyEllipsis(maxWidth) {\r\n var lines;\r\n var hasEllipsis = false;\r\n var i;\r\n var ii;\r\n var lineParts;\r\n var j;\r\n var jj;\r\n var text;\r\n restoreText.call(this);\r\n var ellipsis = this.renderer.text(ELLIPSIS).attr(this._styles).append(this.renderer.root);\r\n var ellipsisWidth = ellipsis.getBBox().width;\r\n if (this._getElementBBox().width > maxWidth) {\r\n if (maxWidth - ellipsisWidth < 0) {\r\n maxWidth = 0\r\n } else {\r\n maxWidth -= ellipsisWidth\r\n }\r\n lines = prepareLines(this.element, this._texts, maxWidth);\r\n for (i = 0, ii = lines.length; i < ii; ++i) {\r\n lineParts = lines[i].parts;\r\n if (1 === lines[i].commonLength) {\r\n continue\r\n }\r\n for (j = 0, jj = lineParts.length; j < jj; ++j) {\r\n text = lineParts[j];\r\n if (isDefined(text.endIndex)) {\r\n setNewText(text, text.endIndex);\r\n hasEllipsis = true\r\n } else if (text.startBox > maxWidth) {\r\n removeTextSpan(text)\r\n }\r\n }\r\n }\r\n }\r\n ellipsis.remove();\r\n this._hasEllipsis = hasEllipsis;\r\n return hasEllipsis\r\n}\r\n\r\nfunction cloneAndRemoveAttrs(node) {\r\n var clone;\r\n if (node) {\r\n clone = node.cloneNode();\r\n clone.removeAttribute(\"y\");\r\n clone.removeAttribute(\"x\")\r\n }\r\n return clone || node\r\n}\r\n\r\nfunction detachTitleElements(element) {\r\n var titleElements = domAdapter.querySelectorAll(element, \"title\");\r\n for (var i = 0; i < titleElements.length; i++) {\r\n element.removeChild(titleElements[i])\r\n }\r\n return titleElements\r\n}\r\n\r\nfunction detachAndStoreTitleElements(element) {\r\n var titleElements = detachTitleElements(element);\r\n return () => {\r\n for (var i = 0; i < titleElements.length; i++) {\r\n element.appendChild(titleElements[i])\r\n }\r\n }\r\n}\r\n\r\nfunction setMaxSize(maxWidth, maxHeight) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var that = this;\r\n var lines = [];\r\n var textChanged = false;\r\n var textIsEmpty = false;\r\n var ellipsisMaxWidth = maxWidth;\r\n restoreText.call(that);\r\n var restoreTitleElement = detachAndStoreTitleElements(this.element);\r\n var ellipsis = that.renderer.text(ELLIPSIS).attr(that._styles).append(that.renderer.root);\r\n var ellipsisWidth = ellipsis.getBBox().width;\r\n var {\r\n width: width,\r\n height: height\r\n } = that._getElementBBox();\r\n if ((width || height) && (width > maxWidth || maxHeight && height > maxHeight)) {\r\n if (maxWidth - ellipsisWidth < 0) {\r\n ellipsisMaxWidth = 0\r\n } else {\r\n ellipsisMaxWidth -= ellipsisWidth\r\n }\r\n lines = applyOverflowRules(that.element, that._texts, maxWidth, ellipsisMaxWidth, options);\r\n lines = setMaxHeight(lines, ellipsisMaxWidth, options, maxHeight, parseFloat(this._getLineHeight()));\r\n this._texts = lines.reduce((texts, line) => texts.concat(line.parts), []).filter(t => \"\" !== t.value).map(t => {\r\n t.stroke && t.tspan.parentNode.appendChild(t.stroke);\r\n return t\r\n }).map(t => {\r\n t.tspan.parentNode.appendChild(t.tspan);\r\n return t\r\n });\r\n !this._texts.length && (this._texts = null);\r\n textChanged = true;\r\n if (this._texts) {\r\n locateTextNodes(this)\r\n } else {\r\n this.element.textContent = \"\";\r\n textIsEmpty = true\r\n }\r\n }\r\n ellipsis.remove();\r\n that._hasEllipsis = textChanged;\r\n restoreTitleElement();\r\n return {\r\n rowCount: lines.length,\r\n textChanged: textChanged,\r\n textIsEmpty: textIsEmpty\r\n }\r\n}\r\n\r\nfunction getIndexForEllipsis(text, maxWidth, startBox, endBox) {\r\n var k;\r\n var kk;\r\n if (startBox <= maxWidth && endBox > maxWidth) {\r\n for (k = 1, kk = text.value.length; k <= kk; ++k) {\r\n if (startBox + text.tspan.getSubStringLength(0, k) > maxWidth) {\r\n return k - 1\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction getTextWidth(text) {\r\n return text.value.length ? text.tspan.getSubStringLength(0, text.value.length) : 0\r\n}\r\n\r\nfunction prepareLines(element, texts, maxWidth) {\r\n var lines = [];\r\n var i;\r\n var ii;\r\n var text;\r\n var startBox;\r\n var endBox;\r\n if (texts) {\r\n for (i = 0, ii = texts.length; i < ii; ++i) {\r\n text = texts[i];\r\n if (!lines[text.line]) {\r\n text.startBox = startBox = 0;\r\n lines.push({\r\n commonLength: text.value.length,\r\n parts: [text]\r\n })\r\n } else {\r\n text.startBox = startBox;\r\n lines[text.line].parts.push(text);\r\n lines[text.line].commonLength += text.value.length\r\n }\r\n endBox = startBox + text.tspan.getSubStringLength(0, text.value.length);\r\n text.endIndex = getIndexForEllipsis(text, maxWidth, startBox, endBox);\r\n startBox = endBox\r\n }\r\n } else {\r\n text = {\r\n value: element.textContent,\r\n tspan: element\r\n };\r\n text.startBox = startBox = 0;\r\n endBox = startBox + getTextWidth(text);\r\n text.endIndex = getIndexForEllipsis(text, maxWidth, startBox, endBox);\r\n lines = [{\r\n commonLength: element.textContent.length,\r\n parts: [text]\r\n }]\r\n }\r\n return lines\r\n}\r\n\r\nfunction getSpaceBreakIndex(text, maxWidth) {\r\n var initialIndices = text.startBox > 0 ? [0] : [];\r\n var spaceIndices = text.value.split(\"\").reduce((indices, char, index) => {\r\n if (\" \" === char) {\r\n indices.push(index)\r\n }\r\n return indices\r\n }, initialIndices);\r\n var spaceIndex = 0;\r\n while (void 0 !== spaceIndices[spaceIndex + 1] && text.startBox + text.tspan.getSubStringLength(0, spaceIndices[spaceIndex + 1]) < maxWidth) {\r\n spaceIndex++\r\n }\r\n return spaceIndices[spaceIndex]\r\n}\r\n\r\nfunction getWordBreakIndex(text, maxWidth) {\r\n for (var i = 0; i < text.value.length - 1; i++) {\r\n if (text.startBox + text.tspan.getSubStringLength(0, i + 1) > maxWidth) {\r\n return i\r\n }\r\n }\r\n}\r\n\r\nfunction getEllipsisString(ellipsisMaxWidth, _ref) {\r\n var {\r\n hideOverflowEllipsis: hideOverflowEllipsis\r\n } = _ref;\r\n return hideOverflowEllipsis && 0 === ellipsisMaxWidth ? \"\" : ELLIPSIS\r\n}\r\n\r\nfunction setEllipsis(text, ellipsisMaxWidth, options) {\r\n var ellipsis = getEllipsisString(ellipsisMaxWidth, options);\r\n if (text.value.length && text.tspan.parentNode) {\r\n for (var i = text.value.length - 1; i >= 1; i--) {\r\n if (text.startBox + text.tspan.getSubStringLength(0, i) < ellipsisMaxWidth) {\r\n setNewText(text, i, ellipsis);\r\n break\r\n } else if (1 === i) {\r\n setNewText(text, 0, ellipsis)\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction wordWrap(text, maxWidth, ellipsisMaxWidth, options, lastStepBreakIndex) {\r\n var wholeText = text.value;\r\n var breakIndex;\r\n if (\"none\" !== options.wordWrap) {\r\n breakIndex = \"normal\" === options.wordWrap ? getSpaceBreakIndex(text, maxWidth) : getWordBreakIndex(text, maxWidth)\r\n }\r\n var restLines = [];\r\n var restText;\r\n if (isFinite(breakIndex) && !(0 === lastStepBreakIndex && 0 === breakIndex)) {\r\n setNewText(text, breakIndex, \"\");\r\n var newTextOffset = \" \" === wholeText[breakIndex] ? 1 : 0;\r\n var restString = wholeText.slice(breakIndex + newTextOffset);\r\n if (restString.length) {\r\n var restTspan = cloneAndRemoveAttrs(text.tspan);\r\n restTspan.textContent = restString;\r\n text.tspan.parentNode.appendChild(restTspan);\r\n restText = extend(extend({}, text), {\r\n value: restString,\r\n startBox: 0,\r\n height: 0,\r\n tspan: restTspan,\r\n stroke: cloneAndRemoveAttrs(text.stroke),\r\n endBox: restTspan.getSubStringLength(0, restString.length)\r\n });\r\n restText.stroke && (restText.stroke.textContent = restString);\r\n if (restText.endBox > maxWidth) {\r\n restLines = wordWrap(restText, maxWidth, ellipsisMaxWidth, options, breakIndex);\r\n if (!restLines.length) {\r\n return []\r\n }\r\n }\r\n }\r\n }\r\n if (text.value.length) {\r\n if (\"ellipsis\" === options.textOverflow && text.tspan.getSubStringLength(0, text.value.length) > maxWidth) {\r\n setEllipsis(text, ellipsisMaxWidth, options)\r\n }\r\n if (\"hide\" === options.textOverflow && text.tspan.getSubStringLength(0, text.value.length) > maxWidth) {\r\n return []\r\n }\r\n } else {\r\n text.tspan.parentNode.removeChild(text.tspan)\r\n }\r\n var parts = [];\r\n if (restText) {\r\n parts.push(restText)\r\n }\r\n return [{\r\n commonLength: wholeText.length,\r\n parts: parts\r\n }].concat(restLines)\r\n}\r\n\r\nfunction calculateLineHeight(line, lineHeight) {\r\n return line.parts.reduce((height, text) => max(height, getItemLineHeight(text, lineHeight)), 0)\r\n}\r\n\r\nfunction setMaxHeight(lines, ellipsisMaxWidth, options, maxHeight, lineHeight) {\r\n var textOverflow = options.textOverflow;\r\n if (!isFinite(maxHeight) || 0 === Number(maxHeight) || \"none\" === textOverflow) {\r\n return lines\r\n }\r\n var result = lines.reduce((_ref2, l, index, arr) => {\r\n var [lines, commonHeight] = _ref2;\r\n var height = calculateLineHeight(l, lineHeight);\r\n commonHeight += height;\r\n if (commonHeight < maxHeight) {\r\n lines.push(l)\r\n } else {\r\n l.parts.forEach(item => {\r\n removeTextSpan(item)\r\n });\r\n if (\"ellipsis\" === textOverflow) {\r\n var prevLine = arr[index - 1];\r\n if (prevLine) {\r\n var text = prevLine.parts[prevLine.parts.length - 1];\r\n if (!text.hasEllipsis) {\r\n if (0 === ellipsisMaxWidth || text.endBox < ellipsisMaxWidth) {\r\n setNewText(text, text.value.length, getEllipsisString(ellipsisMaxWidth, options))\r\n } else {\r\n setEllipsis(text, ellipsisMaxWidth, options)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return [lines, commonHeight]\r\n }, [\r\n [], 0\r\n ]);\r\n if (\"hide\" === textOverflow && result[1] > maxHeight) {\r\n result[0].forEach(l => {\r\n l.parts.forEach(item => {\r\n removeTextSpan(item)\r\n })\r\n });\r\n return []\r\n }\r\n return result[0]\r\n}\r\n\r\nfunction applyOverflowRules(element, texts, maxWidth, ellipsisMaxWidth, options) {\r\n if (!texts) {\r\n var textValue = element.textContent;\r\n var text = {\r\n value: textValue,\r\n height: 0,\r\n line: 0\r\n };\r\n element.textContent = \"\";\r\n createTspans([text], element, \"tspan\");\r\n texts = [text]\r\n }\r\n return texts.reduce((_ref3, text) => {\r\n var [lines, startBox, endBox, stop, lineNumber] = _ref3;\r\n var line = lines[lines.length - 1];\r\n if (stop) {\r\n return [lines, startBox, endBox, stop]\r\n }\r\n if (!line || text.line !== lineNumber) {\r\n text.startBox = startBox = 0;\r\n lines.push({\r\n commonLength: text.value.length,\r\n parts: [text]\r\n })\r\n } else {\r\n text.startBox = startBox;\r\n if (startBox > ellipsisMaxWidth && \"none\" === options.wordWrap && \"ellipsis\" === options.textOverflow) {\r\n removeTextSpan(text);\r\n return [lines, startBox, endBox, stop, lineNumber]\r\n }\r\n line.parts.push(text);\r\n line.commonLength += text.value.length\r\n }\r\n text.endBox = endBox = startBox + getTextWidth(text);\r\n startBox = endBox;\r\n if (isDefined(maxWidth) && endBox > maxWidth) {\r\n var wordWrapLines = wordWrap(text, maxWidth, ellipsisMaxWidth, options);\r\n if (!wordWrapLines.length) {\r\n lines = [];\r\n stop = true\r\n } else {\r\n lines = lines.concat(wordWrapLines.filter(l => l.parts.length > 0))\r\n }\r\n }\r\n return [lines, startBox, endBox, stop, text.line]\r\n }, [\r\n [], 0, 0, false, 0\r\n ])[0]\r\n}\r\n\r\nfunction setNewText(text, index) {\r\n var insertString = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : ELLIPSIS;\r\n var newText = text.value.substr(0, index) + insertString;\r\n text.value = text.tspan.textContent = newText;\r\n text.stroke && (text.stroke.textContent = newText);\r\n if (insertString === ELLIPSIS) {\r\n text.hasEllipsis = true\r\n }\r\n}\r\n\r\nfunction removeTextSpan(text) {\r\n text.tspan.parentNode && text.tspan.parentNode.removeChild(text.tspan);\r\n text.stroke && text.stroke.parentNode && text.stroke.parentNode.removeChild(text.stroke)\r\n}\r\n\r\nfunction createTextNodes(wrapper, text, isStroked) {\r\n var items;\r\n var parsedHtml;\r\n wrapper._texts = null;\r\n wrapper.clear();\r\n if (null === text) {\r\n return\r\n }\r\n text = \"\" + text;\r\n if (!wrapper.renderer.encodeHtml && (/<[a-z][\\s\\S]*>/i.test(text) || -1 !== text.indexOf(\"&\"))) {\r\n parsedHtml = removeExtraAttrs(text);\r\n items = parseHTML(parsedHtml)\r\n } else if (/\\n/g.test(text)) {\r\n items = parseMultiline(text)\r\n } else if (isStroked) {\r\n items = [{\r\n value: text.trim(),\r\n height: 0\r\n }]\r\n }\r\n if (items) {\r\n if (items.length) {\r\n wrapper._texts = items;\r\n if (isStroked) {\r\n createTspans(items, wrapper.element, KEY_STROKE)\r\n }\r\n createTspans(items, wrapper.element, \"tspan\")\r\n }\r\n } else {\r\n wrapper.element.appendChild(domAdapter.createTextNode(text))\r\n }\r\n}\r\n\r\nfunction setTextNodeAttribute(item, name, value) {\r\n item.tspan.setAttribute(name, value);\r\n item.stroke && item.stroke.setAttribute(name, value)\r\n}\r\n\r\nfunction getItemLineHeight(item, defaultValue) {\r\n return item.inherits ? maxLengthFontSize(item.height, defaultValue) : item.height || defaultValue\r\n}\r\n\r\nfunction locateTextNodes(wrapper) {\r\n if (!wrapper._texts) {\r\n return\r\n }\r\n var items = wrapper._texts;\r\n var x = wrapper._settings.x;\r\n var lineHeight = wrapper._getLineHeight();\r\n var i;\r\n var ii;\r\n var item = items[0];\r\n setTextNodeAttribute(item, \"x\", x);\r\n setTextNodeAttribute(item, \"y\", wrapper._settings.y);\r\n for (i = 1, ii = items.length; i < ii; ++i) {\r\n item = items[i];\r\n if (parseFloat(item.height) >= 0) {\r\n setTextNodeAttribute(item, \"x\", x);\r\n var height = getItemLineHeight(item, lineHeight);\r\n setTextNodeAttribute(item, \"dy\", height)\r\n }\r\n }\r\n}\r\n\r\nfunction alignTextNodes(wrapper, alignment) {\r\n if (!wrapper._texts || \"center\" === alignment) {\r\n return\r\n }\r\n var items = wrapper._texts;\r\n var direction = \"left\" === alignment ? -1 : 1;\r\n var maxTextWidth = Math.max.apply(Math, items.map(t => getTextWidth(t)));\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n var textWidth = getTextWidth(item);\r\n if (0 !== maxTextWidth && maxTextWidth !== textWidth) {\r\n setTextNodeAttribute(item, \"dx\", direction * round((maxTextWidth - textWidth) / 2 * 10) / 10)\r\n }\r\n }\r\n}\r\n\r\nfunction maxLengthFontSize(fontSize1, fontSize2) {\r\n var parsedHeight1 = parseFloat(fontSize1);\r\n var parsedHeight2 = parseFloat(fontSize2);\r\n var height1 = parsedHeight1 || DEFAULT_FONT_SIZE;\r\n var height2 = parsedHeight2 || DEFAULT_FONT_SIZE;\r\n return height1 > height2 ? !isNaN(parsedHeight1) ? fontSize1 : height1 : !isNaN(parsedHeight2) ? fontSize2 : height2\r\n}\r\n\r\nfunction strokeTextNodes(wrapper) {\r\n if (!wrapper._texts) {\r\n return\r\n }\r\n var items = wrapper._texts;\r\n var stroke = wrapper._settings[KEY_STROKE];\r\n var strokeWidth = wrapper._settings[KEY_STROKE_WIDTH];\r\n var strokeOpacity = wrapper._settings[KEY_STROKE_OPACITY] || 1;\r\n var tspan;\r\n var i;\r\n var ii;\r\n for (i = 0, ii = items.length; i < ii; ++i) {\r\n tspan = items[i].stroke;\r\n tspan.setAttribute(KEY_STROKE, stroke);\r\n tspan.setAttribute(KEY_STROKE_WIDTH, strokeWidth);\r\n tspan.setAttribute(KEY_STROKE_OPACITY, strokeOpacity);\r\n tspan.setAttribute(\"stroke-linejoin\", \"round\")\r\n }\r\n}\r\n\r\nfunction baseAnimate(that, params, options, complete) {\r\n options = options || {};\r\n var key;\r\n var value;\r\n var renderer = that.renderer;\r\n var settings = that._settings;\r\n var animationParams = {};\r\n var defaults = {\r\n translateX: 0,\r\n translateY: 0,\r\n scaleX: 1,\r\n scaleY: 1,\r\n rotate: 0,\r\n rotateX: 0,\r\n rotateY: 0\r\n };\r\n if (complete) {\r\n options.complete = complete\r\n }\r\n if (renderer.animationEnabled()) {\r\n for (key in params) {\r\n value = params[key];\r\n if (/^(translate(X|Y)|rotate[XY]?|scale(X|Y))$/i.test(key)) {\r\n animationParams.transform = animationParams.transform || {\r\n from: {},\r\n to: {}\r\n };\r\n animationParams.transform.from[key] = key in settings ? Number(settings[key].toFixed(3)) : defaults[key];\r\n animationParams.transform.to[key] = value\r\n } else if (\"arc\" === key || \"segments\" === key) {\r\n animationParams[key] = value\r\n } else {\r\n animationParams[key] = {\r\n from: key in settings ? settings[key] : parseFloat(that.element.getAttribute(key) || 0),\r\n to: value\r\n }\r\n }\r\n }\r\n renderer.animateElement(that, animationParams, extend(extend({}, renderer._animation), options))\r\n } else {\r\n options.step && options.step.call(that, 1, 1);\r\n options.complete && options.complete.call(that);\r\n that.attr(params)\r\n }\r\n return that\r\n}\r\n\r\nfunction pathAnimate(params, options, complete) {\r\n var curSegments = this.segments || [];\r\n var newSegments;\r\n var endSegments;\r\n if (this.renderer.animationEnabled() && \"points\" in params) {\r\n newSegments = buildPathSegments(params.points, this.type);\r\n endSegments = compensateSegments(curSegments, newSegments, this.type);\r\n params.segments = {\r\n from: curSegments,\r\n to: newSegments,\r\n end: endSegments\r\n };\r\n delete params.points\r\n }\r\n return baseAnimate(this, params, options, complete)\r\n}\r\n\r\nfunction arcAnimate(params, options, complete) {\r\n var settings = this._settings;\r\n var arcParams = {\r\n from: {},\r\n to: {}\r\n };\r\n if (this.renderer.animationEnabled() && (\"x\" in params || \"y\" in params || \"innerRadius\" in params || \"outerRadius\" in params || \"startAngle\" in params || \"endAngle\" in params)) {\r\n arcParams.from.x = settings.x || 0;\r\n arcParams.from.y = settings.y || 0;\r\n arcParams.from.innerRadius = settings.innerRadius || 0;\r\n arcParams.from.outerRadius = settings.outerRadius || 0;\r\n arcParams.from.startAngle = settings.startAngle || 0;\r\n arcParams.from.endAngle = settings.endAngle || 0;\r\n arcParams.to.x = \"x\" in params ? params.x : settings.x;\r\n delete params.x;\r\n arcParams.to.y = \"y\" in params ? params.y : settings.y;\r\n delete params.y;\r\n arcParams.to.innerRadius = \"innerRadius\" in params ? params.innerRadius : settings.innerRadius;\r\n delete params.innerRadius;\r\n arcParams.to.outerRadius = \"outerRadius\" in params ? params.outerRadius : settings.outerRadius;\r\n delete params.outerRadius;\r\n arcParams.to.startAngle = \"startAngle\" in params ? params.startAngle : settings.startAngle;\r\n delete params.startAngle;\r\n arcParams.to.endAngle = \"endAngle\" in params ? params.endAngle : settings.endAngle;\r\n delete params.endAngle;\r\n params.arc = arcParams\r\n }\r\n return baseAnimate(this, params, options, complete)\r\n}\r\n\r\nfunction buildLink(target, parameters) {\r\n var obj = {\r\n is: false,\r\n name: parameters.name || parameters,\r\n after: parameters.after\r\n };\r\n if (target) {\r\n obj.to = target\r\n } else {\r\n obj.virtual = true\r\n }\r\n return obj\r\n}\r\nexport var SvgElement = function(renderer, tagName, type) {\r\n this.renderer = renderer;\r\n this.element = createElement(tagName);\r\n this._settings = {};\r\n this._styles = {};\r\n if (\"path\" === tagName) {\r\n this.type = type || \"line\"\r\n }\r\n};\r\n\r\nfunction removeFuncIriCallback(callback) {\r\n fixFuncIriCallbacks.remove(callback)\r\n}\r\nSvgElement.prototype = {\r\n constructor: SvgElement,\r\n _getJQElement: function() {\r\n return this._$element || (this._$element = $(this.element))\r\n },\r\n _addFixIRICallback: function() {\r\n var that = this;\r\n var fn = function() {\r\n fixFuncIri(that, \"fill\");\r\n fixFuncIri(that, \"clip-path\");\r\n fixFuncIri(that, \"filter\")\r\n };\r\n that.element._fixFuncIri = fn;\r\n fn.renderer = that.renderer;\r\n fixFuncIriCallbacks.add(fn);\r\n that._addFixIRICallback = function() {}\r\n },\r\n _clearChildrenFuncIri: function() {\r\n ! function clearChildren(element) {\r\n var i;\r\n for (i = 0; i < element.childNodes.length; i++) {\r\n removeFuncIriCallback(element.childNodes[i]._fixFuncIri);\r\n clearChildren(element.childNodes[i])\r\n }\r\n }(this.element)\r\n },\r\n dispose: function() {\r\n removeFuncIriCallback(this.element._fixFuncIri);\r\n this._clearChildrenFuncIri();\r\n this._getJQElement().remove();\r\n return this\r\n },\r\n append: function(parent) {\r\n (parent || this.renderer.root).element.appendChild(this.element);\r\n return this\r\n },\r\n remove: function() {\r\n var element = this.element;\r\n element.parentNode && element.parentNode.removeChild(element);\r\n return this\r\n },\r\n enableLinks: function() {\r\n this._links = [];\r\n return this\r\n },\r\n virtualLink: function(parameters) {\r\n linkItem({\r\n _link: buildLink(null, parameters)\r\n }, this);\r\n return this\r\n },\r\n linkAfter: function(name) {\r\n this._linkAfter = name;\r\n return this\r\n },\r\n linkOn: function(target, parameters) {\r\n this._link = buildLink(target, parameters);\r\n linkItem(this, target);\r\n return this\r\n },\r\n linkOff: function() {\r\n unlinkItem(this);\r\n this._link = null;\r\n return this\r\n },\r\n linkAppend: function() {\r\n var link = this._link;\r\n var items = link.to._links;\r\n var i;\r\n var next;\r\n for (i = link.i + 1;\r\n (next = items[i]) && !next._link.is; ++i) {}\r\n this._insert(link.to, next);\r\n link.is = true;\r\n return this\r\n },\r\n _insert: function(parent, next) {\r\n parent.element.insertBefore(this.element, next ? next.element : null)\r\n },\r\n linkRemove: function() {\r\n this.remove();\r\n this._link.is = false;\r\n return this\r\n },\r\n clear: function() {\r\n this._clearChildrenFuncIri();\r\n this._getJQElement().empty();\r\n return this\r\n },\r\n toBackground: function() {\r\n var elem = this.element;\r\n var parent = elem.parentNode;\r\n parent && parent.insertBefore(elem, parent.firstChild);\r\n return this\r\n },\r\n toForeground: function() {\r\n var elem = this.element;\r\n var parent = elem.parentNode;\r\n parent && parent.appendChild(elem);\r\n return this\r\n },\r\n attr: function(attrs) {\r\n return baseAttr(this, attrs)\r\n },\r\n smartAttr: function(attrs) {\r\n return this.attr(processHatchingAttrs(this, attrs))\r\n },\r\n css: function(styles) {\r\n return baseCss(this, styles)\r\n },\r\n animate: function(params, options, complete) {\r\n return baseAnimate(this, params, options, complete)\r\n },\r\n sharp(pos, sharpDirection) {\r\n return this.attr({\r\n sharp: pos || true,\r\n sharpDirection: sharpDirection\r\n })\r\n },\r\n _applyTransformation() {\r\n var tr = this._settings;\r\n var rotateX;\r\n var rotateY;\r\n var transformations = [];\r\n var sharpMode = tr.sharp;\r\n var trDirection = tr.sharpDirection || 1;\r\n var strokeOdd = tr[KEY_STROKE_WIDTH] % 2;\r\n var correctionX = strokeOdd && (\"h\" === sharpMode || true === sharpMode) ? SHARPING_CORRECTION * trDirection : 0;\r\n var correctionY = strokeOdd && (\"v\" === sharpMode || true === sharpMode) ? SHARPING_CORRECTION * trDirection : 0;\r\n transformations.push(\"translate(\" + ((tr.translateX || 0) + correctionX) + \",\" + ((tr.translateY || 0) + correctionY) + \")\");\r\n if (tr.rotate) {\r\n if (\"rotateX\" in tr) {\r\n rotateX = tr.rotateX\r\n } else {\r\n rotateX = tr.x\r\n }\r\n if (\"rotateY\" in tr) {\r\n rotateY = tr.rotateY\r\n } else {\r\n rotateY = tr.y\r\n }\r\n transformations.push(\"rotate(\" + tr.rotate + \",\" + (rotateX || 0) + \",\" + (rotateY || 0) + \")\")\r\n }\r\n var scaleXDefined = isDefined(tr.scaleX);\r\n var scaleYDefined = isDefined(tr.scaleY);\r\n if (scaleXDefined || scaleYDefined) {\r\n transformations.push(\"scale(\" + (scaleXDefined ? tr.scaleX : 1) + \",\" + (scaleYDefined ? tr.scaleY : 1) + \")\")\r\n }\r\n if (transformations.length) {\r\n this.element.setAttribute(\"transform\", transformations.join(\" \"))\r\n }\r\n },\r\n move: function(x, y, animate, animOptions) {\r\n var obj = {};\r\n isDefined(x) && (obj.translateX = x);\r\n isDefined(y) && (obj.translateY = y);\r\n if (!animate) {\r\n this.attr(obj)\r\n } else {\r\n this.animate(obj, animOptions)\r\n }\r\n return this\r\n },\r\n rotate: function(angle, x, y, animate, animOptions) {\r\n var obj = {\r\n rotate: angle || 0\r\n };\r\n isDefined(x) && (obj.rotateX = x);\r\n isDefined(y) && (obj.rotateY = y);\r\n if (!animate) {\r\n this.attr(obj)\r\n } else {\r\n this.animate(obj, animOptions)\r\n }\r\n return this\r\n },\r\n _getElementBBox: function() {\r\n var elem = this.element;\r\n var bBox;\r\n try {\r\n bBox = elem.getBBox && elem.getBBox()\r\n } catch (e) {}\r\n return bBox || {\r\n x: 0,\r\n y: 0,\r\n width: elem.offsetWidth || 0,\r\n height: elem.offsetHeight || 0\r\n }\r\n },\r\n getBBox: function() {\r\n var transformation = this._settings;\r\n var bBox = this._getElementBBox();\r\n if (transformation.rotate) {\r\n bBox = rotateBBox(bBox, [(\"rotateX\" in transformation ? transformation.rotateX : transformation.x) || 0, (\"rotateY\" in transformation ? transformation.rotateY : transformation.y) || 0], -transformation.rotate)\r\n } else {\r\n bBox = normalizeBBox(bBox)\r\n }\r\n return bBox\r\n },\r\n markup: function() {\r\n return getSvgMarkup(this.element)\r\n },\r\n getOffset: function() {\r\n return this._getJQElement().offset()\r\n },\r\n stopAnimation: function(disableComplete) {\r\n var animation = this.animation;\r\n animation && animation.stop(disableComplete);\r\n return this\r\n },\r\n setTitle: function(text) {\r\n var titleElem = createElement(\"title\");\r\n titleElem.textContent = text || \"\";\r\n this.element.appendChild(titleElem)\r\n },\r\n removeTitle() {\r\n detachTitleElements(this.element)\r\n },\r\n data: function(obj, val) {\r\n var elem = this.element;\r\n var key;\r\n if (void 0 !== val) {\r\n elem[obj] = val\r\n } else {\r\n for (key in obj) {\r\n elem[key] = obj[key]\r\n }\r\n }\r\n return this\r\n },\r\n on: function() {\r\n var args = [this._getJQElement()];\r\n args.push.apply(args, arguments);\r\n eventsEngine.on.apply(eventsEngine, args);\r\n return this\r\n },\r\n off: function() {\r\n var args = [this._getJQElement()];\r\n args.push.apply(args, arguments);\r\n eventsEngine.off.apply(eventsEngine, args);\r\n return this\r\n },\r\n trigger: function() {\r\n var args = [this._getJQElement()];\r\n args.push.apply(args, arguments);\r\n eventsEngine.trigger.apply(eventsEngine, args);\r\n return this\r\n }\r\n};\r\nexport var PathSvgElement = function(renderer, type) {\r\n SvgElement.call(this, renderer, \"path\", type)\r\n};\r\nPathSvgElement.prototype = objectCreate(SvgElement.prototype);\r\nextend(PathSvgElement.prototype, {\r\n constructor: PathSvgElement,\r\n attr: pathAttr,\r\n animate: pathAnimate\r\n});\r\nexport var ArcSvgElement = function(renderer) {\r\n SvgElement.call(this, renderer, \"path\", \"arc\")\r\n};\r\nArcSvgElement.prototype = objectCreate(SvgElement.prototype);\r\nextend(ArcSvgElement.prototype, {\r\n constructor: ArcSvgElement,\r\n attr: arcAttr,\r\n animate: arcAnimate\r\n});\r\nexport var RectSvgElement = function(renderer) {\r\n SvgElement.call(this, renderer, \"rect\")\r\n};\r\nRectSvgElement.prototype = objectCreate(SvgElement.prototype);\r\nextend(RectSvgElement.prototype, {\r\n constructor: RectSvgElement,\r\n attr: rectAttr\r\n});\r\nexport var TextSvgElement = function(renderer) {\r\n SvgElement.call(this, renderer, \"text\");\r\n this.css({\r\n \"white-space\": \"pre\"\r\n })\r\n};\r\nTextSvgElement.prototype = objectCreate(SvgElement.prototype);\r\nextend(TextSvgElement.prototype, {\r\n constructor: TextSvgElement,\r\n attr: textAttr,\r\n css: textCss,\r\n applyEllipsis: applyEllipsis,\r\n setMaxSize: setMaxSize,\r\n restoreText: restoreText,\r\n _getLineHeight() {\r\n return !isNaN(parseFloat(this._styles[KEY_FONT_SIZE])) ? this._styles[KEY_FONT_SIZE] : DEFAULT_FONT_SIZE\r\n }\r\n});\r\n\r\nfunction updateIndexes(items, k) {\r\n var i;\r\n var item;\r\n for (i = k; item = items[i]; ++i) {\r\n item._link.i = i\r\n }\r\n}\r\n\r\nfunction linkItem(target, container) {\r\n var items = container._links;\r\n var key = target._link.after = target._link.after || container._linkAfter;\r\n var i;\r\n var item;\r\n if (key) {\r\n for (i = 0;\r\n (item = items[i]) && item._link.name !== key; ++i) {}\r\n if (item) {\r\n for (++i;\r\n (item = items[i]) && item._link.after === key; ++i) {}\r\n }\r\n } else {\r\n i = items.length\r\n }\r\n items.splice(i, 0, target);\r\n updateIndexes(items, i)\r\n}\r\n\r\nfunction unlinkItem(target) {\r\n var i;\r\n var items = target._link.to._links;\r\n for (i = 0; items[i] !== target; ++i) {}\r\n items.splice(i, 1);\r\n updateIndexes(items, i)\r\n}\r\nexport function Renderer(options) {\r\n this.root = this._createElement(\"svg\", {\r\n xmlns: \"http://www.w3.org/2000/svg\",\r\n version: \"1.1\",\r\n fill: NONE,\r\n stroke: NONE,\r\n \"stroke-width\": 0\r\n }).attr({\r\n class: options.cssClass\r\n }).css({\r\n \"line-height\": \"normal\",\r\n \"-ms-user-select\": NONE,\r\n \"-moz-user-select\": NONE,\r\n \"-webkit-user-select\": NONE,\r\n \"-webkit-tap-highlight-color\": \"rgba(0, 0, 0, 0)\",\r\n display: \"block\",\r\n overflow: \"hidden\"\r\n });\r\n this._init();\r\n this.pathModified = !!options.pathModified;\r\n this._$container = $(options.container);\r\n this.root.append({\r\n element: options.container\r\n });\r\n this._locker = 0;\r\n this._backed = false\r\n}\r\nRenderer.prototype = {\r\n constructor: Renderer,\r\n _init: function() {\r\n this._defs = this._createElement(\"defs\").append(this.root);\r\n this._animationController = new AnimationController(this.root.element);\r\n this._animation = {\r\n enabled: true,\r\n duration: 1e3,\r\n easing: \"easeOutCubic\"\r\n }\r\n },\r\n setOptions: function(options) {\r\n this.rtl = !!options.rtl;\r\n this.encodeHtml = !!options.encodeHtml;\r\n this.updateAnimationOptions(options.animation || {});\r\n this.root.attr({\r\n direction: this.rtl ? \"rtl\" : \"ltr\"\r\n });\r\n return this\r\n },\r\n _createElement: function(tagName, attr, type) {\r\n var elem = new SvgElement(this, tagName, type);\r\n attr && elem.attr(attr);\r\n return elem\r\n },\r\n lock: function() {\r\n if (0 === this._locker) {\r\n this._backed = !this._$container.is(\":visible\");\r\n if (this._backed) {\r\n backupRoot(this.root)\r\n }\r\n }++this._locker;\r\n return this\r\n },\r\n unlock: function() {\r\n --this._locker;\r\n if (0 === this._locker) {\r\n if (this._backed) {\r\n restoreRoot(this.root, this._$container[0])\r\n }\r\n this._backed = false\r\n }\r\n return this\r\n },\r\n resize: function(width, height) {\r\n if (width >= 0 && height >= 0) {\r\n this.root.attr({\r\n width: width,\r\n height: height\r\n })\r\n }\r\n return this\r\n },\r\n dispose: function() {\r\n var key;\r\n this.root.dispose();\r\n this._defs.dispose();\r\n this._animationController.dispose();\r\n fixFuncIriCallbacks.removeByRenderer(this);\r\n for (key in this) {\r\n this[key] = null\r\n }\r\n return this\r\n },\r\n animationEnabled: function() {\r\n return !!this._animation.enabled\r\n },\r\n updateAnimationOptions: function(newOptions) {\r\n extend(this._animation, newOptions);\r\n return this\r\n },\r\n stopAllAnimations: function(lock) {\r\n this._animationController[lock ? \"lock\" : \"stop\"]();\r\n return this\r\n },\r\n animateElement: function(element, params, options) {\r\n this._animationController.animateElement(element, params, options);\r\n return this\r\n },\r\n svg: function() {\r\n return this.root.markup()\r\n },\r\n getRootOffset: function() {\r\n return this.root.getOffset()\r\n },\r\n onEndAnimation: function(endAnimation) {\r\n this._animationController.onEndAnimation(endAnimation)\r\n },\r\n rect: function(x, y, width, height) {\r\n var elem = new RectSvgElement(this);\r\n return elem.attr({\r\n x: x || 0,\r\n y: y || 0,\r\n width: width || 0,\r\n height: height || 0\r\n })\r\n },\r\n simpleRect: function() {\r\n return this._createElement(\"rect\")\r\n },\r\n circle: function(x, y, r) {\r\n return this._createElement(\"circle\", {\r\n cx: x || 0,\r\n cy: y || 0,\r\n r: r || 0\r\n })\r\n },\r\n g: function() {\r\n return this._createElement(\"g\")\r\n },\r\n image: function(x, y, w, h, href, location) {\r\n var image = this._createElement(\"image\", {\r\n x: x || 0,\r\n y: y || 0,\r\n width: w || 0,\r\n height: h || 0,\r\n preserveAspectRatio: preserveAspectRatioMap[normalizeEnum(location)] || NONE\r\n });\r\n image.element.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", href || \"\");\r\n return image\r\n },\r\n path: function(points, type) {\r\n var elem = new PathSvgElement(this, type);\r\n return elem.attr({\r\n points: points || []\r\n })\r\n },\r\n arc: function(x, y, innerRadius, outerRadius, startAngle, endAngle) {\r\n var elem = new ArcSvgElement(this);\r\n return elem.attr({\r\n x: x || 0,\r\n y: y || 0,\r\n innerRadius: innerRadius || 0,\r\n outerRadius: outerRadius || 0,\r\n startAngle: startAngle || 0,\r\n endAngle: endAngle || 0\r\n })\r\n },\r\n text: function(_text, x, y) {\r\n var elem = new TextSvgElement(this);\r\n return elem.attr({\r\n text: _text,\r\n x: x || 0,\r\n y: y || 0\r\n })\r\n },\r\n linearGradient: function(stops) {\r\n var id = getNextDefsSvgId();\r\n var that = this;\r\n var gradient = that._createElement(\"linearGradient\", {\r\n id: id\r\n }).append(that._defs);\r\n gradient.id = id;\r\n stops.forEach(stop => {\r\n that._createElement(\"stop\", {\r\n offset: stop.offset,\r\n \"stop-color\": stop[\"stop-color\"]\r\n }).append(gradient)\r\n });\r\n return gradient\r\n },\r\n pattern: function(color, hatching, _id) {\r\n hatching = hatching || {};\r\n var step = hatching.step || 6;\r\n var stepTo2 = step / 2;\r\n var stepBy15 = 1.5 * step;\r\n var id = _id || getNextDefsSvgId();\r\n var d = \"right\" === normalizeEnum(hatching.direction) ? \"M \" + stepTo2 + \" \" + -stepTo2 + \" L \" + -stepTo2 + \" \" + stepTo2 + \" M 0 \" + step + \" L \" + step + \" 0 M \" + stepBy15 + \" \" + stepTo2 + \" L \" + stepTo2 + \" \" + stepBy15 : \"M 0 0 L \" + step + \" \" + step + \" M \" + -stepTo2 + \" \" + stepTo2 + \" L \" + stepTo2 + \" \" + stepBy15 + \" M \" + stepTo2 + \" \" + -stepTo2 + \" L \" + stepBy15 + \" \" + stepTo2;\r\n var pattern = this._createElement(\"pattern\", {\r\n id: id,\r\n width: step,\r\n height: step,\r\n patternUnits: \"userSpaceOnUse\"\r\n }).append(this._defs);\r\n pattern.id = id;\r\n this.rect(0, 0, step, step).attr({\r\n fill: color,\r\n opacity: hatching.opacity\r\n }).append(pattern);\r\n new PathSvgElement(this).attr({\r\n d: d,\r\n \"stroke-width\": hatching.width || 1,\r\n stroke: color\r\n }).append(pattern);\r\n return pattern\r\n },\r\n _getPointsWithYOffset: function(points, offset) {\r\n return points.map((function(point, index) {\r\n if (index % 2 !== 0) {\r\n return point + offset\r\n }\r\n return point\r\n }))\r\n },\r\n clipShape: function(method, methodArgs) {\r\n var id = getNextDefsSvgId();\r\n var clipPath = this._createElement(\"clipPath\", {\r\n id: id\r\n }).append(this._defs);\r\n var shape = method.apply(this, methodArgs).append(clipPath);\r\n shape.id = id;\r\n shape.remove = function() {\r\n throw \"Not implemented\"\r\n };\r\n shape.dispose = function() {\r\n clipPath.dispose();\r\n clipPath = null;\r\n return this\r\n };\r\n return shape\r\n },\r\n clipRect(x, y, width, height) {\r\n return this.clipShape(this.rect, arguments)\r\n },\r\n clipCircle(x, y, radius) {\r\n return this.clipShape(this.circle, arguments)\r\n },\r\n shadowFilter: function(x, y, width, height, offsetX, offsetY, blur, color, opacity) {\r\n var id = getNextDefsSvgId();\r\n var filter = this._createElement(\"filter\", {\r\n id: id,\r\n x: x || 0,\r\n y: y || 0,\r\n width: width || 0,\r\n height: height || 0\r\n }).append(this._defs);\r\n var gaussianBlur = this._createElement(\"feGaussianBlur\", {\r\n in: \"SourceGraphic\",\r\n result: \"gaussianBlurResult\",\r\n stdDeviation: blur || 0\r\n }).append(filter);\r\n var offset = this._createElement(\"feOffset\", {\r\n in: \"gaussianBlurResult\",\r\n result: \"offsetResult\",\r\n dx: offsetX || 0,\r\n dy: offsetY || 0\r\n }).append(filter);\r\n var flood = this._createElement(\"feFlood\", {\r\n result: \"floodResult\",\r\n \"flood-color\": color || \"\",\r\n \"flood-opacity\": opacity\r\n }).append(filter);\r\n var composite = this._createElement(\"feComposite\", {\r\n in: \"floodResult\",\r\n in2: \"offsetResult\",\r\n operator: \"in\",\r\n result: \"compositeResult\"\r\n }).append(filter);\r\n var finalComposite = this._createElement(\"feComposite\", {\r\n in: \"SourceGraphic\",\r\n in2: \"compositeResult\",\r\n operator: \"over\"\r\n }).append(filter);\r\n filter.id = id;\r\n filter.gaussianBlur = gaussianBlur;\r\n filter.offset = offset;\r\n filter.flood = flood;\r\n filter.composite = composite;\r\n filter.finalComposite = finalComposite;\r\n filter.attr = function(attrs) {\r\n var filterAttrs = {};\r\n var offsetAttrs = {};\r\n var floodAttrs = {};\r\n \"x\" in attrs && (filterAttrs.x = attrs.x);\r\n \"y\" in attrs && (filterAttrs.y = attrs.y);\r\n \"width\" in attrs && (filterAttrs.width = attrs.width);\r\n \"height\" in attrs && (filterAttrs.height = attrs.height);\r\n baseAttr(this, filterAttrs);\r\n \"blur\" in attrs && this.gaussianBlur.attr({\r\n stdDeviation: attrs.blur\r\n });\r\n \"offsetX\" in attrs && (offsetAttrs.dx = attrs.offsetX);\r\n \"offsetY\" in attrs && (offsetAttrs.dy = attrs.offsetY);\r\n this.offset.attr(offsetAttrs);\r\n \"color\" in attrs && (floodAttrs[\"flood-color\"] = attrs.color);\r\n \"opacity\" in attrs && (floodAttrs[\"flood-opacity\"] = attrs.opacity);\r\n this.flood.attr(floodAttrs);\r\n return this\r\n };\r\n return filter\r\n },\r\n brightFilter: function(type, slope) {\r\n var id = getNextDefsSvgId();\r\n var filter = this._createElement(\"filter\", {\r\n id: id\r\n }).append(this._defs);\r\n var componentTransferElement = this._createElement(\"feComponentTransfer\").append(filter);\r\n var attrs = {\r\n type: type,\r\n slope: slope\r\n };\r\n filter.id = id;\r\n this._createElement(\"feFuncR\", attrs).append(componentTransferElement);\r\n this._createElement(\"feFuncG\", attrs).append(componentTransferElement);\r\n this._createElement(\"feFuncB\", attrs).append(componentTransferElement);\r\n return filter\r\n },\r\n getGrayScaleFilter: function() {\r\n if (this._grayScaleFilter) {\r\n return this._grayScaleFilter\r\n }\r\n var id = getNextDefsSvgId();\r\n var filter = this._createElement(\"filter\", {\r\n id: id\r\n }).append(this._defs);\r\n this._createElement(\"feColorMatrix\").attr({\r\n type: \"matrix\",\r\n values: \"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 0.6 0\"\r\n }).append(filter);\r\n filter.id = id;\r\n this._grayScaleFilter = filter;\r\n return filter\r\n },\r\n initHatching: function() {\r\n var storage = this._hatchingStorage = this._hatchingStorage || {\r\n byHash: {},\r\n baseId: getNextDefsSvgId()\r\n };\r\n var byHash = storage.byHash;\r\n var name;\r\n for (name in byHash) {\r\n byHash[name].pattern.dispose()\r\n }\r\n storage.byHash = {};\r\n storage.refToHash = {};\r\n storage.nextId = 0\r\n },\r\n lockHatching: function(color, hatching, ref) {\r\n var storage = this._hatchingStorage;\r\n var hash = getHatchingHash(color, hatching);\r\n var storageItem;\r\n var pattern;\r\n if (storage.refToHash[ref] !== hash) {\r\n if (ref) {\r\n this.releaseHatching(ref)\r\n }\r\n storageItem = storage.byHash[hash];\r\n if (!storageItem) {\r\n pattern = this.pattern(color, hatching, storage.baseId + \"-hatching-\" + storage.nextId++);\r\n storageItem = storage.byHash[hash] = {\r\n pattern: pattern,\r\n count: 0\r\n };\r\n storage.refToHash[pattern.id] = hash\r\n }++storageItem.count;\r\n ref = storageItem.pattern.id\r\n }\r\n return ref\r\n },\r\n releaseHatching: function(ref) {\r\n var storage = this._hatchingStorage;\r\n var hash = storage.refToHash[ref];\r\n var storageItem = storage.byHash[hash];\r\n if (storageItem && 0 === --storageItem.count) {\r\n storageItem.pattern.dispose();\r\n delete storage.byHash[hash];\r\n delete storage.refToHash[ref]\r\n }\r\n }\r\n};\r\n\r\nfunction getHatchingHash(color, hatching) {\r\n return \"@\" + color + \"::\" + hatching.step + \":\" + hatching.width + \":\" + hatching.opacity + \":\" + hatching.direction\r\n}\r\nvar fixFuncIriCallbacks = function() {\r\n var callbacks = [];\r\n return {\r\n add: function(fn) {\r\n callbacks.push(fn)\r\n },\r\n remove: function(fn) {\r\n callbacks = callbacks.filter((function(el) {\r\n return el !== fn\r\n }))\r\n },\r\n removeByRenderer: function(renderer) {\r\n callbacks = callbacks.filter((function(el) {\r\n return el.renderer !== renderer\r\n }))\r\n },\r\n fire: function() {\r\n callbacks.forEach((function(fn) {\r\n fn()\r\n }))\r\n }\r\n }\r\n}();\r\nexport var refreshPaths = function() {\r\n fixFuncIriCallbacks.fire()\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/core/series_family.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isNumeric,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each as _each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n sign\r\n} from \"../../core/utils/math\";\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n map as _map,\r\n normalizeEnum as _normalizeEnum\r\n} from \"./utils\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nvar {\r\n round: round,\r\n abs: abs,\r\n pow: pow,\r\n sqrt: sqrt\r\n} = Math;\r\nvar _min = Math.min;\r\nvar DEFAULT_BAR_GROUP_PADDING = .3;\r\n\r\nfunction validateBarPadding(barPadding) {\r\n return barPadding < 0 || barPadding > 1 ? void 0 : barPadding\r\n}\r\n\r\nfunction validateBarGroupPadding(barGroupPadding) {\r\n return barGroupPadding < 0 || barGroupPadding > 1 ? DEFAULT_BAR_GROUP_PADDING : barGroupPadding\r\n}\r\n\r\nfunction isStackExist(series, arg) {\r\n return series.some((function(s) {\r\n return !s.getOptions().ignoreEmptyPoints || s.getPointsByArg(arg, true).some((function(point) {\r\n return point.hasValue()\r\n }))\r\n }))\r\n}\r\n\r\nfunction correctStackCoordinates(series, currentStacks, arg, stack, parameters, barsArea, seriesStackIndexCallback) {\r\n series.forEach((function(series) {\r\n var stackIndex = seriesStackIndexCallback(currentStacks.indexOf(stack), currentStacks.length);\r\n var points = series.getPointsByArg(arg, true);\r\n var barPadding = validateBarPadding(series.getOptions().barPadding);\r\n var barWidth = series.getOptions().barWidth;\r\n var offset = getOffset(stackIndex, parameters);\r\n var width = parameters.width;\r\n var extraParameters;\r\n if (-1 === stackIndex) {\r\n return\r\n }\r\n if (isDefined(barPadding) || isDefined(barWidth)) {\r\n extraParameters = calculateParams(barsArea, currentStacks.length, 1 - barPadding, barWidth);\r\n width = extraParameters.width;\r\n if (!series.getBarOverlapGroup()) {\r\n offset = getOffset(stackIndex, extraParameters)\r\n }\r\n }\r\n correctPointCoordinates(points, width, offset)\r\n }))\r\n}\r\n\r\nfunction getStackName(series) {\r\n return series.getStackName() || series.getBarOverlapGroup()\r\n}\r\n\r\nfunction adjustBarSeriesDimensionsCore(series, options, seriesStackIndexCallback) {\r\n var _series$, _series$2;\r\n var commonStacks = [];\r\n var allArguments = [];\r\n var seriesInStacks = {};\r\n var barGroupWidth = options.barGroupWidth;\r\n var argumentAxis = null === (_series$ = series[0]) || void 0 === _series$ ? void 0 : _series$.getArgumentAxis();\r\n var interval;\r\n if (null !== (_series$2 = series[0]) && void 0 !== _series$2 && _series$2.useAggregation()) {\r\n var _series$3;\r\n var isDateArgAxis = \"datetime\" === (null === (_series$3 = series[0]) || void 0 === _series$3 ? void 0 : _series$3.argumentType);\r\n var tickInterval = argumentAxis.getTickInterval();\r\n var aggregationInterval = argumentAxis.getAggregationInterval();\r\n tickInterval = isDateArgAxis ? dateUtils.dateToMilliseconds(tickInterval) : tickInterval;\r\n aggregationInterval = isDateArgAxis ? dateUtils.dateToMilliseconds(aggregationInterval) : aggregationInterval;\r\n interval = aggregationInterval < tickInterval ? aggregationInterval : tickInterval\r\n }\r\n interval = null === argumentAxis || void 0 === argumentAxis ? void 0 : argumentAxis.getTranslator().getInterval(interval);\r\n var barsArea = barGroupWidth ? interval > barGroupWidth ? barGroupWidth : interval : interval * (1 - validateBarGroupPadding(options.barGroupPadding));\r\n series.forEach((function(s, i) {\r\n var stackName = getStackName(s) || i.toString();\r\n var argument;\r\n for (argument in s.pointsByArgument) {\r\n if (-1 === allArguments.indexOf(argument.valueOf())) {\r\n allArguments.push(argument.valueOf())\r\n }\r\n }\r\n if (-1 === commonStacks.indexOf(stackName)) {\r\n commonStacks.push(stackName);\r\n seriesInStacks[stackName] = []\r\n }\r\n seriesInStacks[stackName].push(s)\r\n }));\r\n allArguments.forEach((function(arg) {\r\n var currentStacks = commonStacks.reduce((stacks, stack) => {\r\n if (isStackExist(seriesInStacks[stack], arg)) {\r\n stacks.push(stack)\r\n }\r\n return stacks\r\n }, []);\r\n var parameters = calculateParams(barsArea, currentStacks.length);\r\n commonStacks.forEach(stack => {\r\n correctStackCoordinates(seriesInStacks[stack], currentStacks, arg, stack, parameters, barsArea, seriesStackIndexCallback)\r\n })\r\n }))\r\n}\r\n\r\nfunction calculateParams(barsArea, count, percentWidth, fixedBarWidth) {\r\n var spacing;\r\n var width;\r\n if (fixedBarWidth) {\r\n width = _min(fixedBarWidth, barsArea / count);\r\n spacing = count > 1 ? round((barsArea - round(width) * count) / (count - 1)) : 0\r\n } else if (isDefined(percentWidth)) {\r\n width = barsArea * percentWidth / count;\r\n spacing = count > 1 ? round((barsArea - barsArea * percentWidth) / (count - 1)) : 0\r\n } else {\r\n spacing = round(barsArea / count * .2);\r\n width = (barsArea - spacing * (count - 1)) / count\r\n }\r\n return {\r\n width: width > 1 ? round(width) : 1,\r\n spacing: spacing,\r\n middleIndex: count / 2,\r\n rawWidth: width\r\n }\r\n}\r\n\r\nfunction getOffset(stackIndex, parameters) {\r\n var width = parameters.rawWidth < 1 ? parameters.rawWidth : parameters.width;\r\n return (stackIndex - parameters.middleIndex + .5) * width - (parameters.middleIndex - stackIndex - .5) * parameters.spacing\r\n}\r\n\r\nfunction correctPointCoordinates(points, width, offset) {\r\n _each(points, (function(_, point) {\r\n point.correctCoordinates({\r\n width: width,\r\n offset: offset\r\n })\r\n }))\r\n}\r\n\r\nfunction getValueType(value) {\r\n return value >= 0 ? \"positive\" : \"negative\"\r\n}\r\n\r\nfunction getVisibleSeries(that) {\r\n return that.series.filter((function(s) {\r\n return s.isVisible()\r\n }))\r\n}\r\n\r\nfunction getAbsStackSumByArg(stackKeepers, stackName, argument) {\r\n var positiveStackValue = (stackKeepers.positive[stackName] || {})[argument] || 0;\r\n var negativeStackValue = -(stackKeepers.negative[stackName] || {})[argument] || 0;\r\n return positiveStackValue + negativeStackValue\r\n}\r\n\r\nfunction getStackSumByArg(stackKeepers, stackName, argument) {\r\n var positiveStackValue = (stackKeepers.positive[stackName] || {})[argument] || 0;\r\n var negativeStackValue = (stackKeepers.negative[stackName] || {})[argument] || 0;\r\n return positiveStackValue + negativeStackValue\r\n}\r\n\r\nfunction getSeriesStackIndexCallback(inverted) {\r\n if (!inverted) {\r\n return function(index) {\r\n return index\r\n }\r\n } else {\r\n return function(index, stackCount) {\r\n return stackCount - index - 1\r\n }\r\n }\r\n}\r\n\r\nfunction isInverted(series) {\r\n return series[0] && series[0].getArgumentAxis().getTranslator().isInverted()\r\n}\r\n\r\nfunction adjustBarSeriesDimensions() {\r\n var series = getVisibleSeries(this);\r\n adjustBarSeriesDimensionsCore(series, this._options, getSeriesStackIndexCallback(isInverted(series)))\r\n}\r\n\r\nfunction getFirstValueSign(series) {\r\n var points = series.getPoints();\r\n var value;\r\n for (var i = 0; i < points.length; i++) {\r\n var point = points[i];\r\n value = point.initialValue && point.initialValue.valueOf();\r\n if (abs(value) > 0) {\r\n break\r\n }\r\n }\r\n return sign(value)\r\n}\r\n\r\nfunction adjustStackedSeriesValues() {\r\n var negativesAsZeroes = this._options.negativesAsZeroes;\r\n var series = getVisibleSeries(this);\r\n var stackKeepers = {\r\n positive: {},\r\n negative: {}\r\n };\r\n var holesStack = {\r\n left: {},\r\n right: {}\r\n };\r\n var lastSeriesInPositiveStack = {};\r\n var lastSeriesInNegativeStack = {};\r\n series.forEach((function(singleSeries) {\r\n var stackName = getStackName(singleSeries);\r\n var hole = false;\r\n var stack = getFirstValueSign(singleSeries) < 0 ? lastSeriesInNegativeStack : lastSeriesInPositiveStack;\r\n singleSeries._prevSeries = stack[stackName];\r\n stack[stackName] = singleSeries;\r\n singleSeries.holes = extend(true, {}, holesStack);\r\n singleSeries.getPoints().forEach((function(point, index, points) {\r\n var value = point.initialValue && point.initialValue.valueOf();\r\n var argument = point.argument.valueOf();\r\n var stacks = value >= 0 ? stackKeepers.positive : stackKeepers.negative;\r\n var isNotBarSeries = \"bar\" !== singleSeries.type;\r\n if (negativesAsZeroes && value < 0) {\r\n stacks = stackKeepers.positive;\r\n value = 0;\r\n point.resetValue()\r\n }\r\n stacks[stackName] = stacks[stackName] || {};\r\n var currentStack = stacks[stackName];\r\n if (currentStack[argument]) {\r\n if (isNotBarSeries) {\r\n point.correctValue(currentStack[argument])\r\n }\r\n currentStack[argument] += value\r\n } else {\r\n currentStack[argument] = value;\r\n if (isNotBarSeries) {\r\n point.resetCorrection()\r\n }\r\n }\r\n if (!point.hasValue()) {\r\n var prevPoint = points[index - 1];\r\n if (!hole && prevPoint && prevPoint.hasValue()) {\r\n argument = prevPoint.argument.valueOf();\r\n prevPoint._skipSetRightHole = true;\r\n holesStack.right[argument] = (holesStack.right[argument] || 0) + (prevPoint.value.valueOf() - (isFinite(prevPoint.minValue) ? prevPoint.minValue.valueOf() : 0))\r\n }\r\n hole = true\r\n } else if (hole) {\r\n hole = false;\r\n holesStack.left[argument] = (holesStack.left[argument] || 0) + (point.value.valueOf() - (isFinite(point.minValue) ? point.minValue.valueOf() : 0));\r\n point._skipSetLeftHole = true\r\n }\r\n }))\r\n }));\r\n series.forEach((function(singleSeries) {\r\n var holes = singleSeries.holes;\r\n singleSeries.getPoints().forEach((function(point) {\r\n var argument = point.argument.valueOf();\r\n point.resetHoles();\r\n !point._skipSetLeftHole && point.setHole(holes.left[argument] || holesStack.left[argument] && 0, \"left\");\r\n !point._skipSetRightHole && point.setHole(holes.right[argument] || holesStack.right[argument] && 0, \"right\");\r\n point._skipSetLeftHole = null;\r\n point._skipSetRightHole = null\r\n }))\r\n }));\r\n this._stackKeepers = stackKeepers;\r\n series.forEach((function(singleSeries) {\r\n singleSeries.getPoints().forEach((function(point) {\r\n var argument = point.argument.valueOf();\r\n var stackName = getStackName(singleSeries);\r\n var absTotal = getAbsStackSumByArg(stackKeepers, stackName, argument);\r\n var total = getStackSumByArg(stackKeepers, stackName, argument);\r\n point.setPercentValue(absTotal, total, holesStack.left[argument], holesStack.right[argument])\r\n }))\r\n }))\r\n}\r\n\r\nfunction updateStackedSeriesValues() {\r\n var that = this;\r\n var series = getVisibleSeries(that);\r\n var stack = that._stackKeepers;\r\n var stackKeepers = {\r\n positive: {},\r\n negative: {}\r\n };\r\n _each(series, (function(_, singleSeries) {\r\n var minBarSize = singleSeries.getOptions().minBarSize;\r\n var valueAxisTranslator = singleSeries.getValueAxis().getTranslator();\r\n var minShownBusinessValue = minBarSize && valueAxisTranslator.getMinBarSize(minBarSize);\r\n var stackName = singleSeries.getStackName();\r\n _each(singleSeries.getPoints(), (function(index, point) {\r\n if (!point.hasValue()) {\r\n return\r\n }\r\n var value = point.initialValue && point.initialValue.valueOf();\r\n var argument = point.argument.valueOf();\r\n if (that.fullStacked) {\r\n value = value / getAbsStackSumByArg(stack, stackName, argument) || 0\r\n }\r\n var updateValue = valueAxisTranslator.checkMinBarSize(value, minShownBusinessValue, point.value);\r\n var valueType = getValueType(updateValue);\r\n var currentStack = stackKeepers[valueType][stackName] = stackKeepers[valueType][stackName] || {};\r\n if (currentStack[argument]) {\r\n point.minValue = currentStack[argument];\r\n currentStack[argument] += updateValue\r\n } else {\r\n currentStack[argument] = updateValue\r\n }\r\n point.value = currentStack[argument]\r\n }))\r\n }));\r\n if (that.fullStacked) {\r\n updateFullStackedSeriesValues(series, stackKeepers)\r\n }\r\n}\r\n\r\nfunction updateFullStackedSeriesValues(series, stackKeepers) {\r\n _each(series, (function(_, singleSeries) {\r\n var stackName = singleSeries.getStackName ? singleSeries.getStackName() : \"default\";\r\n _each(singleSeries.getPoints(), (function(index, point) {\r\n var stackSum = getAbsStackSumByArg(stackKeepers, stackName, point.argument.valueOf());\r\n if (0 !== stackSum) {\r\n point.value = point.value / stackSum;\r\n if (isNumeric(point.minValue)) {\r\n point.minValue = point.minValue / stackSum\r\n }\r\n }\r\n }))\r\n }))\r\n}\r\n\r\nfunction updateRangeSeriesValues() {\r\n var series = getVisibleSeries(this);\r\n _each(series, (function(_, singleSeries) {\r\n var minBarSize = singleSeries.getOptions().minBarSize;\r\n var valueAxisTranslator = singleSeries.getValueAxis().getTranslator();\r\n var minShownBusinessValue = minBarSize && valueAxisTranslator.getMinBarSize(minBarSize);\r\n if (minShownBusinessValue) {\r\n _each(singleSeries.getPoints(), (function(_, point) {\r\n if (!point.hasValue()) {\r\n return\r\n }\r\n if (point.value.valueOf() - point.minValue.valueOf() < minShownBusinessValue) {\r\n point.value = point.value.valueOf() + minShownBusinessValue / 2;\r\n point.minValue = point.minValue.valueOf() - minShownBusinessValue / 2\r\n }\r\n }))\r\n }\r\n }))\r\n}\r\n\r\nfunction updateBarSeriesValues() {\r\n _each(this.series, (function(_, singleSeries) {\r\n var minBarSize = singleSeries.getOptions().minBarSize;\r\n var valueAxisTranslator = singleSeries.getValueAxis().getTranslator();\r\n var minShownBusinessValue = minBarSize && valueAxisTranslator.getMinBarSize(minBarSize);\r\n if (minShownBusinessValue) {\r\n _each(singleSeries.getPoints(), (function(index, point) {\r\n if (point.hasValue()) {\r\n point.value = valueAxisTranslator.checkMinBarSize(point.initialValue, minShownBusinessValue)\r\n }\r\n }))\r\n }\r\n }))\r\n}\r\n\r\nfunction adjustCandlestickSeriesDimensions() {\r\n var series = getVisibleSeries(this);\r\n adjustBarSeriesDimensionsCore(series, {\r\n barGroupPadding: .3\r\n }, getSeriesStackIndexCallback(isInverted(series)))\r\n}\r\n\r\nfunction adjustBubbleSeriesDimensions() {\r\n var series = getVisibleSeries(this);\r\n if (!series.length) {\r\n return\r\n }\r\n var options = this._options;\r\n var visibleAreaX = series[0].getArgumentAxis().getVisibleArea();\r\n var visibleAreaY = series[0].getValueAxis().getVisibleArea();\r\n var min = _min(visibleAreaX[1] - visibleAreaX[0], visibleAreaY[1] - visibleAreaY[0]);\r\n var minBubbleArea = pow(options.minBubbleSize, 2);\r\n var maxBubbleArea = pow(min * options.maxBubbleSize, 2);\r\n var equalBubbleSize = (min * options.maxBubbleSize + options.minBubbleSize) / 2;\r\n var minPointSize = 1 / 0;\r\n var maxPointSize = -1 / 0;\r\n var pointSize;\r\n var bubbleArea;\r\n var sizeProportion;\r\n _each(series, (function(_, seriesItem) {\r\n _each(seriesItem.getPoints(), (function(_, point) {\r\n maxPointSize = maxPointSize > point.size ? maxPointSize : point.size;\r\n minPointSize = minPointSize < point.size ? minPointSize : point.size\r\n }))\r\n }));\r\n var sizeDispersion = maxPointSize - minPointSize;\r\n var areaDispersion = abs(maxBubbleArea - minBubbleArea);\r\n _each(series, (function(_, seriesItem) {\r\n _each(seriesItem.getPoints(), (function(_, point) {\r\n if (maxPointSize === minPointSize) {\r\n pointSize = round(equalBubbleSize)\r\n } else {\r\n sizeProportion = abs(point.size - minPointSize) / sizeDispersion;\r\n bubbleArea = areaDispersion * sizeProportion + minBubbleArea;\r\n pointSize = round(sqrt(bubbleArea))\r\n }\r\n point.correctCoordinates(pointSize)\r\n }))\r\n }))\r\n}\r\nexport function SeriesFamily(options) {\r\n this.type = _normalizeEnum(options.type);\r\n this.pane = options.pane;\r\n this.series = [];\r\n this.updateOptions(options);\r\n switch (this.type) {\r\n case \"bar\":\r\n this.adjustSeriesDimensions = adjustBarSeriesDimensions;\r\n this.updateSeriesValues = updateBarSeriesValues;\r\n this.adjustSeriesValues = adjustStackedSeriesValues;\r\n break;\r\n case \"rangebar\":\r\n this.adjustSeriesDimensions = adjustBarSeriesDimensions;\r\n this.updateSeriesValues = updateRangeSeriesValues;\r\n break;\r\n case \"fullstackedbar\":\r\n this.fullStacked = true;\r\n this.adjustSeriesDimensions = adjustBarSeriesDimensions;\r\n this.adjustSeriesValues = adjustStackedSeriesValues;\r\n this.updateSeriesValues = updateStackedSeriesValues;\r\n break;\r\n case \"stackedbar\":\r\n this.adjustSeriesDimensions = adjustBarSeriesDimensions;\r\n this.adjustSeriesValues = adjustStackedSeriesValues;\r\n this.updateSeriesValues = updateStackedSeriesValues;\r\n break;\r\n case \"fullstackedarea\":\r\n case \"fullstackedline\":\r\n case \"fullstackedspline\":\r\n case \"fullstackedsplinearea\":\r\n this.fullStacked = true;\r\n this.adjustSeriesValues = adjustStackedSeriesValues;\r\n break;\r\n case \"stackedarea\":\r\n case \"stackedsplinearea\":\r\n case \"stackedline\":\r\n case \"stackedspline\":\r\n this.adjustSeriesValues = adjustStackedSeriesValues;\r\n break;\r\n case \"candlestick\":\r\n case \"stock\":\r\n this.adjustSeriesDimensions = adjustCandlestickSeriesDimensions;\r\n break;\r\n case \"bubble\":\r\n this.adjustSeriesDimensions = adjustBubbleSeriesDimensions\r\n }\r\n}\r\nSeriesFamily.prototype = {\r\n constructor: SeriesFamily,\r\n adjustSeriesDimensions: _noop,\r\n adjustSeriesValues: _noop,\r\n updateSeriesValues: _noop,\r\n updateOptions: function(options) {\r\n this._options = options\r\n },\r\n dispose: function() {\r\n this.series = null\r\n },\r\n add: function(series) {\r\n var type = this.type;\r\n this.series = _map(series, singleSeries => singleSeries.type === type ? singleSeries : null)\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/core/title.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isString as _isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n patchFontOptions as _patchFontOptions,\r\n enumParser\r\n} from \"./utils\";\r\nimport {\r\n LayoutElement\r\n} from \"./layout_element\";\r\nvar _Number = Number;\r\nvar parseHorizontalAlignment = enumParser([\"left\", \"center\", \"right\"]);\r\nvar parseVerticalAlignment = enumParser([\"top\", \"bottom\"]);\r\nvar DEFAULT_MARGIN = 10;\r\n\r\nfunction hasText(text) {\r\n return !!(text && String(text).length > 0)\r\n}\r\n\r\nfunction processTitleLength(elem, text, width, options, placeholderSize) {\r\n if (elem.attr({\r\n text: text\r\n }).setMaxSize(width, placeholderSize, options).textChanged) {\r\n elem.setTitle(text)\r\n }\r\n}\r\n\r\nfunction pickMarginValue(value) {\r\n return value >= 0 ? _Number(value) : DEFAULT_MARGIN\r\n}\r\n\r\nfunction validateMargin(margin) {\r\n var result;\r\n if (margin >= 0) {\r\n result = {\r\n left: _Number(margin),\r\n top: _Number(margin),\r\n right: _Number(margin),\r\n bottom: _Number(margin)\r\n }\r\n } else {\r\n margin = margin || {};\r\n result = {\r\n left: pickMarginValue(margin.left),\r\n top: pickMarginValue(margin.top),\r\n right: pickMarginValue(margin.right),\r\n bottom: pickMarginValue(margin.bottom)\r\n }\r\n }\r\n return result\r\n}\r\n\r\nfunction checkRect(rect, boundingRect) {\r\n return rect[2] - rect[0] < boundingRect.width || rect[3] - rect[1] < boundingRect.height\r\n}\r\nexport var Title = function(params) {\r\n this._params = params;\r\n this._group = params.renderer.g().attr({\r\n class: params.cssClass\r\n }).linkOn(params.root || params.renderer.root, \"title\");\r\n this._hasText = false\r\n};\r\nextend(Title.prototype, LayoutElement.prototype, {\r\n dispose: function() {\r\n this._group.linkRemove();\r\n this._group.linkOff();\r\n if (this._titleElement) {\r\n this._clipRect.dispose();\r\n this._titleElement = this._subtitleElement = this._clipRect = null\r\n }\r\n this._params = this._group = this._options = null\r\n },\r\n _updateOptions: function(options) {\r\n this._options = options;\r\n this._options.horizontalAlignment = parseHorizontalAlignment(options.horizontalAlignment, \"center\");\r\n this._options.verticalAlignment = parseVerticalAlignment(options.verticalAlignment, \"top\");\r\n this._options.margin = validateMargin(options.margin)\r\n },\r\n _updateStructure: function() {\r\n var renderer = this._params.renderer;\r\n var group = this._group;\r\n var options = this._options;\r\n var align = options.horizontalAlignment;\r\n if (!this._titleElement) {\r\n this._titleElement = renderer.text().append(group);\r\n this._subtitleElement = renderer.text();\r\n this._clipRect = renderer.clipRect();\r\n group.attr({\r\n \"clip-path\": this._clipRect.id\r\n })\r\n }\r\n this._titleElement.attr({\r\n align: align,\r\n class: options.cssClass\r\n });\r\n this._subtitleElement.attr({\r\n align: align,\r\n class: options.subtitle.cssClass\r\n });\r\n group.linkAppend();\r\n hasText(options.subtitle.text) ? this._subtitleElement.append(group) : this._subtitleElement.remove()\r\n },\r\n _updateTexts: function() {\r\n var options = this._options;\r\n var subtitleOptions = options.subtitle;\r\n var titleElement = this._titleElement;\r\n var subtitleElement = this._subtitleElement;\r\n var titleBox;\r\n titleElement.attr({\r\n text: \"A\",\r\n y: 0\r\n }).css(_patchFontOptions(options.font));\r\n titleBox = titleElement.getBBox();\r\n this._baseLineCorrection = titleBox.height + titleBox.y;\r\n titleElement.attr({\r\n text: options.text\r\n });\r\n titleBox = titleElement.getBBox();\r\n var y = -titleBox.y;\r\n titleElement.attr({\r\n y: y\r\n });\r\n if (hasText(subtitleOptions.text)) {\r\n subtitleElement.attr({\r\n text: subtitleOptions.text,\r\n y: 0\r\n }).css(_patchFontOptions(subtitleOptions.font))\r\n }\r\n },\r\n _shiftSubtitle() {\r\n var titleBox = this._titleElement.getBBox();\r\n var element = this._subtitleElement;\r\n var offset = this._options.subtitle.offset;\r\n element.move(0, titleBox.y + titleBox.height - element.getBBox().y - offset)\r\n },\r\n _updateBoundingRectAlignment: function() {\r\n var boundingRect = this._boundingRect;\r\n var options = this._options;\r\n boundingRect.verticalAlignment = options.verticalAlignment;\r\n boundingRect.horizontalAlignment = options.horizontalAlignment;\r\n boundingRect.cutLayoutSide = options.verticalAlignment;\r\n boundingRect.cutSide = \"vertical\";\r\n boundingRect.position = {\r\n horizontal: options.horizontalAlignment,\r\n vertical: options.verticalAlignment\r\n }\r\n },\r\n hasText: function() {\r\n return this._hasText\r\n },\r\n update: function(themeOptions, userOptions) {\r\n var options = extend(true, {}, themeOptions, processTitleOptions(userOptions));\r\n var _hasText = hasText(options.text);\r\n var isLayoutChanged = _hasText || _hasText !== this._hasText;\r\n this._baseLineCorrection = 0;\r\n this._updateOptions(options);\r\n this._boundingRect = {};\r\n if (_hasText) {\r\n this._updateStructure();\r\n this._updateTexts()\r\n } else {\r\n this._group.linkRemove()\r\n }\r\n this._updateBoundingRect();\r\n this._updateBoundingRectAlignment();\r\n this._hasText = _hasText;\r\n return isLayoutChanged\r\n },\r\n draw: function(width, height) {\r\n if (this._hasText) {\r\n this._group.linkAppend();\r\n this._correctTitleLength(width);\r\n if (this._group.getBBox().height > height) {\r\n this.freeSpace()\r\n }\r\n }\r\n return this\r\n },\r\n _correctTitleLength: function(width) {\r\n var options = this._options;\r\n var margin = options.margin;\r\n var maxWidth = width - margin.left - margin.right;\r\n var placeholderSize = options.placeholderSize;\r\n processTitleLength(this._titleElement, options.text, maxWidth, options, placeholderSize);\r\n if (this._subtitleElement) {\r\n if (_Number(placeholderSize) > 0) {\r\n placeholderSize -= this._titleElement.getBBox().height\r\n }\r\n processTitleLength(this._subtitleElement, options.subtitle.text, maxWidth, options.subtitle, placeholderSize);\r\n this._shiftSubtitle()\r\n }\r\n this._updateBoundingRect();\r\n var {\r\n x: x,\r\n y: y,\r\n height: height\r\n } = this.getCorrectedLayoutOptions();\r\n this._clipRect.attr({\r\n x: x,\r\n y: y,\r\n width: width,\r\n height: height\r\n })\r\n },\r\n getLayoutOptions: function() {\r\n return this._boundingRect || null\r\n },\r\n shift: function(x, y) {\r\n var box = this.getLayoutOptions();\r\n this._group.move(x - box.x, y - box.y);\r\n return this\r\n },\r\n _updateBoundingRect: function() {\r\n var options = this._options;\r\n var margin = options.margin;\r\n var boundingRect = this._boundingRect;\r\n var box = this._hasText ? this._group.getBBox() : {\r\n width: 0,\r\n height: 0,\r\n x: 0,\r\n y: 0,\r\n isEmpty: true\r\n };\r\n if (!box.isEmpty) {\r\n box.height += margin.top + margin.bottom - this._baseLineCorrection;\r\n box.width += margin.left + margin.right;\r\n box.x -= margin.left;\r\n box.y += this._baseLineCorrection - margin.top\r\n }\r\n if (options.placeholderSize > 0) {\r\n box.height = options.placeholderSize\r\n }\r\n boundingRect.height = box.height;\r\n boundingRect.width = box.width;\r\n boundingRect.x = box.x;\r\n boundingRect.y = box.y\r\n },\r\n getCorrectedLayoutOptions() {\r\n var srcBox = this.getLayoutOptions();\r\n var correction = this._baseLineCorrection;\r\n return extend({}, srcBox, {\r\n y: srcBox.y - correction,\r\n height: srcBox.height + correction\r\n })\r\n },\r\n layoutOptions: function() {\r\n if (!this._hasText) {\r\n return null\r\n }\r\n return {\r\n horizontalAlignment: this._boundingRect.horizontalAlignment,\r\n verticalAlignment: this._boundingRect.verticalAlignment,\r\n priority: 0\r\n }\r\n },\r\n measure: function(size) {\r\n this.draw(size[0], size[1]);\r\n return [this._boundingRect.width, this._boundingRect.height]\r\n },\r\n move: function(rect, fitRect) {\r\n var boundingRect = this._boundingRect;\r\n if (checkRect(rect, boundingRect)) {\r\n this.shift(fitRect[0], fitRect[1])\r\n } else {\r\n this.shift(Math.round(rect[0]), Math.round(rect[1]))\r\n }\r\n },\r\n freeSpace: function() {\r\n this._params.incidentOccurred(\"W2103\");\r\n this._group.linkRemove();\r\n this._boundingRect.width = this._boundingRect.height = 0\r\n },\r\n getOptions: function() {\r\n return this._options\r\n },\r\n changeLink: function(root) {\r\n this._group.linkRemove();\r\n this._group.linkOn(root, \"title\")\r\n }\r\n});\r\n\r\nfunction processTitleOptions(options) {\r\n var newOptions = _isString(options) ? {\r\n text: options\r\n } : options || {};\r\n newOptions.subtitle = _isString(newOptions.subtitle) ? {\r\n text: newOptions.subtitle\r\n } : newOptions.subtitle || {};\r\n return newOptions\r\n}\r\nexport var plugin = {\r\n name: \"title\",\r\n init: function() {\r\n this._title = new Title({\r\n renderer: this._renderer,\r\n cssClass: this._rootClassPrefix + \"-title\",\r\n incidentOccurred: this._incidentOccurred\r\n });\r\n this._layout.add(this._title)\r\n },\r\n dispose: function() {\r\n this._title.dispose();\r\n this._title = null\r\n },\r\n customize: function(constructor) {\r\n constructor.addChange({\r\n code: \"TITLE\",\r\n handler: function() {\r\n if (this._title.update(this._themeManager.theme(\"title\"), this.option(\"title\"))) {\r\n this._change([\"LAYOUT\"])\r\n }\r\n },\r\n isThemeDependent: true,\r\n option: \"title\",\r\n isOptionChange: true\r\n })\r\n },\r\n fontFields: [\"title.font\", \"title.subtitle.font\"]\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/core/tooltip.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n replaceWith\r\n} from \"../../core/utils/dom\";\r\nimport {\r\n camelize\r\n} from \"../../core/utils/inflector\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n Renderer\r\n} from \"./renderers/renderer\";\r\nimport {\r\n isFunction,\r\n isPlainObject,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n patchFontOptions,\r\n normalizeEnum\r\n} from \"./utils\";\r\nimport formatHelper from \"../../format_helper\";\r\nimport {\r\n Plaque\r\n} from \"./plaque\";\r\nvar format = formatHelper.format;\r\nvar mathCeil = Math.ceil;\r\nvar mathMax = Math.max;\r\nvar mathMin = Math.min;\r\nvar window = getWindow();\r\nvar DEFAULT_HTML_GROUP_WIDTH = 3e3;\r\n\r\nfunction hideElement($element) {\r\n $element.css({\r\n left: \"-9999px\"\r\n }).detach()\r\n}\r\n\r\nfunction getSpecialFormatOptions(options, specialFormat) {\r\n var result = options;\r\n switch (specialFormat) {\r\n case \"argument\":\r\n result = {\r\n format: options.argumentFormat\r\n };\r\n break;\r\n case \"percent\":\r\n result = {\r\n format: {\r\n type: \"percent\",\r\n precision: options.format && options.format.percentPrecision\r\n }\r\n }\r\n }\r\n return result\r\n}\r\n\r\nfunction createTextHtml() {\r\n return $(\"<div>\").css({\r\n position: \"relative\",\r\n display: \"inline-block\",\r\n padding: 0,\r\n margin: 0,\r\n border: \"0px solid transparent\"\r\n })\r\n}\r\n\r\nfunction removeElements(elements) {\r\n elements.forEach(el => el.remove())\r\n}\r\nexport var Tooltip = function(params) {\r\n this._eventTrigger = params.eventTrigger;\r\n this._widgetRoot = params.widgetRoot;\r\n this._widget = params.widget;\r\n this._textHtmlContainers = [];\r\n this._wrapper = $(\"<div>\").css({\r\n position: \"absolute\",\r\n overflow: \"hidden\",\r\n pointerEvents: \"none\"\r\n }).addClass(params.cssClass);\r\n var renderer = this._renderer = new Renderer({\r\n pathModified: params.pathModified,\r\n container: this._wrapper[0]\r\n });\r\n var root = renderer.root;\r\n root.attr({\r\n \"pointer-events\": \"none\"\r\n });\r\n this._text = renderer.text(void 0, 0, 0);\r\n this._textGroupHtml = $(\"<div>\").css({\r\n position: \"absolute\",\r\n padding: 0,\r\n margin: 0,\r\n border: \"0px solid transparent\"\r\n }).appendTo(this._wrapper);\r\n this._textHtml = createTextHtml().appendTo(this._textGroupHtml)\r\n};\r\nTooltip.prototype = {\r\n constructor: Tooltip,\r\n dispose: function() {\r\n this._wrapper.remove();\r\n this._renderer.dispose();\r\n this._options = this._widgetRoot = null\r\n },\r\n _getContainer: function() {\r\n var options = this._options;\r\n var container = $(this._widgetRoot).closest(options.container);\r\n if (0 === container.length) {\r\n container = $(options.container)\r\n }\r\n return (container.length ? container : $(\"body\")).get(0)\r\n },\r\n setTemplate(contentTemplate) {\r\n this._template = contentTemplate ? this._widget._getTemplate(contentTemplate) : null\r\n },\r\n setOptions: function(options) {\r\n options = options || {};\r\n var that = this;\r\n that._options = options;\r\n that._textFontStyles = patchFontOptions(options.font);\r\n that._textFontStyles.color = that._textFontStyles.fill;\r\n that._wrapper.css({\r\n zIndex: options.zIndex\r\n });\r\n that._customizeTooltip = options.customizeTooltip;\r\n var textGroupHtml = that._textGroupHtml;\r\n if (this.plaque) {\r\n this.plaque.clear()\r\n }\r\n this.setTemplate(options.contentTemplate);\r\n var pointerEvents = options.interactive ? \"auto\" : \"none\";\r\n if (options.interactive) {\r\n this._renderer.root.css({\r\n \"-ms-user-select\": \"auto\",\r\n \"-moz-user-select\": \"auto\",\r\n \"-webkit-user-select\": \"auto\"\r\n })\r\n }\r\n this.plaque = new Plaque({\r\n opacity: that._options.opacity,\r\n color: that._options.color,\r\n border: that._options.border,\r\n paddingLeftRight: that._options.paddingLeftRight,\r\n paddingTopBottom: that._options.paddingTopBottom,\r\n arrowLength: that._options.arrowLength,\r\n arrowWidth: 20,\r\n shadow: that._options.shadow,\r\n cornerRadius: that._options.cornerRadius\r\n }, that, that._renderer.root, _ref => {\r\n var {\r\n group: group,\r\n onRender: onRender,\r\n eventData: eventData,\r\n isMoving: isMoving,\r\n templateCallback: templateCallback = (() => {})\r\n } = _ref;\r\n var state = that._state;\r\n if (!isMoving) {\r\n var template = that._template;\r\n var useTemplate = template && !state.formatObject.skipTemplate;\r\n if (state.html || useTemplate) {\r\n textGroupHtml.css({\r\n color: state.textColor,\r\n width: DEFAULT_HTML_GROUP_WIDTH,\r\n pointerEvents: pointerEvents\r\n });\r\n if (useTemplate) {\r\n var htmlContainers = that._textHtmlContainers;\r\n var containerToTemplateRender = createTextHtml().appendTo(that._textGroupHtml);\r\n htmlContainers.push(containerToTemplateRender);\r\n template.render({\r\n model: state.formatObject,\r\n container: containerToTemplateRender,\r\n onRendered: () => {\r\n removeElements(htmlContainers.splice(0, htmlContainers.length - 1));\r\n that._textHtml = replaceWith(that._textHtml, containerToTemplateRender);\r\n state.html = that._textHtml.html();\r\n if (0 === getWidth(that._textHtml) && 0 === getHeight(that._textHtml)) {\r\n this.plaque.clear();\r\n templateCallback(false);\r\n return\r\n }\r\n onRender();\r\n that._riseEvents(eventData);\r\n that._moveWrapper();\r\n that.plaque.customizeCloud({\r\n fill: state.color,\r\n stroke: state.borderColor,\r\n \"pointer-events\": pointerEvents\r\n });\r\n templateCallback(true);\r\n that._textHtmlContainers = []\r\n }\r\n });\r\n return\r\n } else {\r\n that._text.attr({\r\n text: \"\"\r\n });\r\n that._textHtml.html(state.html)\r\n }\r\n } else {\r\n that._text.css({\r\n fill: state.textColor\r\n }).attr({\r\n text: state.text,\r\n class: options.cssClass,\r\n \"pointer-events\": pointerEvents\r\n }).append(group.attr({\r\n align: options.textAlignment\r\n }))\r\n }\r\n that._riseEvents(eventData);\r\n that.plaque.customizeCloud({\r\n fill: state.color,\r\n stroke: state.borderColor,\r\n \"pointer-events\": pointerEvents\r\n })\r\n }\r\n onRender();\r\n that._moveWrapper();\r\n return true\r\n }, true, (tooltip, g) => {\r\n var state = tooltip._state;\r\n if (state.html) {\r\n var bBox = window.getComputedStyle(that._textHtml.get(0));\r\n bBox = {\r\n x: 0,\r\n y: 0,\r\n width: mathCeil(parseFloat(bBox.width)),\r\n height: mathCeil(parseFloat(bBox.height))\r\n };\r\n return bBox\r\n }\r\n return g.getBBox()\r\n }, (tooltip, g, x, y) => {\r\n var state = tooltip._state;\r\n if (state.html) {\r\n that._textGroupHtml.css({\r\n left: x,\r\n top: y\r\n })\r\n } else {\r\n g.move(x, y)\r\n }\r\n });\r\n return that\r\n },\r\n _riseEvents: function(eventData) {\r\n this._eventData && this._eventTrigger(\"tooltipHidden\", this._eventData);\r\n this._eventData = eventData;\r\n this._eventTrigger(\"tooltipShown\", this._eventData)\r\n },\r\n setRendererOptions: function(options) {\r\n this._renderer.setOptions(options);\r\n this._textGroupHtml.css({\r\n direction: options.rtl ? \"rtl\" : \"ltr\"\r\n });\r\n return this\r\n },\r\n update: function(options) {\r\n this.setOptions(options);\r\n hideElement(this._wrapper);\r\n var normalizedCSS = {};\r\n for (var name in this._textFontStyles) {\r\n normalizedCSS[camelize(name)] = this._textFontStyles[name]\r\n }\r\n this._textGroupHtml.css(normalizedCSS);\r\n this._text.css(this._textFontStyles);\r\n this._eventData = null;\r\n return this\r\n },\r\n _prepare: function(formatObject, state) {\r\n var customizeTooltip = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : this._customizeTooltip;\r\n var options = this._options;\r\n var customize = {};\r\n if (isFunction(customizeTooltip)) {\r\n customize = customizeTooltip.call(formatObject, formatObject);\r\n customize = isPlainObject(customize) ? customize : {};\r\n if (\"text\" in customize) {\r\n state.text = isDefined(customize.text) ? String(customize.text) : \"\"\r\n }\r\n if (\"html\" in customize) {\r\n state.html = isDefined(customize.html) ? String(customize.html) : \"\"\r\n }\r\n }\r\n if (!(\"text\" in state) && !(\"html\" in state)) {\r\n state.text = formatObject.valueText || formatObject.description || \"\"\r\n }\r\n state.color = customize.color || options.color;\r\n state.borderColor = customize.borderColor || (options.border || {}).color;\r\n state.textColor = customize.fontColor || (this._textFontStyles || {}).color;\r\n return !!state.text || !!state.html || !!this._template\r\n },\r\n show: function(formatObject, params, eventData, customizeTooltip, templateCallback) {\r\n if (this._options.forceEvents) {\r\n eventData.x = params.x;\r\n eventData.y = params.y - params.offset;\r\n this._riseEvents(eventData);\r\n return true\r\n }\r\n var state = {\r\n formatObject: formatObject,\r\n eventData: eventData,\r\n templateCallback: templateCallback\r\n };\r\n if (!this._prepare(formatObject, state, customizeTooltip)) {\r\n return false\r\n }\r\n this._state = state;\r\n this._wrapper.appendTo(this._getContainer());\r\n this._clear();\r\n var parameters = extend({}, this._options, {\r\n canvas: this._getCanvas()\r\n }, state, {\r\n x: params.x,\r\n y: params.y,\r\n offset: params.offset\r\n });\r\n return this.plaque.clear().draw(parameters)\r\n },\r\n isCursorOnTooltip: function(x, y) {\r\n if (this._options.interactive) {\r\n var box = this.plaque.getBBox();\r\n return x > box.x && x < box.x + box.width && y > box.y && y < box.y + box.height\r\n }\r\n return false\r\n },\r\n hide: function(isPointerOut) {\r\n hideElement(this._wrapper);\r\n if (this._eventData) {\r\n this._eventTrigger(\"tooltipHidden\", this._options.forceEvents ? extend({\r\n isPointerOut: isPointerOut\r\n }, this._eventData) : this._eventData);\r\n this._clear();\r\n this._eventData = null\r\n }\r\n },\r\n _clear() {\r\n this._textHtml.empty()\r\n },\r\n move: function(x, y, offset) {\r\n this.plaque.draw({\r\n x: x,\r\n y: y,\r\n offset: offset,\r\n canvas: this._getCanvas(),\r\n isMoving: true\r\n })\r\n },\r\n _moveWrapper: function() {\r\n var plaqueBBox = this.plaque.getBBox();\r\n this._renderer.resize(plaqueBBox.width, plaqueBBox.height);\r\n var offset = this._wrapper.css({\r\n left: 0,\r\n top: 0\r\n }).offset();\r\n var left = plaqueBBox.x;\r\n var top = plaqueBBox.y;\r\n this._wrapper.css({\r\n left: left - offset.left,\r\n top: top - offset.top\r\n });\r\n this.plaque.moveRoot(-left, -top);\r\n if (this._state.html) {\r\n this._textHtml.css({\r\n left: -left,\r\n top: -top\r\n });\r\n this._textGroupHtml.css({\r\n width: mathCeil(getWidth(this._textHtml))\r\n })\r\n }\r\n },\r\n formatValue: function(value, _specialFormat) {\r\n var options = _specialFormat ? getSpecialFormatOptions(this._options, _specialFormat) : this._options;\r\n return format(value, options.format)\r\n },\r\n getOptions() {\r\n return this._options\r\n },\r\n getLocation: function() {\r\n return normalizeEnum(this._options.location)\r\n },\r\n isEnabled: function() {\r\n return !!this._options.enabled || !!this._options.forceEvents\r\n },\r\n isShared: function() {\r\n return !!this._options.shared\r\n },\r\n _getCanvas: function() {\r\n var container = this._getContainer();\r\n var containerBox = container.getBoundingClientRect();\r\n var html = domAdapter.getDocumentElement();\r\n var document = domAdapter.getDocument();\r\n var left = window.pageXOffset || html.scrollLeft || 0;\r\n var top = window.pageYOffset || html.scrollTop || 0;\r\n var box = {\r\n left: left,\r\n top: top,\r\n width: mathMax(html.clientWidth, document.body.clientWidth) + left,\r\n height: mathMax(document.body.scrollHeight, html.scrollHeight, document.body.offsetHeight, html.offsetHeight, document.body.clientHeight, html.clientHeight),\r\n right: 0,\r\n bottom: 0\r\n };\r\n if (container !== domAdapter.getBody()) {\r\n left = mathMax(box.left, box.left + containerBox.left);\r\n top = mathMax(box.top, box.top + containerBox.top);\r\n box.width = mathMin(containerBox.width, box.width) + left + box.left;\r\n box.height = mathMin(containerBox.height, box.height) + top + box.top;\r\n box.left = left;\r\n box.top = top\r\n }\r\n return box\r\n }\r\n};\r\nexport var plugin = {\r\n name: \"tooltip\",\r\n init: function() {\r\n this._initTooltip()\r\n },\r\n dispose: function() {\r\n this._disposeTooltip()\r\n },\r\n members: {\r\n _initTooltip: function() {\r\n this._tooltip = new Tooltip({\r\n cssClass: this._rootClassPrefix + \"-tooltip\",\r\n eventTrigger: this._eventTrigger,\r\n pathModified: this.option(\"pathModified\"),\r\n widgetRoot: this.element(),\r\n widget: this\r\n })\r\n },\r\n _disposeTooltip: function() {\r\n this._tooltip.dispose();\r\n this._tooltip = null\r\n },\r\n _setTooltipRendererOptions: function() {\r\n this._tooltip.setRendererOptions(this._getRendererOptions())\r\n },\r\n _setTooltipOptions: function() {\r\n this._tooltip.update(this._getOption(\"tooltip\"))\r\n }\r\n },\r\n extenders: {\r\n _stopCurrentHandling() {\r\n this._tooltip && this._tooltip.hide()\r\n }\r\n },\r\n customize: function(constructor) {\r\n var proto = constructor.prototype;\r\n proto._eventsMap.onTooltipShown = {\r\n name: \"tooltipShown\"\r\n };\r\n proto._eventsMap.onTooltipHidden = {\r\n name: \"tooltipHidden\"\r\n };\r\n constructor.addChange({\r\n code: \"TOOLTIP_RENDERER\",\r\n handler: function() {\r\n this._setTooltipRendererOptions()\r\n },\r\n isThemeDependent: true,\r\n isOptionChange: true\r\n });\r\n constructor.addChange({\r\n code: \"TOOLTIP\",\r\n handler: function() {\r\n this._setTooltipOptions()\r\n },\r\n isThemeDependent: true,\r\n isOptionChange: true,\r\n option: \"tooltip\"\r\n })\r\n },\r\n fontFields: [\"tooltip.font\"]\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/core/utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isNumeric,\r\n isExponential,\r\n isFunction,\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n adjust,\r\n sign\r\n} from \"../../core/utils/math\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport Color from \"../../color\";\r\nvar {\r\n PI: PI,\r\n LN10: LN10,\r\n abs: abs,\r\n log: log,\r\n floor: floor,\r\n ceil: ceil,\r\n pow: pow,\r\n sqrt: sqrt,\r\n atan2: atan2\r\n} = Math;\r\nvar _min = Math.min;\r\nvar _max = Math.max;\r\nvar _cos = Math.cos;\r\nvar _sin = Math.sin;\r\nvar _round = Math.round;\r\nvar dateToMilliseconds = dateUtils.dateToMilliseconds;\r\nvar MAX_PIXEL_COUNT = 1e10;\r\nvar PI_DIV_180 = PI / 180;\r\nvar _isNaN = isNaN;\r\nvar _Number = Number;\r\nvar _NaN = NaN;\r\nexport var PANE_PADDING = 10;\r\nexport var getLog = function(value, base) {\r\n if (!value) {\r\n return _NaN\r\n }\r\n return log(value) / log(base)\r\n};\r\nexport var getAdjustedLog10 = function(value) {\r\n return adjust(getLog(value, 10))\r\n};\r\nexport var raiseTo = function(power, base) {\r\n return pow(base, power)\r\n};\r\nexport var normalizeAngle = function(angle) {\r\n return (angle % 360 + 360) % 360\r\n};\r\nexport var convertAngleToRendererSpace = function(angle) {\r\n return 90 - angle\r\n};\r\nexport var degreesToRadians = function(value) {\r\n return PI * value / 180\r\n};\r\nexport var getCosAndSin = function(angle) {\r\n var angleInRadians = degreesToRadians(angle);\r\n return {\r\n cos: _cos(angleInRadians),\r\n sin: _sin(angleInRadians)\r\n }\r\n};\r\nvar DECIMAL_ORDER_THRESHOLD = 1e-14;\r\nexport var getDistance = function(x1, y1, x2, y2) {\r\n var diffX = x2 - x1;\r\n var diffY = y2 - y1;\r\n return sqrt(diffY * diffY + diffX * diffX)\r\n};\r\nexport var getDecimalOrder = function(number) {\r\n var n = abs(number);\r\n var cn;\r\n if (!_isNaN(n)) {\r\n if (n > 0) {\r\n n = log(n) / LN10;\r\n cn = ceil(n);\r\n return cn - n < DECIMAL_ORDER_THRESHOLD ? cn : floor(n)\r\n }\r\n return 0\r\n }\r\n return _NaN\r\n};\r\nexport var getAppropriateFormat = function(start, end, count) {\r\n var order = _max(getDecimalOrder(start), getDecimalOrder(end));\r\n var precision = -getDecimalOrder(abs(end - start) / count);\r\n var format;\r\n if (!_isNaN(order) && !_isNaN(precision)) {\r\n if (abs(order) <= 4) {\r\n format = \"fixedPoint\";\r\n precision < 0 && (precision = 0);\r\n precision > 4 && (precision = 4)\r\n } else {\r\n format = \"exponential\";\r\n precision += order - 1;\r\n precision > 3 && (precision = 3)\r\n }\r\n return {\r\n type: format,\r\n precision: precision\r\n }\r\n }\r\n return null\r\n};\r\nexport var roundValue = function(value, precision) {\r\n if (precision > 20) {\r\n precision = 20\r\n }\r\n if (isNumeric(value)) {\r\n if (isExponential(value)) {\r\n return _Number(value.toExponential(precision))\r\n } else {\r\n return _Number(value.toFixed(precision))\r\n }\r\n }\r\n};\r\nexport var getPower = function(value) {\r\n return value.toExponential().split(\"e\")[1]\r\n};\r\nexport function map(array, callback) {\r\n var i = 0;\r\n var len = array.length;\r\n var result = [];\r\n var value;\r\n while (i < len) {\r\n value = callback(array[i], i);\r\n if (null !== value) {\r\n result.push(value)\r\n }\r\n i++\r\n }\r\n return result\r\n}\r\n\r\nfunction selectByKeys(object, keys) {\r\n return map(keys, key => object[key] ? object[key] : null)\r\n}\r\n\r\nfunction decreaseFields(object, keys, eachDecrease, decrease) {\r\n var dec = decrease;\r\n each(keys, (_, key) => {\r\n if (object[key]) {\r\n object[key] -= eachDecrease;\r\n dec -= eachDecrease\r\n }\r\n });\r\n return dec\r\n}\r\nexport function normalizeEnum(value) {\r\n return String(value).toLowerCase()\r\n}\r\nexport function setCanvasValues(canvas) {\r\n if (canvas) {\r\n canvas.originalTop = canvas.top;\r\n canvas.originalBottom = canvas.bottom;\r\n canvas.originalLeft = canvas.left;\r\n canvas.originalRight = canvas.right\r\n }\r\n return canvas\r\n}\r\n\r\nfunction normalizeBBoxField(value) {\r\n return -MAX_PIXEL_COUNT < value && value < +MAX_PIXEL_COUNT ? value : 0\r\n}\r\nexport function normalizeBBox(bBox) {\r\n var xl = normalizeBBoxField(floor(bBox.x));\r\n var yt = normalizeBBoxField(floor(bBox.y));\r\n var xr = normalizeBBoxField(ceil(bBox.width + bBox.x));\r\n var yb = normalizeBBoxField(ceil(bBox.height + bBox.y));\r\n var result = {\r\n x: xl,\r\n y: yt,\r\n width: xr - xl,\r\n height: yb - yt\r\n };\r\n result.isEmpty = !result.x && !result.y && !result.width && !result.height;\r\n return result\r\n}\r\nexport function rotateBBox(bBox, center, angle) {\r\n var cos = _Number(_cos(angle * PI_DIV_180).toFixed(3));\r\n var sin = _Number(_sin(angle * PI_DIV_180).toFixed(3));\r\n var w2 = bBox.width / 2;\r\n var h2 = bBox.height / 2;\r\n var centerX = bBox.x + w2;\r\n var centerY = bBox.y + h2;\r\n var w2_ = abs(w2 * cos) + abs(h2 * sin);\r\n var h2_ = abs(w2 * sin) + abs(h2 * cos);\r\n var centerX_ = center[0] + (centerX - center[0]) * cos + (centerY - center[1]) * sin;\r\n var centerY_ = center[1] - (centerX - center[0]) * sin + (centerY - center[1]) * cos;\r\n return normalizeBBox({\r\n x: centerX_ - w2_,\r\n y: centerY_ - h2_,\r\n width: 2 * w2_,\r\n height: 2 * h2_\r\n })\r\n}\r\nexport var decreaseGaps = function(object, keys, decrease) {\r\n var arrayGaps;\r\n do {\r\n arrayGaps = selectByKeys(object, keys);\r\n arrayGaps.push(ceil(decrease / arrayGaps.length));\r\n decrease = decreaseFields(object, keys, _min.apply(null, arrayGaps), decrease)\r\n } while (decrease > 0 && arrayGaps.length > 1);\r\n return decrease\r\n};\r\nexport var parseScalar = function(value, defaultValue) {\r\n return void 0 !== value ? value : defaultValue\r\n};\r\nexport var enumParser = function(values) {\r\n var stored = {};\r\n var i;\r\n var ii;\r\n for (i = 0, ii = values.length; i < ii; ++i) {\r\n stored[normalizeEnum(values[i])] = 1\r\n }\r\n return function(value, defaultValue) {\r\n var _value = normalizeEnum(value);\r\n return stored[_value] ? _value : defaultValue\r\n }\r\n};\r\nexport var patchFontOptions = function(options) {\r\n var fontOptions = {};\r\n each(options || {}, (function(key, value) {\r\n if (/^(cursor)$/i.test(key)) {} else if (\"opacity\" === key) {\r\n value = null\r\n } else if (\"color\" === key) {\r\n key = \"fill\";\r\n if (\"opacity\" in options) {\r\n var color = new Color(value);\r\n value = \"rgba(\".concat(color.r, \",\").concat(color.g, \",\").concat(color.b, \",\").concat(options.opacity, \")\")\r\n }\r\n } else {\r\n key = \"font-\" + key\r\n }\r\n fontOptions[key] = value\r\n }));\r\n return fontOptions\r\n};\r\nexport function convertPolarToXY(centerCoords, startAngle, angle, radius) {\r\n var normalizedRadius = radius > 0 ? radius : 0;\r\n angle = isDefined(angle) ? angle + startAngle - 90 : 0;\r\n var cosSin = getCosAndSin(angle);\r\n return {\r\n x: _round(centerCoords.x + normalizedRadius * cosSin.cos),\r\n y: _round(centerCoords.y + normalizedRadius * cosSin.sin)\r\n }\r\n}\r\nexport var convertXYToPolar = function(centerCoords, x, y) {\r\n var radius = getDistance(centerCoords.x, centerCoords.y, x, y);\r\n var angle = atan2(y - centerCoords.y, x - centerCoords.x);\r\n return {\r\n phi: _round(normalizeAngle(180 * angle / PI)),\r\n r: _round(radius)\r\n }\r\n};\r\nexport var processSeriesTemplate = function(seriesTemplate, items) {\r\n var customizeSeries = isFunction(seriesTemplate.customizeSeries) ? seriesTemplate.customizeSeries : noop;\r\n var nameField = seriesTemplate.nameField;\r\n var generatedSeries = {};\r\n var seriesOrder = [];\r\n var series;\r\n var i = 0;\r\n var length;\r\n var data;\r\n items = items || [];\r\n for (length = items.length; i < length; i++) {\r\n data = items[i];\r\n if (nameField in data) {\r\n series = generatedSeries[data[nameField]];\r\n if (!series) {\r\n series = generatedSeries[data[nameField]] = {\r\n name: data[nameField],\r\n nameFieldValue: data[nameField]\r\n };\r\n seriesOrder.push(series.name)\r\n }\r\n }\r\n }\r\n return map(seriesOrder, (function(orderedName) {\r\n var group = generatedSeries[orderedName];\r\n return extend(group, customizeSeries.call(null, group.name))\r\n }))\r\n};\r\nexport var getCategoriesInfo = function(categories, startValue, endValue) {\r\n if (0 === categories.length) {\r\n return {\r\n categories: []\r\n }\r\n }\r\n startValue = isDefined(startValue) ? startValue : categories[0];\r\n endValue = isDefined(endValue) ? endValue : categories[categories.length - 1];\r\n var categoriesValue = map(categories, category => null === category || void 0 === category ? void 0 : category.valueOf());\r\n var indexStartValue = categoriesValue.indexOf(startValue.valueOf());\r\n var indexEndValue = categoriesValue.indexOf(endValue.valueOf());\r\n var swapBuf;\r\n var inverted = false;\r\n indexStartValue < 0 && (indexStartValue = 0);\r\n indexEndValue < 0 && (indexEndValue = categories.length - 1);\r\n if (indexEndValue < indexStartValue) {\r\n swapBuf = indexEndValue;\r\n indexEndValue = indexStartValue;\r\n indexStartValue = swapBuf;\r\n inverted = true\r\n }\r\n var visibleCategories = categories.slice(indexStartValue, indexEndValue + 1);\r\n var lastIdx = visibleCategories.length - 1;\r\n return {\r\n categories: visibleCategories,\r\n start: visibleCategories[inverted ? lastIdx : 0],\r\n end: visibleCategories[inverted ? 0 : lastIdx],\r\n inverted: inverted\r\n }\r\n};\r\nexport function isRelativeHeightPane(pane) {\r\n return !(pane.unit % 2)\r\n}\r\nexport function normalizePanesHeight(panes) {\r\n panes.forEach(pane => {\r\n var height = pane.height;\r\n var unit = 0;\r\n var parsedHeight = parseFloat(height) || void 0;\r\n if (isString(height) && height.indexOf(\"px\") > -1 || isNumeric(height) && height > 1) {\r\n parsedHeight = _round(parsedHeight);\r\n unit = 1\r\n }\r\n if (!unit && parsedHeight) {\r\n if (isString(height) && height.indexOf(\"%\") > -1) {\r\n parsedHeight /= 100;\r\n unit = 2\r\n } else if (parsedHeight < 0) {\r\n parsedHeight = parsedHeight < -1 ? 1 : abs(parsedHeight)\r\n }\r\n }\r\n pane.height = parsedHeight;\r\n pane.unit = unit\r\n });\r\n var relativeHeightPanes = panes.filter(isRelativeHeightPane);\r\n var weightSum = relativeHeightPanes.reduce((prev, next) => prev + (next.height || 0), 0);\r\n var weightHeightCount = relativeHeightPanes.length;\r\n var emptyHeightPanes = relativeHeightPanes.filter(pane => !pane.height);\r\n var emptyHeightCount = emptyHeightPanes.length;\r\n if (weightSum < 1 && emptyHeightCount) {\r\n emptyHeightPanes.forEach(pane => pane.height = (1 - weightSum) / emptyHeightCount)\r\n } else if (weightSum > 1 || weightSum < 1 && !emptyHeightCount || 1 === weightSum && emptyHeightCount) {\r\n if (emptyHeightCount) {\r\n var weightForEmpty = weightSum / weightHeightCount;\r\n var emptyWeightSum = emptyHeightCount * weightForEmpty;\r\n relativeHeightPanes.filter(pane => pane.height).forEach(pane => pane.height *= (weightSum - emptyWeightSum) / weightSum);\r\n emptyHeightPanes.forEach(pane => pane.height = weightForEmpty)\r\n }\r\n relativeHeightPanes.forEach(pane => pane.height *= 1 / weightSum)\r\n }\r\n}\r\nexport function updatePanesCanvases(panes, canvas, rotated) {\r\n var distributedSpace = 0;\r\n var padding = PANE_PADDING;\r\n var paneSpace = rotated ? canvas.width - canvas.left - canvas.right : canvas.height - canvas.top - canvas.bottom;\r\n var totalCustomSpace = panes.reduce((prev, cur) => prev + (!isRelativeHeightPane(cur) ? cur.height : 0), 0);\r\n var usefulSpace = paneSpace - padding * (panes.length - 1) - totalCustomSpace;\r\n var startName = rotated ? \"left\" : \"top\";\r\n var endName = rotated ? \"right\" : \"bottom\";\r\n panes.forEach(pane => {\r\n var calcLength = !isRelativeHeightPane(pane) ? pane.height : _round(pane.height * usefulSpace);\r\n pane.canvas = pane.canvas || {};\r\n extend(pane.canvas, canvas);\r\n pane.canvas[startName] = canvas[startName] + distributedSpace;\r\n pane.canvas[endName] = canvas[endName] + (paneSpace - calcLength - distributedSpace);\r\n distributedSpace = distributedSpace + calcLength + padding;\r\n setCanvasValues(pane.canvas)\r\n })\r\n}\r\nexport var unique = function(array) {\r\n var values = {};\r\n return map(array, (function(item) {\r\n var result = !values[item] ? item : null;\r\n values[item] = true;\r\n return result\r\n }))\r\n};\r\nexport var getVerticallyShiftedAngularCoords = function(bBox, dy, center) {\r\n var isPositive = bBox.x + bBox.width / 2 >= center.x;\r\n var horizontalOffset1 = (isPositive ? bBox.x : bBox.x + bBox.width) - center.x;\r\n var verticalOffset1 = bBox.y - center.y;\r\n var verticalOffset2 = verticalOffset1 + dy;\r\n var horizontalOffset2 = _round(sqrt(horizontalOffset1 * horizontalOffset1 + verticalOffset1 * verticalOffset1 - verticalOffset2 * verticalOffset2));\r\n var dx = (isPositive ? +horizontalOffset2 : -horizontalOffset2) || horizontalOffset1;\r\n return {\r\n x: center.x + (isPositive ? dx : dx - bBox.width),\r\n y: bBox.y + dy\r\n }\r\n};\r\nexport function mergeMarginOptions(opt1, opt2) {\r\n return {\r\n checkInterval: opt1.checkInterval || opt2.checkInterval,\r\n size: _max(opt1.size || 0, opt2.size || 0),\r\n percentStick: opt1.percentStick || opt2.percentStick,\r\n sizePointNormalState: _max(opt1.sizePointNormalState || 0, opt2.sizePointNormalState || 0)\r\n }\r\n}\r\nexport function getVizRangeObject(value) {\r\n if (Array.isArray(value)) {\r\n return {\r\n startValue: value[0],\r\n endValue: value[1]\r\n }\r\n } else {\r\n return value || {}\r\n }\r\n}\r\nexport function convertVisualRangeObject(visualRange, convertToVisualRange) {\r\n if (convertToVisualRange) {\r\n return visualRange\r\n }\r\n return [visualRange.startValue, visualRange.endValue]\r\n}\r\nexport function getAddFunction(range, correctZeroLevel) {\r\n if (\"datetime\" === range.dataType) {\r\n return function(rangeValue, marginValue) {\r\n var sign = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1;\r\n return new Date(rangeValue.getTime() + sign * marginValue)\r\n }\r\n }\r\n if (\"logarithmic\" === range.axisType) {\r\n return function(rangeValue, marginValue) {\r\n var sign = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1;\r\n var log = getLogExt(rangeValue, range.base) + sign * marginValue;\r\n return raiseToExt(log, range.base)\r\n }\r\n }\r\n return function(rangeValue, marginValue) {\r\n var sign = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1;\r\n var newValue = rangeValue + sign * marginValue;\r\n return correctZeroLevel && newValue * rangeValue <= 0 ? 0 : newValue\r\n }\r\n}\r\nexport function adjustVisualRange(options, visualRange, wholeRange, dataRange) {\r\n var minDefined = isDefined(visualRange.startValue);\r\n var maxDefined = isDefined(visualRange.endValue);\r\n var nonDiscrete = \"discrete\" !== options.axisType;\r\n dataRange = dataRange || wholeRange;\r\n var add = getAddFunction(options, false);\r\n var min = minDefined ? visualRange.startValue : dataRange.min;\r\n var max = maxDefined ? visualRange.endValue : dataRange.max;\r\n var rangeLength = visualRange.length;\r\n var categories = dataRange.categories;\r\n if (nonDiscrete && !isDefined(min) && !isDefined(max)) {\r\n return {\r\n startValue: min,\r\n endValue: max\r\n }\r\n }\r\n if (isDefined(rangeLength)) {\r\n if (nonDiscrete) {\r\n if (\"datetime\" === options.dataType && !isNumeric(rangeLength)) {\r\n rangeLength = dateToMilliseconds(rangeLength)\r\n }\r\n if (maxDefined && !minDefined || !maxDefined && !minDefined) {\r\n isDefined(wholeRange.max) && (max = max > wholeRange.max ? wholeRange.max : max);\r\n min = add(max, rangeLength, -1)\r\n } else if (minDefined && !maxDefined) {\r\n isDefined(wholeRange.min) && (min = min < wholeRange.min ? wholeRange.min : min);\r\n max = add(min, rangeLength)\r\n }\r\n } else {\r\n rangeLength = parseInt(rangeLength);\r\n if (!isNaN(rangeLength) && isFinite(rangeLength)) {\r\n rangeLength--;\r\n if (!maxDefined && !minDefined) {\r\n max = categories[categories.length - 1];\r\n min = categories[categories.length - 1 - rangeLength]\r\n } else if (minDefined && !maxDefined) {\r\n var categoriesInfo = getCategoriesInfo(categories, min, void 0);\r\n max = categoriesInfo.categories[rangeLength]\r\n } else if (!minDefined && maxDefined) {\r\n var _categoriesInfo = getCategoriesInfo(categories, void 0, max);\r\n min = _categoriesInfo.categories[_categoriesInfo.categories.length - 1 - rangeLength]\r\n }\r\n }\r\n }\r\n }\r\n if (nonDiscrete) {\r\n if (isDefined(wholeRange.max) && max > wholeRange.max) {\r\n max = wholeRange.max\r\n }\r\n if (isDefined(wholeRange.min) && min < wholeRange.min) {\r\n min = wholeRange.min\r\n }\r\n }\r\n return {\r\n startValue: min,\r\n endValue: max\r\n }\r\n}\r\nexport function getLogExt(value, base) {\r\n var allowNegatives = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false;\r\n var linearThreshold = arguments.length > 3 ? arguments[3] : void 0;\r\n if (!allowNegatives) {\r\n return getLog(value, base)\r\n }\r\n if (0 === value) {\r\n return 0\r\n }\r\n var transformValue = getLog(abs(value), base) - (linearThreshold - 1);\r\n if (transformValue < 0) {\r\n return 0\r\n }\r\n return adjust(sign(value) * transformValue, Number(pow(base, linearThreshold - 1).toFixed(abs(linearThreshold))))\r\n}\r\nexport function raiseToExt(value, base) {\r\n var allowNegatives = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false;\r\n var linearThreshold = arguments.length > 3 ? arguments[3] : void 0;\r\n if (!allowNegatives) {\r\n return raiseTo(value, base)\r\n }\r\n if (0 === value) {\r\n return 0\r\n }\r\n var transformValue = raiseTo(abs(value) + (linearThreshold - 1), base);\r\n if (transformValue < 0) {\r\n return 0\r\n }\r\n return adjust(sign(value) * transformValue, Number(pow(base, linearThreshold).toFixed(abs(linearThreshold))))\r\n}\r\nexport function rangesAreEqual(range, rangeFromOptions) {\r\n if (Array.isArray(rangeFromOptions)) {\r\n return range.length === rangeFromOptions.length && range.every((item, i) => valueOf(item) === valueOf(rangeFromOptions[i]))\r\n } else {\r\n return valueOf(range.startValue) === valueOf(rangeFromOptions.startValue) && valueOf(range.endValue) === valueOf(rangeFromOptions.endValue)\r\n }\r\n}\r\nexport function valueOf(value) {\r\n return value && value.valueOf()\r\n}\r\nexport function pointInCanvas(canvas, x, y) {\r\n return x >= canvas.left && x <= canvas.right && y >= canvas.top && y <= canvas.bottom\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/funnel/tiling.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n normalizeEnum as _normalizeEnum\r\n} from \"../core/utils\";\r\nvar algorithms = {};\r\nvar defaultAlgorithm;\r\nexport function getAlgorithm(name) {\r\n return algorithms[_normalizeEnum(name)] || defaultAlgorithm\r\n}\r\nexport function addAlgorithm(name, callback, setDefault) {\r\n algorithms[name] = callback;\r\n if (setDefault) {\r\n defaultAlgorithm = algorithms[name]\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/funnel/tiling.funnel.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar CENTER = .5;\r\nexport default {\r\n getFigures: function(data) {\r\n var height = 1 / data.length;\r\n return data.map((function(value, index, array) {\r\n var nextValue = array[index + 1] ? array[index + 1] : array[index];\r\n return [CENTER - value / 2, height * index, CENTER + value / 2, height * index, CENTER + nextValue / 2, height * (index + 1), CENTER - nextValue / 2, height * (index + 1)]\r\n }))\r\n },\r\n normalizeValues: function(items) {\r\n var max = items.reduce((function(max, item) {\r\n return Math.max(item.value, max)\r\n }), items[0] && items[0].value || 0);\r\n return items.map((function(item) {\r\n return item.value / max\r\n }))\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/funnel/tiling.pyramid.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar CENTER = .5;\r\nvar LEFTCORNER = 0;\r\nvar RIGHTCORNER = 1;\r\nexport default {\r\n getFigures: function(data, neckWidth, neckHeight) {\r\n var height = 0;\r\n var y = 0;\r\n var x = 0;\r\n var offsetX = 0;\r\n var halfNeckWidth = neckWidth / 2;\r\n var offsetFromCorner = CENTER - halfNeckWidth;\r\n var funnelHeight = 1 - neckHeight;\r\n var neckLeftCorner = CENTER - halfNeckWidth;\r\n var neckRightCorner = CENTER + halfNeckWidth;\r\n return data.map((function(value) {\r\n x = offsetX;\r\n y = height;\r\n height += value;\r\n offsetX = offsetFromCorner * height / funnelHeight;\r\n if (y <= funnelHeight && height <= funnelHeight) {\r\n return [x, y, RIGHTCORNER - x, y, RIGHTCORNER - offsetX, height, LEFTCORNER + offsetX, height]\r\n } else if (y <= funnelHeight && height > funnelHeight) {\r\n return [x, y, RIGHTCORNER - x, y, neckRightCorner, funnelHeight, neckRightCorner, height, neckLeftCorner, height, neckLeftCorner, funnelHeight]\r\n } else {\r\n return [neckLeftCorner, y, neckRightCorner, y, neckRightCorner, height, neckLeftCorner, height]\r\n }\r\n }))\r\n },\r\n normalizeValues: function(items) {\r\n var sum = items.reduce((function(sum, item) {\r\n return sum + item.value\r\n }), 0);\r\n return items.map((function(item) {\r\n return item.value / sum\r\n }))\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/funnel/item.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar states = [\"normal\", \"hover\", \"selection\", \"selection\"];\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\n\r\nfunction parseStyles(color, style, baseStyle) {\r\n var border = style.border;\r\n var baseBorder = baseStyle.border;\r\n var borderVisible = isDefined(border.visible) ? border.visible : baseBorder.visible;\r\n var borderWidth = isDefined(border.width) ? border.width : baseBorder.width;\r\n return {\r\n fill: color,\r\n hatching: style.hatching,\r\n stroke: border.color || baseBorder.color,\r\n \"stroke-width\": borderVisible ? borderWidth : 0\r\n }\r\n}\r\n\r\nfunction Item(widget, options) {\r\n var data = options.data;\r\n this.code = 0;\r\n this.widget = widget;\r\n this.figure = options.figure;\r\n this.argument = data.argument;\r\n this.value = data.value;\r\n this.data = data.dataItem;\r\n this.percent = options.percent;\r\n this.id = options.id;\r\n this.color = options.color;\r\n this.states = {\r\n normal: parseStyles(options.color, options.itemOptions, options.itemOptions),\r\n hover: parseStyles(options.color, options.itemOptions.hoverStyle, options.itemOptions),\r\n selection: parseStyles(options.color, options.itemOptions.selectionStyle, options.itemOptions)\r\n }\r\n}\r\nItem.prototype = {\r\n getState: function() {\r\n return states[this.code]\r\n },\r\n getNormalStyle: function() {\r\n return this.states.normal\r\n },\r\n setHover: function() {\r\n this.hover(true)\r\n },\r\n hover: function(state) {\r\n if (!this.widget._getOption(\"hoverEnabled\", true) || state === this.isHovered()) {\r\n return\r\n }\r\n this.widget._suspend();\r\n state && this.widget.clearHover();\r\n this.setState(1, state);\r\n this.widget._eventTrigger(\"hoverChanged\", {\r\n item: this\r\n });\r\n this.widget._resume()\r\n },\r\n setState: function(code, state) {\r\n if (state) {\r\n this.code |= code\r\n } else {\r\n this.code &= ~code\r\n }\r\n this.widget._applyTilesAppearance()\r\n },\r\n select: function(state) {\r\n var mode = this.widget._getOption(\"selectionMode\", true);\r\n if (\"none\" === mode || state === this.isSelected()) {\r\n return\r\n }\r\n this.widget._suspend();\r\n if (state && \"multiple\" !== mode) {\r\n this.widget.clearSelection()\r\n }\r\n this.setState(2, state);\r\n this.widget._eventTrigger(\"selectionChanged\", {\r\n item: this\r\n });\r\n this.widget._resume()\r\n },\r\n showTooltip: function(coords) {\r\n this.widget._showTooltip(this.id, coords)\r\n },\r\n getColor: function() {\r\n return this.color\r\n },\r\n isHovered: function() {\r\n return !!(1 & this.code)\r\n },\r\n isSelected: function() {\r\n return !!(2 & this.code)\r\n }\r\n};\r\nexport default Item;\r\n","/**\r\n * DevExtreme (esm/viz/funnel/funnel.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n addAlgorithm,\r\n getAlgorithm\r\n} from \"./tiling\";\r\nimport dynamicSlope from \"./tiling.funnel\";\r\nimport dynamicHeight from \"./tiling.pyramid\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport baseWidget from \"../../__internal/viz/core/m_base_widget\";\r\nimport componentRegistrator from \"../../core/component_registrator\";\r\nimport Item from \"./item\";\r\nvar NODES_CREATE_CHANGE = \"NODES_CREATE\";\r\naddAlgorithm(\"dynamicslope\", dynamicSlope, true);\r\naddAlgorithm(\"dynamicheight\", dynamicHeight);\r\n\r\nfunction invertFigure(figure) {\r\n return figure.map((function(coord, index) {\r\n return index % 2 ? 1 - coord : coord\r\n }))\r\n}\r\n\r\nfunction getLegendItemState(itemState) {\r\n return {\r\n fill: itemState.fill,\r\n hatching: itemState.hatching\r\n }\r\n}\r\nvar dxFunnel = baseWidget.inherit({\r\n _rootClass: \"dxf-funnel\",\r\n _rootClassPrefix: \"dxf\",\r\n _proxyData: [],\r\n _optionChangesMap: {\r\n dataSource: \"DATA_SOURCE\",\r\n neckWidth: NODES_CREATE_CHANGE,\r\n neckHeight: NODES_CREATE_CHANGE,\r\n inverted: NODES_CREATE_CHANGE,\r\n algorithm: NODES_CREATE_CHANGE,\r\n item: NODES_CREATE_CHANGE,\r\n valueField: NODES_CREATE_CHANGE,\r\n argumentField: NODES_CREATE_CHANGE,\r\n colorField: NODES_CREATE_CHANGE,\r\n palette: NODES_CREATE_CHANGE,\r\n paletteExtensionMode: NODES_CREATE_CHANGE,\r\n sortData: NODES_CREATE_CHANGE\r\n },\r\n _themeDependentChanges: [NODES_CREATE_CHANGE],\r\n _getDefaultSize: function() {\r\n return {\r\n width: 400,\r\n height: 400\r\n }\r\n },\r\n _themeSection: \"funnel\",\r\n _fontFields: [\"legend.title.font\", \"legend.title.subtitle.font\", \"legend.font\"],\r\n _optionChangesOrder: [\"DATA_SOURCE\"],\r\n _initialChanges: [\"DATA_SOURCE\"],\r\n _initCore: function() {\r\n this._group = this._renderer.g().append(this._renderer.root);\r\n this._items = []\r\n },\r\n _eventsMap: {\r\n onHoverChanged: {\r\n name: \"hoverChanged\"\r\n },\r\n onSelectionChanged: {\r\n name: \"selectionChanged\"\r\n }\r\n },\r\n _disposeCore: noop,\r\n _applySize: function(rect) {\r\n this._rect = rect.slice();\r\n this._change([\"TILING\"]);\r\n return this._rect\r\n },\r\n _getAlignmentRect: function() {\r\n return this._rect\r\n },\r\n _change_TILING: function() {\r\n var that = this;\r\n var items = that._items;\r\n var rect = that._rect;\r\n var convertCoord = function(coord, index) {\r\n var offset = index % 2;\r\n return rect[0 + offset] + (rect[2 + offset] - rect[0 + offset]) * coord\r\n };\r\n this._group.clear();\r\n items.forEach((function(item, index) {\r\n var coords = item.figure.map(convertCoord);\r\n var element = that._renderer.path([], \"area\").attr({\r\n points: coords\r\n }).append(that._group);\r\n item.coords = coords;\r\n item.element = element\r\n }));\r\n this._requestChange([\"TILES\"])\r\n },\r\n _customChangesOrder: [NODES_CREATE_CHANGE, \"LAYOUT\", \"TILING\", \"TILES\", \"DRAWN\"],\r\n _dataSourceChangedHandler: function() {\r\n this._requestChange([NODES_CREATE_CHANGE])\r\n },\r\n _change_DRAWN: function() {\r\n this._drawn()\r\n },\r\n _change_DATA_SOURCE: function() {\r\n this._change([\"DRAWN\"]);\r\n this._updateDataSource()\r\n },\r\n _change_NODES_CREATE: function() {\r\n this._buildNodes()\r\n },\r\n _change_TILES: function() {\r\n this._applyTilesAppearance()\r\n },\r\n _suspend: function() {\r\n if (!this._applyingChanges) {\r\n this._suspendChanges()\r\n }\r\n },\r\n _resume: function() {\r\n if (!this._applyingChanges) {\r\n this._resumeChanges()\r\n }\r\n },\r\n _applyTilesAppearance: function() {\r\n this._items.forEach((function(item) {\r\n var state = item.getState();\r\n item.element.smartAttr(item.states[state])\r\n }))\r\n },\r\n _hitTestTargets: function(x, y) {\r\n var that = this;\r\n var data;\r\n this._proxyData.some((function(callback) {\r\n data = callback.call(that, x, y);\r\n if (data) {\r\n return true\r\n }\r\n }));\r\n return data\r\n },\r\n clearHover: function() {\r\n this._suspend();\r\n this._items.forEach((function(item) {\r\n item.isHovered() && item.hover(false)\r\n }));\r\n this._resume()\r\n },\r\n clearSelection: function() {\r\n this._suspend();\r\n this._items.forEach((function(item) {\r\n item.isSelected() && item.select(false)\r\n }));\r\n this._resume()\r\n },\r\n _getData: function() {\r\n var data = this._dataSourceItems() || [];\r\n var valueField = this._getOption(\"valueField\", true);\r\n var argumentField = this._getOption(\"argumentField\", true);\r\n var colorField = this._getOption(\"colorField\", true);\r\n var processedData = data.reduce((function(d, item) {\r\n var value = Number(item[valueField]);\r\n if (value >= 0) {\r\n d[0].push({\r\n value: value,\r\n color: item[colorField],\r\n argument: item[argumentField],\r\n dataItem: item\r\n });\r\n d[1] += value\r\n }\r\n return d\r\n }), [\r\n [], 0\r\n ]);\r\n var items = processedData[0];\r\n if (data.length > 0 && 0 === items.length) {\r\n this._incidentOccurred(\"E2005\", valueField)\r\n }\r\n if (!processedData[1]) {\r\n return []\r\n }\r\n if (this._getOption(\"sortData\", true)) {\r\n items.sort((function(a, b) {\r\n return b.value - a.value\r\n }))\r\n }\r\n return items\r\n },\r\n _buildNodes: function() {\r\n var that = this;\r\n var data = that._getData();\r\n var algorithm = getAlgorithm(that._getOption(\"algorithm\", true));\r\n var percents = algorithm.normalizeValues(data);\r\n var itemOptions = that._getOption(\"item\");\r\n var figures = algorithm.getFigures(percents, that._getOption(\"neckWidth\", true), that._getOption(\"neckHeight\", true));\r\n var palette = that._themeManager.createPalette(that._getOption(\"palette\", true), {\r\n useHighlight: true,\r\n extensionMode: that._getOption(\"paletteExtensionMode\", true),\r\n count: figures.length\r\n });\r\n that._items = figures.map((function(figure, index) {\r\n var curData = data[index];\r\n var node = new Item(that, {\r\n figure: figure,\r\n data: curData,\r\n percent: percents[index],\r\n id: index,\r\n color: curData.color || palette.getNextColor(),\r\n itemOptions: itemOptions\r\n });\r\n return node\r\n }));\r\n if (that._getOption(\"inverted\", true)) {\r\n that._items.forEach((function(item) {\r\n item.figure = invertFigure(item.figure)\r\n }))\r\n }\r\n that._renderer.initHatching();\r\n that._change([\"TILING\", \"DRAWN\"])\r\n },\r\n _showTooltip: noop,\r\n hideTooltip: noop,\r\n getAllItems: function() {\r\n return this._items.slice()\r\n },\r\n _getLegendData() {\r\n return this._items.map(item => {\r\n var states = item.states;\r\n return {\r\n id: item.id,\r\n visible: true,\r\n text: item.argument,\r\n item: item,\r\n states: {\r\n normal: getLegendItemState(states.normal),\r\n hover: getLegendItemState(states.hover),\r\n selection: getLegendItemState(states.selection)\r\n }\r\n }\r\n })\r\n },\r\n _getMinSize: function() {\r\n var adaptiveLayout = this._getOption(\"adaptiveLayout\");\r\n return [adaptiveLayout.width, adaptiveLayout.height]\r\n }\r\n});\r\ncomponentRegistrator(\"dxFunnel\", dxFunnel);\r\nexport default dxFunnel;\r\nimport {\r\n plugin\r\n} from \"../core/data_source\";\r\ndxFunnel.addPlugin(plugin);\r\n","/**\r\n * DevExtreme (esm/viz/funnel/label.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n Label\r\n} from \"../series/points/label\";\r\nimport {\r\n normalizeEnum\r\n} from \"../core/utils\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar OUTSIDE_POSITION = \"outside\";\r\nvar INSIDE_POSITION = \"inside\";\r\nvar OUTSIDE_LABEL_INDENT = 5;\r\nvar COLUMNS_LABEL_INDENT = 20;\r\nvar CONNECTOR_INDENT = 4;\r\nvar PREVENT_EMPTY_PIXEL_OFFSET = 1;\r\n\r\nfunction getLabelIndent(pos) {\r\n pos = normalizeEnum(pos);\r\n if (pos === OUTSIDE_POSITION) {\r\n return OUTSIDE_LABEL_INDENT\r\n } else if (pos === INSIDE_POSITION) {\r\n return 0\r\n }\r\n return COLUMNS_LABEL_INDENT\r\n}\r\n\r\nfunction isOutsidePosition(pos) {\r\n pos = normalizeEnum(pos);\r\n return pos === OUTSIDE_POSITION || pos !== INSIDE_POSITION\r\n}\r\n\r\nfunction correctYForInverted(y, bBox, inverted) {\r\n return inverted ? y - bBox.height : y\r\n}\r\n\r\nfunction getOutsideRightLabelPosition(coords, bBox, options, inverted) {\r\n return {\r\n x: coords[2] + options.horizontalOffset + OUTSIDE_LABEL_INDENT,\r\n y: correctYForInverted(coords[3] + options.verticalOffset, bBox, inverted)\r\n }\r\n}\r\n\r\nfunction getOutsideLeftLabelPosition(coords, bBox, options, inverted) {\r\n return {\r\n x: coords[0] - bBox.width - options.horizontalOffset - OUTSIDE_LABEL_INDENT,\r\n y: correctYForInverted(coords[1] + options.verticalOffset, bBox, inverted)\r\n }\r\n}\r\n\r\nfunction getInsideLabelPosition(coords, bBox, options) {\r\n var width = coords[2] - coords[0];\r\n var height = coords[7] - coords[1];\r\n return {\r\n x: coords[0] + width / 2 + options.horizontalOffset - bBox.width / 2,\r\n y: coords[1] + options.verticalOffset + height / 2 - bBox.height / 2\r\n }\r\n}\r\n\r\nfunction getColumnLabelRightPosition(labelRect, rect, textAlignment) {\r\n return function(coords, bBox, options, inverted) {\r\n return {\r\n x: \"left\" === textAlignment ? rect[2] + options.horizontalOffset + COLUMNS_LABEL_INDENT : labelRect[2] - bBox.width,\r\n y: correctYForInverted(coords[3] + options.verticalOffset, bBox, inverted)\r\n }\r\n }\r\n}\r\n\r\nfunction getColumnLabelLeftPosition(labelRect, rect, textAlignment) {\r\n return function(coords, bBox, options, inverted) {\r\n return {\r\n x: \"left\" === textAlignment ? labelRect[0] : rect[0] - bBox.width - options.horizontalOffset - COLUMNS_LABEL_INDENT,\r\n y: correctYForInverted(coords[3] + options.verticalOffset, bBox, inverted)\r\n }\r\n }\r\n}\r\n\r\nfunction getConnectorStrategy(options, inverted) {\r\n var isLeftPos = \"left\" === options.horizontalAlignment;\r\n var connectorIndent = isLeftPos ? CONNECTOR_INDENT : -CONNECTOR_INDENT;\r\n var verticalCorrection = inverted ? -PREVENT_EMPTY_PIXEL_OFFSET : 0;\r\n\r\n function getFigureCenter(figure) {\r\n return isLeftPos ? [figure[0] + PREVENT_EMPTY_PIXEL_OFFSET, figure[1] + verticalCorrection] : [figure[2] - PREVENT_EMPTY_PIXEL_OFFSET, figure[3] + verticalCorrection]\r\n }\r\n return {\r\n isLabelInside: function() {\r\n return !isOutsidePosition(options.position)\r\n },\r\n getFigureCenter: getFigureCenter,\r\n prepareLabelPoints: function(bBox) {\r\n var x = bBox.x + connectorIndent;\r\n var y = bBox.y;\r\n var x1 = x + bBox.width;\r\n return [...Array(bBox.height + 1)].map((_, i) => [x, y + i]).concat([...Array(bBox.height + 1)].map((_, i) => [x1, y + i]))\r\n },\r\n isHorizontal: function() {\r\n return true\r\n },\r\n findFigurePoint: function(figure) {\r\n return getFigureCenter(figure)\r\n },\r\n adjustPoints: function(points) {\r\n return points.map(Math.round)\r\n }\r\n }\r\n}\r\n\r\nfunction getLabelOptions(labelOptions, defaultColor, defaultTextAlignment) {\r\n var opt = labelOptions || {};\r\n var labelFont = extend({}, opt.font) || {};\r\n var labelBorder = opt.border || {};\r\n var labelConnector = opt.connector || {};\r\n var backgroundAttr = {\r\n fill: opt.backgroundColor || defaultColor,\r\n \"stroke-width\": labelBorder.visible ? labelBorder.width || 0 : 0,\r\n stroke: labelBorder.visible && labelBorder.width ? labelBorder.color : \"none\",\r\n dashStyle: labelBorder.dashStyle\r\n };\r\n var connectorAttr = {\r\n stroke: labelConnector.visible && labelConnector.width ? labelConnector.color || defaultColor : \"none\",\r\n \"stroke-width\": labelConnector.visible ? labelConnector.width || 0 : 0,\r\n opacity: labelConnector.opacity\r\n };\r\n labelFont.color = \"none\" === opt.backgroundColor && \"#ffffff\" === normalizeEnum(labelFont.color) && \"inside\" !== opt.position ? defaultColor : labelFont.color;\r\n return {\r\n format: opt.format,\r\n textAlignment: opt.textAlignment || (isOutsidePosition(opt.position) ? defaultTextAlignment : \"center\"),\r\n customizeText: opt.customizeText,\r\n attributes: {\r\n font: labelFont\r\n },\r\n visible: 0 !== labelFont.size ? opt.visible : false,\r\n showForZeroValues: opt.showForZeroValues,\r\n horizontalOffset: opt.horizontalOffset,\r\n verticalOffset: opt.verticalOffset,\r\n background: backgroundAttr,\r\n connector: connectorAttr,\r\n wordWrap: labelOptions.wordWrap,\r\n textOverflow: labelOptions.textOverflow\r\n }\r\n}\r\n\r\nfunction correctLabelPosition(pos, bBox, rect) {\r\n if (pos.x < rect[0]) {\r\n pos.x = rect[0]\r\n }\r\n if (pos.x + bBox.width > rect[2]) {\r\n pos.x = rect[2] - bBox.width\r\n }\r\n if (pos.y < rect[1]) {\r\n pos.y = rect[1]\r\n }\r\n if (pos.y + bBox.height > rect[3]) {\r\n pos.y = rect[3] - bBox.height\r\n }\r\n return pos\r\n}\r\n\r\nfunction removeEmptySpace(labels, requiredSpace, startPoint) {\r\n labels.reduce((requiredSpace, label, index, labels) => {\r\n var prevLabel = labels[index + 1];\r\n if (requiredSpace > 0) {\r\n var bBox = label.getBoundingRect();\r\n var point = prevLabel ? prevLabel.getBoundingRect().y + prevLabel.getBoundingRect().height : startPoint;\r\n var emptySpace = bBox.y - point;\r\n var shift = Math.min(emptySpace, requiredSpace);\r\n labels.slice(0, index + 1).forEach(label => {\r\n var bBox = label.getBoundingRect();\r\n label.shift(bBox.x, bBox.y - shift)\r\n });\r\n requiredSpace -= shift\r\n }\r\n return requiredSpace\r\n }, requiredSpace)\r\n}\r\nexport var plugin = {\r\n name: \"lables\",\r\n init: noop,\r\n dispose: noop,\r\n extenders: {\r\n _initCore: function() {\r\n this._labelsGroup = this._renderer.g().attr({\r\n class: this._rootClassPrefix + \"-labels\"\r\n }).append(this._renderer.root);\r\n this._labels = []\r\n },\r\n _applySize: function() {\r\n var options = this._getOption(\"label\");\r\n var adaptiveLayout = this._getOption(\"adaptiveLayout\");\r\n var rect = this._rect;\r\n var labelWidth = 0;\r\n var width = rect[2] - rect[0];\r\n this._labelRect = rect.slice();\r\n if (!this._labels.length || !isOutsidePosition(options.position)) {\r\n if (normalizeEnum(\"none\" !== this._getOption(\"resolveLabelOverlapping\", true))) {\r\n this._labels.forEach(l => !l.isVisible() && l.draw(true))\r\n }\r\n return\r\n }\r\n var groupWidth = this._labels.map((function(label) {\r\n label.resetEllipsis();\r\n return label.getBoundingRect().width\r\n })).reduce((function(max, width) {\r\n return Math.max(max, width)\r\n }), 0);\r\n labelWidth = groupWidth + options.horizontalOffset + getLabelIndent(options.position);\r\n if (!adaptiveLayout.keepLabels && width - labelWidth < adaptiveLayout.width) {\r\n this._labels.forEach((function(label) {\r\n label.draw(false)\r\n }));\r\n return\r\n } else {\r\n if (width - labelWidth < adaptiveLayout.width) {\r\n labelWidth = width - adaptiveLayout.width;\r\n labelWidth = labelWidth > 0 ? labelWidth : 0\r\n }\r\n this._labels.forEach((function(label) {\r\n label.draw(true)\r\n }))\r\n }\r\n if (\"left\" === options.horizontalAlignment) {\r\n rect[0] += labelWidth\r\n } else {\r\n rect[2] -= labelWidth\r\n }\r\n },\r\n _buildNodes: function() {\r\n this._createLabels()\r\n },\r\n _change_TILING: function() {\r\n var that = this;\r\n var options = that._getOption(\"label\");\r\n var getCoords = getInsideLabelPosition;\r\n var inverted = that._getOption(\"inverted\", true);\r\n var textAlignment;\r\n if (isOutsidePosition(options.position)) {\r\n if (normalizeEnum(options.position) === OUTSIDE_POSITION) {\r\n getCoords = \"left\" === options.horizontalAlignment ? getOutsideLeftLabelPosition : getOutsideRightLabelPosition\r\n } else {\r\n textAlignment = this._defaultLabelTextAlignment();\r\n getCoords = \"left\" === options.horizontalAlignment ? getColumnLabelLeftPosition(this._labelRect, this._rect, textAlignment) : getColumnLabelRightPosition(this._labelRect, this._rect, textAlignment)\r\n }\r\n }\r\n that._labels.forEach((function(label, index) {\r\n var item = that._items[index];\r\n var borderWidth = item.getNormalStyle()[\"stroke-width\"];\r\n var halfBorderWidth = inverted ? borderWidth / 2 : -borderWidth / 2;\r\n var coords = halfBorderWidth ? item.coords.map((function(coord, index) {\r\n if (1 === index || 3 === index) {\r\n return coord - halfBorderWidth\r\n } else if (2 === index) {\r\n return coord - borderWidth\r\n } else if (0 === index) {\r\n return coord + borderWidth\r\n }\r\n return coord\r\n })) : item.coords;\r\n if (!options.showForZeroValues && 0 === item.value) {\r\n label.draw(false);\r\n return\r\n }\r\n if (isOutsidePosition(options.position)) {\r\n that._correctLabelWidth(label, item.coords, options)\r\n }\r\n var bBox = label.getBoundingRect();\r\n var pos = correctLabelPosition(getCoords(coords, bBox, options, inverted), bBox, that._labelRect);\r\n label.setFigureToDrawConnector(coords);\r\n label.shift(pos.x, pos.y)\r\n }));\r\n that._resolveLabelOverlapping()\r\n }\r\n },\r\n members: {\r\n _resolveLabelOverlapping() {\r\n var that = this;\r\n var resolveLabelOverlapping = normalizeEnum(that._getOption(\"resolveLabelOverlapping\", true));\r\n var labels = this._getOption(\"inverted\", true) ? that._labels.slice().reverse() : that._labels;\r\n if (\"hide\" === resolveLabelOverlapping) {\r\n labels.reduce((height, label) => {\r\n if (label.getBoundingRect().y < height) {\r\n label.hide()\r\n } else {\r\n height = label.getBoundingRect().y + label.getBoundingRect().height\r\n }\r\n return height\r\n }, 0)\r\n } else if (\"shift\" === resolveLabelOverlapping) {\r\n var maxHeight = this._labelRect[3];\r\n labels.filter(label => label.isVisible()).reduce((_ref, label, index, labels) => {\r\n var [height, emptySpace] = _ref;\r\n var bBox = label.getBoundingRect();\r\n var y = bBox.y;\r\n if (bBox.y < height) {\r\n label.shift(bBox.x, height);\r\n y = height\r\n }\r\n if (y - height > 0) {\r\n emptySpace += y - height\r\n }\r\n if (y + bBox.height > maxHeight) {\r\n if (emptySpace && emptySpace > y + bBox.height - maxHeight) {\r\n removeEmptySpace(labels.slice(0, index).reverse(), y + bBox.height - maxHeight, that._labelRect[1]);\r\n emptySpace -= y + bBox.height - maxHeight;\r\n label.shift(bBox.x, y - (y + bBox.height - maxHeight));\r\n height = y - (y + bBox.height - maxHeight) + bBox.height\r\n } else {\r\n label.hide()\r\n }\r\n } else {\r\n height = y + bBox.height\r\n }\r\n return [height, emptySpace]\r\n }, [this._labelRect[1], 0])\r\n }\r\n },\r\n _defaultLabelTextAlignment: function() {\r\n return this._getOption(\"rtlEnabled\", true) ? \"right\" : \"left\"\r\n },\r\n _correctLabelWidth: function(label, item, options) {\r\n var isLeftPos = \"left\" === options.horizontalAlignment;\r\n var minX = isLeftPos ? this._labelRect[0] : item[2];\r\n var maxX = isLeftPos ? item[0] : this._labelRect[2];\r\n var maxWidth = maxX - minX;\r\n if (label.getBoundingRect().width > maxWidth) {\r\n label.fit(maxWidth)\r\n }\r\n },\r\n _createLabels: function() {\r\n var that = this;\r\n var labelOptions = that._getOption(\"label\");\r\n var connectorStrategy = getConnectorStrategy(labelOptions, that._getOption(\"inverted\", true));\r\n this._labelsGroup.clear();\r\n if (!labelOptions.visible) {\r\n return\r\n }\r\n this._labels = that._items.map((function(item) {\r\n var label = new Label({\r\n renderer: that._renderer,\r\n labelsGroup: that._labelsGroup,\r\n strategy: connectorStrategy\r\n });\r\n label.setOptions(getLabelOptions(labelOptions, item.color, that._defaultLabelTextAlignment()));\r\n label.setData({\r\n item: item,\r\n value: item.value,\r\n percent: item.percent\r\n });\r\n label.draw(true);\r\n return label\r\n }));\r\n if (this._labels.length && isOutsidePosition(labelOptions.position)) {\r\n this._requestChange([\"LAYOUT\"])\r\n }\r\n }\r\n },\r\n customize: function(constructor) {\r\n constructor.prototype._proxyData.push((function(x, y) {\r\n var that = this;\r\n var data;\r\n that._labels.forEach((function(label, index) {\r\n var rect = label.getBoundingRect();\r\n if (x >= rect.x && x <= rect.x + rect.width && y >= rect.y && y <= rect.y + rect.height) {\r\n var pos = isOutsidePosition(that._getOption(\"label\").position) ? \"outside\" : \"inside\";\r\n data = {\r\n id: index,\r\n type: pos + \"-label\"\r\n };\r\n return true\r\n }\r\n }));\r\n return data\r\n }));\r\n [\"label\", \"resolveLabelOverlapping\"].forEach(optionName => {\r\n constructor.addChange({\r\n code: optionName.toUpperCase(),\r\n handler: function() {\r\n this._createLabels();\r\n this._requestChange([\"LAYOUT\"])\r\n },\r\n isThemeDependent: true,\r\n isOptionChange: true,\r\n option: optionName\r\n })\r\n })\r\n },\r\n fontFields: [\"label.font\"]\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/funnel/tracker.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Funnel from \"./funnel\";\r\nimport {\r\n Tracker\r\n} from \"../components/tracker\";\r\nvar DATA_KEY_BASE = \"__funnel_data_\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nvar dataKeyModifier = 0;\r\nvar proto = Funnel.prototype;\r\nproto._eventsMap.onItemClick = {\r\n name: \"itemClick\"\r\n};\r\nproto._eventsMap.onLegendClick = {\r\n name: \"legendClick\"\r\n};\r\nvar getDataKey = function() {\r\n return DATA_KEY_BASE + dataKeyModifier++\r\n};\r\nexport var plugin = {\r\n name: \"tracker\",\r\n init: function() {\r\n var that = this;\r\n var dataKey = getDataKey();\r\n var getProxyData = function(e) {\r\n var rootOffset = that._renderer.getRootOffset();\r\n var x = Math.floor(e.pageX - rootOffset.left);\r\n var y = Math.floor(e.pageY - rootOffset.top);\r\n return that._hitTestTargets(x, y)\r\n };\r\n that._tracker = new Tracker({\r\n widget: that,\r\n root: that._renderer.root,\r\n getData: function(e, tooltipData) {\r\n var target = e.target;\r\n var data = target[dataKey];\r\n if (isDefined(data)) {\r\n return data\r\n }\r\n var proxyData = getProxyData(e);\r\n if (tooltipData && proxyData && \"inside-label\" !== proxyData.type) {\r\n return\r\n }\r\n return proxyData && proxyData.id\r\n },\r\n getNode: function(index) {\r\n return that._items[index]\r\n },\r\n click: function(e) {\r\n var proxyData = getProxyData(e.event);\r\n var dataType = proxyData && proxyData.type;\r\n var event = \"legend\" === dataType ? \"legendClick\" : \"itemClick\";\r\n that._eventTrigger(event, {\r\n item: e.node,\r\n event: e.event\r\n })\r\n }\r\n });\r\n this._dataKey = dataKey\r\n },\r\n dispose: function() {\r\n this._tracker.dispose()\r\n },\r\n extenders: {\r\n _change_TILING: function() {\r\n var dataKey = this._dataKey;\r\n this._items.forEach((function(item, index) {\r\n item.element.data(dataKey, index)\r\n }))\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/funnel/tooltip.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n plugin as pluginTooltip\r\n} from \"../core/tooltip\";\r\n\r\nfunction getCoords(coords, figureCoords, renderer) {\r\n var offset = renderer.getRootOffset();\r\n return coords || figureCoords && [(figureCoords[0] + figureCoords[2]) / 2 + offset.left, (figureCoords[1] + figureCoords[5]) / 2 + offset.top] || [-1e3, -1e3]\r\n}\r\nexport var plugin = {\r\n name: \"funnel-tooltip\",\r\n init: noop,\r\n dispose: noop,\r\n extenders: {\r\n _buildNodes: function() {\r\n this.hideTooltip()\r\n },\r\n _change_TILING: function() {\r\n if (this._tooltipIndex >= 0) {\r\n this._moveTooltip(this._items[this._tooltipIndex])\r\n }\r\n }\r\n },\r\n members: {\r\n hideTooltip: function() {\r\n if (this._tooltipIndex >= 0) {\r\n this._tooltipIndex = -1;\r\n this._tooltip.hide()\r\n }\r\n },\r\n _moveTooltip: function(item, coords) {\r\n var xy = getCoords(coords, item.coords, this._renderer);\r\n this._tooltip.move(xy[0], xy[1], 0)\r\n },\r\n _showTooltip: function(index, coords) {\r\n var that = this;\r\n var tooltip = that._tooltip;\r\n var item = that._items[index];\r\n if (that._tooltipIndex === index) {\r\n that._moveTooltip(item, coords);\r\n return\r\n }\r\n var callback = result => {\r\n if (void 0 === result) {\r\n return\r\n }\r\n if (!result) {\r\n tooltip.hide()\r\n }\r\n that._tooltipIndex = result ? index : -1\r\n };\r\n var xy = getCoords(coords, item.coords, this._renderer);\r\n callback(tooltip.show({\r\n value: item.value,\r\n valueText: tooltip.formatValue(item.value),\r\n percentText: tooltip.formatValue(item.percent, \"percent\"),\r\n percent: item.percent,\r\n item: item\r\n }, {\r\n x: xy[0],\r\n y: xy[1],\r\n offset: 0\r\n }, {\r\n item: item\r\n }, void 0, callback))\r\n }\r\n },\r\n customize: function(constructor) {\r\n constructor.addPlugin(pluginTooltip)\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/funnel.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dxFunnel from \"./funnel/funnel\";\r\nimport {\r\n plugin as pluginLabel\r\n} from \"./funnel/label\";\r\nimport {\r\n plugin as pluginExport\r\n} from \"./core/export\";\r\nimport {\r\n plugin as pluginTitle\r\n} from \"./core/title\";\r\nimport {\r\n plugin as pluginLegend\r\n} from \"./components/legend\";\r\nimport {\r\n plugin as pluginTracker\r\n} from \"./funnel/tracker\";\r\nimport {\r\n plugin as pluginTooltip\r\n} from \"./funnel/tooltip\";\r\nimport {\r\n plugin as pluginLoadingIndicator\r\n} from \"./core/loading_indicator\";\r\ndxFunnel.addPlugin(pluginLabel);\r\ndxFunnel.addPlugin(pluginExport);\r\ndxFunnel.addPlugin(pluginTitle);\r\ndxFunnel.addPlugin(pluginLegend);\r\ndxFunnel.addPlugin(pluginTracker);\r\ndxFunnel.addPlugin(pluginTooltip);\r\ndxFunnel.addPlugin(pluginLoadingIndicator);\r\nexport default dxFunnel;\r\n","/**\r\n * DevExtreme (esm/viz/gauges/theme_manager.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nvar _extend = extend;\r\nimport {\r\n BaseThemeManager\r\n} from \"../core/base_theme_manager\";\r\nvar ThemeManager = BaseThemeManager.inherit({\r\n ctor(options) {\r\n this.callBase.apply(this, arguments);\r\n this._subTheme = options.subTheme\r\n },\r\n _initializeTheme: function() {\r\n var that = this;\r\n var subTheme;\r\n if (that._subTheme) {\r\n subTheme = _extend(true, {}, that._theme[that._subTheme], that._theme);\r\n _extend(true, that._theme, subTheme)\r\n }\r\n that.callBase.apply(that, arguments)\r\n }\r\n});\r\nexport default {\r\n ThemeManager: ThemeManager\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/gauges/tracker.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Class from \"../../core/class\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n name as wheelEventName\r\n} from \"../../events/core/wheel\";\r\nimport ReadyCallbacks from \"../../core/utils/ready_callbacks\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nvar EVENT_NS = \"gauge-tooltip\";\r\nvar TOOLTIP_HIDE_DELAY = 100;\r\nvar ready = ReadyCallbacks.add;\r\nvar Tracker = Class.inherit({\r\n ctor: function(parameters) {\r\n var that = this;\r\n that._element = parameters.renderer.g().attr({\r\n class: \"dxg-tracker\",\r\n stroke: \"none\",\r\n \"stroke-width\": 0,\r\n fill: \"#000000\",\r\n opacity: 1e-4\r\n }).linkOn(parameters.container, {\r\n name: \"tracker\",\r\n after: \"peripheral\"\r\n });\r\n that._showTooltipCallback = function() {\r\n var target = that._tooltipEvent.target;\r\n var data_target = target[\"gauge-data-target\"];\r\n var data_info = target[\"gauge-data-info\"];\r\n that._targetEvent = null;\r\n if (that._tooltipTarget !== target) {\r\n var callback = result => {\r\n result && (that._tooltipTarget = target)\r\n };\r\n callback(that._callbacks[\"tooltip-show\"](data_target, data_info, callback))\r\n }\r\n };\r\n that._hideTooltipCallback = function() {\r\n that._hideTooltipTimeout = null;\r\n that._targetEvent = null;\r\n if (that._tooltipTarget) {\r\n that._callbacks[\"tooltip-hide\"]();\r\n that._tooltipTarget = null\r\n }\r\n };\r\n that._dispose = function() {\r\n clearTimeout(that._hideTooltipTimeout);\r\n that._showTooltipCallback = that._hideTooltipCallback = that._dispose = null\r\n }\r\n },\r\n dispose: function() {\r\n this._dispose();\r\n this.deactivate();\r\n this._element.off(\".\" + EVENT_NS);\r\n this._element.linkOff();\r\n this._element = this._context = this._callbacks = null;\r\n return this\r\n },\r\n activate: function() {\r\n this._element.linkAppend();\r\n return this\r\n },\r\n deactivate: function() {\r\n this._element.linkRemove().clear();\r\n return this\r\n },\r\n attach: function(element, target, info) {\r\n element.data({\r\n \"gauge-data-target\": target,\r\n \"gauge-data-info\": info\r\n }).append(this._element);\r\n return this\r\n },\r\n detach: function(element) {\r\n element.remove();\r\n return this\r\n },\r\n setTooltipState: function(state) {\r\n this._element.off(\".\" + EVENT_NS);\r\n if (state) {\r\n var data = {\r\n tracker: this\r\n };\r\n this._element.on(addNamespace([pointerEvents.move], EVENT_NS), data, handleTooltipMouseOver).on(addNamespace([pointerEvents.out], EVENT_NS), data, handleTooltipMouseOut).on(addNamespace([pointerEvents.down], EVENT_NS), data, handleTooltipTouchStart).on(addNamespace([pointerEvents.up], EVENT_NS), data, handleTooltipTouchEnd).on(addNamespace([wheelEventName], EVENT_NS), data, handleTooltipMouseWheel)\r\n }\r\n return this\r\n },\r\n setCallbacks: function(callbacks) {\r\n this._callbacks = callbacks;\r\n return this\r\n },\r\n _showTooltip: function(event) {\r\n clearTimeout(this._hideTooltipTimeout);\r\n this._hideTooltipTimeout = null;\r\n if (this._tooltipTarget === event.target) {\r\n return\r\n }\r\n this._tooltipEvent = event;\r\n this._showTooltipCallback()\r\n },\r\n _hideTooltip: function(delay) {\r\n clearTimeout(this._hideTooltipTimeout);\r\n if (delay) {\r\n this._hideTooltipTimeout = setTimeout(this._hideTooltipCallback, delay)\r\n } else {\r\n this._hideTooltipCallback()\r\n }\r\n }\r\n});\r\nvar active_touch_tooltip_tracker = null;\r\n\r\nfunction handleTooltipMouseOver(event) {\r\n var tracker = event.data.tracker;\r\n tracker._x = event.pageX;\r\n tracker._y = event.pageY;\r\n tracker._showTooltip(event)\r\n}\r\n\r\nfunction handleTooltipMouseOut(event) {\r\n event.data.tracker._hideTooltip(TOOLTIP_HIDE_DELAY)\r\n}\r\n\r\nfunction handleTooltipMouseWheel(event) {\r\n event.data.tracker._hideTooltip()\r\n}\r\n\r\nfunction handleTooltipTouchStart(event) {\r\n var tracker = active_touch_tooltip_tracker = event.data.tracker;\r\n tracker._touch = true;\r\n handleTooltipMouseOver(event)\r\n}\r\n\r\nfunction handleTooltipTouchEnd() {\r\n active_touch_tooltip_tracker._touch = false\r\n}\r\n\r\nfunction handleDocumentTooltipTouchStart(event) {\r\n var tracker = active_touch_tooltip_tracker;\r\n if (tracker && !tracker._touch) {\r\n tracker._hideTooltip(TOOLTIP_HIDE_DELAY);\r\n active_touch_tooltip_tracker = null\r\n }\r\n}\r\nready((function() {\r\n eventsEngine.subscribeGlobal(domAdapter.getDocument(), addNamespace([pointerEvents.down], EVENT_NS), handleDocumentTooltipTouchStart)\r\n}));\r\nexport default Tracker;\r\n","/**\r\n * DevExtreme (esm/viz/gauges/base_gauge.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar _Number = Number;\r\nimport {\r\n getAppropriateFormat as _getAppropriateFormat\r\n} from \"../core/utils\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n Translator1D\r\n} from \"../translators/translator1d\";\r\nvar _extend = extend;\r\nimport BaseWidget from \"../../__internal/viz/core/m_base_widget\";\r\nimport themeManagerModule from \"./theme_manager\";\r\nimport Tracker from \"./tracker\";\r\nimport formatHelper from \"../../format_helper\";\r\nimport {\r\n plugin as exportPlugin\r\n} from \"../core/export\";\r\nimport {\r\n plugin as titlePlugin\r\n} from \"../core/title\";\r\nimport {\r\n plugin as tooltipPlugin\r\n} from \"../core/tooltip\";\r\nimport {\r\n plugin as loadingIndicatorPlugin\r\n} from \"../core/loading_indicator\";\r\nvar _format = formatHelper.format;\r\nexport var BaseGauge = BaseWidget.inherit({\r\n _rootClassPrefix: \"dxg\",\r\n _themeSection: \"gauge\",\r\n _createThemeManager: function() {\r\n return new themeManagerModule.ThemeManager(this._getThemeManagerOptions())\r\n },\r\n _initCore: function() {\r\n var root = this._renderer.root;\r\n this._valueChangingLocker = 0;\r\n this._translator = this._factory.createTranslator();\r\n this._tracker = this._factory.createTracker({\r\n renderer: this._renderer,\r\n container: root\r\n });\r\n this._setTrackerCallbacks()\r\n },\r\n _beginValueChanging: function() {\r\n this._resetIsReady();\r\n this._onBeginUpdate();\r\n ++this._valueChangingLocker\r\n },\r\n _endValueChanging: function() {\r\n if (0 === --this._valueChangingLocker) {\r\n this._drawn()\r\n }\r\n },\r\n _setTrackerCallbacks: function() {\r\n var renderer = this._renderer;\r\n var tooltip = this._tooltip;\r\n this._tracker.setCallbacks({\r\n \"tooltip-show\": function(target, info, callback) {\r\n var tooltipParameters = target.getTooltipParameters();\r\n var offset = renderer.getRootOffset();\r\n var formatObject = _extend({\r\n value: tooltipParameters.value,\r\n valueText: tooltip.formatValue(tooltipParameters.value),\r\n color: tooltipParameters.color\r\n }, info);\r\n return tooltip.show(formatObject, {\r\n x: tooltipParameters.x + offset.left,\r\n y: tooltipParameters.y + offset.top,\r\n offset: tooltipParameters.offset\r\n }, {\r\n target: info\r\n }, void 0, callback)\r\n },\r\n \"tooltip-hide\": function() {\r\n return tooltip.hide()\r\n }\r\n })\r\n },\r\n _dispose: function() {\r\n this._cleanCore();\r\n this.callBase.apply(this, arguments)\r\n },\r\n _disposeCore: function() {\r\n this._themeManager.dispose();\r\n this._tracker.dispose();\r\n this._translator = this._tracker = null\r\n },\r\n _cleanCore: function() {\r\n this._tracker.deactivate();\r\n this._cleanContent()\r\n },\r\n _renderCore: function() {\r\n if (!this._isValidDomain) {\r\n return\r\n }\r\n this._renderContent();\r\n this._tracker.setTooltipState(this._tooltip.isEnabled());\r\n this._tracker.activate();\r\n this._noAnimation = false\r\n },\r\n _applyChanges: function() {\r\n this.callBase.apply(this, arguments);\r\n this._resizing = this._noAnimation = false\r\n },\r\n _setContentSize: function() {\r\n var that = this;\r\n that._resizing = that._noAnimation = 2 === that._changes.count();\r\n that.callBase.apply(that, arguments)\r\n },\r\n _applySize: function(rect) {\r\n this._innerRect = {\r\n left: rect[0],\r\n top: rect[1],\r\n right: rect[2],\r\n bottom: rect[3]\r\n };\r\n var layoutCache = this._layout._cache;\r\n this._cleanCore();\r\n this._renderCore();\r\n this._layout._cache = this._layout._cache || layoutCache;\r\n return [rect[0], this._innerRect.top, rect[2], this._innerRect.bottom]\r\n },\r\n _initialChanges: [\"DOMAIN\"],\r\n _themeDependentChanges: [\"DOMAIN\"],\r\n _optionChangesMap: {\r\n subtitle: \"MOSTLY_TOTAL\",\r\n indicator: \"MOSTLY_TOTAL\",\r\n geometry: \"MOSTLY_TOTAL\",\r\n animation: \"MOSTLY_TOTAL\",\r\n startValue: \"DOMAIN\",\r\n endValue: \"DOMAIN\"\r\n },\r\n _optionChangesOrder: [\"DOMAIN\", \"MOSTLY_TOTAL\"],\r\n _change_DOMAIN: function() {\r\n this._setupDomain()\r\n },\r\n _change_MOSTLY_TOTAL: function() {\r\n this._applyMostlyTotalChange()\r\n },\r\n _setupDomain: function() {\r\n this._setupDomainCore();\r\n this._isValidDomain = isFinite(1 / (this._translator.getDomain()[1] - this._translator.getDomain()[0]));\r\n if (!this._isValidDomain) {\r\n this._incidentOccurred(\"W2301\")\r\n }\r\n this._change([\"MOSTLY_TOTAL\"])\r\n },\r\n _applyMostlyTotalChange: function() {\r\n this._setupCodomain();\r\n this._setupAnimationSettings();\r\n this._setupDefaultFormat();\r\n this._change([\"LAYOUT\"])\r\n },\r\n _setupAnimationSettings: function() {\r\n var option = this.option(\"animation\");\r\n this._animationSettings = null;\r\n if (void 0 === option || option) {\r\n option = _extend({\r\n enabled: true,\r\n duration: 1e3,\r\n easing: \"easeOutCubic\"\r\n }, option);\r\n if (option.enabled && option.duration > 0) {\r\n this._animationSettings = {\r\n duration: _Number(option.duration),\r\n easing: option.easing\r\n }\r\n }\r\n }\r\n this._containerBackgroundColor = this.option(\"containerBackgroundColor\") || this._themeManager.theme().containerBackgroundColor\r\n },\r\n _setupDefaultFormat: function() {\r\n var domain = this._translator.getDomain();\r\n this._defaultFormatOptions = _getAppropriateFormat(domain[0], domain[1], this._getApproximateScreenRange())\r\n },\r\n _setupDomainCore: null,\r\n _calculateSize: null,\r\n _cleanContent: null,\r\n _renderContent: null,\r\n _setupCodomain: null,\r\n _getApproximateScreenRange: null,\r\n _factory: {\r\n createTranslator: function() {\r\n return new Translator1D\r\n },\r\n createTracker: function(parameters) {\r\n return new Tracker(parameters)\r\n }\r\n }\r\n});\r\nexport var formatValue = function(value, options, extra) {\r\n if (Object.is(value, -0)) {\r\n value = 0\r\n }\r\n options = options || {};\r\n var text = _format(value, options.format);\r\n var formatObject;\r\n if (\"function\" === typeof options.customizeText) {\r\n formatObject = _extend({\r\n value: value,\r\n valueText: text\r\n }, extra);\r\n return String(options.customizeText.call(formatObject, formatObject))\r\n }\r\n return text\r\n};\r\nexport var getSampleText = function(translator, options) {\r\n var text1 = formatValue(translator.getDomainStart(), options);\r\n var text2 = formatValue(translator.getDomainEnd(), options);\r\n return text1.length >= text2.length ? text1 : text2\r\n};\r\nexport function compareArrays(array1, array2) {\r\n return array1 && array2 && array1.length === array2.length && compareArraysElements(array1, array2)\r\n}\r\n\r\nfunction compareArraysElements(array1, array2) {\r\n var i;\r\n var ii = array1.length;\r\n var array1ValueIsNaN;\r\n var array2ValueIsNaN;\r\n for (i = 0; i < ii; ++i) {\r\n array1ValueIsNaN = array1[i] !== array1[i];\r\n array2ValueIsNaN = array2[i] !== array2[i];\r\n if (array1ValueIsNaN && array2ValueIsNaN) {\r\n continue\r\n }\r\n if (array1[i] !== array2[i]) {\r\n return false\r\n }\r\n }\r\n return true\r\n}\r\nBaseGauge.addPlugin(exportPlugin);\r\nBaseGauge.addPlugin(titlePlugin);\r\nBaseGauge.addPlugin(tooltipPlugin);\r\nBaseGauge.addPlugin(loadingIndicatorPlugin);\r\nvar _setTooltipOptions = BaseGauge.prototype._setTooltipOptions;\r\nBaseGauge.prototype._setTooltipOptions = function() {\r\n _setTooltipOptions.apply(this, arguments);\r\n this._tracker && this._tracker.setTooltipState(this._tooltip.isEnabled())\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/gauges/base_indicators.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nvar _isFinite = isFinite;\r\nvar _Number = Number;\r\nvar _round = Math.round;\r\nimport {\r\n formatValue,\r\n getSampleText\r\n} from \"./base_gauge\";\r\nvar _formatValue = formatValue;\r\nvar _getSampleText = getSampleText;\r\nimport {\r\n patchFontOptions as _patchFontOptions\r\n} from \"../core/utils\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport Class from \"../../core/class\";\r\nexport var BaseElement = Class.inherit({\r\n ctor: function(parameters) {\r\n var that = this;\r\n each(parameters, (function(name, value) {\r\n that[\"_\" + name] = value\r\n }));\r\n that._init()\r\n },\r\n dispose: function() {\r\n var that = this;\r\n that._dispose();\r\n each(that, (function(name) {\r\n that[name] = null\r\n }));\r\n return that\r\n },\r\n getOffset: function() {\r\n return _Number(this._options.offset) || 0\r\n }\r\n});\r\nexport var BaseIndicator = BaseElement.inherit({\r\n _init: function() {\r\n this._rootElement = this._createRoot().linkOn(this._owner, {\r\n name: \"value-indicator\",\r\n after: \"core\"\r\n });\r\n this._trackerElement = this._createTracker()\r\n },\r\n _dispose: function() {\r\n this._rootElement.linkOff()\r\n },\r\n _setupAnimation: function() {\r\n var that = this;\r\n if (that._options.animation) {\r\n that._animation = {\r\n step: function(pos) {\r\n that._actualValue = that._animation.start + that._animation.delta * pos;\r\n that._actualPosition = that._translator.translate(that._actualValue);\r\n that._move()\r\n },\r\n duration: that._options.animation.duration > 0 ? _Number(that._options.animation.duration) : 0,\r\n easing: that._options.animation.easing\r\n }\r\n }\r\n },\r\n _runAnimation: function(value) {\r\n var animation = this._animation;\r\n animation.start = this._actualValue;\r\n animation.delta = value - this._actualValue;\r\n this._rootElement.animate({\r\n _: 0\r\n }, {\r\n step: animation.step,\r\n duration: animation.duration,\r\n easing: animation.easing\r\n })\r\n },\r\n _createRoot: function() {\r\n return this._renderer.g().attr({\r\n class: this._className\r\n })\r\n },\r\n _createTracker: function() {\r\n return this._renderer.path([], \"area\")\r\n },\r\n _getTrackerSettings: noop,\r\n clean: function() {\r\n this._animation && this._rootElement.stopAnimation();\r\n this._rootElement.linkRemove().clear();\r\n this._clear();\r\n this._tracker.detach(this._trackerElement);\r\n this._options = this.enabled = this._animation = null;\r\n return this\r\n },\r\n render: function(options) {\r\n this.type = options.type;\r\n this._options = options;\r\n this._actualValue = this._currentValue = this._translator.adjust(this._options.currentValue);\r\n this.enabled = this._isEnabled();\r\n if (this.enabled) {\r\n this._setupAnimation();\r\n this._rootElement.attr({\r\n fill: this._options.color\r\n }).linkAppend();\r\n this._tracker.attach(this._trackerElement, this, this._trackerInfo)\r\n }\r\n return this\r\n },\r\n resize: function(layout) {\r\n this._rootElement.clear();\r\n this._clear();\r\n this.visible = this._isVisible(layout);\r\n if (this.visible) {\r\n extend(this._options, layout);\r\n this._actualPosition = this._translator.translate(this._actualValue);\r\n this._render();\r\n this._trackerElement.attr(this._getTrackerSettings());\r\n this._move()\r\n }\r\n return this\r\n },\r\n value: function(arg, _noAnimation) {\r\n var val;\r\n var rootElement = this._rootElement;\r\n var visibility = null;\r\n if (void 0 === arg) {\r\n return this._currentValue\r\n }\r\n if (null === arg) {\r\n visibility = \"hidden\";\r\n this._currentValue = arg\r\n } else {\r\n val = this._translator.adjust(arg);\r\n if (this._currentValue !== val && _isFinite(val)) {\r\n this._currentValue = val;\r\n if (this.visible) {\r\n if (this._animation && !_noAnimation) {\r\n this._runAnimation(val)\r\n } else {\r\n this._actualValue = val;\r\n this._actualPosition = this._translator.translate(val);\r\n this._move()\r\n }\r\n }\r\n }\r\n }\r\n rootElement.attr({\r\n visibility: visibility\r\n });\r\n return this\r\n },\r\n _isEnabled: null,\r\n _isVisible: null,\r\n _render: null,\r\n _clear: null,\r\n _move: null\r\n});\r\nvar COEFFICIENTS_MAP = {};\r\nCOEFFICIENTS_MAP[\"right-bottom\"] = COEFFICIENTS_MAP.rb = [0, -1, -1, 0, 0, 1, 1, 0];\r\nCOEFFICIENTS_MAP[\"bottom-right\"] = COEFFICIENTS_MAP.br = [-1, 0, 0, -1, 1, 0, 0, 1];\r\nCOEFFICIENTS_MAP[\"left-bottom\"] = COEFFICIENTS_MAP.lb = [0, -1, 1, 0, 0, 1, -1, 0];\r\nCOEFFICIENTS_MAP[\"bottom-left\"] = COEFFICIENTS_MAP.bl = [1, 0, 0, -1, -1, 0, 0, 1];\r\nCOEFFICIENTS_MAP[\"left-top\"] = COEFFICIENTS_MAP.lt = [0, 1, 1, 0, 0, -1, -1, 0];\r\nCOEFFICIENTS_MAP[\"top-left\"] = COEFFICIENTS_MAP.tl = [1, 0, 0, 1, -1, 0, 0, -1];\r\nCOEFFICIENTS_MAP[\"right-top\"] = COEFFICIENTS_MAP.rt = [0, 1, -1, 0, 0, -1, 1, 0];\r\nCOEFFICIENTS_MAP[\"top-right\"] = COEFFICIENTS_MAP.tr = [-1, 0, 0, 1, 1, 0, 0, -1];\r\n\r\nfunction getTextCloudInfo(options) {\r\n var x = options.x;\r\n var y = options.y;\r\n var type = COEFFICIENTS_MAP[options.type];\r\n var cloudWidth = options.cloudWidth;\r\n var cloudHeight = options.cloudHeight;\r\n var tailWidth;\r\n var tailHeight;\r\n var cx = x;\r\n var cy = y;\r\n tailWidth = tailHeight = options.tailLength;\r\n if (1 & type[0]) {\r\n tailHeight = Math.min(tailHeight, cloudHeight / 3)\r\n } else {\r\n tailWidth = Math.min(tailWidth, cloudWidth / 3)\r\n }\r\n return {\r\n cx: _round(cx + type[0] * tailWidth + (type[0] + type[2]) * cloudWidth / 2),\r\n cy: _round(cy + type[1] * tailHeight + (type[1] + type[3]) * cloudHeight / 2),\r\n points: [_round(x), _round(y), _round(x += type[0] * (cloudWidth + tailWidth)), _round(y += type[1] * (cloudHeight + tailHeight)), _round(x += type[2] * cloudWidth), _round(y += type[3] * cloudHeight), _round(x += type[4] * cloudWidth), _round(y += type[5] * cloudHeight), _round(x += type[6] * (cloudWidth - tailWidth)), _round(y += type[7] * (cloudHeight - tailHeight))]\r\n }\r\n}\r\nexport var BaseTextCloudMarker = BaseIndicator.inherit({\r\n _move: function() {\r\n var options = this._options;\r\n var textCloudOptions = this._getTextCloudOptions();\r\n var text = _formatValue(this._actualValue, options.text);\r\n this._text.attr({\r\n text: text\r\n });\r\n var bBox = this._text.getBBox();\r\n var x = textCloudOptions.x;\r\n var y = textCloudOptions.y;\r\n var cloudWidth = (bBox.width || text.length * this._textUnitWidth) + 2 * options.horizontalOffset;\r\n var cloudHeight = (bBox.height || this._textHeight) + 2 * options.verticalOffset;\r\n var info = getTextCloudInfo({\r\n x: x,\r\n y: y,\r\n cloudWidth: cloudWidth,\r\n cloudHeight: cloudHeight,\r\n tailLength: options.arrowLength,\r\n type: this._correctCloudType(textCloudOptions.type, {\r\n x: x,\r\n y: y\r\n }, {\r\n width: cloudWidth,\r\n height: cloudHeight\r\n })\r\n });\r\n this._text.attr({\r\n x: info.cx,\r\n y: info.cy + this._textVerticalOffset\r\n });\r\n this._cloud.attr({\r\n points: info.points\r\n });\r\n this._trackerElement && this._trackerElement.attr({\r\n points: info.points\r\n })\r\n },\r\n _measureText: function() {\r\n var root;\r\n var text;\r\n var bBox;\r\n var sampleText;\r\n if (!this._textVerticalOffset) {\r\n root = this._createRoot().append(this._owner);\r\n sampleText = _getSampleText(this._translator, this._options.text);\r\n text = this._renderer.text(sampleText, 0, 0).attr({\r\n align: \"center\"\r\n }).css(_patchFontOptions(this._options.text.font)).append(root);\r\n bBox = text.getBBox();\r\n root.remove();\r\n this._textVerticalOffset = -bBox.y - bBox.height / 2;\r\n this._textWidth = bBox.width;\r\n this._textHeight = bBox.height;\r\n this._textUnitWidth = this._textWidth / sampleText.length;\r\n this._textFullWidth = this._textWidth + 2 * this._options.horizontalOffset;\r\n this._textFullHeight = this._textHeight + 2 * this._options.verticalOffset\r\n }\r\n },\r\n _render: function() {\r\n this._measureText();\r\n this._cloud = this._cloud || this._renderer.path([], \"area\").append(this._rootElement);\r\n this._text = this._text || this._renderer.text().append(this._rootElement);\r\n this._text.attr({\r\n align: \"center\"\r\n }).css(_patchFontOptions(this._options.text.font))\r\n },\r\n _clear: function() {\r\n delete this._cloud;\r\n delete this._text\r\n },\r\n getTooltipParameters: function() {\r\n var position = this._getTextCloudOptions();\r\n return {\r\n x: position.x,\r\n y: position.y,\r\n value: this._currentValue,\r\n color: this._options.color\r\n }\r\n },\r\n _correctCloudType: type => type\r\n});\r\nexport var BaseRangeBar = BaseIndicator.inherit({\r\n _measureText: function() {\r\n var root;\r\n var text;\r\n var bBox;\r\n this._hasText = this._isTextVisible();\r\n if (this._hasText && !this._textVerticalOffset) {\r\n root = this._createRoot().append(this._owner);\r\n text = this._renderer.text(_getSampleText(this._translator, this._options.text), 0, 0).attr({\r\n class: \"dxg-text\",\r\n align: \"center\"\r\n }).css(_patchFontOptions(this._options.text.font)).append(root);\r\n bBox = text.getBBox();\r\n root.remove();\r\n this._textVerticalOffset = -bBox.y - bBox.height / 2;\r\n this._textWidth = bBox.width;\r\n this._textHeight = bBox.height\r\n }\r\n },\r\n _move: function() {\r\n this._updateBarItemsPositions();\r\n if (this._hasText) {\r\n this._text.attr({\r\n text: _formatValue(this._actualValue, this._options.text)\r\n });\r\n this._updateTextPosition();\r\n this._updateLinePosition()\r\n }\r\n },\r\n _updateBarItems: function() {\r\n var options = this._options;\r\n var spaceColor;\r\n var translator = this._translator;\r\n this._setBarSides();\r\n this._startPosition = translator.translate(translator.getDomainStart());\r\n this._endPosition = translator.translate(translator.getDomainEnd());\r\n this._basePosition = translator.translate(options.baseValue);\r\n this._space = this._getSpace();\r\n var backgroundColor = options.backgroundColor || \"none\";\r\n if (\"none\" !== backgroundColor && this._space > 0) {\r\n spaceColor = options.containerBackgroundColor || \"none\"\r\n } else {\r\n this._space = 0;\r\n spaceColor = \"none\"\r\n }\r\n this._backItem1.attr({\r\n fill: backgroundColor\r\n });\r\n this._backItem2.attr({\r\n fill: backgroundColor\r\n });\r\n this._spaceItem1.attr({\r\n fill: spaceColor\r\n });\r\n this._spaceItem2.attr({\r\n fill: spaceColor\r\n })\r\n },\r\n _getSpace: function() {\r\n return 0\r\n },\r\n _updateTextItems: function() {\r\n if (this._hasText) {\r\n this._line = this._line || this._renderer.path([], \"line\").attr({\r\n class: \"dxg-main-bar\",\r\n \"stroke-linecap\": \"square\"\r\n }).append(this._rootElement);\r\n this._text = this._text || this._renderer.text(\"\", 0, 0).attr({\r\n class: \"dxg-text\"\r\n }).append(this._rootElement);\r\n this._text.attr({\r\n align: this._getTextAlign()\r\n }).css(this._getFontOptions());\r\n this._setTextItemsSides()\r\n } else {\r\n if (this._line) {\r\n this._line.remove();\r\n delete this._line\r\n }\r\n if (this._text) {\r\n this._text.remove();\r\n delete this._text\r\n }\r\n }\r\n },\r\n _isTextVisible: function() {\r\n return false\r\n },\r\n _getTextAlign: function() {\r\n return \"center\"\r\n },\r\n _getFontOptions: function() {\r\n var options = this._options;\r\n var font = options.text.font;\r\n if (!font || !font.color) {\r\n font = extend({}, font, {\r\n color: options.color\r\n })\r\n }\r\n return _patchFontOptions(font)\r\n },\r\n _updateBarItemsPositions: function() {\r\n var positions = this._getPositions();\r\n this._backItem1.attr(this._buildItemSettings(positions.start, positions.back1));\r\n this._backItem2.attr(this._buildItemSettings(positions.back2, positions.end));\r\n this._spaceItem1.attr(this._buildItemSettings(positions.back1, positions.main1));\r\n this._spaceItem2.attr(this._buildItemSettings(positions.main2, positions.back2));\r\n this._mainItem.attr(this._buildItemSettings(positions.main1, positions.main2));\r\n this._trackerElement && this._trackerElement.attr(this._buildItemSettings(positions.main1, positions.main2))\r\n },\r\n _render: function() {\r\n this._measureText();\r\n if (!this._backItem1) {\r\n this._backItem1 = this._createBarItem();\r\n this._backItem1.attr({\r\n class: \"dxg-back-bar\"\r\n })\r\n }\r\n if (!this._backItem2) {\r\n this._backItem2 = this._createBarItem();\r\n this._backItem2.attr({\r\n class: \"dxg-back-bar\"\r\n })\r\n }\r\n if (!this._spaceItem1) {\r\n this._spaceItem1 = this._createBarItem();\r\n this._spaceItem1.attr({\r\n class: \"dxg-space-bar\"\r\n })\r\n }\r\n if (!this._spaceItem2) {\r\n this._spaceItem2 = this._createBarItem();\r\n this._spaceItem2.attr({\r\n class: \"dxg-space-bar\"\r\n })\r\n }\r\n if (!this._mainItem) {\r\n this._mainItem = this._createBarItem();\r\n this._mainItem.attr({\r\n class: \"dxg-main-bar\"\r\n })\r\n }\r\n this._updateBarItems();\r\n this._updateTextItems()\r\n },\r\n _clear: function() {\r\n delete this._backItem1;\r\n delete this._backItem2;\r\n delete this._spaceItem1;\r\n delete this._spaceItem2;\r\n delete this._mainItem;\r\n delete this._hasText;\r\n delete this._line;\r\n delete this._text\r\n },\r\n getTooltipParameters: function() {\r\n var position = this._getTooltipPosition();\r\n return {\r\n x: position.x,\r\n y: position.y,\r\n value: this._currentValue,\r\n color: this._options.color,\r\n offset: 0\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/gauges/base_range_container.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n BaseElement\r\n} from \"./base_indicators\";\r\nimport {\r\n isString\r\n} from \"../../core/utils/type\";\r\nvar _Number = Number;\r\nvar _isArray = Array.isArray;\r\nvar _isFinite = isFinite;\r\nvar BaseRangeContainer = BaseElement.inherit({\r\n _init: function() {\r\n this._root = this._renderer.g().attr({\r\n class: \"dxg-range-container\"\r\n }).linkOn(this._container, \"range-container\")\r\n },\r\n _dispose: function() {\r\n this._root.linkOff()\r\n },\r\n clean: function() {\r\n this._root.linkRemove().clear();\r\n this._options = this.enabled = null;\r\n return this\r\n },\r\n _getRanges: function() {\r\n var options = this._options;\r\n var translator = this._translator;\r\n var totalStart = translator.getDomain()[0];\r\n var totalEnd = translator.getDomain()[1];\r\n var totalDelta = totalEnd - totalStart;\r\n var isValidSegment = totalDelta >= 0 ? isValidSegmentAsc : isValidSegmentDesc;\r\n var subtractSegment = totalDelta >= 0 ? subtractSegmentAsc : subtractSegmentDesc;\r\n var list;\r\n var ranges = [];\r\n var backgroundRanges = [{\r\n start: totalStart,\r\n end: totalEnd\r\n }];\r\n var backgroundColor = isString(options.backgroundColor) ? options.backgroundColor : \"none\";\r\n var width = options.width || {};\r\n var startWidth = _Number(width > 0 ? width : width.start);\r\n var endWidth = _Number(width > 0 ? width : width.end);\r\n var deltaWidth = endWidth - startWidth;\r\n if (void 0 !== options.ranges && !_isArray(options.ranges)) {\r\n return null\r\n }\r\n if (!(startWidth >= 0 && endWidth >= 0 && startWidth + endWidth > 0)) {\r\n return null\r\n }\r\n list = (_isArray(options.ranges) ? options.ranges : []).reduce((result, rangeOptions, i) => {\r\n rangeOptions = rangeOptions || {};\r\n var start = translator.adjust(rangeOptions.startValue);\r\n var end = translator.adjust(rangeOptions.endValue);\r\n if (_isFinite(start) && _isFinite(end) && isValidSegment(start, end, rangeOptions)) {\r\n result.push({\r\n start: start,\r\n end: end,\r\n color: rangeOptions.color,\r\n classIndex: i\r\n })\r\n }\r\n return result\r\n }, []);\r\n var palette = this._themeManager.createPalette(options.palette, {\r\n type: \"indicatingSet\",\r\n extensionMode: options.paletteExtensionMode,\r\n keepLastColorInEnd: true,\r\n count: list.length\r\n });\r\n each(list, (function(_, item) {\r\n var paletteColor = palette.getNextColor();\r\n item.color = isString(item.color) && item.color || paletteColor || \"none\";\r\n item.className = \"dxg-range dxg-range-\" + item.classIndex;\r\n delete item.classIndex\r\n }));\r\n each(list, (function(_, item) {\r\n var i;\r\n var ii;\r\n var sub;\r\n var subs;\r\n var range;\r\n var newRanges = [];\r\n var newBackgroundRanges = [];\r\n for (i = 0, ii = ranges.length; i < ii; ++i) {\r\n range = ranges[i];\r\n subs = subtractSegment(range.start, range.end, item.start, item.end);\r\n (sub = subs[0]) && (sub.color = range.color) && (sub.className = range.className) && newRanges.push(sub);\r\n (sub = subs[1]) && (sub.color = range.color) && (sub.className = range.className) && newRanges.push(sub)\r\n }\r\n newRanges.push(item);\r\n ranges = newRanges;\r\n for (i = 0, ii = backgroundRanges.length; i < ii; ++i) {\r\n range = backgroundRanges[i];\r\n subs = subtractSegment(range.start, range.end, item.start, item.end);\r\n (sub = subs[0]) && newBackgroundRanges.push(sub);\r\n (sub = subs[1]) && newBackgroundRanges.push(sub)\r\n }\r\n backgroundRanges = newBackgroundRanges\r\n }));\r\n each(backgroundRanges, (function(_, range) {\r\n range.color = backgroundColor;\r\n range.className = \"dxg-range dxg-background-range\";\r\n ranges.push(range)\r\n }));\r\n each(ranges, (function(_, range) {\r\n range.startWidth = (range.start - totalStart) / totalDelta * deltaWidth + startWidth;\r\n range.endWidth = (range.end - totalStart) / totalDelta * deltaWidth + startWidth\r\n }));\r\n return ranges\r\n },\r\n render: function(options) {\r\n this._options = options;\r\n this._processOptions();\r\n this._ranges = this._getRanges();\r\n if (this._ranges) {\r\n this.enabled = true;\r\n this._root.linkAppend()\r\n }\r\n return this\r\n },\r\n resize: function(layout) {\r\n var that = this;\r\n that._root.clear();\r\n if (that._isVisible(layout)) {\r\n each(that._ranges, (function(_, range) {\r\n that._createRange(range, layout).attr({\r\n fill: range.color,\r\n class: range.className\r\n }).append(that._root)\r\n }))\r\n }\r\n return that\r\n },\r\n _processOptions: null,\r\n _isVisible: null,\r\n _createRange: null,\r\n getColorForValue: function(value) {\r\n var color = null;\r\n each(this._ranges, (function(_, range) {\r\n if (range.start <= value && value <= range.end || range.start >= value && value >= range.end) {\r\n color = range.color;\r\n return false\r\n }\r\n }));\r\n return color\r\n }\r\n});\r\n\r\nfunction subtractSegmentAsc(segmentStart, segmentEnd, otherStart, otherEnd) {\r\n var result;\r\n if (otherStart > segmentStart && otherEnd < segmentEnd) {\r\n result = [{\r\n start: segmentStart,\r\n end: otherStart\r\n }, {\r\n start: otherEnd,\r\n end: segmentEnd\r\n }]\r\n } else if (otherStart >= segmentEnd || otherEnd <= segmentStart) {\r\n result = [{\r\n start: segmentStart,\r\n end: segmentEnd\r\n }]\r\n } else if (otherStart <= segmentStart && otherEnd >= segmentEnd) {\r\n result = []\r\n } else if (otherStart > segmentStart) {\r\n result = [{\r\n start: segmentStart,\r\n end: otherStart\r\n }]\r\n } else if (otherEnd < segmentEnd) {\r\n result = [{\r\n start: otherEnd,\r\n end: segmentEnd\r\n }]\r\n }\r\n return result\r\n}\r\n\r\nfunction subtractSegmentDesc(segmentStart, segmentEnd, otherStart, otherEnd) {\r\n var result;\r\n if (otherStart < segmentStart && otherEnd > segmentEnd) {\r\n result = [{\r\n start: segmentStart,\r\n end: otherStart\r\n }, {\r\n start: otherEnd,\r\n end: segmentEnd\r\n }]\r\n } else if (otherStart <= segmentEnd || otherEnd >= segmentStart) {\r\n result = [{\r\n start: segmentStart,\r\n end: segmentEnd\r\n }]\r\n } else if (otherStart >= segmentStart && otherEnd <= segmentEnd) {\r\n result = []\r\n } else if (otherStart < segmentStart) {\r\n result = [{\r\n start: segmentStart,\r\n end: otherStart\r\n }]\r\n } else if (otherEnd > segmentEnd) {\r\n result = [{\r\n start: otherEnd,\r\n end: segmentEnd\r\n }]\r\n }\r\n return result\r\n}\r\n\r\nfunction areEqualValues(start, end, _ref) {\r\n var {\r\n startValue: startValue,\r\n endValue: endValue\r\n } = _ref;\r\n return endValue === startValue && startValue === start && end === start\r\n}\r\n\r\nfunction isValidSegmentAsc(start, end, options) {\r\n return end - start > 0 || areEqualValues(start, end, options)\r\n}\r\n\r\nfunction isValidSegmentDesc(start, end, options) {\r\n return start - end > 0 || areEqualValues(start, end, options)\r\n}\r\nexport default BaseRangeContainer;\r\n","/**\r\n * DevExtreme (esm/viz/gauges/circular_indicators.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n BaseIndicator,\r\n BaseTextCloudMarker,\r\n BaseRangeBar\r\n} from \"./base_indicators\";\r\nimport {\r\n getCosAndSin,\r\n convertAngleToRendererSpace,\r\n normalizeAngle\r\n} from \"../core/utils\";\r\nvar _Number = Number;\r\nvar _getCosAndSin = getCosAndSin;\r\nvar _convertAngleToRendererSpace = convertAngleToRendererSpace;\r\n\r\nfunction correctRadius(layout, size) {\r\n if (layout && layout.radius - size <= 0) {\r\n layout.radius = size + 1\r\n }\r\n return layout\r\n}\r\nvar SimpleIndicator = BaseIndicator.inherit({\r\n _move: function() {\r\n var options = this._options;\r\n var angle = _convertAngleToRendererSpace(this._actualPosition);\r\n this._rootElement.rotate(angle, options.x, options.y);\r\n this._trackerElement && this._trackerElement.rotate(angle, options.x, options.y)\r\n },\r\n _isEnabled: function() {\r\n return this._options.width > 0\r\n },\r\n _isVisible: function(layout) {\r\n return layout.radius - _Number(this._options.indentFromCenter) > 0\r\n },\r\n _getTrackerSettings: function() {\r\n var options = this._options;\r\n var radius = this._getRadius();\r\n var indentFromCenter = this._getIndentFromCenter();\r\n var x = options.x;\r\n var y = options.y - (radius + indentFromCenter) / 2;\r\n var width = options.width / 2;\r\n var length = (radius - indentFromCenter) / 2;\r\n width > 10 || (width = 10);\r\n length > 10 || (length = 10);\r\n return {\r\n points: [x - width, y - length, x - width, y + length, x + width, y + length, x + width, y - length]\r\n }\r\n },\r\n _render: function() {\r\n this._renderPointer()\r\n },\r\n _clearPointer: function() {\r\n delete this._element\r\n },\r\n _clear: function() {\r\n this._clearPointer()\r\n },\r\n _getIndentFromCenter: function(radius) {\r\n return Number(this._options.indentFromCenter) || 0\r\n },\r\n _getRadius: function() {\r\n return 0\r\n },\r\n measure: function(layout) {\r\n var result = {\r\n max: layout.radius\r\n };\r\n if (this._options.indentFromCenter < 0) {\r\n result.inverseHorizontalOffset = result.inverseVerticalOffset = -_Number(this._options.indentFromCenter)\r\n }\r\n return result\r\n },\r\n getTooltipParameters: function() {\r\n var options = this._options;\r\n var cosSin = _getCosAndSin(this._actualPosition);\r\n var r = (this._getRadius() + this._getIndentFromCenter()) / 2;\r\n return {\r\n x: options.x + cosSin.cos * r,\r\n y: options.y - cosSin.sin * r,\r\n value: this._currentValue,\r\n color: options.color,\r\n offset: options.width / 2\r\n }\r\n }\r\n});\r\nvar NeedleIndicator = SimpleIndicator.inherit({\r\n _isVisible: function(layout) {\r\n var indentFromCenter = this._adjustOffset(Number(this._options.indentFromCenter), layout.radius);\r\n var offset = this._adjustOffset(Number(this._options.offset), layout.radius);\r\n return layout.radius - indentFromCenter - offset > 0\r\n },\r\n getOffset: function() {\r\n return 0\r\n },\r\n _adjustOffset: function(value, radius) {\r\n var minRadius = Number(this._options.beginAdaptingAtRadius);\r\n var diff = radius / minRadius;\r\n if (diff < 1) {\r\n value = Math.floor(value * diff)\r\n }\r\n return value || 0\r\n },\r\n _getIndentFromCenter: function(radius) {\r\n return this._adjustOffset(Number(this._options.indentFromCenter), this._options.radius)\r\n },\r\n _getRadius: function() {\r\n var options = this._options;\r\n return options.radius - this._adjustOffset(Number(options.offset), options.radius)\r\n },\r\n _renderSpindle: function() {\r\n var options = this._options;\r\n var radius = options.radius;\r\n var spindleSize = 2 * this._adjustOffset(_Number(options.spindleSize) / 2, radius);\r\n var gapSize = 2 * this._adjustOffset(_Number(options.spindleGapSize) / 2, radius) || 0;\r\n if (gapSize > 0) {\r\n gapSize = gapSize <= spindleSize ? gapSize : spindleSize\r\n }\r\n if (spindleSize > 0) {\r\n this._spindleOuter = this._spindleOuter || this._renderer.circle().append(this._rootElement);\r\n this._spindleInner = this._spindleInner || this._renderer.circle().append(this._rootElement);\r\n this._spindleOuter.attr({\r\n class: \"dxg-spindle-border\",\r\n cx: options.x,\r\n cy: options.y,\r\n r: spindleSize / 2\r\n });\r\n this._spindleInner.attr({\r\n class: \"dxg-spindle-hole\",\r\n cx: options.x,\r\n cy: options.y,\r\n r: gapSize / 2,\r\n fill: options.containerBackgroundColor\r\n })\r\n }\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderSpindle()\r\n },\r\n _clear: function() {\r\n this.callBase();\r\n delete this._spindleOuter;\r\n delete this._spindleInner\r\n }\r\n});\r\nvar rectangleNeedle = NeedleIndicator.inherit({\r\n _renderPointer: function() {\r\n var options = this._options;\r\n var y2 = options.y - this._getRadius();\r\n var y1 = options.y - this._getIndentFromCenter();\r\n var x1 = options.x - options.width / 2;\r\n var x2 = x1 + _Number(options.width);\r\n this._element = this._element || this._renderer.path([], \"area\").append(this._rootElement);\r\n this._element.attr({\r\n points: [x1, y1, x1, y2, x2, y2, x2, y1]\r\n })\r\n }\r\n});\r\nvar triangleNeedle = NeedleIndicator.inherit({\r\n _renderPointer: function() {\r\n var options = this._options;\r\n var y2 = options.y - this._getRadius();\r\n var y1 = options.y - this._getIndentFromCenter();\r\n var x1 = options.x - options.width / 2;\r\n var x2 = options.x + options.width / 2;\r\n this._element = this._element || this._renderer.path([], \"area\").append(this._rootElement);\r\n this._element.attr({\r\n points: [x1, y1, options.x, y2, x2, y1]\r\n })\r\n }\r\n});\r\nvar twoColorNeedle = NeedleIndicator.inherit({\r\n _renderPointer: function() {\r\n var options = this._options;\r\n var x1 = options.x - options.width / 2;\r\n var x2 = options.x + options.width / 2;\r\n var y4 = options.y - this._getRadius();\r\n var y1 = options.y - this._getIndentFromCenter();\r\n var fraction = _Number(options.secondFraction) || 0;\r\n var y2;\r\n var y3;\r\n if (fraction >= 1) {\r\n y2 = y3 = y1\r\n } else if (fraction <= 0) {\r\n y2 = y3 = y4\r\n } else {\r\n y3 = y4 + (y1 - y4) * fraction;\r\n y2 = y3 + _Number(options.space)\r\n }\r\n this._firstElement = this._firstElement || this._renderer.path([], \"area\").append(this._rootElement);\r\n this._spaceElement = this._spaceElement || this._renderer.path([], \"area\").append(this._rootElement);\r\n this._secondElement = this._secondElement || this._renderer.path([], \"area\").append(this._rootElement);\r\n this._firstElement.attr({\r\n points: [x1, y1, x1, y2, x2, y2, x2, y1]\r\n });\r\n this._spaceElement.attr({\r\n points: [x1, y2, x1, y3, x2, y3, x2, y2],\r\n class: \"dxg-hole\",\r\n fill: options.containerBackgroundColor\r\n });\r\n this._secondElement.attr({\r\n points: [x1, y3, x1, y4, x2, y4, x2, y3],\r\n class: \"dxg-part\",\r\n fill: options.secondColor\r\n })\r\n },\r\n _clearPointer: function() {\r\n delete this._firstElement;\r\n delete this._secondElement;\r\n delete this._spaceElement\r\n }\r\n});\r\nvar triangleMarker = SimpleIndicator.inherit({\r\n _isEnabled: function() {\r\n return this._options.length > 0 && this._options.width > 0\r\n },\r\n _isVisible: layout => true,\r\n resize(layout) {\r\n return this.callBase(correctRadius(layout, 0))\r\n },\r\n _render: function() {\r\n var options = this._options;\r\n var x = options.x;\r\n var y1 = options.y - options.radius;\r\n var dx = options.width / 2 || 0;\r\n var y2 = y1 - _Number(options.length);\r\n this._element = this._element || this._renderer.path([], \"area\").append(this._rootElement);\r\n var settings = {\r\n points: [x, y1, x - dx, y2, x + dx, y2],\r\n stroke: \"none\",\r\n \"stroke-width\": 0,\r\n \"stroke-linecap\": \"square\"\r\n };\r\n if (options.space > 0) {\r\n settings[\"stroke-width\"] = Math.min(options.space, options.width / 4) || 0;\r\n settings.stroke = settings[\"stroke-width\"] > 0 ? options.containerBackgroundColor || \"none\" : \"none\"\r\n }\r\n this._element.attr(settings).sharp()\r\n },\r\n _clear: function() {\r\n delete this._element\r\n },\r\n _getTrackerSettings: function() {\r\n var options = this._options;\r\n var x = options.x;\r\n var y = options.y - options.radius - options.length / 2;\r\n var width = options.width / 2;\r\n var length = options.length / 2;\r\n width > 10 || (width = 10);\r\n length > 10 || (length = 10);\r\n return {\r\n points: [x - width, y - length, x - width, y + length, x + width, y + length, x + width, y - length]\r\n }\r\n },\r\n measure: function(layout) {\r\n return {\r\n min: layout.radius,\r\n max: layout.radius + _Number(this._options.length)\r\n }\r\n },\r\n getTooltipParameters: function() {\r\n var options = this._options;\r\n var cosSin = _getCosAndSin(this._actualPosition);\r\n var r = options.radius + options.length / 2;\r\n var parameters = this.callBase();\r\n parameters.x = options.x + cosSin.cos * r;\r\n parameters.y = options.y - cosSin.sin * r;\r\n parameters.offset = options.length / 2;\r\n return parameters\r\n }\r\n});\r\nvar textCloud = BaseTextCloudMarker.inherit({\r\n _isEnabled: function() {\r\n return true\r\n },\r\n _isVisible: layout => true,\r\n resize(layout) {\r\n return this.callBase(correctRadius(layout, 0))\r\n },\r\n _getTextCloudOptions: function() {\r\n var cosSin = _getCosAndSin(this._actualPosition);\r\n var nAngle = normalizeAngle(this._actualPosition);\r\n return {\r\n x: this._options.x + cosSin.cos * this._options.radius,\r\n y: this._options.y - cosSin.sin * this._options.radius,\r\n type: nAngle > 270 ? \"left-top\" : nAngle > 180 ? \"top-right\" : nAngle > 90 ? \"right-bottom\" : \"bottom-left\"\r\n }\r\n },\r\n measure: function(layout) {\r\n var arrowLength = _Number(this._options.arrowLength) || 0;\r\n this._measureText();\r\n var verticalOffset = this._textFullHeight + arrowLength;\r\n var horizontalOffset = this._textFullWidth + arrowLength;\r\n return {\r\n min: layout.radius,\r\n max: layout.radius,\r\n horizontalOffset: horizontalOffset,\r\n verticalOffset: verticalOffset,\r\n inverseHorizontalOffset: horizontalOffset,\r\n inverseVerticalOffset: verticalOffset\r\n }\r\n }\r\n});\r\nvar rangeBar = BaseRangeBar.inherit({\r\n _isEnabled: function() {\r\n return this._options.size > 0\r\n },\r\n _isVisible: layout => true,\r\n resize(layout) {\r\n return this.callBase(correctRadius(layout, _Number(this._options.size)))\r\n },\r\n _createBarItem: function() {\r\n return this._renderer.arc().attr({\r\n \"stroke-linejoin\": \"round\"\r\n }).append(this._rootElement)\r\n },\r\n _createTracker: function() {\r\n return this._renderer.arc().attr({\r\n \"stroke-linejoin\": \"round\"\r\n })\r\n },\r\n _setBarSides: function() {\r\n this._maxSide = this._options.radius;\r\n this._minSide = this._maxSide - _Number(this._options.size)\r\n },\r\n _getSpace: function() {\r\n var options = this._options;\r\n return options.space > 0 ? 180 * options.space / options.radius / Math.PI : 0\r\n },\r\n _isTextVisible: function() {\r\n var options = this._options.text || {};\r\n return options.indent > 0\r\n },\r\n _setTextItemsSides: function() {\r\n var options = this._options;\r\n var indent = _Number(options.text.indent);\r\n this._lineFrom = options.y - options.radius;\r\n this._lineTo = this._lineFrom - indent;\r\n this._textRadius = options.radius + indent\r\n },\r\n _getPositions: function() {\r\n var basePosition = this._basePosition;\r\n var actualPosition = this._actualPosition;\r\n var mainPosition1;\r\n var mainPosition2;\r\n if (basePosition >= actualPosition) {\r\n mainPosition1 = basePosition;\r\n mainPosition2 = actualPosition\r\n } else {\r\n mainPosition1 = actualPosition;\r\n mainPosition2 = basePosition\r\n }\r\n return {\r\n start: this._startPosition,\r\n end: this._endPosition,\r\n main1: mainPosition1,\r\n main2: mainPosition2,\r\n back1: Math.min(mainPosition1 + this._space, this._startPosition),\r\n back2: Math.max(mainPosition2 - this._space, this._endPosition)\r\n }\r\n },\r\n _buildItemSettings: function(from, to) {\r\n return {\r\n x: this._options.x,\r\n y: this._options.y,\r\n innerRadius: this._minSide,\r\n outerRadius: this._maxSide,\r\n startAngle: to,\r\n endAngle: from\r\n }\r\n },\r\n _updateTextPosition: function() {\r\n var cosSin = _getCosAndSin(this._actualPosition);\r\n var x = this._options.x + this._textRadius * cosSin.cos;\r\n var y = this._options.y - this._textRadius * cosSin.sin;\r\n x += cosSin.cos * this._textWidth * .6;\r\n y -= cosSin.sin * this._textHeight * .6;\r\n this._text.attr({\r\n x: x,\r\n y: y + this._textVerticalOffset\r\n })\r\n },\r\n _updateLinePosition: function() {\r\n var x = this._options.x;\r\n var x1;\r\n var x2;\r\n if (this._basePosition > this._actualPosition) {\r\n x1 = x - 2;\r\n x2 = x\r\n } else if (this._basePosition < this._actualPosition) {\r\n x1 = x;\r\n x2 = x + 2\r\n } else {\r\n x1 = x - 1;\r\n x2 = x + 1\r\n }\r\n this._line.attr({\r\n points: [x1, this._lineFrom, x1, this._lineTo, x2, this._lineTo, x2, this._lineFrom]\r\n }).rotate(_convertAngleToRendererSpace(this._actualPosition), x, this._options.y).sharp()\r\n },\r\n _getTooltipPosition: function() {\r\n var cosSin = _getCosAndSin((this._basePosition + this._actualPosition) / 2);\r\n var r = (this._minSide + this._maxSide) / 2;\r\n return {\r\n x: this._options.x + cosSin.cos * r,\r\n y: this._options.y - cosSin.sin * r\r\n }\r\n },\r\n measure: function(layout) {\r\n var result = {\r\n min: layout.radius - _Number(this._options.size),\r\n max: layout.radius\r\n };\r\n this._measureText();\r\n if (this._hasText) {\r\n result.max += _Number(this._options.text.indent);\r\n result.horizontalOffset = this._textWidth;\r\n result.verticalOffset = this._textHeight\r\n }\r\n return result\r\n }\r\n});\r\nexport {\r\n rectangleNeedle as _default, rectangleNeedle as rectangleneedle, triangleNeedle as triangleneedle, twoColorNeedle as twocolorneedle, triangleMarker as trianglemarker, textCloud as textcloud, rangeBar as rangebar\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/gauges/circular_range_container.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport BaseRangeContainer from \"./base_range_container\";\r\nvar _Number = Number;\r\nvar _max = Math.max;\r\nimport {\r\n normalizeEnum as _normalizeEnum\r\n} from \"../core/utils\";\r\nvar CircularRangeContainer = BaseRangeContainer.inherit({\r\n _processOptions: function() {\r\n this._inner = this._outer = 0;\r\n switch (_normalizeEnum(this._options.orientation)) {\r\n case \"inside\":\r\n this._inner = 1;\r\n break;\r\n case \"center\":\r\n this._inner = this._outer = .5;\r\n break;\r\n default:\r\n this._outer = 1\r\n }\r\n },\r\n _isVisible: function(layout) {\r\n var width = this._options.width;\r\n width = _Number(width) || _max(_Number(width.start), _Number(width.end));\r\n return layout.radius - this._inner * width > 0\r\n },\r\n _createRange: function(range, layout) {\r\n var width = (range.startWidth + range.endWidth) / 2;\r\n return this._renderer.arc(layout.x, layout.y, layout.radius - this._inner * width, layout.radius + this._outer * width, this._translator.translate(range.end), this._translator.translate(range.start)).attr({\r\n \"stroke-linejoin\": \"round\"\r\n })\r\n },\r\n measure: function(layout) {\r\n var width = this._options.width;\r\n width = _Number(width) || _max(_Number(width.start), _Number(width.end));\r\n return {\r\n min: layout.radius - this._inner * width,\r\n max: layout.radius + this._outer * width\r\n }\r\n }\r\n});\r\nexport default CircularRangeContainer;\r\n","/**\r\n * DevExtreme (esm/viz/gauges/circular_gauge.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar _isFinite = isFinite;\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n clone\r\n} from \"../../core/utils/object\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n BaseGauge\r\n} from \"./base_gauge\";\r\nimport {\r\n dxGauge,\r\n createIndicatorCreator\r\n} from \"./common\";\r\nimport {\r\n normalizeAngle,\r\n getCosAndSin\r\n} from \"../core/utils\";\r\nvar _normalizeAngle = normalizeAngle;\r\nvar _getCosAndSin = getCosAndSin;\r\nimport * as circularIndicators from \"./circular_indicators\";\r\nimport CircularRangeContainer from \"./circular_range_container\";\r\nvar _abs = Math.abs;\r\nvar _max = Math.max;\r\nvar _min = Math.min;\r\nvar _round = Math.round;\r\nvar _each = each;\r\nvar PI = Math.PI;\r\n\r\nfunction getSides(startAngle, endAngle) {\r\n var startCosSin = _getCosAndSin(startAngle);\r\n var endCosSin = _getCosAndSin(endAngle);\r\n var startCos = startCosSin.cos;\r\n var startSin = startCosSin.sin;\r\n var endCos = endCosSin.cos;\r\n var endSin = endCosSin.sin;\r\n return {\r\n left: startSin <= 0 && endSin >= 0 || startSin <= 0 && endSin <= 0 && startCos <= endCos || startSin >= 0 && endSin >= 0 && startCos >= endCos ? -1 : _min(startCos, endCos, 0),\r\n right: startSin >= 0 && endSin <= 0 || startSin >= 0 && endSin >= 0 && startCos >= endCos || startSin <= 0 && endSin <= 0 && startCos <= endCos ? 1 : _max(startCos, endCos, 0),\r\n up: startCos <= 0 && endCos >= 0 || startCos <= 0 && endCos <= 0 && startSin >= endSin || startCos >= 0 && endCos >= 0 && startSin <= endSin ? -1 : -_max(startSin, endSin, 0),\r\n down: startCos >= 0 && endCos <= 0 || startCos >= 0 && endCos >= 0 && startSin <= endSin || startCos <= 0 && endCos <= 0 && startSin >= endSin ? 1 : -_min(startSin, endSin, 0)\r\n }\r\n}\r\nvar dxCircularGauge = dxGauge.inherit({\r\n _rootClass: \"dxg-circular-gauge\",\r\n _factoryMethods: {\r\n rangeContainer: \"createCircularRangeContainer\",\r\n indicator: \"createCircularIndicator\"\r\n },\r\n _gridSpacingFactor: 17,\r\n _scaleTypes: {\r\n type: \"polarAxes\",\r\n drawingType: \"circular\"\r\n },\r\n _getThemeManagerOptions() {\r\n var options = this.callBase.apply(this, arguments);\r\n options.subTheme = \"_circular\";\r\n return options\r\n },\r\n _updateScaleTickIndent: function(scaleOptions) {\r\n var indentFromTick = scaleOptions.label.indentFromTick;\r\n var length = scaleOptions.tick.visible ? scaleOptions.tick.length : 0;\r\n var textParams = this._scale.measureLabels(extend({}, this._canvas));\r\n var scaleOrientation = scaleOptions.orientation;\r\n var tickCorrection = length;\r\n var indentFromAxis = indentFromTick;\r\n if (indentFromTick >= 0) {\r\n if (\"outside\" === scaleOrientation) {\r\n indentFromAxis += tickCorrection\r\n } else if (\"center\" === scaleOrientation) {\r\n indentFromAxis += tickCorrection / 2\r\n }\r\n } else {\r\n var labelCorrection = _max(textParams.width, textParams.height);\r\n indentFromAxis -= labelCorrection;\r\n if (\"inside\" === scaleOrientation) {\r\n indentFromAxis -= tickCorrection\r\n } else if (\"center\" === scaleOrientation) {\r\n indentFromAxis -= tickCorrection / 2\r\n }\r\n }\r\n scaleOptions.label.indentFromAxis = indentFromAxis;\r\n this._scale.updateOptions(scaleOptions)\r\n },\r\n _setupCodomain: function() {\r\n var geometry = this.option(\"geometry\") || {};\r\n var startAngle = geometry.startAngle;\r\n var endAngle = geometry.endAngle;\r\n var sides;\r\n startAngle = _isFinite(startAngle) ? _normalizeAngle(startAngle) : 225;\r\n endAngle = _isFinite(endAngle) ? _normalizeAngle(endAngle) : -45;\r\n if (_abs(startAngle - endAngle) < 1) {\r\n endAngle -= 360;\r\n sides = {\r\n left: -1,\r\n up: -1,\r\n right: 1,\r\n down: 1\r\n }\r\n } else {\r\n startAngle < endAngle && (endAngle -= 360);\r\n sides = getSides(startAngle, endAngle)\r\n }\r\n this._area = {\r\n x: 0,\r\n y: 0,\r\n radius: 100,\r\n startCoord: startAngle,\r\n endCoord: endAngle,\r\n sides: sides\r\n };\r\n this._translator.setCodomain(startAngle, endAngle)\r\n },\r\n _shiftScale: function(layout) {\r\n var scale = this._scale;\r\n var canvas = scale.getCanvas();\r\n canvas.width = canvas.height = 2 * layout.radius;\r\n scale.draw(canvas);\r\n var centerCoords = scale.getCenter();\r\n scale.shift({\r\n right: layout.x - centerCoords.x,\r\n bottom: layout.y - centerCoords.y\r\n })\r\n },\r\n _getScaleLayoutValue: function() {\r\n return this._area.radius\r\n },\r\n _getTicksOrientation: function(scaleOptions) {\r\n return scaleOptions.orientation\r\n },\r\n _getTicksCoefficients: function(options) {\r\n var coefs = {\r\n inner: 0,\r\n outer: 1\r\n };\r\n if (\"inside\" === options.orientation) {\r\n coefs.inner = 1;\r\n coefs.outer = 0\r\n } else if (\"center\" === options.orientation) {\r\n coefs.inner = coefs.outer = .5\r\n }\r\n return coefs\r\n },\r\n _correctScaleIndents: function(result, indentFromTick, textParams) {\r\n if (indentFromTick >= 0) {\r\n result.horizontalOffset = indentFromTick + textParams.width;\r\n result.verticalOffset = indentFromTick + textParams.height\r\n } else {\r\n result.horizontalOffset = result.verticalOffset = 0;\r\n result.min -= -indentFromTick + _max(textParams.width, textParams.height)\r\n }\r\n result.inverseHorizontalOffset = textParams.width / 2;\r\n result.inverseVerticalOffset = textParams.height / 2\r\n },\r\n _measureMainElements: function(elements, scaleMeasurement) {\r\n var radius = this._area.radius;\r\n var maxRadius = 0;\r\n var minRadius = 1 / 0;\r\n var maxHorizontalOffset = 0;\r\n var maxVerticalOffset = 0;\r\n var maxInverseHorizontalOffset = 0;\r\n var maxInverseVerticalOffset = 0;\r\n var scale = this._scale;\r\n _each(elements.concat(scale), (function(_, element) {\r\n var bounds = element.measure ? element.measure({\r\n radius: radius - element.getOffset()\r\n }) : scaleMeasurement;\r\n bounds.min > 0 && (minRadius = _min(minRadius, bounds.min));\r\n bounds.max > 0 && (maxRadius = _max(maxRadius, bounds.max));\r\n bounds.horizontalOffset > 0 && (maxHorizontalOffset = _max(maxHorizontalOffset, bounds.max + bounds.horizontalOffset));\r\n bounds.verticalOffset > 0 && (maxVerticalOffset = _max(maxVerticalOffset, bounds.max + bounds.verticalOffset));\r\n bounds.inverseHorizontalOffset > 0 && (maxInverseHorizontalOffset = _max(maxInverseHorizontalOffset, bounds.inverseHorizontalOffset));\r\n bounds.inverseVerticalOffset > 0 && (maxInverseVerticalOffset = _max(maxInverseVerticalOffset, bounds.inverseVerticalOffset))\r\n }));\r\n maxHorizontalOffset = _max(maxHorizontalOffset - maxRadius, 0);\r\n maxVerticalOffset = _max(maxVerticalOffset - maxRadius, 0);\r\n return {\r\n minRadius: minRadius,\r\n maxRadius: maxRadius,\r\n horizontalMargin: maxHorizontalOffset,\r\n verticalMargin: maxVerticalOffset,\r\n inverseHorizontalMargin: maxInverseHorizontalOffset,\r\n inverseVerticalMargin: maxInverseVerticalOffset\r\n }\r\n },\r\n _applyMainLayout: function(elements, scaleMeasurement) {\r\n var measurements = this._measureMainElements(elements, scaleMeasurement);\r\n var area = this._area;\r\n var sides = area.sides;\r\n var margins = {\r\n left: (sides.left < -.1 ? measurements.horizontalMargin : measurements.inverseHorizontalMargin) || 0,\r\n right: (sides.right > .1 ? measurements.horizontalMargin : measurements.inverseHorizontalMargin) || 0,\r\n top: (sides.up < -.1 ? measurements.verticalMargin : measurements.inverseVerticalMargin) || 0,\r\n bottom: (sides.down > .1 ? measurements.verticalMargin : measurements.inverseVerticalMargin) || 0\r\n };\r\n var rect = selectRectByAspectRatio(this._innerRect, (sides.down - sides.up) / (sides.right - sides.left), margins);\r\n var radius = _min(getWidth(rect) / (sides.right - sides.left), getHeight(rect) / (sides.down - sides.up));\r\n radius = radius - measurements.maxRadius + area.radius;\r\n var x = rect.left - getWidth(rect) * sides.left / (sides.right - sides.left);\r\n var y = rect.top - getHeight(rect) * sides.up / (sides.down - sides.up);\r\n area.x = _round(x);\r\n area.y = _round(y);\r\n area.radius = radius;\r\n rect.left -= margins.left;\r\n rect.right += margins.right;\r\n rect.top -= margins.top;\r\n rect.bottom += margins.bottom;\r\n this._innerRect = rect\r\n },\r\n _getElementLayout: function(offset) {\r\n return {\r\n x: this._area.x,\r\n y: this._area.y,\r\n radius: _round(this._area.radius - offset)\r\n }\r\n },\r\n _getApproximateScreenRange: function() {\r\n var area = this._area;\r\n var r = _min(this._canvas.width / (area.sides.right - area.sides.left), this._canvas.height / (area.sides.down - area.sides.up));\r\n r > area.totalRadius && (r = area.totalRadius);\r\n r *= .8;\r\n return -this._translator.getCodomainRange() * r * PI / 180\r\n },\r\n _getDefaultSize: function() {\r\n return {\r\n width: 300,\r\n height: 300\r\n }\r\n },\r\n _factory: clone(BaseGauge.prototype._factory)\r\n});\r\n\r\nfunction getWidth(rect) {\r\n return rect.right - rect.left\r\n}\r\n\r\nfunction getHeight(rect) {\r\n return rect.bottom - rect.top\r\n}\r\n\r\nfunction selectRectByAspectRatio(srcRect, aspectRatio, margins) {\r\n var rect = extend({}, srcRect);\r\n var selfAspectRatio;\r\n var width = 0;\r\n var height = 0;\r\n margins = margins || {};\r\n if (aspectRatio > 0) {\r\n rect.left += margins.left || 0;\r\n rect.right -= margins.right || 0;\r\n rect.top += margins.top || 0;\r\n rect.bottom -= margins.bottom || 0;\r\n if (getWidth(rect) > 0 && getHeight(rect) > 0) {\r\n selfAspectRatio = getHeight(rect) / getWidth(rect);\r\n if (selfAspectRatio > 1) {\r\n aspectRatio < selfAspectRatio ? width = getWidth(rect) : height = getHeight(rect)\r\n } else {\r\n aspectRatio > selfAspectRatio ? height = getHeight(rect) : width = getWidth(rect)\r\n }\r\n width > 0 || (width = height / aspectRatio);\r\n height > 0 || (height = width * aspectRatio);\r\n width = (getWidth(rect) - width) / 2;\r\n height = (getHeight(rect) - height) / 2;\r\n rect.left += width;\r\n rect.right -= width;\r\n rect.top += height;\r\n rect.bottom -= height\r\n } else {\r\n rect.left = rect.right = (rect.left + rect.right) / 2;\r\n rect.top = rect.bottom = (rect.top + rect.bottom) / 2\r\n }\r\n }\r\n return rect\r\n}\r\nvar indicators = dxCircularGauge.prototype._factory.indicators = {};\r\ndxCircularGauge.prototype._factory.createIndicator = createIndicatorCreator(indicators);\r\nindicators._default = circularIndicators._default;\r\nindicators.rectangleneedle = circularIndicators.rectangleneedle;\r\nindicators.triangleneedle = circularIndicators.triangleneedle;\r\nindicators.twocolorneedle = circularIndicators.twocolorneedle;\r\nindicators.trianglemarker = circularIndicators.trianglemarker;\r\nindicators.textcloud = circularIndicators.textcloud;\r\nindicators.rangebar = circularIndicators.rangebar;\r\ndxCircularGauge.prototype._factory.RangeContainer = CircularRangeContainer;\r\nregisterComponent(\"dxCircularGauge\", dxCircularGauge);\r\nexport default dxCircularGauge;\r\n","/**\r\n * DevExtreme (esm/viz/gauges/common.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n BaseGauge,\r\n compareArrays as _compareArrays\r\n} from \"./base_gauge\";\r\nimport {\r\n isDefined as _isDefined,\r\n isNumeric as _isNumber\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nvar _isArray = Array.isArray;\r\nimport {\r\n Axis\r\n} from \"../axes/base_axis\";\r\nimport {\r\n map as _map,\r\n normalizeEnum as _normalizeEnum\r\n} from \"../core/utils\";\r\nvar _isFinite = isFinite;\r\nvar _Number = Number;\r\nvar _min = Math.min;\r\nvar _max = Math.max;\r\nvar _extend = extend;\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nvar SHIFT_ANGLE = 90;\r\nvar OPTION_VALUE = \"value\";\r\nvar OPTION_SUBVALUES = \"subvalues\";\r\nvar DEFAULT_MINOR_AXIS_DIVISION_FACTOR = 5;\r\nvar DEFAULT_NUMBER_MULTIPLIERS = [1, 2, 5];\r\n\r\nfunction processValue(value, fallbackValue) {\r\n if (null === value) {\r\n return value\r\n }\r\n return _isFinite(value) ? _Number(value) : fallbackValue\r\n}\r\n\r\nfunction parseArrayOfNumbers(arg) {\r\n return _isArray(arg) ? arg : _isNumber(arg) ? [arg] : null\r\n}\r\nexport var dxGauge = BaseGauge.inherit({\r\n _initCore: function() {\r\n var that = this;\r\n var renderer = that._renderer;\r\n that._setupValue(that.option(OPTION_VALUE));\r\n that.__subvalues = parseArrayOfNumbers(that.option(OPTION_SUBVALUES));\r\n that._setupSubvalues(that.__subvalues);\r\n selectMode(that);\r\n that.callBase.apply(that, arguments);\r\n that._rangeContainer = new that._factory.RangeContainer({\r\n renderer: renderer,\r\n container: renderer.root,\r\n translator: that._translator,\r\n themeManager: that._themeManager\r\n });\r\n that._initScale();\r\n that._subvalueIndicatorContainer = that._renderer.g().attr({\r\n class: \"dxg-subvalue-indicators\"\r\n }).linkOn(that._renderer.root, \"valueIndicator\").enableLinks()\r\n },\r\n _fontFields: [\"scale.label.font\", \"valueIndicators.rangebar.text.font\", \"valueIndicators.textcloud.text.font\", \"indicator.text.font\"],\r\n _initScale: function() {\r\n this._scaleGroup = this._renderer.g().attr({\r\n class: \"dxg-scale\"\r\n }).linkOn(this._renderer.root, \"scale\");\r\n this._labelsAxesGroup = this._renderer.g().attr({\r\n class: \"dxg-scale-elements\"\r\n }).linkOn(this._renderer.root, \"scale-elements\");\r\n this._scale = new Axis({\r\n incidentOccurred: this._incidentOccurred,\r\n renderer: this._renderer,\r\n axesContainerGroup: this._scaleGroup,\r\n labelsAxesGroup: this._labelsAxesGroup,\r\n axisType: this._scaleTypes.type,\r\n drawingType: this._scaleTypes.drawingType,\r\n widgetClass: \"dxg\",\r\n getTemplate() {}\r\n })\r\n },\r\n _disposeCore: function() {\r\n var that = this;\r\n that.callBase.apply(that, arguments);\r\n that._scale.dispose();\r\n that._scaleGroup.linkOff();\r\n that._labelsAxesGroup.linkOff();\r\n that._rangeContainer.dispose();\r\n that._disposeValueIndicators();\r\n that._subvalueIndicatorContainer.linkOff();\r\n that._scale = that._scaleGroup = that._labelsAxesGroup = that._rangeContainer = null\r\n },\r\n _disposeValueIndicators: function() {\r\n this._valueIndicator && this._valueIndicator.dispose();\r\n this._subvalueIndicatorsSet && this._subvalueIndicatorsSet.dispose();\r\n this._valueIndicator = this._subvalueIndicatorsSet = null\r\n },\r\n _setupDomainCore: function() {\r\n var scaleOption = this.option(\"scale\") || {};\r\n var startValue = this.option(\"startValue\");\r\n var endValue = this.option(\"endValue\");\r\n startValue = _isNumber(startValue) ? _Number(startValue) : _isNumber(scaleOption.startValue) ? _Number(scaleOption.startValue) : 0;\r\n endValue = _isNumber(endValue) ? _Number(endValue) : _isNumber(scaleOption.endValue) ? _Number(scaleOption.endValue) : 100;\r\n this._baseValue = startValue < endValue ? startValue : endValue;\r\n this._translator.setDomain(startValue, endValue)\r\n },\r\n _cleanContent: function() {\r\n this._rangeContainer.clean();\r\n this._cleanValueIndicators()\r\n },\r\n _measureScale: function(scaleOptions) {\r\n var majorTick = scaleOptions.tick;\r\n var majorTickEnabled = majorTick.visible && majorTick.length > 0 && majorTick.width > 0;\r\n var minorTick = scaleOptions.minorTick;\r\n var minorTickEnabled = minorTick.visible && minorTick.length > 0 && minorTick.width > 0;\r\n var label = scaleOptions.label;\r\n var indentFromTick = Number(label.indentFromTick);\r\n if (!majorTickEnabled && !minorTickEnabled && !label.visible) {\r\n return {}\r\n }\r\n var textParams = this._scale.measureLabels(extend({}, this._canvas));\r\n var layoutValue = this._getScaleLayoutValue();\r\n var result = {\r\n min: layoutValue,\r\n max: layoutValue\r\n };\r\n var coefs = this._getTicksCoefficients(scaleOptions);\r\n var innerCoef = coefs.inner;\r\n var outerCoef = coefs.outer;\r\n if (majorTickEnabled) {\r\n result.min = _min(result.min, layoutValue - innerCoef * majorTick.length);\r\n result.max = _max(result.max, layoutValue + outerCoef * majorTick.length)\r\n }\r\n if (minorTickEnabled) {\r\n result.min = _min(result.min, layoutValue - innerCoef * minorTick.length);\r\n result.max = _max(result.max, layoutValue + outerCoef * minorTick.length)\r\n }\r\n label.visible && this._correctScaleIndents(result, indentFromTick, textParams);\r\n return result\r\n },\r\n _renderContent: function() {\r\n var that = this;\r\n var scaleOptions = that._prepareScaleSettings();\r\n that._rangeContainer.render(_extend(that._getOption(\"rangeContainer\"), {\r\n vertical: that._area.vertical\r\n }));\r\n that._renderScale(scaleOptions);\r\n that._subvalueIndicatorContainer.linkAppend();\r\n var elements = _map([that._rangeContainer].concat(that._prepareValueIndicators()), (function(element) {\r\n return element && element.enabled ? element : null\r\n }));\r\n that._applyMainLayout(elements, that._measureScale(scaleOptions));\r\n elements.forEach(element => element.resize(that._getElementLayout(element.getOffset())));\r\n that._shiftScale(that._getElementLayout(0), scaleOptions);\r\n that._beginValueChanging();\r\n that._updateActiveElements();\r\n that._endValueChanging()\r\n },\r\n _prepareScaleSettings: function() {\r\n var that = this;\r\n var userOptions = that.option(\"scale\");\r\n var scaleOptions = extend(true, {}, that._themeManager.theme(\"scale\"), userOptions);\r\n scaleOptions.label.indentFromAxis = 0;\r\n scaleOptions.isHorizontal = !that._area.vertical;\r\n scaleOptions.forceUserTickInterval |= _isDefined(userOptions) && _isDefined(userOptions.tickInterval) && !_isDefined(userOptions.scaleDivisionFactor);\r\n scaleOptions.axisDivisionFactor = scaleOptions.scaleDivisionFactor || that._gridSpacingFactor;\r\n scaleOptions.minorAxisDivisionFactor = scaleOptions.minorScaleDivisionFactor || DEFAULT_MINOR_AXIS_DIVISION_FACTOR;\r\n scaleOptions.numberMultipliers = DEFAULT_NUMBER_MULTIPLIERS;\r\n scaleOptions.tickOrientation = that._getTicksOrientation(scaleOptions);\r\n if (scaleOptions.label.useRangeColors) {\r\n scaleOptions.label.customizeColor = function() {\r\n return that._rangeContainer.getColorForValue(this.value)\r\n }\r\n }\r\n return scaleOptions\r\n },\r\n _renderScale: function(scaleOptions) {\r\n var bounds = this._translator.getDomain();\r\n var startValue = bounds[0];\r\n var endValue = bounds[1];\r\n var angles = this._translator.getCodomain();\r\n var invert = !!(startValue > endValue ^ scaleOptions.inverted);\r\n var min = _min(startValue, endValue);\r\n var max = _max(startValue, endValue);\r\n scaleOptions.min = min;\r\n scaleOptions.max = max;\r\n scaleOptions.startAngle = SHIFT_ANGLE - angles[0];\r\n scaleOptions.endAngle = SHIFT_ANGLE - angles[1];\r\n scaleOptions.skipViewportExtending = true;\r\n scaleOptions.inverted = invert;\r\n this._scale.updateOptions(scaleOptions);\r\n this._scale.setBusinessRange({\r\n axisType: \"continuous\",\r\n dataType: \"numeric\",\r\n min: min,\r\n max: max,\r\n invert: invert\r\n });\r\n this._updateScaleTickIndent(scaleOptions);\r\n this._scaleGroup.linkAppend();\r\n this._labelsAxesGroup.linkAppend();\r\n this._scale.draw(extend({}, this._canvas))\r\n },\r\n _updateIndicatorSettings: function(settings) {\r\n settings.currentValue = settings.baseValue = _isFinite(this._translator.translate(settings.baseValue)) ? _Number(settings.baseValue) : this._baseValue;\r\n settings.vertical = this._area.vertical;\r\n if (settings.text && !settings.text.format) {\r\n settings.text.format = this._defaultFormatOptions\r\n }\r\n },\r\n _prepareIndicatorSettings: function(options, defaultTypeField) {\r\n var theme = this._themeManager.theme(\"valueIndicators\");\r\n var type = _normalizeEnum(options.type || this._themeManager.theme(defaultTypeField));\r\n var settings = _extend(true, {}, theme._default, theme[type], options);\r\n settings.type = type;\r\n settings.animation = this._animationSettings;\r\n settings.containerBackgroundColor = this._containerBackgroundColor;\r\n this._updateIndicatorSettings(settings);\r\n return settings\r\n },\r\n _cleanValueIndicators: function() {\r\n this._valueIndicator && this._valueIndicator.clean();\r\n this._subvalueIndicatorsSet && this._subvalueIndicatorsSet.clean()\r\n },\r\n _prepareValueIndicators: function() {\r\n this._prepareValueIndicator();\r\n null !== this.__subvalues && this._prepareSubvalueIndicators();\r\n return [this._valueIndicator, this._subvalueIndicatorsSet]\r\n },\r\n _updateActiveElements: function() {\r\n this._updateValueIndicator();\r\n this._updateSubvalueIndicators()\r\n },\r\n _prepareValueIndicator: function() {\r\n var target = this._valueIndicator;\r\n var settings = this._prepareIndicatorSettings(this.option(\"valueIndicator\") || {}, \"valueIndicatorType\");\r\n if (target && target.type !== settings.type) {\r\n target.dispose();\r\n target = null\r\n }\r\n if (!target) {\r\n target = this._valueIndicator = this._createIndicator(settings.type, this._renderer.root, \"dxg-value-indicator\", \"value-indicator\")\r\n }\r\n target.render(settings)\r\n },\r\n _createSubvalueIndicatorsSet: function() {\r\n var that = this;\r\n var root = that._subvalueIndicatorContainer;\r\n return new ValueIndicatorsSet({\r\n createIndicator: function(type, i) {\r\n return that._createIndicator(type, root, \"dxg-subvalue-indicator\", \"subvalue-indicator\", i)\r\n },\r\n createPalette: function(palette) {\r\n return that._themeManager.createPalette(palette)\r\n }\r\n })\r\n },\r\n _prepareSubvalueIndicators: function() {\r\n var target = this._subvalueIndicatorsSet;\r\n var settings = this._prepareIndicatorSettings(this.option(\"subvalueIndicator\") || {}, \"subvalueIndicatorType\");\r\n if (!target) {\r\n target = this._subvalueIndicatorsSet = this._createSubvalueIndicatorsSet()\r\n }\r\n var isRecreate = settings.type !== target.type;\r\n target.type = settings.type;\r\n var dummy = this._createIndicator(settings.type, this._renderer.root);\r\n if (dummy) {\r\n dummy.dispose();\r\n target.render(settings, isRecreate)\r\n }\r\n },\r\n _setupValue: function(value) {\r\n this.__value = processValue(value, this.__value)\r\n },\r\n _setupSubvalues: function(subvalues) {\r\n var vals = void 0 === subvalues ? this.__subvalues : parseArrayOfNumbers(subvalues);\r\n var i;\r\n var ii;\r\n var list;\r\n if (null === vals) {\r\n return\r\n }\r\n for (i = 0, ii = vals.length, list = []; i < ii; ++i) {\r\n list.push(processValue(vals[i], this.__subvalues[i]))\r\n }\r\n this.__subvalues = list\r\n },\r\n _updateValueIndicator: function() {\r\n this._valueIndicator && this._valueIndicator.value(this.__value, this._noAnimation)\r\n },\r\n _updateSubvalueIndicators: function() {\r\n this._subvalueIndicatorsSet && this._subvalueIndicatorsSet.values(this.__subvalues, this._noAnimation)\r\n },\r\n value: function(arg) {\r\n if (void 0 !== arg) {\r\n this._changeValue(arg);\r\n return this\r\n }\r\n return this.__value\r\n },\r\n subvalues: function(arg) {\r\n if (void 0 !== arg) {\r\n this._changeSubvalues(arg);\r\n return this\r\n }\r\n return null !== this.__subvalues ? this.__subvalues.slice() : void 0\r\n },\r\n _changeValue: function(value) {\r\n this._setupValue(value);\r\n this._beginValueChanging();\r\n this._updateValueIndicator();\r\n if (this.__value !== this.option(OPTION_VALUE)) {\r\n this.option(OPTION_VALUE, this.__value)\r\n }\r\n this._endValueChanging()\r\n },\r\n _changeSubvalues: function(subvalues) {\r\n if (null !== this.__subvalues) {\r\n this._setupSubvalues(subvalues);\r\n this._beginValueChanging();\r\n this._updateSubvalueIndicators();\r\n this._endValueChanging()\r\n } else {\r\n this.__subvalues = parseArrayOfNumbers(subvalues);\r\n this._setContentSize();\r\n this._renderContent()\r\n }\r\n if (!_compareArrays(this.__subvalues, this.option(OPTION_SUBVALUES))) {\r\n this.option(OPTION_SUBVALUES, this.__subvalues)\r\n }\r\n },\r\n _optionChangesMap: {\r\n scale: \"DOMAIN\",\r\n rangeContainer: \"MOSTLY_TOTAL\",\r\n valueIndicator: \"MOSTLY_TOTAL\",\r\n subvalueIndicator: \"MOSTLY_TOTAL\",\r\n containerBackgroundColor: \"MOSTLY_TOTAL\",\r\n value: \"VALUE\",\r\n subvalues: \"SUBVALUES\",\r\n valueIndicators: \"MOSTLY_TOTAL\"\r\n },\r\n _customChangesOrder: [\"VALUE\", \"SUBVALUES\"],\r\n _change_VALUE: function() {\r\n this._changeValue(this.option(OPTION_VALUE))\r\n },\r\n _change_SUBVALUES: function() {\r\n this._changeSubvalues(this.option(OPTION_SUBVALUES))\r\n },\r\n _applyMainLayout: null,\r\n _getElementLayout: null,\r\n _createIndicator: function(type, owner, className, trackerType, trackerIndex, _strict) {\r\n var indicator = this._factory.createIndicator({\r\n renderer: this._renderer,\r\n translator: this._translator,\r\n owner: owner,\r\n tracker: this._tracker,\r\n className: className\r\n }, type, _strict);\r\n if (indicator) {\r\n indicator.type = type;\r\n indicator._trackerInfo = {\r\n type: trackerType,\r\n index: trackerIndex\r\n }\r\n }\r\n return indicator\r\n },\r\n _getApproximateScreenRange: null\r\n});\r\n\r\nfunction valueGetter(arg) {\r\n return arg ? arg.value : null\r\n}\r\n\r\nfunction setupValues(that, fieldName, optionItems) {\r\n var currentValues = that[fieldName];\r\n var newValues = _isArray(optionItems) ? _map(optionItems, valueGetter) : [];\r\n var i = 0;\r\n var ii = newValues.length;\r\n var list = [];\r\n for (; i < ii; ++i) {\r\n list.push(processValue(newValues[i], currentValues[i]))\r\n }\r\n that[fieldName] = list\r\n}\r\n\r\nfunction selectMode(gauge) {\r\n if (void 0 === gauge.option(OPTION_VALUE) && void 0 === gauge.option(OPTION_SUBVALUES)) {\r\n if (void 0 !== gauge.option(\"valueIndicators\")) {\r\n disableDefaultMode(gauge);\r\n selectHardMode(gauge)\r\n }\r\n }\r\n}\r\n\r\nfunction disableDefaultMode(that) {\r\n that.value = that.subvalues = _noop;\r\n that._setupValue = that._setupSubvalues = that._updateValueIndicator = that._updateSubvalueIndicators = null\r\n}\r\n\r\nfunction selectHardMode(that) {\r\n that._indicatorValues = [];\r\n setupValues(that, \"_indicatorValues\", that.option(\"valueIndicators\"));\r\n that._valueIndicators = [];\r\n var _applyMostlyTotalChange = that._applyMostlyTotalChange;\r\n that._applyMostlyTotalChange = function() {\r\n setupValues(this, \"_indicatorValues\", this.option(\"valueIndicators\"));\r\n _applyMostlyTotalChange.call(this)\r\n };\r\n that._updateActiveElements = updateActiveElements_hardMode;\r\n that._prepareValueIndicators = prepareValueIndicators_hardMode;\r\n that._disposeValueIndicators = disposeValueIndicators_hardMode;\r\n that._cleanValueIndicators = cleanValueIndicators_hardMode;\r\n that.indicatorValue = indicatorValue_hardMode\r\n}\r\n\r\nfunction updateActiveElements_hardMode() {\r\n var that = this;\r\n that._valueIndicators.forEach(valueIndicator => {\r\n valueIndicator.value(that._indicatorValues[valueIndicator.index], that._noAnimation)\r\n })\r\n}\r\n\r\nfunction prepareValueIndicators_hardMode() {\r\n var that = this;\r\n var valueIndicators = that._valueIndicators || [];\r\n var userOptions = that.option(\"valueIndicators\");\r\n var optionList = [];\r\n var i = 0;\r\n var ii;\r\n for (ii = _isArray(userOptions) ? userOptions.length : 0; i < ii; ++i) {\r\n optionList.push(userOptions[i])\r\n }\r\n for (ii = valueIndicators.length; i < ii; ++i) {\r\n optionList.push(null)\r\n }\r\n var newValueIndicators = [];\r\n optionList.forEach((userSettings, i) => {\r\n var valueIndicator = valueIndicators[i];\r\n if (!userSettings) {\r\n valueIndicator && valueIndicator.dispose();\r\n return\r\n }\r\n var settings = that._prepareIndicatorSettings(userSettings, \"valueIndicatorType\");\r\n if (valueIndicator && valueIndicator.type !== settings.type) {\r\n valueIndicator.dispose();\r\n valueIndicator = null\r\n }\r\n if (!valueIndicator) {\r\n valueIndicator = that._createIndicator(settings.type, that._renderer.root, \"dxg-value-indicator\", \"value-indicator\", i, true)\r\n }\r\n if (valueIndicator) {\r\n valueIndicator.index = i;\r\n valueIndicator.render(settings);\r\n newValueIndicators.push(valueIndicator)\r\n }\r\n });\r\n that._valueIndicators = newValueIndicators;\r\n return that._valueIndicators\r\n}\r\n\r\nfunction disposeValueIndicators_hardMode() {\r\n this._valueIndicators.forEach(valueIndicator => valueIndicator.dispose());\r\n this._valueIndicators = null\r\n}\r\n\r\nfunction cleanValueIndicators_hardMode() {\r\n this._valueIndicators.forEach(valueIndicator => valueIndicator.clean())\r\n}\r\n\r\nfunction indicatorValue_hardMode(index, value) {\r\n return accessPointerValue(this, this._valueIndicators, this._indicatorValues, index, value)\r\n}\r\n\r\nfunction accessPointerValue(that, pointers, values, index, value) {\r\n if (void 0 !== value) {\r\n if (void 0 !== values[index]) {\r\n values[index] = processValue(value, values[index]);\r\n pointers[index] && pointers[index].value(values[index])\r\n }\r\n return that\r\n } else {\r\n return values[index]\r\n }\r\n}\r\n\r\nfunction ValueIndicatorsSet(parameters) {\r\n this._parameters = parameters;\r\n this._indicators = []\r\n}\r\nValueIndicatorsSet.prototype = {\r\n constructor: ValueIndicatorsSet,\r\n dispose: function() {\r\n this._indicators.forEach(indicator => indicator.dispose());\r\n this._parameters = this._options = this._indicators = this._colorPalette = this._palette = null;\r\n return this\r\n },\r\n clean: function() {\r\n this._sample && this._sample.clean().dispose();\r\n this._indicators.forEach(indicator => indicator.clean());\r\n this._sample = this._options = this._palette = null;\r\n return this\r\n },\r\n render: function(options, isRecreate) {\r\n var that = this;\r\n that._options = options;\r\n that._sample = that._parameters.createIndicator(that.type);\r\n that._sample.render(options);\r\n that.enabled = that._sample.enabled;\r\n that._palette = _isDefined(options.palette) ? that._parameters.createPalette(options.palette) : null;\r\n if (that.enabled) {\r\n that._generatePalette(that._indicators.length);\r\n that._indicators = _map(that._indicators, (function(indicator, i) {\r\n if (isRecreate) {\r\n indicator.dispose();\r\n indicator = that._parameters.createIndicator(that.type, i)\r\n }\r\n indicator.render(that._getIndicatorOptions(i));\r\n return indicator\r\n }))\r\n }\r\n return that\r\n },\r\n getOffset: function() {\r\n return this._sample.getOffset()\r\n },\r\n resize: function(layout) {\r\n this._layout = layout;\r\n this._indicators.forEach(indicator => indicator.resize(layout));\r\n return this\r\n },\r\n measure: function(layout) {\r\n return this._sample.measure(layout)\r\n },\r\n _getIndicatorOptions: function(index) {\r\n var result = this._options;\r\n if (this._colorPalette) {\r\n result = _extend({}, result, {\r\n color: this._colorPalette[index]\r\n })\r\n }\r\n return result\r\n },\r\n _generatePalette: function(count) {\r\n var colors = null;\r\n if (this._palette) {\r\n this._palette.reset();\r\n colors = this._palette.generateColors(count, {\r\n repeat: true\r\n })\r\n }\r\n this._colorPalette = colors\r\n },\r\n _adjustIndicatorsCount: function(count) {\r\n var indicators = this._indicators;\r\n var i;\r\n var ii;\r\n var indicator;\r\n var indicatorsLen = indicators.length;\r\n if (indicatorsLen > count) {\r\n for (i = count, ii = indicatorsLen; i < ii; ++i) {\r\n indicators[i].clean().dispose()\r\n }\r\n this._indicators = indicators.slice(0, count);\r\n this._generatePalette(indicators.length)\r\n } else if (indicatorsLen < count) {\r\n this._generatePalette(count);\r\n for (i = indicatorsLen, ii = count; i < ii; ++i) {\r\n indicator = this._parameters.createIndicator(this.type, i);\r\n indicator.render(this._getIndicatorOptions(i)).resize(this._layout);\r\n indicators.push(indicator)\r\n }\r\n }\r\n },\r\n values: function(arg, _noAnimation) {\r\n if (!this.enabled) {\r\n return\r\n }\r\n if (void 0 !== arg) {\r\n if (!_isArray(arg)) {\r\n arg = _isFinite(arg) ? [Number(arg)] : null\r\n }\r\n if (arg) {\r\n this._adjustIndicatorsCount(arg.length);\r\n this._indicators.forEach((indicator, i) => indicator.value(arg[i], _noAnimation))\r\n }\r\n return this\r\n }\r\n return _map(this._indicators, (function(indicator) {\r\n return indicator.value()\r\n }))\r\n }\r\n};\r\nexport function createIndicatorCreator(indicators) {\r\n return function(parameters, type, _strict) {\r\n var indicatorType = indicators[_normalizeEnum(type)] || !_strict && indicators._default;\r\n return indicatorType ? new indicatorType(parameters) : null\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/gauges/linear_indicators.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n BaseIndicator,\r\n BaseTextCloudMarker,\r\n BaseRangeBar\r\n} from \"./base_indicators\";\r\nvar _Number = Number;\r\nimport {\r\n normalizeEnum as _normalizeEnum\r\n} from \"../core/utils\";\r\nvar SimpleIndicator = BaseIndicator.inherit({\r\n _move: function() {\r\n var delta = this._actualPosition - this._zeroPosition;\r\n this._rootElement.move(this.vertical ? 0 : delta, this.vertical ? delta : 0);\r\n this._trackerElement && this._trackerElement.move(this.vertical ? 0 : delta, this.vertical ? delta : 0)\r\n },\r\n _isEnabled: function() {\r\n this.vertical = this._options.vertical;\r\n return this._options.length > 0 && this._options.width > 0\r\n },\r\n _isVisible: function() {\r\n return true\r\n },\r\n _getTrackerSettings: function() {\r\n var options = this._options;\r\n var x1;\r\n var x2;\r\n var y1;\r\n var y2;\r\n var width = options.width / 2;\r\n var length = options.length / 2;\r\n var p = this._zeroPosition;\r\n width > 10 || (width = 10);\r\n length > 10 || (length = 10);\r\n if (this.vertical) {\r\n x1 = options.x - length;\r\n x2 = options.x + length;\r\n y1 = p + width;\r\n y2 = p - width\r\n } else {\r\n x1 = p - width;\r\n x2 = p + width;\r\n y1 = options.y + length;\r\n y2 = options.y - length\r\n }\r\n return {\r\n points: [x1, y1, x1, y2, x2, y2, x2, y1]\r\n }\r\n },\r\n _render: function() {\r\n this._zeroPosition = this._translator.getCodomainStart()\r\n },\r\n _clear: function() {\r\n delete this._element\r\n },\r\n measure: function(layout) {\r\n var p = this.vertical ? layout.x : layout.y;\r\n return {\r\n min: p - this._options.length / 2,\r\n max: p + this._options.length / 2\r\n }\r\n },\r\n getTooltipParameters: function() {\r\n var options = this._options;\r\n var p = this._actualPosition;\r\n var parameters = {\r\n x: p,\r\n y: p,\r\n value: this._currentValue,\r\n color: options.color,\r\n offset: options.width / 2\r\n };\r\n this.vertical ? parameters.x = options.x : parameters.y = options.y;\r\n return parameters\r\n }\r\n});\r\nvar rectangle = SimpleIndicator.inherit({\r\n _render: function() {\r\n var options = this._options;\r\n var x1;\r\n var x2;\r\n var y1;\r\n var y2;\r\n this.callBase();\r\n var p = this._zeroPosition;\r\n if (this.vertical) {\r\n x1 = options.x - options.length / 2;\r\n x2 = options.x + options.length / 2;\r\n y1 = p + options.width / 2;\r\n y2 = p - options.width / 2\r\n } else {\r\n x1 = p - options.width / 2;\r\n x2 = p + options.width / 2;\r\n y1 = options.y + options.length / 2;\r\n y2 = options.y - options.length / 2\r\n }\r\n this._element = this._element || this._renderer.path([], \"area\").append(this._rootElement);\r\n this._element.attr({\r\n points: [x1, y1, x1, y2, x2, y2, x2, y1]\r\n })\r\n }\r\n});\r\nvar rhombus = SimpleIndicator.inherit({\r\n _render: function() {\r\n var options = this._options;\r\n var x;\r\n var y;\r\n var dx;\r\n var dy;\r\n this.callBase();\r\n if (this.vertical) {\r\n x = options.x;\r\n y = this._zeroPosition;\r\n dx = options.length / 2 || 0;\r\n dy = options.width / 2 || 0\r\n } else {\r\n x = this._zeroPosition;\r\n y = options.y;\r\n dx = options.width / 2 || 0;\r\n dy = options.length / 2 || 0\r\n }\r\n this._element = this._element || this._renderer.path([], \"area\").append(this._rootElement);\r\n this._element.attr({\r\n points: [x - dx, y, x, y - dy, x + dx, y, x, y + dy]\r\n })\r\n }\r\n});\r\nvar circle = SimpleIndicator.inherit({\r\n _render: function() {\r\n var options = this._options;\r\n var x;\r\n var y;\r\n this.callBase();\r\n if (this.vertical) {\r\n x = options.x;\r\n y = this._zeroPosition\r\n } else {\r\n x = this._zeroPosition;\r\n y = options.y\r\n }\r\n var r = options.length / 2 || 0;\r\n this._element = this._element || this._renderer.circle().append(this._rootElement);\r\n this._element.attr({\r\n cx: x,\r\n cy: y,\r\n r: r\r\n })\r\n }\r\n});\r\nvar triangleMarker = SimpleIndicator.inherit({\r\n _isEnabled: function() {\r\n this.vertical = this._options.vertical;\r\n this._inverted = this.vertical ? \"right\" === _normalizeEnum(this._options.horizontalOrientation) : \"bottom\" === _normalizeEnum(this._options.verticalOrientation);\r\n return this._options.length > 0 && this._options.width > 0\r\n },\r\n _isVisible: function() {\r\n return true\r\n },\r\n _render: function() {\r\n var options = this._options;\r\n var x1;\r\n var x2;\r\n var y1;\r\n var y2;\r\n var settings = {\r\n stroke: \"none\",\r\n \"stroke-width\": 0,\r\n \"stroke-linecap\": \"square\"\r\n };\r\n this.callBase();\r\n if (this.vertical) {\r\n x1 = options.x;\r\n y1 = this._zeroPosition;\r\n x2 = x1 + _Number(this._inverted ? options.length : -options.length);\r\n settings.points = [x1, y1, x2, y1 - options.width / 2, x2, y1 + options.width / 2]\r\n } else {\r\n y1 = options.y;\r\n x1 = this._zeroPosition;\r\n y2 = y1 + _Number(this._inverted ? options.length : -options.length);\r\n settings.points = [x1, y1, x1 - options.width / 2, y2, x1 + options.width / 2, y2]\r\n }\r\n if (options.space > 0) {\r\n settings[\"stroke-width\"] = Math.min(options.space, options.width / 4) || 0;\r\n settings.stroke = settings[\"stroke-width\"] > 0 ? options.containerBackgroundColor || \"none\" : \"none\"\r\n }\r\n this._element = this._element || this._renderer.path([], \"area\").append(this._rootElement);\r\n this._element.attr(settings).sharp()\r\n },\r\n _getTrackerSettings: function() {\r\n var options = this._options;\r\n var width = options.width / 2;\r\n var length = _Number(options.length);\r\n var x1;\r\n var x2;\r\n var y1;\r\n var y2;\r\n var result;\r\n width > 10 || (width = 10);\r\n length > 20 || (length = 20);\r\n if (this.vertical) {\r\n x1 = options.x;\r\n x2 = x1 + (this._inverted ? length : -length);\r\n y1 = this._zeroPosition + width;\r\n y2 = this._zeroPosition - width;\r\n result = [x1, y1, x2, y1, x2, y2, x1, y2]\r\n } else {\r\n y1 = options.y;\r\n y2 = y1 + (this._inverted ? length : -length);\r\n x1 = this._zeroPosition - width;\r\n x2 = this._zeroPosition + width;\r\n result = [x1, y1, x1, y2, x2, y2, x2, y1]\r\n }\r\n return {\r\n points: result\r\n }\r\n },\r\n measure: function(layout) {\r\n var length = _Number(this._options.length);\r\n var minBound;\r\n var maxBound;\r\n if (this.vertical) {\r\n minBound = maxBound = layout.x;\r\n if (this._inverted) {\r\n maxBound = minBound + length\r\n } else {\r\n minBound = maxBound - length\r\n }\r\n } else {\r\n minBound = maxBound = layout.y;\r\n if (this._inverted) {\r\n maxBound = minBound + length\r\n } else {\r\n minBound = maxBound - length\r\n }\r\n }\r\n return {\r\n min: minBound,\r\n max: maxBound\r\n }\r\n },\r\n getTooltipParameters: function() {\r\n var options = this._options;\r\n var s = (this._inverted ? options.length : -options.length) / 2;\r\n var parameters = this.callBase();\r\n this.vertical ? parameters.x += s : parameters.y += s;\r\n parameters.offset = options.length / 2;\r\n return parameters\r\n }\r\n});\r\nvar textCloud = BaseTextCloudMarker.inherit({\r\n _isEnabled: function() {\r\n this.vertical = this._options.vertical;\r\n this._inverted = this.vertical ? \"right\" === _normalizeEnum(this._options.horizontalOrientation) : \"bottom\" === _normalizeEnum(this._options.verticalOrientation);\r\n return true\r\n },\r\n _isVisible: function() {\r\n return true\r\n },\r\n _getTextCloudOptions: function() {\r\n var x = this._actualPosition;\r\n var y = this._actualPosition;\r\n var type;\r\n if (this.vertical) {\r\n x = this._options.x;\r\n type = this._inverted ? \"top-left\" : \"top-right\"\r\n } else {\r\n y = this._options.y;\r\n type = this._inverted ? \"right-top\" : \"right-bottom\"\r\n }\r\n return {\r\n x: x,\r\n y: y,\r\n type: type\r\n }\r\n },\r\n measure: function(layout) {\r\n var minBound;\r\n var maxBound;\r\n var arrowLength = _Number(this._options.arrowLength) || 0;\r\n this._measureText();\r\n if (this.vertical) {\r\n if (this._inverted) {\r\n minBound = layout.x;\r\n maxBound = layout.x + arrowLength + this._textFullWidth\r\n } else {\r\n minBound = layout.x - arrowLength - this._textFullWidth;\r\n maxBound = layout.x\r\n }\r\n } else if (this._inverted) {\r\n minBound = layout.y;\r\n maxBound = layout.y + arrowLength + this._textFullHeight\r\n } else {\r\n minBound = layout.y - arrowLength - this._textFullHeight;\r\n maxBound = layout.y\r\n }\r\n return {\r\n min: minBound,\r\n max: maxBound,\r\n indent: 0\r\n }\r\n },\r\n _correctCloudType(type, _ref, _ref2) {\r\n var {\r\n x: x,\r\n y: y\r\n } = _ref;\r\n var {\r\n width: width,\r\n height: height\r\n } = _ref2;\r\n if (\"right-top\" === type || \"right-bottom\" === type) {\r\n if (x - width < this._translator.getCodomainStart()) {\r\n type = \"left-\".concat(type.split(\"-\")[1])\r\n }\r\n } else if (\"top-left\" === type || \"top-right\" === type) {\r\n if (y + height > this._translator.getCodomainStart()) {\r\n type = \"bottom-\".concat(type.split(\"-\")[1])\r\n }\r\n }\r\n return type\r\n }\r\n});\r\nvar rangeBar = BaseRangeBar.inherit({\r\n _isEnabled: function() {\r\n this.vertical = this._options.vertical;\r\n this._inverted = this.vertical ? \"right\" === _normalizeEnum(this._options.horizontalOrientation) : \"bottom\" === _normalizeEnum(this._options.verticalOrientation);\r\n return this._options.size > 0\r\n },\r\n _isVisible: function() {\r\n return true\r\n },\r\n _createBarItem: function() {\r\n return this._renderer.path([], \"area\").append(this._rootElement)\r\n },\r\n _createTracker: function() {\r\n return this._renderer.path([], \"area\")\r\n },\r\n _setBarSides: function() {\r\n var options = this._options;\r\n var size = _Number(options.size);\r\n var minSide;\r\n var maxSide;\r\n if (this.vertical) {\r\n if (this._inverted) {\r\n minSide = options.x;\r\n maxSide = options.x + size\r\n } else {\r\n minSide = options.x - size;\r\n maxSide = options.x\r\n }\r\n } else if (this._inverted) {\r\n minSide = options.y;\r\n maxSide = options.y + size\r\n } else {\r\n minSide = options.y - size;\r\n maxSide = options.y\r\n }\r\n this._minSide = minSide;\r\n this._maxSide = maxSide;\r\n this._minBound = minSide;\r\n this._maxBound = maxSide\r\n },\r\n _getSpace: function() {\r\n var options = this._options;\r\n return options.space > 0 ? _Number(options.space) : 0\r\n },\r\n _isTextVisible: function() {\r\n var textOptions = this._options.text || {};\r\n return textOptions.indent > 0 || textOptions.indent < 0\r\n },\r\n _getTextAlign: function() {\r\n return this.vertical ? this._options.text.indent > 0 ? \"left\" : \"right\" : \"center\"\r\n },\r\n _setTextItemsSides: function() {\r\n var indent = _Number(this._options.text.indent);\r\n if (indent > 0) {\r\n this._lineStart = this._maxSide;\r\n this._lineEnd = this._maxSide + indent;\r\n this._textPosition = this._lineEnd + (this.vertical ? 2 : this._textHeight / 2);\r\n this._maxBound = this._textPosition + (this.vertical ? this._textWidth : this._textHeight / 2)\r\n } else if (indent < 0) {\r\n this._lineStart = this._minSide;\r\n this._lineEnd = this._minSide + indent;\r\n this._textPosition = this._lineEnd - (this.vertical ? 2 : this._textHeight / 2);\r\n this._minBound = this._textPosition - (this.vertical ? this._textWidth : this._textHeight / 2)\r\n }\r\n },\r\n _getPositions: function() {\r\n var startPosition = this._startPosition;\r\n var endPosition = this._endPosition;\r\n var space = this._space;\r\n var basePosition = this._basePosition;\r\n var actualPosition = this._actualPosition;\r\n var mainPosition1;\r\n var mainPosition2;\r\n var backPosition1;\r\n var backPosition2;\r\n if (startPosition < endPosition) {\r\n if (basePosition < actualPosition) {\r\n mainPosition1 = basePosition;\r\n mainPosition2 = actualPosition\r\n } else {\r\n mainPosition1 = actualPosition;\r\n mainPosition2 = basePosition\r\n }\r\n backPosition1 = mainPosition1 - space;\r\n backPosition2 = mainPosition2 + space\r\n } else {\r\n if (basePosition > actualPosition) {\r\n mainPosition1 = basePosition;\r\n mainPosition2 = actualPosition\r\n } else {\r\n mainPosition1 = actualPosition;\r\n mainPosition2 = basePosition\r\n }\r\n backPosition1 = mainPosition1 + space;\r\n backPosition2 = mainPosition2 - space\r\n }\r\n return {\r\n start: startPosition,\r\n end: endPosition,\r\n main1: mainPosition1,\r\n main2: mainPosition2,\r\n back1: backPosition1,\r\n back2: backPosition2\r\n }\r\n },\r\n _buildItemSettings: function(from, to) {\r\n var side1 = this._minSide;\r\n var side2 = this._maxSide;\r\n var points = this.vertical ? [side1, from, side1, to, side2, to, side2, from] : [from, side1, from, side2, to, side2, to, side1];\r\n return {\r\n points: points\r\n }\r\n },\r\n _updateTextPosition: function() {\r\n this._text.attr(this.vertical ? {\r\n x: this._textPosition,\r\n y: this._actualPosition + this._textVerticalOffset\r\n } : {\r\n x: this._actualPosition,\r\n y: this._textPosition + this._textVerticalOffset\r\n })\r\n },\r\n _updateLinePosition: function() {\r\n var actualPosition = this._actualPosition;\r\n var side1;\r\n var side2;\r\n var points;\r\n if (this.vertical) {\r\n if (this._basePosition >= actualPosition) {\r\n side1 = actualPosition;\r\n side2 = actualPosition + 2\r\n } else {\r\n side1 = actualPosition - 2;\r\n side2 = actualPosition\r\n }\r\n points = [this._lineStart, side1, this._lineStart, side2, this._lineEnd, side2, this._lineEnd, side1]\r\n } else {\r\n if (this._basePosition <= actualPosition) {\r\n side1 = actualPosition - 2;\r\n side2 = actualPosition\r\n } else {\r\n side1 = actualPosition;\r\n side2 = actualPosition + 2\r\n }\r\n points = [side1, this._lineStart, side1, this._lineEnd, side2, this._lineEnd, side2, this._lineStart]\r\n }\r\n this._line.attr({\r\n points: points\r\n }).sharp()\r\n },\r\n _getTooltipPosition: function() {\r\n var crossCenter = (this._minSide + this._maxSide) / 2;\r\n var alongCenter = (this._basePosition + this._actualPosition) / 2;\r\n return this.vertical ? {\r\n x: crossCenter,\r\n y: alongCenter\r\n } : {\r\n x: alongCenter,\r\n y: crossCenter\r\n }\r\n },\r\n measure: function(layout) {\r\n var size = _Number(this._options.size);\r\n var textIndent = _Number(this._options.text.indent);\r\n var minBound;\r\n var maxBound;\r\n var indent;\r\n this._measureText();\r\n if (this.vertical) {\r\n minBound = maxBound = layout.x;\r\n if (this._inverted) {\r\n maxBound += size\r\n } else {\r\n minBound -= size\r\n }\r\n if (this._hasText) {\r\n indent = this._textHeight / 2;\r\n if (textIndent > 0) {\r\n maxBound += textIndent + this._textWidth\r\n }\r\n if (textIndent < 0) {\r\n minBound += textIndent - this._textWidth\r\n }\r\n }\r\n } else {\r\n minBound = maxBound = layout.y;\r\n if (this._inverted) {\r\n maxBound += size\r\n } else {\r\n minBound -= size\r\n }\r\n if (this._hasText) {\r\n indent = this._textWidth / 2;\r\n if (textIndent > 0) {\r\n maxBound += textIndent + this._textHeight\r\n }\r\n if (textIndent < 0) {\r\n minBound += textIndent - this._textHeight\r\n }\r\n }\r\n }\r\n return {\r\n min: minBound,\r\n max: maxBound,\r\n indent: indent\r\n }\r\n }\r\n});\r\nexport {\r\n rangeBar as _default, rectangle, rhombus, circle, triangleMarker as trianglemarker, textCloud as textcloud, rangeBar as rangebar\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/gauges/linear_range_container.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport BaseRangeContainer from \"./base_range_container\";\r\nvar _Number = Number;\r\nvar _max = Math.max;\r\nimport {\r\n normalizeEnum as _normalizeEnum\r\n} from \"../core/utils\";\r\nvar LinearRangeContainer = BaseRangeContainer.inherit({\r\n _processOptions: function() {\r\n this.vertical = this._options.vertical;\r\n this._inner = this._outer = 0;\r\n if (this.vertical) {\r\n switch (_normalizeEnum(this._options.horizontalOrientation)) {\r\n case \"left\":\r\n this._inner = 1;\r\n break;\r\n case \"center\":\r\n this._inner = this._outer = .5;\r\n break;\r\n default:\r\n this._outer = 1\r\n }\r\n } else {\r\n switch (_normalizeEnum(this._options.verticalOrientation)) {\r\n case \"top\":\r\n this._inner = 1;\r\n break;\r\n case \"center\":\r\n this._inner = this._outer = .5;\r\n break;\r\n default:\r\n this._outer = 1\r\n }\r\n }\r\n },\r\n _isVisible: function() {\r\n return true\r\n },\r\n _createRange: function(range, layout) {\r\n var inner = this._inner;\r\n var outer = this._outer;\r\n var startPosition = this._translator.translate(range.start);\r\n var endPosition = this._translator.translate(range.end);\r\n var points;\r\n var x = layout.x;\r\n var y = layout.y;\r\n var startWidth = range.startWidth;\r\n var endWidth = range.endWidth;\r\n if (this.vertical) {\r\n points = [x - startWidth * inner, startPosition, x - endWidth * inner, endPosition, x + endWidth * outer, endPosition, x + startWidth * outer, startPosition]\r\n } else {\r\n points = [startPosition, y + startWidth * outer, startPosition, y - startWidth * inner, endPosition, y - endWidth * inner, endPosition, y + endWidth * outer]\r\n }\r\n return this._renderer.path(points, \"area\")\r\n },\r\n measure: function(layout) {\r\n var result = {};\r\n var width;\r\n result.min = result.max = layout[this.vertical ? \"x\" : \"y\"];\r\n width = this._options.width;\r\n width = _Number(width) || _max(_Number(width.start), _Number(width.end));\r\n result.min -= this._inner * width;\r\n result.max += this._outer * width;\r\n return result\r\n }\r\n});\r\nexport default LinearRangeContainer;\r\n","/**\r\n * DevExtreme (esm/viz/gauges/linear_gauge.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n each as _each\r\n} from \"../../core/utils/iterator\";\r\nvar _max = Math.max;\r\nvar _min = Math.min;\r\nvar _round = Math.round;\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n clone\r\n} from \"../../core/utils/object\";\r\nimport {\r\n BaseGauge\r\n} from \"./base_gauge\";\r\nimport {\r\n dxGauge,\r\n createIndicatorCreator\r\n} from \"./common\";\r\nimport {\r\n normalizeEnum as _normalizeEnum\r\n} from \"../core/utils\";\r\nimport * as linearIndicators from \"./linear_indicators\";\r\nimport LinearRangeContainer from \"./linear_range_container\";\r\nvar dxLinearGauge = dxGauge.inherit({\r\n _rootClass: \"dxg-linear-gauge\",\r\n _factoryMethods: {\r\n rangeContainer: \"createLinearRangeContainer\",\r\n indicator: \"createLinearIndicator\"\r\n },\r\n _gridSpacingFactor: 25,\r\n _scaleTypes: {\r\n type: \"xyAxes\",\r\n drawingType: \"linear\"\r\n },\r\n _getTicksOrientation: function(scaleOptions) {\r\n return scaleOptions.isHorizontal ? scaleOptions.verticalOrientation : scaleOptions.horizontalOrientation\r\n },\r\n _getThemeManagerOptions() {\r\n var options = this.callBase.apply(this, arguments);\r\n options.subTheme = \"_linear\";\r\n return options\r\n },\r\n _getInvertedState() {\r\n return !this._area.vertical && this.option(\"rtlEnabled\")\r\n },\r\n _prepareScaleSettings: function() {\r\n var scaleOptions = this.callBase();\r\n scaleOptions.inverted = this._getInvertedState();\r\n return scaleOptions\r\n },\r\n _updateScaleTickIndent: function(scaleOptions) {\r\n var indentFromTick = scaleOptions.label.indentFromTick;\r\n var length = scaleOptions.tick.length;\r\n var textParams = this._scale.measureLabels(extend({}, this._canvas));\r\n var verticalTextCorrection = scaleOptions.isHorizontal ? textParams.height + textParams.y : 0;\r\n var isIndentPositive = indentFromTick > 0;\r\n var orientation;\r\n var textCorrection;\r\n var tickCorrection;\r\n if (scaleOptions.isHorizontal) {\r\n orientation = isIndentPositive ? {\r\n center: .5,\r\n top: 0,\r\n bottom: 1\r\n } : {\r\n center: .5,\r\n top: 1,\r\n bottom: 0\r\n };\r\n tickCorrection = length * orientation[scaleOptions.verticalOrientation];\r\n textCorrection = textParams.y\r\n } else {\r\n orientation = isIndentPositive ? {\r\n center: .5,\r\n left: 0,\r\n right: 1\r\n } : {\r\n center: .5,\r\n left: 1,\r\n right: 0\r\n };\r\n tickCorrection = length * orientation[scaleOptions.horizontalOrientation];\r\n textCorrection = -textParams.width\r\n }\r\n scaleOptions.label.indentFromAxis = -indentFromTick + (isIndentPositive ? -tickCorrection + textCorrection : tickCorrection - verticalTextCorrection);\r\n this._scale.updateOptions(scaleOptions)\r\n },\r\n _shiftScale: function(layout, scaleOptions) {\r\n var canvas = extend({}, this._canvas);\r\n var isHorizontal = scaleOptions.isHorizontal;\r\n var scale = this._scale;\r\n canvas[isHorizontal ? \"left\" : \"top\"] = this._area[isHorizontal ? \"startCoord\" : \"endCoord\"];\r\n canvas[isHorizontal ? \"right\" : \"bottom\"] = canvas[isHorizontal ? \"width\" : \"height\"] - this._area[isHorizontal ? \"endCoord\" : \"startCoord\"];\r\n scale.draw(canvas);\r\n scale.shift({\r\n left: -layout.x,\r\n top: -layout.y\r\n })\r\n },\r\n _setupCodomain: function() {\r\n var geometry = this.option(\"geometry\") || {};\r\n var vertical = \"vertical\" === _normalizeEnum(geometry.orientation);\r\n this._area = {\r\n vertical: vertical,\r\n x: 0,\r\n y: 0,\r\n startCoord: -100,\r\n endCoord: 100\r\n };\r\n this._rangeContainer.vertical = vertical;\r\n this._translator.setInverted(this._getInvertedState());\r\n this._translator.setCodomain(-100, 100)\r\n },\r\n _getScaleLayoutValue: function() {\r\n return this._area[this._area.vertical ? \"x\" : \"y\"]\r\n },\r\n _getTicksCoefficients: function(options) {\r\n var coefs = {\r\n inner: 0,\r\n outer: 1\r\n };\r\n if (this._area.vertical) {\r\n if (\"left\" === options.horizontalOrientation) {\r\n coefs.inner = 1;\r\n coefs.outer = 0\r\n } else if (\"center\" === options.horizontalOrientation) {\r\n coefs.inner = coefs.outer = .5\r\n }\r\n } else if (\"top\" === options.verticalOrientation) {\r\n coefs.inner = 1;\r\n coefs.outer = 0\r\n } else if (\"center\" === options.verticalOrientation) {\r\n coefs.inner = coefs.outer = .5\r\n }\r\n return coefs\r\n },\r\n _correctScaleIndents: function(result, indentFromTick, textParams) {\r\n var vertical = this._area.vertical;\r\n if (indentFromTick >= 0) {\r\n result.max += indentFromTick + textParams[vertical ? \"width\" : \"height\"]\r\n } else {\r\n result.min -= -indentFromTick + textParams[vertical ? \"width\" : \"height\"]\r\n }\r\n result.indent = textParams[vertical ? \"height\" : \"width\"] / 2\r\n },\r\n _measureMainElements: function(elements, scaleMeasurement) {\r\n var x = this._area.x;\r\n var y = this._area.y;\r\n var minBound = 1e3;\r\n var maxBound = 0;\r\n var indent = 0;\r\n var scale = this._scale;\r\n _each(elements.concat(scale), (function(_, element) {\r\n var bounds = element.measure ? element.measure({\r\n x: x + element.getOffset(),\r\n y: y + element.getOffset()\r\n }) : scaleMeasurement;\r\n void 0 !== bounds.max && (maxBound = _max(maxBound, bounds.max));\r\n void 0 !== bounds.min && (minBound = _min(minBound, bounds.min));\r\n bounds.indent > 0 && (indent = _max(indent, bounds.indent))\r\n }));\r\n return {\r\n minBound: minBound,\r\n maxBound: maxBound,\r\n indent: indent\r\n }\r\n },\r\n _applyMainLayout: function(elements, scaleMeasurement) {\r\n var measurements = this._measureMainElements(elements, scaleMeasurement);\r\n var area = this._area;\r\n var rect;\r\n var offset;\r\n if (area.vertical) {\r\n rect = selectRectBySizes(this._innerRect, {\r\n width: measurements.maxBound - measurements.minBound\r\n });\r\n offset = (rect.left + rect.right) / 2 - (measurements.minBound + measurements.maxBound) / 2;\r\n area.startCoord = rect.bottom - measurements.indent;\r\n area.endCoord = rect.top + measurements.indent;\r\n area.x = _round(area.x + offset)\r\n } else {\r\n rect = selectRectBySizes(this._innerRect, {\r\n height: measurements.maxBound - measurements.minBound\r\n });\r\n offset = (rect.top + rect.bottom) / 2 - (measurements.minBound + measurements.maxBound) / 2;\r\n area.startCoord = rect.left + measurements.indent;\r\n area.endCoord = rect.right - measurements.indent;\r\n area.y = _round(area.y + offset)\r\n }\r\n this._translator.setCodomain(area.startCoord, area.endCoord);\r\n this._innerRect = rect\r\n },\r\n _getElementLayout: function(offset) {\r\n return {\r\n x: _round(this._area.x + offset),\r\n y: _round(this._area.y + offset)\r\n }\r\n },\r\n _getApproximateScreenRange: function() {\r\n var area = this._area;\r\n var s = area.vertical ? this._canvas.height : this._canvas.width;\r\n s > area.totalSize && (s = area.totalSize);\r\n s *= .8;\r\n return s\r\n },\r\n _getDefaultSize: function() {\r\n var geometry = this.option(\"geometry\") || {};\r\n if (\"vertical\" === geometry.orientation) {\r\n return {\r\n width: 100,\r\n height: 300\r\n }\r\n } else {\r\n return {\r\n width: 300,\r\n height: 100\r\n }\r\n }\r\n },\r\n _factory: clone(BaseGauge.prototype._factory)\r\n});\r\n\r\nfunction selectRectBySizes(srcRect, sizes, margins) {\r\n var rect = extend({}, srcRect);\r\n var step;\r\n margins = margins || {};\r\n if (sizes) {\r\n rect.left += margins.left || 0;\r\n rect.right -= margins.right || 0;\r\n rect.top += margins.top || 0;\r\n rect.bottom -= margins.bottom || 0;\r\n if (sizes.width > 0) {\r\n step = (rect.right - rect.left - sizes.width) / 2;\r\n if (step > 0) {\r\n rect.left += step;\r\n rect.right -= step\r\n }\r\n }\r\n if (sizes.height > 0) {\r\n step = (rect.bottom - rect.top - sizes.height) / 2;\r\n if (step > 0) {\r\n rect.top += step;\r\n rect.bottom -= step\r\n }\r\n }\r\n }\r\n return rect\r\n}\r\nvar indicators = dxLinearGauge.prototype._factory.indicators = {};\r\ndxLinearGauge.prototype._factory.createIndicator = createIndicatorCreator(indicators);\r\nindicators._default = linearIndicators._default;\r\nindicators.rectangle = linearIndicators.rectangle;\r\nindicators.rhombus = linearIndicators.rhombus;\r\nindicators.circle = linearIndicators.circle;\r\nindicators.trianglemarker = linearIndicators.trianglemarker;\r\nindicators.textcloud = linearIndicators.textcloud;\r\nindicators.rangebar = linearIndicators.rangebar;\r\ndxLinearGauge.prototype._factory.RangeContainer = LinearRangeContainer;\r\nregisterComponent(\"dxLinearGauge\", dxLinearGauge);\r\nexport default dxLinearGauge;\r\n","/**\r\n * DevExtreme (esm/viz/linear_gauge.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport LinearGauge from \"./gauges/linear_gauge\";\r\nexport default LinearGauge;\r\n","/**\r\n * DevExtreme (esm/__internal/viz/m_pie_chart.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n extend as _extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each as _each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n isNumeric\r\n} from \"../../core/utils/type\";\r\nimport consts from \"../../viz/components/consts\";\r\nimport {\r\n plugins\r\n} from \"../../viz/core/annotations\";\r\nimport {\r\n getVerticallyShiftedAngularCoords as _getVerticallyShiftedAngularCoords,\r\n normalizeAngle,\r\n patchFontOptions\r\n} from \"../../viz/core/utils\";\r\nimport {\r\n Range\r\n} from \"../../viz/translators/range\";\r\nimport {\r\n Translator1D\r\n} from \"../../viz/translators/translator1d\";\r\nimport {\r\n BaseChart,\r\n overlapping\r\n} from \"./chart_components/m_base_chart\";\r\nvar {\r\n states: states\r\n} = consts;\r\nvar seriesSpacing = consts.pieSeriesSpacing;\r\nvar OPTIONS_FOR_REFRESH_SERIES = [\"startAngle\", \"innerRadius\", \"segmentsDirection\", \"type\"];\r\nvar NORMAL_STATE = states.normalMark;\r\nvar HOVER_STATE = states.hoverMark;\r\nvar SELECTED_STATE = states.selectedMark;\r\nvar MAX_RESOLVE_ITERATION_COUNT = 5;\r\nvar LEGEND_ACTIONS = [states.resetItem, states.applyHover, states.applySelected, states.applySelected];\r\n\r\nfunction shiftInColumnFunction(box, length) {\r\n return {\r\n x: box.x,\r\n y: box.y - length\r\n }\r\n}\r\n\r\nfunction dividePoints(series, points) {\r\n return series.getVisiblePoints().reduce((r, point) => {\r\n var angle = normalizeAngle(point.middleAngle);\r\n (angle <= 90 || angle >= 270 ? r.right : r.left).push(point);\r\n return r\r\n }, points || {\r\n left: [],\r\n right: []\r\n })\r\n}\r\n\r\nfunction resolveOverlappedLabels(points, shiftCallback, inverseDirection, canvas) {\r\n var overlapped;\r\n if (inverseDirection) {\r\n points.left.reverse();\r\n points.right.reverse()\r\n }\r\n overlapped = overlapping.resolveLabelOverlappingInOneDirection(points.left, canvas, false, false, shiftCallback);\r\n return overlapping.resolveLabelOverlappingInOneDirection(points.right, canvas, false, false, shiftCallback) || overlapped\r\n}\r\n\r\nfunction getLegendItemAction(points) {\r\n var state = NORMAL_STATE;\r\n points.forEach(point => {\r\n var _a;\r\n var seriesOptions = null === (_a = point.series) || void 0 === _a ? void 0 : _a.getOptions();\r\n var pointState = point.fullState;\r\n if (\"none\" === (null === seriesOptions || void 0 === seriesOptions ? void 0 : seriesOptions.hoverMode)) {\r\n pointState &= ~HOVER_STATE\r\n }\r\n if (\"none\" === (null === seriesOptions || void 0 === seriesOptions ? void 0 : seriesOptions.selectionMode)) {\r\n pointState &= ~SELECTED_STATE\r\n }\r\n state |= pointState\r\n });\r\n return LEGEND_ACTIONS[state]\r\n}\r\n\r\nfunction correctPercentValue(value) {\r\n if (isNumeric(value)) {\r\n if (value > 1) {\r\n value = 1\r\n } else if (value < 0) {\r\n value = 0\r\n }\r\n } else {\r\n value = void 0\r\n }\r\n return value\r\n}\r\nvar pieSizeEqualizer = function() {\r\n function removeFromList(list, item) {\r\n return list.filter(li => li !== item)\r\n }\r\n var pies = [];\r\n var timers = {};\r\n return {\r\n queue(pie) {\r\n var group = pie.getSizeGroup();\r\n pies = (list = pies, item = pie, removeFromList(list, item).concat(item));\r\n var list, item;\r\n clearTimeout(timers[group]);\r\n timers[group] = setTimeout(() => {\r\n ! function(group, allPies) {\r\n var pies = allPies.filter(p => p._isVisible() && p.getSizeGroup() === group);\r\n var minRadius = Math.min.apply(null, pies.map(p => p.getSizeGroupLayout().radius));\r\n var minPie = pies.filter(p => p.getSizeGroupLayout().radius === minRadius);\r\n pies.forEach(p => p.render({\r\n force: true,\r\n sizeGroupLayout: minPie.length ? minPie[0].getSizeGroupLayout() : {}\r\n }))\r\n }(group, pies)\r\n })\r\n },\r\n remove(pie) {\r\n pies = removeFromList(pies, pie);\r\n if (!pies.length) {\r\n timers = {}\r\n }\r\n }\r\n }\r\n}();\r\nvar dxPieChart = BaseChart.inherit({\r\n _themeSection: \"pie\",\r\n _layoutManagerOptions() {\r\n return _extend(true, {}, this.callBase(), {\r\n piePercentage: correctPercentValue(this._themeManager.getOptions(\"diameter\")),\r\n minPiePercentage: correctPercentValue(this._themeManager.getOptions(\"minDiameter\"))\r\n })\r\n },\r\n _customChangesOrder: [\"CENTER_TEMPLATE\"],\r\n _optionChangesMap: {\r\n diameter: \"REINIT\",\r\n minDiameter: \"REINIT\",\r\n sizeGroup: \"REINIT\",\r\n centerTemplate: \"CENTER_TEMPLATE\"\r\n },\r\n _change_CENTER_TEMPLATE() {\r\n this._renderCenterTemplate()\r\n },\r\n _disposeCore() {\r\n pieSizeEqualizer.remove(this);\r\n this.callBase();\r\n this._centerTemplateGroup.linkOff().dispose()\r\n },\r\n _groupSeries() {\r\n var _a;\r\n var {\r\n series: series\r\n } = this;\r\n this._groupsData = {\r\n groups: [{\r\n series: series,\r\n valueOptions: {\r\n valueType: \"numeric\"\r\n }\r\n }],\r\n argumentOptions: null === (_a = series[0]) || void 0 === _a ? void 0 : _a.getOptions()\r\n }\r\n },\r\n getArgumentAxis: () => null,\r\n _getValueAxis() {\r\n var translator = (new Translator1D).setCodomain(360, 0);\r\n return {\r\n getTranslator: () => translator,\r\n setBusinessRange(range) {\r\n translator.setDomain(range.min, range.max)\r\n }\r\n }\r\n },\r\n _populateBusinessRange() {\r\n this.series.map(series => {\r\n var range = new Range;\r\n range.addRange(series.getRangeData().val);\r\n series.getValueAxis().setBusinessRange(range);\r\n return range\r\n })\r\n },\r\n _specialProcessSeries() {\r\n _each(this.series, (_, singleSeries) => {\r\n singleSeries.arrangePoints()\r\n })\r\n },\r\n _checkPaneName: () => true,\r\n _processSingleSeries(singleSeries) {\r\n this.callBase(singleSeries);\r\n singleSeries.arrangePoints()\r\n },\r\n _handleSeriesDataUpdated() {\r\n var maxPointCount = 0;\r\n this.series.forEach(s => {\r\n maxPointCount = Math.max(s.getPointsCount(), maxPointCount)\r\n });\r\n this.series.forEach(s => {\r\n s.setMaxPointsCount(maxPointCount)\r\n });\r\n this.callBase()\r\n },\r\n _getLegendOptions(item) {\r\n var legendItem = this.callBase(item);\r\n var {\r\n legendData: legendData\r\n } = legendItem;\r\n legendData.argument = item.argument;\r\n legendData.argumentIndex = item.argumentIndex;\r\n legendData.points = [item];\r\n return legendItem\r\n },\r\n _getLegendTargets() {\r\n var itemsByArgument = {};\r\n (this.series || []).forEach(series => {\r\n series.getPoints().forEach(point => {\r\n var argument = point.argument.valueOf();\r\n var index = series.getPointsByArg(argument).indexOf(point);\r\n var key = argument.valueOf().toString() + index;\r\n itemsByArgument[key] = itemsByArgument[key] || [];\r\n var argumentCount = itemsByArgument[key].push(point);\r\n point.index = itemsByArgument[key][argumentCount - 2] ? itemsByArgument[key][argumentCount - 2].index : Object.keys(itemsByArgument).length - 1;\r\n point.argumentIndex = index\r\n })\r\n });\r\n var items = [];\r\n _each(itemsByArgument, (_, points) => {\r\n points.forEach((point, index) => {\r\n if (0 === index) {\r\n items.push(this._getLegendOptions(point));\r\n return\r\n }\r\n var item = items[items.length - 1];\r\n item.legendData.points.push(point);\r\n if (!item.visible) {\r\n item.visible = point.isVisible()\r\n }\r\n })\r\n });\r\n return items\r\n },\r\n _getLayoutTargets() {\r\n return [{\r\n canvas: this._canvas\r\n }]\r\n },\r\n _getLayoutSeries(series, drawOptions) {\r\n var layout;\r\n var canvas = this._canvas;\r\n var drawnLabels = false;\r\n layout = this.layoutManager.applyPieChartSeriesLayout(canvas, series, true);\r\n series.forEach(singleSeries => {\r\n singleSeries.correctPosition(layout, canvas);\r\n drawnLabels = singleSeries.drawLabelsWOPoints() || drawnLabels\r\n });\r\n if (drawnLabels) {\r\n layout = this.layoutManager.applyPieChartSeriesLayout(canvas, series, drawOptions.hideLayoutLabels)\r\n }\r\n series.forEach(singleSeries => {\r\n singleSeries.hideLabels()\r\n });\r\n this._sizeGroupLayout = {\r\n x: layout.centerX,\r\n y: layout.centerY,\r\n radius: layout.radiusOuter,\r\n drawOptions: drawOptions\r\n };\r\n return layout\r\n },\r\n _getLayoutSeriesForEqualPies(series, sizeGroupLayout) {\r\n var canvas = this._canvas;\r\n var layout = this.layoutManager.applyEqualPieChartLayout(series, sizeGroupLayout);\r\n series.forEach(s => {\r\n s.correctPosition(layout, canvas);\r\n s.drawLabelsWOPoints()\r\n });\r\n this.layoutManager.correctPieLabelRadius(series, layout, canvas);\r\n return layout\r\n },\r\n _updateSeriesDimensions(drawOptions) {\r\n var visibleSeries = this._getVisibleSeries();\r\n var lengthVisibleSeries = visibleSeries.length;\r\n var innerRad;\r\n var delta;\r\n var layout;\r\n var {\r\n sizeGroupLayout: sizeGroupLayout\r\n } = drawOptions;\r\n if (lengthVisibleSeries) {\r\n layout = sizeGroupLayout ? this._getLayoutSeriesForEqualPies(visibleSeries, sizeGroupLayout) : this._getLayoutSeries(visibleSeries, drawOptions);\r\n delta = (layout.radiusOuter - layout.radiusInner - seriesSpacing * (lengthVisibleSeries - 1)) / lengthVisibleSeries;\r\n innerRad = layout.radiusInner;\r\n this._setGeometry(layout);\r\n visibleSeries.forEach(singleSeries => {\r\n singleSeries.correctRadius({\r\n radiusInner: innerRad,\r\n radiusOuter: innerRad + delta\r\n });\r\n innerRad += delta + seriesSpacing\r\n })\r\n }\r\n },\r\n _renderSeries(drawOptions, isRotated, isLegendInside) {\r\n this._calculateSeriesLayout(drawOptions, isRotated);\r\n if (!drawOptions.sizeGroupLayout && this.getSizeGroup()) {\r\n pieSizeEqualizer.queue(this);\r\n this._clearCanvas();\r\n return\r\n }\r\n this._renderSeriesElements(drawOptions, isLegendInside)\r\n },\r\n _createHtmlStructure() {\r\n this.callBase();\r\n this._centerTemplateGroup = this._renderer.g().attr({\r\n class: \"dxc-hole-template\"\r\n }).linkOn(this._renderer.root, \"center-template\").css(patchFontOptions(this._themeManager._font)).linkAppend()\r\n },\r\n _renderExtraElements() {\r\n this._requestChange([\"CENTER_TEMPLATE\"])\r\n },\r\n _renderCenterTemplate() {\r\n var template = this.option(\"centerTemplate\");\r\n var centerTemplateGroup = this._centerTemplateGroup.clear();\r\n if (!template) {\r\n return\r\n }\r\n centerTemplateGroup.attr({\r\n visibility: \"hidden\"\r\n });\r\n template = this._getTemplate(template);\r\n template.render({\r\n model: this,\r\n container: centerTemplateGroup.element,\r\n onRendered: () => {\r\n var group = centerTemplateGroup;\r\n var bBox = group.getBBox();\r\n group.move(this._center.x - (bBox.x + bBox.width / 2), this._center.y - (bBox.y + bBox.height / 2));\r\n group.attr({\r\n visibility: \"visible\"\r\n })\r\n }\r\n })\r\n },\r\n getInnerRadius() {\r\n return this._innerRadius\r\n },\r\n _getLegendCallBack() {\r\n var legend = this._legend;\r\n var items = this._getLegendTargets().map(i => i.legendData);\r\n return target => {\r\n items.forEach(data => {\r\n var points = [];\r\n var callback = legend.getActionCallback({\r\n index: data.id\r\n });\r\n this.series.forEach(series => {\r\n var seriesPoints = series.getPointsByKeys(data.argument, data.argumentIndex);\r\n points.push.apply(points, seriesPoints)\r\n });\r\n if (target && target.argument === data.argument && target.argumentIndex === data.argumentIndex) {\r\n points.push(target)\r\n }\r\n callback(getLegendItemAction(points))\r\n })\r\n }\r\n },\r\n _locateLabels(resolveLabelOverlapping) {\r\n var iterationCount = 0;\r\n var labelsWereOverlapped;\r\n var wordWrapApplied;\r\n do {\r\n wordWrapApplied = this._adjustSeriesLabels(\"shift\" === resolveLabelOverlapping);\r\n labelsWereOverlapped = this._resolveLabelOverlapping(resolveLabelOverlapping)\r\n } while ((labelsWereOverlapped || wordWrapApplied) && ++iterationCount < MAX_RESOLVE_ITERATION_COUNT)\r\n },\r\n _adjustSeriesLabels(moveLabelsFromCenter) {\r\n return this.series.reduce((r, s) => s.adjustLabels(moveLabelsFromCenter) || r, false)\r\n },\r\n _applyExtraSettings: _noop,\r\n _resolveLabelOverlappingShift() {\r\n var inverseDirection = \"anticlockwise\" === this.option(\"segmentsDirection\");\r\n var seriesByPosition = this.series.reduce((r, s) => {\r\n (r[s.getOptions().label.position] || r.outside).push(s);\r\n return r\r\n }, {\r\n inside: [],\r\n columns: [],\r\n outside: []\r\n });\r\n var labelsOverlapped = false;\r\n if (seriesByPosition.inside.length > 0) {\r\n var pointsToResolve = seriesByPosition.inside.reduce((r, singleSeries) => {\r\n var visiblePoints = singleSeries.getVisiblePoints();\r\n return visiblePoints.reduce((r, point) => {\r\n r.left.push(point);\r\n return r\r\n }, r)\r\n }, {\r\n left: [],\r\n right: []\r\n });\r\n labelsOverlapped = resolveOverlappedLabels(pointsToResolve, shiftInColumnFunction, inverseDirection, this._canvas) || labelsOverlapped\r\n }\r\n labelsOverlapped = seriesByPosition.columns.reduce((r, singleSeries) => resolveOverlappedLabels(dividePoints(singleSeries), shiftInColumnFunction, inverseDirection, this._canvas) || r, labelsOverlapped);\r\n if (seriesByPosition.outside.length > 0) {\r\n labelsOverlapped = resolveOverlappedLabels(seriesByPosition.outside.reduce((r, singleSeries) => dividePoints(singleSeries, r), null), (box, length) => _getVerticallyShiftedAngularCoords(box, -length, this._center), inverseDirection, this._canvas) || labelsOverlapped\r\n }\r\n return labelsOverlapped\r\n },\r\n _setGeometry(_ref) {\r\n var {\r\n centerX: x,\r\n centerY: y,\r\n radiusInner: radiusInner\r\n } = _ref;\r\n this._center = {\r\n x: x,\r\n y: y\r\n };\r\n this._innerRadius = radiusInner\r\n },\r\n _disposeSeries() {\r\n this.callBase.apply(this, arguments);\r\n this._abstractSeries = null\r\n },\r\n _legendDataField: \"point\",\r\n _legendItemTextField: \"argument\",\r\n _applyPointMarkersAutoHiding: _noop,\r\n _renderTrackers: _noop,\r\n _trackerType: \"PieTracker\",\r\n _createScrollBar: _noop,\r\n _updateAxesLayout: _noop,\r\n _applyClipRects: _noop,\r\n _appendAdditionalSeriesGroups: _noop,\r\n _prepareToRender: _noop,\r\n _isLegendInside: _noop,\r\n _renderAxes: _noop,\r\n _shrinkAxes: _noop,\r\n _isRotated: _noop,\r\n _seriesPopulatedHandlerCore: _noop,\r\n _reinitAxes: _noop,\r\n _correctAxes: _noop,\r\n _getExtraOptions() {\r\n return {\r\n startAngle: this.option(\"startAngle\"),\r\n innerRadius: this.option(\"innerRadius\"),\r\n segmentsDirection: this.option(\"segmentsDirection\"),\r\n type: this.option(\"type\")\r\n }\r\n },\r\n getSizeGroup() {\r\n return this._themeManager.getOptions(\"sizeGroup\")\r\n },\r\n getSizeGroupLayout() {\r\n return this._sizeGroupLayout || {}\r\n }\r\n});\r\n_each(OPTIONS_FOR_REFRESH_SERIES, (_, name) => {\r\n dxPieChart.prototype._optionChangesMap[name] = \"REFRESH_SERIES_DATA_INIT\"\r\n});\r\ndxPieChart.addPlugin(plugins.core);\r\ndxPieChart.addPlugin(plugins.pieChart);\r\nregisterComponent(\"dxPieChart\", dxPieChart);\r\nexport default dxPieChart;\r\n","/**\r\n * DevExtreme (esm/viz/pie_chart.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport PieChart from \"../__internal/viz/m_pie_chart\";\r\nexport default PieChart;\r\n","/**\r\n * DevExtreme (esm/__internal/viz/m_polar_chart.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n plugins\r\n} from \"../../viz/core/annotations\";\r\nimport {\r\n convertPolarToXY,\r\n normalizeAngle\r\n} from \"../../viz/core/utils\";\r\nimport {\r\n AdvancedChart\r\n} from \"./chart_components/m_advanced_chart\";\r\nvar DEFAULT_PANE_NAME = \"default\";\r\nvar DOUBLE_PI_ANGLE = 360;\r\nvar dxPolarChart = AdvancedChart.inherit({\r\n _themeSection: \"polar\",\r\n _createPanes() {\r\n this.callBase();\r\n return [{\r\n name: DEFAULT_PANE_NAME\r\n }]\r\n },\r\n _checkPaneName: () => true,\r\n _getAxisRenderingOptions(typeSelector) {\r\n var isArgumentAxis = \"argumentAxis\" === typeSelector;\r\n var type = isArgumentAxis ? \"circular\" : \"linear\";\r\n var useSpiderWeb = this.option(\"useSpiderWeb\");\r\n if (useSpiderWeb) {\r\n type += \"Spider\"\r\n }\r\n return {\r\n axisType: \"polarAxes\",\r\n drawingType: type\r\n }\r\n },\r\n _executeAppendBeforeSeries(append) {\r\n append()\r\n },\r\n _prepareAxisOptions(typeSelector, axisOptions) {\r\n var isArgumentAxis = \"argumentAxis\" === typeSelector;\r\n var themeManager = this._themeManager;\r\n var axisUserOptions = this.option(\"argumentAxis\");\r\n var argumentAxisOptions = themeManager.getOptions(\"argumentAxis\", axisUserOptions) || {};\r\n var startAngle = isFinite(argumentAxisOptions.startAngle) ? normalizeAngle(argumentAxisOptions.startAngle) : 0;\r\n return {\r\n type: this.option(\"useSpiderWeb\") && isArgumentAxis ? \"discrete\" : axisOptions.type,\r\n isHorizontal: true,\r\n showCustomBoundaryTicks: isArgumentAxis,\r\n startAngle: startAngle,\r\n endAngle: startAngle + 360\r\n }\r\n },\r\n _optionChangesMap: {\r\n useSpiderWeb: \"USE_SPIDER_WEB\"\r\n },\r\n _change_USE_SPIDER_WEB() {\r\n this._disposeAxes();\r\n this._requestChange([\"AXES_AND_PANES\"])\r\n },\r\n _getExtraOptions() {\r\n return {\r\n spiderWidget: this.option(\"useSpiderWeb\")\r\n }\r\n },\r\n _prepareToRender() {\r\n this._appendAxesGroups();\r\n return {}\r\n },\r\n _calcCanvas() {\r\n var canvas = extend({}, this._canvas);\r\n var argumentAxis = this.getArgumentAxis();\r\n var margins = argumentAxis.getMargins();\r\n Object.keys(margins).forEach(margin => {\r\n canvas[margin] = canvas[\"original\".concat(margin[0].toUpperCase()).concat(margin.slice(1))] + margins[margin]\r\n });\r\n return canvas\r\n },\r\n _renderAxes() {\r\n var valueAxis = this._getValueAxis();\r\n var argumentAxis = this.getArgumentAxis();\r\n argumentAxis.draw(this._canvas);\r\n valueAxis.setSpiderTicks(argumentAxis.getSpiderTicks());\r\n var canvas = this._calcCanvas();\r\n argumentAxis.updateSize(canvas);\r\n valueAxis.draw(canvas);\r\n return canvas\r\n },\r\n _getValueAxis() {\r\n return this._valueAxes[0]\r\n },\r\n _shrinkAxes(sizeStorage) {\r\n var valueAxis = this._getValueAxis();\r\n var argumentAxis = this.getArgumentAxis();\r\n if (sizeStorage && (sizeStorage.width || sizeStorage.height)) {\r\n argumentAxis.hideOuterElements();\r\n var canvas = this._calcCanvas();\r\n argumentAxis.updateSize(canvas);\r\n valueAxis.updateSize(canvas)\r\n }\r\n },\r\n checkForMoreSpaceForPanesCanvas() {\r\n return this.layoutManager.needMoreSpaceForPanesCanvas([{\r\n canvas: this.getArgumentAxis().getCanvas()\r\n }], this._isRotated())\r\n },\r\n _getLayoutTargets() {\r\n return [{\r\n canvas: this._canvas\r\n }]\r\n },\r\n _getSeriesForPane() {\r\n return this.series\r\n },\r\n _applyClipRects() {\r\n var canvasClipRectID = this._getCanvasClipRectID();\r\n this._createClipPathForPane();\r\n this.getArgumentAxis().applyClipRects(this._getElementsClipRectID(), canvasClipRectID);\r\n this._getValueAxis().applyClipRects(this._getElementsClipRectID(), canvasClipRectID)\r\n },\r\n _createClipPathForPane() {\r\n var valueAxis = this._getValueAxis();\r\n var center = valueAxis.getCenter();\r\n var radius = valueAxis.getRadius();\r\n var panesClipRects = this._panesClipRects;\r\n center = {\r\n x: Math.round(center.x),\r\n y: Math.round(center.y)\r\n };\r\n this._createClipCircle(panesClipRects.fixed, center.x, center.y, radius);\r\n this._createClipCircle(panesClipRects.base, center.x, center.y, radius);\r\n if (this.series.some(s => s.areErrorBarsVisible())) {\r\n this._createClipCircle(panesClipRects.wide, center.x, center.y, radius)\r\n } else {\r\n panesClipRects.wide[0] = null\r\n }\r\n },\r\n _createClipCircle(clipArray, left, top, radius) {\r\n var clipCircle = clipArray[0];\r\n if (!clipCircle) {\r\n clipCircle = this._renderer.clipCircle(left, top, radius);\r\n clipArray[0] = clipCircle\r\n } else {\r\n clipCircle.attr({\r\n cx: left,\r\n cy: top,\r\n r: radius\r\n })\r\n }\r\n },\r\n _applyExtraSettings(series) {\r\n var wideClipRect = this._panesClipRects.wide[0];\r\n series.setClippingParams(this._panesClipRects.base[0].id, wideClipRect && wideClipRect.id, false, false)\r\n },\r\n getActualAngle(angle) {\r\n return this.getArgumentAxis().getOptions().inverted ? DOUBLE_PI_ANGLE - angle : angle\r\n },\r\n getXYFromPolar(angle, radius, argument, value) {\r\n var layoutInfo = {\r\n angle: void 0,\r\n radius: void 0,\r\n x: void 0,\r\n y: void 0\r\n };\r\n if (!isDefined(angle) && !isDefined(radius) && !isDefined(argument) && !isDefined(value)) {\r\n return layoutInfo\r\n }\r\n var argAxis = this.getArgumentAxis();\r\n var startAngle = argAxis.getAngles()[0];\r\n var argAngle;\r\n var translatedRadius;\r\n if (isDefined(argument)) {\r\n argAngle = argAxis.getTranslator().translate(argument)\r\n } else if (isFinite(angle)) {\r\n argAngle = this.getActualAngle(angle)\r\n } else if (!isDefined(angle)) {\r\n argAngle = 0\r\n }\r\n if (isDefined(value)) {\r\n translatedRadius = this.getValueAxis().getTranslator().translate(value)\r\n } else if (isFinite(radius)) {\r\n translatedRadius = radius\r\n } else if (!isDefined(radius)) {\r\n translatedRadius = argAxis.getRadius()\r\n }\r\n if (isDefined(argAngle) && isDefined(translatedRadius)) {\r\n var coords = convertPolarToXY(argAxis.getCenter(), startAngle, argAngle, translatedRadius);\r\n extend(layoutInfo, coords, {\r\n angle: argAxis.getTranslatedAngle(argAngle),\r\n radius: translatedRadius\r\n })\r\n }\r\n return layoutInfo\r\n },\r\n _applyPointMarkersAutoHiding: noop,\r\n _createScrollBar: noop,\r\n _isRotated: noop,\r\n _getCrosshairOptions: noop,\r\n _isLegendInside: noop\r\n});\r\ndxPolarChart.addPlugin(plugins.core);\r\ndxPolarChart.addPlugin(plugins.polarChart);\r\nregisterComponent(\"dxPolarChart\", dxPolarChart);\r\nexport default dxPolarChart;\r\n","/**\r\n * DevExtreme (esm/viz/polar_chart.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport PolarChart from \"../__internal/viz/m_polar_chart\";\r\nexport default PolarChart;\r\n","/**\r\n * DevExtreme (esm/viz/range_selector/common.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n smartFormatter as _format\r\n} from \"../axes/smart_formatter\";\r\nimport {\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nexport var HEIGHT_COMPACT_MODE = 24;\r\nvar POINTER_SIZE = 4;\r\nvar EMPTY_SLIDER_MARKER_TEXT = \". . .\";\r\nexport var utils = {\r\n trackerSettings: {\r\n fill: \"grey\",\r\n stroke: \"grey\",\r\n opacity: 1e-4\r\n },\r\n animationSettings: {\r\n duration: 250\r\n }\r\n};\r\nexport var consts = {\r\n emptySliderMarkerText: EMPTY_SLIDER_MARKER_TEXT,\r\n pointerSize: POINTER_SIZE\r\n};\r\nexport var formatValue = function(value, formatOptions, tickIntervalsInfo, valueType, type, logarithmBase) {\r\n var formatObject = {\r\n value: value,\r\n valueText: _format(value, {\r\n labelOptions: formatOptions,\r\n ticks: tickIntervalsInfo ? tickIntervalsInfo.ticks : [],\r\n tickInterval: tickIntervalsInfo ? tickIntervalsInfo.tickInterval : void 0,\r\n dataType: valueType,\r\n type: type,\r\n logarithmBase: logarithmBase\r\n })\r\n };\r\n return String(isFunction(formatOptions.customizeText) ? formatOptions.customizeText.call(formatObject, formatObject) : formatObject.valueText)\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/range_selector/slider_marker.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n patchFontOptions\r\n} from \"../core/utils\";\r\nimport {\r\n consts\r\n} from \"./common\";\r\nvar POINTER_SIZE = consts.pointerSize;\r\nvar SLIDER_MARKER_UPDATE_DELAY = 75;\r\n\r\nfunction SliderMarker(renderer, root, isLeftPointer) {\r\n this._isLeftPointer = isLeftPointer;\r\n this._isOverlapped = false;\r\n this._group = renderer.g().attr({\r\n class: \"slider-marker\"\r\n }).append(root);\r\n this._area = renderer.path(null, \"area\").append(this._group);\r\n this._label = renderer.text().attr({\r\n align: \"left\"\r\n }).append(this._group);\r\n this._tracker = renderer.rect().attr({\r\n class: \"slider-marker-tracker\",\r\n fill: \"#000000\",\r\n opacity: 1e-4\r\n }).css({\r\n cursor: \"pointer\"\r\n }).append(this._group);\r\n this._border = renderer.rect(0, 0, 1, 0)\r\n}\r\nSliderMarker.prototype = {\r\n constructor: SliderMarker,\r\n _getRectSize: function(textSize) {\r\n return {\r\n width: Math.round(2 * this._paddingLeftRight + textSize.width),\r\n height: Math.round(2 * this._paddingTopBottom + textSize.height)\r\n }\r\n },\r\n _getTextSize: function() {\r\n var textSize = this._label.getBBox();\r\n if (!this._textHeight && isFinite(textSize.height)) {\r\n this._textHeight = textSize.height\r\n }\r\n return {\r\n width: textSize.width,\r\n height: this._textHeight,\r\n y: textSize.y\r\n }\r\n },\r\n _getAreaPointsInfo: function(textSize) {\r\n var rectSize = this._getRectSize(textSize);\r\n var rectWidth = rectSize.width;\r\n var rectHeight = rectSize.height;\r\n var rectLeftBorder = -rectWidth;\r\n var rectRightBorder = 0;\r\n var pointerRightPoint = POINTER_SIZE;\r\n var pointerCenterPoint = 0;\r\n var pointerLeftPoint = -POINTER_SIZE;\r\n var position = this._position;\r\n var isLeft = this._isLeftPointer;\r\n var correctCloudBorders = function() {\r\n rectLeftBorder++;\r\n rectRightBorder++;\r\n pointerRightPoint++;\r\n pointerCenterPoint++;\r\n pointerLeftPoint++\r\n };\r\n var checkPointerBorders = function() {\r\n if (pointerRightPoint > rectRightBorder) {\r\n pointerRightPoint = rectRightBorder\r\n } else if (pointerLeftPoint < rectLeftBorder) {\r\n pointerLeftPoint = rectLeftBorder\r\n }\r\n isLeft && correctCloudBorders()\r\n };\r\n var borderPosition = position;\r\n if (isLeft) {\r\n if (position > this._range[1] - rectWidth) {\r\n rectRightBorder = -position + this._range[1];\r\n rectLeftBorder = rectRightBorder - rectWidth;\r\n checkPointerBorders();\r\n borderPosition += rectLeftBorder\r\n } else {\r\n rectLeftBorder = pointerLeftPoint = 0;\r\n rectRightBorder = rectWidth\r\n }\r\n } else if (position - this._range[0] < rectWidth) {\r\n rectLeftBorder = -(position - this._range[0]);\r\n rectRightBorder = rectLeftBorder + rectWidth;\r\n checkPointerBorders();\r\n borderPosition += rectRightBorder\r\n } else {\r\n pointerRightPoint = 0;\r\n correctCloudBorders()\r\n }\r\n this._borderPosition = borderPosition;\r\n return {\r\n offset: rectLeftBorder,\r\n isCut: (!isLeft || pointerCenterPoint !== pointerLeftPoint) && (isLeft || pointerCenterPoint !== pointerRightPoint),\r\n points: [rectLeftBorder, 0, rectRightBorder, 0, rectRightBorder, rectHeight, pointerRightPoint, rectHeight, pointerCenterPoint, rectHeight + POINTER_SIZE, pointerLeftPoint, rectHeight, rectLeftBorder, rectHeight]\r\n }\r\n },\r\n _update: function() {\r\n var that = this;\r\n var textSize;\r\n clearTimeout(that._timeout);\r\n that._label.attr({\r\n text: that._text || \"\"\r\n });\r\n var currentTextSize = that._getTextSize();\r\n var rectSize = that._getRectSize(currentTextSize);\r\n textSize = that._textSize || currentTextSize;\r\n textSize = that._textSize = currentTextSize.width > textSize.width || currentTextSize.height > textSize.height ? currentTextSize : textSize;\r\n that._timeout = setTimeout((function() {\r\n updateSliderMarker(currentTextSize, rectSize);\r\n that._textSize = currentTextSize\r\n }), SLIDER_MARKER_UPDATE_DELAY);\r\n\r\n function updateSliderMarker(size, rectSize) {\r\n rectSize = rectSize || that._getRectSize(size);\r\n that._group.attr({\r\n translateY: -(rectSize.height + POINTER_SIZE)\r\n });\r\n var pointsData = that._getAreaPointsInfo(size);\r\n var points = pointsData.points;\r\n var offset = pointsData.offset;\r\n that._area.attr({\r\n points: points\r\n });\r\n that._border.attr({\r\n x: that._isLeftPointer ? points[0] - 1 : points[2],\r\n height: pointsData.isCut ? rectSize.height : rectSize.height + POINTER_SIZE\r\n });\r\n that._tracker.attr({\r\n translateX: offset,\r\n width: rectSize.width,\r\n height: rectSize.height + POINTER_SIZE\r\n });\r\n that._label.attr({\r\n translateX: that._paddingLeftRight + offset,\r\n translateY: rectSize.height / 2 - (size.y + size.height / 2)\r\n })\r\n }\r\n updateSliderMarker(textSize)\r\n },\r\n setText: function(value) {\r\n this._text = value\r\n },\r\n setPosition: function(position) {\r\n this._position = position;\r\n this._update()\r\n },\r\n applyOptions: function(options, screenRange) {\r\n this._range = screenRange;\r\n this._paddingLeftRight = options.paddingLeftRight;\r\n this._paddingTopBottom = options.paddingTopBottom;\r\n this._textHeight = null;\r\n this._colors = [options.invalidRangeColor, options.color];\r\n this._area.attr({\r\n fill: options.color\r\n });\r\n this._border.attr({\r\n fill: options.borderColor\r\n });\r\n this._label.css(patchFontOptions(options.font));\r\n this._update()\r\n },\r\n getTracker: function() {\r\n return this._tracker\r\n },\r\n setValid: function(isValid) {\r\n this._area.attr({\r\n fill: this._colors[Number(isValid)]\r\n })\r\n },\r\n setColor: function(color) {\r\n this._area.attr({\r\n fill: color\r\n })\r\n },\r\n dispose: function() {\r\n clearTimeout(this._timeout)\r\n },\r\n setOverlapped: function(isOverlapped) {\r\n if (this._isOverlapped !== isOverlapped) {\r\n if (isOverlapped) {\r\n this._border.append(this._group)\r\n } else {\r\n this._isOverlapped && this._border.remove()\r\n }\r\n this._isOverlapped = isOverlapped\r\n }\r\n },\r\n getBorderPosition: function() {\r\n return this._borderPosition\r\n }\r\n};\r\nexport default SliderMarker;\r\n","/**\r\n * DevExtreme (esm/viz/range_selector/slider.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n utils,\r\n formatValue\r\n} from \"./common\";\r\nvar animationSettings = utils.animationSettings;\r\nimport SliderMarker from \"./slider_marker\";\r\nimport {\r\n touchEvents,\r\n pointerEvents\r\n} from \"../../core/utils/support\";\r\nvar SPLITTER_WIDTH = 8;\r\nvar TOUCH_SPLITTER_WIDTH = 20;\r\n\r\nfunction getSliderTrackerWidth(sliderHandleWidth) {\r\n return touchEvents || pointerEvents ? TOUCH_SPLITTER_WIDTH : SPLITTER_WIDTH < sliderHandleWidth ? sliderHandleWidth : SPLITTER_WIDTH\r\n}\r\n\r\nfunction Slider(params, index) {\r\n this._translator = params.translator;\r\n this._sliderGroup = params.renderer.g().attr({\r\n class: \"slider\"\r\n }).append(params.root);\r\n this._line = params.renderer.path(null, \"line\").append(this._sliderGroup);\r\n this._marker = new SliderMarker(params.renderer, this._sliderGroup, 1 === index);\r\n this._tracker = params.renderer.rect().attr({\r\n class: \"slider-tracker\",\r\n fill: \"#000000\",\r\n opacity: 1e-4\r\n }).css({\r\n cursor: \"w-resize\"\r\n }).append(params.trackersGroup)\r\n}\r\nSlider.prototype = {\r\n constructor: Slider,\r\n cancelAnimation: function() {\r\n this._sliderGroup.stopAnimation();\r\n this._tracker.stopAnimation()\r\n },\r\n applyPosition: function(isAnimated) {\r\n var slider = this._sliderGroup;\r\n var tracker = this._tracker;\r\n var attrs = {\r\n translateX: this._position\r\n };\r\n this._marker.setPosition(this._position);\r\n if (isAnimated) {\r\n slider.animate(attrs, animationSettings);\r\n tracker.animate(attrs, animationSettings)\r\n } else {\r\n slider.attr(attrs);\r\n tracker.attr(attrs)\r\n }\r\n },\r\n _setValid: function(isValid) {\r\n this._marker.setValid(isValid);\r\n this._line.attr({\r\n stroke: this._colors[Number(isValid)]\r\n })\r\n },\r\n _setText: function(text) {\r\n this._marker.setText(text)\r\n },\r\n update: function(verticalRange, sliderHandleOptions, sliderMarkerOptions) {\r\n this._formatOptions = {\r\n format: sliderMarkerOptions.format,\r\n customizeText: sliderMarkerOptions.customizeText\r\n };\r\n this._marker.applyOptions(sliderMarkerOptions, this._translator.getScreenRange());\r\n this._colors = [sliderMarkerOptions.invalidRangeColor, sliderHandleOptions.color];\r\n this._sliderGroup.attr({\r\n translateY: verticalRange[0]\r\n });\r\n this._line.attr({\r\n \"stroke-width\": sliderHandleOptions.width,\r\n stroke: sliderHandleOptions.color,\r\n \"stroke-opacity\": sliderHandleOptions.opacity,\r\n sharp: \"h\",\r\n points: [0, 0, 0, verticalRange[1] - verticalRange[0]]\r\n });\r\n var trackerWidth = getSliderTrackerWidth(sliderHandleOptions.width);\r\n this._tracker.attr({\r\n x: -trackerWidth / 2,\r\n y: 0,\r\n width: trackerWidth,\r\n height: verticalRange[1] - verticalRange[0],\r\n translateY: verticalRange[0]\r\n })\r\n },\r\n toForeground: function() {\r\n this._sliderGroup.toForeground()\r\n },\r\n getSliderTracker: function() {\r\n return this._tracker\r\n },\r\n getPosition: function() {\r\n return this._position\r\n },\r\n setDisplayValue: function(value) {\r\n this._value = value;\r\n this._setText(formatValue(value, this._formatOptions))\r\n },\r\n setOverlapped: function(isOverlapped) {\r\n this._marker.setOverlapped(isOverlapped)\r\n },\r\n getValue: function() {\r\n return this._value\r\n },\r\n on: function(event, handler) {\r\n this._tracker.on(event, handler);\r\n this._marker.getTracker().on(event, handler)\r\n },\r\n getCloudBorder: function() {\r\n return this._marker.getBorderPosition()\r\n },\r\n dispose: function() {\r\n this._marker.dispose()\r\n }\r\n};\r\nexport default Slider;\r\n","/**\r\n * DevExtreme (esm/viz/range_selector/sliders_controller.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n utils,\r\n consts\r\n} from \"./common\";\r\nimport Slider from \"./slider\";\r\nimport {\r\n normalizeEnum as _normalizeEnum,\r\n rangesAreEqual,\r\n adjustVisualRange\r\n} from \"../core/utils\";\r\nimport {\r\n isNumeric,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n adjust\r\n} from \"../../core/utils/math\";\r\nvar animationSettings = utils.animationSettings;\r\nvar emptySliderMarkerText = consts.emptySliderMarkerText;\r\n\r\nfunction buildRectPoints(left, top, right, bottom) {\r\n return [left, top, right, top, right, bottom, left, bottom]\r\n}\r\n\r\nfunction isLess(a, b) {\r\n return a < b\r\n}\r\n\r\nfunction isGreater(a, b) {\r\n return a > b\r\n}\r\n\r\nfunction selectClosestValue(target, values) {\r\n var start = 0;\r\n var end = values ? values.length - 1 : 0;\r\n var middle;\r\n var val = target;\r\n while (end - start > 1) {\r\n middle = start + end >> 1;\r\n val = values[middle];\r\n if (val === target) {\r\n return target\r\n } else if (target < val) {\r\n end = middle\r\n } else {\r\n start = middle\r\n }\r\n }\r\n if (values) {\r\n val = values[target - values[start] <= values[end] - target ? start : end]\r\n }\r\n return val\r\n}\r\n\r\nfunction dummyProcessSelectionChanged() {\r\n this._lastSelectedRange = this.getSelectedRange();\r\n delete this._processSelectionChanged\r\n}\r\n\r\nfunction suppressSetSelectedRange(controller) {\r\n controller.setSelectedRange = noop;\r\n if (controller._processSelectionChanged === dummyProcessSelectionChanged) {\r\n controller._processSelectionChanged()\r\n }\r\n}\r\n\r\nfunction restoreSetSelectedRange(controller) {\r\n delete controller.setSelectedRange\r\n}\r\nexport function SlidersController(params) {\r\n var sliderParams = {\r\n renderer: params.renderer,\r\n root: params.root,\r\n trackersGroup: params.trackersGroup,\r\n translator: params.translator\r\n };\r\n this._params = params;\r\n this._areaTracker = params.renderer.path(null, \"area\").attr({\r\n class: \"area-tracker\",\r\n fill: \"#000000\",\r\n opacity: 1e-4\r\n }).append(params.trackersGroup);\r\n this._selectedAreaTracker = params.renderer.path(null, \"area\").attr({\r\n class: \"selected-area-tracker\",\r\n fill: \"#000000\",\r\n opacity: 1e-4\r\n }).append(params.trackersGroup);\r\n this._shutter = params.renderer.path(null, \"area\").append(params.root);\r\n this._sliders = [new Slider(sliderParams, 0), new Slider(sliderParams, 1)];\r\n this._processSelectionChanged = dummyProcessSelectionChanged\r\n}\r\nSlidersController.prototype = {\r\n constructor: SlidersController,\r\n dispose: function() {\r\n this._sliders[0].dispose();\r\n this._sliders[1].dispose()\r\n },\r\n getTrackerTargets: function() {\r\n return {\r\n area: this._areaTracker,\r\n selectedArea: this._selectedAreaTracker,\r\n sliders: this._sliders\r\n }\r\n },\r\n _processSelectionChanged: function(e) {\r\n var selectedRange = this.getSelectedRange();\r\n if (!rangesAreEqual(selectedRange, this._lastSelectedRange)) {\r\n this._params.updateSelectedRange(selectedRange, this._lastSelectedRange, e);\r\n this._lastSelectedRange = selectedRange\r\n }\r\n },\r\n update: function(verticalRange, behavior, isCompactMode, sliderHandleOptions, sliderMarkerOptions, shutterOptions, rangeBounds, fullTicks, selectedRangeColor) {\r\n var screenRange = this._params.translator.getScreenRange();\r\n this._verticalRange = verticalRange;\r\n this._minRange = rangeBounds.minRange;\r\n this._maxRange = rangeBounds.maxRange;\r\n this._animationEnabled = behavior.animationEnabled && this._params.renderer.animationEnabled();\r\n this._allowSlidersSwap = behavior.allowSlidersSwap;\r\n this._sliders[0].update(verticalRange, sliderHandleOptions, sliderMarkerOptions);\r\n this._sliders[1].update(verticalRange, sliderHandleOptions, sliderMarkerOptions);\r\n this._sliders[0]._position = this._sliders[1]._position = screenRange[0];\r\n this._values = !this._params.translator.isValueProlonged && behavior.snapToTicks ? fullTicks : null;\r\n this._areaTracker.attr({\r\n points: buildRectPoints(screenRange[0], verticalRange[0], screenRange[1], verticalRange[1])\r\n });\r\n this._isCompactMode = isCompactMode;\r\n this._shutterOffset = sliderHandleOptions.width / 2;\r\n this._updateSelectedView(shutterOptions, selectedRangeColor);\r\n this._isOnMoving = \"onmoving\" === _normalizeEnum(behavior.callValueChanged);\r\n this._updateSelectedRange();\r\n this._applyTotalPosition(false)\r\n },\r\n _updateSelectedView: function(shutterOptions, selectedRangeColor) {\r\n var settings = {\r\n fill: null,\r\n \"fill-opacity\": null,\r\n stroke: null,\r\n \"stroke-width\": null\r\n };\r\n if (this._isCompactMode) {\r\n settings.stroke = selectedRangeColor;\r\n settings[\"stroke-width\"] = 3;\r\n settings.sharp = \"v\"\r\n } else {\r\n settings.fill = shutterOptions.color;\r\n settings[\"fill-opacity\"] = shutterOptions.opacity\r\n }\r\n this._shutter.attr(settings)\r\n },\r\n _updateSelectedRange: function() {\r\n var sliders = this._sliders;\r\n sliders[0].cancelAnimation();\r\n sliders[1].cancelAnimation();\r\n this._shutter.stopAnimation();\r\n if (this._params.translator.getBusinessRange().isEmpty()) {\r\n sliders[0]._setText(emptySliderMarkerText);\r\n sliders[1]._setText(emptySliderMarkerText);\r\n sliders[0]._value = sliders[1]._value = void 0;\r\n sliders[0]._position = this._params.translator.getScreenRange()[0];\r\n sliders[1]._position = this._params.translator.getScreenRange()[1];\r\n this._applyTotalPosition(false);\r\n suppressSetSelectedRange(this)\r\n } else {\r\n restoreSetSelectedRange(this)\r\n }\r\n },\r\n _applyTotalPosition: function(isAnimated) {\r\n var sliders = this._sliders;\r\n isAnimated = this._animationEnabled && isAnimated;\r\n sliders[0].applyPosition(isAnimated);\r\n sliders[1].applyPosition(isAnimated);\r\n var areOverlapped = sliders[0].getCloudBorder() > sliders[1].getCloudBorder();\r\n sliders[0].setOverlapped(areOverlapped);\r\n sliders[1].setOverlapped(areOverlapped);\r\n this._applyAreaTrackersPosition();\r\n this._applySelectedRangePosition(isAnimated)\r\n },\r\n _applyAreaTrackersPosition: function() {\r\n var position1 = this._sliders[0].getPosition();\r\n var position2 = this._sliders[1].getPosition();\r\n this._selectedAreaTracker.attr({\r\n points: buildRectPoints(position1, this._verticalRange[0], position2, this._verticalRange[1])\r\n }).css({\r\n cursor: Math.abs(this._params.translator.getScreenRange()[1] - this._params.translator.getScreenRange()[0] - position2 + position1) < .001 ? \"default\" : \"pointer\"\r\n })\r\n },\r\n _applySelectedRangePosition: function(isAnimated) {\r\n var verticalRange = this._verticalRange;\r\n var pos1 = this._sliders[0].getPosition();\r\n var pos2 = this._sliders[1].getPosition();\r\n var screenRange;\r\n var points;\r\n if (this._isCompactMode) {\r\n points = [pos1 + Math.ceil(this._shutterOffset), (verticalRange[0] + verticalRange[1]) / 2, pos2 - Math.floor(this._shutterOffset), (verticalRange[0] + verticalRange[1]) / 2]\r\n } else {\r\n screenRange = this._params.axis.getVisibleArea();\r\n points = [buildRectPoints(screenRange[0], verticalRange[0], Math.max(pos1 - Math.floor(this._shutterOffset), screenRange[0]), verticalRange[1]), buildRectPoints(screenRange[1], verticalRange[0], Math.min(pos2 + Math.ceil(this._shutterOffset), screenRange[1]), verticalRange[1])]\r\n }\r\n if (isAnimated) {\r\n this._shutter.animate({\r\n points: points\r\n }, animationSettings)\r\n } else {\r\n this._shutter.attr({\r\n points: points\r\n })\r\n }\r\n },\r\n getSelectedRange: function() {\r\n return {\r\n startValue: this._sliders[0].getValue(),\r\n endValue: this._sliders[1].getValue()\r\n }\r\n },\r\n setSelectedRange: function(visualRange, e) {\r\n visualRange = visualRange || {};\r\n var translator = this._params.translator;\r\n var businessRange = translator.getBusinessRange();\r\n var compare = \"discrete\" === businessRange.axisType ? function(a, b) {\r\n return a < b\r\n } : function(a, b) {\r\n return a <= b\r\n };\r\n var {\r\n startValue: startValue,\r\n endValue: endValue\r\n } = adjustVisualRange({\r\n dataType: businessRange.dataType,\r\n axisType: businessRange.axisType,\r\n base: businessRange.base\r\n }, {\r\n startValue: translator.isValid(visualRange.startValue) ? translator.getCorrectValue(visualRange.startValue, 1) : void 0,\r\n endValue: translator.isValid(visualRange.endValue) ? translator.getCorrectValue(visualRange.endValue, -1) : void 0,\r\n length: visualRange.length\r\n }, {\r\n min: businessRange.minVisible,\r\n max: businessRange.maxVisible,\r\n categories: businessRange.categories\r\n });\r\n startValue = isNumeric(startValue) ? adjust(startValue) : startValue;\r\n endValue = isNumeric(endValue) ? adjust(endValue) : endValue;\r\n var values = compare(translator.to(startValue, -1), translator.to(endValue, 1)) ? [startValue, endValue] : [endValue, startValue];\r\n this._sliders[0].setDisplayValue(values[0]);\r\n this._sliders[1].setDisplayValue(values[1]);\r\n this._sliders[0]._position = translator.to(values[0], -1);\r\n this._sliders[1]._position = translator.to(values[1], 1);\r\n this._applyTotalPosition(true);\r\n this._processSelectionChanged(e)\r\n },\r\n beginSelectedAreaMoving: function(initialPosition) {\r\n var that = this;\r\n var sliders = that._sliders;\r\n var offset = (sliders[0].getPosition() + sliders[1].getPosition()) / 2 - initialPosition;\r\n var currentPosition = initialPosition;\r\n move.complete = function(e) {\r\n that._dockSelectedArea(e)\r\n };\r\n return move;\r\n\r\n function move(position, e) {\r\n if (position !== currentPosition && position > currentPosition === position > (sliders[0].getPosition() + sliders[1].getPosition()) / 2 - offset) {\r\n that._moveSelectedArea(position + offset, false, e)\r\n }\r\n currentPosition = position\r\n }\r\n },\r\n _dockSelectedArea: function(e) {\r\n var translator = this._params.translator;\r\n var sliders = this._sliders;\r\n sliders[0]._position = translator.to(sliders[0].getValue(), -1);\r\n sliders[1]._position = translator.to(sliders[1].getValue(), 1);\r\n this._applyTotalPosition(true);\r\n this._processSelectionChanged(e)\r\n },\r\n moveSelectedArea: function(screenPosition, e) {\r\n this._moveSelectedArea(screenPosition, true, e);\r\n this._dockSelectedArea(e)\r\n },\r\n _moveSelectedArea: function(screenPosition, isAnimated, e) {\r\n var translator = this._params.translator;\r\n var sliders = this._sliders;\r\n var interval = sliders[1].getPosition() - sliders[0].getPosition();\r\n var startPosition = screenPosition - interval / 2;\r\n var endPosition = screenPosition + interval / 2;\r\n if (startPosition < translator.getScreenRange()[0]) {\r\n startPosition = translator.getScreenRange()[0];\r\n endPosition = startPosition + interval\r\n }\r\n if (endPosition > translator.getScreenRange()[1]) {\r\n endPosition = translator.getScreenRange()[1];\r\n startPosition = endPosition - interval\r\n }\r\n var startValue = selectClosestValue(translator.from(startPosition, -1), this._values);\r\n sliders[0].setDisplayValue(startValue);\r\n sliders[1].setDisplayValue(selectClosestValue(translator.from(translator.to(startValue, -1) + interval, 1), this._values));\r\n sliders[0]._position = startPosition;\r\n sliders[1]._position = endPosition;\r\n this._applyTotalPosition(isAnimated);\r\n if (this._isOnMoving) {\r\n this._processSelectionChanged(e)\r\n }\r\n },\r\n placeSliderAndBeginMoving: function(firstPosition, secondPosition, e) {\r\n var translator = this._params.translator;\r\n var sliders = this._sliders;\r\n var index = firstPosition < secondPosition ? 0 : 1;\r\n var dir = index > 0 ? 1 : -1;\r\n var compare = index > 0 ? isGreater : isLess;\r\n var antiCompare = index > 0 ? isLess : isGreater;\r\n var thresholdPosition;\r\n var positions = [];\r\n var values = [];\r\n values[index] = translator.from(firstPosition, dir);\r\n values[1 - index] = translator.from(secondPosition, -dir);\r\n positions[1 - index] = secondPosition;\r\n if (translator.isValueProlonged) {\r\n if (compare(firstPosition, translator.to(values[index], dir))) {\r\n values[index] = translator.from(firstPosition, -dir)\r\n }\r\n if (compare(secondPosition, translator.to(values[index], -dir))) {\r\n values[1 - index] = values[index]\r\n }\r\n }\r\n if (this._minRange) {\r\n thresholdPosition = translator.to(translator.add(selectClosestValue(values[index], this._values), this._minRange, -dir), -dir);\r\n if (compare(secondPosition, thresholdPosition)) {\r\n values[1 - index] = translator.add(values[index], this._minRange, -dir)\r\n }\r\n thresholdPosition = translator.to(translator.add(translator.getRange()[1 - index], this._minRange, dir), -dir);\r\n if (antiCompare(firstPosition, thresholdPosition)) {\r\n values[1 - index] = translator.getRange()[1 - index];\r\n values[index] = translator.add(values[1 - index], this._minRange, dir);\r\n positions[1 - index] = firstPosition\r\n }\r\n }\r\n values[0] = selectClosestValue(values[0], this._values);\r\n values[1] = selectClosestValue(values[1], this._values);\r\n positions[index] = translator.to(values[index], dir);\r\n sliders[0].setDisplayValue(values[0]);\r\n sliders[1].setDisplayValue(values[1]);\r\n sliders[0]._position = positions[0];\r\n sliders[1]._position = positions[1];\r\n this._applyTotalPosition(true);\r\n if (this._isOnMoving) {\r\n this._processSelectionChanged(e)\r\n }\r\n var handler = this.beginSliderMoving(1 - index, secondPosition);\r\n sliders[1 - index]._sliderGroup.stopAnimation();\r\n this._shutter.stopAnimation();\r\n handler(secondPosition);\r\n return handler\r\n },\r\n beginSliderMoving: function(initialIndex, initialPosition) {\r\n var that = this;\r\n var translator = that._params.translator;\r\n var sliders = that._sliders;\r\n var minPosition = translator.getScreenRange()[0];\r\n var maxPosition = translator.getScreenRange()[1];\r\n var index = initialIndex;\r\n var staticPosition = sliders[1 - index].getPosition();\r\n var currentPosition = initialPosition;\r\n var dir = index > 0 ? 1 : -1;\r\n var compareMin = index > 0 ? isLess : isGreater;\r\n var compareMax = index > 0 ? isGreater : isLess;\r\n var moveOffset = sliders[index].getPosition() - initialPosition;\r\n var swapOffset = compareMin(sliders[index].getPosition(), initialPosition) ? -moveOffset : moveOffset;\r\n move.complete = function(e) {\r\n sliders[index]._setValid(true);\r\n that._dockSelectedArea(e)\r\n };\r\n return move;\r\n\r\n function move(position, e) {\r\n var isValid;\r\n var temp;\r\n var pos;\r\n var slider;\r\n var value;\r\n if (position !== currentPosition) {\r\n if (compareMin(position + swapOffset, staticPosition)) {\r\n isValid = that._allowSlidersSwap;\r\n if (isValid && !translator.isValueProlonged && that._minRange) {\r\n isValid = translator.isValid(translator.add(sliders[1 - index].getValue(), that._minRange, -dir))\r\n }\r\n if (isValid) {\r\n that._changeMovingSlider(index);\r\n index = 1 - index;\r\n dir = -dir;\r\n temp = compareMin;\r\n compareMin = compareMax;\r\n compareMax = temp;\r\n moveOffset = -dir * Math.abs(moveOffset);\r\n swapOffset = -moveOffset\r\n }\r\n }\r\n if (compareMax(position + moveOffset, staticPosition)) {\r\n slider = sliders[index];\r\n value = sliders[1 - index].getValue();\r\n pos = Math.max(Math.min(position + moveOffset, maxPosition), minPosition);\r\n isValid = translator.isValueProlonged ? !compareMin(pos, translator.to(value, dir)) : true;\r\n var invalidStateValue;\r\n if (isValid && that._minRange) {\r\n isValid = !compareMin(pos, translator.to(translator.add(value, that._minRange, dir), dir));\r\n if (!isValid) {\r\n invalidStateValue = translator.add(value, that._minRange, dir)\r\n }\r\n }\r\n if (isValid && that._maxRange) {\r\n isValid = !compareMax(pos, translator.to(translator.add(value, that._maxRange, dir), dir));\r\n if (!isValid) {\r\n invalidStateValue = translator.add(value, that._maxRange, dir)\r\n }\r\n }\r\n slider._setValid(isValid);\r\n slider.setDisplayValue(isValid ? selectClosestValue(translator.from(pos, dir), that._values) : isDefined(invalidStateValue) ? invalidStateValue : slider.getValue());\r\n slider._position = pos;\r\n that._applyTotalPosition(false);\r\n slider.toForeground();\r\n if (that._isOnMoving) {\r\n that._processSelectionChanged(e)\r\n }\r\n }\r\n }\r\n currentPosition = position\r\n }\r\n },\r\n _changeMovingSlider: function(index) {\r\n var translator = this._params.translator;\r\n var sliders = this._sliders;\r\n var position = sliders[1 - index].getPosition();\r\n var dir = index > 0 ? 1 : -1;\r\n var newValue;\r\n sliders[index].setDisplayValue(selectClosestValue(translator.from(position, dir), this._values));\r\n newValue = translator.from(position, -dir);\r\n if (translator.isValueProlonged) {\r\n newValue = translator.from(position, dir)\r\n } else if (this._minRange) {\r\n newValue = translator.add(newValue, this._minRange, -dir)\r\n }\r\n sliders[1 - index].setDisplayValue(selectClosestValue(newValue, this._values));\r\n sliders[index]._setValid(true);\r\n sliders[index]._marker._update();\r\n sliders[0]._position = sliders[1]._position = position\r\n },\r\n foregroundSlider: function(index) {\r\n this._sliders[index].toForeground()\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/range_selector/tracker.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n pointerEvents as msPointerEnabled\r\n} from \"../../core/utils/support\";\r\nvar MIN_MANUAL_SELECTING_WIDTH = 10;\r\nvar window = getWindow();\r\n\r\nfunction isLeftButtonPressed(event) {\r\n var e = event || window.event;\r\n var originalEvent = e.originalEvent;\r\n var touches = e.touches;\r\n var pointerType = originalEvent ? originalEvent.pointerType : false;\r\n var eventTouches = originalEvent ? originalEvent.touches : false;\r\n var isMSPointerLeftClick = originalEvent && void 0 !== pointerType && (pointerType === (originalEvent.MSPOINTER_TYPE_TOUCH || \"touch\") || pointerType === (originalEvent.MSPOINTER_TYPE_MOUSE || \"mouse\") && 1 === originalEvent.buttons);\r\n var isTouches = touches && touches.length > 0 || eventTouches && eventTouches.length > 0;\r\n return 1 === e.which || isMSPointerLeftClick || isTouches\r\n}\r\n\r\nfunction isMultiTouches(event) {\r\n var originalEvent = event.originalEvent;\r\n var touches = event.touches;\r\n var eventTouches = originalEvent && originalEvent.touches;\r\n return touches && touches.length > 1 || eventTouches && eventTouches.length > 1 || null\r\n}\r\n\r\nfunction preventDefault(e) {\r\n if (!isMultiTouches(e)) {\r\n e.preventDefault()\r\n }\r\n}\r\n\r\nfunction stopPropagationAndPreventDefault(e) {\r\n if (!isMultiTouches(e)) {\r\n e.stopPropagation();\r\n e.preventDefault()\r\n }\r\n}\r\n\r\nfunction isTouchEventArgs(e) {\r\n return e && e.type && 0 === e.type.indexOf(\"touch\")\r\n}\r\n\r\nfunction getEventPageX(event) {\r\n var originalEvent = event.originalEvent;\r\n var result = 0;\r\n if (event.pageX) {\r\n result = event.pageX\r\n } else if (originalEvent && originalEvent.pageX) {\r\n result = originalEvent.pageX\r\n }\r\n if (originalEvent && originalEvent.touches) {\r\n if (originalEvent.touches.length > 0) {\r\n result = originalEvent.touches[0].pageX\r\n } else if (originalEvent.changedTouches.length > 0) {\r\n result = originalEvent.changedTouches[0].pageX\r\n }\r\n }\r\n return result\r\n}\r\n\r\nfunction initializeAreaEvents(controller, area, state, getRootOffsetLeft) {\r\n var isTouchEvent;\r\n var isActive = false;\r\n var initialPosition;\r\n var movingHandler = null;\r\n var docEvents = {\r\n [pointerEvents.move](e) {\r\n var position;\r\n var offset;\r\n if (isTouchEvent !== isTouchEventArgs(e)) {\r\n return\r\n }\r\n if (!isLeftButtonPressed(e)) {\r\n cancel(e)\r\n }\r\n if (isActive) {\r\n position = getEventPageX(e);\r\n offset = getRootOffsetLeft();\r\n if (movingHandler) {\r\n movingHandler(position - offset, e)\r\n } else if (state.manualRangeSelectionEnabled && Math.abs(initialPosition - position) >= MIN_MANUAL_SELECTING_WIDTH) {\r\n movingHandler = controller.placeSliderAndBeginMoving(initialPosition - offset, position - offset, e)\r\n }\r\n }\r\n },\r\n [pointerEvents.up](e) {\r\n var position;\r\n if (isActive) {\r\n position = getEventPageX(e);\r\n if (!movingHandler && state.moveSelectedRangeByClick && Math.abs(initialPosition - position) < MIN_MANUAL_SELECTING_WIDTH) {\r\n controller.moveSelectedArea(position - getRootOffsetLeft(), e)\r\n }\r\n cancel(e)\r\n }\r\n }\r\n };\r\n\r\n function cancel(e) {\r\n if (isActive) {\r\n isActive = false;\r\n if (movingHandler) {\r\n movingHandler.complete(e);\r\n movingHandler = null\r\n }\r\n }\r\n }\r\n area.on(pointerEvents.down, (function(e) {\r\n if (!state.enabled || !isLeftButtonPressed(e) || isActive) {\r\n return\r\n }\r\n isActive = true;\r\n isTouchEvent = isTouchEventArgs(e);\r\n initialPosition = getEventPageX(e)\r\n }));\r\n return docEvents\r\n}\r\n\r\nfunction initializeSelectedAreaEvents(controller, area, state, getRootOffsetLeft) {\r\n var isTouchEvent;\r\n var isActive = false;\r\n var movingHandler = null;\r\n var docEvents = {\r\n [pointerEvents.move](e) {\r\n if (isTouchEvent !== isTouchEventArgs(e)) {\r\n return\r\n }\r\n if (!isLeftButtonPressed(e)) {\r\n cancel(e)\r\n }\r\n if (isActive) {\r\n preventDefault(e);\r\n movingHandler(getEventPageX(e) - getRootOffsetLeft(), e)\r\n }\r\n },\r\n [pointerEvents.up]: cancel\r\n };\r\n\r\n function cancel(e) {\r\n if (isActive) {\r\n isActive = false;\r\n movingHandler.complete(e);\r\n movingHandler = null\r\n }\r\n }\r\n area.on(pointerEvents.down, (function(e) {\r\n if (!state.enabled || !isLeftButtonPressed(e) || isActive) {\r\n return\r\n }\r\n isActive = true;\r\n isTouchEvent = isTouchEventArgs(e);\r\n movingHandler = controller.beginSelectedAreaMoving(getEventPageX(e) - getRootOffsetLeft());\r\n stopPropagationAndPreventDefault(e)\r\n }));\r\n return docEvents\r\n}\r\n\r\nfunction initializeSliderEvents(controller, sliders, state, getRootOffsetLeft) {\r\n var isTouchEvent;\r\n var isActive = false;\r\n var movingHandler = null;\r\n var docEvents = {\r\n [pointerEvents.move](e) {\r\n if (isTouchEvent !== isTouchEventArgs(e)) {\r\n return\r\n }\r\n if (!isLeftButtonPressed(e)) {\r\n cancel(e)\r\n }\r\n if (isActive) {\r\n preventDefault(e);\r\n movingHandler(getEventPageX(e) - getRootOffsetLeft(), e)\r\n }\r\n },\r\n [pointerEvents.up]: cancel\r\n };\r\n each(sliders, (function(i, slider) {\r\n slider.on({\r\n [pointerEvents.down](e) {\r\n if (!state.enabled || !isLeftButtonPressed(e) || isActive) {\r\n return\r\n }\r\n isActive = true;\r\n isTouchEvent = isTouchEventArgs(e);\r\n movingHandler = controller.beginSliderMoving(i, getEventPageX(e) - getRootOffsetLeft());\r\n stopPropagationAndPreventDefault(e)\r\n },\r\n [pointerEvents.move]() {\r\n if (!movingHandler) {\r\n controller.foregroundSlider(i)\r\n }\r\n }\r\n })\r\n }));\r\n\r\n function cancel(e) {\r\n if (isActive) {\r\n isActive = false;\r\n movingHandler.complete(e);\r\n movingHandler = null\r\n }\r\n }\r\n return docEvents\r\n}\r\nexport function Tracker(params) {\r\n var state = this._state = {};\r\n var targets = params.controller.getTrackerTargets();\r\n if (msPointerEnabled) {\r\n params.renderer.root.css({\r\n msTouchAction: \"pinch-zoom\"\r\n })\r\n }\r\n this._docEvents = [initializeSelectedAreaEvents(params.controller, targets.selectedArea, state, getRootOffsetLeft), initializeAreaEvents(params.controller, targets.area, state, getRootOffsetLeft), initializeSliderEvents(params.controller, targets.sliders, state, getRootOffsetLeft)];\r\n each(this._docEvents, (function(_, events) {\r\n eventsEngine.on(domAdapter.getDocument(), events)\r\n }));\r\n\r\n function getRootOffsetLeft() {\r\n return params.renderer.getRootOffset().left\r\n }\r\n}\r\nTracker.prototype = {\r\n constructor: Tracker,\r\n dispose: function() {\r\n each(this._docEvents, (function(_, events) {\r\n eventsEngine.off(domAdapter.getDocument(), events)\r\n }))\r\n },\r\n update: function(enabled, behavior) {\r\n var state = this._state;\r\n state.enabled = enabled;\r\n state.moveSelectedRangeByClick = behavior.moveSelectedRangeByClick;\r\n state.manualRangeSelectionEnabled = behavior.manualRangeSelectionEnabled\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/range_selector/range_view.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nfunction drawSeriesView(root, seriesDataSource, canvas, isAnimationEnabled) {\r\n var seriesList = seriesDataSource.getSeries();\r\n if (!seriesList.length) {\r\n return\r\n }\r\n var valueAxis = seriesList[0].getValueAxis();\r\n valueAxis.updateCanvas({\r\n top: canvas.top,\r\n bottom: 0,\r\n height: canvas.height + canvas.top\r\n });\r\n seriesDataSource.adjustSeriesDimensions();\r\n var valueRange = seriesDataSource.getBoundRange().val;\r\n valueRange.sortCategories(valueAxis.getCategoriesSorter());\r\n valueAxis.setBusinessRange(valueRange);\r\n seriesList.forEach(series => {\r\n series._extGroups.seriesGroup = series._extGroups.labelsGroup = root;\r\n series.draw(isAnimationEnabled)\r\n })\r\n}\r\n\r\nfunction merge(a, b) {\r\n return void 0 !== a ? a : b\r\n}\r\nexport function RangeView(params) {\r\n this._params = params;\r\n this._clipRect = params.renderer.clipRect();\r\n params.root.attr({\r\n \"clip-path\": this._clipRect.id\r\n })\r\n}\r\nRangeView.prototype = {\r\n constructor: RangeView,\r\n update: function(backgroundOption, backgroundTheme, canvas, isCompactMode, isAnimationEnabled, seriesDataSource) {\r\n var renderer = this._params.renderer;\r\n var root = this._params.root;\r\n var canvasWidth = canvas.width - canvas.left;\r\n var seriesGroup;\r\n backgroundOption = backgroundOption || {};\r\n root.clear();\r\n this._clipRect.attr({\r\n x: canvas.left,\r\n y: canvas.top,\r\n width: canvasWidth,\r\n height: canvas.height\r\n });\r\n if (!isCompactMode) {\r\n if (merge(backgroundOption.visible, backgroundTheme.visible)) {\r\n if (backgroundOption.color) {\r\n renderer.rect(canvas.left, canvas.top, canvasWidth + 1, canvas.height).attr({\r\n fill: merge(backgroundOption.color, backgroundTheme.color),\r\n class: \"dx-range-selector-background\"\r\n }).append(root)\r\n }\r\n if (backgroundOption.image && backgroundOption.image.url) {\r\n renderer.image(canvas.left, canvas.top, canvasWidth + 1, canvas.height, backgroundOption.image.url, merge(backgroundOption.image.location, backgroundTheme.image.location)).append(root)\r\n }\r\n }\r\n if (seriesDataSource && seriesDataSource.isShowChart()) {\r\n seriesGroup = renderer.g().attr({\r\n class: \"dxrs-series-group\"\r\n }).append(root);\r\n drawSeriesView(seriesGroup, seriesDataSource, canvas, isAnimationEnabled)\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/range_selector/series_data_source.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n Series\r\n} from \"../series/base_series\";\r\nimport {\r\n SeriesFamily\r\n} from \"../core/series_family\";\r\nimport {\r\n isNumeric,\r\n isDate,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n mergeMarginOptions,\r\n processSeriesTemplate\r\n} from \"../core/utils\";\r\nimport {\r\n Range\r\n} from \"../translators/range\";\r\nimport {\r\n validateData\r\n} from \"../components/data_validator\";\r\nimport {\r\n ThemeManager as ChartThemeManager\r\n} from \"../components/chart_theme_manager\";\r\nvar createThemeManager = function(chartOptions) {\r\n return new ChartThemeManager({\r\n options: chartOptions,\r\n themeSection: \"rangeSelector.chart\",\r\n fontFields: [\"commonSeriesSettings.label.font\"]\r\n })\r\n};\r\nvar processSeriesFamilies = function(series, minBubbleSize, maxBubbleSize, barOptions, negativesAsZeroes) {\r\n var families = [];\r\n var types = [];\r\n each(series, (function(i, item) {\r\n if (!types.includes(item.type)) {\r\n types.push(item.type)\r\n }\r\n }));\r\n each(types, (function(_, type) {\r\n var family = new SeriesFamily({\r\n type: type,\r\n minBubbleSize: minBubbleSize,\r\n maxBubbleSize: maxBubbleSize,\r\n barGroupPadding: barOptions.barGroupPadding,\r\n barGroupWidth: barOptions.barGroupWidth,\r\n negativesAsZeroes: negativesAsZeroes\r\n });\r\n family.add(series);\r\n family.adjustSeriesValues();\r\n families.push(family)\r\n }));\r\n return families\r\n};\r\nexport var SeriesDataSource = function(options) {\r\n var themeManager = this._themeManager = createThemeManager(options.chart);\r\n themeManager.setTheme(options.chart.theme);\r\n var topIndent = themeManager.getOptions(\"topIndent\");\r\n var bottomIndent = themeManager.getOptions(\"bottomIndent\");\r\n this._indent = {\r\n top: topIndent >= 0 && topIndent < 1 ? topIndent : 0,\r\n bottom: bottomIndent >= 0 && bottomIndent < 1 ? bottomIndent : 0\r\n };\r\n this._valueAxis = themeManager.getOptions(\"valueAxisRangeSelector\") || {};\r\n this._hideChart = false;\r\n this._series = this._calculateSeries(options);\r\n this._seriesFamilies = []\r\n};\r\nSeriesDataSource.prototype = {\r\n constructor: SeriesDataSource,\r\n _calculateSeries: function(options) {\r\n var series = [];\r\n var particularSeriesOptions;\r\n var seriesTheme;\r\n var data = options.dataSource || [];\r\n var parsedData;\r\n var chartThemeManager = this._themeManager;\r\n var seriesTemplate = chartThemeManager.getOptions(\"seriesTemplate\");\r\n var allSeriesOptions = seriesTemplate ? processSeriesTemplate(seriesTemplate, data) : options.chart.series;\r\n var dataSourceField;\r\n var valueAxis = this._valueAxis;\r\n var i;\r\n var newSeries;\r\n var groupsData;\r\n if (options.dataSource && !allSeriesOptions) {\r\n dataSourceField = options.dataSourceField || \"arg\";\r\n allSeriesOptions = {\r\n argumentField: dataSourceField,\r\n valueField: dataSourceField\r\n };\r\n this._hideChart = true\r\n }\r\n allSeriesOptions = Array.isArray(allSeriesOptions) ? allSeriesOptions : allSeriesOptions ? [allSeriesOptions] : [];\r\n for (i = 0; i < allSeriesOptions.length; i++) {\r\n particularSeriesOptions = extend(true, {}, allSeriesOptions[i]);\r\n particularSeriesOptions.rotated = false;\r\n seriesTheme = chartThemeManager.getOptions(\"series\", particularSeriesOptions, allSeriesOptions.length);\r\n seriesTheme.argumentField = seriesTheme.argumentField || options.dataSourceField;\r\n if (!seriesTheme.name) {\r\n seriesTheme.name = \"Series \" + (i + 1).toString()\r\n }\r\n if (data && data.length > 0) {\r\n newSeries = new Series({\r\n renderer: options.renderer,\r\n argumentAxis: options.argumentAxis,\r\n valueAxis: options.valueAxis,\r\n incidentOccurred: options.incidentOccurred\r\n }, seriesTheme);\r\n series.push(newSeries)\r\n }\r\n }\r\n if (series.length) {\r\n groupsData = {\r\n groups: [{\r\n series: series,\r\n valueAxis: options.valueAxis,\r\n valueOptions: {\r\n type: valueAxis.type,\r\n valueType: dataSourceField ? options.valueType : valueAxis.valueType\r\n }\r\n }],\r\n argumentOptions: {\r\n categories: options.categories,\r\n argumentType: options.valueType,\r\n type: options.axisType\r\n }\r\n };\r\n parsedData = validateData(data, groupsData, options.incidentOccurred, chartThemeManager.getOptions(\"dataPrepareSettings\"));\r\n this.argCategories = groupsData.categories;\r\n for (i = 0; i < series.length; i++) {\r\n series[i].updateData(parsedData[series[i].getArgumentField()])\r\n }\r\n }\r\n return series\r\n },\r\n createPoints() {\r\n if (0 === this._series.length) {\r\n return\r\n }\r\n var series = this._series;\r\n var viewport = new Range;\r\n var axis = series[0].getArgumentAxis();\r\n var themeManager = this._themeManager;\r\n var negativesAsZeroes = themeManager.getOptions(\"negativesAsZeroes\");\r\n var negativesAsZeros = themeManager.getOptions(\"negativesAsZeros\");\r\n series.forEach((function(s) {\r\n viewport.addRange(s.getArgumentRange())\r\n }));\r\n axis.getTranslator().updateBusinessRange(viewport);\r\n series.forEach((function(s) {\r\n s.createPoints()\r\n }));\r\n this._seriesFamilies = processSeriesFamilies(series, themeManager.getOptions(\"minBubbleSize\"), themeManager.getOptions(\"maxBubbleSize\"), {\r\n barGroupPadding: themeManager.getOptions(\"barGroupPadding\"),\r\n barGroupWidth: themeManager.getOptions(\"barGroupWidth\")\r\n }, isDefined(negativesAsZeroes) ? negativesAsZeroes : negativesAsZeros)\r\n },\r\n adjustSeriesDimensions: function() {\r\n each(this._seriesFamilies, (function(_, family) {\r\n family.adjustSeriesDimensions()\r\n }))\r\n },\r\n getBoundRange: function() {\r\n var rangeData;\r\n var valueAxis = this._valueAxis;\r\n var valRange = new Range({\r\n min: valueAxis.min,\r\n minVisible: valueAxis.min,\r\n max: valueAxis.max,\r\n maxVisible: valueAxis.max,\r\n axisType: valueAxis.type,\r\n base: valueAxis.logarithmBase\r\n });\r\n var argRange = new Range({});\r\n var rangeYSize;\r\n var rangeVisibleSizeY;\r\n var minIndent;\r\n var maxIndent;\r\n each(this._series, (function(_, series) {\r\n rangeData = series.getRangeData();\r\n valRange.addRange(rangeData.val);\r\n argRange.addRange(rangeData.arg)\r\n }));\r\n if (!valRange.isEmpty() && !argRange.isEmpty()) {\r\n minIndent = valueAxis.inverted ? this._indent.top : this._indent.bottom;\r\n maxIndent = valueAxis.inverted ? this._indent.bottom : this._indent.top;\r\n rangeYSize = valRange.max - valRange.min;\r\n rangeVisibleSizeY = (isNumeric(valRange.maxVisible) ? valRange.maxVisible : valRange.max) - (isNumeric(valRange.minVisible) ? valRange.minVisible : valRange.min);\r\n if (isDate(valRange.min)) {\r\n valRange.min = new Date(valRange.min.valueOf() - rangeYSize * minIndent)\r\n } else {\r\n valRange.min -= rangeYSize * minIndent\r\n }\r\n if (isDate(valRange.max)) {\r\n valRange.max = new Date(valRange.max.valueOf() + rangeYSize * maxIndent)\r\n } else {\r\n valRange.max += rangeYSize * maxIndent\r\n }\r\n if (isNumeric(rangeVisibleSizeY)) {\r\n valRange.maxVisible = valRange.maxVisible ? valRange.maxVisible + rangeVisibleSizeY * maxIndent : void 0;\r\n valRange.minVisible = valRange.minVisible ? valRange.minVisible - rangeVisibleSizeY * minIndent : void 0\r\n }\r\n valRange.invert = valueAxis.inverted\r\n }\r\n return {\r\n arg: argRange,\r\n val: valRange\r\n }\r\n },\r\n getMarginOptions: function(canvas) {\r\n var bubbleSize = Math.min(canvas.width, canvas.height) * this._themeManager.getOptions(\"maxBubbleSize\");\r\n return this._series.reduce((function(marginOptions, series) {\r\n var seriesOptions = series.getMarginOptions();\r\n if (true === seriesOptions.processBubbleSize) {\r\n seriesOptions.size = bubbleSize\r\n }\r\n return mergeMarginOptions(marginOptions, seriesOptions)\r\n }), {})\r\n },\r\n getSeries: function() {\r\n return this._series\r\n },\r\n isEmpty: function() {\r\n return 0 === this.getSeries().length\r\n },\r\n isShowChart: function() {\r\n return !this._hideChart\r\n },\r\n getCalculatedValueType: function() {\r\n var series = this._series[0];\r\n return null === series || void 0 === series ? void 0 : series.argumentType\r\n },\r\n getThemeManager: function() {\r\n return this._themeManager\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/range_selector/range_selector.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n isDefined as _isDefined,\r\n isNumeric as _isNumber,\r\n isDate as _isDate,\r\n type as _type,\r\n isFunction,\r\n isPlainObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n patchFontOptions,\r\n normalizeEnum as _normalizeEnum,\r\n getVizRangeObject as parseValue,\r\n convertVisualRangeObject,\r\n getCategoriesInfo,\r\n getLog,\r\n rangesAreEqual\r\n} from \"../core/utils\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport {\r\n adjust\r\n} from \"../../core/utils/math\";\r\nimport {\r\n Range\r\n} from \"../translators/range\";\r\nimport {\r\n Axis\r\n} from \"../axes/base_axis\";\r\nimport {\r\n correctValueType,\r\n getParser\r\n} from \"../components/parse_utils\";\r\nimport formatHelper from \"../../format_helper\";\r\nimport {\r\n consts,\r\n formatValue,\r\n HEIGHT_COMPACT_MODE\r\n} from \"./common\";\r\nimport {\r\n SlidersController\r\n} from \"./sliders_controller\";\r\nimport {\r\n Tracker\r\n} from \"./tracker\";\r\nimport {\r\n RangeView\r\n} from \"./range_view\";\r\nimport {\r\n SeriesDataSource\r\n} from \"./series_data_source\";\r\nimport {\r\n tickGenerator\r\n} from \"../axes/tick_generator\";\r\nimport constants from \"../axes/axes_constants\";\r\nimport baseWidgetModule from \"../../__internal/viz/core/m_base_widget\";\r\nvar _max = Math.max;\r\nvar _ceil = Math.ceil;\r\nvar _floor = Math.floor;\r\nvar START_VALUE = \"startValue\";\r\nvar END_VALUE = \"endValue\";\r\nvar DATETIME = \"datetime\";\r\nvar VALUE = \"value\";\r\nvar DISCRETE = \"discrete\";\r\nvar SEMIDISCRETE = \"semidiscrete\";\r\nvar STRING = \"string\";\r\nvar VALUE_CHANGED = VALUE + \"Changed\";\r\nvar CONTAINER_BACKGROUND_COLOR = \"containerBackgroundColor\";\r\nvar SLIDER_MARKER = \"sliderMarker\";\r\nvar OPTION_BACKGROUND = \"background\";\r\nvar LOGARITHMIC = \"logarithmic\";\r\nvar KEEP = \"keep\";\r\nvar SHIFT = \"shift\";\r\nvar RESET = \"reset\";\r\nvar INVISIBLE_POS = -1e3;\r\nvar SEMIDISCRETE_GRID_SPACING_FACTOR = 50;\r\nvar DEFAULT_AXIS_DIVISION_FACTOR = 30;\r\nvar DEFAULT_MINOR_AXIS_DIVISION_FACTOR = 15;\r\nvar logarithmBase = 10;\r\n\r\nfunction calculateMarkerHeight(renderer, value, sliderMarkerOptions) {\r\n var formattedText = void 0 === value ? consts.emptySliderMarkerText : formatValue(value, sliderMarkerOptions);\r\n var textBBox = getTextBBox(renderer, formattedText, sliderMarkerOptions.font);\r\n return _ceil(textBBox.height) + 2 * sliderMarkerOptions.paddingTopBottom + consts.pointerSize\r\n}\r\n\r\nfunction calculateScaleLabelHalfWidth(renderer, value, scaleOptions, tickIntervalsInfo) {\r\n var formattedText = formatValue(value, scaleOptions.label, tickIntervalsInfo, scaleOptions.valueType, scaleOptions.type, scaleOptions.logarithmBase);\r\n var textBBox = getTextBBox(renderer, formattedText, scaleOptions.label.font);\r\n return _ceil(textBBox.width / 2)\r\n}\r\n\r\nfunction calculateIndents(renderer, scale, sliderMarkerOptions, indentOptions, tickIntervalsInfo) {\r\n var leftMarkerHeight;\r\n var leftScaleLabelWidth = 0;\r\n var rightScaleLabelWidth = 0;\r\n var rightMarkerHeight;\r\n var placeholderWidthLeft;\r\n var placeholderWidthRight;\r\n var placeholderHeight;\r\n var ticks = \"semidiscrete\" === scale.type ? scale.customTicks : tickIntervalsInfo.ticks;\r\n var startTickValue;\r\n var endTickValue;\r\n indentOptions = indentOptions || {};\r\n placeholderWidthLeft = indentOptions.left;\r\n placeholderWidthRight = indentOptions.right;\r\n placeholderHeight = sliderMarkerOptions.placeholderHeight;\r\n if (sliderMarkerOptions.visible) {\r\n leftMarkerHeight = calculateMarkerHeight(renderer, scale.startValue, sliderMarkerOptions);\r\n rightMarkerHeight = calculateMarkerHeight(renderer, scale.endValue, sliderMarkerOptions);\r\n if (void 0 === placeholderHeight) {\r\n placeholderHeight = _max(leftMarkerHeight, rightMarkerHeight)\r\n }\r\n }\r\n if (scale.label.visible) {\r\n startTickValue = _isDefined(scale.startValue) ? ticks[0] : void 0;\r\n endTickValue = _isDefined(scale.endValue) ? ticks[ticks.length - 1] : void 0;\r\n leftScaleLabelWidth = calculateScaleLabelHalfWidth(renderer, startTickValue, scale, tickIntervalsInfo);\r\n rightScaleLabelWidth = calculateScaleLabelHalfWidth(renderer, endTickValue, scale, tickIntervalsInfo)\r\n }\r\n placeholderWidthLeft = void 0 !== placeholderWidthLeft ? placeholderWidthLeft : leftScaleLabelWidth;\r\n placeholderWidthRight = (void 0 !== placeholderWidthRight ? placeholderWidthRight : rightScaleLabelWidth) || 1;\r\n return {\r\n left: placeholderWidthLeft,\r\n right: placeholderWidthRight,\r\n top: placeholderHeight || 0,\r\n bottom: 0\r\n }\r\n}\r\n\r\nfunction calculateValueType(firstValue, secondValue) {\r\n var typeFirstValue = _type(firstValue);\r\n var typeSecondValue = _type(secondValue);\r\n var validType = function(type) {\r\n return typeFirstValue === type || typeSecondValue === type\r\n };\r\n return validType(\"date\") ? DATETIME : validType(\"number\") ? \"numeric\" : validType(STRING) ? STRING : \"\"\r\n}\r\n\r\nfunction showScaleMarkers(scaleOptions) {\r\n return scaleOptions.valueType === DATETIME && scaleOptions.marker.visible\r\n}\r\n\r\nfunction updateTranslatorRangeInterval(translatorRange, scaleOptions) {\r\n var intervalX = scaleOptions.minorTickInterval || scaleOptions.tickInterval;\r\n if (\"datetime\" === scaleOptions.valueType) {\r\n intervalX = dateUtils.dateToMilliseconds(intervalX)\r\n }\r\n translatorRange.addRange({\r\n interval: intervalX\r\n })\r\n}\r\n\r\nfunction checkLogarithmicOptions(options, defaultLogarithmBase, incidentOccurred) {\r\n if (!options) {\r\n return\r\n }\r\n var logarithmBase = options.logarithmBase;\r\n if (options.type === LOGARITHMIC && logarithmBase <= 0 || logarithmBase && !_isNumber(logarithmBase)) {\r\n options.logarithmBase = defaultLogarithmBase;\r\n incidentOccurred(\"E2104\")\r\n } else if (options.type !== LOGARITHMIC) {\r\n options.logarithmBase = void 0\r\n }\r\n}\r\n\r\nfunction calculateScaleAreaHeight(renderer, scaleOptions, visibleMarkers, tickIntervalsInfo) {\r\n var labelScaleOptions = scaleOptions.label;\r\n var markerScaleOptions = scaleOptions.marker;\r\n var placeholderHeight = scaleOptions.placeholderHeight;\r\n var ticks = \"semidiscrete\" === scaleOptions.type ? scaleOptions.customTicks : tickIntervalsInfo.ticks;\r\n var text = formatValue(ticks[0], labelScaleOptions);\r\n if (placeholderHeight) {\r\n return placeholderHeight\r\n } else {\r\n return (labelScaleOptions.visible ? labelScaleOptions.topIndent + getTextBBox(renderer, text, labelScaleOptions.font).height : 0) + (visibleMarkers ? markerScaleOptions.topIndent + markerScaleOptions.separatorHeight : 0)\r\n }\r\n}\r\n\r\nfunction getMinorTickIntervalUnit(tickInterval, minorTickInterval, withCorrection) {\r\n var interval = dateUtils.getDateUnitInterval(minorTickInterval);\r\n var majorUnit = dateUtils.getDateUnitInterval(tickInterval);\r\n var idx = dateUtils.dateUnitIntervals.indexOf(interval);\r\n if (withCorrection && interval === majorUnit && idx > 0) {\r\n interval = dateUtils.dateUnitIntervals[idx - 1]\r\n }\r\n return interval\r\n}\r\n\r\nfunction getNextTickInterval(tickInterval, minorTickInterval, isDateType) {\r\n if (!tickInterval) {\r\n tickInterval = minorTickInterval\r\n } else if (isDateType) {\r\n tickInterval = dateUtils.getNextDateUnit(tickInterval)\r\n } else {\r\n tickInterval += minorTickInterval\r\n }\r\n return tickInterval\r\n}\r\n\r\nfunction calculateTickIntervalsForSemidiscreteScale(scaleOptions, min, max, screenDelta) {\r\n var minorTickInterval = scaleOptions.minorTickInterval;\r\n var tickInterval = scaleOptions.tickInterval;\r\n var interval;\r\n var isDateType = \"datetime\" === scaleOptions.valueType;\r\n var gridSpacingFactor = scaleOptions.axisDivisionFactor || {};\r\n var tickCountByInterval;\r\n var tickCountByScreen;\r\n if (!tickInterval) {\r\n do {\r\n interval = getNextTickInterval(tickInterval, minorTickInterval, isDateType);\r\n if (tickInterval !== interval) {\r\n tickInterval = interval\r\n } else {\r\n break\r\n }\r\n if (isDateType) {\r\n interval = dateUtils.dateToMilliseconds(tickInterval)\r\n }\r\n tickCountByInterval = _ceil((max - min) / interval);\r\n tickCountByScreen = _floor(screenDelta / (gridSpacingFactor[tickInterval] || SEMIDISCRETE_GRID_SPACING_FACTOR)) || 1\r\n } while (interval && tickCountByInterval > tickCountByScreen)\r\n }\r\n return {\r\n tickInterval: tickInterval,\r\n minorTickInterval: minorTickInterval,\r\n bounds: {\r\n minVisible: min,\r\n maxVisible: max\r\n },\r\n ticks: []\r\n }\r\n}\r\n\r\nfunction updateTickIntervals(scaleOptions, screenDelta, incidentOccurred, range) {\r\n var result;\r\n var min = _isDefined(range.minVisible) ? range.minVisible : range.min;\r\n var max = _isDefined(range.maxVisible) ? range.maxVisible : range.max;\r\n var categoriesInfo = scaleOptions._categoriesInfo;\r\n var ticksInfo;\r\n var length;\r\n var bounds = {};\r\n if (scaleOptions.type === SEMIDISCRETE) {\r\n result = calculateTickIntervalsForSemidiscreteScale(scaleOptions, min, max, screenDelta)\r\n } else {\r\n ticksInfo = tickGenerator({\r\n axisType: scaleOptions.type,\r\n dataType: scaleOptions.valueType,\r\n logBase: scaleOptions.logarithmBase,\r\n allowNegatives: true,\r\n linearThreshold: Math.abs(scaleOptions.linearThreshold || 0),\r\n axisDivisionFactor: scaleOptions.axisDivisionFactor,\r\n minorAxisDivisionFactor: scaleOptions.minorAxisDivisionFactor,\r\n calculateMinors: true,\r\n allowDecimals: scaleOptions.allowDecimals,\r\n endOnTick: scaleOptions.endOnTick,\r\n incidentOccurred: incidentOccurred,\r\n rangeIsEmpty: range.isEmpty()\r\n })({\r\n min: min,\r\n max: max,\r\n categories: _isDefined(categoriesInfo) ? categoriesInfo.categories : []\r\n }, screenDelta, scaleOptions.tickInterval, scaleOptions.forceUserTickInterval, void 0, scaleOptions.minorTickInterval, scaleOptions.minorTickCount);\r\n length = ticksInfo.ticks.length;\r\n bounds.minVisible = ticksInfo.ticks[0] < min ? ticksInfo.ticks[0] : min;\r\n bounds.maxVisible = ticksInfo.ticks[length - 1] > max ? ticksInfo.ticks[length - 1] : max;\r\n result = {\r\n tickInterval: ticksInfo.tickInterval,\r\n minorTickInterval: 0 === scaleOptions.minorTickInterval ? 0 : ticksInfo.minorTickInterval,\r\n bounds: bounds,\r\n ticks: ticksInfo.ticks\r\n }\r\n }\r\n return result\r\n}\r\n\r\nfunction getFirstDayOfWeek(options) {\r\n var _options$workWeek;\r\n return null === (_options$workWeek = options.workWeek) || void 0 === _options$workWeek ? void 0 : _options$workWeek[0]\r\n}\r\n\r\nfunction calculateTranslatorRange(seriesDataSource, scaleOptions) {\r\n var minValue;\r\n var maxValue;\r\n var inverted = false;\r\n var startValue = scaleOptions.startValue;\r\n var endValue = scaleOptions.endValue;\r\n var categories;\r\n var categoriesInfo;\r\n var translatorRange = seriesDataSource ? seriesDataSource.getBoundRange().arg : new Range;\r\n var rangeForCategories;\r\n var isDate = \"datetime\" === scaleOptions.valueType;\r\n var firstDayOfWeek = getFirstDayOfWeek(scaleOptions);\r\n var minRange = scaleOptions.minRange;\r\n if (scaleOptions.type === DISCRETE) {\r\n rangeForCategories = new Range({\r\n minVisible: startValue,\r\n maxVisible: endValue\r\n });\r\n rangeForCategories.addRange(translatorRange);\r\n translatorRange = rangeForCategories;\r\n categories = seriesDataSource ? seriesDataSource.argCategories : scaleOptions.categories || startValue && endValue && [startValue, endValue];\r\n categories = categories || [];\r\n scaleOptions._categoriesInfo = categoriesInfo = getCategoriesInfo(categories, startValue, endValue)\r\n }\r\n if (scaleOptions.type === SEMIDISCRETE) {\r\n startValue = scaleOptions.startValue = correctValueByInterval(scaleOptions.startValue, isDate, minRange, firstDayOfWeek);\r\n endValue = scaleOptions.endValue = correctValueByInterval(scaleOptions.endValue, isDate, minRange, firstDayOfWeek);\r\n translatorRange.minVisible = correctValueByInterval(translatorRange.minVisible, isDate, minRange, firstDayOfWeek);\r\n translatorRange.maxVisible = correctValueByInterval(translatorRange.maxVisible, isDate, minRange, firstDayOfWeek);\r\n translatorRange.min = correctValueByInterval(translatorRange.min, isDate, minRange, firstDayOfWeek);\r\n translatorRange.max = correctValueByInterval(translatorRange.max, isDate, minRange, firstDayOfWeek)\r\n }\r\n if (_isDefined(startValue) && _isDefined(endValue)) {\r\n inverted = categoriesInfo ? categoriesInfo.inverted : startValue > endValue;\r\n minValue = categoriesInfo ? categoriesInfo.start : inverted ? endValue : startValue;\r\n maxValue = categoriesInfo ? categoriesInfo.end : inverted ? startValue : endValue\r\n } else if (_isDefined(startValue) || _isDefined(endValue)) {\r\n minValue = startValue;\r\n maxValue = endValue\r\n } else if (categoriesInfo) {\r\n minValue = categoriesInfo.start;\r\n maxValue = categoriesInfo.end\r\n }\r\n translatorRange.addRange({\r\n invert: inverted,\r\n min: minValue,\r\n max: maxValue,\r\n minVisible: minValue,\r\n maxVisible: maxValue,\r\n dataType: scaleOptions.valueType\r\n });\r\n translatorRange.addRange({\r\n categories: !seriesDataSource ? categories : void 0,\r\n base: scaleOptions.logarithmBase,\r\n axisType: scaleOptions.type,\r\n dataType: scaleOptions.valueType\r\n });\r\n seriesDataSource && translatorRange.sortCategories(categories);\r\n return translatorRange\r\n}\r\n\r\nfunction startEndNotDefined(start, end) {\r\n return !_isDefined(start) || !_isDefined(end)\r\n}\r\n\r\nfunction getTextBBox(renderer, text, fontOptions) {\r\n var textElement = renderer.text(text, INVISIBLE_POS, INVISIBLE_POS).css(patchFontOptions(fontOptions)).append(renderer.root);\r\n var textBBox = textElement.getBBox();\r\n textElement.remove();\r\n return textBBox\r\n}\r\n\r\nfunction getDateMarkerVisibilityChecker(screenDelta) {\r\n return function(isDateScale, isMarkerVisible, min, max, tickInterval) {\r\n if (isMarkerVisible && isDateScale) {\r\n if (!_isDefined(tickInterval) || tickInterval.years || tickInterval.months >= 6 || screenDelta / SEMIDISCRETE_GRID_SPACING_FACTOR < _ceil((max - min) / dateUtils.dateToMilliseconds(\"year\")) + 1) {\r\n isMarkerVisible = false\r\n }\r\n }\r\n return isMarkerVisible\r\n }\r\n}\r\n\r\nfunction updateScaleOptions(scaleOptions, seriesDataSource, translatorRange, tickIntervalsInfo, checkDateMarkerVisibility) {\r\n var bounds;\r\n var isEmptyInterval;\r\n var categoriesInfo = scaleOptions._categoriesInfo;\r\n var intervals;\r\n var isDateTime = scaleOptions.valueType === DATETIME;\r\n if (seriesDataSource && !seriesDataSource.isEmpty() && !translatorRange.isEmpty()) {\r\n bounds = tickIntervalsInfo.bounds;\r\n translatorRange.addRange(bounds);\r\n scaleOptions.startValue = translatorRange.invert ? bounds.maxVisible : bounds.minVisible;\r\n scaleOptions.endValue = translatorRange.invert ? bounds.minVisible : bounds.maxVisible\r\n }\r\n scaleOptions.marker.visible = checkDateMarkerVisibility(isDateTime && -1 === scaleOptions.type.indexOf(DISCRETE), scaleOptions.marker.visible, scaleOptions.startValue, scaleOptions.endValue, tickIntervalsInfo.tickInterval);\r\n if (categoriesInfo) {\r\n scaleOptions.startValue = categoriesInfo.start;\r\n scaleOptions.endValue = categoriesInfo.end\r\n }\r\n if (-1 === scaleOptions.type.indexOf(DISCRETE)) {\r\n isEmptyInterval = _isDate(scaleOptions.startValue) && _isDate(scaleOptions.endValue) && scaleOptions.startValue.getTime() === scaleOptions.endValue.getTime() || scaleOptions.startValue === scaleOptions.endValue\r\n }\r\n scaleOptions.isEmpty = startEndNotDefined(scaleOptions.startValue, scaleOptions.endValue) || isEmptyInterval;\r\n if (scaleOptions.isEmpty) {\r\n scaleOptions.startValue = scaleOptions.endValue = void 0\r\n } else {\r\n scaleOptions.minorTickInterval = tickIntervalsInfo.minorTickInterval;\r\n scaleOptions.tickInterval = tickIntervalsInfo.tickInterval;\r\n if (isDateTime && (!_isDefined(scaleOptions.label.format) || scaleOptions.type === SEMIDISCRETE && scaleOptions.minorTickInterval !== scaleOptions.tickInterval)) {\r\n if (scaleOptions.type === DISCRETE) {\r\n scaleOptions.label.format = formatHelper.getDateFormatByTicks(tickIntervalsInfo.ticks)\r\n } else if (!scaleOptions.marker.visible) {\r\n scaleOptions.label.format = formatHelper.getDateFormatByTickInterval(scaleOptions.startValue, scaleOptions.endValue, scaleOptions.tickInterval)\r\n } else {\r\n scaleOptions.label.format = dateUtils.getDateFormatByTickInterval(scaleOptions.tickInterval)\r\n }\r\n }\r\n }\r\n if (scaleOptions.type === SEMIDISCRETE) {\r\n intervals = getIntervalCustomTicks(scaleOptions);\r\n scaleOptions.customMinorTicks = intervals.altIntervals;\r\n scaleOptions.customTicks = intervals.intervals;\r\n scaleOptions.customBoundTicks = [scaleOptions.customTicks[0]]\r\n }\r\n}\r\n\r\nfunction prepareScaleOptions(scaleOption, calculatedValueType, incidentOccurred, containerColor) {\r\n var parsedValue = 0;\r\n var valueType = correctValueType(_normalizeEnum(scaleOption.valueType));\r\n var validateStartEndValues = function(field, parser) {\r\n var messageToIncidentOccurred = field === START_VALUE ? \"start\" : \"end\";\r\n if (_isDefined(scaleOption[field])) {\r\n parsedValue = parser(scaleOption[field]);\r\n if (_isDefined(parsedValue)) {\r\n scaleOption[field] = parsedValue\r\n } else {\r\n scaleOption[field] = void 0;\r\n incidentOccurred(\"E2202\", [messageToIncidentOccurred])\r\n }\r\n }\r\n };\r\n valueType = calculatedValueType || valueType;\r\n if (!valueType) {\r\n valueType = calculateValueType(scaleOption.startValue, scaleOption.endValue) || \"numeric\"\r\n }\r\n if (valueType === STRING || scaleOption.categories) {\r\n scaleOption.type = DISCRETE;\r\n valueType = STRING\r\n }\r\n scaleOption.containerColor = containerColor;\r\n scaleOption.valueType = valueType;\r\n scaleOption.dataType = valueType;\r\n var parser = getParser(valueType);\r\n validateStartEndValues(START_VALUE, parser);\r\n validateStartEndValues(END_VALUE, parser);\r\n checkLogarithmicOptions(scaleOption, logarithmBase, incidentOccurred);\r\n if (!scaleOption.type) {\r\n scaleOption.type = \"continuous\"\r\n }\r\n scaleOption.parser = parser;\r\n if (scaleOption.type === SEMIDISCRETE) {\r\n scaleOption.minorTick.visible = false;\r\n scaleOption.minorTickInterval = scaleOption.minRange;\r\n scaleOption.marker.visible = false;\r\n scaleOption.maxRange = void 0\r\n }\r\n scaleOption.forceUserTickInterval |= _isDefined(scaleOption.tickInterval) && !_isDefined(scaleOption.axisDivisionFactor);\r\n scaleOption.axisDivisionFactor = _isDefined(scaleOption.axisDivisionFactor) ? scaleOption.axisDivisionFactor : DEFAULT_AXIS_DIVISION_FACTOR;\r\n scaleOption.minorAxisDivisionFactor = _isDefined(scaleOption.minorAxisDivisionFactor) ? scaleOption.minorAxisDivisionFactor : DEFAULT_MINOR_AXIS_DIVISION_FACTOR;\r\n return scaleOption\r\n}\r\n\r\nfunction correctValueByInterval(value, isDate, interval, firstDayOfWeek) {\r\n if (_isDefined(value)) {\r\n value = isDate ? dateUtils.correctDateWithUnitBeginning(new Date(value), interval, null, firstDayOfWeek) : adjust(_floor(adjust(value / interval)) * interval)\r\n }\r\n return value\r\n}\r\n\r\nfunction getIntervalCustomTicks(options) {\r\n var min = options.startValue;\r\n var max = options.endValue;\r\n var isDate = \"datetime\" === options.valueType;\r\n var firstDayOfWeek = getFirstDayOfWeek(options);\r\n var tickInterval = options.tickInterval;\r\n var res = {\r\n intervals: []\r\n };\r\n if (!_isDefined(min) || !_isDefined(max)) {\r\n return res\r\n }\r\n res.intervals = dateUtils.getSequenceByInterval(min, max, options.minorTickInterval);\r\n if (tickInterval !== options.minorTickInterval) {\r\n res.altIntervals = res.intervals;\r\n min = correctValueByInterval(min, isDate, tickInterval, firstDayOfWeek);\r\n max = correctValueByInterval(max, isDate, tickInterval, firstDayOfWeek);\r\n res.intervals = dateUtils.getSequenceByInterval(min, max, tickInterval);\r\n res.intervals[0] = res.altIntervals[0]\r\n }\r\n return res\r\n}\r\n\r\nfunction getPrecisionForSlider(startValue, endValue, screenDelta) {\r\n var d = Math.abs(endValue - startValue) / screenDelta;\r\n var tail = d - _floor(d);\r\n return tail > 0 ? _ceil(Math.abs(adjust(getLog(tail, 10)))) : 0\r\n}\r\nvar dxRangeSelector = baseWidgetModule.inherit({\r\n _toggleParentsScrollSubscription() {},\r\n _eventsMap: {\r\n onValueChanged: {\r\n name: VALUE_CHANGED\r\n }\r\n },\r\n _rootClassPrefix: \"dxrs\",\r\n _rootClass: \"dxrs-range-selector\",\r\n _dataIsReady: function() {\r\n return this._dataIsLoaded()\r\n },\r\n _initialChanges: [\"DATA_SOURCE\", \"VALUE\"],\r\n _themeDependentChanges: [\"MOSTLY_TOTAL\"],\r\n _themeSection: \"rangeSelector\",\r\n _fontFields: [\"scale.label.font\", \"sliderMarker.font\"],\r\n _initCore: function() {\r\n var that = this;\r\n var renderer = that._renderer;\r\n var root = renderer.root;\r\n root.css({\r\n \"touch-action\": \"pan-y\"\r\n });\r\n that._clipRect = renderer.clipRect();\r\n var rangeViewGroup = renderer.g().attr({\r\n class: \"dxrs-view\"\r\n }).append(root);\r\n var slidersGroup = renderer.g().attr({\r\n class: \"dxrs-slidersContainer\",\r\n \"clip-path\": that._clipRect.id\r\n }).append(root);\r\n var scaleGroup = renderer.g().attr({\r\n class: \"dxrs-scale\",\r\n \"clip-path\": that._clipRect.id\r\n }).append(root);\r\n var labelsAxesGroup = renderer.g().attr({\r\n class: \"dxrs-scale-elements\",\r\n \"clip-path\": that._clipRect.id\r\n }).append(root);\r\n var scaleBreaksGroup = renderer.g().attr({\r\n class: \"dxrs-scale-breaks\"\r\n }).append(root);\r\n var trackersGroup = renderer.g().attr({\r\n class: \"dxrs-trackers\"\r\n }).append(root);\r\n that._axis = new AxisWrapper({\r\n renderer: renderer,\r\n root: scaleGroup,\r\n scaleBreaksGroup: scaleBreaksGroup,\r\n labelsAxesGroup: labelsAxesGroup,\r\n updateSelectedRange: function(range, e) {\r\n that.setValue(convertVisualRangeObject(range), e)\r\n },\r\n incidentOccurred: that._incidentOccurred\r\n });\r\n that._rangeView = new RangeView({\r\n renderer: renderer,\r\n root: rangeViewGroup,\r\n translator: that._axis.getTranslator()\r\n });\r\n that._slidersController = new SlidersController({\r\n renderer: renderer,\r\n root: slidersGroup,\r\n trackersGroup: trackersGroup,\r\n updateSelectedRange: function(range, lastSelectedRange, e) {\r\n if (!that._rangeOption) {\r\n that.option(VALUE, convertVisualRangeObject(range, isPlainObject(that._options.silent(VALUE))))\r\n }\r\n that._eventTrigger(VALUE_CHANGED, {\r\n value: convertVisualRangeObject(range),\r\n previousValue: convertVisualRangeObject(lastSelectedRange),\r\n event: e\r\n })\r\n },\r\n axis: that._axis,\r\n translator: that._axis.getTranslator()\r\n });\r\n that._tracker = new Tracker({\r\n renderer: renderer,\r\n controller: that._slidersController\r\n })\r\n },\r\n _getDefaultSize: function() {\r\n return {\r\n width: 400,\r\n height: 160\r\n }\r\n },\r\n _disposeCore: function() {\r\n this._axis.dispose();\r\n this._slidersController.dispose();\r\n this._tracker.dispose()\r\n },\r\n _applySize: function(rect) {\r\n this._clientRect = rect.slice();\r\n this._change([\"MOSTLY_TOTAL\"])\r\n },\r\n _optionChangesMap: {\r\n scale: \"SCALE\",\r\n value: \"VALUE\",\r\n dataSource: \"DATA_SOURCE\"\r\n },\r\n _optionChangesOrder: [\"SCALE\", \"DATA_SOURCE\"],\r\n _change_SCALE: function() {\r\n this._change([\"MOSTLY_TOTAL\"])\r\n },\r\n _setValueByDataSource() {\r\n var options = this._options.silent();\r\n var axis = this._axis;\r\n if (options.dataSource) {\r\n var selectedRangeUpdateMode = this.option(\"selectedRangeUpdateMode\");\r\n var value = this.getValue();\r\n var valueIsReady = _isDefined(value[0]) && _isDefined(value[1]);\r\n if (_isDefined(selectedRangeUpdateMode)) {\r\n selectedRangeUpdateMode = _normalizeEnum(selectedRangeUpdateMode);\r\n this.__skipAnimation = true\r\n } else if (valueIsReady && !this._dataSourceIsAsync) {\r\n selectedRangeUpdateMode = RESET\r\n }\r\n if (\"auto\" === selectedRangeUpdateMode && valueIsReady) {\r\n var rangesInfo = axis.allScaleSelected(value);\r\n if (rangesInfo.startValue && rangesInfo.endValue) {\r\n selectedRangeUpdateMode = RESET\r\n } else if (rangesInfo.endValue) {\r\n selectedRangeUpdateMode = SHIFT\r\n } else {\r\n selectedRangeUpdateMode = KEEP\r\n }\r\n }\r\n if (selectedRangeUpdateMode === RESET) {\r\n options[VALUE] = null\r\n } else if (selectedRangeUpdateMode === SHIFT && valueIsReady) {\r\n var _value = this.getValue();\r\n this.__skipAnimation = true;\r\n options[VALUE] = {\r\n length: axis.getVisualRangeLength({\r\n minVisible: _value[0],\r\n maxVisible: _value[1]\r\n })\r\n }\r\n } else if (selectedRangeUpdateMode === KEEP) {\r\n this.__skipAnimation = true\r\n }\r\n }\r\n this._dataSourceIsAsync = void 0\r\n },\r\n _change_DATA_SOURCE: function() {\r\n if (this._options.silent(\"dataSource\")) {\r\n this._updateDataSource()\r\n }\r\n },\r\n _customChangesOrder: [\"MOSTLY_TOTAL\", \"VALUE\", \"SLIDER_SELECTION\"],\r\n _change_MOSTLY_TOTAL: function() {\r\n this._applyMostlyTotalChange()\r\n },\r\n _change_SLIDER_SELECTION: function() {\r\n var value = this._options.silent(VALUE);\r\n this._slidersController.setSelectedRange(value && parseValue(value))\r\n },\r\n _change_VALUE: function() {\r\n var option = this._rangeOption;\r\n this._dataSourceIsAsync = !this._dataIsReady();\r\n if (option) {\r\n this._options.silent(VALUE, option);\r\n this.setValue(option)\r\n }\r\n },\r\n _validateRange: function(start, end) {\r\n var ensureValueInvalid = value => _isDefined(value) && !this._axis.getTranslator().isValid(value);\r\n if (this._dataIsReady() && (ensureValueInvalid(start) || ensureValueInvalid(end))) {\r\n this._incidentOccurred(\"E2203\")\r\n }\r\n },\r\n _applyChanges: function() {\r\n var that = this;\r\n var value = that._options.silent(VALUE);\r\n if (that._changes.has(\"VALUE\") && value) {\r\n that._rangeOption = value\r\n }\r\n that.callBase.apply(that, arguments);\r\n that._rangeOption = null;\r\n that.__isResizing = that.__skipAnimation = false\r\n },\r\n _applyMostlyTotalChange: function() {\r\n var renderer = this._renderer;\r\n var rect = this._clientRect;\r\n var currentAnimationEnabled;\r\n var canvas = {\r\n left: rect[0],\r\n top: rect[1],\r\n width: rect[2] - rect[0],\r\n height: rect[3] - rect[1]\r\n };\r\n if (this.__isResizing || this.__skipAnimation) {\r\n currentAnimationEnabled = renderer.animationEnabled();\r\n renderer.updateAnimationOptions({\r\n enabled: false\r\n })\r\n }\r\n this._clipRect.attr({\r\n x: rect[0],\r\n y: rect[1],\r\n width: rect[2] - rect[0],\r\n height: rect[3] - rect[1]\r\n });\r\n this._axis.getTranslator().update(new Range, canvas, {\r\n isHorizontal: true\r\n });\r\n this._updateContent({\r\n left: rect[0],\r\n top: rect[1],\r\n width: rect[2] - rect[0],\r\n height: rect[3] - rect[1]\r\n });\r\n if (this.__isResizing || this.__skipAnimation) {\r\n renderer.updateAnimationOptions({\r\n enabled: currentAnimationEnabled\r\n })\r\n }\r\n this._drawn()\r\n },\r\n _dataSourceChangedHandler: function() {\r\n this._setValueByDataSource();\r\n this._requestChange([\"MOSTLY_TOTAL\"])\r\n },\r\n _completeSeriesDataSourceCreation(scaleOptions, seriesDataSource) {\r\n var rect = this._clientRect;\r\n var canvas = {\r\n left: rect[0],\r\n top: rect[1],\r\n width: rect[2] - rect[0],\r\n height: rect[3] - rect[1]\r\n };\r\n this._axis.updateOptions(extend({}, scaleOptions, {\r\n isHorizontal: true,\r\n label: {}\r\n }));\r\n seriesDataSource.isShowChart() && this._axis.setMarginOptions(seriesDataSource.getMarginOptions(canvas));\r\n this._axis.updateCanvas(canvas);\r\n seriesDataSource.createPoints()\r\n },\r\n _updateContent: function(canvas) {\r\n var chartOptions = this.option(\"chart\");\r\n var seriesDataSource = this._createSeriesDataSource(chartOptions);\r\n var isCompactMode = !(seriesDataSource && seriesDataSource.isShowChart() || this.option(\"background.image.url\"));\r\n var scaleOptions = prepareScaleOptions(this._getOption(\"scale\"), seriesDataSource && seriesDataSource.getCalculatedValueType(), this._incidentOccurred, this._getOption(\"containerBackgroundColor\", true));\r\n seriesDataSource && this._completeSeriesDataSourceCreation(scaleOptions, seriesDataSource);\r\n var argTranslatorRange = calculateTranslatorRange(seriesDataSource, scaleOptions);\r\n var tickIntervalsInfo = updateTickIntervals(scaleOptions, canvas.width, this._incidentOccurred, argTranslatorRange);\r\n var chartThemeManager = seriesDataSource && seriesDataSource.isShowChart() && seriesDataSource.getThemeManager();\r\n if (chartThemeManager) {\r\n checkLogarithmicOptions(chartOptions && chartOptions.valueAxis, chartThemeManager.getOptions(\"valueAxis\").logarithmBase, this._incidentOccurred)\r\n }\r\n updateScaleOptions(scaleOptions, seriesDataSource, argTranslatorRange, tickIntervalsInfo, getDateMarkerVisibilityChecker(canvas.width));\r\n updateTranslatorRangeInterval(argTranslatorRange, scaleOptions);\r\n var sliderMarkerOptions = this._prepareSliderMarkersOptions(scaleOptions, canvas.width, tickIntervalsInfo, argTranslatorRange);\r\n var indents = calculateIndents(this._renderer, scaleOptions, sliderMarkerOptions, this.option(\"indent\"), tickIntervalsInfo);\r\n var rangeContainerCanvas = {\r\n left: canvas.left + indents.left,\r\n top: canvas.top + indents.top,\r\n width: canvas.left + indents.left + _max(canvas.width - indents.left - indents.right, 1),\r\n height: _max(!isCompactMode ? canvas.height - indents.top - indents.bottom - calculateScaleAreaHeight(this._renderer, scaleOptions, showScaleMarkers(scaleOptions), tickIntervalsInfo) : HEIGHT_COMPACT_MODE, 0),\r\n right: 0,\r\n bottom: 0\r\n };\r\n this._axis.update(scaleOptions, isCompactMode, rangeContainerCanvas, argTranslatorRange, seriesDataSource);\r\n scaleOptions.minorTickInterval = scaleOptions.isEmpty ? 0 : scaleOptions.minorTickInterval;\r\n this._updateElements(scaleOptions, sliderMarkerOptions, isCompactMode, rangeContainerCanvas, seriesDataSource);\r\n if (chartThemeManager) {\r\n chartThemeManager.dispose()\r\n }\r\n },\r\n _updateElements: function(scaleOptions, sliderMarkerOptions, isCompactMode, canvas, seriesDataSource) {\r\n var behavior = this._getOption(\"behavior\");\r\n var shutterOptions = this._getOption(\"shutter\");\r\n var isNotSemiDiscrete = scaleOptions.type !== SEMIDISCRETE;\r\n shutterOptions.color = shutterOptions.color || this._getOption(CONTAINER_BACKGROUND_COLOR, true);\r\n this._rangeView.update(this.option(\"background\"), this._themeManager.theme(\"background\"), canvas, isCompactMode, behavior.animationEnabled && this._renderer.animationEnabled(), seriesDataSource);\r\n this._isUpdating = true;\r\n this._slidersController.update([canvas.top, canvas.top + canvas.height], behavior, isCompactMode, this._getOption(\"sliderHandle\"), sliderMarkerOptions, shutterOptions, {\r\n minRange: isNotSemiDiscrete ? this.option(\"scale.minRange\") : void 0,\r\n maxRange: isNotSemiDiscrete ? this.option(\"scale.maxRange\") : void 0\r\n }, this._axis.getFullTicks(), this._getOption(\"selectedRangeColor\", true));\r\n this._requestChange([\"SLIDER_SELECTION\"]);\r\n this._isUpdating = false;\r\n this._tracker.update(!this._axis.getTranslator().getBusinessRange().isEmpty(), behavior)\r\n },\r\n _createSeriesDataSource: function(chartOptions) {\r\n var seriesDataSource;\r\n var dataSource = this._dataSourceItems();\r\n var scaleOptions = this._getOption(\"scale\");\r\n var valueType = scaleOptions.valueType || calculateValueType(scaleOptions.startValue, scaleOptions.endValue);\r\n var valueAxis = new Axis({\r\n renderer: this._renderer,\r\n axisType: \"xyAxes\",\r\n drawingType: \"linear\"\r\n });\r\n valueAxis.updateOptions({\r\n isHorizontal: false,\r\n label: {},\r\n categoriesSortingMethod: this._getOption(\"chart\").valueAxis.categoriesSortingMethod\r\n });\r\n if (dataSource || chartOptions && chartOptions.series) {\r\n chartOptions = extend({}, chartOptions, {\r\n theme: this.option(\"theme\")\r\n });\r\n seriesDataSource = new SeriesDataSource({\r\n renderer: this._renderer,\r\n dataSource: dataSource,\r\n valueType: _normalizeEnum(valueType),\r\n axisType: scaleOptions.type,\r\n chart: chartOptions,\r\n dataSourceField: this.option(\"dataSourceField\"),\r\n incidentOccurred: this._incidentOccurred,\r\n categories: scaleOptions.categories,\r\n argumentAxis: this._axis,\r\n valueAxis: valueAxis\r\n })\r\n }\r\n return seriesDataSource\r\n },\r\n _prepareSliderMarkersOptions: function(scaleOptions, screenDelta, tickIntervalsInfo, argRange) {\r\n var minorTickInterval = tickIntervalsInfo.minorTickInterval;\r\n var tickInterval = tickIntervalsInfo.tickInterval;\r\n var interval = tickInterval;\r\n var endValue = scaleOptions.endValue;\r\n var startValue = scaleOptions.startValue;\r\n var sliderMarkerOptions = this._getOption(SLIDER_MARKER);\r\n var doNotSnap = !this._getOption(\"behavior\").snapToTicks;\r\n var isTypeDiscrete = scaleOptions.type === DISCRETE;\r\n var isValueTypeDatetime = scaleOptions.valueType === DATETIME;\r\n sliderMarkerOptions.borderColor = this._getOption(CONTAINER_BACKGROUND_COLOR, true);\r\n if (!sliderMarkerOptions.format && !argRange.isEmpty()) {\r\n if (doNotSnap && _isNumber(scaleOptions.startValue)) {\r\n sliderMarkerOptions.format = {\r\n type: \"fixedPoint\",\r\n precision: getPrecisionForSlider(startValue, endValue, screenDelta)\r\n }\r\n }\r\n if (isValueTypeDatetime && !isTypeDiscrete) {\r\n if (_isDefined(minorTickInterval) && 0 !== minorTickInterval) {\r\n interval = getMinorTickIntervalUnit(tickInterval, minorTickInterval, doNotSnap)\r\n }\r\n if (!scaleOptions.marker.visible) {\r\n if (_isDefined(startValue) && _isDefined(endValue)) {\r\n sliderMarkerOptions.format = formatHelper.getDateFormatByTickInterval(startValue, endValue, interval)\r\n }\r\n } else {\r\n sliderMarkerOptions.format = dateUtils.getDateFormatByTickInterval(interval)\r\n }\r\n }\r\n if (isValueTypeDatetime && isTypeDiscrete && tickIntervalsInfo.ticks.length) {\r\n sliderMarkerOptions.format = formatHelper.getDateFormatByTicks(tickIntervalsInfo.ticks)\r\n }\r\n }\r\n return sliderMarkerOptions\r\n },\r\n getValue: function() {\r\n return convertVisualRangeObject(this._slidersController.getSelectedRange())\r\n },\r\n setValue: function(value, e) {\r\n var visualRange = parseValue(value);\r\n if (!this._isUpdating && value) {\r\n this._validateRange(visualRange.startValue, visualRange.endValue);\r\n !rangesAreEqual(visualRange, this._slidersController.getSelectedRange()) && this._slidersController.setSelectedRange(visualRange, e)\r\n }\r\n },\r\n _setContentSize: function() {\r\n this.__isResizing = 2 === this._changes.count();\r\n this.callBase.apply(this, arguments)\r\n }\r\n});\r\neach([\"selectedRangeColor\", \"containerBackgroundColor\", \"sliderMarker\", \"sliderHandle\", \"shutter\", OPTION_BACKGROUND, \"behavior\", \"chart\", \"indent\"], (function(_, name) {\r\n dxRangeSelector.prototype._optionChangesMap[name] = \"MOSTLY_TOTAL\"\r\n}));\r\n\r\nfunction prepareAxisOptions(scaleOptions, isCompactMode, height, axisPosition) {\r\n scaleOptions.marker.label.font = scaleOptions.label.font;\r\n scaleOptions.color = scaleOptions.marker.color = scaleOptions.tick.color;\r\n scaleOptions.opacity = scaleOptions.marker.opacity = scaleOptions.tick.opacity;\r\n scaleOptions.width = scaleOptions.marker.width = scaleOptions.tick.width;\r\n scaleOptions.placeholderSize = (scaleOptions.placeholderHeight || 0) + axisPosition;\r\n scaleOptions.argumentType = scaleOptions.valueType;\r\n scaleOptions.visible = isCompactMode;\r\n scaleOptions.isHorizontal = true;\r\n scaleOptions.calculateMinors = true;\r\n scaleOptions.semiDiscreteInterval = scaleOptions.minRange;\r\n if (!isCompactMode) {\r\n scaleOptions.minorTick.length = scaleOptions.tick.length = height\r\n }\r\n scaleOptions.label.indentFromAxis = scaleOptions.label.topIndent + axisPosition;\r\n return scaleOptions\r\n}\r\n\r\nfunction createDateMarkersEvent(scaleOptions, markerTrackers, setSelectedRange) {\r\n each(markerTrackers, (function(_, value) {\r\n value.on(\"dxpointerdown\", onPointerDown)\r\n }));\r\n\r\n function onPointerDown(e) {\r\n var range = e.target.range;\r\n var minRange = scaleOptions.minRange ? dateUtils.addInterval(range.startValue, scaleOptions.minRange) : void 0;\r\n var maxRange = scaleOptions.maxRange ? dateUtils.addInterval(range.startValue, scaleOptions.maxRange) : void 0;\r\n if (!(minRange && minRange > range.endValue || maxRange && maxRange < range.endValue)) {\r\n setSelectedRange(range, e)\r\n }\r\n }\r\n}\r\n\r\nfunction getSharpDirection() {\r\n return 1\r\n}\r\n\r\nfunction getTickStartPositionShift(length) {\r\n return length % 2 === 1 ? -_floor(length / 2) : -length / 2\r\n}\r\n\r\nfunction checkShiftedLabels(majorTicks, boxes, minSpacing, alignment) {\r\n function checkLabelsOverlapping(nearestLabelsIndexes) {\r\n if (2 === nearestLabelsIndexes.length && constants.areLabelsOverlap(boxes[nearestLabelsIndexes[0]], boxes[nearestLabelsIndexes[1]], minSpacing, alignment)) {\r\n majorTicks[nearestLabelsIndexes[0]].removeLabel()\r\n }\r\n }\r\n\r\n function getTwoVisibleLabels(startIndex) {\r\n var labels = [];\r\n for (var i = startIndex; labels.length < 2 && i < majorTicks.length; i++) {\r\n majorTicks[i].label && labels.push(i)\r\n }\r\n return labels\r\n }\r\n if (majorTicks.length < 3) {\r\n return\r\n }\r\n checkLabelsOverlapping(getTwoVisibleLabels(0));\r\n checkLabelsOverlapping(getTwoVisibleLabels(majorTicks.length - 2).reverse())\r\n}\r\n\r\nfunction AxisWrapper(params) {\r\n this._axis = new Axis({\r\n renderer: params.renderer,\r\n axesContainerGroup: params.root,\r\n scaleBreaksGroup: params.scaleBreaksGroup,\r\n labelsAxesGroup: params.labelsAxesGroup,\r\n incidentOccurred: params.incidentOccurred,\r\n axisType: \"xyAxes\",\r\n drawingType: \"linear\",\r\n widgetClass: \"dxrs\",\r\n axisClass: \"range-selector\",\r\n isArgumentAxis: true,\r\n getTemplate() {}\r\n });\r\n this._updateSelectedRangeCallback = params.updateSelectedRange;\r\n this._axis.getAxisSharpDirection = this._axis.getSharpDirectionByCoords = getSharpDirection;\r\n this._axis.getTickStartPositionShift = getTickStartPositionShift;\r\n this._axis._checkShiftedLabels = checkShiftedLabels\r\n}\r\nAxisWrapper.prototype = {\r\n constructor: AxisWrapper,\r\n update: function(options, isCompactMode, canvas, businessRange, seriesDataSource) {\r\n var axis = this._axis;\r\n axis.updateOptions(prepareAxisOptions(options, isCompactMode, canvas.height, canvas.height / 2 - _ceil(options.width / 2)));\r\n axis.validate();\r\n axis.setBusinessRange(businessRange, true);\r\n if (void 0 !== seriesDataSource && seriesDataSource.isShowChart()) {\r\n axis.setMarginOptions(seriesDataSource.getMarginOptions(canvas))\r\n }\r\n axis.draw(canvas);\r\n axis.shift({\r\n left: 0,\r\n bottom: -canvas.height / 2 + canvas.top\r\n });\r\n if (axis.getMarkerTrackers()) {\r\n createDateMarkersEvent(options, axis.getMarkerTrackers(), this._updateSelectedRangeCallback)\r\n }\r\n axis.drawScaleBreaks({\r\n start: canvas.top,\r\n end: canvas.top + canvas.height\r\n })\r\n },\r\n visualRange: function() {},\r\n getViewport: function() {\r\n return {}\r\n },\r\n allScaleSelected(value) {\r\n var {\r\n startValue: startValue,\r\n endValue: endValue\r\n } = this._axis.visualRange();\r\n return {\r\n startValue: value[0].valueOf() === startValue.valueOf(),\r\n endValue: value[1].valueOf() === endValue.valueOf()\r\n }\r\n },\r\n getOptions() {\r\n return this._axis.getOptions() || {}\r\n }\r\n};\r\neach(Axis.prototype, field => {\r\n if (\"constructor\" !== field && \"_\" !== field[0] && isFunction(Axis.prototype[field]) && !(field in AxisWrapper.prototype)) {\r\n AxisWrapper.prototype[field] = function() {\r\n var axis = this._axis;\r\n return axis[field].apply(axis, arguments)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxRangeSelector\", dxRangeSelector);\r\nexport default dxRangeSelector;\r\nimport {\r\n plugin as exportPlugin\r\n} from \"../core/export\";\r\nimport {\r\n plugin as titlePlugin\r\n} from \"../core/title\";\r\nimport {\r\n plugin as LoadingIndicatorPlugin\r\n} from \"../core/loading_indicator\";\r\nimport {\r\n plugin as dataSourcePlugin\r\n} from \"../core/data_source\";\r\ndxRangeSelector.addPlugin(exportPlugin);\r\ndxRangeSelector.addPlugin(titlePlugin);\r\ndxRangeSelector.addPlugin(LoadingIndicatorPlugin);\r\ndxRangeSelector.addPlugin(dataSourcePlugin);\r\n","/**\r\n * DevExtreme (esm/viz/range_selector.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport RangeSelector from \"./range_selector/range_selector\";\r\nexport default RangeSelector;\r\n","/**\r\n * DevExtreme (esm/viz/sankey/constants.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var COLOR_MODE_GRADIENT = \"gradient\";\r\nexport var COLOR_MODE_SOURCE = \"source\";\r\nexport var COLOR_MODE_TARGET = \"target\";\r\nexport var COLOR_MODE_NONE = \"none\";\r\n","/**\r\n * DevExtreme (esm/viz/sankey/node_item.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar states = [\"normal\", \"hover\"];\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n patchFontOptions\r\n} from \"../core/utils\";\r\n\r\nfunction _compileAttrs(color, itemOptions, itemBaseOptions) {\r\n var border = itemOptions.border;\r\n var baseBorder = itemBaseOptions.border;\r\n var borderVisible = isDefined(border.visible) ? border.visible : baseBorder.visible;\r\n var borderWidth = isDefined(border.width) ? border.width : baseBorder.width;\r\n var borderOpacity = isDefined(border.opacity) ? border.opacity : isDefined(baseBorder.opacity) ? baseBorder.opacity : 1;\r\n var opacity = isDefined(itemOptions.opacity) ? itemOptions.opacity : isDefined(itemBaseOptions.opacity) ? itemBaseOptions.opacity : 1;\r\n return {\r\n fill: itemOptions.color || color,\r\n \"stroke-width\": borderVisible ? borderWidth : 0,\r\n stroke: itemOptions.border.color || itemBaseOptions.border.color,\r\n \"stroke-opacity\": borderOpacity,\r\n opacity: opacity,\r\n hatching: itemOptions.hatching\r\n }\r\n}\r\n\r\nfunction compileLabelAttrs(labelOptions, filter, node) {\r\n var _patchFontOptions = patchFontOptions;\r\n if (labelOptions.useNodeColors) {\r\n labelOptions.font.color = node.color\r\n }\r\n var borderVisible = isDefined(labelOptions.border.visible) ? labelOptions.border.visible : false;\r\n var borderWidth = isDefined(labelOptions.border.width) ? labelOptions.border.width : 0;\r\n var borderColor = isDefined(labelOptions.border.color) ? labelOptions.border.color : labelOptions.font.color;\r\n var borderOpacity = isDefined(labelOptions.border.opacity) ? labelOptions.border.opacity : 1;\r\n var attr = {\r\n filter: filter\r\n };\r\n if (borderVisible && borderWidth) {\r\n attr.stroke = borderColor;\r\n attr[\"stroke-width\"] = borderVisible ? borderWidth : 0;\r\n attr[\"stroke-opacity\"] = borderOpacity\r\n }\r\n return {\r\n attr: attr,\r\n css: _patchFontOptions(labelOptions.font)\r\n }\r\n}\r\n\r\nfunction Node(widget, params) {\r\n var widgetOffset = widget._renderer.getRootOffset();\r\n this.code = 0;\r\n this.widget = widget;\r\n this.color = params.color;\r\n this.options = params.options;\r\n this.rect = params.rect;\r\n this.label = this.title = params.rect._name;\r\n this.coords = {\r\n x: params.rect.x + params.rect.width / 2 + widgetOffset.left,\r\n y: params.rect.y + params.rect.height / 2 + widgetOffset.top\r\n };\r\n this.id = params.id;\r\n this.linksIn = params.linksIn;\r\n this.linksOut = params.linksOut;\r\n this.states = {\r\n normal: _compileAttrs(this.color, this.options, this.options),\r\n hover: _compileAttrs(this.color, this.options.hoverStyle, this.options)\r\n }\r\n}\r\nNode.prototype = {\r\n compileAttrs: function() {\r\n return _compileAttrs(this.color, this.options)\r\n },\r\n getState: function() {\r\n return states[this.code]\r\n },\r\n isHovered: function() {\r\n return !!(1 & this.code)\r\n },\r\n setState: function(code, state) {\r\n if (state) {\r\n this.code |= code\r\n } else {\r\n this.code &= ~code\r\n }\r\n if (state) {\r\n this.linksIn.concat(this.linksOut).forEach(adjacentLink => {\r\n this.widget._links[adjacentLink.index].setAdjacentNodeHover(true)\r\n })\r\n } else {\r\n this.widget._links.forEach((function(link) {\r\n link.isAdjacentNodeHovered() && link.adjacentNodeHover(false)\r\n }));\r\n this.hideTooltip()\r\n }\r\n this.widget._applyNodesAppearance();\r\n this.widget._applyLinksAppearance()\r\n },\r\n hover: function(state) {\r\n if (!this.widget._getOption(\"hoverEnabled\", true) || state === this.isHovered()) {\r\n return\r\n }\r\n this.widget._suspend();\r\n state && this.widget.clearHover();\r\n this.setState(1, state);\r\n this.widget._eventTrigger(\"nodeHoverChanged\", {\r\n target: this\r\n });\r\n this.widget._resume()\r\n },\r\n setHover: function() {\r\n this.hover(true)\r\n },\r\n showTooltip: function(coords) {\r\n this.widget._getOption(\"hoverEnabled\", true) && this.widget._tooltip && this.widget._tooltip.show({\r\n type: \"node\",\r\n info: {\r\n label: this.label,\r\n title: this.label,\r\n weightIn: this.linksIn.reduce((function(previousValue, currentValue) {\r\n return previousValue + currentValue.weight\r\n }), 0),\r\n weightOut: this.linksOut.reduce((function(previousValue, currentValue) {\r\n return previousValue + currentValue.weight\r\n }), 0)\r\n }\r\n }, \"undefined\" !== typeof coords ? {\r\n x: coords[0],\r\n y: coords[1]\r\n } : this.coords)\r\n },\r\n hideTooltip: function() {\r\n this.widget._tooltip && this.widget._tooltip.hide()\r\n },\r\n getLabelAttributes: function(labelSettings, filter) {\r\n return compileLabelAttrs(labelSettings, filter, this)\r\n }\r\n};\r\nexport default Node;\r\n","/**\r\n * DevExtreme (esm/viz/sankey/link_item.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n COLOR_MODE_GRADIENT,\r\n COLOR_MODE_SOURCE,\r\n COLOR_MODE_TARGET\r\n} from \"./constants\";\r\nvar states = [\"normal\", \"adjacentNodeHover\", \"hover\"];\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\n\r\nfunction compileAttrs(color, itemOptions, itemBaseOptions, gradient) {\r\n var border = itemOptions.border;\r\n var baseBorder = itemBaseOptions.border;\r\n var borderVisible = isDefined(border.visible) ? border.visible : baseBorder.visible;\r\n var borderWidth = isDefined(border.width) ? border.width : baseBorder.width;\r\n var borderOpacity = isDefined(border.opacity) ? border.opacity : isDefined(baseBorder.opacity) ? baseBorder.opacity : 1;\r\n var opacity = isDefined(itemOptions.opacity) ? itemOptions.opacity : isDefined(itemBaseOptions.opacity) ? itemBaseOptions.opacity : 1;\r\n var fill = itemOptions.color || color;\r\n if (itemBaseOptions.colorMode === COLOR_MODE_TARGET || itemBaseOptions.colorMode === COLOR_MODE_SOURCE) {\r\n fill = color\r\n } else if (itemBaseOptions.colorMode === COLOR_MODE_GRADIENT && gradient && isDefined(gradient.id)) {\r\n fill = gradient.id\r\n }\r\n return {\r\n fill: fill,\r\n \"stroke-width\": borderVisible ? borderWidth : 0,\r\n stroke: itemOptions.border.color || itemBaseOptions.border.color,\r\n \"stroke-opacity\": borderOpacity,\r\n opacity: opacity,\r\n hatching: itemOptions.hatching\r\n }\r\n}\r\n\r\nfunction Link(widget, params) {\r\n var widgetOffset = widget._renderer.getRootOffset();\r\n this.code = 0;\r\n this.widget = widget;\r\n this.color = params.color;\r\n this.connection = params.connection;\r\n this.d = params.d;\r\n this.options = params.options;\r\n this.boundingRect = params.boundingRect, this.coords = {\r\n x: params.boundingRect.x + params.boundingRect.width / 2 + widgetOffset.left,\r\n y: params.boundingRect.y + params.boundingRect.height / 2 + widgetOffset.top\r\n };\r\n this.states = {\r\n normal: compileAttrs(this.color, this.options, this.options, params.gradient),\r\n adjacentNodeHover: compileAttrs(this.color, {\r\n opacity: 0,\r\n border: {}\r\n }, this.options, params.gradient),\r\n hover: compileAttrs(this.color, {\r\n opacity: 0,\r\n border: {}\r\n }, this.options, params.gradient)\r\n };\r\n this.overlayStates = {\r\n normal: compileAttrs(this.color, {\r\n opacity: 0,\r\n border: {}\r\n }, this.options),\r\n adjacentNodeHover: compileAttrs(this.color, this.options.hoverStyle, this.options),\r\n hover: compileAttrs(this.color, this.options.hoverStyle, this.options)\r\n }\r\n}\r\nLink.prototype = {\r\n getState: function() {\r\n return states[this.code]\r\n },\r\n isHovered: function() {\r\n return 2 === this.code\r\n },\r\n isAdjacentNodeHovered: function() {\r\n return 1 === this.code\r\n },\r\n setState: function(code, state) {\r\n if (state) {\r\n this.code = code\r\n } else {\r\n this.code = 0;\r\n this.hideTooltip()\r\n }\r\n this.widget._applyLinksAppearance()\r\n },\r\n setHover: function() {\r\n this.hover(true)\r\n },\r\n hover: function(state) {\r\n if (!this.widget._getOption(\"hoverEnabled\", true) || state === this.isHovered()) {\r\n return\r\n }\r\n this.widget._suspend();\r\n state && this.widget.clearHover();\r\n this.setState(2, state);\r\n this.widget._eventTrigger(\"linkHoverChanged\", {\r\n target: this\r\n });\r\n this.widget._resume()\r\n },\r\n adjacentNodeHover: function(state) {\r\n if (!this.widget._getOption(\"hoverEnabled\", true) || state === this.isAdjacentNodeHovered()) {\r\n return\r\n }\r\n this.widget._suspend();\r\n this.setState(1, state);\r\n this.widget._resume()\r\n },\r\n setAdjacentNodeHover: function() {\r\n this.adjacentNodeHover(true)\r\n },\r\n showTooltip: function(coords) {\r\n this.widget._getOption(\"hoverEnabled\", true) && this.widget._tooltip && this.widget._tooltip.show({\r\n type: \"link\",\r\n info: {\r\n source: this.connection.source,\r\n target: this.connection.target,\r\n weight: this.connection.weight\r\n }\r\n }, \"undefined\" !== typeof coords ? {\r\n x: coords[0],\r\n y: coords[1]\r\n } : this.coords)\r\n },\r\n hideTooltip: function() {\r\n this.widget._tooltip && this.widget._tooltip.hide()\r\n }\r\n};\r\nexport default Link;\r\n","/**\r\n * DevExtreme (esm/viz/sankey/graph.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar WHITE = \"white\";\r\nvar GRAY = \"gray\";\r\nvar BLACK = \"black\";\r\nvar routines = {\r\n maxOfArray: function(arr, callback) {\r\n var m = 0;\r\n var callback_function = v => v;\r\n if (callback) {\r\n callback_function = callback\r\n }\r\n for (var i = 0; i < arr.length; i++) {\r\n if (callback_function(arr[i]) > m) {\r\n m = callback_function(arr[i])\r\n }\r\n }\r\n return m\r\n }\r\n};\r\nvar getVertices = function(links) {\r\n var vert = [];\r\n links.forEach(link => {\r\n if (-1 === vert.indexOf(link[0])) {\r\n vert.push(link[0])\r\n }\r\n if (-1 === vert.indexOf(link[1])) {\r\n vert.push(link[1])\r\n }\r\n });\r\n return vert\r\n};\r\nvar getAdjacentVertices = function(links, vertex) {\r\n var avert = [];\r\n links.forEach(link => {\r\n if (link[0] === vertex && -1 === avert.indexOf(link[1])) {\r\n avert.push(link[1])\r\n }\r\n });\r\n return avert\r\n};\r\nvar getReverseAdjacentVertices = function(links, vertex) {\r\n var avert = [];\r\n links.forEach(link => {\r\n if (link[1] === vertex && -1 === avert.indexOf(link[0])) {\r\n avert.push(link[0])\r\n }\r\n });\r\n return avert\r\n};\r\nvar struct = {\r\n _hasCycle: false,\r\n _sortedList: [],\r\n hasCycle: function(links) {\r\n this._hasCycle = false;\r\n this._sortedList = [];\r\n var vertices = {};\r\n var allVertices = getVertices(links);\r\n allVertices.forEach(vertex => {\r\n vertices[vertex] = {\r\n color: WHITE\r\n }\r\n });\r\n allVertices.forEach(vertex => {\r\n if (vertices[vertex].color === WHITE) {\r\n this._depthFirstSearch(links, vertices, vertex)\r\n }\r\n });\r\n this._sortedList.reverse();\r\n return this._hasCycle\r\n },\r\n _depthFirstSearch: function(links, vertices, vertex) {\r\n vertices[vertex].color = GRAY;\r\n var averts = getAdjacentVertices(links, vertex);\r\n for (var a = 0; a < averts.length; a++) {\r\n if (vertices[averts[a]].color === WHITE) {\r\n this._depthFirstSearch(links, vertices, averts[a])\r\n } else if (vertices[averts[a]].color === GRAY) {\r\n this._hasCycle = true\r\n }\r\n }\r\n this._sortedList.push({\r\n name: vertex,\r\n lp: null,\r\n incoming: getReverseAdjacentVertices(links, vertex),\r\n outgoing: getAdjacentVertices(links, vertex)\r\n });\r\n vertices[vertex].color = BLACK\r\n },\r\n computeLongestPaths(links) {\r\n var sortedVertices = this._sortedList;\r\n sortedVertices.forEach(vertex => {\r\n var averts = getReverseAdjacentVertices(links, vertex.name);\r\n if (0 === averts.length) {\r\n vertex.lp = 0\r\n } else {\r\n var maxLP = [];\r\n averts.forEach(adjacentVertex => {\r\n maxLP.push(sortedVertices.filter(sv => sv.name === adjacentVertex)[0].lp)\r\n });\r\n vertex.lp = routines.maxOfArray(maxLP) + 1\r\n }\r\n });\r\n return this._sortedList\r\n }\r\n};\r\nexport default {\r\n struct: struct,\r\n routines: routines,\r\n getVertices: getVertices,\r\n getAdjacentVertices: getAdjacentVertices,\r\n getReverseAdjacentVertices: getReverseAdjacentVertices\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/sankey/data_validator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport graphModule from \"./graph\";\r\nvar validator = {\r\n validate: function(data, incidentOccurred) {\r\n var result = null;\r\n if (this._hasCycle(data)) {\r\n result = \"E2006\";\r\n incidentOccurred(\"E2006\")\r\n }\r\n return result\r\n },\r\n _hasCycle: function(data) {\r\n return graphModule.struct.hasCycle(data)\r\n }\r\n};\r\nexport default validator;\r\n","/**\r\n * DevExtreme (esm/viz/sankey/layout.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar _SPLINE_TENSION = .3;\r\nvar _ALIGNMENT_CENTER = \"center\";\r\nvar _ALIGNMENT_BOTTOM = \"bottom\";\r\nvar _ALIGNMENT_DEFAULT = _ALIGNMENT_CENTER;\r\nimport graphModule from \"./graph\";\r\nimport validatorModule from \"./data_validator\";\r\nexport var layout = {\r\n _weightPerPixel: null,\r\n _getCascadeIdx: function(nodeTitle, cascadesConfig) {\r\n var nodeInfo = cascadesConfig.filter(c => c.name === nodeTitle)[0];\r\n if (nodeInfo.outgoing.length > 0) {\r\n return nodeInfo.lp\r\n } else {\r\n return graphModule.routines.maxOfArray(cascadesConfig.map(c => c.lp))\r\n }\r\n },\r\n _getInWeightForNode: function(nodeTitle, links) {\r\n var w = 0;\r\n links.forEach(link => {\r\n if (link[1] === nodeTitle) {\r\n w += link[2]\r\n }\r\n });\r\n return w\r\n },\r\n _getOutWeightForNode: function(nodeTitle, links) {\r\n var w = 0;\r\n links.forEach(link => {\r\n if (link[0] === nodeTitle) {\r\n w += link[2]\r\n }\r\n });\r\n return w\r\n },\r\n _computeCascades: function(links) {\r\n var cascadesConfig = graphModule.struct.computeLongestPaths(links);\r\n var maxCascade = graphModule.routines.maxOfArray(cascadesConfig.map(c => c.lp));\r\n var cascades = [];\r\n for (var i = 0; i < maxCascade + 1; i++) {\r\n cascades.push({})\r\n }\r\n links.forEach(link => {\r\n var cascade = cascades[this._getCascadeIdx(link[0], cascadesConfig)];\r\n if (!cascade[link[0]]) {\r\n cascade[link[0]] = {\r\n nodeTitle: link[0]\r\n }\r\n }\r\n cascade = cascades[this._getCascadeIdx(link[1], cascadesConfig)];\r\n if (!cascade[link[1]]) {\r\n cascade[link[1]] = {\r\n nodeTitle: link[1]\r\n }\r\n }\r\n });\r\n cascades.forEach(cascade => {\r\n Object.keys(cascade).forEach(nodeTitle => {\r\n var node = cascade[nodeTitle];\r\n node.inWeight = this._getInWeightForNode(node.nodeTitle, links);\r\n node.outWeight = this._getOutWeightForNode(node.nodeTitle, links);\r\n node.maxWeight = Math.max(node.inWeight, node.outWeight)\r\n })\r\n });\r\n return cascades\r\n },\r\n _getWeightForCascade: function(cascades, cascadeIdx) {\r\n var wMax = 0;\r\n var cascade = cascades[cascadeIdx];\r\n Object.keys(cascade).forEach(nodeTitle => {\r\n wMax += Math.max(cascade[nodeTitle].inWeight, cascade[nodeTitle].outWeight)\r\n });\r\n return wMax\r\n },\r\n _getMaxWeightThroughCascades: function(cascades) {\r\n var max = [];\r\n cascades.forEach(cascade => {\r\n var mW = 0;\r\n Object.keys(cascade).forEach(nodeTitle => {\r\n var node = cascade[nodeTitle];\r\n mW += Math.max(node.inWeight, node.outWeight)\r\n });\r\n max.push(mW)\r\n });\r\n return graphModule.routines.maxOfArray(max)\r\n },\r\n _computeNodes: function(cascades, options) {\r\n var rects = [];\r\n var maxWeight = this._getMaxWeightThroughCascades(cascades);\r\n var maxNodeNum = graphModule.routines.maxOfArray(cascades.map(nodesInCascade => Object.keys(nodesInCascade).length));\r\n var nodePadding = options.nodePadding;\r\n var heightAvailable = options.height - nodePadding * (maxNodeNum - 1);\r\n if (heightAvailable < 0) {\r\n nodePadding = 0;\r\n heightAvailable = options.height - nodePadding * (maxNodeNum - 1)\r\n }\r\n this._weightPerPixel = maxWeight / heightAvailable;\r\n var cascadeIdx = 0;\r\n cascades.forEach(cascade => {\r\n var cascadeRects = [];\r\n var y = 0;\r\n var nodesInCascade = Object.keys(cascade).length;\r\n var cascadeHeight = this._getWeightForCascade(cascades, cascadeIdx) / this._weightPerPixel + nodePadding * (nodesInCascade - 1);\r\n var cascadeAlign;\r\n if (Array.isArray(options.nodeAlign)) {\r\n cascadeAlign = cascadeIdx < options.nodeAlign.length ? options.nodeAlign[cascadeIdx] : _ALIGNMENT_DEFAULT\r\n } else {\r\n cascadeAlign = options.nodeAlign\r\n }\r\n if (cascadeAlign === _ALIGNMENT_BOTTOM) {\r\n y = options.height - cascadeHeight\r\n } else if (cascadeAlign === _ALIGNMENT_CENTER) {\r\n y = .5 * (options.height - cascadeHeight)\r\n }\r\n y = Math.round(y);\r\n Object.keys(cascade).forEach(nodeTitle => {\r\n cascade[nodeTitle].sort = this._sort && Object.prototype.hasOwnProperty.call(this._sort, nodeTitle) ? this._sort[nodeTitle] : 1\r\n });\r\n Object.keys(cascade).sort((a, b) => cascade[a].sort - cascade[b].sort).forEach(nodeTitle => {\r\n var node = cascade[nodeTitle];\r\n var height = Math.floor(heightAvailable * node.maxWeight / maxWeight);\r\n var x = Math.round(cascadeIdx * options.width / (cascades.length - 1)) - (0 === cascadeIdx ? 0 : options.nodeWidth);\r\n var rect = {};\r\n rect._name = nodeTitle;\r\n rect.width = options.nodeWidth;\r\n rect.height = height;\r\n rect.x = x + options.x;\r\n rect.y = y + options.y;\r\n y += height + nodePadding;\r\n cascadeRects.push(rect)\r\n });\r\n cascadeIdx++;\r\n rects.push(cascadeRects)\r\n });\r\n return rects\r\n },\r\n _findRectByName: function(rects, name) {\r\n for (var c = 0; c < rects.length; c++) {\r\n for (var r = 0; r < rects[c].length; r++) {\r\n if (name === rects[c][r]._name) {\r\n return rects[c][r]\r\n }\r\n }\r\n }\r\n return null\r\n },\r\n _findIndexByName: function(rects, nodeTitle) {\r\n var index = 0;\r\n for (var c = 0; c < rects.length; c++) {\r\n for (var r = 0; r < rects[c].length; r++) {\r\n if (nodeTitle === rects[c][r]._name) {\r\n return index\r\n }\r\n index++\r\n }\r\n }\r\n return null\r\n },\r\n _computeLinks: function(links, rects, cascades) {\r\n var yOffsets = {};\r\n var paths = [];\r\n var result = [];\r\n cascades.forEach(cascade => {\r\n Object.keys(cascade).forEach(nodeTitle => {\r\n yOffsets[nodeTitle] = {\r\n in: 0,\r\n out: 0\r\n }\r\n })\r\n });\r\n rects.forEach(rectsOfCascade => {\r\n rectsOfCascade.forEach(nodeRect => {\r\n var nodeTitle = nodeRect._name;\r\n var rectFrom = this._findRectByName(rects, nodeTitle);\r\n var linksFromNode = links.filter(link => link[0] === nodeTitle);\r\n linksFromNode.forEach(link => {\r\n link.sort = this._findIndexByName(rects, link[1])\r\n });\r\n linksFromNode.sort((a, b) => a.sort - b.sort).forEach(link => {\r\n var rectTo = this._findRectByName(rects, link[1]);\r\n var height = Math.round(link[2] / this._weightPerPixel);\r\n var yOffsetFrom = yOffsets[link[0]].out;\r\n var yOffsetTo = yOffsets[link[1]].in;\r\n var heightFrom = yOffsets[link[0]].out + height > rectFrom.height ? rectFrom.height - yOffsets[link[0]].out : height;\r\n var heightTo = yOffsets[link[1]].in + height > rectTo.height ? rectTo.height - yOffsets[link[1]].in : height;\r\n paths.push({\r\n from: {\r\n x: rectFrom.x,\r\n y: rectFrom.y + yOffsetFrom,\r\n width: rectFrom.width,\r\n height: heightFrom,\r\n node: rectFrom,\r\n weight: link[2]\r\n },\r\n to: {\r\n x: rectTo.x,\r\n y: rectTo.y + yOffsetTo,\r\n width: rectTo.width,\r\n height: heightTo,\r\n node: rectTo\r\n }\r\n });\r\n yOffsets[link[0]].out += height;\r\n yOffsets[link[1]].in += height\r\n })\r\n })\r\n });\r\n paths.forEach(link => {\r\n var path = {\r\n d: this._spline(link.from, link.to),\r\n _boundingRect: {\r\n x: link.from.x + link.from.width,\r\n y: Math.min(link.from.y, link.to.y),\r\n width: link.to.x - (link.from.x + link.from.width),\r\n height: Math.max(link.from.x + link.from.height, link.to.y + link.to.height) - Math.min(link.from.y, link.to.y)\r\n },\r\n _weight: link.from.weight,\r\n _from: link.from.node,\r\n _to: link.to.node\r\n };\r\n result.push(path)\r\n });\r\n this._fitAllNodesHeight(rects, paths);\r\n return result\r\n },\r\n _fitNodeHeight: function(nodeName, nodeRects, paths) {\r\n var targetRect = this._findRectByName(nodeRects, nodeName);\r\n var heightOfLinksSummaryIn = 0;\r\n var heightOfLinksSummaryOut = 0;\r\n paths.forEach((function(path) {\r\n if (path.from.node._name === nodeName) {\r\n heightOfLinksSummaryOut += path.from.height\r\n }\r\n if (path.to.node._name === nodeName) {\r\n heightOfLinksSummaryIn += path.to.height\r\n }\r\n }));\r\n targetRect.height = Math.max(heightOfLinksSummaryIn, heightOfLinksSummaryOut)\r\n },\r\n _fitAllNodesHeight: function(nodeRects, paths) {\r\n for (var c = 0; c < nodeRects.length; c++) {\r\n for (var r = 0; r < nodeRects[c].length; r++) {\r\n this._fitNodeHeight(nodeRects[c][r]._name, nodeRects, paths)\r\n }\r\n }\r\n },\r\n _spline: function(rectLeft, rectRight) {\r\n var p_UpLeft = {\r\n x: rectLeft.x + rectLeft.width,\r\n y: rectLeft.y\r\n };\r\n var p_DownLeft = {\r\n x: rectLeft.x + rectLeft.width,\r\n y: rectLeft.y + rectLeft.height\r\n };\r\n var p_UpRight = {\r\n x: rectRight.x,\r\n y: rectRight.y\r\n };\r\n var p_DownRight = {\r\n x: rectRight.x,\r\n y: rectRight.y + rectRight.height\r\n };\r\n var curve_width = _SPLINE_TENSION * (p_UpRight.x - p_UpLeft.x);\r\n var result = \"M \".concat(p_UpLeft.x, \" \").concat(p_UpLeft.y, \" C \").concat(p_UpLeft.x + curve_width, \" \").concat(p_UpLeft.y, \" \").concat(p_UpRight.x - curve_width, \" \").concat(p_UpRight.y, \" \").concat(p_UpRight.x, \" \").concat(p_UpRight.y, \" L \").concat(p_DownRight.x, \" \").concat(p_DownRight.y, \" C \").concat(p_DownRight.x - curve_width, \" \").concat(p_DownRight.y, \" \").concat(p_DownLeft.x + curve_width, \" \").concat(p_DownLeft.y, \" \").concat(p_DownLeft.x, \" \").concat(p_DownLeft.y, \" Z\");\r\n return result\r\n },\r\n computeLayout: function(linksData, sortData, options, incidentOccurred) {\r\n this._sort = sortData;\r\n var result = {};\r\n var validateResult = validatorModule.validate(linksData, incidentOccurred);\r\n if (!validateResult) {\r\n result.cascades = this._computeCascades(linksData);\r\n result.nodes = this._computeNodes(result.cascades, {\r\n width: options.availableRect.width,\r\n height: options.availableRect.height,\r\n x: options.availableRect.x,\r\n y: options.availableRect.y,\r\n nodePadding: options.nodePadding,\r\n nodeWidth: options.nodeWidth,\r\n nodeAlign: options.nodeAlign\r\n });\r\n result.links = this._computeLinks(linksData, result.nodes, result.cascades)\r\n } else {\r\n result.error = validateResult\r\n }\r\n return result\r\n },\r\n overlap: function(box1, box2) {\r\n return !(box2.x > box1.x + box1.width || box2.x + box2.width < box1.x || box2.y >= box1.y + box1.height || box2.y + box2.height <= box1.y)\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/sankey/sankey.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n COLOR_MODE_GRADIENT,\r\n COLOR_MODE_SOURCE,\r\n COLOR_MODE_TARGET\r\n} from \"./constants\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport Node from \"./node_item\";\r\nimport Link from \"./link_item\";\r\nimport {\r\n layout as defaultLayoutBuilder\r\n} from \"./layout\";\r\nimport {\r\n isString as _isString,\r\n isNumeric as _isNumber\r\n} from \"../../core/utils/type\";\r\nimport baseWidget from \"../../__internal/viz/core/m_base_widget\";\r\nimport componentRegistrator from \"../../core/component_registrator\";\r\n\r\nfunction moveLabel(node, labelOptions, availableLabelWidth, rect) {\r\n if (node._label.getBBox().width > availableLabelWidth) {\r\n node.labelText.applyEllipsis(availableLabelWidth)\r\n }\r\n var bBox = node._label.getBBox();\r\n var verticalOffset = labelOptions.verticalOffset;\r\n var horizontalOffset = labelOptions.horizontalOffset;\r\n var labelOffsetY = Math.round(node.rect.y + node.rect.height / 2 - bBox.y - bBox.height / 2) + verticalOffset;\r\n var labelOffsetX = node.rect.x + horizontalOffset + node.rect.width - bBox.x;\r\n if (labelOffsetX + bBox.width >= rect[2] - rect[0]) {\r\n labelOffsetX = node.rect.x - horizontalOffset - bBox.x - bBox.width\r\n }\r\n if (labelOffsetY >= rect[3]) {\r\n labelOffsetY = rect[3]\r\n }\r\n if (labelOffsetY - bBox.height < rect[1]) {\r\n labelOffsetY = node.rect.y - bBox.y + verticalOffset\r\n }\r\n node.labelText.attr({\r\n translateX: labelOffsetX,\r\n translateY: labelOffsetY\r\n })\r\n}\r\n\r\nfunction getConnectedLinks(layout, nodeName, linkType) {\r\n var result = [];\r\n var attrName = \"in\" === linkType ? \"_to\" : \"_from\";\r\n var invertedAttrName = \"in\" === linkType ? \"_from\" : \"_to\";\r\n layout.links.map(link => link[attrName]._name === nodeName).forEach((connected, idx) => {\r\n connected && result.push({\r\n index: idx,\r\n weight: layout.links[idx]._weight,\r\n node: layout.links[idx][invertedAttrName]._name\r\n })\r\n });\r\n return result\r\n}\r\nvar dxSankey = baseWidget.inherit({\r\n _rootClass: \"dxs-sankey\",\r\n _rootClassPrefix: \"dxs\",\r\n _proxyData: [],\r\n _optionChangesMap: {\r\n dataSource: \"DATA_SOURCE\",\r\n sortData: \"DATA_SOURCE\",\r\n alignment: \"DATA_SOURCE\",\r\n node: \"BUILD_LAYOUT\",\r\n link: \"BUILD_LAYOUT\",\r\n palette: \"BUILD_LAYOUT\",\r\n paletteExtensionMode: \"BUILD_LAYOUT\"\r\n },\r\n _themeDependentChanges: [\"BUILD_LAYOUT\"],\r\n _getDefaultSize: function() {\r\n return {\r\n width: 400,\r\n height: 400\r\n }\r\n },\r\n _themeSection: \"sankey\",\r\n _fontFields: [\"label.font\"],\r\n _optionChangesOrder: [\"DATA_SOURCE\"],\r\n _initialChanges: [\"DATA_SOURCE\"],\r\n _initCore: function() {\r\n this._groupLinks = this._renderer.g().append(this._renderer.root);\r\n this._groupNodes = this._renderer.g().append(this._renderer.root);\r\n this._groupLabels = this._renderer.g().attr({\r\n class: this._rootClassPrefix + \"-labels\"\r\n }).append(this._renderer.root);\r\n this._drawLabels = true;\r\n this._nodes = [];\r\n this._links = [];\r\n this._gradients = []\r\n },\r\n _disposeCore: noop,\r\n _applySize: function(rect) {\r\n this._rect = rect.slice();\r\n var adaptiveLayout = this._getOption(\"adaptiveLayout\");\r\n if (adaptiveLayout.keepLabels || this._rect[2] - this._rect[0] > adaptiveLayout.width) {\r\n this._drawLabels = true\r\n } else {\r\n this._drawLabels = false\r\n }\r\n this._change([\"BUILD_LAYOUT\"]);\r\n return this._rect\r\n },\r\n _eventsMap: {\r\n onNodeHoverChanged: {\r\n name: \"nodeHoverChanged\"\r\n },\r\n onLinkHoverChanged: {\r\n name: \"linkHoverChanged\"\r\n }\r\n },\r\n _customChangesOrder: [\"BUILD_LAYOUT\", \"NODES_DRAW\", \"LINKS_DRAW\", \"LABELS\", \"DRAWN\"],\r\n _dataSourceChangedHandler: function() {\r\n this._requestChange([\"BUILD_LAYOUT\"])\r\n },\r\n _change_DRAWN: function() {\r\n this._drawn()\r\n },\r\n _change_DATA_SOURCE: function() {\r\n this._change([\"DRAWN\"]);\r\n this._updateDataSource()\r\n },\r\n _change_LABELS: function() {\r\n this._applyLabelsAppearance()\r\n },\r\n _change_BUILD_LAYOUT: function() {\r\n this._groupNodes.clear();\r\n this._groupLinks.clear();\r\n this._groupLabels.clear();\r\n this._buildLayout()\r\n },\r\n _change_NODES_DRAW: function() {\r\n var that = this;\r\n var nodes = that._nodes;\r\n nodes.forEach((function(node, index) {\r\n var element = that._renderer.rect().attr(node.rect).append(that._groupNodes);\r\n node.element = element\r\n }));\r\n this._applyNodesAppearance()\r\n },\r\n _change_LINKS_DRAW: function() {\r\n var that = this;\r\n var links = that._links;\r\n links.forEach((function(link, index) {\r\n var group = that._renderer.g().attr({\r\n class: \"link\",\r\n \"data-link-idx\": index\r\n }).append(that._groupLinks);\r\n link.overlayElement = that._renderer.path([], \"area\").attr({\r\n d: link.d\r\n }).append(group);\r\n link.element = that._renderer.path([], \"area\").attr({\r\n d: link.d\r\n }).append(group)\r\n }));\r\n this._applyLinksAppearance()\r\n },\r\n _suspend: function() {\r\n if (!this._applyingChanges) {\r\n this._suspendChanges()\r\n }\r\n },\r\n _resume: function() {\r\n if (!this._applyingChanges) {\r\n this._resumeChanges()\r\n }\r\n },\r\n _showTooltip: noop,\r\n hideTooltip: noop,\r\n clearHover: function() {\r\n this._suspend();\r\n this._nodes.forEach((function(node) {\r\n node.isHovered() && node.hover(false)\r\n }));\r\n this._links.forEach((function(link) {\r\n link.isHovered() && link.hover(false);\r\n link.isAdjacentNodeHovered() && link.adjacentNodeHover(false)\r\n }));\r\n this._resume()\r\n },\r\n _applyNodesAppearance: function() {\r\n this._nodes.forEach((function(node) {\r\n var state = node.getState();\r\n node.element.smartAttr(node.states[state])\r\n }))\r\n },\r\n _applyLinksAppearance: function() {\r\n this._links.forEach((function(link) {\r\n var state = link.getState();\r\n link.element.smartAttr(link.states[state]);\r\n link.overlayElement.smartAttr(link.overlayStates[state])\r\n }))\r\n },\r\n _hitTestTargets: function(x, y) {\r\n var that = this;\r\n var data;\r\n this._proxyData.some((function(callback) {\r\n data = callback.call(that, x, y);\r\n if (data) {\r\n return true\r\n }\r\n }));\r\n return data\r\n },\r\n _getData: function() {\r\n var that = this;\r\n var data = that._dataSourceItems() || [];\r\n var sourceField = that._getOption(\"sourceField\", true);\r\n var targetField = that._getOption(\"targetField\", true);\r\n var weightField = that._getOption(\"weightField\", true);\r\n var processedData = [];\r\n data.forEach((function(item) {\r\n var hasItemOwnProperty = Object.prototype.hasOwnProperty.bind(item);\r\n if (!hasItemOwnProperty(sourceField)) {\r\n that._incidentOccurred(\"E2007\", sourceField)\r\n } else if (!hasItemOwnProperty(targetField)) {\r\n that._incidentOccurred(\"E2007\", targetField)\r\n } else if (!hasItemOwnProperty(weightField)) {\r\n that._incidentOccurred(\"E2007\", weightField)\r\n } else if (!_isString(item[sourceField])) {\r\n that._incidentOccurred(\"E2008\", sourceField)\r\n } else if (!_isString(item[targetField])) {\r\n that._incidentOccurred(\"E2008\", targetField)\r\n } else if (!_isNumber(item[weightField]) || item[weightField] <= 0) {\r\n that._incidentOccurred(\"E2009\", weightField)\r\n } else {\r\n processedData.push([item[sourceField], item[targetField], item[weightField]])\r\n }\r\n }));\r\n return processedData\r\n },\r\n _buildLayout: function() {\r\n var that = this;\r\n var data = that._getData();\r\n var availableRect = this._rect;\r\n var nodeOptions = that._getOption(\"node\");\r\n var sortData = that._getOption(\"sortData\");\r\n var layoutBuilder = that._getOption(\"layoutBuilder\", true) || defaultLayoutBuilder;\r\n var rect = {\r\n x: availableRect[0],\r\n y: availableRect[1],\r\n width: availableRect[2] - availableRect[0],\r\n height: availableRect[3] - availableRect[1]\r\n };\r\n var layout = layoutBuilder.computeLayout(data, sortData, {\r\n availableRect: rect,\r\n nodePadding: nodeOptions.padding,\r\n nodeWidth: nodeOptions.width,\r\n nodeAlign: that._getOption(\"alignment\", true)\r\n }, that._incidentOccurred);\r\n that._layoutMap = layout;\r\n if (!Object.prototype.hasOwnProperty.call(layout, \"error\")) {\r\n var nodeColors = {};\r\n var nodeIdx = 0;\r\n var linkOptions = that._getOption(\"link\");\r\n var totalNodesNum = layout.nodes.map(item => item.length).reduce((previousValue, currentValue) => previousValue + currentValue, 0);\r\n var palette = that._themeManager.createPalette(that._getOption(\"palette\", true), {\r\n useHighlight: true,\r\n extensionMode: that._getOption(\"paletteExtensionMode\", true),\r\n count: totalNodesNum\r\n });\r\n that._nodes = [];\r\n that._links = [];\r\n that._gradients.forEach(gradient => {\r\n gradient.dispose()\r\n });\r\n that._gradients = [];\r\n that._shadowFilter && that._shadowFilter.dispose();\r\n layout.nodes.forEach(cascadeNodes => {\r\n cascadeNodes.forEach(node => {\r\n var color = nodeOptions.color || palette.getNextColor();\r\n var nodeItem = new Node(that, {\r\n id: nodeIdx,\r\n color: color,\r\n rect: node,\r\n options: nodeOptions,\r\n linksIn: getConnectedLinks(layout, node._name, \"in\"),\r\n linksOut: getConnectedLinks(layout, node._name, \"out\")\r\n });\r\n that._nodes.push(nodeItem);\r\n nodeIdx++;\r\n nodeColors[node._name] = color\r\n })\r\n });\r\n layout.links.forEach(link => {\r\n var gradient = null;\r\n if (linkOptions.colorMode === COLOR_MODE_GRADIENT) {\r\n gradient = that._renderer.linearGradient([{\r\n offset: \"0%\",\r\n \"stop-color\": nodeColors[link._from._name]\r\n }, {\r\n offset: \"100%\",\r\n \"stop-color\": nodeColors[link._to._name]\r\n }]);\r\n this._gradients.push(gradient)\r\n }\r\n var color = linkOptions.color;\r\n if (linkOptions.colorMode === COLOR_MODE_SOURCE) {\r\n color = nodeColors[link._from._name]\r\n } else if (linkOptions.colorMode === COLOR_MODE_TARGET) {\r\n color = nodeColors[link._to._name]\r\n }\r\n var linkItem = new Link(that, {\r\n d: link.d,\r\n boundingRect: link._boundingRect,\r\n color: color,\r\n options: linkOptions,\r\n connection: {\r\n source: link._from._name,\r\n target: link._to._name,\r\n weight: link._weight\r\n },\r\n gradient: gradient\r\n });\r\n that._links.push(linkItem)\r\n });\r\n that._renderer.initHatching();\r\n that._change([\"NODES_DRAW\", \"LINKS_DRAW\", \"LABELS\"])\r\n }\r\n that._change([\"DRAWN\"])\r\n },\r\n _applyLabelsAppearance: function() {\r\n var that = this;\r\n var labelOptions = that._getOption(\"label\");\r\n var availableWidth = that._rect[2] - that._rect[0];\r\n var nodeOptions = that._getOption(\"node\");\r\n that._shadowFilter = that._renderer.shadowFilter(\"-50%\", \"-50%\", \"200%\", \"200%\").attr(labelOptions.shadow);\r\n that._groupLabels.clear();\r\n if (that._drawLabels && labelOptions.visible) {\r\n var availableLabelWidth = (availableWidth - (nodeOptions.width + labelOptions.horizontalOffset) - that._layoutMap.cascades.length * nodeOptions.width) / (that._layoutMap.cascades.length - 1) - labelOptions.horizontalOffset;\r\n that._nodes.forEach((function(node) {\r\n that._createLabel(node, labelOptions, that._shadowFilter.id);\r\n moveLabel(node, labelOptions, availableLabelWidth, that._rect)\r\n }));\r\n if (\"none\" !== labelOptions.overlappingBehavior) {\r\n that._nodes.forEach((function(thisNode) {\r\n var thisBox = thisNode._label.getBBox();\r\n that._nodes.forEach((function(otherNode) {\r\n var otherBox = otherNode._label.getBBox();\r\n if (thisNode.id !== otherNode.id && defaultLayoutBuilder.overlap(thisBox, otherBox)) {\r\n if (\"ellipsis\" === labelOptions.overlappingBehavior) {\r\n thisNode.labelText.applyEllipsis(otherBox.x - thisBox.x)\r\n } else if (\"hide\" === labelOptions.overlappingBehavior) {\r\n thisNode.labelText.remove()\r\n }\r\n }\r\n }))\r\n }))\r\n }\r\n }\r\n },\r\n _createLabel: function(node, labelOptions, filter) {\r\n var textData = labelOptions.customizeText(node);\r\n var settings = node.getLabelAttributes(labelOptions, filter);\r\n if (textData) {\r\n node._label = this._renderer.g().append(this._groupLabels);\r\n node.labelText = this._renderer.text(textData).attr(settings.attr).css(settings.css);\r\n node.labelText.append(node._label)\r\n }\r\n },\r\n _getMinSize: function() {\r\n var adaptiveLayout = this._getOption(\"adaptiveLayout\");\r\n return [adaptiveLayout.width, adaptiveLayout.height]\r\n },\r\n getAllNodes: function() {\r\n return this._nodes.slice()\r\n },\r\n getAllLinks: function() {\r\n return this._links.slice()\r\n }\r\n});\r\ncomponentRegistrator(\"dxSankey\", dxSankey);\r\nexport default dxSankey;\r\nimport {\r\n plugin as pluginDataSource\r\n} from \"../core/data_source\";\r\ndxSankey.addPlugin(pluginDataSource);\r\n","/**\r\n * DevExtreme (esm/viz/sankey/tooltip.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend as _extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nvar defaultCustomizeLinkTooltip = formatter => function(info) {\r\n return {\r\n html: \"<strong>\".concat(info.source, \" > \").concat(info.target, \"</strong><br/>Weight: \").concat(formatter(info.weight))\r\n }\r\n};\r\nvar defaultCustomizeNodeTooltip = formatter => function(info) {\r\n return {\r\n html: \"<strong>\".concat(info.label, \"</strong><br/>Incoming weight: \").concat(formatter(info.weightIn), \"<br/>Outgoing weight: \").concat(formatter(info.weightOut))\r\n }\r\n};\r\nvar generateCustomCallback = function(customCallback, defaultCallback) {\r\n return function(objectInfo) {\r\n var res = isFunction(customCallback) ? customCallback.call(objectInfo, objectInfo) : {};\r\n var hasOwnProperty = Object.prototype.hasOwnProperty.bind(res);\r\n if (!hasOwnProperty(\"html\") && !hasOwnProperty(\"text\")) {\r\n res = _extend(res, defaultCallback.call(objectInfo, objectInfo))\r\n }\r\n return res\r\n }\r\n};\r\nexport function setTooltipCustomOptions(sankey) {\r\n sankey.prototype._setTooltipOptions = function() {\r\n var tooltip = this._tooltip;\r\n var options = tooltip && this._getOption(\"tooltip\");\r\n var linkTemplate;\r\n var nodeTemplate;\r\n if (options.linkTooltipTemplate) {\r\n linkTemplate = this._getTemplate(options.linkTooltipTemplate)\r\n }\r\n if (options.nodeTooltipTemplate) {\r\n nodeTemplate = this._getTemplate(options.nodeTooltipTemplate)\r\n }\r\n tooltip && tooltip.update(_extend({}, options, {\r\n customizeTooltip: function(args) {\r\n if (!(linkTemplate && \"link\" === args.type || nodeTemplate && \"node\" === args.type)) {\r\n args.skipTemplate = true\r\n }\r\n var formatter = value => tooltip.formatValue(value);\r\n if (\"node\" === args.type) {\r\n return generateCustomCallback(options.customizeNodeTooltip, defaultCustomizeNodeTooltip(formatter))(args.info)\r\n } else if (\"link\" === args.type) {\r\n return generateCustomCallback(options.customizeLinkTooltip, defaultCustomizeLinkTooltip(formatter))(args.info)\r\n }\r\n return {}\r\n },\r\n contentTemplate(arg, div) {\r\n var templateArgs = {\r\n model: arg.info,\r\n container: div\r\n };\r\n if (linkTemplate && \"link\" === arg.type) {\r\n return linkTemplate.render(templateArgs)\r\n }\r\n if (nodeTemplate && \"node\" === arg.type) {\r\n return nodeTemplate.render(templateArgs)\r\n }\r\n },\r\n enabled: options.enabled\r\n }))\r\n };\r\n sankey.prototype.hideTooltip = function() {\r\n this._tooltip && this._tooltip.hide()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/sankey/tracker.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Sankey from \"./sankey\";\r\nimport {\r\n Tracker\r\n} from \"../components/tracker\";\r\nvar proto = Sankey.prototype;\r\nvar DATA_KEY_BASE = \"__sankey_data_\";\r\nvar dataKeyModifier = 0;\r\nproto._eventsMap.onNodeClick = {\r\n name: \"nodeClick\"\r\n};\r\nproto._eventsMap.onLinkClick = {\r\n name: \"linkClick\"\r\n};\r\nvar getDataKey = function() {\r\n return DATA_KEY_BASE + dataKeyModifier++\r\n};\r\nexport var plugin = {\r\n name: \"tracker\",\r\n init: function() {\r\n var that = this;\r\n var dataKey = getDataKey();\r\n that._tracker = new Tracker({\r\n widget: that,\r\n root: that._renderer.root,\r\n getData: function(e) {\r\n var target = e.target;\r\n return target[dataKey]\r\n },\r\n getNode: function(index) {\r\n if (index < that._nodes.length) {\r\n return that._nodes[index]\r\n } else {\r\n return that._links[index - that._nodes.length]\r\n }\r\n },\r\n click: function(e) {\r\n var eventName = this.getData(e.event) < that._nodes.length ? \"nodeClick\" : \"linkClick\";\r\n that._eventTrigger(eventName, {\r\n target: e.node,\r\n event: e.event\r\n })\r\n }\r\n });\r\n this._dataKey = dataKey\r\n },\r\n dispose: function() {\r\n this._tracker.dispose()\r\n },\r\n extenders: {\r\n _change_LINKS_DRAW: function() {\r\n var dataKey = this._dataKey;\r\n this._nodes.concat(this._links).forEach((function(item, index) {\r\n item.element.data(dataKey, index)\r\n }))\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/sankey.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dxSankey from \"./sankey/sankey\";\r\nimport {\r\n setTooltipCustomOptions\r\n} from \"./sankey/tooltip\";\r\nimport {\r\n plugin as pluginExport\r\n} from \"./core/export\";\r\nimport {\r\n plugin as pluginTitle\r\n} from \"./core/title\";\r\nimport {\r\n plugin as pluginTracker\r\n} from \"./sankey/tracker\";\r\nimport {\r\n plugin as pluginTooltip\r\n} from \"./core/tooltip\";\r\nimport {\r\n plugin as pluginLoadingIndicator\r\n} from \"./core/loading_indicator\";\r\ndxSankey.addPlugin(pluginExport);\r\ndxSankey.addPlugin(pluginTitle);\r\ndxSankey.addPlugin(pluginTracker);\r\ndxSankey.addPlugin(pluginLoadingIndicator);\r\ndxSankey.addPlugin(pluginTooltip);\r\nsetTooltipCustomOptions(dxSankey);\r\nexport default dxSankey;\r\n","/**\r\n * DevExtreme (esm/viz/series/points/symbol_point.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n noop\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n getWindow,\r\n hasProperty\r\n} from \"../../../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n Label\r\n} from \"./label\";\r\nvar _extend = extend;\r\nimport {\r\n isDefined as _isDefined\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n normalizeEnum as _normalizeEnum\r\n} from \"../../core/utils\";\r\nvar _math = Math;\r\nvar _round = _math.round;\r\nvar _floor = _math.floor;\r\nvar _ceil = _math.ceil;\r\nvar DEFAULT_IMAGE_WIDTH = 20;\r\nvar DEFAULT_IMAGE_HEIGHT = 20;\r\nvar LABEL_OFFSET = 10;\r\nvar CANVAS_POSITION_DEFAULT = \"canvas_position_default\";\r\n\r\nfunction getSquareMarkerCoords(radius) {\r\n return [-radius, -radius, radius, -radius, radius, radius, -radius, radius, -radius, -radius]\r\n}\r\n\r\nfunction getPolygonMarkerCoords(radius) {\r\n var r = _ceil(radius);\r\n return [-r, 0, 0, -r, r, 0, 0, r, -r, 0]\r\n}\r\n\r\nfunction getCrossMarkerCoords(radius) {\r\n var r = _ceil(radius);\r\n var floorHalfRadius = _floor(r / 2);\r\n var ceilHalfRadius = _ceil(r / 2);\r\n return [-r, -floorHalfRadius, -floorHalfRadius, -r, 0, -ceilHalfRadius, floorHalfRadius, -r, r, -floorHalfRadius, ceilHalfRadius, 0, r, floorHalfRadius, floorHalfRadius, r, 0, ceilHalfRadius, -floorHalfRadius, r, -r, floorHalfRadius, -ceilHalfRadius, 0]\r\n}\r\n\r\nfunction getTriangleDownMarkerCoords(radius) {\r\n return [-radius, -radius, radius, -radius, 0, radius, -radius, -radius]\r\n}\r\n\r\nfunction getTriangleUpMarkerCoords(radius) {\r\n return [-radius, radius, radius, radius, 0, -radius, -radius, radius]\r\n}\r\nexport default {\r\n deleteLabel: function() {\r\n this._label.dispose();\r\n this._label = null\r\n },\r\n _hasGraphic: function() {\r\n return this.graphic\r\n },\r\n clearVisibility: function() {\r\n var graphic = this.graphic;\r\n if (graphic && graphic.attr(\"visibility\")) {\r\n graphic.attr({\r\n visibility: null\r\n })\r\n }\r\n },\r\n isVisible: function() {\r\n return this.inVisibleArea && this.series.isVisible()\r\n },\r\n setInvisibility: function() {\r\n var graphic = this.graphic;\r\n if (graphic && \"hidden\" !== graphic.attr(\"visibility\")) {\r\n graphic.attr({\r\n visibility: \"hidden\"\r\n })\r\n }\r\n this._errorBar && this._errorBar.attr({\r\n visibility: \"hidden\"\r\n });\r\n this._label.draw(false)\r\n },\r\n clearMarker: function() {\r\n var graphic = this.graphic;\r\n graphic && graphic.attr(this._emptySettings)\r\n },\r\n _createLabel: function() {\r\n this._label = new Label({\r\n renderer: this.series._renderer,\r\n labelsGroup: this.series._labelsGroup,\r\n point: this\r\n })\r\n },\r\n _calculateVisibility: function(x, y) {\r\n var {\r\n minX: minX,\r\n maxX: maxX,\r\n minY: minY,\r\n maxY: maxY\r\n } = this._getVisibleArea();\r\n this.inVisibleArea = minX <= x && maxX >= x && minY <= y && maxY >= y\r\n },\r\n _updateLabelData: function() {\r\n this._label.setData(this._getLabelFormatObject())\r\n },\r\n _updateLabelOptions: function() {\r\n !this._label && this._createLabel();\r\n this._label.setOptions(this._options.label)\r\n },\r\n _checkImage: function(image) {\r\n return _isDefined(image) && (\"string\" === typeof image || _isDefined(image.url))\r\n },\r\n _fillStyle: function() {\r\n this._styles = this._options.styles\r\n },\r\n _checkSymbol: function(oldOptions, newOptions) {\r\n var oldSymbol = oldOptions.symbol;\r\n var newSymbol = newOptions.symbol;\r\n var symbolChanged = \"circle\" === oldSymbol && \"circle\" !== newSymbol || \"circle\" !== oldSymbol && \"circle\" === newSymbol;\r\n var imageChanged = this._checkImage(oldOptions.image) !== this._checkImage(newOptions.image);\r\n return !!(symbolChanged || imageChanged)\r\n },\r\n _populatePointShape: function(symbol, radius) {\r\n switch (symbol) {\r\n case \"square\":\r\n return getSquareMarkerCoords(radius);\r\n case \"polygon\":\r\n return getPolygonMarkerCoords(radius);\r\n case \"triangle\":\r\n case \"triangleDown\":\r\n return getTriangleDownMarkerCoords(radius);\r\n case \"triangleUp\":\r\n return getTriangleUpMarkerCoords(radius);\r\n case \"cross\":\r\n return getCrossMarkerCoords(radius)\r\n }\r\n },\r\n hasCoords: function() {\r\n return null !== this.x && null !== this.y\r\n },\r\n correctValue: function(correction) {\r\n var axis = this.series.getValueAxis();\r\n if (this.hasValue()) {\r\n this.value = this.properValue = axis.validateUnit(this.initialValue.valueOf() + correction.valueOf());\r\n this.minValue = axis.validateUnit(correction)\r\n }\r\n },\r\n resetCorrection: function() {\r\n this.value = this.properValue = this.initialValue;\r\n this.minValue = CANVAS_POSITION_DEFAULT\r\n },\r\n resetValue: function() {\r\n if (this.hasValue()) {\r\n this.value = this.properValue = this.initialValue = 0;\r\n this.minValue = 0;\r\n this._label.setDataField(\"value\", this.value)\r\n }\r\n },\r\n _getTranslates: function(animationEnabled) {\r\n var translateX = this.x;\r\n var translateY = this.y;\r\n if (animationEnabled) {\r\n if (this._options.rotated) {\r\n translateX = this.defaultX\r\n } else {\r\n translateY = this.defaultY\r\n }\r\n }\r\n return {\r\n x: translateX,\r\n y: translateY\r\n }\r\n },\r\n _createImageMarker: function(renderer, settings, options) {\r\n var width = options.width || DEFAULT_IMAGE_WIDTH;\r\n var height = options.height || DEFAULT_IMAGE_HEIGHT;\r\n return renderer.image(-_round(.5 * width), -_round(.5 * height), width, height, options.url ? options.url.toString() : options.toString(), \"center\").attr({\r\n translateX: settings.translateX,\r\n translateY: settings.translateY,\r\n visibility: settings.visibility\r\n })\r\n },\r\n _createSymbolMarker: function(renderer, pointSettings) {\r\n var marker;\r\n var symbol = this._options.symbol;\r\n if (\"circle\" === symbol) {\r\n delete pointSettings.points;\r\n marker = renderer.circle().attr(pointSettings)\r\n } else if (\"square\" === symbol || \"polygon\" === symbol || \"triangle\" === symbol || \"triangleDown\" === symbol || \"triangleUp\" === symbol || \"cross\" === symbol) {\r\n marker = renderer.path([], \"area\").attr(pointSettings).sharp()\r\n }\r\n return marker\r\n },\r\n _createMarker: function(renderer, group, image, settings) {\r\n var marker = this._checkImage(image) ? this._createImageMarker(renderer, settings, image) : this._createSymbolMarker(renderer, settings);\r\n if (marker) {\r\n marker.data({\r\n \"chart-data-point\": this\r\n }).append(group)\r\n }\r\n return marker\r\n },\r\n _getSymbolBBox: function(x, y, r) {\r\n return {\r\n x: x - r,\r\n y: y - r,\r\n width: 2 * r,\r\n height: 2 * r\r\n }\r\n },\r\n _getImageBBox: function(x, y) {\r\n var image = this._options.image;\r\n var width = image.width || DEFAULT_IMAGE_WIDTH;\r\n var height = image.height || DEFAULT_IMAGE_HEIGHT;\r\n return {\r\n x: x - _round(width / 2),\r\n y: y - _round(height / 2),\r\n width: width,\r\n height: height\r\n }\r\n },\r\n _getGraphicBBox: function() {\r\n var options = this._options;\r\n var x = this.x;\r\n var y = this.y;\r\n var bBox;\r\n if (options.visible) {\r\n bBox = this._checkImage(options.image) ? this._getImageBBox(x, y) : this._getSymbolBBox(x, y, options.styles.normal.r)\r\n } else {\r\n bBox = {\r\n x: x,\r\n y: y,\r\n width: 0,\r\n height: 0\r\n }\r\n }\r\n return bBox\r\n },\r\n hideInsideLabel: noop,\r\n _getShiftLabelCoords: function(label) {\r\n var coord = this._addLabelAlignmentAndOffset(label, this._getLabelCoords(label));\r\n return this._checkLabelPosition(label, coord)\r\n },\r\n _drawLabel: function() {\r\n var customVisibility = this._getCustomLabelVisibility();\r\n var label = this._label;\r\n var isVisible = this._showForZeroValues() && this.hasValue() && false !== customVisibility && (this.series.getLabelVisibility() || customVisibility);\r\n label.draw(!!isVisible)\r\n },\r\n correctLabelPosition: function(label) {\r\n var coord = this._getShiftLabelCoords(label);\r\n if (!this.hideInsideLabel(label, coord)) {\r\n label.setFigureToDrawConnector(this._getLabelConnector(label.pointPosition));\r\n label.shift(_round(coord.x), _round(coord.y))\r\n }\r\n },\r\n _showForZeroValues: function() {\r\n return true\r\n },\r\n _getLabelConnector: function(pointPosition) {\r\n var bBox = this._getGraphicBBox(pointPosition);\r\n var w2 = bBox.width / 2;\r\n var h2 = bBox.height / 2;\r\n return {\r\n x: bBox.x + w2,\r\n y: bBox.y + h2,\r\n r: this._options.visible ? Math.max(w2, h2) : 0\r\n }\r\n },\r\n _getPositionFromLocation: function() {\r\n return {\r\n x: this.x,\r\n y: this.y\r\n }\r\n },\r\n _isPointInVisibleArea: function(visibleArea, graphicBBox) {\r\n return visibleArea.minX <= graphicBBox.x + graphicBBox.width && visibleArea.maxX >= graphicBBox.x && visibleArea.minY <= graphicBBox.y + graphicBBox.height && visibleArea.maxY >= graphicBBox.y\r\n },\r\n _checkLabelPosition: function(label, coord) {\r\n var visibleArea = this._getVisibleArea();\r\n var labelBBox = label.getBoundingRect();\r\n var graphicBBox = this._getGraphicBBox(label.pointPosition);\r\n var fullGraphicBBox = this._getGraphicBBox();\r\n var isInside = \"inside\" === label.getLayoutOptions().position;\r\n var offset = LABEL_OFFSET;\r\n if (this._isPointInVisibleArea(visibleArea, fullGraphicBBox)) {\r\n if (!this._options.rotated) {\r\n if (visibleArea.minX > coord.x) {\r\n coord.x = visibleArea.minX\r\n }\r\n if (visibleArea.maxX < coord.x + labelBBox.width) {\r\n coord.x = visibleArea.maxX - labelBBox.width\r\n }\r\n if (visibleArea.minY > coord.y) {\r\n coord.y = isInside ? visibleArea.minY : graphicBBox.y + graphicBBox.height + offset\r\n }\r\n if (visibleArea.maxY < coord.y + labelBBox.height) {\r\n coord.y = isInside ? visibleArea.maxY - labelBBox.height : graphicBBox.y - labelBBox.height - offset\r\n }\r\n } else {\r\n if (visibleArea.minX > coord.x) {\r\n coord.x = isInside ? visibleArea.minX : graphicBBox.x + graphicBBox.width + offset\r\n }\r\n if (visibleArea.maxX < coord.x + labelBBox.width) {\r\n coord.x = isInside ? visibleArea.maxX - labelBBox.width : graphicBBox.x - offset - labelBBox.width\r\n }\r\n if (visibleArea.minY > coord.y) {\r\n coord.y = visibleArea.minY\r\n }\r\n if (visibleArea.maxY < coord.y + labelBBox.height) {\r\n coord.y = visibleArea.maxY - labelBBox.height\r\n }\r\n }\r\n }\r\n return coord\r\n },\r\n _addLabelAlignmentAndOffset: function(label, coord) {\r\n var labelBBox = label.getBoundingRect();\r\n var labelOptions = label.getLayoutOptions();\r\n if (!this._options.rotated) {\r\n if (\"left\" === labelOptions.alignment) {\r\n coord.x += labelBBox.width / 2\r\n } else if (\"right\" === labelOptions.alignment) {\r\n coord.x -= labelBBox.width / 2\r\n }\r\n }\r\n coord.x += labelOptions.horizontalOffset;\r\n coord.y += labelOptions.verticalOffset;\r\n return coord\r\n },\r\n _getLabelCoords: function(label) {\r\n return this._getLabelCoordOfPosition(label, this._getLabelPosition(label.pointPosition))\r\n },\r\n _getLabelCoordOfPosition: function(label, position) {\r\n var labelBBox = label.getBoundingRect();\r\n var graphicBBox = this._getGraphicBBox(label.pointPosition);\r\n var offset = LABEL_OFFSET;\r\n var centerY = graphicBBox.height / 2 - labelBBox.height / 2;\r\n var centerX = graphicBBox.width / 2 - labelBBox.width / 2;\r\n var x = graphicBBox.x;\r\n var y = graphicBBox.y;\r\n switch (position) {\r\n case \"left\":\r\n x -= labelBBox.width + offset;\r\n y += centerY;\r\n break;\r\n case \"right\":\r\n x += graphicBBox.width + offset;\r\n y += centerY;\r\n break;\r\n case \"top\":\r\n x += centerX;\r\n y -= labelBBox.height + offset;\r\n break;\r\n case \"bottom\":\r\n x += centerX;\r\n y += graphicBBox.height + offset;\r\n break;\r\n case \"inside\":\r\n x += centerX;\r\n y += centerY\r\n }\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n _drawMarker: function(renderer, group, animationEnabled) {\r\n var options = this._options;\r\n var translates = this._getTranslates(animationEnabled);\r\n var style = this._getStyle();\r\n this.graphic = this._createMarker(renderer, group, options.image, _extend({\r\n translateX: translates.x,\r\n translateY: translates.y,\r\n points: this._populatePointShape(options.symbol, style.r)\r\n }, style))\r\n },\r\n _getErrorBarSettings: function() {\r\n return {\r\n visibility: \"visible\"\r\n }\r\n },\r\n _getErrorBarBaseEdgeLength() {\r\n return 2 * this.getPointRadius()\r\n },\r\n _drawErrorBar: function(renderer, group) {\r\n if (!this._options.errorBars) {\r\n return\r\n }\r\n var options = this._options;\r\n var errorBarOptions = options.errorBars;\r\n var points = [];\r\n var settings;\r\n var pos = this._errorBarPos;\r\n var high = this._highErrorCoord;\r\n var low = this._lowErrorCoord;\r\n var displayMode = _normalizeEnum(errorBarOptions.displayMode);\r\n var isHighDisplayMode = \"high\" === displayMode;\r\n var isLowDisplayMode = \"low\" === displayMode;\r\n var highErrorOnly = (isHighDisplayMode || !_isDefined(low)) && _isDefined(high) && !isLowDisplayMode;\r\n var lowErrorOnly = (isLowDisplayMode || !_isDefined(high)) && _isDefined(low) && !isHighDisplayMode;\r\n var edgeLength = errorBarOptions.edgeLength;\r\n if (edgeLength <= 1 && edgeLength > 0) {\r\n edgeLength = this._getErrorBarBaseEdgeLength() * errorBarOptions.edgeLength\r\n }\r\n edgeLength = _floor(parseInt(edgeLength) / 2);\r\n highErrorOnly && (low = this._baseErrorBarPos);\r\n lowErrorOnly && (high = this._baseErrorBarPos);\r\n if (\"none\" !== displayMode && _isDefined(high) && _isDefined(low) && _isDefined(pos)) {\r\n !lowErrorOnly && points.push([pos - edgeLength, high, pos + edgeLength, high]);\r\n points.push([pos, high, pos, low]);\r\n !highErrorOnly && points.push([pos + edgeLength, low, pos - edgeLength, low]);\r\n options.rotated && each(points, (function(_, p) {\r\n p.reverse()\r\n }));\r\n settings = this._getErrorBarSettings(errorBarOptions);\r\n if (!this._errorBar) {\r\n this._errorBar = renderer.path(points, \"line\").attr(settings).append(group)\r\n } else {\r\n settings.points = points;\r\n this._errorBar.attr(settings)\r\n }\r\n } else {\r\n this._errorBar && this._errorBar.attr({\r\n visibility: \"hidden\"\r\n })\r\n }\r\n },\r\n getTooltipParams: function() {\r\n var graphic = this.graphic;\r\n return {\r\n x: this.x,\r\n y: this.y,\r\n offset: graphic ? graphic.getBBox().height / 2 : 0\r\n }\r\n },\r\n setPercentValue: function(absTotal, total, leftHoleTotal, rightHoleTotal) {\r\n var valuePercent = this.value / absTotal || 0;\r\n var minValuePercent = this.minValue / absTotal || 0;\r\n var percent = valuePercent - minValuePercent;\r\n this._label.setDataField(\"percent\", percent);\r\n this._label.setDataField(\"total\", total);\r\n if (this.series.isFullStackedSeries() && this.hasValue()) {\r\n if (this.leftHole) {\r\n this.leftHole /= absTotal - leftHoleTotal;\r\n this.minLeftHole /= absTotal - leftHoleTotal\r\n }\r\n if (this.rightHole) {\r\n this.rightHole /= absTotal - rightHoleTotal;\r\n this.minRightHole /= absTotal - rightHoleTotal\r\n }\r\n this.value = this.properValue = valuePercent;\r\n this.minValue = !minValuePercent ? this.minValue : minValuePercent\r\n }\r\n },\r\n _storeTrackerR: function() {\r\n var navigator = window.navigator;\r\n var r = this._options.styles.normal.r;\r\n var minTrackerSize = hasProperty(\"ontouchstart\") || navigator.msPointerEnabled && navigator.msMaxTouchPoints || navigator.pointerEnabled && navigator.maxTouchPoints ? 20 : 6;\r\n this._options.trackerR = r < minTrackerSize ? minTrackerSize : r;\r\n return this._options.trackerR\r\n },\r\n _translateErrorBars: function() {\r\n var options = this._options;\r\n var rotated = options.rotated;\r\n var errorBars = options.errorBars;\r\n var translator = this._getValTranslator();\r\n if (!errorBars) {\r\n return\r\n }\r\n _isDefined(this.lowError) && (this._lowErrorCoord = translator.translate(this.lowError));\r\n _isDefined(this.highError) && (this._highErrorCoord = translator.translate(this.highError));\r\n this._errorBarPos = _floor(rotated ? this.vy : this.vx);\r\n this._baseErrorBarPos = \"stdDeviation\" === errorBars.type ? this._lowErrorCoord + (this._highErrorCoord - this._lowErrorCoord) / 2 : rotated ? this.vx : this.vy\r\n },\r\n _translate: function() {\r\n var valTranslator = this._getValTranslator();\r\n var argTranslator = this._getArgTranslator();\r\n if (this._options.rotated) {\r\n this.vx = this.x = valTranslator.translate(this.value, void 0, true);\r\n this.vy = this.y = argTranslator.translate(this.argument, void 0, true);\r\n this.minX = valTranslator.translate(this.minValue, void 0, true);\r\n this.defaultX = valTranslator.translate(CANVAS_POSITION_DEFAULT)\r\n } else {\r\n this.vy = this.y = valTranslator.translate(this.value, void 0, true);\r\n this.vx = this.x = argTranslator.translate(this.argument, void 0, true);\r\n this.minY = valTranslator.translate(this.minValue, void 0, true);\r\n this.defaultY = valTranslator.translate(CANVAS_POSITION_DEFAULT)\r\n }\r\n this._translateErrorBars();\r\n this._calculateVisibility(this.x, this.y)\r\n },\r\n _updateData: function(data) {\r\n this.value = this.properValue = this.initialValue = this.originalValue = data.value;\r\n this.minValue = this.initialMinValue = this.originalMinValue = _isDefined(data.minValue) ? data.minValue : CANVAS_POSITION_DEFAULT\r\n },\r\n _getImageSettings: function(image) {\r\n return {\r\n href: image.url || image.toString(),\r\n width: image.width || DEFAULT_IMAGE_WIDTH,\r\n height: image.height || DEFAULT_IMAGE_HEIGHT\r\n }\r\n },\r\n getCrosshairData: function() {\r\n var r = this._options.rotated;\r\n var value = this.properValue;\r\n var argument = this.argument;\r\n return {\r\n x: this.vx,\r\n y: this.vy,\r\n xValue: r ? value : argument,\r\n yValue: r ? argument : value,\r\n axis: this.series.axis\r\n }\r\n },\r\n getPointRadius: function() {\r\n var style = this._getStyle();\r\n var options = this._options;\r\n var r = style.r;\r\n var extraSpace;\r\n var symbol = options.symbol;\r\n var isSquare = \"square\" === symbol;\r\n var isTriangle = \"triangle\" === symbol || \"triangleDown\" === symbol || \"triangleUp\" === symbol;\r\n if (options.visible && !options.image && r) {\r\n extraSpace = style[\"stroke-width\"] / 2;\r\n return (isSquare || isTriangle ? 1.4 * r : r) + extraSpace\r\n }\r\n return 0\r\n },\r\n _updateMarker: function(animationEnabled, style) {\r\n var options = this._options;\r\n var settings;\r\n var image = options.image;\r\n var visibility = !this.isVisible() ? {\r\n visibility: \"hidden\"\r\n } : {};\r\n if (this._checkImage(image)) {\r\n settings = _extend({}, {\r\n visibility: style.visibility\r\n }, visibility, this._getImageSettings(image))\r\n } else {\r\n settings = _extend({}, style, visibility, {\r\n points: this._populatePointShape(options.symbol, style.r)\r\n })\r\n }\r\n if (!animationEnabled) {\r\n settings.translateX = this.x;\r\n settings.translateY = this.y\r\n }\r\n this.graphic.attr(settings).sharp()\r\n },\r\n _getLabelFormatObject: function() {\r\n return {\r\n argument: this.initialArgument,\r\n value: this.initialValue,\r\n originalArgument: this.originalArgument,\r\n originalValue: this.originalValue,\r\n seriesName: this.series.name,\r\n lowErrorValue: this.lowError,\r\n highErrorValue: this.highError,\r\n point: this\r\n }\r\n },\r\n _getLabelPosition: function() {\r\n var rotated = this._options.rotated;\r\n if (this.initialValue > 0) {\r\n return rotated ? \"right\" : \"top\"\r\n } else {\r\n return rotated ? \"left\" : \"bottom\"\r\n }\r\n },\r\n _getFormatObject: function(tooltip) {\r\n var labelFormatObject = this._label.getData();\r\n return _extend({}, labelFormatObject, {\r\n argumentText: tooltip.formatValue(this.initialArgument, \"argument\"),\r\n valueText: tooltip.formatValue(this.initialValue)\r\n }, _isDefined(labelFormatObject.percent) ? {\r\n percentText: tooltip.formatValue(labelFormatObject.percent, \"percent\")\r\n } : {}, _isDefined(labelFormatObject.total) ? {\r\n totalText: tooltip.formatValue(labelFormatObject.total)\r\n } : {})\r\n },\r\n getMarkerVisibility: function() {\r\n return this._options.visible\r\n },\r\n coordsIn: function(x, y) {\r\n var trackerRadius = this._storeTrackerR();\r\n return x >= this.x - trackerRadius && x <= this.x + trackerRadius && y >= this.y - trackerRadius && y <= this.y + trackerRadius\r\n },\r\n getMinValue: function(noErrorBar) {\r\n var errorBarOptions = this._options.errorBars;\r\n if (errorBarOptions && !noErrorBar) {\r\n var displayMode = errorBarOptions.displayMode;\r\n var lowValue = \"high\" !== displayMode && _isDefined(this.lowError) ? this.lowError : this.value;\r\n var highValue = \"low\" !== displayMode && _isDefined(this.highError) ? this.highError : this.value;\r\n return lowValue < highValue ? lowValue : highValue\r\n } else {\r\n return this.value\r\n }\r\n },\r\n getMaxValue: function(noErrorBar) {\r\n var errorBarOptions = this._options.errorBars;\r\n if (errorBarOptions && !noErrorBar) {\r\n var displayMode = errorBarOptions.displayMode;\r\n var lowValue = \"high\" !== displayMode && _isDefined(this.lowError) ? this.lowError : this.value;\r\n var highValue = \"low\" !== displayMode && _isDefined(this.highError) ? this.highError : this.value;\r\n return lowValue > highValue ? lowValue : highValue\r\n } else {\r\n return this.value\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/points/bar_point.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nvar _extend = extend;\r\nvar _math = Math;\r\nvar _floor = _math.floor;\r\nvar _abs = _math.abs;\r\nimport symbolPoint from \"./symbol_point\";\r\nvar CANVAS_POSITION_DEFAULT = \"canvas_position_default\";\r\nvar DEFAULT_BAR_TRACKER_SIZE = 9;\r\nvar CORRECTING_BAR_TRACKER_VALUE = 4;\r\nvar RIGHT = \"right\";\r\nvar LEFT = \"left\";\r\nvar TOP = \"top\";\r\nvar BOTTOM = \"bottom\";\r\n\r\nfunction getLabelOrientation(point) {\r\n var initialValue = point.initialValue;\r\n var invert = point._getValTranslator().getBusinessRange().invert;\r\n var isDiscreteValue = \"discrete\" === point.series.valueAxisType;\r\n var isFullStacked = point.series.isFullStackedSeries();\r\n var notAxisInverted = !isDiscreteValue && (initialValue >= 0 && !invert || initialValue < 0 && invert) || isDiscreteValue && !invert || isFullStacked;\r\n return notAxisInverted ? TOP : BOTTOM\r\n}\r\nexport default _extend({}, symbolPoint, {\r\n correctCoordinates(correctOptions) {\r\n var correction = _floor(correctOptions.offset - correctOptions.width / 2);\r\n if (this._options.rotated) {\r\n this.height = correctOptions.width;\r\n this.yCorrection = correction;\r\n this.xCorrection = null\r\n } else {\r\n this.width = correctOptions.width;\r\n this.xCorrection = correction;\r\n this.yCorrection = null\r\n }\r\n },\r\n _calculateVisibility: function(x, y, width, height) {\r\n var {\r\n minX: minX,\r\n maxX: maxX,\r\n minY: minY,\r\n maxY: maxY\r\n } = this._getVisibleArea();\r\n this.inVisibleArea = minX <= x + width && maxX >= x && minY <= y + height && maxY >= y\r\n },\r\n _cacheVisibility: function(x, y, minY, rotated) {\r\n var size = Math.abs(y - minY);\r\n y = Math.min(y, minY);\r\n if (rotated) {\r\n this._calculateVisibility(y, x, size, this.height)\r\n } else {\r\n this._calculateVisibility(x, y, this.width, size)\r\n }\r\n },\r\n _getGraphicBBox: function(location) {\r\n var bBox = {\r\n x: this.x,\r\n y: this.y,\r\n width: this.width,\r\n height: this.height\r\n };\r\n if (location) {\r\n var isTop = \"top\" === location;\r\n if (!this._options.rotated) {\r\n bBox.y = isTop ? bBox.y : bBox.y + bBox.height;\r\n bBox.height = 0\r\n } else {\r\n bBox.x = isTop ? bBox.x + bBox.width : bBox.x;\r\n bBox.width = 0\r\n }\r\n }\r\n return bBox\r\n },\r\n _getLabelConnector: function(location) {\r\n return this._getGraphicBBox(location)\r\n },\r\n _getLabelPosition: function() {\r\n var position = getLabelOrientation(this);\r\n if (this._options.rotated) {\r\n position = position === TOP ? RIGHT : LEFT\r\n }\r\n return position\r\n },\r\n _getLabelCoords: function(label) {\r\n var coords;\r\n if (0 === this.initialValue && this.series.isFullStackedSeries()) {\r\n if (!this._options.rotated) {\r\n coords = this._getLabelCoordOfPosition(label, TOP)\r\n } else {\r\n coords = this._getLabelCoordOfPosition(label, RIGHT)\r\n }\r\n } else if (\"inside\" === label.getLayoutOptions().position) {\r\n coords = this._getLabelCoordOfPosition(label, \"inside\")\r\n } else {\r\n coords = symbolPoint._getLabelCoords.call(this, label)\r\n }\r\n return coords\r\n },\r\n _drawLabel: function() {\r\n this._label.pointPosition = \"inside\" !== this._label.getLayoutOptions().position && getLabelOrientation(this);\r\n symbolPoint._drawLabel.call(this)\r\n },\r\n hideInsideLabel: function(label, coord) {\r\n var graphicBBox = this._getGraphicBBox();\r\n var labelBBox = label.getBoundingRect();\r\n if (this._options.resolveLabelsOverlapping) {\r\n if ((coord.y <= graphicBBox.y && coord.y + labelBBox.height >= graphicBBox.y + graphicBBox.height || coord.x <= graphicBBox.x && coord.x + labelBBox.width >= graphicBBox.x + graphicBBox.width) && !(coord.y > graphicBBox.y + graphicBBox.height || coord.y + labelBBox.height < graphicBBox.y || coord.x > graphicBBox.x + graphicBBox.width || coord.x + labelBBox.width < graphicBBox.x)) {\r\n label.draw(false);\r\n return true\r\n }\r\n }\r\n return false\r\n },\r\n _showForZeroValues: function() {\r\n return this._options.label.showForZeroValues || this.initialValue\r\n },\r\n _drawMarker(renderer, group, animationEnabled) {\r\n var style = this._getStyle();\r\n var r = this._options.cornerRadius;\r\n var rotated = this._options.rotated;\r\n var {\r\n x: x,\r\n y: y,\r\n width: width,\r\n height: height\r\n } = this.getMarkerCoords();\r\n if (animationEnabled) {\r\n if (rotated) {\r\n width = 0;\r\n x = this.defaultX\r\n } else {\r\n height = 0;\r\n y = this.defaultY\r\n }\r\n }\r\n this.graphic = renderer.rect(x, y, width, height).attr({\r\n rx: r,\r\n ry: r\r\n }).smartAttr(style).data({\r\n \"chart-data-point\": this\r\n }).append(group)\r\n },\r\n _getSettingsForTracker: function() {\r\n var y = this.y;\r\n var height = this.height;\r\n var x = this.x;\r\n var width = this.width;\r\n if (this._options.rotated) {\r\n if (1 === width) {\r\n width = DEFAULT_BAR_TRACKER_SIZE;\r\n x -= CORRECTING_BAR_TRACKER_VALUE\r\n }\r\n } else if (1 === height) {\r\n height = DEFAULT_BAR_TRACKER_SIZE;\r\n y -= CORRECTING_BAR_TRACKER_VALUE\r\n }\r\n return {\r\n x: x,\r\n y: y,\r\n width: width,\r\n height: height\r\n }\r\n },\r\n getGraphicSettings: function() {\r\n var graphic = this.graphic;\r\n return {\r\n x: graphic.attr(\"x\"),\r\n y: graphic.attr(\"y\"),\r\n height: graphic.attr(\"height\"),\r\n width: graphic.attr(\"width\")\r\n }\r\n },\r\n _getEdgeTooltipParams() {\r\n var isPositive = this.value >= 0;\r\n var xCoord;\r\n var yCoord;\r\n var invertedBusinessRange = this._getValTranslator().getBusinessRange().invert;\r\n var {\r\n x: x,\r\n y: y,\r\n width: width,\r\n height: height\r\n } = this;\r\n if (this._options.rotated) {\r\n yCoord = y + height / 2;\r\n if (invertedBusinessRange) {\r\n xCoord = isPositive ? x : x + width\r\n } else {\r\n xCoord = isPositive ? x + width : x\r\n }\r\n } else {\r\n xCoord = x + width / 2;\r\n if (invertedBusinessRange) {\r\n yCoord = isPositive ? y + height : y\r\n } else {\r\n yCoord = isPositive ? y : y + height\r\n }\r\n }\r\n return {\r\n x: xCoord,\r\n y: yCoord,\r\n offset: 0\r\n }\r\n },\r\n getTooltipParams: function(location) {\r\n if (\"edge\" === location) {\r\n return this._getEdgeTooltipParams()\r\n }\r\n var center = this.getCenterCoord();\r\n center.offset = 0;\r\n return center\r\n },\r\n getCenterCoord() {\r\n var {\r\n width: width,\r\n height: height,\r\n x: x,\r\n y: y\r\n } = this;\r\n return {\r\n x: x + width / 2,\r\n y: y + height / 2\r\n }\r\n },\r\n _truncateCoord: function(coord, bounds) {\r\n if (null === coord) {\r\n return coord\r\n }\r\n if (coord < bounds[0]) {\r\n return bounds[0]\r\n }\r\n if (coord > bounds[1]) {\r\n return bounds[1]\r\n }\r\n return coord\r\n },\r\n _getErrorBarBaseEdgeLength() {\r\n return this._options.rotated ? this.height : this.width\r\n },\r\n _translateErrorBars: function(argVisibleArea) {\r\n symbolPoint._translateErrorBars.call(this);\r\n if (this._errorBarPos < argVisibleArea[0] || this._errorBarPos > argVisibleArea[1]) {\r\n this._errorBarPos = void 0\r\n }\r\n },\r\n _translate: function() {\r\n var rotated = this._options.rotated;\r\n var valAxis = rotated ? \"x\" : \"y\";\r\n var argAxis = rotated ? \"y\" : \"x\";\r\n var valIntervalName = rotated ? \"width\" : \"height\";\r\n var argIntervalName = rotated ? \"height\" : \"width\";\r\n var argTranslator = this._getArgTranslator();\r\n var valTranslator = this._getValTranslator();\r\n var argVisibleArea = this.series.getArgumentAxis().getVisibleArea();\r\n var valVisibleArea = this.series.getValueAxis().getVisibleArea();\r\n var arg = argTranslator.translate(this.argument);\r\n var val = valTranslator.translate(this.value, 1);\r\n var minVal = valTranslator.translate(this.minValue, -1);\r\n this[argAxis] = arg = null === arg ? arg : arg + (this[argAxis + \"Correction\"] || 0);\r\n this[\"v\" + valAxis] = val;\r\n this[\"v\" + argAxis] = arg + this[argIntervalName] / 2;\r\n this._cacheVisibility(arg, val, minVal, rotated);\r\n val = this._truncateCoord(val, valVisibleArea);\r\n minVal = this._truncateCoord(minVal, valVisibleArea);\r\n this[valIntervalName] = _abs(val - minVal);\r\n val = val < minVal ? val : minVal;\r\n this[valAxis] = null === val ? val : val + (this[valAxis + \"Correction\"] || 0);\r\n this[\"min\" + valAxis.toUpperCase()] = null === minVal ? minVal : minVal + (this[valAxis + \"Correction\"] || 0);\r\n this[\"default\" + valAxis.toUpperCase()] = valTranslator.translate(CANVAS_POSITION_DEFAULT);\r\n this._translateErrorBars(argVisibleArea);\r\n if (this.inVisibleArea && null !== this[argAxis]) {\r\n if (this[argAxis] < argVisibleArea[0]) {\r\n this[argIntervalName] = this[argIntervalName] - (argVisibleArea[0] - this[argAxis]);\r\n this[argAxis] = argVisibleArea[0]\r\n }\r\n if (this[argAxis] + this[argIntervalName] > argVisibleArea[1]) {\r\n this[argIntervalName] = argVisibleArea[1] - this[argAxis]\r\n }\r\n }\r\n },\r\n _updateMarker: function(animationEnabled, style) {\r\n this.graphic.smartAttr(_extend({}, style, !animationEnabled ? this.getMarkerCoords() : {}))\r\n },\r\n getMarkerCoords: function() {\r\n var x = this.x;\r\n var y = this.y;\r\n var width = this.width;\r\n var height = this.height;\r\n var argAxis = this.series.getArgumentAxis();\r\n var rotated = this._options.rotated;\r\n if (argAxis.getAxisPosition) {\r\n var axisOptions = argAxis.getOptions();\r\n var edgeOffset = Math.round(axisOptions.width / 2);\r\n var argAxisPosition = argAxis.getAxisPosition();\r\n if (axisOptions.visible) {\r\n if (!rotated) {\r\n height -= this.minY === this.defaultY && this.minY === argAxisPosition - argAxis.getAxisShift() ? edgeOffset : 0;\r\n height < 0 && (height = 0)\r\n } else {\r\n var isStartFromAxis = this.minX === this.defaultX && this.minX === argAxisPosition - argAxis.getAxisShift();\r\n x += isStartFromAxis ? edgeOffset : 0;\r\n width -= isStartFromAxis ? edgeOffset : 0;\r\n width < 0 && (width = 0)\r\n }\r\n }\r\n }\r\n return {\r\n x: x,\r\n y: y,\r\n width: width,\r\n height: height\r\n }\r\n },\r\n coordsIn: function(x, y) {\r\n return x >= this.x && x <= this.x + this.width && y >= this.y && y <= this.y + this.height\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/series/points/bubble_point.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport symbolPoint from \"./symbol_point\";\r\nvar _extend = extend;\r\nvar MIN_BUBBLE_HEIGHT = 20;\r\nexport default _extend({}, symbolPoint, {\r\n correctCoordinates: function(diameter) {\r\n this.bubbleSize = diameter / 2\r\n },\r\n _drawMarker: function(renderer, group, animationEnabled) {\r\n var attr = _extend({\r\n translateX: this.x,\r\n translateY: this.y\r\n }, this._getStyle());\r\n this.graphic = renderer.circle(0, 0, animationEnabled ? 0 : this.bubbleSize).smartAttr(attr).data({\r\n \"chart-data-point\": this\r\n }).append(group)\r\n },\r\n getTooltipParams: function(location) {\r\n var graphic = this.graphic;\r\n if (!graphic) {\r\n return\r\n }\r\n var height = graphic.getBBox().height;\r\n return {\r\n x: this.x,\r\n y: this.y,\r\n offset: height < MIN_BUBBLE_HEIGHT || \"edge\" === location ? height / 2 : 0\r\n }\r\n },\r\n _getLabelFormatObject: function() {\r\n var formatObject = symbolPoint._getLabelFormatObject.call(this);\r\n formatObject.size = this.initialSize;\r\n return formatObject\r\n },\r\n _updateData: function(data) {\r\n symbolPoint._updateData.call(this, data);\r\n this.size = this.initialSize = data.size\r\n },\r\n _getGraphicBBox: function() {\r\n return this._getSymbolBBox(this.x, this.y, this.bubbleSize)\r\n },\r\n _updateMarker: function(animationEnabled, style) {\r\n if (!animationEnabled) {\r\n style = _extend({\r\n r: this.bubbleSize,\r\n translateX: this.x,\r\n translateY: this.y\r\n }, style)\r\n }\r\n this.graphic.smartAttr(style)\r\n },\r\n _getFormatObject: function(tooltip) {\r\n var formatObject = symbolPoint._getFormatObject.call(this, tooltip);\r\n formatObject.sizeText = tooltip.formatValue(this.initialSize);\r\n return formatObject\r\n },\r\n _storeTrackerR: function() {\r\n return this.bubbleSize\r\n },\r\n _getLabelCoords: function(label) {\r\n var coords;\r\n if (\"inside\" === label.getLayoutOptions().position) {\r\n coords = this._getLabelCoordOfPosition(label, \"inside\")\r\n } else {\r\n coords = symbolPoint._getLabelCoords.call(this, label)\r\n }\r\n return coords\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/series/points/pie_point.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport symbolPoint from \"./symbol_point\";\r\nvar _extend = extend;\r\nvar _round = Math.round;\r\nvar _sqrt = Math.sqrt;\r\nvar _acos = Math.acos;\r\nvar DEG = 180 / Math.PI;\r\nvar _abs = Math.abs;\r\nimport {\r\n getVerticallyShiftedAngularCoords,\r\n normalizeAngle as _normalizeAngle,\r\n getCosAndSin as _getCosAndSin\r\n} from \"../../core/utils\";\r\nimport {\r\n isDefined as _isDefined\r\n} from \"../../../core/utils/type\";\r\nimport consts from \"../../components/consts\";\r\nvar RADIAL_LABEL_INDENT = consts.radialLabelIndent;\r\nexport default _extend({}, symbolPoint, {\r\n _updateData: function(data, argumentChanged) {\r\n symbolPoint._updateData.call(this, data);\r\n if (argumentChanged || !_isDefined(this._visible)) {\r\n this._visible = true\r\n }\r\n this.minValue = this.initialMinValue = this.originalMinValue = _isDefined(data.minValue) ? data.minValue : 0\r\n },\r\n animate: function(complete, duration, delay) {\r\n this.graphic.animate({\r\n x: this.centerX,\r\n y: this.centerY,\r\n outerRadius: this.radiusOuter,\r\n innerRadius: this.radiusInner,\r\n startAngle: this.toAngle,\r\n endAngle: this.fromAngle\r\n }, {\r\n delay: delay,\r\n partitionDuration: duration\r\n }, complete)\r\n },\r\n correctPosition: function(correction) {\r\n this.correctRadius(correction);\r\n this.correctLabelRadius(correction.radiusOuter + RADIAL_LABEL_INDENT);\r\n this.centerX = correction.centerX;\r\n this.centerY = correction.centerY\r\n },\r\n correctRadius: function(correction) {\r\n this.radiusInner = correction.radiusInner;\r\n this.radiusOuter = correction.radiusOuter\r\n },\r\n correctLabelRadius: function(radiusLabels) {\r\n this.radiusLabels = radiusLabels\r\n },\r\n correctValue: function(correction, percent, base) {\r\n this.value = (base || this.normalInitialValue) + correction;\r\n this.minValue = correction;\r\n this.percent = percent;\r\n this._label.setDataField(\"percent\", percent)\r\n },\r\n _updateLabelData: function() {\r\n this._label.setData(this._getLabelFormatObject())\r\n },\r\n _getShiftLabelCoords: function() {\r\n var bBox = this._label.getBoundingRect();\r\n var coord = this._getLabelCoords(this._label);\r\n var visibleArea = this._getVisibleArea();\r\n if (this._isLabelDrawingWithoutPoints) {\r\n return this._checkLabelPosition(coord, bBox, visibleArea)\r\n } else {\r\n return this._getLabelExtraCoord(coord, this._checkVerticalLabelPosition(coord, bBox, visibleArea), bBox)\r\n }\r\n },\r\n _getLabelPosition: function(options) {\r\n return options.position\r\n },\r\n getAnnotationCoords: function(location) {\r\n return this._getElementCoords(\"edge\" !== location ? \"inside\" : \"outside\", this.radiusOuter, 0)\r\n },\r\n _getElementCoords: function(position, elementRadius, radialOffset) {\r\n var bBox = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {\r\n x: 0,\r\n y: 0,\r\n width: 0,\r\n height: 0\r\n };\r\n var that = this;\r\n var angleFunctions = _getCosAndSin(that.middleAngle);\r\n var radiusInner = that.radiusInner;\r\n var radiusOuter = that.radiusOuter;\r\n var columnsPosition = \"columns\" === position;\r\n var rad;\r\n var x;\r\n if (\"inside\" === position) {\r\n rad = radiusInner + (radiusOuter - radiusInner) / 2 + radialOffset;\r\n x = that.centerX + rad * angleFunctions.cos - bBox.width / 2\r\n } else {\r\n rad = elementRadius + radialOffset;\r\n if (angleFunctions.cos > .1 || columnsPosition && angleFunctions.cos >= 0) {\r\n x = that.centerX + rad * angleFunctions.cos\r\n } else if (angleFunctions.cos < -.1 || columnsPosition && angleFunctions.cos < 0) {\r\n x = that.centerX + rad * angleFunctions.cos - bBox.width\r\n } else {\r\n x = that.centerX + rad * angleFunctions.cos - bBox.width / 2\r\n }\r\n }\r\n return {\r\n x: x,\r\n y: _round(that.centerY - rad * angleFunctions.sin - bBox.height / 2)\r\n }\r\n },\r\n _getLabelCoords: function(label) {\r\n var bBox = label.getBoundingRect();\r\n var options = label.getLayoutOptions();\r\n var position = this._getLabelPosition(options);\r\n return this._getElementCoords(position, this.radiusLabels, options.radialOffset, bBox)\r\n },\r\n _correctLabelCoord: function(coord, moveLabelsFromCenter) {\r\n var label = this._label;\r\n var bBox = label.getBoundingRect();\r\n var labelWidth = bBox.width;\r\n var options = label.getLayoutOptions();\r\n var visibleArea = this._getVisibleArea();\r\n var rightBorderX = visibleArea.maxX - labelWidth;\r\n var leftBorderX = visibleArea.minX;\r\n var angleOfPoint = _normalizeAngle(this.middleAngle);\r\n var centerX = this.centerX;\r\n var connectorOffset = options.connectorOffset;\r\n var x = coord.x;\r\n if (\"columns\" === options.position) {\r\n if (angleOfPoint <= 90 || angleOfPoint >= 270) {\r\n x = rightBorderX\r\n } else {\r\n x = leftBorderX\r\n }\r\n coord.x = x\r\n } else if (\"inside\" !== options.position && moveLabelsFromCenter) {\r\n if (angleOfPoint <= 90 || angleOfPoint >= 270) {\r\n if (x - connectorOffset < centerX) {\r\n x = centerX + connectorOffset\r\n }\r\n } else if (x + labelWidth + connectorOffset > centerX) {\r\n x = centerX - labelWidth - connectorOffset\r\n }\r\n coord.x = x\r\n }\r\n return coord\r\n },\r\n drawLabel: function() {\r\n this.translate();\r\n this._isLabelDrawingWithoutPoints = true;\r\n this._drawLabel();\r\n this._isLabelDrawingWithoutPoints = false\r\n },\r\n updateLabelCoord: function(moveLabelsFromCenter) {\r\n var bBox = this._label.getBoundingRect();\r\n var coord = this._correctLabelCoord(bBox, moveLabelsFromCenter);\r\n coord = this._checkHorizontalLabelPosition(coord, bBox, this._getVisibleArea());\r\n this._label.shift(_round(coord.x), _round(bBox.y))\r\n },\r\n _checkVerticalLabelPosition: function(coord, box, visibleArea) {\r\n var x = coord.x;\r\n var y = coord.y;\r\n if (coord.y + box.height > visibleArea.maxY) {\r\n y = visibleArea.maxY - box.height\r\n } else if (coord.y < visibleArea.minY) {\r\n y = visibleArea.minY\r\n }\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n _getLabelExtraCoord: function(coord, shiftCoord, box) {\r\n return coord.y !== shiftCoord.y ? getVerticallyShiftedAngularCoords({\r\n x: coord.x,\r\n y: coord.y,\r\n width: box.width,\r\n height: box.height\r\n }, shiftCoord.y - coord.y, {\r\n x: this.centerX,\r\n y: this.centerY\r\n }) : coord\r\n },\r\n _checkHorizontalLabelPosition: function(coord, box, visibleArea) {\r\n var x = coord.x;\r\n var y = coord.y;\r\n if (coord.x + box.width > visibleArea.maxX) {\r\n x = visibleArea.maxX - box.width\r\n } else if (coord.x < visibleArea.minX) {\r\n x = visibleArea.minX\r\n }\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n applyWordWrap: function(moveLabelsFromCenter) {\r\n var label = this._label;\r\n var box = label.getBoundingRect();\r\n var visibleArea = this._getVisibleArea();\r\n var position = label.getLayoutOptions().position;\r\n var width = box.width;\r\n var rowCountChanged = false;\r\n if (\"columns\" === position && this.series.index > 0) {\r\n width = visibleArea.maxX - this.centerX - this.radiusLabels\r\n } else if (\"inside\" === position) {\r\n if (width > visibleArea.maxX - visibleArea.minX) {\r\n width = visibleArea.maxX - visibleArea.minX\r\n }\r\n } else if (moveLabelsFromCenter && box.x < this.centerX && box.width + box.x > this.centerX) {\r\n width = Math.floor((visibleArea.maxX - visibleArea.minX) / 2)\r\n } else if (box.x + width > visibleArea.maxX) {\r\n width = visibleArea.maxX - box.x\r\n } else if (box.x < visibleArea.minX) {\r\n width = box.x + width - visibleArea.minX\r\n }\r\n if (width < box.width) {\r\n rowCountChanged = label.fit(width)\r\n }\r\n return rowCountChanged\r\n },\r\n setLabelTrackerData: function() {\r\n this._label.setTrackerData(this)\r\n },\r\n _checkLabelPosition: function(coord, bBox, visibleArea) {\r\n coord = this._checkHorizontalLabelPosition(coord, bBox, visibleArea);\r\n return this._checkVerticalLabelPosition(coord, bBox, visibleArea)\r\n },\r\n _getLabelConnector: function() {\r\n var rad = this.radiusOuter;\r\n var seriesStyle = this._options.styles.normal;\r\n var strokeWidthBy2 = seriesStyle[\"stroke-width\"] / 2;\r\n var borderWidth = this.series.getOptions().containerBackgroundColor === seriesStyle.stroke ? _round(strokeWidthBy2) : _round(-strokeWidthBy2);\r\n var angleFunctions = _getCosAndSin(_round(this.middleAngle));\r\n return {\r\n x: _round(this.centerX + (rad - borderWidth) * angleFunctions.cos),\r\n y: _round(this.centerY - (rad - borderWidth) * angleFunctions.sin),\r\n angle: this.middleAngle\r\n }\r\n },\r\n _drawMarker: function(renderer, group, animationEnabled, firstDrawing) {\r\n var radiusOuter = this.radiusOuter;\r\n var radiusInner = this.radiusInner;\r\n var fromAngle = this.fromAngle;\r\n var toAngle = this.toAngle;\r\n if (animationEnabled) {\r\n radiusInner = radiusOuter = 0;\r\n if (!firstDrawing) {\r\n fromAngle = toAngle = this.shiftedAngle\r\n }\r\n }\r\n this.graphic = renderer.arc(this.centerX, this.centerY, radiusInner, radiusOuter, toAngle, fromAngle).attr({\r\n \"stroke-linejoin\": \"round\"\r\n }).smartAttr(this._getStyle()).data({\r\n \"chart-data-point\": this\r\n }).sharp().append(group)\r\n },\r\n getTooltipParams: function() {\r\n var angleFunctions = _getCosAndSin(this.middleAngle);\r\n var radiusInner = this.radiusInner;\r\n var radiusOuter = this.radiusOuter;\r\n return {\r\n x: this.centerX + (radiusInner + (radiusOuter - radiusInner) / 2) * angleFunctions.cos,\r\n y: this.centerY - (radiusInner + (radiusOuter - radiusInner) / 2) * angleFunctions.sin,\r\n offset: 0\r\n }\r\n },\r\n _translate: function() {\r\n var angle = this.shiftedAngle || 0;\r\n var value = this.value;\r\n var minValue = this.minValue;\r\n var translator = this._getValTranslator();\r\n this.fromAngle = translator.translate(minValue) + angle;\r\n this.toAngle = translator.translate(value) + angle;\r\n this.middleAngle = translator.translate((value - minValue) / 2 + minValue) + angle;\r\n if (!this.isVisible()) {\r\n this.middleAngle = this.toAngle = this.fromAngle = this.fromAngle || angle\r\n }\r\n },\r\n getMarkerVisibility: function() {\r\n return true\r\n },\r\n _updateMarker: function(animationEnabled, style, _, callback) {\r\n if (!animationEnabled) {\r\n style = _extend({\r\n x: this.centerX,\r\n y: this.centerY,\r\n outerRadius: this.radiusOuter,\r\n innerRadius: this.radiusInner,\r\n startAngle: this.toAngle,\r\n endAngle: this.fromAngle\r\n }, style)\r\n }\r\n this.graphic.smartAttr(style).sharp();\r\n callback && callback()\r\n },\r\n getLegendStyles: function() {\r\n return this._styles.legendStyles\r\n },\r\n isInVisibleArea: function() {\r\n return true\r\n },\r\n hide: function() {\r\n if (this._visible) {\r\n this._visible = false;\r\n this.hideTooltip();\r\n this._options.visibilityChanged()\r\n }\r\n },\r\n show: function() {\r\n if (!this._visible) {\r\n this._visible = true;\r\n this._options.visibilityChanged()\r\n }\r\n },\r\n setInvisibility: function() {\r\n this._label.draw(false)\r\n },\r\n isVisible: function() {\r\n return this._visible\r\n },\r\n _getFormatObject: function(tooltip) {\r\n var formatObject = symbolPoint._getFormatObject.call(this, tooltip);\r\n var percent = this.percent;\r\n formatObject.percent = percent;\r\n formatObject.percentText = tooltip.formatValue(percent, \"percent\");\r\n return formatObject\r\n },\r\n getColor: function() {\r\n return this._styles.normal.fill\r\n },\r\n coordsIn: function(x, y) {\r\n var lx = x - this.centerX;\r\n var ly = y - this.centerY;\r\n var r = _sqrt(lx * lx + ly * ly);\r\n var fromAngle = this.fromAngle % 360;\r\n var toAngle = this.toAngle % 360;\r\n var angle;\r\n if (r < this.radiusInner || r > this.radiusOuter || 0 === r) {\r\n return false\r\n }\r\n angle = _acos(lx / r) * DEG * (ly > 0 ? -1 : 1);\r\n if (angle < 0) {\r\n angle += 360\r\n }\r\n if (fromAngle === toAngle && _abs(this.toAngle - this.fromAngle) > 1e-4) {\r\n return true\r\n } else {\r\n return fromAngle >= toAngle ? angle <= fromAngle && angle >= toAngle : !(angle >= fromAngle && angle <= toAngle)\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/series/points/range_symbol_point.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n noop\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n Label\r\n} from \"./label\";\r\nimport symbolPoint from \"./symbol_point\";\r\nvar _extend = extend;\r\nimport {\r\n isDefined as _isDefined\r\n} from \"../../../core/utils/type\";\r\nvar _math = Math;\r\nvar _abs = _math.abs;\r\nvar _min = _math.min;\r\nvar _max = _math.max;\r\nvar _round = _math.round;\r\nvar DEFAULT_IMAGE_WIDTH = 20;\r\nvar DEFAULT_IMAGE_HEIGHT = 20;\r\nexport default _extend({}, symbolPoint, {\r\n deleteLabel: function() {\r\n this._topLabel.dispose();\r\n this._topLabel = null;\r\n this._bottomLabel.dispose();\r\n this._bottomLabel = null\r\n },\r\n hideMarker: function(type) {\r\n var graphic = this.graphic;\r\n var marker = graphic && graphic[type + \"Marker\"];\r\n var label = this[\"_\" + type + \"Label\"];\r\n if (marker && \"hidden\" !== marker.attr(\"visibility\")) {\r\n marker.attr({\r\n visibility: \"hidden\"\r\n })\r\n }\r\n label.draw(false)\r\n },\r\n setInvisibility: function() {\r\n this.hideMarker(\"top\");\r\n this.hideMarker(\"bottom\")\r\n },\r\n clearVisibility: function() {\r\n var graphic = this.graphic;\r\n var topMarker = graphic && graphic.topMarker;\r\n var bottomMarker = graphic && graphic.bottomMarker;\r\n if (topMarker && topMarker.attr(\"visibility\")) {\r\n topMarker.attr({\r\n visibility: null\r\n })\r\n }\r\n if (bottomMarker && bottomMarker.attr(\"visibility\")) {\r\n bottomMarker.attr({\r\n visibility: null\r\n })\r\n }\r\n },\r\n clearMarker: function() {\r\n var graphic = this.graphic;\r\n var topMarker = graphic && graphic.topMarker;\r\n var bottomMarker = graphic && graphic.bottomMarker;\r\n var emptySettings = this._emptySettings;\r\n topMarker && topMarker.attr(emptySettings);\r\n bottomMarker && bottomMarker.attr(emptySettings)\r\n },\r\n _getLabelPosition: function(markerType) {\r\n var position;\r\n var labelsInside = \"inside\" === this._options.label.position;\r\n if (!this._options.rotated) {\r\n position = \"top\" === markerType ^ labelsInside ? \"top\" : \"bottom\"\r\n } else {\r\n position = \"top\" === markerType ^ labelsInside ? \"right\" : \"left\"\r\n }\r\n return position\r\n },\r\n _getLabelMinFormatObject: function() {\r\n return {\r\n index: 0,\r\n argument: this.initialArgument,\r\n value: this.initialMinValue,\r\n seriesName: this.series.name,\r\n originalValue: this.originalMinValue,\r\n originalArgument: this.originalArgument,\r\n point: this\r\n }\r\n },\r\n _updateLabelData: function() {\r\n var maxFormatObject = this._getLabelFormatObject();\r\n maxFormatObject.index = 1;\r\n this._topLabel.setData(maxFormatObject);\r\n this._bottomLabel.setData(this._getLabelMinFormatObject())\r\n },\r\n _updateLabelOptions: function() {\r\n var options = this._options.label;\r\n (!this._topLabel || !this._bottomLabel) && this._createLabel();\r\n this._topLabel.setOptions(options);\r\n this._bottomLabel.setOptions(options)\r\n },\r\n _createLabel: function() {\r\n var options = {\r\n renderer: this.series._renderer,\r\n labelsGroup: this.series._labelsGroup,\r\n point: this\r\n };\r\n this._topLabel = new Label(options);\r\n this._bottomLabel = new Label(options)\r\n },\r\n _getGraphicBBox: function(location) {\r\n var options = this._options;\r\n var images = this._getImage(options.image);\r\n var image = \"top\" === location ? this._checkImage(images.top) : this._checkImage(images.bottom);\r\n var bBox;\r\n var coord = this._getPositionFromLocation(location);\r\n if (options.visible) {\r\n bBox = image ? this._getImageBBox(coord.x, coord.y) : this._getSymbolBBox(coord.x, coord.y, options.styles.normal.r)\r\n } else {\r\n bBox = {\r\n x: coord.x,\r\n y: coord.y,\r\n width: 0,\r\n height: 0\r\n }\r\n }\r\n return bBox\r\n },\r\n _getPositionFromLocation: function(location) {\r\n var x;\r\n var y;\r\n var isTop = \"top\" === location;\r\n if (!this._options.rotated) {\r\n x = this.x;\r\n y = isTop ? _min(this.y, this.minY) : _max(this.y, this.minY)\r\n } else {\r\n x = isTop ? _max(this.x, this.minX) : _min(this.x, this.minX);\r\n y = this.y\r\n }\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n _checkOverlay: function(bottomCoord, topCoord, topValue) {\r\n return bottomCoord < topCoord + topValue\r\n },\r\n _getOverlayCorrections: function(topCoords, bottomCoords) {\r\n var rotated = this._options.rotated;\r\n var coordSelector = !rotated ? \"y\" : \"x\";\r\n var valueSelector = !rotated ? \"height\" : \"width\";\r\n var visibleArea = this.series.getValueAxis().getVisibleArea();\r\n var minBound = visibleArea[0];\r\n var maxBound = visibleArea[1];\r\n var delta = _round((topCoords[coordSelector] + topCoords[valueSelector] - bottomCoords[coordSelector]) / 2);\r\n var coord1 = topCoords[coordSelector] - delta;\r\n var coord2 = bottomCoords[coordSelector] + delta;\r\n if (coord1 < minBound) {\r\n delta = minBound - coord1;\r\n coord1 += delta;\r\n coord2 += delta\r\n } else if (coord2 + bottomCoords[valueSelector] > maxBound) {\r\n delta = maxBound - coord2 - bottomCoords[valueSelector];\r\n coord1 += delta;\r\n coord2 += delta\r\n }\r\n return {\r\n coord1: coord1,\r\n coord2: coord2\r\n }\r\n },\r\n _checkLabelsOverlay: function(topLocation) {\r\n var topCoords = this._topLabel.getBoundingRect();\r\n var bottomCoords = this._bottomLabel.getBoundingRect();\r\n var corrections = {};\r\n if (!this._options.rotated) {\r\n if (\"top\" === topLocation) {\r\n if (this._checkOverlay(bottomCoords.y, topCoords.y, topCoords.height)) {\r\n corrections = this._getOverlayCorrections(topCoords, bottomCoords);\r\n this._topLabel.shift(topCoords.x, corrections.coord1);\r\n this._bottomLabel.shift(bottomCoords.x, corrections.coord2)\r\n }\r\n } else if (this._checkOverlay(topCoords.y, bottomCoords.y, bottomCoords.height)) {\r\n corrections = this._getOverlayCorrections(bottomCoords, topCoords);\r\n this._topLabel.shift(topCoords.x, corrections.coord2);\r\n this._bottomLabel.shift(bottomCoords.x, corrections.coord1)\r\n }\r\n } else if (\"top\" === topLocation) {\r\n if (this._checkOverlay(topCoords.x, bottomCoords.x, bottomCoords.width)) {\r\n corrections = this._getOverlayCorrections(bottomCoords, topCoords);\r\n this._topLabel.shift(corrections.coord2, topCoords.y);\r\n this._bottomLabel.shift(corrections.coord1, bottomCoords.y)\r\n }\r\n } else if (this._checkOverlay(bottomCoords.x, topCoords.x, topCoords.width)) {\r\n corrections = this._getOverlayCorrections(topCoords, bottomCoords);\r\n this._topLabel.shift(corrections.coord1, topCoords.y);\r\n this._bottomLabel.shift(corrections.coord2, bottomCoords.y)\r\n }\r\n },\r\n _drawLabel: function() {\r\n var labels = [];\r\n var notInverted = this._options.rotated ? this.x >= this.minX : this.y < this.minY;\r\n var customVisibility = this._getCustomLabelVisibility();\r\n var topLabel = this._topLabel;\r\n var bottomLabel = this._bottomLabel;\r\n topLabel.pointPosition = notInverted ? \"top\" : \"bottom\";\r\n bottomLabel.pointPosition = notInverted ? \"bottom\" : \"top\";\r\n if ((this.series.getLabelVisibility() || customVisibility) && this.hasValue() && false !== customVisibility) {\r\n false !== this.visibleTopMarker && labels.push(topLabel);\r\n false !== this.visibleBottomMarker && labels.push(bottomLabel);\r\n each(labels, (function(_, label) {\r\n label.draw(true)\r\n }));\r\n this._checkLabelsOverlay(this._topLabel.pointPosition)\r\n } else {\r\n topLabel.draw(false);\r\n bottomLabel.draw(false)\r\n }\r\n },\r\n _getImage: function(imageOption) {\r\n var image = {};\r\n if (_isDefined(imageOption)) {\r\n if (\"string\" === typeof imageOption) {\r\n image.top = image.bottom = imageOption\r\n } else {\r\n image.top = {\r\n url: \"string\" === typeof imageOption.url ? imageOption.url : imageOption.url && imageOption.url.rangeMaxPoint,\r\n width: \"number\" === typeof imageOption.width ? imageOption.width : imageOption.width && imageOption.width.rangeMaxPoint,\r\n height: \"number\" === typeof imageOption.height ? imageOption.height : imageOption.height && imageOption.height.rangeMaxPoint\r\n };\r\n image.bottom = {\r\n url: \"string\" === typeof imageOption.url ? imageOption.url : imageOption.url && imageOption.url.rangeMinPoint,\r\n width: \"number\" === typeof imageOption.width ? imageOption.width : imageOption.width && imageOption.width.rangeMinPoint,\r\n height: \"number\" === typeof imageOption.height ? imageOption.height : imageOption.height && imageOption.height.rangeMinPoint\r\n }\r\n }\r\n }\r\n return image\r\n },\r\n _checkSymbol: function(oldOptions, newOptions) {\r\n var oldSymbol = oldOptions.symbol;\r\n var newSymbol = newOptions.symbol;\r\n var symbolChanged = \"circle\" === oldSymbol && \"circle\" !== newSymbol || \"circle\" !== oldSymbol && \"circle\" === newSymbol;\r\n var oldImages = this._getImage(oldOptions.image);\r\n var newImages = this._getImage(newOptions.image);\r\n var topImageChanged = this._checkImage(oldImages.top) !== this._checkImage(newImages.top);\r\n var bottomImageChanged = this._checkImage(oldImages.bottom) !== this._checkImage(newImages.bottom);\r\n return symbolChanged || topImageChanged || bottomImageChanged\r\n },\r\n _getSettingsForTwoMarkers: function(style) {\r\n var options = this._options;\r\n var settings = {};\r\n var x = options.rotated ? _min(this.x, this.minX) : this.x;\r\n var y = options.rotated ? this.y : _min(this.y, this.minY);\r\n var radius = style.r;\r\n var points = this._populatePointShape(options.symbol, radius);\r\n settings.top = _extend({\r\n translateX: x + this.width,\r\n translateY: y,\r\n r: radius\r\n }, style);\r\n settings.bottom = _extend({\r\n translateX: x,\r\n translateY: y + this.height,\r\n r: radius\r\n }, style);\r\n if (points) {\r\n settings.top.points = settings.bottom.points = points\r\n }\r\n return settings\r\n },\r\n _hasGraphic: function() {\r\n return this.graphic && this.graphic.topMarker && this.graphic.bottomMarker\r\n },\r\n _drawOneMarker: function(renderer, markerType, imageSettings, settings) {\r\n var graphic = this.graphic;\r\n if (graphic[markerType]) {\r\n this._updateOneMarker(markerType, settings)\r\n } else {\r\n graphic[markerType] = this._createMarker(renderer, graphic, imageSettings, settings)\r\n }\r\n },\r\n _drawMarker: function(renderer, group, animationEnabled, firstDrawing, style) {\r\n var settings = this._getSettingsForTwoMarkers(style || this._getStyle());\r\n var image = this._getImage(this._options.image);\r\n if (this._checkImage(image.top)) {\r\n settings.top = this._getImageSettings(settings.top, image.top)\r\n }\r\n if (this._checkImage(image.bottom)) {\r\n settings.bottom = this._getImageSettings(settings.bottom, image.bottom)\r\n }\r\n this.graphic = this.graphic || renderer.g().append(group);\r\n this.visibleTopMarker && this._drawOneMarker(renderer, \"topMarker\", image.top, settings.top);\r\n this.visibleBottomMarker && this._drawOneMarker(renderer, \"bottomMarker\", image.bottom, settings.bottom)\r\n },\r\n _getSettingsForTracker: function(radius) {\r\n var rotated = this._options.rotated;\r\n return {\r\n translateX: rotated ? _min(this.x, this.minX) - radius : this.x - radius,\r\n translateY: rotated ? this.y - radius : _min(this.y, this.minY) - radius,\r\n width: this.width + 2 * radius,\r\n height: this.height + 2 * radius\r\n }\r\n },\r\n isInVisibleArea: function() {\r\n var rotated = this._options.rotated;\r\n var argument = !rotated ? this.x : this.y;\r\n var maxValue = !rotated ? _max(this.minY, this.y) : _max(this.minX, this.x);\r\n var minValue = !rotated ? _min(this.minY, this.y) : _min(this.minX, this.x);\r\n var tmp;\r\n var visibleTopMarker;\r\n var visibleBottomMarker;\r\n var visibleRangeArea = true;\r\n var visibleArgArea = this.series.getArgumentAxis().getVisibleArea();\r\n var visibleValArea = this.series.getValueAxis().getVisibleArea();\r\n var notVisibleByArg = visibleArgArea[1] < argument || visibleArgArea[0] > argument;\r\n var notVisibleByVal = visibleValArea[0] > minValue && visibleValArea[0] > maxValue || visibleValArea[1] < minValue && visibleValArea[1] < maxValue;\r\n if (notVisibleByArg || notVisibleByVal) {\r\n visibleTopMarker = visibleBottomMarker = visibleRangeArea = false\r\n } else {\r\n visibleTopMarker = visibleValArea[0] <= minValue && visibleValArea[1] > minValue;\r\n visibleBottomMarker = visibleValArea[0] < maxValue && visibleValArea[1] >= maxValue;\r\n if (rotated) {\r\n tmp = visibleTopMarker;\r\n visibleTopMarker = visibleBottomMarker;\r\n visibleBottomMarker = tmp\r\n }\r\n }\r\n this.visibleTopMarker = visibleTopMarker;\r\n this.visibleBottomMarker = visibleBottomMarker;\r\n return visibleRangeArea\r\n },\r\n getTooltipParams: function() {\r\n var x;\r\n var y;\r\n var rotated = this._options.rotated;\r\n var minValue = !rotated ? _min(this.y, this.minY) : _min(this.x, this.minX);\r\n var side = !rotated ? \"height\" : \"width\";\r\n var visibleArea = this._getVisibleArea();\r\n var minVisible = rotated ? visibleArea.minX : visibleArea.minY;\r\n var maxVisible = rotated ? visibleArea.maxX : visibleArea.maxY;\r\n var min = _max(minVisible, minValue);\r\n var max = _min(maxVisible, minValue + this[side]);\r\n if (!rotated) {\r\n x = this.x;\r\n y = min + (max - min) / 2\r\n } else {\r\n y = this.y;\r\n x = min + (max - min) / 2\r\n }\r\n return {\r\n x: x,\r\n y: y,\r\n offset: 0\r\n }\r\n },\r\n _translate: function() {\r\n var rotated = this._options.rotated;\r\n symbolPoint._translate.call(this);\r\n this.height = rotated ? 0 : _abs(this.minY - this.y);\r\n this.width = rotated ? _abs(this.x - this.minX) : 0\r\n },\r\n hasCoords: function() {\r\n return symbolPoint.hasCoords.call(this) && !(null === this.minX || null === this.minY)\r\n },\r\n _updateData: function(data) {\r\n symbolPoint._updateData.call(this, data);\r\n this.minValue = this.initialMinValue = this.originalMinValue = data.minValue\r\n },\r\n _getImageSettings: function(settings, image) {\r\n return {\r\n href: image.url || image.toString(),\r\n width: image.width || DEFAULT_IMAGE_WIDTH,\r\n height: image.height || DEFAULT_IMAGE_HEIGHT,\r\n translateX: settings.translateX,\r\n translateY: settings.translateY\r\n }\r\n },\r\n getCrosshairData: function(x, y) {\r\n var rotated = this._options.rotated;\r\n var minX = this.minX;\r\n var minY = this.minY;\r\n var vx = this.vx;\r\n var vy = this.vy;\r\n var value = this.value;\r\n var minValue = this.minValue;\r\n var argument = this.argument;\r\n var coords = {\r\n axis: this.series.axis,\r\n x: vx,\r\n y: vy,\r\n yValue: value,\r\n xValue: argument\r\n };\r\n if (rotated) {\r\n coords.yValue = argument;\r\n if (_abs(vx - x) < _abs(minX - x)) {\r\n coords.xValue = value\r\n } else {\r\n coords.x = minX;\r\n coords.xValue = minValue\r\n }\r\n } else if (_abs(vy - y) >= _abs(minY - y)) {\r\n coords.y = minY;\r\n coords.yValue = minValue\r\n }\r\n return coords\r\n },\r\n _updateOneMarker: function(markerType, settings) {\r\n this.graphic && this.graphic[markerType] && this.graphic[markerType].attr(settings)\r\n },\r\n _updateMarker: function(animationEnabled, style) {\r\n this._drawMarker(void 0, void 0, false, false, style)\r\n },\r\n _getFormatObject: function(tooltip) {\r\n var initialMinValue = this.initialMinValue;\r\n var initialValue = this.initialValue;\r\n var initialArgument = this.initialArgument;\r\n var minValue = tooltip.formatValue(initialMinValue);\r\n var value = tooltip.formatValue(initialValue);\r\n return {\r\n argument: initialArgument,\r\n argumentText: tooltip.formatValue(initialArgument, \"argument\"),\r\n valueText: minValue + \" - \" + value,\r\n rangeValue1Text: minValue,\r\n rangeValue2Text: value,\r\n rangeValue1: initialMinValue,\r\n rangeValue2: initialValue,\r\n seriesName: this.series.name,\r\n point: this,\r\n originalMinValue: this.originalMinValue,\r\n originalValue: this.originalValue,\r\n originalArgument: this.originalArgument\r\n }\r\n },\r\n getLabel: function() {\r\n return [this._topLabel, this._bottomLabel]\r\n },\r\n getLabels: function() {\r\n return [this._topLabel, this._bottomLabel]\r\n },\r\n getBoundingRect: noop,\r\n coordsIn: function(x, y) {\r\n var trackerRadius = this._storeTrackerR();\r\n var xCond = x >= this.x - trackerRadius && x <= this.x + trackerRadius;\r\n var yCond = y >= this.y - trackerRadius && y <= this.y + trackerRadius;\r\n if (this._options.rotated) {\r\n return yCond && (xCond || x >= this.minX - trackerRadius && x <= this.minX + trackerRadius)\r\n } else {\r\n return xCond && (yCond || y >= this.minY - trackerRadius && y <= this.minY + trackerRadius)\r\n }\r\n },\r\n getMaxValue: function() {\r\n if (\"discrete\" !== this.series.valueAxisType) {\r\n return this.minValue > this.value ? this.minValue : this.value\r\n }\r\n return this.value\r\n },\r\n getMinValue: function() {\r\n if (\"discrete\" !== this.series.valueAxisType) {\r\n return this.minValue < this.value ? this.minValue : this.value\r\n }\r\n return this.minValue\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/series/points/range_bar_point.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport barPoint from \"./bar_point\";\r\nimport rangeSymbolPointMethods from \"./range_symbol_point\";\r\nvar _extend = extend;\r\nexport default _extend({}, barPoint, {\r\n deleteLabel: rangeSymbolPointMethods.deleteLabel,\r\n _getFormatObject: rangeSymbolPointMethods._getFormatObject,\r\n clearVisibility: function() {\r\n var graphic = this.graphic;\r\n if (graphic && graphic.attr(\"visibility\")) {\r\n graphic.attr({\r\n visibility: null\r\n })\r\n }\r\n },\r\n setInvisibility: function() {\r\n var graphic = this.graphic;\r\n if (graphic && \"hidden\" !== graphic.attr(\"visibility\")) {\r\n graphic.attr({\r\n visibility: \"hidden\"\r\n })\r\n }\r\n this._topLabel.draw(false);\r\n this._bottomLabel.draw(false)\r\n },\r\n getTooltipParams: function(location) {\r\n var edgeLocation = \"edge\" === location;\r\n var x;\r\n var y;\r\n if (this._options.rotated) {\r\n x = edgeLocation ? this.x + this.width : this.x + this.width / 2;\r\n y = this.y + this.height / 2\r\n } else {\r\n x = this.x + this.width / 2;\r\n y = edgeLocation ? this.y : this.y + this.height / 2\r\n }\r\n return {\r\n x: x,\r\n y: y,\r\n offset: 0\r\n }\r\n },\r\n _translate: function() {\r\n var barMethods = barPoint;\r\n barMethods._translate.call(this);\r\n if (this._options.rotated) {\r\n this.width = this.width || 1\r\n } else {\r\n this.height = this.height || 1\r\n }\r\n },\r\n hasCoords: rangeSymbolPointMethods.hasCoords,\r\n _updateData: rangeSymbolPointMethods._updateData,\r\n _getLabelPosition: rangeSymbolPointMethods._getLabelPosition,\r\n _getLabelMinFormatObject: rangeSymbolPointMethods._getLabelMinFormatObject,\r\n _updateLabelData: rangeSymbolPointMethods._updateLabelData,\r\n _updateLabelOptions: rangeSymbolPointMethods._updateLabelOptions,\r\n getCrosshairData: rangeSymbolPointMethods.getCrosshairData,\r\n _createLabel: rangeSymbolPointMethods._createLabel,\r\n _checkOverlay: rangeSymbolPointMethods._checkOverlay,\r\n _checkLabelsOverlay: rangeSymbolPointMethods._checkLabelsOverlay,\r\n _getOverlayCorrections: rangeSymbolPointMethods._getOverlayCorrections,\r\n _drawLabel: rangeSymbolPointMethods._drawLabel,\r\n _getLabelCoords: rangeSymbolPointMethods._getLabelCoords,\r\n getLabel: rangeSymbolPointMethods.getLabel,\r\n getLabels: rangeSymbolPointMethods.getLabels,\r\n getBoundingRect: noop,\r\n getMinValue: rangeSymbolPointMethods.getMinValue,\r\n getMaxValue: rangeSymbolPointMethods.getMaxValue\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/series/points/candlestick_point.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend as _extend\r\n} from \"../../../core/utils/extend\";\r\nimport symbolPoint from \"./symbol_point\";\r\nimport barPoint from \"./bar_point\";\r\nvar _math = Math;\r\nvar _abs = _math.abs;\r\nvar _min = _math.min;\r\nvar _max = _math.max;\r\nvar _round = _math.round;\r\nvar DEFAULT_FINANCIAL_TRACKER_MARGIN = 2;\r\nexport default _extend({}, barPoint, {\r\n _calculateVisibility: symbolPoint._calculateVisibility,\r\n _getContinuousPoints: function(openCoord, closeCoord) {\r\n var x = this.x;\r\n var createPoint = this._options.rotated ? function(x, y) {\r\n return [y, x]\r\n } : function(x, y) {\r\n return [x, y]\r\n };\r\n var width = this.width;\r\n var highCoord = this.highY;\r\n var max = _abs(highCoord - openCoord) < _abs(highCoord - closeCoord) ? openCoord : closeCoord;\r\n var min = max === closeCoord ? openCoord : closeCoord;\r\n var points;\r\n if (min === max) {\r\n points = [].concat(createPoint(x, this.highY)).concat(createPoint(x, this.lowY)).concat(createPoint(x, this.closeY)).concat(createPoint(x - width / 2, this.closeY)).concat(createPoint(x + width / 2, this.closeY)).concat(createPoint(x, this.closeY))\r\n } else {\r\n points = [].concat(createPoint(x, this.highY)).concat(createPoint(x, max)).concat(createPoint(x + width / 2, max)).concat(createPoint(x + width / 2, min)).concat(createPoint(x, min)).concat(createPoint(x, this.lowY)).concat(createPoint(x, min)).concat(createPoint(x - width / 2, min)).concat(createPoint(x - width / 2, max)).concat(createPoint(x, max))\r\n }\r\n return points\r\n },\r\n _getCrockPoints: function(y) {\r\n var x = this.x;\r\n var createPoint = this._options.rotated ? function(x, y) {\r\n return [y, x]\r\n } : function(x, y) {\r\n return [x, y]\r\n };\r\n return [].concat(createPoint(x, this.highY)).concat(createPoint(x, this.lowY)).concat(createPoint(x, y)).concat(createPoint(x - this.width / 2, y)).concat(createPoint(x + this.width / 2, y)).concat(createPoint(x, y))\r\n },\r\n _getPoints: function() {\r\n var points;\r\n var closeCoord = this.closeY;\r\n var openCoord = this.openY;\r\n if (null !== closeCoord && null !== openCoord) {\r\n points = this._getContinuousPoints(openCoord, closeCoord)\r\n } else if (openCoord === closeCoord) {\r\n points = [this.x, this.highY, this.x, this.lowY]\r\n } else {\r\n points = this._getCrockPoints(null !== openCoord ? openCoord : closeCoord)\r\n }\r\n return points\r\n },\r\n getColor: function() {\r\n return this._isReduction ? this._options.reduction.color : this._styles.normal.stroke || this.series.getColor()\r\n },\r\n _drawMarkerInGroup: function(group, attributes, renderer) {\r\n this.graphic = renderer.path(this._getPoints(), \"area\").attr({\r\n \"stroke-linecap\": \"square\"\r\n }).attr(attributes).data({\r\n \"chart-data-point\": this\r\n }).sharp().append(group)\r\n },\r\n _fillStyle: function() {\r\n var styles = this._options.styles;\r\n if (this._isReduction && this._isPositive) {\r\n this._styles = styles.reductionPositive\r\n } else if (this._isReduction) {\r\n this._styles = styles.reduction\r\n } else if (this._isPositive) {\r\n this._styles = styles.positive\r\n } else {\r\n this._styles = styles\r\n }\r\n },\r\n _getMinTrackerWidth: function() {\r\n return 2 + 2 * this._styles.normal[\"stroke-width\"]\r\n },\r\n correctCoordinates: function(correctOptions) {\r\n var minWidth = this._getMinTrackerWidth();\r\n var width = correctOptions.width;\r\n width = width < minWidth ? minWidth : width > 10 ? 10 : width;\r\n this.width = width + width % 2;\r\n this.xCorrection = correctOptions.offset\r\n },\r\n _getMarkerGroup: function(group) {\r\n var markerGroup;\r\n if (this._isReduction && this._isPositive) {\r\n markerGroup = group.reductionPositiveMarkersGroup\r\n } else if (this._isReduction) {\r\n markerGroup = group.reductionMarkersGroup\r\n } else if (this._isPositive) {\r\n markerGroup = group.defaultPositiveMarkersGroup\r\n } else {\r\n markerGroup = group.defaultMarkersGroup\r\n }\r\n return markerGroup\r\n },\r\n _drawMarker: function(renderer, group) {\r\n this._drawMarkerInGroup(this._getMarkerGroup(group), this._getStyle(), renderer)\r\n },\r\n _getSettingsForTracker: function() {\r\n var highY = this.highY;\r\n var lowY = this.lowY;\r\n var rotated = this._options.rotated;\r\n var x;\r\n var y;\r\n var width;\r\n var height;\r\n if (highY === lowY) {\r\n highY = rotated ? highY + DEFAULT_FINANCIAL_TRACKER_MARGIN : highY - DEFAULT_FINANCIAL_TRACKER_MARGIN;\r\n lowY = rotated ? lowY - DEFAULT_FINANCIAL_TRACKER_MARGIN : lowY + DEFAULT_FINANCIAL_TRACKER_MARGIN\r\n }\r\n if (rotated) {\r\n x = _min(lowY, highY);\r\n y = this.x - this.width / 2;\r\n width = _abs(lowY - highY);\r\n height = this.width\r\n } else {\r\n x = this.x - this.width / 2;\r\n y = _min(lowY, highY);\r\n width = this.width;\r\n height = _abs(lowY - highY)\r\n }\r\n return {\r\n x: x,\r\n y: y,\r\n width: width,\r\n height: height\r\n }\r\n },\r\n _getGraphicBBox: function(location) {\r\n var rotated = this._options.rotated;\r\n var x = this.x;\r\n var width = this.width;\r\n var lowY = this.lowY;\r\n var highY = this.highY;\r\n if (location) {\r\n var valVisibleArea = this.series.getValueAxis().getVisibleArea();\r\n highY = this._truncateCoord(highY, valVisibleArea);\r\n lowY = this._truncateCoord(lowY, valVisibleArea)\r\n }\r\n var bBox = {\r\n x: !rotated ? x - _round(width / 2) : lowY,\r\n y: !rotated ? highY : x - _round(width / 2),\r\n width: !rotated ? width : highY - lowY,\r\n height: !rotated ? lowY - highY : width\r\n };\r\n if (location) {\r\n var isTop = \"top\" === location;\r\n if (!this._options.rotated) {\r\n bBox.y = isTop ? bBox.y : bBox.y + bBox.height;\r\n bBox.height = 0\r\n } else {\r\n bBox.x = isTop ? bBox.x + bBox.width : bBox.x;\r\n bBox.width = 0\r\n }\r\n }\r\n return bBox\r\n },\r\n getTooltipParams: function(location) {\r\n if (this.graphic) {\r\n var minValue = _min(this.lowY, this.highY);\r\n var maxValue = _max(this.lowY, this.highY);\r\n var visibleArea = this._getVisibleArea();\r\n var rotated = this._options.rotated;\r\n var minVisible = rotated ? visibleArea.minX : visibleArea.minY;\r\n var maxVisible = rotated ? visibleArea.maxX : visibleArea.maxY;\r\n var min = _max(minVisible, minValue);\r\n var max = _min(maxVisible, maxValue);\r\n var centerCoord = this.getCenterCoord();\r\n if (\"edge\" === location) {\r\n centerCoord[rotated ? \"x\" : \"y\"] = rotated ? max : min\r\n }\r\n centerCoord.offset = 0;\r\n return centerCoord\r\n }\r\n },\r\n getCenterCoord() {\r\n if (this.graphic) {\r\n var x;\r\n var y;\r\n var minValue = _min(this.lowY, this.highY);\r\n var maxValue = _max(this.lowY, this.highY);\r\n var visibleArea = this._getVisibleArea();\r\n var rotated = this._options.rotated;\r\n var minVisible = rotated ? visibleArea.minX : visibleArea.minY;\r\n var maxVisible = rotated ? visibleArea.maxX : visibleArea.maxY;\r\n var min = _max(minVisible, minValue);\r\n var max = _min(maxVisible, maxValue);\r\n var center = min + (max - min) / 2;\r\n if (rotated) {\r\n y = this.x;\r\n x = center\r\n } else {\r\n x = this.x;\r\n y = center\r\n }\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n }\r\n },\r\n hasValue: function() {\r\n return null !== this.highValue && null !== this.lowValue\r\n },\r\n hasCoords: function() {\r\n return null !== this.x && null !== this.lowY && null !== this.highY\r\n },\r\n _translate: function() {\r\n var rotated = this._options.rotated;\r\n var valTranslator = this._getValTranslator();\r\n var x = this._getArgTranslator().translate(this.argument);\r\n this.vx = this.vy = this.x = null === x ? x : x + (this.xCorrection || 0);\r\n this.openY = null !== this.openValue ? valTranslator.translate(this.openValue) : null;\r\n this.highY = valTranslator.translate(this.highValue);\r\n this.lowY = valTranslator.translate(this.lowValue);\r\n this.closeY = null !== this.closeValue ? valTranslator.translate(this.closeValue) : null;\r\n var centerValue = _min(this.lowY, this.highY) + _abs(this.lowY - this.highY) / 2;\r\n this._calculateVisibility(!rotated ? this.x : centerValue, !rotated ? centerValue : this.x)\r\n },\r\n getCrosshairData: function(x, y) {\r\n var rotated = this._options.rotated;\r\n var origY = rotated ? x : y;\r\n var yValue;\r\n var argument = this.argument;\r\n var coords;\r\n var coord = \"low\";\r\n if (_abs(this.lowY - origY) < _abs(this.closeY - origY)) {\r\n yValue = this.lowY\r\n } else {\r\n yValue = this.closeY;\r\n coord = \"close\"\r\n }\r\n if (_abs(yValue - origY) >= _abs(this.openY - origY)) {\r\n yValue = this.openY;\r\n coord = \"open\"\r\n }\r\n if (_abs(yValue - origY) >= _abs(this.highY - origY)) {\r\n yValue = this.highY;\r\n coord = \"high\"\r\n }\r\n if (rotated) {\r\n coords = {\r\n y: this.vy,\r\n x: yValue,\r\n xValue: this[coord + \"Value\"],\r\n yValue: argument\r\n }\r\n } else {\r\n coords = {\r\n x: this.vx,\r\n y: yValue,\r\n xValue: argument,\r\n yValue: this[coord + \"Value\"]\r\n }\r\n }\r\n coords.axis = this.series.axis;\r\n return coords\r\n },\r\n _updateData: function(data) {\r\n var label = this._label;\r\n var reductionColor = this._options.reduction.color;\r\n this.value = this.initialValue = data.reductionValue;\r\n this.originalValue = data.value;\r\n this.lowValue = this.originalLowValue = data.lowValue;\r\n this.highValue = this.originalHighValue = data.highValue;\r\n this.openValue = this.originalOpenValue = data.openValue;\r\n this.closeValue = this.originalCloseValue = data.closeValue;\r\n this._isPositive = data.openValue < data.closeValue;\r\n this._isReduction = data.isReduction;\r\n if (this._isReduction) {\r\n label.setColor(reductionColor)\r\n }\r\n },\r\n _updateMarker: function(animationEnabled, style, group) {\r\n var graphic = this.graphic;\r\n graphic.attr({\r\n points: this._getPoints()\r\n }).smartAttr(style).sharp();\r\n group && graphic.append(this._getMarkerGroup(group))\r\n },\r\n _getLabelFormatObject: function() {\r\n return {\r\n openValue: this.openValue,\r\n highValue: this.highValue,\r\n lowValue: this.lowValue,\r\n closeValue: this.closeValue,\r\n reductionValue: this.initialValue,\r\n argument: this.initialArgument,\r\n value: this.initialValue,\r\n seriesName: this.series.name,\r\n originalOpenValue: this.originalOpenValue,\r\n originalCloseValue: this.originalCloseValue,\r\n originalLowValue: this.originalLowValue,\r\n originalHighValue: this.originalHighValue,\r\n originalArgument: this.originalArgument,\r\n point: this\r\n }\r\n },\r\n _getFormatObject: function(tooltip) {\r\n var highValue = tooltip.formatValue(this.highValue);\r\n var openValue = tooltip.formatValue(this.openValue);\r\n var closeValue = tooltip.formatValue(this.closeValue);\r\n var lowValue = tooltip.formatValue(this.lowValue);\r\n var symbolMethods = symbolPoint;\r\n var formatObject = symbolMethods._getFormatObject.call(this, tooltip);\r\n return _extend({}, formatObject, {\r\n valueText: \"h: \" + highValue + (\"\" !== openValue ? \" o: \" + openValue : \"\") + (\"\" !== closeValue ? \" c: \" + closeValue : \"\") + \" l: \" + lowValue,\r\n highValueText: highValue,\r\n openValueText: openValue,\r\n closeValueText: closeValue,\r\n lowValueText: lowValue\r\n })\r\n },\r\n getMaxValue: function() {\r\n return this.highValue\r\n },\r\n getMinValue: function() {\r\n return this.lowValue\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/series/points/stock_point.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n isNumeric\r\n} from \"../../../core/utils/type\";\r\nimport candlestickPoint from \"./candlestick_point\";\r\nvar _extend = extend;\r\nvar _isNumeric = isNumeric;\r\nexport default _extend({}, candlestickPoint, {\r\n _getPoints: function() {\r\n var createPoint = this._options.rotated ? function(x, y) {\r\n return [y, x]\r\n } : function(x, y) {\r\n return [x, y]\r\n };\r\n var openYExist = _isNumeric(this.openY);\r\n var closeYExist = _isNumeric(this.closeY);\r\n var x = this.x;\r\n var width = this.width;\r\n var points = [].concat(createPoint(x, this.highY));\r\n openYExist && (points = points.concat(createPoint(x, this.openY)));\r\n openYExist && (points = points.concat(createPoint(x - width / 2, this.openY)));\r\n openYExist && (points = points.concat(createPoint(x, this.openY)));\r\n closeYExist && (points = points.concat(createPoint(x, this.closeY)));\r\n closeYExist && (points = points.concat(createPoint(x + width / 2, this.closeY)));\r\n closeYExist && (points = points.concat(createPoint(x, this.closeY)));\r\n points = points.concat(createPoint(x, this.lowY));\r\n return points\r\n },\r\n _drawMarkerInGroup: function(group, attributes, renderer) {\r\n this.graphic = renderer.path(this._getPoints(), \"line\").attr({\r\n \"stroke-linecap\": \"square\"\r\n }).attr(attributes).data({\r\n \"chart-data-point\": this\r\n }).sharp().append(group)\r\n },\r\n _getMinTrackerWidth: function() {\r\n var width = 2 + this._styles.normal[\"stroke-width\"];\r\n return width + width % 2\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/series/points/polar_point.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nvar _extend = extend;\r\nimport symbolPoint from \"./symbol_point\";\r\nimport barPoint from \"./bar_point\";\r\nimport piePoint from \"./pie_point\";\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n normalizeAngle,\r\n convertPolarToXY,\r\n getCosAndSin,\r\n convertXYToPolar\r\n} from \"../../core/utils\";\r\nvar _math = Math;\r\nvar _max = _math.max;\r\nimport consts from \"../../components/consts\";\r\nvar RADIAL_LABEL_INDENT = consts.radialLabelIndent;\r\nvar ERROR_BARS_ANGLE_OFFSET = 90;\r\nvar CANVAS_POSITION_START = \"canvas_position_start\";\r\nvar CANVAS_POSITION_END = \"canvas_position_end\";\r\nvar CANVAS_POSITION_DEFAULT = \"canvas_position_default\";\r\nexport var polarSymbolPoint = _extend({}, symbolPoint, {\r\n _getLabelCoords: piePoint._getLabelCoords,\r\n _getElementCoords: piePoint._getElementCoords,\r\n _moveLabelOnCanvas: function(coord, visibleArea, labelBBox) {\r\n var x = coord.x;\r\n var y = coord.y;\r\n if (visibleArea.minX > x) {\r\n x = visibleArea.minX\r\n }\r\n if (visibleArea.maxX < x + labelBBox.width) {\r\n x = visibleArea.maxX - labelBBox.width\r\n }\r\n if (visibleArea.minY > y) {\r\n y = visibleArea.minY\r\n }\r\n if (visibleArea.maxY < y + labelBBox.height) {\r\n y = visibleArea.maxY - labelBBox.height\r\n }\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n _getLabelPosition: function() {\r\n return \"outside\"\r\n },\r\n _getCoords: function(argument, value) {\r\n var axis = this.series.getValueAxis();\r\n var startAngle = axis.getAngles()[0];\r\n var angle = this._getArgTranslator().translate(argument);\r\n var radius = this._getValTranslator().translate(value);\r\n var coords = convertPolarToXY(axis.getCenter(), axis.getAngles()[0], angle, radius);\r\n coords.angle = angle + startAngle - 90, coords.radius = radius;\r\n return coords\r\n },\r\n _translate() {\r\n var center = this.series.getValueAxis().getCenter();\r\n var coord = this._getCoords(this.argument, this.value);\r\n var translator = this._getValTranslator();\r\n var maxRadius = translator.isInverted() ? translator.translate(CANVAS_POSITION_START) : translator.translate(CANVAS_POSITION_END);\r\n var normalizedRadius = isDefined(coord.radius) && coord.radius >= 0 ? coord.radius : null;\r\n this.vx = normalizeAngle(coord.angle);\r\n this.vy = this.radiusOuter = this.radiusLabels = normalizedRadius;\r\n this.radiusLabels += RADIAL_LABEL_INDENT;\r\n this.radius = normalizedRadius;\r\n this.middleAngle = -coord.angle;\r\n this.angle = -coord.angle;\r\n this.x = coord.x;\r\n this.y = coord.y;\r\n this.defaultX = this.centerX = center.x;\r\n this.defaultY = this.centerY = center.y;\r\n this._translateErrorBars();\r\n this.inVisibleArea = this._checkRadiusForVisibleArea(normalizedRadius, maxRadius)\r\n },\r\n _checkRadiusForVisibleArea: (radius, maxRadius) => isDefined(radius) && radius <= maxRadius,\r\n _translateErrorBars: function() {\r\n var errorBars = this._options.errorBars;\r\n var translator = this._getValTranslator();\r\n if (!errorBars) {\r\n return\r\n }\r\n isDefined(this.lowError) && (this._lowErrorCoord = this.centerY - translator.translate(this.lowError));\r\n isDefined(this.highError) && (this._highErrorCoord = this.centerY - translator.translate(this.highError));\r\n this._errorBarPos = this.centerX;\r\n this._baseErrorBarPos = \"stdDeviation\" === errorBars.type ? this._lowErrorCoord + (this._highErrorCoord - this._lowErrorCoord) / 2 : this.centerY - this.radius\r\n },\r\n _getTranslates: function(animationEnabled) {\r\n return animationEnabled ? this.getDefaultCoords() : {\r\n x: this.x,\r\n y: this.y\r\n }\r\n },\r\n getDefaultCoords: function() {\r\n var cosSin = getCosAndSin(-this.angle);\r\n var radius = this._getValTranslator().translate(CANVAS_POSITION_DEFAULT);\r\n var x = this.defaultX + radius * cosSin.cos;\r\n var y = this.defaultY + radius * cosSin.sin;\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n _addLabelAlignmentAndOffset: function(label, coord) {\r\n return coord\r\n },\r\n _checkLabelPosition: function(label, coord) {\r\n var visibleArea = this._getVisibleArea();\r\n var graphicBBox = this._getGraphicBBox();\r\n if (this._isPointInVisibleArea(visibleArea, graphicBBox)) {\r\n coord = this._moveLabelOnCanvas(coord, visibleArea, label.getBoundingRect())\r\n }\r\n return coord\r\n },\r\n _getErrorBarSettings: function(errorBarOptions, animationEnabled) {\r\n var settings = symbolPoint._getErrorBarSettings.call(this, errorBarOptions, animationEnabled);\r\n settings.rotate = ERROR_BARS_ANGLE_OFFSET - this.angle;\r\n settings.rotateX = this.centerX;\r\n settings.rotateY = this.centerY;\r\n return settings\r\n },\r\n getCoords: function(min) {\r\n return min ? this.getDefaultCoords() : {\r\n x: this.x,\r\n y: this.y\r\n }\r\n }\r\n});\r\nexport var polarBarPoint = _extend({}, barPoint, {\r\n _translateErrorBars: polarSymbolPoint._translateErrorBars,\r\n _getErrorBarSettings: polarSymbolPoint._getErrorBarSettings,\r\n _moveLabelOnCanvas: polarSymbolPoint._moveLabelOnCanvas,\r\n _getLabelCoords: piePoint._getLabelCoords,\r\n _getElementCoords: piePoint._getElementCoords,\r\n _getLabelConnector: piePoint._getLabelConnector,\r\n getTooltipParams: piePoint.getTooltipParams,\r\n _getLabelPosition: piePoint._getLabelPosition,\r\n _getCoords: polarSymbolPoint._getCoords,\r\n _translate() {\r\n var translator = this._getValTranslator();\r\n var businessRange = translator.getBusinessRange();\r\n var maxRadius = translator.isInverted() ? translator.translate(CANVAS_POSITION_START) : translator.translate(CANVAS_POSITION_END);\r\n this.radiusInner = translator.translate(this.minValue);\r\n polarSymbolPoint._translate.call(this);\r\n if (null === this.radiusInner) {\r\n this.radiusInner = this.radius = maxRadius\r\n } else if (null === this.radius) {\r\n this.radius = this.value >= businessRange.minVisible ? maxRadius : 0\r\n } else if (this.radius > maxRadius) {\r\n this.radius = maxRadius\r\n }\r\n this.radiusOuter = this.radiusLabels = _max(this.radiusInner, this.radius);\r\n this.radiusLabels += RADIAL_LABEL_INDENT;\r\n this.radiusInner = this.defaultRadius = _math.min(this.radiusInner, this.radius);\r\n this.middleAngle = this.angle = -normalizeAngle(this.middleAngleCorrection - this.angle)\r\n },\r\n _checkRadiusForVisibleArea(radius) {\r\n return isDefined(radius) || this._getValTranslator().translate(this.minValue) > 0\r\n },\r\n _getErrorBarBaseEdgeLength() {\r\n var coord = this.getMarkerCoords();\r\n return _math.PI * coord.outerRadius * _math.abs(coord.startAngle - coord.endAngle) / 180\r\n },\r\n getMarkerCoords: function() {\r\n return {\r\n x: this.centerX,\r\n y: this.centerY,\r\n outerRadius: this.radiusOuter,\r\n innerRadius: this.defaultRadius,\r\n startAngle: this.middleAngle - this.interval / 2,\r\n endAngle: this.middleAngle + this.interval / 2\r\n }\r\n },\r\n _drawMarker: function(renderer, group, animationEnabled) {\r\n var styles = this._getStyle();\r\n var coords = this.getMarkerCoords();\r\n var innerRadius = coords.innerRadius;\r\n var outerRadius = coords.outerRadius;\r\n var start = this._getCoords(this.argument, CANVAS_POSITION_DEFAULT);\r\n var x = coords.x;\r\n var y = coords.y;\r\n if (animationEnabled) {\r\n innerRadius = 0;\r\n outerRadius = 0;\r\n x = start.x;\r\n y = start.y\r\n }\r\n this.graphic = renderer.arc(x, y, innerRadius, outerRadius, coords.startAngle, coords.endAngle).attr(styles).data({\r\n \"chart-data-point\": this\r\n }).append(group)\r\n },\r\n _checkLabelPosition: function(label, coord) {\r\n var visibleArea = this._getVisibleArea();\r\n var angleFunctions = getCosAndSin(this.middleAngle);\r\n var x = this.centerX + this.defaultRadius * angleFunctions.cos;\r\n var y = this.centerY - this.defaultRadius * angleFunctions.sin;\r\n if (x > visibleArea.minX && x < visibleArea.maxX && y > visibleArea.minY && y < visibleArea.maxY) {\r\n coord = this._moveLabelOnCanvas(coord, visibleArea, label.getBoundingRect())\r\n }\r\n return coord\r\n },\r\n _addLabelAlignmentAndOffset: function(label, coord) {\r\n return coord\r\n },\r\n correctCoordinates: function(correctOptions) {\r\n this.middleAngleCorrection = correctOptions.offset;\r\n this.interval = correctOptions.width\r\n },\r\n coordsIn: function(x, y) {\r\n var val = convertXYToPolar(this.series.getValueAxis().getCenter(), x, y);\r\n var coords = this.getMarkerCoords();\r\n var isBetweenAngles = coords.startAngle < coords.endAngle ? -val.phi >= coords.startAngle && -val.phi <= coords.endAngle : -val.phi <= coords.startAngle && -val.phi >= coords.endAngle;\r\n return val.r >= coords.innerRadius && val.r <= coords.outerRadius && isBetweenAngles\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/series/points/base_point.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar mixins = {};\r\nimport consts from \"../../components/consts\";\r\nimport symbolPoint from \"./symbol_point\";\r\nimport barPoint from \"./bar_point\";\r\nimport bubblePoint from \"./bubble_point\";\r\nimport piePoint from \"./pie_point\";\r\nimport rangeSymbolPoint from \"./range_symbol_point\";\r\nimport rangeBarPoint from \"./range_bar_point\";\r\nimport candlestickPoint from \"./candlestick_point\";\r\nimport stockPoint from \"./stock_point\";\r\nimport {\r\n polarSymbolPoint,\r\n polarBarPoint\r\n} from \"./polar_point\";\r\nimport {\r\n normalizeEnum as _normalizeEnum\r\n} from \"../../core/utils\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nvar _extend = extend;\r\nimport {\r\n isDefined as _isDefined\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n noop as _noop\r\n} from \"../../../core/utils/common\";\r\nvar statesConsts = consts.states;\r\nvar SYMBOL_POINT = \"symbolPoint\";\r\nvar POLAR_SYMBOL_POINT = \"polarSymbolPoint\";\r\nvar BAR_POINT = \"barPoint\";\r\nvar POLAR_BAR_POINT = \"polarBarPoint\";\r\nvar PIE_POINT = \"piePoint\";\r\nvar SELECTED_STATE = statesConsts.selectedMark;\r\nvar HOVER_STATE = statesConsts.hoverMark;\r\nvar NORMAL_STATE = statesConsts.normalMark;\r\nvar HOVER = statesConsts.hover;\r\nvar NORMAL = statesConsts.normal;\r\nvar SELECTION = statesConsts.selection;\r\nvar pointTypes = {\r\n chart: {\r\n scatter: SYMBOL_POINT,\r\n line: SYMBOL_POINT,\r\n spline: SYMBOL_POINT,\r\n stepline: SYMBOL_POINT,\r\n stackedline: SYMBOL_POINT,\r\n fullstackedline: SYMBOL_POINT,\r\n stackedspline: SYMBOL_POINT,\r\n fullstackedspline: SYMBOL_POINT,\r\n stackedsplinearea: SYMBOL_POINT,\r\n fullstackedsplinearea: SYMBOL_POINT,\r\n area: SYMBOL_POINT,\r\n splinearea: SYMBOL_POINT,\r\n steparea: SYMBOL_POINT,\r\n stackedarea: SYMBOL_POINT,\r\n fullstackedarea: SYMBOL_POINT,\r\n rangearea: \"rangeSymbolPoint\",\r\n bar: BAR_POINT,\r\n stackedbar: BAR_POINT,\r\n fullstackedbar: BAR_POINT,\r\n rangebar: \"rangeBarPoint\",\r\n bubble: \"bubblePoint\",\r\n stock: \"stockPoint\",\r\n candlestick: \"candlestickPoint\"\r\n },\r\n pie: {\r\n pie: PIE_POINT,\r\n doughnut: PIE_POINT,\r\n donut: PIE_POINT\r\n },\r\n polar: {\r\n scatter: POLAR_SYMBOL_POINT,\r\n line: POLAR_SYMBOL_POINT,\r\n area: POLAR_SYMBOL_POINT,\r\n bar: POLAR_BAR_POINT,\r\n stackedbar: POLAR_BAR_POINT\r\n }\r\n};\r\n\r\nfunction isNoneMode(mode) {\r\n return \"none\" === _normalizeEnum(mode)\r\n}\r\nexport function Point(series, dataItem, options) {\r\n this.fullState = NORMAL_STATE;\r\n this.series = series;\r\n this.update(dataItem, options);\r\n this._viewCounters = {\r\n hover: 0,\r\n selection: 0\r\n };\r\n this._emptySettings = {\r\n fill: null,\r\n stroke: null,\r\n dashStyle: null\r\n }\r\n}\r\nmixins.symbolPoint = symbolPoint;\r\nmixins.barPoint = barPoint;\r\nmixins.bubblePoint = bubblePoint;\r\nmixins.piePoint = piePoint;\r\nmixins.rangeSymbolPoint = rangeSymbolPoint;\r\nmixins.rangeBarPoint = rangeBarPoint;\r\nmixins.candlestickPoint = candlestickPoint;\r\nmixins.stockPoint = stockPoint;\r\nmixins.polarSymbolPoint = polarSymbolPoint;\r\nmixins.polarBarPoint = polarBarPoint;\r\nPoint.prototype = {\r\n constructor: Point,\r\n getColor: function() {\r\n if (!this.hasValue() && !this._styles.usePointCustomOptions) {\r\n this.series.customizePoint(this, this._dataItem)\r\n }\r\n return this._styles.normal.fill || this.series.getColor()\r\n },\r\n _getStyle: function() {\r\n return this._styles[this._currentStyle || \"normal\"]\r\n },\r\n update: function(dataItem, options) {\r\n this.updateOptions(options);\r\n this.updateData(dataItem)\r\n },\r\n updateData: function(dataItem) {\r\n var argumentWasChanged = this.argument !== dataItem.argument;\r\n this.argument = this.initialArgument = this.originalArgument = dataItem.argument;\r\n this.tag = dataItem.tag;\r\n this.index = dataItem.index;\r\n this._dataItem = dataItem;\r\n this.data = dataItem.data;\r\n this.lowError = dataItem.lowError;\r\n this.highError = dataItem.highError;\r\n this.aggregationInfo = dataItem.aggregationInfo;\r\n this._updateData(dataItem, argumentWasChanged);\r\n !this.hasValue() && this.setInvisibility();\r\n this._fillStyle();\r\n this._updateLabelData()\r\n },\r\n deleteMarker: function() {\r\n if (this.graphic) {\r\n this.graphic.dispose()\r\n }\r\n this.graphic = null\r\n },\r\n draw: function(renderer, groups, animationEnabled, firstDrawing) {\r\n if (this._needDeletingOnDraw || this.series.autoHidePointMarkers && !this.isSelected()) {\r\n this.deleteMarker();\r\n this._needDeletingOnDraw = false\r\n }\r\n if (this._needClearingOnDraw) {\r\n this.clearMarker();\r\n this._needClearingOnDraw = false\r\n }\r\n if (!this._hasGraphic()) {\r\n this.getMarkerVisibility() && !this.series.autoHidePointMarkers && this._drawMarker(renderer, groups.markers, animationEnabled, firstDrawing)\r\n } else {\r\n this._updateMarker(animationEnabled, this._getStyle(), groups.markers)\r\n }\r\n this._drawLabel();\r\n this._drawErrorBar(renderer, groups.errorBars, animationEnabled);\r\n return this\r\n },\r\n _getViewStyle: function() {\r\n var state = NORMAL_STATE;\r\n var fullState = this.fullState;\r\n var styles = [NORMAL, HOVER, SELECTION, SELECTION];\r\n if (this._viewCounters.hover) {\r\n state |= HOVER_STATE\r\n }\r\n if (this._viewCounters.selection) {\r\n state |= SELECTED_STATE\r\n }\r\n if (isNoneMode(this.getOptions().selectionMode)) {\r\n fullState &= ~SELECTED_STATE\r\n }\r\n if (isNoneMode(this.getOptions().hoverMode)) {\r\n fullState &= ~HOVER_STATE\r\n }\r\n state |= fullState;\r\n return styles[state]\r\n },\r\n applyView: function(legendCallback) {\r\n var style = this._getViewStyle();\r\n this._currentStyle = style;\r\n if (!this.graphic && this.getMarkerVisibility() && this.series.autoHidePointMarkers && (style === SELECTION || style === HOVER)) {\r\n this._drawMarker(this.series.getRenderer(), this.series.getMarkersGroup())\r\n }\r\n if (this.graphic) {\r\n if (this.series.autoHidePointMarkers && style !== SELECTION && style !== HOVER) {\r\n this.deleteMarker()\r\n } else {\r\n if (\"normal\" === style) {\r\n this.clearMarker()\r\n } else {\r\n this.graphic.toForeground()\r\n }\r\n this._updateMarker(true, this._styles[style], void 0, legendCallback)\r\n }\r\n }\r\n },\r\n setView: function(style) {\r\n this._viewCounters[style]++;\r\n this.applyView()\r\n },\r\n resetView: function(style) {\r\n var viewCounters = this._viewCounters;\r\n --viewCounters[style];\r\n if (viewCounters[style] < 0) {\r\n viewCounters[style] = 0\r\n }\r\n this.applyView()\r\n },\r\n releaseHoverState: function() {\r\n if (this.graphic && !this.isSelected()) {\r\n this.graphic.toBackground()\r\n }\r\n },\r\n select: function() {\r\n this.series.selectPoint(this)\r\n },\r\n clearSelection: function() {\r\n this.series.deselectPoint(this)\r\n },\r\n hover: function() {\r\n this.series.hoverPoint(this)\r\n },\r\n clearHover: function() {\r\n this.series.clearPointHover()\r\n },\r\n showTooltip: function() {\r\n this.series.showPointTooltip(this)\r\n },\r\n hideTooltip: function() {\r\n this.series.hidePointTooltip(this)\r\n },\r\n _checkLabelsChanging: function(oldType, newType) {\r\n var isNewRange = ~newType.indexOf(\"range\");\r\n var isOldRange = ~oldType.indexOf(\"range\");\r\n return isOldRange && !isNewRange || !isOldRange && isNewRange\r\n },\r\n updateOptions: function(newOptions) {\r\n if (!newOptions) {\r\n return\r\n }\r\n var oldOptions = this._options;\r\n var widgetType = newOptions.widgetType;\r\n var oldType = oldOptions && oldOptions.type;\r\n var newType = newOptions.type;\r\n var newPointTypeMixin = pointTypes[widgetType][newType];\r\n if (oldType !== newType) {\r\n this._needDeletingOnDraw = true;\r\n this._needClearingOnDraw = false;\r\n if (oldType) {\r\n this._checkLabelsChanging(oldType, newType) && this.deleteLabel();\r\n this._resetType(mixins[pointTypes[oldType]])\r\n }\r\n this._setType(mixins[newPointTypeMixin])\r\n } else {\r\n this._needDeletingOnDraw = this._checkSymbol(oldOptions, newOptions);\r\n this._needClearingOnDraw = this._checkCustomize(oldOptions, newOptions)\r\n }\r\n this._options = newOptions;\r\n this._fillStyle();\r\n this._updateLabelOptions(newPointTypeMixin)\r\n },\r\n translate: function() {\r\n if (this.hasValue()) {\r\n this._translate();\r\n this.translated = true\r\n }\r\n },\r\n _checkCustomize: function(oldOptions, newOptions) {\r\n return oldOptions.styles.usePointCustomOptions && !newOptions.styles.usePointCustomOptions\r\n },\r\n _getCustomLabelVisibility: function() {\r\n return this._styles.useLabelCustomOptions ? !!this._options.label.visible : null\r\n },\r\n getBoundingRect: function() {\r\n return this._getGraphicBBox()\r\n },\r\n _resetType: function(methods) {\r\n for (var methodName in methods) {\r\n delete this[methodName]\r\n }\r\n },\r\n _setType: function(methods) {\r\n for (var methodName in methods) {\r\n this[methodName] = methods[methodName]\r\n }\r\n },\r\n isInVisibleArea: function() {\r\n return this.inVisibleArea\r\n },\r\n isSelected: function() {\r\n return !!(this.fullState & SELECTED_STATE)\r\n },\r\n isHovered: function() {\r\n return !!(this.fullState & HOVER_STATE)\r\n },\r\n getOptions: function() {\r\n return this._options\r\n },\r\n animate: function(complete, settings, partitionDuration) {\r\n if (!this.graphic) {\r\n complete && complete();\r\n return\r\n }\r\n this.graphic.animate(settings, {\r\n partitionDuration: partitionDuration\r\n }, complete)\r\n },\r\n getCoords: function(min) {\r\n if (!min) {\r\n return {\r\n x: this.x,\r\n y: this.y\r\n }\r\n }\r\n if (!this._options.rotated) {\r\n return {\r\n x: this.x,\r\n y: this.minY + (this.y - this.minY ? 0 : 1)\r\n }\r\n }\r\n return {\r\n x: this.minX - (this.x - this.minX ? 0 : 1),\r\n y: this.y\r\n }\r\n },\r\n getDefaultCoords: function() {\r\n return !this._options.rotated ? {\r\n x: this.x,\r\n y: this.defaultY\r\n } : {\r\n x: this.defaultX,\r\n y: this.y\r\n }\r\n },\r\n setDefaultCoords() {\r\n var coords = this.getDefaultCoords();\r\n this.x = coords.x;\r\n this.y = coords.y\r\n },\r\n _getVisibleArea: function() {\r\n return this.series.getVisibleArea()\r\n },\r\n _getArgTranslator: function() {\r\n return this.series.getArgumentAxis().getTranslator()\r\n },\r\n _getValTranslator: function() {\r\n return this.series.getValueAxis().getTranslator()\r\n },\r\n isArgumentCorrect() {\r\n return this.series._argumentChecker(this.argument)\r\n },\r\n isValueCorrect() {\r\n var valueChecker = this.series._valueChecker;\r\n return valueChecker(this.getMinValue()) && valueChecker(this.getMaxValue())\r\n },\r\n hasValue: function() {\r\n return null !== this.value && null !== this.minValue && this.isArgumentCorrect() && this.isValueCorrect()\r\n },\r\n hasCoords: _noop,\r\n correctPosition: _noop,\r\n correctRadius: _noop,\r\n correctLabelRadius: _noop,\r\n getCrosshairData: _noop,\r\n getPointRadius: _noop,\r\n _populatePointShape: _noop,\r\n _checkSymbol: _noop,\r\n getMarkerCoords: _noop,\r\n hide: _noop,\r\n show: _noop,\r\n hideMarker: _noop,\r\n setInvisibility: _noop,\r\n clearVisibility: _noop,\r\n isVisible: _noop,\r\n resetCorrection: _noop,\r\n correctValue: _noop,\r\n resetValue: _noop,\r\n setPercentValue: _noop,\r\n correctCoordinates: _noop,\r\n coordsIn: _noop,\r\n getTooltipParams: _noop,\r\n applyWordWrap: _noop,\r\n setLabelTrackerData: _noop,\r\n updateLabelCoord: _noop,\r\n drawLabel: _noop,\r\n correctLabelPosition: _noop,\r\n getMinValue: _noop,\r\n getMaxValue: _noop,\r\n _drawErrorBar: _noop,\r\n getMarkerVisibility: _noop,\r\n dispose: function() {\r\n this.deleteMarker();\r\n this.deleteLabel();\r\n this._errorBar && this._errorBar.dispose();\r\n this._options = this._styles = this.series = this._errorBar = null\r\n },\r\n getTooltipFormatObject: function(tooltip, stackPoints) {\r\n var tooltipFormatObject = this._getFormatObject(tooltip);\r\n var sharedTooltipValuesArray = [];\r\n var tooltipStackPointsFormatObject = [];\r\n if (stackPoints) {\r\n stackPoints.forEach(point => {\r\n if (!point.isVisible()) {\r\n return\r\n }\r\n var formatObject = point._getFormatObject(tooltip);\r\n tooltipStackPointsFormatObject.push(formatObject);\r\n sharedTooltipValuesArray.push(formatObject.seriesName + \": \" + formatObject.valueText)\r\n });\r\n _extend(tooltipFormatObject, {\r\n points: tooltipStackPointsFormatObject,\r\n valueText: sharedTooltipValuesArray.join(\"\\n\"),\r\n stackName: this.series.getStackName() || null\r\n })\r\n }\r\n var aggregationInfo = this.aggregationInfo;\r\n if (aggregationInfo) {\r\n var axis = this.series.getArgumentAxis();\r\n var rangeText = axis.formatRange(aggregationInfo.intervalStart, aggregationInfo.intervalEnd, aggregationInfo.aggregationInterval, tooltip.getOptions().argumentFormat);\r\n if (rangeText) {\r\n tooltipFormatObject.valueText += \"\\n\".concat(rangeText)\r\n }\r\n }\r\n return tooltipFormatObject\r\n },\r\n setHole: function(holeValue, position) {\r\n var minValue = isFinite(this.minValue) ? this.minValue : 0;\r\n if (_isDefined(holeValue)) {\r\n if (\"left\" === position) {\r\n this.leftHole = this.value - holeValue;\r\n this.minLeftHole = minValue - holeValue\r\n } else {\r\n this.rightHole = this.value - holeValue;\r\n this.minRightHole = minValue - holeValue\r\n }\r\n }\r\n },\r\n resetHoles: function() {\r\n this.leftHole = null;\r\n this.minLeftHole = null;\r\n this.rightHole = null;\r\n this.minRightHole = null\r\n },\r\n getLabel: function() {\r\n return this._label\r\n },\r\n getLabels: function() {\r\n return [this._label]\r\n },\r\n getCenterCoord() {\r\n return {\r\n x: this.x,\r\n y: this.y\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/scatter_series.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend as _extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each as _each\r\n} from \"../../core/utils/iterator\";\r\nimport rangeCalculator from \"./helpers/range_data_calculator\";\r\nimport {\r\n isDefined as _isDefined,\r\n isString as _isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n map as _map,\r\n normalizeEnum as _normalizeEnum,\r\n convertXYToPolar\r\n} from \"../core/utils\";\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nvar math = Math;\r\nvar _abs = math.abs;\r\nvar _sqrt = math.sqrt;\r\nvar _max = math.max;\r\nvar DEFAULT_TRACKER_WIDTH = 12;\r\nvar DEFAULT_DURATION = 400;\r\nvar HIGH_ERROR = \"highError\";\r\nvar LOW_ERROR = \"lowError\";\r\nvar VARIANCE = \"variance\";\r\nvar STANDARD_DEVIATION = \"stddeviation\";\r\nvar STANDARD_ERROR = \"stderror\";\r\nvar PERCENT = \"percent\";\r\nvar FIXED = \"fixed\";\r\nvar UNDEFINED = \"undefined\";\r\nvar DISCRETE = \"discrete\";\r\nvar LOGARITHMIC = \"logarithmic\";\r\nvar DATETIME = \"datetime\";\r\nvar chart = {};\r\nvar polar = {};\r\n\r\nfunction sum(array) {\r\n var result = 0;\r\n _each(array, (function(_, value) {\r\n result += value\r\n }));\r\n return result\r\n}\r\n\r\nfunction isErrorBarTypeCorrect(type) {\r\n return [FIXED, PERCENT, VARIANCE, STANDARD_DEVIATION, STANDARD_ERROR].includes(type)\r\n}\r\n\r\nfunction variance(array, expectedValue) {\r\n return sum(_map(array, (function(value) {\r\n return (value - expectedValue) * (value - expectedValue)\r\n }))) / array.length\r\n}\r\n\r\nfunction calculateAvgErrorBars(result, data, series) {\r\n var errorBarsOptions = series.getOptions().valueErrorBar;\r\n var valueField = series.getValueFields()[0];\r\n var lowValueField = errorBarsOptions.lowValueField || LOW_ERROR;\r\n var highValueField = errorBarsOptions.highValueField || HIGH_ERROR;\r\n if (series.areErrorBarsVisible() && void 0 === errorBarsOptions.type) {\r\n var fusionData = data.reduce((function(result, item) {\r\n if (_isDefined(item[lowValueField])) {\r\n result[0] += item[valueField] - item[lowValueField];\r\n result[1]++\r\n }\r\n if (_isDefined(item[highValueField])) {\r\n result[2] += item[highValueField] - item[valueField];\r\n result[3]++\r\n }\r\n return result\r\n }), [0, 0, 0, 0]);\r\n if (fusionData[1]) {\r\n result[lowValueField] = result[valueField] - fusionData[0] / fusionData[1]\r\n }\r\n if (fusionData[2]) {\r\n result[highValueField] = result[valueField] + fusionData[2] / fusionData[3]\r\n }\r\n }\r\n return result\r\n}\r\n\r\nfunction calculateSumErrorBars(result, data, series) {\r\n var errorBarsOptions = series.getOptions().valueErrorBar;\r\n var lowValueField = errorBarsOptions.lowValueField || LOW_ERROR;\r\n var highValueField = errorBarsOptions.highValueField || HIGH_ERROR;\r\n if (series.areErrorBarsVisible() && void 0 === errorBarsOptions.type) {\r\n result[lowValueField] = 0;\r\n result[highValueField] = 0;\r\n result = data.reduce((function(result, item) {\r\n result[lowValueField] += item[lowValueField];\r\n result[highValueField] += item[highValueField];\r\n return result\r\n }), result)\r\n }\r\n return result\r\n}\r\n\r\nfunction getMinMaxAggregator(compare) {\r\n return (_ref, series) => {\r\n var {\r\n intervalStart: intervalStart,\r\n intervalEnd: intervalEnd,\r\n data: data\r\n } = _ref;\r\n var valueField = series.getValueFields()[0];\r\n var targetData = data[0];\r\n targetData = data.reduce((result, item) => {\r\n var value = item[valueField];\r\n if (null === result[valueField]) {\r\n result = item\r\n }\r\n if (null !== value && compare(value, result[valueField])) {\r\n return item\r\n }\r\n return result\r\n }, targetData);\r\n return _extend({}, targetData, {\r\n [series.getArgumentField()]: series._getIntervalCenter(intervalStart, intervalEnd)\r\n })\r\n }\r\n}\r\n\r\nfunction checkFields(data, fieldsToCheck, skippedFields) {\r\n var allFieldsIsValid = true;\r\n for (var field in fieldsToCheck) {\r\n var isArgument = \"argument\" === field;\r\n if (isArgument || \"size\" === field ? !_isDefined(data[field]) : void 0 === data[field]) {\r\n var selector = fieldsToCheck[field];\r\n if (!isArgument) {\r\n skippedFields[selector] = (skippedFields[selector] || 0) + 1\r\n }\r\n allFieldsIsValid = false\r\n }\r\n }\r\n return allFieldsIsValid\r\n}\r\nvar baseScatterMethods = {\r\n _defaultDuration: DEFAULT_DURATION,\r\n _defaultTrackerWidth: DEFAULT_TRACKER_WIDTH,\r\n _applyStyle: _noop,\r\n _updateOptions: _noop,\r\n _parseStyle: _noop,\r\n _prepareSegment: _noop,\r\n _drawSegment: _noop,\r\n _appendInGroup: function() {\r\n this._group.append(this._extGroups.seriesGroup)\r\n },\r\n _createLegendState: function(styleOptions, defaultColor) {\r\n return {\r\n fill: styleOptions.color || defaultColor,\r\n hatching: styleOptions.hatching ? _extend({}, styleOptions.hatching, {\r\n direction: \"right\"\r\n }) : void 0\r\n }\r\n },\r\n _applyElementsClipRect: function(settings) {\r\n settings[\"clip-path\"] = this._paneClipRectID\r\n },\r\n _applyMarkerClipRect: function(settings) {\r\n settings[\"clip-path\"] = this._forceClipping ? this._paneClipRectID : null\r\n },\r\n _createGroup: function(groupName, parent, target, settings) {\r\n var group = parent[groupName] = parent[groupName] || this._renderer.g();\r\n target && group.append(target);\r\n settings && group.attr(settings)\r\n },\r\n _applyClearingSettings: function(settings) {\r\n settings.opacity = null;\r\n settings.scale = null;\r\n if (this._options.rotated) {\r\n settings.translateX = null\r\n } else {\r\n settings.translateY = null\r\n }\r\n },\r\n _createGroups: function() {\r\n this._createGroup(\"_markersGroup\", this, this._group);\r\n this._createGroup(\"_labelsGroup\", this)\r\n },\r\n _setMarkerGroupSettings: function() {\r\n var settings = this._createPointStyles(this._getMarkerGroupOptions()).normal;\r\n settings.class = \"dxc-markers\";\r\n settings.opacity = 1;\r\n this._applyMarkerClipRect(settings);\r\n this._markersGroup.attr(settings)\r\n },\r\n getVisibleArea: function() {\r\n return this._visibleArea\r\n },\r\n areErrorBarsVisible: function() {\r\n var errorBarOptions = this._options.valueErrorBar;\r\n return errorBarOptions && this._errorBarsEnabled() && \"none\" !== errorBarOptions.displayMode && (isErrorBarTypeCorrect(_normalizeEnum(errorBarOptions.type)) || _isDefined(errorBarOptions.lowValueField) || _isDefined(errorBarOptions.highValueField))\r\n },\r\n groupPointsByCoords(rotated) {\r\n var cat = [];\r\n _each(this.getVisiblePoints(), (function(_, p) {\r\n var pointCoord = parseInt(rotated ? p.vy : p.vx);\r\n if (!cat[pointCoord]) {\r\n cat[pointCoord] = p\r\n } else {\r\n Array.isArray(cat[pointCoord]) ? cat[pointCoord].push(p) : cat[pointCoord] = [cat[pointCoord], p]\r\n }\r\n }));\r\n return cat\r\n },\r\n _createErrorBarGroup: function(animationEnabled) {\r\n var errorBarOptions = this._options.valueErrorBar;\r\n var settings;\r\n if (this.areErrorBarsVisible()) {\r\n settings = {\r\n class: \"dxc-error-bars\",\r\n stroke: errorBarOptions.color,\r\n \"stroke-width\": errorBarOptions.lineWidth,\r\n opacity: animationEnabled ? .001 : errorBarOptions.opacity || 1,\r\n \"stroke-linecap\": \"square\",\r\n sharp: true,\r\n \"clip-path\": this._forceClipping ? this._paneClipRectID : this._widePaneClipRectID\r\n };\r\n this._createGroup(\"_errorBarGroup\", this, this._group, settings)\r\n }\r\n },\r\n _setGroupsSettings: function(animationEnabled) {\r\n this._setMarkerGroupSettings();\r\n this._setLabelGroupSettings(animationEnabled);\r\n this._createErrorBarGroup(animationEnabled)\r\n },\r\n _getCreatingPointOptions: function() {\r\n var defaultPointOptions;\r\n var creatingPointOptions = this._predefinedPointOptions;\r\n var normalStyle;\r\n if (!creatingPointOptions) {\r\n defaultPointOptions = this._getPointOptions();\r\n this._predefinedPointOptions = creatingPointOptions = _extend(true, {\r\n styles: {}\r\n }, defaultPointOptions);\r\n normalStyle = defaultPointOptions.styles && defaultPointOptions.styles.normal || {};\r\n creatingPointOptions.styles = creatingPointOptions.styles || {};\r\n creatingPointOptions.styles.normal = {\r\n \"stroke-width\": normalStyle[\"stroke-width\"],\r\n r: normalStyle.r,\r\n opacity: normalStyle.opacity\r\n }\r\n }\r\n return creatingPointOptions\r\n },\r\n _getPointOptions: function() {\r\n return this._parsePointOptions(this._preparePointOptions(), this._options.label)\r\n },\r\n _getOptionsForPoint: function() {\r\n return this._options.point\r\n },\r\n _parsePointStyle: function(style, defaultColor, defaultBorderColor, defaultSize) {\r\n var border = style.border || {};\r\n var sizeValue = void 0 !== style.size ? style.size : defaultSize;\r\n return {\r\n fill: style.color || defaultColor,\r\n stroke: border.color || defaultBorderColor,\r\n \"stroke-width\": border.visible ? border.width : 0,\r\n r: sizeValue / 2 + (border.visible && 0 !== sizeValue ? ~~(border.width / 2) || 0 : 0)\r\n }\r\n },\r\n _createPointStyles: function(pointOptions) {\r\n var mainPointColor = pointOptions.color || this._options.mainSeriesColor;\r\n var containerColor = this._options.containerBackgroundColor;\r\n var normalStyle = this._parsePointStyle(pointOptions, mainPointColor, mainPointColor);\r\n normalStyle.visibility = pointOptions.visible ? \"visible\" : \"hidden\";\r\n return {\r\n normal: normalStyle,\r\n hover: this._parsePointStyle(pointOptions.hoverStyle, containerColor, mainPointColor, pointOptions.size),\r\n selection: this._parsePointStyle(pointOptions.selectionStyle, containerColor, mainPointColor, pointOptions.size)\r\n }\r\n },\r\n _checkData: function(data, skippedFields, fieldsToCheck) {\r\n fieldsToCheck = fieldsToCheck || {\r\n value: this.getValueFields()[0]\r\n };\r\n fieldsToCheck.argument = this.getArgumentField();\r\n return checkFields(data, fieldsToCheck, skippedFields || {}) && data.value === data.value\r\n },\r\n getArgumentRangeInitialValue() {\r\n var points = this.getPoints();\r\n if (this.useAggregation() && points.length) {\r\n var _points$0$aggregation, _points$aggregationIn;\r\n return {\r\n min: null === (_points$0$aggregation = points[0].aggregationInfo) || void 0 === _points$0$aggregation ? void 0 : _points$0$aggregation.intervalStart,\r\n max: null === (_points$aggregationIn = points[points.length - 1].aggregationInfo) || void 0 === _points$aggregationIn ? void 0 : _points$aggregationIn.intervalEnd\r\n }\r\n }\r\n return\r\n },\r\n getValueRangeInitialValue: function() {\r\n return\r\n },\r\n _getRangeData: function() {\r\n return rangeCalculator.getRangeData(this)\r\n },\r\n _getPointDataSelector: function() {\r\n var valueField = this.getValueFields()[0];\r\n var argumentField = this.getArgumentField();\r\n var tagField = this.getTagField();\r\n var areErrorBarsVisible = this.areErrorBarsVisible();\r\n var lowValueField;\r\n var highValueField;\r\n if (areErrorBarsVisible) {\r\n var errorBarOptions = this._options.valueErrorBar;\r\n lowValueField = errorBarOptions.lowValueField || LOW_ERROR;\r\n highValueField = errorBarOptions.highValueField || HIGH_ERROR\r\n }\r\n return data => {\r\n var pointData = {\r\n value: this._processEmptyValue(data[valueField]),\r\n argument: data[argumentField],\r\n tag: data[tagField],\r\n data: data\r\n };\r\n if (areErrorBarsVisible) {\r\n pointData.lowError = data[lowValueField];\r\n pointData.highError = data[highValueField]\r\n }\r\n return pointData\r\n }\r\n },\r\n _errorBarsEnabled: function() {\r\n return this.valueAxisType !== DISCRETE && this.valueAxisType !== LOGARITHMIC && this.valueType !== DATETIME\r\n },\r\n _drawPoint: function(options) {\r\n var point = options.point;\r\n if (point.isInVisibleArea()) {\r\n point.clearVisibility();\r\n point.draw(this._renderer, options.groups, options.hasAnimation, options.firstDrawing);\r\n this._drawnPoints.push(point)\r\n } else {\r\n point.setInvisibility()\r\n }\r\n },\r\n _animateComplete: function() {\r\n var animationSettings = {\r\n duration: this._defaultDuration\r\n };\r\n this._labelsGroup && this._labelsGroup.animate({\r\n opacity: 1\r\n }, animationSettings);\r\n this._errorBarGroup && this._errorBarGroup.animate({\r\n opacity: this._options.valueErrorBar.opacity || 1\r\n }, animationSettings)\r\n },\r\n _animate: function() {\r\n var that = this;\r\n var lastPointIndex = that._drawnPoints.length - 1;\r\n _each(that._drawnPoints || [], (function(i, p) {\r\n p.animate(i === lastPointIndex ? function() {\r\n that._animateComplete()\r\n } : void 0, {\r\n translateX: p.x,\r\n translateY: p.y\r\n })\r\n }))\r\n },\r\n _getIntervalCenter(intervalStart, intervalEnd) {\r\n var argAxis = this.getArgumentAxis();\r\n var axisOptions = argAxis.getOptions();\r\n if (argAxis.aggregatedPointBetweenTicks()) {\r\n return intervalStart\r\n }\r\n return \"discrete\" !== axisOptions.type ? argAxis.getVisualRangeCenter({\r\n minVisible: intervalStart,\r\n maxVisible: intervalEnd\r\n }, true) : intervalStart\r\n },\r\n _defaultAggregator: \"avg\",\r\n _aggregators: {\r\n avg(_ref2, series) {\r\n var {\r\n data: data,\r\n intervalStart: intervalStart,\r\n intervalEnd: intervalEnd\r\n } = _ref2;\r\n if (!data.length) {\r\n return\r\n }\r\n var valueField = series.getValueFields()[0];\r\n var aggregationResult = data.reduce((result, item) => {\r\n var value = item[valueField];\r\n if (_isDefined(value)) {\r\n result[0] += value;\r\n result[1]++\r\n } else if (null === value) {\r\n result[2]++\r\n }\r\n return result\r\n }, [0, 0, 0]);\r\n return calculateAvgErrorBars({\r\n [valueField]: aggregationResult[2] === data.length ? null : aggregationResult[0] / aggregationResult[1],\r\n [series.getArgumentField()]: series._getIntervalCenter(intervalStart, intervalEnd)\r\n }, data, series)\r\n },\r\n sum(_ref3, series) {\r\n var {\r\n intervalStart: intervalStart,\r\n intervalEnd: intervalEnd,\r\n data: data\r\n } = _ref3;\r\n if (!data.length) {\r\n return\r\n }\r\n var valueField = series.getValueFields()[0];\r\n var aggregationResult = data.reduce((result, item) => {\r\n var value = item[valueField];\r\n if (void 0 !== value) {\r\n result[0] += value\r\n }\r\n if (null === value) {\r\n result[1]++\r\n } else if (void 0 === value) {\r\n result[2]++\r\n }\r\n return result\r\n }, [0, 0, 0]);\r\n var value = aggregationResult[0];\r\n if (aggregationResult[1] === data.length) {\r\n value = null\r\n }\r\n if (aggregationResult[2] === data.length) {\r\n return\r\n }\r\n return calculateSumErrorBars({\r\n [valueField]: value,\r\n [series.getArgumentField()]: series._getIntervalCenter(intervalStart, intervalEnd)\r\n }, data, series)\r\n },\r\n count(_ref4, series) {\r\n var {\r\n data: data,\r\n intervalStart: intervalStart,\r\n intervalEnd: intervalEnd\r\n } = _ref4;\r\n var valueField = series.getValueFields()[0];\r\n return {\r\n [series.getArgumentField()]: series._getIntervalCenter(intervalStart, intervalEnd),\r\n [valueField]: data.filter(i => void 0 !== i[valueField]).length\r\n }\r\n },\r\n min: getMinMaxAggregator((a, b) => a < b),\r\n max: getMinMaxAggregator((a, b) => a > b)\r\n },\r\n _endUpdateData: function() {\r\n delete this._predefinedPointOptions\r\n },\r\n getArgumentField: function() {\r\n return this._options.argumentField || \"arg\"\r\n },\r\n getValueFields: function() {\r\n var options = this._options;\r\n var errorBarsOptions = options.valueErrorBar;\r\n var valueFields = [options.valueField || \"val\"];\r\n var lowValueField;\r\n var highValueField;\r\n if (errorBarsOptions) {\r\n lowValueField = errorBarsOptions.lowValueField;\r\n highValueField = errorBarsOptions.highValueField;\r\n _isString(lowValueField) && valueFields.push(lowValueField);\r\n _isString(highValueField) && valueFields.push(highValueField)\r\n }\r\n return valueFields\r\n },\r\n _calculateErrorBars: function(data) {\r\n if (!this.areErrorBarsVisible()) {\r\n return\r\n }\r\n var options = this._options;\r\n var errorBarsOptions = options.valueErrorBar;\r\n var errorBarType = _normalizeEnum(errorBarsOptions.type);\r\n var floatErrorValue = parseFloat(errorBarsOptions.value);\r\n var valueField = this.getValueFields()[0];\r\n var value;\r\n var lowValueField = errorBarsOptions.lowValueField || LOW_ERROR;\r\n var highValueField = errorBarsOptions.highValueField || HIGH_ERROR;\r\n var valueArray;\r\n var valueArrayLength;\r\n var meanValue;\r\n var processDataItem;\r\n var addSubError = function(_i, item) {\r\n value = item.value;\r\n item.lowError = value - floatErrorValue;\r\n item.highError = value + floatErrorValue\r\n };\r\n switch (errorBarType) {\r\n case FIXED:\r\n processDataItem = addSubError;\r\n break;\r\n case PERCENT:\r\n processDataItem = function(_, item) {\r\n value = item.value;\r\n var error = value * floatErrorValue / 100;\r\n item.lowError = value - error;\r\n item.highError = value + error\r\n };\r\n break;\r\n case UNDEFINED:\r\n processDataItem = function(_, item) {\r\n item.lowError = item.data[lowValueField];\r\n item.highError = item.data[highValueField]\r\n };\r\n break;\r\n default:\r\n valueArray = _map(data, (function(item) {\r\n return _isDefined(item.data[valueField]) ? item.data[valueField] : null\r\n }));\r\n valueArrayLength = valueArray.length;\r\n floatErrorValue = floatErrorValue || 1;\r\n switch (errorBarType) {\r\n case VARIANCE:\r\n floatErrorValue = variance(valueArray, sum(valueArray) / valueArrayLength) * floatErrorValue;\r\n processDataItem = addSubError;\r\n break;\r\n case STANDARD_DEVIATION:\r\n meanValue = sum(valueArray) / valueArrayLength;\r\n floatErrorValue = _sqrt(variance(valueArray, meanValue)) * floatErrorValue;\r\n processDataItem = function(_, item) {\r\n item.lowError = meanValue - floatErrorValue;\r\n item.highError = meanValue + floatErrorValue\r\n };\r\n break;\r\n case STANDARD_ERROR:\r\n floatErrorValue = _sqrt(variance(valueArray, sum(valueArray) / valueArrayLength) / valueArrayLength) * floatErrorValue;\r\n processDataItem = addSubError\r\n }\r\n }\r\n processDataItem && _each(data, processDataItem)\r\n },\r\n _patchMarginOptions: function(options) {\r\n var pointOptions = this._getCreatingPointOptions();\r\n var styles = pointOptions.styles;\r\n var maxSize = [styles.normal, styles.hover, styles.selection].reduce((function(max, style) {\r\n return _max(max, 2 * style.r + style[\"stroke-width\"])\r\n }), 0);\r\n options.size = pointOptions.visible ? maxSize : 0;\r\n options.sizePointNormalState = pointOptions.visible ? 2 * styles.normal.r + styles.normal[\"stroke-width\"] : 2;\r\n return options\r\n },\r\n usePointsToDefineAutoHiding: () => true\r\n};\r\nchart = _extend({}, baseScatterMethods, {\r\n drawTrackers: function() {\r\n var that = this;\r\n var trackers;\r\n var trackersGroup;\r\n var segments = that._segments || [];\r\n var rotated = that._options.rotated;\r\n if (!that.isVisible()) {\r\n return\r\n }\r\n if (segments.length) {\r\n trackers = that._trackers = that._trackers || [];\r\n trackersGroup = that._trackersGroup = (that._trackersGroup || that._renderer.g().attr({\r\n fill: \"gray\",\r\n opacity: .001,\r\n stroke: \"gray\",\r\n class: \"dxc-trackers\"\r\n })).attr({\r\n \"clip-path\": this._paneClipRectID || null\r\n }).append(that._group);\r\n _each(segments, (function(i, segment) {\r\n if (!trackers[i]) {\r\n trackers[i] = that._drawTrackerElement(segment).data({\r\n \"chart-data-series\": that\r\n }).append(trackersGroup)\r\n } else {\r\n that._updateTrackerElement(segment, trackers[i])\r\n }\r\n }))\r\n }\r\n that._trackersTranslator = that.groupPointsByCoords(rotated)\r\n },\r\n _checkAxisVisibleAreaCoord(isArgument, coord) {\r\n var axis = isArgument ? this.getArgumentAxis() : this.getValueAxis();\r\n var visibleArea = axis.getVisibleArea();\r\n return _isDefined(coord) && visibleArea[0] <= coord && visibleArea[1] >= coord\r\n },\r\n checkSeriesViewportCoord(axis, coord) {\r\n return this.getPoints().length && this.isVisible()\r\n },\r\n getSeriesPairCoord(coord, isArgument) {\r\n var oppositeCoord = null;\r\n var isOpposite = !isArgument && !this._options.rotated || isArgument && this._options.rotated;\r\n var coordName = !isOpposite ? \"vx\" : \"vy\";\r\n var oppositeCoordName = !isOpposite ? \"vy\" : \"vx\";\r\n var points = this.getVisiblePoints();\r\n for (var i = 0; i < points.length; i++) {\r\n var p = points[i];\r\n var tmpCoord = p[coordName] === coord ? p[oppositeCoordName] : void 0;\r\n if (this._checkAxisVisibleAreaCoord(!isArgument, tmpCoord)) {\r\n oppositeCoord = tmpCoord;\r\n break\r\n }\r\n }\r\n return oppositeCoord\r\n },\r\n _getNearestPoints: (point, nextPoint) => [point, nextPoint],\r\n _getBezierPoints: () => [],\r\n _getNearestPointsByCoord(coord, isArgument) {\r\n var that = this;\r\n var rotated = that.getOptions().rotated;\r\n var isOpposite = !isArgument && !rotated || isArgument && rotated;\r\n var coordName = isOpposite ? \"vy\" : \"vx\";\r\n var allPoints = that.getPoints();\r\n var bezierPoints = that._getBezierPoints();\r\n var nearestPoints = [];\r\n if (allPoints.length > 1) {\r\n allPoints.forEach((point, i) => {\r\n var nextPoint = allPoints[i + 1];\r\n if (nextPoint && (point[coordName] <= coord && nextPoint[coordName] >= coord || point[coordName] >= coord && nextPoint[coordName] <= coord)) {\r\n nearestPoints.push(that._getNearestPoints(point, nextPoint, bezierPoints))\r\n }\r\n })\r\n } else {\r\n nearestPoints.push([allPoints[0], allPoints[0]])\r\n }\r\n return nearestPoints\r\n },\r\n getNeighborPoint: function(x, y) {\r\n var pCoord = this._options.rotated ? y : x;\r\n var nCoord = pCoord;\r\n var cat = this._trackersTranslator;\r\n var point = null;\r\n var minDistance;\r\n var oppositeCoord = this._options.rotated ? x : y;\r\n var oppositeCoordName = this._options.rotated ? \"vx\" : \"vy\";\r\n if (this.isVisible() && cat) {\r\n point = cat[pCoord];\r\n do {\r\n point = cat[nCoord] || cat[pCoord];\r\n pCoord--;\r\n nCoord++\r\n } while ((pCoord >= 0 || nCoord < cat.length) && !point);\r\n if (Array.isArray(point)) {\r\n minDistance = _abs(point[0][oppositeCoordName] - oppositeCoord);\r\n _each(point, (function(i, p) {\r\n var distance = _abs(p[oppositeCoordName] - oppositeCoord);\r\n if (minDistance >= distance) {\r\n minDistance = distance;\r\n point = p\r\n }\r\n }))\r\n }\r\n }\r\n return point\r\n },\r\n _applyVisibleArea: function() {\r\n var rotated = this._options.rotated;\r\n var visibleX = (rotated ? this.getValueAxis() : this.getArgumentAxis()).getVisibleArea();\r\n var visibleY = (rotated ? this.getArgumentAxis() : this.getValueAxis()).getVisibleArea();\r\n this._visibleArea = {\r\n minX: visibleX[0],\r\n maxX: visibleX[1],\r\n minY: visibleY[0],\r\n maxY: visibleY[1]\r\n }\r\n },\r\n getPointCenterByArg(arg) {\r\n var point = this.getPointsByArg(arg)[0];\r\n return point ? point.getCenterCoord() : void 0\r\n }\r\n});\r\npolar = _extend({}, baseScatterMethods, {\r\n drawTrackers: function() {\r\n chart.drawTrackers.call(this);\r\n var cat = this._trackersTranslator;\r\n var index;\r\n if (!this.isVisible()) {\r\n return\r\n }\r\n _each(cat, (function(i, category) {\r\n if (category) {\r\n index = i;\r\n return false\r\n }\r\n }));\r\n cat[index + 360] = cat[index]\r\n },\r\n getNeighborPoint: function(x, y) {\r\n var pos = convertXYToPolar(this.getValueAxis().getCenter(), x, y);\r\n return chart.getNeighborPoint.call(this, pos.phi, pos.r)\r\n },\r\n _applyVisibleArea: function() {\r\n var canvas = this.getValueAxis().getCanvas();\r\n this._visibleArea = {\r\n minX: canvas.left,\r\n maxX: canvas.width - canvas.right,\r\n minY: canvas.top,\r\n maxY: canvas.height - canvas.bottom\r\n }\r\n },\r\n getSeriesPairCoord(params, isArgument) {\r\n var coords = null;\r\n var paramName = isArgument ? \"argument\" : \"radius\";\r\n var points = this.getVisiblePoints();\r\n for (var i = 0; i < points.length; i++) {\r\n var p = points[i];\r\n var tmpPoint = _isDefined(p[paramName]) && _isDefined(params[paramName]) && p[paramName].valueOf() === params[paramName].valueOf() ? {\r\n x: p.x,\r\n y: p.y\r\n } : void 0;\r\n if (_isDefined(tmpPoint)) {\r\n coords = tmpPoint;\r\n break\r\n }\r\n }\r\n return coords\r\n }\r\n});\r\nexport {\r\n chart,\r\n polar\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/line_series.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n chart as chartScatterSeries,\r\n polar as polarScatterSeries\r\n} from \"./scatter_series\";\r\nimport {\r\n clone\r\n} from \"../../core/utils/object\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n map,\r\n normalizeAngle,\r\n getCosAndSin\r\n} from \"../core/utils\";\r\nimport {\r\n solveCubicEquation,\r\n trunc\r\n} from \"../../core/utils/math\";\r\nvar DISCRETE = \"discrete\";\r\nvar {\r\n round: round,\r\n sqrt: sqrt,\r\n pow: pow,\r\n min: min,\r\n max: max,\r\n abs: abs\r\n} = Math;\r\nvar chart = {};\r\nvar polar = {};\r\n\r\nfunction clonePoint(point, newX, newY, newAngle) {\r\n var p = clone(point);\r\n p.x = newX;\r\n p.y = newY;\r\n p.angle = newAngle;\r\n return p\r\n}\r\n\r\nfunction getTangentPoint(point, prevPoint, centerPoint, tan, nextStepAngle) {\r\n var correctAngle = point.angle + nextStepAngle;\r\n var cosSin = getCosAndSin(correctAngle);\r\n var x = centerPoint.x + (point.radius + tan * nextStepAngle) * cosSin.cos;\r\n var y = centerPoint.y - (point.radius + tan * nextStepAngle) * cosSin.sin;\r\n return clonePoint(prevPoint, x, y, correctAngle)\r\n}\r\n\r\nfunction obtainCubicBezierTCoef(p, p0, p1, p2, p3) {\r\n var d = p0 - p;\r\n var c = 3 * p1 - 3 * p0;\r\n var b = 3 * p2 - 6 * p1 + 3 * p0;\r\n var a = p3 - 3 * p2 + 3 * p1 - p0;\r\n return solveCubicEquation(a, b, c, d)\r\n}\r\nvar lineMethods = {\r\n autoHidePointMarkersEnabled: () => true,\r\n _applyGroupSettings: function(style, settings, group) {\r\n settings = extend(settings, style);\r\n this._applyElementsClipRect(settings);\r\n group.attr(settings)\r\n },\r\n _setGroupsSettings: function(animationEnabled) {\r\n var style = this._styles.normal;\r\n this._applyGroupSettings(style.elements, {\r\n class: \"dxc-elements\"\r\n }, this._elementsGroup);\r\n this._bordersGroup && this._applyGroupSettings(style.border, {\r\n class: \"dxc-borders\"\r\n }, this._bordersGroup);\r\n chartScatterSeries._setGroupsSettings.call(this, animationEnabled);\r\n animationEnabled && this._markersGroup && this._markersGroup.attr({\r\n opacity: .001\r\n })\r\n },\r\n _createGroups: function() {\r\n this._createGroup(\"_elementsGroup\", this, this._group);\r\n this._areBordersVisible() && this._createGroup(\"_bordersGroup\", this, this._group);\r\n chartScatterSeries._createGroups.call(this)\r\n },\r\n _areBordersVisible: function() {\r\n return false\r\n },\r\n _getDefaultSegment: function(segment) {\r\n return {\r\n line: map(segment.line || [], (function(pt) {\r\n return pt.getDefaultCoords()\r\n }))\r\n }\r\n },\r\n _prepareSegment: function(points) {\r\n return {\r\n line: points\r\n }\r\n },\r\n _parseLineOptions: function(options, defaultColor) {\r\n return {\r\n stroke: options.color || defaultColor,\r\n \"stroke-width\": options.width,\r\n dashStyle: options.dashStyle || \"solid\"\r\n }\r\n },\r\n _parseStyle: function(options, defaultColor) {\r\n return {\r\n elements: this._parseLineOptions(options, defaultColor)\r\n }\r\n },\r\n _applyStyle: function(style) {\r\n this._elementsGroup && this._elementsGroup.attr(style.elements);\r\n each(this._graphics || [], (function(_, graphic) {\r\n graphic.line && graphic.line.attr({\r\n \"stroke-width\": style.elements[\"stroke-width\"]\r\n }).sharp()\r\n }))\r\n },\r\n _drawElement: function(segment, group) {\r\n return {\r\n line: this._createMainElement(segment.line, {\r\n \"stroke-width\": this._styles.normal.elements[\"stroke-width\"]\r\n }).append(group)\r\n }\r\n },\r\n _removeElement: function(element) {\r\n element.line.remove()\r\n },\r\n _updateElement: function(element, segment, animate, animationComplete) {\r\n var params = {\r\n points: segment.line\r\n };\r\n var lineElement = element.line;\r\n animate ? lineElement.animate(params, {}, animationComplete) : lineElement.attr(params)\r\n },\r\n _animateComplete: function() {\r\n chartScatterSeries._animateComplete.call(this);\r\n this._markersGroup && this._markersGroup.animate({\r\n opacity: 1\r\n }, {\r\n duration: this._defaultDuration\r\n })\r\n },\r\n _animate: function() {\r\n var that = this;\r\n var lastIndex = that._graphics.length - 1;\r\n each(that._graphics || [], (function(i, elem) {\r\n var complete;\r\n if (i === lastIndex) {\r\n complete = function() {\r\n that._animateComplete()\r\n }\r\n }\r\n that._updateElement(elem, that._segments[i], true, complete)\r\n }))\r\n },\r\n _drawPoint: function(options) {\r\n chartScatterSeries._drawPoint.call(this, {\r\n point: options.point,\r\n groups: options.groups\r\n })\r\n },\r\n _createMainElement: function(points, settings) {\r\n return this._renderer.path(points, \"line\").attr(settings)\r\n },\r\n _sortPoints: function(points, rotated) {\r\n return rotated ? points.sort((function(p1, p2) {\r\n return p2.y - p1.y\r\n })) : points.sort((function(p1, p2) {\r\n return p1.x - p2.x\r\n }))\r\n },\r\n _drawSegment: function(points, animationEnabled, segmentCount, lastSegment) {\r\n var rotated = this._options.rotated;\r\n var segment = this._prepareSegment(points, rotated, lastSegment);\r\n this._segments.push(segment);\r\n if (!this._graphics[segmentCount]) {\r\n this._graphics[segmentCount] = this._drawElement(animationEnabled ? this._getDefaultSegment(segment) : segment, this._elementsGroup)\r\n } else if (!animationEnabled) {\r\n this._updateElement(this._graphics[segmentCount], segment)\r\n }\r\n },\r\n _getTrackerSettings: function() {\r\n var defaultTrackerWidth = this._defaultTrackerWidth;\r\n var strokeWidthFromElements = this._styles.normal.elements[\"stroke-width\"];\r\n return {\r\n \"stroke-width\": strokeWidthFromElements > defaultTrackerWidth ? strokeWidthFromElements : defaultTrackerWidth,\r\n fill: \"none\"\r\n }\r\n },\r\n _getMainPointsFromSegment: function(segment) {\r\n return segment.line\r\n },\r\n _drawTrackerElement: function(segment) {\r\n return this._createMainElement(this._getMainPointsFromSegment(segment), this._getTrackerSettings(segment))\r\n },\r\n _updateTrackerElement: function(segment, element) {\r\n var settings = this._getTrackerSettings(segment);\r\n settings.points = this._getMainPointsFromSegment(segment);\r\n element.attr(settings)\r\n },\r\n checkSeriesViewportCoord(axis, coord) {\r\n if (!chartScatterSeries.checkSeriesViewportCoord.call(this)) {\r\n return false\r\n }\r\n var range = axis.isArgumentAxis ? this.getArgumentRange() : this.getViewport();\r\n var min = axis.getTranslator().translate(range.categories ? range.categories[0] : range.min);\r\n var max = axis.getTranslator().translate(range.categories ? range.categories[range.categories.length - 1] : range.max);\r\n var rotated = this.getOptions().rotated;\r\n var inverted = axis.getOptions().inverted;\r\n return axis.isArgumentAxis && (!rotated && !inverted || rotated && inverted) || !axis.isArgumentAxis && (rotated && !inverted || !rotated && inverted) ? coord >= min && coord <= max : coord >= max && coord <= min\r\n }\r\n};\r\nvar lineSeries = chart.line = extend({}, chartScatterSeries, lineMethods, {\r\n getPointCenterByArg(arg) {\r\n var value = this.getArgumentAxis().getTranslator().translate(arg);\r\n return {\r\n x: value,\r\n y: value\r\n }\r\n },\r\n getSeriesPairCoord(coord, isArgument) {\r\n var oppositeCoord = null;\r\n var nearestPoints = this._getNearestPointsByCoord(coord, isArgument);\r\n var needValueCoord = isArgument && !this._options.rotated || !isArgument && this._options.rotated;\r\n for (var i = 0; i < nearestPoints.length; i++) {\r\n var p = nearestPoints[i];\r\n var k = (p[1].vy - p[0].vy) / (p[1].vx - p[0].vx);\r\n var b = p[0].vy - p[0].vx * k;\r\n var tmpCoord = void 0;\r\n if (p[1].vx - p[0].vx === 0) {\r\n tmpCoord = needValueCoord ? p[0].vy : p[0].vx\r\n } else {\r\n tmpCoord = needValueCoord ? k * coord + b : (coord - b) / k\r\n }\r\n if (this._checkAxisVisibleAreaCoord(!isArgument, tmpCoord)) {\r\n oppositeCoord = tmpCoord;\r\n break\r\n }\r\n }\r\n return oppositeCoord\r\n }\r\n});\r\nchart.stepline = extend({}, lineSeries, {\r\n _calculateStepLinePoints(points) {\r\n var segment = [];\r\n var coordName = this._options.rotated ? \"x\" : \"y\";\r\n each(points, (function(i, pt) {\r\n var point;\r\n if (!i) {\r\n segment.push(pt);\r\n return\r\n }\r\n var step = segment[segment.length - 1][coordName];\r\n if (step !== pt[coordName]) {\r\n point = clone(pt);\r\n point[coordName] = step;\r\n segment.push(point)\r\n }\r\n segment.push(pt)\r\n }));\r\n return segment\r\n },\r\n _prepareSegment: function(points) {\r\n return lineSeries._prepareSegment(this._calculateStepLinePoints(points))\r\n },\r\n getSeriesPairCoord(coord, isArgument) {\r\n var oppositeCoord;\r\n var rotated = this._options.rotated;\r\n var isOpposite = !isArgument && !rotated || isArgument && rotated;\r\n var coordName = !isOpposite ? \"vx\" : \"vy\";\r\n var oppositeCoordName = !isOpposite ? \"vy\" : \"vx\";\r\n var nearestPoints = this._getNearestPointsByCoord(coord, isArgument);\r\n for (var i = 0; i < nearestPoints.length; i++) {\r\n var p = nearestPoints[i];\r\n var tmpCoord = void 0;\r\n if (isArgument) {\r\n tmpCoord = coord !== p[1][coordName] ? p[0][oppositeCoordName] : p[1][oppositeCoordName]\r\n } else {\r\n tmpCoord = coord === p[0][coordName] ? p[0][oppositeCoordName] : p[1][oppositeCoordName]\r\n }\r\n if (this._checkAxisVisibleAreaCoord(!isArgument, tmpCoord)) {\r\n oppositeCoord = tmpCoord;\r\n break\r\n }\r\n }\r\n return oppositeCoord\r\n }\r\n});\r\nchart.spline = extend({}, lineSeries, {\r\n _calculateBezierPoints: function(src, rotated) {\r\n var bezierPoints = [];\r\n var pointsCopy = src;\r\n var checkExtremum = function(otherPointCoord, pointCoord, controlCoord) {\r\n return otherPointCoord > pointCoord && controlCoord > otherPointCoord || otherPointCoord < pointCoord && controlCoord < otherPointCoord ? otherPointCoord : controlCoord\r\n };\r\n if (1 !== pointsCopy.length) {\r\n pointsCopy.forEach((function(curPoint, i) {\r\n var leftControlX;\r\n var leftControlY;\r\n var rightControlX;\r\n var rightControlY;\r\n var prevPoint = pointsCopy[i - 1];\r\n var nextPoint = pointsCopy[i + 1];\r\n var x1;\r\n var x2;\r\n var y1;\r\n var y2;\r\n var a;\r\n var b;\r\n var c;\r\n var xc;\r\n var yc;\r\n var shift;\r\n if (!i || i === pointsCopy.length - 1) {\r\n bezierPoints.push(curPoint, curPoint);\r\n return\r\n }\r\n var xCur = curPoint.x;\r\n var yCur = curPoint.y;\r\n x1 = prevPoint.x;\r\n x2 = nextPoint.x;\r\n y1 = prevPoint.y;\r\n y2 = nextPoint.y;\r\n var curIsExtremum = !!(!rotated && (yCur <= prevPoint.y && yCur <= nextPoint.y || yCur >= prevPoint.y && yCur >= nextPoint.y) || rotated && (xCur <= prevPoint.x && xCur <= nextPoint.x || xCur >= prevPoint.x && xCur >= nextPoint.x));\r\n if (curIsExtremum) {\r\n if (!rotated) {\r\n rightControlY = leftControlY = yCur;\r\n rightControlX = (xCur + nextPoint.x) / 2;\r\n leftControlX = (xCur + prevPoint.x) / 2\r\n } else {\r\n rightControlX = leftControlX = xCur;\r\n rightControlY = (yCur + nextPoint.y) / 2;\r\n leftControlY = (yCur + prevPoint.y) / 2\r\n }\r\n } else {\r\n a = y2 - y1;\r\n b = x1 - x2;\r\n c = y1 * x2 - x1 * y2;\r\n if (!rotated) {\r\n if (!b) {\r\n bezierPoints.push(curPoint, curPoint, curPoint);\r\n return\r\n }\r\n xc = xCur;\r\n yc = -1 * (a * xc + c) / b;\r\n shift = yc - yCur;\r\n y1 -= shift;\r\n y2 -= shift\r\n } else {\r\n if (!a) {\r\n bezierPoints.push(curPoint, curPoint, curPoint);\r\n return\r\n }\r\n yc = yCur;\r\n xc = -1 * (b * yc + c) / a;\r\n shift = xc - xCur;\r\n x1 -= shift;\r\n x2 -= shift\r\n }\r\n rightControlX = (xCur + .5 * x2) / 1.5;\r\n rightControlY = (yCur + .5 * y2) / 1.5;\r\n leftControlX = (xCur + .5 * x1) / 1.5;\r\n leftControlY = (yCur + .5 * y1) / 1.5\r\n }\r\n if (!rotated) {\r\n leftControlY = checkExtremum(prevPoint.y, yCur, leftControlY);\r\n rightControlY = checkExtremum(nextPoint.y, yCur, rightControlY)\r\n } else {\r\n leftControlX = checkExtremum(prevPoint.x, xCur, leftControlX);\r\n rightControlX = checkExtremum(nextPoint.x, xCur, rightControlX)\r\n }\r\n var leftPoint = clonePoint(curPoint, leftControlX, leftControlY);\r\n var rightPoint = clonePoint(curPoint, rightControlX, rightControlY);\r\n bezierPoints.push(leftPoint, curPoint, rightPoint)\r\n }))\r\n } else {\r\n bezierPoints.push(pointsCopy[0])\r\n }\r\n return bezierPoints\r\n },\r\n _prepareSegment: function(points, rotated) {\r\n return lineSeries._prepareSegment(this._calculateBezierPoints(points, rotated))\r\n },\r\n _createMainElement: function(points, settings) {\r\n return this._renderer.path(points, \"bezier\").attr(settings)\r\n },\r\n getSeriesPairCoord(coord, isArgument) {\r\n var oppositeCoord = null;\r\n var isOpposite = !isArgument && !this._options.rotated || isArgument && this._options.rotated;\r\n var coordName = !isOpposite ? \"vx\" : \"vy\";\r\n var bezierCoordName = !isOpposite ? \"x\" : \"y\";\r\n var oppositeCoordName = !isOpposite ? \"vy\" : \"vx\";\r\n var bezierOppositeCoordName = !isOpposite ? \"y\" : \"x\";\r\n var axis = !isArgument ? this.getArgumentAxis() : this.getValueAxis();\r\n var visibleArea = axis.getVisibleArea();\r\n var nearestPoints = this._getNearestPointsByCoord(coord, isArgument);\r\n var _loop = function() {\r\n var p = nearestPoints[i];\r\n if (1 === p.length) {\r\n visibleArea[0] <= p[0][oppositeCoordName] && visibleArea[1] >= p[0][oppositeCoordName] && (oppositeCoord = p[0][oppositeCoordName])\r\n } else {\r\n var ts = obtainCubicBezierTCoef(coord, p[0][coordName], p[1][bezierCoordName], p[2][bezierCoordName], p[3][coordName]);\r\n ts.forEach(t => {\r\n if (t >= 0 && t <= 1) {\r\n var tmpCoord = Math.pow(1 - t, 3) * p[0][oppositeCoordName] + 3 * Math.pow(1 - t, 2) * t * p[1][bezierOppositeCoordName] + 3 * (1 - t) * t * t * p[2][bezierOppositeCoordName] + t * t * t * p[3][oppositeCoordName];\r\n if (visibleArea[0] <= tmpCoord && visibleArea[1] >= tmpCoord) {\r\n oppositeCoord = tmpCoord\r\n }\r\n }\r\n })\r\n }\r\n if (null !== oppositeCoord) {\r\n return \"break\"\r\n }\r\n };\r\n for (var i = 0; i < nearestPoints.length; i++) {\r\n var _ret = _loop();\r\n if (\"break\" === _ret) {\r\n break\r\n }\r\n }\r\n return oppositeCoord\r\n },\r\n _getNearestPoints(point, nextPoint, bezierPoints) {\r\n var index = bezierPoints.indexOf(point);\r\n return [point, bezierPoints[index + 1], bezierPoints[index + 2], nextPoint]\r\n },\r\n _getBezierPoints() {\r\n return this._segments.length > 0 ? this._segments.reduce((a, seg) => a.concat(seg.line), []) : []\r\n }\r\n});\r\npolar.line = extend({}, polarScatterSeries, lineMethods, {\r\n _sortPoints: function(points) {\r\n return points\r\n },\r\n _prepareSegment: function(points, rotated, lastSegment) {\r\n var preparedPoints = [];\r\n var centerPoint = this.getValueAxis().getCenter();\r\n var i;\r\n lastSegment && this._closeSegment(points);\r\n if (this.argumentAxisType !== DISCRETE && this.valueAxisType !== DISCRETE) {\r\n for (i = 1; i < points.length; i++) {\r\n preparedPoints = preparedPoints.concat(this._getTangentPoints(points[i], points[i - 1], centerPoint, i === points.length - 1))\r\n }\r\n if (!preparedPoints.length) {\r\n preparedPoints = points\r\n }\r\n } else {\r\n return lineSeries._prepareSegment.call(this, points)\r\n }\r\n return {\r\n line: preparedPoints\r\n }\r\n },\r\n _getRemainingAngle: function(angle) {\r\n var normAngle = normalizeAngle(angle);\r\n return angle >= 0 ? 360 - normAngle : -normAngle\r\n },\r\n _closeSegment(points) {\r\n var point;\r\n if (this._segments.length) {\r\n point = this._segments[0].line[0]\r\n } else {\r\n point = clonePoint(points[0], points[0].x, points[0].y, points[0].angle)\r\n }\r\n point = this._modifyReflectedPoint(point, points[points.length - 1]);\r\n if (point) {\r\n points.push(point)\r\n }\r\n },\r\n _modifyReflectedPoint(point, lastPoint) {\r\n if (lastPoint.angle === point.angle) {\r\n return\r\n }\r\n if (normalizeAngle(round(lastPoint.angle)) === normalizeAngle(round(point.angle))) {\r\n point.angle = lastPoint.angle\r\n } else {\r\n var differenceAngle = lastPoint.angle - point.angle;\r\n point.angle = lastPoint.angle + this._getRemainingAngle(differenceAngle)\r\n }\r\n return point\r\n },\r\n _getTangentPoints: function(point, prevPoint, centerPoint, isLastSegment) {\r\n var tangentPoints = [];\r\n var betweenAngle = Math.round(prevPoint.angle - point.angle);\r\n var tan = (prevPoint.radius - point.radius) / betweenAngle;\r\n var i;\r\n if (0 === betweenAngle) {\r\n tangentPoints = [prevPoint, point]\r\n } else if (betweenAngle > 0) {\r\n var angle = isLastSegment ? betweenAngle : betweenAngle - 1;\r\n for (i = angle; i >= 0; i--) {\r\n tangentPoints.push(getTangentPoint(point, prevPoint, centerPoint, tan, i))\r\n }\r\n } else {\r\n var _angle = isLastSegment ? betweenAngle : betweenAngle + 1;\r\n for (i = 0; i >= _angle; i--) {\r\n tangentPoints.push(getTangentPoint(point, prevPoint, centerPoint, tan, betweenAngle - i))\r\n }\r\n }\r\n return tangentPoints\r\n },\r\n getSeriesPairCoord(params, isArgument) {\r\n var argAxis = this.getArgumentAxis();\r\n var paramName = isArgument ? \"angle\" : \"radius\";\r\n var coordParam = params[paramName];\r\n var centerPoint = argAxis.getCenter();\r\n var isInsideInterval = (prevPoint, point, _ref) => {\r\n var {\r\n x: x,\r\n y: y\r\n } = _ref;\r\n return (p1 = {\r\n x: x,\r\n y: y\r\n }, p2 = centerPoint, sqrt(pow(p1.x - p2.x, 2) + pow(p1.y - p2.y, 2))) <= argAxis.getRadius() && min(prevPoint.x, point.x) <= x && max(prevPoint.x, point.x) >= x && min(prevPoint.y, point.y) <= y && max(prevPoint.y, point.y) >= y;\r\n var p1, p2\r\n };\r\n var coords;\r\n var neighborPoints = this.getNeighborPoints(coordParam, paramName);\r\n if (1 === neighborPoints.length) {\r\n coords = neighborPoints[0]\r\n } else if (neighborPoints.length > 1) {\r\n var prevPoint = neighborPoints[0];\r\n var point = neighborPoints[1];\r\n if (this.argumentAxisType !== DISCRETE && this.valueAxisType !== DISCRETE) {\r\n var tan;\r\n var stepAngle;\r\n if (isArgument) {\r\n tan = (prevPoint.radius - point.radius) / (prevPoint.angle - point.angle);\r\n stepAngle = coordParam - point.angle\r\n } else {\r\n tan = (prevPoint.radius - point.radius) / (prevPoint.angle - point.angle);\r\n stepAngle = (coordParam - point.radius) / tan\r\n }\r\n coords = getTangentPoint(point, prevPoint, centerPoint, tan, stepAngle)\r\n } else if (isArgument) {\r\n var cosSin = getCosAndSin(-coordParam);\r\n var k1 = (point.y - prevPoint.y) / (point.x - prevPoint.x);\r\n var b1 = prevPoint.y - prevPoint.x * k1;\r\n var k2 = cosSin.sin / cosSin.cos;\r\n var b2 = centerPoint.y - k2 * centerPoint.x;\r\n var x = (b2 - b1) / (k1 - k2);\r\n var y = k1 * x + b1;\r\n if (isInsideInterval(prevPoint, point, {\r\n x: x,\r\n y: y\r\n })) {\r\n var quarter = abs(trunc((360 + coordParam) / 90) % 4);\r\n if (0 === quarter && x >= centerPoint.x && y <= centerPoint.y || 1 === quarter && x <= centerPoint.x && y <= centerPoint.y || 2 === quarter && x <= centerPoint.x && y >= centerPoint.y || 3 === quarter && x >= centerPoint.x && y >= centerPoint.y) {\r\n coords = {\r\n x: x,\r\n y: y\r\n }\r\n }\r\n }\r\n } else {\r\n var k = (point.y - prevPoint.y) / (point.x - prevPoint.x);\r\n var y0 = prevPoint.y - prevPoint.x * k;\r\n var a = 1 + k * k;\r\n var b = -2 * centerPoint.x + 2 * k * y0 - 2 * k * centerPoint.y;\r\n var c = -pow(coordParam, 2) + pow(y0 - centerPoint.y, 2) + pow(centerPoint.x, 2);\r\n var d = b * b - 4 * a * c;\r\n if (d >= 0) {\r\n var x1 = (-b - sqrt(d)) / (2 * a);\r\n var x2 = (-b + sqrt(d)) / (2 * a);\r\n var y1 = k * x1 + y0;\r\n var y2 = k * x2 + y0;\r\n coords = isInsideInterval(prevPoint, point, {\r\n x: x1,\r\n y: y1\r\n }) ? {\r\n x: x1,\r\n y: y1\r\n } : isInsideInterval(prevPoint, point, {\r\n x: x2,\r\n y: y2\r\n }) ? {\r\n x: x2,\r\n y: y2\r\n } : void 0\r\n }\r\n }\r\n }\r\n return coords\r\n },\r\n getNeighborPoints(param, paramName) {\r\n var points = this.getPoints();\r\n var neighborPoints = [];\r\n if (this.getOptions().closed) {\r\n points = extend(true, [], points);\r\n var lastPoint = points[points.length - 1];\r\n var firstPointCopy = clonePoint(points[0], points[0].x, points[0].y, points[0].angle);\r\n var lastPointCopy = clonePoint(lastPoint, lastPoint.x, lastPoint.y, lastPoint.angle);\r\n var rearwardRefPoint = this._modifyReflectedPoint(firstPointCopy, lastPoint);\r\n var forwardRefPoint = this._modifyReflectedPoint(lastPointCopy, points[0]);\r\n if (forwardRefPoint) {\r\n points.unshift(forwardRefPoint)\r\n }\r\n if (rearwardRefPoint) {\r\n points.push(rearwardRefPoint)\r\n }\r\n }\r\n for (var i = 1; i < points.length; i++) {\r\n if (points[i - 1][paramName] === param) {\r\n neighborPoints.push(points[i - 1])\r\n } else if (points[i][paramName] === param) {\r\n neighborPoints.push(points[i])\r\n } else if (points[i][paramName] > param && points[i - 1][paramName] < param || points[i - 1][paramName] > param && points[i][paramName] < param) {\r\n neighborPoints.push(points[i - 1]);\r\n neighborPoints.push(points[i])\r\n }\r\n if (neighborPoints.length > 0) {\r\n break\r\n }\r\n }\r\n return neighborPoints\r\n }\r\n});\r\nexport {\r\n chart,\r\n polar\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/area_series.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n clone\r\n} from \"../../core/utils/object\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n chart as scatterSeries\r\n} from \"./scatter_series\";\r\nimport {\r\n chart as lineSeriesChart,\r\n polar as lineSeriesPolar\r\n} from \"./line_series\";\r\nvar chartLineSeries = lineSeriesChart.line;\r\nvar polarLineSeries = lineSeriesPolar.line;\r\nimport {\r\n map as _map\r\n} from \"../core/utils\";\r\nvar _extend = extend;\r\nvar calculateBezierPoints = lineSeriesChart.spline._calculateBezierPoints;\r\nvar chart = {};\r\nvar polar = {};\r\nvar baseAreaMethods = {\r\n _createBorderElement: chartLineSeries._createMainElement,\r\n _createLegendState: function(styleOptions, defaultColor) {\r\n return {\r\n fill: styleOptions.color || defaultColor,\r\n opacity: styleOptions.opacity,\r\n hatching: styleOptions.hatching\r\n }\r\n },\r\n getValueRangeInitialValue: function() {\r\n if (\"logarithmic\" !== this.valueAxisType && \"datetime\" !== this.valueType && false !== this.showZero) {\r\n return 0\r\n } else {\r\n return scatterSeries.getValueRangeInitialValue.call(this)\r\n }\r\n },\r\n _getDefaultSegment: function(segment) {\r\n var defaultSegment = chartLineSeries._getDefaultSegment(segment);\r\n defaultSegment.area = defaultSegment.line.concat(defaultSegment.line.slice().reverse());\r\n return defaultSegment\r\n },\r\n _updateElement: function(element, segment, animate, complete) {\r\n var lineParams = {\r\n points: segment.line\r\n };\r\n var areaParams = {\r\n points: segment.area\r\n };\r\n var borderElement = element.line;\r\n if (animate) {\r\n borderElement && borderElement.animate(lineParams);\r\n element.area.animate(areaParams, {}, complete)\r\n } else {\r\n borderElement && borderElement.attr(lineParams);\r\n element.area.attr(areaParams)\r\n }\r\n },\r\n _removeElement: function(element) {\r\n element.line && element.line.remove();\r\n element.area.remove()\r\n },\r\n _drawElement: function(segment) {\r\n return {\r\n line: this._bordersGroup && this._createBorderElement(segment.line, {\r\n \"stroke-width\": this._styles.normal.border[\"stroke-width\"]\r\n }).append(this._bordersGroup),\r\n area: this._createMainElement(segment.area).append(this._elementsGroup)\r\n }\r\n },\r\n _applyStyle: function(style) {\r\n this._elementsGroup && this._elementsGroup.smartAttr(style.elements);\r\n this._bordersGroup && this._bordersGroup.attr(style.border);\r\n (this._graphics || []).forEach((function(graphic) {\r\n graphic.line && graphic.line.attr({\r\n \"stroke-width\": style.border[\"stroke-width\"]\r\n }).sharp()\r\n }))\r\n },\r\n _parseStyle: function(options, defaultColor, defaultBorderColor) {\r\n var borderOptions = options.border || {};\r\n var borderStyle = chartLineSeries._parseLineOptions(borderOptions, defaultBorderColor);\r\n borderStyle.stroke = borderOptions.visible && borderStyle[\"stroke-width\"] ? borderStyle.stroke : \"none\";\r\n borderStyle[\"stroke-width\"] = borderStyle[\"stroke-width\"] || 1;\r\n return {\r\n border: borderStyle,\r\n elements: {\r\n stroke: \"none\",\r\n fill: options.color || defaultColor,\r\n hatching: options.hatching,\r\n opacity: options.opacity\r\n }\r\n }\r\n },\r\n _areBordersVisible: function() {\r\n var options = this._options;\r\n return options.border.visible || options.hoverStyle.border.visible || options.selectionStyle.border.visible\r\n },\r\n _createMainElement: function(points, settings) {\r\n return this._renderer.path(points, \"area\").attr(settings)\r\n },\r\n _getTrackerSettings: function(segment) {\r\n return {\r\n \"stroke-width\": segment.singlePointSegment ? this._defaultTrackerWidth : 0\r\n }\r\n },\r\n _getMainPointsFromSegment: function(segment) {\r\n return segment.area\r\n }\r\n};\r\n\r\nfunction createAreaPoints(points) {\r\n return _map(points, (function(pt) {\r\n return pt.getCoords()\r\n })).concat(_map(points.slice().reverse(), (function(pt) {\r\n return pt.getCoords(true)\r\n })))\r\n}\r\nvar areaSeries = chart.area = _extend({}, chartLineSeries, baseAreaMethods, {\r\n _prepareSegment(points, rotated) {\r\n var processedPoints = this._processSinglePointsAreaSegment(points, rotated);\r\n var areaPoints = createAreaPoints(processedPoints);\r\n var argAxis = this.getArgumentAxis();\r\n if (argAxis.getAxisPosition) {\r\n var argAxisPosition = argAxis.getAxisPosition();\r\n var axisOptions = argAxis.getOptions();\r\n var edgeOffset = (!rotated ? -1 : 1) * Math.round(axisOptions.width / 2);\r\n if (axisOptions.visible) {\r\n areaPoints.forEach((p, i) => {\r\n if (p) {\r\n var index = 1 === points.length ? 0 : i < points.length ? i : areaPoints.length - 1 - i;\r\n rotated && p.x === points[index].defaultX && p.x === argAxisPosition - argAxis.getAxisShift() && (p.x += edgeOffset);\r\n !rotated && p.y === points[index].defaultY && p.y === argAxisPosition - argAxis.getAxisShift() && (p.y += edgeOffset)\r\n }\r\n })\r\n }\r\n }\r\n return {\r\n line: processedPoints,\r\n area: areaPoints,\r\n singlePointSegment: processedPoints !== points\r\n }\r\n },\r\n _processSinglePointsAreaSegment: function(points, rotated) {\r\n if (points && 1 === points.length) {\r\n var p = points[0];\r\n var p1 = clone(p);\r\n p1[rotated ? \"y\" : \"x\"] += 1;\r\n p1.argument = null;\r\n return [p, p1]\r\n }\r\n return points\r\n }\r\n});\r\npolar.area = _extend({}, polarLineSeries, baseAreaMethods, {\r\n _prepareSegment: function(points, rotated, lastSegment) {\r\n lastSegment && polarLineSeries._closeSegment.call(this, points);\r\n return areaSeries._prepareSegment.call(this, points)\r\n },\r\n _processSinglePointsAreaSegment: function(points) {\r\n return lineSeriesPolar.line._prepareSegment.call(this, points).line\r\n }\r\n});\r\nchart.steparea = _extend({}, areaSeries, {\r\n _prepareSegment: function(points, rotated) {\r\n var stepLineSeries = lineSeriesChart.stepline;\r\n points = areaSeries._processSinglePointsAreaSegment(points, rotated);\r\n return areaSeries._prepareSegment.call(this, stepLineSeries._calculateStepLinePoints.call(this, points), rotated)\r\n },\r\n getSeriesPairCoord: lineSeriesChart.stepline.getSeriesPairCoord\r\n});\r\nchart.splinearea = _extend({}, areaSeries, {\r\n _areaPointsToSplineAreaPoints: function(areaPoints) {\r\n var previousMiddlePoint = areaPoints[areaPoints.length / 2 - 1];\r\n var middlePoint = areaPoints[areaPoints.length / 2];\r\n areaPoints.splice(areaPoints.length / 2, 0, {\r\n x: previousMiddlePoint.x,\r\n y: previousMiddlePoint.y\r\n }, {\r\n x: middlePoint.x,\r\n y: middlePoint.y\r\n })\r\n },\r\n _prepareSegment: function(points, rotated) {\r\n var processedPoints = areaSeries._processSinglePointsAreaSegment(points, rotated);\r\n var areaSegment = areaSeries._prepareSegment.call(this, calculateBezierPoints(processedPoints, rotated));\r\n this._areaPointsToSplineAreaPoints(areaSegment.area);\r\n areaSegment.singlePointSegment = processedPoints !== points;\r\n return areaSegment\r\n },\r\n _getDefaultSegment: function(segment) {\r\n var areaDefaultSegment = areaSeries._getDefaultSegment(segment);\r\n this._areaPointsToSplineAreaPoints(areaDefaultSegment.area);\r\n return areaDefaultSegment\r\n },\r\n _createMainElement: function(points, settings) {\r\n return this._renderer.path(points, \"bezierarea\").attr(settings)\r\n },\r\n _createBorderElement: lineSeriesChart.spline._createMainElement,\r\n getSeriesPairCoord: lineSeriesChart.spline.getSeriesPairCoord,\r\n _getNearestPoints: lineSeriesChart.spline._getNearestPoints,\r\n _getBezierPoints: lineSeriesChart.spline._getBezierPoints,\r\n obtainCubicBezierTCoef: lineSeriesChart.spline.obtainCubicBezierTCoef\r\n});\r\nexport {\r\n chart,\r\n polar\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/bar_series.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport * as scatterSeries from \"./scatter_series\";\r\nimport {\r\n chart as areaChart\r\n} from \"./area_series\";\r\nvar areaSeries = areaChart.area;\r\nimport {\r\n convertPolarToXY\r\n} from \"../core/utils\";\r\nvar chartSeries = scatterSeries.chart;\r\nvar polarSeries = scatterSeries.polar;\r\nimport {\r\n isDefined as _isDefined\r\n} from \"../../core/utils/type\";\r\nvar _extend = extend;\r\nvar _each = each;\r\nvar chart = {};\r\nvar polar = {};\r\nvar baseBarSeriesMethods = {\r\n _createLegendState: function(styleOptions, defaultColor) {\r\n return {\r\n fill: styleOptions.color || defaultColor,\r\n hatching: styleOptions.hatching\r\n }\r\n },\r\n _parsePointStyle: function(style, defaultColor, defaultBorderColor) {\r\n var color = style.color || defaultColor;\r\n var base = chartSeries._parsePointStyle.call(this, style, color, defaultBorderColor);\r\n base.fill = color;\r\n base.hatching = style.hatching;\r\n base.dashStyle = style.border && style.border.dashStyle || \"solid\";\r\n delete base.r;\r\n return base\r\n },\r\n _applyMarkerClipRect: function(settings) {\r\n settings[\"clip-path\"] = null\r\n },\r\n _setGroupsSettings: function(animationEnabled, firstDrawing) {\r\n var that = this;\r\n var settings = {};\r\n chartSeries._setGroupsSettings.apply(that, arguments);\r\n if (animationEnabled && firstDrawing) {\r\n settings = this._getAffineCoordOptions()\r\n } else if (!animationEnabled) {\r\n settings = {\r\n scaleX: 1,\r\n scaleY: 1,\r\n translateX: 0,\r\n translateY: 0\r\n }\r\n }\r\n that._markersGroup.attr(settings)\r\n },\r\n _drawPoint: function(options) {\r\n options.hasAnimation = options.hasAnimation && !options.firstDrawing;\r\n options.firstDrawing = false;\r\n chartSeries._drawPoint.call(this, options)\r\n },\r\n _getMainColor: function() {\r\n return this._options.mainSeriesColor\r\n },\r\n _createPointStyles: function(pointOptions) {\r\n var mainColor = pointOptions.color || this._getMainColor();\r\n return {\r\n normal: this._parsePointStyle(pointOptions, mainColor, mainColor),\r\n hover: this._parsePointStyle(pointOptions.hoverStyle || {}, mainColor, mainColor),\r\n selection: this._parsePointStyle(pointOptions.selectionStyle || {}, mainColor, mainColor)\r\n }\r\n },\r\n _updatePointsVisibility: function() {\r\n var visibility = this._options.visible;\r\n each(this._points, (function(_, point) {\r\n point._options.visible = visibility\r\n }))\r\n },\r\n _getOptionsForPoint: function() {\r\n return this._options\r\n },\r\n _animate: function(firstDrawing) {\r\n var that = this;\r\n that._animatePoints(firstDrawing, (function() {\r\n that._animateComplete()\r\n }), (function(drawnPoints, complete) {\r\n var lastPointIndex = drawnPoints.length - 1;\r\n _each(drawnPoints || [], (function(i, point) {\r\n point.animate(i === lastPointIndex ? complete : void 0, point.getMarkerCoords())\r\n }))\r\n }))\r\n },\r\n getValueRangeInitialValue: areaSeries.getValueRangeInitialValue,\r\n _patchMarginOptions: function(options) {\r\n var _this$getArgumentAxis;\r\n options.checkInterval = !this.useAggregation() || (null === (_this$getArgumentAxis = this.getArgumentAxis()) || void 0 === _this$getArgumentAxis ? void 0 : _this$getArgumentAxis.aggregatedPointBetweenTicks());\r\n return options\r\n },\r\n _defaultAggregator: \"sum\",\r\n _defineDrawingState() {},\r\n usePointsToDefineAutoHiding: () => false\r\n};\r\nchart.bar = _extend({}, chartSeries, baseBarSeriesMethods, {\r\n _getAffineCoordOptions: function() {\r\n var rotated = this._options.rotated;\r\n var direction = rotated ? \"X\" : \"Y\";\r\n var settings = {\r\n scaleX: rotated ? .001 : 1,\r\n scaleY: rotated ? 1 : .001\r\n };\r\n settings[\"translate\" + direction] = this.getValueAxis().getTranslator().translate(\"canvas_position_default\");\r\n return settings\r\n },\r\n _animatePoints: function(firstDrawing, complete, animateFunc) {\r\n this._markersGroup.animate({\r\n scaleX: 1,\r\n scaleY: 1,\r\n translateY: 0,\r\n translateX: 0\r\n }, void 0, complete);\r\n if (!firstDrawing) {\r\n animateFunc(this._drawnPoints, complete)\r\n }\r\n },\r\n checkSeriesViewportCoord(axis, coord) {\r\n if (!chartSeries.checkSeriesViewportCoord.call(this)) {\r\n return false\r\n }\r\n if (axis.isArgumentAxis) {\r\n return true\r\n }\r\n var translator = axis.getTranslator();\r\n var range = this.getViewport();\r\n var min = translator.translate(range.categories ? range.categories[0] : range.min);\r\n var max = translator.translate(range.categories ? range.categories[range.categories.length - 1] : range.max);\r\n var rotated = this.getOptions().rotated;\r\n var inverted = axis.getOptions().inverted;\r\n return rotated && !inverted || !rotated && inverted ? coord >= min && coord <= max : coord >= max && coord <= min\r\n },\r\n getSeriesPairCoord(coord, isArgument) {\r\n var oppositeCoord = null;\r\n var {\r\n rotated: rotated\r\n } = this._options;\r\n var isOpposite = !isArgument && !rotated || isArgument && rotated;\r\n var coordName = isOpposite ? \"vy\" : \"vx\";\r\n var oppositeCoordName = isOpposite ? \"vx\" : \"vy\";\r\n var points = this.getPoints();\r\n for (var i = 0; i < points.length; i++) {\r\n var p = points[i];\r\n var tmpCoord = void 0;\r\n if (isArgument) {\r\n tmpCoord = p.getCenterCoord()[coordName[1]] === coord ? p[oppositeCoordName] : void 0\r\n } else {\r\n tmpCoord = p[coordName] === coord ? p[oppositeCoordName] : void 0\r\n }\r\n if (this._checkAxisVisibleAreaCoord(!isArgument, tmpCoord)) {\r\n oppositeCoord = tmpCoord;\r\n break\r\n }\r\n }\r\n return oppositeCoord\r\n }\r\n});\r\npolar.bar = _extend({}, polarSeries, baseBarSeriesMethods, {\r\n _animatePoints: function(firstDrawing, complete, animateFunc) {\r\n animateFunc(this._drawnPoints, complete)\r\n },\r\n _setGroupsSettings: chartSeries._setGroupsSettings,\r\n _drawPoint: function(point, groups, animationEnabled) {\r\n chartSeries._drawPoint.call(this, point, groups, animationEnabled)\r\n },\r\n _parsePointStyle: function(style) {\r\n var base = baseBarSeriesMethods._parsePointStyle.apply(this, arguments);\r\n base.opacity = style.opacity;\r\n return base\r\n },\r\n _createGroups: chartSeries._createGroups,\r\n _setMarkerGroupSettings: function() {\r\n var markersSettings = this._createPointStyles(this._getMarkerGroupOptions()).normal;\r\n markersSettings.class = \"dxc-markers\";\r\n this._applyMarkerClipRect(markersSettings);\r\n var groupSettings = _extend({}, markersSettings);\r\n delete groupSettings.opacity;\r\n this._markersGroup.attr(groupSettings)\r\n },\r\n getSeriesPairCoord(params, isArgument) {\r\n var coords = null;\r\n var paramName = isArgument ? \"argument\" : \"radius\";\r\n var points = this.getVisiblePoints();\r\n var argAxis = this.getArgumentAxis();\r\n var startAngle = argAxis.getAngles()[0];\r\n for (var i = 0; i < points.length; i++) {\r\n var p = points[i];\r\n var tmpPoint = _isDefined(p[paramName]) && _isDefined(params[paramName]) && p[paramName].valueOf() === params[paramName].valueOf() ? convertPolarToXY(argAxis.getCenter(), startAngle, -argAxis.getTranslatedAngle(p.angle), p.radius) : void 0;\r\n if (_isDefined(tmpPoint)) {\r\n coords = tmpPoint;\r\n break\r\n }\r\n }\r\n return coords\r\n },\r\n _createLegendState: areaSeries._createLegendState\r\n});\r\nexport {\r\n chart,\r\n polar\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/range_series.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nvar _extend = extend;\r\nimport {\r\n isDefined as _isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n map as _map\r\n} from \"../core/utils\";\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n chart as scatterSeries\r\n} from \"./scatter_series\";\r\nimport {\r\n chart as barChart\r\n} from \"./bar_series\";\r\nimport {\r\n chart as areaChart\r\n} from \"./area_series\";\r\nvar barSeries = barChart.bar;\r\nvar areaSeries = areaChart.area;\r\nvar chart = {};\r\nvar baseRangeSeries = {\r\n areErrorBarsVisible: _noop,\r\n _createErrorBarGroup: _noop,\r\n _checkData: function(data, skippedFields) {\r\n var valueFields = this.getValueFields();\r\n return scatterSeries._checkData.call(this, data, skippedFields, {\r\n minValue: valueFields[0],\r\n value: valueFields[1]\r\n }) && data.minValue === data.minValue\r\n },\r\n getValueRangeInitialValue: scatterSeries.getValueRangeInitialValue,\r\n _getPointDataSelector: function(data) {\r\n var valueFields = this.getValueFields();\r\n var val1Field = valueFields[0];\r\n var val2Field = valueFields[1];\r\n var tagField = this.getTagField();\r\n var argumentField = this.getArgumentField();\r\n return data => ({\r\n tag: data[tagField],\r\n minValue: this._processEmptyValue(data[val1Field]),\r\n value: this._processEmptyValue(data[val2Field]),\r\n argument: data[argumentField],\r\n data: data\r\n })\r\n },\r\n _defaultAggregator: \"range\",\r\n _aggregators: {\r\n range(_ref, series) {\r\n var {\r\n intervalStart: intervalStart,\r\n intervalEnd: intervalEnd,\r\n data: data\r\n } = _ref;\r\n if (!data.length) {\r\n return\r\n }\r\n var valueFields = series.getValueFields();\r\n var val1Field = valueFields[0];\r\n var val2Field = valueFields[1];\r\n var result = data.reduce((result, item) => {\r\n var val1 = item[val1Field];\r\n var val2 = item[val2Field];\r\n if (!_isDefined(val1) || !_isDefined(val2)) {\r\n return result\r\n }\r\n result[val1Field] = Math.min(result[val1Field], Math.min(val1, val2));\r\n result[val2Field] = Math.max(result[val2Field], Math.max(val1, val2));\r\n return result\r\n }, {\r\n [val1Field]: 1 / 0,\r\n [val2Field]: -1 / 0,\r\n [series.getArgumentField()]: series._getIntervalCenter(intervalStart, intervalEnd)\r\n });\r\n if (!isFinite(result[val1Field]) || !isFinite(result[val2Field])) {\r\n if (data.filter(i => null === i[val1Field] && null === i[val2Field]).length === data.length) {\r\n result[val1Field] = result[val2Field] = null\r\n } else {\r\n return\r\n }\r\n }\r\n return result\r\n }\r\n },\r\n getValueFields: function() {\r\n return [this._options.rangeValue1Field || \"val1\", this._options.rangeValue2Field || \"val2\"]\r\n },\r\n getSeriesPairCoord(coord, isArgument) {\r\n var oppositeCoord = null;\r\n var {\r\n rotated: rotated\r\n } = this._options;\r\n var isOpposite = !isArgument && !rotated || isArgument && rotated;\r\n var coordName = isOpposite ? \"vy\" : \"vx\";\r\n var minCoordName = rotated ? \"minX\" : \"minY\";\r\n var oppositeCoordName = isOpposite ? \"vx\" : \"vy\";\r\n var points = this.getPoints();\r\n for (var i = 0; i < points.length; i++) {\r\n var p = points[i];\r\n var tmpCoord = void 0;\r\n if (isArgument) {\r\n tmpCoord = p.getCenterCoord()[coordName[1]] === coord ? p[oppositeCoordName] : void 0\r\n } else {\r\n var coords = [Math.min(p[coordName], p[minCoordName]), Math.max(p[coordName], p[minCoordName])];\r\n tmpCoord = coord >= coords[0] && coord <= coords[1] ? p[oppositeCoordName] : void 0\r\n }\r\n if (this._checkAxisVisibleAreaCoord(!isArgument, tmpCoord)) {\r\n oppositeCoord = tmpCoord;\r\n break\r\n }\r\n }\r\n return oppositeCoord\r\n }\r\n};\r\nchart.rangebar = _extend({}, barSeries, baseRangeSeries);\r\nchart.rangearea = _extend({}, areaSeries, {\r\n _drawPoint: function(options) {\r\n var point = options.point;\r\n if (point.isInVisibleArea()) {\r\n point.clearVisibility();\r\n point.draw(this._renderer, options.groups);\r\n this._drawnPoints.push(point);\r\n if (!point.visibleTopMarker) {\r\n point.hideMarker(\"top\")\r\n }\r\n if (!point.visibleBottomMarker) {\r\n point.hideMarker(\"bottom\")\r\n }\r\n } else {\r\n point.setInvisibility()\r\n }\r\n },\r\n _prepareSegment: function(points, rotated) {\r\n var processedPoints = this._processSinglePointsAreaSegment(points, rotated);\r\n var processedMinPointsCoords = _map(processedPoints, (function(pt) {\r\n return pt.getCoords(true)\r\n }));\r\n return {\r\n line: processedPoints,\r\n bottomLine: processedMinPointsCoords,\r\n area: _map(processedPoints, (function(pt) {\r\n return pt.getCoords()\r\n })).concat(processedMinPointsCoords.slice().reverse()),\r\n singlePointSegment: processedPoints !== points\r\n }\r\n },\r\n _getDefaultSegment: function(segment) {\r\n var defaultSegment = areaSeries._getDefaultSegment.call(this, segment);\r\n defaultSegment.bottomLine = defaultSegment.line;\r\n return defaultSegment\r\n },\r\n _removeElement: function(element) {\r\n areaSeries._removeElement.call(this, element);\r\n element.bottomLine && element.bottomLine.remove()\r\n },\r\n _drawElement: function(segment, group) {\r\n var drawnElement = areaSeries._drawElement.call(this, segment, group);\r\n drawnElement.bottomLine = this._bordersGroup && this._createBorderElement(segment.bottomLine, {\r\n \"stroke-width\": this._styles.normal.border[\"stroke-width\"]\r\n }).append(this._bordersGroup);\r\n return drawnElement\r\n },\r\n _applyStyle: function(style) {\r\n var elementsGroup = this._elementsGroup;\r\n var bordersGroup = this._bordersGroup;\r\n elementsGroup && elementsGroup.smartAttr(style.elements);\r\n bordersGroup && bordersGroup.attr(style.border);\r\n (this._graphics || []).forEach((function(graphic) {\r\n graphic.line && graphic.line.attr({\r\n \"stroke-width\": style.border[\"stroke-width\"]\r\n });\r\n graphic.bottomLine && graphic.bottomLine.attr({\r\n \"stroke-width\": style.border[\"stroke-width\"]\r\n })\r\n }))\r\n },\r\n _updateElement: function(element, segment, animate, complete) {\r\n var bottomLineParams = {\r\n points: segment.bottomLine\r\n };\r\n var bottomBorderElement = element.bottomLine;\r\n areaSeries._updateElement.apply(this, arguments);\r\n if (bottomBorderElement) {\r\n animate ? bottomBorderElement.animate(bottomLineParams) : bottomBorderElement.attr(bottomLineParams)\r\n }\r\n }\r\n}, baseRangeSeries);\r\nexport {\r\n chart\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/bubble_series.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n chart as lineChart\r\n} from \"./line_series\";\r\nimport {\r\n chart as scatterSeries\r\n} from \"./scatter_series\";\r\nimport {\r\n chart as areaChart\r\n} from \"./area_series\";\r\nimport {\r\n chart as barChart,\r\n polar as barPolar\r\n} from \"./bar_series\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar lineSeries = lineChart.line;\r\nvar areaSeries = areaChart.area;\r\nvar chartBarSeries = barChart.bar;\r\nvar polarBarSeries = barPolar.bar;\r\nvar _extend = extend;\r\nvar _each = each;\r\nvar _noop = noop;\r\nvar chart = {};\r\nchart.bubble = _extend({}, scatterSeries, {\r\n _calculateErrorBars: _noop,\r\n _getMainColor: chartBarSeries._getMainColor,\r\n _createPointStyles: chartBarSeries._createPointStyles,\r\n _updatePointsVisibility: chartBarSeries._updatePointsVisibility,\r\n _getOptionsForPoint: chartBarSeries._getOptionsForPoint,\r\n _applyMarkerClipRect: lineSeries._applyElementsClipRect,\r\n _parsePointStyle: polarBarSeries._parsePointStyle,\r\n _createLegendState: areaSeries._createLegendState,\r\n _setMarkerGroupSettings: polarBarSeries._setMarkerGroupSettings,\r\n areErrorBarsVisible: _noop,\r\n _createErrorBarGroup: _noop,\r\n _checkData: function(data, skippedFields) {\r\n return scatterSeries._checkData.call(this, data, skippedFields, {\r\n value: this.getValueFields()[0],\r\n size: this.getSizeField()\r\n })\r\n },\r\n _getPointDataSelector: function(data, options) {\r\n var sizeField = this.getSizeField();\r\n var baseGetter = scatterSeries._getPointDataSelector.call(this);\r\n return data => {\r\n var pointData = baseGetter(data);\r\n pointData.size = data[sizeField];\r\n return pointData\r\n }\r\n },\r\n _aggregators: {\r\n avg(_ref, series) {\r\n var {\r\n data: data,\r\n intervalStart: intervalStart,\r\n intervalEnd: intervalEnd\r\n } = _ref;\r\n if (!data.length) {\r\n return\r\n }\r\n var valueField = series.getValueFields()[0];\r\n var sizeField = series.getSizeField();\r\n var aggregate = data.reduce((result, item) => {\r\n result[0] += item[valueField];\r\n result[1] += item[sizeField];\r\n result[2]++;\r\n return result\r\n }, [0, 0, 0]);\r\n return {\r\n [valueField]: aggregate[0] / aggregate[2],\r\n [sizeField]: aggregate[1] / aggregate[2],\r\n [series.getArgumentField()]: series._getIntervalCenter(intervalStart, intervalEnd)\r\n }\r\n }\r\n },\r\n getValueFields: function() {\r\n return [this._options.valueField || \"val\"]\r\n },\r\n getSizeField: function() {\r\n return this._options.sizeField || \"size\"\r\n },\r\n _animate: function() {\r\n var that = this;\r\n var lastPointIndex = that._drawnPoints.length - 1;\r\n var labelsGroup = that._labelsGroup;\r\n var labelAnimFunc = function() {\r\n labelsGroup && labelsGroup.animate({\r\n opacity: 1\r\n }, {\r\n duration: that._defaultDuration\r\n })\r\n };\r\n _each(that._drawnPoints || [], (function(i, p) {\r\n p.animate(i === lastPointIndex ? labelAnimFunc : void 0, {\r\n r: p.bubbleSize,\r\n translateX: p.x,\r\n translateY: p.y\r\n })\r\n }))\r\n },\r\n _patchMarginOptions: function(options) {\r\n options.processBubbleSize = true;\r\n return options\r\n }\r\n});\r\nexport {\r\n chart\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/pie_series.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n chart\r\n} from \"./scatter_series\";\r\nimport {\r\n normalizeAngle,\r\n map\r\n} from \"../core/utils\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n chart as barChart\r\n} from \"./bar_series\";\r\nvar chartScatterSeries = chart;\r\nvar barSeries = barChart.bar;\r\nvar _extend = extend;\r\nvar _each = each;\r\nvar _noop = noop;\r\nvar _map = map;\r\nvar _isFinite = isFinite;\r\nvar _max = Math.max;\r\nvar ANIMATION_DURATION = .7;\r\nvar INSIDE = \"inside\";\r\nexport var pie = _extend({}, barSeries, {\r\n _setGroupsSettings: function() {\r\n chartScatterSeries._setGroupsSettings.apply(this, arguments);\r\n this._labelsGroup.attr({\r\n \"pointer-events\": null\r\n })\r\n },\r\n _createErrorBarGroup: _noop,\r\n _drawPoint: function(options) {\r\n var point = options.point;\r\n var legendCallback = this._legendCallback;\r\n chartScatterSeries._drawPoint.call(this, options);\r\n !point.isVisible() && point.setInvisibility();\r\n point.isSelected() && legendCallback()\r\n },\r\n _getOldPoint: function(data, oldPointsByArgument, index) {\r\n var point = (this._points || [])[index];\r\n if (point) {\r\n oldPointsByArgument[point.argument.valueOf()] = oldPointsByArgument[point.argument.valueOf()].filter(p => p !== point)\r\n }\r\n return point\r\n },\r\n adjustLabels: function(moveLabelsFromCenter) {\r\n return (this._points || []).reduce((r, p) => {\r\n if (p._label.isVisible()) {\r\n p.setLabelTrackerData();\r\n r = p.applyWordWrap(moveLabelsFromCenter) || r;\r\n p.updateLabelCoord(moveLabelsFromCenter);\r\n return r\r\n }\r\n }, false)\r\n },\r\n _applyElementsClipRect: _noop,\r\n getColor: _noop,\r\n areErrorBarsVisible: _noop,\r\n drawLabelsWOPoints: function() {\r\n if (this._options.label.position === INSIDE) {\r\n return false\r\n }\r\n this._labelsGroup.append(this._extGroups.labelsGroup);\r\n (this._points || []).forEach((function(point) {\r\n point.drawLabel()\r\n }));\r\n return true\r\n },\r\n getPointsCount: function() {\r\n return this._data.filter(d => this._checkData(d)).length\r\n },\r\n setMaxPointsCount: function(count) {\r\n this._pointsCount = count\r\n },\r\n _getCreatingPointOptions: function(data, dataIndex) {\r\n return this._getPointOptions(data, dataIndex)\r\n },\r\n _updateOptions: function(options) {\r\n this.labelSpace = 0;\r\n this.innerRadius = \"pie\" === this.type ? 0 : options.innerRadius\r\n },\r\n _checkData: function(data, skippedFields) {\r\n var base = barSeries._checkData.call(this, data, skippedFields, {\r\n value: this.getValueFields()[0]\r\n });\r\n return this._options.paintNullPoints ? base : base && null !== data.value\r\n },\r\n _createGroups: chartScatterSeries._createGroups,\r\n _setMarkerGroupSettings: function() {\r\n this._markersGroup.attr({\r\n class: \"dxc-markers\"\r\n })\r\n },\r\n _getMainColor(data, point) {\r\n var pointsByArg = this.getPointsByArg(data.argument);\r\n var argumentIndex = point ? pointsByArg.indexOf(point) : pointsByArg.length;\r\n return this._options.mainSeriesColor(data.argument, argumentIndex, this._pointsCount)\r\n },\r\n _getPointOptions: function(data) {\r\n return this._parsePointOptions(this._preparePointOptions(), this._options.label, data)\r\n },\r\n _getRangeData: function() {\r\n return this._rangeData\r\n },\r\n _createPointStyles: function(pointOptions, data, point) {\r\n var mainColor = pointOptions.color || this._getMainColor(data, point);\r\n return {\r\n normal: this._parsePointStyle(pointOptions, mainColor, mainColor),\r\n hover: this._parsePointStyle(pointOptions.hoverStyle, mainColor, mainColor),\r\n selection: this._parsePointStyle(pointOptions.selectionStyle, mainColor, mainColor),\r\n legendStyles: {\r\n normal: this._createLegendState(pointOptions, mainColor),\r\n hover: this._createLegendState(pointOptions.hoverStyle, mainColor),\r\n selection: this._createLegendState(pointOptions.selectionStyle, mainColor)\r\n }\r\n }\r\n },\r\n _getArrangeMinShownValue: function(points, total) {\r\n var minSegmentSize = this._options.minSegmentSize;\r\n var totalMinSegmentSize = 0;\r\n var totalNotMinValues = 0;\r\n total = total || points.length;\r\n _each(points, (function(_, point) {\r\n if (point.isVisible()) {\r\n if (point.normalInitialValue < minSegmentSize * total / 360) {\r\n totalMinSegmentSize += minSegmentSize\r\n } else {\r\n totalNotMinValues += point.normalInitialValue\r\n }\r\n }\r\n }));\r\n return totalMinSegmentSize < 360 ? minSegmentSize * totalNotMinValues / (360 - totalMinSegmentSize) : 0\r\n },\r\n _applyArrangeCorrection: function(points, minShownValue, total) {\r\n var options = this._options;\r\n var isClockWise = \"anticlockwise\" !== options.segmentsDirection;\r\n var shiftedAngle = _isFinite(options.startAngle) ? normalizeAngle(options.startAngle) : 0;\r\n var minSegmentSize = options.minSegmentSize;\r\n var percent;\r\n var correction = 0;\r\n var zeroTotalCorrection = 0;\r\n if (0 === total) {\r\n total = points.filter((function(el) {\r\n return el.isVisible()\r\n })).length;\r\n zeroTotalCorrection = 1\r\n }\r\n _each(isClockWise ? points : points.concat([]).reverse(), (function(_, point) {\r\n var val = point.isVisible() ? zeroTotalCorrection || point.normalInitialValue : 0;\r\n var updatedZeroValue;\r\n if (minSegmentSize && point.isVisible() && val < minShownValue) {\r\n updatedZeroValue = minShownValue\r\n }\r\n percent = val / total;\r\n point.correctValue(correction, percent, zeroTotalCorrection + (updatedZeroValue || 0));\r\n point.shiftedAngle = shiftedAngle;\r\n correction += updatedZeroValue || val\r\n }));\r\n this._rangeData = {\r\n val: {\r\n min: 0,\r\n max: correction\r\n }\r\n }\r\n },\r\n _removePoint: function(point) {\r\n var points = this.getPointsByArg(point.argument);\r\n points.splice(points.indexOf(point), 1);\r\n point.dispose()\r\n },\r\n arrangePoints: function() {\r\n var that = this;\r\n var originalPoints = that._points || [];\r\n var minSegmentSize = that._options.minSegmentSize;\r\n var minShownValue;\r\n var isAllPointsNegative = true;\r\n var i = 0;\r\n var len = originalPoints.length;\r\n while (i < len && isAllPointsNegative) {\r\n isAllPointsNegative = originalPoints[i].value <= 0;\r\n i++\r\n }\r\n var points = that._points = _map(originalPoints, (function(point) {\r\n if (null === point.value || !isAllPointsNegative && point.value < 0) {\r\n that._removePoint(point);\r\n return null\r\n } else {\r\n return point\r\n }\r\n }));\r\n var maxValue = points.reduce((function(max, p) {\r\n return _max(max, Math.abs(p.initialValue))\r\n }), 0);\r\n points.forEach((function(p) {\r\n p.normalInitialValue = p.initialValue / (0 !== maxValue ? maxValue : 1)\r\n }));\r\n var total = points.reduce((function(total, point) {\r\n return total + (point.isVisible() ? point.normalInitialValue : 0)\r\n }), 0);\r\n if (minSegmentSize) {\r\n minShownValue = this._getArrangeMinShownValue(points, total)\r\n }\r\n that._applyArrangeCorrection(points, minShownValue, total)\r\n },\r\n correctPosition: function(correction, canvas) {\r\n _each(this._points, (function(_, point) {\r\n point.correctPosition(correction)\r\n }));\r\n this.setVisibleArea(canvas)\r\n },\r\n correctRadius: function(correction) {\r\n this._points.forEach((function(point) {\r\n point.correctRadius(correction)\r\n }))\r\n },\r\n correctLabelRadius: function(labelRadius) {\r\n this._points.forEach((function(point) {\r\n point.correctLabelRadius(labelRadius)\r\n }))\r\n },\r\n setVisibleArea: function(canvas) {\r\n this._visibleArea = {\r\n minX: canvas.left,\r\n maxX: canvas.width - canvas.right,\r\n minY: canvas.top,\r\n maxY: canvas.height - canvas.bottom\r\n }\r\n },\r\n _applyVisibleArea: _noop,\r\n _animate: function(firstDrawing) {\r\n var that = this;\r\n var points = that._points;\r\n var pointsCount = points && points.length;\r\n var completeFunc = function() {\r\n that._animateComplete()\r\n };\r\n var animatePoint;\r\n if (firstDrawing) {\r\n animatePoint = function(p, i) {\r\n p.animate(i === pointsCount - 1 ? completeFunc : void 0, ANIMATION_DURATION, (1 - ANIMATION_DURATION) * i / (pointsCount - 1))\r\n }\r\n } else {\r\n animatePoint = function(p, i) {\r\n p.animate(i === pointsCount - 1 ? completeFunc : void 0)\r\n }\r\n }\r\n points.forEach(animatePoint)\r\n },\r\n getVisiblePoints: function() {\r\n return _map(this._points, (function(p) {\r\n return p.isVisible() ? p : null\r\n }))\r\n },\r\n getPointsByKeys: function(arg, argumentIndex) {\r\n var pointsByArg = this.getPointsByArg(arg);\r\n return pointsByArg[argumentIndex] && [pointsByArg[argumentIndex]] || []\r\n }\r\n});\r\nexport var doughnut = pie;\r\nexport var donut = pie;\r\n","/**\r\n * DevExtreme (esm/viz/series/financial_series.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n chart as scatterSeries\r\n} from \"./scatter_series\";\r\nimport {\r\n chart as barChart\r\n} from \"./bar_series\";\r\nimport {\r\n extend as _extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isDefined as _isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n normalizeEnum as _normalizeEnum\r\n} from \"../core/utils\";\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nvar barSeries = barChart.bar;\r\nvar DEFAULT_FINANCIAL_POINT_SIZE = 10;\r\nexport var stock = _extend({}, scatterSeries, {\r\n _animate: _noop,\r\n _applyMarkerClipRect: function(settings) {\r\n settings[\"clip-path\"] = this._forceClipping ? this._paneClipRectID : this._widePaneClipRectID\r\n },\r\n _updatePointsVisibility: barSeries._updatePointsVisibility,\r\n _getOptionsForPoint: barSeries._getOptionsForPoint,\r\n _createErrorBarGroup: _noop,\r\n areErrorBarsVisible: _noop,\r\n _createGroups: scatterSeries._createGroups,\r\n _setMarkerGroupSettings: function() {\r\n var markersGroup = this._markersGroup;\r\n var styles = this._createPointStyles(this._getMarkerGroupOptions());\r\n var defaultStyle = _extend(styles.normal, {\r\n class: \"default-markers\"\r\n });\r\n var defaultPositiveStyle = _extend(styles.positive.normal, {\r\n class: \"default-positive-markers\"\r\n });\r\n var reductionStyle = _extend(styles.reduction.normal, {\r\n class: \"reduction-markers\"\r\n });\r\n var reductionPositiveStyle = _extend(styles.reductionPositive.normal, {\r\n class: \"reduction-positive-markers\"\r\n });\r\n var markerSettings = {\r\n class: \"dxc-markers\"\r\n };\r\n this._applyMarkerClipRect(markerSettings);\r\n markersGroup.attr(markerSettings);\r\n this._createGroup(\"defaultMarkersGroup\", markersGroup, markersGroup, defaultStyle);\r\n this._createGroup(\"reductionMarkersGroup\", markersGroup, markersGroup, reductionStyle);\r\n this._createGroup(\"defaultPositiveMarkersGroup\", markersGroup, markersGroup, defaultPositiveStyle);\r\n this._createGroup(\"reductionPositiveMarkersGroup\", markersGroup, markersGroup, reductionPositiveStyle)\r\n },\r\n _setGroupsSettings: function() {\r\n scatterSeries._setGroupsSettings.call(this, false)\r\n },\r\n _getCreatingPointOptions: function() {\r\n var defaultPointOptions;\r\n var creatingPointOptions = this._predefinedPointOptions;\r\n if (!creatingPointOptions) {\r\n defaultPointOptions = this._getPointOptions();\r\n this._predefinedPointOptions = creatingPointOptions = _extend(true, {\r\n styles: {}\r\n }, defaultPointOptions);\r\n creatingPointOptions.styles.normal = creatingPointOptions.styles.positive.normal = creatingPointOptions.styles.reduction.normal = creatingPointOptions.styles.reductionPositive.normal = {\r\n \"stroke-width\": defaultPointOptions.styles && defaultPointOptions.styles.normal && defaultPointOptions.styles.normal[\"stroke-width\"]\r\n }\r\n }\r\n return creatingPointOptions\r\n },\r\n _checkData: function(data, skippedFields) {\r\n var valueFields = this.getValueFields();\r\n return scatterSeries._checkData.call(this, data, skippedFields, {\r\n openValue: valueFields[0],\r\n highValue: valueFields[1],\r\n lowValue: valueFields[2],\r\n closeValue: valueFields[3]\r\n }) && data.highValue === data.highValue && data.lowValue === data.lowValue\r\n },\r\n _getPointDataSelector: function(data, options) {\r\n var that = this;\r\n var level;\r\n var valueFields = that.getValueFields();\r\n var argumentField = that.getArgumentField();\r\n var openValueField = valueFields[0];\r\n var highValueField = valueFields[1];\r\n var lowValueField = valueFields[2];\r\n var closeValueField = valueFields[3];\r\n that.level = that._options.reduction.level;\r\n switch (_normalizeEnum(that.level)) {\r\n case \"open\":\r\n level = openValueField;\r\n break;\r\n case \"high\":\r\n level = highValueField;\r\n break;\r\n case \"low\":\r\n level = lowValueField;\r\n break;\r\n default:\r\n level = closeValueField;\r\n that.level = \"close\"\r\n }\r\n var prevLevelValue;\r\n return data => {\r\n var reductionValue = data[level];\r\n var isReduction = false;\r\n if (_isDefined(reductionValue)) {\r\n if (_isDefined(prevLevelValue)) {\r\n isReduction = reductionValue < prevLevelValue\r\n }\r\n prevLevelValue = reductionValue\r\n }\r\n return {\r\n argument: data[argumentField],\r\n highValue: this._processEmptyValue(data[highValueField]),\r\n lowValue: this._processEmptyValue(data[lowValueField]),\r\n closeValue: this._processEmptyValue(data[closeValueField]),\r\n openValue: this._processEmptyValue(data[openValueField]),\r\n reductionValue: reductionValue,\r\n tag: data[that.getTagField()],\r\n isReduction: isReduction,\r\n data: data\r\n }\r\n }\r\n },\r\n _parsePointStyle: function(style, defaultColor, innerColor) {\r\n return {\r\n stroke: style.color || defaultColor,\r\n \"stroke-width\": style.width,\r\n fill: style.color || innerColor\r\n }\r\n },\r\n _getDefaultStyle: function(options) {\r\n var mainPointColor = options.color || this._options.mainSeriesColor;\r\n return {\r\n normal: this._parsePointStyle(options, mainPointColor, mainPointColor),\r\n hover: this._parsePointStyle(options.hoverStyle, mainPointColor, mainPointColor),\r\n selection: this._parsePointStyle(options.selectionStyle, mainPointColor, mainPointColor)\r\n }\r\n },\r\n _getReductionStyle: function(options) {\r\n var reductionColor = options.reduction.color;\r\n return {\r\n normal: this._parsePointStyle({\r\n color: reductionColor,\r\n width: options.width,\r\n hatching: options.hatching\r\n }, reductionColor, reductionColor),\r\n hover: this._parsePointStyle(options.hoverStyle, reductionColor, reductionColor),\r\n selection: this._parsePointStyle(options.selectionStyle, reductionColor, reductionColor)\r\n }\r\n },\r\n _createPointStyles: function(pointOptions) {\r\n var innerColor = this._options.innerColor;\r\n var styles = this._getDefaultStyle(pointOptions);\r\n var positiveStyle = _extend(true, {}, styles);\r\n var reductionStyle = this._getReductionStyle(pointOptions);\r\n var reductionPositiveStyle = _extend(true, {}, reductionStyle);\r\n positiveStyle.normal.fill = positiveStyle.hover.fill = positiveStyle.selection.fill = innerColor;\r\n reductionPositiveStyle.normal.fill = reductionPositiveStyle.hover.fill = reductionPositiveStyle.selection.fill = innerColor;\r\n styles.positive = positiveStyle;\r\n styles.reduction = reductionStyle;\r\n styles.reductionPositive = reductionPositiveStyle;\r\n return styles\r\n },\r\n _endUpdateData: function() {\r\n delete this._predefinedPointOptions\r\n },\r\n _defaultAggregator: \"ohlc\",\r\n _aggregators: {\r\n ohlc: (_ref, series) => {\r\n var {\r\n intervalStart: intervalStart,\r\n intervalEnd: intervalEnd,\r\n data: data\r\n } = _ref;\r\n if (!data.length) {\r\n return\r\n }\r\n var result = {};\r\n var valueFields = series.getValueFields();\r\n var highValueField = valueFields[1];\r\n var lowValueField = valueFields[2];\r\n result[highValueField] = -1 / 0;\r\n result[lowValueField] = 1 / 0;\r\n result = data.reduce((function(result, item) {\r\n if (null !== item[highValueField]) {\r\n result[highValueField] = Math.max(result[highValueField], item[highValueField])\r\n }\r\n if (null !== item[lowValueField]) {\r\n result[lowValueField] = Math.min(result[lowValueField], item[lowValueField])\r\n }\r\n return result\r\n }), result);\r\n result[valueFields[0]] = data[0][valueFields[0]];\r\n result[valueFields[3]] = data[data.length - 1][valueFields[3]];\r\n if (!isFinite(result[highValueField])) {\r\n result[highValueField] = null\r\n }\r\n if (!isFinite(result[lowValueField])) {\r\n result[lowValueField] = null\r\n }\r\n result[series.getArgumentField()] = series._getIntervalCenter(intervalStart, intervalEnd);\r\n return result\r\n }\r\n },\r\n getValueFields: function() {\r\n var options = this._options;\r\n return [options.openValueField || \"open\", options.highValueField || \"high\", options.lowValueField || \"low\", options.closeValueField || \"close\"]\r\n },\r\n getArgumentField: function() {\r\n return this._options.argumentField || \"date\"\r\n },\r\n _patchMarginOptions: function(options) {\r\n var pointOptions = this._getCreatingPointOptions();\r\n var styles = pointOptions.styles;\r\n var border = [styles.normal, styles.hover, styles.selection].reduce((function(max, style) {\r\n return Math.max(max, style[\"stroke-width\"])\r\n }), 0);\r\n options.size = DEFAULT_FINANCIAL_POINT_SIZE + border;\r\n options.sizePointNormalState = DEFAULT_FINANCIAL_POINT_SIZE;\r\n return options\r\n },\r\n getSeriesPairCoord(coord, isArgument) {\r\n var oppositeCoord = null;\r\n var points = this.getVisiblePoints();\r\n for (var i = 0; i < points.length; i++) {\r\n var p = points[i];\r\n var tmpCoord = void 0;\r\n if (isArgument) {\r\n tmpCoord = p.vx === coord ? (p.openY + p.closeY) / 2 : void 0\r\n } else {\r\n var coords = [Math.min(p.lowY, p.highY), Math.max(p.lowY, p.highY)];\r\n tmpCoord = coord >= coords[0] && coord <= coords[1] ? p.vx : void 0\r\n }\r\n if (this._checkAxisVisibleAreaCoord(!isArgument, tmpCoord)) {\r\n oppositeCoord = tmpCoord;\r\n break\r\n }\r\n }\r\n return oppositeCoord\r\n },\r\n usePointsToDefineAutoHiding: () => false\r\n});\r\nexport var candlestick = _extend({}, stock, {\r\n _parsePointStyle: function(style, defaultColor, innerColor) {\r\n var color = style.color || innerColor;\r\n var base = stock._parsePointStyle.call(this, style, defaultColor, color);\r\n base.fill = color;\r\n base.hatching = style.hatching;\r\n return base\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/series/stacked_series.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n extend as _extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n chart as areaSeries\r\n} from \"./area_series\";\r\nvar chartAreaSeries = areaSeries.area;\r\nimport {\r\n chart as _chart,\r\n polar as _polar\r\n} from \"./bar_series\";\r\nvar chartBarSeries = _chart.bar;\r\nimport {\r\n chart as lineSeries\r\n} from \"./line_series\";\r\nimport {\r\n map\r\n} from \"../core/utils\";\r\nimport {\r\n clone\r\n} from \"../../core/utils/object\";\r\nvar baseStackedSeries = {\r\n _calculateErrorBars: _noop,\r\n _updateOptions: function(options) {\r\n this._stackName = \"axis_\" + (options.axis || \"default\")\r\n }\r\n};\r\nvar chart = {};\r\nvar polar = {};\r\nchart.stackedline = _extend({}, lineSeries.line, baseStackedSeries, {});\r\nchart.stackedspline = _extend({}, lineSeries.spline, baseStackedSeries, {});\r\nchart.fullstackedline = _extend({}, lineSeries.line, baseStackedSeries, {\r\n getValueRangeInitialValue: areaSeries.area.getValueRangeInitialValue\r\n});\r\nchart.fullstackedspline = _extend({}, lineSeries.spline, baseStackedSeries, {\r\n getValueRangeInitialValue: areaSeries.area.getValueRangeInitialValue\r\n});\r\nvar stackedBar = chart.stackedbar = _extend({}, chartBarSeries, baseStackedSeries, {\r\n _updateOptions: function(options) {\r\n baseStackedSeries._updateOptions.call(this, options);\r\n this._stackName = this._stackName + \"_stack_\" + (options.stack || \"default\")\r\n }\r\n});\r\nchart.fullstackedbar = _extend({}, chartBarSeries, baseStackedSeries, {\r\n _updateOptions: stackedBar._updateOptions\r\n});\r\n\r\nfunction clonePoint(point, value, minValue, position) {\r\n point = clone(point);\r\n point.value = value;\r\n point.minValue = minValue;\r\n point.translate();\r\n point.argument = point.argument + position;\r\n return point\r\n}\r\n\r\nfunction preparePointsForStackedAreaSegment(points) {\r\n var i = 0;\r\n var p;\r\n var result = [];\r\n var array;\r\n var len = points.length;\r\n while (i < len) {\r\n p = points[i];\r\n array = [p];\r\n if (p.leftHole) {\r\n array = [clonePoint(p, p.leftHole, p.minLeftHole, \"left\"), p]\r\n }\r\n if (p.rightHole) {\r\n array.push(clonePoint(p, p.rightHole, p.minRightHole, \"right\"))\r\n }\r\n result.push(array);\r\n i++\r\n }\r\n return [].concat.apply([], result)\r\n}\r\nchart.stackedarea = _extend({}, chartAreaSeries, baseStackedSeries, {\r\n _prepareSegment: function(points, rotated) {\r\n return chartAreaSeries._prepareSegment.call(this, preparePointsForStackedAreaSegment(points), rotated)\r\n },\r\n _appendInGroup: function() {\r\n this._group.append(this._extGroups.seriesGroup).toBackground()\r\n }\r\n});\r\n\r\nfunction getPointsByArgFromPrevSeries(prevSeries, argument) {\r\n var result;\r\n while (!result && prevSeries) {\r\n result = prevSeries._segmentByArg && prevSeries._segmentByArg[argument];\r\n prevSeries = prevSeries._prevSeries\r\n }\r\n return result\r\n}\r\nchart.stackedsplinearea = _extend({}, areaSeries.splinearea, baseStackedSeries, {\r\n _prepareSegment: function(points, rotated) {\r\n var that = this;\r\n var areaSegment;\r\n points = preparePointsForStackedAreaSegment(points);\r\n if (!this._prevSeries || 1 === points.length) {\r\n areaSegment = areaSeries.splinearea._prepareSegment.call(this, points, rotated)\r\n } else {\r\n var forwardPoints = lineSeries.spline._calculateBezierPoints(points, rotated);\r\n var backwardPoints = map(points, (function(p) {\r\n var point = p.getCoords(true);\r\n point.argument = p.argument;\r\n return point\r\n }));\r\n var prevSeriesForwardPoints = [];\r\n var pointByArg = {};\r\n var i = 0;\r\n var len = that._prevSeries._segments.length;\r\n while (i < len) {\r\n prevSeriesForwardPoints = prevSeriesForwardPoints.concat(that._prevSeries._segments[i].line);\r\n i++\r\n }\r\n each(prevSeriesForwardPoints, (function(_, p) {\r\n if (null !== p.argument) {\r\n var argument = p.argument.valueOf();\r\n if (!pointByArg[argument]) {\r\n pointByArg[argument] = [p]\r\n } else {\r\n pointByArg[argument].push(p)\r\n }\r\n }\r\n }));\r\n that._prevSeries._segmentByArg = pointByArg;\r\n backwardPoints = lineSeries.spline._calculateBezierPoints(backwardPoints, rotated);\r\n each(backwardPoints, (function(i, p) {\r\n var argument = p.argument.valueOf();\r\n var prevSeriesPoints;\r\n if (i % 3 === 0) {\r\n prevSeriesPoints = pointByArg[argument] || getPointsByArgFromPrevSeries(that._prevSeries, argument);\r\n if (prevSeriesPoints) {\r\n backwardPoints[i - 1] && prevSeriesPoints[0] && (backwardPoints[i - 1] = prevSeriesPoints[0]);\r\n backwardPoints[i + 1] && (backwardPoints[i + 1] = prevSeriesPoints[2] || p)\r\n }\r\n }\r\n }));\r\n areaSegment = {\r\n line: forwardPoints,\r\n area: forwardPoints.concat(backwardPoints.reverse())\r\n };\r\n that._areaPointsToSplineAreaPoints(areaSegment.area)\r\n }\r\n return areaSegment\r\n },\r\n _appendInGroup: chart.stackedarea._appendInGroup\r\n});\r\nchart.fullstackedarea = _extend({}, chartAreaSeries, baseStackedSeries, {\r\n _prepareSegment: chart.stackedarea._prepareSegment,\r\n _appendInGroup: chart.stackedarea._appendInGroup\r\n});\r\nchart.fullstackedsplinearea = _extend({}, areaSeries.splinearea, baseStackedSeries, {\r\n _prepareSegment: chart.stackedsplinearea._prepareSegment,\r\n _appendInGroup: chart.stackedarea._appendInGroup\r\n});\r\npolar.stackedbar = _extend({}, _polar.bar, baseStackedSeries, {});\r\nexport {\r\n chart,\r\n polar\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/base_series.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar seriesNS = {};\r\nimport {\r\n isFunction,\r\n isDefined as _isDefined,\r\n isEmptyObject as _isEmptyObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend as _extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each as _each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n Point\r\n} from \"./points/base_point\";\r\nimport {\r\n normalizeEnum as _normalizeEnum\r\n} from \"../core/utils\";\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nimport consts from \"../components/consts\";\r\nvar states = consts.states;\r\nimport rangeCalculator from \"./helpers/range_data_calculator\";\r\nimport * as scatterSeries from \"./scatter_series\";\r\nimport * as lineSeries from \"./line_series\";\r\nimport * as areaSeries from \"./area_series\";\r\nimport * as barSeries from \"./bar_series\";\r\nimport {\r\n chart as rangeSeriesChart\r\n} from \"./range_series\";\r\nimport {\r\n chart as bubbleSeriesChart\r\n} from \"./bubble_series\";\r\nimport * as pieSeries from \"./pie_series\";\r\nimport * as financialSeries from \"./financial_series\";\r\nimport * as stackedSeries from \"./stacked_series\";\r\nvar DISCRETE = \"discrete\";\r\nvar SELECTED_STATE = states.selectedMark;\r\nvar HOVER_STATE = states.hoverMark;\r\nvar HOVER = states.hover;\r\nvar NORMAL = states.normal;\r\nvar SELECTION = states.selection;\r\nvar APPLY_SELECTED = states.applySelected;\r\nvar APPLY_HOVER = states.applyHover;\r\nvar RESET_ITEM = states.resetItem;\r\nvar NONE_MODE = \"none\";\r\nvar INCLUDE_POINTS = \"includepoints\";\r\nvar NEAREST_POINT = \"nearestpoint\";\r\nvar SERIES_SELECTION_CHANGED = \"seriesSelectionChanged\";\r\nvar POINT_SELECTION_CHANGED = \"pointSelectionChanged\";\r\nvar SERIES_HOVER_CHANGED = \"seriesHoverChanged\";\r\nvar POINT_HOVER_CHANGED = \"pointHoverChanged\";\r\nvar ALL_SERIES_POINTS = \"allseriespoints\";\r\nvar ALL_ARGUMENT_POINTS = \"allargumentpoints\";\r\nvar POINT_HOVER = \"pointHover\";\r\nvar CLEAR_POINT_HOVER = \"clearPointHover\";\r\nvar SERIES_SELECT = \"seriesSelect\";\r\nvar POINT_SELECT = \"pointSelect\";\r\nvar POINT_DESELECT = \"pointDeselect\";\r\nvar getEmptyBusinessRange = function() {\r\n return {\r\n arg: {},\r\n val: {}\r\n }\r\n};\r\n\r\nfunction triggerEvent(element, event, point) {\r\n element && element.trigger(event, point)\r\n}\r\nseriesNS.mixins = {\r\n chart: {},\r\n pie: {},\r\n polar: {}\r\n};\r\nseriesNS.mixins.chart.scatter = scatterSeries.chart;\r\nseriesNS.mixins.polar.scatter = scatterSeries.polar;\r\n_extend(seriesNS.mixins.pie, pieSeries);\r\n_extend(seriesNS.mixins.chart, lineSeries.chart, areaSeries.chart, barSeries.chart, rangeSeriesChart, bubbleSeriesChart, financialSeries, stackedSeries.chart);\r\n_extend(seriesNS.mixins.polar, lineSeries.polar, areaSeries.polar, barSeries.polar, stackedSeries.polar);\r\n\r\nfunction includePointsMode(mode) {\r\n mode = _normalizeEnum(mode);\r\n return mode === INCLUDE_POINTS || mode === ALL_SERIES_POINTS\r\n}\r\n\r\nfunction getLabelOptions(labelOptions, defaultColor) {\r\n var opt = labelOptions || {};\r\n var labelFont = _extend({}, opt.font) || {};\r\n var labelBorder = opt.border || {};\r\n var labelConnector = opt.connector || {};\r\n var backgroundAttr = {\r\n fill: opt.backgroundColor || defaultColor,\r\n \"stroke-width\": labelBorder.visible ? labelBorder.width || 0 : 0,\r\n stroke: labelBorder.visible && labelBorder.width ? labelBorder.color : \"none\",\r\n dashStyle: labelBorder.dashStyle\r\n };\r\n var connectorAttr = {\r\n stroke: labelConnector.visible && labelConnector.width ? labelConnector.color || defaultColor : \"none\",\r\n \"stroke-width\": labelConnector.visible ? labelConnector.width || 0 : 0\r\n };\r\n labelFont.color = \"none\" === opt.backgroundColor && \"#ffffff\" === _normalizeEnum(labelFont.color) && \"inside\" !== opt.position ? defaultColor : labelFont.color;\r\n return {\r\n alignment: opt.alignment,\r\n format: opt.format,\r\n argumentFormat: opt.argumentFormat,\r\n customizeText: isFunction(opt.customizeText) ? opt.customizeText : void 0,\r\n attributes: {\r\n font: labelFont\r\n },\r\n visible: 0 !== labelFont.size ? opt.visible : false,\r\n showForZeroValues: opt.showForZeroValues,\r\n horizontalOffset: opt.horizontalOffset,\r\n verticalOffset: opt.verticalOffset,\r\n radialOffset: opt.radialOffset,\r\n background: backgroundAttr,\r\n position: opt.position,\r\n connector: connectorAttr,\r\n rotationAngle: opt.rotationAngle,\r\n wordWrap: opt.wordWrap,\r\n textOverflow: opt.textOverflow,\r\n cssClass: opt.cssClass,\r\n displayFormat: opt.displayFormat\r\n }\r\n}\r\n\r\nfunction setPointHoverState(point, legendCallback) {\r\n point.fullState |= HOVER_STATE;\r\n point.applyView(legendCallback)\r\n}\r\n\r\nfunction releasePointHoverState(point, legendCallback) {\r\n point.fullState &= ~HOVER_STATE;\r\n point.applyView(legendCallback);\r\n point.releaseHoverState()\r\n}\r\n\r\nfunction setPointSelectedState(point, legendCallback) {\r\n point.fullState |= SELECTED_STATE;\r\n point.applyView(legendCallback)\r\n}\r\n\r\nfunction releasePointSelectedState(point, legendCallback) {\r\n point.fullState &= ~SELECTED_STATE;\r\n point.applyView(legendCallback)\r\n}\r\n\r\nfunction mergePointOptionsCore(base, extra) {\r\n var options = _extend({}, base, extra);\r\n options.border = _extend({}, base && base.border, extra && extra.border);\r\n return options\r\n}\r\n\r\nfunction mergePointOptions(base, extra) {\r\n var options = mergePointOptionsCore(base, extra);\r\n options.image = _extend(true, {}, base.image, extra.image);\r\n options.selectionStyle = mergePointOptionsCore(base.selectionStyle, extra.selectionStyle);\r\n options.hoverStyle = mergePointOptionsCore(base.hoverStyle, extra.hoverStyle);\r\n return options\r\n}\r\nexport function Series(settings, options) {\r\n this.fullState = 0;\r\n this._extGroups = settings;\r\n this._renderer = settings.renderer;\r\n this._group = settings.renderer.g().attr({\r\n class: \"dxc-series\"\r\n });\r\n this._eventTrigger = settings.eventTrigger;\r\n this._eventPipe = settings.eventPipe;\r\n this._incidentOccurred = settings.incidentOccurred;\r\n this._legendCallback = _noop;\r\n this.updateOptions(options, settings)\r\n}\r\n\r\nfunction getData(pointData) {\r\n return pointData.data\r\n}\r\n\r\nfunction getValueChecker(axisType, axis) {\r\n if (!axis || \"logarithmic\" !== axisType || false !== axis.getOptions().allowNegatives) {\r\n return () => true\r\n } else {\r\n return value => value > 0\r\n }\r\n}\r\nSeries.prototype = {\r\n constructor: Series,\r\n _createLegendState: _noop,\r\n getLegendStyles: function() {\r\n return this._styles.legendStyles\r\n },\r\n _createStyles: function(options) {\r\n var mainSeriesColor = options.mainSeriesColor;\r\n this._styles = {\r\n normal: this._parseStyle(options, mainSeriesColor, mainSeriesColor),\r\n hover: this._parseStyle(options.hoverStyle || {}, mainSeriesColor, mainSeriesColor),\r\n selection: this._parseStyle(options.selectionStyle || {}, mainSeriesColor, mainSeriesColor),\r\n legendStyles: {\r\n normal: this._createLegendState(options, mainSeriesColor),\r\n hover: this._createLegendState(options.hoverStyle || {}, mainSeriesColor),\r\n selection: this._createLegendState(options.selectionStyle || {}, mainSeriesColor)\r\n }\r\n }\r\n },\r\n setClippingParams(baseId, wideId, forceClipping) {\r\n var clipLabels = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : true;\r\n this._paneClipRectID = baseId;\r\n this._widePaneClipRectID = wideId;\r\n this._forceClipping = forceClipping;\r\n this._clipLabels = clipLabels\r\n },\r\n applyClip: function() {\r\n this._group.attr({\r\n \"clip-path\": this._paneClipRectID\r\n })\r\n },\r\n resetClip: function() {\r\n this._group.attr({\r\n \"clip-path\": null\r\n })\r\n },\r\n getTagField: function() {\r\n return this._options.tagField || \"tag\"\r\n },\r\n getValueFields: _noop,\r\n getSizeField: _noop,\r\n getArgumentField: _noop,\r\n getPoints: function() {\r\n return this._points\r\n },\r\n getPointsInViewPort: function() {\r\n return rangeCalculator.getPointsInViewPort(this)\r\n },\r\n _createPoint: function(data, index, oldPoint) {\r\n data.index = index;\r\n var pointsByArgument = this.pointsByArgument;\r\n var options = this._getCreatingPointOptions(data);\r\n var arg = data.argument.valueOf();\r\n var point = oldPoint;\r\n if (point) {\r\n point.update(data, options)\r\n } else {\r\n point = new Point(this, data, options);\r\n if (this.isSelected() && includePointsMode(this.lastSelectionMode)) {\r\n point.setView(SELECTION)\r\n }\r\n }\r\n var pointByArgument = pointsByArgument[arg];\r\n if (pointByArgument) {\r\n pointByArgument.push(point)\r\n } else {\r\n pointsByArgument[arg] = [point]\r\n }\r\n if (point.hasValue()) {\r\n this.customizePoint(point, data)\r\n }\r\n return point\r\n },\r\n getRangeData: function() {\r\n return this._visible ? this._getRangeData() : getEmptyBusinessRange()\r\n },\r\n getArgumentRange: function() {\r\n return this._visible ? rangeCalculator.getArgumentRange(this) : getEmptyBusinessRange()\r\n },\r\n getViewport: function() {\r\n return rangeCalculator.getViewport(this)\r\n },\r\n _deleteGroup: function(groupName) {\r\n var group = this[groupName];\r\n if (group) {\r\n group.dispose();\r\n this[groupName] = null\r\n }\r\n },\r\n updateOptions(newOptions, settings) {\r\n var widgetType = newOptions.widgetType;\r\n var oldType = this.type;\r\n var newType = newOptions.type;\r\n this.type = newType && _normalizeEnum(newType.toString());\r\n if (!this._checkType(widgetType) || this._checkPolarBarType(widgetType, newOptions)) {\r\n this.dispose();\r\n this.isUpdated = false;\r\n return\r\n }\r\n if (oldType !== this.type) {\r\n this._firstDrawing = true;\r\n this._resetType(oldType, widgetType);\r\n this._setType(this.type, widgetType)\r\n } else {\r\n this._defineDrawingState()\r\n }\r\n this._options = newOptions;\r\n this._pointOptions = null;\r\n this.name = newOptions.name;\r\n this.pane = newOptions.pane;\r\n this.tag = newOptions.tag;\r\n if (settings) {\r\n this._seriesModes = settings.commonSeriesModes || this._seriesModes;\r\n this._valueAxis = settings.valueAxis || this._valueAxis;\r\n this.axis = this._valueAxis && this._valueAxis.name;\r\n this._argumentAxis = settings.argumentAxis || this._argumentAxis\r\n }\r\n this._createStyles(newOptions);\r\n this._stackName = null;\r\n this._updateOptions(newOptions);\r\n this._visible = newOptions.visible;\r\n this.isUpdated = true;\r\n this.stack = newOptions.stack;\r\n this.barOverlapGroup = newOptions.barOverlapGroup;\r\n this._createGroups();\r\n this._processEmptyValue = newOptions.ignoreEmptyPoints ? x => null === x ? void 0 : x : x => x\r\n },\r\n _defineDrawingState() {\r\n this._firstDrawing = true\r\n },\r\n _disposePoints: function(points) {\r\n _each(points || [], (function(_, p) {\r\n p.dispose()\r\n }))\r\n },\r\n updateDataType: function(settings) {\r\n this.argumentType = settings.argumentType;\r\n this.valueType = settings.valueType;\r\n this.argumentAxisType = settings.argumentAxisType;\r\n this.valueAxisType = settings.valueAxisType;\r\n this.showZero = settings.showZero;\r\n this._argumentChecker = getValueChecker(settings.argumentAxisType, this.getArgumentAxis());\r\n this._valueChecker = getValueChecker(settings.valueAxisType, this.getValueAxis());\r\n return this\r\n },\r\n _argumentChecker: function() {\r\n return true\r\n },\r\n _valueChecker: function() {\r\n return true\r\n },\r\n getOptions: function() {\r\n return this._options\r\n },\r\n _getOldPoint: function(data, oldPointsByArgument, index) {\r\n var arg = data.argument && data.argument.valueOf();\r\n var point = (oldPointsByArgument[arg] || [])[0];\r\n if (point) {\r\n oldPointsByArgument[arg].splice(0, 1)\r\n }\r\n return point\r\n },\r\n updateData: function(data) {\r\n var options = this._options;\r\n var nameField = options.nameField;\r\n data = data || [];\r\n if (data.length) {\r\n this._canRenderCompleteHandle = true\r\n }\r\n var dataSelector = this._getPointDataSelector();\r\n var itemsWithoutArgument = 0;\r\n this._data = data.reduce((data, dataItem, index) => {\r\n var pointDataItem = dataSelector(dataItem);\r\n if (_isDefined(pointDataItem.argument)) {\r\n if (!nameField || dataItem[nameField] === options.nameFieldValue) {\r\n pointDataItem.index = index;\r\n data.push(pointDataItem)\r\n }\r\n } else {\r\n itemsWithoutArgument++\r\n }\r\n return data\r\n }, []);\r\n if (itemsWithoutArgument && itemsWithoutArgument === data.length) {\r\n this._incidentOccurred(\"W2002\", [this.name, this.getArgumentField()])\r\n }\r\n this._endUpdateData()\r\n },\r\n _getData() {\r\n var data = this._data || [];\r\n if (this.useAggregation()) {\r\n data = this._resample(this.getArgumentAxis().getAggregationInfo(this._useAllAggregatedPoints, this.argumentAxisType !== DISCRETE ? this.getArgumentRange() : {}), data)\r\n }\r\n return data\r\n },\r\n useAggregation: function() {\r\n var aggregation = this.getOptions().aggregation;\r\n return aggregation && aggregation.enabled\r\n },\r\n autoHidePointMarkersEnabled: _noop,\r\n usePointsToDefineAutoHiding: _noop,\r\n createPoints(useAllAggregatedPoints) {\r\n this._normalizeUsingAllAggregatedPoints(useAllAggregatedPoints);\r\n this._createPoints()\r\n },\r\n _normalizeUsingAllAggregatedPoints: function(useAllAggregatedPoints) {\r\n this._useAllAggregatedPoints = this.useAggregation() && (this.argumentAxisType === DISCRETE || (this._data || []).length > 1 && !!useAllAggregatedPoints)\r\n },\r\n _createPoints: function() {\r\n var that = this;\r\n var oldPointsByArgument = that.pointsByArgument || {};\r\n var data = that._getData();\r\n that.pointsByArgument = {};\r\n that._calculateErrorBars(data);\r\n var skippedFields = {};\r\n var points = data.reduce((points, pointDataItem) => {\r\n if (that._checkData(pointDataItem, skippedFields)) {\r\n var pointIndex = points.length;\r\n var oldPoint = that._getOldPoint(pointDataItem, oldPointsByArgument, pointIndex);\r\n var point = that._createPoint(pointDataItem, pointIndex, oldPoint);\r\n points.push(point)\r\n }\r\n return points\r\n }, []);\r\n for (var field in skippedFields) {\r\n if (skippedFields[field] === data.length) {\r\n that._incidentOccurred(\"W2002\", [that.name, field])\r\n }\r\n }\r\n Object.keys(oldPointsByArgument).forEach(key => that._disposePoints(oldPointsByArgument[key]));\r\n that._points = points\r\n },\r\n _removeOldSegments: function() {\r\n var that = this;\r\n var startIndex = that._segments.length;\r\n _each(that._graphics.splice(startIndex, that._graphics.length) || [], (function(_, elem) {\r\n that._removeElement(elem)\r\n }));\r\n if (that._trackers) {\r\n _each(that._trackers.splice(startIndex, that._trackers.length) || [], (function(_, elem) {\r\n elem.remove()\r\n }))\r\n }\r\n },\r\n _drawElements: function(animationEnabled, firstDrawing, translateAllPoints) {\r\n var that = this;\r\n var points = that._points || [];\r\n var closeSegment = points[0] && points[0].hasValue() && that._options.closed;\r\n var groupForPoint = {\r\n markers: that._markersGroup,\r\n errorBars: that._errorBarGroup\r\n };\r\n that._drawnPoints = [];\r\n that._graphics = that._graphics || [];\r\n that._segments = [];\r\n var segments = points.reduce((function(segments, p) {\r\n var segment = segments[segments.length - 1];\r\n if (!p.translated || translateAllPoints) {\r\n p.translate();\r\n !translateAllPoints && p.setDefaultCoords()\r\n }\r\n if (p.hasValue() && p.hasCoords()) {\r\n translateAllPoints && that._drawPoint({\r\n point: p,\r\n groups: groupForPoint,\r\n hasAnimation: animationEnabled,\r\n firstDrawing: firstDrawing\r\n });\r\n segment.push(p)\r\n } else if (!p.hasValue()) {\r\n segment.length && segments.push([])\r\n } else {\r\n p.setInvisibility()\r\n }\r\n return segments\r\n }), [\r\n []\r\n ]);\r\n segments.forEach((function(segment, index) {\r\n if (segment.length) {\r\n that._drawSegment(segment, animationEnabled, index, closeSegment && index === this.length - 1)\r\n }\r\n }), segments);\r\n that._firstDrawing = !points.length;\r\n that._removeOldSegments();\r\n animationEnabled && that._animate(firstDrawing)\r\n },\r\n draw: function(animationEnabled, hideLayoutLabels, legendCallback) {\r\n var firstDrawing = this._firstDrawing;\r\n this._legendCallback = legendCallback || this._legendCallback;\r\n if (!this._visible) {\r\n this._group.remove();\r\n return\r\n }\r\n this._appendInGroup();\r\n this._applyVisibleArea();\r\n this._setGroupsSettings(animationEnabled, firstDrawing);\r\n !firstDrawing && !this._resetApplyingAnimation && this._drawElements(false, firstDrawing, false);\r\n this._drawElements(animationEnabled, firstDrawing, true);\r\n hideLayoutLabels && this.hideLabels();\r\n if (this.isSelected()) {\r\n this._changeStyle(this.lastSelectionMode, void 0, true)\r\n } else if (this.isHovered()) {\r\n this._changeStyle(this.lastHoverMode, void 0, true)\r\n } else {\r\n this._applyStyle(this._styles.normal)\r\n }\r\n this._resetApplyingAnimation = false\r\n },\r\n _setLabelGroupSettings: function(animationEnabled) {\r\n var settings = {\r\n class: \"dxc-labels\",\r\n \"pointer-events\": \"none\"\r\n };\r\n this._clipLabels && this._applyElementsClipRect(settings);\r\n this._applyClearingSettings(settings);\r\n animationEnabled && (settings.opacity = .001);\r\n this._labelsGroup.attr(settings).append(this._extGroups.labelsGroup)\r\n },\r\n _checkType: function(widgetType) {\r\n return !!seriesNS.mixins[widgetType][this.type]\r\n },\r\n _checkPolarBarType: function(widgetType, options) {\r\n return \"polar\" === widgetType && options.spiderWidget && -1 !== this.type.indexOf(\"bar\")\r\n },\r\n _resetType: function(seriesType, widgetType) {\r\n var methodName;\r\n var methods;\r\n if (seriesType) {\r\n methods = seriesNS.mixins[widgetType][seriesType];\r\n for (methodName in methods) {\r\n delete this[methodName]\r\n }\r\n }\r\n },\r\n _setType: function(seriesType, widgetType) {\r\n var methodName;\r\n var methods = seriesNS.mixins[widgetType][seriesType];\r\n for (methodName in methods) {\r\n this[methodName] = methods[methodName]\r\n }\r\n },\r\n _setPointsView: function(view, target) {\r\n this.getPoints().forEach((function(point) {\r\n if (target !== point) {\r\n point.setView(view)\r\n }\r\n }))\r\n },\r\n _resetPointsView: function(view, target) {\r\n this.getPoints().forEach((function(point) {\r\n if (target !== point) {\r\n point.resetView(view)\r\n }\r\n }))\r\n },\r\n _resetNearestPoint: function() {\r\n this._nearestPoint && null !== this._nearestPoint.series && this._nearestPoint.resetView(HOVER);\r\n this._nearestPoint = null\r\n },\r\n _setSelectedState: function(mode) {\r\n this.lastSelectionMode = _normalizeEnum(mode || this._options.selectionMode);\r\n this.fullState = this.fullState | SELECTED_STATE;\r\n this._resetNearestPoint();\r\n this._changeStyle(this.lastSelectionMode);\r\n if (this.lastSelectionMode !== NONE_MODE && this.isHovered() && includePointsMode(this.lastHoverMode)) {\r\n this._resetPointsView(HOVER)\r\n }\r\n },\r\n _releaseSelectedState: function() {\r\n this.fullState = this.fullState & ~SELECTED_STATE;\r\n this._changeStyle(this.lastSelectionMode, SELECTION);\r\n if (this.lastSelectionMode !== NONE_MODE && this.isHovered() && includePointsMode(this.lastHoverMode)) {\r\n this._setPointsView(HOVER)\r\n }\r\n },\r\n isFullStackedSeries: function() {\r\n return 0 === this.type.indexOf(\"fullstacked\")\r\n },\r\n isStackedSeries: function() {\r\n return 0 === this.type.indexOf(\"stacked\")\r\n },\r\n resetApplyingAnimation: function(isFirstDrawing) {\r\n this._resetApplyingAnimation = true;\r\n if (isFirstDrawing) {\r\n this._firstDrawing = true\r\n }\r\n },\r\n isFinancialSeries: function() {\r\n return \"stock\" === this.type || \"candlestick\" === this.type\r\n },\r\n _canChangeView: function() {\r\n return !this.isSelected() && _normalizeEnum(this._options.hoverMode) !== NONE_MODE\r\n },\r\n _changeStyle: function(mode, resetView, skipPoints) {\r\n var state = this.fullState;\r\n var styles = [NORMAL, HOVER, SELECTION, SELECTION];\r\n if (\"none\" === this.lastHoverMode) {\r\n state &= ~HOVER_STATE\r\n }\r\n if (\"none\" === this.lastSelectionMode) {\r\n state &= ~SELECTED_STATE\r\n }\r\n if (includePointsMode(mode) && !skipPoints) {\r\n if (!resetView) {\r\n this._setPointsView(styles[state])\r\n } else {\r\n this._resetPointsView(resetView)\r\n }\r\n }\r\n this._legendCallback([RESET_ITEM, APPLY_HOVER, APPLY_SELECTED, APPLY_SELECTED][state]);\r\n this._applyStyle(this._styles[styles[state]])\r\n },\r\n updateHover: function(x, y) {\r\n var currentNearestPoint = this._nearestPoint;\r\n var point = this.isHovered() && this.lastHoverMode === NEAREST_POINT && this.getNeighborPoint(x, y);\r\n if (point !== currentNearestPoint && !(this.isSelected() && this.lastSelectionMode !== NONE_MODE)) {\r\n this._resetNearestPoint();\r\n if (point) {\r\n point.setView(HOVER);\r\n this._nearestPoint = point\r\n }\r\n }\r\n },\r\n _getMainAxisName: function() {\r\n return this._options.rotated ? \"X\" : \"Y\"\r\n },\r\n areLabelsVisible: function() {\r\n return !_isDefined(this._options.maxLabelCount) || this._points.length <= this._options.maxLabelCount\r\n },\r\n getLabelVisibility: function() {\r\n return this.areLabelsVisible() && this._options.label && this._options.label.visible\r\n },\r\n customizePoint: function(point, pointData) {\r\n var options = this._options;\r\n var customizePoint = options.customizePoint;\r\n var customizeObject;\r\n var pointOptions;\r\n var customLabelOptions;\r\n var customOptions;\r\n var customizeLabel = options.customizeLabel;\r\n var useLabelCustomOptions;\r\n var usePointCustomOptions;\r\n if (customizeLabel && customizeLabel.call) {\r\n customizeObject = _extend({\r\n seriesName: this.name\r\n }, pointData);\r\n customizeObject.series = this;\r\n customLabelOptions = customizeLabel.call(customizeObject, customizeObject);\r\n useLabelCustomOptions = customLabelOptions && !_isEmptyObject(customLabelOptions);\r\n customLabelOptions = useLabelCustomOptions ? _extend(true, {}, options.label, customLabelOptions) : null\r\n }\r\n if (customizePoint && customizePoint.call) {\r\n customizeObject = customizeObject || _extend({\r\n seriesName: this.name\r\n }, pointData);\r\n customizeObject.series = this;\r\n customOptions = customizePoint.call(customizeObject, customizeObject);\r\n usePointCustomOptions = customOptions && !_isEmptyObject(customOptions)\r\n }\r\n if (useLabelCustomOptions || usePointCustomOptions) {\r\n pointOptions = this._parsePointOptions(this._preparePointOptions(customOptions), customLabelOptions || options.label, pointData, point);\r\n pointOptions.styles.useLabelCustomOptions = useLabelCustomOptions;\r\n pointOptions.styles.usePointCustomOptions = usePointCustomOptions;\r\n point.updateOptions(pointOptions)\r\n }\r\n },\r\n show: function() {\r\n if (!this._visible) {\r\n this._changeVisibility(true)\r\n }\r\n },\r\n hide: function() {\r\n if (this._visible) {\r\n this._changeVisibility(false)\r\n }\r\n },\r\n _changeVisibility: function(visibility) {\r\n this._visible = this._options.visible = visibility;\r\n this._updatePointsVisibility();\r\n this.hidePointTooltip();\r\n this._options.visibilityChanged(this)\r\n },\r\n _updatePointsVisibility: _noop,\r\n hideLabels: function() {\r\n _each(this._points, (function(_, point) {\r\n point._label.draw(false)\r\n }))\r\n },\r\n _parsePointOptions: function(pointOptions, labelOptions, data, point) {\r\n var options = this._options;\r\n var styles = this._createPointStyles(pointOptions, data, point);\r\n var parsedOptions = _extend({}, pointOptions, {\r\n type: options.type,\r\n rotated: options.rotated,\r\n styles: styles,\r\n widgetType: options.widgetType,\r\n visibilityChanged: options.visibilityChanged\r\n });\r\n parsedOptions.label = getLabelOptions(labelOptions, styles.normal.fill);\r\n if (this.areErrorBarsVisible()) {\r\n parsedOptions.errorBars = options.valueErrorBar\r\n }\r\n return parsedOptions\r\n },\r\n _preparePointOptions: function(customOptions) {\r\n var pointOptions = this._getOptionsForPoint();\r\n return customOptions ? mergePointOptions(pointOptions, customOptions) : pointOptions\r\n },\r\n _getMarkerGroupOptions: function() {\r\n return _extend(false, {}, this._getOptionsForPoint(), {\r\n hoverStyle: {},\r\n selectionStyle: {}\r\n })\r\n },\r\n _getAggregationMethod: function(isDiscrete, aggregateByCategory) {\r\n var options = this.getOptions().aggregation;\r\n var method = _normalizeEnum(options.method);\r\n var customAggregator = \"custom\" === method && options.calculate;\r\n var aggregator;\r\n if (isDiscrete && !aggregateByCategory) {\r\n aggregator = _ref => {\r\n var {\r\n data: data\r\n } = _ref;\r\n return data[0]\r\n }\r\n } else {\r\n aggregator = this._aggregators[method] || this._aggregators[this._defaultAggregator]\r\n }\r\n return customAggregator || aggregator\r\n },\r\n _resample(_ref2, data) {\r\n var {\r\n interval: interval,\r\n ticks: ticks,\r\n aggregateByCategory: aggregateByCategory\r\n } = _ref2;\r\n var that = this;\r\n var isDiscrete = that.argumentAxisType === DISCRETE || that.valueAxisType === DISCRETE;\r\n var dataIndex = 0;\r\n var dataSelector = this._getPointDataSelector();\r\n var options = that.getOptions();\r\n var addAggregatedData = (target, data, aggregationInfo) => {\r\n if (!data) {\r\n return\r\n }\r\n var processData = d => {\r\n var pointData = d && dataSelector(d, options);\r\n if (pointData && that._checkData(pointData)) {\r\n pointData.aggregationInfo = aggregationInfo;\r\n target.push(pointData)\r\n }\r\n };\r\n if (Array.isArray(data)) {\r\n data.forEach(processData)\r\n } else {\r\n processData(data)\r\n }\r\n };\r\n var aggregationMethod = this._getAggregationMethod(isDiscrete, aggregateByCategory);\r\n if (isDiscrete) {\r\n if (aggregateByCategory) {\r\n var categories = this.getArgumentAxis().getTranslator().getBusinessRange().categories;\r\n var groups = categories.reduce((g, category) => {\r\n g[category.valueOf()] = [];\r\n return g\r\n }, {});\r\n data.forEach(dataItem => {\r\n groups[dataItem.argument.valueOf()].push(dataItem)\r\n });\r\n return categories.reduce((result, c) => {\r\n addAggregatedData(result, aggregationMethod({\r\n aggregationInterval: null,\r\n intervalStart: c,\r\n intervalEnd: c,\r\n data: groups[c.valueOf()].map(getData)\r\n }, that));\r\n return result\r\n }, [])\r\n } else {\r\n return data.reduce((result, dataItem, index, data) => {\r\n result[1].push(dataItem);\r\n if (index === data.length - 1 || (index + 1) % interval === 0) {\r\n var dataInInterval = result[1];\r\n var aggregationInfo = {\r\n aggregationInterval: interval,\r\n data: dataInInterval.map(getData)\r\n };\r\n addAggregatedData(result[0], aggregationMethod(aggregationInfo, that));\r\n result[1] = []\r\n }\r\n return result\r\n }, [\r\n [],\r\n []\r\n ])[0]\r\n }\r\n }\r\n var aggregatedData = [];\r\n if (1 === ticks.length) {\r\n var aggregationInfo = {\r\n intervalStart: ticks[0],\r\n intervalEnd: ticks[0],\r\n aggregationInterval: null,\r\n data: data.map(getData)\r\n };\r\n addAggregatedData(aggregatedData, aggregationMethod(aggregationInfo, that), aggregationInfo)\r\n } else {\r\n for (var i = 1; i < ticks.length; i++) {\r\n var intervalEnd = ticks[i];\r\n var intervalStart = ticks[i - 1];\r\n var dataInInterval = [];\r\n while (data[dataIndex] && data[dataIndex].argument < intervalEnd) {\r\n if (data[dataIndex].argument >= intervalStart) {\r\n dataInInterval.push(data[dataIndex])\r\n }\r\n dataIndex++\r\n }\r\n var _aggregationInfo = {\r\n intervalStart: intervalStart,\r\n intervalEnd: intervalEnd,\r\n aggregationInterval: interval,\r\n data: dataInInterval.map(getData)\r\n };\r\n addAggregatedData(aggregatedData, aggregationMethod(_aggregationInfo, that), _aggregationInfo)\r\n }\r\n }\r\n that._endUpdateData();\r\n return aggregatedData\r\n },\r\n canRenderCompleteHandle: function() {\r\n var result = this._canRenderCompleteHandle;\r\n delete this._canRenderCompleteHandle;\r\n return !!result\r\n },\r\n isHovered: function() {\r\n return !!(1 & this.fullState)\r\n },\r\n isSelected: function() {\r\n return !!(2 & this.fullState)\r\n },\r\n isVisible: function() {\r\n return this._visible\r\n },\r\n getAllPoints: function() {\r\n this._createAllAggregatedPoints();\r\n return (this._points || []).slice()\r\n },\r\n getPointByPos: function(pos) {\r\n this._createAllAggregatedPoints();\r\n return (this._points || [])[pos]\r\n },\r\n getVisiblePoints: function() {\r\n return (this._drawnPoints || []).slice()\r\n },\r\n selectPoint: function(point) {\r\n if (!point.isSelected()) {\r\n setPointSelectedState(point, this._legendCallback);\r\n this._eventPipe({\r\n action: POINT_SELECT,\r\n target: point\r\n });\r\n this._eventTrigger(POINT_SELECTION_CHANGED, {\r\n target: point\r\n })\r\n }\r\n },\r\n deselectPoint: function(point) {\r\n if (point.isSelected()) {\r\n releasePointSelectedState(point, this._legendCallback);\r\n this._eventPipe({\r\n action: POINT_DESELECT,\r\n target: point\r\n });\r\n this._eventTrigger(POINT_SELECTION_CHANGED, {\r\n target: point\r\n })\r\n }\r\n },\r\n hover: function(mode) {\r\n var eventTrigger = this._eventTrigger;\r\n if (this.isHovered()) {\r\n return\r\n }\r\n this.lastHoverMode = _normalizeEnum(mode || this._options.hoverMode);\r\n this.fullState = this.fullState | HOVER_STATE;\r\n this._changeStyle(this.lastHoverMode, void 0, this.isSelected() && this.lastSelectionMode !== NONE_MODE);\r\n eventTrigger(SERIES_HOVER_CHANGED, {\r\n target: this\r\n })\r\n },\r\n clearHover: function() {\r\n var eventTrigger = this._eventTrigger;\r\n if (!this.isHovered()) {\r\n return\r\n }\r\n this._resetNearestPoint();\r\n this.fullState = this.fullState & ~HOVER_STATE;\r\n this._changeStyle(this.lastHoverMode, HOVER, this.isSelected() && this.lastSelectionMode !== NONE_MODE);\r\n eventTrigger(SERIES_HOVER_CHANGED, {\r\n target: this\r\n })\r\n },\r\n hoverPoint: function(point) {\r\n if (!point.isHovered()) {\r\n point.clearHover();\r\n setPointHoverState(point, this._legendCallback);\r\n this._canChangeView() && this._applyStyle(this._styles.hover);\r\n this._eventPipe({\r\n action: POINT_HOVER,\r\n target: point\r\n });\r\n this._eventTrigger(POINT_HOVER_CHANGED, {\r\n target: point\r\n })\r\n }\r\n },\r\n clearPointHover: function() {\r\n var that = this;\r\n that.getPoints().some((function(currentPoint) {\r\n if (currentPoint.isHovered()) {\r\n releasePointHoverState(currentPoint, that._legendCallback);\r\n that._canChangeView() && that._applyStyle(that._styles.normal);\r\n that._eventPipe({\r\n action: CLEAR_POINT_HOVER,\r\n target: currentPoint\r\n });\r\n that._eventTrigger(POINT_HOVER_CHANGED, {\r\n target: currentPoint\r\n });\r\n return true\r\n }\r\n return false\r\n }))\r\n },\r\n showPointTooltip: function(point) {\r\n triggerEvent(this._extGroups.seriesGroup, \"showpointtooltip\", point)\r\n },\r\n hidePointTooltip: function(point) {\r\n triggerEvent(this._extGroups.seriesGroup, \"hidepointtooltip\", point)\r\n },\r\n select: function() {\r\n if (!this.isSelected()) {\r\n this._setSelectedState(this._options.selectionMode);\r\n this._eventPipe({\r\n action: SERIES_SELECT,\r\n target: this\r\n });\r\n this._group.toForeground();\r\n this._eventTrigger(SERIES_SELECTION_CHANGED, {\r\n target: this\r\n })\r\n }\r\n },\r\n clearSelection: function() {\r\n if (this.isSelected()) {\r\n this._releaseSelectedState();\r\n this._eventTrigger(SERIES_SELECTION_CHANGED, {\r\n target: this\r\n })\r\n }\r\n },\r\n getPointsByArg: function(arg, skipPointsCreation) {\r\n var argValue = arg.valueOf();\r\n var points = this.pointsByArgument[argValue];\r\n if (!points && !skipPointsCreation && this._createAllAggregatedPoints()) {\r\n points = this.pointsByArgument[argValue]\r\n }\r\n return points || []\r\n },\r\n _createAllAggregatedPoints: function() {\r\n if (this.useAggregation() && !this._useAllAggregatedPoints) {\r\n this.createPoints(true);\r\n return true\r\n }\r\n return false\r\n },\r\n getPointsByKeys: function(arg) {\r\n return this.getPointsByArg(arg)\r\n },\r\n notify: function(data) {\r\n var that = this;\r\n var action = data.action;\r\n var seriesModes = that._seriesModes;\r\n var target = data.target;\r\n var targetOptions = target.getOptions();\r\n var pointHoverMode = _normalizeEnum(targetOptions.hoverMode);\r\n var selectionModeOfPoint = _normalizeEnum(targetOptions.selectionMode);\r\n if (action === POINT_HOVER) {\r\n that._hoverPointHandler(target, pointHoverMode, data.notifyLegend)\r\n } else if (action === CLEAR_POINT_HOVER) {\r\n that._clearPointHoverHandler(target, pointHoverMode, data.notifyLegend)\r\n } else if (action === SERIES_SELECT) {\r\n target !== that && \"single\" === seriesModes.seriesSelectionMode && that.clearSelection()\r\n } else if (action === POINT_SELECT) {\r\n if (\"single\" === seriesModes.pointSelectionMode) {\r\n that.getPoints().some((function(currentPoint) {\r\n if (currentPoint !== target && currentPoint.isSelected()) {\r\n that.deselectPoint(currentPoint);\r\n return true\r\n }\r\n return false\r\n }))\r\n }\r\n that._selectPointHandler(target, selectionModeOfPoint)\r\n } else if (action === POINT_DESELECT) {\r\n that._deselectPointHandler(target, selectionModeOfPoint)\r\n }\r\n },\r\n _selectPointHandler: function(target, mode) {\r\n if (mode === ALL_SERIES_POINTS) {\r\n target.series === this && this._setPointsView(SELECTION, target)\r\n } else if (mode === ALL_ARGUMENT_POINTS) {\r\n this.getPointsByKeys(target.argument, target.argumentIndex).forEach((function(currentPoint) {\r\n currentPoint !== target && currentPoint.setView(SELECTION)\r\n }))\r\n }\r\n },\r\n _deselectPointHandler: function(target, mode) {\r\n if (mode === ALL_SERIES_POINTS) {\r\n target.series === this && this._resetPointsView(SELECTION, target)\r\n } else if (mode === ALL_ARGUMENT_POINTS) {\r\n this.getPointsByKeys(target.argument, target.argumentIndex).forEach((function(currentPoint) {\r\n currentPoint !== target && currentPoint.resetView(SELECTION)\r\n }))\r\n }\r\n },\r\n _hoverPointHandler: function(target, mode, notifyLegend) {\r\n if (target.series !== this && mode === ALL_ARGUMENT_POINTS) {\r\n this.getPointsByKeys(target.argument, target.argumentIndex).forEach((function(currentPoint) {\r\n currentPoint.setView(HOVER)\r\n }));\r\n notifyLegend && this._legendCallback(target)\r\n } else if (mode === ALL_SERIES_POINTS && target.series === this) {\r\n this._setPointsView(HOVER, target)\r\n }\r\n },\r\n _clearPointHoverHandler: function(target, mode, notifyLegend) {\r\n if (mode === ALL_ARGUMENT_POINTS) {\r\n target.series !== this && this.getPointsByKeys(target.argument, target.argumentIndex).forEach((function(currentPoint) {\r\n currentPoint.resetView(HOVER)\r\n }));\r\n notifyLegend && this._legendCallback(target)\r\n } else if (mode === ALL_SERIES_POINTS && target.series === this) {\r\n this._resetPointsView(HOVER, target)\r\n }\r\n },\r\n _deletePoints: function() {\r\n this._disposePoints(this._points);\r\n this._points = this._drawnPoints = null\r\n },\r\n _deleteTrackers: function() {\r\n _each(this._trackers || [], (function(_, tracker) {\r\n tracker.remove()\r\n }));\r\n this._trackersGroup && this._trackersGroup.dispose();\r\n this._trackers = this._trackersGroup = null\r\n },\r\n dispose: function() {\r\n this._deletePoints();\r\n this._group.dispose();\r\n this._labelsGroup && this._labelsGroup.dispose();\r\n this._errorBarGroup && this._errorBarGroup.dispose();\r\n this._deleteTrackers();\r\n this._group = this._extGroups = this._markersGroup = this._elementsGroup = this._bordersGroup = this._labelsGroup = this._errorBarGroup = this._graphics = this._rangeData = this._renderer = this._styles = this._options = this._pointOptions = this._drawnPoints = this.pointsByArgument = this._segments = this._prevSeries = null\r\n },\r\n correctPosition: _noop,\r\n drawTrackers: _noop,\r\n getNeighborPoint: _noop,\r\n areErrorBarsVisible: _noop,\r\n getMarginOptions: function() {\r\n return this._patchMarginOptions({\r\n percentStick: this.isFullStackedSeries()\r\n })\r\n },\r\n getColor: function() {\r\n return this.getLegendStyles().normal.fill\r\n },\r\n getOpacity: function() {\r\n return this._options.opacity\r\n },\r\n getStackName: function() {\r\n return this._stackName\r\n },\r\n getBarOverlapGroup: function() {\r\n return this._options.barOverlapGroup\r\n },\r\n getPointByCoord: function(x, y) {\r\n var point = this.getNeighborPoint(x, y);\r\n return null !== point && void 0 !== point && point.coordsIn(x, y) ? point : null\r\n },\r\n getValueAxis: function() {\r\n return this._valueAxis\r\n },\r\n getArgumentAxis: function() {\r\n return this._argumentAxis\r\n },\r\n getMarkersGroup() {\r\n return this._markersGroup\r\n },\r\n getRenderer() {\r\n return this._renderer\r\n },\r\n removePointElements() {\r\n if (this._markersGroup) {\r\n _each(this._points, (_, p) => p.deleteMarker());\r\n this._markersGroup.dispose();\r\n this._markersGroup = null\r\n }\r\n },\r\n removeGraphicElements() {\r\n var that = this;\r\n if (that._elementsGroup) {\r\n that._elementsGroup.dispose();\r\n that._elementsGroup = null\r\n }\r\n _each(that._graphics || [], (_, elem) => {\r\n that._removeElement(elem)\r\n });\r\n that._graphics = null\r\n },\r\n removeBordersGroup() {\r\n if (this._bordersGroup) {\r\n this._bordersGroup.dispose();\r\n this._bordersGroup = null\r\n }\r\n }\r\n};\r\nexport var mixins = seriesNS.mixins;\r\n","/**\r\n * DevExtreme (esm/viz/series/helpers/range_data_calculator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n unique,\r\n getAddFunction,\r\n getLog\r\n} from \"../../core/utils\";\r\nimport {\r\n isDefined,\r\n isObject\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n noop\r\n} from \"../../../core/utils/common\";\r\nvar DISCRETE = \"discrete\";\r\nvar {\r\n abs: abs,\r\n floor: floor,\r\n ceil: ceil,\r\n min: min\r\n} = Math;\r\n\r\nfunction continuousRangeCalculator(range, minValue, maxValue) {\r\n range.min = range.min < minValue ? range.min : minValue;\r\n range.max = range.max > maxValue ? range.max : maxValue\r\n}\r\n\r\nfunction createGetLogFunction(axisType, axis) {\r\n if (\"logarithmic\" !== axisType) {\r\n return null\r\n }\r\n var base = axis.getOptions().logarithmBase;\r\n return value => {\r\n var log = getLog(abs(value), base);\r\n var round = log < 0 ? floor : ceil;\r\n return round(log)\r\n }\r\n}\r\n\r\nfunction getRangeCalculator(axisType, axis, getLog) {\r\n var rangeCalculator = continuousRangeCalculator;\r\n if (axisType === DISCRETE) {\r\n rangeCalculator = function(range, minValue, maxValue) {\r\n if (minValue !== maxValue) {\r\n range.categories.push(maxValue)\r\n }\r\n range.categories.push(minValue)\r\n }\r\n } else if (axis) {\r\n rangeCalculator = function(range, value) {\r\n var interval = axis.calculateInterval(value, range.prevValue);\r\n var minInterval = range.interval;\r\n range.interval = (minInterval < interval ? minInterval : interval) || minInterval;\r\n range.prevValue = value;\r\n continuousRangeCalculator(range, value, value)\r\n }\r\n }\r\n if (getLog) {\r\n return (range, minValue, maxValue) => {\r\n var minArgs = [];\r\n rangeCalculator(range, minValue, maxValue);\r\n 0 !== minValue && minArgs.push(getLog(minValue));\r\n 0 !== maxValue && minArgs.push(getLog(maxValue));\r\n var linearThreshold = min.apply(null, minArgs);\r\n range.linearThreshold = range.linearThreshold < linearThreshold ? range.linearThreshold : linearThreshold\r\n }\r\n }\r\n return rangeCalculator\r\n}\r\n\r\nfunction getInitialRange(axisType, dataType, firstValue) {\r\n var range = {\r\n axisType: axisType,\r\n dataType: dataType\r\n };\r\n if (axisType === DISCRETE) {\r\n range.categories = []\r\n } else {\r\n range.min = isObject(firstValue) ? firstValue.min : firstValue;\r\n range.max = isObject(firstValue) ? firstValue.max : firstValue\r\n }\r\n return range\r\n}\r\n\r\nfunction processCategories(range) {\r\n if (range.categories) {\r\n range.categories = unique(range.categories)\r\n }\r\n return range\r\n}\r\n\r\nfunction getValueForArgument(point, extraPoint, x, range) {\r\n if (extraPoint && isDefined(extraPoint.value)) {\r\n var y1 = point.value;\r\n var y2 = extraPoint.value;\r\n var x1 = point.argument;\r\n var x2 = extraPoint.argument;\r\n var r = (x - x1) * (y2 - y1) / (x2 - x1) + y1.valueOf();\r\n return \"datetime\" === range.dataType ? new Date(r) : r\r\n } else {\r\n return point.value\r\n }\r\n}\r\n\r\nfunction calculateRangeBetweenPoints(rangeCalculator, range, point, prevPoint, bound) {\r\n var value = getValueForArgument(point, prevPoint, bound, range);\r\n rangeCalculator(range, value, value)\r\n}\r\n\r\nfunction isLineSeries(series) {\r\n return series.type.toLowerCase().indexOf(\"line\") >= 0 || series.type.toLowerCase().indexOf(\"area\") >= 0\r\n}\r\n\r\nfunction getViewportReducer(series) {\r\n var rangeCalculator = getRangeCalculator(series.valueAxisType);\r\n var argumentAxis = series.getArgumentAxis();\r\n var viewport = argumentAxis && series.getArgumentAxis().visualRange() || {};\r\n var calculatePointBetweenPoints = isLineSeries(series) ? calculateRangeBetweenPoints : noop;\r\n if (argumentAxis && argumentAxis.getMarginOptions().checkInterval) {\r\n var range = series.getArgumentAxis().getTranslator().getBusinessRange();\r\n var add = getAddFunction(range, false);\r\n var interval = range.interval;\r\n if (isFinite(interval) && isDefined(viewport.startValue) && isDefined(viewport.endValue)) {\r\n viewport.startValue = add(viewport.startValue, interval, -1);\r\n viewport.endValue = add(viewport.endValue, interval)\r\n }\r\n }\r\n var viewportFilter = getViewPortFilter(viewport);\r\n return function(range, point, index, points) {\r\n var argument = point.argument;\r\n if (!point.hasValue()) {\r\n return range\r\n }\r\n if (viewportFilter(argument)) {\r\n if (!range.startCalc) {\r\n range.startCalc = true;\r\n calculatePointBetweenPoints(rangeCalculator, range, point, points[index - 1], viewport.startValue)\r\n }\r\n rangeCalculator(range, point.getMinValue(), point.getMaxValue())\r\n } else if (!viewport.categories && isDefined(viewport.startValue) && argument > viewport.startValue) {\r\n if (!range.startCalc) {\r\n calculatePointBetweenPoints(rangeCalculator, range, point, points[index - 1], viewport.startValue)\r\n }\r\n range.endCalc = true;\r\n calculatePointBetweenPoints(rangeCalculator, range, point, points[index - 1], viewport.endValue)\r\n }\r\n return range\r\n }\r\n}\r\n\r\nfunction getViewPortFilter(viewport) {\r\n if (viewport.categories) {\r\n var dictionary = viewport.categories.reduce((result, category) => {\r\n result[category.valueOf()] = true;\r\n return result\r\n }, {});\r\n return argument => isDefined(argument) && dictionary[argument.valueOf()]\r\n }\r\n if (!isDefined(viewport.startValue) && !isDefined(viewport.endValue)) {\r\n return () => true\r\n }\r\n if (!isDefined(viewport.endValue)) {\r\n return argument => argument >= viewport.startValue\r\n }\r\n if (!isDefined(viewport.startValue)) {\r\n return argument => argument <= viewport.endValue\r\n }\r\n return argument => argument >= viewport.startValue && argument <= viewport.endValue\r\n}\r\nexport default {\r\n getViewPortFilter: getViewPortFilter,\r\n getArgumentRange: function(series) {\r\n var data = series._data || [];\r\n var range = {};\r\n if (data.length) {\r\n if (series.argumentAxisType === DISCRETE) {\r\n range = {\r\n categories: data.map(item => item.argument)\r\n }\r\n } else {\r\n var interval;\r\n if (data.length > 1) {\r\n var i1 = series.getArgumentAxis().calculateInterval(data[0].argument, data[1].argument);\r\n var i2 = series.getArgumentAxis().calculateInterval(data[data.length - 1].argument, data[data.length - 2].argument);\r\n interval = min(i1, i2)\r\n }\r\n range = {\r\n min: data[0].argument,\r\n max: data[data.length - 1].argument,\r\n interval: interval\r\n }\r\n }\r\n }\r\n return processCategories(range)\r\n },\r\n getRangeData: function(series) {\r\n var points = series.getPoints();\r\n var useAggregation = series.useAggregation();\r\n var argumentAxis = series.getArgumentAxis();\r\n var argumentCalculator = getRangeCalculator(series.argumentAxisType, points.length > 1 && argumentAxis, createGetLogFunction(series.argumentAxisType, argumentAxis));\r\n var valueRangeCalculator = getRangeCalculator(series.valueAxisType, null, createGetLogFunction(series.valueAxisType, series.getValueAxis()));\r\n var viewportReducer = getViewportReducer(series);\r\n var range = points.reduce((function(range, point, index, points) {\r\n var argument = point.argument;\r\n if (!point.isArgumentCorrect()) {\r\n return range\r\n }\r\n argumentCalculator(range.arg, argument, argument);\r\n if (point.hasValue()) {\r\n valueRangeCalculator(range.val, point.getMinValue(), point.getMaxValue());\r\n viewportReducer(range.viewport, point, index, points)\r\n }\r\n return range\r\n }), {\r\n arg: getInitialRange(series.argumentAxisType, series.argumentType, null !== argumentAxis && void 0 !== argumentAxis && argumentAxis.aggregatedPointBetweenTicks() ? void 0 : series.getArgumentRangeInitialValue()),\r\n val: getInitialRange(series.valueAxisType, series.valueType, points.length ? series.getValueRangeInitialValue() : void 0),\r\n viewport: getInitialRange(series.valueAxisType, series.valueType, points.length ? series.getValueRangeInitialValue() : void 0)\r\n });\r\n if (useAggregation) {\r\n var argumentRange = this.getArgumentRange(series);\r\n if (series.argumentAxisType === DISCRETE) {\r\n range.arg = argumentRange\r\n } else {\r\n var viewport = argumentAxis.getViewport();\r\n if (isDefined(viewport.startValue) || isDefined(viewport.length)) {\r\n argumentCalculator(range.arg, argumentRange.min, argumentRange.min)\r\n }\r\n if (isDefined(viewport.endValue) || isDefined(viewport.length) && isDefined(viewport.startValue)) {\r\n argumentCalculator(range.arg, argumentRange.max, argumentRange.max)\r\n }\r\n }\r\n }\r\n processCategories(range.arg);\r\n processCategories(range.val);\r\n return range\r\n },\r\n getViewport: function(series) {\r\n var points = series.getPoints();\r\n var range;\r\n var reducer = getViewportReducer(series);\r\n range = getInitialRange(series.valueAxisType, series.valueType, points.length ? series.getValueRangeInitialValue() : void 0);\r\n points.some((function(point, index) {\r\n reducer(range, point, index, points);\r\n return range.endCalc\r\n }));\r\n return range\r\n },\r\n getPointsInViewPort: function(series) {\r\n var argumentViewPortFilter = getViewPortFilter(series.getArgumentAxis().visualRange() || {});\r\n var valueViewPort = series.getValueAxis().visualRange() || {};\r\n var valueViewPortFilter = getViewPortFilter(valueViewPort);\r\n var points = series.getPoints();\r\n var addValue = function(values, point, isEdge) {\r\n var minValue = point.getMinValue();\r\n var maxValue = point.getMaxValue();\r\n var isMinValueInViewPort = valueViewPortFilter(minValue);\r\n var isMaxValueInViewPort = valueViewPortFilter(maxValue);\r\n if (isMinValueInViewPort) {\r\n values.push(minValue)\r\n }\r\n if (maxValue !== minValue && isMaxValueInViewPort) {\r\n values.push(maxValue)\r\n }\r\n if (isEdge && !isMinValueInViewPort && !isMaxValueInViewPort) {\r\n if (!values.length) {\r\n values.push(valueViewPort.startValue)\r\n } else {\r\n values.push(valueViewPort.endValue)\r\n }\r\n }\r\n };\r\n var addEdgePoints = isLineSeries(series) ? function(result, points, index) {\r\n var point = points[index];\r\n var prevPoint = points[index - 1];\r\n var nextPoint = points[index + 1];\r\n if (nextPoint && argumentViewPortFilter(nextPoint.argument)) {\r\n addValue(result[1], point, true)\r\n }\r\n if (prevPoint && argumentViewPortFilter(prevPoint.argument)) {\r\n addValue(result[1], point, true)\r\n }\r\n } : noop;\r\n return points.reduce((function(result, point, index) {\r\n if (argumentViewPortFilter(point.argument)) {\r\n addValue(result[0], point)\r\n } else {\r\n addEdgePoints(result, points, index)\r\n }\r\n return result\r\n }), [\r\n [],\r\n []\r\n ])\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/helpers/display_format_parser.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n formatDate,\r\n formatNumber\r\n} from \"../../../localization\";\r\nvar startPlaceHolderChar = \"{\";\r\nvar endPlaceHolderChar = \"}\";\r\nvar placeholderFormatDelimiter = \":\";\r\n\r\nfunction formatValue(value, format) {\r\n if (format) {\r\n if (value instanceof Date) {\r\n return formatDate(value, format)\r\n }\r\n if (\"number\" === typeof value) {\r\n return formatNumber(value, format)\r\n }\r\n }\r\n return value\r\n}\r\n\r\nfunction getValueByPlaceHolder(placeHolder, pointInfo) {\r\n var customFormat = \"\";\r\n var customFormatIndex = placeHolder.indexOf(placeholderFormatDelimiter);\r\n if (customFormatIndex > 0) {\r\n customFormat = placeHolder.substr(customFormatIndex + 1);\r\n placeHolder = placeHolder.substr(0, customFormatIndex)\r\n }\r\n return formatValue(pointInfo[placeHolder], customFormat)\r\n}\r\nexport function processDisplayFormat(displayFormat, pointInfo) {\r\n var actualText = displayFormat;\r\n var continueProcess = true;\r\n while (continueProcess) {\r\n var startBracketIndex = actualText.indexOf(startPlaceHolderChar);\r\n var endBracketIndex = actualText.indexOf(endPlaceHolderChar);\r\n if (startBracketIndex >= 0 && endBracketIndex > 0) {\r\n var placeHolder = actualText.substring(startBracketIndex + 1, endBracketIndex);\r\n var value = getValueByPlaceHolder(placeHolder, pointInfo);\r\n actualText = actualText.substr(0, startBracketIndex) + value + actualText.substr(endBracketIndex + 1)\r\n } else {\r\n continueProcess = false\r\n }\r\n }\r\n return actualText\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/series/points/label.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport formatHelper from \"../../../format_helper\";\r\nimport {\r\n degreesToRadians as _degreesToRadians,\r\n patchFontOptions as _patchFontOptions,\r\n getCosAndSin as _getCosAndSin,\r\n rotateBBox as _rotateBBox\r\n} from \"../../core/utils\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n processDisplayFormat\r\n} from \"../helpers/display_format_parser\";\r\nvar _format = formatHelper.format;\r\nvar _math = Math;\r\nvar _round = _math.round;\r\nvar _floor = _math.floor;\r\nvar _abs = _math.abs;\r\nvar CONNECTOR_LENGTH = 12;\r\nvar LABEL_BACKGROUND_PADDING_X = 8;\r\nvar LABEL_BACKGROUND_PADDING_Y = 4;\r\n\r\nfunction getClosestCoord(point, coords) {\r\n var closestDistance = 1 / 0;\r\n var closestCoord;\r\n each(coords, (function(_, coord) {\r\n var x = point[0] - coord[0];\r\n var y = point[1] - coord[1];\r\n var distance = x * x + y * y;\r\n if (distance < closestDistance) {\r\n closestDistance = distance;\r\n closestCoord = coord\r\n }\r\n }));\r\n return [_floor(closestCoord[0]), _floor(closestCoord[1])]\r\n}\r\n\r\nfunction getCrossCoord(rect, coord, indexOffset) {\r\n return (coord - rect[0 + indexOffset]) / (rect[2 + indexOffset] - rect[0 + indexOffset]) * (rect[3 - indexOffset] - rect[1 - indexOffset]) + rect[1 - indexOffset]\r\n}\r\nvar barPointStrategy = {\r\n isLabelInside: function(labelPoint, figure) {\r\n var xc = labelPoint.x + labelPoint.width / 2;\r\n var yc = labelPoint.y + labelPoint.height / 2;\r\n return figure.x <= xc && xc <= figure.x + figure.width && figure.y <= yc && yc <= figure.y + figure.height\r\n },\r\n prepareLabelPoints: function(bBox, rotatedBBox, isHorizontal, angle, figureCenter) {\r\n var x1 = rotatedBBox.x;\r\n var xc = x1 + rotatedBBox.width / 2;\r\n var x2 = x1 + rotatedBBox.width - 1;\r\n var y1 = rotatedBBox.y;\r\n var yc = y1 + rotatedBBox.height / 2;\r\n var y2 = y1 + rotatedBBox.height - 1;\r\n var labelPoints;\r\n var isRectangular = _abs(angle) % 90 === 0;\r\n if (figureCenter[0] > x1 && figureCenter[0] < x2) {\r\n if (isRectangular) {\r\n labelPoints = [\r\n [figureCenter[0], _abs(figureCenter[1] - y1) < _abs(figureCenter[1] - y2) ? y1 : y2]\r\n ]\r\n } else {\r\n labelPoints = [\r\n [figureCenter[0], getCrossCoord([x1, y1, x2, y2], figureCenter[0], 0)]\r\n ]\r\n }\r\n } else if (figureCenter[1] > y1 && figureCenter[1] < y2) {\r\n if (isRectangular) {\r\n labelPoints = [\r\n [_abs(figureCenter[0] - x1) < _abs(figureCenter[0] - x2) ? x1 : x2, figureCenter[1]]\r\n ]\r\n } else {\r\n labelPoints = [\r\n [getCrossCoord([x1, y1, x2, y2], figureCenter[1], 1), figureCenter[1]]\r\n ]\r\n }\r\n } else if (isRectangular) {\r\n labelPoints = [\r\n [x1, y1],\r\n [isHorizontal ? x1 : xc, isHorizontal ? yc : y1],\r\n [x2, y1],\r\n [x1, y2],\r\n [isHorizontal ? x2 : xc, isHorizontal ? yc : y2],\r\n [x2, y2]\r\n ]\r\n } else {\r\n labelPoints = [\r\n [xc, yc]\r\n ]\r\n }\r\n return labelPoints\r\n },\r\n isHorizontal: function(bBox, figure) {\r\n return bBox.x > figure.x + figure.width || bBox.x + bBox.width < figure.x\r\n },\r\n getFigureCenter: function(figure) {\r\n return [_floor(figure.x + figure.width / 2), _floor(figure.y + figure.height / 2)]\r\n },\r\n findFigurePoint: function(figure, labelPoint) {\r\n var figureCenter = barPointStrategy.getFigureCenter(figure);\r\n var point = getClosestCoord(labelPoint, [\r\n [figure.x, figureCenter[1]],\r\n [figureCenter[0], figure.y + figure.height],\r\n [figure.x + figure.width, figureCenter[1]],\r\n [figureCenter[0], figure.y]\r\n ]);\r\n return point\r\n },\r\n adjustPoints: function(points) {\r\n var lineIsVertical = _abs(points[1] - points[3]) <= 1;\r\n var lineIsHorizontal = _abs(points[0] - points[2]) <= 1;\r\n if (lineIsHorizontal) {\r\n points[0] = points[2]\r\n }\r\n if (lineIsVertical) {\r\n points[1] = points[3]\r\n }\r\n return points\r\n }\r\n};\r\nvar symbolPointStrategy = {\r\n isLabelInside: function() {\r\n return false\r\n },\r\n prepareLabelPoints: barPointStrategy.prepareLabelPoints,\r\n isHorizontal: function(bBox, figure) {\r\n return bBox.x > figure.x + figure.r || bBox.x + bBox.width < figure.x - figure.r\r\n },\r\n getFigureCenter: function(figure) {\r\n return [figure.x, figure.y]\r\n },\r\n findFigurePoint: function(figure, labelPoint) {\r\n var angle = Math.atan2(figure.y - labelPoint[1], labelPoint[0] - figure.x);\r\n return [_round(figure.x + figure.r * Math.cos(angle)), _round(figure.y - figure.r * Math.sin(angle))]\r\n },\r\n adjustPoints: barPointStrategy.adjustPoints\r\n};\r\nvar piePointStrategy = {\r\n isLabelInside: function(_0, _1, isOutside) {\r\n return !isOutside\r\n },\r\n prepareLabelPoints: function(bBox, rotatedBBox, isHorizontal, angle) {\r\n var xl = bBox.x;\r\n var xr = xl + bBox.width;\r\n var xc = xl + _round(bBox.width / 2);\r\n var yt = bBox.y;\r\n var yb = yt + bBox.height;\r\n var yc = yt + _round(bBox.height / 2);\r\n var points = [\r\n [\r\n [xl, yt],\r\n [xr, yt]\r\n ],\r\n [\r\n [xr, yt],\r\n [xr, yb]\r\n ],\r\n [\r\n [xr, yb],\r\n [xl, yb]\r\n ],\r\n [\r\n [xl, yb],\r\n [xl, yt]\r\n ]\r\n ];\r\n var cosSin = _getCosAndSin(angle);\r\n if (0 === angle) {\r\n points = isHorizontal ? [\r\n [xl, yc],\r\n [xr, yc]\r\n ] : [\r\n [xc, yt],\r\n [xc, yb]\r\n ]\r\n } else {\r\n points = points.map((function(pair) {\r\n return pair.map((function(point) {\r\n return [_round((point[0] - xc) * cosSin.cos + (point[1] - yc) * cosSin.sin + xc), _round(-(point[0] - xc) * cosSin.sin + (point[1] - yc) * cosSin.cos + yc)]\r\n }))\r\n })).reduce((function(r, pair) {\r\n var point1x = pair[0][0];\r\n var point1y = pair[0][1];\r\n var point2x = pair[1][0];\r\n var point2y = pair[1][1];\r\n if (isHorizontal) {\r\n if (point1y >= yc && yc >= point2y || point1y <= yc && yc <= point2y) {\r\n r.push([(yc - point1y) * (point2x - point1x) / (point2y - point1y) + point1x, yc])\r\n }\r\n } else if (point1x >= xc && xc >= point2x || point1x <= xc && xc <= point2x) {\r\n r.push([xc, (xc - point1x) * (point2y - point1y) / (point2x - point1x) + point1y])\r\n }\r\n return r\r\n }), [])\r\n }\r\n return points\r\n },\r\n isHorizontal: function(bBox, figure) {\r\n return bBox.x > figure.x || figure.x > bBox.x + bBox.width\r\n },\r\n getFigureCenter: symbolPointStrategy.getFigureCenter,\r\n findFigurePoint: function(figure, labelPoint, isHorizontal) {\r\n if (!isHorizontal) {\r\n return [figure.x, figure.y]\r\n }\r\n var labelX = labelPoint[0];\r\n var x = _round(figure.x + (figure.y - labelPoint[1]) / Math.tan(_degreesToRadians(figure.angle)));\r\n var points = [figure.x, figure.y, x, labelPoint[1]];\r\n if (!(figure.x <= x && x <= labelX) && !(labelX <= x && x <= figure.x)) {\r\n if (_abs(figure.x - labelX) < CONNECTOR_LENGTH) {\r\n points = [figure.x, figure.y]\r\n } else if (figure.x <= labelX) {\r\n points[2] = figure.x + CONNECTOR_LENGTH\r\n } else {\r\n points[2] = figure.x - CONNECTOR_LENGTH\r\n }\r\n }\r\n return points\r\n },\r\n adjustPoints: function(points) {\r\n return points\r\n }\r\n};\r\n\r\nfunction selectStrategy(figure) {\r\n return void 0 !== figure.angle && piePointStrategy || void 0 !== figure.r && symbolPointStrategy || barPointStrategy\r\n}\r\n\r\nfunction disposeItem(obj, field) {\r\n obj[field] && obj[field].dispose();\r\n obj[field] = null\r\n}\r\n\r\nfunction checkBackground(background) {\r\n return background && (background.fill && \"none\" !== background.fill || background[\"stroke-width\"] > 0 && background.stroke && \"none\" !== background.stroke)\r\n}\r\n\r\nfunction checkConnector(connector) {\r\n return connector && connector[\"stroke-width\"] > 0 && connector.stroke && \"none\" !== connector.stroke\r\n}\r\n\r\nfunction formatText(data, options) {\r\n var format = options.format;\r\n data.valueText = _format(data.value, format);\r\n data.argumentText = _format(data.argument, options.argumentFormat);\r\n if (void 0 !== data.percent) {\r\n data.percentText = _format(data.percent, {\r\n type: \"percent\",\r\n precision: format && format.percentPrecision\r\n })\r\n }\r\n if (void 0 !== data.total) {\r\n data.totalText = _format(data.total, format)\r\n }\r\n if (void 0 !== data.openValue) {\r\n data.openValueText = _format(data.openValue, format)\r\n }\r\n if (void 0 !== data.closeValue) {\r\n data.closeValueText = _format(data.closeValue, format)\r\n }\r\n if (void 0 !== data.lowValue) {\r\n data.lowValueText = _format(data.lowValue, format)\r\n }\r\n if (void 0 !== data.highValue) {\r\n data.highValueText = _format(data.highValue, format)\r\n }\r\n if (void 0 !== data.reductionValue) {\r\n data.reductionValueText = _format(data.reductionValue, format)\r\n }\r\n return options.customizeText ? options.customizeText.call(data, data) : options.displayFormat ? processDisplayFormat(options.displayFormat, data) : data.valueText\r\n}\r\nexport function Label(renderSettings) {\r\n this._renderer = renderSettings.renderer;\r\n this._container = renderSettings.labelsGroup;\r\n this._point = renderSettings.point;\r\n this._strategy = renderSettings.strategy;\r\n this._rowCount = 1\r\n}\r\nLabel.prototype = {\r\n constructor: Label,\r\n setColor: function(color) {\r\n this._color = color\r\n },\r\n setOptions: function(options) {\r\n this._options = options\r\n },\r\n setData: function(data) {\r\n this._data = data\r\n },\r\n setDataField: function(fieldName, fieldValue) {\r\n this._data = this._data || {};\r\n this._data[fieldName] = fieldValue\r\n },\r\n getData: function() {\r\n return this._data\r\n },\r\n setFigureToDrawConnector: function(figure) {\r\n this._figure = figure\r\n },\r\n dispose: function() {\r\n disposeItem(this, \"_group\");\r\n this._data = this._options = this._textContent = this._visible = this._insideGroup = this._text = this._background = this._connector = this._figure = null\r\n },\r\n _setVisibility: function(value, state) {\r\n this._group && this._group.attr({\r\n visibility: value\r\n });\r\n this._visible = state\r\n },\r\n isVisible: function() {\r\n return this._visible\r\n },\r\n hide: function(holdInvisible) {\r\n this._holdVisibility = !!holdInvisible;\r\n this._hide()\r\n },\r\n _hide: function() {\r\n this._setVisibility(\"hidden\", false)\r\n },\r\n show: function(holdVisible) {\r\n var correctPosition = !this._drawn;\r\n if (this._point.hasValue()) {\r\n this._holdVisibility = !!holdVisible;\r\n this._show();\r\n correctPosition && this._point.correctLabelPosition(this)\r\n }\r\n },\r\n _show: function() {\r\n var renderer = this._renderer;\r\n var container = this._container;\r\n var options = this._options || {};\r\n var text = this._textContent = formatText(this._data, options) || null;\r\n if (text) {\r\n if (!this._group) {\r\n this._group = renderer.g().append(container);\r\n this._insideGroup = renderer.g().append(this._group);\r\n this._text = renderer.text(\"\", 0, 0).append(this._insideGroup)\r\n }\r\n this._text.css(options.attributes ? _patchFontOptions(options.attributes.font) : {});\r\n if (checkBackground(options.background)) {\r\n this._background = this._background || renderer.rect().append(this._insideGroup).toBackground();\r\n this._background.attr(options.background);\r\n this._color && this._background.attr({\r\n fill: this._color\r\n })\r\n } else {\r\n disposeItem(this, \"_background\")\r\n }\r\n if (checkConnector(options.connector)) {\r\n this._connector = this._connector || renderer.path([], \"line\").sharp().append(this._group).toBackground();\r\n this._connector.attr(options.connector);\r\n this._color && this._connector.attr({\r\n stroke: this._color\r\n })\r\n } else {\r\n disposeItem(this, \"_connector\")\r\n }\r\n this._text.attr({\r\n text: text,\r\n align: options.textAlignment,\r\n class: options.cssClass\r\n });\r\n this._updateBackground(this._text.getBBox());\r\n this._setVisibility(\"visible\", true);\r\n this._drawn = true\r\n } else {\r\n this._hide()\r\n }\r\n },\r\n _getLabelVisibility: function(isVisible) {\r\n return this._holdVisibility ? this.isVisible() : isVisible\r\n },\r\n draw: function(isVisible) {\r\n if (this._getLabelVisibility(isVisible)) {\r\n this._show();\r\n this._point && this._point.correctLabelPosition(this)\r\n } else {\r\n this._drawn = false;\r\n this._hide()\r\n }\r\n return this\r\n },\r\n _updateBackground: function(bBox) {\r\n if (this._background) {\r\n bBox.x -= LABEL_BACKGROUND_PADDING_X;\r\n bBox.y -= LABEL_BACKGROUND_PADDING_Y;\r\n bBox.width += 2 * LABEL_BACKGROUND_PADDING_X;\r\n bBox.height += 2 * LABEL_BACKGROUND_PADDING_Y;\r\n this._background.attr(bBox)\r\n }\r\n this._bBoxWithoutRotation = extend({}, bBox);\r\n var rotationAngle = this._options.rotationAngle || 0;\r\n this._insideGroup.rotate(rotationAngle, bBox.x + bBox.width / 2, bBox.y + bBox.height / 2);\r\n bBox = _rotateBBox(bBox, [bBox.x + bBox.width / 2, bBox.y + bBox.height / 2], -rotationAngle);\r\n this._bBox = bBox\r\n },\r\n getFigureCenter() {\r\n var figure = this._figure;\r\n var strategy = this._strategy || selectStrategy(figure);\r\n return strategy.getFigureCenter(figure)\r\n },\r\n _getConnectorPoints: function() {\r\n var figure = this._figure;\r\n var options = this._options;\r\n var strategy = this._strategy || selectStrategy(figure);\r\n var bBox = this._shiftBBox(this._bBoxWithoutRotation);\r\n var rotatedBBox = this.getBoundingRect();\r\n var labelPoint;\r\n var points = [];\r\n var isHorizontal;\r\n if (!strategy.isLabelInside(bBox, figure, \"inside\" !== options.position)) {\r\n isHorizontal = strategy.isHorizontal(bBox, figure);\r\n var figureCenter = this.getFigureCenter();\r\n points = strategy.prepareLabelPoints(bBox, rotatedBBox, isHorizontal, -options.rotationAngle || 0, figureCenter);\r\n labelPoint = getClosestCoord(figureCenter, points);\r\n points = strategy.findFigurePoint(figure, labelPoint, isHorizontal);\r\n points = points.concat(labelPoint)\r\n }\r\n return strategy.adjustPoints(points)\r\n },\r\n fit: function(maxWidth) {\r\n var padding = this._background ? 2 * LABEL_BACKGROUND_PADDING_X : 0;\r\n var rowCountChanged = false;\r\n if (this._text) {\r\n var result = this._text.setMaxSize(maxWidth - padding, void 0, this._options);\r\n var rowCount = result.rowCount;\r\n if (0 === rowCount) {\r\n rowCount = 1\r\n }\r\n if (rowCount !== this._rowCount) {\r\n rowCountChanged = true;\r\n this._rowCount = rowCount\r\n }\r\n result.textIsEmpty && disposeItem(this, \"_background\")\r\n }\r\n this._updateBackground(this._text.getBBox());\r\n return rowCountChanged\r\n },\r\n resetEllipsis: function() {\r\n this._text && this._text.restoreText();\r\n this._updateBackground(this._text.getBBox())\r\n },\r\n setTrackerData: function(point) {\r\n this._text.data({\r\n \"chart-data-point\": point\r\n });\r\n this._background && this._background.data({\r\n \"chart-data-point\": point\r\n })\r\n },\r\n hideInsideLabel: function(coords) {\r\n return this._point.hideInsideLabel(this, coords)\r\n },\r\n getPoint() {\r\n return this._point\r\n },\r\n shift: function(x, y) {\r\n if (this._textContent) {\r\n this._insideGroup.attr({\r\n translateX: this._x = _round(x - this._bBox.x),\r\n translateY: this._y = _round(y - this._bBox.y)\r\n });\r\n if (this._connector) {\r\n this._connector.attr({\r\n points: this._getConnectorPoints()\r\n })\r\n }\r\n }\r\n return this\r\n },\r\n getBoundingRect: function() {\r\n return this._shiftBBox(this._bBox)\r\n },\r\n _shiftBBox: function(bBox) {\r\n return this._textContent ? {\r\n x: bBox.x + this._x,\r\n y: bBox.y + this._y,\r\n width: bBox.width,\r\n height: bBox.height\r\n } : {}\r\n },\r\n getLayoutOptions: function() {\r\n var options = this._options;\r\n return {\r\n alignment: options.alignment,\r\n background: checkBackground(options.background),\r\n horizontalOffset: options.horizontalOffset,\r\n verticalOffset: options.verticalOffset,\r\n radialOffset: options.radialOffset,\r\n position: options.position,\r\n connectorOffset: (checkConnector(options.connector) ? CONNECTOR_LENGTH : 0) + (checkBackground(options.background) ? LABEL_BACKGROUND_PADDING_X : 0)\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/sparklines/sparkline.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport BaseSparkline from \"./base_sparkline\";\r\nimport {\r\n validateData\r\n} from \"../components/data_validator\";\r\nimport {\r\n Series\r\n} from \"../series/base_series\";\r\nvar MIN_BAR_WIDTH = 1;\r\nvar MAX_BAR_WIDTH = 50;\r\nvar DEFAULT_BAR_INTERVAL = 4;\r\nvar DEFAULT_CANVAS_WIDTH = 250;\r\nvar DEFAULT_CANVAS_HEIGHT = 30;\r\nvar DEFAULT_POINT_BORDER = 2;\r\nvar ALLOWED_TYPES = {\r\n line: true,\r\n spline: true,\r\n stepline: true,\r\n area: true,\r\n steparea: true,\r\n splinearea: true,\r\n bar: true,\r\n winloss: true\r\n};\r\nvar _math = Math;\r\nvar _abs = _math.abs;\r\nvar _round = _math.round;\r\nvar _max = _math.max;\r\nvar _min = _math.min;\r\nvar _isFinite = isFinite;\r\nimport {\r\n map as _map,\r\n normalizeEnum as _normalizeEnum\r\n} from \"../core/utils\";\r\nimport {\r\n isDefined as _isDefined\r\n} from \"../../core/utils/type\";\r\nvar _Number = Number;\r\nvar _String = String;\r\n\r\nfunction findMinMax(data, valField) {\r\n var firstItem = data[0] || {};\r\n var firstValue = firstItem[valField] || 0;\r\n var min = firstValue;\r\n var max = firstValue;\r\n var minIndexes = [0];\r\n var maxIndexes = [0];\r\n var dataLength = data.length;\r\n var value;\r\n var i;\r\n for (i = 1; i < dataLength; i++) {\r\n value = data[i][valField];\r\n if (value < min) {\r\n min = value;\r\n minIndexes = [i]\r\n } else if (value === min) {\r\n minIndexes.push(i)\r\n }\r\n if (value > max) {\r\n max = value;\r\n maxIndexes = [i]\r\n } else if (value === max) {\r\n maxIndexes.push(i)\r\n }\r\n }\r\n if (max === min) {\r\n minIndexes = maxIndexes = []\r\n }\r\n return {\r\n minIndexes: minIndexes,\r\n maxIndexes: maxIndexes\r\n }\r\n}\r\n\r\nfunction parseNumericDataSource(data, argField, valField, ignoreEmptyPoints) {\r\n return _map(data, (function(dataItem, index) {\r\n var item = null;\r\n var isDataNumber;\r\n var value;\r\n if (void 0 !== dataItem) {\r\n item = {};\r\n isDataNumber = _isFinite(dataItem);\r\n item[argField] = isDataNumber ? _String(index) : dataItem[argField];\r\n value = isDataNumber ? dataItem : dataItem[valField];\r\n item[valField] = null === value ? ignoreEmptyPoints ? void 0 : value : _Number(value);\r\n item = void 0 !== item[argField] && void 0 !== item[valField] ? item : null\r\n }\r\n return item\r\n }))\r\n}\r\n\r\nfunction parseWinlossDataSource(data, argField, valField, target) {\r\n return _map(data, (function(dataItem) {\r\n var item = {};\r\n item[argField] = dataItem[argField];\r\n if (_abs(dataItem[valField] - target) < 1e-4) {\r\n item[valField] = 0\r\n } else if (dataItem[valField] > target) {\r\n item[valField] = 1\r\n } else {\r\n item[valField] = -1\r\n }\r\n return item\r\n }))\r\n}\r\n\r\nfunction selectPointColor(color, options, index, pointIndexes) {\r\n if (index === pointIndexes.first || index === pointIndexes.last) {\r\n color = options.firstLastColor\r\n }\r\n if ((pointIndexes.min || []).indexOf(index) >= 0) {\r\n color = options.minColor\r\n }\r\n if ((pointIndexes.max || []).indexOf(index) >= 0) {\r\n color = options.maxColor\r\n }\r\n return color\r\n}\r\n\r\nfunction createLineCustomizeFunction(pointIndexes, options) {\r\n return function() {\r\n var color = selectPointColor(void 0, options, this.index, pointIndexes);\r\n return color ? {\r\n visible: true,\r\n border: {\r\n color: color\r\n }\r\n } : {}\r\n }\r\n}\r\n\r\nfunction createBarCustomizeFunction(pointIndexes, options, winlossData) {\r\n return function() {\r\n var index = this.index;\r\n var isWinloss = \"winloss\" === options.type;\r\n var target = isWinloss ? options.winlossThreshold : 0;\r\n var value = isWinloss ? winlossData[index][options.valueField] : this.value;\r\n var positiveColor = isWinloss ? options.winColor : options.barPositiveColor;\r\n var negativeColor = isWinloss ? options.lossColor : options.barNegativeColor;\r\n return {\r\n color: selectPointColor(value >= target ? positiveColor : negativeColor, options, index, pointIndexes)\r\n }\r\n }\r\n}\r\nvar dxSparkline = BaseSparkline.inherit({\r\n _rootClassPrefix: \"dxsl\",\r\n _rootClass: \"dxsl-sparkline\",\r\n _themeSection: \"sparkline\",\r\n _defaultSize: {\r\n width: DEFAULT_CANVAS_WIDTH,\r\n height: DEFAULT_CANVAS_HEIGHT\r\n },\r\n _initCore: function() {\r\n this.callBase();\r\n this._createSeries()\r\n },\r\n _initialChanges: [\"DATA_SOURCE\"],\r\n _dataSourceChangedHandler: function() {\r\n this._requestChange([\"UPDATE\"])\r\n },\r\n _updateWidgetElements: function() {\r\n this._updateSeries();\r\n this.callBase()\r\n },\r\n _disposeWidgetElements: function() {\r\n this._series && this._series.dispose();\r\n this._series = this._seriesGroup = this._seriesLabelGroup = null\r\n },\r\n _cleanWidgetElements: function() {\r\n this._seriesGroup.remove();\r\n this._seriesLabelGroup.remove();\r\n this._seriesGroup.clear();\r\n this._seriesLabelGroup.clear();\r\n this._series.removeGraphicElements();\r\n this._series.removePointElements();\r\n this._series.removeBordersGroup()\r\n },\r\n _drawWidgetElements: function() {\r\n if (this._dataIsLoaded()) {\r\n this._drawSeries();\r\n this._drawn()\r\n }\r\n },\r\n _getCorrectCanvas: function() {\r\n var options = this._allOptions;\r\n var canvas = this._canvas;\r\n var halfPointSize = options.pointSize && Math.ceil(options.pointSize / 2) + DEFAULT_POINT_BORDER;\r\n var type = options.type;\r\n if (\"bar\" !== type && \"winloss\" !== type && (options.showFirstLast || options.showMinMax)) {\r\n return {\r\n width: canvas.width,\r\n height: canvas.height,\r\n left: canvas.left + halfPointSize,\r\n right: canvas.right + halfPointSize,\r\n top: canvas.top + halfPointSize,\r\n bottom: canvas.bottom + halfPointSize\r\n }\r\n }\r\n return canvas\r\n },\r\n _prepareOptions: function() {\r\n this._allOptions = this.callBase();\r\n this._allOptions.type = _normalizeEnum(this._allOptions.type);\r\n if (!ALLOWED_TYPES[this._allOptions.type]) {\r\n this._allOptions.type = \"line\"\r\n }\r\n },\r\n _createHtmlElements: function() {\r\n this._seriesGroup = this._renderer.g().attr({\r\n class: \"dxsl-series\"\r\n });\r\n this._seriesLabelGroup = this._renderer.g().attr({\r\n class: \"dxsl-series-labels\"\r\n })\r\n },\r\n _createSeries: function() {\r\n this._series = new Series({\r\n renderer: this._renderer,\r\n seriesGroup: this._seriesGroup,\r\n labelsGroup: this._seriesLabelGroup,\r\n argumentAxis: this._argumentAxis,\r\n valueAxis: this._valueAxis,\r\n incidentOccurred: this._incidentOccurred\r\n }, {\r\n widgetType: \"chart\",\r\n type: \"line\"\r\n })\r\n },\r\n _updateSeries: function() {\r\n var singleSeries = this._series;\r\n this._prepareDataSource();\r\n var seriesOptions = this._prepareSeriesOptions();\r\n singleSeries.updateOptions(seriesOptions);\r\n var groupsData = {\r\n groups: [{\r\n series: [singleSeries]\r\n }]\r\n };\r\n groupsData.argumentOptions = {\r\n type: \"bar\" === seriesOptions.type ? \"discrete\" : void 0\r\n };\r\n this._simpleDataSource = validateData(this._simpleDataSource, groupsData, this._incidentOccurred, {\r\n checkTypeForAllData: false,\r\n convertToAxisDataType: true,\r\n sortingMethod: true\r\n })[singleSeries.getArgumentField()];\r\n seriesOptions.customizePoint = this._getCustomizeFunction();\r\n singleSeries.updateData(this._simpleDataSource);\r\n singleSeries.createPoints();\r\n this._groupsDataCategories = groupsData.categories\r\n },\r\n _optionChangesMap: {\r\n dataSource: \"DATA_SOURCE\"\r\n },\r\n _optionChangesOrder: [\"DATA_SOURCE\"],\r\n _change_DATA_SOURCE: function() {\r\n this._updateDataSource()\r\n },\r\n _prepareDataSource: function() {\r\n var options = this._allOptions;\r\n var argField = options.argumentField;\r\n var valField = options.valueField;\r\n var dataSource = this._dataSourceItems() || [];\r\n var data = parseNumericDataSource(dataSource, argField, valField, this.option(\"ignoreEmptyPoints\"));\r\n if (\"winloss\" === options.type) {\r\n this._winlossDataSource = data;\r\n this._simpleDataSource = parseWinlossDataSource(data, argField, valField, options.winlossThreshold)\r\n } else {\r\n this._simpleDataSource = data\r\n }\r\n },\r\n _prepareSeriesOptions: function() {\r\n var options = this._allOptions;\r\n var type = \"winloss\" === options.type ? \"bar\" : options.type;\r\n return {\r\n visible: true,\r\n argumentField: options.argumentField,\r\n valueField: options.valueField,\r\n color: options.lineColor,\r\n width: options.lineWidth,\r\n widgetType: \"chart\",\r\n name: \"\",\r\n type: type,\r\n opacity: -1 !== type.indexOf(\"area\") ? this._allOptions.areaOpacity : void 0,\r\n point: {\r\n size: options.pointSize,\r\n symbol: options.pointSymbol,\r\n border: {\r\n visible: true,\r\n width: DEFAULT_POINT_BORDER\r\n },\r\n color: options.pointColor,\r\n visible: false,\r\n hoverStyle: {\r\n border: {}\r\n },\r\n selectionStyle: {\r\n border: {}\r\n }\r\n },\r\n border: {\r\n color: options.lineColor,\r\n width: options.lineWidth,\r\n visible: \"bar\" !== type\r\n }\r\n }\r\n },\r\n _getCustomizeFunction: function() {\r\n var options = this._allOptions;\r\n var dataSource = this._winlossDataSource || this._simpleDataSource;\r\n var drawnPointIndexes = this._getExtremumPointsIndexes(dataSource);\r\n var customizeFunction;\r\n if (\"winloss\" === options.type || \"bar\" === options.type) {\r\n customizeFunction = createBarCustomizeFunction(drawnPointIndexes, options, this._winlossDataSource)\r\n } else {\r\n customizeFunction = createLineCustomizeFunction(drawnPointIndexes, options)\r\n }\r\n return customizeFunction\r\n },\r\n _getExtremumPointsIndexes: function(data) {\r\n var options = this._allOptions;\r\n var lastIndex = data.length - 1;\r\n var indexes = {};\r\n this._minMaxIndexes = findMinMax(data, options.valueField);\r\n if (options.showFirstLast) {\r\n indexes.first = 0;\r\n indexes.last = lastIndex\r\n }\r\n if (options.showMinMax) {\r\n indexes.min = this._minMaxIndexes.minIndexes;\r\n indexes.max = this._minMaxIndexes.maxIndexes\r\n }\r\n return indexes\r\n },\r\n _getStick: function() {\r\n return {\r\n stick: \"bar\" !== this._series.type\r\n }\r\n },\r\n _updateRange: function() {\r\n var series = this._series;\r\n var type = series.type;\r\n var isBarType = \"bar\" === type;\r\n var isWinlossType = \"winloss\" === type;\r\n var rangeData = series.getRangeData();\r\n var minValue = this._allOptions.minValue;\r\n var hasMinY = _isDefined(minValue) && _isFinite(minValue);\r\n var maxValue = this._allOptions.maxValue;\r\n var hasMaxY = _isDefined(maxValue) && _isFinite(maxValue);\r\n var argCoef;\r\n var valCoef = .15 * (rangeData.val.max - rangeData.val.min);\r\n if (isBarType || isWinlossType || \"area\" === type) {\r\n if (0 !== rangeData.val.min) {\r\n rangeData.val.min -= valCoef\r\n }\r\n if (0 !== rangeData.val.max) {\r\n rangeData.val.max += valCoef\r\n }\r\n } else {\r\n rangeData.val.min -= valCoef;\r\n rangeData.val.max += valCoef\r\n }\r\n if (hasMinY || hasMaxY) {\r\n if (hasMinY && hasMaxY) {\r\n rangeData.val.minVisible = _min(minValue, maxValue);\r\n rangeData.val.maxVisible = _max(minValue, maxValue)\r\n } else {\r\n rangeData.val.minVisible = hasMinY ? _Number(minValue) : void 0;\r\n rangeData.val.maxVisible = hasMaxY ? _Number(maxValue) : void 0\r\n }\r\n if (isWinlossType) {\r\n rangeData.val.minVisible = hasMinY ? _max(rangeData.val.minVisible, -1) : void 0;\r\n rangeData.val.maxVisible = hasMaxY ? _min(rangeData.val.maxVisible, 1) : void 0\r\n }\r\n }\r\n if (series.getPoints().length > 1) {\r\n if (isBarType) {\r\n argCoef = .1 * (rangeData.arg.max - rangeData.arg.min);\r\n rangeData.arg.min = rangeData.arg.min - argCoef;\r\n rangeData.arg.max = rangeData.arg.max + argCoef\r\n }\r\n }\r\n rangeData.arg.categories = this._groupsDataCategories;\r\n this._ranges = rangeData\r\n },\r\n _getBarWidth: function(pointsCount) {\r\n var canvas = this._canvas;\r\n var intervalWidth = pointsCount * DEFAULT_BAR_INTERVAL;\r\n var rangeWidth = canvas.width - canvas.left - canvas.right - intervalWidth;\r\n var width = _round(rangeWidth / pointsCount);\r\n if (width < MIN_BAR_WIDTH) {\r\n width = MIN_BAR_WIDTH\r\n }\r\n if (width > MAX_BAR_WIDTH) {\r\n width = MAX_BAR_WIDTH\r\n }\r\n return width\r\n },\r\n _correctPoints: function() {\r\n var seriesType = this._allOptions.type;\r\n var seriesPoints = this._series.getPoints();\r\n var pointsLength = seriesPoints.length;\r\n var barWidth;\r\n var i;\r\n if (\"bar\" === seriesType || \"winloss\" === seriesType) {\r\n barWidth = this._getBarWidth(pointsLength);\r\n for (i = 0; i < pointsLength; i++) {\r\n seriesPoints[i].correctCoordinates({\r\n width: barWidth,\r\n offset: 0\r\n })\r\n }\r\n }\r\n },\r\n _drawSeries: function() {\r\n if (this._simpleDataSource.length > 0) {\r\n this._correctPoints();\r\n this._series.draw();\r\n this._seriesGroup.append(this._renderer.root)\r\n }\r\n },\r\n _isTooltipEnabled: function() {\r\n return !!this._simpleDataSource.length\r\n },\r\n _getTooltipData: function() {\r\n var options = this._allOptions;\r\n var dataSource = this._winlossDataSource || this._simpleDataSource;\r\n var tooltip = this._tooltip;\r\n if (0 === dataSource.length) {\r\n return {}\r\n }\r\n var minMax = this._minMaxIndexes;\r\n var valueField = options.valueField;\r\n var first = dataSource[0][valueField];\r\n var last = dataSource[dataSource.length - 1][valueField];\r\n var min = _isDefined(minMax.minIndexes[0]) ? dataSource[minMax.minIndexes[0]][valueField] : first;\r\n var max = _isDefined(minMax.maxIndexes[0]) ? dataSource[minMax.maxIndexes[0]][valueField] : first;\r\n var formattedFirst = tooltip.formatValue(first);\r\n var formattedLast = tooltip.formatValue(last);\r\n var formattedMin = tooltip.formatValue(min);\r\n var formattedMax = tooltip.formatValue(max);\r\n var customizeObject = {\r\n firstValue: formattedFirst,\r\n lastValue: formattedLast,\r\n minValue: formattedMin,\r\n maxValue: formattedMax,\r\n originalFirstValue: first,\r\n originalLastValue: last,\r\n originalMinValue: min,\r\n originalMaxValue: max,\r\n valueText: [\"Start:\", formattedFirst, \"End:\", formattedLast, \"Min:\", formattedMin, \"Max:\", formattedMax]\r\n };\r\n if (\"winloss\" === options.type) {\r\n customizeObject.originalThresholdValue = options.winlossThreshold;\r\n customizeObject.thresholdValue = tooltip.formatValue(options.winlossThreshold)\r\n }\r\n return customizeObject\r\n }\r\n});\r\n_map([\"lineColor\", \"lineWidth\", \"areaOpacity\", \"minColor\", \"maxColor\", \"barPositiveColor\", \"barNegativeColor\", \"winColor\", \"lessColor\", \"firstLastColor\", \"pointSymbol\", \"pointColor\", \"pointSize\", \"type\", \"argumentField\", \"valueField\", \"winlossThreshold\", \"showFirstLast\", \"showMinMax\", \"ignoreEmptyPoints\", \"minValue\", \"maxValue\"], (function(name) {\r\n dxSparkline.prototype._optionChangesMap[name] = \"OPTIONS\"\r\n}));\r\nimport componentRegistrator from \"../../core/component_registrator\";\r\ncomponentRegistrator(\"dxSparkline\", dxSparkline);\r\nexport default dxSparkline;\r\nimport {\r\n plugin\r\n} from \"../core/data_source\";\r\ndxSparkline.addPlugin(plugin);\r\n","/**\r\n * DevExtreme (esm/viz/sparkline.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Sparkline from \"./sparklines/sparkline\";\r\nexport default Sparkline;\r\n","/**\r\n * DevExtreme (esm/viz/sparklines/base_sparkline.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport BaseWidget from \"../../__internal/viz/core/m_base_widget\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport {\r\n pointInCanvas\r\n} from \"../core/utils\";\r\nvar DEFAULT_LINE_SPACING = 2;\r\nvar EVENT_NS = \"sparkline-tooltip\";\r\nvar POINTER_ACTION = addNamespace([pointerEvents.down, pointerEvents.move], EVENT_NS);\r\nimport {\r\n Translator2D\r\n} from \"../translators/translator2d\";\r\nvar _extend = extend;\r\nvar _floor = Math.floor;\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\n\r\nfunction inCanvas(_ref, x, y) {\r\n var {\r\n width: width,\r\n height: height\r\n } = _ref;\r\n return pointInCanvas({\r\n left: 0,\r\n top: 0,\r\n right: width,\r\n bottom: height,\r\n width: width,\r\n height: height\r\n }, x, y)\r\n}\r\n\r\nfunction pointerHandler(_ref2) {\r\n var {\r\n data: data\r\n } = _ref2;\r\n var that = data.widget;\r\n that._enableOutHandler();\r\n that._showTooltip()\r\n}\r\n\r\nfunction generateDefaultCustomizeTooltipCallback(fontOptions, rtlEnabled) {\r\n var lineSpacing = fontOptions.lineSpacing;\r\n var lineHeight = (void 0 !== lineSpacing && null !== lineSpacing ? lineSpacing : DEFAULT_LINE_SPACING) + fontOptions.size;\r\n return function(customizeObject) {\r\n var html = \"\";\r\n var vt = customizeObject.valueText;\r\n for (var i = 0; i < vt.length; i += 2) {\r\n html += \"<tr><td>\" + vt[i] + \"</td><td style='width: 15px'></td><td style='text-align: \" + (rtlEnabled ? \"left\" : \"right\") + \"'>\" + vt[i + 1] + \"</td></tr>\"\r\n }\r\n return {\r\n html: \"<table style='border-spacing:0px; line-height: \" + lineHeight + \"px'>\" + html + \"</table>\"\r\n }\r\n }\r\n}\r\n\r\nfunction generateCustomizeTooltipCallback(customizeTooltip, fontOptions, rtlEnabled) {\r\n var defaultCustomizeTooltip = generateDefaultCustomizeTooltipCallback(fontOptions, rtlEnabled);\r\n if (isFunction(customizeTooltip)) {\r\n return function(customizeObject) {\r\n var res = customizeTooltip.call(customizeObject, customizeObject);\r\n if (!(\"html\" in res) && !(\"text\" in res)) {\r\n _extend(res, defaultCustomizeTooltip.call(customizeObject, customizeObject))\r\n }\r\n return res\r\n }\r\n } else {\r\n return defaultCustomizeTooltip\r\n }\r\n}\r\n\r\nfunction createAxis(isHorizontal) {\r\n var translator = new Translator2D({}, {}, {\r\n shiftZeroValue: !isHorizontal,\r\n isHorizontal: !!isHorizontal\r\n });\r\n return {\r\n getTranslator: function() {\r\n return translator\r\n },\r\n update: function(range, canvas, options) {\r\n translator.update(range, canvas, options)\r\n },\r\n getVisibleArea() {\r\n var visibleArea = translator.getCanvasVisibleArea();\r\n return [visibleArea.min, visibleArea.max]\r\n },\r\n visualRange: _noop,\r\n calculateInterval: _noop,\r\n getMarginOptions: () => ({}),\r\n aggregatedPointBetweenTicks: () => false\r\n }\r\n}\r\nvar _initTooltip;\r\nvar BaseSparkline = BaseWidget.inherit({\r\n _getLayoutItems: _noop,\r\n _useLinks: false,\r\n _themeDependentChanges: [\"OPTIONS\"],\r\n _initCore: function() {\r\n this._tooltipTracker = this._renderer.root;\r\n this._tooltipTracker.attr({\r\n \"pointer-events\": \"visible\"\r\n });\r\n this._createHtmlElements();\r\n this._initTooltipEvents();\r\n this._argumentAxis = createAxis(true);\r\n this._valueAxis = createAxis()\r\n },\r\n _getDefaultSize: function() {\r\n return this._defaultSize\r\n },\r\n _disposeCore: function() {\r\n this._disposeWidgetElements();\r\n this._disposeTooltipEvents();\r\n this._ranges = null\r\n },\r\n _optionChangesOrder: [\"OPTIONS\"],\r\n _change_OPTIONS: function() {\r\n this._prepareOptions();\r\n this._change([\"UPDATE\"])\r\n },\r\n _customChangesOrder: [\"UPDATE\"],\r\n _change_UPDATE: function() {\r\n this._update()\r\n },\r\n _update: function() {\r\n if (this._tooltipShown) {\r\n this._tooltipShown = false;\r\n this._tooltip.hide()\r\n }\r\n this._cleanWidgetElements();\r\n this._updateWidgetElements();\r\n this._drawWidgetElements()\r\n },\r\n _updateWidgetElements: function() {\r\n var canvas = this._getCorrectCanvas();\r\n this._updateRange();\r\n this._argumentAxis.update(this._ranges.arg, canvas, this._getStick());\r\n this._valueAxis.update(this._ranges.val, canvas)\r\n },\r\n _getStick: function() {},\r\n _applySize: function(rect) {\r\n this._allOptions.size = {\r\n width: rect[2] - rect[0],\r\n height: rect[3] - rect[1]\r\n };\r\n this._change([\"UPDATE\"])\r\n },\r\n _setupResizeHandler: _noop,\r\n _prepareOptions: function() {\r\n return _extend(true, {}, this._themeManager.theme(), this.option())\r\n },\r\n _getTooltipCoords: function() {\r\n var canvas = this._canvas;\r\n var rootOffset = this._renderer.getRootOffset();\r\n return {\r\n x: canvas.width / 2 + rootOffset.left,\r\n y: canvas.height / 2 + rootOffset.top\r\n }\r\n },\r\n _initTooltipEvents() {\r\n var data = {\r\n widget: this\r\n };\r\n this._renderer.root.off(\".\" + EVENT_NS).on(POINTER_ACTION, data, pointerHandler)\r\n },\r\n _showTooltip() {\r\n var tooltip;\r\n if (!this._tooltipShown) {\r\n this._tooltipShown = true;\r\n tooltip = this._getTooltip();\r\n tooltip.isEnabled() && this._tooltip.show(this._getTooltipData(), this._getTooltipCoords(), {})\r\n }\r\n },\r\n _hideTooltip() {\r\n if (this._tooltipShown) {\r\n this._tooltipShown = false;\r\n this._tooltip.hide()\r\n }\r\n },\r\n _stopCurrentHandling() {\r\n this._hideTooltip()\r\n },\r\n _enableOutHandler() {\r\n var that = this;\r\n if (that._outHandler) {\r\n return\r\n }\r\n var handler = _ref3 => {\r\n var {\r\n pageX: pageX,\r\n pageY: pageY\r\n } = _ref3;\r\n var {\r\n left: left,\r\n top: top\r\n } = that._renderer.getRootOffset();\r\n var x = _floor(pageX - left);\r\n var y = _floor(pageY - top);\r\n if (!inCanvas(that._canvas, x, y)) {\r\n that._hideTooltip();\r\n that._disableOutHandler()\r\n }\r\n };\r\n eventsEngine.on(domAdapter.getDocument(), POINTER_ACTION, handler);\r\n this._outHandler = handler\r\n },\r\n _disableOutHandler() {\r\n this._outHandler && eventsEngine.off(domAdapter.getDocument(), POINTER_ACTION, this._outHandler);\r\n this._outHandler = null\r\n },\r\n _disposeTooltipEvents: function() {\r\n this._tooltipTracker.off();\r\n this._disableOutHandler();\r\n this._renderer.root.off(\".\" + EVENT_NS)\r\n },\r\n _getTooltip: function() {\r\n var that = this;\r\n if (!that._tooltip) {\r\n _initTooltip.apply(this, arguments);\r\n that._setTooltipRendererOptions(that._tooltipRendererOptions);\r\n that._tooltipRendererOptions = null;\r\n that._setTooltipOptions()\r\n }\r\n return that._tooltip\r\n }\r\n});\r\nexport default BaseSparkline;\r\nimport {\r\n plugin as tooltipPlugin\r\n} from \"../core/tooltip\";\r\nBaseSparkline.addPlugin(tooltipPlugin);\r\n_initTooltip = BaseSparkline.prototype._initTooltip;\r\nBaseSparkline.prototype._initTooltip = _noop;\r\nvar _disposeTooltip = BaseSparkline.prototype._disposeTooltip;\r\nBaseSparkline.prototype._disposeTooltip = function() {\r\n if (this._tooltip) {\r\n _disposeTooltip.apply(this, arguments)\r\n }\r\n};\r\nBaseSparkline.prototype._setTooltipRendererOptions = function() {\r\n var options = this._getRendererOptions();\r\n if (this._tooltip) {\r\n this._tooltip.setRendererOptions(options)\r\n } else {\r\n this._tooltipRendererOptions = options\r\n }\r\n};\r\nBaseSparkline.prototype._setTooltipOptions = function() {\r\n var tooltip = this._tooltip;\r\n var options = tooltip && this._getOption(\"tooltip\");\r\n tooltip && tooltip.update(_extend({}, options, {\r\n customizeTooltip: generateCustomizeTooltipCallback(options.customizeTooltip, options.font, this.option(\"rtlEnabled\")),\r\n enabled: options.enabled && this._isTooltipEnabled()\r\n }))\r\n};\r\nimport {\r\n plugin\r\n} from \"../core/export\";\r\nvar exportPlugin = extend(true, {}, plugin, {\r\n init: _noop,\r\n dispose: _noop,\r\n customize: null,\r\n members: {\r\n _getExportMenuOptions: null\r\n }\r\n});\r\nBaseSparkline.addPlugin(exportPlugin);\r\n","/**\r\n * DevExtreme (esm/viz/core/themes/generic.light.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar WHITE = \"#ffffff\";\r\nvar BLACK = \"#000000\";\r\nvar LIGHT_GREY = \"#d3d3d3\";\r\nvar GREY_GREEN = \"#303030\";\r\nvar SOME_GREY = \"#2b2b2b\";\r\nvar RED = \"#ff0000\";\r\nvar PRIMARY_TITLE_COLOR = \"#232323\";\r\nvar SECONDARY_TITLE_COLOR = \"#767676\";\r\nvar NONE = \"none\";\r\nvar SOLID = \"solid\";\r\nvar TOP = \"top\";\r\nvar RIGHT = \"right\";\r\nvar BOTTOM = \"bottom\";\r\nvar LEFT = \"left\";\r\nvar CENTER = \"center\";\r\nvar INSIDE = \"inside\";\r\nvar OUTSIDE = \"outside\";\r\nexport default [{\r\n theme: {\r\n name: \"generic.light\",\r\n isDefault: true,\r\n font: {\r\n color: SECONDARY_TITLE_COLOR,\r\n family: \"'Segoe UI', 'Helvetica Neue', 'Trebuchet MS', Verdana, sans-serif\",\r\n weight: 400,\r\n size: 12,\r\n cursor: \"default\"\r\n },\r\n redrawOnResize: true,\r\n backgroundColor: WHITE,\r\n primaryTitleColor: PRIMARY_TITLE_COLOR,\r\n secondaryTitleColor: SECONDARY_TITLE_COLOR,\r\n gridColor: LIGHT_GREY,\r\n axisColor: SECONDARY_TITLE_COLOR,\r\n title: {\r\n backgroundColor: WHITE,\r\n font: {\r\n size: 28,\r\n family: \"'Segoe UI Light', 'Helvetica Neue Light', 'Segoe UI', 'Helvetica Neue', 'Trebuchet MS', Verdana, sans-serif\",\r\n weight: 200\r\n },\r\n subtitle: {\r\n font: {\r\n size: 16\r\n },\r\n offset: 0,\r\n wordWrap: \"normal\",\r\n textOverflow: \"ellipsis\"\r\n },\r\n wordWrap: \"normal\",\r\n textOverflow: \"ellipsis\"\r\n },\r\n loadingIndicator: {\r\n text: \"Loading...\"\r\n },\r\n export: {\r\n backgroundColor: WHITE,\r\n margin: 10,\r\n font: {\r\n size: 14,\r\n color: PRIMARY_TITLE_COLOR,\r\n weight: 400\r\n },\r\n button: {\r\n margin: {\r\n top: 8,\r\n left: 10,\r\n right: 10,\r\n bottom: 8\r\n },\r\n default: {\r\n color: \"#333\",\r\n borderColor: \"#ddd\",\r\n backgroundColor: WHITE\r\n },\r\n hover: {\r\n color: \"#333\",\r\n borderColor: \"#bebebe\",\r\n backgroundColor: \"#e6e6e6\"\r\n },\r\n focus: {\r\n color: BLACK,\r\n borderColor: \"#9d9d9d\",\r\n backgroundColor: \"#e6e6e6\"\r\n },\r\n active: {\r\n color: \"#333\",\r\n borderColor: \"#9d9d9d\",\r\n backgroundColor: \"#d4d4d4\"\r\n }\r\n },\r\n shadowColor: LIGHT_GREY\r\n },\r\n tooltip: {\r\n enabled: false,\r\n border: {\r\n width: 1,\r\n color: LIGHT_GREY,\r\n dashStyle: SOLID,\r\n visible: true\r\n },\r\n font: {\r\n color: PRIMARY_TITLE_COLOR\r\n },\r\n color: WHITE,\r\n arrowLength: 10,\r\n paddingLeftRight: 18,\r\n paddingTopBottom: 15,\r\n textAlignment: \"center\",\r\n shared: false,\r\n location: CENTER,\r\n shadow: {\r\n opacity: .4,\r\n offsetX: 0,\r\n offsetY: 4,\r\n blur: 2,\r\n color: BLACK\r\n },\r\n interactive: false\r\n },\r\n legend: {\r\n hoverMode: \"includePoints\",\r\n verticalAlignment: TOP,\r\n horizontalAlignment: RIGHT,\r\n position: OUTSIDE,\r\n visible: true,\r\n margin: 10,\r\n markerSize: 12,\r\n border: {\r\n visible: false,\r\n width: 1,\r\n cornerRadius: 0,\r\n dashStyle: SOLID\r\n },\r\n paddingLeftRight: 20,\r\n paddingTopBottom: 15,\r\n columnCount: 0,\r\n rowCount: 0,\r\n columnItemSpacing: 20,\r\n rowItemSpacing: 8,\r\n title: {\r\n backgroundColor: WHITE,\r\n margin: {\r\n left: 0,\r\n bottom: 9,\r\n right: 0,\r\n top: 0\r\n },\r\n font: {\r\n size: 18,\r\n weight: 200\r\n },\r\n subtitle: {\r\n offset: 0,\r\n font: {\r\n size: 14\r\n },\r\n wordWrap: \"none\",\r\n textOverflow: \"ellipsis\"\r\n },\r\n wordWrap: \"none\",\r\n textOverflow: \"ellipsis\"\r\n }\r\n },\r\n \"chart:common\": {\r\n animation: {\r\n enabled: true,\r\n duration: 1e3,\r\n easing: \"easeOutCubic\",\r\n maxPointCountSupported: 300\r\n },\r\n commonSeriesSettings: {\r\n border: {\r\n visible: false,\r\n width: 2\r\n },\r\n showInLegend: true,\r\n visible: true,\r\n hoverMode: \"nearestPoint\",\r\n selectionMode: \"includePoints\",\r\n hoverStyle: {\r\n hatching: {\r\n direction: RIGHT,\r\n width: 2,\r\n step: 6,\r\n opacity: .75\r\n },\r\n border: {\r\n visible: false,\r\n width: 3\r\n }\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n direction: RIGHT,\r\n width: 2,\r\n step: 6,\r\n opacity: .5\r\n },\r\n border: {\r\n visible: false,\r\n width: 3\r\n }\r\n },\r\n valueErrorBar: {\r\n displayMode: \"auto\",\r\n value: 1,\r\n color: BLACK,\r\n lineWidth: 2,\r\n edgeLength: 8\r\n },\r\n label: {\r\n visible: false,\r\n alignment: CENTER,\r\n rotationAngle: 0,\r\n horizontalOffset: 0,\r\n verticalOffset: 0,\r\n radialOffset: 0,\r\n showForZeroValues: true,\r\n customizeText: void 0,\r\n maxLabelCount: void 0,\r\n position: OUTSIDE,\r\n font: {\r\n color: WHITE\r\n },\r\n border: {\r\n visible: false,\r\n width: 1,\r\n color: LIGHT_GREY,\r\n dashStyle: SOLID\r\n },\r\n connector: {\r\n visible: false,\r\n width: 1\r\n }\r\n }\r\n },\r\n seriesSelectionMode: \"single\",\r\n pointSelectionMode: \"single\",\r\n equalRowHeight: true,\r\n dataPrepareSettings: {\r\n checkTypeForAllData: false,\r\n convertToAxisDataType: true,\r\n sortingMethod: true\r\n },\r\n title: {\r\n margin: 10\r\n },\r\n adaptiveLayout: {\r\n width: 80,\r\n height: 80,\r\n keepLabels: true\r\n },\r\n _rtl: {\r\n legend: {\r\n itemTextPosition: LEFT\r\n }\r\n },\r\n resolveLabelOverlapping: NONE\r\n },\r\n \"chart:common:axis\": {\r\n visible: true,\r\n valueMarginsEnabled: true,\r\n placeholderSize: null,\r\n logarithmBase: 10,\r\n discreteAxisDivisionMode: \"betweenLabels\",\r\n aggregatedPointsPosition: \"betweenTicks\",\r\n width: 1,\r\n label: {\r\n visible: true\r\n },\r\n grid: {\r\n visible: false,\r\n width: 1\r\n },\r\n minorGrid: {\r\n visible: false,\r\n width: 1,\r\n opacity: .3\r\n },\r\n tick: {\r\n visible: true,\r\n width: 1,\r\n length: 7,\r\n shift: 3\r\n },\r\n minorTick: {\r\n visible: false,\r\n width: 1,\r\n opacity: .3,\r\n length: 7,\r\n shift: 3\r\n },\r\n stripStyle: {\r\n paddingLeftRight: 10,\r\n paddingTopBottom: 5\r\n },\r\n constantLineStyle: {\r\n width: 1,\r\n color: BLACK,\r\n dashStyle: SOLID,\r\n label: {\r\n visible: true,\r\n position: INSIDE\r\n }\r\n },\r\n marker: {\r\n label: {}\r\n }\r\n },\r\n \"chart:common:annotation\": {\r\n font: {\r\n color: \"#333333\"\r\n },\r\n tooltipEnabled: true,\r\n border: {\r\n width: 1,\r\n color: \"#dddddd\",\r\n dashStyle: SOLID,\r\n visible: true\r\n },\r\n color: WHITE,\r\n opacity: .9,\r\n arrowLength: 14,\r\n arrowWidth: 14,\r\n paddingLeftRight: 10,\r\n paddingTopBottom: 10,\r\n shadow: {\r\n opacity: .15,\r\n offsetX: 0,\r\n offsetY: 1,\r\n blur: 4,\r\n color: BLACK\r\n },\r\n image: {\r\n width: 30,\r\n height: 30\r\n },\r\n wordWrap: \"normal\",\r\n textOverflow: \"ellipsis\",\r\n allowDragging: false\r\n },\r\n chart: {\r\n commonSeriesSettings: {\r\n type: \"line\",\r\n stack: \"default\",\r\n aggregation: {\r\n enabled: void 0\r\n },\r\n point: {\r\n visible: true,\r\n symbol: \"circle\",\r\n size: 12,\r\n border: {\r\n visible: false,\r\n width: 1\r\n },\r\n hoverMode: \"onlyPoint\",\r\n selectionMode: \"onlyPoint\",\r\n hoverStyle: {\r\n border: {\r\n visible: true,\r\n width: 4\r\n }\r\n },\r\n selectionStyle: {\r\n border: {\r\n visible: true,\r\n width: 4\r\n }\r\n }\r\n },\r\n scatter: {},\r\n line: {\r\n width: 2,\r\n dashStyle: SOLID,\r\n hoverStyle: {\r\n width: 3,\r\n hatching: {\r\n direction: NONE\r\n }\r\n },\r\n selectionStyle: {\r\n width: 3\r\n }\r\n },\r\n stackedline: {\r\n width: 2,\r\n dashStyle: SOLID,\r\n hoverStyle: {\r\n width: 3,\r\n hatching: {\r\n direction: NONE\r\n }\r\n },\r\n selectionStyle: {\r\n width: 3\r\n }\r\n },\r\n stackedspline: {\r\n width: 2,\r\n dashStyle: SOLID,\r\n hoverStyle: {\r\n width: 3,\r\n hatching: {\r\n direction: NONE\r\n }\r\n },\r\n selectionStyle: {\r\n width: 3\r\n }\r\n },\r\n fullstackedline: {\r\n width: 2,\r\n dashStyle: SOLID,\r\n hoverStyle: {\r\n width: 3,\r\n hatching: {\r\n direction: NONE\r\n }\r\n },\r\n selectionStyle: {\r\n width: 3\r\n }\r\n },\r\n fullstackedspline: {\r\n width: 2,\r\n dashStyle: SOLID,\r\n hoverStyle: {\r\n width: 3,\r\n hatching: {\r\n direction: NONE\r\n }\r\n },\r\n selectionStyle: {\r\n width: 3\r\n }\r\n },\r\n stepline: {\r\n width: 2,\r\n dashStyle: SOLID,\r\n hoverStyle: {\r\n width: 3,\r\n hatching: {\r\n direction: NONE\r\n }\r\n },\r\n selectionStyle: {\r\n width: 3\r\n }\r\n },\r\n area: {\r\n point: {\r\n visible: false\r\n },\r\n opacity: .5\r\n },\r\n stackedarea: {\r\n point: {\r\n visible: false\r\n },\r\n opacity: .5\r\n },\r\n fullstackedarea: {\r\n point: {\r\n visible: false\r\n },\r\n opacity: .5\r\n },\r\n fullstackedsplinearea: {\r\n point: {\r\n visible: false\r\n },\r\n opacity: .5\r\n },\r\n steparea: {\r\n border: {\r\n visible: true,\r\n width: 2\r\n },\r\n point: {\r\n visible: false\r\n },\r\n hoverStyle: {\r\n border: {\r\n visible: true,\r\n width: 3\r\n }\r\n },\r\n selectionStyle: {\r\n border: {\r\n visible: true,\r\n width: 3\r\n }\r\n },\r\n opacity: .5\r\n },\r\n spline: {\r\n width: 2,\r\n hoverStyle: {\r\n width: 3,\r\n hatching: {\r\n direction: NONE\r\n }\r\n },\r\n selectionStyle: {\r\n width: 3\r\n }\r\n },\r\n splinearea: {\r\n point: {\r\n visible: false\r\n },\r\n opacity: .5\r\n },\r\n stackedsplinearea: {\r\n point: {\r\n visible: false\r\n },\r\n opacity: .5\r\n },\r\n bar: {\r\n cornerRadius: 0,\r\n point: {\r\n hoverStyle: {\r\n border: {\r\n visible: false\r\n }\r\n },\r\n selectionStyle: {\r\n border: {\r\n visible: false\r\n }\r\n }\r\n }\r\n },\r\n stackedbar: {\r\n cornerRadius: 0,\r\n point: {\r\n hoverStyle: {\r\n border: {\r\n visible: false\r\n }\r\n },\r\n selectionStyle: {\r\n border: {\r\n visible: false\r\n }\r\n }\r\n },\r\n label: {\r\n position: INSIDE\r\n }\r\n },\r\n fullstackedbar: {\r\n cornerRadius: 0,\r\n point: {\r\n hoverStyle: {\r\n border: {\r\n visible: false\r\n }\r\n },\r\n selectionStyle: {\r\n border: {\r\n visible: false\r\n }\r\n }\r\n },\r\n label: {\r\n position: INSIDE\r\n }\r\n },\r\n rangebar: {\r\n cornerRadius: 0,\r\n point: {\r\n hoverStyle: {\r\n border: {\r\n visible: false\r\n }\r\n },\r\n selectionStyle: {\r\n border: {\r\n visible: false\r\n }\r\n }\r\n }\r\n },\r\n rangearea: {\r\n point: {\r\n visible: false\r\n },\r\n opacity: .5\r\n },\r\n rangesplinearea: {\r\n point: {\r\n visible: false\r\n },\r\n opacity: .5\r\n },\r\n bubble: {\r\n opacity: .5,\r\n point: {\r\n hoverStyle: {\r\n border: {\r\n visible: false\r\n }\r\n },\r\n selectionStyle: {\r\n border: {\r\n visible: false\r\n }\r\n }\r\n }\r\n },\r\n candlestick: {\r\n width: 1,\r\n reduction: {\r\n color: RED\r\n },\r\n hoverStyle: {\r\n width: 3,\r\n hatching: {\r\n direction: NONE\r\n }\r\n },\r\n selectionStyle: {\r\n width: 3\r\n },\r\n point: {\r\n border: {\r\n visible: true\r\n }\r\n }\r\n },\r\n stock: {\r\n width: 1,\r\n reduction: {\r\n color: RED\r\n },\r\n hoverStyle: {\r\n width: 3,\r\n hatching: {\r\n direction: NONE\r\n }\r\n },\r\n selectionStyle: {\r\n width: 3\r\n },\r\n point: {\r\n border: {\r\n visible: true\r\n }\r\n }\r\n }\r\n },\r\n crosshair: {\r\n enabled: false,\r\n color: \"#f05b41\",\r\n width: 1,\r\n dashStyle: SOLID,\r\n label: {\r\n visible: false,\r\n font: {\r\n color: WHITE,\r\n size: 12\r\n }\r\n },\r\n verticalLine: {\r\n visible: true\r\n },\r\n horizontalLine: {\r\n visible: true\r\n }\r\n },\r\n commonAxisSettings: {\r\n multipleAxesSpacing: 5,\r\n forceUserTickInterval: false,\r\n breakStyle: {\r\n width: 5,\r\n color: \"#ababab\",\r\n line: \"waved\"\r\n },\r\n label: {\r\n displayMode: \"standard\",\r\n overlappingBehavior: \"hide\",\r\n indentFromAxis: 10,\r\n wordWrap: \"normal\",\r\n textOverflow: \"none\"\r\n },\r\n title: {\r\n font: {\r\n size: 16\r\n },\r\n margin: 6,\r\n alignment: CENTER\r\n },\r\n constantLineStyle: {\r\n paddingLeftRight: 10,\r\n paddingTopBottom: 10\r\n }\r\n },\r\n horizontalAxis: {\r\n position: BOTTOM,\r\n axisDivisionFactor: 70,\r\n label: {\r\n rotationAngle: 90,\r\n staggeringSpacing: 5,\r\n alignment: CENTER\r\n },\r\n stripStyle: {\r\n label: {\r\n horizontalAlignment: CENTER,\r\n verticalAlignment: TOP\r\n }\r\n },\r\n constantLineStyle: {\r\n label: {\r\n horizontalAlignment: RIGHT,\r\n verticalAlignment: TOP\r\n }\r\n },\r\n constantLines: []\r\n },\r\n verticalAxis: {\r\n position: LEFT,\r\n axisDivisionFactor: 40,\r\n label: {\r\n alignment: RIGHT\r\n },\r\n stripStyle: {\r\n label: {\r\n horizontalAlignment: LEFT,\r\n verticalAlignment: CENTER\r\n }\r\n },\r\n constantLineStyle: {\r\n label: {\r\n horizontalAlignment: LEFT,\r\n verticalAlignment: TOP\r\n }\r\n },\r\n constantLines: []\r\n },\r\n argumentAxis: {\r\n endOnTick: false,\r\n workWeek: [1, 2, 3, 4, 5]\r\n },\r\n valueAxis: {\r\n grid: {\r\n visible: true\r\n },\r\n autoBreaksEnabled: false,\r\n maxAutoBreakCount: 4\r\n },\r\n commonPaneSettings: {\r\n backgroundColor: NONE,\r\n border: {\r\n color: LIGHT_GREY,\r\n width: 1,\r\n visible: false,\r\n top: true,\r\n bottom: true,\r\n left: true,\r\n right: true,\r\n dashStyle: SOLID\r\n }\r\n },\r\n scrollBar: {\r\n visible: false,\r\n offset: 5,\r\n color: \"gray\",\r\n width: 10\r\n },\r\n adjustOnZoom: true,\r\n autoHidePointMarkers: true,\r\n rotated: false,\r\n synchronizeMultiAxes: true,\r\n stickyHovering: true,\r\n barGroupPadding: .3,\r\n minBubbleSize: 12,\r\n maxBubbleSize: .2,\r\n zoomAndPan: {\r\n dragBoxStyle: {\r\n color: \"#2a2a2a\",\r\n opacity: .2\r\n },\r\n panKey: \"shift\",\r\n allowMouseWheel: true,\r\n allowTouchGestures: true\r\n }\r\n },\r\n pie: {\r\n innerRadius: .5,\r\n minDiameter: .5,\r\n type: \"pie\",\r\n dataPrepareSettings: {\r\n _skipArgumentSorting: true\r\n },\r\n commonSeriesSettings: {\r\n pie: {\r\n border: {\r\n visible: false,\r\n width: 2,\r\n color: WHITE\r\n },\r\n hoverStyle: {\r\n hatching: {\r\n direction: RIGHT,\r\n width: 4,\r\n step: 10,\r\n opacity: .75\r\n },\r\n border: {\r\n visible: false,\r\n width: 2\r\n }\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n direction: RIGHT,\r\n width: 4,\r\n step: 10,\r\n opacity: .5\r\n },\r\n border: {\r\n visible: false,\r\n width: 2\r\n }\r\n }\r\n },\r\n doughnut: {\r\n border: {\r\n visible: false,\r\n width: 2,\r\n color: WHITE\r\n },\r\n hoverStyle: {\r\n hatching: {\r\n direction: RIGHT,\r\n width: 4,\r\n step: 10,\r\n opacity: .75\r\n },\r\n border: {\r\n visible: false,\r\n width: 2\r\n }\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n direction: RIGHT,\r\n width: 4,\r\n step: 10,\r\n opacity: .5\r\n },\r\n border: {\r\n visible: false,\r\n width: 2\r\n }\r\n }\r\n },\r\n donut: {\r\n border: {\r\n visible: false,\r\n width: 2,\r\n color: WHITE\r\n },\r\n hoverStyle: {\r\n hatching: {\r\n direction: RIGHT,\r\n width: 4,\r\n step: 10,\r\n opacity: .75\r\n },\r\n border: {\r\n visible: false,\r\n width: 2\r\n }\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n direction: RIGHT,\r\n width: 4,\r\n step: 10,\r\n opacity: .5\r\n },\r\n border: {\r\n visible: false,\r\n width: 2\r\n }\r\n }\r\n },\r\n label: {\r\n textOverflow: \"ellipsis\",\r\n wordWrap: \"normal\"\r\n }\r\n },\r\n legend: {\r\n hoverMode: \"allArgumentPoints\",\r\n backgroundColor: NONE\r\n },\r\n adaptiveLayout: {\r\n keepLabels: false\r\n }\r\n },\r\n gauge: {\r\n scale: {\r\n tick: {\r\n visible: true,\r\n length: 5,\r\n width: 2,\r\n opacity: 1\r\n },\r\n minorTick: {\r\n visible: false,\r\n length: 3,\r\n width: 1,\r\n opacity: 1\r\n },\r\n label: {\r\n visible: true,\r\n alignment: CENTER,\r\n hideFirstOrLast: \"last\",\r\n overlappingBehavior: \"hide\"\r\n },\r\n position: TOP,\r\n endOnTick: false\r\n },\r\n rangeContainer: {\r\n offset: 0,\r\n width: 5,\r\n backgroundColor: \"#808080\"\r\n },\r\n valueIndicators: {\r\n _default: {\r\n color: \"#c2c2c2\"\r\n },\r\n rangebar: {\r\n space: 2,\r\n size: 10,\r\n color: \"#cbc5cf\",\r\n backgroundColor: NONE,\r\n text: {\r\n indent: 0,\r\n font: {\r\n size: 14,\r\n color: null\r\n }\r\n }\r\n },\r\n twocolorneedle: {\r\n secondColor: \"#e18e92\"\r\n },\r\n trianglemarker: {\r\n space: 2,\r\n length: 14,\r\n width: 13,\r\n color: \"#8798a5\"\r\n },\r\n textcloud: {\r\n arrowLength: 5,\r\n horizontalOffset: 6,\r\n verticalOffset: 3,\r\n color: \"#679ec5\",\r\n text: {\r\n font: {\r\n color: WHITE,\r\n size: 18\r\n }\r\n }\r\n }\r\n },\r\n indicator: {\r\n hasPositiveMeaning: true,\r\n layout: {\r\n horizontalAlignment: CENTER,\r\n verticalAlignment: BOTTOM\r\n },\r\n text: {\r\n font: {\r\n size: 18\r\n }\r\n }\r\n },\r\n _circular: {\r\n scale: {\r\n scaleDivisionFactor: 17,\r\n orientation: OUTSIDE,\r\n label: {\r\n indentFromTick: 10\r\n }\r\n },\r\n rangeContainer: {\r\n orientation: OUTSIDE\r\n },\r\n valueIndicatorType: \"rectangleneedle\",\r\n subvalueIndicatorType: \"trianglemarker\",\r\n valueIndicators: {\r\n _type: \"rectangleneedle\",\r\n _default: {\r\n offset: 20,\r\n indentFromCenter: 0,\r\n width: 2,\r\n spindleSize: 14,\r\n spindleGapSize: 10,\r\n beginAdaptingAtRadius: 50\r\n },\r\n triangleneedle: {\r\n width: 4\r\n },\r\n twocolorneedle: {\r\n space: 2,\r\n secondFraction: .4\r\n },\r\n rangebar: {\r\n offset: 30\r\n },\r\n trianglemarker: {\r\n offset: 6\r\n },\r\n textcloud: {\r\n offset: -6\r\n }\r\n }\r\n },\r\n _linear: {\r\n scale: {\r\n scaleDivisionFactor: 25,\r\n horizontalOrientation: RIGHT,\r\n verticalOrientation: BOTTOM,\r\n label: {\r\n indentFromTick: -10\r\n }\r\n },\r\n rangeContainer: {\r\n horizontalOrientation: RIGHT,\r\n verticalOrientation: BOTTOM\r\n },\r\n valueIndicatorType: \"rangebar\",\r\n subvalueIndicatorType: \"trianglemarker\",\r\n valueIndicators: {\r\n _type: \"rectangle\",\r\n _default: {\r\n offset: 2.5,\r\n length: 15,\r\n width: 15\r\n },\r\n rectangle: {\r\n width: 10\r\n },\r\n rangebar: {\r\n offset: 10,\r\n horizontalOrientation: RIGHT,\r\n verticalOrientation: BOTTOM\r\n },\r\n trianglemarker: {\r\n offset: 10,\r\n horizontalOrientation: LEFT,\r\n verticalOrientation: TOP\r\n },\r\n textcloud: {\r\n offset: -1,\r\n horizontalOrientation: LEFT,\r\n verticalOrientation: TOP\r\n }\r\n }\r\n }\r\n },\r\n barGauge: {\r\n backgroundColor: \"#e0e0e0\",\r\n relativeInnerRadius: .3,\r\n barSpacing: 4,\r\n resolveLabelOverlapping: \"hide\",\r\n label: {\r\n indent: 20,\r\n connectorWidth: 2,\r\n font: {\r\n size: 16\r\n }\r\n },\r\n legend: {\r\n visible: false\r\n },\r\n indicator: {\r\n hasPositiveMeaning: true,\r\n layout: {\r\n horizontalAlignment: CENTER,\r\n verticalAlignment: BOTTOM\r\n },\r\n text: {\r\n font: {\r\n size: 18\r\n }\r\n }\r\n }\r\n },\r\n rangeSelector: {\r\n scale: {\r\n valueMarginsEnabled: true,\r\n width: 1,\r\n color: BLACK,\r\n opacity: .1,\r\n showCustomBoundaryTicks: true,\r\n label: {\r\n overlappingBehavior: \"hide\",\r\n alignment: CENTER,\r\n visible: true,\r\n topIndent: 7,\r\n font: {\r\n size: 11\r\n }\r\n },\r\n tick: {\r\n width: 1,\r\n color: BLACK,\r\n opacity: .17,\r\n visible: true,\r\n length: 12\r\n },\r\n minorTick: {\r\n width: 1,\r\n color: BLACK,\r\n opacity: .05,\r\n visible: true,\r\n length: 12\r\n },\r\n marker: {\r\n width: 1,\r\n color: \"#000000\",\r\n opacity: .1,\r\n visible: true,\r\n separatorHeight: 33,\r\n topIndent: 10,\r\n textLeftIndent: 7,\r\n textTopIndent: 11,\r\n label: {}\r\n },\r\n logarithmBase: 10,\r\n workWeek: [1, 2, 3, 4, 5],\r\n breakStyle: {\r\n width: 5,\r\n color: \"#ababab\",\r\n line: \"waved\"\r\n },\r\n endOnTick: false\r\n },\r\n selectedRangeColor: \"#606060\",\r\n sliderMarker: {\r\n visible: true,\r\n paddingTopBottom: 2,\r\n paddingLeftRight: 4,\r\n color: \"#606060\",\r\n invalidRangeColor: RED,\r\n font: {\r\n color: WHITE,\r\n size: 11\r\n }\r\n },\r\n sliderHandle: {\r\n width: 1,\r\n color: BLACK,\r\n opacity: .2\r\n },\r\n shutter: {\r\n opacity: .75\r\n },\r\n background: {\r\n color: \"#c0bae1\",\r\n visible: true,\r\n image: {\r\n location: \"full\"\r\n }\r\n },\r\n behavior: {\r\n snapToTicks: true,\r\n animationEnabled: true,\r\n moveSelectedRangeByClick: true,\r\n manualRangeSelectionEnabled: true,\r\n allowSlidersSwap: true,\r\n callValueChanged: \"onMovingComplete\"\r\n },\r\n redrawOnResize: true,\r\n chart: {\r\n barGroupPadding: .3,\r\n minBubbleSize: 12,\r\n maxBubbleSize: .2,\r\n topIndent: .1,\r\n bottomIndent: 0,\r\n valueAxis: {\r\n inverted: false,\r\n logarithmBase: 10\r\n },\r\n commonSeriesSettings: {\r\n type: \"area\",\r\n aggregation: {\r\n enabled: void 0\r\n },\r\n point: {\r\n visible: false\r\n },\r\n scatter: {\r\n point: {\r\n visible: true\r\n }\r\n }\r\n }\r\n }\r\n },\r\n map: {\r\n title: {\r\n margin: 10\r\n },\r\n background: {\r\n borderWidth: 1,\r\n borderColor: \"#cacaca\"\r\n },\r\n layer: {\r\n label: {\r\n enabled: false,\r\n stroke: WHITE,\r\n \"stroke-width\": 1,\r\n \"stroke-opacity\": .7,\r\n font: {\r\n color: SOME_GREY,\r\n size: 12\r\n }\r\n }\r\n },\r\n \"layer:area\": {\r\n borderWidth: 1,\r\n borderColor: WHITE,\r\n color: \"#d2d2d2\",\r\n hoveredBorderColor: GREY_GREEN,\r\n selectedBorderWidth: 2,\r\n selectedBorderColor: GREY_GREEN,\r\n label: {\r\n \"stroke-width\": 2,\r\n font: {\r\n size: 16\r\n }\r\n }\r\n },\r\n \"layer:line\": {\r\n borderWidth: 2,\r\n color: \"#ba8365\",\r\n hoveredColor: \"#a94813\",\r\n selectedBorderWidth: 3,\r\n selectedColor: \"#e55100\",\r\n label: {\r\n \"stroke-width\": 2,\r\n font: {\r\n size: 16\r\n }\r\n }\r\n },\r\n \"layer:marker\": {\r\n label: {\r\n enabled: true,\r\n \"stroke-width\": 1,\r\n font: {\r\n size: 12\r\n }\r\n }\r\n },\r\n \"layer:marker:dot\": {\r\n borderWidth: 2,\r\n borderColor: WHITE,\r\n size: 8,\r\n selectedStep: 2,\r\n backStep: 18,\r\n backColor: WHITE,\r\n backOpacity: .32,\r\n shadow: true\r\n },\r\n \"layer:marker:bubble\": {\r\n minSize: 20,\r\n maxSize: 50,\r\n hoveredBorderWidth: 1,\r\n hoveredBorderColor: GREY_GREEN,\r\n selectedBorderWidth: 2,\r\n selectedBorderColor: GREY_GREEN\r\n },\r\n \"layer:marker:pie\": {\r\n size: 50,\r\n hoveredBorderWidth: 1,\r\n hoveredBorderColor: GREY_GREEN,\r\n selectedBorderWidth: 2,\r\n selectedBorderColor: GREY_GREEN\r\n },\r\n \"layer:marker:image\": {\r\n size: 20\r\n },\r\n legend: {\r\n verticalAlignment: BOTTOM,\r\n horizontalAlignment: RIGHT,\r\n position: INSIDE,\r\n backgroundOpacity: .65,\r\n border: {\r\n visible: true\r\n },\r\n paddingLeftRight: 16,\r\n paddingTopBottom: 12\r\n },\r\n controlBar: {\r\n borderColor: \"#5d5d5d\",\r\n borderWidth: 3,\r\n color: WHITE,\r\n margin: 20,\r\n opacity: .3\r\n },\r\n _rtl: {\r\n legend: {\r\n itemTextPosition: LEFT\r\n }\r\n }\r\n },\r\n treeMap: {\r\n tile: {\r\n border: {\r\n width: 1,\r\n opacity: .2,\r\n color: \"#000000\"\r\n },\r\n color: \"#5f8b95\",\r\n hoverStyle: {\r\n hatching: {\r\n opacity: .75,\r\n step: 6,\r\n width: 2,\r\n direction: \"right\"\r\n },\r\n border: {}\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n opacity: .5,\r\n step: 6,\r\n width: 2,\r\n direction: \"right\"\r\n },\r\n border: {\r\n opacity: 1\r\n }\r\n },\r\n label: {\r\n visible: true,\r\n paddingLeftRight: 5,\r\n paddingTopBottom: 4,\r\n font: {\r\n color: \"#ffffff\",\r\n weight: 600\r\n },\r\n shadow: {\r\n opacity: .6,\r\n offsetX: 0,\r\n offsetY: 1,\r\n blur: 2,\r\n color: \"#000000\"\r\n },\r\n wordWrap: \"normal\",\r\n textOverflow: \"ellipsis\"\r\n }\r\n },\r\n group: {\r\n padding: 4,\r\n border: {\r\n width: 1\r\n },\r\n color: \"#eeeeee\",\r\n hoverStyle: {\r\n hatching: {\r\n opacity: 0,\r\n step: 6,\r\n width: 2,\r\n direction: \"right\"\r\n },\r\n border: {}\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n opacity: 0,\r\n step: 6,\r\n width: 2,\r\n direction: \"right\"\r\n },\r\n border: {}\r\n },\r\n label: {\r\n visible: true,\r\n paddingLeftRight: 5,\r\n paddingTopBottom: 4,\r\n font: {\r\n color: SECONDARY_TITLE_COLOR,\r\n weight: 600\r\n },\r\n textOverflow: \"ellipsis\"\r\n }\r\n },\r\n title: {\r\n subtitle: {}\r\n },\r\n tooltip: {},\r\n loadingIndicator: {}\r\n },\r\n sparkline: {\r\n lineColor: \"#666666\",\r\n lineWidth: 2,\r\n areaOpacity: .2,\r\n minColor: \"#e8c267\",\r\n maxColor: \"#e55253\",\r\n barPositiveColor: \"#a9a9a9\",\r\n barNegativeColor: \"#d7d7d7\",\r\n winColor: \"#a9a9a9\",\r\n lossColor: \"#d7d7d7\",\r\n firstLastColor: \"#666666\",\r\n pointSymbol: \"circle\",\r\n pointColor: WHITE,\r\n pointSize: 4,\r\n type: \"line\",\r\n argumentField: \"arg\",\r\n valueField: \"val\",\r\n winlossThreshold: 0,\r\n showFirstLast: true,\r\n showMinMax: false,\r\n tooltip: {\r\n enabled: true\r\n }\r\n },\r\n bullet: {\r\n color: \"#e8c267\",\r\n targetColor: \"#666666\",\r\n targetWidth: 4,\r\n showTarget: true,\r\n showZeroLevel: true,\r\n tooltip: {\r\n enabled: true\r\n }\r\n },\r\n polar: {\r\n commonSeriesSettings: {\r\n type: \"scatter\",\r\n closed: true,\r\n point: {\r\n visible: true,\r\n symbol: \"circle\",\r\n size: 12,\r\n border: {\r\n visible: false,\r\n width: 1\r\n },\r\n hoverMode: \"onlyPoint\",\r\n selectionMode: \"onlyPoint\",\r\n hoverStyle: {\r\n border: {\r\n visible: true,\r\n width: 4\r\n },\r\n size: 12\r\n },\r\n selectionStyle: {\r\n border: {\r\n visible: true,\r\n width: 4\r\n },\r\n size: 12\r\n }\r\n },\r\n scatter: {},\r\n line: {\r\n width: 2,\r\n dashStyle: SOLID,\r\n hoverStyle: {\r\n width: 3,\r\n hatching: {\r\n direction: NONE\r\n }\r\n },\r\n selectionStyle: {\r\n width: 3\r\n }\r\n },\r\n area: {\r\n point: {\r\n visible: false\r\n },\r\n opacity: .5\r\n },\r\n stackedline: {\r\n width: 2\r\n },\r\n bar: {\r\n opacity: .8\r\n },\r\n stackedbar: {\r\n opacity: .8\r\n }\r\n },\r\n adaptiveLayout: {\r\n width: 80,\r\n height: 80,\r\n keepLabels: true\r\n },\r\n barGroupPadding: .3,\r\n commonAxisSettings: {\r\n visible: true,\r\n forceUserTickInterval: false,\r\n label: {\r\n overlappingBehavior: \"hide\",\r\n indentFromAxis: 5\r\n },\r\n grid: {\r\n visible: true\r\n },\r\n minorGrid: {\r\n visible: true\r\n },\r\n tick: {\r\n visible: true\r\n },\r\n title: {\r\n font: {\r\n size: 16\r\n },\r\n margin: 10\r\n }\r\n },\r\n argumentAxis: {\r\n startAngle: 0,\r\n firstPointOnStartAngle: false,\r\n period: void 0\r\n },\r\n valueAxis: {\r\n endOnTick: false,\r\n tick: {\r\n visible: false\r\n }\r\n },\r\n horizontalAxis: {\r\n position: TOP,\r\n axisDivisionFactor: 50,\r\n label: {\r\n alignment: CENTER\r\n }\r\n },\r\n verticalAxis: {\r\n position: TOP,\r\n axisDivisionFactor: 30,\r\n label: {\r\n alignment: RIGHT\r\n }\r\n }\r\n },\r\n funnel: {\r\n sortData: true,\r\n valueField: \"val\",\r\n colorField: \"color\",\r\n argumentField: \"arg\",\r\n hoverEnabled: true,\r\n selectionMode: \"single\",\r\n item: {\r\n border: {\r\n visible: false,\r\n width: 2,\r\n color: WHITE\r\n },\r\n hoverStyle: {\r\n hatching: {\r\n opacity: .75,\r\n step: 6,\r\n width: 2,\r\n direction: RIGHT\r\n },\r\n border: {}\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n opacity: .5,\r\n step: 6,\r\n width: 2,\r\n direction: RIGHT\r\n },\r\n border: {}\r\n }\r\n },\r\n title: {\r\n margin: 10\r\n },\r\n adaptiveLayout: {\r\n width: 80,\r\n height: 80,\r\n keepLabels: true\r\n },\r\n legend: {\r\n visible: false\r\n },\r\n _rtl: {\r\n legend: {\r\n itemTextPosition: LEFT\r\n }\r\n },\r\n tooltip: {\r\n customizeTooltip: function(info) {\r\n return {\r\n text: info.item.argument + \" \" + info.valueText\r\n }\r\n }\r\n },\r\n inverted: false,\r\n algorithm: \"dynamicSlope\",\r\n neckWidth: 0,\r\n neckHeight: 0,\r\n resolveLabelOverlapping: \"shift\",\r\n label: {\r\n textOverflow: \"ellipsis\",\r\n wordWrap: \"normal\",\r\n visible: true,\r\n horizontalAlignment: RIGHT,\r\n horizontalOffset: 0,\r\n verticalOffset: 0,\r\n showForZeroValues: false,\r\n customizeText: function(info) {\r\n return info.item.argument + \" \" + info.valueText\r\n },\r\n position: \"columns\",\r\n font: {\r\n color: WHITE\r\n },\r\n border: {\r\n visible: false,\r\n width: 1,\r\n color: LIGHT_GREY,\r\n dashStyle: SOLID\r\n },\r\n connector: {\r\n visible: true,\r\n width: 1,\r\n opacity: .5\r\n }\r\n }\r\n },\r\n sankey: {\r\n sourceField: \"source\",\r\n targetField: \"target\",\r\n weightField: \"weight\",\r\n hoverEnabled: true,\r\n alignment: CENTER,\r\n adaptiveLayout: {\r\n width: 80,\r\n height: 80,\r\n keepLabels: true\r\n },\r\n label: {\r\n visible: true,\r\n horizontalOffset: 8,\r\n verticalOffset: 0,\r\n overlappingBehavior: \"ellipsis\",\r\n useNodeColors: false,\r\n font: {\r\n color: BLACK,\r\n weight: 500\r\n },\r\n border: {\r\n visible: false,\r\n width: 2,\r\n color: WHITE\r\n },\r\n customizeText: function(info) {\r\n return info.title\r\n },\r\n shadow: {\r\n opacity: .2,\r\n offsetX: 0,\r\n offsetY: 1,\r\n blur: 1,\r\n color: WHITE\r\n }\r\n },\r\n title: {\r\n margin: 10,\r\n font: {\r\n size: 28,\r\n weight: 200\r\n },\r\n subtitle: {\r\n font: {\r\n size: 16\r\n }\r\n }\r\n },\r\n tooltip: {\r\n enabled: true\r\n },\r\n node: {\r\n padding: 30,\r\n width: 8,\r\n opacity: 1,\r\n border: {\r\n color: WHITE,\r\n width: 1,\r\n visible: false\r\n },\r\n hoverStyle: {\r\n hatching: {\r\n opacity: .75,\r\n step: 6,\r\n width: 2,\r\n direction: RIGHT\r\n },\r\n border: {}\r\n }\r\n },\r\n link: {\r\n color: \"#888888\",\r\n colorMode: \"none\",\r\n opacity: .3,\r\n border: {\r\n color: WHITE,\r\n width: 1,\r\n visible: false\r\n },\r\n hoverStyle: {\r\n opacity: .5,\r\n hatching: {\r\n opacity: .75,\r\n step: 6,\r\n width: 2,\r\n direction: RIGHT\r\n },\r\n border: {}\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: void 0\r\n}, {\r\n theme: {\r\n name: \"generic.light.compact\"\r\n },\r\n baseThemeName: \"generic.light\"\r\n}];\r\n","/**\r\n * DevExtreme (esm/viz/core/themes/generic.carmine.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar ACCENT_COLOR = \"#f05b41\";\r\nvar BACKGROUND_COLOR = \"#fff\";\r\nvar TITLE_COLOR = \"#333\";\r\nvar SUBTITLE_COLOR = \"#8899a8\";\r\nvar TEXT_COLOR = \"#707070\";\r\nvar BORDER_COLOR = \"#dee1e3\";\r\nexport default [{\r\n theme: {\r\n name: \"generic.carmine\",\r\n defaultPalette: \"Carmine\",\r\n backgroundColor: BACKGROUND_COLOR,\r\n primaryTitleColor: TITLE_COLOR,\r\n secondaryTitleColor: SUBTITLE_COLOR,\r\n gridColor: BORDER_COLOR,\r\n axisColor: TEXT_COLOR,\r\n export: {\r\n backgroundColor: BACKGROUND_COLOR,\r\n font: {\r\n color: TITLE_COLOR\r\n },\r\n button: {\r\n default: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#b1b7bd\",\r\n backgroundColor: BACKGROUND_COLOR\r\n },\r\n hover: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#b1b7bd\",\r\n backgroundColor: \"#faf2f0\"\r\n },\r\n focus: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#6d7781\",\r\n backgroundColor: \"#faf2f0\"\r\n },\r\n active: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#6d7781\",\r\n backgroundColor: \"#f5e7e4\"\r\n }\r\n }\r\n },\r\n legend: {\r\n font: {\r\n color: TEXT_COLOR\r\n }\r\n },\r\n tooltip: {\r\n color: BACKGROUND_COLOR,\r\n border: {\r\n color: BORDER_COLOR\r\n },\r\n font: {\r\n color: TITLE_COLOR\r\n }\r\n },\r\n \"chart:common\": {\r\n commonSeriesSettings: {\r\n label: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n }\r\n }\r\n },\r\n \"chart:common:annotation\": {\r\n font: {\r\n color: TITLE_COLOR\r\n },\r\n border: {\r\n color: BORDER_COLOR\r\n },\r\n color: BACKGROUND_COLOR\r\n },\r\n chart: {\r\n commonPaneSettings: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n },\r\n commonAxisSettings: {\r\n breakStyle: {\r\n color: \"#c1c5c7\"\r\n }\r\n }\r\n },\r\n rangeSelector: {\r\n scale: {\r\n breakStyle: {\r\n color: \"#c1c5c7\"\r\n },\r\n tick: {\r\n opacity: .12\r\n }\r\n },\r\n selectedRangeColor: ACCENT_COLOR,\r\n sliderMarker: {\r\n color: ACCENT_COLOR\r\n },\r\n sliderHandle: {\r\n color: ACCENT_COLOR,\r\n opacity: .5\r\n }\r\n },\r\n sparkline: {\r\n pointColor: BACKGROUND_COLOR,\r\n minColor: \"#f0ad4e\",\r\n maxColor: \"#f74d61\"\r\n },\r\n treeMap: {\r\n group: {\r\n color: BORDER_COLOR,\r\n label: {\r\n font: {\r\n color: SUBTITLE_COLOR\r\n }\r\n }\r\n }\r\n },\r\n bullet: {\r\n color: ACCENT_COLOR\r\n },\r\n gauge: {\r\n valueIndicators: {\r\n rangebar: {\r\n color: ACCENT_COLOR\r\n },\r\n textcloud: {\r\n color: ACCENT_COLOR\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: \"generic.light\"\r\n}, {\r\n theme: {\r\n name: \"generic.carmine.compact\"\r\n },\r\n baseThemeName: \"generic.carmine\"\r\n}];\r\n","/**\r\n * DevExtreme (esm/viz/core/themes/generic.dark.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar WHITE = \"#ffffff\";\r\nvar BLACK = \"#000000\";\r\nvar SOME_GREY = \"#2b2b2b\";\r\nvar RANGE_COLOR = \"#b5b5b5\";\r\nvar GREY_GREEN = \"#303030\";\r\nvar AREA_LAYER_COLOR = \"#686868\";\r\nvar LINE_COLOR = \"#c7c7c7\";\r\nvar TARGET_COLOR = \"#8e8e8e\";\r\nvar POSITIVE_COLOR = \"#b8b8b8\";\r\nvar BORDER_COLOR = \"#494949\";\r\nexport default [{\r\n theme: {\r\n name: \"generic.dark\",\r\n font: {\r\n color: \"#808080\"\r\n },\r\n backgroundColor: \"#2a2a2a\",\r\n primaryTitleColor: \"#dedede\",\r\n secondaryTitleColor: \"#a3a3a3\",\r\n gridColor: \"#555555\",\r\n axisColor: \"#a3a3a3\",\r\n export: {\r\n backgroundColor: \"#2a2a2a\",\r\n font: {\r\n color: \"#dbdbdb\"\r\n },\r\n button: {\r\n default: {\r\n color: \"#dedede\",\r\n borderColor: \"#4d4d4d\",\r\n backgroundColor: \"#2e2e2e\"\r\n },\r\n hover: {\r\n color: \"#dedede\",\r\n borderColor: \"#6c6c6c\",\r\n backgroundColor: \"#444\"\r\n },\r\n focus: {\r\n color: \"#dedede\",\r\n borderColor: \"#8d8d8d\",\r\n backgroundColor: \"#444444\"\r\n },\r\n active: {\r\n color: \"#dedede\",\r\n borderColor: \"#8d8d8d\",\r\n backgroundColor: \"#555555\"\r\n }\r\n },\r\n shadowColor: \"#292929\"\r\n },\r\n tooltip: {\r\n color: SOME_GREY,\r\n border: {\r\n color: BORDER_COLOR\r\n },\r\n font: {\r\n color: \"#929292\"\r\n }\r\n },\r\n \"chart:common\": {\r\n commonSeriesSettings: {\r\n label: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n },\r\n valueErrorBar: {\r\n color: WHITE\r\n }\r\n }\r\n },\r\n \"chart:common:axis\": {\r\n constantLineStyle: {\r\n color: WHITE\r\n }\r\n },\r\n \"chart:common:annotation\": {\r\n font: {\r\n color: \"#929292\"\r\n },\r\n border: {\r\n color: BORDER_COLOR\r\n },\r\n color: SOME_GREY,\r\n shadow: {\r\n opacity: .008,\r\n offsetY: 4,\r\n blur: 8\r\n }\r\n },\r\n chart: {\r\n commonPaneSettings: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n },\r\n commonAxisSettings: {\r\n breakStyle: {\r\n color: \"#818181\"\r\n }\r\n },\r\n zoomAndPan: {\r\n dragBoxStyle: {\r\n color: WHITE\r\n }\r\n }\r\n },\r\n gauge: {\r\n rangeContainer: {\r\n backgroundColor: RANGE_COLOR\r\n },\r\n valueIndicators: {\r\n _default: {\r\n color: RANGE_COLOR\r\n },\r\n rangebar: {\r\n color: \"#84788b\"\r\n },\r\n twocolorneedle: {\r\n secondColor: \"#ba544d\"\r\n },\r\n trianglemarker: {\r\n color: \"#b7918f\"\r\n },\r\n textcloud: {\r\n color: \"#ba544d\"\r\n }\r\n }\r\n },\r\n barGauge: {\r\n backgroundColor: \"#3c3c3c\"\r\n },\r\n rangeSelector: {\r\n scale: {\r\n tick: {\r\n color: WHITE,\r\n opacity: .32\r\n },\r\n minorTick: {\r\n color: WHITE,\r\n opacity: .1\r\n },\r\n breakStyle: {\r\n color: \"#818181\"\r\n }\r\n },\r\n selectedRangeColor: RANGE_COLOR,\r\n sliderMarker: {\r\n color: RANGE_COLOR,\r\n font: {\r\n color: GREY_GREEN\r\n }\r\n },\r\n sliderHandle: {\r\n color: WHITE,\r\n opacity: .2\r\n },\r\n shutter: {\r\n color: SOME_GREY,\r\n opacity: .9\r\n }\r\n },\r\n map: {\r\n background: {\r\n borderColor: \"#3f3f3f\"\r\n },\r\n layer: {\r\n label: {\r\n stroke: BLACK,\r\n font: {\r\n color: WHITE\r\n }\r\n }\r\n },\r\n \"layer:area\": {\r\n borderColor: GREY_GREEN,\r\n color: AREA_LAYER_COLOR,\r\n hoveredBorderColor: WHITE,\r\n selectedBorderColor: WHITE\r\n },\r\n \"layer:line\": {\r\n color: \"#c77244\",\r\n hoveredColor: \"#ff5d04\",\r\n selectedColor: \"#ff784f\"\r\n },\r\n \"layer:marker:bubble\": {\r\n hoveredBorderColor: WHITE,\r\n selectedBorderColor: WHITE\r\n },\r\n \"layer:marker:pie\": {\r\n hoveredBorderColor: WHITE,\r\n selectedBorderColor: WHITE\r\n },\r\n legend: {\r\n border: {\r\n color: \"#3f3f3f\"\r\n },\r\n font: {\r\n color: WHITE\r\n }\r\n },\r\n controlBar: {\r\n borderColor: LINE_COLOR,\r\n color: GREY_GREEN\r\n }\r\n },\r\n treeMap: {\r\n group: {\r\n color: \"#4c4c4c\",\r\n label: {\r\n font: {\r\n color: \"#a3a3a3\"\r\n }\r\n }\r\n }\r\n },\r\n sparkline: {\r\n lineColor: LINE_COLOR,\r\n firstLastColor: LINE_COLOR,\r\n barPositiveColor: POSITIVE_COLOR,\r\n barNegativeColor: TARGET_COLOR,\r\n winColor: POSITIVE_COLOR,\r\n lossColor: TARGET_COLOR,\r\n pointColor: GREY_GREEN\r\n },\r\n bullet: {\r\n targetColor: TARGET_COLOR\r\n },\r\n funnel: {\r\n item: {\r\n border: {\r\n color: \"#2a2a2a\"\r\n }\r\n }\r\n },\r\n sankey: {\r\n label: {\r\n font: {\r\n color: WHITE\r\n },\r\n shadow: {\r\n opacity: 0\r\n }\r\n },\r\n node: {\r\n border: {\r\n color: \"#2a2a2a\"\r\n }\r\n },\r\n link: {\r\n color: \"#888888\",\r\n border: {\r\n color: \"#2a2a2a\"\r\n },\r\n hoverStyle: {\r\n color: \"#bbbbbb\"\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: \"generic.light\"\r\n}, {\r\n theme: {\r\n name: \"generic.dark.compact\"\r\n },\r\n baseThemeName: \"generic.dark\"\r\n}];\r\n","/**\r\n * DevExtreme (esm/viz/core/themes/generic.contrast.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar WHITE = \"#ffffff\";\r\nvar BLACK = \"#000000\";\r\nvar CONTRAST_ACTIVE = \"#cf00da\";\r\nvar MARKER_COLOR = \"#f8ca00\";\r\nvar AREA_LAYER_COLOR = \"#686868\";\r\nexport default [{\r\n theme: {\r\n name: \"generic.contrast\",\r\n defaultPalette: \"Bright\",\r\n font: {\r\n color: WHITE\r\n },\r\n backgroundColor: BLACK,\r\n primaryTitleColor: WHITE,\r\n secondaryTitleColor: WHITE,\r\n gridColor: WHITE,\r\n axisColor: WHITE,\r\n export: {\r\n backgroundColor: BLACK,\r\n font: {\r\n color: WHITE\r\n },\r\n button: {\r\n default: {\r\n color: WHITE,\r\n borderColor: WHITE,\r\n backgroundColor: BLACK\r\n },\r\n hover: {\r\n color: WHITE,\r\n borderColor: WHITE,\r\n backgroundColor: \"#cf00d7\"\r\n },\r\n focus: {\r\n color: WHITE,\r\n borderColor: \"#cf00d7\",\r\n backgroundColor: BLACK\r\n },\r\n active: {\r\n color: BLACK,\r\n borderColor: WHITE,\r\n backgroundColor: WHITE\r\n }\r\n },\r\n borderColor: WHITE,\r\n menuButtonColor: BLACK,\r\n activeBackgroundColor: WHITE,\r\n activeColor: BLACK,\r\n selectedBorderColor: CONTRAST_ACTIVE,\r\n selectedColor: CONTRAST_ACTIVE,\r\n shadowColor: \"none\"\r\n },\r\n tooltip: {\r\n border: {\r\n color: WHITE\r\n },\r\n font: {\r\n color: WHITE\r\n },\r\n color: BLACK\r\n },\r\n \"chart:common\": {\r\n commonSeriesSettings: {\r\n valueErrorBar: {\r\n color: WHITE\r\n },\r\n hoverStyle: {\r\n hatching: {\r\n opacity: .5\r\n }\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n opacity: .35\r\n }\r\n },\r\n label: {\r\n font: {\r\n color: WHITE\r\n },\r\n border: {\r\n color: WHITE\r\n }\r\n }\r\n }\r\n },\r\n \"chart:common:axis\": {\r\n constantLineStyle: {\r\n color: WHITE\r\n }\r\n },\r\n \"chart:common:annotation\": {\r\n font: {\r\n color: WHITE\r\n },\r\n border: {\r\n color: WHITE\r\n },\r\n color: BLACK\r\n },\r\n chart: {\r\n commonSeriesSettings: {},\r\n crosshair: {\r\n color: \"#cf00d7\"\r\n },\r\n commonPaneSettings: {\r\n backgroundColor: BLACK,\r\n border: {\r\n color: WHITE\r\n }\r\n },\r\n scrollBar: {\r\n color: WHITE\r\n },\r\n commonAxisSettings: {\r\n breakStyle: {\r\n color: \"#cf00d7\"\r\n }\r\n },\r\n zoomAndPan: {\r\n dragBoxStyle: {\r\n color: WHITE,\r\n opacity: .7\r\n }\r\n }\r\n },\r\n pie: {\r\n commonSeriesSettings: {\r\n pie: {\r\n hoverStyle: {\r\n hatching: {\r\n opacity: .5\r\n }\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n opacity: .35\r\n }\r\n }\r\n },\r\n doughnut: {\r\n hoverStyle: {\r\n hatching: {\r\n opacity: .5\r\n }\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n opacity: .35\r\n }\r\n }\r\n },\r\n donut: {\r\n hoverStyle: {\r\n hatching: {\r\n opacity: .5\r\n }\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n opacity: .35\r\n }\r\n }\r\n }\r\n }\r\n },\r\n gauge: {\r\n rangeContainer: {\r\n backgroundColor: WHITE\r\n },\r\n valueIndicators: {\r\n _default: {\r\n color: WHITE\r\n },\r\n rangebar: {\r\n color: WHITE,\r\n backgroundColor: BLACK\r\n },\r\n twocolorneedle: {\r\n secondColor: WHITE\r\n },\r\n trianglemarker: {\r\n color: WHITE\r\n },\r\n textcloud: {\r\n color: WHITE,\r\n text: {\r\n font: {\r\n color: BLACK\r\n }\r\n }\r\n }\r\n }\r\n },\r\n barGauge: {\r\n backgroundColor: \"#3c3c3c\"\r\n },\r\n rangeSelector: {\r\n scale: {\r\n tick: {\r\n color: WHITE,\r\n opacity: .4\r\n },\r\n minorTick: {\r\n color: WHITE,\r\n opacity: .12\r\n },\r\n breakStyle: {\r\n color: \"#cf00d7\"\r\n }\r\n },\r\n selectedRangeColor: CONTRAST_ACTIVE,\r\n sliderMarker: {\r\n color: CONTRAST_ACTIVE\r\n },\r\n sliderHandle: {\r\n color: CONTRAST_ACTIVE,\r\n opacity: 1\r\n },\r\n shutter: {\r\n opacity: .75\r\n },\r\n background: {\r\n color: BLACK\r\n }\r\n },\r\n map: {\r\n background: {\r\n borderColor: WHITE\r\n },\r\n layer: {\r\n label: {\r\n stroke: BLACK,\r\n font: {\r\n color: WHITE\r\n }\r\n }\r\n },\r\n \"layer:area\": {\r\n borderColor: BLACK,\r\n color: AREA_LAYER_COLOR,\r\n hoveredBorderColor: WHITE,\r\n selectedBorderColor: WHITE,\r\n label: {\r\n font: {\r\n opacity: 1\r\n }\r\n }\r\n },\r\n \"layer:line\": {\r\n color: \"#267cff\",\r\n hoveredColor: \"#f613ff\",\r\n selectedColor: WHITE\r\n },\r\n \"layer:marker:dot\": {\r\n borderColor: BLACK,\r\n color: MARKER_COLOR,\r\n backColor: BLACK,\r\n backOpacity: .32\r\n },\r\n \"layer:marker:bubble\": {\r\n color: MARKER_COLOR,\r\n hoveredBorderColor: WHITE,\r\n selectedBorderColor: WHITE\r\n },\r\n \"layer:marker:pie\": {\r\n hoveredBorderColor: WHITE,\r\n selectedBorderColor: WHITE\r\n },\r\n controlBar: {\r\n borderColor: WHITE,\r\n color: BLACK,\r\n opacity: .3\r\n }\r\n },\r\n treeMap: {\r\n tile: {\r\n color: \"#70c92f\"\r\n },\r\n group: {\r\n color: \"#797979\",\r\n label: {\r\n font: {\r\n color: WHITE\r\n }\r\n }\r\n }\r\n },\r\n sparkline: {\r\n pointColor: BLACK\r\n },\r\n bullet: {},\r\n polar: {\r\n commonSeriesSettings: {}\r\n },\r\n funnel: {\r\n label: {\r\n connector: {\r\n opacity: 1\r\n }\r\n }\r\n },\r\n sankey: {\r\n label: {\r\n font: {\r\n color: WHITE\r\n },\r\n shadow: {\r\n opacity: 0\r\n }\r\n },\r\n node: {\r\n border: {\r\n visible: true,\r\n width: 1,\r\n color: WHITE\r\n }\r\n },\r\n link: {\r\n opacity: .5,\r\n border: {\r\n visible: true,\r\n width: 1,\r\n color: WHITE\r\n },\r\n hoverStyle: {\r\n opacity: .9\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: \"generic.light\"\r\n}, {\r\n theme: {\r\n name: \"generic.contrast.compact\"\r\n },\r\n baseThemeName: \"generic.contrast\"\r\n}];\r\n","/**\r\n * DevExtreme (esm/viz/core/themes/generic.darkmoon.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar ACCENT_COLOR = \"#3debd3\";\r\nvar BACKGROUND_COLOR = \"#465672\";\r\nvar TITLE_COLOR = \"#fff\";\r\nvar SUBTITLE_COLOR = \"#919bac\";\r\nvar TEXT_COLOR = \"#c7ccd4\";\r\nvar BORDER_COLOR = \"#596980\";\r\nexport default [{\r\n theme: {\r\n name: \"generic.darkmoon\",\r\n defaultPalette: \"Dark Moon\",\r\n backgroundColor: BACKGROUND_COLOR,\r\n primaryTitleColor: TITLE_COLOR,\r\n secondaryTitleColor: SUBTITLE_COLOR,\r\n gridColor: BORDER_COLOR,\r\n axisColor: TEXT_COLOR,\r\n export: {\r\n backgroundColor: BACKGROUND_COLOR,\r\n font: {\r\n color: TITLE_COLOR\r\n },\r\n button: {\r\n default: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#7a889e\",\r\n backgroundColor: BACKGROUND_COLOR\r\n },\r\n hover: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#9da8b8\",\r\n backgroundColor: \"#596e92\"\r\n },\r\n focus: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#c4cad4\",\r\n backgroundColor: \"#596e92\"\r\n },\r\n active: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#c4cad4\",\r\n backgroundColor: \"#6b80a4\"\r\n }\r\n }\r\n },\r\n legend: {\r\n font: {\r\n color: TEXT_COLOR\r\n }\r\n },\r\n tooltip: {\r\n color: \"#62789e\",\r\n border: {\r\n color: BORDER_COLOR\r\n },\r\n font: {\r\n color: TITLE_COLOR\r\n }\r\n },\r\n \"chart:common\": {\r\n commonSeriesSettings: {\r\n label: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n }\r\n }\r\n },\r\n \"chart:common:annotation\": {\r\n font: {\r\n color: TITLE_COLOR\r\n },\r\n border: {\r\n color: BORDER_COLOR\r\n },\r\n color: \"#62789e\"\r\n },\r\n chart: {\r\n commonPaneSettings: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n },\r\n commonAxisSettings: {\r\n breakStyle: {\r\n color: \"#73869e\"\r\n }\r\n }\r\n },\r\n gauge: {\r\n valueIndicators: {\r\n rangebar: {\r\n color: ACCENT_COLOR\r\n },\r\n textcloud: {\r\n color: ACCENT_COLOR,\r\n text: {\r\n font: {\r\n color: BACKGROUND_COLOR\r\n }\r\n }\r\n }\r\n }\r\n },\r\n barGauge: {\r\n backgroundColor: \"#526280\"\r\n },\r\n funnel: {\r\n item: {\r\n border: {\r\n color: BACKGROUND_COLOR\r\n }\r\n }\r\n },\r\n sparkline: {\r\n pointColor: BACKGROUND_COLOR,\r\n minColor: \"#f0ad4e\",\r\n maxColor: \"#f9517e\"\r\n },\r\n treeMap: {\r\n group: {\r\n color: BORDER_COLOR,\r\n label: {\r\n font: {\r\n color: TITLE_COLOR\r\n }\r\n }\r\n }\r\n },\r\n map: {\r\n background: {\r\n borderColor: BORDER_COLOR\r\n },\r\n \"layer:area\": {\r\n color: \"#97a3b6\",\r\n borderColor: BACKGROUND_COLOR\r\n }\r\n },\r\n rangeSelector: {\r\n shutter: {\r\n color: BACKGROUND_COLOR\r\n },\r\n scale: {\r\n breakStyle: {\r\n color: \"#73869e\"\r\n },\r\n tick: {\r\n opacity: .2\r\n }\r\n },\r\n selectedRangeColor: ACCENT_COLOR,\r\n sliderMarker: {\r\n color: ACCENT_COLOR,\r\n font: {\r\n color: \"#000\"\r\n }\r\n },\r\n sliderHandle: {\r\n color: ACCENT_COLOR,\r\n opacity: .5\r\n }\r\n },\r\n bullet: {\r\n color: ACCENT_COLOR\r\n },\r\n sankey: {\r\n link: {\r\n border: {\r\n color: BACKGROUND_COLOR\r\n }\r\n },\r\n node: {\r\n border: {\r\n color: BACKGROUND_COLOR\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: \"generic.dark\"\r\n}, {\r\n theme: {\r\n name: \"generic.darkmoon.compact\"\r\n },\r\n baseThemeName: \"generic.darkmoon\"\r\n}];\r\n","/**\r\n * DevExtreme (esm/viz/core/themes/generic.darkviolet.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar ACCENT_COLOR = \"#9c63ff\";\r\nvar BACKGROUND_COLOR = \"#17171f\";\r\nvar TITLE_COLOR = \"#f5f6f7\";\r\nvar SUBTITLE_COLOR = \"#fff\";\r\nvar TEXT_COLOR = \"#b2b2b6\";\r\nvar BORDER_COLOR = \"#343840\";\r\nexport default [{\r\n theme: {\r\n name: \"generic.darkviolet\",\r\n defaultPalette: \"Dark Violet\",\r\n backgroundColor: BACKGROUND_COLOR,\r\n primaryTitleColor: TITLE_COLOR,\r\n secondaryTitleColor: SUBTITLE_COLOR,\r\n gridColor: BORDER_COLOR,\r\n axisColor: TEXT_COLOR,\r\n export: {\r\n backgroundColor: BACKGROUND_COLOR,\r\n font: {\r\n color: TITLE_COLOR\r\n },\r\n button: {\r\n default: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#414152\",\r\n backgroundColor: BACKGROUND_COLOR\r\n },\r\n hover: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#5c5c74\",\r\n backgroundColor: \"#2d2d3c\"\r\n },\r\n focus: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#7c7c97\",\r\n backgroundColor: \"#2d2d3c\"\r\n },\r\n active: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#7c7c97\",\r\n backgroundColor: \"#3c3c51\"\r\n }\r\n }\r\n },\r\n legend: {\r\n font: {\r\n color: TEXT_COLOR\r\n }\r\n },\r\n tooltip: {\r\n color: BACKGROUND_COLOR,\r\n border: {\r\n color: \"#414152\"\r\n },\r\n font: {\r\n color: TITLE_COLOR\r\n }\r\n },\r\n \"chart:common\": {\r\n commonSeriesSettings: {\r\n label: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n }\r\n }\r\n },\r\n \"chart:common:annotation\": {\r\n font: {\r\n color: TITLE_COLOR\r\n },\r\n border: {\r\n color: \"#414152\"\r\n },\r\n color: BACKGROUND_COLOR\r\n },\r\n chart: {\r\n commonPaneSettings: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n },\r\n commonAxisSettings: {\r\n breakStyle: {\r\n color: \"#575e6b\"\r\n }\r\n }\r\n },\r\n funnel: {\r\n item: {\r\n border: {\r\n color: BACKGROUND_COLOR\r\n }\r\n }\r\n },\r\n sparkline: {\r\n pointColor: BACKGROUND_COLOR,\r\n minColor: \"#f0ad4e\",\r\n maxColor: \"#d9534f\"\r\n },\r\n treeMap: {\r\n group: {\r\n color: BORDER_COLOR,\r\n label: {\r\n font: {\r\n color: SUBTITLE_COLOR\r\n }\r\n }\r\n }\r\n },\r\n rangeSelector: {\r\n shutter: {\r\n color: BACKGROUND_COLOR\r\n },\r\n scale: {\r\n breakStyle: {\r\n color: \"#575e6b\"\r\n },\r\n tick: {\r\n opacity: .2\r\n }\r\n },\r\n selectedRangeColor: ACCENT_COLOR,\r\n sliderMarker: {\r\n color: ACCENT_COLOR,\r\n font: {\r\n color: \"#fff\"\r\n }\r\n },\r\n sliderHandle: {\r\n color: ACCENT_COLOR,\r\n opacity: .5\r\n }\r\n },\r\n bullet: {\r\n color: ACCENT_COLOR\r\n },\r\n gauge: {\r\n valueIndicators: {\r\n rangebar: {\r\n color: ACCENT_COLOR\r\n },\r\n textcloud: {\r\n color: ACCENT_COLOR\r\n }\r\n }\r\n },\r\n sankey: {\r\n link: {\r\n border: {\r\n color: BACKGROUND_COLOR\r\n }\r\n },\r\n node: {\r\n border: {\r\n color: BACKGROUND_COLOR\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: \"generic.dark\"\r\n}, {\r\n theme: {\r\n name: \"generic.darkviolet.compact\"\r\n },\r\n baseThemeName: \"generic.darkviolet\"\r\n}];\r\n","/**\r\n * DevExtreme (esm/viz/core/themes/generic.greenmist.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar ACCENT_COLOR = \"#3cbab2\";\r\nvar BACKGROUND_COLOR = \"#f5f5f5\";\r\nvar TITLE_COLOR = \"#28484f\";\r\nvar SUBTITLE_COLOR = \"#7eb2be\";\r\nvar TEXT_COLOR = \"#657c80\";\r\nvar BORDER_COLOR = \"#dedede\";\r\nexport default [{\r\n theme: {\r\n name: \"generic.greenmist\",\r\n defaultPalette: \"Green Mist\",\r\n backgroundColor: BACKGROUND_COLOR,\r\n primaryTitleColor: TITLE_COLOR,\r\n secondaryTitleColor: SUBTITLE_COLOR,\r\n gridColor: BORDER_COLOR,\r\n axisColor: TEXT_COLOR,\r\n export: {\r\n backgroundColor: BACKGROUND_COLOR,\r\n font: {\r\n color: TITLE_COLOR\r\n },\r\n button: {\r\n default: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#a2b4b8\",\r\n backgroundColor: BACKGROUND_COLOR\r\n },\r\n hover: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#7f989e\",\r\n backgroundColor: \"rgba(222, 222, 222, 0.4)\"\r\n },\r\n focus: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#5f777c\",\r\n backgroundColor: \"rgba(222, 222, 222, 0.4)\"\r\n },\r\n active: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#5f777c\",\r\n backgroundColor: \"rgba(222, 222, 222, 0.8)\"\r\n }\r\n }\r\n },\r\n legend: {\r\n font: {\r\n color: TEXT_COLOR\r\n }\r\n },\r\n tooltip: {\r\n color: \"#fff\",\r\n border: {\r\n color: BORDER_COLOR\r\n },\r\n font: {\r\n color: TITLE_COLOR\r\n }\r\n },\r\n \"chart:common\": {\r\n commonSeriesSettings: {\r\n label: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n }\r\n }\r\n },\r\n \"chart:common:annotation\": {\r\n color: \"#fff\",\r\n border: {\r\n color: BORDER_COLOR\r\n },\r\n font: {\r\n color: TITLE_COLOR\r\n }\r\n },\r\n chart: {\r\n commonPaneSettings: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n },\r\n commonAxisSettings: {\r\n breakStyle: {\r\n color: \"#c1c1c1\"\r\n }\r\n }\r\n },\r\n funnel: {\r\n item: {\r\n border: {\r\n color: BACKGROUND_COLOR\r\n }\r\n }\r\n },\r\n sparkline: {\r\n pointColor: BACKGROUND_COLOR,\r\n minColor: \"#ffc852\",\r\n maxColor: \"#f74a5e\"\r\n },\r\n treeMap: {\r\n group: {\r\n color: BORDER_COLOR,\r\n label: {\r\n font: {\r\n color: SUBTITLE_COLOR\r\n }\r\n }\r\n }\r\n },\r\n rangeSelector: {\r\n shutter: {\r\n color: BACKGROUND_COLOR\r\n },\r\n scale: {\r\n breakStyle: {\r\n color: \"#c1c1c1\"\r\n },\r\n tick: {\r\n opacity: .12\r\n }\r\n },\r\n selectedRangeColor: ACCENT_COLOR,\r\n sliderMarker: {\r\n color: ACCENT_COLOR\r\n },\r\n sliderHandle: {\r\n color: ACCENT_COLOR,\r\n opacity: .5\r\n }\r\n },\r\n bullet: {\r\n color: ACCENT_COLOR\r\n },\r\n gauge: {\r\n valueIndicators: {\r\n rangebar: {\r\n color: ACCENT_COLOR\r\n },\r\n textcloud: {\r\n color: ACCENT_COLOR\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: \"generic.light\"\r\n}, {\r\n theme: {\r\n name: \"generic.greenmist.compact\"\r\n },\r\n baseThemeName: \"generic.greenmist\"\r\n}];\r\n","/**\r\n * DevExtreme (esm/viz/core/themes/generic.softblue.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar ACCENT_COLOR = \"#7ab8eb\";\r\nvar BACKGROUND_COLOR = \"#fff\";\r\nvar TITLE_COLOR = \"#333\";\r\nvar SUBTITLE_COLOR = \"#99a1a8\";\r\nvar TEXT_COLOR = \"#707070\";\r\nvar BORDER_COLOR = \"#e8eaeb\";\r\nexport default [{\r\n theme: {\r\n name: \"generic.softblue\",\r\n defaultPalette: \"Soft Blue\",\r\n backgroundColor: BACKGROUND_COLOR,\r\n primaryTitleColor: TITLE_COLOR,\r\n secondaryTitleColor: SUBTITLE_COLOR,\r\n gridColor: BORDER_COLOR,\r\n axisColor: TEXT_COLOR,\r\n export: {\r\n backgroundColor: BACKGROUND_COLOR,\r\n font: {\r\n color: TITLE_COLOR\r\n },\r\n button: {\r\n default: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#c9d0d4\",\r\n backgroundColor: BACKGROUND_COLOR\r\n },\r\n hover: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#a7b2b9\",\r\n backgroundColor: \"#e6e6e6\"\r\n },\r\n focus: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#82929b\",\r\n backgroundColor: \"#e6e6e6\"\r\n },\r\n active: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#82929b\",\r\n backgroundColor: \"#d4d4d4\"\r\n }\r\n }\r\n },\r\n legend: {\r\n font: {\r\n color: TEXT_COLOR\r\n }\r\n },\r\n tooltip: {\r\n color: BACKGROUND_COLOR,\r\n border: {\r\n color: BORDER_COLOR\r\n },\r\n font: {\r\n color: TITLE_COLOR\r\n }\r\n },\r\n \"chart:common\": {\r\n commonSeriesSettings: {\r\n label: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n }\r\n }\r\n },\r\n \"chart:common:annotation\": {\r\n color: BACKGROUND_COLOR,\r\n border: {\r\n color: BORDER_COLOR\r\n },\r\n font: {\r\n color: TITLE_COLOR\r\n }\r\n },\r\n chart: {\r\n commonPaneSettings: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n },\r\n commonAxisSettings: {\r\n breakStyle: {\r\n color: \"#cfd2d3\"\r\n }\r\n }\r\n },\r\n rangeSelector: {\r\n scale: {\r\n breakStyle: {\r\n color: \"#cfd2d3\"\r\n },\r\n tick: {\r\n opacity: .12\r\n }\r\n },\r\n selectedRangeColor: ACCENT_COLOR,\r\n sliderMarker: {\r\n color: ACCENT_COLOR\r\n },\r\n sliderHandle: {\r\n color: ACCENT_COLOR,\r\n opacity: .5\r\n }\r\n },\r\n sparkline: {\r\n pointColor: BACKGROUND_COLOR,\r\n minColor: \"#f0ad4e\",\r\n maxColor: \"#d9534f\"\r\n },\r\n treeMap: {\r\n group: {\r\n color: BORDER_COLOR,\r\n label: {\r\n font: {\r\n color: SUBTITLE_COLOR\r\n }\r\n }\r\n }\r\n },\r\n bullet: {\r\n color: ACCENT_COLOR\r\n },\r\n gauge: {\r\n valueIndicators: {\r\n rangebar: {\r\n color: ACCENT_COLOR\r\n },\r\n textcloud: {\r\n color: ACCENT_COLOR\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: \"generic.light\"\r\n}, {\r\n theme: {\r\n name: \"generic.softblue.compact\"\r\n },\r\n baseThemeName: \"generic.softblue\"\r\n}];\r\n","/**\r\n * DevExtreme (esm/viz/core/themes/material.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar FONT_FAMILY = \"'Roboto', 'RobotoFallback', 'Helvetica', 'Arial', sans-serif\";\r\nvar LIGHT_TITLE_COLOR = \"rgba(0,0,0,0.87)\";\r\nvar LIGHT_LABEL_COLOR = \"rgba(0,0,0,0.54)\";\r\nvar DARK_TITLE_COLOR = \"rgba(255,255,255,0.87)\";\r\nvar DARK_LABEL_COLOR = \"rgba(255,255,255,0.54)\";\r\nvar DARK_BACKGROUND_COLOR = \"#363640\";\r\nvar WHITE = \"#ffffff\";\r\nvar BLACK = \"#000000\";\r\nvar RANGE_COLOR = \"#b5b5b5\";\r\nvar AREA_LAYER_COLOR = \"#686868\";\r\nvar LINE_COLOR = \"#c7c7c7\";\r\nvar TARGET_COLOR = \"#8e8e8e\";\r\nvar POSITIVE_COLOR = \"#b8b8b8\";\r\nvar LABEL_BORDER_COLOR = \"#494949\";\r\nvar BREAK_STYLE_COLOR = \"#818181\";\r\nvar themes = [{\r\n theme: {\r\n name: \"material\",\r\n defaultPalette: \"Material\",\r\n font: {\r\n family: FONT_FAMILY\r\n },\r\n title: {\r\n margin: {\r\n top: 20,\r\n bottom: 20,\r\n left: 0,\r\n right: 0\r\n },\r\n font: {\r\n size: 20,\r\n family: FONT_FAMILY,\r\n weight: 500\r\n },\r\n horizontalAlignment: \"left\",\r\n subtitle: {\r\n font: {\r\n size: 14\r\n },\r\n horizontalAlignment: \"left\"\r\n }\r\n },\r\n tooltip: {\r\n shadow: {\r\n opacity: 0\r\n },\r\n border: {\r\n visible: false\r\n },\r\n paddingLeftRight: 8,\r\n paddingTopBottom: 6,\r\n arrowLength: 0,\r\n location: \"edge\",\r\n color: \"#616161\",\r\n font: {\r\n color: WHITE\r\n },\r\n cornerRadius: 4\r\n },\r\n chart: {\r\n commonAxisSettings: {\r\n minorTick: {\r\n opacity: .5\r\n },\r\n label: {\r\n font: {\r\n size: 11\r\n }\r\n }\r\n },\r\n commonAnnotationSettings: {\r\n font: {\r\n color: WHITE\r\n },\r\n border: {\r\n color: \"#616161\"\r\n },\r\n color: \"#616161\",\r\n arrowLength: 14,\r\n arrowWidth: 0,\r\n shadow: {\r\n opacity: .08,\r\n offsetY: 4,\r\n blur: 8\r\n },\r\n cornerRadius: 4\r\n }\r\n },\r\n pie: {\r\n title: {\r\n horizontalAlignment: \"center\",\r\n subtitle: {\r\n horizontalAlignment: \"center\"\r\n }\r\n }\r\n },\r\n polar: {\r\n commonAxisSettings: {\r\n minorTick: {\r\n opacity: .5\r\n }\r\n },\r\n title: {\r\n horizontalAlignment: \"center\",\r\n subtitle: {\r\n horizontalAlignment: \"center\"\r\n }\r\n }\r\n },\r\n funnel: {\r\n title: {\r\n horizontalAlignment: \"center\",\r\n subtitle: {\r\n horizontalAlignment: \"center\"\r\n }\r\n }\r\n },\r\n gauge: {\r\n title: {\r\n horizontalAlignment: \"center\",\r\n subtitle: {\r\n horizontalAlignment: \"center\"\r\n }\r\n }\r\n },\r\n barGauge: {\r\n title: {\r\n horizontalAlignment: \"center\",\r\n subtitle: {\r\n horizontalAlignment: \"center\"\r\n }\r\n }\r\n },\r\n rangeSelector: {\r\n sliderHandle: {\r\n opacity: .5\r\n }\r\n },\r\n treeMap: {\r\n group: {\r\n label: {\r\n font: {\r\n weight: 500\r\n }\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: \"generic.light\"\r\n}, {\r\n theme: {\r\n name: \"material.light\",\r\n gridColor: \"#e0e0e0\",\r\n axisColor: LIGHT_LABEL_COLOR,\r\n primaryTitleColor: LIGHT_TITLE_COLOR,\r\n legend: {\r\n font: {\r\n color: LIGHT_LABEL_COLOR\r\n }\r\n },\r\n chart: {\r\n scrollBar: {\r\n color: \"#bfbfbf\",\r\n opacity: .7\r\n }\r\n },\r\n gauge: {\r\n rangeContainer: {\r\n backgroundColor: \"rgba(0,0,0,0.2)\"\r\n }\r\n },\r\n barGauge: {\r\n backgroundColor: \"#efefef\"\r\n }\r\n },\r\n baseThemeName: \"material\"\r\n}, {\r\n theme: {\r\n name: \"material.dark\",\r\n gridColor: \"#515159\",\r\n backgroundColor: DARK_BACKGROUND_COLOR,\r\n axisColor: DARK_LABEL_COLOR,\r\n font: {\r\n color: DARK_LABEL_COLOR\r\n },\r\n primaryTitleColor: DARK_TITLE_COLOR,\r\n secondaryTitleColor: DARK_TITLE_COLOR,\r\n tooltip: {\r\n color: \"#000\"\r\n },\r\n export: {\r\n backgroundColor: DARK_BACKGROUND_COLOR,\r\n font: {\r\n color: \"#dbdbdb\"\r\n },\r\n button: {\r\n default: {\r\n color: \"#dedede\",\r\n borderColor: \"#4d4d4d\",\r\n backgroundColor: DARK_BACKGROUND_COLOR\r\n },\r\n hover: {\r\n color: \"#dedede\",\r\n borderColor: \"#6c6c6c\",\r\n backgroundColor: \"#3f3f4b\"\r\n },\r\n focus: {\r\n color: \"#dedede\",\r\n borderColor: \"#8d8d8d\",\r\n backgroundColor: \"#494956\"\r\n },\r\n active: {\r\n color: \"#dedede\",\r\n borderColor: \"#8d8d8d\",\r\n backgroundColor: \"#494956\"\r\n }\r\n },\r\n shadowColor: \"#292929\"\r\n },\r\n \"chart:common\": {\r\n commonSeriesSettings: {\r\n label: {\r\n border: {\r\n color: LABEL_BORDER_COLOR\r\n }\r\n },\r\n valueErrorBar: {\r\n color: WHITE\r\n }\r\n }\r\n },\r\n \"chart:common:axis\": {\r\n constantLineStyle: {\r\n color: WHITE\r\n }\r\n },\r\n \"chart:common:annotation\": {\r\n border: {\r\n color: \"#000\"\r\n },\r\n color: \"#000\"\r\n },\r\n chart: {\r\n commonPaneSettings: {\r\n border: {\r\n color: LABEL_BORDER_COLOR\r\n }\r\n },\r\n commonAxisSettings: {\r\n breakStyle: {\r\n color: BREAK_STYLE_COLOR\r\n }\r\n },\r\n zoomAndPan: {\r\n dragBoxStyle: {\r\n color: WHITE\r\n }\r\n }\r\n },\r\n gauge: {\r\n rangeContainer: {\r\n backgroundColor: RANGE_COLOR\r\n },\r\n valueIndicators: {\r\n _default: {\r\n color: RANGE_COLOR\r\n },\r\n rangebar: {\r\n color: \"#84788b\"\r\n },\r\n twocolorneedle: {\r\n secondColor: \"#ba544d\"\r\n },\r\n trianglemarker: {\r\n color: \"#b7918f\"\r\n },\r\n textcloud: {\r\n color: \"#ba544d\"\r\n }\r\n }\r\n },\r\n barGauge: {\r\n backgroundColor: \"#3c3c3c\"\r\n },\r\n rangeSelector: {\r\n scale: {\r\n tick: {\r\n color: WHITE,\r\n opacity: .32\r\n },\r\n minorTick: {\r\n color: WHITE,\r\n opacity: .1\r\n },\r\n breakStyle: {\r\n color: BREAK_STYLE_COLOR\r\n }\r\n },\r\n selectedRangeColor: RANGE_COLOR,\r\n sliderMarker: {\r\n color: RANGE_COLOR,\r\n font: {\r\n color: DARK_BACKGROUND_COLOR\r\n }\r\n },\r\n sliderHandle: {\r\n color: WHITE,\r\n opacity: .2\r\n },\r\n shutter: {\r\n color: WHITE,\r\n opacity: .1\r\n }\r\n },\r\n map: {\r\n background: {\r\n borderColor: \"#3f3f3f\"\r\n },\r\n layer: {\r\n label: {\r\n stroke: BLACK,\r\n font: {\r\n color: WHITE\r\n }\r\n }\r\n },\r\n \"layer:area\": {\r\n borderColor: DARK_BACKGROUND_COLOR,\r\n color: AREA_LAYER_COLOR,\r\n hoveredBorderColor: WHITE,\r\n selectedBorderColor: WHITE\r\n },\r\n \"layer:line\": {\r\n color: \"#c77244\",\r\n hoveredColor: \"#ff5d04\",\r\n selectedColor: \"#ff784f\"\r\n },\r\n \"layer:marker:bubble\": {\r\n hoveredBorderColor: WHITE,\r\n selectedBorderColor: WHITE\r\n },\r\n \"layer:marker:pie\": {\r\n hoveredBorderColor: WHITE,\r\n selectedBorderColor: WHITE\r\n },\r\n legend: {\r\n border: {\r\n color: \"#3f3f3f\"\r\n },\r\n font: {\r\n color: WHITE\r\n }\r\n },\r\n controlBar: {\r\n borderColor: LINE_COLOR,\r\n color: DARK_BACKGROUND_COLOR\r\n }\r\n },\r\n treeMap: {\r\n group: {\r\n color: \"#4c4c4c\",\r\n label: {\r\n font: {\r\n color: \"#a3a3a3\"\r\n }\r\n }\r\n }\r\n },\r\n sparkline: {\r\n lineColor: LINE_COLOR,\r\n firstLastColor: LINE_COLOR,\r\n barPositiveColor: POSITIVE_COLOR,\r\n barNegativeColor: TARGET_COLOR,\r\n winColor: POSITIVE_COLOR,\r\n lossColor: TARGET_COLOR,\r\n pointColor: DARK_BACKGROUND_COLOR\r\n },\r\n bullet: {\r\n targetColor: TARGET_COLOR\r\n },\r\n funnel: {\r\n item: {\r\n border: {\r\n color: DARK_BACKGROUND_COLOR\r\n }\r\n }\r\n },\r\n sankey: {\r\n label: {\r\n font: {\r\n color: WHITE\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: \"material\"\r\n}];\r\n\r\nfunction getMaterialColorScheme(accentName, themeName, accentColor) {\r\n return {\r\n theme: {\r\n name: \"material.\" + accentName + \".\" + themeName,\r\n rangeSelector: {\r\n selectedRangeColor: accentColor,\r\n sliderMarker: {\r\n color: accentColor\r\n },\r\n sliderHandle: {\r\n color: accentColor\r\n }\r\n },\r\n map: {\r\n \"layer:marker:dot\": {\r\n color: accentColor\r\n },\r\n \"layer:marker:bubble\": {\r\n color: accentColor\r\n },\r\n legend: {\r\n markerColor: accentColor\r\n }\r\n },\r\n bullet: {\r\n color: accentColor\r\n },\r\n gauge: {\r\n valueIndicators: {\r\n rangebar: {\r\n color: accentColor\r\n },\r\n textcloud: {\r\n color: accentColor\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: \"material.\" + themeName\r\n }\r\n}\r\nvar materialAccents = {\r\n blue: \"#03a9f4\",\r\n lime: \"#cddc39\",\r\n orange: \"#ff5722\",\r\n purple: \"#9c27b0\",\r\n teal: \"#009688\"\r\n};\r\nfor (var accent in materialAccents) {\r\n if (Object.prototype.hasOwnProperty.call(materialAccents, accent)) {\r\n var color = materialAccents[accent];\r\n themes.push(getMaterialColorScheme(accent, \"light\", color), getMaterialColorScheme(accent, \"dark\", color), {\r\n theme: {\r\n name: \"material.\".concat(accent, \".light.compact\")\r\n },\r\n baseThemeName: \"material.\".concat(accent, \".light\")\r\n }, {\r\n theme: {\r\n name: \"material.\".concat(accent, \".dark.compact\")\r\n },\r\n baseThemeName: \"material.\".concat(accent, \".dark\")\r\n })\r\n }\r\n}\r\nexport default themes;\r\n","/**\r\n * DevExtreme (esm/viz/themes.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n normalizeEnum\r\n} from \"./core/utils\";\r\nimport {\r\n current as getCurrentTheme\r\n} from \"../ui/themes\";\r\nimport {\r\n isEmptyObject\r\n} from \"../core/utils/type\";\r\nimport lightThemes from \"./core/themes/generic.light\";\r\nimport carmineThemes from \"./core/themes/generic.carmine\";\r\nimport darkThemes from \"./core/themes/generic.dark\";\r\nimport contrastThemes from \"./core/themes/generic.contrast\";\r\nimport darkMoonThemes from \"./core/themes/generic.darkmoon\";\r\nimport darkVioletThemes from \"./core/themes/generic.darkviolet\";\r\nimport greenMistThemes from \"./core/themes/generic.greenmist\";\r\nimport softBlueThemes from \"./core/themes/generic.softblue\";\r\nimport materialThemes from \"./core/themes/material\";\r\nvar themes = {};\r\nvar themesMapping = {};\r\nvar themesSchemeMapping = {};\r\nvar _extend = extend;\r\nvar _each = each;\r\nvar currentThemeName = null;\r\nvar defaultTheme;\r\nvar nextCacheUid = 0;\r\nvar widgetsCache = {};\r\nexport function getTheme(themeName) {\r\n var name = normalizeEnum(themeName);\r\n return themes[name] || themes[themesMapping[name] || currentTheme()]\r\n}\r\n\r\nfunction findThemeNameByName(name, scheme) {\r\n return themesMapping[name + \".\" + scheme] || themesSchemeMapping[name + \".\" + scheme] || themesMapping[name]\r\n}\r\n\r\nfunction findThemeNameByPlatform(platform, version, scheme) {\r\n return findThemeNameByName(platform + version, scheme) || findThemeNameByName(platform, scheme)\r\n}\r\nexport function currentTheme(themeName, colorScheme) {\r\n if (!arguments.length) {\r\n return currentThemeName || findThemeNameByName(getCurrentTheme()) || defaultTheme\r\n }\r\n var scheme = normalizeEnum(colorScheme);\r\n currentThemeName = (themeName && themeName.platform ? findThemeNameByPlatform(normalizeEnum(themeName.platform), themeName.version, scheme) : findThemeNameByName(normalizeEnum(themeName), scheme)) || currentThemeName;\r\n return this\r\n}\r\n\r\nfunction getThemeInfo(themeName, splitter) {\r\n var k = themeName.indexOf(splitter);\r\n return k > 0 ? {\r\n name: themeName.substring(0, k),\r\n scheme: themeName.substring(k + 1)\r\n } : null\r\n}\r\n\r\nfunction registerThemeName(themeName, targetThemeName) {\r\n var themeInfo = getThemeInfo(themeName, \".\") || {\r\n name: themeName\r\n };\r\n var name = themeInfo.name;\r\n var scheme = themeInfo.scheme;\r\n if (scheme) {\r\n themesMapping[name] = themesMapping[name] || targetThemeName;\r\n themesMapping[name + \".\" + scheme] = targetThemeName\r\n } else {\r\n themesMapping[name] = targetThemeName\r\n }\r\n}\r\nexport function registerTheme(theme, baseThemeName) {\r\n var themeName = normalizeEnum(theme && theme.name);\r\n if (themeName) {\r\n theme.isDefault && (defaultTheme = themeName);\r\n registerThemeName(themeName, themeName);\r\n themes[themeName] = _extend(true, {}, getTheme(baseThemeName), patchTheme(theme))\r\n }\r\n}\r\nexport function registerThemeSchemeAlias(from, to) {\r\n themesSchemeMapping[from] = to\r\n}\r\n\r\nfunction mergeScalar(target, field, source, sourceValue) {\r\n var _value = source ? source[field] : sourceValue;\r\n if (void 0 !== _value && void 0 === target[field]) {\r\n target[field] = _value\r\n }\r\n}\r\n\r\nfunction mergeObject(target, field, source, sourceValue) {\r\n var _value = source ? source[field] : sourceValue;\r\n if (void 0 !== _value) {\r\n target[field] = _extend(true, {}, _value, target[field])\r\n }\r\n}\r\n\r\nfunction patchTheme(theme) {\r\n theme = _extend(true, {\r\n loadingIndicator: {\r\n font: {}\r\n },\r\n export: {\r\n font: {}\r\n },\r\n legend: {\r\n font: {},\r\n border: {}\r\n },\r\n title: {\r\n font: {}\r\n },\r\n tooltip: {\r\n font: {}\r\n },\r\n \"chart:common\": {},\r\n \"chart:common:axis\": {\r\n grid: {},\r\n minorGrid: {},\r\n tick: {},\r\n minorTick: {},\r\n title: {\r\n font: {}\r\n },\r\n label: {\r\n font: {}\r\n }\r\n },\r\n \"chart:common:annotation\": {\r\n font: {},\r\n border: {}\r\n },\r\n chart: {\r\n commonSeriesSettings: {\r\n candlestick: {}\r\n }\r\n },\r\n pie: {},\r\n polar: {},\r\n gauge: {\r\n scale: {\r\n tick: {},\r\n minorTick: {},\r\n label: {\r\n font: {}\r\n }\r\n }\r\n },\r\n barGauge: {},\r\n funnel: {},\r\n sankey: {},\r\n map: {\r\n background: {}\r\n },\r\n treeMap: {\r\n tile: {\r\n selectionStyle: {\r\n border: {}\r\n }\r\n },\r\n group: {\r\n border: {},\r\n selectionStyle: {\r\n border: {}\r\n },\r\n label: {\r\n font: {}\r\n }\r\n }\r\n },\r\n rangeSelector: {\r\n scale: {\r\n tick: {},\r\n minorTick: {},\r\n label: {\r\n font: {}\r\n }\r\n },\r\n chart: {}\r\n },\r\n sparkline: {},\r\n bullet: {}\r\n }, theme);\r\n mergeScalar(theme.loadingIndicator, \"backgroundColor\", theme);\r\n mergeScalar(theme.chart.commonSeriesSettings.candlestick, \"innerColor\", null, theme.backgroundColor);\r\n mergeScalar(theme.map.background, \"color\", null, theme.backgroundColor);\r\n mergeScalar(theme.title.font, \"color\", null, theme.primaryTitleColor);\r\n mergeObject(theme.title, \"subtitle\", null, theme.title);\r\n mergeScalar(theme.legend.font, \"color\", null, theme.secondaryTitleColor);\r\n mergeScalar(theme.legend.border, \"color\", null, theme.gridColor);\r\n patchAxes(theme);\r\n _each([\"chart\", \"pie\", \"polar\", \"gauge\", \"barGauge\", \"map\", \"treeMap\", \"funnel\", \"rangeSelector\", \"sparkline\", \"bullet\", \"sankey\"], (function(_, section) {\r\n mergeScalar(theme[section], \"redrawOnResize\", theme);\r\n mergeScalar(theme[section], \"containerBackgroundColor\", null, theme.backgroundColor);\r\n mergeObject(theme[section], \"tooltip\", theme);\r\n mergeObject(theme[section], \"export\", theme)\r\n }));\r\n _each([\"chart\", \"pie\", \"polar\", \"gauge\", \"barGauge\", \"map\", \"treeMap\", \"funnel\", \"rangeSelector\", \"sankey\"], (function(_, section) {\r\n mergeObject(theme[section], \"loadingIndicator\", theme);\r\n mergeObject(theme[section], \"legend\", theme);\r\n mergeObject(theme[section], \"title\", theme)\r\n }));\r\n _each([\"chart\", \"pie\", \"polar\"], (function(_, section) {\r\n mergeObject(theme, section, null, theme[\"chart:common\"])\r\n }));\r\n _each([\"chart\", \"polar\"], (function(_, section) {\r\n theme[section] = theme[section] || {};\r\n mergeObject(theme[section], \"commonAxisSettings\", null, theme[\"chart:common:axis\"])\r\n }));\r\n _each([\"chart\", \"polar\", \"map\", \"pie\"], (function(_, section) {\r\n theme[section] = theme[section] || {};\r\n mergeObject(theme[section], \"commonAnnotationSettings\", null, theme[\"chart:common:annotation\"])\r\n }));\r\n mergeObject(theme.rangeSelector.chart, \"commonSeriesSettings\", theme.chart);\r\n mergeObject(theme.rangeSelector.chart, \"dataPrepareSettings\", theme.chart);\r\n mergeScalar(theme.treeMap.group.border, \"color\", null, theme.gridColor);\r\n mergeScalar(theme.treeMap.tile.selectionStyle.border, \"color\", null, theme.primaryTitleColor);\r\n mergeScalar(theme.treeMap.group.selectionStyle.border, \"color\", null, theme.primaryTitleColor);\r\n mergeScalar(theme.map.legend, \"backgroundColor\", theme);\r\n patchMapLayers(theme);\r\n return theme\r\n}\r\n\r\nfunction patchAxes(theme) {\r\n var commonAxisSettings = theme[\"chart:common:axis\"];\r\n _each([commonAxisSettings.grid, commonAxisSettings.minorGrid], (function(_, obj) {\r\n mergeScalar(obj, \"color\", null, theme.gridColor)\r\n }));\r\n _each([commonAxisSettings, commonAxisSettings.tick, commonAxisSettings.minorTick, commonAxisSettings.label.font], (function(_, obj) {\r\n mergeScalar(obj, \"color\", null, theme.axisColor)\r\n }));\r\n mergeScalar(commonAxisSettings.title.font, \"color\", null, theme.secondaryTitleColor);\r\n mergeScalar(theme.gauge.scale.label.font, \"color\", null, theme.axisColor);\r\n mergeScalar(theme.gauge.scale.tick, \"color\", null, theme.backgroundColor);\r\n mergeScalar(theme.gauge.scale.minorTick, \"color\", null, theme.backgroundColor);\r\n mergeScalar(theme.rangeSelector.scale.label.font, \"color\", null, theme.axisColor)\r\n}\r\n\r\nfunction patchMapLayers(theme) {\r\n var map = theme.map;\r\n _each([\"area\", \"line\", \"marker\"], (function(_, section) {\r\n mergeObject(map, \"layer:\" + section, null, map.layer)\r\n }));\r\n _each([\"dot\", \"bubble\", \"pie\", \"image\"], (function(_, section) {\r\n mergeObject(map, \"layer:marker:\" + section, null, map[\"layer:marker\"])\r\n }))\r\n}\r\nexport function addCacheItem(target) {\r\n var cacheUid = ++nextCacheUid;\r\n target._cache = cacheUid;\r\n widgetsCache[cacheUid] = target\r\n}\r\nexport function removeCacheItem(target) {\r\n delete widgetsCache[target._cache]\r\n}\r\nexport function refreshTheme() {\r\n _each(widgetsCache, (function() {\r\n this.refresh()\r\n }));\r\n return this\r\n}\r\nif (isEmptyObject(themes) && isEmptyObject(themesMapping) && !defaultTheme) {\r\n [].concat(lightThemes, carmineThemes, darkThemes, contrastThemes, darkMoonThemes, darkVioletThemes, greenMistThemes, softBlueThemes, materialThemes).forEach(t => {\r\n registerTheme(t.theme, t.baseThemeName)\r\n })\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/translators/range.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined,\r\n isDate,\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nvar _isDefined = isDefined;\r\nvar _isDate = isDate;\r\nvar _isFunction = isFunction;\r\nimport {\r\n unique\r\n} from \"../core/utils\";\r\nvar minSelector = \"min\";\r\nvar maxSelector = \"max\";\r\nvar minVisibleSelector = \"minVisible\";\r\nvar maxVisibleSelector = \"maxVisible\";\r\nvar baseSelector = \"base\";\r\nvar axisTypeSelector = \"axisType\";\r\n\r\nfunction otherLessThan(thisValue, otherValue) {\r\n return otherValue < thisValue\r\n}\r\n\r\nfunction otherGreaterThan(thisValue, otherValue) {\r\n return otherValue > thisValue\r\n}\r\n\r\nfunction compareAndReplace(thisValue, otherValue, setValue, compare) {\r\n var otherValueDefined = _isDefined(otherValue);\r\n if (_isDefined(thisValue)) {\r\n if (otherValueDefined && compare(thisValue, otherValue)) {\r\n setValue(otherValue)\r\n }\r\n } else if (otherValueDefined) {\r\n setValue(otherValue)\r\n }\r\n}\r\nexport var Range = function(range) {\r\n range && extend(this, range)\r\n};\r\nvar _Range = Range;\r\n_Range.prototype = {\r\n constructor: _Range,\r\n addRange: function(otherRange) {\r\n var that = this;\r\n var categories = that.categories;\r\n var otherCategories = otherRange.categories;\r\n var isDiscrete = \"discrete\" === that[axisTypeSelector];\r\n var compareAndReplaceByField = function(field, compare) {\r\n compareAndReplace(that[field], otherRange[field], (function(value) {\r\n that[field] = value\r\n }), compare)\r\n };\r\n var controlValuesByVisibleBounds = function(valueField, visibleValueField, compare) {\r\n compareAndReplace(that[valueField], that[visibleValueField], (function(value) {\r\n _isDefined(that[valueField]) && (that[valueField] = value)\r\n }), compare)\r\n };\r\n var checkField = function(field) {\r\n that[field] = that[field] || otherRange[field]\r\n };\r\n checkField(\"invert\");\r\n checkField(\"containsConstantLine\");\r\n checkField(axisTypeSelector);\r\n checkField(\"dataType\");\r\n checkField(\"isSpacedMargin\");\r\n if (\"logarithmic\" === that[axisTypeSelector]) {\r\n checkField(baseSelector)\r\n } else {\r\n that[baseSelector] = void 0\r\n }\r\n compareAndReplaceByField(minSelector, otherLessThan);\r\n compareAndReplaceByField(maxSelector, otherGreaterThan);\r\n if (isDiscrete) {\r\n checkField(minVisibleSelector);\r\n checkField(maxVisibleSelector)\r\n } else {\r\n compareAndReplaceByField(minVisibleSelector, otherLessThan);\r\n compareAndReplaceByField(maxVisibleSelector, otherGreaterThan)\r\n }\r\n compareAndReplaceByField(\"interval\", otherLessThan);\r\n if (!isDiscrete) {\r\n controlValuesByVisibleBounds(minSelector, minVisibleSelector, otherLessThan);\r\n controlValuesByVisibleBounds(minSelector, maxVisibleSelector, otherLessThan);\r\n controlValuesByVisibleBounds(maxSelector, maxVisibleSelector, otherGreaterThan);\r\n controlValuesByVisibleBounds(maxSelector, minVisibleSelector, otherGreaterThan)\r\n }\r\n if (void 0 === categories) {\r\n that.categories = otherCategories\r\n } else {\r\n that.categories = otherCategories ? unique(categories.concat(otherCategories)) : categories\r\n }\r\n if (\"logarithmic\" === that[axisTypeSelector]) {\r\n checkField(\"allowNegatives\");\r\n compareAndReplaceByField(\"linearThreshold\", otherLessThan)\r\n }\r\n return that\r\n },\r\n isEmpty: function() {\r\n return (!_isDefined(this[minSelector]) || !_isDefined(this[maxSelector])) && (!this.categories || 0 === this.categories.length)\r\n },\r\n correctValueZeroLevel: function() {\r\n var that = this;\r\n if (_isDate(that[maxSelector]) || _isDate(that[minSelector])) {\r\n return that\r\n }\r\n\r\n function setZeroLevel(min, max) {\r\n that[min] < 0 && that[max] < 0 && (that[max] = 0);\r\n that[min] > 0 && that[max] > 0 && (that[min] = 0)\r\n }\r\n setZeroLevel(minSelector, maxSelector);\r\n setZeroLevel(minVisibleSelector, maxVisibleSelector);\r\n return that\r\n },\r\n sortCategories(sort) {\r\n if (false === sort || !this.categories) {\r\n return\r\n }\r\n if (Array.isArray(sort)) {\r\n var sortValues = sort.map(item => item.valueOf());\r\n var filteredSeriesCategories = this.categories.filter(item => -1 === sortValues.indexOf(item.valueOf()));\r\n this.categories = sort.concat(filteredSeriesCategories)\r\n } else {\r\n var notAFunction = !_isFunction(sort);\r\n if (notAFunction && \"string\" !== this.dataType) {\r\n sort = (a, b) => a.valueOf() - b.valueOf()\r\n } else if (notAFunction) {\r\n sort = false\r\n }\r\n sort && this.categories.sort(sort)\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/translators/translator1d.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar _Number = Number;\r\nexport function Translator1D() {\r\n this.setDomain(arguments[0], arguments[1]).setCodomain(arguments[2], arguments[3]).setInverted(false)\r\n}\r\nTranslator1D.prototype = {\r\n constructor: Translator1D,\r\n setDomain: function(domain1, domain2) {\r\n this._domain1 = _Number(domain1);\r\n this._domain2 = _Number(domain2);\r\n this._domainDelta = this._domain2 - this._domain1;\r\n return this\r\n },\r\n setCodomain: function(codomain1, codomain2) {\r\n this._codomain1 = _Number(codomain1);\r\n this._codomain2 = _Number(codomain2);\r\n this._codomainDelta = this._codomain2 - this._codomain1;\r\n return this\r\n },\r\n setInverted(state) {\r\n this.inverted = state\r\n },\r\n getDomain: function() {\r\n return [this._domain1, this._domain2]\r\n },\r\n getCodomain: function() {\r\n return [this._codomain1, this._codomain2]\r\n },\r\n getDomainStart: function() {\r\n return this._domain1\r\n },\r\n getDomainEnd: function() {\r\n return this._domain2\r\n },\r\n getCodomainStart: function() {\r\n return this._codomain1\r\n },\r\n getCodomainEnd: function() {\r\n return this._codomain2\r\n },\r\n getDomainRange: function() {\r\n return this._domainDelta\r\n },\r\n getCodomainRange: function() {\r\n return this._codomainDelta\r\n },\r\n translate: function(value) {\r\n var ratio = (_Number(value) - this._domain1) / this._domainDelta;\r\n this.inverted && (ratio = 1 - ratio);\r\n return 0 <= ratio && ratio <= 1 ? this._codomain1 + ratio * this._codomainDelta : NaN\r\n },\r\n adjust: function(value) {\r\n var ratio = (_Number(value) - this._domain1) / this._domainDelta;\r\n var result = NaN;\r\n if (ratio < 0) {\r\n result = this._domain1\r\n } else if (ratio > 1) {\r\n result = this._domain2\r\n } else if (0 <= ratio && ratio <= 1) {\r\n result = _Number(value)\r\n }\r\n return result\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/translators/category_translator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n adjust\r\n} from \"../../core/utils/math\";\r\nvar round = Math.round;\r\n\r\nfunction getValue(value) {\r\n return value\r\n}\r\nexport default {\r\n translate: function(category, directionOffset) {\r\n var canvasOptions = this._canvasOptions;\r\n var categoryIndex = this._categoriesToPoints[null === category || void 0 === category ? void 0 : category.valueOf()];\r\n var specialValue = this.translateSpecialCase(category);\r\n var startPointIndex = canvasOptions.startPointIndex || 0;\r\n var stickInterval = this._options.stick ? 0 : .5;\r\n if (isDefined(specialValue)) {\r\n return round(specialValue)\r\n }\r\n if (!categoryIndex && 0 !== categoryIndex) {\r\n return null\r\n }\r\n directionOffset = directionOffset || 0;\r\n var stickDelta = categoryIndex + stickInterval - startPointIndex + .5 * directionOffset;\r\n return round(this._calculateProjection(canvasOptions.interval * stickDelta))\r\n },\r\n getInterval: function() {\r\n return this._canvasOptions.interval\r\n },\r\n getEventScale: function(zoomEvent) {\r\n var scale = zoomEvent.deltaScale || 1;\r\n return 1 - (1 - scale) / (.75 + this.visibleCategories.length / this._categories.length)\r\n },\r\n zoom: function(translate, scale) {\r\n var categories = this._categories;\r\n var canvasOptions = this._canvasOptions;\r\n var stick = this._options.stick;\r\n var invert = canvasOptions.invert;\r\n var interval = canvasOptions.interval * scale;\r\n var translateCategories = translate / interval;\r\n var visibleCount = (this.visibleCategories || []).length;\r\n var startCategoryIndex = parseInt((canvasOptions.startPointIndex || 0) + translateCategories + .5);\r\n var categoriesLength = parseInt(adjust(canvasOptions.canvasLength / interval) + (stick ? 1 : 0)) || 1;\r\n var endCategoryIndex;\r\n if (invert) {\r\n startCategoryIndex = parseInt((canvasOptions.startPointIndex || 0) + visibleCount - translateCategories + .5) - categoriesLength\r\n }\r\n if (startCategoryIndex < 0) {\r\n startCategoryIndex = 0\r\n }\r\n endCategoryIndex = startCategoryIndex + categoriesLength;\r\n if (endCategoryIndex > categories.length) {\r\n endCategoryIndex = categories.length;\r\n startCategoryIndex = endCategoryIndex - categoriesLength;\r\n if (startCategoryIndex < 0) {\r\n startCategoryIndex = 0\r\n }\r\n }\r\n var newVisibleCategories = categories.slice(parseInt(startCategoryIndex), parseInt(endCategoryIndex));\r\n var newInterval = this._getDiscreteInterval(newVisibleCategories.length, canvasOptions);\r\n scale = newInterval / canvasOptions.interval;\r\n translate = this.translate(!invert ? newVisibleCategories[0] : newVisibleCategories[newVisibleCategories.length - 1]) * scale - (canvasOptions.startPoint + (stick ? 0 : newInterval / 2));\r\n return {\r\n min: newVisibleCategories[0],\r\n max: newVisibleCategories[newVisibleCategories.length - 1],\r\n translate: translate,\r\n scale: scale\r\n }\r\n },\r\n getMinScale: function(zoom) {\r\n var canvasOptions = this._canvasOptions;\r\n var categoriesLength = (this.visibleCategories || this._categories).length;\r\n categoriesLength += (parseInt(.1 * categoriesLength) || 1) * (zoom ? -2 : 2);\r\n return canvasOptions.canvasLength / (Math.max(categoriesLength, 1) * canvasOptions.interval)\r\n },\r\n getScale: function(min, max) {\r\n var canvasOptions = this._canvasOptions;\r\n var visibleArea = this.getCanvasVisibleArea();\r\n var stickOffset = !this._options.stick && 1;\r\n var minPoint = isDefined(min) ? this.translate(min, -stickOffset) : null;\r\n var maxPoint = isDefined(max) ? this.translate(max, +stickOffset) : null;\r\n if (null === minPoint) {\r\n minPoint = canvasOptions.invert ? visibleArea.max : visibleArea.min\r\n }\r\n if (null === maxPoint) {\r\n maxPoint = canvasOptions.invert ? visibleArea.min : visibleArea.max\r\n }\r\n return this.canvasLength / Math.abs(maxPoint - minPoint)\r\n },\r\n isValid: function(value) {\r\n return isDefined(value) ? this._categoriesToPoints[value.valueOf()] >= 0 : false\r\n },\r\n getCorrectValue: getValue,\r\n to: function(value, direction) {\r\n var canvasOptions = this._canvasOptions;\r\n var categoryIndex = this._categoriesToPoints[null === value || void 0 === value ? void 0 : value.valueOf()];\r\n var startPointIndex = canvasOptions.startPointIndex || 0;\r\n var stickDelta = categoryIndex + (this._options.stick ? 0 : .5) - startPointIndex + (this._businessRange.invert ? -1 : 1) * direction * .5;\r\n return round(this._calculateProjection(canvasOptions.interval * stickDelta))\r\n },\r\n from: function(position) {\r\n var direction = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;\r\n var canvasOptions = this._canvasOptions;\r\n var startPoint = canvasOptions.startPoint;\r\n var categories = this.visibleCategories || this._categories;\r\n var categoriesLength = categories.length;\r\n var stickInterval = this._options.stick ? .5 : 0;\r\n var result = round((position - startPoint) / canvasOptions.interval + stickInterval - .5 - .5 * direction);\r\n if (result >= categoriesLength) {\r\n result = categoriesLength - 1\r\n }\r\n if (result < 0) {\r\n result = 0\r\n }\r\n if (canvasOptions.invert) {\r\n result = categoriesLength - result - 1\r\n }\r\n return categories[result]\r\n },\r\n _add: function() {\r\n return NaN\r\n },\r\n toValue: getValue,\r\n isValueProlonged: true,\r\n getRangeByMinZoomValue(minZoom, visualRange) {\r\n var categories = this._categories;\r\n var minVisibleIndex = categories.indexOf(visualRange.minVisible);\r\n var maxVisibleIndex = categories.indexOf(visualRange.maxVisible);\r\n var startIndex = minVisibleIndex + minZoom - 1;\r\n var endIndex = maxVisibleIndex - minZoom + 1;\r\n if (categories[startIndex]) {\r\n return [visualRange.minVisible, categories[startIndex]]\r\n } else {\r\n return [categories[endIndex], visualRange.maxVisible]\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/translators/interval_translator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isNumeric as isNumber,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nvar floor = Math.floor;\r\nimport {\r\n adjust\r\n} from \"../../core/utils/math\";\r\nexport default {\r\n _intervalize: function(value, interval) {\r\n if (!isDefined(value)) {\r\n return\r\n }\r\n if (\"datetime\" === this._businessRange.dataType) {\r\n if (isNumber(value)) {\r\n value = new Date(value)\r\n } else {\r\n value = new Date(value.getTime())\r\n }\r\n value = dateUtils.correctDateWithUnitBeginning(value, interval, null, this._options.firstDayOfWeek)\r\n } else {\r\n value = adjust(floor(adjust(value / interval)) * interval, interval)\r\n }\r\n return value\r\n },\r\n translate: function(bp, direction, skipRound, interval) {\r\n var specialValue = this.translateSpecialCase(bp);\r\n if (isDefined(specialValue)) {\r\n return Math.round(specialValue)\r\n }\r\n interval = interval || this._options.interval;\r\n if (!this.isValid(bp, interval)) {\r\n return null\r\n }\r\n return this.to(bp, direction, skipRound, interval)\r\n },\r\n getInterval: function() {\r\n return Math.round(this._canvasOptions.ratioOfCanvasRange * (this._businessRange.interval || Math.abs(this._canvasOptions.rangeMax - this._canvasOptions.rangeMin)))\r\n },\r\n zoom: function() {},\r\n getMinScale: function() {},\r\n getScale: function() {},\r\n _parse: function(value) {\r\n return \"datetime\" === this._businessRange.dataType ? new Date(value) : Number(value)\r\n },\r\n fromValue: function(value) {\r\n return this._parse(value)\r\n },\r\n toValue: function(value) {\r\n return this._parse(value)\r\n },\r\n isValid: function(value, interval) {\r\n var co = this._canvasOptions;\r\n var rangeMin = co.rangeMin;\r\n var rangeMax = co.rangeMax;\r\n interval = interval || this._options.interval;\r\n if (null === value || isNaN(value)) {\r\n return false\r\n }\r\n value = \"datetime\" === this._businessRange.dataType && isNumber(value) ? new Date(value) : value;\r\n if (interval !== this._options.interval) {\r\n rangeMin = this._intervalize(rangeMin, interval);\r\n rangeMax = this._intervalize(rangeMax, interval)\r\n }\r\n if (value.valueOf() < rangeMin || value.valueOf() >= dateUtils.addInterval(rangeMax, interval)) {\r\n return false\r\n }\r\n return true\r\n },\r\n to: function(bp, direction, skipRound, interval) {\r\n interval = interval || this._options.interval;\r\n var v1 = this._intervalize(bp, interval);\r\n var v2 = dateUtils.addInterval(v1, interval);\r\n var res = this._to(v1, skipRound);\r\n var p2 = this._to(v2, skipRound);\r\n if (!direction) {\r\n res = floor((res + p2) / 2)\r\n } else if (direction > 0) {\r\n res = p2\r\n }\r\n return res\r\n },\r\n _to: function(value, skipRound) {\r\n var co = this._canvasOptions;\r\n var rMin = co.rangeMinVisible;\r\n var rMax = co.rangeMaxVisible;\r\n var offset = value - rMin;\r\n if (value < rMin) {\r\n offset = 0\r\n } else if (value > rMax) {\r\n offset = dateUtils.addInterval(rMax, this._options.interval) - rMin\r\n }\r\n var projectedValue = this._calculateProjection(offset * this._canvasOptions.ratioOfCanvasRange);\r\n return this._conversionValue(projectedValue, skipRound)\r\n },\r\n from: function(position, direction) {\r\n var origInterval = this._options.interval;\r\n var interval = origInterval;\r\n var co = this._canvasOptions;\r\n var rMin = co.rangeMinVisible;\r\n var rMax = co.rangeMaxVisible;\r\n var value;\r\n if (\"datetime\" === this._businessRange.dataType) {\r\n interval = dateUtils.dateToMilliseconds(origInterval)\r\n }\r\n value = this._calculateUnProjection((position - this._canvasOptions.startPoint) / this._canvasOptions.ratioOfCanvasRange);\r\n value = this._intervalize(dateUtils.addInterval(value, interval / 2, direction > 0), origInterval);\r\n if (value < rMin) {\r\n value = rMin\r\n } else if (value > rMax) {\r\n value = rMax\r\n }\r\n return value\r\n },\r\n _add: function() {\r\n return NaN\r\n },\r\n isValueProlonged: true\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/translators/datetime_translator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dateUtils from \"../../core/utils/date\";\r\n\r\nfunction parse(value) {\r\n return null !== value ? new Date(value) : value\r\n}\r\nexport default {\r\n fromValue: parse,\r\n toValue: parse,\r\n _add: dateUtils.addDateInterval,\r\n convert: dateUtils.dateToMilliseconds\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/translators/logarithmic_translator.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n raiseToExt as raiseTo,\r\n getLogExt as getLog\r\n} from \"../core/utils\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nexport default {\r\n fromValue: function(value) {\r\n return null !== value ? getLog(value, this._canvasOptions.base, this._businessRange.allowNegatives, this._businessRange.linearThreshold) : value\r\n },\r\n toValue: function(value) {\r\n return null !== value ? raiseTo(value, this._canvasOptions.base, this._businessRange.allowNegatives, this._businessRange.linearThreshold) : value\r\n },\r\n getMinBarSize: function(minBarSize) {\r\n var visibleArea = this.getCanvasVisibleArea();\r\n var minValue = this.from(visibleArea.min + minBarSize);\r\n var canvasOptions = this._canvasOptions;\r\n var startValue = this.fromValue(this.from(visibleArea.min));\r\n var endValue = this.fromValue(null !== minValue && void 0 !== minValue ? minValue : this.from(visibleArea.max));\r\n var value = Math.abs(startValue - endValue);\r\n return Math.pow(canvasOptions.base, value)\r\n },\r\n checkMinBarSize: function(initialValue, minShownValue, stackValue) {\r\n var canvasOptions = this._canvasOptions;\r\n var prevValue = stackValue ? stackValue - initialValue : 0;\r\n var baseMethod = this.constructor.prototype.checkMinBarSize;\r\n var minBarSize;\r\n var updateValue;\r\n if (isDefined(minShownValue) && prevValue > 0) {\r\n minBarSize = baseMethod(this.fromValue(stackValue / prevValue), this.fromValue(minShownValue) - canvasOptions.rangeMinVisible);\r\n updateValue = Math.pow(canvasOptions.base, this.fromValue(prevValue) + minBarSize) - prevValue\r\n } else {\r\n updateValue = baseMethod(initialValue, minShownValue)\r\n }\r\n return updateValue\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/translators/translator2d.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n Range\r\n} from \"./range\";\r\nimport categoryTranslator from \"./category_translator\";\r\nimport intervalTranslator from \"./interval_translator\";\r\nimport datetimeTranslator from \"./datetime_translator\";\r\nimport logarithmicTranslator from \"./logarithmic_translator\";\r\nimport {\r\n getLogExt as getLog,\r\n getPower,\r\n raiseToExt,\r\n getCategoriesInfo\r\n} from \"../core/utils\";\r\nimport {\r\n isDefined,\r\n isDate\r\n} from \"../../core/utils/type\";\r\nimport {\r\n adjust\r\n} from \"../../core/utils/math\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nvar _abs = Math.abs;\r\nvar CANVAS_PROP = [\"width\", \"height\", \"left\", \"top\", \"bottom\", \"right\"];\r\nvar dummyTranslator = {\r\n to(value) {\r\n var coord = this._canvasOptions.startPoint + (this._options.conversionValue ? value : Math.round(value));\r\n return coord > this._canvasOptions.endPoint ? this._canvasOptions.endPoint : coord\r\n },\r\n from(value) {\r\n return value - this._canvasOptions.startPoint\r\n }\r\n};\r\nvar validateCanvas = function(canvas) {\r\n each(CANVAS_PROP, (function(_, prop) {\r\n canvas[prop] = parseInt(canvas[prop]) || 0\r\n }));\r\n return canvas\r\n};\r\nvar makeCategoriesToPoints = function(categories) {\r\n var categoriesToPoints = {};\r\n categories.forEach((function(item, i) {\r\n categoriesToPoints[item.valueOf()] = i\r\n }));\r\n return categoriesToPoints\r\n};\r\nvar validateBusinessRange = function(businessRange) {\r\n if (!(businessRange instanceof Range)) {\r\n businessRange = new Range(businessRange)\r\n }\r\n\r\n function validate(valueSelector, baseValueSelector) {\r\n if (!isDefined(businessRange[valueSelector]) && isDefined(businessRange[baseValueSelector])) {\r\n businessRange[valueSelector] = businessRange[baseValueSelector]\r\n }\r\n }\r\n validate(\"minVisible\", \"min\");\r\n validate(\"maxVisible\", \"max\");\r\n return businessRange\r\n};\r\n\r\nfunction prepareBreaks(breaks, range) {\r\n var transform = \"logarithmic\" === range.axisType ? function(value) {\r\n return getLog(value, range.base)\r\n } : function(value) {\r\n return value\r\n };\r\n var array = [];\r\n var br;\r\n var transformFrom;\r\n var transformTo;\r\n var i;\r\n var length = breaks.length;\r\n var sum = 0;\r\n for (i = 0; i < length; i++) {\r\n br = breaks[i];\r\n transformFrom = transform(br.from);\r\n transformTo = transform(br.to);\r\n sum += transformTo - transformFrom;\r\n array.push({\r\n trFrom: transformFrom,\r\n trTo: transformTo,\r\n from: br.from,\r\n to: br.to,\r\n length: sum,\r\n cumulativeWidth: br.cumulativeWidth\r\n })\r\n }\r\n return array\r\n}\r\n\r\nfunction getCanvasBounds(range) {\r\n var min = range.min;\r\n var max = range.max;\r\n var minVisible = range.minVisible;\r\n var maxVisible = range.maxVisible;\r\n var isLogarithmic = \"logarithmic\" === range.axisType;\r\n if (isLogarithmic) {\r\n maxVisible = getLog(maxVisible, range.base, range.allowNegatives, range.linearThreshold);\r\n minVisible = getLog(minVisible, range.base, range.allowNegatives, range.linearThreshold);\r\n min = getLog(min, range.base, range.allowNegatives, range.linearThreshold);\r\n max = getLog(max, range.base, range.allowNegatives, range.linearThreshold)\r\n }\r\n return {\r\n base: range.base,\r\n rangeMin: min,\r\n rangeMax: max,\r\n rangeMinVisible: minVisible,\r\n rangeMaxVisible: maxVisible\r\n }\r\n}\r\n\r\nfunction getCheckingMethodsAboutBreaks(inverted) {\r\n return {\r\n isStartSide: !inverted ? function(pos, breaks, start, end) {\r\n return pos < breaks[0][start]\r\n } : function(pos, breaks, start, end) {\r\n return pos <= breaks[breaks.length - 1][end]\r\n },\r\n isEndSide: !inverted ? function(pos, breaks, start, end) {\r\n return pos >= breaks[breaks.length - 1][end]\r\n } : function(pos, breaks, start, end) {\r\n return pos > breaks[0][start]\r\n },\r\n isInBreak: !inverted ? function(pos, br, start, end) {\r\n return pos >= br[start] && pos < br[end]\r\n } : function(pos, br, start, end) {\r\n return pos > br[end] && pos <= br[start]\r\n },\r\n isBetweenBreaks: !inverted ? function(pos, br, prevBreak, start, end) {\r\n return pos < br[start] && pos >= prevBreak[end]\r\n } : function(pos, br, prevBreak, start, end) {\r\n return pos >= br[end] && pos < prevBreak[start]\r\n },\r\n getLength: !inverted ? function(br) {\r\n return br.length\r\n } : function(br, lastBreak) {\r\n return lastBreak.length - br.length\r\n },\r\n getBreaksSize: !inverted ? function(br) {\r\n return br.cumulativeWidth\r\n } : function(br, lastBreak) {\r\n return lastBreak.cumulativeWidth - br.cumulativeWidth\r\n }\r\n }\r\n}\r\nvar _Translator2d = function(businessRange, canvas, options) {\r\n this.update(businessRange, canvas, options)\r\n};\r\n_Translator2d.prototype = {\r\n constructor: _Translator2d,\r\n reinit: function() {\r\n var that = this;\r\n var options = that._options;\r\n var range = that._businessRange;\r\n var categories = range.categories || [];\r\n var script = {};\r\n var canvasOptions = that._prepareCanvasOptions();\r\n var visibleCategories = getCategoriesInfo(categories, range.minVisible, range.maxVisible).categories;\r\n var categoriesLength = visibleCategories.length;\r\n if (range.isEmpty()) {\r\n script = dummyTranslator\r\n } else {\r\n switch (range.axisType) {\r\n case \"logarithmic\":\r\n script = logarithmicTranslator;\r\n break;\r\n case \"semidiscrete\":\r\n script = intervalTranslator;\r\n canvasOptions.ratioOfCanvasRange = canvasOptions.canvasLength / (dateUtils.addInterval(canvasOptions.rangeMaxVisible, options.interval) - canvasOptions.rangeMinVisible);\r\n break;\r\n case \"discrete\":\r\n script = categoryTranslator;\r\n that._categories = categories;\r\n canvasOptions.interval = that._getDiscreteInterval(options.addSpiderCategory ? categoriesLength + 1 : categoriesLength, canvasOptions);\r\n that._categoriesToPoints = makeCategoriesToPoints(categories);\r\n if (categoriesLength) {\r\n canvasOptions.startPointIndex = that._categoriesToPoints[visibleCategories[0].valueOf()];\r\n that.visibleCategories = visibleCategories\r\n }\r\n break;\r\n default:\r\n if (\"datetime\" === range.dataType) {\r\n script = datetimeTranslator\r\n }\r\n }\r\n }(that._oldMethods || []).forEach((function(methodName) {\r\n delete that[methodName]\r\n }));\r\n that._oldMethods = Object.keys(script);\r\n extend(that, script);\r\n that._conversionValue = options.conversionValue ? value => value : (value, skipRound) => skipRound ? value : Math.round(value);\r\n that.sc = {};\r\n that._checkingMethodsAboutBreaks = [getCheckingMethodsAboutBreaks(false), getCheckingMethodsAboutBreaks(that.isInverted())];\r\n that._translateBreaks();\r\n that._calculateSpecialValues()\r\n },\r\n _translateBreaks: function() {\r\n var breaks = this._breaks;\r\n var size = this._options.breaksSize;\r\n var i;\r\n var b;\r\n var end;\r\n var length;\r\n if (void 0 === breaks) {\r\n return\r\n }\r\n for (i = 0, length = breaks.length; i < length; i++) {\r\n b = breaks[i];\r\n end = this.translate(b.to);\r\n b.end = end;\r\n b.start = !b.gapSize ? !this.isInverted() ? end - size : end + size : end\r\n }\r\n },\r\n _checkValueAboutBreaks: function(breaks, pos, start, end, methods) {\r\n var i;\r\n var length;\r\n var prop = {\r\n length: 0,\r\n breaksSize: void 0,\r\n inBreak: false\r\n };\r\n var br;\r\n var prevBreak;\r\n var lastBreak = breaks[breaks.length - 1];\r\n if (methods.isStartSide(pos, breaks, start, end)) {\r\n return prop\r\n } else if (methods.isEndSide(pos, breaks, start, end)) {\r\n return {\r\n length: lastBreak.length,\r\n breaksSize: lastBreak.cumulativeWidth,\r\n inBreak: false\r\n }\r\n }\r\n for (i = 0, length = breaks.length; i < length; i++) {\r\n br = breaks[i];\r\n prevBreak = breaks[i - 1];\r\n if (methods.isInBreak(pos, br, start, end)) {\r\n prop.inBreak = true;\r\n prop.break = br;\r\n break\r\n }\r\n if (prevBreak && methods.isBetweenBreaks(pos, br, prevBreak, start, end)) {\r\n prop = {\r\n length: methods.getLength(prevBreak, lastBreak),\r\n breaksSize: methods.getBreaksSize(prevBreak, lastBreak),\r\n inBreak: false\r\n };\r\n break\r\n }\r\n }\r\n return prop\r\n },\r\n isInverted: function() {\r\n return !(this._options.isHorizontal ^ this._businessRange.invert)\r\n },\r\n _getDiscreteInterval: function(categoriesLength, canvasOptions) {\r\n var correctedCategoriesCount = categoriesLength - (this._options.stick ? 1 : 0);\r\n return correctedCategoriesCount > 0 ? canvasOptions.canvasLength / correctedCategoriesCount : canvasOptions.canvasLength\r\n },\r\n _prepareCanvasOptions() {\r\n var businessRange = this._businessRange;\r\n var canvasOptions = this._canvasOptions = getCanvasBounds(businessRange);\r\n var canvas = this._canvas;\r\n var breaks = this._breaks;\r\n var length;\r\n canvasOptions.startPadding = canvas.startPadding || 0;\r\n canvasOptions.endPadding = canvas.endPadding || 0;\r\n if (this._options.isHorizontal) {\r\n canvasOptions.startPoint = canvas.left + canvasOptions.startPadding;\r\n length = canvas.width;\r\n canvasOptions.endPoint = canvas.width - canvas.right - canvasOptions.endPadding;\r\n canvasOptions.invert = businessRange.invert\r\n } else {\r\n canvasOptions.startPoint = canvas.top + canvasOptions.startPadding;\r\n length = canvas.height;\r\n canvasOptions.endPoint = canvas.height - canvas.bottom - canvasOptions.endPadding;\r\n canvasOptions.invert = !businessRange.invert\r\n }\r\n this.canvasLength = canvasOptions.canvasLength = canvasOptions.endPoint - canvasOptions.startPoint;\r\n canvasOptions.rangeDoubleError = Math.pow(10, getPower(canvasOptions.rangeMax - canvasOptions.rangeMin) - getPower(length) - 2);\r\n canvasOptions.ratioOfCanvasRange = canvasOptions.canvasLength / (canvasOptions.rangeMaxVisible - canvasOptions.rangeMinVisible);\r\n if (void 0 !== breaks) {\r\n canvasOptions.ratioOfCanvasRange = (canvasOptions.canvasLength - breaks[breaks.length - 1].cumulativeWidth) / (canvasOptions.rangeMaxVisible - canvasOptions.rangeMinVisible - breaks[breaks.length - 1].length)\r\n }\r\n return canvasOptions\r\n },\r\n updateCanvas: function(canvas) {\r\n this._canvas = validateCanvas(canvas);\r\n this.reinit()\r\n },\r\n updateBusinessRange: function(businessRange) {\r\n var breaks = businessRange.breaks || [];\r\n this._userBreaks = businessRange.userBreaks || [];\r\n this._businessRange = validateBusinessRange(businessRange);\r\n this._breaks = breaks.length ? prepareBreaks(breaks, this._businessRange) : void 0;\r\n this.reinit()\r\n },\r\n update: function(businessRange, canvas, options) {\r\n this._options = extend(this._options || {}, options);\r\n this._canvas = validateCanvas(canvas);\r\n this.updateBusinessRange(businessRange)\r\n },\r\n getBusinessRange: function() {\r\n return this._businessRange\r\n },\r\n getEventScale: function(zoomEvent) {\r\n return zoomEvent.deltaScale || 1\r\n },\r\n getCanvasVisibleArea: function() {\r\n return {\r\n min: this._canvasOptions.startPoint,\r\n max: this._canvasOptions.endPoint\r\n }\r\n },\r\n _calculateSpecialValues: function() {\r\n var canvasOptions = this._canvasOptions;\r\n var startPoint = canvasOptions.startPoint - canvasOptions.startPadding;\r\n var endPoint = canvasOptions.endPoint + canvasOptions.endPadding;\r\n var range = this._businessRange;\r\n var minVisible = range.minVisible;\r\n var maxVisible = range.maxVisible;\r\n var canvas_position_center_middle = startPoint + canvasOptions.canvasLength / 2;\r\n var canvas_position_default;\r\n if (minVisible < 0 && maxVisible > 0 && minVisible !== maxVisible) {\r\n canvas_position_default = this.translate(0, 1)\r\n }\r\n if (!isDefined(canvas_position_default)) {\r\n var invert = range.invert ^ (minVisible < 0 && maxVisible <= 0);\r\n if (this._options.isHorizontal) {\r\n canvas_position_default = invert ? endPoint : startPoint\r\n } else {\r\n canvas_position_default = invert ? startPoint : endPoint\r\n }\r\n }\r\n this.sc = {\r\n canvas_position_default: canvas_position_default,\r\n canvas_position_left: startPoint,\r\n canvas_position_top: startPoint,\r\n canvas_position_center: canvas_position_center_middle,\r\n canvas_position_middle: canvas_position_center_middle,\r\n canvas_position_right: endPoint,\r\n canvas_position_bottom: endPoint,\r\n canvas_position_start: canvasOptions.invert ? endPoint : startPoint,\r\n canvas_position_end: canvasOptions.invert ? startPoint : endPoint\r\n }\r\n },\r\n translateSpecialCase(value) {\r\n return this.sc[value]\r\n },\r\n _calculateProjection: function(distance) {\r\n var canvasOptions = this._canvasOptions;\r\n return canvasOptions.invert ? canvasOptions.endPoint - distance : canvasOptions.startPoint + distance\r\n },\r\n _calculateUnProjection: function(distance) {\r\n var canvasOptions = this._canvasOptions;\r\n \"datetime\" === this._businessRange.dataType && (distance = Math.round(distance));\r\n return canvasOptions.invert ? canvasOptions.rangeMaxVisible.valueOf() - distance : canvasOptions.rangeMinVisible.valueOf() + distance\r\n },\r\n getMinBarSize: function(minBarSize) {\r\n var visibleArea = this.getCanvasVisibleArea();\r\n var minValue = this.from(visibleArea.min + minBarSize);\r\n return _abs(this.from(visibleArea.min) - (!isDefined(minValue) ? this.from(visibleArea.max) : minValue))\r\n },\r\n checkMinBarSize: function(value, minShownValue) {\r\n return _abs(value) < minShownValue ? value >= 0 ? minShownValue : -minShownValue : value\r\n },\r\n translate(bp, direction, skipRound) {\r\n var specialValue = this.translateSpecialCase(bp);\r\n if (isDefined(specialValue)) {\r\n return Math.round(specialValue)\r\n }\r\n if (isNaN(bp)) {\r\n return null\r\n }\r\n return this.to(bp, direction, skipRound)\r\n },\r\n getInterval: function(interval) {\r\n var _interval;\r\n var canvasOptions = this._canvasOptions;\r\n interval = null !== (_interval = interval) && void 0 !== _interval ? _interval : this._businessRange.interval;\r\n if (interval) {\r\n return Math.round(canvasOptions.ratioOfCanvasRange * interval)\r\n }\r\n return Math.round(canvasOptions.endPoint - canvasOptions.startPoint)\r\n },\r\n zoom(translate, scale, wholeRange) {\r\n var canvasOptions = this._canvasOptions;\r\n if (canvasOptions.rangeMinVisible.valueOf() === canvasOptions.rangeMaxVisible.valueOf() && 0 !== translate) {\r\n return this.zoomZeroLengthRange(translate, scale)\r\n }\r\n var startPoint = canvasOptions.startPoint;\r\n var endPoint = canvasOptions.endPoint;\r\n var isInverted = this.isInverted();\r\n var newStart = (startPoint + translate) / scale;\r\n var newEnd = (endPoint + translate) / scale;\r\n wholeRange = wholeRange || {};\r\n var minPoint = this.to(isInverted ? wholeRange.endValue : wholeRange.startValue);\r\n var maxPoint = this.to(isInverted ? wholeRange.startValue : wholeRange.endValue);\r\n var min;\r\n var max;\r\n if (minPoint > newStart) {\r\n newEnd -= newStart - minPoint;\r\n newStart = minPoint;\r\n min = isInverted ? wholeRange.endValue : wholeRange.startValue\r\n }\r\n if (maxPoint < newEnd) {\r\n newStart -= newEnd - maxPoint;\r\n newEnd = maxPoint;\r\n max = isInverted ? wholeRange.startValue : wholeRange.endValue\r\n }\r\n if (maxPoint - minPoint < newEnd - newStart) {\r\n newStart = minPoint;\r\n newEnd = maxPoint\r\n }\r\n translate = (endPoint - startPoint) * newStart / (newEnd - newStart) - startPoint;\r\n scale = (startPoint + translate) / newStart || 1;\r\n min = isDefined(min) ? min : adjust(this.from(newStart, 1));\r\n max = isDefined(max) ? max : adjust(this.from(newEnd, -1));\r\n if (scale <= 1) {\r\n min = this._correctValueAboutBreaks(min, 1 === scale ? translate : -1);\r\n max = this._correctValueAboutBreaks(max, 1 === scale ? translate : 1)\r\n }\r\n if (min > max) {\r\n min = min > wholeRange.endValue ? wholeRange.endValue : min;\r\n max = max < wholeRange.startValue ? wholeRange.startValue : max\r\n } else {\r\n min = min < wholeRange.startValue ? wholeRange.startValue : min;\r\n max = max > wholeRange.endValue ? wholeRange.endValue : max\r\n }\r\n return {\r\n min: min,\r\n max: max,\r\n translate: adjust(translate),\r\n scale: adjust(scale)\r\n }\r\n },\r\n _correctValueAboutBreaks(value, direction) {\r\n var br = this._userBreaks.filter(br => value >= br.from && value <= br.to);\r\n if (br.length) {\r\n return direction > 0 ? br[0].to : br[0].from\r\n } else {\r\n return value\r\n }\r\n },\r\n zoomZeroLengthRange(translate, scale) {\r\n var canvasOptions = this._canvasOptions;\r\n var min = canvasOptions.rangeMin;\r\n var max = canvasOptions.rangeMax;\r\n var correction = (max.valueOf() !== min.valueOf() ? max.valueOf() - min.valueOf() : _abs(canvasOptions.rangeMinVisible.valueOf() - min.valueOf())) / canvasOptions.canvasLength;\r\n var isDateTime = isDate(max) || isDate(min);\r\n var isLogarithmic = \"logarithmic\" === this._businessRange.axisType;\r\n var newMin = canvasOptions.rangeMinVisible.valueOf() - correction;\r\n var newMax = canvasOptions.rangeMaxVisible.valueOf() + correction;\r\n newMin = isLogarithmic ? adjust(raiseToExt(newMin, canvasOptions.base)) : isDateTime ? new Date(newMin) : newMin;\r\n newMax = isLogarithmic ? adjust(raiseToExt(newMax, canvasOptions.base)) : isDateTime ? new Date(newMax) : newMax;\r\n return {\r\n min: newMin,\r\n max: newMax,\r\n translate: translate,\r\n scale: scale\r\n }\r\n },\r\n getMinScale: function(zoom) {\r\n var {\r\n dataType: dataType,\r\n interval: interval\r\n } = this._businessRange;\r\n if (\"datetime\" === dataType && 1 === interval) {\r\n return this.getDateTimeMinScale(zoom)\r\n }\r\n return zoom ? 1.1 : .9\r\n },\r\n getDateTimeMinScale(zoom) {\r\n var canvasOptions = this._canvasOptions;\r\n var length = canvasOptions.canvasLength / canvasOptions.ratioOfCanvasRange;\r\n length += (parseInt(.1 * length) || 1) * (zoom ? -2 : 2);\r\n return canvasOptions.canvasLength / (Math.max(length, 1) * canvasOptions.ratioOfCanvasRange)\r\n },\r\n getScale: function(val1, val2) {\r\n var canvasOptions = this._canvasOptions;\r\n if (canvasOptions.rangeMax === canvasOptions.rangeMin) {\r\n return 1\r\n }\r\n val1 = isDefined(val1) ? this.fromValue(val1) : canvasOptions.rangeMin;\r\n val2 = isDefined(val2) ? this.fromValue(val2) : canvasOptions.rangeMax;\r\n return (canvasOptions.rangeMax - canvasOptions.rangeMin) / Math.abs(val1 - val2)\r\n },\r\n isValid: function(value) {\r\n var co = this._canvasOptions;\r\n value = this.fromValue(value);\r\n return null !== value && !isNaN(value) && value.valueOf() + co.rangeDoubleError >= co.rangeMin && value.valueOf() - co.rangeDoubleError <= co.rangeMax\r\n },\r\n getCorrectValue: function(value, direction) {\r\n var breaks = this._breaks;\r\n var prop;\r\n value = this.fromValue(value);\r\n if (this._breaks) {\r\n prop = this._checkValueAboutBreaks(breaks, value, \"trFrom\", \"trTo\", this._checkingMethodsAboutBreaks[0]);\r\n if (true === prop.inBreak) {\r\n return this.toValue(direction > 0 ? prop.break.trTo : prop.break.trFrom)\r\n }\r\n }\r\n return this.toValue(value)\r\n },\r\n to: function(bp, direction, skipRound) {\r\n var range = this.getBusinessRange();\r\n if (isDefined(range.maxVisible) && isDefined(range.minVisible) && range.maxVisible.valueOf() === range.minVisible.valueOf()) {\r\n if (!isDefined(bp) || range.maxVisible.valueOf() !== bp.valueOf()) {\r\n return null\r\n }\r\n return this.translateSpecialCase(0 === bp && this._options.shiftZeroValue ? \"canvas_position_default\" : \"canvas_position_middle\")\r\n }\r\n bp = this.fromValue(bp);\r\n var canvasOptions = this._canvasOptions;\r\n var breaks = this._breaks;\r\n var prop = {\r\n length: 0\r\n };\r\n var commonBreakSize = 0;\r\n if (void 0 !== breaks) {\r\n prop = this._checkValueAboutBreaks(breaks, bp, \"trFrom\", \"trTo\", this._checkingMethodsAboutBreaks[0]);\r\n commonBreakSize = isDefined(prop.breaksSize) ? prop.breaksSize : 0\r\n }\r\n if (true === prop.inBreak) {\r\n if (direction > 0) {\r\n return prop.break.start\r\n } else if (direction < 0) {\r\n return prop.break.end\r\n } else {\r\n return null\r\n }\r\n }\r\n return this._conversionValue(this._calculateProjection((bp - canvasOptions.rangeMinVisible - prop.length) * canvasOptions.ratioOfCanvasRange + commonBreakSize), skipRound)\r\n },\r\n from: function(pos, direction) {\r\n var breaks = this._breaks;\r\n var prop = {\r\n length: 0\r\n };\r\n var canvasOptions = this._canvasOptions;\r\n var startPoint = canvasOptions.startPoint;\r\n var commonBreakSize = 0;\r\n if (void 0 !== breaks) {\r\n prop = this._checkValueAboutBreaks(breaks, pos, \"start\", \"end\", this._checkingMethodsAboutBreaks[1]);\r\n commonBreakSize = isDefined(prop.breaksSize) ? prop.breaksSize : 0\r\n }\r\n if (true === prop.inBreak) {\r\n if (direction > 0) {\r\n return this.toValue(prop.break.trTo)\r\n } else if (direction < 0) {\r\n return this.toValue(prop.break.trFrom)\r\n } else {\r\n return null\r\n }\r\n }\r\n return this.toValue(this._calculateUnProjection((pos - startPoint - commonBreakSize) / canvasOptions.ratioOfCanvasRange + prop.length))\r\n },\r\n isValueProlonged: false,\r\n getRange: function() {\r\n return [this.toValue(this._canvasOptions.rangeMin), this.toValue(this._canvasOptions.rangeMax)]\r\n },\r\n getScreenRange: function() {\r\n return [this._canvasOptions.startPoint, this._canvasOptions.endPoint]\r\n },\r\n add: function(value, diff, dir) {\r\n return this._add(value, diff, (this._businessRange.invert ? -1 : 1) * dir)\r\n },\r\n _add: function(value, diff, coeff) {\r\n return this.toValue(this.fromValue(value) + diff * coeff)\r\n },\r\n fromValue: function(value) {\r\n return null !== value ? Number(value) : null\r\n },\r\n toValue: function(value) {\r\n return null !== value ? Number(value) : null\r\n },\r\n ratioOfCanvasRange() {\r\n return this._canvasOptions.ratioOfCanvasRange\r\n },\r\n convert: value => value,\r\n getRangeByMinZoomValue(minZoom, visualRange) {\r\n if (visualRange.minVisible + minZoom <= this._businessRange.max) {\r\n return [visualRange.minVisible, visualRange.minVisible + minZoom]\r\n } else {\r\n return [visualRange.maxVisible - minZoom, visualRange.maxVisible]\r\n }\r\n }\r\n};\r\nexport {\r\n _Translator2d as Translator2D\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/tree_map/common.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n patchFontOptions as _patchFontOptions\r\n} from \"../core/utils\";\r\nexport function buildRectAppearance(option) {\r\n var border = option.border || {};\r\n return {\r\n fill: option.color,\r\n opacity: option.opacity,\r\n stroke: border.color,\r\n \"stroke-width\": border.width,\r\n \"stroke-opacity\": border.opacity,\r\n hatching: option.hatching\r\n }\r\n}\r\nexport function buildTextAppearance(options, filter) {\r\n return {\r\n attr: {\r\n filter: filter\r\n },\r\n css: _patchFontOptions(options.font)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/tree_map/node.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend as _extend\r\n} from \"../../core/utils/extend\";\r\n\r\nfunction Node() {}\r\nvar updateTile = [updateLeaf, updateGroup];\r\n_extend(Node.prototype, {\r\n value: 0,\r\n isNode: function() {\r\n return !!(this.nodes && this.level < this.ctx.maxLevel)\r\n },\r\n isActive: function() {\r\n var ctx = this.ctx;\r\n return this.level >= ctx.minLevel && this.level <= ctx.maxLevel\r\n },\r\n updateStyles: function() {\r\n var isNode = Number(this.isNode());\r\n this.state = this._buildState(this.ctx.settings[isNode].state, !isNode && this.color && {\r\n fill: this.color\r\n })\r\n },\r\n _buildState: function(state, extra) {\r\n var base = _extend({}, state);\r\n return extra ? _extend(base, extra) : base\r\n },\r\n updateLabelStyle: function() {\r\n var settings = this.ctx.settings[Number(this.isNode())];\r\n this.labelState = settings.labelState;\r\n this.labelParams = settings.labelParams\r\n },\r\n _getState: function() {\r\n return this.state\r\n },\r\n applyState: function() {\r\n updateTile[Number(this.isNode())](this.tile, this._getState())\r\n }\r\n});\r\n\r\nfunction updateLeaf(content, attrs) {\r\n content.smartAttr(attrs)\r\n}\r\n\r\nfunction updateGroup(content, attrs) {\r\n content.outer.attr({\r\n stroke: attrs.stroke,\r\n \"stroke-width\": attrs[\"stroke-width\"],\r\n \"stroke-opacity\": attrs[\"stroke-opacity\"]\r\n });\r\n content.inner.smartAttr({\r\n fill: attrs.fill,\r\n opacity: attrs.opacity,\r\n hatching: attrs.hatching\r\n })\r\n}\r\nexport default Node;\r\n","/**\r\n * DevExtreme (esm/viz/tree_map/tiling.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isFunction as _isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n normalizeEnum as _normalizeEnum\r\n} from \"../core/utils\";\r\nvar _round = Math.round;\r\nvar algorithms = {};\r\nvar defaultAlgorithm;\r\nexport function getAlgorithm(value) {\r\n return algorithms[_normalizeEnum(value)] || _isFunction(value) && value || defaultAlgorithm\r\n}\r\nexport function addAlgorithm(name, callback) {\r\n algorithms[name] = callback\r\n}\r\nexport function setDefaultAlgorithm(name) {\r\n defaultAlgorithm = algorithms[name]\r\n}\r\nvar directionToIndexOffsets = {};\r\ndirectionToIndexOffsets[-1] = [2, 0];\r\ndirectionToIndexOffsets[1] = [0, 2];\r\nexport var getStaticSideIndex = function(rect) {\r\n return rect[2] - rect[0] < rect[3] - rect[1] ? 0 : 1\r\n};\r\nexport function buildSidesData(rect, directions, _staticSideIndex) {\r\n var staticSideIndex = void 0 !== _staticSideIndex ? _staticSideIndex : getStaticSideIndex(rect);\r\n var variedSideIndex = 1 - staticSideIndex;\r\n var staticSideDirection = directions[staticSideIndex];\r\n var variedSideDirection = directions[variedSideIndex];\r\n var staticSideIndexOffsets = directionToIndexOffsets[staticSideDirection];\r\n var variedSideIndexOffsets = directionToIndexOffsets[variedSideDirection];\r\n return {\r\n staticSide: rect[2 + staticSideIndex] - rect[staticSideIndex],\r\n variedSide: rect[2 + variedSideIndex] - rect[variedSideIndex],\r\n static1: staticSideIndex + staticSideIndexOffsets[0],\r\n static2: staticSideIndex + staticSideIndexOffsets[1],\r\n varied1: variedSideIndex + variedSideIndexOffsets[0],\r\n varied2: variedSideIndex + variedSideIndexOffsets[1],\r\n staticDir: staticSideDirection,\r\n variedDir: variedSideDirection\r\n }\r\n}\r\nexport function calculateRectangles(nodes, head, totalRect, sidesData, rowData) {\r\n var i;\r\n var ii;\r\n var variedSidePart = [0, 0, 0, 0];\r\n var static1 = sidesData.static1;\r\n var static2 = sidesData.static2;\r\n var position = totalRect[static1];\r\n var dir = sidesData.staticDir;\r\n var side = sidesData.staticSide;\r\n var sum = rowData.sum;\r\n var rect;\r\n var delta;\r\n variedSidePart[sidesData.varied1] = totalRect[sidesData.varied1];\r\n variedSidePart[sidesData.varied2] = totalRect[sidesData.varied1] + sidesData.variedDir * rowData.side;\r\n for (i = head, ii = head + rowData.count; i < ii; ++i) {\r\n rect = variedSidePart.slice();\r\n rect[static1] = position;\r\n delta = _round(side * nodes[i].value / sum) || 0;\r\n sum -= nodes[i].value;\r\n side -= delta;\r\n position += dir * delta;\r\n rect[static2] = position;\r\n nodes[i].rect = rect\r\n }\r\n totalRect[sidesData.varied1] = variedSidePart[sidesData.varied2]\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/tree_map/colorizing.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n normalizeEnum as _normalizeEnum\r\n} from \"../core/utils\";\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nvar colorizers = {};\r\nvar defaultColorizerName;\r\n\r\nfunction wrapLeafColorGetter(getter) {\r\n return function(node) {\r\n return !node.isNode() ? getter(node) : void 0\r\n }\r\n}\r\n\r\nfunction wrapGroupColorGetter(getter) {\r\n return function(node) {\r\n var parent = !node.isNode() && node.parent;\r\n return parent ? parent._groupColor = parent._groupColor || getter(parent) : void 0\r\n }\r\n}\r\nexport function getColorizer(options, themeManager, root) {\r\n var type = _normalizeEnum(options.type || defaultColorizerName);\r\n var colorizer = colorizers[type] && colorizers[type](options, themeManager, root);\r\n return colorizer ? (options.colorizeGroups ? wrapGroupColorGetter : wrapLeafColorGetter)(colorizer) : _noop\r\n}\r\nexport function addColorizer(name, colorizer) {\r\n colorizers[name] = colorizer\r\n}\r\nexport function setDefaultColorizer(name) {\r\n defaultColorizerName = name\r\n}\r\n\r\nfunction getValueAsColorCode(node) {\r\n return node.value\r\n}\r\n\r\nfunction createColorCode(colorCodeField) {\r\n return function(node) {\r\n return Number(node.data[colorCodeField])\r\n }\r\n}\r\nexport function createColorCodeGetter(options) {\r\n return options.colorCodeField ? createColorCode(options.colorCodeField) : getValueAsColorCode\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/tree_map/tiling.squarified.base.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar _max = Math.max;\r\nvar _round = Math.round;\r\nimport {\r\n buildSidesData,\r\n calculateRectangles,\r\n getStaticSideIndex\r\n} from \"./tiling\";\r\n\r\nfunction compare(a, b) {\r\n return b.value - a.value\r\n}\r\n\r\nfunction getAspectRatio(value) {\r\n return _max(value, 1 / value)\r\n}\r\n\r\nfunction findAppropriateCollection(nodes, head, context) {\r\n var bestAspectRatio = 1 / 0;\r\n var nextAspectRatio;\r\n var sum = 0;\r\n var nextSum;\r\n var i;\r\n var j;\r\n var ii = nodes.length;\r\n var coeff = context.areaToValue / context.staticSide;\r\n var totalAspectRatio;\r\n for (i = head; i < ii;) {\r\n nextSum = sum + nodes[i].value;\r\n totalAspectRatio = context.staticSide / coeff / nextSum;\r\n nextAspectRatio = 0;\r\n for (j = head; j <= i; ++j) {\r\n nextAspectRatio = context.accumulate(nextAspectRatio, getAspectRatio(totalAspectRatio * nodes[j].value / nextSum), j - head + 1)\r\n }\r\n if (nextAspectRatio < bestAspectRatio) {\r\n bestAspectRatio = nextAspectRatio;\r\n sum = nextSum;\r\n ++i\r\n } else {\r\n break\r\n }\r\n }\r\n return {\r\n sum: sum,\r\n count: i - head,\r\n side: _round(coeff * sum)\r\n }\r\n}\r\n\r\nfunction getArea(rect) {\r\n return (rect[2] - rect[0]) * (rect[3] - rect[1])\r\n}\r\n\r\nfunction doStep(nodes, head, context) {\r\n var sidesData = buildSidesData(context.rect, context.directions, context.staticSideIndex);\r\n var area = getArea(context.rect);\r\n var rowData = area > 0 ? findAppropriateCollection(nodes, head, {\r\n areaToValue: area / context.sum,\r\n accumulate: context.accumulate,\r\n staticSide: sidesData.staticSide\r\n }) : {\r\n sum: 1,\r\n side: sidesData.variedSide,\r\n count: nodes.length - head\r\n };\r\n calculateRectangles(nodes, head, context.rect, sidesData, rowData);\r\n context.sum -= rowData.sum;\r\n return head + rowData.count\r\n}\r\nexport default function(data, accumulate, isFixedStaticSide) {\r\n var items = data.items;\r\n var ii = items.length;\r\n var i;\r\n var context = {\r\n sum: data.sum,\r\n rect: data.rect,\r\n directions: data.directions,\r\n accumulate: accumulate\r\n };\r\n if (isFixedStaticSide) {\r\n context.staticSideIndex = getStaticSideIndex(context.rect)\r\n }\r\n items.sort(compare);\r\n for (i = 0; i < ii;) {\r\n i = doStep(items, i, context)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/tree_map/tiling.squarified.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar _max = Math.max;\r\nimport _squarify from \"./tiling.squarified.base\";\r\nimport {\r\n addAlgorithm\r\n} from \"./tiling\";\r\n\r\nfunction accumulate(total, current) {\r\n return _max(total, current)\r\n}\r\n\r\nfunction squarified(data) {\r\n return _squarify(data, accumulate, false)\r\n}\r\naddAlgorithm(\"squarified\", squarified);\r\nexport default squarified;\r\n","/**\r\n * DevExtreme (esm/viz/tree_map/colorizing.discrete.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nfunction discreteColorizer(options, themeManager, root) {\r\n var palette = themeManager.createPalette(options.palette, {\r\n useHighlight: true,\r\n extensionMode: options.paletteExtensionMode,\r\n count: options.colorizeGroups ? getNodesCount(root) : getLeafsCount(root)\r\n });\r\n return (options.colorizeGroups ? discreteGroupColorizer : discreteLeafColorizer)(palette, root)\r\n}\r\n\r\nfunction getLeafsCount(root) {\r\n var allNodes = root.nodes.slice();\r\n var i;\r\n var ii = allNodes.length;\r\n var count = 0;\r\n var node;\r\n for (i = 0; i < ii; ++i) {\r\n node = allNodes[i];\r\n if (node.isNode()) {\r\n count = Math.max(count, getLeafsCount(node))\r\n } else {\r\n count += 1\r\n }\r\n }\r\n return count\r\n}\r\n\r\nfunction discreteLeafColorizer(palette) {\r\n var colors = palette.generateColors();\r\n return function(node) {\r\n return colors[node.index]\r\n }\r\n}\r\n\r\nfunction getNodesCount(root) {\r\n var allNodes = root.nodes.slice();\r\n var i;\r\n var ii = allNodes.length;\r\n var count = 0;\r\n var node;\r\n for (i = 0; i < ii; ++i) {\r\n node = allNodes[i];\r\n if (node.isNode()) {\r\n count += getNodesCount(node) + 1\r\n }\r\n }\r\n return count\r\n}\r\n\r\nfunction prepareDiscreteGroupColors(palette, root) {\r\n var colors = {};\r\n var allNodes = root.nodes.slice();\r\n var i;\r\n var ii = allNodes.length;\r\n var node;\r\n for (i = 0; i < ii; ++i) {\r\n node = allNodes[i];\r\n if (node.isNode()) {\r\n allNodes = allNodes.concat(node.nodes);\r\n ii = allNodes.length\r\n } else if (!colors[node.parent._id]) {\r\n colors[node.parent._id] = palette.getNextColor()\r\n }\r\n }\r\n return colors\r\n}\r\n\r\nfunction discreteGroupColorizer(palette, root) {\r\n var colors = prepareDiscreteGroupColors(palette, root);\r\n return function(node) {\r\n return colors[node._id]\r\n }\r\n}\r\nimport {\r\n addColorizer\r\n} from \"./colorizing\";\r\naddColorizer(\"discrete\", discreteColorizer);\r\nexport default discreteColorizer;\r\n","/**\r\n * DevExtreme (esm/viz/tree_map/tree_map.base.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n buildRectAppearance as _buildRectAppearance,\r\n buildTextAppearance as _buildTextAppearance\r\n} from \"./common\";\r\nimport Node from \"./node\";\r\nimport {\r\n getAlgorithm as _getTilingAlgorithm,\r\n setDefaultAlgorithm\r\n} from \"./tiling\";\r\nimport {\r\n getColorizer as _getColorizer,\r\n setDefaultColorizer\r\n} from \"./colorizing\";\r\nimport {\r\n patchFontOptions as _patchFontOptions\r\n} from \"../core/utils\";\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nimport baseWidget from \"../../__internal/viz/core/m_base_widget\";\r\nvar _max = Math.max;\r\nvar directions = {\r\n lefttoprightbottom: [1, 1],\r\n leftbottomrighttop: [1, -1],\r\n righttopleftbottom: [-1, 1],\r\n rightbottomlefttop: [-1, -1]\r\n};\r\nimport \"./tiling.squarified\";\r\nsetDefaultAlgorithm(\"squarified\");\r\nimport \"./colorizing.discrete\";\r\nsetDefaultColorizer(\"discrete\");\r\n\r\nfunction pickPositiveInteger(val) {\r\n return val > 0 ? Math.round(val) : 0\r\n}\r\nvar dxTreeMap = baseWidget.inherit({\r\n _handlers: {\r\n beginBuildNodes: _noop,\r\n buildNode: _noop,\r\n endBuildNodes: _noop,\r\n setTrackerData: _noop,\r\n calculateState: function(options) {\r\n return _buildRectAppearance(options)\r\n }\r\n },\r\n _rootClass: \"dxtm-tree-map\",\r\n _rootClassPrefix: \"dxtm\",\r\n _getDefaultSize: function() {\r\n return {\r\n width: 400,\r\n height: 400\r\n }\r\n },\r\n _themeSection: \"treeMap\",\r\n _fontFields: [\"tile.label.font\", \"group.label.font\"],\r\n _init: function() {\r\n var that = this;\r\n that._rectOffsets = {};\r\n that._handlers = Object.create(that._handlers);\r\n that._context = {\r\n suspend: function() {\r\n if (!that._applyingChanges) {\r\n that._suspendChanges()\r\n }\r\n },\r\n resume: function() {\r\n if (!that._applyingChanges) {\r\n that._resumeChanges()\r\n }\r\n },\r\n change: function(codes) {\r\n that._change(codes)\r\n },\r\n settings: [{}, {}],\r\n calculateState: that._handlers.calculateState,\r\n calculateLabelState: _buildTextAppearance\r\n };\r\n that._root = that._topNode = {\r\n nodes: []\r\n };\r\n that.callBase.apply(that, arguments)\r\n },\r\n _initialChanges: [\"DATA_SOURCE\"],\r\n _initCore: function() {\r\n var renderer = this._renderer;\r\n this._createProxyType();\r\n this._tilesGroup = renderer.g().linkOn(renderer.root, \"tiles\").linkAppend();\r\n this._labelsGroup = renderer.g().linkOn(renderer.root, \"labels\").linkAppend()\r\n },\r\n _createProxyType: _noop,\r\n _disposeCore: function() {\r\n this._filter && this._filter.dispose();\r\n this._labelsGroup.linkOff();\r\n this._tilesGroup.linkOff()\r\n },\r\n _applySize: function(rect) {\r\n this._tilingRect = rect.slice();\r\n this._change([\"TILING\"])\r\n },\r\n _optionChangesMap: {\r\n dataSource: \"DATA_SOURCE\",\r\n valueField: \"NODES_CREATE\",\r\n childrenField: \"NODES_CREATE\",\r\n colorField: \"TILES\",\r\n colorizer: \"TILES\",\r\n labelField: \"LABELS\",\r\n tile: \"TILE_SETTINGS\",\r\n group: \"GROUP_SETTINGS\",\r\n maxDepth: \"MAX_DEPTH\",\r\n layoutAlgorithm: \"TILING\",\r\n layoutDirection: \"TILING\"\r\n },\r\n _themeDependentChanges: [\"TILE_SETTINGS\", \"GROUP_SETTINGS\", \"MAX_DEPTH\"],\r\n _changeDataSource: function() {\r\n this._isDataExpected = this._isSyncData = true;\r\n this._updateDataSource();\r\n this._isSyncData = false;\r\n if (this._isDataExpected) {\r\n this._suspendChanges()\r\n }\r\n },\r\n _dataSourceChangedHandler: function() {\r\n if (this._isDataExpected) {\r\n this._isDataExpected = false;\r\n this._change([\"NODES_CREATE\"]);\r\n if (!this._isSyncData) {\r\n this._resumeChanges()\r\n }\r\n } else {\r\n this._requestChange([\"NODES_CREATE\"])\r\n }\r\n },\r\n _optionChangesOrder: [\"DATA_SOURCE\", \"TILE_SETTINGS\", \"GROUP_SETTINGS\", \"MAX_DEPTH\"],\r\n _change_DATA_SOURCE: function() {\r\n this._changeDataSource()\r\n },\r\n _change_TILE_SETTINGS: function() {\r\n this._changeTileSettings()\r\n },\r\n _change_GROUP_SETTINGS: function() {\r\n this._changeGroupSettings()\r\n },\r\n _change_MAX_DEPTH: function() {\r\n this._changeMaxDepth()\r\n },\r\n _customChangesOrder: [\"NODES_CREATE\", \"NODES_RESET\", \"TILES\", \"LABELS\", \"TILING\", \"LABELS_LAYOUT\"],\r\n _change_NODES_CREATE: function() {\r\n this._buildNodes()\r\n },\r\n _change_NODES_RESET: function() {\r\n this._resetNodes()\r\n },\r\n _change_TILES: function() {\r\n this._applyTilesAppearance()\r\n },\r\n _change_LABELS: function() {\r\n this._applyLabelsAppearance()\r\n },\r\n _change_TILING: function() {\r\n this._performTiling()\r\n },\r\n _change_LABELS_LAYOUT: function() {\r\n this._performLabelsLayout()\r\n },\r\n _applyChanges: function() {\r\n var that = this;\r\n that.callBase.apply(that, arguments);\r\n if (!that._isDataExpected) {\r\n that._drawn()\r\n }\r\n that._context.forceReset = false\r\n },\r\n _buildNodes: function() {\r\n var root = this._root = this._topNode = new Node;\r\n root._id = 0;\r\n root.parent = {};\r\n root.data = {};\r\n root.level = root.index = -1;\r\n root.ctx = this._context;\r\n root.label = null;\r\n this._nodes = [root];\r\n this._handlers.beginBuildNodes();\r\n var processedData = this._processDataSourceItems(this._dataSourceItems() || []);\r\n traverseDataItems(root, processedData.items, 0, {\r\n itemsField: !processedData.isPlain && this._getOption(\"childrenField\", true) || \"items\",\r\n valueField: this._getOption(\"valueField\", true) || \"value\",\r\n buildNode: this._handlers.buildNode,\r\n ctx: this._context,\r\n nodes: this._nodes\r\n });\r\n this._onNodesCreated();\r\n this._handlers.endBuildNodes();\r\n this._change([\"NODES_RESET\"])\r\n },\r\n _onNodesCreated: _noop,\r\n _processDataSourceItems: function(items) {\r\n return {\r\n items: items,\r\n isPlain: false\r\n }\r\n },\r\n _changeTileSettings: function() {\r\n var options = this._getOption(\"tile\");\r\n var offsets = this._rectOffsets;\r\n var borderWidth = pickPositiveInteger(options.border.width);\r\n var edgeOffset = borderWidth / 2;\r\n var innerOffset = 1 & borderWidth ? .5 : 0;\r\n var labelOptions = options.label;\r\n var settings = this._context.settings[0];\r\n this._change([\"TILES\", \"LABELS\"]);\r\n settings.state = this._handlers.calculateState(options);\r\n this._filter = this._filter || this._renderer.shadowFilter(\"-50%\", \"-50%\", \"200%\", \"200%\");\r\n this._filter.attr(labelOptions.shadow);\r\n this._calculateLabelSettings(settings, labelOptions, this._filter.id);\r\n if (offsets.tileEdge !== edgeOffset || offsets.tileInner !== innerOffset) {\r\n offsets.tileEdge = edgeOffset;\r\n offsets.tileInner = innerOffset;\r\n this._change([\"TILING\"])\r\n }\r\n },\r\n _changeGroupSettings: function() {\r\n var options = this._getOption(\"group\");\r\n var labelOptions = options.label;\r\n var offsets = this._rectOffsets;\r\n var borderWidth = pickPositiveInteger(options.border.width);\r\n var edgeOffset = borderWidth / 2;\r\n var innerOffset = 1 & borderWidth ? .5 : 0;\r\n var headerHeight = 0;\r\n var groupPadding = pickPositiveInteger(options.padding);\r\n var settings = this._context.settings[1];\r\n this._change([\"TILES\", \"LABELS\"]);\r\n settings.state = this._handlers.calculateState(options);\r\n this._calculateLabelSettings(settings, labelOptions);\r\n if (options.headerHeight >= 0) {\r\n headerHeight = pickPositiveInteger(options.headerHeight)\r\n } else {\r\n headerHeight = settings.labelParams.height + 2 * pickPositiveInteger(labelOptions.paddingTopBottom)\r\n }\r\n if (this._headerHeight !== headerHeight) {\r\n this._headerHeight = headerHeight;\r\n this._change([\"TILING\"])\r\n }\r\n if (this._groupPadding !== groupPadding) {\r\n this._groupPadding = groupPadding;\r\n this._change([\"TILING\"])\r\n }\r\n if (offsets.headerEdge !== edgeOffset || offsets.headerInner !== innerOffset) {\r\n offsets.headerEdge = edgeOffset;\r\n offsets.headerInner = innerOffset;\r\n this._change([\"TILING\"])\r\n }\r\n },\r\n _calculateLabelSettings: function(settings, options, filter) {\r\n var bBox = this._getTextBBox(options.font);\r\n var paddingLeftRight = pickPositiveInteger(options.paddingLeftRight);\r\n var paddingTopBottom = pickPositiveInteger(options.paddingTopBottom);\r\n var tileLabelOptions = this._getOption(\"tile.label\");\r\n var groupLabelOptions = this._getOption(\"group.label\");\r\n settings.labelState = _buildTextAppearance(options, filter);\r\n settings.labelState.visible = !(\"visible\" in options) || !!options.visible;\r\n settings.labelParams = {\r\n height: bBox.height,\r\n rtlEnabled: this._getOption(\"rtlEnabled\", true),\r\n paddingTopBottom: paddingTopBottom,\r\n paddingLeftRight: paddingLeftRight,\r\n tileLabelWordWrap: tileLabelOptions.wordWrap,\r\n tileLabelOverflow: tileLabelOptions.textOverflow,\r\n groupLabelOverflow: groupLabelOptions.textOverflow\r\n }\r\n },\r\n _changeMaxDepth: function() {\r\n var maxDepth = this._getOption(\"maxDepth\", true);\r\n maxDepth = maxDepth >= 1 ? Math.round(maxDepth) : 1 / 0;\r\n if (this._maxDepth !== maxDepth) {\r\n this._maxDepth = maxDepth;\r\n this._change([\"NODES_RESET\"])\r\n }\r\n },\r\n _resetNodes: function() {\r\n this._tilesGroup.clear();\r\n this._renderer.initHatching();\r\n this._context.forceReset = true;\r\n this._context.minLevel = this._topNode.level + 1;\r\n this._context.maxLevel = this._context.minLevel + this._maxDepth - 1;\r\n this._change([\"TILES\", \"LABELS\", \"TILING\"])\r\n },\r\n _processNodes: function(context, process) {\r\n processNodes(context, this._topNode, process)\r\n },\r\n _applyTilesAppearance: function() {\r\n var colorizer = _getColorizer(this._getOption(\"colorizer\"), this._themeManager, this._topNode);\r\n this._processNodes({\r\n renderer: this._renderer,\r\n group: this._tilesGroup,\r\n setTrackerData: this._handlers.setTrackerData,\r\n colorField: this._getOption(\"colorField\", true) || \"color\",\r\n getColor: colorizer\r\n }, processTileAppearance)\r\n },\r\n _applyLabelsAppearance: function() {\r\n this._labelsGroup.clear();\r\n this._processNodes({\r\n renderer: this._renderer,\r\n group: this._labelsGroup,\r\n setTrackerData: this._handlers.setTrackerData,\r\n labelField: this._getOption(\"labelField\", true) || \"name\"\r\n }, processLabelAppearance);\r\n this._change([\"LABELS_LAYOUT\"])\r\n },\r\n _performTiling: function() {\r\n var context = {\r\n algorithm: _getTilingAlgorithm(this._getOption(\"layoutAlgorithm\", true)),\r\n directions: directions[String(this._getOption(\"layoutDirection\", true)).toLowerCase()] || directions.lefttoprightbottom,\r\n headerHeight: this._headerHeight,\r\n groupPadding: this._groupPadding,\r\n rectOffsets: this._rectOffsets\r\n };\r\n this._topNode.innerRect = this._tilingRect;\r\n calculateRects(context, this._topNode);\r\n this._processNodes(context, processTiling);\r\n this._change([\"LABELS_LAYOUT\"]);\r\n this._onTilingPerformed()\r\n },\r\n _onTilingPerformed: _noop,\r\n _performLabelsLayout: function() {\r\n this._processNodes(null, processLabelsLayout)\r\n },\r\n _getTextBBox: function(fontOptions) {\r\n var renderer = this._renderer;\r\n var text = this._textForCalculations || renderer.text(\"0\", 0, 0);\r\n this._textForCalculations = text;\r\n text.css(_patchFontOptions(fontOptions)).append(renderer.root);\r\n var bBox = text.getBBox();\r\n text.remove();\r\n return bBox\r\n }\r\n});\r\n\r\nfunction traverseDataItems(root, dataItems, level, params) {\r\n var nodes = [];\r\n var allNodes = params.nodes;\r\n var node;\r\n var i;\r\n var ii = dataItems.length;\r\n var dataItem;\r\n var totalValue = 0;\r\n var items;\r\n for (i = 0; i < ii; ++i) {\r\n var _items;\r\n dataItem = dataItems[i];\r\n node = new Node;\r\n node._id = allNodes.length;\r\n node.ctx = params.ctx;\r\n node.parent = root;\r\n node.level = level;\r\n node.index = nodes.length;\r\n node.data = dataItem;\r\n params.buildNode(node);\r\n allNodes.push(node);\r\n nodes.push(node);\r\n items = dataItem[params.itemsField];\r\n if (null !== (_items = items) && void 0 !== _items && _items.length) {\r\n traverseDataItems(node, items, level + 1, params)\r\n }\r\n if (dataItem[params.valueField] > 0) {\r\n node.value = Number(dataItem[params.valueField])\r\n }\r\n totalValue += node.value\r\n }\r\n root.nodes = nodes;\r\n root.value = totalValue\r\n}\r\n\r\nfunction processNodes(context, root, process) {\r\n var nodes = root.nodes;\r\n var node;\r\n var i;\r\n var ii = nodes.length;\r\n for (i = 0; i < ii; ++i) {\r\n node = nodes[i];\r\n process(context, node);\r\n if (node.isNode()) {\r\n processNodes(context, node, process)\r\n }\r\n }\r\n}\r\nvar createTile = [createLeaf, createGroup];\r\n\r\nfunction processTileAppearance(context, node) {\r\n node.color = node.data[context.colorField] || context.getColor(node) || node.parent.color;\r\n node.updateStyles();\r\n node.tile = !node.ctx.forceReset && node.tile || createTile[Number(node.isNode())](context, node);\r\n node.applyState()\r\n}\r\n\r\nfunction createLeaf(context, node) {\r\n var tile = context.renderer.simpleRect().append(context.group);\r\n context.setTrackerData(node, tile);\r\n return tile\r\n}\r\n\r\nfunction createGroup(context, node) {\r\n var outer = context.renderer.simpleRect().append(context.group);\r\n var inner = context.renderer.simpleRect().append(context.group);\r\n context.setTrackerData(node, inner);\r\n return {\r\n outer: outer,\r\n inner: inner\r\n }\r\n}\r\n\r\nfunction processLabelAppearance(context, node) {\r\n node.updateLabelStyle();\r\n if (node.labelState.visible) {\r\n createLabel(context, node, node.labelState, node.labelParams)\r\n }\r\n}\r\n\r\nfunction createLabel(context, currentNode, settings, params) {\r\n var textData = currentNode.data[context.labelField];\r\n currentNode.label = textData ? String(textData) : null;\r\n textData = currentNode.customLabel || currentNode.label;\r\n if (textData) {\r\n currentNode.text = context.renderer.text(textData).attr(settings.attr).css(settings.css).append(context.group);\r\n context.setTrackerData(currentNode, currentNode.text)\r\n }\r\n}\r\nvar emptyRect = [0, 0, 0, 0];\r\n\r\nfunction calculateRects(context, root) {\r\n var nodes = root.nodes;\r\n var items = [];\r\n var rects = [];\r\n var sum = 0;\r\n var i;\r\n var ii = items.length = rects.length = nodes.length;\r\n for (i = 0; i < ii; ++i) {\r\n sum += nodes[i].value;\r\n items[i] = {\r\n value: nodes[i].value,\r\n i: i\r\n }\r\n }\r\n if (sum > 0) {\r\n context.algorithm({\r\n items: items.slice(),\r\n sum: sum,\r\n rect: root.innerRect.slice(),\r\n isRotated: 1 & nodes[0].level,\r\n directions: context.directions\r\n })\r\n }\r\n for (i = 0; i < ii; ++i) {\r\n rects[i] = items[i].rect || emptyRect\r\n }\r\n root.rects = rects\r\n}\r\n\r\nfunction processTiling(context, node) {\r\n var rect = node.parent.rects[node.index];\r\n var rectOffsets = context.rectOffsets;\r\n var headerHeight;\r\n if (node.isNode()) {\r\n setRectAttrs(node.tile.outer, buildTileRect(rect, node.parent.innerRect, rectOffsets.headerEdge, rectOffsets.headerInner));\r\n rect = marginateRect(rect, context.groupPadding);\r\n headerHeight = Math.min(context.headerHeight, rect[3] - rect[1]);\r\n node.rect = [rect[0], rect[1], rect[2], rect[1] + headerHeight];\r\n setRectAttrs(node.tile.inner, marginateRect(node.rect, rectOffsets.headerEdge));\r\n rect[1] += headerHeight;\r\n node.innerRect = rect;\r\n calculateRects(context, node)\r\n } else {\r\n node.rect = rect;\r\n setRectAttrs(node.tile, buildTileRect(rect, node.parent.innerRect, rectOffsets.tileEdge, rectOffsets.tileInner))\r\n }\r\n}\r\n\r\nfunction marginateRect(rect, margin) {\r\n return [rect[0] + margin, rect[1] + margin, rect[2] - margin, rect[3] - margin]\r\n}\r\n\r\nfunction buildTileRect(rect, outer, edgeOffset, innerOffset) {\r\n return [rect[0] + (rect[0] === outer[0] ? edgeOffset : +innerOffset), rect[1] + (rect[1] === outer[1] ? edgeOffset : +innerOffset), rect[2] - (rect[2] === outer[2] ? edgeOffset : -innerOffset), rect[3] - (rect[3] === outer[3] ? edgeOffset : -innerOffset)]\r\n}\r\n\r\nfunction setRectAttrs(element, rect) {\r\n element.attr({\r\n x: rect[0],\r\n y: rect[1],\r\n width: _max(rect[2] - rect[0], 0),\r\n height: _max(rect[3] - rect[1], 0)\r\n })\r\n}\r\n\r\nfunction processLabelsLayout(context, node) {\r\n if (node.text && node.labelState.visible) {\r\n layoutTextNode(node, node.labelParams)\r\n }\r\n}\r\n\r\nfunction layoutTextNode(node, params) {\r\n var rect = node.rect;\r\n var text = node.text;\r\n var bBox = text.getBBox();\r\n var paddingLeftRight = params.paddingLeftRight;\r\n var paddingTopBottom = params.paddingTopBottom;\r\n var effectiveWidth = rect[2] - rect[0] - 2 * paddingLeftRight;\r\n text.setMaxSize(effectiveWidth, rect[3] - rect[1] - paddingTopBottom, node.isNode() ? {\r\n textOverflow: params.groupLabelOverflow,\r\n wordWrap: \"none\"\r\n } : {\r\n textOverflow: params.tileLabelOverflow,\r\n wordWrap: params.tileLabelWordWrap,\r\n hideOverflowEllipsis: true\r\n });\r\n text.move(params.rtlEnabled ? rect[2] - paddingLeftRight - bBox.x - bBox.width : rect[0] + paddingLeftRight - bBox.x, rect[1] + paddingTopBottom - bBox.y)\r\n}\r\nimport componentRegistrator from \"../../core/component_registrator\";\r\ncomponentRegistrator(\"dxTreeMap\", dxTreeMap);\r\nexport default dxTreeMap;\r\nimport {\r\n plugin\r\n} from \"../core/data_source\";\r\ndxTreeMap.addPlugin(plugin);\r\n","/**\r\n * DevExtreme (esm/viz/tree_map/tiling.strip.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _squarify from \"./tiling.squarified.base\";\r\nimport {\r\n addAlgorithm\r\n} from \"./tiling\";\r\n\r\nfunction accumulate(total, current, count) {\r\n return ((count - 1) * total + current) / count\r\n}\r\n\r\nfunction strip(data) {\r\n return _squarify(data, accumulate, true)\r\n}\r\naddAlgorithm(\"strip\", strip);\r\nexport default strip;\r\n","/**\r\n * DevExtreme (esm/viz/tree_map/tiling.slice_and_dice.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n buildSidesData,\r\n calculateRectangles,\r\n addAlgorithm\r\n} from \"./tiling\";\r\n\r\nfunction sliceAndDice(data) {\r\n var items = data.items;\r\n var sidesData = buildSidesData(data.rect, data.directions, data.isRotated ? 1 : 0);\r\n calculateRectangles(items, 0, data.rect, sidesData, {\r\n sum: data.sum,\r\n count: items.length,\r\n side: sidesData.variedSide\r\n })\r\n}\r\naddAlgorithm(\"sliceanddice\", sliceAndDice);\r\nexport default sliceAndDice;\r\n","/**\r\n * DevExtreme (esm/viz/tree_map/tiling.rotated_slice_and_dice.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getAlgorithm,\r\n addAlgorithm\r\n} from \"./tiling\";\r\nvar sliceAndDiceAlgorithm = getAlgorithm(\"sliceanddice\");\r\n\r\nfunction rotatedSliceAndDice(data) {\r\n data.isRotated = !data.isRotated;\r\n return sliceAndDiceAlgorithm.call(this, data)\r\n}\r\naddAlgorithm(\"rotatedsliceanddice\", rotatedSliceAndDice);\r\n","/**\r\n * DevExtreme (esm/viz/tree_map/colorizing.gradient.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n addColorizer,\r\n createColorCodeGetter as _createColorCodeGetter\r\n} from \"./colorizing\";\r\nvar _min = Math.min;\r\nvar _max = Math.max;\r\n\r\nfunction createSimpleColorizer(getColor, range) {\r\n return function(node) {\r\n return getColor(node, range)\r\n }\r\n}\r\n\r\nfunction getRangeData(range) {\r\n return [Number(range[0]) || 0, range[1] - range[0] || 1]\r\n}\r\n\r\nfunction calculateRange(nodes, getValue) {\r\n var i;\r\n var ii = nodes.length;\r\n var codes = [];\r\n var code;\r\n for (i = 0; i < ii; ++i) {\r\n code = getValue(nodes[i]);\r\n if (isFinite(code)) {\r\n codes.push(code)\r\n }\r\n }\r\n return getRangeData([_min.apply(null, codes), _max.apply(null, codes)])\r\n}\r\n\r\nfunction createGuessingColorizer(getColor, getValue) {\r\n var ranges = {};\r\n return function(node) {\r\n var parent = node.parent;\r\n return getColor(node, ranges[parent._id] || (ranges[parent._id] = calculateRange(parent.nodes, getValue)))\r\n }\r\n}\r\n\r\nfunction gradientColorizer(options, themeManager) {\r\n var palette = themeManager.createGradientPalette(options.palette);\r\n var getValue = _createColorCodeGetter(options);\r\n return \"range\" in options ? createSimpleColorizer(getColor, getRangeData(options.range || [])) : createGuessingColorizer(getColor, getValue);\r\n\r\n function getColor(node, arg) {\r\n return palette.getColor((getValue(node) - arg[0]) / arg[1])\r\n }\r\n}\r\naddColorizer(\"gradient\", gradientColorizer);\r\nexport default gradientColorizer;\r\n","/**\r\n * DevExtreme (esm/viz/tree_map/colorizing.range.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n addColorizer,\r\n createColorCodeGetter as _createColorCodeGetter\r\n} from \"./colorizing\";\r\n\r\nfunction getPaletteIndex(value, items) {\r\n var start = 0;\r\n var end = items.length - 1;\r\n var index = -1;\r\n var middle;\r\n if (items[start] <= value && value <= items[end]) {\r\n if (value === items[end]) {\r\n index = end - 1\r\n } else {\r\n while (end - start > 1) {\r\n middle = start + end >> 1;\r\n if (value < items[middle]) {\r\n end = middle\r\n } else {\r\n start = middle\r\n }\r\n }\r\n index = start\r\n }\r\n }\r\n return index\r\n}\r\n\r\nfunction rangeColorizer(options, themeManager) {\r\n var range = options.range || [];\r\n var palette = themeManager.createDiscretePalette(options.palette, range.length - 1);\r\n var getValue = _createColorCodeGetter(options);\r\n return function(node) {\r\n return palette.getColor(getPaletteIndex(getValue(node), range))\r\n }\r\n}\r\naddColorizer(\"range\", rangeColorizer);\r\nexport default rangeColorizer;\r\n","/**\r\n * DevExtreme (esm/viz/tree_map/api.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport TreeMapBase from \"./tree_map.base\";\r\nimport Node from \"./node\";\r\nimport {\r\n extend as _extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar proto = TreeMapBase.prototype;\r\nvar nodeProto = Node.prototype;\r\nproto._eventsMap.onNodesInitialized = {\r\n name: \"nodesInitialized\"\r\n};\r\nproto._eventsMap.onNodesRendering = {\r\n name: \"nodesRendering\"\r\n};\r\nproto._createProxyType = function() {\r\n var that = this;\r\n var nodes;\r\n Proxy.prototype = {\r\n constructor: Proxy,\r\n getParent: function() {\r\n return nodes[this._id].parent.proxy || null\r\n },\r\n getChild: function(index) {\r\n var _nodes = nodes[this._id].nodes;\r\n return _nodes ? _nodes[index].proxy : null\r\n },\r\n getChildrenCount: function() {\r\n var _nodes = nodes[this._id].nodes;\r\n return _nodes ? _nodes.length : 0\r\n },\r\n getAllChildren: function() {\r\n var _nodes = nodes[this._id].nodes;\r\n var i;\r\n var ii = _nodes && _nodes.length;\r\n var list = [];\r\n for (i = 0; i < ii; ++i) {\r\n list.push(_nodes[i].proxy)\r\n }\r\n return list\r\n },\r\n getAllNodes: function() {\r\n var list = [];\r\n collectNodes(nodes[this._id], list);\r\n return list\r\n },\r\n isLeaf: function() {\r\n return !nodes[this._id].isNode()\r\n },\r\n isActive: function() {\r\n return nodes[this._id].isActive()\r\n },\r\n value: function(arg) {\r\n var node = nodes[this._id];\r\n var result;\r\n if (void 0 !== arg) {\r\n updateValue(node, arg > 0 ? Number(arg) : 0);\r\n change(node, [\"TILING\"]);\r\n result = this\r\n } else {\r\n result = node.value\r\n }\r\n return result\r\n },\r\n label: function(arg) {\r\n var node = nodes[this._id];\r\n var result;\r\n if (void 0 !== arg) {\r\n node.customLabel = arg ? String(arg) : null;\r\n change(node, [\"LABELS\"]);\r\n result = this\r\n } else {\r\n result = node.customLabel || node.label\r\n }\r\n return result\r\n },\r\n customize: function(settings) {\r\n var node = nodes[this._id];\r\n if (settings) {\r\n node._custom = node._custom || {};\r\n _extend(true, node._custom, settings);\r\n node._partialState = node._partialLabelState = null\r\n }\r\n change(node, [\"TILES\", \"LABELS\"]);\r\n return this\r\n },\r\n resetCustomization: function() {\r\n var node = nodes[this._id];\r\n node._custom = node._partialState = node._partialLabelState = null;\r\n change(node, [\"TILES\", \"LABELS\"]);\r\n return this\r\n }\r\n };\r\n that._extendProxyType(Proxy.prototype);\r\n\r\n function Proxy(node) {\r\n node.proxy = this;\r\n this._id = node._id;\r\n this.level = node.level;\r\n this.index = node.index;\r\n this.data = node.data\r\n }\r\n that._handlers.beginBuildNodes = function() {\r\n nodes = that._nodes;\r\n new Proxy(that._root)\r\n };\r\n that._handlers.buildNode = function(node) {\r\n new Proxy(node)\r\n };\r\n that._handlers.endBuildNodes = function() {\r\n that._eventTrigger(\"nodesInitialized\", {\r\n root: that._root.proxy\r\n })\r\n }\r\n};\r\n\r\nfunction change(node, codes) {\r\n var ctx = node.ctx;\r\n ctx.suspend();\r\n ctx.change(codes);\r\n ctx.resume()\r\n}\r\n\r\nfunction collectNodes(node, list) {\r\n var nodes = node.nodes;\r\n var i;\r\n var ii = nodes && nodes.length;\r\n for (i = 0; i < ii; ++i) {\r\n list.push(nodes[i].proxy);\r\n collectNodes(nodes[i], list)\r\n }\r\n}\r\n\r\nfunction updateValue(node, value) {\r\n var delta = value - node.value;\r\n while (node) {\r\n node.value += delta;\r\n node = node.parent\r\n }\r\n}\r\nproto._extendProxyType = noop;\r\nvar _resetNodes = proto._resetNodes;\r\nproto._resetNodes = function() {\r\n _resetNodes.call(this);\r\n this._eventTrigger(\"nodesRendering\", {\r\n node: this._topNode.proxy\r\n })\r\n};\r\nvar _updateStyles = nodeProto.updateStyles;\r\nnodeProto.updateStyles = function() {\r\n _updateStyles.call(this);\r\n if (this._custom) {\r\n this._partialState = !this.ctx.forceReset && this._partialState || this.ctx.calculateState(this._custom);\r\n _extend(true, this.state, this._partialState)\r\n }\r\n};\r\nvar _updateLabelStyle = nodeProto.updateLabelStyle;\r\nnodeProto.updateLabelStyle = function() {\r\n var custom = this._custom;\r\n _updateLabelStyle.call(this);\r\n if (custom && custom.label) {\r\n this._partialLabelState = !this.ctx.forceReset && this._partialLabelState || calculatePartialLabelState(this, custom.label);\r\n this.labelState = _extend(true, {}, this.labelState, this._partialLabelState)\r\n }\r\n};\r\n\r\nfunction calculatePartialLabelState(node, settings) {\r\n var state = node.ctx.calculateLabelState(settings);\r\n if (\"visible\" in settings) {\r\n state.visible = !!settings.visible\r\n }\r\n return state\r\n}\r\nproto.getRootNode = function() {\r\n return this._root.proxy\r\n};\r\nproto.resetNodes = function() {\r\n var context = this._context;\r\n context.suspend();\r\n context.change([\"NODES_CREATE\"]);\r\n context.resume();\r\n return this\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/tree_map/states.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport TreeMapBase from \"./tree_map.base\";\r\nimport Node from \"./node\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar proto = TreeMapBase.prototype;\r\nvar nodeProto = Node.prototype;\r\nvar handlers = proto._handlers;\r\nvar _calculateState = handlers.calculateState;\r\nvar _buildState = nodeProto._buildState;\r\nimport {\r\n extend as _extend\r\n} from \"../../core/utils/extend\";\r\nhandlers.calculateState = function(options) {\r\n var states = {\r\n 0: _calculateState(options)\r\n };\r\n handlers.calculateAdditionalStates(states, options);\r\n return states\r\n};\r\nhandlers.calculateAdditionalStates = noop;\r\nnodeProto.code = 0;\r\nnodeProto.statesMap = {\r\n 0: 0\r\n};\r\nnodeProto.additionalStates = [];\r\nnodeProto._buildState = function(state, extra) {\r\n var states = {\r\n 0: _buildState(state[0], extra)\r\n };\r\n if (this.additionalStates.length) {\r\n buildAdditionalStates(states, states[0], state, this.additionalStates)\r\n }\r\n return states\r\n};\r\nnodeProto._getState = function() {\r\n return this.state[this.statesMap[this.code]]\r\n};\r\nnodeProto.setState = function(code, state) {\r\n if (state) {\r\n this.code |= code\r\n } else {\r\n this.code &= ~code\r\n }\r\n this.ctx.change([\"TILES\"])\r\n};\r\n\r\nfunction buildAdditionalStates(states, base, source, list) {\r\n var i;\r\n var ii = list.length;\r\n for (i = 0; i < ii; ++i) {\r\n states[list[i]] = _extend({}, base, source[list[i]])\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/tree_map/hover.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport TreeMapBase from \"./tree_map.base\";\r\nimport Node from \"./node\";\r\nimport {\r\n expand\r\n} from \"../core/helpers\";\r\nimport {\r\n buildRectAppearance\r\n} from \"./common\";\r\nimport {\r\n parseScalar as _parseScalar\r\n} from \"../core/utils\";\r\nvar proto = TreeMapBase.prototype;\r\nvar nodeProto = Node.prototype;\r\nvar STATE_CODE = 1;\r\nimport \"./api\";\r\nimport \"./states\";\r\nproto._eventsMap.onHoverChanged = {\r\n name: \"hoverChanged\"\r\n};\r\nexpand(proto._handlers, \"calculateAdditionalStates\", (function(states, options) {\r\n states[1] = options.hoverStyle ? buildRectAppearance(options.hoverStyle) : {}\r\n}));\r\nTreeMapBase.addChange({\r\n code: \"HOVER_ENABLED\",\r\n handler: function() {\r\n var hoverEnabled = _parseScalar(this._getOption(\"hoverEnabled\", true), true);\r\n if (!hoverEnabled) {\r\n this.clearHover()\r\n }\r\n this._hoverEnabled = hoverEnabled\r\n },\r\n isThemeDependent: true,\r\n isOptionChange: true,\r\n option: \"hoverEnabled\"\r\n});\r\nnodeProto.statesMap[1] = 1;\r\nnodeProto.additionalStates.push(1);\r\nexpand(proto, \"_extendProxyType\", (function(proto) {\r\n var that = this;\r\n proto.setHover = function() {\r\n that._hoverNode(this._id)\r\n };\r\n proto.isHovered = function() {\r\n return that._hoverIndex === this._id\r\n }\r\n}));\r\nexpand(proto, \"_onNodesCreated\", (function() {\r\n this._hoverIndex = -1\r\n}));\r\nexpand(proto, \"_changeGroupSettings\", (function() {\r\n this._groupHoverEnabled = _parseScalar(this._getOption(\"group\").hoverEnabled, true);\r\n if (!this._groupHoverEnabled) {\r\n this.clearHover()\r\n }\r\n}));\r\nproto._applyHoverState = function(index, state) {\r\n setNodeStateRecursive(this._nodes[index], STATE_CODE, state);\r\n this._eventTrigger(\"hoverChanged\", {\r\n node: this._nodes[index].proxy\r\n })\r\n};\r\n\r\nfunction setNodeStateRecursive(node, code, state) {\r\n var nodes = node.isNode() && node.nodes;\r\n var i;\r\n var ii = nodes && nodes.length;\r\n node.setState(code, state);\r\n for (i = 0; i < ii; ++i) {\r\n setNodeStateRecursive(nodes[i], code, state)\r\n }\r\n}\r\nproto._hoverNode = function(index) {\r\n var currentIndex = this._hoverIndex;\r\n if (this._hoverEnabled && currentIndex !== index) {\r\n if (!this._groupHoverEnabled && index >= 0 && this._nodes[index].isNode()) {\r\n this.clearHover();\r\n return\r\n }\r\n this._context.suspend();\r\n this._hoverIndex = -1;\r\n if (currentIndex >= 0) {\r\n this._applyHoverState(currentIndex, false)\r\n }\r\n this._hoverIndex = index;\r\n if (index >= 0) {\r\n this._applyHoverState(index, true)\r\n }\r\n this._context.resume()\r\n }\r\n};\r\nproto.clearHover = function() {\r\n this._hoverNode(-1)\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/tree_map/selection.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport TreeMapBase from \"./tree_map.base\";\r\nimport Node from \"./node\";\r\nimport {\r\n expand\r\n} from \"../core/helpers\";\r\nimport {\r\n buildRectAppearance\r\n} from \"./common\";\r\nvar proto = TreeMapBase.prototype;\r\nvar nodeProto = Node.prototype;\r\nimport {\r\n normalizeEnum as _normalizeEnum\r\n} from \"../core/utils\";\r\nvar MODE_NONE = 0;\r\nvar MODE_SINGLE = 1;\r\nvar MODE_MULTIPLE = 2;\r\nvar STATE_CODE = 2;\r\nimport \"./api\";\r\nimport \"./states\";\r\nproto._eventsMap.onSelectionChanged = {\r\n name: \"selectionChanged\"\r\n};\r\nexpand(proto._handlers, \"calculateAdditionalStates\", (function(states, options) {\r\n states[2] = options.selectionStyle ? buildRectAppearance(options.selectionStyle) : {}\r\n}));\r\nnodeProto.statesMap[2] = nodeProto.statesMap[3] = STATE_CODE;\r\nnodeProto.additionalStates.push(2);\r\nexpand(proto, \"_onNodesCreated\", (function() {\r\n this._selectionList.length = 0\r\n}));\r\nexpand(proto, \"_extendProxyType\", (function(proto) {\r\n var that = this;\r\n proto.select = function(state) {\r\n that._selectNode(this._id, !!state)\r\n };\r\n proto.isSelected = function() {\r\n return that._selectionList.includes(this._id)\r\n };\r\n that._selectionList = []\r\n}));\r\nTreeMapBase.addChange({\r\n code: \"SELECTION_MODE\",\r\n handler: function() {\r\n var option = _normalizeEnum(this._getOption(\"selectionMode\", true));\r\n var selectionList = this._selectionList;\r\n var tmp;\r\n var mode = \"none\" === option ? MODE_NONE : \"multiple\" === option ? MODE_MULTIPLE : MODE_SINGLE;\r\n if (mode === MODE_SINGLE && selectionList.length > 1) {\r\n tmp = selectionList.pop();\r\n this.clearSelection();\r\n selectionList.push(tmp)\r\n } else if (mode === MODE_NONE) {\r\n this.clearSelection()\r\n }\r\n this._selectionMode = mode\r\n },\r\n isThemeDependent: true,\r\n isOptionChange: true,\r\n option: \"selectionMode\"\r\n});\r\nexpand(proto, \"_applyTilesAppearance\", (function() {\r\n if (this._selectionList.length) {\r\n bringSelectedTilesToForeground(this._nodes, this._selectionList)\r\n }\r\n}));\r\nvar tileToFront = [leafToFront, groupToFront];\r\n\r\nfunction bringSelectedTilesToForeground(nodes, selectionList) {\r\n var i;\r\n var ii = selectionList.length;\r\n var node;\r\n for (i = 0; i < ii; ++i) {\r\n node = nodes[selectionList[i]];\r\n tileToFront[Number(node.isNode())](node.tile)\r\n }\r\n}\r\n\r\nfunction leafToFront(content) {\r\n content.toForeground()\r\n}\r\n\r\nfunction groupToFront(content) {\r\n content.outer.toForeground();\r\n content.inner.toForeground()\r\n}\r\nproto._applySelectionState = function(index, state) {\r\n var node = this._nodes[index];\r\n node.setState(STATE_CODE, state);\r\n this._eventTrigger(\"selectionChanged\", {\r\n node: node.proxy\r\n })\r\n};\r\nproto._selectNode = function(index, state) {\r\n var selectionList;\r\n var k;\r\n var tmp;\r\n if (this._selectionMode !== MODE_NONE) {\r\n this._context.suspend();\r\n selectionList = this._selectionList;\r\n k = selectionList.indexOf(index);\r\n if (state && -1 === k) {\r\n if (this._selectionMode === MODE_SINGLE) {\r\n if (selectionList.length) {\r\n tmp = selectionList.pop();\r\n this._applySelectionState(tmp, false)\r\n }\r\n }\r\n selectionList.push(index);\r\n this._applySelectionState(index, true)\r\n } else if (!state && k >= 0) {\r\n selectionList.splice(k, 1);\r\n this._applySelectionState(index, false)\r\n }\r\n this._context.resume()\r\n }\r\n};\r\nproto.clearSelection = function() {\r\n var selectionList = this._selectionList;\r\n var i;\r\n var ii = selectionList.length;\r\n if (this._selectionMode !== MODE_NONE) {\r\n this._context.suspend();\r\n for (i = 0; i < ii; ++i) {\r\n this._applySelectionState(selectionList[i], false)\r\n }\r\n selectionList.length = 0;\r\n this._context.resume()\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/tree_map/tooltip.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n expand\r\n} from \"../core/helpers\";\r\nimport TreeMapBase from \"./tree_map.base\";\r\nvar proto = TreeMapBase.prototype;\r\nimport \"./api\";\r\nexpand(proto, \"_extendProxyType\", (function(proto) {\r\n var that = this;\r\n proto.showTooltip = function(coords) {\r\n that._showTooltip(this._id, coords)\r\n }\r\n}));\r\nexpand(proto, \"_onNodesCreated\", (function() {\r\n if (this._tooltipIndex >= 0) {\r\n this._tooltip.hide()\r\n }\r\n this._tooltipIndex = -1\r\n}));\r\nexpand(proto, \"_onTilingPerformed\", (function() {\r\n if (this._tooltipIndex >= 0) {\r\n this._moveTooltip(this._nodes[this._tooltipIndex])\r\n }\r\n}));\r\n\r\nfunction getCoords(coords, rect, renderer) {\r\n var offset = renderer.getRootOffset();\r\n return coords || rect && [(rect[0] + rect[2]) / 2 + offset.left, (rect[1] + rect[3]) / 2 + offset.top] || [-1e3, -1e3]\r\n}\r\nproto._showTooltip = function(index, coords) {\r\n var that = this;\r\n var tooltip = that._tooltip;\r\n var node = that._nodes[index];\r\n if (that._tooltipIndex === index) {\r\n that._moveTooltip(node, coords);\r\n return\r\n }\r\n var callback = result => {\r\n if (void 0 === result) {\r\n return\r\n }\r\n if (!result) {\r\n tooltip.hide()\r\n }\r\n that._tooltipIndex = result ? index : -1\r\n };\r\n var xy = getCoords(coords, node.rect, this._renderer);\r\n callback(tooltip.show({\r\n value: node.value,\r\n valueText: tooltip.formatValue(node.value),\r\n node: node.proxy\r\n }, {\r\n x: xy[0],\r\n y: xy[1],\r\n offset: 0\r\n }, {\r\n node: node.proxy\r\n }, void 0, callback))\r\n};\r\nproto._moveTooltip = function(node, coords) {\r\n var xy = getCoords(coords, node.rect, this._renderer);\r\n this._tooltip.move(xy[0], xy[1], 0)\r\n};\r\nproto.hideTooltip = function() {\r\n if (this._tooltipIndex >= 0) {\r\n this._tooltipIndex = -1;\r\n this._tooltip.hide()\r\n }\r\n};\r\nimport {\r\n plugin as tooltipPlugin\r\n} from \"../core/tooltip\";\r\nTreeMapBase.addPlugin(tooltipPlugin);\r\n","/**\r\n * DevExtreme (esm/viz/tree_map/tracker.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport TreeMapBase from \"./tree_map.base\";\r\nimport {\r\n Tracker\r\n} from \"../components/tracker\";\r\nimport {\r\n expand\r\n} from \"../core/helpers\";\r\nimport {\r\n parseScalar as _parseScalar\r\n} from \"../core/utils\";\r\nvar DATA_KEY_BASE = \"__treemap_data_\";\r\nvar dataKeyModifier = 0;\r\nvar proto = TreeMapBase.prototype;\r\nimport \"./api\";\r\nimport \"./hover\";\r\nimport \"./tooltip\";\r\nproto._eventsMap.onClick = {\r\n name: \"click\"\r\n};\r\nvar getDataKey = function() {\r\n var dataKey = DATA_KEY_BASE + dataKeyModifier++;\r\n return dataKey\r\n};\r\nexpand(proto, \"_initCore\", (function() {\r\n var that = this;\r\n var dataKey = getDataKey();\r\n var getProxy = function(index) {\r\n return that._nodes[index].proxy\r\n };\r\n that._tracker = new Tracker({\r\n widget: that,\r\n root: that._renderer.root,\r\n getNode: function(id) {\r\n var proxy = getProxy(id);\r\n var interactWithGroup = _parseScalar(that._getOption(\"interactWithGroup\", true));\r\n return interactWithGroup && proxy.isLeaf() && proxy.getParent().isActive() ? proxy.getParent() : proxy\r\n },\r\n getData: function(e) {\r\n var target = e.target;\r\n return (\"tspan\" === target.tagName ? target.parentNode : target)[dataKey]\r\n },\r\n getProxy: getProxy,\r\n click: function(e) {\r\n that._eventTrigger(\"click\", e)\r\n }\r\n });\r\n that._handlers.setTrackerData = function(node, element) {\r\n element.data(dataKey, node._id)\r\n }\r\n}));\r\nexpand(proto, \"_disposeCore\", (function() {\r\n this._tracker.dispose()\r\n}));\r\n","/**\r\n * DevExtreme (esm/viz/tree_map/drilldown.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport TreeMapBase from \"./tree_map.base\";\r\nimport {\r\n expand as _expand\r\n} from \"../core/helpers\";\r\nimport \"./api\";\r\nvar proto = TreeMapBase.prototype;\r\nproto._eventsMap.onDrill = {\r\n name: \"drill\"\r\n};\r\n_expand(proto, \"_extendProxyType\", (function(proto) {\r\n var that = this;\r\n proto.drillDown = function() {\r\n that._drillToNode(this._id)\r\n }\r\n}));\r\n_expand(proto, \"_onNodesCreated\", (function() {\r\n this._drilldownIndex = -1\r\n}));\r\nproto._drillToNode = function(index) {\r\n var node;\r\n if (this._drilldownIndex !== index) {\r\n node = this._nodes[index] || this._root;\r\n if (node.nodes) {\r\n this._drilldownIndex = index;\r\n this._topNode = node;\r\n this._context.suspend();\r\n this._context.change([\"MAX_DEPTH\", \"NODES_RESET\"]);\r\n this._context.resume();\r\n this._eventTrigger(\"drill\", {\r\n node: node.proxy\r\n })\r\n }\r\n }\r\n};\r\nproto.resetDrillDown = function() {\r\n this._drillToNode(-1);\r\n return this\r\n};\r\nproto.drillUp = function() {\r\n this._drillToNode(this._topNode.parent._id || -1);\r\n return this\r\n};\r\nproto.getCurrentNode = function() {\r\n return this._topNode.proxy\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/tree_map/plain_data_source.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport TreeMapBase from \"./tree_map.base\";\r\nvar proto = TreeMapBase.prototype;\r\nproto._optionChangesMap.idField = proto._optionChangesMap.parentField = \"NODES_CREATE\";\r\nproto._processDataSourceItems = function(items) {\r\n var i;\r\n var struct = {};\r\n var currentItem;\r\n var idField = this._getOption(\"idField\", true);\r\n var parentField = this._getOption(\"parentField\", true);\r\n var parentId;\r\n var rootNodes = [];\r\n var tmpItems;\r\n var item;\r\n if (!idField || !parentField || 0 === items.length) {\r\n return {\r\n items: items,\r\n isPlain: false\r\n }\r\n }\r\n for (i = 0; i < items.length; i++) {\r\n currentItem = items[i];\r\n parentId = currentItem[parentField];\r\n if (parentId) {\r\n struct[parentId] = struct[parentId] || {\r\n items: []\r\n };\r\n tmpItems = struct[parentId].items\r\n } else {\r\n tmpItems = rootNodes\r\n }\r\n tmpItems.push(currentItem)\r\n }\r\n treeFiller({\r\n struct: struct,\r\n idField: idField\r\n }, rootNodes);\r\n for (item in struct) {\r\n struct[item] && rootNodes.push(struct[item])\r\n }\r\n return {\r\n items: rootNodes,\r\n isPlain: true\r\n }\r\n};\r\n\r\nfunction treeFiller(context, items) {\r\n var currentItem;\r\n var i;\r\n var struct = context.struct;\r\n var id;\r\n for (i = 0; i < items.length; i++) {\r\n currentItem = items[i];\r\n id = currentItem[context.idField];\r\n if (struct[id]) {\r\n currentItem.items = struct[id].items;\r\n struct[id] = null;\r\n treeFiller(context, currentItem.items)\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/tree_map/tree_map.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dxTreeMap from \"./tree_map.base\";\r\nexport default dxTreeMap;\r\nimport \"./tiling.squarified\";\r\nimport \"./tiling.strip\";\r\nimport \"./tiling.slice_and_dice\";\r\nimport \"./tiling.rotated_slice_and_dice\";\r\nimport \"./colorizing.discrete\";\r\nimport \"./colorizing.gradient\";\r\nimport \"./colorizing.range\";\r\nimport \"./api\";\r\nimport \"./hover\";\r\nimport \"./selection\";\r\nimport \"./tooltip\";\r\nimport \"./tracker\";\r\nimport \"./drilldown\";\r\nimport \"./plain_data_source\";\r\nimport {\r\n plugin as pluginExport\r\n} from \"../core/export\";\r\nimport {\r\n plugin as pluginTitle\r\n} from \"../core/title\";\r\nimport {\r\n plugin as pluginLoadIndicator\r\n} from \"../core/loading_indicator\";\r\ndxTreeMap.addPlugin(pluginExport);\r\ndxTreeMap.addPlugin(pluginTitle);\r\ndxTreeMap.addPlugin(pluginLoadIndicator);\r\n","/**\r\n * DevExtreme (esm/viz/tree_map.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport TreeMap from \"./tree_map/tree_map\";\r\nexport default TreeMap;\r\n","/**\r\n * DevExtreme (esm/viz/utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n refreshPaths\r\n} from \"./core/renderers/renderer\";\r\nimport {\r\n each as _each\r\n} from \"../core/utils/iterator\";\r\nvar {\r\n floor: floor\r\n} = Math;\r\nexport var prepareSegmentRectPoints = function(left, top, width, height, borderOptions) {\r\n var maxSW = ~~((width < height ? width : height) / 2);\r\n var sw = borderOptions.width || 0;\r\n var newSW = sw < maxSW ? sw : maxSW;\r\n left += newSW / 2;\r\n top += newSW / 2;\r\n width -= newSW;\r\n height -= newSW;\r\n var right = left + width;\r\n var bottom = top + height;\r\n var points = [];\r\n var segments = [];\r\n var segmentSequence;\r\n var visiblyOpt = 0;\r\n var prevSegmentVisibility = 0;\r\n var allSegment = {\r\n top: [\r\n [left, top],\r\n [right, top]\r\n ],\r\n right: [\r\n [right, top],\r\n [right, bottom]\r\n ],\r\n bottom: [\r\n [right, bottom],\r\n [left, bottom]\r\n ],\r\n left: [\r\n [left, bottom],\r\n [left, top]\r\n ]\r\n };\r\n _each(allSegment, (function(seg) {\r\n var visibility = !!borderOptions[seg];\r\n visiblyOpt = 2 * visiblyOpt + ~~visibility\r\n }));\r\n switch (visiblyOpt) {\r\n case 13:\r\n case 9:\r\n segmentSequence = [\"left\", \"top\", \"right\", \"bottom\"];\r\n break;\r\n case 11:\r\n segmentSequence = [\"bottom\", \"left\", \"top\", \"right\"];\r\n break;\r\n default:\r\n segmentSequence = [\"top\", \"right\", \"bottom\", \"left\"]\r\n }\r\n _each(segmentSequence, (function(_, seg) {\r\n var segmentVisibility = !!borderOptions[seg];\r\n if (!prevSegmentVisibility && segments.length) {\r\n points.push(segments);\r\n segments = []\r\n }\r\n if (segmentVisibility) {\r\n _each(allSegment[seg].slice(prevSegmentVisibility), (function(_, segment) {\r\n segments = segments.concat(segment)\r\n }))\r\n }\r\n prevSegmentVisibility = ~~segmentVisibility\r\n }));\r\n segments.length && points.push(segments);\r\n 1 === points.length && (points = points[0]);\r\n return {\r\n points: points,\r\n pathType: 15 === visiblyOpt ? \"area\" : \"line\"\r\n }\r\n};\r\nexport {\r\n refreshPaths\r\n};\r\nexport var areCanvasesDifferent = function(canvas1, canvas2) {\r\n var sizeLessThreshold = [\"width\", \"height\"].every(key => Math.abs(canvas1[key] - canvas2[key]) < 1);\r\n var canvasCoordsIsEqual = [\"left\", \"right\", \"top\", \"bottom\"].every(key => canvas1[key] === canvas2[key]);\r\n return !(sizeLessThreshold && canvasCoordsIsEqual)\r\n};\r\nexport var floorCanvasDimensions = function(canvas) {\r\n return _extends({}, canvas, {\r\n height: floor(canvas.height),\r\n width: floor(canvas.width)\r\n })\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/vector_map/event_emitter.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nvar eventEmitterMethods = {\r\n _initEvents: function() {\r\n var names = this._eventNames;\r\n var i;\r\n var ii = names.length;\r\n var events = this._events = {};\r\n for (i = 0; i < ii; ++i) {\r\n events[names[i]] = Callbacks()\r\n }\r\n },\r\n _disposeEvents: function() {\r\n var events = this._events;\r\n var name;\r\n for (name in events) {\r\n events[name].empty()\r\n }\r\n this._events = null\r\n },\r\n on: function(handlers) {\r\n var events = this._events;\r\n var name;\r\n for (name in handlers) {\r\n events[name].add(handlers[name])\r\n }\r\n return function() {\r\n for (name in handlers) {\r\n events[name].remove(handlers[name])\r\n }\r\n }\r\n },\r\n _fire: function(name, arg) {\r\n this._events[name].fire(arg)\r\n }\r\n};\r\nexport function makeEventEmitter(target) {\r\n var proto = target.prototype;\r\n var name;\r\n for (name in eventEmitterMethods) {\r\n proto[name] = eventEmitterMethods[name]\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/vector_map/projection.main.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n makeEventEmitter\r\n} from \"./event_emitter\";\r\nvar _Number = Number;\r\nvar _min = Math.min;\r\nvar _max = Math.max;\r\nvar _abs = Math.abs;\r\nvar _round = Math.round;\r\nvar _ln = Math.log;\r\nvar _pow = Math.pow;\r\nvar TWO_TO_LN2 = 2 / Math.LN2;\r\nvar MIN_BOUNDS_RANGE = 1 / 3600 / 180 / 10;\r\nvar DEFAULT_MIN_ZOOM = 1;\r\nvar DEFAULT_MAX_ZOOM = 256;\r\nvar DEFAULT_CENTER = [NaN, NaN];\r\nvar DEFAULT_ENGINE_NAME = \"mercator\";\r\n\r\nfunction floatsEqual(f1, f2) {\r\n return _abs(f1 - f2) < 1e-8\r\n}\r\n\r\nfunction arraysEqual(a1, a2) {\r\n return floatsEqual(a1[0], a2[0]) && floatsEqual(a1[1], a2[1])\r\n}\r\n\r\nfunction parseAndClamp(value, minValue, maxValue, defaultValue) {\r\n var val = _Number(value);\r\n return isFinite(val) ? _min(_max(val, minValue), maxValue) : defaultValue\r\n}\r\n\r\nfunction parseAndClampArray(value, minValue, maxValue, defaultValue) {\r\n return [parseAndClamp(value[0], minValue[0], maxValue[0], defaultValue[0]), parseAndClamp(value[1], minValue[1], maxValue[1], defaultValue[1])]\r\n}\r\n\r\nfunction getEngine(engine) {\r\n return engine instanceof Engine && engine || projection.get(engine) || projection(engine) || projection.get(DEFAULT_ENGINE_NAME)\r\n}\r\nexport var Projection = function(parameters) {\r\n this._initEvents();\r\n this._params = parameters;\r\n this._engine = getEngine();\r\n this._center = this._engine.center();\r\n this._adjustCenter()\r\n};\r\nProjection.prototype = {\r\n constructor: Projection,\r\n _minZoom: DEFAULT_MIN_ZOOM,\r\n _maxZoom: DEFAULT_MAX_ZOOM,\r\n _zoom: DEFAULT_MIN_ZOOM,\r\n _center: DEFAULT_CENTER,\r\n _canvas: {},\r\n _scale: [],\r\n dispose: function() {\r\n this._disposeEvents()\r\n },\r\n setEngine: function(value) {\r\n var engine = getEngine(value);\r\n if (this._engine !== engine) {\r\n this._engine = engine;\r\n this._fire(\"engine\");\r\n if (this._changeCenter(engine.center())) {\r\n this._triggerCenterChanged()\r\n }\r\n if (this._changeZoom(this._minZoom)) {\r\n this._triggerZoomChanged()\r\n }\r\n this._adjustCenter();\r\n this._setupScreen()\r\n }\r\n },\r\n setBounds: function(bounds) {\r\n if (void 0 !== bounds) {\r\n this.setEngine(this._engine.original().bounds(bounds))\r\n }\r\n },\r\n _setupScreen: function() {\r\n var canvas = this._canvas;\r\n var width = canvas.width;\r\n var height = canvas.height;\r\n var engine = this._engine;\r\n var aspectRatio = engine.ar();\r\n this._x0 = canvas.left + width / 2;\r\n this._y0 = canvas.top + height / 2;\r\n var min = [this.project([engine.min()[0], 0])[0], this.project([0, engine.min()[1]])[1]];\r\n var max = [this.project([engine.max()[0], 0])[0], this.project([0, engine.max()[1]])[1]];\r\n var screenAR = width / height;\r\n var boundsAR = _abs(max[0] - min[0]) / _abs(max[1] - min[1]);\r\n var correction;\r\n if (isNaN(boundsAR) || 0 === boundsAR || _min(screenAR, aspectRatio) <= aspectRatio * boundsAR && aspectRatio * boundsAR <= _max(screenAR, aspectRatio)) {\r\n correction = 1\r\n } else {\r\n correction = boundsAR > 1 ? boundsAR : 1 / boundsAR\r\n }\r\n if (aspectRatio * boundsAR >= screenAR) {\r\n this._xRadius = width / 2 / correction;\r\n this._yRadius = width / 2 / (aspectRatio * correction)\r\n } else {\r\n this._xRadius = height / 2 * (aspectRatio / correction);\r\n this._yRadius = height / 2 / correction\r\n }\r\n this._fire(\"screen\")\r\n },\r\n setSize: function(canvas) {\r\n this._canvas = canvas;\r\n this._setupScreen()\r\n },\r\n getCanvas: function() {\r\n return this._canvas\r\n },\r\n _toScreen: function(coordinates) {\r\n return [this._x0 + this._xRadius * coordinates[0], this._y0 + this._yRadius * coordinates[1]]\r\n },\r\n _fromScreen: function(coordinates) {\r\n return [(coordinates[0] - this._x0) / this._xRadius, (coordinates[1] - this._y0) / this._yRadius]\r\n },\r\n _toTransformed: function(coordinates) {\r\n return [coordinates[0] * this._zoom + this._xCenter, coordinates[1] * this._zoom + this._yCenter]\r\n },\r\n _toTransformedFast: function(coordinates) {\r\n return [coordinates[0] * this._zoom, coordinates[1] * this._zoom]\r\n },\r\n _fromTransformed: function(coordinates) {\r\n return [(coordinates[0] - this._xCenter) / this._zoom, (coordinates[1] - this._yCenter) / this._zoom]\r\n },\r\n _adjustCenter: function() {\r\n var center = this._engine.project(this._center);\r\n this._xCenter = -center[0] * this._zoom || 0;\r\n this._yCenter = -center[1] * this._zoom || 0\r\n },\r\n project: function(coordinates) {\r\n return this._engine.project(coordinates)\r\n },\r\n transform: function(coordinates) {\r\n return this._toScreen(this._toTransformedFast(coordinates))\r\n },\r\n isInvertible: function() {\r\n return this._engine.isInvertible()\r\n },\r\n getSquareSize: function(size) {\r\n return [size[0] * this._zoom * this._xRadius, size[1] * this._zoom * this._yRadius]\r\n },\r\n getZoom: function() {\r\n return this._zoom\r\n },\r\n _changeZoom: function(value) {\r\n var oldZoom = this._zoom;\r\n var newZoom = this._zoom = parseAndClamp(value, this._minZoom, this._maxZoom, this._minZoom);\r\n var isChanged = !floatsEqual(oldZoom, newZoom);\r\n if (isChanged) {\r\n this._adjustCenter();\r\n this._fire(\"zoom\")\r\n }\r\n return isChanged\r\n },\r\n setZoom: function(value) {\r\n if (this._engine.isInvertible() && this._changeZoom(value)) {\r\n this._triggerZoomChanged()\r\n }\r\n },\r\n getScaledZoom: function() {\r\n return _round((this._scale.length - 1) * _ln(this._zoom) / _ln(this._maxZoom))\r\n },\r\n setScaledZoom: function(scaledZoom) {\r\n this.setZoom(this._scale[_round(scaledZoom)])\r\n },\r\n changeScaledZoom: function(deltaZoom) {\r\n this.setZoom(this._scale[_max(_min(_round(this.getScaledZoom() + deltaZoom), this._scale.length - 1), 0)])\r\n },\r\n getZoomScalePartition: function() {\r\n return this._scale.length - 1\r\n },\r\n _setupScaling: function() {\r\n var k = _max(_round(TWO_TO_LN2 * _ln(this._maxZoom)), 4);\r\n var step = _pow(this._maxZoom, 1 / k);\r\n var zoom = this._minZoom;\r\n this._scale = [zoom];\r\n for (var i = 1; i <= k; ++i) {\r\n this._scale.push(zoom *= step)\r\n }\r\n },\r\n setMaxZoom: function(maxZoom) {\r\n this._minZoom = DEFAULT_MIN_ZOOM;\r\n this._maxZoom = parseAndClamp(maxZoom, this._minZoom, _Number.MAX_VALUE, DEFAULT_MAX_ZOOM);\r\n this._setupScaling();\r\n if (this._zoom > this._maxZoom) {\r\n this.setZoom(this._maxZoom)\r\n }\r\n this._fire(\"max-zoom\")\r\n },\r\n getCenter: function() {\r\n return this._center.slice()\r\n },\r\n setCenter: function(value) {\r\n if (this._engine.isInvertible() && this._changeCenter(value || [])) {\r\n this._triggerCenterChanged()\r\n }\r\n },\r\n _changeCenter: function(value) {\r\n var engine = this._engine;\r\n var oldCenter = this._center;\r\n var newCenter = this._center = parseAndClampArray(value, engine.min(), engine.max(), engine.center());\r\n var isChanged = !arraysEqual(oldCenter, newCenter);\r\n if (isChanged) {\r\n this._adjustCenter();\r\n this._fire(\"center\")\r\n }\r\n return isChanged\r\n },\r\n _triggerCenterChanged: function() {\r\n this._params.centerChanged(this.getCenter())\r\n },\r\n _triggerZoomChanged: function() {\r\n this._params.zoomChanged(this.getZoom())\r\n },\r\n setCenterByPoint: function(coordinates, screenPosition) {\r\n var p = this._engine.project(coordinates);\r\n var q = this._fromScreen(screenPosition);\r\n this.setCenter(this._engine.unproject([-q[0] / this._zoom + p[0], -q[1] / this._zoom + p[1]]))\r\n },\r\n beginMoveCenter: function() {\r\n if (this._engine.isInvertible()) {\r\n this._moveCenter = this._center\r\n }\r\n },\r\n endMoveCenter: function() {\r\n if (this._moveCenter) {\r\n if (!arraysEqual(this._moveCenter, this._center)) {\r\n this._triggerCenterChanged()\r\n }\r\n this._moveCenter = null\r\n }\r\n },\r\n moveCenter: function(shift) {\r\n if (this._moveCenter) {\r\n var current = this.toScreenPoint(this._center);\r\n this._changeCenter(this.fromScreenPoint([current[0] + shift[0], current[1] + shift[1]]))\r\n }\r\n },\r\n getViewport: function() {\r\n var unproject = this._engine.unproject;\r\n var lt = unproject(this._fromTransformed([-1, -1]));\r\n var lb = unproject(this._fromTransformed([-1, 1]));\r\n var rt = unproject(this._fromTransformed([1, -1]));\r\n var rb = unproject(this._fromTransformed([1, 1]));\r\n var minMax = findMinMax([selectFarthestPoint(lt[0], lb[0], rt[0], rb[0]), selectFarthestPoint(lt[1], rt[1], lb[1], rb[1])], [selectFarthestPoint(rt[0], rb[0], lt[0], lb[0]), selectFarthestPoint(lb[1], rb[1], lt[1], rt[1])]);\r\n return [].concat(minMax.min, minMax.max)\r\n },\r\n setViewport: function(viewport) {\r\n var engine = this._engine;\r\n var data = viewport ? getZoomAndCenterFromViewport(engine.project, engine.unproject, viewport) : [this._minZoom, engine.center()];\r\n this.setZoom(data[0]);\r\n this.setCenter(data[1])\r\n },\r\n getTransform: function() {\r\n return {\r\n translateX: this._xCenter * this._xRadius,\r\n translateY: this._yCenter * this._yRadius\r\n }\r\n },\r\n fromScreenPoint: function(coordinates) {\r\n return this._engine.unproject(this._fromTransformed(this._fromScreen(coordinates)))\r\n },\r\n toScreenPoint: function(coordinates) {\r\n return this._toScreen(this._toTransformed(this._engine.project(coordinates)))\r\n },\r\n _eventNames: [\"engine\", \"screen\", \"center\", \"zoom\", \"max-zoom\"]\r\n};\r\nmakeEventEmitter(Projection);\r\n\r\nfunction selectFarthestPoint(point1, point2, basePoint1, basePoint2) {\r\n var basePoint = (basePoint1 + basePoint2) / 2;\r\n return _abs(point1 - basePoint) > _abs(point2 - basePoint) ? point1 : point2\r\n}\r\n\r\nfunction selectClosestPoint(point1, point2, basePoint1, basePoint2) {\r\n var basePoint = (basePoint1 + basePoint2) / 2;\r\n return _abs(point1 - basePoint) < _abs(point2 - basePoint) ? point1 : point2\r\n}\r\n\r\nfunction getZoomAndCenterFromViewport(project, unproject, viewport) {\r\n var lt = project([viewport[0], viewport[3]]);\r\n var lb = project([viewport[0], viewport[1]]);\r\n var rt = project([viewport[2], viewport[3]]);\r\n var rb = project([viewport[2], viewport[1]]);\r\n var l = selectClosestPoint(lt[0], lb[0], rt[0], rb[0]);\r\n var r = selectClosestPoint(rt[0], rb[0], lt[0], lb[0]);\r\n var t = selectClosestPoint(lt[1], rt[1], lb[1], rb[1]);\r\n var b = selectClosestPoint(lb[1], rb[1], lt[1], rt[1]);\r\n return [2 / _max(_abs(l - r), _abs(t - b)), unproject([(l + r) / 2, (t + b) / 2])]\r\n}\r\n\r\nfunction setMinMax(engine, p1, p2) {\r\n var {\r\n min: min,\r\n max: max\r\n } = findMinMax(p1, p2);\r\n engine.min = returnArray(min);\r\n engine.max = returnArray(max)\r\n}\r\nvar Engine = class {\r\n constructor(parameters) {\r\n var project = createProjectMethod(parameters.to);\r\n var unproject = parameters.from ? createUnprojectMethod(parameters.from) : returnValue(DEFAULT_CENTER);\r\n this.project = project;\r\n this.unproject = unproject;\r\n this.original = returnValue(this);\r\n this.source = function() {\r\n return extend({}, parameters)\r\n };\r\n this.isInvertible = returnValue(!!parameters.from);\r\n this.ar = returnValue(parameters.aspectRatio > 0 ? _Number(parameters.aspectRatio) : 1);\r\n this.center = returnArray(unproject([0, 0]));\r\n setMinMax(this, [unproject([-1, 0])[0], unproject([0, 1])[1]], [unproject([1, 0])[0], unproject([0, -1])[1]])\r\n }\r\n aspectRatio(aspectRatio) {\r\n var engine = new Engine(extend(this.source(), {\r\n aspectRatio: aspectRatio\r\n }));\r\n engine.original = this.original;\r\n engine.min = this.min;\r\n engine.max = this.max;\r\n return engine\r\n }\r\n bounds(bounds) {\r\n bounds = bounds || [];\r\n var parameters = this.source();\r\n var min = this.min();\r\n var max = this.max();\r\n var b1 = parseAndClampArray([bounds[0], bounds[1]], min, max, min);\r\n var b2 = parseAndClampArray([bounds[2], bounds[3]], min, max, max);\r\n var p1 = parameters.to(b1);\r\n var p2 = parameters.to(b2);\r\n var delta = _min(_abs(p2[0] - p1[0]) > MIN_BOUNDS_RANGE ? _abs(p2[0] - p1[0]) : 2, _abs(p2[1] - p1[1]) > MIN_BOUNDS_RANGE ? _abs(p2[1] - p1[1]) : 2);\r\n if (delta < 2) {\r\n extend(parameters, createProjectUnprojectMethods(parameters.to, parameters.from, p1, p2, delta))\r\n }\r\n var engine = new Engine(parameters);\r\n engine.original = this.original;\r\n setMinMax(engine, b1, b2);\r\n return engine\r\n }\r\n};\r\n\r\nfunction invertVerticalAxis(pair) {\r\n return [pair[0], -pair[1]]\r\n}\r\n\r\nfunction createProjectMethod(method) {\r\n return arg => invertVerticalAxis(method(arg))\r\n}\r\n\r\nfunction createUnprojectMethod(method) {\r\n return arg => method(invertVerticalAxis(arg))\r\n}\r\n\r\nfunction returnValue(value) {\r\n return () => value\r\n}\r\n\r\nfunction returnArray(value) {\r\n return () => value.slice()\r\n}\r\n\r\nfunction findMinMax(p1, p2) {\r\n return {\r\n min: [_min(p1[0], p2[0]), _min(p1[1], p2[1])],\r\n max: [_max(p1[0], p2[0]), _max(p1[1], p2[1])]\r\n }\r\n}\r\nexport var projection = function(parameters) {\r\n return parameters && parameters.to ? new Engine(parameters) : null\r\n};\r\nvar projectionsCache = {};\r\nprojection.get = function(name) {\r\n return projectionsCache[name] || null\r\n};\r\nprojection.add = function(name, engine) {\r\n engine = engine instanceof Engine && engine || projection(engine);\r\n if (!projectionsCache[name] && engine) {\r\n projectionsCache[name] = engine\r\n }\r\n return projection\r\n};\r\n\r\nfunction createProjectUnprojectMethods(project, unproject, p1, p2, delta) {\r\n var x0 = (p1[0] + p2[0]) / 2 - delta / 2;\r\n var y0 = (p1[1] + p2[1]) / 2 - delta / 2;\r\n var k = 2 / delta;\r\n return {\r\n to: function(coordinates) {\r\n var [p0, p1] = project(coordinates);\r\n return [(p0 - x0) * k - 1, (p1 - y0) * k - 1]\r\n },\r\n from: function(coordinates) {\r\n return unproject([x0 + (coordinates[0] + 1) / k, y0 + (coordinates[1] + 1) / k])\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/vector_map/control_bar/utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var createTracker = (renderer, root) => renderer.g().attr({\r\n stroke: \"none\",\r\n \"stroke-width\": 0,\r\n fill: \"#000000\",\r\n opacity: 1e-4\r\n}).css({\r\n cursor: \"pointer\"\r\n}).append(root);\r\nexport var createVisibilityGroup = function(renderer, root) {\r\n var className = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : \"\";\r\n return renderer.g().attr({\r\n class: className\r\n }).append(root)\r\n};\r\nexport var toggleDisplay = (blocks, isVisible) => {\r\n var style = isVisible ? {\r\n display: \"block\"\r\n } : {\r\n display: \"none\"\r\n };\r\n blocks.map(item => item.css(style))\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/vector_map/control_bar/control_bar.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar _math = Math;\r\nvar _min = _math.min;\r\nvar _max = _math.max;\r\nvar _round = _math.round;\r\nvar _floor = _math.floor;\r\nvar _sqrt = _math.sqrt;\r\nimport {\r\n parseScalar as _parseScalar,\r\n enumParser\r\n} from \"../../core/utils\";\r\nimport {\r\n createTracker,\r\n createVisibilityGroup,\r\n toggleDisplay\r\n} from \"./utils\";\r\nvar parseHorizontalAlignment = enumParser([\"left\", \"center\", \"right\"]);\r\nvar parseVerticalAlignment = enumParser([\"top\", \"bottom\"]);\r\nvar COMMAND_RESET = \"command-reset\";\r\nvar COMMAND_MOVE_UP = \"command-move-up\";\r\nvar COMMAND_MOVE_RIGHT = \"command-move-right\";\r\nvar COMMAND_MOVE_DOWN = \"command-move-down\";\r\nvar COMMAND_MOVE_LEFT = \"command-move-left\";\r\nvar COMMAND_ZOOM_IN = \"command-zoom-in\";\r\nvar COMMAND_ZOOM_OUT = \"command-zoom-out\";\r\nvar COMMAND_ZOOM_DRAG_LINE = \"command-zoom-drag-line\";\r\nvar COMMAND_ZOOM_DRAG = \"command-zoom-drag\";\r\nvar EVENT_TARGET_TYPE = \"control-bar\";\r\nvar FLAG_CENTERING = 1;\r\nvar FLAG_ZOOMING = 2;\r\nvar SIZE_OPTIONS = {\r\n bigCircleSize: 58,\r\n smallCircleSize: 28,\r\n buttonSize: 10,\r\n arrowButtonOffset: 20,\r\n incDecButtonSize: 11,\r\n incButtonOffset: 66,\r\n decButtonOffset: 227,\r\n sliderLineStartOffset: 88.5,\r\n sliderLineEndOffset: 205.5,\r\n sliderLength: 20,\r\n sliderWidth: 8,\r\n trackerGap: 4\r\n};\r\nvar OFFSET_X = 30.5;\r\nvar OFFSET_Y = 30.5;\r\nvar TOTAL_WIDTH = 61;\r\nvar TOTAL_HEIGHT = 274;\r\nvar COMMAND_TO_TYPE_MAP = {};\r\nCOMMAND_TO_TYPE_MAP[COMMAND_RESET] = ResetCommand;\r\nCOMMAND_TO_TYPE_MAP[COMMAND_MOVE_UP] = COMMAND_TO_TYPE_MAP[COMMAND_MOVE_RIGHT] = COMMAND_TO_TYPE_MAP[COMMAND_MOVE_DOWN] = COMMAND_TO_TYPE_MAP[COMMAND_MOVE_LEFT] = MoveCommand;\r\nCOMMAND_TO_TYPE_MAP[COMMAND_ZOOM_IN] = COMMAND_TO_TYPE_MAP[COMMAND_ZOOM_OUT] = ZoomCommand;\r\nCOMMAND_TO_TYPE_MAP[COMMAND_ZOOM_DRAG] = ZoomDragCommand;\r\nexport function ControlBar(parameters) {\r\n this._params = parameters;\r\n this._createElements(parameters.renderer, parameters.container, parameters.dataKey);\r\n parameters.layoutControl.addItem(this);\r\n this._subscribeToProjection(parameters.projection);\r\n this._subscribeToTracker(parameters.tracker);\r\n this._createCallbacks(parameters.projection)\r\n}\r\nControlBar.prototype = {\r\n constructor: ControlBar,\r\n _flags: 0,\r\n dispose: function() {\r\n this._params.layoutControl.removeItem(this);\r\n this._root.linkRemove().linkOff();\r\n this._offProjection();\r\n this._offTracker();\r\n this._params = this._root = this._offProjection = this._offTracker = this._callbacks = null\r\n },\r\n _subscribeToProjection: function(projection) {\r\n var that = this;\r\n that._offProjection = projection.on({\r\n engine: function() {\r\n that._update()\r\n },\r\n zoom: updateZoom,\r\n \"max-zoom\": function() {\r\n that._zoomPartition = projection.getZoomScalePartition();\r\n that._sliderUnitLength = that._sliderLineLength / that._zoomPartition;\r\n updateZoom()\r\n }\r\n });\r\n\r\n function updateZoom() {\r\n that._adjustZoom(projection.getScaledZoom())\r\n }\r\n },\r\n _subscribeToTracker: function(tracker) {\r\n var that = this;\r\n var isActive = false;\r\n that._offTracker = tracker.on({\r\n start: function(arg) {\r\n isActive = arg.data.name === EVENT_TARGET_TYPE;\r\n if (isActive) {\r\n that._processStart(arg.data.index, arg)\r\n }\r\n },\r\n move: function(arg) {\r\n if (isActive) {\r\n that._processMove(arg.data.index, arg)\r\n }\r\n },\r\n end: function() {\r\n if (isActive) {\r\n that._processEnd();\r\n isActive = false\r\n }\r\n }\r\n })\r\n },\r\n _createCallbacks: function(projection) {\r\n this._callbacks = {\r\n reset: function(isCenter, isZoom) {\r\n if (isCenter) {\r\n projection.setCenter(null)\r\n }\r\n if (isZoom) {\r\n projection.setZoom(null)\r\n }\r\n },\r\n beginMove: function() {\r\n projection.beginMoveCenter()\r\n },\r\n endMove: function() {\r\n projection.endMoveCenter()\r\n },\r\n move: function(shift) {\r\n projection.moveCenter(shift)\r\n },\r\n zoom: function(_zoom) {\r\n projection.setScaledZoom(_zoom)\r\n }\r\n }\r\n },\r\n _createElements: function(renderer, container, dataKey) {\r\n this._root = renderer.g().attr({\r\n class: \"dxm-control-bar\"\r\n }).linkOn(container, \"control-bar\");\r\n var panControl = this._panControl = createVisibilityGroup(renderer, this._root, \"dxm-pan-control\");\r\n var zoomBar = this._zoomBar = createVisibilityGroup(renderer, this._root, \"dxm-zoom-bar\");\r\n var trackersPan = this._trackersPan = createTracker(renderer, this._root);\r\n var trackersZoom = this._trackersZoom = createTracker(renderer, this._root);\r\n this._createTrackersPan(renderer, dataKey, trackersPan);\r\n this._createTrackersZoom(renderer, dataKey, trackersZoom);\r\n this._createPanControl(renderer, dataKey, panControl);\r\n this._createZoomBar(renderer, dataKey, zoomBar)\r\n },\r\n _createPanControl: function(renderer, dataKey, group) {\r\n var options = SIZE_OPTIONS;\r\n var size = options.buttonSize / 2;\r\n var offset1 = options.arrowButtonOffset - size;\r\n var offset2 = options.arrowButtonOffset;\r\n var directionOptions = {\r\n \"stroke-linecap\": \"square\",\r\n fill: \"none\"\r\n };\r\n renderer.circle(0, 0, options.bigCircleSize / 2).append(group);\r\n renderer.circle(0, 0, size).attr({\r\n fill: \"none\"\r\n }).append(group);\r\n renderer.path([-size, -offset1, 0, -offset2, size, -offset1], \"line\").attr(directionOptions).append(group);\r\n renderer.path([offset1, -size, offset2, 0, offset1, size], \"line\").attr(directionOptions).append(group);\r\n renderer.path([size, offset1, 0, offset2, -size, offset1], \"line\").attr(directionOptions).append(group);\r\n renderer.path([-offset1, size, -offset2, 0, -offset1, -size], \"line\").attr(directionOptions).append(group)\r\n },\r\n _createZoomBar: function(renderer, dataKey, group) {\r\n var options = SIZE_OPTIONS;\r\n var incDecButtonSize = options.incDecButtonSize / 2;\r\n renderer.circle(0, options.incButtonOffset, options.smallCircleSize / 2).append(group);\r\n renderer.path([\r\n [-incDecButtonSize, options.incButtonOffset, incDecButtonSize, options.incButtonOffset],\r\n [0, options.incButtonOffset - incDecButtonSize, 0, options.incButtonOffset + incDecButtonSize]\r\n ], \"area\").append(group);\r\n renderer.circle(0, options.decButtonOffset, options.smallCircleSize / 2).append(group);\r\n renderer.path([-incDecButtonSize, options.decButtonOffset, incDecButtonSize, options.decButtonOffset], \"area\").append(group);\r\n this._zoomLine = renderer.path([], \"line\").append(group);\r\n this._zoomDrag = renderer.rect(_floor(-options.sliderLength / 2), _floor(options.sliderLineEndOffset - options.sliderWidth / 2), options.sliderLength, options.sliderWidth).append(group);\r\n this._sliderLineLength = options.sliderLineEndOffset - options.sliderLineStartOffset\r\n },\r\n _createTrackersPan: function(renderer, dataKey, group) {\r\n var options = SIZE_OPTIONS;\r\n var size = _round((options.arrowButtonOffset - options.trackerGap) / 2);\r\n var offset1 = options.arrowButtonOffset - size;\r\n var offset2 = _round(_sqrt(options.bigCircleSize * options.bigCircleSize / 4 - size * size));\r\n var size2 = offset2 - offset1;\r\n renderer.rect(-size, -size, 2 * size, 2 * size).data(dataKey, {\r\n index: COMMAND_RESET,\r\n name: EVENT_TARGET_TYPE\r\n }).append(group);\r\n renderer.rect(-size, -offset2, 2 * size, size2).data(dataKey, {\r\n index: COMMAND_MOVE_UP,\r\n name: EVENT_TARGET_TYPE\r\n }).append(group);\r\n renderer.rect(offset1, -size, size2, 2 * size).data(dataKey, {\r\n index: COMMAND_MOVE_RIGHT,\r\n name: EVENT_TARGET_TYPE\r\n }).append(group);\r\n renderer.rect(-size, offset1, 2 * size, size2).data(dataKey, {\r\n index: COMMAND_MOVE_DOWN,\r\n name: EVENT_TARGET_TYPE\r\n }).append(group);\r\n renderer.rect(-offset2, -size, size2, 2 * size).data(dataKey, {\r\n index: COMMAND_MOVE_LEFT,\r\n name: EVENT_TARGET_TYPE\r\n }).append(group)\r\n },\r\n _createTrackersZoom: function(renderer, dataKey, group) {\r\n var options = SIZE_OPTIONS;\r\n renderer.circle(0, options.incButtonOffset, options.smallCircleSize / 2).data(dataKey, {\r\n index: COMMAND_ZOOM_IN,\r\n name: EVENT_TARGET_TYPE\r\n }).append(group);\r\n renderer.circle(0, options.decButtonOffset, options.smallCircleSize / 2).data(dataKey, {\r\n index: COMMAND_ZOOM_OUT,\r\n name: EVENT_TARGET_TYPE\r\n }).append(group);\r\n renderer.rect(-2, options.sliderLineStartOffset - 2, 4, options.sliderLineEndOffset - options.sliderLineStartOffset + 4).css({\r\n cursor: \"default\"\r\n }).data(dataKey, {\r\n index: COMMAND_ZOOM_DRAG_LINE,\r\n name: EVENT_TARGET_TYPE\r\n }).append(group);\r\n this._zoomDragTracker = renderer.rect(-options.sliderLength / 2, options.sliderLineEndOffset - options.sliderWidth / 2, options.sliderLength, options.sliderWidth).data(dataKey, {\r\n index: COMMAND_ZOOM_DRAG,\r\n name: EVENT_TARGET_TYPE\r\n }).append(group)\r\n },\r\n resize: function(size) {\r\n if (this._isActive) {\r\n this._root.attr({\r\n visibility: null !== size ? null : \"hidden\"\r\n })\r\n }\r\n },\r\n getLayoutOptions: function() {\r\n return this._isActive ? this._layoutOptions : null\r\n },\r\n locate: function(x, y) {\r\n this._root.attr({\r\n translateX: x + this._margin + OFFSET_X,\r\n translateY: y + this._margin + OFFSET_Y\r\n })\r\n },\r\n _update: function() {\r\n this._isActive = this._isEnabled && this._flags && this._params.projection.isInvertible();\r\n var groupPan = [this._panControl, this._trackersPan];\r\n var groupZoom = [this._zoomBar, this._trackersZoom];\r\n if (this._isActive) {\r\n this._root.linkAppend();\r\n toggleDisplay(groupPan, this._isPanVisible);\r\n toggleDisplay(groupZoom, this._isZoomVisible)\r\n } else {\r\n this._root.linkRemove()\r\n }\r\n this._processEnd();\r\n this.updateLayout()\r\n },\r\n setInteraction: function(interaction) {\r\n if (_parseScalar(interaction.centeringEnabled, true)) {\r\n this._flags |= FLAG_CENTERING\r\n } else {\r\n this._flags &= ~FLAG_CENTERING\r\n }\r\n if (_parseScalar(interaction.zoomingEnabled, true)) {\r\n this._flags |= FLAG_ZOOMING\r\n } else {\r\n this._flags &= ~FLAG_ZOOMING\r\n }\r\n this._update()\r\n },\r\n setOptions: function(options) {\r\n var styleSvg = {\r\n \"stroke-width\": options.borderWidth,\r\n stroke: options.borderColor,\r\n fill: options.color,\r\n \"fill-opacity\": options.opacity\r\n };\r\n this._isEnabled = !!_parseScalar(options.enabled, true);\r\n this._margin = options.margin || 0;\r\n this._layoutOptions = {\r\n width: 2 * this._margin + TOTAL_WIDTH,\r\n height: 2 * this._margin + TOTAL_HEIGHT,\r\n horizontalAlignment: parseHorizontalAlignment(options.horizontalAlignment, \"left\"),\r\n verticalAlignment: parseVerticalAlignment(options.verticalAlignment, \"top\")\r\n };\r\n this._isPanVisible = !!_parseScalar(options.panVisible, true);\r\n this._isZoomVisible = !!_parseScalar(options.zoomVisible, true);\r\n this._panControl.attr(styleSvg);\r\n this._zoomBar.attr(styleSvg);\r\n this._update()\r\n },\r\n _adjustZoom: function(zoom) {\r\n var start = SIZE_OPTIONS.sliderLineStartOffset;\r\n var end = SIZE_OPTIONS.sliderLineEndOffset;\r\n var h = SIZE_OPTIONS.sliderWidth;\r\n this._zoomFactor = _max(_min(_round(zoom), this._zoomPartition), 0);\r\n var transform = {\r\n translateY: -_round(this._zoomFactor * this._sliderUnitLength)\r\n };\r\n var y = end - h / 2 + transform.translateY;\r\n this._zoomLine.attr({\r\n points: [\r\n [0, start, 0, _max(start, y)],\r\n [0, _min(end, y + h), 0, end]\r\n ]\r\n });\r\n this._zoomDrag.attr(transform);\r\n this._zoomDragTracker.attr(transform)\r\n },\r\n _applyZoom: function() {\r\n this._callbacks.zoom(this._zoomFactor)\r\n },\r\n _processStart: function(command, arg) {\r\n var commandType;\r\n if (this._isActive) {\r\n commandType = COMMAND_TO_TYPE_MAP[command];\r\n this._command = commandType && commandType.flags & this._flags ? new commandType(this, command, arg) : null\r\n }\r\n },\r\n _processMove: function(command, arg) {\r\n this._command && this._command.update(command, arg)\r\n },\r\n _processEnd: function() {\r\n this._command && this._command.finish();\r\n this._command = null\r\n }\r\n};\r\n\r\nfunction disposeCommand(command) {\r\n delete command._owner;\r\n command.update = function() {};\r\n command.finish = function() {}\r\n}\r\n\r\nfunction ResetCommand(owner, command) {\r\n this._owner = owner;\r\n this._command = command\r\n}\r\nResetCommand.flags = FLAG_CENTERING | FLAG_ZOOMING;\r\nResetCommand.prototype.update = function(command) {\r\n command !== this._command && disposeCommand(this)\r\n};\r\nResetCommand.prototype.finish = function() {\r\n var flags = this._owner._flags;\r\n this._owner._callbacks.reset(!!(flags & FLAG_CENTERING), !!(flags & FLAG_ZOOMING));\r\n disposeCommand(this)\r\n};\r\n\r\nfunction MoveCommand(owner, command, arg) {\r\n this._command = command;\r\n var timeout = null;\r\n var dx = 0;\r\n var dy = 0;\r\n switch (this._command) {\r\n case COMMAND_MOVE_UP:\r\n dy = -10;\r\n break;\r\n case COMMAND_MOVE_RIGHT:\r\n dx = 10;\r\n break;\r\n case COMMAND_MOVE_DOWN:\r\n dy = 10;\r\n break;\r\n case COMMAND_MOVE_LEFT:\r\n dx = -10\r\n }\r\n this._stop = function() {\r\n clearTimeout(timeout);\r\n owner._callbacks.endMove();\r\n this._stop = owner = null;\r\n return this\r\n };\r\n null;\r\n owner._callbacks.beginMove();\r\n ! function callback() {\r\n owner._callbacks.move([dx, dy]);\r\n timeout = setTimeout(callback, 100)\r\n }()\r\n}\r\nMoveCommand.flags = FLAG_CENTERING;\r\nMoveCommand.prototype.update = function(command) {\r\n this._command !== command && this.finish()\r\n};\r\nMoveCommand.prototype.finish = function() {\r\n disposeCommand(this._stop())\r\n};\r\n\r\nfunction ZoomCommand(owner, command) {\r\n this._owner = owner;\r\n this._command = command;\r\n var timeout = null;\r\n var dZoom = this._command === COMMAND_ZOOM_IN ? 1 : -1;\r\n this._stop = function() {\r\n clearTimeout(timeout);\r\n this._stop = owner = null;\r\n return this\r\n };\r\n ! function callback() {\r\n owner._adjustZoom(owner._zoomFactor + dZoom);\r\n timeout = setTimeout(callback, 150)\r\n }()\r\n}\r\nZoomCommand.flags = FLAG_ZOOMING;\r\nZoomCommand.prototype.update = function(command) {\r\n this._command !== command && this.finish()\r\n};\r\nZoomCommand.prototype.finish = function() {\r\n this._owner._applyZoom();\r\n disposeCommand(this._stop())\r\n};\r\n\r\nfunction ZoomDragCommand(owner, command, arg) {\r\n this._owner = owner;\r\n this._zoomFactor = owner._zoomFactor;\r\n this._pos = arg.y\r\n}\r\nZoomDragCommand.flags = FLAG_ZOOMING;\r\nZoomDragCommand.prototype.update = function(command, arg) {\r\n var owner = this._owner;\r\n owner._adjustZoom(this._zoomFactor + owner._zoomPartition * (this._pos - arg.y) / owner._sliderLineLength)\r\n};\r\nZoomDragCommand.prototype.finish = function() {\r\n this._owner._applyZoom();\r\n disposeCommand(this)\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/vector_map/gesture_handler.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar _ln = Math.log;\r\nvar _LN2 = Math.LN2;\r\nexport function GestureHandler(params) {\r\n this._projection = params.projection;\r\n this._renderer = params.renderer;\r\n this._x = this._y = 0;\r\n this._subscribeToTracker(params.tracker)\r\n}\r\nGestureHandler.prototype = {\r\n constructor: GestureHandler,\r\n dispose: function() {\r\n this._offTracker();\r\n this._offTracker = null\r\n },\r\n _subscribeToTracker: function(tracker) {\r\n var that = this;\r\n var isActive = false;\r\n that._offTracker = tracker.on({\r\n start: function(arg) {\r\n isActive = \"control-bar\" !== arg.data.name;\r\n if (isActive) {\r\n that._processStart(arg)\r\n }\r\n },\r\n move: function(arg) {\r\n if (isActive) {\r\n that._processMove(arg)\r\n }\r\n },\r\n end: function() {\r\n if (isActive) {\r\n that._processEnd()\r\n }\r\n },\r\n zoom: function(arg) {\r\n that._processZoom(arg)\r\n }\r\n })\r\n },\r\n setInteraction: function(options) {\r\n this._processEnd();\r\n this._centeringEnabled = options.centeringEnabled;\r\n this._zoomingEnabled = options.zoomingEnabled\r\n },\r\n _processStart: function(arg) {\r\n if (this._centeringEnabled) {\r\n this._x = arg.x;\r\n this._y = arg.y;\r\n this._projection.beginMoveCenter()\r\n }\r\n },\r\n _processMove: function(arg) {\r\n if (this._centeringEnabled) {\r\n this._renderer.root.attr({\r\n cursor: \"move\"\r\n });\r\n this._projection.moveCenter([this._x - arg.x, this._y - arg.y]);\r\n this._x = arg.x;\r\n this._y = arg.y\r\n }\r\n },\r\n _processEnd: function() {\r\n if (this._centeringEnabled) {\r\n this._renderer.root.attr({\r\n cursor: \"default\"\r\n });\r\n this._projection.endMoveCenter()\r\n }\r\n },\r\n _processZoom: function(arg) {\r\n var delta;\r\n var screenPosition;\r\n var coords;\r\n if (this._zoomingEnabled) {\r\n if (arg.delta) {\r\n delta = arg.delta\r\n } else if (arg.ratio) {\r\n delta = _ln(arg.ratio) / _LN2\r\n }\r\n if (this._centeringEnabled) {\r\n screenPosition = this._renderer.getRootOffset();\r\n screenPosition = [arg.x - screenPosition.left, arg.y - screenPosition.top];\r\n coords = this._projection.fromScreenPoint(screenPosition)\r\n }\r\n this._projection.changeScaledZoom(delta);\r\n if (this._centeringEnabled) {\r\n this._projection.setCenterByPoint(coords, screenPosition)\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/vector_map/tracker.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n getNavigator,\r\n hasProperty\r\n} from \"../../core/utils/window\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n makeEventEmitter\r\n} from \"./event_emitter\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n name as wheelEventName\r\n} from \"../../events/core/wheel\";\r\nimport {\r\n parseScalar\r\n} from \"../core/utils\";\r\nvar navigator = getNavigator();\r\nvar _math = Math;\r\nvar _abs = _math.abs;\r\nvar _sqrt = _math.sqrt;\r\nvar _round = _math.round;\r\nvar _addNamespace = addNamespace;\r\nvar _NAME = \"dxVectorMap\";\r\nvar EVENT_START = \"start\";\r\nvar EVENT_MOVE = \"move\";\r\nvar EVENT_END = \"end\";\r\nvar EVENT_ZOOM = \"zoom\";\r\nvar EVENT_HOVER_ON = \"hover-on\";\r\nvar EVENT_HOVER_OFF = \"hover-off\";\r\nvar EVENT_CLICK = \"click\";\r\nvar EVENT_FOCUS_ON = \"focus-on\";\r\nvar EVENT_FOCUS_MOVE = \"focus-move\";\r\nvar EVENT_FOCUS_OFF = \"focus-off\";\r\nvar CLICK_TIME_THRESHOLD = 500;\r\nvar CLICK_COORD_THRESHOLD_MOUSE = 5;\r\nvar CLICK_COORD_THRESHOLD_TOUCH = 20;\r\nvar DRAG_COORD_THRESHOLD_MOUSE = 5;\r\nvar DRAG_COORD_THRESHOLD_TOUCH = 10;\r\nvar FOCUS_OFF_DELAY = 100;\r\nvar WHEEL_COOLDOWN = 50;\r\nvar WHEEL_DIRECTION_COOLDOWN = 300;\r\nvar EVENTS;\r\nvar Focus;\r\nsetupEvents();\r\nexport function Tracker(parameters) {\r\n var that = this;\r\n that._root = parameters.root;\r\n that._createEventHandlers(parameters.dataKey);\r\n that._createProjectionHandlers(parameters.projection);\r\n that._initEvents();\r\n that._focus = new Focus((function(name, arg) {\r\n that._fire(name, arg)\r\n }));\r\n that._attachHandlers()\r\n}\r\nTracker.prototype = {\r\n constructor: Tracker,\r\n dispose: function() {\r\n this._detachHandlers();\r\n this._disposeEvents();\r\n this._focus.dispose();\r\n this._root = this._focus = this._docHandlers = this._rootHandlers = null\r\n },\r\n _eventNames: [EVENT_START, EVENT_MOVE, EVENT_END, EVENT_ZOOM, EVENT_CLICK, EVENT_HOVER_ON, EVENT_HOVER_OFF, EVENT_FOCUS_ON, EVENT_FOCUS_OFF, EVENT_FOCUS_MOVE],\r\n _startClick: function(event, data) {\r\n if (!data) {\r\n return\r\n }\r\n var coords = getEventCoords(event);\r\n this._clickState = {\r\n x: coords.x,\r\n y: coords.y,\r\n threshold: isTouchEvent(event) ? CLICK_COORD_THRESHOLD_TOUCH : CLICK_COORD_THRESHOLD_MOUSE,\r\n time: Date.now()\r\n }\r\n },\r\n _endClick: function(event, data) {\r\n var state = this._clickState;\r\n var threshold;\r\n var coords;\r\n if (!state) {\r\n return\r\n }\r\n if (data && Date.now() - state.time <= CLICK_TIME_THRESHOLD) {\r\n threshold = state.threshold;\r\n coords = getEventCoords(event);\r\n if (_abs(coords.x - state.x) <= threshold && _abs(coords.y - state.y) <= threshold) {\r\n this._fire(EVENT_CLICK, {\r\n data: data,\r\n x: coords.x,\r\n y: coords.y,\r\n $event: event\r\n })\r\n }\r\n }\r\n this._clickState = null\r\n },\r\n _startDrag: function(event, data) {\r\n if (!data) {\r\n return\r\n }\r\n var coords = getEventCoords(event);\r\n var state = this._dragState = {\r\n x: coords.x,\r\n y: coords.y,\r\n data: data\r\n };\r\n this._fire(EVENT_START, {\r\n x: state.x,\r\n y: state.y,\r\n data: state.data\r\n })\r\n },\r\n _moveDrag: function(event, data) {\r\n var state = this._dragState;\r\n if (!state) {\r\n return\r\n }\r\n var coords = getEventCoords(event);\r\n var threshold = isTouchEvent(event) ? DRAG_COORD_THRESHOLD_TOUCH : DRAG_COORD_THRESHOLD_MOUSE;\r\n if (state.active || _abs(coords.x - state.x) > threshold || _abs(coords.y - state.y) > threshold) {\r\n state.x = coords.x;\r\n state.y = coords.y;\r\n state.active = true;\r\n state.data = data || {};\r\n this._fire(EVENT_MOVE, {\r\n x: state.x,\r\n y: state.y,\r\n data: state.data\r\n })\r\n }\r\n },\r\n _endDrag: function() {\r\n var state = this._dragState;\r\n if (!state) {\r\n return\r\n }\r\n this._dragState = null;\r\n this._fire(EVENT_END, {\r\n x: state.x,\r\n y: state.y,\r\n data: state.data\r\n })\r\n },\r\n _wheelZoom: function(event, data) {\r\n if (!data) {\r\n return\r\n }\r\n var lock = this._wheelLock;\r\n var time = Date.now();\r\n if (time - lock.time <= WHEEL_COOLDOWN) {\r\n return\r\n }\r\n if (time - lock.dirTime > WHEEL_DIRECTION_COOLDOWN) {\r\n lock.dir = 0\r\n }\r\n var delta = adjustWheelDelta(event.delta / 120 || 0, lock);\r\n if (0 === delta) {\r\n return\r\n }\r\n var coords = getEventCoords(event);\r\n this._fire(EVENT_ZOOM, {\r\n delta: delta,\r\n x: coords.x,\r\n y: coords.y\r\n });\r\n lock.time = lock.dirTime = time\r\n },\r\n _startZoom: function(event, data) {\r\n if (!isTouchEvent(event) || !data) {\r\n return\r\n }\r\n var state = this._zoomState = this._zoomState || {};\r\n var coords;\r\n var pointer2;\r\n if (state.pointer1 && state.pointer2) {\r\n return\r\n }\r\n if (void 0 === state.pointer1) {\r\n state.pointer1 = getPointerId(event) || 0;\r\n coords = getMultitouchEventCoords(event, state.pointer1);\r\n state.x1 = state.x1_0 = coords.x;\r\n state.y1 = state.y1_0 = coords.y\r\n }\r\n if (void 0 === state.pointer2) {\r\n pointer2 = getPointerId(event) || 1;\r\n if (pointer2 !== state.pointer1) {\r\n coords = getMultitouchEventCoords(event, pointer2);\r\n if (coords) {\r\n state.x2 = state.x2_0 = coords.x;\r\n state.y2 = state.y2_0 = coords.y;\r\n state.pointer2 = pointer2;\r\n state.ready = true;\r\n this._endDrag()\r\n }\r\n }\r\n }\r\n },\r\n _moveZoom: function(event) {\r\n var state = this._zoomState;\r\n var coords;\r\n if (!state || !isTouchEvent(event)) {\r\n return\r\n }\r\n if (void 0 !== state.pointer1) {\r\n coords = getMultitouchEventCoords(event, state.pointer1);\r\n if (coords) {\r\n state.x1 = coords.x;\r\n state.y1 = coords.y\r\n }\r\n }\r\n if (void 0 !== state.pointer2) {\r\n coords = getMultitouchEventCoords(event, state.pointer2);\r\n if (coords) {\r\n state.x2 = coords.x;\r\n state.y2 = coords.y\r\n }\r\n }\r\n },\r\n _endZoom: function(event) {\r\n var state = this._zoomState;\r\n var startDistance;\r\n var currentDistance;\r\n if (!state || !isTouchEvent(event)) {\r\n return\r\n }\r\n if (state.ready) {\r\n startDistance = getDistance(state.x1_0, state.y1_0, state.x2_0, state.y2_0);\r\n currentDistance = getDistance(state.x1, state.y1, state.x2, state.y2);\r\n this._fire(EVENT_ZOOM, {\r\n ratio: currentDistance / startDistance,\r\n x: (state.x1_0 + state.x2_0) / 2,\r\n y: (state.y1_0 + state.y2_0) / 2\r\n })\r\n }\r\n this._zoomState = null\r\n },\r\n _startHover: function(event, data) {\r\n this._doHover(event, data, true)\r\n },\r\n _moveHover: function(event, data) {\r\n this._doHover(event, data, false)\r\n },\r\n _doHover: function(event, data, isTouch) {\r\n if (this._dragState && this._dragState.active || this._zoomState && this._zoomState.ready) {\r\n this._cancelHover();\r\n return\r\n }\r\n if (isTouchEvent(event) !== isTouch || this._hoverTarget === event.target || this._hoverState && this._hoverState.data === data) {\r\n return\r\n }\r\n this._cancelHover();\r\n if (data) {\r\n this._hoverState = {\r\n data: data\r\n };\r\n this._fire(EVENT_HOVER_ON, {\r\n data: data\r\n })\r\n }\r\n this._hoverTarget = event.target\r\n },\r\n _cancelHover: function() {\r\n var state = this._hoverState;\r\n this._hoverState = this._hoverTarget = null;\r\n if (state) {\r\n this._fire(EVENT_HOVER_OFF, {\r\n data: state.data\r\n })\r\n }\r\n },\r\n _startFocus: function(event, data) {\r\n this._doFocus(event, data, true)\r\n },\r\n _moveFocus: function(event, data) {\r\n this._doFocus(event, data, false)\r\n },\r\n _doFocus: function(event, data, isTouch) {\r\n if (this._dragState && this._dragState.active || this._zoomState && this._zoomState.ready) {\r\n this._cancelFocus();\r\n return\r\n }\r\n if (isTouchEvent(event) !== isTouch) {\r\n return\r\n }\r\n this._focus.turnOff();\r\n data && this._focus.turnOn(data, getEventCoords(event))\r\n },\r\n _cancelFocus: function() {\r\n this._focus.cancel()\r\n },\r\n _createEventHandlers: function(DATA_KEY) {\r\n var that = this;\r\n that._docHandlers = {};\r\n that._rootHandlers = {};\r\n that._docHandlers[EVENTS.start] = function(event) {\r\n var isTouch = isTouchEvent(event);\r\n var data = getData(event);\r\n if (isTouch && !that._isTouchEnabled) {\r\n return\r\n }\r\n if (data) {\r\n event.preventDefault()\r\n }\r\n that._startClick(event, data);\r\n that._startDrag(event, data);\r\n that._startZoom(event, data);\r\n that._startHover(event, data);\r\n that._startFocus(event, data)\r\n };\r\n that._docHandlers[EVENTS.move] = function(event) {\r\n var isTouch = isTouchEvent(event);\r\n var data = getData(event);\r\n if (isTouch && !that._isTouchEnabled) {\r\n return\r\n }\r\n that._moveDrag(event, data);\r\n that._moveZoom(event, data);\r\n that._moveHover(event, data);\r\n that._moveFocus(event, data)\r\n };\r\n that._docHandlers[EVENTS.end] = function(event) {\r\n var isTouch = isTouchEvent(event);\r\n var data = getData(event);\r\n if (isTouch && !that._isTouchEnabled) {\r\n return\r\n }\r\n that._endClick(event, data);\r\n that._endDrag(event, data);\r\n that._endZoom(event, data)\r\n };\r\n that._rootHandlers[EVENTS.wheel] = function(event) {\r\n that._cancelFocus();\r\n if (!that._isWheelEnabled) {\r\n return\r\n }\r\n var data = getData(event);\r\n if (data) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n that._wheelZoom(event, data)\r\n }\r\n };\r\n that._wheelLock = {\r\n dir: 0\r\n };\r\n\r\n function getData(event) {\r\n var target = event.target;\r\n return (\"tspan\" === target.tagName ? target.parentNode : target)[DATA_KEY]\r\n }\r\n },\r\n _createProjectionHandlers: function(projection) {\r\n var that = this;\r\n projection.on({\r\n center: handler,\r\n zoom: handler\r\n });\r\n\r\n function handler() {\r\n that._cancelFocus()\r\n }\r\n },\r\n reset: function() {\r\n this._clickState = null;\r\n this._endDrag();\r\n this._cancelHover();\r\n this._cancelFocus()\r\n },\r\n setOptions: function(options) {\r\n this.reset();\r\n this._detachHandlers();\r\n this._isTouchEnabled = !!parseScalar(options.touchEnabled, true);\r\n this._isWheelEnabled = !!parseScalar(options.wheelEnabled, true);\r\n this._attachHandlers()\r\n },\r\n _detachHandlers: function() {\r\n if (this._isTouchEnabled) {\r\n this._root.css({\r\n \"touch-action\": \"\",\r\n \"-webkit-user-select\": \"\"\r\n }).off(_addNamespace(\"MSHoldVisual\", _NAME)).off(_addNamespace(\"contextmenu\", _NAME))\r\n }\r\n eventsEngine.off(domAdapter.getDocument(), this._docHandlers);\r\n this._root.off(this._rootHandlers)\r\n },\r\n _attachHandlers: function() {\r\n if (this._isTouchEnabled) {\r\n this._root.css({\r\n \"touch-action\": \"none\",\r\n \"-webkit-user-select\": \"none\"\r\n }).on(_addNamespace(\"MSHoldVisual\", _NAME), (function(event) {\r\n event.preventDefault()\r\n })).on(_addNamespace(\"contextmenu\", _NAME), (function(event) {\r\n isTouchEvent(event) && event.preventDefault()\r\n }))\r\n }\r\n eventsEngine.on(domAdapter.getDocument(), this._docHandlers);\r\n this._root.on(this._rootHandlers)\r\n }\r\n};\r\nFocus = function(fire) {\r\n var that = this;\r\n var _activeData = null;\r\n var _data = null;\r\n var _disabled = false;\r\n var _offTimer = null;\r\n var _x;\r\n var _y;\r\n that.dispose = function() {\r\n clearTimeout(_offTimer);\r\n that.turnOn = that.turnOff = that.cancel = that.dispose = that = fire = _activeData = _data = _offTimer = null\r\n };\r\n that.turnOn = function(data, coords) {\r\n if (data === _data && _disabled) {\r\n return\r\n }\r\n _disabled = false;\r\n _data = data;\r\n if (_activeData) {\r\n _x = coords.x;\r\n _y = coords.y;\r\n if (_data === _activeData) {\r\n fire(EVENT_FOCUS_MOVE, {\r\n data: _data,\r\n x: _x,\r\n y: _y\r\n });\r\n onCheck(true)\r\n } else {\r\n fire(EVENT_FOCUS_ON, {\r\n data: _data,\r\n x: _x,\r\n y: _y,\r\n done: onCheck\r\n })\r\n }\r\n } else {\r\n _x = coords.x;\r\n _y = coords.y;\r\n fire(EVENT_FOCUS_ON, {\r\n data: _data,\r\n x: _x,\r\n y: _y,\r\n done: onCheck\r\n })\r\n }\r\n\r\n function onCheck(result) {\r\n _disabled = !result;\r\n if (result) {\r\n _activeData = _data;\r\n clearTimeout(_offTimer);\r\n _offTimer = null\r\n }\r\n }\r\n };\r\n that.turnOff = function() {\r\n _data = null;\r\n if (_activeData && !_disabled) {\r\n _offTimer = _offTimer || setTimeout((function() {\r\n _offTimer = null;\r\n fire(EVENT_FOCUS_OFF, {\r\n data: _activeData\r\n });\r\n _activeData = null\r\n }), FOCUS_OFF_DELAY)\r\n }\r\n };\r\n that.cancel = function() {\r\n clearTimeout(_offTimer);\r\n if (_activeData) {\r\n fire(EVENT_FOCUS_OFF, {\r\n data: _activeData\r\n })\r\n }\r\n _activeData = _data = _offTimer = null\r\n }\r\n};\r\nmakeEventEmitter(Tracker);\r\n\r\nfunction getDistance(x1, y1, x2, y2) {\r\n return _sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2))\r\n}\r\n\r\nfunction isTouchEvent(event) {\r\n var type = event.originalEvent.type;\r\n var pointerType = event.originalEvent.pointerType;\r\n return /^touch/.test(type) || /^MSPointer/.test(type) && 4 !== pointerType || /^pointer/.test(type) && \"mouse\" !== pointerType\r\n}\r\n\r\nfunction selectItem(flags, items) {\r\n var i = 0;\r\n var ii = flags.length;\r\n var item;\r\n for (; i < ii; ++i) {\r\n if (flags[i]) {\r\n item = items[i];\r\n break\r\n }\r\n }\r\n return _addNamespace(item || items[i], _NAME)\r\n}\r\n\r\nfunction setupEvents() {\r\n var flags = [navigator.pointerEnabled, navigator.msPointerEnabled, hasProperty(\"ontouchstart\")];\r\n EVENTS = {\r\n start: selectItem(flags, [\"pointerdown\", \"MSPointerDown\", \"touchstart mousedown\", \"mousedown\"]),\r\n move: selectItem(flags, [\"pointermove\", \"MSPointerMove\", \"touchmove mousemove\", \"mousemove\"]),\r\n end: selectItem(flags, [\"pointerup\", \"MSPointerUp\", \"touchend mouseup\", \"mouseup\"]),\r\n wheel: _addNamespace(wheelEventName, _NAME)\r\n }\r\n}\r\n\r\nfunction getEventCoords(event) {\r\n var originalEvent = event.originalEvent;\r\n var touch = originalEvent.touches && originalEvent.touches[0] || {};\r\n return {\r\n x: touch.pageX || originalEvent.pageX || event.pageX,\r\n y: touch.pageY || originalEvent.pageY || event.pageY\r\n }\r\n}\r\n\r\nfunction getPointerId(event) {\r\n return event.originalEvent.pointerId\r\n}\r\n\r\nfunction getMultitouchEventCoords(event, pointerId) {\r\n var originalEvent = event.originalEvent;\r\n if (void 0 !== originalEvent.pointerId) {\r\n originalEvent = originalEvent.pointerId === pointerId ? originalEvent : null\r\n } else {\r\n originalEvent = originalEvent.touches[pointerId]\r\n }\r\n return originalEvent ? {\r\n x: originalEvent.pageX || event.pageX,\r\n y: originalEvent.pageY || event.pageY\r\n } : null\r\n}\r\n\r\nfunction adjustWheelDelta(delta, lock) {\r\n if (0 === delta) {\r\n return 0\r\n }\r\n var _delta = _abs(delta);\r\n var sign = _round(delta / _delta);\r\n if (lock.dir && sign !== lock.dir) {\r\n return 0\r\n }\r\n lock.dir = sign;\r\n if (_delta < .1) {\r\n _delta = 0\r\n } else if (_delta < 1) {\r\n _delta = 1\r\n } else if (_delta > 4) {\r\n _delta = 4\r\n } else {\r\n _delta = _round(_delta)\r\n }\r\n return sign * _delta\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/vector_map/data_exchanger.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nexport function DataExchanger() {\r\n this._store = {}\r\n}\r\nDataExchanger.prototype = {\r\n constructor: DataExchanger,\r\n dispose: function() {\r\n this._store = null;\r\n return this\r\n },\r\n _get: function(category, name) {\r\n var store = this._store[category] || (this._store[category] = {});\r\n return store[name] || (store[name] = {\r\n callbacks: Callbacks()\r\n })\r\n },\r\n set: function(category, name, data) {\r\n var item = this._get(category, name);\r\n item.data = data;\r\n item.callbacks.fire(data);\r\n return this\r\n },\r\n bind: function(category, name, callback) {\r\n var item = this._get(category, name);\r\n item.callbacks.add(callback);\r\n item.data && callback(item.data);\r\n return this\r\n },\r\n unbind: function(category, name, callback) {\r\n var item = this._get(category, name);\r\n item.callbacks.remove(callback);\r\n return this\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/vector_map/legend.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n clone\r\n} from \"../../core/utils/object\";\r\nvar _extend = extend;\r\nvar _each = each;\r\nimport {\r\n Legend as _BaseLegend\r\n} from \"../components/legend\";\r\nvar unknownSource = {\r\n category: \"UNKNOWN\",\r\n name: \"UNKNOWN\"\r\n};\r\n\r\nfunction buildData(partition, values, field) {\r\n var i;\r\n var ii = values.length;\r\n var list = [];\r\n var item;\r\n for (i = 0; i < ii; ++i) {\r\n list[i] = item = {\r\n start: partition[i],\r\n end: partition[i + 1],\r\n index: i\r\n };\r\n item[field] = values[i];\r\n item.states = {\r\n normal: {\r\n fill: item.color\r\n }\r\n };\r\n item.visible = true\r\n }\r\n return list\r\n}\r\nvar Legend = function(parameters) {\r\n var that = this;\r\n that._params = parameters;\r\n that._root = parameters.renderer.g().attr({\r\n class: \"dxm-legend\"\r\n }).linkOn(parameters.container, {\r\n name: \"legend\",\r\n after: \"legend-base\"\r\n }).enableLinks().linkAppend();\r\n parameters.layoutControl.addItem(that);\r\n _BaseLegend.call(that, {\r\n renderer: parameters.renderer,\r\n widget: parameters.widget,\r\n group: that._root,\r\n backgroundClass: null,\r\n itemsGroupClass: null,\r\n textField: \"text\",\r\n getFormatObject: function(data) {\r\n return data\r\n }\r\n });\r\n that._onDataChanged = function(data) {\r\n that._updateData(data)\r\n }\r\n};\r\nLegend.prototype = _extend(clone(_BaseLegend.prototype), {\r\n constructor: Legend,\r\n dispose: function() {\r\n var that = this;\r\n that._params.layoutControl.removeItem(that);\r\n that._unbindData();\r\n that._root.linkRemove().linkOff();\r\n that._params = that._root = that._onDataChanged = null;\r\n return _BaseLegend.prototype.dispose.apply(that, arguments)\r\n },\r\n resize: function(size) {\r\n this._params.notifyDirty();\r\n if (null === size) {\r\n this.erase()\r\n } else {\r\n this.draw(size.width, size.height)\r\n }\r\n this._params.notifyReady()\r\n },\r\n locate: _BaseLegend.prototype.shift,\r\n _updateData: function(data) {\r\n this._options.defaultColor = data && data.defaultColor;\r\n this.update(data ? buildData(data.partition, data.values, this._dataName) : [], this._options, this._params.themeManager.theme(\"legend\").title);\r\n this.updateLayout()\r\n },\r\n _unbindData: function() {\r\n if (this._dataCategory) {\r\n this._params.dataExchanger.unbind(this._dataCategory, this._dataName, this._onDataChanged)\r\n }\r\n },\r\n _bindData: function(arg) {\r\n this._params.dataExchanger.bind(this._dataCategory = arg.category, this._dataName = arg.name, this._onDataChanged)\r\n },\r\n setOptions: function(options) {\r\n this.update(this._data, options, this._params.themeManager.theme(\"legend\").title);\r\n this._unbindData();\r\n var source = options.source;\r\n this._bindData(source ? {\r\n category: source.layer,\r\n name: source.grouping\r\n } : unknownSource);\r\n this.updateLayout();\r\n return this\r\n }\r\n});\r\nexport function LegendsControl(parameters) {\r\n this._params = parameters;\r\n this._items = [];\r\n parameters.container.virtualLink(\"legend-base\")\r\n}\r\nLegendsControl.prototype = {\r\n constructor: LegendsControl,\r\n dispose: function() {\r\n _each(this._items, (function(_, item) {\r\n item.dispose()\r\n }));\r\n this._params = this._items = null\r\n },\r\n setOptions: function(options) {\r\n var optionList = options && options.length ? options : [];\r\n var items = this._items;\r\n var i;\r\n var ii = optionList.length;\r\n var params = this._params;\r\n var theme = params.themeManager.theme(\"legend\");\r\n for (i = items.length; i < ii; ++i) {\r\n items[i] = new Legend(params)\r\n }\r\n for (i = items.length - 1; i >= ii; --i) {\r\n items[i].dispose();\r\n items.splice(i, 1)\r\n }\r\n params.layoutControl.suspend();\r\n for (i = 0; i < ii; ++i) {\r\n items[i].setOptions(_extend(true, {}, theme, optionList[i]))\r\n }\r\n params.layoutControl.resume()\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/vector_map/layout.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nvar _round = Math.round;\r\nvar _min = Math.min;\r\nvar _max = Math.max;\r\nvar _each = each;\r\nvar horizontalAlignmentMap = {\r\n left: 0,\r\n center: 1,\r\n right: 2\r\n};\r\nvar verticalAlignmentMap = {\r\n top: 0,\r\n bottom: 1\r\n};\r\n\r\nfunction getCellIndex(options) {\r\n return 3 * verticalAlignmentMap[options.verticalAlignment] + horizontalAlignmentMap[options.horizontalAlignment]\r\n}\r\n\r\nfunction createCells(canvas, items) {\r\n var hStep = (canvas.right - canvas.left) / 3;\r\n var vStep = (canvas.bottom - canvas.top) / 2;\r\n var h1 = canvas.left;\r\n var h2 = _round(h1 + hStep);\r\n var h3 = _round(h1 + hStep + hStep);\r\n var h4 = canvas.right;\r\n var v1 = canvas.top;\r\n var v2 = _round(v1 + vStep);\r\n var v3 = canvas.bottom;\r\n var cells = [{\r\n rect: [h1, v1, h2, v2]\r\n }, {\r\n rect: [h2, v1, h3, v2],\r\n center: true\r\n }, {\r\n rect: [h3, v1, h4, v2],\r\n horInversion: true\r\n }, {\r\n rect: [h1, v2, h2, v3],\r\n verInversion: true\r\n }, {\r\n rect: [h2, v2, h3, v3],\r\n center: true,\r\n verInversion: true\r\n }, {\r\n rect: [h3, v2, h4, v3],\r\n horInversion: true,\r\n verInversion: true\r\n }];\r\n var itemsList = [\r\n [],\r\n [],\r\n [],\r\n [],\r\n [],\r\n []\r\n ];\r\n _each(items, (function(_, item) {\r\n var options = item.getLayoutOptions();\r\n if (options) {\r\n itemsList[getCellIndex(options)].push({\r\n item: item,\r\n width: options.width,\r\n height: options.height\r\n })\r\n }\r\n }));\r\n _each(cells, (function(i, cell) {\r\n if (itemsList[i].length) {\r\n cell.items = itemsList[i]\r\n } else {\r\n if (cell.center) {\r\n cell.rect[0] = cell.rect[2] = (cell.rect[0] + cell.rect[2]) / 2\r\n } else {\r\n cell.rect[cell.horInversion ? 0 : 2] = cell.rect[cell.horInversion ? 2 : 0]\r\n }\r\n cell.rect[cell.verInversion ? 1 : 3] = cell.rect[cell.verInversion ? 3 : 1]\r\n }\r\n }));\r\n return cells\r\n}\r\n\r\nfunction adjustCellSizes(cells) {\r\n _each([0, 1, 2, 3, 4, 5], (function(_, index) {\r\n var cell = cells[index];\r\n var otherCell = cells[(index + 3) % 6];\r\n if (cell.items) {\r\n if (!otherCell.items) {\r\n cell.rect[1] = _min(cell.rect[1], otherCell.rect[3]);\r\n cell.rect[3] = _max(cell.rect[3], otherCell.rect[1])\r\n }\r\n }\r\n }));\r\n _each([1, 4], (function(_, index) {\r\n var cell = cells[index];\r\n var otherCell1 = cells[index - 1];\r\n var otherCell2 = cells[index + 1];\r\n var size1;\r\n var size2;\r\n if (cell.items) {\r\n if (!otherCell1.items && !otherCell2.items) {\r\n size1 = cell.rect[0] - otherCell1.rect[2];\r\n size2 = otherCell2.rect[0] - cell.rect[2];\r\n if (size1 > size2) {\r\n if (size1 / size2 >= 2) {\r\n cell.rect[0] -= size1;\r\n cell.right = true\r\n } else {\r\n cell.rect[0] -= size2;\r\n cell.rect[2] += size2\r\n }\r\n } else if (size2 / size1 >= 2) {\r\n cell.rect[2] += size2;\r\n cell.center = null\r\n } else {\r\n cell.rect[0] -= size1;\r\n cell.rect[2] += size1\r\n }\r\n }\r\n } else {\r\n if (otherCell1.items) {\r\n otherCell1.rect[2] = (cell.rect[0] + cell.rect[2]) / 2\r\n }\r\n if (otherCell2.items) {\r\n otherCell2.rect[0] = (cell.rect[0] + cell.rect[2]) / 2\r\n }\r\n }\r\n }))\r\n}\r\n\r\nfunction adjustCellsAndApplyLayout(cells, forceMode) {\r\n var hasHiddenItems = false;\r\n adjustCellSizes(cells);\r\n _each(cells, (function(_, cell) {\r\n if (cell.items) {\r\n hasHiddenItems = applyCellLayout(cell, forceMode) || hasHiddenItems\r\n }\r\n }));\r\n return hasHiddenItems\r\n}\r\n\r\nfunction applyCellLayout(cell, forceMode) {\r\n var cellRect = cell.rect;\r\n var cellWidth = cellRect[2] - cellRect[0];\r\n var cellHeight = cellRect[3] - cellRect[1];\r\n var xOffset = 0;\r\n var yOffset = 0;\r\n var currentHeight = 0;\r\n var totalL = cellRect[2];\r\n var totalT = cellRect[3];\r\n var totalR = cellRect[0];\r\n var totalB = cellRect[1];\r\n var moves = [];\r\n var hasHiddenItems = false;\r\n _each(cell.items, (function(_, item) {\r\n if (item.width > cellWidth || item.height > cellHeight) {\r\n moves.push(null);\r\n hasHiddenItems = true;\r\n return forceMode || false\r\n }\r\n if (xOffset + item.width > cellWidth) {\r\n yOffset += currentHeight;\r\n xOffset = currentHeight = 0\r\n }\r\n if (yOffset + item.height > cellHeight) {\r\n moves.push(null);\r\n hasHiddenItems = true;\r\n return forceMode || false\r\n }\r\n currentHeight = _max(currentHeight, item.height);\r\n var dx = cell.horInversion ? cellRect[2] - item.width - xOffset : cellRect[0] + xOffset;\r\n var dy = cell.verInversion ? cellRect[3] - item.height - yOffset : cellRect[1] + yOffset;\r\n xOffset += item.width;\r\n totalL = _min(totalL, dx);\r\n totalT = _min(totalT, dy);\r\n totalR = _max(totalR, dx + item.width);\r\n totalB = _max(totalB, dy + item.height);\r\n moves.push([dx, dy])\r\n }));\r\n if (forceMode || !hasHiddenItems) {\r\n xOffset = 0;\r\n if (cell.right) {\r\n xOffset = cellRect[2] - cellRect[0] - totalR + totalL\r\n } else if (cell.center) {\r\n xOffset = _round((cellRect[2] - cellRect[0] - totalR + totalL) / 2)\r\n }\r\n _each(cell.items, (function(i, item) {\r\n var move = moves[i];\r\n if (move) {\r\n item.item.locate(move[0] + xOffset, move[1])\r\n } else {\r\n item.item.resize(null)\r\n }\r\n }));\r\n cell.rect = [totalL, totalT, totalR, totalB];\r\n cell.items = null\r\n }\r\n return hasHiddenItems\r\n}\r\n\r\nfunction applyLayout(canvas, items) {\r\n var cells = createCells(canvas, items);\r\n if (adjustCellsAndApplyLayout(cells)) {\r\n adjustCellsAndApplyLayout(cells, true)\r\n }\r\n}\r\nexport function LayoutControl(widget) {\r\n var that = this;\r\n that._items = [];\r\n that._suspended = 0;\r\n that._widget = widget;\r\n that._updateLayout = function() {\r\n that._update()\r\n }\r\n}\r\nLayoutControl.prototype = {\r\n constructor: LayoutControl,\r\n dispose: function() {\r\n this._items = this._updateLayout = null\r\n },\r\n setSize: function(canvas) {\r\n this._canvas = canvas;\r\n this._update()\r\n },\r\n suspend: function() {\r\n ++this._suspended\r\n },\r\n resume: function() {\r\n if (0 === --this._suspended) {\r\n this._update()\r\n }\r\n },\r\n addItem: function(item) {\r\n this._items.push(item);\r\n item.updateLayout = this._updateLayout\r\n },\r\n removeItem: function(item) {\r\n var index = this._items.indexOf(item);\r\n this._items.splice(index, 1);\r\n item.updateLayout = null\r\n },\r\n _update: function() {\r\n var canvas;\r\n if (0 === this._suspended) {\r\n canvas = this._canvas;\r\n _each(this._items, (function(_, item) {\r\n item.resize(canvas)\r\n }));\r\n this._widget.resolveItemsDeferred(this._items.filter(el => el.getTemplatesGroups && el.getTemplatesDef));\r\n applyLayout({\r\n left: canvas.left,\r\n top: canvas.top,\r\n right: canvas.width + canvas.left,\r\n bottom: canvas.height + canvas.top\r\n }, this._items)\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/vector_map/map_layer.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport DataHelperMixin from \"../../data_helper\";\r\nimport {\r\n isFunction as _isFunction,\r\n isDefined as _isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n parseScalar as _parseScalar,\r\n patchFontOptions as _patchFontOptions,\r\n normalizeEnum as _normalizeEnum\r\n} from \"../core/utils\";\r\nvar _noop = noop;\r\nvar _extend = extend;\r\nvar _each = each;\r\nvar _concat = Array.prototype.concat;\r\nvar TYPE_AREA = \"area\";\r\nvar TYPE_LINE = \"line\";\r\nvar TYPE_MARKER = \"marker\";\r\nvar STATE_DEFAULT = 0;\r\nvar STATE_HOVERED = 1;\r\nvar STATE_SELECTED = 2;\r\nvar STATE_TO_INDEX = [0, 1, 2, 2];\r\nvar TOLERANCE = 1;\r\nvar SELECTIONS = {\r\n none: null,\r\n single: -1,\r\n multiple: NaN\r\n};\r\nvar _isArray = Array.isArray;\r\nvar _Number = Number;\r\nvar _String = String;\r\nvar _abs = Math.abs;\r\nvar _round = Math.round;\r\nvar _min = Math.min;\r\nvar _max = Math.max;\r\nvar _sqrt = Math.sqrt;\r\nexport function getMaxBound(arr) {\r\n return arr.reduce((a, c) => c ? [_min(a[0], c[0]), _min(a[1], c[1]), _max(a[2], c[2]), _max(a[3], c[3])] : a, arr[0])\r\n}\r\n\r\nfunction getSelection(selectionMode) {\r\n var selection = _normalizeEnum(selectionMode);\r\n selection = selection in SELECTIONS ? SELECTIONS[selection] : SELECTIONS.single;\r\n if (null !== selection) {\r\n selection = {\r\n state: {},\r\n single: selection\r\n }\r\n }\r\n return selection\r\n}\r\n\r\nfunction getName(opt, index) {\r\n return (opt[index] || {}).name\r\n}\r\n\r\nfunction EmptySource() {}\r\nEmptySource.prototype.count = function() {\r\n return 0\r\n};\r\n\r\nfunction ArraySource(raw) {\r\n this.raw = raw\r\n}\r\nArraySource.prototype = {\r\n constructor: ArraySource,\r\n count: function() {\r\n return this.raw.length\r\n },\r\n item: function(index) {\r\n return this.raw[index]\r\n },\r\n geometry: function(item) {\r\n return {\r\n coordinates: item.coordinates\r\n }\r\n },\r\n attributes: function(item) {\r\n return item.attributes\r\n },\r\n getBBox: function(index) {\r\n return 0 === arguments.length ? void 0 : this.raw[index].bbox\r\n }\r\n};\r\n\r\nfunction GeoJsonSource(raw) {\r\n this.raw = raw\r\n}\r\nGeoJsonSource.prototype = {\r\n constructor: GeoJsonSource,\r\n count: function() {\r\n return this.raw.features.length\r\n },\r\n item: function(index) {\r\n return this.raw.features[index]\r\n },\r\n geometry: function(item) {\r\n return item.geometry\r\n },\r\n attributes: function(item) {\r\n return item.properties\r\n },\r\n getBBox: function(index) {\r\n return 0 === arguments.length ? this.raw.bbox : this.raw.features[index].bbox\r\n }\r\n};\r\n\r\nfunction isGeoJsonObject(obj) {\r\n return _isArray(obj.features)\r\n}\r\n\r\nfunction unwrapFromDataSource(source) {\r\n var sourceType;\r\n if (source) {\r\n if (isGeoJsonObject(source)) {\r\n sourceType = GeoJsonSource\r\n } else if (1 === source.length && source[0] && isGeoJsonObject(source[0])) {\r\n sourceType = GeoJsonSource;\r\n source = source[0]\r\n } else if (_isArray(source)) {\r\n sourceType = ArraySource\r\n }\r\n }\r\n sourceType = sourceType || EmptySource;\r\n return new sourceType(source)\r\n}\r\n\r\nfunction wrapToDataSource(option) {\r\n return option ? isGeoJsonObject(option) ? [option] : option : []\r\n}\r\n\r\nfunction customizeHandles(proxies, callback, widget) {\r\n callback.call(widget, proxies)\r\n}\r\n\r\nfunction setAreaLabelVisibility(label) {\r\n label.text.attr({\r\n visibility: label.size[0] / label.spaceSize[0] < TOLERANCE && label.size[1] / label.spaceSize[1] < TOLERANCE ? null : \"hidden\"\r\n })\r\n}\r\n\r\nfunction setLineLabelVisibility(label) {\r\n label.text.attr({\r\n visibility: label.size[0] / label.spaceSize[0] < TOLERANCE || label.size[1] / label.spaceSize[1] < TOLERANCE ? null : \"hidden\"\r\n })\r\n}\r\n\r\nfunction getDataValue(proxy, dataField) {\r\n return proxy.attribute(dataField)\r\n}\r\nvar TYPE_TO_TYPE_MAP = {\r\n Point: TYPE_MARKER,\r\n MultiPoint: TYPE_LINE,\r\n LineString: TYPE_LINE,\r\n MultiLineString: TYPE_LINE,\r\n Polygon: TYPE_AREA,\r\n MultiPolygon: TYPE_AREA\r\n};\r\n\r\nfunction pick(a, b) {\r\n return void 0 !== a ? a : b\r\n}\r\n\r\nfunction guessTypeByData(sample) {\r\n var type = TYPE_TO_TYPE_MAP[sample.type];\r\n var coordinates = sample.coordinates;\r\n if (!type) {\r\n if (\"number\" === typeof coordinates[0]) {\r\n type = TYPE_MARKER\r\n } else if (\"number\" === typeof coordinates[0][0]) {\r\n type = TYPE_LINE\r\n } else {\r\n type = TYPE_AREA\r\n }\r\n }\r\n return type\r\n}\r\nvar emptyStrategy = {\r\n setup: _noop,\r\n reset: _noop,\r\n arrange: _noop,\r\n updateGrouping: _noop,\r\n getDefaultColor: _noop\r\n};\r\nvar strategiesByType = {};\r\nvar strategiesByGeometry = {};\r\nvar strategiesByElementType = {};\r\nvar groupByColor;\r\nvar groupBySize;\r\nvar selectStrategy = function(options, data) {\r\n var type = _normalizeEnum(options.type);\r\n var elementType = _normalizeEnum(options.elementType);\r\n var sample;\r\n var strategy = _extend({}, emptyStrategy);\r\n if (data.count() > 0) {\r\n sample = data.geometry(data.item(0));\r\n type = strategiesByType[type] ? type : guessTypeByData(sample);\r\n _extend(strategy, strategiesByType[type]);\r\n strategy.fullType = strategy.type = type;\r\n if (strategiesByGeometry[type]) {\r\n _extend(strategy, strategiesByGeometry[type](sample))\r\n }\r\n if (strategiesByElementType[type]) {\r\n elementType = strategiesByElementType[type][elementType] ? elementType : strategiesByElementType[type]._default;\r\n _extend(strategy, strategiesByElementType[type][elementType]);\r\n strategy.elementType = elementType;\r\n strategy.fullType += \":\" + elementType\r\n }\r\n }\r\n return strategy\r\n};\r\n\r\nfunction applyElementState(figure, styles, state, field) {\r\n figure[field].attr(styles[field][state])\r\n}\r\nstrategiesByType[TYPE_AREA] = {\r\n projectLabel: projectAreaLabel,\r\n transform: transformPointList,\r\n transformLabel: transformAreaLabel,\r\n draw: function(context, figure, data) {\r\n figure.root = context.renderer.path([], \"area\").data(context.dataKey, data)\r\n },\r\n refresh: _noop,\r\n getLabelOffset: function(label) {\r\n setAreaLabelVisibility(label);\r\n return [0, 0]\r\n },\r\n getStyles: function(settings) {\r\n var color = settings.color || null;\r\n var borderColor = settings.borderColor || null;\r\n var borderWidth = pick(settings.borderWidth, null);\r\n var opacity = pick(settings.opacity, null);\r\n return {\r\n root: [{\r\n class: \"dxm-area\",\r\n stroke: borderColor,\r\n \"stroke-width\": borderWidth,\r\n fill: color,\r\n opacity: opacity\r\n }, {\r\n class: \"dxm-area dxm-area-hovered\",\r\n stroke: settings.hoveredBorderColor || borderColor,\r\n \"stroke-width\": pick(settings.hoveredBorderWidth, borderWidth),\r\n fill: settings.hoveredColor || color,\r\n opacity: pick(settings.hoveredOpacity, opacity)\r\n }, {\r\n class: \"dxm-area dxm-area-selected\",\r\n stroke: settings.selectedBorderColor || borderColor,\r\n \"stroke-width\": pick(settings.selectedBorderWidth, borderWidth),\r\n fill: settings.selectedColor || color,\r\n opacity: pick(settings.selectedOpacity, opacity)\r\n }]\r\n }\r\n },\r\n setState: function(figure, styles, state) {\r\n applyElementState(figure, styles, state, \"root\")\r\n },\r\n hasLabelsGroup: true,\r\n updateGrouping: function(context) {\r\n groupByColor(context)\r\n },\r\n getDefaultColor: _noop\r\n};\r\nstrategiesByType[TYPE_LINE] = {\r\n projectLabel: projectLineLabel,\r\n transform: transformPointList,\r\n transformLabel: transformLineLabel,\r\n draw: function(context, figure, data) {\r\n figure.root = context.renderer.path([], \"line\").data(context.dataKey, data)\r\n },\r\n refresh: _noop,\r\n getLabelOffset: function(label) {\r\n setLineLabelVisibility(label);\r\n return [0, 0]\r\n },\r\n getStyles: function(settings) {\r\n var color = settings.color || settings.borderColor || null;\r\n var width = pick(settings.borderWidth, null);\r\n var opacity = pick(settings.opacity, null);\r\n return {\r\n root: [{\r\n class: \"dxm-line\",\r\n stroke: color,\r\n \"stroke-width\": width,\r\n opacity: opacity\r\n }, {\r\n class: \"dxm-line dxm-line-hovered\",\r\n stroke: settings.hoveredColor || settings.hoveredBorderColor || color,\r\n \"stroke-width\": pick(settings.hoveredBorderWidth, width),\r\n opacity: pick(settings.hoveredOpacity, opacity)\r\n }, {\r\n class: \"dxm-line dxm-line-selected\",\r\n stroke: settings.selectedColor || settings.selectedBorderColor || color,\r\n \"stroke-width\": pick(settings.selectedBorderWidth, width),\r\n opacity: pick(settings.selectedOpacity, opacity)\r\n }]\r\n }\r\n },\r\n setState: function(figure, styles, state) {\r\n applyElementState(figure, styles, state, \"root\")\r\n },\r\n hasLabelsGroup: true,\r\n updateGrouping: function(context) {\r\n groupByColor(context)\r\n },\r\n getDefaultColor: _noop\r\n};\r\nstrategiesByType[TYPE_MARKER] = {\r\n project: projectPoint,\r\n transform: transformPoint,\r\n draw: function(context, figure, data) {\r\n figure.root = context.renderer.g();\r\n this._draw(context, figure, data)\r\n },\r\n refresh: _noop,\r\n hasLabelsGroup: false,\r\n getLabelOffset: function(label, settings) {\r\n return [_round((label.size[0] + _max(settings.size || 0, 0)) / 2) + 2, 0]\r\n },\r\n getStyles: function(settings) {\r\n var styles = {\r\n root: [{\r\n class: \"dxm-marker\"\r\n }, {\r\n class: \"dxm-marker dxm-marker-hovered\"\r\n }, {\r\n class: \"dxm-marker dxm-marker-selected\"\r\n }]\r\n };\r\n this._getStyles(styles, settings);\r\n return styles\r\n },\r\n setState: function(figure, styles, state) {\r\n applyElementState(figure, styles, state, \"root\");\r\n this._setState(figure, styles, state)\r\n },\r\n updateGrouping: function(context) {\r\n groupByColor(context);\r\n groupBySize(context)\r\n },\r\n getDefaultColor: function(ctx, palette) {\r\n return ctx.params.themeManager.getAccentColor(palette)\r\n }\r\n};\r\nstrategiesByGeometry[TYPE_AREA] = function(sample) {\r\n return {\r\n project: (projection, coordinates) => coordinates[0] && coordinates[0][0] && coordinates[0][0][0] && \"number\" === typeof coordinates[0][0][0][0] ? projectMultiPolygon(projection, coordinates) : projectPolygon(projection, coordinates)\r\n }\r\n};\r\nstrategiesByGeometry[TYPE_LINE] = function(sample) {\r\n var coordinates = sample.coordinates;\r\n return {\r\n project: coordinates[0] && coordinates[0][0] && \"number\" === typeof coordinates[0][0][0] ? projectPolygon : projectLineString\r\n }\r\n};\r\nstrategiesByElementType[TYPE_MARKER] = {\r\n _default: \"dot\",\r\n dot: {\r\n setup: function(context) {\r\n context.filter = context.renderer.shadowFilter(\"-40%\", \"-40%\", \"180%\", \"200%\", 0, 1, 1, \"#000000\", .2)\r\n },\r\n reset: function(context) {\r\n context.filter.dispose();\r\n context.filter = null\r\n },\r\n _draw: function(ctx, figure, data) {\r\n figure.back = ctx.renderer.circle().sharp().data(ctx.dataKey, data).append(figure.root);\r\n figure.dot = ctx.renderer.circle().sharp().data(ctx.dataKey, data).append(figure.root)\r\n },\r\n refresh: function(ctx, figure, data, proxy, settings) {\r\n figure.dot.attr({\r\n filter: settings.shadow ? ctx.filter.id : null\r\n })\r\n },\r\n _getStyles: function(styles, style) {\r\n var size = style.size > 0 ? _Number(style.size) : 0;\r\n var hoveredSize = size;\r\n var selectedSize = size + (style.selectedStep > 0 ? _Number(style.selectedStep) : 0);\r\n var hoveredBackSize = hoveredSize + (style.backStep > 0 ? _Number(style.backStep) : 0);\r\n var selectedBackSize = selectedSize + (style.backStep > 0 ? _Number(style.backStep) : 0);\r\n var color = style.color || null;\r\n var borderColor = style.borderColor || null;\r\n var borderWidth = pick(style.borderWidth, null);\r\n var opacity = pick(style.opacity, null);\r\n var backColor = style.backColor || null;\r\n var backOpacity = pick(style.backOpacity, null);\r\n styles.dot = [{\r\n r: size / 2,\r\n stroke: borderColor,\r\n \"stroke-width\": borderWidth,\r\n fill: color,\r\n opacity: opacity\r\n }, {\r\n r: hoveredSize / 2,\r\n stroke: style.hoveredBorderColor || borderColor,\r\n \"stroke-width\": pick(style.hoveredBorderWidth, borderWidth),\r\n fill: style.hoveredColor || color,\r\n opacity: pick(style.hoveredOpacity, opacity)\r\n }, {\r\n r: selectedSize / 2,\r\n stroke: style.selectedBorderColor || borderColor,\r\n \"stroke-width\": pick(style.selectedBorderWidth, borderWidth),\r\n fill: style.selectedColor || color,\r\n opacity: pick(style.selectedOpacity, opacity)\r\n }];\r\n styles.back = [{\r\n r: size / 2,\r\n stroke: \"none\",\r\n \"stroke-width\": 0,\r\n fill: backColor,\r\n opacity: backOpacity\r\n }, {\r\n r: hoveredBackSize / 2,\r\n stroke: \"none\",\r\n \"stroke-width\": 0,\r\n fill: backColor,\r\n opacity: backOpacity\r\n }, {\r\n r: selectedBackSize / 2,\r\n stroke: \"none\",\r\n \"stroke-width\": 0,\r\n fill: backColor,\r\n opacity: backOpacity\r\n }]\r\n },\r\n _setState: function(figure, styles, state) {\r\n applyElementState(figure, styles, state, \"dot\");\r\n applyElementState(figure, styles, state, \"back\")\r\n }\r\n },\r\n bubble: {\r\n _draw: function(ctx, figure, data) {\r\n figure.bubble = ctx.renderer.circle().sharp().data(ctx.dataKey, data).append(figure.root)\r\n },\r\n refresh: function(ctx, figure, data, proxy, settings) {\r\n figure.bubble.attr({\r\n r: settings.size / 2\r\n })\r\n },\r\n _getStyles: function(styles, style) {\r\n var color = style.color || null;\r\n var borderColor = style.borderColor || null;\r\n var borderWidth = pick(style.borderWidth, null);\r\n var opacity = pick(style.opacity, null);\r\n styles.bubble = [{\r\n stroke: borderColor,\r\n \"stroke-width\": borderWidth,\r\n fill: color,\r\n opacity: opacity\r\n }, {\r\n stroke: style.hoveredBorderColor || borderColor,\r\n \"stroke-width\": pick(style.hoveredBorderWidth, borderWidth),\r\n fill: style.hoveredColor || style.color,\r\n opacity: pick(style.hoveredOpacity, opacity)\r\n }, {\r\n stroke: style.selectedBorderColor || borderColor,\r\n \"stroke-width\": pick(style.selectedBorderWidth, borderWidth),\r\n fill: style.selectedColor || style.color,\r\n opacity: pick(style.selectedOpacity, opacity)\r\n }]\r\n },\r\n _setState: function(figure, styles, state) {\r\n applyElementState(figure, styles, state, \"bubble\")\r\n },\r\n arrange: function(context, handles) {\r\n var values = [];\r\n var i;\r\n var ii = values.length = handles.length;\r\n var settings = context.settings;\r\n var dataField = settings.dataField;\r\n var minSize = settings.minSize > 0 ? _Number(settings.minSize) : 0;\r\n var maxSize = settings.maxSize > minSize ? _Number(settings.maxSize) : minSize;\r\n if (settings.sizeGroups) {\r\n return\r\n }\r\n for (i = 0; i < ii; ++i) {\r\n values[i] = _max(getDataValue(handles[i].proxy, dataField) || 0, 0)\r\n }\r\n var minValue = _min.apply(null, values);\r\n var maxValue = _max.apply(null, values);\r\n var deltaValue = maxValue - minValue || 1;\r\n var deltaSize = maxSize - minSize;\r\n for (i = 0; i < ii; ++i) {\r\n handles[i]._settings.size = minSize + deltaSize * (values[i] - minValue) / deltaValue\r\n }\r\n },\r\n updateGrouping: function(context) {\r\n var dataField = context.settings.dataField;\r\n strategiesByType[TYPE_MARKER].updateGrouping(context);\r\n groupBySize(context, (function(proxy) {\r\n return getDataValue(proxy, dataField)\r\n }))\r\n }\r\n },\r\n pie: {\r\n _draw: function(ctx, figure, data) {\r\n figure.pie = ctx.renderer.g().append(figure.root);\r\n figure.border = ctx.renderer.circle().sharp().data(ctx.dataKey, data).append(figure.root)\r\n },\r\n refresh: function(ctx, figure, data, proxy, settings) {\r\n var values = getDataValue(proxy, ctx.settings.dataField) || [];\r\n var colors = settings._colors;\r\n var sum = 0;\r\n var pie = figure.pie;\r\n var renderer = ctx.renderer;\r\n var dataKey = ctx.dataKey;\r\n var r = (settings.size > 0 ? _Number(settings.size) : 0) / 2;\r\n var start = 90;\r\n var end = start;\r\n var zeroSum = false;\r\n sum = values.reduce((function(total, item) {\r\n return total + (item || 0)\r\n }), 0);\r\n if (0 === sum) {\r\n zeroSum = true;\r\n sum = 360 / values.length\r\n }\r\n values.forEach((function(item, i) {\r\n start = end;\r\n end += zeroSum ? sum : (item || 0) / sum * 360;\r\n renderer.arc(0, 0, 0, r, start, end).attr({\r\n \"stroke-linejoin\": \"round\",\r\n fill: colors[i]\r\n }).data(dataKey, data).append(pie)\r\n }));\r\n figure.border.attr({\r\n r: r\r\n })\r\n },\r\n _getStyles: function(styles, style) {\r\n var opacity = pick(style.opacity, null);\r\n var borderColor = style.borderColor || null;\r\n var borderWidth = pick(style.borderWidth, null);\r\n styles.pie = [{\r\n opacity: opacity\r\n }, {\r\n opacity: pick(style.hoveredOpacity, opacity)\r\n }, {\r\n opacity: pick(style.selectedOpacity, opacity)\r\n }];\r\n styles.border = [{\r\n stroke: borderColor,\r\n \"stroke-width\": borderWidth\r\n }, {\r\n stroke: style.hoveredBorderColor || borderColor,\r\n \"stroke-width\": pick(style.hoveredBorderWidth, borderWidth)\r\n }, {\r\n stroke: style.selectedBorderColor || borderColor,\r\n \"stroke-width\": pick(style.selectedBorderWidth, borderWidth)\r\n }]\r\n },\r\n _setState: function(figure, styles, state) {\r\n applyElementState(figure, styles, state, \"pie\");\r\n applyElementState(figure, styles, state, \"border\")\r\n },\r\n arrange: function(context, handles) {\r\n var i;\r\n var ii = handles.length;\r\n var dataField = context.settings.dataField;\r\n var values;\r\n var count = 0;\r\n var palette;\r\n for (i = 0; i < ii; ++i) {\r\n values = getDataValue(handles[i].proxy, dataField);\r\n if (values && values.length > count) {\r\n count = values.length\r\n }\r\n }\r\n if (count > 0) {\r\n palette = context.params.themeManager.createPalette(context.settings.palette, {\r\n useHighlight: true,\r\n extensionMode: \"alternate\"\r\n });\r\n values = palette.generateColors(count);\r\n context.settings._colors = values;\r\n context.grouping.color = {\r\n callback: _noop,\r\n field: \"\",\r\n partition: [],\r\n values: []\r\n };\r\n context.params.dataExchanger.set(context.name, \"color\", {\r\n partition: [],\r\n values: values\r\n })\r\n }\r\n }\r\n },\r\n image: {\r\n _draw: function(ctx, figure, data) {\r\n figure.image = ctx.renderer.image(null, null, null, null, null, \"center\").attr({\r\n \"pointer-events\": \"visible\"\r\n }).data(ctx.dataKey, data).append(figure.root)\r\n },\r\n refresh: function(ctx, figure, data, proxy) {\r\n figure.image.attr({\r\n href: getDataValue(proxy, ctx.settings.dataField)\r\n })\r\n },\r\n _getStyles: function(styles, style) {\r\n var size = style.size > 0 ? _Number(style.size) : 0;\r\n var hoveredSize = size + (style.hoveredStep > 0 ? _Number(style.hoveredStep) : 0);\r\n var selectedSize = size + (style.selectedStep > 0 ? _Number(style.selectedStep) : 0);\r\n var opacity = pick(style.opacity, null);\r\n styles.image = [{\r\n x: -size / 2,\r\n y: -size / 2,\r\n width: size,\r\n height: size,\r\n opacity: opacity\r\n }, {\r\n x: -hoveredSize / 2,\r\n y: -hoveredSize / 2,\r\n width: hoveredSize,\r\n height: hoveredSize,\r\n opacity: pick(style.hoveredOpacity, opacity)\r\n }, {\r\n x: -selectedSize / 2,\r\n y: -selectedSize / 2,\r\n width: selectedSize,\r\n height: selectedSize,\r\n opacity: pick(style.selectedOpacity, opacity)\r\n }]\r\n },\r\n _setState: function(figure, styles, state) {\r\n applyElementState(figure, styles, state, \"image\")\r\n }\r\n }\r\n};\r\n\r\nfunction projectPoint(projection, coordinates) {\r\n return projection.project(coordinates)\r\n}\r\n\r\nfunction projectPointList(projection, coordinates) {\r\n var output = [];\r\n var i;\r\n var ii = output.length = coordinates.length;\r\n for (i = 0; i < ii; ++i) {\r\n output[i] = projection.project(coordinates[i])\r\n }\r\n return output\r\n}\r\n\r\nfunction projectLineString(projection, coordinates) {\r\n return [projectPointList(projection, coordinates)]\r\n}\r\n\r\nfunction projectPolygon(projection, coordinates) {\r\n var output = [];\r\n var i;\r\n var ii = output.length = coordinates.length;\r\n for (i = 0; i < ii; ++i) {\r\n output[i] = projectPointList(projection, coordinates[i])\r\n }\r\n return output\r\n}\r\n\r\nfunction projectMultiPolygon(projection, coordinates) {\r\n var output = [];\r\n var i;\r\n var ii = output.length = coordinates.length;\r\n for (i = 0; i < ii; ++i) {\r\n output[i] = projectPolygon(projection, coordinates[i])\r\n }\r\n return _concat.apply([], output)\r\n}\r\n\r\nfunction transformPoint(content, projection, coordinates) {\r\n var data = projection.transform(coordinates);\r\n content.root.attr({\r\n translateX: data[0],\r\n translateY: data[1]\r\n })\r\n}\r\n\r\nfunction transformList(projection, coordinates) {\r\n var output = [];\r\n var i;\r\n var ii = coordinates.length;\r\n var item;\r\n var k = 0;\r\n output.length = 2 * ii;\r\n for (i = 0; i < ii; ++i) {\r\n item = projection.transform(coordinates[i]);\r\n output[k++] = item[0];\r\n output[k++] = item[1]\r\n }\r\n return output\r\n}\r\n\r\nfunction transformPointList(content, projection, coordinates) {\r\n var output = [];\r\n var i;\r\n var ii = output.length = coordinates.length;\r\n for (i = 0; i < ii; ++i) {\r\n output[i] = transformList(projection, coordinates[i])\r\n }\r\n content.root.attr({\r\n points: output\r\n })\r\n}\r\n\r\nfunction transformAreaLabel(label, projection, coordinates) {\r\n var data = projection.transform(coordinates[0]);\r\n label.spaceSize = projection.getSquareSize(coordinates[1]);\r\n label.text.attr({\r\n translateX: data[0],\r\n translateY: data[1]\r\n });\r\n setAreaLabelVisibility(label)\r\n}\r\n\r\nfunction transformLineLabel(label, projection, coordinates) {\r\n var data = projection.transform(coordinates[0]);\r\n label.spaceSize = projection.getSquareSize(coordinates[1]);\r\n label.text.attr({\r\n translateX: data[0],\r\n translateY: data[1]\r\n });\r\n setLineLabelVisibility(label)\r\n}\r\n\r\nfunction getItemSettings(context, proxy, settings) {\r\n var result = combineSettings(context.settings, settings);\r\n applyGrouping(context.grouping, proxy, result);\r\n if (void 0 === settings.color && settings.paletteIndex >= 0) {\r\n result.color = result._colors[settings.paletteIndex]\r\n }\r\n return result\r\n}\r\n\r\nfunction applyGrouping(grouping, proxy, settings) {\r\n _each(grouping, (function(name, data) {\r\n var index = findGroupingIndex(data.callback(proxy, data.field), data.partition);\r\n if (index >= 0) {\r\n settings[name] = data.values[index]\r\n }\r\n }))\r\n}\r\n\r\nfunction findGroupingIndex(value, partition) {\r\n var start = 0;\r\n var end = partition.length - 1;\r\n var index = -1;\r\n var middle;\r\n if (partition[start] <= value && value <= partition[end]) {\r\n if (value === partition[end]) {\r\n index = end - 1\r\n } else {\r\n while (end - start > 1) {\r\n middle = start + end >> 1;\r\n if (value < partition[middle]) {\r\n end = middle\r\n } else {\r\n start = middle\r\n }\r\n }\r\n index = start\r\n }\r\n }\r\n return index\r\n}\r\n\r\nfunction raiseChanged(context, handle, state, name) {\r\n context.params.eventTrigger(name, {\r\n target: handle.proxy,\r\n state: state\r\n })\r\n}\r\n\r\nfunction combineSettings(common, partial) {\r\n var obj = _extend({}, common, partial);\r\n obj.label = _extend({}, common.label, obj.label);\r\n obj.label.font = _extend({}, common.label.font, obj.label.font);\r\n return obj\r\n}\r\n\r\nfunction processCommonSettings(context, options) {\r\n var themeManager = context.params.themeManager;\r\n var strategy = context.str;\r\n var settings = combineSettings(_extend({\r\n label: {},\r\n color: strategy.getDefaultColor(context, options.palette)\r\n }, themeManager.theme(\"layer:\" + strategy.fullType)), options);\r\n var colors;\r\n var i;\r\n var palette;\r\n if (settings.paletteSize > 0) {\r\n palette = themeManager.createDiscretePalette(settings.palette, settings.paletteSize);\r\n for (i = 0, colors = []; i < settings.paletteSize; ++i) {\r\n colors.push(palette.getColor(i))\r\n }\r\n settings._colors = colors\r\n }\r\n return settings\r\n}\r\n\r\nfunction valueCallback(proxy, dataField) {\r\n return proxy.attribute(dataField)\r\n}\r\nvar performGrouping = function(context, partition, settingField, dataField, valuesCallback) {\r\n var values;\r\n if (dataField && partition && partition.length > 1) {\r\n values = valuesCallback(partition.length - 1);\r\n context.grouping[settingField] = {\r\n callback: _isFunction(dataField) ? dataField : valueCallback,\r\n field: dataField,\r\n partition: partition,\r\n values: values\r\n };\r\n context.params.dataExchanger.set(context.name, settingField, {\r\n partition: partition,\r\n values: values,\r\n defaultColor: context.settings.color\r\n })\r\n }\r\n};\r\n\r\nfunction dropGrouping(context) {\r\n var name = context.name;\r\n var dataExchanger = context.params.dataExchanger;\r\n _each(context.grouping, (function(field) {\r\n dataExchanger.set(name, field, null)\r\n }));\r\n context.grouping = {}\r\n}\r\ngroupByColor = function(context) {\r\n performGrouping(context, context.settings.colorGroups, \"color\", context.settings.colorGroupingField, (function(count) {\r\n var _palette = context.params.themeManager.createDiscretePalette(context.settings.palette, count);\r\n var i;\r\n var list = [];\r\n for (i = 0; i < count; ++i) {\r\n list.push(_palette.getColor(i))\r\n }\r\n return list\r\n }))\r\n};\r\ngroupBySize = function(context, valueCallback) {\r\n var settings = context.settings;\r\n performGrouping(context, settings.sizeGroups, \"size\", valueCallback || settings.sizeGroupingField, (function(count) {\r\n var minSize = settings.minSize > 0 ? _Number(settings.minSize) : 0;\r\n var maxSize = settings.maxSize >= minSize ? _Number(settings.maxSize) : 0;\r\n var i = 0;\r\n var sizes = [];\r\n if (count > 1) {\r\n for (i = 0; i < count; ++i) {\r\n sizes.push((minSize * (count - i - 1) + maxSize * i) / (count - 1))\r\n }\r\n } else if (1 === count) {\r\n sizes.push((minSize + maxSize) / 2)\r\n }\r\n return sizes\r\n }))\r\n};\r\n\r\nfunction setFlag(flags, flag, state) {\r\n if (state) {\r\n flags |= flag\r\n } else {\r\n flags &= ~flag\r\n }\r\n return flags\r\n}\r\n\r\nfunction hasFlag(flags, flag) {\r\n return !!(flags & flag)\r\n}\r\n\r\nfunction createLayerProxy(layer, name, index) {\r\n var proxy = {\r\n index: index,\r\n name: name,\r\n getElements: function() {\r\n return layer.getProxies()\r\n },\r\n clearSelection: function(_noEvent) {\r\n layer.clearSelection(_noEvent);\r\n return proxy\r\n },\r\n getDataSource: function() {\r\n return layer.getDataSource()\r\n },\r\n getBounds: () => layer.getBounds()\r\n };\r\n return proxy\r\n}\r\nvar MapLayerElement;\r\nvar MapLayer = function(params, container, name, index) {\r\n this._params = params;\r\n this._onProjection();\r\n this.proxy = createLayerProxy(this, name, index);\r\n this._context = {\r\n name: name,\r\n layer: this.proxy,\r\n renderer: params.renderer,\r\n projection: params.projection,\r\n params: params,\r\n dataKey: params.dataKey,\r\n str: emptyStrategy,\r\n hover: false,\r\n selection: null,\r\n grouping: {},\r\n root: params.renderer.g().attr({\r\n class: \"dxm-layer\"\r\n }).linkOn(container, name).linkAppend()\r\n };\r\n this._container = container;\r\n this._options = {};\r\n this._handles = [];\r\n this._data = new EmptySource;\r\n this._dataSourceLoaded = null\r\n};\r\nMapLayer.prototype = _extend({\r\n constructor: MapLayer,\r\n getDataReadyCallback() {\r\n return this._dataSourceLoaded\r\n },\r\n _onProjection: function() {\r\n var that = this;\r\n that._removeHandlers = that._params.projection.on({\r\n engine: function() {\r\n that._project()\r\n },\r\n screen: function() {\r\n that._transform()\r\n },\r\n center: function() {\r\n that._transformCore()\r\n },\r\n zoom: function() {\r\n that._transform()\r\n }\r\n })\r\n },\r\n getData() {\r\n return this._data\r\n },\r\n _dataSourceLoadErrorHandler: function() {\r\n this._dataSourceChangedHandler()\r\n },\r\n _dataSourceChangedHandler: function() {\r\n this._data = unwrapFromDataSource(this._dataSource && this._dataSource.items());\r\n this._update(true)\r\n },\r\n _dataSourceOptions: function() {\r\n return {\r\n paginate: false\r\n }\r\n },\r\n _getSpecificDataSourceOption: function() {\r\n return this._specificDataSourceOption\r\n },\r\n _normalizeDataSource: function(dataSource) {\r\n var store = dataSource.store();\r\n if (\"raw\" === store._loadMode) {\r\n store._loadMode = void 0\r\n }\r\n return dataSource\r\n },\r\n _offProjection: function() {\r\n this._removeHandlers();\r\n this._removeHandlers = null\r\n },\r\n dispose: function() {\r\n this._disposeDataSource();\r\n this._destroyHandles();\r\n dropGrouping(this._context);\r\n this._context.root.linkRemove().linkOff();\r\n this._context.labelRoot && this._context.labelRoot.linkRemove().linkOff();\r\n this._context.str.reset(this._context);\r\n this._offProjection();\r\n this._params = this._container = this._context = this.proxy = null;\r\n return this\r\n },\r\n setOptions: function(options) {\r\n options = this._options = options || {};\r\n this._dataSourceLoaded = new Deferred;\r\n if (\"dataSource\" in options && options.dataSource !== this._options_dataSource) {\r\n this._options_dataSource = options.dataSource;\r\n this._params.notifyDirty();\r\n this._specificDataSourceOption = wrapToDataSource(options.dataSource);\r\n this._refreshDataSource()\r\n } else if (this._data.count() > 0) {\r\n this._params.notifyDirty();\r\n this._update(void 0 !== options.type && options.type !== this._context.str.type || void 0 !== options.elementType && options.elementType !== this._context.str.elementType)\r\n }\r\n this._transformCore()\r\n },\r\n _update: function(isContextChanged) {\r\n var context = this._context;\r\n if (isContextChanged) {\r\n context.str.reset(context);\r\n context.root.clear();\r\n context.labelRoot && context.labelRoot.clear();\r\n this._params.tracker.reset();\r\n this._destroyHandles();\r\n context.str = selectStrategy(this._options, this._data);\r\n context.str.setup(context);\r\n this.proxy.type = context.str.type;\r\n this.proxy.elementType = context.str.elementType\r\n }\r\n context.settings = processCommonSettings(context, this._options);\r\n context.hasSeparateLabel = !!(context.settings.label.enabled && context.str.hasLabelsGroup);\r\n context.hover = !!_parseScalar(context.settings.hoverEnabled, true);\r\n if (context.selection) {\r\n _each(context.selection.state, (function(_, handle) {\r\n handle && handle.resetSelected()\r\n }))\r\n }\r\n context.selection = getSelection(context.settings.selectionMode);\r\n if (context.hasSeparateLabel) {\r\n if (!context.labelRoot) {\r\n context.labelRoot = context.renderer.g().attr({\r\n class: \"dxm-layer-labels\"\r\n }).linkOn(this._container, {\r\n name: context.name + \"-labels\",\r\n after: context.name\r\n }).linkAppend();\r\n this._transformCore()\r\n }\r\n } else if (context.labelRoot) {\r\n context.labelRoot.linkRemove().linkOff();\r\n context.labelRoot = null\r\n }\r\n if (isContextChanged) {\r\n this._createHandles()\r\n }\r\n dropGrouping(context);\r\n context.str.arrange(context, this._handles);\r\n context.str.updateGrouping(context);\r\n this._updateHandles();\r\n this._params.notifyReady();\r\n if (this._dataSourceLoaded) {\r\n this._dataSourceLoaded.resolve();\r\n this._dataSourceLoaded = null\r\n } else {\r\n this._params.dataReady()\r\n }\r\n },\r\n getBounds() {\r\n return getMaxBound(this._handles.map(_ref => {\r\n var {\r\n proxy: proxy\r\n } = _ref;\r\n return proxy.coordinates().map(coords => {\r\n if (!_isArray(coords)) {\r\n return\r\n }\r\n var coordsToBoundsSearch = _isArray(coords[0][0]) ? coords.reduce((ac, val) => ac.concat(val), []) : coords;\r\n var initValue = coordsToBoundsSearch[0];\r\n return coordsToBoundsSearch.reduce((min, c) => [_min(min[0], c[0]), _min(min[1], c[1]), _max(min[2], c[0]), _max(min[3], c[1])], [initValue[0], initValue[1], initValue[0], initValue[1]])\r\n })\r\n }).map(getMaxBound))\r\n },\r\n _destroyHandles() {\r\n this._handles.forEach(h => h.dispose());\r\n if (this._context.selection) {\r\n this._context.selection.state = {}\r\n }\r\n this._handles = []\r\n },\r\n _createHandles: function() {\r\n var handles = this._handles = [];\r\n var data = this._data;\r\n var i;\r\n var ii = handles.length = data.count();\r\n var context = this._context;\r\n var geometry = data.geometry;\r\n var attributes = data.attributes;\r\n var handle;\r\n var dataItem;\r\n for (i = 0; i < ii; ++i) {\r\n dataItem = data.item(i);\r\n handles[i] = new MapLayerElement(context, i, geometry(dataItem), attributes(dataItem))\r\n }\r\n _isFunction(this._options.customize) && customizeHandles(this.getProxies(), this._options.customize, this._params.widget);\r\n for (i = 0; i < ii; ++i) {\r\n handle = handles[i];\r\n handle.project();\r\n handle.draw();\r\n handle.transform()\r\n }\r\n if (context.selection) {\r\n _each(context.selection.state, (function(_, handle) {\r\n handle && handle.restoreSelected()\r\n }))\r\n }\r\n },\r\n _updateHandles: function() {\r\n var handles = this._handles;\r\n var i;\r\n var ii = handles.length;\r\n for (i = 0; i < ii; ++i) {\r\n handles[i].refresh()\r\n }\r\n if (this._context.settings.label.enabled) {\r\n for (i = 0; i < ii; ++i) {\r\n handles[i].measureLabel()\r\n }\r\n for (i = 0; i < ii; ++i) {\r\n handles[i].adjustLabel()\r\n }\r\n }\r\n },\r\n _transformCore: function() {\r\n var transform = this._params.projection.getTransform();\r\n this._context.root.attr(transform);\r\n this._context.labelRoot && this._context.labelRoot.attr(transform)\r\n },\r\n _project: function() {\r\n var handles = this._handles;\r\n var i;\r\n var ii = handles.length;\r\n for (i = 0; i < ii; ++i) {\r\n handles[i].project()\r\n }\r\n },\r\n _transform: function() {\r\n var handles = this._handles;\r\n var i;\r\n var ii = handles.length;\r\n this._transformCore();\r\n for (i = 0; i < ii; ++i) {\r\n handles[i].transform()\r\n }\r\n },\r\n getProxies() {\r\n return this._handles.map(p => p.proxy)\r\n },\r\n getProxy: function(index) {\r\n return this._handles[index].proxy\r\n },\r\n raiseClick: function(i, dxEvent) {\r\n this._params.eventTrigger(\"click\", {\r\n target: this._handles[i].proxy,\r\n event: dxEvent\r\n })\r\n },\r\n hoverItem: function(i, state) {\r\n this._handles[i].setHovered(state)\r\n },\r\n selectItem: function(i, state, _noEvent) {\r\n this._handles[i].setSelected(state, _noEvent)\r\n },\r\n clearSelection: function() {\r\n var selection = this._context.selection;\r\n if (selection) {\r\n _each(selection.state, (function(_, handle) {\r\n handle && handle.setSelected(false)\r\n }));\r\n selection.state = {}\r\n }\r\n }\r\n}, DataHelperMixin);\r\n\r\nfunction createProxy(handle, coords, attrs) {\r\n var proxy = {\r\n coordinates: function() {\r\n return coords\r\n },\r\n attribute: function(name, value) {\r\n if (arguments.length > 1) {\r\n attrs[name] = value;\r\n return proxy\r\n } else {\r\n return arguments.length > 0 ? attrs[name] : attrs\r\n }\r\n },\r\n selected: function(state, _noEvent) {\r\n if (arguments.length > 0) {\r\n handle.setSelected(state, _noEvent);\r\n return proxy\r\n } else {\r\n return handle.isSelected()\r\n }\r\n },\r\n applySettings: function(settings) {\r\n handle.update(settings);\r\n return proxy\r\n }\r\n };\r\n return proxy\r\n}\r\nMapLayerElement = function(context, index, geometry, attributes) {\r\n var proxy = this.proxy = createProxy(this, geometry.coordinates, _extend({}, attributes));\r\n this._ctx = context;\r\n this._index = index;\r\n this._fig = this._label = null;\r\n this._state = STATE_DEFAULT;\r\n this._coordinates = geometry.coordinates;\r\n this._settings = {\r\n label: {}\r\n };\r\n proxy.index = index;\r\n proxy.layer = context.layer;\r\n this._data = {\r\n name: context.name,\r\n index: index\r\n }\r\n};\r\nMapLayerElement.prototype = {\r\n constructor: MapLayerElement,\r\n dispose: function() {\r\n this._ctx = this.proxy = this._settings = this._fig = this._label = this.data = null;\r\n return this\r\n },\r\n project: function() {\r\n var context = this._ctx;\r\n this._projection = context.str.project(context.projection, this._coordinates);\r\n if (context.hasSeparateLabel && this._label) {\r\n this._projectLabel()\r\n }\r\n },\r\n _projectLabel: function() {\r\n this._labelProjection = this._ctx.str.projectLabel(this._projection)\r\n },\r\n draw: function() {\r\n var context = this._ctx;\r\n context.str.draw(context, this._fig = {}, this._data);\r\n this._fig.root.append(context.root)\r\n },\r\n transform: function() {\r\n var context = this._ctx;\r\n context.str.transform(this._fig, context.projection, this._projection);\r\n if (context.hasSeparateLabel && this._label) {\r\n this._transformLabel()\r\n }\r\n },\r\n _transformLabel: function() {\r\n this._ctx.str.transformLabel(this._label, this._ctx.projection, this._labelProjection)\r\n },\r\n refresh: function() {\r\n var strategy = this._ctx.str;\r\n var settings = getItemSettings(this._ctx, this.proxy, this._settings);\r\n this._styles = strategy.getStyles(settings);\r\n strategy.refresh(this._ctx, this._fig, this._data, this.proxy, settings);\r\n this._refreshLabel(settings);\r\n this._setState()\r\n },\r\n _refreshLabel: function(settings) {\r\n var context = this._ctx;\r\n var labelSettings = settings.label;\r\n var label = this._label;\r\n if (context.settings.label.enabled) {\r\n if (!label) {\r\n label = this._label = {\r\n root: context.labelRoot || this._fig.root,\r\n text: context.renderer.text().attr({\r\n class: \"dxm-label\"\r\n }),\r\n size: [0, 0]\r\n };\r\n if (context.hasSeparateLabel) {\r\n this._projectLabel();\r\n this._transformLabel()\r\n }\r\n }\r\n label.value = _String(this.proxy.text || this.proxy.attribute(labelSettings.dataField) || \"\");\r\n if (label.value) {\r\n label.text.attr({\r\n text: label.value,\r\n x: 0,\r\n y: 0\r\n }).css(_patchFontOptions(labelSettings.font)).attr({\r\n align: \"center\",\r\n stroke: labelSettings.stroke,\r\n \"stroke-width\": labelSettings[\"stroke-width\"],\r\n \"stroke-opacity\": labelSettings[\"stroke-opacity\"]\r\n }).data(context.dataKey, this._data).append(label.root);\r\n label.settings = settings\r\n }\r\n } else if (label) {\r\n label.text.remove();\r\n this._label = null\r\n }\r\n },\r\n measureLabel: function() {\r\n var label = this._label;\r\n var bBox;\r\n if (label.value) {\r\n bBox = label.text.getBBox();\r\n label.size = [bBox.width, bBox.height, -bBox.y - bBox.height / 2]\r\n }\r\n },\r\n adjustLabel: function() {\r\n var label = this._label;\r\n var offset;\r\n if (label.value) {\r\n offset = this._ctx.str.getLabelOffset(label, label.settings);\r\n label.settings = null;\r\n label.text.attr({\r\n x: offset[0],\r\n y: offset[1] + label.size[2]\r\n })\r\n }\r\n },\r\n update: function(settings) {\r\n this._settings = combineSettings(this._settings, settings);\r\n if (this._fig) {\r\n this.refresh();\r\n if (this._label && this._label.value) {\r\n this.measureLabel();\r\n this.adjustLabel()\r\n }\r\n }\r\n },\r\n _setState: function() {\r\n this._ctx.str.setState(this._fig, this._styles, STATE_TO_INDEX[this._state])\r\n },\r\n _setForeground: function() {\r\n var root = this._fig.root;\r\n this._state ? root.toForeground() : root.toBackground()\r\n },\r\n setHovered: function(state) {\r\n var currentState = hasFlag(this._state, STATE_HOVERED);\r\n var newState = !!state;\r\n if (this._ctx.hover && currentState !== newState) {\r\n this._state = setFlag(this._state, STATE_HOVERED, newState);\r\n this._setState();\r\n this._setForeground();\r\n raiseChanged(this._ctx, this, newState, \"hoverChanged\")\r\n }\r\n return this\r\n },\r\n setSelected: function(state, _noEvent) {\r\n var currentState = hasFlag(this._state, STATE_SELECTED);\r\n var newState = !!state;\r\n var selection = this._ctx.selection;\r\n var tmp;\r\n if (selection && currentState !== newState) {\r\n this._state = setFlag(this._state, STATE_SELECTED, newState);\r\n tmp = selection.state[selection.single];\r\n selection.state[selection.single] = null;\r\n if (tmp) {\r\n tmp.setSelected(false)\r\n }\r\n selection.state[selection.single || this._index] = state ? this : null;\r\n if (this._fig) {\r\n this._setState();\r\n this._setForeground();\r\n if (!_noEvent) {\r\n raiseChanged(this._ctx, this, newState, \"selectionChanged\")\r\n }\r\n }\r\n }\r\n },\r\n isSelected: function() {\r\n return hasFlag(this._state, STATE_SELECTED)\r\n },\r\n resetSelected: function() {\r\n this._state = setFlag(this._state, STATE_SELECTED, false)\r\n },\r\n restoreSelected: function() {\r\n this._fig.root.toForeground()\r\n }\r\n};\r\n\r\nfunction calculatePolygonCentroid(coordinates) {\r\n var i;\r\n var length = coordinates.length;\r\n var v1;\r\n var v2 = coordinates[length - 1];\r\n var cross;\r\n var cx = 0;\r\n var cy = 0;\r\n var area = 0;\r\n var minX = 1 / 0;\r\n var maxX = -1 / 0;\r\n var minY = 1 / 0;\r\n var maxY = -1 / 0;\r\n for (i = 0; i < length; ++i) {\r\n v1 = v2;\r\n v2 = coordinates[i];\r\n cross = v1[0] * v2[1] - v2[0] * v1[1];\r\n area += cross;\r\n cx += (v1[0] + v2[0]) * cross;\r\n cy += (v1[1] + v2[1]) * cross;\r\n minX = _min(minX, v2[0]);\r\n maxX = _max(maxX, v2[0]);\r\n minY = _min(minY, v2[1]);\r\n maxY = _max(maxY, v2[1])\r\n }\r\n return {\r\n area: _abs(area) / 2,\r\n center: [2 * cx / 3 / area - (minX + maxX) / 2, 2 * cy / 3 / area - (minY + maxY) / 2]\r\n }\r\n}\r\n\r\nfunction calculateLineStringData(coordinates) {\r\n var i;\r\n var ii = coordinates.length;\r\n var v1;\r\n var v2 = coordinates[0] || [];\r\n var totalLength = 0;\r\n var items = [0];\r\n var min0 = v2[0];\r\n var max0 = v2[0];\r\n var min1 = v2[1];\r\n var max1 = v2[1];\r\n for (i = 1; i < ii; ++i) {\r\n v1 = v2;\r\n v2 = coordinates[i];\r\n totalLength += _sqrt((v1[0] - v2[0]) * (v1[0] - v2[0]) + (v1[1] - v2[1]) * (v1[1] - v2[1]));\r\n items[i] = totalLength;\r\n min0 = _min(min0, v2[0]);\r\n max0 = _max(max0, v2[0]);\r\n min1 = _min(min1, v2[1]);\r\n max1 = _max(max1, v2[1])\r\n }\r\n i = findGroupingIndex(totalLength / 2, items);\r\n v1 = coordinates[i];\r\n v2 = coordinates[i + 1];\r\n var t = (totalLength / 2 - items[i]) / (items[i + 1] - items[i]);\r\n return ii ? [\r\n [v1[0] * (1 - t) + v2[0] * t, v1[1] * (1 - t) + v2[1] * t],\r\n [max0 - min0, max1 - min1], totalLength\r\n ] : []\r\n}\r\n\r\nfunction projectAreaLabel(coordinates) {\r\n var i;\r\n var ii = coordinates.length;\r\n var centroid;\r\n var resultCentroid;\r\n var maxArea = 0;\r\n for (i = 0; i < ii; ++i) {\r\n centroid = calculatePolygonCentroid(coordinates[i]);\r\n if (centroid.area > maxArea) {\r\n maxArea = centroid.area;\r\n resultCentroid = centroid\r\n }\r\n }\r\n return resultCentroid ? [resultCentroid.center, [_sqrt(resultCentroid.area), _sqrt(resultCentroid.area)]] : [\r\n [],\r\n []\r\n ]\r\n}\r\n\r\nfunction projectLineLabel(coordinates) {\r\n var i;\r\n var ii = coordinates.length;\r\n var maxLength = 0;\r\n var data;\r\n var resultData;\r\n for (i = 0; i < ii; ++i) {\r\n data = calculateLineStringData(coordinates[i]);\r\n if (data[2] > maxLength) {\r\n maxLength = data[2];\r\n resultData = data\r\n }\r\n }\r\n return resultData || [\r\n [],\r\n []\r\n ]\r\n}\r\nexport function MapLayerCollection(params) {\r\n var renderer = params.renderer;\r\n this._params = params;\r\n this._layers = [];\r\n this._layerByName = {};\r\n this._rect = [0, 0, 0, 0];\r\n this._clip = renderer.clipRect();\r\n this._background = renderer.rect().attr({\r\n class: \"dxm-background\"\r\n }).data(params.dataKey, {\r\n name: \"background\"\r\n }).append(renderer.root);\r\n this._container = renderer.g().attr({\r\n class: \"dxm-layers\",\r\n \"clip-path\": this._clip.id\r\n }).append(renderer.root).enableLinks();\r\n this._subscribeToTracker(params.tracker, renderer, params.eventTrigger);\r\n this._dataReady = params.dataReady\r\n}\r\nMapLayerCollection.prototype = {\r\n constructor: MapLayerCollection,\r\n dispose: function() {\r\n this._clip.dispose();\r\n this._layers.forEach(l => l.dispose());\r\n this._offTracker();\r\n this._params = this._offTracker = this._layers = this._layerByName = this._clip = this._background = this._container = null\r\n },\r\n _subscribeToTracker: function(tracker, renderer, eventTrigger) {\r\n var that = this;\r\n that._offTracker = tracker.on({\r\n click: function(arg) {\r\n var offset = renderer.getRootOffset();\r\n var layer = that.byName(arg.data.name);\r\n arg.$event.x = arg.x - offset.left;\r\n arg.$event.y = arg.y - offset.top;\r\n if (layer) {\r\n layer.raiseClick(arg.data.index, arg.$event)\r\n } else if (\"background\" === arg.data.name) {\r\n eventTrigger(\"click\", {\r\n event: arg.$event\r\n })\r\n }\r\n },\r\n \"hover-on\": function(arg) {\r\n var layer = that.byName(arg.data.name);\r\n if (layer) {\r\n layer.hoverItem(arg.data.index, true)\r\n }\r\n },\r\n \"hover-off\": function(arg) {\r\n var layer = that.byName(arg.data.name);\r\n if (layer) {\r\n layer.hoverItem(arg.data.index, false)\r\n }\r\n }\r\n })\r\n },\r\n setOptions(options) {\r\n var optionList = options ? _isArray(options) ? options : [options] : [];\r\n var layers = this._layers;\r\n var readyCallbacks;\r\n var needToCreateLayers = optionList.length !== layers.length || layers.some((l, i) => {\r\n var name = getName(optionList, i);\r\n return _isDefined(name) && name !== l.proxy.name\r\n });\r\n if (needToCreateLayers) {\r\n this._params.tracker.reset();\r\n this._layers.forEach(l => l.dispose());\r\n var layerByName = this._layerByName = {};\r\n this._layers = layers = [];\r\n for (var i = 0, ii = optionList.length; i < ii; ++i) {\r\n var name = getName(optionList, i) || \"map-layer-\" + i;\r\n var layer = layers[i] = new MapLayer(this._params, this._container, name, i);\r\n layerByName[name] = layer\r\n }\r\n }\r\n layers.forEach((l, i) => {\r\n l.setOptions(optionList[i])\r\n });\r\n readyCallbacks = layers.map(l => l.getDataReadyCallback());\r\n readyCallbacks.length && when.apply(void 0, readyCallbacks).done(this._dataReady)\r\n },\r\n _updateClip: function() {\r\n var rect = this._rect;\r\n var bw = this._borderWidth;\r\n this._clip.attr({\r\n x: rect[0] + bw,\r\n y: rect[1] + bw,\r\n width: _max(rect[2] - 2 * bw, 0),\r\n height: _max(rect[3] - 2 * bw, 0)\r\n })\r\n },\r\n setBackgroundOptions: function(options) {\r\n this._background.attr({\r\n stroke: options.borderColor,\r\n \"stroke-width\": options.borderWidth,\r\n fill: options.color\r\n });\r\n this._borderWidth = _max(options.borderWidth, 0);\r\n this._updateClip()\r\n },\r\n setRect: function(rect) {\r\n this._rect = rect;\r\n this._background.attr({\r\n x: rect[0],\r\n y: rect[1],\r\n width: rect[2],\r\n height: rect[3]\r\n });\r\n this._updateClip()\r\n },\r\n byIndex: function(index) {\r\n return this._layers[index]\r\n },\r\n byName: function(name) {\r\n return this._layerByName[name]\r\n },\r\n items: function() {\r\n return this._layers\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/vector_map/tooltip_viewer.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar TOOLTIP_OFFSET = 12;\r\nexport function TooltipViewer(params) {\r\n this._subscribeToTracker(params.tracker, params.tooltip, params.layerCollection)\r\n}\r\nTooltipViewer.prototype = {\r\n constructor: TooltipViewer,\r\n dispose: function() {\r\n this._offTracker();\r\n this._offTracker = null\r\n },\r\n _subscribeToTracker: function(tracker, tooltip, layerCollection) {\r\n this._offTracker = tracker.on({\r\n \"focus-on\": function(arg) {\r\n var layer;\r\n var proxy;\r\n if (tooltip.isEnabled()) {\r\n layer = layerCollection.byName(arg.data.name);\r\n proxy = layer && layer.getProxy(arg.data.index);\r\n var callback = result => {\r\n result && arg.done(result)\r\n };\r\n proxy && callback(tooltip.show(proxy, {\r\n x: arg.x,\r\n y: arg.y,\r\n offset: TOOLTIP_OFFSET\r\n }, {\r\n target: proxy\r\n }, void 0, callback))\r\n }\r\n },\r\n \"focus-move\": function(arg) {\r\n tooltip.move(arg.x, arg.y, TOOLTIP_OFFSET)\r\n },\r\n \"focus-off\": function() {\r\n tooltip.hide()\r\n }\r\n })\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/vector_map/vector_map.utils.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar nextDataKey = 1;\r\nexport function generateDataKey() {\r\n return \"vectormap-data-\" + nextDataKey++\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/vector_map/projection.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n projection\r\n} from \"./projection.main\";\r\nvar _min = Math.min;\r\nvar _max = Math.max;\r\nvar _sin = Math.sin;\r\nvar _asin = Math.asin;\r\nvar _tan = Math.tan;\r\nvar _atan = Math.atan;\r\nvar _exp = Math.exp;\r\nvar _log = Math.log;\r\nvar PI = Math.PI;\r\nvar PI_DIV_4 = PI / 4;\r\nvar GEO_LON_BOUND = 180;\r\nvar GEO_LAT_BOUND = 90;\r\nvar RADIANS = PI / 180;\r\nvar MERCATOR_LAT_BOUND = (2 * _atan(_exp(PI)) - PI / 2) / RADIANS;\r\nvar MILLER_LAT_BOUND = (2.5 * _atan(_exp(.8 * PI)) - .625 * PI) / RADIANS;\r\n\r\nfunction clamp(value, threshold) {\r\n return _max(_min(value, +threshold), -threshold)\r\n}\r\nprojection.add(\"mercator\", projection({\r\n aspectRatio: 1,\r\n to: function(coordinates) {\r\n return [coordinates[0] / GEO_LON_BOUND, _log(_tan(PI_DIV_4 + clamp(coordinates[1], MERCATOR_LAT_BOUND) * RADIANS / 2)) / PI]\r\n },\r\n from: function(coordinates) {\r\n return [coordinates[0] * GEO_LON_BOUND, (2 * _atan(_exp(coordinates[1] * PI)) - PI / 2) / RADIANS]\r\n }\r\n}));\r\nprojection.add(\"equirectangular\", projection({\r\n aspectRatio: 2,\r\n to: function(coordinates) {\r\n return [coordinates[0] / GEO_LON_BOUND, coordinates[1] / GEO_LAT_BOUND]\r\n },\r\n from: function(coordinates) {\r\n return [coordinates[0] * GEO_LON_BOUND, coordinates[1] * GEO_LAT_BOUND]\r\n }\r\n}));\r\nprojection.add(\"lambert\", projection({\r\n aspectRatio: 2,\r\n to: function(coordinates) {\r\n return [coordinates[0] / GEO_LON_BOUND, _sin(clamp(coordinates[1], GEO_LAT_BOUND) * RADIANS)]\r\n },\r\n from: function(coordinates) {\r\n return [coordinates[0] * GEO_LON_BOUND, _asin(clamp(coordinates[1], 1)) / RADIANS]\r\n }\r\n}));\r\nprojection.add(\"miller\", projection({\r\n aspectRatio: 1,\r\n to: function(coordinates) {\r\n return [coordinates[0] / GEO_LON_BOUND, 1.25 * _log(_tan(PI_DIV_4 + clamp(coordinates[1], MILLER_LAT_BOUND) * RADIANS * .4)) / PI]\r\n },\r\n from: function(coordinates) {\r\n return [coordinates[0] * GEO_LON_BOUND, (2.5 * _atan(_exp(.8 * coordinates[1] * PI)) - .625 * PI) / RADIANS]\r\n }\r\n}));\r\nexport {\r\n projection\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/vector_map/vector_map.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n parseScalar as _parseScalar\r\n} from \"../core/utils\";\r\nimport {\r\n Projection\r\n} from \"./projection.main\";\r\nimport {\r\n ControlBar\r\n} from \"./control_bar/control_bar\";\r\nimport {\r\n GestureHandler\r\n} from \"./gesture_handler\";\r\nimport {\r\n Tracker\r\n} from \"./tracker\";\r\nimport {\r\n DataExchanger\r\n} from \"./data_exchanger\";\r\nimport {\r\n LegendsControl\r\n} from \"./legend\";\r\nimport {\r\n LayoutControl\r\n} from \"./layout\";\r\nimport {\r\n MapLayerCollection,\r\n getMaxBound\r\n} from \"./map_layer\";\r\nimport {\r\n TooltipViewer\r\n} from \"./tooltip_viewer\";\r\nimport {\r\n generateDataKey\r\n} from \"./vector_map.utils\";\r\nvar DEFAULT_WIDTH = 800;\r\nvar DEFAULT_HEIGHT = 400;\r\nvar RE_STARTS_LAYERS = /^layers/;\r\nvar RE_ENDS_DATA_SOURCE = /\\.dataSource$/;\r\nimport \"./projection\";\r\nimport BaseWidget from \"../../__internal/viz/core/m_base_widget\";\r\n\r\nfunction mergeBounds(sumBounds, dataBounds) {\r\n return dataBounds ? [Math.min(dataBounds[0], dataBounds[2], sumBounds[0]), Math.min(dataBounds[1], dataBounds[3], sumBounds[3]), Math.max(dataBounds[0], dataBounds[2], sumBounds[2]), Math.max(dataBounds[1], dataBounds[3], sumBounds[1])] : sumBounds\r\n}\r\nvar dxVectorMap = BaseWidget.inherit({\r\n _eventsMap: {\r\n onClick: {\r\n name: \"click\"\r\n },\r\n onCenterChanged: {\r\n name: \"centerChanged\"\r\n },\r\n onZoomFactorChanged: {\r\n name: \"zoomFactorChanged\"\r\n },\r\n onHoverChanged: {\r\n name: \"hoverChanged\"\r\n },\r\n onSelectionChanged: {\r\n name: \"selectionChanged\"\r\n }\r\n },\r\n _rootClassPrefix: \"dxm\",\r\n _rootClass: \"dxm-vector-map\",\r\n _themeSection: \"map\",\r\n _fontFields: [\"layer:area.label.font\", \"layer:marker:dot.label.font\", \"layer:marker:bubble.label.font\", \"layer:marker:pie.label.font\", \"layer:marker:image.label.font\", \"legend.font\", \"legend.title.font\", \"legend.title.subtitle.font\"],\r\n _initLayerCollection: function(dataKey) {\r\n var that = this;\r\n that._layerCollection = new MapLayerCollection({\r\n renderer: that._renderer,\r\n projection: that._projection,\r\n themeManager: that._themeManager,\r\n tracker: that._tracker,\r\n dataKey: dataKey,\r\n eventTrigger: that._eventTrigger,\r\n dataExchanger: that._dataExchanger,\r\n tooltip: that._tooltip,\r\n notifyDirty: that._notifyDirty,\r\n notifyReady: that._notifyReady,\r\n dataReady() {\r\n var bounds;\r\n if (that.option(\"getBoundsFromData\") && !that.option(\"bounds\")) {\r\n that._preventProjectionEvents();\r\n bounds = that._getBoundsFromData();\r\n that._projection.setBounds(bounds);\r\n that._allowProjectionEvents()\r\n }\r\n if (!that.option(\"projection\")) {\r\n bounds = bounds || that._getBoundsFromData();\r\n if (Math.ceil(bounds[0]) < -180 || Math.ceil(bounds[3]) < -90 || Math.floor(bounds[2]) > 180 || Math.floor(bounds[1]) > 90) {\r\n var longitudeLength = bounds[2] - bounds[0];\r\n var latitudeLength = bounds[1] - bounds[3];\r\n that._projection.setEngine({\r\n to: coordinates => [2 * (coordinates[0] - bounds[0]) / longitudeLength - 1, 2 * (coordinates[1] - bounds[3]) / latitudeLength - 1],\r\n from: coordinates => [(coordinates[0] + 1) * longitudeLength / 2 + bounds[0], (coordinates[1] + 1) * latitudeLength / 2 + bounds[3]]\r\n })\r\n }\r\n }\r\n }\r\n })\r\n },\r\n _getBoundsFromData() {\r\n var bounds = this._getBoundingBoxFromDataSource();\r\n if (!bounds) {\r\n var boundsByData = getMaxBound(this.getLayers().map(l => l.getBounds()));\r\n if (boundsByData) {\r\n bounds = boundsByData\r\n }\r\n }\r\n bounds = bounds || [];\r\n bounds = [bounds[0], bounds[3], bounds[2], bounds[1]];\r\n return bounds\r\n },\r\n _initLegendsControl: function() {\r\n this._legendsControl = new LegendsControl({\r\n renderer: this._renderer,\r\n container: this._root,\r\n widget: this,\r\n layoutControl: this._layoutControl,\r\n themeManager: this._themeManager,\r\n dataExchanger: this._dataExchanger,\r\n notifyDirty: this._notifyDirty,\r\n notifyReady: this._notifyReady\r\n })\r\n },\r\n _initControlBar: function(dataKey) {\r\n this._controlBar = new ControlBar({\r\n renderer: this._renderer,\r\n container: this._root,\r\n layoutControl: this._layoutControl,\r\n projection: this._projection,\r\n tracker: this._tracker,\r\n dataKey: dataKey\r\n })\r\n },\r\n _initElements: function() {\r\n var that = this;\r\n var dataKey = generateDataKey();\r\n var notifyCounter = 0;\r\n var preventProjectionEvents;\r\n that._preventProjectionEvents = function() {\r\n preventProjectionEvents = true\r\n };\r\n that._allowProjectionEvents = function() {\r\n preventProjectionEvents = false\r\n };\r\n that._notifyDirty = function() {\r\n that._resetIsReady();\r\n ++notifyCounter\r\n };\r\n that._notifyReady = function() {\r\n that._allowProjectionEvents();\r\n if (0 === --notifyCounter) {\r\n that._drawn()\r\n }\r\n };\r\n that._preventProjectionEvents();\r\n that._dataExchanger = new DataExchanger;\r\n that._projection = new Projection({\r\n centerChanged: function(value) {\r\n if (!preventProjectionEvents) {\r\n that._eventTrigger(\"centerChanged\", {\r\n center: value\r\n })\r\n }\r\n },\r\n zoomChanged: function(value) {\r\n if (!preventProjectionEvents) {\r\n that._eventTrigger(\"zoomFactorChanged\", {\r\n zoomFactor: value\r\n })\r\n }\r\n }\r\n });\r\n that._tracker = new Tracker({\r\n root: that._root,\r\n projection: that._projection,\r\n dataKey: dataKey\r\n });\r\n that._gestureHandler = new GestureHandler({\r\n projection: that._projection,\r\n renderer: that._renderer,\r\n tracker: that._tracker\r\n });\r\n that._layoutControl = new LayoutControl(that);\r\n that._layoutControl.suspend();\r\n that._initLayerCollection(dataKey);\r\n that._createHtmlStructure();\r\n that._initControlBar(dataKey);\r\n that._initLegendsControl();\r\n that._prepareExtraElements();\r\n that._tooltipViewer = new TooltipViewer({\r\n tracker: that._tracker,\r\n tooltip: that._tooltip,\r\n layerCollection: that._layerCollection\r\n })\r\n },\r\n _change_RESUME_LAYOUT: function() {\r\n this._layoutControl.resume()\r\n },\r\n _initialChanges: [\"PROJECTION\", \"RESUME_LAYOUT\", \"LAYOUT_INIT\", \"BOUNDS\", \"MAX_ZOOM_FACTOR\", \"ZOOM_FACTOR\", \"CENTER\"],\r\n _layoutChangesOrder: [\"RESUME_LAYOUT\", \"LAYERS\"],\r\n _customChangesOrder: [\"EXTRA_ELEMENTS\"],\r\n _initCore: function() {\r\n this._root = this._renderer.root.attr({\r\n align: \"center\",\r\n cursor: \"default\"\r\n });\r\n this._initElements()\r\n },\r\n _disposeCore: function() {\r\n this._controlBar.dispose();\r\n this._gestureHandler.dispose();\r\n this._tracker.dispose();\r\n this._legendsControl.dispose();\r\n this._layerCollection.dispose();\r\n this._layoutControl.dispose();\r\n this._tooltipViewer.dispose();\r\n this._dataExchanger.dispose();\r\n this._projection.dispose();\r\n this._dataExchanger = this._gestureHandler = this._projection = this._tracker = this._layoutControl = this._root = this._layerCollection = this._controlBar = this._legendsControl = null\r\n },\r\n _setupInteraction: function() {\r\n var options = {\r\n centeringEnabled: !!_parseScalar(this._getOption(\"panningEnabled\", true), true),\r\n zoomingEnabled: !!_parseScalar(this._getOption(\"zoomingEnabled\", true), true)\r\n };\r\n this._gestureHandler.setInteraction(options);\r\n this._controlBar.setInteraction(options)\r\n },\r\n _getDefaultSize: function() {\r\n return {\r\n width: DEFAULT_WIDTH,\r\n height: DEFAULT_HEIGHT\r\n }\r\n },\r\n _applySize: function(rect) {\r\n var layout = {\r\n left: rect[0],\r\n top: rect[1],\r\n width: rect[2] - rect[0],\r\n height: rect[3] - rect[1],\r\n right: 0,\r\n bottom: 0\r\n };\r\n this._projection.setSize(layout);\r\n this._layoutControl.setSize(layout);\r\n this._layerCollection.setRect([layout.left, layout.top, layout.width, layout.height]);\r\n this._requestChange([\"EXTRA_ELEMENTS\"])\r\n },\r\n _optionChanging: function(name, currentValue, nextValue) {\r\n if (currentValue && nextValue) {\r\n if (RE_STARTS_LAYERS.test(name)) {\r\n if (currentValue.dataSource && nextValue.dataSource && currentValue !== nextValue) {\r\n currentValue.dataSource = null\r\n } else if (RE_ENDS_DATA_SOURCE.test(name)) {\r\n this.option(name, null)\r\n }\r\n }\r\n }\r\n },\r\n _applyChanges: function() {\r\n this._notifyDirty();\r\n this.callBase.apply(this, arguments);\r\n this._notifyReady()\r\n },\r\n _optionChangesMap: {\r\n background: \"BACKGROUND\",\r\n layers: \"LAYERS\",\r\n extraElements: \"EXTRA_ELEMENTS\",\r\n controlBar: \"CONTROL_BAR\",\r\n legends: \"LEGENDS\",\r\n touchEnabled: \"TRACKER\",\r\n wheelEnabled: \"TRACKER\",\r\n panningEnabled: \"INTERACTION\",\r\n zoomingEnabled: \"INTERACTION\",\r\n projection: \"PROJECTION\",\r\n bounds: \"BOUNDS\",\r\n maxZoomFactor: \"MAX_ZOOM_FACTOR\",\r\n zoomFactor: \"ZOOM_FACTOR\",\r\n center: \"CENTER\"\r\n },\r\n _optionChangesOrder: [\"PROJECTION\", \"BOUNDS\", \"MAX_ZOOM_FACTOR\", \"ZOOM_FACTOR\", \"CENTER\", \"BACKGROUND\", \"CONTROL_BAR\", \"LEGENDS\", \"TRACKER\", \"INTERACTION\"],\r\n _change_PROJECTION: function() {\r\n this._setProjection()\r\n },\r\n _change_BOUNDS: function() {\r\n this._setBounds()\r\n },\r\n _change_MAX_ZOOM_FACTOR: function() {\r\n this._setMaxZoom()\r\n },\r\n _change_ZOOM_FACTOR: function() {\r\n this._setZoom()\r\n },\r\n _change_CENTER: function() {\r\n this._setCenter()\r\n },\r\n _change_BACKGROUND: function() {\r\n this._setBackgroundOptions()\r\n },\r\n _change_LAYERS: function() {\r\n this._setLayerCollectionOptions()\r\n },\r\n _change_CONTROL_BAR: function() {\r\n this._setControlBarOptions()\r\n },\r\n _change_EXTRA_ELEMENTS: function() {\r\n this._renderExtraElements()\r\n },\r\n _change_LEGENDS: function() {\r\n this._setLegendsOptions()\r\n },\r\n _change_TRACKER: function() {\r\n this._setTrackerOptions()\r\n },\r\n _change_INTERACTION: function() {\r\n this._setupInteraction()\r\n },\r\n _themeDependentChanges: [\"BACKGROUND\", \"LAYERS\", \"CONTROL_BAR\", \"LEGENDS\", \"TRACKER\", \"INTERACTION\"],\r\n _setProjection: function() {\r\n this._projection.setEngine(this.option(\"projection\"))\r\n },\r\n _setBounds: function() {\r\n this._projection.setBounds(this.option(\"bounds\"))\r\n },\r\n _setMaxZoom: function() {\r\n this._projection.setMaxZoom(this.option(\"maxZoomFactor\"))\r\n },\r\n _setZoom: function() {\r\n this._projection.setZoom(this.option(\"zoomFactor\"))\r\n },\r\n _setCenter: function() {\r\n this._projection.setCenter(this.option(\"center\"))\r\n },\r\n _setBackgroundOptions: function() {\r\n this._layerCollection.setBackgroundOptions(this._getOption(\"background\"))\r\n },\r\n _setLayerCollectionOptions: function() {\r\n this._layerCollection.setOptions(this.option(\"layers\"))\r\n },\r\n _getBoundingBoxFromDataSource() {\r\n var layers = this._layerCollection.items();\r\n var infinityBounds = [1 / 0, -1 / 0, -1 / 0, 1 / 0];\r\n var resultBBox = layers && layers.length ? layers.reduce((sumBBox, l) => {\r\n var layerData = l.getData();\r\n var itemCount = layerData.count();\r\n if (itemCount > 0) {\r\n var rootBBox = layerData.getBBox();\r\n if (rootBBox) {\r\n sumBBox = mergeBounds(sumBBox, rootBBox)\r\n } else {\r\n for (var i = 0; i < itemCount; i++) {\r\n sumBBox = mergeBounds(sumBBox, layerData.getBBox(i))\r\n }\r\n }\r\n }\r\n return sumBBox\r\n }, infinityBounds) : void 0;\r\n return resultBBox === infinityBounds ? void 0 : resultBBox\r\n },\r\n _setControlBarOptions: function() {\r\n this._controlBar.setOptions(this._getOption(\"controlBar\"))\r\n },\r\n _setLegendsOptions: function() {\r\n this._legendsControl.setOptions(this.option(\"legends\"))\r\n },\r\n _setTrackerOptions: function() {\r\n this._tracker.setOptions({\r\n touchEnabled: this._getOption(\"touchEnabled\", true),\r\n wheelEnabled: this._getOption(\"wheelEnabled\", true)\r\n })\r\n },\r\n getLayers() {\r\n return this._layerCollection.items().map(l => l.proxy)\r\n },\r\n getLayerByIndex: function(index) {\r\n var layer = this._layerCollection.byIndex(index);\r\n return layer ? layer.proxy : null\r\n },\r\n getLayerByName: function(name) {\r\n var layer = this._layerCollection.byName(name);\r\n return layer ? layer.proxy : null\r\n },\r\n clearSelection: function(_noEvent) {\r\n var layers = this._layerCollection.items();\r\n var i;\r\n var ii = layers.length;\r\n for (i = 0; i < ii; ++i) {\r\n layers[i].clearSelection(_noEvent)\r\n }\r\n return this\r\n },\r\n center: function(value) {\r\n if (void 0 === value) {\r\n return this._projection.getCenter()\r\n } else {\r\n this._projection.setCenter(value);\r\n return this\r\n }\r\n },\r\n zoomFactor: function(value) {\r\n if (void 0 === value) {\r\n return this._projection.getZoom()\r\n } else {\r\n this._projection.setZoom(value);\r\n return this\r\n }\r\n },\r\n viewport: function(value) {\r\n if (void 0 === value) {\r\n return this._projection.getViewport()\r\n } else {\r\n this._projection.setViewport(value);\r\n return this\r\n }\r\n },\r\n convertCoordinates: function(coordinates) {\r\n coordinates = coordinates && coordinates.length ? coordinates : [arguments[0], arguments[1]];\r\n return this.convertToGeo(coordinates[0], coordinates[1])\r\n },\r\n convertToGeo: function(x, y) {\r\n return this._projection.fromScreenPoint([x, y])\r\n },\r\n convertToXY: function(longitude, latitude) {\r\n return this._projection.toScreenPoint([longitude, latitude])\r\n }\r\n});\r\nimport componentRegistrator from \"../../core/component_registrator\";\r\ncomponentRegistrator(\"dxVectorMap\", dxVectorMap);\r\nexport default dxVectorMap;\r\nimport {\r\n plugin as ExportPlugin\r\n} from \"../core/export\";\r\nimport {\r\n plugin as TitlePlugin\r\n} from \"../core/title\";\r\nimport {\r\n plugin as TooltipPlugin\r\n} from \"../core/tooltip\";\r\nimport {\r\n plugin as LoadingIndicatorPlugin\r\n} from \"../core/loading_indicator\";\r\nimport {\r\n plugins as annotationsPlugins\r\n} from \"../core/annotations\";\r\ndxVectorMap.addPlugin(ExportPlugin);\r\ndxVectorMap.addPlugin(TitlePlugin);\r\ndxVectorMap.addPlugin(TooltipPlugin);\r\ndxVectorMap.addPlugin(LoadingIndicatorPlugin);\r\ndxVectorMap.addPlugin(annotationsPlugins.core);\r\ndxVectorMap.addPlugin(annotationsPlugins.vectorMap);\r\n","/**\r\n * DevExtreme (esm/viz/vector_map.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport VectorMap from \"./vector_map/vector_map\";\r\nexport default VectorMap;\r\n","(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()","const fs = require('fs');\nconst fastCsv = require('fast-csv');\nconst customParseFormat = require('dayjs/plugin/customParseFormat');\nconst utc = require('dayjs/plugin/utc');\nconst dayjs = require('dayjs').extend(customParseFormat).extend(utc);\nconst StreamBuf = require('../utils/stream-buf');\n\nconst {\n fs: {exists},\n} = require('../utils/utils');\n\n/* eslint-disable quote-props */\nconst SpecialValues = {\n true: true,\n false: false,\n '#N/A': {error: '#N/A'},\n '#REF!': {error: '#REF!'},\n '#NAME?': {error: '#NAME?'},\n '#DIV/0!': {error: '#DIV/0!'},\n '#NULL!': {error: '#NULL!'},\n '#VALUE!': {error: '#VALUE!'},\n '#NUM!': {error: '#NUM!'},\n};\n/* eslint-ensable quote-props */\n\nclass CSV {\n constructor(workbook) {\n this.workbook = workbook;\n this.worksheet = null;\n }\n\n async readFile(filename, options) {\n options = options || {};\n if (!(await exists(filename))) {\n throw new Error(`File not found: ${filename}`);\n }\n const stream = fs.createReadStream(filename);\n const worksheet = await this.read(stream, options);\n stream.close();\n return worksheet;\n }\n\n read(stream, options) {\n options = options || {};\n\n return new Promise((resolve, reject) => {\n const worksheet = this.workbook.addWorksheet(options.sheetName);\n\n const dateFormats = options.dateFormats || [\n 'YYYY-MM-DD[T]HH:mm:ssZ',\n 'YYYY-MM-DD[T]HH:mm:ss',\n 'MM-DD-YYYY',\n 'YYYY-MM-DD',\n ];\n const map =\n options.map ||\n function(datum) {\n if (datum === '') {\n return null;\n }\n const datumNumber = Number(datum);\n if (!Number.isNaN(datumNumber) && datumNumber !== Infinity) {\n return datumNumber;\n }\n const dt = dateFormats.reduce((matchingDate, currentDateFormat) => {\n if (matchingDate) {\n return matchingDate;\n }\n const dayjsObj = dayjs(datum, currentDateFormat, true);\n if (dayjsObj.isValid()) {\n return dayjsObj;\n }\n return null;\n }, null);\n if (dt) {\n return new Date(dt.valueOf());\n }\n const special = SpecialValues[datum];\n if (special !== undefined) {\n return special;\n }\n return datum;\n };\n\n const csvStream = fastCsv\n .parse(options.parserOptions)\n .on('data', data => {\n worksheet.addRow(data.map(map));\n })\n .on('end', () => {\n csvStream.emit('worksheet', worksheet);\n });\n\n csvStream.on('worksheet', resolve).on('error', reject);\n\n stream.pipe(csvStream);\n });\n }\n\n /**\n * @deprecated since version 4.0. You should use `CSV#read` instead. Please follow upgrade instruction: https://github.com/exceljs/exceljs/blob/master/UPGRADE-4.0.md\n */\n createInputStream() {\n throw new Error(\n '`CSV#createInputStream` is deprecated. You should use `CSV#read` instead. This method will be removed in version 5.0. Please follow upgrade instruction: https://github.com/exceljs/exceljs/blob/master/UPGRADE-4.0.md'\n );\n }\n\n write(stream, options) {\n return new Promise((resolve, reject) => {\n options = options || {};\n // const encoding = options.encoding || 'utf8';\n // const separator = options.separator || ',';\n // const quoteChar = options.quoteChar || '\\'';\n\n const worksheet = this.workbook.getWorksheet(options.sheetName || options.sheetId);\n\n const csvStream = fastCsv.format(options.formatterOptions);\n stream.on('finish', () => {\n resolve();\n });\n csvStream.on('error', reject);\n csvStream.pipe(stream);\n\n const {dateFormat, dateUTC} = options;\n const map =\n options.map ||\n (value => {\n if (value) {\n if (value.text || value.hyperlink) {\n return value.hyperlink || value.text || '';\n }\n if (value.formula || value.result) {\n return value.result || '';\n }\n if (value instanceof Date) {\n if (dateFormat) {\n return dateUTC\n ? dayjs.utc(value).format(dateFormat)\n : dayjs(value).format(dateFormat);\n }\n return dateUTC ? dayjs.utc(value).format() : dayjs(value).format();\n }\n if (value.error) {\n return value.error;\n }\n if (typeof value === 'object') {\n return JSON.stringify(value);\n }\n }\n return value;\n });\n\n const includeEmptyRows = options.includeEmptyRows === undefined || options.includeEmptyRows;\n let lastRow = 1;\n if (worksheet) {\n worksheet.eachRow((row, rowNumber) => {\n if (includeEmptyRows) {\n while (lastRow++ < rowNumber - 1) {\n csvStream.write([]);\n }\n }\n const {values} = row;\n values.shift();\n csvStream.write(values.map(map));\n lastRow = rowNumber;\n });\n }\n csvStream.end();\n });\n }\n\n writeFile(filename, options) {\n options = options || {};\n\n const streamOptions = {\n encoding: options.encoding || 'utf8',\n };\n const stream = fs.createWriteStream(filename, streamOptions);\n\n return this.write(stream, options);\n }\n\n async writeBuffer(options) {\n const stream = new StreamBuf();\n await this.write(stream, options);\n return stream.read();\n }\n}\n\nmodule.exports = CSV;\n","'use strict';\n\nconst colCache = require('../utils/col-cache');\n\nclass Anchor {\n constructor(worksheet, address, offset = 0) {\n this.worksheet = worksheet;\n\n if (!address) {\n this.nativeCol = 0;\n this.nativeColOff = 0;\n this.nativeRow = 0;\n this.nativeRowOff = 0;\n } else if (typeof address === 'string') {\n const decoded = colCache.decodeAddress(address);\n this.nativeCol = decoded.col + offset;\n this.nativeColOff = 0;\n this.nativeRow = decoded.row + offset;\n this.nativeRowOff = 0;\n } else if (address.nativeCol !== undefined) {\n this.nativeCol = address.nativeCol || 0;\n this.nativeColOff = address.nativeColOff || 0;\n this.nativeRow = address.nativeRow || 0;\n this.nativeRowOff = address.nativeRowOff || 0;\n } else if (address.col !== undefined) {\n this.col = address.col + offset;\n this.row = address.row + offset;\n } else {\n this.nativeCol = 0;\n this.nativeColOff = 0;\n this.nativeRow = 0;\n this.nativeRowOff = 0;\n }\n }\n\n static asInstance(model) {\n return model instanceof Anchor || model == null ? model : new Anchor(model);\n }\n\n get col() {\n return this.nativeCol + (Math.min(this.colWidth - 1, this.nativeColOff) / this.colWidth);\n }\n\n set col(v) {\n this.nativeCol = Math.floor(v);\n this.nativeColOff = Math.floor((v - this.nativeCol) * this.colWidth);\n }\n\n get row() {\n return this.nativeRow + (Math.min(this.rowHeight - 1, this.nativeRowOff) / this.rowHeight);\n }\n\n set row(v) {\n this.nativeRow = Math.floor(v);\n this.nativeRowOff = Math.floor((v - this.nativeRow) * this.rowHeight);\n }\n\n get colWidth() {\n return this.worksheet &&\n this.worksheet.getColumn(this.nativeCol + 1) &&\n this.worksheet.getColumn(this.nativeCol + 1).isCustomWidth\n ? Math.floor(this.worksheet.getColumn(this.nativeCol + 1).width * 10000)\n : 640000;\n }\n\n get rowHeight() {\n return this.worksheet &&\n this.worksheet.getRow(this.nativeRow + 1) &&\n this.worksheet.getRow(this.nativeRow + 1).height\n ? Math.floor(this.worksheet.getRow(this.nativeRow + 1).height * 10000)\n : 180000;\n }\n\n get model() {\n return {\n nativeCol: this.nativeCol,\n nativeColOff: this.nativeColOff,\n nativeRow: this.nativeRow,\n nativeRowOff: this.nativeRowOff,\n };\n }\n\n set model(value) {\n this.nativeCol = value.nativeCol;\n this.nativeColOff = value.nativeColOff;\n this.nativeRow = value.nativeRow;\n this.nativeRowOff = value.nativeRowOff;\n }\n}\n\nmodule.exports = Anchor;\n","/* eslint-disable max-classes-per-file */\nconst colCache = require('../utils/col-cache');\nconst _ = require('../utils/under-dash');\nconst Enums = require('./enums');\nconst {slideFormula} = require('../utils/shared-formula');\nconst Note = require('./note');\n// Cell requirements\n// Operate inside a worksheet\n// Store and retrieve a value with a range of types: text, number, date, hyperlink, reference, formula, etc.\n// Manage/use and manipulate cell format either as local to cell or inherited from column or row.\n\nclass Cell {\n constructor(row, column, address) {\n if (!row || !column) {\n throw new Error('A Cell needs a Row');\n }\n\n this._row = row;\n this._column = column;\n\n colCache.validateAddress(address);\n this._address = address;\n\n // TODO: lazy evaluation of this._value\n this._value = Value.create(Cell.Types.Null, this);\n\n this.style = this._mergeStyle(row.style, column.style, {});\n\n this._mergeCount = 0;\n }\n\n get worksheet() {\n return this._row.worksheet;\n }\n\n get workbook() {\n return this._row.worksheet.workbook;\n }\n\n // help GC by removing cyclic (and other) references\n destroy() {\n delete this.style;\n delete this._value;\n delete this._row;\n delete this._column;\n delete this._address;\n }\n\n // =========================================================================\n // Styles stuff\n get numFmt() {\n return this.style.numFmt;\n }\n\n set numFmt(value) {\n this.style.numFmt = value;\n }\n\n get font() {\n return this.style.font;\n }\n\n set font(value) {\n this.style.font = value;\n }\n\n get alignment() {\n return this.style.alignment;\n }\n\n set alignment(value) {\n this.style.alignment = value;\n }\n\n get border() {\n return this.style.border;\n }\n\n set border(value) {\n this.style.border = value;\n }\n\n get fill() {\n return this.style.fill;\n }\n\n set fill(value) {\n this.style.fill = value;\n }\n\n get protection() {\n return this.style.protection;\n }\n\n set protection(value) {\n this.style.protection = value;\n }\n\n _mergeStyle(rowStyle, colStyle, style) {\n const numFmt = (rowStyle && rowStyle.numFmt) || (colStyle && colStyle.numFmt);\n if (numFmt) style.numFmt = numFmt;\n\n const font = (rowStyle && rowStyle.font) || (colStyle && colStyle.font);\n if (font) style.font = font;\n\n const alignment = (rowStyle && rowStyle.alignment) || (colStyle && colStyle.alignment);\n if (alignment) style.alignment = alignment;\n\n const border = (rowStyle && rowStyle.border) || (colStyle && colStyle.border);\n if (border) style.border = border;\n\n const fill = (rowStyle && rowStyle.fill) || (colStyle && colStyle.fill);\n if (fill) style.fill = fill;\n\n const protection = (rowStyle && rowStyle.protection) || (colStyle && colStyle.protection);\n if (protection) style.protection = protection;\n\n return style;\n }\n\n // =========================================================================\n // return the address for this cell\n get address() {\n return this._address;\n }\n\n get row() {\n return this._row.number;\n }\n\n get col() {\n return this._column.number;\n }\n\n get $col$row() {\n return `$${this._column.letter}$${this.row}`;\n }\n\n // =========================================================================\n // Value stuff\n\n get type() {\n return this._value.type;\n }\n\n get effectiveType() {\n return this._value.effectiveType;\n }\n\n toCsvString() {\n return this._value.toCsvString();\n }\n\n // =========================================================================\n // Merge stuff\n\n addMergeRef() {\n this._mergeCount++;\n }\n\n releaseMergeRef() {\n this._mergeCount--;\n }\n\n get isMerged() {\n return this._mergeCount > 0 || this.type === Cell.Types.Merge;\n }\n\n merge(master, ignoreStyle) {\n this._value.release();\n this._value = Value.create(Cell.Types.Merge, this, master);\n if (!ignoreStyle) {\n this.style = master.style;\n }\n }\n\n unmerge() {\n if (this.type === Cell.Types.Merge) {\n this._value.release();\n this._value = Value.create(Cell.Types.Null, this);\n this.style = this._mergeStyle(this._row.style, this._column.style, {});\n }\n }\n\n isMergedTo(master) {\n if (this._value.type !== Cell.Types.Merge) return false;\n return this._value.isMergedTo(master);\n }\n\n get master() {\n if (this.type === Cell.Types.Merge) {\n return this._value.master;\n }\n return this; // an unmerged cell is its own master\n }\n\n get isHyperlink() {\n return this._value.type === Cell.Types.Hyperlink;\n }\n\n get hyperlink() {\n return this._value.hyperlink;\n }\n\n // return the value\n get value() {\n return this._value.value;\n }\n\n // set the value - can be number, string or raw\n set value(v) {\n // special case - merge cells set their master's value\n if (this.type === Cell.Types.Merge) {\n this._value.master.value = v;\n return;\n }\n\n this._value.release();\n\n // assign value\n this._value = Value.create(Value.getType(v), this, v);\n }\n\n get note() {\n return this._comment && this._comment.note;\n }\n\n set note(note) {\n this._comment = new Note(note);\n }\n\n get text() {\n return this._value.toString();\n }\n\n get html() {\n return _.escapeHtml(this.text);\n }\n\n toString() {\n return this.text;\n }\n\n _upgradeToHyperlink(hyperlink) {\n // if this cell is a string, turn it into a Hyperlink\n if (this.type === Cell.Types.String) {\n this._value = Value.create(Cell.Types.Hyperlink, this, {\n text: this._value.value,\n hyperlink,\n });\n }\n }\n\n // =========================================================================\n // Formula stuff\n get formula() {\n return this._value.formula;\n }\n\n get result() {\n return this._value.result;\n }\n\n get formulaType() {\n return this._value.formulaType;\n }\n\n // =========================================================================\n // Name stuff\n get fullAddress() {\n const {worksheet} = this._row;\n return {\n sheetName: worksheet.name,\n address: this.address,\n row: this.row,\n col: this.col,\n };\n }\n\n get name() {\n return this.names[0];\n }\n\n set name(value) {\n this.names = [value];\n }\n\n get names() {\n return this.workbook.definedNames.getNamesEx(this.fullAddress);\n }\n\n set names(value) {\n const {definedNames} = this.workbook;\n definedNames.removeAllNames(this.fullAddress);\n value.forEach(name => {\n definedNames.addEx(this.fullAddress, name);\n });\n }\n\n addName(name) {\n this.workbook.definedNames.addEx(this.fullAddress, name);\n }\n\n removeName(name) {\n this.workbook.definedNames.removeEx(this.fullAddress, name);\n }\n\n removeAllNames() {\n this.workbook.definedNames.removeAllNames(this.fullAddress);\n }\n\n // =========================================================================\n // Data Validation stuff\n get _dataValidations() {\n return this.worksheet.dataValidations;\n }\n\n get dataValidation() {\n return this._dataValidations.find(this.address);\n }\n\n set dataValidation(value) {\n this._dataValidations.add(this.address, value);\n }\n\n // =========================================================================\n // Model stuff\n\n get model() {\n const {model} = this._value;\n model.style = this.style;\n if (this._comment) {\n model.comment = this._comment.model;\n }\n return model;\n }\n\n set model(value) {\n this._value.release();\n this._value = Value.create(value.type, this);\n this._value.model = value;\n\n if (value.comment) {\n switch (value.comment.type) {\n case 'note':\n this._comment = Note.fromModel(value.comment);\n break;\n }\n }\n\n if (value.style) {\n this.style = value.style;\n } else {\n this.style = {};\n }\n }\n}\nCell.Types = Enums.ValueType;\n\n// =============================================================================\n// Internal Value Types\n\nclass NullValue {\n constructor(cell) {\n this.model = {\n address: cell.address,\n type: Cell.Types.Null,\n };\n }\n\n get value() {\n return null;\n }\n\n set value(value) {\n // nothing to do\n }\n\n get type() {\n return Cell.Types.Null;\n }\n\n get effectiveType() {\n return Cell.Types.Null;\n }\n\n get address() {\n return this.model.address;\n }\n\n set address(value) {\n this.model.address = value;\n }\n\n toCsvString() {\n return '';\n }\n\n release() {}\n\n toString() {\n return '';\n }\n}\n\nclass NumberValue {\n constructor(cell, value) {\n this.model = {\n address: cell.address,\n type: Cell.Types.Number,\n value,\n };\n }\n\n get value() {\n return this.model.value;\n }\n\n set value(value) {\n this.model.value = value;\n }\n\n get type() {\n return Cell.Types.Number;\n }\n\n get effectiveType() {\n return Cell.Types.Number;\n }\n\n get address() {\n return this.model.address;\n }\n\n set address(value) {\n this.model.address = value;\n }\n\n toCsvString() {\n return this.model.value.toString();\n }\n\n release() {}\n\n toString() {\n return this.model.value.toString();\n }\n}\n\nclass StringValue {\n constructor(cell, value) {\n this.model = {\n address: cell.address,\n type: Cell.Types.String,\n value,\n };\n }\n\n get value() {\n return this.model.value;\n }\n\n set value(value) {\n this.model.value = value;\n }\n\n get type() {\n return Cell.Types.String;\n }\n\n get effectiveType() {\n return Cell.Types.String;\n }\n\n get address() {\n return this.model.address;\n }\n\n set address(value) {\n this.model.address = value;\n }\n\n toCsvString() {\n return `\"${this.model.value.replace(/\"/g, '\"\"')}\"`;\n }\n\n release() {}\n\n toString() {\n return this.model.value;\n }\n}\n\nclass RichTextValue {\n constructor(cell, value) {\n this.model = {\n address: cell.address,\n type: Cell.Types.String,\n value,\n };\n }\n\n get value() {\n return this.model.value;\n }\n\n set value(value) {\n this.model.value = value;\n }\n\n toString() {\n return this.model.value.richText.map(t => t.text).join('');\n }\n\n get type() {\n return Cell.Types.RichText;\n }\n\n get effectiveType() {\n return Cell.Types.RichText;\n }\n\n get address() {\n return this.model.address;\n }\n\n set address(value) {\n this.model.address = value;\n }\n\n toCsvString() {\n return `\"${this.text.replace(/\"/g, '\"\"')}\"`;\n }\n\n release() {}\n}\n\nclass DateValue {\n constructor(cell, value) {\n this.model = {\n address: cell.address,\n type: Cell.Types.Date,\n value,\n };\n }\n\n get value() {\n return this.model.value;\n }\n\n set value(value) {\n this.model.value = value;\n }\n\n get type() {\n return Cell.Types.Date;\n }\n\n get effectiveType() {\n return Cell.Types.Date;\n }\n\n get address() {\n return this.model.address;\n }\n\n set address(value) {\n this.model.address = value;\n }\n\n toCsvString() {\n return this.model.value.toISOString();\n }\n\n release() {}\n\n toString() {\n return this.model.value.toString();\n }\n}\n\nclass HyperlinkValue {\n constructor(cell, value) {\n this.model = {\n address: cell.address,\n type: Cell.Types.Hyperlink,\n text: value ? value.text : undefined,\n hyperlink: value ? value.hyperlink : undefined,\n };\n if (value && value.tooltip) {\n this.model.tooltip = value.tooltip;\n }\n }\n\n get value() {\n const v = {\n text: this.model.text,\n hyperlink: this.model.hyperlink,\n };\n if (this.model.tooltip) {\n v.tooltip = this.model.tooltip;\n }\n return v;\n }\n\n set value(value) {\n this.model = {\n text: value.text,\n hyperlink: value.hyperlink,\n };\n if (value.tooltip) {\n this.model.tooltip = value.tooltip;\n }\n }\n\n get text() {\n return this.model.text;\n }\n\n set text(value) {\n this.model.text = value;\n }\n\n /*\n get tooltip() {\n return this.model.tooltip;\n }\n\n set tooltip(value) {\n this.model.tooltip = value;\n } */\n\n get hyperlink() {\n return this.model.hyperlink;\n }\n\n set hyperlink(value) {\n this.model.hyperlink = value;\n }\n\n get type() {\n return Cell.Types.Hyperlink;\n }\n\n get effectiveType() {\n return Cell.Types.Hyperlink;\n }\n\n get address() {\n return this.model.address;\n }\n\n set address(value) {\n this.model.address = value;\n }\n\n toCsvString() {\n return this.model.hyperlink;\n }\n\n release() {}\n\n toString() {\n return this.model.text;\n }\n}\n\nclass MergeValue {\n constructor(cell, master) {\n this.model = {\n address: cell.address,\n type: Cell.Types.Merge,\n master: master ? master.address : undefined,\n };\n this._master = master;\n if (master) {\n master.addMergeRef();\n }\n }\n\n get value() {\n return this._master.value;\n }\n\n set value(value) {\n if (value instanceof Cell) {\n if (this._master) {\n this._master.releaseMergeRef();\n }\n value.addMergeRef();\n this._master = value;\n } else {\n this._master.value = value;\n }\n }\n\n isMergedTo(master) {\n return master === this._master;\n }\n\n get master() {\n return this._master;\n }\n\n get type() {\n return Cell.Types.Merge;\n }\n\n get effectiveType() {\n return this._master.effectiveType;\n }\n\n get address() {\n return this.model.address;\n }\n\n set address(value) {\n this.model.address = value;\n }\n\n toCsvString() {\n return '';\n }\n\n release() {\n this._master.releaseMergeRef();\n }\n\n toString() {\n return this.value.toString();\n }\n}\n\nclass FormulaValue {\n constructor(cell, value) {\n this.cell = cell;\n\n this.model = {\n address: cell.address,\n type: Cell.Types.Formula,\n shareType: value ? value.shareType : undefined,\n ref: value ? value.ref : undefined,\n formula: value ? value.formula : undefined,\n sharedFormula: value ? value.sharedFormula : undefined,\n result: value ? value.result : undefined,\n };\n }\n\n _copyModel(model) {\n const copy = {};\n const cp = name => {\n const value = model[name];\n if (value) {\n copy[name] = value;\n }\n };\n cp('formula');\n cp('result');\n cp('ref');\n cp('shareType');\n cp('sharedFormula');\n return copy;\n }\n\n get value() {\n return this._copyModel(this.model);\n }\n\n set value(value) {\n this.model = this._copyModel(value);\n }\n\n validate(value) {\n switch (Value.getType(value)) {\n case Cell.Types.Null:\n case Cell.Types.String:\n case Cell.Types.Number:\n case Cell.Types.Date:\n break;\n case Cell.Types.Hyperlink:\n case Cell.Types.Formula:\n default:\n throw new Error('Cannot process that type of result value');\n }\n }\n\n get dependencies() {\n // find all the ranges and cells mentioned in the formula\n const ranges = this.formula.match(/([a-zA-Z0-9]+!)?[A-Z]{1,3}\\d{1,4}:[A-Z]{1,3}\\d{1,4}/g);\n const cells = this.formula\n .replace(/([a-zA-Z0-9]+!)?[A-Z]{1,3}\\d{1,4}:[A-Z]{1,3}\\d{1,4}/g, '')\n .match(/([a-zA-Z0-9]+!)?[A-Z]{1,3}\\d{1,4}/g);\n return {\n ranges,\n cells,\n };\n }\n\n get formula() {\n return this.model.formula || this._getTranslatedFormula();\n }\n\n set formula(value) {\n this.model.formula = value;\n }\n\n get formulaType() {\n if (this.model.formula) {\n return Enums.FormulaType.Master;\n }\n if (this.model.sharedFormula) {\n return Enums.FormulaType.Shared;\n }\n return Enums.FormulaType.None;\n }\n\n get result() {\n return this.model.result;\n }\n\n set result(value) {\n this.model.result = value;\n }\n\n get type() {\n return Cell.Types.Formula;\n }\n\n get effectiveType() {\n const v = this.model.result;\n if (v === null || v === undefined) {\n return Enums.ValueType.Null;\n }\n if (v instanceof String || typeof v === 'string') {\n return Enums.ValueType.String;\n }\n if (typeof v === 'number') {\n return Enums.ValueType.Number;\n }\n if (v instanceof Date) {\n return Enums.ValueType.Date;\n }\n if (v.text && v.hyperlink) {\n return Enums.ValueType.Hyperlink;\n }\n if (v.formula) {\n return Enums.ValueType.Formula;\n }\n\n return Enums.ValueType.Null;\n }\n\n get address() {\n return this.model.address;\n }\n\n set address(value) {\n this.model.address = value;\n }\n\n _getTranslatedFormula() {\n if (!this._translatedFormula && this.model.sharedFormula) {\n const {worksheet} = this.cell;\n const master = worksheet.findCell(this.model.sharedFormula);\n this._translatedFormula =\n master && slideFormula(master.formula, master.address, this.model.address);\n }\n return this._translatedFormula;\n }\n\n toCsvString() {\n return `${this.model.result || ''}`;\n }\n\n release() {}\n\n toString() {\n return this.model.result ? this.model.result.toString() : '';\n }\n}\n\nclass SharedStringValue {\n constructor(cell, value) {\n this.model = {\n address: cell.address,\n type: Cell.Types.SharedString,\n value,\n };\n }\n\n get value() {\n return this.model.value;\n }\n\n set value(value) {\n this.model.value = value;\n }\n\n get type() {\n return Cell.Types.SharedString;\n }\n\n get effectiveType() {\n return Cell.Types.SharedString;\n }\n\n get address() {\n return this.model.address;\n }\n\n set address(value) {\n this.model.address = value;\n }\n\n toCsvString() {\n return this.model.value.toString();\n }\n\n release() {}\n\n toString() {\n return this.model.value.toString();\n }\n}\n\nclass BooleanValue {\n constructor(cell, value) {\n this.model = {\n address: cell.address,\n type: Cell.Types.Boolean,\n value,\n };\n }\n\n get value() {\n return this.model.value;\n }\n\n set value(value) {\n this.model.value = value;\n }\n\n get type() {\n return Cell.Types.Boolean;\n }\n\n get effectiveType() {\n return Cell.Types.Boolean;\n }\n\n get address() {\n return this.model.address;\n }\n\n set address(value) {\n this.model.address = value;\n }\n\n toCsvString() {\n return this.model.value ? 1 : 0;\n }\n\n release() {}\n\n toString() {\n return this.model.value.toString();\n }\n}\n\nclass ErrorValue {\n constructor(cell, value) {\n this.model = {\n address: cell.address,\n type: Cell.Types.Error,\n value,\n };\n }\n\n get value() {\n return this.model.value;\n }\n\n set value(value) {\n this.model.value = value;\n }\n\n get type() {\n return Cell.Types.Error;\n }\n\n get effectiveType() {\n return Cell.Types.Error;\n }\n\n get address() {\n return this.model.address;\n }\n\n set address(value) {\n this.model.address = value;\n }\n\n toCsvString() {\n return this.toString();\n }\n\n release() {}\n\n toString() {\n return this.model.value.error.toString();\n }\n}\n\nclass JSONValue {\n constructor(cell, value) {\n this.model = {\n address: cell.address,\n type: Cell.Types.String,\n value: JSON.stringify(value),\n rawValue: value,\n };\n }\n\n get value() {\n return this.model.rawValue;\n }\n\n set value(value) {\n this.model.rawValue = value;\n this.model.value = JSON.stringify(value);\n }\n\n get type() {\n return Cell.Types.String;\n }\n\n get effectiveType() {\n return Cell.Types.String;\n }\n\n get address() {\n return this.model.address;\n }\n\n set address(value) {\n this.model.address = value;\n }\n\n toCsvString() {\n return this.model.value;\n }\n\n release() {}\n\n toString() {\n return this.model.value;\n }\n}\n\n// Value is a place to hold common static Value type functions\nconst Value = {\n getType(value) {\n if (value === null || value === undefined) {\n return Cell.Types.Null;\n }\n if (value instanceof String || typeof value === 'string') {\n return Cell.Types.String;\n }\n if (typeof value === 'number') {\n return Cell.Types.Number;\n }\n if (typeof value === 'boolean') {\n return Cell.Types.Boolean;\n }\n if (value instanceof Date) {\n return Cell.Types.Date;\n }\n if (value.text && value.hyperlink) {\n return Cell.Types.Hyperlink;\n }\n if (value.formula || value.sharedFormula) {\n return Cell.Types.Formula;\n }\n if (value.richText) {\n return Cell.Types.RichText;\n }\n if (value.sharedString) {\n return Cell.Types.SharedString;\n }\n if (value.error) {\n return Cell.Types.Error;\n }\n return Cell.Types.JSON;\n },\n\n // map valueType to constructor\n types: [\n {t: Cell.Types.Null, f: NullValue},\n {t: Cell.Types.Number, f: NumberValue},\n {t: Cell.Types.String, f: StringValue},\n {t: Cell.Types.Date, f: DateValue},\n {t: Cell.Types.Hyperlink, f: HyperlinkValue},\n {t: Cell.Types.Formula, f: FormulaValue},\n {t: Cell.Types.Merge, f: MergeValue},\n {t: Cell.Types.JSON, f: JSONValue},\n {t: Cell.Types.SharedString, f: SharedStringValue},\n {t: Cell.Types.RichText, f: RichTextValue},\n {t: Cell.Types.Boolean, f: BooleanValue},\n {t: Cell.Types.Error, f: ErrorValue},\n ].reduce((p, t) => {\n p[t.t] = t.f;\n return p;\n }, []),\n\n create(type, cell, value) {\n const T = this.types[type];\n if (!T) {\n throw new Error(`Could not create Value of type ${type}`);\n }\n return new T(cell, value);\n },\n};\n\nmodule.exports = Cell;\n","'use strict';\n\nconst _ = require('../utils/under-dash');\n\nconst Enums = require('./enums');\nconst colCache = require('../utils/col-cache');\n\nconst DEFAULT_COLUMN_WIDTH = 9;\n\n// Column defines the column properties for 1 column.\n// This includes header rows, widths, key, (style), etc.\n// Worksheet will condense the columns as appropriate during serialization\nclass Column {\n constructor(worksheet, number, defn) {\n this._worksheet = worksheet;\n this._number = number;\n if (defn !== false) {\n // sometimes defn will follow\n this.defn = defn;\n }\n }\n\n get number() {\n return this._number;\n }\n\n get worksheet() {\n return this._worksheet;\n }\n\n get letter() {\n return colCache.n2l(this._number);\n }\n\n get isCustomWidth() {\n return this.width !== undefined && this.width !== DEFAULT_COLUMN_WIDTH;\n }\n\n get defn() {\n return {\n header: this._header,\n key: this.key,\n width: this.width,\n style: this.style,\n hidden: this.hidden,\n outlineLevel: this.outlineLevel,\n };\n }\n\n set defn(value) {\n if (value) {\n this.key = value.key;\n this.width = value.width !== undefined ? value.width : DEFAULT_COLUMN_WIDTH;\n this.outlineLevel = value.outlineLevel;\n if (value.style) {\n this.style = value.style;\n } else {\n this.style = {};\n }\n\n // headers must be set after style\n this.header = value.header;\n this._hidden = !!value.hidden;\n } else {\n delete this._header;\n delete this._key;\n delete this.width;\n this.style = {};\n this.outlineLevel = 0;\n }\n }\n\n get headers() {\n return this._header && this._header instanceof Array ? this._header : [this._header];\n }\n\n get header() {\n return this._header;\n }\n\n set header(value) {\n if (value !== undefined) {\n this._header = value;\n this.headers.forEach((text, index) => {\n this._worksheet.getCell(index + 1, this.number).value = text;\n });\n } else {\n this._header = undefined;\n }\n }\n\n get key() {\n return this._key;\n }\n\n set key(value) {\n const column = this._key && this._worksheet.getColumnKey(this._key);\n if (column === this) {\n this._worksheet.deleteColumnKey(this._key);\n }\n\n this._key = value;\n if (value) {\n this._worksheet.setColumnKey(this._key, this);\n }\n }\n\n get hidden() {\n return !!this._hidden;\n }\n\n set hidden(value) {\n this._hidden = value;\n }\n\n get outlineLevel() {\n return this._outlineLevel || 0;\n }\n\n set outlineLevel(value) {\n this._outlineLevel = value;\n }\n\n get collapsed() {\n return !!(\n this._outlineLevel && this._outlineLevel >= this._worksheet.properties.outlineLevelCol\n );\n }\n\n toString() {\n return JSON.stringify({\n key: this.key,\n width: this.width,\n headers: this.headers.length ? this.headers : undefined,\n });\n }\n\n equivalentTo(other) {\n return (\n this.width === other.width &&\n this.hidden === other.hidden &&\n this.outlineLevel === other.outlineLevel &&\n _.isEqual(this.style, other.style)\n );\n }\n\n get isDefault() {\n if (this.isCustomWidth) {\n return false;\n }\n if (this.hidden) {\n return false;\n }\n if (this.outlineLevel) {\n return false;\n }\n const s = this.style;\n if (s && (s.font || s.numFmt || s.alignment || s.border || s.fill || s.protection)) {\n return false;\n }\n return true;\n }\n\n get headerCount() {\n return this.headers.length;\n }\n\n eachCell(options, iteratee) {\n const colNumber = this.number;\n if (!iteratee) {\n iteratee = options;\n options = null;\n }\n this._worksheet.eachRow(options, (row, rowNumber) => {\n iteratee(row.getCell(colNumber), rowNumber);\n });\n }\n\n get values() {\n const v = [];\n this.eachCell((cell, rowNumber) => {\n if (cell && cell.type !== Enums.ValueType.Null) {\n v[rowNumber] = cell.value;\n }\n });\n return v;\n }\n\n set values(v) {\n if (!v) {\n return;\n }\n const colNumber = this.number;\n let offset = 0;\n if (v.hasOwnProperty('0')) {\n // assume contiguous array, start at row 1\n offset = 1;\n }\n v.forEach((value, index) => {\n this._worksheet.getCell(index + offset, colNumber).value = value;\n });\n }\n\n // =========================================================================\n // styles\n _applyStyle(name, value) {\n this.style[name] = value;\n this.eachCell(cell => {\n cell[name] = value;\n });\n return value;\n }\n\n get numFmt() {\n return this.style.numFmt;\n }\n\n set numFmt(value) {\n this._applyStyle('numFmt', value);\n }\n\n get font() {\n return this.style.font;\n }\n\n set font(value) {\n this._applyStyle('font', value);\n }\n\n get alignment() {\n return this.style.alignment;\n }\n\n set alignment(value) {\n this._applyStyle('alignment', value);\n }\n\n get protection() {\n return this.style.protection;\n }\n\n set protection(value) {\n this._applyStyle('protection', value);\n }\n\n get border() {\n return this.style.border;\n }\n\n set border(value) {\n this._applyStyle('border', value);\n }\n\n get fill() {\n return this.style.fill;\n }\n\n set fill(value) {\n this._applyStyle('fill', value);\n }\n\n // =============================================================================\n // static functions\n\n static toModel(columns) {\n // Convert array of Column into compressed list cols\n const cols = [];\n let col = null;\n if (columns) {\n columns.forEach((column, index) => {\n if (column.isDefault) {\n if (col) {\n col = null;\n }\n } else if (!col || !column.equivalentTo(col)) {\n col = {\n min: index + 1,\n max: index + 1,\n width: column.width !== undefined ? column.width : DEFAULT_COLUMN_WIDTH,\n style: column.style,\n isCustomWidth: column.isCustomWidth,\n hidden: column.hidden,\n outlineLevel: column.outlineLevel,\n collapsed: column.collapsed,\n };\n cols.push(col);\n } else {\n col.max = index + 1;\n }\n });\n }\n return cols.length ? cols : undefined;\n }\n\n static fromModel(worksheet, cols) {\n cols = cols || [];\n const columns = [];\n let count = 1;\n let index = 0;\n /**\n * sort cols by min\n * If it is not sorted, the subsequent column configuration will be overwritten\n * */\n cols = cols.sort(function(pre, next) {\n return pre.min - next.min;\n });\n while (index < cols.length) {\n const col = cols[index++];\n while (count < col.min) {\n columns.push(new Column(worksheet, count++));\n }\n while (count <= col.max) {\n columns.push(new Column(worksheet, count++, col));\n }\n }\n return columns.length ? columns : null;\n }\n}\n\nmodule.exports = Column;\n","class DataValidations {\n constructor(model) {\n this.model = model || {};\n }\n\n add(address, validation) {\n return (this.model[address] = validation);\n }\n\n find(address) {\n return this.model[address];\n }\n\n remove(address) {\n this.model[address] = undefined;\n }\n}\n\nmodule.exports = DataValidations;\n","'use strict';\n\nconst _ = require('../utils/under-dash');\nconst colCache = require('../utils/col-cache');\nconst CellMatrix = require('../utils/cell-matrix');\nconst Range = require('./range');\n\nconst rangeRegexp = /[$](\\w+)[$](\\d+)(:[$](\\w+)[$](\\d+))?/;\n\nclass DefinedNames {\n constructor() {\n this.matrixMap = {};\n }\n\n getMatrix(name) {\n const matrix = this.matrixMap[name] || (this.matrixMap[name] = new CellMatrix());\n return matrix;\n }\n\n // add a name to a cell. locStr in the form SheetName!$col$row or SheetName!$c1$r1:$c2:$r2\n add(locStr, name) {\n const location = colCache.decodeEx(locStr);\n this.addEx(location, name);\n }\n\n addEx(location, name) {\n const matrix = this.getMatrix(name);\n if (location.top) {\n for (let col = location.left; col <= location.right; col++) {\n for (let row = location.top; row <= location.bottom; row++) {\n const address = {\n sheetName: location.sheetName,\n address: colCache.n2l(col) + row,\n row,\n col,\n };\n\n matrix.addCellEx(address);\n }\n }\n } else {\n matrix.addCellEx(location);\n }\n }\n\n remove(locStr, name) {\n const location = colCache.decodeEx(locStr);\n this.removeEx(location, name);\n }\n\n removeEx(location, name) {\n const matrix = this.getMatrix(name);\n matrix.removeCellEx(location);\n }\n\n removeAllNames(location) {\n _.each(this.matrixMap, matrix => {\n matrix.removeCellEx(location);\n });\n }\n\n forEach(callback) {\n _.each(this.matrixMap, (matrix, name) => {\n matrix.forEach(cell => {\n callback(name, cell);\n });\n });\n }\n\n // get all the names of a cell\n getNames(addressStr) {\n return this.getNamesEx(colCache.decodeEx(addressStr));\n }\n\n getNamesEx(address) {\n return _.map(this.matrixMap, (matrix, name) => matrix.findCellEx(address) && name).filter(\n Boolean\n );\n }\n\n _explore(matrix, cell) {\n cell.mark = false;\n const {sheetName} = cell;\n\n const range = new Range(cell.row, cell.col, cell.row, cell.col, sheetName);\n let x;\n let y;\n\n // grow vertical - only one col to worry about\n function vGrow(yy, edge) {\n const c = matrix.findCellAt(sheetName, yy, cell.col);\n if (!c || !c.mark) {\n return false;\n }\n range[edge] = yy;\n c.mark = false;\n return true;\n }\n for (y = cell.row - 1; vGrow(y, 'top'); y--);\n for (y = cell.row + 1; vGrow(y, 'bottom'); y++);\n\n // grow horizontal - ensure all rows can grow\n function hGrow(xx, edge) {\n const cells = [];\n for (y = range.top; y <= range.bottom; y++) {\n const c = matrix.findCellAt(sheetName, y, xx);\n if (c && c.mark) {\n cells.push(c);\n } else {\n return false;\n }\n }\n range[edge] = xx;\n for (let i = 0; i < cells.length; i++) {\n cells[i].mark = false;\n }\n return true;\n }\n for (x = cell.col - 1; hGrow(x, 'left'); x--);\n for (x = cell.col + 1; hGrow(x, 'right'); x++);\n\n return range;\n }\n\n getRanges(name, matrix) {\n matrix = matrix || this.matrixMap[name];\n\n if (!matrix) {\n return {name, ranges: []};\n }\n\n // mark and sweep!\n matrix.forEach(cell => {\n cell.mark = true;\n });\n const ranges = matrix\n .map(cell => cell.mark && this._explore(matrix, cell))\n .filter(Boolean)\n .map(range => range.$shortRange);\n\n return {\n name,\n ranges,\n };\n }\n\n normaliseMatrix(matrix, sheetName) {\n // some of the cells might have shifted on specified sheet\n // need to reassign rows, cols\n matrix.forEachInSheet(sheetName, (cell, row, col) => {\n if (cell) {\n if (cell.row !== row || cell.col !== col) {\n cell.row = row;\n cell.col = col;\n cell.address = colCache.n2l(col) + row;\n }\n }\n });\n }\n\n spliceRows(sheetName, start, numDelete, numInsert) {\n _.each(this.matrixMap, matrix => {\n matrix.spliceRows(sheetName, start, numDelete, numInsert);\n this.normaliseMatrix(matrix, sheetName);\n });\n }\n\n spliceColumns(sheetName, start, numDelete, numInsert) {\n _.each(this.matrixMap, matrix => {\n matrix.spliceColumns(sheetName, start, numDelete, numInsert);\n this.normaliseMatrix(matrix, sheetName);\n });\n }\n\n get model() {\n // To get names per cell - just iterate over all names finding cells if they exist\n return _.map(this.matrixMap, (matrix, name) => this.getRanges(name, matrix)).filter(\n definedName => definedName.ranges.length\n );\n }\n\n set model(value) {\n // value is [ { name, ranges }, ... ]\n const matrixMap = (this.matrixMap = {});\n value.forEach(definedName => {\n const matrix = (matrixMap[definedName.name] = new CellMatrix());\n definedName.ranges.forEach(rangeStr => {\n if (rangeRegexp.test(rangeStr.split('!').pop() || '')) {\n matrix.addCell(rangeStr);\n }\n });\n });\n }\n}\n\nmodule.exports = DefinedNames;\n","'use strict';\n\nmodule.exports = {\n ValueType: {\n Null: 0,\n Merge: 1,\n Number: 2,\n String: 3,\n Date: 4,\n Hyperlink: 5,\n Formula: 6,\n SharedString: 7,\n RichText: 8,\n Boolean: 9,\n Error: 10,\n },\n FormulaType: {\n None: 0,\n Master: 1,\n Shared: 2,\n },\n RelationshipType: {\n None: 0,\n OfficeDocument: 1,\n Worksheet: 2,\n CalcChain: 3,\n SharedStrings: 4,\n Styles: 5,\n Theme: 6,\n Hyperlink: 7,\n },\n DocumentType: {\n Xlsx: 1,\n },\n ReadingOrder: {\n LeftToRight: 1,\n RightToLeft: 2,\n },\n ErrorValue: {\n NotApplicable: '#N/A',\n Ref: '#REF!',\n Name: '#NAME?',\n DivZero: '#DIV/0!',\n Null: '#NULL!',\n Value: '#VALUE!',\n Num: '#NUM!',\n },\n};\n","const colCache = require('../utils/col-cache');\nconst Anchor = require('./anchor');\n\nclass Image {\n constructor(worksheet, model) {\n this.worksheet = worksheet;\n this.model = model;\n }\n\n get model() {\n switch (this.type) {\n case 'background':\n return {\n type: this.type,\n imageId: this.imageId,\n };\n case 'image':\n return {\n type: this.type,\n imageId: this.imageId,\n hyperlinks: this.range.hyperlinks,\n range: {\n tl: this.range.tl.model,\n br: this.range.br && this.range.br.model,\n ext: this.range.ext,\n editAs: this.range.editAs,\n },\n };\n default:\n throw new Error('Invalid Image Type');\n }\n }\n\n set model({type, imageId, range, hyperlinks}) {\n this.type = type;\n this.imageId = imageId;\n\n if (type === 'image') {\n if (typeof range === 'string') {\n const decoded = colCache.decode(range);\n this.range = {\n tl: new Anchor(this.worksheet, {col: decoded.left, row: decoded.top}, -1),\n br: new Anchor(this.worksheet, {col: decoded.right, row: decoded.bottom}, 0),\n editAs: 'oneCell',\n };\n } else {\n this.range = {\n tl: new Anchor(this.worksheet, range.tl, 0),\n br: range.br && new Anchor(this.worksheet, range.br, 0),\n ext: range.ext,\n editAs: range.editAs,\n hyperlinks: hyperlinks || range.hyperlinks,\n };\n }\n }\n }\n}\n\nmodule.exports = Image;\n","const _ = require('../utils/under-dash');\n\nclass Note {\n constructor(note) {\n this.note = note;\n }\n\n get model() {\n let value = null;\n switch (typeof this.note) {\n case 'string':\n value = {\n type: 'note',\n note: {\n texts: [\n {\n text: this.note,\n },\n ],\n },\n };\n break;\n default:\n value = {\n type: 'note',\n note: this.note,\n };\n break;\n }\n // Suitable for all cell comments\n return _.deepMerge({}, Note.DEFAULT_CONFIGS, value);\n }\n\n set model(value) {\n const {note} = value;\n const {texts} = note;\n if (texts.length === 1 && Object.keys(texts[0]).length === 1) {\n this.note = texts[0].text;\n } else {\n this.note = note;\n }\n }\n\n static fromModel(model) {\n const note = new Note();\n note.model = model;\n return note;\n }\n}\n\nNote.DEFAULT_CONFIGS = {\n note: {\n margins: {\n insetmode: 'auto',\n inset: [0.13, 0.13, 0.25, 0.25],\n },\n protection: {\n locked: 'True',\n lockText: 'True',\n },\n editAs: 'absolute',\n },\n};\n\nmodule.exports = Note;\n","const colCache = require('../utils/col-cache');\n\n// used by worksheet to calculate sheet dimensions\nclass Range {\n constructor() {\n this.decode(arguments);\n }\n\n setTLBR(t, l, b, r, s) {\n if (arguments.length < 4) {\n // setTLBR(tl, br, s)\n const tl = colCache.decodeAddress(t);\n const br = colCache.decodeAddress(l);\n this.model = {\n top: Math.min(tl.row, br.row),\n left: Math.min(tl.col, br.col),\n bottom: Math.max(tl.row, br.row),\n right: Math.max(tl.col, br.col),\n sheetName: b,\n };\n\n this.setTLBR(tl.row, tl.col, br.row, br.col, s);\n } else {\n // setTLBR(t, l, b, r, s)\n this.model = {\n top: Math.min(t, b),\n left: Math.min(l, r),\n bottom: Math.max(t, b),\n right: Math.max(l, r),\n sheetName: s,\n };\n }\n }\n\n decode(argv) {\n switch (argv.length) {\n case 5: // [t,l,b,r,s]\n this.setTLBR(argv[0], argv[1], argv[2], argv[3], argv[4]);\n break;\n case 4: // [t,l,b,r]\n this.setTLBR(argv[0], argv[1], argv[2], argv[3]);\n break;\n\n case 3: // [tl,br,s]\n this.setTLBR(argv[0], argv[1], argv[2]);\n break;\n case 2: // [tl,br]\n this.setTLBR(argv[0], argv[1]);\n break;\n\n case 1: {\n const value = argv[0];\n if (value instanceof Range) {\n // copy constructor\n this.model = {\n top: value.model.top,\n left: value.model.left,\n bottom: value.model.bottom,\n right: value.model.right,\n sheetName: value.sheetName,\n };\n } else if (value instanceof Array) {\n // an arguments array\n this.decode(value);\n } else if (value.top && value.left && value.bottom && value.right) {\n // a model\n this.model = {\n top: value.top,\n left: value.left,\n bottom: value.bottom,\n right: value.right,\n sheetName: value.sheetName,\n };\n } else {\n // [sheetName!]tl:br\n const tlbr = colCache.decodeEx(value);\n if (tlbr.top) {\n this.model = {\n top: tlbr.top,\n left: tlbr.left,\n bottom: tlbr.bottom,\n right: tlbr.right,\n sheetName: tlbr.sheetName,\n };\n } else {\n this.model = {\n top: tlbr.row,\n left: tlbr.col,\n bottom: tlbr.row,\n right: tlbr.col,\n sheetName: tlbr.sheetName,\n };\n }\n }\n break;\n }\n\n case 0:\n this.model = {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n };\n break;\n\n default:\n throw new Error(`Invalid number of arguments to _getDimensions() - ${argv.length}`);\n }\n }\n\n get top() {\n return this.model.top || 1;\n }\n\n set top(value) {\n this.model.top = value;\n }\n\n get left() {\n return this.model.left || 1;\n }\n\n set left(value) {\n this.model.left = value;\n }\n\n get bottom() {\n return this.model.bottom || 1;\n }\n\n set bottom(value) {\n this.model.bottom = value;\n }\n\n get right() {\n return this.model.right || 1;\n }\n\n set right(value) {\n this.model.right = value;\n }\n\n get sheetName() {\n return this.model.sheetName;\n }\n\n set sheetName(value) {\n this.model.sheetName = value;\n }\n\n get _serialisedSheetName() {\n const {sheetName} = this.model;\n if (sheetName) {\n if (/^[a-zA-Z0-9]*$/.test(sheetName)) {\n return `${sheetName}!`;\n }\n return `'${sheetName}'!`;\n }\n return '';\n }\n\n expand(top, left, bottom, right) {\n if (!this.model.top || top < this.top) this.top = top;\n if (!this.model.left || left < this.left) this.left = left;\n if (!this.model.bottom || bottom > this.bottom) this.bottom = bottom;\n if (!this.model.right || right > this.right) this.right = right;\n }\n\n expandRow(row) {\n if (row) {\n const {dimensions, number} = row;\n if (dimensions) {\n this.expand(number, dimensions.min, number, dimensions.max);\n }\n }\n }\n\n expandToAddress(addressStr) {\n const address = colCache.decodeEx(addressStr);\n this.expand(address.row, address.col, address.row, address.col);\n }\n\n get tl() {\n return colCache.n2l(this.left) + this.top;\n }\n\n get $t$l() {\n return `$${colCache.n2l(this.left)}$${this.top}`;\n }\n\n get br() {\n return colCache.n2l(this.right) + this.bottom;\n }\n\n get $b$r() {\n return `$${colCache.n2l(this.right)}$${this.bottom}`;\n }\n\n get range() {\n return `${this._serialisedSheetName + this.tl}:${this.br}`;\n }\n\n get $range() {\n return `${this._serialisedSheetName + this.$t$l}:${this.$b$r}`;\n }\n\n get shortRange() {\n return this.count > 1 ? this.range : this._serialisedSheetName + this.tl;\n }\n\n get $shortRange() {\n return this.count > 1 ? this.$range : this._serialisedSheetName + this.$t$l;\n }\n\n get count() {\n return (1 + this.bottom - this.top) * (1 + this.right - this.left);\n }\n\n toString() {\n return this.range;\n }\n\n intersects(other) {\n if (other.sheetName && this.sheetName && other.sheetName !== this.sheetName) return false;\n if (other.bottom < this.top) return false;\n if (other.top > this.bottom) return false;\n if (other.right < this.left) return false;\n if (other.left > this.right) return false;\n return true;\n }\n\n contains(addressStr) {\n const address = colCache.decodeEx(addressStr);\n return this.containsEx(address);\n }\n\n containsEx(address) {\n if (address.sheetName && this.sheetName && address.sheetName !== this.sheetName) return false;\n return (\n address.row >= this.top &&\n address.row <= this.bottom &&\n address.col >= this.left &&\n address.col <= this.right\n );\n }\n\n forEachAddress(cb) {\n for (let col = this.left; col <= this.right; col++) {\n for (let row = this.top; row <= this.bottom; row++) {\n cb(colCache.encodeAddress(row, col), row, col);\n }\n }\n }\n}\n\nmodule.exports = Range;\n","'use strict';\n\nconst _ = require('../utils/under-dash');\n\nconst Enums = require('./enums');\nconst colCache = require('../utils/col-cache');\nconst Cell = require('./cell');\n\nclass Row {\n constructor(worksheet, number) {\n this._worksheet = worksheet;\n this._number = number;\n this._cells = [];\n this.style = {};\n this.outlineLevel = 0;\n }\n\n // return the row number\n get number() {\n return this._number;\n }\n\n get worksheet() {\n return this._worksheet;\n }\n\n // Inform Streaming Writer that this row (and all rows before it) are complete\n // and ready to write. Has no effect on Worksheet document\n commit() {\n this._worksheet._commitRow(this); // eslint-disable-line no-underscore-dangle\n }\n\n // helps GC by breaking cyclic references\n destroy() {\n delete this._worksheet;\n delete this._cells;\n delete this.style;\n }\n\n findCell(colNumber) {\n return this._cells[colNumber - 1];\n }\n\n // given {address, row, col}, find or create new cell\n getCellEx(address) {\n let cell = this._cells[address.col - 1];\n if (!cell) {\n const column = this._worksheet.getColumn(address.col);\n cell = new Cell(this, column, address.address);\n this._cells[address.col - 1] = cell;\n }\n return cell;\n }\n\n // get cell by key, letter or column number\n getCell(col) {\n if (typeof col === 'string') {\n // is it a key?\n const column = this._worksheet.getColumnKey(col);\n if (column) {\n col = column.number;\n } else {\n col = colCache.l2n(col);\n }\n }\n return (\n this._cells[col - 1] ||\n this.getCellEx({\n address: colCache.encodeAddress(this._number, col),\n row: this._number,\n col,\n })\n );\n }\n\n // remove cell(s) and shift all higher cells down by count\n splice(start, count, ...inserts) {\n const nKeep = start + count;\n const nExpand = inserts.length - count;\n const nEnd = this._cells.length;\n let i;\n let cSrc;\n let cDst;\n\n if (nExpand < 0) {\n // remove cells\n for (i = start + inserts.length; i <= nEnd; i++) {\n cDst = this._cells[i - 1];\n cSrc = this._cells[i - nExpand - 1];\n if (cSrc) {\n cDst = this.getCell(i);\n cDst.value = cSrc.value;\n cDst.style = cSrc.style;\n // eslint-disable-next-line no-underscore-dangle\n cDst._comment = cSrc._comment;\n } else if (cDst) {\n cDst.value = null;\n cDst.style = {};\n // eslint-disable-next-line no-underscore-dangle\n cDst._comment = undefined;\n }\n }\n } else if (nExpand > 0) {\n // insert new cells\n for (i = nEnd; i >= nKeep; i--) {\n cSrc = this._cells[i - 1];\n if (cSrc) {\n cDst = this.getCell(i + nExpand);\n cDst.value = cSrc.value;\n cDst.style = cSrc.style;\n // eslint-disable-next-line no-underscore-dangle\n cDst._comment = cSrc._comment;\n } else {\n this._cells[i + nExpand - 1] = undefined;\n }\n }\n }\n\n // now add the new values\n for (i = 0; i < inserts.length; i++) {\n cDst = this.getCell(start + i);\n cDst.value = inserts[i];\n cDst.style = {};\n // eslint-disable-next-line no-underscore-dangle\n cDst._comment = undefined;\n }\n }\n\n // Iterate over all non-null cells in this row\n eachCell(options, iteratee) {\n if (!iteratee) {\n iteratee = options;\n options = null;\n }\n if (options && options.includeEmpty) {\n const n = this._cells.length;\n for (let i = 1; i <= n; i++) {\n iteratee(this.getCell(i), i);\n }\n } else {\n this._cells.forEach((cell, index) => {\n if (cell && cell.type !== Enums.ValueType.Null) {\n iteratee(cell, index + 1);\n }\n });\n }\n }\n\n // ===========================================================================\n // Page Breaks\n addPageBreak(lft, rght) {\n const ws = this._worksheet;\n const left = Math.max(0, lft - 1) || 0;\n const right = Math.max(0, rght - 1) || 16838;\n const pb = {\n id: this._number,\n max: right,\n man: 1,\n };\n if (left) pb.min = left;\n\n ws.rowBreaks.push(pb);\n }\n\n // return a sparse array of cell values\n get values() {\n const values = [];\n this._cells.forEach(cell => {\n if (cell && cell.type !== Enums.ValueType.Null) {\n values[cell.col] = cell.value;\n }\n });\n return values;\n }\n\n // set the values by contiguous or sparse array, or by key'd object literal\n set values(value) {\n // this operation is not additive - any prior cells are removed\n this._cells = [];\n if (!value) {\n // empty row\n } else if (value instanceof Array) {\n let offset = 0;\n if (value.hasOwnProperty('0')) {\n // contiguous array - start at column 1\n offset = 1;\n }\n value.forEach((item, index) => {\n if (item !== undefined) {\n this.getCellEx({\n address: colCache.encodeAddress(this._number, index + offset),\n row: this._number,\n col: index + offset,\n }).value = item;\n }\n });\n } else {\n // assume object with column keys\n this._worksheet.eachColumnKey((column, key) => {\n if (value[key] !== undefined) {\n this.getCellEx({\n address: colCache.encodeAddress(this._number, column.number),\n row: this._number,\n col: column.number,\n }).value = value[key];\n }\n });\n }\n }\n\n // returns true if the row includes at least one cell with a value\n get hasValues() {\n return _.some(this._cells, cell => cell && cell.type !== Enums.ValueType.Null);\n }\n\n get cellCount() {\n return this._cells.length;\n }\n\n get actualCellCount() {\n let count = 0;\n this.eachCell(() => {\n count++;\n });\n return count;\n }\n\n // get the min and max column number for the non-null cells in this row or null\n get dimensions() {\n let min = 0;\n let max = 0;\n this._cells.forEach(cell => {\n if (cell && cell.type !== Enums.ValueType.Null) {\n if (!min || min > cell.col) {\n min = cell.col;\n }\n if (max < cell.col) {\n max = cell.col;\n }\n }\n });\n return min > 0\n ? {\n min,\n max,\n }\n : null;\n }\n\n // =========================================================================\n // styles\n _applyStyle(name, value) {\n this.style[name] = value;\n this._cells.forEach(cell => {\n if (cell) {\n cell[name] = value;\n }\n });\n return value;\n }\n\n get numFmt() {\n return this.style.numFmt;\n }\n\n set numFmt(value) {\n this._applyStyle('numFmt', value);\n }\n\n get font() {\n return this.style.font;\n }\n\n set font(value) {\n this._applyStyle('font', value);\n }\n\n get alignment() {\n return this.style.alignment;\n }\n\n set alignment(value) {\n this._applyStyle('alignment', value);\n }\n\n get protection() {\n return this.style.protection;\n }\n\n set protection(value) {\n this._applyStyle('protection', value);\n }\n\n get border() {\n return this.style.border;\n }\n\n set border(value) {\n this._applyStyle('border', value);\n }\n\n get fill() {\n return this.style.fill;\n }\n\n set fill(value) {\n this._applyStyle('fill', value);\n }\n\n get hidden() {\n return !!this._hidden;\n }\n\n set hidden(value) {\n this._hidden = value;\n }\n\n get outlineLevel() {\n return this._outlineLevel || 0;\n }\n\n set outlineLevel(value) {\n this._outlineLevel = value;\n }\n\n get collapsed() {\n return !!(\n this._outlineLevel && this._outlineLevel >= this._worksheet.properties.outlineLevelRow\n );\n }\n\n // =========================================================================\n get model() {\n const cells = [];\n let min = 0;\n let max = 0;\n this._cells.forEach(cell => {\n if (cell) {\n const cellModel = cell.model;\n if (cellModel) {\n if (!min || min > cell.col) {\n min = cell.col;\n }\n if (max < cell.col) {\n max = cell.col;\n }\n cells.push(cellModel);\n }\n }\n });\n\n return this.height || cells.length\n ? {\n cells,\n number: this.number,\n min,\n max,\n height: this.height,\n style: this.style,\n hidden: this.hidden,\n outlineLevel: this.outlineLevel,\n collapsed: this.collapsed,\n }\n : null;\n }\n\n set model(value) {\n if (value.number !== this._number) {\n throw new Error('Invalid row number in model');\n }\n this._cells = [];\n let previousAddress;\n value.cells.forEach(cellModel => {\n switch (cellModel.type) {\n case Cell.Types.Merge:\n // special case - don't add this types\n break;\n default: {\n let address;\n if (cellModel.address) {\n address = colCache.decodeAddress(cellModel.address);\n } else if (previousAddress) {\n // This is a <c> element without an r attribute\n // Assume that it's the cell for the next column\n const {row} = previousAddress;\n const col = previousAddress.col + 1;\n address = {\n row,\n col,\n address: colCache.encodeAddress(row, col),\n $col$row: `$${colCache.n2l(col)}$${row}`,\n };\n }\n previousAddress = address;\n const cell = this.getCellEx(address);\n cell.model = cellModel;\n break;\n }\n }\n });\n\n if (value.height) {\n this.height = value.height;\n } else {\n delete this.height;\n }\n\n this.hidden = value.hidden;\n this.outlineLevel = value.outlineLevel || 0;\n\n this.style = (value.style && JSON.parse(JSON.stringify(value.style))) || {};\n }\n}\n\nmodule.exports = Row;\n","/* eslint-disable max-classes-per-file */\nconst colCache = require('../utils/col-cache');\n\nclass Column {\n // wrapper around column model, allowing access and manipulation\n constructor(table, column, index) {\n this.table = table;\n this.column = column;\n this.index = index;\n }\n\n _set(name, value) {\n this.table.cacheState();\n this.column[name] = value;\n }\n\n /* eslint-disable lines-between-class-members */\n get name() {\n return this.column.name;\n }\n set name(value) {\n this._set('name', value);\n }\n\n get filterButton() {\n return this.column.filterButton;\n }\n set filterButton(value) {\n this.column.filterButton = value;\n }\n\n get style() {\n return this.column.style;\n }\n set style(value) {\n this.column.style = value;\n }\n\n get totalsRowLabel() {\n return this.column.totalsRowLabel;\n }\n set totalsRowLabel(value) {\n this._set('totalsRowLabel', value);\n }\n\n get totalsRowFunction() {\n return this.column.totalsRowFunction;\n }\n set totalsRowFunction(value) {\n this._set('totalsRowFunction', value);\n }\n\n get totalsRowResult() {\n return this.column.totalsRowResult;\n }\n set totalsRowResult(value) {\n this._set('totalsRowResult', value);\n }\n\n get totalsRowFormula() {\n return this.column.totalsRowFormula;\n }\n set totalsRowFormula(value) {\n this._set('totalsRowFormula', value);\n }\n /* eslint-enable lines-between-class-members */\n}\n\nclass Table {\n constructor(worksheet, table) {\n this.worksheet = worksheet;\n if (table) {\n this.table = table;\n // check things are ok first\n this.validate();\n\n this.store();\n }\n }\n\n getFormula(column) {\n // get the correct formula to apply to the totals row\n switch (column.totalsRowFunction) {\n case 'none':\n return null;\n case 'average':\n return `SUBTOTAL(101,${this.table.name}[${column.name}])`;\n case 'countNums':\n return `SUBTOTAL(102,${this.table.name}[${column.name}])`;\n case 'count':\n return `SUBTOTAL(103,${this.table.name}[${column.name}])`;\n case 'max':\n return `SUBTOTAL(104,${this.table.name}[${column.name}])`;\n case 'min':\n return `SUBTOTAL(105,${this.table.name}[${column.name}])`;\n case 'stdDev':\n return `SUBTOTAL(106,${this.table.name}[${column.name}])`;\n case 'var':\n return `SUBTOTAL(107,${this.table.name}[${column.name}])`;\n case 'sum':\n return `SUBTOTAL(109,${this.table.name}[${column.name}])`;\n case 'custom':\n return column.totalsRowFormula;\n default:\n throw new Error(`Invalid Totals Row Function: ${column.totalsRowFunction}`);\n }\n }\n\n get width() {\n // width of the table\n return this.table.columns.length;\n }\n\n get height() {\n // height of the table data\n return this.table.rows.length;\n }\n\n get filterHeight() {\n // height of the table data plus optional header row\n return this.height + (this.table.headerRow ? 1 : 0);\n }\n\n get tableHeight() {\n // full height of the table on the sheet\n return this.filterHeight + (this.table.totalsRow ? 1 : 0);\n }\n\n validate() {\n const {table} = this;\n // set defaults and check is valid\n const assign = (o, name, dflt) => {\n if (o[name] === undefined) {\n o[name] = dflt;\n }\n };\n assign(table, 'headerRow', true);\n assign(table, 'totalsRow', false);\n\n assign(table, 'style', {});\n assign(table.style, 'theme', 'TableStyleMedium2');\n assign(table.style, 'showFirstColumn', false);\n assign(table.style, 'showLastColumn', false);\n assign(table.style, 'showRowStripes', false);\n assign(table.style, 'showColumnStripes', false);\n\n const assert = (test, message) => {\n if (!test) {\n throw new Error(message);\n }\n };\n assert(table.ref, 'Table must have ref');\n assert(table.columns, 'Table must have column definitions');\n assert(table.rows, 'Table must have row definitions');\n\n table.tl = colCache.decodeAddress(table.ref);\n const {row, col} = table.tl;\n assert(row > 0, 'Table must be on valid row');\n assert(col > 0, 'Table must be on valid col');\n\n const {width, filterHeight, tableHeight} = this;\n\n // autoFilterRef is a range that includes optional headers only\n table.autoFilterRef = colCache.encode(row, col, row + filterHeight - 1, col + width - 1);\n\n // tableRef is a range that includes optional headers and totals\n table.tableRef = colCache.encode(row, col, row + tableHeight - 1, col + width - 1);\n\n table.columns.forEach((column, i) => {\n assert(column.name, `Column ${i} must have a name`);\n if (i === 0) {\n assign(column, 'totalsRowLabel', 'Total');\n } else {\n assign(column, 'totalsRowFunction', 'none');\n column.totalsRowFormula = this.getFormula(column);\n }\n });\n }\n\n store() {\n // where the table needs to store table data, headers, footers in\n // the sheet...\n const assignStyle = (cell, style) => {\n if (style) {\n Object.keys(style).forEach(key => {\n cell[key] = style[key];\n });\n }\n };\n\n const {worksheet, table} = this;\n const {row, col} = table.tl;\n let count = 0;\n if (table.headerRow) {\n const r = worksheet.getRow(row + count++);\n table.columns.forEach((column, j) => {\n const {style, name} = column;\n const cell = r.getCell(col + j);\n cell.value = name;\n assignStyle(cell, style);\n });\n }\n table.rows.forEach(data => {\n const r = worksheet.getRow(row + count++);\n data.forEach((value, j) => {\n const cell = r.getCell(col + j);\n cell.value = value;\n\n assignStyle(cell, table.columns[j].style);\n });\n });\n\n if (table.totalsRow) {\n const r = worksheet.getRow(row + count++);\n table.columns.forEach((column, j) => {\n const cell = r.getCell(col + j);\n if (j === 0) {\n cell.value = column.totalsRowLabel;\n } else {\n const formula = this.getFormula(column);\n if (formula) {\n cell.value = {\n formula: column.totalsRowFormula,\n result: column.totalsRowResult,\n };\n } else {\n cell.value = null;\n }\n }\n\n assignStyle(cell, column.style);\n });\n }\n }\n\n load(worksheet) {\n // where the table will read necessary features from a loaded sheet\n const {table} = this;\n const {row, col} = table.tl;\n let count = 0;\n if (table.headerRow) {\n const r = worksheet.getRow(row + count++);\n table.columns.forEach((column, j) => {\n const cell = r.getCell(col + j);\n cell.value = column.name;\n });\n }\n table.rows.forEach(data => {\n const r = worksheet.getRow(row + count++);\n data.forEach((value, j) => {\n const cell = r.getCell(col + j);\n cell.value = value;\n });\n });\n\n if (table.totalsRow) {\n const r = worksheet.getRow(row + count++);\n table.columns.forEach((column, j) => {\n const cell = r.getCell(col + j);\n if (j === 0) {\n cell.value = column.totalsRowLabel;\n } else {\n const formula = this.getFormula(column);\n if (formula) {\n cell.value = {\n formula: column.totalsRowFormula,\n result: column.totalsRowResult,\n };\n }\n }\n });\n }\n }\n\n get model() {\n return this.table;\n }\n\n set model(value) {\n this.table = value;\n }\n\n // ================================================================\n // TODO: Mutating methods\n cacheState() {\n if (!this._cache) {\n this._cache = {\n ref: this.ref,\n width: this.width,\n tableHeight: this.tableHeight,\n };\n }\n }\n\n commit() {\n // changes may have been made that might have on-sheet effects\n if (!this._cache) {\n return;\n }\n\n // check things are ok first\n this.validate();\n\n const ref = colCache.decodeAddress(this._cache.ref);\n if (this.ref !== this._cache.ref) {\n // wipe out whole table footprint at previous location\n for (let i = 0; i < this._cache.tableHeight; i++) {\n const row = this.worksheet.getRow(ref.row + i);\n for (let j = 0; j < this._cache.width; j++) {\n const cell = row.getCell(ref.col + j);\n cell.value = null;\n }\n }\n } else {\n // clear out below table if it has shrunk\n for (let i = this.tableHeight; i < this._cache.tableHeight; i++) {\n const row = this.worksheet.getRow(ref.row + i);\n for (let j = 0; j < this._cache.width; j++) {\n const cell = row.getCell(ref.col + j);\n cell.value = null;\n }\n }\n\n // clear out to right of table if it has lost columns\n for (let i = 0; i < this.tableHeight; i++) {\n const row = this.worksheet.getRow(ref.row + i);\n for (let j = this.width; j < this._cache.width; j++) {\n const cell = row.getCell(ref.col + j);\n cell.value = null;\n }\n }\n }\n\n this.store();\n }\n\n addRow(values, rowNumber) {\n // Add a row of data, either insert at rowNumber or append\n this.cacheState();\n\n if (rowNumber === undefined) {\n this.table.rows.push(values);\n } else {\n this.table.rows.splice(rowNumber, 0, values);\n }\n }\n\n removeRows(rowIndex, count = 1) {\n // Remove a rows of data\n this.cacheState();\n this.table.rows.splice(rowIndex, count);\n }\n\n getColumn(colIndex) {\n const column = this.table.columns[colIndex];\n return new Column(this, column, colIndex);\n }\n\n addColumn(column, values, colIndex) {\n // Add a new column, including column defn and values\n // Inserts at colNumber or adds to the right\n this.cacheState();\n\n if (colIndex === undefined) {\n this.table.columns.push(column);\n this.table.rows.forEach((row, i) => {\n row.push(values[i]);\n });\n } else {\n this.table.columns.splice(colIndex, 0, column);\n this.table.rows.forEach((row, i) => {\n row.splice(colIndex, 0, values[i]);\n });\n }\n }\n\n removeColumns(colIndex, count = 1) {\n // Remove a column with data\n this.cacheState();\n\n this.table.columns.splice(colIndex, count);\n this.table.rows.forEach(row => {\n row.splice(colIndex, count);\n });\n }\n\n _assign(target, prop, value) {\n this.cacheState();\n target[prop] = value;\n }\n\n /* eslint-disable lines-between-class-members */\n get ref() {\n return this.table.ref;\n }\n set ref(value) {\n this._assign(this.table, 'ref', value);\n }\n\n get name() {\n return this.table.name;\n }\n set name(value) {\n this.table.name = value;\n }\n\n get displayName() {\n return this.table.displyName || this.table.name;\n }\n set displayNamename(value) {\n this.table.displayName = value;\n }\n\n get headerRow() {\n return this.table.headerRow;\n }\n set headerRow(value) {\n this._assign(this.table, 'headerRow', value);\n }\n\n get totalsRow() {\n return this.table.totalsRow;\n }\n set totalsRow(value) {\n this._assign(this.table, 'totalsRow', value);\n }\n\n get theme() {\n return this.table.style.name;\n }\n set theme(value) {\n this.table.style.name = value;\n }\n\n get showFirstColumn() {\n return this.table.style.showFirstColumn;\n }\n set showFirstColumn(value) {\n this.table.style.showFirstColumn = value;\n }\n\n get showLastColumn() {\n return this.table.style.showLastColumn;\n }\n set showLastColumn(value) {\n this.table.style.showLastColumn = value;\n }\n\n get showRowStripes() {\n return this.table.style.showRowStripes;\n }\n set showRowStripes(value) {\n this.table.style.showRowStripes = value;\n }\n\n get showColumnStripes() {\n return this.table.style.showColumnStripes;\n }\n set showColumnStripes(value) {\n this.table.style.showColumnStripes = value;\n }\n /* eslint-enable lines-between-class-members */\n}\n\nmodule.exports = Table;\n","'use strict';\n\nconst Worksheet = require('./worksheet');\nconst DefinedNames = require('./defined-names');\nconst XLSX = require('../xlsx/xlsx');\nconst CSV = require('../csv/csv');\n\n// Workbook requirements\n// Load and Save from file and stream\n// Access/Add/Delete individual worksheets\n// Manage String table, Hyperlink table, etc.\n// Manage scaffolding for contained objects to write to/read from\n\nclass Workbook {\n constructor() {\n this.category = '';\n this.company = '';\n this.created = new Date();\n this.description = '';\n this.keywords = '';\n this.manager = '';\n this.modified = this.created;\n this.properties = {};\n this.calcProperties = {};\n this._worksheets = [];\n this.subject = '';\n this.title = '';\n this.views = [];\n this.media = [];\n this._definedNames = new DefinedNames();\n }\n\n get xlsx() {\n if (!this._xlsx) this._xlsx = new XLSX(this);\n return this._xlsx;\n }\n\n get csv() {\n if (!this._csv) this._csv = new CSV(this);\n return this._csv;\n }\n\n get nextId() {\n // find the next unique spot to add worksheet\n for (let i = 1; i < this._worksheets.length; i++) {\n if (!this._worksheets[i]) {\n return i;\n }\n }\n return this._worksheets.length || 1;\n }\n\n addWorksheet(name, options) {\n const id = this.nextId;\n\n // if options is a color, call it tabColor (and signal deprecated message)\n if (options) {\n if (typeof options === 'string') {\n // eslint-disable-next-line no-console\n console.trace(\n 'tabColor argument is now deprecated. Please use workbook.addWorksheet(name, {properties: { tabColor: { argb: \"rbg value\" } }'\n );\n options = {\n properties: {\n tabColor: {argb: options},\n },\n };\n } else if (options.argb || options.theme || options.indexed) {\n // eslint-disable-next-line no-console\n console.trace(\n 'tabColor argument is now deprecated. Please use workbook.addWorksheet(name, {properties: { tabColor: { ... } }'\n );\n options = {\n properties: {\n tabColor: options,\n },\n };\n }\n }\n\n const lastOrderNo = this._worksheets.reduce((acc, ws) => ((ws && ws.orderNo) > acc ? ws.orderNo : acc), 0);\n const worksheetOptions = Object.assign({}, options, {\n id,\n name,\n orderNo: lastOrderNo + 1,\n workbook: this,\n });\n\n const worksheet = new Worksheet(worksheetOptions);\n\n this._worksheets[id] = worksheet;\n return worksheet;\n }\n\n removeWorksheetEx(worksheet) {\n delete this._worksheets[worksheet.id];\n }\n\n removeWorksheet(id) {\n const worksheet = this.getWorksheet(id);\n if (worksheet) {\n worksheet.destroy();\n }\n }\n\n getWorksheet(id) {\n if (id === undefined) {\n return this._worksheets.find(Boolean);\n }\n if (typeof id === 'number') {\n return this._worksheets[id];\n }\n if (typeof id === 'string') {\n return this._worksheets.find(worksheet => worksheet && worksheet.name === id);\n }\n return undefined;\n }\n\n get worksheets() {\n // return a clone of _worksheets\n return this._worksheets\n .slice(1)\n .sort((a, b) => a.orderNo - b.orderNo)\n .filter(Boolean);\n }\n\n eachSheet(iteratee) {\n this.worksheets.forEach(sheet => {\n iteratee(sheet, sheet.id);\n });\n }\n\n get definedNames() {\n return this._definedNames;\n }\n\n clearThemes() {\n // Note: themes are not an exposed feature, meddle at your peril!\n this._themes = undefined;\n }\n\n addImage(image) {\n // TODO: validation?\n const id = this.media.length;\n this.media.push(Object.assign({}, image, {type: 'image'}));\n return id;\n }\n\n getImage(id) {\n return this.media[id];\n }\n\n get model() {\n return {\n creator: this.creator || 'Unknown',\n lastModifiedBy: this.lastModifiedBy || 'Unknown',\n lastPrinted: this.lastPrinted,\n created: this.created,\n modified: this.modified,\n properties: this.properties,\n worksheets: this.worksheets.map(worksheet => worksheet.model),\n sheets: this.worksheets.map(ws => ws.model).filter(Boolean),\n definedNames: this._definedNames.model,\n views: this.views,\n company: this.company,\n manager: this.manager,\n title: this.title,\n subject: this.subject,\n keywords: this.keywords,\n category: this.category,\n description: this.description,\n language: this.language,\n revision: this.revision,\n contentStatus: this.contentStatus,\n themes: this._themes,\n media: this.media,\n calcProperties: this.calcProperties,\n };\n }\n\n set model(value) {\n this.creator = value.creator;\n this.lastModifiedBy = value.lastModifiedBy;\n this.lastPrinted = value.lastPrinted;\n this.created = value.created;\n this.modified = value.modified;\n this.company = value.company;\n this.manager = value.manager;\n this.title = value.title;\n this.subject = value.subject;\n this.keywords = value.keywords;\n this.category = value.category;\n this.description = value.description;\n this.language = value.language;\n this.revision = value.revision;\n this.contentStatus = value.contentStatus;\n\n this.properties = value.properties;\n this.calcProperties = value.calcProperties;\n this._worksheets = [];\n value.worksheets.forEach(worksheetModel => {\n const {id, name, state} = worksheetModel;\n const orderNo = value.sheets && value.sheets.findIndex(ws => ws.id === id);\n const worksheet = (this._worksheets[id] = new Worksheet({\n id,\n name,\n orderNo,\n state,\n workbook: this,\n }));\n worksheet.model = worksheetModel;\n });\n\n this._definedNames.model = value.definedNames;\n this.views = value.views;\n this._themes = value.themes;\n this.media = value.media || [];\n }\n}\n\nmodule.exports = Workbook;\n","const _ = require('../utils/under-dash');\n\nconst colCache = require('../utils/col-cache');\nconst Range = require('./range');\nconst Row = require('./row');\nconst Column = require('./column');\nconst Enums = require('./enums');\nconst Image = require('./image');\nconst Table = require('./table');\nconst DataValidations = require('./data-validations');\nconst Encryptor = require('../utils/encryptor');\nconst {copyStyle} = require('../utils/copy-style');\n\n// Worksheet requirements\n// Operate as sheet inside workbook or standalone\n// Load and Save from file and stream\n// Access/Add/Delete individual cells\n// Manage column widths and row heights\n\nclass Worksheet {\n constructor(options) {\n options = options || {};\n this._workbook = options.workbook;\n\n // in a workbook, each sheet will have a number\n this.id = options.id;\n this.orderNo = options.orderNo;\n\n // and a name\n this.name = options.name;\n\n // add a state\n this.state = options.state || 'visible';\n\n // rows allows access organised by row. Sparse array of arrays indexed by row-1, col\n // Note: _rows is zero based. Must subtract 1 to go from cell.row to index\n this._rows = [];\n\n // column definitions\n this._columns = null;\n\n // column keys (addRow convenience): key ==> this._collumns index\n this._keys = {};\n\n // keep record of all merges\n this._merges = {};\n\n // record of all row and column pageBreaks\n this.rowBreaks = [];\n\n // for tabColor, default row height, outline levels, etc\n this.properties = Object.assign(\n {},\n {\n defaultRowHeight: 15,\n dyDescent: 55,\n outlineLevelCol: 0,\n outlineLevelRow: 0,\n },\n options.properties\n );\n\n // for all things printing\n this.pageSetup = Object.assign(\n {},\n {\n margins: {left: 0.7, right: 0.7, top: 0.75, bottom: 0.75, header: 0.3, footer: 0.3},\n orientation: 'portrait',\n horizontalDpi: 4294967295,\n verticalDpi: 4294967295,\n fitToPage: !!(\n options.pageSetup &&\n (options.pageSetup.fitToWidth || options.pageSetup.fitToHeight) &&\n !options.pageSetup.scale\n ),\n pageOrder: 'downThenOver',\n blackAndWhite: false,\n draft: false,\n cellComments: 'None',\n errors: 'displayed',\n scale: 100,\n fitToWidth: 1,\n fitToHeight: 1,\n paperSize: undefined,\n showRowColHeaders: false,\n showGridLines: false,\n firstPageNumber: undefined,\n horizontalCentered: false,\n verticalCentered: false,\n rowBreaks: null,\n colBreaks: null,\n },\n options.pageSetup\n );\n\n this.headerFooter = Object.assign(\n {},\n {\n differentFirst: false,\n differentOddEven: false,\n oddHeader: null,\n oddFooter: null,\n evenHeader: null,\n evenFooter: null,\n firstHeader: null,\n firstFooter: null,\n },\n options.headerFooter\n );\n\n this.dataValidations = new DataValidations();\n\n // for freezepanes, split, zoom, gridlines, etc\n this.views = options.views || [];\n\n this.autoFilter = options.autoFilter || null;\n\n // for images, etc\n this._media = [];\n\n // worksheet protection\n this.sheetProtection = null;\n\n // for tables\n this.tables = {};\n\n this.conditionalFormattings = [];\n }\n\n get name() {\n return this._name;\n }\n\n set name(name) {\n if (name === undefined) {\n name = `sheet${this.id}`;\n }\n\n if (this._name === name) return;\n\n if (typeof name !== 'string') {\n throw new Error('The name has to be a string.');\n }\n\n if (name === '') {\n throw new Error('The name can\\'t be empty.');\n }\n\n if (name === 'History') {\n throw new Error('The name \"History\" is protected. Please use a different name.');\n }\n\n // Illegal character in worksheet name: asterisk (*), question mark (?),\n // colon (:), forward slash (/ \\), or bracket ([])\n if (/[*?:/\\\\[\\]]/.test(name)) {\n throw new Error(`Worksheet name ${name} cannot include any of the following characters: * ? : \\\\ / [ ]`);\n }\n\n if (/(^')|('$)/.test(name)) {\n throw new Error(`The first or last character of worksheet name cannot be a single quotation mark: ${name}`);\n }\n\n if (name && name.length > 31) {\n // eslint-disable-next-line no-console\n console.warn(`Worksheet name ${name} exceeds 31 chars. This will be truncated`);\n name = name.substring(0, 31);\n }\n\n if (this._workbook._worksheets.find(ws => ws && ws.name.toLowerCase() === name.toLowerCase())) {\n throw new Error(`Worksheet name already exists: ${name}`);\n }\n\n this._name = name;\n }\n\n get workbook() {\n return this._workbook;\n }\n\n // when you're done with this worksheet, call this to remove from workbook\n destroy() {\n this._workbook.removeWorksheetEx(this);\n }\n\n // Get the bounding range of the cells in this worksheet\n get dimensions() {\n const dimensions = new Range();\n this._rows.forEach(row => {\n if (row) {\n const rowDims = row.dimensions;\n if (rowDims) {\n dimensions.expand(row.number, rowDims.min, row.number, rowDims.max);\n }\n }\n });\n return dimensions;\n }\n\n // =========================================================================\n // Columns\n\n // get the current columns array.\n get columns() {\n return this._columns;\n }\n\n // set the columns from an array of column definitions.\n // Note: any headers defined will overwrite existing values.\n set columns(value) {\n // calculate max header row count\n this._headerRowCount = value.reduce((pv, cv) => {\n const headerCount = (cv.header && 1) || (cv.headers && cv.headers.length) || 0;\n return Math.max(pv, headerCount);\n }, 0);\n\n // construct Column objects\n let count = 1;\n const columns = (this._columns = []);\n value.forEach(defn => {\n const column = new Column(this, count++, false);\n columns.push(column);\n column.defn = defn;\n });\n }\n\n getColumnKey(key) {\n return this._keys[key];\n }\n\n setColumnKey(key, value) {\n this._keys[key] = value;\n }\n\n deleteColumnKey(key) {\n delete this._keys[key];\n }\n\n eachColumnKey(f) {\n _.each(this._keys, f);\n }\n\n // get a single column by col number. If it doesn't exist, create it and any gaps before it\n getColumn(c) {\n if (typeof c === 'string') {\n // if it matches a key'd column, return that\n const col = this._keys[c];\n if (col) return col;\n\n // otherwise, assume letter\n c = colCache.l2n(c);\n }\n if (!this._columns) {\n this._columns = [];\n }\n if (c > this._columns.length) {\n let n = this._columns.length + 1;\n while (n <= c) {\n this._columns.push(new Column(this, n++));\n }\n }\n return this._columns[c - 1];\n }\n\n spliceColumns(start, count, ...inserts) {\n const rows = this._rows;\n const nRows = rows.length;\n if (inserts.length > 0) {\n // must iterate over all rows whether they exist yet or not\n for (let i = 0; i < nRows; i++) {\n const rowArguments = [start, count];\n // eslint-disable-next-line no-loop-func\n inserts.forEach(insert => {\n rowArguments.push(insert[i] || null);\n });\n const row = this.getRow(i + 1);\n // eslint-disable-next-line prefer-spread\n row.splice.apply(row, rowArguments);\n }\n } else {\n // nothing to insert, so just splice all rows\n this._rows.forEach(r => {\n if (r) {\n r.splice(start, count);\n }\n });\n }\n\n // splice column definitions\n const nExpand = inserts.length - count;\n const nKeep = start + count;\n const nEnd = this._columns.length;\n if (nExpand < 0) {\n for (let i = start + inserts.length; i <= nEnd; i++) {\n this.getColumn(i).defn = this.getColumn(i - nExpand).defn;\n }\n } else if (nExpand > 0) {\n for (let i = nEnd; i >= nKeep; i--) {\n this.getColumn(i + nExpand).defn = this.getColumn(i).defn;\n }\n }\n for (let i = start; i < start + inserts.length; i++) {\n this.getColumn(i).defn = null;\n }\n\n // account for defined names\n this.workbook.definedNames.spliceColumns(this.name, start, count, inserts.length);\n }\n\n get lastColumn() {\n return this.getColumn(this.columnCount);\n }\n\n get columnCount() {\n let maxCount = 0;\n this.eachRow(row => {\n maxCount = Math.max(maxCount, row.cellCount);\n });\n return maxCount;\n }\n\n get actualColumnCount() {\n // performance nightmare - for each row, counts all the columns used\n const counts = [];\n let count = 0;\n this.eachRow(row => {\n row.eachCell(({col}) => {\n if (!counts[col]) {\n counts[col] = true;\n count++;\n }\n });\n });\n return count;\n }\n\n // =========================================================================\n // Rows\n\n _commitRow() {\n // nop - allows streaming reader to fill a document\n }\n\n get _lastRowNumber() {\n // need to cope with results of splice\n const rows = this._rows;\n let n = rows.length;\n while (n > 0 && rows[n - 1] === undefined) {\n n--;\n }\n return n;\n }\n\n get _nextRow() {\n return this._lastRowNumber + 1;\n }\n\n get lastRow() {\n if (this._rows.length) {\n return this._rows[this._rows.length - 1];\n }\n return undefined;\n }\n\n // find a row (if exists) by row number\n findRow(r) {\n return this._rows[r - 1];\n }\n\n // find multiple rows (if exists) by row number\n findRows(start, length) {\n return this._rows.slice(start - 1, start - 1 + length);\n }\n\n get rowCount() {\n return this._lastRowNumber;\n }\n\n get actualRowCount() {\n // counts actual rows that have actual data\n let count = 0;\n this.eachRow(() => {\n count++;\n });\n return count;\n }\n\n // get a row by row number.\n getRow(r) {\n let row = this._rows[r - 1];\n if (!row) {\n row = this._rows[r - 1] = new Row(this, r);\n }\n return row;\n }\n\n // get multiple rows by row number.\n getRows(start, length) {\n if (length < 1) return undefined;\n const rows = [];\n for (let i = start; i < start + length; i++) {\n rows.push(this.getRow(i));\n }\n return rows;\n }\n\n addRow(value, style = 'n') {\n const rowNo = this._nextRow;\n const row = this.getRow(rowNo);\n row.values = value;\n this._setStyleOption(rowNo, style[0] === 'i' ? style : 'n');\n return row;\n }\n\n addRows(value, style = 'n') {\n const rows = [];\n value.forEach(row => {\n rows.push(this.addRow(row, style));\n });\n return rows;\n }\n\n insertRow(pos, value, style = 'n') {\n this.spliceRows(pos, 0, value);\n this._setStyleOption(pos, style);\n return this.getRow(pos);\n }\n\n insertRows(pos, values, style = 'n') {\n this.spliceRows(pos, 0, ...values);\n if (style !== 'n') {\n // copy over the styles\n for (let i = 0; i < values.length; i++) {\n if (style[0] === 'o' && this.findRow(values.length + pos + i) !== undefined) {\n this._copyStyle(values.length + pos + i, pos + i, style[1] === '+');\n } else if (style[0] === 'i' && this.findRow(pos - 1) !== undefined) {\n this._copyStyle(pos - 1, pos + i, style[1] === '+');\n }\n }\n }\n return this.getRows(pos, values.length);\n }\n\n // set row at position to same style as of either pervious row (option 'i') or next row (option 'o')\n _setStyleOption(pos, style = 'n') {\n if (style[0] === 'o' && this.findRow(pos + 1) !== undefined) {\n this._copyStyle(pos + 1, pos, style[1] === '+');\n } else if (style[0] === 'i' && this.findRow(pos - 1) !== undefined) {\n this._copyStyle(pos - 1, pos, style[1] === '+');\n }\n }\n\n _copyStyle(src, dest, styleEmpty = false) {\n const rSrc = this.getRow(src);\n const rDst = this.getRow(dest);\n rDst.style = copyStyle(rSrc.style);\n // eslint-disable-next-line no-loop-func\n rSrc.eachCell({includeEmpty: styleEmpty}, (cell, colNumber) => {\n rDst.getCell(colNumber).style = copyStyle(cell.style);\n });\n rDst.height = rSrc.height;\n }\n\n duplicateRow(rowNum, count, insert = false) {\n // create count duplicates of rowNum\n // either inserting new or overwriting existing rows\n\n const rSrc = this._rows[rowNum - 1];\n const inserts = new Array(count).fill(rSrc.values);\n this.spliceRows(rowNum + 1, insert ? 0 : count, ...inserts);\n\n // now copy styles...\n for (let i = 0; i < count; i++) {\n const rDst = this._rows[rowNum + i];\n rDst.style = rSrc.style;\n rDst.height = rSrc.height;\n // eslint-disable-next-line no-loop-func\n rSrc.eachCell({includeEmpty: true}, (cell, colNumber) => {\n rDst.getCell(colNumber).style = cell.style;\n });\n }\n }\n\n spliceRows(start, count, ...inserts) {\n // same problem as row.splice, except worse.\n const nKeep = start + count;\n const nInserts = inserts.length;\n const nExpand = nInserts - count;\n const nEnd = this._rows.length;\n let i;\n let rSrc;\n if (nExpand < 0) {\n // remove rows\n if (start === nEnd) {\n this._rows[nEnd - 1] = undefined;\n }\n for (i = nKeep; i <= nEnd; i++) {\n rSrc = this._rows[i - 1];\n if (rSrc) {\n const rDst = this.getRow(i + nExpand);\n rDst.values = rSrc.values;\n rDst.style = rSrc.style;\n rDst.height = rSrc.height;\n // eslint-disable-next-line no-loop-func\n rSrc.eachCell({includeEmpty: true}, (cell, colNumber) => {\n rDst.getCell(colNumber).style = cell.style;\n });\n this._rows[i - 1] = undefined;\n } else {\n this._rows[i + nExpand - 1] = undefined;\n }\n }\n } else if (nExpand > 0) {\n // insert new cells\n for (i = nEnd; i >= nKeep; i--) {\n rSrc = this._rows[i - 1];\n if (rSrc) {\n const rDst = this.getRow(i + nExpand);\n rDst.values = rSrc.values;\n rDst.style = rSrc.style;\n rDst.height = rSrc.height;\n // eslint-disable-next-line no-loop-func\n rSrc.eachCell({includeEmpty: true}, (cell, colNumber) => {\n rDst.getCell(colNumber).style = cell.style;\n\n // remerge cells accounting for insert offset\n if (cell._value.constructor.name === 'MergeValue') {\n const cellToBeMerged = this.getRow(cell._row._number + nInserts).getCell(colNumber);\n const prevMaster = cell._value._master;\n const newMaster = this.getRow(prevMaster._row._number + nInserts).getCell(prevMaster._column._number);\n cellToBeMerged.merge(newMaster);\n }\n });\n } else {\n this._rows[i + nExpand - 1] = undefined;\n }\n }\n }\n\n // now copy over the new values\n for (i = 0; i < nInserts; i++) {\n const rDst = this.getRow(start + i);\n rDst.style = {};\n rDst.values = inserts[i];\n }\n\n // account for defined names\n this.workbook.definedNames.spliceRows(this.name, start, count, nInserts);\n }\n\n // iterate over every row in the worksheet, including maybe empty rows\n eachRow(options, iteratee) {\n if (!iteratee) {\n iteratee = options;\n options = undefined;\n }\n if (options && options.includeEmpty) {\n const n = this._rows.length;\n for (let i = 1; i <= n; i++) {\n iteratee(this.getRow(i), i);\n }\n } else {\n this._rows.forEach(row => {\n if (row && row.hasValues) {\n iteratee(row, row.number);\n }\n });\n }\n }\n\n // return all rows as sparse array\n getSheetValues() {\n const rows = [];\n this._rows.forEach(row => {\n if (row) {\n rows[row.number] = row.values;\n }\n });\n return rows;\n }\n\n // =========================================================================\n // Cells\n\n // returns the cell at [r,c] or address given by r. If not found, return undefined\n findCell(r, c) {\n const address = colCache.getAddress(r, c);\n const row = this._rows[address.row - 1];\n return row ? row.findCell(address.col) : undefined;\n }\n\n // return the cell at [r,c] or address given by r. If not found, create a new one.\n getCell(r, c) {\n const address = colCache.getAddress(r, c);\n const row = this.getRow(address.row);\n return row.getCellEx(address);\n }\n\n // =========================================================================\n // Merge\n\n // convert the range defined by ['tl:br'], [tl,br] or [t,l,b,r] into a single 'merged' cell\n mergeCells(...cells) {\n const dimensions = new Range(cells);\n this._mergeCellsInternal(dimensions);\n }\n\n mergeCellsWithoutStyle(...cells) {\n const dimensions = new Range(cells);\n this._mergeCellsInternal(dimensions, true);\n }\n\n _mergeCellsInternal(dimensions, ignoreStyle) {\n // check cells aren't already merged\n _.each(this._merges, merge => {\n if (merge.intersects(dimensions)) {\n throw new Error('Cannot merge already merged cells');\n }\n });\n\n // apply merge\n const master = this.getCell(dimensions.top, dimensions.left);\n for (let i = dimensions.top; i <= dimensions.bottom; i++) {\n for (let j = dimensions.left; j <= dimensions.right; j++) {\n // merge all but the master cell\n if (i > dimensions.top || j > dimensions.left) {\n this.getCell(i, j).merge(master, ignoreStyle);\n }\n }\n }\n\n // index merge\n this._merges[master.address] = dimensions;\n }\n\n _unMergeMaster(master) {\n // master is always top left of a rectangle\n const merge = this._merges[master.address];\n if (merge) {\n for (let i = merge.top; i <= merge.bottom; i++) {\n for (let j = merge.left; j <= merge.right; j++) {\n this.getCell(i, j).unmerge();\n }\n }\n delete this._merges[master.address];\n }\n }\n\n get hasMerges() {\n // return true if this._merges has a merge object\n return _.some(this._merges, Boolean);\n }\n\n // scan the range defined by ['tl:br'], [tl,br] or [t,l,b,r] and if any cell is part of a merge,\n // un-merge the group. Note this function can affect multiple merges and merge-blocks are\n // atomic - either they're all merged or all un-merged.\n unMergeCells(...cells) {\n const dimensions = new Range(cells);\n\n // find any cells in that range and unmerge them\n for (let i = dimensions.top; i <= dimensions.bottom; i++) {\n for (let j = dimensions.left; j <= dimensions.right; j++) {\n const cell = this.findCell(i, j);\n if (cell) {\n if (cell.type === Enums.ValueType.Merge) {\n // this cell merges to another master\n this._unMergeMaster(cell.master);\n } else if (this._merges[cell.address]) {\n // this cell is a master\n this._unMergeMaster(cell);\n }\n }\n }\n }\n }\n\n // ===========================================================================\n // Shared/Array Formula\n fillFormula(range, formula, results, shareType = 'shared') {\n // Define formula for top-left cell and share to rest\n const decoded = colCache.decode(range);\n const {top, left, bottom, right} = decoded;\n const width = right - left + 1;\n const masterAddress = colCache.encodeAddress(top, left);\n const isShared = shareType === 'shared';\n\n // work out result accessor\n let getResult;\n if (typeof results === 'function') {\n getResult = results;\n } else if (Array.isArray(results)) {\n if (Array.isArray(results[0])) {\n getResult = (row, col) => results[row - top][col - left];\n } else {\n // eslint-disable-next-line no-mixed-operators\n getResult = (row, col) => results[(row - top) * width + (col - left)];\n }\n } else {\n getResult = () => undefined;\n }\n let first = true;\n for (let r = top; r <= bottom; r++) {\n for (let c = left; c <= right; c++) {\n if (first) {\n this.getCell(r, c).value = {\n shareType,\n formula,\n ref: range,\n result: getResult(r, c),\n };\n first = false;\n } else {\n this.getCell(r, c).value = isShared\n ? {\n sharedFormula: masterAddress,\n result: getResult(r, c),\n }\n : getResult(r, c);\n }\n }\n }\n }\n\n // =========================================================================\n // Images\n addImage(imageId, range) {\n const model = {\n type: 'image',\n imageId,\n range,\n };\n this._media.push(new Image(this, model));\n }\n\n getImages() {\n return this._media.filter(m => m.type === 'image');\n }\n\n addBackgroundImage(imageId) {\n const model = {\n type: 'background',\n imageId,\n };\n this._media.push(new Image(this, model));\n }\n\n getBackgroundImageId() {\n const image = this._media.find(m => m.type === 'background');\n return image && image.imageId;\n }\n\n // =========================================================================\n // Worksheet Protection\n protect(password, options) {\n // TODO: make this function truly async\n // perhaps marshal to worker thread or something\n return new Promise(resolve => {\n this.sheetProtection = {\n sheet: true,\n };\n if (options && 'spinCount' in options) {\n // force spinCount to be integer >= 0\n options.spinCount = Number.isFinite(options.spinCount) ? Math.round(Math.max(0, options.spinCount)) : 100000;\n }\n if (password) {\n this.sheetProtection.algorithmName = 'SHA-512';\n this.sheetProtection.saltValue = Encryptor.randomBytes(16).toString('base64');\n this.sheetProtection.spinCount = options && 'spinCount' in options ? options.spinCount : 100000; // allow user specified spinCount\n this.sheetProtection.hashValue = Encryptor.convertPasswordToHash(\n password,\n 'SHA512',\n this.sheetProtection.saltValue,\n this.sheetProtection.spinCount\n );\n }\n if (options) {\n this.sheetProtection = Object.assign(this.sheetProtection, options);\n if (!password && 'spinCount' in options) {\n delete this.sheetProtection.spinCount;\n }\n }\n resolve();\n });\n }\n\n unprotect() {\n this.sheetProtection = null;\n }\n\n // =========================================================================\n // Tables\n addTable(model) {\n const table = new Table(this, model);\n this.tables[model.name] = table;\n return table;\n }\n\n getTable(name) {\n return this.tables[name];\n }\n\n removeTable(name) {\n delete this.tables[name];\n }\n\n getTables() {\n return Object.values(this.tables);\n }\n\n // ===========================================================================\n // Conditional Formatting\n addConditionalFormatting(cf) {\n this.conditionalFormattings.push(cf);\n }\n\n removeConditionalFormatting(filter) {\n if (typeof filter === 'number') {\n this.conditionalFormattings.splice(filter, 1);\n } else if (filter instanceof Function) {\n this.conditionalFormattings = this.conditionalFormattings.filter(filter);\n } else {\n this.conditionalFormattings = [];\n }\n }\n\n // ===========================================================================\n // Deprecated\n get tabColor() {\n // eslint-disable-next-line no-console\n console.trace('worksheet.tabColor property is now deprecated. Please use worksheet.properties.tabColor');\n return this.properties.tabColor;\n }\n\n set tabColor(value) {\n // eslint-disable-next-line no-console\n console.trace('worksheet.tabColor property is now deprecated. Please use worksheet.properties.tabColor');\n this.properties.tabColor = value;\n }\n\n // ===========================================================================\n // Model\n\n get model() {\n const model = {\n id: this.id,\n name: this.name,\n dataValidations: this.dataValidations.model,\n properties: this.properties,\n state: this.state,\n pageSetup: this.pageSetup,\n headerFooter: this.headerFooter,\n rowBreaks: this.rowBreaks,\n views: this.views,\n autoFilter: this.autoFilter,\n media: this._media.map(medium => medium.model),\n sheetProtection: this.sheetProtection,\n tables: Object.values(this.tables).map(table => table.model),\n conditionalFormattings: this.conditionalFormattings,\n };\n\n // =================================================\n // columns\n model.cols = Column.toModel(this.columns);\n\n // ==========================================================\n // Rows\n const rows = (model.rows = []);\n const dimensions = (model.dimensions = new Range());\n this._rows.forEach(row => {\n const rowModel = row && row.model;\n if (rowModel) {\n dimensions.expand(rowModel.number, rowModel.min, rowModel.number, rowModel.max);\n rows.push(rowModel);\n }\n });\n\n // ==========================================================\n // Merges\n model.merges = [];\n _.each(this._merges, merge => {\n model.merges.push(merge.range);\n });\n\n return model;\n }\n\n _parseRows(model) {\n this._rows = [];\n model.rows.forEach(rowModel => {\n const row = new Row(this, rowModel.number);\n this._rows[row.number - 1] = row;\n row.model = rowModel;\n });\n }\n\n _parseMergeCells(model) {\n _.each(model.mergeCells, merge => {\n // Do not merge styles when importing an Excel file\n // since each cell may have different styles intentionally.\n this.mergeCellsWithoutStyle(merge);\n });\n }\n\n set model(value) {\n this.name = value.name;\n this._columns = Column.fromModel(this, value.cols);\n this._parseRows(value);\n\n this._parseMergeCells(value);\n this.dataValidations = new DataValidations(value.dataValidations);\n this.properties = value.properties;\n this.pageSetup = value.pageSetup;\n this.headerFooter = value.headerFooter;\n this.views = value.views;\n this.autoFilter = value.autoFilter;\n this._media = value.media.map(medium => new Image(this, medium));\n this.sheetProtection = value.sheetProtection;\n this.tables = value.tables.reduce((tables, table) => {\n const t = new Table();\n t.model = table;\n tables[table.name] = t;\n return tables;\n }, {});\n this.conditionalFormattings = value.conditionalFormattings;\n }\n}\n\nmodule.exports = Worksheet;\n","/* eslint-disable import/no-extraneous-dependencies,node/no-unpublished-require */\nrequire('core-js/modules/es.promise');\nrequire('core-js/modules/es.promise.finally');\nrequire('core-js/modules/es.object.assign');\nrequire('core-js/modules/es.object.keys');\nrequire('core-js/modules/es.object.values');\nrequire('core-js/modules/es.symbol');\nrequire('core-js/modules/es.symbol.async-iterator');\n// required by core-js/modules/es.promise Promise.all\nrequire('core-js/modules/es.array.iterator');\n// required by node_modules/saxes/saxes.js SaxesParser.captureTo\nrequire('core-js/modules/es.array.includes');\n// required by lib/doc/workbook.js Workbook.model\nrequire('core-js/modules/es.array.find-index');\n// required by lib/doc/workbook.js Workbook.addWorksheet and Workbook.getWorksheet\nrequire('core-js/modules/es.array.find');\n// required by node_modules/saxes/saxes.js SaxesParser.getCode10\nrequire('core-js/modules/es.string.from-code-point');\n// required by lib/xlsx/xform/sheet/data-validations-xform.js DataValidationsXform.parseClose\nrequire('core-js/modules/es.string.includes');\n// required by lib/utils/utils.js utils.validInt and lib/csv/csv.js CSV.read\nrequire('core-js/modules/es.number.is-nan');\nrequire('regenerator-runtime/runtime');\n\nconst ExcelJS = {\n Workbook: require('./doc/workbook'),\n};\n\n// Object.assign mono-fill\nconst Enums = require('./doc/enums');\n\nObject.keys(Enums).forEach(key => {\n ExcelJS[key] = Enums[key];\n});\n\nmodule.exports = ExcelJS;\n","// eslint-disable-next-line node/no-unsupported-features/node-builtins\nconst textDecoder = typeof TextDecoder === 'undefined' ? null : new TextDecoder('utf-8');\n\nfunction bufferToString(chunk) {\n if (typeof chunk === 'string') {\n return chunk;\n }\n if (textDecoder) {\n return textDecoder.decode(chunk);\n }\n return chunk.toString();\n}\n\nexports.bufferToString = bufferToString;\n","// eslint-disable-next-line node/no-unsupported-features/node-builtins\nconst textEncoder = typeof TextEncoder === 'undefined' ? null : new TextEncoder('utf-8');\nconst {Buffer} = require('buffer');\n\nfunction stringToBuffer(str) {\n if (typeof str !== 'string') {\n return str;\n }\n if (textEncoder) {\n return Buffer.from(textEncoder.encode(str).buffer);\n }\n return Buffer.from(str);\n}\n\nexports.stringToBuffer = stringToBuffer;\n","const _ = require('./under-dash');\nconst colCache = require('./col-cache');\n\nclass CellMatrix {\n constructor(template) {\n this.template = template;\n this.sheets = {};\n }\n\n addCell(addressStr) {\n this.addCellEx(colCache.decodeEx(addressStr));\n }\n\n getCell(addressStr) {\n return this.findCellEx(colCache.decodeEx(addressStr), true);\n }\n\n findCell(addressStr) {\n return this.findCellEx(colCache.decodeEx(addressStr), false);\n }\n\n findCellAt(sheetName, rowNumber, colNumber) {\n const sheet = this.sheets[sheetName];\n const row = sheet && sheet[rowNumber];\n return row && row[colNumber];\n }\n\n addCellEx(address) {\n if (address.top) {\n for (let row = address.top; row <= address.bottom; row++) {\n for (let col = address.left; col <= address.right; col++) {\n this.getCellAt(address.sheetName, row, col);\n }\n }\n } else {\n this.findCellEx(address, true);\n }\n }\n\n getCellEx(address) {\n return this.findCellEx(address, true);\n }\n\n findCellEx(address, create) {\n const sheet = this.findSheet(address, create);\n const row = this.findSheetRow(sheet, address, create);\n return this.findRowCell(row, address, create);\n }\n\n getCellAt(sheetName, rowNumber, colNumber) {\n const sheet = this.sheets[sheetName] || (this.sheets[sheetName] = []);\n const row = sheet[rowNumber] || (sheet[rowNumber] = []);\n const cell =\n row[colNumber] ||\n (row[colNumber] = {\n sheetName,\n address: colCache.n2l(colNumber) + rowNumber,\n row: rowNumber,\n col: colNumber,\n });\n return cell;\n }\n\n removeCellEx(address) {\n const sheet = this.findSheet(address);\n if (!sheet) {\n return;\n }\n const row = this.findSheetRow(sheet, address);\n if (!row) {\n return;\n }\n delete row[address.col];\n }\n\n forEachInSheet(sheetName, callback) {\n const sheet = this.sheets[sheetName];\n if (sheet) {\n sheet.forEach((row, rowNumber) => {\n if (row) {\n row.forEach((cell, colNumber) => {\n if (cell) {\n callback(cell, rowNumber, colNumber);\n }\n });\n }\n });\n }\n }\n\n forEach(callback) {\n _.each(this.sheets, (sheet, sheetName) => {\n this.forEachInSheet(sheetName, callback);\n });\n }\n\n map(callback) {\n const results = [];\n this.forEach(cell => {\n results.push(callback(cell));\n });\n return results;\n }\n\n findSheet(address, create) {\n const name = address.sheetName;\n if (this.sheets[name]) {\n return this.sheets[name];\n }\n if (create) {\n return (this.sheets[name] = []);\n }\n return undefined;\n }\n\n findSheetRow(sheet, address, create) {\n const {row} = address;\n if (sheet && sheet[row]) {\n return sheet[row];\n }\n if (create) {\n return (sheet[row] = []);\n }\n return undefined;\n }\n\n findRowCell(row, address, create) {\n const {col} = address;\n if (row && row[col]) {\n return row[col];\n }\n if (create) {\n return (row[col] = this.template\n ? Object.assign(address, JSON.parse(JSON.stringify(this.template)))\n : address);\n }\n return undefined;\n }\n\n spliceRows(sheetName, start, numDelete, numInsert) {\n const sheet = this.sheets[sheetName];\n if (sheet) {\n const inserts = [];\n for (let i = 0; i < numInsert; i++) {\n inserts.push([]);\n }\n sheet.splice(start, numDelete, ...inserts);\n }\n }\n\n spliceColumns(sheetName, start, numDelete, numInsert) {\n const sheet = this.sheets[sheetName];\n if (sheet) {\n const inserts = [];\n for (let i = 0; i < numInsert; i++) {\n inserts.push(null);\n }\n _.each(sheet, row => {\n row.splice(start, numDelete, ...inserts);\n });\n }\n }\n}\n\nmodule.exports = CellMatrix;\n","const addressRegex = /^[A-Z]+\\d+$/;\n// =========================================================================\n// Column Letter to Number conversion\nconst colCache = {\n _dictionary: [\n 'A',\n 'B',\n 'C',\n 'D',\n 'E',\n 'F',\n 'G',\n 'H',\n 'I',\n 'J',\n 'K',\n 'L',\n 'M',\n 'N',\n 'O',\n 'P',\n 'Q',\n 'R',\n 'S',\n 'T',\n 'U',\n 'V',\n 'W',\n 'X',\n 'Y',\n 'Z',\n ],\n _l2nFill: 0,\n _l2n: {},\n _n2l: [],\n _level(n) {\n if (n <= 26) {\n return 1;\n }\n if (n <= 26 * 26) {\n return 2;\n }\n return 3;\n },\n _fill(level) {\n let c;\n let v;\n let l1;\n let l2;\n let l3;\n let n = 1;\n if (level >= 4) {\n throw new Error('Out of bounds. Excel supports columns from 1 to 16384');\n }\n if (this._l2nFill < 1 && level >= 1) {\n while (n <= 26) {\n c = this._dictionary[n - 1];\n this._n2l[n] = c;\n this._l2n[c] = n;\n n++;\n }\n this._l2nFill = 1;\n }\n if (this._l2nFill < 2 && level >= 2) {\n n = 27;\n while (n <= 26 + (26 * 26)) {\n v = n - (26 + 1);\n l1 = v % 26;\n l2 = Math.floor(v / 26);\n c = this._dictionary[l2] + this._dictionary[l1];\n this._n2l[n] = c;\n this._l2n[c] = n;\n n++;\n }\n this._l2nFill = 2;\n }\n if (this._l2nFill < 3 && level >= 3) {\n n = 26 + (26 * 26) + 1;\n while (n <= 16384) {\n v = n - ((26 * 26) + 26 + 1);\n l1 = v % 26;\n l2 = Math.floor(v / 26) % 26;\n l3 = Math.floor(v / (26 * 26));\n c = this._dictionary[l3] + this._dictionary[l2] + this._dictionary[l1];\n this._n2l[n] = c;\n this._l2n[c] = n;\n n++;\n }\n this._l2nFill = 3;\n }\n },\n l2n(l) {\n if (!this._l2n[l]) {\n this._fill(l.length);\n }\n if (!this._l2n[l]) {\n throw new Error(`Out of bounds. Invalid column letter: ${l}`);\n }\n return this._l2n[l];\n },\n n2l(n) {\n if (n < 1 || n > 16384) {\n throw new Error(`${n} is out of bounds. Excel supports columns from 1 to 16384`);\n }\n if (!this._n2l[n]) {\n this._fill(this._level(n));\n }\n return this._n2l[n];\n },\n\n // =========================================================================\n // Address processing\n _hash: {},\n\n // check if value looks like an address\n validateAddress(value) {\n if (!addressRegex.test(value)) {\n throw new Error(`Invalid Address: ${value}`);\n }\n return true;\n },\n\n // convert address string into structure\n decodeAddress(value) {\n const addr = value.length < 5 && this._hash[value];\n if (addr) {\n return addr;\n }\n let hasCol = false;\n let col = '';\n let colNumber = 0;\n let hasRow = false;\n let row = '';\n let rowNumber = 0;\n for (let i = 0, char; i < value.length; i++) {\n char = value.charCodeAt(i);\n // col should before row\n if (!hasRow && char >= 65 && char <= 90) {\n // 65 = 'A'.charCodeAt(0)\n // 90 = 'Z'.charCodeAt(0)\n hasCol = true;\n col += value[i];\n // colNumber starts from 1\n colNumber = (colNumber * 26) + char - 64;\n } else if (char >= 48 && char <= 57) {\n // 48 = '0'.charCodeAt(0)\n // 57 = '9'.charCodeAt(0)\n hasRow = true;\n row += value[i];\n // rowNumber starts from 0\n rowNumber = (rowNumber * 10) + char - 48;\n } else if (hasRow && hasCol && char !== 36) {\n // 36 = '$'.charCodeAt(0)\n break;\n }\n }\n if (!hasCol) {\n colNumber = undefined;\n } else if (colNumber > 16384) {\n throw new Error(`Out of bounds. Invalid column letter: ${col}`);\n }\n if (!hasRow) {\n rowNumber = undefined;\n }\n\n // in case $row$col\n value = col + row;\n\n const address = {\n address: value,\n col: colNumber,\n row: rowNumber,\n $col$row: `$${col}$${row}`,\n };\n\n // mem fix - cache only the tl 100x100 square\n if (colNumber <= 100 && rowNumber <= 100) {\n this._hash[value] = address;\n this._hash[address.$col$row] = address;\n }\n\n return address;\n },\n\n // convert r,c into structure (if only 1 arg, assume r is address string)\n getAddress(r, c) {\n if (c) {\n const address = this.n2l(c) + r;\n return this.decodeAddress(address);\n }\n return this.decodeAddress(r);\n },\n\n // convert [address], [tl:br] into address structures\n decode(value) {\n const parts = value.split(':');\n if (parts.length === 2) {\n const tl = this.decodeAddress(parts[0]);\n const br = this.decodeAddress(parts[1]);\n const result = {\n top: Math.min(tl.row, br.row),\n left: Math.min(tl.col, br.col),\n bottom: Math.max(tl.row, br.row),\n right: Math.max(tl.col, br.col),\n };\n // reconstruct tl, br and dimensions\n result.tl = this.n2l(result.left) + result.top;\n result.br = this.n2l(result.right) + result.bottom;\n result.dimensions = `${result.tl}:${result.br}`;\n return result;\n }\n return this.decodeAddress(value);\n },\n\n // convert [sheetName!][$]col[$]row[[$]col[$]row] into address or range structures\n decodeEx(value) {\n const groups = value.match(/(?:(?:(?:'((?:[^']|'')*)')|([^'^ !]*))!)?(.*)/);\n\n const sheetName = groups[1] || groups[2]; // Qouted and unqouted groups\n const reference = groups[3]; // Remaining address\n\n const parts = reference.split(':');\n if (parts.length > 1) {\n let tl = this.decodeAddress(parts[0]);\n let br = this.decodeAddress(parts[1]);\n const top = Math.min(tl.row, br.row);\n const left = Math.min(tl.col, br.col);\n const bottom = Math.max(tl.row, br.row);\n const right = Math.max(tl.col, br.col);\n\n tl = this.n2l(left) + top;\n br = this.n2l(right) + bottom;\n\n return {\n top,\n left,\n bottom,\n right,\n sheetName,\n tl: {address: tl, col: left, row: top, $col$row: `$${this.n2l(left)}$${top}`, sheetName},\n br: {\n address: br,\n col: right,\n row: bottom,\n $col$row: `$${this.n2l(right)}$${bottom}`,\n sheetName,\n },\n dimensions: `${tl}:${br}`,\n };\n }\n if (reference.startsWith('#')) {\n return sheetName ? {sheetName, error: reference} : {error: reference};\n }\n\n const address = this.decodeAddress(reference);\n return sheetName ? {sheetName, ...address} : address;\n },\n\n // convert row,col into address string\n encodeAddress(row, col) {\n return colCache.n2l(col) + row;\n },\n\n // convert row,col into string address or t,l,b,r into range\n encode() {\n switch (arguments.length) {\n case 2:\n return colCache.encodeAddress(arguments[0], arguments[1]);\n case 4:\n return `${colCache.encodeAddress(arguments[0], arguments[1])}:${colCache.encodeAddress(\n arguments[2],\n arguments[3]\n )}`;\n default:\n throw new Error('Can only encode with 2 or 4 arguments');\n }\n },\n\n // return true if address is contained within range\n inRange(range, address) {\n const [left, top, , right, bottom] = range;\n const [col, row] = address;\n return col >= left && col <= right && row >= top && row <= bottom;\n },\n};\n\nmodule.exports = colCache;\n","const oneDepthCopy = (obj, nestKeys) => ({\n ...obj,\n ...nestKeys.reduce((memo, key) => {\n if (obj[key]) memo[key] = {...obj[key]};\n return memo;\n }, {}),\n});\n\nconst setIfExists = (src, dst, key, nestKeys = []) => {\n if (src[key]) dst[key] = oneDepthCopy(src[key], nestKeys);\n};\n\nconst isEmptyObj = obj => Object.keys(obj).length === 0;\n\nconst copyStyle = style => {\n if (!style) return style;\n if (isEmptyObj(style)) return {};\n\n const copied = {...style};\n\n setIfExists(style, copied, 'font', ['color']);\n setIfExists(style, copied, 'alignment');\n setIfExists(style, copied, 'protection');\n if (style.border) {\n setIfExists(style, copied, 'border');\n setIfExists(style.border, copied.border, 'top', ['color']);\n setIfExists(style.border, copied.border, 'left', ['color']);\n setIfExists(style.border, copied.border, 'bottom', ['color']);\n setIfExists(style.border, copied.border, 'right', ['color']);\n setIfExists(style.border, copied.border, 'diagonal', ['color']);\n }\n\n if (style.fill) {\n setIfExists(style, copied, 'fill', ['fgColor', 'bgColor', 'center']);\n if (style.fill.stops) {\n copied.fill.stops = style.fill.stops.map(s => oneDepthCopy(s, ['color']));\n }\n }\n\n return copied;\n};\n\nexports.copyStyle = copyStyle;\n","'use strict';\n\nconst crypto = require('crypto');\n\nconst Encryptor = {\n /**\n * Calculate a hash of the concatenated buffers with the given algorithm.\n * @param {string} algorithm - The hash algorithm.\n * @returns {Buffer} The hash\n */\n hash(algorithm, ...buffers) {\n const hash = crypto.createHash(algorithm);\n hash.update(Buffer.concat(buffers));\n return hash.digest();\n },\n /**\n * Convert a password into an encryption key\n * @param {string} password - The password\n * @param {string} hashAlgorithm - The hash algoritm\n * @param {string} saltValue - The salt value\n * @param {number} spinCount - The spin count\n * @param {number} keyBits - The length of the key in bits\n * @param {Buffer} blockKey - The block key\n * @returns {Buffer} The encryption key\n */\n convertPasswordToHash(password, hashAlgorithm, saltValue, spinCount) {\n hashAlgorithm = hashAlgorithm.toLowerCase();\n const hashes = crypto.getHashes();\n if (hashes.indexOf(hashAlgorithm) < 0) {\n throw new Error(`Hash algorithm '${hashAlgorithm}' not supported!`);\n }\n\n // Password must be in unicode buffer\n const passwordBuffer = Buffer.from(password, 'utf16le');\n // Generate the initial hash\n let key = this.hash(hashAlgorithm, Buffer.from(saltValue, 'base64'), passwordBuffer);\n // Now regenerate until spin count\n for (let i = 0; i < spinCount; i++) {\n const iterator = Buffer.alloc(4);\n // this is the 'special' element of Excel password hashing\n // that stops us from using crypto.pbkdf2()\n iterator.writeUInt32LE(i, 0);\n key = this.hash(hashAlgorithm, key, iterator);\n }\n return key.toString('base64');\n },\n /**\n * Generates cryptographically strong pseudo-random data.\n * @param size The size argument is a number indicating the number of bytes to generate.\n */\n randomBytes(size) {\n return crypto.randomBytes(size);\n },\n};\nmodule.exports = Encryptor;\n","const {SaxesParser} = require('saxes');\nconst {PassThrough} = require('readable-stream');\nconst {bufferToString} = require('./browser-buffer-decode');\n\nmodule.exports = async function* (iterable) {\n // TODO: Remove once node v8 is deprecated\n // Detect and upgrade old streams\n if (iterable.pipe && !iterable[Symbol.asyncIterator]) {\n iterable = iterable.pipe(new PassThrough());\n }\n const saxesParser = new SaxesParser();\n let error;\n saxesParser.on('error', err => {\n error = err;\n });\n let events = [];\n saxesParser.on('opentag', value => events.push({eventType: 'opentag', value}));\n saxesParser.on('text', value => events.push({eventType: 'text', value}));\n saxesParser.on('closetag', value => events.push({eventType: 'closetag', value}));\n for await (const chunk of iterable) {\n saxesParser.write(bufferToString(chunk));\n // saxesParser.write and saxesParser.on() are synchronous,\n // so we can only reach the below line once all events have been emitted\n if (error) throw error;\n // As a performance optimization, we gather all events instead of passing\n // them one by one, which would cause each event to go through the event queue\n yield events;\n events = [];\n }\n};\n","const colCache = require('./col-cache');\n\n// const cellRefRegex = /(([a-z_\\-0-9]*)!)?[$]?([a-z]+)[$]?([1-9][0-9]*)/i;\nconst replacementCandidateRx = /(([a-z_\\-0-9]*)!)?([a-z0-9_$]{2,})([(])?/gi;\nconst CRrx = /^([$])?([a-z]+)([$])?([1-9][0-9]*)$/i;\n\nfunction slideFormula(formula, fromCell, toCell) {\n const offset = colCache.decode(fromCell);\n const to = colCache.decode(toCell);\n return formula.replace(\n replacementCandidateRx,\n (refMatch, sheet, sheetMaybe, addrPart, trailingParen) => {\n if (trailingParen) {\n return refMatch;\n }\n const match = CRrx.exec(addrPart);\n if (match) {\n const colDollar = match[1];\n const colStr = match[2].toUpperCase();\n const rowDollar = match[3];\n const rowStr = match[4];\n if (colStr.length > 3 || (colStr.length === 3 && colStr > 'XFD')) {\n // > XFD is the highest col number in excel 2007 and beyond, so this is a named range\n return refMatch;\n }\n let col = colCache.l2n(colStr);\n let row = parseInt(rowStr, 10);\n if (!colDollar) {\n col += to.col - offset.col;\n }\n if (!rowDollar) {\n row += to.row - offset.row;\n }\n const res = (sheet || '') + (colDollar || '') + colCache.n2l(col) + (rowDollar || '') + row;\n return res;\n }\n return refMatch;\n }\n );\n}\n\nmodule.exports = {\n slideFormula,\n};\n","/* eslint-disable max-classes-per-file */\nconst Stream = require('readable-stream');\n\nconst utils = require('./utils');\nconst StringBuf = require('./string-buf');\n\n// =============================================================================\n// data chunks - encapsulating incoming data\nclass StringChunk {\n constructor(data, encoding) {\n this._data = data;\n this._encoding = encoding;\n }\n\n get length() {\n return this.toBuffer().length;\n }\n\n // copy to target buffer\n copy(target, targetOffset, offset, length) {\n return this.toBuffer().copy(target, targetOffset, offset, length);\n }\n\n toBuffer() {\n if (!this._buffer) {\n this._buffer = Buffer.from(this._data, this._encoding);\n }\n return this._buffer;\n }\n}\n\nclass StringBufChunk {\n constructor(data) {\n this._data = data;\n }\n\n get length() {\n return this._data.length;\n }\n\n // copy to target buffer\n copy(target, targetOffset, offset, length) {\n // eslint-disable-next-line no-underscore-dangle\n return this._data._buf.copy(target, targetOffset, offset, length);\n }\n\n toBuffer() {\n return this._data.toBuffer();\n }\n}\n\nclass BufferChunk {\n constructor(data) {\n this._data = data;\n }\n\n get length() {\n return this._data.length;\n }\n\n // copy to target buffer\n copy(target, targetOffset, offset, length) {\n this._data.copy(target, targetOffset, offset, length);\n }\n\n toBuffer() {\n return this._data;\n }\n}\n\n// =============================================================================\n// ReadWriteBuf - a single buffer supporting simple read-write\nclass ReadWriteBuf {\n constructor(size) {\n this.size = size;\n // the buffer\n this.buffer = Buffer.alloc(size);\n // read index\n this.iRead = 0;\n // write index\n this.iWrite = 0;\n }\n\n toBuffer() {\n if (this.iRead === 0 && this.iWrite === this.size) {\n return this.buffer;\n }\n\n const buf = Buffer.alloc(this.iWrite - this.iRead);\n this.buffer.copy(buf, 0, this.iRead, this.iWrite);\n return buf;\n }\n\n get length() {\n return this.iWrite - this.iRead;\n }\n\n get eod() {\n return this.iRead === this.iWrite;\n }\n\n get full() {\n return this.iWrite === this.size;\n }\n\n read(size) {\n let buf;\n // read size bytes from buffer and return buffer\n if (size === 0) {\n // special case - return null if no data requested\n return null;\n }\n\n if (size === undefined || size >= this.length) {\n // if no size specified or size is at least what we have then return all of the bytes\n buf = this.toBuffer();\n this.iRead = this.iWrite;\n return buf;\n }\n\n // otherwise return a chunk\n buf = Buffer.alloc(size);\n this.buffer.copy(buf, 0, this.iRead, size);\n this.iRead += size;\n return buf;\n }\n\n write(chunk, offset, length) {\n // write as many bytes from data from optional source offset\n // and return number of bytes written\n const size = Math.min(length, this.size - this.iWrite);\n chunk.copy(this.buffer, this.iWrite, offset, offset + size);\n this.iWrite += size;\n return size;\n }\n}\n\n// =============================================================================\n// StreamBuf - a multi-purpose read-write stream\n// As MemBuf - write as much data as you like. Then call toBuffer() to consolidate\n// As StreamHub - pipe to multiple writables\n// As readable stream - feed data into the writable part and have some other code read from it.\n\n// Note: Not sure why but StreamBuf does not like JS \"class\" sugar. It fails the\n// integration tests\nconst StreamBuf = function(options) {\n options = options || {};\n this.bufSize = options.bufSize || 1024 * 1024;\n this.buffers = [];\n\n // batch mode fills a buffer completely before passing the data on\n // to pipes or 'readable' event listeners\n this.batch = options.batch || false;\n\n this.corked = false;\n // where in the current writable buffer we're up to\n this.inPos = 0;\n\n // where in the current readable buffer we've read up to\n this.outPos = 0;\n\n // consuming pipe streams go here\n this.pipes = [];\n\n // controls emit('data')\n this.paused = false;\n\n this.encoding = null;\n};\n\nutils.inherits(StreamBuf, Stream.Duplex, {\n toBuffer() {\n switch (this.buffers.length) {\n case 0:\n return null;\n case 1:\n return this.buffers[0].toBuffer();\n default:\n return Buffer.concat(this.buffers.map(rwBuf => rwBuf.toBuffer()));\n }\n },\n\n // writable\n // event drain - if write returns false (which it won't), indicates when safe to write again.\n // finish - end() has been called\n // pipe(src) - pipe() has been called on readable\n // unpipe(src) - unpipe() has been called on readable\n // error - duh\n\n _getWritableBuffer() {\n if (this.buffers.length) {\n const last = this.buffers[this.buffers.length - 1];\n if (!last.full) {\n return last;\n }\n }\n const buf = new ReadWriteBuf(this.bufSize);\n this.buffers.push(buf);\n return buf;\n },\n\n async _pipe(chunk) {\n const write = function(pipe) {\n return new Promise(resolve => {\n pipe.write(chunk.toBuffer(), () => {\n resolve();\n });\n });\n };\n await Promise.all(this.pipes.map(write));\n },\n _writeToBuffers(chunk) {\n let inPos = 0;\n const inLen = chunk.length;\n while (inPos < inLen) {\n // find writable buffer\n const buffer = this._getWritableBuffer();\n\n // write some data\n inPos += buffer.write(chunk, inPos, inLen - inPos);\n }\n },\n async write(data, encoding, callback) {\n if (encoding instanceof Function) {\n callback = encoding;\n encoding = 'utf8';\n }\n callback = callback || utils.nop;\n\n // encapsulate data into a chunk\n let chunk;\n if (data instanceof StringBuf) {\n chunk = new StringBufChunk(data);\n } else if (data instanceof Buffer) {\n chunk = new BufferChunk(data);\n } else if (typeof data === 'string' || data instanceof String || data instanceof ArrayBuffer) {\n chunk = new StringChunk(data, encoding);\n } else {\n throw new Error('Chunk must be one of type String, Buffer or StringBuf.');\n }\n\n // now, do something with the chunk\n if (this.pipes.length) {\n if (this.batch) {\n this._writeToBuffers(chunk);\n while (!this.corked && this.buffers.length > 1) {\n this._pipe(this.buffers.shift());\n }\n } else if (!this.corked) {\n await this._pipe(chunk);\n callback();\n } else {\n this._writeToBuffers(chunk);\n process.nextTick(callback);\n }\n } else {\n if (!this.paused) {\n this.emit('data', chunk.toBuffer());\n }\n\n this._writeToBuffers(chunk);\n this.emit('readable');\n }\n\n return true;\n },\n cork() {\n this.corked = true;\n },\n _flush(/* destination */) {\n // if we have comsumers...\n if (this.pipes.length) {\n // and there's stuff not written\n while (this.buffers.length) {\n this._pipe(this.buffers.shift());\n }\n }\n },\n uncork() {\n this.corked = false;\n this._flush();\n },\n end(chunk, encoding, callback) {\n const writeComplete = error => {\n if (error) {\n callback(error);\n } else {\n this._flush();\n this.pipes.forEach(pipe => {\n pipe.end();\n });\n this.emit('finish');\n }\n };\n if (chunk) {\n this.write(chunk, encoding, writeComplete);\n } else {\n writeComplete();\n }\n },\n\n // readable\n // event readable - some data is now available\n // event data - switch to flowing mode - feeds chunks to handler\n // event end - no more data\n // event close - optional, indicates upstream close\n // event error - duh\n read(size) {\n let buffers;\n // read min(buffer, size || infinity)\n if (size) {\n buffers = [];\n while (size && this.buffers.length && !this.buffers[0].eod) {\n const first = this.buffers[0];\n const buffer = first.read(size);\n size -= buffer.length;\n buffers.push(buffer);\n if (first.eod && first.full) {\n this.buffers.shift();\n }\n }\n return Buffer.concat(buffers);\n }\n\n buffers = this.buffers.map(buf => buf.toBuffer()).filter(Boolean);\n this.buffers = [];\n return Buffer.concat(buffers);\n },\n setEncoding(encoding) {\n // causes stream.read or stream.on('data) to return strings of encoding instead of Buffer objects\n this.encoding = encoding;\n },\n pause() {\n this.paused = true;\n },\n resume() {\n this.paused = false;\n },\n isPaused() {\n return !!this.paused;\n },\n pipe(destination) {\n // add destination to pipe list & write current buffer\n this.pipes.push(destination);\n if (!this.paused && this.buffers.length) {\n this.end();\n }\n },\n unpipe(destination) {\n // remove destination from pipe list\n this.pipes = this.pipes.filter(pipe => pipe !== destination);\n },\n unshift(/* chunk */) {\n // some numpty has read some data that's not for them and they want to put it back!\n // Might implement this some day\n throw new Error('Not Implemented');\n },\n wrap(/* stream */) {\n // not implemented\n throw new Error('Not Implemented');\n },\n});\n\nmodule.exports = StreamBuf;\n","// StringBuf - a way to keep string memory operations to a minimum\n// while building the strings for the xml files\nclass StringBuf {\n constructor(options) {\n this._buf = Buffer.alloc((options && options.size) || 16384);\n this._encoding = (options && options.encoding) || 'utf8';\n\n // where in the buffer we are at\n this._inPos = 0;\n\n // for use by toBuffer()\n this._buffer = undefined;\n }\n\n get length() {\n return this._inPos;\n }\n\n get capacity() {\n return this._buf.length;\n }\n\n get buffer() {\n return this._buf;\n }\n\n toBuffer() {\n // return the current data as a single enclosing buffer\n if (!this._buffer) {\n this._buffer = Buffer.alloc(this.length);\n this._buf.copy(this._buffer, 0, 0, this.length);\n }\n return this._buffer;\n }\n\n reset(position) {\n position = position || 0;\n this._buffer = undefined;\n this._inPos = position;\n }\n\n _grow(min) {\n let size = this._buf.length * 2;\n while (size < min) {\n size *= 2;\n }\n const buf = Buffer.alloc(size);\n this._buf.copy(buf, 0);\n this._buf = buf;\n }\n\n addText(text) {\n this._buffer = undefined;\n\n let inPos = this._inPos + this._buf.write(text, this._inPos, this._encoding);\n\n // if we've hit (or nearing capacity), grow the buf\n while (inPos >= this._buf.length - 4) {\n this._grow(this._inPos + text.length);\n\n // keep trying to write until we've completely written the text\n inPos = this._inPos + this._buf.write(text, this._inPos, this._encoding);\n }\n\n this._inPos = inPos;\n }\n\n addStringBuf(inBuf) {\n if (inBuf.length) {\n this._buffer = undefined;\n\n if (this.length + inBuf.length > this.capacity) {\n this._grow(this.length + inBuf.length);\n }\n // eslint-disable-next-line no-underscore-dangle\n inBuf._buf.copy(this._buf, this._inPos, 0, inBuf.length);\n this._inPos += inBuf.length;\n }\n }\n}\n\nmodule.exports = StringBuf;\n","const {toString} = Object.prototype;\nconst escapeHtmlRegex = /[\"&<>]/;\nconst _ = {\n each: function each(obj, cb) {\n if (obj) {\n if (Array.isArray(obj)) {\n obj.forEach(cb);\n } else {\n Object.keys(obj).forEach(key => {\n cb(obj[key], key);\n });\n }\n }\n },\n\n some: function some(obj, cb) {\n if (obj) {\n if (Array.isArray(obj)) {\n return obj.some(cb);\n }\n return Object.keys(obj).some(key => cb(obj[key], key));\n }\n return false;\n },\n\n every: function every(obj, cb) {\n if (obj) {\n if (Array.isArray(obj)) {\n return obj.every(cb);\n }\n return Object.keys(obj).every(key => cb(obj[key], key));\n }\n return true;\n },\n\n map: function map(obj, cb) {\n if (obj) {\n if (Array.isArray(obj)) {\n return obj.map(cb);\n }\n return Object.keys(obj).map(key => cb(obj[key], key));\n }\n return [];\n },\n\n keyBy(a, p) {\n return a.reduce((o, v) => {\n o[v[p]] = v;\n return o;\n }, {});\n },\n\n isEqual: function isEqual(a, b) {\n const aType = typeof a;\n const bType = typeof b;\n const aArray = Array.isArray(a);\n const bArray = Array.isArray(b);\n let keys;\n\n if (aType !== bType) {\n return false;\n }\n switch (typeof a) {\n case 'object':\n if (aArray || bArray) {\n if (aArray && bArray) {\n return (\n a.length === b.length &&\n a.every((aValue, index) => {\n const bValue = b[index];\n return _.isEqual(aValue, bValue);\n })\n );\n }\n return false;\n }\n\n if (a === null || b === null) {\n return a === b;\n }\n\n // Compare object keys and values\n keys = Object.keys(a);\n\n if (Object.keys(b).length !== keys.length) {\n return false;\n }\n\n for (const key of keys) {\n if (!b.hasOwnProperty(key)) {\n return false;\n }\n }\n\n return _.every(a, (aValue, key) => {\n const bValue = b[key];\n return _.isEqual(aValue, bValue);\n });\n\n default:\n return a === b;\n }\n },\n\n escapeHtml(html) {\n const regexResult = escapeHtmlRegex.exec(html);\n if (!regexResult) return html;\n\n let result = '';\n let escape = '';\n let lastIndex = 0;\n let i = regexResult.index;\n for (; i < html.length; i++) {\n switch (html.charAt(i)) {\n case '\"':\n escape = '"';\n break;\n case '&':\n escape = '&';\n break;\n case '\\'':\n escape = ''';\n break;\n case '<':\n escape = '<';\n break;\n case '>':\n escape = '>';\n break;\n default:\n continue;\n }\n if (lastIndex !== i) result += html.substring(lastIndex, i);\n lastIndex = i + 1;\n result += escape;\n }\n if (lastIndex !== i) return result + html.substring(lastIndex, i);\n return result;\n },\n\n strcmp(a, b) {\n if (a < b) return -1;\n if (a > b) return 1;\n return 0;\n },\n\n isUndefined(val) {\n return toString.call(val) === '[object Undefined]';\n },\n\n isObject(val) {\n return toString.call(val) === '[object Object]';\n },\n\n deepMerge() {\n const target = arguments[0] || {};\n const {length} = arguments;\n // eslint-disable-next-line one-var\n let src, clone, copyIsArray;\n\n function assignValue(val, key) {\n src = target[key];\n copyIsArray = Array.isArray(val);\n if (_.isObject(val) || copyIsArray) {\n if (copyIsArray) {\n copyIsArray = false;\n clone = src && Array.isArray(src) ? src : [];\n } else {\n clone = src && _.isObject(src) ? src : {};\n }\n target[key] = _.deepMerge(clone, val);\n } else if (!_.isUndefined(val)) {\n target[key] = val;\n }\n }\n\n for (let i = 0; i < length; i++) {\n _.each(arguments[i], assignValue);\n }\n return target;\n },\n};\n\nmodule.exports = _;\n","const fs = require('fs');\n\n// useful stuff\nconst inherits = function(cls, superCtor, statics, prototype) {\n // eslint-disable-next-line no-underscore-dangle\n cls.super_ = superCtor;\n\n if (!prototype) {\n prototype = statics;\n statics = null;\n }\n\n if (statics) {\n Object.keys(statics).forEach(i => {\n Object.defineProperty(cls, i, Object.getOwnPropertyDescriptor(statics, i));\n });\n }\n\n const properties = {\n constructor: {\n value: cls,\n enumerable: false,\n writable: false,\n configurable: true,\n },\n };\n if (prototype) {\n Object.keys(prototype).forEach(i => {\n properties[i] = Object.getOwnPropertyDescriptor(prototype, i);\n });\n }\n\n cls.prototype = Object.create(superCtor.prototype, properties);\n};\n\n// eslint-disable-next-line no-control-regex\nconst xmlDecodeRegex = /[<>&'\"\\x7F\\x00-\\x08\\x0B-\\x0C\\x0E-\\x1F]/;\nconst utils = {\n nop() {},\n promiseImmediate(value) {\n return new Promise(resolve => {\n if (global.setImmediate) {\n setImmediate(() => {\n resolve(value);\n });\n } else {\n // poorman's setImmediate - must wait at least 1ms\n setTimeout(() => {\n resolve(value);\n }, 1);\n }\n });\n },\n inherits,\n dateToExcel(d, date1904) {\n return 25569 + ( d.getTime() / (24 * 3600 * 1000) ) - (date1904 ? 1462 : 0);\n },\n excelToDate(v, date1904) {\n const millisecondSinceEpoch = Math.round((v - 25569 + (date1904 ? 1462 : 0)) * 24 * 3600 * 1000);\n return new Date(millisecondSinceEpoch);\n },\n parsePath(filepath) {\n const last = filepath.lastIndexOf('/');\n return {\n path: filepath.substring(0, last),\n name: filepath.substring(last + 1),\n };\n },\n getRelsPath(filepath) {\n const path = utils.parsePath(filepath);\n return `${path.path}/_rels/${path.name}.rels`;\n },\n xmlEncode(text) {\n const regexResult = xmlDecodeRegex.exec(text);\n if (!regexResult) return text;\n\n let result = '';\n let escape = '';\n let lastIndex = 0;\n let i = regexResult.index;\n for (; i < text.length; i++) {\n const charCode = text.charCodeAt(i);\n switch (charCode) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n case 127:\n escape = '';\n break;\n default: {\n if (charCode <= 31 && (charCode <= 8 || (charCode >= 11 && charCode !== 13))) {\n escape = '';\n break;\n }\n continue;\n }\n }\n if (lastIndex !== i) result += text.substring(lastIndex, i);\n lastIndex = i + 1;\n if (escape) result += escape;\n }\n if (lastIndex !== i) return result + text.substring(lastIndex, i);\n return result;\n },\n xmlDecode(text) {\n return text.replace(/&([a-z]*);/g, c => {\n switch (c) {\n case '<':\n return '<';\n case '>':\n return '>';\n case '&':\n return '&';\n case ''':\n return '\\'';\n case '"':\n return '\"';\n default:\n return c;\n }\n });\n },\n validInt(value) {\n const i = parseInt(value, 10);\n return !Number.isNaN(i) ? i : 0;\n },\n\n isDateFmt(fmt) {\n if (!fmt) {\n return false;\n }\n\n // must remove all chars inside quotes and []\n fmt = fmt.replace(/\\[[^\\]]*]/g, '');\n fmt = fmt.replace(/\"[^\"]*\"/g, '');\n // then check for date formatting chars\n const result = fmt.match(/[ymdhMsb]+/) !== null;\n return result;\n },\n\n fs: {\n exists(path) {\n return new Promise(resolve => {\n fs.access(path, fs.constants.F_OK, err => {\n resolve(!err);\n });\n });\n },\n },\n\n toIsoDateString(dt) {\n return dt.toIsoString().subsstr(0, 10);\n },\n\n parseBoolean(value) {\n return value === true || value === 'true' || value === 1 || value === '1';\n },\n};\n\nmodule.exports = utils;\n","const _ = require('./under-dash');\n\nconst utils = require('./utils');\n\n// constants\nconst OPEN_ANGLE = '<';\nconst CLOSE_ANGLE = '>';\nconst OPEN_ANGLE_SLASH = '</';\nconst CLOSE_SLASH_ANGLE = '/>';\n\nfunction pushAttribute(xml, name, value) {\n xml.push(` ${name}=\"${utils.xmlEncode(value.toString())}\"`);\n}\nfunction pushAttributes(xml, attributes) {\n if (attributes) {\n const tmp = [];\n _.each(attributes, (value, name) => {\n if (value !== undefined) {\n pushAttribute(tmp, name, value);\n }\n });\n xml.push(tmp.join(\"\"));\n }\n}\n\nclass XmlStream {\n constructor() {\n this._xml = [];\n this._stack = [];\n this._rollbacks = [];\n }\n\n get tos() {\n return this._stack.length ? this._stack[this._stack.length - 1] : undefined;\n }\n\n get cursor() {\n // handy way to track whether anything has been added\n return this._xml.length;\n }\n\n openXml(docAttributes) {\n const xml = this._xml;\n // <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n xml.push('<?xml');\n pushAttributes(xml, docAttributes);\n xml.push('?>\\n');\n }\n\n openNode(name, attributes) {\n const parent = this.tos;\n const xml = this._xml;\n if (parent && this.open) {\n xml.push(CLOSE_ANGLE);\n }\n\n this._stack.push(name);\n\n // start streaming node\n xml.push(OPEN_ANGLE);\n xml.push(name);\n pushAttributes(xml, attributes);\n this.leaf = true;\n this.open = true;\n }\n\n addAttribute(name, value) {\n if (!this.open) {\n throw new Error('Cannot write attributes to node if it is not open');\n }\n if (value !== undefined) {\n pushAttribute(this._xml, name, value);\n }\n }\n\n addAttributes(attrs) {\n if (!this.open) {\n throw new Error('Cannot write attributes to node if it is not open');\n }\n pushAttributes(this._xml, attrs);\n }\n\n writeText(text) {\n const xml = this._xml;\n if (this.open) {\n xml.push(CLOSE_ANGLE);\n this.open = false;\n }\n this.leaf = false;\n xml.push(utils.xmlEncode(text.toString()));\n }\n\n writeXml(xml) {\n if (this.open) {\n this._xml.push(CLOSE_ANGLE);\n this.open = false;\n }\n this.leaf = false;\n this._xml.push(xml);\n }\n\n closeNode() {\n const node = this._stack.pop();\n const xml = this._xml;\n if (this.leaf) {\n xml.push(CLOSE_SLASH_ANGLE);\n } else {\n xml.push(OPEN_ANGLE_SLASH);\n xml.push(node);\n xml.push(CLOSE_ANGLE);\n }\n this.open = false;\n this.leaf = false;\n }\n\n leafNode(name, attributes, text) {\n this.openNode(name, attributes);\n if (text !== undefined) {\n // zeros need to be written\n this.writeText(text);\n }\n this.closeNode();\n }\n\n closeAll() {\n while (this._stack.length) {\n this.closeNode();\n }\n }\n\n addRollback() {\n this._rollbacks.push({\n xml: this._xml.length,\n stack: this._stack.length,\n leaf: this.leaf,\n open: this.open,\n });\n return this.cursor;\n }\n\n commit() {\n this._rollbacks.pop();\n }\n\n rollback() {\n const r = this._rollbacks.pop();\n if (this._xml.length > r.xml) {\n this._xml.splice(r.xml, this._xml.length - r.xml);\n }\n if (this._stack.length > r.stack) {\n this._stack.splice(r.stack, this._stack.length - r.stack);\n }\n this.leaf = r.leaf;\n this.open = r.open;\n }\n\n get xml() {\n this.closeAll();\n return this._xml.join('');\n }\n}\n\nXmlStream.StdDocAttributes = {\n version: '1.0',\n encoding: 'UTF-8',\n standalone: 'yes',\n};\n\nmodule.exports = XmlStream;\n","const events = require('events');\nconst JSZip = require('jszip');\n\nconst StreamBuf = require('./stream-buf');\nconst {stringToBuffer} = require('./browser-buffer-encode');\n\n// =============================================================================\n// The ZipWriter class\n// Packs streamed data into an output zip stream\nclass ZipWriter extends events.EventEmitter {\n constructor(options) {\n super();\n this.options = Object.assign(\n {\n type: 'nodebuffer',\n compression: 'DEFLATE',\n },\n options\n );\n\n this.zip = new JSZip();\n this.stream = new StreamBuf();\n }\n\n append(data, options) {\n if (options.hasOwnProperty('base64') && options.base64) {\n this.zip.file(options.name, data, {base64: true});\n } else {\n // https://www.npmjs.com/package/process\n if (process.browser && typeof data === 'string') {\n // use TextEncoder in browser\n data = stringToBuffer(data);\n }\n this.zip.file(options.name, data);\n }\n }\n\n async finalize() {\n const content = await this.zip.generateAsync(this.options);\n this.stream.end(content);\n this.emit('finish');\n }\n\n // ==========================================================================\n // Stream.Readable interface\n read(size) {\n return this.stream.read(size);\n }\n\n setEncoding(encoding) {\n return this.stream.setEncoding(encoding);\n }\n\n pause() {\n return this.stream.pause();\n }\n\n resume() {\n return this.stream.resume();\n }\n\n isPaused() {\n return this.stream.isPaused();\n }\n\n pipe(destination, options) {\n return this.stream.pipe(destination, options);\n }\n\n unpipe(destination) {\n return this.stream.unpipe(destination);\n }\n\n unshift(chunk) {\n return this.stream.unshift(chunk);\n }\n\n wrap(stream) {\n return this.stream.wrap(stream);\n }\n}\n\n// =============================================================================\n\nmodule.exports = {\n ZipWriter,\n};\n","module.exports = {\n 0: {f: 'General'},\n 1: {f: '0'},\n 2: {f: '0.00'},\n 3: {f: '#,##0'},\n 4: {f: '#,##0.00'},\n 9: {f: '0%'},\n 10: {f: '0.00%'},\n 11: {f: '0.00E+00'},\n 12: {f: '# ?/?'},\n 13: {f: '# ??/??'},\n 14: {f: 'mm-dd-yy'},\n 15: {f: 'd-mmm-yy'},\n 16: {f: 'd-mmm'},\n 17: {f: 'mmm-yy'},\n 18: {f: 'h:mm AM/PM'},\n 19: {f: 'h:mm:ss AM/PM'},\n 20: {f: 'h:mm'},\n 21: {f: 'h:mm:ss'},\n 22: {f: 'm/d/yy \"h\":mm'},\n\n 27: {\n 'zh-tw': '[$-404]e/m/d',\n 'zh-cn': 'yyyy\"年\"m\"月\"',\n 'ja-jp': '[$-411]ge.m.d',\n 'ko-kr': 'yyyy\"年\" mm\"月\" dd\"日\"',\n },\n 28: {\n 'zh-tw': '[$-404]e\"年\"m\"月\"d\"日\"',\n 'zh-cn': 'm\"月\"d\"日\"',\n 'ja-jp': '[$-411]ggge\"年\"m\"月\"d\"日\"',\n 'ko-kr': 'mm-dd',\n },\n 29: {\n 'zh-tw': '[$-404]e\"年\"m\"月\"d\"日\"',\n 'zh-cn': 'm\"月\"d\"日\"',\n 'ja-jp': '[$-411]ggge\"年\"m\"月\"d\"日\"',\n 'ko-kr': 'mm-dd',\n },\n 30: {'zh-tw': 'm/d/yy ', 'zh-cn': 'm-d-yy', 'ja-jp': 'm/d/yy', 'ko-kr': 'mm-dd-yy'},\n 31: {\n 'zh-tw': 'yyyy\"年\"m\"月\"d\"日\"',\n 'zh-cn': 'yyyy\"年\"m\"月\"d\"日\"',\n 'ja-jp': 'yyyy\"年\"m\"月\"d\"日\"',\n 'ko-kr': 'yyyy\"년\" mm\"월\" dd\"일\"',\n },\n 32: {\n 'zh-tw': 'hh\"時\"mm\"分\"',\n 'zh-cn': 'h\"时\"mm\"分\"',\n 'ja-jp': 'h\"時\"mm\"分\"',\n 'ko-kr': 'h\"시\" mm\"분\"',\n },\n 33: {\n 'zh-tw': 'hh\"時\"mm\"分\"ss\"秒\"',\n 'zh-cn': 'h\"时\"mm\"分\"ss\"秒\"',\n 'ja-jp': 'h\"時\"mm\"分\"ss\"秒\"',\n 'ko-kr': 'h\"시\" mm\"분\" ss\"초\"',\n },\n 34: {\n 'zh-tw': '上午/下午 hh\"時\"mm\"分\"',\n 'zh-cn': '上午/下午 h\"时\"mm\"分\"',\n 'ja-jp': 'yyyy\"年\"m\"月\"',\n 'ko-kr': 'yyyy-mm-dd',\n },\n 35: {\n 'zh-tw': '上午/下午 hh\"時\"mm\"分\"ss\"秒\"',\n 'zh-cn': '上午/下午 h\"时\"mm\"分\"ss\"秒\"',\n 'ja-jp': 'm\"月\"d\"日\"',\n 'ko-kr': 'yyyy-mm-dd',\n },\n 36: {\n 'zh-tw': '[$-404]e/m/d',\n 'zh-cn': 'yyyy\"年\"m\"月\"',\n 'ja-jp': '[$-411]ge.m.d',\n 'ko-kr': 'yyyy\"年\" mm\"月\" dd\"日\"',\n },\n\n 37: {f: '#,##0 ;(#,##0)'},\n 38: {f: '#,##0 ;[Red](#,##0)'},\n 39: {f: '#,##0.00 ;(#,##0.00)'},\n 40: {f: '#,##0.00 ;[Red](#,##0.00)'},\n 45: {f: 'mm:ss'},\n 46: {f: '[h]:mm:ss'},\n 47: {f: 'mmss.0'},\n 48: {f: '##0.0E+0'},\n 49: {f: '@'},\n\n 50: {\n 'zh-tw': '[$-404]e/m/d',\n 'zh-cn': 'yyyy\"年\"m\"月\"',\n 'ja-jp': '[$-411]ge.m.d',\n 'ko-kr': 'yyyy\"年\" mm\"月\" dd\"日\"',\n },\n 51: {\n 'zh-tw': '[$-404]e\"年\"m\"月\"d\"日\"',\n 'zh-cn': 'm\"月\"d\"日\"',\n 'ja-jp': '[$-411]ggge\"年\"m\"月\"d\"日\"',\n 'ko-kr': 'mm-dd',\n },\n 52: {\n 'zh-tw': '上午/下午 hh\"時\"mm\"分\"',\n 'zh-cn': 'yyyy\"年\"m\"月\"',\n 'ja-jp': 'yyyy\"年\"m\"月\"',\n 'ko-kr': 'yyyy-mm-dd',\n },\n 53: {\n 'zh-tw': '上午/下午 hh\"時\"mm\"分\"ss\"秒\"',\n 'zh-cn': 'm\"月\"d\"日\"',\n 'ja-jp': 'm\"月\"d\"日\"',\n 'ko-kr': 'yyyy-mm-dd',\n },\n 54: {\n 'zh-tw': '[$-404]e\"年\"m\"月\"d\"日\"',\n 'zh-cn': 'm\"月\"d\"日\"',\n 'ja-jp': '[$-411]ggge\"年\"m\"月\"d\"日\"',\n 'ko-kr': 'mm-dd',\n },\n 55: {\n 'zh-tw': '上午/下午 hh\"時\"mm\"分\"',\n 'zh-cn': '上午/下午 h\"时\"mm\"分\"',\n 'ja-jp': 'yyyy\"年\"m\"月\"',\n 'ko-kr': 'yyyy-mm-dd',\n },\n 56: {\n 'zh-tw': '上午/下午 hh\"時\"mm\"分\"ss\"秒\"',\n 'zh-cn': '上午/下午 h\"时\"mm\"分\"ss\"秒\"',\n 'ja-jp': 'm\"月\"d\"日\"',\n 'ko-kr': 'yyyy-mm-dd',\n },\n 57: {\n 'zh-tw': '[$-404]e/m/d',\n 'zh-cn': 'yyyy\"年\"m\"月\"',\n 'ja-jp': '[$-411]ge.m.d',\n 'ko-kr': 'yyyy\"年\" mm\"月\" dd\"日\"',\n },\n 58: {\n 'zh-tw': '[$-404]e\"年\"m\"月\"d\"日\"',\n 'zh-cn': 'm\"月\"d\"日\"',\n 'ja-jp': '[$-411]ggge\"年\"m\"月\"d\"日\"',\n 'ko-kr': 'mm-dd',\n },\n\n 59: {'th-th': 't0'},\n 60: {'th-th': 't0.00'},\n 61: {'th-th': 't#,##0'},\n 62: {'th-th': 't#,##0.00'},\n 67: {'th-th': 't0%'},\n 68: {'th-th': 't0.00%'},\n 69: {'th-th': 't# ?/?'},\n 70: {'th-th': 't# ??/??'},\n\n 81: {'th-th': 'd/m/bb'},\n};\n","'use strict';\n\nmodule.exports = {\n OfficeDocument:\n 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument',\n Worksheet: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet',\n CalcChain: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/calcChain',\n SharedStrings:\n 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings',\n Styles: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles',\n Theme: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme',\n Hyperlink: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink',\n Image: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/image',\n CoreProperties:\n 'http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties',\n ExtenderProperties:\n 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties',\n Comments: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments',\n VmlDrawing: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing',\n Table: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/table',\n};\n","const parseSax = require('../../utils/parse-sax');\nconst XmlStream = require('../../utils/xml-stream');\n\n/* 'virtual' methods used as a form of documentation */\n/* eslint-disable class-methods-use-this */\n\n// Base class for Xforms\nclass BaseXform {\n // constructor(/* model, name */) {}\n\n // ============================================================\n // Virtual Interface\n prepare(/* model, options */) {\n // optional preparation (mutation) of model so it is ready for write\n }\n\n render(/* xmlStream, model */) {\n // convert model to xml\n }\n\n parseOpen(node) {\n // XML node opened\n }\n\n parseText(text) {\n // chunk of text encountered for current node\n }\n\n parseClose(name) {\n // XML node closed\n }\n\n reconcile(model, options) {\n // optional post-parse step (opposite to prepare)\n }\n\n // ============================================================\n reset() {\n // to make sure parses don't bleed to next iteration\n this.model = null;\n\n // if we have a map - reset them too\n if (this.map) {\n Object.values(this.map).forEach(xform => {\n if (xform instanceof BaseXform) {\n xform.reset();\n } else if (xform.xform) {\n xform.xform.reset();\n }\n });\n }\n }\n\n mergeModel(obj) {\n // set obj's props to this.model\n this.model = Object.assign(this.model || {}, obj);\n }\n\n async parse(saxParser) {\n for await (const events of saxParser) {\n for (const {eventType, value} of events) {\n if (eventType === 'opentag') {\n this.parseOpen(value);\n } else if (eventType === 'text') {\n this.parseText(value);\n } else if (eventType === 'closetag') {\n if (!this.parseClose(value.name)) {\n return this.model;\n }\n }\n }\n }\n return this.model;\n }\n\n async parseStream(stream) {\n return this.parse(parseSax(stream));\n }\n\n get xml() {\n // convenience function to get the xml of this.model\n // useful for manager types that are built during the prepare phase\n return this.toXml(this.model);\n }\n\n toXml(model) {\n const xmlStream = new XmlStream();\n this.render(xmlStream, model);\n return xmlStream.xml;\n }\n\n // ============================================================\n // Useful Utilities\n static toAttribute(value, dflt, always = false) {\n if (value === undefined) {\n if (always) {\n return dflt;\n }\n } else if (always || value !== dflt) {\n return value.toString();\n }\n return undefined;\n }\n\n static toStringAttribute(value, dflt, always = false) {\n return BaseXform.toAttribute(value, dflt, always);\n }\n\n static toStringValue(attr, dflt) {\n return attr === undefined ? dflt : attr;\n }\n\n static toBoolAttribute(value, dflt, always = false) {\n if (value === undefined) {\n if (always) {\n return dflt;\n }\n } else if (always || value !== dflt) {\n return value ? '1' : '0';\n }\n return undefined;\n }\n\n static toBoolValue(attr, dflt) {\n return attr === undefined ? dflt : attr === '1';\n }\n\n static toIntAttribute(value, dflt, always = false) {\n return BaseXform.toAttribute(value, dflt, always);\n }\n\n static toIntValue(attr, dflt) {\n return attr === undefined ? dflt : parseInt(attr, 10);\n }\n\n static toFloatAttribute(value, dflt, always = false) {\n return BaseXform.toAttribute(value, dflt, always);\n }\n\n static toFloatValue(attr, dflt) {\n return attr === undefined ? dflt : parseFloat(attr);\n }\n}\n\nmodule.exports = BaseXform;\n","const BaseXform = require('../base-xform');\nconst colCache = require('../../../utils/col-cache');\n\nclass DefinedNamesXform extends BaseXform {\n render(xmlStream, model) {\n // <definedNames>\n // <definedName name=\"name\">name.ranges.join(',')</definedName>\n // <definedName name=\"_xlnm.Print_Area\" localSheetId=\"0\">name.ranges.join(',')</definedName>\n // </definedNames>\n xmlStream.openNode('definedName', {\n name: model.name,\n localSheetId: model.localSheetId,\n });\n xmlStream.writeText(model.ranges.join(','));\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n switch (node.name) {\n case 'definedName':\n this._parsedName = node.attributes.name;\n this._parsedLocalSheetId = node.attributes.localSheetId;\n this._parsedText = [];\n return true;\n default:\n return false;\n }\n }\n\n parseText(text) {\n this._parsedText.push(text);\n }\n\n parseClose() {\n this.model = {\n name: this._parsedName,\n ranges: extractRanges(this._parsedText.join('')),\n };\n if (this._parsedLocalSheetId !== undefined) {\n this.model.localSheetId = parseInt(this._parsedLocalSheetId, 10);\n }\n return false;\n }\n}\n\nfunction isValidRange(range) {\n try {\n colCache.decodeEx(range);\n return true;\n } catch (err) {\n return false;\n }\n}\n\nfunction extractRanges(parsedText) {\n const ranges = [];\n let quotesOpened = false;\n let last = '';\n parsedText.split(',').forEach(item => {\n if (!item) {\n return;\n }\n const quotes = (item.match(/'/g) || []).length;\n\n if (!quotes) {\n if (quotesOpened) {\n last += `${item},`;\n } else if (isValidRange(item)) {\n ranges.push(item);\n }\n return;\n }\n const quotesEven = quotes % 2 === 0;\n\n if (!quotesOpened && quotesEven && isValidRange(item)) {\n ranges.push(item);\n } else if (quotesOpened && !quotesEven) {\n quotesOpened = false;\n if (isValidRange(last + item)) {\n ranges.push(last + item);\n }\n last = '';\n } else {\n quotesOpened = true;\n last += `${item},`;\n }\n });\n return ranges;\n}\n\nmodule.exports = DefinedNamesXform;\n","const utils = require('../../../utils/utils');\nconst BaseXform = require('../base-xform');\n\nclass WorksheetXform extends BaseXform {\n render(xmlStream, model) {\n xmlStream.leafNode('sheet', {\n sheetId: model.id,\n name: model.name,\n state: model.state,\n 'r:id': model.rId,\n });\n }\n\n parseOpen(node) {\n if (node.name === 'sheet') {\n this.model = {\n name: utils.xmlDecode(node.attributes.name),\n id: parseInt(node.attributes.sheetId, 10),\n state: node.attributes.state,\n rId: node.attributes['r:id'],\n };\n return true;\n }\n return false;\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = WorksheetXform;\n","const BaseXform = require('../base-xform');\n\nclass WorkbookCalcPropertiesXform extends BaseXform {\n render(xmlStream, model) {\n xmlStream.leafNode('calcPr', {\n calcId: 171027,\n fullCalcOnLoad: model.fullCalcOnLoad ? 1 : undefined,\n });\n }\n\n parseOpen(node) {\n if (node.name === 'calcPr') {\n this.model = {};\n return true;\n }\n return false;\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = WorkbookCalcPropertiesXform;\n","const BaseXform = require('../base-xform');\n\nclass WorksheetPropertiesXform extends BaseXform {\n render(xmlStream, model) {\n xmlStream.leafNode('workbookPr', {\n date1904: model.date1904 ? 1 : undefined,\n defaultThemeVersion: 164011,\n filterPrivacy: 1,\n });\n }\n\n parseOpen(node) {\n if (node.name === 'workbookPr') {\n this.model = {\n date1904: node.attributes.date1904 === '1',\n };\n return true;\n }\n return false;\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = WorksheetPropertiesXform;\n","const BaseXform = require('../base-xform');\n\nclass WorkbookViewXform extends BaseXform {\n render(xmlStream, model) {\n const attributes = {\n xWindow: model.x || 0,\n yWindow: model.y || 0,\n windowWidth: model.width || 12000,\n windowHeight: model.height || 24000,\n firstSheet: model.firstSheet,\n activeTab: model.activeTab,\n };\n if (model.visibility && model.visibility !== 'visible') {\n attributes.visibility = model.visibility;\n }\n xmlStream.leafNode('workbookView', attributes);\n }\n\n parseOpen(node) {\n if (node.name === 'workbookView') {\n const model = (this.model = {});\n const addS = function(name, value, dflt) {\n const s = value !== undefined ? (model[name] = value) : dflt;\n if (s !== undefined) {\n model[name] = s;\n }\n };\n const addN = function(name, value, dflt) {\n const n = value !== undefined ? (model[name] = parseInt(value, 10)) : dflt;\n if (n !== undefined) {\n model[name] = n;\n }\n };\n addN('x', node.attributes.xWindow, 0);\n addN('y', node.attributes.yWindow, 0);\n addN('width', node.attributes.windowWidth, 25000);\n addN('height', node.attributes.windowHeight, 10000);\n addS('visibility', node.attributes.visibility, 'visible');\n addN('activeTab', node.attributes.activeTab, undefined);\n addN('firstSheet', node.attributes.firstSheet, undefined);\n return true;\n }\n return false;\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = WorkbookViewXform;\n","const _ = require('../../../utils/under-dash');\n\nconst colCache = require('../../../utils/col-cache');\nconst XmlStream = require('../../../utils/xml-stream');\n\nconst BaseXform = require('../base-xform');\nconst StaticXform = require('../static-xform');\nconst ListXform = require('../list-xform');\nconst DefinedNameXform = require('./defined-name-xform');\nconst SheetXform = require('./sheet-xform');\nconst WorkbookViewXform = require('./workbook-view-xform');\nconst WorkbookPropertiesXform = require('./workbook-properties-xform');\nconst WorkbookCalcPropertiesXform = require('./workbook-calc-properties-xform');\n\nclass WorkbookXform extends BaseXform {\n constructor() {\n super();\n\n this.map = {\n fileVersion: WorkbookXform.STATIC_XFORMS.fileVersion,\n workbookPr: new WorkbookPropertiesXform(),\n bookViews: new ListXform({\n tag: 'bookViews',\n count: false,\n childXform: new WorkbookViewXform(),\n }),\n sheets: new ListXform({tag: 'sheets', count: false, childXform: new SheetXform()}),\n definedNames: new ListXform({\n tag: 'definedNames',\n count: false,\n childXform: new DefinedNameXform(),\n }),\n calcPr: new WorkbookCalcPropertiesXform(),\n };\n }\n\n prepare(model) {\n model.sheets = model.worksheets;\n\n // collate all the print areas from all of the sheets and add them to the defined names\n const printAreas = [];\n let index = 0; // sheets is sparse array - calc index manually\n model.sheets.forEach(sheet => {\n if (sheet.pageSetup && sheet.pageSetup.printArea) {\n sheet.pageSetup.printArea.split('&&').forEach(printArea => {\n const printAreaComponents = printArea.split(':');\n const definedName = {\n name: '_xlnm.Print_Area',\n ranges: [`'${sheet.name}'!$${printAreaComponents[0]}:$${printAreaComponents[1]}`],\n localSheetId: index,\n };\n printAreas.push(definedName);\n });\n }\n\n if (\n sheet.pageSetup &&\n (sheet.pageSetup.printTitlesRow || sheet.pageSetup.printTitlesColumn)\n ) {\n const ranges = [];\n\n if (sheet.pageSetup.printTitlesColumn) {\n const titlesColumns = sheet.pageSetup.printTitlesColumn.split(':');\n ranges.push(`'${sheet.name}'!$${titlesColumns[0]}:$${titlesColumns[1]}`);\n }\n\n if (sheet.pageSetup.printTitlesRow) {\n const titlesRows = sheet.pageSetup.printTitlesRow.split(':');\n ranges.push(`'${sheet.name}'!$${titlesRows[0]}:$${titlesRows[1]}`);\n }\n\n const definedName = {\n name: '_xlnm.Print_Titles',\n ranges,\n localSheetId: index,\n };\n\n printAreas.push(definedName);\n }\n index++;\n });\n if (printAreas.length) {\n model.definedNames = model.definedNames.concat(printAreas);\n }\n\n (model.media || []).forEach((medium, i) => {\n // assign name\n medium.name = medium.type + (i + 1);\n });\n }\n\n render(xmlStream, model) {\n xmlStream.openXml(XmlStream.StdDocAttributes);\n xmlStream.openNode('workbook', WorkbookXform.WORKBOOK_ATTRIBUTES);\n\n this.map.fileVersion.render(xmlStream);\n this.map.workbookPr.render(xmlStream, model.properties);\n this.map.bookViews.render(xmlStream, model.views);\n this.map.sheets.render(xmlStream, model.sheets);\n this.map.definedNames.render(xmlStream, model.definedNames);\n this.map.calcPr.render(xmlStream, model.calcProperties);\n\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case 'workbook':\n return true;\n default:\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parser.parseOpen(node);\n }\n return true;\n }\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case 'workbook':\n this.model = {\n sheets: this.map.sheets.model,\n properties: this.map.workbookPr.model || {},\n views: this.map.bookViews.model,\n calcProperties: {},\n };\n if (this.map.definedNames.model) {\n this.model.definedNames = this.map.definedNames.model;\n }\n\n return false;\n default:\n // not quite sure how we get here!\n return true;\n }\n }\n\n reconcile(model) {\n const rels = (model.workbookRels || []).reduce((map, rel) => {\n map[rel.Id] = rel;\n return map;\n }, {});\n\n // reconcile sheet ids, rIds and names\n const worksheets = [];\n let worksheet;\n let index = 0;\n\n (model.sheets || []).forEach(sheet => {\n const rel = rels[sheet.rId];\n if (!rel) {\n return;\n }\n // if rel.Target start with `[space]/xl/` or `/xl/` , then it will be replaced with `''` and spliced behind `xl/`,\n // otherwise it will be spliced directly behind `xl/`. i.g.\n worksheet = model.worksheetHash[`xl/${rel.Target.replace(/^(\\s|\\/xl\\/)+/, '')}`];\n // If there are \"chartsheets\" in the file, rel.Target will\n // come out as chartsheets/sheet1.xml or similar here, and\n // that won't be in model.worksheetHash.\n // As we don't have the infrastructure to support chartsheets,\n // we will ignore them for now:\n if (worksheet) {\n worksheet.name = sheet.name;\n worksheet.id = sheet.id;\n worksheet.state = sheet.state;\n worksheets[index++] = worksheet;\n }\n });\n\n // reconcile print areas\n const definedNames = [];\n _.each(model.definedNames, definedName => {\n if (definedName.name === '_xlnm.Print_Area') {\n worksheet = worksheets[definedName.localSheetId];\n if (worksheet) {\n if (!worksheet.pageSetup) {\n worksheet.pageSetup = {};\n }\n const range = colCache.decodeEx(definedName.ranges[0]);\n worksheet.pageSetup.printArea = worksheet.pageSetup.printArea\n ? `${worksheet.pageSetup.printArea}&&${range.dimensions}`\n : range.dimensions;\n }\n } else if (definedName.name === '_xlnm.Print_Titles') {\n worksheet = worksheets[definedName.localSheetId];\n if (worksheet) {\n if (!worksheet.pageSetup) {\n worksheet.pageSetup = {};\n }\n\n const rangeString = definedName.ranges.join(',');\n\n const dollarRegex = /\\$/g;\n\n const rowRangeRegex = /\\$\\d+:\\$\\d+/;\n const rowRangeMatches = rangeString.match(rowRangeRegex);\n\n if (rowRangeMatches && rowRangeMatches.length) {\n const range = rowRangeMatches[0];\n worksheet.pageSetup.printTitlesRow = range.replace(dollarRegex, '');\n }\n\n const columnRangeRegex = /\\$[A-Z]+:\\$[A-Z]+/;\n const columnRangeMatches = rangeString.match(columnRangeRegex);\n\n if (columnRangeMatches && columnRangeMatches.length) {\n const range = columnRangeMatches[0];\n worksheet.pageSetup.printTitlesColumn = range.replace(dollarRegex, '');\n }\n }\n } else {\n definedNames.push(definedName);\n }\n });\n model.definedNames = definedNames;\n\n // used by sheets to build their image models\n model.media.forEach((media, i) => {\n media.index = i;\n });\n }\n}\n\nWorkbookXform.WORKBOOK_ATTRIBUTES = {\n xmlns: 'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\n 'xmlns:r': 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',\n 'xmlns:mc': 'http://schemas.openxmlformats.org/markup-compatibility/2006',\n 'mc:Ignorable': 'x15',\n 'xmlns:x15': 'http://schemas.microsoft.com/office/spreadsheetml/2010/11/main',\n};\nWorkbookXform.STATIC_XFORMS = {\n fileVersion: new StaticXform({\n tag: 'fileVersion',\n $: {appName: 'xl', lastEdited: 5, lowestEdited: 5, rupBuild: 9303},\n }),\n};\n\nmodule.exports = WorkbookXform;\n","const RichTextXform = require('../strings/rich-text-xform');\nconst utils = require('../../../utils/utils');\nconst BaseXform = require('../base-xform');\n\n/**\n <comment ref=\"B1\" authorId=\"0\">\n <text>\n <r>\n <rPr>\n <b/>\n <sz val=\"9\"/>\n <rFont val=\"宋体\"/>\n <charset val=\"134\"/>\n </rPr>\n <t>51422:</t>\n </r>\n <r>\n <rPr>\n <sz val=\"9\"/>\n <rFont val=\"宋体\"/>\n <charset val=\"134\"/>\n </rPr>\n <t xml:space=\"preserve\"> test</t>\n </r>\n </text>\n </comment>\n */\n\nconst CommentXform = (module.exports = function(model) {\n this.model = model;\n});\n\nutils.inherits(CommentXform, BaseXform, {\n get tag() {\n return 'r';\n },\n\n get richTextXform() {\n if (!this._richTextXform) {\n this._richTextXform = new RichTextXform();\n }\n return this._richTextXform;\n },\n\n render(xmlStream, model) {\n model = model || this.model;\n\n xmlStream.openNode('comment', {\n ref: model.ref,\n authorId: 0,\n });\n xmlStream.openNode('text');\n if (model && model.note && model.note.texts) {\n model.note.texts.forEach(text => {\n this.richTextXform.render(xmlStream, text);\n });\n }\n xmlStream.closeNode();\n xmlStream.closeNode();\n },\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case 'comment':\n this.model = {\n type: 'note',\n note: {\n texts: [],\n },\n ...node.attributes,\n };\n return true;\n case 'r':\n this.parser = this.richTextXform;\n this.parser.parseOpen(node);\n return true;\n default:\n return false;\n }\n },\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n },\n parseClose(name) {\n switch (name) {\n case 'comment':\n return false;\n case 'r':\n this.model.note.texts.push(this.parser.model);\n this.parser = undefined;\n return true;\n default:\n if (this.parser) {\n this.parser.parseClose(name);\n }\n return true;\n }\n },\n});\n","const XmlStream = require('../../../utils/xml-stream');\nconst utils = require('../../../utils/utils');\nconst BaseXform = require('../base-xform');\n\nconst CommentXform = require('./comment-xform');\n\nconst CommentsXform = (module.exports = function() {\n this.map = {\n comment: new CommentXform(),\n };\n});\n\nutils.inherits(\n CommentsXform,\n BaseXform,\n {\n COMMENTS_ATTRIBUTES: {\n xmlns: 'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\n },\n },\n {\n render(xmlStream, model) {\n model = model || this.model;\n xmlStream.openXml(XmlStream.StdDocAttributes);\n xmlStream.openNode('comments', CommentsXform.COMMENTS_ATTRIBUTES);\n\n // authors\n // TODO: support authors properly\n xmlStream.openNode('authors');\n xmlStream.leafNode('author', null, 'Author');\n xmlStream.closeNode();\n\n // comments\n xmlStream.openNode('commentList');\n model.comments.forEach(comment => {\n this.map.comment.render(xmlStream, comment);\n });\n xmlStream.closeNode();\n xmlStream.closeNode();\n },\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case 'commentList':\n this.model = {\n comments: [],\n };\n return true;\n case 'comment':\n this.parser = this.map.comment;\n this.parser.parseOpen(node);\n return true;\n default:\n return false;\n }\n },\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n },\n parseClose(name) {\n switch (name) {\n case 'commentList':\n return false;\n case 'comment':\n this.model.comments.push(this.parser.model);\n this.parser = undefined;\n return true;\n default:\n if (this.parser) {\n this.parser.parseClose(name);\n }\n return true;\n }\n },\n }\n);\n","const BaseXform = require('../../base-xform');\n\nclass VmlPositionXform extends BaseXform {\n constructor(model) {\n super();\n this._model = model;\n }\n\n get tag() {\n return this._model && this._model.tag;\n }\n\n render(xmlStream, model, type) {\n if (model === type[2]) {\n xmlStream.leafNode(this.tag);\n } else if (this.tag === 'x:SizeWithCells' && model === type[1]) {\n xmlStream.leafNode(this.tag);\n }\n }\n\n parseOpen(node) {\n switch (node.name) {\n case this.tag:\n this.model = {};\n this.model[this.tag] = true;\n return true;\n default:\n return false;\n }\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = VmlPositionXform;\n","const BaseXform = require('../../base-xform');\n\nclass VmlProtectionXform extends BaseXform {\n constructor(model) {\n super();\n this._model = model;\n }\n\n get tag() {\n return this._model && this._model.tag;\n }\n\n render(xmlStream, model) {\n xmlStream.leafNode(this.tag, null, model);\n }\n\n parseOpen(node) {\n switch (node.name) {\n case this.tag:\n this.text = '';\n return true;\n default:\n return false;\n }\n }\n\n parseText(text) {\n this.text = text;\n }\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = VmlProtectionXform;\n","const BaseXform = require('../base-xform');\n\n// render the triangle in the cell for the comment\nclass VmlAnchorXform extends BaseXform {\n get tag() {\n return 'x:Anchor';\n }\n\n getAnchorRect(anchor) {\n const l = Math.floor(anchor.left);\n const lf = Math.floor((anchor.left - l) * 68);\n const t = Math.floor(anchor.top);\n const tf = Math.floor((anchor.top - t) * 18);\n const r = Math.floor(anchor.right);\n const rf = Math.floor((anchor.right - r) * 68);\n const b = Math.floor(anchor.bottom);\n const bf = Math.floor((anchor.bottom - b) * 18);\n return [l, lf, t, tf, r, rf, b, bf];\n }\n\n getDefaultRect(ref) {\n const l = ref.col;\n const lf = 6;\n const t = Math.max(ref.row - 2, 0);\n const tf = 14;\n const r = l + 2;\n const rf = 2;\n const b = t + 4;\n const bf = 16;\n return [l, lf, t, tf, r, rf, b, bf];\n }\n\n render(xmlStream, model) {\n const rect = model.anchor\n ? this.getAnchorRect(model.anchor)\n : this.getDefaultRect(model.refAddress);\n\n xmlStream.leafNode('x:Anchor', null, rect.join(', '));\n }\n\n parseOpen(node) {\n switch (node.name) {\n case this.tag:\n this.text = '';\n return true;\n default:\n return false;\n }\n }\n\n parseText(text) {\n this.text = text;\n }\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = VmlAnchorXform;\n","const BaseXform = require('../base-xform');\n\nconst VmlAnchorXform = require('./vml-anchor-xform');\nconst VmlProtectionXform = require('./style/vml-protection-xform');\nconst VmlPositionXform = require('./style/vml-position-xform');\n\nconst POSITION_TYPE = ['twoCells', 'oneCells', 'absolute'];\n\nclass VmlClientDataXform extends BaseXform {\n constructor() {\n super();\n this.map = {\n 'x:Anchor': new VmlAnchorXform(),\n 'x:Locked': new VmlProtectionXform({tag: 'x:Locked'}),\n 'x:LockText': new VmlProtectionXform({tag: 'x:LockText'}),\n 'x:SizeWithCells': new VmlPositionXform({tag: 'x:SizeWithCells'}),\n 'x:MoveWithCells': new VmlPositionXform({tag: 'x:MoveWithCells'}),\n };\n }\n\n get tag() {\n return 'x:ClientData';\n }\n\n render(xmlStream, model) {\n const {protection, editAs} = model.note;\n xmlStream.openNode(this.tag, {ObjectType: 'Note'});\n this.map['x:MoveWithCells'].render(xmlStream, editAs, POSITION_TYPE);\n this.map['x:SizeWithCells'].render(xmlStream, editAs, POSITION_TYPE);\n this.map['x:Anchor'].render(xmlStream, model);\n this.map['x:Locked'].render(xmlStream, protection.locked);\n xmlStream.leafNode('x:AutoFill', null, 'False');\n this.map['x:LockText'].render(xmlStream, protection.lockText);\n xmlStream.leafNode('x:Row', null, model.refAddress.row - 1);\n xmlStream.leafNode('x:Column', null, model.refAddress.col - 1);\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n switch (node.name) {\n case this.tag:\n this.reset();\n this.model = {\n anchor: [],\n protection: {},\n editAs: '',\n };\n break;\n default:\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parser.parseOpen(node);\n }\n break;\n }\n return true;\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case this.tag:\n this.normalizeModel();\n return false;\n default:\n return true;\n }\n }\n\n normalizeModel() {\n const position = Object.assign(\n {},\n this.map['x:MoveWithCells'].model,\n this.map['x:SizeWithCells'].model\n );\n const len = Object.keys(position).length;\n this.model.editAs = POSITION_TYPE[len];\n this.model.anchor = this.map['x:Anchor'].text;\n this.model.protection.locked = this.map['x:Locked'].text;\n this.model.protection.lockText = this.map['x:LockText'].text;\n }\n}\n\nmodule.exports = VmlClientDataXform;\n","const XmlStream = require('../../../utils/xml-stream');\n\nconst BaseXform = require('../base-xform');\nconst VmlShapeXform = require('./vml-shape-xform');\n\n// This class is (currently) single purposed to insert the triangle\n// drawing icons on commented cells\nclass VmlNotesXform extends BaseXform {\n constructor() {\n super();\n this.map = {\n 'v:shape': new VmlShapeXform(),\n };\n }\n\n get tag() {\n return 'xml';\n }\n\n render(xmlStream, model) {\n xmlStream.openXml(XmlStream.StdDocAttributes);\n xmlStream.openNode(this.tag, VmlNotesXform.DRAWING_ATTRIBUTES);\n\n xmlStream.openNode('o:shapelayout', {'v:ext': 'edit'});\n xmlStream.leafNode('o:idmap', {'v:ext': 'edit', data: 1});\n xmlStream.closeNode();\n\n xmlStream.openNode('v:shapetype', {\n id: '_x0000_t202',\n coordsize: '21600,21600',\n 'o:spt': 202,\n path: 'm,l,21600r21600,l21600,xe',\n });\n xmlStream.leafNode('v:stroke', {joinstyle: 'miter'});\n xmlStream.leafNode('v:path', {gradientshapeok: 't', 'o:connecttype': 'rect'});\n xmlStream.closeNode();\n\n model.comments.forEach((item, index) => {\n this.map['v:shape'].render(xmlStream, item, index);\n });\n\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case this.tag:\n this.reset();\n this.model = {\n comments: [],\n };\n break;\n default:\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parser.parseOpen(node);\n }\n break;\n }\n return true;\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.model.comments.push(this.parser.model);\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case this.tag:\n return false;\n default:\n // could be some unrecognised tags\n return true;\n }\n }\n\n reconcile(model, options) {\n model.anchors.forEach(anchor => {\n if (anchor.br) {\n this.map['xdr:twoCellAnchor'].reconcile(anchor, options);\n } else {\n this.map['xdr:oneCellAnchor'].reconcile(anchor, options);\n }\n });\n }\n}\n\nVmlNotesXform.DRAWING_ATTRIBUTES = {\n 'xmlns:v': 'urn:schemas-microsoft-com:vml',\n 'xmlns:o': 'urn:schemas-microsoft-com:office:office',\n 'xmlns:x': 'urn:schemas-microsoft-com:office:excel',\n};\n\nmodule.exports = VmlNotesXform;\n","const BaseXform = require('../base-xform');\nconst VmlTextboxXform = require('./vml-textbox-xform');\nconst VmlClientDataXform = require('./vml-client-data-xform');\n\nclass VmlShapeXform extends BaseXform {\n constructor() {\n super();\n this.map = {\n 'v:textbox': new VmlTextboxXform(),\n 'x:ClientData': new VmlClientDataXform(),\n };\n }\n\n get tag() {\n return 'v:shape';\n }\n\n render(xmlStream, model, index) {\n xmlStream.openNode('v:shape', VmlShapeXform.V_SHAPE_ATTRIBUTES(model, index));\n\n xmlStream.leafNode('v:fill', {color2: 'infoBackground [80]'});\n xmlStream.leafNode('v:shadow', {color: 'none [81]', obscured: 't'});\n xmlStream.leafNode('v:path', {'o:connecttype': 'none'});\n this.map['v:textbox'].render(xmlStream, model);\n this.map['x:ClientData'].render(xmlStream, model);\n\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n\n switch (node.name) {\n case this.tag:\n this.reset();\n this.model = {\n margins: {\n insetmode: node.attributes['o:insetmode'],\n },\n anchor: '',\n editAs: '',\n protection: {},\n };\n break;\n default:\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parser.parseOpen(node);\n }\n break;\n }\n return true;\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case this.tag:\n this.model.margins.inset = this.map['v:textbox'].model && this.map['v:textbox'].model.inset;\n this.model.protection =\n this.map['x:ClientData'].model && this.map['x:ClientData'].model.protection;\n this.model.anchor = this.map['x:ClientData'].model && this.map['x:ClientData'].model.anchor;\n this.model.editAs = this.map['x:ClientData'].model && this.map['x:ClientData'].model.editAs;\n return false;\n default:\n return true;\n }\n }\n}\n\nVmlShapeXform.V_SHAPE_ATTRIBUTES = (model, index) => ({\n id: `_x0000_s${1025 + index}`,\n type: '#_x0000_t202',\n style:\n 'position:absolute; margin-left:105.3pt;margin-top:10.5pt;width:97.8pt;height:59.1pt;z-index:1;visibility:hidden',\n fillcolor: 'infoBackground [80]',\n strokecolor: 'none [81]',\n 'o:insetmode': model.note.margins && model.note.margins.insetmode,\n});\n\nmodule.exports = VmlShapeXform;\n","const BaseXform = require('../base-xform');\n\nclass VmlTextboxXform extends BaseXform {\n get tag() {\n return 'v:textbox';\n }\n\n conversionUnit(value, multiple, unit) {\n return `${parseFloat(value) * multiple.toFixed(2)}${unit}`;\n }\n\n reverseConversionUnit(inset) {\n return (inset || '').split(',').map(margin => {\n return Number(parseFloat(this.conversionUnit(parseFloat(margin), 0.1, '')).toFixed(2));\n });\n }\n\n render(xmlStream, model) {\n const attributes = {\n style: 'mso-direction-alt:auto',\n };\n if (model && model.note) {\n let {inset} = model.note && model.note.margins;\n if (Array.isArray(inset)) {\n inset = inset\n .map(margin => {\n return this.conversionUnit(margin, 10, 'mm');\n })\n .join(',');\n }\n if (inset) {\n attributes.inset = inset;\n }\n }\n xmlStream.openNode('v:textbox', attributes);\n xmlStream.leafNode('div', {style: 'text-align:left'});\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n switch (node.name) {\n case this.tag:\n this.model = {\n inset: this.reverseConversionUnit(node.attributes.inset),\n };\n return true;\n default:\n return true;\n }\n }\n\n parseText() {}\n\n parseClose(name) {\n switch (name) {\n case this.tag:\n return false;\n default:\n return true;\n }\n }\n}\n\nmodule.exports = VmlTextboxXform;\n","const BaseXform = require('./base-xform');\n\n/* 'virtual' methods used as a form of documentation */\n/* eslint-disable class-methods-use-this */\n\n// base class for xforms that are composed of other xforms\n// offers some default implementations\nclass CompositeXform extends BaseXform {\n createNewModel(node) {\n return {};\n }\n\n parseOpen(node) {\n // Typical pattern for composite xform\n this.parser = this.parser || this.map[node.name];\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n\n if (node.name === this.tag) {\n this.model = this.createNewModel(node);\n return true;\n }\n\n return false;\n }\n\n parseText(text) {\n // Default implementation. Send text to child parser\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n onParserClose(name, parser) {\n // parseClose has seen a child parser close\n // now need to incorporate into this.model somehow\n this.model[name] = parser.model;\n }\n\n parseClose(name) {\n // Default implementation\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.onParserClose(name, this.parser);\n this.parser = undefined;\n }\n return true;\n }\n\n return name !== this.tag;\n }\n}\n\nmodule.exports = CompositeXform;\n","const BaseXform = require('../base-xform');\n\nclass AppHeadingPairsXform extends BaseXform {\n render(xmlStream, model) {\n xmlStream.openNode('HeadingPairs');\n xmlStream.openNode('vt:vector', {size: 2, baseType: 'variant'});\n\n xmlStream.openNode('vt:variant');\n xmlStream.leafNode('vt:lpstr', undefined, 'Worksheets');\n xmlStream.closeNode();\n\n xmlStream.openNode('vt:variant');\n xmlStream.leafNode('vt:i4', undefined, model.length);\n xmlStream.closeNode();\n\n xmlStream.closeNode();\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n // no parsing\n return node.name === 'HeadingPairs';\n }\n\n parseText() {}\n\n parseClose(name) {\n return name !== 'HeadingPairs';\n }\n}\n\nmodule.exports = AppHeadingPairsXform;\n","const BaseXform = require('../base-xform');\n\nclass AppTitlesOfPartsXform extends BaseXform {\n render(xmlStream, model) {\n xmlStream.openNode('TitlesOfParts');\n xmlStream.openNode('vt:vector', {size: model.length, baseType: 'lpstr'});\n\n model.forEach(sheet => {\n xmlStream.leafNode('vt:lpstr', undefined, sheet.name);\n });\n\n xmlStream.closeNode();\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n // no parsing\n return node.name === 'TitlesOfParts';\n }\n\n parseText() {}\n\n parseClose(name) {\n return name !== 'TitlesOfParts';\n }\n}\n\nmodule.exports = AppTitlesOfPartsXform;\n","const XmlStream = require('../../../utils/xml-stream');\nconst BaseXform = require('../base-xform');\nconst StringXform = require('../simple/string-xform');\n\nconst AppHeadingPairsXform = require('./app-heading-pairs-xform');\nconst AppTitleOfPartsXform = require('./app-titles-of-parts-xform');\n\nclass AppXform extends BaseXform {\n constructor() {\n super();\n\n this.map = {\n Company: new StringXform({tag: 'Company'}),\n Manager: new StringXform({tag: 'Manager'}),\n HeadingPairs: new AppHeadingPairsXform(),\n TitleOfParts: new AppTitleOfPartsXform(),\n };\n }\n\n render(xmlStream, model) {\n xmlStream.openXml(XmlStream.StdDocAttributes);\n\n xmlStream.openNode('Properties', AppXform.PROPERTY_ATTRIBUTES);\n\n xmlStream.leafNode('Application', undefined, 'Microsoft Excel');\n xmlStream.leafNode('DocSecurity', undefined, '0');\n xmlStream.leafNode('ScaleCrop', undefined, 'false');\n\n this.map.HeadingPairs.render(xmlStream, model.worksheets);\n this.map.TitleOfParts.render(xmlStream, model.worksheets);\n this.map.Company.render(xmlStream, model.company || '');\n this.map.Manager.render(xmlStream, model.manager);\n\n xmlStream.leafNode('LinksUpToDate', undefined, 'false');\n xmlStream.leafNode('SharedDoc', undefined, 'false');\n xmlStream.leafNode('HyperlinksChanged', undefined, 'false');\n xmlStream.leafNode('AppVersion', undefined, '16.0300');\n\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case 'Properties':\n return true;\n default:\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n\n // there's a lot we don't bother to parse\n return false;\n }\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case 'Properties':\n this.model = {\n worksheets: this.map.TitleOfParts.model,\n company: this.map.Company.model,\n manager: this.map.Manager.model,\n };\n return false;\n default:\n return true;\n }\n }\n}\n\nAppXform.DateFormat = function(dt) {\n return dt.toISOString().replace(/[.]\\d{3,6}/, '');\n};\n\nAppXform.DateAttrs = {'xsi:type': 'dcterms:W3CDTF'};\n\nAppXform.PROPERTY_ATTRIBUTES = {\n xmlns: 'http://schemas.openxmlformats.org/officeDocument/2006/extended-properties',\n 'xmlns:vt': 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes',\n};\n\nmodule.exports = AppXform;\n","const XmlStream = require('../../../utils/xml-stream');\n\nconst BaseXform = require('../base-xform');\n\n// used for rendering the [Content_Types].xml file\n// not used for parsing\nclass ContentTypesXform extends BaseXform {\n render(xmlStream, model) {\n xmlStream.openXml(XmlStream.StdDocAttributes);\n\n xmlStream.openNode('Types', ContentTypesXform.PROPERTY_ATTRIBUTES);\n\n const mediaHash = {};\n (model.media || []).forEach(medium => {\n if (medium.type === 'image') {\n const imageType = medium.extension;\n if (!mediaHash[imageType]) {\n mediaHash[imageType] = true;\n xmlStream.leafNode('Default', {Extension: imageType, ContentType: `image/${imageType}`});\n }\n }\n });\n\n xmlStream.leafNode('Default', {\n Extension: 'rels',\n ContentType: 'application/vnd.openxmlformats-package.relationships+xml',\n });\n xmlStream.leafNode('Default', {Extension: 'xml', ContentType: 'application/xml'});\n\n xmlStream.leafNode('Override', {\n PartName: '/xl/workbook.xml',\n ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml',\n });\n\n model.worksheets.forEach(worksheet => {\n const name = `/xl/worksheets/sheet${worksheet.id}.xml`;\n xmlStream.leafNode('Override', {\n PartName: name,\n ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml',\n });\n });\n\n xmlStream.leafNode('Override', {\n PartName: '/xl/theme/theme1.xml',\n ContentType: 'application/vnd.openxmlformats-officedocument.theme+xml',\n });\n xmlStream.leafNode('Override', {\n PartName: '/xl/styles.xml',\n ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml',\n });\n\n const hasSharedStrings = model.sharedStrings && model.sharedStrings.count;\n if (hasSharedStrings) {\n xmlStream.leafNode('Override', {\n PartName: '/xl/sharedStrings.xml',\n ContentType:\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml',\n });\n }\n\n if (model.tables) {\n model.tables.forEach(table => {\n xmlStream.leafNode('Override', {\n PartName: `/xl/tables/${table.target}`,\n ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml',\n });\n });\n }\n\n if (model.drawings) {\n model.drawings.forEach(drawing => {\n xmlStream.leafNode('Override', {\n PartName: `/xl/drawings/${drawing.name}.xml`,\n ContentType: 'application/vnd.openxmlformats-officedocument.drawing+xml',\n });\n });\n }\n\n if (model.commentRefs) {\n xmlStream.leafNode('Default', {\n Extension: 'vml',\n ContentType: 'application/vnd.openxmlformats-officedocument.vmlDrawing',\n });\n\n model.commentRefs.forEach(({commentName}) => {\n xmlStream.leafNode('Override', {\n PartName: `/xl/${commentName}.xml`,\n ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml',\n });\n });\n }\n\n xmlStream.leafNode('Override', {\n PartName: '/docProps/core.xml',\n ContentType: 'application/vnd.openxmlformats-package.core-properties+xml',\n });\n xmlStream.leafNode('Override', {\n PartName: '/docProps/app.xml',\n ContentType: 'application/vnd.openxmlformats-officedocument.extended-properties+xml',\n });\n\n xmlStream.closeNode();\n }\n\n parseOpen() {\n return false;\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nContentTypesXform.PROPERTY_ATTRIBUTES = {\n xmlns: 'http://schemas.openxmlformats.org/package/2006/content-types',\n};\n\nmodule.exports = ContentTypesXform;\n","const XmlStream = require('../../../utils/xml-stream');\nconst BaseXform = require('../base-xform');\nconst DateXform = require('../simple/date-xform');\nconst StringXform = require('../simple/string-xform');\nconst IntegerXform = require('../simple/integer-xform');\n\nclass CoreXform extends BaseXform {\n constructor() {\n super();\n\n this.map = {\n 'dc:creator': new StringXform({tag: 'dc:creator'}),\n 'dc:title': new StringXform({tag: 'dc:title'}),\n 'dc:subject': new StringXform({tag: 'dc:subject'}),\n 'dc:description': new StringXform({tag: 'dc:description'}),\n 'dc:identifier': new StringXform({tag: 'dc:identifier'}),\n 'dc:language': new StringXform({tag: 'dc:language'}),\n 'cp:keywords': new StringXform({tag: 'cp:keywords'}),\n 'cp:category': new StringXform({tag: 'cp:category'}),\n 'cp:lastModifiedBy': new StringXform({tag: 'cp:lastModifiedBy'}),\n 'cp:lastPrinted': new DateXform({tag: 'cp:lastPrinted', format: CoreXform.DateFormat}),\n 'cp:revision': new IntegerXform({tag: 'cp:revision'}),\n 'cp:version': new StringXform({tag: 'cp:version'}),\n 'cp:contentStatus': new StringXform({tag: 'cp:contentStatus'}),\n 'cp:contentType': new StringXform({tag: 'cp:contentType'}),\n 'dcterms:created': new DateXform({\n tag: 'dcterms:created',\n attrs: CoreXform.DateAttrs,\n format: CoreXform.DateFormat,\n }),\n 'dcterms:modified': new DateXform({\n tag: 'dcterms:modified',\n attrs: CoreXform.DateAttrs,\n format: CoreXform.DateFormat,\n }),\n };\n }\n\n render(xmlStream, model) {\n xmlStream.openXml(XmlStream.StdDocAttributes);\n\n xmlStream.openNode('cp:coreProperties', CoreXform.CORE_PROPERTY_ATTRIBUTES);\n\n this.map['dc:creator'].render(xmlStream, model.creator);\n this.map['dc:title'].render(xmlStream, model.title);\n this.map['dc:subject'].render(xmlStream, model.subject);\n this.map['dc:description'].render(xmlStream, model.description);\n this.map['dc:identifier'].render(xmlStream, model.identifier);\n this.map['dc:language'].render(xmlStream, model.language);\n this.map['cp:keywords'].render(xmlStream, model.keywords);\n this.map['cp:category'].render(xmlStream, model.category);\n this.map['cp:lastModifiedBy'].render(xmlStream, model.lastModifiedBy);\n this.map['cp:lastPrinted'].render(xmlStream, model.lastPrinted);\n this.map['cp:revision'].render(xmlStream, model.revision);\n this.map['cp:version'].render(xmlStream, model.version);\n this.map['cp:contentStatus'].render(xmlStream, model.contentStatus);\n this.map['cp:contentType'].render(xmlStream, model.contentType);\n this.map['dcterms:created'].render(xmlStream, model.created);\n this.map['dcterms:modified'].render(xmlStream, model.modified);\n\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case 'cp:coreProperties':\n case 'coreProperties':\n return true;\n default:\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n throw new Error(`Unexpected xml node in parseOpen: ${JSON.stringify(node)}`);\n }\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case 'cp:coreProperties':\n case 'coreProperties':\n this.model = {\n creator: this.map['dc:creator'].model,\n title: this.map['dc:title'].model,\n subject: this.map['dc:subject'].model,\n description: this.map['dc:description'].model,\n identifier: this.map['dc:identifier'].model,\n language: this.map['dc:language'].model,\n keywords: this.map['cp:keywords'].model,\n category: this.map['cp:category'].model,\n lastModifiedBy: this.map['cp:lastModifiedBy'].model,\n lastPrinted: this.map['cp:lastPrinted'].model,\n revision: this.map['cp:revision'].model,\n contentStatus: this.map['cp:contentStatus'].model,\n contentType: this.map['cp:contentType'].model,\n created: this.map['dcterms:created'].model,\n modified: this.map['dcterms:modified'].model,\n };\n return false;\n default:\n throw new Error(`Unexpected xml node in parseClose: ${name}`);\n }\n }\n}\n\nCoreXform.DateFormat = function(dt) {\n return dt.toISOString().replace(/[.]\\d{3}/, '');\n};\nCoreXform.DateAttrs = {'xsi:type': 'dcterms:W3CDTF'};\n\nCoreXform.CORE_PROPERTY_ATTRIBUTES = {\n 'xmlns:cp': 'http://schemas.openxmlformats.org/package/2006/metadata/core-properties',\n 'xmlns:dc': 'http://purl.org/dc/elements/1.1/',\n 'xmlns:dcterms': 'http://purl.org/dc/terms/',\n 'xmlns:dcmitype': 'http://purl.org/dc/dcmitype/',\n 'xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n};\n\nmodule.exports = CoreXform;\n","const BaseXform = require('../base-xform');\n\nclass RelationshipXform extends BaseXform {\n render(xmlStream, model) {\n xmlStream.leafNode('Relationship', model);\n }\n\n parseOpen(node) {\n switch (node.name) {\n case 'Relationship':\n this.model = node.attributes;\n return true;\n default:\n return false;\n }\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = RelationshipXform;\n","const XmlStream = require('../../../utils/xml-stream');\nconst BaseXform = require('../base-xform');\n\nconst RelationshipXform = require('./relationship-xform');\n\nclass RelationshipsXform extends BaseXform {\n constructor() {\n super();\n\n this.map = {\n Relationship: new RelationshipXform(),\n };\n }\n\n render(xmlStream, model) {\n model = model || this._values;\n xmlStream.openXml(XmlStream.StdDocAttributes);\n xmlStream.openNode('Relationships', RelationshipsXform.RELATIONSHIPS_ATTRIBUTES);\n\n model.forEach(relationship => {\n this.map.Relationship.render(xmlStream, relationship);\n });\n\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case 'Relationships':\n this.model = [];\n return true;\n default:\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n throw new Error(`Unexpected xml node in parseOpen: ${JSON.stringify(node)}`);\n }\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.model.push(this.parser.model);\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case 'Relationships':\n return false;\n default:\n throw new Error(`Unexpected xml node in parseClose: ${name}`);\n }\n }\n}\n\nRelationshipsXform.RELATIONSHIPS_ATTRIBUTES = {\n xmlns: 'http://schemas.openxmlformats.org/package/2006/relationships',\n};\n\nmodule.exports = RelationshipsXform;\n","const BaseXform = require('../base-xform');\n\nclass BaseCellAnchorXform extends BaseXform {\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case this.tag:\n this.reset();\n this.model = {\n range: {\n editAs: node.attributes.editAs || 'oneCell',\n },\n };\n break;\n default:\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parser.parseOpen(node);\n }\n break;\n }\n return true;\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n reconcilePicture(model, options) {\n if (model && model.rId) {\n const rel = options.rels[model.rId];\n const match = rel.Target.match(/.*\\/media\\/(.+[.][a-zA-Z]{3,4})/);\n if (match) {\n const name = match[1];\n const mediaId = options.mediaIndex[name];\n return options.media[mediaId];\n }\n }\n return undefined;\n }\n}\n\nmodule.exports = BaseCellAnchorXform;\n","const BaseXform = require('../base-xform');\nconst BlipXform = require('./blip-xform');\n\nclass BlipFillXform extends BaseXform {\n constructor() {\n super();\n\n this.map = {\n 'a:blip': new BlipXform(),\n };\n }\n\n get tag() {\n return 'xdr:blipFill';\n }\n\n render(xmlStream, model) {\n xmlStream.openNode(this.tag);\n\n this.map['a:blip'].render(xmlStream, model);\n\n // TODO: options for this + parsing\n xmlStream.openNode('a:stretch');\n xmlStream.leafNode('a:fillRect');\n xmlStream.closeNode();\n\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n\n switch (node.name) {\n case this.tag:\n this.reset();\n break;\n\n default:\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parser.parseOpen(node);\n }\n break;\n }\n return true;\n }\n\n parseText() {}\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case this.tag:\n this.model = this.map['a:blip'].model;\n return false;\n\n default:\n return true;\n }\n }\n}\n\nmodule.exports = BlipFillXform;\n","const BaseXform = require('../base-xform');\n\nclass BlipXform extends BaseXform {\n get tag() {\n return 'a:blip';\n }\n\n render(xmlStream, model) {\n xmlStream.leafNode(this.tag, {\n 'xmlns:r': 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',\n 'r:embed': model.rId,\n cstate: 'print',\n });\n // TODO: handle children (e.g. a:extLst=>a:ext=>a14:useLocalDpi\n }\n\n parseOpen(node) {\n switch (node.name) {\n case this.tag:\n this.model = {\n rId: node.attributes['r:embed'],\n };\n return true;\n default:\n return true;\n }\n }\n\n parseText() {}\n\n parseClose(name) {\n switch (name) {\n case this.tag:\n return false;\n default:\n // unprocessed internal nodes\n return true;\n }\n }\n}\n\nmodule.exports = BlipXform;\n","const BaseXform = require('../base-xform');\n\nclass CNvPicPrXform extends BaseXform {\n get tag() {\n return 'xdr:cNvPicPr';\n }\n\n render(xmlStream) {\n xmlStream.openNode(this.tag);\n xmlStream.leafNode('a:picLocks', {\n noChangeAspect: '1',\n });\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n switch (node.name) {\n case this.tag:\n return true;\n default:\n return true;\n }\n }\n\n parseText() {}\n\n parseClose(name) {\n switch (name) {\n case this.tag:\n return false;\n default:\n // unprocessed internal nodes\n return true;\n }\n }\n}\n\nmodule.exports = CNvPicPrXform;\n","const BaseXform = require('../base-xform');\nconst HlickClickXform = require('./hlink-click-xform');\nconst ExtLstXform = require('./ext-lst-xform');\n\nclass CNvPrXform extends BaseXform {\n constructor() {\n super();\n\n this.map = {\n 'a:hlinkClick': new HlickClickXform(),\n 'a:extLst': new ExtLstXform(),\n };\n }\n\n get tag() {\n return 'xdr:cNvPr';\n }\n\n render(xmlStream, model) {\n xmlStream.openNode(this.tag, {\n id: model.index,\n name: `Picture ${model.index}`,\n });\n this.map['a:hlinkClick'].render(xmlStream, model);\n this.map['a:extLst'].render(xmlStream, model);\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n\n switch (node.name) {\n case this.tag:\n this.reset();\n break;\n default:\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parser.parseOpen(node);\n }\n break;\n }\n return true;\n }\n\n parseText() {}\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case this.tag:\n this.model = this.map['a:hlinkClick'].model;\n return false;\n default:\n return true;\n }\n }\n}\n\nmodule.exports = CNvPrXform;\n","const BaseXform = require('../base-xform');\nconst IntegerXform = require('../simple/integer-xform');\n\nclass CellPositionXform extends BaseXform {\n constructor(options) {\n super();\n\n this.tag = options.tag;\n this.map = {\n 'xdr:col': new IntegerXform({tag: 'xdr:col', zero: true}),\n 'xdr:colOff': new IntegerXform({tag: 'xdr:colOff', zero: true}),\n 'xdr:row': new IntegerXform({tag: 'xdr:row', zero: true}),\n 'xdr:rowOff': new IntegerXform({tag: 'xdr:rowOff', zero: true}),\n };\n }\n\n render(xmlStream, model) {\n xmlStream.openNode(this.tag);\n\n this.map['xdr:col'].render(xmlStream, model.nativeCol);\n this.map['xdr:colOff'].render(xmlStream, model.nativeColOff);\n\n this.map['xdr:row'].render(xmlStream, model.nativeRow);\n this.map['xdr:rowOff'].render(xmlStream, model.nativeRowOff);\n\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case this.tag:\n this.reset();\n break;\n default:\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parser.parseOpen(node);\n }\n break;\n }\n return true;\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case this.tag:\n this.model = {\n nativeCol: this.map['xdr:col'].model,\n nativeColOff: this.map['xdr:colOff'].model,\n nativeRow: this.map['xdr:row'].model,\n nativeRowOff: this.map['xdr:rowOff'].model,\n };\n return false;\n default:\n // not quite sure how we get here!\n return true;\n }\n }\n}\n\nmodule.exports = CellPositionXform;\n","const colCache = require('../../../utils/col-cache');\nconst XmlStream = require('../../../utils/xml-stream');\n\nconst BaseXform = require('../base-xform');\nconst TwoCellAnchorXform = require('./two-cell-anchor-xform');\nconst OneCellAnchorXform = require('./one-cell-anchor-xform');\n\nfunction getAnchorType(model) {\n const range = typeof model.range === 'string' ? colCache.decode(model.range) : model.range;\n\n return range.br ? 'xdr:twoCellAnchor' : 'xdr:oneCellAnchor';\n}\n\nclass DrawingXform extends BaseXform {\n constructor() {\n super();\n\n this.map = {\n 'xdr:twoCellAnchor': new TwoCellAnchorXform(),\n 'xdr:oneCellAnchor': new OneCellAnchorXform(),\n };\n }\n\n prepare(model) {\n model.anchors.forEach((item, index) => {\n item.anchorType = getAnchorType(item);\n const anchor = this.map[item.anchorType];\n anchor.prepare(item, {index});\n });\n }\n\n get tag() {\n return 'xdr:wsDr';\n }\n\n render(xmlStream, model) {\n xmlStream.openXml(XmlStream.StdDocAttributes);\n xmlStream.openNode(this.tag, DrawingXform.DRAWING_ATTRIBUTES);\n\n model.anchors.forEach(item => {\n const anchor = this.map[item.anchorType];\n anchor.render(xmlStream, item);\n });\n\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case this.tag:\n this.reset();\n this.model = {\n anchors: [],\n };\n break;\n default:\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parser.parseOpen(node);\n }\n break;\n }\n return true;\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.model.anchors.push(this.parser.model);\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case this.tag:\n return false;\n default:\n // could be some unrecognised tags\n return true;\n }\n }\n\n reconcile(model, options) {\n model.anchors.forEach(anchor => {\n if (anchor.br) {\n this.map['xdr:twoCellAnchor'].reconcile(anchor, options);\n } else {\n this.map['xdr:oneCellAnchor'].reconcile(anchor, options);\n }\n });\n }\n}\n\nDrawingXform.DRAWING_ATTRIBUTES = {\n 'xmlns:xdr': 'http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing',\n 'xmlns:a': 'http://schemas.openxmlformats.org/drawingml/2006/main',\n};\n\nmodule.exports = DrawingXform;\n","const BaseXform = require('../base-xform');\n\nclass ExtLstXform extends BaseXform {\n get tag() {\n return 'a:extLst';\n }\n\n render(xmlStream) {\n xmlStream.openNode(this.tag);\n xmlStream.openNode('a:ext', {\n uri: '{FF2B5EF4-FFF2-40B4-BE49-F238E27FC236}',\n });\n xmlStream.leafNode('a16:creationId', {\n 'xmlns:a16': 'http://schemas.microsoft.com/office/drawing/2014/main',\n id: '{00000000-0008-0000-0000-000002000000}',\n });\n xmlStream.closeNode();\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n switch (node.name) {\n case this.tag:\n return true;\n default:\n return true;\n }\n }\n\n parseText() {}\n\n parseClose(name) {\n switch (name) {\n case this.tag:\n return false;\n default:\n // unprocessed internal nodes\n return true;\n }\n }\n}\n\nmodule.exports = ExtLstXform;\n","const BaseXform = require('../base-xform');\n\n/** https://en.wikipedia.org/wiki/Office_Open_XML_file_formats#DrawingML */\nconst EMU_PER_PIXEL_AT_96_DPI = 9525;\n\nclass ExtXform extends BaseXform {\n constructor(options) {\n super();\n\n this.tag = options.tag;\n this.map = {};\n }\n\n render(xmlStream, model) {\n xmlStream.openNode(this.tag);\n\n const width = Math.floor(model.width * EMU_PER_PIXEL_AT_96_DPI);\n const height = Math.floor(model.height * EMU_PER_PIXEL_AT_96_DPI);\n\n xmlStream.addAttribute('cx', width);\n xmlStream.addAttribute('cy', height);\n\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (node.name === this.tag) {\n this.model = {\n width: parseInt(node.attributes.cx || '0', 10) / EMU_PER_PIXEL_AT_96_DPI,\n height: parseInt(node.attributes.cy || '0', 10) / EMU_PER_PIXEL_AT_96_DPI,\n };\n return true;\n }\n return false;\n }\n\n parseText(/* text */) {}\n\n parseClose(/* name */) {\n return false;\n }\n}\n\nmodule.exports = ExtXform;\n","const BaseXform = require('../base-xform');\n\nclass HLinkClickXform extends BaseXform {\n get tag() {\n return 'a:hlinkClick';\n }\n\n render(xmlStream, model) {\n if (!(model.hyperlinks && model.hyperlinks.rId)) {\n return;\n }\n xmlStream.leafNode(this.tag, {\n 'xmlns:r': 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',\n 'r:id': model.hyperlinks.rId,\n tooltip: model.hyperlinks.tooltip,\n });\n }\n\n parseOpen(node) {\n switch (node.name) {\n case this.tag:\n this.model = {\n hyperlinks: {\n rId: node.attributes['r:id'],\n tooltip: node.attributes.tooltip,\n },\n };\n return true;\n default:\n return true;\n }\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = HLinkClickXform;\n","const BaseXform = require('../base-xform');\nconst CNvPrXform = require('./c-nv-pr-xform');\nconst CNvPicPrXform = require('./c-nv-pic-pr-xform');\n\nclass NvPicPrXform extends BaseXform {\n constructor() {\n super();\n\n this.map = {\n 'xdr:cNvPr': new CNvPrXform(),\n 'xdr:cNvPicPr': new CNvPicPrXform(),\n };\n }\n\n get tag() {\n return 'xdr:nvPicPr';\n }\n\n render(xmlStream, model) {\n xmlStream.openNode(this.tag);\n this.map['xdr:cNvPr'].render(xmlStream, model);\n this.map['xdr:cNvPicPr'].render(xmlStream, model);\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n\n switch (node.name) {\n case this.tag:\n this.reset();\n break;\n default:\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parser.parseOpen(node);\n }\n break;\n }\n return true;\n }\n\n parseText() {}\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case this.tag:\n this.model = this.map['xdr:cNvPr'].model;\n return false;\n default:\n return true;\n }\n }\n}\n\nmodule.exports = NvPicPrXform;\n","const BaseCellAnchorXform = require('./base-cell-anchor-xform');\nconst StaticXform = require('../static-xform');\n\nconst CellPositionXform = require('./cell-position-xform');\nconst ExtXform = require('./ext-xform');\nconst PicXform = require('./pic-xform');\n\nclass OneCellAnchorXform extends BaseCellAnchorXform {\n constructor() {\n super();\n\n this.map = {\n 'xdr:from': new CellPositionXform({tag: 'xdr:from'}),\n 'xdr:ext': new ExtXform({tag: 'xdr:ext'}),\n 'xdr:pic': new PicXform(),\n 'xdr:clientData': new StaticXform({tag: 'xdr:clientData'}),\n };\n }\n\n get tag() {\n return 'xdr:oneCellAnchor';\n }\n\n prepare(model, options) {\n this.map['xdr:pic'].prepare(model.picture, options);\n }\n\n render(xmlStream, model) {\n xmlStream.openNode(this.tag, {editAs: model.range.editAs || 'oneCell'});\n\n this.map['xdr:from'].render(xmlStream, model.range.tl);\n this.map['xdr:ext'].render(xmlStream, model.range.ext);\n this.map['xdr:pic'].render(xmlStream, model.picture);\n this.map['xdr:clientData'].render(xmlStream, {});\n\n xmlStream.closeNode();\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case this.tag:\n this.model.range.tl = this.map['xdr:from'].model;\n this.model.range.ext = this.map['xdr:ext'].model;\n this.model.picture = this.map['xdr:pic'].model;\n return false;\n default:\n // could be some unrecognised tags\n return true;\n }\n }\n\n reconcile(model, options) {\n model.medium = this.reconcilePicture(model.picture, options);\n }\n}\n\nmodule.exports = OneCellAnchorXform;\n","const BaseXform = require('../base-xform');\nconst StaticXform = require('../static-xform');\n\nconst BlipFillXform = require('./blip-fill-xform');\nconst NvPicPrXform = require('./nv-pic-pr-xform');\n\nconst spPrJSON = require('./sp-pr');\n\nclass PicXform extends BaseXform {\n constructor() {\n super();\n\n this.map = {\n 'xdr:nvPicPr': new NvPicPrXform(),\n 'xdr:blipFill': new BlipFillXform(),\n 'xdr:spPr': new StaticXform(spPrJSON),\n };\n }\n\n get tag() {\n return 'xdr:pic';\n }\n\n prepare(model, options) {\n model.index = options.index + 1;\n }\n\n render(xmlStream, model) {\n xmlStream.openNode(this.tag);\n\n this.map['xdr:nvPicPr'].render(xmlStream, model);\n this.map['xdr:blipFill'].render(xmlStream, model);\n this.map['xdr:spPr'].render(xmlStream, model);\n\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case this.tag:\n this.reset();\n break;\n default:\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parser.parseOpen(node);\n }\n break;\n }\n return true;\n }\n\n parseText() {}\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.mergeModel(this.parser.model);\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case this.tag:\n return false;\n default:\n // not quite sure how we get here!\n return true;\n }\n }\n}\n\nmodule.exports = PicXform;\n","module.exports = {\n tag: 'xdr:spPr',\n c: [\n {\n tag: 'a:xfrm',\n c: [\n {tag: 'a:off', $: {x: '0', y: '0'}},\n {tag: 'a:ext', $: {cx: '0', cy: '0'}},\n ],\n },\n {\n tag: 'a:prstGeom',\n $: {prst: 'rect'},\n c: [{tag: 'a:avLst'}],\n },\n ],\n};\n","const BaseCellAnchorXform = require('./base-cell-anchor-xform');\nconst StaticXform = require('../static-xform');\n\nconst CellPositionXform = require('./cell-position-xform');\nconst PicXform = require('./pic-xform');\n\nclass TwoCellAnchorXform extends BaseCellAnchorXform {\n constructor() {\n super();\n\n this.map = {\n 'xdr:from': new CellPositionXform({tag: 'xdr:from'}),\n 'xdr:to': new CellPositionXform({tag: 'xdr:to'}),\n 'xdr:pic': new PicXform(),\n 'xdr:clientData': new StaticXform({tag: 'xdr:clientData'}),\n };\n }\n\n get tag() {\n return 'xdr:twoCellAnchor';\n }\n\n prepare(model, options) {\n this.map['xdr:pic'].prepare(model.picture, options);\n }\n\n render(xmlStream, model) {\n xmlStream.openNode(this.tag, {editAs: model.range.editAs || 'oneCell'});\n\n this.map['xdr:from'].render(xmlStream, model.range.tl);\n this.map['xdr:to'].render(xmlStream, model.range.br);\n this.map['xdr:pic'].render(xmlStream, model.picture);\n this.map['xdr:clientData'].render(xmlStream, {});\n\n xmlStream.closeNode();\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case this.tag:\n this.model.range.tl = this.map['xdr:from'].model;\n this.model.range.br = this.map['xdr:to'].model;\n this.model.picture = this.map['xdr:pic'].model;\n return false;\n default:\n // could be some unrecognised tags\n return true;\n }\n }\n\n reconcile(model, options) {\n model.medium = this.reconcilePicture(model.picture, options);\n }\n}\n\nmodule.exports = TwoCellAnchorXform;\n","const BaseXform = require('./base-xform');\n\nclass ListXform extends BaseXform {\n constructor(options) {\n super();\n\n this.tag = options.tag;\n this.always = !!options.always;\n this.count = options.count;\n this.empty = options.empty;\n this.$count = options.$count || 'count';\n this.$ = options.$;\n this.childXform = options.childXform;\n this.maxItems = options.maxItems;\n }\n\n prepare(model, options) {\n const {childXform} = this;\n if (model) {\n model.forEach((childModel, index) => {\n options.index = index;\n childXform.prepare(childModel, options);\n });\n }\n }\n\n render(xmlStream, model) {\n if (this.always || (model && model.length)) {\n xmlStream.openNode(this.tag, this.$);\n if (this.count) {\n xmlStream.addAttribute(this.$count, (model && model.length) || 0);\n }\n\n const {childXform} = this;\n (model || []).forEach((childModel, index) => {\n childXform.render(xmlStream, childModel, index);\n });\n\n xmlStream.closeNode();\n } else if (this.empty) {\n xmlStream.leafNode(this.tag);\n }\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case this.tag:\n this.model = [];\n return true;\n default:\n if (this.childXform.parseOpen(node)) {\n this.parser = this.childXform;\n return true;\n }\n return false;\n }\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.model.push(this.parser.model);\n this.parser = undefined;\n\n if (this.maxItems && this.model.length > this.maxItems) {\n throw new Error(`Max ${this.childXform.tag} count (${this.maxItems}) exceeded`);\n }\n }\n return true;\n }\n\n return false;\n }\n\n reconcile(model, options) {\n if (model) {\n const {childXform} = this;\n model.forEach(childModel => {\n childXform.reconcile(childModel, options);\n });\n }\n }\n}\n\nmodule.exports = ListXform;\n","const colCache = require('../../../utils/col-cache');\nconst BaseXform = require('../base-xform');\n\nclass AutoFilterXform extends BaseXform {\n get tag() {\n return 'autoFilter';\n }\n\n render(xmlStream, model) {\n if (model) {\n if (typeof model === 'string') {\n // assume range\n xmlStream.leafNode('autoFilter', {ref: model});\n } else {\n const getAddress = function(addr) {\n if (typeof addr === 'string') {\n return addr;\n }\n return colCache.getAddress(addr.row, addr.column).address;\n };\n\n const firstAddress = getAddress(model.from);\n const secondAddress = getAddress(model.to);\n if (firstAddress && secondAddress) {\n xmlStream.leafNode('autoFilter', {ref: `${firstAddress}:${secondAddress}`});\n }\n }\n }\n }\n\n parseOpen(node) {\n if (node.name === 'autoFilter') {\n this.model = node.attributes.ref;\n }\n }\n}\n\nmodule.exports = AutoFilterXform;\n","const utils = require('../../../utils/utils');\nconst BaseXform = require('../base-xform');\nconst Range = require('../../../doc/range');\nconst Enums = require('../../../doc/enums');\n\nconst RichTextXform = require('../strings/rich-text-xform');\n\nfunction getValueType(v) {\n if (v === null || v === undefined) {\n return Enums.ValueType.Null;\n }\n if (v instanceof String || typeof v === 'string') {\n return Enums.ValueType.String;\n }\n if (typeof v === 'number') {\n return Enums.ValueType.Number;\n }\n if (typeof v === 'boolean') {\n return Enums.ValueType.Boolean;\n }\n if (v instanceof Date) {\n return Enums.ValueType.Date;\n }\n if (v.text && v.hyperlink) {\n return Enums.ValueType.Hyperlink;\n }\n if (v.formula) {\n return Enums.ValueType.Formula;\n }\n if (v.error) {\n return Enums.ValueType.Error;\n }\n throw new Error('I could not understand type of value');\n}\n\nfunction getEffectiveCellType(cell) {\n switch (cell.type) {\n case Enums.ValueType.Formula:\n return getValueType(cell.result);\n default:\n return cell.type;\n }\n}\n\nclass CellXform extends BaseXform {\n constructor() {\n super();\n\n this.richTextXForm = new RichTextXform();\n }\n\n get tag() {\n return 'c';\n }\n\n prepare(model, options) {\n const styleId = options.styles.addStyleModel(model.style || {}, getEffectiveCellType(model));\n if (styleId) {\n model.styleId = styleId;\n }\n\n if (model.comment) {\n options.comments.push({...model.comment, ref: model.address});\n }\n\n switch (model.type) {\n case Enums.ValueType.String:\n case Enums.ValueType.RichText:\n if (options.sharedStrings) {\n model.ssId = options.sharedStrings.add(model.value);\n }\n break;\n\n case Enums.ValueType.Date:\n if (options.date1904) {\n model.date1904 = true;\n }\n break;\n\n case Enums.ValueType.Hyperlink:\n if (options.sharedStrings && model.text !== undefined && model.text !== null) {\n model.ssId = options.sharedStrings.add(model.text);\n }\n options.hyperlinks.push({\n address: model.address,\n target: model.hyperlink,\n tooltip: model.tooltip,\n });\n break;\n\n case Enums.ValueType.Merge:\n options.merges.add(model);\n break;\n\n case Enums.ValueType.Formula:\n if (options.date1904) {\n // in case valueType is date\n model.date1904 = true;\n }\n\n if (model.shareType === 'shared') {\n model.si = options.siFormulae++;\n }\n\n if (model.formula) {\n options.formulae[model.address] = model;\n } else if (model.sharedFormula) {\n const master = options.formulae[model.sharedFormula];\n if (!master) {\n throw new Error(\n `Shared Formula master must exist above and or left of clone for cell ${model.address}`\n );\n }\n if (master.si === undefined) {\n master.shareType = 'shared';\n master.si = options.siFormulae++;\n master.range = new Range(master.address, model.address);\n } else if (master.range) {\n master.range.expandToAddress(model.address);\n }\n model.si = master.si;\n }\n break;\n\n default:\n break;\n }\n }\n\n renderFormula(xmlStream, model) {\n let attrs = null;\n switch (model.shareType) {\n case 'shared':\n attrs = {\n t: 'shared',\n ref: model.ref || model.range.range,\n si: model.si,\n };\n break;\n\n case 'array':\n attrs = {\n t: 'array',\n ref: model.ref,\n };\n break;\n\n default:\n if (model.si !== undefined) {\n attrs = {\n t: 'shared',\n si: model.si,\n };\n }\n break;\n }\n\n switch (getValueType(model.result)) {\n case Enums.ValueType.Null: // ?\n xmlStream.leafNode('f', attrs, model.formula);\n break;\n\n case Enums.ValueType.String:\n // oddly, formula results don't ever use shared strings\n xmlStream.addAttribute('t', 'str');\n xmlStream.leafNode('f', attrs, model.formula);\n xmlStream.leafNode('v', null, model.result);\n break;\n\n case Enums.ValueType.Number:\n xmlStream.leafNode('f', attrs, model.formula);\n xmlStream.leafNode('v', null, model.result);\n break;\n\n case Enums.ValueType.Boolean:\n xmlStream.addAttribute('t', 'b');\n xmlStream.leafNode('f', attrs, model.formula);\n xmlStream.leafNode('v', null, model.result ? 1 : 0);\n break;\n\n case Enums.ValueType.Error:\n xmlStream.addAttribute('t', 'e');\n xmlStream.leafNode('f', attrs, model.formula);\n xmlStream.leafNode('v', null, model.result.error);\n break;\n\n case Enums.ValueType.Date:\n xmlStream.leafNode('f', attrs, model.formula);\n xmlStream.leafNode('v', null, utils.dateToExcel(model.result, model.date1904));\n break;\n\n // case Enums.ValueType.Hyperlink: // ??\n // case Enums.ValueType.Formula:\n default:\n throw new Error('I could not understand type of value');\n }\n }\n\n render(xmlStream, model) {\n if (model.type === Enums.ValueType.Null && !model.styleId) {\n // if null and no style, exit\n return;\n }\n\n xmlStream.openNode('c');\n xmlStream.addAttribute('r', model.address);\n\n if (model.styleId) {\n xmlStream.addAttribute('s', model.styleId);\n }\n\n switch (model.type) {\n case Enums.ValueType.Null:\n break;\n\n case Enums.ValueType.Number:\n xmlStream.leafNode('v', null, model.value);\n break;\n\n case Enums.ValueType.Boolean:\n xmlStream.addAttribute('t', 'b');\n xmlStream.leafNode('v', null, model.value ? '1' : '0');\n break;\n\n case Enums.ValueType.Error:\n xmlStream.addAttribute('t', 'e');\n xmlStream.leafNode('v', null, model.value.error);\n break;\n\n case Enums.ValueType.String:\n case Enums.ValueType.RichText:\n if (model.ssId !== undefined) {\n xmlStream.addAttribute('t', 's');\n xmlStream.leafNode('v', null, model.ssId);\n } else if (model.value && model.value.richText) {\n xmlStream.addAttribute('t', 'inlineStr');\n xmlStream.openNode('is');\n model.value.richText.forEach(text => {\n this.richTextXForm.render(xmlStream, text);\n });\n xmlStream.closeNode('is');\n } else {\n xmlStream.addAttribute('t', 'str');\n xmlStream.leafNode('v', null, model.value);\n }\n break;\n\n case Enums.ValueType.Date:\n xmlStream.leafNode('v', null, utils.dateToExcel(model.value, model.date1904));\n break;\n\n case Enums.ValueType.Hyperlink:\n if (model.ssId !== undefined) {\n xmlStream.addAttribute('t', 's');\n xmlStream.leafNode('v', null, model.ssId);\n } else {\n xmlStream.addAttribute('t', 'str');\n xmlStream.leafNode('v', null, model.text);\n }\n break;\n\n case Enums.ValueType.Formula:\n this.renderFormula(xmlStream, model);\n break;\n\n case Enums.ValueType.Merge:\n // nothing to add\n break;\n\n default:\n break;\n }\n\n xmlStream.closeNode(); // </c>\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case 'c':\n // const address = colCache.decodeAddress(node.attributes.r);\n this.model = {\n address: node.attributes.r,\n };\n this.t = node.attributes.t;\n if (node.attributes.s) {\n this.model.styleId = parseInt(node.attributes.s, 10);\n }\n return true;\n\n case 'f':\n this.currentNode = 'f';\n this.model.si = node.attributes.si;\n this.model.shareType = node.attributes.t;\n this.model.ref = node.attributes.ref;\n return true;\n\n case 'v':\n this.currentNode = 'v';\n return true;\n\n case 't':\n this.currentNode = 't';\n return true;\n\n case 'r':\n this.parser = this.richTextXForm;\n this.parser.parseOpen(node);\n return true;\n\n default:\n return false;\n }\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n return;\n }\n switch (this.currentNode) {\n case 'f':\n this.model.formula = this.model.formula ? this.model.formula + text : text;\n break;\n case 'v':\n case 't':\n if (this.model.value && this.model.value.richText) {\n this.model.value.richText.text = this.model.value.richText.text\n ? this.model.value.richText.text + text\n : text;\n } else {\n this.model.value = this.model.value ? this.model.value + text : text;\n }\n break;\n default:\n break;\n }\n }\n\n parseClose(name) {\n switch (name) {\n case 'c': {\n const {model} = this;\n\n // first guess on cell type\n if (model.formula || model.shareType) {\n model.type = Enums.ValueType.Formula;\n if (model.value) {\n if (this.t === 'str') {\n model.result = utils.xmlDecode(model.value);\n } else if (this.t === 'b') {\n model.result = parseInt(model.value, 10) !== 0;\n } else if (this.t === 'e') {\n model.result = {error: model.value};\n } else {\n model.result = parseFloat(model.value);\n }\n model.value = undefined;\n }\n } else if (model.value !== undefined) {\n switch (this.t) {\n case 's':\n model.type = Enums.ValueType.String;\n model.value = parseInt(model.value, 10);\n break;\n case 'str':\n model.type = Enums.ValueType.String;\n model.value = utils.xmlDecode(model.value);\n break;\n case 'inlineStr':\n model.type = Enums.ValueType.String;\n break;\n case 'b':\n model.type = Enums.ValueType.Boolean;\n model.value = parseInt(model.value, 10) !== 0;\n break;\n case 'e':\n model.type = Enums.ValueType.Error;\n model.value = {error: model.value};\n break;\n default:\n model.type = Enums.ValueType.Number;\n model.value = parseFloat(model.value);\n break;\n }\n } else if (model.styleId) {\n model.type = Enums.ValueType.Null;\n } else {\n model.type = Enums.ValueType.Merge;\n }\n return false;\n }\n\n case 'f':\n case 'v':\n case 'is':\n this.currentNode = undefined;\n return true;\n\n case 't':\n if (this.parser) {\n this.parser.parseClose(name);\n return true;\n }\n this.currentNode = undefined;\n return true;\n\n case 'r':\n this.model.value = this.model.value || {};\n this.model.value.richText = this.model.value.richText || [];\n this.model.value.richText.push(this.parser.model);\n this.parser = undefined;\n this.currentNode = undefined;\n return true;\n\n default:\n if (this.parser) {\n this.parser.parseClose(name);\n return true;\n }\n return false;\n }\n }\n\n reconcile(model, options) {\n const style = model.styleId && options.styles && options.styles.getStyleModel(model.styleId);\n if (style) {\n model.style = style;\n }\n if (model.styleId !== undefined) {\n model.styleId = undefined;\n }\n\n switch (model.type) {\n case Enums.ValueType.String:\n if (typeof model.value === 'number') {\n if (options.sharedStrings) {\n model.value = options.sharedStrings.getString(model.value);\n }\n }\n if (model.value.richText) {\n model.type = Enums.ValueType.RichText;\n }\n break;\n\n case Enums.ValueType.Number:\n if (style && utils.isDateFmt(style.numFmt)) {\n model.type = Enums.ValueType.Date;\n model.value = utils.excelToDate(model.value, options.date1904);\n }\n break;\n\n case Enums.ValueType.Formula:\n if (model.result !== undefined && style && utils.isDateFmt(style.numFmt)) {\n model.result = utils.excelToDate(model.result, options.date1904);\n }\n if (model.shareType === 'shared') {\n if (model.ref) {\n // master\n options.formulae[model.si] = model.address;\n } else {\n // slave\n model.sharedFormula = options.formulae[model.si];\n delete model.shareType;\n }\n delete model.si;\n }\n break;\n\n default:\n break;\n }\n\n // look for hyperlink\n const hyperlink = options.hyperlinkMap[model.address];\n if (hyperlink) {\n if (model.type === Enums.ValueType.Formula) {\n model.text = model.result;\n model.result = undefined;\n } else {\n model.text = model.value;\n model.value = undefined;\n }\n model.type = Enums.ValueType.Hyperlink;\n model.hyperlink = hyperlink;\n }\n\n const comment = options.commentsMap && options.commentsMap[model.address];\n if (comment) {\n model.comment = comment;\n }\n }\n}\n\nmodule.exports = CellXform;\n","const BaseXform = require('../../base-xform');\n\nclass CfIconExtXform extends BaseXform {\n get tag() {\n return 'x14:cfIcon';\n }\n\n render(xmlStream, model) {\n xmlStream.leafNode(this.tag, {\n iconSet: model.iconSet,\n iconId: model.iconId,\n });\n }\n\n parseOpen({attributes}) {\n this.model = {\n iconSet: attributes.iconSet,\n iconId: BaseXform.toIntValue(attributes.iconId),\n };\n }\n\n parseClose(name) {\n return name !== this.tag;\n }\n}\n\nmodule.exports = CfIconExtXform;\n","const {v4: uuidv4} = require('uuid');\nconst BaseXform = require('../../base-xform');\nconst CompositeXform = require('../../composite-xform');\n\nconst DatabarExtXform = require('./databar-ext-xform');\nconst IconSetExtXform = require('./icon-set-ext-xform');\n\nconst extIcons = {\n '3Triangles': true,\n '3Stars': true,\n '5Boxes': true,\n};\n\nclass CfRuleExtXform extends CompositeXform {\n constructor() {\n super();\n\n this.map = {\n 'x14:dataBar': (this.databarXform = new DatabarExtXform()),\n 'x14:iconSet': (this.iconSetXform = new IconSetExtXform()),\n };\n }\n\n get tag() {\n return 'x14:cfRule';\n }\n\n static isExt(rule) {\n // is this rule primitive?\n if (rule.type === 'dataBar') {\n return DatabarExtXform.isExt(rule);\n }\n if (rule.type === 'iconSet') {\n if (rule.custom || extIcons[rule.iconSet]) {\n return true;\n }\n }\n return false;\n }\n\n prepare(model) {\n if (CfRuleExtXform.isExt(model)) {\n model.x14Id = `{${uuidv4()}}`.toUpperCase();\n }\n }\n\n render(xmlStream, model) {\n if (!CfRuleExtXform.isExt(model)) {\n return;\n }\n\n switch (model.type) {\n case 'dataBar':\n this.renderDataBar(xmlStream, model);\n break;\n case 'iconSet':\n this.renderIconSet(xmlStream, model);\n break;\n }\n }\n\n renderDataBar(xmlStream, model) {\n xmlStream.openNode(this.tag, {\n type: 'dataBar',\n id: model.x14Id,\n });\n\n this.databarXform.render(xmlStream, model);\n\n xmlStream.closeNode();\n }\n\n renderIconSet(xmlStream, model) {\n xmlStream.openNode(this.tag, {\n type: 'iconSet',\n priority: model.priority,\n id: model.x14Id || `{${uuidv4()}}`,\n });\n\n this.iconSetXform.render(xmlStream, model);\n\n xmlStream.closeNode();\n }\n\n createNewModel({attributes}) {\n return {\n type: attributes.type,\n x14Id: attributes.id,\n priority: BaseXform.toIntValue(attributes.priority),\n };\n }\n\n onParserClose(name, parser) {\n Object.assign(this.model, parser.model);\n }\n}\n\nmodule.exports = CfRuleExtXform;\n","const CompositeXform = require('../../composite-xform');\n\nconst FExtXform = require('./f-ext-xform');\n\nclass CfvoExtXform extends CompositeXform {\n constructor() {\n super();\n\n this.map = {\n 'xm:f': (this.fExtXform = new FExtXform()),\n };\n }\n\n get tag() {\n return 'x14:cfvo';\n }\n\n render(xmlStream, model) {\n xmlStream.openNode(this.tag, {\n type: model.type,\n });\n if (model.value !== undefined) {\n this.fExtXform.render(xmlStream, model.value);\n }\n xmlStream.closeNode();\n }\n\n createNewModel(node) {\n return {\n type: node.attributes.type,\n };\n }\n\n onParserClose(name, parser) {\n switch (name) {\n case 'xm:f':\n this.model.value = parser.model ? parseFloat(parser.model) : 0;\n break;\n }\n }\n}\n\nmodule.exports = CfvoExtXform;\n","const CompositeXform = require('../../composite-xform');\n\nconst SqRefExtXform = require('./sqref-ext-xform');\nconst CfRuleExtXform = require('./cf-rule-ext-xform');\n\nclass ConditionalFormattingExtXform extends CompositeXform {\n constructor() {\n super();\n\n this.map = {\n 'xm:sqref': (this.sqRef = new SqRefExtXform()),\n 'x14:cfRule': (this.cfRule = new CfRuleExtXform()),\n };\n }\n\n get tag() {\n return 'x14:conditionalFormatting';\n }\n\n prepare(model, options) {\n model.rules.forEach(rule => {\n this.cfRule.prepare(rule, options);\n });\n }\n\n render(xmlStream, model) {\n if (!model.rules.some(CfRuleExtXform.isExt)) {\n return;\n }\n\n xmlStream.openNode(this.tag, {\n 'xmlns:xm': 'http://schemas.microsoft.com/office/excel/2006/main',\n });\n\n model.rules.filter(CfRuleExtXform.isExt).forEach(rule => this.cfRule.render(xmlStream, rule));\n\n // for some odd reason, Excel needs the <xm:sqref> node to be after the rules\n this.sqRef.render(xmlStream, model.ref);\n\n xmlStream.closeNode();\n }\n\n createNewModel() {\n return {\n rules: [],\n };\n }\n\n onParserClose(name, parser) {\n switch (name) {\n case 'xm:sqref':\n this.model.ref = parser.model;\n break;\n\n case 'x14:cfRule':\n this.model.rules.push(parser.model);\n break;\n }\n }\n}\n\nmodule.exports = ConditionalFormattingExtXform;\n","const CompositeXform = require('../../composite-xform');\n\nconst CfRuleExtXform = require('./cf-rule-ext-xform');\nconst ConditionalFormattingExtXform = require('./conditional-formatting-ext-xform');\n\nclass ConditionalFormattingsExtXform extends CompositeXform {\n constructor() {\n super();\n\n this.map = {\n 'x14:conditionalFormatting': (this.cfXform = new ConditionalFormattingExtXform()),\n };\n }\n\n get tag() {\n return 'x14:conditionalFormattings';\n }\n\n hasContent(model) {\n if (model.hasExtContent === undefined) {\n model.hasExtContent = model.some(cf => cf.rules.some(CfRuleExtXform.isExt));\n }\n return model.hasExtContent;\n }\n\n prepare(model, options) {\n model.forEach(cf => {\n this.cfXform.prepare(cf, options);\n });\n }\n\n render(xmlStream, model) {\n if (this.hasContent(model)) {\n xmlStream.openNode(this.tag);\n model.forEach(cf => this.cfXform.render(xmlStream, cf));\n xmlStream.closeNode();\n }\n }\n\n createNewModel() {\n return [];\n }\n\n onParserClose(name, parser) {\n // model is array of conditional formatting objects\n this.model.push(parser.model);\n }\n}\n\nmodule.exports = ConditionalFormattingsExtXform;\n","const BaseXform = require('../../base-xform');\nconst CompositeXform = require('../../composite-xform');\n\nconst ColorXform = require('../../style/color-xform');\nconst CfvoExtXform = require('./cfvo-ext-xform');\n\nclass DatabarExtXform extends CompositeXform {\n constructor() {\n super();\n\n this.map = {\n 'x14:cfvo': (this.cfvoXform = new CfvoExtXform()),\n 'x14:borderColor': (this.borderColorXform = new ColorXform('x14:borderColor')),\n 'x14:negativeBorderColor': (this.negativeBorderColorXform = new ColorXform(\n 'x14:negativeBorderColor'\n )),\n 'x14:negativeFillColor': (this.negativeFillColorXform = new ColorXform(\n 'x14:negativeFillColor'\n )),\n 'x14:axisColor': (this.axisColorXform = new ColorXform('x14:axisColor')),\n };\n }\n\n static isExt(rule) {\n // not all databars need ext\n // TODO: refine this\n return !rule.gradient;\n }\n\n get tag() {\n return 'x14:dataBar';\n }\n\n render(xmlStream, model) {\n xmlStream.openNode(this.tag, {\n minLength: BaseXform.toIntAttribute(model.minLength, 0, true),\n maxLength: BaseXform.toIntAttribute(model.maxLength, 100, true),\n border: BaseXform.toBoolAttribute(model.border, false),\n gradient: BaseXform.toBoolAttribute(model.gradient, true),\n negativeBarColorSameAsPositive: BaseXform.toBoolAttribute(\n model.negativeBarColorSameAsPositive,\n true\n ),\n negativeBarBorderColorSameAsPositive: BaseXform.toBoolAttribute(\n model.negativeBarBorderColorSameAsPositive,\n true\n ),\n axisPosition: BaseXform.toAttribute(model.axisPosition, 'auto'),\n direction: BaseXform.toAttribute(model.direction, 'leftToRight'),\n });\n\n model.cfvo.forEach(cfvo => {\n this.cfvoXform.render(xmlStream, cfvo);\n });\n\n this.borderColorXform.render(xmlStream, model.borderColor);\n this.negativeBorderColorXform.render(xmlStream, model.negativeBorderColor);\n this.negativeFillColorXform.render(xmlStream, model.negativeFillColor);\n this.axisColorXform.render(xmlStream, model.axisColor);\n\n xmlStream.closeNode();\n }\n\n createNewModel({attributes}) {\n return {\n cfvo: [],\n minLength: BaseXform.toIntValue(attributes.minLength, 0),\n maxLength: BaseXform.toIntValue(attributes.maxLength, 100),\n border: BaseXform.toBoolValue(attributes.border, false),\n gradient: BaseXform.toBoolValue(attributes.gradient, true),\n negativeBarColorSameAsPositive: BaseXform.toBoolValue(\n attributes.negativeBarColorSameAsPositive,\n true\n ),\n negativeBarBorderColorSameAsPositive: BaseXform.toBoolValue(\n attributes.negativeBarBorderColorSameAsPositive,\n true\n ),\n axisPosition: BaseXform.toStringValue(attributes.axisPosition, 'auto'),\n direction: BaseXform.toStringValue(attributes.direction, 'leftToRight'),\n };\n }\n\n onParserClose(name, parser) {\n const [, prop] = name.split(':');\n switch (prop) {\n case 'cfvo':\n this.model.cfvo.push(parser.model);\n break;\n\n default:\n this.model[prop] = parser.model;\n break;\n }\n }\n}\n\nmodule.exports = DatabarExtXform;\n","const BaseXform = require('../../base-xform');\n\nclass FExtXform extends BaseXform {\n get tag() {\n return 'xm:f';\n }\n\n render(xmlStream, model) {\n xmlStream.leafNode(this.tag, null, model);\n }\n\n parseOpen() {\n this.model = '';\n }\n\n parseText(text) {\n this.model += text;\n }\n\n parseClose(name) {\n return name !== this.tag;\n }\n}\n\nmodule.exports = FExtXform;\n","const BaseXform = require('../../base-xform');\nconst CompositeXform = require('../../composite-xform');\n\nconst CfvoExtXform = require('./cfvo-ext-xform');\nconst CfIconExtXform = require('./cf-icon-ext-xform');\n\nclass IconSetExtXform extends CompositeXform {\n constructor() {\n super();\n\n this.map = {\n 'x14:cfvo': (this.cfvoXform = new CfvoExtXform()),\n 'x14:cfIcon': (this.cfIconXform = new CfIconExtXform()),\n };\n }\n\n get tag() {\n return 'x14:iconSet';\n }\n\n render(xmlStream, model) {\n xmlStream.openNode(this.tag, {\n iconSet: BaseXform.toStringAttribute(model.iconSet),\n reverse: BaseXform.toBoolAttribute(model.reverse, false),\n showValue: BaseXform.toBoolAttribute(model.showValue, true),\n custom: BaseXform.toBoolAttribute(model.icons, false),\n });\n\n model.cfvo.forEach(cfvo => {\n this.cfvoXform.render(xmlStream, cfvo);\n });\n\n if (model.icons) {\n model.icons.forEach((icon, i) => {\n icon.iconId = i;\n this.cfIconXform.render(xmlStream, icon);\n });\n }\n\n xmlStream.closeNode();\n }\n\n createNewModel({attributes}) {\n return {\n cfvo: [],\n iconSet: BaseXform.toStringValue(attributes.iconSet, '3TrafficLights'),\n reverse: BaseXform.toBoolValue(attributes.reverse, false),\n showValue: BaseXform.toBoolValue(attributes.showValue, true),\n };\n }\n\n onParserClose(name, parser) {\n const [, prop] = name.split(':');\n switch (prop) {\n case 'cfvo':\n this.model.cfvo.push(parser.model);\n break;\n\n case 'cfIcon':\n if (!this.model.icons) {\n this.model.icons = [];\n }\n this.model.icons.push(parser.model);\n break;\n\n default:\n this.model[prop] = parser.model;\n break;\n }\n }\n}\n\nmodule.exports = IconSetExtXform;\n","const BaseXform = require('../../base-xform');\n\nclass SqrefExtXform extends BaseXform {\n get tag() {\n return 'xm:sqref';\n }\n\n render(xmlStream, model) {\n xmlStream.leafNode(this.tag, null, model);\n }\n\n parseOpen() {\n this.model = '';\n }\n\n parseText(text) {\n this.model += text;\n }\n\n parseClose(name) {\n return name !== this.tag;\n }\n}\n\nmodule.exports = SqrefExtXform;\n","const BaseXform = require('../../base-xform');\nconst CompositeXform = require('../../composite-xform');\n\nconst Range = require('../../../../doc/range');\n\nconst DatabarXform = require('./databar-xform');\nconst ExtLstRefXform = require('./ext-lst-ref-xform');\nconst FormulaXform = require('./formula-xform');\nconst ColorScaleXform = require('./color-scale-xform');\nconst IconSetXform = require('./icon-set-xform');\n\nconst extIcons = {\n '3Triangles': true,\n '3Stars': true,\n '5Boxes': true,\n};\n\nconst getTextFormula = model => {\n if (model.formulae && model.formulae[0]) {\n return model.formulae[0];\n }\n\n const range = new Range(model.ref);\n const {tl} = range;\n switch (model.operator) {\n case 'containsText':\n return `NOT(ISERROR(SEARCH(\"${model.text}\",${tl})))`;\n case 'containsBlanks':\n return `LEN(TRIM(${tl}))=0`;\n case 'notContainsBlanks':\n return `LEN(TRIM(${tl}))>0`;\n case 'containsErrors':\n return `ISERROR(${tl})`;\n case 'notContainsErrors':\n return `NOT(ISERROR(${tl}))`;\n default:\n return undefined;\n }\n};\n\nconst getTimePeriodFormula = model => {\n if (model.formulae && model.formulae[0]) {\n return model.formulae[0];\n }\n\n const range = new Range(model.ref);\n const {tl} = range;\n switch (model.timePeriod) {\n case 'thisWeek':\n return `AND(TODAY()-ROUNDDOWN(${tl},0)<=WEEKDAY(TODAY())-1,ROUNDDOWN(${tl},0)-TODAY()<=7-WEEKDAY(TODAY()))`;\n case 'lastWeek':\n return `AND(TODAY()-ROUNDDOWN(${tl},0)>=(WEEKDAY(TODAY())),TODAY()-ROUNDDOWN(${tl},0)<(WEEKDAY(TODAY())+7))`;\n case 'nextWeek':\n return `AND(ROUNDDOWN(${tl},0)-TODAY()>(7-WEEKDAY(TODAY())),ROUNDDOWN(${tl},0)-TODAY()<(15-WEEKDAY(TODAY())))`;\n case 'yesterday':\n return `FLOOR(${tl},1)=TODAY()-1`;\n case 'today':\n return `FLOOR(${tl},1)=TODAY()`;\n case 'tomorrow':\n return `FLOOR(${tl},1)=TODAY()+1`;\n case 'last7Days':\n return `AND(TODAY()-FLOOR(${tl},1)<=6,FLOOR(${tl},1)<=TODAY())`;\n case 'lastMonth':\n return `AND(MONTH(${tl})=MONTH(EDATE(TODAY(),0-1)),YEAR(${tl})=YEAR(EDATE(TODAY(),0-1)))`;\n case 'thisMonth':\n return `AND(MONTH(${tl})=MONTH(TODAY()),YEAR(${tl})=YEAR(TODAY()))`;\n case 'nextMonth':\n return `AND(MONTH(${tl})=MONTH(EDATE(TODAY(),0+1)),YEAR(${tl})=YEAR(EDATE(TODAY(),0+1)))`;\n default:\n return undefined;\n }\n};\n\nconst opType = attributes => {\n const {type, operator} = attributes;\n switch (type) {\n case 'containsText':\n case 'containsBlanks':\n case 'notContainsBlanks':\n case 'containsErrors':\n case 'notContainsErrors':\n return {\n type: 'containsText',\n operator: type,\n };\n\n default:\n return {type, operator};\n }\n};\n\nclass CfRuleXform extends CompositeXform {\n constructor() {\n super();\n\n this.map = {\n dataBar: (this.databarXform = new DatabarXform()),\n extLst: (this.extLstRefXform = new ExtLstRefXform()),\n formula: (this.formulaXform = new FormulaXform()),\n colorScale: (this.colorScaleXform = new ColorScaleXform()),\n iconSet: (this.iconSetXform = new IconSetXform()),\n };\n }\n\n get tag() {\n return 'cfRule';\n }\n\n static isPrimitive(rule) {\n // is this rule primitive?\n if (rule.type === 'iconSet') {\n if (rule.custom || extIcons[rule.iconSet]) {\n return false;\n }\n }\n return true;\n }\n\n render(xmlStream, model) {\n switch (model.type) {\n case 'expression':\n this.renderExpression(xmlStream, model);\n break;\n case 'cellIs':\n this.renderCellIs(xmlStream, model);\n break;\n case 'top10':\n this.renderTop10(xmlStream, model);\n break;\n case 'aboveAverage':\n this.renderAboveAverage(xmlStream, model);\n break;\n case 'dataBar':\n this.renderDataBar(xmlStream, model);\n break;\n case 'colorScale':\n this.renderColorScale(xmlStream, model);\n break;\n case 'iconSet':\n this.renderIconSet(xmlStream, model);\n break;\n case 'containsText':\n this.renderText(xmlStream, model);\n break;\n case 'timePeriod':\n this.renderTimePeriod(xmlStream, model);\n break;\n }\n }\n\n renderExpression(xmlStream, model) {\n xmlStream.openNode(this.tag, {\n type: 'expression',\n dxfId: model.dxfId,\n priority: model.priority,\n });\n\n this.formulaXform.render(xmlStream, model.formulae[0]);\n\n xmlStream.closeNode();\n }\n\n renderCellIs(xmlStream, model) {\n xmlStream.openNode(this.tag, {\n type: 'cellIs',\n dxfId: model.dxfId,\n priority: model.priority,\n operator: model.operator,\n });\n\n model.formulae.forEach(formula => {\n this.formulaXform.render(xmlStream, formula);\n });\n\n xmlStream.closeNode();\n }\n\n renderTop10(xmlStream, model) {\n xmlStream.leafNode(this.tag, {\n type: 'top10',\n dxfId: model.dxfId,\n priority: model.priority,\n percent: BaseXform.toBoolAttribute(model.percent, false),\n bottom: BaseXform.toBoolAttribute(model.bottom, false),\n rank: BaseXform.toIntValue(model.rank, 10, true),\n });\n }\n\n renderAboveAverage(xmlStream, model) {\n xmlStream.leafNode(this.tag, {\n type: 'aboveAverage',\n dxfId: model.dxfId,\n priority: model.priority,\n aboveAverage: BaseXform.toBoolAttribute(model.aboveAverage, true),\n });\n }\n\n renderDataBar(xmlStream, model) {\n xmlStream.openNode(this.tag, {\n type: 'dataBar',\n priority: model.priority,\n });\n\n this.databarXform.render(xmlStream, model);\n this.extLstRefXform.render(xmlStream, model);\n\n xmlStream.closeNode();\n }\n\n renderColorScale(xmlStream, model) {\n xmlStream.openNode(this.tag, {\n type: 'colorScale',\n priority: model.priority,\n });\n\n this.colorScaleXform.render(xmlStream, model);\n\n xmlStream.closeNode();\n }\n\n renderIconSet(xmlStream, model) {\n // iconset is all primitive or all extLst\n if (!CfRuleXform.isPrimitive(model)) {\n return;\n }\n\n xmlStream.openNode(this.tag, {\n type: 'iconSet',\n priority: model.priority,\n });\n\n this.iconSetXform.render(xmlStream, model);\n\n xmlStream.closeNode();\n }\n\n renderText(xmlStream, model) {\n xmlStream.openNode(this.tag, {\n type: model.operator,\n dxfId: model.dxfId,\n priority: model.priority,\n operator: BaseXform.toStringAttribute(model.operator, 'containsText'),\n });\n\n const formula = getTextFormula(model);\n if (formula) {\n this.formulaXform.render(xmlStream, formula);\n }\n\n xmlStream.closeNode();\n }\n\n renderTimePeriod(xmlStream, model) {\n xmlStream.openNode(this.tag, {\n type: 'timePeriod',\n dxfId: model.dxfId,\n priority: model.priority,\n timePeriod: model.timePeriod,\n });\n\n const formula = getTimePeriodFormula(model);\n if (formula) {\n this.formulaXform.render(xmlStream, formula);\n }\n\n xmlStream.closeNode();\n }\n\n createNewModel({attributes}) {\n return {\n ...opType(attributes),\n dxfId: BaseXform.toIntValue(attributes.dxfId),\n priority: BaseXform.toIntValue(attributes.priority),\n timePeriod: attributes.timePeriod,\n percent: BaseXform.toBoolValue(attributes.percent),\n bottom: BaseXform.toBoolValue(attributes.bottom),\n rank: BaseXform.toIntValue(attributes.rank),\n aboveAverage: BaseXform.toBoolValue(attributes.aboveAverage),\n };\n }\n\n onParserClose(name, parser) {\n switch (name) {\n case 'dataBar':\n case 'extLst':\n case 'colorScale':\n case 'iconSet':\n // merge parser model with ours\n Object.assign(this.model, parser.model);\n break;\n\n case 'formula':\n // except - formula is a string and appends to formulae\n this.model.formulae = this.model.formulae || [];\n this.model.formulae.push(parser.model);\n break;\n }\n }\n}\n\nmodule.exports = CfRuleXform;\n","const BaseXform = require('../../base-xform');\n\nclass CfvoXform extends BaseXform {\n get tag() {\n return 'cfvo';\n }\n\n render(xmlStream, model) {\n xmlStream.leafNode(this.tag, {\n type: model.type,\n val: model.value,\n });\n }\n\n parseOpen(node) {\n this.model = {\n type: node.attributes.type,\n value: BaseXform.toFloatValue(node.attributes.val),\n };\n }\n\n parseClose(name) {\n return name !== this.tag;\n }\n}\n\nmodule.exports = CfvoXform;\n","const CompositeXform = require('../../composite-xform');\n\nconst ColorXform = require('../../style/color-xform');\nconst CfvoXform = require('./cfvo-xform');\n\nclass ColorScaleXform extends CompositeXform {\n constructor() {\n super();\n\n this.map = {\n cfvo: (this.cfvoXform = new CfvoXform()),\n color: (this.colorXform = new ColorXform()),\n };\n }\n\n get tag() {\n return 'colorScale';\n }\n\n render(xmlStream, model) {\n xmlStream.openNode(this.tag);\n\n model.cfvo.forEach(cfvo => {\n this.cfvoXform.render(xmlStream, cfvo);\n });\n model.color.forEach(color => {\n this.colorXform.render(xmlStream, color);\n });\n\n xmlStream.closeNode();\n }\n\n createNewModel(node) {\n return {\n cfvo: [],\n color: [],\n };\n }\n\n onParserClose(name, parser) {\n this.model[name].push(parser.model);\n }\n}\n\nmodule.exports = ColorScaleXform;\n","const CompositeXform = require('../../composite-xform');\n\nconst CfRuleXform = require('./cf-rule-xform');\n\nclass ConditionalFormattingXform extends CompositeXform {\n constructor() {\n super();\n\n this.map = {\n cfRule: new CfRuleXform(),\n };\n }\n\n get tag() {\n return 'conditionalFormatting';\n }\n\n render(xmlStream, model) {\n // if there are no primitive rules, exit now\n if (!model.rules.some(CfRuleXform.isPrimitive)) {\n return;\n }\n\n xmlStream.openNode(this.tag, {sqref: model.ref});\n\n model.rules.forEach(rule => {\n if (CfRuleXform.isPrimitive(rule)) {\n rule.ref = model.ref;\n this.map.cfRule.render(xmlStream, rule);\n }\n });\n\n xmlStream.closeNode();\n }\n\n createNewModel({attributes}) {\n return {\n ref: attributes.sqref,\n rules: [],\n };\n }\n\n onParserClose(name, parser) {\n this.model.rules.push(parser.model);\n }\n}\n\nmodule.exports = ConditionalFormattingXform;\n","const BaseXform = require('../../base-xform');\n\nconst ConditionalFormattingXform = require('./conditional-formatting-xform');\n\nclass ConditionalFormattingsXform extends BaseXform {\n constructor() {\n super();\n\n this.cfXform = new ConditionalFormattingXform();\n }\n\n get tag() {\n return 'conditionalFormatting';\n }\n\n reset() {\n this.model = [];\n }\n\n prepare(model, options) {\n // ensure each rule has a priority value\n let nextPriority = model.reduce(\n (p, cf) => Math.max(p, ...cf.rules.map(rule => rule.priority || 0)),\n 1\n );\n model.forEach(cf => {\n cf.rules.forEach(rule => {\n if (!rule.priority) {\n rule.priority = nextPriority++;\n }\n\n if (rule.style) {\n rule.dxfId = options.styles.addDxfStyle(rule.style);\n }\n });\n });\n }\n\n render(xmlStream, model) {\n model.forEach(cf => {\n this.cfXform.render(xmlStream, cf);\n });\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n\n switch (node.name) {\n case 'conditionalFormatting':\n this.parser = this.cfXform;\n this.parser.parseOpen(node);\n return true;\n\n default:\n return false;\n }\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.model.push(this.parser.model);\n this.parser = undefined;\n return false;\n }\n return true;\n }\n return false;\n }\n\n reconcile(model, options) {\n model.forEach(cf => {\n cf.rules.forEach(rule => {\n if (rule.dxfId !== undefined) {\n rule.style = options.styles.getDxfStyle(rule.dxfId);\n delete rule.dxfId;\n }\n });\n });\n }\n}\n\nmodule.exports = ConditionalFormattingsXform;\n","const CompositeXform = require('../../composite-xform');\n\nconst ColorXform = require('../../style/color-xform');\nconst CfvoXform = require('./cfvo-xform');\n\nclass DatabarXform extends CompositeXform {\n constructor() {\n super();\n\n this.map = {\n cfvo: (this.cfvoXform = new CfvoXform()),\n color: (this.colorXform = new ColorXform()),\n };\n }\n\n get tag() {\n return 'dataBar';\n }\n\n render(xmlStream, model) {\n xmlStream.openNode(this.tag);\n\n model.cfvo.forEach(cfvo => {\n this.cfvoXform.render(xmlStream, cfvo);\n });\n this.colorXform.render(xmlStream, model.color);\n\n xmlStream.closeNode();\n }\n\n createNewModel() {\n return {\n cfvo: [],\n };\n }\n\n onParserClose(name, parser) {\n switch (name) {\n case 'cfvo':\n this.model.cfvo.push(parser.model);\n break;\n case 'color':\n this.model.color = parser.model;\n break;\n }\n }\n}\n\nmodule.exports = DatabarXform;\n","/* eslint-disable max-classes-per-file */\nconst BaseXform = require('../../base-xform');\nconst CompositeXform = require('../../composite-xform');\n\nclass X14IdXform extends BaseXform {\n get tag() {\n return 'x14:id';\n }\n\n render(xmlStream, model) {\n xmlStream.leafNode(this.tag, null, model);\n }\n\n parseOpen() {\n this.model = '';\n }\n\n parseText(text) {\n this.model += text;\n }\n\n parseClose(name) {\n return name !== this.tag;\n }\n}\n\nclass ExtXform extends CompositeXform {\n constructor() {\n super();\n\n this.map = {\n 'x14:id': (this.idXform = new X14IdXform()),\n };\n }\n\n get tag() {\n return 'ext';\n }\n\n render(xmlStream, model) {\n xmlStream.openNode(this.tag, {\n uri: '{B025F937-C7B1-47D3-B67F-A62EFF666E3E}',\n 'xmlns:x14': 'http://schemas.microsoft.com/office/spreadsheetml/2009/9/main',\n });\n\n this.idXform.render(xmlStream, model.x14Id);\n\n xmlStream.closeNode();\n }\n\n createNewModel() {\n return {};\n }\n\n onParserClose(name, parser) {\n this.model.x14Id = parser.model;\n }\n}\n\nclass ExtLstRefXform extends CompositeXform {\n constructor() {\n super();\n this.map = {\n ext: new ExtXform(),\n };\n }\n\n get tag() {\n return 'extLst';\n }\n\n render(xmlStream, model) {\n xmlStream.openNode(this.tag);\n this.map.ext.render(xmlStream, model);\n xmlStream.closeNode();\n }\n\n createNewModel() {\n return {};\n }\n\n onParserClose(name, parser) {\n Object.assign(this.model, parser.model);\n }\n}\n\nmodule.exports = ExtLstRefXform;\n","const BaseXform = require('../../base-xform');\n\nclass FormulaXform extends BaseXform {\n get tag() {\n return 'formula';\n }\n\n render(xmlStream, model) {\n xmlStream.leafNode(this.tag, null, model);\n }\n\n parseOpen() {\n this.model = '';\n }\n\n parseText(text) {\n this.model += text;\n }\n\n parseClose(name) {\n return name !== this.tag;\n }\n}\n\nmodule.exports = FormulaXform;\n","const BaseXform = require('../../base-xform');\nconst CompositeXform = require('../../composite-xform');\n\nconst CfvoXform = require('./cfvo-xform');\n\nclass IconSetXform extends CompositeXform {\n constructor() {\n super();\n\n this.map = {\n cfvo: (this.cfvoXform = new CfvoXform()),\n };\n }\n\n get tag() {\n return 'iconSet';\n }\n\n render(xmlStream, model) {\n xmlStream.openNode(this.tag, {\n iconSet: BaseXform.toStringAttribute(model.iconSet, '3TrafficLights'),\n reverse: BaseXform.toBoolAttribute(model.reverse, false),\n showValue: BaseXform.toBoolAttribute(model.showValue, true),\n });\n\n model.cfvo.forEach(cfvo => {\n this.cfvoXform.render(xmlStream, cfvo);\n });\n\n xmlStream.closeNode();\n }\n\n createNewModel({attributes}) {\n return {\n iconSet: BaseXform.toStringValue(attributes.iconSet, '3TrafficLights'),\n reverse: BaseXform.toBoolValue(attributes.reverse),\n showValue: BaseXform.toBoolValue(attributes.showValue),\n cfvo: [],\n };\n }\n\n onParserClose(name, parser) {\n this.model[name].push(parser.model);\n }\n}\n\nmodule.exports = IconSetXform;\n","const utils = require('../../../utils/utils');\nconst BaseXform = require('../base-xform');\n\nclass ColXform extends BaseXform {\n get tag() {\n return 'col';\n }\n\n prepare(model, options) {\n const styleId = options.styles.addStyleModel(model.style || {});\n if (styleId) {\n model.styleId = styleId;\n }\n }\n\n render(xmlStream, model) {\n xmlStream.openNode('col');\n xmlStream.addAttribute('min', model.min);\n xmlStream.addAttribute('max', model.max);\n if (model.width) {\n xmlStream.addAttribute('width', model.width);\n }\n if (model.styleId) {\n xmlStream.addAttribute('style', model.styleId);\n }\n if (model.hidden) {\n xmlStream.addAttribute('hidden', '1');\n }\n if (model.bestFit) {\n xmlStream.addAttribute('bestFit', '1');\n }\n if (model.outlineLevel) {\n xmlStream.addAttribute('outlineLevel', model.outlineLevel);\n }\n if (model.collapsed) {\n xmlStream.addAttribute('collapsed', '1');\n }\n xmlStream.addAttribute('customWidth', '1');\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (node.name === 'col') {\n const model = (this.model = {\n min: parseInt(node.attributes.min || '0', 10),\n max: parseInt(node.attributes.max || '0', 10),\n width:\n node.attributes.width === undefined\n ? undefined\n : parseFloat(node.attributes.width || '0'),\n });\n if (node.attributes.style) {\n model.styleId = parseInt(node.attributes.style, 10);\n }\n if (utils.parseBoolean(node.attributes.hidden)) {\n model.hidden = true;\n }\n if (utils.parseBoolean(node.attributes.bestFit)) {\n model.bestFit = true;\n }\n if (node.attributes.outlineLevel) {\n model.outlineLevel = parseInt(node.attributes.outlineLevel, 10);\n }\n if (utils.parseBoolean(node.attributes.collapsed)) {\n model.collapsed = true;\n }\n return true;\n }\n return false;\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n\n reconcile(model, options) {\n // reconcile column styles\n if (model.styleId) {\n model.style = options.styles.getStyleModel(model.styleId);\n }\n }\n}\n\nmodule.exports = ColXform;\n","const _ = require('../../../utils/under-dash');\nconst utils = require('../../../utils/utils');\nconst colCache = require('../../../utils/col-cache');\nconst BaseXform = require('../base-xform');\nconst Range = require('../../../doc/range');\n\nfunction assign(definedName, attributes, name, defaultValue) {\n const value = attributes[name];\n if (value !== undefined) {\n definedName[name] = value;\n } else if (defaultValue !== undefined) {\n definedName[name] = defaultValue;\n }\n}\n\nfunction assignBool(definedName, attributes, name, defaultValue) {\n const value = attributes[name];\n if (value !== undefined) {\n definedName[name] = utils.parseBoolean(value);\n } else if (defaultValue !== undefined) {\n definedName[name] = defaultValue;\n }\n}\n\nfunction optimiseDataValidations(model) {\n // Squeeze alike data validations together into rectangular ranges\n // to reduce file size and speed up Excel load time\n const dvList = _.map(model, (dataValidation, address) => ({\n address,\n dataValidation,\n marked: false,\n })).sort((a, b) => _.strcmp(a.address, b.address));\n const dvMap = _.keyBy(dvList, 'address');\n const matchCol = (addr, height, col) => {\n for (let i = 0; i < height; i++) {\n const otherAddress = colCache.encodeAddress(addr.row + i, col);\n if (!model[otherAddress] || !_.isEqual(model[addr.address], model[otherAddress])) {\n return false;\n }\n }\n return true;\n };\n return dvList\n .map(dv => {\n if (!dv.marked) {\n const addr = colCache.decodeEx(dv.address);\n if (addr.dimensions) {\n dvMap[addr.dimensions].marked = true;\n return {\n ...dv.dataValidation,\n sqref: dv.address,\n };\n }\n\n // iterate downwards - finding matching cells\n let height = 1;\n let otherAddress = colCache.encodeAddress(addr.row + height, addr.col);\n while (model[otherAddress] && _.isEqual(dv.dataValidation, model[otherAddress])) {\n height++;\n otherAddress = colCache.encodeAddress(addr.row + height, addr.col);\n }\n\n // iterate rightwards...\n\n let width = 1;\n while (matchCol(addr, height, addr.col + width)) {\n width++;\n }\n\n // mark all included addresses\n for (let i = 0; i < height; i++) {\n for (let j = 0; j < width; j++) {\n otherAddress = colCache.encodeAddress(addr.row + i, addr.col + j);\n dvMap[otherAddress].marked = true;\n }\n }\n\n if (height > 1 || width > 1) {\n const bottom = addr.row + (height - 1);\n const right = addr.col + (width - 1);\n return {\n ...dv.dataValidation,\n sqref: `${dv.address}:${colCache.encodeAddress(bottom, right)}`,\n };\n }\n return {\n ...dv.dataValidation,\n sqref: dv.address,\n };\n }\n return null;\n })\n .filter(Boolean);\n}\n\nclass DataValidationsXform extends BaseXform {\n get tag() {\n return 'dataValidations';\n }\n\n render(xmlStream, model) {\n const optimizedModel = optimiseDataValidations(model);\n if (optimizedModel.length) {\n xmlStream.openNode('dataValidations', {count: optimizedModel.length});\n\n optimizedModel.forEach(value => {\n xmlStream.openNode('dataValidation');\n\n if (value.type !== 'any') {\n xmlStream.addAttribute('type', value.type);\n\n if (value.operator && value.type !== 'list' && value.operator !== 'between') {\n xmlStream.addAttribute('operator', value.operator);\n }\n if (value.allowBlank) {\n xmlStream.addAttribute('allowBlank', '1');\n }\n }\n if (value.showInputMessage) {\n xmlStream.addAttribute('showInputMessage', '1');\n }\n if (value.promptTitle) {\n xmlStream.addAttribute('promptTitle', value.promptTitle);\n }\n if (value.prompt) {\n xmlStream.addAttribute('prompt', value.prompt);\n }\n if (value.showErrorMessage) {\n xmlStream.addAttribute('showErrorMessage', '1');\n }\n if (value.errorStyle) {\n xmlStream.addAttribute('errorStyle', value.errorStyle);\n }\n if (value.errorTitle) {\n xmlStream.addAttribute('errorTitle', value.errorTitle);\n }\n if (value.error) {\n xmlStream.addAttribute('error', value.error);\n }\n xmlStream.addAttribute('sqref', value.sqref);\n (value.formulae || []).forEach((formula, index) => {\n xmlStream.openNode(`formula${index + 1}`);\n if (value.type === 'date') {\n xmlStream.writeText(utils.dateToExcel(new Date(formula)));\n } else {\n xmlStream.writeText(formula);\n }\n xmlStream.closeNode();\n });\n xmlStream.closeNode();\n });\n xmlStream.closeNode();\n }\n }\n\n parseOpen(node) {\n switch (node.name) {\n case 'dataValidations':\n this.model = {};\n return true;\n\n case 'dataValidation': {\n this._address = node.attributes.sqref;\n const dataValidation = {type: node.attributes.type || 'any', formulae: []};\n\n if (node.attributes.type) {\n assignBool(dataValidation, node.attributes, 'allowBlank');\n }\n assignBool(dataValidation, node.attributes, 'showInputMessage');\n assignBool(dataValidation, node.attributes, 'showErrorMessage');\n\n switch (dataValidation.type) {\n case 'any':\n case 'list':\n case 'custom':\n break;\n default:\n assign(dataValidation, node.attributes, 'operator', 'between');\n break;\n }\n assign(dataValidation, node.attributes, 'promptTitle');\n assign(dataValidation, node.attributes, 'prompt');\n assign(dataValidation, node.attributes, 'errorStyle');\n assign(dataValidation, node.attributes, 'errorTitle');\n assign(dataValidation, node.attributes, 'error');\n\n this._dataValidation = dataValidation;\n return true;\n }\n\n case 'formula1':\n case 'formula2':\n this._formula = [];\n return true;\n\n default:\n return false;\n }\n }\n\n parseText(text) {\n if (this._formula) {\n this._formula.push(text);\n }\n }\n\n parseClose(name) {\n switch (name) {\n case 'dataValidations':\n return false;\n case 'dataValidation': {\n if (!this._dataValidation.formulae || !this._dataValidation.formulae.length) {\n delete this._dataValidation.formulae;\n delete this._dataValidation.operator;\n }\n // The four known cases: 1. E4:L9 N4:U9 2.E4 L9 3. N4:U9 4. E4\n const list = this._address.split(/\\s+/g) || [];\n list.forEach(addr => {\n if (addr.includes(':')) {\n const range = new Range(addr);\n range.forEachAddress(address => {\n this.model[address] = this._dataValidation;\n });\n } else {\n this.model[addr] = this._dataValidation;\n }\n });\n return true;\n }\n case 'formula1':\n case 'formula2': {\n let formula = this._formula.join('');\n switch (this._dataValidation.type) {\n case 'whole':\n case 'textLength':\n formula = parseInt(formula, 10);\n break;\n case 'decimal':\n formula = parseFloat(formula);\n break;\n case 'date':\n formula = utils.excelToDate(parseFloat(formula));\n break;\n default:\n break;\n }\n this._dataValidation.formulae.push(formula);\n this._formula = undefined;\n return true;\n }\n default:\n return true;\n }\n }\n}\n\nmodule.exports = DataValidationsXform;\n","const BaseXform = require('../base-xform');\n\nclass DimensionXform extends BaseXform {\n get tag() {\n return 'dimension';\n }\n\n render(xmlStream, model) {\n if (model) {\n xmlStream.leafNode('dimension', {ref: model});\n }\n }\n\n parseOpen(node) {\n if (node.name === 'dimension') {\n this.model = node.attributes.ref;\n return true;\n }\n return false;\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = DimensionXform;\n","const BaseXform = require('../base-xform');\n\nclass DrawingXform extends BaseXform {\n get tag() {\n return 'drawing';\n }\n\n render(xmlStream, model) {\n if (model) {\n xmlStream.leafNode(this.tag, {'r:id': model.rId});\n }\n }\n\n parseOpen(node) {\n switch (node.name) {\n case this.tag:\n this.model = {\n rId: node.attributes['r:id'],\n };\n return true;\n default:\n return false;\n }\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = DrawingXform;\n","/* eslint-disable max-classes-per-file */\nconst CompositeXform = require('../composite-xform');\n\nconst ConditionalFormattingsExt = require('./cf-ext/conditional-formattings-ext-xform');\n\nclass ExtXform extends CompositeXform {\n constructor() {\n super();\n this.map = {\n 'x14:conditionalFormattings': (this.conditionalFormattings = new ConditionalFormattingsExt()),\n };\n }\n\n get tag() {\n return 'ext';\n }\n\n hasContent(model) {\n return this.conditionalFormattings.hasContent(model.conditionalFormattings);\n }\n\n prepare(model, options) {\n this.conditionalFormattings.prepare(model.conditionalFormattings, options);\n }\n\n render(xmlStream, model) {\n xmlStream.openNode('ext', {\n uri: '{78C0D931-6437-407d-A8EE-F0AAD7539E65}',\n 'xmlns:x14': 'http://schemas.microsoft.com/office/spreadsheetml/2009/9/main',\n });\n\n this.conditionalFormattings.render(xmlStream, model.conditionalFormattings);\n\n xmlStream.closeNode();\n }\n\n createNewModel() {\n return {};\n }\n\n onParserClose(name, parser) {\n this.model[name] = parser.model;\n }\n}\n\nclass ExtLstXform extends CompositeXform {\n constructor() {\n super();\n\n this.map = {\n ext: (this.ext = new ExtXform()),\n };\n }\n\n get tag() {\n return 'extLst';\n }\n\n prepare(model, options) {\n this.ext.prepare(model, options);\n }\n\n hasContent(model) {\n return this.ext.hasContent(model);\n }\n\n render(xmlStream, model) {\n if (!this.hasContent(model)) {\n return;\n }\n\n xmlStream.openNode('extLst');\n this.ext.render(xmlStream, model);\n xmlStream.closeNode();\n }\n\n createNewModel() {\n return {};\n }\n\n onParserClose(name, parser) {\n Object.assign(this.model, parser.model);\n }\n}\n\nmodule.exports = ExtLstXform;\n","const BaseXform = require('../base-xform');\n\nclass HeaderFooterXform extends BaseXform {\n get tag() {\n return 'headerFooter';\n }\n\n render(xmlStream, model) {\n if (model) {\n xmlStream.addRollback();\n\n let createTag = false;\n\n xmlStream.openNode('headerFooter');\n if (model.differentFirst) {\n xmlStream.addAttribute('differentFirst', '1');\n createTag = true;\n }\n if (model.differentOddEven) {\n xmlStream.addAttribute('differentOddEven', '1');\n createTag = true;\n }\n if (model.oddHeader && typeof model.oddHeader === 'string') {\n xmlStream.leafNode('oddHeader', null, model.oddHeader);\n createTag = true;\n }\n if (model.oddFooter && typeof model.oddFooter === 'string') {\n xmlStream.leafNode('oddFooter', null, model.oddFooter);\n createTag = true;\n }\n if (model.evenHeader && typeof model.evenHeader === 'string') {\n xmlStream.leafNode('evenHeader', null, model.evenHeader);\n createTag = true;\n }\n if (model.evenFooter && typeof model.evenFooter === 'string') {\n xmlStream.leafNode('evenFooter', null, model.evenFooter);\n createTag = true;\n }\n if (model.firstHeader && typeof model.firstHeader === 'string') {\n xmlStream.leafNode('firstHeader', null, model.firstHeader);\n createTag = true;\n }\n if (model.firstFooter && typeof model.firstFooter === 'string') {\n xmlStream.leafNode('firstFooter', null, model.firstFooter);\n createTag = true;\n }\n\n if (createTag) {\n xmlStream.closeNode();\n xmlStream.commit();\n } else {\n xmlStream.rollback();\n }\n }\n }\n\n parseOpen(node) {\n switch (node.name) {\n case 'headerFooter':\n this.model = {};\n if (node.attributes.differentFirst) {\n this.model.differentFirst = parseInt(node.attributes.differentFirst, 0) === 1;\n }\n if (node.attributes.differentOddEven) {\n this.model.differentOddEven = parseInt(node.attributes.differentOddEven, 0) === 1;\n }\n return true;\n\n case 'oddHeader':\n this.currentNode = 'oddHeader';\n return true;\n\n case 'oddFooter':\n this.currentNode = 'oddFooter';\n return true;\n\n case 'evenHeader':\n this.currentNode = 'evenHeader';\n return true;\n\n case 'evenFooter':\n this.currentNode = 'evenFooter';\n return true;\n\n case 'firstHeader':\n this.currentNode = 'firstHeader';\n return true;\n\n case 'firstFooter':\n this.currentNode = 'firstFooter';\n return true;\n\n default:\n return false;\n }\n }\n\n parseText(text) {\n switch (this.currentNode) {\n case 'oddHeader':\n this.model.oddHeader = text;\n break;\n\n case 'oddFooter':\n this.model.oddFooter = text;\n break;\n\n case 'evenHeader':\n this.model.evenHeader = text;\n break;\n\n case 'evenFooter':\n this.model.evenFooter = text;\n break;\n\n case 'firstHeader':\n this.model.firstHeader = text;\n break;\n\n case 'firstFooter':\n this.model.firstFooter = text;\n break;\n\n default:\n break;\n }\n }\n\n parseClose() {\n switch (this.currentNode) {\n case 'oddHeader':\n case 'oddFooter':\n case 'evenHeader':\n case 'evenFooter':\n case 'firstHeader':\n case 'firstFooter':\n this.currentNode = undefined;\n return true;\n\n default:\n return false;\n }\n }\n}\n\nmodule.exports = HeaderFooterXform;\n","const BaseXform = require('../base-xform');\n\nclass HyperlinkXform extends BaseXform {\n get tag() {\n return 'hyperlink';\n }\n\n render(xmlStream, model) {\n if (this.isInternalLink(model)) {\n xmlStream.leafNode('hyperlink', {\n ref: model.address,\n 'r:id': model.rId,\n tooltip: model.tooltip,\n location: model.target,\n });\n } else {\n xmlStream.leafNode('hyperlink', {\n ref: model.address,\n 'r:id': model.rId,\n tooltip: model.tooltip,\n });\n }\n }\n\n parseOpen(node) {\n if (node.name === 'hyperlink') {\n this.model = {\n address: node.attributes.ref,\n rId: node.attributes['r:id'],\n tooltip: node.attributes.tooltip,\n };\n\n // This is an internal link\n if (node.attributes.location) {\n this.model.target = node.attributes.location;\n }\n return true;\n }\n return false;\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n\n isInternalLink(model) {\n // @example: Sheet2!D3, return true\n return model.target && /^[^!]+![a-zA-Z]+[\\d]+$/.test(model.target);\n }\n}\n\nmodule.exports = HyperlinkXform;\n","const BaseXform = require('../base-xform');\n\nclass MergeCellXform extends BaseXform {\n get tag() {\n return 'mergeCell';\n }\n\n render(xmlStream, model) {\n xmlStream.leafNode('mergeCell', {ref: model});\n }\n\n parseOpen(node) {\n if (node.name === 'mergeCell') {\n this.model = node.attributes.ref;\n return true;\n }\n return false;\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = MergeCellXform;\n","const _ = require('../../../utils/under-dash');\n\nconst Range = require('../../../doc/range');\nconst colCache = require('../../../utils/col-cache');\nconst Enums = require('../../../doc/enums');\n\nclass Merges {\n constructor() {\n // optional mergeCells is array of ranges (like the xml)\n this.merges = {};\n }\n\n add(merge) {\n // merge is {address, master}\n if (this.merges[merge.master]) {\n this.merges[merge.master].expandToAddress(merge.address);\n } else {\n const range = `${merge.master}:${merge.address}`;\n this.merges[merge.master] = new Range(range);\n }\n }\n\n get mergeCells() {\n return _.map(this.merges, merge => merge.range);\n }\n\n reconcile(mergeCells, rows) {\n // reconcile merge list with merge cells\n _.each(mergeCells, merge => {\n const dimensions = colCache.decode(merge);\n for (let i = dimensions.top; i <= dimensions.bottom; i++) {\n const row = rows[i - 1];\n for (let j = dimensions.left; j <= dimensions.right; j++) {\n const cell = row.cells[j - 1];\n if (!cell) {\n // nulls are not included in document - so if master cell has no value - add a null one here\n row.cells[j] = {\n type: Enums.ValueType.Null,\n address: colCache.encodeAddress(i, j),\n };\n } else if (cell.type === Enums.ValueType.Merge) {\n cell.master = dimensions.tl;\n }\n }\n }\n });\n }\n\n getMasterAddress(address) {\n // if address has been merged, return its master's address. Assumes reconcile has been called\n const range = this.hash[address];\n return range && range.tl;\n }\n}\n\nmodule.exports = Merges;\n","const BaseXform = require('../base-xform');\n\nconst isDefined = attr => typeof attr !== 'undefined';\n\nclass OutlinePropertiesXform extends BaseXform {\n get tag() {\n return 'outlinePr';\n }\n\n render(xmlStream, model) {\n if (model && (isDefined(model.summaryBelow) || isDefined(model.summaryRight))) {\n xmlStream.leafNode(this.tag, {\n summaryBelow: isDefined(model.summaryBelow) ? Number(model.summaryBelow) : undefined,\n summaryRight: isDefined(model.summaryRight) ? Number(model.summaryRight) : undefined,\n });\n return true;\n }\n return false;\n }\n\n parseOpen(node) {\n if (node.name === this.tag) {\n this.model = {\n summaryBelow: isDefined(node.attributes.summaryBelow)\n ? Boolean(Number(node.attributes.summaryBelow))\n : undefined,\n summaryRight: isDefined(node.attributes.summaryRight)\n ? Boolean(Number(node.attributes.summaryRight))\n : undefined,\n };\n return true;\n }\n return false;\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = OutlinePropertiesXform;\n","const BaseXform = require('../base-xform');\n\nclass PageBreaksXform extends BaseXform {\n get tag() {\n return 'brk';\n }\n\n render(xmlStream, model) {\n xmlStream.leafNode('brk', model);\n }\n\n parseOpen(node) {\n if (node.name === 'brk') {\n this.model = node.attributes.ref;\n return true;\n }\n return false;\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = PageBreaksXform;\n","const _ = require('../../../utils/under-dash');\nconst BaseXform = require('../base-xform');\n\nclass PageMarginsXform extends BaseXform {\n get tag() {\n return 'pageMargins';\n }\n\n render(xmlStream, model) {\n if (model) {\n const attributes = {\n left: model.left,\n right: model.right,\n top: model.top,\n bottom: model.bottom,\n header: model.header,\n footer: model.footer,\n };\n if (_.some(attributes, value => value !== undefined)) {\n xmlStream.leafNode(this.tag, attributes);\n }\n }\n }\n\n parseOpen(node) {\n switch (node.name) {\n case this.tag:\n this.model = {\n left: parseFloat(node.attributes.left || 0.7),\n right: parseFloat(node.attributes.right || 0.7),\n top: parseFloat(node.attributes.top || 0.75),\n bottom: parseFloat(node.attributes.bottom || 0.75),\n header: parseFloat(node.attributes.header || 0.3),\n footer: parseFloat(node.attributes.footer || 0.3),\n };\n return true;\n default:\n return false;\n }\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = PageMarginsXform;\n","const BaseXform = require('../base-xform');\n\nclass PageSetupPropertiesXform extends BaseXform {\n get tag() {\n return 'pageSetUpPr';\n }\n\n render(xmlStream, model) {\n if (model && model.fitToPage) {\n xmlStream.leafNode(this.tag, {\n fitToPage: model.fitToPage ? '1' : undefined,\n });\n return true;\n }\n return false;\n }\n\n parseOpen(node) {\n if (node.name === this.tag) {\n this.model = {\n fitToPage: node.attributes.fitToPage === '1',\n };\n return true;\n }\n return false;\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = PageSetupPropertiesXform;\n","const _ = require('../../../utils/under-dash');\nconst BaseXform = require('../base-xform');\n\nfunction booleanToXml(model) {\n return model ? '1' : undefined;\n}\nfunction pageOrderToXml(model) {\n switch (model) {\n case 'overThenDown':\n return model;\n default:\n return undefined;\n }\n}\nfunction cellCommentsToXml(model) {\n switch (model) {\n case 'atEnd':\n case 'asDisplyed':\n return model;\n default:\n return undefined;\n }\n}\nfunction errorsToXml(model) {\n switch (model) {\n case 'dash':\n case 'blank':\n case 'NA':\n return model;\n default:\n return undefined;\n }\n}\nfunction pageSizeToModel(value) {\n return value !== undefined ? parseInt(value, 10) : undefined;\n}\n\nclass PageSetupXform extends BaseXform {\n get tag() {\n return 'pageSetup';\n }\n\n render(xmlStream, model) {\n if (model) {\n const attributes = {\n paperSize: model.paperSize,\n orientation: model.orientation,\n horizontalDpi: model.horizontalDpi,\n verticalDpi: model.verticalDpi,\n pageOrder: pageOrderToXml(model.pageOrder),\n blackAndWhite: booleanToXml(model.blackAndWhite),\n draft: booleanToXml(model.draft),\n cellComments: cellCommentsToXml(model.cellComments),\n errors: errorsToXml(model.errors),\n scale: model.scale,\n fitToWidth: model.fitToWidth,\n fitToHeight: model.fitToHeight,\n firstPageNumber: model.firstPageNumber,\n useFirstPageNumber: booleanToXml(model.firstPageNumber),\n usePrinterDefaults: booleanToXml(model.usePrinterDefaults),\n copies: model.copies,\n };\n if (_.some(attributes, value => value !== undefined)) {\n xmlStream.leafNode(this.tag, attributes);\n }\n }\n }\n\n parseOpen(node) {\n switch (node.name) {\n case this.tag:\n this.model = {\n paperSize: pageSizeToModel(node.attributes.paperSize),\n orientation: node.attributes.orientation || 'portrait',\n horizontalDpi: parseInt(node.attributes.horizontalDpi || '4294967295', 10),\n verticalDpi: parseInt(node.attributes.verticalDpi || '4294967295', 10),\n pageOrder: node.attributes.pageOrder || 'downThenOver',\n blackAndWhite: node.attributes.blackAndWhite === '1',\n draft: node.attributes.draft === '1',\n cellComments: node.attributes.cellComments || 'None',\n errors: node.attributes.errors || 'displayed',\n scale: parseInt(node.attributes.scale || '100', 10),\n fitToWidth: parseInt(node.attributes.fitToWidth || '1', 10),\n fitToHeight: parseInt(node.attributes.fitToHeight || '1', 10),\n firstPageNumber: parseInt(node.attributes.firstPageNumber || '1', 10),\n useFirstPageNumber: node.attributes.useFirstPageNumber === '1',\n usePrinterDefaults: node.attributes.usePrinterDefaults === '1',\n copies: parseInt(node.attributes.copies || '1', 10),\n };\n return true;\n default:\n return false;\n }\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = PageSetupXform;\n","const BaseXform = require('../base-xform');\n\nclass PictureXform extends BaseXform {\n get tag() {\n return 'picture';\n }\n\n render(xmlStream, model) {\n if (model) {\n xmlStream.leafNode(this.tag, {'r:id': model.rId});\n }\n }\n\n parseOpen(node) {\n switch (node.name) {\n case this.tag:\n this.model = {\n rId: node.attributes['r:id'],\n };\n return true;\n default:\n return false;\n }\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = PictureXform;\n","const _ = require('../../../utils/under-dash');\nconst BaseXform = require('../base-xform');\n\nfunction booleanToXml(model) {\n return model ? '1' : undefined;\n}\n\nclass PrintOptionsXform extends BaseXform {\n get tag() {\n return 'printOptions';\n }\n\n render(xmlStream, model) {\n if (model) {\n const attributes = {\n headings: booleanToXml(model.showRowColHeaders),\n gridLines: booleanToXml(model.showGridLines),\n horizontalCentered: booleanToXml(model.horizontalCentered),\n verticalCentered: booleanToXml(model.verticalCentered),\n };\n if (_.some(attributes, value => value !== undefined)) {\n xmlStream.leafNode(this.tag, attributes);\n }\n }\n }\n\n parseOpen(node) {\n switch (node.name) {\n case this.tag:\n this.model = {\n showRowColHeaders: node.attributes.headings === '1',\n showGridLines: node.attributes.gridLines === '1',\n horizontalCentered: node.attributes.horizontalCentered === '1',\n verticalCentered: node.attributes.verticalCentered === '1',\n };\n return true;\n default:\n return false;\n }\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = PrintOptionsXform;\n","'use strict';\n\nconst PageBreaksXform = require('./page-breaks-xform');\n\nconst ListXform = require('../list-xform');\n\nclass RowBreaksXform extends ListXform {\n constructor() {\n const options = {\n tag: 'rowBreaks',\n count: true,\n childXform: new PageBreaksXform(),\n };\n super(options);\n }\n\n // get tag() { return 'rowBreaks'; }\n\n render(xmlStream, model) {\n if (model && model.length) {\n xmlStream.openNode(this.tag, this.$);\n if (this.count) {\n xmlStream.addAttribute(this.$count, model.length);\n xmlStream.addAttribute('manualBreakCount', model.length);\n }\n\n const {childXform} = this;\n model.forEach(childModel => {\n childXform.render(xmlStream, childModel);\n });\n\n xmlStream.closeNode();\n } else if (this.empty) {\n xmlStream.leafNode(this.tag);\n }\n }\n}\n\nmodule.exports = RowBreaksXform;\n","const BaseXform = require('../base-xform');\nconst utils = require('../../../utils/utils');\n\nconst CellXform = require('./cell-xform');\n\nclass RowXform extends BaseXform {\n constructor(options) {\n super();\n\n this.maxItems = options && options.maxItems;\n this.map = {\n c: new CellXform(),\n };\n }\n\n get tag() {\n return 'row';\n }\n\n prepare(model, options) {\n const styleId = options.styles.addStyleModel(model.style);\n if (styleId) {\n model.styleId = styleId;\n }\n const cellXform = this.map.c;\n model.cells.forEach(cellModel => {\n cellXform.prepare(cellModel, options);\n });\n }\n\n render(xmlStream, model, options) {\n xmlStream.openNode('row');\n xmlStream.addAttribute('r', model.number);\n if (model.height) {\n xmlStream.addAttribute('ht', model.height);\n xmlStream.addAttribute('customHeight', '1');\n }\n if (model.hidden) {\n xmlStream.addAttribute('hidden', '1');\n }\n if (model.min > 0 && model.max > 0 && model.min <= model.max) {\n xmlStream.addAttribute('spans', `${model.min}:${model.max}`);\n }\n if (model.styleId) {\n xmlStream.addAttribute('s', model.styleId);\n xmlStream.addAttribute('customFormat', '1');\n }\n xmlStream.addAttribute('x14ac:dyDescent', '0.25');\n if (model.outlineLevel) {\n xmlStream.addAttribute('outlineLevel', model.outlineLevel);\n }\n if (model.collapsed) {\n xmlStream.addAttribute('collapsed', '1');\n }\n\n const cellXform = this.map.c;\n model.cells.forEach(cellModel => {\n cellXform.render(xmlStream, cellModel, options);\n });\n\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n if (node.name === 'row') {\n this.numRowsSeen += 1;\n const spans = node.attributes.spans\n ? node.attributes.spans.split(':').map(span => parseInt(span, 10))\n : [undefined, undefined];\n const model = (this.model = {\n number: parseInt(node.attributes.r, 10),\n min: spans[0],\n max: spans[1],\n cells: [],\n });\n if (node.attributes.s) {\n model.styleId = parseInt(node.attributes.s, 10);\n }\n if (utils.parseBoolean(node.attributes.hidden)) {\n model.hidden = true;\n }\n if (utils.parseBoolean(node.attributes.bestFit)) {\n model.bestFit = true;\n }\n if (node.attributes.ht) {\n model.height = parseFloat(node.attributes.ht);\n }\n if (node.attributes.outlineLevel) {\n model.outlineLevel = parseInt(node.attributes.outlineLevel, 10);\n }\n if (utils.parseBoolean(node.attributes.collapsed)) {\n model.collapsed = true;\n }\n return true;\n }\n\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n return false;\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.model.cells.push(this.parser.model);\n if (this.maxItems && this.model.cells.length > this.maxItems) {\n throw new Error(`Max column count (${this.maxItems}) exceeded`);\n }\n this.parser = undefined;\n }\n return true;\n }\n return false;\n }\n\n reconcile(model, options) {\n model.style = model.styleId ? options.styles.getStyleModel(model.styleId) : {};\n if (model.styleId !== undefined) {\n model.styleId = undefined;\n }\n\n const cellXform = this.map.c;\n model.cells.forEach(cellModel => {\n cellXform.reconcile(cellModel, options);\n });\n }\n}\n\nmodule.exports = RowXform;\n","const _ = require('../../../utils/under-dash');\nconst BaseXform = require('../base-xform');\n\nclass SheetFormatPropertiesXform extends BaseXform {\n get tag() {\n return 'sheetFormatPr';\n }\n\n render(xmlStream, model) {\n if (model) {\n const attributes = {\n defaultRowHeight: model.defaultRowHeight,\n outlineLevelRow: model.outlineLevelRow,\n outlineLevelCol: model.outlineLevelCol,\n 'x14ac:dyDescent': model.dyDescent,\n };\n if (model.defaultColWidth) {\n attributes.defaultColWidth = model.defaultColWidth;\n }\n\n // default value for 'defaultRowHeight' is 15, this should not be 'custom'\n if (!model.defaultRowHeight || model.defaultRowHeight !== 15) {\n attributes.customHeight = '1';\n }\n\n if (_.some(attributes, value => value !== undefined)) {\n xmlStream.leafNode('sheetFormatPr', attributes);\n }\n }\n }\n\n parseOpen(node) {\n if (node.name === 'sheetFormatPr') {\n this.model = {\n defaultRowHeight: parseFloat(node.attributes.defaultRowHeight || '0'),\n dyDescent: parseFloat(node.attributes['x14ac:dyDescent'] || '0'),\n outlineLevelRow: parseInt(node.attributes.outlineLevelRow || '0', 10),\n outlineLevelCol: parseInt(node.attributes.outlineLevelCol || '0', 10),\n };\n if (node.attributes.defaultColWidth) {\n this.model.defaultColWidth = parseFloat(node.attributes.defaultColWidth);\n }\n return true;\n }\n return false;\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = SheetFormatPropertiesXform;\n","const BaseXform = require('../base-xform');\nconst ColorXform = require('../style/color-xform');\nconst PageSetupPropertiesXform = require('./page-setup-properties-xform');\nconst OutlinePropertiesXform = require('./outline-properties-xform');\n\nclass SheetPropertiesXform extends BaseXform {\n constructor() {\n super();\n\n this.map = {\n tabColor: new ColorXform('tabColor'),\n pageSetUpPr: new PageSetupPropertiesXform(),\n outlinePr: new OutlinePropertiesXform(),\n };\n }\n\n get tag() {\n return 'sheetPr';\n }\n\n render(xmlStream, model) {\n if (model) {\n xmlStream.addRollback();\n xmlStream.openNode('sheetPr');\n\n let inner = false;\n inner = this.map.tabColor.render(xmlStream, model.tabColor) || inner;\n inner = this.map.pageSetUpPr.render(xmlStream, model.pageSetup) || inner;\n inner = this.map.outlinePr.render(xmlStream, model.outlineProperties) || inner;\n\n if (inner) {\n xmlStream.closeNode();\n xmlStream.commit();\n } else {\n xmlStream.rollback();\n }\n }\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n if (node.name === this.tag) {\n this.reset();\n return true;\n }\n if (this.map[node.name]) {\n this.parser = this.map[node.name];\n this.parser.parseOpen(node);\n return true;\n }\n return false;\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n return true;\n }\n return false;\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n if (this.map.tabColor.model || this.map.pageSetUpPr.model || this.map.outlinePr.model) {\n this.model = {};\n if (this.map.tabColor.model) {\n this.model.tabColor = this.map.tabColor.model;\n }\n if (this.map.pageSetUpPr.model) {\n this.model.pageSetup = this.map.pageSetUpPr.model;\n }\n if (this.map.outlinePr.model) {\n this.model.outlineProperties = this.map.outlinePr.model;\n }\n } else {\n this.model = null;\n }\n return false;\n }\n}\n\nmodule.exports = SheetPropertiesXform;\n","const _ = require('../../../utils/under-dash');\nconst BaseXform = require('../base-xform');\n\nfunction booleanToXml(model, value) {\n return model ? value : undefined;\n}\n\nfunction xmlToBoolean(value, equals) {\n return value === equals ? true : undefined;\n}\n\nclass SheetProtectionXform extends BaseXform {\n get tag() {\n return 'sheetProtection';\n }\n\n render(xmlStream, model) {\n if (model) {\n const attributes = {\n sheet: booleanToXml(model.sheet, '1'),\n selectLockedCells: model.selectLockedCells === false ? '1' : undefined,\n selectUnlockedCells: model.selectUnlockedCells === false ? '1' : undefined,\n formatCells: booleanToXml(model.formatCells, '0'),\n formatColumns: booleanToXml(model.formatColumns, '0'),\n formatRows: booleanToXml(model.formatRows, '0'),\n insertColumns: booleanToXml(model.insertColumns, '0'),\n insertRows: booleanToXml(model.insertRows, '0'),\n insertHyperlinks: booleanToXml(model.insertHyperlinks, '0'),\n deleteColumns: booleanToXml(model.deleteColumns, '0'),\n deleteRows: booleanToXml(model.deleteRows, '0'),\n sort: booleanToXml(model.sort, '0'),\n autoFilter: booleanToXml(model.autoFilter, '0'),\n pivotTables: booleanToXml(model.pivotTables, '0'),\n };\n if (model.sheet) {\n attributes.algorithmName = model.algorithmName;\n attributes.hashValue = model.hashValue;\n attributes.saltValue = model.saltValue;\n attributes.spinCount = model.spinCount;\n attributes.objects = booleanToXml(model.objects === false, '1');\n attributes.scenarios = booleanToXml(model.scenarios === false, '1');\n }\n if (_.some(attributes, value => value !== undefined)) {\n xmlStream.leafNode(this.tag, attributes);\n }\n }\n }\n\n parseOpen(node) {\n switch (node.name) {\n case this.tag:\n this.model = {\n sheet: xmlToBoolean(node.attributes.sheet, '1'),\n objects: node.attributes.objects === '1' ? false : undefined,\n scenarios: node.attributes.scenarios === '1' ? false : undefined,\n selectLockedCells: node.attributes.selectLockedCells === '1' ? false : undefined,\n selectUnlockedCells: node.attributes.selectUnlockedCells === '1' ? false : undefined,\n formatCells: xmlToBoolean(node.attributes.formatCells, '0'),\n formatColumns: xmlToBoolean(node.attributes.formatColumns, '0'),\n formatRows: xmlToBoolean(node.attributes.formatRows, '0'),\n insertColumns: xmlToBoolean(node.attributes.insertColumns, '0'),\n insertRows: xmlToBoolean(node.attributes.insertRows, '0'),\n insertHyperlinks: xmlToBoolean(node.attributes.insertHyperlinks, '0'),\n deleteColumns: xmlToBoolean(node.attributes.deleteColumns, '0'),\n deleteRows: xmlToBoolean(node.attributes.deleteRows, '0'),\n sort: xmlToBoolean(node.attributes.sort, '0'),\n autoFilter: xmlToBoolean(node.attributes.autoFilter, '0'),\n pivotTables: xmlToBoolean(node.attributes.pivotTables, '0'),\n };\n if (node.attributes.algorithmName) {\n this.model.algorithmName = node.attributes.algorithmName;\n this.model.hashValue = node.attributes.hashValue;\n this.model.saltValue = node.attributes.saltValue;\n this.model.spinCount = parseInt(node.attributes.spinCount, 10);\n }\n return true;\n default:\n return false;\n }\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = SheetProtectionXform;\n","const colCache = require('../../../utils/col-cache');\nconst BaseXform = require('../base-xform');\n\nconst VIEW_STATES = {\n frozen: 'frozen',\n frozenSplit: 'frozen',\n split: 'split',\n};\n\nclass SheetViewXform extends BaseXform {\n get tag() {\n return 'sheetView';\n }\n\n prepare(model) {\n switch (model.state) {\n case 'frozen':\n case 'split':\n break;\n default:\n model.state = 'normal';\n break;\n }\n }\n\n render(xmlStream, model) {\n xmlStream.openNode('sheetView', {\n workbookViewId: model.workbookViewId || 0,\n });\n const add = function(name, value, included) {\n if (included) {\n xmlStream.addAttribute(name, value);\n }\n };\n add('rightToLeft', '1', model.rightToLeft === true);\n add('tabSelected', '1', model.tabSelected);\n add('showRuler', '0', model.showRuler === false);\n add('showRowColHeaders', '0', model.showRowColHeaders === false);\n add('showGridLines', '0', model.showGridLines === false);\n add('zoomScale', model.zoomScale, model.zoomScale);\n add('zoomScaleNormal', model.zoomScaleNormal, model.zoomScaleNormal);\n add('view', model.style, model.style);\n\n let topLeftCell;\n let xSplit;\n let ySplit;\n let activePane;\n switch (model.state) {\n case 'frozen':\n xSplit = model.xSplit || 0;\n ySplit = model.ySplit || 0;\n topLeftCell = model.topLeftCell || colCache.getAddress(ySplit + 1, xSplit + 1).address;\n activePane =\n (model.xSplit && model.ySplit && 'bottomRight') ||\n (model.xSplit && 'topRight') ||\n 'bottomLeft';\n\n xmlStream.leafNode('pane', {\n xSplit: model.xSplit || undefined,\n ySplit: model.ySplit || undefined,\n topLeftCell,\n activePane,\n state: 'frozen',\n });\n xmlStream.leafNode('selection', {\n pane: activePane,\n activeCell: model.activeCell,\n sqref: model.activeCell,\n });\n break;\n case 'split':\n if (model.activePane === 'topLeft') {\n model.activePane = undefined;\n }\n xmlStream.leafNode('pane', {\n xSplit: model.xSplit || undefined,\n ySplit: model.ySplit || undefined,\n topLeftCell: model.topLeftCell,\n activePane: model.activePane,\n });\n xmlStream.leafNode('selection', {\n pane: model.activePane,\n activeCell: model.activeCell,\n sqref: model.activeCell,\n });\n break;\n case 'normal':\n if (model.activeCell) {\n xmlStream.leafNode('selection', {\n activeCell: model.activeCell,\n sqref: model.activeCell,\n });\n }\n break;\n default:\n break;\n }\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n switch (node.name) {\n case 'sheetView':\n this.sheetView = {\n workbookViewId: parseInt(node.attributes.workbookViewId, 10),\n rightToLeft: node.attributes.rightToLeft === '1',\n tabSelected: node.attributes.tabSelected === '1',\n showRuler: !(node.attributes.showRuler === '0'),\n showRowColHeaders: !(node.attributes.showRowColHeaders === '0'),\n showGridLines: !(node.attributes.showGridLines === '0'),\n zoomScale: parseInt(node.attributes.zoomScale || '100', 10),\n zoomScaleNormal: parseInt(node.attributes.zoomScaleNormal || '100', 10),\n style: node.attributes.view,\n };\n this.pane = undefined;\n this.selections = {};\n return true;\n\n case 'pane':\n this.pane = {\n xSplit: parseInt(node.attributes.xSplit || '0', 10),\n ySplit: parseInt(node.attributes.ySplit || '0', 10),\n topLeftCell: node.attributes.topLeftCell,\n activePane: node.attributes.activePane || 'topLeft',\n state: node.attributes.state,\n };\n return true;\n\n case 'selection': {\n const name = node.attributes.pane || 'topLeft';\n this.selections[name] = {\n pane: name,\n activeCell: node.attributes.activeCell,\n };\n return true;\n }\n\n default:\n return false;\n }\n }\n\n parseText() {}\n\n parseClose(name) {\n let model;\n let selection;\n switch (name) {\n case 'sheetView':\n if (this.sheetView && this.pane) {\n model = this.model = {\n workbookViewId: this.sheetView.workbookViewId,\n rightToLeft: this.sheetView.rightToLeft,\n state: VIEW_STATES[this.pane.state] || 'split', // split is default\n xSplit: this.pane.xSplit,\n ySplit: this.pane.ySplit,\n topLeftCell: this.pane.topLeftCell,\n showRuler: this.sheetView.showRuler,\n showRowColHeaders: this.sheetView.showRowColHeaders,\n showGridLines: this.sheetView.showGridLines,\n zoomScale: this.sheetView.zoomScale,\n zoomScaleNormal: this.sheetView.zoomScaleNormal,\n };\n if (this.model.state === 'split') {\n model.activePane = this.pane.activePane;\n }\n selection = this.selections[this.pane.activePane];\n if (selection && selection.activeCell) {\n model.activeCell = selection.activeCell;\n }\n if (this.sheetView.style) {\n model.style = this.sheetView.style;\n }\n } else {\n model = this.model = {\n workbookViewId: this.sheetView.workbookViewId,\n rightToLeft: this.sheetView.rightToLeft,\n state: 'normal',\n showRuler: this.sheetView.showRuler,\n showRowColHeaders: this.sheetView.showRowColHeaders,\n showGridLines: this.sheetView.showGridLines,\n zoomScale: this.sheetView.zoomScale,\n zoomScaleNormal: this.sheetView.zoomScaleNormal,\n };\n selection = this.selections.topLeft;\n if (selection && selection.activeCell) {\n model.activeCell = selection.activeCell;\n }\n if (this.sheetView.style) {\n model.style = this.sheetView.style;\n }\n }\n return false;\n default:\n return true;\n }\n }\n\n reconcile() {}\n}\n\nmodule.exports = SheetViewXform;\n","const BaseXform = require('../base-xform');\n\nclass TablePartXform extends BaseXform {\n get tag() {\n return 'tablePart';\n }\n\n render(xmlStream, model) {\n if (model) {\n xmlStream.leafNode(this.tag, {'r:id': model.rId});\n }\n }\n\n parseOpen(node) {\n switch (node.name) {\n case this.tag:\n this.model = {\n rId: node.attributes['r:id'],\n };\n return true;\n default:\n return false;\n }\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = TablePartXform;\n","const _ = require('../../../utils/under-dash');\n\nconst colCache = require('../../../utils/col-cache');\nconst XmlStream = require('../../../utils/xml-stream');\n\nconst RelType = require('../../rel-type');\n\nconst Merges = require('./merges');\n\nconst BaseXform = require('../base-xform');\nconst ListXform = require('../list-xform');\nconst RowXform = require('./row-xform');\nconst ColXform = require('./col-xform');\nconst DimensionXform = require('./dimension-xform');\nconst HyperlinkXform = require('./hyperlink-xform');\nconst MergeCellXform = require('./merge-cell-xform');\nconst DataValidationsXform = require('./data-validations-xform');\nconst SheetPropertiesXform = require('./sheet-properties-xform');\nconst SheetFormatPropertiesXform = require('./sheet-format-properties-xform');\nconst SheetViewXform = require('./sheet-view-xform');\nconst SheetProtectionXform = require('./sheet-protection-xform');\nconst PageMarginsXform = require('./page-margins-xform');\nconst PageSetupXform = require('./page-setup-xform');\nconst PrintOptionsXform = require('./print-options-xform');\nconst AutoFilterXform = require('./auto-filter-xform');\nconst PictureXform = require('./picture-xform');\nconst DrawingXform = require('./drawing-xform');\nconst TablePartXform = require('./table-part-xform');\nconst RowBreaksXform = require('./row-breaks-xform');\nconst HeaderFooterXform = require('./header-footer-xform');\nconst ConditionalFormattingsXform = require('./cf/conditional-formattings-xform');\nconst ExtListXform = require('./ext-lst-xform');\n\nconst mergeRule = (rule, extRule) => {\n Object.keys(extRule).forEach(key => {\n const value = rule[key];\n const extValue = extRule[key];\n if (value === undefined && extValue !== undefined) {\n rule[key] = extValue;\n }\n });\n};\n\nconst mergeConditionalFormattings = (model, extModel) => {\n // conditional formattings are rendered in worksheet.conditionalFormatting and also in\n // worksheet.extLst.ext.x14:conditionalFormattings\n // some (e.g. dataBar) are even spread across both!\n if (!extModel || !extModel.length) {\n return model;\n }\n if (!model || !model.length) {\n return extModel;\n }\n\n // index model rules by x14Id\n const cfMap = {};\n const ruleMap = {};\n model.forEach(cf => {\n cfMap[cf.ref] = cf;\n cf.rules.forEach(rule => {\n const {x14Id} = rule;\n if (x14Id) {\n ruleMap[x14Id] = rule;\n }\n });\n });\n\n extModel.forEach(extCf => {\n extCf.rules.forEach(extRule => {\n const rule = ruleMap[extRule.x14Id];\n if (rule) {\n // merge with matching rule\n mergeRule(rule, extRule);\n } else if (cfMap[extCf.ref]) {\n // reuse existing cf ref\n cfMap[extCf.ref].rules.push(extRule);\n } else {\n // create new cf\n model.push({\n ref: extCf.ref,\n rules: [extRule],\n });\n }\n });\n });\n\n // need to cope with rules in extModel that don't exist in model\n return model;\n};\n\nclass WorkSheetXform extends BaseXform {\n constructor(options) {\n super();\n\n const {maxRows, maxCols, ignoreNodes} = options || {};\n\n this.ignoreNodes = ignoreNodes || [];\n\n this.map = {\n sheetPr: new SheetPropertiesXform(),\n dimension: new DimensionXform(),\n sheetViews: new ListXform({\n tag: 'sheetViews',\n count: false,\n childXform: new SheetViewXform(),\n }),\n sheetFormatPr: new SheetFormatPropertiesXform(),\n cols: new ListXform({tag: 'cols', count: false, childXform: new ColXform()}),\n sheetData: new ListXform({\n tag: 'sheetData',\n count: false,\n empty: true,\n childXform: new RowXform({maxItems: maxCols}),\n maxItems: maxRows,\n }),\n autoFilter: new AutoFilterXform(),\n mergeCells: new ListXform({tag: 'mergeCells', count: true, childXform: new MergeCellXform()}),\n rowBreaks: new RowBreaksXform(),\n hyperlinks: new ListXform({\n tag: 'hyperlinks',\n count: false,\n childXform: new HyperlinkXform(),\n }),\n pageMargins: new PageMarginsXform(),\n dataValidations: new DataValidationsXform(),\n pageSetup: new PageSetupXform(),\n headerFooter: new HeaderFooterXform(),\n printOptions: new PrintOptionsXform(),\n picture: new PictureXform(),\n drawing: new DrawingXform(),\n sheetProtection: new SheetProtectionXform(),\n tableParts: new ListXform({tag: 'tableParts', count: true, childXform: new TablePartXform()}),\n conditionalFormatting: new ConditionalFormattingsXform(),\n extLst: new ExtListXform(),\n };\n }\n\n prepare(model, options) {\n options.merges = new Merges();\n model.hyperlinks = options.hyperlinks = [];\n model.comments = options.comments = [];\n\n options.formulae = {};\n options.siFormulae = 0;\n this.map.cols.prepare(model.cols, options);\n this.map.sheetData.prepare(model.rows, options);\n this.map.conditionalFormatting.prepare(model.conditionalFormattings, options);\n\n model.mergeCells = options.merges.mergeCells;\n\n // prepare relationships\n const rels = (model.rels = []);\n\n function nextRid(r) {\n return `rId${r.length + 1}`;\n }\n\n model.hyperlinks.forEach(hyperlink => {\n const rId = nextRid(rels);\n hyperlink.rId = rId;\n rels.push({\n Id: rId,\n Type: RelType.Hyperlink,\n Target: hyperlink.target,\n TargetMode: 'External',\n });\n });\n\n // prepare comment relationships\n if (model.comments.length > 0) {\n const comment = {\n Id: nextRid(rels),\n Type: RelType.Comments,\n Target: `../comments${model.id}.xml`,\n };\n rels.push(comment);\n const vmlDrawing = {\n Id: nextRid(rels),\n Type: RelType.VmlDrawing,\n Target: `../drawings/vmlDrawing${model.id}.vml`,\n };\n rels.push(vmlDrawing);\n\n model.comments.forEach(item => {\n item.refAddress = colCache.decodeAddress(item.ref);\n });\n\n options.commentRefs.push({\n commentName: `comments${model.id}`,\n vmlDrawing: `vmlDrawing${model.id}`,\n });\n }\n\n const drawingRelsHash = [];\n let bookImage;\n model.media.forEach(medium => {\n if (medium.type === 'background') {\n const rId = nextRid(rels);\n bookImage = options.media[medium.imageId];\n rels.push({\n Id: rId,\n Type: RelType.Image,\n Target: `../media/${bookImage.name}.${bookImage.extension}`,\n });\n model.background = {\n rId,\n };\n model.image = options.media[medium.imageId];\n } else if (medium.type === 'image') {\n let {drawing} = model;\n bookImage = options.media[medium.imageId];\n if (!drawing) {\n drawing = model.drawing = {\n rId: nextRid(rels),\n name: `drawing${++options.drawingsCount}`,\n anchors: [],\n rels: [],\n };\n options.drawings.push(drawing);\n rels.push({\n Id: drawing.rId,\n Type: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing',\n Target: `../drawings/${drawing.name}.xml`,\n });\n }\n let rIdImage =\n this.preImageId === medium.imageId ? drawingRelsHash[medium.imageId] : drawingRelsHash[drawing.rels.length];\n if (!rIdImage) {\n rIdImage = nextRid(drawing.rels);\n drawingRelsHash[drawing.rels.length] = rIdImage;\n drawing.rels.push({\n Id: rIdImage,\n Type: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/image',\n Target: `../media/${bookImage.name}.${bookImage.extension}`,\n });\n }\n\n const anchor = {\n picture: {\n rId: rIdImage,\n },\n range: medium.range,\n };\n if (medium.hyperlinks && medium.hyperlinks.hyperlink) {\n const rIdHyperLink = nextRid(drawing.rels);\n drawingRelsHash[drawing.rels.length] = rIdHyperLink;\n anchor.picture.hyperlinks = {\n tooltip: medium.hyperlinks.tooltip,\n rId: rIdHyperLink,\n };\n drawing.rels.push({\n Id: rIdHyperLink,\n Type: RelType.Hyperlink,\n Target: medium.hyperlinks.hyperlink,\n TargetMode: 'External',\n });\n }\n this.preImageId = medium.imageId;\n drawing.anchors.push(anchor);\n }\n });\n\n // prepare tables\n model.tables.forEach(table => {\n // relationships\n const rId = nextRid(rels);\n table.rId = rId;\n rels.push({\n Id: rId,\n Type: RelType.Table,\n Target: `../tables/${table.target}`,\n });\n\n // dynamic styles\n table.columns.forEach(column => {\n const {style} = column;\n if (style) {\n column.dxfId = options.styles.addDxfStyle(style);\n }\n });\n });\n\n // prepare ext items\n this.map.extLst.prepare(model, options);\n }\n\n render(xmlStream, model) {\n xmlStream.openXml(XmlStream.StdDocAttributes);\n xmlStream.openNode('worksheet', WorkSheetXform.WORKSHEET_ATTRIBUTES);\n\n const sheetFormatPropertiesModel = model.properties\n ? {\n defaultRowHeight: model.properties.defaultRowHeight,\n dyDescent: model.properties.dyDescent,\n outlineLevelCol: model.properties.outlineLevelCol,\n outlineLevelRow: model.properties.outlineLevelRow,\n }\n : undefined;\n if (model.properties && model.properties.defaultColWidth) {\n sheetFormatPropertiesModel.defaultColWidth = model.properties.defaultColWidth;\n }\n const sheetPropertiesModel = {\n outlineProperties: model.properties && model.properties.outlineProperties,\n tabColor: model.properties && model.properties.tabColor,\n pageSetup:\n model.pageSetup && model.pageSetup.fitToPage\n ? {\n fitToPage: model.pageSetup.fitToPage,\n }\n : undefined,\n };\n const pageMarginsModel = model.pageSetup && model.pageSetup.margins;\n const printOptionsModel = {\n showRowColHeaders: model.pageSetup && model.pageSetup.showRowColHeaders,\n showGridLines: model.pageSetup && model.pageSetup.showGridLines,\n horizontalCentered: model.pageSetup && model.pageSetup.horizontalCentered,\n verticalCentered: model.pageSetup && model.pageSetup.verticalCentered,\n };\n const sheetProtectionModel = model.sheetProtection;\n\n this.map.sheetPr.render(xmlStream, sheetPropertiesModel);\n this.map.dimension.render(xmlStream, model.dimensions);\n this.map.sheetViews.render(xmlStream, model.views);\n this.map.sheetFormatPr.render(xmlStream, sheetFormatPropertiesModel);\n this.map.cols.render(xmlStream, model.cols);\n this.map.sheetData.render(xmlStream, model.rows);\n this.map.sheetProtection.render(xmlStream, sheetProtectionModel); // Note: must be after sheetData and before autoFilter\n this.map.autoFilter.render(xmlStream, model.autoFilter);\n this.map.mergeCells.render(xmlStream, model.mergeCells);\n this.map.conditionalFormatting.render(xmlStream, model.conditionalFormattings); // Note: must be before dataValidations\n this.map.dataValidations.render(xmlStream, model.dataValidations);\n\n // For some reason hyperlinks have to be after the data validations\n this.map.hyperlinks.render(xmlStream, model.hyperlinks);\n\n this.map.printOptions.render(xmlStream, printOptionsModel); // Note: must be before pageMargins\n this.map.pageMargins.render(xmlStream, pageMarginsModel);\n this.map.pageSetup.render(xmlStream, model.pageSetup);\n this.map.headerFooter.render(xmlStream, model.headerFooter);\n this.map.rowBreaks.render(xmlStream, model.rowBreaks);\n this.map.drawing.render(xmlStream, model.drawing); // Note: must be after rowBreaks\n this.map.picture.render(xmlStream, model.background); // Note: must be after drawing\n this.map.tableParts.render(xmlStream, model.tables);\n\n this.map.extLst.render(xmlStream, model);\n\n if (model.rels) {\n // add a <legacyDrawing /> node for each comment\n model.rels.forEach(rel => {\n if (rel.Type === RelType.VmlDrawing) {\n xmlStream.leafNode('legacyDrawing', {'r:id': rel.Id});\n }\n });\n }\n\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n\n if (node.name === 'worksheet') {\n _.each(this.map, xform => {\n xform.reset();\n });\n return true;\n }\n\n if (this.map[node.name] && !this.ignoreNodes.includes(node.name)) {\n this.parser = this.map[node.name];\n this.parser.parseOpen(node);\n }\n return true;\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case 'worksheet': {\n const properties = this.map.sheetFormatPr.model || {};\n if (this.map.sheetPr.model && this.map.sheetPr.model.tabColor) {\n properties.tabColor = this.map.sheetPr.model.tabColor;\n }\n if (this.map.sheetPr.model && this.map.sheetPr.model.outlineProperties) {\n properties.outlineProperties = this.map.sheetPr.model.outlineProperties;\n }\n const sheetProperties = {\n fitToPage:\n (this.map.sheetPr.model &&\n this.map.sheetPr.model.pageSetup &&\n this.map.sheetPr.model.pageSetup.fitToPage) ||\n false,\n margins: this.map.pageMargins.model,\n };\n const pageSetup = Object.assign(sheetProperties, this.map.pageSetup.model, this.map.printOptions.model);\n const conditionalFormattings = mergeConditionalFormattings(\n this.map.conditionalFormatting.model,\n this.map.extLst.model && this.map.extLst.model['x14:conditionalFormattings']\n );\n this.model = {\n dimensions: this.map.dimension.model,\n cols: this.map.cols.model,\n rows: this.map.sheetData.model,\n mergeCells: this.map.mergeCells.model,\n hyperlinks: this.map.hyperlinks.model,\n dataValidations: this.map.dataValidations.model,\n properties,\n views: this.map.sheetViews.model,\n pageSetup,\n headerFooter: this.map.headerFooter.model,\n background: this.map.picture.model,\n drawing: this.map.drawing.model,\n tables: this.map.tableParts.model,\n conditionalFormattings,\n };\n\n if (this.map.autoFilter.model) {\n this.model.autoFilter = this.map.autoFilter.model;\n }\n if (this.map.sheetProtection.model) {\n this.model.sheetProtection = this.map.sheetProtection.model;\n }\n\n return false;\n }\n\n default:\n // not quite sure how we get here!\n return true;\n }\n }\n\n reconcile(model, options) {\n // options.merges = new Merges();\n // options.merges.reconcile(model.mergeCells, model.rows);\n const rels = (model.relationships || []).reduce((h, rel) => {\n h[rel.Id] = rel;\n if (rel.Type === RelType.Comments) {\n model.comments = options.comments[rel.Target].comments;\n }\n if (rel.Type === RelType.VmlDrawing && model.comments && model.comments.length) {\n const vmlComment = options.vmlDrawings[rel.Target].comments;\n model.comments.forEach((comment, index) => {\n comment.note = Object.assign({}, comment.note, vmlComment[index]);\n });\n }\n return h;\n }, {});\n options.commentsMap = (model.comments || []).reduce((h, comment) => {\n if (comment.ref) {\n h[comment.ref] = comment;\n }\n return h;\n }, {});\n options.hyperlinkMap = (model.hyperlinks || []).reduce((h, hyperlink) => {\n if (hyperlink.rId) {\n h[hyperlink.address] = rels[hyperlink.rId].Target;\n }\n return h;\n }, {});\n options.formulae = {};\n\n // compact the rows and cells\n model.rows = (model.rows && model.rows.filter(Boolean)) || [];\n model.rows.forEach(row => {\n row.cells = (row.cells && row.cells.filter(Boolean)) || [];\n });\n\n this.map.cols.reconcile(model.cols, options);\n this.map.sheetData.reconcile(model.rows, options);\n this.map.conditionalFormatting.reconcile(model.conditionalFormattings, options);\n\n model.media = [];\n if (model.drawing) {\n const drawingRel = rels[model.drawing.rId];\n const match = drawingRel.Target.match(/\\/drawings\\/([a-zA-Z0-9]+)[.][a-zA-Z]{3,4}$/);\n if (match) {\n const drawingName = match[1];\n const drawing = options.drawings[drawingName];\n drawing.anchors.forEach(anchor => {\n if (anchor.medium) {\n const image = {\n type: 'image',\n imageId: anchor.medium.index,\n range: anchor.range,\n hyperlinks: anchor.picture.hyperlinks,\n };\n model.media.push(image);\n }\n });\n }\n }\n\n const backgroundRel = model.background && rels[model.background.rId];\n if (backgroundRel) {\n const target = backgroundRel.Target.split('/media/')[1];\n const imageId = options.mediaIndex && options.mediaIndex[target];\n if (imageId !== undefined) {\n model.media.push({\n type: 'background',\n imageId,\n });\n }\n }\n\n model.tables = (model.tables || []).map(tablePart => {\n const rel = rels[tablePart.rId];\n return options.tables[rel.Target];\n });\n\n delete model.relationships;\n delete model.hyperlinks;\n delete model.comments;\n }\n}\n\nWorkSheetXform.WORKSHEET_ATTRIBUTES = {\n xmlns: 'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\n 'xmlns:r': 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',\n 'xmlns:mc': 'http://schemas.openxmlformats.org/markup-compatibility/2006',\n 'mc:Ignorable': 'x14ac',\n 'xmlns:x14ac': 'http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac',\n};\n\nmodule.exports = WorkSheetXform;\n","const BaseXform = require('../base-xform');\n\nclass BooleanXform extends BaseXform {\n constructor(options) {\n super();\n\n this.tag = options.tag;\n this.attr = options.attr;\n }\n\n render(xmlStream, model) {\n if (model) {\n xmlStream.openNode(this.tag);\n xmlStream.closeNode();\n }\n }\n\n parseOpen(node) {\n if (node.name === this.tag) {\n this.model = true;\n }\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = BooleanXform;\n","const BaseXform = require('../base-xform');\n\nclass DateXform extends BaseXform {\n constructor(options) {\n super();\n\n this.tag = options.tag;\n this.attr = options.attr;\n this.attrs = options.attrs;\n this._format =\n options.format ||\n function(dt) {\n try {\n if (Number.isNaN(dt.getTime())) return '';\n return dt.toISOString();\n } catch (e) {\n return '';\n }\n };\n this._parse =\n options.parse ||\n function(str) {\n return new Date(str);\n };\n }\n\n render(xmlStream, model) {\n if (model) {\n xmlStream.openNode(this.tag);\n if (this.attrs) {\n xmlStream.addAttributes(this.attrs);\n }\n if (this.attr) {\n xmlStream.addAttribute(this.attr, this._format(model));\n } else {\n xmlStream.writeText(this._format(model));\n }\n xmlStream.closeNode();\n }\n }\n\n parseOpen(node) {\n if (node.name === this.tag) {\n if (this.attr) {\n this.model = this._parse(node.attributes[this.attr]);\n } else {\n this.text = [];\n }\n }\n }\n\n parseText(text) {\n if (!this.attr) {\n this.text.push(text);\n }\n }\n\n parseClose() {\n if (!this.attr) {\n this.model = this._parse(this.text.join(''));\n }\n return false;\n }\n}\n\nmodule.exports = DateXform;\n","const BaseXform = require('../base-xform');\n\nclass IntegerXform extends BaseXform {\n constructor(options) {\n super();\n\n this.tag = options.tag;\n this.attr = options.attr;\n this.attrs = options.attrs;\n\n // option to render zero\n this.zero = options.zero;\n }\n\n render(xmlStream, model) {\n // int is different to float in that zero is not rendered\n if (model || this.zero) {\n xmlStream.openNode(this.tag);\n if (this.attrs) {\n xmlStream.addAttributes(this.attrs);\n }\n if (this.attr) {\n xmlStream.addAttribute(this.attr, model);\n } else {\n xmlStream.writeText(model);\n }\n xmlStream.closeNode();\n }\n }\n\n parseOpen(node) {\n if (node.name === this.tag) {\n if (this.attr) {\n this.model = parseInt(node.attributes[this.attr], 10);\n } else {\n this.text = [];\n }\n return true;\n }\n return false;\n }\n\n parseText(text) {\n if (!this.attr) {\n this.text.push(text);\n }\n }\n\n parseClose() {\n if (!this.attr) {\n this.model = parseInt(this.text.join('') || 0, 10);\n }\n return false;\n }\n}\n\nmodule.exports = IntegerXform;\n","const BaseXform = require('../base-xform');\n\nclass StringXform extends BaseXform {\n constructor(options) {\n super();\n\n this.tag = options.tag;\n this.attr = options.attr;\n this.attrs = options.attrs;\n }\n\n render(xmlStream, model) {\n if (model !== undefined) {\n xmlStream.openNode(this.tag);\n if (this.attrs) {\n xmlStream.addAttributes(this.attrs);\n }\n if (this.attr) {\n xmlStream.addAttribute(this.attr, model);\n } else {\n xmlStream.writeText(model);\n }\n xmlStream.closeNode();\n }\n }\n\n parseOpen(node) {\n if (node.name === this.tag) {\n if (this.attr) {\n this.model = node.attributes[this.attr];\n } else {\n this.text = [];\n }\n }\n }\n\n parseText(text) {\n if (!this.attr) {\n this.text.push(text);\n }\n }\n\n parseClose() {\n if (!this.attr) {\n this.model = this.text.join('');\n }\n return false;\n }\n}\n\nmodule.exports = StringXform;\n","const BaseXform = require('./base-xform');\nconst XmlStream = require('../../utils/xml-stream');\n\n// const model = {\n// tag: 'name',\n// $: {attr: 'value'},\n// c: [\n// { tag: 'child' }\n// ],\n// t: 'some text'\n// };\n\nfunction build(xmlStream, model) {\n xmlStream.openNode(model.tag, model.$);\n if (model.c) {\n model.c.forEach(child => {\n build(xmlStream, child);\n });\n }\n if (model.t) {\n xmlStream.writeText(model.t);\n }\n xmlStream.closeNode();\n}\n\nclass StaticXform extends BaseXform {\n constructor(model) {\n super();\n\n // This class is an optimisation for static (unimportant and unchanging) xml\n // It is stateless - apart from its static model and so can be used as a singleton\n // Being stateless - it will only track entry to and exit from it's root xml tag during parsing and nothing else\n // Known issues:\n // since stateless - parseOpen always returns true. Parent xform must know when to start using this xform\n // if the root tag is recursive, the parsing will behave unpredictably\n this._model = model;\n }\n\n render(xmlStream) {\n if (!this._xml) {\n const stream = new XmlStream();\n build(stream, this._model);\n this._xml = stream.xml;\n }\n xmlStream.writeXml(this._xml);\n }\n\n parseOpen() {\n return true;\n }\n\n parseText() {}\n\n parseClose(name) {\n switch (name) {\n case this._model.tag:\n return false;\n default:\n return true;\n }\n }\n}\n\nmodule.exports = StaticXform;\n","const TextXform = require('./text-xform');\nconst RichTextXform = require('./rich-text-xform');\n\nconst BaseXform = require('../base-xform');\n\n// <rPh sb=\"0\" eb=\"1\">\n// <t>(its pronounciation in KATAKANA)</t>\n// </rPh>\n\nclass PhoneticTextXform extends BaseXform {\n constructor() {\n super();\n\n this.map = {\n r: new RichTextXform(),\n t: new TextXform(),\n };\n }\n\n get tag() {\n return 'rPh';\n }\n\n render(xmlStream, model) {\n xmlStream.openNode(this.tag, {\n sb: model.sb || 0,\n eb: model.eb || 0,\n });\n if (model && model.hasOwnProperty('richText') && model.richText) {\n const {r} = this.map;\n model.richText.forEach(text => {\n r.render(xmlStream, text);\n });\n } else if (model) {\n this.map.t.render(xmlStream, model.text);\n }\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n const {name} = node;\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n if (name === this.tag) {\n this.model = {\n sb: parseInt(node.attributes.sb, 10),\n eb: parseInt(node.attributes.eb, 10),\n };\n return true;\n }\n this.parser = this.map[name];\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n return false;\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n switch (name) {\n case 'r': {\n let rt = this.model.richText;\n if (!rt) {\n rt = this.model.richText = [];\n }\n rt.push(this.parser.model);\n break;\n }\n case 't':\n this.model.text = this.parser.model;\n break;\n default:\n break;\n }\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case this.tag:\n return false;\n default:\n return true;\n }\n }\n}\n\nmodule.exports = PhoneticTextXform;\n","const TextXform = require('./text-xform');\nconst FontXform = require('../style/font-xform');\n\nconst BaseXform = require('../base-xform');\n\n// <r>\n// <rPr>\n// <sz val=\"11\"/>\n// <color theme=\"1\" tint=\"5\"/>\n// <rFont val=\"Calibri\"/>\n// <family val=\"2\"/>\n// <scheme val=\"minor\"/>\n// </rPr>\n// <t xml:space=\"preserve\"> is </t>\n// </r>\n\nclass RichTextXform extends BaseXform {\n constructor(model) {\n super();\n\n this.model = model;\n }\n\n get tag() {\n return 'r';\n }\n\n get textXform() {\n return this._textXform || (this._textXform = new TextXform());\n }\n\n get fontXform() {\n return this._fontXform || (this._fontXform = new FontXform(RichTextXform.FONT_OPTIONS));\n }\n\n render(xmlStream, model) {\n model = model || this.model;\n\n xmlStream.openNode('r');\n if (model.font) {\n this.fontXform.render(xmlStream, model.font);\n }\n this.textXform.render(xmlStream, model.text);\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case 'r':\n this.model = {};\n return true;\n case 't':\n this.parser = this.textXform;\n this.parser.parseOpen(node);\n return true;\n case 'rPr':\n this.parser = this.fontXform;\n this.parser.parseOpen(node);\n return true;\n default:\n return false;\n }\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n switch (name) {\n case 'r':\n return false;\n case 't':\n this.model.text = this.parser.model;\n this.parser = undefined;\n return true;\n case 'rPr':\n this.model.font = this.parser.model;\n this.parser = undefined;\n return true;\n default:\n if (this.parser) {\n this.parser.parseClose(name);\n }\n return true;\n }\n }\n}\n\nRichTextXform.FONT_OPTIONS = {\n tagName: 'rPr',\n fontNameTag: 'rFont',\n};\n\nmodule.exports = RichTextXform;\n","const TextXform = require('./text-xform');\nconst RichTextXform = require('./rich-text-xform');\nconst PhoneticTextXform = require('./phonetic-text-xform');\n\nconst BaseXform = require('../base-xform');\n\n// <si>\n// <r></r><r></r>...\n// </si>\n// <si>\n// <t></t>\n// </si>\n\nclass SharedStringXform extends BaseXform {\n constructor(model) {\n super();\n\n this.model = model;\n\n this.map = {\n r: new RichTextXform(),\n t: new TextXform(),\n rPh: new PhoneticTextXform(),\n };\n }\n\n get tag() {\n return 'si';\n }\n\n render(xmlStream, model) {\n xmlStream.openNode(this.tag);\n if (model && model.hasOwnProperty('richText') && model.richText) {\n if (model.richText.length) {\n model.richText.forEach(text => {\n this.map.r.render(xmlStream, text);\n });\n } else {\n this.map.t.render(xmlStream, '');\n }\n } else if (model !== undefined && model !== null) {\n this.map.t.render(xmlStream, model);\n }\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n const {name} = node;\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n if (name === this.tag) {\n this.model = {};\n return true;\n }\n this.parser = this.map[name];\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n return false;\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n switch (name) {\n case 'r': {\n let rt = this.model.richText;\n if (!rt) {\n rt = this.model.richText = [];\n }\n rt.push(this.parser.model);\n break;\n }\n case 't':\n this.model = this.parser.model;\n break;\n default:\n break;\n }\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case this.tag:\n return false;\n default:\n return true;\n }\n }\n}\n\nmodule.exports = SharedStringXform;\n","const XmlStream = require('../../../utils/xml-stream');\nconst BaseXform = require('../base-xform');\nconst SharedStringXform = require('./shared-string-xform');\n\nclass SharedStringsXform extends BaseXform {\n constructor(model) {\n super();\n\n this.model = model || {\n values: [],\n count: 0,\n };\n this.hash = Object.create(null);\n this.rich = Object.create(null);\n }\n\n get sharedStringXform() {\n return this._sharedStringXform || (this._sharedStringXform = new SharedStringXform());\n }\n\n get values() {\n return this.model.values;\n }\n\n get uniqueCount() {\n return this.model.values.length;\n }\n\n get count() {\n return this.model.count;\n }\n\n getString(index) {\n return this.model.values[index];\n }\n\n add(value) {\n return value.richText ? this.addRichText(value) : this.addText(value);\n }\n\n addText(value) {\n let index = this.hash[value];\n if (index === undefined) {\n index = this.hash[value] = this.model.values.length;\n this.model.values.push(value);\n }\n this.model.count++;\n return index;\n }\n\n addRichText(value) {\n // TODO: add WeakMap here\n const xml = this.sharedStringXform.toXml(value);\n let index = this.rich[xml];\n if (index === undefined) {\n index = this.rich[xml] = this.model.values.length;\n this.model.values.push(value);\n }\n this.model.count++;\n return index;\n }\n\n // <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n // <sst xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\" count=\"<%=totalRefs%>\" uniqueCount=\"<%=count%>\">\n // <si><t><%=text%></t></si>\n // <si><r><rPr></rPr><t></t></r></si>\n // </sst>\n\n render(xmlStream, model) {\n model = model || this._values;\n xmlStream.openXml(XmlStream.StdDocAttributes);\n\n xmlStream.openNode('sst', {\n xmlns: 'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\n count: model.count,\n uniqueCount: model.values.length,\n });\n\n const sx = this.sharedStringXform;\n model.values.forEach(sharedString => {\n sx.render(xmlStream, sharedString);\n });\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case 'sst':\n return true;\n case 'si':\n this.parser = this.sharedStringXform;\n this.parser.parseOpen(node);\n return true;\n default:\n throw new Error(`Unexpected xml node in parseOpen: ${JSON.stringify(node)}`);\n }\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.model.values.push(this.parser.model);\n this.model.count++;\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case 'sst':\n return false;\n default:\n throw new Error(`Unexpected xml node in parseClose: ${name}`);\n }\n }\n}\n\nmodule.exports = SharedStringsXform;\n","const BaseXform = require('../base-xform');\n\n// <t xml:space=\"preserve\"> is </t>\n\nclass TextXform extends BaseXform {\n get tag() {\n return 't';\n }\n\n render(xmlStream, model) {\n xmlStream.openNode('t');\n if (/^\\s|\\n|\\s$/.test(model)) {\n xmlStream.addAttribute('xml:space', 'preserve');\n }\n xmlStream.writeText(model);\n xmlStream.closeNode();\n }\n\n get model() {\n return this._text\n .join('')\n .replace(/_x([0-9A-F]{4})_/g, ($0, $1) => String.fromCharCode(parseInt($1, 16)));\n }\n\n parseOpen(node) {\n switch (node.name) {\n case 't':\n this._text = [];\n return true;\n default:\n return false;\n }\n }\n\n parseText(text) {\n this._text.push(text);\n }\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = TextXform;\n","const Enums = require('../../../doc/enums');\n\nconst utils = require('../../../utils/utils');\nconst BaseXform = require('../base-xform');\n\nconst validation = {\n horizontalValues: [\n 'left',\n 'center',\n 'right',\n 'fill',\n 'centerContinuous',\n 'distributed',\n 'justify',\n ].reduce((p, v) => {\n p[v] = true;\n return p;\n }, {}),\n horizontal(value) {\n return this.horizontalValues[value] ? value : undefined;\n },\n\n verticalValues: ['top', 'middle', 'bottom', 'distributed', 'justify'].reduce((p, v) => {\n p[v] = true;\n return p;\n }, {}),\n vertical(value) {\n if (value === 'middle') return 'center';\n return this.verticalValues[value] ? value : undefined;\n },\n wrapText(value) {\n return value ? true : undefined;\n },\n shrinkToFit(value) {\n return value ? true : undefined;\n },\n textRotation(value) {\n switch (value) {\n case 'vertical':\n return value;\n default:\n value = utils.validInt(value);\n return value >= -90 && value <= 90 ? value : undefined;\n }\n },\n indent(value) {\n value = utils.validInt(value);\n return Math.max(0, value);\n },\n readingOrder(value) {\n switch (value) {\n case 'ltr':\n return Enums.ReadingOrder.LeftToRight;\n case 'rtl':\n return Enums.ReadingOrder.RightToLeft;\n default:\n return undefined;\n }\n },\n};\n\nconst textRotationXform = {\n toXml(textRotation) {\n textRotation = validation.textRotation(textRotation);\n if (textRotation) {\n if (textRotation === 'vertical') {\n return 255;\n }\n\n const tr = Math.round(textRotation);\n if (tr >= 0 && tr <= 90) {\n return tr;\n }\n\n if (tr < 0 && tr >= -90) {\n return 90 - tr;\n }\n }\n return undefined;\n },\n toModel(textRotation) {\n const tr = utils.validInt(textRotation);\n if (tr !== undefined) {\n if (tr === 255) {\n return 'vertical';\n }\n if (tr >= 0 && tr <= 90) {\n return tr;\n }\n if (tr > 90 && tr <= 180) {\n return 90 - tr;\n }\n }\n return undefined;\n },\n};\n\n// Alignment encapsulates translation from style.alignment model to/from xlsx\nclass AlignmentXform extends BaseXform {\n get tag() {\n return 'alignment';\n }\n\n render(xmlStream, model) {\n xmlStream.addRollback();\n xmlStream.openNode('alignment');\n\n let isValid = false;\n function add(name, value) {\n if (value) {\n xmlStream.addAttribute(name, value);\n isValid = true;\n }\n }\n add('horizontal', validation.horizontal(model.horizontal));\n add('vertical', validation.vertical(model.vertical));\n add('wrapText', validation.wrapText(model.wrapText) ? '1' : false);\n add('shrinkToFit', validation.shrinkToFit(model.shrinkToFit) ? '1' : false);\n add('indent', validation.indent(model.indent));\n add('textRotation', textRotationXform.toXml(model.textRotation));\n add('readingOrder', validation.readingOrder(model.readingOrder));\n\n xmlStream.closeNode();\n\n if (isValid) {\n xmlStream.commit();\n } else {\n xmlStream.rollback();\n }\n }\n\n parseOpen(node) {\n const model = {};\n\n let valid = false;\n function add(truthy, name, value) {\n if (truthy) {\n model[name] = value;\n valid = true;\n }\n }\n add(node.attributes.horizontal, 'horizontal', node.attributes.horizontal);\n add(\n node.attributes.vertical,\n 'vertical',\n node.attributes.vertical === 'center' ? 'middle' : node.attributes.vertical\n );\n add(node.attributes.wrapText, 'wrapText', utils.parseBoolean(node.attributes.wrapText));\n add(node.attributes.shrinkToFit, 'shrinkToFit', utils.parseBoolean(node.attributes.shrinkToFit));\n add(node.attributes.indent, 'indent', parseInt(node.attributes.indent, 10));\n add(\n node.attributes.textRotation,\n 'textRotation',\n textRotationXform.toModel(node.attributes.textRotation)\n );\n add(\n node.attributes.readingOrder,\n 'readingOrder',\n node.attributes.readingOrder === '2' ? 'rtl' : 'ltr'\n );\n\n this.model = valid ? model : null;\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = AlignmentXform;\n","/* eslint-disable max-classes-per-file */\nconst BaseXform = require('../base-xform');\nconst utils = require('../../../utils/utils');\n\nconst ColorXform = require('./color-xform');\n\nclass EdgeXform extends BaseXform {\n constructor(name) {\n super();\n\n this.name = name;\n this.map = {\n color: new ColorXform(),\n };\n }\n\n get tag() {\n return this.name;\n }\n\n render(xmlStream, model, defaultColor) {\n const color = (model && model.color) || defaultColor || this.defaultColor;\n xmlStream.openNode(this.name);\n if (model && model.style) {\n xmlStream.addAttribute('style', model.style);\n if (color) {\n this.map.color.render(xmlStream, color);\n }\n }\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case this.name: {\n const {style} = node.attributes;\n if (style) {\n this.model = {\n style,\n };\n } else {\n this.model = undefined;\n }\n return true;\n }\n case 'color':\n this.parser = this.map.color;\n this.parser.parseOpen(node);\n return true;\n default:\n return false;\n }\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n\n if (name === this.name) {\n if (this.map.color.model) {\n if (!this.model) {\n this.model = {};\n }\n this.model.color = this.map.color.model;\n }\n }\n\n return false;\n }\n\n validStyle(value) {\n return EdgeXform.validStyleValues[value];\n }\n}\n\nEdgeXform.validStyleValues = [\n 'thin',\n 'dashed',\n 'dotted',\n 'dashDot',\n 'hair',\n 'dashDotDot',\n 'slantDashDot',\n 'mediumDashed',\n 'mediumDashDotDot',\n 'mediumDashDot',\n 'medium',\n 'double',\n 'thick',\n].reduce((p, v) => {\n p[v] = true;\n return p;\n}, {});\n\n// Border encapsulates translation from border model to/from xlsx\nclass BorderXform extends BaseXform {\n constructor() {\n super();\n\n this.map = {\n top: new EdgeXform('top'),\n left: new EdgeXform('left'),\n bottom: new EdgeXform('bottom'),\n right: new EdgeXform('right'),\n diagonal: new EdgeXform('diagonal'),\n };\n }\n\n render(xmlStream, model) {\n const {color} = model;\n xmlStream.openNode('border');\n if (model.diagonal && model.diagonal.style) {\n if (model.diagonal.up) {\n xmlStream.addAttribute('diagonalUp', '1');\n }\n if (model.diagonal.down) {\n xmlStream.addAttribute('diagonalDown', '1');\n }\n }\n function add(edgeModel, edgeXform) {\n if (edgeModel && !edgeModel.color && model.color) {\n // don't mess with incoming models\n edgeModel = {\n ...edgeModel,\n color: model.color,\n };\n }\n edgeXform.render(xmlStream, edgeModel, color);\n }\n add(model.left, this.map.left);\n add(model.right, this.map.right);\n add(model.top, this.map.top);\n add(model.bottom, this.map.bottom);\n add(model.diagonal, this.map.diagonal);\n\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case 'border':\n this.reset();\n this.diagonalUp = utils.parseBoolean(node.attributes.diagonalUp);\n this.diagonalDown = utils.parseBoolean(node.attributes.diagonalDown);\n return true;\n default:\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n return false;\n }\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n if (name === 'border') {\n const model = (this.model = {});\n const add = function(key, edgeModel, extensions) {\n if (edgeModel) {\n if (extensions) {\n Object.assign(edgeModel, extensions);\n }\n model[key] = edgeModel;\n }\n };\n add('left', this.map.left.model);\n add('right', this.map.right.model);\n add('top', this.map.top.model);\n add('bottom', this.map.bottom.model);\n add('diagonal', this.map.diagonal.model, {up: this.diagonalUp, down: this.diagonalDown});\n }\n return false;\n }\n}\n\nmodule.exports = BorderXform;\n","const BaseXform = require('../base-xform');\n\n// Color encapsulates translation from color model to/from xlsx\nclass ColorXform extends BaseXform {\n constructor(name) {\n super();\n\n // this.name controls the xm node name\n this.name = name || 'color';\n }\n\n get tag() {\n return this.name;\n }\n\n render(xmlStream, model) {\n if (model) {\n xmlStream.openNode(this.name);\n if (model.argb) {\n xmlStream.addAttribute('rgb', model.argb);\n } else if (model.theme !== undefined) {\n xmlStream.addAttribute('theme', model.theme);\n if (model.tint !== undefined) {\n xmlStream.addAttribute('tint', model.tint);\n }\n } else if (model.indexed !== undefined) {\n xmlStream.addAttribute('indexed', model.indexed);\n } else {\n xmlStream.addAttribute('auto', '1');\n }\n xmlStream.closeNode();\n return true;\n }\n return false;\n }\n\n parseOpen(node) {\n if (node.name === this.name) {\n if (node.attributes.rgb) {\n this.model = {argb: node.attributes.rgb};\n } else if (node.attributes.theme) {\n this.model = {theme: parseInt(node.attributes.theme, 10)};\n if (node.attributes.tint) {\n this.model.tint = parseFloat(node.attributes.tint);\n }\n } else if (node.attributes.indexed) {\n this.model = {indexed: parseInt(node.attributes.indexed, 10)};\n } else {\n this.model = undefined;\n }\n return true;\n }\n return false;\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = ColorXform;\n","const BaseXform = require('../base-xform');\n\nconst AlignmentXform = require('./alignment-xform');\nconst BorderXform = require('./border-xform');\nconst FillXform = require('./fill-xform');\nconst FontXform = require('./font-xform');\nconst NumFmtXform = require('./numfmt-xform');\nconst ProtectionXform = require('./protection-xform');\n\n// <xf numFmtId=\"[numFmtId]\" fontId=\"[fontId]\" fillId=\"[fillId]\" borderId=\"[xf.borderId]\" xfId=\"[xfId]\">\n// Optional <alignment>\n// Optional <protection>\n// </xf>\n\n// Style assists translation from style model to/from xlsx\nclass DxfXform extends BaseXform {\n constructor() {\n super();\n\n this.map = {\n alignment: new AlignmentXform(),\n border: new BorderXform(),\n fill: new FillXform(),\n font: new FontXform(),\n numFmt: new NumFmtXform(),\n protection: new ProtectionXform(),\n };\n }\n\n get tag() {\n return 'dxf';\n }\n\n // how do we generate dxfid?\n\n render(xmlStream, model) {\n xmlStream.openNode(this.tag);\n\n if (model.font) {\n this.map.font.render(xmlStream, model.font);\n }\n if (model.numFmt && model.numFmtId) {\n const numFmtModel = {id: model.numFmtId, formatCode: model.numFmt};\n this.map.numFmt.render(xmlStream, numFmtModel);\n }\n if (model.fill) {\n this.map.fill.render(xmlStream, model.fill);\n }\n if (model.alignment) {\n this.map.alignment.render(xmlStream, model.alignment);\n }\n if (model.border) {\n this.map.border.render(xmlStream, model.border);\n }\n if (model.protection) {\n this.map.protection.render(xmlStream, model.protection);\n }\n\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n\n switch (node.name) {\n case this.tag:\n // this node is often repeated. Need to reset children\n this.reset();\n return true;\n default:\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parser.parseOpen(node);\n }\n return true;\n }\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n if (name === this.tag) {\n this.model = {\n alignment: this.map.alignment.model,\n border: this.map.border.model,\n fill: this.map.fill.model,\n font: this.map.font.model,\n numFmt: this.map.numFmt.model,\n protection: this.map.protection.model,\n };\n return false;\n }\n\n return true;\n }\n}\n\nmodule.exports = DxfXform;\n","/* eslint-disable max-classes-per-file */\nconst BaseXform = require('../base-xform');\n\nconst ColorXform = require('./color-xform');\n\nclass StopXform extends BaseXform {\n constructor() {\n super();\n\n this.map = {\n color: new ColorXform(),\n };\n }\n\n get tag() {\n return 'stop';\n }\n\n render(xmlStream, model) {\n xmlStream.openNode('stop');\n xmlStream.addAttribute('position', model.position);\n this.map.color.render(xmlStream, model.color);\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case 'stop':\n this.model = {\n position: parseFloat(node.attributes.position),\n };\n return true;\n case 'color':\n this.parser = this.map.color;\n this.parser.parseOpen(node);\n return true;\n default:\n return false;\n }\n }\n\n parseText() {}\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.model.color = this.parser.model;\n this.parser = undefined;\n }\n return true;\n }\n return false;\n }\n}\n\nclass PatternFillXform extends BaseXform {\n constructor() {\n super();\n\n this.map = {\n fgColor: new ColorXform('fgColor'),\n bgColor: new ColorXform('bgColor'),\n };\n }\n\n get name() {\n return 'pattern';\n }\n\n get tag() {\n return 'patternFill';\n }\n\n render(xmlStream, model) {\n xmlStream.openNode('patternFill');\n xmlStream.addAttribute('patternType', model.pattern);\n if (model.fgColor) {\n this.map.fgColor.render(xmlStream, model.fgColor);\n }\n if (model.bgColor) {\n this.map.bgColor.render(xmlStream, model.bgColor);\n }\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case 'patternFill':\n this.model = {\n type: 'pattern',\n pattern: node.attributes.patternType,\n };\n return true;\n default:\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n return false;\n }\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n if (this.parser.model) {\n this.model[name] = this.parser.model;\n }\n this.parser = undefined;\n }\n return true;\n }\n return false;\n }\n}\n\nclass GradientFillXform extends BaseXform {\n constructor() {\n super();\n\n this.map = {\n stop: new StopXform(),\n };\n // if (model) {\n // this.gradient = model.gradient;\n // if (model.center) {\n // this.center = model.center;\n // }\n // if (model.degree !== undefined) {\n // this.degree = model.degree;\n // }\n // this.stops = model.stops.map(function(stop) { return new StopXform(stop); });\n // } else {\n // this.stops = [];\n // }\n }\n\n get name() {\n return 'gradient';\n }\n\n get tag() {\n return 'gradientFill';\n }\n\n render(xmlStream, model) {\n xmlStream.openNode('gradientFill');\n switch (model.gradient) {\n case 'angle':\n xmlStream.addAttribute('degree', model.degree);\n break;\n case 'path':\n xmlStream.addAttribute('type', 'path');\n if (model.center.left) {\n xmlStream.addAttribute('left', model.center.left);\n if (model.center.right === undefined) {\n xmlStream.addAttribute('right', model.center.left);\n }\n }\n if (model.center.right) {\n xmlStream.addAttribute('right', model.center.right);\n }\n if (model.center.top) {\n xmlStream.addAttribute('top', model.center.top);\n if (model.center.bottom === undefined) {\n xmlStream.addAttribute('bottom', model.center.top);\n }\n }\n if (model.center.bottom) {\n xmlStream.addAttribute('bottom', model.center.bottom);\n }\n break;\n\n default:\n break;\n }\n\n const stopXform = this.map.stop;\n model.stops.forEach(stopModel => {\n stopXform.render(xmlStream, stopModel);\n });\n\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case 'gradientFill': {\n const model = (this.model = {\n stops: [],\n });\n if (node.attributes.degree) {\n model.gradient = 'angle';\n model.degree = parseInt(node.attributes.degree, 10);\n } else if (node.attributes.type === 'path') {\n model.gradient = 'path';\n model.center = {\n left: node.attributes.left ? parseFloat(node.attributes.left) : 0,\n top: node.attributes.top ? parseFloat(node.attributes.top) : 0,\n };\n if (node.attributes.right !== node.attributes.left) {\n model.center.right = node.attributes.right ? parseFloat(node.attributes.right) : 0;\n }\n if (node.attributes.bottom !== node.attributes.top) {\n model.center.bottom = node.attributes.bottom ? parseFloat(node.attributes.bottom) : 0;\n }\n }\n return true;\n }\n\n case 'stop':\n this.parser = this.map.stop;\n this.parser.parseOpen(node);\n return true;\n\n default:\n return false;\n }\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.model.stops.push(this.parser.model);\n this.parser = undefined;\n }\n return true;\n }\n return false;\n }\n}\n\n// Fill encapsulates translation from fill model to/from xlsx\nclass FillXform extends BaseXform {\n constructor() {\n super();\n\n this.map = {\n patternFill: new PatternFillXform(),\n gradientFill: new GradientFillXform(),\n };\n }\n\n get tag() {\n return 'fill';\n }\n\n render(xmlStream, model) {\n xmlStream.addRollback();\n xmlStream.openNode('fill');\n switch (model.type) {\n case 'pattern':\n this.map.patternFill.render(xmlStream, model);\n break;\n case 'gradient':\n this.map.gradientFill.render(xmlStream, model);\n break;\n default:\n xmlStream.rollback();\n return;\n }\n xmlStream.closeNode();\n xmlStream.commit();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case 'fill':\n this.model = {};\n return true;\n default:\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n return false;\n }\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.model = this.parser.model;\n this.model.type = this.parser.name;\n this.parser = undefined;\n }\n return true;\n }\n return false;\n }\n\n validStyle(value) {\n return FillXform.validPatternValues[value];\n }\n}\n\nFillXform.validPatternValues = [\n 'none',\n 'solid',\n 'darkVertical',\n 'darkGray',\n 'mediumGray',\n 'lightGray',\n 'gray125',\n 'gray0625',\n 'darkHorizontal',\n 'darkVertical',\n 'darkDown',\n 'darkUp',\n 'darkGrid',\n 'darkTrellis',\n 'lightHorizontal',\n 'lightVertical',\n 'lightDown',\n 'lightUp',\n 'lightGrid',\n 'lightTrellis',\n 'lightGrid',\n].reduce((p, v) => {\n p[v] = true;\n return p;\n}, {});\n\nFillXform.StopXform = StopXform;\nFillXform.PatternFillXform = PatternFillXform;\nFillXform.GradientFillXform = GradientFillXform;\n\nmodule.exports = FillXform;\n","'use strict';\n\nconst ColorXform = require('./color-xform');\nconst BooleanXform = require('../simple/boolean-xform');\nconst IntegerXform = require('../simple/integer-xform');\nconst StringXform = require('../simple/string-xform');\nconst UnderlineXform = require('./underline-xform');\n\nconst _ = require('../../../utils/under-dash');\nconst BaseXform = require('../base-xform');\n\n// Font encapsulates translation from font model to xlsx\nclass FontXform extends BaseXform {\n constructor(options) {\n super();\n\n this.options = options || FontXform.OPTIONS;\n\n this.map = {\n b: {prop: 'bold', xform: new BooleanXform({tag: 'b', attr: 'val'})},\n i: {prop: 'italic', xform: new BooleanXform({tag: 'i', attr: 'val'})},\n u: {prop: 'underline', xform: new UnderlineXform()},\n charset: {prop: 'charset', xform: new IntegerXform({tag: 'charset', attr: 'val'})},\n color: {prop: 'color', xform: new ColorXform()},\n condense: {prop: 'condense', xform: new BooleanXform({tag: 'condense', attr: 'val'})},\n extend: {prop: 'extend', xform: new BooleanXform({tag: 'extend', attr: 'val'})},\n family: {prop: 'family', xform: new IntegerXform({tag: 'family', attr: 'val'})},\n outline: {prop: 'outline', xform: new BooleanXform({tag: 'outline', attr: 'val'})},\n vertAlign: {prop: 'vertAlign', xform: new StringXform({tag: 'vertAlign', attr: 'val'})},\n scheme: {prop: 'scheme', xform: new StringXform({tag: 'scheme', attr: 'val'})},\n shadow: {prop: 'shadow', xform: new BooleanXform({tag: 'shadow', attr: 'val'})},\n strike: {prop: 'strike', xform: new BooleanXform({tag: 'strike', attr: 'val'})},\n sz: {prop: 'size', xform: new IntegerXform({tag: 'sz', attr: 'val'})},\n };\n this.map[this.options.fontNameTag] = {\n prop: 'name',\n xform: new StringXform({tag: this.options.fontNameTag, attr: 'val'}),\n };\n }\n\n get tag() {\n return this.options.tagName;\n }\n\n render(xmlStream, model) {\n const {map} = this;\n\n xmlStream.openNode(this.options.tagName);\n _.each(this.map, (defn, tag) => {\n map[tag].xform.render(xmlStream, model[defn.prop]);\n });\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n if (this.map[node.name]) {\n this.parser = this.map[node.name].xform;\n return this.parser.parseOpen(node);\n }\n switch (node.name) {\n case this.options.tagName:\n this.model = {};\n return true;\n default:\n return false;\n }\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser && !this.parser.parseClose(name)) {\n const item = this.map[name];\n if (this.parser.model) {\n this.model[item.prop] = this.parser.model;\n }\n this.parser = undefined;\n return true;\n }\n switch (name) {\n case this.options.tagName:\n return false;\n default:\n return true;\n }\n }\n}\n\nFontXform.OPTIONS = {\n tagName: 'font',\n fontNameTag: 'name',\n};\n\nmodule.exports = FontXform;\n","const _ = require('../../../utils/under-dash');\nconst defaultNumFormats = require('../../defaultnumformats');\n\nconst BaseXform = require('../base-xform');\n\nfunction hashDefaultFormats() {\n const hash = {};\n _.each(defaultNumFormats, (dnf, id) => {\n if (dnf.f) {\n hash[dnf.f] = parseInt(id, 10);\n }\n // at some point, add the other cultures here...\n });\n return hash;\n}\nconst defaultFmtHash = hashDefaultFormats();\n\n// NumFmt encapsulates translation between number format and xlsx\nclass NumFmtXform extends BaseXform {\n constructor(id, formatCode) {\n super();\n\n this.id = id;\n this.formatCode = formatCode;\n }\n\n get tag() {\n return 'numFmt';\n }\n\n render(xmlStream, model) {\n xmlStream.leafNode('numFmt', {numFmtId: model.id, formatCode: model.formatCode});\n }\n\n parseOpen(node) {\n switch (node.name) {\n case 'numFmt':\n this.model = {\n id: parseInt(node.attributes.numFmtId, 10),\n formatCode: node.attributes.formatCode.replace(/[\\\\](.)/g, '$1'),\n };\n return true;\n default:\n return false;\n }\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nNumFmtXform.getDefaultFmtId = function getDefaultFmtId(formatCode) {\n return defaultFmtHash[formatCode];\n};\n\nNumFmtXform.getDefaultFmtCode = function getDefaultFmtCode(numFmtId) {\n return defaultNumFormats[numFmtId] && defaultNumFormats[numFmtId].f;\n};\n\nmodule.exports = NumFmtXform;\n","const BaseXform = require('../base-xform');\n\nconst validation = {\n boolean(value, dflt) {\n if (value === undefined) {\n return dflt;\n }\n return value;\n },\n};\n\n// Protection encapsulates translation from style.protection model to/from xlsx\nclass ProtectionXform extends BaseXform {\n get tag() {\n return 'protection';\n }\n\n render(xmlStream, model) {\n xmlStream.addRollback();\n xmlStream.openNode('protection');\n\n let isValid = false;\n function add(name, value) {\n if (value !== undefined) {\n xmlStream.addAttribute(name, value);\n isValid = true;\n }\n }\n add('locked', validation.boolean(model.locked, true) ? undefined : '0');\n add('hidden', validation.boolean(model.hidden, false) ? '1' : undefined);\n\n xmlStream.closeNode();\n\n if (isValid) {\n xmlStream.commit();\n } else {\n xmlStream.rollback();\n }\n }\n\n parseOpen(node) {\n const model = {\n locked: !(node.attributes.locked === '0'),\n hidden: node.attributes.hidden === '1',\n };\n\n // only want to record models that differ from defaults\n const isSignificant = !model.locked || model.hidden;\n\n this.model = isSignificant ? model : null;\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = ProtectionXform;\n","const BaseXform = require('../base-xform');\n\nconst AlignmentXform = require('./alignment-xform');\nconst ProtectionXform = require('./protection-xform');\n\n// <xf numFmtId=\"[numFmtId]\" fontId=\"[fontId]\" fillId=\"[fillId]\" borderId=\"[xf.borderId]\" xfId=\"[xfId]\">\n// Optional <alignment>\n// Optional <protection>\n// </xf>\n\n// Style assists translation from style model to/from xlsx\nclass StyleXform extends BaseXform {\n constructor(options) {\n super();\n\n this.xfId = !!(options && options.xfId);\n this.map = {\n alignment: new AlignmentXform(),\n protection: new ProtectionXform(),\n };\n }\n\n get tag() {\n return 'xf';\n }\n\n render(xmlStream, model) {\n xmlStream.openNode('xf', {\n numFmtId: model.numFmtId || 0,\n fontId: model.fontId || 0,\n fillId: model.fillId || 0,\n borderId: model.borderId || 0,\n });\n if (this.xfId) {\n xmlStream.addAttribute('xfId', model.xfId || 0);\n }\n\n if (model.numFmtId) {\n xmlStream.addAttribute('applyNumberFormat', '1');\n }\n if (model.fontId) {\n xmlStream.addAttribute('applyFont', '1');\n }\n if (model.fillId) {\n xmlStream.addAttribute('applyFill', '1');\n }\n if (model.borderId) {\n xmlStream.addAttribute('applyBorder', '1');\n }\n if (model.alignment) {\n xmlStream.addAttribute('applyAlignment', '1');\n }\n if (model.protection) {\n xmlStream.addAttribute('applyProtection', '1');\n }\n\n /**\n * Rendering tags causes close of XML stream.\n * Therefore adding attributes must be done before rendering tags.\n */\n\n if (model.alignment) {\n this.map.alignment.render(xmlStream, model.alignment);\n }\n if (model.protection) {\n this.map.protection.render(xmlStream, model.protection);\n }\n\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n // used during sax parsing of xml to build font object\n switch (node.name) {\n case 'xf':\n this.model = {\n numFmtId: parseInt(node.attributes.numFmtId, 10),\n fontId: parseInt(node.attributes.fontId, 10),\n fillId: parseInt(node.attributes.fillId, 10),\n borderId: parseInt(node.attributes.borderId, 10),\n };\n if (this.xfId) {\n this.model.xfId = parseInt(node.attributes.xfId, 10);\n }\n return true;\n case 'alignment':\n this.parser = this.map.alignment;\n this.parser.parseOpen(node);\n return true;\n case 'protection':\n this.parser = this.map.protection;\n this.parser.parseOpen(node);\n return true;\n default:\n return false;\n }\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n if (this.map.protection === this.parser) {\n this.model.protection = this.parser.model;\n } else {\n this.model.alignment = this.parser.model;\n }\n this.parser = undefined;\n }\n return true;\n }\n return name !== 'xf';\n }\n}\n\nmodule.exports = StyleXform;\n","/* eslint-disable max-classes-per-file */\nconst Enums = require('../../../doc/enums');\nconst XmlStream = require('../../../utils/xml-stream');\n\nconst BaseXform = require('../base-xform');\nconst StaticXform = require('../static-xform');\nconst ListXform = require('../list-xform');\nconst FontXform = require('./font-xform');\nconst FillXform = require('./fill-xform');\nconst BorderXform = require('./border-xform');\nconst NumFmtXform = require('./numfmt-xform');\nconst StyleXform = require('./style-xform');\nconst DxfXform = require('./dxf-xform');\n\n// custom numfmt ids start here\nconst NUMFMT_BASE = 164;\n\n// =============================================================================\n// StylesXform is used to generate and parse the styles.xml file\n// it manages the collections of fonts, number formats, alignments, etc\nclass StylesXform extends BaseXform {\n constructor(initialise) {\n super();\n\n this.map = {\n numFmts: new ListXform({tag: 'numFmts', count: true, childXform: new NumFmtXform()}),\n fonts: new ListXform({\n tag: 'fonts',\n count: true,\n childXform: new FontXform(),\n $: {'x14ac:knownFonts': 1},\n }),\n fills: new ListXform({tag: 'fills', count: true, childXform: new FillXform()}),\n borders: new ListXform({tag: 'borders', count: true, childXform: new BorderXform()}),\n cellStyleXfs: new ListXform({tag: 'cellStyleXfs', count: true, childXform: new StyleXform()}),\n cellXfs: new ListXform({\n tag: 'cellXfs',\n count: true,\n childXform: new StyleXform({xfId: true}),\n }),\n dxfs: new ListXform({tag: 'dxfs', always: true, count: true, childXform: new DxfXform()}),\n\n // for style manager\n numFmt: new NumFmtXform(),\n font: new FontXform(),\n fill: new FillXform(),\n border: new BorderXform(),\n style: new StyleXform({xfId: true}),\n\n cellStyles: StylesXform.STATIC_XFORMS.cellStyles,\n tableStyles: StylesXform.STATIC_XFORMS.tableStyles,\n extLst: StylesXform.STATIC_XFORMS.extLst,\n };\n\n if (initialise) {\n // StylesXform also acts as style manager and is used to build up styles-model during worksheet processing\n this.init();\n }\n }\n\n initIndex() {\n this.index = {\n style: {},\n numFmt: {},\n numFmtNextId: 164, // start custom format ids here\n font: {},\n border: {},\n fill: {},\n };\n }\n\n init() {\n // Prepare for Style Manager role\n this.model = {\n styles: [],\n numFmts: [],\n fonts: [],\n borders: [],\n fills: [],\n dxfs: [],\n };\n\n this.initIndex();\n\n // default (zero) border\n this._addBorder({});\n\n // add default (all zero) style\n this._addStyle({numFmtId: 0, fontId: 0, fillId: 0, borderId: 0, xfId: 0});\n\n // add default fills\n this._addFill({type: 'pattern', pattern: 'none'});\n this._addFill({type: 'pattern', pattern: 'gray125'});\n\n this.weakMap = new WeakMap();\n }\n\n render(xmlStream, model) {\n model = model || this.model;\n //\n // <fonts count=\"2\" x14ac:knownFonts=\"1\">\n xmlStream.openXml(XmlStream.StdDocAttributes);\n\n xmlStream.openNode('styleSheet', StylesXform.STYLESHEET_ATTRIBUTES);\n\n if (this.index) {\n // model has been built by style manager role (contains xml)\n if (model.numFmts && model.numFmts.length) {\n xmlStream.openNode('numFmts', {count: model.numFmts.length});\n model.numFmts.forEach(numFmtXml => {\n xmlStream.writeXml(numFmtXml);\n });\n xmlStream.closeNode();\n }\n\n if (!model.fonts.length) {\n // default (zero) font\n this._addFont({size: 11, color: {theme: 1}, name: 'Calibri', family: 2, scheme: 'minor'});\n }\n xmlStream.openNode('fonts', {count: model.fonts.length, 'x14ac:knownFonts': 1});\n model.fonts.forEach(fontXml => {\n xmlStream.writeXml(fontXml);\n });\n xmlStream.closeNode();\n\n xmlStream.openNode('fills', {count: model.fills.length});\n model.fills.forEach(fillXml => {\n xmlStream.writeXml(fillXml);\n });\n xmlStream.closeNode();\n\n xmlStream.openNode('borders', {count: model.borders.length});\n model.borders.forEach(borderXml => {\n xmlStream.writeXml(borderXml);\n });\n xmlStream.closeNode();\n\n this.map.cellStyleXfs.render(xmlStream, [{numFmtId: 0, fontId: 0, fillId: 0, borderId: 0, xfId: 0}]);\n\n xmlStream.openNode('cellXfs', {count: model.styles.length});\n model.styles.forEach(styleXml => {\n xmlStream.writeXml(styleXml);\n });\n xmlStream.closeNode();\n } else {\n // model is plain JSON and needs to be xformed\n this.map.numFmts.render(xmlStream, model.numFmts);\n this.map.fonts.render(xmlStream, model.fonts);\n this.map.fills.render(xmlStream, model.fills);\n this.map.borders.render(xmlStream, model.borders);\n this.map.cellStyleXfs.render(xmlStream, [{numFmtId: 0, fontId: 0, fillId: 0, borderId: 0, xfId: 0}]);\n this.map.cellXfs.render(xmlStream, model.styles);\n }\n\n StylesXform.STATIC_XFORMS.cellStyles.render(xmlStream);\n\n this.map.dxfs.render(xmlStream, model.dxfs);\n\n StylesXform.STATIC_XFORMS.tableStyles.render(xmlStream);\n StylesXform.STATIC_XFORMS.extLst.render(xmlStream);\n\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case 'styleSheet':\n this.initIndex();\n return true;\n default:\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parser.parseOpen(node);\n }\n return true;\n }\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case 'styleSheet': {\n this.model = {};\n const add = (propName, xform) => {\n if (xform.model && xform.model.length) {\n this.model[propName] = xform.model;\n }\n };\n add('numFmts', this.map.numFmts);\n add('fonts', this.map.fonts);\n add('fills', this.map.fills);\n add('borders', this.map.borders);\n add('styles', this.map.cellXfs);\n add('dxfs', this.map.dxfs);\n\n // index numFmts\n this.index = {\n model: [],\n numFmt: [],\n };\n if (this.model.numFmts) {\n const numFmtIndex = this.index.numFmt;\n this.model.numFmts.forEach(numFmt => {\n numFmtIndex[numFmt.id] = numFmt.formatCode;\n });\n }\n\n return false;\n }\n default:\n // not quite sure how we get here!\n return true;\n }\n }\n\n // add a cell's style model to the collection\n // each style property is processed and cross-referenced, etc.\n // the styleId is returned. Note: cellType is used when numFmt not defined\n addStyleModel(model, cellType) {\n if (!model) {\n return 0;\n }\n\n // if we have no default font, add it here now\n if (!this.model.fonts.length) {\n // default (zero) font\n this._addFont({size: 11, color: {theme: 1}, name: 'Calibri', family: 2, scheme: 'minor'});\n }\n\n // if we have seen this style object before, assume it has the same styleId\n if (this.weakMap && this.weakMap.has(model)) {\n return this.weakMap.get(model);\n }\n\n const style = {};\n cellType = cellType || Enums.ValueType.Number;\n\n if (model.numFmt) {\n style.numFmtId = this._addNumFmtStr(model.numFmt);\n } else {\n switch (cellType) {\n case Enums.ValueType.Number:\n style.numFmtId = this._addNumFmtStr('General');\n break;\n case Enums.ValueType.Date:\n style.numFmtId = this._addNumFmtStr('mm-dd-yy');\n break;\n default:\n break;\n }\n }\n\n if (model.font) {\n style.fontId = this._addFont(model.font);\n }\n\n if (model.border) {\n style.borderId = this._addBorder(model.border);\n }\n\n if (model.fill) {\n style.fillId = this._addFill(model.fill);\n }\n\n if (model.alignment) {\n style.alignment = model.alignment;\n }\n\n if (model.protection) {\n style.protection = model.protection;\n }\n\n const styleId = this._addStyle(style);\n if (this.weakMap) {\n this.weakMap.set(model, styleId);\n }\n return styleId;\n }\n\n // given a styleId (i.e. s=\"n\"), get the cell's style model\n // objects are shared where possible.\n getStyleModel(id) {\n // if the style doesn't exist return null\n const style = this.model.styles[id];\n if (!style) return null;\n\n // have we built this model before?\n let model = this.index.model[id];\n if (model) return model;\n\n // build a new model\n model = this.index.model[id] = {};\n\n // -------------------------------------------------------\n // number format\n if (style.numFmtId) {\n const numFmt = this.index.numFmt[style.numFmtId] || NumFmtXform.getDefaultFmtCode(style.numFmtId);\n if (numFmt) {\n model.numFmt = numFmt;\n }\n }\n\n function addStyle(name, group, styleId) {\n if (styleId || styleId === 0) {\n const part = group[styleId];\n if (part) {\n model[name] = part;\n }\n }\n }\n\n addStyle('font', this.model.fonts, style.fontId);\n addStyle('border', this.model.borders, style.borderId);\n addStyle('fill', this.model.fills, style.fillId);\n\n // -------------------------------------------------------\n // alignment\n if (style.alignment) {\n model.alignment = style.alignment;\n }\n\n // -------------------------------------------------------\n // protection\n if (style.protection) {\n model.protection = style.protection;\n }\n\n return model;\n }\n\n addDxfStyle(style) {\n if (style.numFmt) {\n // register numFmtId to use it during dxf-xform rendering\n style.numFmtId = this._addNumFmtStr(style.numFmt);\n }\n\n this.model.dxfs.push(style);\n return this.model.dxfs.length - 1;\n }\n\n getDxfStyle(id) {\n return this.model.dxfs[id];\n }\n\n // =========================================================================\n // Private Interface\n _addStyle(style) {\n const xml = this.map.style.toXml(style);\n let index = this.index.style[xml];\n if (index === undefined) {\n index = this.index.style[xml] = this.model.styles.length;\n this.model.styles.push(xml);\n }\n return index;\n }\n\n // =========================================================================\n // Number Formats\n _addNumFmtStr(formatCode) {\n // check if default format\n let index = NumFmtXform.getDefaultFmtId(formatCode);\n if (index !== undefined) return index;\n\n // check if already in\n index = this.index.numFmt[formatCode];\n if (index !== undefined) return index;\n\n index = this.index.numFmt[formatCode] = NUMFMT_BASE + this.model.numFmts.length;\n const xml = this.map.numFmt.toXml({id: index, formatCode});\n this.model.numFmts.push(xml);\n return index;\n }\n\n // =========================================================================\n // Fonts\n _addFont(font) {\n const xml = this.map.font.toXml(font);\n let index = this.index.font[xml];\n if (index === undefined) {\n index = this.index.font[xml] = this.model.fonts.length;\n this.model.fonts.push(xml);\n }\n return index;\n }\n\n // =========================================================================\n // Borders\n _addBorder(border) {\n const xml = this.map.border.toXml(border);\n let index = this.index.border[xml];\n if (index === undefined) {\n index = this.index.border[xml] = this.model.borders.length;\n this.model.borders.push(xml);\n }\n return index;\n }\n\n // =========================================================================\n // Fills\n _addFill(fill) {\n const xml = this.map.fill.toXml(fill);\n let index = this.index.fill[xml];\n if (index === undefined) {\n index = this.index.fill[xml] = this.model.fills.length;\n this.model.fills.push(xml);\n }\n return index;\n }\n\n // =========================================================================\n}\n\nStylesXform.STYLESHEET_ATTRIBUTES = {\n xmlns: 'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\n 'xmlns:mc': 'http://schemas.openxmlformats.org/markup-compatibility/2006',\n 'mc:Ignorable': 'x14ac x16r2',\n 'xmlns:x14ac': 'http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac',\n 'xmlns:x16r2': 'http://schemas.microsoft.com/office/spreadsheetml/2015/02/main',\n};\nStylesXform.STATIC_XFORMS = {\n cellStyles: new StaticXform({\n tag: 'cellStyles',\n $: {count: 1},\n c: [{tag: 'cellStyle', $: {name: 'Normal', xfId: 0, builtinId: 0}}],\n }),\n dxfs: new StaticXform({tag: 'dxfs', $: {count: 0}}),\n tableStyles: new StaticXform({\n tag: 'tableStyles',\n $: {count: 0, defaultTableStyle: 'TableStyleMedium2', defaultPivotStyle: 'PivotStyleLight16'},\n }),\n extLst: new StaticXform({\n tag: 'extLst',\n c: [\n {\n tag: 'ext',\n $: {\n uri: '{EB79DEF2-80B8-43e5-95BD-54CBDDF9020C}',\n 'xmlns:x14': 'http://schemas.microsoft.com/office/spreadsheetml/2009/9/main',\n },\n c: [{tag: 'x14:slicerStyles', $: {defaultSlicerStyle: 'SlicerStyleLight1'}}],\n },\n {\n tag: 'ext',\n $: {\n uri: '{9260A510-F301-46a8-8635-F512D64BE5F5}',\n 'xmlns:x15': 'http://schemas.microsoft.com/office/spreadsheetml/2010/11/main',\n },\n c: [{tag: 'x15:timelineStyles', $: {defaultTimelineStyle: 'TimeSlicerStyleLight1'}}],\n },\n ],\n }),\n};\n\n// the stylemanager mock acts like StyleManager except that it always returns 0 or {}\nclass StylesXformMock extends StylesXform {\n constructor() {\n super();\n\n this.model = {\n styles: [{numFmtId: 0, fontId: 0, fillId: 0, borderId: 0, xfId: 0}],\n numFmts: [],\n fonts: [{size: 11, color: {theme: 1}, name: 'Calibri', family: 2, scheme: 'minor'}],\n borders: [{}],\n fills: [\n {type: 'pattern', pattern: 'none'},\n {type: 'pattern', pattern: 'gray125'},\n ],\n };\n }\n\n // =========================================================================\n // Style Manager Interface\n\n // override normal behaviour - consume and dispose\n parseStream(stream) {\n stream.autodrain();\n return Promise.resolve();\n }\n\n // add a cell's style model to the collection\n // each style property is processed and cross-referenced, etc.\n // the styleId is returned. Note: cellType is used when numFmt not defined\n addStyleModel(model, cellType) {\n switch (cellType) {\n case Enums.ValueType.Date:\n return this.dateStyleId;\n default:\n return 0;\n }\n }\n\n get dateStyleId() {\n if (!this._dateStyleId) {\n const dateStyle = {\n numFmtId: NumFmtXform.getDefaultFmtId('mm-dd-yy'),\n };\n this._dateStyleId = this.model.styles.length;\n this.model.styles.push(dateStyle);\n }\n return this._dateStyleId;\n }\n\n // given a styleId (i.e. s=\"n\"), get the cell's style model\n // objects are shared where possible.\n getStyleModel(/* id */) {\n return {};\n }\n}\n\nStylesXform.Mock = StylesXformMock;\n\nmodule.exports = StylesXform;\n","const BaseXform = require('../base-xform');\n\nclass UnderlineXform extends BaseXform {\n constructor(model) {\n super();\n\n this.model = model;\n }\n\n get tag() {\n return 'u';\n }\n\n render(xmlStream, model) {\n model = model || this.model;\n\n if (model === true) {\n xmlStream.leafNode('u');\n } else {\n const attr = UnderlineXform.Attributes[model];\n if (attr) {\n xmlStream.leafNode('u', attr);\n }\n }\n }\n\n parseOpen(node) {\n if (node.name === 'u') {\n this.model = node.attributes.val || true;\n }\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nUnderlineXform.Attributes = {\n single: {},\n double: {val: 'double'},\n singleAccounting: {val: 'singleAccounting'},\n doubleAccounting: {val: 'doubleAccounting'},\n};\n\nmodule.exports = UnderlineXform;\n","const BaseXform = require('../base-xform');\n\nconst FilterColumnXform = require('./filter-column-xform');\n\nclass AutoFilterXform extends BaseXform {\n constructor() {\n super();\n\n this.map = {\n filterColumn: new FilterColumnXform(),\n };\n }\n\n get tag() {\n return 'autoFilter';\n }\n\n prepare(model) {\n model.columns.forEach((column, index) => {\n this.map.filterColumn.prepare(column, {index});\n });\n }\n\n render(xmlStream, model) {\n xmlStream.openNode(this.tag, {ref: model.autoFilterRef});\n\n model.columns.forEach(column => {\n this.map.filterColumn.render(xmlStream, column);\n });\n\n xmlStream.closeNode();\n return true;\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case this.tag:\n this.model = {\n autoFilterRef: node.attributes.ref,\n columns: [],\n };\n return true;\n\n default:\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parseOpen(node);\n return true;\n }\n throw new Error(`Unexpected xml node in parseOpen: ${JSON.stringify(node)}`);\n }\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.model.columns.push(this.parser.model);\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case this.tag:\n return false;\n default:\n throw new Error(`Unexpected xml node in parseClose: ${name}`);\n }\n }\n}\n\nmodule.exports = AutoFilterXform;\n","const BaseXform = require('../base-xform');\n\nclass CustomFilterXform extends BaseXform {\n get tag() {\n return 'customFilter';\n }\n\n render(xmlStream, model) {\n xmlStream.leafNode(this.tag, {\n val: model.val,\n operator: model.operator,\n });\n }\n\n parseOpen(node) {\n if (node.name === this.tag) {\n this.model = {\n val: node.attributes.val,\n operator: node.attributes.operator,\n };\n return true;\n }\n return false;\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = CustomFilterXform;\n","const BaseXform = require('../base-xform');\nconst ListXform = require('../list-xform');\n\nconst CustomFilterXform = require('./custom-filter-xform');\nconst FilterXform = require('./filter-xform');\n\nclass FilterColumnXform extends BaseXform {\n constructor() {\n super();\n\n this.map = {\n customFilters: new ListXform({\n tag: 'customFilters',\n count: false,\n empty: true,\n childXform: new CustomFilterXform(),\n }),\n filters: new ListXform({\n tag: 'filters',\n count: false,\n empty: true,\n childXform: new FilterXform(),\n }),\n };\n }\n\n get tag() {\n return 'filterColumn';\n }\n\n prepare(model, options) {\n model.colId = options.index.toString();\n }\n\n render(xmlStream, model) {\n if (model.customFilters) {\n xmlStream.openNode(this.tag, {\n colId: model.colId,\n hiddenButton: model.filterButton ? '0' : '1',\n });\n\n this.map.customFilters.render(xmlStream, model.customFilters);\n\n xmlStream.closeNode();\n return true;\n }\n xmlStream.leafNode(this.tag, {\n colId: model.colId,\n hiddenButton: model.filterButton ? '0' : '1',\n });\n return true;\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n const {attributes} = node;\n switch (node.name) {\n case this.tag:\n this.model = {\n filterButton: attributes.hiddenButton === '0',\n };\n return true;\n default:\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parseOpen(node);\n return true;\n }\n throw new Error(`Unexpected xml node in parseOpen: ${JSON.stringify(node)}`);\n }\n }\n\n parseText() {}\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case this.tag:\n this.model.customFilters = this.map.customFilters.model;\n return false;\n default:\n // could be some unrecognised tags\n return true;\n }\n }\n}\n\nmodule.exports = FilterColumnXform;\n","const BaseXform = require('../base-xform');\n\nclass FilterXform extends BaseXform {\n get tag() {\n return 'filter';\n }\n\n render(xmlStream, model) {\n xmlStream.leafNode(this.tag, {\n val: model.val,\n });\n }\n\n parseOpen(node) {\n if (node.name === this.tag) {\n this.model = {\n val: node.attributes.val,\n };\n return true;\n }\n return false;\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = FilterXform;\n","const BaseXform = require('../base-xform');\n\nclass TableColumnXform extends BaseXform {\n get tag() {\n return 'tableColumn';\n }\n\n prepare(model, options) {\n model.id = options.index + 1;\n }\n\n render(xmlStream, model) {\n xmlStream.leafNode(this.tag, {\n id: model.id.toString(),\n name: model.name,\n totalsRowLabel: model.totalsRowLabel,\n totalsRowFunction: model.totalsRowFunction,\n dxfId: model.dxfId,\n });\n return true;\n }\n\n parseOpen(node) {\n if (node.name === this.tag) {\n const {attributes} = node;\n this.model = {\n name: attributes.name,\n totalsRowLabel: attributes.totalsRowLabel,\n totalsRowFunction: attributes.totalsRowFunction,\n dxfId: attributes.dxfId,\n };\n return true;\n }\n return false;\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = TableColumnXform;\n","const BaseXform = require('../base-xform');\n\nclass TableStyleInfoXform extends BaseXform {\n get tag() {\n return 'tableStyleInfo';\n }\n\n render(xmlStream, model) {\n xmlStream.leafNode(this.tag, {\n name: model.theme ? model.theme : undefined,\n showFirstColumn: model.showFirstColumn ? '1' : '0',\n showLastColumn: model.showLastColumn ? '1' : '0',\n showRowStripes: model.showRowStripes ? '1' : '0',\n showColumnStripes: model.showColumnStripes ? '1' : '0',\n });\n return true;\n }\n\n parseOpen(node) {\n if (node.name === this.tag) {\n const {attributes} = node;\n this.model = {\n theme: attributes.name ? attributes.name : null,\n showFirstColumn: attributes.showFirstColumn === '1',\n showLastColumn: attributes.showLastColumn === '1',\n showRowStripes: attributes.showRowStripes === '1',\n showColumnStripes: attributes.showColumnStripes === '1',\n };\n return true;\n }\n return false;\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = TableStyleInfoXform;\n","const XmlStream = require('../../../utils/xml-stream');\n\nconst BaseXform = require('../base-xform');\nconst ListXform = require('../list-xform');\n\nconst AutoFilterXform = require('./auto-filter-xform');\nconst TableColumnXform = require('./table-column-xform');\nconst TableStyleInfoXform = require('./table-style-info-xform');\n\nclass TableXform extends BaseXform {\n constructor() {\n super();\n\n this.map = {\n autoFilter: new AutoFilterXform(),\n tableColumns: new ListXform({\n tag: 'tableColumns',\n count: true,\n empty: true,\n childXform: new TableColumnXform(),\n }),\n tableStyleInfo: new TableStyleInfoXform(),\n };\n }\n\n prepare(model, options) {\n this.map.autoFilter.prepare(model);\n this.map.tableColumns.prepare(model.columns, options);\n }\n\n get tag() {\n return 'table';\n }\n\n render(xmlStream, model) {\n xmlStream.openXml(XmlStream.StdDocAttributes);\n xmlStream.openNode(this.tag, {\n ...TableXform.TABLE_ATTRIBUTES,\n id: model.id,\n name: model.name,\n displayName: model.displayName || model.name,\n ref: model.tableRef,\n totalsRowCount: model.totalsRow ? '1' : undefined,\n totalsRowShown: model.totalsRow ? undefined : '1',\n headerRowCount: model.headerRow ? '1' : '0',\n });\n\n this.map.autoFilter.render(xmlStream, model);\n this.map.tableColumns.render(xmlStream, model.columns);\n this.map.tableStyleInfo.render(xmlStream, model.style);\n\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n const {name, attributes} = node;\n switch (name) {\n case this.tag:\n this.reset();\n this.model = {\n name: attributes.name,\n displayName: attributes.displayName || attributes.name,\n tableRef: attributes.ref,\n totalsRow: attributes.totalsRowCount === '1',\n headerRow: attributes.headerRowCount === '1',\n };\n break;\n default:\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parser.parseOpen(node);\n }\n break;\n }\n return true;\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case this.tag:\n this.model.columns = this.map.tableColumns.model;\n if (this.map.autoFilter.model) {\n this.model.autoFilterRef = this.map.autoFilter.model.autoFilterRef;\n this.map.autoFilter.model.columns.forEach((column, index) => {\n this.model.columns[index].filterButton = column.filterButton;\n });\n }\n this.model.style = this.map.tableStyleInfo.model;\n return false;\n default:\n // could be some unrecognised tags\n return true;\n }\n }\n\n reconcile(model, options) {\n // fetch the dfxs from styles\n model.columns.forEach(column => {\n if (column.dxfId !== undefined) {\n column.style = options.styles.getDxfStyle(column.dxfId);\n }\n });\n }\n}\n\nTableXform.TABLE_ATTRIBUTES = {\n xmlns: 'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\n 'xmlns:mc': 'http://schemas.openxmlformats.org/markup-compatibility/2006',\n 'mc:Ignorable': 'xr xr3',\n 'xmlns:xr': 'http://schemas.microsoft.com/office/spreadsheetml/2014/revision',\n 'xmlns:xr3': 'http://schemas.microsoft.com/office/spreadsheetml/2016/revision3',\n // 'xr:uid': '{00000000-000C-0000-FFFF-FFFF00000000}',\n};\n\nmodule.exports = TableXform;\n","const fs = require('fs');\nconst JSZip = require('jszip');\nconst {PassThrough} = require('readable-stream');\nconst ZipStream = require('../utils/zip-stream');\nconst StreamBuf = require('../utils/stream-buf');\n\nconst utils = require('../utils/utils');\nconst XmlStream = require('../utils/xml-stream');\nconst {bufferToString} = require('../utils/browser-buffer-decode');\n\nconst StylesXform = require('./xform/style/styles-xform');\n\nconst CoreXform = require('./xform/core/core-xform');\nconst SharedStringsXform = require('./xform/strings/shared-strings-xform');\nconst RelationshipsXform = require('./xform/core/relationships-xform');\nconst ContentTypesXform = require('./xform/core/content-types-xform');\nconst AppXform = require('./xform/core/app-xform');\nconst WorkbookXform = require('./xform/book/workbook-xform');\nconst WorksheetXform = require('./xform/sheet/worksheet-xform');\nconst DrawingXform = require('./xform/drawing/drawing-xform');\nconst TableXform = require('./xform/table/table-xform');\nconst CommentsXform = require('./xform/comment/comments-xform');\nconst VmlNotesXform = require('./xform/comment/vml-notes-xform');\n\nconst theme1Xml = require('./xml/theme1');\n\nfunction fsReadFileAsync(filename, options) {\n return new Promise((resolve, reject) => {\n fs.readFile(filename, options, (error, data) => {\n if (error) {\n reject(error);\n } else {\n resolve(data);\n }\n });\n });\n}\n\nclass XLSX {\n constructor(workbook) {\n this.workbook = workbook;\n }\n\n // ===============================================================================\n // Workbook\n // =========================================================================\n // Read\n\n async readFile(filename, options) {\n if (!(await utils.fs.exists(filename))) {\n throw new Error(`File not found: ${filename}`);\n }\n const stream = fs.createReadStream(filename);\n try {\n const workbook = await this.read(stream, options);\n stream.close();\n return workbook;\n } catch (error) {\n stream.close();\n throw error;\n }\n }\n\n parseRels(stream) {\n const xform = new RelationshipsXform();\n return xform.parseStream(stream);\n }\n\n parseWorkbook(stream) {\n const xform = new WorkbookXform();\n return xform.parseStream(stream);\n }\n\n parseSharedStrings(stream) {\n const xform = new SharedStringsXform();\n return xform.parseStream(stream);\n }\n\n reconcile(model, options) {\n const workbookXform = new WorkbookXform();\n const worksheetXform = new WorksheetXform(options);\n const drawingXform = new DrawingXform();\n const tableXform = new TableXform();\n\n workbookXform.reconcile(model);\n\n // reconcile drawings with their rels\n const drawingOptions = {\n media: model.media,\n mediaIndex: model.mediaIndex,\n };\n Object.keys(model.drawings).forEach(name => {\n const drawing = model.drawings[name];\n const drawingRel = model.drawingRels[name];\n if (drawingRel) {\n drawingOptions.rels = drawingRel.reduce((o, rel) => {\n o[rel.Id] = rel;\n return o;\n }, {});\n (drawing.anchors || []).forEach(anchor => {\n const hyperlinks = anchor.picture && anchor.picture.hyperlinks;\n if (hyperlinks && drawingOptions.rels[hyperlinks.rId]) {\n hyperlinks.hyperlink = drawingOptions.rels[hyperlinks.rId].Target;\n delete hyperlinks.rId;\n }\n });\n drawingXform.reconcile(drawing, drawingOptions);\n }\n });\n\n // reconcile tables with the default styles\n const tableOptions = {\n styles: model.styles,\n };\n Object.values(model.tables).forEach(table => {\n tableXform.reconcile(table, tableOptions);\n });\n\n const sheetOptions = {\n styles: model.styles,\n sharedStrings: model.sharedStrings,\n media: model.media,\n mediaIndex: model.mediaIndex,\n date1904: model.properties && model.properties.date1904,\n drawings: model.drawings,\n comments: model.comments,\n tables: model.tables,\n vmlDrawings: model.vmlDrawings,\n };\n model.worksheets.forEach(worksheet => {\n worksheet.relationships = model.worksheetRels[worksheet.sheetNo];\n worksheetXform.reconcile(worksheet, sheetOptions);\n });\n\n // delete unnecessary parts\n delete model.worksheetHash;\n delete model.worksheetRels;\n delete model.globalRels;\n delete model.sharedStrings;\n delete model.workbookRels;\n delete model.sheetDefs;\n delete model.styles;\n delete model.mediaIndex;\n delete model.drawings;\n delete model.drawingRels;\n delete model.vmlDrawings;\n }\n\n async _processWorksheetEntry(stream, model, sheetNo, options, path) {\n const xform = new WorksheetXform(options);\n const worksheet = await xform.parseStream(stream);\n worksheet.sheetNo = sheetNo;\n model.worksheetHash[path] = worksheet;\n model.worksheets.push(worksheet);\n }\n\n async _processCommentEntry(stream, model, name) {\n const xform = new CommentsXform();\n const comments = await xform.parseStream(stream);\n model.comments[`../${name}.xml`] = comments;\n }\n\n async _processTableEntry(stream, model, name) {\n const xform = new TableXform();\n const table = await xform.parseStream(stream);\n model.tables[`../tables/${name}.xml`] = table;\n }\n\n async _processWorksheetRelsEntry(stream, model, sheetNo) {\n const xform = new RelationshipsXform();\n const relationships = await xform.parseStream(stream);\n model.worksheetRels[sheetNo] = relationships;\n }\n\n async _processMediaEntry(entry, model, filename) {\n const lastDot = filename.lastIndexOf('.');\n // if we can't determine extension, ignore it\n if (lastDot >= 1) {\n const extension = filename.substr(lastDot + 1);\n const name = filename.substr(0, lastDot);\n await new Promise((resolve, reject) => {\n const streamBuf = new StreamBuf();\n streamBuf.on('finish', () => {\n model.mediaIndex[filename] = model.media.length;\n model.mediaIndex[name] = model.media.length;\n const medium = {\n type: 'image',\n name,\n extension,\n buffer: streamBuf.toBuffer(),\n };\n model.media.push(medium);\n resolve();\n });\n entry.on('error', error => {\n reject(error);\n });\n entry.pipe(streamBuf);\n });\n }\n }\n\n async _processDrawingEntry(entry, model, name) {\n const xform = new DrawingXform();\n const drawing = await xform.parseStream(entry);\n model.drawings[name] = drawing;\n }\n\n async _processDrawingRelsEntry(entry, model, name) {\n const xform = new RelationshipsXform();\n const relationships = await xform.parseStream(entry);\n model.drawingRels[name] = relationships;\n }\n\n async _processVmlDrawingEntry(entry, model, name) {\n const xform = new VmlNotesXform();\n const vmlDrawing = await xform.parseStream(entry);\n model.vmlDrawings[`../drawings/${name}.vml`] = vmlDrawing;\n }\n\n async _processThemeEntry(entry, model, name) {\n await new Promise((resolve, reject) => {\n // TODO: stream entry into buffer and store the xml in the model.themes[]\n const stream = new StreamBuf();\n entry.on('error', reject);\n stream.on('error', reject);\n stream.on('finish', () => {\n model.themes[name] = stream.read().toString();\n resolve();\n });\n entry.pipe(stream);\n });\n }\n\n /**\n * @deprecated since version 4.0. You should use `#read` instead. Please follow upgrade instruction: https://github.com/exceljs/exceljs/blob/master/UPGRADE-4.0.md\n */\n createInputStream() {\n throw new Error(\n '`XLSX#createInputStream` is deprecated. You should use `XLSX#read` instead. This method will be removed in version 5.0. Please follow upgrade instruction: https://github.com/exceljs/exceljs/blob/master/UPGRADE-4.0.md'\n );\n }\n\n async read(stream, options) {\n // TODO: Remove once node v8 is deprecated\n // Detect and upgrade old streams\n if (!stream[Symbol.asyncIterator] && stream.pipe) {\n stream = stream.pipe(new PassThrough());\n }\n const chunks = [];\n for await (const chunk of stream) {\n chunks.push(chunk);\n }\n return this.load(Buffer.concat(chunks), options);\n }\n\n async load(data, options) {\n let buffer;\n if (options && options.base64) {\n buffer = Buffer.from(data.toString(), 'base64');\n } else {\n buffer = data;\n }\n\n const model = {\n worksheets: [],\n worksheetHash: {},\n worksheetRels: [],\n themes: {},\n media: [],\n mediaIndex: {},\n drawings: {},\n drawingRels: {},\n comments: {},\n tables: {},\n vmlDrawings: {},\n };\n\n const zip = await JSZip.loadAsync(buffer);\n for (const entry of Object.values(zip.files)) {\n /* eslint-disable no-await-in-loop */\n if (!entry.dir) {\n let entryName = entry.name;\n if (entryName[0] === '/') {\n entryName = entryName.substr(1);\n }\n let stream;\n if (\n entryName.match(/xl\\/media\\//) ||\n // themes are not parsed as stream\n entryName.match(/xl\\/theme\\/([a-zA-Z0-9]+)[.]xml/)\n ) {\n stream = new PassThrough();\n stream.write(await entry.async('nodebuffer'));\n } else {\n // use object mode to avoid buffer-string convention\n stream = new PassThrough({\n writableObjectMode: true,\n readableObjectMode: true,\n });\n let content;\n // https://www.npmjs.com/package/process\n if (process.browser) {\n // running in browser, use TextDecoder if possible\n content = bufferToString(await entry.async('nodebuffer'));\n } else {\n // running in node.js\n content = await entry.async('string');\n }\n const chunkSize = 16 * 1024;\n for (let i = 0; i < content.length; i += chunkSize) {\n stream.write(content.substring(i, i + chunkSize));\n }\n }\n stream.end();\n switch (entryName) {\n case '_rels/.rels':\n model.globalRels = await this.parseRels(stream);\n break;\n\n case 'xl/workbook.xml': {\n const workbook = await this.parseWorkbook(stream);\n model.sheets = workbook.sheets;\n model.definedNames = workbook.definedNames;\n model.views = workbook.views;\n model.properties = workbook.properties;\n model.calcProperties = workbook.calcProperties;\n break;\n }\n\n case 'xl/_rels/workbook.xml.rels':\n model.workbookRels = await this.parseRels(stream);\n break;\n\n case 'xl/sharedStrings.xml':\n model.sharedStrings = new SharedStringsXform();\n await model.sharedStrings.parseStream(stream);\n break;\n\n case 'xl/styles.xml':\n model.styles = new StylesXform();\n await model.styles.parseStream(stream);\n break;\n\n case 'docProps/app.xml': {\n const appXform = new AppXform();\n const appProperties = await appXform.parseStream(stream);\n model.company = appProperties.company;\n model.manager = appProperties.manager;\n break;\n }\n\n case 'docProps/core.xml': {\n const coreXform = new CoreXform();\n const coreProperties = await coreXform.parseStream(stream);\n Object.assign(model, coreProperties);\n break;\n }\n\n default: {\n let match = entryName.match(/xl\\/worksheets\\/sheet(\\d+)[.]xml/);\n if (match) {\n await this._processWorksheetEntry(stream, model, match[1], options, entryName);\n break;\n }\n match = entryName.match(/xl\\/worksheets\\/_rels\\/sheet(\\d+)[.]xml.rels/);\n if (match) {\n await this._processWorksheetRelsEntry(stream, model, match[1]);\n break;\n }\n match = entryName.match(/xl\\/theme\\/([a-zA-Z0-9]+)[.]xml/);\n if (match) {\n await this._processThemeEntry(stream, model, match[1]);\n break;\n }\n match = entryName.match(/xl\\/media\\/([a-zA-Z0-9]+[.][a-zA-Z0-9]{3,4})$/);\n if (match) {\n await this._processMediaEntry(stream, model, match[1]);\n break;\n }\n match = entryName.match(/xl\\/drawings\\/([a-zA-Z0-9]+)[.]xml/);\n if (match) {\n await this._processDrawingEntry(stream, model, match[1]);\n break;\n }\n match = entryName.match(/xl\\/(comments\\d+)[.]xml/);\n if (match) {\n await this._processCommentEntry(stream, model, match[1]);\n break;\n }\n match = entryName.match(/xl\\/tables\\/(table\\d+)[.]xml/);\n if (match) {\n await this._processTableEntry(stream, model, match[1]);\n break;\n }\n match = entryName.match(/xl\\/drawings\\/_rels\\/([a-zA-Z0-9]+)[.]xml[.]rels/);\n if (match) {\n await this._processDrawingRelsEntry(stream, model, match[1]);\n break;\n }\n match = entryName.match(/xl\\/drawings\\/(vmlDrawing\\d+)[.]vml/);\n if (match) {\n await this._processVmlDrawingEntry(stream, model, match[1]);\n break;\n }\n }\n }\n }\n }\n\n this.reconcile(model, options);\n\n // apply model\n this.workbook.model = model;\n return this.workbook;\n }\n\n // =========================================================================\n // Write\n\n async addMedia(zip, model) {\n await Promise.all(\n model.media.map(async medium => {\n if (medium.type === 'image') {\n const filename = `xl/media/${medium.name}.${medium.extension}`;\n if (medium.filename) {\n const data = await fsReadFileAsync(medium.filename);\n return zip.append(data, {name: filename});\n }\n if (medium.buffer) {\n return zip.append(medium.buffer, {name: filename});\n }\n if (medium.base64) {\n const dataimg64 = medium.base64;\n const content = dataimg64.substring(dataimg64.indexOf(',') + 1);\n return zip.append(content, {name: filename, base64: true});\n }\n }\n throw new Error('Unsupported media');\n })\n );\n }\n\n addDrawings(zip, model) {\n const drawingXform = new DrawingXform();\n const relsXform = new RelationshipsXform();\n\n model.worksheets.forEach(worksheet => {\n const {drawing} = worksheet;\n if (drawing) {\n drawingXform.prepare(drawing, {});\n let xml = drawingXform.toXml(drawing);\n zip.append(xml, {name: `xl/drawings/${drawing.name}.xml`});\n\n xml = relsXform.toXml(drawing.rels);\n zip.append(xml, {name: `xl/drawings/_rels/${drawing.name}.xml.rels`});\n }\n });\n }\n\n addTables(zip, model) {\n const tableXform = new TableXform();\n\n model.worksheets.forEach(worksheet => {\n const {tables} = worksheet;\n tables.forEach(table => {\n tableXform.prepare(table, {});\n const tableXml = tableXform.toXml(table);\n zip.append(tableXml, {name: `xl/tables/${table.target}`});\n });\n });\n }\n\n async addContentTypes(zip, model) {\n const xform = new ContentTypesXform();\n const xml = xform.toXml(model);\n zip.append(xml, {name: '[Content_Types].xml'});\n }\n\n async addApp(zip, model) {\n const xform = new AppXform();\n const xml = xform.toXml(model);\n zip.append(xml, {name: 'docProps/app.xml'});\n }\n\n async addCore(zip, model) {\n const coreXform = new CoreXform();\n zip.append(coreXform.toXml(model), {name: 'docProps/core.xml'});\n }\n\n async addThemes(zip, model) {\n const themes = model.themes || {theme1: theme1Xml};\n Object.keys(themes).forEach(name => {\n const xml = themes[name];\n const path = `xl/theme/${name}.xml`;\n zip.append(xml, {name: path});\n });\n }\n\n async addOfficeRels(zip) {\n const xform = new RelationshipsXform();\n const xml = xform.toXml([\n {Id: 'rId1', Type: XLSX.RelType.OfficeDocument, Target: 'xl/workbook.xml'},\n {Id: 'rId2', Type: XLSX.RelType.CoreProperties, Target: 'docProps/core.xml'},\n {Id: 'rId3', Type: XLSX.RelType.ExtenderProperties, Target: 'docProps/app.xml'},\n ]);\n zip.append(xml, {name: '_rels/.rels'});\n }\n\n async addWorkbookRels(zip, model) {\n let count = 1;\n const relationships = [\n {Id: `rId${count++}`, Type: XLSX.RelType.Styles, Target: 'styles.xml'},\n {Id: `rId${count++}`, Type: XLSX.RelType.Theme, Target: 'theme/theme1.xml'},\n ];\n if (model.sharedStrings.count) {\n relationships.push({\n Id: `rId${count++}`,\n Type: XLSX.RelType.SharedStrings,\n Target: 'sharedStrings.xml',\n });\n }\n model.worksheets.forEach(worksheet => {\n worksheet.rId = `rId${count++}`;\n relationships.push({\n Id: worksheet.rId,\n Type: XLSX.RelType.Worksheet,\n Target: `worksheets/sheet${worksheet.id}.xml`,\n });\n });\n const xform = new RelationshipsXform();\n const xml = xform.toXml(relationships);\n zip.append(xml, {name: 'xl/_rels/workbook.xml.rels'});\n }\n\n async addSharedStrings(zip, model) {\n if (model.sharedStrings && model.sharedStrings.count) {\n zip.append(model.sharedStrings.xml, {name: 'xl/sharedStrings.xml'});\n }\n }\n\n async addStyles(zip, model) {\n const {xml} = model.styles;\n if (xml) {\n zip.append(xml, {name: 'xl/styles.xml'});\n }\n }\n\n async addWorkbook(zip, model) {\n const xform = new WorkbookXform();\n zip.append(xform.toXml(model), {name: 'xl/workbook.xml'});\n }\n\n async addWorksheets(zip, model) {\n // preparation phase\n const worksheetXform = new WorksheetXform();\n const relationshipsXform = new RelationshipsXform();\n const commentsXform = new CommentsXform();\n const vmlNotesXform = new VmlNotesXform();\n\n // write sheets\n model.worksheets.forEach(worksheet => {\n let xmlStream = new XmlStream();\n worksheetXform.render(xmlStream, worksheet);\n zip.append(xmlStream.xml, {name: `xl/worksheets/sheet${worksheet.id}.xml`});\n\n if (worksheet.rels && worksheet.rels.length) {\n xmlStream = new XmlStream();\n relationshipsXform.render(xmlStream, worksheet.rels);\n zip.append(xmlStream.xml, {name: `xl/worksheets/_rels/sheet${worksheet.id}.xml.rels`});\n }\n\n if (worksheet.comments.length > 0) {\n xmlStream = new XmlStream();\n commentsXform.render(xmlStream, worksheet);\n zip.append(xmlStream.xml, {name: `xl/comments${worksheet.id}.xml`});\n\n xmlStream = new XmlStream();\n vmlNotesXform.render(xmlStream, worksheet);\n zip.append(xmlStream.xml, {name: `xl/drawings/vmlDrawing${worksheet.id}.vml`});\n }\n });\n }\n\n _finalize(zip) {\n return new Promise((resolve, reject) => {\n zip.on('finish', () => {\n resolve(this);\n });\n zip.on('error', reject);\n zip.finalize();\n });\n }\n\n prepareModel(model, options) {\n // ensure following properties have sane values\n model.creator = model.creator || 'ExcelJS';\n model.lastModifiedBy = model.lastModifiedBy || 'ExcelJS';\n model.created = model.created || new Date();\n model.modified = model.modified || new Date();\n\n model.useSharedStrings = options.useSharedStrings !== undefined ? options.useSharedStrings : true;\n model.useStyles = options.useStyles !== undefined ? options.useStyles : true;\n\n // Manage the shared strings\n model.sharedStrings = new SharedStringsXform();\n\n // add a style manager to handle cell formats, fonts, etc.\n model.styles = model.useStyles ? new StylesXform(true) : new StylesXform.Mock();\n\n // prepare all of the things before the render\n const workbookXform = new WorkbookXform();\n const worksheetXform = new WorksheetXform();\n\n workbookXform.prepare(model);\n\n const worksheetOptions = {\n sharedStrings: model.sharedStrings,\n styles: model.styles,\n date1904: model.properties.date1904,\n drawingsCount: 0,\n media: model.media,\n };\n worksheetOptions.drawings = model.drawings = [];\n worksheetOptions.commentRefs = model.commentRefs = [];\n let tableCount = 0;\n model.tables = [];\n model.worksheets.forEach(worksheet => {\n // assign unique filenames to tables\n worksheet.tables.forEach(table => {\n tableCount++;\n table.target = `table${tableCount}.xml`;\n table.id = tableCount;\n model.tables.push(table);\n });\n\n worksheetXform.prepare(worksheet, worksheetOptions);\n });\n\n // TODO: workbook drawing list\n }\n\n async write(stream, options) {\n options = options || {};\n const {model} = this.workbook;\n const zip = new ZipStream.ZipWriter(options.zip);\n zip.pipe(stream);\n\n this.prepareModel(model, options);\n\n // render\n await this.addContentTypes(zip, model);\n await this.addOfficeRels(zip, model);\n await this.addWorkbookRels(zip, model);\n await this.addWorksheets(zip, model);\n await this.addSharedStrings(zip, model); // always after worksheets\n await this.addDrawings(zip, model);\n await this.addTables(zip, model);\n await Promise.all([this.addThemes(zip, model), this.addStyles(zip, model)]);\n await this.addMedia(zip, model);\n await Promise.all([this.addApp(zip, model), this.addCore(zip, model)]);\n await this.addWorkbook(zip, model);\n return this._finalize(zip);\n }\n\n writeFile(filename, options) {\n const stream = fs.createWriteStream(filename);\n\n return new Promise((resolve, reject) => {\n stream.on('finish', () => {\n resolve();\n });\n stream.on('error', error => {\n reject(error);\n });\n\n this.write(stream, options).then(() => {\n stream.end();\n }).catch(err=>{\n reject(err);\n });\n });\n }\n\n async writeBuffer(options) {\n const stream = new StreamBuf();\n await this.write(stream, options);\n return stream.read();\n }\n}\n\nXLSX.RelType = require('./rel-type');\n\nmodule.exports = XLSX;\n","/* eslint-disable */\nmodule.exports =\n '<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\\n<a:theme xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" name=\"Office Theme\"> <a:themeElements> <a:clrScheme name=\"Office\"> <a:dk1> <a:sysClr val=\"windowText\" lastClr=\"000000\"/> </a:dk1> <a:lt1> <a:sysClr val=\"window\" lastClr=\"FFFFFF\"/> </a:lt1> <a:dk2> <a:srgbClr val=\"1F497D\"/> </a:dk2> <a:lt2> <a:srgbClr val=\"EEECE1\"/> </a:lt2> <a:accent1> <a:srgbClr val=\"4F81BD\"/> </a:accent1> <a:accent2> <a:srgbClr val=\"C0504D\"/> </a:accent2> <a:accent3> <a:srgbClr val=\"9BBB59\"/> </a:accent3> <a:accent4> <a:srgbClr val=\"8064A2\"/> </a:accent4> <a:accent5> <a:srgbClr val=\"4BACC6\"/> </a:accent5> <a:accent6> <a:srgbClr val=\"F79646\"/> </a:accent6> <a:hlink> <a:srgbClr val=\"0000FF\"/> </a:hlink> <a:folHlink> <a:srgbClr val=\"800080\"/> </a:folHlink> </a:clrScheme> <a:fontScheme name=\"Office\"> <a:majorFont> <a:latin typeface=\"Cambria\"/> <a:ea typeface=\"\"/> <a:cs typeface=\"\"/> <a:font script=\"Jpan\" typeface=\"MS Pゴシック\"/> <a:font script=\"Hang\" typeface=\"맑은 고딕\"/> <a:font script=\"Hans\" typeface=\"宋体\"/> <a:font script=\"Hant\" typeface=\"新細明體\"/> <a:font script=\"Arab\" typeface=\"Times New Roman\"/> <a:font script=\"Hebr\" typeface=\"Times New Roman\"/> <a:font script=\"Thai\" typeface=\"Tahoma\"/> <a:font script=\"Ethi\" typeface=\"Nyala\"/> <a:font script=\"Beng\" typeface=\"Vrinda\"/> <a:font script=\"Gujr\" typeface=\"Shruti\"/> <a:font script=\"Khmr\" typeface=\"MoolBoran\"/> <a:font script=\"Knda\" typeface=\"Tunga\"/> <a:font script=\"Guru\" typeface=\"Raavi\"/> <a:font script=\"Cans\" typeface=\"Euphemia\"/> <a:font script=\"Cher\" typeface=\"Plantagenet Cherokee\"/> <a:font script=\"Yiii\" typeface=\"Microsoft Yi Baiti\"/> <a:font script=\"Tibt\" typeface=\"Microsoft Himalaya\"/> <a:font script=\"Thaa\" typeface=\"MV Boli\"/> <a:font script=\"Deva\" typeface=\"Mangal\"/> <a:font script=\"Telu\" typeface=\"Gautami\"/> <a:font script=\"Taml\" typeface=\"Latha\"/> <a:font script=\"Syrc\" typeface=\"Estrangelo Edessa\"/> <a:font script=\"Orya\" typeface=\"Kalinga\"/> <a:font script=\"Mlym\" typeface=\"Kartika\"/> <a:font script=\"Laoo\" typeface=\"DokChampa\"/> <a:font script=\"Sinh\" typeface=\"Iskoola Pota\"/> <a:font script=\"Mong\" typeface=\"Mongolian Baiti\"/> <a:font script=\"Viet\" typeface=\"Times New Roman\"/> <a:font script=\"Uigh\" typeface=\"Microsoft Uighur\"/> <a:font script=\"Geor\" typeface=\"Sylfaen\"/> </a:majorFont> <a:minorFont> <a:latin typeface=\"Calibri\"/> <a:ea typeface=\"\"/> <a:cs typeface=\"\"/> <a:font script=\"Jpan\" typeface=\"MS Pゴシック\"/> <a:font script=\"Hang\" typeface=\"맑은 고딕\"/> <a:font script=\"Hans\" typeface=\"宋体\"/> <a:font script=\"Hant\" typeface=\"新細明體\"/> <a:font script=\"Arab\" typeface=\"Arial\"/> <a:font script=\"Hebr\" typeface=\"Arial\"/> <a:font script=\"Thai\" typeface=\"Tahoma\"/> <a:font script=\"Ethi\" typeface=\"Nyala\"/> <a:font script=\"Beng\" typeface=\"Vrinda\"/> <a:font script=\"Gujr\" typeface=\"Shruti\"/> <a:font script=\"Khmr\" typeface=\"DaunPenh\"/> <a:font script=\"Knda\" typeface=\"Tunga\"/> <a:font script=\"Guru\" typeface=\"Raavi\"/> <a:font script=\"Cans\" typeface=\"Euphemia\"/> <a:font script=\"Cher\" typeface=\"Plantagenet Cherokee\"/> <a:font script=\"Yiii\" typeface=\"Microsoft Yi Baiti\"/> <a:font script=\"Tibt\" typeface=\"Microsoft Himalaya\"/> <a:font script=\"Thaa\" typeface=\"MV Boli\"/> <a:font script=\"Deva\" typeface=\"Mangal\"/> <a:font script=\"Telu\" typeface=\"Gautami\"/> <a:font script=\"Taml\" typeface=\"Latha\"/> <a:font script=\"Syrc\" typeface=\"Estrangelo Edessa\"/> <a:font script=\"Orya\" typeface=\"Kalinga\"/> <a:font script=\"Mlym\" typeface=\"Kartika\"/> <a:font script=\"Laoo\" typeface=\"DokChampa\"/> <a:font script=\"Sinh\" typeface=\"Iskoola Pota\"/> <a:font script=\"Mong\" typeface=\"Mongolian Baiti\"/> <a:font script=\"Viet\" typeface=\"Arial\"/> <a:font script=\"Uigh\" typeface=\"Microsoft Uighur\"/> <a:font script=\"Geor\" typeface=\"Sylfaen\"/> </a:minorFont> </a:fontScheme> <a:fmtScheme name=\"Office\"> <a:fillStyleLst> <a:solidFill> <a:schemeClr val=\"phClr\"/> </a:solidFill> <a:gradFill rotWithShape=\"1\"> <a:gsLst> <a:gs pos=\"0\"> <a:schemeClr val=\"phClr\"> <a:tint val=\"50000\"/> <a:satMod val=\"300000\"/> </a:schemeClr> </a:gs> <a:gs pos=\"35000\"> <a:schemeClr val=\"phClr\"> <a:tint val=\"37000\"/> <a:satMod val=\"300000\"/> </a:schemeClr> </a:gs> <a:gs pos=\"100000\"> <a:schemeClr val=\"phClr\"> <a:tint val=\"15000\"/> <a:satMod val=\"350000\"/> </a:schemeClr> </a:gs> </a:gsLst> <a:lin ang=\"16200000\" scaled=\"1\"/> </a:gradFill> <a:gradFill rotWithShape=\"1\"> <a:gsLst> <a:gs pos=\"0\"> <a:schemeClr val=\"phClr\"> <a:tint val=\"100000\"/> <a:shade val=\"100000\"/> <a:satMod val=\"130000\"/> </a:schemeClr> </a:gs> <a:gs pos=\"100000\"> <a:schemeClr val=\"phClr\"> <a:tint val=\"50000\"/> <a:shade val=\"100000\"/> <a:satMod val=\"350000\"/> </a:schemeClr> </a:gs> </a:gsLst> <a:lin ang=\"16200000\" scaled=\"0\"/> </a:gradFill> </a:fillStyleLst> <a:lnStyleLst> <a:ln w=\"9525\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"> <a:solidFill> <a:schemeClr val=\"phClr\"> <a:shade val=\"95000\"/> <a:satMod val=\"105000\"/> </a:schemeClr> </a:solidFill> <a:prstDash val=\"solid\"/> </a:ln> <a:ln w=\"25400\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"> <a:solidFill> <a:schemeClr val=\"phClr\"/> </a:solidFill> <a:prstDash val=\"solid\"/> </a:ln> <a:ln w=\"38100\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"> <a:solidFill> <a:schemeClr val=\"phClr\"/> </a:solidFill> <a:prstDash val=\"solid\"/> </a:ln> </a:lnStyleLst> <a:effectStyleLst> <a:effectStyle> <a:effectLst> <a:outerShdw blurRad=\"40000\" dist=\"20000\" dir=\"5400000\" rotWithShape=\"0\"> <a:srgbClr val=\"000000\"> <a:alpha val=\"38000\"/> </a:srgbClr> </a:outerShdw> </a:effectLst> </a:effectStyle> <a:effectStyle> <a:effectLst> <a:outerShdw blurRad=\"40000\" dist=\"23000\" dir=\"5400000\" rotWithShape=\"0\"> <a:srgbClr val=\"000000\"> <a:alpha val=\"35000\"/> </a:srgbClr> </a:outerShdw> </a:effectLst> </a:effectStyle> <a:effectStyle> <a:effectLst> <a:outerShdw blurRad=\"40000\" dist=\"23000\" dir=\"5400000\" rotWithShape=\"0\"> <a:srgbClr val=\"000000\"> <a:alpha val=\"35000\"/> </a:srgbClr> </a:outerShdw> </a:effectLst> <a:scene3d> <a:camera prst=\"orthographicFront\"> <a:rot lat=\"0\" lon=\"0\" rev=\"0\"/> </a:camera> <a:lightRig rig=\"threePt\" dir=\"t\"> <a:rot lat=\"0\" lon=\"0\" rev=\"1200000\"/> </a:lightRig> </a:scene3d> <a:sp3d> <a:bevelT w=\"63500\" h=\"25400\"/> </a:sp3d> </a:effectStyle> </a:effectStyleLst> <a:bgFillStyleLst> <a:solidFill> <a:schemeClr val=\"phClr\"/> </a:solidFill> <a:gradFill rotWithShape=\"1\"> <a:gsLst> <a:gs pos=\"0\"> <a:schemeClr val=\"phClr\"> <a:tint val=\"40000\"/> <a:satMod val=\"350000\"/> </a:schemeClr> </a:gs> <a:gs pos=\"40000\"> <a:schemeClr val=\"phClr\"> <a:tint val=\"45000\"/> <a:shade val=\"99000\"/> <a:satMod val=\"350000\"/> </a:schemeClr> </a:gs> <a:gs pos=\"100000\"> <a:schemeClr val=\"phClr\"> <a:shade val=\"20000\"/> <a:satMod val=\"255000\"/> </a:schemeClr> </a:gs> </a:gsLst> <a:path path=\"circle\"> <a:fillToRect l=\"50000\" t=\"-80000\" r=\"50000\" b=\"180000\"/> </a:path> </a:gradFill> <a:gradFill rotWithShape=\"1\"> <a:gsLst> <a:gs pos=\"0\"> <a:schemeClr val=\"phClr\"> <a:tint val=\"80000\"/> <a:satMod val=\"300000\"/> </a:schemeClr> </a:gs> <a:gs pos=\"100000\"> <a:schemeClr val=\"phClr\"> <a:shade val=\"30000\"/> <a:satMod val=\"200000\"/> </a:schemeClr> </a:gs> </a:gsLst> <a:path path=\"circle\"> <a:fillToRect l=\"50000\" t=\"50000\" r=\"50000\" b=\"50000\"/> </a:path> </a:gradFill> </a:bgFillStyleLst> </a:fmtScheme> </a:themeElements> <a:objectDefaults> <a:spDef> <a:spPr/> <a:bodyPr/> <a:lstStyle/> <a:style> <a:lnRef idx=\"1\"> <a:schemeClr val=\"accent1\"/> </a:lnRef> <a:fillRef idx=\"3\"> <a:schemeClr val=\"accent1\"/> </a:fillRef> <a:effectRef idx=\"2\"> <a:schemeClr val=\"accent1\"/> </a:effectRef> <a:fontRef idx=\"minor\"> <a:schemeClr val=\"lt1\"/> </a:fontRef> </a:style> </a:spDef> <a:lnDef> <a:spPr/> <a:bodyPr/> <a:lstStyle/> <a:style> <a:lnRef idx=\"2\"> <a:schemeClr val=\"accent1\"/> </a:lnRef> <a:fillRef idx=\"0\"> <a:schemeClr val=\"accent1\"/> </a:fillRef> <a:effectRef idx=\"1\"> <a:schemeClr val=\"accent1\"/> </a:effectRef> <a:fontRef idx=\"minor\"> <a:schemeClr val=\"tx1\"/> </a:fontRef> </a:style> </a:lnDef> </a:objectDefaults> <a:extraClrSchemeLst/> </a:theme>';\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CsvFormatterStream = void 0;\nconst stream_1 = require(\"stream\");\nconst formatter_1 = require(\"./formatter\");\nclass CsvFormatterStream extends stream_1.Transform {\n constructor(formatterOptions) {\n super({\n writableObjectMode: formatterOptions.objectMode\n });\n this.hasWrittenBOM = false;\n this.formatterOptions = formatterOptions;\n this.rowFormatter = new formatter_1.RowFormatter(formatterOptions);\n // if writeBOM is false then set to true\n // if writeBOM is true then set to false by default so it is written out\n this.hasWrittenBOM = !formatterOptions.writeBOM;\n }\n transform(transformFunction) {\n this.rowFormatter.rowTransform = transformFunction;\n return this;\n }\n _transform(row, encoding, cb) {\n let cbCalled = false;\n try {\n if (!this.hasWrittenBOM) {\n this.push(this.formatterOptions.BOM);\n this.hasWrittenBOM = true;\n }\n this.rowFormatter.format(row, (err, rows) => {\n if (err) {\n cbCalled = true;\n return cb(err);\n }\n if (rows) {\n rows.forEach(r => {\n this.push(Buffer.from(r, 'utf8'));\n });\n }\n cbCalled = true;\n return cb();\n });\n } catch (e) {\n if (cbCalled) {\n throw e;\n }\n cb(e);\n }\n }\n _flush(cb) {\n this.rowFormatter.finish((err, rows) => {\n if (err) {\n return cb(err);\n }\n if (rows) {\n rows.forEach(r => {\n this.push(Buffer.from(r, 'utf8'));\n });\n }\n return cb();\n });\n }\n}\nexports.CsvFormatterStream = CsvFormatterStream;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHJlYW1fMSIsInJlcXVpcmUiLCJmb3JtYXR0ZXJfMSIsIkNzdkZvcm1hdHRlclN0cmVhbSIsIlRyYW5zZm9ybSIsImNvbnN0cnVjdG9yIiwiZm9ybWF0dGVyT3B0aW9ucyIsIndyaXRhYmxlT2JqZWN0TW9kZSIsIm9iamVjdE1vZGUiLCJoYXNXcml0dGVuQk9NIiwicm93Rm9ybWF0dGVyIiwiUm93Rm9ybWF0dGVyIiwid3JpdGVCT00iLCJ0cmFuc2Zvcm0iLCJ0cmFuc2Zvcm1GdW5jdGlvbiIsInJvd1RyYW5zZm9ybSIsIl90cmFuc2Zvcm0iLCJyb3ciLCJlbmNvZGluZyIsImNiIiwiY2JDYWxsZWQiLCJwdXNoIiwiQk9NIiwiZm9ybWF0IiwiZXJyIiwicm93cyIsImZvckVhY2giLCJyIiwiQnVmZmVyIiwiZnJvbSIsImUiLCJfZmx1c2giLCJmaW5pc2giLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL0NzdkZvcm1hdHRlclN0cmVhbS50cyJdLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsTUFBQUEsUUFBQSxHQUFBQyxPQUFBO0FBR0EsTUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBRUEsTUFBYUUsa0JBQWlELFNBQVFILFFBQUEsQ0FBQUksU0FBUztFQU8zRUMsWUFBbUJDLGdCQUF3QztJQUN2RCxLQUFLLENBQUM7TUFBRUMsa0JBQWtCLEVBQUVELGdCQUFnQixDQUFDRTtJQUFVLENBQUUsQ0FBQztJQUh0RCxLQUFBQyxhQUFhLEdBQUcsS0FBSztJQUl6QixJQUFJLENBQUNILGdCQUFnQixHQUFHQSxnQkFBZ0I7SUFDeEMsSUFBSSxDQUFDSSxZQUFZLEdBQUcsSUFBSVIsV0FBQSxDQUFBUyxZQUFZLENBQUNMLGdCQUFnQixDQUFDO0lBQ3REO0lBQ0E7SUFDQSxJQUFJLENBQUNHLGFBQWEsR0FBRyxDQUFDSCxnQkFBZ0IsQ0FBQ00sUUFBUTtFQUNuRDtFQUVPQyxTQUFTQSxDQUFDQyxpQkFBNkM7SUFDMUQsSUFBSSxDQUFDSixZQUFZLENBQUNLLFlBQVksR0FBR0QsaUJBQWlCO0lBQ2xELE9BQU8sSUFBSTtFQUNmO0VBRU9FLFVBQVVBLENBQUNDLEdBQU0sRUFBRUMsUUFBZ0IsRUFBRUMsRUFBcUI7SUFDN0QsSUFBSUMsUUFBUSxHQUFHLEtBQUs7SUFDcEIsSUFBSTtNQUNBLElBQUksQ0FBQyxJQUFJLENBQUNYLGFBQWEsRUFBRTtRQUNyQixJQUFJLENBQUNZLElBQUksQ0FBQyxJQUFJLENBQUNmLGdCQUFnQixDQUFDZ0IsR0FBRyxDQUFDO1FBQ3BDLElBQUksQ0FBQ2IsYUFBYSxHQUFHLElBQUk7O01BRTdCLElBQUksQ0FBQ0MsWUFBWSxDQUFDYSxNQUFNLENBQUNOLEdBQUcsRUFBRSxDQUFDTyxHQUFHLEVBQUVDLElBQUksS0FBVTtRQUM5QyxJQUFJRCxHQUFHLEVBQUU7VUFDTEosUUFBUSxHQUFHLElBQUk7VUFDZixPQUFPRCxFQUFFLENBQUNLLEdBQUcsQ0FBQzs7UUFFbEIsSUFBSUMsSUFBSSxFQUFFO1VBQ05BLElBQUksQ0FBQ0MsT0FBTyxDQUFFQyxDQUFDLElBQVU7WUFDckIsSUFBSSxDQUFDTixJQUFJLENBQUNPLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDRixDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7VUFDckMsQ0FBQyxDQUFDOztRQUVOUCxRQUFRLEdBQUcsSUFBSTtRQUNmLE9BQU9ELEVBQUUsRUFBRTtNQUNmLENBQUMsQ0FBQztLQUNMLENBQUMsT0FBT1csQ0FBQyxFQUFFO01BQ1IsSUFBSVYsUUFBUSxFQUFFO1FBQ1YsTUFBTVUsQ0FBQzs7TUFFWFgsRUFBRSxDQUFDVyxDQUFDLENBQUM7O0VBRWI7RUFFT0MsTUFBTUEsQ0FBQ1osRUFBcUI7SUFDL0IsSUFBSSxDQUFDVCxZQUFZLENBQUNzQixNQUFNLENBQUMsQ0FBQ1IsR0FBRyxFQUFFQyxJQUFJLEtBQVU7TUFDekMsSUFBSUQsR0FBRyxFQUFFO1FBQ0wsT0FBT0wsRUFBRSxDQUFDSyxHQUFHLENBQUM7O01BRWxCLElBQUlDLElBQUksRUFBRTtRQUNOQSxJQUFJLENBQUNDLE9BQU8sQ0FBRUMsQ0FBQyxJQUFVO1VBQ3JCLElBQUksQ0FBQ04sSUFBSSxDQUFDTyxNQUFNLENBQUNDLElBQUksQ0FBQ0YsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQzs7TUFFTixPQUFPUixFQUFFLEVBQUU7SUFDZixDQUFDLENBQUM7RUFDTjs7QUE3REpjLE9BQUEsQ0FBQTlCLGtCQUFBLEdBQUFBLGtCQUFBIn0=","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FormatterOptions = void 0;\nclass FormatterOptions {\n constructor() {\n let opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _a;\n this.objectMode = true;\n this.delimiter = ',';\n this.rowDelimiter = '\\n';\n this.quote = '\"';\n this.escape = this.quote;\n this.quoteColumns = false;\n this.quoteHeaders = this.quoteColumns;\n this.headers = null;\n this.includeEndRowDelimiter = false;\n this.writeBOM = false;\n this.BOM = '\\ufeff';\n this.alwaysWriteHeaders = false;\n Object.assign(this, opts || {});\n if (typeof (opts === null || opts === void 0 ? void 0 : opts.quoteHeaders) === 'undefined') {\n this.quoteHeaders = this.quoteColumns;\n }\n if ((opts === null || opts === void 0 ? void 0 : opts.quote) === true) {\n this.quote = '\"';\n } else if ((opts === null || opts === void 0 ? void 0 : opts.quote) === false) {\n this.quote = '';\n }\n if (typeof (opts === null || opts === void 0 ? void 0 : opts.escape) !== 'string') {\n this.escape = this.quote;\n }\n this.shouldWriteHeaders = !!this.headers && ((_a = opts.writeHeaders) !== null && _a !== void 0 ? _a : true);\n this.headers = Array.isArray(this.headers) ? this.headers : null;\n this.escapedQuote = `${this.escape}${this.quote}`;\n }\n}\nexports.FormatterOptions = FormatterOptions;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGb3JtYXR0ZXJPcHRpb25zIiwiY29uc3RydWN0b3IiLCJvcHRzIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwib2JqZWN0TW9kZSIsImRlbGltaXRlciIsInJvd0RlbGltaXRlciIsInF1b3RlIiwiZXNjYXBlIiwicXVvdGVDb2x1bW5zIiwicXVvdGVIZWFkZXJzIiwiaGVhZGVycyIsImluY2x1ZGVFbmRSb3dEZWxpbWl0ZXIiLCJ3cml0ZUJPTSIsIkJPTSIsImFsd2F5c1dyaXRlSGVhZGVycyIsIk9iamVjdCIsImFzc2lnbiIsInNob3VsZFdyaXRlSGVhZGVycyIsIl9hIiwid3JpdGVIZWFkZXJzIiwiQXJyYXkiLCJpc0FycmF5IiwiZXNjYXBlZFF1b3RlIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Gb3JtYXR0ZXJPcHRpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbbnVsbF0sIm1hcHBpbmdzIjoiOzs7Ozs7QUF3QkEsTUFBYUEsZ0JBQWdCO0VBK0J6QkMsWUFBQSxFQUF3RDtJQUFBLElBQXJDQyxJQUFBLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxRQUFBRCxTQUFBLFFBQUFFLFNBQUEsR0FBQUYsU0FBQSxNQUFtQyxFQUFFOztJQTlCeEMsS0FBQUcsVUFBVSxHQUFZLElBQUk7SUFFMUIsS0FBQUMsU0FBUyxHQUFXLEdBQUc7SUFFdkIsS0FBQUMsWUFBWSxHQUFXLElBQUk7SUFFM0IsS0FBQUMsS0FBSyxHQUFXLEdBQUc7SUFFbkIsS0FBQUMsTUFBTSxHQUFXLElBQUksQ0FBQ0QsS0FBSztJQUUzQixLQUFBRSxZQUFZLEdBQWlCLEtBQUs7SUFFbEMsS0FBQUMsWUFBWSxHQUFpQixJQUFJLENBQUNELFlBQVk7SUFFOUMsS0FBQUUsT0FBTyxHQUFvQixJQUFJO0lBRS9CLEtBQUFDLHNCQUFzQixHQUFZLEtBQUs7SUFNdkMsS0FBQUMsUUFBUSxHQUFZLEtBQUs7SUFJekIsS0FBQUMsR0FBRyxHQUFXLFFBQVE7SUFFdEIsS0FBQUMsa0JBQWtCLEdBQVksS0FBSztJQUcvQ0MsTUFBTSxDQUFDQyxNQUFNLENBQUMsSUFBSSxFQUFFakIsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUUvQixJQUFJLFFBQU9BLElBQUksYUFBSkEsSUFBSSx1QkFBSkEsSUFBSSxDQUFFVSxZQUFZLE1BQUssV0FBVyxFQUFFO01BQzNDLElBQUksQ0FBQ0EsWUFBWSxHQUFHLElBQUksQ0FBQ0QsWUFBWTs7SUFFekMsSUFBSSxDQUFBVCxJQUFJLGFBQUpBLElBQUksdUJBQUpBLElBQUksQ0FBRU8sS0FBSyxNQUFLLElBQUksRUFBRTtNQUN0QixJQUFJLENBQUNBLEtBQUssR0FBRyxHQUFHO0tBQ25CLE1BQU0sSUFBSSxDQUFBUCxJQUFJLGFBQUpBLElBQUksdUJBQUpBLElBQUksQ0FBRU8sS0FBSyxNQUFLLEtBQUssRUFBRTtNQUM5QixJQUFJLENBQUNBLEtBQUssR0FBRyxFQUFFOztJQUVuQixJQUFJLFFBQU9QLElBQUksYUFBSkEsSUFBSSx1QkFBSkEsSUFBSSxDQUFFUSxNQUFNLE1BQUssUUFBUSxFQUFFO01BQ2xDLElBQUksQ0FBQ0EsTUFBTSxHQUFHLElBQUksQ0FBQ0QsS0FBSzs7SUFFNUIsSUFBSSxDQUFDVyxrQkFBa0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDUCxPQUFPLEtBQUksQ0FBQVEsRUFBQSxHQUFDbkIsSUFBSSxDQUFDb0IsWUFBWSxjQUFBRCxFQUFBLGNBQUFBLEVBQUEsR0FBSSxJQUFJLENBQUM7SUFDdkUsSUFBSSxDQUFDUixPQUFPLEdBQUdVLEtBQUssQ0FBQ0MsT0FBTyxDQUFDLElBQUksQ0FBQ1gsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDQSxPQUFPLEdBQUcsSUFBSTtJQUNoRSxJQUFJLENBQUNZLFlBQVksR0FBRyxHQUFHLElBQUksQ0FBQ2YsTUFBTSxHQUFHLElBQUksQ0FBQ0QsS0FBSyxFQUFFO0VBQ3JEOztBQWhESmlCLE9BQUEsQ0FBQTFCLGdCQUFBLEdBQUFBLGdCQUFBIn0=","\"use strict\";\n\nvar __importDefault = void 0 && (void 0).__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FieldFormatter = void 0;\nconst lodash_isboolean_1 = __importDefault(require(\"lodash.isboolean\"));\nconst lodash_isnil_1 = __importDefault(require(\"lodash.isnil\"));\nconst lodash_escaperegexp_1 = __importDefault(require(\"lodash.escaperegexp\"));\nclass FieldFormatter {\n constructor(formatterOptions) {\n this._headers = null;\n this.formatterOptions = formatterOptions;\n if (formatterOptions.headers !== null) {\n this.headers = formatterOptions.headers;\n }\n this.REPLACE_REGEXP = new RegExp(formatterOptions.quote, 'g');\n const escapePattern = `[${formatterOptions.delimiter}${lodash_escaperegexp_1.default(formatterOptions.rowDelimiter)}|\\r|\\n]`;\n this.ESCAPE_REGEXP = new RegExp(escapePattern);\n }\n set headers(headers) {\n this._headers = headers;\n }\n shouldQuote(fieldIndex, isHeader) {\n const quoteConfig = isHeader ? this.formatterOptions.quoteHeaders : this.formatterOptions.quoteColumns;\n if (lodash_isboolean_1.default(quoteConfig)) {\n return quoteConfig;\n }\n if (Array.isArray(quoteConfig)) {\n return quoteConfig[fieldIndex];\n }\n if (this._headers !== null) {\n return quoteConfig[this._headers[fieldIndex]];\n }\n return false;\n }\n format(field, fieldIndex, isHeader) {\n const preparedField = `${lodash_isnil_1.default(field) ? '' : field}`.replace(/\\0/g, '');\n const {\n formatterOptions\n } = this;\n if (formatterOptions.quote !== '') {\n const shouldEscape = preparedField.indexOf(formatterOptions.quote) !== -1;\n if (shouldEscape) {\n return this.quoteField(preparedField.replace(this.REPLACE_REGEXP, formatterOptions.escapedQuote));\n }\n }\n const hasEscapeCharacters = preparedField.search(this.ESCAPE_REGEXP) !== -1;\n if (hasEscapeCharacters || this.shouldQuote(fieldIndex, isHeader)) {\n return this.quoteField(preparedField);\n }\n return preparedField;\n }\n quoteField(field) {\n const {\n quote\n } = this.formatterOptions;\n return `${quote}${field}${quote}`;\n }\n}\nexports.FieldFormatter = FieldFormatter;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2Rhc2hfaXNib29sZWFuXzEiLCJfX2ltcG9ydERlZmF1bHQiLCJyZXF1aXJlIiwibG9kYXNoX2lzbmlsXzEiLCJsb2Rhc2hfZXNjYXBlcmVnZXhwXzEiLCJGaWVsZEZvcm1hdHRlciIsImNvbnN0cnVjdG9yIiwiZm9ybWF0dGVyT3B0aW9ucyIsIl9oZWFkZXJzIiwiaGVhZGVycyIsIlJFUExBQ0VfUkVHRVhQIiwiUmVnRXhwIiwicXVvdGUiLCJlc2NhcGVQYXR0ZXJuIiwiZGVsaW1pdGVyIiwiZGVmYXVsdCIsInJvd0RlbGltaXRlciIsIkVTQ0FQRV9SRUdFWFAiLCJzaG91bGRRdW90ZSIsImZpZWxkSW5kZXgiLCJpc0hlYWRlciIsInF1b3RlQ29uZmlnIiwicXVvdGVIZWFkZXJzIiwicXVvdGVDb2x1bW5zIiwiQXJyYXkiLCJpc0FycmF5IiwiZm9ybWF0IiwiZmllbGQiLCJwcmVwYXJlZEZpZWxkIiwicmVwbGFjZSIsInNob3VsZEVzY2FwZSIsImluZGV4T2YiLCJxdW90ZUZpZWxkIiwiZXNjYXBlZFF1b3RlIiwiaGFzRXNjYXBlQ2hhcmFjdGVycyIsInNlYXJjaCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZm9ybWF0dGVyL0ZpZWxkRm9ybWF0dGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbbnVsbF0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE1BQUFBLGtCQUFBLEdBQUFDLGVBQUEsQ0FBQUMsT0FBQTtBQUNBLE1BQUFDLGNBQUEsR0FBQUYsZUFBQSxDQUFBQyxPQUFBO0FBQ0EsTUFBQUUscUJBQUEsR0FBQUgsZUFBQSxDQUFBQyxPQUFBO0FBSUEsTUFBYUcsY0FBYztFQVN2QkMsWUFBbUJDLGdCQUF3QztJQU5uRCxLQUFBQyxRQUFRLEdBQW9CLElBQUk7SUFPcEMsSUFBSSxDQUFDRCxnQkFBZ0IsR0FBR0EsZ0JBQWdCO0lBQ3hDLElBQUlBLGdCQUFnQixDQUFDRSxPQUFPLEtBQUssSUFBSSxFQUFFO01BQ25DLElBQUks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","\"use strict\";\n\nvar __importDefault = void 0 && (void 0).__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.RowFormatter = void 0;\nconst lodash_isfunction_1 = __importDefault(require(\"lodash.isfunction\"));\nconst lodash_isequal_1 = __importDefault(require(\"lodash.isequal\"));\nconst FieldFormatter_1 = require(\"./FieldFormatter\");\nconst types_1 = require(\"../types\");\nclass RowFormatter {\n constructor(formatterOptions) {\n this.rowCount = 0;\n this.formatterOptions = formatterOptions;\n this.fieldFormatter = new FieldFormatter_1.FieldFormatter(formatterOptions);\n this.headers = formatterOptions.headers;\n this.shouldWriteHeaders = formatterOptions.shouldWriteHeaders;\n this.hasWrittenHeaders = false;\n if (this.headers !== null) {\n this.fieldFormatter.headers = this.headers;\n }\n if (formatterOptions.transform) {\n this.rowTransform = formatterOptions.transform;\n }\n }\n static isRowHashArray(row) {\n if (Array.isArray(row)) {\n return Array.isArray(row[0]) && row[0].length === 2;\n }\n return false;\n }\n static isRowArray(row) {\n return Array.isArray(row) && !this.isRowHashArray(row);\n }\n // get headers from a row item\n static gatherHeaders(row) {\n if (RowFormatter.isRowHashArray(row)) {\n // lets assume a multi-dimesional array with item 0 being the header\n return row.map(it => it[0]);\n }\n if (Array.isArray(row)) {\n return row;\n }\n return Object.keys(row);\n }\n // eslint-disable-next-line @typescript-eslint/no-shadow\n static createTransform(transformFunction) {\n if (types_1.isSyncTransform(transformFunction)) {\n return (row, cb) => {\n let transformedRow = null;\n try {\n transformedRow = transformFunction(row);\n } catch (e) {\n return cb(e);\n }\n return cb(null, transformedRow);\n };\n }\n return (row, cb) => {\n transformFunction(row, cb);\n };\n }\n set rowTransform(transformFunction) {\n if (!lodash_isfunction_1.default(transformFunction)) {\n throw new TypeError('The transform should be a function');\n }\n this._rowTransform = RowFormatter.createTransform(transformFunction);\n }\n format(row, cb) {\n this.callTransformer(row, (err, transformedRow) => {\n if (err) {\n return cb(err);\n }\n if (!row) {\n return cb(null);\n }\n const rows = [];\n if (transformedRow) {\n const {\n shouldFormatColumns,\n headers\n } = this.checkHeaders(transformedRow);\n if (this.shouldWriteHeaders && headers && !this.hasWrittenHeaders) {\n rows.push(this.formatColumns(headers, true));\n this.hasWrittenHeaders = true;\n }\n if (shouldFormatColumns) {\n const columns = this.gatherColumns(transformedRow);\n rows.push(this.formatColumns(columns, false));\n }\n }\n return cb(null, rows);\n });\n }\n finish(cb) {\n const rows = [];\n // check if we should write headers and we didnt get any rows\n if (this.formatterOptions.alwaysWriteHeaders && this.rowCount === 0) {\n if (!this.headers) {\n return cb(new Error('`alwaysWriteHeaders` option is set to true but `headers` option not provided.'));\n }\n rows.push(this.formatColumns(this.headers, true));\n }\n if (this.formatterOptions.includeEndRowDelimiter) {\n rows.push(this.formatterOptions.rowDelimiter);\n }\n return cb(null, rows);\n }\n // check if we need to write header return true if we should also write a row\n // could be false if headers is true and the header row(first item) is passed in\n checkHeaders(row) {\n if (this.headers) {\n // either the headers were provided by the user or we have already gathered them.\n return {\n shouldFormatColumns: true,\n headers: this.headers\n };\n }\n const headers = RowFormatter.gatherHeaders(row);\n this.headers = headers;\n this.fieldFormatter.headers = headers;\n if (!this.shouldWriteHeaders) {\n // if we are not supposed to write the headers then\n // always format the columns\n return {\n shouldFormatColumns: true,\n headers: null\n };\n }\n // if the row is equal to headers dont format\n return {\n shouldFormatColumns: !lodash_isequal_1.default(headers, row),\n headers\n };\n }\n // todo change this method to unknown[]\n gatherColumns(row) {\n if (this.headers === null) {\n throw new Error('Headers is currently null');\n }\n if (!Array.isArray(row)) {\n return this.headers.map(header => row[header]);\n }\n if (RowFormatter.isRowHashArray(row)) {\n return this.headers.map((header, i) => {\n const col = row[i];\n if (col) {\n return col[1];\n }\n return '';\n });\n }\n // if its a one dimensional array and headers were not provided\n // then just return the row\n if (RowFormatter.isRowArray(row) && !this.shouldWriteHeaders) {\n return row;\n }\n return this.headers.map((header, i) => row[i]);\n }\n callTransformer(row, cb) {\n if (!this._rowTransform) {\n return cb(null, row);\n }\n return this._rowTransform(row, cb);\n }\n formatColumns(columns, isHeadersRow) {\n const formattedCols = columns.map((field, i) => this.fieldFormatter.format(field, i, isHeadersRow)).join(this.formatterOptions.delimiter);\n const {\n rowCount\n } = this;\n this.rowCount += 1;\n if (rowCount) {\n return [this.formatterOptions.rowDelimiter, formattedCols].join('');\n }\n return formattedCols;\n }\n}\nexports.RowFormatter = RowFormatter;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2Rhc2hfaXNmdW5jdGlvbl8xIiwiX19pbXBvcnREZWZhdWx0IiwicmVxdWlyZSIsImxvZGFzaF9pc2VxdWFsXzEiLCJGaWVsZEZvcm1hdHRlcl8xIiwidHlwZXNfMSIsIlJvd0Zvcm1hdHRlciIsImNvbnN0cnVjdG9yIiwiZm9ybWF0dGVyT3B0aW9ucyIsInJvd0NvdW50IiwiZmllbGRGb3JtYXR0ZXIiLCJGaWVsZEZvcm1hdHRlciIsImhlYWRlcnMiLCJzaG91bGRXcml0ZUhlYWRlcnMiLCJoYXNXcml0dGVuSGVhZGVycyIsInRyYW5zZm9ybSIsInJvd1RyYW5zZm9ybSIsImlzUm93SGFzaEFycmF5Iiwicm93IiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwiaXNSb3dBcnJheSIsImdhdGhlckhlYWRlcnMiLCJtYXAiLCJpdCIsIk9iamVjdCIsImtleXMiLCJjcmVhdGVUcmFuc2Zvcm0iLCJ0cmFuc2Zvcm1GdW5jdGlvbiIsImlzU3luY1RyYW5zZm9ybSIsImNiIiwidHJhbnNmb3JtZWRSb3ciLCJlIiwiZGVmYXVsdCIsIlR5cGVFcnJvciIsIl9yb3dUcmFuc2Zvcm0iLCJmb3JtYXQiLCJjYWxsVHJhbnNmb3JtZXIiLCJlcnIiLCJyb3dzIiwic2hvdWxkRm9ybWF0Q29sdW1ucyIsImNoZWNrSGVhZGVycyIsInB1c2giLCJmb3JtYXRDb2x1bW5zIiwiY29sdW1ucyIsImdhdGhlckNvbHVtbnMiLCJmaW5pc2giLCJhbHdheXNXcml0ZUhlYWRlcnMiLCJFcnJvciIsImluY2x1ZGVFbmRSb3dEZWxpbWl0ZXIiLCJyb3dEZWxpbWl0ZXIiLCJoZWFkZXIiLCJpIiwiY29sIiwiaXNIZWFkZXJzUm93IiwiZm9ybWF0dGVkQ29scyIsImZpZWxkIiwiam9pbiIsImRlbGltaXRlciIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZm9ybWF0dGVyL1Jvd0Zvcm1hdHRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJtYXBwaW5ncyI6Ijs7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","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FieldFormatter = exports.RowFormatter = void 0;\nvar RowFormatter_1 = require(\"./RowFormatter\");\nObject.defineProperty(exports, \"RowFormatter\", {\n enumerable: true,\n get: function () {\n return RowFormatter_1.RowFormatter;\n }\n});\nvar FieldFormatter_1 = require(\"./FieldFormatter\");\nObject.defineProperty(exports, \"FieldFormatter\", {\n enumerable: true,\n get: function () {\n return FieldFormatter_1.FieldFormatter;\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSb3dGb3JtYXR0ZXJfMSIsInJlcXVpcmUiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiUm93Rm9ybWF0dGVyIiwiRmllbGRGb3JtYXR0ZXJfMSIsIkZpZWxkRm9ybWF0dGVyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Zvcm1hdHRlci9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsY0FBQSxHQUFBQyxPQUFBO0FBQVNDLE1BQUEsQ0FBQUMsY0FBQSxDQUFBQyxPQUFBO0VBQUFDLFVBQUE7RUFBQUMsR0FBQSxXQUFBQSxDQUFBO0lBQUEsT0FBQU4sY0FBQSxDQUFBTyxZQUFZO0VBQUE7QUFBQTtBQUNyQixJQUFBQyxnQkFBQSxHQUFBUCxPQUFBO0FBQVNDLE1BQUEsQ0FBQUMsY0FBQSxDQUFBQyxPQUFBO0VBQUFDLFVBQUE7RUFBQUMsR0FBQSxXQUFBQSxDQUFBO0lBQUEsT0FBQUUsZ0JBQUEsQ0FBQUMsY0FBYztFQUFBO0FBQUEifQ==","\"use strict\";\n\nvar __createBinding = void 0 && (void 0).__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function () {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\nvar __setModuleDefault = void 0 && (void 0).__setModuleDefault || (Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = void 0 && (void 0).__importStar || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __exportStar = void 0 && (void 0).__exportStar || function (m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.writeToPath = exports.writeToString = exports.writeToBuffer = exports.writeToStream = exports.write = exports.format = exports.FormatterOptions = exports.CsvFormatterStream = void 0;\nconst util_1 = require(\"util\");\nconst stream_1 = require(\"stream\");\nconst fs = __importStar(require(\"fs\"));\nconst FormatterOptions_1 = require(\"./FormatterOptions\");\nconst CsvFormatterStream_1 = require(\"./CsvFormatterStream\");\n__exportStar(require(\"./types\"), exports);\nvar CsvFormatterStream_2 = require(\"./CsvFormatterStream\");\nObject.defineProperty(exports, \"CsvFormatterStream\", {\n enumerable: true,\n get: function () {\n return CsvFormatterStream_2.CsvFormatterStream;\n }\n});\nvar FormatterOptions_2 = require(\"./FormatterOptions\");\nObject.defineProperty(exports, \"FormatterOptions\", {\n enumerable: true,\n get: function () {\n return FormatterOptions_2.FormatterOptions;\n }\n});\nexports.format = options => new CsvFormatterStream_1.CsvFormatterStream(new FormatterOptions_1.FormatterOptions(options));\nexports.write = (rows, options) => {\n const csvStream = exports.format(options);\n const promiseWrite = util_1.promisify((row, cb) => {\n csvStream.write(row, undefined, cb);\n });\n rows.reduce((prev, row) => prev.then(() => promiseWrite(row)), Promise.resolve()).then(() => csvStream.end()).catch(err => {\n csvStream.emit('error', err);\n });\n return csvStream;\n};\nexports.writeToStream = (ws, rows, options) => exports.write(rows, options).pipe(ws);\nexports.writeToBuffer = function (rows) {\n let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const buffers = [];\n const ws = new stream_1.Writable({\n write(data, enc, writeCb) {\n buffers.push(data);\n writeCb();\n }\n });\n return new Promise((res, rej) => {\n ws.on('error', rej).on('finish', () => res(Buffer.concat(buffers)));\n exports.write(rows, opts).pipe(ws);\n });\n};\nexports.writeToString = (rows, options) => exports.writeToBuffer(rows, options).then(buffer => buffer.toString());\nexports.writeToPath = (path, rows, options) => {\n const stream = fs.createWriteStream(path, {\n encoding: 'utf8'\n });\n return exports.write(rows, options).pipe(stream);\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1dGlsXzEiLCJyZXF1aXJlIiwic3RyZWFtXzEiLCJmcyIsIl9faW1wb3J0U3RhciIsIkZvcm1hdHRlck9wdGlvbnNfMSIsIkNzdkZvcm1hdHRlclN0cmVhbV8xIiwiX19leHBvcnRTdGFyIiwiZXhwb3J0cyIsIkNzdkZvcm1hdHRlclN0cmVhbV8yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiQ3N2Rm9ybWF0dGVyU3RyZWFtIiwiRm9ybWF0dGVyT3B0aW9uc18yIiwiRm9ybWF0dGVyT3B0aW9ucyIsImZvcm1hdCIsIm9wdGlvbnMiLCJ3cml0ZSIsInJvd3MiLCJjc3ZTdHJlYW0iLCJwcm9taXNlV3JpdGUiLCJwcm9taXNpZnkiLCJyb3ciLCJjYiIsInVuZGVmaW5lZCIsInJlZHVjZSIsInByZXYiLCJ0aGVuIiwiUHJvbWlzZSIsInJlc29sdmUiLCJlbmQiLCJjYXRjaCIsImVyciIsImVtaXQiLCJ3cml0ZVRvU3RyZWFtIiwid3MiLCJwaXBlIiwid3JpdGVUb0J1ZmZlciIsIm9wdHMiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJidWZmZXJzIiwiV3JpdGFibGUiLCJkYXRhIiwiZW5jIiwid3JpdGVDYiIsInB1c2giLCJyZXMiLCJyZWoiLCJvbiIsIkJ1ZmZlciIsImNvbmNhdCIsIndyaXRlVG9TdHJpbmciLCJidWZmZXIiLCJ0b1N0cmluZyIsIndyaXRlVG9QYXRoIiwicGF0aCIsInN0cmVhbSIsImNyZWF0ZVdyaXRlU3RyZWFtIiwiZW5jb2RpbmciXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE1BQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLE1BQUFDLFFBQUEsR0FBQUQsT0FBQTtBQUNBLE1BQUFFLEVBQUEsR0FBQUMsWUFBQSxDQUFBSCxPQUFBO0FBRUEsTUFBQUks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","\"use strict\";\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isSyncTransform = void 0;\nexports.isSyncTransform = transform => transform.length === 1;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJleHBvcnRzIiwiaXNTeW5jVHJhbnNmb3JtIiwidHJhbnNmb3JtIiwibGVuZ3RoIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbbnVsbF0sIm1hcHBpbmdzIjoiOztBQUFBOzs7OztBQVlhQSxPQUFBLENBQUFDLGVBQWUsR0FDeEJDLFNBQXFDLElBQ0NBLFNBQVMsQ0FBQ0MsTUFBTSxLQUFLLENBQUMifQ==","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CsvParserStream = void 0;\nconst string_decoder_1 = require(\"string_decoder\");\nconst stream_1 = require(\"stream\");\nconst transforms_1 = require(\"./transforms\");\nconst parser_1 = require(\"./parser\");\nclass CsvParserStream extends stream_1.Transform {\n constructor(parserOptions) {\n super({\n objectMode: parserOptions.objectMode\n });\n this.lines = '';\n this.rowCount = 0;\n this.parsedRowCount = 0;\n this.parsedLineCount = 0;\n this.endEmitted = false;\n this.headersEmitted = false;\n this.parserOptions = parserOptions;\n this.parser = new parser_1.Parser(parserOptions);\n this.headerTransformer = new transforms_1.HeaderTransformer(parserOptions);\n this.decoder = new string_decoder_1.StringDecoder(parserOptions.encoding);\n this.rowTransformerValidator = new transforms_1.RowTransformerValidator();\n }\n get hasHitRowLimit() {\n return this.parserOptions.limitRows && this.rowCount >= this.parserOptions.maxRows;\n }\n get shouldEmitRows() {\n return this.parsedRowCount > this.parserOptions.skipRows;\n }\n get shouldSkipLine() {\n return this.parsedLineCount <= this.parserOptions.skipLines;\n }\n transform(transformFunction) {\n this.rowTransformerValidator.rowTransform = transformFunction;\n return this;\n }\n validate(validateFunction) {\n this.rowTransformerValidator.rowValidator = validateFunction;\n return this;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n emit(event) {\n if (event === 'end') {\n if (!this.endEmitted) {\n this.endEmitted = true;\n super.emit('end', this.rowCount);\n }\n return false;\n }\n for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n return super.emit(event, ...rest);\n }\n _transform(data, encoding, done) {\n // if we have hit our maxRows parsing limit then skip parsing\n if (this.hasHitRowLimit) {\n return done();\n }\n const wrappedCallback = CsvParserStream.wrapDoneCallback(done);\n try {\n const {\n lines\n } = this;\n const newLine = lines + this.decoder.write(data);\n const rows = this.parse(newLine, true);\n return this.processRows(rows, wrappedCallback);\n } catch (e) {\n return wrappedCallback(e);\n }\n }\n _flush(done) {\n const wrappedCallback = CsvParserStream.wrapDoneCallback(done);\n // if we have hit our maxRows parsing limit then skip parsing\n if (this.hasHitRowLimit) {\n return wrappedCallback();\n }\n try {\n const newLine = this.lines + this.decoder.end();\n const rows = this.parse(newLine, false);\n return this.processRows(rows, wrappedCallback);\n } catch (e) {\n return wrappedCallback(e);\n }\n }\n parse(data, hasMoreData) {\n if (!data) {\n return [];\n }\n const {\n line,\n rows\n } = this.parser.parse(data, hasMoreData);\n this.lines = line;\n return rows;\n }\n processRows(rows, cb) {\n const rowsLength = rows.length;\n const iterate = i => {\n const callNext = err => {\n if (err) {\n return cb(err);\n }\n if (i % 100 === 0) {\n // incase the transform are sync insert a next tick to prevent stack overflow\n setImmediate(() => iterate(i + 1));\n return undefined;\n }\n return iterate(i + 1);\n };\n this.checkAndEmitHeaders();\n // if we have emitted all rows or we have hit the maxRows limit option\n // then end\n if (i >= rowsLength || this.hasHitRowLimit) {\n return cb();\n }\n this.parsedLineCount += 1;\n if (this.shouldSkipLine) {\n return callNext();\n }\n const row = rows[i];\n this.rowCount += 1;\n this.parsedRowCount += 1;\n const nextRowCount = this.rowCount;\n return this.transformRow(row, (err, transformResult) => {\n if (err) {\n this.rowCount -= 1;\n return callNext(err);\n }\n if (!transformResult) {\n return callNext(new Error('expected transform result'));\n }\n if (!transformResult.isValid) {\n this.emit('data-invalid', transformResult.row, nextRowCount, transformResult.reason);\n } else if (transformResult.row) {\n return this.pushRow(transformResult.row, callNext);\n }\n return callNext();\n });\n };\n iterate(0);\n }\n transformRow(parsedRow, cb) {\n try {\n this.headerTransformer.transform(parsedRow, (err, withHeaders) => {\n if (err) {\n return cb(err);\n }\n if (!withHeaders) {\n return cb(new Error('Expected result from header transform'));\n }\n if (!withHeaders.isValid) {\n if (this.shouldEmitRows) {\n return cb(null, {\n isValid: false,\n row: parsedRow\n });\n }\n // skipped because of skipRows option remove from total row count\n return this.skipRow(cb);\n }\n if (withHeaders.row) {\n if (this.shouldEmitRows) {\n return this.rowTransformerValidator.transformAndValidate(withHeaders.row, cb);\n }\n // skipped because of skipRows option remove from total row count\n return this.skipRow(cb);\n }\n // this is a header row dont include in the rowCount or parsedRowCount\n this.rowCount -= 1;\n this.parsedRowCount -= 1;\n return cb(null, {\n row: null,\n isValid: true\n });\n });\n } catch (e) {\n cb(e);\n }\n }\n checkAndEmitHeaders() {\n if (!this.headersEmitted && this.headerTransformer.headers) {\n this.headersEmitted = true;\n this.emit('headers', this.headerTransformer.headers);\n }\n }\n skipRow(cb) {\n // skipped because of skipRows option remove from total row count\n this.rowCount -= 1;\n return cb(null, {\n row: null,\n isValid: true\n });\n }\n pushRow(row, cb) {\n try {\n if (!this.parserOptions.objectMode) {\n this.push(JSON.stringify(row));\n } else {\n this.push(row);\n }\n cb();\n } catch (e) {\n cb(e);\n }\n }\n static wrapDoneCallback(done) {\n let errorCalled = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (err) {\n if (err) {\n if (errorCalled) {\n throw err;\n }\n errorCalled = true;\n done(err);\n return;\n }\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n done(...args);\n };\n }\n}\nexports.CsvParserStream = CsvParserStream;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHJpbmdfZGVjb2Rlcl8xIiwicmVxdWlyZSIsInN0cmVhbV8xIiwidHJhbnNmb3Jtc18xIiwicGFyc2VyXzEiLCJDc3ZQYXJzZXJTdHJlYW0iLCJUcmFuc2Zvcm0iLCJjb25zdHJ1Y3RvciIsInBhcnNlck9wdGlvbnMiLCJvYmplY3RNb2RlIiwibGluZXMiLCJyb3dDb3VudCIsInBhcnNlZFJvd0NvdW50IiwicGFyc2VkTGluZUNvdW50IiwiZW5kRW1pdHRlZCIsImhlYWRlcnNFbWl0dGVkIiwicGFyc2VyIiwiUGFyc2VyIiwiaGVhZGVyVHJhbnNmb3JtZXIiLCJIZWFkZXJUcmFuc2Zvcm1lciIsImRlY29kZXIiLCJTdHJpbmdEZWNvZGVyIiwiZW5jb2RpbmciLCJyb3dUcmFuc2Zvcm1lclZhbGlkYXRvciIsIlJvd1RyYW5zZm9ybWVyVmFsaWRhdG9yIiwiaGFzSGl0Um93TGltaXQiLCJsaW1pdFJvd3MiLCJtYXhSb3dzIiwic2hvdWxkRW1pdFJvd3MiLCJza2lwUm93cyIsInNob3VsZFNraXBMaW5lIiwic2tpcExpbmVzIiwidHJhbnNmb3JtIiwidHJhbnNmb3JtRnVuY3Rpb24iLCJyb3dUcmFuc2Zvcm0iLCJ2YWxpZGF0ZSIsInZhbGlkYXRlRnVuY3Rpb24iLCJyb3dWYWxpZGF0b3IiLCJlbWl0IiwiZXZlbnQiLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwicmVzdCIsIkFycmF5IiwiX2tleSIsIl90cmFuc2Zvcm0iLCJkYXRhIiwiZG9uZSIsIndyYXBwZWRDYWxsYmFjayIsIndyYXBEb25lQ2FsbGJhY2siLCJuZXdMaW5lIiwid3JpdGUiLCJyb3dzIiwicGFyc2UiLCJwcm9jZXNzUm93cyIsImUiLCJfZmx1c2giLCJlbmQiLCJoYXNNb3JlRGF0YSIsImxpbmUiLCJjYiIsInJvd3NMZW5ndGgiLCJpdGVyYXRlIiwiaSIsImNhbGxOZXh0IiwiZXJyIiwic2V0SW1tZWRpYXRlIiwidW5kZWZpbmVkIiwiY2hlY2tBbmRFbWl0SGVhZGVycyIsInJvdyIsIm5leHRSb3dDb3VudCIsInRyYW5zZm9ybVJvdyIsInRyYW5zZm9ybVJlc3VsdCIsIkVycm9yIiwiaXNWYWxpZCIsInJlYXNvbiIsInB1c2hSb3ciLCJwYXJzZWRSb3ciLCJ3aXRoSGVhZGVycyIsInNraXBSb3ciLCJ0cmFuc2Zvcm1BbmRWYWxpZGF0ZSIsImhlYWRlcnMiLCJwdXNoIiwiSlNPTiIsInN0cmluZ2lmeSIsImVycm9yQ2FsbGVkIiwiX2xlbjIiLCJhcmdzIiwiX2tleTIiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL0NzdlBhcnNlclN0cmVhbS50cyJdLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsTUFBQUEsZ0JBQUEsR0FBQUMsT0FBQTtBQUNBLE1BQUFDLFFBQUEsR0FBQUQsT0FBQTtBQUVBLE1BQUFFLFlBQUEsR0FBQUYsT0FBQTtBQUNBLE1BQUFHLFFBQUEsR0FBQUgsT0FBQTtBQUdBLE1BQWFJLGVBQThDLFNBQVFILFFBQUEsQ0FBQUksU0FBUztFQXVCeEVDLFlBQW1CQyxhQUE0QjtJQUMzQyxLQUFLLENBQUM7TUFBRUMsVUFBVSxFQUFFRCxhQUFhLENBQUNDO0lBQVUsQ0FBRSxDQUFDO0lBYjNDLEtBQUFDLEtBQUssR0FBRyxFQUFFO0lBRVYsS0FBQUMsUUFBUSxHQUFHLENBQUM7SUFFWixLQUFBQyxjQUFjLEdBQUcsQ0FBQztJQUVsQixLQUFBQyxlQUFlLEdBQUcsQ0FBQztJQUVuQixLQUFBQyxVQUFVLEdBQUcsS0FBSztJQUVsQixLQUFBQyxjQUFjLEdBQUcsS0FBSztJQUkxQixJQUFJLENBQUNQLGFBQWEsR0FBR0EsYUFBYTtJQUNsQyxJQUFJLENBQUNRLE1BQU0sR0FBRyxJQUFJWixRQUFBLENBQUFhLE1BQU0sQ0FBQ1QsYUFBYSxDQUFDO0lBQ3ZDLElBQUksQ0FBQ1UsaUJBQWlCLEdBQUcsSUFBSWYsWUFBQSxDQUFBZ0IsaUJBQWlCLENBQUNYLGFBQWEsQ0FBQztJQUM3RCxJQUFJLENBQUNZLE9BQU8sR0FBRyxJQUFJ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","\"use strict\";\n\nvar __importDefault = void 0 && (void 0).__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ParserOptions = void 0;\nconst lodash_escaperegexp_1 = __importDefault(require(\"lodash.escaperegexp\"));\nconst lodash_isnil_1 = __importDefault(require(\"lodash.isnil\"));\nclass ParserOptions {\n constructor(opts) {\n var _a;\n this.objectMode = true;\n this.delimiter = ',';\n this.ignoreEmpty = false;\n this.quote = '\"';\n this.escape = null;\n this.escapeChar = this.quote;\n this.comment = null;\n this.supportsComments = false;\n this.ltrim = false;\n this.rtrim = false;\n this.trim = false;\n this.headers = null;\n this.renameHeaders = false;\n this.strictColumnHandling = false;\n this.discardUnmappedColumns = false;\n this.carriageReturn = '\\r';\n this.encoding = 'utf8';\n this.limitRows = false;\n this.maxRows = 0;\n this.skipLines = 0;\n this.skipRows = 0;\n Object.assign(this, opts || {});\n if (this.delimiter.length > 1) {\n throw new Error('delimiter option must be one character long');\n }\n this.escapedDelimiter = lodash_escaperegexp_1.default(this.delimiter);\n this.escapeChar = (_a = this.escape) !== null && _a !== void 0 ? _a : this.quote;\n this.supportsComments = !lodash_isnil_1.default(this.comment);\n this.NEXT_TOKEN_REGEXP = new RegExp(`([^\\\\s]|\\\\r\\\\n|\\\\n|\\\\r|${this.escapedDelimiter})`);\n if (this.maxRows > 0) {\n this.limitRows = true;\n }\n }\n}\nexports.ParserOptions = ParserOptions;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2Rhc2hfZXNjYXBlcmVnZXhwXzEiLCJfX2ltcG9ydERlZmF1bHQiLCJyZXF1aXJlIiwibG9kYXNoX2lzbmlsXzEiLCJQYXJzZXJPcHRpb25zIiwiY29uc3RydWN0b3IiLCJvcHRzIiwib2JqZWN0TW9kZSIsImRlbGltaXRlciIsImlnbm9yZUVtcHR5IiwicXVvdGUiLCJlc2NhcGUiLCJlc2NhcGVDaGFyIiwiY29tbWVudCIsInN1cHBvcnRzQ29tbWVudHMiLCJsdHJpbSIsInJ0cmltIiwidHJpbSIsImhlYWRlcnMiLCJyZW5hbWVIZWFkZXJzIiwic3RyaWN0Q29sdW1uSGFuZGxpbmciLCJkaXNjYXJkVW5tYXBwZWRDb2x1bW5zIiwiY2FycmlhZ2VSZXR1cm4iLCJlbmNvZGluZyIsImxpbWl0Um93cyIsIm1heFJvd3MiLCJza2lwTGluZXMiLCJza2lwUm93cyIsIk9iamVjdCIsImFzc2lnbiIsImxlbmd0aCIsIkVycm9yIiwiZXNjYXBlZERlbGltaXRlciIsImRlZmF1bHQiLCJfYSIsIk5FWFRfVE9LRU5fUkVHRVhQIiwiUmVnRXhwIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9QYXJzZXJPcHRpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbbnVsbF0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE1BQUFBLHFCQUFBLEdBQUFDLGVBQUEsQ0FBQUMsT0FBQTtBQUNBLE1BQUFDLGNBQUEsR0FBQUYsZUFBQSxDQUFBQyxPQUFBO0FBdUJBLE1BQWFFLGFBQWE7RUErQ3RCQyxZQUFtQkMsSUFBd0I7O0lBNUMzQixLQUFBQyxVQUFVLEdBQVksSUFBSTtJQUUxQixLQUFBQyxTQUFTLEdBQVcsR0FBRztJQUV2QixLQUFBQyxXQUFXLEdBQVksS0FBSztJQUU1QixLQUFBQyxLQUFLLEdBQWtCLEdBQUc7SUFFMUIsS0FBQUMsTUFBTSxHQUFrQixJQUFJO0lBRTVCLEtBQUFDLFVBQVUsR0FBa0IsSUFBSSxDQUFDRixLQUFLO0lBRXRDLEtBQUFHLE9BQU8sR0FBa0IsSUFBSTtJQUU3QixLQUFBQyxnQkFBZ0IsR0FBWSxLQUFLO0lBRWpDLEtBQUFDLEtBQUssR0FBWSxLQUFLO0lBRXRCLEtBQUFDLEtBQUssR0FBWSxLQUFLO0lBRXRCLEtBQUFDLElBQUksR0FBWSxLQUFLO0lBRXJCLEtBQUFDLE9BQU8sR0FBMkQsSUFBSTtJQUV0RSxLQUFBQyxhQUFhLEdBQVksS0FBSztJQUU5QixLQUFBQyxvQkFBb0IsR0FBWSxLQUFLO0lBRXJDLEtBQUFDLHNCQUFzQixHQUFZLEtBQUs7SUFFdkMsS0FBQUMsY0FBYyxHQUFXLElBQUk7SUFJN0IsS0FBQUMsUUFBUSxHQUFtQixNQUFNO0lBRWpDLEtBQUFDLFNBQVMsR0FBWSxLQUFLO0lBRTFCLEtBQUFDLE9BQU8sR0FBVyxDQUFDO0lBRW5CLEtBQUFDLFNBQVMsR0FBVyxDQUFDO0lBRXJCLEtBQUFDLFFBQVEsR0FBVyxDQUFDO0lBR2hDQyxNQUFNLENBQUNDLE1BQU0sQ0FBQyxJQUFJLEVBQUV2QixJQUFJLElBQUksRUFBRSxDQUFDO0lBQy9CLElBQUksSUFBSSxDQUFDRSxTQUFTLENBQUNzQixNQUFNLEdBQUcsQ0FBQyxFQUFFO01BQzNCLE1BQU0sSUFBSUMsS0FBSyxDQUFDLDZDQUE2QyxDQUFDOztJQUVsRSxJQUFJLENBQUNDLGdCQUFnQixHQUFHaEMscUJBQUEsQ0FBQWlDLE9BQVksQ0FBQyxJQUFJLENBQUN6QixTQUFTLENBQUM7SUFDcEQsSUFBSSxDQUFDSSxVQUFVLElBQUFzQixFQUFBLEdBQUcsSUFBSSxDQUFDdkIsTUFBTSxjQUFBdUIsRUFBQSxjQUFBQSxFQUFBLEdBQUksSUFBSSxDQUFDeEIsS0FBSztJQUMzQyxJQUFJLENBQUNJLGdCQUFnQixHQUFHLENBQUNYLGNBQUEsQ0FBQThCLE9BQUssQ0FBQyxJQUFJLENBQUNwQixPQUFPLENBQUM7SUFDNUMsSUFBSSxDQUFDc0IsaUJBQWlCLEdBQUcsSUFBSUMsTUFBTSxDQUFDLDBCQUEwQixJQUFJLENBQUNKLGdCQUFnQixHQUFHLENBQUM7SUFFdkYsSUFBSSxJQUFJLENBQUNQLE9BQU8sR0FBRyxDQUFDLEVBQUU7TUFDbEIsSUFBSSxDQUFDRCxTQUFTLEdBQUcsSUFBSTs7RUFFN0I7O0FBNURKYSxPQUFBLENBQUFqQyxhQUFBLEdBQUFBLGFBQUEifQ==","\"use strict\";\n\nvar __createBinding = void 0 && (void 0).__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function () {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\nvar __setModuleDefault = void 0 && (void 0).__setModuleDefault || (Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = void 0 && (void 0).__importStar || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __exportStar = void 0 && (void 0).__exportStar || function (m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.parseString = exports.parseFile = exports.parseStream = exports.parse = exports.ParserOptions = exports.CsvParserStream = void 0;\nconst fs = __importStar(require(\"fs\"));\nconst stream_1 = require(\"stream\");\nconst ParserOptions_1 = require(\"./ParserOptions\");\nconst CsvParserStream_1 = require(\"./CsvParserStream\");\n__exportStar(require(\"./types\"), exports);\nvar CsvParserStream_2 = require(\"./CsvParserStream\");\nObject.defineProperty(exports, \"CsvParserStream\", {\n enumerable: true,\n get: function () {\n return CsvParserStream_2.CsvParserStream;\n }\n});\nvar ParserOptions_2 = require(\"./ParserOptions\");\nObject.defineProperty(exports, \"ParserOptions\", {\n enumerable: true,\n get: function () {\n return ParserOptions_2.ParserOptions;\n }\n});\nexports.parse = args => new CsvParserStream_1.CsvParserStream(new ParserOptions_1.ParserOptions(args));\nexports.parseStream = (stream, options) => stream.pipe(new CsvParserStream_1.CsvParserStream(new ParserOptions_1.ParserOptions(options)));\nexports.parseFile = function (location) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return fs.createReadStream(location).pipe(new CsvParserStream_1.CsvParserStream(new ParserOptions_1.ParserOptions(options)));\n};\nexports.parseString = (string, options) => {\n const rs = new stream_1.Readable();\n rs.push(string);\n rs.push(null);\n return rs.pipe(new CsvParserStream_1.CsvParserStream(new ParserOptions_1.ParserOptions(options)));\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmcyIsIl9faW1wb3J0U3RhciIsInJlcXVpcmUiLCJzdHJlYW1fMSIsIlBhcnNlck9wdGlvbnNfMSIsIkNzdlBhcnNlclN0cmVhbV8xIiwiX19leHBvcnRTdGFyIiwiZXhwb3J0cyIsIkNzdlBhcnNlclN0cmVhbV8yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiQ3N2UGFyc2VyU3RyZWFtIiwiUGFyc2VyT3B0aW9uc18yIiwiUGFyc2VyT3B0aW9ucyIsInBhcnNlIiwiYXJncyIsInBhcnNlU3RyZWFtIiwic3RyZWFtIiwib3B0aW9ucyIsInBpcGUiLCJwYXJzZUZpbGUiLCJsb2NhdGlvbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsImNyZWF0ZVJlYWRTdHJlYW0iLCJwYXJzZVN0cmluZyIsInN0cmluZyIsInJzIiwiUmVhZGFibGUiLCJwdXNoIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbbnVsbF0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxNQUFBQSxFQUFBLEdBQUFDLFlBQUEsQ0FBQUMsT0FBQTtBQUNBLE1BQUFDLFFBQUEsR0FBQUQsT0FBQTtBQUNBLE1BQUFFLGVBQUEsR0FBQUYsT0FBQTtBQUNBLE1BQUFHLGlCQUFBLEdBQUFILE9BQUE7QUFHQUksWUFBQSxDQUFBSixPQUFBLGFBQUFLLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBTixPQUFBO0FBQVNPLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSCxPQUFBO0VBQUFJLFVBQUE7RUFBQUMsR0FBQSxXQUFBQSxDQUFBO0lBQUEsT0FBQUosaUJBQUEsQ0FBQUssZUFBZTtFQUFBO0FBQUE7QUFDeEIsSUFBQUMsZUFBQSxHQUFBWixPQUFBO0FBQVNPLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSCxPQUFBO0VBQUFJLFVBQUE7RUFBQUMsR0FBQSxXQUFBQSxDQUFBO0lBQUEsT0FBQUUsZUFBQSxDQUFBQyxhQUFhO0VBQUE7QUFBQTtBQUVUUixPQUFBLENBQUFTLEtBQUssR0FBa0NDLElBQXdCLElBQ3hFLElBQUlaLGlCQUFBLENBQUFRLGVBQWUsQ0FBQyxJQUFJVCxlQUFBLENBQUFXLGFBQWEsQ0FBQ0UsSUFBSSxDQUFDLENBQUM7QUFFbkNWLE9BQUEsQ0FBQVcsV0FBVyxHQUFHLENBQ3ZCQyxNQUE2QixFQUM3QkMsT0FBMkIsS0FDSEQsTUFBTSxDQUFDRSxJQUFJLENBQUMsSUFBSWhCLGlCQUFBLENBQUFRLGVBQWUsQ0FBQyxJQUFJVCxlQUFBLENBQUFXLGFBQWEsQ0FBQ0ssT0FBTyxDQUFDLENBQUMsQ0FBQztBQUUzRWIsT0FBQSxDQUFBZSxTQUFTLEdBQUcsVUFDckJDLFFBQWdCO0VBQUEsSUFDaEJILE9BQUEsR0FBQUksU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQUUsU0FBQSxHQUFBRixTQUFBLE1BQTZCLEVBQUU7RUFBQSxPQUNQeEIsRUFBRSxDQUFDMkIsZ0JBQWdCLENBQUNKLFFBQVEsQ0FBQyxDQUFDRixJQUFJLENBQUMsSUFBSWhCLGlCQUFBLENBQUFRLGVBQWUsQ0FBQyxJQUFJVCxlQUFBLENBQUFXLGFBQWEsQ0FBQ0ssT0FBTyxDQUFDLENBQUMsQ0FBQztBQUFBO0FBRWxHYixPQUFBLENBQUFxQixXQUFXLEdBQUcsQ0FDdkJDLE1BQWMsRUFDZFQsT0FBMkIsS0FDSjtFQUN2QixNQUFNVSxFQUFFLEdBQUcsSUFBSTNCLFFBQUEsQ0FBQTRCLFFBQVEsRUFBRTtFQUN6QkQsRUFBRSxDQUFDRSxJQUFJLENBQUNILE1BQU0sQ0FBQztFQUNmQyxFQUFFLENBQUNFLElBQUksQ0FBQyxJQUFJLENBQUM7RUFDYixPQUFPRixFQUFFLENBQUNULElBQUksQ0FBQyxJQUFJaEIsaUJBQUEsQ0FBQVEsZUFBZSxDQUFDLElBQUlULGVBQUEsQ0FBQVcsYUFBYSxDQUFDSyxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQ25FLENBQUMifQ==","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Parser = void 0;\nconst Scanner_1 = require(\"./Scanner\");\nconst RowParser_1 = require(\"./RowParser\");\nconst Token_1 = require(\"./Token\");\nclass Parser {\n constructor(parserOptions) {\n this.parserOptions = parserOptions;\n this.rowParser = new RowParser_1.RowParser(this.parserOptions);\n }\n static removeBOM(line) {\n // Catches EFBBBF (UTF-8 BOM) because the buffer-to-string\n // conversion translates it to FEFF (UTF-16 BOM)\n if (line && line.charCodeAt(0) === 0xfeff) {\n return line.slice(1);\n }\n return line;\n }\n parse(line, hasMoreData) {\n const scanner = new Scanner_1.Scanner({\n line: Parser.removeBOM(line),\n parserOptions: this.parserOptions,\n hasMoreData\n });\n if (this.parserOptions.supportsComments) {\n return this.parseWithComments(scanner);\n }\n return this.parseWithoutComments(scanner);\n }\n parseWithoutComments(scanner) {\n const rows = [];\n let shouldContinue = true;\n while (shouldContinue) {\n shouldContinue = this.parseRow(scanner, rows);\n }\n return {\n line: scanner.line,\n rows\n };\n }\n parseWithComments(scanner) {\n const {\n parserOptions\n } = this;\n const rows = [];\n for (let nextToken = scanner.nextCharacterToken; nextToken !== null; nextToken = scanner.nextCharacterToken) {\n if (Token_1.Token.isTokenComment(nextToken, parserOptions)) {\n const cursor = scanner.advancePastLine();\n if (cursor === null) {\n return {\n line: scanner.lineFromCursor,\n rows\n };\n }\n if (!scanner.hasMoreCharacters) {\n return {\n line: scanner.lineFromCursor,\n rows\n };\n }\n scanner.truncateToCursor();\n } else if (!this.parseRow(scanner, rows)) {\n break;\n }\n }\n return {\n line: scanner.line,\n rows\n };\n }\n parseRow(scanner, rows) {\n const nextToken = scanner.nextNonSpaceToken;\n if (!nextToken) {\n return false;\n }\n const row = this.rowParser.parse(scanner);\n if (row === null) {\n return false;\n }\n if (this.parserOptions.ignoreEmpty && RowParser_1.RowParser.isEmptyRow(row)) {\n return true;\n }\n rows.push(row);\n return true;\n }\n}\nexports.Parser = Parser;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTY2FubmVyXzEiLCJyZXF1aXJlIiwiUm93UGFyc2VyXzEiLCJUb2tlbl8xIiwiUGFyc2VyIiwiY29uc3RydWN0b3IiLCJwYXJzZXJPcHRpb25zIiwicm93UGFyc2VyIiwiUm93UGFyc2VyIiwicmVtb3ZlQk9NIiwibGluZSIsImNoYXJDb2RlQXQiLCJzbGljZSIsInBhcnNlIiwiaGFzTW9yZURhdGEiLCJzY2FubmVyIiwiU2Nhbm5lciIsInN1cHBvcnRzQ29tbWVudHMiLCJwYXJzZVdpdGhDb21tZW50cyIsInBhcnNlV2l0aG91dENvbW1lbnRzIiwicm93cyIsInNob3VsZENvbnRpbnVlIiwicGFyc2VSb3ciLCJuZXh0VG9rZW4iLCJuZXh0Q2hhcmFjdGVyVG9rZW4iLCJUb2tlbiIsImlzVG9rZW5Db21tZW50IiwiY3Vyc29yIiwiYWR2YW5jZVBhc3RMaW5lIiwibGluZUZyb21DdXJzb3IiLCJoYXNNb3JlQ2hhcmFjdGVycyIsInRydW5jYXRlVG9DdXJzb3IiLCJuZXh0Tm9uU3BhY2VUb2tlbiIsInJvdyIsImlnbm9yZUVtcHR5IiwiaXNFbXB0eVJvdyIsInB1c2giLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhcnNlci9QYXJzZXIudHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE1BQUFBLFNBQUEsR0FBQUMsT0FBQTtBQUNBLE1BQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUdBLE1BQUFFLE9BQUEsR0FBQUYsT0FBQTtBQU1BLE1BQWFHLE1BQU07RUFjZkMsWUFBbUJDLGFBQTRCO0lBQzNDLElBQUksQ0FBQ0EsYUFBYSxHQUFHQSxhQUFhO0lBQ2xDLElBQUksQ0FBQ0MsU0FBUyxHQUFHLElBQUlMLFdBQUEsQ0FBQU0sU0FBUyxDQUFDLElBQUksQ0FBQ0YsYUFBYSxDQUFDO0VBQ3REO0VBaEJRLE9BQU9HLFNBQVNBLENBQUNDLElBQVk7SUFDakM7SUFDQTtJQUNBLElBQUlBLElBQUksSUFBSUEs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","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.RowParser = void 0;\nconst column_1 = require(\"./column\");\nconst Token_1 = require(\"./Token\");\nconst EMPTY_STRING = '';\nclass RowParser {\n constructor(parserOptions) {\n this.parserOptions = parserOptions;\n this.columnParser = new column_1.ColumnParser(parserOptions);\n }\n static isEmptyRow(row) {\n return row.join(EMPTY_STRING).replace(/\\s+/g, EMPTY_STRING) === EMPTY_STRING;\n }\n parse(scanner) {\n const {\n parserOptions\n } = this;\n const {\n hasMoreData\n } = scanner;\n const currentScanner = scanner;\n const columns = [];\n let currentToken = this.getStartToken(currentScanner, columns);\n while (currentToken) {\n if (Token_1.Token.isTokenRowDelimiter(currentToken)) {\n currentScanner.advancePastToken(currentToken);\n // if ends with CR and there is more data, keep unparsed due to possible\n // coming LF in CRLF\n if (!currentScanner.hasMoreCharacters && Token_1.Token.isTokenCarriageReturn(currentToken, parserOptions) && hasMoreData) {\n return null;\n }\n currentScanner.truncateToCursor();\n return columns;\n }\n if (!this.shouldSkipColumnParse(currentScanner, currentToken, columns)) {\n const item = this.columnParser.parse(currentScanner);\n if (item === null) {\n return null;\n }\n columns.push(item);\n }\n currentToken = currentScanner.nextNonSpaceToken;\n }\n if (!hasMoreData) {\n currentScanner.truncateToCursor();\n return columns;\n }\n return null;\n }\n getStartToken(scanner, columns) {\n const currentToken = scanner.nextNonSpaceToken;\n if (currentToken !== null && Token_1.Token.isTokenDelimiter(currentToken, this.parserOptions)) {\n columns.push('');\n return scanner.nextNonSpaceToken;\n }\n return currentToken;\n }\n shouldSkipColumnParse(scanner, currentToken, columns) {\n const {\n parserOptions\n } = this;\n if (Token_1.Token.isTokenDelimiter(currentToken, parserOptions)) {\n scanner.advancePastToken(currentToken);\n // if the delimiter is at the end of a line\n const nextToken = scanner.nextCharacterToken;\n if (!scanner.hasMoreCharacters || nextToken !== null && Token_1.Token.isTokenRowDelimiter(nextToken)) {\n columns.push('');\n return true;\n }\n if (nextToken !== null && Token_1.Token.isTokenDelimiter(nextToken, parserOptions)) {\n columns.push('');\n return true;\n }\n }\n return false;\n }\n}\nexports.RowParser = RowParser;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb2x1bW5fMSIsInJlcXVpcmUiLCJUb2tlbl8xIiwiRU1QVFlfU1RSSU5HIiwiUm93UGFyc2VyIiwiY29uc3RydWN0b3IiLCJwYXJzZXJPcHRpb25zIiwiY29sdW1uUGFyc2VyIiwiQ29sdW1uUGFyc2VyIiwiaXNFbXB0eVJvdyIsInJvdyIsImpvaW4iLCJyZXBsYWNlIiwicGFyc2UiLCJzY2FubmVyIiwiaGFzTW9yZURhdGEiLCJjdXJyZW50U2Nhbm5lciIsImNvbHVtbnMiLCJjdXJyZW50VG9rZW4iLCJnZXRTdGFydFRva2VuIiwiVG9rZW4iLCJpc1Rva2VuUm93RGVsaW1pdGVyIiwiYWR2YW5jZVBhc3RUb2tlbiIsImhhc01vcmVDaGFyYWN0ZXJzIiwiaXNUb2tlbkNhcnJpYWdlUmV0dXJuIiwidHJ1bmNhdGVUb0N1cnNvciIsInNob3VsZFNraXBDb2x1bW5QYXJzZSIsIml0ZW0iLCJwdXNoIiwibmV4dE5vblNwYWNlVG9rZW4iLCJpc1Rva2VuRGVsaW1pdGVyIiwibmV4dFRva2VuIiwibmV4dENoYXJhY3RlclRva2VuIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXJzZXIvUm93UGFyc2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbbnVsbF0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxNQUFBQSxRQUFBLEdBQUFDLE9BQUE7QUFHQSxNQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFFQSxNQUFNRSxZQUFZLEdBQUcsRUFBRTtBQUV2QixNQUFhQyxTQUFTO0VBU2xCQyxZQUFtQkMsYUFBNEI7SUFDM0MsSUFBSSxDQUFDQSxhQUFhLEdBQUdBLGFBQWE7SUFDbEMsSUFBSSxDQUFDQyxZQUFZLEdBQUcsSUFBSVAsUUFBQSxDQUFBUSxZQUFZLENBQUNGLGFBQWEsQ0FBQztFQUN2RDtFQVhBLE9BQU9HLFVBQVVBLENBQUNDLEdBQWE7SUFDM0IsT0FBT0EsR0FBRyxDQUFDQyxJQUFJLENBQUNSLFlBQVksQ0FBQyxDQUFDUyxPQUFPLENBQUMsTUFB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","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Scanner = void 0;\nconst Token_1 = require(\"./Token\");\nconst ROW_DELIMITER = /((?:\\r\\n)|\\n|\\r)/;\nclass Scanner {\n constructor(args) {\n this.cursor = 0;\n this.line = args.line;\n this.lineLength = this.line.length;\n this.parserOptions = args.parserOptions;\n this.hasMoreData = args.hasMoreData;\n this.cursor = args.cursor || 0;\n }\n get hasMoreCharacters() {\n return this.lineLength > this.cursor;\n }\n get nextNonSpaceToken() {\n const {\n lineFromCursor\n } = this;\n const regex = this.parserOptions.NEXT_TOKEN_REGEXP;\n if (lineFromCursor.search(regex) === -1) {\n return null;\n }\n const match = regex.exec(lineFromCursor);\n if (match == null) {\n return null;\n }\n const token = match[1];\n const startCursor = this.cursor + (match.index || 0);\n return new Token_1.Token({\n token,\n startCursor,\n endCursor: startCursor + token.length - 1\n });\n }\n get nextCharacterToken() {\n const {\n cursor,\n lineLength\n } = this;\n if (lineLength <= cursor) {\n return null;\n }\n return new Token_1.Token({\n token: this.line[cursor],\n startCursor: cursor,\n endCursor: cursor\n });\n }\n get lineFromCursor() {\n return this.line.substr(this.cursor);\n }\n advancePastLine() {\n const match = ROW_DELIMITER.exec(this.lineFromCursor);\n if (!match) {\n if (this.hasMoreData) {\n return null;\n }\n this.cursor = this.lineLength;\n return this;\n }\n this.cursor += (match.index || 0) + match[0].length;\n return this;\n }\n advanceTo(cursor) {\n this.cursor = cursor;\n return this;\n }\n advanceToToken(token) {\n this.cursor = token.startCursor;\n return this;\n }\n advancePastToken(token) {\n this.cursor = token.endCursor + 1;\n return this;\n }\n truncateToCursor() {\n this.line = this.lineFromCursor;\n this.lineLength = this.line.length;\n this.cursor = 0;\n return this;\n }\n}\nexports.Scanner = Scanner;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUb2tlbl8xIiwicmVxdWlyZSIsIlJPV19ERUxJTUlURVIiLCJTY2FubmVyIiwiY29uc3RydWN0b3IiLCJhcmdzIiwiY3Vyc29yIiwibGluZSIsImxpbmVMZW5ndGgiLCJsZW5ndGgiLCJwYXJzZXJPcHRpb25zIiwiaGFzTW9yZURhdGEiLCJoYXNNb3JlQ2hhcmFjdGVycyIsIm5leHROb25TcGFjZVRva2VuIiwibGluZUZyb21DdXJzb3IiLCJyZWdleCIsIk5FWFRfVE9LRU5fUkVHRVhQIiwic2VhcmNoIiwibWF0Y2giLCJleGVjIiwidG9rZW4iLCJzdGFydEN1cnNvciIsImluZGV4IiwiVG9rZW4iLCJlbmRDdXJzb3IiLCJuZXh0Q2hhcmFjdGVyVG9rZW4iLCJzdWJzdHIiLCJhZHZhbmNlUGFzdExpbmUiLCJhZHZhbmNlVG8iLCJhZHZhbmNlVG9Ub2tlbiIsImFkdmFuY2VQYXN0VG9rZW4iLCJ0cnVuY2F0ZVRvQ3Vyc29yIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXJzZXIvU2Nhbm5lci50cyJdLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsTUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBRUEsTUFBTUMsYUFBYSxHQUFHLGtCQUFrQjtBQVN4QyxNQUFhQyxPQUFPO0VBV2hCQyxZQUFtQkMsSUFBaUI7SUFGN0IsS0FBQUMsTUFBTSxHQUFHLENBQUM7SUFHYixJQUFJLENBQUNDLElBQUksR0FBR0YsSUFBSSxDQUFDRSxJQUFJO0lBQ3JCLElBQUksQ0FBQ0MsVUFBVSxHQUFHLElBQUksQ0FBQ0QsSUFBSSxDQUFDRSxNQUFNO0lBQ2xDLElBQUksQ0FBQ0MsYUFBYSxHQUFHTCxJQUFJLENBQUNLLGFBQWE7SUFDdkMsSUFBSSxDQUFDQyxXQUFXLEdBQUdOLElBQUksQ0FBQ00sV0FBVztJQUNuQyxJQUFJLENBQUNMLE1BQU0sR0FBR0QsSUFBSSxDQUFDQyxNQUFNLElBQUksQ0FBQztFQUNsQztFQUVBLElB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","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Token = void 0;\nclass Token {\n constructor(tokenArgs) {\n this.token = tokenArgs.token;\n this.startCursor = tokenArgs.startCursor;\n this.endCursor = tokenArgs.endCursor;\n }\n static isTokenRowDelimiter(token) {\n const content = token.token;\n return content === '\\r' || content === '\\n' || content === '\\r\\n';\n }\n static isTokenCarriageReturn(token, parserOptions) {\n return token.token === parserOptions.carriageReturn;\n }\n static isTokenComment(token, parserOptions) {\n return parserOptions.supportsComments && !!token && token.token === parserOptions.comment;\n }\n static isTokenEscapeCharacter(token, parserOptions) {\n return token.token === parserOptions.escapeChar;\n }\n static isTokenQuote(token, parserOptions) {\n return token.token === parserOptions.quote;\n }\n static isTokenDelimiter(token, parserOptions) {\n return token.token === parserOptions.delimiter;\n }\n}\nexports.Token = Token;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUb2tlbiIsImNvbnN0cnVjdG9yIiwidG9rZW5BcmdzIiwidG9rZW4iLCJzdGFydEN1cnNvciIsImVuZEN1cnNvciIsImlzVG9rZW5Sb3dEZWxpbWl0ZXIiLCJjb250ZW50IiwiaXNUb2tlbkNhcnJpYWdlUmV0dXJuIiwicGFyc2VyT3B0aW9ucyIsImNhcnJpYWdlUmV0dXJuIiwiaXNUb2tlbkNvbW1lbnQiLCJzdXBwb3J0c0NvbW1lbnRzIiwiY29tbWVudCIsImlzVG9rZW5Fc2NhcGVDaGFyYWN0ZXIiLCJlc2NhcGVDaGFyIiwiaXNUb2tlblF1b3RlIiwicXVvdGUiLCJpc1Rva2VuRGVsaW1pdGVyIiwiZGVsaW1pdGVyIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXJzZXIvVG9rZW4udHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsXSwibWFwcGluZ3MiOiI7Ozs7OztBQVVBLE1BQWFBLEtBQUs7RUFnQ2RDLFlBQW1CQyxTQUFvQjtJQUNuQyxJQUFJLENBQUNDLEtBQUssR0FBR0QsU0FBUyxDQUFDQyxLQUFLO0lBQzVCLElBQUksQ0FBQ0MsV0FBVyxHQUFHRixTQUFTLENBQUNFLFdBQVc7SUFDeEMsSUFBSSxDQUFDQyxTQUFTLEdBQUdILFNBQVMsQ0FBQ0csU0FBUztFQUN4QztFQW5DTyxPQUFPQyxtQkFBbUJBLENBQUNILEtBQVk7SUFDMUMsTUFBTUksT0FBTyxHQUFHSixLQUFLLENBQUNBLEtBQUs7SUFDM0IsT0FBT0ksT0FBTyxLQUFLLElBQUksSUFBSUEsT0FBTyxLQUFLLElBQUksSUFBSUEsT0FBTyxLQUFLLE1BQU07RUFDckU7RUFFTyxPQUFPQyxxQkFBcUJBLENBQUNMLEtBQVksRUFBRU0sYUFBNEI7SUFDMUUsT0FBT04sS0FBSyxDQUFDQSxLQUFLLEtBQUtNLGFBQWEsQ0FBQ0MsY0FBYztFQUN2RDtFQUVPLE9BQU9DLGNBQWNBLENBQUNSLEtBQVksRUFBRU0sYUFBNEI7SUFDbkUsT0FBT0EsYUFBYSxDQUFDRyxnQkFBZ0IsSUFBSSxDQUFDLENBQUNULEtBQUssSUFBSUEsS0FBSyxDQUFDQSxLQUFLLEtBQUtNLGFBQWEsQ0FBQ0ksT0FBTztFQUM3RjtFQUVPLE9BQU9DLHNCQUFzQkEsQ0FBQ1gsS0FBWSxFQUFFTSxhQUE0QjtJQUMzRSxPQUFPTixLQUFLLENBQUNBLEtBQUssS0FBS00sYUFBYSxDQUFDTSxVQUFVO0VBQ25EO0VBRU8sT0FBT0MsWUFBWUEsQ0FBQ2IsS0FBWSxFQUFFTSxhQUE0QjtJQUNqRSxPQUFPTixLQUFLLENBQUNBLEtBQUssS0FBS00sYUFBYSxDQUFDUSxLQUFLO0VBQzlDO0VBRU8sT0FBT0MsZ0JBQWdCQSxDQUFDZixLQUFZLEVBQUVNLGFBQTRCO0lBQ3JFLE9BQU9OLEtBQUssQ0FBQ0EsS0FBSyxLQUFLTSxhQUFhLENBQUNVLFNBQVM7RUFDbEQ7O0FBeEJKQyxPQUFBLENBQUFwQixLQUFBLEdBQUFBLEtBQUEifQ==","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ColumnFormatter = void 0;\nclass ColumnFormatter {\n constructor(parserOptions) {\n if (parserOptions.trim) {\n this.format = col => col.trim();\n } else if (parserOptions.ltrim) {\n this.format = col => col.trimLeft();\n } else if (parserOptions.rtrim) {\n this.format = col => col.trimRight();\n } else {\n this.format = col => col;\n }\n }\n}\nexports.ColumnFormatter = ColumnFormatter;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb2x1bW5Gb3JtYXR0ZXIiLCJjb25zdHJ1Y3RvciIsInBhcnNlck9wdGlvbnMiLCJ0cmltIiwiZm9ybWF0IiwiY29sIiwibHRyaW0iLCJ0cmltTGVmdCIsInJ0cmltIiwidHJpbVJpZ2h0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYXJzZXIvY29sdW1uL0NvbHVtbkZvcm1hdHRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsTUFBYUEsZUFBZTtFQUd4QkMsWUFBbUJDLGFBQTRCO0lBQzNDLElBQUlBLGFBQWEsQ0FBQ0MsSUFBSSxFQUFFO01BQ3BCLElBQUksQ0FBQ0MsTUFBTSxHQUFJQyxHQUFXLElBQWFBLEdBQUcsQ0FBQ0YsSUFBSSxFQUFFO0tBQ3BELE1BQU0sSUFBSUQsYUFBYSxDQUFDSSxLQUFLLEVBQUU7TUFDNUIsSUFBSSxDQUFDRixNQUFNLEdBQUlDLEdBQVcsSUFBYUEsR0FBRyxDQUFDRSxRQUFRLEVBQUU7S0FDeEQsTUFBTSxJQUFJTCxhQUFhLENBQUNNLEtBQUssRUFBRTtNQUM1QixJQUFJLENBQUNKLE1BQU0sR0FBSUMsR0FBVyxJQUFhQSxHQUFHLENBQUNJLFNBQVMsRUFBRTtLQUN6RCxNQUFNO01BQ0gsSUFBSSxDQUFDTCxNQUFNLEdBQUlDLEdBQVcsSUFBYUEsR0FBRzs7RUFFbEQ7O0FBYkpLLE9BQUEsQ0FBQVYsZUFBQSxHQUFBQSxlQUFBIn0=","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ColumnParser = void 0;\nconst NonQuotedColumnParser_1 = require(\"./NonQuotedColumnParser\");\nconst QuotedColumnParser_1 = require(\"./QuotedColumnParser\");\nconst Token_1 = require(\"../Token\");\nclass ColumnParser {\n constructor(parserOptions) {\n this.parserOptions = parserOptions;\n this.quotedColumnParser = new QuotedColumnParser_1.QuotedColumnParser(parserOptions);\n this.nonQuotedColumnParser = new NonQuotedColumnParser_1.NonQuotedColumnParser(parserOptions);\n }\n parse(scanner) {\n const {\n nextNonSpaceToken\n } = scanner;\n if (nextNonSpaceToken !== null && Token_1.Token.isTokenQuote(nextNonSpaceToken, this.parserOptions)) {\n scanner.advanceToToken(nextNonSpaceToken);\n return this.quotedColumnParser.parse(scanner);\n }\n return this.nonQuotedColumnParser.parse(scanner);\n }\n}\nexports.ColumnParser = ColumnParser;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOb25RdW90ZWRDb2x1bW5QYXJzZXJfMSIsInJlcXVpcmUiLCJRdW90ZWRDb2x1bW5QYXJzZXJfMSIsIlRva2VuXzEiLCJDb2x1bW5QYXJzZXIiLCJjb25zdHJ1Y3RvciIsInBhcnNlck9wdGlvbnMiLCJxdW90ZWRDb2x1bW5QYXJzZXIiLCJRdW90ZWRDb2x1bW5QYXJzZXIiLCJub25RdW90ZWRDb2x1bW5QYXJzZXIiLCJOb25RdW90ZWRDb2x1bW5QYXJzZXIiLCJwYXJzZSIsInNjYW5uZXIiLCJuZXh0Tm9uU3BhY2VUb2tlbiIsIlRva2VuIiwiaXNUb2tlblF1b3RlIiwiYWR2YW5jZVRvVG9rZW4iLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BhcnNlci9jb2x1bW4vQ29sdW1uUGFyc2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbbnVsbF0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxNQUFBQSx1QkFBQSxHQUFBQyxPQUFBO0FBQ0EsTUFBQUMsb0JBQUEsR0FBQUQsT0FBQTtBQUVBLE1BQUFFLE9BQUEsR0FBQUYsT0FBQTtBQUVBLE1BQWFHLFlBQVk7RUFPckJDLFlBQW1CQyxhQUE0QjtJQUMzQyxJQUFJLENBQUNBLGFBQWEsR0FBR0EsYUFBYTtJQUNsQyxJQUFJLENBQUNDLGtCQUFrQixHQUFHLElBQUlMLG9CQUFBLENBQUFNLGtCQUFrQixDQUFDRixhQUFhLENBQUM7SUFDL0QsSUFBSSxDQUFDRyxxQkFBcUIsR0FBRyxJQUFJVCx1QkFBQSxDQUFBVSxxQkFBcUIsQ0FBQ0osYUFBYSxDQUFDO0VBQ3pFO0VBRU9LLEtBQUtBLENBQUNDLE9BQWdCO0lBQ3pCLE1BQU07TUFBRUM7SUFBaUIsQ0FBRSxHQUFHRCxPQUFPO0lBQ3JDLElBQUlDLGlCQUFpQixLQUFLLElBQUksSUFBSVYsT0FBQSxDQUFBVyxLQUFLLENBQUNDLFlBQVksQ0FBQ0YsaUJBQWlCLEVBQUUsSUFBSSxDQUFDUCxhQUFhLENBQUMsRUFBRTtNQUN6Rk0sT0FBTyxDQUFDSSxjQUFjLENBQUNILGlCQUFpQixDQUFDO01BQ3pDLE9BQU8sSUFBSSxDQUFDTixrQkFBa0IsQ0FBQ0ksS0FBSyxDQUFDQyxPQUFPLENBQUM7O0lBRWpELE9BQU8sSUFBSSxDQUFDSCxxQkFBcUIsQ0FBQ0UsS0FBSyxDQUFDQyxPQUFPLENBQUM7RUFDcEQ7O0FBcEJKSyxPQUFBLENBQUFiLFlBQUEsR0FBQUEsWUFBQSJ9","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.NonQuotedColumnParser = void 0;\nconst ColumnFormatter_1 = require(\"./ColumnFormatter\");\nconst Token_1 = require(\"../Token\");\nclass NonQuotedColumnParser {\n constructor(parserOptions) {\n this.parserOptions = parserOptions;\n this.columnFormatter = new ColumnFormatter_1.ColumnFormatter(parserOptions);\n }\n parse(scanner) {\n if (!scanner.hasMoreCharacters) {\n return null;\n }\n const {\n parserOptions\n } = this;\n const characters = [];\n let nextToken = scanner.nextCharacterToken;\n for (; nextToken; nextToken = scanner.nextCharacterToken) {\n if (Token_1.Token.isTokenDelimiter(nextToken, parserOptions) || Token_1.Token.isTokenRowDelimiter(nextToken)) {\n break;\n }\n characters.push(nextToken.token);\n scanner.advancePastToken(nextToken);\n }\n return this.columnFormatter.format(characters.join(''));\n }\n}\nexports.NonQuotedColumnParser = NonQuotedColumnParser;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb2x1bW5Gb3JtYXR0ZXJfMSIsInJlcXVpcmUiLCJUb2tlbl8xIiwiTm9uUXVvdGVkQ29sdW1uUGFyc2VyIiwiY29uc3RydWN0b3IiLCJwYXJzZXJPcHRpb25zIiwiY29sdW1uRm9ybWF0dGVyIiwiQ29sdW1uRm9ybWF0dGVyIiwicGFyc2UiLCJzY2FubmVyIiwiaGFzTW9yZUNoYXJhY3RlcnMiLCJjaGFyYWN0ZXJzIiwibmV4dFRva2VuIiwibmV4dENoYXJhY3RlclRva2VuIiwiVG9rZW4iLCJpc1Rva2VuRGVsaW1pdGVyIiwiaXNUb2tlblJvd0RlbGltaXRlciIsInB1c2giLCJ0b2tlbiIsImFkdmFuY2VQYXN0VG9rZW4iLCJmb3JtYXQiLCJqb2luIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYXJzZXIvY29sdW1uL05vblF1b3RlZENvbHVtblBhcnNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsTUFBQUEsaUJBQUEsR0FBQUMsT0FBQTtBQUVBLE1BQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUVBLE1BQWFFLHFCQUFxQjtFQUs5QkMsWUFBbUJDLGFBQTRCO0lBQzNDLElBQUksQ0FBQ0EsYUFBYSxHQUFHQSxhQUFhO0lBQ2xDLElBQUksQ0FBQ0MsZUFBZSxHQUFHLElBQUlOLGlCQUFBLENBQUFPLGVBQWUsQ0FBQ0YsYUFBYSxDQUFDO0VBQzdEO0VBRU9HLEtBQUtBLENBQUNDLE9BQWdCO0lBQ3pCLElBQUksQ0FBQ0EsT0FBTyxDQUFDQyxpQkFBaUIsRUFBRTtNQUM1QixPQUFPLElBQUk7O0lBRWYsTUFBTTtNQUFFTDtJQUFhLENBQUUsR0FBRyxJQUFJO0lBQzlCLE1BQU1NLFVBQVUsR0FBRyxFQUFFO0lBQ3JCLElBQUlDLFNBQVMsR0FBR0gsT0FBTyxDQUFDSSxrQkFBa0I7SUFDMUMsT0FBT0QsU0FBUyxFQUFFQSxTQUFTLEdBQUdILE9BQU8sQ0FBQ0ksa0JBQWtCLEVBQUU7TUFDdEQsSUFBSVgsT0FBQSxDQUFBWSxLQUFLLENBQUNDLGdCQUFnQixDQUFDSCxTQUFTLEVBQUVQLGFBQWEsQ0FBQyxJQUFJSCxPQUFBLENBQUFZLEtBQUssQ0FBQ0UsbUJBQW1CLENBQUNKLFNBQVMsQ0FBQyxFQUFFO1FBQzFGOztNQUVKRCxVQUFVLENBQUNNLElBQUksQ0FBQ0wsU0FBUyxDQUFDTSxLQUFLLENBQUM7TUFDaENULE9BQU8sQ0FBQ1UsZ0JBQWdCLENBQUNQLFNBQVMsQ0FBQzs7SUFFdkMsT0FBTyxJQUFJLENBQUNOLGVBQWUsQ0FBQ2MsTUFBTSxDQUFDVCxVQUFVLENBQUNVLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztFQUMzRDs7QUF6QkpDLE9BQUEsQ0FBQW5CLHFCQUFBLEdBQUFBLHFCQUFBIn0=","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.QuotedColumnParser = void 0;\nconst ColumnFormatter_1 = require(\"./ColumnFormatter\");\nconst Token_1 = require(\"../Token\");\nclass QuotedColumnParser {\n constructor(parserOptions) {\n this.parserOptions = parserOptions;\n this.columnFormatter = new ColumnFormatter_1.ColumnFormatter(parserOptions);\n }\n parse(scanner) {\n if (!scanner.hasMoreCharacters) {\n return null;\n }\n const originalCursor = scanner.cursor;\n const {\n foundClosingQuote,\n col\n } = this.gatherDataBetweenQuotes(scanner);\n if (!foundClosingQuote) {\n // reset the cursor to the original\n scanner.advanceTo(originalCursor);\n // if we didnt find a closing quote but we potentially have more data then skip the parsing\n // and return the original scanner.\n if (!scanner.hasMoreData) {\n throw new Error(`Parse Error: missing closing: '${this.parserOptions.quote || ''}' in line: at '${scanner.lineFromCursor.replace(/[\\r\\n]/g, \"\\\\n'\")}'`);\n }\n return null;\n }\n this.checkForMalformedColumn(scanner);\n return col;\n }\n gatherDataBetweenQuotes(scanner) {\n const {\n parserOptions\n } = this;\n let foundStartingQuote = false;\n let foundClosingQuote = false;\n const characters = [];\n let nextToken = scanner.nextCharacterToken;\n for (; !foundClosingQuote && nextToken !== null; nextToken = scanner.nextCharacterToken) {\n const isQuote = Token_1.Token.isTokenQuote(nextToken, parserOptions);\n // ignore first quote\n if (!foundStartingQuote && isQuote) {\n foundStartingQuote = true;\n } else if (foundStartingQuote) {\n if (Token_1.Token.isTokenEscapeCharacter(nextToken, parserOptions)) {\n // advance past the escape character so we can get the next one in line\n scanner.advancePastToken(nextToken);\n const tokenFollowingEscape = scanner.nextCharacterToken;\n // if the character following the escape is a quote character then just add\n // the quote and advance to that character\n if (tokenFollowingEscape !== null && (Token_1.Token.isTokenQuote(tokenFollowingEscape, parserOptions) || Token_1.Token.isTokenEscapeCharacter(tokenFollowingEscape, parserOptions))) {\n characters.push(tokenFollowingEscape.token);\n nextToken = tokenFollowingEscape;\n } else if (isQuote) {\n // if the escape is also a quote then we found our closing quote and finish early\n foundClosingQuote = true;\n } else {\n // other wise add the escape token to the characters since it wast escaping anything\n characters.push(nextToken.token);\n }\n } else if (isQuote) {\n // we found our closing quote!\n foundClosingQuote = true;\n } else {\n // add the token to the characters\n characters.push(nextToken.token);\n }\n }\n scanner.advancePastToken(nextToken);\n }\n return {\n col: this.columnFormatter.format(characters.join('')),\n foundClosingQuote\n };\n }\n checkForMalformedColumn(scanner) {\n const {\n parserOptions\n } = this;\n const {\n nextNonSpaceToken\n } = scanner;\n if (nextNonSpaceToken) {\n const isNextTokenADelimiter = Token_1.Token.isTokenDelimiter(nextNonSpaceToken, parserOptions);\n const isNextTokenARowDelimiter = Token_1.Token.isTokenRowDelimiter(nextNonSpaceToken);\n if (!(isNextTokenADelimiter || isNextTokenARowDelimiter)) {\n // if the final quote was NOT followed by a column (,) or row(\\n) delimiter then its a bad column\n // tldr: only part of the column was quoted\n const linePreview = scanner.lineFromCursor.substr(0, 10).replace(/[\\r\\n]/g, \"\\\\n'\");\n throw new Error(`Parse Error: expected: '${parserOptions.escapedDelimiter}' OR new line got: '${nextNonSpaceToken.token}'. at '${linePreview}`);\n }\n scanner.advanceToToken(nextNonSpaceToken);\n } else if (!scanner.hasMoreData) {\n scanner.advancePastLine();\n }\n }\n}\nexports.QuotedColumnParser = QuotedColumnParser;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb2x1bW5Gb3JtYXR0ZXJfMSIsInJlcXVpcmUiLCJUb2tlbl8xIiwiUXVvdGVkQ29sdW1uUGFyc2VyIiwiY29uc3RydWN0b3IiLCJwYXJzZXJPcHRpb25zIiwiY29sdW1uRm9ybWF0dGVyIiwiQ29sdW1uRm9ybWF0dGVyIiwicGFyc2UiLCJzY2FubmVyIiwiaGFzTW9yZUNoYXJhY3RlcnMiLCJvcmlnaW5hbEN1cnNvciIsImN1cnNvciIsImZvdW5kQ2xvc2luZ1F1b3RlIiwiY29sIiwiZ2F0aGVyRGF0YUJldHdlZW5RdW90ZXMiLCJhZHZhbmNlVG8iLCJoYXNNb3JlRGF0YSIsIkVycm9yIiwicXVvdGUiLCJsaW5lRnJvbUN1cnNvciIsInJlcGxhY2UiLCJjaGVja0Zvck1hbGZvcm1lZENvbHVtbiIsImZvdW5kU3RhcnRpbmdRdW90ZSIsImNoYXJhY3RlcnMiLCJuZXh0VG9rZW4iLCJuZXh0Q2hhcmFjdGVyVG9rZW4iLCJpc1F1b3RlIiwiVG9rZW4iLCJpc1Rva2VuUXVvdGUiLCJpc1Rva2VuRXNjYXBlQ2hhcmFjdGVyIiwiYWR2YW5jZVBhc3RUb2tlbiIsInRva2VuRm9sbG93aW5nRXNjYXBlIiwicHVzaCIsInRva2VuIiwiZm9ybWF0Iiwiam9pbiIsIm5leHROb25TcGFjZVRva2VuIiwiaXNOZXh0VG9rZW5BRGVsaW1pdGVyIiwiaXNUb2tlbkRlbGltaXRlciIsImlzTmV4dFRva2VuQVJvd0RlbGltaXRlciIsImlzVG9rZW5Sb3dEZWxpbWl0ZXIiLCJsaW5lUHJldmlldyIsInN1YnN0ciIsImVzY2FwZWREZWxpbWl0ZXIiLCJhZHZhbmNlVG9Ub2tlbiIsImFkdmFuY2VQYXN0TGluZSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFyc2VyL2NvbHVtbi9RdW90ZWRDb2x1bW5QYXJzZXIudHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE1BQUFBLGlCQUFBLEdBQUFDLE9BQUE7QUFHQSxN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","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ColumnFormatter = exports.QuotedColumnParser = exports.NonQuotedColumnParser = exports.ColumnParser = void 0;\nvar ColumnParser_1 = require(\"./ColumnParser\");\nObject.defineProperty(exports, \"ColumnParser\", {\n enumerable: true,\n get: function () {\n return ColumnParser_1.ColumnParser;\n }\n});\nvar NonQuotedColumnParser_1 = require(\"./NonQuotedColumnParser\");\nObject.defineProperty(exports, \"NonQuotedColumnParser\", {\n enumerable: true,\n get: function () {\n return NonQuotedColumnParser_1.NonQuotedColumnParser;\n }\n});\nvar QuotedColumnParser_1 = require(\"./QuotedColumnParser\");\nObject.defineProperty(exports, \"QuotedColumnParser\", {\n enumerable: true,\n get: function () {\n return QuotedColumnParser_1.QuotedColumnParser;\n }\n});\nvar ColumnFormatter_1 = require(\"./ColumnFormatter\");\nObject.defineProperty(exports, \"ColumnFormatter\", {\n enumerable: true,\n get: function () {\n return ColumnFormatter_1.ColumnFormatter;\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb2x1bW5QYXJzZXJfMSIsInJlcXVpcmUiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiQ29sdW1uUGFyc2VyIiwiTm9uUXVvdGVkQ29sdW1uUGFyc2VyXzEiLCJOb25RdW90ZWRDb2x1bW5QYXJzZXIiLCJRdW90ZWRDb2x1bW5QYXJzZXJfMSIsIlF1b3RlZENvbHVtblBhcnNlciIsIkNvbHVtbkZvcm1hdHRlcl8xIiwiQ29sdW1uRm9ybWF0dGVyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BhcnNlci9jb2x1bW4vaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLGNBQUEsR0FBQUMsT0FBQTtBQUFTQyxNQUFBLENBQUFDLGNBQUEsQ0FBQUMsT0FBQTtFQUFBQyxVQUFBO0VBQUFDLEdBQUEsV0FBQUEsQ0FBQTtJQUFBLE9BQUFOLGNBQUEsQ0FBQU8sWUFBWTtFQUFBO0FBQUE7QUFDckIsSUFBQUMsdUJBQUEsR0FBQVAsT0FBQTtBQUFTQyxNQUFBLENBQUFDLGNBQUEsQ0FBQUMsT0FBQTtFQUFBQyxVQUFBO0VBQUFDLEdBQUEsV0FBQUEsQ0FBQTtJQUFBLE9BQUFFLHVCQUFBLENBQUFDLHFCQUFxQjtFQUFBO0FBQUE7QUFDOUIsSUFBQUMsb0JBQUEsR0FBQVQsT0FBQTtBQUFTQyxNQUFBLENBQUFDLGNBQUEsQ0FBQUMsT0FBQTtFQUFBQyxVQUFBO0VBQUFDLEdBQUEsV0FBQUEsQ0FBQTtJQUFBLE9BQUFJLG9CQUFBLENBQUFDLGtCQUFrQjtFQUFBO0FBQUE7QUFDM0IsSUFBQUMsaUJBQUEsR0FBQVgsT0FBQTtBQUFTQyxNQUFBLENBQUFDLGNBQUEsQ0FBQUMsT0FBQTtFQUFBQyxVQUFBO0VBQUFDLEdBQUEsV0FBQUEsQ0FBQTtJQUFBLE9BQUFNLGlCQUFBLENBQUFDLGVBQWU7RUFBQTtBQUFBIn0=","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.QuotedColumnParser = exports.NonQuotedColumnParser = exports.ColumnParser = exports.Token = exports.Scanner = exports.RowParser = exports.Parser = void 0;\nvar Parser_1 = require(\"./Parser\");\nObject.defineProperty(exports, \"Parser\", {\n enumerable: true,\n get: function () {\n return Parser_1.Parser;\n }\n});\nvar RowParser_1 = require(\"./RowParser\");\nObject.defineProperty(exports, \"RowParser\", {\n enumerable: true,\n get: function () {\n return RowParser_1.RowParser;\n }\n});\nvar Scanner_1 = require(\"./Scanner\");\nObject.defineProperty(exports, \"Scanner\", {\n enumerable: true,\n get: function () {\n return Scanner_1.Scanner;\n }\n});\nvar Token_1 = require(\"./Token\");\nObject.defineProperty(exports, \"Token\", {\n enumerable: true,\n get: function () {\n return Token_1.Token;\n }\n});\nvar column_1 = require(\"./column\");\nObject.defineProperty(exports, \"ColumnParser\", {\n enumerable: true,\n get: function () {\n return column_1.ColumnParser;\n }\n});\nObject.defineProperty(exports, \"NonQuotedColumnParser\", {\n enumerable: true,\n get: function () {\n return column_1.NonQuotedColumnParser;\n }\n});\nObject.defineProperty(exports, \"QuotedColumnParser\", {\n enumerable: true,\n get: function () {\n return column_1.QuotedColumnParser;\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJQYXJzZXJfMSIsInJlcXVpcmUiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiUGFyc2VyIiwiUm93UGFyc2VyXzEiLCJSb3dQYXJzZXIiLCJTY2FubmVyXzEiLCJTY2FubmVyIiwiVG9rZW5fMSIsIlRva2VuIiwiY29sdW1uXzEiLCJDb2x1bW5QYXJzZXIiLCJOb25RdW90ZWRDb2x1bW5QYXJzZXIiLCJRdW90ZWRDb2x1bW5QYXJzZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFyc2VyL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbbnVsbF0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxRQUFBLEdBQUFDLE9BQUE7QUFBU0MsTUFBQSxDQUFBQyxjQUFBLENBQUFDLE9BQUE7RUFBQUMsVUFBQTtFQUFBQyxHQUFBLFdBQUFBLENBQUE7SUFBQSxPQUFBTixRQUFBLENBQUFPLE1BQU07RUFBQTtBQUFBO0FBQ2YsSUFBQUMsV0FBQSxHQUFBUCxPQUFBO0FBQVNDLE1BQUEsQ0FBQUMsY0FBQSxDQUFBQyxPQUFBO0VBQUFDLFVBQUE7RUFBQUMsR0FBQSxXQUFBQSxDQUFBO0lBQUEsT0FBQUUsV0FBQSxDQUFBQyxTQUFTO0VBQUE7QUFBQTtBQUNsQixJQUFBQyxTQUFBLEdBQUFULE9BQUE7QUFBU0MsTUFBQSxDQUFBQyxjQUFBLENBQUFDLE9BQUE7RUFBQUMsVUFBQTtFQUFBQyxHQUFBLFdBQUFBLENBQUE7SUFBQSxPQUFBSSxTQUFBLENBQUFDLE9BQU87RUFBQTtBQUFBO0FBQ2hCLElBQUFDLE9BQUEsR0FBQVgsT0FBQTtBQUFTQyxNQUFBLENBQUFDLGNBQUEsQ0FBQUMsT0FBQTtFQUFBQyxVQUFBO0VBQUFDLEdBQUEsV0FBQUEsQ0FBQTtJQUFBLE9BQUFNLE9BQUEsQ0FBQUMsS0FBSztFQUFBO0FBQUE7QUFDZCxJQUFBQyxRQUFBLEdBQUFiLE9BQUE7QUFBU0MsTUFBQSxDQUFBQyxjQUFBLENBQUFDLE9BQUE7RUFBQUMsVUFBQTtFQUFBQyxHQUFBLFdBQUFBLENBQUE7SUFBQSxPQUFBUSxRQUFBLENBQUFDLFlBQVk7RUFBQTtBQUFBO0FBQUViLE1BQUEsQ0FBQUMsY0FBQSxDQUFBQyxPQUFBO0VBQUFDLFVBQUE7RUFBQUMsR0FBQSxXQUFBQSxDQUFBO0lBQUEsT0FBQVEsUUFBQSxDQUFBRSxxQkFBcUI7RUFBQTtBQUFBO0FBQUVkLE1BQUEsQ0FBQUMsY0FBQSxDQUFBQyxPQUFBO0VBQUFDLFVBQUE7RUFBQUMsR0FBQSxXQUFBQSxDQUFBO0lBQUEsT0FBQVEsUUFBQSxDQUFBRyxrQkFBa0I7RUFBQTtBQUFBIn0=","\"use strict\";\n\nvar __importDefault = void 0 && (void 0).__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.HeaderTransformer = void 0;\nconst lodash_isundefined_1 = __importDefault(require(\"lodash.isundefined\"));\nconst lodash_isfunction_1 = __importDefault(require(\"lodash.isfunction\"));\nconst lodash_uniq_1 = __importDefault(require(\"lodash.uniq\"));\nconst lodash_groupby_1 = __importDefault(require(\"lodash.groupby\"));\nclass HeaderTransformer {\n constructor(parserOptions) {\n this.headers = null;\n this.receivedHeaders = false;\n this.shouldUseFirstRow = false;\n this.processedFirstRow = false;\n this.headersLength = 0;\n this.parserOptions = parserOptions;\n if (parserOptions.headers === true) {\n this.shouldUseFirstRow = true;\n } else if (Array.isArray(parserOptions.headers)) {\n this.setHeaders(parserOptions.headers);\n } else if (lodash_isfunction_1.default(parserOptions.headers)) {\n this.headersTransform = parserOptions.headers;\n }\n }\n transform(row, cb) {\n if (!this.shouldMapRow(row)) {\n return cb(null, {\n row: null,\n isValid: true\n });\n }\n return cb(null, this.processRow(row));\n }\n shouldMapRow(row) {\n const {\n parserOptions\n } = this;\n if (!this.headersTransform && parserOptions.renameHeaders && !this.processedFirstRow) {\n if (!this.receivedHeaders) {\n throw new Error('Error renaming headers: new headers must be provided in an array');\n }\n this.processedFirstRow = true;\n return false;\n }\n if (!this.receivedHeaders && Array.isArray(row)) {\n if (this.headersTransform) {\n this.setHeaders(this.headersTransform(row));\n } else if (this.shouldUseFirstRow) {\n this.setHeaders(row);\n } else {\n // dont do anything with the headers if we didnt receive a transform or shouldnt use the first row.\n return true;\n }\n return false;\n }\n return true;\n }\n processRow(row) {\n if (!this.headers) {\n return {\n row: row,\n isValid: true\n };\n }\n const {\n parserOptions\n } = this;\n if (!parserOptions.discardUnmappedColumns && row.length > this.headersLength) {\n if (!parserOptions.strictColumnHandling) {\n throw new Error(`Unexpected Error: column header mismatch expected: ${this.headersLength} columns got: ${row.length}`);\n }\n return {\n row: row,\n isValid: false,\n reason: `Column header mismatch expected: ${this.headersLength} columns got: ${row.length}`\n };\n }\n if (parserOptions.strictColumnHandling && row.length < this.headersLength) {\n return {\n row: row,\n isValid: false,\n reason: `Column header mismatch expected: ${this.headersLength} columns got: ${row.length}`\n };\n }\n return {\n row: this.mapHeaders(row),\n isValid: true\n };\n }\n mapHeaders(row) {\n const rowMap = {};\n const {\n headers,\n headersLength\n } = this;\n for (let i = 0; i < headersLength; i += 1) {\n const header = headers[i];\n if (!lodash_isundefined_1.default(header)) {\n const val = row[i];\n // eslint-disable-next-line no-param-reassign\n if (lodash_isundefined_1.default(val)) {\n rowMap[header] = '';\n } else {\n rowMap[header] = val;\n }\n }\n }\n return rowMap;\n }\n setHeaders(headers) {\n var _a;\n const filteredHeaders = headers.filter(h => !!h);\n if (lodash_uniq_1.default(filteredHeaders).length !== filteredHeaders.length) {\n const grouped = lodash_groupby_1.default(filteredHeaders);\n const duplicates = Object.keys(grouped).filter(dup => grouped[dup].length > 1);\n throw new Error(`Duplicate headers found ${JSON.stringify(duplicates)}`);\n }\n this.headers = headers;\n this.receivedHeaders = true;\n this.headersLength = ((_a = this.headers) === null || _a === void 0 ? void 0 : _a.length) || 0;\n }\n}\nexports.HeaderTransformer = HeaderTransformer;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2Rhc2hfaXN1bmRlZmluZWRfMSIsIl9faW1wb3J0RGVmYXVsdCIsInJlcXVpcmUiLCJsb2Rhc2hfaXNmdW5jdGlvbl8xIiwibG9kYXNoX3VuaXFfMSIsImxvZGFzaF9ncm91cGJ5XzEiLCJIZWFkZXJUcmFuc2Zvcm1lciIsImNvbnN0cnVjdG9yIiwicGFyc2VyT3B0aW9ucyIsImhlYWRlcnMiLCJyZWNlaXZlZEhlYWRlcnMiLCJzaG91bGRVc2VGaXJzdFJvdyIsInByb2Nlc3NlZEZpcnN0Um93IiwiaGVhZGVyc0xlbmd0aCIsIkFycmF5IiwiaXNBcnJheSIsInNldEhlYWRlcnMiLCJkZWZhdWx0IiwiaGVhZGVyc1RyYW5zZm9ybSIsInRyYW5zZm9ybSIsInJvdyIsImNiIiwic2hvdWxkTWFwUm93IiwiaXNWYWxpZCIsInByb2Nlc3NSb3ciLCJyZW5hbWVIZWFkZXJzIiwiRXJyb3IiLCJkaXNjYXJkVW5tYXBwZWRDb2x1bW5zIiwibGVuZ3RoIiwic3RyaWN0Q29sdW1uSGFuZGxpbmciLCJyZWFzb24iLCJtYXBIZWFkZXJzIiwicm93TWFwIiwiaSIsImhlYWRlciIsInZhbCIsImZpbHRlcmVkSGVhZGVycyIsImZpbHRlciIsImgiLCJncm91cGVkIiwiZHVwbGljYXRlcyIsIk9iamVjdCIsImtleXMiLCJkdXAiLCJKU09OIiwic3RyaW5naWZ5IiwiX2EiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RyYW5zZm9ybXMvSGVhZGVyVHJhbnNmb3JtZXIudHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsTUFBQUEsb0JBQUEsR0FBQUMsZUFBQSxDQUFBQyxPQUFBO0FBQ0EsTUFBQUMsbUJBQUEsR0FBQUYsZUFBQSxDQUFBQyxPQUFBO0FBQ0EsTUFBQUUsYUFBQSxHQUFBSCxlQUFBLENBQUFDLE9BQUE7QUFDQSxNQUFBRyxnQkFBQSxHQUFBSixlQUFBLENBQUFDLE9BQUE7QUFZQSxNQUFhSSxp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","\"use strict\";\n\nvar __importDefault = void 0 && (void 0).__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.RowTransformerValidator = void 0;\nconst lodash_isfunction_1 = __importDefault(require(\"lodash.isfunction\"));\nconst types_1 = require(\"../types\");\nclass RowTransformerValidator {\n constructor() {\n this._rowTransform = null;\n this._rowValidator = null;\n }\n // eslint-disable-next-line @typescript-eslint/no-shadow\n static createTransform(transformFunction) {\n if (types_1.isSyncTransform(transformFunction)) {\n return (row, cb) => {\n let transformed = null;\n try {\n transformed = transformFunction(row);\n } catch (e) {\n return cb(e);\n }\n return cb(null, transformed);\n };\n }\n return transformFunction;\n }\n static createValidator(validateFunction) {\n if (types_1.isSyncValidate(validateFunction)) {\n return (row, cb) => {\n cb(null, {\n row,\n isValid: validateFunction(row)\n });\n };\n }\n return (row, cb) => {\n validateFunction(row, (err, isValid, reason) => {\n if (err) {\n return cb(err);\n }\n if (isValid) {\n return cb(null, {\n row,\n isValid,\n reason\n });\n }\n return cb(null, {\n row,\n isValid: false,\n reason\n });\n });\n };\n }\n set rowTransform(transformFunction) {\n if (!lodash_isfunction_1.default(transformFunction)) {\n throw new TypeError('The transform should be a function');\n }\n this._rowTransform = RowTransformerValidator.createTransform(transformFunction);\n }\n set rowValidator(validateFunction) {\n if (!lodash_isfunction_1.default(validateFunction)) {\n throw new TypeError('The validate should be a function');\n }\n this._rowValidator = RowTransformerValidator.createValidator(validateFunction);\n }\n transformAndValidate(row, cb) {\n return this.callTransformer(row, (transformErr, transformedRow) => {\n if (transformErr) {\n return cb(transformErr);\n }\n if (!transformedRow) {\n return cb(null, {\n row: null,\n isValid: true\n });\n }\n return this.callValidator(transformedRow, (validateErr, validationResult) => {\n if (validateErr) {\n return cb(validateErr);\n }\n if (validationResult && !validationResult.isValid) {\n return cb(null, {\n row: transformedRow,\n isValid: false,\n reason: validationResult.reason\n });\n }\n return cb(null, {\n row: transformedRow,\n isValid: true\n });\n });\n });\n }\n callTransformer(row, cb) {\n if (!this._rowTransform) {\n return cb(null, row);\n }\n return this._rowTransform(row, cb);\n }\n callValidator(row, cb) {\n if (!this._rowValidator) {\n return cb(null, {\n row,\n isValid: true\n });\n }\n return this._rowValidator(row, cb);\n }\n}\nexports.RowTransformerValidator = RowTransformerValidator;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2Rhc2hfaXNmdW5jdGlvbl8xIiwiX19pbXBvcnREZWZhdWx0IiwicmVxdWlyZSIsInR5cGVzXzEiLCJSb3dUcmFuc2Zvcm1lclZhbGlkYXRvciIsImNvbnN0cnVjdG9yIiwiX3Jvd1RyYW5zZm9ybSIsIl9yb3dWYWxpZGF0b3IiLCJjcmVhdGVUcmFuc2Zvcm0iLCJ0cmFuc2Zvcm1GdW5jdGlvbiIsImlzU3luY1RyYW5zZm9ybSIsInJvdyIsImNiIiwidHJhbnNmb3JtZWQiLCJlIiwiY3JlYXRlVmFsaWRhdG9yIiwidmFsaWRhdGVGdW5jdGlvbiIsImlzU3luY1ZhbGlkYXRlIiwiaXNWYWxpZCIsImVyciIsInJlYXNvbiIsInJvd1RyYW5zZm9ybSIsImRlZmF1bHQiLCJUeXBlRXJyb3IiLCJyb3dWYWxpZGF0b3IiLCJ0cmFuc2Zvcm1BbmRWYWxpZGF0ZSIsImNhbGxUcmFuc2Zvcm1lciIsInRyYW5zZm9ybUVyciIsInRyYW5zZm9ybWVkUm93IiwiY2FsbFZhbGlkYXRvciIsInZhbGlkYXRlRXJyIiwidmFsaWRhdGlvblJlc3VsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHJhbnNmb3Jtcy9Sb3dUcmFuc2Zvcm1lclZhbGlkYXRvci50cyJdLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxNQUFBQSxtQkFBQSxHQUFBQyxlQUFBLENBQUFDLE9BQUE7QUFDQSxNQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFhQSxNQUFhRSx1QkFBdUI7RUFBcENDLFlBQUE7SUFzQ1ksS0FBQUMsYUFBYSxHQUFtQyxJQUFJO0lBRXBELEtBQUFDLGFBQWEsR0FBMkIsSUFBSTtFQWlEeEQ7RUF4Rkk7RUFDUSxPQUFPQyxlQUFlQSxDQUMxQkMsaUJBQTZDO0lBRTdDLElBQUlOLE9BQUEsQ0FBQU8sZUFBZSxDQUFDRCxpQkFBaUIsQ0FBQyxFQUFFO01BQ3BDLE9BQU8sQ0FBQ0UsR0FBTSxFQUFFQyxFQUEyQixLQUFV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","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.HeaderTransformer = exports.RowTransformerValidator = void 0;\nvar RowTransformerValidator_1 = require(\"./RowTransformerValidator\");\nObject.defineProperty(exports, \"RowTransformerValidator\", {\n enumerable: true,\n get: function () {\n return RowTransformerValidator_1.RowTransformerValidator;\n }\n});\nvar HeaderTransformer_1 = require(\"./HeaderTransformer\");\nObject.defineProperty(exports, \"HeaderTransformer\", {\n enumerable: true,\n get: function () {\n return HeaderTransformer_1.HeaderTransformer;\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSb3dUcmFuc2Zvcm1lclZhbGlkYXRvcl8xIiwicmVxdWlyZSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsImVudW1lcmFibGUiLCJnZXQiLCJSb3dUcmFuc2Zvcm1lclZhbGlkYXRvciIsIkhlYWRlclRyYW5zZm9ybWVyXzEiLCJIZWFkZXJUcmFuc2Zvcm1lciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1zL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbbnVsbF0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSx5QkFBQSxHQUFBQyxPQUFBO0FBQVNDLE1BQUEsQ0FBQUMsY0FBQSxDQUFBQyxPQUFBO0VBQUFDLFVBQUE7RUFBQUMsR0FBQSxXQUFBQSxDQUFBO0lBQUEsT0FBQU4seUJBQUEsQ0FBQU8sdUJBQXVCO0VBQUE7QUFBQTtBQUNoQyxJQUFBQyxtQkFBQSxHQUFBUCxPQUFBO0FBQVNDLE1BQUEsQ0FBQUMsY0FBQSxDQUFBQyxPQUFBO0VBQUFDLFVBQUE7RUFBQUMsR0FBQSxXQUFBQSxDQUFBO0lBQUEsT0FBQUUsbUJBQUEsQ0FBQUMsaUJBQWlCO0VBQUE7QUFBQSJ9","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isSyncValidate = exports.isSyncTransform = void 0;\nexports.isSyncTransform = transform => transform.length === 1;\nexports.isSyncValidate = validate => validate.length === 1;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJleHBvcnRzIiwiaXNTeW5jVHJhbnNmb3JtIiwidHJhbnNmb3JtIiwibGVuZ3RoIiwiaXNTeW5jVmFsaWRhdGUiLCJ2YWxpZGF0ZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBb0JhQSxPQUFBLENBQUFDLGVBQWUsR0FDeEJDLFNBQXFDLElBQ0NBLFNBQVMsQ0FBQ0MsTUFBTSxLQUFLLENBQUM7QUFRbkRILE9BQUEsQ0FBQUksY0FBYyxHQUFtQkMsUUFBd0IsSUFDbEVBLFFBQVEsQ0FBQ0YsTUFBTSxLQUFLLENBQUMifQ==","'use strict';\n\nconst asn1 = exports;\n\nasn1.bignum = require('bn.js');\n\nasn1.define = require('./asn1/api').define;\nasn1.base = require('./asn1/base');\nasn1.constants = require('./asn1/constants');\nasn1.decoders = require('./asn1/decoders');\nasn1.encoders = require('./asn1/encoders');\n","'use strict';\n\nconst encoders = require('./encoders');\nconst decoders = require('./decoders');\nconst inherits = require('inherits');\n\nconst api = exports;\n\napi.define = function define(name, body) {\n return new Entity(name, body);\n};\n\nfunction Entity(name, body) {\n this.name = name;\n this.body = body;\n\n this.decoders = {};\n this.encoders = {};\n}\n\nEntity.prototype._createNamed = function createNamed(Base) {\n const name = this.name;\n\n function Generated(entity) {\n this._initNamed(entity, name);\n }\n inherits(Generated, Base);\n Generated.prototype._initNamed = function _initNamed(entity, name) {\n Base.call(this, entity, name);\n };\n\n return new Generated(this);\n};\n\nEntity.prototype._getDecoder = function _getDecoder(enc) {\n enc = enc || 'der';\n // Lazily create decoder\n if (!this.decoders.hasOwnProperty(enc))\n this.decoders[enc] = this._createNamed(decoders[enc]);\n return this.decoders[enc];\n};\n\nEntity.prototype.decode = function decode(data, enc, options) {\n return this._getDecoder(enc).decode(data, options);\n};\n\nEntity.prototype._getEncoder = function _getEncoder(enc) {\n enc = enc || 'der';\n // Lazily create encoder\n if (!this.encoders.hasOwnProperty(enc))\n this.encoders[enc] = this._createNamed(encoders[enc]);\n return this.encoders[enc];\n};\n\nEntity.prototype.encode = function encode(data, enc, /* internal */ reporter) {\n return this._getEncoder(enc).encode(data, reporter);\n};\n","'use strict';\n\nconst inherits = require('inherits');\nconst Reporter = require('../base/reporter').Reporter;\nconst Buffer = require('safer-buffer').Buffer;\n\nfunction DecoderBuffer(base, options) {\n Reporter.call(this, options);\n if (!Buffer.isBuffer(base)) {\n this.error('Input not Buffer');\n return;\n }\n\n this.base = base;\n this.offset = 0;\n this.length = base.length;\n}\ninherits(DecoderBuffer, Reporter);\nexports.DecoderBuffer = DecoderBuffer;\n\nDecoderBuffer.isDecoderBuffer = function isDecoderBuffer(data) {\n if (data instanceof DecoderBuffer) {\n return true;\n }\n\n // Or accept compatible API\n const isCompatible = typeof data === 'object' &&\n Buffer.isBuffer(data.base) &&\n data.constructor.name === 'DecoderBuffer' &&\n typeof data.offset === 'number' &&\n typeof data.length === 'number' &&\n typeof data.save === 'function' &&\n typeof data.restore === 'function' &&\n typeof data.isEmpty === 'function' &&\n typeof data.readUInt8 === 'function' &&\n typeof data.skip === 'function' &&\n typeof data.raw === 'function';\n\n return isCompatible;\n};\n\nDecoderBuffer.prototype.save = function save() {\n return { offset: this.offset, reporter: Reporter.prototype.save.call(this) };\n};\n\nDecoderBuffer.prototype.restore = function restore(save) {\n // Return skipped data\n const res = new DecoderBuffer(this.base);\n res.offset = save.offset;\n res.length = this.offset;\n\n this.offset = save.offset;\n Reporter.prototype.restore.call(this, save.reporter);\n\n return res;\n};\n\nDecoderBuffer.prototype.isEmpty = function isEmpty() {\n return this.offset === this.length;\n};\n\nDecoderBuffer.prototype.readUInt8 = function readUInt8(fail) {\n if (this.offset + 1 <= this.length)\n return this.base.readUInt8(this.offset++, true);\n else\n return this.error(fail || 'DecoderBuffer overrun');\n};\n\nDecoderBuffer.prototype.skip = function skip(bytes, fail) {\n if (!(this.offset + bytes <= this.length))\n return this.error(fail || 'DecoderBuffer overrun');\n\n const res = new DecoderBuffer(this.base);\n\n // Share reporter state\n res._reporterState = this._reporterState;\n\n res.offset = this.offset;\n res.length = this.offset + bytes;\n this.offset += bytes;\n return res;\n};\n\nDecoderBuffer.prototype.raw = function raw(save) {\n return this.base.slice(save ? save.offset : this.offset, this.length);\n};\n\nfunction EncoderBuffer(value, reporter) {\n if (Array.isArray(value)) {\n this.length = 0;\n this.value = value.map(function(item) {\n if (!EncoderBuffer.isEncoderBuffer(item))\n item = new EncoderBuffer(item, reporter);\n this.length += item.length;\n return item;\n }, this);\n } else if (typeof value === 'number') {\n if (!(0 <= value && value <= 0xff))\n return reporter.error('non-byte EncoderBuffer value');\n this.value = value;\n this.length = 1;\n } else if (typeof value === 'string') {\n this.value = value;\n this.length = Buffer.byteLength(value);\n } else if (Buffer.isBuffer(value)) {\n this.value = value;\n this.length = value.length;\n } else {\n return reporter.error('Unsupported type: ' + typeof value);\n }\n}\nexports.EncoderBuffer = EncoderBuffer;\n\nEncoderBuffer.isEncoderBuffer = function isEncoderBuffer(data) {\n if (data instanceof EncoderBuffer) {\n return true;\n }\n\n // Or accept compatible API\n const isCompatible = typeof data === 'object' &&\n data.constructor.name === 'EncoderBuffer' &&\n typeof data.length === 'number' &&\n typeof data.join === 'function';\n\n return isCompatible;\n};\n\nEncoderBuffer.prototype.join = function join(out, offset) {\n if (!out)\n out = Buffer.alloc(this.length);\n if (!offset)\n offset = 0;\n\n if (this.length === 0)\n return out;\n\n if (Array.isArray(this.value)) {\n this.value.forEach(function(item) {\n item.join(out, offset);\n offset += item.length;\n });\n } else {\n if (typeof this.value === 'number')\n out[offset] = this.value;\n else if (typeof this.value === 'string')\n out.write(this.value, offset);\n else if (Buffer.isBuffer(this.value))\n this.value.copy(out, offset);\n offset += this.length;\n }\n\n return out;\n};\n","'use strict';\n\nconst base = exports;\n\nbase.Reporter = require('./reporter').Reporter;\nbase.DecoderBuffer = require('./buffer').DecoderBuffer;\nbase.EncoderBuffer = require('./buffer').EncoderBuffer;\nbase.Node = require('./node');\n","'use strict';\n\nconst Reporter = require('../base/reporter').Reporter;\nconst EncoderBuffer = require('../base/buffer').EncoderBuffer;\nconst DecoderBuffer = require('../base/buffer').DecoderBuffer;\nconst assert = require('minimalistic-assert');\n\n// Supported tags\nconst tags = [\n 'seq', 'seqof', 'set', 'setof', 'objid', 'bool',\n 'gentime', 'utctime', 'null_', 'enum', 'int', 'objDesc',\n 'bitstr', 'bmpstr', 'charstr', 'genstr', 'graphstr', 'ia5str', 'iso646str',\n 'numstr', 'octstr', 'printstr', 't61str', 'unistr', 'utf8str', 'videostr'\n];\n\n// Public methods list\nconst methods = [\n 'key', 'obj', 'use', 'optional', 'explicit', 'implicit', 'def', 'choice',\n 'any', 'contains'\n].concat(tags);\n\n// Overrided methods list\nconst overrided = [\n '_peekTag', '_decodeTag', '_use',\n '_decodeStr', '_decodeObjid', '_decodeTime',\n '_decodeNull', '_decodeInt', '_decodeBool', '_decodeList',\n\n '_encodeComposite', '_encodeStr', '_encodeObjid', '_encodeTime',\n '_encodeNull', '_encodeInt', '_encodeBool'\n];\n\nfunction Node(enc, parent, name) {\n const state = {};\n this._baseState = state;\n\n state.name = name;\n state.enc = enc;\n\n state.parent = parent || null;\n state.children = null;\n\n // State\n state.tag = null;\n state.args = null;\n state.reverseArgs = null;\n state.choice = null;\n state.optional = false;\n state.any = false;\n state.obj = false;\n state.use = null;\n state.useDecoder = null;\n state.key = null;\n state['default'] = null;\n state.explicit = null;\n state.implicit = null;\n state.contains = null;\n\n // Should create new instance on each method\n if (!state.parent) {\n state.children = [];\n this._wrap();\n }\n}\nmodule.exports = Node;\n\nconst stateProps = [\n 'enc', 'parent', 'children', 'tag', 'args', 'reverseArgs', 'choice',\n 'optional', 'any', 'obj', 'use', 'alteredUse', 'key', 'default', 'explicit',\n 'implicit', 'contains'\n];\n\nNode.prototype.clone = function clone() {\n const state = this._baseState;\n const cstate = {};\n stateProps.forEach(function(prop) {\n cstate[prop] = state[prop];\n });\n const res = new this.constructor(cstate.parent);\n res._baseState = cstate;\n return res;\n};\n\nNode.prototype._wrap = function wrap() {\n const state = this._baseState;\n methods.forEach(function(method) {\n this[method] = function _wrappedMethod() {\n const clone = new this.constructor(this);\n state.children.push(clone);\n return clone[method].apply(clone, arguments);\n };\n }, this);\n};\n\nNode.prototype._init = function init(body) {\n const state = this._baseState;\n\n assert(state.parent === null);\n body.call(this);\n\n // Filter children\n state.children = state.children.filter(function(child) {\n return child._baseState.parent === this;\n }, this);\n assert.equal(state.children.length, 1, 'Root node can have only one child');\n};\n\nNode.prototype._useArgs = function useArgs(args) {\n const state = this._baseState;\n\n // Filter children and args\n const children = args.filter(function(arg) {\n return arg instanceof this.constructor;\n }, this);\n args = args.filter(function(arg) {\n return !(arg instanceof this.constructor);\n }, this);\n\n if (children.length !== 0) {\n assert(state.children === null);\n state.children = children;\n\n // Replace parent to maintain backward link\n children.forEach(function(child) {\n child._baseState.parent = this;\n }, this);\n }\n if (args.length !== 0) {\n assert(state.args === null);\n state.args = args;\n state.reverseArgs = args.map(function(arg) {\n if (typeof arg !== 'object' || arg.constructor !== Object)\n return arg;\n\n const res = {};\n Object.keys(arg).forEach(function(key) {\n if (key == (key | 0))\n key |= 0;\n const value = arg[key];\n res[value] = key;\n });\n return res;\n });\n }\n};\n\n//\n// Overrided methods\n//\n\noverrided.forEach(function(method) {\n Node.prototype[method] = function _overrided() {\n const state = this._baseState;\n throw new Error(method + ' not implemented for encoding: ' + state.enc);\n };\n});\n\n//\n// Public methods\n//\n\ntags.forEach(function(tag) {\n Node.prototype[tag] = function _tagMethod() {\n const state = this._baseState;\n const args = Array.prototype.slice.call(arguments);\n\n assert(state.tag === null);\n state.tag = tag;\n\n this._useArgs(args);\n\n return this;\n };\n});\n\nNode.prototype.use = function use(item) {\n assert(item);\n const state = this._baseState;\n\n assert(state.use === null);\n state.use = item;\n\n return this;\n};\n\nNode.prototype.optional = function optional() {\n const state = this._baseState;\n\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.def = function def(val) {\n const state = this._baseState;\n\n assert(state['default'] === null);\n state['default'] = val;\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.explicit = function explicit(num) {\n const state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.explicit = num;\n\n return this;\n};\n\nNode.prototype.implicit = function implicit(num) {\n const state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.implicit = num;\n\n return this;\n};\n\nNode.prototype.obj = function obj() {\n const state = this._baseState;\n const args = Array.prototype.slice.call(arguments);\n\n state.obj = true;\n\n if (args.length !== 0)\n this._useArgs(args);\n\n return this;\n};\n\nNode.prototype.key = function key(newKey) {\n const state = this._baseState;\n\n assert(state.key === null);\n state.key = newKey;\n\n return this;\n};\n\nNode.prototype.any = function any() {\n const state = this._baseState;\n\n state.any = true;\n\n return this;\n};\n\nNode.prototype.choice = function choice(obj) {\n const state = this._baseState;\n\n assert(state.choice === null);\n state.choice = obj;\n this._useArgs(Object.keys(obj).map(function(key) {\n return obj[key];\n }));\n\n return this;\n};\n\nNode.prototype.contains = function contains(item) {\n const state = this._baseState;\n\n assert(state.use === null);\n state.contains = item;\n\n return this;\n};\n\n//\n// Decoding\n//\n\nNode.prototype._decode = function decode(input, options) {\n const state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return input.wrapResult(state.children[0]._decode(input, options));\n\n let result = state['default'];\n let present = true;\n\n let prevKey = null;\n if (state.key !== null)\n prevKey = input.enterKey(state.key);\n\n // Check if tag is there\n if (state.optional) {\n let tag = null;\n if (state.explicit !== null)\n tag = state.explicit;\n else if (state.implicit !== null)\n tag = state.implicit;\n else if (state.tag !== null)\n tag = state.tag;\n\n if (tag === null && !state.any) {\n // Trial and Error\n const save = input.save();\n try {\n if (state.choice === null)\n this._decodeGeneric(state.tag, input, options);\n else\n this._decodeChoice(input, options);\n present = true;\n } catch (e) {\n present = false;\n }\n input.restore(save);\n } else {\n present = this._peekTag(input, tag, state.any);\n\n if (input.isError(present))\n return present;\n }\n }\n\n // Push object on stack\n let prevObj;\n if (state.obj && present)\n prevObj = input.enterObject();\n\n if (present) {\n // Unwrap explicit values\n if (state.explicit !== null) {\n const explicit = this._decodeTag(input, state.explicit);\n if (input.isError(explicit))\n return explicit;\n input = explicit;\n }\n\n const start = input.offset;\n\n // Unwrap implicit and normal values\n if (state.use === null && state.choice === null) {\n let save;\n if (state.any)\n save = input.save();\n const body = this._decodeTag(\n input,\n state.implicit !== null ? state.implicit : state.tag,\n state.any\n );\n if (input.isError(body))\n return body;\n\n if (state.any)\n result = input.raw(save);\n else\n input = body;\n }\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), start, input.length, 'tagged');\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), input.offset, input.length, 'content');\n\n // Select proper method for tag\n if (state.any) {\n // no-op\n } else if (state.choice === null) {\n result = this._decodeGeneric(state.tag, input, options);\n } else {\n result = this._decodeChoice(input, options);\n }\n\n if (input.isError(result))\n return result;\n\n // Decode children\n if (!state.any && state.choice === null && state.children !== null) {\n state.children.forEach(function decodeChildren(child) {\n // NOTE: We are ignoring errors here, to let parser continue with other\n // parts of encoded data\n child._decode(input, options);\n });\n }\n\n // Decode contained/encoded by schema, only in bit or octet strings\n if (state.contains && (state.tag === 'octstr' || state.tag === 'bitstr')) {\n const data = new DecoderBuffer(result);\n result = this._getUse(state.contains, input._reporterState.obj)\n ._decode(data, options);\n }\n }\n\n // Pop object\n if (state.obj && present)\n result = input.leaveObject(prevObj);\n\n // Set key\n if (state.key !== null && (result !== null || present === true))\n input.leaveKey(prevKey, state.key, result);\n else if (prevKey !== null)\n input.exitKey(prevKey);\n\n return result;\n};\n\nNode.prototype._decodeGeneric = function decodeGeneric(tag, input, options) {\n const state = this._baseState;\n\n if (tag === 'seq' || tag === 'set')\n return null;\n if (tag === 'seqof' || tag === 'setof')\n return this._decodeList(input, tag, state.args[0], options);\n else if (/str$/.test(tag))\n return this._decodeStr(input, tag, options);\n else if (tag === 'objid' && state.args)\n return this._decodeObjid(input, state.args[0], state.args[1], options);\n else if (tag === 'objid')\n return this._decodeObjid(input, null, null, options);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._decodeTime(input, tag, options);\n else if (tag === 'null_')\n return this._decodeNull(input, options);\n else if (tag === 'bool')\n return this._decodeBool(input, options);\n else if (tag === 'objDesc')\n return this._decodeStr(input, tag, options);\n else if (tag === 'int' || tag === 'enum')\n return this._decodeInt(input, state.args && state.args[0], options);\n\n if (state.use !== null) {\n return this._getUse(state.use, input._reporterState.obj)\n ._decode(input, options);\n } else {\n return input.error('unknown tag: ' + tag);\n }\n};\n\nNode.prototype._getUse = function _getUse(entity, obj) {\n\n const state = this._baseState;\n // Create altered use decoder if implicit is set\n state.useDecoder = this._use(entity, obj);\n assert(state.useDecoder._baseState.parent === null);\n state.useDecoder = state.useDecoder._baseState.children[0];\n if (state.implicit !== state.useDecoder._baseState.implicit) {\n state.useDecoder = state.useDecoder.clone();\n state.useDecoder._baseState.implicit = state.implicit;\n }\n return state.useDecoder;\n};\n\nNode.prototype._decodeChoice = function decodeChoice(input, options) {\n const state = this._baseState;\n let result = null;\n let match = false;\n\n Object.keys(state.choice).some(function(key) {\n const save = input.save();\n const node = state.choice[key];\n try {\n const value = node._decode(input, options);\n if (input.isError(value))\n return false;\n\n result = { type: key, value: value };\n match = true;\n } catch (e) {\n input.restore(save);\n return false;\n }\n return true;\n }, this);\n\n if (!match)\n return input.error('Choice not matched');\n\n return result;\n};\n\n//\n// Encoding\n//\n\nNode.prototype._createEncoderBuffer = function createEncoderBuffer(data) {\n return new EncoderBuffer(data, this.reporter);\n};\n\nNode.prototype._encode = function encode(data, reporter, parent) {\n const state = this._baseState;\n if (state['default'] !== null && state['default'] === data)\n return;\n\n const result = this._encodeValue(data, reporter, parent);\n if (result === undefined)\n return;\n\n if (this._skipDefault(result, reporter, parent))\n return;\n\n return result;\n};\n\nNode.prototype._encodeValue = function encode(data, reporter, parent) {\n const state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return state.children[0]._encode(data, reporter || new Reporter());\n\n let result = null;\n\n // Set reporter to share it with a child class\n this.reporter = reporter;\n\n // Check if data is there\n if (state.optional && data === undefined) {\n if (state['default'] !== null)\n data = state['default'];\n else\n return;\n }\n\n // Encode children first\n let content = null;\n let primitive = false;\n if (state.any) {\n // Anything that was given is translated to buffer\n result = this._createEncoderBuffer(data);\n } else if (state.choice) {\n result = this._encodeChoice(data, reporter);\n } else if (state.contains) {\n content = this._getUse(state.contains, parent)._encode(data, reporter);\n primitive = true;\n } else if (state.children) {\n content = state.children.map(function(child) {\n if (child._baseState.tag === 'null_')\n return child._encode(null, reporter, data);\n\n if (child._baseState.key === null)\n return reporter.error('Child should have a key');\n const prevKey = reporter.enterKey(child._baseState.key);\n\n if (typeof data !== 'object')\n return reporter.error('Child expected, but input is not object');\n\n const res = child._encode(data[child._baseState.key], reporter, data);\n reporter.leaveKey(prevKey);\n\n return res;\n }, this).filter(function(child) {\n return child;\n });\n content = this._createEncoderBuffer(content);\n } else {\n if (state.tag === 'seqof' || state.tag === 'setof') {\n // TODO(indutny): this should be thrown on DSL level\n if (!(state.args && state.args.length === 1))\n return reporter.error('Too many args for : ' + state.tag);\n\n if (!Array.isArray(data))\n return reporter.error('seqof/setof, but data is not Array');\n\n const child = this.clone();\n child._baseState.implicit = null;\n content = this._createEncoderBuffer(data.map(function(item) {\n const state = this._baseState;\n\n return this._getUse(state.args[0], data)._encode(item, reporter);\n }, child));\n } else if (state.use !== null) {\n result = this._getUse(state.use, parent)._encode(data, reporter);\n } else {\n content = this._encodePrimitive(state.tag, data);\n primitive = true;\n }\n }\n\n // Encode data itself\n if (!state.any && state.choice === null) {\n const tag = state.implicit !== null ? state.implicit : state.tag;\n const cls = state.implicit === null ? 'universal' : 'context';\n\n if (tag === null) {\n if (state.use === null)\n reporter.error('Tag could be omitted only for .use()');\n } else {\n if (state.use === null)\n result = this._encodeComposite(tag, primitive, cls, content);\n }\n }\n\n // Wrap in explicit\n if (state.explicit !== null)\n result = this._encodeComposite(state.explicit, false, 'context', result);\n\n return result;\n};\n\nNode.prototype._encodeChoice = function encodeChoice(data, reporter) {\n const state = this._baseState;\n\n const node = state.choice[data.type];\n if (!node) {\n assert(\n false,\n data.type + ' not found in ' +\n JSON.stringify(Object.keys(state.choice)));\n }\n return node._encode(data.value, reporter);\n};\n\nNode.prototype._encodePrimitive = function encodePrimitive(tag, data) {\n const state = this._baseState;\n\n if (/str$/.test(tag))\n return this._encodeStr(data, tag);\n else if (tag === 'objid' && state.args)\n return this._encodeObjid(data, state.reverseArgs[0], state.args[1]);\n else if (tag === 'objid')\n return this._encodeObjid(data, null, null);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._encodeTime(data, tag);\n else if (tag === 'null_')\n return this._encodeNull();\n else if (tag === 'int' || tag === 'enum')\n return this._encodeInt(data, state.args && state.reverseArgs[0]);\n else if (tag === 'bool')\n return this._encodeBool(data);\n else if (tag === 'objDesc')\n return this._encodeStr(data, tag);\n else\n throw new Error('Unsupported tag: ' + tag);\n};\n\nNode.prototype._isNumstr = function isNumstr(str) {\n return /^[0-9 ]*$/.test(str);\n};\n\nNode.prototype._isPrintstr = function isPrintstr(str) {\n return /^[A-Za-z0-9 '()+,-./:=?]*$/.test(str);\n};\n","'use strict';\n\nconst inherits = require('inherits');\n\nfunction Reporter(options) {\n this._reporterState = {\n obj: null,\n path: [],\n options: options || {},\n errors: []\n };\n}\nexports.Reporter = Reporter;\n\nReporter.prototype.isError = function isError(obj) {\n return obj instanceof ReporterError;\n};\n\nReporter.prototype.save = function save() {\n const state = this._reporterState;\n\n return { obj: state.obj, pathLen: state.path.length };\n};\n\nReporter.prototype.restore = function restore(data) {\n const state = this._reporterState;\n\n state.obj = data.obj;\n state.path = state.path.slice(0, data.pathLen);\n};\n\nReporter.prototype.enterKey = function enterKey(key) {\n return this._reporterState.path.push(key);\n};\n\nReporter.prototype.exitKey = function exitKey(index) {\n const state = this._reporterState;\n\n state.path = state.path.slice(0, index - 1);\n};\n\nReporter.prototype.leaveKey = function leaveKey(index, key, value) {\n const state = this._reporterState;\n\n this.exitKey(index);\n if (state.obj !== null)\n state.obj[key] = value;\n};\n\nReporter.prototype.path = function path() {\n return this._reporterState.path.join('/');\n};\n\nReporter.prototype.enterObject = function enterObject() {\n const state = this._reporterState;\n\n const prev = state.obj;\n state.obj = {};\n return prev;\n};\n\nReporter.prototype.leaveObject = function leaveObject(prev) {\n const state = this._reporterState;\n\n const now = state.obj;\n state.obj = prev;\n return now;\n};\n\nReporter.prototype.error = function error(msg) {\n let err;\n const state = this._reporterState;\n\n const inherited = msg instanceof ReporterError;\n if (inherited) {\n err = msg;\n } else {\n err = new ReporterError(state.path.map(function(elem) {\n return '[' + JSON.stringify(elem) + ']';\n }).join(''), msg.message || msg, msg.stack);\n }\n\n if (!state.options.partial)\n throw err;\n\n if (!inherited)\n state.errors.push(err);\n\n return err;\n};\n\nReporter.prototype.wrapResult = function wrapResult(result) {\n const state = this._reporterState;\n if (!state.options.partial)\n return result;\n\n return {\n result: this.isError(result) ? null : result,\n errors: state.errors\n };\n};\n\nfunction ReporterError(path, msg) {\n this.path = path;\n this.rethrow(msg);\n}\ninherits(ReporterError, Error);\n\nReporterError.prototype.rethrow = function rethrow(msg) {\n this.message = msg + ' at: ' + (this.path || '(shallow)');\n if (Error.captureStackTrace)\n Error.captureStackTrace(this, ReporterError);\n\n if (!this.stack) {\n try {\n // IE only adds stack when thrown\n throw new Error(this.message);\n } catch (e) {\n this.stack = e.stack;\n }\n }\n return this;\n};\n","'use strict';\n\n// Helper\nfunction reverse(map) {\n const res = {};\n\n Object.keys(map).forEach(function(key) {\n // Convert key to integer if it is stringified\n if ((key | 0) == key)\n key = key | 0;\n\n const value = map[key];\n res[value] = key;\n });\n\n return res;\n}\n\nexports.tagClass = {\n 0: 'universal',\n 1: 'application',\n 2: 'context',\n 3: 'private'\n};\nexports.tagClassByName = reverse(exports.tagClass);\n\nexports.tag = {\n 0x00: 'end',\n 0x01: 'bool',\n 0x02: 'int',\n 0x03: 'bitstr',\n 0x04: 'octstr',\n 0x05: 'null_',\n 0x06: 'objid',\n 0x07: 'objDesc',\n 0x08: 'external',\n 0x09: 'real',\n 0x0a: 'enum',\n 0x0b: 'embed',\n 0x0c: 'utf8str',\n 0x0d: 'relativeOid',\n 0x10: 'seq',\n 0x11: 'set',\n 0x12: 'numstr',\n 0x13: 'printstr',\n 0x14: 't61str',\n 0x15: 'videostr',\n 0x16: 'ia5str',\n 0x17: 'utctime',\n 0x18: 'gentime',\n 0x19: 'graphstr',\n 0x1a: 'iso646str',\n 0x1b: 'genstr',\n 0x1c: 'unistr',\n 0x1d: 'charstr',\n 0x1e: 'bmpstr'\n};\nexports.tagByName = reverse(exports.tag);\n","'use strict';\n\nconst constants = exports;\n\n// Helper\nconstants._reverse = function reverse(map) {\n const res = {};\n\n Object.keys(map).forEach(function(key) {\n // Convert key to integer if it is stringified\n if ((key | 0) == key)\n key = key | 0;\n\n const value = map[key];\n res[value] = key;\n });\n\n return res;\n};\n\nconstants.der = require('./der');\n","'use strict';\n\nconst inherits = require('inherits');\n\nconst bignum = require('bn.js');\nconst DecoderBuffer = require('../base/buffer').DecoderBuffer;\nconst Node = require('../base/node');\n\n// Import DER constants\nconst der = require('../constants/der');\n\nfunction DERDecoder(entity) {\n this.enc = 'der';\n this.name = entity.name;\n this.entity = entity;\n\n // Construct base tree\n this.tree = new DERNode();\n this.tree._init(entity.body);\n}\nmodule.exports = DERDecoder;\n\nDERDecoder.prototype.decode = function decode(data, options) {\n if (!DecoderBuffer.isDecoderBuffer(data)) {\n data = new DecoderBuffer(data, options);\n }\n\n return this.tree._decode(data, options);\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n Node.call(this, 'der', parent);\n}\ninherits(DERNode, Node);\n\nDERNode.prototype._peekTag = function peekTag(buffer, tag, any) {\n if (buffer.isEmpty())\n return false;\n\n const state = buffer.save();\n const decodedTag = derDecodeTag(buffer, 'Failed to peek tag: \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n\n buffer.restore(state);\n\n return decodedTag.tag === tag || decodedTag.tagStr === tag ||\n (decodedTag.tagStr + 'of') === tag || any;\n};\n\nDERNode.prototype._decodeTag = function decodeTag(buffer, tag, any) {\n const decodedTag = derDecodeTag(buffer,\n 'Failed to decode tag of \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n\n let len = derDecodeLen(buffer,\n decodedTag.primitive,\n 'Failed to get length of \"' + tag + '\"');\n\n // Failure\n if (buffer.isError(len))\n return len;\n\n if (!any &&\n decodedTag.tag !== tag &&\n decodedTag.tagStr !== tag &&\n decodedTag.tagStr + 'of' !== tag) {\n return buffer.error('Failed to match tag: \"' + tag + '\"');\n }\n\n if (decodedTag.primitive || len !== null)\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n\n // Indefinite length... find END tag\n const state = buffer.save();\n const res = this._skipUntilEnd(\n buffer,\n 'Failed to skip indefinite length body: \"' + this.tag + '\"');\n if (buffer.isError(res))\n return res;\n\n len = buffer.offset - state.offset;\n buffer.restore(state);\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n};\n\nDERNode.prototype._skipUntilEnd = function skipUntilEnd(buffer, fail) {\n for (;;) {\n const tag = derDecodeTag(buffer, fail);\n if (buffer.isError(tag))\n return tag;\n const len = derDecodeLen(buffer, tag.primitive, fail);\n if (buffer.isError(len))\n return len;\n\n let res;\n if (tag.primitive || len !== null)\n res = buffer.skip(len);\n else\n res = this._skipUntilEnd(buffer, fail);\n\n // Failure\n if (buffer.isError(res))\n return res;\n\n if (tag.tagStr === 'end')\n break;\n }\n};\n\nDERNode.prototype._decodeList = function decodeList(buffer, tag, decoder,\n options) {\n const result = [];\n while (!buffer.isEmpty()) {\n const possibleEnd = this._peekTag(buffer, 'end');\n if (buffer.isError(possibleEnd))\n return possibleEnd;\n\n const res = decoder.decode(buffer, 'der', options);\n if (buffer.isError(res) && possibleEnd)\n break;\n result.push(res);\n }\n return result;\n};\n\nDERNode.prototype._decodeStr = function decodeStr(buffer, tag) {\n if (tag === 'bitstr') {\n const unused = buffer.readUInt8();\n if (buffer.isError(unused))\n return unused;\n return { unused: unused, data: buffer.raw() };\n } else if (tag === 'bmpstr') {\n const raw = buffer.raw();\n if (raw.length % 2 === 1)\n return buffer.error('Decoding of string type: bmpstr length mismatch');\n\n let str = '';\n for (let i = 0; i < raw.length / 2; i++) {\n str += String.fromCharCode(raw.readUInt16BE(i * 2));\n }\n return str;\n } else if (tag === 'numstr') {\n const numstr = buffer.raw().toString('ascii');\n if (!this._isNumstr(numstr)) {\n return buffer.error('Decoding of string type: ' +\n 'numstr unsupported characters');\n }\n return numstr;\n } else if (tag === 'octstr') {\n return buffer.raw();\n } else if (tag === 'objDesc') {\n return buffer.raw();\n } else if (tag === 'printstr') {\n const printstr = buffer.raw().toString('ascii');\n if (!this._isPrintstr(printstr)) {\n return buffer.error('Decoding of string type: ' +\n 'printstr unsupported characters');\n }\n return printstr;\n } else if (/str$/.test(tag)) {\n return buffer.raw().toString();\n } else {\n return buffer.error('Decoding of string type: ' + tag + ' unsupported');\n }\n};\n\nDERNode.prototype._decodeObjid = function decodeObjid(buffer, values, relative) {\n let result;\n const identifiers = [];\n let ident = 0;\n let subident = 0;\n while (!buffer.isEmpty()) {\n subident = buffer.readUInt8();\n ident <<= 7;\n ident |= subident & 0x7f;\n if ((subident & 0x80) === 0) {\n identifiers.push(ident);\n ident = 0;\n }\n }\n if (subident & 0x80)\n identifiers.push(ident);\n\n const first = (identifiers[0] / 40) | 0;\n const second = identifiers[0] % 40;\n\n if (relative)\n result = identifiers;\n else\n result = [first, second].concat(identifiers.slice(1));\n\n if (values) {\n let tmp = values[result.join(' ')];\n if (tmp === undefined)\n tmp = values[result.join('.')];\n if (tmp !== undefined)\n result = tmp;\n }\n\n return result;\n};\n\nDERNode.prototype._decodeTime = function decodeTime(buffer, tag) {\n const str = buffer.raw().toString();\n\n let year;\n let mon;\n let day;\n let hour;\n let min;\n let sec;\n if (tag === 'gentime') {\n year = str.slice(0, 4) | 0;\n mon = str.slice(4, 6) | 0;\n day = str.slice(6, 8) | 0;\n hour = str.slice(8, 10) | 0;\n min = str.slice(10, 12) | 0;\n sec = str.slice(12, 14) | 0;\n } else if (tag === 'utctime') {\n year = str.slice(0, 2) | 0;\n mon = str.slice(2, 4) | 0;\n day = str.slice(4, 6) | 0;\n hour = str.slice(6, 8) | 0;\n min = str.slice(8, 10) | 0;\n sec = str.slice(10, 12) | 0;\n if (year < 70)\n year = 2000 + year;\n else\n year = 1900 + year;\n } else {\n return buffer.error('Decoding ' + tag + ' time is not supported yet');\n }\n\n return Date.UTC(year, mon - 1, day, hour, min, sec, 0);\n};\n\nDERNode.prototype._decodeNull = function decodeNull() {\n return null;\n};\n\nDERNode.prototype._decodeBool = function decodeBool(buffer) {\n const res = buffer.readUInt8();\n if (buffer.isError(res))\n return res;\n else\n return res !== 0;\n};\n\nDERNode.prototype._decodeInt = function decodeInt(buffer, values) {\n // Bigint, return as it is (assume big endian)\n const raw = buffer.raw();\n let res = new bignum(raw);\n\n if (values)\n res = values[res.toString(10)] || res;\n\n return res;\n};\n\nDERNode.prototype._use = function use(entity, obj) {\n if (typeof entity === 'function')\n entity = entity(obj);\n return entity._getDecoder('der').tree;\n};\n\n// Utility methods\n\nfunction derDecodeTag(buf, fail) {\n let tag = buf.readUInt8(fail);\n if (buf.isError(tag))\n return tag;\n\n const cls = der.tagClass[tag >> 6];\n const primitive = (tag & 0x20) === 0;\n\n // Multi-octet tag - load\n if ((tag & 0x1f) === 0x1f) {\n let oct = tag;\n tag = 0;\n while ((oct & 0x80) === 0x80) {\n oct = buf.readUInt8(fail);\n if (buf.isError(oct))\n return oct;\n\n tag <<= 7;\n tag |= oct & 0x7f;\n }\n } else {\n tag &= 0x1f;\n }\n const tagStr = der.tag[tag];\n\n return {\n cls: cls,\n primitive: primitive,\n tag: tag,\n tagStr: tagStr\n };\n}\n\nfunction derDecodeLen(buf, primitive, fail) {\n let len = buf.readUInt8(fail);\n if (buf.isError(len))\n return len;\n\n // Indefinite form\n if (!primitive && len === 0x80)\n return null;\n\n // Definite form\n if ((len & 0x80) === 0) {\n // Short form\n return len;\n }\n\n // Long form\n const num = len & 0x7f;\n if (num > 4)\n return buf.error('length octect is too long');\n\n len = 0;\n for (let i = 0; i < num; i++) {\n len <<= 8;\n const j = buf.readUInt8(fail);\n if (buf.isError(j))\n return j;\n len |= j;\n }\n\n return len;\n}\n","'use strict';\n\nconst decoders = exports;\n\ndecoders.der = require('./der');\ndecoders.pem = require('./pem');\n","'use strict';\n\nconst inherits = require('inherits');\nconst Buffer = require('safer-buffer').Buffer;\n\nconst DERDecoder = require('./der');\n\nfunction PEMDecoder(entity) {\n DERDecoder.call(this, entity);\n this.enc = 'pem';\n}\ninherits(PEMDecoder, DERDecoder);\nmodule.exports = PEMDecoder;\n\nPEMDecoder.prototype.decode = function decode(data, options) {\n const lines = data.toString().split(/[\\r\\n]+/g);\n\n const label = options.label.toUpperCase();\n\n const re = /^-----(BEGIN|END) ([^-]+)-----$/;\n let start = -1;\n let end = -1;\n for (let i = 0; i < lines.length; i++) {\n const match = lines[i].match(re);\n if (match === null)\n continue;\n\n if (match[2] !== label)\n continue;\n\n if (start === -1) {\n if (match[1] !== 'BEGIN')\n break;\n start = i;\n } else {\n if (match[1] !== 'END')\n break;\n end = i;\n break;\n }\n }\n if (start === -1 || end === -1)\n throw new Error('PEM section not found for: ' + label);\n\n const base64 = lines.slice(start + 1, end).join('');\n // Remove excessive symbols\n base64.replace(/[^a-z0-9+/=]+/gi, '');\n\n const input = Buffer.from(base64, 'base64');\n return DERDecoder.prototype.decode.call(this, input, options);\n};\n","'use strict';\n\nconst inherits = require('inherits');\nconst Buffer = require('safer-buffer').Buffer;\nconst Node = require('../base/node');\n\n// Import DER constants\nconst der = require('../constants/der');\n\nfunction DEREncoder(entity) {\n this.enc = 'der';\n this.name = entity.name;\n this.entity = entity;\n\n // Construct base tree\n this.tree = new DERNode();\n this.tree._init(entity.body);\n}\nmodule.exports = DEREncoder;\n\nDEREncoder.prototype.encode = function encode(data, reporter) {\n return this.tree._encode(data, reporter).join();\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n Node.call(this, 'der', parent);\n}\ninherits(DERNode, Node);\n\nDERNode.prototype._encodeComposite = function encodeComposite(tag,\n primitive,\n cls,\n content) {\n const encodedTag = encodeTag(tag, primitive, cls, this.reporter);\n\n // Short form\n if (content.length < 0x80) {\n const header = Buffer.alloc(2);\n header[0] = encodedTag;\n header[1] = content.length;\n return this._createEncoderBuffer([ header, content ]);\n }\n\n // Long form\n // Count octets required to store length\n let lenOctets = 1;\n for (let i = content.length; i >= 0x100; i >>= 8)\n lenOctets++;\n\n const header = Buffer.alloc(1 + 1 + lenOctets);\n header[0] = encodedTag;\n header[1] = 0x80 | lenOctets;\n\n for (let i = 1 + lenOctets, j = content.length; j > 0; i--, j >>= 8)\n header[i] = j & 0xff;\n\n return this._createEncoderBuffer([ header, content ]);\n};\n\nDERNode.prototype._encodeStr = function encodeStr(str, tag) {\n if (tag === 'bitstr') {\n return this._createEncoderBuffer([ str.unused | 0, str.data ]);\n } else if (tag === 'bmpstr') {\n const buf = Buffer.alloc(str.length * 2);\n for (let i = 0; i < str.length; i++) {\n buf.writeUInt16BE(str.charCodeAt(i), i * 2);\n }\n return this._createEncoderBuffer(buf);\n } else if (tag === 'numstr') {\n if (!this._isNumstr(str)) {\n return this.reporter.error('Encoding of string type: numstr supports ' +\n 'only digits and space');\n }\n return this._createEncoderBuffer(str);\n } else if (tag === 'printstr') {\n if (!this._isPrintstr(str)) {\n return this.reporter.error('Encoding of string type: printstr supports ' +\n 'only latin upper and lower case letters, ' +\n 'digits, space, apostrophe, left and rigth ' +\n 'parenthesis, plus sign, comma, hyphen, ' +\n 'dot, slash, colon, equal sign, ' +\n 'question mark');\n }\n return this._createEncoderBuffer(str);\n } else if (/str$/.test(tag)) {\n return this._createEncoderBuffer(str);\n } else if (tag === 'objDesc') {\n return this._createEncoderBuffer(str);\n } else {\n return this.reporter.error('Encoding of string type: ' + tag +\n ' unsupported');\n }\n};\n\nDERNode.prototype._encodeObjid = function encodeObjid(id, values, relative) {\n if (typeof id === 'string') {\n if (!values)\n return this.reporter.error('string objid given, but no values map found');\n if (!values.hasOwnProperty(id))\n return this.reporter.error('objid not found in values map');\n id = values[id].split(/[\\s.]+/g);\n for (let i = 0; i < id.length; i++)\n id[i] |= 0;\n } else if (Array.isArray(id)) {\n id = id.slice();\n for (let i = 0; i < id.length; i++)\n id[i] |= 0;\n }\n\n if (!Array.isArray(id)) {\n return this.reporter.error('objid() should be either array or string, ' +\n 'got: ' + JSON.stringify(id));\n }\n\n if (!relative) {\n if (id[1] >= 40)\n return this.reporter.error('Second objid identifier OOB');\n id.splice(0, 2, id[0] * 40 + id[1]);\n }\n\n // Count number of octets\n let size = 0;\n for (let i = 0; i < id.length; i++) {\n let ident = id[i];\n for (size++; ident >= 0x80; ident >>= 7)\n size++;\n }\n\n const objid = Buffer.alloc(size);\n let offset = objid.length - 1;\n for (let i = id.length - 1; i >= 0; i--) {\n let ident = id[i];\n objid[offset--] = ident & 0x7f;\n while ((ident >>= 7) > 0)\n objid[offset--] = 0x80 | (ident & 0x7f);\n }\n\n return this._createEncoderBuffer(objid);\n};\n\nfunction two(num) {\n if (num < 10)\n return '0' + num;\n else\n return num;\n}\n\nDERNode.prototype._encodeTime = function encodeTime(time, tag) {\n let str;\n const date = new Date(time);\n\n if (tag === 'gentime') {\n str = [\n two(date.getUTCFullYear()),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n 'Z'\n ].join('');\n } else if (tag === 'utctime') {\n str = [\n two(date.getUTCFullYear() % 100),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n 'Z'\n ].join('');\n } else {\n this.reporter.error('Encoding ' + tag + ' time is not supported yet');\n }\n\n return this._encodeStr(str, 'octstr');\n};\n\nDERNode.prototype._encodeNull = function encodeNull() {\n return this._createEncoderBuffer('');\n};\n\nDERNode.prototype._encodeInt = function encodeInt(num, values) {\n if (typeof num === 'string') {\n if (!values)\n return this.reporter.error('String int or enum given, but no values map');\n if (!values.hasOwnProperty(num)) {\n return this.reporter.error('Values map doesn\\'t contain: ' +\n JSON.stringify(num));\n }\n num = values[num];\n }\n\n // Bignum, assume big endian\n if (typeof num !== 'number' && !Buffer.isBuffer(num)) {\n const numArray = num.toArray();\n if (!num.sign && numArray[0] & 0x80) {\n numArray.unshift(0);\n }\n num = Buffer.from(numArray);\n }\n\n if (Buffer.isBuffer(num)) {\n let size = num.length;\n if (num.length === 0)\n size++;\n\n const out = Buffer.alloc(size);\n num.copy(out);\n if (num.length === 0)\n out[0] = 0;\n return this._createEncoderBuffer(out);\n }\n\n if (num < 0x80)\n return this._createEncoderBuffer(num);\n\n if (num < 0x100)\n return this._createEncoderBuffer([0, num]);\n\n let size = 1;\n for (let i = num; i >= 0x100; i >>= 8)\n size++;\n\n const out = new Array(size);\n for (let i = out.length - 1; i >= 0; i--) {\n out[i] = num & 0xff;\n num >>= 8;\n }\n if(out[0] & 0x80) {\n out.unshift(0);\n }\n\n return this._createEncoderBuffer(Buffer.from(out));\n};\n\nDERNode.prototype._encodeBool = function encodeBool(value) {\n return this._createEncoderBuffer(value ? 0xff : 0);\n};\n\nDERNode.prototype._use = function use(entity, obj) {\n if (typeof entity === 'function')\n entity = entity(obj);\n return entity._getEncoder('der').tree;\n};\n\nDERNode.prototype._skipDefault = function skipDefault(dataBuffer, reporter, parent) {\n const state = this._baseState;\n let i;\n if (state['default'] === null)\n return false;\n\n const data = dataBuffer.join();\n if (state.defaultBuffer === undefined)\n state.defaultBuffer = this._encodeValue(state['default'], reporter, parent).join();\n\n if (data.length !== state.defaultBuffer.length)\n return false;\n\n for (i=0; i < data.length; i++)\n if (data[i] !== state.defaultBuffer[i])\n return false;\n\n return true;\n};\n\n// Utility methods\n\nfunction encodeTag(tag, primitive, cls, reporter) {\n let res;\n\n if (tag === 'seqof')\n tag = 'seq';\n else if (tag === 'setof')\n tag = 'set';\n\n if (der.tagByName.hasOwnProperty(tag))\n res = der.tagByName[tag];\n else if (typeof tag === 'number' && (tag | 0) === tag)\n res = tag;\n else\n return reporter.error('Unknown tag: ' + tag);\n\n if (res >= 0x1f)\n return reporter.error('Multi-octet tag encoding unsupported');\n\n if (!primitive)\n res |= 0x20;\n\n res |= (der.tagClassByName[cls || 'universal'] << 6);\n\n return res;\n}\n","'use strict';\n\nconst encoders = exports;\n\nencoders.der = require('./der');\nencoders.pem = require('./pem');\n","'use strict';\n\nconst inherits = require('inherits');\n\nconst DEREncoder = require('./der');\n\nfunction PEMEncoder(entity) {\n DEREncoder.call(this, entity);\n this.enc = 'pem';\n}\ninherits(PEMEncoder, DEREncoder);\nmodule.exports = PEMEncoder;\n\nPEMEncoder.prototype.encode = function encode(data, options) {\n const buf = DEREncoder.prototype.encode.call(this, data);\n\n const p = buf.toString('base64');\n const out = [ '-----BEGIN ' + options.label + '-----' ];\n for (let i = 0; i < p.length; i += 64)\n out.push(p.slice(i, i + 64));\n out.push('-----END ' + options.label + '-----');\n return out.join('\\n');\n};\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = require('buffer').Buffer;\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // 'A' - 'F'\n if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n // '0' - '9'\n } else {\n return (c - 48) & 0xf;\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this.strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '<BN-R: ' : '<BN: ') + this.toString(16) + '>';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = require('buffer').Buffer;\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [number & 0x3ffffff];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [0];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this._strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // '0' - '9'\n if (c >= 48 && c <= 57) {\n return c - 48;\n // 'A' - 'F'\n } else if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n } else {\n assert(false, 'Invalid character in ' + string);\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this._strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var b = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n b = c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n b = c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n b = c;\n }\n assert(c >= 0 && b < mul, 'Invalid character');\n r += b;\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [0];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this._strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n function move (dest, src) {\n dest.words = src.words;\n dest.length = src.length;\n dest.negative = src.negative;\n dest.red = src.red;\n }\n\n BN.prototype._move = function _move (dest) {\n move(dest, this);\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype._strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n // Check Symbol.for because not everywhere where Symbol defined\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#Browser_compatibility\n if (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function') {\n try {\n BN.prototype[Symbol.for('nodejs.util.inspect.custom')] = inspect;\n } catch (e) {\n BN.prototype.inspect = inspect;\n }\n } else {\n BN.prototype.inspect = inspect;\n }\n\n function inspect () {\n return (this.red ? '<BN-R: ' : '<BN: ') + this.toString(16) + '>';\n }\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modrn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16, 2);\n };\n\n if (Buffer) {\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n return this.toArrayLike(Buffer, endian, length);\n };\n }\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n var allocate = function allocate (ArrayType, size) {\n if (ArrayType.allocUnsafe) {\n return ArrayType.allocUnsafe(size);\n }\n return new ArrayType(size);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n this._strip();\n\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n var res = allocate(ArrayType, reqLength);\n var postfix = endian === 'le' ? 'LE' : 'BE';\n this['_toArrayLike' + postfix](res, byteLength);\n return res;\n };\n\n BN.prototype._toArrayLikeLE = function _toArrayLikeLE (res, byteLength) {\n var position = 0;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position++] = word & 0xff;\n if (position < res.length) {\n res[position++] = (word >> 8) & 0xff;\n }\n if (position < res.length) {\n res[position++] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position < res.length) {\n res[position++] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position < res.length) {\n res[position++] = carry;\n\n while (position < res.length) {\n res[position++] = 0;\n }\n }\n };\n\n BN.prototype._toArrayLikeBE = function _toArrayLikeBE (res, byteLength) {\n var position = res.length - 1;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position--] = word & 0xff;\n if (position >= 0) {\n res[position--] = (word >> 8) & 0xff;\n }\n if (position >= 0) {\n res[position--] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position >= 0) {\n res[position--] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position >= 0) {\n res[position--] = carry;\n\n while (position >= 0) {\n res[position--] = 0;\n }\n }\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] >>> wbit) & 0x01;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this._strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this._strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this._strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this._strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this._strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this._strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n function jumboMulTo (self, num, out) {\n // Temporary disable, see https://github.com/indutny/bn.js/issues/211\n // var fftm = new FFTM();\n // return fftm.mulp(self, num, out);\n return bigMulTo(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out._strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this._strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) <= num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this._strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this._strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this._strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q._strip();\n }\n a._strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || (r2 === 1 && cmp === 0)) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modrn = function modrn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return isNegNum ? -acc : acc;\n };\n\n // WARNING: DEPRECATED\n BN.prototype.modn = function modn (num) {\n return this.modrn(num);\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n this._strip();\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this._strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is a BN v4 instance\n r.strip();\n } else {\n // r is a BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n\n move(a, a.umod(this.m)._forceRed(this));\n return a;\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","var r;\n\nmodule.exports = function rand(len) {\n if (!r)\n r = new Rand(null);\n\n return r.generate(len);\n};\n\nfunction Rand(rand) {\n this.rand = rand;\n}\nmodule.exports.Rand = Rand;\n\nRand.prototype.generate = function generate(len) {\n return this._rand(len);\n};\n\n// Emulate crypto API using randy\nRand.prototype._rand = function _rand(n) {\n if (this.rand.getBytes)\n return this.rand.getBytes(n);\n\n var res = new Uint8Array(n);\n for (var i = 0; i < res.length; i++)\n res[i] = this.rand.getByte();\n return res;\n};\n\nif (typeof self === 'object') {\n if (self.crypto && self.crypto.getRandomValues) {\n // Modern browsers\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.crypto.getRandomValues(arr);\n return arr;\n };\n } else if (self.msCrypto && self.msCrypto.getRandomValues) {\n // IE\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.msCrypto.getRandomValues(arr);\n return arr;\n };\n\n // Safari's WebWorkers do not have `crypto`\n } else if (typeof window === 'object') {\n // Old junk\n Rand.prototype._rand = function() {\n throw new Error('Not implemented yet');\n };\n }\n} else {\n // Node.js or Web worker with no crypto support\n try {\n var crypto = require('crypto');\n if (typeof crypto.randomBytes !== 'function')\n throw new Error('Not supported');\n\n Rand.prototype._rand = function _rand(n) {\n return crypto.randomBytes(n);\n };\n } catch (e) {\n }\n}\n","// based on the aes implimentation in triple sec\n// https://github.com/keybase/triplesec\n// which is in turn based on the one from crypto-js\n// https://code.google.com/p/crypto-js/\n\nvar Buffer = require('safe-buffer').Buffer\n\nfunction asUInt32Array (buf) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n\n var len = (buf.length / 4) | 0\n var out = new Array(len)\n\n for (var i = 0; i < len; i++) {\n out[i] = buf.readUInt32BE(i * 4)\n }\n\n return out\n}\n\nfunction scrubVec (v) {\n for (var i = 0; i < v.length; v++) {\n v[i] = 0\n }\n}\n\nfunction cryptBlock (M, keySchedule, SUB_MIX, SBOX, nRounds) {\n var SUB_MIX0 = SUB_MIX[0]\n var SUB_MIX1 = SUB_MIX[1]\n var SUB_MIX2 = SUB_MIX[2]\n var SUB_MIX3 = SUB_MIX[3]\n\n var s0 = M[0] ^ keySchedule[0]\n var s1 = M[1] ^ keySchedule[1]\n var s2 = M[2] ^ keySchedule[2]\n var s3 = M[3] ^ keySchedule[3]\n var t0, t1, t2, t3\n var ksRow = 4\n\n for (var round = 1; round < nRounds; round++) {\n t0 = SUB_MIX0[s0 >>> 24] ^ SUB_MIX1[(s1 >>> 16) & 0xff] ^ SUB_MIX2[(s2 >>> 8) & 0xff] ^ SUB_MIX3[s3 & 0xff] ^ keySchedule[ksRow++]\n t1 = SUB_MIX0[s1 >>> 24] ^ SUB_MIX1[(s2 >>> 16) & 0xff] ^ SUB_MIX2[(s3 >>> 8) & 0xff] ^ SUB_MIX3[s0 & 0xff] ^ keySchedule[ksRow++]\n t2 = SUB_MIX0[s2 >>> 24] ^ SUB_MIX1[(s3 >>> 16) & 0xff] ^ SUB_MIX2[(s0 >>> 8) & 0xff] ^ SUB_MIX3[s1 & 0xff] ^ keySchedule[ksRow++]\n t3 = SUB_MIX0[s3 >>> 24] ^ SUB_MIX1[(s0 >>> 16) & 0xff] ^ SUB_MIX2[(s1 >>> 8) & 0xff] ^ SUB_MIX3[s2 & 0xff] ^ keySchedule[ksRow++]\n s0 = t0\n s1 = t1\n s2 = t2\n s3 = t3\n }\n\n t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++]\n t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++]\n t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++]\n t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++]\n t0 = t0 >>> 0\n t1 = t1 >>> 0\n t2 = t2 >>> 0\n t3 = t3 >>> 0\n\n return [t0, t1, t2, t3]\n}\n\n// AES constants\nvar RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36]\nvar G = (function () {\n // Compute double table\n var d = new Array(256)\n for (var j = 0; j < 256; j++) {\n if (j < 128) {\n d[j] = j << 1\n } else {\n d[j] = (j << 1) ^ 0x11b\n }\n }\n\n var SBOX = []\n var INV_SBOX = []\n var SUB_MIX = [[], [], [], []]\n var INV_SUB_MIX = [[], [], [], []]\n\n // Walk GF(2^8)\n var x = 0\n var xi = 0\n for (var i = 0; i < 256; ++i) {\n // Compute sbox\n var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4)\n sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63\n SBOX[x] = sx\n INV_SBOX[sx] = x\n\n // Compute multiplication\n var x2 = d[x]\n var x4 = d[x2]\n var x8 = d[x4]\n\n // Compute sub bytes, mix columns tables\n var t = (d[sx] * 0x101) ^ (sx * 0x1010100)\n SUB_MIX[0][x] = (t << 24) | (t >>> 8)\n SUB_MIX[1][x] = (t << 16) | (t >>> 16)\n SUB_MIX[2][x] = (t << 8) | (t >>> 24)\n SUB_MIX[3][x] = t\n\n // Compute inv sub bytes, inv mix columns tables\n t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100)\n INV_SUB_MIX[0][sx] = (t << 24) | (t >>> 8)\n INV_SUB_MIX[1][sx] = (t << 16) | (t >>> 16)\n INV_SUB_MIX[2][sx] = (t << 8) | (t >>> 24)\n INV_SUB_MIX[3][sx] = t\n\n if (x === 0) {\n x = xi = 1\n } else {\n x = x2 ^ d[d[d[x8 ^ x2]]]\n xi ^= d[d[xi]]\n }\n }\n\n return {\n SBOX: SBOX,\n INV_SBOX: INV_SBOX,\n SUB_MIX: SUB_MIX,\n INV_SUB_MIX: INV_SUB_MIX\n }\n})()\n\nfunction AES (key) {\n this._key = asUInt32Array(key)\n this._reset()\n}\n\nAES.blockSize = 4 * 4\nAES.keySize = 256 / 8\nAES.prototype.blockSize = AES.blockSize\nAES.prototype.keySize = AES.keySize\nAES.prototype._reset = function () {\n var keyWords = this._key\n var keySize = keyWords.length\n var nRounds = keySize + 6\n var ksRows = (nRounds + 1) * 4\n\n var keySchedule = []\n for (var k = 0; k < keySize; k++) {\n keySchedule[k] = keyWords[k]\n }\n\n for (k = keySize; k < ksRows; k++) {\n var t = keySchedule[k - 1]\n\n if (k % keySize === 0) {\n t = (t << 8) | (t >>> 24)\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n\n t ^= RCON[(k / keySize) | 0] << 24\n } else if (keySize > 6 && k % keySize === 4) {\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n }\n\n keySchedule[k] = keySchedule[k - keySize] ^ t\n }\n\n var invKeySchedule = []\n for (var ik = 0; ik < ksRows; ik++) {\n var ksR = ksRows - ik\n var tt = keySchedule[ksR - (ik % 4 ? 0 : 4)]\n\n if (ik < 4 || ksR <= 4) {\n invKeySchedule[ik] = tt\n } else {\n invKeySchedule[ik] =\n G.INV_SUB_MIX[0][G.SBOX[tt >>> 24]] ^\n G.INV_SUB_MIX[1][G.SBOX[(tt >>> 16) & 0xff]] ^\n G.INV_SUB_MIX[2][G.SBOX[(tt >>> 8) & 0xff]] ^\n G.INV_SUB_MIX[3][G.SBOX[tt & 0xff]]\n }\n }\n\n this._nRounds = nRounds\n this._keySchedule = keySchedule\n this._invKeySchedule = invKeySchedule\n}\n\nAES.prototype.encryptBlockRaw = function (M) {\n M = asUInt32Array(M)\n return cryptBlock(M, this._keySchedule, G.SUB_MIX, G.SBOX, this._nRounds)\n}\n\nAES.prototype.encryptBlock = function (M) {\n var out = this.encryptBlockRaw(M)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[1], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[3], 12)\n return buf\n}\n\nAES.prototype.decryptBlock = function (M) {\n M = asUInt32Array(M)\n\n // swap\n var m1 = M[1]\n M[1] = M[3]\n M[3] = m1\n\n var out = cryptBlock(M, this._invKeySchedule, G.INV_SUB_MIX, G.INV_SBOX, this._nRounds)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[3], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[1], 12)\n return buf\n}\n\nAES.prototype.scrub = function () {\n scrubVec(this._keySchedule)\n scrubVec(this._invKeySchedule)\n scrubVec(this._key)\n}\n\nmodule.exports.AES = AES\n","var aes = require('./aes')\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('cipher-base')\nvar inherits = require('inherits')\nvar GHASH = require('./ghash')\nvar xor = require('buffer-xor')\nvar incr32 = require('./incr32')\n\nfunction xorTest (a, b) {\n var out = 0\n if (a.length !== b.length) out++\n\n var len = Math.min(a.length, b.length)\n for (var i = 0; i < len; ++i) {\n out += (a[i] ^ b[i])\n }\n\n return out\n}\n\nfunction calcIv (self, iv, ck) {\n if (iv.length === 12) {\n self._finID = Buffer.concat([iv, Buffer.from([0, 0, 0, 1])])\n return Buffer.concat([iv, Buffer.from([0, 0, 0, 2])])\n }\n var ghash = new GHASH(ck)\n var len = iv.length\n var toPad = len % 16\n ghash.update(iv)\n if (toPad) {\n toPad = 16 - toPad\n ghash.update(Buffer.alloc(toPad, 0))\n }\n ghash.update(Buffer.alloc(8, 0))\n var ivBits = len * 8\n var tail = Buffer.alloc(8)\n tail.writeUIntBE(ivBits, 0, 8)\n ghash.update(tail)\n self._finID = ghash.state\n var out = Buffer.from(self._finID)\n incr32(out)\n return out\n}\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n var h = Buffer.alloc(4, 0)\n\n this._cipher = new aes.AES(key)\n var ck = this._cipher.encryptBlock(h)\n this._ghash = new GHASH(ck)\n iv = calcIv(this, iv, ck)\n\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._alen = 0\n this._len = 0\n this._mode = mode\n\n this._authTag = null\n this._called = false\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n if (!this._called && this._alen) {\n var rump = 16 - (this._alen % 16)\n if (rump < 16) {\n rump = Buffer.alloc(rump, 0)\n this._ghash.update(rump)\n }\n }\n\n this._called = true\n var out = this._mode.encrypt(this, chunk)\n if (this._decrypt) {\n this._ghash.update(chunk)\n } else {\n this._ghash.update(out)\n }\n this._len += chunk.length\n return out\n}\n\nStreamCipher.prototype._final = function () {\n if (this._decrypt && !this._authTag) throw new Error('Unsupported state or unable to authenticate data')\n\n var tag = xor(this._ghash.final(this._alen * 8, this._len * 8), this._cipher.encryptBlock(this._finID))\n if (this._decrypt && xorTest(tag, this._authTag)) throw new Error('Unsupported state or unable to authenticate data')\n\n this._authTag = tag\n this._cipher.scrub()\n}\n\nStreamCipher.prototype.getAuthTag = function getAuthTag () {\n if (this._decrypt || !Buffer.isBuffer(this._authTag)) throw new Error('Attempting to get auth tag in unsupported state')\n\n return this._authTag\n}\n\nStreamCipher.prototype.setAuthTag = function setAuthTag (tag) {\n if (!this._decrypt) throw new Error('Attempting to set auth tag in unsupported state')\n\n this._authTag = tag\n}\n\nStreamCipher.prototype.setAAD = function setAAD (buf) {\n if (this._called) throw new Error('Attempting to set AAD in unsupported state')\n\n this._ghash.update(buf)\n this._alen += buf.length\n}\n\nmodule.exports = StreamCipher\n","var ciphers = require('./encrypter')\nvar deciphers = require('./decrypter')\nvar modes = require('./modes/list.json')\n\nfunction getCiphers () {\n return Object.keys(modes)\n}\n\nexports.createCipher = exports.Cipher = ciphers.createCipher\nexports.createCipheriv = exports.Cipheriv = ciphers.createCipheriv\nexports.createDecipher = exports.Decipher = deciphers.createDecipher\nexports.createDecipheriv = exports.Decipheriv = deciphers.createDecipheriv\nexports.listCiphers = exports.getCiphers = getCiphers\n","var AuthCipher = require('./authCipher')\nvar Buffer = require('safe-buffer').Buffer\nvar MODES = require('./modes')\nvar StreamCipher = require('./streamCipher')\nvar Transform = require('cipher-base')\nvar aes = require('./aes')\nvar ebtk = require('evp_bytestokey')\nvar inherits = require('inherits')\n\nfunction Decipher (mode, key, iv) {\n Transform.call(this)\n\n this._cache = new Splitter()\n this._last = void 0\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._mode = mode\n this._autopadding = true\n}\n\ninherits(Decipher, Transform)\n\nDecipher.prototype._update = function (data) {\n this._cache.add(data)\n var chunk\n var thing\n var out = []\n while ((chunk = this._cache.get(this._autopadding))) {\n thing = this._mode.decrypt(this, chunk)\n out.push(thing)\n }\n return Buffer.concat(out)\n}\n\nDecipher.prototype._final = function () {\n var chunk = this._cache.flush()\n if (this._autopadding) {\n return unpad(this._mode.decrypt(this, chunk))\n } else if (chunk) {\n throw new Error('data not multiple of block length')\n }\n}\n\nDecipher.prototype.setAutoPadding = function (setTo) {\n this._autopadding = !!setTo\n return this\n}\n\nfunction Splitter () {\n this.cache = Buffer.allocUnsafe(0)\n}\n\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data])\n}\n\nSplitter.prototype.get = function (autoPadding) {\n var out\n if (autoPadding) {\n if (this.cache.length > 16) {\n out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n } else {\n if (this.cache.length >= 16) {\n out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n }\n\n return null\n}\n\nSplitter.prototype.flush = function () {\n if (this.cache.length) return this.cache\n}\n\nfunction unpad (last) {\n var padded = last[15]\n if (padded < 1 || padded > 16) {\n throw new Error('unable to decrypt data')\n }\n var i = -1\n while (++i < padded) {\n if (last[(i + (16 - padded))] !== padded) {\n throw new Error('unable to decrypt data')\n }\n }\n if (padded === 16) return\n\n return last.slice(0, 16 - padded)\n}\n\nfunction createDecipheriv (suite, password, iv) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n if (typeof iv === 'string') iv = Buffer.from(iv)\n if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)\n\n if (typeof password === 'string') password = Buffer.from(password)\n if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)\n\n if (config.type === 'stream') {\n return new StreamCipher(config.module, password, iv, true)\n } else if (config.type === 'auth') {\n return new AuthCipher(config.module, password, iv, true)\n }\n\n return new Decipher(config.module, password, iv)\n}\n\nfunction createDecipher (suite, password) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n var keys = ebtk(password, false, config.key, config.iv)\n return createDecipheriv(suite, keys.key, keys.iv)\n}\n\nexports.createDecipher = createDecipher\nexports.createDecipheriv = createDecipheriv\n","var MODES = require('./modes')\nvar AuthCipher = require('./authCipher')\nvar Buffer = require('safe-buffer').Buffer\nvar StreamCipher = require('./streamCipher')\nvar Transform = require('cipher-base')\nvar aes = require('./aes')\nvar ebtk = require('evp_bytestokey')\nvar inherits = require('inherits')\n\nfunction Cipher (mode, key, iv) {\n Transform.call(this)\n\n this._cache = new Splitter()\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._mode = mode\n this._autopadding = true\n}\n\ninherits(Cipher, Transform)\n\nCipher.prototype._update = function (data) {\n this._cache.add(data)\n var chunk\n var thing\n var out = []\n\n while ((chunk = this._cache.get())) {\n thing = this._mode.encrypt(this, chunk)\n out.push(thing)\n }\n\n return Buffer.concat(out)\n}\n\nvar PADDING = Buffer.alloc(16, 0x10)\n\nCipher.prototype._final = function () {\n var chunk = this._cache.flush()\n if (this._autopadding) {\n chunk = this._mode.encrypt(this, chunk)\n this._cipher.scrub()\n return chunk\n }\n\n if (!chunk.equals(PADDING)) {\n this._cipher.scrub()\n throw new Error('data not multiple of block length')\n }\n}\n\nCipher.prototype.setAutoPadding = function (setTo) {\n this._autopadding = !!setTo\n return this\n}\n\nfunction Splitter () {\n this.cache = Buffer.allocUnsafe(0)\n}\n\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data])\n}\n\nSplitter.prototype.get = function () {\n if (this.cache.length > 15) {\n var out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n return null\n}\n\nSplitter.prototype.flush = function () {\n var len = 16 - this.cache.length\n var padBuff = Buffer.allocUnsafe(len)\n\n var i = -1\n while (++i < len) {\n padBuff.writeUInt8(len, i)\n }\n\n return Buffer.concat([this.cache, padBuff])\n}\n\nfunction createCipheriv (suite, password, iv) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n if (typeof password === 'string') password = Buffer.from(password)\n if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)\n\n if (typeof iv === 'string') iv = Buffer.from(iv)\n if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)\n\n if (config.type === 'stream') {\n return new StreamCipher(config.module, password, iv)\n } else if (config.type === 'auth') {\n return new AuthCipher(config.module, password, iv)\n }\n\n return new Cipher(config.module, password, iv)\n}\n\nfunction createCipher (suite, password) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n var keys = ebtk(password, false, config.key, config.iv)\n return createCipheriv(suite, keys.key, keys.iv)\n}\n\nexports.createCipheriv = createCipheriv\nexports.createCipher = createCipher\n","var Buffer = require('safe-buffer').Buffer\nvar ZEROES = Buffer.alloc(16, 0)\n\nfunction toArray (buf) {\n return [\n buf.readUInt32BE(0),\n buf.readUInt32BE(4),\n buf.readUInt32BE(8),\n buf.readUInt32BE(12)\n ]\n}\n\nfunction fromArray (out) {\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0] >>> 0, 0)\n buf.writeUInt32BE(out[1] >>> 0, 4)\n buf.writeUInt32BE(out[2] >>> 0, 8)\n buf.writeUInt32BE(out[3] >>> 0, 12)\n return buf\n}\n\nfunction GHASH (key) {\n this.h = key\n this.state = Buffer.alloc(16, 0)\n this.cache = Buffer.allocUnsafe(0)\n}\n\n// from http://bitwiseshiftleft.github.io/sjcl/doc/symbols/src/core_gcm.js.html\n// by Juho Vähä-Herttua\nGHASH.prototype.ghash = function (block) {\n var i = -1\n while (++i < block.length) {\n this.state[i] ^= block[i]\n }\n this._multiply()\n}\n\nGHASH.prototype._multiply = function () {\n var Vi = toArray(this.h)\n var Zi = [0, 0, 0, 0]\n var j, xi, lsbVi\n var i = -1\n while (++i < 128) {\n xi = (this.state[~~(i / 8)] & (1 << (7 - (i % 8)))) !== 0\n if (xi) {\n // Z_i+1 = Z_i ^ V_i\n Zi[0] ^= Vi[0]\n Zi[1] ^= Vi[1]\n Zi[2] ^= Vi[2]\n Zi[3] ^= Vi[3]\n }\n\n // Store the value of LSB(V_i)\n lsbVi = (Vi[3] & 1) !== 0\n\n // V_i+1 = V_i >> 1\n for (j = 3; j > 0; j--) {\n Vi[j] = (Vi[j] >>> 1) | ((Vi[j - 1] & 1) << 31)\n }\n Vi[0] = Vi[0] >>> 1\n\n // If LSB(V_i) is 1, V_i+1 = (V_i >> 1) ^ R\n if (lsbVi) {\n Vi[0] = Vi[0] ^ (0xe1 << 24)\n }\n }\n this.state = fromArray(Zi)\n}\n\nGHASH.prototype.update = function (buf) {\n this.cache = Buffer.concat([this.cache, buf])\n var chunk\n while (this.cache.length >= 16) {\n chunk = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n this.ghash(chunk)\n }\n}\n\nGHASH.prototype.final = function (abl, bl) {\n if (this.cache.length) {\n this.ghash(Buffer.concat([this.cache, ZEROES], 16))\n }\n\n this.ghash(fromArray([0, abl, 0, bl]))\n return this.state\n}\n\nmodule.exports = GHASH\n","function incr32 (iv) {\n var len = iv.length\n var item\n while (len--) {\n item = iv.readUInt8(len)\n if (item === 255) {\n iv.writeUInt8(0, len)\n } else {\n item++\n iv.writeUInt8(item, len)\n break\n }\n }\n}\nmodule.exports = incr32\n","var xor = require('buffer-xor')\n\nexports.encrypt = function (self, block) {\n var data = xor(block, self._prev)\n\n self._prev = self._cipher.encryptBlock(data)\n return self._prev\n}\n\nexports.decrypt = function (self, block) {\n var pad = self._prev\n\n self._prev = block\n var out = self._cipher.decryptBlock(block)\n\n return xor(out, pad)\n}\n","var Buffer = require('safe-buffer').Buffer\nvar xor = require('buffer-xor')\n\nfunction encryptStart (self, data, decrypt) {\n var len = data.length\n var out = xor(data, self._cache)\n self._cache = self._cache.slice(len)\n self._prev = Buffer.concat([self._prev, decrypt ? data : out])\n return out\n}\n\nexports.encrypt = function (self, data, decrypt) {\n var out = Buffer.allocUnsafe(0)\n var len\n\n while (data.length) {\n if (self._cache.length === 0) {\n self._cache = self._cipher.encryptBlock(self._prev)\n self._prev = Buffer.allocUnsafe(0)\n }\n\n if (self._cache.length <= data.length) {\n len = self._cache.length\n out = Buffer.concat([out, encryptStart(self, data.slice(0, len), decrypt)])\n data = data.slice(len)\n } else {\n out = Buffer.concat([out, encryptStart(self, data, decrypt)])\n break\n }\n }\n\n return out\n}\n","var Buffer = require('safe-buffer').Buffer\n\nfunction encryptByte (self, byteParam, decrypt) {\n var pad\n var i = -1\n var len = 8\n var out = 0\n var bit, value\n while (++i < len) {\n pad = self._cipher.encryptBlock(self._prev)\n bit = (byteParam & (1 << (7 - i))) ? 0x80 : 0\n value = pad[0] ^ bit\n out += ((value & 0x80) >> (i % 8))\n self._prev = shiftIn(self._prev, decrypt ? bit : value)\n }\n return out\n}\n\nfunction shiftIn (buffer, value) {\n var len = buffer.length\n var i = -1\n var out = Buffer.allocUnsafe(buffer.length)\n buffer = Buffer.concat([buffer, Buffer.from([value])])\n\n while (++i < len) {\n out[i] = buffer[i] << 1 | buffer[i + 1] >> (7)\n }\n\n return out\n}\n\nexports.encrypt = function (self, chunk, decrypt) {\n var len = chunk.length\n var out = Buffer.allocUnsafe(len)\n var i = -1\n\n while (++i < len) {\n out[i] = encryptByte(self, chunk[i], decrypt)\n }\n\n return out\n}\n","var Buffer = require('safe-buffer').Buffer\n\nfunction encryptByte (self, byteParam, decrypt) {\n var pad = self._cipher.encryptBlock(self._prev)\n var out = pad[0] ^ byteParam\n\n self._prev = Buffer.concat([\n self._prev.slice(1),\n Buffer.from([decrypt ? byteParam : out])\n ])\n\n return out\n}\n\nexports.encrypt = function (self, chunk, decrypt) {\n var len = chunk.length\n var out = Buffer.allocUnsafe(len)\n var i = -1\n\n while (++i < len) {\n out[i] = encryptByte(self, chunk[i], decrypt)\n }\n\n return out\n}\n","var xor = require('buffer-xor')\nvar Buffer = require('safe-buffer').Buffer\nvar incr32 = require('../incr32')\n\nfunction getBlock (self) {\n var out = self._cipher.encryptBlockRaw(self._prev)\n incr32(self._prev)\n return out\n}\n\nvar blockSize = 16\nexports.encrypt = function (self, chunk) {\n var chunkNum = Math.ceil(chunk.length / blockSize)\n var start = self._cache.length\n self._cache = Buffer.concat([\n self._cache,\n Buffer.allocUnsafe(chunkNum * blockSize)\n ])\n for (var i = 0; i < chunkNum; i++) {\n var out = getBlock(self)\n var offset = start + i * blockSize\n self._cache.writeUInt32BE(out[0], offset + 0)\n self._cache.writeUInt32BE(out[1], offset + 4)\n self._cache.writeUInt32BE(out[2], offset + 8)\n self._cache.writeUInt32BE(out[3], offset + 12)\n }\n var pad = self._cache.slice(0, chunk.length)\n self._cache = self._cache.slice(chunk.length)\n return xor(chunk, pad)\n}\n","exports.encrypt = function (self, block) {\n return self._cipher.encryptBlock(block)\n}\n\nexports.decrypt = function (self, block) {\n return self._cipher.decryptBlock(block)\n}\n","var modeModules = {\n ECB: require('./ecb'),\n CBC: require('./cbc'),\n CFB: require('./cfb'),\n CFB8: require('./cfb8'),\n CFB1: require('./cfb1'),\n OFB: require('./ofb'),\n CTR: require('./ctr'),\n GCM: require('./ctr')\n}\n\nvar modes = require('./list.json')\n\nfor (var key in modes) {\n modes[key].module = modeModules[modes[key].mode]\n}\n\nmodule.exports = modes\n","module.exports={\n \"aes-128-ecb\": {\n \"cipher\": \"AES\",\n \"key\": 128,\n \"iv\": 0,\n \"mode\": \"ECB\",\n \"type\": \"block\"\n },\n \"aes-192-ecb\": {\n \"cipher\": \"AES\",\n \"key\": 192,\n \"iv\": 0,\n \"mode\": \"ECB\",\n \"type\": \"block\"\n },\n \"aes-256-ecb\": {\n \"cipher\": \"AES\",\n \"key\": 256,\n \"iv\": 0,\n \"mode\": \"ECB\",\n \"type\": \"block\"\n },\n \"aes-128-cbc\": {\n \"cipher\": \"AES\",\n \"key\": 128,\n \"iv\": 16,\n \"mode\": \"CBC\",\n \"type\": \"block\"\n },\n \"aes-192-cbc\": {\n \"cipher\": \"AES\",\n \"key\": 192,\n \"iv\": 16,\n \"mode\": \"CBC\",\n \"type\": \"block\"\n },\n \"aes-256-cbc\": {\n \"cipher\": \"AES\",\n \"key\": 256,\n \"iv\": 16,\n \"mode\": \"CBC\",\n \"type\": \"block\"\n },\n \"aes128\": {\n \"cipher\": \"AES\",\n \"key\": 128,\n \"iv\": 16,\n \"mode\": \"CBC\",\n \"type\": \"block\"\n },\n \"aes192\": {\n \"cipher\": \"AES\",\n \"key\": 192,\n \"iv\": 16,\n \"mode\": \"CBC\",\n \"type\": \"block\"\n },\n \"aes256\": {\n \"cipher\": \"AES\",\n \"key\": 256,\n \"iv\": 16,\n \"mode\": \"CBC\",\n \"type\": \"block\"\n },\n \"aes-128-cfb\": {\n \"cipher\": \"AES\",\n \"key\": 128,\n \"iv\": 16,\n \"mode\": \"CFB\",\n \"type\": \"stream\"\n },\n \"aes-192-cfb\": {\n \"cipher\": \"AES\",\n \"key\": 192,\n \"iv\": 16,\n \"mode\": \"CFB\",\n \"type\": \"stream\"\n },\n \"aes-256-cfb\": {\n \"cipher\": \"AES\",\n \"key\": 256,\n \"iv\": 16,\n \"mode\": \"CFB\",\n \"type\": \"stream\"\n },\n \"aes-128-cfb8\": {\n \"cipher\": \"AES\",\n \"key\": 128,\n \"iv\": 16,\n \"mode\": \"CFB8\",\n \"type\": \"stream\"\n },\n \"aes-192-cfb8\": {\n \"cipher\": \"AES\",\n \"key\": 192,\n \"iv\": 16,\n \"mode\": \"CFB8\",\n \"type\": \"stream\"\n },\n \"aes-256-cfb8\": {\n \"cipher\": \"AES\",\n \"key\": 256,\n \"iv\": 16,\n \"mode\": \"CFB8\",\n \"type\": \"stream\"\n },\n \"aes-128-cfb1\": {\n \"cipher\": \"AES\",\n \"key\": 128,\n \"iv\": 16,\n \"mode\": \"CFB1\",\n \"type\": \"stream\"\n },\n \"aes-192-cfb1\": {\n \"cipher\": \"AES\",\n \"key\": 192,\n \"iv\": 16,\n \"mode\": \"CFB1\",\n \"type\": \"stream\"\n },\n \"aes-256-cfb1\": {\n \"cipher\": \"AES\",\n \"key\": 256,\n \"iv\": 16,\n \"mode\": \"CFB1\",\n \"type\": \"stream\"\n },\n \"aes-128-ofb\": {\n \"cipher\": \"AES\",\n \"key\": 128,\n \"iv\": 16,\n \"mode\": \"OFB\",\n \"type\": \"stream\"\n },\n \"aes-192-ofb\": {\n \"cipher\": \"AES\",\n \"key\": 192,\n \"iv\": 16,\n \"mode\": \"OFB\",\n \"type\": \"stream\"\n },\n \"aes-256-ofb\": {\n \"cipher\": \"AES\",\n \"key\": 256,\n \"iv\": 16,\n \"mode\": \"OFB\",\n \"type\": \"stream\"\n },\n \"aes-128-ctr\": {\n \"cipher\": \"AES\",\n \"key\": 128,\n \"iv\": 16,\n \"mode\": \"CTR\",\n \"type\": \"stream\"\n },\n \"aes-192-ctr\": {\n \"cipher\": \"AES\",\n \"key\": 192,\n \"iv\": 16,\n \"mode\": \"CTR\",\n \"type\": \"stream\"\n },\n \"aes-256-ctr\": {\n \"cipher\": \"AES\",\n \"key\": 256,\n \"iv\": 16,\n \"mode\": \"CTR\",\n \"type\": \"stream\"\n },\n \"aes-128-gcm\": {\n \"cipher\": \"AES\",\n \"key\": 128,\n \"iv\": 12,\n \"mode\": \"GCM\",\n \"type\": \"auth\"\n },\n \"aes-192-gcm\": {\n \"cipher\": \"AES\",\n \"key\": 192,\n \"iv\": 12,\n \"mode\": \"GCM\",\n \"type\": \"auth\"\n },\n \"aes-256-gcm\": {\n \"cipher\": \"AES\",\n \"key\": 256,\n \"iv\": 12,\n \"mode\": \"GCM\",\n \"type\": \"auth\"\n }\n}\n","var xor = require('buffer-xor')\n\nfunction getBlock (self) {\n self._prev = self._cipher.encryptBlock(self._prev)\n return self._prev\n}\n\nexports.encrypt = function (self, chunk) {\n while (self._cache.length < chunk.length) {\n self._cache = Buffer.concat([self._cache, getBlock(self)])\n }\n\n var pad = self._cache.slice(0, chunk.length)\n self._cache = self._cache.slice(chunk.length)\n return xor(chunk, pad)\n}\n","var aes = require('./aes')\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('cipher-base')\nvar inherits = require('inherits')\n\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._mode = mode\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n return this._mode.encrypt(this, chunk, this._decrypt)\n}\n\nStreamCipher.prototype._final = function () {\n this._cipher.scrub()\n}\n\nmodule.exports = StreamCipher\n","var DES = require('browserify-des')\nvar aes = require('browserify-aes/browser')\nvar aesModes = require('browserify-aes/modes')\nvar desModes = require('browserify-des/modes')\nvar ebtk = require('evp_bytestokey')\n\nfunction createCipher (suite, password) {\n suite = suite.toLowerCase()\n\n var keyLen, ivLen\n if (aesModes[suite]) {\n keyLen = aesModes[suite].key\n ivLen = aesModes[suite].iv\n } else if (desModes[suite]) {\n keyLen = desModes[suite].key * 8\n ivLen = desModes[suite].iv\n } else {\n throw new TypeError('invalid suite type')\n }\n\n var keys = ebtk(password, false, keyLen, ivLen)\n return createCipheriv(suite, keys.key, keys.iv)\n}\n\nfunction createDecipher (suite, password) {\n suite = suite.toLowerCase()\n\n var keyLen, ivLen\n if (aesModes[suite]) {\n keyLen = aesModes[suite].key\n ivLen = aesModes[suite].iv\n } else if (desModes[suite]) {\n keyLen = desModes[suite].key * 8\n ivLen = desModes[suite].iv\n } else {\n throw new TypeError('invalid suite type')\n }\n\n var keys = ebtk(password, false, keyLen, ivLen)\n return createDecipheriv(suite, keys.key, keys.iv)\n}\n\nfunction createCipheriv (suite, key, iv) {\n suite = suite.toLowerCase()\n if (aesModes[suite]) return aes.createCipheriv(suite, key, iv)\n if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite })\n\n throw new TypeError('invalid suite type')\n}\n\nfunction createDecipheriv (suite, key, iv) {\n suite = suite.toLowerCase()\n if (aesModes[suite]) return aes.createDecipheriv(suite, key, iv)\n if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite, decrypt: true })\n\n throw new TypeError('invalid suite type')\n}\n\nfunction getCiphers () {\n return Object.keys(desModes).concat(aes.getCiphers())\n}\n\nexports.createCipher = exports.Cipher = createCipher\nexports.createCipheriv = exports.Cipheriv = createCipheriv\nexports.createDecipher = exports.Decipher = createDecipher\nexports.createDecipheriv = exports.Decipheriv = createDecipheriv\nexports.listCiphers = exports.getCiphers = getCiphers\n","var CipherBase = require('cipher-base')\nvar des = require('des.js')\nvar inherits = require('inherits')\nvar Buffer = require('safe-buffer').Buffer\n\nvar modes = {\n 'des-ede3-cbc': des.CBC.instantiate(des.EDE),\n 'des-ede3': des.EDE,\n 'des-ede-cbc': des.CBC.instantiate(des.EDE),\n 'des-ede': des.EDE,\n 'des-cbc': des.CBC.instantiate(des.DES),\n 'des-ecb': des.DES\n}\nmodes.des = modes['des-cbc']\nmodes.des3 = modes['des-ede3-cbc']\nmodule.exports = DES\ninherits(DES, CipherBase)\nfunction DES (opts) {\n CipherBase.call(this)\n var modeName = opts.mode.toLowerCase()\n var mode = modes[modeName]\n var type\n if (opts.decrypt) {\n type = 'decrypt'\n } else {\n type = 'encrypt'\n }\n var key = opts.key\n if (!Buffer.isBuffer(key)) {\n key = Buffer.from(key)\n }\n if (modeName === 'des-ede' || modeName === 'des-ede-cbc') {\n key = Buffer.concat([key, key.slice(0, 8)])\n }\n var iv = opts.iv\n if (!Buffer.isBuffer(iv)) {\n iv = Buffer.from(iv)\n }\n this._des = mode.create({\n key: key,\n iv: iv,\n type: type\n })\n}\nDES.prototype._update = function (data) {\n return Buffer.from(this._des.update(data))\n}\nDES.prototype._final = function () {\n return Buffer.from(this._des.final())\n}\n","exports['des-ecb'] = {\n key: 8,\n iv: 0\n}\nexports['des-cbc'] = exports.des = {\n key: 8,\n iv: 8\n}\nexports['des-ede3-cbc'] = exports.des3 = {\n key: 24,\n iv: 8\n}\nexports['des-ede3'] = {\n key: 24,\n iv: 0\n}\nexports['des-ede-cbc'] = {\n key: 16,\n iv: 8\n}\nexports['des-ede'] = {\n key: 16,\n iv: 0\n}\n","var BN = require('bn.js')\nvar randomBytes = require('randombytes')\n\nfunction blind (priv) {\n var r = getr(priv)\n var blinder = r.toRed(BN.mont(priv.modulus)).redPow(new BN(priv.publicExponent)).fromRed()\n return { blinder: blinder, unblinder: r.invm(priv.modulus) }\n}\n\nfunction getr (priv) {\n var len = priv.modulus.byteLength()\n var r\n do {\n r = new BN(randomBytes(len))\n } while (r.cmp(priv.modulus) >= 0 || !r.umod(priv.prime1) || !r.umod(priv.prime2))\n return r\n}\n\nfunction crt (msg, priv) {\n var blinds = blind(priv)\n var len = priv.modulus.byteLength()\n var blinded = new BN(msg).mul(blinds.blinder).umod(priv.modulus)\n var c1 = blinded.toRed(BN.mont(priv.prime1))\n var c2 = blinded.toRed(BN.mont(priv.prime2))\n var qinv = priv.coefficient\n var p = priv.prime1\n var q = priv.prime2\n var m1 = c1.redPow(priv.exponent1).fromRed()\n var m2 = c2.redPow(priv.exponent2).fromRed()\n var h = m1.isub(m2).imul(qinv).umod(p).imul(q)\n return m2.iadd(h).imul(blinds.unblinder).umod(priv.modulus).toArrayLike(Buffer, 'be', len)\n}\ncrt.getr = getr\n\nmodule.exports = crt\n","module.exports = require('./browser/algorithms.json')\n","module.exports={\n \"sha224WithRSAEncryption\": {\n \"sign\": \"rsa\",\n \"hash\": \"sha224\",\n \"id\": \"302d300d06096086480165030402040500041c\"\n },\n \"RSA-SHA224\": {\n \"sign\": \"ecdsa/rsa\",\n \"hash\": \"sha224\",\n \"id\": \"302d300d06096086480165030402040500041c\"\n },\n \"sha256WithRSAEncryption\": {\n \"sign\": \"rsa\",\n \"hash\": \"sha256\",\n \"id\": \"3031300d060960864801650304020105000420\"\n },\n \"RSA-SHA256\": {\n \"sign\": \"ecdsa/rsa\",\n \"hash\": \"sha256\",\n \"id\": \"3031300d060960864801650304020105000420\"\n },\n \"sha384WithRSAEncryption\": {\n \"sign\": \"rsa\",\n \"hash\": \"sha384\",\n \"id\": \"3041300d060960864801650304020205000430\"\n },\n \"RSA-SHA384\": {\n \"sign\": \"ecdsa/rsa\",\n \"hash\": \"sha384\",\n \"id\": \"3041300d060960864801650304020205000430\"\n },\n \"sha512WithRSAEncryption\": {\n \"sign\": \"rsa\",\n \"hash\": \"sha512\",\n \"id\": \"3051300d060960864801650304020305000440\"\n },\n \"RSA-SHA512\": {\n \"sign\": \"ecdsa/rsa\",\n \"hash\": \"sha512\",\n \"id\": \"3051300d060960864801650304020305000440\"\n },\n \"RSA-SHA1\": {\n \"sign\": \"rsa\",\n \"hash\": \"sha1\",\n \"id\": \"3021300906052b0e03021a05000414\"\n },\n \"ecdsa-with-SHA1\": {\n \"sign\": \"ecdsa\",\n \"hash\": \"sha1\",\n \"id\": \"\"\n },\n \"sha256\": {\n \"sign\": \"ecdsa\",\n \"hash\": \"sha256\",\n \"id\": \"\"\n },\n \"sha224\": {\n \"sign\": \"ecdsa\",\n \"hash\": \"sha224\",\n \"id\": \"\"\n },\n \"sha384\": {\n \"sign\": \"ecdsa\",\n \"hash\": \"sha384\",\n \"id\": \"\"\n },\n \"sha512\": {\n \"sign\": \"ecdsa\",\n \"hash\": \"sha512\",\n \"id\": \"\"\n },\n \"DSA-SHA\": {\n \"sign\": \"dsa\",\n \"hash\": \"sha1\",\n \"id\": \"\"\n },\n \"DSA-SHA1\": {\n \"sign\": \"dsa\",\n \"hash\": \"sha1\",\n \"id\": \"\"\n },\n \"DSA\": {\n \"sign\": \"dsa\",\n \"hash\": \"sha1\",\n \"id\": \"\"\n },\n \"DSA-WITH-SHA224\": {\n \"sign\": \"dsa\",\n \"hash\": \"sha224\",\n \"id\": \"\"\n },\n \"DSA-SHA224\": {\n \"sign\": \"dsa\",\n \"hash\": \"sha224\",\n \"id\": \"\"\n },\n \"DSA-WITH-SHA256\": {\n \"sign\": \"dsa\",\n \"hash\": \"sha256\",\n \"id\": \"\"\n },\n \"DSA-SHA256\": {\n \"sign\": \"dsa\",\n \"hash\": \"sha256\",\n \"id\": \"\"\n },\n \"DSA-WITH-SHA384\": {\n \"sign\": \"dsa\",\n \"hash\": \"sha384\",\n \"id\": \"\"\n },\n \"DSA-SHA384\": {\n \"sign\": \"dsa\",\n \"hash\": \"sha384\",\n \"id\": \"\"\n },\n \"DSA-WITH-SHA512\": {\n \"sign\": \"dsa\",\n \"hash\": \"sha512\",\n \"id\": \"\"\n },\n \"DSA-SHA512\": {\n \"sign\": \"dsa\",\n \"hash\": \"sha512\",\n \"id\": \"\"\n },\n \"DSA-RIPEMD160\": {\n \"sign\": \"dsa\",\n \"hash\": \"rmd160\",\n \"id\": \"\"\n },\n \"ripemd160WithRSA\": {\n \"sign\": \"rsa\",\n \"hash\": \"rmd160\",\n \"id\": \"3021300906052b2403020105000414\"\n },\n \"RSA-RIPEMD160\": {\n \"sign\": \"rsa\",\n \"hash\": \"rmd160\",\n \"id\": \"3021300906052b2403020105000414\"\n },\n \"md5WithRSAEncryption\": {\n \"sign\": \"rsa\",\n \"hash\": \"md5\",\n \"id\": \"3020300c06082a864886f70d020505000410\"\n },\n \"RSA-MD5\": {\n \"sign\": \"rsa\",\n \"hash\": \"md5\",\n \"id\": \"3020300c06082a864886f70d020505000410\"\n }\n}\n","module.exports={\n \"1.3.132.0.10\": \"secp256k1\",\n \"1.3.132.0.33\": \"p224\",\n \"1.2.840.10045.3.1.1\": \"p192\",\n \"1.2.840.10045.3.1.7\": \"p256\",\n \"1.3.132.0.34\": \"p384\",\n \"1.3.132.0.35\": \"p521\"\n}\n","var Buffer = require('safe-buffer').Buffer\nvar createHash = require('create-hash')\nvar stream = require('readable-stream')\nvar inherits = require('inherits')\nvar sign = require('./sign')\nvar verify = require('./verify')\n\nvar algorithms = require('./algorithms.json')\nObject.keys(algorithms).forEach(function (key) {\n algorithms[key].id = Buffer.from(algorithms[key].id, 'hex')\n algorithms[key.toLowerCase()] = algorithms[key]\n})\n\nfunction Sign (algorithm) {\n stream.Writable.call(this)\n\n var data = algorithms[algorithm]\n if (!data) throw new Error('Unknown message digest')\n\n this._hashType = data.hash\n this._hash = createHash(data.hash)\n this._tag = data.id\n this._signType = data.sign\n}\ninherits(Sign, stream.Writable)\n\nSign.prototype._write = function _write (data, _, done) {\n this._hash.update(data)\n done()\n}\n\nSign.prototype.update = function update (data, enc) {\n if (typeof data === 'string') data = Buffer.from(data, enc)\n\n this._hash.update(data)\n return this\n}\n\nSign.prototype.sign = function signMethod (key, enc) {\n this.end()\n var hash = this._hash.digest()\n var sig = sign(hash, key, this._hashType, this._signType, this._tag)\n\n return enc ? sig.toString(enc) : sig\n}\n\nfunction Verify (algorithm) {\n stream.Writable.call(this)\n\n var data = algorithms[algorithm]\n if (!data) throw new Error('Unknown message digest')\n\n this._hash = createHash(data.hash)\n this._tag = data.id\n this._signType = data.sign\n}\ninherits(Verify, stream.Writable)\n\nVerify.prototype._write = function _write (data, _, done) {\n this._hash.update(data)\n done()\n}\n\nVerify.prototype.update = function update (data, enc) {\n if (typeof data === 'string') data = Buffer.from(data, enc)\n\n this._hash.update(data)\n return this\n}\n\nVerify.prototype.verify = function verifyMethod (key, sig, enc) {\n if (typeof sig === 'string') sig = Buffer.from(sig, enc)\n\n this.end()\n var hash = this._hash.digest()\n return verify(sig, hash, key, this._signType, this._tag)\n}\n\nfunction createSign (algorithm) {\n return new Sign(algorithm)\n}\n\nfunction createVerify (algorithm) {\n return new Verify(algorithm)\n}\n\nmodule.exports = {\n Sign: createSign,\n Verify: createVerify,\n createSign: createSign,\n createVerify: createVerify\n}\n","// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js\nvar Buffer = require('safe-buffer').Buffer\nvar createHmac = require('create-hmac')\nvar crt = require('browserify-rsa')\nvar EC = require('elliptic').ec\nvar BN = require('bn.js')\nvar parseKeys = require('parse-asn1')\nvar curves = require('./curves.json')\n\nfunction sign (hash, key, hashType, signType, tag) {\n var priv = parseKeys(key)\n if (priv.curve) {\n // rsa keys can be interpreted as ecdsa ones in openssl\n if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') throw new Error('wrong private key type')\n return ecSign(hash, priv)\n } else if (priv.type === 'dsa') {\n if (signType !== 'dsa') throw new Error('wrong private key type')\n return dsaSign(hash, priv, hashType)\n } else {\n if (signType !== 'rsa' && signType !== 'ecdsa/rsa') throw new Error('wrong private key type')\n }\n hash = Buffer.concat([tag, hash])\n var len = priv.modulus.byteLength()\n var pad = [0, 1]\n while (hash.length + pad.length + 1 < len) pad.push(0xff)\n pad.push(0x00)\n var i = -1\n while (++i < hash.length) pad.push(hash[i])\n\n var out = crt(pad, priv)\n return out\n}\n\nfunction ecSign (hash, priv) {\n var curveId = curves[priv.curve.join('.')]\n if (!curveId) throw new Error('unknown curve ' + priv.curve.join('.'))\n\n var curve = new EC(curveId)\n var key = curve.keyFromPrivate(priv.privateKey)\n var out = key.sign(hash)\n\n return Buffer.from(out.toDER())\n}\n\nfunction dsaSign (hash, priv, algo) {\n var x = priv.params.priv_key\n var p = priv.params.p\n var q = priv.params.q\n var g = priv.params.g\n var r = new BN(0)\n var k\n var H = bits2int(hash, q).mod(q)\n var s = false\n var kv = getKey(x, q, hash, algo)\n while (s === false) {\n k = makeKey(q, kv, algo)\n r = makeR(g, k, p, q)\n s = k.invm(q).imul(H.add(x.mul(r))).mod(q)\n if (s.cmpn(0) === 0) {\n s = false\n r = new BN(0)\n }\n }\n return toDER(r, s)\n}\n\nfunction toDER (r, s) {\n r = r.toArray()\n s = s.toArray()\n\n // Pad values\n if (r[0] & 0x80) r = [0].concat(r)\n if (s[0] & 0x80) s = [0].concat(s)\n\n var total = r.length + s.length + 4\n var res = [0x30, total, 0x02, r.length]\n res = res.concat(r, [0x02, s.length], s)\n return Buffer.from(res)\n}\n\nfunction getKey (x, q, hash, algo) {\n x = Buffer.from(x.toArray())\n if (x.length < q.byteLength()) {\n var zeros = Buffer.alloc(q.byteLength() - x.length)\n x = Buffer.concat([zeros, x])\n }\n var hlen = hash.length\n var hbits = bits2octets(hash, q)\n var v = Buffer.alloc(hlen)\n v.fill(1)\n var k = Buffer.alloc(hlen)\n k = createHmac(algo, k).update(v).update(Buffer.from([0])).update(x).update(hbits).digest()\n v = createHmac(algo, k).update(v).digest()\n k = createHmac(algo, k).update(v).update(Buffer.from([1])).update(x).update(hbits).digest()\n v = createHmac(algo, k).update(v).digest()\n return { k: k, v: v }\n}\n\nfunction bits2int (obits, q) {\n var bits = new BN(obits)\n var shift = (obits.length << 3) - q.bitLength()\n if (shift > 0) bits.ishrn(shift)\n return bits\n}\n\nfunction bits2octets (bits, q) {\n bits = bits2int(bits, q)\n bits = bits.mod(q)\n var out = Buffer.from(bits.toArray())\n if (out.length < q.byteLength()) {\n var zeros = Buffer.alloc(q.byteLength() - out.length)\n out = Buffer.concat([zeros, out])\n }\n return out\n}\n\nfunction makeKey (q, kv, algo) {\n var t\n var k\n\n do {\n t = Buffer.alloc(0)\n\n while (t.length * 8 < q.bitLength()) {\n kv.v = createHmac(algo, kv.k).update(kv.v).digest()\n t = Buffer.concat([t, kv.v])\n }\n\n k = bits2int(t, q)\n kv.k = createHmac(algo, kv.k).update(kv.v).update(Buffer.from([0])).digest()\n kv.v = createHmac(algo, kv.k).update(kv.v).digest()\n } while (k.cmp(q) !== -1)\n\n return k\n}\n\nfunction makeR (g, k, p, q) {\n return g.toRed(BN.mont(p)).redPow(k).fromRed().mod(q)\n}\n\nmodule.exports = sign\nmodule.exports.getKey = getKey\nmodule.exports.makeKey = makeKey\n","// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js\nvar Buffer = require('safe-buffer').Buffer\nvar BN = require('bn.js')\nvar EC = require('elliptic').ec\nvar parseKeys = require('parse-asn1')\nvar curves = require('./curves.json')\n\nfunction verify (sig, hash, key, signType, tag) {\n var pub = parseKeys(key)\n if (pub.type === 'ec') {\n // rsa keys can be interpreted as ecdsa ones in openssl\n if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') throw new Error('wrong public key type')\n return ecVerify(sig, hash, pub)\n } else if (pub.type === 'dsa') {\n if (signType !== 'dsa') throw new Error('wrong public key type')\n return dsaVerify(sig, hash, pub)\n } else {\n if (signType !== 'rsa' && signType !== 'ecdsa/rsa') throw new Error('wrong public key type')\n }\n hash = Buffer.concat([tag, hash])\n var len = pub.modulus.byteLength()\n var pad = [1]\n var padNum = 0\n while (hash.length + pad.length + 2 < len) {\n pad.push(0xff)\n padNum++\n }\n pad.push(0x00)\n var i = -1\n while (++i < hash.length) {\n pad.push(hash[i])\n }\n pad = Buffer.from(pad)\n var red = BN.mont(pub.modulus)\n sig = new BN(sig).toRed(red)\n\n sig = sig.redPow(new BN(pub.publicExponent))\n sig = Buffer.from(sig.fromRed().toArray())\n var out = padNum < 8 ? 1 : 0\n len = Math.min(sig.length, pad.length)\n if (sig.length !== pad.length) out = 1\n\n i = -1\n while (++i < len) out |= sig[i] ^ pad[i]\n return out === 0\n}\n\nfunction ecVerify (sig, hash, pub) {\n var curveId = curves[pub.data.algorithm.curve.join('.')]\n if (!curveId) throw new Error('unknown curve ' + pub.data.algorithm.curve.join('.'))\n\n var curve = new EC(curveId)\n var pubkey = pub.data.subjectPrivateKey.data\n\n return curve.verify(hash, sig, pubkey)\n}\n\nfunction dsaVerify (sig, hash, pub) {\n var p = pub.data.p\n var q = pub.data.q\n var g = pub.data.g\n var y = pub.data.pub_key\n var unpacked = parseKeys.signature.decode(sig, 'der')\n var s = unpacked.s\n var r = unpacked.r\n checkValue(s, q)\n checkValue(r, q)\n var montp = BN.mont(p)\n var w = s.invm(q)\n var v = g.toRed(montp)\n .redPow(new BN(hash).mul(w).mod(q))\n .fromRed()\n .mul(y.toRed(montp).redPow(r.mul(w).mod(q)).fromRed())\n .mod(p)\n .mod(q)\n return v.cmp(r) === 0\n}\n\nfunction checkValue (b, q) {\n if (b.cmpn(0) <= 0) throw new Error('invalid sig')\n if (b.cmp(q) >= q) throw new Error('invalid sig')\n}\n\nmodule.exports = verify\n","/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/*<replacement>*/\n\nvar Buffer = require('safe-buffer').Buffer;\n/*</replacement>*/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}","module.exports = function xor (a, b) {\n var length = Math.min(a.length, b.length)\n var buffer = new Buffer(length)\n\n for (var i = 0; i < length; ++i) {\n buffer[i] = a[i] ^ b[i]\n }\n\n return buffer\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nvar K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = { __proto__: Uint8Array.prototype, foo: function () { return 42 } }\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n var buf = new Uint8Array(length)\n buf.__proto__ = Buffer.prototype\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\n// Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\nif (typeof Symbol !== 'undefined' && Symbol.species != null &&\n Buffer[Symbol.species] === Buffer) {\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true,\n enumerable: false,\n writable: false\n })\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayLike(value)\n }\n\n if (value == null) {\n throw TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n var valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n var b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(\n value[Symbol.toPrimitive]('string'), encodingOrOffset, length\n )\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nBuffer.prototype.__proto__ = Uint8Array.prototype\nBuffer.__proto__ = Uint8Array\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n var length = byteLength(string, encoding) | 0\n var buf = createBuffer(length)\n\n var actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n var buf = createBuffer(length)\n for (var i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n var buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n buf.__proto__ = Buffer.prototype\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n var buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n buf = Buffer.from(buf)\n }\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n var len = string.length\n var mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return '<Buffer ' + str + '>'\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n var strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n newBuf.__proto__ = Buffer.prototype\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n var limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n var limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (var i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n var len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n","var Buffer = require('safe-buffer').Buffer\nvar Transform = require('stream').Transform\nvar StringDecoder = require('string_decoder').StringDecoder\nvar inherits = require('inherits')\n\nfunction CipherBase (hashMode) {\n Transform.call(this)\n this.hashMode = typeof hashMode === 'string'\n if (this.hashMode) {\n this[hashMode] = this._finalOrDigest\n } else {\n this.final = this._finalOrDigest\n }\n if (this._final) {\n this.__final = this._final\n this._final = null\n }\n this._decoder = null\n this._encoding = null\n}\ninherits(CipherBase, Transform)\n\nCipherBase.prototype.update = function (data, inputEnc, outputEnc) {\n if (typeof data === 'string') {\n data = Buffer.from(data, inputEnc)\n }\n\n var outData = this._update(data)\n if (this.hashMode) return this\n\n if (outputEnc) {\n outData = this._toString(outData, outputEnc)\n }\n\n return outData\n}\n\nCipherBase.prototype.setAutoPadding = function () {}\nCipherBase.prototype.getAuthTag = function () {\n throw new Error('trying to get auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAuthTag = function () {\n throw new Error('trying to set auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAAD = function () {\n throw new Error('trying to set aad in unsupported state')\n}\n\nCipherBase.prototype._transform = function (data, _, next) {\n var err\n try {\n if (this.hashMode) {\n this._update(data)\n } else {\n this.push(this._update(data))\n }\n } catch (e) {\n err = e\n } finally {\n next(err)\n }\n}\nCipherBase.prototype._flush = function (done) {\n var err\n try {\n this.push(this.__final())\n } catch (e) {\n err = e\n }\n\n done(err)\n}\nCipherBase.prototype._finalOrDigest = function (outputEnc) {\n var outData = this.__final() || Buffer.alloc(0)\n if (outputEnc) {\n outData = this._toString(outData, outputEnc, true)\n }\n return outData\n}\n\nCipherBase.prototype._toString = function (value, enc, fin) {\n if (!this._decoder) {\n this._decoder = new StringDecoder(enc)\n this._encoding = enc\n }\n\n if (this._encoding !== enc) throw new Error('can\\'t switch encodings')\n\n var out = this._decoder.write(value)\n if (fin) {\n out += this._decoder.end()\n }\n\n return out\n}\n\nmodule.exports = CipherBase\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] === undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE === 1;\n var IS_FILTER = TYPE === 2;\n var IS_SOME = TYPE === 3;\n var IS_EVERY = TYPE === 4;\n var IS_FIND_INDEX = TYPE === 6;\n var IS_FILTER_REJECT = TYPE === 7;\n var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that);\n var length = lengthOfArrayLike(self);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar $Array = Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = $Array(max(fin - k, 0));\n var n = 0;\n for (; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n","'use strict';\nvar arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n try {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n } catch (error) { return false; } // workaround of old WebKit + `eval` bug\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* empty */ }\n } return false;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\n// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n return { value: value, done: done };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = !IS_DENO && !IS_NODE\n && typeof window == 'object'\n && typeof document == 'object';\n","'use strict';\n/* global Deno -- Deno case */\nmodule.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined';\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\n// eslint-disable-next-line redos/no-vulnerable -- safe\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","'use strict';\nvar global = require('../internals/global');\nvar classof = require('../internals/classof-raw');\n\nmodule.exports = classof(global.process) === 'process';\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar toString = require('../internals/to-string');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (replacer) {\n if (isCallable(replacer)) return replacer;\n if (!isArray(replacer)) return;\n var rawLength = replacer.length;\n var keys = [];\n for (var i = 0; i < rawLength; i++) {\n var element = replacer[i];\n if (typeof element == 'string') push(keys, element);\n else if (typeof element == 'number' || classof(element) === 'Number' || classof(element) === 'String') push(keys, toString(element));\n }\n var keysLength = keys.length;\n var root = true;\n return function (key, value) {\n if (root) {\n root = false;\n return value;\n }\n if (isArray(this)) return value;\n for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value;\n };\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || this || Function('return this')();\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nmodule.exports = function (a, b) {\n try {\n // eslint-disable-next-line no-console -- safe\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nmodule.exports = false;\n","'use strict';\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) === 'RegExp');\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND];\n\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n }\n\n return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar Queue = require('../internals/queue');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/engine-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar microtask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\nvar notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!microtask) {\n var queue = new Queue();\n\n var flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (fn = queue.get()) try {\n fn();\n } catch (error) {\n if (queue.head) notify();\n throw error;\n }\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessage\n // - onreadystatechange\n // - setTimeout\n } else {\n // `webpack` dev server bug on IE global methods - use bind(fn, global)\n macrotask = bind(macrotask, global);\n notify = function () {\n macrotask(flush);\n };\n }\n\n microtask = function (fn) {\n if (!queue.head) notify();\n queue.add(fn);\n };\n}\n\nmodule.exports = microtask;\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar isRegExp = require('../internals/is-regexp');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw new $TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol('assign detection');\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\n/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) === 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar objectGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// in some IE versions, `propertyIsEnumerable` returns incorrect result on integer keys\n// of `null` prototype objects\nvar IE_BUG = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-create -- safe\n var O = Object.create(null);\n O[2] = 2;\n return !propertyIsEnumerable(O, 2);\n});\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var IE_WORKAROUND = IE_BUG && objectGetPrototypeOf(O) === null;\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || (IE_WORKAROUND ? key in O : propertyIsEnumerable(O, key))) {\n push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar global = require('../internals/global');\n\nmodule.exports = global;\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\nvar global = require('../internals/global');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {\n // Detect correctness of subclassing with @@species support\n var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n } return !GLOBAL_CORE_JS_PROMISE && (IS_BROWSER || IS_DENO) && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n SUBCLASSING: SUBCLASSING\n};\n","'use strict';\nvar global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","'use strict';\nvar Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n var tail = this.tail;\n if (tail) tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n var next = this.head = entry.next;\n if (next === null) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineBuiltInAccessor(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nvar global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.33.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.33.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar getBuiltIn = require('../internals/get-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function () {\n var Symbol = getBuiltIn('Symbol');\n var SymbolPrototype = Symbol && Symbol.prototype;\n var valueOf = SymbolPrototype && SymbolPrototype.valueOf;\n var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) {\n // `Symbol.prototype[@@toPrimitive]` method\n // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\n // eslint-disable-next-line no-unused-vars -- required for .length\n defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n return call(valueOf, this);\n }, { arity: 1 });\n }\n};\n","'use strict';\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\n/* eslint-disable es/no-symbol -- safe */\nmodule.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor;\n","'use strict';\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar $location, defer, channel, port;\n\nfails(function () {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n $location = global.location;\n});\n\nvar run = function (id) {\n if (hasOwn(queue, id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar eventListener = function (event) {\n run(event.data);\n};\n\nvar globalPostMessageDefer = function (id) {\n // old engines have not location.origin\n global.postMessage(String(id), $location.protocol + '//' + $location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = eventListener;\n defer = bind(port.postMessage, port);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n isCallable(global.postMessage) &&\n !global.importScripts &&\n $location && $location.protocol !== 'file:' &&\n !fails(globalPostMessageDefer)\n ) {\n defer = globalPostMessageDefer;\n global.addEventListener('message', eventListener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw new $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $findIndex = require('../internals/array-iteration').findIndex;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND_INDEX = 'findIndex';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\n// eslint-disable-next-line es/no-array-prototype-findindex -- testing\nif (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.findIndex` method\n// https://tc39.es/ecma262/#sec-array.prototype.findindex\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND_INDEX);\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\n// eslint-disable-next-line es/no-array-prototype-find -- testing\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar fails = require('../internals/fails');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// FF99+ bug\nvar BROKEN_ON_SPARSE = fails(function () {\n // eslint-disable-next-line es/no-array-prototype-includes -- detection\n return !Array(1).includes();\n});\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return createIterResultObject(undefined, true);\n }\n switch (kind) {\n case 'keys': return createIterResultObject(index, false);\n case 'values': return createIterResultObject(target[index], false);\n } return createIterResultObject([index, target[index]], false);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isSymbol = require('../internals/is-symbol');\nvar arraySlice = require('../internals/array-slice');\nvar getReplacerFunction = require('../internals/get-json-replacer-function');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nvar $String = String;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar exec = uncurryThis(/./.exec);\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar replace = uncurryThis(''.replace);\nvar numberToString = uncurryThis(1.0.toString);\n\nvar tester = /[\\uD800-\\uDFFF]/g;\nvar low = /^[\\uD800-\\uDBFF]$/;\nvar hi = /^[\\uDC00-\\uDFFF]$/;\n\nvar WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () {\n var symbol = getBuiltIn('Symbol')('stringify detection');\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) !== '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) !== '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) !== '{}';\n});\n\n// https://github.com/tc39/proposal-well-formed-stringify\nvar ILL_FORMED_UNICODE = fails(function () {\n return $stringify('\\uDF06\\uD834') !== '\"\\\\udf06\\\\ud834\"'\n || $stringify('\\uDEAD') !== '\"\\\\udead\"';\n});\n\nvar stringifyWithSymbolsFix = function (it, replacer) {\n var args = arraySlice(arguments);\n var $replacer = getReplacerFunction(replacer);\n if (!isCallable($replacer) && (it === undefined || isSymbol(it))) return; // IE8 returns string on undefined\n args[1] = function (key, value) {\n // some old implementations (like WebKit) could pass numbers as keys\n if (isCallable($replacer)) value = call($replacer, this, $String(key), value);\n if (!isSymbol(value)) return value;\n };\n return apply($stringify, null, args);\n};\n\nvar fixIllFormed = function (match, offset, string) {\n var prev = charAt(string, offset - 1);\n var next = charAt(string, offset + 1);\n if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {\n return '\\\\u' + numberToString(charCodeAt(match, 0), 16);\n } return match;\n};\n\nif ($stringify) {\n // `JSON.stringify` method\n // https://tc39.es/ecma262/#sec-json.stringify\n $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = arraySlice(arguments);\n var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args);\n return ILL_FORMED_UNICODE && typeof result == 'string' ? replace(result, tester, fixIllFormed) : result;\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\n\n// `Number.isNaN` method\n// https://tc39.es/ecma262/#sec-number.isnan\n$({ target: 'Number', stat: true }, {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar toObject = require('../internals/to-object');\n\n// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); });\n\n// `Object.getOwnPropertySymbols` method\n// https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n$({ target: 'Object', stat: true, forced: FORCED }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : [];\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $values = require('../internals/object-to-array').values;\n\n// `Object.values` method\n// https://tc39.es/ecma262/#sec-object.values\n$({ target: 'Object', stat: true }, {\n values: function values(O) {\n return $values(O);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call($promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['catch'];\n if (NativePromisePrototype['catch'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/engine-is-node');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state === FULFILLED;\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(new TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n call(then, result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw new TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n call(then, value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: new Queue(),\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state === PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromisePrototype);\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromiseConstructor && fails(function () {\n // eslint-disable-next-line unicorn/no-thenable -- required for testing\n NativePromisePrototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.es/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = isCallable(onFinally);\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['finally'];\n if (NativePromisePrototype['finally'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'finally', method, { unsafe: true });\n }\n}\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.promise.constructor');\nrequire('../modules/es.promise.all');\nrequire('../modules/es.promise.catch');\nrequire('../modules/es.promise.race');\nrequire('../modules/es.promise.reject');\nrequire('../modules/es.promise.resolve');\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n reject: function reject(r) {\n var capability = newPromiseCapabilityModule.f(this);\n call(capability.reject, undefined, r);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\nvar $RangeError = RangeError;\nvar fromCharCode = String.fromCharCode;\n// eslint-disable-next-line es/no-string-fromcodepoint -- required for testing\nvar $fromCodePoint = String.fromCodePoint;\nvar join = uncurryThis([].join);\n\n// length should be 1, old FF problem\nvar INCORRECT_LENGTH = !!$fromCodePoint && $fromCodePoint.length !== 1;\n\n// `String.fromCodePoint` method\n// https://tc39.es/ecma262/#sec-string.fromcodepoint\n$({ target: 'String', stat: true, arity: 1, forced: INCORRECT_LENGTH }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n fromCodePoint: function fromCodePoint(x) {\n var elements = [];\n var length = arguments.length;\n var i = 0;\n var code;\n while (length > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw new $RangeError(code + ' is not a valid code point');\n elements[i] = code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00);\n } return join(elements, '');\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\nvar stringIndexOf = uncurryThis(''.indexOf);\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~stringIndexOf(\n toString(requireObjectCoercible(this)),\n toString(notARegExp(searchString)),\n arguments.length > 1 ? arguments[1] : undefined\n );\n }\n});\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar defineSymbolToPrimitive = require('../internals/symbol-define-to-primitive');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\n\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];\nvar RangeError = global.RangeError;\nvar TypeError = global.TypeError;\nvar QObject = global.QObject;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar push = uncurryThis([].push);\n\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar WellKnownSymbolsStore = shared('wks');\n\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar fallbackDefineProperty = function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n};\n\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a !== 7;\n}) ? fallbackDefineProperty : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPropertyKey(P);\n anObject(Attributes);\n if (hasOwn(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPropertyKey(V);\n var enumerable = call(nativePropertyIsEnumerable, this, P);\n if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]\n ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPropertyKey(P);\n if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function (O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {\n push(result, AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (isPrototypeOf(SymbolPrototype, this)) throw new TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);\n if (hasOwn(this, HIDDEN) && hasOwn(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n var descriptor = createPropertyDescriptor(1, value);\n try {\n setSymbolDescriptor(this, tag, descriptor);\n } catch (error) {\n if (!(error instanceof RangeError)) throw error;\n fallbackDefineProperty(this, tag, descriptor);\n }\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n SymbolPrototype = $Symbol[PROTOTYPE];\n\n defineBuiltIn(SymbolPrototype, 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n defineBuiltIn($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n definePropertiesModule.f = $defineProperties;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n defineBuiltInAccessor(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames\n});\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.for` method\n// https://tc39.es/ecma262/#sec-symbol.for\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n 'for': function (key) {\n var string = toString(key);\n if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = getBuiltIn('Symbol')(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n }\n});\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.symbol.constructor');\nrequire('../modules/es.symbol.for');\nrequire('../modules/es.symbol.key-for');\nrequire('../modules/es.json.stringify');\nrequire('../modules/es.object.get-own-property-symbols');\n","'use strict';\nvar $ = require('../internals/export');\nvar hasOwn = require('../internals/has-own-property');\nvar isSymbol = require('../internals/is-symbol');\nvar tryToString = require('../internals/try-to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.keyFor` method\n// https://tc39.es/ecma262/#sec-symbol.keyfor\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw new TypeError(tryToString(sym) + ' is not a symbol');\n if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n }\n});\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\n\nfunction isArray(arg) {\n if (Array.isArray) {\n return Array.isArray(arg);\n }\n return objectToString(arg) === '[object Array]';\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('buffer').Buffer.isBuffer;\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n","var elliptic = require('elliptic')\nvar BN = require('bn.js')\n\nmodule.exports = function createECDH (curve) {\n return new ECDH(curve)\n}\n\nvar aliases = {\n secp256k1: {\n name: 'secp256k1',\n byteLength: 32\n },\n secp224r1: {\n name: 'p224',\n byteLength: 28\n },\n prime256v1: {\n name: 'p256',\n byteLength: 32\n },\n prime192v1: {\n name: 'p192',\n byteLength: 24\n },\n ed25519: {\n name: 'ed25519',\n byteLength: 32\n },\n secp384r1: {\n name: 'p384',\n byteLength: 48\n },\n secp521r1: {\n name: 'p521',\n byteLength: 66\n }\n}\n\naliases.p224 = aliases.secp224r1\naliases.p256 = aliases.secp256r1 = aliases.prime256v1\naliases.p192 = aliases.secp192r1 = aliases.prime192v1\naliases.p384 = aliases.secp384r1\naliases.p521 = aliases.secp521r1\n\nfunction ECDH (curve) {\n this.curveType = aliases[curve]\n if (!this.curveType) {\n this.curveType = {\n name: curve\n }\n }\n this.curve = new elliptic.ec(this.curveType.name) // eslint-disable-line new-cap\n this.keys = void 0\n}\n\nECDH.prototype.generateKeys = function (enc, format) {\n this.keys = this.curve.genKeyPair()\n return this.getPublicKey(enc, format)\n}\n\nECDH.prototype.computeSecret = function (other, inenc, enc) {\n inenc = inenc || 'utf8'\n if (!Buffer.isBuffer(other)) {\n other = new Buffer(other, inenc)\n }\n var otherPub = this.curve.keyFromPublic(other).getPublic()\n var out = otherPub.mul(this.keys.getPrivate()).getX()\n return formatReturnValue(out, enc, this.curveType.byteLength)\n}\n\nECDH.prototype.getPublicKey = function (enc, format) {\n var key = this.keys.getPublic(format === 'compressed', true)\n if (format === 'hybrid') {\n if (key[key.length - 1] % 2) {\n key[0] = 7\n } else {\n key[0] = 6\n }\n }\n return formatReturnValue(key, enc)\n}\n\nECDH.prototype.getPrivateKey = function (enc) {\n return formatReturnValue(this.keys.getPrivate(), enc)\n}\n\nECDH.prototype.setPublicKey = function (pub, enc) {\n enc = enc || 'utf8'\n if (!Buffer.isBuffer(pub)) {\n pub = new Buffer(pub, enc)\n }\n this.keys._importPublic(pub)\n return this\n}\n\nECDH.prototype.setPrivateKey = function (priv, enc) {\n enc = enc || 'utf8'\n if (!Buffer.isBuffer(priv)) {\n priv = new Buffer(priv, enc)\n }\n\n var _priv = new BN(priv)\n _priv = _priv.toString(16)\n this.keys = this.curve.genKeyPair()\n this.keys._importPrivate(_priv)\n return this\n}\n\nfunction formatReturnValue (bn, enc, len) {\n if (!Array.isArray(bn)) {\n bn = bn.toArray()\n }\n var buf = new Buffer(bn)\n if (len && buf.length < len) {\n var zeros = new Buffer(len - buf.length)\n zeros.fill(0)\n buf = Buffer.concat([zeros, buf])\n }\n if (!enc) {\n return buf\n } else {\n return buf.toString(enc)\n }\n}\n","'use strict'\nvar inherits = require('inherits')\nvar MD5 = require('md5.js')\nvar RIPEMD160 = require('ripemd160')\nvar sha = require('sha.js')\nvar Base = require('cipher-base')\n\nfunction Hash (hash) {\n Base.call(this, 'digest')\n\n this._hash = hash\n}\n\ninherits(Hash, Base)\n\nHash.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHash.prototype._final = function () {\n return this._hash.digest()\n}\n\nmodule.exports = function createHash (alg) {\n alg = alg.toLowerCase()\n if (alg === 'md5') return new MD5()\n if (alg === 'rmd160' || alg === 'ripemd160') return new RIPEMD160()\n\n return new Hash(sha(alg))\n}\n","var MD5 = require('md5.js')\n\nmodule.exports = function (buffer) {\n return new MD5().update(buffer).digest()\n}\n","'use strict'\nvar inherits = require('inherits')\nvar Legacy = require('./legacy')\nvar Base = require('cipher-base')\nvar Buffer = require('safe-buffer').Buffer\nvar md5 = require('create-hash/md5')\nvar RIPEMD160 = require('ripemd160')\n\nvar sha = require('sha.js')\n\nvar ZEROS = Buffer.alloc(128)\n\nfunction Hmac (alg, key) {\n Base.call(this, 'digest')\n if (typeof key === 'string') {\n key = Buffer.from(key)\n }\n\n var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64\n\n this._alg = alg\n this._key = key\n if (key.length > blocksize) {\n var hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)\n key = hash.update(key).digest()\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = this._ipad = Buffer.allocUnsafe(blocksize)\n var opad = this._opad = Buffer.allocUnsafe(blocksize)\n\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n this._hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)\n this._hash.update(ipad)\n}\n\ninherits(Hmac, Base)\n\nHmac.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHmac.prototype._final = function () {\n var h = this._hash.digest()\n var hash = this._alg === 'rmd160' ? new RIPEMD160() : sha(this._alg)\n return hash.update(this._opad).update(h).digest()\n}\n\nmodule.exports = function createHmac (alg, key) {\n alg = alg.toLowerCase()\n if (alg === 'rmd160' || alg === 'ripemd160') {\n return new Hmac('rmd160', key)\n }\n if (alg === 'md5') {\n return new Legacy(md5, key)\n }\n return new Hmac(alg, key)\n}\n","'use strict'\nvar inherits = require('inherits')\nvar Buffer = require('safe-buffer').Buffer\n\nvar Base = require('cipher-base')\n\nvar ZEROS = Buffer.alloc(128)\nvar blocksize = 64\n\nfunction Hmac (alg, key) {\n Base.call(this, 'digest')\n if (typeof key === 'string') {\n key = Buffer.from(key)\n }\n\n this._alg = alg\n this._key = key\n\n if (key.length > blocksize) {\n key = alg(key)\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = this._ipad = Buffer.allocUnsafe(blocksize)\n var opad = this._opad = Buffer.allocUnsafe(blocksize)\n\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n\n this._hash = [ipad]\n}\n\ninherits(Hmac, Base)\n\nHmac.prototype._update = function (data) {\n this._hash.push(data)\n}\n\nHmac.prototype._final = function () {\n var h = this._alg(Buffer.concat(this._hash))\n return this._alg(Buffer.concat([this._opad, h]))\n}\nmodule.exports = Hmac\n","'use strict'\n\nexports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = require('randombytes')\nexports.createHash = exports.Hash = require('create-hash')\nexports.createHmac = exports.Hmac = require('create-hmac')\n\nvar algos = require('browserify-sign/algos')\nvar algoKeys = Object.keys(algos)\nvar hashes = ['sha1', 'sha224', 'sha256', 'sha384', 'sha512', 'md5', 'rmd160'].concat(algoKeys)\nexports.getHashes = function () {\n return hashes\n}\n\nvar p = require('pbkdf2')\nexports.pbkdf2 = p.pbkdf2\nexports.pbkdf2Sync = p.pbkdf2Sync\n\nvar aes = require('browserify-cipher')\n\nexports.Cipher = aes.Cipher\nexports.createCipher = aes.createCipher\nexports.Cipheriv = aes.Cipheriv\nexports.createCipheriv = aes.createCipheriv\nexports.Decipher = aes.Decipher\nexports.createDecipher = aes.createDecipher\nexports.Decipheriv = aes.Decipheriv\nexports.createDecipheriv = aes.createDecipheriv\nexports.getCiphers = aes.getCiphers\nexports.listCiphers = aes.listCiphers\n\nvar dh = require('diffie-hellman')\n\nexports.DiffieHellmanGroup = dh.DiffieHellmanGroup\nexports.createDiffieHellmanGroup = dh.createDiffieHellmanGroup\nexports.getDiffieHellman = dh.getDiffieHellman\nexports.createDiffieHellman = dh.createDiffieHellman\nexports.DiffieHellman = dh.DiffieHellman\n\nvar sign = require('browserify-sign')\n\nexports.createSign = sign.createSign\nexports.Sign = sign.Sign\nexports.createVerify = sign.createVerify\nexports.Verify = sign.Verify\n\nexports.createECDH = require('create-ecdh')\n\nvar publicEncrypt = require('public-encrypt')\n\nexports.publicEncrypt = publicEncrypt.publicEncrypt\nexports.privateEncrypt = publicEncrypt.privateEncrypt\nexports.publicDecrypt = publicEncrypt.publicDecrypt\nexports.privateDecrypt = publicEncrypt.privateDecrypt\n\n// the least I can do is make error messages for the rest of the node.js/crypto api.\n// ;[\n// 'createCredentials'\n// ].forEach(function (name) {\n// exports[name] = function () {\n// throw new Error([\n// 'sorry, ' + name + ' is not implemented yet',\n// 'we accept pull requests',\n// 'https://github.com/crypto-browserify/crypto-browserify'\n// ].join('\\n'))\n// }\n// })\n\nvar rf = require('randomfill')\n\nexports.randomFill = rf.randomFill\nexports.randomFillSync = rf.randomFillSync\n\nexports.createCredentials = function () {\n throw new Error([\n 'sorry, createCredentials is not implemented yet',\n 'we accept pull requests',\n 'https://github.com/crypto-browserify/crypto-browserify'\n ].join('\\n'))\n}\n\nexports.constants = {\n 'DH_CHECK_P_NOT_SAFE_PRIME': 2,\n 'DH_CHECK_P_NOT_PRIME': 1,\n 'DH_UNABLE_TO_CHECK_GENERATOR': 4,\n 'DH_NOT_SUITABLE_GENERATOR': 8,\n 'NPN_ENABLED': 1,\n 'ALPN_ENABLED': 1,\n 'RSA_PKCS1_PADDING': 1,\n 'RSA_SSLV23_PADDING': 2,\n 'RSA_NO_PADDING': 3,\n 'RSA_PKCS1_OAEP_PADDING': 4,\n 'RSA_X931_PADDING': 5,\n 'RSA_PKCS1_PSS_PADDING': 6,\n 'POINT_CONVERSION_COMPRESSED': 2,\n 'POINT_CONVERSION_UNCOMPRESSED': 4,\n 'POINT_CONVERSION_HYBRID': 6\n}\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_customParseFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},t=/(\\[[^[]*\\])|([-_:/.,()\\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\\d\\d/,r=/\\d\\d?/,i=/\\d*[^-_:/,()\\s\\d]+/,o={},s=function(e){return(e=+e)+(e>68?1900:2e3)};var a=function(e){return function(t){this[e]=+t}},f=[/[+-]\\d\\d:?(\\d\\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if(\"Z\"===e)return 0;var t=e.match(/([+-]|\\d\\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:\"+\"===t[0]?-n:n}(e)}],h=function(e){var t=o[e];return t&&(t.indexOf?t:t.s.concat(t.f))},u=function(e,t){var n,r=o.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?\"pm\":\"PM\");return n},d={A:[i,function(e){this.afternoon=u(e,!1)}],a:[i,function(e){this.afternoon=u(e,!0)}],S:[/\\d/,function(e){this.milliseconds=100*+e}],SS:[n,function(e){this.milliseconds=10*+e}],SSS:[/\\d{3}/,function(e){this.milliseconds=+e}],s:[r,a(\"seconds\")],ss:[r,a(\"seconds\")],m:[r,a(\"minutes\")],mm:[r,a(\"minutes\")],H:[r,a(\"hours\")],h:[r,a(\"hours\")],HH:[r,a(\"hours\")],hh:[r,a(\"hours\")],D:[r,a(\"day\")],DD:[n,a(\"day\")],Do:[i,function(e){var t=o.ordinal,n=e.match(/\\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\\[|\\]/g,\"\")===e&&(this.day=r)}],M:[r,a(\"month\")],MM:[n,a(\"month\")],MMM:[i,function(e){var t=h(\"months\"),n=(h(\"monthsShort\")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[i,function(e){var t=h(\"months\").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\\d+/,a(\"year\")],YY:[n,function(e){this.year=s(e)}],YYYY:[/\\d{4}/,a(\"year\")],Z:f,ZZ:f};function c(n){var r,i;r=n,i=o&&o.formats;for(var s=(n=r.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var o=r&&r.toUpperCase();return n||i[r]||e[r]||i[o].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),a=s.length,f=0;f<a;f+=1){var h=s[f],u=d[h],c=u&&u[0],l=u&&u[1];s[f]=l?{regex:c,parser:l}:h.replace(/^\\[|\\]$/g,\"\")}return function(e){for(var t={},n=0,r=0;n<a;n+=1){var i=s[n];if(\"string\"==typeof i)r+=i.length;else{var o=i.regex,f=i.parser,h=e.slice(r),u=o.exec(h)[0];f.call(t,u),e=e.replace(u,\"\")}}return function(e){var t=e.afternoon;if(void 0!==t){var n=e.hours;t?n<12&&(e.hours+=12):12===n&&(e.hours=0),delete e.afternoon}}(t),t}}return function(e,t,n){n.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(s=e.parseTwoDigitYear);var r=t.prototype,i=r.parse;r.parse=function(e){var t=e.date,r=e.utc,s=e.args;this.$u=r;var a=s[1];if(\"string\"==typeof a){var f=!0===s[2],h=!0===s[3],u=f||h,d=s[2];h&&(d=s[2]),o=this.$locale(),!f&&d&&(o=n.Ls[d]),this.$d=function(e,t,n){try{if([\"x\",\"X\"].indexOf(t)>-1)return new Date((\"X\"===t?1e3:1)*e);var r=c(t)(e),i=r.year,o=r.month,s=r.day,a=r.hours,f=r.minutes,h=r.seconds,u=r.milliseconds,d=r.zone,l=new Date,m=s||(i||o?1:l.getDate()),M=i||l.getFullYear(),Y=0;i&&!o||(Y=o>0?o-1:l.getMonth());var p=a||0,v=f||0,D=h||0,g=u||0;return d?new Date(Date.UTC(M,Y,m,p,v,D,g+60*d.offset*1e3)):n?new Date(Date.UTC(M,Y,m,p,v,D,g)):new Date(M,Y,m,p,v,D,g)}catch(e){return new Date(\"\")}}(t,a,r),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(a)&&(this.$d=new Date(\"\")),o={}}else if(a instanceof Array)for(var l=a.length,m=1;m<=l;m+=1){s[1]=a[m-1];var M=n.apply(this,s);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===l&&(this.$d=new Date(\"\"))}else i.call(this,e)}}}));","!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_utc=i()}(this,(function(){\"use strict\";var t=\"minute\",i=/[+-]\\d\\d(?::?\\d\\d)?/g,e=/([+-]|\\d\\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t)};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else r.call(this)};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if(\"string\"==typeof s&&(s=function(t){void 0===t&&(t=\"\");var s=t.match(i);if(!s)return null;var f=(\"\"+s[0]).match(e)||[\"-\",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:\"+\"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?\"YYYY-MM-DDTHH:mm:ss[Z]\":\"\");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return\"s\"===t&&this.$offset?n(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)}}}));","'use strict';\n\nexports.utils = require('./des/utils');\nexports.Cipher = require('./des/cipher');\nexports.DES = require('./des/des');\nexports.CBC = require('./des/cbc');\nexports.EDE = require('./des/ede');\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar proto = {};\n\nfunction CBCState(iv) {\n assert.equal(iv.length, 8, 'Invalid IV length');\n\n this.iv = new Array(8);\n for (var i = 0; i < this.iv.length; i++)\n this.iv[i] = iv[i];\n}\n\nfunction instantiate(Base) {\n function CBC(options) {\n Base.call(this, options);\n this._cbcInit();\n }\n inherits(CBC, Base);\n\n var keys = Object.keys(proto);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n CBC.prototype[key] = proto[key];\n }\n\n CBC.create = function create(options) {\n return new CBC(options);\n };\n\n return CBC;\n}\n\nexports.instantiate = instantiate;\n\nproto._cbcInit = function _cbcInit() {\n var state = new CBCState(this.options.iv);\n this._cbcState = state;\n};\n\nproto._update = function _update(inp, inOff, out, outOff) {\n var state = this._cbcState;\n var superProto = this.constructor.super_.prototype;\n\n var iv = state.iv;\n if (this.type === 'encrypt') {\n for (var i = 0; i < this.blockSize; i++)\n iv[i] ^= inp[inOff + i];\n\n superProto._update.call(this, iv, 0, out, outOff);\n\n for (var i = 0; i < this.blockSize; i++)\n iv[i] = out[outOff + i];\n } else {\n superProto._update.call(this, inp, inOff, out, outOff);\n\n for (var i = 0; i < this.blockSize; i++)\n out[outOff + i] ^= iv[i];\n\n for (var i = 0; i < this.blockSize; i++)\n iv[i] = inp[inOff + i];\n }\n};\n","'use strict';\n\nvar assert = require('minimalistic-assert');\n\nfunction Cipher(options) {\n this.options = options;\n\n this.type = this.options.type;\n this.blockSize = 8;\n this._init();\n\n this.buffer = new Array(this.blockSize);\n this.bufferOff = 0;\n this.padding = options.padding !== false\n}\nmodule.exports = Cipher;\n\nCipher.prototype._init = function _init() {\n // Might be overrided\n};\n\nCipher.prototype.update = function update(data) {\n if (data.length === 0)\n return [];\n\n if (this.type === 'decrypt')\n return this._updateDecrypt(data);\n else\n return this._updateEncrypt(data);\n};\n\nCipher.prototype._buffer = function _buffer(data, off) {\n // Append data to buffer\n var min = Math.min(this.buffer.length - this.bufferOff, data.length - off);\n for (var i = 0; i < min; i++)\n this.buffer[this.bufferOff + i] = data[off + i];\n this.bufferOff += min;\n\n // Shift next\n return min;\n};\n\nCipher.prototype._flushBuffer = function _flushBuffer(out, off) {\n this._update(this.buffer, 0, out, off);\n this.bufferOff = 0;\n return this.blockSize;\n};\n\nCipher.prototype._updateEncrypt = function _updateEncrypt(data) {\n var inputOff = 0;\n var outputOff = 0;\n\n var count = ((this.bufferOff + data.length) / this.blockSize) | 0;\n var out = new Array(count * this.blockSize);\n\n if (this.bufferOff !== 0) {\n inputOff += this._buffer(data, inputOff);\n\n if (this.bufferOff === this.buffer.length)\n outputOff += this._flushBuffer(out, outputOff);\n }\n\n // Write blocks\n var max = data.length - ((data.length - inputOff) % this.blockSize);\n for (; inputOff < max; inputOff += this.blockSize) {\n this._update(data, inputOff, out, outputOff);\n outputOff += this.blockSize;\n }\n\n // Queue rest\n for (; inputOff < data.length; inputOff++, this.bufferOff++)\n this.buffer[this.bufferOff] = data[inputOff];\n\n return out;\n};\n\nCipher.prototype._updateDecrypt = function _updateDecrypt(data) {\n var inputOff = 0;\n var outputOff = 0;\n\n var count = Math.ceil((this.bufferOff + data.length) / this.blockSize) - 1;\n var out = new Array(count * this.blockSize);\n\n // TODO(indutny): optimize it, this is far from optimal\n for (; count > 0; count--) {\n inputOff += this._buffer(data, inputOff);\n outputOff += this._flushBuffer(out, outputOff);\n }\n\n // Buffer rest of the input\n inputOff += this._buffer(data, inputOff);\n\n return out;\n};\n\nCipher.prototype.final = function final(buffer) {\n var first;\n if (buffer)\n first = this.update(buffer);\n\n var last;\n if (this.type === 'encrypt')\n last = this._finalEncrypt();\n else\n last = this._finalDecrypt();\n\n if (first)\n return first.concat(last);\n else\n return last;\n};\n\nCipher.prototype._pad = function _pad(buffer, off) {\n if (off === 0)\n return false;\n\n while (off < buffer.length)\n buffer[off++] = 0;\n\n return true;\n};\n\nCipher.prototype._finalEncrypt = function _finalEncrypt() {\n if (!this._pad(this.buffer, this.bufferOff))\n return [];\n\n var out = new Array(this.blockSize);\n this._update(this.buffer, 0, out, 0);\n return out;\n};\n\nCipher.prototype._unpad = function _unpad(buffer) {\n return buffer;\n};\n\nCipher.prototype._finalDecrypt = function _finalDecrypt() {\n assert.equal(this.bufferOff, this.blockSize, 'Not enough data to decrypt');\n var out = new Array(this.blockSize);\n this._flushBuffer(out, 0);\n\n return this._unpad(out);\n};\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar utils = require('./utils');\nvar Cipher = require('./cipher');\n\nfunction DESState() {\n this.tmp = new Array(2);\n this.keys = null;\n}\n\nfunction DES(options) {\n Cipher.call(this, options);\n\n var state = new DESState();\n this._desState = state;\n\n this.deriveKeys(state, options.key);\n}\ninherits(DES, Cipher);\nmodule.exports = DES;\n\nDES.create = function create(options) {\n return new DES(options);\n};\n\nvar shiftTable = [\n 1, 1, 2, 2, 2, 2, 2, 2,\n 1, 2, 2, 2, 2, 2, 2, 1\n];\n\nDES.prototype.deriveKeys = function deriveKeys(state, key) {\n state.keys = new Array(16 * 2);\n\n assert.equal(key.length, this.blockSize, 'Invalid key length');\n\n var kL = utils.readUInt32BE(key, 0);\n var kR = utils.readUInt32BE(key, 4);\n\n utils.pc1(kL, kR, state.tmp, 0);\n kL = state.tmp[0];\n kR = state.tmp[1];\n for (var i = 0; i < state.keys.length; i += 2) {\n var shift = shiftTable[i >>> 1];\n kL = utils.r28shl(kL, shift);\n kR = utils.r28shl(kR, shift);\n utils.pc2(kL, kR, state.keys, i);\n }\n};\n\nDES.prototype._update = function _update(inp, inOff, out, outOff) {\n var state = this._desState;\n\n var l = utils.readUInt32BE(inp, inOff);\n var r = utils.readUInt32BE(inp, inOff + 4);\n\n // Initial Permutation\n utils.ip(l, r, state.tmp, 0);\n l = state.tmp[0];\n r = state.tmp[1];\n\n if (this.type === 'encrypt')\n this._encrypt(state, l, r, state.tmp, 0);\n else\n this._decrypt(state, l, r, state.tmp, 0);\n\n l = state.tmp[0];\n r = state.tmp[1];\n\n utils.writeUInt32BE(out, l, outOff);\n utils.writeUInt32BE(out, r, outOff + 4);\n};\n\nDES.prototype._pad = function _pad(buffer, off) {\n if (this.padding === false) {\n return false;\n }\n\n var value = buffer.length - off;\n for (var i = off; i < buffer.length; i++)\n buffer[i] = value;\n\n return true;\n};\n\nDES.prototype._unpad = function _unpad(buffer) {\n if (this.padding === false) {\n return buffer;\n }\n\n var pad = buffer[buffer.length - 1];\n for (var i = buffer.length - pad; i < buffer.length; i++)\n assert.equal(buffer[i], pad);\n\n return buffer.slice(0, buffer.length - pad);\n};\n\nDES.prototype._encrypt = function _encrypt(state, lStart, rStart, out, off) {\n var l = lStart;\n var r = rStart;\n\n // Apply f() x16 times\n for (var i = 0; i < state.keys.length; i += 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(r, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = r;\n r = (l ^ f) >>> 0;\n l = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(r, l, out, off);\n};\n\nDES.prototype._decrypt = function _decrypt(state, lStart, rStart, out, off) {\n var l = rStart;\n var r = lStart;\n\n // Apply f() x16 times\n for (var i = state.keys.length - 2; i >= 0; i -= 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(l, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = l;\n l = (r ^ f) >>> 0;\n r = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(l, r, out, off);\n};\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar Cipher = require('./cipher');\nvar DES = require('./des');\n\nfunction EDEState(type, key) {\n assert.equal(key.length, 24, 'Invalid key length');\n\n var k1 = key.slice(0, 8);\n var k2 = key.slice(8, 16);\n var k3 = key.slice(16, 24);\n\n if (type === 'encrypt') {\n this.ciphers = [\n DES.create({ type: 'encrypt', key: k1 }),\n DES.create({ type: 'decrypt', key: k2 }),\n DES.create({ type: 'encrypt', key: k3 })\n ];\n } else {\n this.ciphers = [\n DES.create({ type: 'decrypt', key: k3 }),\n DES.create({ type: 'encrypt', key: k2 }),\n DES.create({ type: 'decrypt', key: k1 })\n ];\n }\n}\n\nfunction EDE(options) {\n Cipher.call(this, options);\n\n var state = new EDEState(this.type, this.options.key);\n this._edeState = state;\n}\ninherits(EDE, Cipher);\n\nmodule.exports = EDE;\n\nEDE.create = function create(options) {\n return new EDE(options);\n};\n\nEDE.prototype._update = function _update(inp, inOff, out, outOff) {\n var state = this._edeState;\n\n state.ciphers[0]._update(inp, inOff, out, outOff);\n state.ciphers[1]._update(out, outOff, out, outOff);\n state.ciphers[2]._update(out, outOff, out, outOff);\n};\n\nEDE.prototype._pad = DES.prototype._pad;\nEDE.prototype._unpad = DES.prototype._unpad;\n","'use strict';\n\nexports.readUInt32BE = function readUInt32BE(bytes, off) {\n var res = (bytes[0 + off] << 24) |\n (bytes[1 + off] << 16) |\n (bytes[2 + off] << 8) |\n bytes[3 + off];\n return res >>> 0;\n};\n\nexports.writeUInt32BE = function writeUInt32BE(bytes, value, off) {\n bytes[0 + off] = value >>> 24;\n bytes[1 + off] = (value >>> 16) & 0xff;\n bytes[2 + off] = (value >>> 8) & 0xff;\n bytes[3 + off] = value & 0xff;\n};\n\nexports.ip = function ip(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n for (var i = 6; i >= 0; i -= 2) {\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >>> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inL >>> (j + i)) & 1;\n }\n }\n\n for (var i = 6; i >= 0; i -= 2) {\n for (var j = 1; j <= 25; j += 8) {\n outR <<= 1;\n outR |= (inR >>> (j + i)) & 1;\n }\n for (var j = 1; j <= 25; j += 8) {\n outR <<= 1;\n outR |= (inL >>> (j + i)) & 1;\n }\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.rip = function rip(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n for (var i = 0; i < 4; i++) {\n for (var j = 24; j >= 0; j -= 8) {\n outL <<= 1;\n outL |= (inR >>> (j + i)) & 1;\n outL <<= 1;\n outL |= (inL >>> (j + i)) & 1;\n }\n }\n for (var i = 4; i < 8; i++) {\n for (var j = 24; j >= 0; j -= 8) {\n outR <<= 1;\n outR |= (inR >>> (j + i)) & 1;\n outR <<= 1;\n outR |= (inL >>> (j + i)) & 1;\n }\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.pc1 = function pc1(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n // 7, 15, 23, 31, 39, 47, 55, 63\n // 6, 14, 22, 30, 39, 47, 55, 63\n // 5, 13, 21, 29, 39, 47, 55, 63\n // 4, 12, 20, 28\n for (var i = 7; i >= 5; i--) {\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inL >> (j + i)) & 1;\n }\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >> (j + i)) & 1;\n }\n\n // 1, 9, 17, 25, 33, 41, 49, 57\n // 2, 10, 18, 26, 34, 42, 50, 58\n // 3, 11, 19, 27, 35, 43, 51, 59\n // 36, 44, 52, 60\n for (var i = 1; i <= 3; i++) {\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inR >> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inL >> (j + i)) & 1;\n }\n }\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inL >> (j + i)) & 1;\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.r28shl = function r28shl(num, shift) {\n return ((num << shift) & 0xfffffff) | (num >>> (28 - shift));\n};\n\nvar pc2table = [\n // inL => outL\n 14, 11, 17, 4, 27, 23, 25, 0,\n 13, 22, 7, 18, 5, 9, 16, 24,\n 2, 20, 12, 21, 1, 8, 15, 26,\n\n // inR => outR\n 15, 4, 25, 19, 9, 1, 26, 16,\n 5, 11, 23, 8, 12, 7, 17, 0,\n 22, 3, 10, 14, 6, 20, 27, 24\n];\n\nexports.pc2 = function pc2(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n var len = pc2table.length >>> 1;\n for (var i = 0; i < len; i++) {\n outL <<= 1;\n outL |= (inL >>> pc2table[i]) & 0x1;\n }\n for (var i = len; i < pc2table.length; i++) {\n outR <<= 1;\n outR |= (inR >>> pc2table[i]) & 0x1;\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.expand = function expand(r, out, off) {\n var outL = 0;\n var outR = 0;\n\n outL = ((r & 1) << 5) | (r >>> 27);\n for (var i = 23; i >= 15; i -= 4) {\n outL <<= 6;\n outL |= (r >>> i) & 0x3f;\n }\n for (var i = 11; i >= 3; i -= 4) {\n outR |= (r >>> i) & 0x3f;\n outR <<= 6;\n }\n outR |= ((r & 0x1f) << 1) | (r >>> 31);\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nvar sTable = [\n 14, 0, 4, 15, 13, 7, 1, 4, 2, 14, 15, 2, 11, 13, 8, 1,\n 3, 10, 10, 6, 6, 12, 12, 11, 5, 9, 9, 5, 0, 3, 7, 8,\n 4, 15, 1, 12, 14, 8, 8, 2, 13, 4, 6, 9, 2, 1, 11, 7,\n 15, 5, 12, 11, 9, 3, 7, 14, 3, 10, 10, 0, 5, 6, 0, 13,\n\n 15, 3, 1, 13, 8, 4, 14, 7, 6, 15, 11, 2, 3, 8, 4, 14,\n 9, 12, 7, 0, 2, 1, 13, 10, 12, 6, 0, 9, 5, 11, 10, 5,\n 0, 13, 14, 8, 7, 10, 11, 1, 10, 3, 4, 15, 13, 4, 1, 2,\n 5, 11, 8, 6, 12, 7, 6, 12, 9, 0, 3, 5, 2, 14, 15, 9,\n\n 10, 13, 0, 7, 9, 0, 14, 9, 6, 3, 3, 4, 15, 6, 5, 10,\n 1, 2, 13, 8, 12, 5, 7, 14, 11, 12, 4, 11, 2, 15, 8, 1,\n 13, 1, 6, 10, 4, 13, 9, 0, 8, 6, 15, 9, 3, 8, 0, 7,\n 11, 4, 1, 15, 2, 14, 12, 3, 5, 11, 10, 5, 14, 2, 7, 12,\n\n 7, 13, 13, 8, 14, 11, 3, 5, 0, 6, 6, 15, 9, 0, 10, 3,\n 1, 4, 2, 7, 8, 2, 5, 12, 11, 1, 12, 10, 4, 14, 15, 9,\n 10, 3, 6, 15, 9, 0, 0, 6, 12, 10, 11, 1, 7, 13, 13, 8,\n 15, 9, 1, 4, 3, 5, 14, 11, 5, 12, 2, 7, 8, 2, 4, 14,\n\n 2, 14, 12, 11, 4, 2, 1, 12, 7, 4, 10, 7, 11, 13, 6, 1,\n 8, 5, 5, 0, 3, 15, 15, 10, 13, 3, 0, 9, 14, 8, 9, 6,\n 4, 11, 2, 8, 1, 12, 11, 7, 10, 1, 13, 14, 7, 2, 8, 13,\n 15, 6, 9, 15, 12, 0, 5, 9, 6, 10, 3, 4, 0, 5, 14, 3,\n\n 12, 10, 1, 15, 10, 4, 15, 2, 9, 7, 2, 12, 6, 9, 8, 5,\n 0, 6, 13, 1, 3, 13, 4, 14, 14, 0, 7, 11, 5, 3, 11, 8,\n 9, 4, 14, 3, 15, 2, 5, 12, 2, 9, 8, 5, 12, 15, 3, 10,\n 7, 11, 0, 14, 4, 1, 10, 7, 1, 6, 13, 0, 11, 8, 6, 13,\n\n 4, 13, 11, 0, 2, 11, 14, 7, 15, 4, 0, 9, 8, 1, 13, 10,\n 3, 14, 12, 3, 9, 5, 7, 12, 5, 2, 10, 15, 6, 8, 1, 6,\n 1, 6, 4, 11, 11, 13, 13, 8, 12, 1, 3, 4, 7, 10, 14, 7,\n 10, 9, 15, 5, 6, 0, 8, 15, 0, 14, 5, 2, 9, 3, 2, 12,\n\n 13, 1, 2, 15, 8, 13, 4, 8, 6, 10, 15, 3, 11, 7, 1, 4,\n 10, 12, 9, 5, 3, 6, 14, 11, 5, 0, 0, 14, 12, 9, 7, 2,\n 7, 2, 11, 1, 4, 14, 1, 7, 9, 4, 12, 10, 14, 8, 2, 13,\n 0, 15, 6, 12, 10, 9, 13, 0, 15, 3, 3, 5, 5, 6, 8, 11\n];\n\nexports.substitute = function substitute(inL, inR) {\n var out = 0;\n for (var i = 0; i < 4; i++) {\n var b = (inL >>> (18 - i * 6)) & 0x3f;\n var sb = sTable[i * 0x40 + b];\n\n out <<= 4;\n out |= sb;\n }\n for (var i = 0; i < 4; i++) {\n var b = (inR >>> (18 - i * 6)) & 0x3f;\n var sb = sTable[4 * 0x40 + i * 0x40 + b];\n\n out <<= 4;\n out |= sb;\n }\n return out >>> 0;\n};\n\nvar permuteTable = [\n 16, 25, 12, 11, 3, 20, 4, 15, 31, 17, 9, 6, 27, 14, 1, 22,\n 30, 24, 8, 18, 0, 5, 29, 23, 13, 19, 2, 26, 10, 21, 28, 7\n];\n\nexports.permute = function permute(num) {\n var out = 0;\n for (var i = 0; i < permuteTable.length; i++) {\n out <<= 1;\n out |= (num >>> permuteTable[i]) & 0x1;\n }\n return out >>> 0;\n};\n\nexports.padSplit = function padSplit(num, size, group) {\n var str = num.toString(2);\n while (str.length < size)\n str = '0' + str;\n\n var out = [];\n for (var i = 0; i < size; i += group)\n out.push(str.slice(i, i + group));\n return out.join(' ');\n};\n","var generatePrime = require('./lib/generatePrime')\nvar primes = require('./lib/primes.json')\n\nvar DH = require('./lib/dh')\n\nfunction getDiffieHellman (mod) {\n var prime = new Buffer(primes[mod].prime, 'hex')\n var gen = new Buffer(primes[mod].gen, 'hex')\n\n return new DH(prime, gen)\n}\n\nvar ENCODINGS = {\n 'binary': true, 'hex': true, 'base64': true\n}\n\nfunction createDiffieHellman (prime, enc, generator, genc) {\n if (Buffer.isBuffer(enc) || ENCODINGS[enc] === undefined) {\n return createDiffieHellman(prime, 'binary', enc, generator)\n }\n\n enc = enc || 'binary'\n genc = genc || 'binary'\n generator = generator || new Buffer([2])\n\n if (!Buffer.isBuffer(generator)) {\n generator = new Buffer(generator, genc)\n }\n\n if (typeof prime === 'number') {\n return new DH(generatePrime(prime, generator), generator, true)\n }\n\n if (!Buffer.isBuffer(prime)) {\n prime = new Buffer(prime, enc)\n }\n\n return new DH(prime, generator, true)\n}\n\nexports.DiffieHellmanGroup = exports.createDiffieHellmanGroup = exports.getDiffieHellman = getDiffieHellman\nexports.createDiffieHellman = exports.DiffieHellman = createDiffieHellman\n","var BN = require('bn.js');\nvar MillerRabin = require('miller-rabin');\nvar millerRabin = new MillerRabin();\nvar TWENTYFOUR = new BN(24);\nvar ELEVEN = new BN(11);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar primes = require('./generatePrime');\nvar randomBytes = require('randombytes');\nmodule.exports = DH;\n\nfunction setPublicKey(pub, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(pub)) {\n pub = new Buffer(pub, enc);\n }\n this._pub = new BN(pub);\n return this;\n}\n\nfunction setPrivateKey(priv, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(priv)) {\n priv = new Buffer(priv, enc);\n }\n this._priv = new BN(priv);\n return this;\n}\n\nvar primeCache = {};\nfunction checkPrime(prime, generator) {\n var gen = generator.toString('hex');\n var hex = [gen, prime.toString(16)].join('_');\n if (hex in primeCache) {\n return primeCache[hex];\n }\n var error = 0;\n\n if (prime.isEven() ||\n !primes.simpleSieve ||\n !primes.fermatTest(prime) ||\n !millerRabin.test(prime)) {\n //not a prime so +1\n error += 1;\n\n if (gen === '02' || gen === '05') {\n // we'd be able to check the generator\n // it would fail so +8\n error += 8;\n } else {\n //we wouldn't be able to test the generator\n // so +4\n error += 4;\n }\n primeCache[hex] = error;\n return error;\n }\n if (!millerRabin.test(prime.shrn(1))) {\n //not a safe prime\n error += 2;\n }\n var rem;\n switch (gen) {\n case '02':\n if (prime.mod(TWENTYFOUR).cmp(ELEVEN)) {\n // unsuidable generator\n error += 8;\n }\n break;\n case '05':\n rem = prime.mod(TEN);\n if (rem.cmp(THREE) && rem.cmp(SEVEN)) {\n // prime mod 10 needs to equal 3 or 7\n error += 8;\n }\n break;\n default:\n error += 4;\n }\n primeCache[hex] = error;\n return error;\n}\n\nfunction DH(prime, generator, malleable) {\n this.setGenerator(generator);\n this.__prime = new BN(prime);\n this._prime = BN.mont(this.__prime);\n this._primeLen = prime.length;\n this._pub = undefined;\n this._priv = undefined;\n this._primeCode = undefined;\n if (malleable) {\n this.setPublicKey = setPublicKey;\n this.setPrivateKey = setPrivateKey;\n } else {\n this._primeCode = 8;\n }\n}\nObject.defineProperty(DH.prototype, 'verifyError', {\n enumerable: true,\n get: function () {\n if (typeof this._primeCode !== 'number') {\n this._primeCode = checkPrime(this.__prime, this.__gen);\n }\n return this._primeCode;\n }\n});\nDH.prototype.generateKeys = function () {\n if (!this._priv) {\n this._priv = new BN(randomBytes(this._primeLen));\n }\n this._pub = this._gen.toRed(this._prime).redPow(this._priv).fromRed();\n return this.getPublicKey();\n};\n\nDH.prototype.computeSecret = function (other) {\n other = new BN(other);\n other = other.toRed(this._prime);\n var secret = other.redPow(this._priv).fromRed();\n var out = new Buffer(secret.toArray());\n var prime = this.getPrime();\n if (out.length < prime.length) {\n var front = new Buffer(prime.length - out.length);\n front.fill(0);\n out = Buffer.concat([front, out]);\n }\n return out;\n};\n\nDH.prototype.getPublicKey = function getPublicKey(enc) {\n return formatReturnValue(this._pub, enc);\n};\n\nDH.prototype.getPrivateKey = function getPrivateKey(enc) {\n return formatReturnValue(this._priv, enc);\n};\n\nDH.prototype.getPrime = function (enc) {\n return formatReturnValue(this.__prime, enc);\n};\n\nDH.prototype.getGenerator = function (enc) {\n return formatReturnValue(this._gen, enc);\n};\n\nDH.prototype.setGenerator = function (gen, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(gen)) {\n gen = new Buffer(gen, enc);\n }\n this.__gen = gen;\n this._gen = new BN(gen);\n return this;\n};\n\nfunction formatReturnValue(bn, enc) {\n var buf = new Buffer(bn.toArray());\n if (!enc) {\n return buf;\n } else {\n return buf.toString(enc);\n }\n}\n","var randomBytes = require('randombytes');\nmodule.exports = findPrime;\nfindPrime.simpleSieve = simpleSieve;\nfindPrime.fermatTest = fermatTest;\nvar BN = require('bn.js');\nvar TWENTYFOUR = new BN(24);\nvar MillerRabin = require('miller-rabin');\nvar millerRabin = new MillerRabin();\nvar ONE = new BN(1);\nvar TWO = new BN(2);\nvar FIVE = new BN(5);\nvar SIXTEEN = new BN(16);\nvar EIGHT = new BN(8);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar ELEVEN = new BN(11);\nvar FOUR = new BN(4);\nvar TWELVE = new BN(12);\nvar primes = null;\n\nfunction _getPrimes() {\n if (primes !== null)\n return primes;\n\n var limit = 0x100000;\n var res = [];\n res[0] = 2;\n for (var i = 1, k = 3; k < limit; k += 2) {\n var sqrt = Math.ceil(Math.sqrt(k));\n for (var j = 0; j < i && res[j] <= sqrt; j++)\n if (k % res[j] === 0)\n break;\n\n if (i !== j && res[j] <= sqrt)\n continue;\n\n res[i++] = k;\n }\n primes = res;\n return res;\n}\n\nfunction simpleSieve(p) {\n var primes = _getPrimes();\n\n for (var i = 0; i < primes.length; i++)\n if (p.modn(primes[i]) === 0) {\n if (p.cmpn(primes[i]) === 0) {\n return true;\n } else {\n return false;\n }\n }\n\n return true;\n}\n\nfunction fermatTest(p) {\n var red = BN.mont(p);\n return TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1) === 0;\n}\n\nfunction findPrime(bits, gen) {\n if (bits < 16) {\n // this is what openssl does\n if (gen === 2 || gen === 5) {\n return new BN([0x8c, 0x7b]);\n } else {\n return new BN([0x8c, 0x27]);\n }\n }\n gen = new BN(gen);\n\n var num, n2;\n\n while (true) {\n num = new BN(randomBytes(Math.ceil(bits / 8)));\n while (num.bitLength() > bits) {\n num.ishrn(1);\n }\n if (num.isEven()) {\n num.iadd(ONE);\n }\n if (!num.testn(1)) {\n num.iadd(TWO);\n }\n if (!gen.cmp(TWO)) {\n while (num.mod(TWENTYFOUR).cmp(ELEVEN)) {\n num.iadd(FOUR);\n }\n } else if (!gen.cmp(FIVE)) {\n while (num.mod(TEN).cmp(THREE)) {\n num.iadd(FOUR);\n }\n }\n n2 = num.shrn(1);\n if (simpleSieve(n2) && simpleSieve(num) &&\n fermatTest(n2) && fermatTest(num) &&\n millerRabin.test(n2) && millerRabin.test(num)) {\n return num;\n }\n }\n\n}\n","module.exports={\n \"modp1\": {\n \"gen\": \"02\",\n \"prime\": \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff\"\n },\n \"modp2\": {\n \"gen\": \"02\",\n \"prime\": \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff\"\n },\n \"modp5\": {\n \"gen\": \"02\",\n \"prime\": \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff\"\n },\n \"modp14\": {\n \"gen\": \"02\",\n \"prime\": \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff\"\n },\n \"modp15\": {\n \"gen\": \"02\",\n \"prime\": \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff\"\n },\n \"modp16\": {\n \"gen\": \"02\",\n \"prime\": \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff\"\n },\n \"modp17\": {\n \"gen\": \"02\",\n \"prime\": \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff\"\n },\n \"modp18\": {\n \"gen\": \"02\",\n \"prime\": \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff\"\n }\n}","'use strict';\n\nvar elliptic = exports;\n\nelliptic.version = require('../package.json').version;\nelliptic.utils = require('./elliptic/utils');\nelliptic.rand = require('brorand');\nelliptic.curve = require('./elliptic/curve');\nelliptic.curves = require('./elliptic/curves');\n\n// Protocols\nelliptic.ec = require('./elliptic/ec');\nelliptic.eddsa = require('./elliptic/eddsa');\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar getNAF = utils.getNAF;\nvar getJSF = utils.getJSF;\nvar assert = utils.assert;\n\nfunction BaseCurve(type, conf) {\n this.type = type;\n this.p = new BN(conf.p, 16);\n\n // Use Montgomery, when there is no fast reduction for the prime\n this.red = conf.prime ? BN.red(conf.prime) : BN.mont(this.p);\n\n // Useful for many curves\n this.zero = new BN(0).toRed(this.red);\n this.one = new BN(1).toRed(this.red);\n this.two = new BN(2).toRed(this.red);\n\n // Curve configuration, optional\n this.n = conf.n && new BN(conf.n, 16);\n this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed);\n\n // Temporary arrays\n this._wnafT1 = new Array(4);\n this._wnafT2 = new Array(4);\n this._wnafT3 = new Array(4);\n this._wnafT4 = new Array(4);\n\n this._bitLength = this.n ? this.n.bitLength() : 0;\n\n // Generalized Greg Maxwell's trick\n var adjustCount = this.n && this.p.div(this.n);\n if (!adjustCount || adjustCount.cmpn(100) > 0) {\n this.redN = null;\n } else {\n this._maxwellTrick = true;\n this.redN = this.n.toRed(this.red);\n }\n}\nmodule.exports = BaseCurve;\n\nBaseCurve.prototype.point = function point() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype.validate = function validate() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) {\n assert(p.precomputed);\n var doubles = p._getDoubles();\n\n var naf = getNAF(k, 1, this._bitLength);\n var I = (1 << (doubles.step + 1)) - (doubles.step % 2 === 0 ? 2 : 1);\n I /= 3;\n\n // Translate into more windowed form\n var repr = [];\n var j;\n var nafW;\n for (j = 0; j < naf.length; j += doubles.step) {\n nafW = 0;\n for (var l = j + doubles.step - 1; l >= j; l--)\n nafW = (nafW << 1) + naf[l];\n repr.push(nafW);\n }\n\n var a = this.jpoint(null, null, null);\n var b = this.jpoint(null, null, null);\n for (var i = I; i > 0; i--) {\n for (j = 0; j < repr.length; j++) {\n nafW = repr[j];\n if (nafW === i)\n b = b.mixedAdd(doubles.points[j]);\n else if (nafW === -i)\n b = b.mixedAdd(doubles.points[j].neg());\n }\n a = a.add(b);\n }\n return a.toP();\n};\n\nBaseCurve.prototype._wnafMul = function _wnafMul(p, k) {\n var w = 4;\n\n // Precompute window\n var nafPoints = p._getNAFPoints(w);\n w = nafPoints.wnd;\n var wnd = nafPoints.points;\n\n // Get NAF form\n var naf = getNAF(k, w, this._bitLength);\n\n // Add `this`*(N+1) for every w-NAF index\n var acc = this.jpoint(null, null, null);\n for (var i = naf.length - 1; i >= 0; i--) {\n // Count zeroes\n for (var l = 0; i >= 0 && naf[i] === 0; i--)\n l++;\n if (i >= 0)\n l++;\n acc = acc.dblp(l);\n\n if (i < 0)\n break;\n var z = naf[i];\n assert(z !== 0);\n if (p.type === 'affine') {\n // J +- P\n if (z > 0)\n acc = acc.mixedAdd(wnd[(z - 1) >> 1]);\n else\n acc = acc.mixedAdd(wnd[(-z - 1) >> 1].neg());\n } else {\n // J +- J\n if (z > 0)\n acc = acc.add(wnd[(z - 1) >> 1]);\n else\n acc = acc.add(wnd[(-z - 1) >> 1].neg());\n }\n }\n return p.type === 'affine' ? acc.toP() : acc;\n};\n\nBaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW,\n points,\n coeffs,\n len,\n jacobianResult) {\n var wndWidth = this._wnafT1;\n var wnd = this._wnafT2;\n var naf = this._wnafT3;\n\n // Fill all arrays\n var max = 0;\n var i;\n var j;\n var p;\n for (i = 0; i < len; i++) {\n p = points[i];\n var nafPoints = p._getNAFPoints(defW);\n wndWidth[i] = nafPoints.wnd;\n wnd[i] = nafPoints.points;\n }\n\n // Comb small window NAFs\n for (i = len - 1; i >= 1; i -= 2) {\n var a = i - 1;\n var b = i;\n if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {\n naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength);\n naf[b] = getNAF(coeffs[b], wndWidth[b], this._bitLength);\n max = Math.max(naf[a].length, max);\n max = Math.max(naf[b].length, max);\n continue;\n }\n\n var comb = [\n points[a], /* 1 */\n null, /* 3 */\n null, /* 5 */\n points[b], /* 7 */\n ];\n\n // Try to avoid Projective points, if possible\n if (points[a].y.cmp(points[b].y) === 0) {\n comb[1] = points[a].add(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].add(points[b].neg());\n } else {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n }\n\n var index = [\n -3, /* -1 -1 */\n -1, /* -1 0 */\n -5, /* -1 1 */\n -7, /* 0 -1 */\n 0, /* 0 0 */\n 7, /* 0 1 */\n 5, /* 1 -1 */\n 1, /* 1 0 */\n 3, /* 1 1 */\n ];\n\n var jsf = getJSF(coeffs[a], coeffs[b]);\n max = Math.max(jsf[0].length, max);\n naf[a] = new Array(max);\n naf[b] = new Array(max);\n for (j = 0; j < max; j++) {\n var ja = jsf[0][j] | 0;\n var jb = jsf[1][j] | 0;\n\n naf[a][j] = index[(ja + 1) * 3 + (jb + 1)];\n naf[b][j] = 0;\n wnd[a] = comb;\n }\n }\n\n var acc = this.jpoint(null, null, null);\n var tmp = this._wnafT4;\n for (i = max; i >= 0; i--) {\n var k = 0;\n\n while (i >= 0) {\n var zero = true;\n for (j = 0; j < len; j++) {\n tmp[j] = naf[j][i] | 0;\n if (tmp[j] !== 0)\n zero = false;\n }\n if (!zero)\n break;\n k++;\n i--;\n }\n if (i >= 0)\n k++;\n acc = acc.dblp(k);\n if (i < 0)\n break;\n\n for (j = 0; j < len; j++) {\n var z = tmp[j];\n p;\n if (z === 0)\n continue;\n else if (z > 0)\n p = wnd[j][(z - 1) >> 1];\n else if (z < 0)\n p = wnd[j][(-z - 1) >> 1].neg();\n\n if (p.type === 'affine')\n acc = acc.mixedAdd(p);\n else\n acc = acc.add(p);\n }\n }\n // Zeroify references\n for (i = 0; i < len; i++)\n wnd[i] = null;\n\n if (jacobianResult)\n return acc;\n else\n return acc.toP();\n};\n\nfunction BasePoint(curve, type) {\n this.curve = curve;\n this.type = type;\n this.precomputed = null;\n}\nBaseCurve.BasePoint = BasePoint;\n\nBasePoint.prototype.eq = function eq(/*other*/) {\n throw new Error('Not implemented');\n};\n\nBasePoint.prototype.validate = function validate() {\n return this.curve.validate(this);\n};\n\nBaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n bytes = utils.toArray(bytes, enc);\n\n var len = this.p.byteLength();\n\n // uncompressed, hybrid-odd, hybrid-even\n if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) &&\n bytes.length - 1 === 2 * len) {\n if (bytes[0] === 0x06)\n assert(bytes[bytes.length - 1] % 2 === 0);\n else if (bytes[0] === 0x07)\n assert(bytes[bytes.length - 1] % 2 === 1);\n\n var res = this.point(bytes.slice(1, 1 + len),\n bytes.slice(1 + len, 1 + 2 * len));\n\n return res;\n } else if ((bytes[0] === 0x02 || bytes[0] === 0x03) &&\n bytes.length - 1 === len) {\n return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 0x03);\n }\n throw new Error('Unknown point format');\n};\n\nBasePoint.prototype.encodeCompressed = function encodeCompressed(enc) {\n return this.encode(enc, true);\n};\n\nBasePoint.prototype._encode = function _encode(compact) {\n var len = this.curve.p.byteLength();\n var x = this.getX().toArray('be', len);\n\n if (compact)\n return [ this.getY().isEven() ? 0x02 : 0x03 ].concat(x);\n\n return [ 0x04 ].concat(x, this.getY().toArray('be', len));\n};\n\nBasePoint.prototype.encode = function encode(enc, compact) {\n return utils.encode(this._encode(compact), enc);\n};\n\nBasePoint.prototype.precompute = function precompute(power) {\n if (this.precomputed)\n return this;\n\n var precomputed = {\n doubles: null,\n naf: null,\n beta: null,\n };\n precomputed.naf = this._getNAFPoints(8);\n precomputed.doubles = this._getDoubles(4, power);\n precomputed.beta = this._getBeta();\n this.precomputed = precomputed;\n\n return this;\n};\n\nBasePoint.prototype._hasDoubles = function _hasDoubles(k) {\n if (!this.precomputed)\n return false;\n\n var doubles = this.precomputed.doubles;\n if (!doubles)\n return false;\n\n return doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step);\n};\n\nBasePoint.prototype._getDoubles = function _getDoubles(step, power) {\n if (this.precomputed && this.precomputed.doubles)\n return this.precomputed.doubles;\n\n var doubles = [ this ];\n var acc = this;\n for (var i = 0; i < power; i += step) {\n for (var j = 0; j < step; j++)\n acc = acc.dbl();\n doubles.push(acc);\n }\n return {\n step: step,\n points: doubles,\n };\n};\n\nBasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) {\n if (this.precomputed && this.precomputed.naf)\n return this.precomputed.naf;\n\n var res = [ this ];\n var max = (1 << wnd) - 1;\n var dbl = max === 1 ? null : this.dbl();\n for (var i = 1; i < max; i++)\n res[i] = res[i - 1].add(dbl);\n return {\n wnd: wnd,\n points: res,\n };\n};\n\nBasePoint.prototype._getBeta = function _getBeta() {\n return null;\n};\n\nBasePoint.prototype.dblp = function dblp(k) {\n var r = this;\n for (var i = 0; i < k; i++)\n r = r.dbl();\n return r;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction EdwardsCurve(conf) {\n // NOTE: Important as we are creating point in Base.call()\n this.twisted = (conf.a | 0) !== 1;\n this.mOneA = this.twisted && (conf.a | 0) === -1;\n this.extended = this.mOneA;\n\n Base.call(this, 'edwards', conf);\n\n this.a = new BN(conf.a, 16).umod(this.red.m);\n this.a = this.a.toRed(this.red);\n this.c = new BN(conf.c, 16).toRed(this.red);\n this.c2 = this.c.redSqr();\n this.d = new BN(conf.d, 16).toRed(this.red);\n this.dd = this.d.redAdd(this.d);\n\n assert(!this.twisted || this.c.fromRed().cmpn(1) === 0);\n this.oneC = (conf.c | 0) === 1;\n}\ninherits(EdwardsCurve, Base);\nmodule.exports = EdwardsCurve;\n\nEdwardsCurve.prototype._mulA = function _mulA(num) {\n if (this.mOneA)\n return num.redNeg();\n else\n return this.a.redMul(num);\n};\n\nEdwardsCurve.prototype._mulC = function _mulC(num) {\n if (this.oneC)\n return num;\n else\n return this.c.redMul(num);\n};\n\n// Just for compatibility with Short curve\nEdwardsCurve.prototype.jpoint = function jpoint(x, y, z, t) {\n return this.point(x, y, z, t);\n};\n\nEdwardsCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var x2 = x.redSqr();\n var rhs = this.c2.redSub(this.a.redMul(x2));\n var lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2));\n\n var y2 = rhs.redMul(lhs.redInvm());\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.pointFromY = function pointFromY(y, odd) {\n y = new BN(y, 16);\n if (!y.red)\n y = y.toRed(this.red);\n\n // x^2 = (y^2 - c^2) / (c^2 d y^2 - a)\n var y2 = y.redSqr();\n var lhs = y2.redSub(this.c2);\n var rhs = y2.redMul(this.d).redMul(this.c2).redSub(this.a);\n var x2 = lhs.redMul(rhs.redInvm());\n\n if (x2.cmp(this.zero) === 0) {\n if (odd)\n throw new Error('invalid point');\n else\n return this.point(this.zero, y);\n }\n\n var x = x2.redSqrt();\n if (x.redSqr().redSub(x2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n if (x.fromRed().isOdd() !== odd)\n x = x.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.validate = function validate(point) {\n if (point.isInfinity())\n return true;\n\n // Curve: A * X^2 + Y^2 = C^2 * (1 + D * X^2 * Y^2)\n point.normalize();\n\n var x2 = point.x.redSqr();\n var y2 = point.y.redSqr();\n var lhs = x2.redMul(this.a).redAdd(y2);\n var rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));\n\n return lhs.cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, y, z, t) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && y === null && z === null) {\n this.x = this.curve.zero;\n this.y = this.curve.one;\n this.z = this.curve.one;\n this.t = this.curve.zero;\n this.zOne = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = z ? new BN(z, 16) : this.curve.one;\n this.t = t && new BN(t, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n if (this.t && !this.t.red)\n this.t = this.t.toRed(this.curve.red);\n this.zOne = this.z === this.curve.one;\n\n // Use extended coordinates\n if (this.curve.extended && !this.t) {\n this.t = this.x.redMul(this.y);\n if (!this.zOne)\n this.t = this.t.redMul(this.z.redInvm());\n }\n }\n}\ninherits(Point, Base.BasePoint);\n\nEdwardsCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nEdwardsCurve.prototype.point = function point(x, y, z, t) {\n return new Point(this, x, y, z, t);\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1], obj[2]);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '<EC Point Infinity>';\n return '<EC Point x: ' + this.x.fromRed().toString(16, 2) +\n ' y: ' + this.y.fromRed().toString(16, 2) +\n ' z: ' + this.z.fromRed().toString(16, 2) + '>';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.x.cmpn(0) === 0 &&\n (this.y.cmp(this.z) === 0 ||\n (this.zOne && this.y.cmp(this.curve.c) === 0));\n};\n\nPoint.prototype._extDbl = function _extDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #doubling-dbl-2008-hwcd\n // 4M + 4S\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = 2 * Z1^2\n var c = this.z.redSqr();\n c = c.redIAdd(c);\n // D = a * A\n var d = this.curve._mulA(a);\n // E = (X1 + Y1)^2 - A - B\n var e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b);\n // G = D + B\n var g = d.redAdd(b);\n // F = G - C\n var f = g.redSub(c);\n // H = D - B\n var h = d.redSub(b);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projDbl = function _projDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #doubling-dbl-2008-bbjlp\n // #doubling-dbl-2007-bl\n // and others\n // Generally 3M + 4S or 2M + 4S\n\n // B = (X1 + Y1)^2\n var b = this.x.redAdd(this.y).redSqr();\n // C = X1^2\n var c = this.x.redSqr();\n // D = Y1^2\n var d = this.y.redSqr();\n\n var nx;\n var ny;\n var nz;\n var e;\n var h;\n var j;\n if (this.curve.twisted) {\n // E = a * C\n e = this.curve._mulA(c);\n // F = E + D\n var f = e.redAdd(d);\n if (this.zOne) {\n // X3 = (B - C - D) * (F - 2)\n nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two));\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F^2 - 2 * F\n nz = f.redSqr().redSub(f).redSub(f);\n } else {\n // H = Z1^2\n h = this.z.redSqr();\n // J = F - 2 * H\n j = f.redSub(h).redISub(h);\n // X3 = (B-C-D)*J\n nx = b.redSub(c).redISub(d).redMul(j);\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F * J\n nz = f.redMul(j);\n }\n } else {\n // E = C + D\n e = c.redAdd(d);\n // H = (c * Z1)^2\n h = this.curve._mulC(this.z).redSqr();\n // J = E - 2 * H\n j = e.redSub(h).redSub(h);\n // X3 = c * (B - E) * J\n nx = this.curve._mulC(b.redISub(e)).redMul(j);\n // Y3 = c * E * (C - D)\n ny = this.curve._mulC(e).redMul(c.redISub(d));\n // Z3 = E * J\n nz = e.redMul(j);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n // Double in extended coordinates\n if (this.curve.extended)\n return this._extDbl();\n else\n return this._projDbl();\n};\n\nPoint.prototype._extAdd = function _extAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #addition-add-2008-hwcd-3\n // 8M\n\n // A = (Y1 - X1) * (Y2 - X2)\n var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x));\n // B = (Y1 + X1) * (Y2 + X2)\n var b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x));\n // C = T1 * k * T2\n var c = this.t.redMul(this.curve.dd).redMul(p.t);\n // D = Z1 * 2 * Z2\n var d = this.z.redMul(p.z.redAdd(p.z));\n // E = B - A\n var e = b.redSub(a);\n // F = D - C\n var f = d.redSub(c);\n // G = D + C\n var g = d.redAdd(c);\n // H = B + A\n var h = b.redAdd(a);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projAdd = function _projAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #addition-add-2008-bbjlp\n // #addition-add-2007-bl\n // 10M + 1S\n\n // A = Z1 * Z2\n var a = this.z.redMul(p.z);\n // B = A^2\n var b = a.redSqr();\n // C = X1 * X2\n var c = this.x.redMul(p.x);\n // D = Y1 * Y2\n var d = this.y.redMul(p.y);\n // E = d * C * D\n var e = this.curve.d.redMul(c).redMul(d);\n // F = B - E\n var f = b.redSub(e);\n // G = B + E\n var g = b.redAdd(e);\n // X3 = A * F * ((X1 + Y1) * (X2 + Y2) - C - D)\n var tmp = this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d);\n var nx = a.redMul(f).redMul(tmp);\n var ny;\n var nz;\n if (this.curve.twisted) {\n // Y3 = A * G * (D - a * C)\n ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c)));\n // Z3 = F * G\n nz = f.redMul(g);\n } else {\n // Y3 = A * G * (D - C)\n ny = a.redMul(g).redMul(d.redSub(c));\n // Z3 = c * F * G\n nz = this.curve._mulC(f).redMul(g);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.add = function add(p) {\n if (this.isInfinity())\n return p;\n if (p.isInfinity())\n return this;\n\n if (this.curve.extended)\n return this._extAdd(p);\n else\n return this._projAdd(p);\n};\n\nPoint.prototype.mul = function mul(k) {\n if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, false);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, true);\n};\n\nPoint.prototype.normalize = function normalize() {\n if (this.zOne)\n return this;\n\n // Normalize coordinates\n var zi = this.z.redInvm();\n this.x = this.x.redMul(zi);\n this.y = this.y.redMul(zi);\n if (this.t)\n this.t = this.t.redMul(zi);\n this.z = this.curve.one;\n this.zOne = true;\n return this;\n};\n\nPoint.prototype.neg = function neg() {\n return this.curve.point(this.x.redNeg(),\n this.y,\n this.z,\n this.t && this.t.redNeg());\n};\n\nPoint.prototype.getX = function getX() {\n this.normalize();\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n this.normalize();\n return this.y.fromRed();\n};\n\nPoint.prototype.eq = function eq(other) {\n return this === other ||\n this.getX().cmp(other.getX()) === 0 &&\n this.getY().cmp(other.getY()) === 0;\n};\n\nPoint.prototype.eqXToP = function eqXToP(x) {\n var rx = x.toRed(this.curve.red).redMul(this.z);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(this.z);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\n// Compatibility with BaseCurve\nPoint.prototype.toP = Point.prototype.normalize;\nPoint.prototype.mixedAdd = Point.prototype.add;\n","'use strict';\n\nvar curve = exports;\n\ncurve.base = require('./base');\ncurve.short = require('./short');\ncurve.mont = require('./mont');\ncurve.edwards = require('./edwards');\n","'use strict';\n\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar utils = require('../utils');\n\nfunction MontCurve(conf) {\n Base.call(this, 'mont', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.i4 = new BN(4).toRed(this.red).redInvm();\n this.two = new BN(2).toRed(this.red);\n this.a24 = this.i4.redMul(this.a.redAdd(this.two));\n}\ninherits(MontCurve, Base);\nmodule.exports = MontCurve;\n\nMontCurve.prototype.validate = function validate(point) {\n var x = point.normalize().x;\n var x2 = x.redSqr();\n var rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x);\n var y = rhs.redSqrt();\n\n return y.redSqr().cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, z) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && z === null) {\n this.x = this.curve.one;\n this.z = this.curve.zero;\n } else {\n this.x = new BN(x, 16);\n this.z = new BN(z, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n }\n}\ninherits(Point, Base.BasePoint);\n\nMontCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n return this.point(utils.toArray(bytes, enc), 1);\n};\n\nMontCurve.prototype.point = function point(x, z) {\n return new Point(this, x, z);\n};\n\nMontCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nPoint.prototype.precompute = function precompute() {\n // No-op\n};\n\nPoint.prototype._encode = function _encode() {\n return this.getX().toArray('be', this.curve.p.byteLength());\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1] || curve.one);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '<EC Point Infinity>';\n return '<EC Point x: ' + this.x.fromRed().toString(16, 2) +\n ' z: ' + this.z.fromRed().toString(16, 2) + '>';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n\nPoint.prototype.dbl = function dbl() {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#doubling-dbl-1987-m-3\n // 2M + 2S + 4A\n\n // A = X1 + Z1\n var a = this.x.redAdd(this.z);\n // AA = A^2\n var aa = a.redSqr();\n // B = X1 - Z1\n var b = this.x.redSub(this.z);\n // BB = B^2\n var bb = b.redSqr();\n // C = AA - BB\n var c = aa.redSub(bb);\n // X3 = AA * BB\n var nx = aa.redMul(bb);\n // Z3 = C * (BB + A24 * C)\n var nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c)));\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.add = function add() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.diffAdd = function diffAdd(p, diff) {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#diffadd-dadd-1987-m-3\n // 4M + 2S + 6A\n\n // A = X2 + Z2\n var a = this.x.redAdd(this.z);\n // B = X2 - Z2\n var b = this.x.redSub(this.z);\n // C = X3 + Z3\n var c = p.x.redAdd(p.z);\n // D = X3 - Z3\n var d = p.x.redSub(p.z);\n // DA = D * A\n var da = d.redMul(a);\n // CB = C * B\n var cb = c.redMul(b);\n // X5 = Z1 * (DA + CB)^2\n var nx = diff.z.redMul(da.redAdd(cb).redSqr());\n // Z5 = X1 * (DA - CB)^2\n var nz = diff.x.redMul(da.redISub(cb).redSqr());\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.mul = function mul(k) {\n var t = k.clone();\n var a = this; // (N / 2) * Q + Q\n var b = this.curve.point(null, null); // (N / 2) * Q\n var c = this; // Q\n\n for (var bits = []; t.cmpn(0) !== 0; t.iushrn(1))\n bits.push(t.andln(1));\n\n for (var i = bits.length - 1; i >= 0; i--) {\n if (bits[i] === 0) {\n // N * Q + Q = ((N / 2) * Q + Q)) + (N / 2) * Q\n a = a.diffAdd(b, c);\n // N * Q = 2 * ((N / 2) * Q + Q))\n b = b.dbl();\n } else {\n // N * Q = ((N / 2) * Q + Q) + ((N / 2) * Q)\n b = a.diffAdd(b, c);\n // N * Q + Q = 2 * ((N / 2) * Q + Q)\n a = a.dbl();\n }\n }\n return b;\n};\n\nPoint.prototype.mulAdd = function mulAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.jumlAdd = function jumlAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.eq = function eq(other) {\n return this.getX().cmp(other.getX()) === 0;\n};\n\nPoint.prototype.normalize = function normalize() {\n this.x = this.x.redMul(this.z.redInvm());\n this.z = this.curve.one;\n return this;\n};\n\nPoint.prototype.getX = function getX() {\n // Normalize coordinates\n this.normalize();\n\n return this.x.fromRed();\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction ShortCurve(conf) {\n Base.call(this, 'short', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.tinv = this.two.redInvm();\n\n this.zeroA = this.a.fromRed().cmpn(0) === 0;\n this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0;\n\n // If the curve is endomorphic, precalculate beta and lambda\n this.endo = this._getEndomorphism(conf);\n this._endoWnafT1 = new Array(4);\n this._endoWnafT2 = new Array(4);\n}\ninherits(ShortCurve, Base);\nmodule.exports = ShortCurve;\n\nShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) {\n // No efficient endomorphism\n if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1)\n return;\n\n // Compute beta and lambda, that lambda * P = (beta * Px; Py)\n var beta;\n var lambda;\n if (conf.beta) {\n beta = new BN(conf.beta, 16).toRed(this.red);\n } else {\n var betas = this._getEndoRoots(this.p);\n // Choose the smallest beta\n beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1];\n beta = beta.toRed(this.red);\n }\n if (conf.lambda) {\n lambda = new BN(conf.lambda, 16);\n } else {\n // Choose the lambda that is matching selected beta\n var lambdas = this._getEndoRoots(this.n);\n if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) {\n lambda = lambdas[0];\n } else {\n lambda = lambdas[1];\n assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0);\n }\n }\n\n // Get basis vectors, used for balanced length-two representation\n var basis;\n if (conf.basis) {\n basis = conf.basis.map(function(vec) {\n return {\n a: new BN(vec.a, 16),\n b: new BN(vec.b, 16),\n };\n });\n } else {\n basis = this._getEndoBasis(lambda);\n }\n\n return {\n beta: beta,\n lambda: lambda,\n basis: basis,\n };\n};\n\nShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) {\n // Find roots of for x^2 + x + 1 in F\n // Root = (-1 +- Sqrt(-3)) / 2\n //\n var red = num === this.p ? this.red : BN.mont(num);\n var tinv = new BN(2).toRed(red).redInvm();\n var ntinv = tinv.redNeg();\n\n var s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv);\n\n var l1 = ntinv.redAdd(s).fromRed();\n var l2 = ntinv.redSub(s).fromRed();\n return [ l1, l2 ];\n};\n\nShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) {\n // aprxSqrt >= sqrt(this.n)\n var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2));\n\n // 3.74\n // Run EGCD, until r(L + 1) < aprxSqrt\n var u = lambda;\n var v = this.n.clone();\n var x1 = new BN(1);\n var y1 = new BN(0);\n var x2 = new BN(0);\n var y2 = new BN(1);\n\n // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n)\n var a0;\n var b0;\n // First vector\n var a1;\n var b1;\n // Second vector\n var a2;\n var b2;\n\n var prevR;\n var i = 0;\n var r;\n var x;\n while (u.cmpn(0) !== 0) {\n var q = v.div(u);\n r = v.sub(q.mul(u));\n x = x2.sub(q.mul(x1));\n var y = y2.sub(q.mul(y1));\n\n if (!a1 && r.cmp(aprxSqrt) < 0) {\n a0 = prevR.neg();\n b0 = x1;\n a1 = r.neg();\n b1 = x;\n } else if (a1 && ++i === 2) {\n break;\n }\n prevR = r;\n\n v = u;\n u = r;\n x2 = x1;\n x1 = x;\n y2 = y1;\n y1 = y;\n }\n a2 = r.neg();\n b2 = x;\n\n var len1 = a1.sqr().add(b1.sqr());\n var len2 = a2.sqr().add(b2.sqr());\n if (len2.cmp(len1) >= 0) {\n a2 = a0;\n b2 = b0;\n }\n\n // Normalize signs\n if (a1.negative) {\n a1 = a1.neg();\n b1 = b1.neg();\n }\n if (a2.negative) {\n a2 = a2.neg();\n b2 = b2.neg();\n }\n\n return [\n { a: a1, b: b1 },\n { a: a2, b: b2 },\n ];\n};\n\nShortCurve.prototype._endoSplit = function _endoSplit(k) {\n var basis = this.endo.basis;\n var v1 = basis[0];\n var v2 = basis[1];\n\n var c1 = v2.b.mul(k).divRound(this.n);\n var c2 = v1.b.neg().mul(k).divRound(this.n);\n\n var p1 = c1.mul(v1.a);\n var p2 = c2.mul(v2.a);\n var q1 = c1.mul(v1.b);\n var q2 = c2.mul(v2.b);\n\n // Calculate answer\n var k1 = k.sub(p1).sub(p2);\n var k2 = q1.add(q2).neg();\n return { k1: k1, k2: k2 };\n};\n\nShortCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b);\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n // XXX Is there any way to tell if the number is odd without converting it\n // to non-red form?\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nShortCurve.prototype.validate = function validate(point) {\n if (point.inf)\n return true;\n\n var x = point.x;\n var y = point.y;\n\n var ax = this.a.redMul(x);\n var rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);\n return y.redSqr().redISub(rhs).cmpn(0) === 0;\n};\n\nShortCurve.prototype._endoWnafMulAdd =\n function _endoWnafMulAdd(points, coeffs, jacobianResult) {\n var npoints = this._endoWnafT1;\n var ncoeffs = this._endoWnafT2;\n for (var i = 0; i < points.length; i++) {\n var split = this._endoSplit(coeffs[i]);\n var p = points[i];\n var beta = p._getBeta();\n\n if (split.k1.negative) {\n split.k1.ineg();\n p = p.neg(true);\n }\n if (split.k2.negative) {\n split.k2.ineg();\n beta = beta.neg(true);\n }\n\n npoints[i * 2] = p;\n npoints[i * 2 + 1] = beta;\n ncoeffs[i * 2] = split.k1;\n ncoeffs[i * 2 + 1] = split.k2;\n }\n var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult);\n\n // Clean-up references to points and coefficients\n for (var j = 0; j < i * 2; j++) {\n npoints[j] = null;\n ncoeffs[j] = null;\n }\n return res;\n };\n\nfunction Point(curve, x, y, isRed) {\n Base.BasePoint.call(this, curve, 'affine');\n if (x === null && y === null) {\n this.x = null;\n this.y = null;\n this.inf = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n // Force redgomery representation when loading from JSON\n if (isRed) {\n this.x.forceRed(this.curve.red);\n this.y.forceRed(this.curve.red);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n this.inf = false;\n }\n}\ninherits(Point, Base.BasePoint);\n\nShortCurve.prototype.point = function point(x, y, isRed) {\n return new Point(this, x, y, isRed);\n};\n\nShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) {\n return Point.fromJSON(this, obj, red);\n};\n\nPoint.prototype._getBeta = function _getBeta() {\n if (!this.curve.endo)\n return;\n\n var pre = this.precomputed;\n if (pre && pre.beta)\n return pre.beta;\n\n var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y);\n if (pre) {\n var curve = this.curve;\n var endoMul = function(p) {\n return curve.point(p.x.redMul(curve.endo.beta), p.y);\n };\n pre.beta = beta;\n beta.precomputed = {\n beta: null,\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(endoMul),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(endoMul),\n },\n };\n }\n return beta;\n};\n\nPoint.prototype.toJSON = function toJSON() {\n if (!this.precomputed)\n return [ this.x, this.y ];\n\n return [ this.x, this.y, this.precomputed && {\n doubles: this.precomputed.doubles && {\n step: this.precomputed.doubles.step,\n points: this.precomputed.doubles.points.slice(1),\n },\n naf: this.precomputed.naf && {\n wnd: this.precomputed.naf.wnd,\n points: this.precomputed.naf.points.slice(1),\n },\n } ];\n};\n\nPoint.fromJSON = function fromJSON(curve, obj, red) {\n if (typeof obj === 'string')\n obj = JSON.parse(obj);\n var res = curve.point(obj[0], obj[1], red);\n if (!obj[2])\n return res;\n\n function obj2point(obj) {\n return curve.point(obj[0], obj[1], red);\n }\n\n var pre = obj[2];\n res.precomputed = {\n beta: null,\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: [ res ].concat(pre.doubles.points.map(obj2point)),\n },\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: [ res ].concat(pre.naf.points.map(obj2point)),\n },\n };\n return res;\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '<EC Point Infinity>';\n return '<EC Point x: ' + this.x.fromRed().toString(16, 2) +\n ' y: ' + this.y.fromRed().toString(16, 2) + '>';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n return this.inf;\n};\n\nPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.inf)\n return p;\n\n // P + O = P\n if (p.inf)\n return this;\n\n // P + P = 2P\n if (this.eq(p))\n return this.dbl();\n\n // P + (-P) = O\n if (this.neg().eq(p))\n return this.curve.point(null, null);\n\n // P + Q = O\n if (this.x.cmp(p.x) === 0)\n return this.curve.point(null, null);\n\n var c = this.y.redSub(p.y);\n if (c.cmpn(0) !== 0)\n c = c.redMul(this.x.redSub(p.x).redInvm());\n var nx = c.redSqr().redISub(this.x).redISub(p.x);\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.inf)\n return this;\n\n // 2P = O\n var ys1 = this.y.redAdd(this.y);\n if (ys1.cmpn(0) === 0)\n return this.curve.point(null, null);\n\n var a = this.curve.a;\n\n var x2 = this.x.redSqr();\n var dyinv = ys1.redInvm();\n var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv);\n\n var nx = c.redSqr().redISub(this.x.redAdd(this.x));\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.getX = function getX() {\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n return this.y.fromRed();\n};\n\nPoint.prototype.mul = function mul(k) {\n k = new BN(k, 16);\n if (this.isInfinity())\n return this;\n else if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else if (this.curve.endo)\n return this.curve._endoWnafMulAdd([ this ], [ k ]);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs, true);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2, true);\n};\n\nPoint.prototype.eq = function eq(p) {\n return this === p ||\n this.inf === p.inf &&\n (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0);\n};\n\nPoint.prototype.neg = function neg(_precompute) {\n if (this.inf)\n return this;\n\n var res = this.curve.point(this.x, this.y.redNeg());\n if (_precompute && this.precomputed) {\n var pre = this.precomputed;\n var negate = function(p) {\n return p.neg();\n };\n res.precomputed = {\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(negate),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(negate),\n },\n };\n }\n return res;\n};\n\nPoint.prototype.toJ = function toJ() {\n if (this.inf)\n return this.curve.jpoint(null, null, null);\n\n var res = this.curve.jpoint(this.x, this.y, this.curve.one);\n return res;\n};\n\nfunction JPoint(curve, x, y, z) {\n Base.BasePoint.call(this, curve, 'jacobian');\n if (x === null && y === null && z === null) {\n this.x = this.curve.one;\n this.y = this.curve.one;\n this.z = new BN(0);\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = new BN(z, 16);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n\n this.zOne = this.z === this.curve.one;\n}\ninherits(JPoint, Base.BasePoint);\n\nShortCurve.prototype.jpoint = function jpoint(x, y, z) {\n return new JPoint(this, x, y, z);\n};\n\nJPoint.prototype.toP = function toP() {\n if (this.isInfinity())\n return this.curve.point(null, null);\n\n var zinv = this.z.redInvm();\n var zinv2 = zinv.redSqr();\n var ax = this.x.redMul(zinv2);\n var ay = this.y.redMul(zinv2).redMul(zinv);\n\n return this.curve.point(ax, ay);\n};\n\nJPoint.prototype.neg = function neg() {\n return this.curve.jpoint(this.x, this.y.redNeg(), this.z);\n};\n\nJPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.isInfinity())\n return p;\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 12M + 4S + 7A\n var pz2 = p.z.redSqr();\n var z2 = this.z.redSqr();\n var u1 = this.x.redMul(pz2);\n var u2 = p.x.redMul(z2);\n var s1 = this.y.redMul(pz2.redMul(p.z));\n var s2 = p.y.redMul(z2.redMul(this.z));\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(p.z).redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mixedAdd = function mixedAdd(p) {\n // O + P = P\n if (this.isInfinity())\n return p.toJ();\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 8M + 3S + 7A\n var z2 = this.z.redSqr();\n var u1 = this.x;\n var u2 = p.x.redMul(z2);\n var s1 = this.y;\n var s2 = p.y.redMul(z2).redMul(this.z);\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.dblp = function dblp(pow) {\n if (pow === 0)\n return this;\n if (this.isInfinity())\n return this;\n if (!pow)\n return this.dbl();\n\n var i;\n if (this.curve.zeroA || this.curve.threeA) {\n var r = this;\n for (i = 0; i < pow; i++)\n r = r.dbl();\n return r;\n }\n\n // 1M + 2S + 1A + N * (4S + 5M + 8A)\n // N = 1 => 6M + 6S + 9A\n var a = this.curve.a;\n var tinv = this.curve.tinv;\n\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n // Reuse results\n var jyd = jy.redAdd(jy);\n for (i = 0; i < pow; i++) {\n var jx2 = jx.redSqr();\n var jyd2 = jyd.redSqr();\n var jyd4 = jyd2.redSqr();\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var t1 = jx.redMul(jyd2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n var dny = c.redMul(t2);\n dny = dny.redIAdd(dny).redISub(jyd4);\n var nz = jyd.redMul(jz);\n if (i + 1 < pow)\n jz4 = jz4.redMul(jyd4);\n\n jx = nx;\n jz = nz;\n jyd = dny;\n }\n\n return this.curve.jpoint(jx, jyd.redMul(tinv), jz);\n};\n\nJPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n if (this.curve.zeroA)\n return this._zeroDbl();\n else if (this.curve.threeA)\n return this._threeDbl();\n else\n return this._dbl();\n};\n\nJPoint.prototype._zeroDbl = function _zeroDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 14A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // T = M ^ 2 - 2*S\n var t = m.redSqr().redISub(s).redISub(s);\n\n // 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2*Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-dbl-2009-l\n // 2M + 5S + 13A\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = B^2\n var c = b.redSqr();\n // D = 2 * ((X1 + B)^2 - A - C)\n var d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);\n d = d.redIAdd(d);\n // E = 3 * A\n var e = a.redAdd(a).redIAdd(a);\n // F = E^2\n var f = e.redSqr();\n\n // 8 * C\n var c8 = c.redIAdd(c);\n c8 = c8.redIAdd(c8);\n c8 = c8.redIAdd(c8);\n\n // X3 = F - 2 * D\n nx = f.redISub(d).redISub(d);\n // Y3 = E * (D - X3) - 8 * C\n ny = e.redMul(d.redISub(nx)).redISub(c8);\n // Z3 = 2 * Y1 * Z1\n nz = this.y.redMul(this.z);\n nz = nz.redIAdd(nz);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._threeDbl = function _threeDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 15A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a\n var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a);\n // T = M^2 - 2 * S\n var t = m.redSqr().redISub(s).redISub(s);\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2 * Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b\n // 3M + 5S\n\n // delta = Z1^2\n var delta = this.z.redSqr();\n // gamma = Y1^2\n var gamma = this.y.redSqr();\n // beta = X1 * gamma\n var beta = this.x.redMul(gamma);\n // alpha = 3 * (X1 - delta) * (X1 + delta)\n var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));\n alpha = alpha.redAdd(alpha).redIAdd(alpha);\n // X3 = alpha^2 - 8 * beta\n var beta4 = beta.redIAdd(beta);\n beta4 = beta4.redIAdd(beta4);\n var beta8 = beta4.redAdd(beta4);\n nx = alpha.redSqr().redISub(beta8);\n // Z3 = (Y1 + Z1)^2 - gamma - delta\n nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);\n // Y3 = alpha * (4 * beta - X3) - 8 * gamma^2\n var ggamma8 = gamma.redSqr();\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._dbl = function _dbl() {\n var a = this.curve.a;\n\n // 4M + 6S + 10A\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n var jx2 = jx.redSqr();\n var jy2 = jy.redSqr();\n\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var jxd4 = jx.redAdd(jx);\n jxd4 = jxd4.redIAdd(jxd4);\n var t1 = jxd4.redMul(jy2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n\n var jyd8 = jy2.redSqr();\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n var ny = c.redMul(t2).redISub(jyd8);\n var nz = jy.redAdd(jy).redMul(jz);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.trpl = function trpl() {\n if (!this.curve.zeroA)\n return this.dbl().add(this);\n\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#tripling-tpl-2007-bl\n // 5M + 10S + ...\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // ZZ = Z1^2\n var zz = this.z.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // M = 3 * XX + a * ZZ2; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // MM = M^2\n var mm = m.redSqr();\n // E = 6 * ((X1 + YY)^2 - XX - YYYY) - MM\n var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n e = e.redIAdd(e);\n e = e.redAdd(e).redIAdd(e);\n e = e.redISub(mm);\n // EE = E^2\n var ee = e.redSqr();\n // T = 16*YYYY\n var t = yyyy.redIAdd(yyyy);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n // U = (M + E)^2 - MM - EE - T\n var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t);\n // X3 = 4 * (X1 * EE - 4 * YY * U)\n var yyu4 = yy.redMul(u);\n yyu4 = yyu4.redIAdd(yyu4);\n yyu4 = yyu4.redIAdd(yyu4);\n var nx = this.x.redMul(ee).redISub(yyu4);\n nx = nx.redIAdd(nx);\n nx = nx.redIAdd(nx);\n // Y3 = 8 * Y1 * (U * (T - U) - E * EE)\n var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n // Z3 = (Z1 + E)^2 - ZZ - EE\n var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mul = function mul(k, kbase) {\n k = new BN(k, kbase);\n\n return this.curve._wnafMul(this, k);\n};\n\nJPoint.prototype.eq = function eq(p) {\n if (p.type === 'affine')\n return this.eq(p.toJ());\n\n if (this === p)\n return true;\n\n // x1 * z2^2 == x2 * z1^2\n var z2 = this.z.redSqr();\n var pz2 = p.z.redSqr();\n if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0)\n return false;\n\n // y1 * z2^3 == y2 * z1^3\n var z3 = z2.redMul(this.z);\n var pz3 = pz2.redMul(p.z);\n return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;\n};\n\nJPoint.prototype.eqXToP = function eqXToP(x) {\n var zs = this.z.redSqr();\n var rx = x.toRed(this.curve.red).redMul(zs);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(zs);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\nJPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '<EC JPoint Infinity>';\n return '<EC JPoint x: ' + this.x.toString(16, 2) +\n ' y: ' + this.y.toString(16, 2) +\n ' z: ' + this.z.toString(16, 2) + '>';\n};\n\nJPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n","'use strict';\n\nvar curves = exports;\n\nvar hash = require('hash.js');\nvar curve = require('./curve');\nvar utils = require('./utils');\n\nvar assert = utils.assert;\n\nfunction PresetCurve(options) {\n if (options.type === 'short')\n this.curve = new curve.short(options);\n else if (options.type === 'edwards')\n this.curve = new curve.edwards(options);\n else\n this.curve = new curve.mont(options);\n this.g = this.curve.g;\n this.n = this.curve.n;\n this.hash = options.hash;\n\n assert(this.g.validate(), 'Invalid curve');\n assert(this.g.mul(this.n).isInfinity(), 'Invalid curve, G*N != O');\n}\ncurves.PresetCurve = PresetCurve;\n\nfunction defineCurve(name, options) {\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n get: function() {\n var curve = new PresetCurve(options);\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n value: curve,\n });\n return curve;\n },\n });\n}\n\ndefineCurve('p192', {\n type: 'short',\n prime: 'p192',\n p: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc',\n b: '64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1',\n n: 'ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831',\n hash: hash.sha256,\n gRed: false,\n g: [\n '188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012',\n '07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811',\n ],\n});\n\ndefineCurve('p224', {\n type: 'short',\n prime: 'p224',\n p: 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe',\n b: 'b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4',\n n: 'ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d',\n hash: hash.sha256,\n gRed: false,\n g: [\n 'b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21',\n 'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34',\n ],\n});\n\ndefineCurve('p256', {\n type: 'short',\n prime: null,\n p: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff',\n a: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc',\n b: '5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b',\n n: 'ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551',\n hash: hash.sha256,\n gRed: false,\n g: [\n '6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296',\n '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5',\n ],\n});\n\ndefineCurve('p384', {\n type: 'short',\n prime: null,\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 ffffffff',\n a: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 fffffffc',\n b: 'b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f ' +\n '5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef',\n n: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 ' +\n 'f4372ddf 581a0db2 48b0a77a ecec196a ccc52973',\n hash: hash.sha384,\n gRed: false,\n g: [\n 'aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' +\n '5502f25d bf55296c 3a545e38 72760ab7',\n '3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' +\n '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f',\n ],\n});\n\ndefineCurve('p521', {\n type: 'short',\n prime: null,\n p: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff',\n a: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff fffffffc',\n b: '00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b ' +\n '99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd ' +\n '3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00',\n n: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 ' +\n 'f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409',\n hash: hash.sha512,\n gRed: false,\n g: [\n '000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 ' +\n '053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 ' +\n 'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66',\n '00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' +\n '579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' +\n '3fad0761 353c7086 a272c240 88be9476 9fd16650',\n ],\n});\n\ndefineCurve('curve25519', {\n type: 'mont',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '76d06',\n b: '1',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '9',\n ],\n});\n\ndefineCurve('ed25519', {\n type: 'edwards',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '-1',\n c: '1',\n // -121665 * (121666^(-1)) (mod P)\n d: '52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a',\n\n // 4/5\n '6666666666666666666666666666666666666666666666666666666666666658',\n ],\n});\n\nvar pre;\ntry {\n pre = require('./precomputed/secp256k1');\n} catch (e) {\n pre = undefined;\n}\n\ndefineCurve('secp256k1', {\n type: 'short',\n prime: 'k256',\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f',\n a: '0',\n b: '7',\n n: 'ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141',\n h: '1',\n hash: hash.sha256,\n\n // Precomputed endomorphism\n beta: '7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee',\n lambda: '5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72',\n basis: [\n {\n a: '3086d221a7d46bcde86c90e49284eb15',\n b: '-e4437ed6010e88286f547fa90abfe4c3',\n },\n {\n a: '114ca50f7a8e2f3f657c1108d9d44cfd8',\n b: '3086d221a7d46bcde86c90e49284eb15',\n },\n ],\n\n gRed: false,\n g: [\n '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798',\n '483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',\n pre,\n ],\n});\n","'use strict';\n\nvar BN = require('bn.js');\nvar HmacDRBG = require('hmac-drbg');\nvar utils = require('../utils');\nvar curves = require('../curves');\nvar rand = require('brorand');\nvar assert = utils.assert;\n\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EC(options) {\n if (!(this instanceof EC))\n return new EC(options);\n\n // Shortcut `elliptic.ec(curve-name)`\n if (typeof options === 'string') {\n assert(Object.prototype.hasOwnProperty.call(curves, options),\n 'Unknown curve ' + options);\n\n options = curves[options];\n }\n\n // Shortcut for `elliptic.ec(elliptic.curves.curveName)`\n if (options instanceof curves.PresetCurve)\n options = { curve: options };\n\n this.curve = options.curve.curve;\n this.n = this.curve.n;\n this.nh = this.n.ushrn(1);\n this.g = this.curve.g;\n\n // Point on curve\n this.g = options.curve.g;\n this.g.precompute(options.curve.n.bitLength() + 1);\n\n // Hash for function for DRBG\n this.hash = options.hash || options.curve.hash;\n}\nmodule.exports = EC;\n\nEC.prototype.keyPair = function keyPair(options) {\n return new KeyPair(this, options);\n};\n\nEC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) {\n return KeyPair.fromPrivate(this, priv, enc);\n};\n\nEC.prototype.keyFromPublic = function keyFromPublic(pub, enc) {\n return KeyPair.fromPublic(this, pub, enc);\n};\n\nEC.prototype.genKeyPair = function genKeyPair(options) {\n if (!options)\n options = {};\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n entropy: options.entropy || rand(this.hash.hmacStrength),\n entropyEnc: options.entropy && options.entropyEnc || 'utf8',\n nonce: this.n.toArray(),\n });\n\n var bytes = this.n.byteLength();\n var ns2 = this.n.sub(new BN(2));\n for (;;) {\n var priv = new BN(drbg.generate(bytes));\n if (priv.cmp(ns2) > 0)\n continue;\n\n priv.iaddn(1);\n return this.keyFromPrivate(priv);\n }\n};\n\nEC.prototype._truncateToN = function _truncateToN(msg, truncOnly) {\n var delta = msg.byteLength() * 8 - this.n.bitLength();\n if (delta > 0)\n msg = msg.ushrn(delta);\n if (!truncOnly && msg.cmp(this.n) >= 0)\n return msg.sub(this.n);\n else\n return msg;\n};\n\nEC.prototype.sign = function sign(msg, key, enc, options) {\n if (typeof enc === 'object') {\n options = enc;\n enc = null;\n }\n if (!options)\n options = {};\n\n key = this.keyFromPrivate(key, enc);\n msg = this._truncateToN(new BN(msg, 16));\n\n // Zero-extend key to provide enough entropy\n var bytes = this.n.byteLength();\n var bkey = key.getPrivate().toArray('be', bytes);\n\n // Zero-extend nonce to have the same byte size as N\n var nonce = msg.toArray('be', bytes);\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n entropy: bkey,\n nonce: nonce,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n });\n\n // Number of bytes to generate\n var ns1 = this.n.sub(new BN(1));\n\n for (var iter = 0; ; iter++) {\n var k = options.k ?\n options.k(iter) :\n new BN(drbg.generate(this.n.byteLength()));\n k = this._truncateToN(k, true);\n if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0)\n continue;\n\n var kp = this.g.mul(k);\n if (kp.isInfinity())\n continue;\n\n var kpX = kp.getX();\n var r = kpX.umod(this.n);\n if (r.cmpn(0) === 0)\n continue;\n\n var s = k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));\n s = s.umod(this.n);\n if (s.cmpn(0) === 0)\n continue;\n\n var recoveryParam = (kp.getY().isOdd() ? 1 : 0) |\n (kpX.cmp(r) !== 0 ? 2 : 0);\n\n // Use complement of `s`, if it is > `n / 2`\n if (options.canonical && s.cmp(this.nh) > 0) {\n s = this.n.sub(s);\n recoveryParam ^= 1;\n }\n\n return new Signature({ r: r, s: s, recoveryParam: recoveryParam });\n }\n};\n\nEC.prototype.verify = function verify(msg, signature, key, enc) {\n msg = this._truncateToN(new BN(msg, 16));\n key = this.keyFromPublic(key, enc);\n signature = new Signature(signature, 'hex');\n\n // Perform primitive values validation\n var r = signature.r;\n var s = signature.s;\n if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0)\n return false;\n if (s.cmpn(1) < 0 || s.cmp(this.n) >= 0)\n return false;\n\n // Validate signature\n var sinv = s.invm(this.n);\n var u1 = sinv.mul(msg).umod(this.n);\n var u2 = sinv.mul(r).umod(this.n);\n var p;\n\n if (!this.curve._maxwellTrick) {\n p = this.g.mulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n return p.getX().umod(this.n).cmp(r) === 0;\n }\n\n // NOTE: Greg Maxwell's trick, inspired by:\n // https://git.io/vad3K\n\n p = this.g.jmulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n // Compare `p.x` of Jacobian point with `r`,\n // this will do `p.x == r * p.z^2` instead of multiplying `p.x` by the\n // inverse of `p.z^2`\n return p.eqXToP(r);\n};\n\nEC.prototype.recoverPubKey = function(msg, signature, j, enc) {\n assert((3 & j) === j, 'The recovery param is more than two bits');\n signature = new Signature(signature, enc);\n\n var n = this.n;\n var e = new BN(msg);\n var r = signature.r;\n var s = signature.s;\n\n // A set LSB signifies that the y-coordinate is odd\n var isYOdd = j & 1;\n var isSecondKey = j >> 1;\n if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey)\n throw new Error('Unable to find sencond key candinate');\n\n // 1.1. Let x = r + jn.\n if (isSecondKey)\n r = this.curve.pointFromX(r.add(this.curve.n), isYOdd);\n else\n r = this.curve.pointFromX(r, isYOdd);\n\n var rInv = signature.r.invm(n);\n var s1 = n.sub(e).mul(rInv).umod(n);\n var s2 = s.mul(rInv).umod(n);\n\n // 1.6.1 Compute Q = r^-1 (sR - eG)\n // Q = r^-1 (sR + -eG)\n return this.g.mulAdd(s1, r, s2);\n};\n\nEC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) {\n signature = new Signature(signature, enc);\n if (signature.recoveryParam !== null)\n return signature.recoveryParam;\n\n for (var i = 0; i < 4; i++) {\n var Qprime;\n try {\n Qprime = this.recoverPubKey(e, signature, i);\n } catch (e) {\n continue;\n }\n\n if (Qprime.eq(Q))\n return i;\n }\n throw new Error('Unable to find valid recovery factor');\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction KeyPair(ec, options) {\n this.ec = ec;\n this.priv = null;\n this.pub = null;\n\n // KeyPair(ec, { priv: ..., pub: ... })\n if (options.priv)\n this._importPrivate(options.priv, options.privEnc);\n if (options.pub)\n this._importPublic(options.pub, options.pubEnc);\n}\nmodule.exports = KeyPair;\n\nKeyPair.fromPublic = function fromPublic(ec, pub, enc) {\n if (pub instanceof KeyPair)\n return pub;\n\n return new KeyPair(ec, {\n pub: pub,\n pubEnc: enc,\n });\n};\n\nKeyPair.fromPrivate = function fromPrivate(ec, priv, enc) {\n if (priv instanceof KeyPair)\n return priv;\n\n return new KeyPair(ec, {\n priv: priv,\n privEnc: enc,\n });\n};\n\nKeyPair.prototype.validate = function validate() {\n var pub = this.getPublic();\n\n if (pub.isInfinity())\n return { result: false, reason: 'Invalid public key' };\n if (!pub.validate())\n return { result: false, reason: 'Public key is not a point' };\n if (!pub.mul(this.ec.curve.n).isInfinity())\n return { result: false, reason: 'Public key * N != O' };\n\n return { result: true, reason: null };\n};\n\nKeyPair.prototype.getPublic = function getPublic(compact, enc) {\n // compact is optional argument\n if (typeof compact === 'string') {\n enc = compact;\n compact = null;\n }\n\n if (!this.pub)\n this.pub = this.ec.g.mul(this.priv);\n\n if (!enc)\n return this.pub;\n\n return this.pub.encode(enc, compact);\n};\n\nKeyPair.prototype.getPrivate = function getPrivate(enc) {\n if (enc === 'hex')\n return this.priv.toString(16, 2);\n else\n return this.priv;\n};\n\nKeyPair.prototype._importPrivate = function _importPrivate(key, enc) {\n this.priv = new BN(key, enc || 16);\n\n // Ensure that the priv won't be bigger than n, otherwise we may fail\n // in fixed multiplication method\n this.priv = this.priv.umod(this.ec.curve.n);\n};\n\nKeyPair.prototype._importPublic = function _importPublic(key, enc) {\n if (key.x || key.y) {\n // Montgomery points only have an `x` coordinate.\n // Weierstrass/Edwards points on the other hand have both `x` and\n // `y` coordinates.\n if (this.ec.curve.type === 'mont') {\n assert(key.x, 'Need x coordinate');\n } else if (this.ec.curve.type === 'short' ||\n this.ec.curve.type === 'edwards') {\n assert(key.x && key.y, 'Need both x and y coordinate');\n }\n this.pub = this.ec.curve.point(key.x, key.y);\n return;\n }\n this.pub = this.ec.curve.decodePoint(key, enc);\n};\n\n// ECDH\nKeyPair.prototype.derive = function derive(pub) {\n if(!pub.validate()) {\n assert(pub.validate(), 'public point not validated');\n }\n return pub.mul(this.priv).getX();\n};\n\n// ECDSA\nKeyPair.prototype.sign = function sign(msg, enc, options) {\n return this.ec.sign(msg, this, enc, options);\n};\n\nKeyPair.prototype.verify = function verify(msg, signature) {\n return this.ec.verify(msg, signature, this);\n};\n\nKeyPair.prototype.inspect = function inspect() {\n return '<Key priv: ' + (this.priv && this.priv.toString(16, 2)) +\n ' pub: ' + (this.pub && this.pub.inspect()) + ' >';\n};\n","'use strict';\n\nvar BN = require('bn.js');\n\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction Signature(options, enc) {\n if (options instanceof Signature)\n return options;\n\n if (this._importDER(options, enc))\n return;\n\n assert(options.r && options.s, 'Signature without r or s');\n this.r = new BN(options.r, 16);\n this.s = new BN(options.s, 16);\n if (options.recoveryParam === undefined)\n this.recoveryParam = null;\n else\n this.recoveryParam = options.recoveryParam;\n}\nmodule.exports = Signature;\n\nfunction Position() {\n this.place = 0;\n}\n\nfunction getLength(buf, p) {\n var initial = buf[p.place++];\n if (!(initial & 0x80)) {\n return initial;\n }\n var octetLen = initial & 0xf;\n\n // Indefinite length or overflow\n if (octetLen === 0 || octetLen > 4) {\n return false;\n }\n\n var val = 0;\n for (var i = 0, off = p.place; i < octetLen; i++, off++) {\n val <<= 8;\n val |= buf[off];\n val >>>= 0;\n }\n\n // Leading zeroes\n if (val <= 0x7f) {\n return false;\n }\n\n p.place = off;\n return val;\n}\n\nfunction rmPadding(buf) {\n var i = 0;\n var len = buf.length - 1;\n while (!buf[i] && !(buf[i + 1] & 0x80) && i < len) {\n i++;\n }\n if (i === 0) {\n return buf;\n }\n return buf.slice(i);\n}\n\nSignature.prototype._importDER = function _importDER(data, enc) {\n data = utils.toArray(data, enc);\n var p = new Position();\n if (data[p.place++] !== 0x30) {\n return false;\n }\n var len = getLength(data, p);\n if (len === false) {\n return false;\n }\n if ((len + p.place) !== data.length) {\n return false;\n }\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var rlen = getLength(data, p);\n if (rlen === false) {\n return false;\n }\n var r = data.slice(p.place, rlen + p.place);\n p.place += rlen;\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var slen = getLength(data, p);\n if (slen === false) {\n return false;\n }\n if (data.length !== slen + p.place) {\n return false;\n }\n var s = data.slice(p.place, slen + p.place);\n if (r[0] === 0) {\n if (r[1] & 0x80) {\n r = r.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n if (s[0] === 0) {\n if (s[1] & 0x80) {\n s = s.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n\n this.r = new BN(r);\n this.s = new BN(s);\n this.recoveryParam = null;\n\n return true;\n};\n\nfunction constructLength(arr, len) {\n if (len < 0x80) {\n arr.push(len);\n return;\n }\n var octets = 1 + (Math.log(len) / Math.LN2 >>> 3);\n arr.push(octets | 0x80);\n while (--octets) {\n arr.push((len >>> (octets << 3)) & 0xff);\n }\n arr.push(len);\n}\n\nSignature.prototype.toDER = function toDER(enc) {\n var r = this.r.toArray();\n var s = this.s.toArray();\n\n // Pad values\n if (r[0] & 0x80)\n r = [ 0 ].concat(r);\n // Pad values\n if (s[0] & 0x80)\n s = [ 0 ].concat(s);\n\n r = rmPadding(r);\n s = rmPadding(s);\n\n while (!s[0] && !(s[1] & 0x80)) {\n s = s.slice(1);\n }\n var arr = [ 0x02 ];\n constructLength(arr, r.length);\n arr = arr.concat(r);\n arr.push(0x02);\n constructLength(arr, s.length);\n var backHalf = arr.concat(s);\n var res = [ 0x30 ];\n constructLength(res, backHalf.length);\n res = res.concat(backHalf);\n return utils.encode(res, enc);\n};\n","'use strict';\n\nvar hash = require('hash.js');\nvar curves = require('../curves');\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EDDSA(curve) {\n assert(curve === 'ed25519', 'only tested with ed25519 so far');\n\n if (!(this instanceof EDDSA))\n return new EDDSA(curve);\n\n curve = curves[curve].curve;\n this.curve = curve;\n this.g = curve.g;\n this.g.precompute(curve.n.bitLength() + 1);\n\n this.pointClass = curve.point().constructor;\n this.encodingLength = Math.ceil(curve.n.bitLength() / 8);\n this.hash = hash.sha512;\n}\n\nmodule.exports = EDDSA;\n\n/**\n* @param {Array|String} message - message bytes\n* @param {Array|String|KeyPair} secret - secret bytes or a keypair\n* @returns {Signature} - signature\n*/\nEDDSA.prototype.sign = function sign(message, secret) {\n message = parseBytes(message);\n var key = this.keyFromSecret(secret);\n var r = this.hashInt(key.messagePrefix(), message);\n var R = this.g.mul(r);\n var Rencoded = this.encodePoint(R);\n var s_ = this.hashInt(Rencoded, key.pubBytes(), message)\n .mul(key.priv());\n var S = r.add(s_).umod(this.curve.n);\n return this.makeSignature({ R: R, S: S, Rencoded: Rencoded });\n};\n\n/**\n* @param {Array} message - message bytes\n* @param {Array|String|Signature} sig - sig bytes\n* @param {Array|String|Point|KeyPair} pub - public key\n* @returns {Boolean} - true if public key matches sig of message\n*/\nEDDSA.prototype.verify = function verify(message, sig, pub) {\n message = parseBytes(message);\n sig = this.makeSignature(sig);\n var key = this.keyFromPublic(pub);\n var h = this.hashInt(sig.Rencoded(), key.pubBytes(), message);\n var SG = this.g.mul(sig.S());\n var RplusAh = sig.R().add(key.pub().mul(h));\n return RplusAh.eq(SG);\n};\n\nEDDSA.prototype.hashInt = function hashInt() {\n var hash = this.hash();\n for (var i = 0; i < arguments.length; i++)\n hash.update(arguments[i]);\n return utils.intFromLE(hash.digest()).umod(this.curve.n);\n};\n\nEDDSA.prototype.keyFromPublic = function keyFromPublic(pub) {\n return KeyPair.fromPublic(this, pub);\n};\n\nEDDSA.prototype.keyFromSecret = function keyFromSecret(secret) {\n return KeyPair.fromSecret(this, secret);\n};\n\nEDDSA.prototype.makeSignature = function makeSignature(sig) {\n if (sig instanceof Signature)\n return sig;\n return new Signature(this, sig);\n};\n\n/**\n* * https://tools.ietf.org/html/draft-josefsson-eddsa-ed25519-03#section-5.2\n*\n* EDDSA defines methods for encoding and decoding points and integers. These are\n* helper convenience methods, that pass along to utility functions implied\n* parameters.\n*\n*/\nEDDSA.prototype.encodePoint = function encodePoint(point) {\n var enc = point.getY().toArray('le', this.encodingLength);\n enc[this.encodingLength - 1] |= point.getX().isOdd() ? 0x80 : 0;\n return enc;\n};\n\nEDDSA.prototype.decodePoint = function decodePoint(bytes) {\n bytes = utils.parseBytes(bytes);\n\n var lastIx = bytes.length - 1;\n var normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & ~0x80);\n var xIsOdd = (bytes[lastIx] & 0x80) !== 0;\n\n var y = utils.intFromLE(normed);\n return this.curve.pointFromY(y, xIsOdd);\n};\n\nEDDSA.prototype.encodeInt = function encodeInt(num) {\n return num.toArray('le', this.encodingLength);\n};\n\nEDDSA.prototype.decodeInt = function decodeInt(bytes) {\n return utils.intFromLE(bytes);\n};\n\nEDDSA.prototype.isPoint = function isPoint(val) {\n return val instanceof this.pointClass;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar cachedProperty = utils.cachedProperty;\n\n/**\n* @param {EDDSA} eddsa - instance\n* @param {Object} params - public/private key parameters\n*\n* @param {Array<Byte>} [params.secret] - secret seed bytes\n* @param {Point} [params.pub] - public key point (aka `A` in eddsa terms)\n* @param {Array<Byte>} [params.pub] - public key point encoded as bytes\n*\n*/\nfunction KeyPair(eddsa, params) {\n this.eddsa = eddsa;\n this._secret = parseBytes(params.secret);\n if (eddsa.isPoint(params.pub))\n this._pub = params.pub;\n else\n this._pubBytes = parseBytes(params.pub);\n}\n\nKeyPair.fromPublic = function fromPublic(eddsa, pub) {\n if (pub instanceof KeyPair)\n return pub;\n return new KeyPair(eddsa, { pub: pub });\n};\n\nKeyPair.fromSecret = function fromSecret(eddsa, secret) {\n if (secret instanceof KeyPair)\n return secret;\n return new KeyPair(eddsa, { secret: secret });\n};\n\nKeyPair.prototype.secret = function secret() {\n return this._secret;\n};\n\ncachedProperty(KeyPair, 'pubBytes', function pubBytes() {\n return this.eddsa.encodePoint(this.pub());\n});\n\ncachedProperty(KeyPair, 'pub', function pub() {\n if (this._pubBytes)\n return this.eddsa.decodePoint(this._pubBytes);\n return this.eddsa.g.mul(this.priv());\n});\n\ncachedProperty(KeyPair, 'privBytes', function privBytes() {\n var eddsa = this.eddsa;\n var hash = this.hash();\n var lastIx = eddsa.encodingLength - 1;\n\n var a = hash.slice(0, eddsa.encodingLength);\n a[0] &= 248;\n a[lastIx] &= 127;\n a[lastIx] |= 64;\n\n return a;\n});\n\ncachedProperty(KeyPair, 'priv', function priv() {\n return this.eddsa.decodeInt(this.privBytes());\n});\n\ncachedProperty(KeyPair, 'hash', function hash() {\n return this.eddsa.hash().update(this.secret()).digest();\n});\n\ncachedProperty(KeyPair, 'messagePrefix', function messagePrefix() {\n return this.hash().slice(this.eddsa.encodingLength);\n});\n\nKeyPair.prototype.sign = function sign(message) {\n assert(this._secret, 'KeyPair can only verify');\n return this.eddsa.sign(message, this);\n};\n\nKeyPair.prototype.verify = function verify(message, sig) {\n return this.eddsa.verify(message, sig, this);\n};\n\nKeyPair.prototype.getSecret = function getSecret(enc) {\n assert(this._secret, 'KeyPair is public only');\n return utils.encode(this.secret(), enc);\n};\n\nKeyPair.prototype.getPublic = function getPublic(enc) {\n return utils.encode(this.pubBytes(), enc);\n};\n\nmodule.exports = KeyPair;\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar cachedProperty = utils.cachedProperty;\nvar parseBytes = utils.parseBytes;\n\n/**\n* @param {EDDSA} eddsa - eddsa instance\n* @param {Array<Bytes>|Object} sig -\n* @param {Array<Bytes>|Point} [sig.R] - R point as Point or bytes\n* @param {Array<Bytes>|bn} [sig.S] - S scalar as bn or bytes\n* @param {Array<Bytes>} [sig.Rencoded] - R point encoded\n* @param {Array<Bytes>} [sig.Sencoded] - S scalar encoded\n*/\nfunction Signature(eddsa, sig) {\n this.eddsa = eddsa;\n\n if (typeof sig !== 'object')\n sig = parseBytes(sig);\n\n if (Array.isArray(sig)) {\n sig = {\n R: sig.slice(0, eddsa.encodingLength),\n S: sig.slice(eddsa.encodingLength),\n };\n }\n\n assert(sig.R && sig.S, 'Signature without R or S');\n\n if (eddsa.isPoint(sig.R))\n this._R = sig.R;\n if (sig.S instanceof BN)\n this._S = sig.S;\n\n this._Rencoded = Array.isArray(sig.R) ? sig.R : sig.Rencoded;\n this._Sencoded = Array.isArray(sig.S) ? sig.S : sig.Sencoded;\n}\n\ncachedProperty(Signature, 'S', function S() {\n return this.eddsa.decodeInt(this.Sencoded());\n});\n\ncachedProperty(Signature, 'R', function R() {\n return this.eddsa.decodePoint(this.Rencoded());\n});\n\ncachedProperty(Signature, 'Rencoded', function Rencoded() {\n return this.eddsa.encodePoint(this.R());\n});\n\ncachedProperty(Signature, 'Sencoded', function Sencoded() {\n return this.eddsa.encodeInt(this.S());\n});\n\nSignature.prototype.toBytes = function toBytes() {\n return this.Rencoded().concat(this.Sencoded());\n};\n\nSignature.prototype.toHex = function toHex() {\n return utils.encode(this.toBytes(), 'hex').toUpperCase();\n};\n\nmodule.exports = Signature;\n","module.exports = {\n doubles: {\n step: 4,\n points: [\n [\n 'e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a',\n 'f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821',\n ],\n [\n '8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508',\n '11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf',\n ],\n [\n '175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739',\n 'd3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695',\n ],\n [\n '363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640',\n '4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9',\n ],\n [\n '8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c',\n '4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36',\n ],\n [\n '723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda',\n '96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f',\n ],\n [\n 'eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa',\n '5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999',\n ],\n [\n '100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0',\n 'cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09',\n ],\n [\n 'e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d',\n '9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d',\n ],\n [\n 'feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d',\n 'e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088',\n ],\n [\n 'da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1',\n '9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d',\n ],\n [\n '53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0',\n '5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8',\n ],\n [\n '8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047',\n '10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a',\n ],\n [\n '385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862',\n '283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453',\n ],\n [\n '6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7',\n '7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160',\n ],\n [\n '3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd',\n '56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0',\n ],\n [\n '85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83',\n '7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6',\n ],\n [\n '948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a',\n '53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589',\n ],\n [\n '6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8',\n 'bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17',\n ],\n [\n 'e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d',\n '4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda',\n ],\n [\n 'e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725',\n '7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd',\n ],\n [\n '213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754',\n '4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2',\n ],\n [\n '4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c',\n '17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6',\n ],\n [\n 'fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6',\n '6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f',\n ],\n [\n '76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39',\n 'c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01',\n ],\n [\n 'c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891',\n '893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3',\n ],\n [\n 'd895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b',\n 'febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f',\n ],\n [\n 'b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03',\n '2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7',\n ],\n [\n 'e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d',\n 'eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78',\n ],\n [\n 'a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070',\n '7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1',\n ],\n [\n '90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4',\n 'e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150',\n ],\n [\n '8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da',\n '662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82',\n ],\n [\n 'e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11',\n '1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc',\n ],\n [\n '8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e',\n 'efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b',\n ],\n [\n 'e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41',\n '2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51',\n ],\n [\n 'b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef',\n '67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45',\n ],\n [\n 'd68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8',\n 'db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120',\n ],\n [\n '324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d',\n '648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84',\n ],\n [\n '4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96',\n '35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d',\n ],\n [\n '9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd',\n 'ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d',\n ],\n [\n '6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5',\n '9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8',\n ],\n [\n 'a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266',\n '40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8',\n ],\n [\n '7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71',\n '34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac',\n ],\n [\n '928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac',\n 'c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f',\n ],\n [\n '85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751',\n '1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962',\n ],\n [\n 'ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e',\n '493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907',\n ],\n [\n '827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241',\n 'c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec',\n ],\n [\n 'eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3',\n 'be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d',\n ],\n [\n 'e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f',\n '4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414',\n ],\n [\n '1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19',\n 'aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd',\n ],\n [\n '146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be',\n 'b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0',\n ],\n [\n 'fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9',\n '6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811',\n ],\n [\n 'da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2',\n '8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1',\n ],\n [\n 'a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13',\n '7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c',\n ],\n [\n '174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c',\n 'ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73',\n ],\n [\n '959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba',\n '2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd',\n ],\n [\n 'd2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151',\n 'e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405',\n ],\n [\n '64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073',\n 'd99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589',\n ],\n [\n '8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458',\n '38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e',\n ],\n [\n '13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b',\n '69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27',\n ],\n [\n 'bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366',\n 'd3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1',\n ],\n [\n '8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa',\n '40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482',\n ],\n [\n '8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0',\n '620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945',\n ],\n [\n 'dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787',\n '7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573',\n ],\n [\n 'f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e',\n 'ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82',\n ],\n ],\n },\n naf: {\n wnd: 7,\n points: [\n [\n 'f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9',\n '388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672',\n ],\n [\n '2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4',\n 'd8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6',\n ],\n [\n '5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc',\n '6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da',\n ],\n [\n 'acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe',\n 'cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37',\n ],\n [\n '774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb',\n 'd984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b',\n ],\n [\n 'f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8',\n 'ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81',\n ],\n [\n 'd7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e',\n '581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58',\n ],\n [\n 'defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34',\n '4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77',\n ],\n [\n '2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c',\n '85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a',\n ],\n [\n '352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5',\n '321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c',\n ],\n [\n '2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f',\n '2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67',\n ],\n [\n '9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714',\n '73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402',\n ],\n [\n 'daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729',\n 'a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55',\n ],\n [\n 'c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db',\n '2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482',\n ],\n [\n '6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4',\n 'e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82',\n ],\n [\n '1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5',\n 'b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396',\n ],\n [\n '605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479',\n '2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49',\n ],\n [\n '62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d',\n '80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf',\n ],\n [\n '80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f',\n '1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a',\n ],\n [\n '7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb',\n 'd0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7',\n ],\n [\n 'd528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9',\n 'eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933',\n ],\n [\n '49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963',\n '758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a',\n ],\n [\n '77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74',\n '958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6',\n ],\n [\n 'f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530',\n 'e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37',\n ],\n [\n '463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b',\n '5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e',\n ],\n [\n 'f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247',\n 'cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6',\n ],\n [\n 'caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1',\n 'cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476',\n ],\n [\n '2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120',\n '4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40',\n ],\n [\n '7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435',\n '91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61',\n ],\n [\n '754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18',\n '673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683',\n ],\n [\n 'e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8',\n '59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5',\n ],\n [\n '186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb',\n '3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b',\n ],\n [\n 'df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f',\n '55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417',\n ],\n [\n '5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143',\n 'efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868',\n ],\n [\n '290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba',\n 'e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a',\n ],\n [\n 'af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45',\n 'f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6',\n ],\n [\n '766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a',\n '744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996',\n ],\n [\n '59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e',\n 'c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e',\n ],\n [\n 'f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8',\n 'e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d',\n ],\n [\n '7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c',\n '30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2',\n ],\n [\n '948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519',\n 'e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e',\n ],\n [\n '7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab',\n '100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437',\n ],\n [\n '3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca',\n 'ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311',\n ],\n [\n 'd3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf',\n '8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4',\n ],\n [\n '1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610',\n '68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575',\n ],\n [\n '733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4',\n 'f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d',\n ],\n [\n '15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c',\n 'd56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d',\n ],\n [\n 'a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940',\n 'edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629',\n ],\n [\n 'e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980',\n 'a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06',\n ],\n [\n '311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3',\n '66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374',\n ],\n [\n '34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf',\n '9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee',\n ],\n [\n 'f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63',\n '4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1',\n ],\n [\n 'd7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448',\n 'fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b',\n ],\n [\n '32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf',\n '5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661',\n ],\n [\n '7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5',\n '8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6',\n ],\n [\n 'ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6',\n '8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e',\n ],\n [\n '16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5',\n '5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d',\n ],\n [\n 'eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99',\n 'f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc',\n ],\n [\n '78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51',\n 'f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4',\n ],\n [\n '494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5',\n '42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c',\n ],\n [\n 'a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5',\n '204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b',\n ],\n [\n 'c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997',\n '4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913',\n ],\n [\n '841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881',\n '73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154',\n ],\n [\n '5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5',\n '39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865',\n ],\n [\n '36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66',\n 'd2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc',\n ],\n [\n '336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726',\n 'ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224',\n ],\n [\n '8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede',\n '6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e',\n ],\n [\n '1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94',\n '60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6',\n ],\n [\n '85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31',\n '3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511',\n ],\n [\n '29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51',\n 'b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b',\n ],\n [\n 'a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252',\n 'ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2',\n ],\n [\n '4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5',\n 'cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c',\n ],\n [\n 'd24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b',\n '6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3',\n ],\n [\n 'ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4',\n '322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d',\n ],\n [\n 'af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f',\n '6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700',\n ],\n [\n 'e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889',\n '2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4',\n ],\n [\n '591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246',\n 'b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196',\n ],\n [\n '11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984',\n '998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4',\n ],\n [\n '3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a',\n 'b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257',\n ],\n [\n 'cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030',\n 'bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13',\n ],\n [\n 'c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197',\n '6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096',\n ],\n [\n 'c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593',\n 'c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38',\n ],\n [\n 'a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef',\n '21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f',\n ],\n [\n '347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38',\n '60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448',\n ],\n [\n 'da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a',\n '49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a',\n ],\n [\n 'c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111',\n '5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4',\n ],\n [\n '4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502',\n '7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437',\n ],\n [\n '3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea',\n 'be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7',\n ],\n [\n 'cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26',\n '8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d',\n ],\n [\n 'b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986',\n '39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a',\n ],\n [\n 'd4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e',\n '62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54',\n ],\n [\n '48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4',\n '25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77',\n ],\n [\n 'dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda',\n 'ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517',\n ],\n [\n '6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859',\n 'cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10',\n ],\n [\n 'e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f',\n 'f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125',\n ],\n [\n 'eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c',\n '6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e',\n ],\n [\n '13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942',\n 'fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1',\n ],\n [\n 'ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a',\n '1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2',\n ],\n [\n 'b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80',\n '5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423',\n ],\n [\n 'ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d',\n '438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8',\n ],\n [\n '8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1',\n 'cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758',\n ],\n [\n '52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63',\n 'c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375',\n ],\n [\n 'e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352',\n '6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d',\n ],\n [\n '7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193',\n 'ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec',\n ],\n [\n '5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00',\n '9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0',\n ],\n [\n '32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58',\n 'ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c',\n ],\n [\n 'e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7',\n 'd3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4',\n ],\n [\n '8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8',\n 'c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f',\n ],\n [\n '4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e',\n '67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649',\n ],\n [\n '3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d',\n 'cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826',\n ],\n [\n '674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b',\n '299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5',\n ],\n [\n 'd32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f',\n 'f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87',\n ],\n [\n '30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6',\n '462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b',\n ],\n [\n 'be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297',\n '62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc',\n ],\n [\n '93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a',\n '7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c',\n ],\n [\n 'b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c',\n 'ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f',\n ],\n [\n 'd5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52',\n '4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a',\n ],\n [\n 'd3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb',\n 'bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46',\n ],\n [\n '463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065',\n 'bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f',\n ],\n [\n '7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917',\n '603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03',\n ],\n [\n '74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9',\n 'cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08',\n ],\n [\n '30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3',\n '553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8',\n ],\n [\n '9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57',\n '712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373',\n ],\n [\n '176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66',\n 'ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3',\n ],\n [\n '75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8',\n '9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8',\n ],\n [\n '809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721',\n '9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1',\n ],\n [\n '1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180',\n '4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9',\n ],\n ],\n },\n};\n","'use strict';\n\nvar utils = exports;\nvar BN = require('bn.js');\nvar minAssert = require('minimalistic-assert');\nvar minUtils = require('minimalistic-crypto-utils');\n\nutils.assert = minAssert;\nutils.toArray = minUtils.toArray;\nutils.zero2 = minUtils.zero2;\nutils.toHex = minUtils.toHex;\nutils.encode = minUtils.encode;\n\n// Represent num in a w-NAF form\nfunction getNAF(num, w, bits) {\n var naf = new Array(Math.max(num.bitLength(), bits) + 1);\n naf.fill(0);\n\n var ws = 1 << (w + 1);\n var k = num.clone();\n\n for (var i = 0; i < naf.length; i++) {\n var z;\n var mod = k.andln(ws - 1);\n if (k.isOdd()) {\n if (mod > (ws >> 1) - 1)\n z = (ws >> 1) - mod;\n else\n z = mod;\n k.isubn(z);\n } else {\n z = 0;\n }\n\n naf[i] = z;\n k.iushrn(1);\n }\n\n return naf;\n}\nutils.getNAF = getNAF;\n\n// Represent k1, k2 in a Joint Sparse Form\nfunction getJSF(k1, k2) {\n var jsf = [\n [],\n [],\n ];\n\n k1 = k1.clone();\n k2 = k2.clone();\n var d1 = 0;\n var d2 = 0;\n var m8;\n while (k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0) {\n // First phase\n var m14 = (k1.andln(3) + d1) & 3;\n var m24 = (k2.andln(3) + d2) & 3;\n if (m14 === 3)\n m14 = -1;\n if (m24 === 3)\n m24 = -1;\n var u1;\n if ((m14 & 1) === 0) {\n u1 = 0;\n } else {\n m8 = (k1.andln(7) + d1) & 7;\n if ((m8 === 3 || m8 === 5) && m24 === 2)\n u1 = -m14;\n else\n u1 = m14;\n }\n jsf[0].push(u1);\n\n var u2;\n if ((m24 & 1) === 0) {\n u2 = 0;\n } else {\n m8 = (k2.andln(7) + d2) & 7;\n if ((m8 === 3 || m8 === 5) && m14 === 2)\n u2 = -m24;\n else\n u2 = m24;\n }\n jsf[1].push(u2);\n\n // Second phase\n if (2 * d1 === u1 + 1)\n d1 = 1 - d1;\n if (2 * d2 === u2 + 1)\n d2 = 1 - d2;\n k1.iushrn(1);\n k2.iushrn(1);\n }\n\n return jsf;\n}\nutils.getJSF = getJSF;\n\nfunction cachedProperty(obj, name, computer) {\n var key = '_' + name;\n obj.prototype[name] = function cachedProperty() {\n return this[key] !== undefined ? this[key] :\n this[key] = computer.call(this);\n };\n}\nutils.cachedProperty = cachedProperty;\n\nfunction parseBytes(bytes) {\n return typeof bytes === 'string' ? utils.toArray(bytes, 'hex') :\n bytes;\n}\nutils.parseBytes = parseBytes;\n\nfunction intFromLE(bytes) {\n return new BN(bytes, 'hex', 'le');\n}\nutils.intFromLE = intFromLE;\n\n","module.exports={\n \"name\": \"elliptic\",\n \"version\": \"6.5.4\",\n \"description\": \"EC cryptography\",\n \"main\": \"lib/elliptic.js\",\n \"files\": [\n \"lib\"\n ],\n \"scripts\": {\n \"lint\": \"eslint lib test\",\n \"lint:fix\": \"npm run lint -- --fix\",\n \"unit\": \"istanbul test _mocha --reporter=spec test/index.js\",\n \"test\": \"npm run lint && npm run unit\",\n \"version\": \"grunt dist && git add dist/\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git@github.com:indutny/elliptic\"\n },\n \"keywords\": [\n \"EC\",\n \"Elliptic\",\n \"curve\",\n \"Cryptography\"\n ],\n \"author\": \"Fedor Indutny <fedor@indutny.com>\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/indutny/elliptic/issues\"\n },\n \"homepage\": \"https://github.com/indutny/elliptic\",\n \"devDependencies\": {\n \"brfs\": \"^2.0.2\",\n \"coveralls\": \"^3.1.0\",\n \"eslint\": \"^7.6.0\",\n \"grunt\": \"^1.2.1\",\n \"grunt-browserify\": \"^5.3.0\",\n \"grunt-cli\": \"^1.3.2\",\n \"grunt-contrib-connect\": \"^3.0.0\",\n \"grunt-contrib-copy\": \"^1.0.0\",\n \"grunt-contrib-uglify\": \"^5.0.0\",\n \"grunt-mocha-istanbul\": \"^5.0.2\",\n \"grunt-saucelabs\": \"^9.0.1\",\n \"istanbul\": \"^0.4.5\",\n \"mocha\": \"^8.0.1\"\n },\n \"dependencies\": {\n \"bn.js\": \"^4.11.9\",\n \"brorand\": \"^1.1.0\",\n \"hash.js\": \"^1.0.0\",\n \"hmac-drbg\": \"^1.0.1\",\n \"inherits\": \"^2.0.4\",\n \"minimalistic-assert\": \"^1.0.1\",\n \"minimalistic-crypto-utils\": \"^1.0.1\"\n }\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar objectCreate = Object.create || objectCreatePolyfill\nvar objectKeys = Object.keys || objectKeysPolyfill\nvar bind = Function.prototype.bind || functionBindPolyfill\n\nfunction EventEmitter() {\n if (!this._events || !Object.prototype.hasOwnProperty.call(this, '_events')) {\n this._events = objectCreate(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n}\nmodule.exports = EventEmitter;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nvar hasDefineProperty;\ntry {\n var o = {};\n if (Object.defineProperty) Object.defineProperty(o, 'x', { value: 0 });\n hasDefineProperty = o.x === 0;\n} catch (err) { hasDefineProperty = false }\nif (hasDefineProperty) {\n Object.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n // check whether the input is a positive number (whose value is zero or\n // greater and not a NaN).\n if (typeof arg !== 'number' || arg < 0 || arg !== arg)\n throw new TypeError('\"defaultMaxListeners\" must be a positive number');\n defaultMaxListeners = arg;\n }\n });\n} else {\n EventEmitter.defaultMaxListeners = defaultMaxListeners;\n}\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || isNaN(n))\n throw new TypeError('\"n\" argument must be a positive number');\n this._maxListeners = n;\n return this;\n};\n\nfunction $getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return $getMaxListeners(this);\n};\n\n// These standalone emit* functions are used to optimize calling of event\n// handlers for fast cases because emit() itself often has a variable number of\n// arguments and can be deoptimized because of that. These functions always have\n// the same number of arguments and thus do not get deoptimized, so the code\n// inside them can execute faster.\nfunction emitNone(handler, isFn, self) {\n if (isFn)\n handler.call(self);\n else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n listeners[i].call(self);\n }\n}\nfunction emitOne(handler, isFn, self, arg1) {\n if (isFn)\n handler.call(self, arg1);\n else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n listeners[i].call(self, arg1);\n }\n}\nfunction emitTwo(handler, isFn, self, arg1, arg2) {\n if (isFn)\n handler.call(self, arg1, arg2);\n else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n listeners[i].call(self, arg1, arg2);\n }\n}\nfunction emitThree(handler, isFn, self, arg1, arg2, arg3) {\n if (isFn)\n handler.call(self, arg1, arg2, arg3);\n else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n listeners[i].call(self, arg1, arg2, arg3);\n }\n}\n\nfunction emitMany(handler, isFn, self, args) {\n if (isFn)\n handler.apply(self, args);\n else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n listeners[i].apply(self, args);\n }\n}\n\nEventEmitter.prototype.emit = function emit(type) {\n var er, handler, len, args, i, events;\n var doError = (type === 'error');\n\n events = this._events;\n if (events)\n doError = (doError && events.error == null);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n if (arguments.length > 1)\n er = arguments[1];\n if (er instanceof Error) {\n throw er; // Unhandled 'error' event\n } else {\n // At least give some kind of context to the user\n var err = new Error('Unhandled \"error\" event. (' + er + ')');\n err.context = er;\n throw err;\n }\n return false;\n }\n\n handler = events[type];\n\n if (!handler)\n return false;\n\n var isFn = typeof handler === 'function';\n len = arguments.length;\n switch (len) {\n // fast cases\n case 1:\n emitNone(handler, isFn, this);\n break;\n case 2:\n emitOne(handler, isFn, this, arguments[1]);\n break;\n case 3:\n emitTwo(handler, isFn, this, arguments[1], arguments[2]);\n break;\n case 4:\n emitThree(handler, isFn, this, arguments[1], arguments[2], arguments[3]);\n break;\n // slower\n default:\n args = new Array(len - 1);\n for (i = 1; i < len; i++)\n args[i - 1] = arguments[i];\n emitMany(handler, isFn, this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n if (typeof listener !== 'function')\n throw new TypeError('\"listener\" argument must be a function');\n\n events = target._events;\n if (!events) {\n events = target._events = objectCreate(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (!existing) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n } else {\n // If we've already got an array, just append.\n if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n }\n\n // Check for listener leak\n if (!existing.warned) {\n m = $getMaxListeners(target);\n if (m && m > 0 && existing.length > m) {\n existing.warned = true;\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' \"' + String(type) + '\" listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit.');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n if (typeof console === 'object' && console.warn) {\n console.warn('%s: %s', w.name, w.message);\n }\n }\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n switch (arguments.length) {\n case 0:\n return this.listener.call(this.target);\n case 1:\n return this.listener.call(this.target, arguments[0]);\n case 2:\n return this.listener.call(this.target, arguments[0], arguments[1]);\n case 3:\n return this.listener.call(this.target, arguments[0], arguments[1],\n arguments[2]);\n default:\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; ++i)\n args[i] = arguments[i];\n this.listener.apply(this.target, args);\n }\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = bind.call(onceWrapper, state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n if (typeof listener !== 'function')\n throw new TypeError('\"listener\" argument must be a function');\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n if (typeof listener !== 'function')\n throw new TypeError('\"listener\" argument must be a function');\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n if (typeof listener !== 'function')\n throw new TypeError('\"listener\" argument must be a function');\n\n events = this._events;\n if (!events)\n return this;\n\n list = events[type];\n if (!list)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = objectCreate(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else\n spliceOne(list, position);\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (!events)\n return this;\n\n // not listening for removeListener, no need to emit\n if (!events.removeListener) {\n if (arguments.length === 0) {\n this._events = objectCreate(null);\n this._eventsCount = 0;\n } else if (events[type]) {\n if (--this._eventsCount === 0)\n this._events = objectCreate(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = objectKeys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = objectCreate(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (!events)\n return [];\n\n var evlistener = events[type];\n if (!evlistener)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ? unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? Reflect.ownKeys(this._events) : [];\n};\n\n// About 1.5x faster than the two-arg version of Array#splice().\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1)\n list[i] = list[k];\n list.pop();\n}\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction objectCreatePolyfill(proto) {\n var F = function() {};\n F.prototype = proto;\n return new F;\n}\nfunction objectKeysPolyfill(obj) {\n var keys = [];\n for (var k in obj) if (Object.prototype.hasOwnProperty.call(obj, k)) {\n keys.push(k);\n }\n return k;\n}\nfunction functionBindPolyfill(context) {\n var fn = this;\n return function () {\n return fn.apply(context, arguments);\n };\n}\n","var Buffer = require('safe-buffer').Buffer\nvar MD5 = require('md5.js')\n\n/* eslint-disable camelcase */\nfunction EVP_BytesToKey (password, salt, keyBits, ivLen) {\n if (!Buffer.isBuffer(password)) password = Buffer.from(password, 'binary')\n if (salt) {\n if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, 'binary')\n if (salt.length !== 8) throw new RangeError('salt should be Buffer with 8 byte length')\n }\n\n var keyLen = keyBits / 8\n var key = Buffer.alloc(keyLen)\n var iv = Buffer.alloc(ivLen || 0)\n var tmp = Buffer.alloc(0)\n\n while (keyLen > 0 || ivLen > 0) {\n var hash = new MD5()\n hash.update(tmp)\n hash.update(password)\n if (salt) hash.update(salt)\n tmp = hash.digest()\n\n var used = 0\n\n if (keyLen > 0) {\n var keyStart = key.length - keyLen\n used = Math.min(keyLen, tmp.length)\n tmp.copy(key, keyStart, 0, used)\n keyLen -= used\n }\n\n if (used < tmp.length && ivLen > 0) {\n var ivStart = iv.length - ivLen\n var length = Math.min(ivLen, tmp.length - used)\n tmp.copy(iv, ivStart, used, used + length)\n ivLen -= length\n }\n }\n\n tmp.fill(0)\n return { key: key, iv: iv }\n}\n\nmodule.exports = EVP_BytesToKey\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CsvParserStream = exports.ParserOptions = exports.parseFile = exports.parseStream = exports.parseString = exports.parse = exports.FormatterOptions = exports.CsvFormatterStream = exports.writeToPath = exports.writeToString = exports.writeToBuffer = exports.writeToStream = exports.write = exports.format = void 0;\nvar format_1 = require(\"@fast-csv/format\");\nObject.defineProperty(exports, \"format\", {\n enumerable: true,\n get: function () {\n return format_1.format;\n }\n});\nObject.defineProperty(exports, \"write\", {\n enumerable: true,\n get: function () {\n return format_1.write;\n }\n});\nObject.defineProperty(exports, \"writeToStream\", {\n enumerable: true,\n get: function () {\n return format_1.writeToStream;\n }\n});\nObject.defineProperty(exports, \"writeToBuffer\", {\n enumerable: true,\n get: function () {\n return format_1.writeToBuffer;\n }\n});\nObject.defineProperty(exports, \"writeToString\", {\n enumerable: true,\n get: function () {\n return format_1.writeToString;\n }\n});\nObject.defineProperty(exports, \"writeToPath\", {\n enumerable: true,\n get: function () {\n return format_1.writeToPath;\n }\n});\nObject.defineProperty(exports, \"CsvFormatterStream\", {\n enumerable: true,\n get: function () {\n return format_1.CsvFormatterStream;\n }\n});\nObject.defineProperty(exports, \"FormatterOptions\", {\n enumerable: true,\n get: function () {\n return format_1.FormatterOptions;\n }\n});\nvar parse_1 = require(\"@fast-csv/parse\");\nObject.defineProperty(exports, \"parse\", {\n enumerable: true,\n get: function () {\n return parse_1.parse;\n }\n});\nObject.defineProperty(exports, \"parseString\", {\n enumerable: true,\n get: function () {\n return parse_1.parseString;\n }\n});\nObject.defineProperty(exports, \"parseStream\", {\n enumerable: true,\n get: function () {\n return parse_1.parseStream;\n }\n});\nObject.defineProperty(exports, \"parseFile\", {\n enumerable: true,\n get: function () {\n return parse_1.parseFile;\n }\n});\nObject.defineProperty(exports, \"ParserOptions\", {\n enumerable: true,\n get: function () {\n return parse_1.ParserOptions;\n }\n});\nObject.defineProperty(exports, \"CsvParserStream\", {\n enumerable: true,\n get: function () {\n return parse_1.CsvParserStream;\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmb3JtYXRfMSIsInJlcXVpcmUiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZm9ybWF0Iiwid3JpdGUiLCJ3cml0ZVRvU3RyZWFtIiwid3JpdGVUb0J1ZmZlciIsIndyaXRlVG9TdHJpbmciLCJ3cml0ZVRvUGF0aCIsIkNzdkZvcm1hdHRlclN0cmVhbSIsIkZvcm1hdHRlck9wdGlvbnMiLCJwYXJzZV8xIiwicGFyc2UiLCJwYXJzZVN0cmluZyIsInBhcnNlU3RyZWFtIiwicGFyc2VGaWxlIiwiUGFyc2VyT3B0aW9ucyIsIkNzdlBhcnNlclN0cmVhbSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyxPQUFBO0FBQ0lDLE1BQUEsQ0FBQUMsY0FBQSxDQUFBQyxPQUFBO0VBQUFDLFVBQUE7RUFBQUMsR0FBQSxXQUFBQSxDQUFBO0lBQUEsT0FBQU4sUUFBQSxDQUFBTyxNQUFNO0VBQUE7QUFBQTtBQUNOTCxNQUFBLENBQUFDLGNBQUEsQ0FBQUMsT0FBQTtFQUFBQyxVQUFBO0VBQUFDLEdBQUEsV0FBQUEsQ0FBQTtJQUFBLE9BQUFOLFFBQUEsQ0FBQVEsS0FBSztFQUFBO0FBQUE7QUFDTE4sTUFBQSxDQUFBQyxjQUFBLENBQUFDLE9BQUE7RUFBQUMsVUFBQTtFQUFBQyxHQUFBLFdBQUFBLENBQUE7SUFBQSxPQUFBTixRQUFBLENBQUFTLGFBQWE7RUFBQTtBQUFBO0FBQ2JQLE1BQUEsQ0FBQUMsY0FBQSxDQUFBQyxPQUFBO0VBQUFDLFVBQUE7RUFBQUMsR0FBQSxXQUFBQSxDQUFBO0lBQUEsT0FBQU4sUUFBQSxDQUFBVSxhQUFhO0VBQUE7QUFBQTtBQUNiUixNQUFBLENBQUFDLGNBQUEsQ0FBQUMsT0FBQTtFQUFBQyxVQUFBO0VBQUFDLEdBQUEsV0FBQUEsQ0FBQTtJQUFBLE9BQUFOLFFBQUEsQ0FBQVcsYUFBYTtFQUFBO0FBQUE7QUFDYlQsTUFBQSxDQUFBQyxjQUFBLENBQUFDLE9BQUE7RUFBQUMsVUFBQTtFQUFBQyxHQUFBLFdBQUFBLENBQUE7SUFBQSxPQUFBTixRQUFBLENBQUFZLFdBQVc7RUFBQTtBQUFBO0FBQ1hWLE1BQUEsQ0FBQUMsY0FBQSxDQUFBQyxPQUFBO0VBQUFDLFVBQUE7RUFBQUMsR0FBQSxXQUFBQSxDQUFBO0lBQUEsT0FBQU4sUUFBQSxDQUFBYSxrQkFBa0I7RUFBQTtBQUFBO0FBQ2xCWCxNQUFBLENBQUFDLGNBQUEsQ0FBQUMsT0FBQTtFQUFBQyxVQUFBO0VBQUFDLEdBQUEsV0FBQUEsQ0FBQTtJQUFBLE9BQUFOLFFBQUEsQ0FBQWMsZ0JBQWdCO0VBQUE7QUFBQTtBQVVwQixJQUFBQyxPQUFBLEdBQUFkLE9BQUE7QUFDSUMsTUFBQSxDQUFBQyxjQUFBLENBQUFDLE9BQUE7RUFBQUMsVUFBQTtFQUFBQyxHQUFBLFdBQUFBLENBQUE7SUFBQSxPQUFBUyxPQUFBLENBQUFDLEtBQUs7RUFBQTtBQUFBO0FBQ0xkLE1BQUEsQ0FBQUMsY0FBQSxDQUFBQyxPQUFBO0VBQUFDLFVBQUE7RUFBQUMsR0FBQSxXQUFBQSxDQUFBO0lBQUEsT0FBQVMsT0FBQSxDQUFBRSxXQUFXO0VBQUE7QUFBQTtBQUNYZixNQUFBLENBQUFDLGNBQUEsQ0FBQUMsT0FBQTtFQUFBQyxVQUFBO0VBQUFDLEdBQUEsV0FBQUEsQ0FBQTtJQUFBLE9BQUFTLE9BQUEsQ0FBQUcsV0FBVztFQUFBO0FBQUE7QUFDWGhCLE1BQUEsQ0FBQUMsY0FBQSxDQUFBQyxPQUFBO0VBQUFDLFVBQUE7RUFBQUMsR0FBQSxXQUFBQSxDQUFBO0lBQUEsT0FBQVMsT0FBQSxDQUFBSSxTQUFTO0VBQUE7QUFBQTtBQUNUakIsTUFBQSxDQUFBQyxjQUFBLENBQUFDLE9BQUE7RUFBQUMsVUFBQTtFQUFBQyxHQUFBLFdBQUFBLENBQUE7SUFBQSxPQUFBUyxPQUFBLENBQUFLLGFBQWE7RUFBQTtBQUFBO0FBQ2JsQixNQUFBLENBQUFDLGNBQUEsQ0FBQUMsT0FBQTtFQUFBQyxVQUFBO0VBQUFDLEdBQUEsV0FBQUEsQ0FBQTtJQUFBLE9BQUFTLE9BQUEsQ0FBQU0sZUFBZTtFQUFBO0FBQUEifQ==","'use strict'\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('readable-stream').Transform\nvar inherits = require('inherits')\n\nfunction throwIfNotStringOrBuffer (val, prefix) {\n if (!Buffer.isBuffer(val) && typeof val !== 'string') {\n throw new TypeError(prefix + ' must be a string or a buffer')\n }\n}\n\nfunction HashBase (blockSize) {\n Transform.call(this)\n\n this._block = Buffer.allocUnsafe(blockSize)\n this._blockSize = blockSize\n this._blockOffset = 0\n this._length = [0, 0, 0, 0]\n\n this._finalized = false\n}\n\ninherits(HashBase, Transform)\n\nHashBase.prototype._transform = function (chunk, encoding, callback) {\n var error = null\n try {\n this.update(chunk, encoding)\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype._flush = function (callback) {\n var error = null\n try {\n this.push(this.digest())\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype.update = function (data, encoding) {\n throwIfNotStringOrBuffer(data, 'Data')\n if (this._finalized) throw new Error('Digest already called')\n if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding)\n\n // consume data\n var block = this._block\n var offset = 0\n while (this._blockOffset + data.length - offset >= this._blockSize) {\n for (var i = this._blockOffset; i < this._blockSize;) block[i++] = data[offset++]\n this._update()\n this._blockOffset = 0\n }\n while (offset < data.length) block[this._blockOffset++] = data[offset++]\n\n // update length\n for (var j = 0, carry = data.length * 8; carry > 0; ++j) {\n this._length[j] += carry\n carry = (this._length[j] / 0x0100000000) | 0\n if (carry > 0) this._length[j] -= 0x0100000000 * carry\n }\n\n return this\n}\n\nHashBase.prototype._update = function () {\n throw new Error('_update is not implemented')\n}\n\nHashBase.prototype.digest = function (encoding) {\n if (this._finalized) throw new Error('Digest already called')\n this._finalized = true\n\n var digest = this._digest()\n if (encoding !== undefined) digest = digest.toString(encoding)\n\n // reset state\n this._block.fill(0)\n this._blockOffset = 0\n for (var i = 0; i < 4; ++i) this._length[i] = 0\n\n return digest\n}\n\nHashBase.prototype._digest = function () {\n throw new Error('_digest is not implemented')\n}\n\nmodule.exports = HashBase\n","var hash = exports;\n\nhash.utils = require('./hash/utils');\nhash.common = require('./hash/common');\nhash.sha = require('./hash/sha');\nhash.ripemd = require('./hash/ripemd');\nhash.hmac = require('./hash/hmac');\n\n// Proxy hash functions to the main object\nhash.sha1 = hash.sha.sha1;\nhash.sha256 = hash.sha.sha256;\nhash.sha224 = hash.sha.sha224;\nhash.sha384 = hash.sha.sha384;\nhash.sha512 = hash.sha.sha512;\nhash.ripemd160 = hash.ripemd.ripemd160;\n","'use strict';\n\nvar utils = require('./utils');\nvar assert = require('minimalistic-assert');\n\nfunction BlockHash() {\n this.pending = null;\n this.pendingTotal = 0;\n this.blockSize = this.constructor.blockSize;\n this.outSize = this.constructor.outSize;\n this.hmacStrength = this.constructor.hmacStrength;\n this.padLength = this.constructor.padLength / 8;\n this.endian = 'big';\n\n this._delta8 = this.blockSize / 8;\n this._delta32 = this.blockSize / 32;\n}\nexports.BlockHash = BlockHash;\n\nBlockHash.prototype.update = function update(msg, enc) {\n // Convert message to array, pad it, and join into 32bit blocks\n msg = utils.toArray(msg, enc);\n if (!this.pending)\n this.pending = msg;\n else\n this.pending = this.pending.concat(msg);\n this.pendingTotal += msg.length;\n\n // Enough data, try updating\n if (this.pending.length >= this._delta8) {\n msg = this.pending;\n\n // Process pending data in blocks\n var r = msg.length % this._delta8;\n this.pending = msg.slice(msg.length - r, msg.length);\n if (this.pending.length === 0)\n this.pending = null;\n\n msg = utils.join32(msg, 0, msg.length - r, this.endian);\n for (var i = 0; i < msg.length; i += this._delta32)\n this._update(msg, i, i + this._delta32);\n }\n\n return this;\n};\n\nBlockHash.prototype.digest = function digest(enc) {\n this.update(this._pad());\n assert(this.pending === null);\n\n return this._digest(enc);\n};\n\nBlockHash.prototype._pad = function pad() {\n var len = this.pendingTotal;\n var bytes = this._delta8;\n var k = bytes - ((len + this.padLength) % bytes);\n var res = new Array(k + this.padLength);\n res[0] = 0x80;\n for (var i = 1; i < k; i++)\n res[i] = 0;\n\n // Append length\n len <<= 3;\n if (this.endian === 'big') {\n for (var t = 8; t < this.padLength; t++)\n res[i++] = 0;\n\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = len & 0xff;\n } else {\n res[i++] = len & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n\n for (t = 8; t < this.padLength; t++)\n res[i++] = 0;\n }\n\n return res;\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar assert = require('minimalistic-assert');\n\nfunction Hmac(hash, key, enc) {\n if (!(this instanceof Hmac))\n return new Hmac(hash, key, enc);\n this.Hash = hash;\n this.blockSize = hash.blockSize / 8;\n this.outSize = hash.outSize / 8;\n this.inner = null;\n this.outer = null;\n\n this._init(utils.toArray(key, enc));\n}\nmodule.exports = Hmac;\n\nHmac.prototype._init = function init(key) {\n // Shorten key, if needed\n if (key.length > this.blockSize)\n key = new this.Hash().update(key).digest();\n assert(key.length <= this.blockSize);\n\n // Add padding to key\n for (var i = key.length; i < this.blockSize; i++)\n key.push(0);\n\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x36;\n this.inner = new this.Hash().update(key);\n\n // 0x36 ^ 0x5c = 0x6a\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x6a;\n this.outer = new this.Hash().update(key);\n};\n\nHmac.prototype.update = function update(msg, enc) {\n this.inner.update(msg, enc);\n return this;\n};\n\nHmac.prototype.digest = function digest(enc) {\n this.outer.update(this.inner.digest());\n return this.outer.digest(enc);\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar common = require('./common');\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_3 = utils.sum32_3;\nvar sum32_4 = utils.sum32_4;\nvar BlockHash = common.BlockHash;\n\nfunction RIPEMD160() {\n if (!(this instanceof RIPEMD160))\n return new RIPEMD160();\n\n BlockHash.call(this);\n\n this.h = [ 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0 ];\n this.endian = 'little';\n}\nutils.inherits(RIPEMD160, BlockHash);\nexports.ripemd160 = RIPEMD160;\n\nRIPEMD160.blockSize = 512;\nRIPEMD160.outSize = 160;\nRIPEMD160.hmacStrength = 192;\nRIPEMD160.padLength = 64;\n\nRIPEMD160.prototype._update = function update(msg, start) {\n var A = this.h[0];\n var B = this.h[1];\n var C = this.h[2];\n var D = this.h[3];\n var E = this.h[4];\n var Ah = A;\n var Bh = B;\n var Ch = C;\n var Dh = D;\n var Eh = E;\n for (var j = 0; j < 80; j++) {\n var T = sum32(\n rotl32(\n sum32_4(A, f(j, B, C, D), msg[r[j] + start], K(j)),\n s[j]),\n E);\n A = E;\n E = D;\n D = rotl32(C, 10);\n C = B;\n B = T;\n T = sum32(\n rotl32(\n sum32_4(Ah, f(79 - j, Bh, Ch, Dh), msg[rh[j] + start], Kh(j)),\n sh[j]),\n Eh);\n Ah = Eh;\n Eh = Dh;\n Dh = rotl32(Ch, 10);\n Ch = Bh;\n Bh = T;\n }\n T = sum32_3(this.h[1], C, Dh);\n this.h[1] = sum32_3(this.h[2], D, Eh);\n this.h[2] = sum32_3(this.h[3], E, Ah);\n this.h[3] = sum32_3(this.h[4], A, Bh);\n this.h[4] = sum32_3(this.h[0], B, Ch);\n this.h[0] = T;\n};\n\nRIPEMD160.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'little');\n else\n return utils.split32(this.h, 'little');\n};\n\nfunction f(j, x, y, z) {\n if (j <= 15)\n return x ^ y ^ z;\n else if (j <= 31)\n return (x & y) | ((~x) & z);\n else if (j <= 47)\n return (x | (~y)) ^ z;\n else if (j <= 63)\n return (x & z) | (y & (~z));\n else\n return x ^ (y | (~z));\n}\n\nfunction K(j) {\n if (j <= 15)\n return 0x00000000;\n else if (j <= 31)\n return 0x5a827999;\n else if (j <= 47)\n return 0x6ed9eba1;\n else if (j <= 63)\n return 0x8f1bbcdc;\n else\n return 0xa953fd4e;\n}\n\nfunction Kh(j) {\n if (j <= 15)\n return 0x50a28be6;\n else if (j <= 31)\n return 0x5c4dd124;\n else if (j <= 47)\n return 0x6d703ef3;\n else if (j <= 63)\n return 0x7a6d76e9;\n else\n return 0x00000000;\n}\n\nvar r = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13\n];\n\nvar rh = [\n 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11\n];\n\nvar s = [\n 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6\n];\n\nvar sh = [\n 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11\n];\n","'use strict';\n\nexports.sha1 = require('./sha/1');\nexports.sha224 = require('./sha/224');\nexports.sha256 = require('./sha/256');\nexports.sha384 = require('./sha/384');\nexports.sha512 = require('./sha/512');\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar shaCommon = require('./common');\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_5 = utils.sum32_5;\nvar ft_1 = shaCommon.ft_1;\nvar BlockHash = common.BlockHash;\n\nvar sha1_K = [\n 0x5A827999, 0x6ED9EBA1,\n 0x8F1BBCDC, 0xCA62C1D6\n];\n\nfunction SHA1() {\n if (!(this instanceof SHA1))\n return new SHA1();\n\n BlockHash.call(this);\n this.h = [\n 0x67452301, 0xefcdab89, 0x98badcfe,\n 0x10325476, 0xc3d2e1f0 ];\n this.W = new Array(80);\n}\n\nutils.inherits(SHA1, BlockHash);\nmodule.exports = SHA1;\n\nSHA1.blockSize = 512;\nSHA1.outSize = 160;\nSHA1.hmacStrength = 80;\nSHA1.padLength = 64;\n\nSHA1.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n\n for(; i < W.length; i++)\n W[i] = rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n\n for (i = 0; i < W.length; i++) {\n var s = ~~(i / 20);\n var t = sum32_5(rotl32(a, 5), ft_1(s, b, c, d), e, W[i], sha1_K[s]);\n e = d;\n d = c;\n c = rotl32(b, 30);\n b = a;\n a = t;\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n};\n\nSHA1.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar SHA256 = require('./256');\n\nfunction SHA224() {\n if (!(this instanceof SHA224))\n return new SHA224();\n\n SHA256.call(this);\n this.h = [\n 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,\n 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4 ];\n}\nutils.inherits(SHA224, SHA256);\nmodule.exports = SHA224;\n\nSHA224.blockSize = 512;\nSHA224.outSize = 224;\nSHA224.hmacStrength = 192;\nSHA224.padLength = 64;\n\nSHA224.prototype._digest = function digest(enc) {\n // Just truncate output\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 7), 'big');\n else\n return utils.split32(this.h.slice(0, 7), 'big');\n};\n\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar shaCommon = require('./common');\nvar assert = require('minimalistic-assert');\n\nvar sum32 = utils.sum32;\nvar sum32_4 = utils.sum32_4;\nvar sum32_5 = utils.sum32_5;\nvar ch32 = shaCommon.ch32;\nvar maj32 = shaCommon.maj32;\nvar s0_256 = shaCommon.s0_256;\nvar s1_256 = shaCommon.s1_256;\nvar g0_256 = shaCommon.g0_256;\nvar g1_256 = shaCommon.g1_256;\n\nvar BlockHash = common.BlockHash;\n\nvar sha256_K = [\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,\n 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\n 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,\n 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\n 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,\n 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,\n 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n];\n\nfunction SHA256() {\n if (!(this instanceof SHA256))\n return new SHA256();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,\n 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n ];\n this.k = sha256_K;\n this.W = new Array(64);\n}\nutils.inherits(SHA256, BlockHash);\nmodule.exports = SHA256;\n\nSHA256.blockSize = 512;\nSHA256.outSize = 256;\nSHA256.hmacStrength = 192;\nSHA256.padLength = 64;\n\nSHA256.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i++)\n W[i] = sum32_4(g1_256(W[i - 2]), W[i - 7], g0_256(W[i - 15]), W[i - 16]);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n var f = this.h[5];\n var g = this.h[6];\n var h = this.h[7];\n\n assert(this.k.length === W.length);\n for (i = 0; i < W.length; i++) {\n var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]);\n var T2 = sum32(s0_256(a), maj32(a, b, c));\n h = g;\n g = f;\n f = e;\n e = sum32(d, T1);\n d = c;\n c = b;\n b = a;\n a = sum32(T1, T2);\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n this.h[5] = sum32(this.h[5], f);\n this.h[6] = sum32(this.h[6], g);\n this.h[7] = sum32(this.h[7], h);\n};\n\nSHA256.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n","'use strict';\n\nvar utils = require('../utils');\n\nvar SHA512 = require('./512');\n\nfunction SHA384() {\n if (!(this instanceof SHA384))\n return new SHA384();\n\n SHA512.call(this);\n this.h = [\n 0xcbbb9d5d, 0xc1059ed8,\n 0x629a292a, 0x367cd507,\n 0x9159015a, 0x3070dd17,\n 0x152fecd8, 0xf70e5939,\n 0x67332667, 0xffc00b31,\n 0x8eb44a87, 0x68581511,\n 0xdb0c2e0d, 0x64f98fa7,\n 0x47b5481d, 0xbefa4fa4 ];\n}\nutils.inherits(SHA384, SHA512);\nmodule.exports = SHA384;\n\nSHA384.blockSize = 1024;\nSHA384.outSize = 384;\nSHA384.hmacStrength = 192;\nSHA384.padLength = 128;\n\nSHA384.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 12), 'big');\n else\n return utils.split32(this.h.slice(0, 12), 'big');\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar assert = require('minimalistic-assert');\n\nvar rotr64_hi = utils.rotr64_hi;\nvar rotr64_lo = utils.rotr64_lo;\nvar shr64_hi = utils.shr64_hi;\nvar shr64_lo = utils.shr64_lo;\nvar sum64 = utils.sum64;\nvar sum64_hi = utils.sum64_hi;\nvar sum64_lo = utils.sum64_lo;\nvar sum64_4_hi = utils.sum64_4_hi;\nvar sum64_4_lo = utils.sum64_4_lo;\nvar sum64_5_hi = utils.sum64_5_hi;\nvar sum64_5_lo = utils.sum64_5_lo;\n\nvar BlockHash = common.BlockHash;\n\nvar sha512_K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n];\n\nfunction SHA512() {\n if (!(this instanceof SHA512))\n return new SHA512();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xf3bcc908,\n 0xbb67ae85, 0x84caa73b,\n 0x3c6ef372, 0xfe94f82b,\n 0xa54ff53a, 0x5f1d36f1,\n 0x510e527f, 0xade682d1,\n 0x9b05688c, 0x2b3e6c1f,\n 0x1f83d9ab, 0xfb41bd6b,\n 0x5be0cd19, 0x137e2179 ];\n this.k = sha512_K;\n this.W = new Array(160);\n}\nutils.inherits(SHA512, BlockHash);\nmodule.exports = SHA512;\n\nSHA512.blockSize = 1024;\nSHA512.outSize = 512;\nSHA512.hmacStrength = 192;\nSHA512.padLength = 128;\n\nSHA512.prototype._prepareBlock = function _prepareBlock(msg, start) {\n var W = this.W;\n\n // 32 x 32bit words\n for (var i = 0; i < 32; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i += 2) {\n var c0_hi = g1_512_hi(W[i - 4], W[i - 3]); // i - 2\n var c0_lo = g1_512_lo(W[i - 4], W[i - 3]);\n var c1_hi = W[i - 14]; // i - 7\n var c1_lo = W[i - 13];\n var c2_hi = g0_512_hi(W[i - 30], W[i - 29]); // i - 15\n var c2_lo = g0_512_lo(W[i - 30], W[i - 29]);\n var c3_hi = W[i - 32]; // i - 16\n var c3_lo = W[i - 31];\n\n W[i] = sum64_4_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n W[i + 1] = sum64_4_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n }\n};\n\nSHA512.prototype._update = function _update(msg, start) {\n this._prepareBlock(msg, start);\n\n var W = this.W;\n\n var ah = this.h[0];\n var al = this.h[1];\n var bh = this.h[2];\n var bl = this.h[3];\n var ch = this.h[4];\n var cl = this.h[5];\n var dh = this.h[6];\n var dl = this.h[7];\n var eh = this.h[8];\n var el = this.h[9];\n var fh = this.h[10];\n var fl = this.h[11];\n var gh = this.h[12];\n var gl = this.h[13];\n var hh = this.h[14];\n var hl = this.h[15];\n\n assert(this.k.length === W.length);\n for (var i = 0; i < W.length; i += 2) {\n var c0_hi = hh;\n var c0_lo = hl;\n var c1_hi = s1_512_hi(eh, el);\n var c1_lo = s1_512_lo(eh, el);\n var c2_hi = ch64_hi(eh, el, fh, fl, gh, gl);\n var c2_lo = ch64_lo(eh, el, fh, fl, gh, gl);\n var c3_hi = this.k[i];\n var c3_lo = this.k[i + 1];\n var c4_hi = W[i];\n var c4_lo = W[i + 1];\n\n var T1_hi = sum64_5_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n var T1_lo = sum64_5_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n\n c0_hi = s0_512_hi(ah, al);\n c0_lo = s0_512_lo(ah, al);\n c1_hi = maj64_hi(ah, al, bh, bl, ch, cl);\n c1_lo = maj64_lo(ah, al, bh, bl, ch, cl);\n\n var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo);\n var T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo);\n\n hh = gh;\n hl = gl;\n\n gh = fh;\n gl = fl;\n\n fh = eh;\n fl = el;\n\n eh = sum64_hi(dh, dl, T1_hi, T1_lo);\n el = sum64_lo(dl, dl, T1_hi, T1_lo);\n\n dh = ch;\n dl = cl;\n\n ch = bh;\n cl = bl;\n\n bh = ah;\n bl = al;\n\n ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo);\n al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo);\n }\n\n sum64(this.h, 0, ah, al);\n sum64(this.h, 2, bh, bl);\n sum64(this.h, 4, ch, cl);\n sum64(this.h, 6, dh, dl);\n sum64(this.h, 8, eh, el);\n sum64(this.h, 10, fh, fl);\n sum64(this.h, 12, gh, gl);\n sum64(this.h, 14, hh, hl);\n};\n\nSHA512.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n\nfunction ch64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ ((~xh) & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction ch64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ ((~xl) & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ (xh & zh) ^ (yh & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ (xl & zl) ^ (yl & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 28);\n var c1_hi = rotr64_hi(xl, xh, 2); // 34\n var c2_hi = rotr64_hi(xl, xh, 7); // 39\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 28);\n var c1_lo = rotr64_lo(xl, xh, 2); // 34\n var c2_lo = rotr64_lo(xl, xh, 7); // 39\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 14);\n var c1_hi = rotr64_hi(xh, xl, 18);\n var c2_hi = rotr64_hi(xl, xh, 9); // 41\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 14);\n var c1_lo = rotr64_lo(xh, xl, 18);\n var c2_lo = rotr64_lo(xl, xh, 9); // 41\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 1);\n var c1_hi = rotr64_hi(xh, xl, 8);\n var c2_hi = shr64_hi(xh, xl, 7);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 1);\n var c1_lo = rotr64_lo(xh, xl, 8);\n var c2_lo = shr64_lo(xh, xl, 7);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 19);\n var c1_hi = rotr64_hi(xl, xh, 29); // 61\n var c2_hi = shr64_hi(xh, xl, 6);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 19);\n var c1_lo = rotr64_lo(xl, xh, 29); // 61\n var c2_lo = shr64_lo(xh, xl, 6);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n","'use strict';\n\nvar utils = require('../utils');\nvar rotr32 = utils.rotr32;\n\nfunction ft_1(s, x, y, z) {\n if (s === 0)\n return ch32(x, y, z);\n if (s === 1 || s === 3)\n return p32(x, y, z);\n if (s === 2)\n return maj32(x, y, z);\n}\nexports.ft_1 = ft_1;\n\nfunction ch32(x, y, z) {\n return (x & y) ^ ((~x) & z);\n}\nexports.ch32 = ch32;\n\nfunction maj32(x, y, z) {\n return (x & y) ^ (x & z) ^ (y & z);\n}\nexports.maj32 = maj32;\n\nfunction p32(x, y, z) {\n return x ^ y ^ z;\n}\nexports.p32 = p32;\n\nfunction s0_256(x) {\n return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22);\n}\nexports.s0_256 = s0_256;\n\nfunction s1_256(x) {\n return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25);\n}\nexports.s1_256 = s1_256;\n\nfunction g0_256(x) {\n return rotr32(x, 7) ^ rotr32(x, 18) ^ (x >>> 3);\n}\nexports.g0_256 = g0_256;\n\nfunction g1_256(x) {\n return rotr32(x, 17) ^ rotr32(x, 19) ^ (x >>> 10);\n}\nexports.g1_256 = g1_256;\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nexports.inherits = inherits;\n\nfunction isSurrogatePair(msg, i) {\n if ((msg.charCodeAt(i) & 0xFC00) !== 0xD800) {\n return false;\n }\n if (i < 0 || i + 1 >= msg.length) {\n return false;\n }\n return (msg.charCodeAt(i + 1) & 0xFC00) === 0xDC00;\n}\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg === 'string') {\n if (!enc) {\n // Inspired by stringToUtf8ByteArray() in closure-library by Google\n // https://github.com/google/closure-library/blob/8598d87242af59aac233270742c8984e2b2bdbe0/closure/goog/crypt/crypt.js#L117-L143\n // Apache License 2.0\n // https://github.com/google/closure-library/blob/master/LICENSE\n var p = 0;\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n if (c < 128) {\n res[p++] = c;\n } else if (c < 2048) {\n res[p++] = (c >> 6) | 192;\n res[p++] = (c & 63) | 128;\n } else if (isSurrogatePair(msg, i)) {\n c = 0x10000 + ((c & 0x03FF) << 10) + (msg.charCodeAt(++i) & 0x03FF);\n res[p++] = (c >> 18) | 240;\n res[p++] = ((c >> 12) & 63) | 128;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n } else {\n res[p++] = (c >> 12) | 224;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n }\n }\n } else if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n }\n } else {\n for (i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n }\n return res;\n}\nexports.toArray = toArray;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nexports.toHex = toHex;\n\nfunction htonl(w) {\n var res = (w >>> 24) |\n ((w >>> 8) & 0xff00) |\n ((w << 8) & 0xff0000) |\n ((w & 0xff) << 24);\n return res >>> 0;\n}\nexports.htonl = htonl;\n\nfunction toHex32(msg, endian) {\n var res = '';\n for (var i = 0; i < msg.length; i++) {\n var w = msg[i];\n if (endian === 'little')\n w = htonl(w);\n res += zero8(w.toString(16));\n }\n return res;\n}\nexports.toHex32 = toHex32;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nexports.zero2 = zero2;\n\nfunction zero8(word) {\n if (word.length === 7)\n return '0' + word;\n else if (word.length === 6)\n return '00' + word;\n else if (word.length === 5)\n return '000' + word;\n else if (word.length === 4)\n return '0000' + word;\n else if (word.length === 3)\n return '00000' + word;\n else if (word.length === 2)\n return '000000' + word;\n else if (word.length === 1)\n return '0000000' + word;\n else\n return word;\n}\nexports.zero8 = zero8;\n\nfunction join32(msg, start, end, endian) {\n var len = end - start;\n assert(len % 4 === 0);\n var res = new Array(len / 4);\n for (var i = 0, k = start; i < res.length; i++, k += 4) {\n var w;\n if (endian === 'big')\n w = (msg[k] << 24) | (msg[k + 1] << 16) | (msg[k + 2] << 8) | msg[k + 3];\n else\n w = (msg[k + 3] << 24) | (msg[k + 2] << 16) | (msg[k + 1] << 8) | msg[k];\n res[i] = w >>> 0;\n }\n return res;\n}\nexports.join32 = join32;\n\nfunction split32(msg, endian) {\n var res = new Array(msg.length * 4);\n for (var i = 0, k = 0; i < msg.length; i++, k += 4) {\n var m = msg[i];\n if (endian === 'big') {\n res[k] = m >>> 24;\n res[k + 1] = (m >>> 16) & 0xff;\n res[k + 2] = (m >>> 8) & 0xff;\n res[k + 3] = m & 0xff;\n } else {\n res[k + 3] = m >>> 24;\n res[k + 2] = (m >>> 16) & 0xff;\n res[k + 1] = (m >>> 8) & 0xff;\n res[k] = m & 0xff;\n }\n }\n return res;\n}\nexports.split32 = split32;\n\nfunction rotr32(w, b) {\n return (w >>> b) | (w << (32 - b));\n}\nexports.rotr32 = rotr32;\n\nfunction rotl32(w, b) {\n return (w << b) | (w >>> (32 - b));\n}\nexports.rotl32 = rotl32;\n\nfunction sum32(a, b) {\n return (a + b) >>> 0;\n}\nexports.sum32 = sum32;\n\nfunction sum32_3(a, b, c) {\n return (a + b + c) >>> 0;\n}\nexports.sum32_3 = sum32_3;\n\nfunction sum32_4(a, b, c, d) {\n return (a + b + c + d) >>> 0;\n}\nexports.sum32_4 = sum32_4;\n\nfunction sum32_5(a, b, c, d, e) {\n return (a + b + c + d + e) >>> 0;\n}\nexports.sum32_5 = sum32_5;\n\nfunction sum64(buf, pos, ah, al) {\n var bh = buf[pos];\n var bl = buf[pos + 1];\n\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n buf[pos] = hi >>> 0;\n buf[pos + 1] = lo;\n}\nexports.sum64 = sum64;\n\nfunction sum64_hi(ah, al, bh, bl) {\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n return hi >>> 0;\n}\nexports.sum64_hi = sum64_hi;\n\nfunction sum64_lo(ah, al, bh, bl) {\n var lo = al + bl;\n return lo >>> 0;\n}\nexports.sum64_lo = sum64_lo;\n\nfunction sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n\n var hi = ah + bh + ch + dh + carry;\n return hi >>> 0;\n}\nexports.sum64_4_hi = sum64_4_hi;\n\nfunction sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) {\n var lo = al + bl + cl + dl;\n return lo >>> 0;\n}\nexports.sum64_4_lo = sum64_4_lo;\n\nfunction sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n lo = (lo + el) >>> 0;\n carry += lo < el ? 1 : 0;\n\n var hi = ah + bh + ch + dh + eh + carry;\n return hi >>> 0;\n}\nexports.sum64_5_hi = sum64_5_hi;\n\nfunction sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var lo = al + bl + cl + dl + el;\n\n return lo >>> 0;\n}\nexports.sum64_5_lo = sum64_5_lo;\n\nfunction rotr64_hi(ah, al, num) {\n var r = (al << (32 - num)) | (ah >>> num);\n return r >>> 0;\n}\nexports.rotr64_hi = rotr64_hi;\n\nfunction rotr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.rotr64_lo = rotr64_lo;\n\nfunction shr64_hi(ah, al, num) {\n return ah >>> num;\n}\nexports.shr64_hi = shr64_hi;\n\nfunction shr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.shr64_lo = shr64_lo;\n","'use strict';\n\nvar hash = require('hash.js');\nvar utils = require('minimalistic-crypto-utils');\nvar assert = require('minimalistic-assert');\n\nfunction HmacDRBG(options) {\n if (!(this instanceof HmacDRBG))\n return new HmacDRBG(options);\n this.hash = options.hash;\n this.predResist = !!options.predResist;\n\n this.outLen = this.hash.outSize;\n this.minEntropy = options.minEntropy || this.hash.hmacStrength;\n\n this._reseed = null;\n this.reseedInterval = null;\n this.K = null;\n this.V = null;\n\n var entropy = utils.toArray(options.entropy, options.entropyEnc || 'hex');\n var nonce = utils.toArray(options.nonce, options.nonceEnc || 'hex');\n var pers = utils.toArray(options.pers, options.persEnc || 'hex');\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n this._init(entropy, nonce, pers);\n}\nmodule.exports = HmacDRBG;\n\nHmacDRBG.prototype._init = function init(entropy, nonce, pers) {\n var seed = entropy.concat(nonce).concat(pers);\n\n this.K = new Array(this.outLen / 8);\n this.V = new Array(this.outLen / 8);\n for (var i = 0; i < this.V.length; i++) {\n this.K[i] = 0x00;\n this.V[i] = 0x01;\n }\n\n this._update(seed);\n this._reseed = 1;\n this.reseedInterval = 0x1000000000000; // 2^48\n};\n\nHmacDRBG.prototype._hmac = function hmac() {\n return new hash.hmac(this.hash, this.K);\n};\n\nHmacDRBG.prototype._update = function update(seed) {\n var kmac = this._hmac()\n .update(this.V)\n .update([ 0x00 ]);\n if (seed)\n kmac = kmac.update(seed);\n this.K = kmac.digest();\n this.V = this._hmac().update(this.V).digest();\n if (!seed)\n return;\n\n this.K = this._hmac()\n .update(this.V)\n .update([ 0x01 ])\n .update(seed)\n .digest();\n this.V = this._hmac().update(this.V).digest();\n};\n\nHmacDRBG.prototype.reseed = function reseed(entropy, entropyEnc, add, addEnc) {\n // Optional entropy enc\n if (typeof entropyEnc !== 'string') {\n addEnc = add;\n add = entropyEnc;\n entropyEnc = null;\n }\n\n entropy = utils.toArray(entropy, entropyEnc);\n add = utils.toArray(add, addEnc);\n\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n\n this._update(entropy.concat(add || []));\n this._reseed = 1;\n};\n\nHmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) {\n if (this._reseed > this.reseedInterval)\n throw new Error('Reseed is required');\n\n // Optional encoding\n if (typeof enc !== 'string') {\n addEnc = add;\n add = enc;\n enc = null;\n }\n\n // Optional additional data\n if (add) {\n add = utils.toArray(add, addEnc || 'hex');\n this._update(add);\n }\n\n var temp = [];\n while (temp.length < len) {\n this.V = this._hmac().update(this.V).digest();\n temp = temp.concat(this.V);\n }\n\n var res = temp.slice(0, len);\n this._update(add);\n this._reseed++;\n return utils.encode(res, enc);\n};\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","/*!\n\nJSZip v3.10.1 - A JavaScript class for generating and reading zip files\n<http://stuartk.com/jszip>\n\n(c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>\nDual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.\n\nJSZip uses the library pako released under the MIT license :\nhttps://github.com/nodeca/pako/blob/main/LICENSE\n*/\n\n!function(e){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=e();else if(\"function\"==typeof define&&define.amd)define([],e);else{(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).JSZip=e()}}(function(){return function s(a,o,h){function u(r,e){if(!o[r]){if(!a[r]){var t=\"function\"==typeof require&&require;if(!e&&t)return t(r,!0);if(l)return l(r,!0);var n=new Error(\"Cannot find module '\"+r+\"'\");throw n.code=\"MODULE_NOT_FOUND\",n}var i=o[r]={exports:{}};a[r][0].call(i.exports,function(e){var t=a[r][1][e];return u(t||e)},i,i.exports,s,a,o,h)}return o[r].exports}for(var l=\"function\"==typeof require&&require,e=0;e<h.length;e++)u(h[e]);return u}({1:[function(e,t,r){\"use strict\";var d=e(\"./utils\"),c=e(\"./support\"),p=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";r.encode=function(e){for(var t,r,n,i,s,a,o,h=[],u=0,l=e.length,f=l,c=\"string\"!==d.getTypeOf(e);u<e.length;)f=l-u,n=c?(t=e[u++],r=u<l?e[u++]:0,u<l?e[u++]:0):(t=e.charCodeAt(u++),r=u<l?e.charCodeAt(u++):0,u<l?e.charCodeAt(u++):0),i=t>>2,s=(3&t)<<4|r>>4,a=1<f?(15&r)<<2|n>>6:64,o=2<f?63&n:64,h.push(p.charAt(i)+p.charAt(s)+p.charAt(a)+p.charAt(o));return h.join(\"\")},r.decode=function(e){var t,r,n,i,s,a,o=0,h=0,u=\"data:\";if(e.substr(0,u.length)===u)throw new Error(\"Invalid base64 input, it looks like a data url.\");var l,f=3*(e=e.replace(/[^A-Za-z0-9+/=]/g,\"\")).length/4;if(e.charAt(e.length-1)===p.charAt(64)&&f--,e.charAt(e.length-2)===p.charAt(64)&&f--,f%1!=0)throw new Error(\"Invalid base64 input, bad content length.\");for(l=c.uint8array?new Uint8Array(0|f):new Array(0|f);o<e.length;)t=p.indexOf(e.charAt(o++))<<2|(i=p.indexOf(e.charAt(o++)))>>4,r=(15&i)<<4|(s=p.indexOf(e.charAt(o++)))>>2,n=(3&s)<<6|(a=p.indexOf(e.charAt(o++))),l[h++]=t,64!==s&&(l[h++]=r),64!==a&&(l[h++]=n);return l}},{\"./support\":30,\"./utils\":32}],2:[function(e,t,r){\"use strict\";var n=e(\"./external\"),i=e(\"./stream/DataWorker\"),s=e(\"./stream/Crc32Probe\"),a=e(\"./stream/DataLengthProbe\");function o(e,t,r,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=r,this.compression=n,this.compressedContent=i}o.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a(\"data_length\")),t=this;return e.on(\"end\",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error(\"Bug : uncompressed data size mismatch\")}),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo(\"compressedSize\",this.compressedSize).withStreamInfo(\"uncompressedSize\",this.uncompressedSize).withStreamInfo(\"crc32\",this.crc32).withStreamInfo(\"compression\",this.compression)}},o.createWorkerFrom=function(e,t,r){return e.pipe(new s).pipe(new a(\"uncompressedSize\")).pipe(t.compressWorker(r)).pipe(new a(\"compressedSize\")).withStreamInfo(\"compression\",t)},t.exports=o},{\"./external\":6,\"./stream/Crc32Probe\":25,\"./stream/DataLengthProbe\":26,\"./stream/DataWorker\":27}],3:[function(e,t,r){\"use strict\";var n=e(\"./stream/GenericWorker\");r.STORE={magic:\"\\0\\0\",compressWorker:function(){return new n(\"STORE compression\")},uncompressWorker:function(){return new n(\"STORE decompression\")}},r.DEFLATE=e(\"./flate\")},{\"./flate\":7,\"./stream/GenericWorker\":28}],4:[function(e,t,r){\"use strict\";var n=e(\"./utils\");var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?\"string\"!==n.getTypeOf(e)?function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return-1^e}(0|t,e,e.length,0):function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t.charCodeAt(a))];return-1^e}(0|t,e,e.length,0):0}},{\"./utils\":32}],5:[function(e,t,r){\"use strict\";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(e,t,r){\"use strict\";var n=null;n=\"undefined\"!=typeof Promise?Promise:e(\"lie\"),t.exports={Promise:n}},{lie:37}],7:[function(e,t,r){\"use strict\";var n=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Uint32Array,i=e(\"pako\"),s=e(\"./utils\"),a=e(\"./stream/GenericWorker\"),o=n?\"uint8array\":\"array\";function h(e,t){a.call(this,\"FlateWorker/\"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}r.magic=\"\\b\\0\",s.inherits(h,a),h.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,e.data),!1)},h.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},h.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null},h.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var t=this;this._pako.onData=function(e){t.push({data:e,meta:t.meta})}},r.compressWorker=function(e){return new h(\"Deflate\",e)},r.uncompressWorker=function(){return new h(\"Inflate\",{})}},{\"./stream/GenericWorker\":28,\"./utils\":32,pako:38}],8:[function(e,t,r){\"use strict\";function A(e,t){var r,n=\"\";for(r=0;r<t;r++)n+=String.fromCharCode(255&e),e>>>=8;return n}function n(e,t,r,n,i,s){var a,o,h=e.file,u=e.compression,l=s!==O.utf8encode,f=I.transformTo(\"string\",s(h.name)),c=I.transformTo(\"string\",O.utf8encode(h.name)),d=h.comment,p=I.transformTo(\"string\",s(d)),m=I.transformTo(\"string\",O.utf8encode(d)),_=c.length!==h.name.length,g=m.length!==d.length,b=\"\",v=\"\",y=\"\",w=h.dir,k=h.date,x={crc32:0,compressedSize:0,uncompressedSize:0};t&&!r||(x.crc32=e.crc32,x.compressedSize=e.compressedSize,x.uncompressedSize=e.uncompressedSize);var S=0;t&&(S|=8),l||!_&&!g||(S|=2048);var z=0,C=0;w&&(z|=16),\"UNIX\"===i?(C=798,z|=function(e,t){var r=e;return e||(r=t?16893:33204),(65535&r)<<16}(h.unixPermissions,w)):(C=20,z|=function(e){return 63&(e||0)}(h.dosPermissions)),a=k.getUTCHours(),a<<=6,a|=k.getUTCMinutes(),a<<=5,a|=k.getUTCSeconds()/2,o=k.getUTCFullYear()-1980,o<<=4,o|=k.getUTCMonth()+1,o<<=5,o|=k.getUTCDate(),_&&(v=A(1,1)+A(B(f),4)+c,b+=\"up\"+A(v.length,2)+v),g&&(y=A(1,1)+A(B(p),4)+m,b+=\"uc\"+A(y.length,2)+y);var E=\"\";return E+=\"\\n\\0\",E+=A(S,2),E+=u.magic,E+=A(a,2),E+=A(o,2),E+=A(x.crc32,4),E+=A(x.compressedSize,4),E+=A(x.uncompressedSize,4),E+=A(f.length,2),E+=A(b.length,2),{fileRecord:R.LOCAL_FILE_HEADER+E+f+b,dirRecord:R.CENTRAL_FILE_HEADER+A(C,2)+E+A(p.length,2)+\"\\0\\0\\0\\0\"+A(z,4)+A(n,4)+f+b+p}}var I=e(\"../utils\"),i=e(\"../stream/GenericWorker\"),O=e(\"../utf8\"),B=e(\"../crc32\"),R=e(\"../signature\");function s(e,t,r,n){i.call(this,\"ZipFileWorker\"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=r,this.encodeFileName=n,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}I.inherits(s,i),s.prototype.push=function(e){var t=e.meta.percent||0,r=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,i.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:r?(t+100*(r-n-1))/r:100}}))},s.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var r=n(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=!0},s.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,r=n(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),t)this.push({data:function(e){return R.DATA_DESCRIPTOR+A(e.crc32,4)+A(e.compressedSize,4)+A(e.uncompressedSize,4)}(e),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},s.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t<this.dirRecords.length;t++)this.push({data:this.dirRecords[t],meta:{percent:100}});var r=this.bytesWritten-e,n=function(e,t,r,n,i){var s=I.transformTo(\"string\",i(n));return R.CENTRAL_DIRECTORY_END+\"\\0\\0\\0\\0\"+A(e,2)+A(e,2)+A(t,4)+A(r,4)+A(s.length,2)+s}(this.dirRecords.length,r,e,this.zipComment,this.encodeFileName);this.push({data:n,meta:{percent:100}})},s.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},s.prototype.registerPrevious=function(e){this._sources.push(e);var t=this;return e.on(\"data\",function(e){t.processChunk(e)}),e.on(\"end\",function(){t.closedSource(t.previous.streamInfo),t._sources.length?t.prepareNextSource():t.end()}),e.on(\"error\",function(e){t.error(e)}),this},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},s.prototype.error=function(e){var t=this._sources;if(!i.prototype.error.call(this,e))return!1;for(var r=0;r<t.length;r++)try{t[r].error(e)}catch(e){}return!0},s.prototype.lock=function(){i.prototype.lock.call(this);for(var e=this._sources,t=0;t<e.length;t++)e[t].lock()},t.exports=s},{\"../crc32\":4,\"../signature\":23,\"../stream/GenericWorker\":28,\"../utf8\":31,\"../utils\":32}],9:[function(e,t,r){\"use strict\";var u=e(\"../compressions\"),n=e(\"./ZipFileWorker\");r.generateWorker=function(e,a,t){var o=new n(a.streamFiles,t,a.platform,a.encodeFileName),h=0;try{e.forEach(function(e,t){h++;var r=function(e,t){var r=e||t,n=u[r];if(!n)throw new Error(r+\" is not a valid compression method !\");return n}(t.options.compression,a.compression),n=t.options.compressionOptions||a.compressionOptions||{},i=t.dir,s=t.date;t._compressWorker(r,n).withStreamInfo(\"file\",{name:e,dir:i,date:s,comment:t.comment||\"\",unixPermissions:t.unixPermissions,dosPermissions:t.dosPermissions}).pipe(o)}),o.entriesCount=h}catch(e){o.error(e)}return o}},{\"../compressions\":3,\"./ZipFileWorker\":8}],10:[function(e,t,r){\"use strict\";function n(){if(!(this instanceof n))return new n;if(arguments.length)throw new Error(\"The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.\");this.files=Object.create(null),this.comment=null,this.root=\"\",this.clone=function(){var e=new n;for(var t in this)\"function\"!=typeof this[t]&&(e[t]=this[t]);return e}}(n.prototype=e(\"./object\")).loadAsync=e(\"./load\"),n.support=e(\"./support\"),n.defaults=e(\"./defaults\"),n.version=\"3.10.1\",n.loadAsync=function(e,t){return(new n).loadAsync(e,t)},n.external=e(\"./external\"),t.exports=n},{\"./defaults\":5,\"./external\":6,\"./load\":11,\"./object\":15,\"./support\":30}],11:[function(e,t,r){\"use strict\";var u=e(\"./utils\"),i=e(\"./external\"),n=e(\"./utf8\"),s=e(\"./zipEntries\"),a=e(\"./stream/Crc32Probe\"),l=e(\"./nodejsUtils\");function f(n){return new i.Promise(function(e,t){var r=n.decompressed.getContentWorker().pipe(new a);r.on(\"error\",function(e){t(e)}).on(\"end\",function(){r.streamInfo.crc32!==n.decompressed.crc32?t(new Error(\"Corrupted zip : CRC32 mismatch\")):e()}).resume()})}t.exports=function(e,o){var h=this;return o=u.extend(o||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:n.utf8decode}),l.isNode&&l.isStream(e)?i.Promise.reject(new Error(\"JSZip can't accept a stream when loading a zip file.\")):u.prepareContent(\"the loaded zip file\",e,!0,o.optimizedBinaryString,o.base64).then(function(e){var t=new s(o);return t.load(e),t}).then(function(e){var t=[i.Promise.resolve(e)],r=e.files;if(o.checkCRC32)for(var n=0;n<r.length;n++)t.push(f(r[n]));return i.Promise.all(t)}).then(function(e){for(var t=e.shift(),r=t.files,n=0;n<r.length;n++){var i=r[n],s=i.fileNameStr,a=u.resolve(i.fileNameStr);h.file(a,i.decompressed,{binary:!0,optimizedBinaryString:!0,date:i.date,dir:i.dir,comment:i.fileCommentStr.length?i.fileCommentStr:null,unixPermissions:i.unixPermissions,dosPermissions:i.dosPermissions,createFolders:o.createFolders}),i.dir||(h.file(a).unsafeOriginalName=s)}return t.zipComment.length&&(h.comment=t.zipComment),h})}},{\"./external\":6,\"./nodejsUtils\":14,\"./stream/Crc32Probe\":25,\"./utf8\":31,\"./utils\":32,\"./zipEntries\":33}],12:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"../stream/GenericWorker\");function s(e,t){i.call(this,\"Nodejs stream input adapter for \"+e),this._upstreamEnded=!1,this._bindStream(t)}n.inherits(s,i),s.prototype._bindStream=function(e){var t=this;(this._stream=e).pause(),e.on(\"data\",function(e){t.push({data:e,meta:{percent:0}})}).on(\"error\",function(e){t.isPaused?this.generatedError=e:t.error(e)}).on(\"end\",function(){t.isPaused?t._upstreamEnded=!0:t.end()})},s.prototype.pause=function(){return!!i.prototype.pause.call(this)&&(this._stream.pause(),!0)},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},t.exports=s},{\"../stream/GenericWorker\":28,\"../utils\":32}],13:[function(e,t,r){\"use strict\";var i=e(\"readable-stream\").Readable;function n(e,t,r){i.call(this,t),this._helper=e;var n=this;e.on(\"data\",function(e,t){n.push(e)||n._helper.pause(),r&&r(t)}).on(\"error\",function(e){n.emit(\"error\",e)}).on(\"end\",function(){n.push(null)})}e(\"../utils\").inherits(n,i),n.prototype._read=function(){this._helper.resume()},t.exports=n},{\"../utils\":32,\"readable-stream\":16}],14:[function(e,t,r){\"use strict\";t.exports={isNode:\"undefined\"!=typeof Buffer,newBufferFrom:function(e,t){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(e,t);if(\"number\"==typeof e)throw new Error('The \"data\" argument must not be a number');return new Buffer(e,t)},allocBuffer:function(e){if(Buffer.alloc)return Buffer.alloc(e);var t=new Buffer(e);return t.fill(0),t},isBuffer:function(e){return Buffer.isBuffer(e)},isStream:function(e){return e&&\"function\"==typeof e.on&&\"function\"==typeof e.pause&&\"function\"==typeof e.resume}}},{}],15:[function(e,t,r){\"use strict\";function s(e,t,r){var n,i=u.getTypeOf(t),s=u.extend(r||{},f);s.date=s.date||new Date,null!==s.compression&&(s.compression=s.compression.toUpperCase()),\"string\"==typeof s.unixPermissions&&(s.unixPermissions=parseInt(s.unixPermissions,8)),s.unixPermissions&&16384&s.unixPermissions&&(s.dir=!0),s.dosPermissions&&16&s.dosPermissions&&(s.dir=!0),s.dir&&(e=g(e)),s.createFolders&&(n=_(e))&&b.call(this,n,!0);var a=\"string\"===i&&!1===s.binary&&!1===s.base64;r&&void 0!==r.binary||(s.binary=!a),(t instanceof c&&0===t.uncompressedSize||s.dir||!t||0===t.length)&&(s.base64=!1,s.binary=!0,t=\"\",s.compression=\"STORE\",i=\"string\");var o=null;o=t instanceof c||t instanceof l?t:p.isNode&&p.isStream(t)?new m(e,t):u.prepareContent(e,t,s.binary,s.optimizedBinaryString,s.base64);var h=new d(e,o,s);this.files[e]=h}var i=e(\"./utf8\"),u=e(\"./utils\"),l=e(\"./stream/GenericWorker\"),a=e(\"./stream/StreamHelper\"),f=e(\"./defaults\"),c=e(\"./compressedObject\"),d=e(\"./zipObject\"),o=e(\"./generate\"),p=e(\"./nodejsUtils\"),m=e(\"./nodejs/NodejsStreamInputAdapter\"),_=function(e){\"/\"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf(\"/\");return 0<t?e.substring(0,t):\"\"},g=function(e){return\"/\"!==e.slice(-1)&&(e+=\"/\"),e},b=function(e,t){return t=void 0!==t?t:f.createFolders,e=g(e),this.files[e]||s.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function h(e){return\"[object RegExp]\"===Object.prototype.toString.call(e)}var n={load:function(){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},forEach:function(e){var t,r,n;for(t in this.files)n=this.files[t],(r=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(r,n)},filter:function(r){var n=[];return this.forEach(function(e,t){r(e,t)&&n.push(t)}),n},file:function(e,t,r){if(1!==arguments.length)return e=this.root+e,s.call(this,e,t,r),this;if(h(e)){var n=e;return this.filter(function(e,t){return!t.dir&&n.test(e)})}var i=this.files[this.root+e];return i&&!i.dir?i:null},folder:function(r){if(!r)return this;if(h(r))return this.filter(function(e,t){return t.dir&&r.test(e)});var e=this.root+r,t=b.call(this,e),n=this.clone();return n.root=t.name,n},remove:function(r){r=this.root+r;var e=this.files[r];if(e||(\"/\"!==r.slice(-1)&&(r+=\"/\"),e=this.files[r]),e&&!e.dir)delete this.files[r];else for(var t=this.filter(function(e,t){return t.name.slice(0,r.length)===r}),n=0;n<t.length;n++)delete this.files[t[n].name];return this},generate:function(){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},generateInternalStream:function(e){var t,r={};try{if((r=u.extend(e||{},{streamFiles:!1,compression:\"STORE\",compressionOptions:null,type:\"\",platform:\"DOS\",comment:null,mimeType:\"application/zip\",encodeFileName:i.utf8encode})).type=r.type.toLowerCase(),r.compression=r.compression.toUpperCase(),\"binarystring\"===r.type&&(r.type=\"string\"),!r.type)throw new Error(\"No output type specified.\");u.checkSupport(r.type),\"darwin\"!==r.platform&&\"freebsd\"!==r.platform&&\"linux\"!==r.platform&&\"sunos\"!==r.platform||(r.platform=\"UNIX\"),\"win32\"===r.platform&&(r.platform=\"DOS\");var n=r.comment||this.comment||\"\";t=o.generateWorker(this,r,n)}catch(e){(t=new l(\"error\")).error(e)}return new a(t,r.type||\"string\",r.mimeType)},generateAsync:function(e,t){return this.generateInternalStream(e).accumulate(t)},generateNodeStream:function(e,t){return(e=e||{}).type||(e.type=\"nodebuffer\"),this.generateInternalStream(e).toNodejsStream(t)}};t.exports=n},{\"./compressedObject\":2,\"./defaults\":5,\"./generate\":9,\"./nodejs/NodejsStreamInputAdapter\":12,\"./nodejsUtils\":14,\"./stream/GenericWorker\":28,\"./stream/StreamHelper\":29,\"./utf8\":31,\"./utils\":32,\"./zipObject\":35}],16:[function(e,t,r){\"use strict\";t.exports=e(\"stream\")},{stream:void 0}],17:[function(e,t,r){\"use strict\";var n=e(\"./DataReader\");function i(e){n.call(this,e);for(var t=0;t<this.data.length;t++)e[t]=255&e[t]}e(\"../utils\").inherits(i,n),i.prototype.byteAt=function(e){return this.data[this.zero+e]},i.prototype.lastIndexOfSignature=function(e){for(var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.length-4;0<=s;--s)if(this.data[s]===t&&this.data[s+1]===r&&this.data[s+2]===n&&this.data[s+3]===i)return s-this.zero;return-1},i.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.readData(4);return t===s[0]&&r===s[1]&&n===s[2]&&i===s[3]},i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return[];var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./DataReader\":18}],18:[function(e,t,r){\"use strict\";var n=e(\"../utils\");function i(e){this.data=e,this.length=e.length,this.index=0,this.zero=0}i.prototype={checkOffset:function(e){this.checkIndex(this.index+e)},checkIndex:function(e){if(this.length<this.zero+e||e<0)throw new Error(\"End of data reached (data length = \"+this.length+\", asked index = \"+e+\"). Corrupted zip ?\")},setIndex:function(e){this.checkIndex(e),this.index=e},skip:function(e){this.setIndex(this.index+e)},byteAt:function(){},readInt:function(e){var t,r=0;for(this.checkOffset(e),t=this.index+e-1;t>=this.index;t--)r=(r<<8)+this.byteAt(t);return this.index+=e,r},readString:function(e){return n.transformTo(\"string\",this.readData(e))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=i},{\"../utils\":32}],19:[function(e,t,r){\"use strict\";var n=e(\"./Uint8ArrayReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./Uint8ArrayReader\":21}],20:[function(e,t,r){\"use strict\";var n=e(\"./DataReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./DataReader\":18}],21:[function(e,t,r){\"use strict\";var n=e(\"./ArrayReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./ArrayReader\":17}],22:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"../support\"),s=e(\"./ArrayReader\"),a=e(\"./StringReader\"),o=e(\"./NodeBufferReader\"),h=e(\"./Uint8ArrayReader\");t.exports=function(e){var t=n.getTypeOf(e);return n.checkSupport(t),\"string\"!==t||i.uint8array?\"nodebuffer\"===t?new o(e):i.uint8array?new h(n.transformTo(\"uint8array\",e)):new s(n.transformTo(\"array\",e)):new a(e)}},{\"../support\":30,\"../utils\":32,\"./ArrayReader\":17,\"./NodeBufferReader\":19,\"./StringReader\":20,\"./Uint8ArrayReader\":21}],23:[function(e,t,r){\"use strict\";r.LOCAL_FILE_HEADER=\"PK\u0003\u0004\",r.CENTRAL_FILE_HEADER=\"PK\u0001\u0002\",r.CENTRAL_DIRECTORY_END=\"PK\u0005\u0006\",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR=\"PK\u0006\u0007\",r.ZIP64_CENTRAL_DIRECTORY_END=\"PK\u0006\u0006\",r.DATA_DESCRIPTOR=\"PK\u0007\\b\"},{}],24:[function(e,t,r){\"use strict\";var n=e(\"./GenericWorker\"),i=e(\"../utils\");function s(e){n.call(this,\"ConvertWorker to \"+e),this.destType=e}i.inherits(s,n),s.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta})},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],25:[function(e,t,r){\"use strict\";var n=e(\"./GenericWorker\"),i=e(\"../crc32\");function s(){n.call(this,\"Crc32Probe\"),this.withStreamInfo(\"crc32\",0)}e(\"../utils\").inherits(s,n),s.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e)},t.exports=s},{\"../crc32\":4,\"../utils\":32,\"./GenericWorker\":28}],26:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"./GenericWorker\");function s(e){i.call(this,\"DataLengthProbe for \"+e),this.propName=e,this.withStreamInfo(e,0)}n.inherits(s,i),s.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}i.prototype.processChunk.call(this,e)},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],27:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"./GenericWorker\");function s(e){i.call(this,\"DataWorker\");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type=\"\",this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=n.getTypeOf(e),t.isPaused||t._tickAndRepeat()},function(e){t.error(e)})}n.inherits(s,i),s.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case\"string\":e=this.data.substring(this.index,t);break;case\"uint8array\":e=this.data.subarray(this.index,t);break;case\"array\":case\"nodebuffer\":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],28:[function(e,t,r){\"use strict\";function n(e){this.name=e||\"default\",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}n.prototype={push:function(e){this.emit(\"data\",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit(\"end\"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit(\"error\",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit(\"error\",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var r=0;r<this._listeners[e].length;r++)this._listeners[e][r].call(this,t)},pipe:function(e){return e.registerPrevious(this)},registerPrevious:function(e){if(this.isLocked)throw new Error(\"The stream '\"+this+\"' has already been used.\");this.streamInfo=e.streamInfo,this.mergeStreamInfo(),this.previous=e;var t=this;return e.on(\"data\",function(e){t.processChunk(e)}),e.on(\"end\",function(){t.end()}),e.on(\"error\",function(e){t.error(e)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var e=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),e=!0),this.previous&&this.previous.resume(),!e},flush:function(){},processChunk:function(e){this.push(e)},withStreamInfo:function(e,t){return this.extraStreamInfo[e]=t,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var e in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,e)&&(this.streamInfo[e]=this.extraStreamInfo[e])},lock:function(){if(this.isLocked)throw new Error(\"The stream '\"+this+\"' has already been used.\");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var e=\"Worker \"+this.name;return this.previous?this.previous+\" -> \"+e:e}},t.exports=n},{}],29:[function(e,t,r){\"use strict\";var h=e(\"../utils\"),i=e(\"./ConvertWorker\"),s=e(\"./GenericWorker\"),u=e(\"../base64\"),n=e(\"../support\"),a=e(\"../external\"),o=null;if(n.nodestream)try{o=e(\"../nodejs/NodejsStreamOutputAdapter\")}catch(e){}function l(e,o){return new a.Promise(function(t,r){var n=[],i=e._internalType,s=e._outputType,a=e._mimeType;e.on(\"data\",function(e,t){n.push(e),o&&o(t)}).on(\"error\",function(e){n=[],r(e)}).on(\"end\",function(){try{var e=function(e,t,r){switch(e){case\"blob\":return h.newBlob(h.transformTo(\"arraybuffer\",t),r);case\"base64\":return u.encode(t);default:return h.transformTo(e,t)}}(s,function(e,t){var r,n=0,i=null,s=0;for(r=0;r<t.length;r++)s+=t[r].length;switch(e){case\"string\":return t.join(\"\");case\"array\":return Array.prototype.concat.apply([],t);case\"uint8array\":for(i=new Uint8Array(s),r=0;r<t.length;r++)i.set(t[r],n),n+=t[r].length;return i;case\"nodebuffer\":return Buffer.concat(t);default:throw new Error(\"concat : unsupported type '\"+e+\"'\")}}(i,n),a);t(e)}catch(e){r(e)}n=[]}).resume()})}function f(e,t,r){var n=t;switch(t){case\"blob\":case\"arraybuffer\":n=\"uint8array\";break;case\"base64\":n=\"string\"}try{this._internalType=n,this._outputType=t,this._mimeType=r,h.checkSupport(n),this._worker=e.pipe(new i(n)),e.lock()}catch(e){this._worker=new s(\"error\"),this._worker.error(e)}}f.prototype={accumulate:function(e){return l(this,e)},on:function(e,t){var r=this;return\"data\"===e?this._worker.on(e,function(e){t.call(r,e.data,e.meta)}):this._worker.on(e,function(){h.delay(t,arguments,r)}),this},resume:function(){return h.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(e){if(h.checkSupport(\"nodestream\"),\"nodebuffer\"!==this._outputType)throw new Error(this._outputType+\" is not supported by this method\");return new o(this,{objectMode:\"nodebuffer\"!==this._outputType},e)}},t.exports=f},{\"../base64\":1,\"../external\":6,\"../nodejs/NodejsStreamOutputAdapter\":13,\"../support\":30,\"../utils\":32,\"./ConvertWorker\":24,\"./GenericWorker\":28}],30:[function(e,t,r){\"use strict\";if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer=\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof Uint8Array,r.nodebuffer=\"undefined\"!=typeof Buffer,r.uint8array=\"undefined\"!=typeof Uint8Array,\"undefined\"==typeof ArrayBuffer)r.blob=!1;else{var n=new ArrayBuffer(0);try{r.blob=0===new Blob([n],{type:\"application/zip\"}).size}catch(e){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);i.append(n),r.blob=0===i.getBlob(\"application/zip\").size}catch(e){r.blob=!1}}}try{r.nodestream=!!e(\"readable-stream\").Readable}catch(e){r.nodestream=!1}},{\"readable-stream\":16}],31:[function(e,t,s){\"use strict\";for(var o=e(\"./utils\"),h=e(\"./support\"),r=e(\"./nodejsUtils\"),n=e(\"./stream/GenericWorker\"),u=new Array(256),i=0;i<256;i++)u[i]=252<=i?6:248<=i?5:240<=i?4:224<=i?3:192<=i?2:1;u[254]=u[254]=1;function a(){n.call(this,\"utf-8 decode\"),this.leftOver=null}function l(){n.call(this,\"utf-8 encode\")}s.utf8encode=function(e){return h.nodebuffer?r.newBufferFrom(e,\"utf-8\"):function(e){var t,r,n,i,s,a=e.length,o=0;for(i=0;i<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),o+=r<128?1:r<2048?2:r<65536?3:4;for(t=h.uint8array?new Uint8Array(o):new Array(o),i=s=0;s<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t}(e)},s.utf8decode=function(e){return h.nodebuffer?o.transformTo(\"nodebuffer\",e).toString(\"utf-8\"):function(e){var t,r,n,i,s=e.length,a=new Array(2*s);for(t=r=0;t<s;)if((n=e[t++])<128)a[r++]=n;else if(4<(i=u[n]))a[r++]=65533,t+=i-1;else{for(n&=2===i?31:3===i?15:7;1<i&&t<s;)n=n<<6|63&e[t++],i--;1<i?a[r++]=65533:n<65536?a[r++]=n:(n-=65536,a[r++]=55296|n>>10&1023,a[r++]=56320|1023&n)}return a.length!==r&&(a.subarray?a=a.subarray(0,r):a.length=r),o.applyFromCharCode(a)}(e=o.transformTo(h.uint8array?\"uint8array\":\"array\",e))},o.inherits(a,n),a.prototype.processChunk=function(e){var t=o.transformTo(h.uint8array?\"uint8array\":\"array\",e.data);if(this.leftOver&&this.leftOver.length){if(h.uint8array){var r=t;(t=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),t.set(r,this.leftOver.length)}else t=this.leftOver.concat(t);this.leftOver=null}var n=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}(t),i=t;n!==t.length&&(h.uint8array?(i=t.subarray(0,n),this.leftOver=t.subarray(n,t.length)):(i=t.slice(0,n),this.leftOver=t.slice(n,t.length))),this.push({data:s.utf8decode(i),meta:e.meta})},a.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},s.Utf8DecodeWorker=a,o.inherits(l,n),l.prototype.processChunk=function(e){this.push({data:s.utf8encode(e.data),meta:e.meta})},s.Utf8EncodeWorker=l},{\"./nodejsUtils\":14,\"./stream/GenericWorker\":28,\"./support\":30,\"./utils\":32}],32:[function(e,t,a){\"use strict\";var o=e(\"./support\"),h=e(\"./base64\"),r=e(\"./nodejsUtils\"),u=e(\"./external\");function n(e){return e}function l(e,t){for(var r=0;r<e.length;++r)t[r]=255&e.charCodeAt(r);return t}e(\"setimmediate\"),a.newBlob=function(t,r){a.checkSupport(\"blob\");try{return new Blob([t],{type:r})}catch(e){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return n.append(t),n.getBlob(r)}catch(e){throw new Error(\"Bug : can't construct the Blob.\")}}};var i={stringifyByChunk:function(e,t,r){var n=[],i=0,s=e.length;if(s<=r)return String.fromCharCode.apply(null,e);for(;i<s;)\"array\"===t||\"nodebuffer\"===t?n.push(String.fromCharCode.apply(null,e.slice(i,Math.min(i+r,s)))):n.push(String.fromCharCode.apply(null,e.subarray(i,Math.min(i+r,s)))),i+=r;return n.join(\"\")},stringifyByChar:function(e){for(var t=\"\",r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},applyCanBeUsed:{uint8array:function(){try{return o.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(e){return!1}}(),nodebuffer:function(){try{return o.nodebuffer&&1===String.fromCharCode.apply(null,r.allocBuffer(1)).length}catch(e){return!1}}()}};function s(e){var t=65536,r=a.getTypeOf(e),n=!0;if(\"uint8array\"===r?n=i.applyCanBeUsed.uint8array:\"nodebuffer\"===r&&(n=i.applyCanBeUsed.nodebuffer),n)for(;1<t;)try{return i.stringifyByChunk(e,r,t)}catch(e){t=Math.floor(t/2)}return i.stringifyByChar(e)}function f(e,t){for(var r=0;r<e.length;r++)t[r]=e[r];return t}a.applyFromCharCode=s;var c={};c.string={string:n,array:function(e){return l(e,new Array(e.length))},arraybuffer:function(e){return c.string.uint8array(e).buffer},uint8array:function(e){return l(e,new Uint8Array(e.length))},nodebuffer:function(e){return l(e,r.allocBuffer(e.length))}},c.array={string:s,array:n,arraybuffer:function(e){return new Uint8Array(e).buffer},uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(e)}},c.arraybuffer={string:function(e){return s(new Uint8Array(e))},array:function(e){return f(new Uint8Array(e),new Array(e.byteLength))},arraybuffer:n,uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(new Uint8Array(e))}},c.uint8array={string:s,array:function(e){return f(e,new Array(e.length))},arraybuffer:function(e){return e.buffer},uint8array:n,nodebuffer:function(e){return r.newBufferFrom(e)}},c.nodebuffer={string:s,array:function(e){return f(e,new Array(e.length))},arraybuffer:function(e){return c.nodebuffer.uint8array(e).buffer},uint8array:function(e){return f(e,new Uint8Array(e.length))},nodebuffer:n},a.transformTo=function(e,t){if(t=t||\"\",!e)return t;a.checkSupport(e);var r=a.getTypeOf(t);return c[r][e](t)},a.resolve=function(e){for(var t=e.split(\"/\"),r=[],n=0;n<t.length;n++){var i=t[n];\".\"===i||\"\"===i&&0!==n&&n!==t.length-1||(\"..\"===i?r.pop():r.push(i))}return r.join(\"/\")},a.getTypeOf=function(e){return\"string\"==typeof e?\"string\":\"[object Array]\"===Object.prototype.toString.call(e)?\"array\":o.nodebuffer&&r.isBuffer(e)?\"nodebuffer\":o.uint8array&&e instanceof Uint8Array?\"uint8array\":o.arraybuffer&&e instanceof ArrayBuffer?\"arraybuffer\":void 0},a.checkSupport=function(e){if(!o[e.toLowerCase()])throw new Error(e+\" is not supported by this platform\")},a.MAX_VALUE_16BITS=65535,a.MAX_VALUE_32BITS=-1,a.pretty=function(e){var t,r,n=\"\";for(r=0;r<(e||\"\").length;r++)n+=\"\\\\x\"+((t=e.charCodeAt(r))<16?\"0\":\"\")+t.toString(16).toUpperCase();return n},a.delay=function(e,t,r){setImmediate(function(){e.apply(r||null,t||[])})},a.inherits=function(e,t){function r(){}r.prototype=t.prototype,e.prototype=new r},a.extend=function(){var e,t,r={};for(e=0;e<arguments.length;e++)for(t in arguments[e])Object.prototype.hasOwnProperty.call(arguments[e],t)&&void 0===r[t]&&(r[t]=arguments[e][t]);return r},a.prepareContent=function(r,e,n,i,s){return u.Promise.resolve(e).then(function(n){return o.blob&&(n instanceof Blob||-1!==[\"[object File]\",\"[object Blob]\"].indexOf(Object.prototype.toString.call(n)))&&\"undefined\"!=typeof FileReader?new u.Promise(function(t,r){var e=new FileReader;e.onload=function(e){t(e.target.result)},e.onerror=function(e){r(e.target.error)},e.readAsArrayBuffer(n)}):n}).then(function(e){var t=a.getTypeOf(e);return t?(\"arraybuffer\"===t?e=a.transformTo(\"uint8array\",e):\"string\"===t&&(s?e=h.decode(e):n&&!0!==i&&(e=function(e){return l(e,o.uint8array?new Uint8Array(e.length):new Array(e.length))}(e))),e):u.Promise.reject(new Error(\"Can't read the data of '\"+r+\"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?\"))})}},{\"./base64\":1,\"./external\":6,\"./nodejsUtils\":14,\"./support\":30,setimmediate:54}],33:[function(e,t,r){\"use strict\";var n=e(\"./reader/readerFor\"),i=e(\"./utils\"),s=e(\"./signature\"),a=e(\"./zipEntry\"),o=e(\"./support\");function h(e){this.files=[],this.loadOptions=e}h.prototype={checkSignature:function(e){if(!this.reader.readAndCheckSignature(e)){this.reader.index-=4;var t=this.reader.readString(4);throw new Error(\"Corrupted zip or bug: unexpected signature (\"+i.pretty(t)+\", expected \"+i.pretty(e)+\")\")}},isSignature:function(e,t){var r=this.reader.index;this.reader.setIndex(e);var n=this.reader.readString(4)===t;return this.reader.setIndex(r),n},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var e=this.reader.readData(this.zipCommentLength),t=o.uint8array?\"uint8array\":\"array\",r=i.transformTo(t,e);this.zipComment=this.loadOptions.decodeFileName(r)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var e,t,r,n=this.zip64EndOfCentralSize-44;0<n;)e=this.reader.readInt(2),t=this.reader.readInt(4),r=this.reader.readData(t),this.zip64ExtensibleData[e]={id:e,length:t,value:r}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error(\"Multi-volumes zip are not supported\")},readLocalFiles:function(){var e,t;for(e=0;e<this.files.length;e++)t=this.files[e],this.reader.setIndex(t.localHeaderOffset),this.checkSignature(s.LOCAL_FILE_HEADER),t.readLocalPart(this.reader),t.handleUTF8(),t.processAttributes()},readCentralDir:function(){var e;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER);)(e=new a({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(e);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error(\"Corrupted zip or bug: expected \"+this.centralDirRecords+\" records in central dir, got \"+this.files.length)},readEndOfCentral:function(){var e=this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END);if(e<0)throw!this.isSignature(0,s.LOCAL_FILE_HEADER)?new Error(\"Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html\"):new Error(\"Corrupted zip: can't find end of central directory\");this.reader.setIndex(e);var t=e;if(this.checkSignature(s.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===i.MAX_VALUE_16BITS||this.diskWithCentralDirStart===i.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===i.MAX_VALUE_16BITS||this.centralDirRecords===i.MAX_VALUE_16BITS||this.centralDirSize===i.MAX_VALUE_32BITS||this.centralDirOffset===i.MAX_VALUE_32BITS){if(this.zip64=!0,(e=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error(\"Corrupted zip: can't find the ZIP64 end of central directory locator\");if(this.reader.setIndex(e),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,s.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error(\"Corrupted zip: can't find the ZIP64 end of central directory\");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var r=this.centralDirOffset+this.centralDirSize;this.zip64&&(r+=20,r+=12+this.zip64EndOfCentralSize);var n=t-r;if(0<n)this.isSignature(t,s.CENTRAL_FILE_HEADER)||(this.reader.zero=n);else if(n<0)throw new Error(\"Corrupted zip: missing \"+Math.abs(n)+\" bytes.\")},prepareReader:function(e){this.reader=n(e)},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},t.exports=h},{\"./reader/readerFor\":22,\"./signature\":23,\"./support\":30,\"./utils\":32,\"./zipEntry\":34}],34:[function(e,t,r){\"use strict\";var n=e(\"./reader/readerFor\"),s=e(\"./utils\"),i=e(\"./compressedObject\"),a=e(\"./crc32\"),o=e(\"./utf8\"),h=e(\"./compressions\"),u=e(\"./support\");function l(e,t){this.options=e,this.loadOptions=t}l.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(e){var t,r;if(e.skip(22),this.fileNameLength=e.readInt(2),r=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(r),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error(\"Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)\");if(null===(t=function(e){for(var t in h)if(Object.prototype.hasOwnProperty.call(h,t)&&h[t].magic===e)return h[t];return null}(this.compressionMethod)))throw new Error(\"Corrupted zip : compression \"+s.pretty(this.compressionMethod)+\" unknown (inner file : \"+s.transformTo(\"string\",this.fileName)+\")\");this.decompressed=new i(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize))},readCentralPart:function(e){this.versionMadeBy=e.readInt(2),e.skip(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4);var t=e.readInt(2);if(this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw new Error(\"Encrypted zip are not supported\");e.skip(t),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var e=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==e&&(this.dosPermissions=63&this.externalFileAttributes),3==e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||\"/\"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var e=n(this.extraFields[1].value);this.uncompressedSize===s.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(e){var t,r,n,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4<i;)t=e.readInt(2),r=e.readInt(2),n=e.readData(r),this.extraFields[t]={id:t,length:r,value:n};e.setIndex(i)},handleUTF8:function(){var e=u.uint8array?\"uint8array\":\"array\";if(this.useUTF8())this.fileNameStr=o.utf8decode(this.fileName),this.fileCommentStr=o.utf8decode(this.fileComment);else{var t=this.findExtraFieldUnicodePath();if(null!==t)this.fileNameStr=t;else{var r=s.transformTo(e,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(r)}var n=this.findExtraFieldUnicodeComment();if(null!==n)this.fileCommentStr=n;else{var i=s.transformTo(e,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(i)}}},findExtraFieldUnicodePath:function(){var e=this.extraFields[28789];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:a(this.fileName)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null},findExtraFieldUnicodeComment:function(){var e=this.extraFields[25461];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:a(this.fileComment)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null}},t.exports=l},{\"./compressedObject\":2,\"./compressions\":3,\"./crc32\":4,\"./reader/readerFor\":22,\"./support\":30,\"./utf8\":31,\"./utils\":32}],35:[function(e,t,r){\"use strict\";function n(e,t,r){this.name=e,this.dir=r.dir,this.date=r.date,this.comment=r.comment,this.unixPermissions=r.unixPermissions,this.dosPermissions=r.dosPermissions,this._data=t,this._dataBinary=r.binary,this.options={compression:r.compression,compressionOptions:r.compressionOptions}}var s=e(\"./stream/StreamHelper\"),i=e(\"./stream/DataWorker\"),a=e(\"./utf8\"),o=e(\"./compressedObject\"),h=e(\"./stream/GenericWorker\");n.prototype={internalStream:function(e){var t=null,r=\"string\";try{if(!e)throw new Error(\"No output type specified.\");var n=\"string\"===(r=e.toLowerCase())||\"text\"===r;\"binarystring\"!==r&&\"text\"!==r||(r=\"string\"),t=this._decompressWorker();var i=!this._dataBinary;i&&!n&&(t=t.pipe(new a.Utf8EncodeWorker)),!i&&n&&(t=t.pipe(new a.Utf8DecodeWorker))}catch(e){(t=new h(\"error\")).error(e)}return new s(t,r,\"\")},async:function(e,t){return this.internalStream(e).accumulate(t)},nodeStream:function(e,t){return this.internalStream(e||\"nodebuffer\").toNodejsStream(t)},_compressWorker:function(e,t){if(this._data instanceof o&&this._data.compression.magic===e.magic)return this._data.getCompressedWorker();var r=this._decompressWorker();return this._dataBinary||(r=r.pipe(new a.Utf8EncodeWorker)),o.createWorkerFrom(r,e,t)},_decompressWorker:function(){return this._data instanceof o?this._data.getContentWorker():this._data instanceof h?this._data:new i(this._data)}};for(var u=[\"asText\",\"asBinary\",\"asNodeBuffer\",\"asUint8Array\",\"asArrayBuffer\"],l=function(){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},f=0;f<u.length;f++)n.prototype[u[f]]=l;t.exports=n},{\"./compressedObject\":2,\"./stream/DataWorker\":27,\"./stream/GenericWorker\":28,\"./stream/StreamHelper\":29,\"./utf8\":31}],36:[function(e,l,t){(function(t){\"use strict\";var r,n,e=t.MutationObserver||t.WebKitMutationObserver;if(e){var i=0,s=new e(u),a=t.document.createTextNode(\"\");s.observe(a,{characterData:!0}),r=function(){a.data=i=++i%2}}else if(t.setImmediate||void 0===t.MessageChannel)r=\"document\"in t&&\"onreadystatechange\"in t.document.createElement(\"script\")?function(){var e=t.document.createElement(\"script\");e.onreadystatechange=function(){u(),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null},t.document.documentElement.appendChild(e)}:function(){setTimeout(u,0)};else{var o=new t.MessageChannel;o.port1.onmessage=u,r=function(){o.port2.postMessage(0)}}var h=[];function u(){var e,t;n=!0;for(var r=h.length;r;){for(t=h,h=[],e=-1;++e<r;)t[e]();r=h.length}n=!1}l.exports=function(e){1!==h.push(e)||n||r()}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],37:[function(e,t,r){\"use strict\";var i=e(\"immediate\");function u(){}var l={},s=[\"REJECTED\"],a=[\"FULFILLED\"],n=[\"PENDING\"];function o(e){if(\"function\"!=typeof e)throw new TypeError(\"resolver must be a function\");this.state=n,this.queue=[],this.outcome=void 0,e!==u&&d(this,e)}function h(e,t,r){this.promise=e,\"function\"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),\"function\"==typeof r&&(this.onRejected=r,this.callRejected=this.otherCallRejected)}function f(t,r,n){i(function(){var e;try{e=r(n)}catch(e){return l.reject(t,e)}e===t?l.reject(t,new TypeError(\"Cannot resolve promise with itself\")):l.resolve(t,e)})}function c(e){var t=e&&e.then;if(e&&(\"object\"==typeof e||\"function\"==typeof e)&&\"function\"==typeof t)return function(){t.apply(e,arguments)}}function d(t,e){var r=!1;function n(e){r||(r=!0,l.reject(t,e))}function i(e){r||(r=!0,l.resolve(t,e))}var s=p(function(){e(i,n)});\"error\"===s.status&&n(s.value)}function p(e,t){var r={};try{r.value=e(t),r.status=\"success\"}catch(e){r.status=\"error\",r.value=e}return r}(t.exports=o).prototype.finally=function(t){if(\"function\"!=typeof t)return this;var r=this.constructor;return this.then(function(e){return r.resolve(t()).then(function(){return e})},function(e){return r.resolve(t()).then(function(){throw e})})},o.prototype.catch=function(e){return this.then(null,e)},o.prototype.then=function(e,t){if(\"function\"!=typeof e&&this.state===a||\"function\"!=typeof t&&this.state===s)return this;var r=new this.constructor(u);this.state!==n?f(r,this.state===a?e:t,this.outcome):this.queue.push(new h(r,e,t));return r},h.prototype.callFulfilled=function(e){l.resolve(this.promise,e)},h.prototype.otherCallFulfilled=function(e){f(this.promise,this.onFulfilled,e)},h.prototype.callRejected=function(e){l.reject(this.promise,e)},h.prototype.otherCallRejected=function(e){f(this.promise,this.onRejected,e)},l.resolve=function(e,t){var r=p(c,t);if(\"error\"===r.status)return l.reject(e,r.value);var n=r.value;if(n)d(e,n);else{e.state=a,e.outcome=t;for(var i=-1,s=e.queue.length;++i<s;)e.queue[i].callFulfilled(t)}return e},l.reject=function(e,t){e.state=s,e.outcome=t;for(var r=-1,n=e.queue.length;++r<n;)e.queue[r].callRejected(t);return e},o.resolve=function(e){if(e instanceof this)return e;return l.resolve(new this(u),e)},o.reject=function(e){var t=new this(u);return l.reject(t,e)},o.all=function(e){var r=this;if(\"[object Array]\"!==Object.prototype.toString.call(e))return this.reject(new TypeError(\"must be an array\"));var n=e.length,i=!1;if(!n)return this.resolve([]);var s=new Array(n),a=0,t=-1,o=new this(u);for(;++t<n;)h(e[t],t);return o;function h(e,t){r.resolve(e).then(function(e){s[t]=e,++a!==n||i||(i=!0,l.resolve(o,s))},function(e){i||(i=!0,l.reject(o,e))})}},o.race=function(e){var t=this;if(\"[object Array]\"!==Object.prototype.toString.call(e))return this.reject(new TypeError(\"must be an array\"));var r=e.length,n=!1;if(!r)return this.resolve([]);var i=-1,s=new this(u);for(;++i<r;)a=e[i],t.resolve(a).then(function(e){n||(n=!0,l.resolve(s,e))},function(e){n||(n=!0,l.reject(s,e))});var a;return s}},{immediate:36}],38:[function(e,t,r){\"use strict\";var n={};(0,e(\"./lib/utils/common\").assign)(n,e(\"./lib/deflate\"),e(\"./lib/inflate\"),e(\"./lib/zlib/constants\")),t.exports=n},{\"./lib/deflate\":39,\"./lib/inflate\":40,\"./lib/utils/common\":41,\"./lib/zlib/constants\":44}],39:[function(e,t,r){\"use strict\";var a=e(\"./zlib/deflate\"),o=e(\"./utils/common\"),h=e(\"./utils/strings\"),i=e(\"./zlib/messages\"),s=e(\"./zlib/zstream\"),u=Object.prototype.toString,l=0,f=-1,c=0,d=8;function p(e){if(!(this instanceof p))return new p(e);this.options=o.assign({level:f,method:d,chunkSize:16384,windowBits:15,memLevel:8,strategy:c,to:\"\"},e||{});var t=this.options;t.raw&&0<t.windowBits?t.windowBits=-t.windowBits:t.gzip&&0<t.windowBits&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new s,this.strm.avail_out=0;var r=a.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(r!==l)throw new Error(i[r]);if(t.header&&a.deflateSetHeader(this.strm,t.header),t.dictionary){var n;if(n=\"string\"==typeof t.dictionary?h.string2buf(t.dictionary):\"[object ArrayBuffer]\"===u.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(r=a.deflateSetDictionary(this.strm,n))!==l)throw new Error(i[r]);this._dict_set=!0}}function n(e,t){var r=new p(t);if(r.push(e,!0),r.err)throw r.msg||i[r.err];return r.result}p.prototype.push=function(e,t){var r,n,i=this.strm,s=this.options.chunkSize;if(this.ended)return!1;n=t===~~t?t:!0===t?4:0,\"string\"==typeof e?i.input=h.string2buf(e):\"[object ArrayBuffer]\"===u.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;do{if(0===i.avail_out&&(i.output=new o.Buf8(s),i.next_out=0,i.avail_out=s),1!==(r=a.deflate(i,n))&&r!==l)return this.onEnd(r),!(this.ended=!0);0!==i.avail_out&&(0!==i.avail_in||4!==n&&2!==n)||(\"string\"===this.options.to?this.onData(h.buf2binstring(o.shrinkBuf(i.output,i.next_out))):this.onData(o.shrinkBuf(i.output,i.next_out)))}while((0<i.avail_in||0===i.avail_out)&&1!==r);return 4===n?(r=a.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===l):2!==n||(this.onEnd(l),!(i.avail_out=0))},p.prototype.onData=function(e){this.chunks.push(e)},p.prototype.onEnd=function(e){e===l&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Deflate=p,r.deflate=n,r.deflateRaw=function(e,t){return(t=t||{}).raw=!0,n(e,t)},r.gzip=function(e,t){return(t=t||{}).gzip=!0,n(e,t)}},{\"./utils/common\":41,\"./utils/strings\":42,\"./zlib/deflate\":46,\"./zlib/messages\":51,\"./zlib/zstream\":53}],40:[function(e,t,r){\"use strict\";var c=e(\"./zlib/inflate\"),d=e(\"./utils/common\"),p=e(\"./utils/strings\"),m=e(\"./zlib/constants\"),n=e(\"./zlib/messages\"),i=e(\"./zlib/zstream\"),s=e(\"./zlib/gzheader\"),_=Object.prototype.toString;function a(e){if(!(this instanceof a))return new a(e);this.options=d.assign({chunkSize:16384,windowBits:0,to:\"\"},e||{});var t=this.options;t.raw&&0<=t.windowBits&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(0<=t.windowBits&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),15<t.windowBits&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new i,this.strm.avail_out=0;var r=c.inflateInit2(this.strm,t.windowBits);if(r!==m.Z_OK)throw new Error(n[r]);this.header=new s,c.inflateGetHeader(this.strm,this.header)}function o(e,t){var r=new a(t);if(r.push(e,!0),r.err)throw r.msg||n[r.err];return r.result}a.prototype.push=function(e,t){var r,n,i,s,a,o,h=this.strm,u=this.options.chunkSize,l=this.options.dictionary,f=!1;if(this.ended)return!1;n=t===~~t?t:!0===t?m.Z_FINISH:m.Z_NO_FLUSH,\"string\"==typeof e?h.input=p.binstring2buf(e):\"[object ArrayBuffer]\"===_.call(e)?h.input=new Uint8Array(e):h.input=e,h.next_in=0,h.avail_in=h.input.length;do{if(0===h.avail_out&&(h.output=new d.Buf8(u),h.next_out=0,h.avail_out=u),(r=c.inflate(h,m.Z_NO_FLUSH))===m.Z_NEED_DICT&&l&&(o=\"string\"==typeof l?p.string2buf(l):\"[object ArrayBuffer]\"===_.call(l)?new Uint8Array(l):l,r=c.inflateSetDictionary(this.strm,o)),r===m.Z_BUF_ERROR&&!0===f&&(r=m.Z_OK,f=!1),r!==m.Z_STREAM_END&&r!==m.Z_OK)return this.onEnd(r),!(this.ended=!0);h.next_out&&(0!==h.avail_out&&r!==m.Z_STREAM_END&&(0!==h.avail_in||n!==m.Z_FINISH&&n!==m.Z_SYNC_FLUSH)||(\"string\"===this.options.to?(i=p.utf8border(h.output,h.next_out),s=h.next_out-i,a=p.buf2string(h.output,i),h.next_out=s,h.avail_out=u-s,s&&d.arraySet(h.output,h.output,i,s,0),this.onData(a)):this.onData(d.shrinkBuf(h.output,h.next_out)))),0===h.avail_in&&0===h.avail_out&&(f=!0)}while((0<h.avail_in||0===h.avail_out)&&r!==m.Z_STREAM_END);return r===m.Z_STREAM_END&&(n=m.Z_FINISH),n===m.Z_FINISH?(r=c.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===m.Z_OK):n!==m.Z_SYNC_FLUSH||(this.onEnd(m.Z_OK),!(h.avail_out=0))},a.prototype.onData=function(e){this.chunks.push(e)},a.prototype.onEnd=function(e){e===m.Z_OK&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=d.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Inflate=a,r.inflate=o,r.inflateRaw=function(e,t){return(t=t||{}).raw=!0,o(e,t)},r.ungzip=o},{\"./utils/common\":41,\"./utils/strings\":42,\"./zlib/constants\":44,\"./zlib/gzheader\":47,\"./zlib/inflate\":49,\"./zlib/messages\":51,\"./zlib/zstream\":53}],41:[function(e,t,r){\"use strict\";var n=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Int32Array;r.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if(\"object\"!=typeof r)throw new TypeError(r+\"must be non-object\");for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n])}}return e},r.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var i={arraySet:function(e,t,r,n,i){if(t.subarray&&e.subarray)e.set(t.subarray(r,r+n),i);else for(var s=0;s<n;s++)e[i+s]=t[r+s]},flattenChunks:function(e){var t,r,n,i,s,a;for(t=n=0,r=e.length;t<r;t++)n+=e[t].length;for(a=new Uint8Array(n),t=i=0,r=e.length;t<r;t++)s=e[t],a.set(s,i),i+=s.length;return a}},s={arraySet:function(e,t,r,n,i){for(var s=0;s<n;s++)e[i+s]=t[r+s]},flattenChunks:function(e){return[].concat.apply([],e)}};r.setTyped=function(e){e?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,i)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,s))},r.setTyped(n)},{}],42:[function(e,t,r){\"use strict\";var h=e(\"./common\"),i=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(e){i=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){s=!1}for(var u=new h.Buf8(256),n=0;n<256;n++)u[n]=252<=n?6:248<=n?5:240<=n?4:224<=n?3:192<=n?2:1;function l(e,t){if(t<65537&&(e.subarray&&s||!e.subarray&&i))return String.fromCharCode.apply(null,h.shrinkBuf(e,t));for(var r=\"\",n=0;n<t;n++)r+=String.fromCharCode(e[n]);return r}u[254]=u[254]=1,r.string2buf=function(e){var t,r,n,i,s,a=e.length,o=0;for(i=0;i<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),o+=r<128?1:r<2048?2:r<65536?3:4;for(t=new h.Buf8(o),i=s=0;s<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t},r.buf2binstring=function(e){return l(e,e.length)},r.binstring2buf=function(e){for(var t=new h.Buf8(e.length),r=0,n=t.length;r<n;r++)t[r]=e.charCodeAt(r);return t},r.buf2string=function(e,t){var r,n,i,s,a=t||e.length,o=new Array(2*a);for(r=n=0;r<a;)if((i=e[r++])<128)o[n++]=i;else if(4<(s=u[i]))o[n++]=65533,r+=s-1;else{for(i&=2===s?31:3===s?15:7;1<s&&r<a;)i=i<<6|63&e[r++],s--;1<s?o[n++]=65533:i<65536?o[n++]=i:(i-=65536,o[n++]=55296|i>>10&1023,o[n++]=56320|1023&i)}return l(o,n)},r.utf8border=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}},{\"./common\":41}],43:[function(e,t,r){\"use strict\";t.exports=function(e,t,r,n){for(var i=65535&e|0,s=e>>>16&65535|0,a=0;0!==r;){for(r-=a=2e3<r?2e3:r;s=s+(i=i+t[n++]|0)|0,--a;);i%=65521,s%=65521}return i|s<<16|0}},{}],44:[function(e,t,r){\"use strict\";t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(e,t,r){\"use strict\";var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return-1^e}},{}],46:[function(e,t,r){\"use strict\";var h,c=e(\"../utils/common\"),u=e(\"./trees\"),d=e(\"./adler32\"),p=e(\"./crc32\"),n=e(\"./messages\"),l=0,f=4,m=0,_=-2,g=-1,b=4,i=2,v=8,y=9,s=286,a=30,o=19,w=2*s+1,k=15,x=3,S=258,z=S+x+1,C=42,E=113,A=1,I=2,O=3,B=4;function R(e,t){return e.msg=n[t],t}function T(e){return(e<<1)-(4<e?9:0)}function D(e){for(var t=e.length;0<=--t;)e[t]=0}function F(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(c.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function N(e,t){u._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,F(e.strm)}function U(e,t){e.pending_buf[e.pending++]=t}function P(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function L(e,t){var r,n,i=e.max_chain_length,s=e.strstart,a=e.prev_length,o=e.nice_match,h=e.strstart>e.w_size-z?e.strstart-(e.w_size-z):0,u=e.window,l=e.w_mask,f=e.prev,c=e.strstart+S,d=u[s+a-1],p=u[s+a];e.prev_length>=e.good_match&&(i>>=2),o>e.lookahead&&(o=e.lookahead);do{if(u[(r=t)+a]===p&&u[r+a-1]===d&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do{}while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&s<c);if(n=S-(c-s),s=c-S,a<n){if(e.match_start=t,o<=(a=n))break;d=u[s+a-1],p=u[s+a]}}}while((t=f[t&l])>h&&0!=--i);return a<=e.lookahead?a:e.lookahead}function j(e){var t,r,n,i,s,a,o,h,u,l,f=e.w_size;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=f+(f-z)){for(c.arraySet(e.window,e.window,f,f,0),e.match_start-=f,e.strstart-=f,e.block_start-=f,t=r=e.hash_size;n=e.head[--t],e.head[t]=f<=n?n-f:0,--r;);for(t=r=f;n=e.prev[--t],e.prev[t]=f<=n?n-f:0,--r;);i+=f}if(0===e.strm.avail_in)break;if(a=e.strm,o=e.window,h=e.strstart+e.lookahead,u=i,l=void 0,l=a.avail_in,u<l&&(l=u),r=0===l?0:(a.avail_in-=l,c.arraySet(o,a.input,a.next_in,l,h),1===a.state.wrap?a.adler=d(a.adler,o,l,h):2===a.state.wrap&&(a.adler=p(a.adler,o,l,h)),a.next_in+=l,a.total_in+=l,l),e.lookahead+=r,e.lookahead+e.insert>=x)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+x-1])&e.hash_mask,e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<x)););}while(e.lookahead<z&&0!==e.strm.avail_in)}function Z(e,t){for(var r,n;;){if(e.lookahead<z){if(j(e),e.lookahead<z&&t===l)return A;if(0===e.lookahead)break}if(r=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==r&&e.strstart-r<=e.w_size-z&&(e.match_length=L(e,r)),e.match_length>=x)if(n=u._tr_tally(e,e.strstart-e.match_start,e.match_length-x),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=x){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart,0!=--e.match_length;);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=e.strstart<x-1?e.strstart:x-1,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}function W(e,t){for(var r,n,i;;){if(e.lookahead<z){if(j(e),e.lookahead<z&&t===l)return A;if(0===e.lookahead)break}if(r=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=x-1,0!==r&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-z&&(e.match_length=L(e,r),e.match_length<=5&&(1===e.strategy||e.match_length===x&&4096<e.strstart-e.match_start)&&(e.match_length=x-1)),e.prev_length>=x&&e.match_length<=e.prev_length){for(i=e.strstart+e.lookahead-x,n=u._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-x),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=i&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!=--e.prev_length;);if(e.match_available=0,e.match_length=x-1,e.strstart++,n&&(N(e,!1),0===e.strm.avail_out))return A}else if(e.match_available){if((n=u._tr_tally(e,0,e.window[e.strstart-1]))&&N(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return A}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=u._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<x-1?e.strstart:x-1,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}function M(e,t,r,n,i){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=i}function H(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=v,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new c.Buf16(2*w),this.dyn_dtree=new c.Buf16(2*(2*a+1)),this.bl_tree=new c.Buf16(2*(2*o+1)),D(this.dyn_ltree),D(this.dyn_dtree),D(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new c.Buf16(k+1),this.heap=new c.Buf16(2*s+1),D(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new c.Buf16(2*s+1),D(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function G(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=i,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?C:E,e.adler=2===t.wrap?0:1,t.last_flush=l,u._tr_init(t),m):R(e,_)}function K(e){var t=G(e);return t===m&&function(e){e.window_size=2*e.w_size,D(e.head),e.max_lazy_match=h[e.level].max_lazy,e.good_match=h[e.level].good_length,e.nice_match=h[e.level].nice_length,e.max_chain_length=h[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=x-1,e.match_available=0,e.ins_h=0}(e.state),t}function Y(e,t,r,n,i,s){if(!e)return _;var a=1;if(t===g&&(t=6),n<0?(a=0,n=-n):15<n&&(a=2,n-=16),i<1||y<i||r!==v||n<8||15<n||t<0||9<t||s<0||b<s)return R(e,_);8===n&&(n=9);var o=new H;return(e.state=o).strm=e,o.wrap=a,o.gzhead=null,o.w_bits=n,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=i+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+x-1)/x),o.window=new c.Buf8(2*o.w_size),o.head=new c.Buf16(o.hash_size),o.prev=new c.Buf16(o.w_size),o.lit_bufsize=1<<i+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new c.Buf8(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=t,o.strategy=s,o.method=r,K(e)}h=[new M(0,0,0,0,function(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(j(e),0===e.lookahead&&t===l)return A;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,N(e,!1),0===e.strm.avail_out))return A;if(e.strstart-e.block_start>=e.w_size-z&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):(e.strstart>e.block_start&&(N(e,!1),e.strm.avail_out),A)}),new M(4,4,8,4,Z),new M(4,5,16,8,Z),new M(4,6,32,32,Z),new M(4,4,16,16,W),new M(8,16,32,32,W),new M(8,16,128,128,W),new M(8,32,128,256,W),new M(32,128,258,1024,W),new M(32,258,258,4096,W)],r.deflateInit=function(e,t){return Y(e,t,v,15,8,0)},r.deflateInit2=Y,r.deflateReset=K,r.deflateResetKeep=G,r.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?_:(e.state.gzhead=t,m):_},r.deflate=function(e,t){var r,n,i,s;if(!e||!e.state||5<t||t<0)return e?R(e,_):_;if(n=e.state,!e.output||!e.input&&0!==e.avail_in||666===n.status&&t!==f)return R(e,0===e.avail_out?-5:_);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===C)if(2===n.wrap)e.adler=0,U(n,31),U(n,139),U(n,8),n.gzhead?(U(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),U(n,255&n.gzhead.time),U(n,n.gzhead.time>>8&255),U(n,n.gzhead.time>>16&255),U(n,n.gzhead.time>>24&255),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(U(n,255&n.gzhead.extra.length),U(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=p(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(U(n,0),U(n,0),U(n,0),U(n,0),U(n,0),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,3),n.status=E);else{var a=v+(n.w_bits-8<<4)<<8;a|=(2<=n.strategy||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(a|=32),a+=31-a%31,n.status=E,P(n,a),0!==n.strstart&&(P(n,e.adler>>>16),P(n,65535&e.adler)),e.adler=1}if(69===n.status)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending!==n.pending_buf_size));)U(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.name.length?255&n.gzhead.name.charCodeAt(n.gzindex++):0,U(n,s)}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.comment.length?255&n.gzhead.comment.charCodeAt(n.gzindex++):0,U(n,s)}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.status=103)}else n.status=103;if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&F(e),n.pending+2<=n.pending_buf_size&&(U(n,255&e.adler),U(n,e.adler>>8&255),e.adler=0,n.status=E)):n.status=E),0!==n.pending){if(F(e),0===e.avail_out)return n.last_flush=-1,m}else if(0===e.avail_in&&T(t)<=T(r)&&t!==f)return R(e,-5);if(666===n.status&&0!==e.avail_in)return R(e,-5);if(0!==e.avail_in||0!==n.lookahead||t!==l&&666!==n.status){var o=2===n.strategy?function(e,t){for(var r;;){if(0===e.lookahead&&(j(e),0===e.lookahead)){if(t===l)return A;break}if(e.match_length=0,r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):3===n.strategy?function(e,t){for(var r,n,i,s,a=e.window;;){if(e.lookahead<=S){if(j(e),e.lookahead<=S&&t===l)return A;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=x&&0<e.strstart&&(n=a[i=e.strstart-1])===a[++i]&&n===a[++i]&&n===a[++i]){s=e.strstart+S;do{}while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&i<s);e.match_length=S-(s-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=x?(r=u._tr_tally(e,1,e.match_length-x),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):h[n.level].func(n,t);if(o!==O&&o!==B||(n.status=666),o===A||o===O)return 0===e.avail_out&&(n.last_flush=-1),m;if(o===I&&(1===t?u._tr_align(n):5!==t&&(u._tr_stored_block(n,0,0,!1),3===t&&(D(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),F(e),0===e.avail_out))return n.last_flush=-1,m}return t!==f?m:n.wrap<=0?1:(2===n.wrap?(U(n,255&e.adler),U(n,e.adler>>8&255),U(n,e.adler>>16&255),U(n,e.adler>>24&255),U(n,255&e.total_in),U(n,e.total_in>>8&255),U(n,e.total_in>>16&255),U(n,e.total_in>>24&255)):(P(n,e.adler>>>16),P(n,65535&e.adler)),F(e),0<n.wrap&&(n.wrap=-n.wrap),0!==n.pending?m:1)},r.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==C&&69!==t&&73!==t&&91!==t&&103!==t&&t!==E&&666!==t?R(e,_):(e.state=null,t===E?R(e,-3):m):_},r.deflateSetDictionary=function(e,t){var r,n,i,s,a,o,h,u,l=t.length;if(!e||!e.state)return _;if(2===(s=(r=e.state).wrap)||1===s&&r.status!==C||r.lookahead)return _;for(1===s&&(e.adler=d(e.adler,t,l,0)),r.wrap=0,l>=r.w_size&&(0===s&&(D(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new c.Buf8(r.w_size),c.arraySet(u,t,l-r.w_size,r.w_size,0),t=u,l=r.w_size),a=e.avail_in,o=e.next_in,h=e.input,e.avail_in=l,e.next_in=0,e.input=t,j(r);r.lookahead>=x;){for(n=r.strstart,i=r.lookahead-(x-1);r.ins_h=(r.ins_h<<r.hash_shift^r.window[n+x-1])&r.hash_mask,r.prev[n&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=n,n++,--i;);r.strstart=n,r.lookahead=x-1,j(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=x-1,r.match_available=0,e.next_in=o,e.input=h,e.avail_in=a,r.wrap=s,m},r.deflateInfo=\"pako deflate (from Nodeca project)\"},{\"../utils/common\":41,\"./adler32\":43,\"./crc32\":45,\"./messages\":51,\"./trees\":52}],47:[function(e,t,r){\"use strict\";t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name=\"\",this.comment=\"\",this.hcrc=0,this.done=!1}},{}],48:[function(e,t,r){\"use strict\";t.exports=function(e,t){var r,n,i,s,a,o,h,u,l,f,c,d,p,m,_,g,b,v,y,w,k,x,S,z,C;r=e.state,n=e.next_in,z=e.input,i=n+(e.avail_in-5),s=e.next_out,C=e.output,a=s-(t-e.avail_out),o=s+(e.avail_out-257),h=r.dmax,u=r.wsize,l=r.whave,f=r.wnext,c=r.window,d=r.hold,p=r.bits,m=r.lencode,_=r.distcode,g=(1<<r.lenbits)-1,b=(1<<r.distbits)-1;e:do{p<15&&(d+=z[n++]<<p,p+=8,d+=z[n++]<<p,p+=8),v=m[d&g];t:for(;;){if(d>>>=y=v>>>24,p-=y,0===(y=v>>>16&255))C[s++]=65535&v;else{if(!(16&y)){if(0==(64&y)){v=m[(65535&v)+(d&(1<<y)-1)];continue t}if(32&y){r.mode=12;break e}e.msg=\"invalid literal/length code\",r.mode=30;break e}w=65535&v,(y&=15)&&(p<y&&(d+=z[n++]<<p,p+=8),w+=d&(1<<y)-1,d>>>=y,p-=y),p<15&&(d+=z[n++]<<p,p+=8,d+=z[n++]<<p,p+=8),v=_[d&b];r:for(;;){if(d>>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(d&(1<<y)-1)];continue r}e.msg=\"invalid distance code\",r.mode=30;break e}if(k=65535&v,p<(y&=15)&&(d+=z[n++]<<p,(p+=8)<y&&(d+=z[n++]<<p,p+=8)),h<(k+=d&(1<<y)-1)){e.msg=\"invalid distance too far back\",r.mode=30;break e}if(d>>>=y,p-=y,(y=s-a)<k){if(l<(y=k-y)&&r.sane){e.msg=\"invalid distance too far back\",r.mode=30;break e}if(S=c,(x=0)===f){if(x+=u-y,y<w){for(w-=y;C[s++]=c[x++],--y;);x=s-k,S=C}}else if(f<y){if(x+=u+f-y,(y-=f)<w){for(w-=y;C[s++]=c[x++],--y;);if(x=0,f<w){for(w-=y=f;C[s++]=c[x++],--y;);x=s-k,S=C}}}else if(x+=f-y,y<w){for(w-=y;C[s++]=c[x++],--y;);x=s-k,S=C}for(;2<w;)C[s++]=S[x++],C[s++]=S[x++],C[s++]=S[x++],w-=3;w&&(C[s++]=S[x++],1<w&&(C[s++]=S[x++]))}else{for(x=s-k;C[s++]=C[x++],C[s++]=C[x++],C[s++]=C[x++],2<(w-=3););w&&(C[s++]=C[x++],1<w&&(C[s++]=C[x++]))}break}}break}}while(n<i&&s<o);n-=w=p>>3,d&=(1<<(p-=w<<3))-1,e.next_in=n,e.next_out=s,e.avail_in=n<i?i-n+5:5-(n-i),e.avail_out=s<o?o-s+257:257-(s-o),r.hold=d,r.bits=p}},{}],49:[function(e,t,r){\"use strict\";var I=e(\"../utils/common\"),O=e(\"./adler32\"),B=e(\"./crc32\"),R=e(\"./inffast\"),T=e(\"./inftrees\"),D=1,F=2,N=0,U=-2,P=1,n=852,i=592;function L(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new I.Buf16(320),this.work=new I.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function a(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg=\"\",t.wrap&&(e.adler=1&t.wrap),t.mode=P,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new I.Buf32(n),t.distcode=t.distdyn=new I.Buf32(i),t.sane=1,t.back=-1,N):U}function o(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,a(e)):U}function h(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15<t)?U:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,o(e))):U}function u(e,t){var r,n;return e?(n=new s,(e.state=n).window=null,(r=h(e,t))!==N&&(e.state=null),r):U}var l,f,c=!0;function j(e){if(c){var t;for(l=new I.Buf32(512),f=new I.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(T(D,e.lens,0,288,l,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;T(F,e.lens,0,32,f,0,e.work,{bits:5}),c=!1}e.lencode=l,e.lenbits=9,e.distcode=f,e.distbits=5}function Z(e,t,r,n){var i,s=e.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new I.Buf8(s.wsize)),n>=s.wsize?(I.arraySet(s.window,t,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(n<(i=s.wsize-s.wnext)&&(i=n),I.arraySet(s.window,t,r-n,i,s.wnext),(n-=i)?(I.arraySet(s.window,t,r-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=i))),0}r.inflateReset=o,r.inflateReset2=h,r.inflateResetKeep=a,r.inflateInit=function(e){return u(e,15)},r.inflateInit2=u,r.inflate=function(e,t){var r,n,i,s,a,o,h,u,l,f,c,d,p,m,_,g,b,v,y,w,k,x,S,z,C=0,E=new I.Buf8(4),A=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return U;12===(r=e.state).mode&&(r.mode=13),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,f=o,c=h,x=N;e:for(;;)switch(r.mode){case P:if(0===r.wrap){r.mode=13;break}for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(2&r.wrap&&35615===u){E[r.check=0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg=\"incorrect header check\",r.mode=30;break}if(8!=(15&u)){e.msg=\"unknown compression method\",r.mode=30;break}if(l-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){e.msg=\"invalid window size\",r.mode=30;break}r.dmax=1<<k,e.adler=r.check=1,r.mode=512&u?10:12,l=u=0;break;case 2:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(r.flags=u,8!=(255&r.flags)){e.msg=\"unknown compression method\",r.mode=30;break}if(57344&r.flags){e.msg=\"unknown header flags set\",r.mode=30;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.head&&(r.head.time=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,E[2]=u>>>16&255,E[3]=u>>>24&255,r.check=B(r.check,E,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(d=r.length)&&(d=o),d&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,n,s,d,k)),512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,r.length-=d),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&d<o;);if(512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,k)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.comment+=String.fromCharCode(k)),k&&d<o;);if(512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,k)break e}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u!==(65535&r.check)){e.msg=\"header crc mismatch\",r.mode=30;break}l=u=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}e.adler=r.check=L(u),l=u=0,r.mode=11;case 11:if(0===r.havedict)return e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,2;e.adler=r.check=1,r.mode=12;case 12:if(5===t||6===t)break e;case 13:if(r.last){u>>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}switch(r.last=1&u,l-=1,3&(u>>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==t)break;u>>>=2,l-=2;break e;case 2:r.mode=17;break;case 3:e.msg=\"invalid block type\",r.mode=30}u>>>=2,l-=2;break;case 14:for(u>>>=7&l,l-=7&l;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if((65535&u)!=(u>>>16^65535)){e.msg=\"invalid stored block lengths\",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===t)break e;case 15:r.mode=16;case 16:if(d=r.length){if(o<d&&(d=o),h<d&&(d=h),0===d)break e;I.arraySet(i,n,s,d,a),o-=d,s+=d,h-=d,a+=d,r.length-=d;break}r.mode=12;break;case 17:for(;l<14;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(r.nlen=257+(31&u),u>>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286<r.nlen||30<r.ndist){e.msg=\"too many length or distance symbols\",r.mode=30;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;l<3;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.lens[A[r.have++]]=7&u,u>>>=3,l-=3}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg=\"invalid code lengths set\",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(b<16)u>>>=_,l-=_,r.lens[r.have++]=b;else{if(16===b){for(z=_+2;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u>>>=_,l-=_,0===r.have){e.msg=\"invalid bit length repeat\",r.mode=30;break}k=r.lens[r.have-1],d=3+(3&u),u>>>=2,l-=2}else if(17===b){for(z=_+3;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}l-=_,k=0,d=3+(7&(u>>>=_)),u>>>=3,l-=3}else{for(z=_+7;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}l-=_,k=0,d=11+(127&(u>>>=_)),u>>>=7,l-=7}if(r.have+d>r.nlen+r.ndist){e.msg=\"invalid bit length repeat\",r.mode=30;break}for(;d--;)r.lens[r.have++]=k}}if(30===r.mode)break;if(0===r.lens[256]){e.msg=\"invalid code -- missing end-of-block\",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg=\"invalid literal/lengths set\",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){e.msg=\"invalid distances set\",r.mode=30;break}if(r.mode=20,6===t)break e;case 20:r.mode=21;case 21:if(6<=o&&258<=h){e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,R(e,c),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(g&&0==(240&g)){for(v=_,y=g,w=b;g=(C=r.lencode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,r.length=b,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){e.msg=\"invalid literal/length code\",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;g=(C=r.distcode[u&(1<<r.distbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(0==(240&g)){for(v=_,y=g,w=b;g=(C=r.distcode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,64&g){e.msg=\"invalid distance code\",r.mode=30;break}r.offset=b,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg=\"invalid distance too far back\",r.mode=30;break}r.mode=25;case 25:if(0===h)break e;if(d=c-h,r.offset>d){if((d=r.offset-d)>r.whave&&r.sane){e.msg=\"invalid distance too far back\",r.mode=30;break}p=d>r.wnext?(d-=r.wnext,r.wsize-d):r.wnext-d,d>r.length&&(d=r.length),m=r.window}else m=i,p=a-r.offset,d=r.length;for(h<d&&(d=h),h-=d,r.length-=d;i[a++]=m[p++],--d;);0===r.length&&(r.mode=21);break;case 26:if(0===h)break e;i[a++]=r.length,h--,r.mode=21;break;case 27:if(r.wrap){for(;l<32;){if(0===o)break e;o--,u|=n[s++]<<l,l+=8}if(c-=h,e.total_out+=c,r.total+=c,c&&(e.adler=r.check=r.flags?B(r.check,i,c,a-c):O(r.check,i,c,a-c)),c=h,(r.flags?u:L(u))!==r.check){e.msg=\"incorrect data check\",r.mode=30;break}l=u=0}r.mode=28;case 28:if(r.wrap&&r.flags){for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u!==(4294967295&r.total)){e.msg=\"incorrect length check\",r.mode=30;break}l=u=0}r.mode=29;case 29:x=1;break e;case 30:x=-3;break e;case 31:return-4;case 32:default:return U}return e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,(r.wsize||c!==e.avail_out&&r.mode<30&&(r.mode<27||4!==t))&&Z(e,e.output,e.next_out,c-e.avail_out)?(r.mode=31,-4):(f-=e.avail_in,c-=e.avail_out,e.total_in+=f,e.total_out+=c,r.total+=c,r.wrap&&c&&(e.adler=r.check=r.flags?B(r.check,i,c,e.next_out-c):O(r.check,i,c,e.next_out-c)),e.data_type=r.bits+(r.last?64:0)+(12===r.mode?128:0)+(20===r.mode||15===r.mode?256:0),(0==f&&0===c||4===t)&&x===N&&(x=-5),x)},r.inflateEnd=function(e){if(!e||!e.state)return U;var t=e.state;return t.window&&(t.window=null),e.state=null,N},r.inflateGetHeader=function(e,t){var r;return e&&e.state?0==(2&(r=e.state).wrap)?U:((r.head=t).done=!1,N):U},r.inflateSetDictionary=function(e,t){var r,n=t.length;return e&&e.state?0!==(r=e.state).wrap&&11!==r.mode?U:11===r.mode&&O(1,t,n,0)!==r.check?-3:Z(e,t,n,n)?(r.mode=31,-4):(r.havedict=1,N):U},r.inflateInfo=\"pako inflate (from Nodeca project)\"},{\"../utils/common\":41,\"./adler32\":43,\"./crc32\":45,\"./inffast\":48,\"./inftrees\":50}],50:[function(e,t,r){\"use strict\";var D=e(\"../utils/common\"),F=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],N=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],U=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],P=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(e,t,r,n,i,s,a,o){var h,u,l,f,c,d,p,m,_,g=o.bits,b=0,v=0,y=0,w=0,k=0,x=0,S=0,z=0,C=0,E=0,A=null,I=0,O=new D.Buf16(16),B=new D.Buf16(16),R=null,T=0;for(b=0;b<=15;b++)O[b]=0;for(v=0;v<n;v++)O[t[r+v]]++;for(k=g,w=15;1<=w&&0===O[w];w--);if(w<k&&(k=w),0===w)return i[s++]=20971520,i[s++]=20971520,o.bits=1,0;for(y=1;y<w&&0===O[y];y++);for(k<y&&(k=y),b=z=1;b<=15;b++)if(z<<=1,(z-=O[b])<0)return-1;if(0<z&&(0===e||1!==w))return-1;for(B[1]=0,b=1;b<15;b++)B[b+1]=B[b]+O[b];for(v=0;v<n;v++)0!==t[r+v]&&(a[B[t[r+v]]++]=v);if(d=0===e?(A=R=a,19):1===e?(A=F,I-=257,R=N,T-=257,256):(A=U,R=P,-1),b=y,c=s,S=v=E=0,l=-1,f=(C=1<<(x=k))-1,1===e&&852<C||2===e&&592<C)return 1;for(;;){for(p=b-S,_=a[v]<d?(m=0,a[v]):a[v]>d?(m=R[T+a[v]],A[I+a[v]]):(m=96,0),h=1<<b-S,y=u=1<<x;i[c+(E>>S)+(u-=h)]=p<<24|m<<16|_|0,0!==u;);for(h=1<<b-1;E&h;)h>>=1;if(0!==h?(E&=h-1,E+=h):E=0,v++,0==--O[b]){if(b===w)break;b=t[r+a[v]]}if(k<b&&(E&f)!==l){for(0===S&&(S=k),c+=y,z=1<<(x=b-S);x+S<w&&!((z-=O[x+S])<=0);)x++,z<<=1;if(C+=1<<x,1===e&&852<C||2===e&&592<C)return 1;i[l=E&f]=k<<24|x<<16|c-s|0}}return 0!==E&&(i[c+E]=b-S<<24|64<<16|0),o.bits=k,0}},{\"../utils/common\":41}],51:[function(e,t,r){\"use strict\";t.exports={2:\"need dictionary\",1:\"stream end\",0:\"\",\"-1\":\"file error\",\"-2\":\"stream error\",\"-3\":\"data error\",\"-4\":\"insufficient memory\",\"-5\":\"buffer error\",\"-6\":\"incompatible version\"}},{}],52:[function(e,t,r){\"use strict\";var i=e(\"../utils/common\"),o=0,h=1;function n(e){for(var t=e.length;0<=--t;)e[t]=0}var s=0,a=29,u=256,l=u+1+a,f=30,c=19,_=2*l+1,g=15,d=16,p=7,m=256,b=16,v=17,y=18,w=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],k=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],x=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],S=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],z=new Array(2*(l+2));n(z);var C=new Array(2*f);n(C);var E=new Array(512);n(E);var A=new Array(256);n(A);var I=new Array(a);n(I);var O,B,R,T=new Array(f);function D(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}function F(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function N(e){return e<256?E[e]:E[256+(e>>>7)]}function U(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function P(e,t,r){e.bi_valid>d-r?(e.bi_buf|=t<<e.bi_valid&65535,U(e,e.bi_buf),e.bi_buf=t>>d-e.bi_valid,e.bi_valid+=r-d):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function L(e,t,r){P(e,r[2*t],r[2*t+1])}function j(e,t){for(var r=0;r|=1&e,e>>>=1,r<<=1,0<--t;);return r>>>1}function Z(e,t,r){var n,i,s=new Array(g+1),a=0;for(n=1;n<=g;n++)s[n]=a=a+r[n-1]<<1;for(i=0;i<=t;i++){var o=e[2*i+1];0!==o&&(e[2*i]=j(s[o]++,o))}}function W(e){var t;for(t=0;t<l;t++)e.dyn_ltree[2*t]=0;for(t=0;t<f;t++)e.dyn_dtree[2*t]=0;for(t=0;t<c;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*m]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function M(e){8<e.bi_valid?U(e,e.bi_buf):0<e.bi_valid&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function H(e,t,r,n){var i=2*t,s=2*r;return e[i]<e[s]||e[i]===e[s]&&n[t]<=n[r]}function G(e,t,r){for(var n=e.heap[r],i=r<<1;i<=e.heap_len&&(i<e.heap_len&&H(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!H(t,n,e.heap[i],e.depth));)e.heap[r]=e.heap[i],r=i,i<<=1;e.heap[r]=n}function K(e,t,r){var n,i,s,a,o=0;if(0!==e.last_lit)for(;n=e.pending_buf[e.d_buf+2*o]<<8|e.pending_buf[e.d_buf+2*o+1],i=e.pending_buf[e.l_buf+o],o++,0===n?L(e,i,t):(L(e,(s=A[i])+u+1,t),0!==(a=w[s])&&P(e,i-=I[s],a),L(e,s=N(--n),r),0!==(a=k[s])&&P(e,n-=T[s],a)),o<e.last_lit;);L(e,m,t)}function Y(e,t){var r,n,i,s=t.dyn_tree,a=t.stat_desc.static_tree,o=t.stat_desc.has_stree,h=t.stat_desc.elems,u=-1;for(e.heap_len=0,e.heap_max=_,r=0;r<h;r++)0!==s[2*r]?(e.heap[++e.heap_len]=u=r,e.depth[r]=0):s[2*r+1]=0;for(;e.heap_len<2;)s[2*(i=e.heap[++e.heap_len]=u<2?++u:0)]=1,e.depth[i]=0,e.opt_len--,o&&(e.static_len-=a[2*i+1]);for(t.max_code=u,r=e.heap_len>>1;1<=r;r--)G(e,s,r);for(i=h;r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],G(e,s,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,s[2*i]=s[2*r]+s[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,s[2*r+1]=s[2*n+1]=i,e.heap[1]=i++,G(e,s,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,s,a,o,h=t.dyn_tree,u=t.max_code,l=t.stat_desc.static_tree,f=t.stat_desc.has_stree,c=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,p=t.stat_desc.max_length,m=0;for(s=0;s<=g;s++)e.bl_count[s]=0;for(h[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;r<_;r++)p<(s=h[2*h[2*(n=e.heap[r])+1]+1]+1)&&(s=p,m++),h[2*n+1]=s,u<n||(e.bl_count[s]++,a=0,d<=n&&(a=c[n-d]),o=h[2*n],e.opt_len+=o*(s+a),f&&(e.static_len+=o*(l[2*n+1]+a)));if(0!==m){do{for(s=p-1;0===e.bl_count[s];)s--;e.bl_count[s]--,e.bl_count[s+1]+=2,e.bl_count[p]--,m-=2}while(0<m);for(s=p;0!==s;s--)for(n=e.bl_count[s];0!==n;)u<(i=e.heap[--r])||(h[2*i+1]!==s&&(e.opt_len+=(s-h[2*i+1])*h[2*i],h[2*i+1]=s),n--)}}(e,t),Z(s,u,e.bl_count)}function X(e,t,r){var n,i,s=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)i=a,a=t[2*(n+1)+1],++o<h&&i===a||(o<u?e.bl_tree[2*i]+=o:0!==i?(i!==s&&e.bl_tree[2*i]++,e.bl_tree[2*b]++):o<=10?e.bl_tree[2*v]++:e.bl_tree[2*y]++,s=i,u=(o=0)===a?(h=138,3):i===a?(h=6,3):(h=7,4))}function V(e,t,r){var n,i,s=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),n=0;n<=r;n++)if(i=a,a=t[2*(n+1)+1],!(++o<h&&i===a)){if(o<u)for(;L(e,i,e.bl_tree),0!=--o;);else 0!==i?(i!==s&&(L(e,i,e.bl_tree),o--),L(e,b,e.bl_tree),P(e,o-3,2)):o<=10?(L(e,v,e.bl_tree),P(e,o-3,3)):(L(e,y,e.bl_tree),P(e,o-11,7));s=i,u=(o=0)===a?(h=138,3):i===a?(h=6,3):(h=7,4)}}n(T);var q=!1;function J(e,t,r,n){P(e,(s<<1)+(n?1:0),3),function(e,t,r,n){M(e),n&&(U(e,r),U(e,~r)),i.arraySet(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}(e,t,r,!0)}r._tr_init=function(e){q||(function(){var e,t,r,n,i,s=new Array(g+1);for(n=r=0;n<a-1;n++)for(I[n]=r,e=0;e<1<<w[n];e++)A[r++]=n;for(A[r-1]=n,n=i=0;n<16;n++)for(T[n]=i,e=0;e<1<<k[n];e++)E[i++]=n;for(i>>=7;n<f;n++)for(T[n]=i<<7,e=0;e<1<<k[n]-7;e++)E[256+i++]=n;for(t=0;t<=g;t++)s[t]=0;for(e=0;e<=143;)z[2*e+1]=8,e++,s[8]++;for(;e<=255;)z[2*e+1]=9,e++,s[9]++;for(;e<=279;)z[2*e+1]=7,e++,s[7]++;for(;e<=287;)z[2*e+1]=8,e++,s[8]++;for(Z(z,l+1,s),e=0;e<f;e++)C[2*e+1]=5,C[2*e]=j(e,5);O=new D(z,w,u+1,l,g),B=new D(C,k,0,f,g),R=new D(new Array(0),x,0,c,p)}(),q=!0),e.l_desc=new F(e.dyn_ltree,O),e.d_desc=new F(e.dyn_dtree,B),e.bl_desc=new F(e.bl_tree,R),e.bi_buf=0,e.bi_valid=0,W(e)},r._tr_stored_block=J,r._tr_flush_block=function(e,t,r,n){var i,s,a=0;0<e.level?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return o;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return h;for(t=32;t<u;t++)if(0!==e.dyn_ltree[2*t])return h;return o}(e)),Y(e,e.l_desc),Y(e,e.d_desc),a=function(e){var t;for(X(e,e.dyn_ltree,e.l_desc.max_code),X(e,e.dyn_dtree,e.d_desc.max_code),Y(e,e.bl_desc),t=c-1;3<=t&&0===e.bl_tree[2*S[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(s=e.static_len+3+7>>>3)<=i&&(i=s)):i=s=r+5,r+4<=i&&-1!==t?J(e,t,r,n):4===e.strategy||s===i?(P(e,2+(n?1:0),3),K(e,z,C)):(P(e,4+(n?1:0),3),function(e,t,r,n){var i;for(P(e,t-257,5),P(e,r-1,5),P(e,n-4,4),i=0;i<n;i++)P(e,e.bl_tree[2*S[i]+1],3);V(e,e.dyn_ltree,t-1),V(e,e.dyn_dtree,r-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),K(e,e.dyn_ltree,e.dyn_dtree)),W(e),n&&M(e)},r._tr_tally=function(e,t,r){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(A[r]+u+1)]++,e.dyn_dtree[2*N(t)]++),e.last_lit===e.lit_bufsize-1},r._tr_align=function(e){P(e,2,3),L(e,m,z),function(e){16===e.bi_valid?(U(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):8<=e.bi_valid&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},{\"../utils/common\":41}],53:[function(e,t,r){\"use strict\";t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=\"\",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,r){(function(e){!function(r,n){\"use strict\";if(!r.setImmediate){var i,s,t,a,o=1,h={},u=!1,l=r.document,e=Object.getPrototypeOf&&Object.getPrototypeOf(r);e=e&&e.setTimeout?e:r,i=\"[object process]\"==={}.toString.call(r.process)?function(e){process.nextTick(function(){c(e)})}:function(){if(r.postMessage&&!r.importScripts){var e=!0,t=r.onmessage;return r.onmessage=function(){e=!1},r.postMessage(\"\",\"*\"),r.onmessage=t,e}}()?(a=\"setImmediate$\"+Math.random()+\"$\",r.addEventListener?r.addEventListener(\"message\",d,!1):r.attachEvent(\"onmessage\",d),function(e){r.postMessage(a+e,\"*\")}):r.MessageChannel?((t=new MessageChannel).port1.onmessage=function(e){c(e.data)},function(e){t.port2.postMessage(e)}):l&&\"onreadystatechange\"in l.createElement(\"script\")?(s=l.documentElement,function(e){var t=l.createElement(\"script\");t.onreadystatechange=function(){c(e),t.onreadystatechange=null,s.removeChild(t),t=null},s.appendChild(t)}):function(e){setTimeout(c,0,e)},e.setImmediate=function(e){\"function\"!=typeof e&&(e=new Function(\"\"+e));for(var t=new Array(arguments.length-1),r=0;r<t.length;r++)t[r]=arguments[r+1];var n={callback:e,args:t};return h[o]=n,i(o),o++},e.clearImmediate=f}function f(e){delete h[e]}function c(e){if(u)setTimeout(c,0,e);else{var t=h[e];if(t){u=!0;try{!function(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(n,r)}}(t)}finally{f(e),u=!1}}}}function d(e){e.source===r&&\"string\"==typeof e.data&&0===e.data.indexOf(a)&&c(+e.data.slice(a.length))}}(\"undefined\"==typeof self?void 0===e?this:e:self)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}]},{},[10])(10)});","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/6.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g,\n reHasRegExpChar = RegExp(reRegExpChar.source);\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Escapes the `RegExp` special characters \"^\", \"$\", \"\\\", \".\", \"*\", \"+\",\n * \"?\", \"(\", \")\", \"[\", \"]\", \"{\", \"}\", and \"|\" in `string`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escapeRegExp('[lodash](https://lodash.com/)');\n * // => '\\[lodash\\]\\(https://lodash\\.com/\\)'\n */\nfunction escapeRegExp(string) {\n string = toString(string);\n return (string && reHasRegExpChar.test(string))\n ? string.replace(reRegExpChar, '\\\\$&')\n : string;\n}\n\nmodule.exports = escapeRegExp;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for comparison styles. */\nvar UNORDERED_COMPARE_FLAG = 1,\n PARTIAL_COMPARE_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n}\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {boolean} [bitmask] The bitmask of comparison flags.\n * The bitmask may be composed of the following flags:\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, bitmask, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = getTag(object);\n objTag = objTag == argsTag ? objectTag : objTag;\n }\n if (!othIsArr) {\n othTag = getTag(other);\n othTag = othTag == argsTag ? objectTag : othTag;\n }\n var objIsObj = objTag == objectTag && !isHostObject(object),\n othIsObj = othTag == objectTag && !isHostObject(other),\n isSameTag = objTag == othTag;\n\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, equalFunc, customizer, bitmask, stack)\n : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);\n }\n if (!(bitmask & PARTIAL_COMPARE_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, equalFunc, customizer, bitmask, stack);\n}\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[objectToString.call(value)];\n}\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG);\n };\n}\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\nfunction createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, baseIteratee(iteratee, 2), accumulator);\n };\n}\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!seen.has(othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {\n return seen.add(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, customizer, bitmask, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= UNORDERED_COMPARE_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var result,\n index = -1,\n length = path.length;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result) {\n return result;\n }\n var length = object ? object.length : 0;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\n/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity]\n * The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\nvar groupBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n result[key].push(value);\n } else {\n result[key] = [value];\n }\n});\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = groupBy;\n","/**\n * lodash 3.0.3 (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <https://lodash.com/license>\n */\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a boolean primitive or object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isBoolean(false);\n * // => true\n *\n * _.isBoolean(null);\n * // => false\n */\nfunction isBoolean(value) {\n return value === true || value === false ||\n (isObjectLike(value) && objectToString.call(value) == boolTag);\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isBoolean;\n","/**\n * Lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors <https://js.foundation/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEqual;\n","/**\n * Lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors <https://js.foundation/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n nullTag = '[object Null]',\n proxyTag = '[object Proxy]',\n undefinedTag = '[object Undefined]';\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isFunction;\n","/**\n * lodash 4.0.0 (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <https://lodash.com/license>\n */\n\n/**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\nfunction isNil(value) {\n return value == null;\n}\n\nmodule.exports = isNil;\n","/**\n * lodash 3.0.1 (Custom Build) <https://lodash.com/>\n * Build: `lodash modern modularize exports=\"npm\" -o ./`\n * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <https://lodash.com/license>\n */\n\n/**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\nfunction isUndefined(value) {\n return value === undefined;\n}\n\nmodule.exports = isUndefined;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array ? array.length : 0;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\n/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n if (value !== value) {\n return baseFindIndex(array, baseIsNaN, fromIndex);\n }\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\n/**\n * Checks if a cache value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n Set = getNative(root, 'Set'),\n nativeCreate = getNative(Object, 'create');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each\n * element is kept.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\nfunction uniq(array) {\n return (array && array.length)\n ? baseUniq(array)\n : [];\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = uniq;\n","'use strict'\nvar inherits = require('inherits')\nvar HashBase = require('hash-base')\nvar Buffer = require('safe-buffer').Buffer\n\nvar ARRAY16 = new Array(16)\n\nfunction MD5 () {\n HashBase.call(this, 64)\n\n // state\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n}\n\ninherits(MD5, HashBase)\n\nMD5.prototype._update = function () {\n var M = ARRAY16\n for (var i = 0; i < 16; ++i) M[i] = this._block.readInt32LE(i * 4)\n\n var a = this._a\n var b = this._b\n var c = this._c\n var d = this._d\n\n a = fnF(a, b, c, d, M[0], 0xd76aa478, 7)\n d = fnF(d, a, b, c, M[1], 0xe8c7b756, 12)\n c = fnF(c, d, a, b, M[2], 0x242070db, 17)\n b = fnF(b, c, d, a, M[3], 0xc1bdceee, 22)\n a = fnF(a, b, c, d, M[4], 0xf57c0faf, 7)\n d = fnF(d, a, b, c, M[5], 0x4787c62a, 12)\n c = fnF(c, d, a, b, M[6], 0xa8304613, 17)\n b = fnF(b, c, d, a, M[7], 0xfd469501, 22)\n a = fnF(a, b, c, d, M[8], 0x698098d8, 7)\n d = fnF(d, a, b, c, M[9], 0x8b44f7af, 12)\n c = fnF(c, d, a, b, M[10], 0xffff5bb1, 17)\n b = fnF(b, c, d, a, M[11], 0x895cd7be, 22)\n a = fnF(a, b, c, d, M[12], 0x6b901122, 7)\n d = fnF(d, a, b, c, M[13], 0xfd987193, 12)\n c = fnF(c, d, a, b, M[14], 0xa679438e, 17)\n b = fnF(b, c, d, a, M[15], 0x49b40821, 22)\n\n a = fnG(a, b, c, d, M[1], 0xf61e2562, 5)\n d = fnG(d, a, b, c, M[6], 0xc040b340, 9)\n c = fnG(c, d, a, b, M[11], 0x265e5a51, 14)\n b = fnG(b, c, d, a, M[0], 0xe9b6c7aa, 20)\n a = fnG(a, b, c, d, M[5], 0xd62f105d, 5)\n d = fnG(d, a, b, c, M[10], 0x02441453, 9)\n c = fnG(c, d, a, b, M[15], 0xd8a1e681, 14)\n b = fnG(b, c, d, a, M[4], 0xe7d3fbc8, 20)\n a = fnG(a, b, c, d, M[9], 0x21e1cde6, 5)\n d = fnG(d, a, b, c, M[14], 0xc33707d6, 9)\n c = fnG(c, d, a, b, M[3], 0xf4d50d87, 14)\n b = fnG(b, c, d, a, M[8], 0x455a14ed, 20)\n a = fnG(a, b, c, d, M[13], 0xa9e3e905, 5)\n d = fnG(d, a, b, c, M[2], 0xfcefa3f8, 9)\n c = fnG(c, d, a, b, M[7], 0x676f02d9, 14)\n b = fnG(b, c, d, a, M[12], 0x8d2a4c8a, 20)\n\n a = fnH(a, b, c, d, M[5], 0xfffa3942, 4)\n d = fnH(d, a, b, c, M[8], 0x8771f681, 11)\n c = fnH(c, d, a, b, M[11], 0x6d9d6122, 16)\n b = fnH(b, c, d, a, M[14], 0xfde5380c, 23)\n a = fnH(a, b, c, d, M[1], 0xa4beea44, 4)\n d = fnH(d, a, b, c, M[4], 0x4bdecfa9, 11)\n c = fnH(c, d, a, b, M[7], 0xf6bb4b60, 16)\n b = fnH(b, c, d, a, M[10], 0xbebfbc70, 23)\n a = fnH(a, b, c, d, M[13], 0x289b7ec6, 4)\n d = fnH(d, a, b, c, M[0], 0xeaa127fa, 11)\n c = fnH(c, d, a, b, M[3], 0xd4ef3085, 16)\n b = fnH(b, c, d, a, M[6], 0x04881d05, 23)\n a = fnH(a, b, c, d, M[9], 0xd9d4d039, 4)\n d = fnH(d, a, b, c, M[12], 0xe6db99e5, 11)\n c = fnH(c, d, a, b, M[15], 0x1fa27cf8, 16)\n b = fnH(b, c, d, a, M[2], 0xc4ac5665, 23)\n\n a = fnI(a, b, c, d, M[0], 0xf4292244, 6)\n d = fnI(d, a, b, c, M[7], 0x432aff97, 10)\n c = fnI(c, d, a, b, M[14], 0xab9423a7, 15)\n b = fnI(b, c, d, a, M[5], 0xfc93a039, 21)\n a = fnI(a, b, c, d, M[12], 0x655b59c3, 6)\n d = fnI(d, a, b, c, M[3], 0x8f0ccc92, 10)\n c = fnI(c, d, a, b, M[10], 0xffeff47d, 15)\n b = fnI(b, c, d, a, M[1], 0x85845dd1, 21)\n a = fnI(a, b, c, d, M[8], 0x6fa87e4f, 6)\n d = fnI(d, a, b, c, M[15], 0xfe2ce6e0, 10)\n c = fnI(c, d, a, b, M[6], 0xa3014314, 15)\n b = fnI(b, c, d, a, M[13], 0x4e0811a1, 21)\n a = fnI(a, b, c, d, M[4], 0xf7537e82, 6)\n d = fnI(d, a, b, c, M[11], 0xbd3af235, 10)\n c = fnI(c, d, a, b, M[2], 0x2ad7d2bb, 15)\n b = fnI(b, c, d, a, M[9], 0xeb86d391, 21)\n\n this._a = (this._a + a) | 0\n this._b = (this._b + b) | 0\n this._c = (this._c + c) | 0\n this._d = (this._d + d) | 0\n}\n\nMD5.prototype._digest = function () {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64)\n this._update()\n this._blockOffset = 0\n }\n\n this._block.fill(0, this._blockOffset, 56)\n this._block.writeUInt32LE(this._length[0], 56)\n this._block.writeUInt32LE(this._length[1], 60)\n this._update()\n\n // produce result\n var buffer = Buffer.allocUnsafe(16)\n buffer.writeInt32LE(this._a, 0)\n buffer.writeInt32LE(this._b, 4)\n buffer.writeInt32LE(this._c, 8)\n buffer.writeInt32LE(this._d, 12)\n return buffer\n}\n\nfunction rotl (x, n) {\n return (x << n) | (x >>> (32 - n))\n}\n\nfunction fnF (a, b, c, d, m, k, s) {\n return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnG (a, b, c, d, m, k, s) {\n return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnH (a, b, c, d, m, k, s) {\n return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnI (a, b, c, d, m, k, s) {\n return (rotl((a + ((c ^ (b | (~d)))) + m + k) | 0, s) + b) | 0\n}\n\nmodule.exports = MD5\n","var bn = require('bn.js');\nvar brorand = require('brorand');\n\nfunction MillerRabin(rand) {\n this.rand = rand || new brorand.Rand();\n}\nmodule.exports = MillerRabin;\n\nMillerRabin.create = function create(rand) {\n return new MillerRabin(rand);\n};\n\nMillerRabin.prototype._randbelow = function _randbelow(n) {\n var len = n.bitLength();\n var min_bytes = Math.ceil(len / 8);\n\n // Generage random bytes until a number less than n is found.\n // This ensures that 0..n-1 have an equal probability of being selected.\n do\n var a = new bn(this.rand.generate(min_bytes));\n while (a.cmp(n) >= 0);\n\n return a;\n};\n\nMillerRabin.prototype._randrange = function _randrange(start, stop) {\n // Generate a random number greater than or equal to start and less than stop.\n var size = stop.sub(start);\n return start.add(this._randbelow(size));\n};\n\nMillerRabin.prototype.test = function test(n, k, cb) {\n var len = n.bitLength();\n var red = bn.mont(n);\n var rone = new bn(1).toRed(red);\n\n if (!k)\n k = Math.max(1, (len / 48) | 0);\n\n // Find d and s, (n - 1) = (2 ^ s) * d;\n var n1 = n.subn(1);\n for (var s = 0; !n1.testn(s); s++) {}\n var d = n.shrn(s);\n\n var rn1 = n1.toRed(red);\n\n var prime = true;\n for (; k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n if (cb)\n cb(a);\n\n var x = a.toRed(red).redPow(d);\n if (x.cmp(rone) === 0 || x.cmp(rn1) === 0)\n continue;\n\n for (var i = 1; i < s; i++) {\n x = x.redSqr();\n\n if (x.cmp(rone) === 0)\n return false;\n if (x.cmp(rn1) === 0)\n break;\n }\n\n if (i === s)\n return false;\n }\n\n return prime;\n};\n\nMillerRabin.prototype.getDivisor = function getDivisor(n, k) {\n var len = n.bitLength();\n var red = bn.mont(n);\n var rone = new bn(1).toRed(red);\n\n if (!k)\n k = Math.max(1, (len / 48) | 0);\n\n // Find d and s, (n - 1) = (2 ^ s) * d;\n var n1 = n.subn(1);\n for (var s = 0; !n1.testn(s); s++) {}\n var d = n.shrn(s);\n\n var rn1 = n1.toRed(red);\n\n for (; k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n\n var g = n.gcd(a);\n if (g.cmpn(1) !== 0)\n return g;\n\n var x = a.toRed(red).redPow(d);\n if (x.cmp(rone) === 0 || x.cmp(rn1) === 0)\n continue;\n\n for (var i = 1; i < s; i++) {\n x = x.redSqr();\n\n if (x.cmp(rone) === 0)\n return x.fromRed().subn(1).gcd(n);\n if (x.cmp(rn1) === 0)\n break;\n }\n\n if (i === s) {\n x = x.redSqr();\n return x.fromRed().subn(1).gcd(n);\n }\n }\n\n return false;\n};\n","module.exports = assert;\n\nfunction assert(val, msg) {\n if (!val)\n throw new Error(msg || 'Assertion failed');\n}\n\nassert.equal = function assertEqual(l, r, msg) {\n if (l != r)\n throw new Error(msg || ('Assertion failed: ' + l + ' != ' + r));\n};\n","'use strict';\n\nvar utils = exports;\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg !== 'string') {\n for (var i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n return res;\n }\n if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (var i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n } else {\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n var hi = c >> 8;\n var lo = c & 0xff;\n if (hi)\n res.push(hi, lo);\n else\n res.push(lo);\n }\n }\n return res;\n}\nutils.toArray = toArray;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nutils.zero2 = zero2;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nutils.toHex = toHex;\n\nutils.encode = function encode(arr, enc) {\n if (enc === 'hex')\n return toHex(arr);\n else\n return arr;\n};\n","module.exports={\"2.16.840.1.101.3.4.1.1\": \"aes-128-ecb\",\n\"2.16.840.1.101.3.4.1.2\": \"aes-128-cbc\",\n\"2.16.840.1.101.3.4.1.3\": \"aes-128-ofb\",\n\"2.16.840.1.101.3.4.1.4\": \"aes-128-cfb\",\n\"2.16.840.1.101.3.4.1.21\": \"aes-192-ecb\",\n\"2.16.840.1.101.3.4.1.22\": \"aes-192-cbc\",\n\"2.16.840.1.101.3.4.1.23\": \"aes-192-ofb\",\n\"2.16.840.1.101.3.4.1.24\": \"aes-192-cfb\",\n\"2.16.840.1.101.3.4.1.41\": \"aes-256-ecb\",\n\"2.16.840.1.101.3.4.1.42\": \"aes-256-cbc\",\n\"2.16.840.1.101.3.4.1.43\": \"aes-256-ofb\",\n\"2.16.840.1.101.3.4.1.44\": \"aes-256-cfb\"\n}","// from https://github.com/indutny/self-signed/blob/gh-pages/lib/asn1.js\n// Fedor, you are amazing.\n'use strict'\n\nvar asn1 = require('asn1.js')\n\nexports.certificate = require('./certificate')\n\nvar RSAPrivateKey = asn1.define('RSAPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('modulus').int(),\n this.key('publicExponent').int(),\n this.key('privateExponent').int(),\n this.key('prime1').int(),\n this.key('prime2').int(),\n this.key('exponent1').int(),\n this.key('exponent2').int(),\n this.key('coefficient').int()\n )\n})\nexports.RSAPrivateKey = RSAPrivateKey\n\nvar RSAPublicKey = asn1.define('RSAPublicKey', function () {\n this.seq().obj(\n this.key('modulus').int(),\n this.key('publicExponent').int()\n )\n})\nexports.RSAPublicKey = RSAPublicKey\n\nvar PublicKey = asn1.define('SubjectPublicKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPublicKey').bitstr()\n )\n})\nexports.PublicKey = PublicKey\n\nvar AlgorithmIdentifier = asn1.define('AlgorithmIdentifier', function () {\n this.seq().obj(\n this.key('algorithm').objid(),\n this.key('none').null_().optional(),\n this.key('curve').objid().optional(),\n this.key('params').seq().obj(\n this.key('p').int(),\n this.key('q').int(),\n this.key('g').int()\n ).optional()\n )\n})\n\nvar PrivateKeyInfo = asn1.define('PrivateKeyInfo', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPrivateKey').octstr()\n )\n})\nexports.PrivateKey = PrivateKeyInfo\nvar EncryptedPrivateKeyInfo = asn1.define('EncryptedPrivateKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').seq().obj(\n this.key('id').objid(),\n this.key('decrypt').seq().obj(\n this.key('kde').seq().obj(\n this.key('id').objid(),\n this.key('kdeparams').seq().obj(\n this.key('salt').octstr(),\n this.key('iters').int()\n )\n ),\n this.key('cipher').seq().obj(\n this.key('algo').objid(),\n this.key('iv').octstr()\n )\n )\n ),\n this.key('subjectPrivateKey').octstr()\n )\n})\n\nexports.EncryptedPrivateKey = EncryptedPrivateKeyInfo\n\nvar DSAPrivateKey = asn1.define('DSAPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('p').int(),\n this.key('q').int(),\n this.key('g').int(),\n this.key('pub_key').int(),\n this.key('priv_key').int()\n )\n})\nexports.DSAPrivateKey = DSAPrivateKey\n\nexports.DSAparam = asn1.define('DSAparam', function () {\n this.int()\n})\n\nvar ECPrivateKey = asn1.define('ECPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('privateKey').octstr(),\n this.key('parameters').optional().explicit(0).use(ECParameters),\n this.key('publicKey').optional().explicit(1).bitstr()\n )\n})\nexports.ECPrivateKey = ECPrivateKey\n\nvar ECParameters = asn1.define('ECParameters', function () {\n this.choice({\n namedCurve: this.objid()\n })\n})\n\nexports.signature = asn1.define('signature', function () {\n this.seq().obj(\n this.key('r').int(),\n this.key('s').int()\n )\n})\n","// from https://github.com/Rantanen/node-dtls/blob/25a7dc861bda38cfeac93a723500eea4f0ac2e86/Certificate.js\n// thanks to @Rantanen\n\n'use strict'\n\nvar asn = require('asn1.js')\n\nvar Time = asn.define('Time', function () {\n this.choice({\n utcTime: this.utctime(),\n generalTime: this.gentime()\n })\n})\n\nvar AttributeTypeValue = asn.define('AttributeTypeValue', function () {\n this.seq().obj(\n this.key('type').objid(),\n this.key('value').any()\n )\n})\n\nvar AlgorithmIdentifier = asn.define('AlgorithmIdentifier', function () {\n this.seq().obj(\n this.key('algorithm').objid(),\n this.key('parameters').optional(),\n this.key('curve').objid().optional()\n )\n})\n\nvar SubjectPublicKeyInfo = asn.define('SubjectPublicKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPublicKey').bitstr()\n )\n})\n\nvar RelativeDistinguishedName = asn.define('RelativeDistinguishedName', function () {\n this.setof(AttributeTypeValue)\n})\n\nvar RDNSequence = asn.define('RDNSequence', function () {\n this.seqof(RelativeDistinguishedName)\n})\n\nvar Name = asn.define('Name', function () {\n this.choice({\n rdnSequence: this.use(RDNSequence)\n })\n})\n\nvar Validity = asn.define('Validity', function () {\n this.seq().obj(\n this.key('notBefore').use(Time),\n this.key('notAfter').use(Time)\n )\n})\n\nvar Extension = asn.define('Extension', function () {\n this.seq().obj(\n this.key('extnID').objid(),\n this.key('critical').bool().def(false),\n this.key('extnValue').octstr()\n )\n})\n\nvar TBSCertificate = asn.define('TBSCertificate', function () {\n this.seq().obj(\n this.key('version').explicit(0).int().optional(),\n this.key('serialNumber').int(),\n this.key('signature').use(AlgorithmIdentifier),\n this.key('issuer').use(Name),\n this.key('validity').use(Validity),\n this.key('subject').use(Name),\n this.key('subjectPublicKeyInfo').use(SubjectPublicKeyInfo),\n this.key('issuerUniqueID').implicit(1).bitstr().optional(),\n this.key('subjectUniqueID').implicit(2).bitstr().optional(),\n this.key('extensions').explicit(3).seqof(Extension).optional()\n )\n})\n\nvar X509Certificate = asn.define('X509Certificate', function () {\n this.seq().obj(\n this.key('tbsCertificate').use(TBSCertificate),\n this.key('signatureAlgorithm').use(AlgorithmIdentifier),\n this.key('signatureValue').bitstr()\n )\n})\n\nmodule.exports = X509Certificate\n","// adapted from https://github.com/apatil/pemstrip\nvar findProc = /Proc-Type: 4,ENCRYPTED[\\n\\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\\n\\r]+([0-9A-z\\n\\r+/=]+)[\\n\\r]+/m\nvar startRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m\nvar fullRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\\n\\r+/=]+)-----END \\1-----$/m\nvar evp = require('evp_bytestokey')\nvar ciphers = require('browserify-aes')\nvar Buffer = require('safe-buffer').Buffer\nmodule.exports = function (okey, password) {\n var key = okey.toString()\n var match = key.match(findProc)\n var decrypted\n if (!match) {\n var match2 = key.match(fullRegex)\n decrypted = Buffer.from(match2[2].replace(/[\\r\\n]/g, ''), 'base64')\n } else {\n var suite = 'aes' + match[1]\n var iv = Buffer.from(match[2], 'hex')\n var cipherText = Buffer.from(match[3].replace(/[\\r\\n]/g, ''), 'base64')\n var cipherKey = evp(password, iv.slice(0, 8), parseInt(match[1], 10)).key\n var out = []\n var cipher = ciphers.createDecipheriv(suite, cipherKey, iv)\n out.push(cipher.update(cipherText))\n out.push(cipher.final())\n decrypted = Buffer.concat(out)\n }\n var tag = key.match(startRegex)[1]\n return {\n tag: tag,\n data: decrypted\n }\n}\n","var asn1 = require('./asn1')\nvar aesid = require('./aesid.json')\nvar fixProc = require('./fixProc')\nvar ciphers = require('browserify-aes')\nvar compat = require('pbkdf2')\nvar Buffer = require('safe-buffer').Buffer\nmodule.exports = parseKeys\n\nfunction parseKeys (buffer) {\n var password\n if (typeof buffer === 'object' && !Buffer.isBuffer(buffer)) {\n password = buffer.passphrase\n buffer = buffer.key\n }\n if (typeof buffer === 'string') {\n buffer = Buffer.from(buffer)\n }\n\n var stripped = fixProc(buffer, password)\n\n var type = stripped.tag\n var data = stripped.data\n var subtype, ndata\n switch (type) {\n case 'CERTIFICATE':\n ndata = asn1.certificate.decode(data, 'der').tbsCertificate.subjectPublicKeyInfo\n // falls through\n case 'PUBLIC KEY':\n if (!ndata) {\n ndata = asn1.PublicKey.decode(data, 'der')\n }\n subtype = ndata.algorithm.algorithm.join('.')\n switch (subtype) {\n case '1.2.840.113549.1.1.1':\n return asn1.RSAPublicKey.decode(ndata.subjectPublicKey.data, 'der')\n case '1.2.840.10045.2.1':\n ndata.subjectPrivateKey = ndata.subjectPublicKey\n return {\n type: 'ec',\n data: ndata\n }\n case '1.2.840.10040.4.1':\n ndata.algorithm.params.pub_key = asn1.DSAparam.decode(ndata.subjectPublicKey.data, 'der')\n return {\n type: 'dsa',\n data: ndata.algorithm.params\n }\n default: throw new Error('unknown key id ' + subtype)\n }\n // throw new Error('unknown key type ' + type)\n case 'ENCRYPTED PRIVATE KEY':\n data = asn1.EncryptedPrivateKey.decode(data, 'der')\n data = decrypt(data, password)\n // falls through\n case 'PRIVATE KEY':\n ndata = asn1.PrivateKey.decode(data, 'der')\n subtype = ndata.algorithm.algorithm.join('.')\n switch (subtype) {\n case '1.2.840.113549.1.1.1':\n return asn1.RSAPrivateKey.decode(ndata.subjectPrivateKey, 'der')\n case '1.2.840.10045.2.1':\n return {\n curve: ndata.algorithm.curve,\n privateKey: asn1.ECPrivateKey.decode(ndata.subjectPrivateKey, 'der').privateKey\n }\n case '1.2.840.10040.4.1':\n ndata.algorithm.params.priv_key = asn1.DSAparam.decode(ndata.subjectPrivateKey, 'der')\n return {\n type: 'dsa',\n params: ndata.algorithm.params\n }\n default: throw new Error('unknown key id ' + subtype)\n }\n // throw new Error('unknown key type ' + type)\n case 'RSA PUBLIC KEY':\n return asn1.RSAPublicKey.decode(data, 'der')\n case 'RSA PRIVATE KEY':\n return asn1.RSAPrivateKey.decode(data, 'der')\n case 'DSA PRIVATE KEY':\n return {\n type: 'dsa',\n params: asn1.DSAPrivateKey.decode(data, 'der')\n }\n case 'EC PRIVATE KEY':\n data = asn1.ECPrivateKey.decode(data, 'der')\n return {\n curve: data.parameters.value,\n privateKey: data.privateKey\n }\n default: throw new Error('unknown key type ' + type)\n }\n}\nparseKeys.signature = asn1.signature\nfunction decrypt (data, password) {\n var salt = data.algorithm.decrypt.kde.kdeparams.salt\n var iters = parseInt(data.algorithm.decrypt.kde.kdeparams.iters.toString(), 10)\n var algo = aesid[data.algorithm.decrypt.cipher.algo.join('.')]\n var iv = data.algorithm.decrypt.cipher.iv\n var cipherText = data.subjectPrivateKey\n var keylen = parseInt(algo.split('-')[1], 10) / 8\n var key = compat.pbkdf2Sync(password, salt, iters, keylen, 'sha1')\n var cipher = ciphers.createDecipheriv(algo, key, iv)\n var out = []\n out.push(cipher.update(cipherText))\n out.push(cipher.final())\n return Buffer.concat(out)\n}\n","exports.pbkdf2 = require('./lib/async')\nexports.pbkdf2Sync = require('./lib/sync')\n","var Buffer = require('safe-buffer').Buffer\n\nvar checkParameters = require('./precondition')\nvar defaultEncoding = require('./default-encoding')\nvar sync = require('./sync')\nvar toBuffer = require('./to-buffer')\n\nvar ZERO_BUF\nvar subtle = global.crypto && global.crypto.subtle\nvar toBrowser = {\n sha: 'SHA-1',\n 'sha-1': 'SHA-1',\n sha1: 'SHA-1',\n sha256: 'SHA-256',\n 'sha-256': 'SHA-256',\n sha384: 'SHA-384',\n 'sha-384': 'SHA-384',\n 'sha-512': 'SHA-512',\n sha512: 'SHA-512'\n}\nvar checks = []\nfunction checkNative (algo) {\n if (global.process && !global.process.browser) {\n return Promise.resolve(false)\n }\n if (!subtle || !subtle.importKey || !subtle.deriveBits) {\n return Promise.resolve(false)\n }\n if (checks[algo] !== undefined) {\n return checks[algo]\n }\n ZERO_BUF = ZERO_BUF || Buffer.alloc(8)\n var prom = browserPbkdf2(ZERO_BUF, ZERO_BUF, 10, 128, algo)\n .then(function () {\n return true\n }).catch(function () {\n return false\n })\n checks[algo] = prom\n return prom\n}\nvar nextTick\nfunction getNextTick () {\n if (nextTick) {\n return nextTick\n }\n if (global.process && global.process.nextTick) {\n nextTick = global.process.nextTick\n } else if (global.queueMicrotask) {\n nextTick = global.queueMicrotask\n } else if (global.setImmediate) {\n nextTick = global.setImmediate\n } else {\n nextTick = global.setTimeout\n }\n return nextTick\n}\nfunction browserPbkdf2 (password, salt, iterations, length, algo) {\n return subtle.importKey(\n 'raw', password, { name: 'PBKDF2' }, false, ['deriveBits']\n ).then(function (key) {\n return subtle.deriveBits({\n name: 'PBKDF2',\n salt: salt,\n iterations: iterations,\n hash: {\n name: algo\n }\n }, key, length << 3)\n }).then(function (res) {\n return Buffer.from(res)\n })\n}\n\nfunction resolvePromise (promise, callback) {\n promise.then(function (out) {\n getNextTick()(function () {\n callback(null, out)\n })\n }, function (e) {\n getNextTick()(function () {\n callback(e)\n })\n })\n}\nmodule.exports = function (password, salt, iterations, keylen, digest, callback) {\n if (typeof digest === 'function') {\n callback = digest\n digest = undefined\n }\n\n digest = digest || 'sha1'\n var algo = toBrowser[digest.toLowerCase()]\n\n if (!algo || typeof global.Promise !== 'function') {\n getNextTick()(function () {\n var out\n try {\n out = sync(password, salt, iterations, keylen, digest)\n } catch (e) {\n return callback(e)\n }\n callback(null, out)\n })\n return\n }\n\n checkParameters(iterations, keylen)\n password = toBuffer(password, defaultEncoding, 'Password')\n salt = toBuffer(salt, defaultEncoding, 'Salt')\n if (typeof callback !== 'function') throw new Error('No callback provided to pbkdf2')\n\n resolvePromise(checkNative(algo).then(function (resp) {\n if (resp) return browserPbkdf2(password, salt, iterations, keylen, algo)\n\n return sync(password, salt, iterations, keylen, digest)\n }), callback)\n}\n","var defaultEncoding\n/* istanbul ignore next */\nif (global.process && global.process.browser) {\n defaultEncoding = 'utf-8'\n} else if (global.process && global.process.version) {\n var pVersionMajor = parseInt(process.version.split('.')[0].slice(1), 10)\n\n defaultEncoding = pVersionMajor >= 6 ? 'utf-8' : 'binary'\n} else {\n defaultEncoding = 'utf-8'\n}\nmodule.exports = defaultEncoding\n","var MAX_ALLOC = Math.pow(2, 30) - 1 // default in iojs\n\nmodule.exports = function (iterations, keylen) {\n if (typeof iterations !== 'number') {\n throw new TypeError('Iterations not a number')\n }\n\n if (iterations < 0) {\n throw new TypeError('Bad iterations')\n }\n\n if (typeof keylen !== 'number') {\n throw new TypeError('Key length not a number')\n }\n\n if (keylen < 0 || keylen > MAX_ALLOC || keylen !== keylen) { /* eslint no-self-compare: 0 */\n throw new TypeError('Bad key length')\n }\n}\n","var md5 = require('create-hash/md5')\nvar RIPEMD160 = require('ripemd160')\nvar sha = require('sha.js')\nvar Buffer = require('safe-buffer').Buffer\n\nvar checkParameters = require('./precondition')\nvar defaultEncoding = require('./default-encoding')\nvar toBuffer = require('./to-buffer')\n\nvar ZEROS = Buffer.alloc(128)\nvar sizes = {\n md5: 16,\n sha1: 20,\n sha224: 28,\n sha256: 32,\n sha384: 48,\n sha512: 64,\n rmd160: 20,\n ripemd160: 20\n}\n\nfunction Hmac (alg, key, saltLen) {\n var hash = getDigest(alg)\n var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64\n\n if (key.length > blocksize) {\n key = hash(key)\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = Buffer.allocUnsafe(blocksize + sizes[alg])\n var opad = Buffer.allocUnsafe(blocksize + sizes[alg])\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n\n var ipad1 = Buffer.allocUnsafe(blocksize + saltLen + 4)\n ipad.copy(ipad1, 0, 0, blocksize)\n this.ipad1 = ipad1\n this.ipad2 = ipad\n this.opad = opad\n this.alg = alg\n this.blocksize = blocksize\n this.hash = hash\n this.size = sizes[alg]\n}\n\nHmac.prototype.run = function (data, ipad) {\n data.copy(ipad, this.blocksize)\n var h = this.hash(ipad)\n h.copy(this.opad, this.blocksize)\n return this.hash(this.opad)\n}\n\nfunction getDigest (alg) {\n function shaFunc (data) {\n return sha(alg).update(data).digest()\n }\n function rmd160Func (data) {\n return new RIPEMD160().update(data).digest()\n }\n\n if (alg === 'rmd160' || alg === 'ripemd160') return rmd160Func\n if (alg === 'md5') return md5\n return shaFunc\n}\n\nfunction pbkdf2 (password, salt, iterations, keylen, digest) {\n checkParameters(iterations, keylen)\n password = toBuffer(password, defaultEncoding, 'Password')\n salt = toBuffer(salt, defaultEncoding, 'Salt')\n\n digest = digest || 'sha1'\n\n var hmac = new Hmac(digest, password, salt.length)\n\n var DK = Buffer.allocUnsafe(keylen)\n var block1 = Buffer.allocUnsafe(salt.length + 4)\n salt.copy(block1, 0, 0, salt.length)\n\n var destPos = 0\n var hLen = sizes[digest]\n var l = Math.ceil(keylen / hLen)\n\n for (var i = 1; i <= l; i++) {\n block1.writeUInt32BE(i, salt.length)\n\n var T = hmac.run(block1, hmac.ipad1)\n var U = T\n\n for (var j = 1; j < iterations; j++) {\n U = hmac.run(U, hmac.ipad2)\n for (var k = 0; k < hLen; k++) T[k] ^= U[k]\n }\n\n T.copy(DK, destPos)\n destPos += hLen\n }\n\n return DK\n}\n\nmodule.exports = pbkdf2\n","var Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function (thing, encoding, name) {\n if (Buffer.isBuffer(thing)) {\n return thing\n } else if (typeof thing === 'string') {\n return Buffer.from(thing, encoding)\n } else if (ArrayBuffer.isView(thing)) {\n return Buffer.from(thing.buffer)\n } else {\n throw new TypeError(name + ' must be a string, a Buffer, a typed array or a DataView')\n }\n}\n","'use strict';\n\nif (typeof process === 'undefined' ||\n !process.version ||\n process.version.indexOf('v0.') === 0 ||\n process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) {\n module.exports = { nextTick: nextTick };\n} else {\n module.exports = process\n}\n\nfunction nextTick(fn, arg1, arg2, arg3) {\n if (typeof fn !== 'function') {\n throw new TypeError('\"callback\" argument must be a function');\n }\n var len = arguments.length;\n var args, i;\n switch (len) {\n case 0:\n case 1:\n return process.nextTick(fn);\n case 2:\n return process.nextTick(function afterTickOne() {\n fn.call(null, arg1);\n });\n case 3:\n return process.nextTick(function afterTickTwo() {\n fn.call(null, arg1, arg2);\n });\n case 4:\n return process.nextTick(function afterTickThree() {\n fn.call(null, arg1, arg2, arg3);\n });\n default:\n args = new Array(len - 1);\n i = 0;\n while (i < args.length) {\n args[i++] = arguments[i];\n }\n return process.nextTick(function afterTick() {\n fn.apply(null, args);\n });\n }\n}\n\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","exports.publicEncrypt = require('./publicEncrypt')\nexports.privateDecrypt = require('./privateDecrypt')\n\nexports.privateEncrypt = function privateEncrypt (key, buf) {\n return exports.publicEncrypt(key, buf, true)\n}\n\nexports.publicDecrypt = function publicDecrypt (key, buf) {\n return exports.privateDecrypt(key, buf, true)\n}\n","var createHash = require('create-hash')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function (seed, len) {\n var t = Buffer.alloc(0)\n var i = 0\n var c\n while (t.length < len) {\n c = i2ops(i++)\n t = Buffer.concat([t, createHash('sha1').update(seed).update(c).digest()])\n }\n return t.slice(0, len)\n}\n\nfunction i2ops (c) {\n var out = Buffer.allocUnsafe(4)\n out.writeUInt32BE(c, 0)\n return out\n}\n","var parseKeys = require('parse-asn1')\nvar mgf = require('./mgf')\nvar xor = require('./xor')\nvar BN = require('bn.js')\nvar crt = require('browserify-rsa')\nvar createHash = require('create-hash')\nvar withPublic = require('./withPublic')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function privateDecrypt (privateKey, enc, reverse) {\n var padding\n if (privateKey.padding) {\n padding = privateKey.padding\n } else if (reverse) {\n padding = 1\n } else {\n padding = 4\n }\n\n var key = parseKeys(privateKey)\n var k = key.modulus.byteLength()\n if (enc.length > k || new BN(enc).cmp(key.modulus) >= 0) {\n throw new Error('decryption error')\n }\n var msg\n if (reverse) {\n msg = withPublic(new BN(enc), key)\n } else {\n msg = crt(enc, key)\n }\n var zBuffer = Buffer.alloc(k - msg.length)\n msg = Buffer.concat([zBuffer, msg], k)\n if (padding === 4) {\n return oaep(key, msg)\n } else if (padding === 1) {\n return pkcs1(key, msg, reverse)\n } else if (padding === 3) {\n return msg\n } else {\n throw new Error('unknown padding')\n }\n}\n\nfunction oaep (key, msg) {\n var k = key.modulus.byteLength()\n var iHash = createHash('sha1').update(Buffer.alloc(0)).digest()\n var hLen = iHash.length\n if (msg[0] !== 0) {\n throw new Error('decryption error')\n }\n var maskedSeed = msg.slice(1, hLen + 1)\n var maskedDb = msg.slice(hLen + 1)\n var seed = xor(maskedSeed, mgf(maskedDb, hLen))\n var db = xor(maskedDb, mgf(seed, k - hLen - 1))\n if (compare(iHash, db.slice(0, hLen))) {\n throw new Error('decryption error')\n }\n var i = hLen\n while (db[i] === 0) {\n i++\n }\n if (db[i++] !== 1) {\n throw new Error('decryption error')\n }\n return db.slice(i)\n}\n\nfunction pkcs1 (key, msg, reverse) {\n var p1 = msg.slice(0, 2)\n var i = 2\n var status = 0\n while (msg[i++] !== 0) {\n if (i >= msg.length) {\n status++\n break\n }\n }\n var ps = msg.slice(2, i - 1)\n\n if ((p1.toString('hex') !== '0002' && !reverse) || (p1.toString('hex') !== '0001' && reverse)) {\n status++\n }\n if (ps.length < 8) {\n status++\n }\n if (status) {\n throw new Error('decryption error')\n }\n return msg.slice(i)\n}\nfunction compare (a, b) {\n a = Buffer.from(a)\n b = Buffer.from(b)\n var dif = 0\n var len = a.length\n if (a.length !== b.length) {\n dif++\n len = Math.min(a.length, b.length)\n }\n var i = -1\n while (++i < len) {\n dif += (a[i] ^ b[i])\n }\n return dif\n}\n","var parseKeys = require('parse-asn1')\nvar randomBytes = require('randombytes')\nvar createHash = require('create-hash')\nvar mgf = require('./mgf')\nvar xor = require('./xor')\nvar BN = require('bn.js')\nvar withPublic = require('./withPublic')\nvar crt = require('browserify-rsa')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function publicEncrypt (publicKey, msg, reverse) {\n var padding\n if (publicKey.padding) {\n padding = publicKey.padding\n } else if (reverse) {\n padding = 1\n } else {\n padding = 4\n }\n var key = parseKeys(publicKey)\n var paddedMsg\n if (padding === 4) {\n paddedMsg = oaep(key, msg)\n } else if (padding === 1) {\n paddedMsg = pkcs1(key, msg, reverse)\n } else if (padding === 3) {\n paddedMsg = new BN(msg)\n if (paddedMsg.cmp(key.modulus) >= 0) {\n throw new Error('data too long for modulus')\n }\n } else {\n throw new Error('unknown padding')\n }\n if (reverse) {\n return crt(paddedMsg, key)\n } else {\n return withPublic(paddedMsg, key)\n }\n}\n\nfunction oaep (key, msg) {\n var k = key.modulus.byteLength()\n var mLen = msg.length\n var iHash = createHash('sha1').update(Buffer.alloc(0)).digest()\n var hLen = iHash.length\n var hLen2 = 2 * hLen\n if (mLen > k - hLen2 - 2) {\n throw new Error('message too long')\n }\n var ps = Buffer.alloc(k - mLen - hLen2 - 2)\n var dblen = k - hLen - 1\n var seed = randomBytes(hLen)\n var maskedDb = xor(Buffer.concat([iHash, ps, Buffer.alloc(1, 1), msg], dblen), mgf(seed, dblen))\n var maskedSeed = xor(seed, mgf(maskedDb, hLen))\n return new BN(Buffer.concat([Buffer.alloc(1), maskedSeed, maskedDb], k))\n}\nfunction pkcs1 (key, msg, reverse) {\n var mLen = msg.length\n var k = key.modulus.byteLength()\n if (mLen > k - 11) {\n throw new Error('message too long')\n }\n var ps\n if (reverse) {\n ps = Buffer.alloc(k - mLen - 3, 0xff)\n } else {\n ps = nonZero(k - mLen - 3)\n }\n return new BN(Buffer.concat([Buffer.from([0, reverse ? 1 : 2]), ps, Buffer.alloc(1), msg], k))\n}\nfunction nonZero (len) {\n var out = Buffer.allocUnsafe(len)\n var i = 0\n var cache = randomBytes(len * 2)\n var cur = 0\n var num\n while (i < len) {\n if (cur === cache.length) {\n cache = randomBytes(len * 2)\n cur = 0\n }\n num = cache[cur++]\n if (num) {\n out[i++] = num\n }\n }\n return out\n}\n","var BN = require('bn.js')\nvar Buffer = require('safe-buffer').Buffer\n\nfunction withPublic (paddedMsg, key) {\n return Buffer.from(paddedMsg\n .toRed(BN.mont(key.modulus))\n .redPow(new BN(key.publicExponent))\n .fromRed()\n .toArray())\n}\n\nmodule.exports = withPublic\n","module.exports = function xor (a, b) {\n var len = a.length\n var i = -1\n while (++i < len) {\n a[i] ^= b[i]\n }\n return a\n}\n","'use strict'\n\n// limit of Crypto.getRandomValues()\n// https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues\nvar MAX_BYTES = 65536\n\n// Node supports requesting up to this number of bytes\n// https://github.com/nodejs/node/blob/master/lib/internal/crypto/random.js#L48\nvar MAX_UINT32 = 4294967295\n\nfunction oldBrowser () {\n throw new Error('Secure random number generation is not supported by this browser.\\nUse Chrome, Firefox or Internet Explorer 11')\n}\n\nvar Buffer = require('safe-buffer').Buffer\nvar crypto = global.crypto || global.msCrypto\n\nif (crypto && crypto.getRandomValues) {\n module.exports = randomBytes\n} else {\n module.exports = oldBrowser\n}\n\nfunction randomBytes (size, cb) {\n // phantomjs needs to throw\n if (size > MAX_UINT32) throw new RangeError('requested too many random bytes')\n\n var bytes = Buffer.allocUnsafe(size)\n\n if (size > 0) { // getRandomValues fails on IE if size == 0\n if (size > MAX_BYTES) { // this is the max bytes crypto.getRandomValues\n // can do at once see https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues\n for (var generated = 0; generated < size; generated += MAX_BYTES) {\n // buffer.slice automatically checks if the end is past the end of\n // the buffer so we don't have to here\n crypto.getRandomValues(bytes.slice(generated, generated + MAX_BYTES))\n }\n } else {\n crypto.getRandomValues(bytes)\n }\n }\n\n if (typeof cb === 'function') {\n return process.nextTick(function () {\n cb(null, bytes)\n })\n }\n\n return bytes\n}\n","'use strict'\n\nfunction oldBrowser () {\n throw new Error('secure random number generation not supported by this browser\\nuse chrome, FireFox or Internet Explorer 11')\n}\nvar safeBuffer = require('safe-buffer')\nvar randombytes = require('randombytes')\nvar Buffer = safeBuffer.Buffer\nvar kBufferMaxLength = safeBuffer.kMaxLength\nvar crypto = global.crypto || global.msCrypto\nvar kMaxUint32 = Math.pow(2, 32) - 1\nfunction assertOffset (offset, length) {\n if (typeof offset !== 'number' || offset !== offset) { // eslint-disable-line no-self-compare\n throw new TypeError('offset must be a number')\n }\n\n if (offset > kMaxUint32 || offset < 0) {\n throw new TypeError('offset must be a uint32')\n }\n\n if (offset > kBufferMaxLength || offset > length) {\n throw new RangeError('offset out of range')\n }\n}\n\nfunction assertSize (size, offset, length) {\n if (typeof size !== 'number' || size !== size) { // eslint-disable-line no-self-compare\n throw new TypeError('size must be a number')\n }\n\n if (size > kMaxUint32 || size < 0) {\n throw new TypeError('size must be a uint32')\n }\n\n if (size + offset > length || size > kBufferMaxLength) {\n throw new RangeError('buffer too small')\n }\n}\nif ((crypto && crypto.getRandomValues) || !process.browser) {\n exports.randomFill = randomFill\n exports.randomFillSync = randomFillSync\n} else {\n exports.randomFill = oldBrowser\n exports.randomFillSync = oldBrowser\n}\nfunction randomFill (buf, offset, size, cb) {\n if (!Buffer.isBuffer(buf) && !(buf instanceof global.Uint8Array)) {\n throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array')\n }\n\n if (typeof offset === 'function') {\n cb = offset\n offset = 0\n size = buf.length\n } else if (typeof size === 'function') {\n cb = size\n size = buf.length - offset\n } else if (typeof cb !== 'function') {\n throw new TypeError('\"cb\" argument must be a function')\n }\n assertOffset(offset, buf.length)\n assertSize(size, offset, buf.length)\n return actualFill(buf, offset, size, cb)\n}\n\nfunction actualFill (buf, offset, size, cb) {\n if (process.browser) {\n var ourBuf = buf.buffer\n var uint = new Uint8Array(ourBuf, offset, size)\n crypto.getRandomValues(uint)\n if (cb) {\n process.nextTick(function () {\n cb(null, buf)\n })\n return\n }\n return buf\n }\n if (cb) {\n randombytes(size, function (err, bytes) {\n if (err) {\n return cb(err)\n }\n bytes.copy(buf, offset)\n cb(null, buf)\n })\n return\n }\n var bytes = randombytes(size)\n bytes.copy(buf, offset)\n return buf\n}\nfunction randomFillSync (buf, offset, size) {\n if (typeof offset === 'undefined') {\n offset = 0\n }\n if (!Buffer.isBuffer(buf) && !(buf instanceof global.Uint8Array)) {\n throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array')\n }\n\n assertOffset(offset, buf.length)\n\n if (size === undefined) size = buf.length - offset\n\n assertSize(size, offset, buf.length)\n\n return actualFill(buf, offset, size)\n}\n","'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict';\n\n/*<replacement>*/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n};\n/*</replacement>*/\n\nmodule.exports = Duplex;\nvar Readable = require('./_stream_readable');\nvar Writable = require('./_stream_writable');\nrequire('inherits')(Duplex, Readable);\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n process.nextTick(onEndNT, this);\n}\nfunction onEndNT(self) {\n self.end();\n}\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n'use strict';\n\nmodule.exports = PassThrough;\nvar Transform = require('./_stream_transform');\nrequire('inherits')(PassThrough, Transform);\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nmodule.exports = Readable;\n\n/*<replacement>*/\nvar Duplex;\n/*</replacement>*/\n\nReadable.ReadableState = ReadableState;\n\n/*<replacement>*/\nvar EE = require('events').EventEmitter;\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/*</replacement>*/\n\n/*<replacement>*/\nvar Stream = require('./internal/streams/stream');\n/*</replacement>*/\n\nvar Buffer = require('buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/*<replacement>*/\nvar debugUtil = require('util');\nvar debug;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/*</replacement>*/\n\nvar BufferList = require('./internal/streams/buffer_list');\nvar destroyImpl = require('./internal/streams/destroy');\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;\n\n// Lazy loaded to improve the startup performance.\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\nrequire('inherits')(Readable, Stream);\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'end' (and potentially 'finish')\n this.autoDestroy = !!options.autoDestroy;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options);\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex);\n\n // legacy\n this.readable = true;\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n Stream.call(this);\n}\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n }\n\n // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n return er;\n}\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder;\n // If setEncoding(null), decoder.encoding equals utf8\n this._readableState.encoding = this._readableState.decoder.encoding;\n\n // Iterate over current buffer to convert already stored Buffers:\n var p = this._readableState.buffer.head;\n var content = '';\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n this._readableState.buffer.clear();\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n};\n\n// Don't raise the hwm > 1GB\nvar MAX_HWM = 0x40000000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n }\n\n // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n return dest;\n};\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n for (var i = 0; i < len; i++) dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0;\n\n // Try start flowing on next tick if stream isn't explicitly paused\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true;\n\n // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n state.paused = false;\n return this;\n};\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n if (!state.reading) {\n stream.read(0);\n }\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n this._readableState.paused = true;\n return this;\n};\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null);\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n return this;\n};\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n return createReadableStreamAsyncIterator(this);\n };\n}\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n});\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length);\n\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n return from(Readable, iterable, opts);\n };\n}\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict';\n\nmodule.exports = Transform;\nvar _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\nvar Duplex = require('./_stream_duplex');\nrequire('inherits')(Transform, Duplex);\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null)\n // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\nfunction prefinish() {\n var _this = this;\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null)\n // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n'use strict';\n\nmodule.exports = Writable;\n\n/* <replacement> */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* </replacement> */\n\n/*<replacement>*/\nvar Duplex;\n/*</replacement>*/\n\nWritable.WritableState = WritableState;\n\n/*<replacement>*/\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/*</replacement>*/\n\n/*<replacement>*/\nvar Stream = require('./internal/streams/stream');\n/*</replacement>*/\n\nvar Buffer = require('buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\nvar destroyImpl = require('./internal/streams/destroy');\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nrequire('inherits')(Writable, Stream);\nfunction nop() {}\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'finish' (and potentially 'end')\n this.autoDestroy = !!options.autoDestroy;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex);\n\n // legacy.\n this.writable = true;\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END();\n // TODO: defer error events consistently everywhere, not just the cb\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n return true;\n}\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n return ret;\n}\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n if (entry === null) state.lastBufferedRequest = null;\n }\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\nWritable.prototype._writev = null;\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n errorOrDestroy(stream, err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n return need;\n}\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n\n // reuse the free corkReq.\n state.corkedRequestsFree.next = corkReq;\n}\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};","'use strict';\n\nvar _Object$setPrototypeO;\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar finished = require('./end-of-stream');\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n if (resolve !== null) {\n var data = iter[kStream].read();\n // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n next: function next() {\n var _this = this;\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n if (error !== null) {\n return Promise.reject(error);\n }\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n }\n\n // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n var lastPromise = this[kLastPromise];\n var promise;\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n promise = new Promise(this[kHandlePromise]);\n }\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject];\n // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n iterator[kError] = err;\n return;\n }\n var resolve = iterator[kLastResolve];\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\nmodule.exports = createReadableStreamAsyncIterator;","'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar _require = require('buffer'),\n Buffer = _require.Buffer;\nvar _require2 = require('util'),\n inspect = _require2.inspect;\nvar custom = inspect && inspect.custom || 'inspect';\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\nmodule.exports = /*#__PURE__*/function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) ret += s + p.data;\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n }\n\n // Consumes a specified amount of bytes or characters from the buffered data.\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n }\n\n // Consumes a specified amount of characters from the buffered data.\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Consumes a specified amount of bytes from the buffered data.\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Make sure the linked list only shows the minimal necessary information.\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread(_objectSpread({}, options), {}, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n return BufferList;\n}();","'use strict';\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n return this;\n}\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n callback.apply(this, args);\n };\n}\nfunction noop() {}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n var writableEnded = stream._writableState && stream._writableState.finished;\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n var onclose = function onclose() {\n var err;\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\nmodule.exports = eos;","module.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n","// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n\n'use strict';\n\nvar eos;\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\nvar _require$codes = require('../../../errors').codes,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = require('./end-of-stream');\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true;\n\n // request.destroy just do .end - .abort is what we want\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\nfunction call(fn) {\n fn();\n}\nfunction pipe(from, to) {\n return from.pipe(to);\n}\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\nmodule.exports = pipeline;","'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n return Math.floor(hwm);\n }\n\n // Default value\n return state.objectMode ? 16 : 16 * 1024;\n}\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};","module.exports = require('events').EventEmitter;\n","exports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\nexports.finished = require('./lib/internal/streams/end-of-stream.js');\nexports.pipeline = require('./lib/internal/streams/pipeline.js');\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; };\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n defineProperty(generator, \"_invoke\", { value: makeInvokeMethod(innerFn, self, context) });\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n defineProperty(Gp, \"constructor\", { value: GeneratorFunctionPrototype, configurable: true });\n defineProperty(\n GeneratorFunctionPrototype,\n \"constructor\",\n { value: GeneratorFunction, configurable: true }\n );\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n defineProperty(this, \"_invoke\", { value: enqueue });\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method;\n var method = delegate.iterator[methodName];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method, or a missing .next mehtod, always terminate the\n // yield* loop.\n context.delegate = null;\n\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (methodName === \"throw\" && delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n if (methodName !== \"return\") {\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a '\" + methodName + \"' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(val) {\n var object = Object(val);\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","'use strict'\nvar Buffer = require('buffer').Buffer\nvar inherits = require('inherits')\nvar HashBase = require('hash-base')\n\nvar ARRAY16 = new Array(16)\n\nvar zl = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13\n]\n\nvar zr = [\n 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11\n]\n\nvar sl = [\n 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6\n]\n\nvar sr = [\n 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11\n]\n\nvar hl = [0x00000000, 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xa953fd4e]\nvar hr = [0x50a28be6, 0x5c4dd124, 0x6d703ef3, 0x7a6d76e9, 0x00000000]\n\nfunction RIPEMD160 () {\n HashBase.call(this, 64)\n\n // state\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n}\n\ninherits(RIPEMD160, HashBase)\n\nRIPEMD160.prototype._update = function () {\n var words = ARRAY16\n for (var j = 0; j < 16; ++j) words[j] = this._block.readInt32LE(j * 4)\n\n var al = this._a | 0\n var bl = this._b | 0\n var cl = this._c | 0\n var dl = this._d | 0\n var el = this._e | 0\n\n var ar = this._a | 0\n var br = this._b | 0\n var cr = this._c | 0\n var dr = this._d | 0\n var er = this._e | 0\n\n // computation\n for (var i = 0; i < 80; i += 1) {\n var tl\n var tr\n if (i < 16) {\n tl = fn1(al, bl, cl, dl, el, words[zl[i]], hl[0], sl[i])\n tr = fn5(ar, br, cr, dr, er, words[zr[i]], hr[0], sr[i])\n } else if (i < 32) {\n tl = fn2(al, bl, cl, dl, el, words[zl[i]], hl[1], sl[i])\n tr = fn4(ar, br, cr, dr, er, words[zr[i]], hr[1], sr[i])\n } else if (i < 48) {\n tl = fn3(al, bl, cl, dl, el, words[zl[i]], hl[2], sl[i])\n tr = fn3(ar, br, cr, dr, er, words[zr[i]], hr[2], sr[i])\n } else if (i < 64) {\n tl = fn4(al, bl, cl, dl, el, words[zl[i]], hl[3], sl[i])\n tr = fn2(ar, br, cr, dr, er, words[zr[i]], hr[3], sr[i])\n } else { // if (i<80) {\n tl = fn5(al, bl, cl, dl, el, words[zl[i]], hl[4], sl[i])\n tr = fn1(ar, br, cr, dr, er, words[zr[i]], hr[4], sr[i])\n }\n\n al = el\n el = dl\n dl = rotl(cl, 10)\n cl = bl\n bl = tl\n\n ar = er\n er = dr\n dr = rotl(cr, 10)\n cr = br\n br = tr\n }\n\n // update state\n var t = (this._b + cl + dr) | 0\n this._b = (this._c + dl + er) | 0\n this._c = (this._d + el + ar) | 0\n this._d = (this._e + al + br) | 0\n this._e = (this._a + bl + cr) | 0\n this._a = t\n}\n\nRIPEMD160.prototype._digest = function () {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64)\n this._update()\n this._blockOffset = 0\n }\n\n this._block.fill(0, this._blockOffset, 56)\n this._block.writeUInt32LE(this._length[0], 56)\n this._block.writeUInt32LE(this._length[1], 60)\n this._update()\n\n // produce result\n var buffer = Buffer.alloc ? Buffer.alloc(20) : new Buffer(20)\n buffer.writeInt32LE(this._a, 0)\n buffer.writeInt32LE(this._b, 4)\n buffer.writeInt32LE(this._c, 8)\n buffer.writeInt32LE(this._d, 12)\n buffer.writeInt32LE(this._e, 16)\n return buffer\n}\n\nfunction rotl (x, n) {\n return (x << n) | (x >>> (32 - n))\n}\n\nfunction fn1 (a, b, c, d, e, m, k, s) {\n return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn2 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn3 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b | (~c)) ^ d) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn4 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn5 (a, b, c, d, e, m, k, s) {\n return (rotl((a + (b ^ (c | (~d))) + m + k) | 0, s) + e) | 0\n}\n\nmodule.exports = RIPEMD160\n","/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","/* eslint-disable node/no-deprecated-api */\n\n'use strict'\n\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\nvar safer = {}\n\nvar key\n\nfor (key in buffer) {\n if (!buffer.hasOwnProperty(key)) continue\n if (key === 'SlowBuffer' || key === 'Buffer') continue\n safer[key] = buffer[key]\n}\n\nvar Safer = safer.Buffer = {}\nfor (key in Buffer) {\n if (!Buffer.hasOwnProperty(key)) continue\n if (key === 'allocUnsafe' || key === 'allocUnsafeSlow') continue\n Safer[key] = Buffer[key]\n}\n\nsafer.Buffer.prototype = Buffer.prototype\n\nif (!Safer.from || Safer.from === Uint8Array.from) {\n Safer.from = function (value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('The \"value\" argument must not be of type number. Received type ' + typeof value)\n }\n if (value && typeof value.length === 'undefined') {\n throw new TypeError('The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type ' + typeof value)\n }\n return Buffer(value, encodingOrOffset, length)\n }\n}\n\nif (!Safer.alloc) {\n Safer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('The \"size\" argument must be of type number. Received type ' + typeof size)\n }\n if (size < 0 || size >= 2 * (1 << 30)) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n var buf = Buffer(size)\n if (!fill || fill.length === 0) {\n buf.fill(0)\n } else if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n return buf\n }\n}\n\nif (!safer.kStringMaxLength) {\n try {\n safer.kStringMaxLength = process.binding('buffer').kStringMaxLength\n } catch (e) {\n // we can't determine kStringMaxLength in environments where process.binding\n // is unsupported, so let's not set it\n }\n}\n\nif (!safer.constants) {\n safer.constants = {\n MAX_LENGTH: safer.kMaxLength\n }\n if (safer.kStringMaxLength) {\n safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength\n }\n}\n\nmodule.exports = safer\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nconst ed5 = require(\"xmlchars/xml/1.0/ed5\");\nconst ed2 = require(\"xmlchars/xml/1.1/ed2\");\nconst NSed3 = require(\"xmlchars/xmlns/1.0/ed3\");\nvar isS = ed5.isS;\nvar isChar10 = ed5.isChar;\nvar isNameStartChar = ed5.isNameStartChar;\nvar isNameChar = ed5.isNameChar;\nvar S_LIST = ed5.S_LIST;\nvar NAME_RE = ed5.NAME_RE;\nvar isChar11 = ed2.isChar;\nvar isNCNameStartChar = NSed3.isNCNameStartChar;\nvar isNCNameChar = NSed3.isNCNameChar;\nvar NC_NAME_RE = NSed3.NC_NAME_RE;\nconst XML_NAMESPACE = \"http://www.w3.org/XML/1998/namespace\";\nconst XMLNS_NAMESPACE = \"http://www.w3.org/2000/xmlns/\";\nconst rootNS = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n __proto__: null,\n xml: XML_NAMESPACE,\n xmlns: XMLNS_NAMESPACE\n};\nconst XML_ENTITIES = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n __proto__: null,\n amp: \"&\",\n gt: \">\",\n lt: \"<\",\n quot: \"\\\"\",\n apos: \"'\"\n};\n// EOC: end-of-chunk\nconst EOC = -1;\nconst NL_LIKE = -2;\nconst S_BEGIN = 0; // Initial state.\nconst S_BEGIN_WHITESPACE = 1; // leading whitespace\nconst S_DOCTYPE = 2; // <!DOCTYPE\nconst S_DOCTYPE_QUOTE = 3; // <!DOCTYPE \"//blah\nconst S_DTD = 4; // <!DOCTYPE \"//blah\" [ ...\nconst S_DTD_QUOTED = 5; // <!DOCTYPE \"//blah\" [ \"foo\nconst S_DTD_OPEN_WAKA = 6;\nconst S_DTD_OPEN_WAKA_BANG = 7;\nconst S_DTD_COMMENT = 8; // <!--\nconst S_DTD_COMMENT_ENDING = 9; // <!-- blah -\nconst S_DTD_COMMENT_ENDED = 10; // <!-- blah --\nconst S_DTD_PI = 11; // <?\nconst S_DTD_PI_ENDING = 12; // <?hi \"there\" ?\nconst S_TEXT = 13; // general stuff\nconst S_ENTITY = 14; // & and such\nconst S_OPEN_WAKA = 15; // <\nconst S_OPEN_WAKA_BANG = 16; // <!...\nconst S_COMMENT = 17; // <!--\nconst S_COMMENT_ENDING = 18; // <!-- blah -\nconst S_COMMENT_ENDED = 19; // <!-- blah --\nconst S_CDATA = 20; // <![CDATA[ something\nconst S_CDATA_ENDING = 21; // ]\nconst S_CDATA_ENDING_2 = 22; // ]]\nconst S_PI_FIRST_CHAR = 23; // <?hi, first char\nconst S_PI_REST = 24; // <?hi, rest of the name\nconst S_PI_BODY = 25; // <?hi there\nconst S_PI_ENDING = 26; // <?hi \"there\" ?\nconst S_XML_DECL_NAME_START = 27; // <?xml\nconst S_XML_DECL_NAME = 28; // <?xml foo\nconst S_XML_DECL_EQ = 29; // <?xml foo=\nconst S_XML_DECL_VALUE_START = 30; // <?xml foo=\nconst S_XML_DECL_VALUE = 31; // <?xml foo=\"bar\"\nconst S_XML_DECL_SEPARATOR = 32; // <?xml foo=\"bar\"\nconst S_XML_DECL_ENDING = 33; // <?xml ... ?\nconst S_OPEN_TAG = 34; // <strong\nconst S_OPEN_TAG_SLASH = 35; // <strong /\nconst S_ATTRIB = 36; // <a\nconst S_ATTRIB_NAME = 37; // <a foo\nconst S_ATTRIB_NAME_SAW_WHITE = 38; // <a foo _\nconst S_ATTRIB_VALUE = 39; // <a foo=\nconst S_ATTRIB_VALUE_QUOTED = 40; // <a foo=\"bar\nconst S_ATTRIB_VALUE_CLOSED = 41; // <a foo=\"bar\"\nconst S_ATTRIB_VALUE_UNQUOTED = 42; // <a foo=bar\nconst S_CLOSE_TAG = 43; // </a\nconst S_CLOSE_TAG_SAW_WHITE = 44; // </a >\nconst TAB = 9;\nconst NL = 0xA;\nconst CR = 0xD;\nconst SPACE = 0x20;\nconst BANG = 0x21;\nconst DQUOTE = 0x22;\nconst AMP = 0x26;\nconst SQUOTE = 0x27;\nconst MINUS = 0x2D;\nconst FORWARD_SLASH = 0x2F;\nconst SEMICOLON = 0x3B;\nconst LESS = 0x3C;\nconst EQUAL = 0x3D;\nconst GREATER = 0x3E;\nconst QUESTION = 0x3F;\nconst OPEN_BRACKET = 0x5B;\nconst CLOSE_BRACKET = 0x5D;\nconst NEL = 0x85;\nconst LS = 0x2028; // Line Separator\nconst isQuote = c => c === DQUOTE || c === SQUOTE;\nconst QUOTES = [DQUOTE, SQUOTE];\nconst DOCTYPE_TERMINATOR = [...QUOTES, OPEN_BRACKET, GREATER];\nconst DTD_TERMINATOR = [...QUOTES, LESS, CLOSE_BRACKET];\nconst XML_DECL_NAME_TERMINATOR = [EQUAL, QUESTION, ...S_LIST];\nconst ATTRIB_VALUE_UNQUOTED_TERMINATOR = [...S_LIST, GREATER, AMP, LESS];\nfunction nsPairCheck(parser, prefix, uri) {\n switch (prefix) {\n case \"xml\":\n if (uri !== XML_NAMESPACE) {\n parser.fail(`xml prefix must be bound to ${XML_NAMESPACE}.`);\n }\n break;\n case \"xmlns\":\n if (uri !== XMLNS_NAMESPACE) {\n parser.fail(`xmlns prefix must be bound to ${XMLNS_NAMESPACE}.`);\n }\n break;\n default:\n }\n switch (uri) {\n case XMLNS_NAMESPACE:\n parser.fail(prefix === \"\" ? `the default namespace may not be set to ${uri}.` : `may not assign a prefix (even \"xmlns\") to the URI \\\n${XMLNS_NAMESPACE}.`);\n break;\n case XML_NAMESPACE:\n switch (prefix) {\n case \"xml\":\n // Assinging the XML namespace to \"xml\" is fine.\n break;\n case \"\":\n parser.fail(`the default namespace may not be set to ${uri}.`);\n break;\n default:\n parser.fail(\"may not assign the xml namespace to another prefix.\");\n }\n break;\n default:\n }\n}\nfunction nsMappingCheck(parser, mapping) {\n for (const local of Object.keys(mapping)) {\n nsPairCheck(parser, local, mapping[local]);\n }\n}\nconst isNCName = name => NC_NAME_RE.test(name);\nconst isName = name => NAME_RE.test(name);\nconst FORBIDDEN_START = 0;\nconst FORBIDDEN_BRACKET = 1;\nconst FORBIDDEN_BRACKET_BRACKET = 2;\n/**\n * The list of supported events.\n */\nexports.EVENTS = [\"xmldecl\", \"text\", \"processinginstruction\", \"doctype\", \"comment\", \"opentagstart\", \"attribute\", \"opentag\", \"closetag\", \"cdata\", \"error\", \"end\", \"ready\"];\nconst EVENT_NAME_TO_HANDLER_NAME = {\n xmldecl: \"xmldeclHandler\",\n text: \"textHandler\",\n processinginstruction: \"piHandler\",\n doctype: \"doctypeHandler\",\n comment: \"commentHandler\",\n opentagstart: \"openTagStartHandler\",\n attribute: \"attributeHandler\",\n opentag: \"openTagHandler\",\n closetag: \"closeTagHandler\",\n cdata: \"cdataHandler\",\n error: \"errorHandler\",\n end: \"endHandler\",\n ready: \"readyHandler\"\n};\nclass SaxesParser {\n /**\n * @param opt The parser options.\n */\n constructor(opt) {\n this.opt = opt !== null && opt !== void 0 ? opt : {};\n this.fragmentOpt = !!this.opt.fragment;\n const xmlnsOpt = this.xmlnsOpt = !!this.opt.xmlns;\n this.trackPosition = this.opt.position !== false;\n this.fileName = this.opt.fileName;\n if (xmlnsOpt) {\n // This is the function we use to perform name checks on PIs and entities.\n // When namespaces are used, colons are not allowed in PI target names or\n // entity names. So the check depends on whether namespaces are used. See:\n //\n // https://www.w3.org/XML/xml-names-19990114-errata.html\n // NE08\n //\n this.nameStartCheck = isNCNameStartChar;\n this.nameCheck = isNCNameChar;\n this.isName = isNCName;\n // eslint-disable-next-line @typescript-eslint/unbound-method\n this.processAttribs = this.processAttribsNS;\n // eslint-disable-next-line @typescript-eslint/unbound-method\n this.pushAttrib = this.pushAttribNS;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.ns = Object.assign({\n __proto__: null\n }, rootNS);\n const additional = this.opt.additionalNamespaces;\n if (additional != null) {\n nsMappingCheck(this, additional);\n Object.assign(this.ns, additional);\n }\n } else {\n this.nameStartCheck = isNameStartChar;\n this.nameCheck = isNameChar;\n this.isName = isName;\n // eslint-disable-next-line @typescript-eslint/unbound-method\n this.processAttribs = this.processAttribsPlain;\n // eslint-disable-next-line @typescript-eslint/unbound-method\n this.pushAttrib = this.pushAttribPlain;\n }\n //\n // The order of the members in this table needs to correspond to the state\n // numbers given to the states that correspond to the methods being recorded\n // here.\n //\n this.stateTable = [/* eslint-disable @typescript-eslint/unbound-method */\n this.sBegin, this.sBeginWhitespace, this.sDoctype, this.sDoctypeQuote, this.sDTD, this.sDTDQuoted, this.sDTDOpenWaka, this.sDTDOpenWakaBang, this.sDTDComment, this.sDTDCommentEnding, this.sDTDCommentEnded, this.sDTDPI, this.sDTDPIEnding, this.sText, this.sEntity, this.sOpenWaka, this.sOpenWakaBang, this.sComment, this.sCommentEnding, this.sCommentEnded, this.sCData, this.sCDataEnding, this.sCDataEnding2, this.sPIFirstChar, this.sPIRest, this.sPIBody, this.sPIEnding, this.sXMLDeclNameStart, this.sXMLDeclName, this.sXMLDeclEq, this.sXMLDeclValueStart, this.sXMLDeclValue, this.sXMLDeclSeparator, this.sXMLDeclEnding, this.sOpenTag, this.sOpenTagSlash, this.sAttrib, this.sAttribName, this.sAttribNameSawWhite, this.sAttribValue, this.sAttribValueQuoted, this.sAttribValueClosed, this.sAttribValueUnquoted, this.sCloseTag, this.sCloseTagSawWhite];\n this._init();\n }\n /**\n * Indicates whether or not the parser is closed. If ``true``, wait for\n * the ``ready`` event to write again.\n */\n get closed() {\n return this._closed;\n }\n _init() {\n var _a;\n this.openWakaBang = \"\";\n this.text = \"\";\n this.name = \"\";\n this.piTarget = \"\";\n this.entity = \"\";\n this.q = null;\n this.tags = [];\n this.tag = null;\n this.topNS = null;\n this.chunk = \"\";\n this.chunkPosition = 0;\n this.i = 0;\n this.prevI = 0;\n this.carriedFromPrevious = undefined;\n this.forbiddenState = FORBIDDEN_START;\n this.attribList = [];\n // The logic is organized so as to minimize the need to check\n // this.opt.fragment while parsing.\n const {\n fragmentOpt\n } = this;\n this.state = fragmentOpt ? S_TEXT : S_BEGIN;\n // We want these to be all true if we are dealing with a fragment.\n this.reportedTextBeforeRoot = this.reportedTextAfterRoot = this.closedRoot = this.sawRoot = fragmentOpt;\n // An XML declaration is intially possible only when parsing whole\n // documents.\n this.xmlDeclPossible = !fragmentOpt;\n this.xmlDeclExpects = [\"version\"];\n this.entityReturnState = undefined;\n let {\n defaultXMLVersion\n } = this.opt;\n if (defaultXMLVersion === undefined) {\n if (this.opt.forceXMLVersion === true) {\n throw new Error(\"forceXMLVersion set but defaultXMLVersion is not set\");\n }\n defaultXMLVersion = \"1.0\";\n }\n this.setXMLVersion(defaultXMLVersion);\n this.positionAtNewLine = 0;\n this.doctype = false;\n this._closed = false;\n this.xmlDecl = {\n version: undefined,\n encoding: undefined,\n standalone: undefined\n };\n this.line = 1;\n this.column = 0;\n this.ENTITIES = Object.create(XML_ENTITIES);\n // eslint-disable-next-line no-unused-expressions\n (_a = this.readyHandler) === null || _a === void 0 ? void 0 : _a.call(this);\n }\n /**\n * The stream position the parser is currently looking at. This field is\n * zero-based.\n *\n * This field is not based on counting Unicode characters but is to be\n * interpreted as a plain index into a JavaScript string.\n */\n get position() {\n return this.chunkPosition + this.i;\n }\n /**\n * The column number of the next character to be read by the parser. *\n * This field is zero-based. (The first column in a line is 0.)\n *\n * This field reports the index at which the next character would be in the\n * line if the line were represented as a JavaScript string. Note that this\n * *can* be different to a count based on the number of *Unicode characters*\n * due to how JavaScript handles astral plane characters.\n *\n * See [[column]] for a number that corresponds to a count of Unicode\n * characters.\n */\n get columnIndex() {\n return this.position - this.positionAtNewLine;\n }\n /**\n * Set an event listener on an event. The parser supports one handler per\n * event type. If you try to set an event handler over an existing handler,\n * the old handler is silently overwritten.\n *\n * @param name The event to listen to.\n *\n * @param handler The handler to set.\n */\n on(name, handler) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this[EVENT_NAME_TO_HANDLER_NAME[name]] = handler;\n }\n /**\n * Unset an event handler.\n *\n * @parma name The event to stop listening to.\n */\n off(name) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this[EVENT_NAME_TO_HANDLER_NAME[name]] = undefined;\n }\n /**\n * Make an error object. The error object will have a message that contains\n * the ``fileName`` option passed at the creation of the parser. If position\n * tracking was turned on, it will also have line and column number\n * information.\n *\n * @param message The message describing the error to report.\n *\n * @returns An error object with a properly formatted message.\n */\n makeError(message) {\n var _a;\n let msg = (_a = this.fileName) !== null && _a !== void 0 ? _a : \"\";\n if (this.trackPosition) {\n if (msg.length > 0) {\n msg += \":\";\n }\n msg += `${this.line}:${this.column}`;\n }\n if (msg.length > 0) {\n msg += \": \";\n }\n return new Error(msg + message);\n }\n /**\n * Report a parsing error. This method is made public so that client code may\n * check for issues that are outside the scope of this project and can report\n * errors.\n *\n * @param message The error to report.\n *\n * @returns this\n */\n fail(message) {\n const err = this.makeError(message);\n const handler = this.errorHandler;\n if (handler === undefined) {\n throw err;\n } else {\n handler(err);\n }\n return this;\n }\n /**\n * Write a XML data to the parser.\n *\n * @param chunk The XML data to write.\n *\n * @returns this\n */\n write(chunk) {\n if (this.closed) {\n return this.fail(\"cannot write after close; assign an onready handler.\");\n }\n let end = false;\n if (chunk === null) {\n // We cannot return immediately because carriedFromPrevious may need\n // processing.\n end = true;\n chunk = \"\";\n } else if (typeof chunk === \"object\") {\n chunk = chunk.toString();\n }\n // We checked if performing a pre-decomposition of the string into an array\n // of single complete characters (``Array.from(chunk)``) would be faster\n // than the current repeated calls to ``charCodeAt``. As of August 2018, it\n // isn't. (There may be Node-specific code that would perform faster than\n // ``Array.from`` but don't want to be dependent on Node.)\n if (this.carriedFromPrevious !== undefined) {\n // The previous chunk had char we must carry over.\n chunk = `${this.carriedFromPrevious}${chunk}`;\n this.carriedFromPrevious = undefined;\n }\n let limit = chunk.length;\n const lastCode = chunk.charCodeAt(limit - 1);\n if (!end && (\n // A trailing CR or surrogate must be carried over to the next\n // chunk.\n lastCode === CR || lastCode >= 0xD800 && lastCode <= 0xDBFF)) {\n // The chunk ends with a character that must be carried over. We cannot\n // know how to handle it until we get the next chunk or the end of the\n // stream. So save it for later.\n this.carriedFromPrevious = chunk[limit - 1];\n limit--;\n chunk = chunk.slice(0, limit);\n }\n const {\n stateTable\n } = this;\n this.chunk = chunk;\n this.i = 0;\n while (this.i < limit) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n stateTable[this.state].call(this);\n }\n this.chunkPosition += limit;\n return end ? this.end() : this;\n }\n /**\n * Close the current stream. Perform final well-formedness checks and reset\n * the parser tstate.\n *\n * @returns this\n */\n close() {\n return this.write(null);\n }\n /**\n * Get a single code point out of the current chunk. This updates the current\n * position if we do position tracking.\n *\n * This is the algorithm to use for XML 1.0.\n *\n * @returns The character read.\n */\n getCode10() {\n const {\n chunk,\n i\n } = this;\n this.prevI = i;\n // Yes, we do this instead of doing this.i++. Doing it this way, we do not\n // read this.i again, which is a bit faster.\n this.i = i + 1;\n if (i >= chunk.length) {\n return EOC;\n }\n // Using charCodeAt and handling the surrogates ourselves is faster\n // than using codePointAt.\n const code = chunk.charCodeAt(i);\n this.column++;\n if (code < 0xD800) {\n if (code >= SPACE || code === TAB) {\n return code;\n }\n switch (code) {\n case NL:\n this.line++;\n this.column = 0;\n this.positionAtNewLine = this.position;\n return NL;\n case CR:\n // We may get NaN if we read past the end of the chunk, which is fine.\n if (chunk.charCodeAt(i + 1) === NL) {\n // A \\r\\n sequence is converted to \\n so we have to skip over the\n // next character. We already know it has a size of 1 so ++ is fine\n // here.\n this.i = i + 2;\n }\n // Otherwise, a \\r is just converted to \\n, so we don't have to skip\n // ahead.\n // In either case, \\r becomes \\n.\n this.line++;\n this.column = 0;\n this.positionAtNewLine = this.position;\n return NL_LIKE;\n default:\n // If we get here, then code < SPACE and it is not NL CR or TAB.\n this.fail(\"disallowed character.\");\n return code;\n }\n }\n if (code > 0xDBFF) {\n // This is a specialized version of isChar10 that takes into account\n // that in this context code > 0xDBFF and code <= 0xFFFF. So it does not\n // test cases that don't need testing.\n if (!(code >= 0xE000 && code <= 0xFFFD)) {\n this.fail(\"disallowed character.\");\n }\n return code;\n }\n const final = 0x10000 + (code - 0xD800) * 0x400 + (chunk.charCodeAt(i + 1) - 0xDC00);\n this.i = i + 2;\n // This is a specialized version of isChar10 that takes into account that in\n // this context necessarily final >= 0x10000.\n if (final > 0x10FFFF) {\n this.fail(\"disallowed character.\");\n }\n return final;\n }\n /**\n * Get a single code point out of the current chunk. This updates the current\n * position if we do position tracking.\n *\n * This is the algorithm to use for XML 1.1.\n *\n * @returns {number} The character read.\n */\n getCode11() {\n const {\n chunk,\n i\n } = this;\n this.prevI = i;\n // Yes, we do this instead of doing this.i++. Doing it this way, we do not\n // read this.i again, which is a bit faster.\n this.i = i + 1;\n if (i >= chunk.length) {\n return EOC;\n }\n // Using charCodeAt and handling the surrogates ourselves is faster\n // than using codePointAt.\n const code = chunk.charCodeAt(i);\n this.column++;\n if (code < 0xD800) {\n if (code > 0x1F && code < 0x7F || code > 0x9F && code !== LS || code === TAB) {\n return code;\n }\n switch (code) {\n case NL:\n // 0xA\n this.line++;\n this.column = 0;\n this.positionAtNewLine = this.position;\n return NL;\n case CR:\n {\n // 0xD\n // We may get NaN if we read past the end of the chunk, which is\n // fine.\n const next = chunk.charCodeAt(i + 1);\n if (next === NL || next === NEL) {\n // A CR NL or CR NEL sequence is converted to NL so we have to skip\n // over the next character. We already know it has a size of 1.\n this.i = i + 2;\n }\n // Otherwise, a CR is just converted to NL, no skip.\n }\n /* yes, fall through */\n case NEL: // 0x85\n case LS:\n // Ox2028\n this.line++;\n this.column = 0;\n this.positionAtNewLine = this.position;\n return NL_LIKE;\n default:\n this.fail(\"disallowed character.\");\n return code;\n }\n }\n if (code > 0xDBFF) {\n // This is a specialized version of isCharAndNotRestricted that takes into\n // account that in this context code > 0xDBFF and code <= 0xFFFF. So it\n // does not test cases that don't need testing.\n if (!(code >= 0xE000 && code <= 0xFFFD)) {\n this.fail(\"disallowed character.\");\n }\n return code;\n }\n const final = 0x10000 + (code - 0xD800) * 0x400 + (chunk.charCodeAt(i + 1) - 0xDC00);\n this.i = i + 2;\n // This is a specialized version of isCharAndNotRestricted that takes into\n // account that in this context necessarily final >= 0x10000.\n if (final > 0x10FFFF) {\n this.fail(\"disallowed character.\");\n }\n return final;\n }\n /**\n * Like ``getCode`` but with the return value normalized so that ``NL`` is\n * returned for ``NL_LIKE``.\n */\n getCodeNorm() {\n const c = this.getCode();\n return c === NL_LIKE ? NL : c;\n }\n unget() {\n this.i = this.prevI;\n this.column--;\n }\n /**\n * Capture characters into a buffer until encountering one of a set of\n * characters.\n *\n * @param chars An array of codepoints. Encountering a character in the array\n * ends the capture. (``chars`` may safely contain ``NL``.)\n *\n * @return The character code that made the capture end, or ``EOC`` if we hit\n * the end of the chunk. The return value cannot be NL_LIKE: NL is returned\n * instead.\n */\n captureTo(chars) {\n let {\n i: start\n } = this;\n const {\n chunk\n } = this;\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const c = this.getCode();\n const isNLLike = c === NL_LIKE;\n const final = isNLLike ? NL : c;\n if (final === EOC || chars.includes(final)) {\n this.text += chunk.slice(start, this.prevI);\n return final;\n }\n if (isNLLike) {\n this.text += `${chunk.slice(start, this.prevI)}\\n`;\n start = this.i;\n }\n }\n }\n /**\n * Capture characters into a buffer until encountering a character.\n *\n * @param char The codepoint that ends the capture. **NOTE ``char`` MAY NOT\n * CONTAIN ``NL``.** Passing ``NL`` will result in buggy behavior.\n *\n * @return ``true`` if we ran into the character. Otherwise, we ran into the\n * end of the current chunk.\n */\n captureToChar(char) {\n let {\n i: start\n } = this;\n const {\n chunk\n } = this;\n // eslint-disable-next-line no-constant-condition\n while (true) {\n let c = this.getCode();\n switch (c) {\n case NL_LIKE:\n this.text += `${chunk.slice(start, this.prevI)}\\n`;\n start = this.i;\n c = NL;\n break;\n case EOC:\n this.text += chunk.slice(start);\n return false;\n default:\n }\n if (c === char) {\n this.text += chunk.slice(start, this.prevI);\n return true;\n }\n }\n }\n /**\n * Capture characters that satisfy ``isNameChar`` into the ``name`` field of\n * this parser.\n *\n * @return The character code that made the test fail, or ``EOC`` if we hit\n * the end of the chunk. The return value cannot be NL_LIKE: NL is returned\n * instead.\n */\n captureNameChars() {\n const {\n chunk,\n i: start\n } = this;\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const c = this.getCode();\n if (c === EOC) {\n this.name += chunk.slice(start);\n return EOC;\n }\n // NL is not a name char so we don't have to test specifically for it.\n if (!isNameChar(c)) {\n this.name += chunk.slice(start, this.prevI);\n return c === NL_LIKE ? NL : c;\n }\n }\n }\n /**\n * Skip white spaces.\n *\n * @return The character that ended the skip, or ``EOC`` if we hit\n * the end of the chunk. The return value cannot be NL_LIKE: NL is returned\n * instead.\n */\n skipSpaces() {\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const c = this.getCodeNorm();\n if (c === EOC || !isS(c)) {\n return c;\n }\n }\n }\n setXMLVersion(version) {\n this.currentXMLVersion = version;\n /* eslint-disable @typescript-eslint/unbound-method */\n if (version === \"1.0\") {\n this.isChar = isChar10;\n this.getCode = this.getCode10;\n } else {\n this.isChar = isChar11;\n this.getCode = this.getCode11;\n }\n /* eslint-enable @typescript-eslint/unbound-method */\n }\n // STATE ENGINE METHODS\n // This needs to be a state separate from S_BEGIN_WHITESPACE because we want\n // to be sure never to come back to this state later.\n sBegin() {\n // We are essentially peeking at the first character of the chunk. Since\n // S_BEGIN can be in effect only when we start working on the first chunk,\n // the index at which we must look is necessarily 0. Note also that the\n // following test does not depend on decoding surrogates.\n // If the initial character is 0xFEFF, ignore it.\n if (this.chunk.charCodeAt(0) === 0xFEFF) {\n this.i++;\n this.column++;\n }\n this.state = S_BEGIN_WHITESPACE;\n }\n sBeginWhitespace() {\n // We need to know whether we've encountered spaces or not because as soon\n // as we run into a space, an XML declaration is no longer possible. Rather\n // than slow down skipSpaces even in places where we don't care whether it\n // skipped anything or not, we check whether prevI is equal to the value of\n // i from before we skip spaces.\n const iBefore = this.i;\n const c = this.skipSpaces();\n if (this.prevI !== iBefore) {\n this.xmlDeclPossible = false;\n }\n switch (c) {\n case LESS:\n this.state = S_OPEN_WAKA;\n // We could naively call closeText but in this state, it is not normal\n // to have text be filled with any data.\n if (this.text.length !== 0) {\n throw new Error(\"no-empty text at start\");\n }\n break;\n case EOC:\n break;\n default:\n this.unget();\n this.state = S_TEXT;\n this.xmlDeclPossible = false;\n }\n }\n sDoctype() {\n var _a;\n const c = this.captureTo(DOCTYPE_TERMINATOR);\n switch (c) {\n case GREATER:\n {\n // eslint-disable-next-line no-unused-expressions\n (_a = this.doctypeHandler) === null || _a === void 0 ? void 0 : _a.call(this, this.text);\n this.text = \"\";\n this.state = S_TEXT;\n this.doctype = true; // just remember that we saw it.\n break;\n }\n case EOC:\n break;\n default:\n this.text += String.fromCodePoint(c);\n if (c === OPEN_BRACKET) {\n this.state = S_DTD;\n } else if (isQuote(c)) {\n this.state = S_DOCTYPE_QUOTE;\n this.q = c;\n }\n }\n }\n sDoctypeQuote() {\n const q = this.q;\n if (this.captureToChar(q)) {\n this.text += String.fromCodePoint(q);\n this.q = null;\n this.state = S_DOCTYPE;\n }\n }\n sDTD() {\n const c = this.captureTo(DTD_TERMINATOR);\n if (c === EOC) {\n return;\n }\n this.text += String.fromCodePoint(c);\n if (c === CLOSE_BRACKET) {\n this.state = S_DOCTYPE;\n } else if (c === LESS) {\n this.state = S_DTD_OPEN_WAKA;\n } else if (isQuote(c)) {\n this.state = S_DTD_QUOTED;\n this.q = c;\n }\n }\n sDTDQuoted() {\n const q = this.q;\n if (this.captureToChar(q)) {\n this.text += String.fromCodePoint(q);\n this.state = S_DTD;\n this.q = null;\n }\n }\n sDTDOpenWaka() {\n const c = this.getCodeNorm();\n this.text += String.fromCodePoint(c);\n switch (c) {\n case BANG:\n this.state = S_DTD_OPEN_WAKA_BANG;\n this.openWakaBang = \"\";\n break;\n case QUESTION:\n this.state = S_DTD_PI;\n break;\n default:\n this.state = S_DTD;\n }\n }\n sDTDOpenWakaBang() {\n const char = String.fromCodePoint(this.getCodeNorm());\n const owb = this.openWakaBang += char;\n this.text += char;\n if (owb !== \"-\") {\n this.state = owb === \"--\" ? S_DTD_COMMENT : S_DTD;\n this.openWakaBang = \"\";\n }\n }\n sDTDComment() {\n if (this.captureToChar(MINUS)) {\n this.text += \"-\";\n this.state = S_DTD_COMMENT_ENDING;\n }\n }\n sDTDCommentEnding() {\n const c = this.getCodeNorm();\n this.text += String.fromCodePoint(c);\n this.state = c === MINUS ? S_DTD_COMMENT_ENDED : S_DTD_COMMENT;\n }\n sDTDCommentEnded() {\n const c = this.getCodeNorm();\n this.text += String.fromCodePoint(c);\n if (c === GREATER) {\n this.state = S_DTD;\n } else {\n this.fail(\"malformed comment.\");\n // <!-- blah -- bloo --> will be recorded as\n // a comment of \" blah -- bloo \"\n this.state = S_DTD_COMMENT;\n }\n }\n sDTDPI() {\n if (this.captureToChar(QUESTION)) {\n this.text += \"?\";\n this.state = S_DTD_PI_ENDING;\n }\n }\n sDTDPIEnding() {\n const c = this.getCodeNorm();\n this.text += String.fromCodePoint(c);\n if (c === GREATER) {\n this.state = S_DTD;\n }\n }\n sText() {\n //\n // We did try a version of saxes where the S_TEXT state was split in two\n // states: one for text inside the root element, and one for text\n // outside. This was avoiding having to test this.tags.length to decide\n // what implementation to actually use.\n //\n // Peformance testing on gigabyte-size files did not show any advantage to\n // using the two states solution instead of the current one. Conversely, it\n // made the code a bit more complicated elsewhere. For instance, a comment\n // can appear before the root element so when a comment ended it was\n // necessary to determine whether to return to the S_TEXT state or to the\n // new text-outside-root state.\n //\n if (this.tags.length !== 0) {\n this.handleTextInRoot();\n } else {\n this.handleTextOutsideRoot();\n }\n }\n sEntity() {\n // This is essentially a specialized version of captureToChar(SEMICOLON...)\n let {\n i: start\n } = this;\n const {\n chunk\n } = this;\n // eslint-disable-next-line no-labels, no-restricted-syntax\n loop:\n // eslint-disable-next-line no-constant-condition\n while (true) {\n switch (this.getCode()) {\n case NL_LIKE:\n this.entity += `${chunk.slice(start, this.prevI)}\\n`;\n start = this.i;\n break;\n case SEMICOLON:\n {\n const {\n entityReturnState\n } = this;\n const entity = this.entity + chunk.slice(start, this.prevI);\n this.state = entityReturnState;\n let parsed;\n if (entity === \"\") {\n this.fail(\"empty entity name.\");\n parsed = \"&;\";\n } else {\n parsed = this.parseEntity(entity);\n this.entity = \"\";\n }\n if (entityReturnState !== S_TEXT || this.textHandler !== undefined) {\n this.text += parsed;\n }\n // eslint-disable-next-line no-labels\n break loop;\n }\n case EOC:\n this.entity += chunk.slice(start);\n // eslint-disable-next-line no-labels\n break loop;\n default:\n }\n }\n }\n sOpenWaka() {\n // Reminder: a state handler is called with at least one character\n // available in the current chunk. So the first call to get code inside of\n // a state handler cannot return ``EOC``. That's why we don't test\n // for it.\n const c = this.getCode();\n // either a /, ?, !, or text is coming next.\n if (isNameStartChar(c)) {\n this.state = S_OPEN_TAG;\n this.unget();\n this.xmlDeclPossible = false;\n } else {\n switch (c) {\n case FORWARD_SLASH:\n this.state = S_CLOSE_TAG;\n this.xmlDeclPossible = false;\n break;\n case BANG:\n this.state = S_OPEN_WAKA_BANG;\n this.openWakaBang = \"\";\n this.xmlDeclPossible = false;\n break;\n case QUESTION:\n this.state = S_PI_FIRST_CHAR;\n break;\n default:\n this.fail(\"disallowed character in tag name\");\n this.state = S_TEXT;\n this.xmlDeclPossible = false;\n }\n }\n }\n sOpenWakaBang() {\n this.openWakaBang += String.fromCodePoint(this.getCodeNorm());\n switch (this.openWakaBang) {\n case \"[CDATA[\":\n if (!this.sawRoot && !this.reportedTextBeforeRoot) {\n this.fail(\"text data outside of root node.\");\n this.reportedTextBeforeRoot = true;\n }\n if (this.closedRoot && !this.reportedTextAfterRoot) {\n this.fail(\"text data outside of root node.\");\n this.reportedTextAfterRoot = true;\n }\n this.state = S_CDATA;\n this.openWakaBang = \"\";\n break;\n case \"--\":\n this.state = S_COMMENT;\n this.openWakaBang = \"\";\n break;\n case \"DOCTYPE\":\n this.state = S_DOCTYPE;\n if (this.doctype || this.sawRoot) {\n this.fail(\"inappropriately located doctype declaration.\");\n }\n this.openWakaBang = \"\";\n break;\n default:\n // 7 happens to be the maximum length of the string that can possibly\n // match one of the cases above.\n if (this.openWakaBang.length >= 7) {\n this.fail(\"incorrect syntax.\");\n }\n }\n }\n sComment() {\n if (this.captureToChar(MINUS)) {\n this.state = S_COMMENT_ENDING;\n }\n }\n sCommentEnding() {\n var _a;\n const c = this.getCodeNorm();\n if (c === MINUS) {\n this.state = S_COMMENT_ENDED;\n // eslint-disable-next-line no-unused-expressions\n (_a = this.commentHandler) === null || _a === void 0 ? void 0 : _a.call(this, this.text);\n this.text = \"\";\n } else {\n this.text += `-${String.fromCodePoint(c)}`;\n this.state = S_COMMENT;\n }\n }\n sCommentEnded() {\n const c = this.getCodeNorm();\n if (c !== GREATER) {\n this.fail(\"malformed comment.\");\n // <!-- blah -- bloo --> will be recorded as\n // a comment of \" blah -- bloo \"\n this.text += `--${String.fromCodePoint(c)}`;\n this.state = S_COMMENT;\n } else {\n this.state = S_TEXT;\n }\n }\n sCData() {\n if (this.captureToChar(CLOSE_BRACKET)) {\n this.state = S_CDATA_ENDING;\n }\n }\n sCDataEnding() {\n const c = this.getCodeNorm();\n if (c === CLOSE_BRACKET) {\n this.state = S_CDATA_ENDING_2;\n } else {\n this.text += `]${String.fromCodePoint(c)}`;\n this.state = S_CDATA;\n }\n }\n sCDataEnding2() {\n var _a;\n const c = this.getCodeNorm();\n switch (c) {\n case GREATER:\n {\n // eslint-disable-next-line no-unused-expressions\n (_a = this.cdataHandler) === null || _a === void 0 ? void 0 : _a.call(this, this.text);\n this.text = \"\";\n this.state = S_TEXT;\n break;\n }\n case CLOSE_BRACKET:\n this.text += \"]\";\n break;\n default:\n this.text += `]]${String.fromCodePoint(c)}`;\n this.state = S_CDATA;\n }\n }\n // We need this separate state to check the first character fo the pi target\n // with this.nameStartCheck which allows less characters than this.nameCheck.\n sPIFirstChar() {\n const c = this.getCodeNorm();\n // This is first because in the case where the file is well-formed this is\n // the branch taken. We optimize for well-formedness.\n if (this.nameStartCheck(c)) {\n this.piTarget += String.fromCodePoint(c);\n this.state = S_PI_REST;\n } else if (c === QUESTION || isS(c)) {\n this.fail(\"processing instruction without a target.\");\n this.state = c === QUESTION ? S_PI_ENDING : S_PI_BODY;\n } else {\n this.fail(\"disallowed character in processing instruction name.\");\n this.piTarget += String.fromCodePoint(c);\n this.state = S_PI_REST;\n }\n }\n sPIRest() {\n // Capture characters into a piTarget while ``this.nameCheck`` run on the\n // character read returns true.\n const {\n chunk,\n i: start\n } = this;\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const c = this.getCodeNorm();\n if (c === EOC) {\n this.piTarget += chunk.slice(start);\n return;\n }\n // NL cannot satisfy this.nameCheck so we don't have to test specifically\n // for it.\n if (!this.nameCheck(c)) {\n this.piTarget += chunk.slice(start, this.prevI);\n const isQuestion = c === QUESTION;\n if (isQuestion || isS(c)) {\n if (this.piTarget === \"xml\") {\n if (!this.xmlDeclPossible) {\n this.fail(\"an XML declaration must be at the start of the document.\");\n }\n this.state = isQuestion ? S_XML_DECL_ENDING : S_XML_DECL_NAME_START;\n } else {\n this.state = isQuestion ? S_PI_ENDING : S_PI_BODY;\n }\n } else {\n this.fail(\"disallowed character in processing instruction name.\");\n this.piTarget += String.fromCodePoint(c);\n }\n break;\n }\n }\n }\n sPIBody() {\n if (this.text.length === 0) {\n const c = this.getCodeNorm();\n if (c === QUESTION) {\n this.state = S_PI_ENDING;\n } else if (!isS(c)) {\n this.text = String.fromCodePoint(c);\n }\n }\n // The question mark character is not valid inside any of the XML\n // declaration name/value pairs.\n else if (this.captureToChar(QUESTION)) {\n this.state = S_PI_ENDING;\n }\n }\n sPIEnding() {\n var _a;\n const c = this.getCodeNorm();\n if (c === GREATER) {\n const {\n piTarget\n } = this;\n if (piTarget.toLowerCase() === \"xml\") {\n this.fail(\"the XML declaration must appear at the start of the document.\");\n }\n // eslint-disable-next-line no-unused-expressions\n (_a = this.piHandler) === null || _a === void 0 ? void 0 : _a.call(this, {\n target: piTarget,\n body: this.text\n });\n this.piTarget = this.text = \"\";\n this.state = S_TEXT;\n } else if (c === QUESTION) {\n // We ran into ?? as part of a processing instruction. We initially took\n // the first ? as a sign that the PI was ending, but it is not. So we have\n // to add it to the body but we take the new ? as a sign that the PI is\n // ending.\n this.text += \"?\";\n } else {\n this.text += `?${String.fromCodePoint(c)}`;\n this.state = S_PI_BODY;\n }\n this.xmlDeclPossible = false;\n }\n sXMLDeclNameStart() {\n const c = this.skipSpaces();\n // The question mark character is not valid inside any of the XML\n // declaration name/value pairs.\n if (c === QUESTION) {\n // It is valid to go to S_XML_DECL_ENDING from this state.\n this.state = S_XML_DECL_ENDING;\n return;\n }\n if (c !== EOC) {\n this.state = S_XML_DECL_NAME;\n this.name = String.fromCodePoint(c);\n }\n }\n sXMLDeclName() {\n const c = this.captureTo(XML_DECL_NAME_TERMINATOR);\n // The question mark character is not valid inside any of the XML\n // declaration name/value pairs.\n if (c === QUESTION) {\n this.state = S_XML_DECL_ENDING;\n this.name += this.text;\n this.text = \"\";\n this.fail(\"XML declaration is incomplete.\");\n return;\n }\n if (!(isS(c) || c === EQUAL)) {\n return;\n }\n this.name += this.text;\n this.text = \"\";\n if (!this.xmlDeclExpects.includes(this.name)) {\n switch (this.name.length) {\n case 0:\n this.fail(\"did not expect any more name/value pairs.\");\n break;\n case 1:\n this.fail(`expected the name ${this.xmlDeclExpects[0]}.`);\n break;\n default:\n this.fail(`expected one of ${this.xmlDeclExpects.join(\", \")}`);\n }\n }\n this.state = c === EQUAL ? S_XML_DECL_VALUE_START : S_XML_DECL_EQ;\n }\n sXMLDeclEq() {\n const c = this.getCodeNorm();\n // The question mark character is not valid inside any of the XML\n // declaration name/value pairs.\n if (c === QUESTION) {\n this.state = S_XML_DECL_ENDING;\n this.fail(\"XML declaration is incomplete.\");\n return;\n }\n if (isS(c)) {\n return;\n }\n if (c !== EQUAL) {\n this.fail(\"value required.\");\n }\n this.state = S_XML_DECL_VALUE_START;\n }\n sXMLDeclValueStart() {\n const c = this.getCodeNorm();\n // The question mark character is not valid inside any of the XML\n // declaration name/value pairs.\n if (c === QUESTION) {\n this.state = S_XML_DECL_ENDING;\n this.fail(\"XML declaration is incomplete.\");\n return;\n }\n if (isS(c)) {\n return;\n }\n if (!isQuote(c)) {\n this.fail(\"value must be quoted.\");\n this.q = SPACE;\n } else {\n this.q = c;\n }\n this.state = S_XML_DECL_VALUE;\n }\n sXMLDeclValue() {\n const c = this.captureTo([this.q, QUESTION]);\n // The question mark character is not valid inside any of the XML\n // declaration name/value pairs.\n if (c === QUESTION) {\n this.state = S_XML_DECL_ENDING;\n this.text = \"\";\n this.fail(\"XML declaration is incomplete.\");\n return;\n }\n if (c === EOC) {\n return;\n }\n const value = this.text;\n this.text = \"\";\n switch (this.name) {\n case \"version\":\n {\n this.xmlDeclExpects = [\"encoding\", \"standalone\"];\n const version = value;\n this.xmlDecl.version = version;\n // This is the test specified by XML 1.0 but it is fine for XML 1.1.\n if (!/^1\\.[0-9]+$/.test(version)) {\n this.fail(\"version number must match /^1\\\\.[0-9]+$/.\");\n }\n // When forceXMLVersion is set, the XML declaration is ignored.\n else if (!this.opt.forceXMLVersion) {\n this.setXMLVersion(version);\n }\n break;\n }\n case \"encoding\":\n if (!/^[A-Za-z][A-Za-z0-9._-]*$/.test(value)) {\n this.fail(\"encoding value must match \\\n/^[A-Za-z0-9][A-Za-z0-9._-]*$/.\");\n }\n this.xmlDeclExpects = [\"standalone\"];\n this.xmlDecl.encoding = value;\n break;\n case \"standalone\":\n if (value !== \"yes\" && value !== \"no\") {\n this.fail(\"standalone value must match \\\"yes\\\" or \\\"no\\\".\");\n }\n this.xmlDeclExpects = [];\n this.xmlDecl.standalone = value;\n break;\n default:\n // We don't need to raise an error here since we've already raised one\n // when checking what name was expected.\n }\n\n this.name = \"\";\n this.state = S_XML_DECL_SEPARATOR;\n }\n sXMLDeclSeparator() {\n const c = this.getCodeNorm();\n // The question mark character is not valid inside any of the XML\n // declaration name/value pairs.\n if (c === QUESTION) {\n // It is valid to go to S_XML_DECL_ENDING from this state.\n this.state = S_XML_DECL_ENDING;\n return;\n }\n if (!isS(c)) {\n this.fail(\"whitespace required.\");\n this.unget();\n }\n this.state = S_XML_DECL_NAME_START;\n }\n sXMLDeclEnding() {\n var _a;\n const c = this.getCodeNorm();\n if (c === GREATER) {\n if (this.piTarget !== \"xml\") {\n this.fail(\"processing instructions are not allowed before root.\");\n } else if (this.name !== \"version\" && this.xmlDeclExpects.includes(\"version\")) {\n this.fail(\"XML declaration must contain a version.\");\n }\n // eslint-disable-next-line no-unused-expressions\n (_a = this.xmldeclHandler) === null || _a === void 0 ? void 0 : _a.call(this, this.xmlDecl);\n this.name = \"\";\n this.piTarget = this.text = \"\";\n this.state = S_TEXT;\n } else {\n // We got here because the previous character was a ?, but the question\n // mark character is not valid inside any of the XML declaration\n // name/value pairs.\n this.fail(\"The character ? is disallowed anywhere in XML declarations.\");\n }\n this.xmlDeclPossible = false;\n }\n sOpenTag() {\n var _a;\n const c = this.captureNameChars();\n if (c === EOC) {\n return;\n }\n const tag = this.tag = {\n name: this.name,\n attributes: Object.create(null)\n };\n this.name = \"\";\n if (this.xmlnsOpt) {\n this.topNS = tag.ns = Object.create(null);\n }\n // eslint-disable-next-line no-unused-expressions\n (_a = this.openTagStartHandler) === null || _a === void 0 ? void 0 : _a.call(this, tag);\n this.sawRoot = true;\n if (!this.fragmentOpt && this.closedRoot) {\n this.fail(\"documents may contain only one root.\");\n }\n switch (c) {\n case GREATER:\n this.openTag();\n break;\n case FORWARD_SLASH:\n this.state = S_OPEN_TAG_SLASH;\n break;\n default:\n if (!isS(c)) {\n this.fail(\"disallowed character in tag name.\");\n }\n this.state = S_ATTRIB;\n }\n }\n sOpenTagSlash() {\n if (this.getCode() === GREATER) {\n this.openSelfClosingTag();\n } else {\n this.fail(\"forward-slash in opening tag not followed by >.\");\n this.state = S_ATTRIB;\n }\n }\n sAttrib() {\n const c = this.skipSpaces();\n if (c === EOC) {\n return;\n }\n if (isNameStartChar(c)) {\n this.unget();\n this.state = S_ATTRIB_NAME;\n } else if (c === GREATER) {\n this.openTag();\n } else if (c === FORWARD_SLASH) {\n this.state = S_OPEN_TAG_SLASH;\n } else {\n this.fail(\"disallowed character in attribute name.\");\n }\n }\n sAttribName() {\n const c = this.captureNameChars();\n if (c === EQUAL) {\n this.state = S_ATTRIB_VALUE;\n } else if (isS(c)) {\n this.state = S_ATTRIB_NAME_SAW_WHITE;\n } else if (c === GREATER) {\n this.fail(\"attribute without value.\");\n this.pushAttrib(this.name, this.name);\n this.name = this.text = \"\";\n this.openTag();\n } else if (c !== EOC) {\n this.fail(\"disallowed character in attribute name.\");\n }\n }\n sAttribNameSawWhite() {\n const c = this.skipSpaces();\n switch (c) {\n case EOC:\n return;\n case EQUAL:\n this.state = S_ATTRIB_VALUE;\n break;\n default:\n this.fail(\"attribute without value.\");\n // Should we do this???\n // this.tag.attributes[this.name] = \"\";\n this.text = \"\";\n this.name = \"\";\n if (c === GREATER) {\n this.openTag();\n } else if (isNameStartChar(c)) {\n this.unget();\n this.state = S_ATTRIB_NAME;\n } else {\n this.fail(\"disallowed character in attribute name.\");\n this.state = S_ATTRIB;\n }\n }\n }\n sAttribValue() {\n const c = this.getCodeNorm();\n if (isQuote(c)) {\n this.q = c;\n this.state = S_ATTRIB_VALUE_QUOTED;\n } else if (!isS(c)) {\n this.fail(\"unquoted attribute value.\");\n this.state = S_ATTRIB_VALUE_UNQUOTED;\n this.unget();\n }\n }\n sAttribValueQuoted() {\n // We deliberately do not use captureTo here. The specialized code we use\n // here is faster than using captureTo.\n const {\n q,\n chunk\n } = this;\n let {\n i: start\n } = this;\n // eslint-disable-next-line no-constant-condition\n while (true) {\n switch (this.getCode()) {\n case q:\n this.pushAttrib(this.name, this.text + chunk.slice(start, this.prevI));\n this.name = this.text = \"\";\n this.q = null;\n this.state = S_ATTRIB_VALUE_CLOSED;\n return;\n case AMP:\n this.text += chunk.slice(start, this.prevI);\n this.state = S_ENTITY;\n this.entityReturnState = S_ATTRIB_VALUE_QUOTED;\n return;\n case NL:\n case NL_LIKE:\n case TAB:\n this.text += `${chunk.slice(start, this.prevI)} `;\n start = this.i;\n break;\n case LESS:\n this.text += chunk.slice(start, this.prevI);\n this.fail(\"disallowed character.\");\n return;\n case EOC:\n this.text += chunk.slice(start);\n return;\n default:\n }\n }\n }\n sAttribValueClosed() {\n const c = this.getCodeNorm();\n if (isS(c)) {\n this.state = S_ATTRIB;\n } else if (c === GREATER) {\n this.openTag();\n } else if (c === FORWARD_SLASH) {\n this.state = S_OPEN_TAG_SLASH;\n } else if (isNameStartChar(c)) {\n this.fail(\"no whitespace between attributes.\");\n this.unget();\n this.state = S_ATTRIB_NAME;\n } else {\n this.fail(\"disallowed character in attribute name.\");\n }\n }\n sAttribValueUnquoted() {\n // We don't do anything regarding EOL or space handling for unquoted\n // attributes. We already have failed by the time we get here, and the\n // contract that saxes upholds states that upon failure, it is not safe to\n // rely on the data passed to event handlers (other than\n // ``onerror``). Passing \"bad\" data is not a problem.\n const c = this.captureTo(ATTRIB_VALUE_UNQUOTED_TERMINATOR);\n switch (c) {\n case AMP:\n this.state = S_ENTITY;\n this.entityReturnState = S_ATTRIB_VALUE_UNQUOTED;\n break;\n case LESS:\n this.fail(\"disallowed character.\");\n break;\n case EOC:\n break;\n default:\n if (this.text.includes(\"]]>\")) {\n this.fail(\"the string \\\"]]>\\\" is disallowed in char data.\");\n }\n this.pushAttrib(this.name, this.text);\n this.name = this.text = \"\";\n if (c === GREATER) {\n this.openTag();\n } else {\n this.state = S_ATTRIB;\n }\n }\n }\n sCloseTag() {\n const c = this.captureNameChars();\n if (c === GREATER) {\n this.closeTag();\n } else if (isS(c)) {\n this.state = S_CLOSE_TAG_SAW_WHITE;\n } else if (c !== EOC) {\n this.fail(\"disallowed character in closing tag.\");\n }\n }\n sCloseTagSawWhite() {\n switch (this.skipSpaces()) {\n case GREATER:\n this.closeTag();\n break;\n case EOC:\n break;\n default:\n this.fail(\"disallowed character in closing tag.\");\n }\n }\n // END OF STATE ENGINE METHODS\n handleTextInRoot() {\n // This is essentially a specialized version of captureTo which is optimized\n // for performing the ]]> check. A previous version of this code, checked\n // ``this.text`` for the presence of ]]>. It simplified the code but was\n // very costly when character data contained a lot of entities to be parsed.\n //\n // Since we are using a specialized loop, we also keep track of the presence\n // of ]]> in text data. The sequence ]]> is forbidden to appear as-is.\n //\n let {\n i: start,\n forbiddenState\n } = this;\n const {\n chunk,\n textHandler: handler\n } = this;\n // eslint-disable-next-line no-labels, no-restricted-syntax\n scanLoop:\n // eslint-disable-next-line no-constant-condition\n while (true) {\n switch (this.getCode()) {\n case LESS:\n {\n this.state = S_OPEN_WAKA;\n if (handler !== undefined) {\n const {\n text\n } = this;\n const slice = chunk.slice(start, this.prevI);\n if (text.length !== 0) {\n handler(text + slice);\n this.text = \"\";\n } else if (slice.length !== 0) {\n handler(slice);\n }\n }\n forbiddenState = FORBIDDEN_START;\n // eslint-disable-next-line no-labels\n break scanLoop;\n }\n case AMP:\n this.state = S_ENTITY;\n this.entityReturnState = S_TEXT;\n if (handler !== undefined) {\n this.text += chunk.slice(start, this.prevI);\n }\n forbiddenState = FORBIDDEN_START;\n // eslint-disable-next-line no-labels\n break scanLoop;\n case CLOSE_BRACKET:\n switch (forbiddenState) {\n case FORBIDDEN_START:\n forbiddenState = FORBIDDEN_BRACKET;\n break;\n case FORBIDDEN_BRACKET:\n forbiddenState = FORBIDDEN_BRACKET_BRACKET;\n break;\n case FORBIDDEN_BRACKET_BRACKET:\n break;\n default:\n throw new Error(\"impossible state\");\n }\n break;\n case GREATER:\n if (forbiddenState === FORBIDDEN_BRACKET_BRACKET) {\n this.fail(\"the string \\\"]]>\\\" is disallowed in char data.\");\n }\n forbiddenState = FORBIDDEN_START;\n break;\n case NL_LIKE:\n if (handler !== undefined) {\n this.text += `${chunk.slice(start, this.prevI)}\\n`;\n }\n start = this.i;\n forbiddenState = FORBIDDEN_START;\n break;\n case EOC:\n if (handler !== undefined) {\n this.text += chunk.slice(start);\n }\n // eslint-disable-next-line no-labels\n break scanLoop;\n default:\n forbiddenState = FORBIDDEN_START;\n }\n }\n this.forbiddenState = forbiddenState;\n }\n handleTextOutsideRoot() {\n // This is essentially a specialized version of captureTo which is optimized\n // for a specialized task. We keep track of the presence of non-space\n // characters in the text since these are errors when appearing outside the\n // document root element.\n let {\n i: start\n } = this;\n const {\n chunk,\n textHandler: handler\n } = this;\n let nonSpace = false;\n // eslint-disable-next-line no-labels, no-restricted-syntax\n outRootLoop:\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const code = this.getCode();\n switch (code) {\n case LESS:\n {\n this.state = S_OPEN_WAKA;\n if (handler !== undefined) {\n const {\n text\n } = this;\n const slice = chunk.slice(start, this.prevI);\n if (text.length !== 0) {\n handler(text + slice);\n this.text = \"\";\n } else if (slice.length !== 0) {\n handler(slice);\n }\n }\n // eslint-disable-next-line no-labels\n break outRootLoop;\n }\n case AMP:\n this.state = S_ENTITY;\n this.entityReturnState = S_TEXT;\n if (handler !== undefined) {\n this.text += chunk.slice(start, this.prevI);\n }\n nonSpace = true;\n // eslint-disable-next-line no-labels\n break outRootLoop;\n case NL_LIKE:\n if (handler !== undefined) {\n this.text += `${chunk.slice(start, this.prevI)}\\n`;\n }\n start = this.i;\n break;\n case EOC:\n if (handler !== undefined) {\n this.text += chunk.slice(start);\n }\n // eslint-disable-next-line no-labels\n break outRootLoop;\n default:\n if (!isS(code)) {\n nonSpace = true;\n }\n }\n }\n if (!nonSpace) {\n return;\n }\n // We use the reportedTextBeforeRoot and reportedTextAfterRoot flags\n // to avoid reporting errors for every single character that is out of\n // place.\n if (!this.sawRoot && !this.reportedTextBeforeRoot) {\n this.fail(\"text data outside of root node.\");\n this.reportedTextBeforeRoot = true;\n }\n if (this.closedRoot && !this.reportedTextAfterRoot) {\n this.fail(\"text data outside of root node.\");\n this.reportedTextAfterRoot = true;\n }\n }\n pushAttribNS(name, value) {\n var _a;\n const {\n prefix,\n local\n } = this.qname(name);\n const attr = {\n name,\n prefix,\n local,\n value\n };\n this.attribList.push(attr);\n // eslint-disable-next-line no-unused-expressions\n (_a = this.attributeHandler) === null || _a === void 0 ? void 0 : _a.call(this, attr);\n if (prefix === \"xmlns\") {\n const trimmed = value.trim();\n if (this.currentXMLVersion === \"1.0\" && trimmed === \"\") {\n this.fail(\"invalid attempt to undefine prefix in XML 1.0\");\n }\n this.topNS[local] = trimmed;\n nsPairCheck(this, local, trimmed);\n } else if (name === \"xmlns\") {\n const trimmed = value.trim();\n this.topNS[\"\"] = trimmed;\n nsPairCheck(this, \"\", trimmed);\n }\n }\n pushAttribPlain(name, value) {\n var _a;\n const attr = {\n name,\n value\n };\n this.attribList.push(attr);\n // eslint-disable-next-line no-unused-expressions\n (_a = this.attributeHandler) === null || _a === void 0 ? void 0 : _a.call(this, attr);\n }\n /**\n * End parsing. This performs final well-formedness checks and resets the\n * parser to a clean state.\n *\n * @returns this\n */\n end() {\n var _a, _b;\n if (!this.sawRoot) {\n this.fail(\"document must contain a root element.\");\n }\n const {\n tags\n } = this;\n while (tags.length > 0) {\n const tag = tags.pop();\n this.fail(`unclosed tag: ${tag.name}`);\n }\n if (this.state !== S_BEGIN && this.state !== S_TEXT) {\n this.fail(\"unexpected end.\");\n }\n const {\n text\n } = this;\n if (text.length !== 0) {\n // eslint-disable-next-line no-unused-expressions\n (_a = this.textHandler) === null || _a === void 0 ? void 0 : _a.call(this, text);\n this.text = \"\";\n }\n this._closed = true;\n // eslint-disable-next-line no-unused-expressions\n (_b = this.endHandler) === null || _b === void 0 ? void 0 : _b.call(this);\n this._init();\n return this;\n }\n /**\n * Resolve a namespace prefix.\n *\n * @param prefix The prefix to resolve.\n *\n * @returns The namespace URI or ``undefined`` if the prefix is not defined.\n */\n resolve(prefix) {\n var _a, _b;\n let uri = this.topNS[prefix];\n if (uri !== undefined) {\n return uri;\n }\n const {\n tags\n } = this;\n for (let index = tags.length - 1; index >= 0; index--) {\n uri = tags[index].ns[prefix];\n if (uri !== undefined) {\n return uri;\n }\n }\n uri = this.ns[prefix];\n if (uri !== undefined) {\n return uri;\n }\n return (_b = (_a = this.opt).resolvePrefix) === null || _b === void 0 ? void 0 : _b.call(_a, prefix);\n }\n /**\n * Parse a qname into its prefix and local name parts.\n *\n * @param name The name to parse\n *\n * @returns\n */\n qname(name) {\n // This is faster than using name.split(\":\").\n const colon = name.indexOf(\":\");\n if (colon === -1) {\n return {\n prefix: \"\",\n local: name\n };\n }\n const local = name.slice(colon + 1);\n const prefix = name.slice(0, colon);\n if (prefix === \"\" || local === \"\" || local.includes(\":\")) {\n this.fail(`malformed name: ${name}.`);\n }\n return {\n prefix,\n local\n };\n }\n processAttribsNS() {\n var _a;\n const {\n attribList\n } = this;\n const tag = this.tag;\n {\n // add namespace info to tag\n const {\n prefix,\n local\n } = this.qname(tag.name);\n tag.prefix = prefix;\n tag.local = local;\n const uri = tag.uri = (_a = this.resolve(prefix)) !== null && _a !== void 0 ? _a : \"\";\n if (prefix !== \"\") {\n if (prefix === \"xmlns\") {\n this.fail(\"tags may not have \\\"xmlns\\\" as prefix.\");\n }\n if (uri === \"\") {\n this.fail(`unbound namespace prefix: ${JSON.stringify(prefix)}.`);\n tag.uri = prefix;\n }\n }\n }\n if (attribList.length === 0) {\n return;\n }\n const {\n attributes\n } = tag;\n const seen = new Set();\n // Note: do not apply default ns to attributes:\n // http://www.w3.org/TR/REC-xml-names/#defaulting\n for (const attr of attribList) {\n const {\n name,\n prefix,\n local\n } = attr;\n let uri;\n let eqname;\n if (prefix === \"\") {\n uri = name === \"xmlns\" ? XMLNS_NAMESPACE : \"\";\n eqname = name;\n } else {\n uri = this.resolve(prefix);\n // if there's any attributes with an undefined namespace,\n // then fail on them now.\n if (uri === undefined) {\n this.fail(`unbound namespace prefix: ${JSON.stringify(prefix)}.`);\n uri = prefix;\n }\n eqname = `{${uri}}${local}`;\n }\n if (seen.has(eqname)) {\n this.fail(`duplicate attribute: ${eqname}.`);\n }\n seen.add(eqname);\n attr.uri = uri;\n attributes[name] = attr;\n }\n this.attribList = [];\n }\n processAttribsPlain() {\n const {\n attribList\n } = this;\n // eslint-disable-next-line prefer-destructuring\n const attributes = this.tag.attributes;\n for (const {\n name,\n value\n } of attribList) {\n if (attributes[name] !== undefined) {\n this.fail(`duplicate attribute: ${name}.`);\n }\n attributes[name] = value;\n }\n this.attribList = [];\n }\n /**\n * Handle a complete open tag. This parser code calls this once it has seen\n * the whole tag. This method checks for well-formeness and then emits\n * ``onopentag``.\n */\n openTag() {\n var _a;\n this.processAttribs();\n const {\n tags\n } = this;\n const tag = this.tag;\n tag.isSelfClosing = false;\n // There cannot be any pending text here due to the onopentagstart that was\n // necessarily emitted before we get here. So we do not check text.\n // eslint-disable-next-line no-unused-expressions\n (_a = this.openTagHandler) === null || _a === void 0 ? void 0 : _a.call(this, tag);\n tags.push(tag);\n this.state = S_TEXT;\n this.name = \"\";\n }\n /**\n * Handle a complete self-closing tag. This parser code calls this once it has\n * seen the whole tag. This method checks for well-formeness and then emits\n * ``onopentag`` and ``onclosetag``.\n */\n openSelfClosingTag() {\n var _a, _b, _c;\n this.processAttribs();\n const {\n tags\n } = this;\n const tag = this.tag;\n tag.isSelfClosing = true;\n // There cannot be any pending text here due to the onopentagstart that was\n // necessarily emitted before we get here. So we do not check text.\n // eslint-disable-next-line no-unused-expressions\n (_a = this.openTagHandler) === null || _a === void 0 ? void 0 : _a.call(this, tag);\n // eslint-disable-next-line no-unused-expressions\n (_b = this.closeTagHandler) === null || _b === void 0 ? void 0 : _b.call(this, tag);\n const top = this.tag = (_c = tags[tags.length - 1]) !== null && _c !== void 0 ? _c : null;\n if (top === null) {\n this.closedRoot = true;\n }\n this.state = S_TEXT;\n this.name = \"\";\n }\n /**\n * Handle a complete close tag. This parser code calls this once it has seen\n * the whole tag. This method checks for well-formeness and then emits\n * ``onclosetag``.\n */\n closeTag() {\n const {\n tags,\n name\n } = this;\n // Our state after this will be S_TEXT, no matter what, and we can clear\n // tagName now.\n this.state = S_TEXT;\n this.name = \"\";\n if (name === \"\") {\n this.fail(\"weird empty close tag.\");\n this.text += \"</>\";\n return;\n }\n const handler = this.closeTagHandler;\n let l = tags.length;\n while (l-- > 0) {\n const tag = this.tag = tags.pop();\n this.topNS = tag.ns;\n // eslint-disable-next-line no-unused-expressions\n handler === null || handler === void 0 ? void 0 : handler(tag);\n if (tag.name === name) {\n break;\n }\n this.fail(\"unexpected close tag.\");\n }\n if (l === 0) {\n this.closedRoot = true;\n } else if (l < 0) {\n this.fail(`unmatched closing tag: ${name}.`);\n this.text += `</${name}>`;\n }\n }\n /**\n * Resolves an entity. Makes any necessary well-formedness checks.\n *\n * @param entity The entity to resolve.\n *\n * @returns The parsed entity.\n */\n parseEntity(entity) {\n // startsWith would be significantly slower for this test.\n // eslint-disable-next-line @typescript-eslint/prefer-string-starts-ends-with\n if (entity[0] !== \"#\") {\n const defined = this.ENTITIES[entity];\n if (defined !== undefined) {\n return defined;\n }\n this.fail(this.isName(entity) ? \"undefined entity.\" : \"disallowed character in entity name.\");\n return `&${entity};`;\n }\n let num = NaN;\n if (entity[1] === \"x\" && /^#x[0-9a-f]+$/i.test(entity)) {\n num = parseInt(entity.slice(2), 16);\n } else if (/^#[0-9]+$/.test(entity)) {\n num = parseInt(entity.slice(1), 10);\n }\n // The character reference is required to match the CHAR production.\n if (!this.isChar(num)) {\n this.fail(\"malformed character entity.\");\n return `&${entity};`;\n }\n return String.fromCodePoint(num);\n }\n}\nexports.SaxesParser = SaxesParser;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJlZDUiLCJyZXF1aXJlIiwiZWQyIiwiTlNlZDMiLCJpc1MiLCJpc0NoYXIxMCIsImlzQ2hhciIsImlzTmFtZVN0YXJ0Q2hhciIsImlzTmFtZUNoYXIiLCJTX0xJU1QiLCJOQU1FX1JFIiwiaXNDaGFyMTEiLCJpc05DTmFtZVN0YXJ0Q2hhciIsImlzTkNOYW1lQ2hhciIsIk5DX05BTUVfUkUiLCJYTUxfTkFNRVNQQUNFIiwiWE1MTlNfTkFNRVNQQUNFIiwicm9vdE5TIiwiX19wcm90b19fIiwieG1sIiwieG1sbnMiLCJYTUxfRU5USVRJRVMiLCJhbXAiLCJndCIsImx0IiwicXVvdCIsImFwb3MiLCJFT0MiLCJOTF9MSUtFIiwiU19CRUdJTiIsIlNfQkVHSU5fV0hJVEVTUEFDRSIsIlNfRE9DVFlQRSIsIlNfRE9DVFlQRV9RVU9URSIsIlNfRFREIiwiU19EVERfUVVPVEVEIiwiU19EVERfT1BFTl9XQUtBIiwiU19EVERfT1BFTl9XQUtBX0JBTkciLCJTX0RURF9DT01NRU5UIiwiU19EVERfQ09NTUVOVF9FTkRJTkciLCJTX0RURF9DT01NRU5UX0VOREVEIiwiU19EVERfUEkiLCJTX0RURF9QSV9FTkRJTkciLCJTX1RFWFQiLCJTX0VOVElUWSIsIlNfT1BFTl9XQUtBIiwiU19PUEVOX1dBS0FfQkFORyIsIlNfQ09NTUVOVCIsIlNfQ09NTUVOVF9FTkRJTkciLCJTX0NPTU1FTlRfRU5ERUQiLCJTX0NEQVRBIiwiU19DREFUQV9FTkRJTkciLCJTX0NEQVRBX0VORElOR18yIiwiU19QSV9GSVJTVF9DSEFSIiwiU19QSV9SRVNUIiwiU19QSV9CT0RZIiwiU19QSV9FTkRJTkciLCJTX1hNTF9ERUNMX05BTUVfU1RBUlQiLCJTX1hNTF9ERUNMX05BTUUiLCJTX1hNTF9ERUNMX0VRIiwiU19YTUxfREVDTF9WQUxVRV9TVEFSVCIsIlNfWE1MX0RFQ0xfVkFMVUUiLCJTX1hNTF9ERUNMX1NFUEFSQVRPUiIsIlNfWE1MX0RFQ0xfRU5ESU5HIiwiU19PUEVOX1RBRyIsIlNfT1BFTl9UQUdfU0xBU0giLCJTX0FUVFJJQiIsIlNfQVRUUklCX05BTUUiLCJTX0FUVFJJQl9OQU1FX1NBV19XSElURSIsIlNfQVRUUklCX1ZBTFVFIiwiU19BVFRSSUJfVkFMVUVfUVVPVEVEIiwiU19BVFRSSUJfVkFMVUVfQ0xPU0VEIiwiU19BVFRSSUJfVkFMVUVfVU5RVU9URUQiLCJTX0NMT1NFX1RBRyIsIlNfQ0xPU0VfVEFHX1NBV19XSElURSIsIlRBQiIsIk5MIiwiQ1IiLCJTUEFDRSIsIkJBTkciLCJEUVVPVEUiLCJBTVAiLCJTUVVPVEUiLCJNSU5VUyIsIkZPUldBUkRfU0xBU0giLCJTRU1JQ09MT04iLCJMRVNTIiwiRVFVQUwiLCJHUkVBVEVSIiwiUVVFU1RJT04iLCJPUEVOX0JSQUNLRVQiLCJDTE9TRV9CUkFDS0VUIiwiTkVMIiwiTFMiLCJpc1F1b3RlIiwiYyIsIlFVT1RFUyIsIkRPQ1RZUEVfVEVSTUlOQVRPUiIsIkRURF9URVJNSU5BVE9SIiwiWE1MX0RFQ0xfTkFNRV9URVJNSU5BVE9SIiwiQVRUUklCX1ZBTFVFX1VOUVVPVEVEX1RFUk1JTkFUT1IiLCJuc1BhaXJDaGVjayIsInBhcnNlciIsInByZWZpeCIsInVyaSIsImZhaWwiLCJuc01hcHBpbmdDaGVjayIsIm1hcHBpbmciLCJsb2NhbCIsIk9iamVjdCIsImtleXMiLCJpc05DTmFtZSIsIm5hbWUiLCJ0ZXN0IiwiaXNOYW1lIiwiRk9SQklEREVOX1NUQVJUIiwiRk9SQklEREVOX0JSQUNLRVQiLCJGT1JCSURERU5fQlJBQ0tFVF9CUkFDS0VUIiwiZXhwb3J0cyIsIkVWRU5UUyIsIkVWRU5UX05BTUVfVE9fSEFORExFUl9OQU1FIiwieG1sZGVjbCIsInRleHQiLCJwcm9jZXNzaW5naW5zdHJ1Y3Rpb24iLCJkb2N0eXBlIiwiY29tbWVudCIsIm9wZW50YWdzdGFydCIsImF0dHJpYnV0ZSIsIm9wZW50YWciLCJjbG9zZXRhZyIsImNkYXRhIiwiZXJyb3IiLCJlbmQiLCJyZWFkeSIsIlNheGVzUGFyc2VyIiwiY29uc3RydWN0b3IiLCJvcHQiLCJmcmFnbWVudE9wdCIsImZyYWdtZW50IiwieG1sbnNPcHQiLCJ0cmFja1Bvc2l0aW9uIiwicG9zaXRpb24iLCJmaWxlTmFtZSIsIm5hbWVTdGFydENoZWNrIiwibmFtZUNoZWNrIiwicHJvY2Vzc0F0dHJpYnMiLCJwcm9jZXNzQXR0cmlic05TIiwicHVzaEF0dHJpYiIsInB1c2hBdHRyaWJOUyIsIm5zIiwiYXNzaWduIiwiYWRkaXRpb25hbCIsImFkZGl0aW9uYWxOYW1lc3BhY2VzIiwicHJvY2Vzc0F0dHJpYnNQbGFpbiIsInB1c2hBdHRyaWJQbGFpbiIsInN0YXRlVGFibGUiLCJzQmVnaW4iLCJzQmVnaW5XaGl0ZXNwYWNlIiwic0RvY3R5cGUiLCJzRG9jdHlwZVF1b3RlIiwic0RURCIsInNEVERRdW90ZWQiLCJzRFRET3Blbldha2EiLCJzRFRET3Blbldha2FCYW5nIiwic0RURENvbW1lbnQiLCJzRFREQ29tbWVudEVuZGluZyIsInNEVERDb21tZW50RW5kZWQiLCJzRFREUEkiLCJzRFREUElFbmRpbmciLCJzVGV4dCIsInNFbnRpdHkiLCJzT3Blbldha2EiLCJzT3Blbldha2FCYW5nIiwic0NvbW1lbnQiLCJzQ29tbWVudEVuZGluZyIsInNDb21tZW50RW5kZWQiLCJzQ0RhdGEiLCJzQ0RhdGFFbmRpbmciLCJzQ0RhdGFFbmRpbmcyIiwic1BJRmlyc3RDaGFyIiwic1BJUmVzdCIsInNQSUJvZHkiLCJzUElFbmRpbmciLCJzWE1MRGVjbE5hbWVTdGFydCIsInNYTUxEZWNsTmFtZSIsInNYTUxEZWNsRXEiLCJzWE1MRGVjbFZhbHVlU3RhcnQiLCJzWE1MRGVjbFZhbHVlIiwic1hNTERlY2xTZXBhcmF0b3IiLCJzWE1MRGVjbEVuZGluZyIsInNPcGVuVGFnIiwic09wZW5UYWdTbGFzaCIsInNBdHRyaWIiLCJzQXR0cmliTmFtZSIsInNBdHRyaWJOYW1lU2F3V2hpdGUiLCJzQXR0cmliVmFsdWUiLCJzQXR0cmliVmFsdWVRdW90ZWQiLCJzQXR0cmliVmFsdWVDbG9zZWQiLCJzQXR0cmliVmFsdWVVbnF1b3RlZCIsInNDbG9zZVRhZyIsInNDbG9zZVRhZ1Nhd1doaXRlIiwiX2luaXQiLCJjbG9zZWQiLCJfY2xvc2VkIiwib3Blbldha2FCYW5nIiwicGlUYXJnZXQiLCJlbnRpdHkiLCJxIiwidGFncyIsInRhZyIsInRvcE5TIiwiY2h1bmsiLCJjaHVua1Bvc2l0aW9uIiwiaSIsInByZXZJIiwiY2FycmllZEZyb21QcmV2aW91cyIsInVuZGVmaW5lZCIsImZvcmJpZGRlblN0YXRlIiwiYXR0cmliTGlzdCIsInN0YXRlIiwicmVwb3J0ZWRUZXh0QmVmb3JlUm9vdCIsInJlcG9ydGVkVGV4dEFmdGVyUm9vdCIsImNsb3NlZFJvb3QiLCJzYXdSb290IiwieG1sRGVjbFBvc3NpYmxlIiwieG1sRGVjbEV4cGVjdHMiLCJlbnRpdHlSZXR1cm5TdGF0ZSIsImRlZmF1bHRYTUxWZXJzaW9uIiwiZm9yY2VYTUxWZXJzaW9uIiwiRXJyb3IiLCJzZXRYTUxWZXJzaW9uIiwicG9zaXRpb25BdE5ld0xpbmUiLCJ4bWxEZWNsIiwidmVyc2lvbiIsImVuY29kaW5nIiwic3RhbmRhbG9uZSIsImxpbmUiLCJjb2x1bW4iLCJFTlRJVElFUyIsImNyZWF0ZSIsIl9hIiwicmVhZHlIYW5kbGVyIiwiY2FsbCIsImNvbHVtbkluZGV4Iiwib24iLCJoYW5kbGVyIiwib2ZmIiwibWFrZUVycm9yIiwibWVzc2FnZSIsIm1zZyIsImxlbmd0aCIsImVyciIsImVycm9ySGFuZGxlciIsIndyaXRlIiwidG9TdHJpbmciLCJsaW1pdCIsImxhc3RDb2RlIiwiY2hhckNvZGVBdCIsInNsaWNlIiwiY2xvc2UiLCJnZXRDb2RlMTAiLCJjb2RlIiwiZmluYWwiLCJnZXRDb2RlMTEiLCJuZXh0IiwiZ2V0Q29kZU5vcm0iLCJnZXRDb2RlIiwidW5nZXQiLCJjYXB0dXJlVG8iLCJjaGFycyIsInN0YXJ0IiwiaXNOTExpa2UiLCJpbmNsdWRlcyIsImNhcHR1cmVUb0NoYXIiLCJjaGFyIiwiY2FwdHVyZU5hbWVDaGFycyIsInNraXBTcGFjZXMiLCJjdXJyZW50WE1MVmVyc2lvbiIsImlCZWZvcmUiLCJkb2N0eXBlSGFuZGxlciIsIlN0cmluZyIsImZyb21Db2RlUG9pbnQiLCJvd2IiLCJoYW5kbGVUZXh0SW5Sb290IiwiaGFuZGxlVGV4dE91dHNpZGVSb290IiwibG9vcCIsInBhcnNlZCIsInBhcnNlRW50aXR5IiwidGV4dEhhbmRsZXIiLCJjb21tZW50SGFuZGxlciIsImNkYXRhSGFuZGxlciIsImlzUXVlc3Rpb24iLCJ0b0xvd2VyQ2FzZSIsInBpSGFuZGxlciIsInRhcmdldCIsImJvZHkiLCJqb2luIiwidmFsdWUiLCJ4bWxkZWNsSGFuZGxlciIsImF0dHJpYnV0ZXMiLCJvcGVuVGFnU3RhcnRIYW5kbGVyIiwib3BlblRhZyIsIm9wZW5TZWxmQ2xvc2luZ1RhZyIsImNsb3NlVGFnIiwic2Nhbkxvb3AiLCJub25TcGFjZSIsIm91dFJvb3RMb29wIiwicW5hbWUiLCJhdHRyIiwicHVzaCIsImF0dHJpYnV0ZUhhbmRsZXIiLCJ0cmltbWVkIiwidHJpbSIsInBvcCIsIl9iIiwiZW5kSGFuZGxlciIsInJlc29sdmUiLCJpbmRleCIsInJlc29sdmVQcmVmaXgiLCJjb2xvbiIsImluZGV4T2YiLCJKU09OIiwic3RyaW5naWZ5Iiwic2VlbiIsIlNldCIsImVxbmFtZSIsImhhcyIsImFkZCIsImlzU2VsZkNsb3NpbmciLCJvcGVuVGFnSGFuZGxlciIsImNsb3NlVGFnSGFuZGxlciIsInRvcCIsIl9jIiwibCIsImRlZmluZWQiLCJudW0iLCJOYU4iLCJwYXJzZUludCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zYXhlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxNQUFBQSxHQUFBLEdBQUFDLE9BQUE7QUFDQSxNQUFBQyxHQUFBLEdBQUFELE9BQUE7QUFDQSxNQUFBRSxLQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFPRyxHQUFHLEdBQUdKLEdBQUcsQ0FBQ0ksR0FBRztBQUNwQixJQUFPQyxRQUFRLEdBQUdMLEdB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","var Buffer = require('safe-buffer').Buffer\n\n// prototype class for hash functions\nfunction Hash (blockSize, finalSize) {\n this._block = Buffer.alloc(blockSize)\n this._finalSize = finalSize\n this._blockSize = blockSize\n this._len = 0\n}\n\nHash.prototype.update = function (data, enc) {\n if (typeof data === 'string') {\n enc = enc || 'utf8'\n data = Buffer.from(data, enc)\n }\n\n var block = this._block\n var blockSize = this._blockSize\n var length = data.length\n var accum = this._len\n\n for (var offset = 0; offset < length;) {\n var assigned = accum % blockSize\n var remainder = Math.min(length - offset, blockSize - assigned)\n\n for (var i = 0; i < remainder; i++) {\n block[assigned + i] = data[offset + i]\n }\n\n accum += remainder\n offset += remainder\n\n if ((accum % blockSize) === 0) {\n this._update(block)\n }\n }\n\n this._len += length\n return this\n}\n\nHash.prototype.digest = function (enc) {\n var rem = this._len % this._blockSize\n\n this._block[rem] = 0x80\n\n // zero (rem + 1) trailing bits, where (rem + 1) is the smallest\n // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize\n this._block.fill(0, rem + 1)\n\n if (rem >= this._finalSize) {\n this._update(this._block)\n this._block.fill(0)\n }\n\n var bits = this._len * 8\n\n // uint32\n if (bits <= 0xffffffff) {\n this._block.writeUInt32BE(bits, this._blockSize - 4)\n\n // uint64\n } else {\n var lowBits = (bits & 0xffffffff) >>> 0\n var highBits = (bits - lowBits) / 0x100000000\n\n this._block.writeUInt32BE(highBits, this._blockSize - 8)\n this._block.writeUInt32BE(lowBits, this._blockSize - 4)\n }\n\n this._update(this._block)\n var hash = this._hash()\n\n return enc ? hash.toString(enc) : hash\n}\n\nHash.prototype._update = function () {\n throw new Error('_update must be implemented by subclass')\n}\n\nmodule.exports = Hash\n","var exports = module.exports = function SHA (algorithm) {\n algorithm = algorithm.toLowerCase()\n\n var Algorithm = exports[algorithm]\n if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)')\n\n return new Algorithm()\n}\n\nexports.sha = require('./sha')\nexports.sha1 = require('./sha1')\nexports.sha224 = require('./sha224')\nexports.sha256 = require('./sha256')\nexports.sha384 = require('./sha384')\nexports.sha512 = require('./sha512')\n","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined\n * in FIPS PUB 180-1\n * This source code is derived from sha1.js of the same repository.\n * The difference between SHA-0 and SHA-1 is just a bitwise rotate left\n * operation was added.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha, Hash)\n\nSha.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha\n","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined\n * in FIPS PUB 180-1\n * Version 2.1a Copyright Paul Johnston 2000 - 2002.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for details.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha1 () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha1, Hash)\n\nSha1.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl1 (num) {\n return (num << 1) | (num >>> 31)\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha1.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = rotl1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16])\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha1.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha1\n","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Sha256 = require('./sha256')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(64)\n\nfunction Sha224 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha224, Sha256)\n\nSha224.prototype.init = function () {\n this._a = 0xc1059ed8\n this._b = 0x367cd507\n this._c = 0x3070dd17\n this._d = 0xf70e5939\n this._e = 0xffc00b31\n this._f = 0x68581511\n this._g = 0x64f98fa7\n this._h = 0xbefa4fa4\n\n return this\n}\n\nSha224.prototype._hash = function () {\n var H = Buffer.allocUnsafe(28)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n\n return H\n}\n\nmodule.exports = Sha224\n","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,\n 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,\n 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,\n 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,\n 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,\n 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,\n 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,\n 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,\n 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,\n 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,\n 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,\n 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,\n 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,\n 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,\n 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,\n 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2\n]\n\nvar W = new Array(64)\n\nfunction Sha256 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha256, Hash)\n\nSha256.prototype.init = function () {\n this._a = 0x6a09e667\n this._b = 0xbb67ae85\n this._c = 0x3c6ef372\n this._d = 0xa54ff53a\n this._e = 0x510e527f\n this._f = 0x9b05688c\n this._g = 0x1f83d9ab\n this._h = 0x5be0cd19\n\n return this\n}\n\nfunction ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x) {\n return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10)\n}\n\nfunction sigma1 (x) {\n return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7)\n}\n\nfunction gamma0 (x) {\n return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ (x >>> 3)\n}\n\nfunction gamma1 (x) {\n return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ (x >>> 10)\n}\n\nSha256.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n var f = this._f | 0\n var g = this._g | 0\n var h = this._h | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 64; ++i) W[i] = (gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16]) | 0\n\n for (var j = 0; j < 64; ++j) {\n var T1 = (h + sigma1(e) + ch(e, f, g) + K[j] + W[j]) | 0\n var T2 = (sigma0(a) + maj(a, b, c)) | 0\n\n h = g\n g = f\n f = e\n e = (d + T1) | 0\n d = c\n c = b\n b = a\n a = (T1 + T2) | 0\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n this._f = (f + this._f) | 0\n this._g = (g + this._g) | 0\n this._h = (h + this._h) | 0\n}\n\nSha256.prototype._hash = function () {\n var H = Buffer.allocUnsafe(32)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n H.writeInt32BE(this._h, 28)\n\n return H\n}\n\nmodule.exports = Sha256\n","var inherits = require('inherits')\nvar SHA512 = require('./sha512')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(160)\n\nfunction Sha384 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha384, SHA512)\n\nSha384.prototype.init = function () {\n this._ah = 0xcbbb9d5d\n this._bh = 0x629a292a\n this._ch = 0x9159015a\n this._dh = 0x152fecd8\n this._eh = 0x67332667\n this._fh = 0x8eb44a87\n this._gh = 0xdb0c2e0d\n this._hh = 0x47b5481d\n\n this._al = 0xc1059ed8\n this._bl = 0x367cd507\n this._cl = 0x3070dd17\n this._dl = 0xf70e5939\n this._el = 0xffc00b31\n this._fl = 0x68581511\n this._gl = 0x64f98fa7\n this._hl = 0xbefa4fa4\n\n return this\n}\n\nSha384.prototype._hash = function () {\n var H = Buffer.allocUnsafe(48)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n\n return H\n}\n\nmodule.exports = Sha384\n","var inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n]\n\nvar W = new Array(160)\n\nfunction Sha512 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha512, Hash)\n\nSha512.prototype.init = function () {\n this._ah = 0x6a09e667\n this._bh = 0xbb67ae85\n this._ch = 0x3c6ef372\n this._dh = 0xa54ff53a\n this._eh = 0x510e527f\n this._fh = 0x9b05688c\n this._gh = 0x1f83d9ab\n this._hh = 0x5be0cd19\n\n this._al = 0xf3bcc908\n this._bl = 0x84caa73b\n this._cl = 0xfe94f82b\n this._dl = 0x5f1d36f1\n this._el = 0xade682d1\n this._fl = 0x2b3e6c1f\n this._gl = 0xfb41bd6b\n this._hl = 0x137e2179\n\n return this\n}\n\nfunction Ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x, xl) {\n return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25)\n}\n\nfunction sigma1 (x, xl) {\n return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23)\n}\n\nfunction Gamma0 (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7)\n}\n\nfunction Gamma0l (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25)\n}\n\nfunction Gamma1 (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6)\n}\n\nfunction Gamma1l (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26)\n}\n\nfunction getCarry (a, b) {\n return (a >>> 0) < (b >>> 0) ? 1 : 0\n}\n\nSha512.prototype._update = function (M) {\n var W = this._w\n\n var ah = this._ah | 0\n var bh = this._bh | 0\n var ch = this._ch | 0\n var dh = this._dh | 0\n var eh = this._eh | 0\n var fh = this._fh | 0\n var gh = this._gh | 0\n var hh = this._hh | 0\n\n var al = this._al | 0\n var bl = this._bl | 0\n var cl = this._cl | 0\n var dl = this._dl | 0\n var el = this._el | 0\n var fl = this._fl | 0\n var gl = this._gl | 0\n var hl = this._hl | 0\n\n for (var i = 0; i < 32; i += 2) {\n W[i] = M.readInt32BE(i * 4)\n W[i + 1] = M.readInt32BE(i * 4 + 4)\n }\n for (; i < 160; i += 2) {\n var xh = W[i - 15 * 2]\n var xl = W[i - 15 * 2 + 1]\n var gamma0 = Gamma0(xh, xl)\n var gamma0l = Gamma0l(xl, xh)\n\n xh = W[i - 2 * 2]\n xl = W[i - 2 * 2 + 1]\n var gamma1 = Gamma1(xh, xl)\n var gamma1l = Gamma1l(xl, xh)\n\n // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]\n var Wi7h = W[i - 7 * 2]\n var Wi7l = W[i - 7 * 2 + 1]\n\n var Wi16h = W[i - 16 * 2]\n var Wi16l = W[i - 16 * 2 + 1]\n\n var Wil = (gamma0l + Wi7l) | 0\n var Wih = (gamma0 + Wi7h + getCarry(Wil, gamma0l)) | 0\n Wil = (Wil + gamma1l) | 0\n Wih = (Wih + gamma1 + getCarry(Wil, gamma1l)) | 0\n Wil = (Wil + Wi16l) | 0\n Wih = (Wih + Wi16h + getCarry(Wil, Wi16l)) | 0\n\n W[i] = Wih\n W[i + 1] = Wil\n }\n\n for (var j = 0; j < 160; j += 2) {\n Wih = W[j]\n Wil = W[j + 1]\n\n var majh = maj(ah, bh, ch)\n var majl = maj(al, bl, cl)\n\n var sigma0h = sigma0(ah, al)\n var sigma0l = sigma0(al, ah)\n var sigma1h = sigma1(eh, el)\n var sigma1l = sigma1(el, eh)\n\n // t1 = h + sigma1 + ch + K[j] + W[j]\n var Kih = K[j]\n var Kil = K[j + 1]\n\n var chh = Ch(eh, fh, gh)\n var chl = Ch(el, fl, gl)\n\n var t1l = (hl + sigma1l) | 0\n var t1h = (hh + sigma1h + getCarry(t1l, hl)) | 0\n t1l = (t1l + chl) | 0\n t1h = (t1h + chh + getCarry(t1l, chl)) | 0\n t1l = (t1l + Kil) | 0\n t1h = (t1h + Kih + getCarry(t1l, Kil)) | 0\n t1l = (t1l + Wil) | 0\n t1h = (t1h + Wih + getCarry(t1l, Wil)) | 0\n\n // t2 = sigma0 + maj\n var t2l = (sigma0l + majl) | 0\n var t2h = (sigma0h + majh + getCarry(t2l, sigma0l)) | 0\n\n hh = gh\n hl = gl\n gh = fh\n gl = fl\n fh = eh\n fl = el\n el = (dl + t1l) | 0\n eh = (dh + t1h + getCarry(el, dl)) | 0\n dh = ch\n dl = cl\n ch = bh\n cl = bl\n bh = ah\n bl = al\n al = (t1l + t2l) | 0\n ah = (t1h + t2h + getCarry(al, t1l)) | 0\n }\n\n this._al = (this._al + al) | 0\n this._bl = (this._bl + bl) | 0\n this._cl = (this._cl + cl) | 0\n this._dl = (this._dl + dl) | 0\n this._el = (this._el + el) | 0\n this._fl = (this._fl + fl) | 0\n this._gl = (this._gl + gl) | 0\n this._hl = (this._hl + hl) | 0\n\n this._ah = (this._ah + ah + getCarry(this._al, al)) | 0\n this._bh = (this._bh + bh + getCarry(this._bl, bl)) | 0\n this._ch = (this._ch + ch + getCarry(this._cl, cl)) | 0\n this._dh = (this._dh + dh + getCarry(this._dl, dl)) | 0\n this._eh = (this._eh + eh + getCarry(this._el, el)) | 0\n this._fh = (this._fh + fh + getCarry(this._fl, fl)) | 0\n this._gh = (this._gh + gh + getCarry(this._gl, gl)) | 0\n this._hh = (this._hh + hh + getCarry(this._hl, hl)) | 0\n}\n\nSha512.prototype._hash = function () {\n var H = Buffer.allocUnsafe(64)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n writeInt64BE(this._gh, this._gl, 48)\n writeInt64BE(this._hh, this._hl, 56)\n\n return H\n}\n\nmodule.exports = Sha512\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nmodule.exports = Stream;\n\nvar EE = require('events').EventEmitter;\nvar inherits = require('inherits');\n\ninherits(Stream, EE);\nStream.Readable = require('readable-stream/readable.js');\nStream.Writable = require('readable-stream/writable.js');\nStream.Duplex = require('readable-stream/duplex.js');\nStream.Transform = require('readable-stream/transform.js');\nStream.PassThrough = require('readable-stream/passthrough.js');\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\n\n\n// old-style streams. Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\n\nfunction Stream() {\n EE.call(this);\n}\n\nStream.prototype.pipe = function(dest, options) {\n var source = this;\n\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) {\n source.pause();\n }\n }\n }\n\n source.on('data', ondata);\n\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume();\n }\n }\n\n dest.on('drain', ondrain);\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend);\n source.on('close', onclose);\n }\n\n var didOnEnd = false;\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n dest.end();\n }\n\n\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n if (typeof dest.destroy === 'function') dest.destroy();\n }\n\n // don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup();\n if (EE.listenerCount(this, 'error') === 0) {\n throw er; // Unhandled stream error in pipe.\n }\n }\n\n source.on('error', onerror);\n dest.on('error', onerror);\n\n // remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata);\n dest.removeListener('drain', ondrain);\n\n source.removeListener('end', onend);\n source.removeListener('close', onclose);\n\n source.removeListener('error', onerror);\n dest.removeListener('error', onerror);\n\n source.removeListener('end', cleanup);\n source.removeListener('close', cleanup);\n\n dest.removeListener('close', cleanup);\n }\n\n source.on('end', cleanup);\n source.on('close', cleanup);\n\n dest.on('close', cleanup);\n\n dest.emit('pipe', source);\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest;\n};\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","module.exports = require('./lib/_stream_duplex.js');\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict';\n\n/*<replacement>*/\n\nvar pna = require('process-nextick-args');\n/*</replacement>*/\n\n/*<replacement>*/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) {\n keys.push(key);\n }return keys;\n};\n/*</replacement>*/\n\nmodule.exports = Duplex;\n\n/*<replacement>*/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/*</replacement>*/\n\nvar Readable = require('./_stream_readable');\nvar Writable = require('./_stream_writable');\n\nutil.inherits(Duplex, Readable);\n\n{\n // avoid scope creep, the keys array can then be collected\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n\n Readable.call(this, options);\n Writable.call(this, options);\n\n if (options && options.readable === false) this.readable = false;\n\n if (options && options.writable === false) this.writable = false;\n\n this.allowHalfOpen = true;\n if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;\n\n this.once('end', onend);\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._writableState.highWaterMark;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // if we allow half-open state, or if the writable side ended,\n // then we're ok.\n if (this.allowHalfOpen || this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n pna.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});\n\nDuplex.prototype._destroy = function (err, cb) {\n this.push(null);\n this.end();\n\n pna.nextTick(cb, err);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n'use strict';\n\nmodule.exports = PassThrough;\n\nvar Transform = require('./_stream_transform');\n\n/*<replacement>*/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/*</replacement>*/\n\nutil.inherits(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/*<replacement>*/\n\nvar pna = require('process-nextick-args');\n/*</replacement>*/\n\nmodule.exports = Readable;\n\n/*<replacement>*/\nvar isArray = require('isarray');\n/*</replacement>*/\n\n/*<replacement>*/\nvar Duplex;\n/*</replacement>*/\n\nReadable.ReadableState = ReadableState;\n\n/*<replacement>*/\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function (emitter, type) {\n return emitter.listeners(type).length;\n};\n/*</replacement>*/\n\n/*<replacement>*/\nvar Stream = require('./internal/streams/stream');\n/*</replacement>*/\n\n/*<replacement>*/\n\nvar Buffer = require('safe-buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/*</replacement>*/\n\n/*<replacement>*/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/*</replacement>*/\n\n/*<replacement>*/\nvar debugUtil = require('util');\nvar debug = void 0;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function () {};\n}\n/*</replacement>*/\n\nvar BufferList = require('./internal/streams/BufferList');\nvar destroyImpl = require('./internal/streams/destroy');\nvar StringDecoder;\n\nutil.inherits(Readable, Stream);\n\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream) {\n Duplex = Duplex || require('./_stream_duplex');\n\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n var isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n var hwm = options.highWaterMark;\n var readableHwm = options.readableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n if (!(this instanceof Readable)) return new Readable(options);\n\n this._readableState = new ReadableState(options, this);\n\n // legacy\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\n\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n this.push(null);\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n stream.emit('error', er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) stream.emit('error', new Error('stream.unshift() after end event'));else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n stream.emit('error', new Error('stream.push() after EOF'));\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n }\n }\n\n return needMoreData(state);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n stream.emit('data', chunk);\n stream.read(0);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n return er;\n}\n\n// if it's past the high water mark, we can push in some more.\n// Also, if we have no data yet, we can stand some\n// more bytes. This is to work around cases where hwm=0,\n// such as the repl. Also, if the push() triggered a\n// readable event, and the user called read(largeNumber) such that\n// needReadable was set, then we ought to push more, so that another\n// 'readable' event will be triggered.\nfunction needMoreData(state) {\n return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this._readableState.decoder = new StringDecoder(enc);\n this._readableState.encoding = enc;\n return this;\n};\n\n// Don't raise the hwm > 8MB\nvar MAX_HWM = 0x800000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = true;\n n = 0;\n } else {\n state.length -= n;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n\n // emit 'readable' now to make sure it gets picked up.\n emitReadable(stream);\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n if (state.sync) pna.nextTick(emitReadable_, stream);else emitReadable_(stream);\n }\n}\n\nfunction emitReadable_(stream) {\n debug('emit readable');\n stream.emit('readable');\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n pna.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n var len = state.length;\n while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;else len = state.length;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n this.emit('error', new Error('_read() is not implemented'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) pna.nextTick(endFn);else src.once('end', endFn);\n\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n // If the user pushes more data while we're writing to dest then we'll end up\n // in ondata again. However, we only want to increase awaitDrain once because\n // dest will only emit one 'drain' event for the multiple writes.\n // => Introduce a guard on increasing awaitDrain.\n var increasedAwaitDrain = false;\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n increasedAwaitDrain = false;\n var ret = dest.write(chunk);\n if (false === ret && !increasedAwaitDrain) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n increasedAwaitDrain = true;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function () {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = { hasUnpiped: false };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, { hasUnpiped: false });\n }return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n\n dest.emit('unpipe', this, unpipeInfo);\n\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n\n if (ev === 'data') {\n // Start flowing on next tick if stream isn't explicitly paused\n if (this._readableState.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n var state = this._readableState;\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.emittedReadable = false;\n if (!state.reading) {\n pna.nextTick(nReadingNextTick, this);\n } else if (state.length) {\n emitReadable(this);\n }\n }\n }\n\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n state.flowing = true;\n resume(this, state);\n }\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n pna.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n if (!state.reading) {\n debug('resume read 0');\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n state.awaitDrain = 0;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (false !== this._readableState.flowing) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null) {}\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function (method) {\n return function () {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._readableState.highWaterMark;\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = fromListPartial(n, state.buffer, state.decoder);\n }\n\n return ret;\n}\n\n// Extracts only enough buffered data to satisfy the amount requested.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromListPartial(n, list, hasStrings) {\n var ret;\n if (n < list.head.data.length) {\n // slice is the same for buffers and strings\n ret = list.head.data.slice(0, n);\n list.head.data = list.head.data.slice(n);\n } else if (n === list.head.data.length) {\n // first chunk is a perfect match\n ret = list.shift();\n } else {\n // result spans more than one buffer\n ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);\n }\n return ret;\n}\n\n// Copies a specified amount of characters from the list of buffered data\n// chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBufferString(n, list) {\n var p = list.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\n// Copies a specified amount of bytes from the list of buffered data chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBuffer(n, list) {\n var ret = Buffer.allocUnsafe(n);\n var p = list.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n\n // If we get here before consuming all the bytes, then that is a\n // bug in node. Should never happen.\n if (state.length > 0) throw new Error('\"endReadable()\" called on non-empty stream');\n\n if (!state.endEmitted) {\n state.ended = true;\n pna.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n }\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict';\n\nmodule.exports = Transform;\n\nvar Duplex = require('./_stream_duplex');\n\n/*<replacement>*/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/*</replacement>*/\n\nutil.inherits(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n\n var cb = ts.writecb;\n\n if (!cb) {\n return this.emit('error', new Error('write callback called multiple times'));\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n\n cb(er);\n\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n\n Duplex.call(this, options);\n\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function') {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n throw new Error('_transform() is not implemented');\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && ts.writecb && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n var _this2 = this;\n\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n _this2.emit('close');\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new Error('Calling transform done when ws.length != 0');\n\n if (stream._transformState.transforming) throw new Error('Calling transform done when still transforming');\n\n return stream.push(null);\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n'use strict';\n\n/*<replacement>*/\n\nvar pna = require('process-nextick-args');\n/*</replacement>*/\n\nmodule.exports = Writable;\n\n/* <replacement> */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* </replacement> */\n\n/*<replacement>*/\nvar asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;\n/*</replacement>*/\n\n/*<replacement>*/\nvar Duplex;\n/*</replacement>*/\n\nWritable.WritableState = WritableState;\n\n/*<replacement>*/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/*</replacement>*/\n\n/*<replacement>*/\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/*</replacement>*/\n\n/*<replacement>*/\nvar Stream = require('./internal/streams/stream');\n/*</replacement>*/\n\n/*<replacement>*/\n\nvar Buffer = require('safe-buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/*</replacement>*/\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nutil.inherits(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream) {\n Duplex = Duplex || require('./_stream_duplex');\n\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n var isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n var hwm = options.highWaterMark;\n var writableHwm = options.writableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function () {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function (object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function (object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {\n return new Writable(options);\n }\n\n this._writableState = new WritableState(options, this);\n\n // legacy.\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n\n if (typeof options.writev === 'function') this._writev = options.writev;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n this.emit('error', new Error('Cannot pipe, not readable'));\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new Error('write after end');\n // TODO: defer error events consistently everywhere, not just the cb\n stream.emit('error', er);\n pna.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var valid = true;\n var er = false;\n\n if (chunk === null) {\n er = new TypeError('May not write null values to stream');\n } else if (typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n if (er) {\n stream.emit('error', er);\n pna.nextTick(cb, er);\n valid = false;\n }\n return valid;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n\n if (typeof cb !== 'function') cb = nop;\n\n if (state.ended) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n\n return ret;\n};\n\nWritable.prototype.cork = function () {\n var state = this._writableState;\n\n state.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n\n state.length += len;\n\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n pna.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n pna.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n\n onwriteStateUpdate(state);\n\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state);\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n /*<replacement>*/\n asyncWrite(afterWrite, stream, state, finished, cb);\n /*</replacement>*/\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new Error('_write() is not implemented'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending) endWritable(this, state, cb);\n};\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n stream.emit('error', err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function') {\n state.pendingcb++;\n state.finalCalled = true;\n pna.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n }\n }\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) pna.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n\n // reuse the free corkReq.\n state.corkedRequestsFree.next = corkReq;\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n get: function () {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\n\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n this.end();\n cb(err);\n};","'use strict';\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Buffer = require('safe-buffer').Buffer;\nvar util = require('util');\n\nfunction copyBuffer(src, target, offset) {\n src.copy(target, offset);\n}\n\nmodule.exports = function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n BufferList.prototype.push = function push(v) {\n var entry = { data: v, next: null };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n };\n\n BufferList.prototype.unshift = function unshift(v) {\n var entry = { data: v, next: this.head };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n };\n\n BufferList.prototype.shift = function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n };\n\n BufferList.prototype.clear = function clear() {\n this.head = this.tail = null;\n this.length = 0;\n };\n\n BufferList.prototype.join = function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) {\n ret += s + p.data;\n }return ret;\n };\n\n BufferList.prototype.concat = function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n };\n\n return BufferList;\n}();\n\nif (util && util.inspect && util.inspect.custom) {\n module.exports.prototype[util.inspect.custom] = function () {\n var obj = util.inspect({ length: this.length });\n return this.constructor.name + ' ' + obj;\n };\n}","'use strict';\n\n/*<replacement>*/\n\nvar pna = require('process-nextick-args');\n/*</replacement>*/\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n pna.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n pna.nextTick(emitErrorNT, this, err);\n }\n }\n\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n pna.nextTick(emitErrorNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n pna.nextTick(emitErrorNT, _this, err);\n }\n } else if (cb) {\n cb(err);\n }\n });\n\n return this;\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy\n};","module.exports = require('./readable').PassThrough\n","exports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\n","module.exports = require('./readable').Transform\n","module.exports = require('./lib/_stream_writable.js');\n","var nextTick = require('process/browser.js').nextTick;\nvar apply = Function.prototype.apply;\nvar slice = Array.prototype.slice;\nvar immediateIds = {};\nvar nextImmediateId = 0;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, window, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) { timeout.close(); };\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(window, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// That's not how node.js implements it but the exposed api is the same.\nexports.setImmediate = typeof setImmediate === \"function\" ? setImmediate : function(fn) {\n var id = nextImmediateId++;\n var args = arguments.length < 2 ? false : slice.call(arguments, 1);\n\n immediateIds[id] = true;\n\n nextTick(function onNextTick() {\n if (immediateIds[id]) {\n // fn.call() is faster so we optimize for the common use-case\n // @see http://jsperf.com/call-apply-segu\n if (args) {\n fn.apply(null, args);\n } else {\n fn.call(null);\n }\n // Prevent ids from leaking\n exports.clearImmediate(id);\n }\n });\n\n return id;\n};\n\nexports.clearImmediate = typeof clearImmediate === \"function\" ? clearImmediate : function(id) {\n delete immediateIds[id];\n};","\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n // Allow for deprecating things in the process of starting up.\n if (isUndefined(global.process)) {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n if (process.noDeprecation === true) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n if (isUndefined(debugEnviron))\n debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"v1\", {\n enumerable: true,\n get: function () {\n return _v.default;\n }\n});\nObject.defineProperty(exports, \"v3\", {\n enumerable: true,\n get: function () {\n return _v2.default;\n }\n});\nObject.defineProperty(exports, \"v4\", {\n enumerable: true,\n get: function () {\n return _v3.default;\n }\n});\nObject.defineProperty(exports, \"v5\", {\n enumerable: true,\n get: function () {\n return _v4.default;\n }\n});\nObject.defineProperty(exports, \"NIL\", {\n enumerable: true,\n get: function () {\n return _nil.default;\n }\n});\nObject.defineProperty(exports, \"version\", {\n enumerable: true,\n get: function () {\n return _version.default;\n }\n});\nObject.defineProperty(exports, \"validate\", {\n enumerable: true,\n get: function () {\n return _validate.default;\n }\n});\nObject.defineProperty(exports, \"stringify\", {\n enumerable: true,\n get: function () {\n return _stringify.default;\n }\n});\nObject.defineProperty(exports, \"parse\", {\n enumerable: true,\n get: function () {\n return _parse.default;\n }\n});\n\nvar _v = _interopRequireDefault(require(\"./v1.js\"));\n\nvar _v2 = _interopRequireDefault(require(\"./v3.js\"));\n\nvar _v3 = _interopRequireDefault(require(\"./v4.js\"));\n\nvar _v4 = _interopRequireDefault(require(\"./v5.js\"));\n\nvar _nil = _interopRequireDefault(require(\"./nil.js\"));\n\nvar _version = _interopRequireDefault(require(\"./version.js\"));\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n/*\n * Browser-compatible JavaScript MD5\n *\n * Modification of JavaScript MD5\n * https://github.com/blueimp/JavaScript-MD5\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n *\n * Based on\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\nfunction md5(bytes) {\n if (typeof bytes === 'string') {\n const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = new Uint8Array(msg.length);\n\n for (let i = 0; i < msg.length; ++i) {\n bytes[i] = msg.charCodeAt(i);\n }\n }\n\n return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8));\n}\n/*\n * Convert an array of little-endian words to an array of bytes\n */\n\n\nfunction md5ToHexEncodedArray(input) {\n const output = [];\n const length32 = input.length * 32;\n const hexTab = '0123456789abcdef';\n\n for (let i = 0; i < length32; i += 8) {\n const x = input[i >> 5] >>> i % 32 & 0xff;\n const hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16);\n output.push(hex);\n }\n\n return output;\n}\n/**\n * Calculate output length with padding and bit length\n */\n\n\nfunction getOutputLength(inputLength8) {\n return (inputLength8 + 64 >>> 9 << 4) + 14 + 1;\n}\n/*\n * Calculate the MD5 of an array of little-endian words, and a bit length.\n */\n\n\nfunction wordsToMd5(x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << len % 32;\n x[getOutputLength(len) - 1] = len;\n let a = 1732584193;\n let b = -271733879;\n let c = -1732584194;\n let d = 271733878;\n\n for (let i = 0; i < x.length; i += 16) {\n const olda = a;\n const oldb = b;\n const oldc = c;\n const oldd = d;\n a = md5ff(a, b, c, d, x[i], 7, -680876936);\n d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = md5ff(c, d, a, b, x[i + 10], 17, -42063);\n b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = md5gg(b, c, d, a, x[i], 20, -373897302);\n a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = md5hh(a, b, c, d, x[i + 5], 4, -378558);\n d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = md5hh(d, a, b, c, x[i], 11, -358537222);\n c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = md5ii(a, b, c, d, x[i], 6, -198630844);\n d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = safeAdd(a, olda);\n b = safeAdd(b, oldb);\n c = safeAdd(c, oldc);\n d = safeAdd(d, oldd);\n }\n\n return [a, b, c, d];\n}\n/*\n * Convert an array bytes to an array of little-endian words\n * Characters >255 have their high-byte silently ignored.\n */\n\n\nfunction bytesToWords(input) {\n if (input.length === 0) {\n return [];\n }\n\n const length8 = input.length * 8;\n const output = new Uint32Array(getOutputLength(length8));\n\n for (let i = 0; i < length8; i += 8) {\n output[i >> 5] |= (input[i / 8] & 0xff) << i % 32;\n }\n\n return output;\n}\n/*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n */\n\n\nfunction safeAdd(x, y) {\n const lsw = (x & 0xffff) + (y & 0xffff);\n const msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return msw << 16 | lsw & 0xffff;\n}\n/*\n * Bitwise rotate a 32-bit number to the left.\n */\n\n\nfunction bitRotateLeft(num, cnt) {\n return num << cnt | num >>> 32 - cnt;\n}\n/*\n * These functions implement the four basic operations the algorithm uses.\n */\n\n\nfunction md5cmn(q, a, b, x, s, t) {\n return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);\n}\n\nfunction md5ff(a, b, c, d, x, s, t) {\n return md5cmn(b & c | ~b & d, a, b, x, s, t);\n}\n\nfunction md5gg(a, b, c, d, x, s, t) {\n return md5cmn(b & d | c & ~d, a, b, x, s, t);\n}\n\nfunction md5hh(a, b, c, d, x, s, t) {\n return md5cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction md5ii(a, b, c, d, x, s, t) {\n return md5cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\nvar _default = md5;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = '00000000-0000-0000-0000-000000000000';\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction parse(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n let v;\n const arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nvar _default = parse;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = rng;\n// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\n\nfunction rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n// Adapted from Chris Veness' SHA1 code at\n// http://www.movable-type.co.uk/scripts/sha1.html\nfunction f(s, x, y, z) {\n switch (s) {\n case 0:\n return x & y ^ ~x & z;\n\n case 1:\n return x ^ y ^ z;\n\n case 2:\n return x & y ^ x & z ^ y & z;\n\n case 3:\n return x ^ y ^ z;\n }\n}\n\nfunction ROTL(x, n) {\n return x << n | x >>> 32 - n;\n}\n\nfunction sha1(bytes) {\n const K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];\n const H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n\n if (typeof bytes === 'string') {\n const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = [];\n\n for (let i = 0; i < msg.length; ++i) {\n bytes.push(msg.charCodeAt(i));\n }\n } else if (!Array.isArray(bytes)) {\n // Convert Array-like to Array\n bytes = Array.prototype.slice.call(bytes);\n }\n\n bytes.push(0x80);\n const l = bytes.length / 4 + 2;\n const N = Math.ceil(l / 16);\n const M = new Array(N);\n\n for (let i = 0; i < N; ++i) {\n const arr = new Uint32Array(16);\n\n for (let j = 0; j < 16; ++j) {\n arr[j] = bytes[i * 64 + j * 4] << 24 | bytes[i * 64 + j * 4 + 1] << 16 | bytes[i * 64 + j * 4 + 2] << 8 | bytes[i * 64 + j * 4 + 3];\n }\n\n M[i] = arr;\n }\n\n M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32);\n M[N - 1][14] = Math.floor(M[N - 1][14]);\n M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff;\n\n for (let i = 0; i < N; ++i) {\n const W = new Uint32Array(80);\n\n for (let t = 0; t < 16; ++t) {\n W[t] = M[i][t];\n }\n\n for (let t = 16; t < 80; ++t) {\n W[t] = ROTL(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1);\n }\n\n let a = H[0];\n let b = H[1];\n let c = H[2];\n let d = H[3];\n let e = H[4];\n\n for (let t = 0; t < 80; ++t) {\n const s = Math.floor(t / 20);\n const T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[t] >>> 0;\n e = d;\n d = c;\n c = ROTL(b, 30) >>> 0;\n b = a;\n a = T;\n }\n\n H[0] = H[0] + a >>> 0;\n H[1] = H[1] + b >>> 0;\n H[2] = H[2] + c >>> 0;\n H[3] = H[3] + d >>> 0;\n H[4] = H[4] + e >>> 0;\n }\n\n return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff];\n}\n\nvar _default = sha1;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nvar _default = stringify;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\nlet _nodeId;\n\nlet _clockseq; // Previous uuid creation time\n\n\nlet _lastMSecs = 0;\nlet _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n let i = buf && offset || 0;\n const b = buf || new Array(16);\n options = options || {};\n let node = options.node || _nodeId;\n let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n\n if (node == null || clockseq == null) {\n const seedBytes = options.random || (options.rng || _rng.default)();\n\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n\n let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n\n\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n if (nsecs >= 10000) {\n throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n msecs += 12219292800000; // `time_low`\n\n const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff; // `time_mid`\n\n const tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff; // `time_high_and_version`\n\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n b[i++] = clockseq & 0xff; // `node`\n\n for (let n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf || (0, _stringify.default)(b);\n}\n\nvar _default = v1;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _md = _interopRequireDefault(require(\"./md5.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v3 = (0, _v.default)('v3', 0x30, _md.default);\nvar _default = v3;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\nexports.URL = exports.DNS = void 0;\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n const bytes = [];\n\n for (let i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nconst DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexports.DNS = DNS;\nconst URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexports.URL = URL;\n\nfunction _default(name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = (0, _parse.default)(namespace);\n }\n\n if (namespace.length !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n let bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.default)(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction v4(options, buf, offset) {\n options = options || {};\n\n const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.default)(rnds);\n}\n\nvar _default = v4;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _sha = _interopRequireDefault(require(\"./sha1.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v5 = (0, _v.default)('v5', 0x50, _sha.default);\nvar _default = v5;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _regex = _interopRequireDefault(require(\"./regex.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && _regex.default.test(uuid);\n}\n\nvar _default = validate;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction version(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n return parseInt(uuid.substr(14, 1), 16);\n}\n\nvar _default = version;\nexports.default = _default;","\"use strict\";\n\n/**\n * Character classes and associated utilities for the 5th edition of XML 1.0.\n *\n * @author Louis-Dominique Dubeau\n * @license MIT\n * @copyright Louis-Dominique Dubeau\n */\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n//\n// Fragments.\n//\nexports.CHAR = \"\\t\\n\\r -\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\";\nexports.S = \" \\t\\r\\n\";\n// tslint:disable-next-line:max-line-length\nexports.NAME_START_CHAR = \":A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\uD800\\uDC00-\\uDB7F\\uDFFF\";\nexports.NAME_CHAR = \"-\" + exports.NAME_START_CHAR + \".0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040\";\n//\n// Regular expressions.\n//\nexports.CHAR_RE = new RegExp(\"^[\" + exports.CHAR + \"]$\", \"u\");\nexports.S_RE = new RegExp(\"^[\" + exports.S + \"]+$\", \"u\");\nexports.NAME_START_CHAR_RE = new RegExp(\"^[\" + exports.NAME_START_CHAR + \"]$\", \"u\");\nexports.NAME_CHAR_RE = new RegExp(\"^[\" + exports.NAME_CHAR + \"]$\", \"u\");\nexports.NAME_RE = new RegExp(\"^[\" + exports.NAME_START_CHAR + \"][\" + exports.NAME_CHAR + \"]*$\", \"u\");\nexports.NMTOKEN_RE = new RegExp(\"^[\" + exports.NAME_CHAR + \"]+$\", \"u\");\nvar TAB = 9;\nvar NL = 0xA;\nvar CR = 0xD;\nvar SPACE = 0x20;\n//\n// Lists.\n//\n/** All characters in the ``S`` production. */\nexports.S_LIST = [SPACE, NL, CR, TAB];\n/**\n * Determines whether a codepoint matches the ``CHAR`` production.\n *\n * @param c The code point.\n *\n * @returns ``true`` if the codepoint matches ``CHAR``.\n */\nfunction isChar(c) {\n return c >= SPACE && c <= 0xD7FF || c === NL || c === CR || c === TAB || c >= 0xE000 && c <= 0xFFFD || c >= 0x10000 && c <= 0x10FFFF;\n}\nexports.isChar = isChar;\n/**\n * Determines whether a codepoint matches the ``S`` (space) production.\n *\n * @param c The code point.\n *\n * @returns ``true`` if the codepoint matches ``S``.\n */\nfunction isS(c) {\n return c === SPACE || c === NL || c === CR || c === TAB;\n}\nexports.isS = isS;\n/**\n * Determines whether a codepoint matches the ``NAME_START_CHAR`` production.\n *\n * @param c The code point.\n *\n * @returns ``true`` if the codepoint matches ``NAME_START_CHAR``.\n */\nfunction isNameStartChar(c) {\n return c >= 0x41 && c <= 0x5A || c >= 0x61 && c <= 0x7A || c === 0x3A || c === 0x5F || c === 0x200C || c === 0x200D || c >= 0xC0 && c <= 0xD6 || c >= 0xD8 && c <= 0xF6 || c >= 0x00F8 && c <= 0x02FF || c >= 0x0370 && c <= 0x037D || c >= 0x037F && c <= 0x1FFF || c >= 0x2070 && c <= 0x218F || c >= 0x2C00 && c <= 0x2FEF || c >= 0x3001 && c <= 0xD7FF || c >= 0xF900 && c <= 0xFDCF || c >= 0xFDF0 && c <= 0xFFFD || c >= 0x10000 && c <= 0xEFFFF;\n}\nexports.isNameStartChar = isNameStartChar;\n/**\n * Determines whether a codepoint matches the ``NAME_CHAR`` production.\n *\n * @param c The code point.\n *\n * @returns ``true`` if the codepoint matches ``NAME_CHAR``.\n */\nfunction isNameChar(c) {\n return isNameStartChar(c) || c >= 0x30 && c <= 0x39 || c === 0x2D || c === 0x2E || c === 0xB7 || c >= 0x0300 && c <= 0x036F || c >= 0x203F && c <= 0x2040;\n}\nexports.isNameChar = isNameChar;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJleHBvcnRzIiwiQ0hBUiIsIlMiLCJOQU1FX1NUQVJUX0NIQVIiLCJOQU1FX0NIQVIiLCJDSEFSX1JFIiwiUmVnRXhwIiwiU19SRSIsIk5BTUVfU1RBUlRfQ0hBUl9SRSIsIk5BTUVfQ0hBUl9SRSIsIk5BTUVfUkUiLCJOTVRPS0VOX1JFIiwiVEFCIiwiTkwiLCJDUiIsIlNQQUNFIiwiU19MSVNUIiwiaXNDaGFyIiwiYyIsImlzUyIsImlzTmFtZVN0YXJ0Q2hhciIsImlzTmFtZUNoYXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMveG1sLzEuMC9lZDUudHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsXSwibWFwcGluZ3MiOiI7O0FBQUE7Ozs7Ozs7Ozs7QUFRQTtBQUNBO0FBQ0E7QUFDYUEsT0FBQSxDQUFBQyxJQUFJLEdBQUcsc0RBQXNEO0FBRTdERCxPQUFBLENBQUFFLENBQUMsR0FBRyxTQUFTO0FBRTFCO0FBQ2FGLE9BQUEsQ0FBQUcsZUFBZSxHQUFHLGlMQUEySztBQUU3TEgsT0FBQSxDQUFBSSxTQUFTLEdBQ3BCLE1BQUlKLE9BQUEsQ0FBQUcsZUFBZSx5Q0FBc0M7QUFFM0Q7QUFDQTtBQUNBO0FBRWFILE9BQUEsQ0FBQUssT0FBTyxHQUFHLElBQUlDLE1BQU0sQ0FBQyxPQUFLTixPQUFBLENBQUFDLElBQUksT0FBSSxFQUFFLEdBQUcsQ0FBQztBQUV4Q0QsT0FBQSxDQUFBTyxJQUFJLEdBQUcsSUFBSUQsTUFBTSxDQUFDLE9BQUtOLE9BQUEsQ0FBQUUsQ0FBQyxRQUFLLEVBQUUsR0FBRyxDQUFDO0FBRW5DRixPQUFBLENBQUFRLGtCQUFrQixHQUFHLElBQUlGLE1BQU0sQ0FBQyxPQUFLTixPQUFBLENBQUFHLGVBQWUsT0FBSSxFQUFFLEdBQUcsQ0FBQztBQUU5REgsT0FBQSxDQUFBUyxZQUFZLEdBQUcsSUFBSUgsTUFBTSxDQUFDLE9BQUtOLE9BQUEsQ0FBQUksU0FBUyxPQUFJLEVBQUUsR0FBRyxDQUFDO0FBRWxESixPQUFBLENBQUFVLE9B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","\"use strict\";\n\n/**\n * Character classes and associated utilities for the 2nd edition of XML 1.1.\n *\n * @author Louis-Dominique Dubeau\n * @license MIT\n * @copyright Louis-Dominique Dubeau\n */\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n//\n// Fragments.\n//\nexports.CHAR = \"\\u0001-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\";\nexports.RESTRICTED_CHAR = \"\\u0001-\\u0008\\u000B\\u000C\\u000E-\\u001F\\u007F-\\u0084\\u0086-\\u009F\";\nexports.S = \" \\t\\r\\n\";\n// tslint:disable-next-line:max-line-length\nexports.NAME_START_CHAR = \":A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\uD800\\uDC00-\\uDB7F\\uDFFF\";\nexports.NAME_CHAR = \"-\" + exports.NAME_START_CHAR + \".0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040\";\n//\n// Regular expressions.\n//\nexports.CHAR_RE = new RegExp(\"^[\" + exports.CHAR + \"]$\", \"u\");\nexports.RESTRICTED_CHAR_RE = new RegExp(\"^[\" + exports.RESTRICTED_CHAR + \"]$\", \"u\");\nexports.S_RE = new RegExp(\"^[\" + exports.S + \"]+$\", \"u\");\nexports.NAME_START_CHAR_RE = new RegExp(\"^[\" + exports.NAME_START_CHAR + \"]$\", \"u\");\nexports.NAME_CHAR_RE = new RegExp(\"^[\" + exports.NAME_CHAR + \"]$\", \"u\");\nexports.NAME_RE = new RegExp(\"^[\" + exports.NAME_START_CHAR + \"][\" + exports.NAME_CHAR + \"]*$\", \"u\");\nexports.NMTOKEN_RE = new RegExp(\"^[\" + exports.NAME_CHAR + \"]+$\", \"u\");\nvar TAB = 9;\nvar NL = 0xA;\nvar CR = 0xD;\nvar SPACE = 0x20;\n//\n// Lists.\n//\n/** All characters in the ``S`` production. */\nexports.S_LIST = [SPACE, NL, CR, TAB];\n/**\n * Determines whether a codepoint matches the ``CHAR`` production.\n *\n * @param c The code point.\n *\n * @returns ``true`` if the codepoint matches ``CHAR``.\n */\nfunction isChar(c) {\n return c >= 0x0001 && c <= 0xD7FF || c >= 0xE000 && c <= 0xFFFD || c >= 0x10000 && c <= 0x10FFFF;\n}\nexports.isChar = isChar;\n/**\n * Determines whether a codepoint matches the ``RESTRICTED_CHAR`` production.\n *\n * @param c The code point.\n *\n * @returns ``true`` if the codepoint matches ``RESTRICTED_CHAR``.\n */\nfunction isRestrictedChar(c) {\n return c >= 0x1 && c <= 0x8 || c === 0xB || c === 0xC || c >= 0xE && c <= 0x1F || c >= 0x7F && c <= 0x84 || c >= 0x86 && c <= 0x9F;\n}\nexports.isRestrictedChar = isRestrictedChar;\n/**\n * Determines whether a codepoint matches the ``CHAR`` production and does not\n * match the ``RESTRICTED_CHAR`` production. ``isCharAndNotRestricted(x)`` is\n * equivalent to ``isChar(x) && !isRestrictedChar(x)``. This function is faster\n * than running the two-call equivalent.\n *\n * @param c The code point.\n *\n * @returns ``true`` if the codepoint matches ``CHAR`` and does not match\n * ``RESTRICTED_CHAR``.\n */\nfunction isCharAndNotRestricted(c) {\n return c === 0x9 || c === 0xA || c === 0xD || c > 0x1F && c < 0x7F || c === 0x85 || c > 0x9F && c <= 0xD7FF || c >= 0xE000 && c <= 0xFFFD || c >= 0x10000 && c <= 0x10FFFF;\n}\nexports.isCharAndNotRestricted = isCharAndNotRestricted;\n/**\n * Determines whether a codepoint matches the ``S`` (space) production.\n *\n * @param c The code point.\n *\n * @returns ``true`` if the codepoint matches ``S``.\n */\nfunction isS(c) {\n return c === SPACE || c === NL || c === CR || c === TAB;\n}\nexports.isS = isS;\n/**\n * Determines whether a codepoint matches the ``NAME_START_CHAR`` production.\n *\n * @param c The code point.\n *\n * @returns ``true`` if the codepoint matches ``NAME_START_CHAR``.\n */\n// tslint:disable-next-line:cyclomatic-complexity\nfunction isNameStartChar(c) {\n return c >= 0x41 && c <= 0x5A || c >= 0x61 && c <= 0x7A || c === 0x3A || c === 0x5F || c === 0x200C || c === 0x200D || c >= 0xC0 && c <= 0xD6 || c >= 0xD8 && c <= 0xF6 || c >= 0x00F8 && c <= 0x02FF || c >= 0x0370 && c <= 0x037D || c >= 0x037F && c <= 0x1FFF || c >= 0x2070 && c <= 0x218F || c >= 0x2C00 && c <= 0x2FEF || c >= 0x3001 && c <= 0xD7FF || c >= 0xF900 && c <= 0xFDCF || c >= 0xFDF0 && c <= 0xFFFD || c >= 0x10000 && c <= 0xEFFFF;\n}\nexports.isNameStartChar = isNameStartChar;\n/**\n * Determines whether a codepoint matches the ``NAME_CHAR`` production.\n *\n * @param c The code point.\n *\n * @returns ``true`` if the codepoint matches ``NAME_CHAR``.\n */\nfunction isNameChar(c) {\n return isNameStartChar(c) || c >= 0x30 && c <= 0x39 || c === 0x2D || c === 0x2E || c === 0xB7 || c >= 0x0300 && c <= 0x036F || c >= 0x203F && c <= 0x2040;\n}\nexports.isNameChar = isNameChar;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJleHBvcnRzIiwiQ0hBUiIsIlJFU1RSSUNURURfQ0hBUiIsIlMiLCJOQU1FX1NUQVJUX0NIQVIiLCJOQU1FX0NIQVIiLCJDSEFSX1JFIiwiUmVnRXhwIiwiUkVTVFJJQ1RFRF9DSEFSX1JFIiwiU19SRSIsIk5BTUVfU1RBUlRfQ0hBUl9SRSIsIk5BTUVfQ0hBUl9SRSIsIk5BTUVfUkUiLCJOTVRPS0VOX1JFIiwiVEFCIiwiTkwiLCJDUiIsIlNQQUNFIiwiU19MSVNUIiwiaXNDaGFyIiwiYyIsImlzUmVzdHJpY3RlZENoYXIiLCJpc0NoYXJBbmROb3RSZXN0cmljdGVkIiwiaXNTIiwiaXNOYW1lU3RhcnRDaGFyIiwiaXNOYW1lQ2hhciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy94bWwvMS4xL2VkMi50cyJdLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7Ozs7Ozs7OztBQVFBO0FBQ0E7QUFDQTtBQUNhQSxPQUFBLENBQUFDLElBQUksR0FBRyxxREFBZ0Q7QUFFdkRELE9BQUEsQ0FBQUUsZUFBZSxHQUMxQixrRUFBa0U7QUFFdkRGLE9BQUEsQ0FBQUcsQ0FBQyxHQUFHLFNBQVM7QUFFMUI7QUFDYUgsT0FBQSxDQUFBSSxlQUFlLEdBQUcsaUxBQTJLO0FBRTdMSixPQUFBLENBQUFLLFNBQVMsR0FDcEIsTUFBSUwsT0FBQSxDQUFBSSxlQUFlLHlDQUFzQztBQUUzRDtBQUNBO0FBQ0E7QUFFYUosT0FBQSxDQUFBTSxPQUFPLEdBQUcsSUFBSUMsTUFBTSxDQUFDLE9BQUtQLE9BQUEsQ0FBQUMsSUFBSSxPQUFJLEVBQUUsR0FBRyxDQUFDO0FBRXhDRCxPQUFBLENBQUFRLGtCQUFrQixHQUFHLElBQUlELE1BQU0sQ0FBQyxPQUFLUCxPQUFBLENBQUFFLGVBQWUsT0FBSSxFQUFFLEdBQUcsQ0FBQztBQUU5REYsT0FBQSxDQUFBUyxJQUFJLEdBQUcsSUFBSUYsTUFBTSxDQUFDLE9BQUtQLE9BQUEsQ0FBQUcsQ0FBQyxRQUFLLEVB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","\"use strict\";\n\n/**\n * Character class utilities for XML NS 1.0 edition 3.\n *\n * @author Louis-Dominique Dubeau\n * @license MIT\n * @copyright Louis-Dominique Dubeau\n */\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n//\n// Fragments.\n//\n// tslint:disable-next-line:max-line-length\nexports.NC_NAME_START_CHAR = \"A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\uD800\\uDC00-\\uDB7F\\uDFFF\";\nexports.NC_NAME_CHAR = \"-\" + exports.NC_NAME_START_CHAR + \".0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040\";\n//\n// Regular expressions.\n//\nexports.NC_NAME_START_CHAR_RE = new RegExp(\"^[\" + exports.NC_NAME_START_CHAR + \"]$\", \"u\");\nexports.NC_NAME_CHAR_RE = new RegExp(\"^[\" + exports.NC_NAME_CHAR + \"]$\", \"u\");\nexports.NC_NAME_RE = new RegExp(\"^[\" + exports.NC_NAME_START_CHAR + \"][\" + exports.NC_NAME_CHAR + \"]*$\", \"u\");\n/**\n * Determines whether a codepoint matches [[NC_NAME_START_CHAR]].\n *\n * @param c The code point.\n *\n * @returns ``true`` if the codepoint matches.\n */\n// tslint:disable-next-line:cyclomatic-complexity\nfunction isNCNameStartChar(c) {\n return c >= 0x41 && c <= 0x5A || c === 0x5F || c >= 0x61 && c <= 0x7A || c >= 0xC0 && c <= 0xD6 || c >= 0xD8 && c <= 0xF6 || c >= 0x00F8 && c <= 0x02FF || c >= 0x0370 && c <= 0x037D || c >= 0x037F && c <= 0x1FFF || c >= 0x200C && c <= 0x200D || c >= 0x2070 && c <= 0x218F || c >= 0x2C00 && c <= 0x2FEF || c >= 0x3001 && c <= 0xD7FF || c >= 0xF900 && c <= 0xFDCF || c >= 0xFDF0 && c <= 0xFFFD || c >= 0x10000 && c <= 0xEFFFF;\n}\nexports.isNCNameStartChar = isNCNameStartChar;\n/**\n * Determines whether a codepoint matches [[NC_NAME_CHAR]].\n *\n * @param c The code point.\n *\n * @returns ``true`` if the codepoint matches.\n */\nfunction isNCNameChar(c) {\n return isNCNameStartChar(c) || c === 0x2D || c === 0x2E || c >= 0x30 && c <= 0x39 || c === 0x00B7 || c >= 0x0300 && c <= 0x036F || c >= 0x203F && c <= 0x2040;\n}\nexports.isNCNameChar = isNCNameChar;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJleHBvcnRzIiwiTkNfTkFNRV9TVEFSVF9DSEFSIiwiTkNfTkFNRV9DSEFSIiwiTkNfTkFNRV9TVEFSVF9DSEFSX1JFIiwiUmVnRXhwIiwiTkNfTkFNRV9DSEFSX1JFIiwiTkNfTkFNRV9SRSIsImlzTkNOYW1lU3RhcnRDaGFyIiwiYyIsImlzTkNOYW1lQ2hhciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy94bWxucy8xLjAvZWQzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbbnVsbF0sIm1hcHBpbmdzIjoiOztBQUFBOzs7Ozs7Ozs7O0FBUUE7QUFDQTtBQUNBO0FBRUE7QUFDYUEsT0FBQSxDQUFBQyxrQkFBa0IsR0FBRyxpTEFBMks7QUFFaE1ELE9BQUEsQ0FBQUUsWUFBWSxHQUN2QixNQUFJRixPQUFBLENBQUFDLGtCQUFrQix5Q0FBc0M7QUFFOUQ7QUFDQTtBQUNBO0FBRWFELE9BQUEsQ0FBQUcscUJBQXFCLEdBQ2hDLElBQUlDLE1BQU0sQ0FBQyxPQUFLSixPQUFBLENBQUFDLGtCQUFrQixPQUFJLEVBQUUsR0FBRyxDQUFDO0FBRWpDRCxPQUFBLENBQUFLLGVBQWUsR0FBRyxJQUFJRCxNQUFNLENBQUMsT0FBS0osT0FBQSxDQUFBRSxZQUFZLE9BQUksRUFBRSxHQUFHLENBQUM7QUFFeERGLE9BQUEsQ0FBQU0sVUFBVSxHQUNyQixJQUFJRixNQUFNLENBQUMsT0FBS0osT0FBQSxDQUFBQyxrQkFBa0IsVUFBS0QsT0FBQSxDQUFBRSxZQUFZLFFBQUssRUFBRSxHQUFHLENBQUM7QUFFaEU7Ozs7Ozs7QUFPQTtBQUNBLFNBQWdCSyxpQkFBaUJBLENBQUNDLENBQVM7RUFDekMsT0FBU0EsQ0FBQyxJQUFJLElBQUksSUFBSUEsQ0FBQyxJQUFJLElBQUksSUFDdkJBLENBQUMsS0FBSyxJQUFJLElBQ1RBLENBQUMsSUFBSSxJQUFJLElBQUlBLENBQUMsSUFBSSxJQUFLLElBQ3ZCQSxDQUFDLElBQUksSUFBSSxJQUFJQSxDQUFDLElBQUksSUFBSyxJQUN2QkEsQ0FBQyxJQUFJLElBQUksSUFBSUEsQ0FBQyxJQUFJLElBQUssSUFDdkJBLENBQUMsSUFBSSxNQUFNLElBQUlBLENBQUMsSUFBSSxNQUFPLElBQzNCQSxDQUFDLElBQUksTUFBTSxJQUFJQSxDQUFDLElBQUksTUFBTyxJQUMzQkEsQ0FBQyxJQUFJLE1BQU0sSUFBSUEsQ0FBQyxJQUFJLE1BQU8sSUFDM0JBLENBQUMsSUFBSSxNQUFNLElBQUlBLENBQUMsSUFBSSxNQUFPLElBQzNCQSxDQUFDLElBQUksTUFBTSxJQUFJQSxDQUFDLElBQUksTUFBTyxJQUMzQkEsQ0FBQyxJQUFJLE1BQU0sSUFBSUEsQ0FBQyxJQUFJLE1BQU8sSUFDM0JBLENBQUMsSUFBSSxNQUFNLElBQUlBLENBQUMsSUFBSSxNQUFPLElBQzNCQSxDQUFDLElBQUksTUFBTSxJQUFJQSxDQUFDLElBQUksTUFBTyxJQUMzQkEsQ0FBQyxJQUFJLE1BQU0sSUFBSUEsQ0FBQyxJQUFJLE1BQU8sSUFDM0JBLENBQUMsSUFBSSxPQUFPLElBQUlBLENBQUMsSUFBSSxPQUFRO0FBQ3hDO0FBaEJBUixPQUFBLENBQUFPLGlCQUFBLEdBQUFBLGlCQUFBO0FBa0JBOzs7Ozs7O0FBT0EsU0FBZ0JFLFlBQVlBLENBQUNELENBQVM7RUFDcEMsT0FBT0QsaUJBQWlCLENBQUNDLENBQUMsQ0FBQyxJQUN4QkEsQ0FBQyxLQUFLLElBQUksSUFDVkEsQ0FBQyxLQUFLLElBQUksSUFDVEEsQ0FBQyxJQUFJLElBQUksSUFBSUEsQ0FBQyxJQUFJLElBQUssSUFDeEJBLENBQUMsS0FBSyxNQUFNLElBQ1hBLENBQUMsSUFBSSxNQUFNLElBQUlBLENBQUMsSUFBSSxNQUFPLElBQzNCQSxDQUFDLElBQUksTUFBTSxJQUFJQSxDQUFDLElBQUksTUFBUTtBQUNsQztBQVJBUixPQUFBLENBQUFTLFlBQUEsR0FBQUEsWUFBQSJ9","/*\n* FileSaver.js\n* A saveAs() FileSaver implementation.\n*\n* By Eli Grey, http://eligrey.com\n*\n* License : https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md (MIT)\n* source : http://purl.eligrey.com/github/FileSaver.js\n*/\n\n// The one and only way of getting global scope in all environments\n// https://stackoverflow.com/q/3277182/1008999\nvar _global = typeof window === 'object' && window.window === window\n ? window : typeof self === 'object' && self.self === self\n ? self : typeof global === 'object' && global.global === global\n ? global\n : this\n\nfunction bom (blob, opts) {\n if (typeof opts === 'undefined') opts = { autoBom: false }\n else if (typeof opts !== 'object') {\n console.warn('Deprecated: Expected third argument to be a object')\n opts = { autoBom: !opts }\n }\n\n // prepend BOM for UTF-8 XML and text/* types (including HTML)\n // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\n if (opts.autoBom && /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) {\n return new Blob([String.fromCharCode(0xFEFF), blob], { type: blob.type })\n }\n return blob\n}\n\nfunction download (url, name, opts) {\n var xhr = new XMLHttpRequest()\n xhr.open('GET', url)\n xhr.responseType = 'blob'\n xhr.onload = function () {\n saveAs(xhr.response, name, opts)\n }\n xhr.onerror = function () {\n console.error('could not download file')\n }\n xhr.send()\n}\n\nfunction corsEnabled (url) {\n var xhr = new XMLHttpRequest()\n // use sync to avoid popup blocker\n xhr.open('HEAD', url, false)\n try {\n xhr.send()\n } catch (e) {}\n return xhr.status >= 200 && xhr.status <= 299\n}\n\n// `a.click()` doesn't work for all browsers (#465)\nfunction click (node) {\n try {\n node.dispatchEvent(new MouseEvent('click'))\n } catch (e) {\n var evt = document.createEvent('MouseEvents')\n evt.initMouseEvent('click', true, true, window, 0, 0, 0, 80,\n 20, false, false, false, false, 0, null)\n node.dispatchEvent(evt)\n }\n}\n\n// Detect WebView inside a native macOS app by ruling out all browsers\n// We just need to check for 'Safari' because all other browsers (besides Firefox) include that too\n// https://www.whatismybrowser.com/guides/the-latest-user-agent/macos\nvar isMacOSWebView = _global.navigator && /Macintosh/.test(navigator.userAgent) && /AppleWebKit/.test(navigator.userAgent) && !/Safari/.test(navigator.userAgent)\n\nvar saveAs = _global.saveAs || (\n // probably in some web worker\n (typeof window !== 'object' || window !== _global)\n ? function saveAs () { /* noop */ }\n\n // Use download attribute first if possible (#193 Lumia mobile) unless this is a macOS WebView\n : ('download' in HTMLAnchorElement.prototype && !isMacOSWebView)\n ? function saveAs (blob, name, opts) {\n var URL = _global.URL || _global.webkitURL\n var a = document.createElement('a')\n name = name || blob.name || 'download'\n\n a.download = name\n a.rel = 'noopener' // tabnabbing\n\n // TODO: detect chrome extensions & packaged apps\n // a.target = '_blank'\n\n if (typeof blob === 'string') {\n // Support regular links\n a.href = blob\n if (a.origin !== location.origin) {\n corsEnabled(a.href)\n ? download(blob, name, opts)\n : click(a, a.target = '_blank')\n } else {\n click(a)\n }\n } else {\n // Support blobs\n a.href = URL.createObjectURL(blob)\n setTimeout(function () { URL.revokeObjectURL(a.href) }, 4E4) // 40s\n setTimeout(function () { click(a) }, 0)\n }\n }\n\n // Use msSaveOrOpenBlob as a second approach\n : 'msSaveOrOpenBlob' in navigator\n ? function saveAs (blob, name, opts) {\n name = name || blob.name || 'download'\n\n if (typeof blob === 'string') {\n if (corsEnabled(blob)) {\n download(blob, name, opts)\n } else {\n var a = document.createElement('a')\n a.href = blob\n a.target = '_blank'\n setTimeout(function () { click(a) })\n }\n } else {\n navigator.msSaveOrOpenBlob(bom(blob, opts), name)\n }\n }\n\n // Fallback to using FileReader and a popup\n : function saveAs (blob, name, opts, popup) {\n // Open a popup immediately do go around popup blocker\n // Mostly only available on user interaction and the fileReader is async so...\n popup = popup || open('', '_blank')\n if (popup) {\n popup.document.title =\n popup.document.body.innerText = 'downloading...'\n }\n\n if (typeof blob === 'string') return download(blob, name, opts)\n\n var force = blob.type === 'application/octet-stream'\n var isSafari = /constructor/i.test(_global.HTMLElement) || _global.safari\n var isChromeIOS = /CriOS\\/[\\d]+/.test(navigator.userAgent)\n\n if ((isChromeIOS || (force && isSafari) || isMacOSWebView) && typeof FileReader !== 'undefined') {\n // Safari doesn't allow downloading of blob URLs\n var reader = new FileReader()\n reader.onloadend = function () {\n var url = reader.result\n url = isChromeIOS ? url : url.replace(/^data:[^;]*;/, 'data:attachment/file;')\n if (popup) popup.location.href = url\n else location = url\n popup = null // reverse-tabnabbing #460\n }\n reader.readAsDataURL(blob)\n } else {\n var URL = _global.URL || _global.webkitURL\n var url = URL.createObjectURL(blob)\n if (popup) popup.location = url\n else location.href = url\n popup = null // reverse-tabnabbing #460\n setTimeout(function () { URL.revokeObjectURL(url) }, 4E4) // 40s\n }\n }\n)\n\n_global.saveAs = saveAs.saveAs = saveAs\n\nif (typeof module !== 'undefined') {\n module.exports = saveAs;\n}\n","/* eslint-env browser */\nmodule.exports = typeof self == 'object' ? self.FormData : window.FormData;\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","import { getFlagsForElementVnode, createComponentVNode, createFragment, createVNode } from 'inferno';\n\nfunction isNullOrUndef(o) {\n return o === void 0 || o === null;\n}\nfunction isString(o) {\n return typeof o === 'string';\n}\nfunction isUndefined(o) {\n return o === void 0;\n}\n\nvar componentHooks = {\n onComponentDidMount: 1,\n onComponentDidUpdate: 1,\n onComponentShouldUpdate: 1,\n onComponentWillMount: 1,\n onComponentWillUnmount: 1,\n onComponentWillUpdate: 1\n};\nfunction createElement(type, props, _children) {\n var arguments$1 = arguments;\n var children;\n var ref = null;\n var key = null;\n var className = null;\n var flags = 0;\n var newProps;\n var childLen = arguments.length - 2;\n if (childLen === 1) {\n children = _children;\n }\n else if (childLen > 1) {\n children = [];\n while (childLen-- > 0) {\n children[childLen] = arguments$1[childLen + 2];\n }\n }\n if (isString(type)) {\n flags = getFlagsForElementVnode(type);\n if (!isNullOrUndef(props)) {\n newProps = {};\n for (var prop in props) {\n if (prop === 'className' || prop === 'class') {\n className = props[prop];\n }\n else if (prop === 'key') {\n key = props.key;\n }\n else if (prop === 'children' && isUndefined(children)) {\n children = props.children; // always favour children args over props\n }\n else if (prop === 'ref') {\n ref = props.ref;\n }\n else {\n if (prop === 'contenteditable') {\n flags |= 4096 /* ContentEditable */;\n }\n newProps[prop] = props[prop];\n }\n }\n }\n }\n else {\n flags = 2 /* ComponentUnknown */;\n if (!isUndefined(children)) {\n if (!props) {\n props = {};\n }\n props.children = children;\n }\n if (!isNullOrUndef(props)) {\n newProps = {};\n for (var prop$1 in props) {\n if (prop$1 === 'key') {\n key = props.key;\n }\n else if (prop$1 === 'ref') {\n ref = props.ref;\n }\n else if (componentHooks[prop$1] === 1) {\n if (!ref) {\n ref = {};\n }\n ref[prop$1] = props[prop$1];\n }\n else {\n newProps[prop$1] = props[prop$1];\n }\n }\n }\n return createComponentVNode(flags, type, newProps, key, ref);\n }\n if (flags & 8192 /* Fragment */) {\n return createFragment(childLen === 1 ? [children] : children, 0 /* UnknownChildren */, key);\n }\n return createVNode(flags, type, className, children, 0 /* UnknownChildren */, newProps, key, ref);\n}\n\nexport { createElement };\n","var isArray = Array.isArray;\nfunction isStringOrNumber(o) {\n var type = typeof o;\n return type === 'string' || type === 'number';\n}\nfunction isNullOrUndef(o) {\n return o === void 0 || o === null;\n}\nfunction isInvalid(o) {\n return o === null || o === false || o === true || o === void 0;\n}\nfunction isFunction(o) {\n return typeof o === 'function';\n}\nfunction isString(o) {\n return typeof o === 'string';\n}\nfunction isNumber(o) {\n return typeof o === 'number';\n}\nfunction isNull(o) {\n return o === null;\n}\nfunction isUndefined(o) {\n return o === void 0;\n}\nfunction combineFrom(first, second) {\n var out = {};\n if (first) {\n for (var key in first) {\n out[key] = first[key];\n }\n }\n if (second) {\n for (var key$1 in second) {\n out[key$1] = second[key$1];\n }\n }\n return out;\n}\n\n/**\n * Links given data to event as first parameter\n * @param {*} data data to be linked, it will be available in function as first parameter\n * @param {Function} event Function to be called when event occurs\n * @returns {{data: *, event: Function}}\n */\nfunction linkEvent(data, event) {\n if (isFunction(event)) {\n return { data: data, event: event };\n }\n return null; // Return null when event is invalid, to avoid creating unnecessary event handlers\n}\n// object.event should always be function, otherwise its badly created object.\nfunction isLinkEventObject(o) {\n return !isNull(o) && typeof o === 'object';\n}\n\n// We need EMPTY_OBJ defined in one place.\n// Its used for comparison so we cant inline it into shared\nvar EMPTY_OBJ = {};\nvar Fragment = '$F';\nfunction normalizeEventName(name) {\n return name.substr(2).toLowerCase();\n}\nfunction appendChild(parentDOM, dom) {\n parentDOM.appendChild(dom);\n}\nfunction insertOrAppend(parentDOM, newNode, nextNode) {\n if (isNull(nextNode)) {\n appendChild(parentDOM, newNode);\n }\n else {\n parentDOM.insertBefore(newNode, nextNode);\n }\n}\nfunction documentCreateElement(tag, isSVG) {\n if (isSVG) {\n return document.createElementNS('http://www.w3.org/2000/svg', tag);\n }\n return document.createElement(tag);\n}\nfunction replaceChild(parentDOM, newDom, lastDom) {\n parentDOM.replaceChild(newDom, lastDom);\n}\nfunction removeChild(parentDOM, childNode) {\n parentDOM.removeChild(childNode);\n}\nfunction callAll(arrayFn) {\n for (var i = 0; i < arrayFn.length; i++) {\n arrayFn[i]();\n }\n}\nfunction findChildVNode(vNode, startEdge, flags) {\n var children = vNode.children;\n if (flags & 4 /* ComponentClass */) {\n return children.$LI;\n }\n if (flags & 8192 /* Fragment */) {\n return vNode.childFlags === 2 /* HasVNodeChildren */ ? children : children[startEdge ? 0 : children.length - 1];\n }\n return children;\n}\nfunction findDOMfromVNode(vNode, startEdge) {\n var flags;\n while (vNode) {\n flags = vNode.flags;\n if (flags & 2033 /* DOMRef */) {\n return vNode.dom;\n }\n vNode = findChildVNode(vNode, startEdge, flags);\n }\n return null;\n}\nfunction removeVNodeDOM(vNode, parentDOM) {\n do {\n var flags = vNode.flags;\n if (flags & 2033 /* DOMRef */) {\n removeChild(parentDOM, vNode.dom);\n return;\n }\n var children = vNode.children;\n if (flags & 4 /* ComponentClass */) {\n vNode = children.$LI;\n }\n if (flags & 8 /* ComponentFunction */) {\n vNode = children;\n }\n if (flags & 8192 /* Fragment */) {\n if (vNode.childFlags === 2 /* HasVNodeChildren */) {\n vNode = children;\n }\n else {\n for (var i = 0, len = children.length; i < len; ++i) {\n removeVNodeDOM(children[i], parentDOM);\n }\n return;\n }\n }\n } while (vNode);\n}\nfunction moveVNodeDOM(vNode, parentDOM, nextNode) {\n do {\n var flags = vNode.flags;\n if (flags & 2033 /* DOMRef */) {\n insertOrAppend(parentDOM, vNode.dom, nextNode);\n return;\n }\n var children = vNode.children;\n if (flags & 4 /* ComponentClass */) {\n vNode = children.$LI;\n }\n if (flags & 8 /* ComponentFunction */) {\n vNode = children;\n }\n if (flags & 8192 /* Fragment */) {\n if (vNode.childFlags === 2 /* HasVNodeChildren */) {\n vNode = children;\n }\n else {\n for (var i = 0, len = children.length; i < len; ++i) {\n moveVNodeDOM(children[i], parentDOM, nextNode);\n }\n return;\n }\n }\n } while (vNode);\n}\nfunction createDerivedState(instance, nextProps, state) {\n if (instance.constructor.getDerivedStateFromProps) {\n return combineFrom(state, instance.constructor.getDerivedStateFromProps(nextProps, state));\n }\n return state;\n}\nvar renderCheck = {\n v: false\n};\nvar options = {\n componentComparator: null,\n createVNode: null,\n renderComplete: null\n};\nfunction setTextContent(dom, children) {\n dom.textContent = children;\n}\n// Calling this function assumes, nextValue is linkEvent\nfunction isLastValueSameLinkEvent(lastValue, nextValue) {\n return (isLinkEventObject(lastValue) &&\n lastValue.event === nextValue.event &&\n lastValue.data === nextValue.data);\n}\nfunction mergeUnsetProperties(to, from) {\n for (var propName in from) {\n if (isUndefined(to[propName])) {\n to[propName] = from[propName];\n }\n }\n return to;\n}\nfunction safeCall1(method, arg1) {\n return !!isFunction(method) && (method(arg1), true);\n}\n\nvar keyPrefix = '$';\nfunction V(childFlags, children, className, flags, key, props, ref, type) {\n this.childFlags = childFlags;\n this.children = children;\n this.className = className;\n this.dom = null;\n this.flags = flags;\n this.key = key === void 0 ? null : key;\n this.props = props === void 0 ? null : props;\n this.ref = ref === void 0 ? null : ref;\n this.type = type;\n}\nfunction createVNode(flags, type, className, children, childFlags, props, key, ref) {\n var childFlag = childFlags === void 0 ? 1 /* HasInvalidChildren */ : childFlags;\n var vNode = new V(childFlag, children, className, flags, key, props, ref, type);\n if (options.createVNode) {\n options.createVNode(vNode);\n }\n if (childFlag === 0 /* UnknownChildren */) {\n normalizeChildren(vNode, vNode.children);\n }\n return vNode;\n}\nfunction mergeDefaultHooks(flags, type, ref) {\n if (flags & 4 /* ComponentClass */) {\n return ref;\n }\n var defaultHooks = (flags & 32768 /* ForwardRef */ ? type.render : type).defaultHooks;\n if (isNullOrUndef(defaultHooks)) {\n return ref;\n }\n if (isNullOrUndef(ref)) {\n return defaultHooks;\n }\n return mergeUnsetProperties(ref, defaultHooks);\n}\nfunction mergeDefaultProps(flags, type, props) {\n // set default props\n var defaultProps = (flags & 32768 /* ForwardRef */ ? type.render : type).defaultProps;\n if (isNullOrUndef(defaultProps)) {\n return props;\n }\n if (isNullOrUndef(props)) {\n return combineFrom(defaultProps, null);\n }\n return mergeUnsetProperties(props, defaultProps);\n}\nfunction resolveComponentFlags(flags, type) {\n if (flags & 12 /* ComponentKnown */) {\n return flags;\n }\n if (type.prototype && type.prototype.render) {\n return 4 /* ComponentClass */;\n }\n if (type.render) {\n return 32776 /* ForwardRefComponent */;\n }\n return 8 /* ComponentFunction */;\n}\nfunction createComponentVNode(flags, type, props, key, ref) {\n flags = resolveComponentFlags(flags, type);\n var vNode = new V(1 /* HasInvalidChildren */, null, null, flags, key, mergeDefaultProps(flags, type, props), mergeDefaultHooks(flags, type, ref), type);\n if (options.createVNode) {\n options.createVNode(vNode);\n }\n return vNode;\n}\nfunction createTextVNode(text, key) {\n return new V(1 /* HasInvalidChildren */, isNullOrUndef(text) || text === true || text === false ? '' : text, null, 16 /* Text */, key, null, null, null);\n}\nfunction createFragment(children, childFlags, key) {\n var fragment = createVNode(8192 /* Fragment */, 8192 /* Fragment */, null, children, childFlags, null, key, null);\n switch (fragment.childFlags) {\n case 1 /* HasInvalidChildren */:\n fragment.children = createVoidVNode();\n fragment.childFlags = 2 /* HasVNodeChildren */;\n break;\n case 16 /* HasTextChildren */:\n fragment.children = [createTextVNode(children)];\n fragment.childFlags = 4 /* HasNonKeyedChildren */;\n break;\n }\n return fragment;\n}\nfunction normalizeProps(vNode) {\n var props = vNode.props;\n if (props) {\n var flags = vNode.flags;\n if (flags & 481 /* Element */) {\n if (props.children !== void 0 && isNullOrUndef(vNode.children)) {\n normalizeChildren(vNode, props.children);\n }\n if (props.className !== void 0) {\n if (isNullOrUndef(vNode.className)) {\n vNode.className = props.className || null;\n }\n props.className = undefined;\n }\n }\n if (props.key !== void 0) {\n vNode.key = props.key;\n props.key = undefined;\n }\n if (props.ref !== void 0) {\n if (flags & 8 /* ComponentFunction */) {\n vNode.ref = combineFrom(vNode.ref, props.ref);\n }\n else {\n vNode.ref = props.ref;\n }\n props.ref = undefined;\n }\n }\n return vNode;\n}\n/*\n * Fragment is different than normal vNode,\n * because when it needs to be cloned we need to clone its children too\n * But not normalize, because otherwise those possibly get KEY and re-mount\n */\nfunction cloneFragment(vNodeToClone) {\n var oldChildren = vNodeToClone.children;\n var childFlags = vNodeToClone.childFlags;\n return createFragment(childFlags === 2 /* HasVNodeChildren */ ? directClone(oldChildren) : oldChildren.map(directClone), childFlags, vNodeToClone.key);\n}\nfunction directClone(vNodeToClone) {\n var flags = vNodeToClone.flags & -16385 /* ClearInUse */;\n var props = vNodeToClone.props;\n if (flags & 14 /* Component */) {\n if (!isNull(props)) {\n var propsToClone = props;\n props = {};\n for (var key in propsToClone) {\n props[key] = propsToClone[key];\n }\n }\n }\n if ((flags & 8192 /* Fragment */) === 0) {\n return new V(vNodeToClone.childFlags, vNodeToClone.children, vNodeToClone.className, flags, vNodeToClone.key, props, vNodeToClone.ref, vNodeToClone.type);\n }\n return cloneFragment(vNodeToClone);\n}\nfunction createVoidVNode() {\n return createTextVNode('', null);\n}\nfunction createPortal(children, container) {\n var normalizedRoot = normalizeRoot(children);\n return createVNode(1024 /* Portal */, 1024 /* Portal */, null, normalizedRoot, 0 /* UnknownChildren */, null, normalizedRoot.key, container);\n}\nfunction _normalizeVNodes(nodes, result, index, currentKey) {\n for (var len = nodes.length; index < len; index++) {\n var n = nodes[index];\n if (!isInvalid(n)) {\n var newKey = currentKey + keyPrefix + index;\n if (isArray(n)) {\n _normalizeVNodes(n, result, 0, newKey);\n }\n else {\n if (isStringOrNumber(n)) {\n n = createTextVNode(n, newKey);\n }\n else {\n var oldKey = n.key;\n var isPrefixedKey = isString(oldKey) && oldKey[0] === keyPrefix;\n if (n.flags & 81920 /* InUseOrNormalized */ || isPrefixedKey) {\n n = directClone(n);\n }\n n.flags |= 65536 /* Normalized */;\n if (!isPrefixedKey) {\n if (isNull(oldKey)) {\n n.key = newKey;\n }\n else {\n n.key = currentKey + oldKey;\n }\n }\n else if (oldKey.substring(0, currentKey.length) !== currentKey) {\n n.key = currentKey + oldKey;\n }\n }\n result.push(n);\n }\n }\n }\n}\nfunction getFlagsForElementVnode(type) {\n switch (type) {\n case 'svg':\n return 32 /* SvgElement */;\n case 'input':\n return 64 /* InputElement */;\n case 'select':\n return 256 /* SelectElement */;\n case 'textarea':\n return 128 /* TextareaElement */;\n case Fragment:\n return 8192 /* Fragment */;\n default:\n return 1 /* HtmlElement */;\n }\n}\nfunction normalizeChildren(vNode, children) {\n var newChildren;\n var newChildFlags = 1 /* HasInvalidChildren */;\n // Don't change children to match strict equal (===) true in patching\n if (isInvalid(children)) {\n newChildren = children;\n }\n else if (isStringOrNumber(children)) {\n newChildFlags = 16 /* HasTextChildren */;\n newChildren = children;\n }\n else if (isArray(children)) {\n var len = children.length;\n for (var i = 0; i < len; ++i) {\n var n = children[i];\n if (isInvalid(n) || isArray(n)) {\n newChildren = newChildren || children.slice(0, i);\n _normalizeVNodes(children, newChildren, i, '');\n break;\n }\n else if (isStringOrNumber(n)) {\n newChildren = newChildren || children.slice(0, i);\n newChildren.push(createTextVNode(n, keyPrefix + i));\n }\n else {\n var key = n.key;\n var needsCloning = (n.flags & 81920 /* InUseOrNormalized */) > 0;\n var isNullKey = isNull(key);\n var isPrefixed = isString(key) && key[0] === keyPrefix;\n if (needsCloning || isNullKey || isPrefixed) {\n newChildren = newChildren || children.slice(0, i);\n if (needsCloning || isPrefixed) {\n n = directClone(n);\n }\n if (isNullKey || isPrefixed) {\n n.key = keyPrefix + i;\n }\n newChildren.push(n);\n }\n else if (newChildren) {\n newChildren.push(n);\n }\n n.flags |= 65536 /* Normalized */;\n }\n }\n newChildren = newChildren || children;\n if (newChildren.length === 0) {\n newChildFlags = 1 /* HasInvalidChildren */;\n }\n else {\n newChildFlags = 8 /* HasKeyedChildren */;\n }\n }\n else {\n newChildren = children;\n newChildren.flags |= 65536 /* Normalized */;\n if (children.flags & 81920 /* InUseOrNormalized */) {\n newChildren = directClone(children);\n }\n newChildFlags = 2 /* HasVNodeChildren */;\n }\n vNode.children = newChildren;\n vNode.childFlags = newChildFlags;\n return vNode;\n}\nfunction normalizeRoot(input) {\n if (isInvalid(input) || isStringOrNumber(input)) {\n return createTextVNode(input, null);\n }\n if (isArray(input)) {\n return createFragment(input, 0 /* UnknownChildren */, null);\n }\n return input.flags & 16384 /* InUse */ ? directClone(input) : input;\n}\n\nvar xlinkNS = 'http://www.w3.org/1999/xlink';\nvar xmlNS = 'http://www.w3.org/XML/1998/namespace';\nvar namespaces = {\n 'xlink:actuate': xlinkNS,\n 'xlink:arcrole': xlinkNS,\n 'xlink:href': xlinkNS,\n 'xlink:role': xlinkNS,\n 'xlink:show': xlinkNS,\n 'xlink:title': xlinkNS,\n 'xlink:type': xlinkNS,\n 'xml:base': xmlNS,\n 'xml:lang': xmlNS,\n 'xml:space': xmlNS\n};\n\nfunction getDelegatedEventObject(v) {\n return {\n onClick: v,\n onDblClick: v,\n onFocusIn: v,\n onFocusOut: v,\n onKeyDown: v,\n onKeyPress: v,\n onKeyUp: v,\n onMouseDown: v,\n onMouseMove: v,\n onMouseUp: v,\n onTouchEnd: v,\n onTouchMove: v,\n onTouchStart: v\n };\n}\nvar attachedEventCounts = getDelegatedEventObject(0);\nvar attachedEvents = getDelegatedEventObject(null);\nvar syntheticEvents = getDelegatedEventObject(true);\nfunction updateOrAddSyntheticEvent(name, dom) {\n var eventsObject = dom.$EV;\n if (!eventsObject) {\n eventsObject = dom.$EV = getDelegatedEventObject(null);\n }\n if (!eventsObject[name]) {\n if (++attachedEventCounts[name] === 1) {\n attachedEvents[name] = attachEventToDocument(name);\n }\n }\n return eventsObject;\n}\nfunction unmountSyntheticEvent(name, dom) {\n var eventsObject = dom.$EV;\n if (eventsObject && eventsObject[name]) {\n if (--attachedEventCounts[name] === 0) {\n document.removeEventListener(normalizeEventName(name), attachedEvents[name]);\n attachedEvents[name] = null;\n }\n eventsObject[name] = null;\n }\n}\nfunction handleSyntheticEvent(name, lastEvent, nextEvent, dom) {\n if (isFunction(nextEvent)) {\n updateOrAddSyntheticEvent(name, dom)[name] = nextEvent;\n }\n else if (isLinkEventObject(nextEvent)) {\n if (isLastValueSameLinkEvent(lastEvent, nextEvent)) {\n return;\n }\n updateOrAddSyntheticEvent(name, dom)[name] = nextEvent;\n }\n else {\n unmountSyntheticEvent(name, dom);\n }\n}\n// When browsers fully support event.composedPath we could loop it through instead of using parentNode property\nfunction getTargetNode(event) {\n return isFunction(event.composedPath) ? event.composedPath()[0] : event.target;\n}\nfunction dispatchEvents(event, isClick, name, eventData) {\n var dom = getTargetNode(event);\n do {\n // Html Nodes can be nested fe: span inside button in that scenario browser does not handle disabled attribute on parent,\n // because the event listener is on document.body\n // Don't process clicks on disabled elements\n if (isClick && dom.disabled) {\n return;\n }\n var eventsObject = dom.$EV;\n if (eventsObject) {\n var currentEvent = eventsObject[name];\n if (currentEvent) {\n // linkEvent object\n eventData.dom = dom;\n currentEvent.event ? currentEvent.event(currentEvent.data, event) : currentEvent(event);\n if (event.cancelBubble) {\n return;\n }\n }\n }\n dom = dom.parentNode;\n } while (!isNull(dom));\n}\nfunction stopPropagation() {\n this.cancelBubble = true;\n if (!this.immediatePropagationStopped) {\n this.stopImmediatePropagation();\n }\n}\nfunction isDefaultPrevented() {\n return this.defaultPrevented;\n}\nfunction isPropagationStopped() {\n return this.cancelBubble;\n}\nfunction extendEventProperties(event) {\n // Event data needs to be object to save reference to currentTarget getter\n var eventData = {\n dom: document\n };\n event.isDefaultPrevented = isDefaultPrevented;\n event.isPropagationStopped = isPropagationStopped;\n event.stopPropagation = stopPropagation;\n Object.defineProperty(event, 'currentTarget', {\n configurable: true,\n get: function get() {\n return eventData.dom;\n }\n });\n return eventData;\n}\nfunction rootClickEvent(name) {\n return function (event) {\n if (event.button !== 0) {\n // Firefox incorrectly triggers click event for mid/right mouse buttons.\n // This bug has been active for 17 years.\n // https://bugzilla.mozilla.org/show_bug.cgi?id=184051\n event.stopPropagation();\n return;\n }\n dispatchEvents(event, true, name, extendEventProperties(event));\n };\n}\nfunction rootEvent(name) {\n return function (event) {\n dispatchEvents(event, false, name, extendEventProperties(event));\n };\n}\nfunction attachEventToDocument(name) {\n var attachedEvent = name === 'onClick' || name === 'onDblClick' ? rootClickEvent(name) : rootEvent(name);\n document.addEventListener(normalizeEventName(name), attachedEvent);\n return attachedEvent;\n}\n\nfunction isSameInnerHTML(dom, innerHTML) {\n var tempdom = document.createElement('i');\n tempdom.innerHTML = innerHTML;\n return tempdom.innerHTML === dom.innerHTML;\n}\n\nfunction triggerEventListener(props, methodName, e) {\n if (props[methodName]) {\n var listener = props[methodName];\n if (listener.event) {\n listener.event(listener.data, e);\n }\n else {\n listener(e);\n }\n }\n else {\n var nativeListenerName = methodName.toLowerCase();\n if (props[nativeListenerName]) {\n props[nativeListenerName](e);\n }\n }\n}\nfunction createWrappedFunction(methodName, applyValue) {\n var fnMethod = function (e) {\n var vNode = this.$V;\n // If vNode is gone by the time event fires, no-op\n if (!vNode) {\n return;\n }\n var props = vNode.props || EMPTY_OBJ;\n var dom = vNode.dom;\n if (isString(methodName)) {\n triggerEventListener(props, methodName, e);\n }\n else {\n for (var i = 0; i < methodName.length; ++i) {\n triggerEventListener(props, methodName[i], e);\n }\n }\n if (isFunction(applyValue)) {\n var newVNode = this.$V;\n var newProps = newVNode.props || EMPTY_OBJ;\n applyValue(newProps, dom, false, newVNode);\n }\n };\n Object.defineProperty(fnMethod, 'wrapped', {\n configurable: false,\n enumerable: false,\n value: true,\n writable: false\n });\n return fnMethod;\n}\n\nfunction attachEvent(dom, eventName, handler) {\n var previousKey = \"$\" + eventName;\n var previousArgs = dom[previousKey];\n if (previousArgs) {\n if (previousArgs[1].wrapped) {\n return;\n }\n dom.removeEventListener(previousArgs[0], previousArgs[1]);\n dom[previousKey] = null;\n }\n if (isFunction(handler)) {\n dom.addEventListener(eventName, handler);\n dom[previousKey] = [eventName, handler];\n }\n}\n\nfunction isCheckedType(type) {\n return type === 'checkbox' || type === 'radio';\n}\nvar onTextInputChange = createWrappedFunction('onInput', applyValueInput);\nvar wrappedOnChange = createWrappedFunction(['onClick', 'onChange'], applyValueInput);\n/* tslint:disable-next-line:no-empty */\nfunction emptywrapper(event) {\n event.stopPropagation();\n}\nemptywrapper.wrapped = true;\nfunction inputEvents(dom, nextPropsOrEmpty) {\n if (isCheckedType(nextPropsOrEmpty.type)) {\n attachEvent(dom, 'change', wrappedOnChange);\n attachEvent(dom, 'click', emptywrapper);\n }\n else {\n attachEvent(dom, 'input', onTextInputChange);\n }\n}\nfunction applyValueInput(nextPropsOrEmpty, dom) {\n var type = nextPropsOrEmpty.type;\n var value = nextPropsOrEmpty.value;\n var checked = nextPropsOrEmpty.checked;\n var multiple = nextPropsOrEmpty.multiple;\n var defaultValue = nextPropsOrEmpty.defaultValue;\n var hasValue = !isNullOrUndef(value);\n if (type && type !== dom.type) {\n dom.setAttribute('type', type);\n }\n if (!isNullOrUndef(multiple) && multiple !== dom.multiple) {\n dom.multiple = multiple;\n }\n if (!isNullOrUndef(defaultValue) && !hasValue) {\n dom.defaultValue = defaultValue + '';\n }\n if (isCheckedType(type)) {\n if (hasValue) {\n dom.value = value;\n }\n if (!isNullOrUndef(checked)) {\n dom.checked = checked;\n }\n }\n else {\n if (hasValue && dom.value !== value) {\n dom.defaultValue = value;\n dom.value = value;\n }\n else if (!isNullOrUndef(checked)) {\n dom.checked = checked;\n }\n }\n}\n\nfunction updateChildOptions(vNode, value) {\n if (vNode.type === 'option') {\n updateChildOption(vNode, value);\n }\n else {\n var children = vNode.children;\n var flags = vNode.flags;\n if (flags & 4 /* ComponentClass */) {\n updateChildOptions(children.$LI, value);\n }\n else if (flags & 8 /* ComponentFunction */) {\n updateChildOptions(children, value);\n }\n else if (vNode.childFlags === 2 /* HasVNodeChildren */) {\n updateChildOptions(children, value);\n }\n else if (vNode.childFlags & 12 /* MultipleChildren */) {\n for (var i = 0, len = children.length; i < len; ++i) {\n updateChildOptions(children[i], value);\n }\n }\n }\n}\nfunction updateChildOption(vNode, value) {\n var props = vNode.props || EMPTY_OBJ;\n var dom = vNode.dom;\n // we do this as multiple may have changed\n dom.value = props.value;\n if (props.value === value || (isArray(value) && value.indexOf(props.value) !== -1)) {\n dom.selected = true;\n }\n else if (!isNullOrUndef(value) || !isNullOrUndef(props.selected)) {\n dom.selected = props.selected || false;\n }\n}\nvar onSelectChange = createWrappedFunction('onChange', applyValueSelect);\nfunction selectEvents(dom) {\n attachEvent(dom, 'change', onSelectChange);\n}\nfunction applyValueSelect(nextPropsOrEmpty, dom, mounting, vNode) {\n var multiplePropInBoolean = Boolean(nextPropsOrEmpty.multiple);\n if (!isNullOrUndef(nextPropsOrEmpty.multiple) && multiplePropInBoolean !== dom.multiple) {\n dom.multiple = multiplePropInBoolean;\n }\n var index = nextPropsOrEmpty.selectedIndex;\n if (index === -1) {\n dom.selectedIndex = -1;\n }\n var childFlags = vNode.childFlags;\n if (childFlags !== 1 /* HasInvalidChildren */) {\n var value = nextPropsOrEmpty.value;\n if (isNumber(index) && index > -1 && dom.options[index]) {\n value = dom.options[index].value;\n }\n if (mounting && isNullOrUndef(value)) {\n value = nextPropsOrEmpty.defaultValue;\n }\n updateChildOptions(vNode, value);\n }\n}\n\nvar onTextareaInputChange = createWrappedFunction('onInput', applyValueTextArea);\nvar wrappedOnChange$1 = createWrappedFunction('onChange');\nfunction textAreaEvents(dom, nextPropsOrEmpty) {\n attachEvent(dom, 'input', onTextareaInputChange);\n if (nextPropsOrEmpty.onChange) {\n attachEvent(dom, 'change', wrappedOnChange$1);\n }\n}\nfunction applyValueTextArea(nextPropsOrEmpty, dom, mounting) {\n var value = nextPropsOrEmpty.value;\n var domValue = dom.value;\n if (isNullOrUndef(value)) {\n if (mounting) {\n var defaultValue = nextPropsOrEmpty.defaultValue;\n if (!isNullOrUndef(defaultValue) && defaultValue !== domValue) {\n dom.defaultValue = defaultValue;\n dom.value = defaultValue;\n }\n }\n }\n else if (domValue !== value) {\n /* There is value so keep it controlled */\n dom.defaultValue = value;\n dom.value = value;\n }\n}\n\nfunction processElement(flags, vNode, dom, nextPropsOrEmpty, mounting, isControlled) {\n if (flags & 64 /* InputElement */) {\n applyValueInput(nextPropsOrEmpty, dom);\n }\n else if (flags & 256 /* SelectElement */) {\n applyValueSelect(nextPropsOrEmpty, dom, mounting, vNode);\n }\n else if (flags & 128 /* TextareaElement */) {\n applyValueTextArea(nextPropsOrEmpty, dom, mounting);\n }\n if (isControlled) {\n dom.$V = vNode;\n }\n}\nfunction addFormElementEventHandlers(flags, dom, nextPropsOrEmpty) {\n if (flags & 64 /* InputElement */) {\n inputEvents(dom, nextPropsOrEmpty);\n }\n else if (flags & 256 /* SelectElement */) {\n selectEvents(dom);\n }\n else if (flags & 128 /* TextareaElement */) {\n textAreaEvents(dom, nextPropsOrEmpty);\n }\n}\nfunction isControlledFormElement(nextPropsOrEmpty) {\n return nextPropsOrEmpty.type && isCheckedType(nextPropsOrEmpty.type) ? !isNullOrUndef(nextPropsOrEmpty.checked) : !isNullOrUndef(nextPropsOrEmpty.value);\n}\n\nfunction createRef() {\n return {\n current: null\n };\n}\nfunction forwardRef(render) {\n // @ts-ignore\n return {\n render: render\n };\n}\nfunction unmountRef(ref) {\n if (ref) {\n if (!safeCall1(ref, null) && ref.current) {\n ref.current = null;\n }\n }\n}\nfunction mountRef(ref, value, lifecycle) {\n if (ref && (isFunction(ref) || ref.current !== void 0)) {\n lifecycle.push(function () {\n if (!safeCall1(ref, value) && ref.current !== void 0) {\n ref.current = value;\n }\n });\n }\n}\n\nfunction remove(vNode, parentDOM) {\n unmount(vNode);\n removeVNodeDOM(vNode, parentDOM);\n}\nfunction unmount(vNode) {\n var flags = vNode.flags;\n var children = vNode.children;\n var ref;\n if (flags & 481 /* Element */) {\n ref = vNode.ref;\n var props = vNode.props;\n unmountRef(ref);\n var childFlags = vNode.childFlags;\n if (!isNull(props)) {\n var keys = Object.keys(props);\n for (var i = 0, len = keys.length; i < len; i++) {\n var key = keys[i];\n if (syntheticEvents[key]) {\n unmountSyntheticEvent(key, vNode.dom);\n }\n }\n }\n if (childFlags & 12 /* MultipleChildren */) {\n unmountAllChildren(children);\n }\n else if (childFlags === 2 /* HasVNodeChildren */) {\n unmount(children);\n }\n }\n else if (children) {\n if (flags & 4 /* ComponentClass */) {\n if (isFunction(children.componentWillUnmount)) {\n children.componentWillUnmount();\n }\n unmountRef(vNode.ref);\n children.$UN = true;\n unmount(children.$LI);\n }\n else if (flags & 8 /* ComponentFunction */) {\n ref = vNode.ref;\n if (!isNullOrUndef(ref) && isFunction(ref.onComponentWillUnmount)) {\n ref.onComponentWillUnmount(findDOMfromVNode(vNode, true), vNode.props || EMPTY_OBJ);\n }\n unmount(children);\n }\n else if (flags & 1024 /* Portal */) {\n remove(children, vNode.ref);\n }\n else if (flags & 8192 /* Fragment */) {\n if (vNode.childFlags & 12 /* MultipleChildren */) {\n unmountAllChildren(children);\n }\n }\n }\n}\nfunction unmountAllChildren(children) {\n for (var i = 0, len = children.length; i < len; ++i) {\n unmount(children[i]);\n }\n}\nfunction clearDOM(dom) {\n // Optimization for clearing dom\n dom.textContent = '';\n}\nfunction removeAllChildren(dom, vNode, children) {\n unmountAllChildren(children);\n if (vNode.flags & 8192 /* Fragment */) {\n removeVNodeDOM(vNode, dom);\n }\n else {\n clearDOM(dom);\n }\n}\n\nfunction wrapLinkEvent(nextValue) {\n // This variable makes sure there is no \"this\" context in callback\n var ev = nextValue.event;\n return function (e) {\n ev(nextValue.data, e);\n };\n}\nfunction patchEvent(name, lastValue, nextValue, dom) {\n if (isLinkEventObject(nextValue)) {\n if (isLastValueSameLinkEvent(lastValue, nextValue)) {\n return;\n }\n nextValue = wrapLinkEvent(nextValue);\n }\n attachEvent(dom, normalizeEventName(name), nextValue);\n}\n// We are assuming here that we come from patchProp routine\n// -nextAttrValue cannot be null or undefined\nfunction patchStyle(lastAttrValue, nextAttrValue, dom) {\n if (isNullOrUndef(nextAttrValue)) {\n dom.removeAttribute('style');\n return;\n }\n var domStyle = dom.style;\n var style;\n var value;\n if (isString(nextAttrValue)) {\n domStyle.cssText = nextAttrValue;\n return;\n }\n if (!isNullOrUndef(lastAttrValue) && !isString(lastAttrValue)) {\n for (style in nextAttrValue) {\n // do not add a hasOwnProperty check here, it affects performance\n value = nextAttrValue[style];\n if (value !== lastAttrValue[style]) {\n domStyle.setProperty(style, value);\n }\n }\n for (style in lastAttrValue) {\n if (isNullOrUndef(nextAttrValue[style])) {\n domStyle.removeProperty(style);\n }\n }\n }\n else {\n for (style in nextAttrValue) {\n value = nextAttrValue[style];\n domStyle.setProperty(style, value);\n }\n }\n}\nfunction patchDangerInnerHTML(lastValue, nextValue, lastVNode, dom) {\n var lastHtml = (lastValue && lastValue.__html) || '';\n var nextHtml = (nextValue && nextValue.__html) || '';\n if (lastHtml !== nextHtml) {\n if (!isNullOrUndef(nextHtml) && !isSameInnerHTML(dom, nextHtml)) {\n if (!isNull(lastVNode)) {\n if (lastVNode.childFlags & 12 /* MultipleChildren */) {\n unmountAllChildren(lastVNode.children);\n }\n else if (lastVNode.childFlags === 2 /* HasVNodeChildren */) {\n unmount(lastVNode.children);\n }\n lastVNode.children = null;\n lastVNode.childFlags = 1 /* HasInvalidChildren */;\n }\n dom.innerHTML = nextHtml;\n }\n }\n}\nfunction patchProp(prop, lastValue, nextValue, dom, isSVG, hasControlledValue, lastVNode) {\n switch (prop) {\n case 'children':\n case 'childrenType':\n case 'className':\n case 'defaultValue':\n case 'key':\n case 'multiple':\n case 'ref':\n case 'selectedIndex':\n break;\n case 'autoFocus':\n dom.autofocus = !!nextValue;\n break;\n case 'allowfullscreen':\n case 'autoplay':\n case 'capture':\n case 'checked':\n case 'controls':\n case 'default':\n case 'disabled':\n case 'hidden':\n case 'indeterminate':\n case 'loop':\n case 'muted':\n case 'novalidate':\n case 'open':\n case 'readOnly':\n case 'required':\n case 'reversed':\n case 'scoped':\n case 'seamless':\n case 'selected':\n dom[prop] = !!nextValue;\n break;\n case 'defaultChecked':\n case 'value':\n case 'volume':\n if (hasControlledValue && prop === 'value') {\n break;\n }\n var value = isNullOrUndef(nextValue) ? '' : nextValue;\n if (dom[prop] !== value) {\n dom[prop] = value;\n }\n break;\n case 'style':\n patchStyle(lastValue, nextValue, dom);\n break;\n case 'dangerouslySetInnerHTML':\n patchDangerInnerHTML(lastValue, nextValue, lastVNode, dom);\n break;\n default:\n if (syntheticEvents[prop]) {\n handleSyntheticEvent(prop, lastValue, nextValue, dom);\n }\n else if (prop.charCodeAt(0) === 111 && prop.charCodeAt(1) === 110) {\n patchEvent(prop, lastValue, nextValue, dom);\n }\n else if (isNullOrUndef(nextValue)) {\n dom.removeAttribute(prop);\n }\n else if (isSVG && namespaces[prop]) {\n // We optimize for isSVG being false\n // If we end up in this path we can read property again\n dom.setAttributeNS(namespaces[prop], prop, nextValue);\n }\n else {\n dom.setAttribute(prop, nextValue);\n }\n break;\n }\n}\nfunction mountProps(vNode, flags, props, dom, isSVG) {\n var hasControlledValue = false;\n var isFormElement = (flags & 448 /* FormElement */) > 0;\n if (isFormElement) {\n hasControlledValue = isControlledFormElement(props);\n if (hasControlledValue) {\n addFormElementEventHandlers(flags, dom, props);\n }\n }\n for (var prop in props) {\n // do not add a hasOwnProperty check here, it affects performance\n patchProp(prop, null, props[prop], dom, isSVG, hasControlledValue, null);\n }\n if (isFormElement) {\n processElement(flags, vNode, dom, props, true, hasControlledValue);\n }\n}\n\nfunction renderNewInput(instance, props, context) {\n var nextInput = normalizeRoot(instance.render(props, instance.state, context));\n var childContext = context;\n if (isFunction(instance.getChildContext)) {\n childContext = combineFrom(context, instance.getChildContext());\n }\n instance.$CX = childContext;\n return nextInput;\n}\nfunction createClassComponentInstance(vNode, Component, props, context, isSVG, lifecycle) {\n var instance = new Component(props, context);\n var usesNewAPI = (instance.$N = Boolean(Component.getDerivedStateFromProps || instance.getSnapshotBeforeUpdate));\n instance.$SVG = isSVG;\n instance.$L = lifecycle;\n vNode.children = instance;\n instance.$BS = false;\n instance.context = context;\n if (instance.props === EMPTY_OBJ) {\n instance.props = props;\n }\n if (!usesNewAPI) {\n if (isFunction(instance.componentWillMount)) {\n instance.$BR = true;\n instance.componentWillMount();\n var pending = instance.$PS;\n if (!isNull(pending)) {\n var state = instance.state;\n if (isNull(state)) {\n instance.state = pending;\n }\n else {\n for (var key in pending) {\n state[key] = pending[key];\n }\n }\n instance.$PS = null;\n }\n instance.$BR = false;\n }\n }\n else {\n instance.state = createDerivedState(instance, props, instance.state);\n }\n instance.$LI = renderNewInput(instance, props, context);\n return instance;\n}\nfunction renderFunctionalComponent(vNode, context) {\n var props = vNode.props || EMPTY_OBJ;\n return vNode.flags & 32768 /* ForwardRef */ ? vNode.type.render(props, vNode.ref, context) : vNode.type(props, context);\n}\n\nfunction mount(vNode, parentDOM, context, isSVG, nextNode, lifecycle) {\n var flags = (vNode.flags |= 16384 /* InUse */);\n if (flags & 481 /* Element */) {\n mountElement(vNode, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n else if (flags & 4 /* ComponentClass */) {\n mountClassComponent(vNode, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n else if (flags & 8 /* ComponentFunction */) {\n mountFunctionalComponent(vNode, parentDOM, context, isSVG, nextNode, lifecycle);\n mountFunctionalComponentCallbacks(vNode, lifecycle);\n }\n else if (flags & 512 /* Void */ || flags & 16 /* Text */) {\n mountText(vNode, parentDOM, nextNode);\n }\n else if (flags & 8192 /* Fragment */) {\n mountFragment(vNode, context, parentDOM, isSVG, nextNode, lifecycle);\n }\n else if (flags & 1024 /* Portal */) {\n mountPortal(vNode, context, parentDOM, nextNode, lifecycle);\n }\n else ;\n}\nfunction mountPortal(vNode, context, parentDOM, nextNode, lifecycle) {\n mount(vNode.children, vNode.ref, context, false, null, lifecycle);\n var placeHolderVNode = createVoidVNode();\n mountText(placeHolderVNode, parentDOM, nextNode);\n vNode.dom = placeHolderVNode.dom;\n}\nfunction mountFragment(vNode, context, parentDOM, isSVG, nextNode, lifecycle) {\n var children = vNode.children;\n var childFlags = vNode.childFlags;\n // When fragment is optimized for multiple children, check if there is no children and change flag to invalid\n // This is the only normalization always done, to keep optimization flags API same for fragments and regular elements\n if (childFlags & 12 /* MultipleChildren */ && children.length === 0) {\n childFlags = vNode.childFlags = 2 /* HasVNodeChildren */;\n children = vNode.children = createVoidVNode();\n }\n if (childFlags === 2 /* HasVNodeChildren */) {\n mount(children, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n else {\n mountArrayChildren(children, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n}\nfunction mountText(vNode, parentDOM, nextNode) {\n var dom = (vNode.dom = document.createTextNode(vNode.children));\n if (!isNull(parentDOM)) {\n insertOrAppend(parentDOM, dom, nextNode);\n }\n}\nfunction mountElement(vNode, parentDOM, context, isSVG, nextNode, lifecycle) {\n var flags = vNode.flags;\n var props = vNode.props;\n var className = vNode.className;\n var childFlags = vNode.childFlags;\n var dom = (vNode.dom = documentCreateElement(vNode.type, (isSVG = isSVG || (flags & 32 /* SvgElement */) > 0)));\n var children = vNode.children;\n if (!isNullOrUndef(className) && className !== '') {\n if (isSVG) {\n dom.setAttribute('class', className);\n }\n else {\n dom.className = className;\n }\n }\n if (childFlags === 16 /* HasTextChildren */) {\n setTextContent(dom, children);\n }\n else if (childFlags !== 1 /* HasInvalidChildren */) {\n var childrenIsSVG = isSVG && vNode.type !== 'foreignObject';\n if (childFlags === 2 /* HasVNodeChildren */) {\n if (children.flags & 16384 /* InUse */) {\n vNode.children = children = directClone(children);\n }\n mount(children, dom, context, childrenIsSVG, null, lifecycle);\n }\n else if (childFlags === 8 /* HasKeyedChildren */ || childFlags === 4 /* HasNonKeyedChildren */) {\n mountArrayChildren(children, dom, context, childrenIsSVG, null, lifecycle);\n }\n }\n if (!isNull(parentDOM)) {\n insertOrAppend(parentDOM, dom, nextNode);\n }\n if (!isNull(props)) {\n mountProps(vNode, flags, props, dom, isSVG);\n }\n mountRef(vNode.ref, dom, lifecycle);\n}\nfunction mountArrayChildren(children, dom, context, isSVG, nextNode, lifecycle) {\n for (var i = 0; i < children.length; ++i) {\n var child = children[i];\n if (child.flags & 16384 /* InUse */) {\n children[i] = child = directClone(child);\n }\n mount(child, dom, context, isSVG, nextNode, lifecycle);\n }\n}\nfunction mountClassComponent(vNode, parentDOM, context, isSVG, nextNode, lifecycle) {\n var instance = createClassComponentInstance(vNode, vNode.type, vNode.props || EMPTY_OBJ, context, isSVG, lifecycle);\n mount(instance.$LI, parentDOM, instance.$CX, isSVG, nextNode, lifecycle);\n mountClassComponentCallbacks(vNode.ref, instance, lifecycle);\n}\nfunction mountFunctionalComponent(vNode, parentDOM, context, isSVG, nextNode, lifecycle) {\n mount((vNode.children = normalizeRoot(renderFunctionalComponent(vNode, context))), parentDOM, context, isSVG, nextNode, lifecycle);\n}\nfunction createClassMountCallback(instance) {\n return function () {\n instance.componentDidMount();\n };\n}\nfunction mountClassComponentCallbacks(ref, instance, lifecycle) {\n mountRef(ref, instance, lifecycle);\n if (isFunction(instance.componentDidMount)) {\n lifecycle.push(createClassMountCallback(instance));\n }\n}\nfunction createOnMountCallback(ref, vNode) {\n return function () {\n ref.onComponentDidMount(findDOMfromVNode(vNode, true), vNode.props || EMPTY_OBJ);\n };\n}\nfunction mountFunctionalComponentCallbacks(vNode, lifecycle) {\n var ref = vNode.ref;\n if (!isNullOrUndef(ref)) {\n safeCall1(ref.onComponentWillMount, vNode.props || EMPTY_OBJ);\n if (isFunction(ref.onComponentDidMount)) {\n lifecycle.push(createOnMountCallback(ref, vNode));\n }\n }\n}\n\nfunction replaceWithNewNode(lastVNode, nextVNode, parentDOM, context, isSVG, lifecycle) {\n unmount(lastVNode);\n if ((nextVNode.flags & lastVNode.flags & 2033 /* DOMRef */) !== 0) {\n mount(nextVNode, null, context, isSVG, null, lifecycle);\n // Single DOM operation, when we have dom references available\n replaceChild(parentDOM, nextVNode.dom, lastVNode.dom);\n }\n else {\n mount(nextVNode, parentDOM, context, isSVG, findDOMfromVNode(lastVNode, true), lifecycle);\n removeVNodeDOM(lastVNode, parentDOM);\n }\n}\nfunction patch(lastVNode, nextVNode, parentDOM, context, isSVG, nextNode, lifecycle) {\n var nextFlags = (nextVNode.flags |= 16384 /* InUse */);\n if (lastVNode.flags !== nextFlags || lastVNode.type !== nextVNode.type || lastVNode.key !== nextVNode.key || nextFlags & 2048 /* ReCreate */) {\n if (lastVNode.flags & 16384 /* InUse */) {\n replaceWithNewNode(lastVNode, nextVNode, parentDOM, context, isSVG, lifecycle);\n }\n else {\n // Last vNode is not in use, it has crashed at application level. Just mount nextVNode and ignore last one\n mount(nextVNode, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n }\n else if (nextFlags & 481 /* Element */) {\n patchElement(lastVNode, nextVNode, context, isSVG, nextFlags, lifecycle);\n }\n else if (nextFlags & 4 /* ComponentClass */) {\n patchClassComponent(lastVNode, nextVNode, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n else if (nextFlags & 8 /* ComponentFunction */) {\n patchFunctionalComponent(lastVNode, nextVNode, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n else if (nextFlags & 16 /* Text */) {\n patchText(lastVNode, nextVNode);\n }\n else if (nextFlags & 512 /* Void */) {\n nextVNode.dom = lastVNode.dom;\n }\n else if (nextFlags & 8192 /* Fragment */) {\n patchFragment(lastVNode, nextVNode, parentDOM, context, isSVG, lifecycle);\n }\n else {\n patchPortal(lastVNode, nextVNode, context, lifecycle);\n }\n}\nfunction patchSingleTextChild(lastChildren, nextChildren, parentDOM) {\n if (lastChildren !== nextChildren) {\n if (lastChildren !== '') {\n parentDOM.firstChild.nodeValue = nextChildren;\n }\n else {\n setTextContent(parentDOM, nextChildren);\n }\n }\n}\nfunction patchContentEditableChildren(dom, nextChildren) {\n if (dom.textContent !== nextChildren) {\n dom.textContent = nextChildren;\n }\n}\nfunction patchFragment(lastVNode, nextVNode, parentDOM, context, isSVG, lifecycle) {\n var lastChildren = lastVNode.children;\n var nextChildren = nextVNode.children;\n var lastChildFlags = lastVNode.childFlags;\n var nextChildFlags = nextVNode.childFlags;\n var nextNode = null;\n // When fragment is optimized for multiple children, check if there is no children and change flag to invalid\n // This is the only normalization always done, to keep optimization flags API same for fragments and regular elements\n if (nextChildFlags & 12 /* MultipleChildren */ && nextChildren.length === 0) {\n nextChildFlags = nextVNode.childFlags = 2 /* HasVNodeChildren */;\n nextChildren = nextVNode.children = createVoidVNode();\n }\n var nextIsSingle = (nextChildFlags & 2 /* HasVNodeChildren */) !== 0;\n if (lastChildFlags & 12 /* MultipleChildren */) {\n var lastLen = lastChildren.length;\n // We need to know Fragment's edge node when\n if (\n // It uses keyed algorithm\n (lastChildFlags & 8 /* HasKeyedChildren */ && nextChildFlags & 8 /* HasKeyedChildren */) ||\n // It transforms from many to single\n nextIsSingle ||\n // It will append more nodes\n (!nextIsSingle && nextChildren.length > lastLen)) {\n // When fragment has multiple children there is always at least one vNode\n nextNode = findDOMfromVNode(lastChildren[lastLen - 1], false).nextSibling;\n }\n }\n patchChildren(lastChildFlags, nextChildFlags, lastChildren, nextChildren, parentDOM, context, isSVG, nextNode, lastVNode, lifecycle);\n}\nfunction patchPortal(lastVNode, nextVNode, context, lifecycle) {\n var lastContainer = lastVNode.ref;\n var nextContainer = nextVNode.ref;\n var nextChildren = nextVNode.children;\n patchChildren(lastVNode.childFlags, nextVNode.childFlags, lastVNode.children, nextChildren, lastContainer, context, false, null, lastVNode, lifecycle);\n nextVNode.dom = lastVNode.dom;\n if (lastContainer !== nextContainer && !isInvalid(nextChildren)) {\n var node = nextChildren.dom;\n removeChild(lastContainer, node);\n appendChild(nextContainer, node);\n }\n}\nfunction patchElement(lastVNode, nextVNode, context, isSVG, nextFlags, lifecycle) {\n var dom = (nextVNode.dom = lastVNode.dom);\n var lastProps = lastVNode.props;\n var nextProps = nextVNode.props;\n var isFormElement = false;\n var hasControlledValue = false;\n var nextPropsOrEmpty;\n isSVG = isSVG || (nextFlags & 32 /* SvgElement */) > 0;\n // inlined patchProps -- starts --\n if (lastProps !== nextProps) {\n var lastPropsOrEmpty = lastProps || EMPTY_OBJ;\n nextPropsOrEmpty = nextProps || EMPTY_OBJ;\n if (nextPropsOrEmpty !== EMPTY_OBJ) {\n isFormElement = (nextFlags & 448 /* FormElement */) > 0;\n if (isFormElement) {\n hasControlledValue = isControlledFormElement(nextPropsOrEmpty);\n }\n for (var prop in nextPropsOrEmpty) {\n var lastValue = lastPropsOrEmpty[prop];\n var nextValue = nextPropsOrEmpty[prop];\n if (lastValue !== nextValue) {\n patchProp(prop, lastValue, nextValue, dom, isSVG, hasControlledValue, lastVNode);\n }\n }\n }\n if (lastPropsOrEmpty !== EMPTY_OBJ) {\n for (var prop$1 in lastPropsOrEmpty) {\n if (isNullOrUndef(nextPropsOrEmpty[prop$1]) && !isNullOrUndef(lastPropsOrEmpty[prop$1])) {\n patchProp(prop$1, lastPropsOrEmpty[prop$1], null, dom, isSVG, hasControlledValue, lastVNode);\n }\n }\n }\n }\n var nextChildren = nextVNode.children;\n var nextClassName = nextVNode.className;\n // inlined patchProps -- ends --\n if (lastVNode.className !== nextClassName) {\n if (isNullOrUndef(nextClassName)) {\n dom.removeAttribute('class');\n }\n else if (isSVG) {\n dom.setAttribute('class', nextClassName);\n }\n else {\n dom.className = nextClassName;\n }\n }\n if (nextFlags & 4096 /* ContentEditable */) {\n patchContentEditableChildren(dom, nextChildren);\n }\n else {\n patchChildren(lastVNode.childFlags, nextVNode.childFlags, lastVNode.children, nextChildren, dom, context, isSVG && nextVNode.type !== 'foreignObject', null, lastVNode, lifecycle);\n }\n if (isFormElement) {\n processElement(nextFlags, nextVNode, dom, nextPropsOrEmpty, false, hasControlledValue);\n }\n var nextRef = nextVNode.ref;\n var lastRef = lastVNode.ref;\n if (lastRef !== nextRef) {\n unmountRef(lastRef);\n mountRef(nextRef, dom, lifecycle);\n }\n}\nfunction replaceOneVNodeWithMultipleVNodes(lastChildren, nextChildren, parentDOM, context, isSVG, lifecycle) {\n unmount(lastChildren);\n mountArrayChildren(nextChildren, parentDOM, context, isSVG, findDOMfromVNode(lastChildren, true), lifecycle);\n removeVNodeDOM(lastChildren, parentDOM);\n}\nfunction patchChildren(lastChildFlags, nextChildFlags, lastChildren, nextChildren, parentDOM, context, isSVG, nextNode, parentVNode, lifecycle) {\n switch (lastChildFlags) {\n case 2 /* HasVNodeChildren */:\n switch (nextChildFlags) {\n case 2 /* HasVNodeChildren */:\n patch(lastChildren, nextChildren, parentDOM, context, isSVG, nextNode, lifecycle);\n break;\n case 1 /* HasInvalidChildren */:\n remove(lastChildren, parentDOM);\n break;\n case 16 /* HasTextChildren */:\n unmount(lastChildren);\n setTextContent(parentDOM, nextChildren);\n break;\n default:\n replaceOneVNodeWithMultipleVNodes(lastChildren, nextChildren, parentDOM, context, isSVG, lifecycle);\n break;\n }\n break;\n case 1 /* HasInvalidChildren */:\n switch (nextChildFlags) {\n case 2 /* HasVNodeChildren */:\n mount(nextChildren, parentDOM, context, isSVG, nextNode, lifecycle);\n break;\n case 1 /* HasInvalidChildren */:\n break;\n case 16 /* HasTextChildren */:\n setTextContent(parentDOM, nextChildren);\n break;\n default:\n mountArrayChildren(nextChildren, parentDOM, context, isSVG, nextNode, lifecycle);\n break;\n }\n break;\n case 16 /* HasTextChildren */:\n switch (nextChildFlags) {\n case 16 /* HasTextChildren */:\n patchSingleTextChild(lastChildren, nextChildren, parentDOM);\n break;\n case 2 /* HasVNodeChildren */:\n clearDOM(parentDOM);\n mount(nextChildren, parentDOM, context, isSVG, nextNode, lifecycle);\n break;\n case 1 /* HasInvalidChildren */:\n clearDOM(parentDOM);\n break;\n default:\n clearDOM(parentDOM);\n mountArrayChildren(nextChildren, parentDOM, context, isSVG, nextNode, lifecycle);\n break;\n }\n break;\n default:\n switch (nextChildFlags) {\n case 16 /* HasTextChildren */:\n unmountAllChildren(lastChildren);\n setTextContent(parentDOM, nextChildren);\n break;\n case 2 /* HasVNodeChildren */:\n removeAllChildren(parentDOM, parentVNode, lastChildren);\n mount(nextChildren, parentDOM, context, isSVG, nextNode, lifecycle);\n break;\n case 1 /* HasInvalidChildren */:\n removeAllChildren(parentDOM, parentVNode, lastChildren);\n break;\n default:\n var lastLength = lastChildren.length | 0;\n var nextLength = nextChildren.length | 0;\n // Fast path's for both algorithms\n if (lastLength === 0) {\n if (nextLength > 0) {\n mountArrayChildren(nextChildren, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n }\n else if (nextLength === 0) {\n removeAllChildren(parentDOM, parentVNode, lastChildren);\n }\n else if (nextChildFlags === 8 /* HasKeyedChildren */ && lastChildFlags === 8 /* HasKeyedChildren */) {\n patchKeyedChildren(lastChildren, nextChildren, parentDOM, context, isSVG, lastLength, nextLength, nextNode, parentVNode, lifecycle);\n }\n else {\n patchNonKeyedChildren(lastChildren, nextChildren, parentDOM, context, isSVG, lastLength, nextLength, nextNode, lifecycle);\n }\n break;\n }\n break;\n }\n}\nfunction createDidUpdate(instance, lastProps, lastState, snapshot, lifecycle) {\n lifecycle.push(function () {\n instance.componentDidUpdate(lastProps, lastState, snapshot);\n });\n}\nfunction updateClassComponent(instance, nextState, nextProps, parentDOM, context, isSVG, force, nextNode, lifecycle) {\n var lastState = instance.state;\n var lastProps = instance.props;\n var usesNewAPI = Boolean(instance.$N);\n var hasSCU = isFunction(instance.shouldComponentUpdate);\n if (usesNewAPI) {\n nextState = createDerivedState(instance, nextProps, nextState !== lastState ? combineFrom(lastState, nextState) : nextState);\n }\n if (force || !hasSCU || (hasSCU && instance.shouldComponentUpdate(nextProps, nextState, context))) {\n if (!usesNewAPI && isFunction(instance.componentWillUpdate)) {\n instance.componentWillUpdate(nextProps, nextState, context);\n }\n instance.props = nextProps;\n instance.state = nextState;\n instance.context = context;\n var snapshot = null;\n var nextInput = renderNewInput(instance, nextProps, context);\n if (usesNewAPI && isFunction(instance.getSnapshotBeforeUpdate)) {\n snapshot = instance.getSnapshotBeforeUpdate(lastProps, lastState);\n }\n patch(instance.$LI, nextInput, parentDOM, instance.$CX, isSVG, nextNode, lifecycle);\n // Dont update Last input, until patch has been succesfully executed\n instance.$LI = nextInput;\n if (isFunction(instance.componentDidUpdate)) {\n createDidUpdate(instance, lastProps, lastState, snapshot, lifecycle);\n }\n }\n else {\n instance.props = nextProps;\n instance.state = nextState;\n instance.context = context;\n }\n}\nfunction patchClassComponent(lastVNode, nextVNode, parentDOM, context, isSVG, nextNode, lifecycle) {\n var instance = (nextVNode.children = lastVNode.children);\n // If Component has crashed, ignore it to stay functional\n if (isNull(instance)) {\n return;\n }\n instance.$L = lifecycle;\n var nextProps = nextVNode.props || EMPTY_OBJ;\n var nextRef = nextVNode.ref;\n var lastRef = lastVNode.ref;\n var nextState = instance.state;\n if (!instance.$N) {\n if (isFunction(instance.componentWillReceiveProps)) {\n instance.$BR = true;\n instance.componentWillReceiveProps(nextProps, context);\n // If instance component was removed during its own update do nothing.\n if (instance.$UN) {\n return;\n }\n instance.$BR = false;\n }\n if (!isNull(instance.$PS)) {\n nextState = combineFrom(nextState, instance.$PS);\n instance.$PS = null;\n }\n }\n updateClassComponent(instance, nextState, nextProps, parentDOM, context, isSVG, false, nextNode, lifecycle);\n if (lastRef !== nextRef) {\n unmountRef(lastRef);\n mountRef(nextRef, instance, lifecycle);\n }\n}\nfunction patchFunctionalComponent(lastVNode, nextVNode, parentDOM, context, isSVG, nextNode, lifecycle) {\n var shouldUpdate = true;\n var nextProps = nextVNode.props || EMPTY_OBJ;\n var nextRef = nextVNode.ref;\n var lastProps = lastVNode.props;\n var nextHooksDefined = !isNullOrUndef(nextRef);\n var lastInput = lastVNode.children;\n if (nextHooksDefined && isFunction(nextRef.onComponentShouldUpdate)) {\n shouldUpdate = nextRef.onComponentShouldUpdate(lastProps, nextProps);\n }\n if (shouldUpdate !== false) {\n if (nextHooksDefined && isFunction(nextRef.onComponentWillUpdate)) {\n nextRef.onComponentWillUpdate(lastProps, nextProps);\n }\n var nextInput = normalizeRoot(renderFunctionalComponent(nextVNode, context));\n patch(lastInput, nextInput, parentDOM, context, isSVG, nextNode, lifecycle);\n nextVNode.children = nextInput;\n if (nextHooksDefined && isFunction(nextRef.onComponentDidUpdate)) {\n nextRef.onComponentDidUpdate(lastProps, nextProps);\n }\n }\n else {\n nextVNode.children = lastInput;\n }\n}\nfunction patchText(lastVNode, nextVNode) {\n var nextText = nextVNode.children;\n var dom = (nextVNode.dom = lastVNode.dom);\n if (nextText !== lastVNode.children) {\n dom.nodeValue = nextText;\n }\n}\nfunction patchNonKeyedChildren(lastChildren, nextChildren, dom, context, isSVG, lastChildrenLength, nextChildrenLength, nextNode, lifecycle) {\n var commonLength = lastChildrenLength > nextChildrenLength ? nextChildrenLength : lastChildrenLength;\n var i = 0;\n var nextChild;\n var lastChild;\n for (; i < commonLength; ++i) {\n nextChild = nextChildren[i];\n lastChild = lastChildren[i];\n if (nextChild.flags & 16384 /* InUse */) {\n nextChild = nextChildren[i] = directClone(nextChild);\n }\n patch(lastChild, nextChild, dom, context, isSVG, nextNode, lifecycle);\n lastChildren[i] = nextChild;\n }\n if (lastChildrenLength < nextChildrenLength) {\n for (i = commonLength; i < nextChildrenLength; ++i) {\n nextChild = nextChildren[i];\n if (nextChild.flags & 16384 /* InUse */) {\n nextChild = nextChildren[i] = directClone(nextChild);\n }\n mount(nextChild, dom, context, isSVG, nextNode, lifecycle);\n }\n }\n else if (lastChildrenLength > nextChildrenLength) {\n for (i = commonLength; i < lastChildrenLength; ++i) {\n remove(lastChildren[i], dom);\n }\n }\n}\nfunction patchKeyedChildren(a, b, dom, context, isSVG, aLength, bLength, outerEdge, parentVNode, lifecycle) {\n var aEnd = aLength - 1;\n var bEnd = bLength - 1;\n var j = 0;\n var aNode = a[j];\n var bNode = b[j];\n var nextPos;\n var nextNode;\n // Step 1\n // tslint:disable-next-line\n outer: {\n // Sync nodes with the same key at the beginning.\n while (aNode.key === bNode.key) {\n if (bNode.flags & 16384 /* InUse */) {\n b[j] = bNode = directClone(bNode);\n }\n patch(aNode, bNode, dom, context, isSVG, outerEdge, lifecycle);\n a[j] = bNode;\n ++j;\n if (j > aEnd || j > bEnd) {\n break outer;\n }\n aNode = a[j];\n bNode = b[j];\n }\n aNode = a[aEnd];\n bNode = b[bEnd];\n // Sync nodes with the same key at the end.\n while (aNode.key === bNode.key) {\n if (bNode.flags & 16384 /* InUse */) {\n b[bEnd] = bNode = directClone(bNode);\n }\n patch(aNode, bNode, dom, context, isSVG, outerEdge, lifecycle);\n a[aEnd] = bNode;\n aEnd--;\n bEnd--;\n if (j > aEnd || j > bEnd) {\n break outer;\n }\n aNode = a[aEnd];\n bNode = b[bEnd];\n }\n }\n if (j > aEnd) {\n if (j <= bEnd) {\n nextPos = bEnd + 1;\n nextNode = nextPos < bLength ? findDOMfromVNode(b[nextPos], true) : outerEdge;\n while (j <= bEnd) {\n bNode = b[j];\n if (bNode.flags & 16384 /* InUse */) {\n b[j] = bNode = directClone(bNode);\n }\n ++j;\n mount(bNode, dom, context, isSVG, nextNode, lifecycle);\n }\n }\n }\n else if (j > bEnd) {\n while (j <= aEnd) {\n remove(a[j++], dom);\n }\n }\n else {\n patchKeyedChildrenComplex(a, b, context, aLength, bLength, aEnd, bEnd, j, dom, isSVG, outerEdge, parentVNode, lifecycle);\n }\n}\nfunction patchKeyedChildrenComplex(a, b, context, aLength, bLength, aEnd, bEnd, j, dom, isSVG, outerEdge, parentVNode, lifecycle) {\n var aNode;\n var bNode;\n var nextPos;\n var i = 0;\n var aStart = j;\n var bStart = j;\n var aLeft = aEnd - j + 1;\n var bLeft = bEnd - j + 1;\n var sources = new Int32Array(bLeft + 1);\n // Keep track if its possible to remove whole DOM using textContent = '';\n var canRemoveWholeContent = aLeft === aLength;\n var moved = false;\n var pos = 0;\n var patched = 0;\n // When sizes are small, just loop them through\n if (bLength < 4 || (aLeft | bLeft) < 32) {\n for (i = aStart; i <= aEnd; ++i) {\n aNode = a[i];\n if (patched < bLeft) {\n for (j = bStart; j <= bEnd; j++) {\n bNode = b[j];\n if (aNode.key === bNode.key) {\n sources[j - bStart] = i + 1;\n if (canRemoveWholeContent) {\n canRemoveWholeContent = false;\n while (aStart < i) {\n remove(a[aStart++], dom);\n }\n }\n if (pos > j) {\n moved = true;\n }\n else {\n pos = j;\n }\n if (bNode.flags & 16384 /* InUse */) {\n b[j] = bNode = directClone(bNode);\n }\n patch(aNode, bNode, dom, context, isSVG, outerEdge, lifecycle);\n ++patched;\n break;\n }\n }\n if (!canRemoveWholeContent && j > bEnd) {\n remove(aNode, dom);\n }\n }\n else if (!canRemoveWholeContent) {\n remove(aNode, dom);\n }\n }\n }\n else {\n var keyIndex = {};\n // Map keys by their index\n for (i = bStart; i <= bEnd; ++i) {\n keyIndex[b[i].key] = i;\n }\n // Try to patch same keys\n for (i = aStart; i <= aEnd; ++i) {\n aNode = a[i];\n if (patched < bLeft) {\n j = keyIndex[aNode.key];\n if (j !== void 0) {\n if (canRemoveWholeContent) {\n canRemoveWholeContent = false;\n while (i > aStart) {\n remove(a[aStart++], dom);\n }\n }\n sources[j - bStart] = i + 1;\n if (pos > j) {\n moved = true;\n }\n else {\n pos = j;\n }\n bNode = b[j];\n if (bNode.flags & 16384 /* InUse */) {\n b[j] = bNode = directClone(bNode);\n }\n patch(aNode, bNode, dom, context, isSVG, outerEdge, lifecycle);\n ++patched;\n }\n else if (!canRemoveWholeContent) {\n remove(aNode, dom);\n }\n }\n else if (!canRemoveWholeContent) {\n remove(aNode, dom);\n }\n }\n }\n // fast-path: if nothing patched remove all old and add all new\n if (canRemoveWholeContent) {\n removeAllChildren(dom, parentVNode, a);\n mountArrayChildren(b, dom, context, isSVG, outerEdge, lifecycle);\n }\n else if (moved) {\n var seq = lis_algorithm(sources);\n j = seq.length - 1;\n for (i = bLeft - 1; i >= 0; i--) {\n if (sources[i] === 0) {\n pos = i + bStart;\n bNode = b[pos];\n if (bNode.flags & 16384 /* InUse */) {\n b[pos] = bNode = directClone(bNode);\n }\n nextPos = pos + 1;\n mount(bNode, dom, context, isSVG, nextPos < bLength ? findDOMfromVNode(b[nextPos], true) : outerEdge, lifecycle);\n }\n else if (j < 0 || i !== seq[j]) {\n pos = i + bStart;\n bNode = b[pos];\n nextPos = pos + 1;\n moveVNodeDOM(bNode, dom, nextPos < bLength ? findDOMfromVNode(b[nextPos], true) : outerEdge);\n }\n else {\n j--;\n }\n }\n }\n else if (patched !== bLeft) {\n // when patched count doesn't match b length we need to insert those new ones\n // loop backwards so we can use insertBefore\n for (i = bLeft - 1; i >= 0; i--) {\n if (sources[i] === 0) {\n pos = i + bStart;\n bNode = b[pos];\n if (bNode.flags & 16384 /* InUse */) {\n b[pos] = bNode = directClone(bNode);\n }\n nextPos = pos + 1;\n mount(bNode, dom, context, isSVG, nextPos < bLength ? findDOMfromVNode(b[nextPos], true) : outerEdge, lifecycle);\n }\n }\n }\n}\nvar result;\nvar p;\nvar maxLen = 0;\n// https://en.wikipedia.org/wiki/Longest_increasing_subsequence\nfunction lis_algorithm(arr) {\n var arrI = 0;\n var i = 0;\n var j = 0;\n var k = 0;\n var u = 0;\n var v = 0;\n var c = 0;\n var len = arr.length;\n if (len > maxLen) {\n maxLen = len;\n result = new Int32Array(len);\n p = new Int32Array(len);\n }\n for (; i < len; ++i) {\n arrI = arr[i];\n if (arrI !== 0) {\n j = result[k];\n if (arr[j] < arrI) {\n p[i] = j;\n result[++k] = i;\n continue;\n }\n u = 0;\n v = k;\n while (u < v) {\n c = (u + v) >> 1;\n if (arr[result[c]] < arrI) {\n u = c + 1;\n }\n else {\n v = c;\n }\n }\n if (arrI < arr[result[u]]) {\n if (u > 0) {\n p[i] = result[u - 1];\n }\n result[u] = i;\n }\n }\n }\n u = k + 1;\n var seq = new Int32Array(u);\n v = result[u - 1];\n while (u-- > 0) {\n seq[u] = v;\n v = p[v];\n result[u] = 0;\n }\n return seq;\n}\n\nvar hasDocumentAvailable = typeof document !== 'undefined';\nif (hasDocumentAvailable) {\n /*\n * Defining $EV and $V properties on Node.prototype\n * fixes v8 \"wrong map\" de-optimization\n */\n if (window.Node) {\n Node.prototype.$EV = null;\n Node.prototype.$V = null;\n }\n}\nfunction __render(input, parentDOM, callback, context) {\n var lifecycle = [];\n var rootInput = parentDOM.$V;\n renderCheck.v = true;\n if (isNullOrUndef(rootInput)) {\n if (!isNullOrUndef(input)) {\n if (input.flags & 16384 /* InUse */) {\n input = directClone(input);\n }\n mount(input, parentDOM, context, false, null, lifecycle);\n parentDOM.$V = input;\n rootInput = input;\n }\n }\n else {\n if (isNullOrUndef(input)) {\n remove(rootInput, parentDOM);\n parentDOM.$V = null;\n }\n else {\n if (input.flags & 16384 /* InUse */) {\n input = directClone(input);\n }\n patch(rootInput, input, parentDOM, context, false, null, lifecycle);\n rootInput = parentDOM.$V = input;\n }\n }\n callAll(lifecycle);\n renderCheck.v = false;\n if (isFunction(callback)) {\n callback();\n }\n if (isFunction(options.renderComplete)) {\n options.renderComplete(rootInput, parentDOM);\n }\n}\nfunction render(input, parentDOM, callback, context) {\n if ( callback === void 0 ) callback = null;\n if ( context === void 0 ) context = EMPTY_OBJ;\n\n __render(input, parentDOM, callback, context);\n}\nfunction createRenderer(parentDOM) {\n return function renderer(lastInput, nextInput, callback, context) {\n if (!parentDOM) {\n parentDOM = lastInput;\n }\n render(nextInput, parentDOM, callback, context);\n };\n}\n\nvar QUEUE = [];\nvar nextTick = typeof Promise !== 'undefined'\n ? Promise.resolve().then.bind(Promise.resolve())\n : function (a) {\n window.setTimeout(a, 0);\n };\nvar microTaskPending = false;\nfunction queueStateChanges(component, newState, callback, force) {\n var pending = component.$PS;\n if (isFunction(newState)) {\n newState = newState(pending ? combineFrom(component.state, pending) : component.state, component.props, component.context);\n }\n if (isNullOrUndef(pending)) {\n component.$PS = newState;\n }\n else {\n for (var stateKey in newState) {\n pending[stateKey] = newState[stateKey];\n }\n }\n if (!component.$BR) {\n if (!renderCheck.v) {\n if (QUEUE.length === 0) {\n applyState(component, force);\n if (isFunction(callback)) {\n callback.call(component);\n }\n return;\n }\n }\n if (QUEUE.indexOf(component) === -1) {\n QUEUE.push(component);\n }\n if (force) {\n component.$F = true;\n }\n if (!microTaskPending) {\n microTaskPending = true;\n nextTick(rerender);\n }\n if (isFunction(callback)) {\n var QU = component.$QU;\n if (!QU) {\n QU = component.$QU = [];\n }\n QU.push(callback);\n }\n }\n else if (isFunction(callback)) {\n component.$L.push(callback.bind(component));\n }\n}\nfunction callSetStateCallbacks(component) {\n var queue = component.$QU;\n for (var i = 0; i < queue.length; ++i) {\n queue[i].call(component);\n }\n component.$QU = null;\n}\nfunction rerender() {\n var component;\n microTaskPending = false;\n while ((component = QUEUE.shift())) {\n if (!component.$UN) {\n var force = component.$F;\n component.$F = false;\n applyState(component, force);\n if (component.$QU) {\n callSetStateCallbacks(component);\n }\n }\n }\n}\nfunction applyState(component, force) {\n if (force || !component.$BR) {\n var pendingState = component.$PS;\n component.$PS = null;\n var lifecycle = [];\n renderCheck.v = true;\n updateClassComponent(component, combineFrom(component.state, pendingState), component.props, findDOMfromVNode(component.$LI, true).parentNode, component.context, component.$SVG, force, null, lifecycle);\n callAll(lifecycle);\n renderCheck.v = false;\n }\n else {\n component.state = component.$PS;\n component.$PS = null;\n }\n}\nvar Component = function Component(props, context) {\n // Public\n this.state = null;\n // Internal properties\n this.$BR = false; // BLOCK RENDER\n this.$BS = true; // BLOCK STATE\n this.$PS = null; // PENDING STATE (PARTIAL or FULL)\n this.$LI = null; // LAST INPUT\n this.$UN = false; // UNMOUNTED\n this.$CX = null; // CHILDCONTEXT\n this.$QU = null; // QUEUE\n this.$N = false; // Uses new lifecycle API Flag\n this.$L = null; // Current lifecycle of this component\n this.$SVG = false; // Flag to keep track if component is inside SVG tree\n this.$F = false; // Force update flag\n this.props = props || EMPTY_OBJ;\n this.context = context || EMPTY_OBJ; // context should not be mutable\n};\nComponent.prototype.forceUpdate = function forceUpdate (callback) {\n if (this.$UN) {\n return;\n }\n // Do not allow double render during force update\n queueStateChanges(this, {}, callback, true);\n};\nComponent.prototype.setState = function setState (newState, callback) {\n if (this.$UN) {\n return;\n }\n if (!this.$BS) {\n queueStateChanges(this, newState, callback, false);\n }\n};\nComponent.prototype.render = function render (_nextProps, _nextState, _nextContext) {\n return null;\n};\n\nvar version = \"7.4.11\";\n\nexport { Component, EMPTY_OBJ, Fragment, createClassComponentInstance as _CI, normalizeRoot as _HI, mount as _M, mountClassComponentCallbacks as _MCCC, mountElement as _ME, mountFunctionalComponentCallbacks as _MFCC, mountProps as _MP, mountRef as _MR, renderFunctionalComponent as _RFC, __render, createComponentVNode, createFragment, createPortal, createRef, createRenderer, createTextVNode, createVNode, directClone, findDOMfromVNode, forwardRef, getFlagsForElementVnode, linkEvent, normalizeProps, options, render, rerender, version };\n","/*!\n\nJSZip v3.10.1 - A JavaScript class for generating and reading zip files\n<http://stuartk.com/jszip>\n\n(c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>\nDual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.\n\nJSZip uses the library pako released under the MIT license :\nhttps://github.com/nodeca/pako/blob/main/LICENSE\n*/\n\n!function(e){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=e();else if(\"function\"==typeof define&&define.amd)define([],e);else{(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).JSZip=e()}}(function(){return function s(a,o,h){function u(r,e){if(!o[r]){if(!a[r]){var t=\"function\"==typeof require&&require;if(!e&&t)return t(r,!0);if(l)return l(r,!0);var n=new Error(\"Cannot find module '\"+r+\"'\");throw n.code=\"MODULE_NOT_FOUND\",n}var i=o[r]={exports:{}};a[r][0].call(i.exports,function(e){var t=a[r][1][e];return u(t||e)},i,i.exports,s,a,o,h)}return o[r].exports}for(var l=\"function\"==typeof require&&require,e=0;e<h.length;e++)u(h[e]);return u}({1:[function(e,t,r){\"use strict\";var d=e(\"./utils\"),c=e(\"./support\"),p=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";r.encode=function(e){for(var t,r,n,i,s,a,o,h=[],u=0,l=e.length,f=l,c=\"string\"!==d.getTypeOf(e);u<e.length;)f=l-u,n=c?(t=e[u++],r=u<l?e[u++]:0,u<l?e[u++]:0):(t=e.charCodeAt(u++),r=u<l?e.charCodeAt(u++):0,u<l?e.charCodeAt(u++):0),i=t>>2,s=(3&t)<<4|r>>4,a=1<f?(15&r)<<2|n>>6:64,o=2<f?63&n:64,h.push(p.charAt(i)+p.charAt(s)+p.charAt(a)+p.charAt(o));return h.join(\"\")},r.decode=function(e){var t,r,n,i,s,a,o=0,h=0,u=\"data:\";if(e.substr(0,u.length)===u)throw new Error(\"Invalid base64 input, it looks like a data url.\");var l,f=3*(e=e.replace(/[^A-Za-z0-9+/=]/g,\"\")).length/4;if(e.charAt(e.length-1)===p.charAt(64)&&f--,e.charAt(e.length-2)===p.charAt(64)&&f--,f%1!=0)throw new Error(\"Invalid base64 input, bad content length.\");for(l=c.uint8array?new Uint8Array(0|f):new Array(0|f);o<e.length;)t=p.indexOf(e.charAt(o++))<<2|(i=p.indexOf(e.charAt(o++)))>>4,r=(15&i)<<4|(s=p.indexOf(e.charAt(o++)))>>2,n=(3&s)<<6|(a=p.indexOf(e.charAt(o++))),l[h++]=t,64!==s&&(l[h++]=r),64!==a&&(l[h++]=n);return l}},{\"./support\":30,\"./utils\":32}],2:[function(e,t,r){\"use strict\";var n=e(\"./external\"),i=e(\"./stream/DataWorker\"),s=e(\"./stream/Crc32Probe\"),a=e(\"./stream/DataLengthProbe\");function o(e,t,r,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=r,this.compression=n,this.compressedContent=i}o.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a(\"data_length\")),t=this;return e.on(\"end\",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error(\"Bug : uncompressed data size mismatch\")}),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo(\"compressedSize\",this.compressedSize).withStreamInfo(\"uncompressedSize\",this.uncompressedSize).withStreamInfo(\"crc32\",this.crc32).withStreamInfo(\"compression\",this.compression)}},o.createWorkerFrom=function(e,t,r){return e.pipe(new s).pipe(new a(\"uncompressedSize\")).pipe(t.compressWorker(r)).pipe(new a(\"compressedSize\")).withStreamInfo(\"compression\",t)},t.exports=o},{\"./external\":6,\"./stream/Crc32Probe\":25,\"./stream/DataLengthProbe\":26,\"./stream/DataWorker\":27}],3:[function(e,t,r){\"use strict\";var n=e(\"./stream/GenericWorker\");r.STORE={magic:\"\\0\\0\",compressWorker:function(){return new n(\"STORE compression\")},uncompressWorker:function(){return new n(\"STORE decompression\")}},r.DEFLATE=e(\"./flate\")},{\"./flate\":7,\"./stream/GenericWorker\":28}],4:[function(e,t,r){\"use strict\";var n=e(\"./utils\");var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?\"string\"!==n.getTypeOf(e)?function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return-1^e}(0|t,e,e.length,0):function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t.charCodeAt(a))];return-1^e}(0|t,e,e.length,0):0}},{\"./utils\":32}],5:[function(e,t,r){\"use strict\";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(e,t,r){\"use strict\";var n=null;n=\"undefined\"!=typeof Promise?Promise:e(\"lie\"),t.exports={Promise:n}},{lie:37}],7:[function(e,t,r){\"use strict\";var n=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Uint32Array,i=e(\"pako\"),s=e(\"./utils\"),a=e(\"./stream/GenericWorker\"),o=n?\"uint8array\":\"array\";function h(e,t){a.call(this,\"FlateWorker/\"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}r.magic=\"\\b\\0\",s.inherits(h,a),h.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,e.data),!1)},h.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},h.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null},h.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var t=this;this._pako.onData=function(e){t.push({data:e,meta:t.meta})}},r.compressWorker=function(e){return new h(\"Deflate\",e)},r.uncompressWorker=function(){return new h(\"Inflate\",{})}},{\"./stream/GenericWorker\":28,\"./utils\":32,pako:38}],8:[function(e,t,r){\"use strict\";function A(e,t){var r,n=\"\";for(r=0;r<t;r++)n+=String.fromCharCode(255&e),e>>>=8;return n}function n(e,t,r,n,i,s){var a,o,h=e.file,u=e.compression,l=s!==O.utf8encode,f=I.transformTo(\"string\",s(h.name)),c=I.transformTo(\"string\",O.utf8encode(h.name)),d=h.comment,p=I.transformTo(\"string\",s(d)),m=I.transformTo(\"string\",O.utf8encode(d)),_=c.length!==h.name.length,g=m.length!==d.length,b=\"\",v=\"\",y=\"\",w=h.dir,k=h.date,x={crc32:0,compressedSize:0,uncompressedSize:0};t&&!r||(x.crc32=e.crc32,x.compressedSize=e.compressedSize,x.uncompressedSize=e.uncompressedSize);var S=0;t&&(S|=8),l||!_&&!g||(S|=2048);var z=0,C=0;w&&(z|=16),\"UNIX\"===i?(C=798,z|=function(e,t){var r=e;return e||(r=t?16893:33204),(65535&r)<<16}(h.unixPermissions,w)):(C=20,z|=function(e){return 63&(e||0)}(h.dosPermissions)),a=k.getUTCHours(),a<<=6,a|=k.getUTCMinutes(),a<<=5,a|=k.getUTCSeconds()/2,o=k.getUTCFullYear()-1980,o<<=4,o|=k.getUTCMonth()+1,o<<=5,o|=k.getUTCDate(),_&&(v=A(1,1)+A(B(f),4)+c,b+=\"up\"+A(v.length,2)+v),g&&(y=A(1,1)+A(B(p),4)+m,b+=\"uc\"+A(y.length,2)+y);var E=\"\";return E+=\"\\n\\0\",E+=A(S,2),E+=u.magic,E+=A(a,2),E+=A(o,2),E+=A(x.crc32,4),E+=A(x.compressedSize,4),E+=A(x.uncompressedSize,4),E+=A(f.length,2),E+=A(b.length,2),{fileRecord:R.LOCAL_FILE_HEADER+E+f+b,dirRecord:R.CENTRAL_FILE_HEADER+A(C,2)+E+A(p.length,2)+\"\\0\\0\\0\\0\"+A(z,4)+A(n,4)+f+b+p}}var I=e(\"../utils\"),i=e(\"../stream/GenericWorker\"),O=e(\"../utf8\"),B=e(\"../crc32\"),R=e(\"../signature\");function s(e,t,r,n){i.call(this,\"ZipFileWorker\"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=r,this.encodeFileName=n,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}I.inherits(s,i),s.prototype.push=function(e){var t=e.meta.percent||0,r=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,i.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:r?(t+100*(r-n-1))/r:100}}))},s.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var r=n(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=!0},s.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,r=n(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),t)this.push({data:function(e){return R.DATA_DESCRIPTOR+A(e.crc32,4)+A(e.compressedSize,4)+A(e.uncompressedSize,4)}(e),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},s.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t<this.dirRecords.length;t++)this.push({data:this.dirRecords[t],meta:{percent:100}});var r=this.bytesWritten-e,n=function(e,t,r,n,i){var s=I.transformTo(\"string\",i(n));return R.CENTRAL_DIRECTORY_END+\"\\0\\0\\0\\0\"+A(e,2)+A(e,2)+A(t,4)+A(r,4)+A(s.length,2)+s}(this.dirRecords.length,r,e,this.zipComment,this.encodeFileName);this.push({data:n,meta:{percent:100}})},s.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},s.prototype.registerPrevious=function(e){this._sources.push(e);var t=this;return e.on(\"data\",function(e){t.processChunk(e)}),e.on(\"end\",function(){t.closedSource(t.previous.streamInfo),t._sources.length?t.prepareNextSource():t.end()}),e.on(\"error\",function(e){t.error(e)}),this},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},s.prototype.error=function(e){var t=this._sources;if(!i.prototype.error.call(this,e))return!1;for(var r=0;r<t.length;r++)try{t[r].error(e)}catch(e){}return!0},s.prototype.lock=function(){i.prototype.lock.call(this);for(var e=this._sources,t=0;t<e.length;t++)e[t].lock()},t.exports=s},{\"../crc32\":4,\"../signature\":23,\"../stream/GenericWorker\":28,\"../utf8\":31,\"../utils\":32}],9:[function(e,t,r){\"use strict\";var u=e(\"../compressions\"),n=e(\"./ZipFileWorker\");r.generateWorker=function(e,a,t){var o=new n(a.streamFiles,t,a.platform,a.encodeFileName),h=0;try{e.forEach(function(e,t){h++;var r=function(e,t){var r=e||t,n=u[r];if(!n)throw new Error(r+\" is not a valid compression method !\");return n}(t.options.compression,a.compression),n=t.options.compressionOptions||a.compressionOptions||{},i=t.dir,s=t.date;t._compressWorker(r,n).withStreamInfo(\"file\",{name:e,dir:i,date:s,comment:t.comment||\"\",unixPermissions:t.unixPermissions,dosPermissions:t.dosPermissions}).pipe(o)}),o.entriesCount=h}catch(e){o.error(e)}return o}},{\"../compressions\":3,\"./ZipFileWorker\":8}],10:[function(e,t,r){\"use strict\";function n(){if(!(this instanceof n))return new n;if(arguments.length)throw new Error(\"The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.\");this.files=Object.create(null),this.comment=null,this.root=\"\",this.clone=function(){var e=new n;for(var t in this)\"function\"!=typeof this[t]&&(e[t]=this[t]);return e}}(n.prototype=e(\"./object\")).loadAsync=e(\"./load\"),n.support=e(\"./support\"),n.defaults=e(\"./defaults\"),n.version=\"3.10.1\",n.loadAsync=function(e,t){return(new n).loadAsync(e,t)},n.external=e(\"./external\"),t.exports=n},{\"./defaults\":5,\"./external\":6,\"./load\":11,\"./object\":15,\"./support\":30}],11:[function(e,t,r){\"use strict\";var u=e(\"./utils\"),i=e(\"./external\"),n=e(\"./utf8\"),s=e(\"./zipEntries\"),a=e(\"./stream/Crc32Probe\"),l=e(\"./nodejsUtils\");function f(n){return new i.Promise(function(e,t){var r=n.decompressed.getContentWorker().pipe(new a);r.on(\"error\",function(e){t(e)}).on(\"end\",function(){r.streamInfo.crc32!==n.decompressed.crc32?t(new Error(\"Corrupted zip : CRC32 mismatch\")):e()}).resume()})}t.exports=function(e,o){var h=this;return o=u.extend(o||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:n.utf8decode}),l.isNode&&l.isStream(e)?i.Promise.reject(new Error(\"JSZip can't accept a stream when loading a zip file.\")):u.prepareContent(\"the loaded zip file\",e,!0,o.optimizedBinaryString,o.base64).then(function(e){var t=new s(o);return t.load(e),t}).then(function(e){var t=[i.Promise.resolve(e)],r=e.files;if(o.checkCRC32)for(var n=0;n<r.length;n++)t.push(f(r[n]));return i.Promise.all(t)}).then(function(e){for(var t=e.shift(),r=t.files,n=0;n<r.length;n++){var i=r[n],s=i.fileNameStr,a=u.resolve(i.fileNameStr);h.file(a,i.decompressed,{binary:!0,optimizedBinaryString:!0,date:i.date,dir:i.dir,comment:i.fileCommentStr.length?i.fileCommentStr:null,unixPermissions:i.unixPermissions,dosPermissions:i.dosPermissions,createFolders:o.createFolders}),i.dir||(h.file(a).unsafeOriginalName=s)}return t.zipComment.length&&(h.comment=t.zipComment),h})}},{\"./external\":6,\"./nodejsUtils\":14,\"./stream/Crc32Probe\":25,\"./utf8\":31,\"./utils\":32,\"./zipEntries\":33}],12:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"../stream/GenericWorker\");function s(e,t){i.call(this,\"Nodejs stream input adapter for \"+e),this._upstreamEnded=!1,this._bindStream(t)}n.inherits(s,i),s.prototype._bindStream=function(e){var t=this;(this._stream=e).pause(),e.on(\"data\",function(e){t.push({data:e,meta:{percent:0}})}).on(\"error\",function(e){t.isPaused?this.generatedError=e:t.error(e)}).on(\"end\",function(){t.isPaused?t._upstreamEnded=!0:t.end()})},s.prototype.pause=function(){return!!i.prototype.pause.call(this)&&(this._stream.pause(),!0)},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},t.exports=s},{\"../stream/GenericWorker\":28,\"../utils\":32}],13:[function(e,t,r){\"use strict\";var i=e(\"readable-stream\").Readable;function n(e,t,r){i.call(this,t),this._helper=e;var n=this;e.on(\"data\",function(e,t){n.push(e)||n._helper.pause(),r&&r(t)}).on(\"error\",function(e){n.emit(\"error\",e)}).on(\"end\",function(){n.push(null)})}e(\"../utils\").inherits(n,i),n.prototype._read=function(){this._helper.resume()},t.exports=n},{\"../utils\":32,\"readable-stream\":16}],14:[function(e,t,r){\"use strict\";t.exports={isNode:\"undefined\"!=typeof Buffer,newBufferFrom:function(e,t){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(e,t);if(\"number\"==typeof e)throw new Error('The \"data\" argument must not be a number');return new Buffer(e,t)},allocBuffer:function(e){if(Buffer.alloc)return Buffer.alloc(e);var t=new Buffer(e);return t.fill(0),t},isBuffer:function(e){return Buffer.isBuffer(e)},isStream:function(e){return e&&\"function\"==typeof e.on&&\"function\"==typeof e.pause&&\"function\"==typeof e.resume}}},{}],15:[function(e,t,r){\"use strict\";function s(e,t,r){var n,i=u.getTypeOf(t),s=u.extend(r||{},f);s.date=s.date||new Date,null!==s.compression&&(s.compression=s.compression.toUpperCase()),\"string\"==typeof s.unixPermissions&&(s.unixPermissions=parseInt(s.unixPermissions,8)),s.unixPermissions&&16384&s.unixPermissions&&(s.dir=!0),s.dosPermissions&&16&s.dosPermissions&&(s.dir=!0),s.dir&&(e=g(e)),s.createFolders&&(n=_(e))&&b.call(this,n,!0);var a=\"string\"===i&&!1===s.binary&&!1===s.base64;r&&void 0!==r.binary||(s.binary=!a),(t instanceof c&&0===t.uncompressedSize||s.dir||!t||0===t.length)&&(s.base64=!1,s.binary=!0,t=\"\",s.compression=\"STORE\",i=\"string\");var o=null;o=t instanceof c||t instanceof l?t:p.isNode&&p.isStream(t)?new m(e,t):u.prepareContent(e,t,s.binary,s.optimizedBinaryString,s.base64);var h=new d(e,o,s);this.files[e]=h}var i=e(\"./utf8\"),u=e(\"./utils\"),l=e(\"./stream/GenericWorker\"),a=e(\"./stream/StreamHelper\"),f=e(\"./defaults\"),c=e(\"./compressedObject\"),d=e(\"./zipObject\"),o=e(\"./generate\"),p=e(\"./nodejsUtils\"),m=e(\"./nodejs/NodejsStreamInputAdapter\"),_=function(e){\"/\"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf(\"/\");return 0<t?e.substring(0,t):\"\"},g=function(e){return\"/\"!==e.slice(-1)&&(e+=\"/\"),e},b=function(e,t){return t=void 0!==t?t:f.createFolders,e=g(e),this.files[e]||s.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function h(e){return\"[object RegExp]\"===Object.prototype.toString.call(e)}var n={load:function(){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},forEach:function(e){var t,r,n;for(t in this.files)n=this.files[t],(r=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(r,n)},filter:function(r){var n=[];return this.forEach(function(e,t){r(e,t)&&n.push(t)}),n},file:function(e,t,r){if(1!==arguments.length)return e=this.root+e,s.call(this,e,t,r),this;if(h(e)){var n=e;return this.filter(function(e,t){return!t.dir&&n.test(e)})}var i=this.files[this.root+e];return i&&!i.dir?i:null},folder:function(r){if(!r)return this;if(h(r))return this.filter(function(e,t){return t.dir&&r.test(e)});var e=this.root+r,t=b.call(this,e),n=this.clone();return n.root=t.name,n},remove:function(r){r=this.root+r;var e=this.files[r];if(e||(\"/\"!==r.slice(-1)&&(r+=\"/\"),e=this.files[r]),e&&!e.dir)delete this.files[r];else for(var t=this.filter(function(e,t){return t.name.slice(0,r.length)===r}),n=0;n<t.length;n++)delete this.files[t[n].name];return this},generate:function(){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},generateInternalStream:function(e){var t,r={};try{if((r=u.extend(e||{},{streamFiles:!1,compression:\"STORE\",compressionOptions:null,type:\"\",platform:\"DOS\",comment:null,mimeType:\"application/zip\",encodeFileName:i.utf8encode})).type=r.type.toLowerCase(),r.compression=r.compression.toUpperCase(),\"binarystring\"===r.type&&(r.type=\"string\"),!r.type)throw new Error(\"No output type specified.\");u.checkSupport(r.type),\"darwin\"!==r.platform&&\"freebsd\"!==r.platform&&\"linux\"!==r.platform&&\"sunos\"!==r.platform||(r.platform=\"UNIX\"),\"win32\"===r.platform&&(r.platform=\"DOS\");var n=r.comment||this.comment||\"\";t=o.generateWorker(this,r,n)}catch(e){(t=new l(\"error\")).error(e)}return new a(t,r.type||\"string\",r.mimeType)},generateAsync:function(e,t){return this.generateInternalStream(e).accumulate(t)},generateNodeStream:function(e,t){return(e=e||{}).type||(e.type=\"nodebuffer\"),this.generateInternalStream(e).toNodejsStream(t)}};t.exports=n},{\"./compressedObject\":2,\"./defaults\":5,\"./generate\":9,\"./nodejs/NodejsStreamInputAdapter\":12,\"./nodejsUtils\":14,\"./stream/GenericWorker\":28,\"./stream/StreamHelper\":29,\"./utf8\":31,\"./utils\":32,\"./zipObject\":35}],16:[function(e,t,r){\"use strict\";t.exports=e(\"stream\")},{stream:void 0}],17:[function(e,t,r){\"use strict\";var n=e(\"./DataReader\");function i(e){n.call(this,e);for(var t=0;t<this.data.length;t++)e[t]=255&e[t]}e(\"../utils\").inherits(i,n),i.prototype.byteAt=function(e){return this.data[this.zero+e]},i.prototype.lastIndexOfSignature=function(e){for(var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.length-4;0<=s;--s)if(this.data[s]===t&&this.data[s+1]===r&&this.data[s+2]===n&&this.data[s+3]===i)return s-this.zero;return-1},i.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.readData(4);return t===s[0]&&r===s[1]&&n===s[2]&&i===s[3]},i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return[];var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./DataReader\":18}],18:[function(e,t,r){\"use strict\";var n=e(\"../utils\");function i(e){this.data=e,this.length=e.length,this.index=0,this.zero=0}i.prototype={checkOffset:function(e){this.checkIndex(this.index+e)},checkIndex:function(e){if(this.length<this.zero+e||e<0)throw new Error(\"End of data reached (data length = \"+this.length+\", asked index = \"+e+\"). Corrupted zip ?\")},setIndex:function(e){this.checkIndex(e),this.index=e},skip:function(e){this.setIndex(this.index+e)},byteAt:function(){},readInt:function(e){var t,r=0;for(this.checkOffset(e),t=this.index+e-1;t>=this.index;t--)r=(r<<8)+this.byteAt(t);return this.index+=e,r},readString:function(e){return n.transformTo(\"string\",this.readData(e))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=i},{\"../utils\":32}],19:[function(e,t,r){\"use strict\";var n=e(\"./Uint8ArrayReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./Uint8ArrayReader\":21}],20:[function(e,t,r){\"use strict\";var n=e(\"./DataReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./DataReader\":18}],21:[function(e,t,r){\"use strict\";var n=e(\"./ArrayReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./ArrayReader\":17}],22:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"../support\"),s=e(\"./ArrayReader\"),a=e(\"./StringReader\"),o=e(\"./NodeBufferReader\"),h=e(\"./Uint8ArrayReader\");t.exports=function(e){var t=n.getTypeOf(e);return n.checkSupport(t),\"string\"!==t||i.uint8array?\"nodebuffer\"===t?new o(e):i.uint8array?new h(n.transformTo(\"uint8array\",e)):new s(n.transformTo(\"array\",e)):new a(e)}},{\"../support\":30,\"../utils\":32,\"./ArrayReader\":17,\"./NodeBufferReader\":19,\"./StringReader\":20,\"./Uint8ArrayReader\":21}],23:[function(e,t,r){\"use strict\";r.LOCAL_FILE_HEADER=\"PK\u0003\u0004\",r.CENTRAL_FILE_HEADER=\"PK\u0001\u0002\",r.CENTRAL_DIRECTORY_END=\"PK\u0005\u0006\",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR=\"PK\u0006\u0007\",r.ZIP64_CENTRAL_DIRECTORY_END=\"PK\u0006\u0006\",r.DATA_DESCRIPTOR=\"PK\u0007\\b\"},{}],24:[function(e,t,r){\"use strict\";var n=e(\"./GenericWorker\"),i=e(\"../utils\");function s(e){n.call(this,\"ConvertWorker to \"+e),this.destType=e}i.inherits(s,n),s.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta})},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],25:[function(e,t,r){\"use strict\";var n=e(\"./GenericWorker\"),i=e(\"../crc32\");function s(){n.call(this,\"Crc32Probe\"),this.withStreamInfo(\"crc32\",0)}e(\"../utils\").inherits(s,n),s.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e)},t.exports=s},{\"../crc32\":4,\"../utils\":32,\"./GenericWorker\":28}],26:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"./GenericWorker\");function s(e){i.call(this,\"DataLengthProbe for \"+e),this.propName=e,this.withStreamInfo(e,0)}n.inherits(s,i),s.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}i.prototype.processChunk.call(this,e)},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],27:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"./GenericWorker\");function s(e){i.call(this,\"DataWorker\");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type=\"\",this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=n.getTypeOf(e),t.isPaused||t._tickAndRepeat()},function(e){t.error(e)})}n.inherits(s,i),s.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case\"string\":e=this.data.substring(this.index,t);break;case\"uint8array\":e=this.data.subarray(this.index,t);break;case\"array\":case\"nodebuffer\":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],28:[function(e,t,r){\"use strict\";function n(e){this.name=e||\"default\",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}n.prototype={push:function(e){this.emit(\"data\",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit(\"end\"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit(\"error\",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit(\"error\",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var r=0;r<this._listeners[e].length;r++)this._listeners[e][r].call(this,t)},pipe:function(e){return e.registerPrevious(this)},registerPrevious:function(e){if(this.isLocked)throw new Error(\"The stream '\"+this+\"' has already been used.\");this.streamInfo=e.streamInfo,this.mergeStreamInfo(),this.previous=e;var t=this;return e.on(\"data\",function(e){t.processChunk(e)}),e.on(\"end\",function(){t.end()}),e.on(\"error\",function(e){t.error(e)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var e=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),e=!0),this.previous&&this.previous.resume(),!e},flush:function(){},processChunk:function(e){this.push(e)},withStreamInfo:function(e,t){return this.extraStreamInfo[e]=t,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var e in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,e)&&(this.streamInfo[e]=this.extraStreamInfo[e])},lock:function(){if(this.isLocked)throw new Error(\"The stream '\"+this+\"' has already been used.\");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var e=\"Worker \"+this.name;return this.previous?this.previous+\" -> \"+e:e}},t.exports=n},{}],29:[function(e,t,r){\"use strict\";var h=e(\"../utils\"),i=e(\"./ConvertWorker\"),s=e(\"./GenericWorker\"),u=e(\"../base64\"),n=e(\"../support\"),a=e(\"../external\"),o=null;if(n.nodestream)try{o=e(\"../nodejs/NodejsStreamOutputAdapter\")}catch(e){}function l(e,o){return new a.Promise(function(t,r){var n=[],i=e._internalType,s=e._outputType,a=e._mimeType;e.on(\"data\",function(e,t){n.push(e),o&&o(t)}).on(\"error\",function(e){n=[],r(e)}).on(\"end\",function(){try{var e=function(e,t,r){switch(e){case\"blob\":return h.newBlob(h.transformTo(\"arraybuffer\",t),r);case\"base64\":return u.encode(t);default:return h.transformTo(e,t)}}(s,function(e,t){var r,n=0,i=null,s=0;for(r=0;r<t.length;r++)s+=t[r].length;switch(e){case\"string\":return t.join(\"\");case\"array\":return Array.prototype.concat.apply([],t);case\"uint8array\":for(i=new Uint8Array(s),r=0;r<t.length;r++)i.set(t[r],n),n+=t[r].length;return i;case\"nodebuffer\":return Buffer.concat(t);default:throw new Error(\"concat : unsupported type '\"+e+\"'\")}}(i,n),a);t(e)}catch(e){r(e)}n=[]}).resume()})}function f(e,t,r){var n=t;switch(t){case\"blob\":case\"arraybuffer\":n=\"uint8array\";break;case\"base64\":n=\"string\"}try{this._internalType=n,this._outputType=t,this._mimeType=r,h.checkSupport(n),this._worker=e.pipe(new i(n)),e.lock()}catch(e){this._worker=new s(\"error\"),this._worker.error(e)}}f.prototype={accumulate:function(e){return l(this,e)},on:function(e,t){var r=this;return\"data\"===e?this._worker.on(e,function(e){t.call(r,e.data,e.meta)}):this._worker.on(e,function(){h.delay(t,arguments,r)}),this},resume:function(){return h.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(e){if(h.checkSupport(\"nodestream\"),\"nodebuffer\"!==this._outputType)throw new Error(this._outputType+\" is not supported by this method\");return new o(this,{objectMode:\"nodebuffer\"!==this._outputType},e)}},t.exports=f},{\"../base64\":1,\"../external\":6,\"../nodejs/NodejsStreamOutputAdapter\":13,\"../support\":30,\"../utils\":32,\"./ConvertWorker\":24,\"./GenericWorker\":28}],30:[function(e,t,r){\"use strict\";if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer=\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof Uint8Array,r.nodebuffer=\"undefined\"!=typeof Buffer,r.uint8array=\"undefined\"!=typeof Uint8Array,\"undefined\"==typeof ArrayBuffer)r.blob=!1;else{var n=new ArrayBuffer(0);try{r.blob=0===new Blob([n],{type:\"application/zip\"}).size}catch(e){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);i.append(n),r.blob=0===i.getBlob(\"application/zip\").size}catch(e){r.blob=!1}}}try{r.nodestream=!!e(\"readable-stream\").Readable}catch(e){r.nodestream=!1}},{\"readable-stream\":16}],31:[function(e,t,s){\"use strict\";for(var o=e(\"./utils\"),h=e(\"./support\"),r=e(\"./nodejsUtils\"),n=e(\"./stream/GenericWorker\"),u=new Array(256),i=0;i<256;i++)u[i]=252<=i?6:248<=i?5:240<=i?4:224<=i?3:192<=i?2:1;u[254]=u[254]=1;function a(){n.call(this,\"utf-8 decode\"),this.leftOver=null}function l(){n.call(this,\"utf-8 encode\")}s.utf8encode=function(e){return h.nodebuffer?r.newBufferFrom(e,\"utf-8\"):function(e){var t,r,n,i,s,a=e.length,o=0;for(i=0;i<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),o+=r<128?1:r<2048?2:r<65536?3:4;for(t=h.uint8array?new Uint8Array(o):new Array(o),i=s=0;s<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t}(e)},s.utf8decode=function(e){return h.nodebuffer?o.transformTo(\"nodebuffer\",e).toString(\"utf-8\"):function(e){var t,r,n,i,s=e.length,a=new Array(2*s);for(t=r=0;t<s;)if((n=e[t++])<128)a[r++]=n;else if(4<(i=u[n]))a[r++]=65533,t+=i-1;else{for(n&=2===i?31:3===i?15:7;1<i&&t<s;)n=n<<6|63&e[t++],i--;1<i?a[r++]=65533:n<65536?a[r++]=n:(n-=65536,a[r++]=55296|n>>10&1023,a[r++]=56320|1023&n)}return a.length!==r&&(a.subarray?a=a.subarray(0,r):a.length=r),o.applyFromCharCode(a)}(e=o.transformTo(h.uint8array?\"uint8array\":\"array\",e))},o.inherits(a,n),a.prototype.processChunk=function(e){var t=o.transformTo(h.uint8array?\"uint8array\":\"array\",e.data);if(this.leftOver&&this.leftOver.length){if(h.uint8array){var r=t;(t=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),t.set(r,this.leftOver.length)}else t=this.leftOver.concat(t);this.leftOver=null}var n=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}(t),i=t;n!==t.length&&(h.uint8array?(i=t.subarray(0,n),this.leftOver=t.subarray(n,t.length)):(i=t.slice(0,n),this.leftOver=t.slice(n,t.length))),this.push({data:s.utf8decode(i),meta:e.meta})},a.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},s.Utf8DecodeWorker=a,o.inherits(l,n),l.prototype.processChunk=function(e){this.push({data:s.utf8encode(e.data),meta:e.meta})},s.Utf8EncodeWorker=l},{\"./nodejsUtils\":14,\"./stream/GenericWorker\":28,\"./support\":30,\"./utils\":32}],32:[function(e,t,a){\"use strict\";var o=e(\"./support\"),h=e(\"./base64\"),r=e(\"./nodejsUtils\"),u=e(\"./external\");function n(e){return e}function l(e,t){for(var r=0;r<e.length;++r)t[r]=255&e.charCodeAt(r);return t}e(\"setimmediate\"),a.newBlob=function(t,r){a.checkSupport(\"blob\");try{return new Blob([t],{type:r})}catch(e){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return n.append(t),n.getBlob(r)}catch(e){throw new Error(\"Bug : can't construct the Blob.\")}}};var i={stringifyByChunk:function(e,t,r){var n=[],i=0,s=e.length;if(s<=r)return String.fromCharCode.apply(null,e);for(;i<s;)\"array\"===t||\"nodebuffer\"===t?n.push(String.fromCharCode.apply(null,e.slice(i,Math.min(i+r,s)))):n.push(String.fromCharCode.apply(null,e.subarray(i,Math.min(i+r,s)))),i+=r;return n.join(\"\")},stringifyByChar:function(e){for(var t=\"\",r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},applyCanBeUsed:{uint8array:function(){try{return o.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(e){return!1}}(),nodebuffer:function(){try{return o.nodebuffer&&1===String.fromCharCode.apply(null,r.allocBuffer(1)).length}catch(e){return!1}}()}};function s(e){var t=65536,r=a.getTypeOf(e),n=!0;if(\"uint8array\"===r?n=i.applyCanBeUsed.uint8array:\"nodebuffer\"===r&&(n=i.applyCanBeUsed.nodebuffer),n)for(;1<t;)try{return i.stringifyByChunk(e,r,t)}catch(e){t=Math.floor(t/2)}return i.stringifyByChar(e)}function f(e,t){for(var r=0;r<e.length;r++)t[r]=e[r];return t}a.applyFromCharCode=s;var c={};c.string={string:n,array:function(e){return l(e,new Array(e.length))},arraybuffer:function(e){return c.string.uint8array(e).buffer},uint8array:function(e){return l(e,new Uint8Array(e.length))},nodebuffer:function(e){return l(e,r.allocBuffer(e.length))}},c.array={string:s,array:n,arraybuffer:function(e){return new Uint8Array(e).buffer},uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(e)}},c.arraybuffer={string:function(e){return s(new Uint8Array(e))},array:function(e){return f(new Uint8Array(e),new Array(e.byteLength))},arraybuffer:n,uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(new Uint8Array(e))}},c.uint8array={string:s,array:function(e){return f(e,new Array(e.length))},arraybuffer:function(e){return e.buffer},uint8array:n,nodebuffer:function(e){return r.newBufferFrom(e)}},c.nodebuffer={string:s,array:function(e){return f(e,new Array(e.length))},arraybuffer:function(e){return c.nodebuffer.uint8array(e).buffer},uint8array:function(e){return f(e,new Uint8Array(e.length))},nodebuffer:n},a.transformTo=function(e,t){if(t=t||\"\",!e)return t;a.checkSupport(e);var r=a.getTypeOf(t);return c[r][e](t)},a.resolve=function(e){for(var t=e.split(\"/\"),r=[],n=0;n<t.length;n++){var i=t[n];\".\"===i||\"\"===i&&0!==n&&n!==t.length-1||(\"..\"===i?r.pop():r.push(i))}return r.join(\"/\")},a.getTypeOf=function(e){return\"string\"==typeof e?\"string\":\"[object Array]\"===Object.prototype.toString.call(e)?\"array\":o.nodebuffer&&r.isBuffer(e)?\"nodebuffer\":o.uint8array&&e instanceof Uint8Array?\"uint8array\":o.arraybuffer&&e instanceof ArrayBuffer?\"arraybuffer\":void 0},a.checkSupport=function(e){if(!o[e.toLowerCase()])throw new Error(e+\" is not supported by this platform\")},a.MAX_VALUE_16BITS=65535,a.MAX_VALUE_32BITS=-1,a.pretty=function(e){var t,r,n=\"\";for(r=0;r<(e||\"\").length;r++)n+=\"\\\\x\"+((t=e.charCodeAt(r))<16?\"0\":\"\")+t.toString(16).toUpperCase();return n},a.delay=function(e,t,r){setImmediate(function(){e.apply(r||null,t||[])})},a.inherits=function(e,t){function r(){}r.prototype=t.prototype,e.prototype=new r},a.extend=function(){var e,t,r={};for(e=0;e<arguments.length;e++)for(t in arguments[e])Object.prototype.hasOwnProperty.call(arguments[e],t)&&void 0===r[t]&&(r[t]=arguments[e][t]);return r},a.prepareContent=function(r,e,n,i,s){return u.Promise.resolve(e).then(function(n){return o.blob&&(n instanceof Blob||-1!==[\"[object File]\",\"[object Blob]\"].indexOf(Object.prototype.toString.call(n)))&&\"undefined\"!=typeof FileReader?new u.Promise(function(t,r){var e=new FileReader;e.onload=function(e){t(e.target.result)},e.onerror=function(e){r(e.target.error)},e.readAsArrayBuffer(n)}):n}).then(function(e){var t=a.getTypeOf(e);return t?(\"arraybuffer\"===t?e=a.transformTo(\"uint8array\",e):\"string\"===t&&(s?e=h.decode(e):n&&!0!==i&&(e=function(e){return l(e,o.uint8array?new Uint8Array(e.length):new Array(e.length))}(e))),e):u.Promise.reject(new Error(\"Can't read the data of '\"+r+\"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?\"))})}},{\"./base64\":1,\"./external\":6,\"./nodejsUtils\":14,\"./support\":30,setimmediate:54}],33:[function(e,t,r){\"use strict\";var n=e(\"./reader/readerFor\"),i=e(\"./utils\"),s=e(\"./signature\"),a=e(\"./zipEntry\"),o=e(\"./support\");function h(e){this.files=[],this.loadOptions=e}h.prototype={checkSignature:function(e){if(!this.reader.readAndCheckSignature(e)){this.reader.index-=4;var t=this.reader.readString(4);throw new Error(\"Corrupted zip or bug: unexpected signature (\"+i.pretty(t)+\", expected \"+i.pretty(e)+\")\")}},isSignature:function(e,t){var r=this.reader.index;this.reader.setIndex(e);var n=this.reader.readString(4)===t;return this.reader.setIndex(r),n},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var e=this.reader.readData(this.zipCommentLength),t=o.uint8array?\"uint8array\":\"array\",r=i.transformTo(t,e);this.zipComment=this.loadOptions.decodeFileName(r)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var e,t,r,n=this.zip64EndOfCentralSize-44;0<n;)e=this.reader.readInt(2),t=this.reader.readInt(4),r=this.reader.readData(t),this.zip64ExtensibleData[e]={id:e,length:t,value:r}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error(\"Multi-volumes zip are not supported\")},readLocalFiles:function(){var e,t;for(e=0;e<this.files.length;e++)t=this.files[e],this.reader.setIndex(t.localHeaderOffset),this.checkSignature(s.LOCAL_FILE_HEADER),t.readLocalPart(this.reader),t.handleUTF8(),t.processAttributes()},readCentralDir:function(){var e;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER);)(e=new a({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(e);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error(\"Corrupted zip or bug: expected \"+this.centralDirRecords+\" records in central dir, got \"+this.files.length)},readEndOfCentral:function(){var e=this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END);if(e<0)throw!this.isSignature(0,s.LOCAL_FILE_HEADER)?new Error(\"Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html\"):new Error(\"Corrupted zip: can't find end of central directory\");this.reader.setIndex(e);var t=e;if(this.checkSignature(s.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===i.MAX_VALUE_16BITS||this.diskWithCentralDirStart===i.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===i.MAX_VALUE_16BITS||this.centralDirRecords===i.MAX_VALUE_16BITS||this.centralDirSize===i.MAX_VALUE_32BITS||this.centralDirOffset===i.MAX_VALUE_32BITS){if(this.zip64=!0,(e=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error(\"Corrupted zip: can't find the ZIP64 end of central directory locator\");if(this.reader.setIndex(e),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,s.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error(\"Corrupted zip: can't find the ZIP64 end of central directory\");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var r=this.centralDirOffset+this.centralDirSize;this.zip64&&(r+=20,r+=12+this.zip64EndOfCentralSize);var n=t-r;if(0<n)this.isSignature(t,s.CENTRAL_FILE_HEADER)||(this.reader.zero=n);else if(n<0)throw new Error(\"Corrupted zip: missing \"+Math.abs(n)+\" bytes.\")},prepareReader:function(e){this.reader=n(e)},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},t.exports=h},{\"./reader/readerFor\":22,\"./signature\":23,\"./support\":30,\"./utils\":32,\"./zipEntry\":34}],34:[function(e,t,r){\"use strict\";var n=e(\"./reader/readerFor\"),s=e(\"./utils\"),i=e(\"./compressedObject\"),a=e(\"./crc32\"),o=e(\"./utf8\"),h=e(\"./compressions\"),u=e(\"./support\");function l(e,t){this.options=e,this.loadOptions=t}l.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(e){var t,r;if(e.skip(22),this.fileNameLength=e.readInt(2),r=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(r),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error(\"Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)\");if(null===(t=function(e){for(var t in h)if(Object.prototype.hasOwnProperty.call(h,t)&&h[t].magic===e)return h[t];return null}(this.compressionMethod)))throw new Error(\"Corrupted zip : compression \"+s.pretty(this.compressionMethod)+\" unknown (inner file : \"+s.transformTo(\"string\",this.fileName)+\")\");this.decompressed=new i(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize))},readCentralPart:function(e){this.versionMadeBy=e.readInt(2),e.skip(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4);var t=e.readInt(2);if(this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw new Error(\"Encrypted zip are not supported\");e.skip(t),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var e=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==e&&(this.dosPermissions=63&this.externalFileAttributes),3==e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||\"/\"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var e=n(this.extraFields[1].value);this.uncompressedSize===s.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(e){var t,r,n,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4<i;)t=e.readInt(2),r=e.readInt(2),n=e.readData(r),this.extraFields[t]={id:t,length:r,value:n};e.setIndex(i)},handleUTF8:function(){var e=u.uint8array?\"uint8array\":\"array\";if(this.useUTF8())this.fileNameStr=o.utf8decode(this.fileName),this.fileCommentStr=o.utf8decode(this.fileComment);else{var t=this.findExtraFieldUnicodePath();if(null!==t)this.fileNameStr=t;else{var r=s.transformTo(e,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(r)}var n=this.findExtraFieldUnicodeComment();if(null!==n)this.fileCommentStr=n;else{var i=s.transformTo(e,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(i)}}},findExtraFieldUnicodePath:function(){var e=this.extraFields[28789];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:a(this.fileName)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null},findExtraFieldUnicodeComment:function(){var e=this.extraFields[25461];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:a(this.fileComment)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null}},t.exports=l},{\"./compressedObject\":2,\"./compressions\":3,\"./crc32\":4,\"./reader/readerFor\":22,\"./support\":30,\"./utf8\":31,\"./utils\":32}],35:[function(e,t,r){\"use strict\";function n(e,t,r){this.name=e,this.dir=r.dir,this.date=r.date,this.comment=r.comment,this.unixPermissions=r.unixPermissions,this.dosPermissions=r.dosPermissions,this._data=t,this._dataBinary=r.binary,this.options={compression:r.compression,compressionOptions:r.compressionOptions}}var s=e(\"./stream/StreamHelper\"),i=e(\"./stream/DataWorker\"),a=e(\"./utf8\"),o=e(\"./compressedObject\"),h=e(\"./stream/GenericWorker\");n.prototype={internalStream:function(e){var t=null,r=\"string\";try{if(!e)throw new Error(\"No output type specified.\");var n=\"string\"===(r=e.toLowerCase())||\"text\"===r;\"binarystring\"!==r&&\"text\"!==r||(r=\"string\"),t=this._decompressWorker();var i=!this._dataBinary;i&&!n&&(t=t.pipe(new a.Utf8EncodeWorker)),!i&&n&&(t=t.pipe(new a.Utf8DecodeWorker))}catch(e){(t=new h(\"error\")).error(e)}return new s(t,r,\"\")},async:function(e,t){return this.internalStream(e).accumulate(t)},nodeStream:function(e,t){return this.internalStream(e||\"nodebuffer\").toNodejsStream(t)},_compressWorker:function(e,t){if(this._data instanceof o&&this._data.compression.magic===e.magic)return this._data.getCompressedWorker();var r=this._decompressWorker();return this._dataBinary||(r=r.pipe(new a.Utf8EncodeWorker)),o.createWorkerFrom(r,e,t)},_decompressWorker:function(){return this._data instanceof o?this._data.getContentWorker():this._data instanceof h?this._data:new i(this._data)}};for(var u=[\"asText\",\"asBinary\",\"asNodeBuffer\",\"asUint8Array\",\"asArrayBuffer\"],l=function(){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},f=0;f<u.length;f++)n.prototype[u[f]]=l;t.exports=n},{\"./compressedObject\":2,\"./stream/DataWorker\":27,\"./stream/GenericWorker\":28,\"./stream/StreamHelper\":29,\"./utf8\":31}],36:[function(e,l,t){(function(t){\"use strict\";var r,n,e=t.MutationObserver||t.WebKitMutationObserver;if(e){var i=0,s=new e(u),a=t.document.createTextNode(\"\");s.observe(a,{characterData:!0}),r=function(){a.data=i=++i%2}}else if(t.setImmediate||void 0===t.MessageChannel)r=\"document\"in t&&\"onreadystatechange\"in t.document.createElement(\"script\")?function(){var e=t.document.createElement(\"script\");e.onreadystatechange=function(){u(),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null},t.document.documentElement.appendChild(e)}:function(){setTimeout(u,0)};else{var o=new t.MessageChannel;o.port1.onmessage=u,r=function(){o.port2.postMessage(0)}}var h=[];function u(){var e,t;n=!0;for(var r=h.length;r;){for(t=h,h=[],e=-1;++e<r;)t[e]();r=h.length}n=!1}l.exports=function(e){1!==h.push(e)||n||r()}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],37:[function(e,t,r){\"use strict\";var i=e(\"immediate\");function u(){}var l={},s=[\"REJECTED\"],a=[\"FULFILLED\"],n=[\"PENDING\"];function o(e){if(\"function\"!=typeof e)throw new TypeError(\"resolver must be a function\");this.state=n,this.queue=[],this.outcome=void 0,e!==u&&d(this,e)}function h(e,t,r){this.promise=e,\"function\"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),\"function\"==typeof r&&(this.onRejected=r,this.callRejected=this.otherCallRejected)}function f(t,r,n){i(function(){var e;try{e=r(n)}catch(e){return l.reject(t,e)}e===t?l.reject(t,new TypeError(\"Cannot resolve promise with itself\")):l.resolve(t,e)})}function c(e){var t=e&&e.then;if(e&&(\"object\"==typeof e||\"function\"==typeof e)&&\"function\"==typeof t)return function(){t.apply(e,arguments)}}function d(t,e){var r=!1;function n(e){r||(r=!0,l.reject(t,e))}function i(e){r||(r=!0,l.resolve(t,e))}var s=p(function(){e(i,n)});\"error\"===s.status&&n(s.value)}function p(e,t){var r={};try{r.value=e(t),r.status=\"success\"}catch(e){r.status=\"error\",r.value=e}return r}(t.exports=o).prototype.finally=function(t){if(\"function\"!=typeof t)return this;var r=this.constructor;return this.then(function(e){return r.resolve(t()).then(function(){return e})},function(e){return r.resolve(t()).then(function(){throw e})})},o.prototype.catch=function(e){return this.then(null,e)},o.prototype.then=function(e,t){if(\"function\"!=typeof e&&this.state===a||\"function\"!=typeof t&&this.state===s)return this;var r=new this.constructor(u);this.state!==n?f(r,this.state===a?e:t,this.outcome):this.queue.push(new h(r,e,t));return r},h.prototype.callFulfilled=function(e){l.resolve(this.promise,e)},h.prototype.otherCallFulfilled=function(e){f(this.promise,this.onFulfilled,e)},h.prototype.callRejected=function(e){l.reject(this.promise,e)},h.prototype.otherCallRejected=function(e){f(this.promise,this.onRejected,e)},l.resolve=function(e,t){var r=p(c,t);if(\"error\"===r.status)return l.reject(e,r.value);var n=r.value;if(n)d(e,n);else{e.state=a,e.outcome=t;for(var i=-1,s=e.queue.length;++i<s;)e.queue[i].callFulfilled(t)}return e},l.reject=function(e,t){e.state=s,e.outcome=t;for(var r=-1,n=e.queue.length;++r<n;)e.queue[r].callRejected(t);return e},o.resolve=function(e){if(e instanceof this)return e;return l.resolve(new this(u),e)},o.reject=function(e){var t=new this(u);return l.reject(t,e)},o.all=function(e){var r=this;if(\"[object Array]\"!==Object.prototype.toString.call(e))return this.reject(new TypeError(\"must be an array\"));var n=e.length,i=!1;if(!n)return this.resolve([]);var s=new Array(n),a=0,t=-1,o=new this(u);for(;++t<n;)h(e[t],t);return o;function h(e,t){r.resolve(e).then(function(e){s[t]=e,++a!==n||i||(i=!0,l.resolve(o,s))},function(e){i||(i=!0,l.reject(o,e))})}},o.race=function(e){var t=this;if(\"[object Array]\"!==Object.prototype.toString.call(e))return this.reject(new TypeError(\"must be an array\"));var r=e.length,n=!1;if(!r)return this.resolve([]);var i=-1,s=new this(u);for(;++i<r;)a=e[i],t.resolve(a).then(function(e){n||(n=!0,l.resolve(s,e))},function(e){n||(n=!0,l.reject(s,e))});var a;return s}},{immediate:36}],38:[function(e,t,r){\"use strict\";var n={};(0,e(\"./lib/utils/common\").assign)(n,e(\"./lib/deflate\"),e(\"./lib/inflate\"),e(\"./lib/zlib/constants\")),t.exports=n},{\"./lib/deflate\":39,\"./lib/inflate\":40,\"./lib/utils/common\":41,\"./lib/zlib/constants\":44}],39:[function(e,t,r){\"use strict\";var a=e(\"./zlib/deflate\"),o=e(\"./utils/common\"),h=e(\"./utils/strings\"),i=e(\"./zlib/messages\"),s=e(\"./zlib/zstream\"),u=Object.prototype.toString,l=0,f=-1,c=0,d=8;function p(e){if(!(this instanceof p))return new p(e);this.options=o.assign({level:f,method:d,chunkSize:16384,windowBits:15,memLevel:8,strategy:c,to:\"\"},e||{});var t=this.options;t.raw&&0<t.windowBits?t.windowBits=-t.windowBits:t.gzip&&0<t.windowBits&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new s,this.strm.avail_out=0;var r=a.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(r!==l)throw new Error(i[r]);if(t.header&&a.deflateSetHeader(this.strm,t.header),t.dictionary){var n;if(n=\"string\"==typeof t.dictionary?h.string2buf(t.dictionary):\"[object ArrayBuffer]\"===u.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(r=a.deflateSetDictionary(this.strm,n))!==l)throw new Error(i[r]);this._dict_set=!0}}function n(e,t){var r=new p(t);if(r.push(e,!0),r.err)throw r.msg||i[r.err];return r.result}p.prototype.push=function(e,t){var r,n,i=this.strm,s=this.options.chunkSize;if(this.ended)return!1;n=t===~~t?t:!0===t?4:0,\"string\"==typeof e?i.input=h.string2buf(e):\"[object ArrayBuffer]\"===u.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;do{if(0===i.avail_out&&(i.output=new o.Buf8(s),i.next_out=0,i.avail_out=s),1!==(r=a.deflate(i,n))&&r!==l)return this.onEnd(r),!(this.ended=!0);0!==i.avail_out&&(0!==i.avail_in||4!==n&&2!==n)||(\"string\"===this.options.to?this.onData(h.buf2binstring(o.shrinkBuf(i.output,i.next_out))):this.onData(o.shrinkBuf(i.output,i.next_out)))}while((0<i.avail_in||0===i.avail_out)&&1!==r);return 4===n?(r=a.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===l):2!==n||(this.onEnd(l),!(i.avail_out=0))},p.prototype.onData=function(e){this.chunks.push(e)},p.prototype.onEnd=function(e){e===l&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Deflate=p,r.deflate=n,r.deflateRaw=function(e,t){return(t=t||{}).raw=!0,n(e,t)},r.gzip=function(e,t){return(t=t||{}).gzip=!0,n(e,t)}},{\"./utils/common\":41,\"./utils/strings\":42,\"./zlib/deflate\":46,\"./zlib/messages\":51,\"./zlib/zstream\":53}],40:[function(e,t,r){\"use strict\";var c=e(\"./zlib/inflate\"),d=e(\"./utils/common\"),p=e(\"./utils/strings\"),m=e(\"./zlib/constants\"),n=e(\"./zlib/messages\"),i=e(\"./zlib/zstream\"),s=e(\"./zlib/gzheader\"),_=Object.prototype.toString;function a(e){if(!(this instanceof a))return new a(e);this.options=d.assign({chunkSize:16384,windowBits:0,to:\"\"},e||{});var t=this.options;t.raw&&0<=t.windowBits&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(0<=t.windowBits&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),15<t.windowBits&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new i,this.strm.avail_out=0;var r=c.inflateInit2(this.strm,t.windowBits);if(r!==m.Z_OK)throw new Error(n[r]);this.header=new s,c.inflateGetHeader(this.strm,this.header)}function o(e,t){var r=new a(t);if(r.push(e,!0),r.err)throw r.msg||n[r.err];return r.result}a.prototype.push=function(e,t){var r,n,i,s,a,o,h=this.strm,u=this.options.chunkSize,l=this.options.dictionary,f=!1;if(this.ended)return!1;n=t===~~t?t:!0===t?m.Z_FINISH:m.Z_NO_FLUSH,\"string\"==typeof e?h.input=p.binstring2buf(e):\"[object ArrayBuffer]\"===_.call(e)?h.input=new Uint8Array(e):h.input=e,h.next_in=0,h.avail_in=h.input.length;do{if(0===h.avail_out&&(h.output=new d.Buf8(u),h.next_out=0,h.avail_out=u),(r=c.inflate(h,m.Z_NO_FLUSH))===m.Z_NEED_DICT&&l&&(o=\"string\"==typeof l?p.string2buf(l):\"[object ArrayBuffer]\"===_.call(l)?new Uint8Array(l):l,r=c.inflateSetDictionary(this.strm,o)),r===m.Z_BUF_ERROR&&!0===f&&(r=m.Z_OK,f=!1),r!==m.Z_STREAM_END&&r!==m.Z_OK)return this.onEnd(r),!(this.ended=!0);h.next_out&&(0!==h.avail_out&&r!==m.Z_STREAM_END&&(0!==h.avail_in||n!==m.Z_FINISH&&n!==m.Z_SYNC_FLUSH)||(\"string\"===this.options.to?(i=p.utf8border(h.output,h.next_out),s=h.next_out-i,a=p.buf2string(h.output,i),h.next_out=s,h.avail_out=u-s,s&&d.arraySet(h.output,h.output,i,s,0),this.onData(a)):this.onData(d.shrinkBuf(h.output,h.next_out)))),0===h.avail_in&&0===h.avail_out&&(f=!0)}while((0<h.avail_in||0===h.avail_out)&&r!==m.Z_STREAM_END);return r===m.Z_STREAM_END&&(n=m.Z_FINISH),n===m.Z_FINISH?(r=c.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===m.Z_OK):n!==m.Z_SYNC_FLUSH||(this.onEnd(m.Z_OK),!(h.avail_out=0))},a.prototype.onData=function(e){this.chunks.push(e)},a.prototype.onEnd=function(e){e===m.Z_OK&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=d.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Inflate=a,r.inflate=o,r.inflateRaw=function(e,t){return(t=t||{}).raw=!0,o(e,t)},r.ungzip=o},{\"./utils/common\":41,\"./utils/strings\":42,\"./zlib/constants\":44,\"./zlib/gzheader\":47,\"./zlib/inflate\":49,\"./zlib/messages\":51,\"./zlib/zstream\":53}],41:[function(e,t,r){\"use strict\";var n=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Int32Array;r.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if(\"object\"!=typeof r)throw new TypeError(r+\"must be non-object\");for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n])}}return e},r.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var i={arraySet:function(e,t,r,n,i){if(t.subarray&&e.subarray)e.set(t.subarray(r,r+n),i);else for(var s=0;s<n;s++)e[i+s]=t[r+s]},flattenChunks:function(e){var t,r,n,i,s,a;for(t=n=0,r=e.length;t<r;t++)n+=e[t].length;for(a=new Uint8Array(n),t=i=0,r=e.length;t<r;t++)s=e[t],a.set(s,i),i+=s.length;return a}},s={arraySet:function(e,t,r,n,i){for(var s=0;s<n;s++)e[i+s]=t[r+s]},flattenChunks:function(e){return[].concat.apply([],e)}};r.setTyped=function(e){e?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,i)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,s))},r.setTyped(n)},{}],42:[function(e,t,r){\"use strict\";var h=e(\"./common\"),i=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(e){i=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){s=!1}for(var u=new h.Buf8(256),n=0;n<256;n++)u[n]=252<=n?6:248<=n?5:240<=n?4:224<=n?3:192<=n?2:1;function l(e,t){if(t<65537&&(e.subarray&&s||!e.subarray&&i))return String.fromCharCode.apply(null,h.shrinkBuf(e,t));for(var r=\"\",n=0;n<t;n++)r+=String.fromCharCode(e[n]);return r}u[254]=u[254]=1,r.string2buf=function(e){var t,r,n,i,s,a=e.length,o=0;for(i=0;i<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),o+=r<128?1:r<2048?2:r<65536?3:4;for(t=new h.Buf8(o),i=s=0;s<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t},r.buf2binstring=function(e){return l(e,e.length)},r.binstring2buf=function(e){for(var t=new h.Buf8(e.length),r=0,n=t.length;r<n;r++)t[r]=e.charCodeAt(r);return t},r.buf2string=function(e,t){var r,n,i,s,a=t||e.length,o=new Array(2*a);for(r=n=0;r<a;)if((i=e[r++])<128)o[n++]=i;else if(4<(s=u[i]))o[n++]=65533,r+=s-1;else{for(i&=2===s?31:3===s?15:7;1<s&&r<a;)i=i<<6|63&e[r++],s--;1<s?o[n++]=65533:i<65536?o[n++]=i:(i-=65536,o[n++]=55296|i>>10&1023,o[n++]=56320|1023&i)}return l(o,n)},r.utf8border=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}},{\"./common\":41}],43:[function(e,t,r){\"use strict\";t.exports=function(e,t,r,n){for(var i=65535&e|0,s=e>>>16&65535|0,a=0;0!==r;){for(r-=a=2e3<r?2e3:r;s=s+(i=i+t[n++]|0)|0,--a;);i%=65521,s%=65521}return i|s<<16|0}},{}],44:[function(e,t,r){\"use strict\";t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(e,t,r){\"use strict\";var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return-1^e}},{}],46:[function(e,t,r){\"use strict\";var h,c=e(\"../utils/common\"),u=e(\"./trees\"),d=e(\"./adler32\"),p=e(\"./crc32\"),n=e(\"./messages\"),l=0,f=4,m=0,_=-2,g=-1,b=4,i=2,v=8,y=9,s=286,a=30,o=19,w=2*s+1,k=15,x=3,S=258,z=S+x+1,C=42,E=113,A=1,I=2,O=3,B=4;function R(e,t){return e.msg=n[t],t}function T(e){return(e<<1)-(4<e?9:0)}function D(e){for(var t=e.length;0<=--t;)e[t]=0}function F(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(c.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function N(e,t){u._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,F(e.strm)}function U(e,t){e.pending_buf[e.pending++]=t}function P(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function L(e,t){var r,n,i=e.max_chain_length,s=e.strstart,a=e.prev_length,o=e.nice_match,h=e.strstart>e.w_size-z?e.strstart-(e.w_size-z):0,u=e.window,l=e.w_mask,f=e.prev,c=e.strstart+S,d=u[s+a-1],p=u[s+a];e.prev_length>=e.good_match&&(i>>=2),o>e.lookahead&&(o=e.lookahead);do{if(u[(r=t)+a]===p&&u[r+a-1]===d&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do{}while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&s<c);if(n=S-(c-s),s=c-S,a<n){if(e.match_start=t,o<=(a=n))break;d=u[s+a-1],p=u[s+a]}}}while((t=f[t&l])>h&&0!=--i);return a<=e.lookahead?a:e.lookahead}function j(e){var t,r,n,i,s,a,o,h,u,l,f=e.w_size;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=f+(f-z)){for(c.arraySet(e.window,e.window,f,f,0),e.match_start-=f,e.strstart-=f,e.block_start-=f,t=r=e.hash_size;n=e.head[--t],e.head[t]=f<=n?n-f:0,--r;);for(t=r=f;n=e.prev[--t],e.prev[t]=f<=n?n-f:0,--r;);i+=f}if(0===e.strm.avail_in)break;if(a=e.strm,o=e.window,h=e.strstart+e.lookahead,u=i,l=void 0,l=a.avail_in,u<l&&(l=u),r=0===l?0:(a.avail_in-=l,c.arraySet(o,a.input,a.next_in,l,h),1===a.state.wrap?a.adler=d(a.adler,o,l,h):2===a.state.wrap&&(a.adler=p(a.adler,o,l,h)),a.next_in+=l,a.total_in+=l,l),e.lookahead+=r,e.lookahead+e.insert>=x)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+x-1])&e.hash_mask,e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<x)););}while(e.lookahead<z&&0!==e.strm.avail_in)}function Z(e,t){for(var r,n;;){if(e.lookahead<z){if(j(e),e.lookahead<z&&t===l)return A;if(0===e.lookahead)break}if(r=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==r&&e.strstart-r<=e.w_size-z&&(e.match_length=L(e,r)),e.match_length>=x)if(n=u._tr_tally(e,e.strstart-e.match_start,e.match_length-x),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=x){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart,0!=--e.match_length;);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=e.strstart<x-1?e.strstart:x-1,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}function W(e,t){for(var r,n,i;;){if(e.lookahead<z){if(j(e),e.lookahead<z&&t===l)return A;if(0===e.lookahead)break}if(r=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=x-1,0!==r&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-z&&(e.match_length=L(e,r),e.match_length<=5&&(1===e.strategy||e.match_length===x&&4096<e.strstart-e.match_start)&&(e.match_length=x-1)),e.prev_length>=x&&e.match_length<=e.prev_length){for(i=e.strstart+e.lookahead-x,n=u._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-x),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=i&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!=--e.prev_length;);if(e.match_available=0,e.match_length=x-1,e.strstart++,n&&(N(e,!1),0===e.strm.avail_out))return A}else if(e.match_available){if((n=u._tr_tally(e,0,e.window[e.strstart-1]))&&N(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return A}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=u._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<x-1?e.strstart:x-1,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}function M(e,t,r,n,i){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=i}function H(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=v,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new c.Buf16(2*w),this.dyn_dtree=new c.Buf16(2*(2*a+1)),this.bl_tree=new c.Buf16(2*(2*o+1)),D(this.dyn_ltree),D(this.dyn_dtree),D(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new c.Buf16(k+1),this.heap=new c.Buf16(2*s+1),D(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new c.Buf16(2*s+1),D(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function G(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=i,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?C:E,e.adler=2===t.wrap?0:1,t.last_flush=l,u._tr_init(t),m):R(e,_)}function K(e){var t=G(e);return t===m&&function(e){e.window_size=2*e.w_size,D(e.head),e.max_lazy_match=h[e.level].max_lazy,e.good_match=h[e.level].good_length,e.nice_match=h[e.level].nice_length,e.max_chain_length=h[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=x-1,e.match_available=0,e.ins_h=0}(e.state),t}function Y(e,t,r,n,i,s){if(!e)return _;var a=1;if(t===g&&(t=6),n<0?(a=0,n=-n):15<n&&(a=2,n-=16),i<1||y<i||r!==v||n<8||15<n||t<0||9<t||s<0||b<s)return R(e,_);8===n&&(n=9);var o=new H;return(e.state=o).strm=e,o.wrap=a,o.gzhead=null,o.w_bits=n,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=i+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+x-1)/x),o.window=new c.Buf8(2*o.w_size),o.head=new c.Buf16(o.hash_size),o.prev=new c.Buf16(o.w_size),o.lit_bufsize=1<<i+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new c.Buf8(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=t,o.strategy=s,o.method=r,K(e)}h=[new M(0,0,0,0,function(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(j(e),0===e.lookahead&&t===l)return A;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,N(e,!1),0===e.strm.avail_out))return A;if(e.strstart-e.block_start>=e.w_size-z&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):(e.strstart>e.block_start&&(N(e,!1),e.strm.avail_out),A)}),new M(4,4,8,4,Z),new M(4,5,16,8,Z),new M(4,6,32,32,Z),new M(4,4,16,16,W),new M(8,16,32,32,W),new M(8,16,128,128,W),new M(8,32,128,256,W),new M(32,128,258,1024,W),new M(32,258,258,4096,W)],r.deflateInit=function(e,t){return Y(e,t,v,15,8,0)},r.deflateInit2=Y,r.deflateReset=K,r.deflateResetKeep=G,r.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?_:(e.state.gzhead=t,m):_},r.deflate=function(e,t){var r,n,i,s;if(!e||!e.state||5<t||t<0)return e?R(e,_):_;if(n=e.state,!e.output||!e.input&&0!==e.avail_in||666===n.status&&t!==f)return R(e,0===e.avail_out?-5:_);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===C)if(2===n.wrap)e.adler=0,U(n,31),U(n,139),U(n,8),n.gzhead?(U(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),U(n,255&n.gzhead.time),U(n,n.gzhead.time>>8&255),U(n,n.gzhead.time>>16&255),U(n,n.gzhead.time>>24&255),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(U(n,255&n.gzhead.extra.length),U(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=p(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(U(n,0),U(n,0),U(n,0),U(n,0),U(n,0),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,3),n.status=E);else{var a=v+(n.w_bits-8<<4)<<8;a|=(2<=n.strategy||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(a|=32),a+=31-a%31,n.status=E,P(n,a),0!==n.strstart&&(P(n,e.adler>>>16),P(n,65535&e.adler)),e.adler=1}if(69===n.status)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending!==n.pending_buf_size));)U(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.name.length?255&n.gzhead.name.charCodeAt(n.gzindex++):0,U(n,s)}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.comment.length?255&n.gzhead.comment.charCodeAt(n.gzindex++):0,U(n,s)}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.status=103)}else n.status=103;if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&F(e),n.pending+2<=n.pending_buf_size&&(U(n,255&e.adler),U(n,e.adler>>8&255),e.adler=0,n.status=E)):n.status=E),0!==n.pending){if(F(e),0===e.avail_out)return n.last_flush=-1,m}else if(0===e.avail_in&&T(t)<=T(r)&&t!==f)return R(e,-5);if(666===n.status&&0!==e.avail_in)return R(e,-5);if(0!==e.avail_in||0!==n.lookahead||t!==l&&666!==n.status){var o=2===n.strategy?function(e,t){for(var r;;){if(0===e.lookahead&&(j(e),0===e.lookahead)){if(t===l)return A;break}if(e.match_length=0,r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):3===n.strategy?function(e,t){for(var r,n,i,s,a=e.window;;){if(e.lookahead<=S){if(j(e),e.lookahead<=S&&t===l)return A;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=x&&0<e.strstart&&(n=a[i=e.strstart-1])===a[++i]&&n===a[++i]&&n===a[++i]){s=e.strstart+S;do{}while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&i<s);e.match_length=S-(s-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=x?(r=u._tr_tally(e,1,e.match_length-x),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):h[n.level].func(n,t);if(o!==O&&o!==B||(n.status=666),o===A||o===O)return 0===e.avail_out&&(n.last_flush=-1),m;if(o===I&&(1===t?u._tr_align(n):5!==t&&(u._tr_stored_block(n,0,0,!1),3===t&&(D(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),F(e),0===e.avail_out))return n.last_flush=-1,m}return t!==f?m:n.wrap<=0?1:(2===n.wrap?(U(n,255&e.adler),U(n,e.adler>>8&255),U(n,e.adler>>16&255),U(n,e.adler>>24&255),U(n,255&e.total_in),U(n,e.total_in>>8&255),U(n,e.total_in>>16&255),U(n,e.total_in>>24&255)):(P(n,e.adler>>>16),P(n,65535&e.adler)),F(e),0<n.wrap&&(n.wrap=-n.wrap),0!==n.pending?m:1)},r.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==C&&69!==t&&73!==t&&91!==t&&103!==t&&t!==E&&666!==t?R(e,_):(e.state=null,t===E?R(e,-3):m):_},r.deflateSetDictionary=function(e,t){var r,n,i,s,a,o,h,u,l=t.length;if(!e||!e.state)return _;if(2===(s=(r=e.state).wrap)||1===s&&r.status!==C||r.lookahead)return _;for(1===s&&(e.adler=d(e.adler,t,l,0)),r.wrap=0,l>=r.w_size&&(0===s&&(D(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new c.Buf8(r.w_size),c.arraySet(u,t,l-r.w_size,r.w_size,0),t=u,l=r.w_size),a=e.avail_in,o=e.next_in,h=e.input,e.avail_in=l,e.next_in=0,e.input=t,j(r);r.lookahead>=x;){for(n=r.strstart,i=r.lookahead-(x-1);r.ins_h=(r.ins_h<<r.hash_shift^r.window[n+x-1])&r.hash_mask,r.prev[n&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=n,n++,--i;);r.strstart=n,r.lookahead=x-1,j(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=x-1,r.match_available=0,e.next_in=o,e.input=h,e.avail_in=a,r.wrap=s,m},r.deflateInfo=\"pako deflate (from Nodeca project)\"},{\"../utils/common\":41,\"./adler32\":43,\"./crc32\":45,\"./messages\":51,\"./trees\":52}],47:[function(e,t,r){\"use strict\";t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name=\"\",this.comment=\"\",this.hcrc=0,this.done=!1}},{}],48:[function(e,t,r){\"use strict\";t.exports=function(e,t){var r,n,i,s,a,o,h,u,l,f,c,d,p,m,_,g,b,v,y,w,k,x,S,z,C;r=e.state,n=e.next_in,z=e.input,i=n+(e.avail_in-5),s=e.next_out,C=e.output,a=s-(t-e.avail_out),o=s+(e.avail_out-257),h=r.dmax,u=r.wsize,l=r.whave,f=r.wnext,c=r.window,d=r.hold,p=r.bits,m=r.lencode,_=r.distcode,g=(1<<r.lenbits)-1,b=(1<<r.distbits)-1;e:do{p<15&&(d+=z[n++]<<p,p+=8,d+=z[n++]<<p,p+=8),v=m[d&g];t:for(;;){if(d>>>=y=v>>>24,p-=y,0===(y=v>>>16&255))C[s++]=65535&v;else{if(!(16&y)){if(0==(64&y)){v=m[(65535&v)+(d&(1<<y)-1)];continue t}if(32&y){r.mode=12;break e}e.msg=\"invalid literal/length code\",r.mode=30;break e}w=65535&v,(y&=15)&&(p<y&&(d+=z[n++]<<p,p+=8),w+=d&(1<<y)-1,d>>>=y,p-=y),p<15&&(d+=z[n++]<<p,p+=8,d+=z[n++]<<p,p+=8),v=_[d&b];r:for(;;){if(d>>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(d&(1<<y)-1)];continue r}e.msg=\"invalid distance code\",r.mode=30;break e}if(k=65535&v,p<(y&=15)&&(d+=z[n++]<<p,(p+=8)<y&&(d+=z[n++]<<p,p+=8)),h<(k+=d&(1<<y)-1)){e.msg=\"invalid distance too far back\",r.mode=30;break e}if(d>>>=y,p-=y,(y=s-a)<k){if(l<(y=k-y)&&r.sane){e.msg=\"invalid distance too far back\",r.mode=30;break e}if(S=c,(x=0)===f){if(x+=u-y,y<w){for(w-=y;C[s++]=c[x++],--y;);x=s-k,S=C}}else if(f<y){if(x+=u+f-y,(y-=f)<w){for(w-=y;C[s++]=c[x++],--y;);if(x=0,f<w){for(w-=y=f;C[s++]=c[x++],--y;);x=s-k,S=C}}}else if(x+=f-y,y<w){for(w-=y;C[s++]=c[x++],--y;);x=s-k,S=C}for(;2<w;)C[s++]=S[x++],C[s++]=S[x++],C[s++]=S[x++],w-=3;w&&(C[s++]=S[x++],1<w&&(C[s++]=S[x++]))}else{for(x=s-k;C[s++]=C[x++],C[s++]=C[x++],C[s++]=C[x++],2<(w-=3););w&&(C[s++]=C[x++],1<w&&(C[s++]=C[x++]))}break}}break}}while(n<i&&s<o);n-=w=p>>3,d&=(1<<(p-=w<<3))-1,e.next_in=n,e.next_out=s,e.avail_in=n<i?i-n+5:5-(n-i),e.avail_out=s<o?o-s+257:257-(s-o),r.hold=d,r.bits=p}},{}],49:[function(e,t,r){\"use strict\";var I=e(\"../utils/common\"),O=e(\"./adler32\"),B=e(\"./crc32\"),R=e(\"./inffast\"),T=e(\"./inftrees\"),D=1,F=2,N=0,U=-2,P=1,n=852,i=592;function L(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new I.Buf16(320),this.work=new I.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function a(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg=\"\",t.wrap&&(e.adler=1&t.wrap),t.mode=P,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new I.Buf32(n),t.distcode=t.distdyn=new I.Buf32(i),t.sane=1,t.back=-1,N):U}function o(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,a(e)):U}function h(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15<t)?U:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,o(e))):U}function u(e,t){var r,n;return e?(n=new s,(e.state=n).window=null,(r=h(e,t))!==N&&(e.state=null),r):U}var l,f,c=!0;function j(e){if(c){var t;for(l=new I.Buf32(512),f=new I.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(T(D,e.lens,0,288,l,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;T(F,e.lens,0,32,f,0,e.work,{bits:5}),c=!1}e.lencode=l,e.lenbits=9,e.distcode=f,e.distbits=5}function Z(e,t,r,n){var i,s=e.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new I.Buf8(s.wsize)),n>=s.wsize?(I.arraySet(s.window,t,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(n<(i=s.wsize-s.wnext)&&(i=n),I.arraySet(s.window,t,r-n,i,s.wnext),(n-=i)?(I.arraySet(s.window,t,r-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=i))),0}r.inflateReset=o,r.inflateReset2=h,r.inflateResetKeep=a,r.inflateInit=function(e){return u(e,15)},r.inflateInit2=u,r.inflate=function(e,t){var r,n,i,s,a,o,h,u,l,f,c,d,p,m,_,g,b,v,y,w,k,x,S,z,C=0,E=new I.Buf8(4),A=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return U;12===(r=e.state).mode&&(r.mode=13),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,f=o,c=h,x=N;e:for(;;)switch(r.mode){case P:if(0===r.wrap){r.mode=13;break}for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(2&r.wrap&&35615===u){E[r.check=0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg=\"incorrect header check\",r.mode=30;break}if(8!=(15&u)){e.msg=\"unknown compression method\",r.mode=30;break}if(l-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){e.msg=\"invalid window size\",r.mode=30;break}r.dmax=1<<k,e.adler=r.check=1,r.mode=512&u?10:12,l=u=0;break;case 2:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(r.flags=u,8!=(255&r.flags)){e.msg=\"unknown compression method\",r.mode=30;break}if(57344&r.flags){e.msg=\"unknown header flags set\",r.mode=30;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.head&&(r.head.time=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,E[2]=u>>>16&255,E[3]=u>>>24&255,r.check=B(r.check,E,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(d=r.length)&&(d=o),d&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,n,s,d,k)),512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,r.length-=d),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&d<o;);if(512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,k)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.comment+=String.fromCharCode(k)),k&&d<o;);if(512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,k)break e}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u!==(65535&r.check)){e.msg=\"header crc mismatch\",r.mode=30;break}l=u=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}e.adler=r.check=L(u),l=u=0,r.mode=11;case 11:if(0===r.havedict)return e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,2;e.adler=r.check=1,r.mode=12;case 12:if(5===t||6===t)break e;case 13:if(r.last){u>>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}switch(r.last=1&u,l-=1,3&(u>>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==t)break;u>>>=2,l-=2;break e;case 2:r.mode=17;break;case 3:e.msg=\"invalid block type\",r.mode=30}u>>>=2,l-=2;break;case 14:for(u>>>=7&l,l-=7&l;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if((65535&u)!=(u>>>16^65535)){e.msg=\"invalid stored block lengths\",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===t)break e;case 15:r.mode=16;case 16:if(d=r.length){if(o<d&&(d=o),h<d&&(d=h),0===d)break e;I.arraySet(i,n,s,d,a),o-=d,s+=d,h-=d,a+=d,r.length-=d;break}r.mode=12;break;case 17:for(;l<14;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(r.nlen=257+(31&u),u>>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286<r.nlen||30<r.ndist){e.msg=\"too many length or distance symbols\",r.mode=30;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;l<3;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.lens[A[r.have++]]=7&u,u>>>=3,l-=3}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg=\"invalid code lengths set\",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(b<16)u>>>=_,l-=_,r.lens[r.have++]=b;else{if(16===b){for(z=_+2;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u>>>=_,l-=_,0===r.have){e.msg=\"invalid bit length repeat\",r.mode=30;break}k=r.lens[r.have-1],d=3+(3&u),u>>>=2,l-=2}else if(17===b){for(z=_+3;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}l-=_,k=0,d=3+(7&(u>>>=_)),u>>>=3,l-=3}else{for(z=_+7;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}l-=_,k=0,d=11+(127&(u>>>=_)),u>>>=7,l-=7}if(r.have+d>r.nlen+r.ndist){e.msg=\"invalid bit length repeat\",r.mode=30;break}for(;d--;)r.lens[r.have++]=k}}if(30===r.mode)break;if(0===r.lens[256]){e.msg=\"invalid code -- missing end-of-block\",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg=\"invalid literal/lengths set\",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){e.msg=\"invalid distances set\",r.mode=30;break}if(r.mode=20,6===t)break e;case 20:r.mode=21;case 21:if(6<=o&&258<=h){e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,R(e,c),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(g&&0==(240&g)){for(v=_,y=g,w=b;g=(C=r.lencode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,r.length=b,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){e.msg=\"invalid literal/length code\",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;g=(C=r.distcode[u&(1<<r.distbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(0==(240&g)){for(v=_,y=g,w=b;g=(C=r.distcode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,64&g){e.msg=\"invalid distance code\",r.mode=30;break}r.offset=b,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg=\"invalid distance too far back\",r.mode=30;break}r.mode=25;case 25:if(0===h)break e;if(d=c-h,r.offset>d){if((d=r.offset-d)>r.whave&&r.sane){e.msg=\"invalid distance too far back\",r.mode=30;break}p=d>r.wnext?(d-=r.wnext,r.wsize-d):r.wnext-d,d>r.length&&(d=r.length),m=r.window}else m=i,p=a-r.offset,d=r.length;for(h<d&&(d=h),h-=d,r.length-=d;i[a++]=m[p++],--d;);0===r.length&&(r.mode=21);break;case 26:if(0===h)break e;i[a++]=r.length,h--,r.mode=21;break;case 27:if(r.wrap){for(;l<32;){if(0===o)break e;o--,u|=n[s++]<<l,l+=8}if(c-=h,e.total_out+=c,r.total+=c,c&&(e.adler=r.check=r.flags?B(r.check,i,c,a-c):O(r.check,i,c,a-c)),c=h,(r.flags?u:L(u))!==r.check){e.msg=\"incorrect data check\",r.mode=30;break}l=u=0}r.mode=28;case 28:if(r.wrap&&r.flags){for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u!==(4294967295&r.total)){e.msg=\"incorrect length check\",r.mode=30;break}l=u=0}r.mode=29;case 29:x=1;break e;case 30:x=-3;break e;case 31:return-4;case 32:default:return U}return e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,(r.wsize||c!==e.avail_out&&r.mode<30&&(r.mode<27||4!==t))&&Z(e,e.output,e.next_out,c-e.avail_out)?(r.mode=31,-4):(f-=e.avail_in,c-=e.avail_out,e.total_in+=f,e.total_out+=c,r.total+=c,r.wrap&&c&&(e.adler=r.check=r.flags?B(r.check,i,c,e.next_out-c):O(r.check,i,c,e.next_out-c)),e.data_type=r.bits+(r.last?64:0)+(12===r.mode?128:0)+(20===r.mode||15===r.mode?256:0),(0==f&&0===c||4===t)&&x===N&&(x=-5),x)},r.inflateEnd=function(e){if(!e||!e.state)return U;var t=e.state;return t.window&&(t.window=null),e.state=null,N},r.inflateGetHeader=function(e,t){var r;return e&&e.state?0==(2&(r=e.state).wrap)?U:((r.head=t).done=!1,N):U},r.inflateSetDictionary=function(e,t){var r,n=t.length;return e&&e.state?0!==(r=e.state).wrap&&11!==r.mode?U:11===r.mode&&O(1,t,n,0)!==r.check?-3:Z(e,t,n,n)?(r.mode=31,-4):(r.havedict=1,N):U},r.inflateInfo=\"pako inflate (from Nodeca project)\"},{\"../utils/common\":41,\"./adler32\":43,\"./crc32\":45,\"./inffast\":48,\"./inftrees\":50}],50:[function(e,t,r){\"use strict\";var D=e(\"../utils/common\"),F=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],N=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],U=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],P=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(e,t,r,n,i,s,a,o){var h,u,l,f,c,d,p,m,_,g=o.bits,b=0,v=0,y=0,w=0,k=0,x=0,S=0,z=0,C=0,E=0,A=null,I=0,O=new D.Buf16(16),B=new D.Buf16(16),R=null,T=0;for(b=0;b<=15;b++)O[b]=0;for(v=0;v<n;v++)O[t[r+v]]++;for(k=g,w=15;1<=w&&0===O[w];w--);if(w<k&&(k=w),0===w)return i[s++]=20971520,i[s++]=20971520,o.bits=1,0;for(y=1;y<w&&0===O[y];y++);for(k<y&&(k=y),b=z=1;b<=15;b++)if(z<<=1,(z-=O[b])<0)return-1;if(0<z&&(0===e||1!==w))return-1;for(B[1]=0,b=1;b<15;b++)B[b+1]=B[b]+O[b];for(v=0;v<n;v++)0!==t[r+v]&&(a[B[t[r+v]]++]=v);if(d=0===e?(A=R=a,19):1===e?(A=F,I-=257,R=N,T-=257,256):(A=U,R=P,-1),b=y,c=s,S=v=E=0,l=-1,f=(C=1<<(x=k))-1,1===e&&852<C||2===e&&592<C)return 1;for(;;){for(p=b-S,_=a[v]<d?(m=0,a[v]):a[v]>d?(m=R[T+a[v]],A[I+a[v]]):(m=96,0),h=1<<b-S,y=u=1<<x;i[c+(E>>S)+(u-=h)]=p<<24|m<<16|_|0,0!==u;);for(h=1<<b-1;E&h;)h>>=1;if(0!==h?(E&=h-1,E+=h):E=0,v++,0==--O[b]){if(b===w)break;b=t[r+a[v]]}if(k<b&&(E&f)!==l){for(0===S&&(S=k),c+=y,z=1<<(x=b-S);x+S<w&&!((z-=O[x+S])<=0);)x++,z<<=1;if(C+=1<<x,1===e&&852<C||2===e&&592<C)return 1;i[l=E&f]=k<<24|x<<16|c-s|0}}return 0!==E&&(i[c+E]=b-S<<24|64<<16|0),o.bits=k,0}},{\"../utils/common\":41}],51:[function(e,t,r){\"use strict\";t.exports={2:\"need dictionary\",1:\"stream end\",0:\"\",\"-1\":\"file error\",\"-2\":\"stream error\",\"-3\":\"data error\",\"-4\":\"insufficient memory\",\"-5\":\"buffer error\",\"-6\":\"incompatible version\"}},{}],52:[function(e,t,r){\"use strict\";var i=e(\"../utils/common\"),o=0,h=1;function n(e){for(var t=e.length;0<=--t;)e[t]=0}var s=0,a=29,u=256,l=u+1+a,f=30,c=19,_=2*l+1,g=15,d=16,p=7,m=256,b=16,v=17,y=18,w=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],k=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],x=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],S=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],z=new Array(2*(l+2));n(z);var C=new Array(2*f);n(C);var E=new Array(512);n(E);var A=new Array(256);n(A);var I=new Array(a);n(I);var O,B,R,T=new Array(f);function D(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}function F(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function N(e){return e<256?E[e]:E[256+(e>>>7)]}function U(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function P(e,t,r){e.bi_valid>d-r?(e.bi_buf|=t<<e.bi_valid&65535,U(e,e.bi_buf),e.bi_buf=t>>d-e.bi_valid,e.bi_valid+=r-d):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function L(e,t,r){P(e,r[2*t],r[2*t+1])}function j(e,t){for(var r=0;r|=1&e,e>>>=1,r<<=1,0<--t;);return r>>>1}function Z(e,t,r){var n,i,s=new Array(g+1),a=0;for(n=1;n<=g;n++)s[n]=a=a+r[n-1]<<1;for(i=0;i<=t;i++){var o=e[2*i+1];0!==o&&(e[2*i]=j(s[o]++,o))}}function W(e){var t;for(t=0;t<l;t++)e.dyn_ltree[2*t]=0;for(t=0;t<f;t++)e.dyn_dtree[2*t]=0;for(t=0;t<c;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*m]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function M(e){8<e.bi_valid?U(e,e.bi_buf):0<e.bi_valid&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function H(e,t,r,n){var i=2*t,s=2*r;return e[i]<e[s]||e[i]===e[s]&&n[t]<=n[r]}function G(e,t,r){for(var n=e.heap[r],i=r<<1;i<=e.heap_len&&(i<e.heap_len&&H(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!H(t,n,e.heap[i],e.depth));)e.heap[r]=e.heap[i],r=i,i<<=1;e.heap[r]=n}function K(e,t,r){var n,i,s,a,o=0;if(0!==e.last_lit)for(;n=e.pending_buf[e.d_buf+2*o]<<8|e.pending_buf[e.d_buf+2*o+1],i=e.pending_buf[e.l_buf+o],o++,0===n?L(e,i,t):(L(e,(s=A[i])+u+1,t),0!==(a=w[s])&&P(e,i-=I[s],a),L(e,s=N(--n),r),0!==(a=k[s])&&P(e,n-=T[s],a)),o<e.last_lit;);L(e,m,t)}function Y(e,t){var r,n,i,s=t.dyn_tree,a=t.stat_desc.static_tree,o=t.stat_desc.has_stree,h=t.stat_desc.elems,u=-1;for(e.heap_len=0,e.heap_max=_,r=0;r<h;r++)0!==s[2*r]?(e.heap[++e.heap_len]=u=r,e.depth[r]=0):s[2*r+1]=0;for(;e.heap_len<2;)s[2*(i=e.heap[++e.heap_len]=u<2?++u:0)]=1,e.depth[i]=0,e.opt_len--,o&&(e.static_len-=a[2*i+1]);for(t.max_code=u,r=e.heap_len>>1;1<=r;r--)G(e,s,r);for(i=h;r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],G(e,s,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,s[2*i]=s[2*r]+s[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,s[2*r+1]=s[2*n+1]=i,e.heap[1]=i++,G(e,s,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,s,a,o,h=t.dyn_tree,u=t.max_code,l=t.stat_desc.static_tree,f=t.stat_desc.has_stree,c=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,p=t.stat_desc.max_length,m=0;for(s=0;s<=g;s++)e.bl_count[s]=0;for(h[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;r<_;r++)p<(s=h[2*h[2*(n=e.heap[r])+1]+1]+1)&&(s=p,m++),h[2*n+1]=s,u<n||(e.bl_count[s]++,a=0,d<=n&&(a=c[n-d]),o=h[2*n],e.opt_len+=o*(s+a),f&&(e.static_len+=o*(l[2*n+1]+a)));if(0!==m){do{for(s=p-1;0===e.bl_count[s];)s--;e.bl_count[s]--,e.bl_count[s+1]+=2,e.bl_count[p]--,m-=2}while(0<m);for(s=p;0!==s;s--)for(n=e.bl_count[s];0!==n;)u<(i=e.heap[--r])||(h[2*i+1]!==s&&(e.opt_len+=(s-h[2*i+1])*h[2*i],h[2*i+1]=s),n--)}}(e,t),Z(s,u,e.bl_count)}function X(e,t,r){var n,i,s=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)i=a,a=t[2*(n+1)+1],++o<h&&i===a||(o<u?e.bl_tree[2*i]+=o:0!==i?(i!==s&&e.bl_tree[2*i]++,e.bl_tree[2*b]++):o<=10?e.bl_tree[2*v]++:e.bl_tree[2*y]++,s=i,u=(o=0)===a?(h=138,3):i===a?(h=6,3):(h=7,4))}function V(e,t,r){var n,i,s=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),n=0;n<=r;n++)if(i=a,a=t[2*(n+1)+1],!(++o<h&&i===a)){if(o<u)for(;L(e,i,e.bl_tree),0!=--o;);else 0!==i?(i!==s&&(L(e,i,e.bl_tree),o--),L(e,b,e.bl_tree),P(e,o-3,2)):o<=10?(L(e,v,e.bl_tree),P(e,o-3,3)):(L(e,y,e.bl_tree),P(e,o-11,7));s=i,u=(o=0)===a?(h=138,3):i===a?(h=6,3):(h=7,4)}}n(T);var q=!1;function J(e,t,r,n){P(e,(s<<1)+(n?1:0),3),function(e,t,r,n){M(e),n&&(U(e,r),U(e,~r)),i.arraySet(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}(e,t,r,!0)}r._tr_init=function(e){q||(function(){var e,t,r,n,i,s=new Array(g+1);for(n=r=0;n<a-1;n++)for(I[n]=r,e=0;e<1<<w[n];e++)A[r++]=n;for(A[r-1]=n,n=i=0;n<16;n++)for(T[n]=i,e=0;e<1<<k[n];e++)E[i++]=n;for(i>>=7;n<f;n++)for(T[n]=i<<7,e=0;e<1<<k[n]-7;e++)E[256+i++]=n;for(t=0;t<=g;t++)s[t]=0;for(e=0;e<=143;)z[2*e+1]=8,e++,s[8]++;for(;e<=255;)z[2*e+1]=9,e++,s[9]++;for(;e<=279;)z[2*e+1]=7,e++,s[7]++;for(;e<=287;)z[2*e+1]=8,e++,s[8]++;for(Z(z,l+1,s),e=0;e<f;e++)C[2*e+1]=5,C[2*e]=j(e,5);O=new D(z,w,u+1,l,g),B=new D(C,k,0,f,g),R=new D(new Array(0),x,0,c,p)}(),q=!0),e.l_desc=new F(e.dyn_ltree,O),e.d_desc=new F(e.dyn_dtree,B),e.bl_desc=new F(e.bl_tree,R),e.bi_buf=0,e.bi_valid=0,W(e)},r._tr_stored_block=J,r._tr_flush_block=function(e,t,r,n){var i,s,a=0;0<e.level?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return o;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return h;for(t=32;t<u;t++)if(0!==e.dyn_ltree[2*t])return h;return o}(e)),Y(e,e.l_desc),Y(e,e.d_desc),a=function(e){var t;for(X(e,e.dyn_ltree,e.l_desc.max_code),X(e,e.dyn_dtree,e.d_desc.max_code),Y(e,e.bl_desc),t=c-1;3<=t&&0===e.bl_tree[2*S[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(s=e.static_len+3+7>>>3)<=i&&(i=s)):i=s=r+5,r+4<=i&&-1!==t?J(e,t,r,n):4===e.strategy||s===i?(P(e,2+(n?1:0),3),K(e,z,C)):(P(e,4+(n?1:0),3),function(e,t,r,n){var i;for(P(e,t-257,5),P(e,r-1,5),P(e,n-4,4),i=0;i<n;i++)P(e,e.bl_tree[2*S[i]+1],3);V(e,e.dyn_ltree,t-1),V(e,e.dyn_dtree,r-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),K(e,e.dyn_ltree,e.dyn_dtree)),W(e),n&&M(e)},r._tr_tally=function(e,t,r){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(A[r]+u+1)]++,e.dyn_dtree[2*N(t)]++),e.last_lit===e.lit_bufsize-1},r._tr_align=function(e){P(e,2,3),L(e,m,z),function(e){16===e.bi_valid?(U(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):8<=e.bi_valid&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},{\"../utils/common\":41}],53:[function(e,t,r){\"use strict\";t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=\"\",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,r){(function(e){!function(r,n){\"use strict\";if(!r.setImmediate){var i,s,t,a,o=1,h={},u=!1,l=r.document,e=Object.getPrototypeOf&&Object.getPrototypeOf(r);e=e&&e.setTimeout?e:r,i=\"[object process]\"==={}.toString.call(r.process)?function(e){process.nextTick(function(){c(e)})}:function(){if(r.postMessage&&!r.importScripts){var e=!0,t=r.onmessage;return r.onmessage=function(){e=!1},r.postMessage(\"\",\"*\"),r.onmessage=t,e}}()?(a=\"setImmediate$\"+Math.random()+\"$\",r.addEventListener?r.addEventListener(\"message\",d,!1):r.attachEvent(\"onmessage\",d),function(e){r.postMessage(a+e,\"*\")}):r.MessageChannel?((t=new MessageChannel).port1.onmessage=function(e){c(e.data)},function(e){t.port2.postMessage(e)}):l&&\"onreadystatechange\"in l.createElement(\"script\")?(s=l.documentElement,function(e){var t=l.createElement(\"script\");t.onreadystatechange=function(){c(e),t.onreadystatechange=null,s.removeChild(t),t=null},s.appendChild(t)}):function(e){setTimeout(c,0,e)},e.setImmediate=function(e){\"function\"!=typeof e&&(e=new Function(\"\"+e));for(var t=new Array(arguments.length-1),r=0;r<t.length;r++)t[r]=arguments[r+1];var n={callback:e,args:t};return h[o]=n,i(o),o++},e.clearImmediate=f}function f(e){delete h[e]}function c(e){if(u)setTimeout(c,0,e);else{var t=h[e];if(t){u=!0;try{!function(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(n,r)}}(t)}finally{f(e),u=!1}}}}function d(e){e.source===r&&\"string\"==typeof e.data&&0===e.data.indexOf(a)&&c(+e.data.slice(a.length))}}(\"undefined\"==typeof self?void 0===e?this:e:self)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}]},{},[10])(10)});","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\nmodule.exports = arrayReduce;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","/**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction asciiToArray(string) {\n return string.split('');\n}\n\nmodule.exports = asciiToArray;\n","/** Used to match words composed of alphanumeric characters. */\nvar reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n/**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction asciiWords(string) {\n return string.match(reAsciiWord) || [];\n}\n\nmodule.exports = asciiWords;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var baseFor = require('./_baseFor'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n}\n\nmodule.exports = baseHas;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n","var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n","var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n","/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = basePropertyOf;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nmodule.exports = baseSlice;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var baseSlice = require('./_baseSlice');\n\n/**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\nfunction castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n}\n\nmodule.exports = castSlice;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var castSlice = require('./_castSlice'),\n hasUnicode = require('./_hasUnicode'),\n stringToArray = require('./_stringToArray'),\n toString = require('./toString');\n\n/**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\nfunction createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n}\n\nmodule.exports = createCaseFirst;\n","var arrayReduce = require('./_arrayReduce'),\n deburr = require('./deburr'),\n words = require('./words');\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\";\n\n/** Used to match apostrophes. */\nvar reApos = RegExp(rsApos, 'g');\n\n/**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\nfunction createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n}\n\nmodule.exports = createCompounder;\n","var basePropertyOf = require('./_basePropertyOf');\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n};\n\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\nvar deburrLetter = basePropertyOf(deburredLetters);\n\nmodule.exports = deburrLetter;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsZWJ = '\\\\u200d';\n\n/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n/**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\nfunction hasUnicode(string) {\n return reHasUnicode.test(string);\n}\n\nmodule.exports = hasUnicode;\n","/** Used to detect strings that need a more robust regexp to match words. */\nvar reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n/**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\nfunction hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n}\n\nmodule.exports = hasUnicodeWord;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","var asciiToArray = require('./_asciiToArray'),\n hasUnicode = require('./_hasUnicode'),\n unicodeToArray = require('./_unicodeToArray');\n\n/**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n}\n\nmodule.exports = stringToArray;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction unicodeToArray(string) {\n return string.match(reUnicode) || [];\n}\n\nmodule.exports = unicodeToArray;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\",\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq;\n\n/** Used to match complex or compound words. */\nvar reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n].join('|'), 'g');\n\n/**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n}\n\nmodule.exports = unicodeWords;\n","var capitalize = require('./capitalize'),\n createCompounder = require('./_createCompounder');\n\n/**\n * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the camel cased string.\n * @example\n *\n * _.camelCase('Foo Bar');\n * // => 'fooBar'\n *\n * _.camelCase('--foo-bar--');\n * // => 'fooBar'\n *\n * _.camelCase('__FOO_BAR__');\n * // => 'fooBar'\n */\nvar camelCase = createCompounder(function(result, word, index) {\n word = word.toLowerCase();\n return result + (index ? capitalize(word) : word);\n});\n\nmodule.exports = camelCase;\n","var toString = require('./toString'),\n upperFirst = require('./upperFirst');\n\n/**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\nfunction capitalize(string) {\n return upperFirst(toString(string).toLowerCase());\n}\n\nmodule.exports = capitalize;\n","var deburrLetter = require('./_deburrLetter'),\n toString = require('./toString');\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboRange + ']';\n\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\nvar reComboMark = RegExp(rsCombo, 'g');\n\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\nfunction deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\nmodule.exports = deburr;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","var baseHas = require('./_baseHas'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\nfunction has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n}\n\nmodule.exports = has;\n","var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","var baseAssignValue = require('./_baseAssignValue'),\n baseForOwn = require('./_baseForOwn'),\n baseIteratee = require('./_baseIteratee');\n\n/**\n * The opposite of `_.mapValues`; this method creates an object with the\n * same values as `object` and keys generated by running each own enumerable\n * string keyed property of `object` thru `iteratee`. The iteratee is invoked\n * with three arguments: (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapValues\n * @example\n *\n * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {\n * return key + value;\n * });\n * // => { 'a1': 1, 'b2': 2 }\n */\nfunction mapKeys(object, iteratee) {\n var result = {};\n iteratee = baseIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, iteratee(value, key, object), value);\n });\n return result;\n}\n\nmodule.exports = mapKeys;\n","var baseAssignValue = require('./_baseAssignValue'),\n baseForOwn = require('./_baseForOwn'),\n baseIteratee = require('./_baseIteratee');\n\n/**\n * Creates an object with the same keys as `object` and values generated\n * by running each own enumerable string keyed property of `object` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapKeys\n * @example\n *\n * var users = {\n * 'fred': { 'user': 'fred', 'age': 40 },\n * 'pebbles': { 'user': 'pebbles', 'age': 1 }\n * };\n *\n * _.mapValues(users, function(o) { return o.age; });\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n *\n * // The `_.property` iteratee shorthand.\n * _.mapValues(users, 'age');\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n */\nfunction mapValues(object, iteratee) {\n var result = {};\n iteratee = baseIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, key, iteratee(value, key, object));\n });\n return result;\n}\n\nmodule.exports = mapValues;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n","var createCompounder = require('./_createCompounder');\n\n/**\n * Converts `string` to\n * [snake case](https://en.wikipedia.org/wiki/Snake_case).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the snake cased string.\n * @example\n *\n * _.snakeCase('Foo Bar');\n * // => 'foo_bar'\n *\n * _.snakeCase('fooBar');\n * // => 'foo_bar'\n *\n * _.snakeCase('--FOO-BAR--');\n * // => 'foo_bar'\n */\nvar snakeCase = createCompounder(function(result, word, index) {\n return result + (index ? '_' : '') + word.toLowerCase();\n});\n\nmodule.exports = snakeCase;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","var createCaseFirst = require('./_createCaseFirst');\n\n/**\n * Converts the first character of `string` to upper case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.upperFirst('fred');\n * // => 'Fred'\n *\n * _.upperFirst('FRED');\n * // => 'FRED'\n */\nvar upperFirst = createCaseFirst('toUpperCase');\n\nmodule.exports = upperFirst;\n","var asciiWords = require('./_asciiWords'),\n hasUnicodeWord = require('./_hasUnicodeWord'),\n toString = require('./toString'),\n unicodeWords = require('./_unicodeWords');\n\n/**\n * Splits `string` into an array of its words.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {RegExp|string} [pattern] The pattern to match words.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the words of `string`.\n * @example\n *\n * _.words('fred, barney, & pebbles');\n * // => ['fred', 'barney', 'pebbles']\n *\n * _.words('fred, barney, & pebbles', /[^, ]+/g);\n * // => ['fred', 'barney', '&', 'pebbles']\n */\nfunction words(string, pattern, guard) {\n string = toString(string);\n pattern = guard ? undefined : pattern;\n\n if (pattern === undefined) {\n return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);\n }\n return string.match(pattern) || [];\n}\n\nmodule.exports = words;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Based on Kendo UI Core expression code <https://github.com/telerik/kendo-ui-core#license-information>\n */\n'use strict'\n\nfunction Cache(maxSize) {\n this._maxSize = maxSize\n this.clear()\n}\nCache.prototype.clear = function () {\n this._size = 0\n this._values = Object.create(null)\n}\nCache.prototype.get = function (key) {\n return this._values[key]\n}\nCache.prototype.set = function (key, value) {\n this._size >= this._maxSize && this.clear()\n if (!(key in this._values)) this._size++\n\n return (this._values[key] = value)\n}\n\nvar SPLIT_REGEX = /[^.^\\]^[]+|(?=\\[\\]|\\.\\.)/g,\n DIGIT_REGEX = /^\\d+$/,\n LEAD_DIGIT_REGEX = /^\\d/,\n SPEC_CHAR_REGEX = /[~`!#$%\\^&*+=\\-\\[\\]\\\\';,/{}|\\\\\":<>\\?]/g,\n CLEAN_QUOTES_REGEX = /^\\s*(['\"]?)(.*?)(\\1)\\s*$/,\n MAX_CACHE_SIZE = 512\n\nvar pathCache = new Cache(MAX_CACHE_SIZE),\n setCache = new Cache(MAX_CACHE_SIZE),\n getCache = new Cache(MAX_CACHE_SIZE)\n\nvar config\n\nmodule.exports = {\n Cache: Cache,\n\n split: split,\n\n normalizePath: normalizePath,\n\n setter: function (path) {\n var parts = normalizePath(path)\n\n return (\n setCache.get(path) ||\n setCache.set(path, function setter(obj, value) {\n var index = 0\n var len = parts.length\n var data = obj\n\n while (index < len - 1) {\n var part = parts[index]\n if (\n part === '__proto__' ||\n part === 'constructor' ||\n part === 'prototype'\n ) {\n return obj\n }\n\n data = data[parts[index++]]\n }\n data[parts[index]] = value\n })\n )\n },\n\n getter: function (path, safe) {\n var parts = normalizePath(path)\n return (\n getCache.get(path) ||\n getCache.set(path, function getter(data) {\n var index = 0,\n len = parts.length\n while (index < len) {\n if (data != null || !safe) data = data[parts[index++]]\n else return\n }\n return data\n })\n )\n },\n\n join: function (segments) {\n return segments.reduce(function (path, part) {\n return (\n path +\n (isQuoted(part) || DIGIT_REGEX.test(part)\n ? '[' + part + ']'\n : (path ? '.' : '') + part)\n )\n }, '')\n },\n\n forEach: function (path, cb, thisArg) {\n forEach(Array.isArray(path) ? path : split(path), cb, thisArg)\n },\n}\n\nfunction normalizePath(path) {\n return (\n pathCache.get(path) ||\n pathCache.set(\n path,\n split(path).map(function (part) {\n return part.replace(CLEAN_QUOTES_REGEX, '$2')\n })\n )\n )\n}\n\nfunction split(path) {\n return path.match(SPLIT_REGEX) || ['']\n}\n\nfunction forEach(parts, iter, thisArg) {\n var len = parts.length,\n part,\n idx,\n isArray,\n isBracket\n\n for (idx = 0; idx < len; idx++) {\n part = parts[idx]\n\n if (part) {\n if (shouldBeQuoted(part)) {\n part = '\"' + part + '\"'\n }\n\n isBracket = isQuoted(part)\n isArray = !isBracket && /^\\d+$/.test(part)\n\n iter.call(thisArg, part, isBracket, isArray, idx, parts)\n }\n }\n}\n\nfunction isQuoted(str) {\n return (\n typeof str === 'string' && str && [\"'\", '\"'].indexOf(str.charAt(0)) !== -1\n )\n}\n\nfunction hasLeadingNumber(part) {\n return part.match(LEAD_DIGIT_REGEX) && !part.match(DIGIT_REGEX)\n}\n\nfunction hasSpecialChars(part) {\n return SPEC_CHAR_REGEX.test(part)\n}\n\nfunction shouldBeQuoted(part) {\n return !isQuoted(part) && (hasLeadingNumber(part) || hasSpecialChars(part))\n}\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var da=new Set,ea={};function fa(a,b){ha(a,b);ha(a+\"Capture\",b)}\nfunction ha(a,b){ea[a]=b;for(a=0;a<b.length;a++)da.add(b[a])}\nvar ia=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,la=\n{},ma={};function oa(a){if(ja.call(ma,a))return!0;if(ja.call(la,a))return!1;if(ka.test(a))return ma[a]=!0;la[a]=!0;return!1}function pa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction qa(a,b,c,d){if(null===b||\"undefined\"===typeof b||pa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1])qa(b,c,e,d)&&(c=null),d||null===e?oa(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c)))}\nvar ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for(\"react.element\"),wa=Symbol.for(\"react.portal\"),ya=Symbol.for(\"react.fragment\"),za=Symbol.for(\"react.strict_mode\"),Aa=Symbol.for(\"react.profiler\"),Ba=Symbol.for(\"react.provider\"),Ca=Symbol.for(\"react.context\"),Da=Symbol.for(\"react.forward_ref\"),Ea=Symbol.for(\"react.suspense\"),Fa=Symbol.for(\"react.suspense_list\"),Ga=Symbol.for(\"react.memo\"),Ha=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");\nvar Ia=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var Ja=Symbol.iterator;function Ka(a){if(null===a||\"object\"!==typeof a)return null;a=Ja&&a[Ja]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var A=Object.assign,La;function Ma(a){if(void 0===La)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||\"\"}return\"\\n\"+La+a}var Na=!1;\nfunction Oa(a,b){if(!a||Na)return\"\";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error();}catch(l){d=l}a()}}catch(l){if(l&&d&&\"string\"===typeof l.stack){for(var e=l.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"<anonymous>\")&&(k=k.replace(\"<anonymous>\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));return A({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(p(92));if(eb(c)){if(1<c.length)throw Error(p(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}function kb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nfunction lb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?kb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar mb,nb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(\"http://www.w3.org/2000/svg\"!==a.namespaceURI||\"innerHTML\"in a)a.innerHTML=b;else{mb=mb||document.createElement(\"div\");mb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{if(Ib=!1,null!==zb||null!==Ab)Hb(),Fb()}}\nfunction Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,\"passive\",{get:function(){Lb=!0}});window.addEventListener(\"test\",Mb,Mb);window.removeEventListener(\"test\",Mb,Mb)}catch(a){Lb=!1}function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0;Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1;Pb=null;Nb.apply(Sb,arguments)}\nfunction Ub(a,b,c,d,e,f,g,h,k){Tb.apply(this,arguments);if(Ob){if(Ob){var l=Pb;Ob=!1;Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Wb(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Xb(a){if(Vb(a)!==a)throw Error(p(188));}\nfunction Yb(a){var b=a.alternate;if(!b){b=Vb(a);if(null===b)throw Error(p(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(p(189));}}if(c.alternate!==d)throw Error(p(190));}if(3!==c.tag)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){a=Yb(a);return null!==a?$b(a):null}function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=$b(a);if(null!==b)return b;a=a.sibling}return null}\nvar ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(a){if(lc&&\"function\"===typeof lc.onCommitFiberRoot)try{lc.onCommitFiberRoot(kc,a,void 0,128===(a.current.flags&128))}catch(b){}}\nvar oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(a){a>>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-oc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction vc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return b+5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}\nfunction wc(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-oc(f),h=1<<g,k=e[g];if(-1===k){if(0===(h&c)||0!==(h&d))e[g]=vc(h,b)}else k<=b&&(a.expiredLanes|=h);f&=~h}}function xc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function yc(){var a=rc;rc<<=1;0===(rc&4194240)&&(rc=64);return a}function zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0<c;){var e=31-oc(c),f=1<<e;b[e]=0;d[e]=-1;a[e]=-1;c&=~f}}\nfunction Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-oc(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b);c&=~e}}var C=0;function Dc(a){a&=-a;return 1<a?4<a?0!==(a&268435455)?16:536870912:4:1}var Ec,Fc,Gc,Hc,Ic,Jc=!1,Kc=[],Lc=null,Mc=null,Nc=null,Oc=new Map,Pc=new Map,Qc=[],Rc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction Sc(a,b){switch(a){case \"focusin\":case \"focusout\":Lc=null;break;case \"dragenter\":case \"dragleave\":Mc=null;break;case \"mouseover\":case \"mouseout\":Nc=null;break;case \"pointerover\":case \"pointerout\":Oc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Pc.delete(b.pointerId)}}\nfunction Tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},null!==b&&(b=Cb(b),null!==b&&Fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction Uc(a,b,c,d,e){switch(b){case \"focusin\":return Lc=Tc(Lc,a,b,c,d,e),!0;case \"dragenter\":return Mc=Tc(Mc,a,b,c,d,e),!0;case \"mouseover\":return Nc=Tc(Nc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Oc.set(f,Tc(Oc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Pc.set(f,Tc(Pc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Vc(a){var b=Wc(a.target);if(null!==b){var c=Vb(b);if(null!==c)if(b=c.tag,13===b){if(b=Wb(c),null!==b){a.blockedOn=b;Ic(a.priority,function(){Gc(c)});return}}else if(3===b&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction Xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=Yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null===c){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d;c.target.dispatchEvent(d);wb=null}else return b=Cb(c),null!==b&&Fc(b),a.blockedOn=c,!1;b.shift()}return!0}function Zc(a,b,c){Xc(a)&&c.delete(b)}function $c(){Jc=!1;null!==Lc&&Xc(Lc)&&(Lc=null);null!==Mc&&Xc(Mc)&&(Mc=null);null!==Nc&&Xc(Nc)&&(Nc=null);Oc.forEach(Zc);Pc.forEach(Zc)}\nfunction ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstable_scheduleCallback(ca.unstable_NormalPriority,$c)))}\nfunction bd(a){function b(b){return ad(b,a)}if(0<Kc.length){ad(Kc[0],a);for(var c=1;c<Kc.length;c++){var d=Kc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Lc&&ad(Lc,a);null!==Mc&&ad(Mc,a);null!==Nc&&ad(Nc,a);Oc.forEach(b);Pc.forEach(b);for(c=0;c<Qc.length;c++)d=Qc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Qc.length&&(c=Qc[0],null===c.blockedOn);)Vc(c),null===c.blockedOn&&Qc.shift()}var cd=ua.ReactCurrentBatchConfig,dd=!0;\nfunction ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,fd(a,b,c,d)}finally{C=e,cd.transition=f}}\nfunction fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(null===e)hd(a,b,d,id,c),Sc(a,d);else if(Uc(e,a,b,c,d))d.stopPropagation();else if(Sc(a,d),b&4&&-1<Rc.indexOf(a)){for(;null!==e;){var f=Cb(e);null!==f&&Ec(f);f=Yc(a,b,c,d);null===f&&hd(a,b,d,id,c);if(f===e)break;e=f}null!==e&&d.stopPropagation()}else hd(a,b,d,null,c)}}var id=null;\nfunction Yc(a,b,c,d){id=null;a=xb(d);a=Wc(a);if(null!==a)if(b=Vb(a),null===b)a=null;else if(c=b.tag,13===c){a=Wb(b);if(null!==a)return a;a=null}else if(3===c){if(b.stateNode.current.memoizedState.isDehydrated)return 3===b.tag?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);id=a;return null}\nfunction jd(a){switch(a){case \"cancel\":case \"click\":case \"close\":case \"contextmenu\":case \"copy\":case \"cut\":case \"auxclick\":case \"dblclick\":case \"dragend\":case \"dragstart\":case \"drop\":case \"focusin\":case \"focusout\":case \"input\":case \"invalid\":case \"keydown\":case \"keypress\":case \"keyup\":case \"mousedown\":case \"mouseup\":case \"paste\":case \"pause\":case \"play\":case \"pointercancel\":case \"pointerdown\":case \"pointerup\":case \"ratechange\":case \"reset\":case \"resize\":case \"seeked\":case \"submit\":case \"touchcancel\":case \"touchend\":case \"touchstart\":case \"volumechange\":case \"change\":case \"selectionchange\":case \"textInput\":case \"compositionstart\":case \"compositionend\":case \"compositionupdate\":case \"beforeblur\":case \"afterblur\":case \"beforeinput\":case \"blur\":case \"fullscreenchange\":case \"focus\":case \"hashchange\":case \"popstate\":case \"select\":case \"selectstart\":return 1;case \"drag\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"mousemove\":case \"mouseout\":case \"mouseover\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"scroll\":case \"toggle\":case \"touchmove\":case \"wheel\":case \"mouseenter\":case \"mouseleave\":case \"pointerenter\":case \"pointerleave\":return 4;\ncase \"message\":switch(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var kd=null,ld=null,md=null;function nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}\nfunction od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}A(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=A({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=A({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=A({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=A({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=A({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=A({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=A({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=A({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=A({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=A({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=A({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=A({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=ia&&\"CompositionEvent\"in window,be=null;ia&&\"documentMode\"in document&&(be=document.documentMode);var ce=ia&&\"TextEvent\"in window&&!be,de=ia&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(ia){var xe;if(ia){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));Jb(re,b)}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge;\nfunction Ie(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!He(a[e],b[e]))return!1}return!0}function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ke(a,b){var c=Je(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}\nvar Pe=ia&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nfunction Ve(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var We={animationend:Ve(\"Animation\",\"AnimationEnd\"),animationiteration:Ve(\"Animation\",\"AnimationIteration\"),animationstart:Ve(\"Animation\",\"AnimationStart\"),transitionend:Ve(\"Transition\",\"TransitionEnd\")},Xe={},Ye={};\nia&&(Ye=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),\"TransitionEvent\"in window||delete We.transitionend.transition);function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var b=We[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Ye)return Xe[a]=b[c];return a}var $e=Ze(\"animationend\"),af=Ze(\"animationiteration\"),bf=Ze(\"animationstart\"),cf=Ze(\"transitionend\"),df=new Map,ef=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");\nfunction ff(a,b){df.set(a,b);fa(b,[a])}for(var gf=0;gf<ef.length;gf++){var hf=ef[gf],jf=hf.toLowerCase(),kf=hf[0].toUpperCase()+hf.slice(1);ff(jf,\"on\"+kf)}ff($e,\"onAnimationEnd\");ff(af,\"onAnimationIteration\");ff(bf,\"onAnimationStart\");ff(\"dblclick\",\"onDoubleClick\");ff(\"focusin\",\"onFocus\");ff(\"focusout\",\"onBlur\");ff(cf,\"onTransitionEnd\");ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);\nha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var lf=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),mf=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(lf));\nfunction nf(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Ub(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a;}\nfunction D(a,b){var c=b[of];void 0===c&&(c=b[of]=new Set);var d=a+\"__bubble\";c.has(d)||(pf(b,a,2,!1),c.add(d))}function qf(a,b,c){var d=0;b&&(d|=4);pf(c,a,d,b)}var rf=\"_reactListening\"+Math.random().toString(36).slice(2);function sf(a){if(!a[rf]){a[rf]=!0;da.forEach(function(b){\"selectionchange\"!==b&&(mf.has(b)||qf(b,!1,a),qf(b,!0,a))});var b=9===a.nodeType?a:a.ownerDocument;null===b||b[rf]||(b[rf]=!0,qf(\"selectionchange\",!1,b))}}\nfunction pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;break;default:e=fd}c=e.bind(null,b,c,a);e=void 0;!Lb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction hd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d=f,e=xb(c),g=[];\na:{var h=df.get(a);if(void 0!==h){var k=td,n=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":n=\"focus\";k=Fd;break;case \"focusout\":n=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case $e:case af:case bf:k=Hd;break;case cf:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var t=0!==(b&4),J=!t&&\"scroll\"===a,x=t?null!==h?h+\"Capture\":null:h;t=[];for(var w=d,u;null!==\nw;){u=w;var F=u.stateNode;5===u.tag&&null!==F&&(u=F,null!==x&&(F=Kb(w,x),null!=F&&t.push(tf(w,F,u))));if(J)break;w=w.return}0<t.length&&(h=new k(h,n,null,c,e),g.push({event:h,listeners:t}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&c!==wb&&(n=c.relatedTarget||c.fromElement)&&(Wc(n)||n[uf]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(n=c.relatedTarget||c.toElement,k=d,n=n?Wc(n):null,null!==\nn&&(J=Vb(n),n!==J||5!==n.tag&&6!==n.tag))n=null}else k=null,n=d;if(k!==n){t=Bd;F=\"onMouseLeave\";x=\"onMouseEnter\";w=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)t=Td,F=\"onPointerLeave\",x=\"onPointerEnter\",w=\"pointer\";J=null==k?h:ue(k);u=null==n?h:ue(n);h=new t(F,w+\"leave\",k,c,e);h.target=J;h.relatedTarget=u;F=null;Wc(e)===d&&(t=new t(x,w+\"enter\",n,c,e),t.target=u,t.relatedTarget=J,F=t);J=F;if(k&&n)b:{t=k;x=n;w=0;for(u=t;u;u=vf(u))w++;u=0;for(F=x;F;F=vf(F))u++;for(;0<w-u;)t=vf(t),w--;for(;0<u-w;)x=\nvf(x),u--;for(;w--;){if(t===x||null!==x&&t===x.alternate)break b;t=vf(t);x=vf(x)}t=null}else t=null;null!==k&&wf(g,h,k,t,!1);null!==n&&null!==J&&wf(g,J,n,t,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var na=ve;else if(me(h))if(we)na=Fe;else{na=De;var xa=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(na=Ee);if(na&&(na=na(a,d))){ne(g,na,c,e);break a}xa&&xa(a,h,d);\"focusout\"===a&&(xa=h._wrapperState)&&\nxa.controlled&&\"number\"===h.type&&cb(h,\"number\",h.value)}xa=d?ue(d):window;switch(a){case \"focusin\":if(me(xa)||\"true\"===xa.contentEditable)Qe=xa,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var $a;if(ae)b:{switch(a){case \"compositionstart\":var ba=\"onCompositionStart\";break b;case \"compositionend\":ba=\"onCompositionEnd\";\nbreak b;case \"compositionupdate\":ba=\"onCompositionUpdate\";break b}ba=void 0}else ie?ge(a,c)&&(ba=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(ba=\"onCompositionStart\");ba&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==ba?\"onCompositionEnd\"===ba&&ie&&($a=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),xa=oe(d,ba),0<xa.length&&(ba=new Ld(ba,a,null,c,e),g.push({event:ba,listeners:xa}),$a?ba.data=$a:($a=he(c),null!==$a&&(ba.data=$a))));if($a=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),\n0<d.length&&(e=new Ld(\"onBeforeInput\",\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=$a)}se(g,b)})}function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Kb(a,c),null!=f&&d.unshift(tf(a,f,e)),f=Kb(a,b),null!=f&&d.push(tf(a,f,e)));a=a.return}return d}function vf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction wf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Kb(c,f),null!=k&&g.unshift(tf(c,k,h))):e||(k=Kb(c,f),null!=k&&g.push(tf(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}var xf=/\\r\\n?/g,yf=/\\u0000|\\uFFFD/g;function zf(a){return(\"string\"===typeof a?a:\"\"+a).replace(xf,\"\\n\").replace(yf,\"\")}function Af(a,b,c){b=zf(b);if(zf(a)!==b&&c)throw Error(p(425));}function Bf(){}\nvar Cf=null,Df=null;function Ef(a,b){return\"textarea\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}\nvar Ff=\"function\"===typeof setTimeout?setTimeout:void 0,Gf=\"function\"===typeof clearTimeout?clearTimeout:void 0,Hf=\"function\"===typeof Promise?Promise:void 0,Jf=\"function\"===typeof queueMicrotask?queueMicrotask:\"undefined\"!==typeof Hf?function(a){return Hf.resolve(null).then(a).catch(If)}:Ff;function If(a){setTimeout(function(){throw a;})}\nfunction Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;a.removeChild(c);if(e&&8===e.nodeType)if(c=e.data,\"/$\"===c){if(0===d){a.removeChild(e);bd(b);return}d--}else\"$\"!==c&&\"$?\"!==c&&\"$!\"!==c||d++;c=e}while(c);bd(b)}function Lf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;if(8===b){b=a.data;if(\"$\"===b||\"$!\"===b||\"$?\"===b)break;if(\"/$\"===b)return null}}return a}\nfunction Mf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var Nf=Math.random().toString(36).slice(2),Of=\"__reactFiber$\"+Nf,Pf=\"__reactProps$\"+Nf,uf=\"__reactContainer$\"+Nf,of=\"__reactEvents$\"+Nf,Qf=\"__reactListeners$\"+Nf,Rf=\"__reactHandles$\"+Nf;\nfunction Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b=c[uf]||c[Of]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Mf(a);null!==a;){if(c=a[Of])return c;a=Mf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[Of]||a[uf];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(33));}function Db(a){return a[Pf]||null}var Sf=[],Tf=-1;function Uf(a){return{current:a}}\nfunction E(a){0>Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a<c.length;a++){var d=c[a];do d=d(!0);while(null!==d)}eg=null;fg=!1}catch(e){throw null!==eg&&(eg=eg.slice(a+1)),ac(fc,jg),e;}finally{C=b,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg=\"\";function tg(a,b){kg[lg++]=ng;kg[lg++]=mg;mg=a;ng=b}\nfunction ug(a,b,c){og[pg++]=rg;og[pg++]=sg;og[pg++]=qg;qg=a;var d=rg;a=sg;var e=32-oc(d)-1;d&=~(1<<e);c+=1;var f=32-oc(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32);d>>=g;e-=g;rg=1<<32-oc(b)+e|c<<e|d;sg=f+a}else rg=1<<f|c<<e|d,sg=a}function vg(a){null!==a.return&&(tg(a,1),ug(a,1,0))}function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;a===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;\nfunction Ag(a,b){var c=Bg(5,null,null,0);c.elementType=\"DELETED\";c.stateNode=b;c.return=a;b=a.deletions;null===b?(a.deletions=[c],a.flags|=16):b.push(c)}\nfunction Cg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,xg=a,yg=Lf(b.firstChild),!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,xg=a,yg=null,!0):!1;case 13:return b=8!==b.nodeType?null:b,null!==b?(c=null!==qg?{id:rg,overflow:sg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Bg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,xg=a,yg=\nnull,!0):!1;default:return!1}}function Dg(a){return 0!==(a.mode&1)&&0===(a.flags&128)}function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw Error(p(418));b=Lf(c.nextSibling);var d=xg;b&&Cg(a,b)?Ag(d,c):(a.flags=a.flags&-4097|2,I=!1,xg=a)}}else{if(Dg(a))throw Error(p(418));a.flags=a.flags&-4097|2;I=!1;xg=a}}}function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;xg=a}\nfunction Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;(b=3!==a.tag)&&!(b=5!==a.tag)&&(b=a.type,b=\"head\"!==b&&\"body\"!==b&&!Ef(a.type,a.memoizedProps));if(b&&(b=yg)){if(Dg(a))throw Hg(),Error(p(418));for(;b;)Ag(a,b),b=Lf(b.nextSibling)}Fg(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(p(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){yg=Lf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}yg=\nnull}}else yg=xg?Lf(a.stateNode.nextSibling):null;return!0}function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}function Ig(){yg=xg=null;I=!1}function Jg(a){null===zg?zg=[a]:zg.push(a)}var Kg=ua.ReactCurrentBatchConfig;\nfunction Lg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===f)return b.ref;b=function(a){var b=e.refs;null===a?delete b[f]:b[f]=a};b._stringRef=f;return b}if(\"string\"!==typeof a)throw Error(p(284));if(!c._owner)throw Error(p(290,a));}return a}\nfunction Mg(a,b){a=Object.prototype.toString.call(b);throw Error(p(31,\"[object Object]\"===a?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":a));}function Ng(a){var b=a._init;return b(a._payload)}\nfunction Og(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.deletions=[c],b.flags|=16):d.push(c)}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Pg(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return b.flags|=1048576,c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags|=2,c):d;b.flags|=2;return c}function g(b){a&&\nnull===b.alternate&&(b.flags|=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Qg(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){var f=c.type;if(f===ya)return m(a,b,c.props.children,d,c.key);if(null!==b&&(b.elementType===f||\"object\"===typeof f&&null!==f&&f.$$typeof===Ha&&Ng(f)===b.type))return d=e(b,c.props),d.ref=Lg(a,b,c),d.return=a,d;d=Rg(c.type,c.key,c.props,null,a.mode,d);d.ref=Lg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||\nb.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=Sg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Tg(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function q(a,b,c){if(\"string\"===typeof b&&\"\"!==b||\"number\"===typeof b)return b=Qg(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case va:return c=Rg(b.type,b.key,b.props,null,a.mode,c),\nc.ref=Lg(a,null,b),c.return=a,c;case wa:return b=Sg(b,a.mode,c),b.return=a,b;case Ha:var d=b._init;return q(a,d(b._payload),c)}if(eb(b)||Ka(b))return b=Tg(b,a.mode,c,null),b.return=a,b;Mg(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c&&\"\"!==c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case va:return c.key===e?k(a,b,c,d):null;case wa:return c.key===e?l(a,b,c,d):null;case Ha:return e=c._init,r(a,\nb,e(c._payload),d)}if(eb(c)||Ka(c))return null!==e?null:m(a,b,c,d,null);Mg(a,c)}return null}function y(a,b,c,d,e){if(\"string\"===typeof d&&\"\"!==d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case va:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e);case wa:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);case Ha:var f=d._init;return y(a,b,c,f(d._payload),e)}if(eb(d)||Ka(d))return a=a.get(c)||null,m(b,a,d,e,null);Mg(b,d)}return null}\nfunction n(e,g,h,k){for(var l=null,m=null,u=g,w=g=0,x=null;null!==u&&w<h.length;w++){u.index>w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;w<h.length;w++)u=q(e,h[w],k),null!==u&&(g=f(u,g,w),null===m?l=u:m.sibling=u,m=u);I&&tg(e,w);return l}for(u=d(e,u);w<h.length;w++)x=y(u,e,w,h[w],k),null!==x&&(a&&null!==x.alternate&&u.delete(null===\nx.key?w:x.key),g=f(x,g,w),null===m?l=x:m.sibling=x,m=x);a&&u.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function t(e,g,h,k){var l=Ka(h);if(\"function\"!==typeof l)throw Error(p(150));h=l.call(h);if(null==h)throw Error(p(151));for(var u=l=null,m=g,w=g=0,x=null,n=h.next();null!==m&&!n.done;w++,n=h.next()){m.index>w?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(p(191,e));e.call(d)}}}var th={},uh=Uf(th),vh=Uf(th),wh=Uf(th);function xh(a){if(a===th)throw Error(p(174));return a}\nfunction yh(a,b){G(wh,b);G(vh,a);G(uh,th);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(uh);G(uh,b)}function zh(){E(uh);E(vh);E(wh)}function Ah(a){xh(wh.current);var b=xh(uh.current);var c=lb(b,a.type);b!==c&&(G(vh,a),G(uh,c))}function Bh(a){vh.current===a&&(E(uh),E(vh))}var L=Uf(0);\nfunction Ch(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Dh=[];\nfunction Eh(){for(var a=0;a<Dh.length;a++)Dh[a]._workInProgressVersionPrimary=null;Dh.length=0}var Fh=ua.ReactCurrentDispatcher,Gh=ua.ReactCurrentBatchConfig,Hh=0,M=null,N=null,O=null,Ih=!1,Jh=!1,Kh=0,Lh=0;function P(){throw Error(p(321));}function Mh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Nh(a,b,c,d,e,f){Hh=f;M=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;Fh.current=null===a||null===a.memoizedState?Oh:Ph;a=c(d,e);if(Jh){f=0;do{Jh=!1;Kh=0;if(25<=f)throw Error(p(301));f+=1;O=N=null;b.updateQueue=null;Fh.current=Qh;a=c(d,e)}while(Jh)}Fh.current=Rh;b=null!==N&&null!==N.next;Hh=0;O=N=M=null;Ih=!1;if(b)throw Error(p(300));return a}function Sh(){var a=0!==Kh;Kh=0;return a}\nfunction Th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===O?M.memoizedState=O=a:O=O.next=a;return O}function Uh(){if(null===N){var a=M.alternate;a=null!==a?a.memoizedState:null}else a=N.next;var b=null===O?M.memoizedState:O.next;if(null!==b)O=b,N=a;else{if(null===a)throw Error(p(310));N=a;a={memoizedState:N.memoizedState,baseState:N.baseState,baseQueue:N.baseQueue,queue:N.queue,next:null};null===O?M.memoizedState=O=a:O=O.next=a}return O}\nfunction Vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Wh(a){var b=Uh(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=N,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){f=e.next;d=d.baseState;var h=g=null,k=null,l=f;do{var m=l.lane;if((Hh&m)===m)null!==k&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:m,action:l.action,hasEagerState:l.hasEagerState,\neagerState:l.eagerState,next:null};null===k?(h=k=q,g=d):k=k.next=q;M.lanes|=m;rh|=m}l=l.next}while(null!==l&&l!==f);null===k?g=d:k.next=h;He(d,b.memoizedState)||(dh=!0);b.memoizedState=d;b.baseState=g;b.baseQueue=k;c.lastRenderedState=d}a=c.interleaved;if(null!==a){e=a;do f=e.lane,M.lanes|=f,rh|=f,e=e.next;while(e!==a)}else null===e&&(c.lanes=0);return[b.memoizedState,c.dispatch]}\nfunction Xh(a){var b=Uh(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(dh=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function Yh(){}\nfunction Zh(a,b){var c=M,d=Uh(),e=b(),f=!He(d.memoizedState,e);f&&(d.memoizedState=e,dh=!0);d=d.queue;$h(ai.bind(null,c,d,a),[a]);if(d.getSnapshot!==b||f||null!==O&&O.memoizedState.tag&1){c.flags|=2048;bi(9,ci.bind(null,c,d,e,b),void 0,null);if(null===Q)throw Error(p(349));0!==(Hh&30)||di(c,b,e)}return e}function di(a,b,c){a.flags|=16384;a={getSnapshot:b,value:c};b=M.updateQueue;null===b?(b={lastEffect:null,stores:null},M.updateQueue=b,b.stores=[a]):(c=b.stores,null===c?b.stores=[a]:c.push(a))}\nfunction ci(a,b,c,d){b.value=c;b.getSnapshot=d;ei(b)&&fi(a)}function ai(a,b,c){return c(function(){ei(b)&&fi(a)})}function ei(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c)}catch(d){return!0}}function fi(a){var b=ih(a,1);null!==b&&gi(b,a,1,-1)}\nfunction hi(a){var b=Th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Vh,lastRenderedState:a};b.queue=a;a=a.dispatch=ii.bind(null,M,a);return[b.memoizedState,a]}\nfunction bi(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=M.updateQueue;null===b?(b={lastEffect:null,stores:null},M.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function ji(){return Uh().memoizedState}function ki(a,b,c,d){var e=Th();M.flags|=a;e.memoizedState=bi(1|b,c,void 0,void 0===d?null:d)}\nfunction li(a,b,c,d){var e=Uh();d=void 0===d?null:d;var f=void 0;if(null!==N){var g=N.memoizedState;f=g.destroy;if(null!==d&&Mh(d,g.deps)){e.memoizedState=bi(b,c,f,d);return}}M.flags|=a;e.memoizedState=bi(1|b,c,f,d)}function mi(a,b){return ki(8390656,8,a,b)}function $h(a,b){return li(2048,8,a,b)}function ni(a,b){return li(4,2,a,b)}function oi(a,b){return li(4,4,a,b)}\nfunction pi(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function qi(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return li(4,4,pi.bind(null,b,a),c)}function ri(){}function si(a,b){var c=Uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Mh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction ti(a,b){var c=Uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Mh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function ui(a,b,c){if(0===(Hh&21))return a.baseState&&(a.baseState=!1,dh=!0),a.memoizedState=c;He(c,b)||(c=yc(),M.lanes|=c,rh|=c,a.baseState=!0);return b}function vi(a,b){var c=C;C=0!==c&&4>c?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0<c&&(b+=\"H\"+c.toString(32));b+=\":\"}else c=Lh++,b=\":\"+b+\"r\"+c.toString(32)+\":\";return a.memoizedState=b},unstable_isNewReconciler:!1},Ph={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Wh,useRef:ji,useState:function(){return Wh(Vh)},\nuseDebugValue:ri,useDeferredValue:function(a){var b=Uh();return ui(b,N.memoizedState,a)},useTransition:function(){var a=Wh(Vh)[0],b=Uh().memoizedState;return[a,b]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1},Qh={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Xh,useRef:ji,useState:function(){return Xh(Vh)},useDebugValue:ri,useDeferredValue:function(a){var b=Uh();return null===\nN?b.memoizedState=a:ui(b,N.memoizedState,a)},useTransition:function(){var a=Xh(Vh)[0],b=Uh().memoizedState;return[a,b]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1};function Ci(a,b){if(a&&a.defaultProps){b=A({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}function Di(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:A({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar Ei={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=R(),e=yi(a),f=mh(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=nh(a,f,e);null!==b&&(gi(b,a,e,d),oh(b,a,e))},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=R(),e=yi(a),f=mh(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=nh(a,f,e);null!==b&&(gi(b,a,e,d),oh(b,a,e))},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=R(),d=\nyi(a),e=mh(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);b=nh(a,e,d);null!==b&&(gi(b,a,d,c),oh(b,a,d))}};function Fi(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Ie(c,d)||!Ie(e,f):!0}\nfunction Gi(a,b,c){var d=!1,e=Vf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=eh(f):(e=Zf(b)?Xf:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Yf(a,e):Vf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Ei;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Hi(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Ei.enqueueReplaceState(b,b.state,null)}\nfunction Ii(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs={};kh(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=eh(f):(f=Zf(b)?Xf:H.current,e.context=Yf(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(Di(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||(b=e.state,\n\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Ei.enqueueReplaceState(e,e.state,null),qh(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4194308)}function Ji(a,b){try{var c=\"\",d=b;do c+=Pa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e,digest:null}}\nfunction Ki(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}function Li(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Mi=\"function\"===typeof WeakMap?WeakMap:Map;function Ni(a,b,c){c=mh(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Oi||(Oi=!0,Pi=d);Li(a,b)};return c}\nfunction Qi(a,b,c){c=mh(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){return d(e)};c.callback=function(){Li(a,b)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){Li(a,b);\"function\"!==typeof d&&(null===Ri?Ri=new Set([this]):Ri.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nfunction Si(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new Mi;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ti.bind(null,a,b,c),b.then(a,a))}function Ui(a){do{var b;if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}\nfunction Vi(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=mh(-1,1),b.tag=2,nh(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}var Wi=ua.ReactCurrentOwner,dh=!1;function Xi(a,b,c,d){b.child=null===a?Vg(b,null,c,d):Ug(b,a.child,c,d)}\nfunction Yi(a,b,c,d,e){c=c.render;var f=b.ref;ch(b,e);d=Nh(a,b,c,d,f,e);c=Sh();if(null!==a&&!dh)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e);I&&c&&vg(b);b.flags|=1;Xi(a,b,d,e);return b.child}\nfunction $i(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!aj(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,bj(a,b,f,d,e);a=Rg(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:Ie;if(c(g,d)&&a.ref===b.ref)return Zi(a,b,e)}b.flags|=1;a=Pg(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction bj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(dh=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(dh=!0);else return b.lanes=a.lanes,Zi(a,b,e)}return cj(a,b,c,d,e)}\nfunction dj(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(ej,fj),fj|=c;else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(ej,fj),fj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;G(ej,fj);fj|=d}else null!==\nf?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(ej,fj),fj|=d;Xi(a,b,e,c);return b.child}function gj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function cj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;f=Yf(b,f);ch(b,e);c=Nh(a,b,c,d,f,e);d=Sh();if(null!==a&&!dh)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e);I&&d&&vg(b);b.flags|=1;Xi(a,b,c,e);return b.child}\nfunction hj(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;ch(b,e);if(null===b.stateNode)ij(a,b),Gi(b,c,d),Ii(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=eh(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;q||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||\n(h!==d||k!==l)&&Hi(b,g,d,l);jh=!1;var r=b.memoizedState;g.state=r;qh(b,d,g,e);k=b.memoizedState;h!==d||r!==k||Wf.current||jh?(\"function\"===typeof m&&(Di(b,c,m,d),k=b.memoizedState),(h=jh||Fi(b,c,h,d,r,k,l))?(q||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&(b.flags|=4194308)):\n(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;lh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:Ci(b.type,h);g.props=l;q=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=eh(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=\"function\"===typeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\n\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==q||r!==k)&&Hi(b,g,d,k);jh=!1;r=b.memoizedState;g.state=r;qh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||jh?(\"function\"===typeof y&&(Di(b,c,y,d),n=b.memoizedState),(l=jh||Fi(b,c,l,d,r,n,k)||!1)?(m||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,n,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&\ng.UNSAFE_componentWillUpdate(d,n,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===\na.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return jj(a,b,c,d,f,e)}\nfunction jj(a,b,c,d,e,f){gj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&dg(b,c,!1),Zi(a,b,f);d=b.stateNode;Wi.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Ug(b,a.child,null,f),b.child=Ug(b,null,h,f)):Xi(a,b,h,f);b.memoizedState=d.state;e&&dg(b,c,!0);return b.child}function kj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1);yh(a,b.containerInfo)}\nfunction lj(a,b,c,d,e){Ig();Jg(e);b.flags|=256;Xi(a,b,c,d);return b.child}var mj={dehydrated:null,treeContext:null,retryLane:0};function nj(a){return{baseLanes:a,cachePool:null,transitions:null}}\nfunction oj(a,b,c){var d=b.pendingProps,e=L.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(L,e&1);if(null===a){Eg(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:\"hidden\",children:g},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ng):f=pj(g,d,0,null),a=Tg(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=nj(c),b.memoizedState=mj,a):qj(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return rj(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:\"hidden\",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=Pg(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=Pg(h,f):(f=Tg(f,g,c,null),f.flags|=2);f.return=\nb;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?nj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=mj;return d}f=a.child;a=f.sibling;d=Pg(f,{mode:\"visible\",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d}\nfunction qj(a,b){b=pj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function sj(a,b,c,d){null!==d&&Jg(d);Ug(b,a.child,null,c);a=qj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction rj(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=Ki(Error(p(422))),sj(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=pj({mode:\"visible\",children:d.children},e,0,null);f=Tg(f,e,g,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Ug(b,a.child,null,g);b.child.memoizedState=nj(g);b.memoizedState=mj;return f}if(0===(b.mode&1))return sj(a,b,g,null);if(\"$!\"===e.data){d=e.nextSibling&&e.nextSibling.dataset;\nif(d)var h=d.dgst;d=h;f=Error(p(419));d=Ki(f,d,void 0);return sj(a,b,g,d)}h=0!==(g&a.childLanes);if(dh||h){d=Q;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e=32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;\n0!==e&&e!==f.retryLane&&(f.retryLane=e,ih(a,e),gi(d,a,e,-1))}tj();d=Ki(Error(p(421)));return sj(a,b,g,d)}if(\"$?\"===e.data)return b.flags|=128,b.child=a.child,b=uj.bind(null,a),e._reactRetry=b,null;a=f.treeContext;yg=Lf(e.nextSibling);xg=b;I=!0;zg=null;null!==a&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b);b=qj(b,d.children);b.flags|=4096;return b}function vj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);bh(a.return,b,c)}\nfunction wj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction xj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;Xi(a,b,d.children,c);d=L.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&vj(a,c,b);else if(19===a.tag)vj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(L,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Ch(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);wj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Ch(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}wj(b,!0,c,null,f);break;case \"together\":wj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction ij(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function Zi(a,b,c){null!==a&&(b.dependencies=a.dependencies);rh|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=Pg(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Pg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction yj(a,b,c){switch(b.tag){case 3:kj(b);Ig();break;case 5:Ah(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:yh(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Wg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(L,L.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return oj(a,b,c);G(L,L.current&1);a=Zi(a,b,c);return null!==a?a.sibling:null}G(L,L.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return xj(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(L,L.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,dj(a,b,c)}return Zi(a,b,c)}var zj,Aj,Bj,Cj;\nzj=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Aj=function(){};\nBj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;xh(uh.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"select\":e=A({},e,{value:void 0});d=A({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===l){var h=e[l];for(g in h)h.hasOwnProperty(g)&&\n(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,\nc)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ea.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&D(\"scroll\",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",c);var l=f;if(b.updateQueue=l)b.flags|=4}};Cj=function(a,b,c,d){c!==d&&(b.flags|=4)};\nfunction Dj(a,b){if(!I)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}\nfunction Ej(a,b,c){var d=b.pendingProps;wg(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:d=b.stateNode;zh();E(Wf);E(H);Eh();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags&256)||(b.flags|=1024,null!==zg&&(Fj(zg),zg=null));Aj(a,b);S(b);return null;case 5:Bh(b);var e=xh(wh.current);\nc=b.type;if(null!==a&&null!=b.stateNode)Bj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(p(166));S(b);return null}a=xh(uh.current);if(Gg(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Of]=b;d[Pf]=f;a=0!==(b.mode&1);switch(c){case \"dialog\":D(\"cancel\",d);D(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",d);break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],d);break;case \"source\":D(\"error\",d);break;case \"img\":case \"image\":case \"link\":D(\"error\",\nd);D(\"load\",d);break;case \"details\":D(\"toggle\",d);break;case \"input\":Za(d,f);D(\"invalid\",d);break;case \"select\":d._wrapperState={wasMultiple:!!f.multiple};D(\"invalid\",d);break;case \"textarea\":hb(d,f),D(\"invalid\",d)}ub(c,f);e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,h,a),e=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,\nh,a),e=[\"children\",\"\"+h]):ea.hasOwnProperty(g)&&null!=h&&\"onScroll\"===g&&D(\"scroll\",d)}switch(c){case \"input\":Va(d);db(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=Bf)}d=e;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;\"http://www.w3.org/1999/xhtml\"===a&&(a=kb(c));\"http://www.w3.org/1999/xhtml\"===a?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],a);e=d;break;case \"source\":D(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":D(\"error\",\na);D(\"load\",a);e=d;break;case \"details\":D(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);D(\"invalid\",a);break;case \"option\":e=d;break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=A({},d,{value:void 0});D(\"invalid\",a);break;case \"textarea\":hb(a,d);e=gb(a,d);D(\"invalid\",a);break;default:e=d}ub(c,e);h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?sb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&nb(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==\nc||\"\"!==k)&&ob(a,k):\"number\"===typeof k&&ob(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ea.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&D(\"scroll\",a):null!=k&&ta(a,f,k,g))}switch(c){case \"input\":Va(a);db(a,d,!1);break;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,\n!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=Bf)}switch(c){case \"button\":case \"input\":case \"select\":case \"textarea\":d=!!d.autoFocus;break a;case \"img\":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}null!==b.ref&&(b.flags|=512,b.flags|=2097152)}S(b);return null;case 6:if(a&&null!=b.stateNode)Cj(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(p(166));c=xh(wh.current);xh(uh.current);if(Gg(b)){d=b.stateNode;c=b.memoizedProps;d[Of]=b;if(f=d.nodeValue!==c)if(a=\nxg,null!==a)switch(a.tag){case 3:Af(d.nodeValue,c,0!==(a.mode&1));break;case 5:!0!==a.memoizedProps.suppressHydrationWarning&&Af(d.nodeValue,c,0!==(a.mode&1))}f&&(b.flags|=4)}else d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}S(b);return null;case 13:E(L);d=b.memoizedState;if(null===a||null!==a.memoizedState&&null!==a.memoizedState.dehydrated){if(I&&null!==yg&&0!==(b.mode&1)&&0===(b.flags&128))Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),null!==d&&null!==d.dehydrated){if(null===\na){if(!f)throw Error(p(318));f=b.memoizedState;f=null!==f?f.dehydrated:null;if(!f)throw Error(p(317));f[Of]=b}else Ig(),0===(b.flags&128)&&(b.memoizedState=null),b.flags|=4;S(b);f=!1}else null!==zg&&(Fj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}if(0!==(b.flags&128))return b.lanes=c,b;d=null!==d;d!==(null!==a&&null!==a.memoizedState)&&d&&(b.child.flags|=8192,0!==(b.mode&1)&&(null===a||0!==(L.current&1)?0===T&&(T=3):tj()));null!==b.updateQueue&&(b.flags|=4);S(b);return null;case 4:return zh(),\nAj(a,b),null===a&&sf(b.stateNode.containerInfo),S(b),null;case 10:return ah(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:E(L);f=b.memoizedState;if(null===f)return S(b),null;d=0!==(b.flags&128);g=f.rendering;if(null===g)if(d)Dj(f,!1);else{if(0!==T||null!==a&&0!==(a.flags&128))for(a=b.child;null!==a;){g=Ch(a);if(null!==g){b.flags|=128;Dj(f,!1);d=g.updateQueue;null!==d&&(b.updateQueue=d,b.flags|=4);b.subtreeFlags=0;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=14680066,\ng=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;G(L,L.current&1|2);return b.child}a=\na.sibling}null!==f.tail&&B()>Gj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;null!==h;){switch(h.tag){case 5:X=h.stateNode;Xj=!1;break a;case 3:X=h.stateNode.containerInfo;Xj=!0;break a;case 4:X=h.stateNode.containerInfo;Xj=!0;break a}h=h.return}if(null===X)throw Error(p(160));Zj(f,g,e);X=null;Xj=!1;var k=e.alternate;null!==k&&(k.return=null);e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;null!==b;)dk(b,a),b=b.sibling}\nfunction dk(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:ck(b,a);ek(a);if(d&4){try{Pj(3,a,a.return),Qj(3,a)}catch(t){W(a,a.return,t)}try{Pj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:ck(b,a);ek(a);d&512&&null!==c&&Lj(c,c.return);break;case 5:ck(b,a);ek(a);d&512&&null!==c&&Lj(c,c.return);if(a.flags&32){var e=a.stateNode;try{ob(e,\"\")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,null!=e)){var f=a.memoizedProps,g=null!==c?c.memoizedProps:f,h=a.type,k=a.updateQueue;\na.updateQueue=null;if(null!==k)try{\"input\"===h&&\"radio\"===f.type&&null!=f.name&&ab(e,f);vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];\"style\"===m?sb(e,q):\"dangerouslySetInnerHTML\"===m?nb(e,q):\"children\"===m?ob(e,q):ta(e,m,q,l)}switch(h){case \"input\":bb(e,f);break;case \"textarea\":ib(e,f);break;case \"select\":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;null!=y?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(null!=f.defaultValue?fb(e,!!f.multiple,\nf.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:\"\",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:ck(b,a);ek(a);if(d&4){if(null===a.stateNode)throw Error(p(162));e=a.stateNode;f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:ck(b,a);ek(a);if(d&4&&null!==c&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:ck(b,a);ek(a);break;case 13:ck(b,a);ek(a);e=a.child;e.flags&8192&&(f=null!==e.memoizedState,e.stateNode.isHidden=f,!f||\nnull!==e.alternate&&null!==e.alternate.memoizedState||(fk=B()));d&4&&ak(a);break;case 22:m=null!==c&&null!==c.memoizedState;a.mode&1?(U=(l=U)||m,ck(b,a),U=l):ck(b,a);ek(a);if(d&8192){l=null!==a.memoizedState;if((a.stateNode.isHidden=l)&&!m&&0!==(a.mode&1))for(V=a,m=a.child;null!==m;){for(q=V=m;null!==V;){r=V;y=r.child;switch(r.tag){case 0:case 11:case 14:case 15:Pj(4,r,r.return);break;case 1:Lj(r,r.return);var n=r.stateNode;if(\"function\"===typeof n.componentWillUnmount){d=r;c=r.return;try{b=d,n.props=\nb.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Lj(r,r.return);break;case 22:if(null!==r.memoizedState){gk(q);continue}}null!==y?(y.return=r,V=y):gk(q)}m=m.sibling}a:for(m=null,q=a;;){if(5===q.tag){if(null===m){m=q;try{e=q.stateNode,l?(f=e.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(h=q.stateNode,k=q.memoizedProps.style,g=void 0!==k&&null!==k&&k.hasOwnProperty(\"display\")?k.display:null,h.style.display=\nrb(\"display\",g))}catch(t){W(a,a.return,t)}}}else if(6===q.tag){if(null===m)try{q.stateNode.nodeValue=l?\"\":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((22!==q.tag&&23!==q.tag||null===q.memoizedState||q===a)&&null!==q.child){q.child.return=q;q=q.child;continue}if(q===a)break a;for(;null===q.sibling;){if(null===q.return||q.return===a)break a;m===q&&(m=null);q=q.return}m===q&&(m=null);q.sibling.return=q.return;q=q.sibling}}break;case 19:ck(b,a);ek(a);d&4&&ak(a);break;case 21:break;default:ck(b,\na),ek(a)}}function ek(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;null!==c;){if(Tj(c)){var d=c;break a}c=c.return}throw Error(p(160));}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,\"\"),d.flags&=-33);var f=Uj(a);Wj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Uj(a);Vj(a,h,g);break;default:throw Error(p(161));}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function hk(a,b,c){V=a;ik(a,b,c)}\nfunction ik(a,b,c){for(var d=0!==(a.mode&1);null!==V;){var e=V,f=e.child;if(22===e.tag&&d){var g=null!==e.memoizedState||Jj;if(!g){var h=e.alternate,k=null!==h&&null!==h.memoizedState||U;h=Jj;var l=U;Jj=g;if((U=k)&&!l)for(V=e;null!==V;)g=V,k=g.child,22===g.tag&&null!==g.memoizedState?jk(e):null!==k?(k.return=g,V=k):jk(e);for(;null!==f;)V=f,ik(f,b,c),f=f.sibling;V=e;Jj=h;U=l}kk(a,b,c)}else 0!==(e.subtreeFlags&8772)&&null!==f?(f.return=e,V=f):kk(a,b,c)}}\nfunction kk(a){for(;null!==V;){var b=V;if(0!==(b.flags&8772)){var c=b.alternate;try{if(0!==(b.flags&8772))switch(b.tag){case 0:case 11:case 15:U||Qj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(null===c)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Ci(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;null!==f&&sh(b,f,d);break;case 3:var g=b.updateQueue;if(null!==g){c=null;if(null!==b.child)switch(b.child.tag){case 5:c=\nb.child.stateNode;break;case 1:c=b.child.stateNode}sh(b,g,c)}break;case 5:var h=b.stateNode;if(null===c&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case \"button\":case \"input\":case \"select\":case \"textarea\":k.autoFocus&&c.focus();break;case \"img\":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(null===b.memoizedState){var l=b.alternate;if(null!==l){var m=l.memoizedState;if(null!==m){var q=m.dehydrated;null!==q&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;\ndefault:throw Error(p(163));}U||b.flags&512&&Rj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}function gk(a){for(;null!==V;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}\nfunction jk(a){for(;null!==V;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Qj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(\"function\"===typeof d.componentDidMount){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Rj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Rj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(null!==h){h.return=b.return;V=h;break}V=b.return}}\nvar lk=Math.ceil,mk=ua.ReactCurrentDispatcher,nk=ua.ReactCurrentOwner,ok=ua.ReactCurrentBatchConfig,K=0,Q=null,Y=null,Z=0,fj=0,ej=Uf(0),T=0,pk=null,rh=0,qk=0,rk=0,sk=null,tk=null,fk=0,Gj=Infinity,uk=null,Oi=!1,Pi=null,Ri=null,vk=!1,wk=null,xk=0,yk=0,zk=null,Ak=-1,Bk=0;function R(){return 0!==(K&6)?B():-1!==Ak?Ak:Ak=B()}\nfunction yi(a){if(0===(a.mode&1))return 1;if(0!==(K&2)&&0!==Z)return Z&-Z;if(null!==Kg.transition)return 0===Bk&&(Bk=yc()),Bk;a=C;if(0!==a)return a;a=window.event;a=void 0===a?16:jd(a.type);return a}function gi(a,b,c,d){if(50<yk)throw yk=0,zk=null,Error(p(185));Ac(a,c,d);if(0===(K&2)||a!==Q)a===Q&&(0===(K&2)&&(qk|=c),4===T&&Ck(a,Z)),Dk(a,d),1===c&&0===K&&0===(b.mode&1)&&(Gj=B()+500,fg&&jg())}\nfunction Dk(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===Q?Z:0);if(0===d)null!==c&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){null!=c&&bc(c);if(1===b)0===a.tag?ig(Ek.bind(null,a)):hg(Ek.bind(null,a)),Jf(function(){0===(K&6)&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Fk(c,Gk.bind(null,a))}a.callbackPriority=b;a.callbackNode=c}}\nfunction Gk(a,b){Ak=-1;Bk=0;if(0!==(K&6))throw Error(p(327));var c=a.callbackNode;if(Hk()&&a.callbackNode!==c)return null;var d=uc(a,a===Q?Z:0);if(0===d)return null;if(0!==(d&30)||0!==(d&a.expiredLanes)||b)b=Ik(a,d);else{b=d;var e=K;K|=2;var f=Jk();if(Q!==a||Z!==b)uk=null,Gj=B()+500,Kk(a,b);do try{Lk();break}catch(h){Mk(a,h)}while(1);$g();mk.current=f;K=e;null!==Y?b=0:(Q=null,Z=0,b=T)}if(0!==b){2===b&&(e=xc(a),0!==e&&(d=e,b=Nk(a,e)));if(1===b)throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;if(6===b)Ck(a,d);\nelse{e=a.current.alternate;if(0===(d&30)&&!Ok(e)&&(b=Ik(a,d),2===b&&(f=xc(a),0!==f&&(d=f,b=Nk(a,f))),1===b))throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;a.finishedWork=e;a.finishedLanes=d;switch(b){case 0:case 1:throw Error(p(345));case 2:Pk(a,tk,uk);break;case 3:Ck(a,d);if((d&130023424)===d&&(b=fk+500-B(),10<b)){if(0!==uc(a,0))break;e=a.suspendedLanes;if((e&d)!==d){R();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),b);break}Pk(a,tk,uk);break;case 4:Ck(a,d);if((d&4194240)===\nd)break;b=a.eventTimes;for(e=-1;0<d;){var g=31-oc(d);f=1<<g;g=b[g];g>e&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10<d){a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),d);break}Pk(a,tk,uk);break;case 5:Pk(a,tk,uk);break;default:throw Error(p(329));}}}Dk(a,B());return a.callbackNode===c?Gk.bind(null,a):null}\nfunction Nk(a,b){var c=sk;a.current.memoizedState.isDehydrated&&(Kk(a,b).flags|=256);a=Ik(a,b);2!==a&&(b=tk,tk=c,null!==b&&Fj(b));return a}function Fj(a){null===tk?tk=a:tk.push.apply(tk,a)}\nfunction Ok(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(null!==c&&(c=c.stores,null!==c))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch(g){return!1}}}c=b.child;if(b.subtreeFlags&16384&&null!==c)c.return=b,b=c;else{if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return!0;b=b.return}b.sibling.return=b.return;b=b.sibling}}return!0}\nfunction Ck(a,b){b&=~rk;b&=~qk;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1;b&=~d}}function Ek(a){if(0!==(K&6))throw Error(p(327));Hk();var b=uc(a,0);if(0===(b&1))return Dk(a,B()),null;var c=Ik(a,b);if(0!==a.tag&&2===c){var d=xc(a);0!==d&&(b=d,c=Nk(a,d))}if(1===c)throw c=pk,Kk(a,0),Ck(a,b),Dk(a,B()),c;if(6===c)throw Error(p(345));a.finishedWork=a.current.alternate;a.finishedLanes=b;Pk(a,tk,uk);Dk(a,B());return null}\nfunction Qk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,0===K&&(Gj=B()+500,fg&&jg())}}function Rk(a){null!==wk&&0===wk.tag&&0===(K&6)&&Hk();var b=K;K|=1;var c=ok.transition,d=C;try{if(ok.transition=null,C=1,a)return a()}finally{C=d,ok.transition=c,K=b,0===(K&6)&&jg()}}function Hj(){fj=ej.current;E(ej)}\nfunction Kk(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Gf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;wg(d);switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&$f();break;case 3:zh();E(Wf);E(H);Eh();break;case 5:Bh(d);break;case 4:zh();break;case 13:E(L);break;case 19:E(L);break;case 10:ah(d.type._context);break;case 22:case 23:Hj()}c=c.return}Q=a;Y=a=Pg(a.current,null);Z=fj=b;T=0;pk=null;rk=qk=rh=0;tk=sk=null;if(null!==fh){for(b=\n0;b<fh.length;b++)if(c=fh[b],d=c.interleaved,null!==d){c.interleaved=null;var e=d.next,f=c.pending;if(null!==f){var g=f.next;f.next=e;d.next=g}c.pending=d}fh=null}return a}\nfunction Mk(a,b){do{var c=Y;try{$g();Fh.current=Rh;if(Ih){for(var d=M.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}Ih=!1}Hh=0;O=N=M=null;Jh=!1;Kh=0;nk.current=null;if(null===c||null===c.return){T=1;pk=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=Z;h.flags|=32768;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k,m=h,q=m.tag;if(0===(m.mode&1)&&(0===q||11===q||15===q)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,\nm.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Ui(g);if(null!==y){y.flags&=-257;Vi(y,g,h,f,b);y.mode&1&&Si(f,l,b);b=y;k=l;var n=b.updateQueue;if(null===n){var t=new Set;t.add(k);b.updateQueue=t}else n.add(k);break a}else{if(0===(b&1)){Si(f,l,b);tj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Ui(g);if(null!==J){0===(J.flags&65536)&&(J.flags|=256);Vi(J,g,h,f,b);Jg(Ji(k,h));break a}}f=k=Ji(k,h);4!==T&&(T=2);null===sk?sk=[f]:sk.push(f);f=g;do{switch(f.tag){case 3:f.flags|=65536;\nb&=-b;f.lanes|=b;var x=Ni(f,k,b);ph(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if(0===(f.flags&128)&&(\"function\"===typeof w.getDerivedStateFromError||null!==u&&\"function\"===typeof u.componentDidCatch&&(null===Ri||!Ri.has(u)))){f.flags|=65536;b&=-b;f.lanes|=b;var F=Qi(f,h,b);ph(f,F);break a}}f=f.return}while(null!==f)}Sk(c)}catch(na){b=na;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}function Jk(){var a=mk.current;mk.current=Rh;return null===a?Rh:a}\nfunction tj(){if(0===T||3===T||2===T)T=4;null===Q||0===(rh&268435455)&&0===(qk&268435455)||Ck(Q,Z)}function Ik(a,b){var c=K;K|=2;var d=Jk();if(Q!==a||Z!==b)uk=null,Kk(a,b);do try{Tk();break}catch(e){Mk(a,e)}while(1);$g();K=c;mk.current=d;if(null!==Y)throw Error(p(261));Q=null;Z=0;return T}function Tk(){for(;null!==Y;)Uk(Y)}function Lk(){for(;null!==Y&&!cc();)Uk(Y)}function Uk(a){var b=Vk(a.alternate,a,fj);a.memoizedProps=a.pendingProps;null===b?Sk(a):Y=b;nk.current=null}\nfunction Sk(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&32768)){if(c=Ej(c,b,fj),null!==c){Y=c;return}}else{c=Ij(c,b);if(null!==c){c.flags&=32767;Y=c;return}if(null!==a)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6;Y=null;return}}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===T&&(T=5)}function Pk(a,b,c){var d=C,e=ok.transition;try{ok.transition=null,C=1,Wk(a,b,c,d)}finally{ok.transition=e,C=d}return null}\nfunction Wk(a,b,c,d){do Hk();while(null!==wk);if(0!==(K&6))throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(p(177));a.callbackNode=null;a.callbackPriority=0;var f=c.lanes|c.childLanes;Bc(a,f);a===Q&&(Y=Q=null,Z=0);0===(c.subtreeFlags&2064)&&0===(c.flags&2064)||vk||(vk=!0,Fk(hc,function(){Hk();return null}));f=0!==(c.flags&15990);if(0!==(c.subtreeFlags&15990)||f){f=ok.transition;ok.transition=null;\nvar g=C;C=1;var h=K;K|=4;nk.current=null;Oj(a,c);dk(c,a);Oe(Df);dd=!!Cf;Df=Cf=null;a.current=c;hk(c,a,e);dc();K=h;C=g;ok.transition=f}else a.current=c;vk&&(vk=!1,wk=a,xk=e);f=a.pendingLanes;0===f&&(Ri=null);mc(c.stateNode,d);Dk(a,B());if(null!==b)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Oi)throw Oi=!1,a=Pi,Pi=null,a;0!==(xk&1)&&0!==a.tag&&Hk();f=a.pendingLanes;0!==(f&1)?a===zk?yk++:(yk=0,zk=a):yk=0;jg();return null}\nfunction Hk(){if(null!==wk){var a=Dc(xk),b=ok.transition,c=C;try{ok.transition=null;C=16>a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;k<h.length;k++){var l=h[k];for(V=l;null!==V;){var m=V;switch(m.tag){case 0:case 11:case 15:Pj(8,m,f)}var q=m.child;if(null!==q)q.return=m,V=q;else for(;null!==V;){m=V;var r=m.sibling,y=m.return;Sj(m);if(m===\nl){V=null;break}if(null!==r){r.return=y;V=r;break}V=y}}}var n=f.alternate;if(null!==n){var t=n.child;if(null!==t){n.child=null;do{var J=t.sibling;t.sibling=null;t=J}while(null!==t)}}V=f}}if(0!==(f.subtreeFlags&2064)&&null!==g)g.return=f,V=g;else b:for(;null!==V;){f=V;if(0!==(f.flags&2048))switch(f.tag){case 0:case 11:case 15:Pj(9,f,f.return)}var x=f.sibling;if(null!==x){x.return=f.return;V=x;break b}V=f.return}}var w=a.current;for(V=w;null!==V;){g=V;var u=g.child;if(0!==(g.subtreeFlags&2064)&&null!==\nu)u.return=g,V=u;else b:for(g=w;null!==V;){h=V;if(0!==(h.flags&2048))try{switch(h.tag){case 0:case 11:case 15:Qj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(null!==F){F.return=h.return;V=F;break b}V=h.return}}K=e;jg();if(lc&&\"function\"===typeof lc.onPostCommitFiberRoot)try{lc.onPostCommitFiberRoot(kc,a)}catch(na){}d=!0}return d}finally{C=c,ok.transition=b}}return!1}function Xk(a,b,c){b=Ji(c,b);b=Ni(a,b,1);a=nh(a,b,1);b=R();null!==a&&(Ac(a,1,b),Dk(a,b))}\nfunction W(a,b,c){if(3===a.tag)Xk(a,a,c);else for(;null!==b;){if(3===b.tag){Xk(b,a,c);break}else if(1===b.tag){var d=b.stateNode;if(\"function\"===typeof b.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Ri||!Ri.has(d))){a=Ji(c,a);a=Qi(b,a,1);b=nh(b,a,1);a=R();null!==b&&(Ac(b,1,a),Dk(b,a));break}}b=b.return}}\nfunction Ti(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=R();a.pingedLanes|=a.suspendedLanes&c;Q===a&&(Z&c)===c&&(4===T||3===T&&(Z&130023424)===Z&&500>B()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:wa,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction dl(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||1!==a.tag)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(p(171));}if(1===a.tag){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}\nfunction el(a,b,c,d,e,f,g,h,k){a=bl(c,d,!0,a,e,f,g,h,k);a.context=dl(null);c=a.current;d=R();e=yi(c);f=mh(d,e);f.callback=void 0!==b&&null!==b?b:null;nh(c,f,e);a.current.lanes=e;Ac(a,e,d);Dk(a,d);return a}function fl(a,b,c,d){var e=b.current,f=R(),g=yi(e);c=dl(c);null===b.context?b.context=c:b.pendingContext=c;b=mh(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);a=nh(e,b,g);null!==a&&(gi(a,e,g,f),oh(a,e,g));return g}\nfunction gl(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function hl(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function il(a,b){hl(a,b);(a=a.alternate)&&hl(a,b)}function jl(){return null}var kl=\"function\"===typeof reportError?reportError:function(a){console.error(a)};function ll(a){this._internalRoot=a}\nml.prototype.render=ll.prototype.render=function(a){var b=this._internalRoot;if(null===b)throw Error(p(409));fl(a,b,null,null)};ml.prototype.unmount=ll.prototype.unmount=function(){var a=this._internalRoot;if(null!==a){this._internalRoot=null;var b=a.containerInfo;Rk(function(){fl(null,a,null,null)});b[uf]=null}};function ml(a){this._internalRoot=a}\nml.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&0!==b&&b<Qc[c].priority;c++);Qc.splice(c,0,a);0===c&&Vc(a)}};function nl(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType)}function ol(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function pl(){}\nfunction ql(a,b,c,d,e){if(e){if(\"function\"===typeof d){var f=d;d=function(){var a=gl(g);f.call(a)}}var g=el(b,d,a,0,null,!1,!1,\"\",pl);a._reactRootContainer=g;a[uf]=g.current;sf(8===a.nodeType?a.parentNode:a);Rk();return g}for(;e=a.lastChild;)a.removeChild(e);if(\"function\"===typeof d){var h=d;d=function(){var a=gl(k);h.call(a)}}var k=bl(a,0,!1,null,null,!1,!1,\"\",pl);a._reactRootContainer=k;a[uf]=k.current;sf(8===a.nodeType?a.parentNode:a);Rk(function(){fl(b,k,c,d)});return k}\nfunction rl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(\"function\"===typeof e){var h=e;e=function(){var a=gl(g);h.call(a)}}fl(b,g,a,e)}else g=ql(c,b,a,e,d);return gl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);0!==c&&(Cc(b,c|1),Dk(b,B()),0===(K&6)&&(Gj=B()+500,jg()))}break;case 13:Rk(function(){var b=ih(a,1);if(null!==b){var c=R();gi(b,a,1,c)}}),il(a,1)}};\nFc=function(a){if(13===a.tag){var b=ih(a,134217728);if(null!==b){var c=R();gi(b,a,134217728,c)}il(a,134217728)}};Gc=function(a){if(13===a.tag){var b=yi(a),c=ih(a,b);if(null!==c){var d=R();gi(c,a,b,d)}il(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};\nyb=function(a,b,c){switch(b){case \"input\":bb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d);bb(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Qk;Hb=Rk;\nvar sl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Qk]},tl={findFiberByHostInstance:Wc,bundleType:0,version:\"18.3.1\",rendererPackageName:\"react-dom\"};\nvar ul={bundleType:tl.bundleType,version:tl.version,rendererPackageName:tl.rendererPackageName,rendererConfig:tl.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Zb(a);return null===a?null:a.stateNode},findFiberByHostInstance:tl.findFiberByHostInstance||\njl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.3.1-next-f1338f8080-20240426\"};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var vl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!vl.isDisabled&&vl.supportsFiber)try{kc=vl.inject(ul),lc=vl}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=sl;\nexports.createPortal=function(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!nl(b))throw Error(p(200));return cl(a,b,null,c)};exports.createRoot=function(a,b){if(!nl(a))throw Error(p(299));var c=!1,d=\"\",e=kl;null!==b&&void 0!==b&&(!0===b.unstable_strictMode&&(c=!0),void 0!==b.identifierPrefix&&(d=b.identifierPrefix),void 0!==b.onRecoverableError&&(e=b.onRecoverableError));b=bl(a,1,!1,null,null,c,!1,d,e);a[uf]=b.current;sf(8===a.nodeType?a.parentNode:a);return new ll(b)};\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(p(188));a=Object.keys(a).join(\",\");throw Error(p(268,a));}a=Zb(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a){return Rk(a)};exports.hydrate=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!0,c)};\nexports.hydrateRoot=function(a,b,c){if(!nl(a))throw Error(p(405));var d=null!=c&&c.hydratedSources||null,e=!1,f=\"\",g=kl;null!==c&&void 0!==c&&(!0===c.unstable_strictMode&&(e=!0),void 0!==c.identifierPrefix&&(f=c.identifierPrefix),void 0!==c.onRecoverableError&&(g=c.onRecoverableError));b=el(b,null,a,1,null!=c?c:null,e,!1,f,g);a[uf]=b.current;sf(a);if(d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),null==b.mutableSourceEagerHydrationData?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,\ne);return new ml(b)};exports.render=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!ol(a))throw Error(p(40));return a._reactRootContainer?(Rk(function(){rl(null,null,a,!1,function(){a._reactRootContainer=null;a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Qk;\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!ol(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return rl(a,b,c,!1,d)};exports.version=\"18.3.1-next-f1338f8080-20240426\";\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"DraggableCore\", {\n enumerable: true,\n get: function () {\n return _DraggableCore.default;\n }\n});\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\nvar _clsx = _interopRequireDefault(require(\"clsx\"));\nvar _domFns = require(\"./utils/domFns\");\nvar _positionFns = require(\"./utils/positionFns\");\nvar _shims = require(\"./utils/shims\");\nvar _DraggableCore = _interopRequireDefault(require(\"./DraggableCore\"));\nvar _log = _interopRequireDefault(require(\"./utils/log\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); } /*:: import type {ControlPosition, PositionOffsetControlPosition, DraggableCoreProps, DraggableCoreDefaultProps} from './DraggableCore';*/\n/*:: import type {Bounds, DraggableEventHandler} from './utils/types';*/\n/*:: import type {Element as ReactElement} from 'react';*/\n/*:: type DraggableState = {\n dragging: boolean,\n dragged: boolean,\n x: number, y: number,\n slackX: number, slackY: number,\n isElementSVG: boolean,\n prevPropsPosition: ?ControlPosition,\n};*/\n/*:: export type DraggableDefaultProps = {\n ...DraggableCoreDefaultProps,\n axis: 'both' | 'x' | 'y' | 'none',\n bounds: Bounds | string | false,\n defaultClassName: string,\n defaultClassNameDragging: string,\n defaultClassNameDragged: string,\n defaultPosition: ControlPosition,\n scale: number,\n};*/\n/*:: export type DraggableProps = {\n ...DraggableCoreProps,\n ...DraggableDefaultProps,\n positionOffset: PositionOffsetControlPosition,\n position: ControlPosition,\n};*/\n//\n// Define <Draggable>\n//\nclass Draggable extends React.Component /*:: <DraggableProps, DraggableState>*/{\n // React 16.3+\n // Arity (props, state)\n static getDerivedStateFromProps(_ref /*:: */, _ref2 /*:: */) /*: ?Partial<DraggableState>*/{\n let {\n position\n } /*: DraggableProps*/ = _ref /*: DraggableProps*/;\n let {\n prevPropsPosition\n } /*: DraggableState*/ = _ref2 /*: DraggableState*/;\n // Set x/y if a new position is provided in props that is different than the previous.\n if (position && (!prevPropsPosition || position.x !== prevPropsPosition.x || position.y !== prevPropsPosition.y)) {\n (0, _log.default)('Draggable: getDerivedStateFromProps %j', {\n position,\n prevPropsPosition\n });\n return {\n x: position.x,\n y: position.y,\n prevPropsPosition: {\n ...position\n }\n };\n }\n return null;\n }\n constructor(props /*: DraggableProps*/) {\n super(props);\n _defineProperty(this, \"onDragStart\", (e, coreData) => {\n (0, _log.default)('Draggable: onDragStart: %j', coreData);\n\n // Short-circuit if user's callback killed it.\n const shouldStart = this.props.onStart(e, (0, _positionFns.createDraggableData)(this, coreData));\n // Kills start event on core as well, so move handlers are never bound.\n if (shouldStart === false) return false;\n this.setState({\n dragging: true,\n dragged: true\n });\n });\n _defineProperty(this, \"onDrag\", (e, coreData) => {\n if (!this.state.dragging) return false;\n (0, _log.default)('Draggable: onDrag: %j', coreData);\n const uiData = (0, _positionFns.createDraggableData)(this, coreData);\n const newState = {\n x: uiData.x,\n y: uiData.y,\n slackX: 0,\n slackY: 0\n };\n\n // Keep within bounds.\n if (this.props.bounds) {\n // Save original x and y.\n const {\n x,\n y\n } = newState;\n\n // Add slack to the values used to calculate bound position. This will ensure that if\n // we start removing slack, the element won't react to it right away until it's been\n // completely removed.\n newState.x += this.state.slackX;\n newState.y += this.state.slackY;\n\n // Get bound position. This will ceil/floor the x and y within the boundaries.\n const [newStateX, newStateY] = (0, _positionFns.getBoundPosition)(this, newState.x, newState.y);\n newState.x = newStateX;\n newState.y = newStateY;\n\n // Recalculate slack by noting how much was shaved by the boundPosition handler.\n newState.slackX = this.state.slackX + (x - newState.x);\n newState.slackY = this.state.slackY + (y - newState.y);\n\n // Update the event we fire to reflect what really happened after bounds took effect.\n uiData.x = newState.x;\n uiData.y = newState.y;\n uiData.deltaX = newState.x - this.state.x;\n uiData.deltaY = newState.y - this.state.y;\n }\n\n // Short-circuit if user's callback killed it.\n const shouldUpdate = this.props.onDrag(e, uiData);\n if (shouldUpdate === false) return false;\n this.setState(newState);\n });\n _defineProperty(this, \"onDragStop\", (e, coreData) => {\n if (!this.state.dragging) return false;\n\n // Short-circuit if user's callback killed it.\n const shouldContinue = this.props.onStop(e, (0, _positionFns.createDraggableData)(this, coreData));\n if (shouldContinue === false) return false;\n (0, _log.default)('Draggable: onDragStop: %j', coreData);\n const newState /*: Partial<DraggableState>*/ = {\n dragging: false,\n slackX: 0,\n slackY: 0\n };\n\n // If this is a controlled component, the result of this operation will be to\n // revert back to the old position. We expect a handler on `onDragStop`, at the least.\n const controlled = Boolean(this.props.position);\n if (controlled) {\n const {\n x,\n y\n } = this.props.position;\n newState.x = x;\n newState.y = y;\n }\n this.setState(newState);\n });\n this.state = {\n // Whether or not we are currently dragging.\n dragging: false,\n // Whether or not we have been dragged before.\n dragged: false,\n // Current transform x and y.\n x: props.position ? props.position.x : props.defaultPosition.x,\n y: props.position ? props.position.y : props.defaultPosition.y,\n prevPropsPosition: {\n ...props.position\n },\n // Used for compensating for out-of-bounds drags\n slackX: 0,\n slackY: 0,\n // Can only determine if SVG after mounting\n isElementSVG: false\n };\n if (props.position && !(props.onDrag || props.onStop)) {\n // eslint-disable-next-line no-console\n console.warn('A `position` was applied to this <Draggable>, without drag handlers. This will make this ' + 'component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the ' + '`position` of this element.');\n }\n }\n componentDidMount() {\n // Check to see if the element passed is an instanceof SVGElement\n if (typeof window.SVGElement !== 'undefined' && this.findDOMNode() instanceof window.SVGElement) {\n this.setState({\n isElementSVG: true\n });\n }\n }\n componentWillUnmount() {\n this.setState({\n dragging: false\n }); // prevents invariant if unmounted while dragging\n }\n\n // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find\n // the underlying DOM node ourselves. See the README for more information.\n findDOMNode() /*: ?HTMLElement*/{\n var _this$props$nodeRef$c, _this$props;\n return (_this$props$nodeRef$c = (_this$props = this.props) === null || _this$props === void 0 || (_this$props = _this$props.nodeRef) === null || _this$props === void 0 ? void 0 : _this$props.current) !== null && _this$props$nodeRef$c !== void 0 ? _this$props$nodeRef$c : _reactDom.default.findDOMNode(this);\n }\n render() /*: ReactElement<any>*/{\n const {\n axis,\n bounds,\n children,\n defaultPosition,\n defaultClassName,\n defaultClassNameDragging,\n defaultClassNameDragged,\n position,\n positionOffset,\n scale,\n ...draggableCoreProps\n } = this.props;\n let style = {};\n let svgTransform = null;\n\n // If this is controlled, we don't want to move it - unless it's dragging.\n const controlled = Boolean(position);\n const draggable = !controlled || this.state.dragging;\n const validPosition = position || defaultPosition;\n const transformOpts = {\n // Set left if horizontal drag is enabled\n x: (0, _positionFns.canDragX)(this) && draggable ? this.state.x : validPosition.x,\n // Set top if vertical drag is enabled\n y: (0, _positionFns.canDragY)(this) && draggable ? this.state.y : validPosition.y\n };\n\n // If this element was SVG, we use the `transform` attribute.\n if (this.state.isElementSVG) {\n svgTransform = (0, _domFns.createSVGTransform)(transformOpts, positionOffset);\n } else {\n // Add a CSS transform to move the element around. This allows us to move the element around\n // without worrying about whether or not it is relatively or absolutely positioned.\n // If the item you are dragging already has a transform set, wrap it in a <span> so <Draggable>\n // has a clean slate.\n style = (0, _domFns.createCSSTransform)(transformOpts, positionOffset);\n }\n\n // Mark with class while dragging\n const className = (0, _clsx.default)(children.props.className || '', defaultClassName, {\n [defaultClassNameDragging]: this.state.dragging,\n [defaultClassNameDragged]: this.state.dragged\n });\n\n // Reuse the child provided\n // This makes it flexible to use whatever element is wanted (div, ul, etc)\n return /*#__PURE__*/React.createElement(_DraggableCore.default, _extends({}, draggableCoreProps, {\n onStart: this.onDragStart,\n onDrag: this.onDrag,\n onStop: this.onDragStop\n }), /*#__PURE__*/React.cloneElement(React.Children.only(children), {\n className: className,\n style: {\n ...children.props.style,\n ...style\n },\n transform: svgTransform\n }));\n }\n}\nexports.default = Draggable;\n_defineProperty(Draggable, \"displayName\", 'Draggable');\n_defineProperty(Draggable, \"propTypes\", {\n // Accepts all props <DraggableCore> accepts.\n ..._DraggableCore.default.propTypes,\n /**\n * `axis` determines which axis the draggable can move.\n *\n * Note that all callbacks will still return data as normal. This only\n * controls flushing to the DOM.\n *\n * 'both' allows movement horizontally and vertically.\n * 'x' limits movement to horizontal axis.\n * 'y' limits movement to vertical axis.\n * 'none' limits all movement.\n *\n * Defaults to 'both'.\n */\n axis: _propTypes.default.oneOf(['both', 'x', 'y', 'none']),\n /**\n * `bounds` determines the range of movement available to the element.\n * Available values are:\n *\n * 'parent' restricts movement within the Draggable's parent node.\n *\n * Alternatively, pass an object with the following properties, all of which are optional:\n *\n * {left: LEFT_BOUND, right: RIGHT_BOUND, bottom: BOTTOM_BOUND, top: TOP_BOUND}\n *\n * All values are in px.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * <Draggable bounds={{right: 300, bottom: 300}}>\n * <div>Content</div>\n * </Draggable>\n * );\n * }\n * });\n * ```\n */\n bounds: _propTypes.default.oneOfType([_propTypes.default.shape({\n left: _propTypes.default.number,\n right: _propTypes.default.number,\n top: _propTypes.default.number,\n bottom: _propTypes.default.number\n }), _propTypes.default.string, _propTypes.default.oneOf([false])]),\n defaultClassName: _propTypes.default.string,\n defaultClassNameDragging: _propTypes.default.string,\n defaultClassNameDragged: _propTypes.default.string,\n /**\n * `defaultPosition` specifies the x and y that the dragged item should start at\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * <Draggable defaultPosition={{x: 25, y: 25}}>\n * <div>I start with transformX: 25px and transformY: 25px;</div>\n * </Draggable>\n * );\n * }\n * });\n * ```\n */\n defaultPosition: _propTypes.default.shape({\n x: _propTypes.default.number,\n y: _propTypes.default.number\n }),\n positionOffset: _propTypes.default.shape({\n x: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n y: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])\n }),\n /**\n * `position`, if present, defines the current position of the element.\n *\n * This is similar to how form elements in React work - if no `position` is supplied, the component\n * is uncontrolled.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * <Draggable position={{x: 25, y: 25}}>\n * <div>I start with transformX: 25px and transformY: 25px;</div>\n * </Draggable>\n * );\n * }\n * });\n * ```\n */\n position: _propTypes.default.shape({\n x: _propTypes.default.number,\n y: _propTypes.default.number\n }),\n /**\n * These properties should be defined on the child, not here.\n */\n className: _shims.dontSetMe,\n style: _shims.dontSetMe,\n transform: _shims.dontSetMe\n});\n_defineProperty(Draggable, \"defaultProps\", {\n ..._DraggableCore.default.defaultProps,\n axis: 'both',\n bounds: false,\n defaultClassName: 'react-draggable',\n defaultClassNameDragging: 'react-draggable-dragging',\n defaultClassNameDragged: 'react-draggable-dragged',\n defaultPosition: {\n x: 0,\n y: 0\n },\n scale: 1\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\nvar _domFns = require(\"./utils/domFns\");\nvar _positionFns = require(\"./utils/positionFns\");\nvar _shims = require(\"./utils/shims\");\nvar _log = _interopRequireDefault(require(\"./utils/log\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/*:: import type {EventHandler, MouseTouchEvent} from './utils/types';*/\n/*:: import type {Element as ReactElement} from 'react';*/\n// Simple abstraction for dragging events names.\nconst eventsFor = {\n touch: {\n start: 'touchstart',\n move: 'touchmove',\n stop: 'touchend'\n },\n mouse: {\n start: 'mousedown',\n move: 'mousemove',\n stop: 'mouseup'\n }\n};\n\n// Default to mouse events.\nlet dragEventFor = eventsFor.mouse;\n/*:: export type DraggableData = {\n node: HTMLElement,\n x: number, y: number,\n deltaX: number, deltaY: number,\n lastX: number, lastY: number,\n};*/\n/*:: export type DraggableEventHandler = (e: MouseEvent, data: DraggableData) => void | false;*/\n/*:: export type ControlPosition = {x: number, y: number};*/\n/*:: export type PositionOffsetControlPosition = {x: number|string, y: number|string};*/\n/*:: export type DraggableCoreDefaultProps = {\n allowAnyClick: boolean,\n disabled: boolean,\n enableUserSelectHack: boolean,\n onStart: DraggableEventHandler,\n onDrag: DraggableEventHandler,\n onStop: DraggableEventHandler,\n onMouseDown: (e: MouseEvent) => void,\n scale: number,\n};*/\n/*:: export type DraggableCoreProps = {\n ...DraggableCoreDefaultProps,\n cancel: string,\n children: ReactElement<any>,\n offsetParent: HTMLElement,\n grid: [number, number],\n handle: string,\n nodeRef?: ?React.ElementRef<any>,\n};*/\n//\n// Define <DraggableCore>.\n//\n// <DraggableCore> is for advanced usage of <Draggable>. It maintains minimal internal state so it can\n// work well with libraries that require more control over the element.\n//\n\nclass DraggableCore extends React.Component /*:: <DraggableCoreProps>*/{\n constructor() {\n super(...arguments);\n _defineProperty(this, \"dragging\", false);\n // Used while dragging to determine deltas.\n _defineProperty(this, \"lastX\", NaN);\n _defineProperty(this, \"lastY\", NaN);\n _defineProperty(this, \"touchIdentifier\", null);\n _defineProperty(this, \"mounted\", false);\n _defineProperty(this, \"handleDragStart\", e => {\n // Make it possible to attach event handlers on top of this one.\n this.props.onMouseDown(e);\n\n // Only accept left-clicks.\n if (!this.props.allowAnyClick && typeof e.button === 'number' && e.button !== 0) return false;\n\n // Get nodes. Be sure to grab relative document (could be iframed)\n const thisNode = this.findDOMNode();\n if (!thisNode || !thisNode.ownerDocument || !thisNode.ownerDocument.body) {\n throw new Error('<DraggableCore> not mounted on DragStart!');\n }\n const {\n ownerDocument\n } = thisNode;\n\n // Short circuit if handle or cancel prop was provided and selector doesn't match.\n if (this.props.disabled || !(e.target instanceof ownerDocument.defaultView.Node) || this.props.handle && !(0, _domFns.matchesSelectorAndParentsTo)(e.target, this.props.handle, thisNode) || this.props.cancel && (0, _domFns.matchesSelectorAndParentsTo)(e.target, this.props.cancel, thisNode)) {\n return;\n }\n\n // Prevent scrolling on mobile devices, like ipad/iphone.\n // Important that this is after handle/cancel.\n if (e.type === 'touchstart') e.preventDefault();\n\n // Set touch identifier in component state if this is a touch event. This allows us to\n // distinguish between individual touches on multitouch screens by identifying which\n // touchpoint was set to this element.\n const touchIdentifier = (0, _domFns.getTouchIdentifier)(e);\n this.touchIdentifier = touchIdentifier;\n\n // Get the current drag point from the event. This is used as the offset.\n const position = (0, _positionFns.getControlPosition)(e, touchIdentifier, this);\n if (position == null) return; // not possible but satisfies flow\n const {\n x,\n y\n } = position;\n\n // Create an event object with all the data parents need to make a decision here.\n const coreEvent = (0, _positionFns.createCoreData)(this, x, y);\n (0, _log.default)('DraggableCore: handleDragStart: %j', coreEvent);\n\n // Call event handler. If it returns explicit false, cancel.\n (0, _log.default)('calling', this.props.onStart);\n const shouldUpdate = this.props.onStart(e, coreEvent);\n if (shouldUpdate === false || this.mounted === false) return;\n\n // Add a style to the body to disable user-select. This prevents text from\n // being selected all over the page.\n if (this.props.enableUserSelectHack) (0, _domFns.addUserSelectStyles)(ownerDocument);\n\n // Initiate dragging. Set the current x and y as offsets\n // so we know how much we've moved during the drag. This allows us\n // to drag elements around even if they have been moved, without issue.\n this.dragging = true;\n this.lastX = x;\n this.lastY = y;\n\n // Add events to the document directly so we catch when the user's mouse/touch moves outside of\n // this element. We use different events depending on whether or not we have detected that this\n // is a touch-capable device.\n (0, _domFns.addEvent)(ownerDocument, dragEventFor.move, this.handleDrag);\n (0, _domFns.addEvent)(ownerDocument, dragEventFor.stop, this.handleDragStop);\n });\n _defineProperty(this, \"handleDrag\", e => {\n // Get the current drag point from the event. This is used as the offset.\n const position = (0, _positionFns.getControlPosition)(e, this.touchIdentifier, this);\n if (position == null) return;\n let {\n x,\n y\n } = position;\n\n // Snap to grid if prop has been provided\n if (Array.isArray(this.props.grid)) {\n let deltaX = x - this.lastX,\n deltaY = y - this.lastY;\n [deltaX, deltaY] = (0, _positionFns.snapToGrid)(this.props.grid, deltaX, deltaY);\n if (!deltaX && !deltaY) return; // skip useless drag\n x = this.lastX + deltaX, y = this.lastY + deltaY;\n }\n const coreEvent = (0, _positionFns.createCoreData)(this, x, y);\n (0, _log.default)('DraggableCore: handleDrag: %j', coreEvent);\n\n // Call event handler. If it returns explicit false, trigger end.\n const shouldUpdate = this.props.onDrag(e, coreEvent);\n if (shouldUpdate === false || this.mounted === false) {\n try {\n // $FlowIgnore\n this.handleDragStop(new MouseEvent('mouseup'));\n } catch (err) {\n // Old browsers\n const event = ((document.createEvent('MouseEvents') /*: any*/) /*: MouseTouchEvent*/);\n // I see why this insanity was deprecated\n // $FlowIgnore\n event.initMouseEvent('mouseup', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);\n this.handleDragStop(event);\n }\n return;\n }\n this.lastX = x;\n this.lastY = y;\n });\n _defineProperty(this, \"handleDragStop\", e => {\n if (!this.dragging) return;\n const position = (0, _positionFns.getControlPosition)(e, this.touchIdentifier, this);\n if (position == null) return;\n let {\n x,\n y\n } = position;\n\n // Snap to grid if prop has been provided\n if (Array.isArray(this.props.grid)) {\n let deltaX = x - this.lastX || 0;\n let deltaY = y - this.lastY || 0;\n [deltaX, deltaY] = (0, _positionFns.snapToGrid)(this.props.grid, deltaX, deltaY);\n x = this.lastX + deltaX, y = this.lastY + deltaY;\n }\n const coreEvent = (0, _positionFns.createCoreData)(this, x, y);\n\n // Call event handler\n const shouldContinue = this.props.onStop(e, coreEvent);\n if (shouldContinue === false || this.mounted === false) return false;\n const thisNode = this.findDOMNode();\n if (thisNode) {\n // Remove user-select hack\n if (this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(thisNode.ownerDocument);\n }\n (0, _log.default)('DraggableCore: handleDragStop: %j', coreEvent);\n\n // Reset the el.\n this.dragging = false;\n this.lastX = NaN;\n this.lastY = NaN;\n if (thisNode) {\n // Remove event handlers\n (0, _log.default)('DraggableCore: Removing handlers');\n (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.move, this.handleDrag);\n (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.stop, this.handleDragStop);\n }\n });\n _defineProperty(this, \"onMouseDown\", e => {\n dragEventFor = eventsFor.mouse; // on touchscreen laptops we could switch back to mouse\n\n return this.handleDragStart(e);\n });\n _defineProperty(this, \"onMouseUp\", e => {\n dragEventFor = eventsFor.mouse;\n return this.handleDragStop(e);\n });\n // Same as onMouseDown (start drag), but now consider this a touch device.\n _defineProperty(this, \"onTouchStart\", e => {\n // We're on a touch device now, so change the event handlers\n dragEventFor = eventsFor.touch;\n return this.handleDragStart(e);\n });\n _defineProperty(this, \"onTouchEnd\", e => {\n // We're on a touch device now, so change the event handlers\n dragEventFor = eventsFor.touch;\n return this.handleDragStop(e);\n });\n }\n componentDidMount() {\n this.mounted = true;\n // Touch handlers must be added with {passive: false} to be cancelable.\n // https://developers.google.com/web/updates/2017/01/scrolling-intervention\n const thisNode = this.findDOMNode();\n if (thisNode) {\n (0, _domFns.addEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {\n passive: false\n });\n }\n }\n componentWillUnmount() {\n this.mounted = false;\n // Remove any leftover event handlers. Remove both touch and mouse handlers in case\n // some browser quirk caused a touch event to fire during a mouse move, or vice versa.\n const thisNode = this.findDOMNode();\n if (thisNode) {\n const {\n ownerDocument\n } = thisNode;\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.move, this.handleDrag);\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.move, this.handleDrag);\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.stop, this.handleDragStop);\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.stop, this.handleDragStop);\n (0, _domFns.removeEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {\n passive: false\n });\n if (this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(ownerDocument);\n }\n }\n\n // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find\n // the underlying DOM node ourselves. See the README for more information.\n findDOMNode() /*: ?HTMLElement*/{\n var _this$props, _this$props2;\n return (_this$props = this.props) !== null && _this$props !== void 0 && _this$props.nodeRef ? (_this$props2 = this.props) === null || _this$props2 === void 0 || (_this$props2 = _this$props2.nodeRef) === null || _this$props2 === void 0 ? void 0 : _this$props2.current : _reactDom.default.findDOMNode(this);\n }\n render() /*: React.Element<any>*/{\n // Reuse the child provided\n // This makes it flexible to use whatever element is wanted (div, ul, etc)\n return /*#__PURE__*/React.cloneElement(React.Children.only(this.props.children), {\n // Note: mouseMove handler is attached to document so it will still function\n // when the user drags quickly and leaves the bounds of the element.\n onMouseDown: this.onMouseDown,\n onMouseUp: this.onMouseUp,\n // onTouchStart is added on `componentDidMount` so they can be added with\n // {passive: false}, which allows it to cancel. See\n // https://developers.google.com/web/updates/2017/01/scrolling-intervention\n onTouchEnd: this.onTouchEnd\n });\n }\n}\nexports.default = DraggableCore;\n_defineProperty(DraggableCore, \"displayName\", 'DraggableCore');\n_defineProperty(DraggableCore, \"propTypes\", {\n /**\n * `allowAnyClick` allows dragging using any mouse button.\n * By default, we only accept the left button.\n *\n * Defaults to `false`.\n */\n allowAnyClick: _propTypes.default.bool,\n children: _propTypes.default.node.isRequired,\n /**\n * `disabled`, if true, stops the <Draggable> from dragging. All handlers,\n * with the exception of `onMouseDown`, will not fire.\n */\n disabled: _propTypes.default.bool,\n /**\n * By default, we add 'user-select:none' attributes to the document body\n * to prevent ugly text selection during drag. If this is causing problems\n * for your app, set this to `false`.\n */\n enableUserSelectHack: _propTypes.default.bool,\n /**\n * `offsetParent`, if set, uses the passed DOM node to compute drag offsets\n * instead of using the parent node.\n */\n offsetParent: function (props /*: DraggableCoreProps*/, propName /*: $Keys<DraggableCoreProps>*/) {\n if (props[propName] && props[propName].nodeType !== 1) {\n throw new Error('Draggable\\'s offsetParent must be a DOM Node.');\n }\n },\n /**\n * `grid` specifies the x and y that dragging should snap to.\n */\n grid: _propTypes.default.arrayOf(_propTypes.default.number),\n /**\n * `handle` specifies a selector to be used as the handle that initiates drag.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * <Draggable handle=\".handle\">\n * <div>\n * <div className=\"handle\">Click me to drag</div>\n * <div>This is some other content</div>\n * </div>\n * </Draggable>\n * );\n * }\n * });\n * ```\n */\n handle: _propTypes.default.string,\n /**\n * `cancel` specifies a selector to be used to prevent drag initialization.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return(\n * <Draggable cancel=\".cancel\">\n * <div>\n * <div className=\"cancel\">You can't drag from here</div>\n * <div>Dragging here works fine</div>\n * </div>\n * </Draggable>\n * );\n * }\n * });\n * ```\n */\n cancel: _propTypes.default.string,\n /* If running in React Strict mode, ReactDOM.findDOMNode() is deprecated.\n * Unfortunately, in order for <Draggable> to work properly, we need raw access\n * to the underlying DOM node. If you want to avoid the warning, pass a `nodeRef`\n * as in this example:\n *\n * function MyComponent() {\n * const nodeRef = React.useRef(null);\n * return (\n * <Draggable nodeRef={nodeRef}>\n * <div ref={nodeRef}>Example Target</div>\n * </Draggable>\n * );\n * }\n *\n * This can be used for arbitrarily nested components, so long as the ref ends up\n * pointing to the actual child DOM node and not a custom component.\n */\n nodeRef: _propTypes.default.object,\n /**\n * Called when dragging starts.\n * If this function returns the boolean false, dragging will be canceled.\n */\n onStart: _propTypes.default.func,\n /**\n * Called while dragging.\n * If this function returns the boolean false, dragging will be canceled.\n */\n onDrag: _propTypes.default.func,\n /**\n * Called when dragging stops.\n * If this function returns the boolean false, the drag will remain active.\n */\n onStop: _propTypes.default.func,\n /**\n * A workaround option which can be passed if onMouseDown needs to be accessed,\n * since it'll always be blocked (as there is internal use of onMouseDown)\n */\n onMouseDown: _propTypes.default.func,\n /**\n * `scale`, if set, applies scaling while dragging an element\n */\n scale: _propTypes.default.number,\n /**\n * These properties should be defined on the child, not here.\n */\n className: _shims.dontSetMe,\n style: _shims.dontSetMe,\n transform: _shims.dontSetMe\n});\n_defineProperty(DraggableCore, \"defaultProps\", {\n allowAnyClick: false,\n // by default only accept left click\n disabled: false,\n enableUserSelectHack: true,\n onStart: function () {},\n onDrag: function () {},\n onStop: function () {},\n onMouseDown: function () {},\n scale: 1\n});","\"use strict\";\n\nconst {\n default: Draggable,\n DraggableCore\n} = require('./Draggable');\n\n// Previous versions of this lib exported <Draggable> as the root export. As to no-// them, or TypeScript, we export *both* as the root and as 'default'.\n// See https://github.com/mzabriskie/react-draggable/pull/254\n// and https://github.com/mzabriskie/react-draggable/issues/266\nmodule.exports = Draggable;\nmodule.exports.default = Draggable;\nmodule.exports.DraggableCore = DraggableCore;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addClassName = addClassName;\nexports.addEvent = addEvent;\nexports.addUserSelectStyles = addUserSelectStyles;\nexports.createCSSTransform = createCSSTransform;\nexports.createSVGTransform = createSVGTransform;\nexports.getTouch = getTouch;\nexports.getTouchIdentifier = getTouchIdentifier;\nexports.getTranslation = getTranslation;\nexports.innerHeight = innerHeight;\nexports.innerWidth = innerWidth;\nexports.matchesSelector = matchesSelector;\nexports.matchesSelectorAndParentsTo = matchesSelectorAndParentsTo;\nexports.offsetXYFromParent = offsetXYFromParent;\nexports.outerHeight = outerHeight;\nexports.outerWidth = outerWidth;\nexports.removeClassName = removeClassName;\nexports.removeEvent = removeEvent;\nexports.removeUserSelectStyles = removeUserSelectStyles;\nvar _shims = require(\"./shims\");\nvar _getPrefix = _interopRequireWildcard(require(\"./getPrefix\"));\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n/*:: import type {ControlPosition, PositionOffsetControlPosition, MouseTouchEvent} from './types';*/\nlet matchesSelectorFunc = '';\nfunction matchesSelector(el /*: Node*/, selector /*: string*/) /*: boolean*/{\n if (!matchesSelectorFunc) {\n matchesSelectorFunc = (0, _shims.findInArray)(['matches', 'webkitMatchesSelector', 'mozMatchesSelector', 'msMatchesSelector', 'oMatchesSelector'], function (method) {\n // $FlowIgnore: Doesn't think elements are indexable\n return (0, _shims.isFunction)(el[method]);\n });\n }\n\n // Might not be found entirely (not an Element?) - in that case, bail\n // $FlowIgnore: Doesn't think elements are indexable\n if (!(0, _shims.isFunction)(el[matchesSelectorFunc])) return false;\n\n // $FlowIgnore: Doesn't think elements are indexable\n return el[matchesSelectorFunc](selector);\n}\n\n// Works up the tree to the draggable itself attempting to match selector.\nfunction matchesSelectorAndParentsTo(el /*: Node*/, selector /*: string*/, baseNode /*: Node*/) /*: boolean*/{\n let node = el;\n do {\n if (matchesSelector(node, selector)) return true;\n if (node === baseNode) return false;\n // $FlowIgnore[incompatible-type]\n node = node.parentNode;\n } while (node);\n return false;\n}\nfunction addEvent(el /*: ?Node*/, event /*: string*/, handler /*: Function*/, inputOptions /*: Object*/) /*: void*/{\n if (!el) return;\n const options = {\n capture: true,\n ...inputOptions\n };\n // $FlowIgnore[method-unbinding]\n if (el.addEventListener) {\n el.addEventListener(event, handler, options);\n } else if (el.attachEvent) {\n el.attachEvent('on' + event, handler);\n } else {\n // $FlowIgnore: Doesn't think elements are indexable\n el['on' + event] = handler;\n }\n}\nfunction removeEvent(el /*: ?Node*/, event /*: string*/, handler /*: Function*/, inputOptions /*: Object*/) /*: void*/{\n if (!el) return;\n const options = {\n capture: true,\n ...inputOptions\n };\n // $FlowIgnore[method-unbinding]\n if (el.removeEventListener) {\n el.removeEventListener(event, handler, options);\n } else if (el.detachEvent) {\n el.detachEvent('on' + event, handler);\n } else {\n // $FlowIgnore: Doesn't think elements are indexable\n el['on' + event] = null;\n }\n}\nfunction outerHeight(node /*: HTMLElement*/) /*: number*/{\n // This is deliberately excluding margin for our calculations, since we are using\n // offsetTop which is including margin. See getBoundPosition\n let height = node.clientHeight;\n const computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n height += (0, _shims.int)(computedStyle.borderTopWidth);\n height += (0, _shims.int)(computedStyle.borderBottomWidth);\n return height;\n}\nfunction outerWidth(node /*: HTMLElement*/) /*: number*/{\n // This is deliberately excluding margin for our calculations, since we are using\n // offsetLeft which is including margin. See getBoundPosition\n let width = node.clientWidth;\n const computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n width += (0, _shims.int)(computedStyle.borderLeftWidth);\n width += (0, _shims.int)(computedStyle.borderRightWidth);\n return width;\n}\nfunction innerHeight(node /*: HTMLElement*/) /*: number*/{\n let height = node.clientHeight;\n const computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n height -= (0, _shims.int)(computedStyle.paddingTop);\n height -= (0, _shims.int)(computedStyle.paddingBottom);\n return height;\n}\nfunction innerWidth(node /*: HTMLElement*/) /*: number*/{\n let width = node.clientWidth;\n const computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n width -= (0, _shims.int)(computedStyle.paddingLeft);\n width -= (0, _shims.int)(computedStyle.paddingRight);\n return width;\n}\n/*:: interface EventWithOffset {\n clientX: number, clientY: number\n}*/\n// Get from offsetParent\nfunction offsetXYFromParent(evt /*: EventWithOffset*/, offsetParent /*: HTMLElement*/, scale /*: number*/) /*: ControlPosition*/{\n const isBody = offsetParent === offsetParent.ownerDocument.body;\n const offsetParentRect = isBody ? {\n left: 0,\n top: 0\n } : offsetParent.getBoundingClientRect();\n const x = (evt.clientX + offsetParent.scrollLeft - offsetParentRect.left) / scale;\n const y = (evt.clientY + offsetParent.scrollTop - offsetParentRect.top) / scale;\n return {\n x,\n y\n };\n}\nfunction createCSSTransform(controlPos /*: ControlPosition*/, positionOffset /*: PositionOffsetControlPosition*/) /*: Object*/{\n const translation = getTranslation(controlPos, positionOffset, 'px');\n return {\n [(0, _getPrefix.browserPrefixToKey)('transform', _getPrefix.default)]: translation\n };\n}\nfunction createSVGTransform(controlPos /*: ControlPosition*/, positionOffset /*: PositionOffsetControlPosition*/) /*: string*/{\n const translation = getTranslation(controlPos, positionOffset, '');\n return translation;\n}\nfunction getTranslation(_ref /*:: */, positionOffset /*: PositionOffsetControlPosition*/, unitSuffix /*: string*/) /*: string*/{\n let {\n x,\n y\n } /*: ControlPosition*/ = _ref /*: ControlPosition*/;\n let translation = \"translate(\".concat(x).concat(unitSuffix, \",\").concat(y).concat(unitSuffix, \")\");\n if (positionOffset) {\n const defaultX = \"\".concat(typeof positionOffset.x === 'string' ? positionOffset.x : positionOffset.x + unitSuffix);\n const defaultY = \"\".concat(typeof positionOffset.y === 'string' ? positionOffset.y : positionOffset.y + unitSuffix);\n translation = \"translate(\".concat(defaultX, \", \").concat(defaultY, \")\") + translation;\n }\n return translation;\n}\nfunction getTouch(e /*: MouseTouchEvent*/, identifier /*: number*/) /*: ?{clientX: number, clientY: number}*/{\n return e.targetTouches && (0, _shims.findInArray)(e.targetTouches, t => identifier === t.identifier) || e.changedTouches && (0, _shims.findInArray)(e.changedTouches, t => identifier === t.identifier);\n}\nfunction getTouchIdentifier(e /*: MouseTouchEvent*/) /*: ?number*/{\n if (e.targetTouches && e.targetTouches[0]) return e.targetTouches[0].identifier;\n if (e.changedTouches && e.changedTouches[0]) return e.changedTouches[0].identifier;\n}\n\n// User-select Hacks:\n//\n// Useful for preventing blue highlights all over everything when dragging.\n\n// Note we're passing `document` b/c we could be iframed\nfunction addUserSelectStyles(doc /*: ?Document*/) {\n if (!doc) return;\n let styleEl = doc.getElementById('react-draggable-style-el');\n if (!styleEl) {\n styleEl = doc.createElement('style');\n styleEl.type = 'text/css';\n styleEl.id = 'react-draggable-style-el';\n styleEl.innerHTML = '.react-draggable-transparent-selection *::-moz-selection {all: inherit;}\\n';\n styleEl.innerHTML += '.react-draggable-transparent-selection *::selection {all: inherit;}\\n';\n doc.getElementsByTagName('head')[0].appendChild(styleEl);\n }\n if (doc.body) addClassName(doc.body, 'react-draggable-transparent-selection');\n}\nfunction removeUserSelectStyles(doc /*: ?Document*/) {\n if (!doc) return;\n try {\n if (doc.body) removeClassName(doc.body, 'react-draggable-transparent-selection');\n // $FlowIgnore: IE\n if (doc.selection) {\n // $FlowIgnore: IE\n doc.selection.empty();\n } else {\n // Remove selection caused by scroll, unless it's a focused input\n // (we use doc.defaultView in case we're in an iframe)\n const selection = (doc.defaultView || window).getSelection();\n if (selection && selection.type !== 'Caret') {\n selection.removeAllRanges();\n }\n }\n } catch (e) {\n // probably IE\n }\n}\nfunction addClassName(el /*: HTMLElement*/, className /*: string*/) {\n if (el.classList) {\n el.classList.add(className);\n } else {\n if (!el.className.match(new RegExp(\"(?:^|\\\\s)\".concat(className, \"(?!\\\\S)\")))) {\n el.className += \" \".concat(className);\n }\n }\n}\nfunction removeClassName(el /*: HTMLElement*/, className /*: string*/) {\n if (el.classList) {\n el.classList.remove(className);\n } else {\n el.className = el.className.replace(new RegExp(\"(?:^|\\\\s)\".concat(className, \"(?!\\\\S)\"), 'g'), '');\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.browserPrefixToKey = browserPrefixToKey;\nexports.browserPrefixToStyle = browserPrefixToStyle;\nexports.default = void 0;\nexports.getPrefix = getPrefix;\nconst prefixes = ['Moz', 'Webkit', 'O', 'ms'];\nfunction getPrefix() /*: string*/{\n var _window$document;\n let prop /*: string*/ = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'transform';\n // Ensure we're running in an environment where there is actually a global\n // `window` obj\n if (typeof window === 'undefined') return '';\n\n // If we're in a pseudo-browser server-side environment, this access\n // path may not exist, so bail out if it doesn't.\n const style = (_window$document = window.document) === null || _window$document === void 0 || (_window$document = _window$document.documentElement) === null || _window$document === void 0 ? void 0 : _window$document.style;\n if (!style) return '';\n if (prop in style) return '';\n for (let i = 0; i < prefixes.length; i++) {\n if (browserPrefixToKey(prop, prefixes[i]) in style) return prefixes[i];\n }\n return '';\n}\nfunction browserPrefixToKey(prop /*: string*/, prefix /*: string*/) /*: string*/{\n return prefix ? \"\".concat(prefix).concat(kebabToTitleCase(prop)) : prop;\n}\nfunction browserPrefixToStyle(prop /*: string*/, prefix /*: string*/) /*: string*/{\n return prefix ? \"-\".concat(prefix.toLowerCase(), \"-\").concat(prop) : prop;\n}\nfunction kebabToTitleCase(str /*: string*/) /*: string*/{\n let out = '';\n let shouldCapitalize = true;\n for (let i = 0; i < str.length; i++) {\n if (shouldCapitalize) {\n out += str[i].toUpperCase();\n shouldCapitalize = false;\n } else if (str[i] === '-') {\n shouldCapitalize = true;\n } else {\n out += str[i];\n }\n }\n return out;\n}\n\n// Default export is the prefix itself, like 'Moz', 'Webkit', etc\n// Note that you may have to re-test for certain things; for instance, Chrome 50\n// can handle unprefixed `transform`, but not unprefixed `user-select`\nvar _default = exports.default = (getPrefix() /*: string*/);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = log;\n/*eslint no-console:0*/\nfunction log() {\n if (undefined) console.log(...arguments);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.canDragX = canDragX;\nexports.canDragY = canDragY;\nexports.createCoreData = createCoreData;\nexports.createDraggableData = createDraggableData;\nexports.getBoundPosition = getBoundPosition;\nexports.getControlPosition = getControlPosition;\nexports.snapToGrid = snapToGrid;\nvar _shims = require(\"./shims\");\nvar _domFns = require(\"./domFns\");\n/*:: import type Draggable from '../Draggable';*/\n/*:: import type {Bounds, ControlPosition, DraggableData, MouseTouchEvent} from './types';*/\n/*:: import type DraggableCore from '../DraggableCore';*/\nfunction getBoundPosition(draggable /*: Draggable*/, x /*: number*/, y /*: number*/) /*: [number, number]*/{\n // If no bounds, short-circuit and move on\n if (!draggable.props.bounds) return [x, y];\n\n // Clone new bounds\n let {\n bounds\n } = draggable.props;\n bounds = typeof bounds === 'string' ? bounds : cloneBounds(bounds);\n const node = findDOMNode(draggable);\n if (typeof bounds === 'string') {\n const {\n ownerDocument\n } = node;\n const ownerWindow = ownerDocument.defaultView;\n let boundNode;\n if (bounds === 'parent') {\n boundNode = node.parentNode;\n } else {\n boundNode = ownerDocument.querySelector(bounds);\n }\n if (!(boundNode instanceof ownerWindow.HTMLElement)) {\n throw new Error('Bounds selector \"' + bounds + '\" could not find an element.');\n }\n const boundNodeEl /*: HTMLElement*/ = boundNode; // for Flow, can't seem to refine correctly\n const nodeStyle = ownerWindow.getComputedStyle(node);\n const boundNodeStyle = ownerWindow.getComputedStyle(boundNodeEl);\n // Compute bounds. This is a pain with padding and offsets but this gets it exactly right.\n bounds = {\n left: -node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingLeft) + (0, _shims.int)(nodeStyle.marginLeft),\n top: -node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingTop) + (0, _shims.int)(nodeStyle.marginTop),\n right: (0, _domFns.innerWidth)(boundNodeEl) - (0, _domFns.outerWidth)(node) - node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingRight) - (0, _shims.int)(nodeStyle.marginRight),\n bottom: (0, _domFns.innerHeight)(boundNodeEl) - (0, _domFns.outerHeight)(node) - node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingBottom) - (0, _shims.int)(nodeStyle.marginBottom)\n };\n }\n\n // Keep x and y below right and bottom limits...\n if ((0, _shims.isNum)(bounds.right)) x = Math.min(x, bounds.right);\n if ((0, _shims.isNum)(bounds.bottom)) y = Math.min(y, bounds.bottom);\n\n // But above left and top limits.\n if ((0, _shims.isNum)(bounds.left)) x = Math.max(x, bounds.left);\n if ((0, _shims.isNum)(bounds.top)) y = Math.max(y, bounds.top);\n return [x, y];\n}\nfunction snapToGrid(grid /*: [number, number]*/, pendingX /*: number*/, pendingY /*: number*/) /*: [number, number]*/{\n const x = Math.round(pendingX / grid[0]) * grid[0];\n const y = Math.round(pendingY / grid[1]) * grid[1];\n return [x, y];\n}\nfunction canDragX(draggable /*: Draggable*/) /*: boolean*/{\n return draggable.props.axis === 'both' || draggable.props.axis === 'x';\n}\nfunction canDragY(draggable /*: Draggable*/) /*: boolean*/{\n return draggable.props.axis === 'both' || draggable.props.axis === 'y';\n}\n\n// Get {x, y} positions from event.\nfunction getControlPosition(e /*: MouseTouchEvent*/, touchIdentifier /*: ?number*/, draggableCore /*: DraggableCore*/) /*: ?ControlPosition*/{\n const touchObj = typeof touchIdentifier === 'number' ? (0, _domFns.getTouch)(e, touchIdentifier) : null;\n if (typeof touchIdentifier === 'number' && !touchObj) return null; // not the right touch\n const node = findDOMNode(draggableCore);\n // User can provide an offsetParent if desired.\n const offsetParent = draggableCore.props.offsetParent || node.offsetParent || node.ownerDocument.body;\n return (0, _domFns.offsetXYFromParent)(touchObj || e, offsetParent, draggableCore.props.scale);\n}\n\n// Create an data object exposed by <DraggableCore>'s events\nfunction createCoreData(draggable /*: DraggableCore*/, x /*: number*/, y /*: number*/) /*: DraggableData*/{\n const isStart = !(0, _shims.isNum)(draggable.lastX);\n const node = findDOMNode(draggable);\n if (isStart) {\n // If this is our first move, use the x and y as last coords.\n return {\n node,\n deltaX: 0,\n deltaY: 0,\n lastX: x,\n lastY: y,\n x,\n y\n };\n } else {\n // Otherwise calculate proper values.\n return {\n node,\n deltaX: x - draggable.lastX,\n deltaY: y - draggable.lastY,\n lastX: draggable.lastX,\n lastY: draggable.lastY,\n x,\n y\n };\n }\n}\n\n// Create an data exposed by <Draggable>'s events\nfunction createDraggableData(draggable /*: Draggable*/, coreData /*: DraggableData*/) /*: DraggableData*/{\n const scale = draggable.props.scale;\n return {\n node: coreData.node,\n x: draggable.state.x + coreData.deltaX / scale,\n y: draggable.state.y + coreData.deltaY / scale,\n deltaX: coreData.deltaX / scale,\n deltaY: coreData.deltaY / scale,\n lastX: draggable.state.x,\n lastY: draggable.state.y\n };\n}\n\n// A lot faster than stringify/parse\nfunction cloneBounds(bounds /*: Bounds*/) /*: Bounds*/{\n return {\n left: bounds.left,\n top: bounds.top,\n right: bounds.right,\n bottom: bounds.bottom\n };\n}\nfunction findDOMNode(draggable /*: Draggable | DraggableCore*/) /*: HTMLElement*/{\n const node = draggable.findDOMNode();\n if (!node) {\n throw new Error('<DraggableCore>: Unmounted during event!');\n }\n // $FlowIgnore we can't assert on HTMLElement due to tests... FIXME\n return node;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.dontSetMe = dontSetMe;\nexports.findInArray = findInArray;\nexports.int = int;\nexports.isFunction = isFunction;\nexports.isNum = isNum;\n// @credits https://gist.github.com/rogozhnikoff/a43cfed27c41e4e68cdc\nfunction findInArray(array /*: Array<any> | TouchList*/, callback /*: Function*/) /*: any*/{\n for (let i = 0, length = array.length; i < length; i++) {\n if (callback.apply(callback, [array[i], i, array])) return array[i];\n }\n}\nfunction isFunction(func /*: any*/) /*: boolean %checks*/{\n // $FlowIgnore[method-unbinding]\n return typeof func === 'function' || Object.prototype.toString.call(func) === '[object Function]';\n}\nfunction isNum(num /*: any*/) /*: boolean %checks*/{\n return typeof num === 'number' && !isNaN(num);\n}\nfunction int(a /*: string*/) /*: number*/{\n return parseInt(a, 10);\n}\nfunction dontSetMe(props /*: Object*/, propName /*: string*/, componentName /*: string*/) /*: ?Error*/{\n if (props[propName]) {\n return new Error(\"Invalid prop \".concat(propName, \" passed to \").concat(componentName, \" - do not set this, set it on the child.\"));\n }\n}","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f);else for(t in e)e[t]&&(n&&(n+=\" \"),n+=t);return n}export function clsx(){for(var e,t,f=0,n=\"\";f<arguments.length;)(e=arguments[f++])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","/**\n * @license React\n * react-is.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\nSymbol.for(\"react.provider\");\nvar REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_OFFSCREEN_TYPE = Symbol.for(\"react.offscreen\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\");\nfunction typeOf(object) {\n if (\"object\" === typeof object && null !== object) {\n var $$typeof = object.$$typeof;\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n switch (((object = object.type), object)) {\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n case REACT_SUSPENSE_LIST_TYPE:\n return object;\n default:\n switch (((object = object && object.$$typeof), object)) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n return object;\n case REACT_CONSUMER_TYPE:\n return object;\n default:\n return $$typeof;\n }\n }\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n}\nexports.ContextConsumer = REACT_CONSUMER_TYPE;\nexports.ContextProvider = REACT_CONTEXT_TYPE;\nexports.Element = REACT_ELEMENT_TYPE;\nexports.ForwardRef = REACT_FORWARD_REF_TYPE;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Lazy = REACT_LAZY_TYPE;\nexports.Memo = REACT_MEMO_TYPE;\nexports.Portal = REACT_PORTAL_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.SuspenseList = REACT_SUSPENSE_LIST_TYPE;\nexports.isContextConsumer = function (object) {\n return typeOf(object) === REACT_CONSUMER_TYPE;\n};\nexports.isContextProvider = function (object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n};\nexports.isElement = function (object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n};\nexports.isForwardRef = function (object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n};\nexports.isFragment = function (object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n};\nexports.isLazy = function (object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n};\nexports.isMemo = function (object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n};\nexports.isPortal = function (object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n};\nexports.isProfiler = function (object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n};\nexports.isStrictMode = function (object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n};\nexports.isSuspense = function (object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n};\nexports.isSuspenseList = function (object) {\n return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;\n};\nexports.isValidElementType = function (type) {\n return \"string\" === typeof type ||\n \"function\" === typeof type ||\n type === REACT_FRAGMENT_TYPE ||\n type === REACT_PROFILER_TYPE ||\n type === REACT_STRICT_MODE_TYPE ||\n type === REACT_SUSPENSE_TYPE ||\n type === REACT_SUSPENSE_LIST_TYPE ||\n type === REACT_OFFSCREEN_TYPE ||\n (\"object\" === typeof type &&\n null !== type &&\n (type.$$typeof === REACT_LAZY_TYPE ||\n type.$$typeof === REACT_MEMO_TYPE ||\n type.$$typeof === REACT_CONTEXT_TYPE ||\n type.$$typeof === REACT_CONSUMER_TYPE ||\n type.$$typeof === REACT_FORWARD_REF_TYPE ||\n type.$$typeof === REACT_CLIENT_REFERENCE ||\n void 0 !== type.getModuleId))\n ? !0\n : !1;\n};\nexports.typeOf = typeOf;\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};function X(){throw Error(\"act(...) is not supported in production builds of React.\");}\nexports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;exports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;exports.act=X;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=X;exports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};\nexports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};exports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};\nexports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};exports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.3.1\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","\n/**\n * Topological sorting function\n *\n * @param {Array} edges\n * @returns {Array}\n */\n\nmodule.exports = function(edges) {\n return toposort(uniqueNodes(edges), edges)\n}\n\nmodule.exports.array = toposort\n\nfunction toposort(nodes, edges) {\n var cursor = nodes.length\n , sorted = new Array(cursor)\n , visited = {}\n , i = cursor\n // Better data structures make algorithm much faster.\n , outgoingEdges = makeOutgoingEdges(edges)\n , nodesHash = makeNodesHash(nodes)\n\n // check for unknown nodes\n edges.forEach(function(edge) {\n if (!nodesHash.has(edge[0]) || !nodesHash.has(edge[1])) {\n throw new Error('Unknown node. There is an unknown node in the supplied edges.')\n }\n })\n\n while (i--) {\n if (!visited[i]) visit(nodes[i], i, new Set())\n }\n\n return sorted\n\n function visit(node, i, predecessors) {\n if(predecessors.has(node)) {\n var nodeRep\n try {\n nodeRep = \", node was:\" + JSON.stringify(node)\n } catch(e) {\n nodeRep = \"\"\n }\n throw new Error('Cyclic dependency' + nodeRep)\n }\n\n if (!nodesHash.has(node)) {\n throw new Error('Found unknown node. Make sure to provided all involved nodes. Unknown node: '+JSON.stringify(node))\n }\n\n if (visited[i]) return;\n visited[i] = true\n\n var outgoing = outgoingEdges.get(node) || new Set()\n outgoing = Array.from(outgoing)\n\n if (i = outgoing.length) {\n predecessors.add(node)\n do {\n var child = outgoing[--i]\n visit(child, nodesHash.get(child), predecessors)\n } while (i)\n predecessors.delete(node)\n }\n\n sorted[--cursor] = node\n }\n}\n\nfunction uniqueNodes(arr){\n var res = new Set()\n for (var i = 0, len = arr.length; i < len; i++) {\n var edge = arr[i]\n res.add(edge[0])\n res.add(edge[1])\n }\n return Array.from(res)\n}\n\nfunction makeOutgoingEdges(arr){\n var edges = new Map()\n for (var i = 0, len = arr.length; i < len; i++) {\n var edge = arr[i]\n if (!edges.has(edge[0])) edges.set(edge[0], new Set())\n if (!edges.has(edge[1])) edges.set(edge[1], new Set())\n edges.get(edge[0]).add(edge[1])\n }\n return edges\n}\n\nfunction makeNodesHash(arr){\n var res = new Map()\n for (var i = 0, len = arr.length; i < len; i++) {\n res.set(arr[i], i)\n }\n return res\n}\n","function _extends() {\n return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(e) {\n return e && e.__esModule ? e : {\n \"default\": e\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + chunkId + \".\" + \"abd36b29\" + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"frontend:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t792: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkfrontend\"] = self[\"webpackChunkfrontend\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","'use client';\n\nimport * as React from 'react';\nimport { ThemeContext } from '@mui/styled-engine';\nfunction isObjectEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction useTheme(defaultTheme = null) {\n const contextTheme = React.useContext(ThemeContext);\n return !contextTheme || isObjectEmpty(contextTheme) ? defaultTheme : contextTheme;\n}\nexport default useTheme;","'use client';\n\nimport createTheme from './createTheme';\nimport useThemeWithoutDefault from './useThemeWithoutDefault';\nexport const systemDefaultTheme = createTheme();\nfunction useTheme(defaultTheme = systemDefaultTheme) {\n return useThemeWithoutDefault(defaultTheme);\n}\nexport default useTheme;","'use client';\n\nimport * as React from 'react';\nimport { useTheme as useThemeSystem } from '@mui/system';\nimport defaultTheme from './defaultTheme';\nimport THEME_ID from './identifier';\nexport default function useTheme() {\n const theme = useThemeSystem(defaultTheme);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(theme);\n }\n return theme[THEME_ID] || theme;\n}","'use client';\n\nimport * as React from 'react';\n\n/**\n * @ignore - internal component.\n */\nconst GridContext = /*#__PURE__*/React.createContext();\nif (process.env.NODE_ENV !== 'production') {\n GridContext.displayName = 'GridContext';\n}\nexport default GridContext;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getGridUtilityClass(slot) {\n return generateUtilityClass('MuiGrid', slot);\n}\nconst SPACINGS = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\nconst DIRECTIONS = ['column-reverse', 'column', 'row-reverse', 'row'];\nconst WRAPS = ['nowrap', 'wrap-reverse', 'wrap'];\nconst GRID_SIZES = ['auto', true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\nconst gridClasses = generateUtilityClasses('MuiGrid', ['root', 'container', 'item', 'zeroMinWidth',\n// spacings\n...SPACINGS.map(spacing => `spacing-xs-${spacing}`),\n// direction values\n...DIRECTIONS.map(direction => `direction-xs-${direction}`),\n// wrap values\n...WRAPS.map(wrap => `wrap-xs-${wrap}`),\n// grid sizes for all breakpoints\n...GRID_SIZES.map(size => `grid-xs-${size}`), ...GRID_SIZES.map(size => `grid-sm-${size}`), ...GRID_SIZES.map(size => `grid-md-${size}`), ...GRID_SIZES.map(size => `grid-lg-${size}`), ...GRID_SIZES.map(size => `grid-xl-${size}`)]);\nexport default gridClasses;","'use client';\n\n// A grid component using the following libs as inspiration.\n//\n// For the implementation:\n// - https://getbootstrap.com/docs/4.3/layout/grid/\n// - https://github.com/kristoferjoseph/flexboxgrid/blob/master/src/css/flexboxgrid.css\n// - https://github.com/roylee0704/react-flexbox-grid\n// - https://material.angularjs.org/latest/layout/introduction\n//\n// Follow this flexbox Guide to better understand the underlying model:\n// - https://css-tricks.com/snippets/css/a-guide-to-flexbox/\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"columns\", \"columnSpacing\", \"component\", \"container\", \"direction\", \"item\", \"rowSpacing\", \"spacing\", \"wrap\", \"zeroMinWidth\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { handleBreakpoints, unstable_resolveBreakpointValues as resolveBreakpointValues } from '@mui/system';\nimport { extendSxProp } from '@mui/system/styleFunctionSx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport requirePropFactory from '../utils/requirePropFactory';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport useTheme from '../styles/useTheme';\nimport GridContext from './GridContext';\nimport gridClasses, { getGridUtilityClass } from './gridClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction getOffset(val) {\n const parse = parseFloat(val);\n return `${parse}${String(val).replace(String(parse), '') || 'px'}`;\n}\nexport function generateGrid({\n theme,\n ownerState\n}) {\n let size;\n return theme.breakpoints.keys.reduce((globalStyles, breakpoint) => {\n // Use side effect over immutability for better performance.\n let styles = {};\n if (ownerState[breakpoint]) {\n size = ownerState[breakpoint];\n }\n if (!size) {\n return globalStyles;\n }\n if (size === true) {\n // For the auto layouting\n styles = {\n flexBasis: 0,\n flexGrow: 1,\n maxWidth: '100%'\n };\n } else if (size === 'auto') {\n styles = {\n flexBasis: 'auto',\n flexGrow: 0,\n flexShrink: 0,\n maxWidth: 'none',\n width: 'auto'\n };\n } else {\n const columnsBreakpointValues = resolveBreakpointValues({\n values: ownerState.columns,\n breakpoints: theme.breakpoints.values\n });\n const columnValue = typeof columnsBreakpointValues === 'object' ? columnsBreakpointValues[breakpoint] : columnsBreakpointValues;\n if (columnValue === undefined || columnValue === null) {\n return globalStyles;\n }\n // Keep 7 significant numbers.\n const width = `${Math.round(size / columnValue * 10e7) / 10e5}%`;\n let more = {};\n if (ownerState.container && ownerState.item && ownerState.columnSpacing !== 0) {\n const themeSpacing = theme.spacing(ownerState.columnSpacing);\n if (themeSpacing !== '0px') {\n const fullWidth = `calc(${width} + ${getOffset(themeSpacing)})`;\n more = {\n flexBasis: fullWidth,\n maxWidth: fullWidth\n };\n }\n }\n\n // Close to the bootstrap implementation:\n // https://github.com/twbs/bootstrap/blob/8fccaa2439e97ec72a4b7dc42ccc1f649790adb0/scss/mixins/_grid.scss#L41\n styles = _extends({\n flexBasis: width,\n flexGrow: 0,\n maxWidth: width\n }, more);\n }\n\n // No need for a media query for the first size.\n if (theme.breakpoints.values[breakpoint] === 0) {\n Object.assign(globalStyles, styles);\n } else {\n globalStyles[theme.breakpoints.up(breakpoint)] = styles;\n }\n return globalStyles;\n }, {});\n}\nexport function generateDirection({\n theme,\n ownerState\n}) {\n const directionValues = resolveBreakpointValues({\n values: ownerState.direction,\n breakpoints: theme.breakpoints.values\n });\n return handleBreakpoints({\n theme\n }, directionValues, propValue => {\n const output = {\n flexDirection: propValue\n };\n if (propValue.indexOf('column') === 0) {\n output[`& > .${gridClasses.item}`] = {\n maxWidth: 'none'\n };\n }\n return output;\n });\n}\n\n/**\n * Extracts zero value breakpoint keys before a non-zero value breakpoint key.\n * @example { xs: 0, sm: 0, md: 2, lg: 0, xl: 0 } or [0, 0, 2, 0, 0]\n * @returns [xs, sm]\n */\nfunction extractZeroValueBreakpointKeys({\n breakpoints,\n values\n}) {\n let nonZeroKey = '';\n Object.keys(values).forEach(key => {\n if (nonZeroKey !== '') {\n return;\n }\n if (values[key] !== 0) {\n nonZeroKey = key;\n }\n });\n const sortedBreakpointKeysByValue = Object.keys(breakpoints).sort((a, b) => {\n return breakpoints[a] - breakpoints[b];\n });\n return sortedBreakpointKeysByValue.slice(0, sortedBreakpointKeysByValue.indexOf(nonZeroKey));\n}\nexport function generateRowGap({\n theme,\n ownerState\n}) {\n const {\n container,\n rowSpacing\n } = ownerState;\n let styles = {};\n if (container && rowSpacing !== 0) {\n const rowSpacingValues = resolveBreakpointValues({\n values: rowSpacing,\n breakpoints: theme.breakpoints.values\n });\n let zeroValueBreakpointKeys;\n if (typeof rowSpacingValues === 'object') {\n zeroValueBreakpointKeys = extractZeroValueBreakpointKeys({\n breakpoints: theme.breakpoints.values,\n values: rowSpacingValues\n });\n }\n styles = handleBreakpoints({\n theme\n }, rowSpacingValues, (propValue, breakpoint) => {\n var _zeroValueBreakpointK;\n const themeSpacing = theme.spacing(propValue);\n if (themeSpacing !== '0px') {\n return {\n marginTop: `-${getOffset(themeSpacing)}`,\n [`& > .${gridClasses.item}`]: {\n paddingTop: getOffset(themeSpacing)\n }\n };\n }\n if ((_zeroValueBreakpointK = zeroValueBreakpointKeys) != null && _zeroValueBreakpointK.includes(breakpoint)) {\n return {};\n }\n return {\n marginTop: 0,\n [`& > .${gridClasses.item}`]: {\n paddingTop: 0\n }\n };\n });\n }\n return styles;\n}\nexport function generateColumnGap({\n theme,\n ownerState\n}) {\n const {\n container,\n columnSpacing\n } = ownerState;\n let styles = {};\n if (container && columnSpacing !== 0) {\n const columnSpacingValues = resolveBreakpointValues({\n values: columnSpacing,\n breakpoints: theme.breakpoints.values\n });\n let zeroValueBreakpointKeys;\n if (typeof columnSpacingValues === 'object') {\n zeroValueBreakpointKeys = extractZeroValueBreakpointKeys({\n breakpoints: theme.breakpoints.values,\n values: columnSpacingValues\n });\n }\n styles = handleBreakpoints({\n theme\n }, columnSpacingValues, (propValue, breakpoint) => {\n var _zeroValueBreakpointK2;\n const themeSpacing = theme.spacing(propValue);\n if (themeSpacing !== '0px') {\n return {\n width: `calc(100% + ${getOffset(themeSpacing)})`,\n marginLeft: `-${getOffset(themeSpacing)}`,\n [`& > .${gridClasses.item}`]: {\n paddingLeft: getOffset(themeSpacing)\n }\n };\n }\n if ((_zeroValueBreakpointK2 = zeroValueBreakpointKeys) != null && _zeroValueBreakpointK2.includes(breakpoint)) {\n return {};\n }\n return {\n width: '100%',\n marginLeft: 0,\n [`& > .${gridClasses.item}`]: {\n paddingLeft: 0\n }\n };\n });\n }\n return styles;\n}\nexport function resolveSpacingStyles(spacing, breakpoints, styles = {}) {\n // undefined/null or `spacing` <= 0\n if (!spacing || spacing <= 0) {\n return [];\n }\n // in case of string/number `spacing`\n if (typeof spacing === 'string' && !Number.isNaN(Number(spacing)) || typeof spacing === 'number') {\n return [styles[`spacing-xs-${String(spacing)}`]];\n }\n // in case of object `spacing`\n const spacingStyles = [];\n breakpoints.forEach(breakpoint => {\n const value = spacing[breakpoint];\n if (Number(value) > 0) {\n spacingStyles.push(styles[`spacing-${breakpoint}-${String(value)}`]);\n }\n });\n return spacingStyles;\n}\n\n// Default CSS values\n// flex: '0 1 auto',\n// flexDirection: 'row',\n// alignItems: 'flex-start',\n// flexWrap: 'nowrap',\n// justifyContent: 'flex-start',\nconst GridRoot = styled('div', {\n name: 'MuiGrid',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n const {\n container,\n direction,\n item,\n spacing,\n wrap,\n zeroMinWidth,\n breakpoints\n } = ownerState;\n let spacingStyles = [];\n\n // in case of grid item\n if (container) {\n spacingStyles = resolveSpacingStyles(spacing, breakpoints, styles);\n }\n const breakpointsStyles = [];\n breakpoints.forEach(breakpoint => {\n const value = ownerState[breakpoint];\n if (value) {\n breakpointsStyles.push(styles[`grid-${breakpoint}-${String(value)}`]);\n }\n });\n return [styles.root, container && styles.container, item && styles.item, zeroMinWidth && styles.zeroMinWidth, ...spacingStyles, direction !== 'row' && styles[`direction-xs-${String(direction)}`], wrap !== 'wrap' && styles[`wrap-xs-${String(wrap)}`], ...breakpointsStyles];\n }\n})(({\n ownerState\n}) => _extends({\n boxSizing: 'border-box'\n}, ownerState.container && {\n display: 'flex',\n flexWrap: 'wrap',\n width: '100%'\n}, ownerState.item && {\n margin: 0 // For instance, it's useful when used with a `figure` element.\n}, ownerState.zeroMinWidth && {\n minWidth: 0\n}, ownerState.wrap !== 'wrap' && {\n flexWrap: ownerState.wrap\n}), generateDirection, generateRowGap, generateColumnGap, generateGrid);\nexport function resolveSpacingClasses(spacing, breakpoints) {\n // undefined/null or `spacing` <= 0\n if (!spacing || spacing <= 0) {\n return [];\n }\n // in case of string/number `spacing`\n if (typeof spacing === 'string' && !Number.isNaN(Number(spacing)) || typeof spacing === 'number') {\n return [`spacing-xs-${String(spacing)}`];\n }\n // in case of object `spacing`\n const classes = [];\n breakpoints.forEach(breakpoint => {\n const value = spacing[breakpoint];\n if (Number(value) > 0) {\n const className = `spacing-${breakpoint}-${String(value)}`;\n classes.push(className);\n }\n });\n return classes;\n}\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n container,\n direction,\n item,\n spacing,\n wrap,\n zeroMinWidth,\n breakpoints\n } = ownerState;\n let spacingClasses = [];\n\n // in case of grid item\n if (container) {\n spacingClasses = resolveSpacingClasses(spacing, breakpoints);\n }\n const breakpointsClasses = [];\n breakpoints.forEach(breakpoint => {\n const value = ownerState[breakpoint];\n if (value) {\n breakpointsClasses.push(`grid-${breakpoint}-${String(value)}`);\n }\n });\n const slots = {\n root: ['root', container && 'container', item && 'item', zeroMinWidth && 'zeroMinWidth', ...spacingClasses, direction !== 'row' && `direction-xs-${String(direction)}`, wrap !== 'wrap' && `wrap-xs-${String(wrap)}`, ...breakpointsClasses]\n };\n return composeClasses(slots, getGridUtilityClass, classes);\n};\nconst Grid = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {\n const themeProps = useDefaultProps({\n props: inProps,\n name: 'MuiGrid'\n });\n const {\n breakpoints\n } = useTheme();\n const props = extendSxProp(themeProps);\n const {\n className,\n columns: columnsProp,\n columnSpacing: columnSpacingProp,\n component = 'div',\n container = false,\n direction = 'row',\n item = false,\n rowSpacing: rowSpacingProp,\n spacing = 0,\n wrap = 'wrap',\n zeroMinWidth = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const rowSpacing = rowSpacingProp || spacing;\n const columnSpacing = columnSpacingProp || spacing;\n const columnsContext = React.useContext(GridContext);\n\n // columns set with default breakpoint unit of 12\n const columns = container ? columnsProp || 12 : columnsContext;\n const breakpointsValues = {};\n const otherFiltered = _extends({}, other);\n breakpoints.keys.forEach(breakpoint => {\n if (other[breakpoint] != null) {\n breakpointsValues[breakpoint] = other[breakpoint];\n delete otherFiltered[breakpoint];\n }\n });\n const ownerState = _extends({}, props, {\n columns,\n container,\n direction,\n item,\n rowSpacing,\n columnSpacing,\n wrap,\n zeroMinWidth,\n spacing\n }, breakpointsValues, {\n breakpoints: breakpoints.keys\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(GridContext.Provider, {\n value: columns,\n children: /*#__PURE__*/_jsx(GridRoot, _extends({\n ownerState: ownerState,\n className: clsx(classes.root, className),\n as: component,\n ref: ref\n }, otherFiltered))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Grid.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The number of columns.\n * @default 12\n */\n columns: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number, PropTypes.object]),\n /**\n * Defines the horizontal space between the type `item` components.\n * It overrides the value of the `spacing` prop.\n */\n columnSpacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the component will have the flex *container* behavior.\n * You should be wrapping *items* with a *container*.\n * @default false\n */\n container: PropTypes.bool,\n /**\n * Defines the `flex-direction` style property.\n * It is applied for all screen sizes.\n * @default 'row'\n */\n direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),\n /**\n * If `true`, the component will have the flex *item* behavior.\n * You should be wrapping *items* with a *container*.\n * @default false\n */\n item: PropTypes.bool,\n /**\n * If a number, it sets the number of columns the grid item uses.\n * It can't be greater than the total number of columns of the container (12 by default).\n * If 'auto', the grid item's width matches its content.\n * If false, the prop is ignored.\n * If true, the grid item's width grows to use the space available in the grid container.\n * The value is applied for the `lg` breakpoint and wider screens if not overridden.\n * @default false\n */\n lg: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.bool]),\n /**\n * If a number, it sets the number of columns the grid item uses.\n * It can't be greater than the total number of columns of the container (12 by default).\n * If 'auto', the grid item's width matches its content.\n * If false, the prop is ignored.\n * If true, the grid item's width grows to use the space available in the grid container.\n * The value is applied for the `md` breakpoint and wider screens if not overridden.\n * @default false\n */\n md: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.bool]),\n /**\n * Defines the vertical space between the type `item` components.\n * It overrides the value of the `spacing` prop.\n */\n rowSpacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n /**\n * If a number, it sets the number of columns the grid item uses.\n * It can't be greater than the total number of columns of the container (12 by default).\n * If 'auto', the grid item's width matches its content.\n * If false, the prop is ignored.\n * If true, the grid item's width grows to use the space available in the grid container.\n * The value is applied for the `sm` breakpoint and wider screens if not overridden.\n * @default false\n */\n sm: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.bool]),\n /**\n * Defines the space between the type `item` components.\n * It can only be used on a type `container` component.\n * @default 0\n */\n spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Defines the `flex-wrap` style property.\n * It's applied for all screen sizes.\n * @default 'wrap'\n */\n wrap: PropTypes.oneOf(['nowrap', 'wrap-reverse', 'wrap']),\n /**\n * If a number, it sets the number of columns the grid item uses.\n * It can't be greater than the total number of columns of the container (12 by default).\n * If 'auto', the grid item's width matches its content.\n * If false, the prop is ignored.\n * If true, the grid item's width grows to use the space available in the grid container.\n * The value is applied for the `xl` breakpoint and wider screens if not overridden.\n * @default false\n */\n xl: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.bool]),\n /**\n * If a number, it sets the number of columns the grid item uses.\n * It can't be greater than the total number of columns of the container (12 by default).\n * If 'auto', the grid item's width matches its content.\n * If false, the prop is ignored.\n * If true, the grid item's width grows to use the space available in the grid container.\n * The value is applied for all the screen sizes with the lowest priority.\n * @default false\n */\n xs: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.bool]),\n /**\n * If `true`, it sets `min-width: 0` on the item.\n * Refer to the limitations section of the documentation to better understand the use case.\n * @default false\n */\n zeroMinWidth: PropTypes.bool\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n const requireProp = requirePropFactory('Grid', Grid);\n // eslint-disable-next-line no-useless-concat\n Grid['propTypes' + ''] = _extends({}, Grid.propTypes, {\n direction: requireProp('container'),\n lg: requireProp('item'),\n md: requireProp('item'),\n sm: requireProp('item'),\n spacing: requireProp('container'),\n wrap: requireProp('container'),\n xs: requireProp('item'),\n zeroMinWidth: requireProp('item')\n });\n}\nexport default Grid;","////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Actions represent the type of change to a location value.\n */\nexport enum Action {\n /**\n * A POP indicates a change to an arbitrary index in the history stack, such\n * as a back or forward navigation. It does not describe the direction of the\n * navigation, only that the current index changed.\n *\n * Note: This is the default action for newly created history objects.\n */\n Pop = \"POP\",\n\n /**\n * A PUSH indicates a new entry being added to the history stack, such as when\n * a link is clicked and a new page loads. When this happens, all subsequent\n * entries in the stack are lost.\n */\n Push = \"PUSH\",\n\n /**\n * A REPLACE indicates the entry at the current index in the history stack\n * being replaced by a new one.\n */\n Replace = \"REPLACE\",\n}\n\n/**\n * The pathname, search, and hash values of a URL.\n */\nexport interface Path {\n /**\n * A URL pathname, beginning with a /.\n */\n pathname: string;\n\n /**\n * A URL search string, beginning with a ?.\n */\n search: string;\n\n /**\n * A URL fragment identifier, beginning with a #.\n */\n hash: string;\n}\n\n// TODO: (v7) Change the Location generic default from `any` to `unknown` and\n// remove Remix `useLocation` wrapper.\n\n/**\n * An entry in a history stack. A location contains information about the\n * URL path, as well as possibly some arbitrary state and a key.\n */\nexport interface Location<State = any> extends Path {\n /**\n * A value of arbitrary data associated with this location.\n */\n state: State;\n\n /**\n * A unique string associated with this location. May be used to safely store\n * and retrieve data in some other storage API, like `localStorage`.\n *\n * Note: This value is always \"default\" on the initial location.\n */\n key: string;\n}\n\n/**\n * A change to the current location.\n */\nexport interface Update {\n /**\n * The action that triggered the change.\n */\n action: Action;\n\n /**\n * The new location.\n */\n location: Location;\n\n /**\n * The delta between this location and the former location in the history stack\n */\n delta: number | null;\n}\n\n/**\n * A function that receives notifications about location changes.\n */\nexport interface Listener {\n (update: Update): void;\n}\n\n/**\n * Describes a location that is the destination of some navigation, either via\n * `history.push` or `history.replace`. This may be either a URL or the pieces\n * of a URL path.\n */\nexport type To = string | Partial<Path>;\n\n/**\n * A history is an interface to the navigation stack. The history serves as the\n * source of truth for the current location, as well as provides a set of\n * methods that may be used to change it.\n *\n * It is similar to the DOM's `window.history` object, but with a smaller, more\n * focused API.\n */\nexport interface History {\n /**\n * The last action that modified the current location. This will always be\n * Action.Pop when a history instance is first created. This value is mutable.\n */\n readonly action: Action;\n\n /**\n * The current location. This value is mutable.\n */\n readonly location: Location;\n\n /**\n * Returns a valid href for the given `to` value that may be used as\n * the value of an <a href> attribute.\n *\n * @param to - The destination URL\n */\n createHref(to: To): string;\n\n /**\n * Returns a URL for the given `to` value\n *\n * @param to - The destination URL\n */\n createURL(to: To): URL;\n\n /**\n * Encode a location the same way window.history would do (no-op for memory\n * history) so we ensure our PUSH/REPLACE navigations for data routers\n * behave the same as POP\n *\n * @param to Unencoded path\n */\n encodeLocation(to: To): Path;\n\n /**\n * Pushes a new location onto the history stack, increasing its length by one.\n * If there were any entries in the stack after the current one, they are\n * lost.\n *\n * @param to - The new URL\n * @param state - Data to associate with the new location\n */\n push(to: To, state?: any): void;\n\n /**\n * Replaces the current location in the history stack with a new one. The\n * location that was replaced will no longer be available.\n *\n * @param to - The new URL\n * @param state - Data to associate with the new location\n */\n replace(to: To, state?: any): void;\n\n /**\n * Navigates `n` entries backward/forward in the history stack relative to the\n * current index. For example, a \"back\" navigation would use go(-1).\n *\n * @param delta - The delta in the stack index\n */\n go(delta: number): void;\n\n /**\n * Sets up a listener that will be called whenever the current location\n * changes.\n *\n * @param listener - A function that will be called when the location changes\n * @returns unlisten - A function that may be used to stop listening\n */\n listen(listener: Listener): () => void;\n}\n\ntype HistoryState = {\n usr: any;\n key?: string;\n idx: number;\n};\n\nconst PopStateEventType = \"popstate\";\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Memory History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A user-supplied object that describes a location. Used when providing\n * entries to `createMemoryHistory` via its `initialEntries` option.\n */\nexport type InitialEntry = string | Partial<Location>;\n\nexport type MemoryHistoryOptions = {\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n v5Compat?: boolean;\n};\n\n/**\n * A memory history stores locations in memory. This is useful in stateful\n * environments where there is no web browser, such as node tests or React\n * Native.\n */\nexport interface MemoryHistory extends History {\n /**\n * The current index in the history stack.\n */\n readonly index: number;\n}\n\n/**\n * Memory history stores the current location in memory. It is designed for use\n * in stateful non-browser environments like tests and React Native.\n */\nexport function createMemoryHistory(\n options: MemoryHistoryOptions = {}\n): MemoryHistory {\n let { initialEntries = [\"/\"], initialIndex, v5Compat = false } = options;\n let entries: Location[]; // Declare so we can access from createMemoryLocation\n entries = initialEntries.map((entry, index) =>\n createMemoryLocation(\n entry,\n typeof entry === \"string\" ? null : entry.state,\n index === 0 ? \"default\" : undefined\n )\n );\n let index = clampIndex(\n initialIndex == null ? entries.length - 1 : initialIndex\n );\n let action = Action.Pop;\n let listener: Listener | null = null;\n\n function clampIndex(n: number): number {\n return Math.min(Math.max(n, 0), entries.length - 1);\n }\n function getCurrentLocation(): Location {\n return entries[index];\n }\n function createMemoryLocation(\n to: To,\n state: any = null,\n key?: string\n ): Location {\n let location = createLocation(\n entries ? getCurrentLocation().pathname : \"/\",\n to,\n state,\n key\n );\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in memory history: ${JSON.stringify(\n to\n )}`\n );\n return location;\n }\n\n function createHref(to: To) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n\n let history: MemoryHistory = {\n get index() {\n return index;\n },\n get action() {\n return action;\n },\n get location() {\n return getCurrentLocation();\n },\n createHref,\n createURL(to) {\n return new URL(createHref(to), \"http://localhost\");\n },\n encodeLocation(to: To) {\n let path = typeof to === \"string\" ? parsePath(to) : to;\n return {\n pathname: path.pathname || \"\",\n search: path.search || \"\",\n hash: path.hash || \"\",\n };\n },\n push(to, state) {\n action = Action.Push;\n let nextLocation = createMemoryLocation(to, state);\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n if (v5Compat && listener) {\n listener({ action, location: nextLocation, delta: 1 });\n }\n },\n replace(to, state) {\n action = Action.Replace;\n let nextLocation = createMemoryLocation(to, state);\n entries[index] = nextLocation;\n if (v5Compat && listener) {\n listener({ action, location: nextLocation, delta: 0 });\n }\n },\n go(delta) {\n action = Action.Pop;\n let nextIndex = clampIndex(index + delta);\n let nextLocation = entries[nextIndex];\n index = nextIndex;\n if (listener) {\n listener({ action, location: nextLocation, delta });\n }\n },\n listen(fn: Listener) {\n listener = fn;\n return () => {\n listener = null;\n };\n },\n };\n\n return history;\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Browser History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A browser history stores the current location in regular URLs in a web\n * browser environment. This is the standard for most web apps and provides the\n * cleanest URLs the browser's address bar.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#browserhistory\n */\nexport interface BrowserHistory extends UrlHistory {}\n\nexport type BrowserHistoryOptions = UrlHistoryOptions;\n\n/**\n * Browser history stores the location in regular URLs. This is the standard for\n * most web apps, but it requires some configuration on the server to ensure you\n * serve the same app at multiple URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\n */\nexport function createBrowserHistory(\n options: BrowserHistoryOptions = {}\n): BrowserHistory {\n function createBrowserLocation(\n window: Window,\n globalHistory: Window[\"history\"]\n ) {\n let { pathname, search, hash } = window.location;\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n (globalHistory.state && globalHistory.state.usr) || null,\n (globalHistory.state && globalHistory.state.key) || \"default\"\n );\n }\n\n function createBrowserHref(window: Window, to: To) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n\n return getUrlBasedHistory(\n createBrowserLocation,\n createBrowserHref,\n null,\n options\n );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Hash History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A hash history stores the current location in the fragment identifier portion\n * of the URL in a web browser environment.\n *\n * This is ideal for apps that do not control the server for some reason\n * (because the fragment identifier is never sent to the server), including some\n * shared hosting environments that do not provide fine-grained controls over\n * which pages are served at which URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#hashhistory\n */\nexport interface HashHistory extends UrlHistory {}\n\nexport type HashHistoryOptions = UrlHistoryOptions;\n\n/**\n * Hash history stores the location in window.location.hash. This makes it ideal\n * for situations where you don't want to send the location to the server for\n * some reason, either because you do cannot configure it or the URL space is\n * reserved for something else.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\n */\nexport function createHashHistory(\n options: HashHistoryOptions = {}\n): HashHistory {\n function createHashLocation(\n window: Window,\n globalHistory: Window[\"history\"]\n ) {\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n } = parsePath(window.location.hash.substr(1));\n\n // Hash URL should always have a leading / just like window.location.pathname\n // does, so if an app ends up at a route like /#something then we add a\n // leading slash so all of our path-matching behaves the same as if it would\n // in a browser router. This is particularly important when there exists a\n // root splat route (<Route path=\"*\">) since that matches internally against\n // \"/*\" and we'd expect /#something to 404 in a hash router app.\n if (!pathname.startsWith(\"/\") && !pathname.startsWith(\".\")) {\n pathname = \"/\" + pathname;\n }\n\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n (globalHistory.state && globalHistory.state.usr) || null,\n (globalHistory.state && globalHistory.state.key) || \"default\"\n );\n }\n\n function createHashHref(window: Window, to: To) {\n let base = window.document.querySelector(\"base\");\n let href = \"\";\n\n if (base && base.getAttribute(\"href\")) {\n let url = window.location.href;\n let hashIndex = url.indexOf(\"#\");\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n\n return href + \"#\" + (typeof to === \"string\" ? to : createPath(to));\n }\n\n function validateHashLocation(location: Location, to: To) {\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in hash history.push(${JSON.stringify(\n to\n )})`\n );\n }\n\n return getUrlBasedHistory(\n createHashLocation,\n createHashHref,\n validateHashLocation,\n options\n );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region UTILS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * @private\n */\nexport function invariant(value: boolean, message?: string): asserts value;\nexport function invariant<T>(\n value: T | null | undefined,\n message?: string\n): asserts value is T;\nexport function invariant(value: any, message?: string) {\n if (value === false || value === null || typeof value === \"undefined\") {\n throw new Error(message);\n }\n}\n\nexport function warning(cond: any, message: string) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging history!\n //\n // This error is thrown as a convenience, so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nfunction createKey() {\n return Math.random().toString(36).substr(2, 8);\n}\n\n/**\n * For browser-based histories, we combine the state and key into an object\n */\nfunction getHistoryState(location: Location, index: number): HistoryState {\n return {\n usr: location.state,\n key: location.key,\n idx: index,\n };\n}\n\n/**\n * Creates a Location object with a unique key from the given Path\n */\nexport function createLocation(\n current: string | Location,\n to: To,\n state: any = null,\n key?: string\n): Readonly<Location> {\n let location: Readonly<Location> = {\n pathname: typeof current === \"string\" ? current : current.pathname,\n search: \"\",\n hash: \"\",\n ...(typeof to === \"string\" ? parsePath(to) : to),\n state,\n // TODO: This could be cleaned up. push/replace should probably just take\n // full Locations now and avoid the need to run through this flow at all\n // But that's a pretty big refactor to the current test suite so going to\n // keep as is for the time being and just let any incoming keys take precedence\n key: (to && (to as Location).key) || key || createKey(),\n };\n return location;\n}\n\n/**\n * Creates a string URL path from the given pathname, search, and hash components.\n */\nexport function createPath({\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n}: Partial<Path>) {\n if (search && search !== \"?\")\n pathname += search.charAt(0) === \"?\" ? search : \"?\" + search;\n if (hash && hash !== \"#\")\n pathname += hash.charAt(0) === \"#\" ? hash : \"#\" + hash;\n return pathname;\n}\n\n/**\n * Parses a string URL path into its separate pathname, search, and hash components.\n */\nexport function parsePath(path: string): Partial<Path> {\n let parsedPath: Partial<Path> = {};\n\n if (path) {\n let hashIndex = path.indexOf(\"#\");\n if (hashIndex >= 0) {\n parsedPath.hash = path.substr(hashIndex);\n path = path.substr(0, hashIndex);\n }\n\n let searchIndex = path.indexOf(\"?\");\n if (searchIndex >= 0) {\n parsedPath.search = path.substr(searchIndex);\n path = path.substr(0, searchIndex);\n }\n\n if (path) {\n parsedPath.pathname = path;\n }\n }\n\n return parsedPath;\n}\n\nexport interface UrlHistory extends History {}\n\nexport type UrlHistoryOptions = {\n window?: Window;\n v5Compat?: boolean;\n};\n\nfunction getUrlBasedHistory(\n getLocation: (window: Window, globalHistory: Window[\"history\"]) => Location,\n createHref: (window: Window, to: To) => string,\n validateLocation: ((location: Location, to: To) => void) | null,\n options: UrlHistoryOptions = {}\n): UrlHistory {\n let { window = document.defaultView!, v5Compat = false } = options;\n let globalHistory = window.history;\n let action = Action.Pop;\n let listener: Listener | null = null;\n\n let index = getIndex()!;\n // Index should only be null when we initialize. If not, it's because the\n // user called history.pushState or history.replaceState directly, in which\n // case we should log a warning as it will result in bugs.\n if (index == null) {\n index = 0;\n globalHistory.replaceState({ ...globalHistory.state, idx: index }, \"\");\n }\n\n function getIndex(): number {\n let state = globalHistory.state || { idx: null };\n return state.idx;\n }\n\n function handlePop() {\n action = Action.Pop;\n let nextIndex = getIndex();\n let delta = nextIndex == null ? null : nextIndex - index;\n index = nextIndex;\n if (listener) {\n listener({ action, location: history.location, delta });\n }\n }\n\n function push(to: To, state?: any) {\n action = Action.Push;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n\n index = getIndex() + 1;\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n\n // try...catch because iOS limits us to 100 pushState calls :/\n try {\n globalHistory.pushState(historyState, \"\", url);\n } catch (error) {\n // If the exception is because `state` can't be serialized, let that throw\n // outwards just like a replace call would so the dev knows the cause\n // https://html.spec.whatwg.org/multipage/nav-history-apis.html#shared-history-push/replace-state-steps\n // https://html.spec.whatwg.org/multipage/structured-data.html#structuredserializeinternal\n if (error instanceof DOMException && error.name === \"DataCloneError\") {\n throw error;\n }\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n if (v5Compat && listener) {\n listener({ action, location: history.location, delta: 1 });\n }\n }\n\n function replace(to: To, state?: any) {\n action = Action.Replace;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n\n index = getIndex();\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n globalHistory.replaceState(historyState, \"\", url);\n\n if (v5Compat && listener) {\n listener({ action, location: history.location, delta: 0 });\n }\n }\n\n function createURL(to: To): URL {\n // window.location.origin is \"null\" (the literal string value) in Firefox\n // under certain conditions, notably when serving from a local HTML file\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=878297\n let base =\n window.location.origin !== \"null\"\n ? window.location.origin\n : window.location.href;\n\n let href = typeof to === \"string\" ? to : createPath(to);\n // Treating this as a full URL will strip any trailing spaces so we need to\n // pre-encode them since they might be part of a matching splat param from\n // an ancestor route\n href = href.replace(/ $/, \"%20\");\n invariant(\n base,\n `No window.location.(origin|href) available to create URL for href: ${href}`\n );\n return new URL(href, base);\n }\n\n let history: History = {\n get action() {\n return action;\n },\n get location() {\n return getLocation(window, globalHistory);\n },\n listen(fn: Listener) {\n if (listener) {\n throw new Error(\"A history only accepts one active listener\");\n }\n window.addEventListener(PopStateEventType, handlePop);\n listener = fn;\n\n return () => {\n window.removeEventListener(PopStateEventType, handlePop);\n listener = null;\n };\n },\n createHref(to) {\n return createHref(window, to);\n },\n createURL,\n encodeLocation(to) {\n // Encode a Location the same way window.location would\n let url = createURL(to);\n return {\n pathname: url.pathname,\n search: url.search,\n hash: url.hash,\n };\n },\n push,\n replace,\n go(n) {\n return globalHistory.go(n);\n },\n };\n\n return history;\n}\n\n//#endregion\n","import type { Location, Path, To } from \"./history\";\nimport { invariant, parsePath, warning } from \"./history\";\n\n/**\n * Map of routeId -> data returned from a loader/action/error\n */\nexport interface RouteData {\n [routeId: string]: any;\n}\n\nexport enum ResultType {\n data = \"data\",\n deferred = \"deferred\",\n redirect = \"redirect\",\n error = \"error\",\n}\n\n/**\n * Successful result from a loader or action\n */\nexport interface SuccessResult {\n type: ResultType.data;\n data: unknown;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Successful defer() result from a loader or action\n */\nexport interface DeferredResult {\n type: ResultType.deferred;\n deferredData: DeferredData;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Redirect result from a loader or action\n */\nexport interface RedirectResult {\n type: ResultType.redirect;\n // We keep the raw Response for redirects so we can return it verbatim\n response: Response;\n}\n\n/**\n * Unsuccessful result from a loader or action\n */\nexport interface ErrorResult {\n type: ResultType.error;\n error: unknown;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Result from a loader or action - potentially successful or unsuccessful\n */\nexport type DataResult =\n | SuccessResult\n | DeferredResult\n | RedirectResult\n | ErrorResult;\n\ntype LowerCaseFormMethod = \"get\" | \"post\" | \"put\" | \"patch\" | \"delete\";\ntype UpperCaseFormMethod = Uppercase<LowerCaseFormMethod>;\n\n/**\n * Users can specify either lowercase or uppercase form methods on `<Form>`,\n * useSubmit(), `<fetcher.Form>`, etc.\n */\nexport type HTMLFormMethod = LowerCaseFormMethod | UpperCaseFormMethod;\n\n/**\n * Active navigation/fetcher form methods are exposed in lowercase on the\n * RouterState\n */\nexport type FormMethod = LowerCaseFormMethod;\nexport type MutationFormMethod = Exclude<FormMethod, \"get\">;\n\n/**\n * In v7, active navigation/fetcher form methods are exposed in uppercase on the\n * RouterState. This is to align with the normalization done via fetch().\n */\nexport type V7_FormMethod = UpperCaseFormMethod;\nexport type V7_MutationFormMethod = Exclude<V7_FormMethod, \"GET\">;\n\nexport type FormEncType =\n | \"application/x-www-form-urlencoded\"\n | \"multipart/form-data\"\n | \"application/json\"\n | \"text/plain\";\n\n// Thanks https://github.com/sindresorhus/type-fest!\ntype JsonObject = { [Key in string]: JsonValue } & {\n [Key in string]?: JsonValue | undefined;\n};\ntype JsonArray = JsonValue[] | readonly JsonValue[];\ntype JsonPrimitive = string | number | boolean | null;\ntype JsonValue = JsonPrimitive | JsonObject | JsonArray;\n\n/**\n * @private\n * Internal interface to pass around for action submissions, not intended for\n * external consumption\n */\nexport type Submission =\n | {\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: FormData;\n json: undefined;\n text: undefined;\n }\n | {\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: undefined;\n json: JsonValue;\n text: undefined;\n }\n | {\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: undefined;\n json: undefined;\n text: string;\n };\n\n/**\n * @private\n * Arguments passed to route loader/action functions. Same for now but we keep\n * this as a private implementation detail in case they diverge in the future.\n */\ninterface DataFunctionArgs<Context> {\n request: Request;\n params: Params;\n context?: Context;\n}\n\n// TODO: (v7) Change the defaults from any to unknown in and remove Remix wrappers:\n// ActionFunction, ActionFunctionArgs, LoaderFunction, LoaderFunctionArgs\n// Also, make them a type alias instead of an interface\n\n/**\n * Arguments passed to loader functions\n */\nexport interface LoaderFunctionArgs<Context = any>\n extends DataFunctionArgs<Context> {}\n\n/**\n * Arguments passed to action functions\n */\nexport interface ActionFunctionArgs<Context = any>\n extends DataFunctionArgs<Context> {}\n\n/**\n * Loaders and actions can return anything except `undefined` (`null` is a\n * valid return value if there is no data to return). Responses are preferred\n * and will ease any future migration to Remix\n */\ntype DataFunctionValue = Response | NonNullable<unknown> | null;\n\ntype DataFunctionReturnValue = Promise<DataFunctionValue> | DataFunctionValue;\n\n/**\n * Route loader function signature\n */\nexport type LoaderFunction<Context = any> = {\n (\n args: LoaderFunctionArgs<Context>,\n handlerCtx?: unknown\n ): DataFunctionReturnValue;\n} & { hydrate?: boolean };\n\n/**\n * Route action function signature\n */\nexport interface ActionFunction<Context = any> {\n (\n args: ActionFunctionArgs<Context>,\n handlerCtx?: unknown\n ): DataFunctionReturnValue;\n}\n\n/**\n * Arguments passed to shouldRevalidate function\n */\nexport interface ShouldRevalidateFunctionArgs {\n currentUrl: URL;\n currentParams: AgnosticDataRouteMatch[\"params\"];\n nextUrl: URL;\n nextParams: AgnosticDataRouteMatch[\"params\"];\n formMethod?: Submission[\"formMethod\"];\n formAction?: Submission[\"formAction\"];\n formEncType?: Submission[\"formEncType\"];\n text?: Submission[\"text\"];\n formData?: Submission[\"formData\"];\n json?: Submission[\"json\"];\n actionStatus?: number;\n actionResult?: any;\n defaultShouldRevalidate: boolean;\n}\n\n/**\n * Route shouldRevalidate function signature. This runs after any submission\n * (navigation or fetcher), so we flatten the navigation/fetcher submission\n * onto the arguments. It shouldn't matter whether it came from a navigation\n * or a fetcher, what really matters is the URLs and the formData since loaders\n * have to re-run based on the data models that were potentially mutated.\n */\nexport interface ShouldRevalidateFunction {\n (args: ShouldRevalidateFunctionArgs): boolean;\n}\n\n/**\n * Function provided by the framework-aware layers to set `hasErrorBoundary`\n * from the framework-aware `errorElement` prop\n *\n * @deprecated Use `mapRouteProperties` instead\n */\nexport interface DetectErrorBoundaryFunction {\n (route: AgnosticRouteObject): boolean;\n}\n\nexport interface DataStrategyMatch\n extends AgnosticRouteMatch<string, AgnosticDataRouteObject> {\n shouldLoad: boolean;\n resolve: (\n handlerOverride?: (\n handler: (ctx?: unknown) => DataFunctionReturnValue\n ) => DataFunctionReturnValue\n ) => Promise<DataStrategyResult>;\n}\n\nexport interface DataStrategyFunctionArgs<Context = any>\n extends DataFunctionArgs<Context> {\n matches: DataStrategyMatch[];\n fetcherKey: string | null;\n}\n\n/**\n * Result from a loader or action called via dataStrategy\n */\nexport interface DataStrategyResult {\n type: \"data\" | \"error\";\n result: unknown; // data, Error, Response, DeferredData, DataWithResponseInit\n}\n\nexport interface DataStrategyFunction {\n (args: DataStrategyFunctionArgs): Promise<Record<string, DataStrategyResult>>;\n}\n\nexport type AgnosticPatchRoutesOnNavigationFunctionArgs<\n O extends AgnosticRouteObject = AgnosticRouteObject,\n M extends AgnosticRouteMatch = AgnosticRouteMatch\n> = {\n signal: AbortSignal;\n path: string;\n matches: M[];\n patch: (routeId: string | null, children: O[]) => void;\n};\n\nexport type AgnosticPatchRoutesOnNavigationFunction<\n O extends AgnosticRouteObject = AgnosticRouteObject,\n M extends AgnosticRouteMatch = AgnosticRouteMatch\n> = (\n opts: AgnosticPatchRoutesOnNavigationFunctionArgs<O, M>\n) => void | Promise<void>;\n\n/**\n * Function provided by the framework-aware layers to set any framework-specific\n * properties from framework-agnostic properties\n */\nexport interface MapRoutePropertiesFunction {\n (route: AgnosticRouteObject): {\n hasErrorBoundary: boolean;\n } & Record<string, any>;\n}\n\n/**\n * Keys we cannot change from within a lazy() function. We spread all other keys\n * onto the route. Either they're meaningful to the router, or they'll get\n * ignored.\n */\nexport type ImmutableRouteKey =\n | \"lazy\"\n | \"caseSensitive\"\n | \"path\"\n | \"id\"\n | \"index\"\n | \"children\";\n\nexport const immutableRouteKeys = new Set<ImmutableRouteKey>([\n \"lazy\",\n \"caseSensitive\",\n \"path\",\n \"id\",\n \"index\",\n \"children\",\n]);\n\ntype RequireOne<T, Key = keyof T> = Exclude<\n {\n [K in keyof T]: K extends Key ? Omit<T, K> & Required<Pick<T, K>> : never;\n }[keyof T],\n undefined\n>;\n\n/**\n * lazy() function to load a route definition, which can add non-matching\n * related properties to a route\n */\nexport interface LazyRouteFunction<R extends AgnosticRouteObject> {\n (): Promise<RequireOne<Omit<R, ImmutableRouteKey>>>;\n}\n\n/**\n * Base RouteObject with common props shared by all types of routes\n */\ntype AgnosticBaseRouteObject = {\n caseSensitive?: boolean;\n path?: string;\n id?: string;\n loader?: LoaderFunction | boolean;\n action?: ActionFunction | boolean;\n hasErrorBoundary?: boolean;\n shouldRevalidate?: ShouldRevalidateFunction;\n handle?: any;\n lazy?: LazyRouteFunction<AgnosticBaseRouteObject>;\n};\n\n/**\n * Index routes must not have children\n */\nexport type AgnosticIndexRouteObject = AgnosticBaseRouteObject & {\n children?: undefined;\n index: true;\n};\n\n/**\n * Non-index routes may have children, but cannot have index\n */\nexport type AgnosticNonIndexRouteObject = AgnosticBaseRouteObject & {\n children?: AgnosticRouteObject[];\n index?: false;\n};\n\n/**\n * A route object represents a logical route, with (optionally) its child\n * routes organized in a tree-like structure.\n */\nexport type AgnosticRouteObject =\n | AgnosticIndexRouteObject\n | AgnosticNonIndexRouteObject;\n\nexport type AgnosticDataIndexRouteObject = AgnosticIndexRouteObject & {\n id: string;\n};\n\nexport type AgnosticDataNonIndexRouteObject = AgnosticNonIndexRouteObject & {\n children?: AgnosticDataRouteObject[];\n id: string;\n};\n\n/**\n * A data route object, which is just a RouteObject with a required unique ID\n */\nexport type AgnosticDataRouteObject =\n | AgnosticDataIndexRouteObject\n | AgnosticDataNonIndexRouteObject;\n\nexport type RouteManifest = Record<string, AgnosticDataRouteObject | undefined>;\n\n// Recursive helper for finding path parameters in the absence of wildcards\ntype _PathParam<Path extends string> =\n // split path into individual path segments\n Path extends `${infer L}/${infer R}`\n ? _PathParam<L> | _PathParam<R>\n : // find params after `:`\n Path extends `:${infer Param}`\n ? Param extends `${infer Optional}?`\n ? Optional\n : Param\n : // otherwise, there aren't any params present\n never;\n\n/**\n * Examples:\n * \"/a/b/*\" -> \"*\"\n * \":a\" -> \"a\"\n * \"/a/:b\" -> \"b\"\n * \"/a/blahblahblah:b\" -> \"b\"\n * \"/:a/:b\" -> \"a\" | \"b\"\n * \"/:a/b/:c/*\" -> \"a\" | \"c\" | \"*\"\n */\nexport type PathParam<Path extends string> =\n // check if path is just a wildcard\n Path extends \"*\" | \"/*\"\n ? \"*\"\n : // look for wildcard at the end of the path\n Path extends `${infer Rest}/*`\n ? \"*\" | _PathParam<Rest>\n : // look for params in the absence of wildcards\n _PathParam<Path>;\n\n// Attempt to parse the given string segment. If it fails, then just return the\n// plain string type as a default fallback. Otherwise, return the union of the\n// parsed string literals that were referenced as dynamic segments in the route.\nexport type ParamParseKey<Segment extends string> =\n // if you could not find path params, fallback to `string`\n [PathParam<Segment>] extends [never] ? string : PathParam<Segment>;\n\n/**\n * The parameters that were parsed from the URL path.\n */\nexport type Params<Key extends string = string> = {\n readonly [key in Key]: string | undefined;\n};\n\n/**\n * A RouteMatch contains info about how a route matched a URL.\n */\nexport interface AgnosticRouteMatch<\n ParamKey extends string = string,\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params<ParamKey>;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The route object that was used to match.\n */\n route: RouteObjectType;\n}\n\nexport interface AgnosticDataRouteMatch\n extends AgnosticRouteMatch<string, AgnosticDataRouteObject> {}\n\nfunction isIndexRoute(\n route: AgnosticRouteObject\n): route is AgnosticIndexRouteObject {\n return route.index === true;\n}\n\n// Walk the route tree generating unique IDs where necessary, so we are working\n// solely with AgnosticDataRouteObject's within the Router\nexport function convertRoutesToDataRoutes(\n routes: AgnosticRouteObject[],\n mapRouteProperties: MapRoutePropertiesFunction,\n parentPath: string[] = [],\n manifest: RouteManifest = {}\n): AgnosticDataRouteObject[] {\n return routes.map((route, index) => {\n let treePath = [...parentPath, String(index)];\n let id = typeof route.id === \"string\" ? route.id : treePath.join(\"-\");\n invariant(\n route.index !== true || !route.children,\n `Cannot specify children on an index route`\n );\n invariant(\n !manifest[id],\n `Found a route id collision on id \"${id}\". Route ` +\n \"id's must be globally unique within Data Router usages\"\n );\n\n if (isIndexRoute(route)) {\n let indexRoute: AgnosticDataIndexRouteObject = {\n ...route,\n ...mapRouteProperties(route),\n id,\n };\n manifest[id] = indexRoute;\n return indexRoute;\n } else {\n let pathOrLayoutRoute: AgnosticDataNonIndexRouteObject = {\n ...route,\n ...mapRouteProperties(route),\n id,\n children: undefined,\n };\n manifest[id] = pathOrLayoutRoute;\n\n if (route.children) {\n pathOrLayoutRoute.children = convertRoutesToDataRoutes(\n route.children,\n mapRouteProperties,\n treePath,\n manifest\n );\n }\n\n return pathOrLayoutRoute;\n }\n });\n}\n\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/v6/utils/match-routes\n */\nexport function matchRoutes<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n locationArg: Partial<Location> | string,\n basename = \"/\"\n): AgnosticRouteMatch<string, RouteObjectType>[] | null {\n return matchRoutesImpl(routes, locationArg, basename, false);\n}\n\nexport function matchRoutesImpl<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n locationArg: Partial<Location> | string,\n basename: string,\n allowPartial: boolean\n): AgnosticRouteMatch<string, RouteObjectType>[] | null {\n let location =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n let pathname = stripBasename(location.pathname || \"/\", basename);\n\n if (pathname == null) {\n return null;\n }\n\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n // Incoming pathnames are generally encoded from either window.location\n // or from router.navigate, but we want to match against the unencoded\n // paths in the route definitions. Memory router locations won't be\n // encoded here but there also shouldn't be anything to decode so this\n // should be a safe operation. This avoids needing matchRoutes to be\n // history-aware.\n let decoded = decodePath(pathname);\n matches = matchRouteBranch<string, RouteObjectType>(\n branches[i],\n decoded,\n allowPartial\n );\n }\n\n return matches;\n}\n\nexport interface UIMatch<Data = unknown, Handle = unknown> {\n id: string;\n pathname: string;\n params: AgnosticRouteMatch[\"params\"];\n data: Data;\n handle: Handle;\n}\n\nexport function convertRouteMatchToUiMatch(\n match: AgnosticDataRouteMatch,\n loaderData: RouteData\n): UIMatch {\n let { route, pathname, params } = match;\n return {\n id: route.id,\n pathname,\n params,\n data: loaderData[route.id],\n handle: route.handle,\n };\n}\n\ninterface RouteMeta<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n relativePath: string;\n caseSensitive: boolean;\n childrenIndex: number;\n route: RouteObjectType;\n}\n\ninterface RouteBranch<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n path: string;\n score: number;\n routesMeta: RouteMeta<RouteObjectType>[];\n}\n\nfunction flattenRoutes<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n branches: RouteBranch<RouteObjectType>[] = [],\n parentsMeta: RouteMeta<RouteObjectType>[] = [],\n parentPath = \"\"\n): RouteBranch<RouteObjectType>[] {\n let flattenRoute = (\n route: RouteObjectType,\n index: number,\n relativePath?: string\n ) => {\n let meta: RouteMeta<RouteObjectType> = {\n relativePath:\n relativePath === undefined ? route.path || \"\" : relativePath,\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route,\n };\n\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(\n meta.relativePath.startsWith(parentPath),\n `Absolute route path \"${meta.relativePath}\" nested under path ` +\n `\"${parentPath}\" is not valid. An absolute child route path ` +\n `must start with the combined path of all its parent routes.`\n );\n\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n\n // Add the children before adding this route to the array, so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n // Our types know better, but runtime JS may not!\n // @ts-expect-error\n route.index !== true,\n `Index routes must not have child routes. Please remove ` +\n `all child routes from route path \"${path}\".`\n );\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n\n branches.push({\n path,\n score: computeScore(path, route.index),\n routesMeta,\n });\n };\n routes.forEach((route, index) => {\n // coarse-grain check for optional params\n if (route.path === \"\" || !route.path?.includes(\"?\")) {\n flattenRoute(route, index);\n } else {\n for (let exploded of explodeOptionalSegments(route.path)) {\n flattenRoute(route, index, exploded);\n }\n }\n });\n\n return branches;\n}\n\n/**\n * Computes all combinations of optional path segments for a given path,\n * excluding combinations that are ambiguous and of lower priority.\n *\n * For example, `/one/:two?/three/:four?/:five?` explodes to:\n * - `/one/three`\n * - `/one/:two/three`\n * - `/one/three/:four`\n * - `/one/three/:five`\n * - `/one/:two/three/:four`\n * - `/one/:two/three/:five`\n * - `/one/three/:four/:five`\n * - `/one/:two/three/:four/:five`\n */\nfunction explodeOptionalSegments(path: string): string[] {\n let segments = path.split(\"/\");\n if (segments.length === 0) return [];\n\n let [first, ...rest] = segments;\n\n // Optional path segments are denoted by a trailing `?`\n let isOptional = first.endsWith(\"?\");\n // Compute the corresponding required segment: `foo?` -> `foo`\n let required = first.replace(/\\?$/, \"\");\n\n if (rest.length === 0) {\n // Intepret empty string as omitting an optional segment\n // `[\"one\", \"\", \"three\"]` corresponds to omitting `:two` from `/one/:two?/three` -> `/one/three`\n return isOptional ? [required, \"\"] : [required];\n }\n\n let restExploded = explodeOptionalSegments(rest.join(\"/\"));\n\n let result: string[] = [];\n\n // All child paths with the prefix. Do this for all children before the\n // optional version for all children, so we get consistent ordering where the\n // parent optional aspect is preferred as required. Otherwise, we can get\n // child sections interspersed where deeper optional segments are higher than\n // parent optional segments, where for example, /:two would explode _earlier_\n // then /:one. By always including the parent as required _for all children_\n // first, we avoid this issue\n result.push(\n ...restExploded.map((subpath) =>\n subpath === \"\" ? required : [required, subpath].join(\"/\")\n )\n );\n\n // Then, if this is an optional value, add all child versions without\n if (isOptional) {\n result.push(...restExploded);\n }\n\n // for absolute paths, ensure `/` instead of empty segment\n return result.map((exploded) =>\n path.startsWith(\"/\") && exploded === \"\" ? \"/\" : exploded\n );\n}\n\nfunction rankRouteBranches(branches: RouteBranch[]): void {\n branches.sort((a, b) =>\n a.score !== b.score\n ? b.score - a.score // Higher score first\n : compareIndexes(\n a.routesMeta.map((meta) => meta.childrenIndex),\n b.routesMeta.map((meta) => meta.childrenIndex)\n )\n );\n}\n\nconst paramRe = /^:[\\w-]+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = (s: string) => s === \"*\";\n\nfunction computeScore(path: string, index: boolean | undefined): number {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n\n if (index) {\n initialScore += indexRouteValue;\n }\n\n return segments\n .filter((s) => !isSplat(s))\n .reduce(\n (score, segment) =>\n score +\n (paramRe.test(segment)\n ? dynamicSegmentValue\n : segment === \"\"\n ? emptySegmentValue\n : staticSegmentValue),\n initialScore\n );\n}\n\nfunction compareIndexes(a: number[], b: number[]): number {\n let siblings =\n a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n\n return siblings\n ? // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1]\n : // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\n\nfunction matchRouteBranch<\n ParamKey extends string = string,\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n branch: RouteBranch<RouteObjectType>,\n pathname: string,\n allowPartial = false\n): AgnosticRouteMatch<ParamKey, RouteObjectType>[] | null {\n let { routesMeta } = branch;\n\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches: AgnosticRouteMatch<ParamKey, RouteObjectType>[] = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname =\n matchedPathname === \"/\"\n ? pathname\n : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath(\n { path: meta.relativePath, caseSensitive: meta.caseSensitive, end },\n remainingPathname\n );\n\n let route = meta.route;\n\n if (\n !match &&\n end &&\n allowPartial &&\n !routesMeta[routesMeta.length - 1].route.index\n ) {\n match = matchPath(\n {\n path: meta.relativePath,\n caseSensitive: meta.caseSensitive,\n end: false,\n },\n remainingPathname\n );\n }\n\n if (!match) {\n return null;\n }\n\n Object.assign(matchedParams, match.params);\n\n matches.push({\n // TODO: Can this as be avoided?\n params: matchedParams as Params<ParamKey>,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: normalizePathname(\n joinPaths([matchedPathname, match.pathnameBase])\n ),\n route,\n });\n\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n\n return matches;\n}\n\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/v6/utils/generate-path\n */\nexport function generatePath<Path extends string>(\n originalPath: Path,\n params: {\n [key in PathParam<Path>]: string | null;\n } = {} as any\n): string {\n let path: string = originalPath;\n if (path.endsWith(\"*\") && path !== \"*\" && !path.endsWith(\"/*\")) {\n warning(\n false,\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n path = path.replace(/\\*$/, \"/*\") as Path;\n }\n\n // ensure `/` is added at the beginning if the path is absolute\n const prefix = path.startsWith(\"/\") ? \"/\" : \"\";\n\n const stringify = (p: any) =>\n p == null ? \"\" : typeof p === \"string\" ? p : String(p);\n\n const segments = path\n .split(/\\/+/)\n .map((segment, index, array) => {\n const isLastSegment = index === array.length - 1;\n\n // only apply the splat if it's the last segment\n if (isLastSegment && segment === \"*\") {\n const star = \"*\" as PathParam<Path>;\n // Apply the splat\n return stringify(params[star]);\n }\n\n const keyMatch = segment.match(/^:([\\w-]+)(\\??)$/);\n if (keyMatch) {\n const [, key, optional] = keyMatch;\n let param = params[key as PathParam<Path>];\n invariant(optional === \"?\" || param != null, `Missing \":${key}\" param`);\n return stringify(param);\n }\n\n // Remove any optional markers from optional static segments\n return segment.replace(/\\?$/g, \"\");\n })\n // Remove empty segments\n .filter((segment) => !!segment);\n\n return prefix + segments.join(\"/\");\n}\n\n/**\n * A PathPattern is used to match on some portion of a URL pathname.\n */\nexport interface PathPattern<Path extends string = string> {\n /**\n * A string to match against a URL pathname. May contain `:id`-style segments\n * to indicate placeholders for dynamic parameters. May also end with `/*` to\n * indicate matching the rest of the URL pathname.\n */\n path: Path;\n /**\n * Should be `true` if the static portions of the `path` should be matched in\n * the same case.\n */\n caseSensitive?: boolean;\n /**\n * Should be `true` if this pattern should match the entire URL pathname.\n */\n end?: boolean;\n}\n\n/**\n * A PathMatch contains info about how a PathPattern matched on a URL pathname.\n */\nexport interface PathMatch<ParamKey extends string = string> {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params<ParamKey>;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The pattern that was used to match.\n */\n pattern: PathPattern;\n}\n\ntype Mutable<T> = {\n -readonly [P in keyof T]: T[P];\n};\n\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/v6/utils/match-path\n */\nexport function matchPath<\n ParamKey extends ParamParseKey<Path>,\n Path extends string\n>(\n pattern: PathPattern<Path> | Path,\n pathname: string\n): PathMatch<ParamKey> | null {\n if (typeof pattern === \"string\") {\n pattern = { path: pattern, caseSensitive: false, end: true };\n }\n\n let [matcher, compiledParams] = compilePath(\n pattern.path,\n pattern.caseSensitive,\n pattern.end\n );\n\n let match = pathname.match(matcher);\n if (!match) return null;\n\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params: Params = compiledParams.reduce<Mutable<Params>>(\n (memo, { paramName, isOptional }, index) => {\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname\n .slice(0, matchedPathname.length - splatValue.length)\n .replace(/(.)\\/+$/, \"$1\");\n }\n\n const value = captureGroups[index];\n if (isOptional && !value) {\n memo[paramName] = undefined;\n } else {\n memo[paramName] = (value || \"\").replace(/%2F/g, \"/\");\n }\n return memo;\n },\n {}\n );\n\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern,\n };\n}\n\ntype CompiledPathParam = { paramName: string; isOptional?: boolean };\n\nfunction compilePath(\n path: string,\n caseSensitive = false,\n end = true\n): [RegExp, CompiledPathParam[]] {\n warning(\n path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"),\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n\n let params: CompiledPathParam[] = [];\n let regexpSource =\n \"^\" +\n path\n .replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^${}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(\n /\\/:([\\w-]+)(\\?)?/g,\n (_: string, paramName: string, isOptional) => {\n params.push({ paramName, isOptional: isOptional != null });\n return isOptional ? \"/?([^\\\\/]+)?\" : \"/([^\\\\/]+)\";\n }\n );\n\n if (path.endsWith(\"*\")) {\n params.push({ paramName: \"*\" });\n regexpSource +=\n path === \"*\" || path === \"/*\"\n ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else if (end) {\n // When matching to the end, ignore trailing slashes\n regexpSource += \"\\\\/*$\";\n } else if (path !== \"\" && path !== \"/\") {\n // If our path is non-empty and contains anything beyond an initial slash,\n // then we have _some_ form of path in our regex, so we should expect to\n // match only if we find the end of this path segment. Look for an optional\n // non-captured trailing slash (to match a portion of the URL) or the end\n // of the path (if we've matched to the end). We used to do this with a\n // word boundary but that gives false positives on routes like\n // /user-preferences since `-` counts as a word boundary.\n regexpSource += \"(?:(?=\\\\/|$))\";\n } else {\n // Nothing to match for \"\" or \"/\"\n }\n\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n\n return [matcher, params];\n}\n\nexport function decodePath(value: string) {\n try {\n return value\n .split(\"/\")\n .map((v) => decodeURIComponent(v).replace(/\\//g, \"%2F\"))\n .join(\"/\");\n } catch (error) {\n warning(\n false,\n `The URL path \"${value}\" could not be decoded because it is is a ` +\n `malformed URL segment. This is probably due to a bad percent ` +\n `encoding (${error}).`\n );\n\n return value;\n }\n}\n\n/**\n * @private\n */\nexport function stripBasename(\n pathname: string,\n basename: string\n): string | null {\n if (basename === \"/\") return pathname;\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n\n // We want to leave trailing slash behavior in the user's control, so if they\n // specify a basename with a trailing slash, we should support it\n let startIndex = basename.endsWith(\"/\")\n ? basename.length - 1\n : basename.length;\n let nextChar = pathname.charAt(startIndex);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n\n return pathname.slice(startIndex) || \"/\";\n}\n\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/v6/utils/resolve-path\n */\nexport function resolvePath(to: To, fromPathname = \"/\"): Path {\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\",\n } = typeof to === \"string\" ? parsePath(to) : to;\n\n let pathname = toPathname\n ? toPathname.startsWith(\"/\")\n ? toPathname\n : resolvePathname(toPathname, fromPathname)\n : fromPathname;\n\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash),\n };\n}\n\nfunction resolvePathname(relativePath: string, fromPathname: string): string {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n\n relativeSegments.forEach((segment) => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\n\nfunction getInvalidPathError(\n char: string,\n field: string,\n dest: string,\n path: Partial<Path>\n) {\n return (\n `Cannot include a '${char}' character in a manually specified ` +\n `\\`to.${field}\\` field [${JSON.stringify(\n path\n )}]. Please separate it out to the ` +\n `\\`to.${dest}\\` field. Alternatively you may provide the full path as ` +\n `a string in <Link to=\"...\"> and the router will parse it for you.`\n );\n}\n\n/**\n * @private\n *\n * When processing relative navigation we want to ignore ancestor routes that\n * do not contribute to the path, such that index/pathless layout routes don't\n * interfere.\n *\n * For example, when moving a route element into an index route and/or a\n * pathless layout route, relative link behavior contained within should stay\n * the same. Both of the following examples should link back to the root:\n *\n * <Route path=\"/\">\n * <Route path=\"accounts\" element={<Link to=\"..\"}>\n * </Route>\n *\n * <Route path=\"/\">\n * <Route path=\"accounts\">\n * <Route element={<AccountsLayout />}> // <-- Does not contribute\n * <Route index element={<Link to=\"..\"} /> // <-- Does not contribute\n * </Route\n * </Route>\n * </Route>\n */\nexport function getPathContributingMatches<\n T extends AgnosticRouteMatch = AgnosticRouteMatch\n>(matches: T[]) {\n return matches.filter(\n (match, index) =>\n index === 0 || (match.route.path && match.route.path.length > 0)\n );\n}\n\n// Return the array of pathnames for the current route matches - used to\n// generate the routePathnames input for resolveTo()\nexport function getResolveToMatches<\n T extends AgnosticRouteMatch = AgnosticRouteMatch\n>(matches: T[], v7_relativeSplatPath: boolean) {\n let pathMatches = getPathContributingMatches(matches);\n\n // When v7_relativeSplatPath is enabled, use the full pathname for the leaf\n // match so we include splat values for \".\" links. See:\n // https://github.com/remix-run/react-router/issues/11052#issuecomment-1836589329\n if (v7_relativeSplatPath) {\n return pathMatches.map((match, idx) =>\n idx === pathMatches.length - 1 ? match.pathname : match.pathnameBase\n );\n }\n\n return pathMatches.map((match) => match.pathnameBase);\n}\n\n/**\n * @private\n */\nexport function resolveTo(\n toArg: To,\n routePathnames: string[],\n locationPathname: string,\n isPathRelative = false\n): Path {\n let to: Partial<Path>;\n if (typeof toArg === \"string\") {\n to = parsePath(toArg);\n } else {\n to = { ...toArg };\n\n invariant(\n !to.pathname || !to.pathname.includes(\"?\"),\n getInvalidPathError(\"?\", \"pathname\", \"search\", to)\n );\n invariant(\n !to.pathname || !to.pathname.includes(\"#\"),\n getInvalidPathError(\"#\", \"pathname\", \"hash\", to)\n );\n invariant(\n !to.search || !to.search.includes(\"#\"),\n getInvalidPathError(\"#\", \"search\", \"hash\", to)\n );\n }\n\n let isEmptyPath = toArg === \"\" || to.pathname === \"\";\n let toPathname = isEmptyPath ? \"/\" : to.pathname;\n\n let from: string;\n\n // Routing is relative to the current pathname if explicitly requested.\n //\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `<Link to>` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n if (toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n\n // With relative=\"route\" (the default), each leading .. segment means\n // \"go up one route\" instead of \"go up one URL segment\". This is a key\n // difference from how <a href> works and a major reason we call this a\n // \"to\" value instead of a \"href\".\n if (!isPathRelative && toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n\n to.pathname = toSegments.join(\"/\");\n }\n\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n\n let path = resolvePath(to, from);\n\n // Ensure the pathname has a trailing slash if the original \"to\" had one\n let hasExplicitTrailingSlash =\n toPathname && toPathname !== \"/\" && toPathname.endsWith(\"/\");\n // Or if this was a link to the current path which has a trailing slash\n let hasCurrentTrailingSlash =\n (isEmptyPath || toPathname === \".\") && locationPathname.endsWith(\"/\");\n if (\n !path.pathname.endsWith(\"/\") &&\n (hasExplicitTrailingSlash || hasCurrentTrailingSlash)\n ) {\n path.pathname += \"/\";\n }\n\n return path;\n}\n\n/**\n * @private\n */\nexport function getToPathname(to: To): string | undefined {\n // Empty strings should be treated the same as / paths\n return to === \"\" || (to as Path).pathname === \"\"\n ? \"/\"\n : typeof to === \"string\"\n ? parsePath(to).pathname\n : to.pathname;\n}\n\n/**\n * @private\n */\nexport const joinPaths = (paths: string[]): string =>\n paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n\n/**\n * @private\n */\nexport const normalizePathname = (pathname: string): string =>\n pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\n/**\n * @private\n */\nexport const normalizeSearch = (search: string): string =>\n !search || search === \"?\"\n ? \"\"\n : search.startsWith(\"?\")\n ? search\n : \"?\" + search;\n\n/**\n * @private\n */\nexport const normalizeHash = (hash: string): string =>\n !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n\nexport type JsonFunction = <Data>(\n data: Data,\n init?: number | ResponseInit\n) => Response;\n\n/**\n * This is a shortcut for creating `application/json` responses. Converts `data`\n * to JSON and sets the `Content-Type` header.\n *\n * @deprecated The `json` method is deprecated in favor of returning raw objects.\n * This method will be removed in v7.\n */\nexport const json: JsonFunction = (data, init = {}) => {\n let responseInit = typeof init === \"number\" ? { status: init } : init;\n\n let headers = new Headers(responseInit.headers);\n if (!headers.has(\"Content-Type\")) {\n headers.set(\"Content-Type\", \"application/json; charset=utf-8\");\n }\n\n return new Response(JSON.stringify(data), {\n ...responseInit,\n headers,\n });\n};\n\nexport class DataWithResponseInit<D> {\n type: string = \"DataWithResponseInit\";\n data: D;\n init: ResponseInit | null;\n\n constructor(data: D, init?: ResponseInit) {\n this.data = data;\n this.init = init || null;\n }\n}\n\n/**\n * Create \"responses\" that contain `status`/`headers` without forcing\n * serialization into an actual `Response` - used by Remix single fetch\n */\nexport function data<D>(data: D, init?: number | ResponseInit) {\n return new DataWithResponseInit(\n data,\n typeof init === \"number\" ? { status: init } : init\n );\n}\n\nexport interface TrackedPromise extends Promise<any> {\n _tracked?: boolean;\n _data?: any;\n _error?: any;\n}\n\nexport class AbortedDeferredError extends Error {}\n\nexport class DeferredData {\n private pendingKeysSet: Set<string> = new Set<string>();\n private controller: AbortController;\n private abortPromise: Promise<void>;\n private unlistenAbortSignal: () => void;\n private subscribers: Set<(aborted: boolean, settledKey?: string) => void> =\n new Set();\n data: Record<string, unknown>;\n init?: ResponseInit;\n deferredKeys: string[] = [];\n\n constructor(data: Record<string, unknown>, responseInit?: ResponseInit) {\n invariant(\n data && typeof data === \"object\" && !Array.isArray(data),\n \"defer() only accepts plain objects\"\n );\n\n // Set up an AbortController + Promise we can race against to exit early\n // cancellation\n let reject: (e: AbortedDeferredError) => void;\n this.abortPromise = new Promise((_, r) => (reject = r));\n this.controller = new AbortController();\n let onAbort = () =>\n reject(new AbortedDeferredError(\"Deferred data aborted\"));\n this.unlistenAbortSignal = () =>\n this.controller.signal.removeEventListener(\"abort\", onAbort);\n this.controller.signal.addEventListener(\"abort\", onAbort);\n\n this.data = Object.entries(data).reduce(\n (acc, [key, value]) =>\n Object.assign(acc, {\n [key]: this.trackPromise(key, value),\n }),\n {}\n );\n\n if (this.done) {\n // All incoming values were resolved\n this.unlistenAbortSignal();\n }\n\n this.init = responseInit;\n }\n\n private trackPromise(\n key: string,\n value: Promise<unknown> | unknown\n ): TrackedPromise | unknown {\n if (!(value instanceof Promise)) {\n return value;\n }\n\n this.deferredKeys.push(key);\n this.pendingKeysSet.add(key);\n\n // We store a little wrapper promise that will be extended with\n // _data/_error props upon resolve/reject\n let promise: TrackedPromise = Promise.race([value, this.abortPromise]).then(\n (data) => this.onSettle(promise, key, undefined, data as unknown),\n (error) => this.onSettle(promise, key, error as unknown)\n );\n\n // Register rejection listeners to avoid uncaught promise rejections on\n // errors or aborted deferred values\n promise.catch(() => {});\n\n Object.defineProperty(promise, \"_tracked\", { get: () => true });\n return promise;\n }\n\n private onSettle(\n promise: TrackedPromise,\n key: string,\n error: unknown,\n data?: unknown\n ): unknown {\n if (\n this.controller.signal.aborted &&\n error instanceof AbortedDeferredError\n ) {\n this.unlistenAbortSignal();\n Object.defineProperty(promise, \"_error\", { get: () => error });\n return Promise.reject(error);\n }\n\n this.pendingKeysSet.delete(key);\n\n if (this.done) {\n // Nothing left to abort!\n this.unlistenAbortSignal();\n }\n\n // If the promise was resolved/rejected with undefined, we'll throw an error as you\n // should always resolve with a value or null\n if (error === undefined && data === undefined) {\n let undefinedError = new Error(\n `Deferred data for key \"${key}\" resolved/rejected with \\`undefined\\`, ` +\n `you must resolve/reject with a value or \\`null\\`.`\n );\n Object.defineProperty(promise, \"_error\", { get: () => undefinedError });\n this.emit(false, key);\n return Promise.reject(undefinedError);\n }\n\n if (data === undefined) {\n Object.defineProperty(promise, \"_error\", { get: () => error });\n this.emit(false, key);\n return Promise.reject(error);\n }\n\n Object.defineProperty(promise, \"_data\", { get: () => data });\n this.emit(false, key);\n return data;\n }\n\n private emit(aborted: boolean, settledKey?: string) {\n this.subscribers.forEach((subscriber) => subscriber(aborted, settledKey));\n }\n\n subscribe(fn: (aborted: boolean, settledKey?: string) => void) {\n this.subscribers.add(fn);\n return () => this.subscribers.delete(fn);\n }\n\n cancel() {\n this.controller.abort();\n this.pendingKeysSet.forEach((v, k) => this.pendingKeysSet.delete(k));\n this.emit(true);\n }\n\n async resolveData(signal: AbortSignal) {\n let aborted = false;\n if (!this.done) {\n let onAbort = () => this.cancel();\n signal.addEventListener(\"abort\", onAbort);\n aborted = await new Promise((resolve) => {\n this.subscribe((aborted) => {\n signal.removeEventListener(\"abort\", onAbort);\n if (aborted || this.done) {\n resolve(aborted);\n }\n });\n });\n }\n return aborted;\n }\n\n get done() {\n return this.pendingKeysSet.size === 0;\n }\n\n get unwrappedData() {\n invariant(\n this.data !== null && this.done,\n \"Can only unwrap data on initialized and settled deferreds\"\n );\n\n return Object.entries(this.data).reduce(\n (acc, [key, value]) =>\n Object.assign(acc, {\n [key]: unwrapTrackedPromise(value),\n }),\n {}\n );\n }\n\n get pendingKeys() {\n return Array.from(this.pendingKeysSet);\n }\n}\n\nfunction isTrackedPromise(value: any): value is TrackedPromise {\n return (\n value instanceof Promise && (value as TrackedPromise)._tracked === true\n );\n}\n\nfunction unwrapTrackedPromise(value: any) {\n if (!isTrackedPromise(value)) {\n return value;\n }\n\n if (value._error) {\n throw value._error;\n }\n return value._data;\n}\n\nexport type DeferFunction = (\n data: Record<string, unknown>,\n init?: number | ResponseInit\n) => DeferredData;\n\n/**\n * @deprecated The `defer` method is deprecated in favor of returning raw\n * objects. This method will be removed in v7.\n */\nexport const defer: DeferFunction = (data, init = {}) => {\n let responseInit = typeof init === \"number\" ? { status: init } : init;\n\n return new DeferredData(data, responseInit);\n};\n\nexport type RedirectFunction = (\n url: string,\n init?: number | ResponseInit\n) => Response;\n\n/**\n * A redirect response. Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nexport const redirect: RedirectFunction = (url, init = 302) => {\n let responseInit = init;\n if (typeof responseInit === \"number\") {\n responseInit = { status: responseInit };\n } else if (typeof responseInit.status === \"undefined\") {\n responseInit.status = 302;\n }\n\n let headers = new Headers(responseInit.headers);\n headers.set(\"Location\", url);\n\n return new Response(null, {\n ...responseInit,\n headers,\n });\n};\n\n/**\n * A redirect response that will force a document reload to the new location.\n * Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nexport const redirectDocument: RedirectFunction = (url, init) => {\n let response = redirect(url, init);\n response.headers.set(\"X-Remix-Reload-Document\", \"true\");\n return response;\n};\n\n/**\n * A redirect response that will perform a `history.replaceState` instead of a\n * `history.pushState` for client-side navigation redirects.\n * Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nexport const replace: RedirectFunction = (url, init) => {\n let response = redirect(url, init);\n response.headers.set(\"X-Remix-Replace\", \"true\");\n return response;\n};\n\nexport type ErrorResponse = {\n status: number;\n statusText: string;\n data: any;\n};\n\n/**\n * @private\n * Utility class we use to hold auto-unwrapped 4xx/5xx Response bodies\n *\n * We don't export the class for public use since it's an implementation\n * detail, but we export the interface above so folks can build their own\n * abstractions around instances via isRouteErrorResponse()\n */\nexport class ErrorResponseImpl implements ErrorResponse {\n status: number;\n statusText: string;\n data: any;\n private error?: Error;\n private internal: boolean;\n\n constructor(\n status: number,\n statusText: string | undefined,\n data: any,\n internal = false\n ) {\n this.status = status;\n this.statusText = statusText || \"\";\n this.internal = internal;\n if (data instanceof Error) {\n this.data = data.toString();\n this.error = data;\n } else {\n this.data = data;\n }\n }\n}\n\n/**\n * Check if the given error is an ErrorResponse generated from a 4xx/5xx\n * Response thrown from an action/loader\n */\nexport function isRouteErrorResponse(error: any): error is ErrorResponse {\n return (\n error != null &&\n typeof error.status === \"number\" &&\n typeof error.statusText === \"string\" &&\n typeof error.internal === \"boolean\" &&\n \"data\" in error\n );\n}\n","import type { History, Location, Path, To } from \"./history\";\nimport {\n Action as HistoryAction,\n createLocation,\n createPath,\n invariant,\n parsePath,\n warning,\n} from \"./history\";\nimport type {\n AgnosticDataRouteMatch,\n AgnosticDataRouteObject,\n DataStrategyMatch,\n AgnosticRouteObject,\n DataResult,\n DataStrategyFunction,\n DataStrategyFunctionArgs,\n DeferredData,\n DeferredResult,\n DetectErrorBoundaryFunction,\n ErrorResult,\n FormEncType,\n FormMethod,\n HTMLFormMethod,\n DataStrategyResult,\n ImmutableRouteKey,\n MapRoutePropertiesFunction,\n MutationFormMethod,\n RedirectResult,\n RouteData,\n RouteManifest,\n ShouldRevalidateFunctionArgs,\n Submission,\n SuccessResult,\n UIMatch,\n V7_FormMethod,\n V7_MutationFormMethod,\n AgnosticPatchRoutesOnNavigationFunction,\n DataWithResponseInit,\n} from \"./utils\";\nimport {\n ErrorResponseImpl,\n ResultType,\n convertRouteMatchToUiMatch,\n convertRoutesToDataRoutes,\n getPathContributingMatches,\n getResolveToMatches,\n immutableRouteKeys,\n isRouteErrorResponse,\n joinPaths,\n matchRoutes,\n matchRoutesImpl,\n resolveTo,\n stripBasename,\n} from \"./utils\";\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A Router instance manages all navigation and data loading/mutations\n */\nexport interface Router {\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the basename for the router\n */\n get basename(): RouterInit[\"basename\"];\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the future config for the router\n */\n get future(): FutureConfig;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the current state of the router\n */\n get state(): RouterState;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the routes for this router instance\n */\n get routes(): AgnosticDataRouteObject[];\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the window associated with the router\n */\n get window(): RouterInit[\"window\"];\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Initialize the router, including adding history listeners and kicking off\n * initial data fetches. Returns a function to cleanup listeners and abort\n * any in-progress loads\n */\n initialize(): Router;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Subscribe to router.state updates\n *\n * @param fn function to call with the new state\n */\n subscribe(fn: RouterSubscriber): () => void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Enable scroll restoration behavior in the router\n *\n * @param savedScrollPositions Object that will manage positions, in case\n * it's being restored from sessionStorage\n * @param getScrollPosition Function to get the active Y scroll position\n * @param getKey Function to get the key to use for restoration\n */\n enableScrollRestoration(\n savedScrollPositions: Record<string, number>,\n getScrollPosition: GetScrollPositionFunction,\n getKey?: GetScrollRestorationKeyFunction\n ): () => void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Navigate forward/backward in the history stack\n * @param to Delta to move in the history stack\n */\n navigate(to: number): Promise<void>;\n\n /**\n * Navigate to the given path\n * @param to Path to navigate to\n * @param opts Navigation options (method, submission, etc.)\n */\n navigate(to: To | null, opts?: RouterNavigateOptions): Promise<void>;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Trigger a fetcher load/submission\n *\n * @param key Fetcher key\n * @param routeId Route that owns the fetcher\n * @param href href to fetch\n * @param opts Fetcher options, (method, submission, etc.)\n */\n fetch(\n key: string,\n routeId: string,\n href: string | null,\n opts?: RouterFetchOptions\n ): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Trigger a revalidation of all current route loaders and fetcher loads\n */\n revalidate(): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Utility function to create an href for the given location\n * @param location\n */\n createHref(location: Location | URL): string;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Utility function to URL encode a destination path according to the internal\n * history implementation\n * @param to\n */\n encodeLocation(to: To): Path;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Get/create a fetcher for the given key\n * @param key\n */\n getFetcher<TData = any>(key: string): Fetcher<TData>;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Delete the fetcher for a given key\n * @param key\n */\n deleteFetcher(key: string): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Cleanup listeners and abort any in-progress loads\n */\n dispose(): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Get a navigation blocker\n * @param key The identifier for the blocker\n * @param fn The blocker function implementation\n */\n getBlocker(key: string, fn: BlockerFunction): Blocker;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Delete a navigation blocker\n * @param key The identifier for the blocker\n */\n deleteBlocker(key: string): void;\n\n /**\n * @internal\n * PRIVATE DO NOT USE\n *\n * Patch additional children routes into an existing parent route\n * @param routeId The parent route id or a callback function accepting `patch`\n * to perform batch patching\n * @param children The additional children routes\n */\n patchRoutes(routeId: string | null, children: AgnosticRouteObject[]): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * HMR needs to pass in-flight route updates to React Router\n * TODO: Replace this with granular route update APIs (addRoute, updateRoute, deleteRoute)\n */\n _internalSetRoutes(routes: AgnosticRouteObject[]): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Internal fetch AbortControllers accessed by unit tests\n */\n _internalFetchControllers: Map<string, AbortController>;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Internal pending DeferredData instances accessed by unit tests\n */\n _internalActiveDeferreds: Map<string, DeferredData>;\n}\n\n/**\n * State maintained internally by the router. During a navigation, all states\n * reflect the the \"old\" location unless otherwise noted.\n */\nexport interface RouterState {\n /**\n * The action of the most recent navigation\n */\n historyAction: HistoryAction;\n\n /**\n * The current location reflected by the router\n */\n location: Location;\n\n /**\n * The current set of route matches\n */\n matches: AgnosticDataRouteMatch[];\n\n /**\n * Tracks whether we've completed our initial data load\n */\n initialized: boolean;\n\n /**\n * Current scroll position we should start at for a new view\n * - number -> scroll position to restore to\n * - false -> do not restore scroll at all (used during submissions)\n * - null -> don't have a saved position, scroll to hash or top of page\n */\n restoreScrollPosition: number | false | null;\n\n /**\n * Indicate whether this navigation should skip resetting the scroll position\n * if we are unable to restore the scroll position\n */\n preventScrollReset: boolean;\n\n /**\n * Tracks the state of the current navigation\n */\n navigation: Navigation;\n\n /**\n * Tracks any in-progress revalidations\n */\n revalidation: RevalidationState;\n\n /**\n * Data from the loaders for the current matches\n */\n loaderData: RouteData;\n\n /**\n * Data from the action for the current matches\n */\n actionData: RouteData | null;\n\n /**\n * Errors caught from loaders for the current matches\n */\n errors: RouteData | null;\n\n /**\n * Map of current fetchers\n */\n fetchers: Map<string, Fetcher>;\n\n /**\n * Map of current blockers\n */\n blockers: Map<string, Blocker>;\n}\n\n/**\n * Data that can be passed into hydrate a Router from SSR\n */\nexport type HydrationState = Partial<\n Pick<RouterState, \"loaderData\" | \"actionData\" | \"errors\">\n>;\n\n/**\n * Future flags to toggle new feature behavior\n */\nexport interface FutureConfig {\n v7_fetcherPersist: boolean;\n v7_normalizeFormMethod: boolean;\n v7_partialHydration: boolean;\n v7_prependBasename: boolean;\n v7_relativeSplatPath: boolean;\n v7_skipActionErrorRevalidation: boolean;\n}\n\n/**\n * Initialization options for createRouter\n */\nexport interface RouterInit {\n routes: AgnosticRouteObject[];\n history: History;\n basename?: string;\n /**\n * @deprecated Use `mapRouteProperties` instead\n */\n detectErrorBoundary?: DetectErrorBoundaryFunction;\n mapRouteProperties?: MapRoutePropertiesFunction;\n future?: Partial<FutureConfig>;\n hydrationData?: HydrationState;\n window?: Window;\n dataStrategy?: DataStrategyFunction;\n patchRoutesOnNavigation?: AgnosticPatchRoutesOnNavigationFunction;\n}\n\n/**\n * State returned from a server-side query() call\n */\nexport interface StaticHandlerContext {\n basename: Router[\"basename\"];\n location: RouterState[\"location\"];\n matches: RouterState[\"matches\"];\n loaderData: RouterState[\"loaderData\"];\n actionData: RouterState[\"actionData\"];\n errors: RouterState[\"errors\"];\n statusCode: number;\n loaderHeaders: Record<string, Headers>;\n actionHeaders: Record<string, Headers>;\n activeDeferreds: Record<string, DeferredData> | null;\n _deepestRenderedBoundaryId?: string | null;\n}\n\n/**\n * A StaticHandler instance manages a singular SSR navigation/fetch event\n */\nexport interface StaticHandler {\n dataRoutes: AgnosticDataRouteObject[];\n query(\n request: Request,\n opts?: {\n requestContext?: unknown;\n skipLoaderErrorBubbling?: boolean;\n dataStrategy?: DataStrategyFunction;\n }\n ): Promise<StaticHandlerContext | Response>;\n queryRoute(\n request: Request,\n opts?: {\n routeId?: string;\n requestContext?: unknown;\n dataStrategy?: DataStrategyFunction;\n }\n ): Promise<any>;\n}\n\ntype ViewTransitionOpts = {\n currentLocation: Location;\n nextLocation: Location;\n};\n\n/**\n * Subscriber function signature for changes to router state\n */\nexport interface RouterSubscriber {\n (\n state: RouterState,\n opts: {\n deletedFetchers: string[];\n viewTransitionOpts?: ViewTransitionOpts;\n flushSync: boolean;\n }\n ): void;\n}\n\n/**\n * Function signature for determining the key to be used in scroll restoration\n * for a given location\n */\nexport interface GetScrollRestorationKeyFunction {\n (location: Location, matches: UIMatch[]): string | null;\n}\n\n/**\n * Function signature for determining the current scroll position\n */\nexport interface GetScrollPositionFunction {\n (): number;\n}\n\nexport type RelativeRoutingType = \"route\" | \"path\";\n\n// Allowed for any navigation or fetch\ntype BaseNavigateOrFetchOptions = {\n preventScrollReset?: boolean;\n relative?: RelativeRoutingType;\n flushSync?: boolean;\n};\n\n// Only allowed for navigations\ntype BaseNavigateOptions = BaseNavigateOrFetchOptions & {\n replace?: boolean;\n state?: any;\n fromRouteId?: string;\n viewTransition?: boolean;\n};\n\n// Only allowed for submission navigations\ntype BaseSubmissionOptions = {\n formMethod?: HTMLFormMethod;\n formEncType?: FormEncType;\n} & (\n | { formData: FormData; body?: undefined }\n | { formData?: undefined; body: any }\n);\n\n/**\n * Options for a navigate() call for a normal (non-submission) navigation\n */\ntype LinkNavigateOptions = BaseNavigateOptions;\n\n/**\n * Options for a navigate() call for a submission navigation\n */\ntype SubmissionNavigateOptions = BaseNavigateOptions & BaseSubmissionOptions;\n\n/**\n * Options to pass to navigate() for a navigation\n */\nexport type RouterNavigateOptions =\n | LinkNavigateOptions\n | SubmissionNavigateOptions;\n\n/**\n * Options for a fetch() load\n */\ntype LoadFetchOptions = BaseNavigateOrFetchOptions;\n\n/**\n * Options for a fetch() submission\n */\ntype SubmitFetchOptions = BaseNavigateOrFetchOptions & BaseSubmissionOptions;\n\n/**\n * Options to pass to fetch()\n */\nexport type RouterFetchOptions = LoadFetchOptions | SubmitFetchOptions;\n\n/**\n * Potential states for state.navigation\n */\nexport type NavigationStates = {\n Idle: {\n state: \"idle\";\n location: undefined;\n formMethod: undefined;\n formAction: undefined;\n formEncType: undefined;\n formData: undefined;\n json: undefined;\n text: undefined;\n };\n Loading: {\n state: \"loading\";\n location: Location;\n formMethod: Submission[\"formMethod\"] | undefined;\n formAction: Submission[\"formAction\"] | undefined;\n formEncType: Submission[\"formEncType\"] | undefined;\n formData: Submission[\"formData\"] | undefined;\n json: Submission[\"json\"] | undefined;\n text: Submission[\"text\"] | undefined;\n };\n Submitting: {\n state: \"submitting\";\n location: Location;\n formMethod: Submission[\"formMethod\"];\n formAction: Submission[\"formAction\"];\n formEncType: Submission[\"formEncType\"];\n formData: Submission[\"formData\"];\n json: Submission[\"json\"];\n text: Submission[\"text\"];\n };\n};\n\nexport type Navigation = NavigationStates[keyof NavigationStates];\n\nexport type RevalidationState = \"idle\" | \"loading\";\n\n/**\n * Potential states for fetchers\n */\ntype FetcherStates<TData = any> = {\n Idle: {\n state: \"idle\";\n formMethod: undefined;\n formAction: undefined;\n formEncType: undefined;\n text: undefined;\n formData: undefined;\n json: undefined;\n data: TData | undefined;\n };\n Loading: {\n state: \"loading\";\n formMethod: Submission[\"formMethod\"] | undefined;\n formAction: Submission[\"formAction\"] | undefined;\n formEncType: Submission[\"formEncType\"] | undefined;\n text: Submission[\"text\"] | undefined;\n formData: Submission[\"formData\"] | undefined;\n json: Submission[\"json\"] | undefined;\n data: TData | undefined;\n };\n Submitting: {\n state: \"submitting\";\n formMethod: Submission[\"formMethod\"];\n formAction: Submission[\"formAction\"];\n formEncType: Submission[\"formEncType\"];\n text: Submission[\"text\"];\n formData: Submission[\"formData\"];\n json: Submission[\"json\"];\n data: TData | undefined;\n };\n};\n\nexport type Fetcher<TData = any> =\n FetcherStates<TData>[keyof FetcherStates<TData>];\n\ninterface BlockerBlocked {\n state: \"blocked\";\n reset(): void;\n proceed(): void;\n location: Location;\n}\n\ninterface BlockerUnblocked {\n state: \"unblocked\";\n reset: undefined;\n proceed: undefined;\n location: undefined;\n}\n\ninterface BlockerProceeding {\n state: \"proceeding\";\n reset: undefined;\n proceed: undefined;\n location: Location;\n}\n\nexport type Blocker = BlockerUnblocked | BlockerBlocked | BlockerProceeding;\n\nexport type BlockerFunction = (args: {\n currentLocation: Location;\n nextLocation: Location;\n historyAction: HistoryAction;\n}) => boolean;\n\ninterface ShortCircuitable {\n /**\n * startNavigation does not need to complete the navigation because we\n * redirected or got interrupted\n */\n shortCircuited?: boolean;\n}\n\ntype PendingActionResult = [string, SuccessResult | ErrorResult];\n\ninterface HandleActionResult extends ShortCircuitable {\n /**\n * Route matches which may have been updated from fog of war discovery\n */\n matches?: RouterState[\"matches\"];\n /**\n * Tuple for the returned or thrown value from the current action. The routeId\n * is the action route for success and the bubbled boundary route for errors.\n */\n pendingActionResult?: PendingActionResult;\n}\n\ninterface HandleLoadersResult extends ShortCircuitable {\n /**\n * Route matches which may have been updated from fog of war discovery\n */\n matches?: RouterState[\"matches\"];\n /**\n * loaderData returned from the current set of loaders\n */\n loaderData?: RouterState[\"loaderData\"];\n /**\n * errors thrown from the current set of loaders\n */\n errors?: RouterState[\"errors\"];\n}\n\n/**\n * Cached info for active fetcher.load() instances so they can participate\n * in revalidation\n */\ninterface FetchLoadMatch {\n routeId: string;\n path: string;\n}\n\n/**\n * Identified fetcher.load() calls that need to be revalidated\n */\ninterface RevalidatingFetcher extends FetchLoadMatch {\n key: string;\n match: AgnosticDataRouteMatch | null;\n matches: AgnosticDataRouteMatch[] | null;\n controller: AbortController | null;\n}\n\nconst validMutationMethodsArr: MutationFormMethod[] = [\n \"post\",\n \"put\",\n \"patch\",\n \"delete\",\n];\nconst validMutationMethods = new Set<MutationFormMethod>(\n validMutationMethodsArr\n);\n\nconst validRequestMethodsArr: FormMethod[] = [\n \"get\",\n ...validMutationMethodsArr,\n];\nconst validRequestMethods = new Set<FormMethod>(validRequestMethodsArr);\n\nconst redirectStatusCodes = new Set([301, 302, 303, 307, 308]);\nconst redirectPreserveMethodStatusCodes = new Set([307, 308]);\n\nexport const IDLE_NAVIGATION: NavigationStates[\"Idle\"] = {\n state: \"idle\",\n location: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n};\n\nexport const IDLE_FETCHER: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n};\n\nexport const IDLE_BLOCKER: BlockerUnblocked = {\n state: \"unblocked\",\n proceed: undefined,\n reset: undefined,\n location: undefined,\n};\n\nconst ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\n\nconst defaultMapRouteProperties: MapRoutePropertiesFunction = (route) => ({\n hasErrorBoundary: Boolean(route.hasErrorBoundary),\n});\n\nconst TRANSITIONS_STORAGE_KEY = \"remix-router-transitions\";\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region createRouter\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Create a router and listen to history POP navigations\n */\nexport function createRouter(init: RouterInit): Router {\n const routerWindow = init.window\n ? init.window\n : typeof window !== \"undefined\"\n ? window\n : undefined;\n const isBrowser =\n typeof routerWindow !== \"undefined\" &&\n typeof routerWindow.document !== \"undefined\" &&\n typeof routerWindow.document.createElement !== \"undefined\";\n const isServer = !isBrowser;\n\n invariant(\n init.routes.length > 0,\n \"You must provide a non-empty routes array to createRouter\"\n );\n\n let mapRouteProperties: MapRoutePropertiesFunction;\n if (init.mapRouteProperties) {\n mapRouteProperties = init.mapRouteProperties;\n } else if (init.detectErrorBoundary) {\n // If they are still using the deprecated version, wrap it with the new API\n let detectErrorBoundary = init.detectErrorBoundary;\n mapRouteProperties = (route) => ({\n hasErrorBoundary: detectErrorBoundary(route),\n });\n } else {\n mapRouteProperties = defaultMapRouteProperties;\n }\n\n // Routes keyed by ID\n let manifest: RouteManifest = {};\n // Routes in tree format for matching\n let dataRoutes = convertRoutesToDataRoutes(\n init.routes,\n mapRouteProperties,\n undefined,\n manifest\n );\n let inFlightDataRoutes: AgnosticDataRouteObject[] | undefined;\n let basename = init.basename || \"/\";\n let dataStrategyImpl = init.dataStrategy || defaultDataStrategy;\n let patchRoutesOnNavigationImpl = init.patchRoutesOnNavigation;\n\n // Config driven behavior flags\n let future: FutureConfig = {\n v7_fetcherPersist: false,\n v7_normalizeFormMethod: false,\n v7_partialHydration: false,\n v7_prependBasename: false,\n v7_relativeSplatPath: false,\n v7_skipActionErrorRevalidation: false,\n ...init.future,\n };\n // Cleanup function for history\n let unlistenHistory: (() => void) | null = null;\n // Externally-provided functions to call on all state changes\n let subscribers = new Set<RouterSubscriber>();\n // Externally-provided object to hold scroll restoration locations during routing\n let savedScrollPositions: Record<string, number> | null = null;\n // Externally-provided function to get scroll restoration keys\n let getScrollRestorationKey: GetScrollRestorationKeyFunction | null = null;\n // Externally-provided function to get current scroll position\n let getScrollPosition: GetScrollPositionFunction | null = null;\n // One-time flag to control the initial hydration scroll restoration. Because\n // we don't get the saved positions from <ScrollRestoration /> until _after_\n // the initial render, we need to manually trigger a separate updateState to\n // send along the restoreScrollPosition\n // Set to true if we have `hydrationData` since we assume we were SSR'd and that\n // SSR did the initial scroll restoration.\n let initialScrollRestored = init.hydrationData != null;\n\n let initialMatches = matchRoutes(dataRoutes, init.history.location, basename);\n let initialMatchesIsFOW = false;\n let initialErrors: RouteData | null = null;\n\n if (initialMatches == null && !patchRoutesOnNavigationImpl) {\n // If we do not match a user-provided-route, fall back to the root\n // to allow the error boundary to take over\n let error = getInternalRouterError(404, {\n pathname: init.history.location.pathname,\n });\n let { matches, route } = getShortCircuitMatches(dataRoutes);\n initialMatches = matches;\n initialErrors = { [route.id]: error };\n }\n\n // In SPA apps, if the user provided a patchRoutesOnNavigation implementation and\n // our initial match is a splat route, clear them out so we run through lazy\n // discovery on hydration in case there's a more accurate lazy route match.\n // In SSR apps (with `hydrationData`), we expect that the server will send\n // up the proper matched routes so we don't want to run lazy discovery on\n // initial hydration and want to hydrate into the splat route.\n if (initialMatches && !init.hydrationData) {\n let fogOfWar = checkFogOfWar(\n initialMatches,\n dataRoutes,\n init.history.location.pathname\n );\n if (fogOfWar.active) {\n initialMatches = null;\n }\n }\n\n let initialized: boolean;\n if (!initialMatches) {\n initialized = false;\n initialMatches = [];\n\n // If partial hydration and fog of war is enabled, we will be running\n // `patchRoutesOnNavigation` during hydration so include any partial matches as\n // the initial matches so we can properly render `HydrateFallback`'s\n if (future.v7_partialHydration) {\n let fogOfWar = checkFogOfWar(\n null,\n dataRoutes,\n init.history.location.pathname\n );\n if (fogOfWar.active && fogOfWar.matches) {\n initialMatchesIsFOW = true;\n initialMatches = fogOfWar.matches;\n }\n }\n } else if (initialMatches.some((m) => m.route.lazy)) {\n // All initialMatches need to be loaded before we're ready. If we have lazy\n // functions around still then we'll need to run them in initialize()\n initialized = false;\n } else if (!initialMatches.some((m) => m.route.loader)) {\n // If we've got no loaders to run, then we're good to go\n initialized = true;\n } else if (future.v7_partialHydration) {\n // If partial hydration is enabled, we're initialized so long as we were\n // provided with hydrationData for every route with a loader, and no loaders\n // were marked for explicit hydration\n let loaderData = init.hydrationData ? init.hydrationData.loaderData : null;\n let errors = init.hydrationData ? init.hydrationData.errors : null;\n // If errors exist, don't consider routes below the boundary\n if (errors) {\n let idx = initialMatches.findIndex(\n (m) => errors![m.route.id] !== undefined\n );\n initialized = initialMatches\n .slice(0, idx + 1)\n .every((m) => !shouldLoadRouteOnHydration(m.route, loaderData, errors));\n } else {\n initialized = initialMatches.every(\n (m) => !shouldLoadRouteOnHydration(m.route, loaderData, errors)\n );\n }\n } else {\n // Without partial hydration - we're initialized if we were provided any\n // hydrationData - which is expected to be complete\n initialized = init.hydrationData != null;\n }\n\n let router: Router;\n let state: RouterState = {\n historyAction: init.history.action,\n location: init.history.location,\n matches: initialMatches,\n initialized,\n navigation: IDLE_NAVIGATION,\n // Don't restore on initial updateState() if we were SSR'd\n restoreScrollPosition: init.hydrationData != null ? false : null,\n preventScrollReset: false,\n revalidation: \"idle\",\n loaderData: (init.hydrationData && init.hydrationData.loaderData) || {},\n actionData: (init.hydrationData && init.hydrationData.actionData) || null,\n errors: (init.hydrationData && init.hydrationData.errors) || initialErrors,\n fetchers: new Map(),\n blockers: new Map(),\n };\n\n // -- Stateful internal variables to manage navigations --\n // Current navigation in progress (to be committed in completeNavigation)\n let pendingAction: HistoryAction = HistoryAction.Pop;\n\n // Should the current navigation prevent the scroll reset if scroll cannot\n // be restored?\n let pendingPreventScrollReset = false;\n\n // AbortController for the active navigation\n let pendingNavigationController: AbortController | null;\n\n // Should the current navigation enable document.startViewTransition?\n let pendingViewTransitionEnabled = false;\n\n // Store applied view transitions so we can apply them on POP\n let appliedViewTransitions: Map<string, Set<string>> = new Map<\n string,\n Set<string>\n >();\n\n // Cleanup function for persisting applied transitions to sessionStorage\n let removePageHideEventListener: (() => void) | null = null;\n\n // We use this to avoid touching history in completeNavigation if a\n // revalidation is entirely uninterrupted\n let isUninterruptedRevalidation = false;\n\n // Use this internal flag to force revalidation of all loaders:\n // - submissions (completed or interrupted)\n // - useRevalidator()\n // - X-Remix-Revalidate (from redirect)\n let isRevalidationRequired = false;\n\n // Use this internal array to capture routes that require revalidation due\n // to a cancelled deferred on action submission\n let cancelledDeferredRoutes: string[] = [];\n\n // Use this internal array to capture fetcher loads that were cancelled by an\n // action navigation and require revalidation\n let cancelledFetcherLoads: Set<string> = new Set();\n\n // AbortControllers for any in-flight fetchers\n let fetchControllers = new Map<string, AbortController>();\n\n // Track loads based on the order in which they started\n let incrementingLoadId = 0;\n\n // Track the outstanding pending navigation data load to be compared against\n // the globally incrementing load when a fetcher load lands after a completed\n // navigation\n let pendingNavigationLoadId = -1;\n\n // Fetchers that triggered data reloads as a result of their actions\n let fetchReloadIds = new Map<string, number>();\n\n // Fetchers that triggered redirect navigations\n let fetchRedirectIds = new Set<string>();\n\n // Most recent href/match for fetcher.load calls for fetchers\n let fetchLoadMatches = new Map<string, FetchLoadMatch>();\n\n // Ref-count mounted fetchers so we know when it's ok to clean them up\n let activeFetchers = new Map<string, number>();\n\n // Fetchers that have requested a delete when using v7_fetcherPersist,\n // they'll be officially removed after they return to idle\n let deletedFetchers = new Set<string>();\n\n // Store DeferredData instances for active route matches. When a\n // route loader returns defer() we stick one in here. Then, when a nested\n // promise resolves we update loaderData. If a new navigation starts we\n // cancel active deferreds for eliminated routes.\n let activeDeferreds = new Map<string, DeferredData>();\n\n // Store blocker functions in a separate Map outside of router state since\n // we don't need to update UI state if they change\n let blockerFunctions = new Map<string, BlockerFunction>();\n\n // Map of pending patchRoutesOnNavigation() promises (keyed by path/matches) so\n // that we only kick them off once for a given combo\n let pendingPatchRoutes = new Map<\n string,\n ReturnType<AgnosticPatchRoutesOnNavigationFunction>\n >();\n\n // Flag to ignore the next history update, so we can revert the URL change on\n // a POP navigation that was blocked by the user without touching router state\n let unblockBlockerHistoryUpdate: (() => void) | undefined = undefined;\n\n // Initialize the router, all side effects should be kicked off from here.\n // Implemented as a Fluent API for ease of:\n // let router = createRouter(init).initialize();\n function initialize() {\n // If history informs us of a POP navigation, start the navigation but do not update\n // state. We'll update our own state once the navigation completes\n unlistenHistory = init.history.listen(\n ({ action: historyAction, location, delta }) => {\n // Ignore this event if it was just us resetting the URL from a\n // blocked POP navigation\n if (unblockBlockerHistoryUpdate) {\n unblockBlockerHistoryUpdate();\n unblockBlockerHistoryUpdate = undefined;\n return;\n }\n\n warning(\n blockerFunctions.size === 0 || delta != null,\n \"You are trying to use a blocker on a POP navigation to a location \" +\n \"that was not created by @remix-run/router. This will fail silently in \" +\n \"production. This can happen if you are navigating outside the router \" +\n \"via `window.history.pushState`/`window.location.hash` instead of using \" +\n \"router navigation APIs. This can also happen if you are using \" +\n \"createHashRouter and the user manually changes the URL.\"\n );\n\n let blockerKey = shouldBlockNavigation({\n currentLocation: state.location,\n nextLocation: location,\n historyAction,\n });\n\n if (blockerKey && delta != null) {\n // Restore the URL to match the current UI, but don't update router state\n let nextHistoryUpdatePromise = new Promise<void>((resolve) => {\n unblockBlockerHistoryUpdate = resolve;\n });\n init.history.go(delta * -1);\n\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location,\n proceed() {\n updateBlocker(blockerKey!, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location,\n });\n // Re-do the same POP navigation we just blocked, after the url\n // restoration is also complete. See:\n // https://github.com/remix-run/react-router/issues/11613\n nextHistoryUpdatePromise.then(() => init.history.go(delta));\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey!, IDLE_BLOCKER);\n updateState({ blockers });\n },\n });\n return;\n }\n\n return startNavigation(historyAction, location);\n }\n );\n\n if (isBrowser) {\n // FIXME: This feels gross. How can we cleanup the lines between\n // scrollRestoration/appliedTransitions persistance?\n restoreAppliedTransitions(routerWindow, appliedViewTransitions);\n let _saveAppliedTransitions = () =>\n persistAppliedTransitions(routerWindow, appliedViewTransitions);\n routerWindow.addEventListener(\"pagehide\", _saveAppliedTransitions);\n removePageHideEventListener = () =>\n routerWindow.removeEventListener(\"pagehide\", _saveAppliedTransitions);\n }\n\n // Kick off initial data load if needed. Use Pop to avoid modifying history\n // Note we don't do any handling of lazy here. For SPA's it'll get handled\n // in the normal navigation flow. For SSR it's expected that lazy modules are\n // resolved prior to router creation since we can't go into a fallbackElement\n // UI for SSR'd apps\n if (!state.initialized) {\n startNavigation(HistoryAction.Pop, state.location, {\n initialHydration: true,\n });\n }\n\n return router;\n }\n\n // Clean up a router and it's side effects\n function dispose() {\n if (unlistenHistory) {\n unlistenHistory();\n }\n if (removePageHideEventListener) {\n removePageHideEventListener();\n }\n subscribers.clear();\n pendingNavigationController && pendingNavigationController.abort();\n state.fetchers.forEach((_, key) => deleteFetcher(key));\n state.blockers.forEach((_, key) => deleteBlocker(key));\n }\n\n // Subscribe to state updates for the router\n function subscribe(fn: RouterSubscriber) {\n subscribers.add(fn);\n return () => subscribers.delete(fn);\n }\n\n // Update our state and notify the calling context of the change\n function updateState(\n newState: Partial<RouterState>,\n opts: {\n flushSync?: boolean;\n viewTransitionOpts?: ViewTransitionOpts;\n } = {}\n ): void {\n state = {\n ...state,\n ...newState,\n };\n\n // Prep fetcher cleanup so we can tell the UI which fetcher data entries\n // can be removed\n let completedFetchers: string[] = [];\n let deletedFetchersKeys: string[] = [];\n\n if (future.v7_fetcherPersist) {\n state.fetchers.forEach((fetcher, key) => {\n if (fetcher.state === \"idle\") {\n if (deletedFetchers.has(key)) {\n // Unmounted from the UI and can be totally removed\n deletedFetchersKeys.push(key);\n } else {\n // Returned to idle but still mounted in the UI, so semi-remains for\n // revalidations and such\n completedFetchers.push(key);\n }\n }\n });\n }\n\n // Remove any lingering deleted fetchers that have already been removed\n // from state.fetchers\n deletedFetchers.forEach((key) => {\n if (!state.fetchers.has(key) && !fetchControllers.has(key)) {\n deletedFetchersKeys.push(key);\n }\n });\n\n // Iterate over a local copy so that if flushSync is used and we end up\n // removing and adding a new subscriber due to the useCallback dependencies,\n // we don't get ourselves into a loop calling the new subscriber immediately\n [...subscribers].forEach((subscriber) =>\n subscriber(state, {\n deletedFetchers: deletedFetchersKeys,\n viewTransitionOpts: opts.viewTransitionOpts,\n flushSync: opts.flushSync === true,\n })\n );\n\n // Remove idle fetchers from state since we only care about in-flight fetchers.\n if (future.v7_fetcherPersist) {\n completedFetchers.forEach((key) => state.fetchers.delete(key));\n deletedFetchersKeys.forEach((key) => deleteFetcher(key));\n } else {\n // We already called deleteFetcher() on these, can remove them from this\n // Set now that we've handed the keys off to the data layer\n deletedFetchersKeys.forEach((key) => deletedFetchers.delete(key));\n }\n }\n\n // Complete a navigation returning the state.navigation back to the IDLE_NAVIGATION\n // and setting state.[historyAction/location/matches] to the new route.\n // - Location is a required param\n // - Navigation will always be set to IDLE_NAVIGATION\n // - Can pass any other state in newState\n function completeNavigation(\n location: Location,\n newState: Partial<Omit<RouterState, \"action\" | \"location\" | \"navigation\">>,\n { flushSync }: { flushSync?: boolean } = {}\n ): void {\n // Deduce if we're in a loading/actionReload state:\n // - We have committed actionData in the store\n // - The current navigation was a mutation submission\n // - We're past the submitting state and into the loading state\n // - The location being loaded is not the result of a redirect\n let isActionReload =\n state.actionData != null &&\n state.navigation.formMethod != null &&\n isMutationMethod(state.navigation.formMethod) &&\n state.navigation.state === \"loading\" &&\n location.state?._isRedirect !== true;\n\n let actionData: RouteData | null;\n if (newState.actionData) {\n if (Object.keys(newState.actionData).length > 0) {\n actionData = newState.actionData;\n } else {\n // Empty actionData -> clear prior actionData due to an action error\n actionData = null;\n }\n } else if (isActionReload) {\n // Keep the current data if we're wrapping up the action reload\n actionData = state.actionData;\n } else {\n // Clear actionData on any other completed navigations\n actionData = null;\n }\n\n // Always preserve any existing loaderData from re-used routes\n let loaderData = newState.loaderData\n ? mergeLoaderData(\n state.loaderData,\n newState.loaderData,\n newState.matches || [],\n newState.errors\n )\n : state.loaderData;\n\n // On a successful navigation we can assume we got through all blockers\n // so we can start fresh\n let blockers = state.blockers;\n if (blockers.size > 0) {\n blockers = new Map(blockers);\n blockers.forEach((_, k) => blockers.set(k, IDLE_BLOCKER));\n }\n\n // Always respect the user flag. Otherwise don't reset on mutation\n // submission navigations unless they redirect\n let preventScrollReset =\n pendingPreventScrollReset === true ||\n (state.navigation.formMethod != null &&\n isMutationMethod(state.navigation.formMethod) &&\n location.state?._isRedirect !== true);\n\n // Commit any in-flight routes at the end of the HMR revalidation \"navigation\"\n if (inFlightDataRoutes) {\n dataRoutes = inFlightDataRoutes;\n inFlightDataRoutes = undefined;\n }\n\n if (isUninterruptedRevalidation) {\n // If this was an uninterrupted revalidation then do not touch history\n } else if (pendingAction === HistoryAction.Pop) {\n // Do nothing for POP - URL has already been updated\n } else if (pendingAction === HistoryAction.Push) {\n init.history.push(location, location.state);\n } else if (pendingAction === HistoryAction.Replace) {\n init.history.replace(location, location.state);\n }\n\n let viewTransitionOpts: ViewTransitionOpts | undefined;\n\n // On POP, enable transitions if they were enabled on the original navigation\n if (pendingAction === HistoryAction.Pop) {\n // Forward takes precedence so they behave like the original navigation\n let priorPaths = appliedViewTransitions.get(state.location.pathname);\n if (priorPaths && priorPaths.has(location.pathname)) {\n viewTransitionOpts = {\n currentLocation: state.location,\n nextLocation: location,\n };\n } else if (appliedViewTransitions.has(location.pathname)) {\n // If we don't have a previous forward nav, assume we're popping back to\n // the new location and enable if that location previously enabled\n viewTransitionOpts = {\n currentLocation: location,\n nextLocation: state.location,\n };\n }\n } else if (pendingViewTransitionEnabled) {\n // Store the applied transition on PUSH/REPLACE\n let toPaths = appliedViewTransitions.get(state.location.pathname);\n if (toPaths) {\n toPaths.add(location.pathname);\n } else {\n toPaths = new Set<string>([location.pathname]);\n appliedViewTransitions.set(state.location.pathname, toPaths);\n }\n viewTransitionOpts = {\n currentLocation: state.location,\n nextLocation: location,\n };\n }\n\n updateState(\n {\n ...newState, // matches, errors, fetchers go through as-is\n actionData,\n loaderData,\n historyAction: pendingAction,\n location,\n initialized: true,\n navigation: IDLE_NAVIGATION,\n revalidation: \"idle\",\n restoreScrollPosition: getSavedScrollPosition(\n location,\n newState.matches || state.matches\n ),\n preventScrollReset,\n blockers,\n },\n {\n viewTransitionOpts,\n flushSync: flushSync === true,\n }\n );\n\n // Reset stateful navigation vars\n pendingAction = HistoryAction.Pop;\n pendingPreventScrollReset = false;\n pendingViewTransitionEnabled = false;\n isUninterruptedRevalidation = false;\n isRevalidationRequired = false;\n cancelledDeferredRoutes = [];\n }\n\n // Trigger a navigation event, which can either be a numerical POP or a PUSH\n // replace with an optional submission\n async function navigate(\n to: number | To | null,\n opts?: RouterNavigateOptions\n ): Promise<void> {\n if (typeof to === \"number\") {\n init.history.go(to);\n return;\n }\n\n let normalizedPath = normalizeTo(\n state.location,\n state.matches,\n basename,\n future.v7_prependBasename,\n to,\n future.v7_relativeSplatPath,\n opts?.fromRouteId,\n opts?.relative\n );\n let { path, submission, error } = normalizeNavigateOptions(\n future.v7_normalizeFormMethod,\n false,\n normalizedPath,\n opts\n );\n\n let currentLocation = state.location;\n let nextLocation = createLocation(state.location, path, opts && opts.state);\n\n // When using navigate as a PUSH/REPLACE we aren't reading an already-encoded\n // URL from window.location, so we need to encode it here so the behavior\n // remains the same as POP and non-data-router usages. new URL() does all\n // the same encoding we'd get from a history.pushState/window.location read\n // without having to touch history\n nextLocation = {\n ...nextLocation,\n ...init.history.encodeLocation(nextLocation),\n };\n\n let userReplace = opts && opts.replace != null ? opts.replace : undefined;\n\n let historyAction = HistoryAction.Push;\n\n if (userReplace === true) {\n historyAction = HistoryAction.Replace;\n } else if (userReplace === false) {\n // no-op\n } else if (\n submission != null &&\n isMutationMethod(submission.formMethod) &&\n submission.formAction === state.location.pathname + state.location.search\n ) {\n // By default on submissions to the current location we REPLACE so that\n // users don't have to double-click the back button to get to the prior\n // location. If the user redirects to a different location from the\n // action/loader this will be ignored and the redirect will be a PUSH\n historyAction = HistoryAction.Replace;\n }\n\n let preventScrollReset =\n opts && \"preventScrollReset\" in opts\n ? opts.preventScrollReset === true\n : undefined;\n\n let flushSync = (opts && opts.flushSync) === true;\n\n let blockerKey = shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction,\n });\n\n if (blockerKey) {\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location: nextLocation,\n proceed() {\n updateBlocker(blockerKey!, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location: nextLocation,\n });\n // Send the same navigation through\n navigate(to, opts);\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey!, IDLE_BLOCKER);\n updateState({ blockers });\n },\n });\n return;\n }\n\n return await startNavigation(historyAction, nextLocation, {\n submission,\n // Send through the formData serialization error if we have one so we can\n // render at the right error boundary after we match routes\n pendingError: error,\n preventScrollReset,\n replace: opts && opts.replace,\n enableViewTransition: opts && opts.viewTransition,\n flushSync,\n });\n }\n\n // Revalidate all current loaders. If a navigation is in progress or if this\n // is interrupted by a navigation, allow this to \"succeed\" by calling all\n // loaders during the next loader round\n function revalidate() {\n interruptActiveLoads();\n updateState({ revalidation: \"loading\" });\n\n // If we're currently submitting an action, we don't need to start a new\n // navigation, we'll just let the follow up loader execution call all loaders\n if (state.navigation.state === \"submitting\") {\n return;\n }\n\n // If we're currently in an idle state, start a new navigation for the current\n // action/location and mark it as uninterrupted, which will skip the history\n // update in completeNavigation\n if (state.navigation.state === \"idle\") {\n startNavigation(state.historyAction, state.location, {\n startUninterruptedRevalidation: true,\n });\n return;\n }\n\n // Otherwise, if we're currently in a loading state, just start a new\n // navigation to the navigation.location but do not trigger an uninterrupted\n // revalidation so that history correctly updates once the navigation completes\n startNavigation(\n pendingAction || state.historyAction,\n state.navigation.location,\n {\n overrideNavigation: state.navigation,\n // Proxy through any rending view transition\n enableViewTransition: pendingViewTransitionEnabled === true,\n }\n );\n }\n\n // Start a navigation to the given action/location. Can optionally provide a\n // overrideNavigation which will override the normalLoad in the case of a redirect\n // navigation\n async function startNavigation(\n historyAction: HistoryAction,\n location: Location,\n opts?: {\n initialHydration?: boolean;\n submission?: Submission;\n fetcherSubmission?: Submission;\n overrideNavigation?: Navigation;\n pendingError?: ErrorResponseImpl;\n startUninterruptedRevalidation?: boolean;\n preventScrollReset?: boolean;\n replace?: boolean;\n enableViewTransition?: boolean;\n flushSync?: boolean;\n }\n ): Promise<void> {\n // Abort any in-progress navigations and start a new one. Unset any ongoing\n // uninterrupted revalidations unless told otherwise, since we want this\n // new navigation to update history normally\n pendingNavigationController && pendingNavigationController.abort();\n pendingNavigationController = null;\n pendingAction = historyAction;\n isUninterruptedRevalidation =\n (opts && opts.startUninterruptedRevalidation) === true;\n\n // Save the current scroll position every time we start a new navigation,\n // and track whether we should reset scroll on completion\n saveScrollPosition(state.location, state.matches);\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n\n pendingViewTransitionEnabled = (opts && opts.enableViewTransition) === true;\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let loadingNavigation = opts && opts.overrideNavigation;\n let matches =\n opts?.initialHydration &&\n state.matches &&\n state.matches.length > 0 &&\n !initialMatchesIsFOW\n ? // `matchRoutes()` has already been called if we're in here via `router.initialize()`\n state.matches\n : matchRoutes(routesToUse, location, basename);\n let flushSync = (opts && opts.flushSync) === true;\n\n let fogOfWar = checkFogOfWar(matches, routesToUse, location.pathname);\n if (fogOfWar.active && fogOfWar.matches) {\n matches = fogOfWar.matches;\n }\n\n // Short circuit with a 404 on the root error boundary if we match nothing\n if (!matches) {\n let { error, notFoundMatches, route } = handleNavigational404(\n location.pathname\n );\n completeNavigation(\n location,\n {\n matches: notFoundMatches,\n loaderData: {},\n errors: {\n [route.id]: error,\n },\n },\n { flushSync }\n );\n return;\n }\n\n // Short circuit if it's only a hash change and not a revalidation or\n // mutation submission.\n //\n // Ignore on initial page loads because since the initial hydration will always\n // be \"same hash\". For example, on /page#hash and submit a <Form method=\"post\">\n // which will default to a navigation to /page\n if (\n state.initialized &&\n !isRevalidationRequired &&\n isHashChangeOnly(state.location, location) &&\n !(opts && opts.submission && isMutationMethod(opts.submission.formMethod))\n ) {\n completeNavigation(location, { matches }, { flushSync });\n return;\n }\n\n // Create a controller/Request for this navigation\n pendingNavigationController = new AbortController();\n let request = createClientSideRequest(\n init.history,\n location,\n pendingNavigationController.signal,\n opts && opts.submission\n );\n let pendingActionResult: PendingActionResult | undefined;\n\n if (opts && opts.pendingError) {\n // If we have a pendingError, it means the user attempted a GET submission\n // with binary FormData so assign here and skip to handleLoaders. That\n // way we handle calling loaders above the boundary etc. It's not really\n // different from an actionError in that sense.\n pendingActionResult = [\n findNearestBoundary(matches).route.id,\n { type: ResultType.error, error: opts.pendingError },\n ];\n } else if (\n opts &&\n opts.submission &&\n isMutationMethod(opts.submission.formMethod)\n ) {\n // Call action if we received an action submission\n let actionResult = await handleAction(\n request,\n location,\n opts.submission,\n matches,\n fogOfWar.active,\n { replace: opts.replace, flushSync }\n );\n\n if (actionResult.shortCircuited) {\n return;\n }\n\n // If we received a 404 from handleAction, it's because we couldn't lazily\n // discover the destination route so we don't want to call loaders\n if (actionResult.pendingActionResult) {\n let [routeId, result] = actionResult.pendingActionResult;\n if (\n isErrorResult(result) &&\n isRouteErrorResponse(result.error) &&\n result.error.status === 404\n ) {\n pendingNavigationController = null;\n\n completeNavigation(location, {\n matches: actionResult.matches,\n loaderData: {},\n errors: {\n [routeId]: result.error,\n },\n });\n return;\n }\n }\n\n matches = actionResult.matches || matches;\n pendingActionResult = actionResult.pendingActionResult;\n loadingNavigation = getLoadingNavigation(location, opts.submission);\n flushSync = false;\n // No need to do fog of war matching again on loader execution\n fogOfWar.active = false;\n\n // Create a GET request for the loaders\n request = createClientSideRequest(\n init.history,\n request.url,\n request.signal\n );\n }\n\n // Call loaders\n let {\n shortCircuited,\n matches: updatedMatches,\n loaderData,\n errors,\n } = await handleLoaders(\n request,\n location,\n matches,\n fogOfWar.active,\n loadingNavigation,\n opts && opts.submission,\n opts && opts.fetcherSubmission,\n opts && opts.replace,\n opts && opts.initialHydration === true,\n flushSync,\n pendingActionResult\n );\n\n if (shortCircuited) {\n return;\n }\n\n // Clean up now that the action/loaders have completed. Don't clean up if\n // we short circuited because pendingNavigationController will have already\n // been assigned to a new controller for the next navigation\n pendingNavigationController = null;\n\n completeNavigation(location, {\n matches: updatedMatches || matches,\n ...getActionDataForCommit(pendingActionResult),\n loaderData,\n errors,\n });\n }\n\n // Call the action matched by the leaf route for this navigation and handle\n // redirects/errors\n async function handleAction(\n request: Request,\n location: Location,\n submission: Submission,\n matches: AgnosticDataRouteMatch[],\n isFogOfWar: boolean,\n opts: { replace?: boolean; flushSync?: boolean } = {}\n ): Promise<HandleActionResult> {\n interruptActiveLoads();\n\n // Put us in a submitting state\n let navigation = getSubmittingNavigation(location, submission);\n updateState({ navigation }, { flushSync: opts.flushSync === true });\n\n if (isFogOfWar) {\n let discoverResult = await discoverRoutes(\n matches,\n location.pathname,\n request.signal\n );\n if (discoverResult.type === \"aborted\") {\n return { shortCircuited: true };\n } else if (discoverResult.type === \"error\") {\n let boundaryId = findNearestBoundary(discoverResult.partialMatches)\n .route.id;\n return {\n matches: discoverResult.partialMatches,\n pendingActionResult: [\n boundaryId,\n {\n type: ResultType.error,\n error: discoverResult.error,\n },\n ],\n };\n } else if (!discoverResult.matches) {\n let { notFoundMatches, error, route } = handleNavigational404(\n location.pathname\n );\n return {\n matches: notFoundMatches,\n pendingActionResult: [\n route.id,\n {\n type: ResultType.error,\n error,\n },\n ],\n };\n } else {\n matches = discoverResult.matches;\n }\n }\n\n // Call our action and get the result\n let result: DataResult;\n let actionMatch = getTargetMatch(matches, location);\n\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n result = {\n type: ResultType.error,\n error: getInternalRouterError(405, {\n method: request.method,\n pathname: location.pathname,\n routeId: actionMatch.route.id,\n }),\n };\n } else {\n let results = await callDataStrategy(\n \"action\",\n state,\n request,\n [actionMatch],\n matches,\n null\n );\n result = results[actionMatch.route.id];\n\n if (request.signal.aborted) {\n return { shortCircuited: true };\n }\n }\n\n if (isRedirectResult(result)) {\n let replace: boolean;\n if (opts && opts.replace != null) {\n replace = opts.replace;\n } else {\n // If the user didn't explicity indicate replace behavior, replace if\n // we redirected to the exact same location we're currently at to avoid\n // double back-buttons\n let location = normalizeRedirectLocation(\n result.response.headers.get(\"Location\")!,\n new URL(request.url),\n basename\n );\n replace = location === state.location.pathname + state.location.search;\n }\n await startRedirectNavigation(request, result, true, {\n submission,\n replace,\n });\n return { shortCircuited: true };\n }\n\n if (isDeferredResult(result)) {\n throw getInternalRouterError(400, { type: \"defer-action\" });\n }\n\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n\n // By default, all submissions to the current location are REPLACE\n // navigations, but if the action threw an error that'll be rendered in\n // an errorElement, we fall back to PUSH so that the user can use the\n // back button to get back to the pre-submission form location to try\n // again\n if ((opts && opts.replace) !== true) {\n pendingAction = HistoryAction.Push;\n }\n\n return {\n matches,\n pendingActionResult: [boundaryMatch.route.id, result],\n };\n }\n\n return {\n matches,\n pendingActionResult: [actionMatch.route.id, result],\n };\n }\n\n // Call all applicable loaders for the given matches, handling redirects,\n // errors, etc.\n async function handleLoaders(\n request: Request,\n location: Location,\n matches: AgnosticDataRouteMatch[],\n isFogOfWar: boolean,\n overrideNavigation?: Navigation,\n submission?: Submission,\n fetcherSubmission?: Submission,\n replace?: boolean,\n initialHydration?: boolean,\n flushSync?: boolean,\n pendingActionResult?: PendingActionResult\n ): Promise<HandleLoadersResult> {\n // Figure out the right navigation we want to use for data loading\n let loadingNavigation =\n overrideNavigation || getLoadingNavigation(location, submission);\n\n // If this was a redirect from an action we don't have a \"submission\" but\n // we have it on the loading navigation so use that if available\n let activeSubmission =\n submission ||\n fetcherSubmission ||\n getSubmissionFromNavigation(loadingNavigation);\n\n // If this is an uninterrupted revalidation, we remain in our current idle\n // state. If not, we need to switch to our loading state and load data,\n // preserving any new action data or existing action data (in the case of\n // a revalidation interrupting an actionReload)\n // If we have partialHydration enabled, then don't update the state for the\n // initial data load since it's not a \"navigation\"\n let shouldUpdateNavigationState =\n !isUninterruptedRevalidation &&\n (!future.v7_partialHydration || !initialHydration);\n\n // When fog of war is enabled, we enter our `loading` state earlier so we\n // can discover new routes during the `loading` state. We skip this if\n // we've already run actions since we would have done our matching already.\n // If the children() function threw then, we want to proceed with the\n // partial matches it discovered.\n if (isFogOfWar) {\n if (shouldUpdateNavigationState) {\n let actionData = getUpdatedActionData(pendingActionResult);\n updateState(\n {\n navigation: loadingNavigation,\n ...(actionData !== undefined ? { actionData } : {}),\n },\n {\n flushSync,\n }\n );\n }\n\n let discoverResult = await discoverRoutes(\n matches,\n location.pathname,\n request.signal\n );\n\n if (discoverResult.type === \"aborted\") {\n return { shortCircuited: true };\n } else if (discoverResult.type === \"error\") {\n let boundaryId = findNearestBoundary(discoverResult.partialMatches)\n .route.id;\n return {\n matches: discoverResult.partialMatches,\n loaderData: {},\n errors: {\n [boundaryId]: discoverResult.error,\n },\n };\n } else if (!discoverResult.matches) {\n let { error, notFoundMatches, route } = handleNavigational404(\n location.pathname\n );\n return {\n matches: notFoundMatches,\n loaderData: {},\n errors: {\n [route.id]: error,\n },\n };\n } else {\n matches = discoverResult.matches;\n }\n }\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n init.history,\n state,\n matches,\n activeSubmission,\n location,\n future.v7_partialHydration && initialHydration === true,\n future.v7_skipActionErrorRevalidation,\n isRevalidationRequired,\n cancelledDeferredRoutes,\n cancelledFetcherLoads,\n deletedFetchers,\n fetchLoadMatches,\n fetchRedirectIds,\n routesToUse,\n basename,\n pendingActionResult\n );\n\n // Cancel pending deferreds for no-longer-matched routes or routes we're\n // about to reload. Note that if this is an action reload we would have\n // already cancelled all pending deferreds so this would be a no-op\n cancelActiveDeferreds(\n (routeId) =>\n !(matches && matches.some((m) => m.route.id === routeId)) ||\n (matchesToLoad && matchesToLoad.some((m) => m.route.id === routeId))\n );\n\n pendingNavigationLoadId = ++incrementingLoadId;\n\n // Short circuit if we have no loaders to run\n if (matchesToLoad.length === 0 && revalidatingFetchers.length === 0) {\n let updatedFetchers = markFetchRedirectsDone();\n completeNavigation(\n location,\n {\n matches,\n loaderData: {},\n // Commit pending error if we're short circuiting\n errors:\n pendingActionResult && isErrorResult(pendingActionResult[1])\n ? { [pendingActionResult[0]]: pendingActionResult[1].error }\n : null,\n ...getActionDataForCommit(pendingActionResult),\n ...(updatedFetchers ? { fetchers: new Map(state.fetchers) } : {}),\n },\n { flushSync }\n );\n return { shortCircuited: true };\n }\n\n if (shouldUpdateNavigationState) {\n let updates: Partial<RouterState> = {};\n if (!isFogOfWar) {\n // Only update navigation/actionNData if we didn't already do it above\n updates.navigation = loadingNavigation;\n let actionData = getUpdatedActionData(pendingActionResult);\n if (actionData !== undefined) {\n updates.actionData = actionData;\n }\n }\n if (revalidatingFetchers.length > 0) {\n updates.fetchers = getUpdatedRevalidatingFetchers(revalidatingFetchers);\n }\n updateState(updates, { flushSync });\n }\n\n revalidatingFetchers.forEach((rf) => {\n abortFetcher(rf.key);\n if (rf.controller) {\n // Fetchers use an independent AbortController so that aborting a fetcher\n // (via deleteFetcher) does not abort the triggering navigation that\n // triggered the revalidation\n fetchControllers.set(rf.key, rf.controller);\n }\n });\n\n // Proxy navigation abort through to revalidation fetchers\n let abortPendingFetchRevalidations = () =>\n revalidatingFetchers.forEach((f) => abortFetcher(f.key));\n if (pendingNavigationController) {\n pendingNavigationController.signal.addEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n }\n\n let { loaderResults, fetcherResults } =\n await callLoadersAndMaybeResolveData(\n state,\n matches,\n matchesToLoad,\n revalidatingFetchers,\n request\n );\n\n if (request.signal.aborted) {\n return { shortCircuited: true };\n }\n\n // Clean up _after_ loaders have completed. Don't clean up if we short\n // circuited because fetchControllers would have been aborted and\n // reassigned to new controllers for the next navigation\n if (pendingNavigationController) {\n pendingNavigationController.signal.removeEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n }\n\n revalidatingFetchers.forEach((rf) => fetchControllers.delete(rf.key));\n\n // If any loaders returned a redirect Response, start a new REPLACE navigation\n let redirect = findRedirect(loaderResults);\n if (redirect) {\n await startRedirectNavigation(request, redirect.result, true, {\n replace,\n });\n return { shortCircuited: true };\n }\n\n redirect = findRedirect(fetcherResults);\n if (redirect) {\n // If this redirect came from a fetcher make sure we mark it in\n // fetchRedirectIds so it doesn't get revalidated on the next set of\n // loader executions\n fetchRedirectIds.add(redirect.key);\n await startRedirectNavigation(request, redirect.result, true, {\n replace,\n });\n return { shortCircuited: true };\n }\n\n // Process and commit output from loaders\n let { loaderData, errors } = processLoaderData(\n state,\n matches,\n loaderResults,\n pendingActionResult,\n revalidatingFetchers,\n fetcherResults,\n activeDeferreds\n );\n\n // Wire up subscribers to update loaderData as promises settle\n activeDeferreds.forEach((deferredData, routeId) => {\n deferredData.subscribe((aborted) => {\n // Note: No need to updateState here since the TrackedPromise on\n // loaderData is stable across resolve/reject\n // Remove this instance if we were aborted or if promises have settled\n if (aborted || deferredData.done) {\n activeDeferreds.delete(routeId);\n }\n });\n });\n\n // Preserve SSR errors during partial hydration\n if (future.v7_partialHydration && initialHydration && state.errors) {\n errors = { ...state.errors, ...errors };\n }\n\n let updatedFetchers = markFetchRedirectsDone();\n let didAbortFetchLoads = abortStaleFetchLoads(pendingNavigationLoadId);\n let shouldUpdateFetchers =\n updatedFetchers || didAbortFetchLoads || revalidatingFetchers.length > 0;\n\n return {\n matches,\n loaderData,\n errors,\n ...(shouldUpdateFetchers ? { fetchers: new Map(state.fetchers) } : {}),\n };\n }\n\n function getUpdatedActionData(\n pendingActionResult: PendingActionResult | undefined\n ): Record<string, RouteData> | null | undefined {\n if (pendingActionResult && !isErrorResult(pendingActionResult[1])) {\n // This is cast to `any` currently because `RouteData`uses any and it\n // would be a breaking change to use any.\n // TODO: v7 - change `RouteData` to use `unknown` instead of `any`\n return {\n [pendingActionResult[0]]: pendingActionResult[1].data as any,\n };\n } else if (state.actionData) {\n if (Object.keys(state.actionData).length === 0) {\n return null;\n } else {\n return state.actionData;\n }\n }\n }\n\n function getUpdatedRevalidatingFetchers(\n revalidatingFetchers: RevalidatingFetcher[]\n ) {\n revalidatingFetchers.forEach((rf) => {\n let fetcher = state.fetchers.get(rf.key);\n let revalidatingFetcher = getLoadingFetcher(\n undefined,\n fetcher ? fetcher.data : undefined\n );\n state.fetchers.set(rf.key, revalidatingFetcher);\n });\n return new Map(state.fetchers);\n }\n\n // Trigger a fetcher load/submit for the given fetcher key\n function fetch(\n key: string,\n routeId: string,\n href: string | null,\n opts?: RouterFetchOptions\n ) {\n if (isServer) {\n throw new Error(\n \"router.fetch() was called during the server render, but it shouldn't be. \" +\n \"You are likely calling a useFetcher() method in the body of your component. \" +\n \"Try moving it to a useEffect or a callback.\"\n );\n }\n\n abortFetcher(key);\n\n let flushSync = (opts && opts.flushSync) === true;\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let normalizedPath = normalizeTo(\n state.location,\n state.matches,\n basename,\n future.v7_prependBasename,\n href,\n future.v7_relativeSplatPath,\n routeId,\n opts?.relative\n );\n let matches = matchRoutes(routesToUse, normalizedPath, basename);\n\n let fogOfWar = checkFogOfWar(matches, routesToUse, normalizedPath);\n if (fogOfWar.active && fogOfWar.matches) {\n matches = fogOfWar.matches;\n }\n\n if (!matches) {\n setFetcherError(\n key,\n routeId,\n getInternalRouterError(404, { pathname: normalizedPath }),\n { flushSync }\n );\n return;\n }\n\n let { path, submission, error } = normalizeNavigateOptions(\n future.v7_normalizeFormMethod,\n true,\n normalizedPath,\n opts\n );\n\n if (error) {\n setFetcherError(key, routeId, error, { flushSync });\n return;\n }\n\n let match = getTargetMatch(matches, path);\n\n let preventScrollReset = (opts && opts.preventScrollReset) === true;\n\n if (submission && isMutationMethod(submission.formMethod)) {\n handleFetcherAction(\n key,\n routeId,\n path,\n match,\n matches,\n fogOfWar.active,\n flushSync,\n preventScrollReset,\n submission\n );\n return;\n }\n\n // Store off the match so we can call it's shouldRevalidate on subsequent\n // revalidations\n fetchLoadMatches.set(key, { routeId, path });\n handleFetcherLoader(\n key,\n routeId,\n path,\n match,\n matches,\n fogOfWar.active,\n flushSync,\n preventScrollReset,\n submission\n );\n }\n\n // Call the action for the matched fetcher.submit(), and then handle redirects,\n // errors, and revalidation\n async function handleFetcherAction(\n key: string,\n routeId: string,\n path: string,\n match: AgnosticDataRouteMatch,\n requestMatches: AgnosticDataRouteMatch[],\n isFogOfWar: boolean,\n flushSync: boolean,\n preventScrollReset: boolean,\n submission: Submission\n ) {\n interruptActiveLoads();\n fetchLoadMatches.delete(key);\n\n function detectAndHandle405Error(m: AgnosticDataRouteMatch) {\n if (!m.route.action && !m.route.lazy) {\n let error = getInternalRouterError(405, {\n method: submission.formMethod,\n pathname: path,\n routeId: routeId,\n });\n setFetcherError(key, routeId, error, { flushSync });\n return true;\n }\n return false;\n }\n\n if (!isFogOfWar && detectAndHandle405Error(match)) {\n return;\n }\n\n // Put this fetcher into it's submitting state\n let existingFetcher = state.fetchers.get(key);\n updateFetcherState(key, getSubmittingFetcher(submission, existingFetcher), {\n flushSync,\n });\n\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(\n init.history,\n path,\n abortController.signal,\n submission\n );\n\n if (isFogOfWar) {\n let discoverResult = await discoverRoutes(\n requestMatches,\n new URL(fetchRequest.url).pathname,\n fetchRequest.signal\n );\n\n if (discoverResult.type === \"aborted\") {\n return;\n } else if (discoverResult.type === \"error\") {\n setFetcherError(key, routeId, discoverResult.error, { flushSync });\n return;\n } else if (!discoverResult.matches) {\n setFetcherError(\n key,\n routeId,\n getInternalRouterError(404, { pathname: path }),\n { flushSync }\n );\n return;\n } else {\n requestMatches = discoverResult.matches;\n match = getTargetMatch(requestMatches, path);\n\n if (detectAndHandle405Error(match)) {\n return;\n }\n }\n }\n\n // Call the action for the fetcher\n fetchControllers.set(key, abortController);\n\n let originatingLoadId = incrementingLoadId;\n let actionResults = await callDataStrategy(\n \"action\",\n state,\n fetchRequest,\n [match],\n requestMatches,\n key\n );\n let actionResult = actionResults[match.route.id];\n\n if (fetchRequest.signal.aborted) {\n // We can delete this so long as we weren't aborted by our own fetcher\n // re-submit which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n return;\n }\n\n // When using v7_fetcherPersist, we don't want errors bubbling up to the UI\n // or redirects processed for unmounted fetchers so we just revert them to\n // idle\n if (future.v7_fetcherPersist && deletedFetchers.has(key)) {\n if (isRedirectResult(actionResult) || isErrorResult(actionResult)) {\n updateFetcherState(key, getDoneFetcher(undefined));\n return;\n }\n // Let SuccessResult's fall through for revalidation\n } else {\n if (isRedirectResult(actionResult)) {\n fetchControllers.delete(key);\n if (pendingNavigationLoadId > originatingLoadId) {\n // A new navigation was kicked off after our action started, so that\n // should take precedence over this redirect navigation. We already\n // set isRevalidationRequired so all loaders for the new route should\n // fire unless opted out via shouldRevalidate\n updateFetcherState(key, getDoneFetcher(undefined));\n return;\n } else {\n fetchRedirectIds.add(key);\n updateFetcherState(key, getLoadingFetcher(submission));\n return startRedirectNavigation(fetchRequest, actionResult, false, {\n fetcherSubmission: submission,\n preventScrollReset,\n });\n }\n }\n\n // Process any non-redirect errors thrown\n if (isErrorResult(actionResult)) {\n setFetcherError(key, routeId, actionResult.error);\n return;\n }\n }\n\n if (isDeferredResult(actionResult)) {\n throw getInternalRouterError(400, { type: \"defer-action\" });\n }\n\n // Start the data load for current matches, or the next location if we're\n // in the middle of a navigation\n let nextLocation = state.navigation.location || state.location;\n let revalidationRequest = createClientSideRequest(\n init.history,\n nextLocation,\n abortController.signal\n );\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let matches =\n state.navigation.state !== \"idle\"\n ? matchRoutes(routesToUse, state.navigation.location, basename)\n : state.matches;\n\n invariant(matches, \"Didn't find any matches after fetcher action\");\n\n let loadId = ++incrementingLoadId;\n fetchReloadIds.set(key, loadId);\n\n let loadFetcher = getLoadingFetcher(submission, actionResult.data);\n state.fetchers.set(key, loadFetcher);\n\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n init.history,\n state,\n matches,\n submission,\n nextLocation,\n false,\n future.v7_skipActionErrorRevalidation,\n isRevalidationRequired,\n cancelledDeferredRoutes,\n cancelledFetcherLoads,\n deletedFetchers,\n fetchLoadMatches,\n fetchRedirectIds,\n routesToUse,\n basename,\n [match.route.id, actionResult]\n );\n\n // Put all revalidating fetchers into the loading state, except for the\n // current fetcher which we want to keep in it's current loading state which\n // contains it's action submission info + action data\n revalidatingFetchers\n .filter((rf) => rf.key !== key)\n .forEach((rf) => {\n let staleKey = rf.key;\n let existingFetcher = state.fetchers.get(staleKey);\n let revalidatingFetcher = getLoadingFetcher(\n undefined,\n existingFetcher ? existingFetcher.data : undefined\n );\n state.fetchers.set(staleKey, revalidatingFetcher);\n abortFetcher(staleKey);\n if (rf.controller) {\n fetchControllers.set(staleKey, rf.controller);\n }\n });\n\n updateState({ fetchers: new Map(state.fetchers) });\n\n let abortPendingFetchRevalidations = () =>\n revalidatingFetchers.forEach((rf) => abortFetcher(rf.key));\n\n abortController.signal.addEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n\n let { loaderResults, fetcherResults } =\n await callLoadersAndMaybeResolveData(\n state,\n matches,\n matchesToLoad,\n revalidatingFetchers,\n revalidationRequest\n );\n\n if (abortController.signal.aborted) {\n return;\n }\n\n abortController.signal.removeEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n\n fetchReloadIds.delete(key);\n fetchControllers.delete(key);\n revalidatingFetchers.forEach((r) => fetchControllers.delete(r.key));\n\n let redirect = findRedirect(loaderResults);\n if (redirect) {\n return startRedirectNavigation(\n revalidationRequest,\n redirect.result,\n false,\n { preventScrollReset }\n );\n }\n\n redirect = findRedirect(fetcherResults);\n if (redirect) {\n // If this redirect came from a fetcher make sure we mark it in\n // fetchRedirectIds so it doesn't get revalidated on the next set of\n // loader executions\n fetchRedirectIds.add(redirect.key);\n return startRedirectNavigation(\n revalidationRequest,\n redirect.result,\n false,\n { preventScrollReset }\n );\n }\n\n // Process and commit output from loaders\n let { loaderData, errors } = processLoaderData(\n state,\n matches,\n loaderResults,\n undefined,\n revalidatingFetchers,\n fetcherResults,\n activeDeferreds\n );\n\n // Since we let revalidations complete even if the submitting fetcher was\n // deleted, only put it back to idle if it hasn't been deleted\n if (state.fetchers.has(key)) {\n let doneFetcher = getDoneFetcher(actionResult.data);\n state.fetchers.set(key, doneFetcher);\n }\n\n abortStaleFetchLoads(loadId);\n\n // If we are currently in a navigation loading state and this fetcher is\n // more recent than the navigation, we want the newer data so abort the\n // navigation and complete it with the fetcher data\n if (\n state.navigation.state === \"loading\" &&\n loadId > pendingNavigationLoadId\n ) {\n invariant(pendingAction, \"Expected pending action\");\n pendingNavigationController && pendingNavigationController.abort();\n\n completeNavigation(state.navigation.location, {\n matches,\n loaderData,\n errors,\n fetchers: new Map(state.fetchers),\n });\n } else {\n // otherwise just update with the fetcher data, preserving any existing\n // loaderData for loaders that did not need to reload. We have to\n // manually merge here since we aren't going through completeNavigation\n updateState({\n errors,\n loaderData: mergeLoaderData(\n state.loaderData,\n loaderData,\n matches,\n errors\n ),\n fetchers: new Map(state.fetchers),\n });\n isRevalidationRequired = false;\n }\n }\n\n // Call the matched loader for fetcher.load(), handling redirects, errors, etc.\n async function handleFetcherLoader(\n key: string,\n routeId: string,\n path: string,\n match: AgnosticDataRouteMatch,\n matches: AgnosticDataRouteMatch[],\n isFogOfWar: boolean,\n flushSync: boolean,\n preventScrollReset: boolean,\n submission?: Submission\n ) {\n let existingFetcher = state.fetchers.get(key);\n updateFetcherState(\n key,\n getLoadingFetcher(\n submission,\n existingFetcher ? existingFetcher.data : undefined\n ),\n { flushSync }\n );\n\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(\n init.history,\n path,\n abortController.signal\n );\n\n if (isFogOfWar) {\n let discoverResult = await discoverRoutes(\n matches,\n new URL(fetchRequest.url).pathname,\n fetchRequest.signal\n );\n\n if (discoverResult.type === \"aborted\") {\n return;\n } else if (discoverResult.type === \"error\") {\n setFetcherError(key, routeId, discoverResult.error, { flushSync });\n return;\n } else if (!discoverResult.matches) {\n setFetcherError(\n key,\n routeId,\n getInternalRouterError(404, { pathname: path }),\n { flushSync }\n );\n return;\n } else {\n matches = discoverResult.matches;\n match = getTargetMatch(matches, path);\n }\n }\n\n // Call the loader for this fetcher route match\n fetchControllers.set(key, abortController);\n\n let originatingLoadId = incrementingLoadId;\n let results = await callDataStrategy(\n \"loader\",\n state,\n fetchRequest,\n [match],\n matches,\n key\n );\n let result = results[match.route.id];\n\n // Deferred isn't supported for fetcher loads, await everything and treat it\n // as a normal load. resolveDeferredData will return undefined if this\n // fetcher gets aborted, so we just leave result untouched and short circuit\n // below if that happens\n if (isDeferredResult(result)) {\n result =\n (await resolveDeferredData(result, fetchRequest.signal, true)) ||\n result;\n }\n\n // We can delete this so long as we weren't aborted by our our own fetcher\n // re-load which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n\n if (fetchRequest.signal.aborted) {\n return;\n }\n\n // We don't want errors bubbling up or redirects followed for unmounted\n // fetchers, so short circuit here if it was removed from the UI\n if (deletedFetchers.has(key)) {\n updateFetcherState(key, getDoneFetcher(undefined));\n return;\n }\n\n // If the loader threw a redirect Response, start a new REPLACE navigation\n if (isRedirectResult(result)) {\n if (pendingNavigationLoadId > originatingLoadId) {\n // A new navigation was kicked off after our loader started, so that\n // should take precedence over this redirect navigation\n updateFetcherState(key, getDoneFetcher(undefined));\n return;\n } else {\n fetchRedirectIds.add(key);\n await startRedirectNavigation(fetchRequest, result, false, {\n preventScrollReset,\n });\n return;\n }\n }\n\n // Process any non-redirect errors thrown\n if (isErrorResult(result)) {\n setFetcherError(key, routeId, result.error);\n return;\n }\n\n invariant(!isDeferredResult(result), \"Unhandled fetcher deferred data\");\n\n // Put the fetcher back into an idle state\n updateFetcherState(key, getDoneFetcher(result.data));\n }\n\n /**\n * Utility function to handle redirects returned from an action or loader.\n * Normally, a redirect \"replaces\" the navigation that triggered it. So, for\n * example:\n *\n * - user is on /a\n * - user clicks a link to /b\n * - loader for /b redirects to /c\n *\n * In a non-JS app the browser would track the in-flight navigation to /b and\n * then replace it with /c when it encountered the redirect response. In\n * the end it would only ever update the URL bar with /c.\n *\n * In client-side routing using pushState/replaceState, we aim to emulate\n * this behavior and we also do not update history until the end of the\n * navigation (including processed redirects). This means that we never\n * actually touch history until we've processed redirects, so we just use\n * the history action from the original navigation (PUSH or REPLACE).\n */\n async function startRedirectNavigation(\n request: Request,\n redirect: RedirectResult,\n isNavigation: boolean,\n {\n submission,\n fetcherSubmission,\n preventScrollReset,\n replace,\n }: {\n submission?: Submission;\n fetcherSubmission?: Submission;\n preventScrollReset?: boolean;\n replace?: boolean;\n } = {}\n ) {\n if (redirect.response.headers.has(\"X-Remix-Revalidate\")) {\n isRevalidationRequired = true;\n }\n\n let location = redirect.response.headers.get(\"Location\");\n invariant(location, \"Expected a Location header on the redirect Response\");\n location = normalizeRedirectLocation(\n location,\n new URL(request.url),\n basename\n );\n let redirectLocation = createLocation(state.location, location, {\n _isRedirect: true,\n });\n\n if (isBrowser) {\n let isDocumentReload = false;\n\n if (redirect.response.headers.has(\"X-Remix-Reload-Document\")) {\n // Hard reload if the response contained X-Remix-Reload-Document\n isDocumentReload = true;\n } else if (ABSOLUTE_URL_REGEX.test(location)) {\n const url = init.history.createURL(location);\n isDocumentReload =\n // Hard reload if it's an absolute URL to a new origin\n url.origin !== routerWindow.location.origin ||\n // Hard reload if it's an absolute URL that does not match our basename\n stripBasename(url.pathname, basename) == null;\n }\n\n if (isDocumentReload) {\n if (replace) {\n routerWindow.location.replace(location);\n } else {\n routerWindow.location.assign(location);\n }\n return;\n }\n }\n\n // There's no need to abort on redirects, since we don't detect the\n // redirect until the action/loaders have settled\n pendingNavigationController = null;\n\n let redirectHistoryAction =\n replace === true || redirect.response.headers.has(\"X-Remix-Replace\")\n ? HistoryAction.Replace\n : HistoryAction.Push;\n\n // Use the incoming submission if provided, fallback on the active one in\n // state.navigation\n let { formMethod, formAction, formEncType } = state.navigation;\n if (\n !submission &&\n !fetcherSubmission &&\n formMethod &&\n formAction &&\n formEncType\n ) {\n submission = getSubmissionFromNavigation(state.navigation);\n }\n\n // If this was a 307/308 submission we want to preserve the HTTP method and\n // re-submit the GET/POST/PUT/PATCH/DELETE as a submission navigation to the\n // redirected location\n let activeSubmission = submission || fetcherSubmission;\n if (\n redirectPreserveMethodStatusCodes.has(redirect.response.status) &&\n activeSubmission &&\n isMutationMethod(activeSubmission.formMethod)\n ) {\n await startNavigation(redirectHistoryAction, redirectLocation, {\n submission: {\n ...activeSubmission,\n formAction: location,\n },\n // Preserve these flags across redirects\n preventScrollReset: preventScrollReset || pendingPreventScrollReset,\n enableViewTransition: isNavigation\n ? pendingViewTransitionEnabled\n : undefined,\n });\n } else {\n // If we have a navigation submission, we will preserve it through the\n // redirect navigation\n let overrideNavigation = getLoadingNavigation(\n redirectLocation,\n submission\n );\n await startNavigation(redirectHistoryAction, redirectLocation, {\n overrideNavigation,\n // Send fetcher submissions through for shouldRevalidate\n fetcherSubmission,\n // Preserve these flags across redirects\n preventScrollReset: preventScrollReset || pendingPreventScrollReset,\n enableViewTransition: isNavigation\n ? pendingViewTransitionEnabled\n : undefined,\n });\n }\n }\n\n // Utility wrapper for calling dataStrategy client-side without having to\n // pass around the manifest, mapRouteProperties, etc.\n async function callDataStrategy(\n type: \"loader\" | \"action\",\n state: RouterState,\n request: Request,\n matchesToLoad: AgnosticDataRouteMatch[],\n matches: AgnosticDataRouteMatch[],\n fetcherKey: string | null\n ): Promise<Record<string, DataResult>> {\n let results: Record<string, DataStrategyResult>;\n let dataResults: Record<string, DataResult> = {};\n try {\n results = await callDataStrategyImpl(\n dataStrategyImpl,\n type,\n state,\n request,\n matchesToLoad,\n matches,\n fetcherKey,\n manifest,\n mapRouteProperties\n );\n } catch (e) {\n // If the outer dataStrategy method throws, just return the error for all\n // matches - and it'll naturally bubble to the root\n matchesToLoad.forEach((m) => {\n dataResults[m.route.id] = {\n type: ResultType.error,\n error: e,\n };\n });\n return dataResults;\n }\n\n for (let [routeId, result] of Object.entries(results)) {\n if (isRedirectDataStrategyResultResult(result)) {\n let response = result.result as Response;\n dataResults[routeId] = {\n type: ResultType.redirect,\n response: normalizeRelativeRoutingRedirectResponse(\n response,\n request,\n routeId,\n matches,\n basename,\n future.v7_relativeSplatPath\n ),\n };\n } else {\n dataResults[routeId] = await convertDataStrategyResultToDataResult(\n result\n );\n }\n }\n\n return dataResults;\n }\n\n async function callLoadersAndMaybeResolveData(\n state: RouterState,\n matches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n fetchersToLoad: RevalidatingFetcher[],\n request: Request\n ) {\n let currentMatches = state.matches;\n\n // Kick off loaders and fetchers in parallel\n let loaderResultsPromise = callDataStrategy(\n \"loader\",\n state,\n request,\n matchesToLoad,\n matches,\n null\n );\n\n let fetcherResultsPromise = Promise.all(\n fetchersToLoad.map(async (f) => {\n if (f.matches && f.match && f.controller) {\n let results = await callDataStrategy(\n \"loader\",\n state,\n createClientSideRequest(init.history, f.path, f.controller.signal),\n [f.match],\n f.matches,\n f.key\n );\n let result = results[f.match.route.id];\n // Fetcher results are keyed by fetcher key from here on out, not routeId\n return { [f.key]: result };\n } else {\n return Promise.resolve({\n [f.key]: {\n type: ResultType.error,\n error: getInternalRouterError(404, {\n pathname: f.path,\n }),\n } as ErrorResult,\n });\n }\n })\n );\n\n let loaderResults = await loaderResultsPromise;\n let fetcherResults = (await fetcherResultsPromise).reduce(\n (acc, r) => Object.assign(acc, r),\n {}\n );\n\n await Promise.all([\n resolveNavigationDeferredResults(\n matches,\n loaderResults,\n request.signal,\n currentMatches,\n state.loaderData\n ),\n resolveFetcherDeferredResults(matches, fetcherResults, fetchersToLoad),\n ]);\n\n return {\n loaderResults,\n fetcherResults,\n };\n }\n\n function interruptActiveLoads() {\n // Every interruption triggers a revalidation\n isRevalidationRequired = true;\n\n // Cancel pending route-level deferreds and mark cancelled routes for\n // revalidation\n cancelledDeferredRoutes.push(...cancelActiveDeferreds());\n\n // Abort in-flight fetcher loads\n fetchLoadMatches.forEach((_, key) => {\n if (fetchControllers.has(key)) {\n cancelledFetcherLoads.add(key);\n }\n abortFetcher(key);\n });\n }\n\n function updateFetcherState(\n key: string,\n fetcher: Fetcher,\n opts: { flushSync?: boolean } = {}\n ) {\n state.fetchers.set(key, fetcher);\n updateState(\n { fetchers: new Map(state.fetchers) },\n { flushSync: (opts && opts.flushSync) === true }\n );\n }\n\n function setFetcherError(\n key: string,\n routeId: string,\n error: any,\n opts: { flushSync?: boolean } = {}\n ) {\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n deleteFetcher(key);\n updateState(\n {\n errors: {\n [boundaryMatch.route.id]: error,\n },\n fetchers: new Map(state.fetchers),\n },\n { flushSync: (opts && opts.flushSync) === true }\n );\n }\n\n function getFetcher<TData = any>(key: string): Fetcher<TData> {\n activeFetchers.set(key, (activeFetchers.get(key) || 0) + 1);\n // If this fetcher was previously marked for deletion, unmark it since we\n // have a new instance\n if (deletedFetchers.has(key)) {\n deletedFetchers.delete(key);\n }\n return state.fetchers.get(key) || IDLE_FETCHER;\n }\n\n function deleteFetcher(key: string): void {\n let fetcher = state.fetchers.get(key);\n // Don't abort the controller if this is a deletion of a fetcher.submit()\n // in it's loading phase since - we don't want to abort the corresponding\n // revalidation and want them to complete and land\n if (\n fetchControllers.has(key) &&\n !(fetcher && fetcher.state === \"loading\" && fetchReloadIds.has(key))\n ) {\n abortFetcher(key);\n }\n fetchLoadMatches.delete(key);\n fetchReloadIds.delete(key);\n fetchRedirectIds.delete(key);\n\n // If we opted into the flag we can clear this now since we're calling\n // deleteFetcher() at the end of updateState() and we've already handed the\n // deleted fetcher keys off to the data layer.\n // If not, we're eagerly calling deleteFetcher() and we need to keep this\n // Set populated until the next updateState call, and we'll clear\n // `deletedFetchers` then\n if (future.v7_fetcherPersist) {\n deletedFetchers.delete(key);\n }\n\n cancelledFetcherLoads.delete(key);\n state.fetchers.delete(key);\n }\n\n function deleteFetcherAndUpdateState(key: string): void {\n let count = (activeFetchers.get(key) || 0) - 1;\n if (count <= 0) {\n activeFetchers.delete(key);\n deletedFetchers.add(key);\n if (!future.v7_fetcherPersist) {\n deleteFetcher(key);\n }\n } else {\n activeFetchers.set(key, count);\n }\n\n updateState({ fetchers: new Map(state.fetchers) });\n }\n\n function abortFetcher(key: string) {\n let controller = fetchControllers.get(key);\n if (controller) {\n controller.abort();\n fetchControllers.delete(key);\n }\n }\n\n function markFetchersDone(keys: string[]) {\n for (let key of keys) {\n let fetcher = getFetcher(key);\n let doneFetcher = getDoneFetcher(fetcher.data);\n state.fetchers.set(key, doneFetcher);\n }\n }\n\n function markFetchRedirectsDone(): boolean {\n let doneKeys = [];\n let updatedFetchers = false;\n for (let key of fetchRedirectIds) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n fetchRedirectIds.delete(key);\n doneKeys.push(key);\n updatedFetchers = true;\n }\n }\n markFetchersDone(doneKeys);\n return updatedFetchers;\n }\n\n function abortStaleFetchLoads(landedId: number): boolean {\n let yeetedKeys = [];\n for (let [key, id] of fetchReloadIds) {\n if (id < landedId) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n abortFetcher(key);\n fetchReloadIds.delete(key);\n yeetedKeys.push(key);\n }\n }\n }\n markFetchersDone(yeetedKeys);\n return yeetedKeys.length > 0;\n }\n\n function getBlocker(key: string, fn: BlockerFunction) {\n let blocker: Blocker = state.blockers.get(key) || IDLE_BLOCKER;\n\n if (blockerFunctions.get(key) !== fn) {\n blockerFunctions.set(key, fn);\n }\n\n return blocker;\n }\n\n function deleteBlocker(key: string) {\n state.blockers.delete(key);\n blockerFunctions.delete(key);\n }\n\n // Utility function to update blockers, ensuring valid state transitions\n function updateBlocker(key: string, newBlocker: Blocker) {\n let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n\n // Poor mans state machine :)\n // https://mermaid.live/edit#pako:eNqVkc9OwzAMxl8l8nnjAYrEtDIOHEBIgwvKJTReGy3_lDpIqO27k6awMG0XcrLlnz87nwdonESogKXXBuE79rq75XZO3-yHds0RJVuv70YrPlUrCEe2HfrORS3rubqZfuhtpg5C9wk5tZ4VKcRUq88q9Z8RS0-48cE1iHJkL0ugbHuFLus9L6spZy8nX9MP2CNdomVaposqu3fGayT8T8-jJQwhepo_UtpgBQaDEUom04dZhAN1aJBDlUKJBxE1ceB2Smj0Mln-IBW5AFU2dwUiktt_2Qaq2dBfaKdEup85UV7Yd-dKjlnkabl2Pvr0DTkTreM\n invariant(\n (blocker.state === \"unblocked\" && newBlocker.state === \"blocked\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"blocked\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"proceeding\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"unblocked\") ||\n (blocker.state === \"proceeding\" && newBlocker.state === \"unblocked\"),\n `Invalid blocker state transition: ${blocker.state} -> ${newBlocker.state}`\n );\n\n let blockers = new Map(state.blockers);\n blockers.set(key, newBlocker);\n updateState({ blockers });\n }\n\n function shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction,\n }: {\n currentLocation: Location;\n nextLocation: Location;\n historyAction: HistoryAction;\n }): string | undefined {\n if (blockerFunctions.size === 0) {\n return;\n }\n\n // We ony support a single active blocker at the moment since we don't have\n // any compelling use cases for multi-blocker yet\n if (blockerFunctions.size > 1) {\n warning(false, \"A router only supports one blocker at a time\");\n }\n\n let entries = Array.from(blockerFunctions.entries());\n let [blockerKey, blockerFunction] = entries[entries.length - 1];\n let blocker = state.blockers.get(blockerKey);\n\n if (blocker && blocker.state === \"proceeding\") {\n // If the blocker is currently proceeding, we don't need to re-check\n // it and can let this navigation continue\n return;\n }\n\n // At this point, we know we're unblocked/blocked so we need to check the\n // user-provided blocker function\n if (blockerFunction({ currentLocation, nextLocation, historyAction })) {\n return blockerKey;\n }\n }\n\n function handleNavigational404(pathname: string) {\n let error = getInternalRouterError(404, { pathname });\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let { matches, route } = getShortCircuitMatches(routesToUse);\n\n // Cancel all pending deferred on 404s since we don't keep any routes\n cancelActiveDeferreds();\n\n return { notFoundMatches: matches, route, error };\n }\n\n function cancelActiveDeferreds(\n predicate?: (routeId: string) => boolean\n ): string[] {\n let cancelledRouteIds: string[] = [];\n activeDeferreds.forEach((dfd, routeId) => {\n if (!predicate || predicate(routeId)) {\n // Cancel the deferred - but do not remove from activeDeferreds here -\n // we rely on the subscribers to do that so our tests can assert proper\n // cleanup via _internalActiveDeferreds\n dfd.cancel();\n cancelledRouteIds.push(routeId);\n activeDeferreds.delete(routeId);\n }\n });\n return cancelledRouteIds;\n }\n\n // Opt in to capturing and reporting scroll positions during navigations,\n // used by the <ScrollRestoration> component\n function enableScrollRestoration(\n positions: Record<string, number>,\n getPosition: GetScrollPositionFunction,\n getKey?: GetScrollRestorationKeyFunction\n ) {\n savedScrollPositions = positions;\n getScrollPosition = getPosition;\n getScrollRestorationKey = getKey || null;\n\n // Perform initial hydration scroll restoration, since we miss the boat on\n // the initial updateState() because we've not yet rendered <ScrollRestoration/>\n // and therefore have no savedScrollPositions available\n if (!initialScrollRestored && state.navigation === IDLE_NAVIGATION) {\n initialScrollRestored = true;\n let y = getSavedScrollPosition(state.location, state.matches);\n if (y != null) {\n updateState({ restoreScrollPosition: y });\n }\n }\n\n return () => {\n savedScrollPositions = null;\n getScrollPosition = null;\n getScrollRestorationKey = null;\n };\n }\n\n function getScrollKey(location: Location, matches: AgnosticDataRouteMatch[]) {\n if (getScrollRestorationKey) {\n let key = getScrollRestorationKey(\n location,\n matches.map((m) => convertRouteMatchToUiMatch(m, state.loaderData))\n );\n return key || location.key;\n }\n return location.key;\n }\n\n function saveScrollPosition(\n location: Location,\n matches: AgnosticDataRouteMatch[]\n ): void {\n if (savedScrollPositions && getScrollPosition) {\n let key = getScrollKey(location, matches);\n savedScrollPositions[key] = getScrollPosition();\n }\n }\n\n function getSavedScrollPosition(\n location: Location,\n matches: AgnosticDataRouteMatch[]\n ): number | null {\n if (savedScrollPositions) {\n let key = getScrollKey(location, matches);\n let y = savedScrollPositions[key];\n if (typeof y === \"number\") {\n return y;\n }\n }\n return null;\n }\n\n function checkFogOfWar(\n matches: AgnosticDataRouteMatch[] | null,\n routesToUse: AgnosticDataRouteObject[],\n pathname: string\n ): { active: boolean; matches: AgnosticDataRouteMatch[] | null } {\n if (patchRoutesOnNavigationImpl) {\n if (!matches) {\n let fogMatches = matchRoutesImpl<AgnosticDataRouteObject>(\n routesToUse,\n pathname,\n basename,\n true\n );\n\n return { active: true, matches: fogMatches || [] };\n } else {\n if (Object.keys(matches[0].params).length > 0) {\n // If we matched a dynamic param or a splat, it might only be because\n // we haven't yet discovered other routes that would match with a\n // higher score. Call patchRoutesOnNavigation just to be sure\n let partialMatches = matchRoutesImpl<AgnosticDataRouteObject>(\n routesToUse,\n pathname,\n basename,\n true\n );\n return { active: true, matches: partialMatches };\n }\n }\n }\n\n return { active: false, matches: null };\n }\n\n type DiscoverRoutesSuccessResult = {\n type: \"success\";\n matches: AgnosticDataRouteMatch[] | null;\n };\n type DiscoverRoutesErrorResult = {\n type: \"error\";\n error: any;\n partialMatches: AgnosticDataRouteMatch[];\n };\n type DiscoverRoutesAbortedResult = { type: \"aborted\" };\n type DiscoverRoutesResult =\n | DiscoverRoutesSuccessResult\n | DiscoverRoutesErrorResult\n | DiscoverRoutesAbortedResult;\n\n async function discoverRoutes(\n matches: AgnosticDataRouteMatch[],\n pathname: string,\n signal: AbortSignal\n ): Promise<DiscoverRoutesResult> {\n if (!patchRoutesOnNavigationImpl) {\n return { type: \"success\", matches };\n }\n\n let partialMatches: AgnosticDataRouteMatch[] | null = matches;\n while (true) {\n let isNonHMR = inFlightDataRoutes == null;\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let localManifest = manifest;\n try {\n await patchRoutesOnNavigationImpl({\n signal,\n path: pathname,\n matches: partialMatches,\n patch: (routeId, children) => {\n if (signal.aborted) return;\n patchRoutesImpl(\n routeId,\n children,\n routesToUse,\n localManifest,\n mapRouteProperties\n );\n },\n });\n } catch (e) {\n return { type: \"error\", error: e, partialMatches };\n } finally {\n // If we are not in the middle of an HMR revalidation and we changed the\n // routes, provide a new identity so when we `updateState` at the end of\n // this navigation/fetch `router.routes` will be a new identity and\n // trigger a re-run of memoized `router.routes` dependencies.\n // HMR will already update the identity and reflow when it lands\n // `inFlightDataRoutes` in `completeNavigation`\n if (isNonHMR && !signal.aborted) {\n dataRoutes = [...dataRoutes];\n }\n }\n\n if (signal.aborted) {\n return { type: \"aborted\" };\n }\n\n let newMatches = matchRoutes(routesToUse, pathname, basename);\n if (newMatches) {\n return { type: \"success\", matches: newMatches };\n }\n\n let newPartialMatches = matchRoutesImpl<AgnosticDataRouteObject>(\n routesToUse,\n pathname,\n basename,\n true\n );\n\n // Avoid loops if the second pass results in the same partial matches\n if (\n !newPartialMatches ||\n (partialMatches.length === newPartialMatches.length &&\n partialMatches.every(\n (m, i) => m.route.id === newPartialMatches![i].route.id\n ))\n ) {\n return { type: \"success\", matches: null };\n }\n\n partialMatches = newPartialMatches;\n }\n }\n\n function _internalSetRoutes(newRoutes: AgnosticDataRouteObject[]) {\n manifest = {};\n inFlightDataRoutes = convertRoutesToDataRoutes(\n newRoutes,\n mapRouteProperties,\n undefined,\n manifest\n );\n }\n\n function patchRoutes(\n routeId: string | null,\n children: AgnosticRouteObject[]\n ): void {\n let isNonHMR = inFlightDataRoutes == null;\n let routesToUse = inFlightDataRoutes || dataRoutes;\n patchRoutesImpl(\n routeId,\n children,\n routesToUse,\n manifest,\n mapRouteProperties\n );\n\n // If we are not in the middle of an HMR revalidation and we changed the\n // routes, provide a new identity and trigger a reflow via `updateState`\n // to re-run memoized `router.routes` dependencies.\n // HMR will already update the identity and reflow when it lands\n // `inFlightDataRoutes` in `completeNavigation`\n if (isNonHMR) {\n dataRoutes = [...dataRoutes];\n updateState({});\n }\n }\n\n router = {\n get basename() {\n return basename;\n },\n get future() {\n return future;\n },\n get state() {\n return state;\n },\n get routes() {\n return dataRoutes;\n },\n get window() {\n return routerWindow;\n },\n initialize,\n subscribe,\n enableScrollRestoration,\n navigate,\n fetch,\n revalidate,\n // Passthrough to history-aware createHref used by useHref so we get proper\n // hash-aware URLs in DOM paths\n createHref: (to: To) => init.history.createHref(to),\n encodeLocation: (to: To) => init.history.encodeLocation(to),\n getFetcher,\n deleteFetcher: deleteFetcherAndUpdateState,\n dispose,\n getBlocker,\n deleteBlocker,\n patchRoutes,\n _internalFetchControllers: fetchControllers,\n _internalActiveDeferreds: activeDeferreds,\n // TODO: Remove setRoutes, it's temporary to avoid dealing with\n // updating the tree while validating the update algorithm.\n _internalSetRoutes,\n };\n\n return router;\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region createStaticHandler\n////////////////////////////////////////////////////////////////////////////////\n\nexport const UNSAFE_DEFERRED_SYMBOL = Symbol(\"deferred\");\n\n/**\n * Future flags to toggle new feature behavior\n */\nexport interface StaticHandlerFutureConfig {\n v7_relativeSplatPath: boolean;\n v7_throwAbortReason: boolean;\n}\n\nexport interface CreateStaticHandlerOptions {\n basename?: string;\n /**\n * @deprecated Use `mapRouteProperties` instead\n */\n detectErrorBoundary?: DetectErrorBoundaryFunction;\n mapRouteProperties?: MapRoutePropertiesFunction;\n future?: Partial<StaticHandlerFutureConfig>;\n}\n\nexport function createStaticHandler(\n routes: AgnosticRouteObject[],\n opts?: CreateStaticHandlerOptions\n): StaticHandler {\n invariant(\n routes.length > 0,\n \"You must provide a non-empty routes array to createStaticHandler\"\n );\n\n let manifest: RouteManifest = {};\n let basename = (opts ? opts.basename : null) || \"/\";\n let mapRouteProperties: MapRoutePropertiesFunction;\n if (opts?.mapRouteProperties) {\n mapRouteProperties = opts.mapRouteProperties;\n } else if (opts?.detectErrorBoundary) {\n // If they are still using the deprecated version, wrap it with the new API\n let detectErrorBoundary = opts.detectErrorBoundary;\n mapRouteProperties = (route) => ({\n hasErrorBoundary: detectErrorBoundary(route),\n });\n } else {\n mapRouteProperties = defaultMapRouteProperties;\n }\n // Config driven behavior flags\n let future: StaticHandlerFutureConfig = {\n v7_relativeSplatPath: false,\n v7_throwAbortReason: false,\n ...(opts ? opts.future : null),\n };\n\n let dataRoutes = convertRoutesToDataRoutes(\n routes,\n mapRouteProperties,\n undefined,\n manifest\n );\n\n /**\n * The query() method is intended for document requests, in which we want to\n * call an optional action and potentially multiple loaders for all nested\n * routes. It returns a StaticHandlerContext object, which is very similar\n * to the router state (location, loaderData, actionData, errors, etc.) and\n * also adds SSR-specific information such as the statusCode and headers\n * from action/loaders Responses.\n *\n * It _should_ never throw and should report all errors through the\n * returned context.errors object, properly associating errors to their error\n * boundary. Additionally, it tracks _deepestRenderedBoundaryId which can be\n * used to emulate React error boundaries during SSr by performing a second\n * pass only down to the boundaryId.\n *\n * The one exception where we do not return a StaticHandlerContext is when a\n * redirect response is returned or thrown from any action/loader. We\n * propagate that out and return the raw Response so the HTTP server can\n * return it directly.\n *\n * - `opts.requestContext` is an optional server context that will be passed\n * to actions/loaders in the `context` parameter\n * - `opts.skipLoaderErrorBubbling` is an optional parameter that will prevent\n * the bubbling of errors which allows single-fetch-type implementations\n * where the client will handle the bubbling and we may need to return data\n * for the handling route\n */\n async function query(\n request: Request,\n {\n requestContext,\n skipLoaderErrorBubbling,\n dataStrategy,\n }: {\n requestContext?: unknown;\n skipLoaderErrorBubbling?: boolean;\n dataStrategy?: DataStrategyFunction;\n } = {}\n ): Promise<StaticHandlerContext | Response> {\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\") {\n let error = getInternalRouterError(405, { method });\n let { matches: methodNotAllowedMatches, route } =\n getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: methodNotAllowedMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error,\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n } else if (!matches) {\n let error = getInternalRouterError(404, { pathname: location.pathname });\n let { matches: notFoundMatches, route } =\n getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: notFoundMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error,\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n }\n\n let result = await queryImpl(\n request,\n location,\n matches,\n requestContext,\n dataStrategy || null,\n skipLoaderErrorBubbling === true,\n null\n );\n if (isResponse(result)) {\n return result;\n }\n\n // When returning StaticHandlerContext, we patch back in the location here\n // since we need it for React Context. But this helps keep our submit and\n // loadRouteData operating on a Request instead of a Location\n return { location, basename, ...result };\n }\n\n /**\n * The queryRoute() method is intended for targeted route requests, either\n * for fetch ?_data requests or resource route requests. In this case, we\n * are only ever calling a single action or loader, and we are returning the\n * returned value directly. In most cases, this will be a Response returned\n * from the action/loader, but it may be a primitive or other value as well -\n * and in such cases the calling context should handle that accordingly.\n *\n * We do respect the throw/return differentiation, so if an action/loader\n * throws, then this method will throw the value. This is important so we\n * can do proper boundary identification in Remix where a thrown Response\n * must go to the Catch Boundary but a returned Response is happy-path.\n *\n * One thing to note is that any Router-initiated Errors that make sense\n * to associate with a status code will be thrown as an ErrorResponse\n * instance which include the raw Error, such that the calling context can\n * serialize the error as they see fit while including the proper response\n * code. Examples here are 404 and 405 errors that occur prior to reaching\n * any user-defined loaders.\n *\n * - `opts.routeId` allows you to specify the specific route handler to call.\n * If not provided the handler will determine the proper route by matching\n * against `request.url`\n * - `opts.requestContext` is an optional server context that will be passed\n * to actions/loaders in the `context` parameter\n */\n async function queryRoute(\n request: Request,\n {\n routeId,\n requestContext,\n dataStrategy,\n }: {\n requestContext?: unknown;\n routeId?: string;\n dataStrategy?: DataStrategyFunction;\n } = {}\n ): Promise<any> {\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\" && method !== \"OPTIONS\") {\n throw getInternalRouterError(405, { method });\n } else if (!matches) {\n throw getInternalRouterError(404, { pathname: location.pathname });\n }\n\n let match = routeId\n ? matches.find((m) => m.route.id === routeId)\n : getTargetMatch(matches, location);\n\n if (routeId && !match) {\n throw getInternalRouterError(403, {\n pathname: location.pathname,\n routeId,\n });\n } else if (!match) {\n // This should never hit I don't think?\n throw getInternalRouterError(404, { pathname: location.pathname });\n }\n\n let result = await queryImpl(\n request,\n location,\n matches,\n requestContext,\n dataStrategy || null,\n false,\n match\n );\n\n if (isResponse(result)) {\n return result;\n }\n\n let error = result.errors ? Object.values(result.errors)[0] : undefined;\n if (error !== undefined) {\n // If we got back result.errors, that means the loader/action threw\n // _something_ that wasn't a Response, but it's not guaranteed/required\n // to be an `instanceof Error` either, so we have to use throw here to\n // preserve the \"error\" state outside of queryImpl.\n throw error;\n }\n\n // Pick off the right state value to return\n if (result.actionData) {\n return Object.values(result.actionData)[0];\n }\n\n if (result.loaderData) {\n let data = Object.values(result.loaderData)[0];\n if (result.activeDeferreds?.[match.route.id]) {\n data[UNSAFE_DEFERRED_SYMBOL] = result.activeDeferreds[match.route.id];\n }\n return data;\n }\n\n return undefined;\n }\n\n async function queryImpl(\n request: Request,\n location: Location,\n matches: AgnosticDataRouteMatch[],\n requestContext: unknown,\n dataStrategy: DataStrategyFunction | null,\n skipLoaderErrorBubbling: boolean,\n routeMatch: AgnosticDataRouteMatch | null\n ): Promise<Omit<StaticHandlerContext, \"location\" | \"basename\"> | Response> {\n invariant(\n request.signal,\n \"query()/queryRoute() requests must contain an AbortController signal\"\n );\n\n try {\n if (isMutationMethod(request.method.toLowerCase())) {\n let result = await submit(\n request,\n matches,\n routeMatch || getTargetMatch(matches, location),\n requestContext,\n dataStrategy,\n skipLoaderErrorBubbling,\n routeMatch != null\n );\n return result;\n }\n\n let result = await loadRouteData(\n request,\n matches,\n requestContext,\n dataStrategy,\n skipLoaderErrorBubbling,\n routeMatch\n );\n return isResponse(result)\n ? result\n : {\n ...result,\n actionData: null,\n actionHeaders: {},\n };\n } catch (e) {\n // If the user threw/returned a Response in callLoaderOrAction for a\n // `queryRoute` call, we throw the `DataStrategyResult` to bail out early\n // and then return or throw the raw Response here accordingly\n if (isDataStrategyResult(e) && isResponse(e.result)) {\n if (e.type === ResultType.error) {\n throw e.result;\n }\n return e.result;\n }\n // Redirects are always returned since they don't propagate to catch\n // boundaries\n if (isRedirectResponse(e)) {\n return e;\n }\n throw e;\n }\n }\n\n async function submit(\n request: Request,\n matches: AgnosticDataRouteMatch[],\n actionMatch: AgnosticDataRouteMatch,\n requestContext: unknown,\n dataStrategy: DataStrategyFunction | null,\n skipLoaderErrorBubbling: boolean,\n isRouteRequest: boolean\n ): Promise<Omit<StaticHandlerContext, \"location\" | \"basename\"> | Response> {\n let result: DataResult;\n\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n let error = getInternalRouterError(405, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: actionMatch.route.id,\n });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error,\n };\n } else {\n let results = await callDataStrategy(\n \"action\",\n request,\n [actionMatch],\n matches,\n isRouteRequest,\n requestContext,\n dataStrategy\n );\n result = results[actionMatch.route.id];\n\n if (request.signal.aborted) {\n throwStaticHandlerAbortedError(request, isRouteRequest, future);\n }\n }\n\n if (isRedirectResult(result)) {\n // Uhhhh - this should never happen, we should always throw these from\n // callLoaderOrAction, but the type narrowing here keeps TS happy and we\n // can get back on the \"throw all redirect responses\" train here should\n // this ever happen :/\n throw new Response(null, {\n status: result.response.status,\n headers: {\n Location: result.response.headers.get(\"Location\")!,\n },\n });\n }\n\n if (isDeferredResult(result)) {\n let error = getInternalRouterError(400, { type: \"defer-action\" });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error,\n };\n }\n\n if (isRouteRequest) {\n // Note: This should only be non-Response values if we get here, since\n // isRouteRequest should throw any Response received in callLoaderOrAction\n if (isErrorResult(result)) {\n throw result.error;\n }\n\n return {\n matches: [actionMatch],\n loaderData: {},\n actionData: { [actionMatch.route.id]: result.data },\n errors: null,\n // Note: statusCode + headers are unused here since queryRoute will\n // return the raw Response or value\n statusCode: 200,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n }\n\n // Create a GET request for the loaders\n let loaderRequest = new Request(request.url, {\n headers: request.headers,\n redirect: request.redirect,\n signal: request.signal,\n });\n\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = skipLoaderErrorBubbling\n ? actionMatch\n : findNearestBoundary(matches, actionMatch.route.id);\n\n let context = await loadRouteData(\n loaderRequest,\n matches,\n requestContext,\n dataStrategy,\n skipLoaderErrorBubbling,\n null,\n [boundaryMatch.route.id, result]\n );\n\n // action status codes take precedence over loader status codes\n return {\n ...context,\n statusCode: isRouteErrorResponse(result.error)\n ? result.error.status\n : result.statusCode != null\n ? result.statusCode\n : 500,\n actionData: null,\n actionHeaders: {\n ...(result.headers ? { [actionMatch.route.id]: result.headers } : {}),\n },\n };\n }\n\n let context = await loadRouteData(\n loaderRequest,\n matches,\n requestContext,\n dataStrategy,\n skipLoaderErrorBubbling,\n null\n );\n\n return {\n ...context,\n actionData: {\n [actionMatch.route.id]: result.data,\n },\n // action status codes take precedence over loader status codes\n ...(result.statusCode ? { statusCode: result.statusCode } : {}),\n actionHeaders: result.headers\n ? { [actionMatch.route.id]: result.headers }\n : {},\n };\n }\n\n async function loadRouteData(\n request: Request,\n matches: AgnosticDataRouteMatch[],\n requestContext: unknown,\n dataStrategy: DataStrategyFunction | null,\n skipLoaderErrorBubbling: boolean,\n routeMatch: AgnosticDataRouteMatch | null,\n pendingActionResult?: PendingActionResult\n ): Promise<\n | Omit<\n StaticHandlerContext,\n \"location\" | \"basename\" | \"actionData\" | \"actionHeaders\"\n >\n | Response\n > {\n let isRouteRequest = routeMatch != null;\n\n // Short circuit if we have no loaders to run (queryRoute())\n if (\n isRouteRequest &&\n !routeMatch?.route.loader &&\n !routeMatch?.route.lazy\n ) {\n throw getInternalRouterError(400, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: routeMatch?.route.id,\n });\n }\n\n let requestMatches = routeMatch\n ? [routeMatch]\n : pendingActionResult && isErrorResult(pendingActionResult[1])\n ? getLoaderMatchesUntilBoundary(matches, pendingActionResult[0])\n : matches;\n let matchesToLoad = requestMatches.filter(\n (m) => m.route.loader || m.route.lazy\n );\n\n // Short circuit if we have no loaders to run (query())\n if (matchesToLoad.length === 0) {\n return {\n matches,\n // Add a null for all matched routes for proper revalidation on the client\n loaderData: matches.reduce(\n (acc, m) => Object.assign(acc, { [m.route.id]: null }),\n {}\n ),\n errors:\n pendingActionResult && isErrorResult(pendingActionResult[1])\n ? {\n [pendingActionResult[0]]: pendingActionResult[1].error,\n }\n : null,\n statusCode: 200,\n loaderHeaders: {},\n activeDeferreds: null,\n };\n }\n\n let results = await callDataStrategy(\n \"loader\",\n request,\n matchesToLoad,\n matches,\n isRouteRequest,\n requestContext,\n dataStrategy\n );\n\n if (request.signal.aborted) {\n throwStaticHandlerAbortedError(request, isRouteRequest, future);\n }\n\n // Process and commit output from loaders\n let activeDeferreds = new Map<string, DeferredData>();\n let context = processRouteLoaderData(\n matches,\n results,\n pendingActionResult,\n activeDeferreds,\n skipLoaderErrorBubbling\n );\n\n // Add a null for any non-loader matches for proper revalidation on the client\n let executedLoaders = new Set<string>(\n matchesToLoad.map((match) => match.route.id)\n );\n matches.forEach((match) => {\n if (!executedLoaders.has(match.route.id)) {\n context.loaderData[match.route.id] = null;\n }\n });\n\n return {\n ...context,\n matches,\n activeDeferreds:\n activeDeferreds.size > 0\n ? Object.fromEntries(activeDeferreds.entries())\n : null,\n };\n }\n\n // Utility wrapper for calling dataStrategy server-side without having to\n // pass around the manifest, mapRouteProperties, etc.\n async function callDataStrategy(\n type: \"loader\" | \"action\",\n request: Request,\n matchesToLoad: AgnosticDataRouteMatch[],\n matches: AgnosticDataRouteMatch[],\n isRouteRequest: boolean,\n requestContext: unknown,\n dataStrategy: DataStrategyFunction | null\n ): Promise<Record<string, DataResult>> {\n let results = await callDataStrategyImpl(\n dataStrategy || defaultDataStrategy,\n type,\n null,\n request,\n matchesToLoad,\n matches,\n null,\n manifest,\n mapRouteProperties,\n requestContext\n );\n\n let dataResults: Record<string, DataResult> = {};\n await Promise.all(\n matches.map(async (match) => {\n if (!(match.route.id in results)) {\n return;\n }\n let result = results[match.route.id];\n if (isRedirectDataStrategyResultResult(result)) {\n let response = result.result as Response;\n // Throw redirects and let the server handle them with an HTTP redirect\n throw normalizeRelativeRoutingRedirectResponse(\n response,\n request,\n match.route.id,\n matches,\n basename,\n future.v7_relativeSplatPath\n );\n }\n if (isResponse(result.result) && isRouteRequest) {\n // For SSR single-route requests, we want to hand Responses back\n // directly without unwrapping\n throw result;\n }\n\n dataResults[match.route.id] =\n await convertDataStrategyResultToDataResult(result);\n })\n );\n return dataResults;\n }\n\n return {\n dataRoutes,\n query,\n queryRoute,\n };\n}\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Helpers\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Given an existing StaticHandlerContext and an error thrown at render time,\n * provide an updated StaticHandlerContext suitable for a second SSR render\n */\nexport function getStaticContextFromError(\n routes: AgnosticDataRouteObject[],\n context: StaticHandlerContext,\n error: any\n) {\n let newContext: StaticHandlerContext = {\n ...context,\n statusCode: isRouteErrorResponse(error) ? error.status : 500,\n errors: {\n [context._deepestRenderedBoundaryId || routes[0].id]: error,\n },\n };\n return newContext;\n}\n\nfunction throwStaticHandlerAbortedError(\n request: Request,\n isRouteRequest: boolean,\n future: StaticHandlerFutureConfig\n) {\n if (future.v7_throwAbortReason && request.signal.reason !== undefined) {\n throw request.signal.reason;\n }\n\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(`${method}() call aborted: ${request.method} ${request.url}`);\n}\n\nfunction isSubmissionNavigation(\n opts: BaseNavigateOrFetchOptions\n): opts is SubmissionNavigateOptions {\n return (\n opts != null &&\n ((\"formData\" in opts && opts.formData != null) ||\n (\"body\" in opts && opts.body !== undefined))\n );\n}\n\nfunction normalizeTo(\n location: Path,\n matches: AgnosticDataRouteMatch[],\n basename: string,\n prependBasename: boolean,\n to: To | null,\n v7_relativeSplatPath: boolean,\n fromRouteId?: string,\n relative?: RelativeRoutingType\n) {\n let contextualMatches: AgnosticDataRouteMatch[];\n let activeRouteMatch: AgnosticDataRouteMatch | undefined;\n if (fromRouteId) {\n // Grab matches up to the calling route so our route-relative logic is\n // relative to the correct source route\n contextualMatches = [];\n for (let match of matches) {\n contextualMatches.push(match);\n if (match.route.id === fromRouteId) {\n activeRouteMatch = match;\n break;\n }\n }\n } else {\n contextualMatches = matches;\n activeRouteMatch = matches[matches.length - 1];\n }\n\n // Resolve the relative path\n let path = resolveTo(\n to ? to : \".\",\n getResolveToMatches(contextualMatches, v7_relativeSplatPath),\n stripBasename(location.pathname, basename) || location.pathname,\n relative === \"path\"\n );\n\n // When `to` is not specified we inherit search/hash from the current\n // location, unlike when to=\".\" and we just inherit the path.\n // See https://github.com/remix-run/remix/issues/927\n if (to == null) {\n path.search = location.search;\n path.hash = location.hash;\n }\n\n // Account for `?index` params when routing to the current location\n if ((to == null || to === \"\" || to === \".\") && activeRouteMatch) {\n let nakedIndex = hasNakedIndexQuery(path.search);\n if (activeRouteMatch.route.index && !nakedIndex) {\n // Add one when we're targeting an index route\n path.search = path.search\n ? path.search.replace(/^\\?/, \"?index&\")\n : \"?index\";\n } else if (!activeRouteMatch.route.index && nakedIndex) {\n // Remove existing ones when we're not\n let params = new URLSearchParams(path.search);\n let indexValues = params.getAll(\"index\");\n params.delete(\"index\");\n indexValues.filter((v) => v).forEach((v) => params.append(\"index\", v));\n let qs = params.toString();\n path.search = qs ? `?${qs}` : \"\";\n }\n }\n\n // If we're operating within a basename, prepend it to the pathname. If\n // this is a root navigation, then just use the raw basename which allows\n // the basename to have full control over the presence of a trailing slash\n // on root actions\n if (prependBasename && basename !== \"/\") {\n path.pathname =\n path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n\n return createPath(path);\n}\n\n// Normalize navigation options by converting formMethod=GET formData objects to\n// URLSearchParams so they behave identically to links with query params\nfunction normalizeNavigateOptions(\n normalizeFormMethod: boolean,\n isFetcher: boolean,\n path: string,\n opts?: BaseNavigateOrFetchOptions\n): {\n path: string;\n submission?: Submission;\n error?: ErrorResponseImpl;\n} {\n // Return location verbatim on non-submission navigations\n if (!opts || !isSubmissionNavigation(opts)) {\n return { path };\n }\n\n if (opts.formMethod && !isValidMethod(opts.formMethod)) {\n return {\n path,\n error: getInternalRouterError(405, { method: opts.formMethod }),\n };\n }\n\n let getInvalidBodyError = () => ({\n path,\n error: getInternalRouterError(400, { type: \"invalid-body\" }),\n });\n\n // Create a Submission on non-GET navigations\n let rawFormMethod = opts.formMethod || \"get\";\n let formMethod = normalizeFormMethod\n ? (rawFormMethod.toUpperCase() as V7_FormMethod)\n : (rawFormMethod.toLowerCase() as FormMethod);\n let formAction = stripHashFromPath(path);\n\n if (opts.body !== undefined) {\n if (opts.formEncType === \"text/plain\") {\n // text only support POST/PUT/PATCH/DELETE submissions\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n\n let text =\n typeof opts.body === \"string\"\n ? opts.body\n : opts.body instanceof FormData ||\n opts.body instanceof URLSearchParams\n ? // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#plain-text-form-data\n Array.from(opts.body.entries()).reduce(\n (acc, [name, value]) => `${acc}${name}=${value}\\n`,\n \"\"\n )\n : String(opts.body);\n\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: undefined,\n json: undefined,\n text,\n },\n };\n } else if (opts.formEncType === \"application/json\") {\n // json only supports POST/PUT/PATCH/DELETE submissions\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n\n try {\n let json =\n typeof opts.body === \"string\" ? JSON.parse(opts.body) : opts.body;\n\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: undefined,\n json,\n text: undefined,\n },\n };\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n }\n\n invariant(\n typeof FormData === \"function\",\n \"FormData is not available in this environment\"\n );\n\n let searchParams: URLSearchParams;\n let formData: FormData;\n\n if (opts.formData) {\n searchParams = convertFormDataToSearchParams(opts.formData);\n formData = opts.formData;\n } else if (opts.body instanceof FormData) {\n searchParams = convertFormDataToSearchParams(opts.body);\n formData = opts.body;\n } else if (opts.body instanceof URLSearchParams) {\n searchParams = opts.body;\n formData = convertSearchParamsToFormData(searchParams);\n } else if (opts.body == null) {\n searchParams = new URLSearchParams();\n formData = new FormData();\n } else {\n try {\n searchParams = new URLSearchParams(opts.body);\n formData = convertSearchParamsToFormData(searchParams);\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n\n let submission: Submission = {\n formMethod,\n formAction,\n formEncType:\n (opts && opts.formEncType) || \"application/x-www-form-urlencoded\",\n formData,\n json: undefined,\n text: undefined,\n };\n\n if (isMutationMethod(submission.formMethod)) {\n return { path, submission };\n }\n\n // Flatten submission onto URLSearchParams for GET submissions\n let parsedPath = parsePath(path);\n // On GET navigation submissions we can drop the ?index param from the\n // resulting location since all loaders will run. But fetcher GET submissions\n // only run a single loader so we need to preserve any incoming ?index params\n if (isFetcher && parsedPath.search && hasNakedIndexQuery(parsedPath.search)) {\n searchParams.append(\"index\", \"\");\n }\n parsedPath.search = `?${searchParams}`;\n\n return { path: createPath(parsedPath), submission };\n}\n\n// Filter out all routes at/below any caught error as they aren't going to\n// render so we don't need to load them\nfunction getLoaderMatchesUntilBoundary(\n matches: AgnosticDataRouteMatch[],\n boundaryId: string,\n includeBoundary = false\n) {\n let index = matches.findIndex((m) => m.route.id === boundaryId);\n if (index >= 0) {\n return matches.slice(0, includeBoundary ? index + 1 : index);\n }\n return matches;\n}\n\nfunction getMatchesToLoad(\n history: History,\n state: RouterState,\n matches: AgnosticDataRouteMatch[],\n submission: Submission | undefined,\n location: Location,\n initialHydration: boolean,\n skipActionErrorRevalidation: boolean,\n isRevalidationRequired: boolean,\n cancelledDeferredRoutes: string[],\n cancelledFetcherLoads: Set<string>,\n deletedFetchers: Set<string>,\n fetchLoadMatches: Map<string, FetchLoadMatch>,\n fetchRedirectIds: Set<string>,\n routesToUse: AgnosticDataRouteObject[],\n basename: string | undefined,\n pendingActionResult?: PendingActionResult\n): [AgnosticDataRouteMatch[], RevalidatingFetcher[]] {\n let actionResult = pendingActionResult\n ? isErrorResult(pendingActionResult[1])\n ? pendingActionResult[1].error\n : pendingActionResult[1].data\n : undefined;\n let currentUrl = history.createURL(state.location);\n let nextUrl = history.createURL(location);\n\n // Pick navigation matches that are net-new or qualify for revalidation\n let boundaryMatches = matches;\n if (initialHydration && state.errors) {\n // On initial hydration, only consider matches up to _and including_ the boundary.\n // This is inclusive to handle cases where a server loader ran successfully,\n // a child server loader bubbled up to this route, but this route has\n // `clientLoader.hydrate` so we want to still run the `clientLoader` so that\n // we have a complete version of `loaderData`\n boundaryMatches = getLoaderMatchesUntilBoundary(\n matches,\n Object.keys(state.errors)[0],\n true\n );\n } else if (pendingActionResult && isErrorResult(pendingActionResult[1])) {\n // If an action threw an error, we call loaders up to, but not including the\n // boundary\n boundaryMatches = getLoaderMatchesUntilBoundary(\n matches,\n pendingActionResult[0]\n );\n }\n\n // Don't revalidate loaders by default after action 4xx/5xx responses\n // when the flag is enabled. They can still opt-into revalidation via\n // `shouldRevalidate` via `actionResult`\n let actionStatus = pendingActionResult\n ? pendingActionResult[1].statusCode\n : undefined;\n let shouldSkipRevalidation =\n skipActionErrorRevalidation && actionStatus && actionStatus >= 400;\n\n let navigationMatches = boundaryMatches.filter((match, index) => {\n let { route } = match;\n if (route.lazy) {\n // We haven't loaded this route yet so we don't know if it's got a loader!\n return true;\n }\n\n if (route.loader == null) {\n return false;\n }\n\n if (initialHydration) {\n return shouldLoadRouteOnHydration(route, state.loaderData, state.errors);\n }\n\n // Always call the loader on new route instances and pending defer cancellations\n if (\n isNewLoader(state.loaderData, state.matches[index], match) ||\n cancelledDeferredRoutes.some((id) => id === match.route.id)\n ) {\n return true;\n }\n\n // This is the default implementation for when we revalidate. If the route\n // provides it's own implementation, then we give them full control but\n // provide this value so they can leverage it if needed after they check\n // their own specific use cases\n let currentRouteMatch = state.matches[index];\n let nextRouteMatch = match;\n\n return shouldRevalidateLoader(match, {\n currentUrl,\n currentParams: currentRouteMatch.params,\n nextUrl,\n nextParams: nextRouteMatch.params,\n ...submission,\n actionResult,\n actionStatus,\n defaultShouldRevalidate: shouldSkipRevalidation\n ? false\n : // Forced revalidation due to submission, useRevalidator, or X-Remix-Revalidate\n isRevalidationRequired ||\n currentUrl.pathname + currentUrl.search ===\n nextUrl.pathname + nextUrl.search ||\n // Search params affect all loaders\n currentUrl.search !== nextUrl.search ||\n isNewRouteInstance(currentRouteMatch, nextRouteMatch),\n });\n });\n\n // Pick fetcher.loads that need to be revalidated\n let revalidatingFetchers: RevalidatingFetcher[] = [];\n fetchLoadMatches.forEach((f, key) => {\n // Don't revalidate:\n // - on initial hydration (shouldn't be any fetchers then anyway)\n // - if fetcher won't be present in the subsequent render\n // - no longer matches the URL (v7_fetcherPersist=false)\n // - was unmounted but persisted due to v7_fetcherPersist=true\n if (\n initialHydration ||\n !matches.some((m) => m.route.id === f.routeId) ||\n deletedFetchers.has(key)\n ) {\n return;\n }\n\n let fetcherMatches = matchRoutes(routesToUse, f.path, basename);\n\n // If the fetcher path no longer matches, push it in with null matches so\n // we can trigger a 404 in callLoadersAndMaybeResolveData. Note this is\n // currently only a use-case for Remix HMR where the route tree can change\n // at runtime and remove a route previously loaded via a fetcher\n if (!fetcherMatches) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: null,\n match: null,\n controller: null,\n });\n return;\n }\n\n // Revalidating fetchers are decoupled from the route matches since they\n // load from a static href. They revalidate based on explicit revalidation\n // (submission, useRevalidator, or X-Remix-Revalidate)\n let fetcher = state.fetchers.get(key);\n let fetcherMatch = getTargetMatch(fetcherMatches, f.path);\n\n let shouldRevalidate = false;\n if (fetchRedirectIds.has(key)) {\n // Never trigger a revalidation of an actively redirecting fetcher\n shouldRevalidate = false;\n } else if (cancelledFetcherLoads.has(key)) {\n // Always mark for revalidation if the fetcher was cancelled\n cancelledFetcherLoads.delete(key);\n shouldRevalidate = true;\n } else if (\n fetcher &&\n fetcher.state !== \"idle\" &&\n fetcher.data === undefined\n ) {\n // If the fetcher hasn't ever completed loading yet, then this isn't a\n // revalidation, it would just be a brand new load if an explicit\n // revalidation is required\n shouldRevalidate = isRevalidationRequired;\n } else {\n // Otherwise fall back on any user-defined shouldRevalidate, defaulting\n // to explicit revalidations only\n shouldRevalidate = shouldRevalidateLoader(fetcherMatch, {\n currentUrl,\n currentParams: state.matches[state.matches.length - 1].params,\n nextUrl,\n nextParams: matches[matches.length - 1].params,\n ...submission,\n actionResult,\n actionStatus,\n defaultShouldRevalidate: shouldSkipRevalidation\n ? false\n : isRevalidationRequired,\n });\n }\n\n if (shouldRevalidate) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: fetcherMatches,\n match: fetcherMatch,\n controller: new AbortController(),\n });\n }\n });\n\n return [navigationMatches, revalidatingFetchers];\n}\n\nfunction shouldLoadRouteOnHydration(\n route: AgnosticDataRouteObject,\n loaderData: RouteData | null | undefined,\n errors: RouteData | null | undefined\n) {\n // We dunno if we have a loader - gotta find out!\n if (route.lazy) {\n return true;\n }\n\n // No loader, nothing to initialize\n if (!route.loader) {\n return false;\n }\n\n let hasData = loaderData != null && loaderData[route.id] !== undefined;\n let hasError = errors != null && errors[route.id] !== undefined;\n\n // Don't run if we error'd during SSR\n if (!hasData && hasError) {\n return false;\n }\n\n // Explicitly opting-in to running on hydration\n if (typeof route.loader === \"function\" && route.loader.hydrate === true) {\n return true;\n }\n\n // Otherwise, run if we're not yet initialized with anything\n return !hasData && !hasError;\n}\n\nfunction isNewLoader(\n currentLoaderData: RouteData,\n currentMatch: AgnosticDataRouteMatch,\n match: AgnosticDataRouteMatch\n) {\n let isNew =\n // [a] -> [a, b]\n !currentMatch ||\n // [a, b] -> [a, c]\n match.route.id !== currentMatch.route.id;\n\n // Handle the case that we don't have data for a re-used route, potentially\n // from a prior error or from a cancelled pending deferred\n let isMissingData = currentLoaderData[match.route.id] === undefined;\n\n // Always load if this is a net-new route or we don't yet have data\n return isNew || isMissingData;\n}\n\nfunction isNewRouteInstance(\n currentMatch: AgnosticDataRouteMatch,\n match: AgnosticDataRouteMatch\n) {\n let currentPath = currentMatch.route.path;\n return (\n // param change for this match, /users/123 -> /users/456\n currentMatch.pathname !== match.pathname ||\n // splat param changed, which is not present in match.path\n // e.g. /files/images/avatar.jpg -> files/finances.xls\n (currentPath != null &&\n currentPath.endsWith(\"*\") &&\n currentMatch.params[\"*\"] !== match.params[\"*\"])\n );\n}\n\nfunction shouldRevalidateLoader(\n loaderMatch: AgnosticDataRouteMatch,\n arg: ShouldRevalidateFunctionArgs\n) {\n if (loaderMatch.route.shouldRevalidate) {\n let routeChoice = loaderMatch.route.shouldRevalidate(arg);\n if (typeof routeChoice === \"boolean\") {\n return routeChoice;\n }\n }\n\n return arg.defaultShouldRevalidate;\n}\n\nfunction patchRoutesImpl(\n routeId: string | null,\n children: AgnosticRouteObject[],\n routesToUse: AgnosticDataRouteObject[],\n manifest: RouteManifest,\n mapRouteProperties: MapRoutePropertiesFunction\n) {\n let childrenToPatch: AgnosticDataRouteObject[];\n if (routeId) {\n let route = manifest[routeId];\n invariant(\n route,\n `No route found to patch children into: routeId = ${routeId}`\n );\n if (!route.children) {\n route.children = [];\n }\n childrenToPatch = route.children;\n } else {\n childrenToPatch = routesToUse;\n }\n\n // Don't patch in routes we already know about so that `patch` is idempotent\n // to simplify user-land code. This is useful because we re-call the\n // `patchRoutesOnNavigation` function for matched routes with params.\n let uniqueChildren = children.filter(\n (newRoute) =>\n !childrenToPatch.some((existingRoute) =>\n isSameRoute(newRoute, existingRoute)\n )\n );\n\n let newRoutes = convertRoutesToDataRoutes(\n uniqueChildren,\n mapRouteProperties,\n [routeId || \"_\", \"patch\", String(childrenToPatch?.length || \"0\")],\n manifest\n );\n\n childrenToPatch.push(...newRoutes);\n}\n\nfunction isSameRoute(\n newRoute: AgnosticRouteObject,\n existingRoute: AgnosticRouteObject\n): boolean {\n // Most optimal check is by id\n if (\n \"id\" in newRoute &&\n \"id\" in existingRoute &&\n newRoute.id === existingRoute.id\n ) {\n return true;\n }\n\n // Second is by pathing differences\n if (\n !(\n newRoute.index === existingRoute.index &&\n newRoute.path === existingRoute.path &&\n newRoute.caseSensitive === existingRoute.caseSensitive\n )\n ) {\n return false;\n }\n\n // Pathless layout routes are trickier since we need to check children.\n // If they have no children then they're the same as far as we can tell\n if (\n (!newRoute.children || newRoute.children.length === 0) &&\n (!existingRoute.children || existingRoute.children.length === 0)\n ) {\n return true;\n }\n\n // Otherwise, we look to see if every child in the new route is already\n // represented in the existing route's children\n return newRoute.children!.every((aChild, i) =>\n existingRoute.children?.some((bChild) => isSameRoute(aChild, bChild))\n );\n}\n\n/**\n * Execute route.lazy() methods to lazily load route modules (loader, action,\n * shouldRevalidate) and update the routeManifest in place which shares objects\n * with dataRoutes so those get updated as well.\n */\nasync function loadLazyRouteModule(\n route: AgnosticDataRouteObject,\n mapRouteProperties: MapRoutePropertiesFunction,\n manifest: RouteManifest\n) {\n if (!route.lazy) {\n return;\n }\n\n let lazyRoute = await route.lazy();\n\n // If the lazy route function was executed and removed by another parallel\n // call then we can return - first lazy() to finish wins because the return\n // value of lazy is expected to be static\n if (!route.lazy) {\n return;\n }\n\n let routeToUpdate = manifest[route.id];\n invariant(routeToUpdate, \"No route found in manifest\");\n\n // Update the route in place. This should be safe because there's no way\n // we could yet be sitting on this route as we can't get there without\n // resolving lazy() first.\n //\n // This is different than the HMR \"update\" use-case where we may actively be\n // on the route being updated. The main concern boils down to \"does this\n // mutation affect any ongoing navigations or any current state.matches\n // values?\". If not, it should be safe to update in place.\n let routeUpdates: Record<string, any> = {};\n for (let lazyRouteProperty in lazyRoute) {\n let staticRouteValue =\n routeToUpdate[lazyRouteProperty as keyof typeof routeToUpdate];\n\n let isPropertyStaticallyDefined =\n staticRouteValue !== undefined &&\n // This property isn't static since it should always be updated based\n // on the route updates\n lazyRouteProperty !== \"hasErrorBoundary\";\n\n warning(\n !isPropertyStaticallyDefined,\n `Route \"${routeToUpdate.id}\" has a static property \"${lazyRouteProperty}\" ` +\n `defined but its lazy function is also returning a value for this property. ` +\n `The lazy route property \"${lazyRouteProperty}\" will be ignored.`\n );\n\n if (\n !isPropertyStaticallyDefined &&\n !immutableRouteKeys.has(lazyRouteProperty as ImmutableRouteKey)\n ) {\n routeUpdates[lazyRouteProperty] =\n lazyRoute[lazyRouteProperty as keyof typeof lazyRoute];\n }\n }\n\n // Mutate the route with the provided updates. Do this first so we pass\n // the updated version to mapRouteProperties\n Object.assign(routeToUpdate, routeUpdates);\n\n // Mutate the `hasErrorBoundary` property on the route based on the route\n // updates and remove the `lazy` function so we don't resolve the lazy\n // route again.\n Object.assign(routeToUpdate, {\n // To keep things framework agnostic, we use the provided\n // `mapRouteProperties` (or wrapped `detectErrorBoundary`) function to\n // set the framework-aware properties (`element`/`hasErrorBoundary`) since\n // the logic will differ between frameworks.\n ...mapRouteProperties(routeToUpdate),\n lazy: undefined,\n });\n}\n\n// Default implementation of `dataStrategy` which fetches all loaders in parallel\nasync function defaultDataStrategy({\n matches,\n}: DataStrategyFunctionArgs): ReturnType<DataStrategyFunction> {\n let matchesToLoad = matches.filter((m) => m.shouldLoad);\n let results = await Promise.all(matchesToLoad.map((m) => m.resolve()));\n return results.reduce(\n (acc, result, i) =>\n Object.assign(acc, { [matchesToLoad[i].route.id]: result }),\n {}\n );\n}\n\nasync function callDataStrategyImpl(\n dataStrategyImpl: DataStrategyFunction,\n type: \"loader\" | \"action\",\n state: RouterState | null,\n request: Request,\n matchesToLoad: AgnosticDataRouteMatch[],\n matches: AgnosticDataRouteMatch[],\n fetcherKey: string | null,\n manifest: RouteManifest,\n mapRouteProperties: MapRoutePropertiesFunction,\n requestContext?: unknown\n): Promise<Record<string, DataStrategyResult>> {\n let loadRouteDefinitionsPromises = matches.map((m) =>\n m.route.lazy\n ? loadLazyRouteModule(m.route, mapRouteProperties, manifest)\n : undefined\n );\n\n let dsMatches = matches.map((match, i) => {\n let loadRoutePromise = loadRouteDefinitionsPromises[i];\n let shouldLoad = matchesToLoad.some((m) => m.route.id === match.route.id);\n // `resolve` encapsulates route.lazy(), executing the loader/action,\n // and mapping return values/thrown errors to a `DataStrategyResult`. Users\n // can pass a callback to take fine-grained control over the execution\n // of the loader/action\n let resolve: DataStrategyMatch[\"resolve\"] = async (handlerOverride) => {\n if (\n handlerOverride &&\n request.method === \"GET\" &&\n (match.route.lazy || match.route.loader)\n ) {\n shouldLoad = true;\n }\n return shouldLoad\n ? callLoaderOrAction(\n type,\n request,\n match,\n loadRoutePromise,\n handlerOverride,\n requestContext\n )\n : Promise.resolve({ type: ResultType.data, result: undefined });\n };\n\n return {\n ...match,\n shouldLoad,\n resolve,\n };\n });\n\n // Send all matches here to allow for a middleware-type implementation.\n // handler will be a no-op for unneeded routes and we filter those results\n // back out below.\n let results = await dataStrategyImpl({\n matches: dsMatches,\n request,\n params: matches[0].params,\n fetcherKey,\n context: requestContext,\n });\n\n // Wait for all routes to load here but 'swallow the error since we want\n // it to bubble up from the `await loadRoutePromise` in `callLoaderOrAction` -\n // called from `match.resolve()`\n try {\n await Promise.all(loadRouteDefinitionsPromises);\n } catch (e) {\n // No-op\n }\n\n return results;\n}\n\n// Default logic for calling a loader/action is the user has no specified a dataStrategy\nasync function callLoaderOrAction(\n type: \"loader\" | \"action\",\n request: Request,\n match: AgnosticDataRouteMatch,\n loadRoutePromise: Promise<void> | undefined,\n handlerOverride: Parameters<DataStrategyMatch[\"resolve\"]>[0],\n staticContext?: unknown\n): Promise<DataStrategyResult> {\n let result: DataStrategyResult;\n let onReject: (() => void) | undefined;\n\n let runHandler = (\n handler: AgnosticRouteObject[\"loader\"] | AgnosticRouteObject[\"action\"]\n ): Promise<DataStrategyResult> => {\n // Setup a promise we can race against so that abort signals short circuit\n let reject: () => void;\n // This will never resolve so safe to type it as Promise<DataStrategyResult> to\n // satisfy the function return value\n let abortPromise = new Promise<DataStrategyResult>((_, r) => (reject = r));\n onReject = () => reject();\n request.signal.addEventListener(\"abort\", onReject);\n\n let actualHandler = (ctx?: unknown) => {\n if (typeof handler !== \"function\") {\n return Promise.reject(\n new Error(\n `You cannot call the handler for a route which defines a boolean ` +\n `\"${type}\" [routeId: ${match.route.id}]`\n )\n );\n }\n return handler(\n {\n request,\n params: match.params,\n context: staticContext,\n },\n ...(ctx !== undefined ? [ctx] : [])\n );\n };\n\n let handlerPromise: Promise<DataStrategyResult> = (async () => {\n try {\n let val = await (handlerOverride\n ? handlerOverride((ctx: unknown) => actualHandler(ctx))\n : actualHandler());\n return { type: \"data\", result: val };\n } catch (e) {\n return { type: \"error\", result: e };\n }\n })();\n\n return Promise.race([handlerPromise, abortPromise]);\n };\n\n try {\n let handler = match.route[type];\n\n // If we have a route.lazy promise, await that first\n if (loadRoutePromise) {\n if (handler) {\n // Run statically defined handler in parallel with lazy()\n let handlerError;\n let [value] = await Promise.all([\n // If the handler throws, don't let it immediately bubble out,\n // since we need to let the lazy() execution finish so we know if this\n // route has a boundary that can handle the error\n runHandler(handler).catch((e) => {\n handlerError = e;\n }),\n loadRoutePromise,\n ]);\n if (handlerError !== undefined) {\n throw handlerError;\n }\n result = value!;\n } else {\n // Load lazy route module, then run any returned handler\n await loadRoutePromise;\n\n handler = match.route[type];\n if (handler) {\n // Handler still runs even if we got interrupted to maintain consistency\n // with un-abortable behavior of handler execution on non-lazy or\n // previously-lazy-loaded routes\n result = await runHandler(handler);\n } else if (type === \"action\") {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(405, {\n method: request.method,\n pathname,\n routeId: match.route.id,\n });\n } else {\n // lazy() route has no loader to run. Short circuit here so we don't\n // hit the invariant below that errors on returning undefined.\n return { type: ResultType.data, result: undefined };\n }\n }\n } else if (!handler) {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(404, {\n pathname,\n });\n } else {\n result = await runHandler(handler);\n }\n\n invariant(\n result.result !== undefined,\n `You defined ${type === \"action\" ? \"an action\" : \"a loader\"} for route ` +\n `\"${match.route.id}\" but didn't return anything from your \\`${type}\\` ` +\n `function. Please return a value or \\`null\\`.`\n );\n } catch (e) {\n // We should already be catching and converting normal handler executions to\n // DataStrategyResults and returning them, so anything that throws here is an\n // unexpected error we still need to wrap\n return { type: ResultType.error, result: e };\n } finally {\n if (onReject) {\n request.signal.removeEventListener(\"abort\", onReject);\n }\n }\n\n return result;\n}\n\nasync function convertDataStrategyResultToDataResult(\n dataStrategyResult: DataStrategyResult\n): Promise<DataResult> {\n let { result, type } = dataStrategyResult;\n\n if (isResponse(result)) {\n let data: any;\n\n try {\n let contentType = result.headers.get(\"Content-Type\");\n // Check between word boundaries instead of startsWith() due to the last\n // paragraph of https://httpwg.org/specs/rfc9110.html#field.content-type\n if (contentType && /\\bapplication\\/json\\b/.test(contentType)) {\n if (result.body == null) {\n data = null;\n } else {\n data = await result.json();\n }\n } else {\n data = await result.text();\n }\n } catch (e) {\n return { type: ResultType.error, error: e };\n }\n\n if (type === ResultType.error) {\n return {\n type: ResultType.error,\n error: new ErrorResponseImpl(result.status, result.statusText, data),\n statusCode: result.status,\n headers: result.headers,\n };\n }\n\n return {\n type: ResultType.data,\n data,\n statusCode: result.status,\n headers: result.headers,\n };\n }\n\n if (type === ResultType.error) {\n if (isDataWithResponseInit(result)) {\n if (result.data instanceof Error) {\n return {\n type: ResultType.error,\n error: result.data,\n statusCode: result.init?.status,\n headers: result.init?.headers\n ? new Headers(result.init.headers)\n : undefined,\n };\n }\n\n // Convert thrown data() to ErrorResponse instances\n return {\n type: ResultType.error,\n error: new ErrorResponseImpl(\n result.init?.status || 500,\n undefined,\n result.data\n ),\n statusCode: isRouteErrorResponse(result) ? result.status : undefined,\n headers: result.init?.headers\n ? new Headers(result.init.headers)\n : undefined,\n };\n }\n return {\n type: ResultType.error,\n error: result,\n statusCode: isRouteErrorResponse(result) ? result.status : undefined,\n };\n }\n\n if (isDeferredData(result)) {\n return {\n type: ResultType.deferred,\n deferredData: result,\n statusCode: result.init?.status,\n headers: result.init?.headers && new Headers(result.init.headers),\n };\n }\n\n if (isDataWithResponseInit(result)) {\n return {\n type: ResultType.data,\n data: result.data,\n statusCode: result.init?.status,\n headers: result.init?.headers\n ? new Headers(result.init.headers)\n : undefined,\n };\n }\n\n return { type: ResultType.data, data: result };\n}\n\n// Support relative routing in internal redirects\nfunction normalizeRelativeRoutingRedirectResponse(\n response: Response,\n request: Request,\n routeId: string,\n matches: AgnosticDataRouteMatch[],\n basename: string,\n v7_relativeSplatPath: boolean\n) {\n let location = response.headers.get(\"Location\");\n invariant(\n location,\n \"Redirects returned/thrown from loaders/actions must have a Location header\"\n );\n\n if (!ABSOLUTE_URL_REGEX.test(location)) {\n let trimmedMatches = matches.slice(\n 0,\n matches.findIndex((m) => m.route.id === routeId) + 1\n );\n location = normalizeTo(\n new URL(request.url),\n trimmedMatches,\n basename,\n true,\n location,\n v7_relativeSplatPath\n );\n response.headers.set(\"Location\", location);\n }\n\n return response;\n}\n\nfunction normalizeRedirectLocation(\n location: string,\n currentUrl: URL,\n basename: string\n): string {\n if (ABSOLUTE_URL_REGEX.test(location)) {\n // Strip off the protocol+origin for same-origin + same-basename absolute redirects\n let normalizedLocation = location;\n let url = normalizedLocation.startsWith(\"//\")\n ? new URL(currentUrl.protocol + normalizedLocation)\n : new URL(normalizedLocation);\n let isSameBasename = stripBasename(url.pathname, basename) != null;\n if (url.origin === currentUrl.origin && isSameBasename) {\n return url.pathname + url.search + url.hash;\n }\n }\n return location;\n}\n\n// Utility method for creating the Request instances for loaders/actions during\n// client-side navigations and fetches. During SSR we will always have a\n// Request instance from the static handler (query/queryRoute)\nfunction createClientSideRequest(\n history: History,\n location: string | Location,\n signal: AbortSignal,\n submission?: Submission\n): Request {\n let url = history.createURL(stripHashFromPath(location)).toString();\n let init: RequestInit = { signal };\n\n if (submission && isMutationMethod(submission.formMethod)) {\n let { formMethod, formEncType } = submission;\n // Didn't think we needed this but it turns out unlike other methods, patch\n // won't be properly normalized to uppercase and results in a 405 error.\n // See: https://fetch.spec.whatwg.org/#concept-method\n init.method = formMethod.toUpperCase();\n\n if (formEncType === \"application/json\") {\n init.headers = new Headers({ \"Content-Type\": formEncType });\n init.body = JSON.stringify(submission.json);\n } else if (formEncType === \"text/plain\") {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = submission.text;\n } else if (\n formEncType === \"application/x-www-form-urlencoded\" &&\n submission.formData\n ) {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = convertFormDataToSearchParams(submission.formData);\n } else {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = submission.formData;\n }\n }\n\n return new Request(url, init);\n}\n\nfunction convertFormDataToSearchParams(formData: FormData): URLSearchParams {\n let searchParams = new URLSearchParams();\n\n for (let [key, value] of formData.entries()) {\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#converting-an-entry-list-to-a-list-of-name-value-pairs\n searchParams.append(key, typeof value === \"string\" ? value : value.name);\n }\n\n return searchParams;\n}\n\nfunction convertSearchParamsToFormData(\n searchParams: URLSearchParams\n): FormData {\n let formData = new FormData();\n for (let [key, value] of searchParams.entries()) {\n formData.append(key, value);\n }\n return formData;\n}\n\nfunction processRouteLoaderData(\n matches: AgnosticDataRouteMatch[],\n results: Record<string, DataResult>,\n pendingActionResult: PendingActionResult | undefined,\n activeDeferreds: Map<string, DeferredData>,\n skipLoaderErrorBubbling: boolean\n): {\n loaderData: RouterState[\"loaderData\"];\n errors: RouterState[\"errors\"] | null;\n statusCode: number;\n loaderHeaders: Record<string, Headers>;\n} {\n // Fill in loaderData/errors from our loaders\n let loaderData: RouterState[\"loaderData\"] = {};\n let errors: RouterState[\"errors\"] | null = null;\n let statusCode: number | undefined;\n let foundError = false;\n let loaderHeaders: Record<string, Headers> = {};\n let pendingError =\n pendingActionResult && isErrorResult(pendingActionResult[1])\n ? pendingActionResult[1].error\n : undefined;\n\n // Process loader results into state.loaderData/state.errors\n matches.forEach((match) => {\n if (!(match.route.id in results)) {\n return;\n }\n let id = match.route.id;\n let result = results[id];\n invariant(\n !isRedirectResult(result),\n \"Cannot handle redirect results in processLoaderData\"\n );\n if (isErrorResult(result)) {\n let error = result.error;\n // If we have a pending action error, we report it at the highest-route\n // that throws a loader error, and then clear it out to indicate that\n // it was consumed\n if (pendingError !== undefined) {\n error = pendingError;\n pendingError = undefined;\n }\n\n errors = errors || {};\n\n if (skipLoaderErrorBubbling) {\n errors[id] = error;\n } else {\n // Look upwards from the matched route for the closest ancestor error\n // boundary, defaulting to the root match. Prefer higher error values\n // if lower errors bubble to the same boundary\n let boundaryMatch = findNearestBoundary(matches, id);\n if (errors[boundaryMatch.route.id] == null) {\n errors[boundaryMatch.route.id] = error;\n }\n }\n\n // Clear our any prior loaderData for the throwing route\n loaderData[id] = undefined;\n\n // Once we find our first (highest) error, we set the status code and\n // prevent deeper status codes from overriding\n if (!foundError) {\n foundError = true;\n statusCode = isRouteErrorResponse(result.error)\n ? result.error.status\n : 500;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n } else {\n if (isDeferredResult(result)) {\n activeDeferreds.set(id, result.deferredData);\n loaderData[id] = result.deferredData.data;\n // Error status codes always override success status codes, but if all\n // loaders are successful we take the deepest status code.\n if (\n result.statusCode != null &&\n result.statusCode !== 200 &&\n !foundError\n ) {\n statusCode = result.statusCode;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n } else {\n loaderData[id] = result.data;\n // Error status codes always override success status codes, but if all\n // loaders are successful we take the deepest status code.\n if (result.statusCode && result.statusCode !== 200 && !foundError) {\n statusCode = result.statusCode;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n }\n }\n });\n\n // If we didn't consume the pending action error (i.e., all loaders\n // resolved), then consume it here. Also clear out any loaderData for the\n // throwing route\n if (pendingError !== undefined && pendingActionResult) {\n errors = { [pendingActionResult[0]]: pendingError };\n loaderData[pendingActionResult[0]] = undefined;\n }\n\n return {\n loaderData,\n errors,\n statusCode: statusCode || 200,\n loaderHeaders,\n };\n}\n\nfunction processLoaderData(\n state: RouterState,\n matches: AgnosticDataRouteMatch[],\n results: Record<string, DataResult>,\n pendingActionResult: PendingActionResult | undefined,\n revalidatingFetchers: RevalidatingFetcher[],\n fetcherResults: Record<string, DataResult>,\n activeDeferreds: Map<string, DeferredData>\n): {\n loaderData: RouterState[\"loaderData\"];\n errors?: RouterState[\"errors\"];\n} {\n let { loaderData, errors } = processRouteLoaderData(\n matches,\n results,\n pendingActionResult,\n activeDeferreds,\n false // This method is only called client side so we always want to bubble\n );\n\n // Process results from our revalidating fetchers\n revalidatingFetchers.forEach((rf) => {\n let { key, match, controller } = rf;\n let result = fetcherResults[key];\n invariant(result, \"Did not find corresponding fetcher result\");\n\n // Process fetcher non-redirect errors\n if (controller && controller.signal.aborted) {\n // Nothing to do for aborted fetchers\n return;\n } else if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(state.matches, match?.route.id);\n if (!(errors && errors[boundaryMatch.route.id])) {\n errors = {\n ...errors,\n [boundaryMatch.route.id]: result.error,\n };\n }\n state.fetchers.delete(key);\n } else if (isRedirectResult(result)) {\n // Should never get here, redirects should get processed above, but we\n // keep this to type narrow to a success result in the else\n invariant(false, \"Unhandled fetcher revalidation redirect\");\n } else if (isDeferredResult(result)) {\n // Should never get here, deferred data should be awaited for fetchers\n // in resolveDeferredResults\n invariant(false, \"Unhandled fetcher deferred data\");\n } else {\n let doneFetcher = getDoneFetcher(result.data);\n state.fetchers.set(key, doneFetcher);\n }\n });\n\n return { loaderData, errors };\n}\n\nfunction mergeLoaderData(\n loaderData: RouteData,\n newLoaderData: RouteData,\n matches: AgnosticDataRouteMatch[],\n errors: RouteData | null | undefined\n): RouteData {\n let mergedLoaderData = { ...newLoaderData };\n for (let match of matches) {\n let id = match.route.id;\n if (newLoaderData.hasOwnProperty(id)) {\n if (newLoaderData[id] !== undefined) {\n mergedLoaderData[id] = newLoaderData[id];\n } else {\n // No-op - this is so we ignore existing data if we have a key in the\n // incoming object with an undefined value, which is how we unset a prior\n // loaderData if we encounter a loader error\n }\n } else if (loaderData[id] !== undefined && match.route.loader) {\n // Preserve existing keys not included in newLoaderData and where a loader\n // wasn't removed by HMR\n mergedLoaderData[id] = loaderData[id];\n }\n\n if (errors && errors.hasOwnProperty(id)) {\n // Don't keep any loader data below the boundary\n break;\n }\n }\n return mergedLoaderData;\n}\n\nfunction getActionDataForCommit(\n pendingActionResult: PendingActionResult | undefined\n) {\n if (!pendingActionResult) {\n return {};\n }\n return isErrorResult(pendingActionResult[1])\n ? {\n // Clear out prior actionData on errors\n actionData: {},\n }\n : {\n actionData: {\n [pendingActionResult[0]]: pendingActionResult[1].data,\n },\n };\n}\n\n// Find the nearest error boundary, looking upwards from the leaf route (or the\n// route specified by routeId) for the closest ancestor error boundary,\n// defaulting to the root match\nfunction findNearestBoundary(\n matches: AgnosticDataRouteMatch[],\n routeId?: string\n): AgnosticDataRouteMatch {\n let eligibleMatches = routeId\n ? matches.slice(0, matches.findIndex((m) => m.route.id === routeId) + 1)\n : [...matches];\n return (\n eligibleMatches.reverse().find((m) => m.route.hasErrorBoundary === true) ||\n matches[0]\n );\n}\n\nfunction getShortCircuitMatches(routes: AgnosticDataRouteObject[]): {\n matches: AgnosticDataRouteMatch[];\n route: AgnosticDataRouteObject;\n} {\n // Prefer a root layout route if present, otherwise shim in a route object\n let route =\n routes.length === 1\n ? routes[0]\n : routes.find((r) => r.index || !r.path || r.path === \"/\") || {\n id: `__shim-error-route__`,\n };\n\n return {\n matches: [\n {\n params: {},\n pathname: \"\",\n pathnameBase: \"\",\n route,\n },\n ],\n route,\n };\n}\n\nfunction getInternalRouterError(\n status: number,\n {\n pathname,\n routeId,\n method,\n type,\n message,\n }: {\n pathname?: string;\n routeId?: string;\n method?: string;\n type?: \"defer-action\" | \"invalid-body\";\n message?: string;\n } = {}\n) {\n let statusText = \"Unknown Server Error\";\n let errorMessage = \"Unknown @remix-run/router error\";\n\n if (status === 400) {\n statusText = \"Bad Request\";\n if (method && pathname && routeId) {\n errorMessage =\n `You made a ${method} request to \"${pathname}\" but ` +\n `did not provide a \\`loader\\` for route \"${routeId}\", ` +\n `so there is no way to handle the request.`;\n } else if (type === \"defer-action\") {\n errorMessage = \"defer() is not supported in actions\";\n } else if (type === \"invalid-body\") {\n errorMessage = \"Unable to encode submission body\";\n }\n } else if (status === 403) {\n statusText = \"Forbidden\";\n errorMessage = `Route \"${routeId}\" does not match URL \"${pathname}\"`;\n } else if (status === 404) {\n statusText = \"Not Found\";\n errorMessage = `No route matches URL \"${pathname}\"`;\n } else if (status === 405) {\n statusText = \"Method Not Allowed\";\n if (method && pathname && routeId) {\n errorMessage =\n `You made a ${method.toUpperCase()} request to \"${pathname}\" but ` +\n `did not provide an \\`action\\` for route \"${routeId}\", ` +\n `so there is no way to handle the request.`;\n } else if (method) {\n errorMessage = `Invalid request method \"${method.toUpperCase()}\"`;\n }\n }\n\n return new ErrorResponseImpl(\n status || 500,\n statusText,\n new Error(errorMessage),\n true\n );\n}\n\n// Find any returned redirect errors, starting from the lowest match\nfunction findRedirect(\n results: Record<string, DataResult>\n): { key: string; result: RedirectResult } | undefined {\n let entries = Object.entries(results);\n for (let i = entries.length - 1; i >= 0; i--) {\n let [key, result] = entries[i];\n if (isRedirectResult(result)) {\n return { key, result };\n }\n }\n}\n\nfunction stripHashFromPath(path: To) {\n let parsedPath = typeof path === \"string\" ? parsePath(path) : path;\n return createPath({ ...parsedPath, hash: \"\" });\n}\n\nfunction isHashChangeOnly(a: Location, b: Location): boolean {\n if (a.pathname !== b.pathname || a.search !== b.search) {\n return false;\n }\n\n if (a.hash === \"\") {\n // /page -> /page#hash\n return b.hash !== \"\";\n } else if (a.hash === b.hash) {\n // /page#hash -> /page#hash\n return true;\n } else if (b.hash !== \"\") {\n // /page#hash -> /page#other\n return true;\n }\n\n // If the hash is removed the browser will re-perform a request to the server\n // /page#hash -> /page\n return false;\n}\n\nfunction isPromise<T = unknown>(val: unknown): val is Promise<T> {\n return typeof val === \"object\" && val != null && \"then\" in val;\n}\n\nfunction isDataStrategyResult(result: unknown): result is DataStrategyResult {\n return (\n result != null &&\n typeof result === \"object\" &&\n \"type\" in result &&\n \"result\" in result &&\n (result.type === ResultType.data || result.type === ResultType.error)\n );\n}\n\nfunction isRedirectDataStrategyResultResult(result: DataStrategyResult) {\n return (\n isResponse(result.result) && redirectStatusCodes.has(result.result.status)\n );\n}\n\nfunction isDeferredResult(result: DataResult): result is DeferredResult {\n return result.type === ResultType.deferred;\n}\n\nfunction isErrorResult(result: DataResult): result is ErrorResult {\n return result.type === ResultType.error;\n}\n\nfunction isRedirectResult(result?: DataResult): result is RedirectResult {\n return (result && result.type) === ResultType.redirect;\n}\n\nexport function isDataWithResponseInit(\n value: any\n): value is DataWithResponseInit<unknown> {\n return (\n typeof value === \"object\" &&\n value != null &&\n \"type\" in value &&\n \"data\" in value &&\n \"init\" in value &&\n value.type === \"DataWithResponseInit\"\n );\n}\n\nexport function isDeferredData(value: any): value is DeferredData {\n let deferred: DeferredData = value;\n return (\n deferred &&\n typeof deferred === \"object\" &&\n typeof deferred.data === \"object\" &&\n typeof deferred.subscribe === \"function\" &&\n typeof deferred.cancel === \"function\" &&\n typeof deferred.resolveData === \"function\"\n );\n}\n\nfunction isResponse(value: any): value is Response {\n return (\n value != null &&\n typeof value.status === \"number\" &&\n typeof value.statusText === \"string\" &&\n typeof value.headers === \"object\" &&\n typeof value.body !== \"undefined\"\n );\n}\n\nfunction isRedirectResponse(result: any): result is Response {\n if (!isResponse(result)) {\n return false;\n }\n\n let status = result.status;\n let location = result.headers.get(\"Location\");\n return status >= 300 && status <= 399 && location != null;\n}\n\nfunction isValidMethod(method: string): method is FormMethod | V7_FormMethod {\n return validRequestMethods.has(method.toLowerCase() as FormMethod);\n}\n\nfunction isMutationMethod(\n method: string\n): method is MutationFormMethod | V7_MutationFormMethod {\n return validMutationMethods.has(method.toLowerCase() as MutationFormMethod);\n}\n\nasync function resolveNavigationDeferredResults(\n matches: (AgnosticDataRouteMatch | null)[],\n results: Record<string, DataResult>,\n signal: AbortSignal,\n currentMatches: AgnosticDataRouteMatch[],\n currentLoaderData: RouteData\n) {\n let entries = Object.entries(results);\n for (let index = 0; index < entries.length; index++) {\n let [routeId, result] = entries[index];\n let match = matches.find((m) => m?.route.id === routeId);\n // If we don't have a match, then we can have a deferred result to do\n // anything with. This is for revalidating fetchers where the route was\n // removed during HMR\n if (!match) {\n continue;\n }\n\n let currentMatch = currentMatches.find(\n (m) => m.route.id === match!.route.id\n );\n let isRevalidatingLoader =\n currentMatch != null &&\n !isNewRouteInstance(currentMatch, match) &&\n (currentLoaderData && currentLoaderData[match.route.id]) !== undefined;\n\n if (isDeferredResult(result) && isRevalidatingLoader) {\n // Note: we do not have to touch activeDeferreds here since we race them\n // against the signal in resolveDeferredData and they'll get aborted\n // there if needed\n await resolveDeferredData(result, signal, false).then((result) => {\n if (result) {\n results[routeId] = result;\n }\n });\n }\n }\n}\n\nasync function resolveFetcherDeferredResults(\n matches: (AgnosticDataRouteMatch | null)[],\n results: Record<string, DataResult>,\n revalidatingFetchers: RevalidatingFetcher[]\n) {\n for (let index = 0; index < revalidatingFetchers.length; index++) {\n let { key, routeId, controller } = revalidatingFetchers[index];\n let result = results[key];\n let match = matches.find((m) => m?.route.id === routeId);\n // If we don't have a match, then we can have a deferred result to do\n // anything with. This is for revalidating fetchers where the route was\n // removed during HMR\n if (!match) {\n continue;\n }\n\n if (isDeferredResult(result)) {\n // Note: we do not have to touch activeDeferreds here since we race them\n // against the signal in resolveDeferredData and they'll get aborted\n // there if needed\n invariant(\n controller,\n \"Expected an AbortController for revalidating fetcher deferred result\"\n );\n await resolveDeferredData(result, controller.signal, true).then(\n (result) => {\n if (result) {\n results[key] = result;\n }\n }\n );\n }\n }\n}\n\nasync function resolveDeferredData(\n result: DeferredResult,\n signal: AbortSignal,\n unwrap = false\n): Promise<SuccessResult | ErrorResult | undefined> {\n let aborted = await result.deferredData.resolveData(signal);\n if (aborted) {\n return;\n }\n\n if (unwrap) {\n try {\n return {\n type: ResultType.data,\n data: result.deferredData.unwrappedData,\n };\n } catch (e) {\n // Handle any TrackedPromise._error values encountered while unwrapping\n return {\n type: ResultType.error,\n error: e,\n };\n }\n }\n\n return {\n type: ResultType.data,\n data: result.deferredData.data,\n };\n}\n\nfunction hasNakedIndexQuery(search: string): boolean {\n return new URLSearchParams(search).getAll(\"index\").some((v) => v === \"\");\n}\n\nfunction getTargetMatch(\n matches: AgnosticDataRouteMatch[],\n location: Location | string\n) {\n let search =\n typeof location === \"string\" ? parsePath(location).search : location.search;\n if (\n matches[matches.length - 1].route.index &&\n hasNakedIndexQuery(search || \"\")\n ) {\n // Return the leaf index route when index is present\n return matches[matches.length - 1];\n }\n // Otherwise grab the deepest \"path contributing\" match (ignoring index and\n // pathless layout routes)\n let pathMatches = getPathContributingMatches(matches);\n return pathMatches[pathMatches.length - 1];\n}\n\nfunction getSubmissionFromNavigation(\n navigation: Navigation\n): Submission | undefined {\n let { formMethod, formAction, formEncType, text, formData, json } =\n navigation;\n if (!formMethod || !formAction || !formEncType) {\n return;\n }\n\n if (text != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: undefined,\n json: undefined,\n text,\n };\n } else if (formData != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData,\n json: undefined,\n text: undefined,\n };\n } else if (json !== undefined) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: undefined,\n json,\n text: undefined,\n };\n }\n}\n\nfunction getLoadingNavigation(\n location: Location,\n submission?: Submission\n): NavigationStates[\"Loading\"] {\n if (submission) {\n let navigation: NavigationStates[\"Loading\"] = {\n state: \"loading\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n };\n return navigation;\n } else {\n let navigation: NavigationStates[\"Loading\"] = {\n state: \"loading\",\n location,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n };\n return navigation;\n }\n}\n\nfunction getSubmittingNavigation(\n location: Location,\n submission: Submission\n): NavigationStates[\"Submitting\"] {\n let navigation: NavigationStates[\"Submitting\"] = {\n state: \"submitting\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n };\n return navigation;\n}\n\nfunction getLoadingFetcher(\n submission?: Submission,\n data?: Fetcher[\"data\"]\n): FetcherStates[\"Loading\"] {\n if (submission) {\n let fetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data,\n };\n return fetcher;\n } else {\n let fetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n data,\n };\n return fetcher;\n }\n}\n\nfunction getSubmittingFetcher(\n submission: Submission,\n existingFetcher?: Fetcher\n): FetcherStates[\"Submitting\"] {\n let fetcher: FetcherStates[\"Submitting\"] = {\n state: \"submitting\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data: existingFetcher ? existingFetcher.data : undefined,\n };\n return fetcher;\n}\n\nfunction getDoneFetcher(data: Fetcher[\"data\"]): FetcherStates[\"Idle\"] {\n let fetcher: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n data,\n };\n return fetcher;\n}\n\nfunction restoreAppliedTransitions(\n _window: Window,\n transitions: Map<string, Set<string>>\n) {\n try {\n let sessionPositions = _window.sessionStorage.getItem(\n TRANSITIONS_STORAGE_KEY\n );\n if (sessionPositions) {\n let json = JSON.parse(sessionPositions);\n for (let [k, v] of Object.entries(json || {})) {\n if (v && Array.isArray(v)) {\n transitions.set(k, new Set(v || []));\n }\n }\n }\n } catch (e) {\n // no-op, use default empty object\n }\n}\n\nfunction persistAppliedTransitions(\n _window: Window,\n transitions: Map<string, Set<string>>\n) {\n if (transitions.size > 0) {\n let json: Record<string, string[]> = {};\n for (let [k, v] of transitions) {\n json[k] = [...v];\n }\n try {\n _window.sessionStorage.setItem(\n TRANSITIONS_STORAGE_KEY,\n JSON.stringify(json)\n );\n } catch (error) {\n warning(\n false,\n `Failed to save applied view transitions in sessionStorage (${error}).`\n );\n }\n }\n}\n//#endregion\n","import * as React from \"react\";\nimport type {\n AgnosticIndexRouteObject,\n AgnosticNonIndexRouteObject,\n AgnosticRouteMatch,\n History,\n LazyRouteFunction,\n Location,\n Action as NavigationType,\n RelativeRoutingType,\n Router,\n StaticHandlerContext,\n To,\n TrackedPromise,\n} from \"@remix-run/router\";\n\n// Create react-specific types from the agnostic types in @remix-run/router to\n// export from react-router\nexport interface IndexRouteObject {\n caseSensitive?: AgnosticIndexRouteObject[\"caseSensitive\"];\n path?: AgnosticIndexRouteObject[\"path\"];\n id?: AgnosticIndexRouteObject[\"id\"];\n loader?: AgnosticIndexRouteObject[\"loader\"];\n action?: AgnosticIndexRouteObject[\"action\"];\n hasErrorBoundary?: AgnosticIndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: AgnosticIndexRouteObject[\"shouldRevalidate\"];\n handle?: AgnosticIndexRouteObject[\"handle\"];\n index: true;\n children?: undefined;\n element?: React.ReactNode | null;\n hydrateFallbackElement?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n Component?: React.ComponentType | null;\n HydrateFallback?: React.ComponentType | null;\n ErrorBoundary?: React.ComponentType | null;\n lazy?: LazyRouteFunction<RouteObject>;\n}\n\nexport interface NonIndexRouteObject {\n caseSensitive?: AgnosticNonIndexRouteObject[\"caseSensitive\"];\n path?: AgnosticNonIndexRouteObject[\"path\"];\n id?: AgnosticNonIndexRouteObject[\"id\"];\n loader?: AgnosticNonIndexRouteObject[\"loader\"];\n action?: AgnosticNonIndexRouteObject[\"action\"];\n hasErrorBoundary?: AgnosticNonIndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: AgnosticNonIndexRouteObject[\"shouldRevalidate\"];\n handle?: AgnosticNonIndexRouteObject[\"handle\"];\n index?: false;\n children?: RouteObject[];\n element?: React.ReactNode | null;\n hydrateFallbackElement?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n Component?: React.ComponentType | null;\n HydrateFallback?: React.ComponentType | null;\n ErrorBoundary?: React.ComponentType | null;\n lazy?: LazyRouteFunction<RouteObject>;\n}\n\nexport type RouteObject = IndexRouteObject | NonIndexRouteObject;\n\nexport type DataRouteObject = RouteObject & {\n children?: DataRouteObject[];\n id: string;\n};\n\nexport interface RouteMatch<\n ParamKey extends string = string,\n RouteObjectType extends RouteObject = RouteObject\n> extends AgnosticRouteMatch<ParamKey, RouteObjectType> {}\n\nexport interface DataRouteMatch extends RouteMatch<string, DataRouteObject> {}\n\nexport interface DataRouterContextObject\n // Omit `future` since those can be pulled from the `router`\n // `NavigationContext` needs future since it doesn't have a `router` in all cases\n extends Omit<NavigationContextObject, \"future\"> {\n router: Router;\n staticContext?: StaticHandlerContext;\n}\n\nexport const DataRouterContext =\n React.createContext<DataRouterContextObject | null>(null);\nif (__DEV__) {\n DataRouterContext.displayName = \"DataRouter\";\n}\n\nexport const DataRouterStateContext = React.createContext<\n Router[\"state\"] | null\n>(null);\nif (__DEV__) {\n DataRouterStateContext.displayName = \"DataRouterState\";\n}\n\nexport const AwaitContext = React.createContext<TrackedPromise | null>(null);\nif (__DEV__) {\n AwaitContext.displayName = \"Await\";\n}\n\nexport interface NavigateOptions {\n replace?: boolean;\n state?: any;\n preventScrollReset?: boolean;\n relative?: RelativeRoutingType;\n flushSync?: boolean;\n viewTransition?: boolean;\n}\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level `<Router>` API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\nexport interface Navigator {\n createHref: History[\"createHref\"];\n // Optional for backwards-compat with Router/HistoryRouter usage (edge case)\n encodeLocation?: History[\"encodeLocation\"];\n go: History[\"go\"];\n push(to: To, state?: any, opts?: NavigateOptions): void;\n replace(to: To, state?: any, opts?: NavigateOptions): void;\n}\n\ninterface NavigationContextObject {\n basename: string;\n navigator: Navigator;\n static: boolean;\n future: {\n v7_relativeSplatPath: boolean;\n };\n}\n\nexport const NavigationContext = React.createContext<NavigationContextObject>(\n null!\n);\n\nif (__DEV__) {\n NavigationContext.displayName = \"Navigation\";\n}\n\ninterface LocationContextObject {\n location: Location;\n navigationType: NavigationType;\n}\n\nexport const LocationContext = React.createContext<LocationContextObject>(\n null!\n);\n\nif (__DEV__) {\n LocationContext.displayName = \"Location\";\n}\n\nexport interface RouteContextObject {\n outlet: React.ReactElement | null;\n matches: RouteMatch[];\n isDataRoute: boolean;\n}\n\nexport const RouteContext = React.createContext<RouteContextObject>({\n outlet: null,\n matches: [],\n isDataRoute: false,\n});\n\nif (__DEV__) {\n RouteContext.displayName = \"Route\";\n}\n\nexport const RouteErrorContext = React.createContext<any>(null);\n\nif (__DEV__) {\n RouteErrorContext.displayName = \"RouteError\";\n}\n","import * as React from \"react\";\nimport type {\n AgnosticRouteMatch,\n Blocker,\n BlockerFunction,\n Location,\n ParamParseKey,\n Params,\n Path,\n PathMatch,\n PathPattern,\n RelativeRoutingType,\n Router as RemixRouter,\n RevalidationState,\n To,\n UIMatch,\n} from \"@remix-run/router\";\nimport {\n IDLE_BLOCKER,\n Action as NavigationType,\n UNSAFE_convertRouteMatchToUiMatch as convertRouteMatchToUiMatch,\n UNSAFE_decodePath as decodePath,\n UNSAFE_getResolveToMatches as getResolveToMatches,\n UNSAFE_invariant as invariant,\n isRouteErrorResponse,\n joinPaths,\n matchPath,\n matchRoutes,\n parsePath,\n resolveTo,\n stripBasename,\n UNSAFE_warning as warning,\n} from \"@remix-run/router\";\n\nimport type {\n DataRouteMatch,\n NavigateOptions,\n RouteContextObject,\n RouteMatch,\n RouteObject,\n} from \"./context\";\nimport {\n AwaitContext,\n DataRouterContext,\n DataRouterStateContext,\n LocationContext,\n NavigationContext,\n RouteContext,\n RouteErrorContext,\n} from \"./context\";\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/v6/hooks/use-href\n */\nexport function useHref(\n to: To,\n { relative }: { relative?: RelativeRoutingType } = {}\n): string {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useHref() may be used only in the context of a <Router> component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { hash, pathname, search } = useResolvedPath(to, { relative });\n\n let joinedPathname = pathname;\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to creating the href. If this is a root navigation, then just use the raw\n // basename which allows the basename to have full control over the presence\n // of a trailing slash on root links\n if (basename !== \"/\") {\n joinedPathname =\n pathname === \"/\" ? basename : joinPaths([basename, pathname]);\n }\n\n return navigator.createHref({ pathname: joinedPathname, search, hash });\n}\n\n/**\n * Returns true if this component is a descendant of a `<Router>`.\n *\n * @see https://reactrouter.com/v6/hooks/use-in-router-context\n */\nexport function useInRouterContext(): boolean {\n return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/v6/hooks/use-location\n */\nexport function useLocation(): Location {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useLocation() may be used only in the context of a <Router> component.`\n );\n\n return React.useContext(LocationContext).location;\n}\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/v6/hooks/use-navigation-type\n */\nexport function useNavigationType(): NavigationType {\n return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns a PathMatch object if the given pattern matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * `<NavLink>`.\n *\n * @see https://reactrouter.com/v6/hooks/use-match\n */\nexport function useMatch<\n ParamKey extends ParamParseKey<Path>,\n Path extends string\n>(pattern: PathPattern<Path> | Path): PathMatch<ParamKey> | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useMatch() may be used only in the context of a <Router> component.`\n );\n\n let { pathname } = useLocation();\n return React.useMemo(\n () => matchPath<ParamKey, Path>(pattern, decodePath(pathname)),\n [pathname, pattern]\n );\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\nexport interface NavigateFunction {\n (to: To, options?: NavigateOptions): void;\n (delta: number): void;\n}\n\nconst navigateEffectWarning =\n `You should call navigate() in a React.useEffect(), not when ` +\n `your component is first rendered.`;\n\n// Mute warnings for calls to useNavigate in SSR environments\nfunction useIsomorphicLayoutEffect(\n cb: Parameters<typeof React.useLayoutEffect>[0]\n) {\n let isStatic = React.useContext(NavigationContext).static;\n if (!isStatic) {\n // We should be able to get rid of this once react 18.3 is released\n // See: https://github.com/facebook/react/pull/26395\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useLayoutEffect(cb);\n }\n}\n\n/**\n * Returns an imperative method for changing the location. Used by `<Link>`s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/v6/hooks/use-navigate\n */\nexport function useNavigate(): NavigateFunction {\n let { isDataRoute } = React.useContext(RouteContext);\n // Conditional usage is OK here because the usage of a data router is static\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return isDataRoute ? useNavigateStable() : useNavigateUnstable();\n}\n\nfunction useNavigateUnstable(): NavigateFunction {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useNavigate() may be used only in the context of a <Router> component.`\n );\n\n let dataRouterContext = React.useContext(DataRouterContext);\n let { basename, future, navigator } = React.useContext(NavigationContext);\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n getResolveToMatches(matches, future.v7_relativeSplatPath)\n );\n\n let activeRef = React.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(activeRef.current, navigateEffectWarning);\n\n // Short circuit here since if this happens on first render the navigate\n // is useless because we haven't wired up our history listener yet\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n\n let path = resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname,\n options.relative === \"path\"\n );\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to handing off to history (but only if we're not in a data router,\n // otherwise it'll prepend the basename inside of the router).\n // If this is a root navigation, then we navigate to the raw basename\n // which allows the basename to have full control over the presence of a\n // trailing slash on root links\n if (dataRouterContext == null && basename !== \"/\") {\n path.pathname =\n path.pathname === \"/\"\n ? basename\n : joinPaths([basename, path.pathname]);\n }\n\n (!!options.replace ? navigator.replace : navigator.push)(\n path,\n options.state,\n options\n );\n },\n [\n basename,\n navigator,\n routePathnamesJson,\n locationPathname,\n dataRouterContext,\n ]\n );\n\n return navigate;\n}\n\nconst OutletContext = React.createContext<unknown>(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/v6/hooks/use-outlet-context\n */\nexport function useOutletContext<Context = unknown>(): Context {\n return React.useContext(OutletContext) as Context;\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by `<Outlet>` to render child routes.\n *\n * @see https://reactrouter.com/v6/hooks/use-outlet\n */\nexport function useOutlet(context?: unknown): React.ReactElement | null {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return (\n <OutletContext.Provider value={context}>{outlet}</OutletContext.Provider>\n );\n }\n return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/v6/hooks/use-params\n */\nexport function useParams<\n ParamsOrKey extends string | Record<string, string | undefined> = string\n>(): Readonly<\n [ParamsOrKey] extends [string] ? Params<ParamsOrKey> : Partial<ParamsOrKey>\n> {\n let { matches } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? (routeMatch.params as any) : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/v6/hooks/use-resolved-path\n */\nexport function useResolvedPath(\n to: To,\n { relative }: { relative?: RelativeRoutingType } = {}\n): Path {\n let { future } = React.useContext(NavigationContext);\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n let routePathnamesJson = JSON.stringify(\n getResolveToMatches(matches, future.v7_relativeSplatPath)\n );\n\n return React.useMemo(\n () =>\n resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname,\n relative === \"path\"\n ),\n [to, routePathnamesJson, locationPathname, relative]\n );\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an `<Outlet>` to render their child route's\n * element.\n *\n * @see https://reactrouter.com/v6/hooks/use-routes\n */\nexport function useRoutes(\n routes: RouteObject[],\n locationArg?: Partial<Location> | string\n): React.ReactElement | null {\n return useRoutesImpl(routes, locationArg);\n}\n\n// Internal implementation with accept optional param for RouterProvider usage\nexport function useRoutesImpl(\n routes: RouteObject[],\n locationArg?: Partial<Location> | string,\n dataRouterState?: RemixRouter[\"state\"],\n future?: RemixRouter[\"future\"]\n): React.ReactElement | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useRoutes() may be used only in the context of a <Router> component.`\n );\n\n let { navigator, static: isStatic } = React.useContext(NavigationContext);\n let { matches: parentMatches } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n\n if (__DEV__) {\n // You won't get a warning about 2 different <Routes> under a <Route>\n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // <Routes>\n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // <Route path=\"blog\" element={<Blog />} />\n // <Route path=\"blog/feed\" element={<BlogFeed />} />\n // </Routes>\n //\n // function Blog() {\n // return (\n // <Routes>\n // <Route path=\"post/:id\" element={<Post />} />\n // </Routes>\n // );\n // }\n let parentPath = (parentRoute && parentRoute.path) || \"\";\n warningOnce(\n parentPathname,\n !parentRoute || parentPath.endsWith(\"*\"),\n `You rendered descendant <Routes> (or called \\`useRoutes()\\`) at ` +\n `\"${parentPathname}\" (under <Route path=\"${parentPath}\">) but the ` +\n `parent route path has no trailing \"*\". This means if you navigate ` +\n `deeper, the parent won't match anymore and therefore the child ` +\n `routes will never render.\\n\\n` +\n `Please change the parent <Route path=\"${parentPath}\"> to <Route ` +\n `path=\"${parentPath === \"/\" ? \"*\" : `${parentPath}/*`}\">.`\n );\n }\n\n let locationFromContext = useLocation();\n\n let location;\n if (locationArg) {\n let parsedLocationArg =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n invariant(\n parentPathnameBase === \"/\" ||\n parsedLocationArg.pathname?.startsWith(parentPathnameBase),\n `When overriding the location using \\`<Routes location>\\` or \\`useRoutes(routes, location)\\`, ` +\n `the location pathname must begin with the portion of the URL pathname that was ` +\n `matched by all parent routes. The current pathname base is \"${parentPathnameBase}\" ` +\n `but pathname \"${parsedLocationArg.pathname}\" was given in the \\`location\\` prop.`\n );\n\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n\n let pathname = location.pathname || \"/\";\n\n let remainingPathname = pathname;\n if (parentPathnameBase !== \"/\") {\n // Determine the remaining pathname by removing the # of URL segments the\n // parentPathnameBase has, instead of removing based on character count.\n // This is because we can't guarantee that incoming/outgoing encodings/\n // decodings will match exactly.\n // We decode paths before matching on a per-segment basis with\n // decodeURIComponent(), but we re-encode pathnames via `new URL()` so they\n // match what `window.location.pathname` would reflect. Those don't 100%\n // align when it comes to encoded URI characters such as % and &.\n //\n // So we may end up with:\n // pathname: \"/descendant/a%25b/match\"\n // parentPathnameBase: \"/descendant/a%b\"\n //\n // And the direct substring removal approach won't work :/\n let parentSegments = parentPathnameBase.replace(/^\\//, \"\").split(\"/\");\n let segments = pathname.replace(/^\\//, \"\").split(\"/\");\n remainingPathname = \"/\" + segments.slice(parentSegments.length).join(\"/\");\n }\n\n let matches =\n !isStatic &&\n dataRouterState &&\n dataRouterState.matches &&\n dataRouterState.matches.length > 0\n ? (dataRouterState.matches as AgnosticRouteMatch<string, RouteObject>[])\n : matchRoutes(routes, { pathname: remainingPathname });\n\n if (__DEV__) {\n warning(\n parentRoute || matches != null,\n `No routes matched location \"${location.pathname}${location.search}${location.hash}\" `\n );\n\n warning(\n matches == null ||\n matches[matches.length - 1].route.element !== undefined ||\n matches[matches.length - 1].route.Component !== undefined ||\n matches[matches.length - 1].route.lazy !== undefined,\n `Matched leaf route at location \"${location.pathname}${location.search}${location.hash}\" ` +\n `does not have an element or Component. This means it will render an <Outlet /> with a ` +\n `null value by default resulting in an \"empty\" page.`\n );\n }\n\n let renderedMatches = _renderMatches(\n matches &&\n matches.map((match) =>\n Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([\n parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator.encodeLocation\n ? navigator.encodeLocation(match.pathname).pathname\n : match.pathname,\n ]),\n pathnameBase:\n match.pathnameBase === \"/\"\n ? parentPathnameBase\n : joinPaths([\n parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator.encodeLocation\n ? navigator.encodeLocation(match.pathnameBase).pathname\n : match.pathnameBase,\n ]),\n })\n ),\n parentMatches,\n dataRouterState,\n future\n );\n\n // When a user passes in a `locationArg`, the associated routes need to\n // be wrapped in a new `LocationContext.Provider` in order for `useLocation`\n // to use the scoped location instead of the global location.\n if (locationArg && renderedMatches) {\n return (\n <LocationContext.Provider\n value={{\n location: {\n pathname: \"/\",\n search: \"\",\n hash: \"\",\n state: null,\n key: \"default\",\n ...location,\n },\n navigationType: NavigationType.Pop,\n }}\n >\n {renderedMatches}\n </LocationContext.Provider>\n );\n }\n\n return renderedMatches;\n}\n\nfunction DefaultErrorComponent() {\n let error = useRouteError();\n let message = isRouteErrorResponse(error)\n ? `${error.status} ${error.statusText}`\n : error instanceof Error\n ? error.message\n : JSON.stringify(error);\n let stack = error instanceof Error ? error.stack : null;\n let lightgrey = \"rgba(200,200,200, 0.5)\";\n let preStyles = { padding: \"0.5rem\", backgroundColor: lightgrey };\n let codeStyles = { padding: \"2px 4px\", backgroundColor: lightgrey };\n\n let devInfo = null;\n if (__DEV__) {\n console.error(\n \"Error handled by React Router default ErrorBoundary:\",\n error\n );\n\n devInfo = (\n <>\n <p>💿 Hey developer 👋</p>\n <p>\n You can provide a way better UX than this when your app throws errors\n by providing your own <code style={codeStyles}>ErrorBoundary</code> or{\" \"}\n <code style={codeStyles}>errorElement</code> prop on your route.\n </p>\n </>\n );\n }\n\n return (\n <>\n <h2>Unexpected Application Error!</h2>\n <h3 style={{ fontStyle: \"italic\" }}>{message}</h3>\n {stack ? <pre style={preStyles}>{stack}</pre> : null}\n {devInfo}\n </>\n );\n}\n\nconst defaultErrorElement = <DefaultErrorComponent />;\n\ntype RenderErrorBoundaryProps = React.PropsWithChildren<{\n location: Location;\n revalidation: RevalidationState;\n error: any;\n component: React.ReactNode;\n routeContext: RouteContextObject;\n}>;\n\ntype RenderErrorBoundaryState = {\n location: Location;\n revalidation: RevalidationState;\n error: any;\n};\n\nexport class RenderErrorBoundary extends React.Component<\n RenderErrorBoundaryProps,\n RenderErrorBoundaryState\n> {\n constructor(props: RenderErrorBoundaryProps) {\n super(props);\n this.state = {\n location: props.location,\n revalidation: props.revalidation,\n error: props.error,\n };\n }\n\n static getDerivedStateFromError(error: any) {\n return { error: error };\n }\n\n static getDerivedStateFromProps(\n props: RenderErrorBoundaryProps,\n state: RenderErrorBoundaryState\n ) {\n // When we get into an error state, the user will likely click \"back\" to the\n // previous page that didn't have an error. Because this wraps the entire\n // application, that will have no effect--the error page continues to display.\n // This gives us a mechanism to recover from the error when the location changes.\n //\n // Whether we're in an error state or not, we update the location in state\n // so that when we are in an error state, it gets reset when a new location\n // comes in and the user recovers from the error.\n if (\n state.location !== props.location ||\n (state.revalidation !== \"idle\" && props.revalidation === \"idle\")\n ) {\n return {\n error: props.error,\n location: props.location,\n revalidation: props.revalidation,\n };\n }\n\n // If we're not changing locations, preserve the location but still surface\n // any new errors that may come through. We retain the existing error, we do\n // this because the error provided from the app state may be cleared without\n // the location changing.\n return {\n error: props.error !== undefined ? props.error : state.error,\n location: state.location,\n revalidation: props.revalidation || state.revalidation,\n };\n }\n\n componentDidCatch(error: any, errorInfo: any) {\n console.error(\n \"React Router caught the following error during render\",\n error,\n errorInfo\n );\n }\n\n render() {\n return this.state.error !== undefined ? (\n <RouteContext.Provider value={this.props.routeContext}>\n <RouteErrorContext.Provider\n value={this.state.error}\n children={this.props.component}\n />\n </RouteContext.Provider>\n ) : (\n this.props.children\n );\n }\n}\n\ninterface RenderedRouteProps {\n routeContext: RouteContextObject;\n match: RouteMatch<string, RouteObject>;\n children: React.ReactNode | null;\n}\n\nfunction RenderedRoute({ routeContext, match, children }: RenderedRouteProps) {\n let dataRouterContext = React.useContext(DataRouterContext);\n\n // Track how deep we got in our render pass to emulate SSR componentDidCatch\n // in a DataStaticRouter\n if (\n dataRouterContext &&\n dataRouterContext.static &&\n dataRouterContext.staticContext &&\n (match.route.errorElement || match.route.ErrorBoundary)\n ) {\n dataRouterContext.staticContext._deepestRenderedBoundaryId = match.route.id;\n }\n\n return (\n <RouteContext.Provider value={routeContext}>\n {children}\n </RouteContext.Provider>\n );\n}\n\nexport function _renderMatches(\n matches: RouteMatch[] | null,\n parentMatches: RouteMatch[] = [],\n dataRouterState: RemixRouter[\"state\"] | null = null,\n future: RemixRouter[\"future\"] | null = null\n): React.ReactElement | null {\n if (matches == null) {\n if (!dataRouterState) {\n return null;\n }\n\n if (dataRouterState.errors) {\n // Don't bail if we have data router errors so we can render them in the\n // boundary. Use the pre-matched (or shimmed) matches\n matches = dataRouterState.matches as DataRouteMatch[];\n } else if (\n future?.v7_partialHydration &&\n parentMatches.length === 0 &&\n !dataRouterState.initialized &&\n dataRouterState.matches.length > 0\n ) {\n // Don't bail if we're initializing with partial hydration and we have\n // router matches. That means we're actively running `patchRoutesOnNavigation`\n // so we should render down the partial matches to the appropriate\n // `HydrateFallback`. We only do this if `parentMatches` is empty so it\n // only impacts the root matches for `RouterProvider` and no descendant\n // `<Routes>`\n matches = dataRouterState.matches as DataRouteMatch[];\n } else {\n return null;\n }\n }\n\n let renderedMatches = matches;\n\n // If we have data errors, trim matches to the highest error boundary\n let errors = dataRouterState?.errors;\n if (errors != null) {\n let errorIndex = renderedMatches.findIndex(\n (m) => m.route.id && errors?.[m.route.id] !== undefined\n );\n invariant(\n errorIndex >= 0,\n `Could not find a matching route for errors on route IDs: ${Object.keys(\n errors\n ).join(\",\")}`\n );\n renderedMatches = renderedMatches.slice(\n 0,\n Math.min(renderedMatches.length, errorIndex + 1)\n );\n }\n\n // If we're in a partial hydration mode, detect if we need to render down to\n // a given HydrateFallback while we load the rest of the hydration data\n let renderFallback = false;\n let fallbackIndex = -1;\n if (dataRouterState && future && future.v7_partialHydration) {\n for (let i = 0; i < renderedMatches.length; i++) {\n let match = renderedMatches[i];\n // Track the deepest fallback up until the first route without data\n if (match.route.HydrateFallback || match.route.hydrateFallbackElement) {\n fallbackIndex = i;\n }\n\n if (match.route.id) {\n let { loaderData, errors } = dataRouterState;\n let needsToRunLoader =\n match.route.loader &&\n loaderData[match.route.id] === undefined &&\n (!errors || errors[match.route.id] === undefined);\n if (match.route.lazy || needsToRunLoader) {\n // We found the first route that's not ready to render (waiting on\n // lazy, or has a loader that hasn't run yet). Flag that we need to\n // render a fallback and render up until the appropriate fallback\n renderFallback = true;\n if (fallbackIndex >= 0) {\n renderedMatches = renderedMatches.slice(0, fallbackIndex + 1);\n } else {\n renderedMatches = [renderedMatches[0]];\n }\n break;\n }\n }\n }\n }\n\n return renderedMatches.reduceRight((outlet, match, index) => {\n // Only data routers handle errors/fallbacks\n let error: any;\n let shouldRenderHydrateFallback = false;\n let errorElement: React.ReactNode | null = null;\n let hydrateFallbackElement: React.ReactNode | null = null;\n if (dataRouterState) {\n error = errors && match.route.id ? errors[match.route.id] : undefined;\n errorElement = match.route.errorElement || defaultErrorElement;\n\n if (renderFallback) {\n if (fallbackIndex < 0 && index === 0) {\n warningOnce(\n \"route-fallback\",\n false,\n \"No `HydrateFallback` element provided to render during initial hydration\"\n );\n shouldRenderHydrateFallback = true;\n hydrateFallbackElement = null;\n } else if (fallbackIndex === index) {\n shouldRenderHydrateFallback = true;\n hydrateFallbackElement = match.route.hydrateFallbackElement || null;\n }\n }\n }\n\n let matches = parentMatches.concat(renderedMatches.slice(0, index + 1));\n let getChildren = () => {\n let children: React.ReactNode;\n if (error) {\n children = errorElement;\n } else if (shouldRenderHydrateFallback) {\n children = hydrateFallbackElement;\n } else if (match.route.Component) {\n // Note: This is a de-optimized path since React won't re-use the\n // ReactElement since it's identity changes with each new\n // React.createElement call. We keep this so folks can use\n // `<Route Component={...}>` in `<Routes>` but generally `Component`\n // usage is only advised in `RouterProvider` when we can convert it to\n // `element` ahead of time.\n children = <match.route.Component />;\n } else if (match.route.element) {\n children = match.route.element;\n } else {\n children = outlet;\n }\n return (\n <RenderedRoute\n match={match}\n routeContext={{\n outlet,\n matches,\n isDataRoute: dataRouterState != null,\n }}\n children={children}\n />\n );\n };\n // Only wrap in an error boundary within data router usages when we have an\n // ErrorBoundary/errorElement on this route. Otherwise let it bubble up to\n // an ancestor ErrorBoundary/errorElement\n return dataRouterState &&\n (match.route.ErrorBoundary || match.route.errorElement || index === 0) ? (\n <RenderErrorBoundary\n location={dataRouterState.location}\n revalidation={dataRouterState.revalidation}\n component={errorElement}\n error={error}\n children={getChildren()}\n routeContext={{ outlet: null, matches, isDataRoute: true }}\n />\n ) : (\n getChildren()\n );\n }, null as React.ReactElement | null);\n}\n\nenum DataRouterHook {\n UseBlocker = \"useBlocker\",\n UseRevalidator = \"useRevalidator\",\n UseNavigateStable = \"useNavigate\",\n}\n\nenum DataRouterStateHook {\n UseBlocker = \"useBlocker\",\n UseLoaderData = \"useLoaderData\",\n UseActionData = \"useActionData\",\n UseRouteError = \"useRouteError\",\n UseNavigation = \"useNavigation\",\n UseRouteLoaderData = \"useRouteLoaderData\",\n UseMatches = \"useMatches\",\n UseRevalidator = \"useRevalidator\",\n UseNavigateStable = \"useNavigate\",\n UseRouteId = \"useRouteId\",\n}\n\nfunction getDataRouterConsoleError(\n hookName: DataRouterHook | DataRouterStateHook\n) {\n return `${hookName} must be used within a data router. See https://reactrouter.com/v6/routers/picking-a-router.`;\n}\n\nfunction useDataRouterContext(hookName: DataRouterHook) {\n let ctx = React.useContext(DataRouterContext);\n invariant(ctx, getDataRouterConsoleError(hookName));\n return ctx;\n}\n\nfunction useDataRouterState(hookName: DataRouterStateHook) {\n let state = React.useContext(DataRouterStateContext);\n invariant(state, getDataRouterConsoleError(hookName));\n return state;\n}\n\nfunction useRouteContext(hookName: DataRouterStateHook) {\n let route = React.useContext(RouteContext);\n invariant(route, getDataRouterConsoleError(hookName));\n return route;\n}\n\n// Internal version with hookName-aware debugging\nfunction useCurrentRouteId(hookName: DataRouterStateHook) {\n let route = useRouteContext(hookName);\n let thisRoute = route.matches[route.matches.length - 1];\n invariant(\n thisRoute.route.id,\n `${hookName} can only be used on routes that contain a unique \"id\"`\n );\n return thisRoute.route.id;\n}\n\n/**\n * Returns the ID for the nearest contextual route\n */\nexport function useRouteId() {\n return useCurrentRouteId(DataRouterStateHook.UseRouteId);\n}\n\n/**\n * Returns the current navigation, defaulting to an \"idle\" navigation when\n * no navigation is in progress\n */\nexport function useNavigation() {\n let state = useDataRouterState(DataRouterStateHook.UseNavigation);\n return state.navigation;\n}\n\n/**\n * Returns a revalidate function for manually triggering revalidation, as well\n * as the current state of any manual revalidations\n */\nexport function useRevalidator() {\n let dataRouterContext = useDataRouterContext(DataRouterHook.UseRevalidator);\n let state = useDataRouterState(DataRouterStateHook.UseRevalidator);\n return React.useMemo(\n () => ({\n revalidate: dataRouterContext.router.revalidate,\n state: state.revalidation,\n }),\n [dataRouterContext.router.revalidate, state.revalidation]\n );\n}\n\n/**\n * Returns the active route matches, useful for accessing loaderData for\n * parent/child routes or the route \"handle\" property\n */\nexport function useMatches(): UIMatch[] {\n let { matches, loaderData } = useDataRouterState(\n DataRouterStateHook.UseMatches\n );\n return React.useMemo(\n () => matches.map((m) => convertRouteMatchToUiMatch(m, loaderData)),\n [matches, loaderData]\n );\n}\n\n/**\n * Returns the loader data for the nearest ancestor Route loader\n */\nexport function useLoaderData(): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseLoaderData);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseLoaderData);\n\n if (state.errors && state.errors[routeId] != null) {\n console.error(\n `You cannot \\`useLoaderData\\` in an errorElement (routeId: ${routeId})`\n );\n return undefined;\n }\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the loaderData for the given routeId\n */\nexport function useRouteLoaderData(routeId: string): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseRouteLoaderData);\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the action data for the nearest ancestor Route action\n */\nexport function useActionData(): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseActionData);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseLoaderData);\n return state.actionData ? state.actionData[routeId] : undefined;\n}\n\n/**\n * Returns the nearest ancestor Route error, which could be a loader/action\n * error or a render error. This is intended to be called from your\n * ErrorBoundary/errorElement to display a proper error message.\n */\nexport function useRouteError(): unknown {\n let error = React.useContext(RouteErrorContext);\n let state = useDataRouterState(DataRouterStateHook.UseRouteError);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseRouteError);\n\n // If this was a render error, we put it in a RouteError context inside\n // of RenderErrorBoundary\n if (error !== undefined) {\n return error;\n }\n\n // Otherwise look for errors from our data router state\n return state.errors?.[routeId];\n}\n\n/**\n * Returns the happy-path data from the nearest ancestor `<Await />` value\n */\nexport function useAsyncValue(): unknown {\n let value = React.useContext(AwaitContext);\n return value?._data;\n}\n\n/**\n * Returns the error from the nearest ancestor `<Await />` value\n */\nexport function useAsyncError(): unknown {\n let value = React.useContext(AwaitContext);\n return value?._error;\n}\n\nlet blockerId = 0;\n\n/**\n * Allow the application to block navigations within the SPA and present the\n * user a confirmation dialog to confirm the navigation. Mostly used to avoid\n * using half-filled form data. This does not handle hard-reloads or\n * cross-origin navigations.\n */\nexport function useBlocker(shouldBlock: boolean | BlockerFunction): Blocker {\n let { router, basename } = useDataRouterContext(DataRouterHook.UseBlocker);\n let state = useDataRouterState(DataRouterStateHook.UseBlocker);\n\n let [blockerKey, setBlockerKey] = React.useState(\"\");\n let blockerFunction = React.useCallback<BlockerFunction>(\n (arg) => {\n if (typeof shouldBlock !== \"function\") {\n return !!shouldBlock;\n }\n if (basename === \"/\") {\n return shouldBlock(arg);\n }\n\n // If they provided us a function and we've got an active basename, strip\n // it from the locations we expose to the user to match the behavior of\n // useLocation\n let { currentLocation, nextLocation, historyAction } = arg;\n return shouldBlock({\n currentLocation: {\n ...currentLocation,\n pathname:\n stripBasename(currentLocation.pathname, basename) ||\n currentLocation.pathname,\n },\n nextLocation: {\n ...nextLocation,\n pathname:\n stripBasename(nextLocation.pathname, basename) ||\n nextLocation.pathname,\n },\n historyAction,\n });\n },\n [basename, shouldBlock]\n );\n\n // This effect is in charge of blocker key assignment and deletion (which is\n // tightly coupled to the key)\n React.useEffect(() => {\n let key = String(++blockerId);\n setBlockerKey(key);\n return () => router.deleteBlocker(key);\n }, [router]);\n\n // This effect handles assigning the blockerFunction. This is to handle\n // unstable blocker function identities, and happens only after the prior\n // effect so we don't get an orphaned blockerFunction in the router with a\n // key of \"\". Until then we just have the IDLE_BLOCKER.\n React.useEffect(() => {\n if (blockerKey !== \"\") {\n router.getBlocker(blockerKey, blockerFunction);\n }\n }, [router, blockerKey, blockerFunction]);\n\n // Prefer the blocker from `state` not `router.state` since DataRouterContext\n // is memoized so this ensures we update on blocker state updates\n return blockerKey && state.blockers.has(blockerKey)\n ? state.blockers.get(blockerKey)!\n : IDLE_BLOCKER;\n}\n\n/**\n * Stable version of useNavigate that is used when we are in the context of\n * a RouterProvider.\n */\nfunction useNavigateStable(): NavigateFunction {\n let { router } = useDataRouterContext(DataRouterHook.UseNavigateStable);\n let id = useCurrentRouteId(DataRouterStateHook.UseNavigateStable);\n\n let activeRef = React.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(activeRef.current, navigateEffectWarning);\n\n // Short circuit here since if this happens on first render the navigate\n // is useless because we haven't wired up our router subscriber yet\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n router.navigate(to);\n } else {\n router.navigate(to, { fromRouteId: id, ...options });\n }\n },\n [router, id]\n );\n\n return navigate;\n}\n\nconst alreadyWarned: Record<string, boolean> = {};\n\nfunction warningOnce(key: string, cond: boolean, message: string) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n warning(false, message);\n }\n}\n","import type { FutureConfig as RouterFutureConfig } from \"@remix-run/router\";\nimport type { FutureConfig as RenderFutureConfig } from \"./components\";\n\nconst alreadyWarned: { [key: string]: boolean } = {};\n\nexport function warnOnce(key: string, message: string): void {\n if (__DEV__ && !alreadyWarned[message]) {\n alreadyWarned[message] = true;\n console.warn(message);\n }\n}\n\nconst logDeprecation = (flag: string, msg: string, link: string) =>\n warnOnce(\n flag,\n `⚠️ React Router Future Flag Warning: ${msg}. ` +\n `You can use the \\`${flag}\\` future flag to opt-in early. ` +\n `For more information, see ${link}.`\n );\n\nexport function logV6DeprecationWarnings(\n renderFuture: Partial<RenderFutureConfig> | undefined,\n routerFuture?: Omit<RouterFutureConfig, \"v7_prependBasename\">\n) {\n if (renderFuture?.v7_startTransition === undefined) {\n logDeprecation(\n \"v7_startTransition\",\n \"React Router will begin wrapping state updates in `React.startTransition` in v7\",\n \"https://reactrouter.com/v6/upgrading/future#v7_starttransition\"\n );\n }\n\n if (\n renderFuture?.v7_relativeSplatPath === undefined &&\n (!routerFuture || !routerFuture.v7_relativeSplatPath)\n ) {\n logDeprecation(\n \"v7_relativeSplatPath\",\n \"Relative route resolution within Splat routes is changing in v7\",\n \"https://reactrouter.com/v6/upgrading/future#v7_relativesplatpath\"\n );\n }\n\n if (routerFuture) {\n if (routerFuture.v7_fetcherPersist === undefined) {\n logDeprecation(\n \"v7_fetcherPersist\",\n \"The persistence behavior of fetchers is changing in v7\",\n \"https://reactrouter.com/v6/upgrading/future#v7_fetcherpersist\"\n );\n }\n\n if (routerFuture.v7_normalizeFormMethod === undefined) {\n logDeprecation(\n \"v7_normalizeFormMethod\",\n \"Casing of `formMethod` fields is being normalized to uppercase in v7\",\n \"https://reactrouter.com/v6/upgrading/future#v7_normalizeformmethod\"\n );\n }\n\n if (routerFuture.v7_partialHydration === undefined) {\n logDeprecation(\n \"v7_partialHydration\",\n \"`RouterProvider` hydration behavior is changing in v7\",\n \"https://reactrouter.com/v6/upgrading/future#v7_partialhydration\"\n );\n }\n\n if (routerFuture.v7_skipActionErrorRevalidation === undefined) {\n logDeprecation(\n \"v7_skipActionErrorRevalidation\",\n \"The revalidation behavior after 4xx/5xx `action` responses is changing in v7\",\n \"https://reactrouter.com/v6/upgrading/future#v7_skipactionerrorrevalidation\"\n );\n }\n }\n}\n","import type {\n InitialEntry,\n LazyRouteFunction,\n Location,\n MemoryHistory,\n RelativeRoutingType,\n Router as RemixRouter,\n RouterState,\n RouterSubscriber,\n To,\n TrackedPromise,\n} from \"@remix-run/router\";\nimport {\n AbortedDeferredError,\n Action as NavigationType,\n createMemoryHistory,\n UNSAFE_getResolveToMatches as getResolveToMatches,\n UNSAFE_invariant as invariant,\n parsePath,\n resolveTo,\n stripBasename,\n UNSAFE_warning as warning,\n} from \"@remix-run/router\";\nimport * as React from \"react\";\n\nimport type {\n DataRouteObject,\n IndexRouteObject,\n Navigator,\n NonIndexRouteObject,\n RouteMatch,\n RouteObject,\n} from \"./context\";\nimport {\n AwaitContext,\n DataRouterContext,\n DataRouterStateContext,\n LocationContext,\n NavigationContext,\n RouteContext,\n} from \"./context\";\nimport {\n _renderMatches,\n useAsyncValue,\n useInRouterContext,\n useLocation,\n useNavigate,\n useOutlet,\n useRoutes,\n useRoutesImpl,\n} from \"./hooks\";\nimport { logV6DeprecationWarnings } from \"./deprecations\";\n\nexport interface FutureConfig {\n v7_relativeSplatPath: boolean;\n v7_startTransition: boolean;\n}\n\nexport interface RouterProviderProps {\n fallbackElement?: React.ReactNode;\n router: RemixRouter;\n // Only accept future flags relevant to rendering behavior\n // routing flags should be accessed via router.future\n future?: Partial<Pick<FutureConfig, \"v7_startTransition\">>;\n}\n\n/**\n Webpack + React 17 fails to compile on any of the following because webpack\n complains that `startTransition` doesn't exist in `React`:\n * import { startTransition } from \"react\"\n * import * as React from from \"react\";\n \"startTransition\" in React ? React.startTransition(() => setState()) : setState()\n * import * as React from from \"react\";\n \"startTransition\" in React ? React[\"startTransition\"](() => setState()) : setState()\n\n Moving it to a constant such as the following solves the Webpack/React 17 issue:\n * import * as React from from \"react\";\n const START_TRANSITION = \"startTransition\";\n START_TRANSITION in React ? React[START_TRANSITION](() => setState()) : setState()\n\n However, that introduces webpack/terser minification issues in production builds\n in React 18 where minification/obfuscation ends up removing the call of\n React.startTransition entirely from the first half of the ternary. Grabbing\n this exported reference once up front resolves that issue.\n\n See https://github.com/remix-run/react-router/issues/10579\n*/\nconst START_TRANSITION = \"startTransition\";\nconst startTransitionImpl = React[START_TRANSITION];\n\n/**\n * Given a Remix Router instance, render the appropriate UI\n */\nexport function RouterProvider({\n fallbackElement,\n router,\n future,\n}: RouterProviderProps): React.ReactElement {\n let [state, setStateImpl] = React.useState(router.state);\n let { v7_startTransition } = future || {};\n\n let setState = React.useCallback<RouterSubscriber>(\n (newState: RouterState) => {\n if (v7_startTransition && startTransitionImpl) {\n startTransitionImpl(() => setStateImpl(newState));\n } else {\n setStateImpl(newState);\n }\n },\n [setStateImpl, v7_startTransition]\n );\n\n // Need to use a layout effect here so we are subscribed early enough to\n // pick up on any render-driven redirects/navigations (useEffect/<Navigate>)\n React.useLayoutEffect(() => router.subscribe(setState), [router, setState]);\n\n React.useEffect(() => {\n warning(\n fallbackElement == null || !router.future.v7_partialHydration,\n \"`<RouterProvider fallbackElement>` is deprecated when using \" +\n \"`v7_partialHydration`, use a `HydrateFallback` component instead\"\n );\n // Only log this once on initial mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n let navigator = React.useMemo((): Navigator => {\n return {\n createHref: router.createHref,\n encodeLocation: router.encodeLocation,\n go: (n) => router.navigate(n),\n push: (to, state, opts) =>\n router.navigate(to, {\n state,\n preventScrollReset: opts?.preventScrollReset,\n }),\n replace: (to, state, opts) =>\n router.navigate(to, {\n replace: true,\n state,\n preventScrollReset: opts?.preventScrollReset,\n }),\n };\n }, [router]);\n\n let basename = router.basename || \"/\";\n\n let dataRouterContext = React.useMemo(\n () => ({\n router,\n navigator,\n static: false,\n basename,\n }),\n [router, navigator, basename]\n );\n\n React.useEffect(\n () => logV6DeprecationWarnings(future, router.future),\n [router, future]\n );\n\n // The fragment and {null} here are important! We need them to keep React 18's\n // useId happy when we are server-rendering since we may have a <script> here\n // containing the hydrated server-side staticContext (from StaticRouterProvider).\n // useId relies on the component tree structure to generate deterministic id's\n // so we need to ensure it remains the same on the client even though\n // we don't need the <script> tag\n return (\n <>\n <DataRouterContext.Provider value={dataRouterContext}>\n <DataRouterStateContext.Provider value={state}>\n <Router\n basename={basename}\n location={state.location}\n navigationType={state.historyAction}\n navigator={navigator}\n future={{\n v7_relativeSplatPath: router.future.v7_relativeSplatPath,\n }}\n >\n {state.initialized || router.future.v7_partialHydration ? (\n <DataRoutes\n routes={router.routes}\n future={router.future}\n state={state}\n />\n ) : (\n fallbackElement\n )}\n </Router>\n </DataRouterStateContext.Provider>\n </DataRouterContext.Provider>\n {null}\n </>\n );\n}\n\nfunction DataRoutes({\n routes,\n future,\n state,\n}: {\n routes: DataRouteObject[];\n future: RemixRouter[\"future\"];\n state: RouterState;\n}): React.ReactElement | null {\n return useRoutesImpl(routes, undefined, state, future);\n}\n\nexport interface MemoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n future?: Partial<FutureConfig>;\n}\n\n/**\n * A `<Router>` that stores all entries in memory.\n *\n * @see https://reactrouter.com/v6/router-components/memory-router\n */\nexport function MemoryRouter({\n basename,\n children,\n initialEntries,\n initialIndex,\n future,\n}: MemoryRouterProps): React.ReactElement {\n let historyRef = React.useRef<MemoryHistory>();\n if (historyRef.current == null) {\n historyRef.current = createMemoryHistory({\n initialEntries,\n initialIndex,\n v5Compat: true,\n });\n }\n\n let history = historyRef.current;\n let [state, setStateImpl] = React.useState({\n action: history.action,\n location: history.location,\n });\n let { v7_startTransition } = future || {};\n let setState = React.useCallback(\n (newState: { action: NavigationType; location: Location }) => {\n v7_startTransition && startTransitionImpl\n ? startTransitionImpl(() => setStateImpl(newState))\n : setStateImpl(newState);\n },\n [setStateImpl, v7_startTransition]\n );\n\n React.useLayoutEffect(() => history.listen(setState), [history, setState]);\n\n React.useEffect(() => logV6DeprecationWarnings(future), [future]);\n\n return (\n <Router\n basename={basename}\n children={children}\n location={state.location}\n navigationType={state.action}\n navigator={history}\n future={future}\n />\n );\n}\n\nexport interface NavigateProps {\n to: To;\n replace?: boolean;\n state?: any;\n relative?: RelativeRoutingType;\n}\n\n/**\n * Changes the current location.\n *\n * Note: This API is mostly useful in React.Component subclasses that are not\n * able to use hooks. In functional components, we recommend you use the\n * `useNavigate` hook instead.\n *\n * @see https://reactrouter.com/v6/components/navigate\n */\nexport function Navigate({\n to,\n replace,\n state,\n relative,\n}: NavigateProps): null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of\n // the router loaded. We can help them understand how to avoid that.\n `<Navigate> may be used only in the context of a <Router> component.`\n );\n\n let { future, static: isStatic } = React.useContext(NavigationContext);\n\n warning(\n !isStatic,\n `<Navigate> must not be used on the initial render in a <StaticRouter>. ` +\n `This is a no-op, but you should modify your code so the <Navigate> is ` +\n `only ever rendered in response to some user interaction or state change.`\n );\n\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n let navigate = useNavigate();\n\n // Resolve the path outside of the effect so that when effects run twice in\n // StrictMode they navigate to the same place\n let path = resolveTo(\n to,\n getResolveToMatches(matches, future.v7_relativeSplatPath),\n locationPathname,\n relative === \"path\"\n );\n let jsonPath = JSON.stringify(path);\n\n React.useEffect(\n () => navigate(JSON.parse(jsonPath), { replace, state, relative }),\n [navigate, jsonPath, relative, replace, state]\n );\n\n return null;\n}\n\nexport interface OutletProps {\n context?: unknown;\n}\n\n/**\n * Renders the child route's element, if there is one.\n *\n * @see https://reactrouter.com/v6/components/outlet\n */\nexport function Outlet(props: OutletProps): React.ReactElement | null {\n return useOutlet(props.context);\n}\n\nexport interface PathRouteProps {\n caseSensitive?: NonIndexRouteObject[\"caseSensitive\"];\n path?: NonIndexRouteObject[\"path\"];\n id?: NonIndexRouteObject[\"id\"];\n lazy?: LazyRouteFunction<NonIndexRouteObject>;\n loader?: NonIndexRouteObject[\"loader\"];\n action?: NonIndexRouteObject[\"action\"];\n hasErrorBoundary?: NonIndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: NonIndexRouteObject[\"shouldRevalidate\"];\n handle?: NonIndexRouteObject[\"handle\"];\n index?: false;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n hydrateFallbackElement?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n Component?: React.ComponentType | null;\n HydrateFallback?: React.ComponentType | null;\n ErrorBoundary?: React.ComponentType | null;\n}\n\nexport interface LayoutRouteProps extends PathRouteProps {}\n\nexport interface IndexRouteProps {\n caseSensitive?: IndexRouteObject[\"caseSensitive\"];\n path?: IndexRouteObject[\"path\"];\n id?: IndexRouteObject[\"id\"];\n lazy?: LazyRouteFunction<IndexRouteObject>;\n loader?: IndexRouteObject[\"loader\"];\n action?: IndexRouteObject[\"action\"];\n hasErrorBoundary?: IndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: IndexRouteObject[\"shouldRevalidate\"];\n handle?: IndexRouteObject[\"handle\"];\n index: true;\n children?: undefined;\n element?: React.ReactNode | null;\n hydrateFallbackElement?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n Component?: React.ComponentType | null;\n HydrateFallback?: React.ComponentType | null;\n ErrorBoundary?: React.ComponentType | null;\n}\n\nexport type RouteProps = PathRouteProps | LayoutRouteProps | IndexRouteProps;\n\n/**\n * Declares an element that should be rendered at a certain URL path.\n *\n * @see https://reactrouter.com/v6/components/route\n */\nexport function Route(_props: RouteProps): React.ReactElement | null {\n invariant(\n false,\n `A <Route> is only ever to be used as the child of <Routes> element, ` +\n `never rendered directly. Please wrap your <Route> in a <Routes>.`\n );\n}\n\nexport interface RouterProps {\n basename?: string;\n children?: React.ReactNode;\n location: Partial<Location> | string;\n navigationType?: NavigationType;\n navigator: Navigator;\n static?: boolean;\n future?: Partial<Pick<FutureConfig, \"v7_relativeSplatPath\">>;\n}\n\n/**\n * Provides location context for the rest of the app.\n *\n * Note: You usually won't render a `<Router>` directly. Instead, you'll render a\n * router that is more specific to your environment such as a `<BrowserRouter>`\n * in web browsers or a `<StaticRouter>` for server rendering.\n *\n * @see https://reactrouter.com/v6/router-components/router\n */\nexport function Router({\n basename: basenameProp = \"/\",\n children = null,\n location: locationProp,\n navigationType = NavigationType.Pop,\n navigator,\n static: staticProp = false,\n future,\n}: RouterProps): React.ReactElement | null {\n invariant(\n !useInRouterContext(),\n `You cannot render a <Router> inside another <Router>.` +\n ` You should never have more than one in your app.`\n );\n\n // Preserve trailing slashes on basename, so we can let the user control\n // the enforcement of trailing slashes throughout the app\n let basename = basenameProp.replace(/^\\/*/, \"/\");\n let navigationContext = React.useMemo(\n () => ({\n basename,\n navigator,\n static: staticProp,\n future: {\n v7_relativeSplatPath: false,\n ...future,\n },\n }),\n [basename, future, navigator, staticProp]\n );\n\n if (typeof locationProp === \"string\") {\n locationProp = parsePath(locationProp);\n }\n\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n state = null,\n key = \"default\",\n } = locationProp;\n\n let locationContext = React.useMemo(() => {\n let trailingPathname = stripBasename(pathname, basename);\n\n if (trailingPathname == null) {\n return null;\n }\n\n return {\n location: {\n pathname: trailingPathname,\n search,\n hash,\n state,\n key,\n },\n navigationType,\n };\n }, [basename, pathname, search, hash, state, key, navigationType]);\n\n warning(\n locationContext != null,\n `<Router basename=\"${basename}\"> is not able to match the URL ` +\n `\"${pathname}${search}${hash}\" because it does not start with the ` +\n `basename, so the <Router> won't render anything.`\n );\n\n if (locationContext == null) {\n return null;\n }\n\n return (\n <NavigationContext.Provider value={navigationContext}>\n <LocationContext.Provider children={children} value={locationContext} />\n </NavigationContext.Provider>\n );\n}\n\nexport interface RoutesProps {\n children?: React.ReactNode;\n location?: Partial<Location> | string;\n}\n\n/**\n * A container for a nested tree of `<Route>` elements that renders the branch\n * that best matches the current location.\n *\n * @see https://reactrouter.com/v6/components/routes\n */\nexport function Routes({\n children,\n location,\n}: RoutesProps): React.ReactElement | null {\n return useRoutes(createRoutesFromChildren(children), location);\n}\n\nexport interface AwaitResolveRenderFunction {\n (data: Awaited<any>): React.ReactNode;\n}\n\nexport interface AwaitProps {\n children: React.ReactNode | AwaitResolveRenderFunction;\n errorElement?: React.ReactNode;\n resolve: TrackedPromise | any;\n}\n\n/**\n * Component to use for rendering lazily loaded data from returning defer()\n * in a loader function\n */\nexport function Await({ children, errorElement, resolve }: AwaitProps) {\n return (\n <AwaitErrorBoundary resolve={resolve} errorElement={errorElement}>\n <ResolveAwait>{children}</ResolveAwait>\n </AwaitErrorBoundary>\n );\n}\n\ntype AwaitErrorBoundaryProps = React.PropsWithChildren<{\n errorElement?: React.ReactNode;\n resolve: TrackedPromise | any;\n}>;\n\ntype AwaitErrorBoundaryState = {\n error: any;\n};\n\nenum AwaitRenderStatus {\n pending,\n success,\n error,\n}\n\nconst neverSettledPromise = new Promise(() => {});\n\nclass AwaitErrorBoundary extends React.Component<\n AwaitErrorBoundaryProps,\n AwaitErrorBoundaryState\n> {\n constructor(props: AwaitErrorBoundaryProps) {\n super(props);\n this.state = { error: null };\n }\n\n static getDerivedStateFromError(error: any) {\n return { error };\n }\n\n componentDidCatch(error: any, errorInfo: any) {\n console.error(\n \"<Await> caught the following error during render\",\n error,\n errorInfo\n );\n }\n\n render() {\n let { children, errorElement, resolve } = this.props;\n\n let promise: TrackedPromise | null = null;\n let status: AwaitRenderStatus = AwaitRenderStatus.pending;\n\n if (!(resolve instanceof Promise)) {\n // Didn't get a promise - provide as a resolved promise\n status = AwaitRenderStatus.success;\n promise = Promise.resolve();\n Object.defineProperty(promise, \"_tracked\", { get: () => true });\n Object.defineProperty(promise, \"_data\", { get: () => resolve });\n } else if (this.state.error) {\n // Caught a render error, provide it as a rejected promise\n status = AwaitRenderStatus.error;\n let renderError = this.state.error;\n promise = Promise.reject().catch(() => {}); // Avoid unhandled rejection warnings\n Object.defineProperty(promise, \"_tracked\", { get: () => true });\n Object.defineProperty(promise, \"_error\", { get: () => renderError });\n } else if ((resolve as TrackedPromise)._tracked) {\n // Already tracked promise - check contents\n promise = resolve;\n status =\n \"_error\" in promise\n ? AwaitRenderStatus.error\n : \"_data\" in promise\n ? AwaitRenderStatus.success\n : AwaitRenderStatus.pending;\n } else {\n // Raw (untracked) promise - track it\n status = AwaitRenderStatus.pending;\n Object.defineProperty(resolve, \"_tracked\", { get: () => true });\n promise = resolve.then(\n (data: any) =>\n Object.defineProperty(resolve, \"_data\", { get: () => data }),\n (error: any) =>\n Object.defineProperty(resolve, \"_error\", { get: () => error })\n );\n }\n\n if (\n status === AwaitRenderStatus.error &&\n promise._error instanceof AbortedDeferredError\n ) {\n // Freeze the UI by throwing a never resolved promise\n throw neverSettledPromise;\n }\n\n if (status === AwaitRenderStatus.error && !errorElement) {\n // No errorElement, throw to the nearest route-level error boundary\n throw promise._error;\n }\n\n if (status === AwaitRenderStatus.error) {\n // Render via our errorElement\n return <AwaitContext.Provider value={promise} children={errorElement} />;\n }\n\n if (status === AwaitRenderStatus.success) {\n // Render children with resolved value\n return <AwaitContext.Provider value={promise} children={children} />;\n }\n\n // Throw to the suspense boundary\n throw promise;\n }\n}\n\n/**\n * @private\n * Indirection to leverage useAsyncValue for a render-prop API on `<Await>`\n */\nfunction ResolveAwait({\n children,\n}: {\n children: React.ReactNode | AwaitResolveRenderFunction;\n}) {\n let data = useAsyncValue();\n let toRender = typeof children === \"function\" ? children(data) : children;\n return <>{toRender}</>;\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// UTILS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Creates a route config from a React \"children\" object, which is usually\n * either a `<Route>` element or an array of them. Used internally by\n * `<Routes>` to create a route config from its children.\n *\n * @see https://reactrouter.com/v6/utils/create-routes-from-children\n */\nexport function createRoutesFromChildren(\n children: React.ReactNode,\n parentPath: number[] = []\n): RouteObject[] {\n let routes: RouteObject[] = [];\n\n React.Children.forEach(children, (element, index) => {\n if (!React.isValidElement(element)) {\n // Ignore non-elements. This allows people to more easily inline\n // conditionals in their route config.\n return;\n }\n\n let treePath = [...parentPath, index];\n\n if (element.type === React.Fragment) {\n // Transparently support React.Fragment and its children.\n routes.push.apply(\n routes,\n createRoutesFromChildren(element.props.children, treePath)\n );\n return;\n }\n\n invariant(\n element.type === Route,\n `[${\n typeof element.type === \"string\" ? element.type : element.type.name\n }] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`\n );\n\n invariant(\n !element.props.index || !element.props.children,\n \"An index route cannot have child routes.\"\n );\n\n let route: RouteObject = {\n id: element.props.id || treePath.join(\"-\"),\n caseSensitive: element.props.caseSensitive,\n element: element.props.element,\n Component: element.props.Component,\n index: element.props.index,\n path: element.props.path,\n loader: element.props.loader,\n action: element.props.action,\n errorElement: element.props.errorElement,\n ErrorBoundary: element.props.ErrorBoundary,\n hasErrorBoundary:\n element.props.ErrorBoundary != null ||\n element.props.errorElement != null,\n shouldRevalidate: element.props.shouldRevalidate,\n handle: element.props.handle,\n lazy: element.props.lazy,\n };\n\n if (element.props.children) {\n route.children = createRoutesFromChildren(\n element.props.children,\n treePath\n );\n }\n\n routes.push(route);\n });\n\n return routes;\n}\n\n/**\n * Renders the result of `matchRoutes()` into a React element.\n */\nexport function renderMatches(\n matches: RouteMatch[] | null\n): React.ReactElement | null {\n return _renderMatches(matches);\n}\n","import type {\n FormEncType,\n HTMLFormMethod,\n RelativeRoutingType,\n} from \"@remix-run/router\";\nimport { stripBasename, UNSAFE_warning as warning } from \"@remix-run/router\";\n\nexport const defaultMethod: HTMLFormMethod = \"get\";\nconst defaultEncType: FormEncType = \"application/x-www-form-urlencoded\";\n\nexport function isHtmlElement(object: any): object is HTMLElement {\n return object != null && typeof object.tagName === \"string\";\n}\n\nexport function isButtonElement(object: any): object is HTMLButtonElement {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"button\";\n}\n\nexport function isFormElement(object: any): object is HTMLFormElement {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"form\";\n}\n\nexport function isInputElement(object: any): object is HTMLInputElement {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"input\";\n}\n\ntype LimitedMouseEvent = Pick<\n MouseEvent,\n \"button\" | \"metaKey\" | \"altKey\" | \"ctrlKey\" | \"shiftKey\"\n>;\n\nfunction isModifiedEvent(event: LimitedMouseEvent) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nexport function shouldProcessLinkClick(\n event: LimitedMouseEvent,\n target?: string\n) {\n return (\n event.button === 0 && // Ignore everything but left clicks\n (!target || target === \"_self\") && // Let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // Ignore clicks with modifier keys\n );\n}\n\nexport type ParamKeyValuePair = [string, string];\n\nexport type URLSearchParamsInit =\n | string\n | ParamKeyValuePair[]\n | Record<string, string | string[]>\n | URLSearchParams;\n\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n * let searchParams = new URLSearchParams([\n * ['sort', 'name'],\n * ['sort', 'price']\n * ]);\n *\n * you can do:\n *\n * let searchParams = createSearchParams({\n * sort: ['name', 'price']\n * });\n */\nexport function createSearchParams(\n init: URLSearchParamsInit = \"\"\n): URLSearchParams {\n return new URLSearchParams(\n typeof init === \"string\" ||\n Array.isArray(init) ||\n init instanceof URLSearchParams\n ? init\n : Object.keys(init).reduce((memo, key) => {\n let value = init[key];\n return memo.concat(\n Array.isArray(value) ? value.map((v) => [key, v]) : [[key, value]]\n );\n }, [] as ParamKeyValuePair[])\n );\n}\n\nexport function getSearchParamsForLocation(\n locationSearch: string,\n defaultSearchParams: URLSearchParams | null\n) {\n let searchParams = createSearchParams(locationSearch);\n\n if (defaultSearchParams) {\n // Use `defaultSearchParams.forEach(...)` here instead of iterating of\n // `defaultSearchParams.keys()` to work-around a bug in Firefox related to\n // web extensions. Relevant Bugzilla tickets:\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1414602\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1023984\n defaultSearchParams.forEach((_, key) => {\n if (!searchParams.has(key)) {\n defaultSearchParams.getAll(key).forEach((value) => {\n searchParams.append(key, value);\n });\n }\n });\n }\n\n return searchParams;\n}\n\n// Thanks https://github.com/sindresorhus/type-fest!\ntype JsonObject = { [Key in string]: JsonValue } & {\n [Key in string]?: JsonValue | undefined;\n};\ntype JsonArray = JsonValue[] | readonly JsonValue[];\ntype JsonPrimitive = string | number | boolean | null;\ntype JsonValue = JsonPrimitive | JsonObject | JsonArray;\n\nexport type SubmitTarget =\n | HTMLFormElement\n | HTMLButtonElement\n | HTMLInputElement\n | FormData\n | URLSearchParams\n | JsonValue\n | null;\n\n// One-time check for submitter support\nlet _formDataSupportsSubmitter: boolean | null = null;\n\nfunction isFormDataSubmitterSupported() {\n if (_formDataSupportsSubmitter === null) {\n try {\n new FormData(\n document.createElement(\"form\"),\n // @ts-expect-error if FormData supports the submitter parameter, this will throw\n 0\n );\n _formDataSupportsSubmitter = false;\n } catch (e) {\n _formDataSupportsSubmitter = true;\n }\n }\n return _formDataSupportsSubmitter;\n}\n\n/**\n * Submit options shared by both navigations and fetchers\n */\ninterface SharedSubmitOptions {\n /**\n * The HTTP method used to submit the form. Overrides `<form method>`.\n * Defaults to \"GET\".\n */\n method?: HTMLFormMethod;\n\n /**\n * The action URL path used to submit the form. Overrides `<form action>`.\n * Defaults to the path of the current route.\n */\n action?: string;\n\n /**\n * The encoding used to submit the form. Overrides `<form encType>`.\n * Defaults to \"application/x-www-form-urlencoded\".\n */\n encType?: FormEncType;\n\n /**\n * Determines whether the form action is relative to the route hierarchy or\n * the pathname. Use this if you want to opt out of navigating the route\n * hierarchy and want to instead route based on /-delimited URL segments\n */\n relative?: RelativeRoutingType;\n\n /**\n * In browser-based environments, prevent resetting scroll after this\n * navigation when using the <ScrollRestoration> component\n */\n preventScrollReset?: boolean;\n\n /**\n * Enable flushSync for this submission's state updates\n */\n flushSync?: boolean;\n}\n\n/**\n * Submit options available to fetchers\n */\nexport interface FetcherSubmitOptions extends SharedSubmitOptions {}\n\n/**\n * Submit options available to navigations\n */\nexport interface SubmitOptions extends FetcherSubmitOptions {\n /**\n * Set `true` to replace the current entry in the browser's history stack\n * instead of creating a new one (i.e. stay on \"the same page\"). Defaults\n * to `false`.\n */\n replace?: boolean;\n\n /**\n * State object to add to the history stack entry for this navigation\n */\n state?: any;\n\n /**\n * Indicate a specific fetcherKey to use when using navigate=false\n */\n fetcherKey?: string;\n\n /**\n * navigate=false will use a fetcher instead of a navigation\n */\n navigate?: boolean;\n\n /**\n * Enable view transitions on this submission navigation\n */\n viewTransition?: boolean;\n}\n\nconst supportedFormEncTypes: Set<FormEncType> = new Set([\n \"application/x-www-form-urlencoded\",\n \"multipart/form-data\",\n \"text/plain\",\n]);\n\nfunction getFormEncType(encType: string | null) {\n if (encType != null && !supportedFormEncTypes.has(encType as FormEncType)) {\n warning(\n false,\n `\"${encType}\" is not a valid \\`encType\\` for \\`<Form>\\`/\\`<fetcher.Form>\\` ` +\n `and will default to \"${defaultEncType}\"`\n );\n\n return null;\n }\n return encType;\n}\n\nexport function getFormSubmissionInfo(\n target: SubmitTarget,\n basename: string\n): {\n action: string | null;\n method: string;\n encType: string;\n formData: FormData | undefined;\n body: any;\n} {\n let method: string;\n let action: string | null;\n let encType: string;\n let formData: FormData | undefined;\n let body: any;\n\n if (isFormElement(target)) {\n // When grabbing the action from the element, it will have had the basename\n // prefixed to ensure non-JS scenarios work, so strip it since we'll\n // re-prefix in the router\n let attr = target.getAttribute(\"action\");\n action = attr ? stripBasename(attr, basename) : null;\n method = target.getAttribute(\"method\") || defaultMethod;\n encType = getFormEncType(target.getAttribute(\"enctype\")) || defaultEncType;\n\n formData = new FormData(target);\n } else if (\n isButtonElement(target) ||\n (isInputElement(target) &&\n (target.type === \"submit\" || target.type === \"image\"))\n ) {\n let form = target.form;\n\n if (form == null) {\n throw new Error(\n `Cannot submit a <button> or <input type=\"submit\"> without a <form>`\n );\n }\n\n // <button>/<input type=\"submit\"> may override attributes of <form>\n\n // When grabbing the action from the element, it will have had the basename\n // prefixed to ensure non-JS scenarios work, so strip it since we'll\n // re-prefix in the router\n let attr = target.getAttribute(\"formaction\") || form.getAttribute(\"action\");\n action = attr ? stripBasename(attr, basename) : null;\n\n method =\n target.getAttribute(\"formmethod\") ||\n form.getAttribute(\"method\") ||\n defaultMethod;\n encType =\n getFormEncType(target.getAttribute(\"formenctype\")) ||\n getFormEncType(form.getAttribute(\"enctype\")) ||\n defaultEncType;\n\n // Build a FormData object populated from a form and submitter\n formData = new FormData(form, target);\n\n // If this browser doesn't support the `FormData(el, submitter)` format,\n // then tack on the submitter value at the end. This is a lightweight\n // solution that is not 100% spec compliant. For complete support in older\n // browsers, consider using the `formdata-submitter-polyfill` package\n if (!isFormDataSubmitterSupported()) {\n let { name, type, value } = target;\n if (type === \"image\") {\n let prefix = name ? `${name}.` : \"\";\n formData.append(`${prefix}x`, \"0\");\n formData.append(`${prefix}y`, \"0\");\n } else if (name) {\n formData.append(name, value);\n }\n }\n } else if (isHtmlElement(target)) {\n throw new Error(\n `Cannot submit element that is not <form>, <button>, or ` +\n `<input type=\"submit|image\">`\n );\n } else {\n method = defaultMethod;\n action = null;\n encType = defaultEncType;\n body = target;\n }\n\n // Send body for <Form encType=\"text/plain\" so we encode it into text\n if (formData && encType === \"text/plain\") {\n body = formData;\n formData = undefined;\n }\n\n return { action, method: method.toLowerCase(), encType, formData, body };\n}\n","/**\n * NOTE: If you refactor this to split up the modules into separate files,\n * you'll need to update the rollup config for react-router-dom-v5-compat.\n */\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport type {\n DataRouteObject,\n FutureConfig,\n Location,\n NavigateOptions,\n NavigationType,\n Navigator,\n RelativeRoutingType,\n RouteObject,\n RouterProps,\n RouterProviderProps,\n To,\n DataStrategyFunction,\n PatchRoutesOnNavigationFunction,\n} from \"react-router\";\nimport {\n Router,\n createPath,\n useHref,\n useLocation,\n useMatches,\n useNavigate,\n useNavigation,\n useResolvedPath,\n useBlocker,\n UNSAFE_DataRouterContext as DataRouterContext,\n UNSAFE_DataRouterStateContext as DataRouterStateContext,\n UNSAFE_NavigationContext as NavigationContext,\n UNSAFE_RouteContext as RouteContext,\n UNSAFE_logV6DeprecationWarnings as logV6DeprecationWarnings,\n UNSAFE_mapRouteProperties as mapRouteProperties,\n UNSAFE_useRouteId as useRouteId,\n UNSAFE_useRoutesImpl as useRoutesImpl,\n} from \"react-router\";\nimport type {\n BrowserHistory,\n Fetcher,\n FormEncType,\n FormMethod,\n FutureConfig as RouterFutureConfig,\n GetScrollRestorationKeyFunction,\n HashHistory,\n History,\n HTMLFormMethod,\n HydrationState,\n Router as RemixRouter,\n V7_FormMethod,\n RouterState,\n RouterSubscriber,\n BlockerFunction,\n} from \"@remix-run/router\";\nimport {\n createRouter,\n createBrowserHistory,\n createHashHistory,\n joinPaths,\n stripBasename,\n UNSAFE_ErrorResponseImpl as ErrorResponseImpl,\n UNSAFE_invariant as invariant,\n UNSAFE_warning as warning,\n matchPath,\n IDLE_FETCHER,\n} from \"@remix-run/router\";\n\nimport type {\n SubmitOptions,\n ParamKeyValuePair,\n URLSearchParamsInit,\n SubmitTarget,\n FetcherSubmitOptions,\n} from \"./dom\";\nimport {\n createSearchParams,\n defaultMethod,\n getFormSubmissionInfo,\n getSearchParamsForLocation,\n shouldProcessLinkClick,\n} from \"./dom\";\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Re-exports\n////////////////////////////////////////////////////////////////////////////////\n\nexport type {\n FormEncType,\n FormMethod,\n GetScrollRestorationKeyFunction,\n ParamKeyValuePair,\n SubmitOptions,\n URLSearchParamsInit,\n V7_FormMethod,\n};\nexport { createSearchParams, ErrorResponseImpl as UNSAFE_ErrorResponseImpl };\n\n// Note: Keep in sync with react-router exports!\nexport type {\n ActionFunction,\n ActionFunctionArgs,\n AwaitProps,\n Blocker,\n BlockerFunction,\n DataRouteMatch,\n DataRouteObject,\n DataStrategyFunction,\n DataStrategyFunctionArgs,\n DataStrategyMatch,\n DataStrategyResult,\n ErrorResponse,\n Fetcher,\n FutureConfig,\n Hash,\n IndexRouteObject,\n IndexRouteProps,\n JsonFunction,\n LazyRouteFunction,\n LayoutRouteProps,\n LoaderFunction,\n LoaderFunctionArgs,\n Location,\n MemoryRouterProps,\n NavigateFunction,\n NavigateOptions,\n NavigateProps,\n Navigation,\n Navigator,\n NonIndexRouteObject,\n OutletProps,\n Params,\n ParamParseKey,\n PatchRoutesOnNavigationFunction,\n PatchRoutesOnNavigationFunctionArgs,\n Path,\n PathMatch,\n Pathname,\n PathParam,\n PathPattern,\n PathRouteProps,\n RedirectFunction,\n RelativeRoutingType,\n RouteMatch,\n RouteObject,\n RouteProps,\n RouterProps,\n RouterProviderProps,\n RoutesProps,\n Search,\n ShouldRevalidateFunction,\n ShouldRevalidateFunctionArgs,\n To,\n UIMatch,\n} from \"react-router\";\nexport {\n AbortedDeferredError,\n Await,\n MemoryRouter,\n Navigate,\n NavigationType,\n Outlet,\n Route,\n Router,\n Routes,\n createMemoryRouter,\n createPath,\n createRoutesFromChildren,\n createRoutesFromElements,\n defer,\n isRouteErrorResponse,\n generatePath,\n json,\n matchPath,\n matchRoutes,\n parsePath,\n redirect,\n redirectDocument,\n replace,\n renderMatches,\n resolvePath,\n useActionData,\n useAsyncError,\n useAsyncValue,\n useBlocker,\n useHref,\n useInRouterContext,\n useLoaderData,\n useLocation,\n useMatch,\n useMatches,\n useNavigate,\n useNavigation,\n useNavigationType,\n useOutlet,\n useOutletContext,\n useParams,\n useResolvedPath,\n useRevalidator,\n useRouteError,\n useRouteLoaderData,\n useRoutes,\n} from \"react-router\";\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n UNSAFE_DataRouterContext,\n UNSAFE_DataRouterStateContext,\n UNSAFE_NavigationContext,\n UNSAFE_LocationContext,\n UNSAFE_RouteContext,\n UNSAFE_useRouteId,\n} from \"react-router\";\n//#endregion\n\ndeclare global {\n var __staticRouterHydrationData: HydrationState | undefined;\n var __reactRouterVersion: string;\n interface Document {\n startViewTransition(cb: () => Promise<void> | void): ViewTransition;\n }\n}\n\n// HEY YOU! DON'T TOUCH THIS VARIABLE!\n//\n// It is replaced with the proper version at build time via a babel plugin in\n// the rollup config.\n//\n// Export a global property onto the window for React Router detection by the\n// Core Web Vitals Technology Report. This way they can configure the `wappalyzer`\n// to detect and properly classify live websites as being built with React Router:\n// https://github.com/HTTPArchive/wappalyzer/blob/main/src/technologies/r.json\nconst REACT_ROUTER_VERSION = \"0\";\ntry {\n window.__reactRouterVersion = REACT_ROUTER_VERSION;\n} catch (e) {\n // no-op\n}\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Routers\n////////////////////////////////////////////////////////////////////////////////\n\ninterface DOMRouterOpts {\n basename?: string;\n future?: Partial<Omit<RouterFutureConfig, \"v7_prependBasename\">>;\n hydrationData?: HydrationState;\n dataStrategy?: DataStrategyFunction;\n patchRoutesOnNavigation?: PatchRoutesOnNavigationFunction;\n window?: Window;\n}\n\nexport function createBrowserRouter(\n routes: RouteObject[],\n opts?: DOMRouterOpts\n): RemixRouter {\n return createRouter({\n basename: opts?.basename,\n future: {\n ...opts?.future,\n v7_prependBasename: true,\n },\n history: createBrowserHistory({ window: opts?.window }),\n hydrationData: opts?.hydrationData || parseHydrationData(),\n routes,\n mapRouteProperties,\n dataStrategy: opts?.dataStrategy,\n patchRoutesOnNavigation: opts?.patchRoutesOnNavigation,\n window: opts?.window,\n }).initialize();\n}\n\nexport function createHashRouter(\n routes: RouteObject[],\n opts?: DOMRouterOpts\n): RemixRouter {\n return createRouter({\n basename: opts?.basename,\n future: {\n ...opts?.future,\n v7_prependBasename: true,\n },\n history: createHashHistory({ window: opts?.window }),\n hydrationData: opts?.hydrationData || parseHydrationData(),\n routes,\n mapRouteProperties,\n dataStrategy: opts?.dataStrategy,\n patchRoutesOnNavigation: opts?.patchRoutesOnNavigation,\n window: opts?.window,\n }).initialize();\n}\n\nfunction parseHydrationData(): HydrationState | undefined {\n let state = window?.__staticRouterHydrationData;\n if (state && state.errors) {\n state = {\n ...state,\n errors: deserializeErrors(state.errors),\n };\n }\n return state;\n}\n\nfunction deserializeErrors(\n errors: RemixRouter[\"state\"][\"errors\"]\n): RemixRouter[\"state\"][\"errors\"] {\n if (!errors) return null;\n let entries = Object.entries(errors);\n let serialized: RemixRouter[\"state\"][\"errors\"] = {};\n for (let [key, val] of entries) {\n // Hey you! If you change this, please change the corresponding logic in\n // serializeErrors in react-router-dom/server.tsx :)\n if (val && val.__type === \"RouteErrorResponse\") {\n serialized[key] = new ErrorResponseImpl(\n val.status,\n val.statusText,\n val.data,\n val.internal === true\n );\n } else if (val && val.__type === \"Error\") {\n // Attempt to reconstruct the right type of Error (i.e., ReferenceError)\n if (val.__subType) {\n let ErrorConstructor = window[val.__subType];\n if (typeof ErrorConstructor === \"function\") {\n try {\n // @ts-expect-error\n let error = new ErrorConstructor(val.message);\n // Wipe away the client-side stack trace. Nothing to fill it in with\n // because we don't serialize SSR stack traces for security reasons\n error.stack = \"\";\n serialized[key] = error;\n } catch (e) {\n // no-op - fall through and create a normal Error\n }\n }\n }\n\n if (serialized[key] == null) {\n let error = new Error(val.message);\n // Wipe away the client-side stack trace. Nothing to fill it in with\n // because we don't serialize SSR stack traces for security reasons\n error.stack = \"\";\n serialized[key] = error;\n }\n } else {\n serialized[key] = val;\n }\n }\n return serialized;\n}\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Contexts\n////////////////////////////////////////////////////////////////////////////////\n\ntype ViewTransitionContextObject =\n | {\n isTransitioning: false;\n }\n | {\n isTransitioning: true;\n flushSync: boolean;\n currentLocation: Location;\n nextLocation: Location;\n };\n\nconst ViewTransitionContext = React.createContext<ViewTransitionContextObject>({\n isTransitioning: false,\n});\nif (__DEV__) {\n ViewTransitionContext.displayName = \"ViewTransition\";\n}\n\nexport { ViewTransitionContext as UNSAFE_ViewTransitionContext };\n\n// TODO: (v7) Change the useFetcher data from `any` to `unknown`\ntype FetchersContextObject = Map<string, any>;\n\nconst FetchersContext = React.createContext<FetchersContextObject>(new Map());\nif (__DEV__) {\n FetchersContext.displayName = \"Fetchers\";\n}\n\nexport { FetchersContext as UNSAFE_FetchersContext };\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Components\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n Webpack + React 17 fails to compile on any of the following because webpack\n complains that `startTransition` doesn't exist in `React`:\n * import { startTransition } from \"react\"\n * import * as React from from \"react\";\n \"startTransition\" in React ? React.startTransition(() => setState()) : setState()\n * import * as React from from \"react\";\n \"startTransition\" in React ? React[\"startTransition\"](() => setState()) : setState()\n\n Moving it to a constant such as the following solves the Webpack/React 17 issue:\n * import * as React from from \"react\";\n const START_TRANSITION = \"startTransition\";\n START_TRANSITION in React ? React[START_TRANSITION](() => setState()) : setState()\n\n However, that introduces webpack/terser minification issues in production builds\n in React 18 where minification/obfuscation ends up removing the call of\n React.startTransition entirely from the first half of the ternary. Grabbing\n this exported reference once up front resolves that issue.\n\n See https://github.com/remix-run/react-router/issues/10579\n*/\nconst START_TRANSITION = \"startTransition\";\nconst startTransitionImpl = React[START_TRANSITION];\nconst FLUSH_SYNC = \"flushSync\";\nconst flushSyncImpl = ReactDOM[FLUSH_SYNC];\nconst USE_ID = \"useId\";\nconst useIdImpl = React[USE_ID];\n\nfunction startTransitionSafe(cb: () => void) {\n if (startTransitionImpl) {\n startTransitionImpl(cb);\n } else {\n cb();\n }\n}\n\nfunction flushSyncSafe(cb: () => void) {\n if (flushSyncImpl) {\n flushSyncImpl(cb);\n } else {\n cb();\n }\n}\n\ninterface ViewTransition {\n finished: Promise<void>;\n ready: Promise<void>;\n updateCallbackDone: Promise<void>;\n skipTransition(): void;\n}\n\nclass Deferred<T> {\n status: \"pending\" | \"resolved\" | \"rejected\" = \"pending\";\n promise: Promise<T>;\n // @ts-expect-error - no initializer\n resolve: (value: T) => void;\n // @ts-expect-error - no initializer\n reject: (reason?: unknown) => void;\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = (value) => {\n if (this.status === \"pending\") {\n this.status = \"resolved\";\n resolve(value);\n }\n };\n this.reject = (reason) => {\n if (this.status === \"pending\") {\n this.status = \"rejected\";\n reject(reason);\n }\n };\n });\n }\n}\n\n/**\n * Given a Remix Router instance, render the appropriate UI\n */\nexport function RouterProvider({\n fallbackElement,\n router,\n future,\n}: RouterProviderProps): React.ReactElement {\n let [state, setStateImpl] = React.useState(router.state);\n let [pendingState, setPendingState] = React.useState<RouterState>();\n let [vtContext, setVtContext] = React.useState<ViewTransitionContextObject>({\n isTransitioning: false,\n });\n let [renderDfd, setRenderDfd] = React.useState<Deferred<void>>();\n let [transition, setTransition] = React.useState<ViewTransition>();\n let [interruption, setInterruption] = React.useState<{\n state: RouterState;\n currentLocation: Location;\n nextLocation: Location;\n }>();\n let fetcherData = React.useRef<Map<string, any>>(new Map());\n let { v7_startTransition } = future || {};\n\n let optInStartTransition = React.useCallback(\n (cb: () => void) => {\n if (v7_startTransition) {\n startTransitionSafe(cb);\n } else {\n cb();\n }\n },\n [v7_startTransition]\n );\n\n let setState = React.useCallback<RouterSubscriber>(\n (\n newState: RouterState,\n {\n deletedFetchers,\n flushSync: flushSync,\n viewTransitionOpts: viewTransitionOpts,\n }\n ) => {\n newState.fetchers.forEach((fetcher, key) => {\n if (fetcher.data !== undefined) {\n fetcherData.current.set(key, fetcher.data);\n }\n });\n deletedFetchers.forEach((key) => fetcherData.current.delete(key));\n\n let isViewTransitionUnavailable =\n router.window == null ||\n router.window.document == null ||\n typeof router.window.document.startViewTransition !== \"function\";\n\n // If this isn't a view transition or it's not available in this browser,\n // just update and be done with it\n if (!viewTransitionOpts || isViewTransitionUnavailable) {\n if (flushSync) {\n flushSyncSafe(() => setStateImpl(newState));\n } else {\n optInStartTransition(() => setStateImpl(newState));\n }\n return;\n }\n\n // flushSync + startViewTransition\n if (flushSync) {\n // Flush through the context to mark DOM elements as transition=ing\n flushSyncSafe(() => {\n // Cancel any pending transitions\n if (transition) {\n renderDfd && renderDfd.resolve();\n transition.skipTransition();\n }\n setVtContext({\n isTransitioning: true,\n flushSync: true,\n currentLocation: viewTransitionOpts.currentLocation,\n nextLocation: viewTransitionOpts.nextLocation,\n });\n });\n\n // Update the DOM\n let t = router.window!.document.startViewTransition(() => {\n flushSyncSafe(() => setStateImpl(newState));\n });\n\n // Clean up after the animation completes\n t.finished.finally(() => {\n flushSyncSafe(() => {\n setRenderDfd(undefined);\n setTransition(undefined);\n setPendingState(undefined);\n setVtContext({ isTransitioning: false });\n });\n });\n\n flushSyncSafe(() => setTransition(t));\n return;\n }\n\n // startTransition + startViewTransition\n if (transition) {\n // Interrupting an in-progress transition, cancel and let everything flush\n // out, and then kick off a new transition from the interruption state\n renderDfd && renderDfd.resolve();\n transition.skipTransition();\n setInterruption({\n state: newState,\n currentLocation: viewTransitionOpts.currentLocation,\n nextLocation: viewTransitionOpts.nextLocation,\n });\n } else {\n // Completed navigation update with opted-in view transitions, let 'er rip\n setPendingState(newState);\n setVtContext({\n isTransitioning: true,\n flushSync: false,\n currentLocation: viewTransitionOpts.currentLocation,\n nextLocation: viewTransitionOpts.nextLocation,\n });\n }\n },\n [router.window, transition, renderDfd, fetcherData, optInStartTransition]\n );\n\n // Need to use a layout effect here so we are subscribed early enough to\n // pick up on any render-driven redirects/navigations (useEffect/<Navigate>)\n React.useLayoutEffect(() => router.subscribe(setState), [router, setState]);\n\n // When we start a view transition, create a Deferred we can use for the\n // eventual \"completed\" render\n React.useEffect(() => {\n if (vtContext.isTransitioning && !vtContext.flushSync) {\n setRenderDfd(new Deferred<void>());\n }\n }, [vtContext]);\n\n // Once the deferred is created, kick off startViewTransition() to update the\n // DOM and then wait on the Deferred to resolve (indicating the DOM update has\n // happened)\n React.useEffect(() => {\n if (renderDfd && pendingState && router.window) {\n let newState = pendingState;\n let renderPromise = renderDfd.promise;\n let transition = router.window.document.startViewTransition(async () => {\n optInStartTransition(() => setStateImpl(newState));\n await renderPromise;\n });\n transition.finished.finally(() => {\n setRenderDfd(undefined);\n setTransition(undefined);\n setPendingState(undefined);\n setVtContext({ isTransitioning: false });\n });\n setTransition(transition);\n }\n }, [optInStartTransition, pendingState, renderDfd, router.window]);\n\n // When the new location finally renders and is committed to the DOM, this\n // effect will run to resolve the transition\n React.useEffect(() => {\n if (\n renderDfd &&\n pendingState &&\n state.location.key === pendingState.location.key\n ) {\n renderDfd.resolve();\n }\n }, [renderDfd, transition, state.location, pendingState]);\n\n // If we get interrupted with a new navigation during a transition, we skip\n // the active transition, let it cleanup, then kick it off again here\n React.useEffect(() => {\n if (!vtContext.isTransitioning && interruption) {\n setPendingState(interruption.state);\n setVtContext({\n isTransitioning: true,\n flushSync: false,\n currentLocation: interruption.currentLocation,\n nextLocation: interruption.nextLocation,\n });\n setInterruption(undefined);\n }\n }, [vtContext.isTransitioning, interruption]);\n\n React.useEffect(() => {\n warning(\n fallbackElement == null || !router.future.v7_partialHydration,\n \"`<RouterProvider fallbackElement>` is deprecated when using \" +\n \"`v7_partialHydration`, use a `HydrateFallback` component instead\"\n );\n // Only log this once on initial mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n let navigator = React.useMemo((): Navigator => {\n return {\n createHref: router.createHref,\n encodeLocation: router.encodeLocation,\n go: (n) => router.navigate(n),\n push: (to, state, opts) =>\n router.navigate(to, {\n state,\n preventScrollReset: opts?.preventScrollReset,\n }),\n replace: (to, state, opts) =>\n router.navigate(to, {\n replace: true,\n state,\n preventScrollReset: opts?.preventScrollReset,\n }),\n };\n }, [router]);\n\n let basename = router.basename || \"/\";\n\n let dataRouterContext = React.useMemo(\n () => ({\n router,\n navigator,\n static: false,\n basename,\n }),\n [router, navigator, basename]\n );\n\n let routerFuture = React.useMemo<RouterProps[\"future\"]>(\n () => ({\n v7_relativeSplatPath: router.future.v7_relativeSplatPath,\n }),\n [router.future.v7_relativeSplatPath]\n );\n\n React.useEffect(\n () => logV6DeprecationWarnings(future, router.future),\n [future, router.future]\n );\n\n // The fragment and {null} here are important! We need them to keep React 18's\n // useId happy when we are server-rendering since we may have a <script> here\n // containing the hydrated server-side staticContext (from StaticRouterProvider).\n // useId relies on the component tree structure to generate deterministic id's\n // so we need to ensure it remains the same on the client even though\n // we don't need the <script> tag\n return (\n <>\n <DataRouterContext.Provider value={dataRouterContext}>\n <DataRouterStateContext.Provider value={state}>\n <FetchersContext.Provider value={fetcherData.current}>\n <ViewTransitionContext.Provider value={vtContext}>\n <Router\n basename={basename}\n location={state.location}\n navigationType={state.historyAction}\n navigator={navigator}\n future={routerFuture}\n >\n {state.initialized || router.future.v7_partialHydration ? (\n <MemoizedDataRoutes\n routes={router.routes}\n future={router.future}\n state={state}\n />\n ) : (\n fallbackElement\n )}\n </Router>\n </ViewTransitionContext.Provider>\n </FetchersContext.Provider>\n </DataRouterStateContext.Provider>\n </DataRouterContext.Provider>\n {null}\n </>\n );\n}\n\n// Memoize to avoid re-renders when updating `ViewTransitionContext`\nconst MemoizedDataRoutes = React.memo(DataRoutes);\n\nfunction DataRoutes({\n routes,\n future,\n state,\n}: {\n routes: DataRouteObject[];\n future: RemixRouter[\"future\"];\n state: RouterState;\n}): React.ReactElement | null {\n return useRoutesImpl(routes, undefined, state, future);\n}\n\nexport interface BrowserRouterProps {\n basename?: string;\n children?: React.ReactNode;\n future?: Partial<FutureConfig>;\n window?: Window;\n}\n\n/**\n * A `<Router>` for use in web browsers. Provides the cleanest URLs.\n */\nexport function BrowserRouter({\n basename,\n children,\n future,\n window,\n}: BrowserRouterProps) {\n let historyRef = React.useRef<BrowserHistory>();\n if (historyRef.current == null) {\n historyRef.current = createBrowserHistory({ window, v5Compat: true });\n }\n\n let history = historyRef.current;\n let [state, setStateImpl] = React.useState({\n action: history.action,\n location: history.location,\n });\n let { v7_startTransition } = future || {};\n let setState = React.useCallback(\n (newState: { action: NavigationType; location: Location }) => {\n v7_startTransition && startTransitionImpl\n ? startTransitionImpl(() => setStateImpl(newState))\n : setStateImpl(newState);\n },\n [setStateImpl, v7_startTransition]\n );\n\n React.useLayoutEffect(() => history.listen(setState), [history, setState]);\n\n React.useEffect(() => logV6DeprecationWarnings(future), [future]);\n\n return (\n <Router\n basename={basename}\n children={children}\n location={state.location}\n navigationType={state.action}\n navigator={history}\n future={future}\n />\n );\n}\n\nexport interface HashRouterProps {\n basename?: string;\n children?: React.ReactNode;\n future?: Partial<FutureConfig>;\n window?: Window;\n}\n\n/**\n * A `<Router>` for use in web browsers. Stores the location in the hash\n * portion of the URL so it is not sent to the server.\n */\nexport function HashRouter({\n basename,\n children,\n future,\n window,\n}: HashRouterProps) {\n let historyRef = React.useRef<HashHistory>();\n if (historyRef.current == null) {\n historyRef.current = createHashHistory({ window, v5Compat: true });\n }\n\n let history = historyRef.current;\n let [state, setStateImpl] = React.useState({\n action: history.action,\n location: history.location,\n });\n let { v7_startTransition } = future || {};\n let setState = React.useCallback(\n (newState: { action: NavigationType; location: Location }) => {\n v7_startTransition && startTransitionImpl\n ? startTransitionImpl(() => setStateImpl(newState))\n : setStateImpl(newState);\n },\n [setStateImpl, v7_startTransition]\n );\n\n React.useLayoutEffect(() => history.listen(setState), [history, setState]);\n\n React.useEffect(() => logV6DeprecationWarnings(future), [future]);\n\n return (\n <Router\n basename={basename}\n children={children}\n location={state.location}\n navigationType={state.action}\n navigator={history}\n future={future}\n />\n );\n}\n\nexport interface HistoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n future?: FutureConfig;\n history: History;\n}\n\n/**\n * A `<Router>` that accepts a pre-instantiated history object. It's important\n * to note that using your own history object is highly discouraged and may add\n * two versions of the history library to your bundles unless you use the same\n * version of the history library that React Router uses internally.\n */\nfunction HistoryRouter({\n basename,\n children,\n future,\n history,\n}: HistoryRouterProps) {\n let [state, setStateImpl] = React.useState({\n action: history.action,\n location: history.location,\n });\n let { v7_startTransition } = future || {};\n let setState = React.useCallback(\n (newState: { action: NavigationType; location: Location }) => {\n v7_startTransition && startTransitionImpl\n ? startTransitionImpl(() => setStateImpl(newState))\n : setStateImpl(newState);\n },\n [setStateImpl, v7_startTransition]\n );\n\n React.useLayoutEffect(() => history.listen(setState), [history, setState]);\n\n React.useEffect(() => logV6DeprecationWarnings(future), [future]);\n\n return (\n <Router\n basename={basename}\n children={children}\n location={state.location}\n navigationType={state.action}\n navigator={history}\n future={future}\n />\n );\n}\n\nif (__DEV__) {\n HistoryRouter.displayName = \"unstable_HistoryRouter\";\n}\n\nexport { HistoryRouter as unstable_HistoryRouter };\n\nexport interface LinkProps\n extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, \"href\"> {\n reloadDocument?: boolean;\n replace?: boolean;\n state?: any;\n preventScrollReset?: boolean;\n relative?: RelativeRoutingType;\n to: To;\n viewTransition?: boolean;\n}\n\nconst isBrowser =\n typeof window !== \"undefined\" &&\n typeof window.document !== \"undefined\" &&\n typeof window.document.createElement !== \"undefined\";\n\nconst ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\n\n/**\n * The public API for rendering a history-aware `<a>`.\n */\nexport const Link = React.forwardRef<HTMLAnchorElement, LinkProps>(\n function LinkWithRef(\n {\n onClick,\n relative,\n reloadDocument,\n replace,\n state,\n target,\n to,\n preventScrollReset,\n viewTransition,\n ...rest\n },\n ref\n ) {\n let { basename } = React.useContext(NavigationContext);\n\n // Rendered into <a href> for absolute URLs\n let absoluteHref;\n let isExternal = false;\n\n if (typeof to === \"string\" && ABSOLUTE_URL_REGEX.test(to)) {\n // Render the absolute href server- and client-side\n absoluteHref = to;\n\n // Only check for external origins client-side\n if (isBrowser) {\n try {\n let currentUrl = new URL(window.location.href);\n let targetUrl = to.startsWith(\"//\")\n ? new URL(currentUrl.protocol + to)\n : new URL(to);\n let path = stripBasename(targetUrl.pathname, basename);\n\n if (targetUrl.origin === currentUrl.origin && path != null) {\n // Strip the protocol/origin/basename for same-origin absolute URLs\n to = path + targetUrl.search + targetUrl.hash;\n } else {\n isExternal = true;\n }\n } catch (e) {\n // We can't do external URL detection without a valid URL\n warning(\n false,\n `<Link to=\"${to}\"> contains an invalid URL which will probably break ` +\n `when clicked - please update to a valid URL path.`\n );\n }\n }\n }\n\n // Rendered into <a href> for relative URLs\n let href = useHref(to, { relative });\n\n let internalOnClick = useLinkClickHandler(to, {\n replace,\n state,\n target,\n preventScrollReset,\n relative,\n viewTransition,\n });\n function handleClick(\n event: React.MouseEvent<HTMLAnchorElement, MouseEvent>\n ) {\n if (onClick) onClick(event);\n if (!event.defaultPrevented) {\n internalOnClick(event);\n }\n }\n\n return (\n // eslint-disable-next-line jsx-a11y/anchor-has-content\n <a\n {...rest}\n href={absoluteHref || href}\n onClick={isExternal || reloadDocument ? onClick : handleClick}\n ref={ref}\n target={target}\n />\n );\n }\n);\n\nif (__DEV__) {\n Link.displayName = \"Link\";\n}\n\nexport type NavLinkRenderProps = {\n isActive: boolean;\n isPending: boolean;\n isTransitioning: boolean;\n};\n\nexport interface NavLinkProps\n extends Omit<LinkProps, \"className\" | \"style\" | \"children\"> {\n children?: React.ReactNode | ((props: NavLinkRenderProps) => React.ReactNode);\n caseSensitive?: boolean;\n className?: string | ((props: NavLinkRenderProps) => string | undefined);\n end?: boolean;\n style?:\n | React.CSSProperties\n | ((props: NavLinkRenderProps) => React.CSSProperties | undefined);\n}\n\n/**\n * A `<Link>` wrapper that knows if it's \"active\" or not.\n */\nexport const NavLink = React.forwardRef<HTMLAnchorElement, NavLinkProps>(\n function NavLinkWithRef(\n {\n \"aria-current\": ariaCurrentProp = \"page\",\n caseSensitive = false,\n className: classNameProp = \"\",\n end = false,\n style: styleProp,\n to,\n viewTransition,\n children,\n ...rest\n },\n ref\n ) {\n let path = useResolvedPath(to, { relative: rest.relative });\n let location = useLocation();\n let routerState = React.useContext(DataRouterStateContext);\n let { navigator, basename } = React.useContext(NavigationContext);\n let isTransitioning =\n routerState != null &&\n // Conditional usage is OK here because the usage of a data router is static\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useViewTransitionState(path) &&\n viewTransition === true;\n\n let toPathname = navigator.encodeLocation\n ? navigator.encodeLocation(path).pathname\n : path.pathname;\n let locationPathname = location.pathname;\n let nextLocationPathname =\n routerState && routerState.navigation && routerState.navigation.location\n ? routerState.navigation.location.pathname\n : null;\n\n if (!caseSensitive) {\n locationPathname = locationPathname.toLowerCase();\n nextLocationPathname = nextLocationPathname\n ? nextLocationPathname.toLowerCase()\n : null;\n toPathname = toPathname.toLowerCase();\n }\n\n if (nextLocationPathname && basename) {\n nextLocationPathname =\n stripBasename(nextLocationPathname, basename) || nextLocationPathname;\n }\n\n // If the `to` has a trailing slash, look at that exact spot. Otherwise,\n // we're looking for a slash _after_ what's in `to`. For example:\n //\n // <NavLink to=\"/users\"> and <NavLink to=\"/users/\">\n // both want to look for a / at index 6 to match URL `/users/matt`\n const endSlashPosition =\n toPathname !== \"/\" && toPathname.endsWith(\"/\")\n ? toPathname.length - 1\n : toPathname.length;\n let isActive =\n locationPathname === toPathname ||\n (!end &&\n locationPathname.startsWith(toPathname) &&\n locationPathname.charAt(endSlashPosition) === \"/\");\n\n let isPending =\n nextLocationPathname != null &&\n (nextLocationPathname === toPathname ||\n (!end &&\n nextLocationPathname.startsWith(toPathname) &&\n nextLocationPathname.charAt(toPathname.length) === \"/\"));\n\n let renderProps = {\n isActive,\n isPending,\n isTransitioning,\n };\n\n let ariaCurrent = isActive ? ariaCurrentProp : undefined;\n\n let className: string | undefined;\n if (typeof classNameProp === \"function\") {\n className = classNameProp(renderProps);\n } else {\n // If the className prop is not a function, we use a default `active`\n // class for <NavLink />s that are active. In v5 `active` was the default\n // value for `activeClassName`, but we are removing that API and can still\n // use the old default behavior for a cleaner upgrade path and keep the\n // simple styling rules working as they currently do.\n className = [\n classNameProp,\n isActive ? \"active\" : null,\n isPending ? \"pending\" : null,\n isTransitioning ? \"transitioning\" : null,\n ]\n .filter(Boolean)\n .join(\" \");\n }\n\n let style =\n typeof styleProp === \"function\" ? styleProp(renderProps) : styleProp;\n\n return (\n <Link\n {...rest}\n aria-current={ariaCurrent}\n className={className}\n ref={ref}\n style={style}\n to={to}\n viewTransition={viewTransition}\n >\n {typeof children === \"function\" ? children(renderProps) : children}\n </Link>\n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n}\n\n/**\n * Form props shared by navigations and fetchers\n */\ninterface SharedFormProps extends React.FormHTMLAttributes<HTMLFormElement> {\n /**\n * The HTTP verb to use when the form is submit. Supports \"get\", \"post\",\n * \"put\", \"delete\", \"patch\".\n */\n method?: HTMLFormMethod;\n\n /**\n * `<form encType>` - enhancing beyond the normal string type and limiting\n * to the built-in browser supported values\n */\n encType?:\n | \"application/x-www-form-urlencoded\"\n | \"multipart/form-data\"\n | \"text/plain\";\n\n /**\n * Normal `<form action>` but supports React Router's relative paths.\n */\n action?: string;\n\n /**\n * Determines whether the form action is relative to the route hierarchy or\n * the pathname. Use this if you want to opt out of navigating the route\n * hierarchy and want to instead route based on /-delimited URL segments\n */\n relative?: RelativeRoutingType;\n\n /**\n * Prevent the scroll position from resetting to the top of the viewport on\n * completion of the navigation when using the <ScrollRestoration> component\n */\n preventScrollReset?: boolean;\n\n /**\n * A function to call when the form is submitted. If you call\n * `event.preventDefault()` then this form will not do anything.\n */\n onSubmit?: React.FormEventHandler<HTMLFormElement>;\n}\n\n/**\n * Form props available to fetchers\n */\nexport interface FetcherFormProps extends SharedFormProps {}\n\n/**\n * Form props available to navigations\n */\nexport interface FormProps extends SharedFormProps {\n /**\n * Indicate a specific fetcherKey to use when using navigate=false\n */\n fetcherKey?: string;\n\n /**\n * navigate=false will use a fetcher instead of a navigation\n */\n navigate?: boolean;\n\n /**\n * Forces a full document navigation instead of a fetch.\n */\n reloadDocument?: boolean;\n\n /**\n * Replaces the current entry in the browser history stack when the form\n * navigates. Use this if you don't want the user to be able to click \"back\"\n * to the page with the form on it.\n */\n replace?: boolean;\n\n /**\n * State object to add to the history stack entry for this navigation\n */\n state?: any;\n\n /**\n * Enable view transitions on this Form navigation\n */\n viewTransition?: boolean;\n}\n\ntype HTMLSubmitEvent = React.BaseSyntheticEvent<\n SubmitEvent,\n Event,\n HTMLFormElement\n>;\n\ntype HTMLFormSubmitter = HTMLButtonElement | HTMLInputElement;\n\n/**\n * A `@remix-run/router`-aware `<form>`. It behaves like a normal form except\n * that the interaction with the server is with `fetch` instead of new document\n * requests, allowing components to add nicer UX to the page as the form is\n * submitted and returns with data.\n */\nexport const Form = React.forwardRef<HTMLFormElement, FormProps>(\n (\n {\n fetcherKey,\n navigate,\n reloadDocument,\n replace,\n state,\n method = defaultMethod,\n action,\n onSubmit,\n relative,\n preventScrollReset,\n viewTransition,\n ...props\n },\n forwardedRef\n ) => {\n let submit = useSubmit();\n let formAction = useFormAction(action, { relative });\n let formMethod: HTMLFormMethod =\n method.toLowerCase() === \"get\" ? \"get\" : \"post\";\n\n let submitHandler: React.FormEventHandler<HTMLFormElement> = (event) => {\n onSubmit && onSubmit(event);\n if (event.defaultPrevented) return;\n event.preventDefault();\n\n let submitter = (event as unknown as HTMLSubmitEvent).nativeEvent\n .submitter as HTMLFormSubmitter | null;\n\n let submitMethod =\n (submitter?.getAttribute(\"formmethod\") as HTMLFormMethod | undefined) ||\n method;\n\n submit(submitter || event.currentTarget, {\n fetcherKey,\n method: submitMethod,\n navigate,\n replace,\n state,\n relative,\n preventScrollReset,\n viewTransition,\n });\n };\n\n return (\n <form\n ref={forwardedRef}\n method={formMethod}\n action={formAction}\n onSubmit={reloadDocument ? onSubmit : submitHandler}\n {...props}\n />\n );\n }\n);\n\nif (__DEV__) {\n Form.displayName = \"Form\";\n}\n\nexport interface ScrollRestorationProps {\n getKey?: GetScrollRestorationKeyFunction;\n storageKey?: string;\n}\n\n/**\n * This component will emulate the browser's scroll restoration on location\n * changes.\n */\nexport function ScrollRestoration({\n getKey,\n storageKey,\n}: ScrollRestorationProps) {\n useScrollRestoration({ getKey, storageKey });\n return null;\n}\n\nif (__DEV__) {\n ScrollRestoration.displayName = \"ScrollRestoration\";\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Hooks\n////////////////////////////////////////////////////////////////////////////////\n\nenum DataRouterHook {\n UseScrollRestoration = \"useScrollRestoration\",\n UseSubmit = \"useSubmit\",\n UseSubmitFetcher = \"useSubmitFetcher\",\n UseFetcher = \"useFetcher\",\n useViewTransitionState = \"useViewTransitionState\",\n}\n\nenum DataRouterStateHook {\n UseFetcher = \"useFetcher\",\n UseFetchers = \"useFetchers\",\n UseScrollRestoration = \"useScrollRestoration\",\n}\n\n// Internal hooks\n\nfunction getDataRouterConsoleError(\n hookName: DataRouterHook | DataRouterStateHook\n) {\n return `${hookName} must be used within a data router. See https://reactrouter.com/v6/routers/picking-a-router.`;\n}\n\nfunction useDataRouterContext(hookName: DataRouterHook) {\n let ctx = React.useContext(DataRouterContext);\n invariant(ctx, getDataRouterConsoleError(hookName));\n return ctx;\n}\n\nfunction useDataRouterState(hookName: DataRouterStateHook) {\n let state = React.useContext(DataRouterStateContext);\n invariant(state, getDataRouterConsoleError(hookName));\n return state;\n}\n\n// External hooks\n\n/**\n * Handles the click behavior for router `<Link>` components. This is useful if\n * you need to create custom `<Link>` components with the same click behavior we\n * use in our exported `<Link>`.\n */\nexport function useLinkClickHandler<E extends Element = HTMLAnchorElement>(\n to: To,\n {\n target,\n replace: replaceProp,\n state,\n preventScrollReset,\n relative,\n viewTransition,\n }: {\n target?: React.HTMLAttributeAnchorTarget;\n replace?: boolean;\n state?: any;\n preventScrollReset?: boolean;\n relative?: RelativeRoutingType;\n viewTransition?: boolean;\n } = {}\n): (event: React.MouseEvent<E, MouseEvent>) => void {\n let navigate = useNavigate();\n let location = useLocation();\n let path = useResolvedPath(to, { relative });\n\n return React.useCallback(\n (event: React.MouseEvent<E, MouseEvent>) => {\n if (shouldProcessLinkClick(event, target)) {\n event.preventDefault();\n\n // If the URL hasn't changed, a regular <a> will do a replace instead of\n // a push, so do the same here unless the replace prop is explicitly set\n let replace =\n replaceProp !== undefined\n ? replaceProp\n : createPath(location) === createPath(path);\n\n navigate(to, {\n replace,\n state,\n preventScrollReset,\n relative,\n viewTransition,\n });\n }\n },\n [\n location,\n navigate,\n path,\n replaceProp,\n state,\n target,\n to,\n preventScrollReset,\n relative,\n viewTransition,\n ]\n );\n}\n\n/**\n * A convenient wrapper for reading and writing search parameters via the\n * URLSearchParams interface.\n */\nexport function useSearchParams(\n defaultInit?: URLSearchParamsInit\n): [URLSearchParams, SetURLSearchParams] {\n warning(\n typeof URLSearchParams !== \"undefined\",\n `You cannot use the \\`useSearchParams\\` hook in a browser that does not ` +\n `support the URLSearchParams API. If you need to support Internet ` +\n `Explorer 11, we recommend you load a polyfill such as ` +\n `https://github.com/ungap/url-search-params.`\n );\n\n let defaultSearchParamsRef = React.useRef(createSearchParams(defaultInit));\n let hasSetSearchParamsRef = React.useRef(false);\n\n let location = useLocation();\n let searchParams = React.useMemo(\n () =>\n // Only merge in the defaults if we haven't yet called setSearchParams.\n // Once we call that we want those to take precedence, otherwise you can't\n // remove a param with setSearchParams({}) if it has an initial value\n getSearchParamsForLocation(\n location.search,\n hasSetSearchParamsRef.current ? null : defaultSearchParamsRef.current\n ),\n [location.search]\n );\n\n let navigate = useNavigate();\n let setSearchParams = React.useCallback<SetURLSearchParams>(\n (nextInit, navigateOptions) => {\n const newSearchParams = createSearchParams(\n typeof nextInit === \"function\" ? nextInit(searchParams) : nextInit\n );\n hasSetSearchParamsRef.current = true;\n navigate(\"?\" + newSearchParams, navigateOptions);\n },\n [navigate, searchParams]\n );\n\n return [searchParams, setSearchParams];\n}\n\nexport type SetURLSearchParams = (\n nextInit?:\n | URLSearchParamsInit\n | ((prev: URLSearchParams) => URLSearchParamsInit),\n navigateOpts?: NavigateOptions\n) => void;\n\n/**\n * Submits a HTML `<form>` to the server without reloading the page.\n */\nexport interface SubmitFunction {\n (\n /**\n * Specifies the `<form>` to be submitted to the server, a specific\n * `<button>` or `<input type=\"submit\">` to use to submit the form, or some\n * arbitrary data to submit.\n *\n * Note: When using a `<button>` its `name` and `value` will also be\n * included in the form data that is submitted.\n */\n target: SubmitTarget,\n\n /**\n * Options that override the `<form>`'s own attributes. Required when\n * submitting arbitrary data without a backing `<form>`.\n */\n options?: SubmitOptions\n ): void;\n}\n\n/**\n * Submits a fetcher `<form>` to the server without reloading the page.\n */\nexport interface FetcherSubmitFunction {\n (\n target: SubmitTarget,\n // Fetchers cannot replace or set state because they are not navigation events\n options?: FetcherSubmitOptions\n ): void;\n}\n\nfunction validateClientSideSubmission() {\n if (typeof document === \"undefined\") {\n throw new Error(\n \"You are calling submit during the server render. \" +\n \"Try calling submit within a `useEffect` or callback instead.\"\n );\n }\n}\n\nlet fetcherId = 0;\nlet getUniqueFetcherId = () => `__${String(++fetcherId)}__`;\n\n/**\n * Returns a function that may be used to programmatically submit a form (or\n * some arbitrary data) to the server.\n */\nexport function useSubmit(): SubmitFunction {\n let { router } = useDataRouterContext(DataRouterHook.UseSubmit);\n let { basename } = React.useContext(NavigationContext);\n let currentRouteId = useRouteId();\n\n return React.useCallback<SubmitFunction>(\n (target, options = {}) => {\n validateClientSideSubmission();\n\n let { action, method, encType, formData, body } = getFormSubmissionInfo(\n target,\n basename\n );\n\n if (options.navigate === false) {\n let key = options.fetcherKey || getUniqueFetcherId();\n router.fetch(key, currentRouteId, options.action || action, {\n preventScrollReset: options.preventScrollReset,\n formData,\n body,\n formMethod: options.method || (method as HTMLFormMethod),\n formEncType: options.encType || (encType as FormEncType),\n flushSync: options.flushSync,\n });\n } else {\n router.navigate(options.action || action, {\n preventScrollReset: options.preventScrollReset,\n formData,\n body,\n formMethod: options.method || (method as HTMLFormMethod),\n formEncType: options.encType || (encType as FormEncType),\n replace: options.replace,\n state: options.state,\n fromRouteId: currentRouteId,\n flushSync: options.flushSync,\n viewTransition: options.viewTransition,\n });\n }\n },\n [router, basename, currentRouteId]\n );\n}\n\n// v7: Eventually we should deprecate this entirely in favor of using the\n// router method directly?\nexport function useFormAction(\n action?: string,\n { relative }: { relative?: RelativeRoutingType } = {}\n): string {\n let { basename } = React.useContext(NavigationContext);\n let routeContext = React.useContext(RouteContext);\n invariant(routeContext, \"useFormAction must be used inside a RouteContext\");\n\n let [match] = routeContext.matches.slice(-1);\n // Shallow clone path so we can modify it below, otherwise we modify the\n // object referenced by useMemo inside useResolvedPath\n let path = { ...useResolvedPath(action ? action : \".\", { relative }) };\n\n // If no action was specified, browsers will persist current search params\n // when determining the path, so match that behavior\n // https://github.com/remix-run/remix/issues/927\n let location = useLocation();\n if (action == null) {\n // Safe to write to this directly here since if action was undefined, we\n // would have called useResolvedPath(\".\") which will never include a search\n path.search = location.search;\n\n // When grabbing search params from the URL, remove any included ?index param\n // since it might not apply to our contextual route. We add it back based\n // on match.route.index below\n let params = new URLSearchParams(path.search);\n let indexValues = params.getAll(\"index\");\n let hasNakedIndexParam = indexValues.some((v) => v === \"\");\n if (hasNakedIndexParam) {\n params.delete(\"index\");\n indexValues.filter((v) => v).forEach((v) => params.append(\"index\", v));\n let qs = params.toString();\n path.search = qs ? `?${qs}` : \"\";\n }\n }\n\n if ((!action || action === \".\") && match.route.index) {\n path.search = path.search\n ? path.search.replace(/^\\?/, \"?index&\")\n : \"?index\";\n }\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to creating the form action. If this is a root navigation, then just use\n // the raw basename which allows the basename to have full control over the\n // presence of a trailing slash on root actions\n if (basename !== \"/\") {\n path.pathname =\n path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n\n return createPath(path);\n}\n\nexport type FetcherWithComponents<TData> = Fetcher<TData> & {\n Form: React.ForwardRefExoticComponent<\n FetcherFormProps & React.RefAttributes<HTMLFormElement>\n >;\n submit: FetcherSubmitFunction;\n load: (href: string, opts?: { flushSync?: boolean }) => void;\n};\n\n// TODO: (v7) Change the useFetcher generic default from `any` to `unknown`\n\n/**\n * Interacts with route loaders and actions without causing a navigation. Great\n * for any interaction that stays on the same page.\n */\nexport function useFetcher<TData = any>({\n key,\n}: { key?: string } = {}): FetcherWithComponents<TData> {\n let { router } = useDataRouterContext(DataRouterHook.UseFetcher);\n let state = useDataRouterState(DataRouterStateHook.UseFetcher);\n let fetcherData = React.useContext(FetchersContext);\n let route = React.useContext(RouteContext);\n let routeId = route.matches[route.matches.length - 1]?.route.id;\n\n invariant(fetcherData, `useFetcher must be used inside a FetchersContext`);\n invariant(route, `useFetcher must be used inside a RouteContext`);\n invariant(\n routeId != null,\n `useFetcher can only be used on routes that contain a unique \"id\"`\n );\n\n // Fetcher key handling\n // OK to call conditionally to feature detect `useId`\n // eslint-disable-next-line react-hooks/rules-of-hooks\n let defaultKey = useIdImpl ? useIdImpl() : \"\";\n let [fetcherKey, setFetcherKey] = React.useState<string>(key || defaultKey);\n if (key && key !== fetcherKey) {\n setFetcherKey(key);\n } else if (!fetcherKey) {\n // We will only fall through here when `useId` is not available\n setFetcherKey(getUniqueFetcherId());\n }\n\n // Registration/cleanup\n React.useEffect(() => {\n router.getFetcher(fetcherKey);\n return () => {\n // Tell the router we've unmounted - if v7_fetcherPersist is enabled this\n // will not delete immediately but instead queue up a delete after the\n // fetcher returns to an `idle` state\n router.deleteFetcher(fetcherKey);\n };\n }, [router, fetcherKey]);\n\n // Fetcher additions\n let load = React.useCallback(\n (href: string, opts?: { flushSync?: boolean }) => {\n invariant(routeId, \"No routeId available for fetcher.load()\");\n router.fetch(fetcherKey, routeId, href, opts);\n },\n [fetcherKey, routeId, router]\n );\n\n let submitImpl = useSubmit();\n let submit = React.useCallback<FetcherSubmitFunction>(\n (target, opts) => {\n submitImpl(target, {\n ...opts,\n navigate: false,\n fetcherKey,\n });\n },\n [fetcherKey, submitImpl]\n );\n\n let FetcherForm = React.useMemo(() => {\n let FetcherForm = React.forwardRef<HTMLFormElement, FetcherFormProps>(\n (props, ref) => {\n return (\n <Form {...props} navigate={false} fetcherKey={fetcherKey} ref={ref} />\n );\n }\n );\n if (__DEV__) {\n FetcherForm.displayName = \"fetcher.Form\";\n }\n return FetcherForm;\n }, [fetcherKey]);\n\n // Exposed FetcherWithComponents\n let fetcher = state.fetchers.get(fetcherKey) || IDLE_FETCHER;\n let data = fetcherData.get(fetcherKey);\n let fetcherWithComponents = React.useMemo(\n () => ({\n Form: FetcherForm,\n submit,\n load,\n ...fetcher,\n data,\n }),\n [FetcherForm, submit, load, fetcher, data]\n );\n\n return fetcherWithComponents;\n}\n\n/**\n * Provides all fetchers currently on the page. Useful for layouts and parent\n * routes that need to provide pending/optimistic UI regarding the fetch.\n */\nexport function useFetchers(): (Fetcher & { key: string })[] {\n let state = useDataRouterState(DataRouterStateHook.UseFetchers);\n return Array.from(state.fetchers.entries()).map(([key, fetcher]) => ({\n ...fetcher,\n key,\n }));\n}\n\nconst SCROLL_RESTORATION_STORAGE_KEY = \"react-router-scroll-positions\";\nlet savedScrollPositions: Record<string, number> = {};\n\n/**\n * When rendered inside a RouterProvider, will restore scroll positions on navigations\n */\nfunction useScrollRestoration({\n getKey,\n storageKey,\n}: {\n getKey?: GetScrollRestorationKeyFunction;\n storageKey?: string;\n} = {}) {\n let { router } = useDataRouterContext(DataRouterHook.UseScrollRestoration);\n let { restoreScrollPosition, preventScrollReset } = useDataRouterState(\n DataRouterStateHook.UseScrollRestoration\n );\n let { basename } = React.useContext(NavigationContext);\n let location = useLocation();\n let matches = useMatches();\n let navigation = useNavigation();\n\n // Trigger manual scroll restoration while we're active\n React.useEffect(() => {\n window.history.scrollRestoration = \"manual\";\n return () => {\n window.history.scrollRestoration = \"auto\";\n };\n }, []);\n\n // Save positions on pagehide\n usePageHide(\n React.useCallback(() => {\n if (navigation.state === \"idle\") {\n let key = (getKey ? getKey(location, matches) : null) || location.key;\n savedScrollPositions[key] = window.scrollY;\n }\n try {\n sessionStorage.setItem(\n storageKey || SCROLL_RESTORATION_STORAGE_KEY,\n JSON.stringify(savedScrollPositions)\n );\n } catch (error) {\n warning(\n false,\n `Failed to save scroll positions in sessionStorage, <ScrollRestoration /> will not work properly (${error}).`\n );\n }\n window.history.scrollRestoration = \"auto\";\n }, [storageKey, getKey, navigation.state, location, matches])\n );\n\n // Read in any saved scroll locations\n if (typeof document !== \"undefined\") {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useLayoutEffect(() => {\n try {\n let sessionPositions = sessionStorage.getItem(\n storageKey || SCROLL_RESTORATION_STORAGE_KEY\n );\n if (sessionPositions) {\n savedScrollPositions = JSON.parse(sessionPositions);\n }\n } catch (e) {\n // no-op, use default empty object\n }\n }, [storageKey]);\n\n // Enable scroll restoration in the router\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useLayoutEffect(() => {\n let getKeyWithoutBasename: GetScrollRestorationKeyFunction | undefined =\n getKey && basename !== \"/\"\n ? (location, matches) =>\n getKey(\n // Strip the basename to match useLocation()\n {\n ...location,\n pathname:\n stripBasename(location.pathname, basename) ||\n location.pathname,\n },\n matches\n )\n : getKey;\n let disableScrollRestoration = router?.enableScrollRestoration(\n savedScrollPositions,\n () => window.scrollY,\n getKeyWithoutBasename\n );\n return () => disableScrollRestoration && disableScrollRestoration();\n }, [router, basename, getKey]);\n\n // Restore scrolling when state.restoreScrollPosition changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useLayoutEffect(() => {\n // Explicit false means don't do anything (used for submissions)\n if (restoreScrollPosition === false) {\n return;\n }\n\n // been here before, scroll to it\n if (typeof restoreScrollPosition === \"number\") {\n window.scrollTo(0, restoreScrollPosition);\n return;\n }\n\n // try to scroll to the hash\n if (location.hash) {\n let el = document.getElementById(\n decodeURIComponent(location.hash.slice(1))\n );\n if (el) {\n el.scrollIntoView();\n return;\n }\n }\n\n // Don't reset if this navigation opted out\n if (preventScrollReset === true) {\n return;\n }\n\n // otherwise go to the top on new locations\n window.scrollTo(0, 0);\n }, [location, restoreScrollPosition, preventScrollReset]);\n }\n}\n\nexport { useScrollRestoration as UNSAFE_useScrollRestoration };\n\n/**\n * Setup a callback to be fired on the window's `beforeunload` event. This is\n * useful for saving some data to `window.localStorage` just before the page\n * refreshes.\n *\n * Note: The `callback` argument should be a function created with\n * `React.useCallback()`.\n */\nexport function useBeforeUnload(\n callback: (event: BeforeUnloadEvent) => any,\n options?: { capture?: boolean }\n): void {\n let { capture } = options || {};\n React.useEffect(() => {\n let opts = capture != null ? { capture } : undefined;\n window.addEventListener(\"beforeunload\", callback, opts);\n return () => {\n window.removeEventListener(\"beforeunload\", callback, opts);\n };\n }, [callback, capture]);\n}\n\n/**\n * Setup a callback to be fired on the window's `pagehide` event. This is\n * useful for saving some data to `window.localStorage` just before the page\n * refreshes. This event is better supported than beforeunload across browsers.\n *\n * Note: The `callback` argument should be a function created with\n * `React.useCallback()`.\n */\nfunction usePageHide(\n callback: (event: PageTransitionEvent) => any,\n options?: { capture?: boolean }\n): void {\n let { capture } = options || {};\n React.useEffect(() => {\n let opts = capture != null ? { capture } : undefined;\n window.addEventListener(\"pagehide\", callback, opts);\n return () => {\n window.removeEventListener(\"pagehide\", callback, opts);\n };\n }, [callback, capture]);\n}\n\n/**\n * Wrapper around useBlocker to show a window.confirm prompt to users instead\n * of building a custom UI with useBlocker.\n *\n * Warning: This has *a lot of rough edges* and behaves very differently (and\n * very incorrectly in some cases) across browsers if user click addition\n * back/forward navigations while the confirm is open. Use at your own risk.\n */\nfunction usePrompt({\n when,\n message,\n}: {\n when: boolean | BlockerFunction;\n message: string;\n}) {\n let blocker = useBlocker(when);\n\n React.useEffect(() => {\n if (blocker.state === \"blocked\") {\n let proceed = window.confirm(message);\n if (proceed) {\n // This timeout is needed to avoid a weird \"race\" on POP navigations\n // between the `window.history` revert navigation and the result of\n // `window.confirm`\n setTimeout(blocker.proceed, 0);\n } else {\n blocker.reset();\n }\n }\n }, [blocker, message]);\n\n React.useEffect(() => {\n if (blocker.state === \"blocked\" && !when) {\n blocker.reset();\n }\n }, [blocker, when]);\n}\n\nexport { usePrompt as unstable_usePrompt };\n\n/**\n * Return a boolean indicating if there is an active view transition to the\n * given href. You can use this value to render CSS classes or viewTransitionName\n * styles onto your elements\n *\n * @param href The destination href\n * @param [opts.relative] Relative routing type (\"route\" | \"path\")\n */\nfunction useViewTransitionState(\n to: To,\n opts: { relative?: RelativeRoutingType } = {}\n) {\n let vtContext = React.useContext(ViewTransitionContext);\n\n invariant(\n vtContext != null,\n \"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. \" +\n \"Did you accidentally import `RouterProvider` from `react-router`?\"\n );\n\n let { basename } = useDataRouterContext(\n DataRouterHook.useViewTransitionState\n );\n let path = useResolvedPath(to, { relative: opts.relative });\n if (!vtContext.isTransitioning) {\n return false;\n }\n\n let currentPath =\n stripBasename(vtContext.currentLocation.pathname, basename) ||\n vtContext.currentLocation.pathname;\n let nextPath =\n stripBasename(vtContext.nextLocation.pathname, basename) ||\n vtContext.nextLocation.pathname;\n\n // Transition is active if we're going to or coming from the indicated\n // destination. This ensures that other PUSH navigations that reverse\n // an indicated transition apply. I.e., on the list view you have:\n //\n // <NavLink to=\"/details/1\" viewTransition>\n //\n // If you click the breadcrumb back to the list view:\n //\n // <NavLink to=\"/list\" viewTransition>\n //\n // We should apply the transition because it's indicated as active going\n // from /list -> /details/1 and therefore should be active on the reverse\n // (even though this isn't strictly a POP reverse)\n return (\n matchPath(path.pathname, nextPath) != null ||\n matchPath(path.pathname, currentPath) != null\n );\n}\n\nexport { useViewTransitionState as useViewTransitionState };\n\n//#endregion\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f);else for(t in e)e[t]&&(n&&(n+=\" \"),n+=t);return n}export function clsx(){for(var e,t,f=0,n=\"\";f<arguments.length;)(e=arguments[f++])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","import React, { useRef, useState } from \"react\";\r\n\r\nexport const AppContext = React.createContext();\r\n\r\nexport function AppContextProvider({ children }) {\r\n const [user, setUser] = useState();\r\n const userParamsRef = useRef();\r\n\r\n return (\r\n <AppContext.Provider\r\n value={{\r\n user,\r\n setUser: (x) => setUser(x),\r\n setLogo: (x) => setUser({ ...user, logo: x }),\r\n setGuncellemeVersiyonuAdi: (x) =>\r\n setUser({ ...user, guncellemeVersiyonuAdi: x }),\r\n userParamsRef,\r\n }}\r\n >\r\n {children}\r\n </AppContext.Provider>\r\n );\r\n}\r\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop , caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop , caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop , caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype;\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.9\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const apiUrl = process.env.REACT_APP_API_URL;\r\n\r\nconst TALEP_TIPI = [\r\n { Value: 1, Text: \"Yazılımsal Geliştirme\" },\r\n { Value: 2, Text: \"Eğitim\" },\r\n { Value: 3, Text: \"Hata Talebi\" },\r\n { Value: 4, Text: \"Kurulum ve Sorgu Talebi\" },\r\n];\r\n\r\nconst TEKLIF_BIRIMI = { TRY: { Value: \"TRY\", Text: \"TRY\" } };\r\n\r\nconst EVET_HAYIR = {\r\n EVET: { Value: 1, Text: \"Evet\" },\r\n HAYIR: { Value: 2, Text: \"Hayır\" },\r\n};\r\n\r\nconst YETKI_GRUBU_TIPI = {\r\n HARMONY_ADMIN: { Value: 1, Text: \"Harmony Admin\" },\r\n HARMONY_DESTEK: { Value: 2, Text: \"Harmony Destek\" },\r\n MUSTERI: { Value: 3, Text: \"Müşteri\" },\r\n BAYI: { Value: 4, Text: \"Bayi\" },\r\n BAYI_DESTEK: { Value: 5, Text: \"Bayi Destek\" },\r\n};\r\n\r\n// Eski Talep durumu\r\n\r\nconst TALEP_DURUMU = {\r\n YENI_TALEP: { Value: 21, Text: \"Yeni Talep\", Color: \"#f44336\" },\r\n CALISMA_YAPILIYOR: { Value: 22, Text: \"Çalışma Yapılıyor\", Color: \"#7ad17e\" },\r\n MERKEZE_ILETILDI: { Value: 23, Text: \"Merkeze İletildi\", Color: \"#5dd9d9\" },\r\n YAPILMASI_UYGUN_GORULMEDI: {\r\n Value: 24,\r\n Text: \"Yapılması Uygun Görülmedi\",\r\n Color: \"#964B00\",\r\n },\r\n TEKLIFE_CEVAP_BEKLENIYOR: {\r\n Value: 25,\r\n Text: \"Teklife Cevap Bekleniyor\",\r\n Color: \"#FF7F00\",\r\n },\r\n TEKLIF_ONAYLANDI: { Value: 26, Text: \"Teklif Onaylandı\", Color: \"#7ad17e\" },\r\n TEKLIF_REDDEDILDI: { Value: 27, Text: \"Teklif Reddedildi\", Color: \"#964B00\" },\r\n ONAYLI_TEKLIF_YAPILIYOR: {\r\n Value: 28,\r\n Text: \"Onaylı Teklif Yapılıyor\",\r\n Color: \"#7ad17e\",\r\n },\r\n ONAYLI_TEKLIF_TAMAMLANDI: {\r\n Value: 29,\r\n Text: \"Onaylı Teklif Tamamlandı\",\r\n Color: \"#2e7d32\",\r\n },\r\n TAMAMLANDI: { Value: 30, Text: \"Tamamlandı\", Color: \"#2e7d32\" },\r\n GUNCELLEME_BEKLIYOR: {\r\n Value: 31,\r\n Text: \"Güncelleme Bekliyor\",\r\n Color: \"#d9d92c\",\r\n },\r\n TEKLIFLENDIRME_SURECINDE: {\r\n Value: 32,\r\n Text: \"Tekliflendirme Sürecinde\",\r\n Color: \"#FF7F01\",\r\n },\r\n};\r\n\r\n// const TALEP_DURUMU = {\r\n// YENI_TALEP: { Value: 1, Text: \"Yeni Talep\", Color: \"#379237\" },\r\n// ANALIZ_EDILIYOR: { Value: 2, Text: \"Analiz Ediliyor\", Color: \"#37E2D5\" },\r\n// // CEVAP_BEKLENIYOR: { Value: 10, Text: \"Cevap Bekleniyor\", Color: \"#BA94D1\" },\r\n// // TEKLIF_VERILDI: { Value: 3, Text: \"Teklif Verildi\", Color: \"#84D2C5\" },\r\n// // TEKLIF_REDDEDILDI: { Value: 4, Text: \"Teklif Reddedildi\", Color: \"#EB596E\" },\r\n// // TEKLIF_ONAYLANDI: { Value: 5, Text: \"Teklif Onaylandı\", Color: \"#54E346\" },\r\n// YAZILIM_SURECINDE: {\r\n// Value: 6,\r\n// Text: \"Yazılım Sürecine Alındı\",\r\n// Color: \"#61A4BC\",\r\n// },\r\n// YAPILMASI_UYGUN_GORULMEDI: {\r\n// Value: 7,\r\n// Text: \"Yapılması Uygun Görülmedi\",\r\n// Color: \"#F58634\",\r\n// },\r\n// GUNCELLEME_BEKLIYOR: {\r\n// Value: 8,\r\n// Text: \"Güncelleme Bekliyor\",\r\n// Color: \"#FFCC29\",\r\n// },\r\n// PROGRAMA_EKLENDI: { Value: 9, Text: \"Programa Eklendi\", Color: \"#4700D8\" },\r\n// FIRMA_TARAFINDAN_KAPATILDI: {\r\n// Value: 11,\r\n// Text: \"Firma Tarafından Kapatıldı\",\r\n// Color: \"#820000\",\r\n// },\r\n// // BAYIYE_TEKLIF_VERILDI: {\r\n// // Value: 12,\r\n// // Text: \"Teklif Bayiye İletildi\",\r\n// // Color: \"#84D2C5\",\r\n// // },\r\n// TALEP_MERKEZE_ILETILDI: {\r\n// Value: 13,\r\n// Text: \"Talep Merkeze İletildi\",\r\n// Color: \"#84D2C5\",\r\n// },\r\n// };\r\n\r\nconst TALEP_TEKLIF_DURUMU = {\r\n BAYIYE_TEKLIF_VERILDI: {\r\n Value: 1,\r\n Text: \"Bayiye Teklif Verildi\",\r\n Color: \"#379237\",\r\n },\r\n MUSTERIYE_TEKLIF_VERILDI: {\r\n Value: 2,\r\n Text: \"Müşteriye Teklif Verildi\",\r\n Color: \"#BA94D1\",\r\n },\r\n MUSTERI_TEKLIFI_REDDETTI: {\r\n Value: 3,\r\n Text: \"Müşteri Teklifi Reddetti\",\r\n Color: \"#EB596E\",\r\n },\r\n MUSTERI_TEKLIFI_ONAYLADI: {\r\n Value: 4,\r\n Text: \"Müşteri Teklifi Onayladı\",\r\n Color: \"#54E346\",\r\n },\r\n};\r\n\r\nconst TALEP_DURUMU_FILTER = [\r\n { Value: 1, Text: \"İşleme Alındı\" },\r\n { Value: 2, Text: \"Tamamlandı\" },\r\n { Value: 3, Text: \"Diğer\" },\r\n];\r\n\r\nconst EKRAN_KODU = {\r\n ANASAYFA: { value: \"AnaSayfa_Res\", text: \"Anasayfa\" },\r\n KULLANICILAR: { value: \"Kullanicilar_Res\", text: \"Kullanıcılar\" },\r\n YETKILER: { value: \"Yetki_Res\", text: \"Yetkiler\" },\r\n MUSTERI_TALEP: { value: \"Musteri_Talep_Res\", text: \"Müşteri Talep\" },\r\n PROFIL: { value: \"Profil_Res\", text: \"Profil\" },\r\n SIRKET: { value: \"Sirket_Res\", text: \"Şirket\" },\r\n DESTEK: { value: \"Destek_Res\", text: \"Destek\" },\r\n DESTEK_GECMISI: { value: \"Destek_Gecmisi_Res\", text: \"Destek Geçmişi\" },\r\n GOREVLER: { value: \"Gorev_Res\", text: \"Görev\" },\r\n RAPORLAR: { value: \"Rapor_Res\", text: \"Rapor\" },\r\n NOTLAR: { value: \"Not_Res\", text: \"Not\" },\r\n TAHSILAT_TAKIP: { value: \"Tahsilat_Takip_Res\", text: \"Tahsilat Takip\" },\r\n TANIMLAMALAR: { value: \"Tanimlamalar_Res\", text: \"Tanımlamalar\" },\r\n KULLANICI_BILGILERI: {\r\n value: \"KullaniciBilgileri_Res\",\r\n text: \"Kullanıcı Bilgileri\",\r\n },\r\n TOPLANTI: { value: \"Toplanti_Res\", text: \"Toplantı\" },\r\n KONTROL_EDILECEK_ISLER: {\r\n value: \"KontrolEdilecekIsler_Res\",\r\n text: \"Kontrol Edilecek İşler\",\r\n },\r\n ANLASMA_BILGILERI: {\r\n value: \"AnlasmaBilgileri_Res\",\r\n text: \"Anlaşma Bilgileri\",\r\n },\r\n ANLASMA_BILGILERI_ERP: {\r\n value: \"AnlasmaBilgileriERP_Res\",\r\n text: \"Anlaşma Bilgileri (ERP)\",\r\n },\r\n ANLASMA_BILGILERI_CLOUD: {\r\n value: \"AnlasmaBilgileriCloud_Res\",\r\n text: \"Anlaşma Bilgileri (Cloud)\",\r\n },\r\n\r\n LISANS_PAKET_BILGILERI_ERP: {\r\n value: \"LisansPaketBilgileriERP_Res\",\r\n text: \"Lisans Paket Bilgileri (ERP)\",\r\n },\r\n LISANS_PAKET_BILGILERI_CLOUD: {\r\n value: \"LisansPaketBilgileriCloud_Res\",\r\n text: \"Lisans Paket Bilgileri (Cloud)\",\r\n },\r\n\r\n URUNLER: { value: \"Urunler_Res\", text: \"Ürünler\" },\r\n FIYAT_LISTE_MASTER: { value: \"FiyatListeMaster_Res\", text: \"Fiyat Listesi\" },\r\n BAYILER: { value: \"Bayiler_Res\", text: \"Bayiler\" },\r\n POTANSIYELMUSTERI: {\r\n value: \"PotansiyelMusteri_Res\",\r\n text: \"Potansiyel Müşteri\",\r\n },\r\n TEKLIFMASTER: {\r\n value: \"TeklifMaster_Res\",\r\n text: \"Satış Teklifi\",\r\n },\r\n GORUSMELER: {\r\n value: \"Gorusmeler_Res\",\r\n text: \"Görüşmeler\",\r\n },\r\n ATANAN_GORUSMELER: {\r\n value: \"AtananGorusmeler_Res\",\r\n text: \"Atanan Görüşmeler\",\r\n },\r\n PROJESURECTAKIP: {\r\n value: \"ProjeSurecTakip_Res\",\r\n text: \"Proje Süreç Takip\",\r\n },\r\n GOREVLER_GANTT: { value: \"GorevlerGantt_Res\", text: \"Görevler Gantt\" },\r\n SIRKET_BAZLI_SURE_ANALIZI: {\r\n value: \"SirketBazliSureAnalizi_Res\",\r\n text: \"Müşteri Bazlı Süre Raporu\",\r\n },\r\n KULLANICI_ANALIZI: {\r\n value: \"KullaniciAnalizi_Res\",\r\n text: \"Kullanıcı Analizi\",\r\n },\r\n IS_SONUCLARI_RAPORU: {\r\n value: \"IsSonuclariRaporu_Res\",\r\n text: \"İş Sonuçları Raporu\",\r\n },\r\n MAIL_OLAYLARI_DUZENLE: {\r\n value: \"MailOlaylariDuzenle_Res\",\r\n text: \"Mail Olaylarını Düzenle\",\r\n },\r\n GOREV_DURUMU_RAPORU: {\r\n value: \"GorevDurumuRaporu_Res\",\r\n text: \"Görev Durumu Raporu\",\r\n },\r\n MUSTERI_LISANS_DURUMU_RAPORU: {\r\n value: \"MusteriLisansDurumuRaporu_Res\",\r\n text: \"Müşteri Lisans Durumu Raporu\",\r\n },\r\n};\r\n\r\nconst ONCELIK_DURUMU = [\r\n { Value: 1, Text: \"Standart\" },\r\n { Value: 2, Text: \"Önemli\" },\r\n { Value: 3, Text: \"Çok Önemli\" },\r\n { Value: 4, Text: \"Acil\" },\r\n];\r\n\r\nconst ILGILI_MODUL = {\r\n TEDARIK_ZINCIRI_YONETIMI: { Value: 1, Text: \"Tedarik Zinciri Yönetimi\" },\r\n MUHASEBE_FINANS_YONETIMI: { Value: 2, Text: \"Muhasebe Finans Yönetimi\" },\r\n INSAN_KAYNAKLARI_YONETIMI: { Value: 3, Text: \"İnsan Kaynakları Yönetimi\" },\r\n DIGER: { Value: 4, Text: \"Diğer\" },\r\n};\r\n\r\nconst ONAY_RED_DURUMU = {\r\n BELIRTILMEDI: { Value: 0, Text: \"Belirtilmedi\" },\r\n ONAY: { Value: 1, Text: \"Onay\" },\r\n RED: { Value: 2, Text: \"Red\" },\r\n};\r\n\r\nconst AY = [\r\n { Value: 1, Text: \"Ocak\" },\r\n { Value: 2, Text: \"Şubat\" },\r\n { Value: 3, Text: \"Mart\" },\r\n { Value: 4, Text: \"Nisan\" },\r\n { Value: 5, Text: \"Mayıs\" },\r\n { Value: 6, Text: \"Haziran\" },\r\n { Value: 7, Text: \"Temmuz\" },\r\n { Value: 8, Text: \"Ağustos\" },\r\n { Value: 9, Text: \"Eylül\" },\r\n { Value: 10, Text: \"Ekim\" },\r\n { Value: 11, Text: \"Kasım\" },\r\n { Value: 12, Text: \"Aralık\" },\r\n];\r\n\r\n\r\n\r\nconst ISLEM_TURU = {\r\n GENEL_YAZILIM_OPERASYONU: {\r\n Value: 1,\r\n Text: \"Genel Yazılım Operasyonu\",\r\n },\r\n ANALIZ_VE_TEST: { Value: 2, Text: \"Analiz ve Test\" },\r\n KURULUM: { Value: 3, Text: \"Kurulum\" },\r\n EGITIM: { Value: 4, Text: \"Eğitim\" },\r\n PARTI_PROGRAMA_VERILEN_DESTEKLER: {\r\n Value: 5,\r\n Text: \"3. Parti Programa Verilen Destekler\",\r\n },\r\n DANISMANLIK: { Value: 6, Text: \"Danışmanlık\" },\r\n INCELEME: { Value: 7, Text: \"İnceleme\" },\r\n HATA_DUZELTME: { Value: 9, Text: \"Hata Düzeltme\" },\r\n};\r\n\r\nconst DESTEK_ISLEM_TURU = {\r\n PARTI_PROGRAMA_VERILEN_DESTEKLER: {\r\n Value: 1,\r\n Text: \"3. Parti Programa Verilen Destekler\",\r\n },\r\n ANALIZ_VE_TEST: { Value: 2, Text: \"Analiz ve Test\" },\r\n EGITIM: { Value: 3, Text: \"Uzaktan Eğitim\" },\r\n FIRMA_ZIYARETI: { Value: 4, Text: \"Firma Ziyareti\" },\r\n GENEL_DESTEK: { Value: 5, Text: \"Genel Destek\" },\r\n GUNCELLEME: { Value: 6, Text: \"Güncelleme\" },\r\n KURULUM: { Value: 7, Text: \"Kurulum\" },\r\n YAZILIMSAL_DESTEK: { Value: 8, Text: \"Yazılımsal Destek\" },\r\n YAZILIMSAL_HATA: { Value: 9, Text: \"Yazılımsal Hata\" },\r\n INCELEME: { Value: 10, Text: \"İnceleme\" },\r\n};\r\n\r\nconst RAPOR_KATEGORI = {\r\n TALEP: { Value: 1, Text: \"Talep\" },\r\n DESTEK: { Value: 2, Text: \"Destek\" },\r\n};\r\n\r\nconst ISIN_DURUMU = {\r\n YENI_IS: { Value: 11, Text: \"Yeni İş\" },\r\n // ANALIZ_EDILIYOR: { Value: 12, Text: \"Analiz Ediliyor\" },\r\n UZERINDE_CALISILIYOR: { Value: 13, Text: \"Süreç Detayı Ekle\" },\r\n YAZILIM_TESTI: { Value: 14, Text: \"Yazılım Testine Gönder\" },\r\n TEST_EDILIYOR: { Value: 15, Text: \"Kullanıcı Testine Gönder\" },\r\n ARA_VERILDI: { Value: 16, Text: \"Göreve Ara Ver\" },\r\n CEVAP_BEKLENIYOR: { Value: 17, Text: \"Görev İçin Soru Sor\" },\r\n TAMAMLANDI: { Value: 18, Text: \"Görevi Tamamla\" },\r\n GOREVI_YONLENDIR: { Value: 19, Text: \"Görevi Ata\" },\r\n};\r\n\r\nconst ISIN_DURUMU_STR = {\r\n YENI_IS: { Value: 11, Text: \"Yeni İş\" },\r\n // ANALIZ_EDILIYOR: { Value: 12, Text: \"Analiz Ediliyor\" },\r\n UZERINDE_CALISILIYOR: { Value: 13, Text: \"Üzerinde Çalışılıyor\" },\r\n YAZILIM_TESTI: { Value: 14, Text: \"Yazılım Testinde\" },\r\n TEST_EDILIYOR: { Value: 15, Text: \"Kullanıcı Testinde\" },\r\n ARA_VERILDI: { Value: 16, Text: \"Ara Verildi\" },\r\n CEVAP_BEKLENIYOR: { Value: 17, Text: \"Cevap Bekleniyor\" },\r\n TAMAMLANDI: { Value: 18, Text: \"Tamamlandı\" },\r\n GOREVI_YONLENDIR: { Value: 19, Text: \"Üzerinde Çalışılıyor\" },\r\n};\r\n\r\nconst GOREV_DURUMU_FOR_GOREV_DURUMU_RAPORU = {\r\n TAMAMLANDI: { Value: 1, Text: \"Tamamlandı\" },\r\n DEVAM_EDIYOR: { Value: 2, Text: \"Devam Ediyor\" },\r\n};\r\n\r\nconst APP_BAR_HEIGHT = \"42px\";\r\nconst FILTER_HEIGHT = \"200px\";\r\nconst TAB_HEIGHT = \"48px\";\r\n\r\nconst DATE_FORMAT = \"dd.MM.yyyy\";\r\nconst LOADING_DIV_ID = \"preloader\";\r\n\r\nconst TUTAR_FORMAT = \"0##,###.00\";\r\nconst DRAWER_WIDTH = 280;\r\n\r\nconst ISIN_DURUMU_FILTER = {\r\n TAMAMLANDI: { Value: 1, Text: \"Tamamlandı\" },\r\n DEVAM_EDIYOR: { Value: 2, Text: \"Devam Ediyor\" },\r\n GELISTIRME_YAPILMAYACAK: { Value: 3, Text: \"Geliştirme Yapılmayacak\" },\r\n BOS_OLANLAR: { Value: 4, Text: \"Boş\" },\r\n};\r\n\r\nconst TAHSILAT_DURUMU = {\r\n TAHSILAT_YAPILMADI: { Value: false, Text: \"Tahsilat Yapılmadı\" },\r\n TAHSILAT_YAPILDI: { Value: true, Text: \"Tahsilat Yapıldı\" },\r\n};\r\n\r\nconst PLAN_TIP = {\r\n TOPLANTI: { Value: 1, Text: \"Toplantı\" },\r\n};\r\n\r\nconst PLAN_DURUM = {\r\n PLANLANDI: { Value: 1, Text: \"Planlandı\" },\r\n GERCEKLESTI: { Value: 2, Text: \"Gerçekleşti\" },\r\n BEKLEMEDE: { Value: 3, Text: \"Beklemede\" },\r\n IPTAL_EDILDI: { Value: 4, Text: \"İptal Edildi\" },\r\n};\r\n\r\nconst URUN_TIP = {\r\n MODUL: { Value: 1, Text: \"Ürün\" },\r\n PAKET: { Value: 2, Text: \"Paket\" },\r\n BAGIMSIZ: { Value: 3, Text: \"Bağımsız\" },\r\n EKKULLANICI: { Value: 4, Text: \"Ek Kullanıcı\" },\r\n};\r\n\r\nconst URUN_TIP_MODULPAKET = {\r\n MODUL: { Value: 1, Text: \"Ürün\" },\r\n PAKET: { Value: 2, Text: \"Paket\" },\r\n EKKULLANICI: { Value: 4, Text: \"Ek Kullanıcı\" },\r\n};\r\n\r\nconst URUN_PROGRAMLARI = {\r\n HARMONYERP: { Value: 1, Text: \"HarmonyERP\" },\r\n HARMONYCLOUD: { Value: 2, Text: \"HarmonyCLOUD\" },\r\n};\r\n\r\nconst AKTIF_PASIF = {\r\n AKTIF: { Value: true, Text: \"Aktif\" },\r\n PASIF: { Value: false, Text: \"Pasif\" },\r\n};\r\n\r\nconst PARA_BIRIMI = {\r\n TL: { Value: \"TL\", Text: \"TL\" },\r\n USD: { Value: \"USD\", Text: \"USD\" },\r\n EUR: { Value: \"EUR\", Text: \"EUR\" },\r\n};\r\n\r\nconst STOK_BIRIM = {\r\n AdamGun: { Value: \"AdamGun\", Text: \"Adam/Gün\" },\r\n AdamSaat: { Value: \"AdamSaat\", Text: \"Adam/Saat\" },\r\n};\r\n\r\nconst TEKLIF_DURUMU = {\r\n DUZENLENIYOR: { Value: 1, Text: \"Düzenleniyor\" },\r\n ONAYLANDI: { Value: 2, Text: \"Sözleşme İmzalandı\" },\r\n BEKLEMEDE: { Value: 3, Text: \"Beklemede\" },\r\n REDDEDILDI: { Value: 4, Text: \"Reddedildi\" },\r\n};\r\n\r\nconst CARI_TIPI = {\r\n MUSTERI: { Value: 1, Text: \"Müşteri\" },\r\n POTMUSTERI: { Value: 2, Text: \"Potansiyel Müşteri\" },\r\n};\r\n\r\nconst GORUSME_TIPI = {\r\n TELEFON: { Value: 1, Text: \"Telefon Görüşmesi\" },\r\n FIRMA_ZIYARETI: { Value: 2, Text: \"Firma Ziyareti\" },\r\n ONLINE_TOPLANTI: { Value: 3, Text: \"Online Toplantı\" },\r\n KONFERANS: { Value: 4, Text: \"Konferans\" },\r\n FUAR: { Value: 5, Text: \"Fuar\" },\r\n MAIL: { Value: 6, Text: \"Mail\" },\r\n};\r\n\r\nconst GORUSME_DURUMU = {\r\n ILK_GORUSME: { Value: 1, Text: \"İlk Görüşme\" },\r\n DEMO_SURECI: { Value: 2, Text: \"Demo Sürecinde\" },\r\n TEKLIF_SURECINDE: { Value: 3, Text: \"Tekliflendirme Sürecinde\" },\r\n // ON_GORUSME: { Value: 3, Text: \"Ön Görüşme\" },\r\n SATIS_GERCEKLESTI: { Value: 4, Text: \"Satış Gerçekleşti\" },\r\n OLUMSUZ_SONUCLANDI: { Value: 5, Text: \"Olumsuz Sonuçlandı\" },\r\n};\r\n\r\nconst ATAMALI_GORUSME_DURUMU = {\r\n ILK_GORUSME: { Value: 1, Text: \"İlk Görüşme\" },\r\n DEMO_SURECI: { Value: 2, Text: \"Demo Sürecinde\" },\r\n TEKLIF_SURECINDE: { Value: 3, Text: \"Tekliflendirme Sürecinde\" },\r\n // ON_GORUSME: { Value: 3, Text: \"Ön Görüşme\" },\r\n SATIS_GERCEKLESTI: { Value: 4, Text: \"Satış Gerçekleşti\" },\r\n OLUMSUZ_SONUCLANDI: { Value: 5, Text: \"Olumsuz Sonuçlandı\" },\r\n YONLENDIRME: { Value: 6, Text: \"Yönlendirme\" },\r\n};\r\n\r\nconst ATAMALI_GORUSME_TIPI = {\r\n TELEFON: { Value: 1, Text: \"Telefon Görüşmesi\" },\r\n FIRMA_ZIYARETI: { Value: 2, Text: \"Firma Ziyareti\" },\r\n ONLINE_TOPLANTI: { Value: 3, Text: \"Online Toplantı\" },\r\n KONFERANS: { Value: 4, Text: \"Konferans\" },\r\n FUAR: { Value: 5, Text: \"Fuar\" },\r\n MAIL: { Value: 6, Text: \"Mail\" },\r\n ATANAN_GORUSME: { Value: 7, Text: \"Atanan Görüşme\" },\r\n};\r\n\r\nconst GORUSME_ALINACAK_AKSIYON = {\r\n MUSTERIYE_DONUS_YAPILACAK: { Value: 1, Text: \"Müşteriye Dönüş Yapılacak\" },\r\n MUSTERIDEN_CEVAP_BEKLENIYOR: { Value: 2, Text: \"Müşteriden Cevap/Veri Bekleniyor\" },\r\n REFERANSTAN_CEVAP_BEKLENIYOR: { Value: 3, Text: \"Referanstan Cevap Bekleniyor\" },\r\n SUREC_TAMAMLANDI: { Value: 4, Text: \"Süreç Tamamlandı\" },\r\n}\r\n\r\nconst GORUSME_MAIL_OLAYLARI = {\r\n YENI_GORUSME_OLUSUTURLDUGUNDA: { Value: 11, Text: \"Yeni Görüşme Olduğunda\" },\r\n GORUSMEYE_DETAY_EKLENDIGINDE: {\r\n Value: 12,\r\n Text: \"Görüşmeye Detay Eklendiğinde\",\r\n },\r\n GORUSME_HATIRLATMA: {\r\n Value: 16,\r\n Text: \"Manuel Görüşme Hatırlatma\",\r\n },\r\n GORUSME_ATAMA: {\r\n Value: 17,\r\n Text: \"Görüşme Atama\",\r\n },\r\n};\r\n\r\nconst TEKLIF_MAIL_OLAYLARI = {\r\n YENI_TEKLIF_OLUSTURULDUGUNDA: { Value: 13, Text: \"Yeni Teklif Olduğunda\" },\r\n TEKLIF_ONAYLANDIGINDA: { Value: 14, Text: \"Teklif Onaylandığında\" },\r\n TEKLIF_REDDEDILDIGINDE: { Value: 15, Text: \"Teklif Reddedildiğinde\" },\r\n};\r\n\r\nconst SOZLESME_MAIL_OLAYLARI = {\r\n SOZLESME_YENILEMEYE_X_GUN_KALDIGINDA: { Value: 18, Text: \"Sözleşme Yenilemeye X Gün Kaldığında\" },\r\n};\r\n\r\nconst BAYI_TALEP_DURUMU = {\r\n ONAYLANDI: { Value: 2, Text: \"Onaylandı\" },\r\n REDDEDILDI: { Value: 3, Text: \"Reddedildi\" },\r\n};\r\n\r\nconst TAHSILAT_DURUMU_INT = {\r\n TAHSILAT_YAPILDI: { Value: 1, Text: \"Tahsil Edildi\" },\r\n TAHSILAT_YAPILMADI: { Value: 2, Text: \"Tahsil Edilmedi\" },\r\n YAR_TAHSILAT_YAPILDI: { Value: 3, Text: \"Yarım Tahsil Edildi\" },\r\n};\r\n\r\nconst GORUSME_KAYNAK = {\r\n WEB_FORMU: { Value: 1, Text: \"Web Formu\" },\r\n GELEN_ARAMA: { Value: 2, Text: \"Gelen arama\" },\r\n GELEN_EMAIL: { Value: 3, Text: \"Gelen e-mail\" },\r\n GIDEN_ARAMA: { Value: 4, Text: \"Giden arama\" },\r\n GIDEN_EMAIL: { Value: 5, Text: \"Giden e-mail\" },\r\n REFERANS: { Value: 6, Text: \"Referans\" },\r\n MERKEZ_CALISAN: { Value: 7, Text: \"Merkez Çalışan\" },\r\n BAYI: { Value: 8, Text: \"Bayi/Distributor\" },\r\n FUAR_ETKINLIK: { Value: 9, Text: \"Fuar/Etkinlik\" },\r\n INSTAGRAM: { Value: 10, Text: \"Instagram\" },\r\n FACEBOOK: { Value: 11, Text: \"Facebook\" },\r\n X_TWITTER: { Value: 12, Text: \"X(Twitter)\" },\r\n};\r\n\r\nconst CALISAN_SAY_ARALIGI = {\r\n CAL1: { Value: 1, Text: \"1-10 çalışan\" },\r\n CAL2: { Value: 2, Text: \"11-50 çalışan\" },\r\n CAL3: { Value: 3, Text: \"51-200 çalışan\" },\r\n CAL4: { Value: 4, Text: \"201-500 çalışan\" },\r\n CAL5: { Value: 5, Text: \"501-1.000 çalışan\" },\r\n CAL6: { Value: 6, Text: \"1.001-5.000 çalışan\" },\r\n CAL7: { Value: 7, Text: \"5.001-10.000 çalışan\" },\r\n CAL8: { Value: 8, Text: \"10.001+ çalışan\" },\r\n};\r\n\r\nconst DINAMIK_TANIM_TIPLERI = {\r\n PROGRAM: { Value: 1 },\r\n ILETISIM_DURUMU: { Value: 2 },\r\n SEKTOR: { Value: 3 },\r\n POTANSIYEL_KISI_GOREVI: { Value: 4 },\r\n SIRKET_KISI_GOREVI: { Value: 4 },\r\n};\r\n\r\nconst ANALIZ_TIPI = {\r\n AKSIYON_ANALIZI: { Value: 1 },\r\n TEST_KLAVUZU: { Value: 2 },\r\n};\r\n\r\nconst POTANSIYEL_MUSTERI_TIPI = {\r\n MUSTERI: { Value: 1, Text: \"Müşteri\" },\r\n BAYI: { Value: 2, Text: \"Bayi\" },\r\n PARTNETLIK: { Value: 3, Text: \"Partnerlik/İşbirliği\" },\r\n};\r\n\r\nconst GUN_AY_YIL = {\r\n GUN: { Value: 1, Text: \"Gün\" },\r\n AY: { Value: 2, Text: \"Ay\" },\r\n YIL: { Value: 3, Text: \"Yıl\" },\r\n};\r\n\r\nconst ODEME_SEKLI = {\r\n HAVALE: { Value: 1, Text: \"Havale\" },\r\n KREDI_KARTI: { Value: 2, Text: \"Kredi Kartı\" },\r\n CEK: { Value: 3, Text: \"Çek\" },\r\n NAKIT: { Value: 4, Text: \"Nakit\" },\r\n};\r\n\r\nexport {\r\n apiUrl,\r\n TALEP_TIPI,\r\n TALEP_DURUMU,\r\n EKRAN_KODU,\r\n ONCELIK_DURUMU,\r\n ONAY_RED_DURUMU,\r\n APP_BAR_HEIGHT,\r\n FILTER_HEIGHT,\r\n DATE_FORMAT,\r\n LOADING_DIV_ID,\r\n TALEP_DURUMU_FILTER,\r\n YETKI_GRUBU_TIPI,\r\n TEKLIF_BIRIMI,\r\n TUTAR_FORMAT,\r\n AY,\r\n ISLEM_TURU,\r\n RAPOR_KATEGORI,\r\n ISIN_DURUMU,\r\n DRAWER_WIDTH,\r\n ISIN_DURUMU_FILTER,\r\n ILGILI_MODUL,\r\n TAHSILAT_DURUMU,\r\n TAB_HEIGHT,\r\n PLAN_TIP,\r\n PLAN_DURUM,\r\n DESTEK_ISLEM_TURU,\r\n URUN_TIP,\r\n AKTIF_PASIF,\r\n PARA_BIRIMI,\r\n TEKLIF_DURUMU,\r\n CARI_TIPI,\r\n GORUSME_TIPI,\r\n GORUSME_DURUMU,\r\n BAYI_TALEP_DURUMU,\r\n URUN_TIP_MODULPAKET,\r\n TAHSILAT_DURUMU_INT,\r\n TALEP_TEKLIF_DURUMU,\r\n GORUSME_KAYNAK,\r\n CALISAN_SAY_ARALIGI,\r\n DINAMIK_TANIM_TIPLERI,\r\n STOK_BIRIM,\r\n ANALIZ_TIPI,\r\n URUN_PROGRAMLARI,\r\n ISIN_DURUMU_STR,\r\n GORUSME_MAIL_OLAYLARI,\r\n TEKLIF_MAIL_OLAYLARI,\r\n EVET_HAYIR,\r\n GOREV_DURUMU_FOR_GOREV_DURUMU_RAPORU,\r\n POTANSIYEL_MUSTERI_TIPI,\r\n ATAMALI_GORUSME_DURUMU,\r\n ATAMALI_GORUSME_TIPI,\r\n GUN_AY_YIL,\r\n ODEME_SEKLI,\r\n SOZLESME_MAIL_OLAYLARI,\r\n GORUSME_ALINACAK_AKSIYON\r\n};\r\n","import axios from \"axios\";\r\nimport { apiUrl } from \"../common/constants\";\r\n\r\nvar Http = axios.create({\r\n baseURL: apiUrl,\r\n headers: {\r\n \"Content-Type\": \"application/json; charset=utf-8\",\r\n Accept: \"application/json\",\r\n },\r\n timeout: 40000,\r\n /* transformRequest: [function (data) {\r\n return querystring.stringify(data);\r\n }],*/\r\n withCredentials: false,\r\n});\r\n\r\nclass AuthService {\r\n login(username, password) {\r\n return axios({\r\n method: \"post\",\r\n url: apiUrl + \"Auth/Login\",\r\n headers: {\r\n accept: \"*/*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n data: JSON.stringify({\r\n kullaniciAdi: username,\r\n sifre: password,\r\n }),\r\n }).then((response) => {\r\n if (response?.data?.success) {\r\n localStorage.setItem(\r\n \"user\",\r\n JSON.stringify({ token: response.data.data.token })\r\n );\r\n }\r\n\r\n return response.data;\r\n });\r\n }\r\n\r\n logout(context) {\r\n localStorage.removeItem(\"user\");\r\n context.userParamsRef.current = null;\r\n }\r\n\r\n getCurrentUser() {\r\n return JSON.parse(localStorage.getItem(\"user\"));\r\n }\r\n}\r\n\r\nconst authService = new AuthService();\r\n\r\nexport default authService;\r\n","import axios from \"axios\";\r\nimport AuthService from \"../services/AuthService\";\r\nimport { apiUrl } from \"./constants\";\r\n\r\nconst HttpAuthorized = axios.create({\r\n baseURL: apiUrl,\r\n headers: {\r\n \"Content-Type\": \"application/json; charset=utf-8\",\r\n Accept: \"application/json\",\r\n },\r\n timeout: 120000,\r\n withCredentials: false,\r\n});\r\n\r\nHttpAuthorized.interceptors.request.use(\r\n function (config) {\r\n const currentUser = AuthService.getCurrentUser();\r\n if (currentUser) {\r\n config.headers.Authorization = currentUser.token;\r\n }\r\n return config;\r\n },\r\n function (error) {\r\n return Promise.reject(error);\r\n }\r\n);\r\n\r\n//todo-------------------------Http-------------------------------------\r\n\r\nvar Http = axios.create({\r\n baseURL: apiUrl,\r\n headers: {\r\n \"Content-Type\": \"application/json; charset=utf-8\",\r\n Accept: \"application/json\",\r\n },\r\n timeout: 40000,\r\n withCredentials: false,\r\n});\r\n\r\n//todo-------------------------HttpAuthorizedFile-------------------------------\r\n\r\nvar HttpAuthorizedFile = axios.create({\r\n baseURL: apiUrl,\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n Accept: \"*/*\",\r\n },\r\n timeout: 40000,\r\n withCredentials: false,\r\n});\r\n\r\nHttpAuthorizedFile.interceptors.request.use(\r\n function (config) {\r\n const currentUser = AuthService.getCurrentUser();\r\n if (currentUser) {\r\n config.headers.Authorization = currentUser.token;\r\n }\r\n return config;\r\n },\r\n function (error) {\r\n return Promise.reject(error);\r\n }\r\n);\r\n\r\n//todo-------------------------HttpAuthorizedBlob-----------------------------\r\nvar HttpAuthorizedBlob = axios.create({\r\n baseURL: apiUrl,\r\n headers: {\r\n \"Content-Type\": \"application/json; charset=utf-8\",\r\n Accept: \"application/json\",\r\n },\r\n timeout: 40000,\r\n withCredentials: false,\r\n responseType: \"blob\",\r\n});\r\n\r\nHttpAuthorizedBlob.interceptors.request.use(\r\n function (config) {\r\n const currentUser = AuthService.getCurrentUser();\r\n if (currentUser) {\r\n config.headers.Authorization = currentUser.token;\r\n }\r\n return config;\r\n },\r\n function (error) {\r\n return Promise.reject(error);\r\n }\r\n);\r\n\r\nexport { HttpAuthorized, Http, HttpAuthorizedFile, HttpAuthorizedBlob };\r\n","import React from \"react\";\r\nimport { Navigate } from \"react-router-dom\";\r\nimport AuthService from \"../../services/AuthService\";\r\n\r\nconst PrivateRoute = ({ children }) => {\r\n let user = AuthService.getCurrentUser();\r\n if (!user?.token || user?.token === \"\") {\r\n return <Navigate to=\"/login\" replace />;\r\n }\r\n\r\n return children;\r\n};\r\n\r\nexport default PrivateRoute;\r\n","import React from \"react\";\r\nimport { Navigate } from \"react-router-dom\";\r\nimport AuthService from \"../../services/AuthService\";\r\n\r\nexport default function GardiyanRoute({ children }) {\r\n let user = AuthService.getCurrentUser();\r\n if (user?.token) {\r\n return <Navigate to=\"/\" replace />;\r\n }\r\n\r\n return children;\r\n}\r\n","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };","export default {\n disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * <Transition in={inProp} timeout={duration}>\n * {state => (\n * <div style={{\n * ...defaultStyle,\n * ...transitionStyles[state]\n * }}>\n * I'm a fade Transition!\n * </div>\n * )}\n * </Transition>\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * <div>\n * <Transition in={inProp} timeout={500}>\n * {state => (\n * // ...\n * )}\n * </Transition>\n * <button onClick={() => setInProp(true)}>\n * Click to Enter\n * </button>\n * </div>\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * <Transition in={this.state.in} timeout={150}>\n * {state => (\n * <MyComponent className={`fade fade-${state}`} />\n * )}\n * </Transition>\n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `<CSSTransition>` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","export const reflow = node => node.scrollTop;\nexport function getTransitionProps(props, options) {\n var _style$transitionDura, _style$transitionTimi;\n const {\n timeout,\n easing,\n style = {}\n } = props;\n return {\n duration: (_style$transitionDura = style.transitionDuration) != null ? _style$transitionDura : typeof timeout === 'number' ? timeout : timeout[options.mode] || 0,\n easing: (_style$transitionTimi = style.transitionTimingFunction) != null ? _style$transitionTimi : typeof easing === 'object' ? easing[options.mode] : easing,\n delay: style.transitionDelay\n };\n}","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCollapseUtilityClass(slot) {\n return generateUtilityClass('MuiCollapse', slot);\n}\nconst collapseClasses = generateUtilityClasses('MuiCollapse', ['root', 'horizontal', 'vertical', 'entered', 'hidden', 'wrapper', 'wrapperInner']);\nexport default collapseClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"addEndListener\", \"children\", \"className\", \"collapsedSize\", \"component\", \"easing\", \"in\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"orientation\", \"style\", \"timeout\", \"TransitionComponent\"];\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport useTimeout from '@mui/utils/useTimeout';\nimport elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport { duration } from '../styles/createTransitions';\nimport { getTransitionProps } from '../transitions/utils';\nimport useTheme from '../styles/useTheme';\nimport { useForkRef } from '../utils';\nimport { getCollapseUtilityClass } from './collapseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n orientation,\n classes\n } = ownerState;\n const slots = {\n root: ['root', `${orientation}`],\n entered: ['entered'],\n hidden: ['hidden'],\n wrapper: ['wrapper', `${orientation}`],\n wrapperInner: ['wrapperInner', `${orientation}`]\n };\n return composeClasses(slots, getCollapseUtilityClass, classes);\n};\nconst CollapseRoot = styled('div', {\n name: 'MuiCollapse',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.orientation], ownerState.state === 'entered' && styles.entered, ownerState.state === 'exited' && !ownerState.in && ownerState.collapsedSize === '0px' && styles.hidden];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n height: 0,\n overflow: 'hidden',\n transition: theme.transitions.create('height')\n}, ownerState.orientation === 'horizontal' && {\n height: 'auto',\n width: 0,\n transition: theme.transitions.create('width')\n}, ownerState.state === 'entered' && _extends({\n height: 'auto',\n overflow: 'visible'\n}, ownerState.orientation === 'horizontal' && {\n width: 'auto'\n}), ownerState.state === 'exited' && !ownerState.in && ownerState.collapsedSize === '0px' && {\n visibility: 'hidden'\n}));\nconst CollapseWrapper = styled('div', {\n name: 'MuiCollapse',\n slot: 'Wrapper',\n overridesResolver: (props, styles) => styles.wrapper\n})(({\n ownerState\n}) => _extends({\n // Hack to get children with a negative margin to not falsify the height computation.\n display: 'flex',\n width: '100%'\n}, ownerState.orientation === 'horizontal' && {\n width: 'auto',\n height: '100%'\n}));\nconst CollapseWrapperInner = styled('div', {\n name: 'MuiCollapse',\n slot: 'WrapperInner',\n overridesResolver: (props, styles) => styles.wrapperInner\n})(({\n ownerState\n}) => _extends({\n width: '100%'\n}, ownerState.orientation === 'horizontal' && {\n width: 'auto',\n height: '100%'\n}));\n\n/**\n * The Collapse transition is used by the\n * [Vertical Stepper](/material-ui/react-stepper/#vertical-stepper) StepContent component.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\nconst Collapse = /*#__PURE__*/React.forwardRef(function Collapse(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiCollapse'\n });\n const {\n addEndListener,\n children,\n className,\n collapsedSize: collapsedSizeProp = '0px',\n component,\n easing,\n in: inProp,\n onEnter,\n onEntered,\n onEntering,\n onExit,\n onExited,\n onExiting,\n orientation = 'vertical',\n style,\n timeout = duration.standard,\n // eslint-disable-next-line react/prop-types\n TransitionComponent = Transition\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n orientation,\n collapsedSize: collapsedSizeProp\n });\n const classes = useUtilityClasses(ownerState);\n const theme = useTheme();\n const timer = useTimeout();\n const wrapperRef = React.useRef(null);\n const autoTransitionDuration = React.useRef();\n const collapsedSize = typeof collapsedSizeProp === 'number' ? `${collapsedSizeProp}px` : collapsedSizeProp;\n const isHorizontal = orientation === 'horizontal';\n const size = isHorizontal ? 'width' : 'height';\n const nodeRef = React.useRef(null);\n const handleRef = useForkRef(ref, nodeRef);\n const normalizedTransitionCallback = callback => maybeIsAppearing => {\n if (callback) {\n const node = nodeRef.current;\n\n // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n if (maybeIsAppearing === undefined) {\n callback(node);\n } else {\n callback(node, maybeIsAppearing);\n }\n }\n };\n const getWrapperSize = () => wrapperRef.current ? wrapperRef.current[isHorizontal ? 'clientWidth' : 'clientHeight'] : 0;\n const handleEnter = normalizedTransitionCallback((node, isAppearing) => {\n if (wrapperRef.current && isHorizontal) {\n // Set absolute position to get the size of collapsed content\n wrapperRef.current.style.position = 'absolute';\n }\n node.style[size] = collapsedSize;\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n });\n const handleEntering = normalizedTransitionCallback((node, isAppearing) => {\n const wrapperSize = getWrapperSize();\n if (wrapperRef.current && isHorizontal) {\n // After the size is read reset the position back to default\n wrapperRef.current.style.position = '';\n }\n const {\n duration: transitionDuration,\n easing: transitionTimingFunction\n } = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'enter'\n });\n if (timeout === 'auto') {\n const duration2 = theme.transitions.getAutoHeightDuration(wrapperSize);\n node.style.transitionDuration = `${duration2}ms`;\n autoTransitionDuration.current = duration2;\n } else {\n node.style.transitionDuration = typeof transitionDuration === 'string' ? transitionDuration : `${transitionDuration}ms`;\n }\n node.style[size] = `${wrapperSize}px`;\n node.style.transitionTimingFunction = transitionTimingFunction;\n if (onEntering) {\n onEntering(node, isAppearing);\n }\n });\n const handleEntered = normalizedTransitionCallback((node, isAppearing) => {\n node.style[size] = 'auto';\n if (onEntered) {\n onEntered(node, isAppearing);\n }\n });\n const handleExit = normalizedTransitionCallback(node => {\n node.style[size] = `${getWrapperSize()}px`;\n if (onExit) {\n onExit(node);\n }\n });\n const handleExited = normalizedTransitionCallback(onExited);\n const handleExiting = normalizedTransitionCallback(node => {\n const wrapperSize = getWrapperSize();\n const {\n duration: transitionDuration,\n easing: transitionTimingFunction\n } = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'exit'\n });\n if (timeout === 'auto') {\n // TODO: rename getAutoHeightDuration to something more generic (width support)\n // Actually it just calculates animation duration based on size\n const duration2 = theme.transitions.getAutoHeightDuration(wrapperSize);\n node.style.transitionDuration = `${duration2}ms`;\n autoTransitionDuration.current = duration2;\n } else {\n node.style.transitionDuration = typeof transitionDuration === 'string' ? transitionDuration : `${transitionDuration}ms`;\n }\n node.style[size] = collapsedSize;\n node.style.transitionTimingFunction = transitionTimingFunction;\n if (onExiting) {\n onExiting(node);\n }\n });\n const handleAddEndListener = next => {\n if (timeout === 'auto') {\n timer.start(autoTransitionDuration.current || 0, next);\n }\n if (addEndListener) {\n // Old call signature before `react-transition-group` implemented `nodeRef`\n addEndListener(nodeRef.current, next);\n }\n };\n return /*#__PURE__*/_jsx(TransitionComponent, _extends({\n in: inProp,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: handleAddEndListener,\n nodeRef: nodeRef,\n timeout: timeout === 'auto' ? null : timeout\n }, other, {\n children: (state, childProps) => /*#__PURE__*/_jsx(CollapseRoot, _extends({\n as: component,\n className: clsx(classes.root, className, {\n 'entered': classes.entered,\n 'exited': !inProp && collapsedSize === '0px' && classes.hidden\n }[state]),\n style: _extends({\n [isHorizontal ? 'minWidth' : 'minHeight']: collapsedSize\n }, style),\n ref: handleRef\n }, childProps, {\n // `ownerState` is set after `childProps` to override any existing `ownerState` property in `childProps`\n // that might have been forwarded from the Transition component.\n ownerState: _extends({}, ownerState, {\n state\n }),\n children: /*#__PURE__*/_jsx(CollapseWrapper, {\n ownerState: _extends({}, ownerState, {\n state\n }),\n className: classes.wrapper,\n ref: wrapperRef,\n children: /*#__PURE__*/_jsx(CollapseWrapperInner, {\n ownerState: _extends({}, ownerState, {\n state\n }),\n className: classes.wrapperInner,\n children: children\n })\n })\n }))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Collapse.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Add a custom transition end trigger. Called with the transitioning DOM\n * node and a done callback. Allows for more fine grained transition end\n * logic. Note: Timeouts are still used as a fallback if provided.\n */\n addEndListener: PropTypes.func,\n /**\n * The content node to be collapsed.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The width (horizontal) or height (vertical) of the container when collapsed.\n * @default '0px'\n */\n collapsedSize: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: elementTypeAcceptingRef,\n /**\n * The transition timing function.\n * You may specify a single easing or a object containing enter and exit values.\n */\n easing: PropTypes.oneOfType([PropTypes.shape({\n enter: PropTypes.string,\n exit: PropTypes.string\n }), PropTypes.string]),\n /**\n * If `true`, the component will transition in.\n */\n in: PropTypes.bool,\n /**\n * @ignore\n */\n onEnter: PropTypes.func,\n /**\n * @ignore\n */\n onEntered: PropTypes.func,\n /**\n * @ignore\n */\n onEntering: PropTypes.func,\n /**\n * @ignore\n */\n onExit: PropTypes.func,\n /**\n * @ignore\n */\n onExited: PropTypes.func,\n /**\n * @ignore\n */\n onExiting: PropTypes.func,\n /**\n * The transition orientation.\n * @default 'vertical'\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n *\n * Set to 'auto' to automatically calculate transition time based on height.\n * @default duration.standard\n */\n timeout: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nCollapse.muiSupportAuto = true;\nexport default Collapse;","// Inspired by https://github.com/material-components/material-components-ios/blob/bca36107405594d5b7b16265a5b0ed698f85a5ee/components/Elevation/src/UIColor%2BMaterialElevation.m#L61\nconst getOverlayAlpha = elevation => {\n let alphaValue;\n if (elevation < 1) {\n alphaValue = 5.11916 * elevation ** 2;\n } else {\n alphaValue = 4.5 * Math.log(elevation + 1) + 2;\n }\n return (alphaValue / 100).toFixed(2);\n};\nexport default getOverlayAlpha;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getPaperUtilityClass(slot) {\n return generateUtilityClass('MuiPaper', slot);\n}\nconst paperClasses = generateUtilityClasses('MuiPaper', ['root', 'rounded', 'outlined', 'elevation', 'elevation0', 'elevation1', 'elevation2', 'elevation3', 'elevation4', 'elevation5', 'elevation6', 'elevation7', 'elevation8', 'elevation9', 'elevation10', 'elevation11', 'elevation12', 'elevation13', 'elevation14', 'elevation15', 'elevation16', 'elevation17', 'elevation18', 'elevation19', 'elevation20', 'elevation21', 'elevation22', 'elevation23', 'elevation24']);\nexport default paperClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"component\", \"elevation\", \"square\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport integerPropType from '@mui/utils/integerPropType';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport styled from '../styles/styled';\nimport getOverlayAlpha from '../styles/getOverlayAlpha';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport useTheme from '../styles/useTheme';\nimport { getPaperUtilityClass } from './paperClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n square,\n elevation,\n variant,\n classes\n } = ownerState;\n const slots = {\n root: ['root', variant, !square && 'rounded', variant === 'elevation' && `elevation${elevation}`]\n };\n return composeClasses(slots, getPaperUtilityClass, classes);\n};\nconst PaperRoot = styled('div', {\n name: 'MuiPaper',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], !ownerState.square && styles.rounded, ownerState.variant === 'elevation' && styles[`elevation${ownerState.elevation}`]];\n }\n})(({\n theme,\n ownerState\n}) => {\n var _theme$vars$overlays;\n return _extends({\n backgroundColor: (theme.vars || theme).palette.background.paper,\n color: (theme.vars || theme).palette.text.primary,\n transition: theme.transitions.create('box-shadow')\n }, !ownerState.square && {\n borderRadius: theme.shape.borderRadius\n }, ownerState.variant === 'outlined' && {\n border: `1px solid ${(theme.vars || theme).palette.divider}`\n }, ownerState.variant === 'elevation' && _extends({\n boxShadow: (theme.vars || theme).shadows[ownerState.elevation]\n }, !theme.vars && theme.palette.mode === 'dark' && {\n backgroundImage: `linear-gradient(${alpha('#fff', getOverlayAlpha(ownerState.elevation))}, ${alpha('#fff', getOverlayAlpha(ownerState.elevation))})`\n }, theme.vars && {\n backgroundImage: (_theme$vars$overlays = theme.vars.overlays) == null ? void 0 : _theme$vars$overlays[ownerState.elevation]\n }));\n});\nconst Paper = /*#__PURE__*/React.forwardRef(function Paper(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiPaper'\n });\n const {\n className,\n component = 'div',\n elevation = 1,\n square = false,\n variant = 'elevation'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component,\n elevation,\n square,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const theme = useTheme();\n if (theme.shadows[elevation] === undefined) {\n console.error([`MUI: The elevation provided <Paper elevation={${elevation}}> is not available in the theme.`, `Please make sure that \\`theme.shadows[${elevation}]\\` is defined.`].join('\\n'));\n }\n }\n return /*#__PURE__*/_jsx(PaperRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Paper.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Shadow depth, corresponds to `dp` in the spec.\n * It accepts values between 0 and 24 inclusive.\n * @default 1\n */\n elevation: chainPropTypes(integerPropType, props => {\n const {\n elevation,\n variant\n } = props;\n if (elevation > 0 && variant === 'outlined') {\n return new Error(`MUI: Combining \\`elevation={${elevation}}\\` with \\`variant=\"${variant}\"\\` has no effect. Either use \\`elevation={0}\\` or use a different \\`variant\\`.`);\n }\n return null;\n }),\n /**\n * If `true`, rounded corners are disabled.\n * @default false\n */\n square: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'elevation'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['elevation', 'outlined']), PropTypes.string])\n} : void 0;\nexport default Paper;","'use client';\n\nimport * as React from 'react';\n\n/**\n * @ignore - internal component.\n * @type {React.Context<{} | {expanded: boolean, disabled: boolean, toggle: () => void}>}\n */\nconst AccordionContext = /*#__PURE__*/React.createContext({});\nif (process.env.NODE_ENV !== 'production') {\n AccordionContext.displayName = 'AccordionContext';\n}\nexport default AccordionContext;","/**\n * Determines if a given element is a DOM element name (i.e. not a React component).\n */\nfunction isHostComponent(element) {\n return typeof element === 'string';\n}\nexport default isHostComponent;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport isHostComponent from '../isHostComponent';\n\n/**\n * Type of the ownerState based on the type of an element it applies to.\n * This resolves to the provided OwnerState for React components and `undefined` for host components.\n * Falls back to `OwnerState | undefined` when the exact type can't be determined in development time.\n */\n\n/**\n * Appends the ownerState object to the props, merging with the existing one if necessary.\n *\n * @param elementType Type of the element that owns the `existingProps`. If the element is a DOM node or undefined, `ownerState` is not applied.\n * @param otherProps Props of the element.\n * @param ownerState\n */\nfunction appendOwnerState(elementType, otherProps, ownerState) {\n if (elementType === undefined || isHostComponent(elementType)) {\n return otherProps;\n }\n return _extends({}, otherProps, {\n ownerState: _extends({}, otherProps.ownerState, ownerState)\n });\n}\nexport default appendOwnerState;","/**\n * If `componentProps` is a function, calls it with the provided `ownerState`.\n * Otherwise, just returns `componentProps`.\n */\nfunction resolveComponentProps(componentProps, ownerState, slotState) {\n if (typeof componentProps === 'function') {\n return componentProps(ownerState, slotState);\n }\n return componentProps;\n}\nexport default resolveComponentProps;","/**\n * Extracts event handlers from a given object.\n * A prop is considered an event handler if it is a function and its name starts with `on`.\n *\n * @param object An object to extract event handlers from.\n * @param excludeKeys An array of keys to exclude from the returned object.\n */\nfunction extractEventHandlers(object, excludeKeys = []) {\n if (object === undefined) {\n return {};\n }\n const result = {};\n Object.keys(object).filter(prop => prop.match(/^on[A-Z]/) && typeof object[prop] === 'function' && !excludeKeys.includes(prop)).forEach(prop => {\n result[prop] = object[prop];\n });\n return result;\n}\nexport default extractEventHandlers;","/**\n * Removes event handlers from the given object.\n * A field is considered an event handler if it is a function with a name beginning with `on`.\n *\n * @param object Object to remove event handlers from.\n * @returns Object with event handlers removed.\n */\nfunction omitEventHandlers(object) {\n if (object === undefined) {\n return {};\n }\n const result = {};\n Object.keys(object).filter(prop => !(prop.match(/^on[A-Z]/) && typeof object[prop] === 'function')).forEach(prop => {\n result[prop] = object[prop];\n });\n return result;\n}\nexport default omitEventHandlers;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport clsx from 'clsx';\nimport extractEventHandlers from '../extractEventHandlers';\nimport omitEventHandlers from '../omitEventHandlers';\n/**\n * Merges the slot component internal props (usually coming from a hook)\n * with the externally provided ones.\n *\n * The merge order is (the latter overrides the former):\n * 1. The internal props (specified as a getter function to work with get*Props hook result)\n * 2. Additional props (specified internally on a Base UI component)\n * 3. External props specified on the owner component. These should only be used on a root slot.\n * 4. External props specified in the `slotProps.*` prop.\n * 5. The `className` prop - combined from all the above.\n * @param parameters\n * @returns\n */\nfunction mergeSlotProps(parameters) {\n const {\n getSlotProps,\n additionalProps,\n externalSlotProps,\n externalForwardedProps,\n className\n } = parameters;\n if (!getSlotProps) {\n // The simpler case - getSlotProps is not defined, so no internal event handlers are defined,\n // so we can simply merge all the props without having to worry about extracting event handlers.\n const joinedClasses = clsx(additionalProps == null ? void 0 : additionalProps.className, className, externalForwardedProps == null ? void 0 : externalForwardedProps.className, externalSlotProps == null ? void 0 : externalSlotProps.className);\n const mergedStyle = _extends({}, additionalProps == null ? void 0 : additionalProps.style, externalForwardedProps == null ? void 0 : externalForwardedProps.style, externalSlotProps == null ? void 0 : externalSlotProps.style);\n const props = _extends({}, additionalProps, externalForwardedProps, externalSlotProps);\n if (joinedClasses.length > 0) {\n props.className = joinedClasses;\n }\n if (Object.keys(mergedStyle).length > 0) {\n props.style = mergedStyle;\n }\n return {\n props,\n internalRef: undefined\n };\n }\n\n // In this case, getSlotProps is responsible for calling the external event handlers.\n // We don't need to include them in the merged props because of this.\n\n const eventHandlers = extractEventHandlers(_extends({}, externalForwardedProps, externalSlotProps));\n const componentsPropsWithoutEventHandlers = omitEventHandlers(externalSlotProps);\n const otherPropsWithoutEventHandlers = omitEventHandlers(externalForwardedProps);\n const internalSlotProps = getSlotProps(eventHandlers);\n\n // The order of classes is important here.\n // Emotion (that we use in libraries consuming Base UI) depends on this order\n // to properly override style. It requires the most important classes to be last\n // (see https://github.com/mui/material-ui/pull/33205) for the related discussion.\n const joinedClasses = clsx(internalSlotProps == null ? void 0 : internalSlotProps.className, additionalProps == null ? void 0 : additionalProps.className, className, externalForwardedProps == null ? void 0 : externalForwardedProps.className, externalSlotProps == null ? void 0 : externalSlotProps.className);\n const mergedStyle = _extends({}, internalSlotProps == null ? void 0 : internalSlotProps.style, additionalProps == null ? void 0 : additionalProps.style, externalForwardedProps == null ? void 0 : externalForwardedProps.style, externalSlotProps == null ? void 0 : externalSlotProps.style);\n const props = _extends({}, internalSlotProps, additionalProps, otherPropsWithoutEventHandlers, componentsPropsWithoutEventHandlers);\n if (joinedClasses.length > 0) {\n props.className = joinedClasses;\n }\n if (Object.keys(mergedStyle).length > 0) {\n props.style = mergedStyle;\n }\n return {\n props,\n internalRef: internalSlotProps.ref\n };\n}\nexport default mergeSlotProps;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"elementType\", \"ownerState\", \"externalForwardedProps\", \"getSlotOwnerState\", \"internalForwardedProps\"],\n _excluded2 = [\"component\", \"slots\", \"slotProps\"],\n _excluded3 = [\"component\"];\nimport useForkRef from '@mui/utils/useForkRef';\nimport appendOwnerState from '@mui/utils/appendOwnerState';\nimport resolveComponentProps from '@mui/utils/resolveComponentProps';\nimport mergeSlotProps from '@mui/utils/mergeSlotProps';\n/**\n * An internal function to create a Material UI slot.\n *\n * This is an advanced version of Base UI `useSlotProps` because Material UI allows leaf component to be customized via `component` prop\n * while Base UI does not need to support leaf component customization.\n *\n * @param {string} name: name of the slot\n * @param {object} parameters\n * @returns {[Slot, slotProps]} The slot's React component and the slot's props\n *\n * Note: the returned slot's props\n * - will never contain `component` prop.\n * - might contain `as` prop.\n */\nexport default function useSlot(\n/**\n * The slot's name. All Material UI components should have `root` slot.\n *\n * If the name is `root`, the logic behaves differently from other slots,\n * e.g. the `externalForwardedProps` are spread to `root` slot but not other slots.\n */\nname, parameters) {\n const {\n className,\n elementType: initialElementType,\n ownerState,\n externalForwardedProps,\n getSlotOwnerState,\n internalForwardedProps\n } = parameters,\n useSlotPropsParams = _objectWithoutPropertiesLoose(parameters, _excluded);\n const {\n component: rootComponent,\n slots = {\n [name]: undefined\n },\n slotProps = {\n [name]: undefined\n }\n } = externalForwardedProps,\n other = _objectWithoutPropertiesLoose(externalForwardedProps, _excluded2);\n const elementType = slots[name] || initialElementType;\n\n // `slotProps[name]` can be a callback that receives the component's ownerState.\n // `resolvedComponentsProps` is always a plain object.\n const resolvedComponentsProps = resolveComponentProps(slotProps[name], ownerState);\n const _mergeSlotProps = mergeSlotProps(_extends({\n className\n }, useSlotPropsParams, {\n externalForwardedProps: name === 'root' ? other : undefined,\n externalSlotProps: resolvedComponentsProps\n })),\n {\n props: {\n component: slotComponent\n },\n internalRef\n } = _mergeSlotProps,\n mergedProps = _objectWithoutPropertiesLoose(_mergeSlotProps.props, _excluded3);\n const ref = useForkRef(internalRef, resolvedComponentsProps == null ? void 0 : resolvedComponentsProps.ref, parameters.ref);\n const slotOwnerState = getSlotOwnerState ? getSlotOwnerState(mergedProps) : {};\n const finalOwnerState = _extends({}, ownerState, slotOwnerState);\n const LeafComponent = name === 'root' ? slotComponent || rootComponent : slotComponent;\n const props = appendOwnerState(elementType, _extends({}, name === 'root' && !rootComponent && !slots[name] && internalForwardedProps, name !== 'root' && !slots[name] && internalForwardedProps, mergedProps, LeafComponent && {\n as: LeafComponent\n }, {\n ref\n }), finalOwnerState);\n Object.keys(slotOwnerState).forEach(propName => {\n delete props[propName];\n });\n return [elementType, props];\n}","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAccordionUtilityClass(slot) {\n return generateUtilityClass('MuiAccordion', slot);\n}\nconst accordionClasses = generateUtilityClasses('MuiAccordion', ['root', 'rounded', 'expanded', 'disabled', 'gutters', 'region']);\nexport default accordionClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"defaultExpanded\", \"disabled\", \"disableGutters\", \"expanded\", \"onChange\", \"square\", \"slots\", \"slotProps\", \"TransitionComponent\", \"TransitionProps\"];\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from '../zero-styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport Collapse from '../Collapse';\nimport Paper from '../Paper';\nimport AccordionContext from './AccordionContext';\nimport useControlled from '../utils/useControlled';\nimport useSlot from '../utils/useSlot';\nimport accordionClasses, { getAccordionUtilityClass } from './accordionClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n square,\n expanded,\n disabled,\n disableGutters\n } = ownerState;\n const slots = {\n root: ['root', !square && 'rounded', expanded && 'expanded', disabled && 'disabled', !disableGutters && 'gutters'],\n region: ['region']\n };\n return composeClasses(slots, getAccordionUtilityClass, classes);\n};\nconst AccordionRoot = styled(Paper, {\n name: 'MuiAccordion',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${accordionClasses.region}`]: styles.region\n }, styles.root, !ownerState.square && styles.rounded, !ownerState.disableGutters && styles.gutters];\n }\n})(({\n theme\n}) => {\n const transition = {\n duration: theme.transitions.duration.shortest\n };\n return {\n position: 'relative',\n transition: theme.transitions.create(['margin'], transition),\n overflowAnchor: 'none',\n // Keep the same scrolling position\n '&::before': {\n position: 'absolute',\n left: 0,\n top: -1,\n right: 0,\n height: 1,\n content: '\"\"',\n opacity: 1,\n backgroundColor: (theme.vars || theme).palette.divider,\n transition: theme.transitions.create(['opacity', 'background-color'], transition)\n },\n '&:first-of-type': {\n '&::before': {\n display: 'none'\n }\n },\n [`&.${accordionClasses.expanded}`]: {\n '&::before': {\n opacity: 0\n },\n '&:first-of-type': {\n marginTop: 0\n },\n '&:last-of-type': {\n marginBottom: 0\n },\n '& + &': {\n '&::before': {\n display: 'none'\n }\n }\n },\n [`&.${accordionClasses.disabled}`]: {\n backgroundColor: (theme.vars || theme).palette.action.disabledBackground\n }\n };\n}, ({\n theme\n}) => ({\n variants: [{\n props: props => !props.square,\n style: {\n borderRadius: 0,\n '&:first-of-type': {\n borderTopLeftRadius: (theme.vars || theme).shape.borderRadius,\n borderTopRightRadius: (theme.vars || theme).shape.borderRadius\n },\n '&:last-of-type': {\n borderBottomLeftRadius: (theme.vars || theme).shape.borderRadius,\n borderBottomRightRadius: (theme.vars || theme).shape.borderRadius,\n // Fix a rendering issue on Edge\n '@supports (-ms-ime-align: auto)': {\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0\n }\n }\n }\n }, {\n props: props => !props.disableGutters,\n style: {\n [`&.${accordionClasses.expanded}`]: {\n margin: '16px 0'\n }\n }\n }]\n}));\nconst Accordion = /*#__PURE__*/React.forwardRef(function Accordion(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiAccordion'\n });\n const {\n children: childrenProp,\n className,\n defaultExpanded = false,\n disabled = false,\n disableGutters = false,\n expanded: expandedProp,\n onChange,\n square = false,\n slots = {},\n slotProps = {},\n TransitionComponent: TransitionComponentProp,\n TransitionProps: TransitionPropsProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const [expanded, setExpandedState] = useControlled({\n controlled: expandedProp,\n default: defaultExpanded,\n name: 'Accordion',\n state: 'expanded'\n });\n const handleChange = React.useCallback(event => {\n setExpandedState(!expanded);\n if (onChange) {\n onChange(event, !expanded);\n }\n }, [expanded, onChange, setExpandedState]);\n const [summary, ...children] = React.Children.toArray(childrenProp);\n const contextValue = React.useMemo(() => ({\n expanded,\n disabled,\n disableGutters,\n toggle: handleChange\n }), [expanded, disabled, disableGutters, handleChange]);\n const ownerState = _extends({}, props, {\n square,\n disabled,\n disableGutters,\n expanded\n });\n const classes = useUtilityClasses(ownerState);\n const backwardCompatibleSlots = _extends({\n transition: TransitionComponentProp\n }, slots);\n const backwardCompatibleSlotProps = _extends({\n transition: TransitionPropsProp\n }, slotProps);\n const [TransitionSlot, transitionProps] = useSlot('transition', {\n elementType: Collapse,\n externalForwardedProps: {\n slots: backwardCompatibleSlots,\n slotProps: backwardCompatibleSlotProps\n },\n ownerState\n });\n return /*#__PURE__*/_jsxs(AccordionRoot, _extends({\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState,\n square: square\n }, other, {\n children: [/*#__PURE__*/_jsx(AccordionContext.Provider, {\n value: contextValue,\n children: summary\n }), /*#__PURE__*/_jsx(TransitionSlot, _extends({\n in: expanded,\n timeout: \"auto\"\n }, transitionProps, {\n children: /*#__PURE__*/_jsx(\"div\", {\n \"aria-labelledby\": summary.props.id,\n id: summary.props['aria-controls'],\n role: \"region\",\n className: classes.region,\n children: children\n })\n }))]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Accordion.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: chainPropTypes(PropTypes.node.isRequired, props => {\n const summary = React.Children.toArray(props.children)[0];\n if (isFragment(summary)) {\n return new Error(\"MUI: The Accordion doesn't accept a Fragment as a child. \" + 'Consider providing an array instead.');\n }\n if (! /*#__PURE__*/React.isValidElement(summary)) {\n return new Error('MUI: Expected the first child of Accordion to be a valid element.');\n }\n return null;\n }),\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, expands the accordion by default.\n * @default false\n */\n defaultExpanded: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, it removes the margin between two expanded accordion items and the increase of height.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * If `true`, expands the accordion, otherwise collapse it.\n * Setting this prop enables control over the accordion.\n */\n expanded: PropTypes.bool,\n /**\n * Callback fired when the expand/collapse state is changed.\n *\n * @param {React.SyntheticEvent} event The event source of the callback. **Warning**: This is a generic event not a change event.\n * @param {boolean} expanded The `expanded` state of the accordion.\n */\n onChange: PropTypes.func,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n transition: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n transition: PropTypes.elementType\n }),\n /**\n * If `true`, rounded corners are disabled.\n * @default false\n */\n square: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The component used for the transition.\n * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @deprecated Use `slots.transition` instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).\n */\n TransitionComponent: PropTypes.elementType,\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.\n * @deprecated Use `slotProps.transition` instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).\n */\n TransitionProps: PropTypes.object\n} : void 0;\nexport default Accordion;","import { Children, cloneElement, isValidElement } from 'react';\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\nexport function getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && isValidElement(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\nexport function mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nexport function getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\nexport function getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!isValidElement(child)) return;\n var hasPrev = (key in prevChildMapping);\n var hasNext = (key in nextChildMapping);\n var prevChild = prevChildMapping[key];\n var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = cloneElement(child, {\n in: false\n });\n } else if (hasNext && hasPrev && isValidElement(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { getChildMapping, getInitialChildMapping, getNextChildMapping } from './utils/ChildMapping';\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `<TransitionGroup>` component manages a set of transition components\n * (`<Transition>` and `<CSSTransition>`) in a list. Like with the transition\n * components, `<TransitionGroup>` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the `<TransitionGroup>`.\n *\n * Note that `<TransitionGroup>` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = getChildMapping(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(React.Component);\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `<TransitionGroup>` renders a `<div>` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `<div>` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: PropTypes.any,\n\n /**\n * A set of `<Transition>` components, that are toggled `in` and out as they\n * leave. the `<TransitionGroup>` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `<Transition>` as\n * with our `<Fade>` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: PropTypes.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: PropTypes.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\nexport default TransitionGroup;","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction Ripple(props) {\n const {\n className,\n classes,\n pulsate = false,\n rippleX,\n rippleY,\n rippleSize,\n in: inProp,\n onExited,\n timeout\n } = props;\n const [leaving, setLeaving] = React.useState(false);\n const rippleClassName = clsx(className, classes.ripple, classes.rippleVisible, pulsate && classes.ripplePulsate);\n const rippleStyles = {\n width: rippleSize,\n height: rippleSize,\n top: -(rippleSize / 2) + rippleY,\n left: -(rippleSize / 2) + rippleX\n };\n const childClassName = clsx(classes.child, leaving && classes.childLeaving, pulsate && classes.childPulsate);\n if (!inProp && !leaving) {\n setLeaving(true);\n }\n React.useEffect(() => {\n if (!inProp && onExited != null) {\n // react-transition-group#onExited\n const timeoutId = setTimeout(onExited, timeout);\n return () => {\n clearTimeout(timeoutId);\n };\n }\n return undefined;\n }, [onExited, inProp, timeout]);\n return /*#__PURE__*/_jsx(\"span\", {\n className: rippleClassName,\n style: rippleStyles,\n children: /*#__PURE__*/_jsx(\"span\", {\n className: childClassName\n })\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? Ripple.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n /**\n * @ignore - injected from TransitionGroup\n */\n in: PropTypes.bool,\n /**\n * @ignore - injected from TransitionGroup\n */\n onExited: PropTypes.func,\n /**\n * If `true`, the ripple pulsates, typically indicating the keyboard focus state of an element.\n */\n pulsate: PropTypes.bool,\n /**\n * Diameter of the ripple.\n */\n rippleSize: PropTypes.number,\n /**\n * Horizontal position of the ripple center.\n */\n rippleX: PropTypes.number,\n /**\n * Vertical position of the ripple center.\n */\n rippleY: PropTypes.number,\n /**\n * exit delay\n */\n timeout: PropTypes.number.isRequired\n} : void 0;\nexport default Ripple;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTouchRippleUtilityClass(slot) {\n return generateUtilityClass('MuiTouchRipple', slot);\n}\nconst touchRippleClasses = generateUtilityClasses('MuiTouchRipple', ['root', 'ripple', 'rippleVisible', 'ripplePulsate', 'child', 'childLeaving', 'childPulsate']);\nexport default touchRippleClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"center\", \"classes\", \"className\"];\nlet _ = t => t,\n _t,\n _t2,\n _t3,\n _t4;\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { TransitionGroup } from 'react-transition-group';\nimport clsx from 'clsx';\nimport { keyframes } from '@mui/system';\nimport useTimeout from '@mui/utils/useTimeout';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport Ripple from './Ripple';\nimport touchRippleClasses from './touchRippleClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DURATION = 550;\nexport const DELAY_RIPPLE = 80;\nconst enterKeyframe = keyframes(_t || (_t = _`\n 0% {\n transform: scale(0);\n opacity: 0.1;\n }\n\n 100% {\n transform: scale(1);\n opacity: 0.3;\n }\n`));\nconst exitKeyframe = keyframes(_t2 || (_t2 = _`\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n }\n`));\nconst pulsateKeyframe = keyframes(_t3 || (_t3 = _`\n 0% {\n transform: scale(1);\n }\n\n 50% {\n transform: scale(0.92);\n }\n\n 100% {\n transform: scale(1);\n }\n`));\nexport const TouchRippleRoot = styled('span', {\n name: 'MuiTouchRipple',\n slot: 'Root'\n})({\n overflow: 'hidden',\n pointerEvents: 'none',\n position: 'absolute',\n zIndex: 0,\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n borderRadius: 'inherit'\n});\n\n// This `styled()` function invokes keyframes. `styled-components` only supports keyframes\n// in string templates. Do not convert these styles in JS object as it will break.\nexport const TouchRippleRipple = styled(Ripple, {\n name: 'MuiTouchRipple',\n slot: 'Ripple'\n})(_t4 || (_t4 = _`\n opacity: 0;\n position: absolute;\n\n &.${0} {\n opacity: 0.3;\n transform: scale(1);\n animation-name: ${0};\n animation-duration: ${0}ms;\n animation-timing-function: ${0};\n }\n\n &.${0} {\n animation-duration: ${0}ms;\n }\n\n & .${0} {\n opacity: 1;\n display: block;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background-color: currentColor;\n }\n\n & .${0} {\n opacity: 0;\n animation-name: ${0};\n animation-duration: ${0}ms;\n animation-timing-function: ${0};\n }\n\n & .${0} {\n position: absolute;\n /* @noflip */\n left: 0px;\n top: 0;\n animation-name: ${0};\n animation-duration: 2500ms;\n animation-timing-function: ${0};\n animation-iteration-count: infinite;\n animation-delay: 200ms;\n }\n`), touchRippleClasses.rippleVisible, enterKeyframe, DURATION, ({\n theme\n}) => theme.transitions.easing.easeInOut, touchRippleClasses.ripplePulsate, ({\n theme\n}) => theme.transitions.duration.shorter, touchRippleClasses.child, touchRippleClasses.childLeaving, exitKeyframe, DURATION, ({\n theme\n}) => theme.transitions.easing.easeInOut, touchRippleClasses.childPulsate, pulsateKeyframe, ({\n theme\n}) => theme.transitions.easing.easeInOut);\n\n/**\n * @ignore - internal component.\n *\n * TODO v5: Make private\n */\nconst TouchRipple = /*#__PURE__*/React.forwardRef(function TouchRipple(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiTouchRipple'\n });\n const {\n center: centerProp = false,\n classes = {},\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const [ripples, setRipples] = React.useState([]);\n const nextKey = React.useRef(0);\n const rippleCallback = React.useRef(null);\n React.useEffect(() => {\n if (rippleCallback.current) {\n rippleCallback.current();\n rippleCallback.current = null;\n }\n }, [ripples]);\n\n // Used to filter out mouse emulated events on mobile.\n const ignoringMouseDown = React.useRef(false);\n // We use a timer in order to only show the ripples for touch \"click\" like events.\n // We don't want to display the ripple for touch scroll events.\n const startTimer = useTimeout();\n\n // This is the hook called once the previous timeout is ready.\n const startTimerCommit = React.useRef(null);\n const container = React.useRef(null);\n const startCommit = React.useCallback(params => {\n const {\n pulsate,\n rippleX,\n rippleY,\n rippleSize,\n cb\n } = params;\n setRipples(oldRipples => [...oldRipples, /*#__PURE__*/_jsx(TouchRippleRipple, {\n classes: {\n ripple: clsx(classes.ripple, touchRippleClasses.ripple),\n rippleVisible: clsx(classes.rippleVisible, touchRippleClasses.rippleVisible),\n ripplePulsate: clsx(classes.ripplePulsate, touchRippleClasses.ripplePulsate),\n child: clsx(classes.child, touchRippleClasses.child),\n childLeaving: clsx(classes.childLeaving, touchRippleClasses.childLeaving),\n childPulsate: clsx(classes.childPulsate, touchRippleClasses.childPulsate)\n },\n timeout: DURATION,\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize\n }, nextKey.current)]);\n nextKey.current += 1;\n rippleCallback.current = cb;\n }, [classes]);\n const start = React.useCallback((event = {}, options = {}, cb = () => {}) => {\n const {\n pulsate = false,\n center = centerProp || options.pulsate,\n fakeElement = false // For test purposes\n } = options;\n if ((event == null ? void 0 : event.type) === 'mousedown' && ignoringMouseDown.current) {\n ignoringMouseDown.current = false;\n return;\n }\n if ((event == null ? void 0 : event.type) === 'touchstart') {\n ignoringMouseDown.current = true;\n }\n const element = fakeElement ? null : container.current;\n const rect = element ? element.getBoundingClientRect() : {\n width: 0,\n height: 0,\n left: 0,\n top: 0\n };\n\n // Get the size of the ripple\n let rippleX;\n let rippleY;\n let rippleSize;\n if (center || event === undefined || event.clientX === 0 && event.clientY === 0 || !event.clientX && !event.touches) {\n rippleX = Math.round(rect.width / 2);\n rippleY = Math.round(rect.height / 2);\n } else {\n const {\n clientX,\n clientY\n } = event.touches && event.touches.length > 0 ? event.touches[0] : event;\n rippleX = Math.round(clientX - rect.left);\n rippleY = Math.round(clientY - rect.top);\n }\n if (center) {\n rippleSize = Math.sqrt((2 * rect.width ** 2 + rect.height ** 2) / 3);\n\n // For some reason the animation is broken on Mobile Chrome if the size is even.\n if (rippleSize % 2 === 0) {\n rippleSize += 1;\n }\n } else {\n const sizeX = Math.max(Math.abs((element ? element.clientWidth : 0) - rippleX), rippleX) * 2 + 2;\n const sizeY = Math.max(Math.abs((element ? element.clientHeight : 0) - rippleY), rippleY) * 2 + 2;\n rippleSize = Math.sqrt(sizeX ** 2 + sizeY ** 2);\n }\n\n // Touche devices\n if (event != null && event.touches) {\n // check that this isn't another touchstart due to multitouch\n // otherwise we will only clear a single timer when unmounting while two\n // are running\n if (startTimerCommit.current === null) {\n // Prepare the ripple effect.\n startTimerCommit.current = () => {\n startCommit({\n pulsate,\n rippleX,\n rippleY,\n rippleSize,\n cb\n });\n };\n // Delay the execution of the ripple effect.\n // We have to make a tradeoff with this delay value.\n startTimer.start(DELAY_RIPPLE, () => {\n if (startTimerCommit.current) {\n startTimerCommit.current();\n startTimerCommit.current = null;\n }\n });\n }\n } else {\n startCommit({\n pulsate,\n rippleX,\n rippleY,\n rippleSize,\n cb\n });\n }\n }, [centerProp, startCommit, startTimer]);\n const pulsate = React.useCallback(() => {\n start({}, {\n pulsate: true\n });\n }, [start]);\n const stop = React.useCallback((event, cb) => {\n startTimer.clear();\n\n // The touch interaction occurs too quickly.\n // We still want to show ripple effect.\n if ((event == null ? void 0 : event.type) === 'touchend' && startTimerCommit.current) {\n startTimerCommit.current();\n startTimerCommit.current = null;\n startTimer.start(0, () => {\n stop(event, cb);\n });\n return;\n }\n startTimerCommit.current = null;\n setRipples(oldRipples => {\n if (oldRipples.length > 0) {\n return oldRipples.slice(1);\n }\n return oldRipples;\n });\n rippleCallback.current = cb;\n }, [startTimer]);\n React.useImperativeHandle(ref, () => ({\n pulsate,\n start,\n stop\n }), [pulsate, start, stop]);\n return /*#__PURE__*/_jsx(TouchRippleRoot, _extends({\n className: clsx(touchRippleClasses.root, classes.root, className),\n ref: container\n }, other, {\n children: /*#__PURE__*/_jsx(TransitionGroup, {\n component: null,\n exit: true,\n children: ripples\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TouchRipple.propTypes = {\n /**\n * If `true`, the ripple starts at the center of the component\n * rather than at the point of interaction.\n */\n center: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string\n} : void 0;\nexport default TouchRipple;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getButtonBaseUtilityClass(slot) {\n return generateUtilityClass('MuiButtonBase', slot);\n}\nconst buttonBaseClasses = generateUtilityClasses('MuiButtonBase', ['root', 'disabled', 'focusVisible']);\nexport default buttonBaseClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"action\", \"centerRipple\", \"children\", \"className\", \"component\", \"disabled\", \"disableRipple\", \"disableTouchRipple\", \"focusRipple\", \"focusVisibleClassName\", \"LinkComponent\", \"onBlur\", \"onClick\", \"onContextMenu\", \"onDragLeave\", \"onFocus\", \"onFocusVisible\", \"onKeyDown\", \"onKeyUp\", \"onMouseDown\", \"onMouseLeave\", \"onMouseUp\", \"onTouchEnd\", \"onTouchMove\", \"onTouchStart\", \"tabIndex\", \"TouchRippleProps\", \"touchRippleRef\", \"type\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport useForkRef from '../utils/useForkRef';\nimport useEventCallback from '../utils/useEventCallback';\nimport useIsFocusVisible from '../utils/useIsFocusVisible';\nimport TouchRipple from './TouchRipple';\nimport buttonBaseClasses, { getButtonBaseUtilityClass } from './buttonBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n focusVisible,\n focusVisibleClassName,\n classes\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', focusVisible && 'focusVisible']\n };\n const composedClasses = composeClasses(slots, getButtonBaseUtilityClass, classes);\n if (focusVisible && focusVisibleClassName) {\n composedClasses.root += ` ${focusVisibleClassName}`;\n }\n return composedClasses;\n};\nexport const ButtonBaseRoot = styled('button', {\n name: 'MuiButtonBase',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n boxSizing: 'border-box',\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n // Reset default value\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n border: 0,\n margin: 0,\n // Remove the margin in Safari\n borderRadius: 0,\n padding: 0,\n // Remove the padding in Firefox\n cursor: 'pointer',\n userSelect: 'none',\n verticalAlign: 'middle',\n MozAppearance: 'none',\n // Reset\n WebkitAppearance: 'none',\n // Reset\n textDecoration: 'none',\n // So we take precedent over the style of a native <a /> element.\n color: 'inherit',\n '&::-moz-focus-inner': {\n borderStyle: 'none' // Remove Firefox dotted outline.\n },\n [`&.${buttonBaseClasses.disabled}`]: {\n pointerEvents: 'none',\n // Disable link interactions\n cursor: 'default'\n },\n '@media print': {\n colorAdjust: 'exact'\n }\n});\n\n/**\n * `ButtonBase` contains as few styles as possible.\n * It aims to be a simple building block for creating a button.\n * It contains a load of style reset and some focus/ripple logic.\n */\nconst ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiButtonBase'\n });\n const {\n action,\n centerRipple = false,\n children,\n className,\n component = 'button',\n disabled = false,\n disableRipple = false,\n disableTouchRipple = false,\n focusRipple = false,\n LinkComponent = 'a',\n onBlur,\n onClick,\n onContextMenu,\n onDragLeave,\n onFocus,\n onFocusVisible,\n onKeyDown,\n onKeyUp,\n onMouseDown,\n onMouseLeave,\n onMouseUp,\n onTouchEnd,\n onTouchMove,\n onTouchStart,\n tabIndex = 0,\n TouchRippleProps,\n touchRippleRef,\n type\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const buttonRef = React.useRef(null);\n const rippleRef = React.useRef(null);\n const handleRippleRef = useForkRef(rippleRef, touchRippleRef);\n const {\n isFocusVisibleRef,\n onFocus: handleFocusVisible,\n onBlur: handleBlurVisible,\n ref: focusVisibleRef\n } = useIsFocusVisible();\n const [focusVisible, setFocusVisible] = React.useState(false);\n if (disabled && focusVisible) {\n setFocusVisible(false);\n }\n React.useImperativeHandle(action, () => ({\n focusVisible: () => {\n setFocusVisible(true);\n buttonRef.current.focus();\n }\n }), []);\n const [mountedState, setMountedState] = React.useState(false);\n React.useEffect(() => {\n setMountedState(true);\n }, []);\n const enableTouchRipple = mountedState && !disableRipple && !disabled;\n React.useEffect(() => {\n if (focusVisible && focusRipple && !disableRipple && mountedState) {\n rippleRef.current.pulsate();\n }\n }, [disableRipple, focusRipple, focusVisible, mountedState]);\n function useRippleHandler(rippleAction, eventCallback, skipRippleAction = disableTouchRipple) {\n return useEventCallback(event => {\n if (eventCallback) {\n eventCallback(event);\n }\n const ignore = skipRippleAction;\n if (!ignore && rippleRef.current) {\n rippleRef.current[rippleAction](event);\n }\n return true;\n });\n }\n const handleMouseDown = useRippleHandler('start', onMouseDown);\n const handleContextMenu = useRippleHandler('stop', onContextMenu);\n const handleDragLeave = useRippleHandler('stop', onDragLeave);\n const handleMouseUp = useRippleHandler('stop', onMouseUp);\n const handleMouseLeave = useRippleHandler('stop', event => {\n if (focusVisible) {\n event.preventDefault();\n }\n if (onMouseLeave) {\n onMouseLeave(event);\n }\n });\n const handleTouchStart = useRippleHandler('start', onTouchStart);\n const handleTouchEnd = useRippleHandler('stop', onTouchEnd);\n const handleTouchMove = useRippleHandler('stop', onTouchMove);\n const handleBlur = useRippleHandler('stop', event => {\n handleBlurVisible(event);\n if (isFocusVisibleRef.current === false) {\n setFocusVisible(false);\n }\n if (onBlur) {\n onBlur(event);\n }\n }, false);\n const handleFocus = useEventCallback(event => {\n // Fix for https://github.com/facebook/react/issues/7769\n if (!buttonRef.current) {\n buttonRef.current = event.currentTarget;\n }\n handleFocusVisible(event);\n if (isFocusVisibleRef.current === true) {\n setFocusVisible(true);\n if (onFocusVisible) {\n onFocusVisible(event);\n }\n }\n if (onFocus) {\n onFocus(event);\n }\n });\n const isNonNativeButton = () => {\n const button = buttonRef.current;\n return component && component !== 'button' && !(button.tagName === 'A' && button.href);\n };\n\n /**\n * IE11 shim for https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/repeat\n */\n const keydownRef = React.useRef(false);\n const handleKeyDown = useEventCallback(event => {\n // Check if key is already down to avoid repeats being counted as multiple activations\n if (focusRipple && !keydownRef.current && focusVisible && rippleRef.current && event.key === ' ') {\n keydownRef.current = true;\n rippleRef.current.stop(event, () => {\n rippleRef.current.start(event);\n });\n }\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === ' ') {\n event.preventDefault();\n }\n if (onKeyDown) {\n onKeyDown(event);\n }\n\n // Keyboard accessibility for non interactive elements\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === 'Enter' && !disabled) {\n event.preventDefault();\n if (onClick) {\n onClick(event);\n }\n }\n });\n const handleKeyUp = useEventCallback(event => {\n // calling preventDefault in keyUp on a <button> will not dispatch a click event if Space is pressed\n // https://codesandbox.io/p/sandbox/button-keyup-preventdefault-dn7f0\n if (focusRipple && event.key === ' ' && rippleRef.current && focusVisible && !event.defaultPrevented) {\n keydownRef.current = false;\n rippleRef.current.stop(event, () => {\n rippleRef.current.pulsate(event);\n });\n }\n if (onKeyUp) {\n onKeyUp(event);\n }\n\n // Keyboard accessibility for non interactive elements\n if (onClick && event.target === event.currentTarget && isNonNativeButton() && event.key === ' ' && !event.defaultPrevented) {\n onClick(event);\n }\n });\n let ComponentProp = component;\n if (ComponentProp === 'button' && (other.href || other.to)) {\n ComponentProp = LinkComponent;\n }\n const buttonProps = {};\n if (ComponentProp === 'button') {\n buttonProps.type = type === undefined ? 'button' : type;\n buttonProps.disabled = disabled;\n } else {\n if (!other.href && !other.to) {\n buttonProps.role = 'button';\n }\n if (disabled) {\n buttonProps['aria-disabled'] = disabled;\n }\n }\n const handleRef = useForkRef(ref, focusVisibleRef, buttonRef);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n if (enableTouchRipple && !rippleRef.current) {\n console.error(['MUI: The `component` prop provided to ButtonBase is invalid.', 'Please make sure the children prop is rendered in this custom component.'].join('\\n'));\n }\n }, [enableTouchRipple]);\n }\n const ownerState = _extends({}, props, {\n centerRipple,\n component,\n disabled,\n disableRipple,\n disableTouchRipple,\n focusRipple,\n tabIndex,\n focusVisible\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(ButtonBaseRoot, _extends({\n as: ComponentProp,\n className: clsx(classes.root, className),\n ownerState: ownerState,\n onBlur: handleBlur,\n onClick: onClick,\n onContextMenu: handleContextMenu,\n onFocus: handleFocus,\n onKeyDown: handleKeyDown,\n onKeyUp: handleKeyUp,\n onMouseDown: handleMouseDown,\n onMouseLeave: handleMouseLeave,\n onMouseUp: handleMouseUp,\n onDragLeave: handleDragLeave,\n onTouchEnd: handleTouchEnd,\n onTouchMove: handleTouchMove,\n onTouchStart: handleTouchStart,\n ref: handleRef,\n tabIndex: disabled ? -1 : tabIndex,\n type: type\n }, buttonProps, other, {\n children: [children, enableTouchRipple ?\n /*#__PURE__*/\n /* TouchRipple is only needed client-side, x2 boost on the server. */\n _jsx(TouchRipple, _extends({\n ref: handleRippleRef,\n center: centerRipple\n }, TouchRippleProps)) : null]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? ButtonBase.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * A ref for imperative actions.\n * It currently only supports `focusVisible()` action.\n */\n action: refType,\n /**\n * If `true`, the ripples are centered.\n * They won't start at the cursor interaction position.\n * @default false\n */\n centerRipple: PropTypes.bool,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: elementTypeAcceptingRef,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n *\n * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure\n * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * If `true`, the touch ripple effect is disabled.\n * @default false\n */\n disableTouchRipple: PropTypes.bool,\n /**\n * If `true`, the base button will have a keyboard focus ripple.\n * @default false\n */\n focusRipple: PropTypes.bool,\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * @ignore\n */\n href: PropTypes /* @typescript-to-proptypes-ignore */.any,\n /**\n * The component used to render a link when the `href` prop is provided.\n * @default 'a'\n */\n LinkComponent: PropTypes.elementType,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * @ignore\n */\n onContextMenu: PropTypes.func,\n /**\n * @ignore\n */\n onDragLeave: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * Callback fired when the component is focused with a keyboard.\n * We trigger a `onFocus` callback too.\n */\n onFocusVisible: PropTypes.func,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n /**\n * @ignore\n */\n onKeyUp: PropTypes.func,\n /**\n * @ignore\n */\n onMouseDown: PropTypes.func,\n /**\n * @ignore\n */\n onMouseLeave: PropTypes.func,\n /**\n * @ignore\n */\n onMouseUp: PropTypes.func,\n /**\n * @ignore\n */\n onTouchEnd: PropTypes.func,\n /**\n * @ignore\n */\n onTouchMove: PropTypes.func,\n /**\n * @ignore\n */\n onTouchStart: PropTypes.func,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * @default 0\n */\n tabIndex: PropTypes.number,\n /**\n * Props applied to the `TouchRipple` element.\n */\n TouchRippleProps: PropTypes.object,\n /**\n * A ref that points to the `TouchRipple` element.\n */\n touchRippleRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n current: PropTypes.shape({\n pulsate: PropTypes.func.isRequired,\n start: PropTypes.func.isRequired,\n stop: PropTypes.func.isRequired\n })\n })]),\n /**\n * @ignore\n */\n type: PropTypes.oneOfType([PropTypes.oneOf(['button', 'reset', 'submit']), PropTypes.string])\n} : void 0;\nexport default ButtonBase;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAccordionSummaryUtilityClass(slot) {\n return generateUtilityClass('MuiAccordionSummary', slot);\n}\nconst accordionSummaryClasses = generateUtilityClasses('MuiAccordionSummary', ['root', 'expanded', 'focusVisible', 'disabled', 'gutters', 'contentGutters', 'content', 'expandIconWrapper']);\nexport default accordionSummaryClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"expandIcon\", \"focusVisibleClassName\", \"onClick\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from '../zero-styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport ButtonBase from '../ButtonBase';\nimport AccordionContext from '../Accordion/AccordionContext';\nimport accordionSummaryClasses, { getAccordionSummaryUtilityClass } from './accordionSummaryClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n expanded,\n disabled,\n disableGutters\n } = ownerState;\n const slots = {\n root: ['root', expanded && 'expanded', disabled && 'disabled', !disableGutters && 'gutters'],\n focusVisible: ['focusVisible'],\n content: ['content', expanded && 'expanded', !disableGutters && 'contentGutters'],\n expandIconWrapper: ['expandIconWrapper', expanded && 'expanded']\n };\n return composeClasses(slots, getAccordionSummaryUtilityClass, classes);\n};\nconst AccordionSummaryRoot = styled(ButtonBase, {\n name: 'MuiAccordionSummary',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => {\n const transition = {\n duration: theme.transitions.duration.shortest\n };\n return {\n display: 'flex',\n minHeight: 48,\n padding: theme.spacing(0, 2),\n transition: theme.transitions.create(['min-height', 'background-color'], transition),\n [`&.${accordionSummaryClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`&.${accordionSummaryClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n },\n [`&:hover:not(.${accordionSummaryClasses.disabled})`]: {\n cursor: 'pointer'\n },\n variants: [{\n props: props => !props.disableGutters,\n style: {\n [`&.${accordionSummaryClasses.expanded}`]: {\n minHeight: 64\n }\n }\n }]\n };\n});\nconst AccordionSummaryContent = styled('div', {\n name: 'MuiAccordionSummary',\n slot: 'Content',\n overridesResolver: (props, styles) => styles.content\n})(({\n theme\n}) => ({\n display: 'flex',\n flexGrow: 1,\n margin: '12px 0',\n variants: [{\n props: props => !props.disableGutters,\n style: {\n transition: theme.transitions.create(['margin'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${accordionSummaryClasses.expanded}`]: {\n margin: '20px 0'\n }\n }\n }]\n}));\nconst AccordionSummaryExpandIconWrapper = styled('div', {\n name: 'MuiAccordionSummary',\n slot: 'ExpandIconWrapper',\n overridesResolver: (props, styles) => styles.expandIconWrapper\n})(({\n theme\n}) => ({\n display: 'flex',\n color: (theme.vars || theme).palette.action.active,\n transform: 'rotate(0deg)',\n transition: theme.transitions.create('transform', {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${accordionSummaryClasses.expanded}`]: {\n transform: 'rotate(180deg)'\n }\n}));\nconst AccordionSummary = /*#__PURE__*/React.forwardRef(function AccordionSummary(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiAccordionSummary'\n });\n const {\n children,\n className,\n expandIcon,\n focusVisibleClassName,\n onClick\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n disabled = false,\n disableGutters,\n expanded,\n toggle\n } = React.useContext(AccordionContext);\n const handleChange = event => {\n if (toggle) {\n toggle(event);\n }\n if (onClick) {\n onClick(event);\n }\n };\n const ownerState = _extends({}, props, {\n expanded,\n disabled,\n disableGutters\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(AccordionSummaryRoot, _extends({\n focusRipple: false,\n disableRipple: true,\n disabled: disabled,\n component: \"div\",\n \"aria-expanded\": expanded,\n className: clsx(classes.root, className),\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),\n onClick: handleChange,\n ref: ref,\n ownerState: ownerState\n }, other, {\n children: [/*#__PURE__*/_jsx(AccordionSummaryContent, {\n className: classes.content,\n ownerState: ownerState,\n children: children\n }), expandIcon && /*#__PURE__*/_jsx(AccordionSummaryExpandIconWrapper, {\n className: classes.expandIconWrapper,\n ownerState: ownerState,\n children: expandIcon\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? AccordionSummary.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The icon to display as the expand indicator.\n */\n expandIcon: PropTypes.node,\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default AccordionSummary;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAccordionDetailsUtilityClass(slot) {\n return generateUtilityClass('MuiAccordionDetails', slot);\n}\nconst accordionDetailsClasses = generateUtilityClasses('MuiAccordionDetails', ['root']);\nexport default accordionDetailsClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from '../zero-styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport { getAccordionDetailsUtilityClass } from './accordionDetailsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getAccordionDetailsUtilityClass, classes);\n};\nconst AccordionDetailsRoot = styled('div', {\n name: 'MuiAccordionDetails',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(1, 2, 2)\n}));\nconst AccordionDetails = /*#__PURE__*/React.forwardRef(function AccordionDetails(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiAccordionDetails'\n });\n const {\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(AccordionDetailsRoot, _extends({\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? AccordionDetails.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default AccordionDetails;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getIconButtonUtilityClass(slot) {\n return generateUtilityClass('MuiIconButton', slot);\n}\nconst iconButtonClasses = generateUtilityClasses('MuiIconButton', ['root', 'disabled', 'colorInherit', 'colorPrimary', 'colorSecondary', 'colorError', 'colorInfo', 'colorSuccess', 'colorWarning', 'edgeStart', 'edgeEnd', 'sizeSmall', 'sizeMedium', 'sizeLarge']);\nexport default iconButtonClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"edge\", \"children\", \"className\", \"color\", \"disabled\", \"disableFocusRipple\", \"size\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport ButtonBase from '../ButtonBase';\nimport capitalize from '../utils/capitalize';\nimport iconButtonClasses, { getIconButtonUtilityClass } from './iconButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disabled,\n color,\n edge,\n size\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', color !== 'default' && `color${capitalize(color)}`, edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`]\n };\n return composeClasses(slots, getIconButtonUtilityClass, classes);\n};\nconst IconButtonRoot = styled(ButtonBase, {\n name: 'MuiIconButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`], ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n textAlign: 'center',\n flex: '0 0 auto',\n fontSize: theme.typography.pxToRem(24),\n padding: 8,\n borderRadius: '50%',\n overflow: 'visible',\n // Explicitly set the default value to solve a bug on IE11.\n color: (theme.vars || theme).palette.action.active,\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n })\n}, !ownerState.disableRipple && {\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.edge === 'start' && {\n marginLeft: ownerState.size === 'small' ? -3 : -12\n}, ownerState.edge === 'end' && {\n marginRight: ownerState.size === 'small' ? -3 : -12\n}), ({\n theme,\n ownerState\n}) => {\n var _palette;\n const palette = (_palette = (theme.vars || theme).palette) == null ? void 0 : _palette[ownerState.color];\n return _extends({}, ownerState.color === 'inherit' && {\n color: 'inherit'\n }, ownerState.color !== 'inherit' && ownerState.color !== 'default' && _extends({\n color: palette == null ? void 0 : palette.main\n }, !ownerState.disableRipple && {\n '&:hover': _extends({}, palette && {\n backgroundColor: theme.vars ? `rgba(${palette.mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(palette.main, theme.palette.action.hoverOpacity)\n }, {\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n })\n }), ownerState.size === 'small' && {\n padding: 5,\n fontSize: theme.typography.pxToRem(18)\n }, ownerState.size === 'large' && {\n padding: 12,\n fontSize: theme.typography.pxToRem(28)\n }, {\n [`&.${iconButtonClasses.disabled}`]: {\n backgroundColor: 'transparent',\n color: (theme.vars || theme).palette.action.disabled\n }\n });\n});\n\n/**\n * Refer to the [Icons](/material-ui/icons/) section of the documentation\n * regarding the available icon options.\n */\nconst IconButton = /*#__PURE__*/React.forwardRef(function IconButton(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiIconButton'\n });\n const {\n edge = false,\n children,\n className,\n color = 'default',\n disabled = false,\n disableFocusRipple = false,\n size = 'medium'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n edge,\n color,\n disabled,\n disableFocusRipple,\n size\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(IconButtonRoot, _extends({\n className: clsx(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n ref: ref\n }, other, {\n ownerState: ownerState,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? IconButton.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The icon to display.\n */\n children: chainPropTypes(PropTypes.node, props => {\n const found = React.Children.toArray(props.children).some(child => /*#__PURE__*/React.isValidElement(child) && child.props.onClick);\n if (found) {\n return new Error(['MUI: You are providing an onClick event listener to a child of a button element.', 'Prefer applying it to the IconButton directly.', 'This guarantees that the whole <button> will be responsive to click events.'].join('\\n'));\n }\n return null;\n }),\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'default'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n *\n * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure\n * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n /**\n * The size of the component.\n * `small` is equivalent to the dense button styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium', 'large']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default IconButton;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getButtonUtilityClass(slot) {\n return generateUtilityClass('MuiButton', slot);\n}\nconst buttonClasses = generateUtilityClasses('MuiButton', ['root', 'text', 'textInherit', 'textPrimary', 'textSecondary', 'textSuccess', 'textError', 'textInfo', 'textWarning', 'outlined', 'outlinedInherit', 'outlinedPrimary', 'outlinedSecondary', 'outlinedSuccess', 'outlinedError', 'outlinedInfo', 'outlinedWarning', 'contained', 'containedInherit', 'containedPrimary', 'containedSecondary', 'containedSuccess', 'containedError', 'containedInfo', 'containedWarning', 'disableElevation', 'focusVisible', 'disabled', 'colorInherit', 'colorPrimary', 'colorSecondary', 'colorSuccess', 'colorError', 'colorInfo', 'colorWarning', 'textSizeSmall', 'textSizeMedium', 'textSizeLarge', 'outlinedSizeSmall', 'outlinedSizeMedium', 'outlinedSizeLarge', 'containedSizeSmall', 'containedSizeMedium', 'containedSizeLarge', 'sizeMedium', 'sizeSmall', 'sizeLarge', 'fullWidth', 'startIcon', 'endIcon', 'icon', 'iconSizeSmall', 'iconSizeMedium', 'iconSizeLarge']);\nexport default buttonClasses;","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst ButtonGroupContext = /*#__PURE__*/React.createContext({});\nif (process.env.NODE_ENV !== 'production') {\n ButtonGroupContext.displayName = 'ButtonGroupContext';\n}\nexport default ButtonGroupContext;","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst ButtonGroupButtonContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== 'production') {\n ButtonGroupButtonContext.displayName = 'ButtonGroupButtonContext';\n}\nexport default ButtonGroupButtonContext;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"color\", \"component\", \"className\", \"disabled\", \"disableElevation\", \"disableFocusRipple\", \"endIcon\", \"focusVisibleClassName\", \"fullWidth\", \"size\", \"startIcon\", \"type\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport resolveProps from '@mui/utils/resolveProps';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport ButtonBase from '../ButtonBase';\nimport capitalize from '../utils/capitalize';\nimport buttonClasses, { getButtonUtilityClass } from './buttonClasses';\nimport ButtonGroupContext from '../ButtonGroup/ButtonGroupContext';\nimport ButtonGroupButtonContext from '../ButtonGroup/ButtonGroupButtonContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n color,\n disableElevation,\n fullWidth,\n size,\n variant,\n classes\n } = ownerState;\n const slots = {\n root: ['root', variant, `${variant}${capitalize(color)}`, `size${capitalize(size)}`, `${variant}Size${capitalize(size)}`, `color${capitalize(color)}`, disableElevation && 'disableElevation', fullWidth && 'fullWidth'],\n label: ['label'],\n startIcon: ['icon', 'startIcon', `iconSize${capitalize(size)}`],\n endIcon: ['icon', 'endIcon', `iconSize${capitalize(size)}`]\n };\n const composedClasses = composeClasses(slots, getButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst commonIconStyles = ownerState => _extends({}, ownerState.size === 'small' && {\n '& > *:nth-of-type(1)': {\n fontSize: 18\n }\n}, ownerState.size === 'medium' && {\n '& > *:nth-of-type(1)': {\n fontSize: 20\n }\n}, ownerState.size === 'large' && {\n '& > *:nth-of-type(1)': {\n fontSize: 22\n }\n});\nconst ButtonRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`${ownerState.variant}${capitalize(ownerState.color)}`], styles[`size${capitalize(ownerState.size)}`], styles[`${ownerState.variant}Size${capitalize(ownerState.size)}`], ownerState.color === 'inherit' && styles.colorInherit, ownerState.disableElevation && styles.disableElevation, ownerState.fullWidth && styles.fullWidth];\n }\n})(({\n theme,\n ownerState\n}) => {\n var _theme$palette$getCon, _theme$palette;\n const inheritContainedBackgroundColor = theme.palette.mode === 'light' ? theme.palette.grey[300] : theme.palette.grey[800];\n const inheritContainedHoverBackgroundColor = theme.palette.mode === 'light' ? theme.palette.grey.A100 : theme.palette.grey[700];\n return _extends({}, theme.typography.button, {\n minWidth: 64,\n padding: '6px 16px',\n borderRadius: (theme.vars || theme).shape.borderRadius,\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color', 'color'], {\n duration: theme.transitions.duration.short\n }),\n '&:hover': _extends({\n textDecoration: 'none',\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.text.primaryChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.text.primary, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }, ownerState.variant === 'text' && ownerState.color !== 'inherit' && {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }, ownerState.variant === 'outlined' && ownerState.color !== 'inherit' && {\n border: `1px solid ${(theme.vars || theme).palette[ownerState.color].main}`,\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }, ownerState.variant === 'contained' && {\n backgroundColor: theme.vars ? theme.vars.palette.Button.inheritContainedHoverBg : inheritContainedHoverBackgroundColor,\n boxShadow: (theme.vars || theme).shadows[4],\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n boxShadow: (theme.vars || theme).shadows[2],\n backgroundColor: (theme.vars || theme).palette.grey[300]\n }\n }, ownerState.variant === 'contained' && ownerState.color !== 'inherit' && {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].dark,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].main\n }\n }),\n '&:active': _extends({}, ownerState.variant === 'contained' && {\n boxShadow: (theme.vars || theme).shadows[8]\n }),\n [`&.${buttonClasses.focusVisible}`]: _extends({}, ownerState.variant === 'contained' && {\n boxShadow: (theme.vars || theme).shadows[6]\n }),\n [`&.${buttonClasses.disabled}`]: _extends({\n color: (theme.vars || theme).palette.action.disabled\n }, ownerState.variant === 'outlined' && {\n border: `1px solid ${(theme.vars || theme).palette.action.disabledBackground}`\n }, ownerState.variant === 'contained' && {\n color: (theme.vars || theme).palette.action.disabled,\n boxShadow: (theme.vars || theme).shadows[0],\n backgroundColor: (theme.vars || theme).palette.action.disabledBackground\n })\n }, ownerState.variant === 'text' && {\n padding: '6px 8px'\n }, ownerState.variant === 'text' && ownerState.color !== 'inherit' && {\n color: (theme.vars || theme).palette[ownerState.color].main\n }, ownerState.variant === 'outlined' && {\n padding: '5px 15px',\n border: '1px solid currentColor'\n }, ownerState.variant === 'outlined' && ownerState.color !== 'inherit' && {\n color: (theme.vars || theme).palette[ownerState.color].main,\n border: theme.vars ? `1px solid rgba(${theme.vars.palette[ownerState.color].mainChannel} / 0.5)` : `1px solid ${alpha(theme.palette[ownerState.color].main, 0.5)}`\n }, ownerState.variant === 'contained' && {\n color: theme.vars ?\n // this is safe because grey does not change between default light/dark mode\n theme.vars.palette.text.primary : (_theme$palette$getCon = (_theme$palette = theme.palette).getContrastText) == null ? void 0 : _theme$palette$getCon.call(_theme$palette, theme.palette.grey[300]),\n backgroundColor: theme.vars ? theme.vars.palette.Button.inheritContainedBg : inheritContainedBackgroundColor,\n boxShadow: (theme.vars || theme).shadows[2]\n }, ownerState.variant === 'contained' && ownerState.color !== 'inherit' && {\n color: (theme.vars || theme).palette[ownerState.color].contrastText,\n backgroundColor: (theme.vars || theme).palette[ownerState.color].main\n }, ownerState.color === 'inherit' && {\n color: 'inherit',\n borderColor: 'currentColor'\n }, ownerState.size === 'small' && ownerState.variant === 'text' && {\n padding: '4px 5px',\n fontSize: theme.typography.pxToRem(13)\n }, ownerState.size === 'large' && ownerState.variant === 'text' && {\n padding: '8px 11px',\n fontSize: theme.typography.pxToRem(15)\n }, ownerState.size === 'small' && ownerState.variant === 'outlined' && {\n padding: '3px 9px',\n fontSize: theme.typography.pxToRem(13)\n }, ownerState.size === 'large' && ownerState.variant === 'outlined' && {\n padding: '7px 21px',\n fontSize: theme.typography.pxToRem(15)\n }, ownerState.size === 'small' && ownerState.variant === 'contained' && {\n padding: '4px 10px',\n fontSize: theme.typography.pxToRem(13)\n }, ownerState.size === 'large' && ownerState.variant === 'contained' && {\n padding: '8px 22px',\n fontSize: theme.typography.pxToRem(15)\n }, ownerState.fullWidth && {\n width: '100%'\n });\n}, ({\n ownerState\n}) => ownerState.disableElevation && {\n boxShadow: 'none',\n '&:hover': {\n boxShadow: 'none'\n },\n [`&.${buttonClasses.focusVisible}`]: {\n boxShadow: 'none'\n },\n '&:active': {\n boxShadow: 'none'\n },\n [`&.${buttonClasses.disabled}`]: {\n boxShadow: 'none'\n }\n});\nconst ButtonStartIcon = styled('span', {\n name: 'MuiButton',\n slot: 'StartIcon',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.startIcon, styles[`iconSize${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inherit',\n marginRight: 8,\n marginLeft: -4\n}, ownerState.size === 'small' && {\n marginLeft: -2\n}, commonIconStyles(ownerState)));\nconst ButtonEndIcon = styled('span', {\n name: 'MuiButton',\n slot: 'EndIcon',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.endIcon, styles[`iconSize${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inherit',\n marginRight: -4,\n marginLeft: 8\n}, ownerState.size === 'small' && {\n marginRight: -2\n}, commonIconStyles(ownerState)));\nconst Button = /*#__PURE__*/React.forwardRef(function Button(inProps, ref) {\n // props priority: `inProps` > `contextProps` > `themeDefaultProps`\n const contextProps = React.useContext(ButtonGroupContext);\n const buttonGroupButtonContextPositionClassName = React.useContext(ButtonGroupButtonContext);\n const resolvedProps = resolveProps(contextProps, inProps);\n const props = useDefaultProps({\n props: resolvedProps,\n name: 'MuiButton'\n });\n const {\n children,\n color = 'primary',\n component = 'button',\n className,\n disabled = false,\n disableElevation = false,\n disableFocusRipple = false,\n endIcon: endIconProp,\n focusVisibleClassName,\n fullWidth = false,\n size = 'medium',\n startIcon: startIconProp,\n type,\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n component,\n disabled,\n disableElevation,\n disableFocusRipple,\n fullWidth,\n size,\n type,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const startIcon = startIconProp && /*#__PURE__*/_jsx(ButtonStartIcon, {\n className: classes.startIcon,\n ownerState: ownerState,\n children: startIconProp\n });\n const endIcon = endIconProp && /*#__PURE__*/_jsx(ButtonEndIcon, {\n className: classes.endIcon,\n ownerState: ownerState,\n children: endIconProp\n });\n const positionClassName = buttonGroupButtonContextPositionClassName || '';\n return /*#__PURE__*/_jsxs(ButtonRoot, _extends({\n ownerState: ownerState,\n className: clsx(contextProps.className, classes.root, className, positionClassName),\n component: component,\n disabled: disabled,\n focusRipple: !disableFocusRipple,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),\n ref: ref,\n type: type\n }, other, {\n classes: classes,\n children: [startIcon, children, endIcon]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Button.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'primary', 'secondary', 'success', 'error', 'info', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, no elevation is used.\n * @default false\n */\n disableElevation: PropTypes.bool,\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n *\n * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure\n * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * Element placed after the children.\n */\n endIcon: PropTypes.node,\n /**\n * @ignore\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * If `true`, the button will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * The URL to link to when the button is clicked.\n * If defined, an `a` element will be used as the root node.\n */\n href: PropTypes.string,\n /**\n * The size of the component.\n * `small` is equivalent to the dense button styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium', 'large']), PropTypes.string]),\n /**\n * Element placed before the children.\n */\n startIcon: PropTypes.node,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * @ignore\n */\n type: PropTypes.oneOfType([PropTypes.oneOf(['button', 'reset', 'submit']), PropTypes.string]),\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['contained', 'outlined', 'text']), PropTypes.string])\n} : void 0;\nexport default Button;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z\"\n}), 'Cancel');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getChipUtilityClass(slot) {\n return generateUtilityClass('MuiChip', slot);\n}\nconst chipClasses = generateUtilityClasses('MuiChip', ['root', 'sizeSmall', 'sizeMedium', 'colorError', 'colorInfo', 'colorPrimary', 'colorSecondary', 'colorSuccess', 'colorWarning', 'disabled', 'clickable', 'clickableColorPrimary', 'clickableColorSecondary', 'deletable', 'deletableColorPrimary', 'deletableColorSecondary', 'outlined', 'filled', 'outlinedPrimary', 'outlinedSecondary', 'filledPrimary', 'filledSecondary', 'avatar', 'avatarSmall', 'avatarMedium', 'avatarColorPrimary', 'avatarColorSecondary', 'icon', 'iconSmall', 'iconMedium', 'iconColorPrimary', 'iconColorSecondary', 'label', 'labelSmall', 'labelMedium', 'deleteIcon', 'deleteIconSmall', 'deleteIconMedium', 'deleteIconColorPrimary', 'deleteIconColorSecondary', 'deleteIconOutlinedColorPrimary', 'deleteIconOutlinedColorSecondary', 'deleteIconFilledColorPrimary', 'deleteIconFilledColorSecondary', 'focusVisible']);\nexport default chipClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"avatar\", \"className\", \"clickable\", \"color\", \"component\", \"deleteIcon\", \"disabled\", \"icon\", \"label\", \"onClick\", \"onDelete\", \"onKeyDown\", \"onKeyUp\", \"size\", \"variant\", \"tabIndex\", \"skipFocusWhenDisabled\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport CancelIcon from '../internal/svg-icons/Cancel';\nimport useForkRef from '../utils/useForkRef';\nimport unsupportedProp from '../utils/unsupportedProp';\nimport capitalize from '../utils/capitalize';\nimport ButtonBase from '../ButtonBase';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled from '../styles/styled';\nimport chipClasses, { getChipUtilityClass } from './chipClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disabled,\n size,\n color,\n iconColor,\n onDelete,\n clickable,\n variant\n } = ownerState;\n const slots = {\n root: ['root', variant, disabled && 'disabled', `size${capitalize(size)}`, `color${capitalize(color)}`, clickable && 'clickable', clickable && `clickableColor${capitalize(color)}`, onDelete && 'deletable', onDelete && `deletableColor${capitalize(color)}`, `${variant}${capitalize(color)}`],\n label: ['label', `label${capitalize(size)}`],\n avatar: ['avatar', `avatar${capitalize(size)}`, `avatarColor${capitalize(color)}`],\n icon: ['icon', `icon${capitalize(size)}`, `iconColor${capitalize(iconColor)}`],\n deleteIcon: ['deleteIcon', `deleteIcon${capitalize(size)}`, `deleteIconColor${capitalize(color)}`, `deleteIcon${capitalize(variant)}Color${capitalize(color)}`]\n };\n return composeClasses(slots, getChipUtilityClass, classes);\n};\nconst ChipRoot = styled('div', {\n name: 'MuiChip',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n const {\n color,\n iconColor,\n clickable,\n onDelete,\n size,\n variant\n } = ownerState;\n return [{\n [`& .${chipClasses.avatar}`]: styles.avatar\n }, {\n [`& .${chipClasses.avatar}`]: styles[`avatar${capitalize(size)}`]\n }, {\n [`& .${chipClasses.avatar}`]: styles[`avatarColor${capitalize(color)}`]\n }, {\n [`& .${chipClasses.icon}`]: styles.icon\n }, {\n [`& .${chipClasses.icon}`]: styles[`icon${capitalize(size)}`]\n }, {\n [`& .${chipClasses.icon}`]: styles[`iconColor${capitalize(iconColor)}`]\n }, {\n [`& .${chipClasses.deleteIcon}`]: styles.deleteIcon\n }, {\n [`& .${chipClasses.deleteIcon}`]: styles[`deleteIcon${capitalize(size)}`]\n }, {\n [`& .${chipClasses.deleteIcon}`]: styles[`deleteIconColor${capitalize(color)}`]\n }, {\n [`& .${chipClasses.deleteIcon}`]: styles[`deleteIcon${capitalize(variant)}Color${capitalize(color)}`]\n }, styles.root, styles[`size${capitalize(size)}`], styles[`color${capitalize(color)}`], clickable && styles.clickable, clickable && color !== 'default' && styles[`clickableColor${capitalize(color)})`], onDelete && styles.deletable, onDelete && color !== 'default' && styles[`deletableColor${capitalize(color)}`], styles[variant], styles[`${variant}${capitalize(color)}`]];\n }\n})(({\n theme,\n ownerState\n}) => {\n const textColor = theme.palette.mode === 'light' ? theme.palette.grey[700] : theme.palette.grey[300];\n return _extends({\n maxWidth: '100%',\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.pxToRem(13),\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: 32,\n color: (theme.vars || theme).palette.text.primary,\n backgroundColor: (theme.vars || theme).palette.action.selected,\n borderRadius: 32 / 2,\n whiteSpace: 'nowrap',\n transition: theme.transitions.create(['background-color', 'box-shadow']),\n // reset cursor explicitly in case ButtonBase is used\n cursor: 'unset',\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n textDecoration: 'none',\n border: 0,\n // Remove `button` border\n padding: 0,\n // Remove `button` padding\n verticalAlign: 'middle',\n boxSizing: 'border-box',\n [`&.${chipClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity,\n pointerEvents: 'none'\n },\n [`& .${chipClasses.avatar}`]: {\n marginLeft: 5,\n marginRight: -6,\n width: 24,\n height: 24,\n color: theme.vars ? theme.vars.palette.Chip.defaultAvatarColor : textColor,\n fontSize: theme.typography.pxToRem(12)\n },\n [`& .${chipClasses.avatarColorPrimary}`]: {\n color: (theme.vars || theme).palette.primary.contrastText,\n backgroundColor: (theme.vars || theme).palette.primary.dark\n },\n [`& .${chipClasses.avatarColorSecondary}`]: {\n color: (theme.vars || theme).palette.secondary.contrastText,\n backgroundColor: (theme.vars || theme).palette.secondary.dark\n },\n [`& .${chipClasses.avatarSmall}`]: {\n marginLeft: 4,\n marginRight: -4,\n width: 18,\n height: 18,\n fontSize: theme.typography.pxToRem(10)\n },\n [`& .${chipClasses.icon}`]: _extends({\n marginLeft: 5,\n marginRight: -6\n }, ownerState.size === 'small' && {\n fontSize: 18,\n marginLeft: 4,\n marginRight: -4\n }, ownerState.iconColor === ownerState.color && _extends({\n color: theme.vars ? theme.vars.palette.Chip.defaultIconColor : textColor\n }, ownerState.color !== 'default' && {\n color: 'inherit'\n })),\n [`& .${chipClasses.deleteIcon}`]: _extends({\n WebkitTapHighlightColor: 'transparent',\n color: theme.vars ? `rgba(${theme.vars.palette.text.primaryChannel} / 0.26)` : alpha(theme.palette.text.primary, 0.26),\n fontSize: 22,\n cursor: 'pointer',\n margin: '0 5px 0 -6px',\n '&:hover': {\n color: theme.vars ? `rgba(${theme.vars.palette.text.primaryChannel} / 0.4)` : alpha(theme.palette.text.primary, 0.4)\n }\n }, ownerState.size === 'small' && {\n fontSize: 16,\n marginRight: 4,\n marginLeft: -4\n }, ownerState.color !== 'default' && {\n color: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].contrastTextChannel} / 0.7)` : alpha(theme.palette[ownerState.color].contrastText, 0.7),\n '&:hover, &:active': {\n color: (theme.vars || theme).palette[ownerState.color].contrastText\n }\n })\n }, ownerState.size === 'small' && {\n height: 24\n }, ownerState.color !== 'default' && {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].main,\n color: (theme.vars || theme).palette[ownerState.color].contrastText\n }, ownerState.onDelete && {\n [`&.${chipClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.selectedChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.action.selected, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n }, ownerState.onDelete && ownerState.color !== 'default' && {\n [`&.${chipClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].dark\n }\n });\n}, ({\n theme,\n ownerState\n}) => _extends({}, ownerState.clickable && {\n userSelect: 'none',\n WebkitTapHighlightColor: 'transparent',\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.selectedChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.action.selected, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity)\n },\n [`&.${chipClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.selectedChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.action.selected, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n },\n '&:active': {\n boxShadow: (theme.vars || theme).shadows[1]\n }\n}, ownerState.clickable && ownerState.color !== 'default' && {\n [`&:hover, &.${chipClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].dark\n }\n}), ({\n theme,\n ownerState\n}) => _extends({}, ownerState.variant === 'outlined' && {\n backgroundColor: 'transparent',\n border: theme.vars ? `1px solid ${theme.vars.palette.Chip.defaultBorder}` : `1px solid ${theme.palette.mode === 'light' ? theme.palette.grey[400] : theme.palette.grey[700]}`,\n [`&.${chipClasses.clickable}:hover`]: {\n backgroundColor: (theme.vars || theme).palette.action.hover\n },\n [`&.${chipClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`& .${chipClasses.avatar}`]: {\n marginLeft: 4\n },\n [`& .${chipClasses.avatarSmall}`]: {\n marginLeft: 2\n },\n [`& .${chipClasses.icon}`]: {\n marginLeft: 4\n },\n [`& .${chipClasses.iconSmall}`]: {\n marginLeft: 2\n },\n [`& .${chipClasses.deleteIcon}`]: {\n marginRight: 5\n },\n [`& .${chipClasses.deleteIconSmall}`]: {\n marginRight: 3\n }\n}, ownerState.variant === 'outlined' && ownerState.color !== 'default' && {\n color: (theme.vars || theme).palette[ownerState.color].main,\n border: `1px solid ${theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / 0.7)` : alpha(theme.palette[ownerState.color].main, 0.7)}`,\n [`&.${chipClasses.clickable}:hover`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity)\n },\n [`&.${chipClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / ${theme.vars.palette.action.focusOpacity})` : alpha(theme.palette[ownerState.color].main, theme.palette.action.focusOpacity)\n },\n [`& .${chipClasses.deleteIcon}`]: {\n color: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / 0.7)` : alpha(theme.palette[ownerState.color].main, 0.7),\n '&:hover, &:active': {\n color: (theme.vars || theme).palette[ownerState.color].main\n }\n }\n}));\nconst ChipLabel = styled('span', {\n name: 'MuiChip',\n slot: 'Label',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n const {\n size\n } = ownerState;\n return [styles.label, styles[`label${capitalize(size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n paddingLeft: 12,\n paddingRight: 12,\n whiteSpace: 'nowrap'\n}, ownerState.variant === 'outlined' && {\n paddingLeft: 11,\n paddingRight: 11\n}, ownerState.size === 'small' && {\n paddingLeft: 8,\n paddingRight: 8\n}, ownerState.size === 'small' && ownerState.variant === 'outlined' && {\n paddingLeft: 7,\n paddingRight: 7\n}));\nfunction isDeleteKeyboardEvent(keyboardEvent) {\n return keyboardEvent.key === 'Backspace' || keyboardEvent.key === 'Delete';\n}\n\n/**\n * Chips represent complex entities in small blocks, such as a contact.\n */\nconst Chip = /*#__PURE__*/React.forwardRef(function Chip(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiChip'\n });\n const {\n avatar: avatarProp,\n className,\n clickable: clickableProp,\n color = 'default',\n component: ComponentProp,\n deleteIcon: deleteIconProp,\n disabled = false,\n icon: iconProp,\n label,\n onClick,\n onDelete,\n onKeyDown,\n onKeyUp,\n size = 'medium',\n variant = 'filled',\n tabIndex,\n skipFocusWhenDisabled = false // TODO v6: Rename to `focusableWhenDisabled`.\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const chipRef = React.useRef(null);\n const handleRef = useForkRef(chipRef, ref);\n const handleDeleteIconClick = event => {\n // Stop the event from bubbling up to the `Chip`\n event.stopPropagation();\n if (onDelete) {\n onDelete(event);\n }\n };\n const handleKeyDown = event => {\n // Ignore events from children of `Chip`.\n if (event.currentTarget === event.target && isDeleteKeyboardEvent(event)) {\n // Will be handled in keyUp, otherwise some browsers\n // might init navigation\n event.preventDefault();\n }\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n const handleKeyUp = event => {\n // Ignore events from children of `Chip`.\n if (event.currentTarget === event.target) {\n if (onDelete && isDeleteKeyboardEvent(event)) {\n onDelete(event);\n } else if (event.key === 'Escape' && chipRef.current) {\n chipRef.current.blur();\n }\n }\n if (onKeyUp) {\n onKeyUp(event);\n }\n };\n const clickable = clickableProp !== false && onClick ? true : clickableProp;\n const component = clickable || onDelete ? ButtonBase : ComponentProp || 'div';\n const ownerState = _extends({}, props, {\n component,\n disabled,\n size,\n color,\n iconColor: /*#__PURE__*/React.isValidElement(iconProp) ? iconProp.props.color || color : color,\n onDelete: !!onDelete,\n clickable,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const moreProps = component === ButtonBase ? _extends({\n component: ComponentProp || 'div',\n focusVisibleClassName: classes.focusVisible\n }, onDelete && {\n disableRipple: true\n }) : {};\n let deleteIcon = null;\n if (onDelete) {\n deleteIcon = deleteIconProp && /*#__PURE__*/React.isValidElement(deleteIconProp) ? ( /*#__PURE__*/React.cloneElement(deleteIconProp, {\n className: clsx(deleteIconProp.props.className, classes.deleteIcon),\n onClick: handleDeleteIconClick\n })) : /*#__PURE__*/_jsx(CancelIcon, {\n className: clsx(classes.deleteIcon),\n onClick: handleDeleteIconClick\n });\n }\n let avatar = null;\n if (avatarProp && /*#__PURE__*/React.isValidElement(avatarProp)) {\n avatar = /*#__PURE__*/React.cloneElement(avatarProp, {\n className: clsx(classes.avatar, avatarProp.props.className)\n });\n }\n let icon = null;\n if (iconProp && /*#__PURE__*/React.isValidElement(iconProp)) {\n icon = /*#__PURE__*/React.cloneElement(iconProp, {\n className: clsx(classes.icon, iconProp.props.className)\n });\n }\n if (process.env.NODE_ENV !== 'production') {\n if (avatar && icon) {\n console.error('MUI: The Chip component can not handle the avatar ' + 'and the icon prop at the same time. Pick one.');\n }\n }\n return /*#__PURE__*/_jsxs(ChipRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n disabled: clickable && disabled ? true : undefined,\n onClick: onClick,\n onKeyDown: handleKeyDown,\n onKeyUp: handleKeyUp,\n ref: handleRef,\n tabIndex: skipFocusWhenDisabled && disabled ? -1 : tabIndex,\n ownerState: ownerState\n }, moreProps, other, {\n children: [avatar || icon, /*#__PURE__*/_jsx(ChipLabel, {\n className: clsx(classes.label),\n ownerState: ownerState,\n children: label\n }), deleteIcon]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Chip.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The Avatar element to display.\n */\n avatar: PropTypes.element,\n /**\n * This prop isn't supported.\n * Use the `component` prop if you need to change the children structure.\n */\n children: unsupportedProp,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the chip will appear clickable, and will raise when pressed,\n * even if the onClick prop is not defined.\n * If `false`, the chip will not appear clickable, even if onClick prop is defined.\n * This can be used, for example,\n * along with the component prop to indicate an anchor Chip is clickable.\n * Note: this controls the UI and does not affect the onClick event.\n */\n clickable: PropTypes.bool,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'default'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Override the default delete icon element. Shown only if `onDelete` is set.\n */\n deleteIcon: PropTypes.element,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * Icon element.\n */\n icon: PropTypes.element,\n /**\n * The content of the component.\n */\n label: PropTypes.node,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * Callback fired when the delete icon is clicked.\n * If set, the delete icon will be shown.\n */\n onDelete: PropTypes.func,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n /**\n * @ignore\n */\n onKeyUp: PropTypes.func,\n /**\n * The size of the component.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * If `true`, allows the disabled chip to escape focus.\n * If `false`, allows the disabled chip to receive focus.\n * @default false\n */\n skipFocusWhenDisabled: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * @ignore\n */\n tabIndex: PropTypes.number,\n /**\n * The variant to use.\n * @default 'filled'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['filled', 'outlined']), PropTypes.string])\n} : void 0;\nexport default Chip;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"component\"];\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport styled from '@mui/styled-engine';\nimport styleFunctionSx, { extendSxProp } from './styleFunctionSx';\nimport useTheme from './useTheme';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function createBox(options = {}) {\n const {\n themeId,\n defaultTheme,\n defaultClassName = 'MuiBox-root',\n generateClassName\n } = options;\n const BoxRoot = styled('div', {\n shouldForwardProp: prop => prop !== 'theme' && prop !== 'sx' && prop !== 'as'\n })(styleFunctionSx);\n const Box = /*#__PURE__*/React.forwardRef(function Box(inProps, ref) {\n const theme = useTheme(defaultTheme);\n const _extendSxProp = extendSxProp(inProps),\n {\n className,\n component = 'div'\n } = _extendSxProp,\n other = _objectWithoutPropertiesLoose(_extendSxProp, _excluded);\n return /*#__PURE__*/_jsx(BoxRoot, _extends({\n as: component,\n ref: ref,\n className: clsx(className, generateClassName ? generateClassName(defaultClassName) : defaultClassName),\n theme: themeId ? theme[themeId] || theme : theme\n }, other));\n });\n return Box;\n}","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nconst boxClasses = generateUtilityClasses('MuiBox', ['root']);\nexport default boxClasses;","'use client';\n\nimport { createBox } from '@mui/system';\nimport PropTypes from 'prop-types';\nimport { unstable_ClassNameGenerator as ClassNameGenerator } from '../className';\nimport { createTheme } from '../styles';\nimport THEME_ID from '../styles/identifier';\nimport boxClasses from './boxClasses';\nconst defaultTheme = createTheme();\nconst Box = createBox({\n themeId: THEME_ID,\n defaultTheme,\n defaultClassName: boxClasses.root,\n generateClassName: ClassNameGenerator.generate\n});\nprocess.env.NODE_ENV !== \"production\" ? Box.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Box;","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\n\n// \n\nvar charCodeOfDot = \".\".charCodeAt(0);\nvar reEscapeChar = /\\\\(\\\\)?/g;\nvar rePropName = RegExp(\n// Match anything that isn't a dot or bracket.\n\"[^.[\\\\]]+\" + \"|\" +\n// Or match property names within brackets.\n\"\\\\[(?:\" +\n// Match a non-string expression.\n\"([^\\\"'][^[]*)\" + \"|\" +\n// Or match strings (supports escaping characters).\n\"([\\\"'])((?:(?!\\\\2)[^\\\\\\\\]|\\\\\\\\.)*?)\\\\2\" + \")\\\\]\" + \"|\" +\n// Or match \"\" as the space between consecutive dots or empty brackets.\n\"(?=(?:\\\\.|\\\\[\\\\])(?:\\\\.|\\\\[\\\\]|$))\", \"g\");\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = function stringToPath(string) {\n var result = [];\n if (string.charCodeAt(0) === charCodeOfDot) {\n result.push(\"\");\n }\n string.replace(rePropName, function (match, expression, quote, subString) {\n var key = match;\n if (quote) {\n key = subString.replace(reEscapeChar, \"$1\");\n } else if (expression) {\n key = expression.trim();\n }\n result.push(key);\n });\n return result;\n};\nvar keysCache = {};\nvar keysRegex = /[.[\\]]+/;\nvar toPath = function toPath(key) {\n if (key === null || key === undefined || !key.length) {\n return [];\n }\n if (typeof key !== \"string\") {\n throw new Error(\"toPath() expects a string\");\n }\n if (keysCache[key] == null) {\n /**\n * The following patch fixes issue 456, introduced since v4.20.3:\n *\n * Before v4.20.3, i.e. in v4.20.2, a `key` like 'choices[]' would map to ['choices']\n * (e.g. an array of choices used where 'choices[]' is name attribute of an input of type checkbox).\n *\n * Since v4.20.3, a `key` like 'choices[]' would map to ['choices', ''] which is wrong and breaks\n * this kind of inputs e.g. in React.\n *\n * v4.20.3 introduced an unwanted breaking change, this patch fixes it, see the issue at the link below.\n *\n * @see https://github.com/final-form/final-form/issues/456\n */\n if (key.endsWith(\"[]\")) {\n // v4.20.2 (a `key` like 'choices[]' should map to ['choices'], which is fine).\n keysCache[key] = key.split(keysRegex).filter(Boolean);\n } else {\n // v4.20.3 (a `key` like 'choices[]' maps to ['choices', ''], which breaks applications relying on inputs like `<input type=\"checkbox\" name=\"choices[]\" />`).\n keysCache[key] = stringToPath(key);\n }\n }\n return keysCache[key];\n};\n\n// \nvar getIn = function getIn(state, complexKey) {\n // Intentionally using iteration rather than recursion\n var path = toPath(complexKey);\n var current = state;\n for (var i = 0; i < path.length; i++) {\n var key = path[i];\n if (current === undefined || current === null || typeof current !== \"object\" || Array.isArray(current) && isNaN(key)) {\n return undefined;\n }\n current = current[key];\n }\n return current;\n};\n\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar setInRecursor = function setInRecursor(current, index, path, value, destroyArrays) {\n if (index >= path.length) {\n // end of recursion\n return value;\n }\n var key = path[index];\n\n // determine type of key\n if (isNaN(key)) {\n var _extends2;\n // object set\n if (current === undefined || current === null) {\n var _ref;\n // recurse\n var _result = setInRecursor(undefined, index + 1, path, value, destroyArrays);\n\n // delete or create an object\n return _result === undefined ? undefined : (_ref = {}, _ref[key] = _result, _ref);\n }\n if (Array.isArray(current)) {\n throw new Error(\"Cannot set a non-numeric property on an array\");\n }\n // current exists, so make a copy of all its values, and add/update the new one\n var _result2 = setInRecursor(current[key], index + 1, path, value, destroyArrays);\n if (_result2 === undefined) {\n var numKeys = Object.keys(current).length;\n if (current[key] === undefined && numKeys === 0) {\n // object was already empty\n return undefined;\n }\n if (current[key] !== undefined && numKeys <= 1) {\n // only key we had was the one we are deleting\n if (!isNaN(path[index - 1]) && !destroyArrays) {\n // we are in an array, so return an empty object\n return {};\n } else {\n return undefined;\n }\n }\n current[key];\n var _final = _objectWithoutPropertiesLoose(current, [key].map(_toPropertyKey));\n return _final;\n }\n // set result in key\n return _extends({}, current, (_extends2 = {}, _extends2[key] = _result2, _extends2));\n }\n // array set\n var numericKey = Number(key);\n if (current === undefined || current === null) {\n // recurse\n var _result3 = setInRecursor(undefined, index + 1, path, value, destroyArrays);\n\n // if nothing returned, delete it\n if (_result3 === undefined) {\n return undefined;\n }\n\n // create an array\n var _array = [];\n _array[numericKey] = _result3;\n return _array;\n }\n if (!Array.isArray(current)) {\n throw new Error(\"Cannot set a numeric property on an object\");\n }\n // recurse\n var existingValue = current[numericKey];\n var result = setInRecursor(existingValue, index + 1, path, value, destroyArrays);\n\n // current exists, so make a copy of all its values, and add/update the new one\n var array = [].concat(current);\n if (destroyArrays && result === undefined) {\n array.splice(numericKey, 1);\n if (array.length === 0) {\n return undefined;\n }\n } else {\n array[numericKey] = result;\n }\n return array;\n};\nvar setIn = function setIn(state, key, value, destroyArrays) {\n if (destroyArrays === void 0) {\n destroyArrays = false;\n }\n if (state === undefined || state === null) {\n throw new Error(\"Cannot call setIn() with \" + String(state) + \" state\");\n }\n if (key === undefined || key === null) {\n throw new Error(\"Cannot call setIn() with \" + String(key) + \" key\");\n }\n // Recursive function needs to accept and return State, but public API should\n // only deal with Objects\n return setInRecursor(state, 0, toPath(key), value, destroyArrays);\n};\n\nvar FORM_ERROR = \"FINAL_FORM/form-error\";\nvar ARRAY_ERROR = \"FINAL_FORM/array-error\";\n\n// \n\n\n/**\n * Converts internal field state to published field state\n */\nfunction publishFieldState(formState, field) {\n var errors = formState.errors,\n initialValues = formState.initialValues,\n lastSubmittedValues = formState.lastSubmittedValues,\n submitErrors = formState.submitErrors,\n submitFailed = formState.submitFailed,\n submitSucceeded = formState.submitSucceeded,\n submitting = formState.submitting,\n values = formState.values;\n var active = field.active,\n blur = field.blur,\n change = field.change,\n data = field.data,\n focus = field.focus,\n modified = field.modified,\n modifiedSinceLastSubmit = field.modifiedSinceLastSubmit,\n name = field.name,\n touched = field.touched,\n validating = field.validating,\n visited = field.visited;\n var value = getIn(values, name);\n var error = getIn(errors, name);\n if (error && error[ARRAY_ERROR]) {\n error = error[ARRAY_ERROR];\n }\n var submitError = submitErrors && getIn(submitErrors, name);\n var initial = initialValues && getIn(initialValues, name);\n var pristine = field.isEqual(initial, value);\n var dirtySinceLastSubmit = !!(lastSubmittedValues && !field.isEqual(getIn(lastSubmittedValues, name), value));\n var valid = !error && !submitError;\n return {\n active: active,\n blur: blur,\n change: change,\n data: data,\n dirty: !pristine,\n dirtySinceLastSubmit: dirtySinceLastSubmit,\n error: error,\n focus: focus,\n initial: initial,\n invalid: !valid,\n length: Array.isArray(value) ? value.length : undefined,\n modified: modified,\n modifiedSinceLastSubmit: modifiedSinceLastSubmit,\n name: name,\n pristine: pristine,\n submitError: submitError,\n submitFailed: submitFailed,\n submitSucceeded: submitSucceeded,\n submitting: submitting,\n touched: touched,\n valid: valid,\n value: value,\n visited: visited,\n validating: validating\n };\n}\n\n// \nvar fieldSubscriptionItems = [\"active\", \"data\", \"dirty\", \"dirtySinceLastSubmit\", \"error\", \"initial\", \"invalid\", \"length\", \"modified\", \"modifiedSinceLastSubmit\", \"pristine\", \"submitError\", \"submitFailed\", \"submitSucceeded\", \"submitting\", \"touched\", \"valid\", \"value\", \"visited\", \"validating\"];\n\n// \n\nvar shallowEqual = function shallowEqual(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== \"object\" || !a || typeof b !== \"object\" || !b) {\n return false;\n }\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n if (keysA.length !== keysB.length) {\n return false;\n }\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(b);\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n if (!bHasOwnProperty(key) || a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n};\n\n// \nfunction subscriptionFilter (dest, src, previous, subscription, keys, shallowEqualKeys) {\n var different = false;\n keys.forEach(function (key) {\n if (subscription[key]) {\n dest[key] = src[key];\n if (!previous || (~shallowEqualKeys.indexOf(key) ? !shallowEqual(src[key], previous[key]) : src[key] !== previous[key])) {\n different = true;\n }\n }\n });\n return different;\n}\n\n// \nvar shallowEqualKeys$1 = [\"data\"];\n\n/**\n * Filters items in a FieldState based on a FieldSubscription\n */\nvar filterFieldState = function filterFieldState(state, previousState, subscription, force) {\n var result = {\n blur: state.blur,\n change: state.change,\n focus: state.focus,\n name: state.name\n };\n var different = subscriptionFilter(result, state, previousState, subscription, fieldSubscriptionItems, shallowEqualKeys$1) || !previousState;\n return different || force ? result : undefined;\n};\n\n// \nvar formSubscriptionItems = [\"active\", \"dirty\", \"dirtyFields\", \"dirtyFieldsSinceLastSubmit\", \"dirtySinceLastSubmit\", \"error\", \"errors\", \"hasSubmitErrors\", \"hasValidationErrors\", \"initialValues\", \"invalid\", \"modified\", \"modifiedSinceLastSubmit\", \"pristine\", \"submitting\", \"submitError\", \"submitErrors\", \"submitFailed\", \"submitSucceeded\", \"touched\", \"valid\", \"validating\", \"values\", \"visited\"];\n\n// \nvar shallowEqualKeys = [\"touched\", \"visited\"];\n\n/**\n * Filters items in a FormState based on a FormSubscription\n */\nfunction filterFormState(state, previousState, subscription, force) {\n var result = {};\n var different = subscriptionFilter(result, state, previousState, subscription, formSubscriptionItems, shallowEqualKeys) || !previousState;\n return different || force ? result : undefined;\n}\n\n// \nvar memoize = function memoize(fn) {\n var lastArgs;\n var lastResult;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (!lastArgs || args.length !== lastArgs.length || args.some(function (arg, index) {\n return !shallowEqual(lastArgs[index], arg);\n })) {\n lastArgs = args;\n lastResult = fn.apply(void 0, args);\n }\n return lastResult;\n };\n};\n\nvar isPromise = (function (obj) {\n return !!obj && (typeof obj === \"object\" || typeof obj === \"function\") && typeof obj.then === \"function\";\n});\n\nvar version = \"4.20.10\";\n\nvar configOptions = [\"debug\", \"initialValues\", \"keepDirtyOnReinitialize\", \"mutators\", \"onSubmit\", \"validate\", \"validateOnBlur\"];\nvar tripleEquals = function tripleEquals(a, b) {\n return a === b;\n};\nvar hasAnyError = function hasAnyError(errors) {\n return Object.keys(errors).some(function (key) {\n var value = errors[key];\n if (value && typeof value === \"object\" && !(value instanceof Error)) {\n return hasAnyError(value);\n }\n return typeof value !== \"undefined\";\n });\n};\nfunction convertToExternalFormState(_ref) {\n var active = _ref.active,\n dirtySinceLastSubmit = _ref.dirtySinceLastSubmit,\n modifiedSinceLastSubmit = _ref.modifiedSinceLastSubmit,\n error = _ref.error,\n errors = _ref.errors,\n initialValues = _ref.initialValues,\n pristine = _ref.pristine,\n submitting = _ref.submitting,\n submitFailed = _ref.submitFailed,\n submitSucceeded = _ref.submitSucceeded,\n submitError = _ref.submitError,\n submitErrors = _ref.submitErrors,\n valid = _ref.valid,\n validating = _ref.validating,\n values = _ref.values;\n return {\n active: active,\n dirty: !pristine,\n dirtySinceLastSubmit: dirtySinceLastSubmit,\n modifiedSinceLastSubmit: modifiedSinceLastSubmit,\n error: error,\n errors: errors,\n hasSubmitErrors: !!(submitError || submitErrors && hasAnyError(submitErrors)),\n hasValidationErrors: !!(error || hasAnyError(errors)),\n invalid: !valid,\n initialValues: initialValues,\n pristine: pristine,\n submitting: submitting,\n submitFailed: submitFailed,\n submitSucceeded: submitSucceeded,\n submitError: submitError,\n submitErrors: submitErrors,\n valid: valid,\n validating: validating > 0,\n values: values\n };\n}\nfunction notifySubscriber(subscriber, subscription, state, lastState, filter, force) {\n var notification = filter(state, lastState, subscription, force);\n if (notification) {\n subscriber(notification);\n return true;\n }\n return false;\n}\nfunction notify(_ref2, state, lastState, filter, force) {\n var entries = _ref2.entries;\n Object.keys(entries).forEach(function (key) {\n var entry = entries[Number(key)];\n // istanbul ignore next\n if (entry) {\n var subscription = entry.subscription,\n subscriber = entry.subscriber,\n notified = entry.notified;\n if (notifySubscriber(subscriber, subscription, state, lastState, filter, force || !notified)) {\n entry.notified = true;\n }\n }\n });\n}\nfunction createForm(config) {\n if (!config) {\n throw new Error(\"No config specified\");\n }\n var debug = config.debug,\n destroyOnUnregister = config.destroyOnUnregister,\n keepDirtyOnReinitialize = config.keepDirtyOnReinitialize,\n initialValues = config.initialValues,\n mutators = config.mutators,\n onSubmit = config.onSubmit,\n validate = config.validate,\n validateOnBlur = config.validateOnBlur;\n if (!onSubmit) {\n throw new Error(\"No onSubmit function specified\");\n }\n var state = {\n subscribers: {\n index: 0,\n entries: {}\n },\n fieldSubscribers: {},\n fields: {},\n formState: {\n asyncErrors: {},\n dirtySinceLastSubmit: false,\n modifiedSinceLastSubmit: false,\n errors: {},\n initialValues: initialValues && _extends({}, initialValues),\n invalid: false,\n pristine: true,\n submitting: false,\n submitFailed: false,\n submitSucceeded: false,\n resetWhileSubmitting: false,\n valid: true,\n validating: 0,\n values: initialValues ? _extends({}, initialValues) : {}\n },\n lastFormState: undefined\n };\n var inBatch = 0;\n var validationPaused = false;\n var validationBlocked = false;\n var preventNotificationWhileValidationPaused = false;\n var nextAsyncValidationKey = 0;\n var asyncValidationPromises = {};\n var clearAsyncValidationPromise = function clearAsyncValidationPromise(key) {\n return function (result) {\n delete asyncValidationPromises[key];\n return result;\n };\n };\n var changeValue = function changeValue(state, name, mutate) {\n var before = getIn(state.formState.values, name);\n var after = mutate(before);\n state.formState.values = setIn(state.formState.values, name, after) || {};\n };\n var renameField = function renameField(state, from, to) {\n if (state.fields[from]) {\n var _extends2, _extends3;\n state.fields = _extends({}, state.fields, (_extends2 = {}, _extends2[to] = _extends({}, state.fields[from], {\n name: to,\n // rebind event handlers\n blur: function blur() {\n return api.blur(to);\n },\n change: function change(value) {\n return api.change(to, value);\n },\n focus: function focus() {\n return api.focus(to);\n },\n lastFieldState: undefined\n }), _extends2));\n delete state.fields[from];\n state.fieldSubscribers = _extends({}, state.fieldSubscribers, (_extends3 = {}, _extends3[to] = state.fieldSubscribers[from], _extends3));\n delete state.fieldSubscribers[from];\n var value = getIn(state.formState.values, from);\n state.formState.values = setIn(state.formState.values, from, undefined) || {};\n state.formState.values = setIn(state.formState.values, to, value);\n delete state.lastFormState;\n }\n };\n\n // bind state to mutators\n var getMutatorApi = function getMutatorApi(key) {\n return function () {\n // istanbul ignore next\n if (mutators) {\n // ^^ causes branch coverage warning, but needed to appease the Flow gods\n var mutatableState = {\n formState: state.formState,\n fields: state.fields,\n fieldSubscribers: state.fieldSubscribers,\n lastFormState: state.lastFormState\n };\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var returnValue = mutators[key](args, mutatableState, {\n changeValue: changeValue,\n getIn: getIn,\n renameField: renameField,\n resetFieldState: api.resetFieldState,\n setIn: setIn,\n shallowEqual: shallowEqual\n });\n state.formState = mutatableState.formState;\n state.fields = mutatableState.fields;\n state.fieldSubscribers = mutatableState.fieldSubscribers;\n state.lastFormState = mutatableState.lastFormState;\n runValidation(undefined, function () {\n notifyFieldListeners();\n notifyFormListeners();\n });\n return returnValue;\n }\n };\n };\n var mutatorsApi = mutators ? Object.keys(mutators).reduce(function (result, key) {\n result[key] = getMutatorApi(key);\n return result;\n }, {}) : {};\n var runRecordLevelValidation = function runRecordLevelValidation(setErrors) {\n var promises = [];\n if (validate) {\n var errorsOrPromise = validate(_extends({}, state.formState.values)); // clone to avoid writing\n if (isPromise(errorsOrPromise)) {\n promises.push(errorsOrPromise.then(function (errors) {\n return setErrors(errors, true);\n }));\n } else {\n setErrors(errorsOrPromise, false);\n }\n }\n return promises;\n };\n var getValidators = function getValidators(field) {\n return Object.keys(field.validators).reduce(function (result, index) {\n var validator = field.validators[Number(index)]();\n if (validator) {\n result.push(validator);\n }\n return result;\n }, []);\n };\n var runFieldLevelValidation = function runFieldLevelValidation(field, setError) {\n var promises = [];\n var validators = getValidators(field);\n if (validators.length) {\n var error;\n validators.forEach(function (validator) {\n var errorOrPromise = validator(getIn(state.formState.values, field.name), state.formState.values, validator.length === 0 || validator.length === 3 ? publishFieldState(state.formState, state.fields[field.name]) : undefined);\n if (errorOrPromise && isPromise(errorOrPromise)) {\n field.validating = true;\n var promise = errorOrPromise.then(function (error) {\n if (state.fields[field.name]) {\n state.fields[field.name].validating = false;\n setError(error);\n }\n }); // errors must be resolved, not rejected\n promises.push(promise);\n } else if (!error) {\n // first registered validator wins\n error = errorOrPromise;\n }\n });\n setError(error);\n }\n return promises;\n };\n var runValidation = function runValidation(fieldChanged, callback) {\n if (validationPaused) {\n validationBlocked = true;\n callback();\n return;\n }\n var fields = state.fields,\n formState = state.formState;\n var safeFields = _extends({}, fields);\n var fieldKeys = Object.keys(safeFields);\n if (!validate && !fieldKeys.some(function (key) {\n return getValidators(safeFields[key]).length;\n })) {\n callback();\n return; // no validation rules\n }\n\n // pare down field keys to actually validate\n var limitedFieldLevelValidation = false;\n if (fieldChanged) {\n var changedField = safeFields[fieldChanged];\n if (changedField) {\n var validateFields = changedField.validateFields;\n if (validateFields) {\n limitedFieldLevelValidation = true;\n fieldKeys = validateFields.length ? validateFields.concat(fieldChanged) : [fieldChanged];\n }\n }\n }\n var recordLevelErrors = {};\n var asyncRecordLevelErrors = {};\n var fieldLevelErrors = {};\n var promises = [].concat(runRecordLevelValidation(function (errors, wasAsync) {\n if (wasAsync) {\n asyncRecordLevelErrors = errors || {};\n } else {\n recordLevelErrors = errors || {};\n }\n }), fieldKeys.reduce(function (result, name) {\n return result.concat(runFieldLevelValidation(fields[name], function (error) {\n fieldLevelErrors[name] = error;\n }));\n }, []));\n var hasAsyncValidations = promises.length > 0;\n var asyncValidationPromiseKey = ++nextAsyncValidationKey;\n var promise = Promise.all(promises).then(clearAsyncValidationPromise(asyncValidationPromiseKey));\n\n // backwards-compat: add promise to submit-blocking promises iff there are any promises to await\n if (hasAsyncValidations) {\n asyncValidationPromises[asyncValidationPromiseKey] = promise;\n }\n var processErrors = function processErrors(afterAsync) {\n var merged = _extends({}, limitedFieldLevelValidation ? formState.errors : {}, recordLevelErrors, afterAsync ? asyncRecordLevelErrors // new async errors\n : formState.asyncErrors);\n var forEachError = function forEachError(fn) {\n fieldKeys.forEach(function (name) {\n if (fields[name]) {\n // make sure field is still registered\n // field-level errors take precedent over record-level errors\n var recordLevelError = getIn(recordLevelErrors, name);\n var errorFromParent = getIn(merged, name);\n var hasFieldLevelValidation = getValidators(safeFields[name]).length;\n var fieldLevelError = fieldLevelErrors[name];\n fn(name, hasFieldLevelValidation && fieldLevelError || validate && recordLevelError || (!recordLevelError && !limitedFieldLevelValidation ? errorFromParent : undefined));\n }\n });\n };\n forEachError(function (name, error) {\n merged = setIn(merged, name, error) || {};\n });\n forEachError(function (name, error) {\n if (error && error[ARRAY_ERROR]) {\n var existing = getIn(merged, name);\n var copy = [].concat(existing);\n copy[ARRAY_ERROR] = error[ARRAY_ERROR];\n merged = setIn(merged, name, copy);\n }\n });\n if (!shallowEqual(formState.errors, merged)) {\n formState.errors = merged;\n }\n if (afterAsync) {\n formState.asyncErrors = asyncRecordLevelErrors;\n }\n formState.error = recordLevelErrors[FORM_ERROR];\n };\n if (hasAsyncValidations) {\n // async validations are running, ensure validating is true before notifying\n state.formState.validating++;\n callback();\n }\n\n // process sync errors\n processErrors(false);\n // sync errors have been set. notify listeners while we wait for others\n callback();\n if (hasAsyncValidations) {\n var afterPromise = function afterPromise() {\n state.formState.validating--;\n callback();\n // field async validation may affect formState validating\n // so force notifyFormListeners if validating is still 0 after callback finished\n // and lastFormState validating is true\n if (state.formState.validating === 0 && state.lastFormState.validating) {\n notifyFormListeners();\n }\n };\n promise.then(function () {\n if (nextAsyncValidationKey > asyncValidationPromiseKey) {\n // if this async validator has been superseded by another, ignore its results\n return;\n }\n processErrors(true);\n }).then(afterPromise, afterPromise);\n }\n };\n var notifyFieldListeners = function notifyFieldListeners(name) {\n if (inBatch) {\n return;\n }\n var fields = state.fields,\n fieldSubscribers = state.fieldSubscribers,\n formState = state.formState;\n var safeFields = _extends({}, fields);\n var notifyField = function notifyField(name) {\n var field = safeFields[name];\n var fieldState = publishFieldState(formState, field);\n var lastFieldState = field.lastFieldState;\n field.lastFieldState = fieldState;\n var fieldSubscriber = fieldSubscribers[name];\n if (fieldSubscriber) {\n notify(fieldSubscriber, fieldState, lastFieldState, filterFieldState, lastFieldState === undefined);\n }\n };\n if (name) {\n notifyField(name);\n } else {\n Object.keys(safeFields).forEach(notifyField);\n }\n };\n var markAllFieldsTouched = function markAllFieldsTouched() {\n Object.keys(state.fields).forEach(function (key) {\n state.fields[key].touched = true;\n });\n };\n var hasSyncErrors = function hasSyncErrors() {\n return !!(state.formState.error || hasAnyError(state.formState.errors));\n };\n var calculateNextFormState = function calculateNextFormState() {\n var fields = state.fields,\n formState = state.formState,\n lastFormState = state.lastFormState;\n var safeFields = _extends({}, fields);\n var safeFieldKeys = Object.keys(safeFields);\n\n // calculate dirty/pristine\n var foundDirty = false;\n var dirtyFields = safeFieldKeys.reduce(function (result, key) {\n var dirty = !safeFields[key].isEqual(getIn(formState.values, key), getIn(formState.initialValues || {}, key));\n if (dirty) {\n foundDirty = true;\n result[key] = true;\n }\n return result;\n }, {});\n var dirtyFieldsSinceLastSubmit = safeFieldKeys.reduce(function (result, key) {\n // istanbul ignore next\n var nonNullLastSubmittedValues = formState.lastSubmittedValues || {}; // || {} is for flow, but causes branch coverage complaint\n if (!safeFields[key].isEqual(getIn(formState.values, key), getIn(nonNullLastSubmittedValues, key))) {\n result[key] = true;\n }\n return result;\n }, {});\n formState.pristine = !foundDirty;\n formState.dirtySinceLastSubmit = !!(formState.lastSubmittedValues && Object.values(dirtyFieldsSinceLastSubmit).some(function (value) {\n return value;\n }));\n formState.modifiedSinceLastSubmit = !!(formState.lastSubmittedValues &&\n // Object.values would treat values as mixed (facebook/flow#2221)\n Object.keys(safeFields).some(function (value) {\n return safeFields[value].modifiedSinceLastSubmit;\n }));\n formState.valid = !formState.error && !formState.submitError && !hasAnyError(formState.errors) && !(formState.submitErrors && hasAnyError(formState.submitErrors));\n var nextFormState = convertToExternalFormState(formState);\n var _safeFieldKeys$reduce = safeFieldKeys.reduce(function (result, key) {\n result.modified[key] = safeFields[key].modified;\n result.touched[key] = safeFields[key].touched;\n result.visited[key] = safeFields[key].visited;\n return result;\n }, {\n modified: {},\n touched: {},\n visited: {}\n }),\n modified = _safeFieldKeys$reduce.modified,\n touched = _safeFieldKeys$reduce.touched,\n visited = _safeFieldKeys$reduce.visited;\n nextFormState.dirtyFields = lastFormState && shallowEqual(lastFormState.dirtyFields, dirtyFields) ? lastFormState.dirtyFields : dirtyFields;\n nextFormState.dirtyFieldsSinceLastSubmit = lastFormState && shallowEqual(lastFormState.dirtyFieldsSinceLastSubmit, dirtyFieldsSinceLastSubmit) ? lastFormState.dirtyFieldsSinceLastSubmit : dirtyFieldsSinceLastSubmit;\n nextFormState.modified = lastFormState && shallowEqual(lastFormState.modified, modified) ? lastFormState.modified : modified;\n nextFormState.touched = lastFormState && shallowEqual(lastFormState.touched, touched) ? lastFormState.touched : touched;\n nextFormState.visited = lastFormState && shallowEqual(lastFormState.visited, visited) ? lastFormState.visited : visited;\n return lastFormState && shallowEqual(lastFormState, nextFormState) ? lastFormState : nextFormState;\n };\n var callDebug = function callDebug() {\n return debug && \"development\" !== \"production\" && debug(calculateNextFormState(), Object.keys(state.fields).reduce(function (result, key) {\n result[key] = state.fields[key];\n return result;\n }, {}));\n };\n var notifying = false;\n var scheduleNotification = false;\n var notifyFormListeners = function notifyFormListeners() {\n if (notifying) {\n scheduleNotification = true;\n } else {\n notifying = true;\n callDebug();\n if (!inBatch && !(validationPaused && preventNotificationWhileValidationPaused)) {\n var lastFormState = state.lastFormState;\n var nextFormState = calculateNextFormState();\n if (nextFormState !== lastFormState) {\n state.lastFormState = nextFormState;\n notify(state.subscribers, nextFormState, lastFormState, filterFormState);\n }\n }\n notifying = false;\n if (scheduleNotification) {\n scheduleNotification = false;\n notifyFormListeners();\n }\n }\n };\n var beforeSubmit = function beforeSubmit() {\n return Object.keys(state.fields).some(function (name) {\n return state.fields[name].beforeSubmit && state.fields[name].beforeSubmit() === false;\n });\n };\n var afterSubmit = function afterSubmit() {\n return Object.keys(state.fields).forEach(function (name) {\n return state.fields[name].afterSubmit && state.fields[name].afterSubmit();\n });\n };\n var resetModifiedAfterSubmit = function resetModifiedAfterSubmit() {\n return Object.keys(state.fields).forEach(function (key) {\n return state.fields[key].modifiedSinceLastSubmit = false;\n });\n };\n\n // generate initial errors\n runValidation(undefined, function () {\n notifyFormListeners();\n });\n var api = {\n batch: function batch(fn) {\n inBatch++;\n fn();\n inBatch--;\n notifyFieldListeners();\n notifyFormListeners();\n },\n blur: function blur(name) {\n var fields = state.fields,\n formState = state.formState;\n var previous = fields[name];\n if (previous) {\n // can only blur registered fields\n delete formState.active;\n fields[name] = _extends({}, previous, {\n active: false,\n touched: true\n });\n if (validateOnBlur) {\n runValidation(name, function () {\n notifyFieldListeners();\n notifyFormListeners();\n });\n } else {\n notifyFieldListeners();\n notifyFormListeners();\n }\n }\n },\n change: function change(name, value) {\n var fields = state.fields,\n formState = state.formState;\n if (getIn(formState.values, name) !== value) {\n changeValue(state, name, function () {\n return value;\n });\n var previous = fields[name];\n if (previous) {\n // only track modified for registered fields\n fields[name] = _extends({}, previous, {\n modified: true,\n modifiedSinceLastSubmit: !!formState.lastSubmittedValues\n });\n }\n if (validateOnBlur) {\n notifyFieldListeners();\n notifyFormListeners();\n } else {\n runValidation(name, function () {\n notifyFieldListeners();\n notifyFormListeners();\n });\n }\n }\n },\n get destroyOnUnregister() {\n return !!destroyOnUnregister;\n },\n set destroyOnUnregister(value) {\n destroyOnUnregister = value;\n },\n focus: function focus(name) {\n var field = state.fields[name];\n if (field && !field.active) {\n state.formState.active = name;\n field.active = true;\n field.visited = true;\n notifyFieldListeners();\n notifyFormListeners();\n }\n },\n mutators: mutatorsApi,\n getFieldState: function getFieldState(name) {\n var field = state.fields[name];\n return field && field.lastFieldState;\n },\n getRegisteredFields: function getRegisteredFields() {\n return Object.keys(state.fields);\n },\n getState: function getState() {\n return calculateNextFormState();\n },\n initialize: function initialize(data) {\n var fields = state.fields,\n formState = state.formState;\n var safeFields = _extends({}, fields);\n var values = typeof data === \"function\" ? data(formState.values) : data;\n if (!keepDirtyOnReinitialize) {\n formState.values = values;\n }\n /**\n * Hello, inquisitive code reader! Thanks for taking the time to dig in!\n *\n * The following code is the way it is to allow for non-registered deep\n * field values to be set via initialize()\n */\n\n // save dirty values\n var savedDirtyValues = keepDirtyOnReinitialize ? Object.keys(safeFields).reduce(function (result, key) {\n var field = safeFields[key];\n var pristine = field.isEqual(getIn(formState.values, key), getIn(formState.initialValues || {}, key));\n if (!pristine) {\n result[key] = getIn(formState.values, key);\n }\n return result;\n }, {}) : {};\n // update initalValues and values\n formState.initialValues = values;\n formState.values = values;\n // restore the dirty values\n Object.keys(savedDirtyValues).forEach(function (key) {\n formState.values = setIn(formState.values, key, savedDirtyValues[key]) || {};\n });\n runValidation(undefined, function () {\n notifyFieldListeners();\n notifyFormListeners();\n });\n },\n isValidationPaused: function isValidationPaused() {\n return validationPaused;\n },\n pauseValidation: function pauseValidation(preventNotification) {\n if (preventNotification === void 0) {\n preventNotification = true;\n }\n validationPaused = true;\n preventNotificationWhileValidationPaused = preventNotification;\n },\n registerField: function registerField(name, subscriber, subscription, fieldConfig) {\n if (subscription === void 0) {\n subscription = {};\n }\n if (!state.fieldSubscribers[name]) {\n state.fieldSubscribers[name] = {\n index: 0,\n entries: {}\n };\n }\n var index = state.fieldSubscribers[name].index++;\n\n // save field subscriber callback\n state.fieldSubscribers[name].entries[index] = {\n subscriber: memoize(subscriber),\n subscription: subscription,\n notified: false\n };\n\n // create initial field state if not exists\n var field = state.fields[name] || {\n active: false,\n afterSubmit: fieldConfig && fieldConfig.afterSubmit,\n beforeSubmit: fieldConfig && fieldConfig.beforeSubmit,\n data: fieldConfig && fieldConfig.data || {},\n isEqual: fieldConfig && fieldConfig.isEqual || tripleEquals,\n lastFieldState: undefined,\n modified: false,\n modifiedSinceLastSubmit: false,\n name: name,\n touched: false,\n valid: true,\n validateFields: fieldConfig && fieldConfig.validateFields,\n validators: {},\n validating: false,\n visited: false\n };\n // Mutators can create a field in order to keep the field states\n // We must update this field when registerField is called afterwards\n field.blur = field.blur || function () {\n return api.blur(name);\n };\n field.change = field.change || function (value) {\n return api.change(name, value);\n };\n field.focus = field.focus || function () {\n return api.focus(name);\n };\n state.fields[name] = field;\n var haveValidator = false;\n var silent = fieldConfig && fieldConfig.silent;\n var notify = function notify() {\n if (silent && state.fields[name]) {\n notifyFieldListeners(name);\n } else {\n notifyFormListeners();\n notifyFieldListeners();\n }\n };\n if (fieldConfig) {\n haveValidator = !!(fieldConfig.getValidator && fieldConfig.getValidator());\n if (fieldConfig.getValidator) {\n state.fields[name].validators[index] = fieldConfig.getValidator;\n }\n var noValueInFormState = getIn(state.formState.values, name) === undefined;\n if (fieldConfig.initialValue !== undefined && (noValueInFormState || getIn(state.formState.values, name) === getIn(state.formState.initialValues, name))\n // only initialize if we don't yet have any value for this field\n ) {\n state.formState.initialValues = setIn(state.formState.initialValues || {}, name, fieldConfig.initialValue);\n state.formState.values = setIn(state.formState.values, name, fieldConfig.initialValue);\n runValidation(undefined, notify);\n }\n\n // only use defaultValue if we don't yet have any value for this field\n if (fieldConfig.defaultValue !== undefined && fieldConfig.initialValue === undefined && getIn(state.formState.initialValues, name) === undefined && noValueInFormState) {\n state.formState.values = setIn(state.formState.values, name, fieldConfig.defaultValue);\n }\n }\n if (haveValidator) {\n runValidation(undefined, notify);\n } else {\n notify();\n }\n return function () {\n var validatorRemoved = false;\n // istanbul ignore next\n if (state.fields[name]) {\n // state.fields[name] may have been removed by a mutator\n validatorRemoved = !!(state.fields[name].validators[index] && state.fields[name].validators[index]());\n delete state.fields[name].validators[index];\n }\n var hasFieldSubscribers = !!state.fieldSubscribers[name];\n if (hasFieldSubscribers) {\n // state.fieldSubscribers[name] may have been removed by a mutator\n delete state.fieldSubscribers[name].entries[index];\n }\n var lastOne = hasFieldSubscribers && !Object.keys(state.fieldSubscribers[name].entries).length;\n if (lastOne) {\n delete state.fieldSubscribers[name];\n delete state.fields[name];\n if (validatorRemoved) {\n state.formState.errors = setIn(state.formState.errors, name, undefined) || {};\n }\n if (destroyOnUnregister) {\n state.formState.values = setIn(state.formState.values, name, undefined, true) || {};\n }\n }\n if (!silent) {\n if (validatorRemoved) {\n runValidation(undefined, function () {\n notifyFormListeners();\n notifyFieldListeners();\n });\n } else if (lastOne) {\n // values or errors may have changed\n notifyFormListeners();\n }\n }\n };\n },\n reset: function reset(initialValues) {\n if (initialValues === void 0) {\n initialValues = state.formState.initialValues;\n }\n if (state.formState.submitting) {\n state.formState.resetWhileSubmitting = true;\n }\n state.formState.submitFailed = false;\n state.formState.submitSucceeded = false;\n delete state.formState.submitError;\n delete state.formState.submitErrors;\n delete state.formState.lastSubmittedValues;\n api.initialize(initialValues || {});\n },\n /**\n * Resets all field flags (e.g. touched, visited, etc.) to their initial state\n */\n resetFieldState: function resetFieldState(name) {\n state.fields[name] = _extends({}, state.fields[name], {\n active: false,\n lastFieldState: undefined,\n modified: false,\n touched: false,\n valid: true,\n validating: false,\n visited: false\n });\n runValidation(undefined, function () {\n notifyFieldListeners();\n notifyFormListeners();\n });\n },\n /**\n * Returns the form to a clean slate; that is:\n * - Clear all values\n * - Resets all fields to their initial state\n */\n restart: function restart(initialValues) {\n if (initialValues === void 0) {\n initialValues = state.formState.initialValues;\n }\n api.batch(function () {\n for (var name in state.fields) {\n api.resetFieldState(name);\n state.fields[name] = _extends({}, state.fields[name], {\n active: false,\n lastFieldState: undefined,\n modified: false,\n modifiedSinceLastSubmit: false,\n touched: false,\n valid: true,\n validating: false,\n visited: false\n });\n }\n api.reset(initialValues);\n });\n },\n resumeValidation: function resumeValidation() {\n validationPaused = false;\n preventNotificationWhileValidationPaused = false;\n if (validationBlocked) {\n // validation was attempted while it was paused, so run it now\n runValidation(undefined, function () {\n notifyFieldListeners();\n notifyFormListeners();\n });\n }\n validationBlocked = false;\n },\n setConfig: function setConfig(name, value) {\n switch (name) {\n case \"debug\":\n debug = value;\n break;\n case \"destroyOnUnregister\":\n destroyOnUnregister = value;\n break;\n case \"initialValues\":\n api.initialize(value);\n break;\n case \"keepDirtyOnReinitialize\":\n keepDirtyOnReinitialize = value;\n break;\n case \"mutators\":\n mutators = value;\n if (value) {\n Object.keys(mutatorsApi).forEach(function (key) {\n if (!(key in value)) {\n delete mutatorsApi[key];\n }\n });\n Object.keys(value).forEach(function (key) {\n mutatorsApi[key] = getMutatorApi(key);\n });\n } else {\n Object.keys(mutatorsApi).forEach(function (key) {\n delete mutatorsApi[key];\n });\n }\n break;\n case \"onSubmit\":\n onSubmit = value;\n break;\n case \"validate\":\n validate = value;\n runValidation(undefined, function () {\n notifyFieldListeners();\n notifyFormListeners();\n });\n break;\n case \"validateOnBlur\":\n validateOnBlur = value;\n break;\n default:\n throw new Error(\"Unrecognised option \" + name);\n }\n },\n submit: function submit() {\n var formState = state.formState;\n if (formState.submitting) {\n return;\n }\n delete formState.submitErrors;\n delete formState.submitError;\n formState.lastSubmittedValues = _extends({}, formState.values);\n if (hasSyncErrors()) {\n markAllFieldsTouched();\n resetModifiedAfterSubmit();\n state.formState.submitFailed = true;\n notifyFormListeners();\n notifyFieldListeners();\n return; // no submit for you!!\n }\n\n var asyncValidationPromisesKeys = Object.keys(asyncValidationPromises);\n if (asyncValidationPromisesKeys.length) {\n // still waiting on async validation to complete...\n Promise.all(asyncValidationPromisesKeys.map(function (key) {\n return asyncValidationPromises[Number(key)];\n })).then(api.submit, console.error);\n return;\n }\n var submitIsBlocked = beforeSubmit();\n if (submitIsBlocked) {\n return;\n }\n var resolvePromise;\n var completeCalled = false;\n var complete = function complete(errors) {\n formState.submitting = false;\n var resetWhileSubmitting = formState.resetWhileSubmitting;\n if (resetWhileSubmitting) {\n formState.resetWhileSubmitting = false;\n }\n if (errors && hasAnyError(errors)) {\n formState.submitFailed = true;\n formState.submitSucceeded = false;\n formState.submitErrors = errors;\n formState.submitError = errors[FORM_ERROR];\n markAllFieldsTouched();\n } else {\n if (!resetWhileSubmitting) {\n formState.submitFailed = false;\n formState.submitSucceeded = true;\n }\n afterSubmit();\n }\n notifyFormListeners();\n notifyFieldListeners();\n completeCalled = true;\n if (resolvePromise) {\n resolvePromise(errors);\n }\n return errors;\n };\n formState.submitting = true;\n formState.submitFailed = false;\n formState.submitSucceeded = false;\n formState.lastSubmittedValues = _extends({}, formState.values);\n resetModifiedAfterSubmit();\n\n // onSubmit is either sync, callback or async with a Promise\n var result = onSubmit(formState.values, api, complete);\n if (!completeCalled) {\n if (result && isPromise(result)) {\n // onSubmit is async with a Promise\n notifyFormListeners(); // let everyone know we are submitting\n notifyFieldListeners(); // notify fields also\n return result.then(complete, function (error) {\n complete();\n throw error;\n });\n } else if (onSubmit.length >= 3) {\n // must be async, so we should return a Promise\n notifyFormListeners(); // let everyone know we are submitting\n notifyFieldListeners(); // notify fields also\n return new Promise(function (resolve) {\n resolvePromise = resolve;\n });\n } else {\n // onSubmit is sync\n complete(result);\n }\n }\n },\n subscribe: function subscribe(subscriber, subscription) {\n if (!subscriber) {\n throw new Error(\"No callback given.\");\n }\n if (!subscription) {\n throw new Error(\"No subscription provided. What values do you want to listen to?\");\n }\n var memoized = memoize(subscriber);\n var subscribers = state.subscribers;\n var index = subscribers.index++;\n subscribers.entries[index] = {\n subscriber: memoized,\n subscription: subscription,\n notified: false\n };\n var nextFormState = calculateNextFormState();\n notifySubscriber(memoized, subscription, nextFormState, nextFormState, filterFormState, true);\n return function () {\n delete subscribers.entries[index];\n };\n }\n };\n return api;\n}\n\nexport { ARRAY_ERROR, FORM_ERROR, configOptions, createForm, fieldSubscriptionItems, formSubscriptionItems, getIn, setIn, version };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport * as React from 'react';\nimport React__default from 'react';\nimport { formSubscriptionItems, createForm, version as version$1, fieldSubscriptionItems } from 'final-form';\n\nvar _excluded$3 = [\"render\", \"children\", \"component\"];\n// shared logic between components that use either render prop,\n// children render function, or component prop\nfunction renderComponent(props, lazyProps, name) {\n var render = props.render,\n children = props.children,\n component = props.component,\n rest = _objectWithoutPropertiesLoose(props, _excluded$3);\n\n if (component) {\n return /*#__PURE__*/React.createElement(component, Object.assign(lazyProps, rest, {\n children: children,\n render: render\n }));\n }\n\n if (render) {\n return render(children === undefined ? Object.assign(lazyProps, rest) : // inject children back in\n Object.assign(lazyProps, rest, {\n children: children\n }));\n }\n\n if (typeof children !== \"function\") {\n throw new Error(\"Must specify either a render prop, a render function as children, or a component prop to \" + name);\n }\n\n return children(Object.assign(lazyProps, rest));\n}\n\nfunction useWhenValueChanges(value, callback, isEqual) {\n if (isEqual === void 0) {\n isEqual = function isEqual(a, b) {\n return a === b;\n };\n }\n\n var previous = React__default.useRef(value);\n React__default.useEffect(function () {\n if (!isEqual(value, previous.current)) {\n callback();\n previous.current = value;\n }\n });\n}\n\n/**\n * A simple hook to create a constant value that lives for\n * the lifetime of the component.\n *\n * Plagiarized from https://github.com/Andarist/use-constant\n *\n * Do NOT reuse this code unless you know what you're doing.\n * Use Andarist's hook; it's more fault tolerant to things like\n * falsy values.\n *\n * @param {Function} init - A function to generate the value\n */\n\nfunction useConstant(init) {\n var ref = React__default.useRef();\n\n if (!ref.current) {\n ref.current = init();\n }\n\n return ref.current;\n}\n\nvar shallowEqual = function shallowEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (typeof a !== \"object\" || !a || typeof b !== \"object\" || !b) {\n return false;\n }\n\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(b);\n\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key) || a[key] !== b[key]) {\n return false;\n }\n }\n\n return true;\n};\n\nvar isSyntheticEvent = function isSyntheticEvent(candidate) {\n return !!(candidate && typeof candidate.stopPropagation === \"function\");\n};\n\nvar ReactFinalFormContext = /*#__PURE__*/React.createContext();\n\nfunction useLatest(value) {\n var ref = React__default.useRef(value);\n React__default.useEffect(function () {\n ref.current = value;\n });\n return ref;\n}\n\nvar version = \"6.5.8\";\n\nvar addLazyState = function addLazyState(dest, state, keys) {\n keys.forEach(function (key) {\n Object.defineProperty(dest, key, {\n get: function get() {\n return state[key];\n },\n enumerable: true\n });\n });\n};\n\nvar addLazyFormState = function addLazyFormState(dest, state) {\n return addLazyState(dest, state, [\"active\", \"dirty\", \"dirtyFields\", \"dirtySinceLastSubmit\", \"dirtyFieldsSinceLastSubmit\", \"error\", \"errors\", \"hasSubmitErrors\", \"hasValidationErrors\", \"initialValues\", \"invalid\", \"modified\", \"modifiedSinceLastSubmit\", \"pristine\", \"submitError\", \"submitErrors\", \"submitFailed\", \"submitSucceeded\", \"submitting\", \"touched\", \"valid\", \"validating\", \"values\", \"visited\"]);\n};\nvar addLazyFieldMetaState = function addLazyFieldMetaState(dest, state) {\n return addLazyState(dest, state, [\"active\", \"data\", \"dirty\", \"dirtySinceLastSubmit\", \"error\", \"initial\", \"invalid\", \"length\", \"modified\", \"modifiedSinceLastSubmit\", \"pristine\", \"submitError\", \"submitFailed\", \"submitSucceeded\", \"submitting\", \"touched\", \"valid\", \"validating\", \"visited\"]);\n};\n\nvar _excluded$2 = [\"debug\", \"decorators\", \"destroyOnUnregister\", \"form\", \"initialValues\", \"initialValuesEqual\", \"keepDirtyOnReinitialize\", \"mutators\", \"onSubmit\", \"subscription\", \"validate\", \"validateOnBlur\"];\nvar versions = {\n \"final-form\": version$1,\n \"react-final-form\": version\n};\nvar all$1 = formSubscriptionItems.reduce(function (result, key) {\n result[key] = true;\n return result;\n}, {});\n\nfunction ReactFinalForm(_ref) {\n var debug = _ref.debug,\n _ref$decorators = _ref.decorators,\n decorators = _ref$decorators === void 0 ? [] : _ref$decorators,\n destroyOnUnregister = _ref.destroyOnUnregister,\n alternateFormApi = _ref.form,\n initialValues = _ref.initialValues,\n initialValuesEqual = _ref.initialValuesEqual,\n keepDirtyOnReinitialize = _ref.keepDirtyOnReinitialize,\n mutators = _ref.mutators,\n onSubmit = _ref.onSubmit,\n _ref$subscription = _ref.subscription,\n subscription = _ref$subscription === void 0 ? all$1 : _ref$subscription,\n validate = _ref.validate,\n validateOnBlur = _ref.validateOnBlur,\n rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);\n\n var config = {\n debug: debug,\n destroyOnUnregister: destroyOnUnregister,\n initialValues: initialValues,\n keepDirtyOnReinitialize: keepDirtyOnReinitialize,\n mutators: mutators,\n onSubmit: onSubmit,\n validate: validate,\n validateOnBlur: validateOnBlur\n };\n var form = useConstant(function () {\n var f = alternateFormApi || createForm(config); // pause validation until children register all fields on first render (unpaused in useEffect() below)\n\n f.pauseValidation();\n return f;\n }); // synchronously register and unregister to query form state for our subscription on first render\n\n var _React$useState = React.useState(function () {\n var initialState = {};\n form.subscribe(function (state) {\n initialState = state;\n }, subscription)();\n return initialState;\n }),\n state = _React$useState[0],\n setState = _React$useState[1]; // save a copy of state that can break through the closure\n // on the shallowEqual() line below.\n\n\n var stateRef = useLatest(state);\n React.useEffect(function () {\n // We have rendered, so all fields are now registered, so we can unpause validation\n form.isValidationPaused() && form.resumeValidation();\n var unsubscriptions = [form.subscribe(function (s) {\n if (!shallowEqual(s, stateRef.current)) {\n setState(s);\n }\n }, subscription)].concat(decorators ? decorators.map(function (decorator) {\n return (// this noop ternary is to appease the flow gods\n // istanbul ignore next\n decorator(form)\n );\n }) : []);\n return function () {\n form.pauseValidation(); // pause validation so we don't revalidate on every field deregistration\n\n unsubscriptions.reverse().forEach(function (unsubscribe) {\n return unsubscribe();\n }); // don't need to resume validation here; either unmounting, or will re-run this hook with new deps\n }; // eslint-disable-next-line react-hooks/exhaustive-deps\n }, decorators); // warn about decorator changes\n // istanbul ignore next\n\n if (process.env.NODE_ENV !== \"production\") {\n // You're never supposed to use hooks inside a conditional, but in this\n // case we can be certain that you're not going to be changing your\n // NODE_ENV between renders, so this is safe.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useWhenValueChanges(decorators, function () {\n console.error(\"Form decorators should not change from one render to the next as new values will be ignored\");\n }, shallowEqual);\n } // allow updatable config\n\n\n useWhenValueChanges(debug, function () {\n form.setConfig(\"debug\", debug);\n });\n useWhenValueChanges(destroyOnUnregister, function () {\n form.destroyOnUnregister = !!destroyOnUnregister;\n });\n useWhenValueChanges(keepDirtyOnReinitialize, function () {\n form.setConfig(\"keepDirtyOnReinitialize\", keepDirtyOnReinitialize);\n });\n useWhenValueChanges(initialValues, function () {\n form.setConfig(\"initialValues\", initialValues);\n }, initialValuesEqual || shallowEqual);\n useWhenValueChanges(mutators, function () {\n form.setConfig(\"mutators\", mutators);\n });\n useWhenValueChanges(onSubmit, function () {\n form.setConfig(\"onSubmit\", onSubmit);\n });\n useWhenValueChanges(validate, function () {\n form.setConfig(\"validate\", validate);\n });\n useWhenValueChanges(validateOnBlur, function () {\n form.setConfig(\"validateOnBlur\", validateOnBlur);\n });\n\n var handleSubmit = function handleSubmit(event) {\n if (event) {\n // sometimes not true, e.g. React Native\n if (typeof event.preventDefault === \"function\") {\n event.preventDefault();\n }\n\n if (typeof event.stopPropagation === \"function\") {\n // prevent any outer forms from receiving the event too\n event.stopPropagation();\n }\n }\n\n return form.submit();\n };\n\n var renderProps = {\n form: _extends({}, form, {\n reset: function reset(eventOrValues) {\n if (isSyntheticEvent(eventOrValues)) {\n // it's a React SyntheticEvent, call reset with no arguments\n form.reset();\n } else {\n form.reset(eventOrValues);\n }\n }\n }),\n handleSubmit: handleSubmit\n };\n addLazyFormState(renderProps, state);\n return /*#__PURE__*/React.createElement(ReactFinalFormContext.Provider, {\n value: form\n }, renderComponent(_extends({}, rest, {\n __versions: versions\n }), renderProps, \"ReactFinalForm\"));\n}\n\nfunction useForm(componentName) {\n var form = React.useContext(ReactFinalFormContext);\n\n if (!form) {\n throw new Error((componentName || \"useForm\") + \" must be used inside of a <Form> component\");\n }\n\n return form;\n}\n\nfunction useFormState(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n onChange = _ref.onChange,\n _ref$subscription = _ref.subscription,\n subscription = _ref$subscription === void 0 ? all$1 : _ref$subscription;\n\n var form = useForm(\"useFormState\");\n var firstRender = React.useRef(true);\n var onChangeRef = React.useRef(onChange);\n onChangeRef.current = onChange; // synchronously register and unregister to query field state for our subscription on first render\n\n var _React$useState = React.useState(function () {\n var initialState = {};\n form.subscribe(function (state) {\n initialState = state;\n }, subscription)();\n\n if (onChange) {\n onChange(initialState);\n }\n\n return initialState;\n }),\n state = _React$useState[0],\n setState = _React$useState[1];\n\n React.useEffect(function () {\n return form.subscribe(function (newState) {\n if (firstRender.current) {\n firstRender.current = false;\n } else {\n setState(newState);\n\n if (onChangeRef.current) {\n onChangeRef.current(newState);\n }\n }\n }, subscription);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n var lazyState = {};\n addLazyFormState(lazyState, state);\n return lazyState;\n}\n\nvar _excluded$1 = [\"onChange\", \"subscription\"];\n\nfunction FormSpy(_ref) {\n var onChange = _ref.onChange,\n subscription = _ref.subscription,\n rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);\n\n var reactFinalForm = useForm(\"FormSpy\");\n var state = useFormState({\n onChange: onChange,\n subscription: subscription\n });\n\n if (onChange) {\n return null;\n }\n\n var renderProps = {\n form: _extends({}, reactFinalForm, {\n reset: function reset(eventOrValues) {\n if (isSyntheticEvent(eventOrValues)) {\n // it's a React SyntheticEvent, call reset with no arguments\n reactFinalForm.reset();\n } else {\n reactFinalForm.reset(eventOrValues);\n }\n }\n })\n };\n return renderComponent(_extends({}, rest, renderProps), state, \"FormSpy\");\n}\n\nvar isReactNative = typeof window !== \"undefined\" && window.navigator && window.navigator.product && window.navigator.product === \"ReactNative\";\n\nvar getSelectedValues = function getSelectedValues(options) {\n var result = [];\n\n if (options) {\n for (var index = 0; index < options.length; index++) {\n var option = options[index];\n\n if (option.selected) {\n result.push(option.value);\n }\n }\n }\n\n return result;\n};\n\nvar getValue = function getValue(event, currentValue, valueProp, isReactNative) {\n if (!isReactNative && event.nativeEvent && event.nativeEvent.text !== undefined) {\n return event.nativeEvent.text;\n }\n\n if (isReactNative && event.nativeEvent) {\n return event.nativeEvent.text;\n }\n\n var detypedEvent = event;\n var _detypedEvent$target = detypedEvent.target,\n type = _detypedEvent$target.type,\n value = _detypedEvent$target.value,\n checked = _detypedEvent$target.checked;\n\n switch (type) {\n case \"checkbox\":\n if (valueProp !== undefined) {\n // we are maintaining an array, not just a boolean\n if (checked) {\n // add value to current array value\n return Array.isArray(currentValue) ? currentValue.concat(valueProp) : [valueProp];\n } else {\n // remove value from current array value\n if (!Array.isArray(currentValue)) {\n return currentValue;\n }\n\n var index = currentValue.indexOf(valueProp);\n\n if (index < 0) {\n return currentValue;\n } else {\n return currentValue.slice(0, index).concat(currentValue.slice(index + 1));\n }\n }\n } else {\n // it's just a boolean\n return !!checked;\n }\n\n case \"select-multiple\":\n return getSelectedValues(event.target.options);\n\n default:\n return value;\n }\n};\n\n/**\n * Creates a callback, even with closures, that will be\n * instance === for the lifetime of the component, always\n * calling the most recent version of the function and its\n * closures.\n */\n\nfunction useConstantCallback(callback) {\n var ref = React.useRef(callback);\n React.useEffect(function () {\n ref.current = callback;\n });\n return React.useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return ref.current.apply(null, args);\n }, []);\n}\n\nvar all = fieldSubscriptionItems.reduce(function (result, key) {\n result[key] = true;\n return result;\n}, {});\n\nvar defaultFormat = function defaultFormat(value, name) {\n return value === undefined ? \"\" : value;\n};\n\nvar defaultParse = function defaultParse(value, name) {\n return value === \"\" ? undefined : value;\n};\n\nvar defaultIsEqual = function defaultIsEqual(a, b) {\n return a === b;\n};\n\nfunction useField(name, config) {\n if (config === void 0) {\n config = {};\n }\n\n var _config = config,\n afterSubmit = _config.afterSubmit,\n allowNull = _config.allowNull,\n component = _config.component,\n data = _config.data,\n defaultValue = _config.defaultValue,\n _config$format = _config.format,\n format = _config$format === void 0 ? defaultFormat : _config$format,\n formatOnBlur = _config.formatOnBlur,\n initialValue = _config.initialValue,\n multiple = _config.multiple,\n _config$parse = _config.parse,\n parse = _config$parse === void 0 ? defaultParse : _config$parse,\n _config$subscription = _config.subscription,\n subscription = _config$subscription === void 0 ? all : _config$subscription,\n type = _config.type,\n validateFields = _config.validateFields,\n _value = _config.value;\n var form = useForm(\"useField\");\n var configRef = useLatest(config);\n\n var register = function register(callback, silent) {\n return (// avoid using `state` const in any closures created inside `register`\n // because they would refer `state` from current execution context\n // whereas actual `state` would defined in the subsequent `useField` hook\n // execution\n // (that would be caused by `setState` call performed in `register` callback)\n form.registerField(name, callback, subscription, {\n afterSubmit: afterSubmit,\n beforeSubmit: function beforeSubmit() {\n var _configRef$current = configRef.current,\n beforeSubmit = _configRef$current.beforeSubmit,\n formatOnBlur = _configRef$current.formatOnBlur,\n _configRef$current$fo = _configRef$current.format,\n format = _configRef$current$fo === void 0 ? defaultFormat : _configRef$current$fo;\n\n if (formatOnBlur) {\n var _ref = form.getFieldState(name),\n value = _ref.value;\n\n var formatted = format(value, name);\n\n if (formatted !== value) {\n form.change(name, formatted);\n }\n }\n\n return beforeSubmit && beforeSubmit();\n },\n data: data,\n defaultValue: defaultValue,\n getValidator: function getValidator() {\n return configRef.current.validate;\n },\n initialValue: initialValue,\n isEqual: function isEqual(a, b) {\n return (configRef.current.isEqual || defaultIsEqual)(a, b);\n },\n silent: silent,\n validateFields: validateFields\n })\n );\n };\n\n var firstRender = React.useRef(true); // synchronously register and unregister to query field state for our subscription on first render\n\n var _React$useState = React.useState(function () {\n var initialState = {}; // temporarily disable destroyOnUnregister\n\n // temporarily disable destroyOnUnregister\n var destroyOnUnregister = form.destroyOnUnregister;\n form.destroyOnUnregister = false;\n register(function (state) {\n initialState = state;\n }, true)(); // return destroyOnUnregister to its original value\n\n // return destroyOnUnregister to its original value\n form.destroyOnUnregister = destroyOnUnregister;\n return initialState;\n }),\n state = _React$useState[0],\n setState = _React$useState[1];\n\n React.useEffect(function () {\n return register(function (state) {\n if (firstRender.current) {\n firstRender.current = false;\n } else {\n setState(state);\n }\n }, false);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [name, data, defaultValue, // If we want to allow inline fat-arrow field-level validation functions, we\n // cannot reregister field every time validate function !==.\n // validate,\n initialValue // The validateFields array is often passed as validateFields={[]}, creating\n // a !== new array every time. If it needs to be changed, a rerender/reregister\n // can be forced by changing the key prop\n // validateFields\n ]);\n var meta = {};\n addLazyFieldMetaState(meta, state);\n var input = {\n name: name,\n\n get value() {\n var value = state.value;\n\n if (formatOnBlur) {\n if (component === \"input\") {\n value = defaultFormat(value);\n }\n } else {\n value = format(value, name);\n }\n\n if (value === null && !allowNull) {\n value = \"\";\n }\n\n if (type === \"checkbox\" || type === \"radio\") {\n return _value;\n } else if (component === \"select\" && multiple) {\n return value || [];\n }\n\n return value;\n },\n\n get checked() {\n var value = state.value;\n\n if (type === \"checkbox\") {\n value = format(value, name);\n\n if (_value === undefined) {\n return !!value;\n } else {\n return !!(Array.isArray(value) && ~value.indexOf(_value));\n }\n } else if (type === \"radio\") {\n return format(value, name) === _value;\n }\n\n return undefined;\n },\n\n onBlur: useConstantCallback(function (event) {\n state.blur();\n\n if (formatOnBlur) {\n /**\n * Here we must fetch the value directly from Final Form because we cannot\n * trust that our `state` closure has the most recent value. This is a problem\n * if-and-only-if the library consumer has called `onChange()` immediately\n * before calling `onBlur()`, but before the field has had a chance to receive\n * the value update from Final Form.\n */\n var fieldState = form.getFieldState(state.name);\n state.change(format(fieldState.value, state.name));\n }\n }),\n onChange: useConstantCallback(function (event) {\n // istanbul ignore next\n if (process.env.NODE_ENV !== \"production\" && event && event.target) {\n var targetType = event.target.type;\n var unknown = ~[\"checkbox\", \"radio\", \"select-multiple\"].indexOf(targetType) && !type && component !== \"select\";\n\n var _value2 = targetType === \"select-multiple\" ? state.value : _value;\n\n if (unknown) {\n console.error(\"You must pass `type=\\\"\" + (targetType === \"select-multiple\" ? \"select\" : targetType) + \"\\\"` prop to your Field(\" + name + \") component.\\n\" + (\"Without it we don't know how to unpack your `value` prop - \" + (Array.isArray(_value2) ? \"[\" + _value2 + \"]\" : \"\\\"\" + _value2 + \"\\\"\") + \".\"));\n }\n }\n\n var value = event && event.target ? getValue(event, state.value, _value, isReactNative) : event;\n state.change(parse(value, name));\n }),\n onFocus: useConstantCallback(function (event) {\n return state.focus();\n })\n };\n\n if (multiple) {\n input.multiple = multiple;\n }\n\n if (type !== undefined) {\n input.type = type;\n }\n\n var renderProps = {\n input: input,\n meta: meta\n }; // assign to force Flow check\n\n return renderProps;\n}\n\nvar _excluded = [\"afterSubmit\", \"allowNull\", \"beforeSubmit\", \"children\", \"component\", \"data\", \"defaultValue\", \"format\", \"formatOnBlur\", \"initialValue\", \"isEqual\", \"multiple\", \"name\", \"parse\", \"subscription\", \"type\", \"validate\", \"validateFields\", \"value\"];\nvar Field = /*#__PURE__*/React.forwardRef(function Field(_ref, ref) {\n var afterSubmit = _ref.afterSubmit,\n allowNull = _ref.allowNull,\n beforeSubmit = _ref.beforeSubmit,\n children = _ref.children,\n component = _ref.component,\n data = _ref.data,\n defaultValue = _ref.defaultValue,\n format = _ref.format,\n formatOnBlur = _ref.formatOnBlur,\n initialValue = _ref.initialValue,\n isEqual = _ref.isEqual,\n multiple = _ref.multiple,\n name = _ref.name,\n parse = _ref.parse,\n subscription = _ref.subscription,\n type = _ref.type,\n validate = _ref.validate,\n validateFields = _ref.validateFields,\n value = _ref.value,\n rest = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var field = useField(name, {\n afterSubmit: afterSubmit,\n allowNull: allowNull,\n beforeSubmit: beforeSubmit,\n children: children,\n component: component,\n data: data,\n defaultValue: defaultValue,\n format: format,\n formatOnBlur: formatOnBlur,\n initialValue: initialValue,\n isEqual: isEqual,\n multiple: multiple,\n parse: parse,\n subscription: subscription,\n type: type,\n validate: validate,\n validateFields: validateFields,\n value: value\n });\n\n if (typeof children === \"function\") {\n return children(_extends({}, field, rest));\n }\n\n if (typeof component === \"string\") {\n // ignore meta, combine input with any other props\n return /*#__PURE__*/React.createElement(component, _extends({}, field.input, {\n children: children,\n ref: ref\n }, rest));\n }\n\n if (!name) {\n throw new Error(\"prop name cannot be undefined in <Field> component\");\n }\n\n return renderComponent(_extends({\n children: children,\n component: component,\n ref: ref\n }, rest), field, \"Field(\" + name + \")\");\n});\n\nfunction withTypes() {\n return {\n Form: ReactFinalForm,\n FormSpy: FormSpy\n };\n}\n\nexport { Field, ReactFinalForm as Form, FormSpy, useField, useForm, useFormState, version, withTypes };\n","\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14\"\n}), 'Search');","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"onChange\", \"maxRows\", \"minRows\", \"style\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_debounce as debounce, unstable_useForkRef as useForkRef, unstable_useEnhancedEffect as useEnhancedEffect, unstable_ownerWindow as ownerWindow } from '@mui/utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction getStyleValue(value) {\n return parseInt(value, 10) || 0;\n}\nconst styles = {\n shadow: {\n // Visibility needed to hide the extra text area on iPads\n visibility: 'hidden',\n // Remove from the content flow\n position: 'absolute',\n // Ignore the scrollbar width\n overflow: 'hidden',\n height: 0,\n top: 0,\n left: 0,\n // Create a new layer, increase the isolation of the computed values\n transform: 'translateZ(0)'\n }\n};\nfunction isEmpty(obj) {\n return obj === undefined || obj === null || Object.keys(obj).length === 0 || obj.outerHeightStyle === 0 && !obj.overflowing;\n}\n\n/**\n *\n * Demos:\n *\n * - [Textarea Autosize](https://mui.com/material-ui/react-textarea-autosize/)\n *\n * API:\n *\n * - [TextareaAutosize API](https://mui.com/material-ui/api/textarea-autosize/)\n */\nconst TextareaAutosize = /*#__PURE__*/React.forwardRef(function TextareaAutosize(props, forwardedRef) {\n const {\n onChange,\n maxRows,\n minRows = 1,\n style,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n current: isControlled\n } = React.useRef(value != null);\n const inputRef = React.useRef(null);\n const handleRef = useForkRef(forwardedRef, inputRef);\n const heightRef = React.useRef(null);\n const shadowRef = React.useRef(null);\n const calculateTextareaStyles = React.useCallback(() => {\n const input = inputRef.current;\n const containerWindow = ownerWindow(input);\n const computedStyle = containerWindow.getComputedStyle(input);\n\n // If input's width is shrunk and it's not visible, don't sync height.\n if (computedStyle.width === '0px') {\n return {\n outerHeightStyle: 0,\n overflowing: false\n };\n }\n const inputShallow = shadowRef.current;\n inputShallow.style.width = computedStyle.width;\n inputShallow.value = input.value || props.placeholder || 'x';\n if (inputShallow.value.slice(-1) === '\\n') {\n // Certain fonts which overflow the line height will cause the textarea\n // to report a different scrollHeight depending on whether the last line\n // is empty. Make it non-empty to avoid this issue.\n inputShallow.value += ' ';\n }\n const boxSizing = computedStyle.boxSizing;\n const padding = getStyleValue(computedStyle.paddingBottom) + getStyleValue(computedStyle.paddingTop);\n const border = getStyleValue(computedStyle.borderBottomWidth) + getStyleValue(computedStyle.borderTopWidth);\n\n // The height of the inner content\n const innerHeight = inputShallow.scrollHeight;\n\n // Measure height of a textarea with a single row\n inputShallow.value = 'x';\n const singleRowHeight = inputShallow.scrollHeight;\n\n // The height of the outer content\n let outerHeight = innerHeight;\n if (minRows) {\n outerHeight = Math.max(Number(minRows) * singleRowHeight, outerHeight);\n }\n if (maxRows) {\n outerHeight = Math.min(Number(maxRows) * singleRowHeight, outerHeight);\n }\n outerHeight = Math.max(outerHeight, singleRowHeight);\n\n // Take the box sizing into account for applying this value as a style.\n const outerHeightStyle = outerHeight + (boxSizing === 'border-box' ? padding + border : 0);\n const overflowing = Math.abs(outerHeight - innerHeight) <= 1;\n return {\n outerHeightStyle,\n overflowing\n };\n }, [maxRows, minRows, props.placeholder]);\n const syncHeight = React.useCallback(() => {\n const textareaStyles = calculateTextareaStyles();\n if (isEmpty(textareaStyles)) {\n return;\n }\n const outerHeightStyle = textareaStyles.outerHeightStyle;\n const input = inputRef.current;\n if (heightRef.current !== outerHeightStyle) {\n heightRef.current = outerHeightStyle;\n input.style.height = `${outerHeightStyle}px`;\n }\n input.style.overflow = textareaStyles.overflowing ? 'hidden' : '';\n }, [calculateTextareaStyles]);\n useEnhancedEffect(() => {\n const handleResize = () => {\n syncHeight();\n };\n // Workaround a \"ResizeObserver loop completed with undelivered notifications\" error\n // in test.\n // Note that we might need to use this logic in production per https://github.com/WICG/resize-observer/issues/38\n // Also see https://github.com/mui/mui-x/issues/8733\n let rAF;\n const rAFHandleResize = () => {\n cancelAnimationFrame(rAF);\n rAF = requestAnimationFrame(() => {\n handleResize();\n });\n };\n const debounceHandleResize = debounce(handleResize);\n const input = inputRef.current;\n const containerWindow = ownerWindow(input);\n containerWindow.addEventListener('resize', debounceHandleResize);\n let resizeObserver;\n if (typeof ResizeObserver !== 'undefined') {\n resizeObserver = new ResizeObserver(process.env.NODE_ENV === 'test' ? rAFHandleResize : handleResize);\n resizeObserver.observe(input);\n }\n return () => {\n debounceHandleResize.clear();\n cancelAnimationFrame(rAF);\n containerWindow.removeEventListener('resize', debounceHandleResize);\n if (resizeObserver) {\n resizeObserver.disconnect();\n }\n };\n }, [calculateTextareaStyles, syncHeight]);\n useEnhancedEffect(() => {\n syncHeight();\n });\n const handleChange = event => {\n if (!isControlled) {\n syncHeight();\n }\n if (onChange) {\n onChange(event);\n }\n };\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(\"textarea\", _extends({\n value: value,\n onChange: handleChange,\n ref: handleRef\n // Apply the rows prop to get a \"correct\" first SSR paint\n ,\n rows: minRows,\n style: style\n }, other)), /*#__PURE__*/_jsx(\"textarea\", {\n \"aria-hidden\": true,\n className: props.className,\n readOnly: true,\n ref: shadowRef,\n tabIndex: -1,\n style: _extends({}, styles.shadow, style, {\n paddingTop: 0,\n paddingBottom: 0\n })\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? TextareaAutosize.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * Maximum number of rows to display.\n */\n maxRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Minimum number of rows to display.\n * @default 1\n */\n minRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * @ignore\n */\n onChange: PropTypes.func,\n /**\n * @ignore\n */\n placeholder: PropTypes.string,\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * @ignore\n */\n value: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.number, PropTypes.string])\n} : void 0;\nexport default TextareaAutosize;","export default function formControlState({\n props,\n states,\n muiFormControl\n}) {\n return states.reduce((acc, state) => {\n acc[state] = props[state];\n if (muiFormControl) {\n if (typeof props[state] === 'undefined') {\n acc[state] = muiFormControl[state];\n }\n }\n return acc;\n }, {});\n}","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst FormControlContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== 'production') {\n FormControlContext.displayName = 'FormControlContext';\n}\nexport default FormControlContext;","'use client';\n\nimport * as React from 'react';\nimport FormControlContext from './FormControlContext';\nexport default function useFormControl() {\n return React.useContext(FormControlContext);\n}","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { GlobalStyles as MuiGlobalStyles } from '@mui/styled-engine';\nimport useTheme from '../useTheme';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction GlobalStyles({\n styles,\n themeId,\n defaultTheme = {}\n}) {\n const upperTheme = useTheme(defaultTheme);\n const globalStyles = typeof styles === 'function' ? styles(themeId ? upperTheme[themeId] || upperTheme : upperTheme) : styles;\n return /*#__PURE__*/_jsx(MuiGlobalStyles, {\n styles: globalStyles\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? GlobalStyles.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n defaultTheme: PropTypes.object,\n /**\n * @ignore\n */\n styles: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.array, PropTypes.func, PropTypes.number, PropTypes.object, PropTypes.string, PropTypes.bool]),\n /**\n * @ignore\n */\n themeId: PropTypes.string\n} : void 0;\nexport default GlobalStyles;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { GlobalStyles as SystemGlobalStyles } from '@mui/system';\nimport defaultTheme from '../styles/defaultTheme';\nimport THEME_ID from '../styles/identifier';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction GlobalStyles(props) {\n return /*#__PURE__*/_jsx(SystemGlobalStyles, _extends({}, props, {\n defaultTheme: defaultTheme,\n themeId: THEME_ID\n }));\n}\nprocess.env.NODE_ENV !== \"production\" ? GlobalStyles.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The styles you want to apply globally.\n */\n styles: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.array, PropTypes.func, PropTypes.number, PropTypes.object, PropTypes.string, PropTypes.bool])\n} : void 0;\nexport default GlobalStyles;","// Supports determination of isControlled().\n// Controlled input accepts its current value as a prop.\n//\n// @see https://facebook.github.io/react/docs/forms.html#controlled-components\n// @param value\n// @returns {boolean} true if string (including '') or number (including zero)\nexport function hasValue(value) {\n return value != null && !(Array.isArray(value) && value.length === 0);\n}\n\n// Determine if field is empty or filled.\n// Response determines if label is presented above field or as placeholder.\n//\n// @param obj\n// @param SSR\n// @returns {boolean} False when not present or empty string.\n// True when any number or string with length.\nexport function isFilled(obj, SSR = false) {\n return obj && (hasValue(obj.value) && obj.value !== '' || SSR && hasValue(obj.defaultValue) && obj.defaultValue !== '');\n}\n\n// Determine if an Input is adorned on start.\n// It's corresponding to the left with LTR.\n//\n// @param obj\n// @returns {boolean} False when no adornments.\n// True when adorned at the start.\nexport function isAdornedStart(obj) {\n return obj.startAdornment;\n}","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getInputBaseUtilityClass(slot) {\n return generateUtilityClass('MuiInputBase', slot);\n}\nconst inputBaseClasses = generateUtilityClasses('MuiInputBase', ['root', 'formControl', 'focused', 'disabled', 'adornedStart', 'adornedEnd', 'error', 'sizeSmall', 'multiline', 'colorSecondary', 'fullWidth', 'hiddenLabel', 'readOnly', 'input', 'inputSizeSmall', 'inputMultiline', 'inputTypeSearch', 'inputAdornedStart', 'inputAdornedEnd', 'inputHiddenLabel']);\nexport default inputBaseClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nconst _excluded = [\"aria-describedby\", \"autoComplete\", \"autoFocus\", \"className\", \"color\", \"components\", \"componentsProps\", \"defaultValue\", \"disabled\", \"disableInjectingGlobalStyles\", \"endAdornment\", \"error\", \"fullWidth\", \"id\", \"inputComponent\", \"inputProps\", \"inputRef\", \"margin\", \"maxRows\", \"minRows\", \"multiline\", \"name\", \"onBlur\", \"onChange\", \"onClick\", \"onFocus\", \"onKeyDown\", \"onKeyUp\", \"placeholder\", \"readOnly\", \"renderSuffix\", \"rows\", \"size\", \"slotProps\", \"slots\", \"startAdornment\", \"type\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport isHostComponent from '@mui/utils/isHostComponent';\nimport TextareaAutosize from '../TextareaAutosize';\nimport formControlState from '../FormControl/formControlState';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport capitalize from '../utils/capitalize';\nimport useForkRef from '../utils/useForkRef';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport GlobalStyles from '../GlobalStyles';\nimport { isFilled } from './utils';\nimport inputBaseClasses, { getInputBaseUtilityClass } from './inputBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport const rootOverridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.formControl && styles.formControl, ownerState.startAdornment && styles.adornedStart, ownerState.endAdornment && styles.adornedEnd, ownerState.error && styles.error, ownerState.size === 'small' && styles.sizeSmall, ownerState.multiline && styles.multiline, ownerState.color && styles[`color${capitalize(ownerState.color)}`], ownerState.fullWidth && styles.fullWidth, ownerState.hiddenLabel && styles.hiddenLabel];\n};\nexport const inputOverridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.input, ownerState.size === 'small' && styles.inputSizeSmall, ownerState.multiline && styles.inputMultiline, ownerState.type === 'search' && styles.inputTypeSearch, ownerState.startAdornment && styles.inputAdornedStart, ownerState.endAdornment && styles.inputAdornedEnd, ownerState.hiddenLabel && styles.inputHiddenLabel];\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n disabled,\n error,\n endAdornment,\n focused,\n formControl,\n fullWidth,\n hiddenLabel,\n multiline,\n readOnly,\n size,\n startAdornment,\n type\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, disabled && 'disabled', error && 'error', fullWidth && 'fullWidth', focused && 'focused', formControl && 'formControl', size && size !== 'medium' && `size${capitalize(size)}`, multiline && 'multiline', startAdornment && 'adornedStart', endAdornment && 'adornedEnd', hiddenLabel && 'hiddenLabel', readOnly && 'readOnly'],\n input: ['input', disabled && 'disabled', type === 'search' && 'inputTypeSearch', multiline && 'inputMultiline', size === 'small' && 'inputSizeSmall', hiddenLabel && 'inputHiddenLabel', startAdornment && 'inputAdornedStart', endAdornment && 'inputAdornedEnd', readOnly && 'readOnly']\n };\n return composeClasses(slots, getInputBaseUtilityClass, classes);\n};\nexport const InputBaseRoot = styled('div', {\n name: 'MuiInputBase',\n slot: 'Root',\n overridesResolver: rootOverridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n color: (theme.vars || theme).palette.text.primary,\n lineHeight: '1.4375em',\n // 23px\n boxSizing: 'border-box',\n // Prevent padding issue with fullWidth.\n position: 'relative',\n cursor: 'text',\n display: 'inline-flex',\n alignItems: 'center',\n [`&.${inputBaseClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled,\n cursor: 'default'\n }\n}, ownerState.multiline && _extends({\n padding: '4px 0 5px'\n}, ownerState.size === 'small' && {\n paddingTop: 1\n}), ownerState.fullWidth && {\n width: '100%'\n}));\nexport const InputBaseComponent = styled('input', {\n name: 'MuiInputBase',\n slot: 'Input',\n overridesResolver: inputOverridesResolver\n})(({\n theme,\n ownerState\n}) => {\n const light = theme.palette.mode === 'light';\n const placeholder = _extends({\n color: 'currentColor'\n }, theme.vars ? {\n opacity: theme.vars.opacity.inputPlaceholder\n } : {\n opacity: light ? 0.42 : 0.5\n }, {\n transition: theme.transitions.create('opacity', {\n duration: theme.transitions.duration.shorter\n })\n });\n const placeholderHidden = {\n opacity: '0 !important'\n };\n const placeholderVisible = theme.vars ? {\n opacity: theme.vars.opacity.inputPlaceholder\n } : {\n opacity: light ? 0.42 : 0.5\n };\n return _extends({\n font: 'inherit',\n letterSpacing: 'inherit',\n color: 'currentColor',\n padding: '4px 0 5px',\n border: 0,\n boxSizing: 'content-box',\n background: 'none',\n height: '1.4375em',\n // Reset 23pxthe native input line-height\n margin: 0,\n // Reset for Safari\n WebkitTapHighlightColor: 'transparent',\n display: 'block',\n // Make the flex item shrink with Firefox\n minWidth: 0,\n width: '100%',\n // Fix IE11 width issue\n animationName: 'mui-auto-fill-cancel',\n animationDuration: '10ms',\n '&::-webkit-input-placeholder': placeholder,\n '&::-moz-placeholder': placeholder,\n // Firefox 19+\n '&:-ms-input-placeholder': placeholder,\n // IE11\n '&::-ms-input-placeholder': placeholder,\n // Edge\n '&:focus': {\n outline: 0\n },\n // Reset Firefox invalid required input style\n '&:invalid': {\n boxShadow: 'none'\n },\n '&::-webkit-search-decoration': {\n // Remove the padding when type=search.\n WebkitAppearance: 'none'\n },\n // Show and hide the placeholder logic\n [`label[data-shrink=false] + .${inputBaseClasses.formControl} &`]: {\n '&::-webkit-input-placeholder': placeholderHidden,\n '&::-moz-placeholder': placeholderHidden,\n // Firefox 19+\n '&:-ms-input-placeholder': placeholderHidden,\n // IE11\n '&::-ms-input-placeholder': placeholderHidden,\n // Edge\n '&:focus::-webkit-input-placeholder': placeholderVisible,\n '&:focus::-moz-placeholder': placeholderVisible,\n // Firefox 19+\n '&:focus:-ms-input-placeholder': placeholderVisible,\n // IE11\n '&:focus::-ms-input-placeholder': placeholderVisible // Edge\n },\n [`&.${inputBaseClasses.disabled}`]: {\n opacity: 1,\n // Reset iOS opacity\n WebkitTextFillColor: (theme.vars || theme).palette.text.disabled // Fix opacity Safari bug\n },\n '&:-webkit-autofill': {\n animationDuration: '5000s',\n animationName: 'mui-auto-fill'\n }\n }, ownerState.size === 'small' && {\n paddingTop: 1\n }, ownerState.multiline && {\n height: 'auto',\n resize: 'none',\n padding: 0,\n paddingTop: 0\n }, ownerState.type === 'search' && {\n // Improve type search style.\n MozAppearance: 'textfield'\n });\n});\nconst inputGlobalStyles = /*#__PURE__*/_jsx(GlobalStyles, {\n styles: {\n '@keyframes mui-auto-fill': {\n from: {\n display: 'block'\n }\n },\n '@keyframes mui-auto-fill-cancel': {\n from: {\n display: 'block'\n }\n }\n }\n});\n\n/**\n * `InputBase` contains as few styles as possible.\n * It aims to be a simple building block for creating an input.\n * It contains a load of style reset and some state logic.\n */\nconst InputBase = /*#__PURE__*/React.forwardRef(function InputBase(inProps, ref) {\n var _slotProps$input;\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiInputBase'\n });\n const {\n 'aria-describedby': ariaDescribedby,\n autoComplete,\n autoFocus,\n className,\n components = {},\n componentsProps = {},\n defaultValue,\n disabled,\n disableInjectingGlobalStyles,\n endAdornment,\n fullWidth = false,\n id,\n inputComponent = 'input',\n inputProps: inputPropsProp = {},\n inputRef: inputRefProp,\n maxRows,\n minRows,\n multiline = false,\n name,\n onBlur,\n onChange,\n onClick,\n onFocus,\n onKeyDown,\n onKeyUp,\n placeholder,\n readOnly,\n renderSuffix,\n rows,\n slotProps = {},\n slots = {},\n startAdornment,\n type = 'text',\n value: valueProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const value = inputPropsProp.value != null ? inputPropsProp.value : valueProp;\n const {\n current: isControlled\n } = React.useRef(value != null);\n const inputRef = React.useRef();\n const handleInputRefWarning = React.useCallback(instance => {\n if (process.env.NODE_ENV !== 'production') {\n if (instance && instance.nodeName !== 'INPUT' && !instance.focus) {\n console.error(['MUI: You have provided a `inputComponent` to the input component', 'that does not correctly handle the `ref` prop.', 'Make sure the `ref` prop is called with a HTMLInputElement.'].join('\\n'));\n }\n }\n }, []);\n const handleInputRef = useForkRef(inputRef, inputRefProp, inputPropsProp.ref, handleInputRefWarning);\n const [focused, setFocused] = React.useState(false);\n const muiFormControl = useFormControl();\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n if (muiFormControl) {\n return muiFormControl.registerEffect();\n }\n return undefined;\n }, [muiFormControl]);\n }\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['color', 'disabled', 'error', 'hiddenLabel', 'size', 'required', 'filled']\n });\n fcs.focused = muiFormControl ? muiFormControl.focused : focused;\n\n // The blur won't fire when the disabled state is set on a focused input.\n // We need to book keep the focused state manually.\n React.useEffect(() => {\n if (!muiFormControl && disabled && focused) {\n setFocused(false);\n if (onBlur) {\n onBlur();\n }\n }\n }, [muiFormControl, disabled, focused, onBlur]);\n const onFilled = muiFormControl && muiFormControl.onFilled;\n const onEmpty = muiFormControl && muiFormControl.onEmpty;\n const checkDirty = React.useCallback(obj => {\n if (isFilled(obj)) {\n if (onFilled) {\n onFilled();\n }\n } else if (onEmpty) {\n onEmpty();\n }\n }, [onFilled, onEmpty]);\n useEnhancedEffect(() => {\n if (isControlled) {\n checkDirty({\n value\n });\n }\n }, [value, checkDirty, isControlled]);\n const handleFocus = event => {\n // Fix a bug with IE11 where the focus/blur events are triggered\n // while the component is disabled.\n if (fcs.disabled) {\n event.stopPropagation();\n return;\n }\n if (onFocus) {\n onFocus(event);\n }\n if (inputPropsProp.onFocus) {\n inputPropsProp.onFocus(event);\n }\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n } else {\n setFocused(true);\n }\n };\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n if (inputPropsProp.onBlur) {\n inputPropsProp.onBlur(event);\n }\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n } else {\n setFocused(false);\n }\n };\n const handleChange = (event, ...args) => {\n if (!isControlled) {\n const element = event.target || inputRef.current;\n if (element == null) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: Expected valid input target. Did you use a custom \\`inputComponent\\` and forget to forward refs? See https://mui.com/r/input-component-ref-interface for more info.` : _formatMuiErrorMessage(1));\n }\n checkDirty({\n value: element.value\n });\n }\n if (inputPropsProp.onChange) {\n inputPropsProp.onChange(event, ...args);\n }\n\n // Perform in the willUpdate\n if (onChange) {\n onChange(event, ...args);\n }\n };\n\n // Check the input state on mount, in case it was filled by the user\n // or auto filled by the browser before the hydration (for SSR).\n React.useEffect(() => {\n checkDirty(inputRef.current);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n const handleClick = event => {\n if (inputRef.current && event.currentTarget === event.target) {\n inputRef.current.focus();\n }\n if (onClick) {\n onClick(event);\n }\n };\n let InputComponent = inputComponent;\n let inputProps = inputPropsProp;\n if (multiline && InputComponent === 'input') {\n if (rows) {\n if (process.env.NODE_ENV !== 'production') {\n if (minRows || maxRows) {\n console.warn('MUI: You can not use the `minRows` or `maxRows` props when the input `rows` prop is set.');\n }\n }\n inputProps = _extends({\n type: undefined,\n minRows: rows,\n maxRows: rows\n }, inputProps);\n } else {\n inputProps = _extends({\n type: undefined,\n maxRows,\n minRows\n }, inputProps);\n }\n InputComponent = TextareaAutosize;\n }\n const handleAutoFill = event => {\n // Provide a fake value as Chrome might not let you access it for security reasons.\n checkDirty(event.animationName === 'mui-auto-fill-cancel' ? inputRef.current : {\n value: 'x'\n });\n };\n React.useEffect(() => {\n if (muiFormControl) {\n muiFormControl.setAdornedStart(Boolean(startAdornment));\n }\n }, [muiFormControl, startAdornment]);\n const ownerState = _extends({}, props, {\n color: fcs.color || 'primary',\n disabled: fcs.disabled,\n endAdornment,\n error: fcs.error,\n focused: fcs.focused,\n formControl: muiFormControl,\n fullWidth,\n hiddenLabel: fcs.hiddenLabel,\n multiline,\n size: fcs.size,\n startAdornment,\n type\n });\n const classes = useUtilityClasses(ownerState);\n const Root = slots.root || components.Root || InputBaseRoot;\n const rootProps = slotProps.root || componentsProps.root || {};\n const Input = slots.input || components.Input || InputBaseComponent;\n inputProps = _extends({}, inputProps, (_slotProps$input = slotProps.input) != null ? _slotProps$input : componentsProps.input);\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [!disableInjectingGlobalStyles && inputGlobalStyles, /*#__PURE__*/_jsxs(Root, _extends({}, rootProps, !isHostComponent(Root) && {\n ownerState: _extends({}, ownerState, rootProps.ownerState)\n }, {\n ref: ref,\n onClick: handleClick\n }, other, {\n className: clsx(classes.root, rootProps.className, className, readOnly && 'MuiInputBase-readOnly'),\n children: [startAdornment, /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(Input, _extends({\n ownerState: ownerState,\n \"aria-invalid\": fcs.error,\n \"aria-describedby\": ariaDescribedby,\n autoComplete: autoComplete,\n autoFocus: autoFocus,\n defaultValue: defaultValue,\n disabled: fcs.disabled,\n id: id,\n onAnimationStart: handleAutoFill,\n name: name,\n placeholder: placeholder,\n readOnly: readOnly,\n required: fcs.required,\n rows: rows,\n value: value,\n onKeyDown: onKeyDown,\n onKeyUp: onKeyUp,\n type: type\n }, inputProps, !isHostComponent(Input) && {\n as: InputComponent,\n ownerState: _extends({}, ownerState, inputProps.ownerState)\n }, {\n ref: handleInputRef,\n className: clsx(classes.input, inputProps.className, readOnly && 'MuiInputBase-readOnly'),\n onBlur: handleBlur,\n onChange: handleChange,\n onFocus: handleFocus\n }))\n }), endAdornment, renderSuffix ? renderSuffix(_extends({}, fcs, {\n startAdornment\n })) : null]\n }))]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputBase.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n 'aria-describedby': PropTypes.string,\n /**\n * This prop helps users to fill forms faster, especially on mobile devices.\n * The name can be confusing, as it's more like an autofill.\n * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).\n */\n autoComplete: PropTypes.string,\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Input: PropTypes.elementType,\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `slotProps` prop.\n * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n input: PropTypes.object,\n root: PropTypes.object\n }),\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n /**\n * If `true`, the component is disabled.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, GlobalStyles for the auto-fill keyframes will not be injected/removed on mount/unmount. Make sure to inject them at the top of your application.\n * This option is intended to help with boosting the initial rendering performance if you are loading a big amount of Input components at once.\n * @default false\n */\n disableInjectingGlobalStyles: PropTypes.bool,\n /**\n * End `InputAdornment` for this component.\n */\n endAdornment: PropTypes.node,\n /**\n * If `true`, the `input` will indicate an error.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * The component used for the `input` element.\n * Either a string to use a HTML element or a component.\n * @default 'input'\n */\n inputComponent: elementTypeAcceptingRef,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n * @default {}\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.\n */\n margin: PropTypes.oneOf(['dense', 'none']),\n /**\n * Maximum number of rows to display when multiline option is set to true.\n */\n maxRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Minimum number of rows to display when multiline option is set to true.\n */\n minRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * If `true`, a [TextareaAutosize](/material-ui/react-textarea-autosize/) element is rendered.\n * @default false\n */\n multiline: PropTypes.bool,\n /**\n * Name attribute of the `input` element.\n */\n name: PropTypes.string,\n /**\n * Callback fired when the `input` is blurred.\n *\n * Notice that the first argument (event) might be undefined.\n */\n onBlur: PropTypes.func,\n /**\n * Callback fired when the value is changed.\n *\n * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * Callback fired when the `input` doesn't satisfy its constraints.\n */\n onInvalid: PropTypes.func,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n /**\n * @ignore\n */\n onKeyUp: PropTypes.func,\n /**\n * The short hint displayed in the `input` before the user enters a value.\n */\n placeholder: PropTypes.string,\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n /**\n * @ignore\n */\n renderSuffix: PropTypes.func,\n /**\n * If `true`, the `input` element is required.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n required: PropTypes.bool,\n /**\n * Number of rows to display when multiline option is set to true.\n */\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * The size of the component.\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n input: PropTypes.object,\n root: PropTypes.object\n }),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `components` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n input: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * Start `InputAdornment` for this component.\n */\n startAdornment: PropTypes.node,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types).\n * @default 'text'\n */\n type: PropTypes.string,\n /**\n * The value of the `input` element, required for a controlled component.\n */\n value: PropTypes.any\n} : void 0;\nexport default InputBase;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport { inputBaseClasses } from '../InputBase';\nexport function getInputUtilityClass(slot) {\n return generateUtilityClass('MuiInput', slot);\n}\nconst inputClasses = _extends({}, inputBaseClasses, generateUtilityClasses('MuiInput', ['root', 'underline', 'input']));\nexport default inputClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"disableUnderline\", \"components\", \"componentsProps\", \"fullWidth\", \"inputComponent\", \"multiline\", \"slotProps\", \"slots\", \"type\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport composeClasses from '@mui/utils/composeClasses';\nimport deepmerge from '@mui/utils/deepmerge';\nimport refType from '@mui/utils/refType';\nimport InputBase from '../InputBase';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport inputClasses, { getInputUtilityClass } from './inputClasses';\nimport { rootOverridesResolver as inputBaseRootOverridesResolver, inputOverridesResolver as inputBaseInputOverridesResolver, InputBaseRoot, InputBaseComponent as InputBaseInput } from '../InputBase/InputBase';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableUnderline\n } = ownerState;\n const slots = {\n root: ['root', !disableUnderline && 'underline'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getInputUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst InputRoot = styled(InputBaseRoot, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiInput',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [...inputBaseRootOverridesResolver(props, styles), !ownerState.disableUnderline && styles.underline];\n }\n})(({\n theme,\n ownerState\n}) => {\n const light = theme.palette.mode === 'light';\n let bottomLineColor = light ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.7)';\n if (theme.vars) {\n bottomLineColor = `rgba(${theme.vars.palette.common.onBackgroundChannel} / ${theme.vars.opacity.inputUnderline})`;\n }\n return _extends({\n position: 'relative'\n }, ownerState.formControl && {\n 'label + &': {\n marginTop: 16\n }\n }, !ownerState.disableUnderline && {\n '&::after': {\n borderBottom: `2px solid ${(theme.vars || theme).palette[ownerState.color].main}`,\n left: 0,\n bottom: 0,\n // Doing the other way around crash on IE11 \"''\" https://github.com/cssinjs/jss/issues/242\n content: '\"\"',\n position: 'absolute',\n right: 0,\n transform: 'scaleX(0)',\n transition: theme.transitions.create('transform', {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n }),\n pointerEvents: 'none' // Transparent to the hover style.\n },\n [`&.${inputClasses.focused}:after`]: {\n // translateX(0) is a workaround for Safari transform scale bug\n // See https://github.com/mui/material-ui/issues/31766\n transform: 'scaleX(1) translateX(0)'\n },\n [`&.${inputClasses.error}`]: {\n '&::before, &::after': {\n borderBottomColor: (theme.vars || theme).palette.error.main\n }\n },\n '&::before': {\n borderBottom: `1px solid ${bottomLineColor}`,\n left: 0,\n bottom: 0,\n // Doing the other way around crash on IE11 \"''\" https://github.com/cssinjs/jss/issues/242\n content: '\"\\\\00a0\"',\n position: 'absolute',\n right: 0,\n transition: theme.transitions.create('border-bottom-color', {\n duration: theme.transitions.duration.shorter\n }),\n pointerEvents: 'none' // Transparent to the hover style.\n },\n [`&:hover:not(.${inputClasses.disabled}, .${inputClasses.error}):before`]: {\n borderBottom: `2px solid ${(theme.vars || theme).palette.text.primary}`,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n borderBottom: `1px solid ${bottomLineColor}`\n }\n },\n [`&.${inputClasses.disabled}:before`]: {\n borderBottomStyle: 'dotted'\n }\n });\n});\nconst InputInput = styled(InputBaseInput, {\n name: 'MuiInput',\n slot: 'Input',\n overridesResolver: inputBaseInputOverridesResolver\n})({});\nconst Input = /*#__PURE__*/React.forwardRef(function Input(inProps, ref) {\n var _ref, _slots$root, _ref2, _slots$input;\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiInput'\n });\n const {\n disableUnderline,\n components = {},\n componentsProps: componentsPropsProp,\n fullWidth = false,\n inputComponent = 'input',\n multiline = false,\n slotProps,\n slots = {},\n type = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const classes = useUtilityClasses(props);\n const ownerState = {\n disableUnderline\n };\n const inputComponentsProps = {\n root: {\n ownerState\n }\n };\n const componentsProps = (slotProps != null ? slotProps : componentsPropsProp) ? deepmerge(slotProps != null ? slotProps : componentsPropsProp, inputComponentsProps) : inputComponentsProps;\n const RootSlot = (_ref = (_slots$root = slots.root) != null ? _slots$root : components.Root) != null ? _ref : InputRoot;\n const InputSlot = (_ref2 = (_slots$input = slots.input) != null ? _slots$input : components.Input) != null ? _ref2 : InputInput;\n return /*#__PURE__*/_jsx(InputBase, _extends({\n slots: {\n root: RootSlot,\n input: InputSlot\n },\n slotProps: componentsProps,\n fullWidth: fullWidth,\n inputComponent: inputComponent,\n multiline: multiline,\n ref: ref,\n type: type\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Input.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * This prop helps users to fill forms faster, especially on mobile devices.\n * The name can be confusing, as it's more like an autofill.\n * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).\n */\n autoComplete: PropTypes.string,\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary']), PropTypes.string]),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Input: PropTypes.elementType,\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `slotProps` prop.\n * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n input: PropTypes.object,\n root: PropTypes.object\n }),\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n /**\n * If `true`, the component is disabled.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the `input` will not have an underline.\n */\n disableUnderline: PropTypes.bool,\n /**\n * End `InputAdornment` for this component.\n */\n endAdornment: PropTypes.node,\n /**\n * If `true`, the `input` will indicate an error.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * The component used for the `input` element.\n * Either a string to use a HTML element or a component.\n * @default 'input'\n */\n inputComponent: PropTypes.elementType,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n * @default {}\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.\n */\n margin: PropTypes.oneOf(['dense', 'none']),\n /**\n * Maximum number of rows to display when multiline option is set to true.\n */\n maxRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Minimum number of rows to display when multiline option is set to true.\n */\n minRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * If `true`, a [TextareaAutosize](/material-ui/react-textarea-autosize/) element is rendered.\n * @default false\n */\n multiline: PropTypes.bool,\n /**\n * Name attribute of the `input` element.\n */\n name: PropTypes.string,\n /**\n * Callback fired when the value is changed.\n *\n * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n /**\n * The short hint displayed in the `input` before the user enters a value.\n */\n placeholder: PropTypes.string,\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n /**\n * If `true`, the `input` element is required.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n required: PropTypes.bool,\n /**\n * Number of rows to display when multiline option is set to true.\n */\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n input: PropTypes.object,\n root: PropTypes.object\n }),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `components` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n input: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * Start `InputAdornment` for this component.\n */\n startAdornment: PropTypes.node,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types).\n * @default 'text'\n */\n type: PropTypes.string,\n /**\n * The value of the `input` element, required for a controlled component.\n */\n value: PropTypes.any\n} : void 0;\nInput.muiName = 'Input';\nexport default Input;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport { inputBaseClasses } from '../InputBase';\nexport function getFilledInputUtilityClass(slot) {\n return generateUtilityClass('MuiFilledInput', slot);\n}\nconst filledInputClasses = _extends({}, inputBaseClasses, generateUtilityClasses('MuiFilledInput', ['root', 'underline', 'input']));\nexport default filledInputClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"disableUnderline\", \"components\", \"componentsProps\", \"fullWidth\", \"hiddenLabel\", \"inputComponent\", \"multiline\", \"slotProps\", \"slots\", \"type\"];\nimport * as React from 'react';\nimport deepmerge from '@mui/utils/deepmerge';\nimport refType from '@mui/utils/refType';\nimport PropTypes from 'prop-types';\nimport composeClasses from '@mui/utils/composeClasses';\nimport InputBase from '../InputBase';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport filledInputClasses, { getFilledInputUtilityClass } from './filledInputClasses';\nimport { rootOverridesResolver as inputBaseRootOverridesResolver, inputOverridesResolver as inputBaseInputOverridesResolver, InputBaseRoot, InputBaseComponent as InputBaseInput } from '../InputBase/InputBase';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableUnderline\n } = ownerState;\n const slots = {\n root: ['root', !disableUnderline && 'underline'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getFilledInputUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst FilledInputRoot = styled(InputBaseRoot, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiFilledInput',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [...inputBaseRootOverridesResolver(props, styles), !ownerState.disableUnderline && styles.underline];\n }\n})(({\n theme,\n ownerState\n}) => {\n var _palette;\n const light = theme.palette.mode === 'light';\n const bottomLineColor = light ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.7)';\n const backgroundColor = light ? 'rgba(0, 0, 0, 0.06)' : 'rgba(255, 255, 255, 0.09)';\n const hoverBackground = light ? 'rgba(0, 0, 0, 0.09)' : 'rgba(255, 255, 255, 0.13)';\n const disabledBackground = light ? 'rgba(0, 0, 0, 0.12)' : 'rgba(255, 255, 255, 0.12)';\n return _extends({\n position: 'relative',\n backgroundColor: theme.vars ? theme.vars.palette.FilledInput.bg : backgroundColor,\n borderTopLeftRadius: (theme.vars || theme).shape.borderRadius,\n borderTopRightRadius: (theme.vars || theme).shape.borderRadius,\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n }),\n '&:hover': {\n backgroundColor: theme.vars ? theme.vars.palette.FilledInput.hoverBg : hoverBackground,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.vars ? theme.vars.palette.FilledInput.bg : backgroundColor\n }\n },\n [`&.${filledInputClasses.focused}`]: {\n backgroundColor: theme.vars ? theme.vars.palette.FilledInput.bg : backgroundColor\n },\n [`&.${filledInputClasses.disabled}`]: {\n backgroundColor: theme.vars ? theme.vars.palette.FilledInput.disabledBg : disabledBackground\n }\n }, !ownerState.disableUnderline && {\n '&::after': {\n borderBottom: `2px solid ${(_palette = (theme.vars || theme).palette[ownerState.color || 'primary']) == null ? void 0 : _palette.main}`,\n left: 0,\n bottom: 0,\n // Doing the other way around crash on IE11 \"''\" https://github.com/cssinjs/jss/issues/242\n content: '\"\"',\n position: 'absolute',\n right: 0,\n transform: 'scaleX(0)',\n transition: theme.transitions.create('transform', {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n }),\n pointerEvents: 'none' // Transparent to the hover style.\n },\n [`&.${filledInputClasses.focused}:after`]: {\n // translateX(0) is a workaround for Safari transform scale bug\n // See https://github.com/mui/material-ui/issues/31766\n transform: 'scaleX(1) translateX(0)'\n },\n [`&.${filledInputClasses.error}`]: {\n '&::before, &::after': {\n borderBottomColor: (theme.vars || theme).palette.error.main\n }\n },\n '&::before': {\n borderBottom: `1px solid ${theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / ${theme.vars.opacity.inputUnderline})` : bottomLineColor}`,\n left: 0,\n bottom: 0,\n // Doing the other way around crash on IE11 \"''\" https://github.com/cssinjs/jss/issues/242\n content: '\"\\\\00a0\"',\n position: 'absolute',\n right: 0,\n transition: theme.transitions.create('border-bottom-color', {\n duration: theme.transitions.duration.shorter\n }),\n pointerEvents: 'none' // Transparent to the hover style.\n },\n [`&:hover:not(.${filledInputClasses.disabled}, .${filledInputClasses.error}):before`]: {\n borderBottom: `1px solid ${(theme.vars || theme).palette.text.primary}`\n },\n [`&.${filledInputClasses.disabled}:before`]: {\n borderBottomStyle: 'dotted'\n }\n }, ownerState.startAdornment && {\n paddingLeft: 12\n }, ownerState.endAdornment && {\n paddingRight: 12\n }, ownerState.multiline && _extends({\n padding: '25px 12px 8px'\n }, ownerState.size === 'small' && {\n paddingTop: 21,\n paddingBottom: 4\n }, ownerState.hiddenLabel && {\n paddingTop: 16,\n paddingBottom: 17\n }, ownerState.hiddenLabel && ownerState.size === 'small' && {\n paddingTop: 8,\n paddingBottom: 9\n }));\n});\nconst FilledInputInput = styled(InputBaseInput, {\n name: 'MuiFilledInput',\n slot: 'Input',\n overridesResolver: inputBaseInputOverridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n paddingTop: 25,\n paddingRight: 12,\n paddingBottom: 8,\n paddingLeft: 12\n}, !theme.vars && {\n '&:-webkit-autofill': {\n WebkitBoxShadow: theme.palette.mode === 'light' ? null : '0 0 0 100px #266798 inset',\n WebkitTextFillColor: theme.palette.mode === 'light' ? null : '#fff',\n caretColor: theme.palette.mode === 'light' ? null : '#fff',\n borderTopLeftRadius: 'inherit',\n borderTopRightRadius: 'inherit'\n }\n}, theme.vars && {\n '&:-webkit-autofill': {\n borderTopLeftRadius: 'inherit',\n borderTopRightRadius: 'inherit'\n },\n [theme.getColorSchemeSelector('dark')]: {\n '&:-webkit-autofill': {\n WebkitBoxShadow: '0 0 0 100px #266798 inset',\n WebkitTextFillColor: '#fff',\n caretColor: '#fff'\n }\n }\n}, ownerState.size === 'small' && {\n paddingTop: 21,\n paddingBottom: 4\n}, ownerState.hiddenLabel && {\n paddingTop: 16,\n paddingBottom: 17\n}, ownerState.startAdornment && {\n paddingLeft: 0\n}, ownerState.endAdornment && {\n paddingRight: 0\n}, ownerState.hiddenLabel && ownerState.size === 'small' && {\n paddingTop: 8,\n paddingBottom: 9\n}, ownerState.multiline && {\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0\n}));\nconst FilledInput = /*#__PURE__*/React.forwardRef(function FilledInput(inProps, ref) {\n var _ref, _slots$root, _ref2, _slots$input;\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiFilledInput'\n });\n const {\n components = {},\n componentsProps: componentsPropsProp,\n fullWidth = false,\n // declare here to prevent spreading to DOM\n inputComponent = 'input',\n multiline = false,\n slotProps,\n slots = {},\n type = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n fullWidth,\n inputComponent,\n multiline,\n type\n });\n const classes = useUtilityClasses(props);\n const filledInputComponentsProps = {\n root: {\n ownerState\n },\n input: {\n ownerState\n }\n };\n const componentsProps = (slotProps != null ? slotProps : componentsPropsProp) ? deepmerge(filledInputComponentsProps, slotProps != null ? slotProps : componentsPropsProp) : filledInputComponentsProps;\n const RootSlot = (_ref = (_slots$root = slots.root) != null ? _slots$root : components.Root) != null ? _ref : FilledInputRoot;\n const InputSlot = (_ref2 = (_slots$input = slots.input) != null ? _slots$input : components.Input) != null ? _ref2 : FilledInputInput;\n return /*#__PURE__*/_jsx(InputBase, _extends({\n slots: {\n root: RootSlot,\n input: InputSlot\n },\n componentsProps: componentsProps,\n fullWidth: fullWidth,\n inputComponent: inputComponent,\n multiline: multiline,\n ref: ref,\n type: type\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FilledInput.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * This prop helps users to fill forms faster, especially on mobile devices.\n * The name can be confusing, as it's more like an autofill.\n * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).\n */\n autoComplete: PropTypes.string,\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary']), PropTypes.string]),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Input: PropTypes.elementType,\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `slotProps` prop.\n * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n input: PropTypes.object,\n root: PropTypes.object\n }),\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n /**\n * If `true`, the component is disabled.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the input will not have an underline.\n */\n disableUnderline: PropTypes.bool,\n /**\n * End `InputAdornment` for this component.\n */\n endAdornment: PropTypes.node,\n /**\n * If `true`, the `input` will indicate an error.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * If `true`, the label is hidden.\n * This is used to increase density for a `FilledInput`.\n * Be sure to add `aria-label` to the `input` element.\n * @default false\n */\n hiddenLabel: PropTypes.bool,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * The component used for the `input` element.\n * Either a string to use a HTML element or a component.\n * @default 'input'\n */\n inputComponent: PropTypes.elementType,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n * @default {}\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.\n */\n margin: PropTypes.oneOf(['dense', 'none']),\n /**\n * Maximum number of rows to display when multiline option is set to true.\n */\n maxRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Minimum number of rows to display when multiline option is set to true.\n */\n minRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * If `true`, a [TextareaAutosize](/material-ui/react-textarea-autosize/) element is rendered.\n * @default false\n */\n multiline: PropTypes.bool,\n /**\n * Name attribute of the `input` element.\n */\n name: PropTypes.string,\n /**\n * Callback fired when the value is changed.\n *\n * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n /**\n * The short hint displayed in the `input` before the user enters a value.\n */\n placeholder: PropTypes.string,\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n /**\n * If `true`, the `input` element is required.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n required: PropTypes.bool,\n /**\n * Number of rows to display when multiline option is set to true.\n */\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n input: PropTypes.object,\n root: PropTypes.object\n }),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `components` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n input: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * Start `InputAdornment` for this component.\n */\n startAdornment: PropTypes.node,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types).\n * @default 'text'\n */\n type: PropTypes.string,\n /**\n * The value of the `input` element, required for a controlled component.\n */\n value: PropTypes.any\n} : void 0;\nFilledInput.muiName = 'Input';\nexport default FilledInput;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nvar _span;\nconst _excluded = [\"children\", \"classes\", \"className\", \"label\", \"notched\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NotchedOutlineRoot = styled('fieldset', {\n shouldForwardProp: rootShouldForwardProp\n})({\n textAlign: 'left',\n position: 'absolute',\n bottom: 0,\n right: 0,\n top: -5,\n left: 0,\n margin: 0,\n padding: '0 8px',\n pointerEvents: 'none',\n borderRadius: 'inherit',\n borderStyle: 'solid',\n borderWidth: 1,\n overflow: 'hidden',\n minWidth: '0%'\n});\nconst NotchedOutlineLegend = styled('legend', {\n shouldForwardProp: rootShouldForwardProp\n})(({\n ownerState,\n theme\n}) => _extends({\n float: 'unset',\n // Fix conflict with bootstrap\n width: 'auto',\n // Fix conflict with bootstrap\n overflow: 'hidden'\n}, !ownerState.withLabel && {\n padding: 0,\n lineHeight: '11px',\n // sync with `height` in `legend` styles\n transition: theme.transitions.create('width', {\n duration: 150,\n easing: theme.transitions.easing.easeOut\n })\n}, ownerState.withLabel && _extends({\n display: 'block',\n // Fix conflict with normalize.css and sanitize.css\n padding: 0,\n height: 11,\n // sync with `lineHeight` in `legend` styles\n fontSize: '0.75em',\n visibility: 'hidden',\n maxWidth: 0.01,\n transition: theme.transitions.create('max-width', {\n duration: 50,\n easing: theme.transitions.easing.easeOut\n }),\n whiteSpace: 'nowrap',\n '& > span': {\n paddingLeft: 5,\n paddingRight: 5,\n display: 'inline-block',\n opacity: 0,\n visibility: 'visible'\n }\n}, ownerState.notched && {\n maxWidth: '100%',\n transition: theme.transitions.create('max-width', {\n duration: 100,\n easing: theme.transitions.easing.easeOut,\n delay: 50\n })\n})));\n\n/**\n * @ignore - internal component.\n */\nexport default function NotchedOutline(props) {\n const {\n className,\n label,\n notched\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const withLabel = label != null && label !== '';\n const ownerState = _extends({}, props, {\n notched,\n withLabel\n });\n return /*#__PURE__*/_jsx(NotchedOutlineRoot, _extends({\n \"aria-hidden\": true,\n className: className,\n ownerState: ownerState\n }, other, {\n children: /*#__PURE__*/_jsx(NotchedOutlineLegend, {\n ownerState: ownerState,\n children: withLabel ? /*#__PURE__*/_jsx(\"span\", {\n children: label\n }) : // notranslate needed while Google Translate will not fix zero-width space issue\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n }))\n })\n }));\n}\nprocess.env.NODE_ENV !== \"production\" ? NotchedOutline.propTypes = {\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The label.\n */\n label: PropTypes.node,\n /**\n * If `true`, the outline is notched to accommodate the label.\n */\n notched: PropTypes.bool.isRequired,\n /**\n * @ignore\n */\n style: PropTypes.object\n} : void 0;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport { inputBaseClasses } from '../InputBase';\nexport function getOutlinedInputUtilityClass(slot) {\n return generateUtilityClass('MuiOutlinedInput', slot);\n}\nconst outlinedInputClasses = _extends({}, inputBaseClasses, generateUtilityClasses('MuiOutlinedInput', ['root', 'notchedOutline', 'input']));\nexport default outlinedInputClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"components\", \"fullWidth\", \"inputComponent\", \"label\", \"multiline\", \"notched\", \"slots\", \"type\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport NotchedOutline from './NotchedOutline';\nimport useFormControl from '../FormControl/useFormControl';\nimport formControlState from '../FormControl/formControlState';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport outlinedInputClasses, { getOutlinedInputUtilityClass } from './outlinedInputClasses';\nimport InputBase, { rootOverridesResolver as inputBaseRootOverridesResolver, inputOverridesResolver as inputBaseInputOverridesResolver, InputBaseRoot, InputBaseComponent as InputBaseInput } from '../InputBase/InputBase';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n notchedOutline: ['notchedOutline'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getOutlinedInputUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst OutlinedInputRoot = styled(InputBaseRoot, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiOutlinedInput',\n slot: 'Root',\n overridesResolver: inputBaseRootOverridesResolver\n})(({\n theme,\n ownerState\n}) => {\n const borderColor = theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)';\n return _extends({\n position: 'relative',\n borderRadius: (theme.vars || theme).shape.borderRadius,\n [`&:hover .${outlinedInputClasses.notchedOutline}`]: {\n borderColor: (theme.vars || theme).palette.text.primary\n },\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n [`&:hover .${outlinedInputClasses.notchedOutline}`]: {\n borderColor: theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : borderColor\n }\n },\n [`&.${outlinedInputClasses.focused} .${outlinedInputClasses.notchedOutline}`]: {\n borderColor: (theme.vars || theme).palette[ownerState.color].main,\n borderWidth: 2\n },\n [`&.${outlinedInputClasses.error} .${outlinedInputClasses.notchedOutline}`]: {\n borderColor: (theme.vars || theme).palette.error.main\n },\n [`&.${outlinedInputClasses.disabled} .${outlinedInputClasses.notchedOutline}`]: {\n borderColor: (theme.vars || theme).palette.action.disabled\n }\n }, ownerState.startAdornment && {\n paddingLeft: 14\n }, ownerState.endAdornment && {\n paddingRight: 14\n }, ownerState.multiline && _extends({\n padding: '16.5px 14px'\n }, ownerState.size === 'small' && {\n padding: '8.5px 14px'\n }));\n});\nconst NotchedOutlineRoot = styled(NotchedOutline, {\n name: 'MuiOutlinedInput',\n slot: 'NotchedOutline',\n overridesResolver: (props, styles) => styles.notchedOutline\n})(({\n theme\n}) => {\n const borderColor = theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)';\n return {\n borderColor: theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : borderColor\n };\n});\nconst OutlinedInputInput = styled(InputBaseInput, {\n name: 'MuiOutlinedInput',\n slot: 'Input',\n overridesResolver: inputBaseInputOverridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n padding: '16.5px 14px'\n}, !theme.vars && {\n '&:-webkit-autofill': {\n WebkitBoxShadow: theme.palette.mode === 'light' ? null : '0 0 0 100px #266798 inset',\n WebkitTextFillColor: theme.palette.mode === 'light' ? null : '#fff',\n caretColor: theme.palette.mode === 'light' ? null : '#fff',\n borderRadius: 'inherit'\n }\n}, theme.vars && {\n '&:-webkit-autofill': {\n borderRadius: 'inherit'\n },\n [theme.getColorSchemeSelector('dark')]: {\n '&:-webkit-autofill': {\n WebkitBoxShadow: '0 0 0 100px #266798 inset',\n WebkitTextFillColor: '#fff',\n caretColor: '#fff'\n }\n }\n}, ownerState.size === 'small' && {\n padding: '8.5px 14px'\n}, ownerState.multiline && {\n padding: 0\n}, ownerState.startAdornment && {\n paddingLeft: 0\n}, ownerState.endAdornment && {\n paddingRight: 0\n}));\nconst OutlinedInput = /*#__PURE__*/React.forwardRef(function OutlinedInput(inProps, ref) {\n var _ref, _slots$root, _ref2, _slots$input, _React$Fragment;\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiOutlinedInput'\n });\n const {\n components = {},\n fullWidth = false,\n inputComponent = 'input',\n label,\n multiline = false,\n notched,\n slots = {},\n type = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const classes = useUtilityClasses(props);\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['color', 'disabled', 'error', 'focused', 'hiddenLabel', 'size', 'required']\n });\n const ownerState = _extends({}, props, {\n color: fcs.color || 'primary',\n disabled: fcs.disabled,\n error: fcs.error,\n focused: fcs.focused,\n formControl: muiFormControl,\n fullWidth,\n hiddenLabel: fcs.hiddenLabel,\n multiline,\n size: fcs.size,\n type\n });\n const RootSlot = (_ref = (_slots$root = slots.root) != null ? _slots$root : components.Root) != null ? _ref : OutlinedInputRoot;\n const InputSlot = (_ref2 = (_slots$input = slots.input) != null ? _slots$input : components.Input) != null ? _ref2 : OutlinedInputInput;\n return /*#__PURE__*/_jsx(InputBase, _extends({\n slots: {\n root: RootSlot,\n input: InputSlot\n },\n renderSuffix: state => /*#__PURE__*/_jsx(NotchedOutlineRoot, {\n ownerState: ownerState,\n className: classes.notchedOutline,\n label: label != null && label !== '' && fcs.required ? _React$Fragment || (_React$Fragment = /*#__PURE__*/_jsxs(React.Fragment, {\n children: [label, \"\\u2009\", '*']\n })) : label,\n notched: typeof notched !== 'undefined' ? notched : Boolean(state.startAdornment || state.filled || state.focused)\n }),\n fullWidth: fullWidth,\n inputComponent: inputComponent,\n multiline: multiline,\n ref: ref,\n type: type\n }, other, {\n classes: _extends({}, classes, {\n notchedOutline: null\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? OutlinedInput.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * This prop helps users to fill forms faster, especially on mobile devices.\n * The name can be confusing, as it's more like an autofill.\n * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).\n */\n autoComplete: PropTypes.string,\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary']), PropTypes.string]),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Input: PropTypes.elementType,\n Root: PropTypes.elementType\n }),\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n /**\n * If `true`, the component is disabled.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n disabled: PropTypes.bool,\n /**\n * End `InputAdornment` for this component.\n */\n endAdornment: PropTypes.node,\n /**\n * If `true`, the `input` will indicate an error.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * The component used for the `input` element.\n * Either a string to use a HTML element or a component.\n * @default 'input'\n */\n inputComponent: PropTypes.elementType,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n * @default {}\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * The label of the `input`. It is only used for layout. The actual labelling\n * is handled by `InputLabel`.\n */\n label: PropTypes.node,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.\n */\n margin: PropTypes.oneOf(['dense', 'none']),\n /**\n * Maximum number of rows to display when multiline option is set to true.\n */\n maxRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Minimum number of rows to display when multiline option is set to true.\n */\n minRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * If `true`, a [TextareaAutosize](/material-ui/react-textarea-autosize/) element is rendered.\n * @default false\n */\n multiline: PropTypes.bool,\n /**\n * Name attribute of the `input` element.\n */\n name: PropTypes.string,\n /**\n * If `true`, the outline is notched to accommodate the label.\n */\n notched: PropTypes.bool,\n /**\n * Callback fired when the value is changed.\n *\n * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n /**\n * The short hint displayed in the `input` before the user enters a value.\n */\n placeholder: PropTypes.string,\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n /**\n * If `true`, the `input` element is required.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n required: PropTypes.bool,\n /**\n * Number of rows to display when multiline option is set to true.\n */\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `components` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n input: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * Start `InputAdornment` for this component.\n */\n startAdornment: PropTypes.node,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types).\n * @default 'text'\n */\n type: PropTypes.string,\n /**\n * The value of the `input` element, required for a controlled component.\n */\n value: PropTypes.any\n} : void 0;\nOutlinedInput.muiName = 'Input';\nexport default OutlinedInput;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getFormLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiFormLabel', slot);\n}\nconst formLabelClasses = generateUtilityClasses('MuiFormLabel', ['root', 'colorSecondary', 'focused', 'disabled', 'error', 'filled', 'required', 'asterisk']);\nexport default formLabelClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"disabled\", \"error\", \"filled\", \"focused\", \"required\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport capitalize from '../utils/capitalize';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled from '../styles/styled';\nimport formLabelClasses, { getFormLabelUtilityClasses } from './formLabelClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n focused,\n disabled,\n error,\n filled,\n required\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, disabled && 'disabled', error && 'error', filled && 'filled', focused && 'focused', required && 'required'],\n asterisk: ['asterisk', error && 'error']\n };\n return composeClasses(slots, getFormLabelUtilityClasses, classes);\n};\nexport const FormLabelRoot = styled('label', {\n name: 'MuiFormLabel',\n slot: 'Root',\n overridesResolver: ({\n ownerState\n }, styles) => {\n return _extends({}, styles.root, ownerState.color === 'secondary' && styles.colorSecondary, ownerState.filled && styles.filled);\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, theme.typography.body1, {\n lineHeight: '1.4375em',\n padding: 0,\n position: 'relative',\n [`&.${formLabelClasses.focused}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${formLabelClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n },\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst AsteriskComponent = styled('span', {\n name: 'MuiFormLabel',\n slot: 'Asterisk',\n overridesResolver: (props, styles) => styles.asterisk\n})(({\n theme\n}) => ({\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst FormLabel = /*#__PURE__*/React.forwardRef(function FormLabel(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiFormLabel'\n });\n const {\n children,\n className,\n component = 'label'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['color', 'required', 'focused', 'disabled', 'error', 'filled']\n });\n const ownerState = _extends({}, props, {\n color: fcs.color || 'primary',\n component,\n disabled: fcs.disabled,\n error: fcs.error,\n filled: fcs.filled,\n focused: fcs.focused,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(FormLabelRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: [children, fcs.required && /*#__PURE__*/_jsxs(AsteriskComponent, {\n ownerState: ownerState,\n \"aria-hidden\": true,\n className: classes.asterisk,\n children: [\"\\u2009\", '*']\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormLabel.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the label should be displayed in a disabled state.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the label should use filled classes key.\n */\n filled: PropTypes.bool,\n /**\n * If `true`, the input of this label is focused (used by `FormGroup` components).\n */\n focused: PropTypes.bool,\n /**\n * If `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default FormLabel;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getInputLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiInputLabel', slot);\n}\nconst inputLabelClasses = generateUtilityClasses('MuiInputLabel', ['root', 'focused', 'disabled', 'error', 'required', 'asterisk', 'formControl', 'sizeSmall', 'shrink', 'animated', 'standard', 'filled', 'outlined']);\nexport default inputLabelClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"disableAnimation\", \"margin\", \"shrink\", \"variant\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport composeClasses from '@mui/utils/composeClasses';\nimport clsx from 'clsx';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport FormLabel, { formLabelClasses } from '../FormLabel';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport capitalize from '../utils/capitalize';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { getInputLabelUtilityClasses } from './inputLabelClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n formControl,\n size,\n shrink,\n disableAnimation,\n variant,\n required\n } = ownerState;\n const slots = {\n root: ['root', formControl && 'formControl', !disableAnimation && 'animated', shrink && 'shrink', size && size !== 'normal' && `size${capitalize(size)}`, variant],\n asterisk: [required && 'asterisk']\n };\n const composedClasses = composeClasses(slots, getInputLabelUtilityClasses, classes);\n return _extends({}, classes, composedClasses);\n};\nconst InputLabelRoot = styled(FormLabel, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiInputLabel',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${formLabelClasses.asterisk}`]: styles.asterisk\n }, styles.root, ownerState.formControl && styles.formControl, ownerState.size === 'small' && styles.sizeSmall, ownerState.shrink && styles.shrink, !ownerState.disableAnimation && styles.animated, ownerState.focused && styles.focused, styles[ownerState.variant]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'block',\n transformOrigin: 'top left',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: '100%'\n}, ownerState.formControl && {\n position: 'absolute',\n left: 0,\n top: 0,\n // slight alteration to spec spacing to match visual spec result\n transform: 'translate(0, 20px) scale(1)'\n}, ownerState.size === 'small' && {\n // Compensation for the `Input.inputSizeSmall` style.\n transform: 'translate(0, 17px) scale(1)'\n}, ownerState.shrink && {\n transform: 'translate(0, -1.5px) scale(0.75)',\n transformOrigin: 'top left',\n maxWidth: '133%'\n}, !ownerState.disableAnimation && {\n transition: theme.transitions.create(['color', 'transform', 'max-width'], {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n })\n}, ownerState.variant === 'filled' && _extends({\n // Chrome's autofill feature gives the input field a yellow background.\n // Since the input field is behind the label in the HTML tree,\n // the input field is drawn last and hides the label with an opaque background color.\n // zIndex: 1 will raise the label above opaque background-colors of input.\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(12px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 13px) scale(1)'\n}, ownerState.shrink && _extends({\n userSelect: 'none',\n pointerEvents: 'auto',\n transform: 'translate(12px, 7px) scale(0.75)',\n maxWidth: 'calc(133% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 4px) scale(0.75)'\n})), ownerState.variant === 'outlined' && _extends({\n // see comment above on filled.zIndex\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(14px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(14px, 9px) scale(1)'\n}, ownerState.shrink && {\n userSelect: 'none',\n pointerEvents: 'auto',\n // Theoretically, we should have (8+5)*2/0.75 = 34px\n // but it feels a better when it bleeds a bit on the left, so 32px.\n maxWidth: 'calc(133% - 32px)',\n transform: 'translate(14px, -9px) scale(0.75)'\n})));\nconst InputLabel = /*#__PURE__*/React.forwardRef(function InputLabel(inProps, ref) {\n const props = useDefaultProps({\n name: 'MuiInputLabel',\n props: inProps\n });\n const {\n disableAnimation = false,\n shrink: shrinkProp,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n let shrink = shrinkProp;\n if (typeof shrink === 'undefined' && muiFormControl) {\n shrink = muiFormControl.filled || muiFormControl.focused || muiFormControl.adornedStart;\n }\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['size', 'variant', 'required', 'focused']\n });\n const ownerState = _extends({}, props, {\n disableAnimation,\n formControl: muiFormControl,\n shrink,\n size: fcs.size,\n variant: fcs.variant,\n required: fcs.required,\n focused: fcs.focused\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(InputLabelRoot, _extends({\n \"data-shrink\": shrink,\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className)\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? InputLabel.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the transition animation is disabled.\n * @default false\n */\n disableAnimation: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` of this label is focused.\n */\n focused: PropTypes.bool,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: PropTypes.oneOf(['dense']),\n /**\n * if `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n /**\n * If `true`, the label is shrunk.\n */\n shrink: PropTypes.bool,\n /**\n * The size of the component.\n * @default 'normal'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['normal', 'small']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputLabel;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getFormControlUtilityClasses(slot) {\n return generateUtilityClass('MuiFormControl', slot);\n}\nconst formControlClasses = generateUtilityClasses('MuiFormControl', ['root', 'marginNone', 'marginNormal', 'marginDense', 'fullWidth', 'disabled']);\nexport default formControlClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"disabled\", \"error\", \"focused\", \"fullWidth\", \"hiddenLabel\", \"margin\", \"required\", \"size\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled from '../styles/styled';\nimport { isFilled, isAdornedStart } from '../InputBase/utils';\nimport capitalize from '../utils/capitalize';\nimport isMuiElement from '../utils/isMuiElement';\nimport FormControlContext from './FormControlContext';\nimport { getFormControlUtilityClasses } from './formControlClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n margin,\n fullWidth\n } = ownerState;\n const slots = {\n root: ['root', margin !== 'none' && `margin${capitalize(margin)}`, fullWidth && 'fullWidth']\n };\n return composeClasses(slots, getFormControlUtilityClasses, classes);\n};\nconst FormControlRoot = styled('div', {\n name: 'MuiFormControl',\n slot: 'Root',\n overridesResolver: ({\n ownerState\n }, styles) => {\n return _extends({}, styles.root, styles[`margin${capitalize(ownerState.margin)}`], ownerState.fullWidth && styles.fullWidth);\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inline-flex',\n flexDirection: 'column',\n position: 'relative',\n // Reset fieldset default style.\n minWidth: 0,\n padding: 0,\n margin: 0,\n border: 0,\n verticalAlign: 'top'\n}, ownerState.margin === 'normal' && {\n marginTop: 16,\n marginBottom: 8\n}, ownerState.margin === 'dense' && {\n marginTop: 8,\n marginBottom: 4\n}, ownerState.fullWidth && {\n width: '100%'\n}));\n\n/**\n * Provides context such as filled/focused/error/required for form inputs.\n * Relying on the context provides high flexibility and ensures that the state always stays\n * consistent across the children of the `FormControl`.\n * This context is used by the following components:\n *\n * - FormLabel\n * - FormHelperText\n * - Input\n * - InputLabel\n *\n * You can find one composition example below and more going to [the demos](/material-ui/react-text-field/#components).\n *\n * ```jsx\n * <FormControl>\n * <InputLabel htmlFor=\"my-input\">Email address</InputLabel>\n * <Input id=\"my-input\" aria-describedby=\"my-helper-text\" />\n * <FormHelperText id=\"my-helper-text\">We'll never share your email.</FormHelperText>\n * </FormControl>\n * ```\n *\n * ⚠️ Only one `InputBase` can be used within a FormControl because it creates visual inconsistencies.\n * For instance, only one input can be focused at the same time, the state shouldn't be shared.\n */\nconst FormControl = /*#__PURE__*/React.forwardRef(function FormControl(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiFormControl'\n });\n const {\n children,\n className,\n color = 'primary',\n component = 'div',\n disabled = false,\n error = false,\n focused: visuallyFocused,\n fullWidth = false,\n hiddenLabel = false,\n margin = 'none',\n required = false,\n size = 'medium',\n variant = 'outlined'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n component,\n disabled,\n error,\n fullWidth,\n hiddenLabel,\n margin,\n required,\n size,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const [adornedStart, setAdornedStart] = React.useState(() => {\n // We need to iterate through the children and find the Input in order\n // to fully support server-side rendering.\n let initialAdornedStart = false;\n if (children) {\n React.Children.forEach(children, child => {\n if (!isMuiElement(child, ['Input', 'Select'])) {\n return;\n }\n const input = isMuiElement(child, ['Select']) ? child.props.input : child;\n if (input && isAdornedStart(input.props)) {\n initialAdornedStart = true;\n }\n });\n }\n return initialAdornedStart;\n });\n const [filled, setFilled] = React.useState(() => {\n // We need to iterate through the children and find the Input in order\n // to fully support server-side rendering.\n let initialFilled = false;\n if (children) {\n React.Children.forEach(children, child => {\n if (!isMuiElement(child, ['Input', 'Select'])) {\n return;\n }\n if (isFilled(child.props, true) || isFilled(child.props.inputProps, true)) {\n initialFilled = true;\n }\n });\n }\n return initialFilled;\n });\n const [focusedState, setFocused] = React.useState(false);\n if (disabled && focusedState) {\n setFocused(false);\n }\n const focused = visuallyFocused !== undefined && !disabled ? visuallyFocused : focusedState;\n let registerEffect;\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const registeredInput = React.useRef(false);\n registerEffect = () => {\n if (registeredInput.current) {\n console.error(['MUI: There are multiple `InputBase` components inside a FormControl.', 'This creates visual inconsistencies, only use one `InputBase`.'].join('\\n'));\n }\n registeredInput.current = true;\n return () => {\n registeredInput.current = false;\n };\n };\n }\n const childContext = React.useMemo(() => {\n return {\n adornedStart,\n setAdornedStart,\n color,\n disabled,\n error,\n filled,\n focused,\n fullWidth,\n hiddenLabel,\n size,\n onBlur: () => {\n setFocused(false);\n },\n onEmpty: () => {\n setFilled(false);\n },\n onFilled: () => {\n setFilled(true);\n },\n onFocus: () => {\n setFocused(true);\n },\n registerEffect,\n required,\n variant\n };\n }, [adornedStart, color, disabled, error, filled, focused, fullWidth, hiddenLabel, registerEffect, required, size, variant]);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(FormControlRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: children\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? FormControl.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the label, input and helper text should be displayed in a disabled state.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n * @default false\n */\n error: PropTypes.bool,\n /**\n * If `true`, the component is displayed in focused state.\n */\n focused: PropTypes.bool,\n /**\n * If `true`, the component will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * If `true`, the label is hidden.\n * This is used to increase density for a `FilledInput`.\n * Be sure to add `aria-label` to the `input` element.\n * @default false\n */\n hiddenLabel: PropTypes.bool,\n /**\n * If `dense` or `normal`, will adjust vertical spacing of this and contained components.\n * @default 'none'\n */\n margin: PropTypes.oneOf(['dense', 'none', 'normal']),\n /**\n * If `true`, the label will indicate that the `input` is required.\n * @default false\n */\n required: PropTypes.bool,\n /**\n * The size of the component.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'outlined'\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default FormControl;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getFormHelperTextUtilityClasses(slot) {\n return generateUtilityClass('MuiFormHelperText', slot);\n}\nconst formHelperTextClasses = generateUtilityClasses('MuiFormHelperText', ['root', 'error', 'disabled', 'sizeSmall', 'sizeMedium', 'contained', 'focused', 'filled', 'required']);\nexport default formHelperTextClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nvar _span;\nconst _excluded = [\"children\", \"className\", \"component\", \"disabled\", \"error\", \"filled\", \"focused\", \"margin\", \"required\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport capitalize from '../utils/capitalize';\nimport formHelperTextClasses, { getFormHelperTextUtilityClasses } from './formHelperTextClasses';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n contained,\n size,\n disabled,\n error,\n filled,\n focused,\n required\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', error && 'error', size && `size${capitalize(size)}`, contained && 'contained', focused && 'focused', filled && 'filled', required && 'required']\n };\n return composeClasses(slots, getFormHelperTextUtilityClasses, classes);\n};\nconst FormHelperTextRoot = styled('p', {\n name: 'MuiFormHelperText',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.size && styles[`size${capitalize(ownerState.size)}`], ownerState.contained && styles.contained, ownerState.filled && styles.filled];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, theme.typography.caption, {\n textAlign: 'left',\n marginTop: 3,\n marginRight: 0,\n marginBottom: 0,\n marginLeft: 0,\n [`&.${formHelperTextClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n },\n [`&.${formHelperTextClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}, ownerState.size === 'small' && {\n marginTop: 4\n}, ownerState.contained && {\n marginLeft: 14,\n marginRight: 14\n}));\nconst FormHelperText = /*#__PURE__*/React.forwardRef(function FormHelperText(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiFormHelperText'\n });\n const {\n children,\n className,\n component = 'p'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['variant', 'size', 'disabled', 'error', 'filled', 'focused', 'required']\n });\n const ownerState = _extends({}, props, {\n component,\n contained: fcs.variant === 'filled' || fcs.variant === 'outlined',\n variant: fcs.variant,\n size: fcs.size,\n disabled: fcs.disabled,\n error: fcs.error,\n filled: fcs.filled,\n focused: fcs.focused,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormHelperTextRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: children === ' ' ? // notranslate needed while Google Translate will not fix zero-width space issue\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormHelperText.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n *\n * If `' '` is provided, the component reserves one line height for displaying a future message.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the helper text should be displayed in a disabled state.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, helper text should be displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the helper text should use filled classes key.\n */\n filled: PropTypes.bool,\n /**\n * If `true`, the helper text should use focused classes key.\n */\n focused: PropTypes.bool,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: PropTypes.oneOf(['dense']),\n /**\n * If `true`, the helper text should use required classes key.\n */\n required: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['filled', 'outlined', 'standard']), PropTypes.string])\n} : void 0;\nexport default FormHelperText;","import * as React from 'react';\n\n/**\n * Returns the ref of a React element handling differences between React 19 and older versions.\n * It will throw runtime error if the element is not a valid React element.\n *\n * @param element React.ReactElement\n * @returns React.Ref<any> | null\n */\nexport default function getReactElementRef(element) {\n // 'ref' is passed as prop in React 19, whereas 'ref' is directly attached to children in older versions\n if (parseInt(React.version, 10) >= 19) {\n var _element$props;\n return (element == null || (_element$props = element.props) == null ? void 0 : _element$props.ref) || null;\n }\n // @ts-expect-error element.ref is not included in the ReactElement type\n // https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/70189\n return (element == null ? void 0 : element.ref) || null;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst RtlContext = /*#__PURE__*/React.createContext();\nfunction RtlProvider(_ref) {\n let {\n value\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n return /*#__PURE__*/_jsx(RtlContext.Provider, _extends({\n value: value != null ? value : true\n }, props));\n}\nprocess.env.NODE_ENV !== \"production\" ? RtlProvider.propTypes = {\n children: PropTypes.node,\n value: PropTypes.bool\n} : void 0;\nexport const useRtl = () => {\n const value = React.useContext(RtlContext);\n return value != null ? value : false;\n};\nexport default RtlProvider;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"elementType\", \"externalSlotProps\", \"ownerState\", \"skipResolvingSlotProps\"];\nimport useForkRef from '../useForkRef';\nimport appendOwnerState from '../appendOwnerState';\nimport mergeSlotProps from '../mergeSlotProps';\nimport resolveComponentProps from '../resolveComponentProps';\n/**\n * @ignore - do not document.\n * Builds the props to be passed into the slot of an unstyled component.\n * It merges the internal props of the component with the ones supplied by the user, allowing to customize the behavior.\n * If the slot component is not a host component, it also merges in the `ownerState`.\n *\n * @param parameters.getSlotProps - A function that returns the props to be passed to the slot component.\n */\nfunction useSlotProps(parameters) {\n var _parameters$additiona;\n const {\n elementType,\n externalSlotProps,\n ownerState,\n skipResolvingSlotProps = false\n } = parameters,\n rest = _objectWithoutPropertiesLoose(parameters, _excluded);\n const resolvedComponentsProps = skipResolvingSlotProps ? {} : resolveComponentProps(externalSlotProps, ownerState);\n const {\n props: mergedProps,\n internalRef\n } = mergeSlotProps(_extends({}, rest, {\n externalSlotProps: resolvedComponentsProps\n }));\n const ref = useForkRef(internalRef, resolvedComponentsProps == null ? void 0 : resolvedComponentsProps.ref, (_parameters$additiona = parameters.additionalProps) == null ? void 0 : _parameters$additiona.ref);\n const props = appendOwnerState(elementType, _extends({}, mergedProps, {\n ref\n }), ownerState);\n return props;\n}\nexport default useSlotProps;","'use client';\n\nimport * as React from 'react';\n\n/**\n * @ignore - internal component.\n */\nconst ListContext = /*#__PURE__*/React.createContext({});\nif (process.env.NODE_ENV !== 'production') {\n ListContext.displayName = 'ListContext';\n}\nexport default ListContext;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListUtilityClass(slot) {\n return generateUtilityClass('MuiList', slot);\n}\nconst listClasses = generateUtilityClasses('MuiList', ['root', 'padding', 'dense', 'subheader']);\nexport default listClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"component\", \"dense\", \"disablePadding\", \"subheader\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport ListContext from './ListContext';\nimport { getListUtilityClass } from './listClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePadding,\n dense,\n subheader\n } = ownerState;\n const slots = {\n root: ['root', !disablePadding && 'padding', dense && 'dense', subheader && 'subheader']\n };\n return composeClasses(slots, getListUtilityClass, classes);\n};\nconst ListRoot = styled('ul', {\n name: 'MuiList',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disablePadding && styles.padding, ownerState.dense && styles.dense, ownerState.subheader && styles.subheader];\n }\n})(({\n ownerState\n}) => _extends({\n listStyle: 'none',\n margin: 0,\n padding: 0,\n position: 'relative'\n}, !ownerState.disablePadding && {\n paddingTop: 8,\n paddingBottom: 8\n}, ownerState.subheader && {\n paddingTop: 0\n}));\nconst List = /*#__PURE__*/React.forwardRef(function List(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiList'\n });\n const {\n children,\n className,\n component = 'ul',\n dense = false,\n disablePadding = false,\n subheader\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = React.useMemo(() => ({\n dense\n }), [dense]);\n const ownerState = _extends({}, props, {\n component,\n dense,\n disablePadding\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: context,\n children: /*#__PURE__*/_jsxs(ListRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState\n }, other, {\n children: [subheader, children]\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? List.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used for\n * the list and list items.\n * The prop is available to descendant components as the `dense` context.\n * @default false\n */\n dense: PropTypes.bool,\n /**\n * If `true`, vertical padding is removed from the list.\n * @default false\n */\n disablePadding: PropTypes.bool,\n /**\n * The content of the subheader, normally `ListSubheader`.\n */\n subheader: PropTypes.node,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default List;","// A change of the browser zoom change the scrollbar size.\n// Credit https://github.com/twbs/bootstrap/blob/488fd8afc535ca3a6ad4dc581f5e89217b6a36ac/js/src/util/scrollbar.js#L14-L18\nexport default function getScrollbarSize(doc) {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = doc.documentElement.clientWidth;\n return Math.abs(window.innerWidth - documentWidth);\n}","import getScrollbarSize from '@mui/utils/getScrollbarSize';\nexport default getScrollbarSize;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"actions\", \"autoFocus\", \"autoFocusItem\", \"children\", \"className\", \"disabledItemsFocusable\", \"disableListWrap\", \"onKeyDown\", \"variant\"];\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport ownerDocument from '../utils/ownerDocument';\nimport List from '../List';\nimport getScrollbarSize from '../utils/getScrollbarSize';\nimport useForkRef from '../utils/useForkRef';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction nextItem(list, item, disableListWrap) {\n if (list === item) {\n return list.firstChild;\n }\n if (item && item.nextElementSibling) {\n return item.nextElementSibling;\n }\n return disableListWrap ? null : list.firstChild;\n}\nfunction previousItem(list, item, disableListWrap) {\n if (list === item) {\n return disableListWrap ? list.firstChild : list.lastChild;\n }\n if (item && item.previousElementSibling) {\n return item.previousElementSibling;\n }\n return disableListWrap ? null : list.lastChild;\n}\nfunction textCriteriaMatches(nextFocus, textCriteria) {\n if (textCriteria === undefined) {\n return true;\n }\n let text = nextFocus.innerText;\n if (text === undefined) {\n // jsdom doesn't support innerText\n text = nextFocus.textContent;\n }\n text = text.trim().toLowerCase();\n if (text.length === 0) {\n return false;\n }\n if (textCriteria.repeating) {\n return text[0] === textCriteria.keys[0];\n }\n return text.indexOf(textCriteria.keys.join('')) === 0;\n}\nfunction moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, traversalFunction, textCriteria) {\n let wrappedOnce = false;\n let nextFocus = traversalFunction(list, currentFocus, currentFocus ? disableListWrap : false);\n while (nextFocus) {\n // Prevent infinite loop.\n if (nextFocus === list.firstChild) {\n if (wrappedOnce) {\n return false;\n }\n wrappedOnce = true;\n }\n\n // Same logic as useAutocomplete.js\n const nextFocusDisabled = disabledItemsFocusable ? false : nextFocus.disabled || nextFocus.getAttribute('aria-disabled') === 'true';\n if (!nextFocus.hasAttribute('tabindex') || !textCriteriaMatches(nextFocus, textCriteria) || nextFocusDisabled) {\n // Move to the next element.\n nextFocus = traversalFunction(list, nextFocus, disableListWrap);\n } else {\n nextFocus.focus();\n return true;\n }\n }\n return false;\n}\n\n/**\n * A permanently displayed menu following https://www.w3.org/WAI/ARIA/apg/patterns/menu-button/.\n * It's exposed to help customization of the [`Menu`](/material-ui/api/menu/) component if you\n * use it separately you need to move focus into the component manually. Once\n * the focus is placed inside the component it is fully keyboard accessible.\n */\nconst MenuList = /*#__PURE__*/React.forwardRef(function MenuList(props, ref) {\n const {\n // private\n // eslint-disable-next-line react/prop-types\n actions,\n autoFocus = false,\n autoFocusItem = false,\n children,\n className,\n disabledItemsFocusable = false,\n disableListWrap = false,\n onKeyDown,\n variant = 'selectedMenu'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const listRef = React.useRef(null);\n const textCriteriaRef = React.useRef({\n keys: [],\n repeating: true,\n previousKeyMatched: true,\n lastTime: null\n });\n useEnhancedEffect(() => {\n if (autoFocus) {\n listRef.current.focus();\n }\n }, [autoFocus]);\n React.useImperativeHandle(actions, () => ({\n adjustStyleForScrollbar: (containerElement, {\n direction\n }) => {\n // Let's ignore that piece of logic if users are already overriding the width\n // of the menu.\n const noExplicitWidth = !listRef.current.style.width;\n if (containerElement.clientHeight < listRef.current.clientHeight && noExplicitWidth) {\n const scrollbarSize = `${getScrollbarSize(ownerDocument(containerElement))}px`;\n listRef.current.style[direction === 'rtl' ? 'paddingLeft' : 'paddingRight'] = scrollbarSize;\n listRef.current.style.width = `calc(100% + ${scrollbarSize})`;\n }\n return listRef.current;\n }\n }), []);\n const handleKeyDown = event => {\n const list = listRef.current;\n const key = event.key;\n /**\n * @type {Element} - will always be defined since we are in a keydown handler\n * attached to an element. A keydown event is either dispatched to the activeElement\n * or document.body or document.documentElement. Only the first case will\n * trigger this specific handler.\n */\n const currentFocus = ownerDocument(list).activeElement;\n if (key === 'ArrowDown') {\n // Prevent scroll of the page\n event.preventDefault();\n moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, nextItem);\n } else if (key === 'ArrowUp') {\n event.preventDefault();\n moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, previousItem);\n } else if (key === 'Home') {\n event.preventDefault();\n moveFocus(list, null, disableListWrap, disabledItemsFocusable, nextItem);\n } else if (key === 'End') {\n event.preventDefault();\n moveFocus(list, null, disableListWrap, disabledItemsFocusable, previousItem);\n } else if (key.length === 1) {\n const criteria = textCriteriaRef.current;\n const lowerKey = key.toLowerCase();\n const currTime = performance.now();\n if (criteria.keys.length > 0) {\n // Reset\n if (currTime - criteria.lastTime > 500) {\n criteria.keys = [];\n criteria.repeating = true;\n criteria.previousKeyMatched = true;\n } else if (criteria.repeating && lowerKey !== criteria.keys[0]) {\n criteria.repeating = false;\n }\n }\n criteria.lastTime = currTime;\n criteria.keys.push(lowerKey);\n const keepFocusOnCurrent = currentFocus && !criteria.repeating && textCriteriaMatches(currentFocus, criteria);\n if (criteria.previousKeyMatched && (keepFocusOnCurrent || moveFocus(list, currentFocus, false, disabledItemsFocusable, nextItem, criteria))) {\n event.preventDefault();\n } else {\n criteria.previousKeyMatched = false;\n }\n }\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n const handleRef = useForkRef(listRef, ref);\n\n /**\n * the index of the item should receive focus\n * in a `variant=\"selectedMenu\"` it's the first `selected` item\n * otherwise it's the very first item.\n */\n let activeItemIndex = -1;\n // since we inject focus related props into children we have to do a lookahead\n // to check if there is a `selected` item. We're looking for the last `selected`\n // item and use the first valid item as a fallback\n React.Children.forEach(children, (child, index) => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n if (activeItemIndex === index) {\n activeItemIndex += 1;\n if (activeItemIndex >= children.length) {\n // there are no focusable items within the list.\n activeItemIndex = -1;\n }\n }\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"MUI: The Menu component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n if (!child.props.disabled) {\n if (variant === 'selectedMenu' && child.props.selected) {\n activeItemIndex = index;\n } else if (activeItemIndex === -1) {\n activeItemIndex = index;\n }\n }\n if (activeItemIndex === index && (child.props.disabled || child.props.muiSkipListHighlight || child.type.muiSkipListHighlight)) {\n activeItemIndex += 1;\n if (activeItemIndex >= children.length) {\n // there are no focusable items within the list.\n activeItemIndex = -1;\n }\n }\n });\n const items = React.Children.map(children, (child, index) => {\n if (index === activeItemIndex) {\n const newChildProps = {};\n if (autoFocusItem) {\n newChildProps.autoFocus = true;\n }\n if (child.props.tabIndex === undefined && variant === 'selectedMenu') {\n newChildProps.tabIndex = 0;\n }\n return /*#__PURE__*/React.cloneElement(child, newChildProps);\n }\n return child;\n });\n return /*#__PURE__*/_jsx(List, _extends({\n role: \"menu\",\n ref: handleRef,\n className: className,\n onKeyDown: handleKeyDown,\n tabIndex: autoFocus ? 0 : -1\n }, other, {\n children: items\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuList.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, will focus the `[role=\"menu\"]` container and move into tab order.\n * @default false\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true`, will focus the first menuitem if `variant=\"menu\"` or selected item\n * if `variant=\"selectedMenu\"`.\n * @default false\n */\n autoFocusItem: PropTypes.bool,\n /**\n * MenuList contents, normally `MenuItem`s.\n */\n children: PropTypes.node,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, will allow focus on disabled items.\n * @default false\n */\n disabledItemsFocusable: PropTypes.bool,\n /**\n * If `true`, the menu items will not wrap focus.\n * @default false\n */\n disableListWrap: PropTypes.bool,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n /**\n * The variant to use. Use `menu` to prevent selected items from impacting the initial focus\n * and the vertical alignment relative to the anchor element.\n * @default 'selectedMenu'\n */\n variant: PropTypes.oneOf(['menu', 'selectedMenu'])\n} : void 0;\nexport default MenuList;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"addEndListener\", \"appear\", \"children\", \"easing\", \"in\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"style\", \"timeout\", \"TransitionComponent\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport useTimeout from '@mui/utils/useTimeout';\nimport elementAcceptingRef from '@mui/utils/elementAcceptingRef';\nimport getReactElementRef from '@mui/utils/getReactElementRef';\nimport { Transition } from 'react-transition-group';\nimport useTheme from '../styles/useTheme';\nimport { getTransitionProps, reflow } from '../transitions/utils';\nimport useForkRef from '../utils/useForkRef';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction getScale(value) {\n return `scale(${value}, ${value ** 2})`;\n}\nconst styles = {\n entering: {\n opacity: 1,\n transform: getScale(1)\n },\n entered: {\n opacity: 1,\n transform: 'none'\n }\n};\n\n/*\n TODO v6: remove\n Conditionally apply a workaround for the CSS transition bug in Safari 15.4 / WebKit browsers.\n */\nconst isWebKit154 = typeof navigator !== 'undefined' && /^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent) && /(os |version\\/)15(.|_)4/i.test(navigator.userAgent);\n\n/**\n * The Grow transition is used by the [Tooltip](/material-ui/react-tooltip/) and\n * [Popover](/material-ui/react-popover/) components.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\nconst Grow = /*#__PURE__*/React.forwardRef(function Grow(props, ref) {\n const {\n addEndListener,\n appear = true,\n children,\n easing,\n in: inProp,\n onEnter,\n onEntered,\n onEntering,\n onExit,\n onExited,\n onExiting,\n style,\n timeout = 'auto',\n // eslint-disable-next-line react/prop-types\n TransitionComponent = Transition\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const timer = useTimeout();\n const autoTimeout = React.useRef();\n const theme = useTheme();\n const nodeRef = React.useRef(null);\n const handleRef = useForkRef(nodeRef, getReactElementRef(children), ref);\n const normalizedTransitionCallback = callback => maybeIsAppearing => {\n if (callback) {\n const node = nodeRef.current;\n\n // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n if (maybeIsAppearing === undefined) {\n callback(node);\n } else {\n callback(node, maybeIsAppearing);\n }\n }\n };\n const handleEntering = normalizedTransitionCallback(onEntering);\n const handleEnter = normalizedTransitionCallback((node, isAppearing) => {\n reflow(node); // So the animation always start from the start.\n\n const {\n duration: transitionDuration,\n delay,\n easing: transitionTimingFunction\n } = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'enter'\n });\n let duration;\n if (timeout === 'auto') {\n duration = theme.transitions.getAutoHeightDuration(node.clientHeight);\n autoTimeout.current = duration;\n } else {\n duration = transitionDuration;\n }\n node.style.transition = [theme.transitions.create('opacity', {\n duration,\n delay\n }), theme.transitions.create('transform', {\n duration: isWebKit154 ? duration : duration * 0.666,\n delay,\n easing: transitionTimingFunction\n })].join(',');\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n });\n const handleEntered = normalizedTransitionCallback(onEntered);\n const handleExiting = normalizedTransitionCallback(onExiting);\n const handleExit = normalizedTransitionCallback(node => {\n const {\n duration: transitionDuration,\n delay,\n easing: transitionTimingFunction\n } = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'exit'\n });\n let duration;\n if (timeout === 'auto') {\n duration = theme.transitions.getAutoHeightDuration(node.clientHeight);\n autoTimeout.current = duration;\n } else {\n duration = transitionDuration;\n }\n node.style.transition = [theme.transitions.create('opacity', {\n duration,\n delay\n }), theme.transitions.create('transform', {\n duration: isWebKit154 ? duration : duration * 0.666,\n delay: isWebKit154 ? delay : delay || duration * 0.333,\n easing: transitionTimingFunction\n })].join(',');\n node.style.opacity = 0;\n node.style.transform = getScale(0.75);\n if (onExit) {\n onExit(node);\n }\n });\n const handleExited = normalizedTransitionCallback(onExited);\n const handleAddEndListener = next => {\n if (timeout === 'auto') {\n timer.start(autoTimeout.current || 0, next);\n }\n if (addEndListener) {\n // Old call signature before `react-transition-group` implemented `nodeRef`\n addEndListener(nodeRef.current, next);\n }\n };\n return /*#__PURE__*/_jsx(TransitionComponent, _extends({\n appear: appear,\n in: inProp,\n nodeRef: nodeRef,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: handleAddEndListener,\n timeout: timeout === 'auto' ? null : timeout\n }, other, {\n children: (state, childProps) => {\n return /*#__PURE__*/React.cloneElement(children, _extends({\n style: _extends({\n opacity: 0,\n transform: getScale(0.75),\n visibility: state === 'exited' && !inProp ? 'hidden' : undefined\n }, styles[state], style, children.props.style),\n ref: handleRef\n }, childProps));\n }\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Grow.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Add a custom transition end trigger. Called with the transitioning DOM\n * node and a done callback. Allows for more fine grained transition end\n * logic. Note: Timeouts are still used as a fallback if provided.\n */\n addEndListener: PropTypes.func,\n /**\n * Perform the enter transition when it first mounts if `in` is also `true`.\n * Set this to `false` to disable this behavior.\n * @default true\n */\n appear: PropTypes.bool,\n /**\n * A single child content element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * The transition timing function.\n * You may specify a single easing or a object containing enter and exit values.\n */\n easing: PropTypes.oneOfType([PropTypes.shape({\n enter: PropTypes.string,\n exit: PropTypes.string\n }), PropTypes.string]),\n /**\n * If `true`, the component will transition in.\n */\n in: PropTypes.bool,\n /**\n * @ignore\n */\n onEnter: PropTypes.func,\n /**\n * @ignore\n */\n onEntered: PropTypes.func,\n /**\n * @ignore\n */\n onEntering: PropTypes.func,\n /**\n * @ignore\n */\n onExit: PropTypes.func,\n /**\n * @ignore\n */\n onExited: PropTypes.func,\n /**\n * @ignore\n */\n onExiting: PropTypes.func,\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n *\n * Set to 'auto' to automatically calculate transition time based on height.\n * @default 'auto'\n */\n timeout: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nGrow.muiSupportAuto = true;\nexport default Grow;","'use client';\n\n/* eslint-disable consistent-return, jsx-a11y/no-noninteractive-tabindex */\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { exactProp, elementAcceptingRef, unstable_useForkRef as useForkRef, unstable_ownerDocument as ownerDocument, unstable_getReactElementRef as getReactElementRef } from '@mui/utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n// Inspired by https://github.com/focus-trap/tabbable\nconst candidatesSelector = ['input', 'select', 'textarea', 'a[href]', 'button', '[tabindex]', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable=\"false\"])'].join(',');\nfunction getTabIndex(node) {\n const tabindexAttr = parseInt(node.getAttribute('tabindex') || '', 10);\n if (!Number.isNaN(tabindexAttr)) {\n return tabindexAttr;\n }\n\n // Browsers do not return `tabIndex` correctly for contentEditable nodes;\n // https://bugs.chromium.org/p/chromium/issues/detail?id=661108&q=contenteditable%20tabindex&can=2\n // so if they don't have a tabindex attribute specifically set, assume it's 0.\n // in Chrome, <details/>, <audio controls/> and <video controls/> elements get a default\n // `tabIndex` of -1 when the 'tabindex' attribute isn't specified in the DOM,\n // yet they are still part of the regular tab order; in FF, they get a default\n // `tabIndex` of 0; since Chrome still puts those elements in the regular tab\n // order, consider their tab index to be 0.\n if (node.contentEditable === 'true' || (node.nodeName === 'AUDIO' || node.nodeName === 'VIDEO' || node.nodeName === 'DETAILS') && node.getAttribute('tabindex') === null) {\n return 0;\n }\n return node.tabIndex;\n}\nfunction isNonTabbableRadio(node) {\n if (node.tagName !== 'INPUT' || node.type !== 'radio') {\n return false;\n }\n if (!node.name) {\n return false;\n }\n const getRadio = selector => node.ownerDocument.querySelector(`input[type=\"radio\"]${selector}`);\n let roving = getRadio(`[name=\"${node.name}\"]:checked`);\n if (!roving) {\n roving = getRadio(`[name=\"${node.name}\"]`);\n }\n return roving !== node;\n}\nfunction isNodeMatchingSelectorFocusable(node) {\n if (node.disabled || node.tagName === 'INPUT' && node.type === 'hidden' || isNonTabbableRadio(node)) {\n return false;\n }\n return true;\n}\nfunction defaultGetTabbable(root) {\n const regularTabNodes = [];\n const orderedTabNodes = [];\n Array.from(root.querySelectorAll(candidatesSelector)).forEach((node, i) => {\n const nodeTabIndex = getTabIndex(node);\n if (nodeTabIndex === -1 || !isNodeMatchingSelectorFocusable(node)) {\n return;\n }\n if (nodeTabIndex === 0) {\n regularTabNodes.push(node);\n } else {\n orderedTabNodes.push({\n documentOrder: i,\n tabIndex: nodeTabIndex,\n node: node\n });\n }\n });\n return orderedTabNodes.sort((a, b) => a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex).map(a => a.node).concat(regularTabNodes);\n}\nfunction defaultIsEnabled() {\n return true;\n}\n\n/**\n * @ignore - internal component.\n */\nfunction FocusTrap(props) {\n const {\n children,\n disableAutoFocus = false,\n disableEnforceFocus = false,\n disableRestoreFocus = false,\n getTabbable = defaultGetTabbable,\n isEnabled = defaultIsEnabled,\n open\n } = props;\n const ignoreNextEnforceFocus = React.useRef(false);\n const sentinelStart = React.useRef(null);\n const sentinelEnd = React.useRef(null);\n const nodeToRestore = React.useRef(null);\n const reactFocusEventTarget = React.useRef(null);\n // This variable is useful when disableAutoFocus is true.\n // It waits for the active element to move into the component to activate.\n const activated = React.useRef(false);\n const rootRef = React.useRef(null);\n const handleRef = useForkRef(getReactElementRef(children), rootRef);\n const lastKeydown = React.useRef(null);\n React.useEffect(() => {\n // We might render an empty child.\n if (!open || !rootRef.current) {\n return;\n }\n activated.current = !disableAutoFocus;\n }, [disableAutoFocus, open]);\n React.useEffect(() => {\n // We might render an empty child.\n if (!open || !rootRef.current) {\n return;\n }\n const doc = ownerDocument(rootRef.current);\n if (!rootRef.current.contains(doc.activeElement)) {\n if (!rootRef.current.hasAttribute('tabIndex')) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(['MUI: The modal content node does not accept focus.', 'For the benefit of assistive technologies, ' + 'the tabIndex of the node is being set to \"-1\".'].join('\\n'));\n }\n rootRef.current.setAttribute('tabIndex', '-1');\n }\n if (activated.current) {\n rootRef.current.focus();\n }\n }\n return () => {\n // restoreLastFocus()\n if (!disableRestoreFocus) {\n // In IE11 it is possible for document.activeElement to be null resulting\n // in nodeToRestore.current being null.\n // Not all elements in IE11 have a focus method.\n // Once IE11 support is dropped the focus() call can be unconditional.\n if (nodeToRestore.current && nodeToRestore.current.focus) {\n ignoreNextEnforceFocus.current = true;\n nodeToRestore.current.focus();\n }\n nodeToRestore.current = null;\n }\n };\n // Missing `disableRestoreFocus` which is fine.\n // We don't support changing that prop on an open FocusTrap\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open]);\n React.useEffect(() => {\n // We might render an empty child.\n if (!open || !rootRef.current) {\n return;\n }\n const doc = ownerDocument(rootRef.current);\n const loopFocus = nativeEvent => {\n lastKeydown.current = nativeEvent;\n if (disableEnforceFocus || !isEnabled() || nativeEvent.key !== 'Tab') {\n return;\n }\n\n // Make sure the next tab starts from the right place.\n // doc.activeElement refers to the origin.\n if (doc.activeElement === rootRef.current && nativeEvent.shiftKey) {\n // We need to ignore the next contain as\n // it will try to move the focus back to the rootRef element.\n ignoreNextEnforceFocus.current = true;\n if (sentinelEnd.current) {\n sentinelEnd.current.focus();\n }\n }\n };\n const contain = () => {\n const rootElement = rootRef.current;\n\n // Cleanup functions are executed lazily in React 17.\n // Contain can be called between the component being unmounted and its cleanup function being run.\n if (rootElement === null) {\n return;\n }\n if (!doc.hasFocus() || !isEnabled() || ignoreNextEnforceFocus.current) {\n ignoreNextEnforceFocus.current = false;\n return;\n }\n\n // The focus is already inside\n if (rootElement.contains(doc.activeElement)) {\n return;\n }\n\n // The disableEnforceFocus is set and the focus is outside of the focus trap (and sentinel nodes)\n if (disableEnforceFocus && doc.activeElement !== sentinelStart.current && doc.activeElement !== sentinelEnd.current) {\n return;\n }\n\n // if the focus event is not coming from inside the children's react tree, reset the refs\n if (doc.activeElement !== reactFocusEventTarget.current) {\n reactFocusEventTarget.current = null;\n } else if (reactFocusEventTarget.current !== null) {\n return;\n }\n if (!activated.current) {\n return;\n }\n let tabbable = [];\n if (doc.activeElement === sentinelStart.current || doc.activeElement === sentinelEnd.current) {\n tabbable = getTabbable(rootRef.current);\n }\n\n // one of the sentinel nodes was focused, so move the focus\n // to the first/last tabbable element inside the focus trap\n if (tabbable.length > 0) {\n var _lastKeydown$current, _lastKeydown$current2;\n const isShiftTab = Boolean(((_lastKeydown$current = lastKeydown.current) == null ? void 0 : _lastKeydown$current.shiftKey) && ((_lastKeydown$current2 = lastKeydown.current) == null ? void 0 : _lastKeydown$current2.key) === 'Tab');\n const focusNext = tabbable[0];\n const focusPrevious = tabbable[tabbable.length - 1];\n if (typeof focusNext !== 'string' && typeof focusPrevious !== 'string') {\n if (isShiftTab) {\n focusPrevious.focus();\n } else {\n focusNext.focus();\n }\n }\n // no tabbable elements in the trap focus or the focus was outside of the focus trap\n } else {\n rootElement.focus();\n }\n };\n doc.addEventListener('focusin', contain);\n doc.addEventListener('keydown', loopFocus, true);\n\n // With Edge, Safari and Firefox, no focus related events are fired when the focused area stops being a focused area.\n // for example https://bugzilla.mozilla.org/show_bug.cgi?id=559561.\n // Instead, we can look if the active element was restored on the BODY element.\n //\n // The whatwg spec defines how the browser should behave but does not explicitly mention any events:\n // https://html.spec.whatwg.org/multipage/interaction.html#focus-fixup-rule.\n const interval = setInterval(() => {\n if (doc.activeElement && doc.activeElement.tagName === 'BODY') {\n contain();\n }\n }, 50);\n return () => {\n clearInterval(interval);\n doc.removeEventListener('focusin', contain);\n doc.removeEventListener('keydown', loopFocus, true);\n };\n }, [disableAutoFocus, disableEnforceFocus, disableRestoreFocus, isEnabled, open, getTabbable]);\n const onFocus = event => {\n if (nodeToRestore.current === null) {\n nodeToRestore.current = event.relatedTarget;\n }\n activated.current = true;\n reactFocusEventTarget.current = event.target;\n const childrenPropsHandler = children.props.onFocus;\n if (childrenPropsHandler) {\n childrenPropsHandler(event);\n }\n };\n const handleFocusSentinel = event => {\n if (nodeToRestore.current === null) {\n nodeToRestore.current = event.relatedTarget;\n }\n activated.current = true;\n };\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(\"div\", {\n tabIndex: open ? 0 : -1,\n onFocus: handleFocusSentinel,\n ref: sentinelStart,\n \"data-testid\": \"sentinelStart\"\n }), /*#__PURE__*/React.cloneElement(children, {\n ref: handleRef,\n onFocus\n }), /*#__PURE__*/_jsx(\"div\", {\n tabIndex: open ? 0 : -1,\n onFocus: handleFocusSentinel,\n ref: sentinelEnd,\n \"data-testid\": \"sentinelEnd\"\n })]\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? FocusTrap.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * A single child content element.\n */\n children: elementAcceptingRef,\n /**\n * If `true`, the focus trap will not automatically shift focus to itself when it opens, and\n * replace it to the last focused element when it closes.\n * This also works correctly with any focus trap children that have the `disableAutoFocus` prop.\n *\n * Generally this should never be set to `true` as it makes the focus trap less\n * accessible to assistive technologies, like screen readers.\n * @default false\n */\n disableAutoFocus: PropTypes.bool,\n /**\n * If `true`, the focus trap will not prevent focus from leaving the focus trap while open.\n *\n * Generally this should never be set to `true` as it makes the focus trap less\n * accessible to assistive technologies, like screen readers.\n * @default false\n */\n disableEnforceFocus: PropTypes.bool,\n /**\n * If `true`, the focus trap will not restore focus to previously focused element once\n * focus trap is hidden or unmounted.\n * @default false\n */\n disableRestoreFocus: PropTypes.bool,\n /**\n * Returns an array of ordered tabbable nodes (i.e. in tab order) within the root.\n * For instance, you can provide the \"tabbable\" npm dependency.\n * @param {HTMLElement} root\n */\n getTabbable: PropTypes.func,\n /**\n * This prop extends the `open` prop.\n * It allows to toggle the open state without having to wait for a rerender when changing the `open` prop.\n * This prop should be memoized.\n * It can be used to support multiple focus trap mounted at the same time.\n * @default function defaultIsEnabled(): boolean {\n * return true;\n * }\n */\n isEnabled: PropTypes.func,\n /**\n * If `true`, focus is locked.\n */\n open: PropTypes.bool.isRequired\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line\n FocusTrap['propTypes' + ''] = exactProp(FocusTrap.propTypes);\n}\nexport default FocusTrap;","'use client';\n\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { exactProp, HTMLElementType, unstable_useEnhancedEffect as useEnhancedEffect, unstable_useForkRef as useForkRef, unstable_setRef as setRef, unstable_getReactElementRef as getReactElementRef } from '@mui/utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction getContainer(container) {\n return typeof container === 'function' ? container() : container;\n}\n\n/**\n * Portals provide a first-class way to render children into a DOM node\n * that exists outside the DOM hierarchy of the parent component.\n *\n * Demos:\n *\n * - [Portal](https://mui.com/material-ui/react-portal/)\n *\n * API:\n *\n * - [Portal API](https://mui.com/material-ui/api/portal/)\n */\nconst Portal = /*#__PURE__*/React.forwardRef(function Portal(props, forwardedRef) {\n const {\n children,\n container,\n disablePortal = false\n } = props;\n const [mountNode, setMountNode] = React.useState(null);\n const handleRef = useForkRef( /*#__PURE__*/React.isValidElement(children) ? getReactElementRef(children) : null, forwardedRef);\n useEnhancedEffect(() => {\n if (!disablePortal) {\n setMountNode(getContainer(container) || document.body);\n }\n }, [container, disablePortal]);\n useEnhancedEffect(() => {\n if (mountNode && !disablePortal) {\n setRef(forwardedRef, mountNode);\n return () => {\n setRef(forwardedRef, null);\n };\n }\n return undefined;\n }, [forwardedRef, mountNode, disablePortal]);\n if (disablePortal) {\n if ( /*#__PURE__*/React.isValidElement(children)) {\n const newProps = {\n ref: handleRef\n };\n return /*#__PURE__*/React.cloneElement(children, newProps);\n }\n return /*#__PURE__*/_jsx(React.Fragment, {\n children: children\n });\n }\n return /*#__PURE__*/_jsx(React.Fragment, {\n children: mountNode ? /*#__PURE__*/ReactDOM.createPortal(children, mountNode) : mountNode\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Portal.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The children to render into the `container`.\n */\n children: PropTypes.node,\n /**\n * An HTML element or function that returns one.\n * The `container` will have the portal children appended to it.\n *\n * You can also provide a callback, which is called in a React layout effect.\n * This lets you set the container from a ref, and also makes server-side rendering possible.\n *\n * By default, it uses the body of the top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * The `children` will be under the DOM hierarchy of the parent component.\n * @default false\n */\n disablePortal: PropTypes.bool\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line\n Portal['propTypes' + ''] = exactProp(Portal.propTypes);\n}\nexport default Portal;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"addEndListener\", \"appear\", \"children\", \"easing\", \"in\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"style\", \"timeout\", \"TransitionComponent\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport elementAcceptingRef from '@mui/utils/elementAcceptingRef';\nimport getReactElementRef from '@mui/utils/getReactElementRef';\nimport useTheme from '../styles/useTheme';\nimport { reflow, getTransitionProps } from '../transitions/utils';\nimport useForkRef from '../utils/useForkRef';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst styles = {\n entering: {\n opacity: 1\n },\n entered: {\n opacity: 1\n }\n};\n\n/**\n * The Fade transition is used by the [Modal](/material-ui/react-modal/) component.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\nconst Fade = /*#__PURE__*/React.forwardRef(function Fade(props, ref) {\n const theme = useTheme();\n const defaultTimeout = {\n enter: theme.transitions.duration.enteringScreen,\n exit: theme.transitions.duration.leavingScreen\n };\n const {\n addEndListener,\n appear = true,\n children,\n easing,\n in: inProp,\n onEnter,\n onEntered,\n onEntering,\n onExit,\n onExited,\n onExiting,\n style,\n timeout = defaultTimeout,\n // eslint-disable-next-line react/prop-types\n TransitionComponent = Transition\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const enableStrictModeCompat = true;\n const nodeRef = React.useRef(null);\n const handleRef = useForkRef(nodeRef, getReactElementRef(children), ref);\n const normalizedTransitionCallback = callback => maybeIsAppearing => {\n if (callback) {\n const node = nodeRef.current;\n\n // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n if (maybeIsAppearing === undefined) {\n callback(node);\n } else {\n callback(node, maybeIsAppearing);\n }\n }\n };\n const handleEntering = normalizedTransitionCallback(onEntering);\n const handleEnter = normalizedTransitionCallback((node, isAppearing) => {\n reflow(node); // So the animation always start from the start.\n\n const transitionProps = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'enter'\n });\n node.style.webkitTransition = theme.transitions.create('opacity', transitionProps);\n node.style.transition = theme.transitions.create('opacity', transitionProps);\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n });\n const handleEntered = normalizedTransitionCallback(onEntered);\n const handleExiting = normalizedTransitionCallback(onExiting);\n const handleExit = normalizedTransitionCallback(node => {\n const transitionProps = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'exit'\n });\n node.style.webkitTransition = theme.transitions.create('opacity', transitionProps);\n node.style.transition = theme.transitions.create('opacity', transitionProps);\n if (onExit) {\n onExit(node);\n }\n });\n const handleExited = normalizedTransitionCallback(onExited);\n const handleAddEndListener = next => {\n if (addEndListener) {\n // Old call signature before `react-transition-group` implemented `nodeRef`\n addEndListener(nodeRef.current, next);\n }\n };\n return /*#__PURE__*/_jsx(TransitionComponent, _extends({\n appear: appear,\n in: inProp,\n nodeRef: enableStrictModeCompat ? nodeRef : undefined,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: handleAddEndListener,\n timeout: timeout\n }, other, {\n children: (state, childProps) => {\n return /*#__PURE__*/React.cloneElement(children, _extends({\n style: _extends({\n opacity: 0,\n visibility: state === 'exited' && !inProp ? 'hidden' : undefined\n }, styles[state], style, children.props.style),\n ref: handleRef\n }, childProps));\n }\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Fade.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Add a custom transition end trigger. Called with the transitioning DOM\n * node and a done callback. Allows for more fine grained transition end\n * logic. Note: Timeouts are still used as a fallback if provided.\n */\n addEndListener: PropTypes.func,\n /**\n * Perform the enter transition when it first mounts if `in` is also `true`.\n * Set this to `false` to disable this behavior.\n * @default true\n */\n appear: PropTypes.bool,\n /**\n * A single child content element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * The transition timing function.\n * You may specify a single easing or a object containing enter and exit values.\n */\n easing: PropTypes.oneOfType([PropTypes.shape({\n enter: PropTypes.string,\n exit: PropTypes.string\n }), PropTypes.string]),\n /**\n * If `true`, the component will transition in.\n */\n in: PropTypes.bool,\n /**\n * @ignore\n */\n onEnter: PropTypes.func,\n /**\n * @ignore\n */\n onEntered: PropTypes.func,\n /**\n * @ignore\n */\n onEntering: PropTypes.func,\n /**\n * @ignore\n */\n onExit: PropTypes.func,\n /**\n * @ignore\n */\n onExited: PropTypes.func,\n /**\n * @ignore\n */\n onExiting: PropTypes.func,\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n * @default {\n * enter: theme.transitions.duration.enteringScreen,\n * exit: theme.transitions.duration.leavingScreen,\n * }\n */\n timeout: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nexport default Fade;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getBackdropUtilityClass(slot) {\n return generateUtilityClass('MuiBackdrop', slot);\n}\nconst backdropClasses = generateUtilityClasses('MuiBackdrop', ['root', 'invisible']);\nexport default backdropClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"component\", \"components\", \"componentsProps\", \"invisible\", \"open\", \"slotProps\", \"slots\", \"TransitionComponent\", \"transitionDuration\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport Fade from '../Fade';\nimport { getBackdropUtilityClass } from './backdropClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n invisible\n } = ownerState;\n const slots = {\n root: ['root', invisible && 'invisible']\n };\n return composeClasses(slots, getBackdropUtilityClass, classes);\n};\nconst BackdropRoot = styled('div', {\n name: 'MuiBackdrop',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.invisible && styles.invisible];\n }\n})(({\n ownerState\n}) => _extends({\n position: 'fixed',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n right: 0,\n bottom: 0,\n top: 0,\n left: 0,\n backgroundColor: 'rgba(0, 0, 0, 0.5)',\n WebkitTapHighlightColor: 'transparent'\n}, ownerState.invisible && {\n backgroundColor: 'transparent'\n}));\nconst Backdrop = /*#__PURE__*/React.forwardRef(function Backdrop(inProps, ref) {\n var _slotProps$root, _ref, _slots$root;\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiBackdrop'\n });\n const {\n children,\n className,\n component = 'div',\n components = {},\n componentsProps = {},\n invisible = false,\n open,\n slotProps = {},\n slots = {},\n TransitionComponent = Fade,\n transitionDuration\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component,\n invisible\n });\n const classes = useUtilityClasses(ownerState);\n const rootSlotProps = (_slotProps$root = slotProps.root) != null ? _slotProps$root : componentsProps.root;\n return /*#__PURE__*/_jsx(TransitionComponent, _extends({\n in: open,\n timeout: transitionDuration\n }, other, {\n children: /*#__PURE__*/_jsx(BackdropRoot, _extends({\n \"aria-hidden\": true\n }, rootSlotProps, {\n as: (_ref = (_slots$root = slots.root) != null ? _slots$root : components.Root) != null ? _ref : component,\n className: clsx(classes.root, className, rootSlotProps == null ? void 0 : rootSlotProps.className),\n ownerState: _extends({}, ownerState, rootSlotProps == null ? void 0 : rootSlotProps.ownerState),\n classes: classes,\n ref: ref,\n children: children\n }))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Backdrop.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `slotProps` prop.\n * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n root: PropTypes.object\n }),\n /**\n * If `true`, the backdrop is invisible.\n * It can be used when rendering a popover or a custom select component.\n * @default false\n */\n invisible: PropTypes.bool,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n root: PropTypes.object\n }),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `components` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The component used for the transition.\n * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @default Fade\n */\n TransitionComponent: PropTypes.elementType,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nexport default Backdrop;","import { unstable_ownerWindow as ownerWindow, unstable_ownerDocument as ownerDocument, unstable_getScrollbarSize as getScrollbarSize } from '@mui/utils';\n// Is a vertical scrollbar displayed?\nfunction isOverflowing(container) {\n const doc = ownerDocument(container);\n if (doc.body === container) {\n return ownerWindow(container).innerWidth > doc.documentElement.clientWidth;\n }\n return container.scrollHeight > container.clientHeight;\n}\nexport function ariaHidden(element, show) {\n if (show) {\n element.setAttribute('aria-hidden', 'true');\n } else {\n element.removeAttribute('aria-hidden');\n }\n}\nfunction getPaddingRight(element) {\n return parseInt(ownerWindow(element).getComputedStyle(element).paddingRight, 10) || 0;\n}\nfunction isAriaHiddenForbiddenOnElement(element) {\n // The forbidden HTML tags are the ones from ARIA specification that\n // can be children of body and can't have aria-hidden attribute.\n // cf. https://www.w3.org/TR/html-aria/#docconformance\n const forbiddenTagNames = ['TEMPLATE', 'SCRIPT', 'STYLE', 'LINK', 'MAP', 'META', 'NOSCRIPT', 'PICTURE', 'COL', 'COLGROUP', 'PARAM', 'SLOT', 'SOURCE', 'TRACK'];\n const isForbiddenTagName = forbiddenTagNames.indexOf(element.tagName) !== -1;\n const isInputHidden = element.tagName === 'INPUT' && element.getAttribute('type') === 'hidden';\n return isForbiddenTagName || isInputHidden;\n}\nfunction ariaHiddenSiblings(container, mountElement, currentElement, elementsToExclude, show) {\n const blacklist = [mountElement, currentElement, ...elementsToExclude];\n [].forEach.call(container.children, element => {\n const isNotExcludedElement = blacklist.indexOf(element) === -1;\n const isNotForbiddenElement = !isAriaHiddenForbiddenOnElement(element);\n if (isNotExcludedElement && isNotForbiddenElement) {\n ariaHidden(element, show);\n }\n });\n}\nfunction findIndexOf(items, callback) {\n let idx = -1;\n items.some((item, index) => {\n if (callback(item)) {\n idx = index;\n return true;\n }\n return false;\n });\n return idx;\n}\nfunction handleContainer(containerInfo, props) {\n const restoreStyle = [];\n const container = containerInfo.container;\n if (!props.disableScrollLock) {\n if (isOverflowing(container)) {\n // Compute the size before applying overflow hidden to avoid any scroll jumps.\n const scrollbarSize = getScrollbarSize(ownerDocument(container));\n restoreStyle.push({\n value: container.style.paddingRight,\n property: 'padding-right',\n el: container\n });\n // Use computed style, here to get the real padding to add our scrollbar width.\n container.style.paddingRight = `${getPaddingRight(container) + scrollbarSize}px`;\n\n // .mui-fixed is a global helper.\n const fixedElements = ownerDocument(container).querySelectorAll('.mui-fixed');\n [].forEach.call(fixedElements, element => {\n restoreStyle.push({\n value: element.style.paddingRight,\n property: 'padding-right',\n el: element\n });\n element.style.paddingRight = `${getPaddingRight(element) + scrollbarSize}px`;\n });\n }\n let scrollContainer;\n if (container.parentNode instanceof DocumentFragment) {\n scrollContainer = ownerDocument(container).body;\n } else {\n // Support html overflow-y: auto for scroll stability between pages\n // https://css-tricks.com/snippets/css/force-vertical-scrollbar/\n const parent = container.parentElement;\n const containerWindow = ownerWindow(container);\n scrollContainer = (parent == null ? void 0 : parent.nodeName) === 'HTML' && containerWindow.getComputedStyle(parent).overflowY === 'scroll' ? parent : container;\n }\n\n // Block the scroll even if no scrollbar is visible to account for mobile keyboard\n // screensize shrink.\n restoreStyle.push({\n value: scrollContainer.style.overflow,\n property: 'overflow',\n el: scrollContainer\n }, {\n value: scrollContainer.style.overflowX,\n property: 'overflow-x',\n el: scrollContainer\n }, {\n value: scrollContainer.style.overflowY,\n property: 'overflow-y',\n el: scrollContainer\n });\n scrollContainer.style.overflow = 'hidden';\n }\n const restore = () => {\n restoreStyle.forEach(({\n value,\n el,\n property\n }) => {\n if (value) {\n el.style.setProperty(property, value);\n } else {\n el.style.removeProperty(property);\n }\n });\n };\n return restore;\n}\nfunction getHiddenSiblings(container) {\n const hiddenSiblings = [];\n [].forEach.call(container.children, element => {\n if (element.getAttribute('aria-hidden') === 'true') {\n hiddenSiblings.push(element);\n }\n });\n return hiddenSiblings;\n}\n/**\n * @ignore - do not document.\n *\n * Proper state management for containers and the modals in those containers.\n * Simplified, but inspired by react-overlay's ModalManager class.\n * Used by the Modal to ensure proper styling of containers.\n */\nexport class ModalManager {\n constructor() {\n this.containers = void 0;\n this.modals = void 0;\n this.modals = [];\n this.containers = [];\n }\n add(modal, container) {\n let modalIndex = this.modals.indexOf(modal);\n if (modalIndex !== -1) {\n return modalIndex;\n }\n modalIndex = this.modals.length;\n this.modals.push(modal);\n\n // If the modal we are adding is already in the DOM.\n if (modal.modalRef) {\n ariaHidden(modal.modalRef, false);\n }\n const hiddenSiblings = getHiddenSiblings(container);\n ariaHiddenSiblings(container, modal.mount, modal.modalRef, hiddenSiblings, true);\n const containerIndex = findIndexOf(this.containers, item => item.container === container);\n if (containerIndex !== -1) {\n this.containers[containerIndex].modals.push(modal);\n return modalIndex;\n }\n this.containers.push({\n modals: [modal],\n container,\n restore: null,\n hiddenSiblings\n });\n return modalIndex;\n }\n mount(modal, props) {\n const containerIndex = findIndexOf(this.containers, item => item.modals.indexOf(modal) !== -1);\n const containerInfo = this.containers[containerIndex];\n if (!containerInfo.restore) {\n containerInfo.restore = handleContainer(containerInfo, props);\n }\n }\n remove(modal, ariaHiddenState = true) {\n const modalIndex = this.modals.indexOf(modal);\n if (modalIndex === -1) {\n return modalIndex;\n }\n const containerIndex = findIndexOf(this.containers, item => item.modals.indexOf(modal) !== -1);\n const containerInfo = this.containers[containerIndex];\n containerInfo.modals.splice(containerInfo.modals.indexOf(modal), 1);\n this.modals.splice(modalIndex, 1);\n\n // If that was the last modal in a container, clean up the container.\n if (containerInfo.modals.length === 0) {\n // The modal might be closed before it had the chance to be mounted in the DOM.\n if (containerInfo.restore) {\n containerInfo.restore();\n }\n if (modal.modalRef) {\n // In case the modal wasn't in the DOM yet.\n ariaHidden(modal.modalRef, ariaHiddenState);\n }\n ariaHiddenSiblings(containerInfo.container, modal.mount, modal.modalRef, containerInfo.hiddenSiblings, false);\n this.containers.splice(containerIndex, 1);\n } else {\n // Otherwise make sure the next top modal is visible to a screen reader.\n const nextTop = containerInfo.modals[containerInfo.modals.length - 1];\n // as soon as a modal is adding its modalRef is undefined. it can't set\n // aria-hidden because the dom element doesn't exist either\n // when modal was unmounted before modalRef gets null\n if (nextTop.modalRef) {\n ariaHidden(nextTop.modalRef, false);\n }\n }\n return modalIndex;\n }\n isTopModal(modal) {\n return this.modals.length > 0 && this.modals[this.modals.length - 1] === modal;\n }\n}","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { unstable_ownerDocument as ownerDocument, unstable_useForkRef as useForkRef, unstable_useEventCallback as useEventCallback, unstable_createChainedFunction as createChainedFunction } from '@mui/utils';\nimport extractEventHandlers from '@mui/utils/extractEventHandlers';\nimport { ModalManager, ariaHidden } from './ModalManager';\nfunction getContainer(container) {\n return typeof container === 'function' ? container() : container;\n}\nfunction getHasTransition(children) {\n return children ? children.props.hasOwnProperty('in') : false;\n}\n\n// A modal manager used to track and manage the state of open Modals.\n// Modals don't open on the server so this won't conflict with concurrent requests.\nconst defaultManager = new ModalManager();\n/**\n *\n * Demos:\n *\n * - [Modal](https://mui.com/base-ui/react-modal/#hook)\n *\n * API:\n *\n * - [useModal API](https://mui.com/base-ui/react-modal/hooks-api/#use-modal)\n */\nfunction useModal(parameters) {\n const {\n container,\n disableEscapeKeyDown = false,\n disableScrollLock = false,\n // @ts-ignore internal logic - Base UI supports the manager as a prop too\n manager = defaultManager,\n closeAfterTransition = false,\n onTransitionEnter,\n onTransitionExited,\n children,\n onClose,\n open,\n rootRef\n } = parameters;\n\n // @ts-ignore internal logic\n const modal = React.useRef({});\n const mountNodeRef = React.useRef(null);\n const modalRef = React.useRef(null);\n const handleRef = useForkRef(modalRef, rootRef);\n const [exited, setExited] = React.useState(!open);\n const hasTransition = getHasTransition(children);\n let ariaHiddenProp = true;\n if (parameters['aria-hidden'] === 'false' || parameters['aria-hidden'] === false) {\n ariaHiddenProp = false;\n }\n const getDoc = () => ownerDocument(mountNodeRef.current);\n const getModal = () => {\n modal.current.modalRef = modalRef.current;\n modal.current.mount = mountNodeRef.current;\n return modal.current;\n };\n const handleMounted = () => {\n manager.mount(getModal(), {\n disableScrollLock\n });\n\n // Fix a bug on Chrome where the scroll isn't initially 0.\n if (modalRef.current) {\n modalRef.current.scrollTop = 0;\n }\n };\n const handleOpen = useEventCallback(() => {\n const resolvedContainer = getContainer(container) || getDoc().body;\n manager.add(getModal(), resolvedContainer);\n\n // The element was already mounted.\n if (modalRef.current) {\n handleMounted();\n }\n });\n const isTopModal = React.useCallback(() => manager.isTopModal(getModal()), [manager]);\n const handlePortalRef = useEventCallback(node => {\n mountNodeRef.current = node;\n if (!node) {\n return;\n }\n if (open && isTopModal()) {\n handleMounted();\n } else if (modalRef.current) {\n ariaHidden(modalRef.current, ariaHiddenProp);\n }\n });\n const handleClose = React.useCallback(() => {\n manager.remove(getModal(), ariaHiddenProp);\n }, [ariaHiddenProp, manager]);\n React.useEffect(() => {\n return () => {\n handleClose();\n };\n }, [handleClose]);\n React.useEffect(() => {\n if (open) {\n handleOpen();\n } else if (!hasTransition || !closeAfterTransition) {\n handleClose();\n }\n }, [open, handleClose, hasTransition, closeAfterTransition, handleOpen]);\n const createHandleKeyDown = otherHandlers => event => {\n var _otherHandlers$onKeyD;\n (_otherHandlers$onKeyD = otherHandlers.onKeyDown) == null || _otherHandlers$onKeyD.call(otherHandlers, event);\n\n // The handler doesn't take event.defaultPrevented into account:\n //\n // event.preventDefault() is meant to stop default behaviors like\n // clicking a checkbox to check it, hitting a button to submit a form,\n // and hitting left arrow to move the cursor in a text input etc.\n // Only special HTML elements have these default behaviors.\n if (event.key !== 'Escape' || event.which === 229 ||\n // Wait until IME is settled.\n !isTopModal()) {\n return;\n }\n if (!disableEscapeKeyDown) {\n // Swallow the event, in case someone is listening for the escape key on the body.\n event.stopPropagation();\n if (onClose) {\n onClose(event, 'escapeKeyDown');\n }\n }\n };\n const createHandleBackdropClick = otherHandlers => event => {\n var _otherHandlers$onClic;\n (_otherHandlers$onClic = otherHandlers.onClick) == null || _otherHandlers$onClic.call(otherHandlers, event);\n if (event.target !== event.currentTarget) {\n return;\n }\n if (onClose) {\n onClose(event, 'backdropClick');\n }\n };\n const getRootProps = (otherHandlers = {}) => {\n const propsEventHandlers = extractEventHandlers(parameters);\n\n // The custom event handlers shouldn't be spread on the root element\n delete propsEventHandlers.onTransitionEnter;\n delete propsEventHandlers.onTransitionExited;\n const externalEventHandlers = _extends({}, propsEventHandlers, otherHandlers);\n return _extends({\n role: 'presentation'\n }, externalEventHandlers, {\n onKeyDown: createHandleKeyDown(externalEventHandlers),\n ref: handleRef\n });\n };\n const getBackdropProps = (otherHandlers = {}) => {\n const externalEventHandlers = otherHandlers;\n return _extends({\n 'aria-hidden': true\n }, externalEventHandlers, {\n onClick: createHandleBackdropClick(externalEventHandlers),\n open\n });\n };\n const getTransitionProps = () => {\n const handleEnter = () => {\n setExited(false);\n if (onTransitionEnter) {\n onTransitionEnter();\n }\n };\n const handleExited = () => {\n setExited(true);\n if (onTransitionExited) {\n onTransitionExited();\n }\n if (closeAfterTransition) {\n handleClose();\n }\n };\n return {\n onEnter: createChainedFunction(handleEnter, children == null ? void 0 : children.props.onEnter),\n onExited: createChainedFunction(handleExited, children == null ? void 0 : children.props.onExited)\n };\n };\n return {\n getRootProps,\n getBackdropProps,\n getTransitionProps,\n rootRef: handleRef,\n portalRef: handlePortalRef,\n isTopModal,\n exited,\n hasTransition\n };\n}\nexport default useModal;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getModalUtilityClass(slot) {\n return generateUtilityClass('MuiModal', slot);\n}\nconst modalClasses = generateUtilityClasses('MuiModal', ['root', 'hidden', 'backdrop']);\nexport default modalClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"BackdropComponent\", \"BackdropProps\", \"classes\", \"className\", \"closeAfterTransition\", \"children\", \"container\", \"component\", \"components\", \"componentsProps\", \"disableAutoFocus\", \"disableEnforceFocus\", \"disableEscapeKeyDown\", \"disablePortal\", \"disableRestoreFocus\", \"disableScrollLock\", \"hideBackdrop\", \"keepMounted\", \"onBackdropClick\", \"onClose\", \"onTransitionEnter\", \"onTransitionExited\", \"open\", \"slotProps\", \"slots\", \"theme\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport HTMLElementType from '@mui/utils/HTMLElementType';\nimport elementAcceptingRef from '@mui/utils/elementAcceptingRef';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport FocusTrap from '../Unstable_TrapFocus';\nimport Portal from '../Portal';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport Backdrop from '../Backdrop';\nimport useModal from './useModal';\nimport { getModalUtilityClass } from './modalClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n open,\n exited,\n classes\n } = ownerState;\n const slots = {\n root: ['root', !open && exited && 'hidden'],\n backdrop: ['backdrop']\n };\n return composeClasses(slots, getModalUtilityClass, classes);\n};\nconst ModalRoot = styled('div', {\n name: 'MuiModal',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.open && ownerState.exited && styles.hidden];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'fixed',\n zIndex: (theme.vars || theme).zIndex.modal,\n right: 0,\n bottom: 0,\n top: 0,\n left: 0\n}, !ownerState.open && ownerState.exited && {\n visibility: 'hidden'\n}));\nconst ModalBackdrop = styled(Backdrop, {\n name: 'MuiModal',\n slot: 'Backdrop',\n overridesResolver: (props, styles) => {\n return styles.backdrop;\n }\n})({\n zIndex: -1\n});\n\n/**\n * Modal is a lower-level construct that is leveraged by the following components:\n *\n * - [Dialog](/material-ui/api/dialog/)\n * - [Drawer](/material-ui/api/drawer/)\n * - [Menu](/material-ui/api/menu/)\n * - [Popover](/material-ui/api/popover/)\n *\n * If you are creating a modal dialog, you probably want to use the [Dialog](/material-ui/api/dialog/) component\n * rather than directly using Modal.\n *\n * This component shares many concepts with [react-overlays](https://react-bootstrap.github.io/react-overlays/#modals).\n */\nconst Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {\n var _ref, _slots$root, _ref2, _slots$backdrop, _slotProps$root, _slotProps$backdrop;\n const props = useDefaultProps({\n name: 'MuiModal',\n props: inProps\n });\n const {\n BackdropComponent = ModalBackdrop,\n BackdropProps,\n className,\n closeAfterTransition = false,\n children,\n container,\n component,\n components = {},\n componentsProps = {},\n disableAutoFocus = false,\n disableEnforceFocus = false,\n disableEscapeKeyDown = false,\n disablePortal = false,\n disableRestoreFocus = false,\n disableScrollLock = false,\n hideBackdrop = false,\n keepMounted = false,\n onBackdropClick,\n open,\n slotProps,\n slots\n // eslint-disable-next-line react/prop-types\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const propsWithDefaults = _extends({}, props, {\n closeAfterTransition,\n disableAutoFocus,\n disableEnforceFocus,\n disableEscapeKeyDown,\n disablePortal,\n disableRestoreFocus,\n disableScrollLock,\n hideBackdrop,\n keepMounted\n });\n const {\n getRootProps,\n getBackdropProps,\n getTransitionProps,\n portalRef,\n isTopModal,\n exited,\n hasTransition\n } = useModal(_extends({}, propsWithDefaults, {\n rootRef: ref\n }));\n const ownerState = _extends({}, propsWithDefaults, {\n exited\n });\n const classes = useUtilityClasses(ownerState);\n const childProps = {};\n if (children.props.tabIndex === undefined) {\n childProps.tabIndex = '-1';\n }\n\n // It's a Transition like component\n if (hasTransition) {\n const {\n onEnter,\n onExited\n } = getTransitionProps();\n childProps.onEnter = onEnter;\n childProps.onExited = onExited;\n }\n const RootSlot = (_ref = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : components.Root) != null ? _ref : ModalRoot;\n const BackdropSlot = (_ref2 = (_slots$backdrop = slots == null ? void 0 : slots.backdrop) != null ? _slots$backdrop : components.Backdrop) != null ? _ref2 : BackdropComponent;\n const rootSlotProps = (_slotProps$root = slotProps == null ? void 0 : slotProps.root) != null ? _slotProps$root : componentsProps.root;\n const backdropSlotProps = (_slotProps$backdrop = slotProps == null ? void 0 : slotProps.backdrop) != null ? _slotProps$backdrop : componentsProps.backdrop;\n const rootProps = useSlotProps({\n elementType: RootSlot,\n externalSlotProps: rootSlotProps,\n externalForwardedProps: other,\n getSlotProps: getRootProps,\n additionalProps: {\n ref,\n as: component\n },\n ownerState,\n className: clsx(className, rootSlotProps == null ? void 0 : rootSlotProps.className, classes == null ? void 0 : classes.root, !ownerState.open && ownerState.exited && (classes == null ? void 0 : classes.hidden))\n });\n const backdropProps = useSlotProps({\n elementType: BackdropSlot,\n externalSlotProps: backdropSlotProps,\n additionalProps: BackdropProps,\n getSlotProps: otherHandlers => {\n return getBackdropProps(_extends({}, otherHandlers, {\n onClick: e => {\n if (onBackdropClick) {\n onBackdropClick(e);\n }\n if (otherHandlers != null && otherHandlers.onClick) {\n otherHandlers.onClick(e);\n }\n }\n }));\n },\n className: clsx(backdropSlotProps == null ? void 0 : backdropSlotProps.className, BackdropProps == null ? void 0 : BackdropProps.className, classes == null ? void 0 : classes.backdrop),\n ownerState\n });\n if (!keepMounted && !open && (!hasTransition || exited)) {\n return null;\n }\n return /*#__PURE__*/_jsx(Portal, {\n ref: portalRef,\n container: container,\n disablePortal: disablePortal,\n children: /*#__PURE__*/_jsxs(RootSlot, _extends({}, rootProps, {\n children: [!hideBackdrop && BackdropComponent ? /*#__PURE__*/_jsx(BackdropSlot, _extends({}, backdropProps)) : null, /*#__PURE__*/_jsx(FocusTrap, {\n disableEnforceFocus: disableEnforceFocus,\n disableAutoFocus: disableAutoFocus,\n disableRestoreFocus: disableRestoreFocus,\n isEnabled: isTopModal,\n open: open,\n children: /*#__PURE__*/React.cloneElement(children, childProps)\n })]\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Modal.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * A backdrop component. This prop enables custom backdrop rendering.\n * @deprecated Use `slots.backdrop` instead. While this prop currently works, it will be removed in the next major version.\n * Use the `slots.backdrop` prop to make your application ready for the next version of Material UI.\n * @default styled(Backdrop, {\n * name: 'MuiModal',\n * slot: 'Backdrop',\n * overridesResolver: (props, styles) => {\n * return styles.backdrop;\n * },\n * })({\n * zIndex: -1,\n * })\n */\n BackdropComponent: PropTypes.elementType,\n /**\n * Props applied to the [`Backdrop`](/material-ui/api/backdrop/) element.\n * @deprecated Use `slotProps.backdrop` instead.\n */\n BackdropProps: PropTypes.object,\n /**\n * A single child content element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * When set to true the Modal waits until a nested Transition is completed before closing.\n * @default false\n */\n closeAfterTransition: PropTypes.bool,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Backdrop: PropTypes.elementType,\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `slotProps` prop.\n * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n backdrop: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * An HTML element or function that returns one.\n * The `container` will have the portal children appended to it.\n *\n * You can also provide a callback, which is called in a React layout effect.\n * This lets you set the container from a ref, and also makes server-side rendering possible.\n *\n * By default, it uses the body of the top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * If `true`, the modal will not automatically shift focus to itself when it opens, and\n * replace it to the last focused element when it closes.\n * This also works correctly with any modal children that have the `disableAutoFocus` prop.\n *\n * Generally this should never be set to `true` as it makes the modal less\n * accessible to assistive technologies, like screen readers.\n * @default false\n */\n disableAutoFocus: PropTypes.bool,\n /**\n * If `true`, the modal will not prevent focus from leaving the modal while open.\n *\n * Generally this should never be set to `true` as it makes the modal less\n * accessible to assistive technologies, like screen readers.\n * @default false\n */\n disableEnforceFocus: PropTypes.bool,\n /**\n * If `true`, hitting escape will not fire the `onClose` callback.\n * @default false\n */\n disableEscapeKeyDown: PropTypes.bool,\n /**\n * The `children` will be under the DOM hierarchy of the parent component.\n * @default false\n */\n disablePortal: PropTypes.bool,\n /**\n * If `true`, the modal will not restore focus to previously focused element once\n * modal is hidden or unmounted.\n * @default false\n */\n disableRestoreFocus: PropTypes.bool,\n /**\n * Disable the scroll lock behavior.\n * @default false\n */\n disableScrollLock: PropTypes.bool,\n /**\n * If `true`, the backdrop is not rendered.\n * @default false\n */\n hideBackdrop: PropTypes.bool,\n /**\n * Always keep the children in the DOM.\n * This prop can be useful in SEO situation or\n * when you want to maximize the responsiveness of the Modal.\n * @default false\n */\n keepMounted: PropTypes.bool,\n /**\n * Callback fired when the backdrop is clicked.\n * @deprecated Use the `onClose` prop with the `reason` argument to handle the `backdropClick` events.\n */\n onBackdropClick: PropTypes.func,\n /**\n * Callback fired when the component requests to be closed.\n * The `reason` parameter can optionally be used to control the response to `onClose`.\n *\n * @param {object} event The event source of the callback.\n * @param {string} reason Can be: `\"escapeKeyDown\"`, `\"backdropClick\"`.\n */\n onClose: PropTypes.func,\n /**\n * A function called when a transition enters.\n */\n onTransitionEnter: PropTypes.func,\n /**\n * A function called when a transition has exited.\n */\n onTransitionExited: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * The props used for each slot inside the Modal.\n * @default {}\n */\n slotProps: PropTypes.shape({\n backdrop: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside the Modal.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n slots: PropTypes.shape({\n backdrop: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Modal;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getPopoverUtilityClass(slot) {\n return generateUtilityClass('MuiPopover', slot);\n}\nconst popoverClasses = generateUtilityClasses('MuiPopover', ['root', 'paper']);\nexport default popoverClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"onEntering\"],\n _excluded2 = [\"action\", \"anchorEl\", \"anchorOrigin\", \"anchorPosition\", \"anchorReference\", \"children\", \"className\", \"container\", \"elevation\", \"marginThreshold\", \"open\", \"PaperProps\", \"slots\", \"slotProps\", \"transformOrigin\", \"TransitionComponent\", \"transitionDuration\", \"TransitionProps\", \"disableScrollLock\"],\n _excluded3 = [\"slotProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport HTMLElementType from '@mui/utils/HTMLElementType';\nimport refType from '@mui/utils/refType';\nimport elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';\nimport integerPropType from '@mui/utils/integerPropType';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport isHostComponent from '@mui/utils/isHostComponent';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport debounce from '../utils/debounce';\nimport ownerDocument from '../utils/ownerDocument';\nimport ownerWindow from '../utils/ownerWindow';\nimport useForkRef from '../utils/useForkRef';\nimport Grow from '../Grow';\nimport Modal from '../Modal';\nimport PaperBase from '../Paper';\nimport { getPopoverUtilityClass } from './popoverClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function getOffsetTop(rect, vertical) {\n let offset = 0;\n if (typeof vertical === 'number') {\n offset = vertical;\n } else if (vertical === 'center') {\n offset = rect.height / 2;\n } else if (vertical === 'bottom') {\n offset = rect.height;\n }\n return offset;\n}\nexport function getOffsetLeft(rect, horizontal) {\n let offset = 0;\n if (typeof horizontal === 'number') {\n offset = horizontal;\n } else if (horizontal === 'center') {\n offset = rect.width / 2;\n } else if (horizontal === 'right') {\n offset = rect.width;\n }\n return offset;\n}\nfunction getTransformOriginValue(transformOrigin) {\n return [transformOrigin.horizontal, transformOrigin.vertical].map(n => typeof n === 'number' ? `${n}px` : n).join(' ');\n}\nfunction resolveAnchorEl(anchorEl) {\n return typeof anchorEl === 'function' ? anchorEl() : anchorEl;\n}\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n paper: ['paper']\n };\n return composeClasses(slots, getPopoverUtilityClass, classes);\n};\nexport const PopoverRoot = styled(Modal, {\n name: 'MuiPopover',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nexport const PopoverPaper = styled(PaperBase, {\n name: 'MuiPopover',\n slot: 'Paper',\n overridesResolver: (props, styles) => styles.paper\n})({\n position: 'absolute',\n overflowY: 'auto',\n overflowX: 'hidden',\n // So we see the popover when it's empty.\n // It's most likely on issue on userland.\n minWidth: 16,\n minHeight: 16,\n maxWidth: 'calc(100% - 32px)',\n maxHeight: 'calc(100% - 32px)',\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0\n});\nconst Popover = /*#__PURE__*/React.forwardRef(function Popover(inProps, ref) {\n var _slotProps$paper, _slots$root, _slots$paper;\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiPopover'\n });\n const {\n action,\n anchorEl,\n anchorOrigin = {\n vertical: 'top',\n horizontal: 'left'\n },\n anchorPosition,\n anchorReference = 'anchorEl',\n children,\n className,\n container: containerProp,\n elevation = 8,\n marginThreshold = 16,\n open,\n PaperProps: PaperPropsProp = {},\n slots,\n slotProps,\n transformOrigin = {\n vertical: 'top',\n horizontal: 'left'\n },\n TransitionComponent = Grow,\n transitionDuration: transitionDurationProp = 'auto',\n TransitionProps: {\n onEntering\n } = {},\n disableScrollLock = false\n } = props,\n TransitionProps = _objectWithoutPropertiesLoose(props.TransitionProps, _excluded),\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n const externalPaperSlotProps = (_slotProps$paper = slotProps == null ? void 0 : slotProps.paper) != null ? _slotProps$paper : PaperPropsProp;\n const paperRef = React.useRef();\n const handlePaperRef = useForkRef(paperRef, externalPaperSlotProps.ref);\n const ownerState = _extends({}, props, {\n anchorOrigin,\n anchorReference,\n elevation,\n marginThreshold,\n externalPaperSlotProps,\n transformOrigin,\n TransitionComponent,\n transitionDuration: transitionDurationProp,\n TransitionProps\n });\n const classes = useUtilityClasses(ownerState);\n\n // Returns the top/left offset of the position\n // to attach to on the anchor element (or body if none is provided)\n const getAnchorOffset = React.useCallback(() => {\n if (anchorReference === 'anchorPosition') {\n if (process.env.NODE_ENV !== 'production') {\n if (!anchorPosition) {\n console.error('MUI: You need to provide a `anchorPosition` prop when using ' + '<Popover anchorReference=\"anchorPosition\" />.');\n }\n }\n return anchorPosition;\n }\n const resolvedAnchorEl = resolveAnchorEl(anchorEl);\n\n // If an anchor element wasn't provided, just use the parent body element of this Popover\n const anchorElement = resolvedAnchorEl && resolvedAnchorEl.nodeType === 1 ? resolvedAnchorEl : ownerDocument(paperRef.current).body;\n const anchorRect = anchorElement.getBoundingClientRect();\n if (process.env.NODE_ENV !== 'production') {\n const box = anchorElement.getBoundingClientRect();\n if (process.env.NODE_ENV !== 'test' && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n console.warn(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', \"Make sure the element is present in the document or that it's not display none.\"].join('\\n'));\n }\n }\n return {\n top: anchorRect.top + getOffsetTop(anchorRect, anchorOrigin.vertical),\n left: anchorRect.left + getOffsetLeft(anchorRect, anchorOrigin.horizontal)\n };\n }, [anchorEl, anchorOrigin.horizontal, anchorOrigin.vertical, anchorPosition, anchorReference]);\n\n // Returns the base transform origin using the element\n const getTransformOrigin = React.useCallback(elemRect => {\n return {\n vertical: getOffsetTop(elemRect, transformOrigin.vertical),\n horizontal: getOffsetLeft(elemRect, transformOrigin.horizontal)\n };\n }, [transformOrigin.horizontal, transformOrigin.vertical]);\n const getPositioningStyle = React.useCallback(element => {\n const elemRect = {\n width: element.offsetWidth,\n height: element.offsetHeight\n };\n\n // Get the transform origin point on the element itself\n const elemTransformOrigin = getTransformOrigin(elemRect);\n if (anchorReference === 'none') {\n return {\n top: null,\n left: null,\n transformOrigin: getTransformOriginValue(elemTransformOrigin)\n };\n }\n\n // Get the offset of the anchoring element\n const anchorOffset = getAnchorOffset();\n\n // Calculate element positioning\n let top = anchorOffset.top - elemTransformOrigin.vertical;\n let left = anchorOffset.left - elemTransformOrigin.horizontal;\n const bottom = top + elemRect.height;\n const right = left + elemRect.width;\n\n // Use the parent window of the anchorEl if provided\n const containerWindow = ownerWindow(resolveAnchorEl(anchorEl));\n\n // Window thresholds taking required margin into account\n const heightThreshold = containerWindow.innerHeight - marginThreshold;\n const widthThreshold = containerWindow.innerWidth - marginThreshold;\n\n // Check if the vertical axis needs shifting\n if (marginThreshold !== null && top < marginThreshold) {\n const diff = top - marginThreshold;\n top -= diff;\n elemTransformOrigin.vertical += diff;\n } else if (marginThreshold !== null && bottom > heightThreshold) {\n const diff = bottom - heightThreshold;\n top -= diff;\n elemTransformOrigin.vertical += diff;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (elemRect.height > heightThreshold && elemRect.height && heightThreshold) {\n console.error(['MUI: The popover component is too tall.', `Some part of it can not be seen on the screen (${elemRect.height - heightThreshold}px).`, 'Please consider adding a `max-height` to improve the user-experience.'].join('\\n'));\n }\n }\n\n // Check if the horizontal axis needs shifting\n if (marginThreshold !== null && left < marginThreshold) {\n const diff = left - marginThreshold;\n left -= diff;\n elemTransformOrigin.horizontal += diff;\n } else if (right > widthThreshold) {\n const diff = right - widthThreshold;\n left -= diff;\n elemTransformOrigin.horizontal += diff;\n }\n return {\n top: `${Math.round(top)}px`,\n left: `${Math.round(left)}px`,\n transformOrigin: getTransformOriginValue(elemTransformOrigin)\n };\n }, [anchorEl, anchorReference, getAnchorOffset, getTransformOrigin, marginThreshold]);\n const [isPositioned, setIsPositioned] = React.useState(open);\n const setPositioningStyles = React.useCallback(() => {\n const element = paperRef.current;\n if (!element) {\n return;\n }\n const positioning = getPositioningStyle(element);\n if (positioning.top !== null) {\n element.style.top = positioning.top;\n }\n if (positioning.left !== null) {\n element.style.left = positioning.left;\n }\n element.style.transformOrigin = positioning.transformOrigin;\n setIsPositioned(true);\n }, [getPositioningStyle]);\n React.useEffect(() => {\n if (disableScrollLock) {\n window.addEventListener('scroll', setPositioningStyles);\n }\n return () => window.removeEventListener('scroll', setPositioningStyles);\n }, [anchorEl, disableScrollLock, setPositioningStyles]);\n const handleEntering = (element, isAppearing) => {\n if (onEntering) {\n onEntering(element, isAppearing);\n }\n setPositioningStyles();\n };\n const handleExited = () => {\n setIsPositioned(false);\n };\n React.useEffect(() => {\n if (open) {\n setPositioningStyles();\n }\n });\n React.useImperativeHandle(action, () => open ? {\n updatePosition: () => {\n setPositioningStyles();\n }\n } : null, [open, setPositioningStyles]);\n React.useEffect(() => {\n if (!open) {\n return undefined;\n }\n const handleResize = debounce(() => {\n setPositioningStyles();\n });\n const containerWindow = ownerWindow(anchorEl);\n containerWindow.addEventListener('resize', handleResize);\n return () => {\n handleResize.clear();\n containerWindow.removeEventListener('resize', handleResize);\n };\n }, [anchorEl, open, setPositioningStyles]);\n let transitionDuration = transitionDurationProp;\n if (transitionDurationProp === 'auto' && !TransitionComponent.muiSupportAuto) {\n transitionDuration = undefined;\n }\n\n // If the container prop is provided, use that\n // If the anchorEl prop is provided, use its parent body element as the container\n // If neither are provided let the Modal take care of choosing the container\n const container = containerProp || (anchorEl ? ownerDocument(resolveAnchorEl(anchorEl)).body : undefined);\n const RootSlot = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : PopoverRoot;\n const PaperSlot = (_slots$paper = slots == null ? void 0 : slots.paper) != null ? _slots$paper : PopoverPaper;\n const paperProps = useSlotProps({\n elementType: PaperSlot,\n externalSlotProps: _extends({}, externalPaperSlotProps, {\n style: isPositioned ? externalPaperSlotProps.style : _extends({}, externalPaperSlotProps.style, {\n opacity: 0\n })\n }),\n additionalProps: {\n elevation,\n ref: handlePaperRef\n },\n ownerState,\n className: clsx(classes.paper, externalPaperSlotProps == null ? void 0 : externalPaperSlotProps.className)\n });\n const _useSlotProps = useSlotProps({\n elementType: RootSlot,\n externalSlotProps: (slotProps == null ? void 0 : slotProps.root) || {},\n externalForwardedProps: other,\n additionalProps: {\n ref,\n slotProps: {\n backdrop: {\n invisible: true\n }\n },\n container,\n open\n },\n ownerState,\n className: clsx(classes.root, className)\n }),\n {\n slotProps: rootSlotPropsProp\n } = _useSlotProps,\n rootProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded3);\n return /*#__PURE__*/_jsx(RootSlot, _extends({}, rootProps, !isHostComponent(RootSlot) && {\n slotProps: rootSlotPropsProp,\n disableScrollLock\n }, {\n children: /*#__PURE__*/_jsx(TransitionComponent, _extends({\n appear: true,\n in: open,\n onEntering: handleEntering,\n onExited: handleExited,\n timeout: transitionDuration\n }, TransitionProps, {\n children: /*#__PURE__*/_jsx(PaperSlot, _extends({}, paperProps, {\n children: children\n }))\n }))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Popover.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * A ref for imperative actions.\n * It currently only supports updatePosition() action.\n */\n action: refType,\n /**\n * An HTML element, [PopoverVirtualElement](/material-ui/react-popover/#virtual-element),\n * or a function that returns either.\n * It's used to set the position of the popover.\n */\n anchorEl: chainPropTypes(PropTypes.oneOfType([HTMLElementType, PropTypes.func]), props => {\n if (props.open && (!props.anchorReference || props.anchorReference === 'anchorEl')) {\n const resolvedAnchorEl = resolveAnchorEl(props.anchorEl);\n if (resolvedAnchorEl && resolvedAnchorEl.nodeType === 1) {\n const box = resolvedAnchorEl.getBoundingClientRect();\n if (process.env.NODE_ENV !== 'test' && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n return new Error(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', \"Make sure the element is present in the document or that it's not display none.\"].join('\\n'));\n }\n } else {\n return new Error(['MUI: The `anchorEl` prop provided to the component is invalid.', `It should be an Element or PopoverVirtualElement instance but it's \\`${resolvedAnchorEl}\\` instead.`].join('\\n'));\n }\n }\n return null;\n }),\n /**\n * This is the point on the anchor where the popover's\n * `anchorEl` will attach to. This is not used when the\n * anchorReference is 'anchorPosition'.\n *\n * Options:\n * vertical: [top, center, bottom];\n * horizontal: [left, center, right].\n * @default {\n * vertical: 'top',\n * horizontal: 'left',\n * }\n */\n anchorOrigin: PropTypes.shape({\n horizontal: PropTypes.oneOfType([PropTypes.oneOf(['center', 'left', 'right']), PropTypes.number]).isRequired,\n vertical: PropTypes.oneOfType([PropTypes.oneOf(['bottom', 'center', 'top']), PropTypes.number]).isRequired\n }),\n /**\n * This is the position that may be used to set the position of the popover.\n * The coordinates are relative to the application's client area.\n */\n anchorPosition: PropTypes.shape({\n left: PropTypes.number.isRequired,\n top: PropTypes.number.isRequired\n }),\n /**\n * This determines which anchor prop to refer to when setting\n * the position of the popover.\n * @default 'anchorEl'\n */\n anchorReference: PropTypes.oneOf(['anchorEl', 'anchorPosition', 'none']),\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * An HTML element, component instance, or function that returns either.\n * The `container` will passed to the Modal component.\n *\n * By default, it uses the body of the anchorEl's top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * Disable the scroll lock behavior.\n * @default false\n */\n disableScrollLock: PropTypes.bool,\n /**\n * The elevation of the popover.\n * @default 8\n */\n elevation: integerPropType,\n /**\n * Specifies how close to the edge of the window the popover can appear.\n * If null, the popover will not be constrained by the window.\n * @default 16\n */\n marginThreshold: PropTypes.number,\n /**\n * Callback fired when the component requests to be closed.\n * The `reason` parameter can optionally be used to control the response to `onClose`.\n */\n onClose: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * Props applied to the [`Paper`](/material-ui/api/paper/) element.\n *\n * This prop is an alias for `slotProps.paper` and will be overriden by it if both are used.\n * @deprecated Use `slotProps.paper` instead.\n *\n * @default {}\n */\n PaperProps: PropTypes /* @typescript-to-proptypes-ignore */.shape({\n component: elementTypeAcceptingRef\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n paper: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n paper: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * This is the point on the popover which\n * will attach to the anchor's origin.\n *\n * Options:\n * vertical: [top, center, bottom, x(px)];\n * horizontal: [left, center, right, x(px)].\n * @default {\n * vertical: 'top',\n * horizontal: 'left',\n * }\n */\n transformOrigin: PropTypes.shape({\n horizontal: PropTypes.oneOfType([PropTypes.oneOf(['center', 'left', 'right']), PropTypes.number]).isRequired,\n vertical: PropTypes.oneOfType([PropTypes.oneOf(['bottom', 'center', 'top']), PropTypes.number]).isRequired\n }),\n /**\n * The component used for the transition.\n * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @default Grow\n */\n TransitionComponent: PropTypes.elementType,\n /**\n * Set to 'auto' to automatically calculate transition time based on height.\n * @default 'auto'\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.\n * @default {}\n */\n TransitionProps: PropTypes.object\n} : void 0;\nexport default Popover;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getMenuUtilityClass(slot) {\n return generateUtilityClass('MuiMenu', slot);\n}\nconst menuClasses = generateUtilityClasses('MuiMenu', ['root', 'paper', 'list']);\nexport default menuClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"onEntering\"],\n _excluded2 = [\"autoFocus\", \"children\", \"className\", \"disableAutoFocusItem\", \"MenuListProps\", \"onClose\", \"open\", \"PaperProps\", \"PopoverClasses\", \"transitionDuration\", \"TransitionProps\", \"variant\", \"slots\", \"slotProps\"];\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport HTMLElementType from '@mui/utils/HTMLElementType';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport MenuList from '../MenuList';\nimport Popover, { PopoverPaper } from '../Popover';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport { getMenuUtilityClass } from './menuClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst RTL_ORIGIN = {\n vertical: 'top',\n horizontal: 'right'\n};\nconst LTR_ORIGIN = {\n vertical: 'top',\n horizontal: 'left'\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n paper: ['paper'],\n list: ['list']\n };\n return composeClasses(slots, getMenuUtilityClass, classes);\n};\nconst MenuRoot = styled(Popover, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenu',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nexport const MenuPaper = styled(PopoverPaper, {\n name: 'MuiMenu',\n slot: 'Paper',\n overridesResolver: (props, styles) => styles.paper\n})({\n // specZ: The maximum height of a simple menu should be one or more rows less than the view\n // height. This ensures a tappable area outside of the simple menu with which to dismiss\n // the menu.\n maxHeight: 'calc(100% - 96px)',\n // Add iOS momentum scrolling for iOS < 13.0\n WebkitOverflowScrolling: 'touch'\n});\nconst MenuMenuList = styled(MenuList, {\n name: 'MuiMenu',\n slot: 'List',\n overridesResolver: (props, styles) => styles.list\n})({\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0\n});\nconst Menu = /*#__PURE__*/React.forwardRef(function Menu(inProps, ref) {\n var _slots$paper, _slotProps$paper;\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiMenu'\n });\n const {\n autoFocus = true,\n children,\n className,\n disableAutoFocusItem = false,\n MenuListProps = {},\n onClose,\n open,\n PaperProps = {},\n PopoverClasses,\n transitionDuration = 'auto',\n TransitionProps: {\n onEntering\n } = {},\n variant = 'selectedMenu',\n slots = {},\n slotProps = {}\n } = props,\n TransitionProps = _objectWithoutPropertiesLoose(props.TransitionProps, _excluded),\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n const isRtl = useRtl();\n const ownerState = _extends({}, props, {\n autoFocus,\n disableAutoFocusItem,\n MenuListProps,\n onEntering,\n PaperProps,\n transitionDuration,\n TransitionProps,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const autoFocusItem = autoFocus && !disableAutoFocusItem && open;\n const menuListActionsRef = React.useRef(null);\n const handleEntering = (element, isAppearing) => {\n if (menuListActionsRef.current) {\n menuListActionsRef.current.adjustStyleForScrollbar(element, {\n direction: isRtl ? 'rtl' : 'ltr'\n });\n }\n if (onEntering) {\n onEntering(element, isAppearing);\n }\n };\n const handleListKeyDown = event => {\n if (event.key === 'Tab') {\n event.preventDefault();\n if (onClose) {\n onClose(event, 'tabKeyDown');\n }\n }\n };\n\n /**\n * the index of the item should receive focus\n * in a `variant=\"selectedMenu\"` it's the first `selected` item\n * otherwise it's the very first item.\n */\n let activeItemIndex = -1;\n // since we inject focus related props into children we have to do a lookahead\n // to check if there is a `selected` item. We're looking for the last `selected`\n // item and use the first valid item as a fallback\n React.Children.map(children, (child, index) => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"MUI: The Menu component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n if (!child.props.disabled) {\n if (variant === 'selectedMenu' && child.props.selected) {\n activeItemIndex = index;\n } else if (activeItemIndex === -1) {\n activeItemIndex = index;\n }\n }\n });\n const PaperSlot = (_slots$paper = slots.paper) != null ? _slots$paper : MenuPaper;\n const paperExternalSlotProps = (_slotProps$paper = slotProps.paper) != null ? _slotProps$paper : PaperProps;\n const rootSlotProps = useSlotProps({\n elementType: slots.root,\n externalSlotProps: slotProps.root,\n ownerState,\n className: [classes.root, className]\n });\n const paperSlotProps = useSlotProps({\n elementType: PaperSlot,\n externalSlotProps: paperExternalSlotProps,\n ownerState,\n className: classes.paper\n });\n return /*#__PURE__*/_jsx(MenuRoot, _extends({\n onClose: onClose,\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: isRtl ? 'right' : 'left'\n },\n transformOrigin: isRtl ? RTL_ORIGIN : LTR_ORIGIN,\n slots: {\n paper: PaperSlot,\n root: slots.root\n },\n slotProps: {\n root: rootSlotProps,\n paper: paperSlotProps\n },\n open: open,\n ref: ref,\n transitionDuration: transitionDuration,\n TransitionProps: _extends({\n onEntering: handleEntering\n }, TransitionProps),\n ownerState: ownerState\n }, other, {\n classes: PopoverClasses,\n children: /*#__PURE__*/_jsx(MenuMenuList, _extends({\n onKeyDown: handleListKeyDown,\n actions: menuListActionsRef,\n autoFocus: autoFocus && (activeItemIndex === -1 || disableAutoFocusItem),\n autoFocusItem: autoFocusItem,\n variant: variant\n }, MenuListProps, {\n className: clsx(classes.list, MenuListProps.className),\n children: children\n }))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Menu.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * An HTML element, or a function that returns one.\n * It's used to set the position of the menu.\n */\n anchorEl: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * If `true` (Default) will focus the `[role=\"menu\"]` if no focusable child is found. Disabled\n * children are not focusable. If you set this prop to `false` focus will be placed\n * on the parent modal container. This has severe accessibility implications\n * and should only be considered if you manage focus otherwise.\n * @default true\n */\n autoFocus: PropTypes.bool,\n /**\n * Menu contents, normally `MenuItem`s.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * When opening the menu will not focus the active item but the `[role=\"menu\"]`\n * unless `autoFocus` is also set to `false`. Not using the default means not\n * following WAI-ARIA authoring practices. Please be considerate about possible\n * accessibility implications.\n * @default false\n */\n disableAutoFocusItem: PropTypes.bool,\n /**\n * Props applied to the [`MenuList`](/material-ui/api/menu-list/) element.\n * @default {}\n */\n MenuListProps: PropTypes.object,\n /**\n * Callback fired when the component requests to be closed.\n *\n * @param {object} event The event source of the callback.\n * @param {string} reason Can be: `\"escapeKeyDown\"`, `\"backdropClick\"`, `\"tabKeyDown\"`.\n */\n onClose: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * @ignore\n */\n PaperProps: PropTypes.object,\n /**\n * `classes` prop applied to the [`Popover`](/material-ui/api/popover/) element.\n */\n PopoverClasses: PropTypes.object,\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n paper: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n paper: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The length of the transition in `ms`, or 'auto'\n * @default 'auto'\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.\n * @default {}\n */\n TransitionProps: PropTypes.object,\n /**\n * The variant to use. Use `menu` to prevent selected items from impacting the initial focus.\n * @default 'selectedMenu'\n */\n variant: PropTypes.oneOf(['menu', 'selectedMenu'])\n} : void 0;\nexport default Menu;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getNativeSelectUtilityClasses(slot) {\n return generateUtilityClass('MuiNativeSelect', slot);\n}\nconst nativeSelectClasses = generateUtilityClasses('MuiNativeSelect', ['root', 'select', 'multiple', 'filled', 'outlined', 'standard', 'disabled', 'icon', 'iconOpen', 'iconFilled', 'iconOutlined', 'iconStandard', 'nativeInput', 'error']);\nexport default nativeSelectClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disabled\", \"error\", \"IconComponent\", \"inputRef\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from '../utils/capitalize';\nimport nativeSelectClasses, { getNativeSelectUtilityClasses } from './nativeSelectClasses';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n disabled,\n multiple,\n open,\n error\n } = ownerState;\n const slots = {\n select: ['select', variant, disabled && 'disabled', multiple && 'multiple', error && 'error'],\n icon: ['icon', `icon${capitalize(variant)}`, open && 'iconOpen', disabled && 'disabled']\n };\n return composeClasses(slots, getNativeSelectUtilityClasses, classes);\n};\nexport const nativeSelectSelectStyles = ({\n ownerState,\n theme\n}) => _extends({\n MozAppearance: 'none',\n // Reset\n WebkitAppearance: 'none',\n // Reset\n // When interacting quickly, the text can end up selected.\n // Native select can't be selected either.\n userSelect: 'none',\n borderRadius: 0,\n // Reset\n cursor: 'pointer',\n '&:focus': _extends({}, theme.vars ? {\n backgroundColor: `rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.05)`\n } : {\n backgroundColor: theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.05)' : 'rgba(255, 255, 255, 0.05)'\n }, {\n borderRadius: 0 // Reset Chrome style\n }),\n // Remove IE11 arrow\n '&::-ms-expand': {\n display: 'none'\n },\n [`&.${nativeSelectClasses.disabled}`]: {\n cursor: 'default'\n },\n '&[multiple]': {\n height: 'auto'\n },\n '&:not([multiple]) option, &:not([multiple]) optgroup': {\n backgroundColor: (theme.vars || theme).palette.background.paper\n },\n // Bump specificity to allow extending custom inputs\n '&&&': {\n paddingRight: 24,\n minWidth: 16 // So it doesn't collapse.\n }\n}, ownerState.variant === 'filled' && {\n '&&&': {\n paddingRight: 32\n }\n}, ownerState.variant === 'outlined' && {\n borderRadius: (theme.vars || theme).shape.borderRadius,\n '&:focus': {\n borderRadius: (theme.vars || theme).shape.borderRadius // Reset the reset for Chrome style\n },\n '&&&': {\n paddingRight: 32\n }\n});\nconst NativeSelectSelect = styled('select', {\n name: 'MuiNativeSelect',\n slot: 'Select',\n shouldForwardProp: rootShouldForwardProp,\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.select, styles[ownerState.variant], ownerState.error && styles.error, {\n [`&.${nativeSelectClasses.multiple}`]: styles.multiple\n }];\n }\n})(nativeSelectSelectStyles);\nexport const nativeSelectIconStyles = ({\n ownerState,\n theme\n}) => _extends({\n // We use a position absolute over a flexbox in order to forward the pointer events\n // to the input and to support wrapping tags..\n position: 'absolute',\n right: 0,\n top: 'calc(50% - .5em)',\n // Center vertically, height is 1em\n pointerEvents: 'none',\n // Don't block pointer events on the select under the icon.\n color: (theme.vars || theme).palette.action.active,\n [`&.${nativeSelectClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n }\n}, ownerState.open && {\n transform: 'rotate(180deg)'\n}, ownerState.variant === 'filled' && {\n right: 7\n}, ownerState.variant === 'outlined' && {\n right: 7\n});\nconst NativeSelectIcon = styled('svg', {\n name: 'MuiNativeSelect',\n slot: 'Icon',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.icon, ownerState.variant && styles[`icon${capitalize(ownerState.variant)}`], ownerState.open && styles.iconOpen];\n }\n})(nativeSelectIconStyles);\n\n/**\n * @ignore - internal component.\n */\nconst NativeSelectInput = /*#__PURE__*/React.forwardRef(function NativeSelectInput(props, ref) {\n const {\n className,\n disabled,\n error,\n IconComponent,\n inputRef,\n variant = 'standard'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n disabled,\n variant,\n error\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(NativeSelectSelect, _extends({\n ownerState: ownerState,\n className: clsx(classes.select, className),\n disabled: disabled,\n ref: inputRef || ref\n }, other)), props.multiple ? null : /*#__PURE__*/_jsx(NativeSelectIcon, {\n as: IconComponent,\n ownerState: ownerState,\n className: classes.icon\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? NativeSelectInput.propTypes = {\n /**\n * The option elements to populate the select with.\n * Can be some `<option>` elements.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * The CSS class name of the select element.\n */\n className: PropTypes.string,\n /**\n * If `true`, the select is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the `select input` will indicate an error.\n */\n error: PropTypes.bool,\n /**\n * The icon that displays the arrow.\n */\n IconComponent: PropTypes.elementType.isRequired,\n /**\n * Use that prop to pass a ref to the native select element.\n * @deprecated\n */\n inputRef: refType,\n /**\n * @ignore\n */\n multiple: PropTypes.bool,\n /**\n * Name attribute of the `select` or hidden `input` element.\n */\n name: PropTypes.string,\n /**\n * Callback fired when a menu item is selected.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n /**\n * The input value.\n */\n value: PropTypes.any,\n /**\n * The variant to use.\n */\n variant: PropTypes.oneOf(['standard', 'outlined', 'filled'])\n} : void 0;\nexport default NativeSelectInput;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSelectUtilityClasses(slot) {\n return generateUtilityClass('MuiSelect', slot);\n}\nconst selectClasses = generateUtilityClasses('MuiSelect', ['root', 'select', 'multiple', 'filled', 'outlined', 'standard', 'disabled', 'focused', 'icon', 'iconOpen', 'iconFilled', 'iconOutlined', 'iconStandard', 'nativeInput', 'error']);\nexport default selectClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nvar _span;\nconst _excluded = [\"aria-describedby\", \"aria-label\", \"autoFocus\", \"autoWidth\", \"children\", \"className\", \"defaultOpen\", \"defaultValue\", \"disabled\", \"displayEmpty\", \"error\", \"IconComponent\", \"inputRef\", \"labelId\", \"MenuProps\", \"multiple\", \"name\", \"onBlur\", \"onChange\", \"onClose\", \"onFocus\", \"onOpen\", \"open\", \"readOnly\", \"renderValue\", \"SelectDisplayProps\", \"tabIndex\", \"type\", \"value\", \"variant\"];\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useId from '@mui/utils/useId';\nimport refType from '@mui/utils/refType';\nimport ownerDocument from '../utils/ownerDocument';\nimport capitalize from '../utils/capitalize';\nimport Menu from '../Menu/Menu';\nimport { nativeSelectSelectStyles, nativeSelectIconStyles } from '../NativeSelect/NativeSelectInput';\nimport { isFilled } from '../InputBase/utils';\nimport styled, { slotShouldForwardProp } from '../styles/styled';\nimport useForkRef from '../utils/useForkRef';\nimport useControlled from '../utils/useControlled';\nimport selectClasses, { getSelectUtilityClasses } from './selectClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst SelectSelect = styled('div', {\n name: 'MuiSelect',\n slot: 'Select',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [\n // Win specificity over the input base\n {\n [`&.${selectClasses.select}`]: styles.select\n }, {\n [`&.${selectClasses.select}`]: styles[ownerState.variant]\n }, {\n [`&.${selectClasses.error}`]: styles.error\n }, {\n [`&.${selectClasses.multiple}`]: styles.multiple\n }];\n }\n})(nativeSelectSelectStyles, {\n // Win specificity over the input base\n [`&.${selectClasses.select}`]: {\n height: 'auto',\n // Resets for multiple select with chips\n minHeight: '1.4375em',\n // Required for select\\text-field height consistency\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n overflow: 'hidden'\n }\n});\nconst SelectIcon = styled('svg', {\n name: 'MuiSelect',\n slot: 'Icon',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.icon, ownerState.variant && styles[`icon${capitalize(ownerState.variant)}`], ownerState.open && styles.iconOpen];\n }\n})(nativeSelectIconStyles);\nconst SelectNativeInput = styled('input', {\n shouldForwardProp: prop => slotShouldForwardProp(prop) && prop !== 'classes',\n name: 'MuiSelect',\n slot: 'NativeInput',\n overridesResolver: (props, styles) => styles.nativeInput\n})({\n bottom: 0,\n left: 0,\n position: 'absolute',\n opacity: 0,\n pointerEvents: 'none',\n width: '100%',\n boxSizing: 'border-box'\n});\nfunction areEqualValues(a, b) {\n if (typeof b === 'object' && b !== null) {\n return a === b;\n }\n\n // The value could be a number, the DOM will stringify it anyway.\n return String(a) === String(b);\n}\nfunction isEmpty(display) {\n return display == null || typeof display === 'string' && !display.trim();\n}\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n disabled,\n multiple,\n open,\n error\n } = ownerState;\n const slots = {\n select: ['select', variant, disabled && 'disabled', multiple && 'multiple', error && 'error'],\n icon: ['icon', `icon${capitalize(variant)}`, open && 'iconOpen', disabled && 'disabled'],\n nativeInput: ['nativeInput']\n };\n return composeClasses(slots, getSelectUtilityClasses, classes);\n};\n\n/**\n * @ignore - internal component.\n */\nconst SelectInput = /*#__PURE__*/React.forwardRef(function SelectInput(props, ref) {\n var _MenuProps$slotProps;\n const {\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n autoFocus,\n autoWidth,\n children,\n className,\n defaultOpen,\n defaultValue,\n disabled,\n displayEmpty,\n error = false,\n IconComponent,\n inputRef: inputRefProp,\n labelId,\n MenuProps = {},\n multiple,\n name,\n onBlur,\n onChange,\n onClose,\n onFocus,\n onOpen,\n open: openProp,\n readOnly,\n renderValue,\n SelectDisplayProps = {},\n tabIndex: tabIndexProp\n // catching `type` from Input which makes no sense for SelectInput\n ,\n\n value: valueProp,\n variant = 'standard'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const [value, setValueState] = useControlled({\n controlled: valueProp,\n default: defaultValue,\n name: 'Select'\n });\n const [openState, setOpenState] = useControlled({\n controlled: openProp,\n default: defaultOpen,\n name: 'Select'\n });\n const inputRef = React.useRef(null);\n const displayRef = React.useRef(null);\n const [displayNode, setDisplayNode] = React.useState(null);\n const {\n current: isOpenControlled\n } = React.useRef(openProp != null);\n const [menuMinWidthState, setMenuMinWidthState] = React.useState();\n const handleRef = useForkRef(ref, inputRefProp);\n const handleDisplayRef = React.useCallback(node => {\n displayRef.current = node;\n if (node) {\n setDisplayNode(node);\n }\n }, []);\n const anchorElement = displayNode == null ? void 0 : displayNode.parentNode;\n React.useImperativeHandle(handleRef, () => ({\n focus: () => {\n displayRef.current.focus();\n },\n node: inputRef.current,\n value\n }), [value]);\n\n // Resize menu on `defaultOpen` automatic toggle.\n React.useEffect(() => {\n if (defaultOpen && openState && displayNode && !isOpenControlled) {\n setMenuMinWidthState(autoWidth ? null : anchorElement.clientWidth);\n displayRef.current.focus();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [displayNode, autoWidth]);\n // `isOpenControlled` is ignored because the component should never switch between controlled and uncontrolled modes.\n // `defaultOpen` and `openState` are ignored to avoid unnecessary callbacks.\n React.useEffect(() => {\n if (autoFocus) {\n displayRef.current.focus();\n }\n }, [autoFocus]);\n React.useEffect(() => {\n if (!labelId) {\n return undefined;\n }\n const label = ownerDocument(displayRef.current).getElementById(labelId);\n if (label) {\n const handler = () => {\n if (getSelection().isCollapsed) {\n displayRef.current.focus();\n }\n };\n label.addEventListener('click', handler);\n return () => {\n label.removeEventListener('click', handler);\n };\n }\n return undefined;\n }, [labelId]);\n const update = (open, event) => {\n if (open) {\n if (onOpen) {\n onOpen(event);\n }\n } else if (onClose) {\n onClose(event);\n }\n if (!isOpenControlled) {\n setMenuMinWidthState(autoWidth ? null : anchorElement.clientWidth);\n setOpenState(open);\n }\n };\n const handleMouseDown = event => {\n // Ignore everything but left-click\n if (event.button !== 0) {\n return;\n }\n // Hijack the default focus behavior.\n event.preventDefault();\n displayRef.current.focus();\n update(true, event);\n };\n const handleClose = event => {\n update(false, event);\n };\n const childrenArray = React.Children.toArray(children);\n\n // Support autofill.\n const handleChange = event => {\n const child = childrenArray.find(childItem => childItem.props.value === event.target.value);\n if (child === undefined) {\n return;\n }\n setValueState(child.props.value);\n if (onChange) {\n onChange(event, child);\n }\n };\n const handleItemClick = child => event => {\n let newValue;\n\n // We use the tabindex attribute to signal the available options.\n if (!event.currentTarget.hasAttribute('tabindex')) {\n return;\n }\n if (multiple) {\n newValue = Array.isArray(value) ? value.slice() : [];\n const itemIndex = value.indexOf(child.props.value);\n if (itemIndex === -1) {\n newValue.push(child.props.value);\n } else {\n newValue.splice(itemIndex, 1);\n }\n } else {\n newValue = child.props.value;\n }\n if (child.props.onClick) {\n child.props.onClick(event);\n }\n if (value !== newValue) {\n setValueState(newValue);\n if (onChange) {\n // Redefine target to allow name and value to be read.\n // This allows seamless integration with the most popular form libraries.\n // https://github.com/mui/material-ui/issues/13485#issuecomment-676048492\n // Clone the event to not override `target` of the original event.\n const nativeEvent = event.nativeEvent || event;\n const clonedEvent = new nativeEvent.constructor(nativeEvent.type, nativeEvent);\n Object.defineProperty(clonedEvent, 'target', {\n writable: true,\n value: {\n value: newValue,\n name\n }\n });\n onChange(clonedEvent, child);\n }\n }\n if (!multiple) {\n update(false, event);\n }\n };\n const handleKeyDown = event => {\n if (!readOnly) {\n const validKeys = [' ', 'ArrowUp', 'ArrowDown',\n // The native select doesn't respond to enter on macOS, but it's recommended by\n // https://www.w3.org/WAI/ARIA/apg/patterns/combobox/examples/combobox-select-only/\n 'Enter'];\n if (validKeys.indexOf(event.key) !== -1) {\n event.preventDefault();\n update(true, event);\n }\n }\n };\n const open = displayNode !== null && openState;\n const handleBlur = event => {\n // if open event.stopImmediatePropagation\n if (!open && onBlur) {\n // Preact support, target is read only property on a native event.\n Object.defineProperty(event, 'target', {\n writable: true,\n value: {\n value,\n name\n }\n });\n onBlur(event);\n }\n };\n delete other['aria-invalid'];\n let display;\n let displaySingle;\n const displayMultiple = [];\n let computeDisplay = false;\n let foundMatch = false;\n\n // No need to display any value if the field is empty.\n if (isFilled({\n value\n }) || displayEmpty) {\n if (renderValue) {\n display = renderValue(value);\n } else {\n computeDisplay = true;\n }\n }\n const items = childrenArray.map(child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"MUI: The Select component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n let selected;\n if (multiple) {\n if (!Array.isArray(value)) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The \\`value\\` prop must be an array when using the \\`Select\\` component with \\`multiple\\`.` : _formatMuiErrorMessage(2));\n }\n selected = value.some(v => areEqualValues(v, child.props.value));\n if (selected && computeDisplay) {\n displayMultiple.push(child.props.children);\n }\n } else {\n selected = areEqualValues(value, child.props.value);\n if (selected && computeDisplay) {\n displaySingle = child.props.children;\n }\n }\n if (selected) {\n foundMatch = true;\n }\n return /*#__PURE__*/React.cloneElement(child, {\n 'aria-selected': selected ? 'true' : 'false',\n onClick: handleItemClick(child),\n onKeyUp: event => {\n if (event.key === ' ') {\n // otherwise our MenuItems dispatches a click event\n // it's not behavior of the native <option> and causes\n // the select to close immediately since we open on space keydown\n event.preventDefault();\n }\n if (child.props.onKeyUp) {\n child.props.onKeyUp(event);\n }\n },\n role: 'option',\n selected,\n value: undefined,\n // The value is most likely not a valid HTML attribute.\n 'data-value': child.props.value // Instead, we provide it as a data attribute.\n });\n });\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n if (!foundMatch && !multiple && value !== '') {\n const values = childrenArray.map(child => child.props.value);\n console.warn([`MUI: You have provided an out-of-range value \\`${value}\\` for the select ${name ? `(name=\"${name}\") ` : ''}component.`, \"Consider providing a value that matches one of the available options or ''.\", `The available values are ${values.filter(x => x != null).map(x => `\\`${x}\\``).join(', ') || '\"\"'}.`].join('\\n'));\n }\n }, [foundMatch, childrenArray, multiple, name, value]);\n }\n if (computeDisplay) {\n if (multiple) {\n if (displayMultiple.length === 0) {\n display = null;\n } else {\n display = displayMultiple.reduce((output, child, index) => {\n output.push(child);\n if (index < displayMultiple.length - 1) {\n output.push(', ');\n }\n return output;\n }, []);\n }\n } else {\n display = displaySingle;\n }\n }\n\n // Avoid performing a layout computation in the render method.\n let menuMinWidth = menuMinWidthState;\n if (!autoWidth && isOpenControlled && displayNode) {\n menuMinWidth = anchorElement.clientWidth;\n }\n let tabIndex;\n if (typeof tabIndexProp !== 'undefined') {\n tabIndex = tabIndexProp;\n } else {\n tabIndex = disabled ? null : 0;\n }\n const buttonId = SelectDisplayProps.id || (name ? `mui-component-select-${name}` : undefined);\n const ownerState = _extends({}, props, {\n variant,\n value,\n open,\n error\n });\n const classes = useUtilityClasses(ownerState);\n const paperProps = _extends({}, MenuProps.PaperProps, (_MenuProps$slotProps = MenuProps.slotProps) == null ? void 0 : _MenuProps$slotProps.paper);\n const listboxId = useId();\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(SelectSelect, _extends({\n ref: handleDisplayRef,\n tabIndex: tabIndex,\n role: \"combobox\",\n \"aria-controls\": listboxId,\n \"aria-disabled\": disabled ? 'true' : undefined,\n \"aria-expanded\": open ? 'true' : 'false',\n \"aria-haspopup\": \"listbox\",\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": [labelId, buttonId].filter(Boolean).join(' ') || undefined,\n \"aria-describedby\": ariaDescribedby,\n onKeyDown: handleKeyDown,\n onMouseDown: disabled || readOnly ? null : handleMouseDown,\n onBlur: handleBlur,\n onFocus: onFocus\n }, SelectDisplayProps, {\n ownerState: ownerState,\n className: clsx(SelectDisplayProps.className, classes.select, className)\n // The id is required for proper a11y\n ,\n id: buttonId,\n children: isEmpty(display) ? // notranslate needed while Google Translate will not fix zero-width space issue\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : display\n })), /*#__PURE__*/_jsx(SelectNativeInput, _extends({\n \"aria-invalid\": error,\n value: Array.isArray(value) ? value.join(',') : value,\n name: name,\n ref: inputRef,\n \"aria-hidden\": true,\n onChange: handleChange,\n tabIndex: -1,\n disabled: disabled,\n className: classes.nativeInput,\n autoFocus: autoFocus,\n ownerState: ownerState\n }, other)), /*#__PURE__*/_jsx(SelectIcon, {\n as: IconComponent,\n className: classes.icon,\n ownerState: ownerState\n }), /*#__PURE__*/_jsx(Menu, _extends({\n id: `menu-${name || ''}`,\n anchorEl: anchorElement,\n open: open,\n onClose: handleClose,\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: 'center'\n },\n transformOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }, MenuProps, {\n MenuListProps: _extends({\n 'aria-labelledby': labelId,\n role: 'listbox',\n 'aria-multiselectable': multiple ? 'true' : undefined,\n disableListWrap: true,\n id: listboxId\n }, MenuProps.MenuListProps),\n slotProps: _extends({}, MenuProps.slotProps, {\n paper: _extends({}, paperProps, {\n style: _extends({\n minWidth: menuMinWidth\n }, paperProps != null ? paperProps.style : null)\n })\n }),\n children: items\n }))]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? SelectInput.propTypes = {\n /**\n * @ignore\n */\n 'aria-describedby': PropTypes.string,\n /**\n * @ignore\n */\n 'aria-label': PropTypes.string,\n /**\n * @ignore\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true`, the width of the popover will automatically be set according to the items inside the\n * menu, otherwise it will be at least the width of the select input.\n */\n autoWidth: PropTypes.bool,\n /**\n * The option elements to populate the select with.\n * Can be some `<MenuItem>` elements.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * The CSS class name of the select element.\n */\n className: PropTypes.string,\n /**\n * If `true`, the component is toggled on mount. Use when the component open state is not controlled.\n * You can only use it when the `native` prop is `false` (default).\n */\n defaultOpen: PropTypes.bool,\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n /**\n * If `true`, the select is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the selected item is displayed even if its value is empty.\n */\n displayEmpty: PropTypes.bool,\n /**\n * If `true`, the `select input` will indicate an error.\n */\n error: PropTypes.bool,\n /**\n * The icon that displays the arrow.\n */\n IconComponent: PropTypes.elementType.isRequired,\n /**\n * Imperative handle implementing `{ value: T, node: HTMLElement, focus(): void }`\n * Equivalent to `ref`\n */\n inputRef: refType,\n /**\n * The ID of an element that acts as an additional label. The Select will\n * be labelled by the additional label and the selected value.\n */\n labelId: PropTypes.string,\n /**\n * Props applied to the [`Menu`](/material-ui/api/menu/) element.\n */\n MenuProps: PropTypes.object,\n /**\n * If `true`, `value` must be an array and the menu will support multiple selections.\n */\n multiple: PropTypes.bool,\n /**\n * Name attribute of the `select` or hidden `input` element.\n */\n name: PropTypes.string,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * Callback fired when a menu item is selected.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (any).\n * @param {object} [child] The react element that was selected.\n */\n onChange: PropTypes.func,\n /**\n * Callback fired when the component requests to be closed.\n * Use in controlled mode (see open).\n *\n * @param {object} event The event source of the callback.\n */\n onClose: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * Callback fired when the component requests to be opened.\n * Use in controlled mode (see open).\n *\n * @param {object} event The event source of the callback.\n */\n onOpen: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool,\n /**\n * @ignore\n */\n readOnly: PropTypes.bool,\n /**\n * Render the selected value.\n *\n * @param {any} value The `value` provided to the component.\n * @returns {ReactNode}\n */\n renderValue: PropTypes.func,\n /**\n * Props applied to the clickable div element.\n */\n SelectDisplayProps: PropTypes.object,\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * @ignore\n */\n type: PropTypes.any,\n /**\n * The input value.\n */\n value: PropTypes.any,\n /**\n * The variant to use.\n */\n variant: PropTypes.oneOf(['standard', 'outlined', 'filled'])\n} : void 0;\nexport default SelectInput;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M7 10l5 5 5-5z\"\n}), 'ArrowDropDown');","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"autoWidth\", \"children\", \"classes\", \"className\", \"defaultOpen\", \"displayEmpty\", \"IconComponent\", \"id\", \"input\", \"inputProps\", \"label\", \"labelId\", \"MenuProps\", \"multiple\", \"native\", \"onClose\", \"onOpen\", \"open\", \"renderValue\", \"SelectDisplayProps\", \"variant\"],\n _excluded2 = [\"root\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport deepmerge from '@mui/utils/deepmerge';\nimport getReactElementRef from '@mui/utils/getReactElementRef';\nimport SelectInput from './SelectInput';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport ArrowDropDownIcon from '../internal/svg-icons/ArrowDropDown';\nimport Input from '../Input';\nimport NativeSelectInput from '../NativeSelect/NativeSelectInput';\nimport FilledInput from '../FilledInput';\nimport OutlinedInput from '../OutlinedInput';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport useForkRef from '../utils/useForkRef';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n return classes;\n};\nconst styledRootConfig = {\n name: 'MuiSelect',\n overridesResolver: (props, styles) => styles.root,\n shouldForwardProp: prop => rootShouldForwardProp(prop) && prop !== 'variant',\n slot: 'Root'\n};\nconst StyledInput = styled(Input, styledRootConfig)('');\nconst StyledOutlinedInput = styled(OutlinedInput, styledRootConfig)('');\nconst StyledFilledInput = styled(FilledInput, styledRootConfig)('');\nconst Select = /*#__PURE__*/React.forwardRef(function Select(inProps, ref) {\n const props = useDefaultProps({\n name: 'MuiSelect',\n props: inProps\n });\n const {\n autoWidth = false,\n children,\n classes: classesProp = {},\n className,\n defaultOpen = false,\n displayEmpty = false,\n IconComponent = ArrowDropDownIcon,\n id,\n input,\n inputProps,\n label,\n labelId,\n MenuProps,\n multiple = false,\n native = false,\n onClose,\n onOpen,\n open,\n renderValue,\n SelectDisplayProps,\n variant: variantProp = 'outlined'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const inputComponent = native ? NativeSelectInput : SelectInput;\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['variant', 'error']\n });\n const variant = fcs.variant || variantProp;\n const ownerState = _extends({}, props, {\n variant,\n classes: classesProp\n });\n const classes = useUtilityClasses(ownerState);\n const restOfClasses = _objectWithoutPropertiesLoose(classes, _excluded2);\n const InputComponent = input || {\n standard: /*#__PURE__*/_jsx(StyledInput, {\n ownerState: ownerState\n }),\n outlined: /*#__PURE__*/_jsx(StyledOutlinedInput, {\n label: label,\n ownerState: ownerState\n }),\n filled: /*#__PURE__*/_jsx(StyledFilledInput, {\n ownerState: ownerState\n })\n }[variant];\n const inputComponentRef = useForkRef(ref, getReactElementRef(InputComponent));\n return /*#__PURE__*/_jsx(React.Fragment, {\n children: /*#__PURE__*/React.cloneElement(InputComponent, _extends({\n // Most of the logic is implemented in `SelectInput`.\n // The `Select` component is a simple API wrapper to expose something better to play with.\n inputComponent,\n inputProps: _extends({\n children,\n error: fcs.error,\n IconComponent,\n variant,\n type: undefined,\n // We render a select. We can ignore the type provided by the `Input`.\n multiple\n }, native ? {\n id\n } : {\n autoWidth,\n defaultOpen,\n displayEmpty,\n labelId,\n MenuProps,\n onClose,\n onOpen,\n open,\n renderValue,\n SelectDisplayProps: _extends({\n id\n }, SelectDisplayProps)\n }, inputProps, {\n classes: inputProps ? deepmerge(restOfClasses, inputProps.classes) : restOfClasses\n }, input ? input.props.inputProps : {})\n }, (multiple && native || displayEmpty) && variant === 'outlined' ? {\n notched: true\n } : {}, {\n ref: inputComponentRef,\n className: clsx(InputComponent.props.className, className, classes.root)\n }, !input && {\n variant\n }, other))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Select.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the width of the popover will automatically be set according to the items inside the\n * menu, otherwise it will be at least the width of the select input.\n * @default false\n */\n autoWidth: PropTypes.bool,\n /**\n * The option elements to populate the select with.\n * Can be some `MenuItem` when `native` is false and `option` when `native` is true.\n *\n * ⚠️The `MenuItem` elements **must** be direct descendants when `native` is false.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n * @default {}\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the component is initially open. Use when the component open state is not controlled (i.e. the `open` prop is not defined).\n * You can only use it when the `native` prop is `false` (default).\n * @default false\n */\n defaultOpen: PropTypes.bool,\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n /**\n * If `true`, a value is displayed even if no items are selected.\n *\n * In order to display a meaningful value, a function can be passed to the `renderValue` prop which\n * returns the value to be displayed when no items are selected.\n *\n * ⚠️ When using this prop, make sure the label doesn't overlap with the empty displayed value.\n * The label should either be hidden or forced to a shrunk state.\n * @default false\n */\n displayEmpty: PropTypes.bool,\n /**\n * The icon that displays the arrow.\n * @default ArrowDropDownIcon\n */\n IconComponent: PropTypes.elementType,\n /**\n * The `id` of the wrapper element or the `select` element when `native`.\n */\n id: PropTypes.string,\n /**\n * An `Input` element; does not have to be a material-ui specific `Input`.\n */\n input: PropTypes.element,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n * When `native` is `true`, the attributes are applied on the `select` element.\n */\n inputProps: PropTypes.object,\n /**\n * See [OutlinedInput#label](/material-ui/api/outlined-input/#props)\n */\n label: PropTypes.node,\n /**\n * The ID of an element that acts as an additional label. The Select will\n * be labelled by the additional label and the selected value.\n */\n labelId: PropTypes.string,\n /**\n * Props applied to the [`Menu`](/material-ui/api/menu/) element.\n */\n MenuProps: PropTypes.object,\n /**\n * If `true`, `value` must be an array and the menu will support multiple selections.\n * @default false\n */\n multiple: PropTypes.bool,\n /**\n * If `true`, the component uses a native `select` element.\n * @default false\n */\n native: PropTypes.bool,\n /**\n * Callback fired when a menu item is selected.\n *\n * @param {SelectChangeEvent<Value>} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (any).\n * **Warning**: This is a generic event, not a change event, unless the change event is caused by browser autofill.\n * @param {object} [child] The react element that was selected when `native` is `false` (default).\n */\n onChange: PropTypes.func,\n /**\n * Callback fired when the component requests to be closed.\n * Use it in either controlled (see the `open` prop), or uncontrolled mode (to detect when the Select collapses).\n *\n * @param {object} event The event source of the callback.\n */\n onClose: PropTypes.func,\n /**\n * Callback fired when the component requests to be opened.\n * Use it in either controlled (see the `open` prop), or uncontrolled mode (to detect when the Select expands).\n *\n * @param {object} event The event source of the callback.\n */\n onOpen: PropTypes.func,\n /**\n * If `true`, the component is shown.\n * You can only use it when the `native` prop is `false` (default).\n */\n open: PropTypes.bool,\n /**\n * Render the selected value.\n * You can only use it when the `native` prop is `false` (default).\n *\n * @param {any} value The `value` provided to the component.\n * @returns {ReactNode}\n */\n renderValue: PropTypes.func,\n /**\n * Props applied to the clickable div element.\n */\n SelectDisplayProps: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The `input` value. Providing an empty string will select no options.\n * Set to an empty string `''` if you don't want any of the available options to be selected.\n *\n * If the value is an object it must have reference equality with the option in order to be selected.\n * If the value is not an object, the string representation must match with the string representation of the option in order to be selected.\n */\n value: PropTypes.oneOfType([PropTypes.oneOf(['']), PropTypes.any]),\n /**\n * The variant to use.\n * @default 'outlined'\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nSelect.muiName = 'Select';\nexport default Select;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTextFieldUtilityClass(slot) {\n return generateUtilityClass('MuiTextField', slot);\n}\nconst textFieldClasses = generateUtilityClasses('MuiTextField', ['root']);\nexport default textFieldClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"autoComplete\", \"autoFocus\", \"children\", \"className\", \"color\", \"defaultValue\", \"disabled\", \"error\", \"FormHelperTextProps\", \"fullWidth\", \"helperText\", \"id\", \"InputLabelProps\", \"inputProps\", \"InputProps\", \"inputRef\", \"label\", \"maxRows\", \"minRows\", \"multiline\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"placeholder\", \"required\", \"rows\", \"select\", \"SelectProps\", \"type\", \"value\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useId from '@mui/utils/useId';\nimport refType from '@mui/utils/refType';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport Input from '../Input';\nimport FilledInput from '../FilledInput';\nimport OutlinedInput from '../OutlinedInput';\nimport InputLabel from '../InputLabel';\nimport FormControl from '../FormControl';\nimport FormHelperText from '../FormHelperText';\nimport Select from '../Select';\nimport { getTextFieldUtilityClass } from './textFieldClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst variantComponent = {\n standard: Input,\n filled: FilledInput,\n outlined: OutlinedInput\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTextFieldUtilityClass, classes);\n};\nconst TextFieldRoot = styled(FormControl, {\n name: 'MuiTextField',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\n\n/**\n * The `TextField` is a convenience wrapper for the most common cases (80%).\n * It cannot be all things to all people, otherwise the API would grow out of control.\n *\n * ## Advanced Configuration\n *\n * It's important to understand that the text field is a simple abstraction\n * on top of the following components:\n *\n * - [FormControl](/material-ui/api/form-control/)\n * - [InputLabel](/material-ui/api/input-label/)\n * - [FilledInput](/material-ui/api/filled-input/)\n * - [OutlinedInput](/material-ui/api/outlined-input/)\n * - [Input](/material-ui/api/input/)\n * - [FormHelperText](/material-ui/api/form-helper-text/)\n *\n * If you wish to alter the props applied to the `input` element, you can do so as follows:\n *\n * ```jsx\n * const inputProps = {\n * step: 300,\n * };\n *\n * return <TextField id=\"time\" type=\"time\" inputProps={inputProps} />;\n * ```\n *\n * For advanced cases, please look at the source of TextField by clicking on the\n * \"Edit this page\" button above. Consider either:\n *\n * - using the upper case props for passing values directly to the components\n * - using the underlying components directly as shown in the demos\n */\nconst TextField = /*#__PURE__*/React.forwardRef(function TextField(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiTextField'\n });\n const {\n autoComplete,\n autoFocus = false,\n children,\n className,\n color = 'primary',\n defaultValue,\n disabled = false,\n error = false,\n FormHelperTextProps,\n fullWidth = false,\n helperText,\n id: idOverride,\n InputLabelProps,\n inputProps,\n InputProps,\n inputRef,\n label,\n maxRows,\n minRows,\n multiline = false,\n name,\n onBlur,\n onChange,\n onFocus,\n placeholder,\n required = false,\n rows,\n select = false,\n SelectProps,\n type,\n value,\n variant = 'outlined'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n autoFocus,\n color,\n disabled,\n error,\n fullWidth,\n multiline,\n required,\n select,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n if (process.env.NODE_ENV !== 'production') {\n if (select && !children) {\n console.error('MUI: `children` must be passed when using the `TextField` component with `select`.');\n }\n }\n const InputMore = {};\n if (variant === 'outlined') {\n if (InputLabelProps && typeof InputLabelProps.shrink !== 'undefined') {\n InputMore.notched = InputLabelProps.shrink;\n }\n InputMore.label = label;\n }\n if (select) {\n // unset defaults from textbox inputs\n if (!SelectProps || !SelectProps.native) {\n InputMore.id = undefined;\n }\n InputMore['aria-describedby'] = undefined;\n }\n const id = useId(idOverride);\n const helperTextId = helperText && id ? `${id}-helper-text` : undefined;\n const inputLabelId = label && id ? `${id}-label` : undefined;\n const InputComponent = variantComponent[variant];\n const InputElement = /*#__PURE__*/_jsx(InputComponent, _extends({\n \"aria-describedby\": helperTextId,\n autoComplete: autoComplete,\n autoFocus: autoFocus,\n defaultValue: defaultValue,\n fullWidth: fullWidth,\n multiline: multiline,\n name: name,\n rows: rows,\n maxRows: maxRows,\n minRows: minRows,\n type: type,\n value: value,\n id: id,\n inputRef: inputRef,\n onBlur: onBlur,\n onChange: onChange,\n onFocus: onFocus,\n placeholder: placeholder,\n inputProps: inputProps\n }, InputMore, InputProps));\n return /*#__PURE__*/_jsxs(TextFieldRoot, _extends({\n className: clsx(classes.root, className),\n disabled: disabled,\n error: error,\n fullWidth: fullWidth,\n ref: ref,\n required: required,\n color: color,\n variant: variant,\n ownerState: ownerState\n }, other, {\n children: [label != null && label !== '' && /*#__PURE__*/_jsx(InputLabel, _extends({\n htmlFor: id,\n id: inputLabelId\n }, InputLabelProps, {\n children: label\n })), select ? /*#__PURE__*/_jsx(Select, _extends({\n \"aria-describedby\": helperTextId,\n id: id,\n labelId: inputLabelId,\n value: value,\n input: InputElement\n }, SelectProps, {\n children: children\n })) : InputElement, helperText && /*#__PURE__*/_jsx(FormHelperText, _extends({\n id: helperTextId\n }, FormHelperTextProps, {\n children: helperText\n }))]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TextField.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * This prop helps users to fill forms faster, especially on mobile devices.\n * The name can be confusing, as it's more like an autofill.\n * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).\n */\n autoComplete: PropTypes.string,\n /**\n * If `true`, the `input` element is focused during the first mount.\n * @default false\n */\n autoFocus: PropTypes.bool,\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n * @default false\n */\n error: PropTypes.bool,\n /**\n * Props applied to the [`FormHelperText`](/material-ui/api/form-helper-text/) element.\n */\n FormHelperTextProps: PropTypes.object,\n /**\n * If `true`, the input will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * The helper text content.\n */\n helperText: PropTypes.node,\n /**\n * The id of the `input` element.\n * Use this prop to make `label` and `helperText` accessible for screen readers.\n */\n id: PropTypes.string,\n /**\n * Props applied to the [`InputLabel`](/material-ui/api/input-label/) element.\n * Pointer events like `onClick` are enabled if and only if `shrink` is `true`.\n */\n InputLabelProps: PropTypes.object,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n /**\n * Props applied to the Input element.\n * It will be a [`FilledInput`](/material-ui/api/filled-input/),\n * [`OutlinedInput`](/material-ui/api/outlined-input/) or [`Input`](/material-ui/api/input/)\n * component depending on the `variant` prop value.\n */\n InputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * The label content.\n */\n label: PropTypes.node,\n /**\n * If `dense` or `normal`, will adjust vertical spacing of this and contained components.\n * @default 'none'\n */\n margin: PropTypes.oneOf(['dense', 'none', 'normal']),\n /**\n * Maximum number of rows to display when multiline option is set to true.\n */\n maxRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Minimum number of rows to display when multiline option is set to true.\n */\n minRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * If `true`, a `textarea` element is rendered instead of an input.\n * @default false\n */\n multiline: PropTypes.bool,\n /**\n * Name attribute of the `input` element.\n */\n name: PropTypes.string,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * Callback fired when the value is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * The short hint displayed in the `input` before the user enters a value.\n */\n placeholder: PropTypes.string,\n /**\n * If `true`, the label is displayed as required and the `input` element is required.\n * @default false\n */\n required: PropTypes.bool,\n /**\n * Number of rows to display when multiline option is set to true.\n */\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Render a [`Select`](/material-ui/api/select/) element while passing the Input element to `Select` as `input` parameter.\n * If this option is set you must pass the options of the select as children.\n * @default false\n */\n select: PropTypes.bool,\n /**\n * Props applied to the [`Select`](/material-ui/api/select/) element.\n */\n SelectProps: PropTypes.object,\n /**\n * The size of the component.\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types).\n */\n type: PropTypes /* @typescript-to-proptypes-ignore */.string,\n /**\n * The value of the `input` element, required for a controlled component.\n */\n value: PropTypes.any,\n /**\n * The variant to use.\n * @default 'outlined'\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default TextField;","import { TextField } from \"@mui/material\";\r\nimport React from \"react\";\r\n\r\nexport default function TextInputForm({\r\n input,\r\n meta,\r\n label,\r\n defaultValue,\r\n numberInput,\r\n inputRef,\r\n onChangeExtra,\r\n ...rest\r\n}) {\r\n return (\r\n <TextField\r\n {...input}\r\n {...(inputRef && { inputRef: inputRef })}\r\n sx={{ width: \"100%\" }}\r\n label={label}\r\n {...(numberInput && { type: \"number\" })}\r\n variant=\"standard\"\r\n defaultValue={defaultValue}\r\n onChange={(event, value) => {\r\n input.onChange(\r\n numberInput || input.type === \"number\"\r\n ? event.target.value === \"\"\r\n ? undefined\r\n : +event.target.value\r\n : event.target.value\r\n );\r\n\r\n onChangeExtra && onChangeExtra();\r\n }}\r\n autoComplete=\"off\"\r\n error={meta.error && meta.touched}\r\n helperText={meta.error && meta.touched ? meta.error : null}\r\n inputProps={{ readOnly: rest.readOnly, maxLength: rest.maxLength }}\r\n {...rest}\r\n />\r\n );\r\n}\r\n","'use client';\n\nimport * as React from 'react';\nconst usePreviousProps = value => {\n const ref = React.useRef({});\n React.useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n};\nexport default usePreviousProps;","'use client';\n\n/* eslint-disable no-constant-condition */\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { unstable_setRef as setRef, unstable_useEventCallback as useEventCallback, unstable_useControlled as useControlled, unstable_useId as useId, usePreviousProps } from '@mui/utils';\n\n// https://stackoverflow.com/questions/990904/remove-accents-diacritics-in-a-string-in-javascript\n// Give up on IE11 support for this feature\nfunction stripDiacritics(string) {\n return typeof string.normalize !== 'undefined' ? string.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '') : string;\n}\nexport function createFilterOptions(config = {}) {\n const {\n ignoreAccents = true,\n ignoreCase = true,\n limit,\n matchFrom = 'any',\n stringify,\n trim = false\n } = config;\n return (options, {\n inputValue,\n getOptionLabel\n }) => {\n let input = trim ? inputValue.trim() : inputValue;\n if (ignoreCase) {\n input = input.toLowerCase();\n }\n if (ignoreAccents) {\n input = stripDiacritics(input);\n }\n const filteredOptions = !input ? options : options.filter(option => {\n let candidate = (stringify || getOptionLabel)(option);\n if (ignoreCase) {\n candidate = candidate.toLowerCase();\n }\n if (ignoreAccents) {\n candidate = stripDiacritics(candidate);\n }\n return matchFrom === 'start' ? candidate.indexOf(input) === 0 : candidate.indexOf(input) > -1;\n });\n return typeof limit === 'number' ? filteredOptions.slice(0, limit) : filteredOptions;\n };\n}\n\n// To replace with .findIndex() once we stop IE11 support.\nfunction findIndex(array, comp) {\n for (let i = 0; i < array.length; i += 1) {\n if (comp(array[i])) {\n return i;\n }\n }\n return -1;\n}\nconst defaultFilterOptions = createFilterOptions();\n\n// Number of options to jump in list box when `Page Up` and `Page Down` keys are used.\nconst pageSize = 5;\nconst defaultIsActiveElementInListbox = listboxRef => {\n var _listboxRef$current$p;\n return listboxRef.current !== null && ((_listboxRef$current$p = listboxRef.current.parentElement) == null ? void 0 : _listboxRef$current$p.contains(document.activeElement));\n};\nconst MULTIPLE_DEFAULT_VALUE = [];\nfunction useAutocomplete(props) {\n const {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n unstable_isActiveElementInListbox = defaultIsActiveElementInListbox,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n unstable_classNamePrefix = 'Mui',\n autoComplete = false,\n autoHighlight = false,\n autoSelect = false,\n blurOnSelect = false,\n clearOnBlur = !props.freeSolo,\n clearOnEscape = false,\n componentName = 'useAutocomplete',\n defaultValue = props.multiple ? MULTIPLE_DEFAULT_VALUE : null,\n disableClearable = false,\n disableCloseOnSelect = false,\n disabled: disabledProp,\n disabledItemsFocusable = false,\n disableListWrap = false,\n filterOptions = defaultFilterOptions,\n filterSelectedOptions = false,\n freeSolo = false,\n getOptionDisabled,\n getOptionKey,\n getOptionLabel: getOptionLabelProp = option => {\n var _option$label;\n return (_option$label = option.label) != null ? _option$label : option;\n },\n groupBy,\n handleHomeEndKeys = !props.freeSolo,\n id: idProp,\n includeInputInList = false,\n inputValue: inputValueProp,\n isOptionEqualToValue = (option, value) => option === value,\n multiple = false,\n onChange,\n onClose,\n onHighlightChange,\n onInputChange,\n onOpen,\n open: openProp,\n openOnFocus = false,\n options,\n readOnly = false,\n selectOnFocus = !props.freeSolo,\n value: valueProp\n } = props;\n const id = useId(idProp);\n let getOptionLabel = getOptionLabelProp;\n getOptionLabel = option => {\n const optionLabel = getOptionLabelProp(option);\n if (typeof optionLabel !== 'string') {\n if (process.env.NODE_ENV !== 'production') {\n const erroneousReturn = optionLabel === undefined ? 'undefined' : `${typeof optionLabel} (${optionLabel})`;\n console.error(`MUI: The \\`getOptionLabel\\` method of ${componentName} returned ${erroneousReturn} instead of a string for ${JSON.stringify(option)}.`);\n }\n return String(optionLabel);\n }\n return optionLabel;\n };\n const ignoreFocus = React.useRef(false);\n const firstFocus = React.useRef(true);\n const inputRef = React.useRef(null);\n const listboxRef = React.useRef(null);\n const [anchorEl, setAnchorEl] = React.useState(null);\n const [focusedTag, setFocusedTag] = React.useState(-1);\n const defaultHighlighted = autoHighlight ? 0 : -1;\n const highlightedIndexRef = React.useRef(defaultHighlighted);\n const [value, setValueState] = useControlled({\n controlled: valueProp,\n default: defaultValue,\n name: componentName\n });\n const [inputValue, setInputValueState] = useControlled({\n controlled: inputValueProp,\n default: '',\n name: componentName,\n state: 'inputValue'\n });\n const [focused, setFocused] = React.useState(false);\n const resetInputValue = React.useCallback((event, newValue) => {\n // retain current `inputValue` if new option isn't selected and `clearOnBlur` is false\n // When `multiple` is enabled, `newValue` is an array of all selected items including the newly selected item\n const isOptionSelected = multiple ? value.length < newValue.length : newValue !== null;\n if (!isOptionSelected && !clearOnBlur) {\n return;\n }\n let newInputValue;\n if (multiple) {\n newInputValue = '';\n } else if (newValue == null) {\n newInputValue = '';\n } else {\n const optionLabel = getOptionLabel(newValue);\n newInputValue = typeof optionLabel === 'string' ? optionLabel : '';\n }\n if (inputValue === newInputValue) {\n return;\n }\n setInputValueState(newInputValue);\n if (onInputChange) {\n onInputChange(event, newInputValue, 'reset');\n }\n }, [getOptionLabel, inputValue, multiple, onInputChange, setInputValueState, clearOnBlur, value]);\n const [open, setOpenState] = useControlled({\n controlled: openProp,\n default: false,\n name: componentName,\n state: 'open'\n });\n const [inputPristine, setInputPristine] = React.useState(true);\n const inputValueIsSelectedValue = !multiple && value != null && inputValue === getOptionLabel(value);\n const popupOpen = open && !readOnly;\n const filteredOptions = popupOpen ? filterOptions(options.filter(option => {\n if (filterSelectedOptions && (multiple ? value : [value]).some(value2 => value2 !== null && isOptionEqualToValue(option, value2))) {\n return false;\n }\n return true;\n }),\n // we use the empty string to manipulate `filterOptions` to not filter any options\n // i.e. the filter predicate always returns true\n {\n inputValue: inputValueIsSelectedValue && inputPristine ? '' : inputValue,\n getOptionLabel\n }) : [];\n const previousProps = usePreviousProps({\n filteredOptions,\n value,\n inputValue\n });\n React.useEffect(() => {\n const valueChange = value !== previousProps.value;\n if (focused && !valueChange) {\n return;\n }\n\n // Only reset the input's value when freeSolo if the component's value changes.\n if (freeSolo && !valueChange) {\n return;\n }\n resetInputValue(null, value);\n }, [value, resetInputValue, focused, previousProps.value, freeSolo]);\n const listboxAvailable = open && filteredOptions.length > 0 && !readOnly;\n if (process.env.NODE_ENV !== 'production') {\n if (value !== null && !freeSolo && options.length > 0) {\n const missingValue = (multiple ? value : [value]).filter(value2 => !options.some(option => isOptionEqualToValue(option, value2)));\n if (missingValue.length > 0) {\n console.warn([`MUI: The value provided to ${componentName} is invalid.`, `None of the options match with \\`${missingValue.length > 1 ? JSON.stringify(missingValue) : JSON.stringify(missingValue[0])}\\`.`, 'You can use the `isOptionEqualToValue` prop to customize the equality test.'].join('\\n'));\n }\n }\n }\n const focusTag = useEventCallback(tagToFocus => {\n if (tagToFocus === -1) {\n inputRef.current.focus();\n } else {\n anchorEl.querySelector(`[data-tag-index=\"${tagToFocus}\"]`).focus();\n }\n });\n\n // Ensure the focusedTag is never inconsistent\n React.useEffect(() => {\n if (multiple && focusedTag > value.length - 1) {\n setFocusedTag(-1);\n focusTag(-1);\n }\n }, [value, multiple, focusedTag, focusTag]);\n function validOptionIndex(index, direction) {\n if (!listboxRef.current || index < 0 || index >= filteredOptions.length) {\n return -1;\n }\n let nextFocus = index;\n while (true) {\n const option = listboxRef.current.querySelector(`[data-option-index=\"${nextFocus}\"]`);\n\n // Same logic as MenuList.js\n const nextFocusDisabled = disabledItemsFocusable ? false : !option || option.disabled || option.getAttribute('aria-disabled') === 'true';\n if (option && option.hasAttribute('tabindex') && !nextFocusDisabled) {\n // The next option is available\n return nextFocus;\n }\n\n // The next option is disabled, move to the next element.\n // with looped index\n if (direction === 'next') {\n nextFocus = (nextFocus + 1) % filteredOptions.length;\n } else {\n nextFocus = (nextFocus - 1 + filteredOptions.length) % filteredOptions.length;\n }\n\n // We end up with initial index, that means we don't have available options.\n // All of them are disabled\n if (nextFocus === index) {\n return -1;\n }\n }\n }\n const setHighlightedIndex = useEventCallback(({\n event,\n index,\n reason = 'auto'\n }) => {\n highlightedIndexRef.current = index;\n\n // does the index exist?\n if (index === -1) {\n inputRef.current.removeAttribute('aria-activedescendant');\n } else {\n inputRef.current.setAttribute('aria-activedescendant', `${id}-option-${index}`);\n }\n if (onHighlightChange) {\n onHighlightChange(event, index === -1 ? null : filteredOptions[index], reason);\n }\n if (!listboxRef.current) {\n return;\n }\n const prev = listboxRef.current.querySelector(`[role=\"option\"].${unstable_classNamePrefix}-focused`);\n if (prev) {\n prev.classList.remove(`${unstable_classNamePrefix}-focused`);\n prev.classList.remove(`${unstable_classNamePrefix}-focusVisible`);\n }\n let listboxNode = listboxRef.current;\n if (listboxRef.current.getAttribute('role') !== 'listbox') {\n listboxNode = listboxRef.current.parentElement.querySelector('[role=\"listbox\"]');\n }\n\n // \"No results\"\n if (!listboxNode) {\n return;\n }\n if (index === -1) {\n listboxNode.scrollTop = 0;\n return;\n }\n const option = listboxRef.current.querySelector(`[data-option-index=\"${index}\"]`);\n if (!option) {\n return;\n }\n option.classList.add(`${unstable_classNamePrefix}-focused`);\n if (reason === 'keyboard') {\n option.classList.add(`${unstable_classNamePrefix}-focusVisible`);\n }\n\n // Scroll active descendant into view.\n // Logic copied from https://www.w3.org/WAI/content-assets/wai-aria-practices/patterns/combobox/examples/js/select-only.js\n // In case of mouse clicks and touch (in mobile devices) we avoid scrolling the element and keep both behaviors same.\n // Consider this API instead once it has a better browser support:\n // .scrollIntoView({ scrollMode: 'if-needed', block: 'nearest' });\n if (listboxNode.scrollHeight > listboxNode.clientHeight && reason !== 'mouse' && reason !== 'touch') {\n const element = option;\n const scrollBottom = listboxNode.clientHeight + listboxNode.scrollTop;\n const elementBottom = element.offsetTop + element.offsetHeight;\n if (elementBottom > scrollBottom) {\n listboxNode.scrollTop = elementBottom - listboxNode.clientHeight;\n } else if (element.offsetTop - element.offsetHeight * (groupBy ? 1.3 : 0) < listboxNode.scrollTop) {\n listboxNode.scrollTop = element.offsetTop - element.offsetHeight * (groupBy ? 1.3 : 0);\n }\n }\n });\n const changeHighlightedIndex = useEventCallback(({\n event,\n diff,\n direction = 'next',\n reason = 'auto'\n }) => {\n if (!popupOpen) {\n return;\n }\n const getNextIndex = () => {\n const maxIndex = filteredOptions.length - 1;\n if (diff === 'reset') {\n return defaultHighlighted;\n }\n if (diff === 'start') {\n return 0;\n }\n if (diff === 'end') {\n return maxIndex;\n }\n const newIndex = highlightedIndexRef.current + diff;\n if (newIndex < 0) {\n if (newIndex === -1 && includeInputInList) {\n return -1;\n }\n if (disableListWrap && highlightedIndexRef.current !== -1 || Math.abs(diff) > 1) {\n return 0;\n }\n return maxIndex;\n }\n if (newIndex > maxIndex) {\n if (newIndex === maxIndex + 1 && includeInputInList) {\n return -1;\n }\n if (disableListWrap || Math.abs(diff) > 1) {\n return maxIndex;\n }\n return 0;\n }\n return newIndex;\n };\n const nextIndex = validOptionIndex(getNextIndex(), direction);\n setHighlightedIndex({\n index: nextIndex,\n reason,\n event\n });\n\n // Sync the content of the input with the highlighted option.\n if (autoComplete && diff !== 'reset') {\n if (nextIndex === -1) {\n inputRef.current.value = inputValue;\n } else {\n const option = getOptionLabel(filteredOptions[nextIndex]);\n inputRef.current.value = option;\n\n // The portion of the selected suggestion that has not been typed by the user,\n // a completion string, appears inline after the input cursor in the textbox.\n const index = option.toLowerCase().indexOf(inputValue.toLowerCase());\n if (index === 0 && inputValue.length > 0) {\n inputRef.current.setSelectionRange(inputValue.length, option.length);\n }\n }\n }\n });\n const getPreviousHighlightedOptionIndex = () => {\n const isSameValue = (value1, value2) => {\n const label1 = value1 ? getOptionLabel(value1) : '';\n const label2 = value2 ? getOptionLabel(value2) : '';\n return label1 === label2;\n };\n if (highlightedIndexRef.current !== -1 && previousProps.filteredOptions && previousProps.filteredOptions.length !== filteredOptions.length && previousProps.inputValue === inputValue && (multiple ? value.length === previousProps.value.length && previousProps.value.every((val, i) => getOptionLabel(value[i]) === getOptionLabel(val)) : isSameValue(previousProps.value, value))) {\n const previousHighlightedOption = previousProps.filteredOptions[highlightedIndexRef.current];\n if (previousHighlightedOption) {\n return findIndex(filteredOptions, option => {\n return getOptionLabel(option) === getOptionLabel(previousHighlightedOption);\n });\n }\n }\n return -1;\n };\n const syncHighlightedIndex = React.useCallback(() => {\n if (!popupOpen) {\n return;\n }\n\n // Check if the previously highlighted option still exists in the updated filtered options list and if the value and inputValue haven't changed\n // If it exists and the value and the inputValue haven't changed, just update its index, otherwise continue execution\n const previousHighlightedOptionIndex = getPreviousHighlightedOptionIndex();\n if (previousHighlightedOptionIndex !== -1) {\n highlightedIndexRef.current = previousHighlightedOptionIndex;\n return;\n }\n const valueItem = multiple ? value[0] : value;\n\n // The popup is empty, reset\n if (filteredOptions.length === 0 || valueItem == null) {\n changeHighlightedIndex({\n diff: 'reset'\n });\n return;\n }\n if (!listboxRef.current) {\n return;\n }\n\n // Synchronize the value with the highlighted index\n if (valueItem != null) {\n const currentOption = filteredOptions[highlightedIndexRef.current];\n\n // Keep the current highlighted index if possible\n if (multiple && currentOption && findIndex(value, val => isOptionEqualToValue(currentOption, val)) !== -1) {\n return;\n }\n const itemIndex = findIndex(filteredOptions, optionItem => isOptionEqualToValue(optionItem, valueItem));\n if (itemIndex === -1) {\n changeHighlightedIndex({\n diff: 'reset'\n });\n } else {\n setHighlightedIndex({\n index: itemIndex\n });\n }\n return;\n }\n\n // Prevent the highlighted index to leak outside the boundaries.\n if (highlightedIndexRef.current >= filteredOptions.length - 1) {\n setHighlightedIndex({\n index: filteredOptions.length - 1\n });\n return;\n }\n\n // Restore the focus to the previous index.\n setHighlightedIndex({\n index: highlightedIndexRef.current\n });\n // Ignore filteredOptions (and options, isOptionEqualToValue, getOptionLabel) not to break the scroll position\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n // Only sync the highlighted index when the option switch between empty and not\n filteredOptions.length,\n // Don't sync the highlighted index with the value when multiple\n // eslint-disable-next-line react-hooks/exhaustive-deps\n multiple ? false : value, filterSelectedOptions, changeHighlightedIndex, setHighlightedIndex, popupOpen, inputValue, multiple]);\n const handleListboxRef = useEventCallback(node => {\n setRef(listboxRef, node);\n if (!node) {\n return;\n }\n syncHighlightedIndex();\n });\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n if (!inputRef.current || inputRef.current.nodeName !== 'INPUT') {\n if (inputRef.current && inputRef.current.nodeName === 'TEXTAREA') {\n console.warn([`A textarea element was provided to ${componentName} where input was expected.`, `This is not a supported scenario but it may work under certain conditions.`, `A textarea keyboard navigation may conflict with Autocomplete controls (for example enter and arrow keys).`, `Make sure to test keyboard navigation and add custom event handlers if necessary.`].join('\\n'));\n } else {\n console.error([`MUI: Unable to find the input element. It was resolved to ${inputRef.current} while an HTMLInputElement was expected.`, `Instead, ${componentName} expects an input element.`, '', componentName === 'useAutocomplete' ? 'Make sure you have bound getInputProps correctly and that the normal ref/effect resolutions order is guaranteed.' : 'Make sure you have customized the input component correctly.'].join('\\n'));\n }\n }\n }, [componentName]);\n }\n React.useEffect(() => {\n syncHighlightedIndex();\n }, [syncHighlightedIndex]);\n const handleOpen = event => {\n if (open) {\n return;\n }\n setOpenState(true);\n setInputPristine(true);\n if (onOpen) {\n onOpen(event);\n }\n };\n const handleClose = (event, reason) => {\n if (!open) {\n return;\n }\n setOpenState(false);\n if (onClose) {\n onClose(event, reason);\n }\n };\n const handleValue = (event, newValue, reason, details) => {\n if (multiple) {\n if (value.length === newValue.length && value.every((val, i) => val === newValue[i])) {\n return;\n }\n } else if (value === newValue) {\n return;\n }\n if (onChange) {\n onChange(event, newValue, reason, details);\n }\n setValueState(newValue);\n };\n const isTouch = React.useRef(false);\n const selectNewValue = (event, option, reasonProp = 'selectOption', origin = 'options') => {\n let reason = reasonProp;\n let newValue = option;\n if (multiple) {\n newValue = Array.isArray(value) ? value.slice() : [];\n if (process.env.NODE_ENV !== 'production') {\n const matches = newValue.filter(val => isOptionEqualToValue(option, val));\n if (matches.length > 1) {\n console.error([`MUI: The \\`isOptionEqualToValue\\` method of ${componentName} does not handle the arguments correctly.`, `The component expects a single value to match a given option but found ${matches.length} matches.`].join('\\n'));\n }\n }\n const itemIndex = findIndex(newValue, valueItem => isOptionEqualToValue(option, valueItem));\n if (itemIndex === -1) {\n newValue.push(option);\n } else if (origin !== 'freeSolo') {\n newValue.splice(itemIndex, 1);\n reason = 'removeOption';\n }\n }\n resetInputValue(event, newValue);\n handleValue(event, newValue, reason, {\n option\n });\n if (!disableCloseOnSelect && (!event || !event.ctrlKey && !event.metaKey)) {\n handleClose(event, reason);\n }\n if (blurOnSelect === true || blurOnSelect === 'touch' && isTouch.current || blurOnSelect === 'mouse' && !isTouch.current) {\n inputRef.current.blur();\n }\n };\n function validTagIndex(index, direction) {\n if (index === -1) {\n return -1;\n }\n let nextFocus = index;\n while (true) {\n // Out of range\n if (direction === 'next' && nextFocus === value.length || direction === 'previous' && nextFocus === -1) {\n return -1;\n }\n const option = anchorEl.querySelector(`[data-tag-index=\"${nextFocus}\"]`);\n\n // Same logic as MenuList.js\n if (!option || !option.hasAttribute('tabindex') || option.disabled || option.getAttribute('aria-disabled') === 'true') {\n nextFocus += direction === 'next' ? 1 : -1;\n } else {\n return nextFocus;\n }\n }\n }\n const handleFocusTag = (event, direction) => {\n if (!multiple) {\n return;\n }\n if (inputValue === '') {\n handleClose(event, 'toggleInput');\n }\n let nextTag = focusedTag;\n if (focusedTag === -1) {\n if (inputValue === '' && direction === 'previous') {\n nextTag = value.length - 1;\n }\n } else {\n nextTag += direction === 'next' ? 1 : -1;\n if (nextTag < 0) {\n nextTag = 0;\n }\n if (nextTag === value.length) {\n nextTag = -1;\n }\n }\n nextTag = validTagIndex(nextTag, direction);\n setFocusedTag(nextTag);\n focusTag(nextTag);\n };\n const handleClear = event => {\n ignoreFocus.current = true;\n setInputValueState('');\n if (onInputChange) {\n onInputChange(event, '', 'clear');\n }\n handleValue(event, multiple ? [] : null, 'clear');\n };\n const handleKeyDown = other => event => {\n if (other.onKeyDown) {\n other.onKeyDown(event);\n }\n if (event.defaultMuiPrevented) {\n return;\n }\n if (focusedTag !== -1 && ['ArrowLeft', 'ArrowRight'].indexOf(event.key) === -1) {\n setFocusedTag(-1);\n focusTag(-1);\n }\n\n // Wait until IME is settled.\n if (event.which !== 229) {\n switch (event.key) {\n case 'Home':\n if (popupOpen && handleHomeEndKeys) {\n // Prevent scroll of the page\n event.preventDefault();\n changeHighlightedIndex({\n diff: 'start',\n direction: 'next',\n reason: 'keyboard',\n event\n });\n }\n break;\n case 'End':\n if (popupOpen && handleHomeEndKeys) {\n // Prevent scroll of the page\n event.preventDefault();\n changeHighlightedIndex({\n diff: 'end',\n direction: 'previous',\n reason: 'keyboard',\n event\n });\n }\n break;\n case 'PageUp':\n // Prevent scroll of the page\n event.preventDefault();\n changeHighlightedIndex({\n diff: -pageSize,\n direction: 'previous',\n reason: 'keyboard',\n event\n });\n handleOpen(event);\n break;\n case 'PageDown':\n // Prevent scroll of the page\n event.preventDefault();\n changeHighlightedIndex({\n diff: pageSize,\n direction: 'next',\n reason: 'keyboard',\n event\n });\n handleOpen(event);\n break;\n case 'ArrowDown':\n // Prevent cursor move\n event.preventDefault();\n changeHighlightedIndex({\n diff: 1,\n direction: 'next',\n reason: 'keyboard',\n event\n });\n handleOpen(event);\n break;\n case 'ArrowUp':\n // Prevent cursor move\n event.preventDefault();\n changeHighlightedIndex({\n diff: -1,\n direction: 'previous',\n reason: 'keyboard',\n event\n });\n handleOpen(event);\n break;\n case 'ArrowLeft':\n handleFocusTag(event, 'previous');\n break;\n case 'ArrowRight':\n handleFocusTag(event, 'next');\n break;\n case 'Enter':\n if (highlightedIndexRef.current !== -1 && popupOpen) {\n const option = filteredOptions[highlightedIndexRef.current];\n const disabled = getOptionDisabled ? getOptionDisabled(option) : false;\n\n // Avoid early form validation, let the end-users continue filling the form.\n event.preventDefault();\n if (disabled) {\n return;\n }\n selectNewValue(event, option, 'selectOption');\n\n // Move the selection to the end.\n if (autoComplete) {\n inputRef.current.setSelectionRange(inputRef.current.value.length, inputRef.current.value.length);\n }\n } else if (freeSolo && inputValue !== '' && inputValueIsSelectedValue === false) {\n if (multiple) {\n // Allow people to add new values before they submit the form.\n event.preventDefault();\n }\n selectNewValue(event, inputValue, 'createOption', 'freeSolo');\n }\n break;\n case 'Escape':\n if (popupOpen) {\n // Avoid Opera to exit fullscreen mode.\n event.preventDefault();\n // Avoid the Modal to handle the event.\n event.stopPropagation();\n handleClose(event, 'escape');\n } else if (clearOnEscape && (inputValue !== '' || multiple && value.length > 0)) {\n // Avoid Opera to exit fullscreen mode.\n event.preventDefault();\n // Avoid the Modal to handle the event.\n event.stopPropagation();\n handleClear(event);\n }\n break;\n case 'Backspace':\n // Remove the value on the left of the \"cursor\"\n if (multiple && !readOnly && inputValue === '' && value.length > 0) {\n const index = focusedTag === -1 ? value.length - 1 : focusedTag;\n const newValue = value.slice();\n newValue.splice(index, 1);\n handleValue(event, newValue, 'removeOption', {\n option: value[index]\n });\n }\n break;\n case 'Delete':\n // Remove the value on the right of the \"cursor\"\n if (multiple && !readOnly && inputValue === '' && value.length > 0 && focusedTag !== -1) {\n const index = focusedTag;\n const newValue = value.slice();\n newValue.splice(index, 1);\n handleValue(event, newValue, 'removeOption', {\n option: value[index]\n });\n }\n break;\n default:\n }\n }\n };\n const handleFocus = event => {\n setFocused(true);\n if (openOnFocus && !ignoreFocus.current) {\n handleOpen(event);\n }\n };\n const handleBlur = event => {\n // Ignore the event when using the scrollbar with IE11\n if (unstable_isActiveElementInListbox(listboxRef)) {\n inputRef.current.focus();\n return;\n }\n setFocused(false);\n firstFocus.current = true;\n ignoreFocus.current = false;\n if (autoSelect && highlightedIndexRef.current !== -1 && popupOpen) {\n selectNewValue(event, filteredOptions[highlightedIndexRef.current], 'blur');\n } else if (autoSelect && freeSolo && inputValue !== '') {\n selectNewValue(event, inputValue, 'blur', 'freeSolo');\n } else if (clearOnBlur) {\n resetInputValue(event, value);\n }\n handleClose(event, 'blur');\n };\n const handleInputChange = event => {\n const newValue = event.target.value;\n if (inputValue !== newValue) {\n setInputValueState(newValue);\n setInputPristine(false);\n if (onInputChange) {\n onInputChange(event, newValue, 'input');\n }\n }\n if (newValue === '') {\n if (!disableClearable && !multiple) {\n handleValue(event, null, 'clear');\n }\n } else {\n handleOpen(event);\n }\n };\n const handleOptionMouseMove = event => {\n const index = Number(event.currentTarget.getAttribute('data-option-index'));\n if (highlightedIndexRef.current !== index) {\n setHighlightedIndex({\n event,\n index,\n reason: 'mouse'\n });\n }\n };\n const handleOptionTouchStart = event => {\n setHighlightedIndex({\n event,\n index: Number(event.currentTarget.getAttribute('data-option-index')),\n reason: 'touch'\n });\n isTouch.current = true;\n };\n const handleOptionClick = event => {\n const index = Number(event.currentTarget.getAttribute('data-option-index'));\n selectNewValue(event, filteredOptions[index], 'selectOption');\n isTouch.current = false;\n };\n const handleTagDelete = index => event => {\n const newValue = value.slice();\n newValue.splice(index, 1);\n handleValue(event, newValue, 'removeOption', {\n option: value[index]\n });\n };\n const handlePopupIndicator = event => {\n if (open) {\n handleClose(event, 'toggleInput');\n } else {\n handleOpen(event);\n }\n };\n\n // Prevent input blur when interacting with the combobox\n const handleMouseDown = event => {\n // Prevent focusing the input if click is anywhere outside the Autocomplete\n if (!event.currentTarget.contains(event.target)) {\n return;\n }\n if (event.target.getAttribute('id') !== id) {\n event.preventDefault();\n }\n };\n\n // Focus the input when interacting with the combobox\n const handleClick = event => {\n // Prevent focusing the input if click is anywhere outside the Autocomplete\n if (!event.currentTarget.contains(event.target)) {\n return;\n }\n inputRef.current.focus();\n if (selectOnFocus && firstFocus.current && inputRef.current.selectionEnd - inputRef.current.selectionStart === 0) {\n inputRef.current.select();\n }\n firstFocus.current = false;\n };\n const handleInputMouseDown = event => {\n if (!disabledProp && (inputValue === '' || !open)) {\n handlePopupIndicator(event);\n }\n };\n let dirty = freeSolo && inputValue.length > 0;\n dirty = dirty || (multiple ? value.length > 0 : value !== null);\n let groupedOptions = filteredOptions;\n if (groupBy) {\n // used to keep track of key and indexes in the result array\n const indexBy = new Map();\n let warn = false;\n groupedOptions = filteredOptions.reduce((acc, option, index) => {\n const group = groupBy(option);\n if (acc.length > 0 && acc[acc.length - 1].group === group) {\n acc[acc.length - 1].options.push(option);\n } else {\n if (process.env.NODE_ENV !== 'production') {\n if (indexBy.get(group) && !warn) {\n console.warn(`MUI: The options provided combined with the \\`groupBy\\` method of ${componentName} returns duplicated headers.`, 'You can solve the issue by sorting the options with the output of `groupBy`.');\n warn = true;\n }\n indexBy.set(group, true);\n }\n acc.push({\n key: index,\n index,\n group,\n options: [option]\n });\n }\n return acc;\n }, []);\n }\n if (disabledProp && focused) {\n handleBlur();\n }\n return {\n getRootProps: (other = {}) => _extends({\n 'aria-owns': listboxAvailable ? `${id}-listbox` : null\n }, other, {\n onKeyDown: handleKeyDown(other),\n onMouseDown: handleMouseDown,\n onClick: handleClick\n }),\n getInputLabelProps: () => ({\n id: `${id}-label`,\n htmlFor: id\n }),\n getInputProps: () => ({\n id,\n value: inputValue,\n onBlur: handleBlur,\n onFocus: handleFocus,\n onChange: handleInputChange,\n onMouseDown: handleInputMouseDown,\n // if open then this is handled imperatively so don't let react override\n // only have an opinion about this when closed\n 'aria-activedescendant': popupOpen ? '' : null,\n 'aria-autocomplete': autoComplete ? 'both' : 'list',\n 'aria-controls': listboxAvailable ? `${id}-listbox` : undefined,\n 'aria-expanded': listboxAvailable,\n // Disable browser's suggestion that might overlap with the popup.\n // Handle autocomplete but not autofill.\n autoComplete: 'off',\n ref: inputRef,\n autoCapitalize: 'none',\n spellCheck: 'false',\n role: 'combobox',\n disabled: disabledProp\n }),\n getClearProps: () => ({\n tabIndex: -1,\n type: 'button',\n onClick: handleClear\n }),\n getPopupIndicatorProps: () => ({\n tabIndex: -1,\n type: 'button',\n onClick: handlePopupIndicator\n }),\n getTagProps: ({\n index\n }) => _extends({\n key: index,\n 'data-tag-index': index,\n tabIndex: -1\n }, !readOnly && {\n onDelete: handleTagDelete(index)\n }),\n getListboxProps: () => ({\n role: 'listbox',\n id: `${id}-listbox`,\n 'aria-labelledby': `${id}-label`,\n ref: handleListboxRef,\n onMouseDown: event => {\n // Prevent blur\n event.preventDefault();\n }\n }),\n getOptionProps: ({\n index,\n option\n }) => {\n var _getOptionKey;\n const selected = (multiple ? value : [value]).some(value2 => value2 != null && isOptionEqualToValue(option, value2));\n const disabled = getOptionDisabled ? getOptionDisabled(option) : false;\n return {\n key: (_getOptionKey = getOptionKey == null ? void 0 : getOptionKey(option)) != null ? _getOptionKey : getOptionLabel(option),\n tabIndex: -1,\n role: 'option',\n id: `${id}-option-${index}`,\n onMouseMove: handleOptionMouseMove,\n onClick: handleOptionClick,\n onTouchStart: handleOptionTouchStart,\n 'data-option-index': index,\n 'aria-disabled': disabled,\n 'aria-selected': selected\n };\n },\n id,\n inputValue,\n value,\n dirty,\n expanded: popupOpen && anchorEl,\n popupOpen,\n focused: focused || focusedTag !== -1,\n anchorEl,\n setAnchorEl,\n focusedTag,\n groupedOptions\n };\n}\nexport default useAutocomplete;","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If <html> has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on <html>\n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getPopperUtilityClass(slot) {\n return generateUtilityClass('MuiPopper', slot);\n}\nconst popperClasses = generateUtilityClasses('MuiPopper', ['root']);\nexport default popperClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"anchorEl\", \"children\", \"direction\", \"disablePortal\", \"modifiers\", \"open\", \"placement\", \"popperOptions\", \"popperRef\", \"slotProps\", \"slots\", \"TransitionProps\", \"ownerState\"],\n _excluded2 = [\"anchorEl\", \"children\", \"container\", \"direction\", \"disablePortal\", \"keepMounted\", \"modifiers\", \"open\", \"placement\", \"popperOptions\", \"popperRef\", \"style\", \"transition\", \"slotProps\", \"slots\"];\nimport * as React from 'react';\nimport { chainPropTypes, HTMLElementType, refType, unstable_ownerDocument as ownerDocument, unstable_useEnhancedEffect as useEnhancedEffect, unstable_useForkRef as useForkRef } from '@mui/utils';\nimport { createPopper } from '@popperjs/core';\nimport PropTypes from 'prop-types';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport Portal from '../Portal';\nimport { getPopperUtilityClass } from './popperClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction flipPlacement(placement, direction) {\n if (direction === 'ltr') {\n return placement;\n }\n switch (placement) {\n case 'bottom-end':\n return 'bottom-start';\n case 'bottom-start':\n return 'bottom-end';\n case 'top-end':\n return 'top-start';\n case 'top-start':\n return 'top-end';\n default:\n return placement;\n }\n}\nfunction resolveAnchorEl(anchorEl) {\n return typeof anchorEl === 'function' ? anchorEl() : anchorEl;\n}\nfunction isHTMLElement(element) {\n return element.nodeType !== undefined;\n}\nfunction isVirtualElement(element) {\n return !isHTMLElement(element);\n}\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getPopperUtilityClass, classes);\n};\nconst defaultPopperOptions = {};\nconst PopperTooltip = /*#__PURE__*/React.forwardRef(function PopperTooltip(props, forwardedRef) {\n var _slots$root;\n const {\n anchorEl,\n children,\n direction,\n disablePortal,\n modifiers,\n open,\n placement: initialPlacement,\n popperOptions,\n popperRef: popperRefProp,\n slotProps = {},\n slots = {},\n TransitionProps\n // @ts-ignore internal logic\n // prevent from spreading to DOM, it can come from the parent component e.g. Select.\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const tooltipRef = React.useRef(null);\n const ownRef = useForkRef(tooltipRef, forwardedRef);\n const popperRef = React.useRef(null);\n const handlePopperRef = useForkRef(popperRef, popperRefProp);\n const handlePopperRefRef = React.useRef(handlePopperRef);\n useEnhancedEffect(() => {\n handlePopperRefRef.current = handlePopperRef;\n }, [handlePopperRef]);\n React.useImperativeHandle(popperRefProp, () => popperRef.current, []);\n const rtlPlacement = flipPlacement(initialPlacement, direction);\n /**\n * placement initialized from prop but can change during lifetime if modifiers.flip.\n * modifiers.flip is essentially a flip for controlled/uncontrolled behavior\n */\n const [placement, setPlacement] = React.useState(rtlPlacement);\n const [resolvedAnchorElement, setResolvedAnchorElement] = React.useState(resolveAnchorEl(anchorEl));\n React.useEffect(() => {\n if (popperRef.current) {\n popperRef.current.forceUpdate();\n }\n });\n React.useEffect(() => {\n if (anchorEl) {\n setResolvedAnchorElement(resolveAnchorEl(anchorEl));\n }\n }, [anchorEl]);\n useEnhancedEffect(() => {\n if (!resolvedAnchorElement || !open) {\n return undefined;\n }\n const handlePopperUpdate = data => {\n setPlacement(data.placement);\n };\n if (process.env.NODE_ENV !== 'production') {\n if (resolvedAnchorElement && isHTMLElement(resolvedAnchorElement) && resolvedAnchorElement.nodeType === 1) {\n const box = resolvedAnchorElement.getBoundingClientRect();\n if (process.env.NODE_ENV !== 'test' && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n console.warn(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', \"Make sure the element is present in the document or that it's not display none.\"].join('\\n'));\n }\n }\n }\n let popperModifiers = [{\n name: 'preventOverflow',\n options: {\n altBoundary: disablePortal\n }\n }, {\n name: 'flip',\n options: {\n altBoundary: disablePortal\n }\n }, {\n name: 'onUpdate',\n enabled: true,\n phase: 'afterWrite',\n fn: ({\n state\n }) => {\n handlePopperUpdate(state);\n }\n }];\n if (modifiers != null) {\n popperModifiers = popperModifiers.concat(modifiers);\n }\n if (popperOptions && popperOptions.modifiers != null) {\n popperModifiers = popperModifiers.concat(popperOptions.modifiers);\n }\n const popper = createPopper(resolvedAnchorElement, tooltipRef.current, _extends({\n placement: rtlPlacement\n }, popperOptions, {\n modifiers: popperModifiers\n }));\n handlePopperRefRef.current(popper);\n return () => {\n popper.destroy();\n handlePopperRefRef.current(null);\n };\n }, [resolvedAnchorElement, disablePortal, modifiers, open, popperOptions, rtlPlacement]);\n const childProps = {\n placement: placement\n };\n if (TransitionProps !== null) {\n childProps.TransitionProps = TransitionProps;\n }\n const classes = useUtilityClasses(props);\n const Root = (_slots$root = slots.root) != null ? _slots$root : 'div';\n const rootProps = useSlotProps({\n elementType: Root,\n externalSlotProps: slotProps.root,\n externalForwardedProps: other,\n additionalProps: {\n role: 'tooltip',\n ref: ownRef\n },\n ownerState: props,\n className: classes.root\n });\n return /*#__PURE__*/_jsx(Root, _extends({}, rootProps, {\n children: typeof children === 'function' ? children(childProps) : children\n }));\n});\n\n/**\n * @ignore - internal component.\n */\nconst Popper = /*#__PURE__*/React.forwardRef(function Popper(props, forwardedRef) {\n const {\n anchorEl,\n children,\n container: containerProp,\n direction = 'ltr',\n disablePortal = false,\n keepMounted = false,\n modifiers,\n open,\n placement = 'bottom',\n popperOptions = defaultPopperOptions,\n popperRef,\n style,\n transition = false,\n slotProps = {},\n slots = {}\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n const [exited, setExited] = React.useState(true);\n const handleEnter = () => {\n setExited(false);\n };\n const handleExited = () => {\n setExited(true);\n };\n if (!keepMounted && !open && (!transition || exited)) {\n return null;\n }\n\n // If the container prop is provided, use that\n // If the anchorEl prop is provided, use its parent body element as the container\n // If neither are provided let the Modal take care of choosing the container\n let container;\n if (containerProp) {\n container = containerProp;\n } else if (anchorEl) {\n const resolvedAnchorEl = resolveAnchorEl(anchorEl);\n container = resolvedAnchorEl && isHTMLElement(resolvedAnchorEl) ? ownerDocument(resolvedAnchorEl).body : ownerDocument(null).body;\n }\n const display = !open && keepMounted && (!transition || exited) ? 'none' : undefined;\n const transitionProps = transition ? {\n in: open,\n onEnter: handleEnter,\n onExited: handleExited\n } : undefined;\n return /*#__PURE__*/_jsx(Portal, {\n disablePortal: disablePortal,\n container: container,\n children: /*#__PURE__*/_jsx(PopperTooltip, _extends({\n anchorEl: anchorEl,\n direction: direction,\n disablePortal: disablePortal,\n modifiers: modifiers,\n ref: forwardedRef,\n open: transition ? !exited : open,\n placement: placement,\n popperOptions: popperOptions,\n popperRef: popperRef,\n slotProps: slotProps,\n slots: slots\n }, other, {\n style: _extends({\n // Prevents scroll issue, waiting for Popper.js to add this style once initiated.\n position: 'fixed',\n // Fix Popper.js display issue\n top: 0,\n left: 0,\n display\n }, style),\n TransitionProps: transitionProps,\n children: children\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Popper.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * An HTML element, [virtualElement](https://popper.js.org/docs/v2/virtual-elements/),\n * or a function that returns either.\n * It's used to set the position of the popper.\n * The return value will passed as the reference object of the Popper instance.\n */\n anchorEl: chainPropTypes(PropTypes.oneOfType([HTMLElementType, PropTypes.object, PropTypes.func]), props => {\n if (props.open) {\n const resolvedAnchorEl = resolveAnchorEl(props.anchorEl);\n if (resolvedAnchorEl && isHTMLElement(resolvedAnchorEl) && resolvedAnchorEl.nodeType === 1) {\n const box = resolvedAnchorEl.getBoundingClientRect();\n if (process.env.NODE_ENV !== 'test' && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n return new Error(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', \"Make sure the element is present in the document or that it's not display none.\"].join('\\n'));\n }\n } else if (!resolvedAnchorEl || typeof resolvedAnchorEl.getBoundingClientRect !== 'function' || isVirtualElement(resolvedAnchorEl) && resolvedAnchorEl.contextElement != null && resolvedAnchorEl.contextElement.nodeType !== 1) {\n return new Error(['MUI: The `anchorEl` prop provided to the component is invalid.', 'It should be an HTML element instance or a virtualElement ', '(https://popper.js.org/docs/v2/virtual-elements/).'].join('\\n'));\n }\n }\n return null;\n }),\n /**\n * Popper render function or node.\n */\n children: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.node, PropTypes.func]),\n /**\n * An HTML element or function that returns one.\n * The `container` will have the portal children appended to it.\n *\n * You can also provide a callback, which is called in a React layout effect.\n * This lets you set the container from a ref, and also makes server-side rendering possible.\n *\n * By default, it uses the body of the top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * Direction of the text.\n * @default 'ltr'\n */\n direction: PropTypes.oneOf(['ltr', 'rtl']),\n /**\n * The `children` will be under the DOM hierarchy of the parent component.\n * @default false\n */\n disablePortal: PropTypes.bool,\n /**\n * Always keep the children in the DOM.\n * This prop can be useful in SEO situation or\n * when you want to maximize the responsiveness of the Popper.\n * @default false\n */\n keepMounted: PropTypes.bool,\n /**\n * Popper.js is based on a \"plugin-like\" architecture,\n * most of its features are fully encapsulated \"modifiers\".\n *\n * A modifier is a function that is called each time Popper.js needs to\n * compute the position of the popper.\n * For this reason, modifiers should be very performant to avoid bottlenecks.\n * To learn how to create a modifier, [read the modifiers documentation](https://popper.js.org/docs/v2/modifiers/).\n */\n modifiers: PropTypes.arrayOf(PropTypes.shape({\n data: PropTypes.object,\n effect: PropTypes.func,\n enabled: PropTypes.bool,\n fn: PropTypes.func,\n name: PropTypes.any,\n options: PropTypes.object,\n phase: PropTypes.oneOf(['afterMain', 'afterRead', 'afterWrite', 'beforeMain', 'beforeRead', 'beforeWrite', 'main', 'read', 'write']),\n requires: PropTypes.arrayOf(PropTypes.string),\n requiresIfExists: PropTypes.arrayOf(PropTypes.string)\n })),\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * Popper placement.\n * @default 'bottom'\n */\n placement: PropTypes.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),\n /**\n * Options provided to the [`Popper.js`](https://popper.js.org/docs/v2/constructors/#options) instance.\n * @default {}\n */\n popperOptions: PropTypes.shape({\n modifiers: PropTypes.array,\n onFirstUpdate: PropTypes.func,\n placement: PropTypes.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),\n strategy: PropTypes.oneOf(['absolute', 'fixed'])\n }),\n /**\n * A ref that points to the used popper instance.\n */\n popperRef: refType,\n /**\n * The props used for each slot inside the Popper.\n * @default {}\n */\n slotProps: PropTypes.shape({\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside the Popper.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n slots: PropTypes.shape({\n root: PropTypes.elementType\n }),\n /**\n * Help supporting a react-transition-group/Transition component.\n * @default false\n */\n transition: PropTypes.bool\n} : void 0;\nexport default Popper;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"anchorEl\", \"component\", \"components\", \"componentsProps\", \"container\", \"disablePortal\", \"keepMounted\", \"modifiers\", \"open\", \"placement\", \"popperOptions\", \"popperRef\", \"transition\", \"slots\", \"slotProps\"];\nimport useTheme from '@mui/system/useThemeWithoutDefault';\nimport refType from '@mui/utils/refType';\nimport HTMLElementType from '@mui/utils/HTMLElementType';\nimport PropTypes from 'prop-types';\nimport * as React from 'react';\nimport BasePopper from './BasePopper';\nimport { styled } from '../styles';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst PopperRoot = styled(BasePopper, {\n name: 'MuiPopper',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\n\n/**\n *\n * Demos:\n *\n * - [Autocomplete](https://mui.com/material-ui/react-autocomplete/)\n * - [Menu](https://mui.com/material-ui/react-menu/)\n * - [Popper](https://mui.com/material-ui/react-popper/)\n *\n * API:\n *\n * - [Popper API](https://mui.com/material-ui/api/popper/)\n */\nconst Popper = /*#__PURE__*/React.forwardRef(function Popper(inProps, ref) {\n var _slots$root;\n const theme = useTheme();\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiPopper'\n });\n const {\n anchorEl,\n component,\n components,\n componentsProps,\n container,\n disablePortal,\n keepMounted,\n modifiers,\n open,\n placement,\n popperOptions,\n popperRef,\n transition,\n slots,\n slotProps\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const RootComponent = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : components == null ? void 0 : components.Root;\n const otherProps = _extends({\n anchorEl,\n container,\n disablePortal,\n keepMounted,\n modifiers,\n open,\n placement,\n popperOptions,\n popperRef,\n transition\n }, other);\n return /*#__PURE__*/_jsx(PopperRoot, _extends({\n as: component,\n direction: theme == null ? void 0 : theme.direction,\n slots: {\n root: RootComponent\n },\n slotProps: slotProps != null ? slotProps : componentsProps\n }, otherProps, {\n ref: ref\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Popper.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * An HTML element, [virtualElement](https://popper.js.org/docs/v2/virtual-elements/),\n * or a function that returns either.\n * It's used to set the position of the popper.\n * The return value will passed as the reference object of the Popper instance.\n */\n anchorEl: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.object, PropTypes.func]),\n /**\n * Popper render function or node.\n */\n children: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.node, PropTypes.func]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The components used for each slot inside the Popper.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n components: PropTypes.shape({\n Root: PropTypes.elementType\n }),\n /**\n * The props used for each slot inside the Popper.\n * @default {}\n */\n componentsProps: PropTypes.shape({\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * An HTML element or function that returns one.\n * The `container` will have the portal children appended to it.\n *\n * You can also provide a callback, which is called in a React layout effect.\n * This lets you set the container from a ref, and also makes server-side rendering possible.\n *\n * By default, it uses the body of the top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * The `children` will be under the DOM hierarchy of the parent component.\n * @default false\n */\n disablePortal: PropTypes.bool,\n /**\n * Always keep the children in the DOM.\n * This prop can be useful in SEO situation or\n * when you want to maximize the responsiveness of the Popper.\n * @default false\n */\n keepMounted: PropTypes.bool,\n /**\n * Popper.js is based on a \"plugin-like\" architecture,\n * most of its features are fully encapsulated \"modifiers\".\n *\n * A modifier is a function that is called each time Popper.js needs to\n * compute the position of the popper.\n * For this reason, modifiers should be very performant to avoid bottlenecks.\n * To learn how to create a modifier, [read the modifiers documentation](https://popper.js.org/docs/v2/modifiers/).\n */\n modifiers: PropTypes.arrayOf(PropTypes.shape({\n data: PropTypes.object,\n effect: PropTypes.func,\n enabled: PropTypes.bool,\n fn: PropTypes.func,\n name: PropTypes.any,\n options: PropTypes.object,\n phase: PropTypes.oneOf(['afterMain', 'afterRead', 'afterWrite', 'beforeMain', 'beforeRead', 'beforeWrite', 'main', 'read', 'write']),\n requires: PropTypes.arrayOf(PropTypes.string),\n requiresIfExists: PropTypes.arrayOf(PropTypes.string)\n })),\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * Popper placement.\n * @default 'bottom'\n */\n placement: PropTypes.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),\n /**\n * Options provided to the [`Popper.js`](https://popper.js.org/docs/v2/constructors/#options) instance.\n * @default {}\n */\n popperOptions: PropTypes.shape({\n modifiers: PropTypes.array,\n onFirstUpdate: PropTypes.func,\n placement: PropTypes.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),\n strategy: PropTypes.oneOf(['absolute', 'fixed'])\n }),\n /**\n * A ref that points to the used popper instance.\n */\n popperRef: refType,\n /**\n * The props used for each slot inside the Popper.\n * @default {}\n */\n slotProps: PropTypes.shape({\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside the Popper.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n slots: PropTypes.shape({\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Help supporting a react-transition-group/Transition component.\n * @default false\n */\n transition: PropTypes.bool\n} : void 0;\nexport default Popper;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListSubheaderUtilityClass(slot) {\n return generateUtilityClass('MuiListSubheader', slot);\n}\nconst listSubheaderClasses = generateUtilityClasses('MuiListSubheader', ['root', 'colorPrimary', 'colorInherit', 'gutters', 'inset', 'sticky']);\nexport default listSubheaderClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"component\", \"disableGutters\", \"disableSticky\", \"inset\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport capitalize from '../utils/capitalize';\nimport { getListSubheaderUtilityClass } from './listSubheaderClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n disableGutters,\n inset,\n disableSticky\n } = ownerState;\n const slots = {\n root: ['root', color !== 'default' && `color${capitalize(color)}`, !disableGutters && 'gutters', inset && 'inset', !disableSticky && 'sticky']\n };\n return composeClasses(slots, getListSubheaderUtilityClass, classes);\n};\nconst ListSubheaderRoot = styled('li', {\n name: 'MuiListSubheader',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`], !ownerState.disableGutters && styles.gutters, ownerState.inset && styles.inset, !ownerState.disableSticky && styles.sticky];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n boxSizing: 'border-box',\n lineHeight: '48px',\n listStyle: 'none',\n color: (theme.vars || theme).palette.text.secondary,\n fontFamily: theme.typography.fontFamily,\n fontWeight: theme.typography.fontWeightMedium,\n fontSize: theme.typography.pxToRem(14)\n}, ownerState.color === 'primary' && {\n color: (theme.vars || theme).palette.primary.main\n}, ownerState.color === 'inherit' && {\n color: 'inherit'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.inset && {\n paddingLeft: 72\n}, !ownerState.disableSticky && {\n position: 'sticky',\n top: 0,\n zIndex: 1,\n backgroundColor: (theme.vars || theme).palette.background.paper\n}));\nconst ListSubheader = /*#__PURE__*/React.forwardRef(function ListSubheader(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiListSubheader'\n });\n const {\n className,\n color = 'default',\n component = 'li',\n disableGutters = false,\n disableSticky = false,\n inset = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n component,\n disableGutters,\n disableSticky,\n inset\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(ListSubheaderRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState\n }, other));\n});\nListSubheader.muiSkipListHighlight = true;\nprocess.env.NODE_ENV !== \"production\" ? ListSubheader.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'default'\n */\n color: PropTypes.oneOf(['default', 'inherit', 'primary']),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the List Subheader will not have gutters.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * If `true`, the List Subheader will not stick to the top during scroll.\n * @default false\n */\n disableSticky: PropTypes.bool,\n /**\n * If `true`, the List Subheader is indented.\n * @default false\n */\n inset: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default ListSubheader;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n *\n * Alias to `Clear`.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAutocompleteUtilityClass(slot) {\n return generateUtilityClass('MuiAutocomplete', slot);\n}\nconst autocompleteClasses = generateUtilityClasses('MuiAutocomplete', ['root', 'expanded', 'fullWidth', 'focused', 'focusVisible', 'tag', 'tagSizeSmall', 'tagSizeMedium', 'hasPopupIcon', 'hasClearIcon', 'inputRoot', 'input', 'inputFocused', 'endAdornment', 'clearIndicator', 'popupIndicator', 'popupIndicatorOpen', 'popper', 'popperDisablePortal', 'paper', 'listbox', 'loading', 'noOptions', 'option', 'groupLabel', 'groupUl']);\nexport default autocompleteClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nvar _ClearIcon, _ArrowDropDownIcon;\nconst _excluded = [\"autoComplete\", \"autoHighlight\", \"autoSelect\", \"blurOnSelect\", \"ChipProps\", \"className\", \"clearIcon\", \"clearOnBlur\", \"clearOnEscape\", \"clearText\", \"closeText\", \"componentsProps\", \"defaultValue\", \"disableClearable\", \"disableCloseOnSelect\", \"disabled\", \"disabledItemsFocusable\", \"disableListWrap\", \"disablePortal\", \"filterOptions\", \"filterSelectedOptions\", \"forcePopupIcon\", \"freeSolo\", \"fullWidth\", \"getLimitTagsText\", \"getOptionDisabled\", \"getOptionKey\", \"getOptionLabel\", \"isOptionEqualToValue\", \"groupBy\", \"handleHomeEndKeys\", \"id\", \"includeInputInList\", \"inputValue\", \"limitTags\", \"ListboxComponent\", \"ListboxProps\", \"loading\", \"loadingText\", \"multiple\", \"noOptionsText\", \"onChange\", \"onClose\", \"onHighlightChange\", \"onInputChange\", \"onOpen\", \"open\", \"openOnFocus\", \"openText\", \"options\", \"PaperComponent\", \"PopperComponent\", \"popupIcon\", \"readOnly\", \"renderGroup\", \"renderInput\", \"renderOption\", \"renderTags\", \"selectOnFocus\", \"size\", \"slotProps\", \"value\"],\n _excluded2 = [\"ref\"],\n _excluded3 = [\"key\"],\n _excluded4 = [\"key\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport integerPropType from '@mui/utils/integerPropType';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport useAutocomplete, { createFilterOptions } from '../useAutocomplete';\nimport Popper from '../Popper';\nimport ListSubheader from '../ListSubheader';\nimport Paper from '../Paper';\nimport IconButton from '../IconButton';\nimport Chip from '../Chip';\nimport inputClasses from '../Input/inputClasses';\nimport inputBaseClasses from '../InputBase/inputBaseClasses';\nimport outlinedInputClasses from '../OutlinedInput/outlinedInputClasses';\nimport filledInputClasses from '../FilledInput/filledInputClasses';\nimport ClearIcon from '../internal/svg-icons/Close';\nimport ArrowDropDownIcon from '../internal/svg-icons/ArrowDropDown';\nimport { styled } from '../zero-styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport autocompleteClasses, { getAutocompleteUtilityClass } from './autocompleteClasses';\nimport capitalize from '../utils/capitalize';\nimport useForkRef from '../utils/useForkRef';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePortal,\n expanded,\n focused,\n fullWidth,\n hasClearIcon,\n hasPopupIcon,\n inputFocused,\n popupOpen,\n size\n } = ownerState;\n const slots = {\n root: ['root', expanded && 'expanded', focused && 'focused', fullWidth && 'fullWidth', hasClearIcon && 'hasClearIcon', hasPopupIcon && 'hasPopupIcon'],\n inputRoot: ['inputRoot'],\n input: ['input', inputFocused && 'inputFocused'],\n tag: ['tag', `tagSize${capitalize(size)}`],\n endAdornment: ['endAdornment'],\n clearIndicator: ['clearIndicator'],\n popupIndicator: ['popupIndicator', popupOpen && 'popupIndicatorOpen'],\n popper: ['popper', disablePortal && 'popperDisablePortal'],\n paper: ['paper'],\n listbox: ['listbox'],\n loading: ['loading'],\n noOptions: ['noOptions'],\n option: ['option'],\n groupLabel: ['groupLabel'],\n groupUl: ['groupUl']\n };\n return composeClasses(slots, getAutocompleteUtilityClass, classes);\n};\nconst AutocompleteRoot = styled('div', {\n name: 'MuiAutocomplete',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n const {\n fullWidth,\n hasClearIcon,\n hasPopupIcon,\n inputFocused,\n size\n } = ownerState;\n return [{\n [`& .${autocompleteClasses.tag}`]: styles.tag\n }, {\n [`& .${autocompleteClasses.tag}`]: styles[`tagSize${capitalize(size)}`]\n }, {\n [`& .${autocompleteClasses.inputRoot}`]: styles.inputRoot\n }, {\n [`& .${autocompleteClasses.input}`]: styles.input\n }, {\n [`& .${autocompleteClasses.input}`]: inputFocused && styles.inputFocused\n }, styles.root, fullWidth && styles.fullWidth, hasPopupIcon && styles.hasPopupIcon, hasClearIcon && styles.hasClearIcon];\n }\n})({\n [`&.${autocompleteClasses.focused} .${autocompleteClasses.clearIndicator}`]: {\n visibility: 'visible'\n },\n /* Avoid double tap issue on iOS */\n '@media (pointer: fine)': {\n [`&:hover .${autocompleteClasses.clearIndicator}`]: {\n visibility: 'visible'\n }\n },\n [`& .${autocompleteClasses.tag}`]: {\n margin: 3,\n maxWidth: 'calc(100% - 6px)'\n },\n [`& .${autocompleteClasses.inputRoot}`]: {\n [`.${autocompleteClasses.hasPopupIcon}&, .${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 26 + 4\n },\n [`.${autocompleteClasses.hasPopupIcon}.${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 52 + 4\n },\n [`& .${autocompleteClasses.input}`]: {\n width: 0,\n minWidth: 30\n }\n },\n [`& .${inputClasses.root}`]: {\n paddingBottom: 1,\n '& .MuiInput-input': {\n padding: '4px 4px 4px 0px'\n }\n },\n [`& .${inputClasses.root}.${inputBaseClasses.sizeSmall}`]: {\n [`& .${inputClasses.input}`]: {\n padding: '2px 4px 3px 0'\n }\n },\n [`& .${outlinedInputClasses.root}`]: {\n padding: 9,\n [`.${autocompleteClasses.hasPopupIcon}&, .${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 26 + 4 + 9\n },\n [`.${autocompleteClasses.hasPopupIcon}.${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 52 + 4 + 9\n },\n [`& .${autocompleteClasses.input}`]: {\n padding: '7.5px 4px 7.5px 5px'\n },\n [`& .${autocompleteClasses.endAdornment}`]: {\n right: 9\n }\n },\n [`& .${outlinedInputClasses.root}.${inputBaseClasses.sizeSmall}`]: {\n // Don't specify paddingRight, as it overrides the default value set when there is only\n // one of the popup or clear icon as the specificity is equal so the latter one wins\n paddingTop: 6,\n paddingBottom: 6,\n paddingLeft: 6,\n [`& .${autocompleteClasses.input}`]: {\n padding: '2.5px 4px 2.5px 8px'\n }\n },\n [`& .${filledInputClasses.root}`]: {\n paddingTop: 19,\n paddingLeft: 8,\n [`.${autocompleteClasses.hasPopupIcon}&, .${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 26 + 4 + 9\n },\n [`.${autocompleteClasses.hasPopupIcon}.${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 52 + 4 + 9\n },\n [`& .${filledInputClasses.input}`]: {\n padding: '7px 4px'\n },\n [`& .${autocompleteClasses.endAdornment}`]: {\n right: 9\n }\n },\n [`& .${filledInputClasses.root}.${inputBaseClasses.sizeSmall}`]: {\n paddingBottom: 1,\n [`& .${filledInputClasses.input}`]: {\n padding: '2.5px 4px'\n }\n },\n [`& .${inputBaseClasses.hiddenLabel}`]: {\n paddingTop: 8\n },\n [`& .${filledInputClasses.root}.${inputBaseClasses.hiddenLabel}`]: {\n paddingTop: 0,\n paddingBottom: 0,\n [`& .${autocompleteClasses.input}`]: {\n paddingTop: 16,\n paddingBottom: 17\n }\n },\n [`& .${filledInputClasses.root}.${inputBaseClasses.hiddenLabel}.${inputBaseClasses.sizeSmall}`]: {\n [`& .${autocompleteClasses.input}`]: {\n paddingTop: 8,\n paddingBottom: 9\n }\n },\n [`& .${autocompleteClasses.input}`]: {\n flexGrow: 1,\n textOverflow: 'ellipsis',\n opacity: 0\n },\n variants: [{\n props: {\n fullWidth: true\n },\n style: {\n width: '100%'\n }\n }, {\n props: {\n size: 'small'\n },\n style: {\n [`& .${autocompleteClasses.tag}`]: {\n margin: 2,\n maxWidth: 'calc(100% - 4px)'\n }\n }\n }, {\n props: {\n inputFocused: true\n },\n style: {\n [`& .${autocompleteClasses.input}`]: {\n opacity: 1\n }\n }\n }, {\n props: {\n multiple: true\n },\n style: {\n [`& .${autocompleteClasses.inputRoot}`]: {\n flexWrap: 'wrap'\n }\n }\n }]\n});\nconst AutocompleteEndAdornment = styled('div', {\n name: 'MuiAutocomplete',\n slot: 'EndAdornment',\n overridesResolver: (props, styles) => styles.endAdornment\n})({\n // We use a position absolute to support wrapping tags.\n position: 'absolute',\n right: 0,\n top: '50%',\n transform: 'translate(0, -50%)'\n});\nconst AutocompleteClearIndicator = styled(IconButton, {\n name: 'MuiAutocomplete',\n slot: 'ClearIndicator',\n overridesResolver: (props, styles) => styles.clearIndicator\n})({\n marginRight: -2,\n padding: 4,\n visibility: 'hidden'\n});\nconst AutocompletePopupIndicator = styled(IconButton, {\n name: 'MuiAutocomplete',\n slot: 'PopupIndicator',\n overridesResolver: ({\n ownerState\n }, styles) => _extends({}, styles.popupIndicator, ownerState.popupOpen && styles.popupIndicatorOpen)\n})({\n padding: 2,\n marginRight: -2,\n variants: [{\n props: {\n popupOpen: true\n },\n style: {\n transform: 'rotate(180deg)'\n }\n }]\n});\nconst AutocompletePopper = styled(Popper, {\n name: 'MuiAutocomplete',\n slot: 'Popper',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${autocompleteClasses.option}`]: styles.option\n }, styles.popper, ownerState.disablePortal && styles.popperDisablePortal];\n }\n})(({\n theme\n}) => ({\n zIndex: (theme.vars || theme).zIndex.modal,\n variants: [{\n props: {\n disablePortal: true\n },\n style: {\n position: 'absolute'\n }\n }]\n}));\nconst AutocompletePaper = styled(Paper, {\n name: 'MuiAutocomplete',\n slot: 'Paper',\n overridesResolver: (props, styles) => styles.paper\n})(({\n theme\n}) => _extends({}, theme.typography.body1, {\n overflow: 'auto'\n}));\nconst AutocompleteLoading = styled('div', {\n name: 'MuiAutocomplete',\n slot: 'Loading',\n overridesResolver: (props, styles) => styles.loading\n})(({\n theme\n}) => ({\n color: (theme.vars || theme).palette.text.secondary,\n padding: '14px 16px'\n}));\nconst AutocompleteNoOptions = styled('div', {\n name: 'MuiAutocomplete',\n slot: 'NoOptions',\n overridesResolver: (props, styles) => styles.noOptions\n})(({\n theme\n}) => ({\n color: (theme.vars || theme).palette.text.secondary,\n padding: '14px 16px'\n}));\nconst AutocompleteListbox = styled('div', {\n name: 'MuiAutocomplete',\n slot: 'Listbox',\n overridesResolver: (props, styles) => styles.listbox\n})(({\n theme\n}) => ({\n listStyle: 'none',\n margin: 0,\n padding: '8px 0',\n maxHeight: '40vh',\n overflow: 'auto',\n position: 'relative',\n [`& .${autocompleteClasses.option}`]: {\n minHeight: 48,\n display: 'flex',\n overflow: 'hidden',\n justifyContent: 'flex-start',\n alignItems: 'center',\n cursor: 'pointer',\n paddingTop: 6,\n boxSizing: 'border-box',\n outline: '0',\n WebkitTapHighlightColor: 'transparent',\n paddingBottom: 6,\n paddingLeft: 16,\n paddingRight: 16,\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n },\n [`&.${autocompleteClasses.focused}`]: {\n backgroundColor: (theme.vars || theme).palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n '&[aria-disabled=\"true\"]': {\n opacity: (theme.vars || theme).palette.action.disabledOpacity,\n pointerEvents: 'none'\n },\n [`&.${autocompleteClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n '&[aria-selected=\"true\"]': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${autocompleteClasses.focused}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: (theme.vars || theme).palette.action.selected\n }\n },\n [`&.${autocompleteClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n }\n }\n}));\nconst AutocompleteGroupLabel = styled(ListSubheader, {\n name: 'MuiAutocomplete',\n slot: 'GroupLabel',\n overridesResolver: (props, styles) => styles.groupLabel\n})(({\n theme\n}) => ({\n backgroundColor: (theme.vars || theme).palette.background.paper,\n top: -8\n}));\nconst AutocompleteGroupUl = styled('ul', {\n name: 'MuiAutocomplete',\n slot: 'GroupUl',\n overridesResolver: (props, styles) => styles.groupUl\n})({\n padding: 0,\n [`& .${autocompleteClasses.option}`]: {\n paddingLeft: 24\n }\n});\nexport { createFilterOptions };\nconst Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps, ref) {\n var _slotProps$clearIndic, _slotProps$paper, _slotProps$popper, _slotProps$popupIndic;\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiAutocomplete'\n });\n\n /* eslint-disable @typescript-eslint/no-unused-vars */\n const {\n autoComplete = false,\n autoHighlight = false,\n autoSelect = false,\n blurOnSelect = false,\n ChipProps,\n className,\n clearIcon = _ClearIcon || (_ClearIcon = /*#__PURE__*/_jsx(ClearIcon, {\n fontSize: \"small\"\n })),\n clearOnBlur = !props.freeSolo,\n clearOnEscape = false,\n clearText = 'Clear',\n closeText = 'Close',\n componentsProps = {},\n defaultValue = props.multiple ? [] : null,\n disableClearable = false,\n disableCloseOnSelect = false,\n disabled = false,\n disabledItemsFocusable = false,\n disableListWrap = false,\n disablePortal = false,\n filterSelectedOptions = false,\n forcePopupIcon = 'auto',\n freeSolo = false,\n fullWidth = false,\n getLimitTagsText = more => `+${more}`,\n getOptionLabel: getOptionLabelProp,\n groupBy,\n handleHomeEndKeys = !props.freeSolo,\n includeInputInList = false,\n limitTags = -1,\n ListboxComponent = 'ul',\n ListboxProps,\n loading = false,\n loadingText = 'Loading…',\n multiple = false,\n noOptionsText = 'No options',\n openOnFocus = false,\n openText = 'Open',\n PaperComponent = Paper,\n PopperComponent = Popper,\n popupIcon = _ArrowDropDownIcon || (_ArrowDropDownIcon = /*#__PURE__*/_jsx(ArrowDropDownIcon, {})),\n readOnly = false,\n renderGroup: renderGroupProp,\n renderInput,\n renderOption: renderOptionProp,\n renderTags,\n selectOnFocus = !props.freeSolo,\n size = 'medium',\n slotProps = {}\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n /* eslint-enable @typescript-eslint/no-unused-vars */\n\n const {\n getRootProps,\n getInputProps,\n getInputLabelProps,\n getPopupIndicatorProps,\n getClearProps,\n getTagProps,\n getListboxProps,\n getOptionProps,\n value,\n dirty,\n expanded,\n id,\n popupOpen,\n focused,\n focusedTag,\n anchorEl,\n setAnchorEl,\n inputValue,\n groupedOptions\n } = useAutocomplete(_extends({}, props, {\n componentName: 'Autocomplete'\n }));\n const hasClearIcon = !disableClearable && !disabled && dirty && !readOnly;\n const hasPopupIcon = (!freeSolo || forcePopupIcon === true) && forcePopupIcon !== false;\n const {\n onMouseDown: handleInputMouseDown\n } = getInputProps();\n const {\n ref: externalListboxRef\n } = ListboxProps != null ? ListboxProps : {};\n const _getListboxProps = getListboxProps(),\n {\n ref: listboxRef\n } = _getListboxProps,\n otherListboxProps = _objectWithoutPropertiesLoose(_getListboxProps, _excluded2);\n const combinedListboxRef = useForkRef(listboxRef, externalListboxRef);\n const defaultGetOptionLabel = option => {\n var _option$label;\n return (_option$label = option.label) != null ? _option$label : option;\n };\n const getOptionLabel = getOptionLabelProp || defaultGetOptionLabel;\n\n // If you modify this, make sure to keep the `AutocompleteOwnerState` type in sync.\n const ownerState = _extends({}, props, {\n disablePortal,\n expanded,\n focused,\n fullWidth,\n getOptionLabel,\n hasClearIcon,\n hasPopupIcon,\n inputFocused: focusedTag === -1,\n popupOpen,\n size\n });\n const classes = useUtilityClasses(ownerState);\n let startAdornment;\n if (multiple && value.length > 0) {\n const getCustomizedTagProps = params => _extends({\n className: classes.tag,\n disabled\n }, getTagProps(params));\n if (renderTags) {\n startAdornment = renderTags(value, getCustomizedTagProps, ownerState);\n } else {\n startAdornment = value.map((option, index) => {\n const _getCustomizedTagProp = getCustomizedTagProps({\n index\n }),\n {\n key\n } = _getCustomizedTagProp,\n customTagProps = _objectWithoutPropertiesLoose(_getCustomizedTagProp, _excluded3);\n return /*#__PURE__*/_jsx(Chip, _extends({\n label: getOptionLabel(option),\n size: size\n }, customTagProps, ChipProps), key);\n });\n }\n }\n if (limitTags > -1 && Array.isArray(startAdornment)) {\n const more = startAdornment.length - limitTags;\n if (!focused && more > 0) {\n startAdornment = startAdornment.splice(0, limitTags);\n startAdornment.push( /*#__PURE__*/_jsx(\"span\", {\n className: classes.tag,\n children: getLimitTagsText(more)\n }, startAdornment.length));\n }\n }\n const defaultRenderGroup = params => /*#__PURE__*/_jsxs(\"li\", {\n children: [/*#__PURE__*/_jsx(AutocompleteGroupLabel, {\n className: classes.groupLabel,\n ownerState: ownerState,\n component: \"div\",\n children: params.group\n }), /*#__PURE__*/_jsx(AutocompleteGroupUl, {\n className: classes.groupUl,\n ownerState: ownerState,\n children: params.children\n })]\n }, params.key);\n const renderGroup = renderGroupProp || defaultRenderGroup;\n const defaultRenderOption = (props2, option) => {\n // Need to clearly apply key because of https://github.com/vercel/next.js/issues/55642\n const {\n key\n } = props2,\n otherProps = _objectWithoutPropertiesLoose(props2, _excluded4);\n return /*#__PURE__*/_jsx(\"li\", _extends({}, otherProps, {\n children: getOptionLabel(option)\n }), key);\n };\n const renderOption = renderOptionProp || defaultRenderOption;\n const renderListOption = (option, index) => {\n const optionProps = getOptionProps({\n option,\n index\n });\n return renderOption(_extends({}, optionProps, {\n className: classes.option\n }), option, {\n selected: optionProps['aria-selected'],\n index,\n inputValue\n }, ownerState);\n };\n const clearIndicatorSlotProps = (_slotProps$clearIndic = slotProps.clearIndicator) != null ? _slotProps$clearIndic : componentsProps.clearIndicator;\n const paperSlotProps = (_slotProps$paper = slotProps.paper) != null ? _slotProps$paper : componentsProps.paper;\n const popperSlotProps = (_slotProps$popper = slotProps.popper) != null ? _slotProps$popper : componentsProps.popper;\n const popupIndicatorSlotProps = (_slotProps$popupIndic = slotProps.popupIndicator) != null ? _slotProps$popupIndic : componentsProps.popupIndicator;\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(AutocompleteRoot, _extends({\n ref: ref,\n className: clsx(classes.root, className),\n ownerState: ownerState\n }, getRootProps(other), {\n children: renderInput({\n id,\n disabled,\n fullWidth: true,\n size: size === 'small' ? 'small' : undefined,\n InputLabelProps: getInputLabelProps(),\n InputProps: _extends({\n ref: setAnchorEl,\n className: classes.inputRoot,\n startAdornment,\n onClick: event => {\n if (event.target === event.currentTarget) {\n handleInputMouseDown(event);\n }\n }\n }, (hasClearIcon || hasPopupIcon) && {\n endAdornment: /*#__PURE__*/_jsxs(AutocompleteEndAdornment, {\n className: classes.endAdornment,\n ownerState: ownerState,\n children: [hasClearIcon ? /*#__PURE__*/_jsx(AutocompleteClearIndicator, _extends({}, getClearProps(), {\n \"aria-label\": clearText,\n title: clearText,\n ownerState: ownerState\n }, clearIndicatorSlotProps, {\n className: clsx(classes.clearIndicator, clearIndicatorSlotProps == null ? void 0 : clearIndicatorSlotProps.className),\n children: clearIcon\n })) : null, hasPopupIcon ? /*#__PURE__*/_jsx(AutocompletePopupIndicator, _extends({}, getPopupIndicatorProps(), {\n disabled: disabled,\n \"aria-label\": popupOpen ? closeText : openText,\n title: popupOpen ? closeText : openText,\n ownerState: ownerState\n }, popupIndicatorSlotProps, {\n className: clsx(classes.popupIndicator, popupIndicatorSlotProps == null ? void 0 : popupIndicatorSlotProps.className),\n children: popupIcon\n })) : null]\n })\n }),\n inputProps: _extends({\n className: classes.input,\n disabled,\n readOnly\n }, getInputProps())\n })\n })), anchorEl ? /*#__PURE__*/_jsx(AutocompletePopper, _extends({\n as: PopperComponent,\n disablePortal: disablePortal,\n style: {\n width: anchorEl ? anchorEl.clientWidth : null\n },\n ownerState: ownerState,\n role: \"presentation\",\n anchorEl: anchorEl,\n open: popupOpen\n }, popperSlotProps, {\n className: clsx(classes.popper, popperSlotProps == null ? void 0 : popperSlotProps.className),\n children: /*#__PURE__*/_jsxs(AutocompletePaper, _extends({\n ownerState: ownerState,\n as: PaperComponent\n }, paperSlotProps, {\n className: clsx(classes.paper, paperSlotProps == null ? void 0 : paperSlotProps.className),\n children: [loading && groupedOptions.length === 0 ? /*#__PURE__*/_jsx(AutocompleteLoading, {\n className: classes.loading,\n ownerState: ownerState,\n children: loadingText\n }) : null, groupedOptions.length === 0 && !freeSolo && !loading ? /*#__PURE__*/_jsx(AutocompleteNoOptions, {\n className: classes.noOptions,\n ownerState: ownerState,\n role: \"presentation\",\n onMouseDown: event => {\n // Prevent input blur when interacting with the \"no options\" content\n event.preventDefault();\n },\n children: noOptionsText\n }) : null, groupedOptions.length > 0 ? /*#__PURE__*/_jsx(AutocompleteListbox, _extends({\n as: ListboxComponent,\n className: classes.listbox,\n ownerState: ownerState\n }, otherListboxProps, ListboxProps, {\n ref: combinedListboxRef,\n children: groupedOptions.map((option, index) => {\n if (groupBy) {\n return renderGroup({\n key: option.key,\n group: option.group,\n children: option.options.map((option2, index2) => renderListOption(option2, option.index + index2))\n });\n }\n return renderListOption(option, index);\n })\n })) : null]\n }))\n })) : null]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Autocomplete.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the portion of the selected suggestion that the user hasn't typed,\n * known as the completion string, appears inline after the input cursor in the textbox.\n * The inline completion string is visually highlighted and has a selected state.\n * @default false\n */\n autoComplete: PropTypes.bool,\n /**\n * If `true`, the first option is automatically highlighted.\n * @default false\n */\n autoHighlight: PropTypes.bool,\n /**\n * If `true`, the selected option becomes the value of the input\n * when the Autocomplete loses focus unless the user chooses\n * a different option or changes the character string in the input.\n *\n * When using the `freeSolo` mode, the typed value will be the input value\n * if the Autocomplete loses focus without highlighting an option.\n * @default false\n */\n autoSelect: PropTypes.bool,\n /**\n * Control if the input should be blurred when an option is selected:\n *\n * - `false` the input is not blurred.\n * - `true` the input is always blurred.\n * - `touch` the input is blurred after a touch event.\n * - `mouse` the input is blurred after a mouse event.\n * @default false\n */\n blurOnSelect: PropTypes.oneOfType([PropTypes.oneOf(['mouse', 'touch']), PropTypes.bool]),\n /**\n * Props applied to the [`Chip`](/material-ui/api/chip/) element.\n */\n ChipProps: PropTypes.object,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The icon to display in place of the default clear icon.\n * @default <ClearIcon fontSize=\"small\" />\n */\n clearIcon: PropTypes.node,\n /**\n * If `true`, the input's text is cleared on blur if no value is selected.\n *\n * Set it to `true` if you want to help the user enter a new value.\n * Set it to `false` if you want to help the user resume their search.\n * @default !props.freeSolo\n */\n clearOnBlur: PropTypes.bool,\n /**\n * If `true`, clear all values when the user presses escape and the popup is closed.\n * @default false\n */\n clearOnEscape: PropTypes.bool,\n /**\n * Override the default text for the *clear* icon button.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'Clear'\n */\n clearText: PropTypes.string,\n /**\n * Override the default text for the *close popup* icon button.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'Close'\n */\n closeText: PropTypes.string,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n componentsProps: PropTypes.shape({\n clearIndicator: PropTypes.object,\n paper: PropTypes.object,\n popper: PropTypes.object,\n popupIndicator: PropTypes.object\n }),\n /**\n * The default value. Use when the component is not controlled.\n * @default props.multiple ? [] : null\n */\n defaultValue: chainPropTypes(PropTypes.any, props => {\n if (props.multiple && props.defaultValue !== undefined && !Array.isArray(props.defaultValue)) {\n return new Error(['MUI: The Autocomplete expects the `defaultValue` prop to be an array when `multiple={true}` or undefined.', `However, ${props.defaultValue} was provided.`].join('\\n'));\n }\n return null;\n }),\n /**\n * If `true`, the input can't be cleared.\n * @default false\n */\n disableClearable: PropTypes.bool,\n /**\n * If `true`, the popup won't close when a value is selected.\n * @default false\n */\n disableCloseOnSelect: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, will allow focus on disabled items.\n * @default false\n */\n disabledItemsFocusable: PropTypes.bool,\n /**\n * If `true`, the list box in the popup will not wrap focus.\n * @default false\n */\n disableListWrap: PropTypes.bool,\n /**\n * If `true`, the `Popper` content will be under the DOM hierarchy of the parent component.\n * @default false\n */\n disablePortal: PropTypes.bool,\n /**\n * A function that determines the filtered options to be rendered on search.\n *\n * @default createFilterOptions()\n * @param {Value[]} options The options to render.\n * @param {object} state The state of the component.\n * @returns {Value[]}\n */\n filterOptions: PropTypes.func,\n /**\n * If `true`, hide the selected options from the list box.\n * @default false\n */\n filterSelectedOptions: PropTypes.bool,\n /**\n * Force the visibility display of the popup icon.\n * @default 'auto'\n */\n forcePopupIcon: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.bool]),\n /**\n * If `true`, the Autocomplete is free solo, meaning that the user input is not bound to provided options.\n * @default false\n */\n freeSolo: PropTypes.bool,\n /**\n * If `true`, the input will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * The label to display when the tags are truncated (`limitTags`).\n *\n * @param {number} more The number of truncated tags.\n * @returns {ReactNode}\n * @default (more) => `+${more}`\n */\n getLimitTagsText: PropTypes.func,\n /**\n * Used to determine the disabled state for a given option.\n *\n * @param {Value} option The option to test.\n * @returns {boolean}\n */\n getOptionDisabled: PropTypes.func,\n /**\n * Used to determine the key for a given option.\n * This can be useful when the labels of options are not unique (since labels are used as keys by default).\n *\n * @param {Value} option The option to get the key for.\n * @returns {string | number}\n */\n getOptionKey: PropTypes.func,\n /**\n * Used to determine the string value for a given option.\n * It's used to fill the input (and the list box options if `renderOption` is not provided).\n *\n * If used in free solo mode, it must accept both the type of the options and a string.\n *\n * @param {Value} option\n * @returns {string}\n * @default (option) => option.label ?? option\n */\n getOptionLabel: PropTypes.func,\n /**\n * If provided, the options will be grouped under the returned string.\n * The groupBy value is also used as the text for group headings when `renderGroup` is not provided.\n *\n * @param {Value} options The options to group.\n * @returns {string}\n */\n groupBy: PropTypes.func,\n /**\n * If `true`, the component handles the \"Home\" and \"End\" keys when the popup is open.\n * It should move focus to the first option and last option, respectively.\n * @default !props.freeSolo\n */\n handleHomeEndKeys: PropTypes.bool,\n /**\n * This prop is used to help implement the accessibility logic.\n * If you don't provide an id it will fall back to a randomly generated one.\n */\n id: PropTypes.string,\n /**\n * If `true`, the highlight can move to the input.\n * @default false\n */\n includeInputInList: PropTypes.bool,\n /**\n * The input value.\n */\n inputValue: PropTypes.string,\n /**\n * Used to determine if the option represents the given value.\n * Uses strict equality by default.\n * ⚠️ Both arguments need to be handled, an option can only match with one value.\n *\n * @param {Value} option The option to test.\n * @param {Value} value The value to test against.\n * @returns {boolean}\n */\n isOptionEqualToValue: PropTypes.func,\n /**\n * The maximum number of tags that will be visible when not focused.\n * Set `-1` to disable the limit.\n * @default -1\n */\n limitTags: integerPropType,\n /**\n * The component used to render the listbox.\n * @default 'ul'\n */\n ListboxComponent: PropTypes.elementType,\n /**\n * Props applied to the Listbox element.\n */\n ListboxProps: PropTypes.object,\n /**\n * If `true`, the component is in a loading state.\n * This shows the `loadingText` in place of suggestions (only if there are no suggestions to show, for example `options` are empty).\n * @default false\n */\n loading: PropTypes.bool,\n /**\n * Text to display when in a loading state.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'Loading…'\n */\n loadingText: PropTypes.node,\n /**\n * If `true`, `value` must be an array and the menu will support multiple selections.\n * @default false\n */\n multiple: PropTypes.bool,\n /**\n * Text to display when there are no options.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'No options'\n */\n noOptionsText: PropTypes.node,\n /**\n * Callback fired when the value changes.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n * @param {Value|Value[]} value The new value of the component.\n * @param {string} reason One of \"createOption\", \"selectOption\", \"removeOption\", \"blur\" or \"clear\".\n * @param {string} [details]\n */\n onChange: PropTypes.func,\n /**\n * Callback fired when the popup requests to be closed.\n * Use in controlled mode (see open).\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n * @param {string} reason Can be: `\"toggleInput\"`, `\"escape\"`, `\"selectOption\"`, `\"removeOption\"`, `\"blur\"`.\n */\n onClose: PropTypes.func,\n /**\n * Callback fired when the highlight option changes.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n * @param {Value} option The highlighted option.\n * @param {string} reason Can be: `\"keyboard\"`, `\"auto\"`, `\"mouse\"`, `\"touch\"`.\n */\n onHighlightChange: PropTypes.func,\n /**\n * Callback fired when the input value changes.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n * @param {string} value The new value of the text input.\n * @param {string} reason Can be: `\"input\"` (user input), `\"reset\"` (programmatic change), `\"clear\"`.\n */\n onInputChange: PropTypes.func,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n /**\n * Callback fired when the popup requests to be opened.\n * Use in controlled mode (see open).\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n */\n onOpen: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool,\n /**\n * If `true`, the popup will open on input focus.\n * @default false\n */\n openOnFocus: PropTypes.bool,\n /**\n * Override the default text for the *open popup* icon button.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'Open'\n */\n openText: PropTypes.string,\n /**\n * Array of options.\n */\n options: PropTypes.array.isRequired,\n /**\n * The component used to render the body of the popup.\n * @default Paper\n */\n PaperComponent: PropTypes.elementType,\n /**\n * The component used to position the popup.\n * @default Popper\n */\n PopperComponent: PropTypes.elementType,\n /**\n * The icon to display in place of the default popup icon.\n * @default <ArrowDropDownIcon />\n */\n popupIcon: PropTypes.node,\n /**\n * If `true`, the component becomes readonly. It is also supported for multiple tags where the tag cannot be deleted.\n * @default false\n */\n readOnly: PropTypes.bool,\n /**\n * Render the group.\n *\n * @param {AutocompleteRenderGroupParams} params The group to render.\n * @returns {ReactNode}\n */\n renderGroup: PropTypes.func,\n /**\n * Render the input.\n *\n * @param {object} params\n * @returns {ReactNode}\n */\n renderInput: PropTypes.func.isRequired,\n /**\n * Render the option, use `getOptionLabel` by default.\n *\n * @param {object} props The props to apply on the li element.\n * @param {Value} option The option to render.\n * @param {object} state The state of each option.\n * @param {object} ownerState The state of the Autocomplete component.\n * @returns {ReactNode}\n */\n renderOption: PropTypes.func,\n /**\n * Render the selected value.\n *\n * @param {Value[]} value The `value` provided to the component.\n * @param {function} getTagProps A tag props getter.\n * @param {object} ownerState The state of the Autocomplete component.\n * @returns {ReactNode}\n */\n renderTags: PropTypes.func,\n /**\n * If `true`, the input's text is selected on focus.\n * It helps the user clear the selected value.\n * @default !props.freeSolo\n */\n selectOnFocus: PropTypes.bool,\n /**\n * The size of the component.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium']), PropTypes.string]),\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n clearIndicator: PropTypes.object,\n paper: PropTypes.object,\n popper: PropTypes.object,\n popupIndicator: PropTypes.object\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value of the autocomplete.\n *\n * The value must have reference equality with the option in order to be selected.\n * You can customize the equality behavior with the `isOptionEqualToValue` prop.\n */\n value: chainPropTypes(PropTypes.any, props => {\n if (props.multiple && props.value !== undefined && !Array.isArray(props.value)) {\n return new Error(['MUI: The Autocomplete expects the `value` prop to be an array when `multiple={true}` or undefined.', `However, ${props.value} was provided.`].join('\\n'));\n }\n return null;\n })\n} : void 0;\nexport default Autocomplete;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCircularProgressUtilityClass(slot) {\n return generateUtilityClass('MuiCircularProgress', slot);\n}\nconst circularProgressClasses = generateUtilityClasses('MuiCircularProgress', ['root', 'determinate', 'indeterminate', 'colorPrimary', 'colorSecondary', 'svg', 'circle', 'circleDeterminate', 'circleIndeterminate', 'circleDisableShrink']);\nexport default circularProgressClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"disableShrink\", \"size\", \"style\", \"thickness\", \"value\", \"variant\"];\nlet _ = t => t,\n _t,\n _t2,\n _t3,\n _t4;\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { keyframes, css } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled from '../styles/styled';\nimport { getCircularProgressUtilityClass } from './circularProgressClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst SIZE = 44;\nconst circularRotateKeyframe = keyframes(_t || (_t = _`\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n`));\nconst circularDashKeyframe = keyframes(_t2 || (_t2 = _`\n 0% {\n stroke-dasharray: 1px, 200px;\n stroke-dashoffset: 0;\n }\n\n 50% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -15px;\n }\n\n 100% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -125px;\n }\n`));\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n color,\n disableShrink\n } = ownerState;\n const slots = {\n root: ['root', variant, `color${capitalize(color)}`],\n svg: ['svg'],\n circle: ['circle', `circle${capitalize(variant)}`, disableShrink && 'circleDisableShrink']\n };\n return composeClasses(slots, getCircularProgressUtilityClass, classes);\n};\nconst CircularProgressRoot = styled('span', {\n name: 'MuiCircularProgress',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n display: 'inline-block'\n}, ownerState.variant === 'determinate' && {\n transition: theme.transitions.create('transform')\n}, ownerState.color !== 'inherit' && {\n color: (theme.vars || theme).palette[ownerState.color].main\n}), ({\n ownerState\n}) => ownerState.variant === 'indeterminate' && css(_t3 || (_t3 = _`\n animation: ${0} 1.4s linear infinite;\n `), circularRotateKeyframe));\nconst CircularProgressSVG = styled('svg', {\n name: 'MuiCircularProgress',\n slot: 'Svg',\n overridesResolver: (props, styles) => styles.svg\n})({\n display: 'block' // Keeps the progress centered\n});\nconst CircularProgressCircle = styled('circle', {\n name: 'MuiCircularProgress',\n slot: 'Circle',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.circle, styles[`circle${capitalize(ownerState.variant)}`], ownerState.disableShrink && styles.circleDisableShrink];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n stroke: 'currentColor'\n}, ownerState.variant === 'determinate' && {\n transition: theme.transitions.create('stroke-dashoffset')\n}, ownerState.variant === 'indeterminate' && {\n // Some default value that looks fine waiting for the animation to kicks in.\n strokeDasharray: '80px, 200px',\n strokeDashoffset: 0 // Add the unit to fix a Edge 16 and below bug.\n}), ({\n ownerState\n}) => ownerState.variant === 'indeterminate' && !ownerState.disableShrink && css(_t4 || (_t4 = _`\n animation: ${0} 1.4s ease-in-out infinite;\n `), circularDashKeyframe));\n\n/**\n * ## ARIA\n *\n * If the progress bar is describing the loading progress of a particular region of a page,\n * you should use `aria-describedby` to point to the progress bar, and set the `aria-busy`\n * attribute to `true` on that region until it has finished loading.\n */\nconst CircularProgress = /*#__PURE__*/React.forwardRef(function CircularProgress(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiCircularProgress'\n });\n const {\n className,\n color = 'primary',\n disableShrink = false,\n size = 40,\n style,\n thickness = 3.6,\n value = 0,\n variant = 'indeterminate'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n disableShrink,\n size,\n thickness,\n value,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const circleStyle = {};\n const rootStyle = {};\n const rootProps = {};\n if (variant === 'determinate') {\n const circumference = 2 * Math.PI * ((SIZE - thickness) / 2);\n circleStyle.strokeDasharray = circumference.toFixed(3);\n rootProps['aria-valuenow'] = Math.round(value);\n circleStyle.strokeDashoffset = `${((100 - value) / 100 * circumference).toFixed(3)}px`;\n rootStyle.transform = 'rotate(-90deg)';\n }\n return /*#__PURE__*/_jsx(CircularProgressRoot, _extends({\n className: clsx(classes.root, className),\n style: _extends({\n width: size,\n height: size\n }, rootStyle, style),\n ownerState: ownerState,\n ref: ref,\n role: \"progressbar\"\n }, rootProps, other, {\n children: /*#__PURE__*/_jsx(CircularProgressSVG, {\n className: classes.svg,\n ownerState: ownerState,\n viewBox: `${SIZE / 2} ${SIZE / 2} ${SIZE} ${SIZE}`,\n children: /*#__PURE__*/_jsx(CircularProgressCircle, {\n className: classes.circle,\n style: circleStyle,\n ownerState: ownerState,\n cx: SIZE,\n cy: SIZE,\n r: (SIZE - thickness) / 2,\n fill: \"none\",\n strokeWidth: thickness\n })\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? CircularProgress.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the shrink animation is disabled.\n * This only works if variant is `indeterminate`.\n * @default false\n */\n disableShrink: chainPropTypes(PropTypes.bool, props => {\n if (props.disableShrink && props.variant && props.variant !== 'indeterminate') {\n return new Error('MUI: You have provided the `disableShrink` prop ' + 'with a variant other than `indeterminate`. This will have no effect.');\n }\n return null;\n }),\n /**\n * The size of the component.\n * If using a number, the pixel unit is assumed.\n * If using a string, you need to provide the CSS unit, for example '3rem'.\n * @default 40\n */\n size: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The thickness of the circle.\n * @default 3.6\n */\n thickness: PropTypes.number,\n /**\n * The value of the progress indicator for the determinate variant.\n * Value between 0 and 100.\n * @default 0\n */\n value: PropTypes.number,\n /**\n * The variant to use.\n * Use indeterminate when there is no progress value.\n * @default 'indeterminate'\n */\n variant: PropTypes.oneOf(['determinate', 'indeterminate'])\n} : void 0;\nexport default CircularProgress;","\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z\"\n}), 'Add');","\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z\"\n}), 'Edit');","\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Clear');","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"ownerState\"],\n _excluded2 = [\"variants\"],\n _excluded3 = [\"name\", \"slot\", \"skipVariantsResolver\", \"skipSx\", \"overridesResolver\"];\n/* eslint-disable no-underscore-dangle */\nimport styledEngineStyled, { internal_processStyles as processStyles } from '@mui/styled-engine';\nimport { isPlainObject } from '@mui/utils/deepmerge';\nimport capitalize from '@mui/utils/capitalize';\nimport getDisplayName from '@mui/utils/getDisplayName';\nimport createTheme from './createTheme';\nimport styleFunctionSx from './styleFunctionSx';\nfunction isEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\n\n// https://github.com/emotion-js/emotion/blob/26ded6109fcd8ca9875cc2ce4564fee678a3f3c5/packages/styled/src/utils.js#L40\nfunction isStringTag(tag) {\n return typeof tag === 'string' &&\n // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96;\n}\n\n// Update /system/styled/#api in case if this changes\nexport function shouldForwardProp(prop) {\n return prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as';\n}\nexport const systemDefaultTheme = createTheme();\nconst lowercaseFirstLetter = string => {\n if (!string) {\n return string;\n }\n return string.charAt(0).toLowerCase() + string.slice(1);\n};\nfunction resolveTheme({\n defaultTheme,\n theme,\n themeId\n}) {\n return isEmpty(theme) ? defaultTheme : theme[themeId] || theme;\n}\nfunction defaultOverridesResolver(slot) {\n if (!slot) {\n return null;\n }\n return (props, styles) => styles[slot];\n}\nfunction processStyleArg(callableStyle, _ref) {\n let {\n ownerState\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n const resolvedStylesArg = typeof callableStyle === 'function' ? callableStyle(_extends({\n ownerState\n }, props)) : callableStyle;\n if (Array.isArray(resolvedStylesArg)) {\n return resolvedStylesArg.flatMap(resolvedStyle => processStyleArg(resolvedStyle, _extends({\n ownerState\n }, props)));\n }\n if (!!resolvedStylesArg && typeof resolvedStylesArg === 'object' && Array.isArray(resolvedStylesArg.variants)) {\n const {\n variants = []\n } = resolvedStylesArg,\n otherStyles = _objectWithoutPropertiesLoose(resolvedStylesArg, _excluded2);\n let result = otherStyles;\n variants.forEach(variant => {\n let isMatch = true;\n if (typeof variant.props === 'function') {\n isMatch = variant.props(_extends({\n ownerState\n }, props, ownerState));\n } else {\n Object.keys(variant.props).forEach(key => {\n if ((ownerState == null ? void 0 : ownerState[key]) !== variant.props[key] && props[key] !== variant.props[key]) {\n isMatch = false;\n }\n });\n }\n if (isMatch) {\n if (!Array.isArray(result)) {\n result = [result];\n }\n result.push(typeof variant.style === 'function' ? variant.style(_extends({\n ownerState\n }, props, ownerState)) : variant.style);\n }\n });\n return result;\n }\n return resolvedStylesArg;\n}\nexport default function createStyled(input = {}) {\n const {\n themeId,\n defaultTheme = systemDefaultTheme,\n rootShouldForwardProp = shouldForwardProp,\n slotShouldForwardProp = shouldForwardProp\n } = input;\n const systemSx = props => {\n return styleFunctionSx(_extends({}, props, {\n theme: resolveTheme(_extends({}, props, {\n defaultTheme,\n themeId\n }))\n }));\n };\n systemSx.__mui_systemSx = true;\n return (tag, inputOptions = {}) => {\n // Filter out the `sx` style function from the previous styled component to prevent unnecessary styles generated by the composite components.\n processStyles(tag, styles => styles.filter(style => !(style != null && style.__mui_systemSx)));\n const {\n name: componentName,\n slot: componentSlot,\n skipVariantsResolver: inputSkipVariantsResolver,\n skipSx: inputSkipSx,\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n overridesResolver = defaultOverridesResolver(lowercaseFirstLetter(componentSlot))\n } = inputOptions,\n options = _objectWithoutPropertiesLoose(inputOptions, _excluded3);\n\n // if skipVariantsResolver option is defined, take the value, otherwise, true for root and false for other slots.\n const skipVariantsResolver = inputSkipVariantsResolver !== undefined ? inputSkipVariantsResolver :\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n componentSlot && componentSlot !== 'Root' && componentSlot !== 'root' || false;\n const skipSx = inputSkipSx || false;\n let label;\n if (process.env.NODE_ENV !== 'production') {\n if (componentName) {\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n label = `${componentName}-${lowercaseFirstLetter(componentSlot || 'Root')}`;\n }\n }\n let shouldForwardPropOption = shouldForwardProp;\n\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n if (componentSlot === 'Root' || componentSlot === 'root') {\n shouldForwardPropOption = rootShouldForwardProp;\n } else if (componentSlot) {\n // any other slot specified\n shouldForwardPropOption = slotShouldForwardProp;\n } else if (isStringTag(tag)) {\n // for string (html) tag, preserve the behavior in emotion & styled-components.\n shouldForwardPropOption = undefined;\n }\n const defaultStyledResolver = styledEngineStyled(tag, _extends({\n shouldForwardProp: shouldForwardPropOption,\n label\n }, options));\n const transformStyleArg = stylesArg => {\n // On the server Emotion doesn't use React.forwardRef for creating components, so the created\n // component stays as a function. This condition makes sure that we do not interpolate functions\n // which are basically components used as a selectors.\n if (typeof stylesArg === 'function' && stylesArg.__emotion_real !== stylesArg || isPlainObject(stylesArg)) {\n return props => processStyleArg(stylesArg, _extends({}, props, {\n theme: resolveTheme({\n theme: props.theme,\n defaultTheme,\n themeId\n })\n }));\n }\n return stylesArg;\n };\n const muiStyledResolver = (styleArg, ...expressions) => {\n let transformedStyleArg = transformStyleArg(styleArg);\n const expressionsWithDefaultTheme = expressions ? expressions.map(transformStyleArg) : [];\n if (componentName && overridesResolver) {\n expressionsWithDefaultTheme.push(props => {\n const theme = resolveTheme(_extends({}, props, {\n defaultTheme,\n themeId\n }));\n if (!theme.components || !theme.components[componentName] || !theme.components[componentName].styleOverrides) {\n return null;\n }\n const styleOverrides = theme.components[componentName].styleOverrides;\n const resolvedStyleOverrides = {};\n // TODO: v7 remove iteration and use `resolveStyleArg(styleOverrides[slot])` directly\n Object.entries(styleOverrides).forEach(([slotKey, slotStyle]) => {\n resolvedStyleOverrides[slotKey] = processStyleArg(slotStyle, _extends({}, props, {\n theme\n }));\n });\n return overridesResolver(props, resolvedStyleOverrides);\n });\n }\n if (componentName && !skipVariantsResolver) {\n expressionsWithDefaultTheme.push(props => {\n var _theme$components;\n const theme = resolveTheme(_extends({}, props, {\n defaultTheme,\n themeId\n }));\n const themeVariants = theme == null || (_theme$components = theme.components) == null || (_theme$components = _theme$components[componentName]) == null ? void 0 : _theme$components.variants;\n return processStyleArg({\n variants: themeVariants\n }, _extends({}, props, {\n theme\n }));\n });\n }\n if (!skipSx) {\n expressionsWithDefaultTheme.push(systemSx);\n }\n const numOfCustomFnsApplied = expressionsWithDefaultTheme.length - expressions.length;\n if (Array.isArray(styleArg) && numOfCustomFnsApplied > 0) {\n const placeholders = new Array(numOfCustomFnsApplied).fill('');\n // If the type is array, than we need to add placeholders in the template for the overrides, variants and the sx styles.\n transformedStyleArg = [...styleArg, ...placeholders];\n transformedStyleArg.raw = [...styleArg.raw, ...placeholders];\n }\n const Component = defaultStyledResolver(transformedStyleArg, ...expressionsWithDefaultTheme);\n if (process.env.NODE_ENV !== 'production') {\n let displayName;\n if (componentName) {\n displayName = `${componentName}${capitalize(componentSlot || '')}`;\n }\n if (displayName === undefined) {\n displayName = `Styled(${getDisplayName(tag)})`;\n }\n Component.displayName = displayName;\n }\n if (tag.muiName) {\n Component.muiName = tag.muiName;\n }\n return Component;\n };\n if (defaultStyledResolver.withConfig) {\n muiStyledResolver.withConfig = defaultStyledResolver.withConfig;\n }\n return muiStyledResolver;\n };\n}","import createStyled from './createStyled';\nconst styled = createStyled();\nexport default styled;","import React, { useState } from \"react\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Autocomplete from \"@mui/material/Autocomplete\";\r\nimport { HttpAuthorized } from \"../../../common/common\";\r\nimport { apiUrl } from \"../../../common/constants\";\r\nimport { CircularProgress, IconButton } from \"@mui/material\";\r\nimport { Add, Clear, Edit } from \"@mui/icons-material\";\r\nimport { styled } from \"@mui/system\";\r\n\r\nconst StyledIconButton = styled(IconButton)`\r\n margin: 0;\r\n padding: 0;\r\n color: ${({ color }) => color};\r\n`;\r\nconst AutocomplateInputForm = React.forwardRef(\r\n (\r\n {\r\n input,\r\n meta,\r\n items,\r\n label,\r\n remoteDataAdaptor,\r\n rowData,\r\n insertButtonRef,\r\n readOnly,\r\n clearable = true,\r\n onChangeExtra,\r\n setCustomChipLabels,\r\n onlyUpdateBtn = false,\r\n disabledOptionValues,\r\n onChangeFilter,\r\n telefonRef,\r\n mailRef,\r\n insertEditButtonVisible = true,\r\n notSort,\r\n ...rest\r\n },\r\n ref\r\n ) => {\r\n const [loading, setLoading] = React.useState(false);\r\n\r\n const changeValue = (newValue) => {\r\n if (newValue) {\r\n let option = options.find((x) => x.Value === newValue.Value);\r\n\r\n if (!option) {\r\n setOptions([...options, { ...newValue }]);\r\n } else if (option.Text !== newValue.Text) {\r\n let optionsTemp = [...options];\r\n\r\n setOptions([\r\n ...optionsTemp?.filter((x) => x.Value !== newValue.Value),\r\n { ...newValue },\r\n ]);\r\n }\r\n input.onChange(newValue.Value);\r\n } else {\r\n input.onChange(null);\r\n }\r\n };\r\n\r\n React.useImperativeHandle(ref, () => ({\r\n changeValue: changeValue,\r\n value: input.value,\r\n label: options.find((x) => x.Value === input.value)?.Text ?? \"\",\r\n }));\r\n\r\n const getFieldText = (data, getFromRowData) => {\r\n let label = \"\";\r\n if (!getFromRowData) {\r\n remoteDataAdaptor.fildsForText?.forEach((fName, index) => {\r\n label += data[fName];\r\n if (index !== remoteDataAdaptor?.fildsForText?.length - 1) {\r\n label += \" - \";\r\n }\r\n });\r\n return {\r\n Text: label,\r\n Value: data[remoteDataAdaptor.fieldForValue],\r\n telInfo: telefonRef ? data[\"tel\"] : null,\r\n mailInfo: mailRef ? data[\"mail\"] : null,\r\n };\r\n } else {\r\n return {\r\n Text: remoteDataAdaptor.fieldLabel\r\n ? data[remoteDataAdaptor.fieldLabel]\r\n : input.name == \"sirketId\"\r\n ? data[\"sirket_Kod\"]\r\n : data[input.name + \"Str\"],\r\n Value: data[input.name],\r\n telInfo: telefonRef ? data[\"tel\"] : null,\r\n mailInfo: mailRef ? data[\"mail\"] : null,\r\n };\r\n }\r\n };\r\n\r\n const setDefaultValue = () => {\r\n let arr = [];\r\n if (rowData && rowData[input.name] && remoteDataAdaptor) {\r\n arr.push(getFieldText(rowData, true));\r\n }\r\n return arr;\r\n };\r\n\r\n const [options, setOptions] = useState(\r\n remoteDataAdaptor ? setDefaultValue() : notSort ? items : items?.sort((a, b) => a.Text.localeCompare(b.Text))\r\n );\r\n\r\n function fetchData() {\r\n setLoading(true);\r\n\r\n if (remoteDataAdaptor.fetchRoute) {\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${remoteDataAdaptor.fetchRoute}`,\r\n data: remoteDataAdaptor.reqData,\r\n })\r\n .then((res) => {\r\n setOptions(\r\n res?.data?.data?.map((data) =>\r\n getFieldText(data))?.sort((a, b) => a.Text.localeCompare(b.Text)) ?? []\r\n );\r\n })\r\n .catch((error) => {\r\n setOptions(\r\n options.filter(\r\n (x) =>\r\n x.Value === rowData[input.name] || x.Value === input.value\r\n )\r\n );\r\n console.log(error);\r\n })\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n function getOptionText(option) {\r\n if (ref?.directText) {\r\n return ref?.directText\r\n }\r\n\r\n if (option?.Text) {\r\n return option.Text;\r\n }\r\n if (option === 0 || option === false || (option && option !== \"\")) {\r\n let opt = options?.find((item) => item.Value === option);\r\n return opt?.Text;\r\n }\r\n return option;\r\n }\r\n\r\n return (\r\n <div>\r\n <Autocomplete\r\n {...input}\r\n id={\"auto-complate-input\"}\r\n value={input.value === \"\" ? null : input.value}\r\n loading={loading}\r\n loadingText=\"Yükleniyor...\"\r\n autoComplete={false}\r\n readOnly={readOnly}\r\n disableClearable={true}\r\n sx={{\r\n width: \"100%\",\r\n }}\r\n noOptionsText=\"Seçenek bulunamadı\"\r\n getOptionLabel={getOptionText}\r\n options={options}\r\n isOptionEqualToValue={(option, value) => {\r\n // if (option === \"\") return;\r\n return option.Value === value;\r\n }}\r\n onChange={(e, newValue, reason) => {\r\n // if (reason === \"clear\") {\r\n // onChangeExtra && onChangeExtra(input.value, null);\r\n // return input.onChange(newValue);\r\n // }\r\n\r\n onChangeExtra && onChangeExtra(input.value, newValue);\r\n input.onChange(newValue.Value);\r\n\r\n if (telefonRef) {\r\n telefonRef.current.setValue(newValue?.telInfo);\r\n }\r\n if (mailRef) {\r\n mailRef.current.setValue(newValue?.mailInfo);\r\n }\r\n\r\n onChangeFilter && onChangeFilter();\r\n }}\r\n onOpen={() => remoteDataAdaptor && fetchData()}\r\n {...(disabledOptionValues && {\r\n getOptionDisabled: (option) =>\r\n disabledOptionValues.includes(option.Value),\r\n })}\r\n renderInput={(params) => (\r\n <TextField\r\n {...params}\r\n readOnly={readOnly}\r\n sx={{ width: \"100%\" }}\r\n label={label}\r\n variant=\"standard\"\r\n error={meta.error && meta.touched}\r\n helperText={meta.error && meta.touched ? meta.error : null}\r\n autoComplete=\"off\"\r\n InputProps={{\r\n ...params.InputProps,\r\n endAdornment: (\r\n <>\r\n {loading ? (\r\n <CircularProgress color=\"primary\" size={20} />\r\n ) : null}\r\n {insertButtonRef && insertEditButtonVisible && (\r\n <>\r\n {!onlyUpdateBtn && (\r\n <StyledIconButton\r\n color=\"success\"\r\n onClick={() => {\r\n insertButtonRef?.current?.openRecord();\r\n }}\r\n disabled={readOnly}\r\n >\r\n <Add fontSize=\"small\"></Add>\r\n </StyledIconButton>\r\n )}\r\n {input.value && (\r\n <StyledIconButton\r\n size=\"small\"\r\n color=\"primary\"\r\n onClick={() => {\r\n insertButtonRef?.current?.openRecord(input.value);\r\n }}\r\n disabled={readOnly}\r\n >\r\n <Edit fontSize=\"inherit\"></Edit>\r\n </StyledIconButton>\r\n )}\r\n </>\r\n )}\r\n {clearable && (input.value === 0 || input.value) && (\r\n <StyledIconButton\r\n size=\"small\"\r\n color=\"error\"\r\n onClick={() => {\r\n onChangeExtra && onChangeExtra(input.value, null);\r\n input.onChange(null);\r\n onChangeFilter && onChangeFilter();\r\n }}\r\n disabled={readOnly}\r\n >\r\n <Clear fontSize=\"inherit\"></Clear>\r\n </StyledIconButton>\r\n )}\r\n\r\n {params.InputProps.endAdornment}\r\n </>\r\n ),\r\n }}\r\n />\r\n )}\r\n // disableEndAdornment={true}\r\n {...rest}\r\n />\r\n </div>\r\n );\r\n }\r\n);\r\n\r\nexport default AutocomplateInputForm;\r\n","export const ctheme = {\r\n colors: {\r\n navyBlue: \"#1976d2\",\r\n // lynxWhite: \"#f7f7f7\",\r\n lynxWhite: \"#F6F6F6\",\r\n brightNavyBlue: \"rgb(25, 118, 210, 0.2)\",\r\n superSilver: \"rgb(238, 238, 238, 0.5)\",\r\n gridHeaderColor: \"#f7f9fc\",\r\n teal: \"#17B794\",\r\n darkTeal: \"#14a082\",\r\n grape: \"#8C5F76\",\r\n darkGrape: \"#85586F\",\r\n gridHeaderLight: \"rgba(248, 249, 252, 0.65)\",\r\n aiburn: \"#A03232\",\r\n lightAiburn: \"#9A3735\",\r\n lightYellowTransparent: \"#dfffd898\",\r\n lightYellow: \"#DFFFD8\",\r\n retroLime: \"#14C38E\",\r\n lightPink: \"#E966A0\",\r\n pink: \"#D25380\",\r\n brown: \"#CC7351\",\r\n lightBrown: \"#E08F62\",\r\n frostedPlains: \"#e0ffe0\",\r\n lightOrange: \"#FFEDC6\",\r\n lightPurple: \"#9376E0\",\r\n purple: \"#6554AF\",\r\n red: \"#B70404\",\r\n lightRed: \"#CD1818\",\r\n green: \"#557571\",\r\n lightGreen: \"#5C8984\",\r\n },\r\n // fonts: {\r\n // body: \"Arial, sans-serif\",\r\n // heading: \"Georgia, serif\",\r\n // },\r\n};\r\n","export function isUnitless(value) {\n return String(parseFloat(value)).length === String(value).length;\n}\n\n// Ported from Compass\n// https://github.com/Compass/compass/blob/master/core/stylesheets/compass/typography/_units.scss\n// Emulate the sass function \"unit\"\nexport function getUnit(input) {\n return String(input).match(/[\\d.\\-+]*\\s*(.*)/)[1] || '';\n}\n\n// Emulate the sass function \"unitless\"\nexport function toUnitless(length) {\n return parseFloat(length);\n}\n\n// Convert any CSS <length> or <percentage> value to any another.\n// From https://github.com/KyleAMathews/convert-css-length\nexport function convertLength(baseFontSize) {\n return (length, toUnit) => {\n const fromUnit = getUnit(length);\n\n // Optimize for cases where `from` and `to` units are accidentally the same.\n if (fromUnit === toUnit) {\n return length;\n }\n\n // Convert input length to pixels.\n let pxLength = toUnitless(length);\n if (fromUnit !== 'px') {\n if (fromUnit === 'em') {\n pxLength = toUnitless(length) * toUnitless(baseFontSize);\n } else if (fromUnit === 'rem') {\n pxLength = toUnitless(length) * toUnitless(baseFontSize);\n }\n }\n\n // Convert length in pixels to the output unit\n let outputLength = pxLength;\n if (toUnit !== 'px') {\n if (toUnit === 'em') {\n outputLength = pxLength / toUnitless(baseFontSize);\n } else if (toUnit === 'rem') {\n outputLength = pxLength / toUnitless(baseFontSize);\n } else {\n return length;\n }\n }\n return parseFloat(outputLength.toFixed(5)) + toUnit;\n };\n}\nexport function alignProperty({\n size,\n grid\n}) {\n const sizeBelow = size - size % grid;\n const sizeAbove = sizeBelow + grid;\n return size - sizeBelow < sizeAbove - size ? sizeBelow : sizeAbove;\n}\n\n// fontGrid finds a minimal grid (in rem) for the fontSize values so that the\n// lineHeight falls under a x pixels grid, 4px in the case of Material Design,\n// without changing the relative line height\nexport function fontGrid({\n lineHeight,\n pixels,\n htmlFontSize\n}) {\n return pixels / (lineHeight * htmlFontSize);\n}\n\n/**\n * generate a responsive version of a given CSS property\n * @example\n * responsiveProperty({\n * cssProperty: 'fontSize',\n * min: 15,\n * max: 20,\n * unit: 'px',\n * breakpoints: [300, 600],\n * })\n *\n * // this returns\n *\n * {\n * fontSize: '15px',\n * '@media (min-width:300px)': {\n * fontSize: '17.5px',\n * },\n * '@media (min-width:600px)': {\n * fontSize: '20px',\n * },\n * }\n * @param {Object} params\n * @param {string} params.cssProperty - The CSS property to be made responsive\n * @param {number} params.min - The smallest value of the CSS property\n * @param {number} params.max - The largest value of the CSS property\n * @param {string} [params.unit] - The unit to be used for the CSS property\n * @param {Array.number} [params.breakpoints] - An array of breakpoints\n * @param {number} [params.alignStep] - Round scaled value to fall under this grid\n * @returns {Object} responsive styles for {params.cssProperty}\n */\nexport function responsiveProperty({\n cssProperty,\n min,\n max,\n unit = 'rem',\n breakpoints = [600, 900, 1200],\n transform = null\n}) {\n const output = {\n [cssProperty]: `${min}${unit}`\n };\n const factor = (max - min) / breakpoints[breakpoints.length - 1];\n breakpoints.forEach(breakpoint => {\n let value = min + factor * breakpoint;\n if (transform !== null) {\n value = transform(value);\n }\n output[`@media (min-width:${breakpoint}px)`] = {\n [cssProperty]: `${Math.round(value * 10000) / 10000}${unit}`\n };\n });\n return output;\n}","import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n/* eslint-disable @typescript-eslint/naming-convention */\nimport clamp from '@mui/utils/clamp';\n/**\n * Returns a number whose value is limited to the given range.\n * @param {number} value The value to be clamped\n * @param {number} min The lower boundary of the output range\n * @param {number} max The upper boundary of the output range\n * @returns {number} A number in the range [min, max]\n */\nfunction clampWrapper(value, min = 0, max = 1) {\n if (process.env.NODE_ENV !== 'production') {\n if (value < min || value > max) {\n console.error(`MUI: The value provided ${value} is out of range [${min}, ${max}].`);\n }\n }\n return clamp(value, min, max);\n}\n\n/**\n * Converts a color from CSS hex format to CSS rgb format.\n * @param {string} color - Hex color, i.e. #nnn or #nnnnnn\n * @returns {string} A CSS rgb color string\n */\nexport function hexToRgb(color) {\n color = color.slice(1);\n const re = new RegExp(`.{1,${color.length >= 6 ? 2 : 1}}`, 'g');\n let colors = color.match(re);\n if (colors && colors[0].length === 1) {\n colors = colors.map(n => n + n);\n }\n return colors ? `rgb${colors.length === 4 ? 'a' : ''}(${colors.map((n, index) => {\n return index < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1000) / 1000;\n }).join(', ')})` : '';\n}\nfunction intToHex(int) {\n const hex = int.toString(16);\n return hex.length === 1 ? `0${hex}` : hex;\n}\n\n/**\n * Returns an object with the type and values of a color.\n *\n * Note: Does not support rgb % values.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {object} - A MUI color object: {type: string, values: number[]}\n */\nexport function decomposeColor(color) {\n // Idempotent\n if (color.type) {\n return color;\n }\n if (color.charAt(0) === '#') {\n return decomposeColor(hexToRgb(color));\n }\n const marker = color.indexOf('(');\n const type = color.substring(0, marker);\n if (['rgb', 'rgba', 'hsl', 'hsla', 'color'].indexOf(type) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: Unsupported \\`${color}\\` color.\nThe following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().` : _formatMuiErrorMessage(9, color));\n }\n let values = color.substring(marker + 1, color.length - 1);\n let colorSpace;\n if (type === 'color') {\n values = values.split(' ');\n colorSpace = values.shift();\n if (values.length === 4 && values[3].charAt(0) === '/') {\n values[3] = values[3].slice(1);\n }\n if (['srgb', 'display-p3', 'a98-rgb', 'prophoto-rgb', 'rec-2020'].indexOf(colorSpace) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: unsupported \\`${colorSpace}\\` color space.\nThe following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.` : _formatMuiErrorMessage(10, colorSpace));\n }\n } else {\n values = values.split(',');\n }\n values = values.map(value => parseFloat(value));\n return {\n type,\n values,\n colorSpace\n };\n}\n\n/**\n * Returns a channel created from the input color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {string} - The channel for the color, that can be used in rgba or hsla colors\n */\nexport const colorChannel = color => {\n const decomposedColor = decomposeColor(color);\n return decomposedColor.values.slice(0, 3).map((val, idx) => decomposedColor.type.indexOf('hsl') !== -1 && idx !== 0 ? `${val}%` : val).join(' ');\n};\nexport const private_safeColorChannel = (color, warning) => {\n try {\n return colorChannel(color);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n};\n\n/**\n * Converts a color object with type and values to a string.\n * @param {object} color - Decomposed color\n * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla', 'color'\n * @param {array} color.values - [n,n,n] or [n,n,n,n]\n * @returns {string} A CSS color string\n */\nexport function recomposeColor(color) {\n const {\n type,\n colorSpace\n } = color;\n let {\n values\n } = color;\n if (type.indexOf('rgb') !== -1) {\n // Only convert the first 3 values to int (i.e. not alpha)\n values = values.map((n, i) => i < 3 ? parseInt(n, 10) : n);\n } else if (type.indexOf('hsl') !== -1) {\n values[1] = `${values[1]}%`;\n values[2] = `${values[2]}%`;\n }\n if (type.indexOf('color') !== -1) {\n values = `${colorSpace} ${values.join(' ')}`;\n } else {\n values = `${values.join(', ')}`;\n }\n return `${type}(${values})`;\n}\n\n/**\n * Converts a color from CSS rgb format to CSS hex format.\n * @param {string} color - RGB color, i.e. rgb(n, n, n)\n * @returns {string} A CSS rgb color string, i.e. #nnnnnn\n */\nexport function rgbToHex(color) {\n // Idempotent\n if (color.indexOf('#') === 0) {\n return color;\n }\n const {\n values\n } = decomposeColor(color);\n return `#${values.map((n, i) => intToHex(i === 3 ? Math.round(255 * n) : n)).join('')}`;\n}\n\n/**\n * Converts a color from hsl format to rgb format.\n * @param {string} color - HSL color values\n * @returns {string} rgb color values\n */\nexport function hslToRgb(color) {\n color = decomposeColor(color);\n const {\n values\n } = color;\n const h = values[0];\n const s = values[1] / 100;\n const l = values[2] / 100;\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n let type = 'rgb';\n const rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)];\n if (color.type === 'hsla') {\n type += 'a';\n rgb.push(values[3]);\n }\n return recomposeColor({\n type,\n values: rgb\n });\n}\n/**\n * The relative brightness of any point in a color space,\n * normalized to 0 for darkest black and 1 for lightest white.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {number} The relative brightness of the color in the range 0 - 1\n */\nexport function getLuminance(color) {\n color = decomposeColor(color);\n let rgb = color.type === 'hsl' || color.type === 'hsla' ? decomposeColor(hslToRgb(color)).values : color.values;\n rgb = rgb.map(val => {\n if (color.type !== 'color') {\n val /= 255; // normalized\n }\n return val <= 0.03928 ? val / 12.92 : ((val + 0.055) / 1.055) ** 2.4;\n });\n\n // Truncate at 3 digits\n return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3));\n}\n\n/**\n * Calculates the contrast ratio between two colors.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} A contrast ratio value in the range 0 - 21.\n */\nexport function getContrastRatio(foreground, background) {\n const lumA = getLuminance(foreground);\n const lumB = getLuminance(background);\n return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);\n}\n\n/**\n * Sets the absolute transparency of a color.\n * Any existing alpha values are overwritten.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} value - value to set the alpha channel to in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function alpha(color, value) {\n color = decomposeColor(color);\n value = clampWrapper(value);\n if (color.type === 'rgb' || color.type === 'hsl') {\n color.type += 'a';\n }\n if (color.type === 'color') {\n color.values[3] = `/${value}`;\n } else {\n color.values[3] = value;\n }\n return recomposeColor(color);\n}\nexport function private_safeAlpha(color, value, warning) {\n try {\n return alpha(color, value);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darkens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function darken(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] *= 1 - coefficient;\n } else if (color.type.indexOf('rgb') !== -1 || color.type.indexOf('color') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] *= 1 - coefficient;\n }\n }\n return recomposeColor(color);\n}\nexport function private_safeDarken(color, coefficient, warning) {\n try {\n return darken(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Lightens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function lighten(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] += (100 - color.values[2]) * coefficient;\n } else if (color.type.indexOf('rgb') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (255 - color.values[i]) * coefficient;\n }\n } else if (color.type.indexOf('color') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (1 - color.values[i]) * coefficient;\n }\n }\n return recomposeColor(color);\n}\nexport function private_safeLighten(color, coefficient, warning) {\n try {\n return lighten(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darken or lighten a color, depending on its luminance.\n * Light colors are darkened, dark colors are lightened.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient=0.15 - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function emphasize(color, coefficient = 0.15) {\n return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient);\n}\nexport function private_safeEmphasize(color, coefficient, warning) {\n try {\n return emphasize(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Blend a transparent overlay color with a background color, resulting in a single\n * RGB color.\n * @param {string} background - CSS color\n * @param {string} overlay - CSS color\n * @param {number} opacity - Opacity multiplier in the range 0 - 1\n * @param {number} [gamma=1.0] - Gamma correction factor. For gamma-correct blending, 2.2 is usual.\n */\nexport function blend(background, overlay, opacity, gamma = 1.0) {\n const blendChannel = (b, o) => Math.round((b ** (1 / gamma) * (1 - opacity) + o ** (1 / gamma) * opacity) ** gamma);\n const backgroundColor = decomposeColor(background);\n const overlayColor = decomposeColor(overlay);\n const rgb = [blendChannel(backgroundColor.values[0], overlayColor.values[0]), blendChannel(backgroundColor.values[1], overlayColor.values[1]), blendChannel(backgroundColor.values[2], overlayColor.values[2])];\n return recomposeColor({\n type: 'rgb',\n values: rgb\n });\n}","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSkeletonUtilityClass(slot) {\n return generateUtilityClass('MuiSkeleton', slot);\n}\nconst skeletonClasses = generateUtilityClasses('MuiSkeleton', ['root', 'text', 'rectangular', 'rounded', 'circular', 'pulse', 'wave', 'withChildren', 'fitContent', 'heightAuto']);\nexport default skeletonClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"animation\", \"className\", \"component\", \"height\", \"style\", \"variant\", \"width\"];\nlet _ = t => t,\n _t,\n _t2,\n _t3,\n _t4;\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { keyframes, css } from '@mui/system';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha, unstable_getUnit as getUnit, unstable_toUnitless as toUnitless } from '../styles';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport { getSkeletonUtilityClass } from './skeletonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n animation,\n hasChildren,\n width,\n height\n } = ownerState;\n const slots = {\n root: ['root', variant, animation, hasChildren && 'withChildren', hasChildren && !width && 'fitContent', hasChildren && !height && 'heightAuto']\n };\n return composeClasses(slots, getSkeletonUtilityClass, classes);\n};\nconst pulseKeyframe = keyframes(_t || (_t = _`\n 0% {\n opacity: 1;\n }\n\n 50% {\n opacity: 0.4;\n }\n\n 100% {\n opacity: 1;\n }\n`));\nconst waveKeyframe = keyframes(_t2 || (_t2 = _`\n 0% {\n transform: translateX(-100%);\n }\n\n 50% {\n /* +0.5s of delay between each loop */\n transform: translateX(100%);\n }\n\n 100% {\n transform: translateX(100%);\n }\n`));\nconst SkeletonRoot = styled('span', {\n name: 'MuiSkeleton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], ownerState.animation !== false && styles[ownerState.animation], ownerState.hasChildren && styles.withChildren, ownerState.hasChildren && !ownerState.width && styles.fitContent, ownerState.hasChildren && !ownerState.height && styles.heightAuto];\n }\n})(({\n theme,\n ownerState\n}) => {\n const radiusUnit = getUnit(theme.shape.borderRadius) || 'px';\n const radiusValue = toUnitless(theme.shape.borderRadius);\n return _extends({\n display: 'block',\n // Create a \"on paper\" color with sufficient contrast retaining the color\n backgroundColor: theme.vars ? theme.vars.palette.Skeleton.bg : alpha(theme.palette.text.primary, theme.palette.mode === 'light' ? 0.11 : 0.13),\n height: '1.2em'\n }, ownerState.variant === 'text' && {\n marginTop: 0,\n marginBottom: 0,\n height: 'auto',\n transformOrigin: '0 55%',\n transform: 'scale(1, 0.60)',\n borderRadius: `${radiusValue}${radiusUnit}/${Math.round(radiusValue / 0.6 * 10) / 10}${radiusUnit}`,\n '&:empty:before': {\n content: '\"\\\\00a0\"'\n }\n }, ownerState.variant === 'circular' && {\n borderRadius: '50%'\n }, ownerState.variant === 'rounded' && {\n borderRadius: (theme.vars || theme).shape.borderRadius\n }, ownerState.hasChildren && {\n '& > *': {\n visibility: 'hidden'\n }\n }, ownerState.hasChildren && !ownerState.width && {\n maxWidth: 'fit-content'\n }, ownerState.hasChildren && !ownerState.height && {\n height: 'auto'\n });\n}, ({\n ownerState\n}) => ownerState.animation === 'pulse' && css(_t3 || (_t3 = _`\n animation: ${0} 2s ease-in-out 0.5s infinite;\n `), pulseKeyframe), ({\n ownerState,\n theme\n}) => ownerState.animation === 'wave' && css(_t4 || (_t4 = _`\n position: relative;\n overflow: hidden;\n\n /* Fix bug in Safari https://bugs.webkit.org/show_bug.cgi?id=68196 */\n -webkit-mask-image: -webkit-radial-gradient(white, black);\n\n &::after {\n animation: ${0} 2s linear 0.5s infinite;\n background: linear-gradient(\n 90deg,\n transparent,\n ${0},\n transparent\n );\n content: '';\n position: absolute;\n transform: translateX(-100%); /* Avoid flash during server-side hydration */\n bottom: 0;\n left: 0;\n right: 0;\n top: 0;\n }\n `), waveKeyframe, (theme.vars || theme).palette.action.hover));\nconst Skeleton = /*#__PURE__*/React.forwardRef(function Skeleton(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiSkeleton'\n });\n const {\n animation = 'pulse',\n className,\n component = 'span',\n height,\n style,\n variant = 'text',\n width\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n animation,\n component,\n variant,\n hasChildren: Boolean(other.children)\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(SkeletonRoot, _extends({\n as: component,\n ref: ref,\n className: clsx(classes.root, className),\n ownerState: ownerState\n }, other, {\n style: _extends({\n width,\n height\n }, style)\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Skeleton.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The animation.\n * If `false` the animation effect is disabled.\n * @default 'pulse'\n */\n animation: PropTypes.oneOf(['pulse', 'wave', false]),\n /**\n * Optional children to infer width and height from.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Height of the skeleton.\n * Useful when you don't want to adapt the skeleton to a text element but for instance a card.\n */\n height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The type of content that will be rendered.\n * @default 'text'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['circular', 'rectangular', 'rounded', 'text']), PropTypes.string]),\n /**\n * Width of the skeleton.\n * Useful when the skeleton is inside an inline element with no width of its own.\n */\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string])\n} : void 0;\nexport default Skeleton;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTypographyUtilityClass(slot) {\n return generateUtilityClass('MuiTypography', slot);\n}\nconst typographyClasses = generateUtilityClasses('MuiTypography', ['root', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'subtitle1', 'subtitle2', 'body1', 'body2', 'inherit', 'button', 'caption', 'overline', 'alignLeft', 'alignRight', 'alignCenter', 'alignJustify', 'noWrap', 'gutterBottom', 'paragraph']);\nexport default typographyClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"align\", \"className\", \"component\", \"gutterBottom\", \"noWrap\", \"paragraph\", \"variant\", \"variantMapping\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { extendSxProp } from '@mui/system/styleFunctionSx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport capitalize from '../utils/capitalize';\nimport { getTypographyUtilityClass } from './typographyClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n align,\n gutterBottom,\n noWrap,\n paragraph,\n variant,\n classes\n } = ownerState;\n const slots = {\n root: ['root', variant, ownerState.align !== 'inherit' && `align${capitalize(align)}`, gutterBottom && 'gutterBottom', noWrap && 'noWrap', paragraph && 'paragraph']\n };\n return composeClasses(slots, getTypographyUtilityClass, classes);\n};\nexport const TypographyRoot = styled('span', {\n name: 'MuiTypography',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.variant && styles[ownerState.variant], ownerState.align !== 'inherit' && styles[`align${capitalize(ownerState.align)}`], ownerState.noWrap && styles.noWrap, ownerState.gutterBottom && styles.gutterBottom, ownerState.paragraph && styles.paragraph];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n margin: 0\n}, ownerState.variant === 'inherit' && {\n // Some elements, like <button> on Chrome have default font that doesn't inherit, reset this.\n font: 'inherit'\n}, ownerState.variant !== 'inherit' && theme.typography[ownerState.variant], ownerState.align !== 'inherit' && {\n textAlign: ownerState.align\n}, ownerState.noWrap && {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n}, ownerState.gutterBottom && {\n marginBottom: '0.35em'\n}, ownerState.paragraph && {\n marginBottom: 16\n}));\nconst defaultVariantMapping = {\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n h6: 'h6',\n subtitle1: 'h6',\n subtitle2: 'h6',\n body1: 'p',\n body2: 'p',\n inherit: 'p'\n};\n\n// TODO v6: deprecate these color values in v5.x and remove the transformation in v6\nconst colorTransformations = {\n primary: 'primary.main',\n textPrimary: 'text.primary',\n secondary: 'secondary.main',\n textSecondary: 'text.secondary',\n error: 'error.main'\n};\nconst transformDeprecatedColors = color => {\n return colorTransformations[color] || color;\n};\nconst Typography = /*#__PURE__*/React.forwardRef(function Typography(inProps, ref) {\n const themeProps = useDefaultProps({\n props: inProps,\n name: 'MuiTypography'\n });\n const color = transformDeprecatedColors(themeProps.color);\n const props = extendSxProp(_extends({}, themeProps, {\n color\n }));\n const {\n align = 'inherit',\n className,\n component,\n gutterBottom = false,\n noWrap = false,\n paragraph = false,\n variant = 'body1',\n variantMapping = defaultVariantMapping\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n align,\n color,\n className,\n component,\n gutterBottom,\n noWrap,\n paragraph,\n variant,\n variantMapping\n });\n const Component = component || (paragraph ? 'p' : variantMapping[variant] || defaultVariantMapping[variant]) || 'span';\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(TypographyRoot, _extends({\n as: Component,\n ref: ref,\n ownerState: ownerState,\n className: clsx(classes.root, className)\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Typography.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Set the text-align on the component.\n * @default 'inherit'\n */\n align: PropTypes.oneOf(['center', 'inherit', 'justify', 'left', 'right']),\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the text will have a bottom margin.\n * @default false\n */\n gutterBottom: PropTypes.bool,\n /**\n * If `true`, the text will not wrap, but instead will truncate with a text overflow ellipsis.\n *\n * Note that text overflow can only happen with block or inline-block level elements\n * (the element needs to have a width in order to overflow).\n * @default false\n */\n noWrap: PropTypes.bool,\n /**\n * If `true`, the element will be a paragraph element.\n * @default false\n */\n paragraph: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Applies the theme typography styles.\n * @default 'body1'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['body1', 'body2', 'button', 'caption', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'inherit', 'overline', 'subtitle1', 'subtitle2']), PropTypes.string]),\n /**\n * The component maps the variant prop to a range of different HTML element types.\n * For instance, subtitle1 to `<h6>`.\n * If you wish to change that mapping, you can provide your own.\n * Alternatively, you can use the `component` prop.\n * @default {\n * h1: 'h1',\n * h2: 'h2',\n * h3: 'h3',\n * h4: 'h4',\n * h5: 'h5',\n * h6: 'h6',\n * subtitle1: 'h6',\n * subtitle2: 'h6',\n * body1: 'p',\n * body2: 'p',\n * inherit: 'p',\n * }\n */\n variantMapping: PropTypes /* @typescript-to-proptypes-ignore */.object\n} : void 0;\nexport default Typography;","import { Grid, Skeleton, Typography } from \"@mui/material\";\r\nimport React from \"react\";\r\n\r\nfunction FilterFieldWrapper({\r\n modalLoading,\r\n children,\r\n label,\r\n columnDirection,\r\n ...rest\r\n}) {\r\n return modalLoading ? (\r\n <Skeleton width={200}></Skeleton>\r\n ) : (\r\n <Grid\r\n sx={{\r\n width: 200,\r\n pr: \"4px\",\r\n pl: \"4px\",\r\n }}\r\n {...rest}\r\n >\r\n {label ? (\r\n <Typography sx={{ fontSize: \"10pt\", fontWeight: \"bold\" }}>\r\n {label}\r\n </Typography>\r\n ) : null}\r\n {children}\r\n </Grid>\r\n );\r\n}\r\nexport default FilterFieldWrapper;\r\n","const DATE_WIDTH = \"115px\";\r\nconst ID_WIDTH = \"70px\";\r\nconst ILGILI_MODUL_WIDTH = \"200px\";\r\nconst ANALIZ_SONUCU_WIDTH = \"300px\";\r\nconst IS_SONUCU_WIDTH = \"300px\";\r\nconst BASLIK_WIDTH = \"200px\";\r\nconst ONCELIK_DURUMU_WIDTH = \"110px\";\r\nconst OKUNMAYAN_YORUM_WIDTH = \"135px\";\r\nconst KDV_WIDTH = \"130px\";\r\nconst ACIKLAMA_WIDTH = \"250px\";\r\nconst LONG_DATE_WIDTH = \"150px\";\r\n\r\nconst FILTER_TYPE = {\r\n FAST_FILTER: 1,\r\n};\r\n\r\nexport {\r\n DATE_WIDTH,\r\n ID_WIDTH,\r\n ILGILI_MODUL_WIDTH,\r\n ANALIZ_SONUCU_WIDTH,\r\n IS_SONUCU_WIDTH,\r\n BASLIK_WIDTH,\r\n ONCELIK_DURUMU_WIDTH,\r\n OKUNMAYAN_YORUM_WIDTH,\r\n KDV_WIDTH,\r\n ACIKLAMA_WIDTH,\r\n LONG_DATE_WIDTH,\r\n FILTER_TYPE,\r\n};\r\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSwitchBaseUtilityClass(slot) {\n return generateUtilityClass('PrivateSwitchBase', slot);\n}\nconst switchBaseClasses = generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);\nexport default switchBaseClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"checked\", \"checkedIcon\", \"className\", \"defaultChecked\", \"disabled\", \"disableFocusRipple\", \"edge\", \"icon\", \"id\", \"inputProps\", \"inputRef\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"readOnly\", \"required\", \"tabIndex\", \"type\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from '../utils/capitalize';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useControlled from '../utils/useControlled';\nimport useFormControl from '../FormControl/useFormControl';\nimport ButtonBase from '../ButtonBase';\nimport { getSwitchBaseUtilityClass } from './switchBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n checked,\n disabled,\n edge\n } = ownerState;\n const slots = {\n root: ['root', checked && 'checked', disabled && 'disabled', edge && `edge${capitalize(edge)}`],\n input: ['input']\n };\n return composeClasses(slots, getSwitchBaseUtilityClass, classes);\n};\nconst SwitchBaseRoot = styled(ButtonBase)(({\n ownerState\n}) => _extends({\n padding: 9,\n borderRadius: '50%'\n}, ownerState.edge === 'start' && {\n marginLeft: ownerState.size === 'small' ? -3 : -12\n}, ownerState.edge === 'end' && {\n marginRight: ownerState.size === 'small' ? -3 : -12\n}));\nconst SwitchBaseInput = styled('input', {\n shouldForwardProp: rootShouldForwardProp\n})({\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n});\n\n/**\n * @ignore - internal component.\n */\nconst SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref) {\n const {\n autoFocus,\n checked: checkedProp,\n checkedIcon,\n className,\n defaultChecked,\n disabled: disabledProp,\n disableFocusRipple = false,\n edge = false,\n icon,\n id,\n inputProps,\n inputRef,\n name,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n required = false,\n tabIndex,\n type,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const [checked, setCheckedState] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n });\n const muiFormControl = useFormControl();\n const handleFocus = event => {\n if (onFocus) {\n onFocus(event);\n }\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n const handleInputChange = event => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented) {\n return;\n }\n const newChecked = event.target.checked;\n setCheckedState(newChecked);\n if (onChange) {\n // TODO v6: remove the second argument.\n onChange(event, newChecked);\n }\n };\n let disabled = disabledProp;\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n const hasLabelFor = type === 'checkbox' || type === 'radio';\n const ownerState = _extends({}, props, {\n checked,\n disabled,\n disableFocusRipple,\n edge\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SwitchBaseRoot, _extends({\n component: \"span\",\n className: clsx(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n tabIndex: null,\n role: undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/_jsx(SwitchBaseInput, _extends({\n autoFocus: autoFocus,\n checked: checkedProp,\n defaultChecked: defaultChecked,\n className: classes.input,\n disabled: disabled,\n id: hasLabelFor ? id : undefined,\n name: name,\n onChange: handleInputChange,\n readOnly: readOnly,\n ref: inputRef,\n required: required,\n ownerState: ownerState,\n tabIndex: tabIndex,\n type: type\n }, type === 'checkbox' && value === undefined ? {} : {\n value\n }, inputProps)), checked ? checkedIcon : icon]\n }));\n});\n\n// NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\nprocess.env.NODE_ENV !== \"production\" ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node.isRequired,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * @ignore\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node.isRequired,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /*\n * @ignore\n */\n name: PropTypes.string,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.object,\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * The input component prop `type`.\n */\n type: PropTypes.string.isRequired,\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default SwitchBase;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"\n}), 'CheckBoxOutlineBlank');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckBox');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z\"\n}), 'IndeterminateCheckBox');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCheckboxUtilityClass(slot) {\n return generateUtilityClass('MuiCheckbox', slot);\n}\nconst checkboxClasses = generateUtilityClasses('MuiCheckbox', ['root', 'checked', 'disabled', 'indeterminate', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium']);\nexport default checkboxClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"checkedIcon\", \"color\", \"icon\", \"indeterminate\", \"indeterminateIcon\", \"inputProps\", \"size\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport SwitchBase from '../internal/SwitchBase';\nimport CheckBoxOutlineBlankIcon from '../internal/svg-icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '../internal/svg-icons/CheckBox';\nimport IndeterminateCheckBoxIcon from '../internal/svg-icons/IndeterminateCheckBox';\nimport capitalize from '../utils/capitalize';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport checkboxClasses, { getCheckboxUtilityClass } from './checkboxClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n indeterminate,\n color,\n size\n } = ownerState;\n const slots = {\n root: ['root', indeterminate && 'indeterminate', `color${capitalize(color)}`, `size${capitalize(size)}`]\n };\n const composedClasses = composeClasses(slots, getCheckboxUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst CheckboxRoot = styled(SwitchBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiCheckbox',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.indeterminate && styles.indeterminate, styles[`size${capitalize(ownerState.size)}`], ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, !ownerState.disableRipple && {\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${ownerState.color === 'default' ? theme.vars.palette.action.activeChannel : theme.vars.palette[ownerState.color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(ownerState.color === 'default' ? theme.palette.action.active : theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${checkboxClasses.checked}, &.${checkboxClasses.indeterminate}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${checkboxClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n }\n}));\nconst defaultCheckedIcon = /*#__PURE__*/_jsx(CheckBoxIcon, {});\nconst defaultIcon = /*#__PURE__*/_jsx(CheckBoxOutlineBlankIcon, {});\nconst defaultIndeterminateIcon = /*#__PURE__*/_jsx(IndeterminateCheckBoxIcon, {});\nconst Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(inProps, ref) {\n var _icon$props$fontSize, _indeterminateIcon$pr;\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiCheckbox'\n });\n const {\n checkedIcon = defaultCheckedIcon,\n color = 'primary',\n icon: iconProp = defaultIcon,\n indeterminate = false,\n indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon,\n inputProps,\n size = 'medium',\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const icon = indeterminate ? indeterminateIconProp : iconProp;\n const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;\n const ownerState = _extends({}, props, {\n color,\n indeterminate,\n size\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CheckboxRoot, _extends({\n type: \"checkbox\",\n inputProps: _extends({\n 'data-indeterminate': indeterminate\n }, inputProps),\n icon: /*#__PURE__*/React.cloneElement(icon, {\n fontSize: (_icon$props$fontSize = icon.props.fontSize) != null ? _icon$props$fontSize : size\n }),\n checkedIcon: /*#__PURE__*/React.cloneElement(indeterminateIcon, {\n fontSize: (_indeterminateIcon$pr = indeterminateIcon.props.fontSize) != null ? _indeterminateIcon$pr : size\n }),\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className)\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Checkbox.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n * @default <CheckBoxIcon />\n */\n checkedIcon: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * The icon to display when the component is unchecked.\n * @default <CheckBoxOutlineBlankIcon />\n */\n icon: PropTypes.node,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * If `true`, the component appears indeterminate.\n * This does not set the native input element to indeterminate due\n * to inconsistent behavior across browsers.\n * However, we set a `data-indeterminate` attribute on the `input`.\n * @default false\n */\n indeterminate: PropTypes.bool,\n /**\n * The icon to display when the component is indeterminate.\n * @default <IndeterminateCheckBoxIcon />\n */\n indeterminateIcon: PropTypes.node,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent<HTMLInputElement>} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n /**\n * If `true`, the `input` element is required.\n * @default false\n */\n required: PropTypes.bool,\n /**\n * The size of the component.\n * `small` is equivalent to the dense checkbox styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Checkbox;","import React from \"react\";\r\nimport Checkbox from \"@mui/material/Checkbox\";\r\n\r\nexport default function CheckboxForm({\r\n input,\r\n meta,\r\n onChangeExtra,\r\n disabled,\r\n ...rest\r\n}) {\r\n\r\n \r\n return (\r\n <Checkbox\r\n {...input}\r\n checked={Boolean(input.value)}\r\n onChange={({ target }) => {\r\n input.onChange(target.checked);\r\n onChangeExtra && onChangeExtra(target.checked);\r\n }}\r\n disabled={disabled}\r\n {...rest}\r\n />\r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { DateBox, Button as DateBoxButton } from \"devextreme-react/date-box\";\r\nimport \"./CustomFormInputs/animation.css\";\r\n\r\nfunction DateInputForm2({\r\n input = {},\r\n fieldCompWidth,\r\n loading,\r\n isDisabled,\r\n meta,\r\n customProps,\r\n readOnly,\r\n onChangeExtra,\r\n isFilterPage,\r\n ...rest\r\n}) {\r\n const minDate = new Date(1990, 0, 1);\r\n const [date, setDate] = useState(input?.value || null);\r\n\r\n useEffect(() => {\r\n if (isFilterPage && input.onChange) {\r\n input.onChange(date);\r\n } else {\r\n if (input && input.onChange && date) {\r\n input.onChange(date); // Date değiştikçe onChange çağrılıyor\r\n onChangeExtra && onChangeExtra(date);\r\n }\r\n }\r\n }, [date]);\r\n\r\n useEffect(() => {\r\n if (input.value) {\r\n setDate(input.value);\r\n }\r\n }, [input.value]);\r\n\r\n const onValueChanged = (e) => {\r\n setDate(e.value);\r\n if (input && input.onChange) {\r\n input.onChange(e.value);\r\n }\r\n if (onChangeExtra) {\r\n onChangeExtra(e.value);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <DateBox\r\n readOnly={readOnly}\r\n disabled={isDisabled}\r\n name=\"date\"\r\n id={input?.name + \"DateInputFormId\" || \"defaultDateInputId\"}\r\n type=\"date\"\r\n displayFormat=\"shortdate\"\r\n dateSerializationFormat=\"yyyy-MM-dd\"\r\n focusStateEnabled={false}\r\n activeStateEnabled={false}\r\n stylingMode=\"underlined\"\r\n showTodayButton={true}\r\n showClearButton={true}\r\n min={minDate}\r\n {...(customProps ? customProps : {})}\r\n style={{ width: \"100%\" }}\r\n onValueChanged={onValueChanged}\r\n value={date}\r\n calendarOptions={{ showTodayButton: true }}\r\n {...rest}\r\n >\r\n <DateBoxButton name=\"clear\" location=\"after\" />\r\n <DateBoxButton name=\"dropDown\" />\r\n </DateBox>\r\n <span id={input.name} className={`${input.name} examp2`}></span>\r\n </>\r\n );\r\n}\r\n\r\nexport default DateInputForm2;\r\n","import { Popover } from \"@mui/material\";\r\nimport React, { useRef, useState } from \"react\";\r\n\r\nexport default function PopoverViaButton({ PButton, children }) {\r\n const [open, setOpen] = useState(false);\r\n const ref1 = useRef();\r\n return (\r\n <>\r\n <div\r\n ref={ref1}\r\n onClick={() => {\r\n setOpen(!open);\r\n }}\r\n >\r\n <PButton />\r\n </div>\r\n <Popover\r\n anchorEl={open ? ref1?.current : null}\r\n open={open}\r\n anchorOrigin={{\r\n vertical: \"bottom\",\r\n horizontal: \"left\",\r\n }}\r\n onClose={() => setOpen(false)}\r\n >\r\n {children}\r\n </Popover>\r\n </>\r\n );\r\n}\r\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListItemUtilityClass(slot) {\n return generateUtilityClass('MuiListItem', slot);\n}\nconst listItemClasses = generateUtilityClasses('MuiListItem', ['root', 'container', 'focusVisible', 'dense', 'alignItemsFlexStart', 'disabled', 'divider', 'gutters', 'padding', 'button', 'secondaryAction', 'selected']);\nexport default listItemClasses;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListItemButtonUtilityClass(slot) {\n return generateUtilityClass('MuiListItemButton', slot);\n}\nconst listItemButtonClasses = generateUtilityClasses('MuiListItemButton', ['root', 'focusVisible', 'dense', 'alignItemsFlexStart', 'disabled', 'divider', 'gutters', 'selected']);\nexport default listItemButtonClasses;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListItemSecondaryActionClassesUtilityClass(slot) {\n return generateUtilityClass('MuiListItemSecondaryAction', slot);\n}\nconst listItemSecondaryActionClasses = generateUtilityClasses('MuiListItemSecondaryAction', ['root', 'disableGutters']);\nexport default listItemSecondaryActionClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport ListContext from '../List/ListContext';\nimport { getListItemSecondaryActionClassesUtilityClass } from './listItemSecondaryActionClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n disableGutters,\n classes\n } = ownerState;\n const slots = {\n root: ['root', disableGutters && 'disableGutters']\n };\n return composeClasses(slots, getListItemSecondaryActionClassesUtilityClass, classes);\n};\nconst ListItemSecondaryActionRoot = styled('div', {\n name: 'MuiListItemSecondaryAction',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.disableGutters && styles.disableGutters];\n }\n})(({\n ownerState\n}) => _extends({\n position: 'absolute',\n right: 16,\n top: '50%',\n transform: 'translateY(-50%)'\n}, ownerState.disableGutters && {\n right: 0\n}));\n\n/**\n * Must be used as the last child of ListItem to function properly.\n */\nconst ListItemSecondaryAction = /*#__PURE__*/React.forwardRef(function ListItemSecondaryAction(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiListItemSecondaryAction'\n });\n const {\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = React.useContext(ListContext);\n const ownerState = _extends({}, props, {\n disableGutters: context.disableGutters\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(ListItemSecondaryActionRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItemSecondaryAction.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component, normally an `IconButton` or selection control.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nListItemSecondaryAction.muiName = 'ListItemSecondaryAction';\nexport default ListItemSecondaryAction;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\"],\n _excluded2 = [\"alignItems\", \"autoFocus\", \"button\", \"children\", \"className\", \"component\", \"components\", \"componentsProps\", \"ContainerComponent\", \"ContainerProps\", \"dense\", \"disabled\", \"disableGutters\", \"disablePadding\", \"divider\", \"focusVisibleClassName\", \"secondaryAction\", \"selected\", \"slotProps\", \"slots\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport { alpha } from '@mui/system/colorManipulator';\nimport isHostComponent from '@mui/utils/isHostComponent';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport ButtonBase from '../ButtonBase';\nimport isMuiElement from '../utils/isMuiElement';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport ListContext from '../List/ListContext';\nimport listItemClasses, { getListItemUtilityClass } from './listItemClasses';\nimport { listItemButtonClasses } from '../ListItemButton';\nimport ListItemSecondaryAction from '../ListItemSecondaryAction';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.alignItems === 'flex-start' && styles.alignItemsFlexStart, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters, !ownerState.disablePadding && styles.padding, ownerState.button && styles.button, ownerState.hasSecondaryAction && styles.secondaryAction];\n};\nconst useUtilityClasses = ownerState => {\n const {\n alignItems,\n button,\n classes,\n dense,\n disabled,\n disableGutters,\n disablePadding,\n divider,\n hasSecondaryAction,\n selected\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', !disableGutters && 'gutters', !disablePadding && 'padding', divider && 'divider', disabled && 'disabled', button && 'button', alignItems === 'flex-start' && 'alignItemsFlexStart', hasSecondaryAction && 'secondaryAction', selected && 'selected'],\n container: ['container']\n };\n return composeClasses(slots, getListItemUtilityClass, classes);\n};\nexport const ListItemRoot = styled('div', {\n name: 'MuiListItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n width: '100%',\n boxSizing: 'border-box',\n textAlign: 'left'\n}, !ownerState.disablePadding && _extends({\n paddingTop: 8,\n paddingBottom: 8\n}, ownerState.dense && {\n paddingTop: 4,\n paddingBottom: 4\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, !!ownerState.secondaryAction && {\n // Add some space to avoid collision as `ListItemSecondaryAction`\n // is absolutely positioned.\n paddingRight: 48\n}), !!ownerState.secondaryAction && {\n [`& > .${listItemButtonClasses.root}`]: {\n paddingRight: 48\n }\n}, {\n [`&.${listItemClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`&.${listItemClasses.selected}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${listItemClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${listItemClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n }\n}, ownerState.alignItems === 'flex-start' && {\n alignItems: 'flex-start'\n}, ownerState.divider && {\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`,\n backgroundClip: 'padding-box'\n}, ownerState.button && {\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n }),\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: (theme.vars || theme).palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${listItemClasses.selected}:hover`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n }\n}, ownerState.hasSecondaryAction && {\n // Add some space to avoid collision as `ListItemSecondaryAction`\n // is absolutely positioned.\n paddingRight: 48\n}));\nconst ListItemContainer = styled('li', {\n name: 'MuiListItem',\n slot: 'Container',\n overridesResolver: (props, styles) => styles.container\n})({\n position: 'relative'\n});\n\n/**\n * Uses an additional container component if `ListItemSecondaryAction` is the last child.\n */\nconst ListItem = /*#__PURE__*/React.forwardRef(function ListItem(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiListItem'\n });\n const {\n alignItems = 'center',\n autoFocus = false,\n button = false,\n children: childrenProp,\n className,\n component: componentProp,\n components = {},\n componentsProps = {},\n ContainerComponent = 'li',\n ContainerProps: {\n className: ContainerClassName\n } = {},\n dense = false,\n disabled = false,\n disableGutters = false,\n disablePadding = false,\n divider = false,\n focusVisibleClassName,\n secondaryAction,\n selected = false,\n slotProps = {},\n slots = {}\n } = props,\n ContainerProps = _objectWithoutPropertiesLoose(props.ContainerProps, _excluded),\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n const context = React.useContext(ListContext);\n const childContext = React.useMemo(() => ({\n dense: dense || context.dense || false,\n alignItems,\n disableGutters\n }), [alignItems, context.dense, dense, disableGutters]);\n const listItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (listItemRef.current) {\n listItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a ListItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n const children = React.Children.toArray(childrenProp);\n\n // v4 implementation, deprecated in v5, will be removed in v6\n const hasSecondaryAction = children.length && isMuiElement(children[children.length - 1], ['ListItemSecondaryAction']);\n const ownerState = _extends({}, props, {\n alignItems,\n autoFocus,\n button,\n dense: childContext.dense,\n disabled,\n disableGutters,\n disablePadding,\n divider,\n hasSecondaryAction,\n selected\n });\n const classes = useUtilityClasses(ownerState);\n const handleRef = useForkRef(listItemRef, ref);\n const Root = slots.root || components.Root || ListItemRoot;\n const rootProps = slotProps.root || componentsProps.root || {};\n const componentProps = _extends({\n className: clsx(classes.root, rootProps.className, className),\n disabled\n }, other);\n let Component = componentProp || 'li';\n if (button) {\n componentProps.component = componentProp || 'div';\n componentProps.focusVisibleClassName = clsx(listItemClasses.focusVisible, focusVisibleClassName);\n Component = ButtonBase;\n }\n\n // v4 implementation, deprecated in v5, will be removed in v6\n if (hasSecondaryAction) {\n // Use div by default.\n Component = !componentProps.component && !componentProp ? 'div' : Component;\n\n // Avoid nesting of li > li.\n if (ContainerComponent === 'li') {\n if (Component === 'li') {\n Component = 'div';\n } else if (componentProps.component === 'li') {\n componentProps.component = 'div';\n }\n }\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsxs(ListItemContainer, _extends({\n as: ContainerComponent,\n className: clsx(classes.container, ContainerClassName),\n ref: handleRef,\n ownerState: ownerState\n }, ContainerProps, {\n children: [/*#__PURE__*/_jsx(Root, _extends({}, rootProps, !isHostComponent(Root) && {\n as: Component,\n ownerState: _extends({}, ownerState, rootProps.ownerState)\n }, componentProps, {\n children: children\n })), children.pop()]\n }))\n });\n }\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsxs(Root, _extends({}, rootProps, {\n as: Component,\n ref: handleRef\n }, !isHostComponent(Root) && {\n ownerState: _extends({}, ownerState, rootProps.ownerState)\n }, componentProps, {\n children: [children, secondaryAction && /*#__PURE__*/_jsx(ListItemSecondaryAction, {\n children: secondaryAction\n })]\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItem.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Defines the `align-items` style property.\n * @default 'center'\n */\n alignItems: PropTypes.oneOf(['center', 'flex-start']),\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n * @deprecated checkout [ListItemButton](/material-ui/api/list-item-button/) instead\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true`, the list item is a button (using `ButtonBase`). Props intended\n * for `ButtonBase` can then be applied to `ListItem`.\n * @default false\n * @deprecated checkout [ListItemButton](/material-ui/api/list-item-button/) instead\n */\n button: PropTypes.bool,\n /**\n * The content of the component if a `ListItemSecondaryAction` is used it must\n * be the last child.\n */\n children: chainPropTypes(PropTypes.node, props => {\n const children = React.Children.toArray(props.children);\n\n // React.Children.toArray(props.children).findLastIndex(isListItemSecondaryAction)\n let secondaryActionIndex = -1;\n for (let i = children.length - 1; i >= 0; i -= 1) {\n const child = children[i];\n if (isMuiElement(child, ['ListItemSecondaryAction'])) {\n secondaryActionIndex = i;\n break;\n }\n }\n\n // is ListItemSecondaryAction the last child of ListItem\n if (secondaryActionIndex !== -1 && secondaryActionIndex !== children.length - 1) {\n return new Error('MUI: You used an element after ListItemSecondaryAction. ' + 'For ListItem to detect that it has a secondary action ' + 'you must pass it as the last child to ListItem.');\n }\n return null;\n }),\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `slotProps` prop.\n * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n root: PropTypes.object\n }),\n /**\n * The container component used when a `ListItemSecondaryAction` is the last child.\n * @default 'li'\n * @deprecated\n */\n ContainerComponent: elementTypeAcceptingRef,\n /**\n * Props applied to the container component if used.\n * @default {}\n * @deprecated\n */\n ContainerProps: PropTypes.object,\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent List component.\n * @default false\n */\n dense: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n * @deprecated checkout [ListItemButton](/material-ui/api/list-item-button/) instead\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * If `true`, all padding is removed.\n * @default false\n */\n disablePadding: PropTypes.bool,\n /**\n * If `true`, a 1px light border is added to the bottom of the list item.\n * @default false\n */\n divider: PropTypes.bool,\n /**\n * @ignore\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * The element to display at the end of ListItem.\n */\n secondaryAction: PropTypes.node,\n /**\n * Use to apply selected styling.\n * @default false\n * @deprecated checkout [ListItemButton](/material-ui/api/list-item-button/) instead\n */\n selected: PropTypes.bool,\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n root: PropTypes.object\n }),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `components` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default ListItem;","import { ListItem } from \"@mui/material\";\r\nimport React from \"react\";\r\nimport { useNavigate } from \"react-router-dom\";\r\nimport { ctheme } from \"../../../theme/theme\";\r\n\r\nconst NavigateListItem = ({ path, children, color, onClick }) => {\r\n const navigate = useNavigate();\r\n\r\n return (\r\n <ListItem\r\n sx={{\r\n p: \"4px 8px\",\r\n cursor: \"pointer\",\r\n color: color ?? ctheme.colors.navyBlue,\r\n \"&:hover\": {\r\n backgroundColor: \"#f5f5f5\",\r\n },\r\n }}\r\n onClick={() => {\r\n onClick && onClick();\r\n path && navigate(path);\r\n }}\r\n >\r\n {children}\r\n </ListItem>\r\n );\r\n};\r\n\r\nexport default NavigateListItem;\r\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDialogUtilityClass(slot) {\n return generateUtilityClass('MuiDialog', slot);\n}\nconst dialogClasses = generateUtilityClasses('MuiDialog', ['root', 'scrollPaper', 'scrollBody', 'container', 'paper', 'paperScrollPaper', 'paperScrollBody', 'paperWidthFalse', 'paperWidthXs', 'paperWidthSm', 'paperWidthMd', 'paperWidthLg', 'paperWidthXl', 'paperFullWidth', 'paperFullScreen']);\nexport default dialogClasses;","import * as React from 'react';\nconst DialogContext = /*#__PURE__*/React.createContext({});\nif (process.env.NODE_ENV !== 'production') {\n DialogContext.displayName = 'DialogContext';\n}\nexport default DialogContext;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"aria-describedby\", \"aria-labelledby\", \"BackdropComponent\", \"BackdropProps\", \"children\", \"className\", \"disableEscapeKeyDown\", \"fullScreen\", \"fullWidth\", \"maxWidth\", \"onBackdropClick\", \"onClick\", \"onClose\", \"open\", \"PaperComponent\", \"PaperProps\", \"scroll\", \"TransitionComponent\", \"transitionDuration\", \"TransitionProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useId from '@mui/utils/useId';\nimport capitalize from '../utils/capitalize';\nimport Modal from '../Modal';\nimport Fade from '../Fade';\nimport Paper from '../Paper';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled from '../styles/styled';\nimport dialogClasses, { getDialogUtilityClass } from './dialogClasses';\nimport DialogContext from './DialogContext';\nimport Backdrop from '../Backdrop';\nimport useTheme from '../styles/useTheme';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DialogBackdrop = styled(Backdrop, {\n name: 'MuiDialog',\n slot: 'Backdrop',\n overrides: (props, styles) => styles.backdrop\n})({\n // Improve scrollable dialog support.\n zIndex: -1\n});\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n scroll,\n maxWidth,\n fullWidth,\n fullScreen\n } = ownerState;\n const slots = {\n root: ['root'],\n container: ['container', `scroll${capitalize(scroll)}`],\n paper: ['paper', `paperScroll${capitalize(scroll)}`, `paperWidth${capitalize(String(maxWidth))}`, fullWidth && 'paperFullWidth', fullScreen && 'paperFullScreen']\n };\n return composeClasses(slots, getDialogUtilityClass, classes);\n};\nconst DialogRoot = styled(Modal, {\n name: 'MuiDialog',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n '@media print': {\n // Use !important to override the Modal inline-style.\n position: 'absolute !important'\n }\n});\nconst DialogContainer = styled('div', {\n name: 'MuiDialog',\n slot: 'Container',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.container, styles[`scroll${capitalize(ownerState.scroll)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n height: '100%',\n '@media print': {\n height: 'auto'\n },\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0\n}, ownerState.scroll === 'paper' && {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center'\n}, ownerState.scroll === 'body' && {\n overflowY: 'auto',\n overflowX: 'hidden',\n textAlign: 'center',\n '&::after': {\n content: '\"\"',\n display: 'inline-block',\n verticalAlign: 'middle',\n height: '100%',\n width: '0'\n }\n}));\nconst DialogPaper = styled(Paper, {\n name: 'MuiDialog',\n slot: 'Paper',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.paper, styles[`scrollPaper${capitalize(ownerState.scroll)}`], styles[`paperWidth${capitalize(String(ownerState.maxWidth))}`], ownerState.fullWidth && styles.paperFullWidth, ownerState.fullScreen && styles.paperFullScreen];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n margin: 32,\n position: 'relative',\n overflowY: 'auto',\n // Fix IE11 issue, to remove at some point.\n '@media print': {\n overflowY: 'visible',\n boxShadow: 'none'\n }\n}, ownerState.scroll === 'paper' && {\n display: 'flex',\n flexDirection: 'column',\n maxHeight: 'calc(100% - 64px)'\n}, ownerState.scroll === 'body' && {\n display: 'inline-block',\n verticalAlign: 'middle',\n textAlign: 'left' // 'initial' doesn't work on IE11\n}, !ownerState.maxWidth && {\n maxWidth: 'calc(100% - 64px)'\n}, ownerState.maxWidth === 'xs' && {\n maxWidth: theme.breakpoints.unit === 'px' ? Math.max(theme.breakpoints.values.xs, 444) : `max(${theme.breakpoints.values.xs}${theme.breakpoints.unit}, 444px)`,\n [`&.${dialogClasses.paperScrollBody}`]: {\n [theme.breakpoints.down(Math.max(theme.breakpoints.values.xs, 444) + 32 * 2)]: {\n maxWidth: 'calc(100% - 64px)'\n }\n }\n}, ownerState.maxWidth && ownerState.maxWidth !== 'xs' && {\n maxWidth: `${theme.breakpoints.values[ownerState.maxWidth]}${theme.breakpoints.unit}`,\n [`&.${dialogClasses.paperScrollBody}`]: {\n [theme.breakpoints.down(theme.breakpoints.values[ownerState.maxWidth] + 32 * 2)]: {\n maxWidth: 'calc(100% - 64px)'\n }\n }\n}, ownerState.fullWidth && {\n width: 'calc(100% - 64px)'\n}, ownerState.fullScreen && {\n margin: 0,\n width: '100%',\n maxWidth: '100%',\n height: '100%',\n maxHeight: 'none',\n borderRadius: 0,\n [`&.${dialogClasses.paperScrollBody}`]: {\n margin: 0,\n maxWidth: '100%'\n }\n}));\n\n/**\n * Dialogs are overlaid modal paper based components with a backdrop.\n */\nconst Dialog = /*#__PURE__*/React.forwardRef(function Dialog(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiDialog'\n });\n const theme = useTheme();\n const defaultTransitionDuration = {\n enter: theme.transitions.duration.enteringScreen,\n exit: theme.transitions.duration.leavingScreen\n };\n const {\n 'aria-describedby': ariaDescribedby,\n 'aria-labelledby': ariaLabelledbyProp,\n BackdropComponent,\n BackdropProps,\n children,\n className,\n disableEscapeKeyDown = false,\n fullScreen = false,\n fullWidth = false,\n maxWidth = 'sm',\n onBackdropClick,\n onClick,\n onClose,\n open,\n PaperComponent = Paper,\n PaperProps = {},\n scroll = 'paper',\n TransitionComponent = Fade,\n transitionDuration = defaultTransitionDuration,\n TransitionProps\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n disableEscapeKeyDown,\n fullScreen,\n fullWidth,\n maxWidth,\n scroll\n });\n const classes = useUtilityClasses(ownerState);\n const backdropClick = React.useRef();\n const handleMouseDown = event => {\n // We don't want to close the dialog when clicking the dialog content.\n // Make sure the event starts and ends on the same DOM element.\n backdropClick.current = event.target === event.currentTarget;\n };\n const handleBackdropClick = event => {\n if (onClick) {\n onClick(event);\n }\n\n // Ignore the events not coming from the \"backdrop\".\n if (!backdropClick.current) {\n return;\n }\n backdropClick.current = null;\n if (onBackdropClick) {\n onBackdropClick(event);\n }\n if (onClose) {\n onClose(event, 'backdropClick');\n }\n };\n const ariaLabelledby = useId(ariaLabelledbyProp);\n const dialogContextValue = React.useMemo(() => {\n return {\n titleId: ariaLabelledby\n };\n }, [ariaLabelledby]);\n return /*#__PURE__*/_jsx(DialogRoot, _extends({\n className: clsx(classes.root, className),\n closeAfterTransition: true,\n components: {\n Backdrop: DialogBackdrop\n },\n componentsProps: {\n backdrop: _extends({\n transitionDuration,\n as: BackdropComponent\n }, BackdropProps)\n },\n disableEscapeKeyDown: disableEscapeKeyDown,\n onClose: onClose,\n open: open,\n ref: ref,\n onClick: handleBackdropClick,\n ownerState: ownerState\n }, other, {\n children: /*#__PURE__*/_jsx(TransitionComponent, _extends({\n appear: true,\n in: open,\n timeout: transitionDuration,\n role: \"presentation\"\n }, TransitionProps, {\n children: /*#__PURE__*/_jsx(DialogContainer, {\n className: clsx(classes.container),\n onMouseDown: handleMouseDown,\n ownerState: ownerState,\n children: /*#__PURE__*/_jsx(DialogPaper, _extends({\n as: PaperComponent,\n elevation: 24,\n role: \"dialog\",\n \"aria-describedby\": ariaDescribedby,\n \"aria-labelledby\": ariaLabelledby\n }, PaperProps, {\n className: clsx(classes.paper, PaperProps.className),\n ownerState: ownerState,\n children: /*#__PURE__*/_jsx(DialogContext.Provider, {\n value: dialogContextValue,\n children: children\n })\n }))\n })\n }))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Dialog.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The id(s) of the element(s) that describe the dialog.\n */\n 'aria-describedby': PropTypes.string,\n /**\n * The id(s) of the element(s) that label the dialog.\n */\n 'aria-labelledby': PropTypes.string,\n /**\n * A backdrop component. This prop enables custom backdrop rendering.\n * @deprecated Use `slots.backdrop` instead. While this prop currently works, it will be removed in the next major version.\n * Use the `slots.backdrop` prop to make your application ready for the next version of Material UI.\n * @default styled(Backdrop, {\n * name: 'MuiModal',\n * slot: 'Backdrop',\n * overridesResolver: (props, styles) => {\n * return styles.backdrop;\n * },\n * })({\n * zIndex: -1,\n * })\n */\n BackdropComponent: PropTypes.elementType,\n /**\n * @ignore\n */\n BackdropProps: PropTypes.object,\n /**\n * Dialog children, usually the included sub-components.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, hitting escape will not fire the `onClose` callback.\n * @default false\n */\n disableEscapeKeyDown: PropTypes.bool,\n /**\n * If `true`, the dialog is full-screen.\n * @default false\n */\n fullScreen: PropTypes.bool,\n /**\n * If `true`, the dialog stretches to `maxWidth`.\n *\n * Notice that the dialog width grow is limited by the default margin.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * Determine the max-width of the dialog.\n * The dialog width grows with the size of the screen.\n * Set to `false` to disable `maxWidth`.\n * @default 'sm'\n */\n maxWidth: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl', false]), PropTypes.string]),\n /**\n * Callback fired when the backdrop is clicked.\n * @deprecated Use the `onClose` prop with the `reason` argument to handle the `backdropClick` events.\n */\n onBackdropClick: PropTypes.func,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * Callback fired when the component requests to be closed.\n *\n * @param {object} event The event source of the callback.\n * @param {string} reason Can be: `\"escapeKeyDown\"`, `\"backdropClick\"`.\n */\n onClose: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * The component used to render the body of the dialog.\n * @default Paper\n */\n PaperComponent: PropTypes.elementType,\n /**\n * Props applied to the [`Paper`](/material-ui/api/paper/) element.\n * @default {}\n */\n PaperProps: PropTypes.object,\n /**\n * Determine the container for scrolling the dialog.\n * @default 'paper'\n */\n scroll: PropTypes.oneOf(['body', 'paper']),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The component used for the transition.\n * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @default Fade\n */\n TransitionComponent: PropTypes.elementType,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n * @default {\n * enter: theme.transitions.duration.enteringScreen,\n * exit: theme.transitions.duration.leavingScreen,\n * }\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.\n */\n TransitionProps: PropTypes.object\n} : void 0;\nexport default Dialog;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDialogTitleUtilityClass(slot) {\n return generateUtilityClass('MuiDialogTitle', slot);\n}\nconst dialogTitleClasses = generateUtilityClasses('MuiDialogTitle', ['root']);\nexport default dialogTitleClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"id\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport Typography from '../Typography';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport { getDialogTitleUtilityClass } from './dialogTitleClasses';\nimport DialogContext from '../Dialog/DialogContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getDialogTitleUtilityClass, classes);\n};\nconst DialogTitleRoot = styled(Typography, {\n name: 'MuiDialogTitle',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n padding: '16px 24px',\n flex: '0 0 auto'\n});\nconst DialogTitle = /*#__PURE__*/React.forwardRef(function DialogTitle(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiDialogTitle'\n });\n const {\n className,\n id: idProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n const {\n titleId = idProp\n } = React.useContext(DialogContext);\n return /*#__PURE__*/_jsx(DialogTitleRoot, _extends({\n component: \"h2\",\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref,\n variant: \"h6\",\n id: idProp != null ? idProp : titleId\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogTitle.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * @ignore\n */\n id: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogTitle;","import DialogTitle from \"@mui/material/DialogTitle\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport PropTypes from \"prop-types\";\r\nimport { ctheme } from \"../../theme/theme\";\r\nimport { Grid } from \"@mui/material\";\r\nimport FullscreenIcon from \"@mui/icons-material/Fullscreen\";\r\nimport React from \"react\";\r\n\r\nconst BootstrapDialogTitle = React.forwardRef(\r\n ({ children, onClose, setFullScreen, canFullScreen, ...rest }, ref) => {\r\n return (\r\n <DialogTitle\r\n sx={{\r\n m: 0,\r\n p: \"2px\",\r\n pl: \"10px\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"space-between\",\r\n fontSize: \"12pt\",\r\n bgcolor: ctheme.colors.lynxWhite,\r\n }}\r\n {...rest}\r\n >\r\n {children}\r\n <Grid>\r\n {canFullScreen && (\r\n <IconButton\r\n size=\"small\"\r\n aria-label=\"close\"\r\n onClick={() => {\r\n setFullScreen((prevState) => !prevState);\r\n }}\r\n sx={{\r\n color: (theme) => theme.palette.error.main,\r\n }}\r\n >\r\n <FullscreenIcon />\r\n </IconButton>\r\n )}\r\n {onClose && (\r\n <IconButton\r\n size=\"small\"\r\n aria-label=\"close\"\r\n onClick={onClose}\r\n sx={{\r\n color: (theme) => theme.palette.error.main,\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n )}\r\n </Grid>\r\n </DialogTitle>\r\n );\r\n }\r\n);\r\n\r\nBootstrapDialogTitle.propTypes = {\r\n children: PropTypes.node,\r\n onClose: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default BootstrapDialogTitle;\r\n","// ES6 Map\nvar map\ntry {\n map = Map\n} catch (_) { }\nvar set\n\n// ES6 Set\ntry {\n set = Set\n} catch (_) { }\n\nfunction baseClone (src, circulars, clones) {\n // Null/undefined/functions/etc\n if (!src || typeof src !== 'object' || typeof src === 'function') {\n return src\n }\n\n // DOM Node\n if (src.nodeType && 'cloneNode' in src) {\n return src.cloneNode(true)\n }\n\n // Date\n if (src instanceof Date) {\n return new Date(src.getTime())\n }\n\n // RegExp\n if (src instanceof RegExp) {\n return new RegExp(src)\n }\n\n // Arrays\n if (Array.isArray(src)) {\n return src.map(clone)\n }\n\n // ES6 Maps\n if (map && src instanceof map) {\n return new Map(Array.from(src.entries()))\n }\n\n // ES6 Sets\n if (set && src instanceof set) {\n return new Set(Array.from(src.values()))\n }\n\n // Object\n if (src instanceof Object) {\n circulars.push(src)\n var obj = Object.create(src)\n clones.push(obj)\n for (var key in src) {\n var idx = circulars.findIndex(function (i) {\n return i === src[key]\n })\n obj[key] = idx > -1 ? clones[idx] : baseClone(src[key], circulars, clones)\n }\n return obj\n }\n\n // ???\n return src\n}\n\nexport default function clone (src) {\n return baseClone(src, [], [])\n}\n","import { Paper } from \"@mui/material\";\r\nimport React, { useState } from \"react\";\r\nimport Draggable from \"react-draggable\";\r\n\r\nexport default function DraggablePaper(props) {\r\n const [position, setPosition] = useState({ x: 0, y: 0 });\r\n return (\r\n <Draggable\r\n disabled={props.fullScreen}\r\n onStop={(e, d) => {\r\n if (!props.fullScreen) {\r\n setPosition({\r\n x:\r\n d.lastX <\r\n (-1 * (window.innerWidth - d.node.offsetWidth)) / 2 -\r\n d.node.offsetWidth +\r\n 50\r\n ? (-1 * (window.innerWidth - d.node.offsetWidth)) / 2 -\r\n d.node.offsetWidth +\r\n 50\r\n : d.lastX >\r\n (window.innerWidth - d.node.offsetWidth) / 2 / 2 +\r\n d.node.offsetWidth -\r\n 50\r\n ? (window.innerWidth - d.node.offsetWidth) / 2 +\r\n d.node.offsetWidth -\r\n 50\r\n : d.lastX,\r\n y:\r\n d.lastY < (-1 * (window.innerHeight - d.node.offsetHeight)) / 2\r\n ? (-1 * (window.innerHeight - d.node.offsetHeight)) / 2\r\n : d.lastY >\r\n (window.innerHeight - d.node.offsetHeight) / 2 / 2 +\r\n d.node.offsetHeight -\r\n 50\r\n ? (window.innerHeight - d.node.offsetHeight) / 2 +\r\n d.node.offsetHeight -\r\n 50\r\n : d.lastY,\r\n });\r\n }\r\n }}\r\n position={props.fullScreen ? { x: 0, y: 0 } : position}\r\n cancel={\r\n '[id*=\"dialog-content-wrapper\"],#auto-complate-input,[id*=\"dialog-content\"]'\r\n }\r\n >\r\n <Paper {...props} />\r\n </Draggable>\r\n );\r\n}\r\n","const toString = Object.prototype.toString;\nconst errorToString = Error.prototype.toString;\nconst regExpToString = RegExp.prototype.toString;\nconst symbolToString = typeof Symbol !== 'undefined' ? Symbol.prototype.toString : () => '';\nconst SYMBOL_REGEXP = /^Symbol\\((.*)\\)(.*)$/;\n\nfunction printNumber(val) {\n if (val != +val) return 'NaN';\n const isNegativeZero = val === 0 && 1 / val < 0;\n return isNegativeZero ? '-0' : '' + val;\n}\n\nfunction printSimpleValue(val, quoteStrings = false) {\n if (val == null || val === true || val === false) return '' + val;\n const typeOf = typeof val;\n if (typeOf === 'number') return printNumber(val);\n if (typeOf === 'string') return quoteStrings ? `\"${val}\"` : val;\n if (typeOf === 'function') return '[Function ' + (val.name || 'anonymous') + ']';\n if (typeOf === 'symbol') return symbolToString.call(val).replace(SYMBOL_REGEXP, 'Symbol($1)');\n const tag = toString.call(val).slice(8, -1);\n if (tag === 'Date') return isNaN(val.getTime()) ? '' + val : val.toISOString(val);\n if (tag === 'Error' || val instanceof Error) return '[' + errorToString.call(val) + ']';\n if (tag === 'RegExp') return regExpToString.call(val);\n return null;\n}\n\nexport default function printValue(value, quoteStrings) {\n let result = printSimpleValue(value, quoteStrings);\n if (result !== null) return result;\n return JSON.stringify(value, function (key, value) {\n let result = printSimpleValue(this[key], quoteStrings);\n if (result !== null) return result;\n return value;\n }, 2);\n}","import printValue from './util/printValue';\nexport let mixed = {\n default: '${path} is invalid',\n required: '${path} is a required field',\n oneOf: '${path} must be one of the following values: ${values}',\n notOneOf: '${path} must not be one of the following values: ${values}',\n notType: ({\n path,\n type,\n value,\n originalValue\n }) => {\n let isCast = originalValue != null && originalValue !== value;\n let msg = `${path} must be a \\`${type}\\` type, ` + `but the final value was: \\`${printValue(value, true)}\\`` + (isCast ? ` (cast from the value \\`${printValue(originalValue, true)}\\`).` : '.');\n\n if (value === null) {\n msg += `\\n If \"null\" is intended as an empty value be sure to mark the schema as \\`.nullable()\\``;\n }\n\n return msg;\n },\n defined: '${path} must be defined'\n};\nexport let string = {\n length: '${path} must be exactly ${length} characters',\n min: '${path} must be at least ${min} characters',\n max: '${path} must be at most ${max} characters',\n matches: '${path} must match the following: \"${regex}\"',\n email: '${path} must be a valid email',\n url: '${path} must be a valid URL',\n uuid: '${path} must be a valid UUID',\n trim: '${path} must be a trimmed string',\n lowercase: '${path} must be a lowercase string',\n uppercase: '${path} must be a upper case string'\n};\nexport let number = {\n min: '${path} must be greater than or equal to ${min}',\n max: '${path} must be less than or equal to ${max}',\n lessThan: '${path} must be less than ${less}',\n moreThan: '${path} must be greater than ${more}',\n positive: '${path} must be a positive number',\n negative: '${path} must be a negative number',\n integer: '${path} must be an integer'\n};\nexport let date = {\n min: '${path} field must be later than ${min}',\n max: '${path} field must be at earlier than ${max}'\n};\nexport let boolean = {\n isValue: '${path} field must be ${value}'\n};\nexport let object = {\n noUnknown: '${path} field has unspecified keys: ${unknown}'\n};\nexport let array = {\n min: '${path} field must have at least ${min} items',\n max: '${path} field must have less than or equal to ${max} items',\n length: '${path} must have ${length} items'\n};\nexport default Object.assign(Object.create(null), {\n mixed,\n string,\n number,\n date,\n object,\n array,\n boolean\n});","const isSchema = obj => obj && obj.__isYupSchema__;\n\nexport default isSchema;","import has from 'lodash/has';\nimport isSchema from './util/isSchema';\n\nclass Condition {\n constructor(refs, options) {\n this.fn = void 0;\n this.refs = refs;\n this.refs = refs;\n\n if (typeof options === 'function') {\n this.fn = options;\n return;\n }\n\n if (!has(options, 'is')) throw new TypeError('`is:` is required for `when()` conditions');\n if (!options.then && !options.otherwise) throw new TypeError('either `then:` or `otherwise:` is required for `when()` conditions');\n let {\n is,\n then,\n otherwise\n } = options;\n let check = typeof is === 'function' ? is : (...values) => values.every(value => value === is);\n\n this.fn = function (...args) {\n let options = args.pop();\n let schema = args.pop();\n let branch = check(...args) ? then : otherwise;\n if (!branch) return undefined;\n if (typeof branch === 'function') return branch(schema);\n return schema.concat(branch.resolve(options));\n };\n }\n\n resolve(base, options) {\n let values = this.refs.map(ref => ref.getValue(options == null ? void 0 : options.value, options == null ? void 0 : options.parent, options == null ? void 0 : options.context));\n let schema = this.fn.apply(base, values.concat(base, options));\n if (schema === undefined || schema === base) return base;\n if (!isSchema(schema)) throw new TypeError('conditions must return a schema object');\n return schema.resolve(options);\n }\n\n}\n\nexport default Condition;","export default function toArray(value) {\n return value == null ? [] : [].concat(value);\n}","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport printValue from './util/printValue';\nimport toArray from './util/toArray';\nlet strReg = /\\$\\{\\s*(\\w+)\\s*\\}/g;\nexport default class ValidationError extends Error {\n static formatError(message, params) {\n const path = params.label || params.path || 'this';\n if (path !== params.path) params = _extends({}, params, {\n path\n });\n if (typeof message === 'string') return message.replace(strReg, (_, key) => printValue(params[key]));\n if (typeof message === 'function') return message(params);\n return message;\n }\n\n static isError(err) {\n return err && err.name === 'ValidationError';\n }\n\n constructor(errorOrErrors, value, field, type) {\n super();\n this.value = void 0;\n this.path = void 0;\n this.type = void 0;\n this.errors = void 0;\n this.params = void 0;\n this.inner = void 0;\n this.name = 'ValidationError';\n this.value = value;\n this.path = field;\n this.type = type;\n this.errors = [];\n this.inner = [];\n toArray(errorOrErrors).forEach(err => {\n if (ValidationError.isError(err)) {\n this.errors.push(...err.errors);\n this.inner = this.inner.concat(err.inner.length ? err.inner : err);\n } else {\n this.errors.push(err);\n }\n });\n this.message = this.errors.length > 1 ? `${this.errors.length} errors occurred` : this.errors[0];\n if (Error.captureStackTrace) Error.captureStackTrace(this, ValidationError);\n }\n\n}","import ValidationError from '../ValidationError';\n\nconst once = cb => {\n let fired = false;\n return (...args) => {\n if (fired) return;\n fired = true;\n cb(...args);\n };\n};\n\nexport default function runTests(options, cb) {\n let {\n endEarly,\n tests,\n args,\n value,\n errors,\n sort,\n path\n } = options;\n let callback = once(cb);\n let count = tests.length;\n const nestedErrors = [];\n errors = errors ? errors : [];\n if (!count) return errors.length ? callback(new ValidationError(errors, value, path)) : callback(null, value);\n\n for (let i = 0; i < tests.length; i++) {\n const test = tests[i];\n test(args, function finishTestRun(err) {\n if (err) {\n // always return early for non validation errors\n if (!ValidationError.isError(err)) {\n return callback(err, value);\n }\n\n if (endEarly) {\n err.value = value;\n return callback(err, value);\n }\n\n nestedErrors.push(err);\n }\n\n if (--count <= 0) {\n if (nestedErrors.length) {\n if (sort) nestedErrors.sort(sort); //show parent errors after the nested ones: name.first, name\n\n if (errors.length) nestedErrors.push(...errors);\n errors = nestedErrors;\n }\n\n if (errors.length) {\n callback(new ValidationError(errors, value, path), value);\n return;\n }\n\n callback(null, value);\n }\n });\n }\n}","import { getter } from 'property-expr';\nconst prefixes = {\n context: '$',\n value: '.'\n};\nexport function create(key, options) {\n return new Reference(key, options);\n}\nexport default class Reference {\n constructor(key, options = {}) {\n this.key = void 0;\n this.isContext = void 0;\n this.isValue = void 0;\n this.isSibling = void 0;\n this.path = void 0;\n this.getter = void 0;\n this.map = void 0;\n if (typeof key !== 'string') throw new TypeError('ref must be a string, got: ' + key);\n this.key = key.trim();\n if (key === '') throw new TypeError('ref must be a non-empty string');\n this.isContext = this.key[0] === prefixes.context;\n this.isValue = this.key[0] === prefixes.value;\n this.isSibling = !this.isContext && !this.isValue;\n let prefix = this.isContext ? prefixes.context : this.isValue ? prefixes.value : '';\n this.path = this.key.slice(prefix.length);\n this.getter = this.path && getter(this.path, true);\n this.map = options.map;\n }\n\n getValue(value, parent, context) {\n let result = this.isContext ? context : this.isValue ? value : parent;\n if (this.getter) result = this.getter(result || {});\n if (this.map) result = this.map(result);\n return result;\n }\n /**\n *\n * @param {*} value\n * @param {Object} options\n * @param {Object=} options.context\n * @param {Object=} options.parent\n */\n\n\n cast(value, options) {\n return this.getValue(value, options == null ? void 0 : options.parent, options == null ? void 0 : options.context);\n }\n\n resolve() {\n return this;\n }\n\n describe() {\n return {\n type: 'ref',\n key: this.key\n };\n }\n\n toString() {\n return `Ref(${this.key})`;\n }\n\n static isRef(value) {\n return value && value.__isYupRef;\n }\n\n} // @ts-ignore\n\nReference.prototype.__isYupRef = true;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport mapValues from 'lodash/mapValues';\nimport ValidationError from '../ValidationError';\nimport Ref from '../Reference';\nexport default function createValidation(config) {\n function validate(_ref, cb) {\n let {\n value,\n path = '',\n label,\n options,\n originalValue,\n sync\n } = _ref,\n rest = _objectWithoutPropertiesLoose(_ref, [\"value\", \"path\", \"label\", \"options\", \"originalValue\", \"sync\"]);\n\n const {\n name,\n test,\n params,\n message\n } = config;\n let {\n parent,\n context\n } = options;\n\n function resolve(item) {\n return Ref.isRef(item) ? item.getValue(value, parent, context) : item;\n }\n\n function createError(overrides = {}) {\n const nextParams = mapValues(_extends({\n value,\n originalValue,\n label,\n path: overrides.path || path\n }, params, overrides.params), resolve);\n const error = new ValidationError(ValidationError.formatError(overrides.message || message, nextParams), value, nextParams.path, overrides.type || name);\n error.params = nextParams;\n return error;\n }\n\n let ctx = _extends({\n path,\n parent,\n type: name,\n createError,\n resolve,\n options,\n originalValue\n }, rest);\n\n if (!sync) {\n try {\n Promise.resolve(test.call(ctx, value, ctx)).then(validOrError => {\n if (ValidationError.isError(validOrError)) cb(validOrError);else if (!validOrError) cb(createError());else cb(null, validOrError);\n }).catch(cb);\n } catch (err) {\n cb(err);\n }\n\n return;\n }\n\n let result;\n\n try {\n var _ref2;\n\n result = test.call(ctx, value, ctx);\n\n if (typeof ((_ref2 = result) == null ? void 0 : _ref2.then) === 'function') {\n throw new Error(`Validation test of type: \"${ctx.type}\" returned a Promise during a synchronous validate. ` + `This test will finish after the validate call has returned`);\n }\n } catch (err) {\n cb(err);\n return;\n }\n\n if (ValidationError.isError(result)) cb(result);else if (!result) cb(createError());else cb(null, result);\n }\n\n validate.OPTIONS = config;\n return validate;\n}","import { forEach } from 'property-expr';\n\nlet trim = part => part.substr(0, part.length - 1).substr(1);\n\nexport function getIn(schema, path, value, context = value) {\n let parent, lastPart, lastPartDebug; // root path: ''\n\n if (!path) return {\n parent,\n parentPath: path,\n schema\n };\n forEach(path, (_part, isBracket, isArray) => {\n let part = isBracket ? trim(_part) : _part;\n schema = schema.resolve({\n context,\n parent,\n value\n });\n\n if (schema.innerType) {\n let idx = isArray ? parseInt(part, 10) : 0;\n\n if (value && idx >= value.length) {\n throw new Error(`Yup.reach cannot resolve an array item at index: ${_part}, in the path: ${path}. ` + `because there is no value at that index. `);\n }\n\n parent = value;\n value = value && value[idx];\n schema = schema.innerType;\n } // sometimes the array index part of a path doesn't exist: \"nested.arr.child\"\n // in these cases the current part is the next schema and should be processed\n // in this iteration. For cases where the index signature is included this\n // check will fail and we'll handle the `child` part on the next iteration like normal\n\n\n if (!isArray) {\n if (!schema.fields || !schema.fields[part]) throw new Error(`The schema does not contain the path: ${path}. ` + `(failed at: ${lastPartDebug} which is a type: \"${schema._type}\")`);\n parent = value;\n value = value && value[part];\n schema = schema.fields[part];\n }\n\n lastPart = part;\n lastPartDebug = isBracket ? '[' + _part + ']' : '.' + _part;\n });\n return {\n schema,\n parent,\n parentPath: lastPart\n };\n}\n\nconst reach = (obj, path, value, context) => getIn(obj, path, value, context).schema;\n\nexport default reach;","import Reference from '../Reference';\nexport default class ReferenceSet {\n constructor() {\n this.list = void 0;\n this.refs = void 0;\n this.list = new Set();\n this.refs = new Map();\n }\n\n get size() {\n return this.list.size + this.refs.size;\n }\n\n describe() {\n const description = [];\n\n for (const item of this.list) description.push(item);\n\n for (const [, ref] of this.refs) description.push(ref.describe());\n\n return description;\n }\n\n toArray() {\n return Array.from(this.list).concat(Array.from(this.refs.values()));\n }\n\n resolveAll(resolve) {\n return this.toArray().reduce((acc, e) => acc.concat(Reference.isRef(e) ? resolve(e) : e), []);\n }\n\n add(value) {\n Reference.isRef(value) ? this.refs.set(value.key, value) : this.list.add(value);\n }\n\n delete(value) {\n Reference.isRef(value) ? this.refs.delete(value.key) : this.list.delete(value);\n }\n\n clone() {\n const next = new ReferenceSet();\n next.list = new Set(this.list);\n next.refs = new Map(this.refs);\n return next;\n }\n\n merge(newItems, removeItems) {\n const next = this.clone();\n newItems.list.forEach(value => next.add(value));\n newItems.refs.forEach(value => next.add(value));\n removeItems.list.forEach(value => next.delete(value));\n removeItems.refs.forEach(value => next.delete(value));\n return next;\n }\n\n}","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\n// @ts-ignore\nimport cloneDeep from 'nanoclone';\nimport { mixed as locale } from './locale';\nimport Condition from './Condition';\nimport runTests from './util/runTests';\nimport createValidation from './util/createValidation';\nimport printValue from './util/printValue';\nimport Ref from './Reference';\nimport { getIn } from './util/reach';\nimport ValidationError from './ValidationError';\nimport ReferenceSet from './util/ReferenceSet';\nimport toArray from './util/toArray'; // const UNSET = 'unset' as const;\n\nexport default class BaseSchema {\n constructor(options) {\n this.deps = [];\n this.tests = void 0;\n this.transforms = void 0;\n this.conditions = [];\n this._mutate = void 0;\n this._typeError = void 0;\n this._whitelist = new ReferenceSet();\n this._blacklist = new ReferenceSet();\n this.exclusiveTests = Object.create(null);\n this.spec = void 0;\n this.tests = [];\n this.transforms = [];\n this.withMutation(() => {\n this.typeError(locale.notType);\n });\n this.type = (options == null ? void 0 : options.type) || 'mixed';\n this.spec = _extends({\n strip: false,\n strict: false,\n abortEarly: true,\n recursive: true,\n nullable: false,\n presence: 'optional'\n }, options == null ? void 0 : options.spec);\n } // TODO: remove\n\n\n get _type() {\n return this.type;\n }\n\n _typeCheck(_value) {\n return true;\n }\n\n clone(spec) {\n if (this._mutate) {\n if (spec) Object.assign(this.spec, spec);\n return this;\n } // if the nested value is a schema we can skip cloning, since\n // they are already immutable\n\n\n const next = Object.create(Object.getPrototypeOf(this)); // @ts-expect-error this is readonly\n\n next.type = this.type;\n next._typeError = this._typeError;\n next._whitelistError = this._whitelistError;\n next._blacklistError = this._blacklistError;\n next._whitelist = this._whitelist.clone();\n next._blacklist = this._blacklist.clone();\n next.exclusiveTests = _extends({}, this.exclusiveTests); // @ts-expect-error this is readonly\n\n next.deps = [...this.deps];\n next.conditions = [...this.conditions];\n next.tests = [...this.tests];\n next.transforms = [...this.transforms];\n next.spec = cloneDeep(_extends({}, this.spec, spec));\n return next;\n }\n\n label(label) {\n let next = this.clone();\n next.spec.label = label;\n return next;\n }\n\n meta(...args) {\n if (args.length === 0) return this.spec.meta;\n let next = this.clone();\n next.spec.meta = Object.assign(next.spec.meta || {}, args[0]);\n return next;\n } // withContext<TContext extends AnyObject>(): BaseSchema<\n // TCast,\n // TContext,\n // TOutput\n // > {\n // return this as any;\n // }\n\n\n withMutation(fn) {\n let before = this._mutate;\n this._mutate = true;\n let result = fn(this);\n this._mutate = before;\n return result;\n }\n\n concat(schema) {\n if (!schema || schema === this) return this;\n if (schema.type !== this.type && this.type !== 'mixed') throw new TypeError(`You cannot \\`concat()\\` schema's of different types: ${this.type} and ${schema.type}`);\n let base = this;\n let combined = schema.clone();\n\n const mergedSpec = _extends({}, base.spec, combined.spec); // if (combined.spec.nullable === UNSET)\n // mergedSpec.nullable = base.spec.nullable;\n // if (combined.spec.presence === UNSET)\n // mergedSpec.presence = base.spec.presence;\n\n\n combined.spec = mergedSpec;\n combined._typeError || (combined._typeError = base._typeError);\n combined._whitelistError || (combined._whitelistError = base._whitelistError);\n combined._blacklistError || (combined._blacklistError = base._blacklistError); // manually merge the blacklist/whitelist (the other `schema` takes\n // precedence in case of conflicts)\n\n combined._whitelist = base._whitelist.merge(schema._whitelist, schema._blacklist);\n combined._blacklist = base._blacklist.merge(schema._blacklist, schema._whitelist); // start with the current tests\n\n combined.tests = base.tests;\n combined.exclusiveTests = base.exclusiveTests; // manually add the new tests to ensure\n // the deduping logic is consistent\n\n combined.withMutation(next => {\n schema.tests.forEach(fn => {\n next.test(fn.OPTIONS);\n });\n });\n combined.transforms = [...base.transforms, ...combined.transforms];\n return combined;\n }\n\n isType(v) {\n if (this.spec.nullable && v === null) return true;\n return this._typeCheck(v);\n }\n\n resolve(options) {\n let schema = this;\n\n if (schema.conditions.length) {\n let conditions = schema.conditions;\n schema = schema.clone();\n schema.conditions = [];\n schema = conditions.reduce((schema, condition) => condition.resolve(schema, options), schema);\n schema = schema.resolve(options);\n }\n\n return schema;\n }\n /**\n *\n * @param {*} value\n * @param {Object} options\n * @param {*=} options.parent\n * @param {*=} options.context\n */\n\n\n cast(value, options = {}) {\n let resolvedSchema = this.resolve(_extends({\n value\n }, options));\n\n let result = resolvedSchema._cast(value, options);\n\n if (value !== undefined && options.assert !== false && resolvedSchema.isType(result) !== true) {\n let formattedValue = printValue(value);\n let formattedResult = printValue(result);\n throw new TypeError(`The value of ${options.path || 'field'} could not be cast to a value ` + `that satisfies the schema type: \"${resolvedSchema._type}\". \\n\\n` + `attempted value: ${formattedValue} \\n` + (formattedResult !== formattedValue ? `result of cast: ${formattedResult}` : ''));\n }\n\n return result;\n }\n\n _cast(rawValue, _options) {\n let value = rawValue === undefined ? rawValue : this.transforms.reduce((value, fn) => fn.call(this, value, rawValue, this), rawValue);\n\n if (value === undefined) {\n value = this.getDefault();\n }\n\n return value;\n }\n\n _validate(_value, options = {}, cb) {\n let {\n sync,\n path,\n from = [],\n originalValue = _value,\n strict = this.spec.strict,\n abortEarly = this.spec.abortEarly\n } = options;\n let value = _value;\n\n if (!strict) {\n // this._validating = true;\n value = this._cast(value, _extends({\n assert: false\n }, options)); // this._validating = false;\n } // value is cast, we can check if it meets type requirements\n\n\n let args = {\n value,\n path,\n options,\n originalValue,\n schema: this,\n label: this.spec.label,\n sync,\n from\n };\n let initialTests = [];\n if (this._typeError) initialTests.push(this._typeError);\n let finalTests = [];\n if (this._whitelistError) finalTests.push(this._whitelistError);\n if (this._blacklistError) finalTests.push(this._blacklistError);\n runTests({\n args,\n value,\n path,\n sync,\n tests: initialTests,\n endEarly: abortEarly\n }, err => {\n if (err) return void cb(err, value);\n runTests({\n tests: this.tests.concat(finalTests),\n args,\n path,\n sync,\n value,\n endEarly: abortEarly\n }, cb);\n });\n }\n\n validate(value, options, maybeCb) {\n let schema = this.resolve(_extends({}, options, {\n value\n })); // callback case is for nested validations\n\n return typeof maybeCb === 'function' ? schema._validate(value, options, maybeCb) : new Promise((resolve, reject) => schema._validate(value, options, (err, value) => {\n if (err) reject(err);else resolve(value);\n }));\n }\n\n validateSync(value, options) {\n let schema = this.resolve(_extends({}, options, {\n value\n }));\n let result;\n\n schema._validate(value, _extends({}, options, {\n sync: true\n }), (err, value) => {\n if (err) throw err;\n result = value;\n });\n\n return result;\n }\n\n isValid(value, options) {\n return this.validate(value, options).then(() => true, err => {\n if (ValidationError.isError(err)) return false;\n throw err;\n });\n }\n\n isValidSync(value, options) {\n try {\n this.validateSync(value, options);\n return true;\n } catch (err) {\n if (ValidationError.isError(err)) return false;\n throw err;\n }\n }\n\n _getDefault() {\n let defaultValue = this.spec.default;\n\n if (defaultValue == null) {\n return defaultValue;\n }\n\n return typeof defaultValue === 'function' ? defaultValue.call(this) : cloneDeep(defaultValue);\n }\n\n getDefault(options) {\n let schema = this.resolve(options || {});\n return schema._getDefault();\n }\n\n default(def) {\n if (arguments.length === 0) {\n return this._getDefault();\n }\n\n let next = this.clone({\n default: def\n });\n return next;\n }\n\n strict(isStrict = true) {\n let next = this.clone();\n next.spec.strict = isStrict;\n return next;\n }\n\n _isPresent(value) {\n return value != null;\n }\n\n defined(message = locale.defined) {\n return this.test({\n message,\n name: 'defined',\n exclusive: true,\n\n test(value) {\n return value !== undefined;\n }\n\n });\n }\n\n required(message = locale.required) {\n return this.clone({\n presence: 'required'\n }).withMutation(s => s.test({\n message,\n name: 'required',\n exclusive: true,\n\n test(value) {\n return this.schema._isPresent(value);\n }\n\n }));\n }\n\n notRequired() {\n let next = this.clone({\n presence: 'optional'\n });\n next.tests = next.tests.filter(test => test.OPTIONS.name !== 'required');\n return next;\n }\n\n nullable(isNullable = true) {\n let next = this.clone({\n nullable: isNullable !== false\n });\n return next;\n }\n\n transform(fn) {\n let next = this.clone();\n next.transforms.push(fn);\n return next;\n }\n /**\n * Adds a test function to the schema's queue of tests.\n * tests can be exclusive or non-exclusive.\n *\n * - exclusive tests, will replace any existing tests of the same name.\n * - non-exclusive: can be stacked\n *\n * If a non-exclusive test is added to a schema with an exclusive test of the same name\n * the exclusive test is removed and further tests of the same name will be stacked.\n *\n * If an exclusive test is added to a schema with non-exclusive tests of the same name\n * the previous tests are removed and further tests of the same name will replace each other.\n */\n\n\n test(...args) {\n let opts;\n\n if (args.length === 1) {\n if (typeof args[0] === 'function') {\n opts = {\n test: args[0]\n };\n } else {\n opts = args[0];\n }\n } else if (args.length === 2) {\n opts = {\n name: args[0],\n test: args[1]\n };\n } else {\n opts = {\n name: args[0],\n message: args[1],\n test: args[2]\n };\n }\n\n if (opts.message === undefined) opts.message = locale.default;\n if (typeof opts.test !== 'function') throw new TypeError('`test` is a required parameters');\n let next = this.clone();\n let validate = createValidation(opts);\n let isExclusive = opts.exclusive || opts.name && next.exclusiveTests[opts.name] === true;\n\n if (opts.exclusive) {\n if (!opts.name) throw new TypeError('Exclusive tests must provide a unique `name` identifying the test');\n }\n\n if (opts.name) next.exclusiveTests[opts.name] = !!opts.exclusive;\n next.tests = next.tests.filter(fn => {\n if (fn.OPTIONS.name === opts.name) {\n if (isExclusive) return false;\n if (fn.OPTIONS.test === validate.OPTIONS.test) return false;\n }\n\n return true;\n });\n next.tests.push(validate);\n return next;\n }\n\n when(keys, options) {\n if (!Array.isArray(keys) && typeof keys !== 'string') {\n options = keys;\n keys = '.';\n }\n\n let next = this.clone();\n let deps = toArray(keys).map(key => new Ref(key));\n deps.forEach(dep => {\n // @ts-ignore\n if (dep.isSibling) next.deps.push(dep.key);\n });\n next.conditions.push(new Condition(deps, options));\n return next;\n }\n\n typeError(message) {\n let next = this.clone();\n next._typeError = createValidation({\n message,\n name: 'typeError',\n\n test(value) {\n if (value !== undefined && !this.schema.isType(value)) return this.createError({\n params: {\n type: this.schema._type\n }\n });\n return true;\n }\n\n });\n return next;\n }\n\n oneOf(enums, message = locale.oneOf) {\n let next = this.clone();\n enums.forEach(val => {\n next._whitelist.add(val);\n\n next._blacklist.delete(val);\n });\n next._whitelistError = createValidation({\n message,\n name: 'oneOf',\n\n test(value) {\n if (value === undefined) return true;\n let valids = this.schema._whitelist;\n let resolved = valids.resolveAll(this.resolve);\n return resolved.includes(value) ? true : this.createError({\n params: {\n values: valids.toArray().join(', '),\n resolved\n }\n });\n }\n\n });\n return next;\n }\n\n notOneOf(enums, message = locale.notOneOf) {\n let next = this.clone();\n enums.forEach(val => {\n next._blacklist.add(val);\n\n next._whitelist.delete(val);\n });\n next._blacklistError = createValidation({\n message,\n name: 'notOneOf',\n\n test(value) {\n let invalids = this.schema._blacklist;\n let resolved = invalids.resolveAll(this.resolve);\n if (resolved.includes(value)) return this.createError({\n params: {\n values: invalids.toArray().join(', '),\n resolved\n }\n });\n return true;\n }\n\n });\n return next;\n }\n\n strip(strip = true) {\n let next = this.clone();\n next.spec.strip = strip;\n return next;\n }\n\n describe() {\n const next = this.clone();\n const {\n label,\n meta\n } = next.spec;\n const description = {\n meta,\n label,\n type: next.type,\n oneOf: next._whitelist.describe(),\n notOneOf: next._blacklist.describe(),\n tests: next.tests.map(fn => ({\n name: fn.OPTIONS.name,\n params: fn.OPTIONS.params\n })).filter((n, idx, list) => list.findIndex(c => c.name === n.name) === idx)\n };\n return description;\n }\n\n} // eslint-disable-next-line @typescript-eslint/no-unused-vars\n\n// @ts-expect-error\nBaseSchema.prototype.__isYupSchema__ = true;\n\nfor (const method of ['validate', 'validateSync']) BaseSchema.prototype[`${method}At`] = function (path, value, options = {}) {\n const {\n parent,\n parentPath,\n schema\n } = getIn(this, path, value, options.context);\n return schema[method](parent && parent[parentPath], _extends({}, options, {\n parent,\n path\n }));\n};\n\nfor (const alias of ['equals', 'is']) BaseSchema.prototype[alias] = BaseSchema.prototype.oneOf;\n\nfor (const alias of ['not', 'nope']) BaseSchema.prototype[alias] = BaseSchema.prototype.notOneOf;\n\nBaseSchema.prototype.optional = BaseSchema.prototype.notRequired;","import BaseSchema from './schema';\nconst Mixed = BaseSchema;\nexport default Mixed;\nexport function create() {\n return new Mixed();\n} // XXX: this is using the Base schema so that `addMethod(mixed)` works as a base class\n\ncreate.prototype = Mixed.prototype;","const isAbsent = value => value == null;\n\nexport default isAbsent;","import BaseSchema from './schema';\nimport { boolean as locale } from './locale';\nimport isAbsent from './util/isAbsent';\nexport function create() {\n return new BooleanSchema();\n}\nexport default class BooleanSchema extends BaseSchema {\n constructor() {\n super({\n type: 'boolean'\n });\n this.withMutation(() => {\n this.transform(function (value) {\n if (!this.isType(value)) {\n if (/^(true|1)$/i.test(String(value))) return true;\n if (/^(false|0)$/i.test(String(value))) return false;\n }\n\n return value;\n });\n });\n }\n\n _typeCheck(v) {\n if (v instanceof Boolean) v = v.valueOf();\n return typeof v === 'boolean';\n }\n\n isTrue(message = locale.isValue) {\n return this.test({\n message,\n name: 'is-value',\n exclusive: true,\n params: {\n value: 'true'\n },\n\n test(value) {\n return isAbsent(value) || value === true;\n }\n\n });\n }\n\n isFalse(message = locale.isValue) {\n return this.test({\n message,\n name: 'is-value',\n exclusive: true,\n params: {\n value: 'false'\n },\n\n test(value) {\n return isAbsent(value) || value === false;\n }\n\n });\n }\n\n}\ncreate.prototype = BooleanSchema.prototype;","import { string as locale } from './locale';\nimport isAbsent from './util/isAbsent';\nimport BaseSchema from './schema'; // eslint-disable-next-line\n\nlet rEmail = /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/i; // eslint-disable-next-line\n\nlet rUrl = /^((https?|ftp):)?\\/\\/(((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:)*@)?(((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?)(:\\d*)?)(\\/((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)?)?(\\?((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|[\\uE000-\\uF8FF]|\\/|\\?)*)?(\\#((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/i; // eslint-disable-next-line\n\nlet rUUID = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;\n\nlet isTrimmed = value => isAbsent(value) || value === value.trim();\n\nlet objStringTag = {}.toString();\nexport function create() {\n return new StringSchema();\n}\nexport default class StringSchema extends BaseSchema {\n constructor() {\n super({\n type: 'string'\n });\n this.withMutation(() => {\n this.transform(function (value) {\n if (this.isType(value)) return value;\n if (Array.isArray(value)) return value;\n const strValue = value != null && value.toString ? value.toString() : value;\n if (strValue === objStringTag) return value;\n return strValue;\n });\n });\n }\n\n _typeCheck(value) {\n if (value instanceof String) value = value.valueOf();\n return typeof value === 'string';\n }\n\n _isPresent(value) {\n return super._isPresent(value) && !!value.length;\n }\n\n length(length, message = locale.length) {\n return this.test({\n message,\n name: 'length',\n exclusive: true,\n params: {\n length\n },\n\n test(value) {\n return isAbsent(value) || value.length === this.resolve(length);\n }\n\n });\n }\n\n min(min, message = locale.min) {\n return this.test({\n message,\n name: 'min',\n exclusive: true,\n params: {\n min\n },\n\n test(value) {\n return isAbsent(value) || value.length >= this.resolve(min);\n }\n\n });\n }\n\n max(max, message = locale.max) {\n return this.test({\n name: 'max',\n exclusive: true,\n message,\n params: {\n max\n },\n\n test(value) {\n return isAbsent(value) || value.length <= this.resolve(max);\n }\n\n });\n }\n\n matches(regex, options) {\n let excludeEmptyString = false;\n let message;\n let name;\n\n if (options) {\n if (typeof options === 'object') {\n ({\n excludeEmptyString = false,\n message,\n name\n } = options);\n } else {\n message = options;\n }\n }\n\n return this.test({\n name: name || 'matches',\n message: message || locale.matches,\n params: {\n regex\n },\n test: value => isAbsent(value) || value === '' && excludeEmptyString || value.search(regex) !== -1\n });\n }\n\n email(message = locale.email) {\n return this.matches(rEmail, {\n name: 'email',\n message,\n excludeEmptyString: true\n });\n }\n\n url(message = locale.url) {\n return this.matches(rUrl, {\n name: 'url',\n message,\n excludeEmptyString: true\n });\n }\n\n uuid(message = locale.uuid) {\n return this.matches(rUUID, {\n name: 'uuid',\n message,\n excludeEmptyString: false\n });\n } //-- transforms --\n\n\n ensure() {\n return this.default('').transform(val => val === null ? '' : val);\n }\n\n trim(message = locale.trim) {\n return this.transform(val => val != null ? val.trim() : val).test({\n message,\n name: 'trim',\n test: isTrimmed\n });\n }\n\n lowercase(message = locale.lowercase) {\n return this.transform(value => !isAbsent(value) ? value.toLowerCase() : value).test({\n message,\n name: 'string_case',\n exclusive: true,\n test: value => isAbsent(value) || value === value.toLowerCase()\n });\n }\n\n uppercase(message = locale.uppercase) {\n return this.transform(value => !isAbsent(value) ? value.toUpperCase() : value).test({\n message,\n name: 'string_case',\n exclusive: true,\n test: value => isAbsent(value) || value === value.toUpperCase()\n });\n }\n\n}\ncreate.prototype = StringSchema.prototype; //\n// String Interfaces\n//","import { number as locale } from './locale';\nimport isAbsent from './util/isAbsent';\nimport BaseSchema from './schema';\n\nlet isNaN = value => value != +value;\n\nexport function create() {\n return new NumberSchema();\n}\nexport default class NumberSchema extends BaseSchema {\n constructor() {\n super({\n type: 'number'\n });\n this.withMutation(() => {\n this.transform(function (value) {\n let parsed = value;\n\n if (typeof parsed === 'string') {\n parsed = parsed.replace(/\\s/g, '');\n if (parsed === '') return NaN; // don't use parseFloat to avoid positives on alpha-numeric strings\n\n parsed = +parsed;\n }\n\n if (this.isType(parsed)) return parsed;\n return parseFloat(parsed);\n });\n });\n }\n\n _typeCheck(value) {\n if (value instanceof Number) value = value.valueOf();\n return typeof value === 'number' && !isNaN(value);\n }\n\n min(min, message = locale.min) {\n return this.test({\n message,\n name: 'min',\n exclusive: true,\n params: {\n min\n },\n\n test(value) {\n return isAbsent(value) || value >= this.resolve(min);\n }\n\n });\n }\n\n max(max, message = locale.max) {\n return this.test({\n message,\n name: 'max',\n exclusive: true,\n params: {\n max\n },\n\n test(value) {\n return isAbsent(value) || value <= this.resolve(max);\n }\n\n });\n }\n\n lessThan(less, message = locale.lessThan) {\n return this.test({\n message,\n name: 'max',\n exclusive: true,\n params: {\n less\n },\n\n test(value) {\n return isAbsent(value) || value < this.resolve(less);\n }\n\n });\n }\n\n moreThan(more, message = locale.moreThan) {\n return this.test({\n message,\n name: 'min',\n exclusive: true,\n params: {\n more\n },\n\n test(value) {\n return isAbsent(value) || value > this.resolve(more);\n }\n\n });\n }\n\n positive(msg = locale.positive) {\n return this.moreThan(0, msg);\n }\n\n negative(msg = locale.negative) {\n return this.lessThan(0, msg);\n }\n\n integer(message = locale.integer) {\n return this.test({\n name: 'integer',\n message,\n test: val => isAbsent(val) || Number.isInteger(val)\n });\n }\n\n truncate() {\n return this.transform(value => !isAbsent(value) ? value | 0 : value);\n }\n\n round(method) {\n var _method;\n\n let avail = ['ceil', 'floor', 'round', 'trunc'];\n method = ((_method = method) == null ? void 0 : _method.toLowerCase()) || 'round'; // this exists for symemtry with the new Math.trunc\n\n if (method === 'trunc') return this.truncate();\n if (avail.indexOf(method.toLowerCase()) === -1) throw new TypeError('Only valid options for round() are: ' + avail.join(', '));\n return this.transform(value => !isAbsent(value) ? Math[method](value) : value);\n }\n\n}\ncreate.prototype = NumberSchema.prototype; //\n// Number Interfaces\n//","/* eslint-disable */\n\n/**\n *\n * Date.parse with progressive enhancement for ISO 8601 <https://github.com/csnover/js-iso8601>\n * NON-CONFORMANT EDITION.\n * © 2011 Colin Snover <http://zetafleet.com>\n * Released under MIT license.\n */\n// 1 YYYY 2 MM 3 DD 4 HH 5 mm 6 ss 7 msec 8 Z 9 ± 10 tzHH 11 tzmm\nvar isoReg = /^(\\d{4}|[+\\-]\\d{6})(?:-?(\\d{2})(?:-?(\\d{2}))?)?(?:[ T]?(\\d{2}):?(\\d{2})(?::?(\\d{2})(?:[,\\.](\\d{1,}))?)?(?:(Z)|([+\\-])(\\d{2})(?::?(\\d{2}))?)?)?$/;\nexport default function parseIsoDate(date) {\n var numericKeys = [1, 4, 5, 6, 7, 10, 11],\n minutesOffset = 0,\n timestamp,\n struct;\n\n if (struct = isoReg.exec(date)) {\n // avoid NaN timestamps caused by “undefined” values being passed to Date.UTC\n for (var i = 0, k; k = numericKeys[i]; ++i) struct[k] = +struct[k] || 0; // allow undefined days and months\n\n\n struct[2] = (+struct[2] || 1) - 1;\n struct[3] = +struct[3] || 1; // allow arbitrary sub-second precision beyond milliseconds\n\n struct[7] = struct[7] ? String(struct[7]).substr(0, 3) : 0; // timestamps without timezone identifiers should be considered local time\n\n if ((struct[8] === undefined || struct[8] === '') && (struct[9] === undefined || struct[9] === '')) timestamp = +new Date(struct[1], struct[2], struct[3], struct[4], struct[5], struct[6], struct[7]);else {\n if (struct[8] !== 'Z' && struct[9] !== undefined) {\n minutesOffset = struct[10] * 60 + struct[11];\n if (struct[9] === '+') minutesOffset = 0 - minutesOffset;\n }\n\n timestamp = Date.UTC(struct[1], struct[2], struct[3], struct[4], struct[5] + minutesOffset, struct[6], struct[7]);\n }\n } else timestamp = Date.parse ? Date.parse(date) : NaN;\n\n return timestamp;\n}","// @ts-ignore\nimport isoParse from './util/isodate';\nimport { date as locale } from './locale';\nimport isAbsent from './util/isAbsent';\nimport Ref from './Reference';\nimport BaseSchema from './schema';\nlet invalidDate = new Date('');\n\nlet isDate = obj => Object.prototype.toString.call(obj) === '[object Date]';\n\nexport function create() {\n return new DateSchema();\n}\nexport default class DateSchema extends BaseSchema {\n constructor() {\n super({\n type: 'date'\n });\n this.withMutation(() => {\n this.transform(function (value) {\n if (this.isType(value)) return value;\n value = isoParse(value); // 0 is a valid timestamp equivalent to 1970-01-01T00:00:00Z(unix epoch) or before.\n\n return !isNaN(value) ? new Date(value) : invalidDate;\n });\n });\n }\n\n _typeCheck(v) {\n return isDate(v) && !isNaN(v.getTime());\n }\n\n prepareParam(ref, name) {\n let param;\n\n if (!Ref.isRef(ref)) {\n let cast = this.cast(ref);\n if (!this._typeCheck(cast)) throw new TypeError(`\\`${name}\\` must be a Date or a value that can be \\`cast()\\` to a Date`);\n param = cast;\n } else {\n param = ref;\n }\n\n return param;\n }\n\n min(min, message = locale.min) {\n let limit = this.prepareParam(min, 'min');\n return this.test({\n message,\n name: 'min',\n exclusive: true,\n params: {\n min\n },\n\n test(value) {\n return isAbsent(value) || value >= this.resolve(limit);\n }\n\n });\n }\n\n max(max, message = locale.max) {\n let limit = this.prepareParam(max, 'max');\n return this.test({\n message,\n name: 'max',\n exclusive: true,\n params: {\n max\n },\n\n test(value) {\n return isAbsent(value) || value <= this.resolve(limit);\n }\n\n });\n }\n\n}\nDateSchema.INVALID_DATE = invalidDate;\ncreate.prototype = DateSchema.prototype;\ncreate.INVALID_DATE = invalidDate;","function findIndex(arr, err) {\n let idx = Infinity;\n arr.some((key, ii) => {\n var _err$path;\n\n if (((_err$path = err.path) == null ? void 0 : _err$path.indexOf(key)) !== -1) {\n idx = ii;\n return true;\n }\n });\n return idx;\n}\n\nexport default function sortByKeyOrder(keys) {\n return (a, b) => {\n return findIndex(keys, a) - findIndex(keys, b);\n };\n}","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport has from 'lodash/has';\nimport snakeCase from 'lodash/snakeCase';\nimport camelCase from 'lodash/camelCase';\nimport mapKeys from 'lodash/mapKeys';\nimport mapValues from 'lodash/mapValues';\nimport { getter } from 'property-expr';\nimport { object as locale } from './locale';\nimport sortFields from './util/sortFields';\nimport sortByKeyOrder from './util/sortByKeyOrder';\nimport runTests from './util/runTests';\nimport ValidationError from './ValidationError';\nimport BaseSchema from './schema';\n\nlet isObject = obj => Object.prototype.toString.call(obj) === '[object Object]';\n\nfunction unknown(ctx, value) {\n let known = Object.keys(ctx.fields);\n return Object.keys(value).filter(key => known.indexOf(key) === -1);\n}\n\nconst defaultSort = sortByKeyOrder([]);\nexport default class ObjectSchema extends BaseSchema {\n constructor(spec) {\n super({\n type: 'object'\n });\n this.fields = Object.create(null);\n this._sortErrors = defaultSort;\n this._nodes = [];\n this._excludedEdges = [];\n this.withMutation(() => {\n this.transform(function coerce(value) {\n if (typeof value === 'string') {\n try {\n value = JSON.parse(value);\n } catch (err) {\n value = null;\n }\n }\n\n if (this.isType(value)) return value;\n return null;\n });\n\n if (spec) {\n this.shape(spec);\n }\n });\n }\n\n _typeCheck(value) {\n return isObject(value) || typeof value === 'function';\n }\n\n _cast(_value, options = {}) {\n var _options$stripUnknown;\n\n let value = super._cast(_value, options); //should ignore nulls here\n\n\n if (value === undefined) return this.getDefault();\n if (!this._typeCheck(value)) return value;\n let fields = this.fields;\n let strip = (_options$stripUnknown = options.stripUnknown) != null ? _options$stripUnknown : this.spec.noUnknown;\n\n let props = this._nodes.concat(Object.keys(value).filter(v => this._nodes.indexOf(v) === -1));\n\n let intermediateValue = {}; // is filled during the transform below\n\n let innerOptions = _extends({}, options, {\n parent: intermediateValue,\n __validating: options.__validating || false\n });\n\n let isChanged = false;\n\n for (const prop of props) {\n let field = fields[prop];\n let exists = has(value, prop);\n\n if (field) {\n let fieldValue;\n let inputValue = value[prop]; // safe to mutate since this is fired in sequence\n\n innerOptions.path = (options.path ? `${options.path}.` : '') + prop; // innerOptions.value = value[prop];\n\n field = field.resolve({\n value: inputValue,\n context: options.context,\n parent: intermediateValue\n });\n let fieldSpec = 'spec' in field ? field.spec : undefined;\n let strict = fieldSpec == null ? void 0 : fieldSpec.strict;\n\n if (fieldSpec == null ? void 0 : fieldSpec.strip) {\n isChanged = isChanged || prop in value;\n continue;\n }\n\n fieldValue = !options.__validating || !strict ? // TODO: use _cast, this is double resolving\n field.cast(value[prop], innerOptions) : value[prop];\n\n if (fieldValue !== undefined) {\n intermediateValue[prop] = fieldValue;\n }\n } else if (exists && !strip) {\n intermediateValue[prop] = value[prop];\n }\n\n if (intermediateValue[prop] !== value[prop]) {\n isChanged = true;\n }\n }\n\n return isChanged ? intermediateValue : value;\n }\n\n _validate(_value, opts = {}, callback) {\n let errors = [];\n let {\n sync,\n from = [],\n originalValue = _value,\n abortEarly = this.spec.abortEarly,\n recursive = this.spec.recursive\n } = opts;\n from = [{\n schema: this,\n value: originalValue\n }, ...from]; // this flag is needed for handling `strict` correctly in the context of\n // validation vs just casting. e.g strict() on a field is only used when validating\n\n opts.__validating = true;\n opts.originalValue = originalValue;\n opts.from = from;\n\n super._validate(_value, opts, (err, value) => {\n if (err) {\n if (!ValidationError.isError(err) || abortEarly) {\n return void callback(err, value);\n }\n\n errors.push(err);\n }\n\n if (!recursive || !isObject(value)) {\n callback(errors[0] || null, value);\n return;\n }\n\n originalValue = originalValue || value;\n\n let tests = this._nodes.map(key => (_, cb) => {\n let path = key.indexOf('.') === -1 ? (opts.path ? `${opts.path}.` : '') + key : `${opts.path || ''}[\"${key}\"]`;\n let field = this.fields[key];\n\n if (field && 'validate' in field) {\n field.validate(value[key], _extends({}, opts, {\n // @ts-ignore\n path,\n from,\n // inner fields are always strict:\n // 1. this isn't strict so the casting will also have cast inner values\n // 2. this is strict in which case the nested values weren't cast either\n strict: true,\n parent: value,\n originalValue: originalValue[key]\n }), cb);\n return;\n }\n\n cb(null);\n });\n\n runTests({\n sync,\n tests,\n value,\n errors,\n endEarly: abortEarly,\n sort: this._sortErrors,\n path: opts.path\n }, callback);\n });\n }\n\n clone(spec) {\n const next = super.clone(spec);\n next.fields = _extends({}, this.fields);\n next._nodes = this._nodes;\n next._excludedEdges = this._excludedEdges;\n next._sortErrors = this._sortErrors;\n return next;\n }\n\n concat(schema) {\n let next = super.concat(schema);\n let nextFields = next.fields;\n\n for (let [field, schemaOrRef] of Object.entries(this.fields)) {\n const target = nextFields[field];\n\n if (target === undefined) {\n nextFields[field] = schemaOrRef;\n } else if (target instanceof BaseSchema && schemaOrRef instanceof BaseSchema) {\n nextFields[field] = schemaOrRef.concat(target);\n }\n }\n\n return next.withMutation(() => next.shape(nextFields, this._excludedEdges));\n }\n\n getDefaultFromShape() {\n let dft = {};\n\n this._nodes.forEach(key => {\n const field = this.fields[key];\n dft[key] = 'default' in field ? field.getDefault() : undefined;\n });\n\n return dft;\n }\n\n _getDefault() {\n if ('default' in this.spec) {\n return super._getDefault();\n } // if there is no default set invent one\n\n\n if (!this._nodes.length) {\n return undefined;\n }\n\n return this.getDefaultFromShape();\n }\n\n shape(additions, excludes = []) {\n let next = this.clone();\n let fields = Object.assign(next.fields, additions);\n next.fields = fields;\n next._sortErrors = sortByKeyOrder(Object.keys(fields));\n\n if (excludes.length) {\n // this is a convenience for when users only supply a single pair\n if (!Array.isArray(excludes[0])) excludes = [excludes];\n next._excludedEdges = [...next._excludedEdges, ...excludes];\n }\n\n next._nodes = sortFields(fields, next._excludedEdges);\n return next;\n }\n\n pick(keys) {\n const picked = {};\n\n for (const key of keys) {\n if (this.fields[key]) picked[key] = this.fields[key];\n }\n\n return this.clone().withMutation(next => {\n next.fields = {};\n return next.shape(picked);\n });\n }\n\n omit(keys) {\n const next = this.clone();\n const fields = next.fields;\n next.fields = {};\n\n for (const key of keys) {\n delete fields[key];\n }\n\n return next.withMutation(() => next.shape(fields));\n }\n\n from(from, to, alias) {\n let fromGetter = getter(from, true);\n return this.transform(obj => {\n if (obj == null) return obj;\n let newObj = obj;\n\n if (has(obj, from)) {\n newObj = _extends({}, obj);\n if (!alias) delete newObj[from];\n newObj[to] = fromGetter(obj);\n }\n\n return newObj;\n });\n }\n\n noUnknown(noAllow = true, message = locale.noUnknown) {\n if (typeof noAllow === 'string') {\n message = noAllow;\n noAllow = true;\n }\n\n let next = this.test({\n name: 'noUnknown',\n exclusive: true,\n message: message,\n\n test(value) {\n if (value == null) return true;\n const unknownKeys = unknown(this.schema, value);\n return !noAllow || unknownKeys.length === 0 || this.createError({\n params: {\n unknown: unknownKeys.join(', ')\n }\n });\n }\n\n });\n next.spec.noUnknown = noAllow;\n return next;\n }\n\n unknown(allow = true, message = locale.noUnknown) {\n return this.noUnknown(!allow, message);\n }\n\n transformKeys(fn) {\n return this.transform(obj => obj && mapKeys(obj, (_, key) => fn(key)));\n }\n\n camelCase() {\n return this.transformKeys(camelCase);\n }\n\n snakeCase() {\n return this.transformKeys(snakeCase);\n }\n\n constantCase() {\n return this.transformKeys(key => snakeCase(key).toUpperCase());\n }\n\n describe() {\n let base = super.describe();\n base.fields = mapValues(this.fields, value => value.describe());\n return base;\n }\n\n}\nexport function create(spec) {\n return new ObjectSchema(spec);\n}\ncreate.prototype = ObjectSchema.prototype;","import has from 'lodash/has'; // @ts-expect-error\n\nimport toposort from 'toposort';\nimport { split } from 'property-expr';\nimport Ref from '../Reference';\nimport isSchema from './isSchema';\nexport default function sortFields(fields, excludedEdges = []) {\n let edges = [];\n let nodes = new Set();\n let excludes = new Set(excludedEdges.map(([a, b]) => `${a}-${b}`));\n\n function addNode(depPath, key) {\n let node = split(depPath)[0];\n nodes.add(node);\n if (!excludes.has(`${key}-${node}`)) edges.push([key, node]);\n }\n\n for (const key in fields) if (has(fields, key)) {\n let value = fields[key];\n nodes.add(key);\n if (Ref.isRef(value) && value.isSibling) addNode(value.path, key);else if (isSchema(value) && 'deps' in value) value.deps.forEach(path => addNode(path, key));\n }\n\n return toposort.array(Array.from(nodes), edges).reverse();\n}","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport isAbsent from './util/isAbsent';\nimport isSchema from './util/isSchema';\nimport printValue from './util/printValue';\nimport { array as locale } from './locale';\nimport runTests from './util/runTests';\nimport ValidationError from './ValidationError';\nimport BaseSchema from './schema';\nexport function create(type) {\n return new ArraySchema(type);\n}\nexport default class ArraySchema extends BaseSchema {\n constructor(type) {\n super({\n type: 'array'\n }); // `undefined` specifically means uninitialized, as opposed to\n // \"no subtype\"\n\n this.innerType = void 0;\n this.innerType = type;\n this.withMutation(() => {\n this.transform(function (values) {\n if (typeof values === 'string') try {\n values = JSON.parse(values);\n } catch (err) {\n values = null;\n }\n return this.isType(values) ? values : null;\n });\n });\n }\n\n _typeCheck(v) {\n return Array.isArray(v);\n }\n\n get _subType() {\n return this.innerType;\n }\n\n _cast(_value, _opts) {\n const value = super._cast(_value, _opts); //should ignore nulls here\n\n\n if (!this._typeCheck(value) || !this.innerType) return value;\n let isChanged = false;\n const castArray = value.map((v, idx) => {\n const castElement = this.innerType.cast(v, _extends({}, _opts, {\n path: `${_opts.path || ''}[${idx}]`\n }));\n\n if (castElement !== v) {\n isChanged = true;\n }\n\n return castElement;\n });\n return isChanged ? castArray : value;\n }\n\n _validate(_value, options = {}, callback) {\n var _options$abortEarly, _options$recursive;\n\n let errors = [];\n let sync = options.sync;\n let path = options.path;\n let innerType = this.innerType;\n let endEarly = (_options$abortEarly = options.abortEarly) != null ? _options$abortEarly : this.spec.abortEarly;\n let recursive = (_options$recursive = options.recursive) != null ? _options$recursive : this.spec.recursive;\n let originalValue = options.originalValue != null ? options.originalValue : _value;\n\n super._validate(_value, options, (err, value) => {\n if (err) {\n if (!ValidationError.isError(err) || endEarly) {\n return void callback(err, value);\n }\n\n errors.push(err);\n }\n\n if (!recursive || !innerType || !this._typeCheck(value)) {\n callback(errors[0] || null, value);\n return;\n }\n\n originalValue = originalValue || value; // #950 Ensure that sparse array empty slots are validated\n\n let tests = new Array(value.length);\n\n for (let idx = 0; idx < value.length; idx++) {\n let item = value[idx];\n let path = `${options.path || ''}[${idx}]`; // object._validate note for isStrict explanation\n\n let innerOptions = _extends({}, options, {\n path,\n strict: true,\n parent: value,\n index: idx,\n originalValue: originalValue[idx]\n });\n\n tests[idx] = (_, cb) => innerType.validate(item, innerOptions, cb);\n }\n\n runTests({\n sync,\n path,\n value,\n errors,\n endEarly,\n tests\n }, callback);\n });\n }\n\n clone(spec) {\n const next = super.clone(spec);\n next.innerType = this.innerType;\n return next;\n }\n\n concat(schema) {\n let next = super.concat(schema);\n next.innerType = this.innerType;\n if (schema.innerType) next.innerType = next.innerType ? // @ts-expect-error Lazy doesn't have concat()\n next.innerType.concat(schema.innerType) : schema.innerType;\n return next;\n }\n\n of(schema) {\n // FIXME: this should return a new instance of array without the default to be\n let next = this.clone();\n if (!isSchema(schema)) throw new TypeError('`array.of()` sub-schema must be a valid yup schema not: ' + printValue(schema)); // FIXME(ts):\n\n next.innerType = schema;\n return next;\n }\n\n length(length, message = locale.length) {\n return this.test({\n message,\n name: 'length',\n exclusive: true,\n params: {\n length\n },\n\n test(value) {\n return isAbsent(value) || value.length === this.resolve(length);\n }\n\n });\n }\n\n min(min, message) {\n message = message || locale.min;\n return this.test({\n message,\n name: 'min',\n exclusive: true,\n params: {\n min\n },\n\n // FIXME(ts): Array<typeof T>\n test(value) {\n return isAbsent(value) || value.length >= this.resolve(min);\n }\n\n });\n }\n\n max(max, message) {\n message = message || locale.max;\n return this.test({\n message,\n name: 'max',\n exclusive: true,\n params: {\n max\n },\n\n test(value) {\n return isAbsent(value) || value.length <= this.resolve(max);\n }\n\n });\n }\n\n ensure() {\n return this.default(() => []).transform((val, original) => {\n // We don't want to return `null` for nullable schema\n if (this._typeCheck(val)) return val;\n return original == null ? [] : [].concat(original);\n });\n }\n\n compact(rejector) {\n let reject = !rejector ? v => !!v : (v, i, a) => !rejector(v, i, a);\n return this.transform(values => values != null ? values.filter(reject) : values);\n }\n\n describe() {\n let base = super.describe();\n if (this.innerType) base.innerType = this.innerType.describe();\n return base;\n }\n\n nullable(isNullable = true) {\n return super.nullable(isNullable);\n }\n\n defined() {\n return super.defined();\n }\n\n required(msg) {\n return super.required(msg);\n }\n\n}\ncreate.prototype = ArraySchema.prototype; //\n// Interfaces\n//","import locale from './locale';\nexport default function setLocale(custom) {\n Object.keys(custom).forEach(type => {\n // @ts-ignore\n Object.keys(custom[type]).forEach(method => {\n // @ts-ignore\n locale[type][method] = custom[type][method];\n });\n });\n}","import * as yup from \"yup\";\r\nimport { setIn } from \"final-form\";\r\n\r\nyup.setLocale({\r\n mixed: {\r\n required: \"Bu alan boş geçilemez\",\r\n notType: \"Bu alan boş geçilemez\",\r\n },\r\n string: {\r\n email: \"Lütfen geçerli bir email girin.\",\r\n notType: \"Bu alan boş geçilemez\",\r\n },\r\n});\r\n\r\nconst validateFormValues = (schema) => async (values) => {\r\n if (typeof schema === \"function\") {\r\n schema = schema();\r\n }\r\n try {\r\n await schema.validate(values, { abortEarly: false });\r\n } catch (err) {\r\n let errors = {};\r\n errors = err?.inner?.reduce((formError, innerError) => {\r\n return setIn(formError, innerError.path, innerError.message);\r\n }, {});\r\n\r\n return errors;\r\n }\r\n};\r\n\r\nexport default validateFormValues;\r\n","import React, { useState } from \"react\";\r\nimport validateFormValues from \"../common/constant-functions/validateFormValues\";\r\n\r\nfunction useDialog(ref) {\r\n const [open, setOpen] = useState(false);\r\n const [showActionButtons, setShowActionButtons] = useState(true);\r\n const [id, setId] = useState(0);\r\n const [data, setData] = useState();\r\n\r\n const openRecord = (id, _showActionButtons, otherData) => {\r\n setOpen(true);\r\n setId(id);\r\n if (_showActionButtons === true || _showActionButtons === false)\r\n setShowActionButtons(_showActionButtons);\r\n otherData && setData(otherData);\r\n };\r\n\r\n const closeRecord = (id) => {\r\n setOpen(false);\r\n setId(0);\r\n setData();\r\n setShowActionButtons(true);\r\n };\r\n\r\n React.useImperativeHandle(ref, () => ({\r\n openRecord: openRecord,\r\n closeRecord: closeRecord,\r\n id: id,\r\n data: data,\r\n }));\r\n\r\n return {\r\n open,\r\n openRecord,\r\n closeRecord,\r\n validateFormValues,\r\n id,\r\n showActionButtons,\r\n data,\r\n };\r\n}\r\n\r\nexport default useDialog;\r\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDialogActionsUtilityClass(slot) {\n return generateUtilityClass('MuiDialogActions', slot);\n}\nconst dialogActionsClasses = generateUtilityClasses('MuiDialogActions', ['root', 'spacing']);\nexport default dialogActionsClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disableSpacing\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport { getDialogActionsUtilityClass } from './dialogActionsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getDialogActionsUtilityClass, classes);\n};\nconst DialogActionsRoot = styled('div', {\n name: 'MuiDialogActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n justifyContent: 'flex-end',\n flex: '0 0 auto'\n}, !ownerState.disableSpacing && {\n '& > :not(style) ~ :not(style)': {\n marginLeft: 8\n }\n}));\nconst DialogActions = /*#__PURE__*/React.forwardRef(function DialogActions(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiDialogActions'\n });\n const {\n className,\n disableSpacing = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n disableSpacing\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogActionsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogActions.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogActions;","import React from \"react\";\r\nimport useDialog from \"../../hooks/use-dialog\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Dialog from \"@mui/material/Dialog\";\r\nimport DialogActions from \"@mui/material/DialogActions\";\r\nimport DialogContent from \"@mui/material/DialogContent\";\r\nimport DialogContentText from \"@mui/material/DialogContentText\";\r\nimport DialogTitle from \"@mui/material/DialogTitle\";\r\n\r\nconst CikisAlertDialog = React.forwardRef(\r\n (\r\n {\r\n dialogTitle,\r\n contentText,\r\n onayBtnText,\r\n redBtnText,\r\n onayBtnClick,\r\n dialogActionsVisible = true,\r\n evetEvent,\r\n hayirEvent,\r\n },\r\n ref\r\n ) => {\r\n const { open, closeRecord, id } = useDialog(ref);\r\n\r\n return (\r\n <Dialog\r\n open={open}\r\n onClose={closeRecord}\r\n aria-labelledby=\"alert-dialog-title\"\r\n aria-describedby=\"alert-dialog-description\"\r\n >\r\n <DialogTitle id=\"alert-dialog-title\">\r\n {dialogTitle ?? \"Çıkmak istediğinize emin misiniz ?\"}\r\n </DialogTitle>\r\n {/* <DialogContent id=\"dialog-content\">\r\n <DialogContentText id=\"alert-dialog-description\">\r\n {contentText ?? \"Kaydetmek ister misiniz?\"}\r\n </DialogContentText>\r\n </DialogContent> */}\r\n {dialogActionsVisible && (\r\n <DialogActions>\r\n <Button\r\n onClick={() => {\r\n evetEvent();\r\n // closeRecord();\r\n }}\r\n >\r\n {onayBtnText ?? \"Evet\"}\r\n </Button>\r\n <Button\r\n onClick={() => {\r\n hayirEvent();\r\n // closeRecord();\r\n }}\r\n autoFocus\r\n >\r\n {redBtnText ?? \"Hayır\"}\r\n </Button>\r\n </DialogActions>\r\n )}\r\n </Dialog>\r\n );\r\n }\r\n);\r\n\r\nexport default CikisAlertDialog;\r\n","import React, { useRef, useState } from \"react\";\r\nimport Dialog from \"@mui/material/Dialog\";\r\nimport BootstrapDialogTitle from \"./BootsrapDialogTitle\";\r\nimport DraggablePaper from \"./DraggablePaper\";\r\nimport CikisAlertDialog from \"./CikisAlertDialog\";\r\n\r\nfunction ScrollDialog({\r\n children,\r\n modalTitle,\r\n open,\r\n handleClose,\r\n maxWidth,\r\n fullWidth = true,\r\n canFullScreen = true,\r\n draggable = true,\r\n height,\r\n ...rest\r\n}) {\r\n const [fullScreen, setFullScreen] = useState(false);\r\n\r\n const cikisAlertDialogRef = useRef();\r\n const handleDialogClose = (event, reason) => {\r\n if (reason === \"backdropClick\") {\r\n // Dışarıya tıklamayla kapanmayı önler\r\n return;\r\n }\r\n cikisAlertDialogRef.current.openRecord();\r\n // cikisAlertDialogRef?.current?.openRecord();\r\n // handleClose(event); // Diğer nedenler için (Escape vb.) kapanmayı sağlar\r\n };\r\n\r\n return (\r\n <>\r\n <Dialog\r\n fullScreen={canFullScreen ? fullScreen : false}\r\n fullWidth={fullWidth}\r\n maxWidth={maxWidth}\r\n TransitionProps={{ timeout: 0 }}\r\n open={open}\r\n onClose={handleDialogClose}\r\n PaperComponent={draggable ? DraggablePaper : null}\r\n PaperProps={{\r\n fullScreen: fullScreen,\r\n style: {\r\n height: fullScreen ? \"calc(100%)\" : height || \"auto\",\r\n margin: fullScreen ? \"16px 0\" : \"0\",\r\n },\r\n }}\r\n {...rest}\r\n >\r\n <BootstrapDialogTitle\r\n onClose={handleClose}\r\n setFullScreen={setFullScreen}\r\n canFullScreen={canFullScreen}\r\n >\r\n {modalTitle}\r\n </BootstrapDialogTitle>\r\n {children}\r\n </Dialog>\r\n <CikisAlertDialog\r\n ref={cikisAlertDialogRef}\r\n evetEvent={() => {\r\n // setIsFormDirty(false); // Form kaydedildiğinde durumu sıfırla\r\n handleClose(); // Dialogu kapat\r\n cikisAlertDialogRef.current.closeRecord(); // Onay dialogunu kapat\r\n }}\r\n hayirEvent={() => {\r\n cikisAlertDialogRef.current.closeRecord(); // Dialogu kapat\r\n }}\r\n ></CikisAlertDialog>\r\n </>\r\n );\r\n}\r\nexport default ScrollDialog;\r\n","import { Grid } from \"@mui/material\";\r\nimport React from \"react\";\r\n\r\nexport default function DialogContentWrapper({ children, sx }) {\r\n return (\r\n <Grid\r\n item\r\n sx={{\r\n overflow: \"auto\",\r\n padding: \"10px\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n ...sx,\r\n }}\r\n id=\"dialog-content-wrapper\"\r\n >\r\n {children}\r\n </Grid>\r\n );\r\n}\r\n","'use client';\n\nimport getThemeProps from './getThemeProps';\nimport useTheme from '../useTheme';\nexport default function useThemeProps({\n props,\n name,\n defaultTheme,\n themeId\n}) {\n let theme = useTheme(defaultTheme);\n if (themeId) {\n theme = theme[themeId] || theme;\n }\n const mergedProps = getThemeProps({\n theme,\n name,\n props\n });\n return mergedProps;\n}","import resolveProps from '@mui/utils/resolveProps';\nexport default function getThemeProps(params) {\n const {\n theme,\n name,\n props\n } = params;\n if (!theme || !theme.components || !theme.components[name] || !theme.components[name].defaultProps) {\n return props;\n }\n return resolveProps(theme.components[name].defaultProps, props);\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"component\", \"direction\", \"spacing\", \"divider\", \"children\", \"className\", \"useFlexGap\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport deepmerge from '@mui/utils/deepmerge';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport composeClasses from '@mui/utils/composeClasses';\nimport systemStyled from '../styled';\nimport useThemePropsSystem from '../useThemeProps';\nimport { extendSxProp } from '../styleFunctionSx';\nimport createTheme from '../createTheme';\nimport { handleBreakpoints, mergeBreakpointsInOrder, resolveBreakpointValues } from '../breakpoints';\nimport { createUnarySpacing, getValue } from '../spacing';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultTheme = createTheme();\n// widening Theme to any so that the consumer can own the theme structure.\nconst defaultCreateStyledComponent = systemStyled('div', {\n name: 'MuiStack',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n});\nfunction useThemePropsDefault(props) {\n return useThemePropsSystem({\n props,\n name: 'MuiStack',\n defaultTheme\n });\n}\n\n/**\n * Return an array with the separator React element interspersed between\n * each React node of the input children.\n *\n * > joinChildren([1,2,3], 0)\n * [1,0,2,0,3]\n */\nfunction joinChildren(children, separator) {\n const childrenArray = React.Children.toArray(children).filter(Boolean);\n return childrenArray.reduce((output, child, index) => {\n output.push(child);\n if (index < childrenArray.length - 1) {\n output.push( /*#__PURE__*/React.cloneElement(separator, {\n key: `separator-${index}`\n }));\n }\n return output;\n }, []);\n}\nconst getSideFromDirection = direction => {\n return {\n row: 'Left',\n 'row-reverse': 'Right',\n column: 'Top',\n 'column-reverse': 'Bottom'\n }[direction];\n};\nexport const style = ({\n ownerState,\n theme\n}) => {\n let styles = _extends({\n display: 'flex',\n flexDirection: 'column'\n }, handleBreakpoints({\n theme\n }, resolveBreakpointValues({\n values: ownerState.direction,\n breakpoints: theme.breakpoints.values\n }), propValue => ({\n flexDirection: propValue\n })));\n if (ownerState.spacing) {\n const transformer = createUnarySpacing(theme);\n const base = Object.keys(theme.breakpoints.values).reduce((acc, breakpoint) => {\n if (typeof ownerState.spacing === 'object' && ownerState.spacing[breakpoint] != null || typeof ownerState.direction === 'object' && ownerState.direction[breakpoint] != null) {\n acc[breakpoint] = true;\n }\n return acc;\n }, {});\n const directionValues = resolveBreakpointValues({\n values: ownerState.direction,\n base\n });\n const spacingValues = resolveBreakpointValues({\n values: ownerState.spacing,\n base\n });\n if (typeof directionValues === 'object') {\n Object.keys(directionValues).forEach((breakpoint, index, breakpoints) => {\n const directionValue = directionValues[breakpoint];\n if (!directionValue) {\n const previousDirectionValue = index > 0 ? directionValues[breakpoints[index - 1]] : 'column';\n directionValues[breakpoint] = previousDirectionValue;\n }\n });\n }\n const styleFromPropValue = (propValue, breakpoint) => {\n if (ownerState.useFlexGap) {\n return {\n gap: getValue(transformer, propValue)\n };\n }\n return {\n // The useFlexGap={false} implement relies on each child to give up control of the margin.\n // We need to reset the margin to avoid double spacing.\n '& > :not(style):not(style)': {\n margin: 0\n },\n '& > :not(style) ~ :not(style)': {\n [`margin${getSideFromDirection(breakpoint ? directionValues[breakpoint] : ownerState.direction)}`]: getValue(transformer, propValue)\n }\n };\n };\n styles = deepmerge(styles, handleBreakpoints({\n theme\n }, spacingValues, styleFromPropValue));\n }\n styles = mergeBreakpointsInOrder(theme.breakpoints, styles);\n return styles;\n};\nexport default function createStack(options = {}) {\n const {\n // This will allow adding custom styled fn (for example for custom sx style function)\n createStyledComponent = defaultCreateStyledComponent,\n useThemeProps = useThemePropsDefault,\n componentName = 'MuiStack'\n } = options;\n const useUtilityClasses = () => {\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, slot => generateUtilityClass(componentName, slot), {});\n };\n const StackRoot = createStyledComponent(style);\n const Stack = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {\n const themeProps = useThemeProps(inProps);\n const props = extendSxProp(themeProps); // `color` type conflicts with html color attribute.\n const {\n component = 'div',\n direction = 'column',\n spacing = 0,\n divider,\n children,\n className,\n useFlexGap = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = {\n direction,\n spacing,\n useFlexGap\n };\n const classes = useUtilityClasses();\n return /*#__PURE__*/_jsx(StackRoot, _extends({\n as: component,\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className)\n }, other, {\n children: divider ? joinChildren(children, divider) : children\n }));\n });\n process.env.NODE_ENV !== \"production\" ? Stack.propTypes /* remove-proptypes */ = {\n children: PropTypes.node,\n direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),\n divider: PropTypes.node,\n spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n } : void 0;\n return Stack;\n}","'use client';\n\nimport PropTypes from 'prop-types';\nimport createStack from './createStack';\n/**\n *\n * Demos:\n *\n * - [Stack (Joy UI)](https://mui.com/joy-ui/react-stack/)\n * - [Stack (Material UI)](https://mui.com/material-ui/react-stack/)\n * - [Stack (MUI System)](https://mui.com/system/react-stack/)\n *\n * API:\n *\n * - [Stack API](https://mui.com/system/api/stack/)\n */\nconst Stack = createStack();\nprocess.env.NODE_ENV !== \"production\" ? Stack.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Defines the `flex-direction` style property.\n * It is applied for all screen sizes.\n * @default 'column'\n */\n direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),\n /**\n * Add an element between each child.\n */\n divider: PropTypes.node,\n /**\n * Defines the space between immediate children.\n * @default 0\n */\n spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n /**\n * The system prop, which allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * If `true`, the CSS flexbox `gap` is used instead of applying `margin` to children.\n *\n * While CSS `gap` removes the [known limitations](https://mui.com/joy-ui/react-stack/#limitations),\n * it is not fully supported in some browsers. We recommend checking https://caniuse.com/?search=flex%20gap before using this flag.\n *\n * To enable this flag globally, follow the theme's default props configuration.\n * @default false\n */\n useFlexGap: PropTypes.bool\n} : void 0;\nexport default Stack;","import React, { useState } from \"react\";\r\n\r\nfunction useBasicDialog(ref) {\r\n const [open, setOpen] = useState(false);\r\n const openRecord = () => setOpen(true);\r\n const closeRecord = () => setOpen(false);\r\n\r\n React.useImperativeHandle(ref, () => ({\r\n openRecord: openRecord,\r\n closeRecord: closeRecord,\r\n }));\r\n\r\n return {\r\n open,\r\n openRecord,\r\n closeRecord,\r\n };\r\n}\r\n\r\nexport default useBasicDialog;\r\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAlertUtilityClass(slot) {\n return generateUtilityClass('MuiAlert', slot);\n}\nconst alertClasses = generateUtilityClasses('MuiAlert', ['root', 'action', 'icon', 'message', 'filled', 'colorSuccess', 'colorInfo', 'colorWarning', 'colorError', 'filledSuccess', 'filledInfo', 'filledWarning', 'filledError', 'outlined', 'outlinedSuccess', 'outlinedInfo', 'outlinedWarning', 'outlinedError', 'standard', 'standardSuccess', 'standardInfo', 'standardWarning', 'standardError']);\nexport default alertClasses;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z\"\n}), 'SuccessOutlined');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z\"\n}), 'ReportProblemOutlined');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"\n}), 'ErrorOutline');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z\"\n}), 'InfoOutlined');","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"action\", \"children\", \"className\", \"closeText\", \"color\", \"components\", \"componentsProps\", \"icon\", \"iconMapping\", \"onClose\", \"role\", \"severity\", \"slotProps\", \"slots\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { darken, lighten } from '@mui/system/colorManipulator';\nimport { styled } from '../zero-styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport useSlot from '../utils/useSlot';\nimport capitalize from '../utils/capitalize';\nimport Paper from '../Paper';\nimport alertClasses, { getAlertUtilityClass } from './alertClasses';\nimport IconButton from '../IconButton';\nimport SuccessOutlinedIcon from '../internal/svg-icons/SuccessOutlined';\nimport ReportProblemOutlinedIcon from '../internal/svg-icons/ReportProblemOutlined';\nimport ErrorOutlineIcon from '../internal/svg-icons/ErrorOutline';\nimport InfoOutlinedIcon from '../internal/svg-icons/InfoOutlined';\nimport CloseIcon from '../internal/svg-icons/Close';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n variant,\n color,\n severity,\n classes\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color || severity)}`, `${variant}${capitalize(color || severity)}`, `${variant}`],\n icon: ['icon'],\n message: ['message'],\n action: ['action']\n };\n return composeClasses(slots, getAlertUtilityClass, classes);\n};\nconst AlertRoot = styled(Paper, {\n name: 'MuiAlert',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`${ownerState.variant}${capitalize(ownerState.color || ownerState.severity)}`]];\n }\n})(({\n theme\n}) => {\n const getColor = theme.palette.mode === 'light' ? darken : lighten;\n const getBackgroundColor = theme.palette.mode === 'light' ? lighten : darken;\n return _extends({}, theme.typography.body2, {\n backgroundColor: 'transparent',\n display: 'flex',\n padding: '6px 16px',\n variants: [...Object.entries(theme.palette).filter(([, value]) => value.main && value.light).map(([color]) => ({\n props: {\n colorSeverity: color,\n variant: 'standard'\n },\n style: {\n color: theme.vars ? theme.vars.palette.Alert[`${color}Color`] : getColor(theme.palette[color].light, 0.6),\n backgroundColor: theme.vars ? theme.vars.palette.Alert[`${color}StandardBg`] : getBackgroundColor(theme.palette[color].light, 0.9),\n [`& .${alertClasses.icon}`]: theme.vars ? {\n color: theme.vars.palette.Alert[`${color}IconColor`]\n } : {\n color: theme.palette[color].main\n }\n }\n })), ...Object.entries(theme.palette).filter(([, value]) => value.main && value.light).map(([color]) => ({\n props: {\n colorSeverity: color,\n variant: 'outlined'\n },\n style: {\n color: theme.vars ? theme.vars.palette.Alert[`${color}Color`] : getColor(theme.palette[color].light, 0.6),\n border: `1px solid ${(theme.vars || theme).palette[color].light}`,\n [`& .${alertClasses.icon}`]: theme.vars ? {\n color: theme.vars.palette.Alert[`${color}IconColor`]\n } : {\n color: theme.palette[color].main\n }\n }\n })), ...Object.entries(theme.palette).filter(([, value]) => value.main && value.dark).map(([color]) => ({\n props: {\n colorSeverity: color,\n variant: 'filled'\n },\n style: _extends({\n fontWeight: theme.typography.fontWeightMedium\n }, theme.vars ? {\n color: theme.vars.palette.Alert[`${color}FilledColor`],\n backgroundColor: theme.vars.palette.Alert[`${color}FilledBg`]\n } : {\n backgroundColor: theme.palette.mode === 'dark' ? theme.palette[color].dark : theme.palette[color].main,\n color: theme.palette.getContrastText(theme.palette[color].main)\n })\n }))]\n });\n});\nconst AlertIcon = styled('div', {\n name: 'MuiAlert',\n slot: 'Icon',\n overridesResolver: (props, styles) => styles.icon\n})({\n marginRight: 12,\n padding: '7px 0',\n display: 'flex',\n fontSize: 22,\n opacity: 0.9\n});\nconst AlertMessage = styled('div', {\n name: 'MuiAlert',\n slot: 'Message',\n overridesResolver: (props, styles) => styles.message\n})({\n padding: '8px 0',\n minWidth: 0,\n overflow: 'auto'\n});\nconst AlertAction = styled('div', {\n name: 'MuiAlert',\n slot: 'Action',\n overridesResolver: (props, styles) => styles.action\n})({\n display: 'flex',\n alignItems: 'flex-start',\n padding: '4px 0 0 16px',\n marginLeft: 'auto',\n marginRight: -8\n});\nconst defaultIconMapping = {\n success: /*#__PURE__*/_jsx(SuccessOutlinedIcon, {\n fontSize: \"inherit\"\n }),\n warning: /*#__PURE__*/_jsx(ReportProblemOutlinedIcon, {\n fontSize: \"inherit\"\n }),\n error: /*#__PURE__*/_jsx(ErrorOutlineIcon, {\n fontSize: \"inherit\"\n }),\n info: /*#__PURE__*/_jsx(InfoOutlinedIcon, {\n fontSize: \"inherit\"\n })\n};\nconst Alert = /*#__PURE__*/React.forwardRef(function Alert(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiAlert'\n });\n const {\n action,\n children,\n className,\n closeText = 'Close',\n color,\n components = {},\n componentsProps = {},\n icon,\n iconMapping = defaultIconMapping,\n onClose,\n role = 'alert',\n severity = 'success',\n slotProps = {},\n slots = {},\n variant = 'standard'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n severity,\n variant,\n colorSeverity: color || severity\n });\n const classes = useUtilityClasses(ownerState);\n const externalForwardedProps = {\n slots: _extends({\n closeButton: components.CloseButton,\n closeIcon: components.CloseIcon\n }, slots),\n slotProps: _extends({}, componentsProps, slotProps)\n };\n const [CloseButtonSlot, closeButtonProps] = useSlot('closeButton', {\n elementType: IconButton,\n externalForwardedProps,\n ownerState\n });\n const [CloseIconSlot, closeIconProps] = useSlot('closeIcon', {\n elementType: CloseIcon,\n externalForwardedProps,\n ownerState\n });\n return /*#__PURE__*/_jsxs(AlertRoot, _extends({\n role: role,\n elevation: 0,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: [icon !== false ? /*#__PURE__*/_jsx(AlertIcon, {\n ownerState: ownerState,\n className: classes.icon,\n children: icon || iconMapping[severity] || defaultIconMapping[severity]\n }) : null, /*#__PURE__*/_jsx(AlertMessage, {\n ownerState: ownerState,\n className: classes.message,\n children: children\n }), action != null ? /*#__PURE__*/_jsx(AlertAction, {\n ownerState: ownerState,\n className: classes.action,\n children: action\n }) : null, action == null && onClose ? /*#__PURE__*/_jsx(AlertAction, {\n ownerState: ownerState,\n className: classes.action,\n children: /*#__PURE__*/_jsx(CloseButtonSlot, _extends({\n size: \"small\",\n \"aria-label\": closeText,\n title: closeText,\n color: \"inherit\",\n onClick: onClose\n }, closeButtonProps, {\n children: /*#__PURE__*/_jsx(CloseIconSlot, _extends({\n fontSize: \"small\"\n }, closeIconProps))\n }))\n }) : null]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Alert.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The action to display. It renders after the message, at the end of the alert.\n */\n action: PropTypes.node,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * Override the default label for the *close popup* icon button.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'Close'\n */\n closeText: PropTypes.string,\n /**\n * The color of the component. Unless provided, the value is taken from the `severity` prop.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The components used for each slot inside.\n *\n * @deprecated use the `slots` prop instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).\n *\n * @default {}\n */\n components: PropTypes.shape({\n CloseButton: PropTypes.elementType,\n CloseIcon: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * @deprecated use the `slotProps` prop instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n closeButton: PropTypes.object,\n closeIcon: PropTypes.object\n }),\n /**\n * Override the icon displayed before the children.\n * Unless provided, the icon is mapped to the value of the `severity` prop.\n * Set to `false` to remove the `icon`.\n */\n icon: PropTypes.node,\n /**\n * The component maps the `severity` prop to a range of different icons,\n * for instance success to `<SuccessOutlined>`.\n * If you wish to change this mapping, you can provide your own.\n * Alternatively, you can use the `icon` prop to override the icon displayed.\n */\n iconMapping: PropTypes.shape({\n error: PropTypes.node,\n info: PropTypes.node,\n success: PropTypes.node,\n warning: PropTypes.node\n }),\n /**\n * Callback fired when the component requests to be closed.\n * When provided and no `action` prop is set, a close icon button is displayed that triggers the callback when clicked.\n * @param {React.SyntheticEvent} event The event source of the callback.\n */\n onClose: PropTypes.func,\n /**\n * The ARIA role attribute of the element.\n * @default 'alert'\n */\n role: PropTypes.string,\n /**\n * The severity of the alert. This defines the color and icon used.\n * @default 'success'\n */\n severity: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n closeButton: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n closeIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n closeButton: PropTypes.elementType,\n closeIcon: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'standard'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['filled', 'outlined', 'standard']), PropTypes.string])\n} : void 0;\nexport default Alert;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAlertTitleUtilityClass(slot) {\n return generateUtilityClass('MuiAlertTitle', slot);\n}\nconst alertTitleClasses = generateUtilityClasses('MuiAlertTitle', ['root']);\nexport default alertTitleClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from '../zero-styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport Typography from '../Typography';\nimport { getAlertTitleUtilityClass } from './alertTitleClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getAlertTitleUtilityClass, classes);\n};\nconst AlertTitleRoot = styled(Typography, {\n name: 'MuiAlertTitle',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => {\n return {\n fontWeight: theme.typography.fontWeightMedium,\n marginTop: -2\n };\n});\nconst AlertTitle = /*#__PURE__*/React.forwardRef(function AlertTitle(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiAlertTitle'\n });\n const {\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(AlertTitleRoot, _extends({\n gutterBottom: true,\n component: \"div\",\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className)\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? AlertTitle.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default AlertTitle;","import React, { useContext } from \"react\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport { Stack } from \"@mui/system\";\r\nimport useBasicDialog from \"../../hooks/use-basic-dialog\";\r\nimport { Alert, AlertTitle } from \"@mui/material\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport { YETKI_GRUBU_TIPI } from \"../../common/constants\";\r\n\r\nconst SirketBazliSureAnaliziSutunInfoDialog = React.forwardRef(({}, ref) => {\r\n const { open, closeRecord } = useBasicDialog(ref);\r\n\r\n const context = useContext(AppContext);\r\n\r\n const CustomAlert = ({ title, description }) => {\r\n return (\r\n <Alert variant=\"outlined\" severity=\"info\">\r\n <AlertTitle>{title} </AlertTitle>\r\n {[description]}\r\n </Alert>\r\n );\r\n };\r\n\r\n var merkez =\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value ||\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value;\r\n\r\n return (\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"Sütunlar Neyi ifade eder?\"\r\n maxWidth=\"lg\"\r\n >\r\n <DialogContentWrapper>\r\n {merkez ? (\r\n <Stack direction=\"column\" spacing={1}>\r\n <CustomAlert\r\n title=\"Harcanan Süre-Destek (Dakika): \"\r\n description=\"Destek Menüsündeki kayıtlarda harcanan toplam süreyi ifade etmektedir. İşlem Türü Yazılımsal Hata Seçilen destek kayıtları bu süre içine dahil edilmez.\"\r\n />\r\n <CustomAlert\r\n title=\"Harcanan Süre-Teklifsiz Yazılım (Dakika): \"\r\n description=\"Müşteri talepleri menüsünde açılan taleplere bağlı olarak görevler oluşturulmaktadır (Görevler Menüsü). Görevlerde harcanan toplam süre gelmektedir. Teklif verilerek yapılan taleplerin süresi bu süre için dahil edilmez. Talep Tipi, Hata Talebi olan talepler bu süreye dahil edilmez.\"\r\n />\r\n <CustomAlert\r\n title=\"Harcanan Süre-Teklifli (Dakika):\"\r\n description=\"Müşteri talepleri menüsünde teklif verilerek çalışma yapılan talepler için harcanan toplam süreyi verir.\"\r\n />\r\n <CustomAlert\r\n title=\"Harcanan Süre-Hata Düzeltme (Dakika):\"\r\n description=\"Destek ve Müşteri talepleri menülerinde hata tipli kayıtlar için harcanan toplam süreyi baz almaktadır. (Destek; İşlem Türü: Yazılımsal Hata,Müşteri talepleri; Talep Tipi: Hata Talebi)\"\r\n />\r\n <CustomAlert\r\n title=\"Toplam Harcanan Süre(Dakika): \"\r\n description=\"Firmanın tüm destek ve talepleri ile alakalı harcanan toplam süreyi baz almaktadır. (Hata ve Teklifli Yazılım Süreleri Dahil ) \"\r\n />\r\n <CustomAlert\r\n title=\"Değerlendirmeye Alınan Süre (Dakika): \"\r\n description=\" (Harcanan Süre-Destek (Dakika) ile Harcanan Süre-Teklifsiz Yazılım (Dakika) sürelerinin toplamından İlk Proje Süresi(Belirlenen tarih aralığında harcanan süre) farkını ifade etmektedir.\"\r\n />\r\n <CustomAlert\r\n title=\"İlk Kurulum Proje Süresinde Harcanan Süre (Dakika):\"\r\n description=\"Şirket tanımlama ekranı, anlaşma bilgileri ekranında girilen ilk kurulum proje bilgileri altındaki tarih aralığında harcanan süreyi ifade etmektedir.\"\r\n />\r\n <CustomAlert\r\n title=\"İlk Kurulum Proje Süresinde Harcanacak Süre (Dakika):\"\r\n description=\"Şirket tanımlama ekranı, anlaşma bilgileri ekranında girilen ilk kurulum proje bilgileri, tarih aralığındaki harcanacak süreyi ifade etmektedir.\"\r\n />\r\n <CustomAlert\r\n title=\"Anlaşılan Süre (Dakika): \"\r\n description=\"Şirketler Menüsü, Anlaşma bilgileri butonu ile açılan ekranda girilen aylık Standart süre alanındaki süre bilgisi gelmektedir. \"\r\n />\r\n <CustomAlert\r\n title=\"Süre Aşımı(Dakika):\"\r\n description=\"Değerlendirmeye Alınan Süre ile Anlaşılan süre arasındaki farkı vermektedir. \"\r\n />\r\n </Stack>\r\n ) : (\r\n <Stack direction=\"column\" spacing={1}>\r\n <CustomAlert\r\n title=\"Harcanan Süre-Destek (Dakika): \"\r\n description=\"Destek Menüsündeki kayıtlarda harcanan toplam süreyi ifade etmektedir. İşlem Türü Yazılımsal Hata Seçilen destek kayıtları bu süre içine dahil edilmez. Bu sütundaki süre sadece bayinin destek süresini kapsamaktadır. \"\r\n />\r\n <CustomAlert\r\n title=\"Harcanan Süre-Teklifsiz Yazılım (Dakika): \"\r\n description=\"Merkeze iletilen teklifsiz taleplerin, Merkezde harcanan görev süresi ile bayini aynı iş için kendi ekibine açmış olduğu görev de harcadığı sürelerin toplamıdır. \"\r\n />\r\n <CustomAlert\r\n title=\"Harcanan Süre-Teklifli (Dakika):\"\r\n description=\"Merkeze iletilen teklifli taleplerin, Merkezde harcanan görev süresi ile bayini aynı iş için kendi ekibine açmış olduğu görev de harcadığı sürelerin toplamıdır. \"\r\n />\r\n <CustomAlert\r\n title=\"Harcanan Süre-Hata Düzeltme (Dakika):\"\r\n description=\"Destek ve Müşteri talepleri menülerinde hata tipli kayıtlar için harcanan toplam süreyi baz almaktadır. Merkez ve Bayide Harcanan destek ve talep görevleri için harcanan toplam süreyi baz almaktadır. (Destek; İşlem Türü: Yazılımsal Hata,Müşteri talepleri; Talep Tipi: Hata Talebi ) \"\r\n />\r\n <CustomAlert\r\n title=\"Toplam Harcanan Süre(Dakika): \"\r\n description=\"Firma için harcanan tüm destek süreleri ve Talep Görev Sürelerinin toplamını İfade etmektedir. Bayinin destek kayıtları süresi ve talebin görevlerinin(Merkez+Bayi) süresinin toplamı. \"\r\n />\r\n <CustomAlert\r\n title=\"Değerlendirmeye Alınan Süre (Dakika): \"\r\n description=\" (Harcanan Süre-Destek (Dakika) ile Harcanan Süre-Teklifsiz Yazılım (Dakika) sürelerinin toplamından İlk Proje Süresi(Belirlenen tarih aralığında harcanan süre) farkını ifade etmektedir. \"\r\n />\r\n <CustomAlert\r\n title=\"İlk Kurulum Proje Süresinde Harcanan Süre (Dakika):\"\r\n description=\"Şirket tanımlama ekranı, anlaşma bilgileri ekranında girilen ilk kurulum proje bilgileri altındaki tarih aralığında harcanan süreyi ifade etmektedir.\"\r\n />\r\n <CustomAlert\r\n title=\"İlk Kurulum Proje Süresinde Harcanacak Süre (Dakika):\"\r\n description=\"Şirket tanımlama ekranı, anlaşma bilgileri ekranında girilen ilk kurulum proje bilgileri, tarih aralığındaki harcanacak süreyi ifade etmektedir.\"\r\n />\r\n <CustomAlert\r\n title=\"Anlaşılan Süre (Dakika): \"\r\n description=\"Şirketler Menüsü, Anlaşma bilgileri butonu ile açılan ekranda girilen aylık Standart süre alanındaki süre bilgisi gelmektedir. \"\r\n />\r\n <CustomAlert\r\n title=\"Süre Aşımı(Dakika):\"\r\n description=\"Değerlendirmeye Alınan Süre ile Anlaşılan süre arasındaki farkı vermektedir. \"\r\n />\r\n </Stack>\r\n )}\r\n </DialogContentWrapper>\r\n </ScrollDialog>\r\n );\r\n});\r\nexport default SirketBazliSureAnaliziSutunInfoDialog;\r\n","import { Grid, Skeleton, Typography } from \"@mui/material\";\r\nimport React from \"react\";\r\n\r\nfunction FilterFieldWrapperForCheckBox({\r\n modalLoading,\r\n children,\r\n label,\r\n columnDirection,\r\n ...rest\r\n}) {\r\n return modalLoading ? (\r\n <Skeleton width={100}></Skeleton>\r\n ) : (\r\n <Grid container alignItems=\"center\" sx={{ height: \"20px\" }}>\r\n {children}\r\n <Typography sx={{ fontSize: \"10pt\" }}>{label}</Typography>\r\n </Grid>\r\n // <Grid container direction=\"column\" spacing={1}>\r\n // {label && (\r\n // <Grid item>\r\n // <Typography sx={{ fontSize: \"8pt\", fontWeight: \"bold\" }}>\r\n // {label}\r\n // </Typography>\r\n // </Grid>\r\n // )}\r\n // <Grid item>{children}</Grid>\r\n // </Grid>\r\n\r\n // <Grid\r\n // sx={{\r\n // // width: 100,\r\n // // pr: \"1px\",\r\n // // pl: \"1px\",\r\n // }}\r\n // {...rest}\r\n // >\r\n // {/* {label ? (\r\n // <Typography sx={{ fontSize: \"8pt\", fontWeight: \"bold\" }}>\r\n // {label}\r\n // </Typography>\r\n // ) : null} */}\r\n\r\n // </Grid>\r\n );\r\n}\r\nexport default FilterFieldWrapperForCheckBox;\r\n","import React, {\r\n useContext,\r\n useEffect,\r\n useImperativeHandle,\r\n useRef,\r\n useState,\r\n} from \"react\";\r\nimport MuiAccordion from \"@mui/material/Accordion\";\r\nimport MuiAccordionSummary from \"@mui/material/AccordionSummary\";\r\nimport MuiAccordionDetails from \"@mui/material/AccordionDetails\";\r\nimport { Box, Button, Chip, Grid, IconButton, Paper } from \"@mui/material\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport { Search } from \"@mui/icons-material\";\r\nimport TextInputForm from \"../inputs/form-inputs/TextInputForm\";\r\nimport ExpandMoreIcon from \"@mui/icons-material/ExpandMore\";\r\nimport AutocomplateInputForm from \"../inputs/form-inputs/AutocomplateInputForm\";\r\nimport { ctheme } from \"../../theme/theme\";\r\nimport FilterFieldWrapper from \"../inputs/form-inputs/FilterFieldWrapper\";\r\nimport dayjs from \"dayjs\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport { FILTER_TYPE } from \"../../common/entityconstants\";\r\nimport CheckboxForm from \"../inputs/form-inputs/CheckboxForm\";\r\nimport DateInputForm2 from \"../inputs/form-inputs/DateInputForm2\";\r\nimport PopoverViaButton from \"../buttons/PopoverViaButton\";\r\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\r\nimport List from \"@mui/material/List\";\r\nimport HelpOutlineIcon from \"@mui/icons-material/HelpOutline\";\r\nimport NavigateListItem from \"../buttons/custom/NavigateListItem\";\r\nimport SirketBazliSureAnaliziSutunInfoDialog from \"../../pages/Rapor/SirketBazliSureAnaliziSutunInfoDialog\";\r\nimport FilterFieldWrapperForCheckBox from \"../inputs/form-inputs/FilterFieldWrapperForCheckBox\";\r\n\r\nconst PageFilter = React.forwardRef(\r\n ({ PageConfig, listGridRef, sirketBazliSureAnalizinden }, ref) => {\r\n const [filterData, setFilterData] = useState({});\r\n const [customChipLabels, setCustomChipLabels] = useState({});\r\n\r\n const context = useContext(AppContext);\r\n\r\n useImperativeHandle(ref, () => ({\r\n filterData: filterData,\r\n setFilterData: setFilterData,\r\n }));\r\n\r\n const handleSubmit = (data) => {\r\n setFilterData(data);\r\n listGridRef?.current?.instance?.refresh();\r\n };\r\n\r\n // const filtreVar =\r\n // PageConfig.type.filter((x) => x?.visible?.includes(\"filter\")).length > 0;\r\n\r\n // console.log(\r\n // PageConfig.type.filter((x) => x?.visible?.includes(\"filter\")).length,\r\n // \"filtreVar\"\r\n // );\r\n\r\n const sirketBazliSureAnaliziSurunAciklamasiDialogRef = useRef();\r\n\r\n const filtreVar = true;\r\n\r\n // const filtreVar =\r\n // PageConfig.type\r\n // .filter((x) => x?.visible?.includes(\"filter\"))\r\n // .map((i, index) => {\r\n // if (\r\n // (i.onlyYetkiGrubuTipi &&\r\n // context.user.yetkiGrubuTipi !== i.onlyYetkiGrubuTipi) ||\r\n // (i.gizlenecekYetkiGrubuTipi &&\r\n // (Array.isArray(i.gizlenecekYetkiGrubuTipi)\r\n // ? i.gizlenecekYetkiGrubuTipi.includes(context.user.yetkiGrubuTipi)\r\n // : context.user.yetkiGrubuTipi === i.gizlenecekYetkiGrubuTipi))\r\n // ) {\r\n // return null;\r\n // }\r\n // return i;\r\n // })\r\n // .filter((item) => item !== null).length > 0;\r\n\r\n useEffect(() => {\r\n const defaultFilterData = {};\r\n\r\n PageConfig.type.forEach((entity) => {\r\n if (\r\n entity?.defaultValue !== null &&\r\n [\"filter\", \"filterCheckGroup\"].some((v) => entity?.visible?.includes(v))\r\n ) {\r\n defaultFilterData[entity.dataField] = entity.defaultValue;\r\n }\r\n });\r\n\r\n setFilterData((prevState) => ({\r\n ...prevState,\r\n ...defaultFilterData,\r\n }));\r\n }, []);\r\n\r\n return (\r\n <>\r\n <Grid>\r\n <Form\r\n initialValues={filterData}\r\n onSubmit={handleSubmit}\r\n render={({ handleSubmit, form, submitting, pristine, values }) => (\r\n <form onSubmit={handleSubmit} style={{ marginBottom: \"3px\" }}>\r\n {!filtreVar ? (\r\n <Paper\r\n sx={{\r\n width: \"100%\",\r\n p: 0,\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n boxShadow: \"unset\",\r\n alignItems: \"center\",\r\n bgcolor: \"rgb(25, 118, 210, 0)\",\r\n }}\r\n >\r\n <Grid className=\"sag\" sx={{ display: \"flex\" }}>\r\n {sirketBazliSureAnalizinden === true ? (\r\n <PopoverViaButton\r\n PButton={() => (\r\n <IconButton color=\"error\" sx={{ mr: 2 }}>\r\n <ErrorOutlineIcon />\r\n </IconButton>\r\n )}\r\n >\r\n <List sx={{ p: 1 }}>\r\n <NavigateListItem\r\n onClick={(e) => {\r\n sirketBazliSureAnaliziSurunAciklamasiDialogRef?.current?.openRecord();\r\n }}\r\n >\r\n <HelpOutlineIcon\r\n sx={{ mr: 1, color: ctheme.colors.navyBlue }}\r\n fontSize=\"small\"\r\n />\r\n Müşteri Bazlı Süre Raporu Sütun Açıklamaları\r\n </NavigateListItem>\r\n </List>\r\n </PopoverViaButton>\r\n ) : null}\r\n </Grid>\r\n <Grid className=\"sag\" sx={{ display: \"flex\" }}>\r\n <Button\r\n variant=\"contained\"\r\n color=\"primary\"\r\n endIcon={<Search />}\r\n size=\"small\"\r\n sx={{ mr: 1 }}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n form.submit();\r\n }}\r\n >\r\n Listele\r\n </Button>\r\n </Grid>\r\n </Paper>\r\n ) : (\r\n <MuiAccordion\r\n defaultExpanded\r\n variant=\"outlined\"\r\n disableGutters={true}\r\n elevation={0}\r\n sx={{\r\n p: 0,\r\n bgcolor: ctheme.colors.gridHeaderColor,\r\n }}\r\n TransitionProps={{ timeout: 0 }}\r\n onChange={() => {\r\n listGridRef?.current?.instance?.updateDimensions();\r\n }}\r\n >\r\n <MuiAccordionSummary\r\n expandIcon={<ExpandMoreIcon color=\"primary\" />}\r\n sx={{\r\n p: 0,\r\n m: 0,\r\n content: { margin: \"0px 0px !important\" },\r\n minHeight: \"38px\",\r\n flexDirection: \"row-reverse\",\r\n bgcolor: ctheme.colors.gridHeaderColor,\r\n \"& .MuiAccordionSummary-content\": {\r\n margin: \"0px\", // Padding'i kaldırıyoruz\r\n },\r\n }}\r\n >\r\n <Paper\r\n sx={{\r\n width: \"100%\",\r\n p: 0,\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n boxShadow: \"unset\",\r\n alignItems: \"center\",\r\n bgcolor: \"rgb(25, 118, 210, 0)\",\r\n }}\r\n >\r\n <Grid\r\n container\r\n className=\"sol\"\r\n sx={{ display: \"flex\", pl: 1 }}\r\n spacing={1}\r\n >\r\n {Object.keys(values)\r\n .filter((key) => values[key] || values[key] === 0)\r\n .map((key, index) => {\r\n let entity = PageConfig.type.find(\r\n (x) =>\r\n (x?.visible?.includes(\"filter\") || x?.visible?.includes(\"filterCheckGroup\")) &&\r\n x.name === key\r\n );\r\n\r\n let value =\r\n entity.dataType === \"select\"\r\n ? entity?.items?.find(\r\n (x) => x.Value === values[key]\r\n )?.Text\r\n : values[key];\r\n\r\n return (\r\n <React.Fragment key={index}>\r\n <Chip\r\n variant=\"filled\"\r\n color=\"primary\"\r\n sx={{ fontSize: \"10pt\", height: \"26px\" }}\r\n label={\r\n <>\r\n <span\r\n style={{\r\n color: \"white\",\r\n fontWeight: \"bold\",\r\n }}\r\n >\r\n {entity.label + \": \"}\r\n </span>\r\n {entity.dataType === \"date\"\r\n ? dayjs(value).format(\"DD.MM.YYYY\")\r\n : entity.dataType === \"custom\"\r\n ? customChipLabels[entity.name]\r\n : value}\r\n </>\r\n }\r\n onDelete={() => {\r\n form.change(key, null);\r\n }}\r\n />\r\n </React.Fragment>\r\n );\r\n })}\r\n </Grid>\r\n <Grid className=\"sag\" sx={{ display: \"flex\" }}>\r\n {sirketBazliSureAnalizinden === true ? (\r\n <PopoverViaButton\r\n PButton={() => (\r\n <IconButton color=\"error\" sx={{ mr: 2 }}>\r\n <ErrorOutlineIcon />\r\n </IconButton>\r\n )}\r\n >\r\n <List sx={{ p: 1 }}>\r\n <NavigateListItem\r\n onClick={() => {\r\n sirketBazliSureAnaliziSurunAciklamasiDialogRef?.current?.openRecord();\r\n }}\r\n >\r\n <HelpOutlineIcon\r\n sx={{\r\n mr: 1,\r\n color: ctheme.colors.navyBlue,\r\n }}\r\n fontSize=\"small\"\r\n />\r\n Müşteri Bazlı Süre Raporu Sütun Açıklamaları\r\n </NavigateListItem>\r\n </List>\r\n </PopoverViaButton>\r\n ) : null}\r\n </Grid>\r\n <Grid className=\"sag\" sx={{ display: \"flex\" }}>\r\n <Button\r\n variant=\"contained\"\r\n color=\"primary\"\r\n endIcon={<Search />}\r\n size=\"small\"\r\n sx={{ mr: 1 }}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n form.submit();\r\n }}\r\n >\r\n Listele\r\n </Button>\r\n </Grid>\r\n </Paper>\r\n </MuiAccordionSummary>\r\n <MuiAccordionDetails\r\n sx={{\r\n p: \"4px \",\r\n bgcolor: ctheme.colors.gridHeaderColor,\r\n }}\r\n >\r\n <Paper\r\n variant=\"outlined\"\r\n sx={{\r\n display: \"flex\",\r\n p: \"4px\",\r\n bgcolor: \"white\",\r\n }}\r\n >\r\n {PageConfig.type\r\n .filter(\r\n (x) => x.visible && x.visible.includes(\"filter\")\r\n )\r\n .map((i, index) => {\r\n if (\r\n (i.onlyYetkiGrubuTipi &&\r\n context.user.yetkiGrubuTipi !==\r\n i.onlyYetkiGrubuTipi) ||\r\n (i.gizlenecekYetkiGrubuTipi &&\r\n (Array.isArray(i.gizlenecekYetkiGrubuTipi)\r\n ? i.gizlenecekYetkiGrubuTipi.includes(\r\n context.user.yetkiGrubuTipi\r\n )\r\n : context.user.yetkiGrubuTipi ===\r\n i.gizlenecekYetkiGrubuTipi))\r\n ) {\r\n return null;\r\n }\r\n return i.dataType === \"text\" ||\r\n i.dataType === \"number\" ? (\r\n <FilterFieldWrapper key={index} label={i.label}>\r\n <Field\r\n name={i.name}\r\n component={TextInputForm}\r\n {...(i.dataType === \"number\" && {\r\n numberInput: true,\r\n })}\r\n onChangeExtra={() => {\r\n if (\r\n i.filterType &&\r\n i.filterType === FILTER_TYPE.FAST_FILTER\r\n ) {\r\n form.submit();\r\n }\r\n }}\r\n />\r\n </FilterFieldWrapper>\r\n ) : i.dataType === \"select\" ? (\r\n <FilterFieldWrapper key={index} label={i.label}>\r\n <Field\r\n name={i.name}\r\n component={AutocomplateInputForm}\r\n items={i.items}\r\n defaultValue={i.defaultValue}\r\n onChangeFilter={() => {\r\n form.submit();\r\n }}\r\n notSort={i.notSort}\r\n />\r\n </FilterFieldWrapper>\r\n ) : i.dataType === \"date\" ? (\r\n <FilterFieldWrapper key={index} label={i.label}>\r\n <Field\r\n name={i.name}\r\n component={DateInputForm2}\r\n defaultValue={i.defaultValue}\r\n isFilterPage={true}\r\n />\r\n </FilterFieldWrapper>\r\n ) : i.dataType === \"boolean\" ? (\r\n <FilterFieldWrapper key={index} label={i.label}>\r\n <Field\r\n name={i.name}\r\n component={CheckboxForm}\r\n defaultValue={i.defaultValue}\r\n />\r\n </FilterFieldWrapper>\r\n ) : i.dataType === \"custom\" ? (\r\n <FilterFieldWrapper key={index} label={i.label}>\r\n <Field\r\n name={i.name}\r\n component={i.customComponent}\r\n {...i.customComponentParams}\r\n rowData={filterData}\r\n onChangeExtra={(oldVal, newOpt) => {\r\n setCustomChipLabels({\r\n ...customChipLabels,\r\n [i.name]: newOpt?.Text,\r\n });\r\n }}\r\n onChangeFilter={() => {\r\n form.submit();\r\n }}\r\n />\r\n </FilterFieldWrapper>\r\n ) : (\r\n <>\r\n <div key={index}>hatalı dataType</div>\r\n </>\r\n );\r\n })}\r\n <Box sx={{ border: '0px solid #ccc', borderRadius: 1, paddingBottom: \"10px\", paddingRight: \"5px\", minWidth: \"255px\" }}>\r\n <Grid container alignItems=\"center\" direction=\"column\">\r\n {PageConfig.type\r\n .filter(\r\n (x) => x.visible && x.visible.includes(\"filterCheckGroup\")\r\n )\r\n .map((i, index) => {\r\n if (\r\n (i.onlyYetkiGrubuTipi &&\r\n context.user.yetkiGrubuTipi !==\r\n i.onlyYetkiGrubuTipi) ||\r\n (i.gizlenecekYetkiGrubuTipi &&\r\n (Array.isArray(i.gizlenecekYetkiGrubuTipi)\r\n ? i.gizlenecekYetkiGrubuTipi.includes(\r\n context.user.yetkiGrubuTipi\r\n )\r\n : context.user.yetkiGrubuTipi ===\r\n i.gizlenecekYetkiGrubuTipi))\r\n ) {\r\n return null;\r\n }\r\n return i.dataType === \"text\" ||\r\n i.dataType === \"number\" ? (\r\n <FilterFieldWrapper key={index} label={i.label}>\r\n <Field\r\n name={i.name}\r\n component={TextInputForm}\r\n {...(i.dataType === \"number\" && {\r\n numberInput: true,\r\n })}\r\n onChangeExtra={() => {\r\n if (\r\n i.filterType &&\r\n i.filterType === FILTER_TYPE.FAST_FILTER\r\n ) {\r\n form.submit();\r\n }\r\n }}\r\n />\r\n </FilterFieldWrapper>\r\n ) : i.dataType === \"select\" ? (\r\n <FilterFieldWrapper key={index} label={i.label}>\r\n <Field\r\n name={i.name}\r\n component={AutocomplateInputForm}\r\n items={i.items}\r\n defaultValue={i.defaultValue}\r\n onChangeFilter={() => {\r\n form.submit();\r\n }}\r\n />\r\n </FilterFieldWrapper>\r\n ) : i.dataType === \"date\" ? (\r\n <FilterFieldWrapper key={index} label={i.label}>\r\n <Field\r\n name={i.name}\r\n component={DateInputForm2}\r\n defaultValue={i.defaultValue}\r\n isFilterPage={true}\r\n />\r\n </FilterFieldWrapper>\r\n ) : i.dataType === \"boolean\" ? (\r\n <FilterFieldWrapperForCheckBox key={index} label={i.label}>\r\n <Field\r\n name={i.name}\r\n component={CheckboxForm}\r\n defaultValue={i.defaultValue}\r\n size={\"small\"}\r\n />\r\n </FilterFieldWrapperForCheckBox>\r\n ) : i.dataType === \"custom\" ? (\r\n <FilterFieldWrapperForCheckBox key={index} label={i.label}>\r\n <Field\r\n name={i.name}\r\n component={i.customComponent}\r\n {...i.customComponentParams}\r\n defaultValue={i.defaultValue}\r\n rowData={filterData}\r\n // onChangeExtra={(oldVal, newOpt) => {\r\n // setCustomChipLabels({\r\n // ...customChipLabels,\r\n // [i.name]: newOpt?.Text,\r\n // });\r\n // }}\r\n // onChangeFilter={() => {\r\n // form.submit();\r\n // }}\r\n />\r\n </FilterFieldWrapperForCheckBox>\r\n ) : (\r\n <>\r\n <div key={index}>hatalı dataType</div>\r\n </>\r\n );\r\n })}\r\n </Grid>\r\n </Box>\r\n </Paper>\r\n\r\n </MuiAccordionDetails>\r\n </MuiAccordion>\r\n )}\r\n </form>\r\n )}\r\n />\r\n </Grid>\r\n <SirketBazliSureAnaliziSutunInfoDialog\r\n ref={sirketBazliSureAnaliziSurunAciklamasiDialogRef}\r\n ></SirketBazliSureAnaliziSutunInfoDialog>\r\n </>\r\n );\r\n }\r\n);\r\n\r\nexport default PageFilter;\r\n","export function parseHtmlString(htmlString) {\r\n if (htmlString == null) {\r\n return null;\r\n }\r\n const replacedHtmlString = htmlString\r\n ?.replace(/"/g, '\"')\r\n .replace(/'/g, \"'\")\r\n .replace(/</g, \"<\")\r\n .replace(/>/g, \">\")\r\n .replace(/<p>/g, \"\\n\")\r\n .replace(/<\\/p>/g, \"\")\r\n .replace(/<br>/g, \"\\n\")\r\n .replace(/<h[1-6][^>]*>/g, \"\\n\");\r\n const finalString = replacedHtmlString?.replace(/(<([^>]+)>)/gi, \"\");\r\n return finalString.trim();\r\n}\r\n","export const sorumluJoin = (sorumlular) => {\r\n return sorumlular?.map((sorumlu) => sorumlu.isimSoyisim).join(\", \");\r\n};\r\n","import React from \"react\";\r\nimport AutocomplateInputForm from \"../form-inputs/AutocomplateInputForm\";\r\nimport { AppContext } from \"../../../common/AppContext\";\r\n\r\nfunction SirketInputForm({\r\n ekranKodu,\r\n rowData,\r\n readOnly,\r\n inputRef,\r\n input,\r\n personelInputRef,\r\n kullaniciInputRef,\r\n sirketKisisiInputRef,\r\n ...rest\r\n}) {\r\n const context = React.useContext(AppContext);\r\n return (\r\n <AutocomplateInputForm\r\n ref={inputRef}\r\n readOnly={readOnly}\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute: \"Sirket/ListForSelect\",\r\n fildsForText: [\"sirketAdi\"],\r\n fieldForValue: \"id\",\r\n // reqData: context.user?.bayiKullanicisi\r\n // ? context.user?.bayiKullanicisiBayiid\r\n // : 0,\r\n fieldLabel:\r\n input?.name === \"bayiAnaSirket\"\r\n ? \"bayiAnaSirketStr\"\r\n : input?.name === \"firmaid\"\r\n ? \"firmaidStr\"\r\n : \"sirketAdi\",\r\n }}\r\n onChangeExtra={(oldVal, newVal) => {\r\n if (personelInputRef?.current) {\r\n personelInputRef.current.changeValue(null);\r\n }\r\n\r\n if (sirketKisisiInputRef?.current) {\r\n sirketKisisiInputRef.current.changeValue(null);\r\n }\r\n if (Array.isArray(kullaniciInputRef)) {\r\n kullaniciInputRef.forEach((ref) => {\r\n // ref.current.changeValue(null);\r\n });\r\n } else if (kullaniciInputRef?.current) {\r\n kullaniciInputRef.current.changeValue(null);\r\n }\r\n }}\r\n input={input}\r\n {...rest}\r\n />\r\n );\r\n}\r\nexport default SirketInputForm;\r\n","import { DATE_FORMAT, YETKI_GRUBU_TIPI } from \"../common/constants\";\r\nimport { parseHtmlString } from \"../common/constant-functions/parseHtmlString\";\r\nimport { sorumluJoin } from \"../common/constant-functions/sorumluJoin\";\r\nimport {\r\n DATE_WIDTH,\r\n ID_WIDTH,\r\n LONG_DATE_WIDTH,\r\n} from \"../common/entityconstants\";\r\nimport SirketInputForm from \"../components/inputs/custom-form-inputs/SirketInputForm\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [],\r\n isPrimaryKey: true,\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"tamamlandi\",\r\n label: \"Tamamlandı\",\r\n dataType: \"boolean\",\r\n dataField: \"tamamlandi\",\r\n visible: [\"grid\"],\r\n width: \"100px\",\r\n allowEditing: true,\r\n },\r\n {\r\n name: \"aciklama\",\r\n label: \"Aciklama\",\r\n dataType: \"text\",\r\n dataField: \"aciklama\",\r\n visible: [\"grid\"],\r\n customizeText: (e) => e?.value && parseHtmlString(e?.value),\r\n // width: \"950px\",\r\n // minWidth: \"950px\",\r\n },\r\n {\r\n name: \"kayitTarihi\",\r\n label: \"Kayıt Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"kayitTarihi\",\r\n visible: [\"grid\"],\r\n format: DATE_FORMAT,\r\n firstSort: \"desc\",\r\n width: DATE_WIDTH,\r\n },\r\n {\r\n name: \"sirketAdi\",\r\n label: \"İlgili Müşteri Adı\",\r\n dataType: \"text\",\r\n dataField: \"sirketAdi\",\r\n visible: [\"grid\"],\r\n width: LONG_DATE_WIDTH,\r\n visibleConditions: [\r\n {\r\n gizlenecekYetkiGrubuTipi: [YETKI_GRUBU_TIPI.MUSTERI.Value],\r\n },\r\n ],\r\n },\r\n {\r\n name: \"ilgiliKisiler\",\r\n label: \"İlgili Kişiler\",\r\n dataType: \"text\",\r\n dataField: \"ilgiliKisiler\",\r\n visible: [\"grid\"],\r\n // cellRender: (e) => SorumluChip(e?.value),\r\n customizeText: (cellData) => sorumluJoin(cellData?.value),\r\n visibleConditions: [\r\n {\r\n gizlenecekYetkiGrubuTipi: [YETKI_GRUBU_TIPI.MUSTERI.Value],\r\n },\r\n ],\r\n },\r\n {\r\n name: \"tamamlayanlar\",\r\n label: \"Tamamlayanlar\",\r\n dataType: \"text\",\r\n dataField: \"tamamlayanlar\",\r\n visible: [\"grid\"],\r\n // cellRender: (e) => SorumluChip(e?.value),\r\n customizeText: (cellData) => sorumluJoin(cellData?.value),\r\n visibleConditions: [\r\n {\r\n gizlenecekYetkiGrubuTipi: [YETKI_GRUBU_TIPI.MUSTERI.Value],\r\n },\r\n ],\r\n },\r\n {\r\n name: \"ilgiliKisilerTamamladi\",\r\n label: \"İlgili Kişiler Tamamladı\",\r\n dataType: \"boolean\",\r\n dataField: \"ilgiliKisilerTamamladi\",\r\n visible: [\"grid\"],\r\n width: \"100px\",\r\n },\r\n //// Filtre //// Filtre//// Filtre//// Filtre//// Filtre//// Filtre//// Filtre//// Filtre//// Filtre\r\n {\r\n name: \"sirketId\",\r\n label: \"İlgili Müşteri Adı\",\r\n dataType: \"custom\",\r\n dataField: \"sirketId\",\r\n visible: [\"filter\"],\r\n customComponent: SirketInputForm,\r\n customComponentParams: {},\r\n gizlenecekYetkiGrubuTipi: [YETKI_GRUBU_TIPI.MUSTERI.Value],\r\n },\r\n];\r\nexport default entity;\r\n\r\n// public List<NotIlgiliKisiDto?>? IlgiliKisiler { get; set; }\r\n","import Type from \"../../entities/Not\";\r\n\r\nconst PageConfig = {\r\n title: \"Notlarım\",\r\n ekranKodu: \"Not_Res\",\r\n type: Type,\r\n listRoute: \"Not/List\",\r\n getByIdRoute: \"Not/GetById\",\r\n insertRoute: \"Not/Insert\",\r\n updateRoute: \"Not/Update\",\r\n bulkUpdateRoute: \"Not/BulkUpdate\",\r\n deleteRoute: \"Not/Delete\",\r\n};\r\n\r\nconst PageConfigForIlgiliKisiler = {\r\n title: \"Notlarım\",\r\n ekranKodu: \"Not_Res\",\r\n type: Type,\r\n listRoute: \"Not/ListForIlgiliKisiler\",\r\n getByIdRoute: \"Not/GetById\",\r\n insertRoute: \"Not/Insert\",\r\n updateRoute: \"Not/Update\",\r\n bulkUpdateRoute: \"Not/BulkUpdateForIlgiliKisiler\",\r\n deleteRoute: \"Not/Delete\",\r\n};\r\n\r\nexport { PageConfig, PageConfigForIlgiliKisiler };\r\n","import { LOADING_DIV_ID } from \"../constants\";\r\n\r\nexport const loadingVisible = (willOpen) => {\r\n document.getElementById(LOADING_DIV_ID).style.display = willOpen\r\n ? \"block\"\r\n : \"none\";\r\n};\r\n","import { toast } from \"react-toastify\";\r\n\r\nconst printToast = (resWrapper) => {\r\n if (\r\n (!resWrapper.success && resWrapper.message) ||\r\n (!resWrapper.Success && resWrapper.Message)\r\n ) {\r\n return toast.error(resWrapper.message ?? resWrapper.Message, {\r\n position: \"top-right\",\r\n autoClose: 10000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n theme: \"colored\",\r\n });\r\n } else if (resWrapper.success && resWrapper.message) {\r\n return toast.success(resWrapper.message, {\r\n position: \"top-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n theme: \"colored\",\r\n });\r\n }\r\n};\r\n\r\nexport { printToast };\r\n","import React, { useState } from \"react\";\r\nimport { AppContext } from \"../common/AppContext\";\r\nimport { HttpAuthorized } from \"../common/common\";\r\nimport { loadingVisible } from \"../common/constant-functions/loadingVisible\";\r\nimport { printToast } from \"../common/constant-functions/printToast\";\r\nimport validateFormValues from \"../common/constant-functions/validateFormValues\";\r\nimport { apiUrl } from \"../common/constants\";\r\n\r\nfunction usePageRecord(\r\n ref,\r\n PageConfig,\r\n listGridRef,\r\n ekranKodu,\r\n initialState,\r\n afterSubmitFnc,\r\n deleteCheck,\r\n customFetchData,\r\n customInsertOrUpdate,\r\n handleSubmitPrepareData,\r\n afterDeleteFunc\r\n) {\r\n const [open, setOpen] = useState(false);\r\n const [recId, setRecId] = useState(0);\r\n const [rowData, setRowData] = useState(initialState || {});\r\n const [modalLoading, setModalLoading] = useState(true);\r\n\r\n const setRowDataFnc = (data) => setRowData(data);\r\n const handleClickOpen = () => setOpen(true);\r\n\r\n const handleClose = () => {\r\n setOpen(false);\r\n setRecId(null);\r\n setRowData(initialState || {});\r\n setModalLoading(true);\r\n };\r\n React.useImperativeHandle(ref, () => ({\r\n setRecId: setRecId,\r\n recId: recId,\r\n openRecord: openRecord,\r\n setRowDataFnc: setRowDataFnc,\r\n setModalLoading: setModalLoading,\r\n handleClose: handleClose,\r\n }));\r\n\r\n async function fetchData(recId) {\r\n if (customFetchData) {\r\n customFetchData(recId);\r\n } else {\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${PageConfig.getByIdRoute}`,\r\n data: {\r\n id: recId,\r\n },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n setRowData(res.data.data || {});\r\n setModalLoading(false);\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n });\r\n }\r\n }\r\n\r\n async function insertOrUpdate(values) {\r\n if (customInsertOrUpdate) {\r\n customInsertOrUpdate(values);\r\n } else {\r\n loadingVisible(true);\r\n return HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${values.id && values.id != \"undefined\"\r\n ? PageConfig.updateRoute\r\n : PageConfig.insertRoute\r\n }`,\r\n data: handleSubmitPrepareData\r\n ? handleSubmitPrepareData(values)\r\n : {\r\n ...values,\r\n },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n if (res.data.success) {\r\n setRowData(res.data.data);\r\n listGridRef?.current?.instance?.refresh();\r\n afterSubmitFnc && afterSubmitFnc(res);\r\n } else {\r\n printToast(res.data.message);\r\n }\r\n\r\n // printToast(res.data);\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n })\r\n .finally(() => loadingVisible(false));\r\n }\r\n }\r\n\r\n async function handleDelete(reqData) {\r\n loadingVisible(true);\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${PageConfig.deleteRoute}`,\r\n data: reqData ? reqData : { id: rowData.id },\r\n })\r\n .then((res) => {\r\n let checked = false;\r\n if (deleteCheck) {\r\n checked = deleteCheck(res);\r\n }\r\n if (!checked) {\r\n printToast(res.data);\r\n if (res.data.success) {\r\n setRowData({});\r\n listGridRef?.current?.instance?.refresh();\r\n handleClose();\r\n afterDeleteFunc && afterDeleteFunc();\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n })\r\n .finally(() => loadingVisible(false));\r\n }\r\n\r\n const handleSubmit = async (values) => {\r\n await insertOrUpdate(values);\r\n };\r\n\r\n function openRecord(recId) {\r\n if (recId > 0) {\r\n setRecId(recId);\r\n fetchData(recId);\r\n } else {\r\n if (typeof recId == \"string\" && recId) {\r\n setRecId(recId);\r\n fetchData(recId);\r\n } else {\r\n setRowData(initialState || {});\r\n setRecId(null);\r\n setModalLoading(false);\r\n }\r\n }\r\n handleClickOpen();\r\n }\r\n\r\n const context = React.useContext(AppContext);\r\n\r\n const yetki =\r\n context?.user?.yetkiler.find((x) => x.ekranKodu === ekranKodu) ?? {};\r\n\r\n return {\r\n rowData,\r\n setRowData,\r\n recId,\r\n setRecId,\r\n open,\r\n handleClickOpen,\r\n handleClose,\r\n modalLoading,\r\n setModalLoading,\r\n handleDelete,\r\n handleSubmit,\r\n setRowDataFnc,\r\n validateFormValues,\r\n yetki,\r\n context,\r\n openRecord,\r\n };\r\n}\r\n\r\nexport default usePageRecord;\r\n","import React, { useEffect, useRef } from \"react\";\r\n\r\nimport HtmlEditor, {\r\n Toolbar,\r\n MediaResizing,\r\n ImageUpload,\r\n Item,\r\n} from \"devextreme-react/html-editor\";\r\nimport { Skeleton, Typography } from \"@mui/material\";\r\nimport \"../../../css/RichTextEditor.css\";\r\n\r\nconst sizeValues = [\"8pt\", \"10pt\", \"12pt\", \"14pt\", \"18pt\", \"24pt\", \"36pt\"];\r\nconst fontValues = [\r\n \"Arial\",\r\n \"Courier New\",\r\n \"Georgia\",\r\n \"Impact\",\r\n \"Lucida Console\",\r\n \"Tahoma\",\r\n \"Times New Roman\",\r\n \"Verdana\",\r\n];\r\nconst headerValues = [false, 1, 2, 3, 4, 5];\r\n\r\nfunction RichTextEditor({\r\n input,\r\n meta,\r\n label,\r\n height,\r\n minHeight,\r\n maxHeight,\r\n style,\r\n ...rest\r\n}) {\r\n const editorRef = useRef(null);\r\n useEffect(() => {\r\n if (editorRef?.current) {\r\n let element = editorRef?.current?.instance?.element();\r\n if (meta.error && meta.touched) {\r\n element.classList.add(\"final-form-error\");\r\n } else {\r\n element.classList.remove(\"final-form-error\");\r\n }\r\n }\r\n }, [meta]);\r\n\r\n useEffect(() => {\r\n if (editorRef.current && !initialized) {\r\n editorRef.current.instance.option(\"value\", input.value || \"\"); \r\n setInitialized(true);\r\n }\r\n }, [input.value]); \r\n\r\n const [initialized, setInitialized] = React.useState(false);\r\n\r\n useEffect(() => {\r\n if (input?.value && editorRef?.current) {\r\n editorRef?.current?.instance?.option(\"value\", input.value);\r\n }\r\n }, [input.value, editorRef.current]);\r\n\r\n return rest.modalLoading ? (\r\n <Skeleton width=\"100%\" height=\"300px\"></Skeleton>\r\n ) : (\r\n <HtmlEditor\r\n //{...input}\r\n ref={editorRef}\r\n className={meta.error && meta.touched && \"final-form-error\"}\r\n //value={input.value}\r\n // {...(height && { height: height })}\r\n onValueChanged={(e) => {\r\n if (!initialized) {\r\n setInitialized(true);\r\n return;\r\n }\r\n \r\n \r\n if (e.value !== input.value) {\r\n input.onChange(e.value);\r\n }\r\n }}\r\n style={{\r\n minHeight: minHeight ? minHeight : \"255px\",\r\n maxHeight: maxHeight,\r\n // maxHeight: maxHeight || \"68vh\",\r\n height: height,\r\n flexBasis: \"100vh\",\r\n flexGrow: 1,\r\n ...style,\r\n }}\r\n {...rest}\r\n >\r\n <MediaResizing enabled={true} />\r\n <ImageUpload tabs={[\"file\"]} fileUploadMode=\"base64\" />\r\n <Toolbar multiline={true}>\r\n <Item>\r\n <Typography color=\"#1875d2\" variant=\"subtitle2\">\r\n {label}\r\n </Typography>\r\n </Item>\r\n <Item name=\"undo\" />\r\n <Item name=\"redo\" />\r\n {/* <Item name=\"separator\" /> */}\r\n <Item name=\"size\" acceptedValues={sizeValues} />\r\n <Item name=\"font\" acceptedValues={fontValues} />\r\n <Item name=\"header\" acceptedValues={headerValues} />\r\n {/* <Item name=\"separator\" /> */}\r\n <Item name=\"bold\" />\r\n <Item name=\"italic\" />\r\n <Item name=\"strike\" />\r\n <Item name=\"underline\" />\r\n <Item name=\"separator\" />\r\n <Item name=\"alignLeft\" />\r\n <Item name=\"alignCenter\" />\r\n <Item name=\"alignRight\" />\r\n <Item name=\"alignJustify\" />\r\n <Item name=\"separator\" />\r\n <Item name=\"orderedList\" />\r\n <Item name=\"bulletList\" />\r\n <Item name=\"separator\" />\r\n <Item name=\"color\" />\r\n <Item name=\"background\" />\r\n <Item name=\"separator\" />\r\n <Item name=\"link\" />\r\n <Item name=\"image\" />\r\n <Item name=\"separator\" />\r\n <Item name=\"clear\" />\r\n <Item name=\"codeBlock\" />\r\n <Item name=\"blockquote\" />\r\n <Item name=\"separator\" />\r\n <Item name=\"insertTable\" />\r\n <Item name=\"deleteTable\" />\r\n <Item name=\"insertRowAbove\" />\r\n <Item name=\"insertRowBelow\" />\r\n <Item name=\"deleteRow\" />\r\n <Item name=\"insertColumnLeft\" />\r\n <Item name=\"insertColumnRight\" />\r\n <Item name=\"deleteColumn\" />\r\n </Toolbar>\r\n </HtmlEditor>\r\n );\r\n}\r\n\r\nexport default RichTextEditor;\r\n","import { useState } from \"react\";\r\n\r\nfunction useFieldWidth() {\r\n const [fieldTextWidth, setFieldTextWidth] = useState(\"35%\");\r\n const [fieldCompWidth, setFieldCompWidth] = useState(\"65%\");\r\n\r\n return {\r\n fieldTextWidth,\r\n setFieldTextWidth,\r\n setFieldCompWidth,\r\n fieldCompWidth,\r\n };\r\n}\r\n\r\nexport default useFieldWidth;\r\n","import { Grid, Skeleton, Typography } from \"@mui/material\";\r\nimport useFieldWidth from \"../../../hooks/use-field-with\";\r\n\r\nfunction FieldWrapper({\r\n modalLoading,\r\n children,\r\n label,\r\n columnDirection,\r\n width,\r\n textWidth,\r\n labelcolor,\r\n ...rest\r\n}) {\r\n const { fieldCompWidth, fieldTextWidth } = useFieldWidth();\r\n\r\n return modalLoading ? (\r\n <Skeleton width={width ?? fieldCompWidth}></Skeleton>\r\n ) : (\r\n <Grid\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n alignItems: \"center\",\r\n }}\r\n {...rest}\r\n >\r\n {label ? (\r\n <Typography\r\n variant=\"subtitle2\"\r\n sx={{ width: textWidth ?? fieldTextWidth }}\r\n color={labelcolor}\r\n >\r\n {label}\r\n </Typography>\r\n ) : null}\r\n <Grid\r\n sx={{\r\n width: width ?? fieldCompWidth,\r\n }}\r\n >\r\n {children}\r\n </Grid>\r\n </Grid>\r\n );\r\n}\r\n\r\nexport default FieldWrapper;\r\n","import { Grid } from \"@mui/material\";\r\nimport React from \"react\";\r\nimport { ctheme } from \"../../theme/theme\";\r\n\r\nexport default function DialogActionsWrapper({ children, sx, ...rest }) {\r\n return (\r\n <Grid\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"flex-end\",\r\n paddingX: \"2px\",\r\n paddingY: \"5px\",\r\n bgcolor: ctheme.colors.lynxWhite,\r\n flexDirection: \"row\",\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {children}\r\n </Grid>\r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Autocomplete from \"@mui/material/Autocomplete\";\r\nimport { HttpAuthorized } from \"../../../common/common\";\r\nimport { apiUrl } from \"../../../common/constants\";\r\nimport { CircularProgress } from \"@mui/material\";\r\n\r\nconst MultipleAutocomplateInputForm = React.forwardRef(\r\n (\r\n {\r\n input,\r\n meta,\r\n items,\r\n label,\r\n remoteDataAdaptor,\r\n rowData,\r\n insertButtonRef,\r\n readOnly,\r\n clearable = true,\r\n setCustomChipLabels,\r\n onlyUpdateBtn = false,\r\n ...rest\r\n },\r\n ref\r\n ) => {\r\n const [loading, setLoading] = React.useState(false);\r\n\r\n const changeValue = (newValue) => {\r\n if (newValue) {\r\n } else {\r\n input.onChange(null);\r\n }\r\n };\r\n\r\n React.useImperativeHandle(ref, () => ({\r\n changeValue: changeValue,\r\n value: input.value || [],\r\n }));\r\n\r\n const getFieldText = (data) => {\r\n let label = \"\";\r\n remoteDataAdaptor.fildsForText?.forEach((fName, index) => {\r\n label += data[fName];\r\n if (index !== remoteDataAdaptor?.fildsForText?.length - 1) {\r\n label += \" - \";\r\n }\r\n });\r\n\r\n return {\r\n Text: label,\r\n Value: data[remoteDataAdaptor.fieldForValue],\r\n };\r\n };\r\n\r\n const setDefaultValue = () => {\r\n let arr = [];\r\n if (rowData && rowData[input.name] && remoteDataAdaptor) {\r\n arr = rowData[input.name].map((data) => ({\r\n Text: data[remoteDataAdaptor.fildsForText],\r\n Value: data[remoteDataAdaptor.fieldForValue],\r\n }));\r\n }\r\n\r\n return arr;\r\n };\r\n\r\n const [options, setOptions] = useState([]);\r\n\r\n useEffect(() => {\r\n if (remoteDataAdaptor) {\r\n setOptions(setDefaultValue());\r\n } else {\r\n setOptions(items);\r\n }\r\n }, []);\r\n\r\n function fetchData() {\r\n setLoading(true);\r\n\r\n if (remoteDataAdaptor.fetchRoute) {\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${remoteDataAdaptor.fetchRoute}`,\r\n data: remoteDataAdaptor.reqData,\r\n })\r\n .then((res) => {\r\n setOptions(\r\n res?.data?.data?.map((data) => getFieldText(data)) ?? []\r\n );\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n })\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const mapItemToValue = (item) => {\r\n return {\r\n [remoteDataAdaptor.fieldForValue]:\r\n item[remoteDataAdaptor.fieldForValue] || item.Value,\r\n [remoteDataAdaptor.fildsForText]:\r\n item[remoteDataAdaptor.fildsForText] || item.Text,\r\n };\r\n };\r\n\r\n const handleOnChange = (e, value) => {\r\n if (remoteDataAdaptor) {\r\n const mappedValues = value.map(mapItemToValue);\r\n const uniqueValues = mappedValues.filter((item, index, self) => {\r\n return (\r\n index ===\r\n self.findIndex(\r\n (t) =>\r\n t[remoteDataAdaptor.fieldForValue] ===\r\n item[remoteDataAdaptor.fieldForValue]\r\n )\r\n );\r\n });\r\n input.onChange(uniqueValues);\r\n } else {\r\n let result = [];\r\n\r\n for (let i = 0; i < value.length; i++) {\r\n let item = value[i];\r\n if (typeof item === \"object\" && \"Value\" in item) {\r\n let value = item.Value;\r\n if (!result.includes(value)) {\r\n result.push(value);\r\n }\r\n } else {\r\n result.push(item);\r\n }\r\n }\r\n input.onChange(result);\r\n }\r\n };\r\n\r\n return (\r\n <div>\r\n <Autocomplete\r\n {...input}\r\n value={input.value || []}\r\n multiple\r\n disableCloseOnSelect\r\n loading={loading}\r\n loadingText=\"Yükleniyor...\"\r\n autoComplete={false}\r\n readOnly={readOnly}\r\n sx={{ width: \"100%\" }}\r\n noOptionsText=\"Seçenek bulunamadı\"\r\n getOptionLabel={(option) => {\r\n if (option && option.Text) {\r\n return option.Text ?? \"\";\r\n }\r\n if (\r\n option &&\r\n remoteDataAdaptor &&\r\n option[remoteDataAdaptor.fildsForText]\r\n ) {\r\n return option[remoteDataAdaptor.fildsForText];\r\n }\r\n\r\n if (!remoteDataAdaptor) {\r\n if (option === 0 || (option && option !== \"\")) {\r\n let opt = options?.find((item) => item.Value === option);\r\n return opt?.Text ?? \"\";\r\n }\r\n }\r\n\r\n return option ?? \"\";\r\n }}\r\n options={options}\r\n onChange={handleOnChange}\r\n isOptionEqualToValue={(option, value) => {\r\n return option.Value === value[remoteDataAdaptor.fieldForValue];\r\n }}\r\n onOpen={() => remoteDataAdaptor && fetchData()}\r\n renderInput={(params) => (\r\n <TextField\r\n {...params}\r\n readOnly={readOnly}\r\n sx={{ width: \"100%\" }}\r\n label={label}\r\n variant=\"standard\"\r\n error={meta.error && meta.touched}\r\n helperText={meta.error && meta.touched ? meta.error : null}\r\n autoComplete=\"off\"\r\n InputProps={{\r\n ...params.InputProps,\r\n endAdornment: (\r\n <>\r\n {loading ? (\r\n <CircularProgress color=\"primary\" size={20} />\r\n ) : null}\r\n {params.InputProps.endAdornment}\r\n </>\r\n ),\r\n }}\r\n />\r\n )}\r\n {...rest}\r\n />\r\n </div>\r\n );\r\n }\r\n);\r\n\r\nexport default MultipleAutocomplateInputForm;\r\n","import { Button } from \"@mui/material\";\r\nimport React from \"react\";\r\n\r\nexport default function ButtonWrapper({ children, sx, ...rest }) {\r\n return (\r\n <Button\r\n variant=\"contained\"\r\n size=\"small\"\r\n color=\"success\"\r\n sx={{ ...sx, mr: 0.2 }}\r\n {...rest}\r\n >\r\n {children}\r\n </Button>\r\n );\r\n}\r\n","\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3m3-10H5V5h10z\"\n}), 'Save');","\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z\"\n}), 'Delete');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDialogContentUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContent', slot);\n}\nconst dialogContentClasses = generateUtilityClasses('MuiDialogContent', ['root', 'dividers']);\nexport default dialogContentClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"dividers\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport { getDialogContentUtilityClass } from './dialogContentClasses';\nimport dialogTitleClasses from '../DialogTitle/dialogTitleClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n dividers\n } = ownerState;\n const slots = {\n root: ['root', dividers && 'dividers']\n };\n return composeClasses(slots, getDialogContentUtilityClass, classes);\n};\nconst DialogContentRoot = styled('div', {\n name: 'MuiDialogContent',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dividers && styles.dividers];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n flex: '1 1 auto',\n // Add iOS momentum scrolling for iOS < 13.0\n WebkitOverflowScrolling: 'touch',\n overflowY: 'auto',\n padding: '20px 24px'\n}, ownerState.dividers ? {\n padding: '16px 24px',\n borderTop: `1px solid ${(theme.vars || theme).palette.divider}`,\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`\n} : {\n [`.${dialogTitleClasses.root} + &`]: {\n paddingTop: 0\n }\n}));\nconst DialogContent = /*#__PURE__*/React.forwardRef(function DialogContent(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiDialogContent'\n });\n const {\n className,\n dividers = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n dividers\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContent.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * Display the top and bottom dividers.\n * @default false\n */\n dividers: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogContent;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDialogContentTextUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContentText', slot);\n}\nconst dialogContentTextClasses = generateUtilityClasses('MuiDialogContentText', ['root']);\nexport default dialogContentTextClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport Typography from '../Typography';\nimport { getDialogContentTextUtilityClass } from './dialogContentTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n const composedClasses = composeClasses(slots, getDialogContentTextUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst DialogContentTextRoot = styled(Typography, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiDialogContentText',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst DialogContentText = /*#__PURE__*/React.forwardRef(function DialogContentText(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiDialogContentText'\n });\n const {\n className\n } = props,\n ownerState = _objectWithoutPropertiesLoose(props, _excluded);\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentTextRoot, _extends({\n component: \"p\",\n variant: \"body1\",\n color: \"text.secondary\",\n ref: ref,\n ownerState: ownerState,\n className: clsx(classes.root, className)\n }, props, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContentText.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogContentText;","import React from \"react\";\r\nimport useDialog from \"../../hooks/use-dialog\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Dialog from \"@mui/material/Dialog\";\r\nimport DialogActions from \"@mui/material/DialogActions\";\r\nimport DialogContent from \"@mui/material/DialogContent\";\r\nimport DialogContentText from \"@mui/material/DialogContentText\";\r\nimport DialogTitle from \"@mui/material/DialogTitle\";\r\n\r\nconst AlertDialog = React.forwardRef(\r\n (\r\n {\r\n dialogTitle,\r\n contentText,\r\n onayBtnText,\r\n redBtnText,\r\n onayBtnClick,\r\n dialogActionsVisible = true,\r\n },\r\n ref\r\n ) => {\r\n const { open, closeRecord, id } = useDialog(ref);\r\n\r\n return (\r\n <Dialog\r\n open={open}\r\n onClose={closeRecord}\r\n aria-labelledby=\"alert-dialog-title\"\r\n aria-describedby=\"alert-dialog-description\"\r\n >\r\n <DialogTitle id=\"alert-dialog-title\">\r\n {dialogTitle ?? \"Kaydedilmemiş değişiklikleriniz var!\"}\r\n </DialogTitle>\r\n <DialogContent id=\"dialog-content\">\r\n <DialogContentText id=\"alert-dialog-description\" >\r\n {contentText ?? \"Kaydetmek ister misiniz?\"}\r\n </DialogContentText>\r\n </DialogContent>\r\n {dialogActionsVisible && (\r\n <DialogActions>\r\n <Button\r\n onClick={() => {\r\n onayBtnClick(id);\r\n closeRecord();\r\n }}\r\n >\r\n {onayBtnText ?? \"Evet\"}\r\n </Button>\r\n <Button onClick={closeRecord} autoFocus>\r\n {redBtnText ?? \"Hayır\"}\r\n </Button>\r\n </DialogActions>\r\n )}\r\n </Dialog>\r\n );\r\n }\r\n);\r\n\r\nexport default AlertDialog;\r\n","import React from \"react\";\r\nimport AlertDialog from \"../AlertDialog\";\r\n\r\nexport default function DeleteDialog({\r\n alertDialogRef,\r\n onayBtnClick,\r\n title,\r\n content,\r\n}) {\r\n return (\r\n <AlertDialog\r\n dialogTitle={title ?? \"Dikkat Kayıt Siliniyor!\"}\r\n contentText={content ?? \"Silmek istediğinize emin misiniz?\"}\r\n ref={alertDialogRef}\r\n onayBtnClick={onayBtnClick}\r\n ></AlertDialog>\r\n );\r\n}\r\n","\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');","import React from \"react\";\r\nimport ButtonWrapper from \"../ButtonWrapper\";\r\nimport { Close } from \"@mui/icons-material\";\r\n\r\nexport default function CancelButton({onClick,disabled}) {\r\n return (\r\n <ButtonWrapper\r\n color=\"warning\"\r\n startIcon={<Close />}\r\n onClick={onClick}\r\n disabled={disabled}\r\n >\r\n Vazgeç\r\n </ButtonWrapper>\r\n );\r\n}\r\n","import React, { useRef } from \"react\";\r\nimport ButtonWrapper from \"../ButtonWrapper\";\r\nimport { Delete, Save } from \"@mui/icons-material\";\r\nimport DeleteDialog from \"../../dialogs/custom/DeleteDialog\";\r\nimport CancelButton from \"./CancelButton\";\r\nimport { Grid } from \"@mui/material\";\r\n\r\nexport default function RecordButton({\r\n yetki,\r\n form,\r\n handleDelete,\r\n submitting,\r\n pristine,\r\n deleteCondition = true,\r\n submitExtra,\r\n submitButtonText,\r\n submitCondition = true,\r\n submitDisabled = false,\r\n deleteDisabled = false,\r\n modalLoading = false,\r\n yetkisizseAc = false,\r\n cancelCondition = true,\r\n deleteButtonText\r\n}) {\r\n const alertDialogRef = useRef();\r\n return (\r\n !modalLoading && (\r\n <Grid\r\n sx={{\r\n flexDirection: \"row\",\r\n display: \"flex\",\r\n justifyContent: \"flex-end\",\r\n alignItems: \"start\",\r\n }}\r\n >\r\n {(yetki?.kaydet || yetkisizseAc) && submitCondition && (\r\n <ButtonWrapper\r\n color=\"success\"\r\n startIcon={<Save />}\r\n onClick={(e) => {\r\n form.submit();\r\n submitExtra && submitExtra();\r\n }}\r\n disabled={submitDisabled}\r\n >\r\n {submitButtonText ?? \"Kaydet\"}\r\n </ButtonWrapper>\r\n )}\r\n {(yetki?.sil || yetkisizseAc) && deleteCondition && (\r\n <ButtonWrapper\r\n color=\"error\"\r\n startIcon={<Delete />}\r\n onClick={() => {\r\n alertDialogRef?.current?.openRecord();\r\n }}\r\n disabled={deleteDisabled}\r\n >\r\n {deleteButtonText ?? \"Sil\"}\r\n </ButtonWrapper>\r\n )}\r\n {(yetki?.kaydet || yetkisizseAc) && cancelCondition && (\r\n <CancelButton\r\n onClick={() => {\r\n form.reset();\r\n }}\r\n disabled={submitting || pristine}\r\n />\r\n )}\r\n <DeleteDialog\r\n alertDialogRef={alertDialogRef}\r\n onayBtnClick={() => {\r\n handleDelete();\r\n }}\r\n />\r\n </Grid>\r\n )\r\n );\r\n}\r\n","import React from \"react\";\r\n\r\nconst formStyle = {\r\n overflow: \"hidden\",\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n flexDirection: \"column\",\r\n height: \"100vh\",\r\n};\r\n\r\nconst FormComponent = ({ onSubmit, children, style }) => {\r\n return (\r\n <form\r\n onSubmit={onSubmit}\r\n style={{ ...formStyle, ...style }}\r\n autoComplete=\"off\"\r\n >\r\n {children}\r\n </form>\r\n );\r\n};\r\n\r\nexport default FormComponent;\r\n","import { Grid } from \"@mui/material\";\r\nimport React from \"react\";\r\n\r\nexport default function DialogContentTop({ children }) {\r\n return (\r\n <Grid container direction=\"row\" columnSpacing={2} sx={{ mb: 1 }}>\r\n {children}\r\n </Grid>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Grid } from \"@mui/material\";\r\nimport { Form, Field } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport * as yup from \"yup\";\r\nimport { PageConfig } from \"./NotConfig\";\r\nimport RichTextEditor from \"../../components/inputs/form-inputs/RichTextEditor\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport MultipleAutocomplateInputForm from \"../../components/inputs/form-inputs/MultipleAutoComplateInputForm\";\r\nimport dayjs from \"dayjs\";\r\nimport CheckboxForm from \"../../components/inputs/form-inputs/CheckboxForm\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport DialogContentTop from \"../../components/dialogs/DialogContentTop\";\r\nimport SirketInputForm from \"../../components/inputs/custom-form-inputs/SirketInputForm\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport { YETKI_GRUBU_TIPI } from \"../../common/constants\";\r\nimport DateInputForm2 from \"../../components/inputs/form-inputs/DateInputForm2\";\r\n\r\nconst NotRecord = React.forwardRef(({ ekranKodu, listGridRef }, ref) => {\r\n const context = React.useContext(AppContext);\r\n const initialState = {\r\n kayitTarihi: dayjs(),\r\n };\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n } = usePageRecord(ref, PageConfig, listGridRef, ekranKodu, initialState);\r\n\r\n const validationSchema = yup.object().shape({});\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n const musteri =\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.MUSTERI.Value;\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle={rowData.id ? \"Not Düzenleme\" : \"Yeni Not\"}\r\n maxWidth=\"lg\"\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <DialogContentTop>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <FieldWrapper\r\n label=\"Kayıt Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"kayitTarihi\"\r\n component={DateInputForm2}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n {!musteri ? (\r\n <FieldWrapper\r\n label=\"İlgili Müşteri\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"sirketId\"\r\n rowData={rowData}\r\n component={SirketInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n ) : null}\r\n\r\n <FieldWrapper\r\n label=\"Tamamlandı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"tamamlandi\"\r\n component={CheckboxForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n {!musteri ? (\r\n <Grid item xs={12} sm={6} md={6}>\r\n <FieldWrapper\r\n label=\"İlgili Kişiler\"\r\n modalLoading={modalLoading}\r\n width=\"75%\"\r\n textWidth=\"25%\"\r\n >\r\n <Field\r\n name=\"ilgiliKisiler\"\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute: \"User/KullaniciListForSelect\",\r\n fildsForText: [\"isimSoyisim\"],\r\n fieldForValue: \"id\",\r\n reqData: {\r\n getSirket_KodFromSession: true,\r\n },\r\n }}\r\n component={MultipleAutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n ) : null}\r\n </DialogContentTop>\r\n <Field\r\n name=\"aciklama\"\r\n component={RichTextEditor}\r\n readOnly={!yetki.kaydet}\r\n label={\"Açıklama\"}\r\n style={{ margin: \"10px 1px\" }}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n <Grid>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={() => {\r\n handleDelete({ id: rowData.id });\r\n }}\r\n submitting={submitting}\r\n pristine={pristine}\r\n submitExtra={() => {\r\n handleClose();\r\n }}\r\n modalLoading={modalLoading}\r\n />\r\n </Grid>\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n});\r\n\r\nexport default NotRecord;\r\n","'use client';\n\nimport PropTypes from 'prop-types';\nimport { createStack } from '@mui/system';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nconst Stack = createStack({\n createStyledComponent: styled('div', {\n name: 'MuiStack',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n }),\n useThemeProps: inProps => useDefaultProps({\n props: inProps,\n name: 'MuiStack'\n })\n});\nprocess.env.NODE_ENV !== \"production\" ? Stack.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Defines the `flex-direction` style property.\n * It is applied for all screen sizes.\n * @default 'column'\n */\n direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),\n /**\n * Add an element between each child.\n */\n divider: PropTypes.node,\n /**\n * Defines the space between immediate children.\n * @default 0\n */\n spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n /**\n * The system prop, which allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * If `true`, the CSS flexbox `gap` is used instead of applying `margin` to children.\n *\n * While CSS `gap` removes the [known limitations](https://mui.com/joy-ui/react-stack/#limitations),\n * it is not fully supported in some browsers. We recommend checking https://caniuse.com/?search=flex%20gap before using this flag.\n *\n * To enable this flag globally, follow the [theme's default props](https://mui.com/material-ui/customization/theme-components/#default-props) configuration.\n * @default false\n */\n useFlexGap: PropTypes.bool\n} : void 0;\nexport default Stack;","const findPrimaryKey = (pageConfigType) => {\r\n return Object(pageConfigType.find((i) => i.isPrimaryKey === true)).name;\r\n};\r\n\r\nexport { findPrimaryKey };\r\n","/**\r\n * DevExtreme (esm/exporter/exceljs/export_format.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n format as stringFormat\r\n} from \"../../core/utils/string\";\r\nimport numberFormatter from \"../../localization/number\";\r\nimport dateLocalization from \"../../localization/date\";\r\nimport {\r\n isDefined,\r\n isString,\r\n isObject,\r\n isNumeric\r\n} from \"../../core/utils/type\";\r\nimport {\r\n getFormat\r\n} from \"../../localization/ldml/date.format\";\r\nimport {\r\n getLanguageId\r\n} from \"../../localization/language_codes\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport \"../../localization/currency\";\r\nvar ARABIC_ZERO_CODE = 1632;\r\nvar DEFINED_NUMBER_FORMTATS = {\r\n thousands: \"#,##0{0},"K"\",\r\n millions: \"#,##0{0},,"M"\",\r\n billions: \"#,##0{0},,,"B"\",\r\n trillions: \"#,##0{0},,,,"T"\",\r\n percent: \"0{0}%\",\r\n decimal: \"#{0}\",\r\n fixedpoint: \"#,##0{0}\",\r\n exponential: \"0{0}E+00\",\r\n currency: \" \"\r\n};\r\nvar PERIOD_REGEXP = /a+/g;\r\nvar DAY_REGEXP = /E/g;\r\nvar DO_REGEXP = /dE+/g;\r\nvar STANDALONE_MONTH_REGEXP = /L/g;\r\nvar HOUR_REGEXP = /h/g;\r\nvar ANY_REGEXP = /./g;\r\n\r\nfunction _applyPrecision(format, precision) {\r\n var result;\r\n var i;\r\n if (precision > 0) {\r\n result = \"decimal\" !== format ? \".\" : \"\";\r\n for (i = 0; i < precision; i++) {\r\n result += \"0\"\r\n }\r\n return result\r\n }\r\n return \"\"\r\n}\r\n\r\nfunction _hasArabicDigits(text) {\r\n var code;\r\n for (var i = 0; i < text.length; i++) {\r\n code = text.charCodeAt(i);\r\n if (code >= ARABIC_ZERO_CODE && code < ARABIC_ZERO_CODE + 10) {\r\n return true\r\n }\r\n }\r\n return false\r\n}\r\n\r\nfunction _convertDateFormat(format) {\r\n var formattedValue = (dateLocalization.format(new Date(2009, 8, 8, 6, 5, 4), format) || \"\").toString();\r\n var result = getFormat(value => dateLocalization.format(value, format));\r\n if (result) {\r\n result = _convertDateFormatToOpenXml(result);\r\n result = _getLanguageInfo(formattedValue) + result\r\n }\r\n return result\r\n}\r\n\r\nfunction _getLanguageInfo(defaultPattern) {\r\n var languageID = getLanguageId();\r\n var languageIDStr = languageID ? languageID.toString(16) : \"\";\r\n var languageInfo = \"\";\r\n if (_hasArabicDigits(defaultPattern)) {\r\n while (languageIDStr.length < 3) {\r\n languageIDStr = \"0\" + languageIDStr\r\n }\r\n languageInfo = \"[$-2010\" + languageIDStr + \"]\"\r\n } else if (languageIDStr) {\r\n languageInfo = \"[$-\" + languageIDStr + \"]\"\r\n }\r\n return languageInfo\r\n}\r\n\r\nfunction _convertDateFormatToOpenXml(format) {\r\n return format.split(\"/\").join(\"\\\\/\").split(\"'\").map((function(datePart, index) {\r\n if (index % 2 === 0) {\r\n return datePart.replace(PERIOD_REGEXP, \"AM/PM\").replace(DO_REGEXP, \"d\").replace(DAY_REGEXP, \"d\").replace(STANDALONE_MONTH_REGEXP, \"M\").replace(HOUR_REGEXP, \"H\").split(\"[\").join(\"\\\\[\").split(\"]\").join(\"\\\\]\")\r\n }\r\n if (datePart) {\r\n return datePart.replace(ANY_REGEXP, \"\\\\$&\")\r\n }\r\n return \"'\"\r\n })).join(\"\")\r\n}\r\n\r\nfunction _convertNumberFormat(format, precision, currency) {\r\n var result;\r\n var excelFormat;\r\n if (\"currency\" === format) {\r\n excelFormat = numberFormatter.getOpenXmlCurrencyFormat(currency)\r\n } else {\r\n excelFormat = DEFINED_NUMBER_FORMTATS[format.toLowerCase()]\r\n }\r\n if (excelFormat) {\r\n result = stringFormat(excelFormat, _applyPrecision(format, precision))\r\n }\r\n return result\r\n}\r\n\r\nfunction _hasCSVInjection(value) {\r\n if (!value || value.length < 2) {\r\n return false\r\n }\r\n return _includesCSVExpression(value)\r\n}\r\n\r\nfunction _hasCSVQuotedInjection(value, textQualifier) {\r\n if (!value || value.length < 4 || value[0] !== textQualifier) {\r\n return false\r\n }\r\n return _includesCSVExpression(value.substring(1, value.length - 1))\r\n}\r\n\r\nfunction _includesCSVExpression(value) {\r\n if (!value) {\r\n return false\r\n }\r\n if (/^[@=\\t\\r]/.test(value)) {\r\n return true\r\n }\r\n if (!/^[+-]/.test(value)) {\r\n return false\r\n }\r\n return !isNumeric(value)\r\n}\r\nexport var ExportFormat = {\r\n formatObjectConverter(format, dataType) {\r\n var result = {\r\n format: format,\r\n precision: format && format.precision,\r\n dataType: dataType\r\n };\r\n if (isObject(format)) {\r\n return extend(result, format, {\r\n format: format.formatter || format.type,\r\n currency: format.currency\r\n })\r\n }\r\n return result\r\n },\r\n convertFormat(format, precision, type, currency) {\r\n if (isDefined(format)) {\r\n if (\"date\" === type) {\r\n return _convertDateFormat(format)\r\n } else if (isString(format) && DEFINED_NUMBER_FORMTATS[format.toLowerCase()]) {\r\n return _convertNumberFormat(format, precision, currency)\r\n }\r\n }\r\n },\r\n encode(value) {\r\n var escaped = false;\r\n if (_hasCSVInjection(value)) {\r\n escaped = true\r\n } else if (_hasCSVQuotedInjection(value, '\"')) {\r\n value = value.substring(1, value.length - 1);\r\n escaped = true\r\n }\r\n if (escaped) {\r\n var escapedTextQualifier = \"\".concat('\"').concat('\"');\r\n return \"\\\"'\" + value.replaceAll('\"', escapedTextQualifier) + '\"'\r\n }\r\n return value\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/exporter/common/export_load_panel.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport LoadPanel from \"../../ui/load_panel\";\r\nimport gridUtils from \"../../ui/grid_core/ui.grid_core.utils\";\r\nvar EXPORT_LOAD_PANEL_CLASS = \"dx-export-loadpanel\";\r\nclass ExportLoadPanel {\r\n constructor(component, $targetElement, $container, options) {\r\n this._$targetElement = $targetElement;\r\n this._$container = $container;\r\n this._loadPanel = component._createComponent($(\"<div>\").addClass(EXPORT_LOAD_PANEL_CLASS).appendTo(this._$container), LoadPanel, this.getOptions(options))\r\n }\r\n getDefaultOptions() {\r\n return {\r\n animation: null,\r\n shading: false,\r\n height: 90,\r\n width: 200,\r\n container: this._$container\r\n }\r\n }\r\n getOptions(options) {\r\n if (isDefined(options.text)) {\r\n options.message = options.text\r\n } else {\r\n options.message = messageLocalization.format(\"dxDataGrid-exporting\")\r\n }\r\n return extend(this.getDefaultOptions(), options)\r\n }\r\n show() {\r\n this._loadPanel.option(\"position\", gridUtils.calculateLoadPanelPosition(this._$targetElement));\r\n this._loadPanel.show()\r\n }\r\n dispose() {\r\n $(this._loadPanel.element()).remove();\r\n delete this._loadPanel\r\n }\r\n}\r\nexport {\r\n ExportLoadPanel\r\n};\r\n","/**\r\n * DevExtreme (esm/exporter/exceljs/export.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined,\r\n isString,\r\n isDate,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n ExportFormat\r\n} from \"./export_format\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n ExportLoadPanel\r\n} from \"../common/export_load_panel\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nvar MAX_DIGIT_WIDTH_IN_PIXELS = 7;\r\nvar MAX_EXCEL_COLUMN_WIDTH = 255;\r\nexport var Export = {\r\n getFullOptions(options) {\r\n var fullOptions = extend({}, options);\r\n if (!(isDefined(fullOptions.worksheet) && isObject(fullOptions.worksheet))) {\r\n throw Error('The \"worksheet\" field must contain an object.')\r\n }\r\n if (!isDefined(fullOptions.topLeftCell)) {\r\n fullOptions.topLeftCell = {\r\n row: 1,\r\n column: 1\r\n }\r\n } else if (isString(fullOptions.topLeftCell)) {\r\n var {\r\n row: row,\r\n col: col\r\n } = fullOptions.worksheet.getCell(fullOptions.topLeftCell);\r\n fullOptions.topLeftCell = {\r\n row: row,\r\n column: col\r\n }\r\n }\r\n if (!isDefined(fullOptions.keepColumnWidths)) {\r\n fullOptions.keepColumnWidths = true\r\n }\r\n if (!isDefined(fullOptions.loadPanel)) {\r\n fullOptions.loadPanel = {}\r\n }\r\n if (!isDefined(fullOptions.loadPanel.enabled)) {\r\n fullOptions.loadPanel.enabled = true\r\n }\r\n if (!isDefined(fullOptions.encodeExecutableContent)) {\r\n fullOptions.encodeExecutableContent = false\r\n }\r\n return fullOptions\r\n },\r\n convertDateForExcelJS: date => new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds())),\r\n setNumberFormat(excelCell, numberFormat) {\r\n excelCell.numFmt = numberFormat\r\n },\r\n getCellStyles(dataProvider) {\r\n var styles = dataProvider.getStyles();\r\n styles.forEach(style => {\r\n var numberFormat = this.tryConvertToExcelNumberFormat(style.format, style.dataType);\r\n if (isDefined(numberFormat)) {\r\n numberFormat = numberFormat.replace(/"/g, '\"')\r\n }\r\n style.numberFormat = numberFormat\r\n });\r\n return styles\r\n },\r\n tryConvertToExcelNumberFormat(format, dataType) {\r\n var newFormat = ExportFormat.formatObjectConverter(format, dataType);\r\n var currency = newFormat.currency;\r\n format = newFormat.format;\r\n dataType = newFormat.dataType;\r\n return ExportFormat.convertFormat(format, newFormat.precision, dataType, currency)\r\n },\r\n setAlignment(excelCell, wrapText, horizontalAlignment) {\r\n var _excelCell$alignment;\r\n excelCell.alignment = null !== (_excelCell$alignment = excelCell.alignment) && void 0 !== _excelCell$alignment ? _excelCell$alignment : {};\r\n if (isDefined(wrapText)) {\r\n excelCell.alignment.wrapText = wrapText\r\n }\r\n if (isDefined(horizontalAlignment)) {\r\n excelCell.alignment.horizontal = horizontalAlignment\r\n }\r\n excelCell.alignment.vertical = \"top\"\r\n },\r\n setColumnsWidth(worksheet, widths, startColumnIndex) {\r\n if (!isDefined(widths)) {\r\n return\r\n }\r\n for (var i = 0; i < widths.length; i++) {\r\n var columnWidth = widths[i];\r\n if (\"number\" === typeof columnWidth && isFinite(columnWidth)) {\r\n worksheet.getColumn(startColumnIndex + i).width = Math.min(MAX_EXCEL_COLUMN_WIDTH, Math.floor(columnWidth / MAX_DIGIT_WIDTH_IN_PIXELS * 100) / 100)\r\n }\r\n }\r\n },\r\n export (options, Helpers, getLoadPanelTargetElement, getLoadPanelContainer) {\r\n var _component$_getIntern;\r\n var {\r\n component: component,\r\n worksheet: worksheet,\r\n topLeftCell: topLeftCell,\r\n keepColumnWidths: keepColumnWidths,\r\n selectedRowsOnly: selectedRowsOnly,\r\n loadPanel: loadPanel,\r\n encodeExecutableContent: encodeExecutableContent\r\n } = options;\r\n var dataProvider = component.getDataProvider(selectedRowsOnly);\r\n var internalComponent = (null === (_component$_getIntern = component._getInternalInstance) || void 0 === _component$_getIntern ? void 0 : _component$_getIntern.call(component)) || component;\r\n var initialLoadPanelEnabledOption = internalComponent.option(\"loadPanel\") && internalComponent.option(\"loadPanel\").enabled;\r\n if (initialLoadPanelEnabledOption) {\r\n component.option(\"loadPanel.enabled\", false)\r\n }\r\n var exportLoadPanel;\r\n if (loadPanel.enabled && hasWindow()) {\r\n var $targetElement = getLoadPanelTargetElement(component);\r\n var $container = getLoadPanelContainer(component);\r\n exportLoadPanel = new ExportLoadPanel(component, $targetElement, $container, loadPanel);\r\n exportLoadPanel.show()\r\n }\r\n var wrapText = !!component.option(\"wordWrapEnabled\");\r\n worksheet.properties.outlineProperties = {\r\n summaryBelow: false,\r\n summaryRight: false\r\n };\r\n var cellRange = {\r\n from: {\r\n row: topLeftCell.row,\r\n column: topLeftCell.column\r\n },\r\n to: {\r\n row: topLeftCell.row,\r\n column: topLeftCell.column\r\n }\r\n };\r\n return new Promise(resolve => {\r\n dataProvider.ready().done(() => {\r\n var columns = dataProvider.getColumns();\r\n var dataRowsCount = dataProvider.getRowsCount();\r\n var helpers = new Helpers(component, dataProvider, worksheet, options);\r\n if (keepColumnWidths) {\r\n this.setColumnsWidth(worksheet, dataProvider.getColumnsWidths(), cellRange.from.column)\r\n }\r\n helpers._exportAllFieldHeaders(columns, this.setAlignment);\r\n var fieldHeaderRowsCount = helpers._getFieldHeaderRowsCount();\r\n cellRange.to.row = cellRange.from.row + fieldHeaderRowsCount;\r\n var styles = this.getCellStyles(dataProvider);\r\n for (var rowIndex = 0; rowIndex < dataRowsCount; rowIndex++) {\r\n var currentRowIndex = cellRange.from.row + fieldHeaderRowsCount + rowIndex;\r\n var row = worksheet.getRow(currentRowIndex);\r\n var startColumnIndex = 0;\r\n if (helpers._isRowFieldHeadersRow(rowIndex)) {\r\n startColumnIndex = dataProvider.getRowAreaColCount();\r\n helpers._exportFieldHeaders(\"row\", currentRowIndex, 0, startColumnIndex, this.setAlignment)\r\n }\r\n helpers._trySetOutlineLevel(row, rowIndex);\r\n this.exportRow(dataProvider, helpers, row, rowIndex, startColumnIndex, columns.length, wrapText, styles, encodeExecutableContent);\r\n cellRange.to.row = currentRowIndex\r\n }\r\n helpers.mergedRangesManager.applyMergedRages();\r\n cellRange.to.column += columns.length > 0 ? columns.length - 1 : 0;\r\n var worksheetViewSettings = worksheet.views[0] || {};\r\n if (component.option(\"rtlEnabled\")) {\r\n worksheetViewSettings.rightToLeft = true\r\n }\r\n if (helpers._isFrozenZone(dataProvider)) {\r\n if (-1 === Object.keys(worksheetViewSettings).indexOf(\"state\")) {\r\n extend(worksheetViewSettings, helpers._getWorksheetFrozenState(cellRange))\r\n }\r\n helpers._trySetAutoFilter(cellRange)\r\n }\r\n if (Object.keys(worksheetViewSettings).length > 0) {\r\n worksheet.views = [worksheetViewSettings]\r\n }\r\n resolve(cellRange)\r\n }).always(() => {\r\n if (initialLoadPanelEnabledOption) {\r\n component.option(\"loadPanel.enabled\", initialLoadPanelEnabledOption)\r\n }\r\n if (loadPanel.enabled && hasWindow()) {\r\n exportLoadPanel.dispose()\r\n }\r\n })\r\n })\r\n },\r\n exportRow(dataProvider, helpers, row, rowIndex, startColumnIndex, columnsCount, wrapText, styles, encodeExecutableContent) {\r\n for (var cellIndex = startColumnIndex; cellIndex < columnsCount; cellIndex++) {\r\n var cellData = dataProvider.getCellData(rowIndex, cellIndex, true);\r\n var excelCell = row.getCell(helpers._getFirstColumnIndex() + cellIndex);\r\n helpers.mergedRangesManager.updateMergedRanges(excelCell, rowIndex, cellIndex, helpers);\r\n var cellInfo = helpers.mergedRangesManager.findMergedCellInfo(rowIndex, cellIndex, helpers._isHeaderCell(rowIndex, cellIndex));\r\n if (isDefined(cellInfo) && excelCell !== cellInfo.masterCell) {\r\n excelCell.style = cellInfo.masterCell.style;\r\n excelCell.value = cellInfo.masterCell.value\r\n } else {\r\n if (isDate(cellData.value)) {\r\n excelCell.value = this.convertDateForExcelJS(cellData.value)\r\n } else {\r\n excelCell.value = cellData.value\r\n }\r\n if (isDefined(excelCell.value)) {\r\n var {\r\n bold: bold,\r\n alignment: horizontalAlignment,\r\n numberFormat: numberFormat\r\n } = styles[dataProvider.getStyleId(rowIndex, cellIndex)];\r\n if (isDefined(numberFormat)) {\r\n this.setNumberFormat(excelCell, numberFormat)\r\n } else if (isString(excelCell.value) && /^[@=+-]/.test(excelCell.value)) {\r\n this.setNumberFormat(excelCell, \"@\")\r\n }\r\n helpers._trySetFont(excelCell, bold);\r\n this.setAlignment(excelCell, wrapText, horizontalAlignment)\r\n }\r\n }\r\n helpers._customizeCell(excelCell, cellData.cellSourceData);\r\n if (encodeExecutableContent) {\r\n excelCell.value = ExportFormat.encode(excelCell.value)\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/exporter/exceljs/export_merged_ranges_manager.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nclass MergedRangesManager {\r\n constructor(dataProvider, worksheet) {\r\n this.dataProvider = dataProvider;\r\n this.worksheet = worksheet;\r\n this.mergedCells = [];\r\n this.mergedRanges = []\r\n }\r\n updateMergedRanges(excelCell, rowIndex, cellIndex, helpers) {\r\n if (helpers._isHeaderCell(rowIndex, cellIndex) && !this.isCellInMergedRanges(rowIndex, cellIndex)) {\r\n var {\r\n rowspan: rowspan,\r\n colspan: colspan\r\n } = this.dataProvider.getCellMerging(rowIndex, cellIndex);\r\n var isMasterCellOfMergedRange = colspan || rowspan;\r\n if (isMasterCellOfMergedRange) {\r\n var allowToMergeRange = helpers._allowToMergeRange(rowIndex, cellIndex, rowspan, colspan);\r\n this.updateMergedCells(excelCell, rowIndex, cellIndex, rowspan, colspan);\r\n if (allowToMergeRange) {\r\n var shouldReduceInfoRange = helpers._isInfoCell(rowIndex, cellIndex) && helpers._allowExportRowFieldHeaders();\r\n this.mergedRanges.push({\r\n masterCell: excelCell,\r\n rowspan: rowspan - (shouldReduceInfoRange && rowspan > 0),\r\n colspan: colspan\r\n })\r\n }\r\n }\r\n }\r\n }\r\n isCellInMergedRanges(rowIndex, cellIndex) {\r\n return this.mergedCells[rowIndex] && this.mergedCells[rowIndex][cellIndex]\r\n }\r\n findMergedCellInfo(rowIndex, cellIndex, isHeaderCell) {\r\n if (isHeaderCell && this.isCellInMergedRanges(rowIndex, cellIndex)) {\r\n return this.mergedCells[rowIndex][cellIndex]\r\n }\r\n }\r\n updateMergedCells(excelCell, rowIndex, cellIndex, rowspan, colspan) {\r\n for (var i = rowIndex; i <= rowIndex + rowspan; i++) {\r\n for (var j = cellIndex; j <= cellIndex + colspan; j++) {\r\n if (!this.mergedCells[i]) {\r\n this.mergedCells[i] = []\r\n }\r\n this.mergedCells[i][j] = {\r\n masterCell: excelCell\r\n }\r\n }\r\n }\r\n }\r\n addMergedRange(masterCell, rowspan, colspan) {\r\n this.mergedRanges.push({\r\n masterCell: masterCell,\r\n rowspan: rowspan,\r\n colspan: colspan\r\n })\r\n }\r\n applyMergedRages() {\r\n this.mergedRanges.forEach(range => {\r\n var startRowIndex = range.masterCell.fullAddress.row;\r\n var startColumnIndex = range.masterCell.fullAddress.col;\r\n var endRowIndex = startRowIndex + range.rowspan;\r\n var endColumnIndex = startColumnIndex + range.colspan;\r\n this.worksheet.mergeCells(startRowIndex, startColumnIndex, endRowIndex, endColumnIndex)\r\n })\r\n }\r\n}\r\nexport {\r\n MergedRangesManager\r\n};\r\n","/**\r\n * DevExtreme (esm/exporter/exceljs/export_data_grid.js)\r\n * Version: 22.2.14\r\n * Build date: Mon Oct 28 2024\r\n *\r\n * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined,\r\n isObject,\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n Export\r\n} from \"./export\";\r\nimport {\r\n MergedRangesManager\r\n} from \"./export_merged_ranges_manager\";\r\nclass DataGridHelpers {\r\n constructor(component, dataProvider, worksheet, options) {\r\n this.component = component;\r\n this.dataProvider = dataProvider;\r\n this.worksheet = worksheet;\r\n this.mergedRangesManager = new MergedRangesManager(dataProvider, worksheet);\r\n this.topLeftCell = options.topLeftCell;\r\n this.customizeCell = options.customizeCell;\r\n this.autoFilterEnabled = options.autoFilterEnabled\r\n }\r\n _getFirstColumnIndex() {\r\n return this.topLeftCell.column\r\n }\r\n _getFieldHeaderRowsCount() {\r\n return 0\r\n }\r\n _trySetAutoFilter(cellRange) {\r\n if (this.autoFilterEnabled) {\r\n if (!isDefined(this.worksheet.autoFilter) && this.dataProvider.getRowsCount() > 0) {\r\n var dataRange = {\r\n from: {\r\n row: cellRange.from.row + this.dataProvider.getHeaderRowCount() - 1,\r\n column: cellRange.from.column\r\n },\r\n to: cellRange.to\r\n };\r\n this.worksheet.autoFilter = dataRange\r\n }\r\n }\r\n }\r\n _trySetFont(excelCell, bold) {\r\n if (isDefined(bold)) {\r\n excelCell.font = excelCell.font || {};\r\n excelCell.font.bold = bold\r\n }\r\n }\r\n _getWorksheetFrozenState(cellRange) {\r\n return {\r\n state: \"frozen\",\r\n ySplit: cellRange.from.row + this.dataProvider.getFrozenArea().y - 1\r\n }\r\n }\r\n _trySetOutlineLevel(row, rowIndex) {\r\n if (rowIndex >= this.dataProvider.getHeaderRowCount()) {\r\n row.outlineLevel = this.dataProvider.getGroupLevel(rowIndex)\r\n }\r\n }\r\n _isFrozenZone(dataProvider) {\r\n return dataProvider.getHeaderRowCount() > 0\r\n }\r\n _isHeaderCell(rowIndex) {\r\n return rowIndex < this.dataProvider.getHeaderRowCount()\r\n }\r\n _isInfoCell() {\r\n return false\r\n }\r\n _allowToMergeRange() {\r\n return true\r\n }\r\n _getAllFieldHeaders() {\r\n return []\r\n }\r\n _customizeCell(excelCell, gridCell) {\r\n if (isFunction(this.customizeCell)) {\r\n this.customizeCell({\r\n excelCell: excelCell,\r\n gridCell: gridCell\r\n })\r\n }\r\n }\r\n _exportFieldHeaders() {}\r\n _exportAllFieldHeaders() {}\r\n _isRowFieldHeadersRow() {}\r\n}\r\n\r\nfunction exportDataGrid(options) {\r\n return Export.export(_getFullOptions(options), DataGridHelpers, _getLoadPanelTargetElement, _getLoadPanelContainer)\r\n}\r\n\r\nfunction _getFullOptions(options) {\r\n if (!(isDefined(options) && isObject(options))) {\r\n throw Error('The \"exportDataGrid\" method requires a configuration object.')\r\n }\r\n if (!(isDefined(options.component) && isObject(options.component) && \"dxDataGrid\" === options.component.NAME)) {\r\n throw Error('The \"component\" field must contain a DataGrid instance.')\r\n }\r\n if (!isDefined(options.selectedRowsOnly)) {\r\n options.selectedRowsOnly = false\r\n }\r\n if (!isDefined(options.autoFilterEnabled)) {\r\n options.autoFilterEnabled = false\r\n }\r\n return Export.getFullOptions(options)\r\n}\r\n\r\nfunction _getLoadPanelTargetElement(component) {\r\n return component.getView(\"rowsView\").element()\r\n}\r\n\r\nfunction _getLoadPanelContainer(component) {\r\n return component.getView(\"rowsView\").element().parent()\r\n}\r\nexport {\r\n exportDataGrid\r\n};\r\n","import React from \"react\";\r\nimport ButtonWrapper from \"../ButtonWrapper\";\r\nimport { ctheme } from \"../../../theme/theme\";\r\n\r\nconst ColorList = {\r\n grape: {\r\n bgcolor: ctheme.colors.grape,\r\n \"&:hover\": {\r\n bgcolor: ctheme.colors.darkGrape,\r\n },\r\n },\r\n teal: {\r\n bgcolor: ctheme.colors.teal,\r\n \"&:hover\": {\r\n bgcolor: ctheme.colors.darkTeal,\r\n },\r\n },\r\n aiburn: {\r\n bgcolor: ctheme.colors.aiburn,\r\n \"&:hover\": {\r\n bgcolor: ctheme.colors.lightAiburn,\r\n },\r\n },\r\n pink: {\r\n bgcolor: ctheme.colors.lightPink,\r\n \"&:hover\": {\r\n bgcolor: ctheme.colors.pink,\r\n },\r\n },\r\n brown: {\r\n bgcolor: ctheme.colors.lightBrown,\r\n \"&:hover\": {\r\n bgcolor: ctheme.colors.brown,\r\n },\r\n },\r\n purple: {\r\n bgcolor: ctheme.colors.lightPurple,\r\n \"&:hover\": {\r\n bgcolor: ctheme.colors.purple,\r\n },\r\n },\r\n red: {\r\n bgcolor: ctheme.colors.lightRed,\r\n \"&:hover\": {\r\n bgcolor: ctheme.colors.red,\r\n },\r\n },\r\n green: {\r\n bgcolor: ctheme.colors.lightGreen,\r\n \"&:hover\": {\r\n bgcolor: ctheme.colors.green,\r\n },\r\n },\r\n};\r\n\r\nexport default function CustomColoredButton({\r\n startIcon,\r\n onClick,\r\n color,\r\n disabled,\r\n children,\r\n sx,\r\n ...rest\r\n}) {\r\n const buttonColor = ColorList[color] || {};\r\n\r\n return (\r\n <ButtonWrapper\r\n startIcon={startIcon}\r\n onClick={onClick}\r\n sx={{\r\n ...buttonColor,\r\n ...sx,\r\n }}\r\n disabled={disabled}\r\n {...rest}\r\n >\r\n {children}\r\n </ButtonWrapper>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport saveAs from \"file-saver\";\r\nimport { exportDataGrid } from \"devextreme/excel_exporter\";\r\nimport { Workbook } from \"exceljs\";\r\nimport dayjs from \"dayjs\";\r\nimport CustomColoredButton from \"./custom/CustomColoredButton\";\r\n\r\nexport default function ExportButton({ pageConfig, gridRef }) {\r\n const onExporting = async (gridRef) => {\r\n const workbook = new Workbook();\r\n const worksheet = workbook.addWorksheet(\"Sayfa 1\");\r\n\r\n let dateString = dayjs(Date.now()).format(\"DD.MM.YYYY\");\r\n\r\n const ExcelFileName = pageConfig?.title\r\n ? pageConfig?.title + \" \" + dateString\r\n : dateString;\r\n exportDataGrid({\r\n component: gridRef.current.instance,\r\n worksheet: worksheet,\r\n autoFilterEnabled: true,\r\n customizeCell: function (options) {\r\n options.excelCell.font = { name: \"Arial\", size: 12 };\r\n options.excelCell.alignment = { horizontal: \"left\" };\r\n },\r\n }).then(function () {\r\n workbook.xlsx.writeBuffer().then(function (buffer) {\r\n saveAs(\r\n new Blob([buffer], { type: \"application/octet-stream\" }),\r\n `${ExcelFileName}.xlsx`\r\n );\r\n });\r\n });\r\n gridRef.current.cancel = true;\r\n };\r\n\r\n return (\r\n <CustomColoredButton\r\n sx={{\r\n p: \"1px 7px\",\r\n fontSize: \"10pt\",\r\n textTransform: \"unset\",\r\n }}\r\n color=\"teal\"\r\n startIcon={<i className=\"dx-icon dx-icon-xlsxfile\"></i>}\r\n onClick={() => {\r\n onExporting(gridRef);\r\n }}\r\n >\r\n Excel'e aktar\r\n </CustomColoredButton>\r\n );\r\n}\r\n","import { Button } from \"@mui/material\";\r\nimport React from \"react\";\r\n\r\nexport default function SmallButton({\r\n children,\r\n startIcon,\r\n onClick,\r\n color,\r\n ...rest\r\n}) {\r\n return (\r\n <Button\r\n sx={{\r\n p: \"1px 7px\",\r\n fontSize: \"10pt\",\r\n marginY: 0.2,\r\n marginX: 0.2,\r\n }}\r\n color={color}\r\n variant=\"contained\"\r\n startIcon={startIcon}\r\n size=\"small\"\r\n onClick={onClick}\r\n {...rest}\r\n >\r\n {children}\r\n </Button>\r\n );\r\n}\r\n","function getTeklifGoruntule(ekranKodu, yetkiler) {\r\n const ekran = yetkiler?.find((item) => item?.ekranKodu === ekranKodu);\r\n return ekran?.teklifGoruntule;\r\n}\r\n\r\nexport default getTeklifGoruntule;\r\n","const HEADER_COLUMN_BUTTONS = {\r\n CLEAR_BUTTON: { icon: \"clearformat\", hint: \"Sütun sırasını varsayılan yap\" },\r\n};\r\n\r\nexport { HEADER_COLUMN_BUTTONS };\r\n","import React, { useRef } from \"react\";\r\nimport { Button } from \"devextreme-react/button\";\r\nimport { HEADER_COLUMN_BUTTONS } from \"../../../common/gridconstants\";\r\nimport AlertDialog from \"../../dialogs/AlertDialog\";\r\n\r\nexport default function GridClearButton({ gridRef }) {\r\n const alertDialogRef = useRef();\r\n\r\n return (\r\n <div style={{ display: \"inline-block\" }}>\r\n <Button\r\n height={\"25px\"}\r\n icon={HEADER_COLUMN_BUTTONS.CLEAR_BUTTON.icon}\r\n hint={HEADER_COLUMN_BUTTONS.CLEAR_BUTTON.hint}\r\n onClick={() => {\r\n alertDialogRef?.current?.openRecord();\r\n }}\r\n style={{ backgroundColor: \"transparent\" }}\r\n ></Button>\r\n <AlertDialog\r\n ref={alertDialogRef}\r\n onayBtnClick={() => gridRef.current.instance.state(null)}\r\n dialogTitle=\"\"\r\n contentText=\"Sütun değişiklikleri varsayılan olarak değiştirilecek ve kayıt edilecek. Devam etmek istediğinize emin misiniz?\"\r\n ></AlertDialog>\r\n </div>\r\n );\r\n}\r\n","import { useContext } from \"react\";\r\nimport { HttpAuthorized } from \"../common/common\";\r\nimport { apiUrl } from \"../common/constants\";\r\n// import isEqual from \"lodash.isequal\";\r\nimport { AppContext } from \"../common/AppContext\";\r\n\r\nfunction useGridState(entity, listGridRef, id) {\r\n const context = useContext(AppContext);\r\n\r\n function deepEqual(obj1, obj2) {\r\n if (obj1 === obj2) {\r\n return true;\r\n }\r\n\r\n if (\r\n typeof obj1 !== \"object\" ||\r\n obj1 === null ||\r\n typeof obj2 !== \"object\" ||\r\n obj2 === null\r\n ) {\r\n return false;\r\n }\r\n\r\n const keys1 = Object.keys(obj1);\r\n const keys2 = Object.keys(obj2);\r\n\r\n if (keys1.length !== keys2.length) {\r\n return false;\r\n }\r\n\r\n for (let key of keys1) {\r\n if (!keys2.includes(key) || !deepEqual(obj1[key], obj2[key])) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n const setUserParamsWithRef = (params) => {\r\n context.userParamsRef.current = params;\r\n };\r\n\r\n async function getGridStates() {\r\n if (context.userParamsRef?.current) {\r\n return context.userParamsRef?.current?.gridStates?.[id];\r\n } else {\r\n let res = await HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}User/GetUserParams`,\r\n });\r\n\r\n if (res.data.success) {\r\n if (res.data.data) {\r\n let params = JSON.parse(res.data.data);\r\n setUserParamsWithRef(params);\r\n return params?.gridStates?.[id];\r\n }\r\n return null;\r\n }\r\n }\r\n }\r\n\r\n async function setGridStates(state) {\r\n let updatedUserParams;\r\n if (context.userParamsRef?.current) {\r\n updatedUserParams = {\r\n ...context.userParamsRef?.current,\r\n gridStates: {\r\n ...context.userParamsRef?.current?.gridStates,\r\n [id]: state,\r\n },\r\n };\r\n } else {\r\n let res = await HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}User/GetUserParams`,\r\n });\r\n\r\n const params = res.data.data ? JSON.parse(res.data.data) : {};\r\n\r\n updatedUserParams = {\r\n ...params,\r\n gridStates: { ...params?.gridStates, [id]: state },\r\n };\r\n }\r\n setUserParamsWithRef(updatedUserParams);\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}User/UpdateGridState`,\r\n data: {\r\n gridId: id,\r\n gridState: JSON.stringify(state),\r\n },\r\n })\r\n .then((res) => {})\r\n .catch((error) => {});\r\n }\r\n\r\n async function loadState() {\r\n const state = await getGridStates();\r\n if (!(state == null || state === undefined)) {\r\n let firstSortColumns = [];\r\n\r\n for (let i = 0; i < entity.length; i++) {\r\n const element = entity[i];\r\n if (element.firstSort)\r\n firstSortColumns.push({\r\n dataField: element.dataField,\r\n firstSort: element.firstSort,\r\n });\r\n }\r\n for (let i = 0; i < state.columns.length; i++) {\r\n let column = state.columns[i];\r\n let sortIndex;\r\n let fsColumn = firstSortColumns.find((v, i) => {\r\n sortIndex = i;\r\n return v.dataField === column.dataField;\r\n });\r\n if (fsColumn) {\r\n column.sortOrder = fsColumn.firstSort;\r\n column.sortIndex = sortIndex;\r\n } else {\r\n column.sortOrder = null;\r\n delete column.sortIndex;\r\n }\r\n\r\n if (column.name === \"buttons\" || column.type === \"buttons\") {\r\n column.width =\r\n listGridRef.current.instance.columnOption(\"buttons\").width;\r\n }\r\n }\r\n }\r\n return state || null;\r\n }\r\n\r\n async function saveState() {\r\n let excludeSelection = true;\r\n const state = { ...listGridRef.current.instance.state() };\r\n\r\n const oldState = await loadState(entity, listGridRef, id);\r\n\r\n if (state) {\r\n for (let i = 0; i < state.columns.length; i++) {\r\n let column = state.columns[i];\r\n column.filterValue = null;\r\n }\r\n if (excludeSelection && Array.isArray(state?.selectedRowKeys))\r\n delete state.selectedRowKeys;\r\n\r\n state.pageIndex = 0;\r\n }\r\n\r\n // if (!isEqual(oldState, state)) {\r\n if (!deepEqual(oldState, state)) {\r\n let stateChanged = false;\r\n\r\n if (oldState == null) {\r\n stateChanged = true;\r\n } else {\r\n oldState.columns.forEach((oldCol) => {\r\n let currCol = state.columns.find((a) =>\r\n oldCol.dataField\r\n ? a.dataField === oldCol.dataField\r\n : a.name === oldCol.name\r\n );\r\n if (currCol === null || currCol === undefined) {\r\n stateChanged = true;\r\n }\r\n });\r\n state.columns.forEach((currCol) => {\r\n let oldCol = oldState.columns.find((a) =>\r\n currCol.dataField\r\n ? a.dataField === currCol.dataField\r\n : a.name === currCol.name\r\n );\r\n if (!(oldCol == null || oldCol === undefined)) {\r\n if (\r\n oldCol.visibleIndex !== currCol.visibleIndex ||\r\n oldCol.width !== currCol.width ||\r\n oldCol.visible !== currCol.visible\r\n ) {\r\n stateChanged = true;\r\n }\r\n } else {\r\n stateChanged = true;\r\n }\r\n });\r\n }\r\n if (stateChanged) setGridStates(state);\r\n }\r\n }\r\n\r\n return {\r\n saveState,\r\n loadState,\r\n };\r\n}\r\n\r\nexport default useGridState;\r\n","import React, { useRef } from \"react\";\r\nimport DataGrid, {\r\n Column,\r\n Lookup,\r\n Scrolling,\r\n Paging,\r\n Editing,\r\n Pager,\r\n Button,\r\n Export,\r\n TotalItem,\r\n Summary,\r\n StateStoring,\r\n} from \"devextreme-react/data-grid\";\r\nimport { Grid, Paper, Stack } from \"@mui/material\";\r\nimport { Add, Close, Save } from \"@mui/icons-material\";\r\nimport \"../../css/PageGrid.css\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport { printToast } from \"../../common/constant-functions/printToast\";\r\nimport {\r\n APP_BAR_HEIGHT,\r\n FILTER_HEIGHT,\r\n TAB_HEIGHT,\r\n YETKI_GRUBU_TIPI,\r\n apiUrl,\r\n} from \"../../common/constants\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport { findPrimaryKey } from \"../../common/constant-functions/findPrimaryKey\";\r\nimport CustomStore from \"devextreme/data/custom_store\";\r\nimport { loadingVisible } from \"../../common/constant-functions/loadingVisible\";\r\nimport ExportButton from \"../buttons/ExportButton\";\r\nimport SmallButton from \"../buttons/SmallButton\";\r\nimport getTeklifGoruntule from \"../../common/constant-functions/getTeklifGoruntule\";\r\nimport GridClearButton from \"../buttons/custom/GridClearButton\";\r\nimport useGridState from \"../../hooks/use-grid-state\";\r\n\r\nexport default function EditablePageGridWithList({\r\n ekranKodu,\r\n listGridRef,\r\n PageConfig,\r\n filterRef,\r\n isModalCreatable = false,\r\n columnBtnVisible = true,\r\n CustomColumnButton = [],\r\n height,\r\n recordRef,\r\n isRowCreatable = false,\r\n editBtnVisible = false,\r\n hasTab = false,\r\n gridId,\r\n CustomHeaderButtons = [],\r\n}) {\r\n const id = gridId + \"_PageGrid\";\r\n const context = React.useContext(AppContext);\r\n const yetki =\r\n context?.user?.yetkiler.find((x) => x.ekranKodu === ekranKodu) ?? {};\r\n\r\n const { saveState, loadState } = useGridState(\r\n PageConfig.type,\r\n listGridRef,\r\n id\r\n );\r\n\r\n const changesRef = useRef([]);\r\n\r\n const store = new CustomStore({\r\n key: findPrimaryKey(PageConfig.type),\r\n load(loadOptions) {\r\n let gridSort;\r\n if (loadOptions.sort) {\r\n gridSort = loadOptions.sort.map((i) => {\r\n return {\r\n propertyName: i.selector,\r\n order: i.desc ? \"desc\" : \"asc\",\r\n };\r\n });\r\n }\r\n return HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${PageConfig.listRoute}`,\r\n data: {\r\n Criteria: filterRef?.current?.filterData ?? {},\r\n GridCriterias: {\r\n sortModel: loadOptions.sort ? gridSort : null,\r\n filterModel: [],\r\n },\r\n Pagination: loadOptions.isLoadingAll\r\n ? {\r\n rowOffset: 0,\r\n maxRowsPerPage: listGridRef.current.instance.totalCount(),\r\n }\r\n : {\r\n rowOffset: loadOptions.skip,\r\n maxRowsPerPage: loadOptions.take,\r\n },\r\n },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n\r\n return {\r\n data: res.data.data.list,\r\n totalCount: res.data.data.pagination.totalRowCount,\r\n };\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n return {\r\n data: [],\r\n totalCount: 0,\r\n };\r\n });\r\n },\r\n });\r\n\r\n const onChangesChange = (e) => {\r\n changesRef.current = e;\r\n };\r\n\r\n async function insertOrUpdate(values) {\r\n loadingVisible(true);\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${PageConfig.bulkUpdateRoute}`,\r\n data: values,\r\n })\r\n .then(async (res) => {\r\n printToast(res.data);\r\n changesRef.current = [];\r\n await listGridRef.current.instance.refresh();\r\n await listGridRef.current.instance.cancelEditData();\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n })\r\n .finally(() => loadingVisible(false));\r\n }\r\n\r\n return (\r\n <Paper sx={{ backgroundColor: \"transparent\" }}>\r\n <Stack\r\n direction=\"row\"\r\n sx={{\r\n mb: \"3px\",\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n alignItems: \"center\",\r\n }}\r\n spacing={1}\r\n >\r\n <Grid>\r\n {isModalCreatable &&\r\n context?.user?.yetkiler.find((x) => x.ekranKodu === ekranKodu)\r\n ?.kaydet && (\r\n <SmallButton\r\n startIcon={<Add />}\r\n onClick={() => {\r\n recordRef?.current?.openRecord(null);\r\n }}\r\n >\r\n Ekle\r\n </SmallButton>\r\n )}\r\n\r\n {isRowCreatable && yetki?.kaydet && (\r\n <SmallButton\r\n startIcon={<Add />}\r\n onClick={() => {\r\n listGridRef.current.instance.addRow();\r\n }}\r\n >\r\n Satır Ekle\r\n </SmallButton>\r\n )}\r\n {yetki?.kaydet && (\r\n <SmallButton\r\n color=\"success\"\r\n startIcon={<Save />}\r\n onClick={async () => {\r\n // const updateList = changesRef.current\r\n // .filter((change) => change.type === \"update\")\r\n // .map(({ key, data }) => ({ id: key, ...data }));\r\n\r\n const updateList = changesRef.current\r\n .filter((change) => change.type === \"update\")\r\n .map(({ key, data }) => {\r\n if (typeof key === \"number\") {\r\n return { id: key, ...data };\r\n } //else if (typeof key === \"object\") {\r\n return { ...key, ...data };\r\n //}\r\n });\r\n\r\n const insertList = changesRef.current\r\n .filter((change) => change.type === \"insert\")\r\n .map(({ data }) => ({ ...data }));\r\n // const removeList = changesRef.current\r\n // .filter((change) => change.type === \"remove\")\r\n // .map(({ key }) => key);\r\n\r\n // console.log(\"updateList\", JSON.stringify(updateList));\r\n // console.log(\"insertList\", JSON.stringify(insertList));\r\n // console.log(\"removeList\", JSON.stringify(removeList));\r\n\r\n await insertOrUpdate([...insertList, ...updateList]);\r\n }}\r\n >\r\n Kaydet\r\n </SmallButton>\r\n )}\r\n\r\n {yetki?.kaydet && (\r\n <SmallButton\r\n color=\"warning\"\r\n startIcon={<Close />}\r\n onClick={() => {\r\n listGridRef.current.instance.cancelEditData();\r\n }}\r\n >\r\n Vazgeç\r\n </SmallButton>\r\n )}\r\n\r\n <ExportButton\r\n pageConfig={PageConfig}\r\n gridRef={listGridRef}\r\n ></ExportButton>\r\n\r\n {CustomHeaderButtons}\r\n </Grid>\r\n <Grid>\r\n <GridClearButton gridRef={listGridRef}></GridClearButton>\r\n </Grid>\r\n </Stack>\r\n\r\n <Grid variant=\"outlined\">\r\n <DataGrid\r\n id={id}\r\n height={\r\n height\r\n ? height\r\n : hasTab\r\n ? `calc(100vh - ${APP_BAR_HEIGHT} - ${FILTER_HEIGHT} - ${TAB_HEIGHT}`\r\n : `calc(100vh - ${APP_BAR_HEIGHT} - ${FILTER_HEIGHT} )`\r\n }\r\n dataSource={store}\r\n showBorders={true}\r\n columnAutoWidth={true}\r\n remoteOperations={{\r\n paging: true,\r\n filtering: true,\r\n sorting: true,\r\n grouping: true,\r\n summary: false,\r\n }}\r\n ref={listGridRef}\r\n onToolbarPreparing={(e) => {\r\n e.toolbarOptions.visible = false;\r\n }}\r\n // onSaving={(e) => {\r\n // console.log(\"grid save: \", e);\r\n // console.log(\"changes: \", e.changes);\r\n // }}\r\n allowColumnReordering={true}\r\n allowColumnResizing={true}\r\n >\r\n <Export enabled={true} />\r\n {/* <Scrolling mode=\"standard\" /> */}\r\n <Scrolling columnRenderingMode=\"virtual\" />\r\n <Editing\r\n mode=\"batch\"\r\n allowUpdating={true}\r\n allowAdding={true}\r\n // allowDeleting={true}\r\n startEditAction=\"click\"\r\n autoSaveOnEndEdit={true}\r\n selectTextOnEditStart={true}\r\n onChangesChange={onChangesChange}\r\n />\r\n <StateStoring\r\n enabled={true}\r\n type=\"custom\"\r\n storageKey={id}\r\n customLoad={loadState}\r\n customSave={saveState}\r\n />\r\n\r\n <Column\r\n type=\"buttons\"\r\n visibleIndex={0}\r\n fixed={true}\r\n fixedPosition={0}\r\n alignment={\"center\"}\r\n visible={columnBtnVisible}\r\n >\r\n <Button\r\n hint={\"düzenle\"}\r\n icon={\"edit\"}\r\n onClick={(e) => {\r\n recordRef?.current?.openRecord(e.row.key);\r\n }}\r\n visible={editBtnVisible}\r\n ></Button>\r\n {CustomColumnButton}\r\n </Column>\r\n\r\n {PageConfig.type\r\n .filter((type) => {\r\n let gridVisible = type.visible?.includes(\"grid\");\r\n if (gridVisible) {\r\n if (type.visibleConditions) {\r\n let innerVisible = true;\r\n for (let i = 0; i < type.visibleConditions?.length; i++) {\r\n if (type.visibleConditions[i].isTeklifGoruntule) {\r\n innerVisible = getTeklifGoruntule(\r\n ekranKodu,\r\n context.user.yetkiler\r\n );\r\n if (!innerVisible) break;\r\n }\r\n\r\n if (type.visibleConditions[i].isHarmonyAdmin) {\r\n innerVisible =\r\n context.user.yetkiGrubuTipi ===\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value;\r\n if (!innerVisible) break;\r\n }\r\n\r\n // if (type.visibleConditions[i].gizlenecekYetkiGrubuTipi) {\r\n // innerVisible =\r\n // context.user.yetkiGrubuTipi !==\r\n // type.visibleConditions[i].gizlenecekYetkiGrubuTipi;\r\n // if (!innerVisible) break;\r\n // }\r\n\r\n if (type.visibleConditions[i].gizlenecekYetkiGrubuTipi) {\r\n if (\r\n Array.isArray(\r\n type.visibleConditions[i].gizlenecekYetkiGrubuTipi\r\n )\r\n ) {\r\n innerVisible = !type.visibleConditions[\r\n i\r\n ].gizlenecekYetkiGrubuTipi.includes(\r\n context.user.yetkiGrubuTipi\r\n );\r\n } else {\r\n innerVisible =\r\n context.user.yetkiGrubuTipi !==\r\n type.visibleConditions[i].gizlenecekYetkiGrubuTipi;\r\n }\r\n if (!innerVisible) break;\r\n }\r\n }\r\n\r\n /* type.visibleConditions.map((x) => {\r\n if (x.isHarmonyAdmin) {\r\n innerVisible =\r\n context.user.yetkiGrubuTipi ===\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value;\r\n if (!innerVisible) exit;\r\n }\r\n }); */\r\n\r\n return innerVisible;\r\n } else {\r\n return true;\r\n }\r\n } else return false;\r\n })\r\n .map((i, index) => {\r\n return (\r\n <Column\r\n key={i.name}\r\n name={i.name}\r\n dataType={i.dataType}\r\n caption={i.label}\r\n dataField={i.dataField}\r\n visibleIndex={index}\r\n alignment={\r\n i.dataType === \"number\"\r\n ? \"right\"\r\n : i.dataType === \"boolean\"\r\n ? \"center\"\r\n : \"left\"\r\n }\r\n defaultSortOrder={i.firstSort ? i.firstSort : null}\r\n {...(i.defaultSortIndex && {\r\n defaultSortIndex: i.defaultSortIndex,\r\n })}\r\n width={i.width ? i.width : null}\r\n minWidth={i.minWidth ? i.minWidth : 50}\r\n format={i.format ? i.format : null}\r\n visible={i.pageGridHidden ? false : true}\r\n {...(i.cellRender && { cellRender: i.cellRender })}\r\n {...(i.customizeText && { customizeText: i.customizeText })} //todo excel e aktarırken muinin bileşenleri aktarılmadığı için cell render kullanılan fieldlara bu alanın da eklenmesi gerekir\r\n allowEditing={i?.allowEditing ?? false}\r\n >\r\n {i.dataType === \"select\" ? (\r\n <Lookup\r\n key={i.dataField + \"_lookup\"}\r\n dataSource={i.selectItems}\r\n displayExpr=\"Text\"\r\n valueExpr=\"Value\"\r\n ></Lookup>\r\n ) : null}\r\n </Column>\r\n );\r\n })}\r\n\r\n {PageConfig.type.filter((type) => type.visible?.includes(\"summary\"))\r\n .length > 0 && (\r\n <Summary>\r\n {PageConfig.type\r\n .filter((type) => type.visible?.includes(\"summary\"))\r\n .map((i, index) => {\r\n return (\r\n <TotalItem\r\n count={store.totalCount}\r\n key={index}\r\n column={i.column}\r\n summaryType={i.summaryType}\r\n alignment={\"right\"}\r\n customizeText={i.customizeText}\r\n // showInColumn={i.showInColumn}\r\n valueFormat={i.valueFormat}\r\n displayFormat={i.displayFormat}\r\n />\r\n );\r\n })}\r\n </Summary>\r\n )}\r\n\r\n <Paging defaultPageSize={12} />\r\n <Pager\r\n visible={true}\r\n showPageSizeSelector={true}\r\n showInfo={true}\r\n allowedPageSizes={[15, 25, 50]}\r\n displayMode=\"full\"\r\n />\r\n </DataGrid>\r\n </Grid>\r\n </Paper>\r\n );\r\n}\r\n","// Source from https://github.com/alitaheri/normalize-scroll-left\nlet cachedType;\n\n/**\n * Based on the jquery plugin https://github.com/othree/jquery.rtl-scroll-type\n *\n * Types of scrollLeft, assuming scrollWidth=100 and direction is rtl.\n *\n * Type | <- Most Left | Most Right -> | Initial\n * ---------------- | ------------ | ------------- | -------\n * default | 0 | 100 | 100\n * negative (spec*) | -100 | 0 | 0\n * reverse | 100 | 0 | 0\n *\n * Edge 85: default\n * Safari 14: negative\n * Chrome 85: negative\n * Firefox 81: negative\n * IE11: reverse\n *\n * spec* https://drafts.csswg.org/cssom-view/#dom-window-scroll\n */\nexport function detectScrollType() {\n if (cachedType) {\n return cachedType;\n }\n const dummy = document.createElement('div');\n const container = document.createElement('div');\n container.style.width = '10px';\n container.style.height = '1px';\n dummy.appendChild(container);\n dummy.dir = 'rtl';\n dummy.style.fontSize = '14px';\n dummy.style.width = '4px';\n dummy.style.height = '1px';\n dummy.style.position = 'absolute';\n dummy.style.top = '-1000px';\n dummy.style.overflow = 'scroll';\n document.body.appendChild(dummy);\n cachedType = 'reverse';\n if (dummy.scrollLeft > 0) {\n cachedType = 'default';\n } else {\n dummy.scrollLeft = 1;\n if (dummy.scrollLeft === 0) {\n cachedType = 'negative';\n }\n }\n document.body.removeChild(dummy);\n return cachedType;\n}\n\n// Based on https://stackoverflow.com/a/24394376\nexport function getNormalizedScrollLeft(element, direction) {\n const scrollLeft = element.scrollLeft;\n\n // Perform the calculations only when direction is rtl to avoid messing up the ltr behavior\n if (direction !== 'rtl') {\n return scrollLeft;\n }\n const type = detectScrollType();\n switch (type) {\n case 'negative':\n return element.scrollWidth - element.clientWidth + scrollLeft;\n case 'reverse':\n return element.scrollWidth - element.clientWidth - scrollLeft;\n default:\n return scrollLeft;\n }\n}","function easeInOutSin(time) {\n return (1 + Math.sin(Math.PI * time - Math.PI / 2)) / 2;\n}\nexport default function animate(property, element, to, options = {}, cb = () => {}) {\n const {\n ease = easeInOutSin,\n duration = 300 // standard\n } = options;\n let start = null;\n const from = element[property];\n let cancelled = false;\n const cancel = () => {\n cancelled = true;\n };\n const step = timestamp => {\n if (cancelled) {\n cb(new Error('Animation cancelled'));\n return;\n }\n if (start === null) {\n start = timestamp;\n }\n const time = Math.min(1, (timestamp - start) / duration);\n element[property] = ease(time) * (to - from) + from;\n if (time >= 1) {\n requestAnimationFrame(() => {\n cb(null);\n });\n return;\n }\n requestAnimationFrame(step);\n };\n if (from === to) {\n cb(new Error('Element already at target position'));\n return cancel;\n }\n requestAnimationFrame(step);\n return cancel;\n}","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"onChange\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from '../utils/debounce';\nimport { ownerWindow, unstable_useEnhancedEffect as useEnhancedEffect } from '../utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst styles = {\n width: 99,\n height: 99,\n position: 'absolute',\n top: -9999,\n overflow: 'scroll'\n};\n\n/**\n * @ignore - internal component.\n * The component originates from https://github.com/STORIS/react-scrollbar-size.\n * It has been moved into the core in order to minimize the bundle size.\n */\nexport default function ScrollbarSize(props) {\n const {\n onChange\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const scrollbarHeight = React.useRef();\n const nodeRef = React.useRef(null);\n const setMeasurements = () => {\n scrollbarHeight.current = nodeRef.current.offsetHeight - nodeRef.current.clientHeight;\n };\n useEnhancedEffect(() => {\n const handleResize = debounce(() => {\n const prevHeight = scrollbarHeight.current;\n setMeasurements();\n if (prevHeight !== scrollbarHeight.current) {\n onChange(scrollbarHeight.current);\n }\n });\n const containerWindow = ownerWindow(nodeRef.current);\n containerWindow.addEventListener('resize', handleResize);\n return () => {\n handleResize.clear();\n containerWindow.removeEventListener('resize', handleResize);\n };\n }, [onChange]);\n React.useEffect(() => {\n setMeasurements();\n onChange(scrollbarHeight.current);\n }, [onChange]);\n return /*#__PURE__*/_jsx(\"div\", _extends({\n style: styles\n }, other, {\n ref: nodeRef\n }));\n}\nprocess.env.NODE_ENV !== \"production\" ? ScrollbarSize.propTypes = {\n onChange: PropTypes.func.isRequired\n} : void 0;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z\"\n}), 'KeyboardArrowLeft');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z\"\n}), 'KeyboardArrowRight');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTabScrollButtonUtilityClass(slot) {\n return generateUtilityClass('MuiTabScrollButton', slot);\n}\nconst tabScrollButtonClasses = generateUtilityClasses('MuiTabScrollButton', ['root', 'vertical', 'horizontal', 'disabled']);\nexport default tabScrollButtonClasses;","'use client';\n\n/* eslint-disable jsx-a11y/aria-role */\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"slots\", \"slotProps\", \"direction\", \"orientation\", \"disabled\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport KeyboardArrowLeft from '../internal/svg-icons/KeyboardArrowLeft';\nimport KeyboardArrowRight from '../internal/svg-icons/KeyboardArrowRight';\nimport ButtonBase from '../ButtonBase';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled from '../styles/styled';\nimport tabScrollButtonClasses, { getTabScrollButtonUtilityClass } from './tabScrollButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n orientation,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', orientation, disabled && 'disabled']\n };\n return composeClasses(slots, getTabScrollButtonUtilityClass, classes);\n};\nconst TabScrollButtonRoot = styled(ButtonBase, {\n name: 'MuiTabScrollButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.orientation && styles[ownerState.orientation]];\n }\n})(({\n ownerState\n}) => _extends({\n width: 40,\n flexShrink: 0,\n opacity: 0.8,\n [`&.${tabScrollButtonClasses.disabled}`]: {\n opacity: 0\n }\n}, ownerState.orientation === 'vertical' && {\n width: '100%',\n height: 40,\n '& svg': {\n transform: `rotate(${ownerState.isRtl ? -90 : 90}deg)`\n }\n}));\nconst TabScrollButton = /*#__PURE__*/React.forwardRef(function TabScrollButton(inProps, ref) {\n var _slots$StartScrollBut, _slots$EndScrollButto;\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiTabScrollButton'\n });\n const {\n className,\n slots = {},\n slotProps = {},\n direction\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const isRtl = useRtl();\n const ownerState = _extends({\n isRtl\n }, props);\n const classes = useUtilityClasses(ownerState);\n const StartButtonIcon = (_slots$StartScrollBut = slots.StartScrollButtonIcon) != null ? _slots$StartScrollBut : KeyboardArrowLeft;\n const EndButtonIcon = (_slots$EndScrollButto = slots.EndScrollButtonIcon) != null ? _slots$EndScrollButto : KeyboardArrowRight;\n const startButtonIconProps = useSlotProps({\n elementType: StartButtonIcon,\n externalSlotProps: slotProps.startScrollButtonIcon,\n additionalProps: {\n fontSize: 'small'\n },\n ownerState\n });\n const endButtonIconProps = useSlotProps({\n elementType: EndButtonIcon,\n externalSlotProps: slotProps.endScrollButtonIcon,\n additionalProps: {\n fontSize: 'small'\n },\n ownerState\n });\n return /*#__PURE__*/_jsx(TabScrollButtonRoot, _extends({\n component: \"div\",\n className: clsx(classes.root, className),\n ref: ref,\n role: null,\n ownerState: ownerState,\n tabIndex: null\n }, other, {\n children: direction === 'left' ? /*#__PURE__*/_jsx(StartButtonIcon, _extends({}, startButtonIconProps)) : /*#__PURE__*/_jsx(EndButtonIcon, _extends({}, endButtonIconProps))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabScrollButton.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The direction the button should indicate.\n */\n direction: PropTypes.oneOf(['left', 'right']).isRequired,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * The component orientation (layout flow direction).\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']).isRequired,\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n * @default {}\n */\n slotProps: PropTypes.shape({\n endScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n startScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n EndScrollButtonIcon: PropTypes.elementType,\n StartScrollButtonIcon: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default TabScrollButton;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTabsUtilityClass(slot) {\n return generateUtilityClass('MuiTabs', slot);\n}\nconst tabsClasses = generateUtilityClasses('MuiTabs', ['root', 'vertical', 'flexContainer', 'flexContainerVertical', 'centered', 'scroller', 'fixed', 'scrollableX', 'scrollableY', 'hideScrollbar', 'scrollButtons', 'scrollButtonsHideMobile', 'indicator']);\nexport default tabsClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"aria-label\", \"aria-labelledby\", \"action\", \"centered\", \"children\", \"className\", \"component\", \"allowScrollButtonsMobile\", \"indicatorColor\", \"onChange\", \"orientation\", \"ScrollButtonComponent\", \"scrollButtons\", \"selectionFollowsFocus\", \"slots\", \"slotProps\", \"TabIndicatorProps\", \"TabScrollButtonProps\", \"textColor\", \"value\", \"variant\", \"visibleScrollbar\"];\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport useTheme from '../styles/useTheme';\nimport debounce from '../utils/debounce';\nimport { getNormalizedScrollLeft, detectScrollType } from '../utils/scrollLeft';\nimport animate from '../internal/animate';\nimport ScrollbarSize from './ScrollbarSize';\nimport TabScrollButton from '../TabScrollButton';\nimport useEventCallback from '../utils/useEventCallback';\nimport tabsClasses, { getTabsUtilityClass } from './tabsClasses';\nimport ownerDocument from '../utils/ownerDocument';\nimport ownerWindow from '../utils/ownerWindow';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst nextItem = (list, item) => {\n if (list === item) {\n return list.firstChild;\n }\n if (item && item.nextElementSibling) {\n return item.nextElementSibling;\n }\n return list.firstChild;\n};\nconst previousItem = (list, item) => {\n if (list === item) {\n return list.lastChild;\n }\n if (item && item.previousElementSibling) {\n return item.previousElementSibling;\n }\n return list.lastChild;\n};\nconst moveFocus = (list, currentFocus, traversalFunction) => {\n let wrappedOnce = false;\n let nextFocus = traversalFunction(list, currentFocus);\n while (nextFocus) {\n // Prevent infinite loop.\n if (nextFocus === list.firstChild) {\n if (wrappedOnce) {\n return;\n }\n wrappedOnce = true;\n }\n\n // Same logic as useAutocomplete.js\n const nextFocusDisabled = nextFocus.disabled || nextFocus.getAttribute('aria-disabled') === 'true';\n if (!nextFocus.hasAttribute('tabindex') || nextFocusDisabled) {\n // Move to the next element.\n nextFocus = traversalFunction(list, nextFocus);\n } else {\n nextFocus.focus();\n return;\n }\n }\n};\nconst useUtilityClasses = ownerState => {\n const {\n vertical,\n fixed,\n hideScrollbar,\n scrollableX,\n scrollableY,\n centered,\n scrollButtonsHideMobile,\n classes\n } = ownerState;\n const slots = {\n root: ['root', vertical && 'vertical'],\n scroller: ['scroller', fixed && 'fixed', hideScrollbar && 'hideScrollbar', scrollableX && 'scrollableX', scrollableY && 'scrollableY'],\n flexContainer: ['flexContainer', vertical && 'flexContainerVertical', centered && 'centered'],\n indicator: ['indicator'],\n scrollButtons: ['scrollButtons', scrollButtonsHideMobile && 'scrollButtonsHideMobile'],\n scrollableX: [scrollableX && 'scrollableX'],\n hideScrollbar: [hideScrollbar && 'hideScrollbar']\n };\n return composeClasses(slots, getTabsUtilityClass, classes);\n};\nconst TabsRoot = styled('div', {\n name: 'MuiTabs',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${tabsClasses.scrollButtons}`]: styles.scrollButtons\n }, {\n [`& .${tabsClasses.scrollButtons}`]: ownerState.scrollButtonsHideMobile && styles.scrollButtonsHideMobile\n }, styles.root, ownerState.vertical && styles.vertical];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n overflow: 'hidden',\n minHeight: 48,\n // Add iOS momentum scrolling for iOS < 13.0\n WebkitOverflowScrolling: 'touch',\n display: 'flex'\n}, ownerState.vertical && {\n flexDirection: 'column'\n}, ownerState.scrollButtonsHideMobile && {\n [`& .${tabsClasses.scrollButtons}`]: {\n [theme.breakpoints.down('sm')]: {\n display: 'none'\n }\n }\n}));\nconst TabsScroller = styled('div', {\n name: 'MuiTabs',\n slot: 'Scroller',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.scroller, ownerState.fixed && styles.fixed, ownerState.hideScrollbar && styles.hideScrollbar, ownerState.scrollableX && styles.scrollableX, ownerState.scrollableY && styles.scrollableY];\n }\n})(({\n ownerState\n}) => _extends({\n position: 'relative',\n display: 'inline-block',\n flex: '1 1 auto',\n whiteSpace: 'nowrap'\n}, ownerState.fixed && {\n overflowX: 'hidden',\n width: '100%'\n}, ownerState.hideScrollbar && {\n // Hide dimensionless scrollbar on macOS\n scrollbarWidth: 'none',\n // Firefox\n '&::-webkit-scrollbar': {\n display: 'none' // Safari + Chrome\n }\n}, ownerState.scrollableX && {\n overflowX: 'auto',\n overflowY: 'hidden'\n}, ownerState.scrollableY && {\n overflowY: 'auto',\n overflowX: 'hidden'\n}));\nconst FlexContainer = styled('div', {\n name: 'MuiTabs',\n slot: 'FlexContainer',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.flexContainer, ownerState.vertical && styles.flexContainerVertical, ownerState.centered && styles.centered];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex'\n}, ownerState.vertical && {\n flexDirection: 'column'\n}, ownerState.centered && {\n justifyContent: 'center'\n}));\nconst TabsIndicator = styled('span', {\n name: 'MuiTabs',\n slot: 'Indicator',\n overridesResolver: (props, styles) => styles.indicator\n})(({\n ownerState,\n theme\n}) => _extends({\n position: 'absolute',\n height: 2,\n bottom: 0,\n width: '100%',\n transition: theme.transitions.create()\n}, ownerState.indicatorColor === 'primary' && {\n backgroundColor: (theme.vars || theme).palette.primary.main\n}, ownerState.indicatorColor === 'secondary' && {\n backgroundColor: (theme.vars || theme).palette.secondary.main\n}, ownerState.vertical && {\n height: '100%',\n width: 2,\n right: 0\n}));\nconst TabsScrollbarSize = styled(ScrollbarSize)({\n overflowX: 'auto',\n overflowY: 'hidden',\n // Hide dimensionless scrollbar on macOS\n scrollbarWidth: 'none',\n // Firefox\n '&::-webkit-scrollbar': {\n display: 'none' // Safari + Chrome\n }\n});\nconst defaultIndicatorStyle = {};\nlet warnedOnceTabPresent = false;\nconst Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiTabs'\n });\n const theme = useTheme();\n const isRtl = useRtl();\n const {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n action,\n centered = false,\n children: childrenProp,\n className,\n component = 'div',\n allowScrollButtonsMobile = false,\n indicatorColor = 'primary',\n onChange,\n orientation = 'horizontal',\n ScrollButtonComponent = TabScrollButton,\n scrollButtons = 'auto',\n selectionFollowsFocus,\n slots = {},\n slotProps = {},\n TabIndicatorProps = {},\n TabScrollButtonProps = {},\n textColor = 'primary',\n value,\n variant = 'standard',\n visibleScrollbar = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const scrollable = variant === 'scrollable';\n const vertical = orientation === 'vertical';\n const scrollStart = vertical ? 'scrollTop' : 'scrollLeft';\n const start = vertical ? 'top' : 'left';\n const end = vertical ? 'bottom' : 'right';\n const clientSize = vertical ? 'clientHeight' : 'clientWidth';\n const size = vertical ? 'height' : 'width';\n const ownerState = _extends({}, props, {\n component,\n allowScrollButtonsMobile,\n indicatorColor,\n orientation,\n vertical,\n scrollButtons,\n textColor,\n variant,\n visibleScrollbar,\n fixed: !scrollable,\n hideScrollbar: scrollable && !visibleScrollbar,\n scrollableX: scrollable && !vertical,\n scrollableY: scrollable && vertical,\n centered: centered && !scrollable,\n scrollButtonsHideMobile: !allowScrollButtonsMobile\n });\n const classes = useUtilityClasses(ownerState);\n const startScrollButtonIconProps = useSlotProps({\n elementType: slots.StartScrollButtonIcon,\n externalSlotProps: slotProps.startScrollButtonIcon,\n ownerState\n });\n const endScrollButtonIconProps = useSlotProps({\n elementType: slots.EndScrollButtonIcon,\n externalSlotProps: slotProps.endScrollButtonIcon,\n ownerState\n });\n if (process.env.NODE_ENV !== 'production') {\n if (centered && scrollable) {\n console.error('MUI: You can not use the `centered={true}` and `variant=\"scrollable\"` properties ' + 'at the same time on a `Tabs` component.');\n }\n }\n const [mounted, setMounted] = React.useState(false);\n const [indicatorStyle, setIndicatorStyle] = React.useState(defaultIndicatorStyle);\n const [displayStartScroll, setDisplayStartScroll] = React.useState(false);\n const [displayEndScroll, setDisplayEndScroll] = React.useState(false);\n const [updateScrollObserver, setUpdateScrollObserver] = React.useState(false);\n const [scrollerStyle, setScrollerStyle] = React.useState({\n overflow: 'hidden',\n scrollbarWidth: 0\n });\n const valueToIndex = new Map();\n const tabsRef = React.useRef(null);\n const tabListRef = React.useRef(null);\n const getTabsMeta = () => {\n const tabsNode = tabsRef.current;\n let tabsMeta;\n if (tabsNode) {\n const rect = tabsNode.getBoundingClientRect();\n // create a new object with ClientRect class props + scrollLeft\n tabsMeta = {\n clientWidth: tabsNode.clientWidth,\n scrollLeft: tabsNode.scrollLeft,\n scrollTop: tabsNode.scrollTop,\n scrollLeftNormalized: getNormalizedScrollLeft(tabsNode, isRtl ? 'rtl' : 'ltr'),\n scrollWidth: tabsNode.scrollWidth,\n top: rect.top,\n bottom: rect.bottom,\n left: rect.left,\n right: rect.right\n };\n }\n let tabMeta;\n if (tabsNode && value !== false) {\n const children = tabListRef.current.children;\n if (children.length > 0) {\n const tab = children[valueToIndex.get(value)];\n if (process.env.NODE_ENV !== 'production') {\n if (!tab) {\n console.error([`MUI: The \\`value\\` provided to the Tabs component is invalid.`, `None of the Tabs' children match with \"${value}\".`, valueToIndex.keys ? `You can provide one of the following values: ${Array.from(valueToIndex.keys()).join(', ')}.` : null].join('\\n'));\n }\n }\n tabMeta = tab ? tab.getBoundingClientRect() : null;\n if (process.env.NODE_ENV !== 'production') {\n if (process.env.NODE_ENV !== 'test' && !warnedOnceTabPresent && tabMeta && tabMeta.width === 0 && tabMeta.height === 0 &&\n // if the whole Tabs component is hidden, don't warn\n tabsMeta.clientWidth !== 0) {\n tabsMeta = null;\n console.error(['MUI: The `value` provided to the Tabs component is invalid.', `The Tab with this \\`value\\` (\"${value}\") is not part of the document layout.`, \"Make sure the tab item is present in the document or that it's not `display: none`.\"].join('\\n'));\n warnedOnceTabPresent = true;\n }\n }\n }\n }\n return {\n tabsMeta,\n tabMeta\n };\n };\n const updateIndicatorState = useEventCallback(() => {\n const {\n tabsMeta,\n tabMeta\n } = getTabsMeta();\n let startValue = 0;\n let startIndicator;\n if (vertical) {\n startIndicator = 'top';\n if (tabMeta && tabsMeta) {\n startValue = tabMeta.top - tabsMeta.top + tabsMeta.scrollTop;\n }\n } else {\n startIndicator = isRtl ? 'right' : 'left';\n if (tabMeta && tabsMeta) {\n const correction = isRtl ? tabsMeta.scrollLeftNormalized + tabsMeta.clientWidth - tabsMeta.scrollWidth : tabsMeta.scrollLeft;\n startValue = (isRtl ? -1 : 1) * (tabMeta[startIndicator] - tabsMeta[startIndicator] + correction);\n }\n }\n const newIndicatorStyle = {\n [startIndicator]: startValue,\n // May be wrong until the font is loaded.\n [size]: tabMeta ? tabMeta[size] : 0\n };\n\n // IE11 support, replace with Number.isNaN\n // eslint-disable-next-line no-restricted-globals\n if (isNaN(indicatorStyle[startIndicator]) || isNaN(indicatorStyle[size])) {\n setIndicatorStyle(newIndicatorStyle);\n } else {\n const dStart = Math.abs(indicatorStyle[startIndicator] - newIndicatorStyle[startIndicator]);\n const dSize = Math.abs(indicatorStyle[size] - newIndicatorStyle[size]);\n if (dStart >= 1 || dSize >= 1) {\n setIndicatorStyle(newIndicatorStyle);\n }\n }\n });\n const scroll = (scrollValue, {\n animation = true\n } = {}) => {\n if (animation) {\n animate(scrollStart, tabsRef.current, scrollValue, {\n duration: theme.transitions.duration.standard\n });\n } else {\n tabsRef.current[scrollStart] = scrollValue;\n }\n };\n const moveTabsScroll = delta => {\n let scrollValue = tabsRef.current[scrollStart];\n if (vertical) {\n scrollValue += delta;\n } else {\n scrollValue += delta * (isRtl ? -1 : 1);\n // Fix for Edge\n scrollValue *= isRtl && detectScrollType() === 'reverse' ? -1 : 1;\n }\n scroll(scrollValue);\n };\n const getScrollSize = () => {\n const containerSize = tabsRef.current[clientSize];\n let totalSize = 0;\n const children = Array.from(tabListRef.current.children);\n for (let i = 0; i < children.length; i += 1) {\n const tab = children[i];\n if (totalSize + tab[clientSize] > containerSize) {\n // If the first item is longer than the container size, then only scroll\n // by the container size.\n if (i === 0) {\n totalSize = containerSize;\n }\n break;\n }\n totalSize += tab[clientSize];\n }\n return totalSize;\n };\n const handleStartScrollClick = () => {\n moveTabsScroll(-1 * getScrollSize());\n };\n const handleEndScrollClick = () => {\n moveTabsScroll(getScrollSize());\n };\n\n // TODO Remove <ScrollbarSize /> as browser support for hiding the scrollbar\n // with CSS improves.\n const handleScrollbarSizeChange = React.useCallback(scrollbarWidth => {\n setScrollerStyle({\n overflow: null,\n scrollbarWidth\n });\n }, []);\n const getConditionalElements = () => {\n const conditionalElements = {};\n conditionalElements.scrollbarSizeListener = scrollable ? /*#__PURE__*/_jsx(TabsScrollbarSize, {\n onChange: handleScrollbarSizeChange,\n className: clsx(classes.scrollableX, classes.hideScrollbar)\n }) : null;\n const scrollButtonsActive = displayStartScroll || displayEndScroll;\n const showScrollButtons = scrollable && (scrollButtons === 'auto' && scrollButtonsActive || scrollButtons === true);\n conditionalElements.scrollButtonStart = showScrollButtons ? /*#__PURE__*/_jsx(ScrollButtonComponent, _extends({\n slots: {\n StartScrollButtonIcon: slots.StartScrollButtonIcon\n },\n slotProps: {\n startScrollButtonIcon: startScrollButtonIconProps\n },\n orientation: orientation,\n direction: isRtl ? 'right' : 'left',\n onClick: handleStartScrollClick,\n disabled: !displayStartScroll\n }, TabScrollButtonProps, {\n className: clsx(classes.scrollButtons, TabScrollButtonProps.className)\n })) : null;\n conditionalElements.scrollButtonEnd = showScrollButtons ? /*#__PURE__*/_jsx(ScrollButtonComponent, _extends({\n slots: {\n EndScrollButtonIcon: slots.EndScrollButtonIcon\n },\n slotProps: {\n endScrollButtonIcon: endScrollButtonIconProps\n },\n orientation: orientation,\n direction: isRtl ? 'left' : 'right',\n onClick: handleEndScrollClick,\n disabled: !displayEndScroll\n }, TabScrollButtonProps, {\n className: clsx(classes.scrollButtons, TabScrollButtonProps.className)\n })) : null;\n return conditionalElements;\n };\n const scrollSelectedIntoView = useEventCallback(animation => {\n const {\n tabsMeta,\n tabMeta\n } = getTabsMeta();\n if (!tabMeta || !tabsMeta) {\n return;\n }\n if (tabMeta[start] < tabsMeta[start]) {\n // left side of button is out of view\n const nextScrollStart = tabsMeta[scrollStart] + (tabMeta[start] - tabsMeta[start]);\n scroll(nextScrollStart, {\n animation\n });\n } else if (tabMeta[end] > tabsMeta[end]) {\n // right side of button is out of view\n const nextScrollStart = tabsMeta[scrollStart] + (tabMeta[end] - tabsMeta[end]);\n scroll(nextScrollStart, {\n animation\n });\n }\n });\n const updateScrollButtonState = useEventCallback(() => {\n if (scrollable && scrollButtons !== false) {\n setUpdateScrollObserver(!updateScrollObserver);\n }\n });\n React.useEffect(() => {\n const handleResize = debounce(() => {\n // If the Tabs component is replaced by Suspense with a fallback, the last\n // ResizeObserver's handler that runs because of the change in the layout is trying to\n // access a dom node that is no longer there (as the fallback component is being shown instead).\n // See https://github.com/mui/material-ui/issues/33276\n // TODO: Add tests that will ensure the component is not failing when\n // replaced by Suspense with a fallback, once React is updated to version 18\n if (tabsRef.current) {\n updateIndicatorState();\n }\n });\n let resizeObserver;\n\n /**\n * @type {MutationCallback}\n */\n const handleMutation = records => {\n records.forEach(record => {\n record.removedNodes.forEach(item => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.unobserve(item);\n });\n record.addedNodes.forEach(item => {\n var _resizeObserver2;\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.observe(item);\n });\n });\n handleResize();\n updateScrollButtonState();\n };\n const win = ownerWindow(tabsRef.current);\n win.addEventListener('resize', handleResize);\n let mutationObserver;\n if (typeof ResizeObserver !== 'undefined') {\n resizeObserver = new ResizeObserver(handleResize);\n Array.from(tabListRef.current.children).forEach(child => {\n resizeObserver.observe(child);\n });\n }\n if (typeof MutationObserver !== 'undefined') {\n mutationObserver = new MutationObserver(handleMutation);\n mutationObserver.observe(tabListRef.current, {\n childList: true\n });\n }\n return () => {\n var _mutationObserver, _resizeObserver3;\n handleResize.clear();\n win.removeEventListener('resize', handleResize);\n (_mutationObserver = mutationObserver) == null || _mutationObserver.disconnect();\n (_resizeObserver3 = resizeObserver) == null || _resizeObserver3.disconnect();\n };\n }, [updateIndicatorState, updateScrollButtonState]);\n\n /**\n * Toggle visibility of start and end scroll buttons\n * Using IntersectionObserver on first and last Tabs.\n */\n React.useEffect(() => {\n const tabListChildren = Array.from(tabListRef.current.children);\n const length = tabListChildren.length;\n if (typeof IntersectionObserver !== 'undefined' && length > 0 && scrollable && scrollButtons !== false) {\n const firstTab = tabListChildren[0];\n const lastTab = tabListChildren[length - 1];\n const observerOptions = {\n root: tabsRef.current,\n threshold: 0.99\n };\n const handleScrollButtonStart = entries => {\n setDisplayStartScroll(!entries[0].isIntersecting);\n };\n const firstObserver = new IntersectionObserver(handleScrollButtonStart, observerOptions);\n firstObserver.observe(firstTab);\n const handleScrollButtonEnd = entries => {\n setDisplayEndScroll(!entries[0].isIntersecting);\n };\n const lastObserver = new IntersectionObserver(handleScrollButtonEnd, observerOptions);\n lastObserver.observe(lastTab);\n return () => {\n firstObserver.disconnect();\n lastObserver.disconnect();\n };\n }\n return undefined;\n }, [scrollable, scrollButtons, updateScrollObserver, childrenProp == null ? void 0 : childrenProp.length]);\n React.useEffect(() => {\n setMounted(true);\n }, []);\n React.useEffect(() => {\n updateIndicatorState();\n });\n React.useEffect(() => {\n // Don't animate on the first render.\n scrollSelectedIntoView(defaultIndicatorStyle !== indicatorStyle);\n }, [scrollSelectedIntoView, indicatorStyle]);\n React.useImperativeHandle(action, () => ({\n updateIndicator: updateIndicatorState,\n updateScrollButtons: updateScrollButtonState\n }), [updateIndicatorState, updateScrollButtonState]);\n const indicator = /*#__PURE__*/_jsx(TabsIndicator, _extends({}, TabIndicatorProps, {\n className: clsx(classes.indicator, TabIndicatorProps.className),\n ownerState: ownerState,\n style: _extends({}, indicatorStyle, TabIndicatorProps.style)\n }));\n let childIndex = 0;\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"MUI: The Tabs component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n const childValue = child.props.value === undefined ? childIndex : child.props.value;\n valueToIndex.set(childValue, childIndex);\n const selected = childValue === value;\n childIndex += 1;\n return /*#__PURE__*/React.cloneElement(child, _extends({\n fullWidth: variant === 'fullWidth',\n indicator: selected && !mounted && indicator,\n selected,\n selectionFollowsFocus,\n onChange,\n textColor,\n value: childValue\n }, childIndex === 1 && value === false && !child.props.tabIndex ? {\n tabIndex: 0\n } : {}));\n });\n const handleKeyDown = event => {\n const list = tabListRef.current;\n const currentFocus = ownerDocument(list).activeElement;\n // Keyboard navigation assumes that [role=\"tab\"] are siblings\n // though we might warn in the future about nested, interactive elements\n // as a a11y violation\n const role = currentFocus.getAttribute('role');\n if (role !== 'tab') {\n return;\n }\n let previousItemKey = orientation === 'horizontal' ? 'ArrowLeft' : 'ArrowUp';\n let nextItemKey = orientation === 'horizontal' ? 'ArrowRight' : 'ArrowDown';\n if (orientation === 'horizontal' && isRtl) {\n // swap previousItemKey with nextItemKey\n previousItemKey = 'ArrowRight';\n nextItemKey = 'ArrowLeft';\n }\n switch (event.key) {\n case previousItemKey:\n event.preventDefault();\n moveFocus(list, currentFocus, previousItem);\n break;\n case nextItemKey:\n event.preventDefault();\n moveFocus(list, currentFocus, nextItem);\n break;\n case 'Home':\n event.preventDefault();\n moveFocus(list, null, nextItem);\n break;\n case 'End':\n event.preventDefault();\n moveFocus(list, null, previousItem);\n break;\n default:\n break;\n }\n };\n const conditionalElements = getConditionalElements();\n return /*#__PURE__*/_jsxs(TabsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref,\n as: component\n }, other, {\n children: [conditionalElements.scrollButtonStart, conditionalElements.scrollbarSizeListener, /*#__PURE__*/_jsxs(TabsScroller, {\n className: classes.scroller,\n ownerState: ownerState,\n style: {\n overflow: scrollerStyle.overflow,\n [vertical ? `margin${isRtl ? 'Left' : 'Right'}` : 'marginBottom']: visibleScrollbar ? undefined : -scrollerStyle.scrollbarWidth\n },\n ref: tabsRef,\n children: [/*#__PURE__*/_jsx(FlexContainer, {\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-orientation\": orientation === 'vertical' ? 'vertical' : null,\n className: classes.flexContainer,\n ownerState: ownerState,\n onKeyDown: handleKeyDown,\n ref: tabListRef,\n role: \"tablist\",\n children: children\n }), mounted && indicator]\n }), conditionalElements.scrollButtonEnd]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Tabs.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Callback fired when the component mounts.\n * This is useful when you want to trigger an action programmatically.\n * It supports two actions: `updateIndicator()` and `updateScrollButtons()`\n *\n * @param {object} actions This object contains all possible actions\n * that can be triggered programmatically.\n */\n action: refType,\n /**\n * If `true`, the scroll buttons aren't forced hidden on mobile.\n * By default the scroll buttons are hidden on mobile and takes precedence over `scrollButtons`.\n * @default false\n */\n allowScrollButtonsMobile: PropTypes.bool,\n /**\n * The label for the Tabs as a string.\n */\n 'aria-label': PropTypes.string,\n /**\n * An id or list of ids separated by a space that label the Tabs.\n */\n 'aria-labelledby': PropTypes.string,\n /**\n * If `true`, the tabs are centered.\n * This prop is intended for large views.\n * @default false\n */\n centered: PropTypes.bool,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Determines the color of the indicator.\n * @default 'primary'\n */\n indicatorColor: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary']), PropTypes.string]),\n /**\n * Callback fired when the value changes.\n *\n * @param {React.SyntheticEvent} event The event source of the callback. **Warning**: This is a generic event not a change event.\n * @param {any} value We default to the index of the child (number)\n */\n onChange: PropTypes.func,\n /**\n * The component orientation (layout flow direction).\n * @default 'horizontal'\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n /**\n * The component used to render the scroll buttons.\n * @default TabScrollButton\n */\n ScrollButtonComponent: PropTypes.elementType,\n /**\n * Determine behavior of scroll buttons when tabs are set to scroll:\n *\n * - `auto` will only present them when not all the items are visible.\n * - `true` will always present them.\n * - `false` will never present them.\n *\n * By default the scroll buttons are hidden on mobile.\n * This behavior can be disabled with `allowScrollButtonsMobile`.\n * @default 'auto'\n */\n scrollButtons: PropTypes /* @typescript-to-proptypes-ignore */.oneOf(['auto', false, true]),\n /**\n * If `true` the selected tab changes on focus. Otherwise it only\n * changes on activation.\n */\n selectionFollowsFocus: PropTypes.bool,\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n * @default {}\n */\n slotProps: PropTypes.shape({\n endScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n startScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n EndScrollButtonIcon: PropTypes.elementType,\n StartScrollButtonIcon: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Props applied to the tab indicator element.\n * @default {}\n */\n TabIndicatorProps: PropTypes.object,\n /**\n * Props applied to the [`TabScrollButton`](/material-ui/api/tab-scroll-button/) element.\n * @default {}\n */\n TabScrollButtonProps: PropTypes.object,\n /**\n * Determines the color of the `Tab`.\n * @default 'primary'\n */\n textColor: PropTypes.oneOf(['inherit', 'primary', 'secondary']),\n /**\n * The value of the currently selected `Tab`.\n * If you don't want any selected `Tab`, you can set this prop to `false`.\n */\n value: PropTypes.any,\n /**\n * Determines additional display behavior of the tabs:\n *\n * - `scrollable` will invoke scrolling properties and allow for horizontally\n * scrolling (or swiping) of the tab bar.\n * - `fullWidth` will make the tabs grow to use all the available space,\n * which should be used for small views, like on mobile.\n * - `standard` will render the default state.\n * @default 'standard'\n */\n variant: PropTypes.oneOf(['fullWidth', 'scrollable', 'standard']),\n /**\n * If `true`, the scrollbar is visible. It can be useful when displaying\n * a long vertical list of tabs.\n * @default false\n */\n visibleScrollbar: PropTypes.bool\n} : void 0;\nexport default Tabs;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTabUtilityClass(slot) {\n return generateUtilityClass('MuiTab', slot);\n}\nconst tabClasses = generateUtilityClasses('MuiTab', ['root', 'labelIcon', 'textColorInherit', 'textColorPrimary', 'textColorSecondary', 'selected', 'disabled', 'fullWidth', 'wrapped', 'iconWrapper']);\nexport default tabClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disabled\", \"disableFocusRipple\", \"fullWidth\", \"icon\", \"iconPosition\", \"indicator\", \"label\", \"onChange\", \"onClick\", \"onFocus\", \"selected\", \"selectionFollowsFocus\", \"textColor\", \"value\", \"wrapped\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport ButtonBase from '../ButtonBase';\nimport capitalize from '../utils/capitalize';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled from '../styles/styled';\nimport unsupportedProp from '../utils/unsupportedProp';\nimport tabClasses, { getTabUtilityClass } from './tabClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n textColor,\n fullWidth,\n wrapped,\n icon,\n label,\n selected,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', icon && label && 'labelIcon', `textColor${capitalize(textColor)}`, fullWidth && 'fullWidth', wrapped && 'wrapped', selected && 'selected', disabled && 'disabled'],\n iconWrapper: ['iconWrapper']\n };\n return composeClasses(slots, getTabUtilityClass, classes);\n};\nconst TabRoot = styled(ButtonBase, {\n name: 'MuiTab',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.label && ownerState.icon && styles.labelIcon, styles[`textColor${capitalize(ownerState.textColor)}`], ownerState.fullWidth && styles.fullWidth, ownerState.wrapped && styles.wrapped, {\n [`& .${tabClasses.iconWrapper}`]: styles.iconWrapper\n }];\n }\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.button, {\n maxWidth: 360,\n minWidth: 90,\n position: 'relative',\n minHeight: 48,\n flexShrink: 0,\n padding: '12px 16px',\n overflow: 'hidden',\n whiteSpace: 'normal',\n textAlign: 'center'\n}, ownerState.label && {\n flexDirection: ownerState.iconPosition === 'top' || ownerState.iconPosition === 'bottom' ? 'column' : 'row'\n}, {\n lineHeight: 1.25\n}, ownerState.icon && ownerState.label && {\n minHeight: 72,\n paddingTop: 9,\n paddingBottom: 9,\n [`& > .${tabClasses.iconWrapper}`]: _extends({}, ownerState.iconPosition === 'top' && {\n marginBottom: 6\n }, ownerState.iconPosition === 'bottom' && {\n marginTop: 6\n }, ownerState.iconPosition === 'start' && {\n marginRight: theme.spacing(1)\n }, ownerState.iconPosition === 'end' && {\n marginLeft: theme.spacing(1)\n })\n}, ownerState.textColor === 'inherit' && {\n color: 'inherit',\n opacity: 0.6,\n // same opacity as theme.palette.text.secondary\n [`&.${tabClasses.selected}`]: {\n opacity: 1\n },\n [`&.${tabClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n }\n}, ownerState.textColor === 'primary' && {\n color: (theme.vars || theme).palette.text.secondary,\n [`&.${tabClasses.selected}`]: {\n color: (theme.vars || theme).palette.primary.main\n },\n [`&.${tabClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n }\n}, ownerState.textColor === 'secondary' && {\n color: (theme.vars || theme).palette.text.secondary,\n [`&.${tabClasses.selected}`]: {\n color: (theme.vars || theme).palette.secondary.main\n },\n [`&.${tabClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n }\n}, ownerState.fullWidth && {\n flexShrink: 1,\n flexGrow: 1,\n flexBasis: 0,\n maxWidth: 'none'\n}, ownerState.wrapped && {\n fontSize: theme.typography.pxToRem(12)\n}));\nconst Tab = /*#__PURE__*/React.forwardRef(function Tab(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiTab'\n });\n const {\n className,\n disabled = false,\n disableFocusRipple = false,\n // eslint-disable-next-line react/prop-types\n fullWidth,\n icon: iconProp,\n iconPosition = 'top',\n // eslint-disable-next-line react/prop-types\n indicator,\n label,\n onChange,\n onClick,\n onFocus,\n // eslint-disable-next-line react/prop-types\n selected,\n // eslint-disable-next-line react/prop-types\n selectionFollowsFocus,\n // eslint-disable-next-line react/prop-types\n textColor = 'inherit',\n value,\n wrapped = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n disabled,\n disableFocusRipple,\n selected,\n icon: !!iconProp,\n iconPosition,\n label: !!label,\n fullWidth,\n textColor,\n wrapped\n });\n const classes = useUtilityClasses(ownerState);\n const icon = iconProp && label && /*#__PURE__*/React.isValidElement(iconProp) ? /*#__PURE__*/React.cloneElement(iconProp, {\n className: clsx(classes.iconWrapper, iconProp.props.className)\n }) : iconProp;\n const handleClick = event => {\n if (!selected && onChange) {\n onChange(event, value);\n }\n if (onClick) {\n onClick(event);\n }\n };\n const handleFocus = event => {\n if (selectionFollowsFocus && !selected && onChange) {\n onChange(event, value);\n }\n if (onFocus) {\n onFocus(event);\n }\n };\n return /*#__PURE__*/_jsxs(TabRoot, _extends({\n focusRipple: !disableFocusRipple,\n className: clsx(classes.root, className),\n ref: ref,\n role: \"tab\",\n \"aria-selected\": selected,\n disabled: disabled,\n onClick: handleClick,\n onFocus: handleFocus,\n ownerState: ownerState,\n tabIndex: selected ? 0 : -1\n }, other, {\n children: [iconPosition === 'top' || iconPosition === 'start' ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [icon, label]\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [label, icon]\n }), indicator]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Tab.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * This prop isn't supported.\n * Use the `component` prop if you need to change the children structure.\n */\n children: unsupportedProp,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n *\n * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure\n * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * The icon to display.\n */\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.string]),\n /**\n * The position of the icon relative to the label.\n * @default 'top'\n */\n iconPosition: PropTypes.oneOf(['bottom', 'end', 'start', 'top']),\n /**\n * The label element.\n */\n label: PropTypes.node,\n /**\n * @ignore\n */\n onChange: PropTypes.func,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * You can provide your own value. Otherwise, we fallback to the child position index.\n */\n value: PropTypes.any,\n /**\n * Tab labels appear in a single row.\n * They can use a second line if needed.\n * @default false\n */\n wrapped: PropTypes.bool\n} : void 0;\nexport default Tab;","import { Box, Typography } from \"@mui/material\";\r\n\r\nconst TabPanel = (props) => {\r\n const { children, value, index, ...other } = props;\r\n\r\n return (\r\n <div\r\n role=\"tabpanel\"\r\n hidden={value !== index}\r\n id={`simple-tabpanel-${index}`}\r\n aria-labelledby={`simple-tab-${index}`}\r\n {...other}\r\n >\r\n {value === index && (\r\n <Box sx={{ pt: 1 }}>\r\n <Typography>{children}</Typography>\r\n </Box>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default TabPanel;\r\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAppBarUtilityClass(slot) {\n return generateUtilityClass('MuiAppBar', slot);\n}\nconst appBarClasses = generateUtilityClasses('MuiAppBar', ['root', 'positionFixed', 'positionAbsolute', 'positionSticky', 'positionStatic', 'positionRelative', 'colorDefault', 'colorPrimary', 'colorSecondary', 'colorInherit', 'colorTransparent', 'colorError', 'colorInfo', 'colorSuccess', 'colorWarning']);\nexport default appBarClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"enableColorOnDark\", \"position\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport capitalize from '../utils/capitalize';\nimport Paper from '../Paper';\nimport { getAppBarUtilityClass } from './appBarClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n color,\n position,\n classes\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, `position${capitalize(position)}`]\n };\n return composeClasses(slots, getAppBarUtilityClass, classes);\n};\n\n// var2 is the fallback.\n// Ex. var1: 'var(--a)', var2: 'var(--b)'; return: 'var(--a, var(--b))'\nconst joinVars = (var1, var2) => var1 ? `${var1 == null ? void 0 : var1.replace(')', '')}, ${var2})` : var2;\nconst AppBarRoot = styled(Paper, {\n name: 'MuiAppBar',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme,\n ownerState\n}) => {\n const backgroundColorDefault = theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[900];\n return _extends({\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n boxSizing: 'border-box',\n // Prevent padding issue with the Modal and fixed positioned AppBar.\n flexShrink: 0\n }, ownerState.position === 'fixed' && {\n position: 'fixed',\n zIndex: (theme.vars || theme).zIndex.appBar,\n top: 0,\n left: 'auto',\n right: 0,\n '@media print': {\n // Prevent the app bar to be visible on each printed page.\n position: 'absolute'\n }\n }, ownerState.position === 'absolute' && {\n position: 'absolute',\n zIndex: (theme.vars || theme).zIndex.appBar,\n top: 0,\n left: 'auto',\n right: 0\n }, ownerState.position === 'sticky' && {\n // ⚠️ sticky is not supported by IE11.\n position: 'sticky',\n zIndex: (theme.vars || theme).zIndex.appBar,\n top: 0,\n left: 'auto',\n right: 0\n }, ownerState.position === 'static' && {\n position: 'static'\n }, ownerState.position === 'relative' && {\n position: 'relative'\n }, !theme.vars && _extends({}, ownerState.color === 'default' && {\n backgroundColor: backgroundColorDefault,\n color: theme.palette.getContrastText(backgroundColorDefault)\n }, ownerState.color && ownerState.color !== 'default' && ownerState.color !== 'inherit' && ownerState.color !== 'transparent' && {\n backgroundColor: theme.palette[ownerState.color].main,\n color: theme.palette[ownerState.color].contrastText\n }, ownerState.color === 'inherit' && {\n color: 'inherit'\n }, theme.palette.mode === 'dark' && !ownerState.enableColorOnDark && {\n backgroundColor: null,\n color: null\n }, ownerState.color === 'transparent' && _extends({\n backgroundColor: 'transparent',\n color: 'inherit'\n }, theme.palette.mode === 'dark' && {\n backgroundImage: 'none'\n })), theme.vars && _extends({}, ownerState.color === 'default' && {\n '--AppBar-background': ownerState.enableColorOnDark ? theme.vars.palette.AppBar.defaultBg : joinVars(theme.vars.palette.AppBar.darkBg, theme.vars.palette.AppBar.defaultBg),\n '--AppBar-color': ownerState.enableColorOnDark ? theme.vars.palette.text.primary : joinVars(theme.vars.palette.AppBar.darkColor, theme.vars.palette.text.primary)\n }, ownerState.color && !ownerState.color.match(/^(default|inherit|transparent)$/) && {\n '--AppBar-background': ownerState.enableColorOnDark ? theme.vars.palette[ownerState.color].main : joinVars(theme.vars.palette.AppBar.darkBg, theme.vars.palette[ownerState.color].main),\n '--AppBar-color': ownerState.enableColorOnDark ? theme.vars.palette[ownerState.color].contrastText : joinVars(theme.vars.palette.AppBar.darkColor, theme.vars.palette[ownerState.color].contrastText)\n }, !['inherit', 'transparent'].includes(ownerState.color) && {\n backgroundColor: 'var(--AppBar-background)'\n }, {\n color: ownerState.color === 'inherit' ? 'inherit' : 'var(--AppBar-color)'\n }, ownerState.color === 'transparent' && {\n backgroundImage: 'none',\n backgroundColor: 'transparent',\n color: 'inherit'\n }));\n});\nconst AppBar = /*#__PURE__*/React.forwardRef(function AppBar(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiAppBar'\n });\n const {\n className,\n color = 'primary',\n enableColorOnDark = false,\n position = 'fixed'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n position,\n enableColorOnDark\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(AppBarRoot, _extends({\n square: true,\n component: \"header\",\n ownerState: ownerState,\n elevation: 4,\n className: clsx(classes.root, className, position === 'fixed' && 'mui-fixed'),\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? AppBar.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'inherit', 'primary', 'secondary', 'transparent', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * If true, the `color` prop is applied in dark mode.\n * @default false\n */\n enableColorOnDark: PropTypes.bool,\n /**\n * The positioning type. The behavior of the different options is described\n * [in the MDN web docs](https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Positioning).\n * Note: `sticky` is not universally supported and will fall back to `static` when unavailable.\n * @default 'fixed'\n */\n position: PropTypes.oneOf(['absolute', 'fixed', 'relative', 'static', 'sticky']),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default AppBar;","import * as React from \"react\";\r\nimport Tabs from \"@mui/material/Tabs\";\r\nimport Tab from \"@mui/material/Tab\";\r\nimport Box from \"@mui/material/Box\";\r\nimport TabPanel from \"../../components/tab/TabPanel\";\r\nimport { AppBar } from \"@mui/material\";\r\nimport { ctheme } from \"../../theme/theme\";\r\n\r\nconst MainTab = React.forwardRef(\r\n ({ labels, children, appBarColor, sx, tabOnChangeExtra }, ref) => {\r\n const childrenArray = React.Children.toArray(children);\r\n\r\n const [value, setValue] = React.useState(0);\r\n\r\n const handleChange = (event, newValue) => {\r\n setValue(newValue);\r\n tabOnChangeExtra && tabOnChangeExtra(newValue);\r\n };\r\n\r\n React.useImperativeHandle(ref, () => ({\r\n selectedTabIndex: value,\r\n }));\r\n\r\n return (\r\n <Box\r\n sx={{\r\n width: \"100%\",\r\n // display: \"flex\",\r\n ...sx,\r\n }}\r\n >\r\n <AppBar\r\n position=\"static\"\r\n sx={{\r\n height: \"35px\",\r\n padding: \"5px\",\r\n justifyContent: \"center\", // İçeriği ortalar\r\n backgroundColor: appBarColor ?? ctheme.colors.gridHeaderLight,\r\n }}\r\n >\r\n <Tabs\r\n sx={{\r\n minHeight: \"40px\", // Tabs'in yüksekliğini küçültme\r\n \"& .MuiTab-root\": {\r\n // Her bir Tab bileşenine özel stil verme\r\n minHeight: \"40px\", // Tab yüksekliğini küçültme\r\n fontSize: \"0.875rem\", // Yazı boyutunu küçültme\r\n padding: \"6px 12px\", // Padding ayarı\r\n },\r\n }}\r\n value={value}\r\n onChange={handleChange} /*variant=\"fullWidth\"*/\r\n >\r\n {labels?.map((label, index) => (\r\n <Tab label={label} key={index} />\r\n ))}\r\n </Tabs>\r\n </AppBar>\r\n {childrenArray?.map((tabPanel, index) => (\r\n <TabPanel value={value} index={index} key={index}>\r\n {tabPanel}\r\n </TabPanel>\r\n ))}\r\n </Box>\r\n );\r\n }\r\n);\r\n\r\nexport default MainTab;\r\n","import { useRef } from \"react\";\r\nimport PageFilter from \"../../components/filter/PageFilter\";\r\nimport { PageConfig, PageConfigForIlgiliKisiler } from \"./NotConfig\";\r\nimport NotRecord from \"./NotRecord\";\r\nimport EditablePageGridWithList from \"../../components/grid/EditablePageGridWithList\";\r\nimport MainTab from \"../../components/tab/MainTab\";\r\n\r\nfunction Not({ ekranKodu }) {\r\n const listGridRef = useRef();\r\n const filterRef = useRef();\r\n const recordRef = useRef();\r\n const listGridRefBK = useRef();\r\n const filterRefBK = useRef();\r\n const recordRefBK = useRef();\r\n return (\r\n <>\r\n <MainTab labels={[\"Notlarım\", \"Bağlantılı Notlarım\"]}>\r\n <>\r\n <PageFilter\r\n PageConfig={PageConfig}\r\n ref={filterRef}\r\n listGridRef={listGridRef}\r\n />\r\n <EditablePageGridWithList\r\n gridId=\"Not\"\r\n PageConfig={PageConfig}\r\n listGridRef={listGridRef}\r\n filterRef={filterRef}\r\n // recordRef={recordRef}\r\n isModalCreatable={true}\r\n ekranKodu={ekranKodu}\r\n recordRef={recordRef}\r\n editBtnVisible={true}\r\n // minWidth={1550}\r\n />\r\n <NotRecord\r\n ref={recordRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n ></NotRecord>\r\n </>\r\n <>\r\n <PageFilter\r\n PageConfig={PageConfigForIlgiliKisiler}\r\n ref={filterRefBK}\r\n listGridRef={listGridRefBK}\r\n />\r\n <EditablePageGridWithList\r\n gridId=\"NotForBaglantiliKisiler\"\r\n PageConfig={PageConfigForIlgiliKisiler}\r\n listGridRef={listGridRefBK}\r\n filterRef={filterRefBK}\r\n // recordRef={recordRef}\r\n isModalCreatable={true}\r\n ekranKodu={ekranKodu}\r\n recordRef={recordRefBK}\r\n editBtnVisible={true}\r\n // minWidth={1550}\r\n />\r\n <NotRecord\r\n ref={recordRefBK}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRefBK}\r\n ></NotRecord>\r\n </>\r\n </MainTab>\r\n </>\r\n );\r\n}\r\n\r\nexport default Not;\r\n","import React, { useContext } from \"react\";\r\nimport DataGrid, {\r\n Column,\r\n Button,\r\n Lookup,\r\n Scrolling,\r\n Paging,\r\n Pager,\r\n Selection,\r\n Export,\r\n StateStoring,\r\n} from \"devextreme-react/data-grid\";\r\nimport CustomStore from \"devextreme/data/custom_store\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport {\r\n apiUrl,\r\n APP_BAR_HEIGHT,\r\n FILTER_HEIGHT,\r\n PLAN_DURUM,\r\n TAB_HEIGHT,\r\n YETKI_GRUBU_TIPI,\r\n} from \"../../common/constants\";\r\nimport { findPrimaryKey } from \"../../common/constant-functions/findPrimaryKey\";\r\nimport { Grid, Paper } from \"@mui/material\";\r\nimport { Add } from \"@mui/icons-material\";\r\nimport \"../../css/PageGrid.css\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport { printToast } from \"../../common/constant-functions/printToast\";\r\nimport ExportButton from \"../buttons/ExportButton\";\r\nimport { Stack } from \"@mui/system\";\r\nimport getTeklifGoruntule from \"../../common/constant-functions/getTeklifGoruntule\";\r\nimport GridClearButton from \"../buttons/custom/GridClearButton\";\r\nimport useGridState from \"../../hooks/use-grid-state\";\r\nimport SmallButton from \"../buttons/SmallButton\";\r\nimport { ctheme } from \"../../theme/theme\";\r\nimport \"../../css/custom-checkbox.css\";\r\n\r\nexport default function PageGrid({\r\n PageConfig,\r\n listGridRef,\r\n filterRef,\r\n recordRef,\r\n isCreatable = true,\r\n ekranKodu,\r\n allowSingleSelection,\r\n onSelectionChanged,\r\n height,\r\n ekleBtnDisabled = false,\r\n columnBtnVisible = true,\r\n editBtnVisible = true,\r\n detayRecordRef,\r\n CustomGridHeaderButton,\r\n CustomColumnButton = [],\r\n hasTab = false,\r\n reqData = {},\r\n exportButtonVisible = true,\r\n gridId,\r\n gridClearButtonVisible = true,\r\n onRowPreparedExtra,\r\n ekleButtonText\r\n}) {\r\n const id = gridId + \"_PageGrid\";\r\n const context = useContext(AppContext);\r\n\r\n const { saveState, loadState } = useGridState(\r\n PageConfig.type,\r\n listGridRef,\r\n id\r\n );\r\n\r\n const store = new CustomStore({\r\n key: findPrimaryKey(PageConfig.type),\r\n load(loadOptions) {\r\n let gridSort;\r\n if (loadOptions.sort) {\r\n gridSort = loadOptions.sort.map((i) => {\r\n let entity = PageConfig.type.find((x) => x.name == i.selector);\r\n return {\r\n propertyName: i.selector,\r\n order: i.desc ? \"desc\" : \"asc\",\r\n nullsLast: entity?.nullsLast,\r\n };\r\n });\r\n }\r\n return HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${PageConfig.listRoute}`,\r\n data: {\r\n Criteria: filterRef?.current?.filterData ?? { ...reqData },\r\n GridCriterias: {\r\n sortModel: loadOptions.sort ? gridSort : null,\r\n filterModel: [],\r\n },\r\n Pagination: loadOptions.isLoadingAll\r\n ? {\r\n rowOffset: 0,\r\n maxRowsPerPage: listGridRef.current.instance.totalCount(),\r\n }\r\n : {\r\n rowOffset: loadOptions.skip,\r\n maxRowsPerPage: loadOptions.take,\r\n },\r\n },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n\r\n return {\r\n data: res.data.data.list,\r\n totalCount: res.data.data.pagination.totalRowCount,\r\n };\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n return {\r\n data: [],\r\n totalCount: 0,\r\n };\r\n });\r\n },\r\n });\r\n\r\n // const externalColumnButton = (e) => {\r\n // return (\r\n // <>\r\n // <GridClearButton gridRef={listGridRef}></GridClearButton>\r\n // </>\r\n // );\r\n // };\r\n\r\n const onRowPrepared = (e) => {\r\n if (e.rowType === \"data\" && gridId === \"Toplanti\") {\r\n const durumValue = e.data[\"durum\"];\r\n if (durumValue === PLAN_DURUM.GERCEKLESTI.Value) {\r\n e.rowElement.style.backgroundColor = ctheme.colors.frostedPlains;\r\n } else if (durumValue === PLAN_DURUM.IPTAL_EDILDI.Value) {\r\n e.rowElement.style.backgroundColor = ctheme.colors.lightOrange;\r\n }\r\n }\r\n };\r\n\r\n return (\r\n <Paper\r\n sx={{\r\n backgroundColor: \"transparent\",\r\n }}\r\n >\r\n <Stack\r\n direction=\"row\"\r\n sx={{\r\n mb: \"3px\",\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n alignItems: \"center\",\r\n }}\r\n spacing={1}\r\n >\r\n <Grid>\r\n {isCreatable &&\r\n context?.user?.yetkiler.find((x) => x.ekranKodu === ekranKodu)\r\n ?.kaydet && (\r\n <SmallButton\r\n startIcon={<Add />}\r\n onClick={() => {\r\n recordRef?.current?.openRecord(null);\r\n }}\r\n disabled={ekleBtnDisabled}\r\n >\r\n {ekleButtonText ? ekleButtonText : \"Ekle\"}\r\n </SmallButton>\r\n )}\r\n {exportButtonVisible && (\r\n <ExportButton\r\n pageConfig={PageConfig}\r\n gridRef={listGridRef}\r\n ></ExportButton>\r\n )}\r\n {CustomGridHeaderButton && (\r\n <CustomGridHeaderButton></CustomGridHeaderButton>\r\n )}\r\n </Grid>\r\n {gridClearButtonVisible && (\r\n <Grid>\r\n <GridClearButton gridRef={listGridRef}></GridClearButton>\r\n </Grid>\r\n )}\r\n </Stack>\r\n\r\n <Grid variant=\"outlined\">\r\n <DataGrid\r\n id={id}\r\n height={\r\n height\r\n ? height\r\n : hasTab\r\n ? `calc(100vh - ${APP_BAR_HEIGHT} - ${FILTER_HEIGHT} - ${TAB_HEIGHT}`\r\n : `calc(100vh - ${APP_BAR_HEIGHT} - ${FILTER_HEIGHT} )`\r\n }\r\n dataSource={store}\r\n showBorders={true}\r\n allowColumnReordering={true}\r\n allowColumnResizing={true}\r\n // showRowLines={true}\r\n columnAutoWidth={true}\r\n remoteOperations={true}\r\n ref={listGridRef}\r\n {...(onSelectionChanged\r\n ? { onSelectionChanged: onSelectionChanged }\r\n : {})}\r\n toolbar={{\r\n items: [\r\n // { widget: 'dxButton', location: 'after', options: { icon: 'refresh' } },\r\n ],\r\n }}\r\n onRowPrepared={\r\n onRowPreparedExtra ? onRowPreparedExtra : onRowPrepared\r\n }\r\n >\r\n <Export enabled={true} />\r\n {allowSingleSelection && <Selection mode={\"single\"} />}\r\n <Scrolling columnRenderingMode=\"virtual\" />\r\n <StateStoring\r\n enabled={true}\r\n type=\"custom\"\r\n storageKey={id}\r\n customLoad={loadState}\r\n customSave={saveState}\r\n />\r\n {PageConfig.type\r\n .filter((type) => {\r\n let gridVisible = type.visible?.includes(\"grid\");\r\n if (gridVisible) {\r\n if (type.visibleConditions) {\r\n let innerVisible = true;\r\n for (let i = 0; i < type.visibleConditions?.length; i++) {\r\n if (type.visibleConditions[i].isTeklifGoruntule) {\r\n innerVisible = getTeklifGoruntule(\r\n ekranKodu,\r\n context.user.yetkiler\r\n );\r\n if (!innerVisible) break;\r\n }\r\n\r\n if (type.visibleConditions[i].isHarmonyAdmin) {\r\n innerVisible =\r\n context.user.yetkiGrubuTipi ===\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value;\r\n if (!innerVisible) break;\r\n }\r\n if (type.visibleConditions[i].gizlenecekYetkiGrubuTipi) {\r\n if (\r\n Array.isArray(\r\n type.visibleConditions[i].gizlenecekYetkiGrubuTipi\r\n )\r\n ) {\r\n innerVisible = !type.visibleConditions[\r\n i\r\n ].gizlenecekYetkiGrubuTipi.includes(\r\n context.user.yetkiGrubuTipi\r\n );\r\n } else {\r\n innerVisible =\r\n context.user.yetkiGrubuTipi !==\r\n type.visibleConditions[i].gizlenecekYetkiGrubuTipi;\r\n }\r\n if (!innerVisible) break;\r\n }\r\n }\r\n\r\n return innerVisible;\r\n } else {\r\n return true;\r\n }\r\n } else return false;\r\n })\r\n .map((i, index) => {\r\n return (\r\n <Column\r\n key={i.name}\r\n dataType={i.dataType}\r\n caption={i.label}\r\n dataField={i.dataField}\r\n name={i.name}\r\n visibleIndex={index}\r\n alignment={\r\n i.alignment\r\n ? i.alignment\r\n : i.dataType === \"number\"\r\n ? \"right\"\r\n : i.dataType === \"boolean\"\r\n ? \"center\"\r\n : \"left\"\r\n }\r\n defaultSortOrder={i.firstSort ? i.firstSort : null}\r\n width={i.width ? i.width : null}\r\n minWidth={i.minWidth ? i.minWidth : 100}\r\n maxWidth={i.maxWidth ? i.maxWidth : 100}\r\n format={i.format ? i.format : null}\r\n visible={i.pageGridHidden ? false : true}\r\n {...(i.calculateSortValue && {\r\n calculateSortValue: i.calculateSortValue,\r\n })}\r\n {...(i.defaultSortIndex && {\r\n defaultSortIndex: i.defaultSortIndex,\r\n })}\r\n {...(i.sortingMethod && {\r\n sortingMethod: i.sortingMethod,\r\n })}\r\n {...(i.cellRender && { cellRender: i.cellRender })}\r\n {...(i.customizeText && { customizeText: i.customizeText })} //todo excel e aktarırken muinin bileşenleri aktarılmadığı için cell render kullanılan fieldlara bu alanın da eklenmesi gerekir\r\n allowExporting={i.allowExporting ?? true}\r\n allowSorting={i.allowSorting ?? true}\r\n {...(i.cellTemplate && { cellTemplate: i.cellTemplate })}\r\n >\r\n {i.dataType === \"select\" ? (\r\n <Lookup\r\n key={i.dataField + \"_lookup\"}\r\n dataSource={i.selectItems}\r\n displayExpr=\"Text\"\r\n valueExpr=\"Value\"\r\n ></Lookup>\r\n ) : i.dataType === \"button\" ? (\r\n <></>\r\n ) : null}\r\n </Column>\r\n );\r\n })}\r\n <Column\r\n type=\"buttons\"\r\n visibleIndex={0}\r\n fixed={true}\r\n fixedPosition={0}\r\n alignment={\"center\"}\r\n visible={columnBtnVisible}\r\n // headerCellRender={(e) => {\r\n // return externalColumnButton(e);\r\n // }}\r\n >\r\n <Button\r\n hint={\"Düzenle\"}\r\n icon={\"edit\"}\r\n onClick={(e) => {\r\n detayRecordRef\r\n ? detayRecordRef?.current?.openRecord(e.row.key)\r\n : recordRef?.current?.openRecord(e.row.key);\r\n }}\r\n visible={editBtnVisible}\r\n key={`edit-button-Duzenle`}\r\n ></Button>\r\n {CustomColumnButton}\r\n </Column>\r\n <Paging defaultPageSize={12} />\r\n <Pager\r\n visible={true}\r\n showPageSizeSelector={true}\r\n showInfo={true}\r\n allowedPageSizes={[15, 25, 50]}\r\n displayMode=\"full\"\r\n />\r\n </DataGrid>\r\n </Grid>\r\n </Paper>\r\n );\r\n}\r\n","import { Box } from \"devextreme-react\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport { loadingVisible } from \"../../common/constant-functions/loadingVisible\";\r\nimport { printToast } from \"../../common/constant-functions/printToast\";\r\n\r\nfunction b64toBlob(b64Data, contentType) {\r\n if (typeof b64Data != \"string\") {\r\n return new Blob([], { type: contentType });\r\n }\r\n var byteCharacters = atob(b64Data);\r\n\r\n var byteArrays = [];\r\n\r\n for (let offset = 0; offset < byteCharacters.length; offset += 512) {\r\n var slice = byteCharacters.slice(offset, offset + 512),\r\n byteNumbers = new Array(slice.length);\r\n for (let i = 0; i < slice.length; i++) {\r\n byteNumbers[i] = slice.charCodeAt(i);\r\n }\r\n var byteArray = new Uint8Array(byteNumbers);\r\n\r\n byteArrays.push(byteArray);\r\n }\r\n\r\n var blob = new Blob(byteArrays, { type: contentType });\r\n\r\n return blob;\r\n}\r\n\r\nconst fetchData = async (url, requestData, setPdfUrl, setError) => {\r\n loadingVisible(true);\r\n\r\n await HttpAuthorized.post(url, requestData)\r\n .then((res) => {\r\n printToast(res.data);\r\n setPdfUrl(\r\n URL.createObjectURL(b64toBlob(res.data.data, \"application/pdf\")) +\r\n \"#toolbar=1&navpanes=0\"\r\n );\r\n })\r\n .catch(function (error) {\r\n printToast(error.response.data);\r\n setError(error.response.data.Message);\r\n })\r\n .finally(() => {\r\n loadingVisible(false);\r\n });\r\n};\r\n\r\nconst reportHeight = \"calc(100vh - 250px)\";\r\n\r\nfunction PageReport({ base64, url, requestData }) {\r\n const [pdfUrl, setPdfUrl] = useState(\"\");\r\n const [error, setError] = useState(\"\");\r\n\r\n useEffect(() => {\r\n if (url) {\r\n fetchData(url, requestData, setPdfUrl, setError);\r\n }\r\n loadingVisible(true);\r\n\r\n if (base64) {\r\n console.log(\"loadingbasladi\");\r\n\r\n loadingVisible(true);\r\n\r\n setPdfUrl(\r\n URL.createObjectURL(b64toBlob(base64, \"application/pdf\")) +\r\n \"#toolbar=1&navpanes=0\"\r\n );\r\n loadingVisible(false);\r\n console.log(\"loadingbitti\");\r\n }\r\n }, []);\r\n\r\n return error ? (\r\n <Box\r\n style={{\r\n height: reportHeight || \"auto\",\r\n padding: 10,\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n }}\r\n >\r\n <div>\r\n <strong>Pdf Gösterilemedi</strong>\r\n </div>\r\n <Box style={{ margin: 5 }}></Box>\r\n <div>{error}</div>\r\n </Box>\r\n ) : (\r\n <iframe\r\n title=\"pdf\"\r\n src={pdfUrl}\r\n style={{\r\n display: \"block\",\r\n width: \"100%\",\r\n border: \"none\",\r\n overflowY: \"auto\",\r\n overflowX: \"hidden\",\r\n height: \"100%\",\r\n }}\r\n />\r\n );\r\n}\r\n\r\nexport default PageReport;\r\n","import styled from \"@emotion/styled\";\r\nimport { DialogActions, DialogContent } from \"@mui/material\";\r\nimport React from \"react\";\r\nimport useDialog from \"../../hooks/use-dialog\";\r\nimport ScrollDialog from \"../dialogs/ScrollDialog\";\r\nimport PageReport from \"./PageReport\";\r\nimport { Fullscreen } from \"@mui/icons-material\";\r\nimport PageReportNew from \"./PageReportNew\";\r\n\r\nconst CustomPdfDialog = styled(ScrollDialog)(({ theme }) => ({\r\n \"& .MuiDialog-paper\": {\r\n // width: \"21cm\",\r\n // height: \"29.7cm\",\r\n height: \"100vh\",\r\n },\r\n}));\r\n\r\nconst PdfDialog = React.forwardRef(\r\n ({ title, url, base64, actionButtons }, ref) => {\r\n const { open, closeRecord, id, showActionButtons } = useDialog(ref);\r\n\r\n return (\r\n <ScrollDialog\r\n maxWidth=\"md\"\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle={title}\r\n canFullScreen={false}\r\n height={\"200vh\"}\r\n >\r\n <DialogContent id=\"dialog-content\">\r\n <PageReport base64={base64} url={url} requestData={{ id: id }} />\r\n </DialogContent>\r\n {showActionButtons && <DialogActions>{actionButtons}</DialogActions>}\r\n </ScrollDialog>\r\n );\r\n }\r\n);\r\n\r\nexport default PdfDialog;\r\n","import { Box, LoadIndicator } from \"devextreme-react\"; // LoadIndicator'i import et\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport { loadingVisible } from \"../../common/constant-functions/loadingVisible\";\r\nimport { printToast } from \"../../common/constant-functions/printToast\";\r\n\r\nfunction b64toBlob(b64Data, contentType) {\r\n if (typeof b64Data != \"string\") {\r\n return new Blob([], { type: contentType });\r\n }\r\n var byteCharacters = atob(b64Data);\r\n\r\n var byteArrays = [];\r\n\r\n for (let offset = 0; offset < byteCharacters.length; offset += 512) {\r\n var slice = byteCharacters.slice(offset, offset + 512),\r\n byteNumbers = new Array(slice.length);\r\n for (let i = 0; i < slice.length; i++) {\r\n byteNumbers[i] = slice.charCodeAt(i);\r\n }\r\n var byteArray = new Uint8Array(byteNumbers);\r\n\r\n byteArrays.push(byteArray);\r\n }\r\n\r\n var blob = new Blob(byteArrays, { type: contentType });\r\n\r\n return blob;\r\n}\r\n\r\nconst PageReport = ({ base64, url, requestData }) => {\r\n const [pdfUrl, setPdfUrl] = useState(\"\");\r\n const [error, setError] = useState(\"\");\r\n const [loading, setLoading] = useState(false); // Yüklenme durumu ekle\r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n if (url) {\r\n setLoading(true); // Yükleniyor durumunu başlat\r\n loadingVisible(true);\r\n\r\n try {\r\n const res = await HttpAuthorized.post(url, requestData);\r\n printToast(res.data);\r\n setPdfUrl(\r\n URL.createObjectURL(b64toBlob(res.data.data, \"application/pdf\")) +\r\n \"#toolbar=1&navpanes=0\"\r\n );\r\n } catch (error) {\r\n printToast(error.response.data);\r\n setError(error.response.data.Message);\r\n } finally {\r\n setLoading(false); // Yüklenme durumunu kapat\r\n loadingVisible(false);\r\n }\r\n }\r\n\r\n if (base64) {\r\n loadingVisible(true);\r\n setPdfUrl(\r\n URL.createObjectURL(b64toBlob(base64, \"application/pdf\")) +\r\n \"#toolbar=1&navpanes=0\"\r\n );\r\n loadingVisible(false);\r\n }\r\n };\r\n\r\n fetchData();\r\n }, [url, requestData, base64]);\r\n\r\n return error ? (\r\n <Box\r\n style={{\r\n height: \"calc(100vh - 250px)\",\r\n padding: 10,\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n }}\r\n >\r\n <div>\r\n <strong>Pdf Gösterilemedi</strong>\r\n </div>\r\n <Box style={{ margin: 5 }}></Box>\r\n <div>{error}</div>\r\n </Box>\r\n ) : loading ? ( // Yükleniyorsa simgeyi göster\r\n <Box\r\n style={{\r\n height: \"calc(100vh - 250px)\",\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n }}\r\n >\r\n <LoadIndicator /> {/* Yükleniyor simgesi */}\r\n </Box>\r\n ) : (\r\n <iframe\r\n title=\"pdf\"\r\n src={pdfUrl}\r\n style={{\r\n display: \"block\",\r\n width: \"100%\",\r\n border: \"none\",\r\n overflowY: \"auto\",\r\n overflowX: \"hidden\",\r\n height: \"100%\",\r\n }}\r\n />\r\n );\r\n};\r\n\r\nexport default PageReport;\r\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTooltipUtilityClass(slot) {\n return generateUtilityClass('MuiTooltip', slot);\n}\nconst tooltipClasses = generateUtilityClasses('MuiTooltip', ['popper', 'popperInteractive', 'popperArrow', 'popperClose', 'tooltip', 'tooltipArrow', 'touch', 'tooltipPlacementLeft', 'tooltipPlacementRight', 'tooltipPlacementTop', 'tooltipPlacementBottom', 'arrow']);\nexport default tooltipClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"arrow\", \"children\", \"classes\", \"components\", \"componentsProps\", \"describeChild\", \"disableFocusListener\", \"disableHoverListener\", \"disableInteractive\", \"disableTouchListener\", \"enterDelay\", \"enterNextDelay\", \"enterTouchDelay\", \"followCursor\", \"id\", \"leaveDelay\", \"leaveTouchDelay\", \"onClose\", \"onOpen\", \"open\", \"placement\", \"PopperComponent\", \"PopperProps\", \"slotProps\", \"slots\", \"title\", \"TransitionComponent\", \"TransitionProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport useTimeout, { Timeout } from '@mui/utils/useTimeout';\nimport elementAcceptingRef from '@mui/utils/elementAcceptingRef';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport appendOwnerState from '@mui/utils/appendOwnerState';\nimport getReactElementRef from '@mui/utils/getReactElementRef';\nimport { styled, useTheme } from '../styles';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport capitalize from '../utils/capitalize';\nimport Grow from '../Grow';\nimport Popper from '../Popper';\nimport useEventCallback from '../utils/useEventCallback';\nimport useForkRef from '../utils/useForkRef';\nimport useId from '../utils/useId';\nimport useIsFocusVisible from '../utils/useIsFocusVisible';\nimport useControlled from '../utils/useControlled';\nimport tooltipClasses, { getTooltipUtilityClass } from './tooltipClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction round(value) {\n return Math.round(value * 1e5) / 1e5;\n}\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableInteractive,\n arrow,\n touch,\n placement\n } = ownerState;\n const slots = {\n popper: ['popper', !disableInteractive && 'popperInteractive', arrow && 'popperArrow'],\n tooltip: ['tooltip', arrow && 'tooltipArrow', touch && 'touch', `tooltipPlacement${capitalize(placement.split('-')[0])}`],\n arrow: ['arrow']\n };\n return composeClasses(slots, getTooltipUtilityClass, classes);\n};\nconst TooltipPopper = styled(Popper, {\n name: 'MuiTooltip',\n slot: 'Popper',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.popper, !ownerState.disableInteractive && styles.popperInteractive, ownerState.arrow && styles.popperArrow, !ownerState.open && styles.popperClose];\n }\n})(({\n theme,\n ownerState,\n open\n}) => _extends({\n zIndex: (theme.vars || theme).zIndex.tooltip,\n pointerEvents: 'none'\n}, !ownerState.disableInteractive && {\n pointerEvents: 'auto'\n}, !open && {\n pointerEvents: 'none'\n}, ownerState.arrow && {\n [`&[data-popper-placement*=\"bottom\"] .${tooltipClasses.arrow}`]: {\n top: 0,\n marginTop: '-0.71em',\n '&::before': {\n transformOrigin: '0 100%'\n }\n },\n [`&[data-popper-placement*=\"top\"] .${tooltipClasses.arrow}`]: {\n bottom: 0,\n marginBottom: '-0.71em',\n '&::before': {\n transformOrigin: '100% 0'\n }\n },\n [`&[data-popper-placement*=\"right\"] .${tooltipClasses.arrow}`]: _extends({}, !ownerState.isRtl ? {\n left: 0,\n marginLeft: '-0.71em'\n } : {\n right: 0,\n marginRight: '-0.71em'\n }, {\n height: '1em',\n width: '0.71em',\n '&::before': {\n transformOrigin: '100% 100%'\n }\n }),\n [`&[data-popper-placement*=\"left\"] .${tooltipClasses.arrow}`]: _extends({}, !ownerState.isRtl ? {\n right: 0,\n marginRight: '-0.71em'\n } : {\n left: 0,\n marginLeft: '-0.71em'\n }, {\n height: '1em',\n width: '0.71em',\n '&::before': {\n transformOrigin: '0 0'\n }\n })\n}));\nconst TooltipTooltip = styled('div', {\n name: 'MuiTooltip',\n slot: 'Tooltip',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.tooltip, ownerState.touch && styles.touch, ownerState.arrow && styles.tooltipArrow, styles[`tooltipPlacement${capitalize(ownerState.placement.split('-')[0])}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n backgroundColor: theme.vars ? theme.vars.palette.Tooltip.bg : alpha(theme.palette.grey[700], 0.92),\n borderRadius: (theme.vars || theme).shape.borderRadius,\n color: (theme.vars || theme).palette.common.white,\n fontFamily: theme.typography.fontFamily,\n padding: '4px 8px',\n fontSize: theme.typography.pxToRem(11),\n maxWidth: 300,\n margin: 2,\n wordWrap: 'break-word',\n fontWeight: theme.typography.fontWeightMedium\n}, ownerState.arrow && {\n position: 'relative',\n margin: 0\n}, ownerState.touch && {\n padding: '8px 16px',\n fontSize: theme.typography.pxToRem(14),\n lineHeight: `${round(16 / 14)}em`,\n fontWeight: theme.typography.fontWeightRegular\n}, {\n [`.${tooltipClasses.popper}[data-popper-placement*=\"left\"] &`]: _extends({\n transformOrigin: 'right center'\n }, !ownerState.isRtl ? _extends({\n marginRight: '14px'\n }, ownerState.touch && {\n marginRight: '24px'\n }) : _extends({\n marginLeft: '14px'\n }, ownerState.touch && {\n marginLeft: '24px'\n })),\n [`.${tooltipClasses.popper}[data-popper-placement*=\"right\"] &`]: _extends({\n transformOrigin: 'left center'\n }, !ownerState.isRtl ? _extends({\n marginLeft: '14px'\n }, ownerState.touch && {\n marginLeft: '24px'\n }) : _extends({\n marginRight: '14px'\n }, ownerState.touch && {\n marginRight: '24px'\n })),\n [`.${tooltipClasses.popper}[data-popper-placement*=\"top\"] &`]: _extends({\n transformOrigin: 'center bottom',\n marginBottom: '14px'\n }, ownerState.touch && {\n marginBottom: '24px'\n }),\n [`.${tooltipClasses.popper}[data-popper-placement*=\"bottom\"] &`]: _extends({\n transformOrigin: 'center top',\n marginTop: '14px'\n }, ownerState.touch && {\n marginTop: '24px'\n })\n}));\nconst TooltipArrow = styled('span', {\n name: 'MuiTooltip',\n slot: 'Arrow',\n overridesResolver: (props, styles) => styles.arrow\n})(({\n theme\n}) => ({\n overflow: 'hidden',\n position: 'absolute',\n width: '1em',\n height: '0.71em' /* = width / sqrt(2) = (length of the hypotenuse) */,\n boxSizing: 'border-box',\n color: theme.vars ? theme.vars.palette.Tooltip.bg : alpha(theme.palette.grey[700], 0.9),\n '&::before': {\n content: '\"\"',\n margin: 'auto',\n display: 'block',\n width: '100%',\n height: '100%',\n backgroundColor: 'currentColor',\n transform: 'rotate(45deg)'\n }\n}));\nlet hystersisOpen = false;\nconst hystersisTimer = new Timeout();\nlet cursorPosition = {\n x: 0,\n y: 0\n};\nexport function testReset() {\n hystersisOpen = false;\n hystersisTimer.clear();\n}\nfunction composeEventHandler(handler, eventHandler) {\n return (event, ...params) => {\n if (eventHandler) {\n eventHandler(event, ...params);\n }\n handler(event, ...params);\n };\n}\n\n// TODO v6: Remove PopperComponent, PopperProps, TransitionComponent and TransitionProps.\nconst Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(inProps, ref) {\n var _ref, _slots$popper, _ref2, _ref3, _slots$transition, _ref4, _slots$tooltip, _ref5, _slots$arrow, _slotProps$popper, _ref6, _slotProps$popper2, _slotProps$transition, _slotProps$tooltip, _ref7, _slotProps$tooltip2, _slotProps$arrow, _ref8, _slotProps$arrow2;\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiTooltip'\n });\n const {\n arrow = false,\n children: childrenProp,\n components = {},\n componentsProps = {},\n describeChild = false,\n disableFocusListener = false,\n disableHoverListener = false,\n disableInteractive: disableInteractiveProp = false,\n disableTouchListener = false,\n enterDelay = 100,\n enterNextDelay = 0,\n enterTouchDelay = 700,\n followCursor = false,\n id: idProp,\n leaveDelay = 0,\n leaveTouchDelay = 1500,\n onClose,\n onOpen,\n open: openProp,\n placement = 'bottom',\n PopperComponent: PopperComponentProp,\n PopperProps = {},\n slotProps = {},\n slots = {},\n title,\n TransitionComponent: TransitionComponentProp = Grow,\n TransitionProps\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n // to prevent runtime errors, developers will need to provide a child as a React element anyway.\n const children = /*#__PURE__*/React.isValidElement(childrenProp) ? childrenProp : /*#__PURE__*/_jsx(\"span\", {\n children: childrenProp\n });\n const theme = useTheme();\n const isRtl = useRtl();\n const [childNode, setChildNode] = React.useState();\n const [arrowRef, setArrowRef] = React.useState(null);\n const ignoreNonTouchEvents = React.useRef(false);\n const disableInteractive = disableInteractiveProp || followCursor;\n const closeTimer = useTimeout();\n const enterTimer = useTimeout();\n const leaveTimer = useTimeout();\n const touchTimer = useTimeout();\n const [openState, setOpenState] = useControlled({\n controlled: openProp,\n default: false,\n name: 'Tooltip',\n state: 'open'\n });\n let open = openState;\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const {\n current: isControlled\n } = React.useRef(openProp !== undefined);\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n if (childNode && childNode.disabled && !isControlled && title !== '' && childNode.tagName.toLowerCase() === 'button') {\n console.error(['MUI: You are providing a disabled `button` child to the Tooltip component.', 'A disabled element does not fire events.', \"Tooltip needs to listen to the child element's events to display the title.\", '', 'Add a simple wrapper element, such as a `span`.'].join('\\n'));\n }\n }, [title, childNode, isControlled]);\n }\n const id = useId(idProp);\n const prevUserSelect = React.useRef();\n const stopTouchInteraction = useEventCallback(() => {\n if (prevUserSelect.current !== undefined) {\n document.body.style.WebkitUserSelect = prevUserSelect.current;\n prevUserSelect.current = undefined;\n }\n touchTimer.clear();\n });\n React.useEffect(() => stopTouchInteraction, [stopTouchInteraction]);\n const handleOpen = event => {\n hystersisTimer.clear();\n hystersisOpen = true;\n\n // The mouseover event will trigger for every nested element in the tooltip.\n // We can skip rerendering when the tooltip is already open.\n // We are using the mouseover event instead of the mouseenter event to fix a hide/show issue.\n setOpenState(true);\n if (onOpen && !open) {\n onOpen(event);\n }\n };\n const handleClose = useEventCallback(\n /**\n * @param {React.SyntheticEvent | Event} event\n */\n event => {\n hystersisTimer.start(800 + leaveDelay, () => {\n hystersisOpen = false;\n });\n setOpenState(false);\n if (onClose && open) {\n onClose(event);\n }\n closeTimer.start(theme.transitions.duration.shortest, () => {\n ignoreNonTouchEvents.current = false;\n });\n });\n const handleMouseOver = event => {\n if (ignoreNonTouchEvents.current && event.type !== 'touchstart') {\n return;\n }\n\n // Remove the title ahead of time.\n // We don't want to wait for the next render commit.\n // We would risk displaying two tooltips at the same time (native + this one).\n if (childNode) {\n childNode.removeAttribute('title');\n }\n enterTimer.clear();\n leaveTimer.clear();\n if (enterDelay || hystersisOpen && enterNextDelay) {\n enterTimer.start(hystersisOpen ? enterNextDelay : enterDelay, () => {\n handleOpen(event);\n });\n } else {\n handleOpen(event);\n }\n };\n const handleMouseLeave = event => {\n enterTimer.clear();\n leaveTimer.start(leaveDelay, () => {\n handleClose(event);\n });\n };\n const {\n isFocusVisibleRef,\n onBlur: handleBlurVisible,\n onFocus: handleFocusVisible,\n ref: focusVisibleRef\n } = useIsFocusVisible();\n // We don't necessarily care about the focusVisible state (which is safe to access via ref anyway).\n // We just need to re-render the Tooltip if the focus-visible state changes.\n const [, setChildIsFocusVisible] = React.useState(false);\n const handleBlur = event => {\n handleBlurVisible(event);\n if (isFocusVisibleRef.current === false) {\n setChildIsFocusVisible(false);\n handleMouseLeave(event);\n }\n };\n const handleFocus = event => {\n // Workaround for https://github.com/facebook/react/issues/7769\n // The autoFocus of React might trigger the event before the componentDidMount.\n // We need to account for this eventuality.\n if (!childNode) {\n setChildNode(event.currentTarget);\n }\n handleFocusVisible(event);\n if (isFocusVisibleRef.current === true) {\n setChildIsFocusVisible(true);\n handleMouseOver(event);\n }\n };\n const detectTouchStart = event => {\n ignoreNonTouchEvents.current = true;\n const childrenProps = children.props;\n if (childrenProps.onTouchStart) {\n childrenProps.onTouchStart(event);\n }\n };\n const handleTouchStart = event => {\n detectTouchStart(event);\n leaveTimer.clear();\n closeTimer.clear();\n stopTouchInteraction();\n prevUserSelect.current = document.body.style.WebkitUserSelect;\n // Prevent iOS text selection on long-tap.\n document.body.style.WebkitUserSelect = 'none';\n touchTimer.start(enterTouchDelay, () => {\n document.body.style.WebkitUserSelect = prevUserSelect.current;\n handleMouseOver(event);\n });\n };\n const handleTouchEnd = event => {\n if (children.props.onTouchEnd) {\n children.props.onTouchEnd(event);\n }\n stopTouchInteraction();\n leaveTimer.start(leaveTouchDelay, () => {\n handleClose(event);\n });\n };\n React.useEffect(() => {\n if (!open) {\n return undefined;\n }\n\n /**\n * @param {KeyboardEvent} nativeEvent\n */\n function handleKeyDown(nativeEvent) {\n // IE11, Edge (prior to using Bink?) use 'Esc'\n if (nativeEvent.key === 'Escape' || nativeEvent.key === 'Esc') {\n handleClose(nativeEvent);\n }\n }\n document.addEventListener('keydown', handleKeyDown);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [handleClose, open]);\n const handleRef = useForkRef(getReactElementRef(children), focusVisibleRef, setChildNode, ref);\n\n // There is no point in displaying an empty tooltip.\n // So we exclude all falsy values, except 0, which is valid.\n if (!title && title !== 0) {\n open = false;\n }\n const popperRef = React.useRef();\n const handleMouseMove = event => {\n const childrenProps = children.props;\n if (childrenProps.onMouseMove) {\n childrenProps.onMouseMove(event);\n }\n cursorPosition = {\n x: event.clientX,\n y: event.clientY\n };\n if (popperRef.current) {\n popperRef.current.update();\n }\n };\n const nameOrDescProps = {};\n const titleIsString = typeof title === 'string';\n if (describeChild) {\n nameOrDescProps.title = !open && titleIsString && !disableHoverListener ? title : null;\n nameOrDescProps['aria-describedby'] = open ? id : null;\n } else {\n nameOrDescProps['aria-label'] = titleIsString ? title : null;\n nameOrDescProps['aria-labelledby'] = open && !titleIsString ? id : null;\n }\n const childrenProps = _extends({}, nameOrDescProps, other, children.props, {\n className: clsx(other.className, children.props.className),\n onTouchStart: detectTouchStart,\n ref: handleRef\n }, followCursor ? {\n onMouseMove: handleMouseMove\n } : {});\n if (process.env.NODE_ENV !== 'production') {\n childrenProps['data-mui-internal-clone-element'] = true;\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n if (childNode && !childNode.getAttribute('data-mui-internal-clone-element')) {\n console.error(['MUI: The `children` component of the Tooltip is not forwarding its props correctly.', 'Please make sure that props are spread on the same element that the ref is applied to.'].join('\\n'));\n }\n }, [childNode]);\n }\n const interactiveWrapperListeners = {};\n if (!disableTouchListener) {\n childrenProps.onTouchStart = handleTouchStart;\n childrenProps.onTouchEnd = handleTouchEnd;\n }\n if (!disableHoverListener) {\n childrenProps.onMouseOver = composeEventHandler(handleMouseOver, childrenProps.onMouseOver);\n childrenProps.onMouseLeave = composeEventHandler(handleMouseLeave, childrenProps.onMouseLeave);\n if (!disableInteractive) {\n interactiveWrapperListeners.onMouseOver = handleMouseOver;\n interactiveWrapperListeners.onMouseLeave = handleMouseLeave;\n }\n }\n if (!disableFocusListener) {\n childrenProps.onFocus = composeEventHandler(handleFocus, childrenProps.onFocus);\n childrenProps.onBlur = composeEventHandler(handleBlur, childrenProps.onBlur);\n if (!disableInteractive) {\n interactiveWrapperListeners.onFocus = handleFocus;\n interactiveWrapperListeners.onBlur = handleBlur;\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n if (children.props.title) {\n console.error(['MUI: You have provided a `title` prop to the child of <Tooltip />.', `Remove this title prop \\`${children.props.title}\\` or the Tooltip component.`].join('\\n'));\n }\n }\n const popperOptions = React.useMemo(() => {\n var _PopperProps$popperOp;\n let tooltipModifiers = [{\n name: 'arrow',\n enabled: Boolean(arrowRef),\n options: {\n element: arrowRef,\n padding: 4\n }\n }];\n if ((_PopperProps$popperOp = PopperProps.popperOptions) != null && _PopperProps$popperOp.modifiers) {\n tooltipModifiers = tooltipModifiers.concat(PopperProps.popperOptions.modifiers);\n }\n return _extends({}, PopperProps.popperOptions, {\n modifiers: tooltipModifiers\n });\n }, [arrowRef, PopperProps]);\n const ownerState = _extends({}, props, {\n isRtl,\n arrow,\n disableInteractive,\n placement,\n PopperComponentProp,\n touch: ignoreNonTouchEvents.current\n });\n const classes = useUtilityClasses(ownerState);\n const PopperComponent = (_ref = (_slots$popper = slots.popper) != null ? _slots$popper : components.Popper) != null ? _ref : TooltipPopper;\n const TransitionComponent = (_ref2 = (_ref3 = (_slots$transition = slots.transition) != null ? _slots$transition : components.Transition) != null ? _ref3 : TransitionComponentProp) != null ? _ref2 : Grow;\n const TooltipComponent = (_ref4 = (_slots$tooltip = slots.tooltip) != null ? _slots$tooltip : components.Tooltip) != null ? _ref4 : TooltipTooltip;\n const ArrowComponent = (_ref5 = (_slots$arrow = slots.arrow) != null ? _slots$arrow : components.Arrow) != null ? _ref5 : TooltipArrow;\n const popperProps = appendOwnerState(PopperComponent, _extends({}, PopperProps, (_slotProps$popper = slotProps.popper) != null ? _slotProps$popper : componentsProps.popper, {\n className: clsx(classes.popper, PopperProps == null ? void 0 : PopperProps.className, (_ref6 = (_slotProps$popper2 = slotProps.popper) != null ? _slotProps$popper2 : componentsProps.popper) == null ? void 0 : _ref6.className)\n }), ownerState);\n const transitionProps = appendOwnerState(TransitionComponent, _extends({}, TransitionProps, (_slotProps$transition = slotProps.transition) != null ? _slotProps$transition : componentsProps.transition), ownerState);\n const tooltipProps = appendOwnerState(TooltipComponent, _extends({}, (_slotProps$tooltip = slotProps.tooltip) != null ? _slotProps$tooltip : componentsProps.tooltip, {\n className: clsx(classes.tooltip, (_ref7 = (_slotProps$tooltip2 = slotProps.tooltip) != null ? _slotProps$tooltip2 : componentsProps.tooltip) == null ? void 0 : _ref7.className)\n }), ownerState);\n const tooltipArrowProps = appendOwnerState(ArrowComponent, _extends({}, (_slotProps$arrow = slotProps.arrow) != null ? _slotProps$arrow : componentsProps.arrow, {\n className: clsx(classes.arrow, (_ref8 = (_slotProps$arrow2 = slotProps.arrow) != null ? _slotProps$arrow2 : componentsProps.arrow) == null ? void 0 : _ref8.className)\n }), ownerState);\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/React.cloneElement(children, childrenProps), /*#__PURE__*/_jsx(PopperComponent, _extends({\n as: PopperComponentProp != null ? PopperComponentProp : Popper,\n placement: placement,\n anchorEl: followCursor ? {\n getBoundingClientRect: () => ({\n top: cursorPosition.y,\n left: cursorPosition.x,\n right: cursorPosition.x,\n bottom: cursorPosition.y,\n width: 0,\n height: 0\n })\n } : childNode,\n popperRef: popperRef,\n open: childNode ? open : false,\n id: id,\n transition: true\n }, interactiveWrapperListeners, popperProps, {\n popperOptions: popperOptions,\n children: ({\n TransitionProps: TransitionPropsInner\n }) => /*#__PURE__*/_jsx(TransitionComponent, _extends({\n timeout: theme.transitions.duration.shorter\n }, TransitionPropsInner, transitionProps, {\n children: /*#__PURE__*/_jsxs(TooltipComponent, _extends({}, tooltipProps, {\n children: [title, arrow ? /*#__PURE__*/_jsx(ArrowComponent, _extends({}, tooltipArrowProps, {\n ref: setArrowRef\n })) : null]\n }))\n }))\n }))]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Tooltip.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, adds an arrow to the tooltip.\n * @default false\n */\n arrow: PropTypes.bool,\n /**\n * Tooltip reference element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Arrow: PropTypes.elementType,\n Popper: PropTypes.elementType,\n Tooltip: PropTypes.elementType,\n Transition: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `slotProps` prop.\n * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n arrow: PropTypes.object,\n popper: PropTypes.object,\n tooltip: PropTypes.object,\n transition: PropTypes.object\n }),\n /**\n * Set to `true` if the `title` acts as an accessible description.\n * By default the `title` acts as an accessible label for the child.\n * @default false\n */\n describeChild: PropTypes.bool,\n /**\n * Do not respond to focus-visible events.\n * @default false\n */\n disableFocusListener: PropTypes.bool,\n /**\n * Do not respond to hover events.\n * @default false\n */\n disableHoverListener: PropTypes.bool,\n /**\n * Makes a tooltip not interactive, i.e. it will close when the user\n * hovers over the tooltip before the `leaveDelay` is expired.\n * @default false\n */\n disableInteractive: PropTypes.bool,\n /**\n * Do not respond to long press touch events.\n * @default false\n */\n disableTouchListener: PropTypes.bool,\n /**\n * The number of milliseconds to wait before showing the tooltip.\n * This prop won't impact the enter touch delay (`enterTouchDelay`).\n * @default 100\n */\n enterDelay: PropTypes.number,\n /**\n * The number of milliseconds to wait before showing the tooltip when one was already recently opened.\n * @default 0\n */\n enterNextDelay: PropTypes.number,\n /**\n * The number of milliseconds a user must touch the element before showing the tooltip.\n * @default 700\n */\n enterTouchDelay: PropTypes.number,\n /**\n * If `true`, the tooltip follow the cursor over the wrapped element.\n * @default false\n */\n followCursor: PropTypes.bool,\n /**\n * This prop is used to help implement the accessibility logic.\n * If you don't provide this prop. It falls back to a randomly generated id.\n */\n id: PropTypes.string,\n /**\n * The number of milliseconds to wait before hiding the tooltip.\n * This prop won't impact the leave touch delay (`leaveTouchDelay`).\n * @default 0\n */\n leaveDelay: PropTypes.number,\n /**\n * The number of milliseconds after the user stops touching an element before hiding the tooltip.\n * @default 1500\n */\n leaveTouchDelay: PropTypes.number,\n /**\n * Callback fired when the component requests to be closed.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n */\n onClose: PropTypes.func,\n /**\n * Callback fired when the component requests to be open.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n */\n onOpen: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool,\n /**\n * Tooltip placement.\n * @default 'bottom'\n */\n placement: PropTypes.oneOf(['bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),\n /**\n * The component used for the popper.\n * @default Popper\n */\n PopperComponent: PropTypes.elementType,\n /**\n * Props applied to the [`Popper`](/material-ui/api/popper/) element.\n * @default {}\n */\n PopperProps: PropTypes.object,\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n arrow: PropTypes.object,\n popper: PropTypes.object,\n tooltip: PropTypes.object,\n transition: PropTypes.object\n }),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `components` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n arrow: PropTypes.elementType,\n popper: PropTypes.elementType,\n tooltip: PropTypes.elementType,\n transition: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Tooltip title. Zero-length titles string, undefined, null and false are never displayed.\n */\n title: PropTypes.node,\n /**\n * The component used for the transition.\n * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @default Grow\n */\n TransitionComponent: PropTypes.elementType,\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.\n */\n TransitionProps: PropTypes.object\n} : void 0;\nexport default Tooltip;","import { TALEP_DURUMU, TALEP_TEKLIF_DURUMU } from \"../constants\";\r\n\r\nconst getTalepDurumuArr = () => Object.values(TALEP_DURUMU);\r\n\r\nconst getTeklifDurumuArr = () => Object.values(TALEP_TEKLIF_DURUMU);\r\n\r\nexport { getTalepDurumuArr, getTeklifDurumuArr };\r\n","import React from \"react\";\r\nimport AutocomplateInputForm from \"../form-inputs/AutocomplateInputForm\";\r\n\r\nexport default function KullaniciInputForm({\r\n ekranKodu,\r\n rowData,\r\n readOnly,\r\n inputRef,\r\n input,\r\n sirketInputRef,\r\n reqData,\r\n musteriTemsilcisi,\r\n ...rest\r\n}) {\r\n return (\r\n <AutocomplateInputForm\r\n readOnly={readOnly}\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute: \"User/KullaniciListForSelect\",\r\n fildsForText: [\"isimSoyisim\"],\r\n fieldForValue: \"id\",\r\n reqData: reqData ?? {\r\n ...(sirketInputRef?.current\r\n ? {\r\n sirketId:\r\n (sirketInputRef?.current?.value > 0 &&\r\n sirketInputRef?.current?.value) === false\r\n ? rowData.sirketId\r\n : sirketInputRef?.current?.value,\r\n musteriTemsilcisi: musteriTemsilcisi,\r\n }\r\n : { getSirket_KodFromSession: true, musteriTemsilcisi: musteriTemsilcisi }),\r\n },\r\n }}\r\n ref={inputRef}\r\n input={input}\r\n {...rest}\r\n />\r\n );\r\n}\r\n","import React from \"react\";\r\nimport AutocomplateInputForm from \"../form-inputs/AutocomplateInputForm\";\r\n\r\nexport default function BayilerInputForm({\r\n ekranKodu,\r\n rowData,\r\n readOnly,\r\n inputRef,\r\n input,\r\n reqData,\r\n urunTipiRef,\r\n onChangeExtra,\r\n ...rest\r\n}) {\r\n return (\r\n <>\r\n <AutocomplateInputForm\r\n readOnly={readOnly}\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute: \"Bayiler/BayilerListForSelect\",\r\n fildsForText: [\"bayiKod\"],\r\n fieldForValue: \"id\",\r\n fieldLabel: \"bayiKod\",\r\n }}\r\n ref={inputRef}\r\n input={input}\r\n onChangeExtra={onChangeExtra}\r\n {...rest}\r\n />\r\n </>\r\n );\r\n}\r\n","import { Tooltip } from \"@mui/material\";\r\nimport { HttpAuthorized } from \"../common/common\";\r\nimport { getTalepDurumuArr } from \"../common/constant-functions/getTalepDurumuArr\";\r\nimport {\r\n DATE_FORMAT,\r\n ILGILI_MODUL,\r\n ISIN_DURUMU_FILTER,\r\n ONAY_RED_DURUMU,\r\n ONCELIK_DURUMU,\r\n TALEP_DURUMU,\r\n TALEP_TIPI,\r\n TUTAR_FORMAT,\r\n URUN_PROGRAMLARI,\r\n YETKI_GRUBU_TIPI,\r\n} from \"../common/constants\";\r\nimport SirketInputForm from \"../components/inputs/custom-form-inputs/SirketInputForm\";\r\nimport { sorumluJoin } from \"../common/constant-functions/sorumluJoin\";\r\nimport { parseHtmlString } from \"../common/constant-functions/parseHtmlString\";\r\nimport {\r\n BASLIK_WIDTH,\r\n DATE_WIDTH,\r\n ID_WIDTH,\r\n KDV_WIDTH,\r\n LONG_DATE_WIDTH,\r\n OKUNMAYAN_YORUM_WIDTH,\r\n ONCELIK_DURUMU_WIDTH,\r\n} from \"../common/entityconstants\";\r\nimport KullaniciInputForm from \"../components/inputs/custom-form-inputs/KullaniciInputForm\";\r\nimport dayjs from \"dayjs\";\r\nimport BayilerInputForm from \"../components/inputs/custom-form-inputs/BayilerInputForm\";\r\n\r\n// Müşteri talepleri\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"okunmayanYorumSayisi\",\r\n label: \"Okunmayan Yorum\",\r\n dataType: \"number\",\r\n dataField: \"okunmayanYorumSayisi\",\r\n visible: [\"grid\"],\r\n // cellRender: (e) => <MailBadge badgeContent={e?.value} />,\r\n alignment: \"center\",\r\n allowExporting: false,\r\n width: OKUNMAYAN_YORUM_WIDTH,\r\n },\r\n {\r\n name: \"sirketAdi\",\r\n label: \"Müşteri Adı\",\r\n dataType: \"text\",\r\n dataField: \"sirketAdi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"talepDurumu\",\r\n label: \"Talep Durumu\",\r\n dataType: \"select\",\r\n dataField: \"talepDurumu\",\r\n visible: [\"grid\"],\r\n cellRender: (e) => {\r\n let options = getTalepDurumuArr();\r\n let option = options.find((x) => x.Value === e.value);\r\n return (\r\n <Tooltip\r\n onOpen={(event) => {\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: \"Talep/AnalizSonucuGetById\",\r\n data: { id: e.data.id },\r\n })\r\n .then((res) => {\r\n event.target.title = res?.data?.data?.analizSonucu\r\n ? \"Analiz Sonucu: \" +\r\n parseHtmlString(res?.data?.data?.analizSonucu)\r\n : \"Analiz sonucu bulunamadı...\";\r\n })\r\n .catch((error) => { });\r\n }}\r\n >\r\n <div style={{ color: option.Color }}>{option?.Text}</div>\r\n </Tooltip>\r\n );\r\n },\r\n },\r\n // {\r\n // name: \"teklifDurumu\",\r\n // label: \"Teklif Durumu\",\r\n // dataType: \"select\",\r\n // dataField: \"teklifDurumu\",\r\n // visible: [\"grid\"],\r\n // cellRender: (e) => {\r\n // let options = getTeklifDurumuArr();\r\n // let option = options.find((x) => x.Value === e.value);\r\n // if (option) {\r\n // return <div style={{ color: option.Color }}>{option?.Text}</div>;\r\n // } else {\r\n // return null;\r\n // }\r\n // },\r\n // },\r\n {\r\n name: \"talepBasligi\",\r\n label: \"Talep Başlığı\",\r\n dataType: \"text\",\r\n dataField: \"talepBasligi\",\r\n visible: [\"grid\"],\r\n width: BASLIK_WIDTH,\r\n cellRender: (e) => {\r\n return (\r\n <Tooltip\r\n onOpen={(event) => {\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: \"Talep/TalepDetayiGetById\",\r\n data: { id: e.data.id },\r\n })\r\n .then((res) => {\r\n event.target.title = res?.data?.data?.talepDetayi\r\n ? \"Talep Detayı: \" +\r\n parseHtmlString(res?.data?.data?.talepDetayi)\r\n : \"Talep detayı bulunamadı...\";\r\n })\r\n .catch((error) => { });\r\n }}\r\n >\r\n <div>{e.value}</div>\r\n </Tooltip>\r\n );\r\n },\r\n },\r\n {\r\n name: \"talepTipi\",\r\n label: \"Talep Tipi\",\r\n dataType: \"select\",\r\n dataField: \"talepTipi\",\r\n visible: [\"grid\"],\r\n selectItems: TALEP_TIPI,\r\n },\r\n {\r\n name: \"kayitEdenKullaniciIdStr\",\r\n label: \"Kaydı Oluşturan Firma Temsilcisi\",\r\n dataType: \"text\",\r\n dataField: \"kayitEdenKullaniciIdStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"gercekKayitEdenKullaniciIdStr\",\r\n label: \"Kayıt Eden Kullanıcı\",\r\n dataType: \"text\",\r\n dataField: \"gercekKayitEdenKullaniciIdStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"kayitTarihi\",\r\n label: \"Talep Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"kayitTarihi\",\r\n visible: [\"grid\"],\r\n format: DATE_FORMAT,\r\n width: DATE_WIDTH,\r\n firstSort: \"desc\",\r\n },\r\n {\r\n name: \"oncelik\",\r\n label: \"Öncelik Durumu\",\r\n dataType: \"select\",\r\n dataField: \"oncelik\",\r\n visible: [\"grid\"],\r\n selectItems: ONCELIK_DURUMU,\r\n width: ONCELIK_DURUMU_WIDTH,\r\n },\r\n {\r\n name: \"temsilciAnaliziVarMi\",\r\n label: \"Temsilci Analizi\",\r\n dataType: \"boolean\",\r\n dataField: \"temsilciAnaliziVarMi\",\r\n visible: [\"grid\"],\r\n width: \"120px\",\r\n allowEditing: true,\r\n },\r\n {\r\n name: \"temsilciIdStr\",\r\n label: \"Temsilci\",\r\n dataType: \"text\",\r\n dataField: \"temsilciIdStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"talepEdenPersonelKisiidStr\",\r\n label: \"Talep Eden Personel\",\r\n dataType: \"text\",\r\n dataField: \"talepEdenPersonelKisiidStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"ilgiliModul\",\r\n label: \"İlgili Modül\",\r\n dataType: \"select\",\r\n dataField: \"ilgiliModul\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(ILGILI_MODUL),\r\n },\r\n {\r\n name: \"platform\",\r\n label: \"Platform\",\r\n dataType: \"select\",\r\n dataField: \"platform\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(URUN_PROGRAMLARI),\r\n },\r\n {\r\n name: \"ozellik\",\r\n label: \"Özellik 1\",\r\n dataType: \"text\",\r\n dataField: \"ozellik\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"onayRed\",\r\n label: \"Onay/Red\",\r\n dataType: \"select\",\r\n dataField: \"onayRed\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(ONAY_RED_DURUMU),\r\n },\r\n {\r\n name: \"teklifTutari\",\r\n label: \"Teklif Tutarı\",\r\n dataType: \"number\",\r\n dataField: \"teklifTutari\",\r\n visible: [\"grid\"],\r\n visibleConditions: [\r\n {\r\n isTeklifGoruntule: true,\r\n },\r\n ],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"teklifKdvOrani\",\r\n label: \"Teklif Kdv Oranı (%)\",\r\n dataType: \"number\",\r\n dataField: \"teklifKdvOrani\",\r\n visible: [\"grid\"],\r\n visibleConditions: [\r\n {\r\n isTeklifGoruntule: true,\r\n },\r\n ],\r\n format: TUTAR_FORMAT,\r\n width: KDV_WIDTH,\r\n },\r\n {\r\n name: \"baslangicTarihi\",\r\n label: \"Başlangıç Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"baslangicTarihi\",\r\n visible: [\"grid\"],\r\n width: LONG_DATE_WIDTH,\r\n },\r\n {\r\n name: \"terminTarihi\",\r\n label: \"Termin Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"terminTarihi\",\r\n visible: [\"grid\"],\r\n width: LONG_DATE_WIDTH,\r\n },\r\n {\r\n name: \"yonlendirmeTarihi\",\r\n label: \"Yönlendirme Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"yonlendirmeTarihi\",\r\n visible: [\"grid\"],\r\n width: \"125px\",\r\n },\r\n {\r\n name: \"sorumlular\",\r\n label: \"Sorumlular\",\r\n dataType: \"text\",\r\n dataField: \"sorumlular\",\r\n visible: [\"grid\"],\r\n // cellRender: (e) => SorumluChip(e?.value),\r\n customizeText: (cellData) => sorumluJoin(cellData?.value),\r\n allowSorting: false,\r\n },\r\n {\r\n name: \"isinDurumuMaster\",\r\n label: \"Görev Durumu\",\r\n dataType: \"select\",\r\n dataField: \"isinDurumuMaster\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(ISIN_DURUMU_FILTER),\r\n visibleConditions: [\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: \"bayiIsinDurumuMaster\",\r\n label: \"İşin Durumu\",\r\n dataType: \"select\",\r\n dataField: \"bayiIsinDurumuMaster\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(ISIN_DURUMU_FILTER),\r\n visibleConditions: [\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value,\r\n YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value,\r\n YETKI_GRUBU_TIPI.MUSTERI.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: \"merkezIsinDurumuMaster\",\r\n label: \"Merkez İşin Durumu\",\r\n dataType: \"select\",\r\n dataField: \"merkezIsinDurumuMaster\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(ISIN_DURUMU_FILTER),\r\n visibleConditions: [\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value,\r\n YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value,\r\n YETKI_GRUBU_TIPI.MUSTERI.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: \"isSonucu\",\r\n label: \"İş Sonucu\",\r\n dataType: \"text\",\r\n dataField: \"isSonucu\",\r\n visible: [\"grid\"],\r\n customizeText: (e) => e?.value && parseHtmlString(e?.value),\r\n width: \"300px\",\r\n },\r\n {\r\n name: \"talepTamamlanmaTarihi\",\r\n label: \"Tamamlanma Tarihi\",\r\n dataType: \"datetime\",\r\n dataField: \"talepTamamlanmaTarihi\",\r\n visible: [\"grid\"],\r\n width: LONG_DATE_WIDTH,\r\n },\r\n {\r\n name: \"bayiAdi\",\r\n label: \"Bayi Adı\",\r\n dataType: \"text\",\r\n dataField: \"bayiAdi\",\r\n visible: [\"grid\"],\r\n visibleConditions: [\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n\r\n //filtre--------------------------------------------------------------------------------------------------\r\n {\r\n name: \"tarih1\",\r\n label: \"Talep Tarihi-1\",\r\n dataType: \"date\",\r\n dataField: \"tarih1\",\r\n visible: [\"filter\"],\r\n defaultValue: dayjs().subtract(6, \"month\").format(\"YYYY-MM-DD\"),\r\n },\r\n {\r\n name: \"tarih2\",\r\n label: \"Talep Tarihi-2\",\r\n dataType: \"date\",\r\n dataField: \"tarih2\",\r\n visible: [\"filter\"],\r\n },\r\n // {\r\n // name: \"talepDurumu\",\r\n // label: \"Talep Durumu\",\r\n // dataType: \"select\",\r\n // dataField: \"talepDurumu\",\r\n // visible: [\"filter\"],\r\n // items: TALEP_DURUMU_FILTER,\r\n // },\r\n {\r\n name: \"sirketId\",\r\n label: \"Talep Eden Müşteri\",\r\n dataType: \"custom\",\r\n dataField: \"sirketId\",\r\n visible: [\"filter\"],\r\n customComponent: SirketInputForm,\r\n customComponentParams: {},\r\n },\r\n {\r\n name: \"id\",\r\n label: \"Talep No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"ilgiliModul\",\r\n label: \"Modül\",\r\n dataType: \"select\",\r\n dataField: \"ilgiliModul\",\r\n visible: [\"filter\"],\r\n items: Object.values(ILGILI_MODUL),\r\n },\r\n {\r\n name: \"talepDurumDetay\",\r\n label: \"Talep Durum Detay\",\r\n dataType: \"select\",\r\n dataField: \"talepDurumDetay\",\r\n visible: [\"filter\"],\r\n items: Object.values(TALEP_DURUMU),\r\n },\r\n {\r\n name: \"temsilciId\",\r\n label: \"Müşteri Temsilcisi\",\r\n dataType: \"custom\",\r\n dataField: \"temsilciId\",\r\n visible: [\"filter\"],\r\n customComponent: KullaniciInputForm,\r\n customComponentParams: { musteriTemsilcisi: true },\r\n },\r\n {\r\n name: \"temsilciAnaliziVarMi\",\r\n label: \"Temsilci Analizi\",\r\n dataType: \"select\",\r\n dataField: \"temsilciAnaliziVarMi\",\r\n visible: [\"filter\"],\r\n items: [\r\n {\r\n Value: true,\r\n Text: \"Var\",\r\n },\r\n {\r\n Value: false,\r\n Text: \"Yok\",\r\n },\r\n ],\r\n },\r\n {\r\n name: \"bayiid\",\r\n label: \"Bayi\",\r\n dataType: \"custom\",\r\n dataField: \"bayiid\",\r\n visible: [\"filter\"],\r\n customComponent: BayilerInputForm,\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n ],\r\n },\r\n {\r\n name: \"isinDurumuMaster\",\r\n label: \"Görev Durumu\",\r\n dataType: \"select\",\r\n dataField: \"isinDurumuMaster\",\r\n visible: [\"filter\"],\r\n items: Object.values(ISIN_DURUMU_FILTER),\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n ],\r\n },\r\n {\r\n name: \"platform\",\r\n label: \"Plaftorm\",\r\n dataType: \"select\",\r\n dataField: \"platform\",\r\n visible: [\"filter\"],\r\n items: Object.values(URUN_PROGRAMLARI),\r\n },\r\n\r\n // {\r\n // name: \"talepBasligi\",\r\n // label: \"Metinsel\",\r\n // dataType: \"text\",\r\n // dataField: \"talepBasligi\",\r\n // visible: [\"filter\"],\r\n // },\r\n // {\r\n // name: \"aa\",\r\n // label: \"Seçimli\",\r\n // dataType: \"select\",\r\n // dataField: \"aa\",\r\n // visible: [\"filter\"],\r\n // items: [\r\n // {\r\n // value: 1,\r\n // label: \"option1\",\r\n // },\r\n // {\r\n // value: 2,\r\n // label: \"option2\",\r\n // },\r\n // {\r\n // value: 3,\r\n // label: \"option3\",\r\n // },\r\n // ],\r\n // },\r\n // {\r\n // name: \"tarih\",\r\n // label: \"Tarihsel\",\r\n // dataType: \"date\",\r\n // dataField: \"tarih\",\r\n // visible: [\"filter\"],\r\n // },\r\n // {\r\n // name: \"number\",\r\n // label: \"Sayısal\",\r\n // dataType: \"number\",\r\n // dataField: \"number\",\r\n // visible: [\"filter\"],\r\n // },\r\n];\r\n\r\nexport default entity;\r\n","import Type from \"../../entities/Talep\";\r\n\r\nconst PageConfig = {\r\n title: \"İç Talepler\",\r\n ekranKodu: \"AnaSayfa_Res\",\r\n type: Type,\r\n listRoute: \"Talep/List\",\r\n getByIdRoute: \"Talep/GetById\",\r\n insertRoute: \"Talep/Insert\",\r\n updateRoute: \"Talep/Update\",\r\n deleteRoute: \"Talep/Delete\",\r\n deleteWithFilesRoute: \"Talep/DeleteWithFiles\",\r\n};\r\nexport default PageConfig;\r\n","\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2m5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12z\"\n}), 'Cancel');","\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.89-2-2-2m0 16H5V7h14zm-5.5-6c0 .83-.67 1.5-1.5 1.5s-1.5-.67-1.5-1.5.67-1.5 1.5-1.5 1.5.67 1.5 1.5M12 9c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5\"\n}), 'Preview');","\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8zm-3.06 16L7.4 14.46l1.41-1.41 2.12 2.12 4.24-4.24 1.41 1.41zM13 9V3.5L18.5 9z\"\n}), 'Task');","\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M21.99 4c0-1.1-.89-2-1.99-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h14l4 4zM18 14H6v-2h12zm0-3H6V9h12zm0-3H6V6h12z\"\n}), 'Comment');","\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16c1.05-3.19 4.05-5.5 7.6-5.5 1.95 0 3.73.72 5.12 1.88L13 16h9V7z\"\n}), 'Redo');","const PageConfig = {\r\n title: \"Personeller\",\r\n ekranKodu: \"Personel_Res\",\r\n type: null,\r\n insertRoute: \"Personel/Insert\",\r\n getByIdRoute: \"Personel/GetById\",\r\n updateRoute: \"Personel/Update\",\r\n deleteRoute: \"Personel/Delete\",\r\n EMailGetByIdRoute: \"Personel/EmailGetById\",\r\n EMailUpdateRoute: \"Personel/UpdateEMail\",\r\n};\r\n\r\nexport default PageConfig;\r\n","import React, { useState } from \"react\";\r\nimport { AppContext } from \"../common/AppContext\";\r\nimport { HttpAuthorized } from \"../common/common\";\r\nimport { loadingVisible } from \"../common/constant-functions/loadingVisible\";\r\nimport { printToast } from \"../common/constant-functions/printToast\";\r\nimport validateFormValues from \"../common/constant-functions/validateFormValues\";\r\nimport { apiUrl } from \"../common/constants\";\r\nimport PageConfig from \"../pages/Personel/PersonelConfig\";\r\n\r\nfunction usePersonelRecord(ref, personelInputRef, ekranKodu, sirketInputRef) {\r\n const [open, setOpen] = useState(false);\r\n const [recId, setRecId] = useState(0);\r\n const [rowData, setRowData] = useState({});\r\n const [modalLoading, setModalLoading] = useState(true);\r\n\r\n React.useImperativeHandle(ref, () => ({\r\n setRecId: setRecId,\r\n recId: recId,\r\n openRecord: openRecord,\r\n }));\r\n\r\n const handleClickOpen = () => setOpen(true);\r\n\r\n const handleClose = () => {\r\n setOpen(false);\r\n setRecId(null);\r\n setRowData({});\r\n setModalLoading(true);\r\n };\r\n\r\n async function fetchData(recId) {\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${PageConfig.getByIdRoute}`,\r\n data: {\r\n id: recId,\r\n },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n setRowData(res.data.data);\r\n setModalLoading(false);\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n });\r\n }\r\n\r\n async function insertOrUpdate(values) {\r\n loadingVisible(true);\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${\r\n values.id ? PageConfig.updateRoute : PageConfig.insertRoute\r\n }`,\r\n data: {\r\n ...values,\r\n ...(sirketInputRef?.current\r\n ? { sirketId: sirketInputRef?.current?.value }\r\n : { getSirket_KodFromSession: true }),\r\n },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n setRowData(res.data.data);\r\n personelInputRef?.current?.changeValue({\r\n Value: res.data.data?.id,\r\n Text: res.data.data?.adSoyad,\r\n });\r\n handleClose();\r\n\r\n console.log(\"res gelen\", res.data.data);\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n })\r\n .finally(() => loadingVisible(false));\r\n }\r\n\r\n async function handleDelete() {\r\n loadingVisible(true);\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${PageConfig.deleteRoute}`,\r\n data: { id: rowData.id },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n\r\n if (res.data.success) {\r\n setRowData({});\r\n personelInputRef?.current?.changeValue({\r\n Value: null,\r\n Text: null,\r\n });\r\n handleClose();\r\n }\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n })\r\n .finally(() => loadingVisible(false));\r\n }\r\n\r\n const handleSubmit = async (values) => {\r\n await insertOrUpdate(values);\r\n };\r\n\r\n function openRecord(recId) {\r\n if (recId > 0) {\r\n setRecId(recId);\r\n fetchData(recId);\r\n } else {\r\n setRecId(null);\r\n setModalLoading(false);\r\n }\r\n handleClickOpen();\r\n }\r\n\r\n const context = React.useContext(AppContext);\r\n\r\n const yetki =\r\n context?.user?.yetkiler.find((x) => x.ekranKodu === ekranKodu) ?? {};\r\n\r\n return {\r\n rowData,\r\n setRowData,\r\n recId,\r\n setRecId,\r\n open,\r\n handleClickOpen,\r\n handleClose,\r\n modalLoading,\r\n setModalLoading,\r\n handleDelete,\r\n handleSubmit,\r\n validateFormValues,\r\n yetki,\r\n };\r\n}\r\n\r\nexport default usePersonelRecord;\r\n","import { Stack } from \"@mui/material\";\r\nimport React from \"react\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport usePersonelRecord from \"../../hooks/use-personel-record\";\r\nimport * as yup from \"yup\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\n\r\nconst PersonelRecord = React.forwardRef(\r\n ({ ekranKodu, personelInputRef, sirketInputRef }, ref) => {\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n validateFormValues,\r\n yetki,\r\n handleDelete,\r\n } = usePersonelRecord(ref, personelInputRef, ekranKodu, sirketInputRef);\r\n\r\n const validationSchema = yup.object().shape({\r\n adSoyad: yup.string().required(),\r\n eMail: yup.string().email().required(),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Talep Eden Personel Tanımla\"\r\n maxWidth=\"xs\"\r\n >\r\n {open && (\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <form onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <Stack direction=\"column\" spacing={1}>\r\n <FieldWrapper label=\"Ad Soyad\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"adSoyad\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper label=\"Ünvan\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"unvan\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper label=\"Görev\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"gorev\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper label=\"Email\" modalLoading={modalLoading}>\r\n <Field\r\n type=\"email\"\r\n name=\"eMail\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n </Stack>\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogActionsWrapper>\r\n </form>\r\n )}\r\n />\r\n )}\r\n </ScrollDialog>\r\n );\r\n }\r\n);\r\nexport default PersonelRecord;\r\n","import React, { useRef } from \"react\";\r\nimport PersonelRecord from \"../../../pages/Personel/PersonelRecord\";\r\nimport AutocomplateInputForm from \"../form-inputs/AutocomplateInputForm\";\r\n\r\nexport default function PersonelInputForm({\r\n ekranKodu,\r\n rowData,\r\n readOnly,\r\n inputRef,\r\n input,\r\n sirketInputRef,\r\n onChangeExtra,\r\n ...rest\r\n}) {\r\n const personelDialogRef = useRef();\r\n\r\n return (\r\n <>\r\n <AutocomplateInputForm\r\n readOnly={readOnly}\r\n insertButtonRef={personelDialogRef}\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute: \"Personel/ListForSelect\",\r\n fildsForText: [\"adSoyad\"],\r\n fieldForValue: \"id\",\r\n reqData: {\r\n ...(sirketInputRef?.current\r\n ? {\r\n sirketId:\r\n sirketInputRef?.current?.value === \"\"\r\n ? rowData.sirketId\r\n : sirketInputRef?.current?.value,\r\n }\r\n : { getSirket_KodFromSession: true }),\r\n },\r\n }}\r\n ref={inputRef}\r\n input={input}\r\n onChangeExtra={onChangeExtra}\r\n {...rest}\r\n />\r\n <PersonelRecord\r\n ref={personelDialogRef}\r\n ekranKodu={ekranKodu}\r\n personelInputRef={inputRef}\r\n sirketInputRef={sirketInputRef}\r\n ></PersonelRecord>\r\n </>\r\n );\r\n}\r\n","/**\n * react-number-format - 5.4.3\n * Author : Sudhanshu Yadav\n * Copyright (c) 2016, 2024 to Sudhanshu Yadav, released under the MIT license.\n * https://github.com/s-yadav/react-number-format\n */\n\nimport React, { useState, useMemo, useRef, useEffect, useLayoutEffect } from 'react';\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) { if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n { t[p] = s[p]; } }\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n { for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n { t[p[i]] = s[p[i]]; }\r\n } }\r\n return t;\r\n}\n\nvar SourceType;\n(function (SourceType) {\n SourceType[\"event\"] = \"event\";\n SourceType[\"props\"] = \"prop\";\n})(SourceType || (SourceType = {}));\n\n// basic noop function\nfunction noop() { }\nfunction memoizeOnce(cb) {\n var lastArgs;\n var lastValue = undefined;\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (lastArgs &&\n args.length === lastArgs.length &&\n args.every(function (value, index) { return value === lastArgs[index]; })) {\n return lastValue;\n }\n lastArgs = args;\n lastValue = cb.apply(void 0, args);\n return lastValue;\n };\n}\nfunction charIsNumber(char) {\n return !!(char || '').match(/\\d/);\n}\nfunction isNil(val) {\n return val === null || val === undefined;\n}\nfunction isNanValue(val) {\n return typeof val === 'number' && isNaN(val);\n}\nfunction isNotValidValue(val) {\n return isNil(val) || isNanValue(val) || (typeof val === 'number' && !isFinite(val));\n}\nfunction escapeRegExp(str) {\n return str.replace(/[-[\\]/{}()*+?.\\\\^$|]/g, '\\\\$&');\n}\nfunction getThousandsGroupRegex(thousandsGroupStyle) {\n switch (thousandsGroupStyle) {\n case 'lakh':\n return /(\\d+?)(?=(\\d\\d)+(\\d)(?!\\d))(\\.\\d+)?/g;\n case 'wan':\n return /(\\d)(?=(\\d{4})+(?!\\d))/g;\n case 'thousand':\n default:\n return /(\\d)(?=(\\d{3})+(?!\\d))/g;\n }\n}\nfunction applyThousandSeparator(str, thousandSeparator, thousandsGroupStyle) {\n var thousandsGroupRegex = getThousandsGroupRegex(thousandsGroupStyle);\n var index = str.search(/[1-9]/);\n index = index === -1 ? str.length : index;\n return (str.substring(0, index) +\n str.substring(index, str.length).replace(thousandsGroupRegex, '$1' + thousandSeparator));\n}\nfunction usePersistentCallback(cb) {\n var callbackRef = useRef(cb);\n // keep the callback ref upto date\n callbackRef.current = cb;\n /**\n * initialize a persistent callback which never changes\n * through out the component lifecycle\n */\n var persistentCbRef = useRef(function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return callbackRef.current.apply(callbackRef, args);\n });\n return persistentCbRef.current;\n}\n//spilt a float number into different parts beforeDecimal, afterDecimal, and negation\nfunction splitDecimal(numStr, allowNegative) {\n if ( allowNegative === void 0 ) allowNegative = true;\n\n var hasNegation = numStr[0] === '-';\n var addNegation = hasNegation && allowNegative;\n numStr = numStr.replace('-', '');\n var parts = numStr.split('.');\n var beforeDecimal = parts[0];\n var afterDecimal = parts[1] || '';\n return {\n beforeDecimal: beforeDecimal,\n afterDecimal: afterDecimal,\n hasNegation: hasNegation,\n addNegation: addNegation,\n };\n}\nfunction fixLeadingZero(numStr) {\n if (!numStr)\n { return numStr; }\n var isNegative = numStr[0] === '-';\n if (isNegative)\n { numStr = numStr.substring(1, numStr.length); }\n var parts = numStr.split('.');\n var beforeDecimal = parts[0].replace(/^0+/, '') || '0';\n var afterDecimal = parts[1] || '';\n return (\"\" + (isNegative ? '-' : '') + beforeDecimal + (afterDecimal ? (\".\" + afterDecimal) : ''));\n}\n/**\n * limit decimal numbers to given scale\n * Not used .fixedTo because that will break with big numbers\n */\nfunction limitToScale(numStr, scale, fixedDecimalScale) {\n var str = '';\n var filler = fixedDecimalScale ? '0' : '';\n for (var i = 0; i <= scale - 1; i++) {\n str += numStr[i] || filler;\n }\n return str;\n}\nfunction repeat(str, count) {\n return Array(count + 1).join(str);\n}\nfunction toNumericString(num) {\n var _num = num + ''; // typecast number to string\n // store the sign and remove it from the number.\n var sign = _num[0] === '-' ? '-' : '';\n if (sign)\n { _num = _num.substring(1); }\n // split the number into cofficient and exponent\n var ref = _num.split(/[eE]/g);\n var coefficient = ref[0];\n var exponent = ref[1];\n // covert exponent to number;\n exponent = Number(exponent);\n // if there is no exponent part or its 0, return the coffiecient with sign\n if (!exponent)\n { return sign + coefficient; }\n coefficient = coefficient.replace('.', '');\n /**\n * for scientific notation the current decimal index will be after first number (index 0)\n * So effective decimal index will always be 1 + exponent value\n */\n var decimalIndex = 1 + exponent;\n var coffiecientLn = coefficient.length;\n if (decimalIndex < 0) {\n // if decimal index is less then 0 add preceding 0s\n // add 1 as join will have\n coefficient = '0.' + repeat('0', Math.abs(decimalIndex)) + coefficient;\n }\n else if (decimalIndex >= coffiecientLn) {\n // if decimal index is less then 0 add leading 0s\n coefficient = coefficient + repeat('0', decimalIndex - coffiecientLn);\n }\n else {\n // else add decimal point at proper index\n coefficient =\n (coefficient.substring(0, decimalIndex) || '0') + '.' + coefficient.substring(decimalIndex);\n }\n return sign + coefficient;\n}\n/**\n * This method is required to round prop value to given scale.\n * Not used .round or .fixedTo because that will break with big numbers\n */\nfunction roundToPrecision(numStr, scale, fixedDecimalScale) {\n //if number is empty don't do anything return empty string\n if (['', '-'].indexOf(numStr) !== -1)\n { return numStr; }\n var shouldHaveDecimalSeparator = (numStr.indexOf('.') !== -1 || fixedDecimalScale) && scale;\n var ref = splitDecimal(numStr);\n var beforeDecimal = ref.beforeDecimal;\n var afterDecimal = ref.afterDecimal;\n var hasNegation = ref.hasNegation;\n var floatValue = parseFloat((\"0.\" + (afterDecimal || '0')));\n var floatValueStr = afterDecimal.length <= scale ? (\"0.\" + afterDecimal) : floatValue.toFixed(scale);\n var roundedDecimalParts = floatValueStr.split('.');\n var intPart = beforeDecimal;\n // if we have cary over from rounding decimal part, add that on before decimal\n if (beforeDecimal && Number(roundedDecimalParts[0])) {\n intPart = beforeDecimal\n .split('')\n .reverse()\n .reduce(function (roundedStr, current, idx) {\n if (roundedStr.length > idx) {\n return ((Number(roundedStr[0]) + Number(current)).toString() +\n roundedStr.substring(1, roundedStr.length));\n }\n return current + roundedStr;\n }, roundedDecimalParts[0]);\n }\n var decimalPart = limitToScale(roundedDecimalParts[1] || '', scale, fixedDecimalScale);\n var negation = hasNegation ? '-' : '';\n var decimalSeparator = shouldHaveDecimalSeparator ? '.' : '';\n return (\"\" + negation + intPart + decimalSeparator + decimalPart);\n}\n/** set the caret positon in an input field **/\nfunction setCaretPosition(el, caretPos) {\n el.value = el.value;\n // ^ this is used to not only get 'focus', but\n // to make sure we don't have it everything -selected-\n // (it causes an issue in chrome, and having it doesn't hurt any other browser)\n if (el !== null) {\n /* @ts-ignore */\n if (el.createTextRange) {\n /* @ts-ignore */\n var range = el.createTextRange();\n range.move('character', caretPos);\n range.select();\n return true;\n }\n // (el.selectionStart === 0 added for Firefox bug)\n if (el.selectionStart || el.selectionStart === 0) {\n el.focus();\n el.setSelectionRange(caretPos, caretPos);\n return true;\n }\n // fail city, fortunately this never happens (as far as I've tested) :)\n el.focus();\n return false;\n }\n}\n/**\n * TODO: remove dependency of findChangeRange, findChangedRangeFromCaretPositions is better way to find what is changed\n * currently this is mostly required by test and isCharacterSame util\n * Given previous value and newValue it returns the index\n * start - end to which values have changed.\n * This function makes assumption about only consecutive\n * characters are changed which is correct assumption for caret input.\n */\nvar findChangeRange = memoizeOnce(function (prevValue, newValue) {\n var i = 0, j = 0;\n var prevLength = prevValue.length;\n var newLength = newValue.length;\n while (prevValue[i] === newValue[i] && i < prevLength)\n { i++; }\n //check what has been changed from last\n while (prevValue[prevLength - 1 - j] === newValue[newLength - 1 - j] &&\n newLength - j > i &&\n prevLength - j > i) {\n j++;\n }\n return {\n from: { start: i, end: prevLength - j },\n to: { start: i, end: newLength - j },\n };\n});\nvar findChangedRangeFromCaretPositions = function (lastCaretPositions, currentCaretPosition) {\n var startPosition = Math.min(lastCaretPositions.selectionStart, currentCaretPosition);\n return {\n from: { start: startPosition, end: lastCaretPositions.selectionEnd },\n to: { start: startPosition, end: currentCaretPosition },\n };\n};\n/*\n Returns a number whose value is limited to the given range\n*/\nfunction clamp(num, min, max) {\n return Math.min(Math.max(num, min), max);\n}\nfunction geInputCaretPosition(el) {\n /*Max of selectionStart and selectionEnd is taken for the patch of pixel and other mobile device caret bug*/\n return Math.max(el.selectionStart, el.selectionEnd);\n}\nfunction addInputMode() {\n return (typeof navigator !== 'undefined' &&\n !(navigator.platform && /iPhone|iPod/.test(navigator.platform)));\n}\nfunction getDefaultChangeMeta(value) {\n return {\n from: {\n start: 0,\n end: 0,\n },\n to: {\n start: 0,\n end: value.length,\n },\n lastValue: '',\n };\n}\nfunction getMaskAtIndex(mask, index) {\n if ( mask === void 0 ) mask = ' ';\n\n if (typeof mask === 'string') {\n return mask;\n }\n return mask[index] || ' ';\n}\nfunction defaultIsCharacterSame(ref) {\n var currentValue = ref.currentValue;\n var formattedValue = ref.formattedValue;\n var currentValueIndex = ref.currentValueIndex;\n var formattedValueIndex = ref.formattedValueIndex;\n\n return currentValue[currentValueIndex] === formattedValue[formattedValueIndex];\n}\nfunction getCaretPosition(newFormattedValue, lastFormattedValue, curValue, curCaretPos, boundary, isValidInputCharacter, \n/**\n * format function can change the character, the caret engine relies on mapping old value and new value\n * In such case if character is changed, parent can tell which chars are equivalent\n * Some example, all allowedDecimalCharacters are updated to decimalCharacters, 2nd case if user is coverting\n * number to different numeric system.\n */\nisCharacterSame) {\n if ( isCharacterSame === void 0 ) isCharacterSame = defaultIsCharacterSame;\n\n /**\n * if something got inserted on empty value, add the formatted character before the current value,\n * This is to avoid the case where typed character is present on format characters\n */\n var firstAllowedPosition = boundary.findIndex(function (b) { return b; });\n var prefixFormat = newFormattedValue.slice(0, firstAllowedPosition);\n if (!lastFormattedValue && !curValue.startsWith(prefixFormat)) {\n lastFormattedValue = prefixFormat;\n curValue = prefixFormat + curValue;\n curCaretPos = curCaretPos + prefixFormat.length;\n }\n var curValLn = curValue.length;\n var formattedValueLn = newFormattedValue.length;\n // create index map\n var addedIndexMap = {};\n var indexMap = new Array(curValLn);\n for (var i = 0; i < curValLn; i++) {\n indexMap[i] = -1;\n for (var j = 0, jLn = formattedValueLn; j < jLn; j++) {\n var isCharSame = isCharacterSame({\n currentValue: curValue,\n lastValue: lastFormattedValue,\n formattedValue: newFormattedValue,\n currentValueIndex: i,\n formattedValueIndex: j,\n });\n if (isCharSame && addedIndexMap[j] !== true) {\n indexMap[i] = j;\n addedIndexMap[j] = true;\n break;\n }\n }\n }\n /**\n * For current caret position find closest characters (left and right side)\n * which are properly mapped to formatted value.\n * The idea is that the new caret position will exist always in the boundary of\n * that mapped index\n */\n var pos = curCaretPos;\n while (pos < curValLn && (indexMap[pos] === -1 || !isValidInputCharacter(curValue[pos]))) {\n pos++;\n }\n // if the caret position is on last keep the endIndex as last for formatted value\n var endIndex = pos === curValLn || indexMap[pos] === -1 ? formattedValueLn : indexMap[pos];\n pos = curCaretPos - 1;\n while (pos > 0 && indexMap[pos] === -1)\n { pos--; }\n var startIndex = pos === -1 || indexMap[pos] === -1 ? 0 : indexMap[pos] + 1;\n /**\n * case where a char is added on suffix and removed from middle, example 2sq345 becoming $2,345 sq\n * there is still a mapping but the order of start index and end index is changed\n */\n if (startIndex > endIndex)\n { return endIndex; }\n /**\n * given the current caret position if it closer to startIndex\n * keep the new caret position on start index or keep it closer to endIndex\n */\n return curCaretPos - startIndex < endIndex - curCaretPos ? startIndex : endIndex;\n}\n/* This keeps the caret within typing area so people can't type in between prefix or suffix or format characters */\nfunction getCaretPosInBoundary(value, caretPos, boundary, direction) {\n var valLn = value.length;\n // clamp caret position to [0, value.length]\n caretPos = clamp(caretPos, 0, valLn);\n if (direction === 'left') {\n while (caretPos >= 0 && !boundary[caretPos])\n { caretPos--; }\n // if we don't find any suitable caret position on left, set it on first allowed position\n if (caretPos === -1)\n { caretPos = boundary.indexOf(true); }\n }\n else {\n while (caretPos <= valLn && !boundary[caretPos])\n { caretPos++; }\n // if we don't find any suitable caret position on right, set it on last allowed position\n if (caretPos > valLn)\n { caretPos = boundary.lastIndexOf(true); }\n }\n // if we still don't find caret position, set it at the end of value\n if (caretPos === -1)\n { caretPos = valLn; }\n return caretPos;\n}\nfunction caretUnknownFormatBoundary(formattedValue) {\n var boundaryAry = Array.from({ length: formattedValue.length + 1 }).map(function () { return true; });\n for (var i = 0, ln = boundaryAry.length; i < ln; i++) {\n // consider caret to be in boundary if it is before or after numeric value\n boundaryAry[i] = Boolean(charIsNumber(formattedValue[i]) || charIsNumber(formattedValue[i - 1]));\n }\n return boundaryAry;\n}\nfunction useInternalValues(value, defaultValue, valueIsNumericString, format, removeFormatting, onValueChange) {\n if ( onValueChange === void 0 ) onValueChange = noop;\n\n var getValues = usePersistentCallback(function (value, valueIsNumericString) {\n var formattedValue, numAsString;\n if (isNotValidValue(value)) {\n numAsString = '';\n formattedValue = '';\n }\n else if (typeof value === 'number' || valueIsNumericString) {\n numAsString = typeof value === 'number' ? toNumericString(value) : value;\n formattedValue = format(numAsString);\n }\n else {\n numAsString = removeFormatting(value, undefined);\n formattedValue = format(numAsString);\n }\n return { formattedValue: formattedValue, numAsString: numAsString };\n });\n var ref = useState(function () {\n return getValues(isNil(value) ? defaultValue : value, valueIsNumericString);\n });\n var values = ref[0];\n var setValues = ref[1];\n var _onValueChange = function (newValues, sourceInfo) {\n if (newValues.formattedValue !== values.formattedValue) {\n setValues({\n formattedValue: newValues.formattedValue,\n numAsString: newValues.value,\n });\n }\n // call parent on value change if only if formatted value is changed\n onValueChange(newValues, sourceInfo);\n };\n // if value is switch from controlled to uncontrolled, use the internal state's value to format with new props\n var _value = value;\n var _valueIsNumericString = valueIsNumericString;\n if (isNil(value)) {\n _value = values.numAsString;\n _valueIsNumericString = true;\n }\n var newValues = getValues(_value, _valueIsNumericString);\n useMemo(function () {\n setValues(newValues);\n }, [newValues.formattedValue]);\n return [values, _onValueChange];\n}\n\nfunction defaultRemoveFormatting(value) {\n return value.replace(/[^0-9]/g, '');\n}\nfunction defaultFormat(value) {\n return value;\n}\nfunction NumberFormatBase(props) {\n var type = props.type; if ( type === void 0 ) type = 'text';\n var displayType = props.displayType; if ( displayType === void 0 ) displayType = 'input';\n var customInput = props.customInput;\n var renderText = props.renderText;\n var getInputRef = props.getInputRef;\n var format = props.format; if ( format === void 0 ) format = defaultFormat;\n var removeFormatting = props.removeFormatting; if ( removeFormatting === void 0 ) removeFormatting = defaultRemoveFormatting;\n var defaultValue = props.defaultValue;\n var valueIsNumericString = props.valueIsNumericString;\n var onValueChange = props.onValueChange;\n var isAllowed = props.isAllowed;\n var onChange = props.onChange; if ( onChange === void 0 ) onChange = noop;\n var onKeyDown = props.onKeyDown; if ( onKeyDown === void 0 ) onKeyDown = noop;\n var onMouseUp = props.onMouseUp; if ( onMouseUp === void 0 ) onMouseUp = noop;\n var onFocus = props.onFocus; if ( onFocus === void 0 ) onFocus = noop;\n var onBlur = props.onBlur; if ( onBlur === void 0 ) onBlur = noop;\n var propValue = props.value;\n var getCaretBoundary = props.getCaretBoundary; if ( getCaretBoundary === void 0 ) getCaretBoundary = caretUnknownFormatBoundary;\n var isValidInputCharacter = props.isValidInputCharacter; if ( isValidInputCharacter === void 0 ) isValidInputCharacter = charIsNumber;\n var isCharacterSame = props.isCharacterSame;\n var otherProps = __rest(props, [\"type\", \"displayType\", \"customInput\", \"renderText\", \"getInputRef\", \"format\", \"removeFormatting\", \"defaultValue\", \"valueIsNumericString\", \"onValueChange\", \"isAllowed\", \"onChange\", \"onKeyDown\", \"onMouseUp\", \"onFocus\", \"onBlur\", \"value\", \"getCaretBoundary\", \"isValidInputCharacter\", \"isCharacterSame\"]);\n var ref = useInternalValues(propValue, defaultValue, Boolean(valueIsNumericString), format, removeFormatting, onValueChange);\n var ref_0 = ref[0];\n var formattedValue = ref_0.formattedValue;\n var numAsString = ref_0.numAsString;\n var onFormattedValueChange = ref[1];\n var caretPositionBeforeChange = useRef();\n var lastUpdatedValue = useRef({ formattedValue: formattedValue, numAsString: numAsString });\n var _onValueChange = function (values, source) {\n lastUpdatedValue.current = { formattedValue: values.formattedValue, numAsString: values.value };\n onFormattedValueChange(values, source);\n };\n var ref$1 = useState(false);\n var mounted = ref$1[0];\n var setMounted = ref$1[1];\n var focusedElm = useRef(null);\n var timeout = useRef({\n setCaretTimeout: null,\n focusTimeout: null,\n });\n useEffect(function () {\n setMounted(true);\n return function () {\n clearTimeout(timeout.current.setCaretTimeout);\n clearTimeout(timeout.current.focusTimeout);\n };\n }, []);\n var _format = format;\n var getValueObject = function (formattedValue, numAsString) {\n var floatValue = parseFloat(numAsString);\n return {\n formattedValue: formattedValue,\n value: numAsString,\n floatValue: isNaN(floatValue) ? undefined : floatValue,\n };\n };\n var setPatchedCaretPosition = function (el, caretPos, currentValue) {\n // don't reset the caret position when the whole input content is selected\n if (el.selectionStart === 0 && el.selectionEnd === el.value.length)\n { return; }\n /* setting caret position within timeout of 0ms is required for mobile chrome,\n otherwise browser resets the caret position after we set it\n We are also setting it without timeout so that in normal browser we don't see the flickering */\n setCaretPosition(el, caretPos);\n timeout.current.setCaretTimeout = setTimeout(function () {\n if (el.value === currentValue && el.selectionStart !== caretPos) {\n setCaretPosition(el, caretPos);\n }\n }, 0);\n };\n /* This keeps the caret within typing area so people can't type in between prefix or suffix */\n var correctCaretPosition = function (value, caretPos, direction) {\n return getCaretPosInBoundary(value, caretPos, getCaretBoundary(value), direction);\n };\n var getNewCaretPosition = function (inputValue, newFormattedValue, caretPos) {\n var caretBoundary = getCaretBoundary(newFormattedValue);\n var updatedCaretPos = getCaretPosition(newFormattedValue, formattedValue, inputValue, caretPos, caretBoundary, isValidInputCharacter, isCharacterSame);\n //correct caret position if its outside of editable area\n updatedCaretPos = getCaretPosInBoundary(newFormattedValue, updatedCaretPos, caretBoundary);\n return updatedCaretPos;\n };\n var updateValueAndCaretPosition = function (params) {\n var newFormattedValue = params.formattedValue; if ( newFormattedValue === void 0 ) newFormattedValue = '';\n var input = params.input;\n var source = params.source;\n var event = params.event;\n var numAsString = params.numAsString;\n var caretPos;\n if (input) {\n var inputValue = params.inputValue || input.value;\n var currentCaretPosition = geInputCaretPosition(input);\n /**\n * set the value imperatively, this is required for IE fix\n * This is also required as if new caret position is beyond the previous value.\n * Caret position will not be set correctly\n */\n input.value = newFormattedValue;\n //get the caret position\n caretPos = getNewCaretPosition(inputValue, newFormattedValue, currentCaretPosition);\n //set caret position imperatively\n if (caretPos !== undefined) {\n setPatchedCaretPosition(input, caretPos, newFormattedValue);\n }\n }\n if (newFormattedValue !== formattedValue) {\n // trigger onValueChange synchronously, so parent is updated along with the number format. Fix for #277, #287\n _onValueChange(getValueObject(newFormattedValue, numAsString), { event: event, source: source });\n }\n };\n /**\n * if the formatted value is not synced to parent, or if the formatted value is different from last synced value sync it\n * if the formatting props is removed, in which case last formatted value will be different from the numeric string value\n * in such case we need to inform the parent.\n */\n useEffect(function () {\n var ref = lastUpdatedValue.current;\n var lastFormattedValue = ref.formattedValue;\n var lastNumAsString = ref.numAsString;\n if (formattedValue !== lastFormattedValue || numAsString !== lastNumAsString) {\n _onValueChange(getValueObject(formattedValue, numAsString), {\n event: undefined,\n source: SourceType.props,\n });\n }\n }, [formattedValue, numAsString]);\n // also if formatted value is changed from the props, we need to update the caret position\n // keep the last caret position if element is focused\n var currentCaretPosition = focusedElm.current\n ? geInputCaretPosition(focusedElm.current)\n : undefined;\n // needed to prevent warning with useLayoutEffect on server\n var useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;\n useIsomorphicLayoutEffect(function () {\n var input = focusedElm.current;\n if (formattedValue !== lastUpdatedValue.current.formattedValue && input) {\n var caretPos = getNewCaretPosition(lastUpdatedValue.current.formattedValue, formattedValue, currentCaretPosition);\n /**\n * set the value imperatively, as we set the caret position as well imperatively.\n * This is to keep value and caret position in sync\n */\n input.value = formattedValue;\n setPatchedCaretPosition(input, caretPos, formattedValue);\n }\n }, [formattedValue]);\n var formatInputValue = function (inputValue, event, source) {\n var input = event.target;\n var changeRange = caretPositionBeforeChange.current\n ? findChangedRangeFromCaretPositions(caretPositionBeforeChange.current, input.selectionEnd)\n : findChangeRange(formattedValue, inputValue);\n var changeMeta = Object.assign(Object.assign({}, changeRange), { lastValue: formattedValue });\n var _numAsString = removeFormatting(inputValue, changeMeta);\n var _formattedValue = _format(_numAsString);\n // formatting can remove some of the number chars, so we need to fine number string again\n _numAsString = removeFormatting(_formattedValue, undefined);\n if (isAllowed && !isAllowed(getValueObject(_formattedValue, _numAsString))) {\n //reset the caret position\n var input$1 = event.target;\n var currentCaretPosition = geInputCaretPosition(input$1);\n var caretPos = getNewCaretPosition(inputValue, formattedValue, currentCaretPosition);\n input$1.value = formattedValue;\n setPatchedCaretPosition(input$1, caretPos, formattedValue);\n return false;\n }\n updateValueAndCaretPosition({\n formattedValue: _formattedValue,\n numAsString: _numAsString,\n inputValue: inputValue,\n event: event,\n source: source,\n input: event.target,\n });\n return true;\n };\n var setCaretPositionInfoBeforeChange = function (el, endOffset) {\n if ( endOffset === void 0 ) endOffset = 0;\n\n var selectionStart = el.selectionStart;\n var selectionEnd = el.selectionEnd;\n caretPositionBeforeChange.current = { selectionStart: selectionStart, selectionEnd: selectionEnd + endOffset };\n };\n var _onChange = function (e) {\n var el = e.target;\n var inputValue = el.value;\n var changed = formatInputValue(inputValue, e, SourceType.event);\n if (changed)\n { onChange(e); }\n // reset the position, as we have already handled the caret position\n caretPositionBeforeChange.current = undefined;\n };\n var _onKeyDown = function (e) {\n var el = e.target;\n var key = e.key;\n var selectionStart = el.selectionStart;\n var selectionEnd = el.selectionEnd;\n var value = el.value; if ( value === void 0 ) value = '';\n var expectedCaretPosition;\n //Handle backspace and delete against non numerical/decimal characters or arrow keys\n if (key === 'ArrowLeft' || key === 'Backspace') {\n expectedCaretPosition = Math.max(selectionStart - 1, 0);\n }\n else if (key === 'ArrowRight') {\n expectedCaretPosition = Math.min(selectionStart + 1, value.length);\n }\n else if (key === 'Delete') {\n expectedCaretPosition = selectionStart;\n }\n // if key is delete and text is not selected keep the end offset to 1, as it deletes one character\n // this is required as selection is not changed on delete case, which changes the change range calculation\n var endOffset = 0;\n if (key === 'Delete' && selectionStart === selectionEnd) {\n endOffset = 1;\n }\n var isArrowKey = key === 'ArrowLeft' || key === 'ArrowRight';\n //if expectedCaretPosition is not set it means we don't want to Handle keyDown\n // also if multiple characters are selected don't handle\n if (expectedCaretPosition === undefined || (selectionStart !== selectionEnd && !isArrowKey)) {\n onKeyDown(e);\n // keep information of what was the caret position before keyDown\n // set it after onKeyDown, in case parent updates the position manually\n setCaretPositionInfoBeforeChange(el, endOffset);\n return;\n }\n var newCaretPosition = expectedCaretPosition;\n if (isArrowKey) {\n var direction = key === 'ArrowLeft' ? 'left' : 'right';\n newCaretPosition = correctCaretPosition(value, expectedCaretPosition, direction);\n // arrow left or right only moves the caret, so no need to handle the event, if we are handling it manually\n if (newCaretPosition !== expectedCaretPosition) {\n e.preventDefault();\n }\n }\n else if (key === 'Delete' && !isValidInputCharacter(value[expectedCaretPosition])) {\n // in case of delete go to closest caret boundary on the right side\n newCaretPosition = correctCaretPosition(value, expectedCaretPosition, 'right');\n }\n else if (key === 'Backspace' && !isValidInputCharacter(value[expectedCaretPosition])) {\n // in case of backspace go to closest caret boundary on the left side\n newCaretPosition = correctCaretPosition(value, expectedCaretPosition, 'left');\n }\n if (newCaretPosition !== expectedCaretPosition) {\n setPatchedCaretPosition(el, newCaretPosition, value);\n }\n onKeyDown(e);\n setCaretPositionInfoBeforeChange(el, endOffset);\n };\n /** required to handle the caret position when click anywhere within the input **/\n var _onMouseUp = function (e) {\n var el = e.target;\n /**\n * NOTE: we have to give default value for value as in case when custom input is provided\n * value can come as undefined when nothing is provided on value prop.\n */\n var correctCaretPositionIfRequired = function () {\n var selectionStart = el.selectionStart;\n var selectionEnd = el.selectionEnd;\n var value = el.value; if ( value === void 0 ) value = '';\n if (selectionStart === selectionEnd) {\n var caretPosition = correctCaretPosition(value, selectionStart);\n if (caretPosition !== selectionStart) {\n setPatchedCaretPosition(el, caretPosition, value);\n }\n }\n };\n correctCaretPositionIfRequired();\n // try to correct after selection has updated by browser\n // this case is required when user clicks on some position while a text is selected on input\n requestAnimationFrame(function () {\n correctCaretPositionIfRequired();\n });\n onMouseUp(e);\n setCaretPositionInfoBeforeChange(el);\n };\n var _onFocus = function (e) {\n // Workaround Chrome and Safari bug https://bugs.chromium.org/p/chromium/issues/detail?id=779328\n // (onFocus event target selectionStart is always 0 before setTimeout)\n if (e.persist)\n { e.persist(); }\n var el = e.target;\n var currentTarget = e.currentTarget;\n focusedElm.current = el;\n timeout.current.focusTimeout = setTimeout(function () {\n var selectionStart = el.selectionStart;\n var selectionEnd = el.selectionEnd;\n var value = el.value; if ( value === void 0 ) value = '';\n var caretPosition = correctCaretPosition(value, selectionStart);\n //setPatchedCaretPosition only when everything is not selected on focus (while tabbing into the field)\n if (caretPosition !== selectionStart &&\n !(selectionStart === 0 && selectionEnd === value.length)) {\n setPatchedCaretPosition(el, caretPosition, value);\n }\n onFocus(Object.assign(Object.assign({}, e), { currentTarget: currentTarget }));\n }, 0);\n };\n var _onBlur = function (e) {\n focusedElm.current = null;\n clearTimeout(timeout.current.focusTimeout);\n clearTimeout(timeout.current.setCaretTimeout);\n onBlur(e);\n };\n // add input mode on element based on format prop and device once the component is mounted\n var inputMode = mounted && addInputMode() ? 'numeric' : undefined;\n var inputProps = Object.assign({ inputMode: inputMode }, otherProps, {\n type: type,\n value: formattedValue,\n onChange: _onChange,\n onKeyDown: _onKeyDown,\n onMouseUp: _onMouseUp,\n onFocus: _onFocus,\n onBlur: _onBlur,\n });\n if (displayType === 'text') {\n return renderText ? (React.createElement(React.Fragment, null, renderText(formattedValue, otherProps) || null)) : (React.createElement(\"span\", Object.assign({}, otherProps, { ref: getInputRef }), formattedValue));\n }\n else if (customInput) {\n var CustomInput = customInput;\n /* @ts-ignore */\n return React.createElement(CustomInput, Object.assign({}, inputProps, { ref: getInputRef }));\n }\n return React.createElement(\"input\", Object.assign({}, inputProps, { ref: getInputRef }));\n}\n\nfunction format(numStr, props) {\n var decimalScale = props.decimalScale;\n var fixedDecimalScale = props.fixedDecimalScale;\n var prefix = props.prefix; if ( prefix === void 0 ) prefix = '';\n var suffix = props.suffix; if ( suffix === void 0 ) suffix = '';\n var allowNegative = props.allowNegative;\n var thousandsGroupStyle = props.thousandsGroupStyle; if ( thousandsGroupStyle === void 0 ) thousandsGroupStyle = 'thousand';\n // don't apply formatting on empty string or '-'\n if (numStr === '' || numStr === '-') {\n return numStr;\n }\n var ref = getSeparators(props);\n var thousandSeparator = ref.thousandSeparator;\n var decimalSeparator = ref.decimalSeparator;\n /**\n * Keep the decimal separator\n * when decimalScale is not defined or non zero and the numStr has decimal in it\n * Or if decimalScale is > 0 and fixeDecimalScale is true (even if numStr has no decimal)\n */\n var hasDecimalSeparator = (decimalScale !== 0 && numStr.indexOf('.') !== -1) || (decimalScale && fixedDecimalScale);\n var ref$1 = splitDecimal(numStr, allowNegative);\n var beforeDecimal = ref$1.beforeDecimal;\n var afterDecimal = ref$1.afterDecimal;\n var addNegation = ref$1.addNegation; // eslint-disable-line prefer-const\n //apply decimal precision if its defined\n if (decimalScale !== undefined) {\n afterDecimal = limitToScale(afterDecimal, decimalScale, !!fixedDecimalScale);\n }\n if (thousandSeparator) {\n beforeDecimal = applyThousandSeparator(beforeDecimal, thousandSeparator, thousandsGroupStyle);\n }\n //add prefix and suffix when there is a number present\n if (prefix)\n { beforeDecimal = prefix + beforeDecimal; }\n if (suffix)\n { afterDecimal = afterDecimal + suffix; }\n //restore negation sign\n if (addNegation)\n { beforeDecimal = '-' + beforeDecimal; }\n numStr = beforeDecimal + ((hasDecimalSeparator && decimalSeparator) || '') + afterDecimal;\n return numStr;\n}\nfunction getSeparators(props) {\n var decimalSeparator = props.decimalSeparator; if ( decimalSeparator === void 0 ) decimalSeparator = '.';\n var thousandSeparator = props.thousandSeparator;\n var allowedDecimalSeparators = props.allowedDecimalSeparators;\n if (thousandSeparator === true) {\n thousandSeparator = ',';\n }\n if (!allowedDecimalSeparators) {\n allowedDecimalSeparators = [decimalSeparator, '.'];\n }\n return {\n decimalSeparator: decimalSeparator,\n thousandSeparator: thousandSeparator,\n allowedDecimalSeparators: allowedDecimalSeparators,\n };\n}\nfunction handleNegation(value, allowNegative) {\n if ( value === void 0 ) value = '';\n\n var negationRegex = new RegExp('(-)');\n var doubleNegationRegex = new RegExp('(-)(.)*(-)');\n // Check number has '-' value\n var hasNegation = negationRegex.test(value);\n // Check number has 2 or more '-' values\n var removeNegation = doubleNegationRegex.test(value);\n //remove negation\n value = value.replace(/-/g, '');\n if (hasNegation && !removeNegation && allowNegative) {\n value = '-' + value;\n }\n return value;\n}\nfunction getNumberRegex(decimalSeparator, global) {\n return new RegExp((\"(^-)|[0-9]|\" + (escapeRegExp(decimalSeparator))), global ? 'g' : undefined);\n}\nfunction isNumericString(val, prefix, suffix) {\n // for empty value we can always treat it as numeric string\n if (val === '')\n { return true; }\n return (!(prefix === null || prefix === void 0 ? void 0 : prefix.match(/\\d/)) && !(suffix === null || suffix === void 0 ? void 0 : suffix.match(/\\d/)) && typeof val === 'string' && !isNaN(Number(val)));\n}\nfunction removeFormatting(value, changeMeta, props) {\n var assign;\n\n if ( changeMeta === void 0 ) changeMeta = getDefaultChangeMeta(value);\n var allowNegative = props.allowNegative;\n var prefix = props.prefix; if ( prefix === void 0 ) prefix = '';\n var suffix = props.suffix; if ( suffix === void 0 ) suffix = '';\n var decimalScale = props.decimalScale;\n var from = changeMeta.from;\n var to = changeMeta.to;\n var start = to.start;\n var end = to.end;\n var ref = getSeparators(props);\n var allowedDecimalSeparators = ref.allowedDecimalSeparators;\n var decimalSeparator = ref.decimalSeparator;\n var isBeforeDecimalSeparator = value[end] === decimalSeparator;\n /**\n * If only a number is added on empty input which matches with the prefix or suffix,\n * then don't remove it, just return the same\n */\n if (charIsNumber(value) &&\n (value === prefix || value === suffix) &&\n changeMeta.lastValue === '') {\n return value;\n }\n /** Check for any allowed decimal separator is added in the numeric format and replace it with decimal separator */\n if (end - start === 1 && allowedDecimalSeparators.indexOf(value[start]) !== -1) {\n var separator = decimalScale === 0 ? '' : decimalSeparator;\n value = value.substring(0, start) + separator + value.substring(start + 1, value.length);\n }\n var stripNegation = function (value, start, end) {\n /**\n * if prefix starts with - we don't allow negative number to avoid confusion\n * if suffix starts with - and the value length is same as suffix length, then the - sign is from the suffix\n * In other cases, if the value starts with - then it is a negation\n */\n var hasNegation = false;\n var hasDoubleNegation = false;\n if (prefix.startsWith('-')) {\n hasNegation = false;\n }\n else if (value.startsWith('--')) {\n hasNegation = false;\n hasDoubleNegation = true;\n }\n else if (suffix.startsWith('-') && value.length === suffix.length) {\n hasNegation = false;\n }\n else if (value[0] === '-') {\n hasNegation = true;\n }\n var charsToRemove = hasNegation ? 1 : 0;\n if (hasDoubleNegation)\n { charsToRemove = 2; }\n // remove negation/double negation from start to simplify prefix logic as negation comes before prefix\n if (charsToRemove) {\n value = value.substring(charsToRemove);\n // account for the removal of the negation for start and end index\n start -= charsToRemove;\n end -= charsToRemove;\n }\n return { value: value, start: start, end: end, hasNegation: hasNegation };\n };\n var toMetadata = stripNegation(value, start, end);\n var hasNegation = toMetadata.hasNegation;\n ((assign = toMetadata, value = assign.value, start = assign.start, end = assign.end));\n var ref$1 = stripNegation(changeMeta.lastValue, from.start, from.end);\n var fromStart = ref$1.start;\n var fromEnd = ref$1.end;\n var lastValue = ref$1.value;\n // if only prefix and suffix part is updated reset the value to last value\n // if the changed range is from suffix in the updated value, and the the suffix starts with the same characters, allow the change\n var updatedSuffixPart = value.substring(start, end);\n if (value.length &&\n lastValue.length &&\n (fromStart > lastValue.length - suffix.length || fromEnd < prefix.length) &&\n !(updatedSuffixPart && suffix.startsWith(updatedSuffixPart))) {\n value = lastValue;\n }\n /**\n * remove prefix\n * Remove whole prefix part if its present on the value\n * If the prefix is partially deleted (in which case change start index will be less the prefix length)\n * Remove only partial part of prefix.\n */\n var startIndex = 0;\n if (value.startsWith(prefix))\n { startIndex += prefix.length; }\n else if (start < prefix.length)\n { startIndex = start; }\n value = value.substring(startIndex);\n // account for deleted prefix for end\n end -= startIndex;\n /**\n * Remove suffix\n * Remove whole suffix part if its present on the value\n * If the suffix is partially deleted (in which case change end index will be greater than the suffixStartIndex)\n * remove the partial part of suffix\n */\n var endIndex = value.length;\n var suffixStartIndex = value.length - suffix.length;\n if (value.endsWith(suffix))\n { endIndex = suffixStartIndex; }\n // if the suffix is removed from the end\n else if (end > suffixStartIndex)\n { endIndex = end; }\n // if the suffix is removed from start\n else if (end > value.length - suffix.length)\n { endIndex = end; }\n value = value.substring(0, endIndex);\n // add the negation back and handle for double negation\n value = handleNegation(hasNegation ? (\"-\" + value) : value, allowNegative);\n // remove non numeric characters\n value = (value.match(getNumberRegex(decimalSeparator, true)) || []).join('');\n // replace the decimalSeparator with ., and only keep the first separator, ignore following ones\n var firstIndex = value.indexOf(decimalSeparator);\n value = value.replace(new RegExp(escapeRegExp(decimalSeparator), 'g'), function (match, index) {\n return index === firstIndex ? '.' : '';\n });\n //check if beforeDecimal got deleted and there is nothing after decimal,\n //clear all numbers in such case while keeping the - sign\n var ref$2 = splitDecimal(value, allowNegative);\n var beforeDecimal = ref$2.beforeDecimal;\n var afterDecimal = ref$2.afterDecimal;\n var addNegation = ref$2.addNegation; // eslint-disable-line prefer-const\n //clear only if something got deleted before decimal (cursor is before decimal)\n if (to.end - to.start < from.end - from.start &&\n beforeDecimal === '' &&\n isBeforeDecimalSeparator &&\n !parseFloat(afterDecimal)) {\n value = addNegation ? '-' : '';\n }\n return value;\n}\nfunction getCaretBoundary(formattedValue, props) {\n var prefix = props.prefix; if ( prefix === void 0 ) prefix = '';\n var suffix = props.suffix; if ( suffix === void 0 ) suffix = '';\n var boundaryAry = Array.from({ length: formattedValue.length + 1 }).map(function () { return true; });\n var hasNegation = formattedValue[0] === '-';\n // fill for prefix and negation\n boundaryAry.fill(false, 0, prefix.length + (hasNegation ? 1 : 0));\n // fill for suffix\n var valLn = formattedValue.length;\n boundaryAry.fill(false, valLn - suffix.length + 1, valLn + 1);\n return boundaryAry;\n}\nfunction validateAndUpdateProps(props) {\n var ref = getSeparators(props);\n var thousandSeparator = ref.thousandSeparator;\n var decimalSeparator = ref.decimalSeparator;\n // eslint-disable-next-line prefer-const\n var prefix = props.prefix; if ( prefix === void 0 ) prefix = '';\n var allowNegative = props.allowNegative; if ( allowNegative === void 0 ) allowNegative = true;\n if (thousandSeparator === decimalSeparator) {\n throw new Error((\"\\n Decimal separator can't be same as thousand separator.\\n thousandSeparator: \" + thousandSeparator + \" (thousandSeparator = {true} is same as thousandSeparator = \\\",\\\")\\n decimalSeparator: \" + decimalSeparator + \" (default value for decimalSeparator is .)\\n \"));\n }\n if (prefix.startsWith('-') && allowNegative) {\n // TODO: throw error in next major version\n console.error((\"\\n Prefix can't start with '-' when allowNegative is true.\\n prefix: \" + prefix + \"\\n allowNegative: \" + allowNegative + \"\\n \"));\n allowNegative = false;\n }\n return Object.assign(Object.assign({}, props), { allowNegative: allowNegative });\n}\nfunction useNumericFormat(props) {\n // validate props\n props = validateAndUpdateProps(props);\n var _decimalSeparator = props.decimalSeparator;\n var _allowedDecimalSeparators = props.allowedDecimalSeparators;\n var thousandsGroupStyle = props.thousandsGroupStyle;\n var suffix = props.suffix;\n var allowNegative = props.allowNegative;\n var allowLeadingZeros = props.allowLeadingZeros;\n var onKeyDown = props.onKeyDown; if ( onKeyDown === void 0 ) onKeyDown = noop;\n var onBlur = props.onBlur; if ( onBlur === void 0 ) onBlur = noop;\n var thousandSeparator = props.thousandSeparator;\n var decimalScale = props.decimalScale;\n var fixedDecimalScale = props.fixedDecimalScale;\n var prefix = props.prefix; if ( prefix === void 0 ) prefix = '';\n var defaultValue = props.defaultValue;\n var value = props.value;\n var valueIsNumericString = props.valueIsNumericString;\n var onValueChange = props.onValueChange;\n var restProps = __rest(props, [\"decimalSeparator\", \"allowedDecimalSeparators\", \"thousandsGroupStyle\", \"suffix\", \"allowNegative\", \"allowLeadingZeros\", \"onKeyDown\", \"onBlur\", \"thousandSeparator\", \"decimalScale\", \"fixedDecimalScale\", \"prefix\", \"defaultValue\", \"value\", \"valueIsNumericString\", \"onValueChange\"]);\n // get derived decimalSeparator and allowedDecimalSeparators\n var ref = getSeparators(props);\n var decimalSeparator = ref.decimalSeparator;\n var allowedDecimalSeparators = ref.allowedDecimalSeparators;\n var _format = function (numStr) { return format(numStr, props); };\n var _removeFormatting = function (inputValue, changeMeta) { return removeFormatting(inputValue, changeMeta, props); };\n var _value = isNil(value) ? defaultValue : value;\n // try to figure out isValueNumericString based on format prop and value\n var _valueIsNumericString = valueIsNumericString !== null && valueIsNumericString !== void 0 ? valueIsNumericString : isNumericString(_value, prefix, suffix);\n if (!isNil(value)) {\n _valueIsNumericString = _valueIsNumericString || typeof value === 'number';\n }\n else if (!isNil(defaultValue)) {\n _valueIsNumericString = _valueIsNumericString || typeof defaultValue === 'number';\n }\n var roundIncomingValueToPrecision = function (value) {\n if (isNotValidValue(value))\n { return value; }\n if (typeof value === 'number') {\n value = toNumericString(value);\n }\n /**\n * only round numeric or float string values coming through props,\n * we don't need to do it for onChange events, as we want to prevent typing there\n */\n if (_valueIsNumericString && typeof decimalScale === 'number') {\n return roundToPrecision(value, decimalScale, Boolean(fixedDecimalScale));\n }\n return value;\n };\n var ref$1 = useInternalValues(roundIncomingValueToPrecision(value), roundIncomingValueToPrecision(defaultValue), Boolean(_valueIsNumericString), _format, _removeFormatting, onValueChange);\n var ref$1_0 = ref$1[0];\n var numAsString = ref$1_0.numAsString;\n var formattedValue = ref$1_0.formattedValue;\n var _onValueChange = ref$1[1];\n var _onKeyDown = function (e) {\n var el = e.target;\n var key = e.key;\n var selectionStart = el.selectionStart;\n var selectionEnd = el.selectionEnd;\n var value = el.value; if ( value === void 0 ) value = '';\n // if user tries to delete partial prefix then ignore it\n if ((key === 'Backspace' || key === 'Delete') && selectionEnd < prefix.length) {\n e.preventDefault();\n return;\n }\n // if multiple characters are selected and user hits backspace, no need to handle anything manually\n if (selectionStart !== selectionEnd) {\n onKeyDown(e);\n return;\n }\n // if user hits backspace, while the cursor is before prefix, and the input has negation, remove the negation\n if (key === 'Backspace' &&\n value[0] === '-' &&\n selectionStart === prefix.length + 1 &&\n allowNegative) {\n // bring the cursor to after negation\n setCaretPosition(el, 1);\n }\n // don't allow user to delete decimal separator when decimalScale and fixedDecimalScale is set\n if (decimalScale && fixedDecimalScale) {\n if (key === 'Backspace' && value[selectionStart - 1] === decimalSeparator) {\n setCaretPosition(el, selectionStart - 1);\n e.preventDefault();\n }\n else if (key === 'Delete' && value[selectionStart] === decimalSeparator) {\n e.preventDefault();\n }\n }\n // if user presses the allowed decimal separator before the separator, move the cursor after the separator\n if ((allowedDecimalSeparators === null || allowedDecimalSeparators === void 0 ? void 0 : allowedDecimalSeparators.includes(key)) && value[selectionStart] === decimalSeparator) {\n setCaretPosition(el, selectionStart + 1);\n }\n var _thousandSeparator = thousandSeparator === true ? ',' : thousandSeparator;\n // move cursor when delete or backspace is pressed before/after thousand separator\n if (key === 'Backspace' && value[selectionStart - 1] === _thousandSeparator) {\n setCaretPosition(el, selectionStart - 1);\n }\n if (key === 'Delete' && value[selectionStart] === _thousandSeparator) {\n setCaretPosition(el, selectionStart + 1);\n }\n onKeyDown(e);\n };\n var _onBlur = function (e) {\n var _value = numAsString;\n // if there no no numeric value, clear the input\n if (!_value.match(/\\d/g)) {\n _value = '';\n }\n // clear leading 0s\n if (!allowLeadingZeros) {\n _value = fixLeadingZero(_value);\n }\n // apply fixedDecimalScale on blur event\n if (fixedDecimalScale && decimalScale) {\n _value = roundToPrecision(_value, decimalScale, fixedDecimalScale);\n }\n if (_value !== numAsString) {\n var formattedValue = format(_value, props);\n _onValueChange({\n formattedValue: formattedValue,\n value: _value,\n floatValue: parseFloat(_value),\n }, {\n event: e,\n source: SourceType.event,\n });\n }\n onBlur(e);\n };\n var isValidInputCharacter = function (inputChar) {\n if (inputChar === decimalSeparator)\n { return true; }\n return charIsNumber(inputChar);\n };\n var isCharacterSame = function (ref) {\n var currentValue = ref.currentValue;\n var lastValue = ref.lastValue;\n var formattedValue = ref.formattedValue;\n var currentValueIndex = ref.currentValueIndex;\n var formattedValueIndex = ref.formattedValueIndex;\n\n var curChar = currentValue[currentValueIndex];\n var newChar = formattedValue[formattedValueIndex];\n /**\n * NOTE: as thousand separator and allowedDecimalSeparators can be same, we need to check on\n * typed range if we have typed any character from allowedDecimalSeparators, in that case we\n * consider different characters like , and . same within the range of updated value.\n */\n var typedRange = findChangeRange(lastValue, currentValue);\n var to = typedRange.to;\n // handle corner case where if we user types a decimal separator with fixedDecimalScale\n // and pass back float value the cursor jumps. #851\n var getDecimalSeparatorIndex = function (value) {\n return _removeFormatting(value).indexOf('.') + prefix.length;\n };\n if (value === 0 &&\n fixedDecimalScale &&\n decimalScale &&\n currentValue[to.start] === decimalSeparator &&\n getDecimalSeparatorIndex(currentValue) < currentValueIndex &&\n getDecimalSeparatorIndex(formattedValue) > formattedValueIndex) {\n return false;\n }\n if (currentValueIndex >= to.start &&\n currentValueIndex < to.end &&\n allowedDecimalSeparators &&\n allowedDecimalSeparators.includes(curChar) &&\n newChar === decimalSeparator) {\n return true;\n }\n return curChar === newChar;\n };\n return Object.assign(Object.assign({}, restProps), { value: formattedValue, valueIsNumericString: false, isValidInputCharacter: isValidInputCharacter,\n isCharacterSame: isCharacterSame, onValueChange: _onValueChange, format: _format, removeFormatting: _removeFormatting, getCaretBoundary: function (formattedValue) { return getCaretBoundary(formattedValue, props); }, onKeyDown: _onKeyDown, onBlur: _onBlur });\n}\nfunction NumericFormat(props) {\n var numericFormatProps = useNumericFormat(props);\n return React.createElement(NumberFormatBase, Object.assign({}, numericFormatProps));\n}\n\nfunction format$1(numStr, props) {\n var format = props.format;\n var allowEmptyFormatting = props.allowEmptyFormatting;\n var mask = props.mask;\n var patternChar = props.patternChar; if ( patternChar === void 0 ) patternChar = '#';\n if (numStr === '' && !allowEmptyFormatting)\n { return ''; }\n var hashCount = 0;\n var formattedNumberAry = format.split('');\n for (var i = 0, ln = format.length; i < ln; i++) {\n if (format[i] === patternChar) {\n formattedNumberAry[i] = numStr[hashCount] || getMaskAtIndex(mask, hashCount);\n hashCount += 1;\n }\n }\n return formattedNumberAry.join('');\n}\nfunction removeFormatting$1(value, changeMeta, props) {\n if ( changeMeta === void 0 ) changeMeta = getDefaultChangeMeta(value);\n\n var format = props.format;\n var patternChar = props.patternChar; if ( patternChar === void 0 ) patternChar = '#';\n var from = changeMeta.from;\n var to = changeMeta.to;\n var lastValue = changeMeta.lastValue; if ( lastValue === void 0 ) lastValue = '';\n var isNumericSlot = function (caretPos) { return format[caretPos] === patternChar; };\n var removeFormatChar = function (string, startIndex) {\n var str = '';\n for (var i = 0; i < string.length; i++) {\n if (isNumericSlot(startIndex + i) && charIsNumber(string[i])) {\n str += string[i];\n }\n }\n return str;\n };\n var extractNumbers = function (str) { return str.replace(/[^0-9]/g, ''); };\n // if format doesn't have any number, remove all the non numeric characters\n if (!format.match(/\\d/)) {\n return extractNumbers(value);\n }\n /**\n * if user paste the whole formatted text in an empty input or doing select all and paste, check if matches to the pattern\n * and remove the format characters, if there is a mismatch on the pattern, do plane number extract\n */\n if ((lastValue === '' || from.end - from.start === lastValue.length) &&\n value.length === format.length) {\n var str = '';\n for (var i = 0; i < value.length; i++) {\n if (isNumericSlot(i)) {\n if (charIsNumber(value[i])) {\n str += value[i];\n }\n }\n else if (value[i] !== format[i]) {\n // if there is a mismatch on the pattern, do plane number extract\n return extractNumbers(value);\n }\n }\n return str;\n }\n /**\n * For partial change,\n * where ever there is a change on the input, we can break the number in three parts\n * 1st: left part which is unchanged\n * 2nd: middle part which is changed\n * 3rd: right part which is unchanged\n *\n * The first and third section will be same as last value, only the middle part will change\n * We can consider on the change part all the new characters are non format characters.\n * And on the first and last section it can have partial format characters.\n *\n * We pick first and last section from the lastValue (as that has 1-1 mapping with format)\n * and middle one from the update value.\n */\n var firstSection = lastValue.substring(0, from.start);\n var middleSection = value.substring(to.start, to.end);\n var lastSection = lastValue.substring(from.end);\n return (\"\" + (removeFormatChar(firstSection, 0)) + (extractNumbers(middleSection)) + (removeFormatChar(lastSection, from.end)));\n}\nfunction getCaretBoundary$1(formattedValue, props) {\n var format = props.format;\n var mask = props.mask;\n var patternChar = props.patternChar; if ( patternChar === void 0 ) patternChar = '#';\n var boundaryAry = Array.from({ length: formattedValue.length + 1 }).map(function () { return true; });\n var hashCount = 0;\n var firstEmptySlot = -1;\n var maskAndIndexMap = {};\n format.split('').forEach(function (char, index) {\n var maskAtIndex = undefined;\n if (char === patternChar) {\n hashCount++;\n maskAtIndex = getMaskAtIndex(mask, hashCount - 1);\n if (firstEmptySlot === -1 && formattedValue[index] === maskAtIndex) {\n firstEmptySlot = index;\n }\n }\n maskAndIndexMap[index] = maskAtIndex;\n });\n var isPosAllowed = function (pos) {\n // the position is allowed if the position is not masked and valid number area\n return format[pos] === patternChar && formattedValue[pos] !== maskAndIndexMap[pos];\n };\n for (var i = 0, ln = boundaryAry.length; i < ln; i++) {\n // consider caret to be in boundary if it is before or after numeric value\n // Note: on pattern based format its denoted by patternCharacter\n // we should also allow user to put cursor on first empty slot\n boundaryAry[i] = i === firstEmptySlot || isPosAllowed(i) || isPosAllowed(i - 1);\n }\n // the first patternChar position is always allowed\n boundaryAry[format.indexOf(patternChar)] = true;\n return boundaryAry;\n}\nfunction validateProps(props) {\n var mask = props.mask;\n if (mask) {\n var maskAsStr = mask === 'string' ? mask : mask.toString();\n if (maskAsStr.match(/\\d/g)) {\n throw new Error((\"Mask \" + mask + \" should not contain numeric character;\"));\n }\n }\n}\nfunction isNumericString$1(val, format) {\n //we can treat empty string as numeric string\n if (val === '')\n { return true; }\n return !(format === null || format === void 0 ? void 0 : format.match(/\\d/)) && typeof val === 'string' && (!!val.match(/^\\d+$/) || val === '');\n}\nfunction usePatternFormat(props) {\n var mask = props.mask;\n var allowEmptyFormatting = props.allowEmptyFormatting;\n var formatProp = props.format;\n var inputMode = props.inputMode; if ( inputMode === void 0 ) inputMode = 'numeric';\n var onKeyDown = props.onKeyDown; if ( onKeyDown === void 0 ) onKeyDown = noop;\n var patternChar = props.patternChar; if ( patternChar === void 0 ) patternChar = '#';\n var value = props.value;\n var defaultValue = props.defaultValue;\n var valueIsNumericString = props.valueIsNumericString;\n var restProps = __rest(props, [\"mask\", \"allowEmptyFormatting\", \"format\", \"inputMode\", \"onKeyDown\", \"patternChar\", \"value\", \"defaultValue\", \"valueIsNumericString\"]);\n // validate props\n validateProps(props);\n var _getCaretBoundary = function (formattedValue) {\n return getCaretBoundary$1(formattedValue, props);\n };\n var _onKeyDown = function (e) {\n var key = e.key;\n var el = e.target;\n var selectionStart = el.selectionStart;\n var selectionEnd = el.selectionEnd;\n var value = el.value;\n // if multiple characters are selected and user hits backspace, no need to handle anything manually\n if (selectionStart !== selectionEnd) {\n onKeyDown(e);\n return;\n }\n // bring the cursor to closest numeric section\n var caretPos = selectionStart;\n // if backspace is pressed after the format characters, bring it to numeric section\n // if delete is pressed before the format characters, bring it to numeric section\n if (key === 'Backspace' || key === 'Delete') {\n var direction = 'right';\n if (key === 'Backspace') {\n while (caretPos > 0 && formatProp[caretPos - 1] !== patternChar) {\n caretPos--;\n }\n direction = 'left';\n }\n else {\n var formatLn = formatProp.length;\n while (caretPos < formatLn && formatProp[caretPos] !== patternChar) {\n caretPos++;\n }\n direction = 'right';\n }\n caretPos = getCaretPosInBoundary(value, caretPos, _getCaretBoundary(value), direction);\n }\n else if (formatProp[caretPos] !== patternChar &&\n key !== 'ArrowLeft' &&\n key !== 'ArrowRight') {\n // if user is typing on format character position, bring user to next allowed caret position\n caretPos = getCaretPosInBoundary(value, caretPos + 1, _getCaretBoundary(value), 'right');\n }\n // if we changing caret position, set the caret position\n if (caretPos !== selectionStart) {\n setCaretPosition(el, caretPos);\n }\n onKeyDown(e);\n };\n // try to figure out isValueNumericString based on format prop and value\n var _value = isNil(value) ? defaultValue : value;\n var isValueNumericString = valueIsNumericString !== null && valueIsNumericString !== void 0 ? valueIsNumericString : isNumericString$1(_value, formatProp);\n var _props = Object.assign(Object.assign({}, props), { valueIsNumericString: isValueNumericString });\n return Object.assign(Object.assign({}, restProps), { value: value,\n defaultValue: defaultValue, valueIsNumericString: isValueNumericString, inputMode: inputMode, format: function (numStr) { return format$1(numStr, _props); }, removeFormatting: function (inputValue, changeMeta) { return removeFormatting$1(inputValue, changeMeta, _props); }, getCaretBoundary: _getCaretBoundary, onKeyDown: _onKeyDown });\n}\nfunction PatternFormat(props) {\n var patternFormatProps = usePatternFormat(props);\n return React.createElement(NumberFormatBase, Object.assign({}, patternFormatProps));\n}\n\nexport { NumberFormatBase, NumericFormat, PatternFormat, getCaretBoundary as getNumericCaretBoundary, getCaretBoundary$1 as getPatternCaretBoundary, format as numericFormatter, format$1 as patternFormatter, removeFormatting as removeNumericFormat, removeFormatting$1 as removePatternFormat, useNumericFormat, usePatternFormat };\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nvar _span;\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: (theme.vars || theme).palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ? ( /* notranslate needed while Google Translate will not fix zero-width space issue */_span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n }))) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","import * as React from \"react\";\r\nimport { NumericFormat } from \"react-number-format\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport { InputAdornment } from \"@mui/material\";\r\n\r\nconst NumericFormatCustom = React.forwardRef(function NumericFormatCustom(\r\n props,\r\n ref\r\n) {\r\n const { onChange, ...other } = props;\r\n\r\n return (\r\n <NumericFormat\r\n {...other}\r\n getInputRef={ref}\r\n onValueChange={(values) => {\r\n onChange({\r\n target: {\r\n value: values.value,\r\n },\r\n });\r\n }}\r\n thousandSeparator=\".\"\r\n decimalSeparator=\",\"\r\n valueIsNumericString\r\n decimalScale={4}\r\n />\r\n );\r\n});\r\n\r\nexport default function NumberInputForm({\r\n input,\r\n meta,\r\n label,\r\n onChangeExtra,\r\n onBlurExtra,\r\n yuzdeli,\r\n ...rest\r\n}) {\r\n return (\r\n <TextField\r\n {...input}\r\n sx={{ width: \"100%\" }}\r\n onChange={(e, newValue, reason, event) => {\r\n onChangeExtra && onChangeExtra(e.target.value, newValue);\r\n input.onChange(e.target.value === \"\" ? undefined : +e.target.value);\r\n }}\r\n InputProps={{\r\n inputComponent: NumericFormatCustom,\r\n }}\r\n variant=\"standard\"\r\n autoComplete=\"off\"\r\n error={meta.error && meta.touched}\r\n helperText={meta.error && meta.touched ? meta.error : null}\r\n inputProps={{\r\n startAdornment: (\r\n <InputAdornment position=\"start\">\r\n %\r\n </InputAdornment>\r\n ), readOnly: rest.readOnly\r\n }}\r\n onBlur={() => {\r\n onBlurExtra && onBlurExtra();\r\n }}\r\n // slotProps={{\r\n // input: {\r\n // startAdornment: <InputAdornment position=\"start\">%</InputAdornment>,\r\n // },\r\n // }}\r\n {...rest}\r\n />\r\n );\r\n}\r\n","import * as React from \"react\";\r\nimport Popover from \"@mui/material/Popover\";\r\nimport { Stack } from \"@mui/material\";\r\nimport ButtonWrapper from \"./ButtonWrapper\";\r\nimport MoreVertIcon from \"@mui/icons-material/MoreVert\";\r\n\r\nexport default function PopoverButton({\r\n children,\r\n label,\r\n disabled,\r\n backColor,\r\n hoverBackColor,\r\n}) {\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n\r\n const handleClick = (event) => {\r\n setAnchorEl(event.currentTarget);\r\n };\r\n\r\n const handleClose = () => {\r\n setAnchorEl(null);\r\n };\r\n\r\n const open = Boolean(anchorEl);\r\n const id = open ? \"simple-popover\" : undefined;\r\n\r\n return (\r\n <>\r\n <ButtonWrapper\r\n color=\"secondary\"\r\n startIcon={<MoreVertIcon />}\r\n onClick={handleClick}\r\n disabled={disabled}\r\n sx={\r\n backColor\r\n ? {\r\n backgroundColor: backColor,\r\n \"&:hover\": {\r\n backgroundColor: hoverBackColor ? hoverBackColor : backColor,\r\n },\r\n }\r\n : undefined\r\n }\r\n >\r\n {label}\r\n </ButtonWrapper>\r\n <Popover\r\n id={id}\r\n open={open}\r\n anchorEl={anchorEl}\r\n onClose={handleClose}\r\n anchorOrigin={{\r\n vertical: \"top\",\r\n horizontal: \"left\",\r\n }}\r\n >\r\n <Stack direction=\"column\" spacing={1} sx={{ p: 1 }}>\r\n {children}\r\n </Stack>\r\n </Popover>\r\n </>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport ButtonWrapper from \"../ButtonWrapper\";\r\nimport { Close } from \"@mui/icons-material\";\r\nimport { TALEP_DURUMU } from \"../../../common/constants\";\r\nimport { toast } from \"react-toastify\";\r\n\r\nexport default function IsKapatmaBtn({\r\n isKapatmaDialogRef,\r\n rowData,\r\n yetki,\r\n talepDuzenlenemez,\r\n}) {\r\n // toast.info(\"Filtreden şirket seçimi yapmalısınız.\");\r\n\r\n return (\r\n <ButtonWrapper\r\n color=\"error\"\r\n startIcon={<Close />}\r\n onClick={() => {\r\n {\r\n talepDuzenlenemez\r\n ? toast.warning(\r\n \"Talep ile alakalı görev oluşturulmuştur. Temsilciniz ile iletişime geçiniz.\"\r\n )\r\n : isKapatmaDialogRef?.current?.openRecord(rowData?.id);\r\n }\r\n }}\r\n disabled={!(yetki?.sil && rowData.id > 0)}\r\n >\r\n {rowData.talepDurumu !== TALEP_DURUMU.YAPILMASI_UYGUN_GORULMEDI.Value\r\n ? \"Talebi Reddet\"\r\n : \"Talep Reddetme Açıklaması\"}\r\n </ButtonWrapper>\r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { HttpAuthorized } from \"../common/common\";\r\nimport { printToast } from \"../common/constant-functions/printToast\";\r\nimport { apiUrl } from \"../common/constants\";\r\n\r\nfunction useFetchDialog(ref, fetchUrl, listGridRef) {\r\n const [open, setOpen] = useState(false);\r\n const [rowData, setRowData] = useState({});\r\n const [modalLoading, setModalLoading] = useState(true);\r\n\r\n const openRecord = async (recId, reqData) => {\r\n if (recId > 0 || reqData != null) {\r\n await fetchData(recId, reqData);\r\n }\r\n setOpen(true);\r\n };\r\n\r\n const closeRecord = () => {\r\n if (listGridRef) {\r\n const gridInstance = listGridRef?.current?.instance;\r\n let scrollPosition = 0;\r\n let selectedRowKey = null;\r\n \r\n if (gridInstance) {\r\n scrollPosition = gridInstance.getScrollable().scrollTop();\r\n selectedRowKey = gridInstance.option(\"focusedRowKey\");\r\n }\r\n \r\n setOpen(false);\r\n setRowData({});\r\n setModalLoading(true);\r\n \r\n setTimeout(() => {\r\n if (gridInstance) {\r\n gridInstance.getScrollable().scrollTo({ top: scrollPosition });\r\n gridInstance.option(\"focusedRowKey\", selectedRowKey);\r\n }\r\n }, 100);\r\n }\r\n else {\r\n\r\n setOpen(false);\r\n setRowData({});\r\n setModalLoading(true);\r\n }\r\n };\r\n\r\n React.useImperativeHandle(ref, () => ({\r\n openRecord: openRecord,\r\n closeRecord: closeRecord,\r\n }));\r\n\r\n async function fetchData(recId, reqData) {\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: apiUrl + fetchUrl,\r\n data: {\r\n ...(recId > 0 && { id: recId }),\r\n ...(reqData && { ...reqData }),\r\n },\r\n })\r\n .then((res) => {\r\n setRowData(res?.data?.data || {});\r\n setModalLoading(false);\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n });\r\n }\r\n\r\n return {\r\n open,\r\n openRecord,\r\n closeRecord,\r\n modalLoading,\r\n rowData,\r\n setRowData,\r\n };\r\n}\r\n\r\nexport default useFetchDialog;\r\n","\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M5 20h14v-2H5zM19 9h-4V3H9v6H5l7 7z\"\n}), 'Download');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTableContainerUtilityClass(slot) {\n return generateUtilityClass('MuiTableContainer', slot);\n}\nconst tableContainerClasses = generateUtilityClasses('MuiTableContainer', ['root']);\nexport default tableContainerClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"component\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled from '../styles/styled';\nimport { getTableContainerUtilityClass } from './tableContainerClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTableContainerUtilityClass, classes);\n};\nconst TableContainerRoot = styled('div', {\n name: 'MuiTableContainer',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n width: '100%',\n overflowX: 'auto'\n});\nconst TableContainer = /*#__PURE__*/React.forwardRef(function TableContainer(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiTableContainer'\n });\n const {\n className,\n component = 'div'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(TableContainerRoot, _extends({\n ref: ref,\n as: component,\n className: clsx(classes.root, className),\n ownerState: ownerState\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? TableContainer.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component, normally `Table`.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default TableContainer;","'use client';\n\nimport * as React from 'react';\n\n/**\n * @ignore - internal component.\n */\nconst TableContext = /*#__PURE__*/React.createContext();\nif (process.env.NODE_ENV !== 'production') {\n TableContext.displayName = 'TableContext';\n}\nexport default TableContext;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTableUtilityClass(slot) {\n return generateUtilityClass('MuiTable', slot);\n}\nconst tableClasses = generateUtilityClasses('MuiTable', ['root', 'stickyHeader']);\nexport default tableClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"component\", \"padding\", \"size\", \"stickyHeader\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport TableContext from './TableContext';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled from '../styles/styled';\nimport { getTableUtilityClass } from './tableClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n stickyHeader\n } = ownerState;\n const slots = {\n root: ['root', stickyHeader && 'stickyHeader']\n };\n return composeClasses(slots, getTableUtilityClass, classes);\n};\nconst TableRoot = styled('table', {\n name: 'MuiTable',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.stickyHeader && styles.stickyHeader];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'table',\n width: '100%',\n borderCollapse: 'collapse',\n borderSpacing: 0,\n '& caption': _extends({}, theme.typography.body2, {\n padding: theme.spacing(2),\n color: (theme.vars || theme).palette.text.secondary,\n textAlign: 'left',\n captionSide: 'bottom'\n })\n}, ownerState.stickyHeader && {\n borderCollapse: 'separate'\n}));\nconst defaultComponent = 'table';\nconst Table = /*#__PURE__*/React.forwardRef(function Table(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiTable'\n });\n const {\n className,\n component = defaultComponent,\n padding = 'normal',\n size = 'medium',\n stickyHeader = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component,\n padding,\n size,\n stickyHeader\n });\n const classes = useUtilityClasses(ownerState);\n const table = React.useMemo(() => ({\n padding,\n size,\n stickyHeader\n }), [padding, size, stickyHeader]);\n return /*#__PURE__*/_jsx(TableContext.Provider, {\n value: table,\n children: /*#__PURE__*/_jsx(TableRoot, _extends({\n as: component,\n role: component === defaultComponent ? null : 'table',\n ref: ref,\n className: clsx(classes.root, className),\n ownerState: ownerState\n }, other))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Table.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the table, normally `TableHead` and `TableBody`.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Allows TableCells to inherit padding of the Table.\n * @default 'normal'\n */\n padding: PropTypes.oneOf(['checkbox', 'none', 'normal']),\n /**\n * Allows TableCells to inherit size of the Table.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * Set the header sticky.\n *\n * ⚠️ It doesn't work with IE11.\n * @default false\n */\n stickyHeader: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Table;","import * as React from 'react';\n\n/**\n * @ignore - internal component.\n */\nconst Tablelvl2Context = /*#__PURE__*/React.createContext();\nif (process.env.NODE_ENV !== 'production') {\n Tablelvl2Context.displayName = 'Tablelvl2Context';\n}\nexport default Tablelvl2Context;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTableHeadUtilityClass(slot) {\n return generateUtilityClass('MuiTableHead', slot);\n}\nconst tableHeadClasses = generateUtilityClasses('MuiTableHead', ['root']);\nexport default tableHeadClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"component\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport Tablelvl2Context from '../Table/Tablelvl2Context';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled from '../styles/styled';\nimport { getTableHeadUtilityClass } from './tableHeadClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTableHeadUtilityClass, classes);\n};\nconst TableHeadRoot = styled('thead', {\n name: 'MuiTableHead',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'table-header-group'\n});\nconst tablelvl2 = {\n variant: 'head'\n};\nconst defaultComponent = 'thead';\nconst TableHead = /*#__PURE__*/React.forwardRef(function TableHead(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiTableHead'\n });\n const {\n className,\n component = defaultComponent\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(Tablelvl2Context.Provider, {\n value: tablelvl2,\n children: /*#__PURE__*/_jsx(TableHeadRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n role: component === defaultComponent ? null : 'rowgroup',\n ownerState: ownerState\n }, other))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? TableHead.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component, normally `TableRow`.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default TableHead;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTableRowUtilityClass(slot) {\n return generateUtilityClass('MuiTableRow', slot);\n}\nconst tableRowClasses = generateUtilityClasses('MuiTableRow', ['root', 'selected', 'hover', 'head', 'footer']);\nexport default tableRowClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"component\", \"hover\", \"selected\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport Tablelvl2Context from '../Table/Tablelvl2Context';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled from '../styles/styled';\nimport tableRowClasses, { getTableRowUtilityClass } from './tableRowClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n selected,\n hover,\n head,\n footer\n } = ownerState;\n const slots = {\n root: ['root', selected && 'selected', hover && 'hover', head && 'head', footer && 'footer']\n };\n return composeClasses(slots, getTableRowUtilityClass, classes);\n};\nconst TableRowRoot = styled('tr', {\n name: 'MuiTableRow',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.head && styles.head, ownerState.footer && styles.footer];\n }\n})(({\n theme\n}) => ({\n color: 'inherit',\n display: 'table-row',\n verticalAlign: 'middle',\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n [`&.${tableRowClasses.hover}:hover`]: {\n backgroundColor: (theme.vars || theme).palette.action.hover\n },\n [`&.${tableRowClasses.selected}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity)\n }\n }\n}));\nconst defaultComponent = 'tr';\n/**\n * Will automatically set dynamic row height\n * based on the material table element parent (head, body, etc).\n */\nconst TableRow = /*#__PURE__*/React.forwardRef(function TableRow(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiTableRow'\n });\n const {\n className,\n component = defaultComponent,\n hover = false,\n selected = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const tablelvl2 = React.useContext(Tablelvl2Context);\n const ownerState = _extends({}, props, {\n component,\n hover,\n selected,\n head: tablelvl2 && tablelvl2.variant === 'head',\n footer: tablelvl2 && tablelvl2.variant === 'footer'\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(TableRowRoot, _extends({\n as: component,\n ref: ref,\n className: clsx(classes.root, className),\n role: component === defaultComponent ? null : 'row',\n ownerState: ownerState\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? TableRow.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Should be valid `<tr>` children such as `TableCell`.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the table row will shade on hover.\n * @default false\n */\n hover: PropTypes.bool,\n /**\n * If `true`, the table row will have the selected shading.\n * @default false\n */\n selected: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default TableRow;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTableCellUtilityClass(slot) {\n return generateUtilityClass('MuiTableCell', slot);\n}\nconst tableCellClasses = generateUtilityClasses('MuiTableCell', ['root', 'head', 'body', 'footer', 'sizeSmall', 'sizeMedium', 'paddingCheckbox', 'paddingNone', 'alignLeft', 'alignCenter', 'alignRight', 'alignJustify', 'stickyHeader']);\nexport default tableCellClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"align\", \"className\", \"component\", \"padding\", \"scope\", \"size\", \"sortDirection\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { darken, alpha, lighten } from '@mui/system/colorManipulator';\nimport capitalize from '../utils/capitalize';\nimport TableContext from '../Table/TableContext';\nimport Tablelvl2Context from '../Table/Tablelvl2Context';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled from '../styles/styled';\nimport tableCellClasses, { getTableCellUtilityClass } from './tableCellClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n align,\n padding,\n size,\n stickyHeader\n } = ownerState;\n const slots = {\n root: ['root', variant, stickyHeader && 'stickyHeader', align !== 'inherit' && `align${capitalize(align)}`, padding !== 'normal' && `padding${capitalize(padding)}`, `size${capitalize(size)}`]\n };\n return composeClasses(slots, getTableCellUtilityClass, classes);\n};\nconst TableCellRoot = styled('td', {\n name: 'MuiTableCell',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`size${capitalize(ownerState.size)}`], ownerState.padding !== 'normal' && styles[`padding${capitalize(ownerState.padding)}`], ownerState.align !== 'inherit' && styles[`align${capitalize(ownerState.align)}`], ownerState.stickyHeader && styles.stickyHeader];\n }\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body2, {\n display: 'table-cell',\n verticalAlign: 'inherit',\n // Workaround for a rendering bug with spanned columns in Chrome 62.0.\n // Removes the alpha (sets it to 1), and lightens or darkens the theme color.\n borderBottom: theme.vars ? `1px solid ${theme.vars.palette.TableCell.border}` : `1px solid\n ${theme.palette.mode === 'light' ? lighten(alpha(theme.palette.divider, 1), 0.88) : darken(alpha(theme.palette.divider, 1), 0.68)}`,\n textAlign: 'left',\n padding: 16\n}, ownerState.variant === 'head' && {\n color: (theme.vars || theme).palette.text.primary,\n lineHeight: theme.typography.pxToRem(24),\n fontWeight: theme.typography.fontWeightMedium\n}, ownerState.variant === 'body' && {\n color: (theme.vars || theme).palette.text.primary\n}, ownerState.variant === 'footer' && {\n color: (theme.vars || theme).palette.text.secondary,\n lineHeight: theme.typography.pxToRem(21),\n fontSize: theme.typography.pxToRem(12)\n}, ownerState.size === 'small' && {\n padding: '6px 16px',\n [`&.${tableCellClasses.paddingCheckbox}`]: {\n width: 24,\n // prevent the checkbox column from growing\n padding: '0 12px 0 16px',\n '& > *': {\n padding: 0\n }\n }\n}, ownerState.padding === 'checkbox' && {\n width: 48,\n // prevent the checkbox column from growing\n padding: '0 0 0 4px'\n}, ownerState.padding === 'none' && {\n padding: 0\n}, ownerState.align === 'left' && {\n textAlign: 'left'\n}, ownerState.align === 'center' && {\n textAlign: 'center'\n}, ownerState.align === 'right' && {\n textAlign: 'right',\n flexDirection: 'row-reverse'\n}, ownerState.align === 'justify' && {\n textAlign: 'justify'\n}, ownerState.stickyHeader && {\n position: 'sticky',\n top: 0,\n zIndex: 2,\n backgroundColor: (theme.vars || theme).palette.background.default\n}));\n\n/**\n * The component renders a `<th>` element when the parent context is a header\n * or otherwise a `<td>` element.\n */\nconst TableCell = /*#__PURE__*/React.forwardRef(function TableCell(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiTableCell'\n });\n const {\n align = 'inherit',\n className,\n component: componentProp,\n padding: paddingProp,\n scope: scopeProp,\n size: sizeProp,\n sortDirection,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const table = React.useContext(TableContext);\n const tablelvl2 = React.useContext(Tablelvl2Context);\n const isHeadCell = tablelvl2 && tablelvl2.variant === 'head';\n let component;\n if (componentProp) {\n component = componentProp;\n } else {\n component = isHeadCell ? 'th' : 'td';\n }\n let scope = scopeProp;\n // scope is not a valid attribute for <td/> elements.\n // source: https://html.spec.whatwg.org/multipage/tables.html#the-td-element\n if (component === 'td') {\n scope = undefined;\n } else if (!scope && isHeadCell) {\n scope = 'col';\n }\n const variant = variantProp || tablelvl2 && tablelvl2.variant;\n const ownerState = _extends({}, props, {\n align,\n component,\n padding: paddingProp || (table && table.padding ? table.padding : 'normal'),\n size: sizeProp || (table && table.size ? table.size : 'medium'),\n sortDirection,\n stickyHeader: variant === 'head' && table && table.stickyHeader,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n let ariaSort = null;\n if (sortDirection) {\n ariaSort = sortDirection === 'asc' ? 'ascending' : 'descending';\n }\n return /*#__PURE__*/_jsx(TableCellRoot, _extends({\n as: component,\n ref: ref,\n className: clsx(classes.root, className),\n \"aria-sort\": ariaSort,\n scope: scope,\n ownerState: ownerState\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? TableCell.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Set the text-align on the table cell content.\n *\n * Monetary or generally number fields **should be right aligned** as that allows\n * you to add them up quickly in your head without having to worry about decimals.\n * @default 'inherit'\n */\n align: PropTypes.oneOf(['center', 'inherit', 'justify', 'left', 'right']),\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Sets the padding applied to the cell.\n * The prop defaults to the value (`'default'`) inherited from the parent Table component.\n */\n padding: PropTypes.oneOf(['checkbox', 'none', 'normal']),\n /**\n * Set scope attribute.\n */\n scope: PropTypes.string,\n /**\n * Specify the size of the cell.\n * The prop defaults to the value (`'medium'`) inherited from the parent Table component.\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * Set aria-sort direction.\n */\n sortDirection: PropTypes.oneOf(['asc', 'desc', false]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Specify the cell type.\n * The prop defaults to the value inherited from the parent TableHead, TableBody, or TableFooter components.\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['body', 'footer', 'head']), PropTypes.string])\n} : void 0;\nexport default TableCell;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTableBodyUtilityClass(slot) {\n return generateUtilityClass('MuiTableBody', slot);\n}\nconst tableBodyClasses = generateUtilityClasses('MuiTableBody', ['root']);\nexport default tableBodyClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"component\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport Tablelvl2Context from '../Table/Tablelvl2Context';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled from '../styles/styled';\nimport { getTableBodyUtilityClass } from './tableBodyClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTableBodyUtilityClass, classes);\n};\nconst TableBodyRoot = styled('tbody', {\n name: 'MuiTableBody',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'table-row-group'\n});\nconst tablelvl2 = {\n variant: 'body'\n};\nconst defaultComponent = 'tbody';\nconst TableBody = /*#__PURE__*/React.forwardRef(function TableBody(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiTableBody'\n });\n const {\n className,\n component = defaultComponent\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(Tablelvl2Context.Provider, {\n value: tablelvl2,\n children: /*#__PURE__*/_jsx(TableBodyRoot, _extends({\n className: clsx(classes.root, className),\n as: component,\n ref: ref,\n role: component === defaultComponent ? null : 'rowgroup',\n ownerState: ownerState\n }, other))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? TableBody.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component, normally `TableRow`.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default TableBody;","import { Delete, Download } from \"@mui/icons-material\";\r\nimport {\r\n Grid,\r\n IconButton,\r\n Paper,\r\n Skeleton,\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableContainer,\r\n TableHead,\r\n TableRow,\r\n Typography,\r\n} from \"@mui/material\";\r\nimport React from \"react\";\r\n\r\nfunction FileList({\r\n files,\r\n modalLoading,\r\n downloadFile,\r\n deleteFileIds,\r\n setDeleteFileIds,\r\n height,\r\n yetki,\r\n deleteDisabled\r\n}) {\r\n function deleteFile(id) {\r\n setDeleteFileIds((prevState) => {\r\n if (prevState.includes(id)) {\r\n return prevState.filter((fileId) => fileId !== id);\r\n } else {\r\n return [...prevState, id];\r\n }\r\n });\r\n }\r\n\r\n return (\r\n <div>\r\n {modalLoading ? (\r\n <>\r\n <Skeleton height={\"70px\"} />\r\n <Skeleton height={\"70px\"} />\r\n </>\r\n ) : (\r\n <>\r\n {Array.isArray(files) && files.length > 0 ? (\r\n <TableContainer component={Paper} sx={{ height: height }}>\r\n <Table sx={{ minWidth: 650 }} aria-label=\"simple table\">\r\n <TableHead>\r\n <TableRow>\r\n <TableCell>Dosya Adı</TableCell>\r\n <TableCell>Ekleyen Kullanıcı</TableCell>\r\n <TableCell>Yetki Grubu</TableCell>\r\n <TableCell> </TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {Array.isArray(files) &&\r\n files?.map((file, index) => (\r\n <TableRow\r\n key={index}\r\n sx={{\r\n \"&:last-child td, &:last-child th\": { border: 0 },\r\n }}\r\n >\r\n <TableCell component=\"th\" scope=\"row\">\r\n <Grid\r\n container\r\n sx={{\r\n justifyContent: \"space-between\",\r\n alignItems: \"center\",\r\n }}\r\n >\r\n {\r\n <Typography\r\n style={\r\n deleteFileIds.includes(file.id)\r\n ? {\r\n textDecoration: \"line-through\",\r\n color: \"red\",\r\n }\r\n : {}\r\n }\r\n >\r\n {file.fileName}\r\n </Typography>\r\n }\r\n {/* <Grid>\r\n <IconButton\r\n aria-label=\"İndir\"\r\n color=\"success\"\r\n onClick={() => downloadFile(file.id)}\r\n >\r\n <Download />\r\n </IconButton>\r\n {yetki?.sil && (\r\n <IconButton\r\n aria-label=\"Sil\"\r\n color=\"error\"\r\n onClick={() => deleteFile(file.id)}\r\n >\r\n <Delete />\r\n </IconButton>\r\n )}\r\n </Grid> */}\r\n </Grid>\r\n </TableCell>\r\n\r\n <TableCell component=\"th\" scope=\"row\">\r\n {\r\n <Typography\r\n style={\r\n deleteFileIds.includes(file.id)\r\n ? {\r\n textDecoration: \"line-through\",\r\n color: \"red\",\r\n }\r\n : {}\r\n }\r\n >\r\n {file.ekleyenKullaniciAdi}\r\n </Typography>\r\n }\r\n </TableCell>\r\n\r\n <TableCell component=\"th\" scope=\"row\">\r\n {\r\n <Typography\r\n style={\r\n deleteFileIds.includes(file.id)\r\n ? {\r\n textDecoration: \"line-through\",\r\n color: \"red\",\r\n }\r\n : {}\r\n }\r\n >\r\n {file.ekleyenKullYetkiGrubu}\r\n </Typography>\r\n }\r\n </TableCell>\r\n\r\n <TableCell component=\"th\" scope=\"row\" align=\"right\">\r\n <Grid sx={{ justifyContent: \"flex-end\" }}>\r\n <IconButton\r\n aria-label=\"İndir\"\r\n color=\"success\"\r\n onClick={() => downloadFile(file.id)}\r\n >\r\n <Download />\r\n </IconButton>\r\n {yetki?.sil && (\r\n <IconButton\r\n aria-label=\"Sil\"\r\n color=\"error\"\r\n onClick={() => deleteFile(file.id)}\r\n disabled={deleteDisabled}\r\n >\r\n <Delete />\r\n </IconButton>\r\n )}\r\n </Grid>\r\n </TableCell>\r\n </TableRow>\r\n ))}\r\n </TableBody>\r\n </Table>\r\n </TableContainer>\r\n ) : (\r\n <Typography>Dosya bulunamadı..</Typography>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n );\r\n}\r\n\r\nexport default FileList;\r\n","\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M5 20h14v-2H5zm0-10h4v6h6v-6h4l-7-7z\"\n}), 'Upload');","import React from \"react\";\r\nimport { Upload } from \"@mui/icons-material\";\r\nimport CustomColoredButton from \"./CustomColoredButton\";\r\n\r\nexport default function DosyaYukleButton({ label, onClick, icon, disabled }) {\r\n return (\r\n <CustomColoredButton\r\n color=\"purple\"\r\n sx={{ mr: 1 }}\r\n startIcon={icon ?? <Upload />}\r\n onClick={onClick}\r\n disabled={disabled}\r\n >\r\n {label ?? \"Dosya Yükle\"}\r\n </CustomColoredButton>\r\n );\r\n}\r\n","import { FileUploader } from \"devextreme-react\";\r\nimport React, { useState } from \"react\";\r\nimport { HttpAuthorizedFile } from \"../../common/common\";\r\nimport { printToast } from \"../../common/constant-functions/printToast\";\r\nimport ScrollDialog from \"../dialogs/ScrollDialog\";\r\nimport { loadingVisible } from \"../../common/constant-functions/loadingVisible\";\r\nimport { Typography } from \"@mui/material\";\r\n\r\nconst DosyaYukle = React.forwardRef(\r\n (\r\n {\r\n route,\r\n reqExtraData,\r\n recordRef,\r\n rowData,\r\n setRowData,\r\n handleCloseExtra,\r\n allowedFileExtensions = [\r\n \".pdf\",\r\n \".xls\",\r\n \".xlsx\",\r\n \".png\",\r\n \".jpg\",\r\n \".jpeg\",\r\n \".docx\",\r\n \".jfif\", //burdan sonrası yeni eklendi\r\n \".ods\",\r\n \".odt\",\r\n \".rar\",\r\n \".txt\",\r\n \".xslt\",\r\n \".zip\",\r\n ],\r\n modalTitle,\r\n sutunSiralamasi,\r\n },\r\n ref\r\n ) => {\r\n const [open, setOpen] = useState(false);\r\n\r\n const handleClickOpen = () => {\r\n setOpen(true);\r\n };\r\n\r\n const handleClose = () => {\r\n setOpen(false);\r\n };\r\n\r\n React.useImperativeHandle(ref, () => ({\r\n openModal: handleClickOpen,\r\n closeModal: handleClose,\r\n isOpen: open,\r\n }));\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle={modalTitle ?? \"Dosya Yükle\"}\r\n // sx={{ width: \"430px\" }}\r\n maxWidth=\"sm\"\r\n >\r\n {sutunSiralamasi && (\r\n <>\r\n <Typography variant=\"h6\" align=\"center\">\r\n Sütun Sıralaması\r\n </Typography>\r\n <Typography variant=\"subtitle2\" sx={{ padding: \"5px\" }}>\r\n {sutunSiralamasi}\r\n </Typography>\r\n </>\r\n )}\r\n\r\n <FileUploader\r\n style={{\r\n cursor: \"pointer\",\r\n border: \"1px dashed grey\",\r\n }}\r\n readyToUploadMessage=\"Dosya yüklemeye hazır\"\r\n selectButtonText=\"Dosya Seç\"\r\n labelText=\"veya dosyayı buraya sürükle\"\r\n uploadMode=\"useButtons\"\r\n uploadButtonText=\"Yükle\"\r\n uploadAbortedMessage=\"Yükleme işlemi iptal edildi\"\r\n uploadedMessage=\"Dosya Yükleniyor\"\r\n uploadFailedMessage=\"Dosya Yüklenemedi\"\r\n invalidMaxFileSizeMessage=\"Dosya boyutu yükleme için uygun değil. Dosya boyutu en fazla 20mb olabilir.\"\r\n // {...(allowedFileExtensions && {\r\n // allowedFileExtensions: allowedFileExtensions,\r\n // })}\r\n maxFileSize={20971521} // 20mb max\r\n uploadFile={(file, callback) => {\r\n loadingVisible(true);\r\n var FormData = require(\"form-data\");\r\n var reqData = new FormData();\r\n reqData.append(\"file\", file);\r\n\r\n reqExtraData?.forEach((item) => {\r\n reqData.append(item.name, item.value);\r\n });\r\n\r\n HttpAuthorizedFile.post(route, reqData)\r\n .then((res) => {\r\n printToast(res.data);\r\n if (res.data.success) {\r\n setRowData && setRowData(res.data.data);\r\n }\r\n recordRef?.current?.openRecord(rowData.id);\r\n handleClose();\r\n handleCloseExtra && handleCloseExtra();\r\n })\r\n .catch((error) => printToast(error.response.data))\r\n .finally(() => loadingVisible(false));\r\n }}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n }\r\n);\r\n\r\nexport default DosyaYukle;\r\n","import React, { useRef, useState } from \"react\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport FileList from \"./FileList\";\r\nimport { loadingVisible } from \"../../common/constant-functions/loadingVisible\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport { apiUrl } from \"../../common/constants\";\r\nimport { printToast } from \"../../common/constant-functions/printToast\";\r\nimport { Form } from \"react-final-form\";\r\nimport DialogContentWrapper from \"../dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../dialogs/DialogActionsWrapper\";\r\nimport ButtonWrapper from \"../buttons/ButtonWrapper\";\r\nimport { Delete, Download } from \"@mui/icons-material\";\r\nimport DosyaYukleButton from \"../buttons/custom/DosyaYukleButton\";\r\nimport DosyaYukle from \"./DosyaYukle\";\r\nimport CustomColoredButton from \"../buttons/custom/CustomColoredButton\";\r\n\r\nconst FileViewer = React.forwardRef(\r\n (\r\n {\r\n ekranKodu,\r\n routes,\r\n reqData,\r\n parentRowData,\r\n rowData,\r\n setRowData,\r\n modalLoading,\r\n height,\r\n deleteDisabled\r\n },\r\n ref\r\n ) => {\r\n const dosyaYukleRef = useRef();\r\n\r\n const [deleteFileIds, setDeleteFileIds] = useState([]);\r\n\r\n function download(file) {\r\n const decoded = window.atob(file.bytes);\r\n const byteCharacters = decoded.split(\"\").map((c) => c.charCodeAt(0));\r\n const byteArray = new Uint8Array(byteCharacters);\r\n const blob = new Blob([byteArray], { type: file.mime });\r\n\r\n const url = URL.createObjectURL(blob);\r\n\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.download = file.fileName;\r\n\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n\r\n URL.revokeObjectURL(url);\r\n }\r\n\r\n async function fetchData(recId, requestData, fetchUrl) {\r\n loadingVisible(true);\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: apiUrl + fetchUrl,\r\n data: {\r\n ...(recId > 0 && { id: recId }),\r\n ...(requestData && { ...requestData }),\r\n },\r\n })\r\n .then((res) => {\r\n if (fetchUrl === routes.allFilesDownloadRoute) {\r\n res?.data?.data?.forEach((file) => {\r\n download(file);\r\n });\r\n } else {\r\n download(res?.data?.data);\r\n }\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n })\r\n .finally(() => loadingVisible(false));\r\n }\r\n\r\n function downloadFile(fileId) {\r\n fetchData(fileId, null, routes.fileDownloadRoute);\r\n }\r\n\r\n function downloadAllFiles() {\r\n fetchData(null, reqData, routes.allFilesDownloadRoute);\r\n }\r\n\r\n const context = React.useContext(AppContext);\r\n\r\n const yetki =\r\n context?.user?.yetkiler.find((x) => x.ekranKodu === ekranKodu) ?? {};\r\n\r\n const handleSubmit = () => { };\r\n\r\n async function handleDelete() {\r\n loadingVisible(true);\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${routes.deleteFilesRoute}`,\r\n data: { masterId: reqData.id, idList: deleteFileIds },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n setRowData(res.data.data || {});\r\n setDeleteFileIds([]);\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n })\r\n .finally(() => loadingVisible(false));\r\n }\r\n\r\n return (\r\n <>\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n // validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <form onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <FileList\r\n files={rowData}\r\n modalLoading={modalLoading}\r\n downloadFile={downloadFile}\r\n setDeleteFileIds={setDeleteFileIds}\r\n deleteFileIds={deleteFileIds}\r\n height={height}\r\n yetki={yetki}\r\n deleteDisabled={deleteDisabled}\r\n ></FileList>\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n {yetki?.kaydet && (\r\n <DosyaYukleButton\r\n onClick={() => {\r\n dosyaYukleRef?.current?.openModal();\r\n }}\r\n />\r\n )}\r\n {yetki?.kaydet && rowData?.length > 0 && (\r\n <CustomColoredButton\r\n startIcon={<Download />}\r\n onClick={downloadAllFiles}\r\n color=\"pink\"\r\n >\r\n Tüm Dosyaları İndir\r\n </CustomColoredButton>\r\n )}\r\n {yetki?.sil && deleteFileIds.length > 0 && (\r\n <ButtonWrapper\r\n color=\"error\"\r\n startIcon={<Delete />}\r\n onClick={() => {\r\n handleDelete();\r\n form.reset();\r\n }}\r\n >\r\n Seçilen Dosyaları Sil\r\n </ButtonWrapper>\r\n )}\r\n </DialogActionsWrapper>\r\n </form>\r\n )}\r\n />\r\n <DosyaYukle\r\n route={routes.fileUploadRoute}\r\n reqExtraData={[{ name: \"id\", value: parentRowData?.id }]}\r\n ref={dosyaYukleRef}\r\n // recordRef={ref}\r\n rowData={parentRowData}\r\n setRowData={setRowData}\r\n ></DosyaYukle>\r\n </>\r\n );\r\n }\r\n);\r\nexport default FileViewer;\r\n","import React from \"react\";\r\nimport ScrollDialog from \"../dialogs/ScrollDialog\";\r\nimport useFetchDialog from \"../../hooks/use-fetch-dialog\";\r\nimport FileViewer from \"./FileViewer\";\r\n\r\nconst FileViewDialog = React.forwardRef(\r\n ({ ekranKodu, routes, reqData, parentRowData, deleteDisabled }, ref) => {\r\n const { open, closeRecord, modalLoading, rowData, setRowData } =\r\n useFetchDialog(ref, routes.filesInfoRoute);\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"Dosyalar\"\r\n maxWidth=\"md\"\r\n canFullScreen={false}\r\n >\r\n <FileViewer\r\n ekranKodu={ekranKodu}\r\n routes={routes}\r\n reqData={reqData}\r\n parentRowData={parentRowData}\r\n rowData={rowData}\r\n setRowData={setRowData}\r\n modalLoading={modalLoading}\r\n deleteDisabled={deleteDisabled}\r\n // ref={ref}\r\n ></FileViewer>\r\n </ScrollDialog>\r\n </>\r\n );\r\n }\r\n);\r\nexport default FileViewDialog;\r\n","import React, { useRef } from \"react\";\r\nimport PageviewIcon from \"@mui/icons-material/Pageview\";\r\nimport FileViewDialog from \"../../file/FileViewDialog\";\r\nimport CustomColoredButton from \"./CustomColoredButton\";\r\n\r\nexport default function EkDosyaButton({\r\n routes,\r\n reqData,\r\n label,\r\n ekranKodu,\r\n parentRowData,\r\n disabled,\r\n deleteDisabled,\r\n ...rest\r\n}) {\r\n const dosyaGoruntulemeDialogRef = useRef();\r\n return (\r\n <>\r\n <CustomColoredButton\r\n sx={{ mr: 1 }}\r\n startIcon={<PageviewIcon />}\r\n onClick={() =>\r\n dosyaGoruntulemeDialogRef?.current?.openRecord(null, reqData)\r\n }\r\n {...rest}\r\n color=\"green\"\r\n disabled={disabled}\r\n >\r\n {label ? label : \"Dosyalar\"}\r\n </CustomColoredButton>\r\n <FileViewDialog\r\n ekranKodu={ekranKodu}\r\n routes={routes}\r\n ref={dosyaGoruntulemeDialogRef}\r\n reqData={reqData}\r\n parentRowData={parentRowData}\r\n deleteDisabled={deleteDisabled}\r\n ></FileViewDialog>\r\n </>\r\n );\r\n}\r\n","const talebeAitDosyaVar =\r\n \"Talebe ait dosya kaydı bulundu. Talep silinemez. Tüm dosyalarla birlikte silmek istiyor musunuz?\";\r\n\r\nexport { talebeAitDosyaVar };\r\n","import { useMemo } from \"react\";\r\nimport { HttpAuthorized } from \"../common/common\";\r\nimport { printToast } from \"../common/constant-functions/printToast\";\r\nimport { apiUrl } from \"../common/constants\";\r\nimport { loadingVisible } from \"../common/constant-functions/loadingVisible\";\r\n\r\nfunction useHandleDelete(\r\n deleteRoute,\r\n setRowData,\r\n handleClose,\r\n listGridRef,\r\n deleteCheck\r\n) {\r\n async function handleDelete(id) {\r\n loadingVisible(true);\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${deleteRoute}`,\r\n data: { id: id },\r\n })\r\n .then((res) => {\r\n let checked = false;\r\n if (deleteCheck) {\r\n checked = deleteCheck(res);\r\n }\r\n if (!checked) {\r\n printToast(res.data);\r\n if (res.data.success) {\r\n setRowData && setRowData({});\r\n listGridRef?.current?.instance?.refresh();\r\n handleClose && handleClose();\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n })\r\n .finally(() => loadingVisible(false));\r\n }\r\n\r\n return useMemo(() => handleDelete, []);\r\n}\r\n\r\nexport default useHandleDelete;\r\n","import React from \"react\";\r\nimport ButtonWrapper from \"../ButtonWrapper\";\r\nimport { Save } from \"@mui/icons-material\";\r\n\r\nexport default function SaveButton({ onClick, disabled, saveButtonText }) {\r\n return (\r\n <ButtonWrapper\r\n color=\"success\"\r\n startIcon={<Save />}\r\n onClick={onClick}\r\n disabled={disabled}\r\n >\r\n {saveButtonText ? saveButtonText : \"Kaydet\"}\r\n </ButtonWrapper>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport RichTextEditor from \"../../components/inputs/form-inputs/RichTextEditor\";\r\nimport * as yup from \"yup\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport SaveButton from \"../../components/buttons/custom/SaveButton\";\r\nimport CancelButton from \"../../components/buttons/custom/CancelButton\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\n\r\nconst PageConfig = {\r\n ekranKodu: \"Musteri_Res\",\r\n getByIdRoute: \"MusteriTalep/IsSonucuGetById\",\r\n updateRoute: \"MusteriTalep/IsiKapat\",\r\n};\r\n\r\nconst IsKapatmaDialog = React.forwardRef(\r\n ({ ekranKodu, listGridRef, setRowDataFnc, actionBtnVisible = true }, ref) => {\r\n const afterSubmitFnc = (res) => {\r\n if (res.data.data != null) {\r\n setRowDataFnc((prevState) => ({\r\n ...prevState,\r\n talepDurumu: res.data.data,\r\n }));\r\n }\r\n };\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n yetki,\r\n validateFormValues,\r\n } = usePageRecord(\r\n ref,\r\n PageConfig,\r\n listGridRef,\r\n ekranKodu,\r\n null,\r\n afterSubmitFnc\r\n );\r\n\r\n const validationSchema = yup.object().shape({\r\n isSonucu: yup.string().required(),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n return (\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Talep Kapatma Açıklaması\"\r\n maxWidth=\"md\"\r\n fullWidth={true}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper sx={{ padding: 0 }}>\r\n <Field\r\n name=\"isSonucu\"\r\n component={RichTextEditor}\r\n readOnly={!yetki.kaydet}\r\n label={\"Açıklama\"}\r\n style={{ margin: \"10px\" }}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogContentWrapper>\r\n {actionBtnVisible && (\r\n <DialogActionsWrapper>\r\n {yetki?.kaydet && (\r\n <SaveButton\r\n onClick={(e) => {\r\n form.submit();\r\n handleClose();\r\n }}\r\n />\r\n )}\r\n {yetki?.kaydet && (\r\n <CancelButton\r\n onClick={() => {\r\n form.reset();\r\n }}\r\n disabled={submitting || pristine}\r\n />\r\n )}\r\n </DialogActionsWrapper>\r\n )}\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n );\r\n }\r\n);\r\n\r\nexport default IsKapatmaDialog;\r\n","import { useMemo } from \"react\";\r\nimport { HttpAuthorized } from \"../common/common\";\r\nimport { printToast } from \"../common/constant-functions/printToast\";\r\nimport { apiUrl } from \"../common/constants\";\r\nimport { loadingVisible } from \"../common/constant-functions/loadingVisible\";\r\n\r\nfunction useSubmit(PageConfig, setRowData, listGridRef, afterSubmitFnc, handleSubmitPrepareData) {\r\n async function handleSubmit(values) {\r\n loadingVisible(true);\r\n await HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${values.id ? PageConfig.updateRoute : PageConfig.insertRoute\r\n }`,\r\n data: handleSubmitPrepareData\r\n ? handleSubmitPrepareData(values)\r\n : {\r\n ...values,\r\n },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n setRowData && setRowData(res.data.data);\r\n listGridRef && listGridRef?.current?.instance?.refresh();\r\n afterSubmitFnc && afterSubmitFnc(res);\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n })\r\n .finally(() => loadingVisible(false));\r\n }\r\n\r\n return useMemo(() => handleSubmit, []);\r\n}\r\n\r\nexport default useSubmit;\r\n","import React from \"react\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport RichTextEditor from \"../../components/inputs/form-inputs/RichTextEditor\";\r\nimport useFetchDialog from \"../../hooks/use-fetch-dialog\";\r\nimport useSubmit from \"../../hooks/use-submit\";\r\nimport CancelButton from \"../../components/buttons/custom/CancelButton\";\r\nimport SaveButton from \"../../components/buttons/custom/SaveButton\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\n\r\nconst TemsilciAnaliziDialog = React.forwardRef(\r\n ({ ekranKodu, isEditable, setRowDataFnc, listGridRef }, ref) => {\r\n const { open, closeRecord, modalLoading, rowData, setRowData } =\r\n useFetchDialog(ref, \"Talep/TemsilciAnaliziGetById\");\r\n\r\n const afterSubmitFnc = (res) => {\r\n setRowDataFnc((prevState) => {\r\n return {\r\n ...prevState,\r\n temsilciAnalizi: res?.data?.data?.temsilciAnalizi,\r\n talepDurumu: res?.data?.data?.talepDurumu,\r\n };\r\n });\r\n };\r\n\r\n const handleSubmit = useSubmit(\r\n { updateRoute: \"Talep/TemsilciAnaliziUpdate\" },\r\n setRowData,\r\n listGridRef,\r\n afterSubmitFnc\r\n );\r\n\r\n return (\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"Temsilci Analizi\"\r\n maxWidth=\"lg\"\r\n fullWidth={true}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n //validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <Field\r\n name=\"temsilciAnalizi\"\r\n component={RichTextEditor}\r\n readOnly={!isEditable}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n {isEditable && (\r\n <SaveButton\r\n onClick={(e) => {\r\n form.submit().then(() => {\r\n closeRecord();\r\n });\r\n }}\r\n />\r\n )}\r\n {isEditable && (\r\n <CancelButton\r\n onClick={() => {\r\n form.reset();\r\n }}\r\n disabled={submitting || pristine}\r\n />\r\n )}\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n );\r\n }\r\n);\r\n\r\nexport default TemsilciAnaliziDialog;\r\n","const PageConfig = {\r\n title: \"Talepler\",\r\n ekranKodu: \"AnaSayfa_Res\",\r\n getByIdRoute: \"TalepYonlendirme/GetById\",\r\n insertRoute: \"TalepYonlendirme/Insert\", //inser ve update'i aynı route üzerinden yapar\r\n deleteRoute: \"TalepYonlendirme/Delete\",\r\n};\r\n\r\nexport default PageConfig;\r\n","import React from \"react\";\r\nimport { Grid } from \"@mui/material\";\r\nimport { Form, Field } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport * as yup from \"yup\";\r\nimport PageConfig from \"./TalepYonlendirmeConfig\";\r\nimport RichTextEditor from \"../../components/inputs/form-inputs/RichTextEditor\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport MultipleAutocomplateInputForm from \"../../components/inputs/form-inputs/MultipleAutoComplateInputForm\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport DialogContentTop from \"../../components/dialogs/DialogContentTop\";\r\nimport DateInputForm2 from \"../../components/inputs/form-inputs/DateInputForm2\";\r\n\r\nconst TalepYonlendirmeDialog = React.forwardRef(\r\n ({ ekranKodu, listGridRef, afterSubmitFnc }, ref) => {\r\n // const initialState = {};\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n } = usePageRecord(\r\n ref,\r\n PageConfig,\r\n listGridRef,\r\n ekranKodu,\r\n null,\r\n afterSubmitFnc\r\n );\r\n\r\n const validationSchema = yup.object().shape({});\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Talep Görevlendirme\"\r\n maxWidth=\"lg\"\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n errors,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <DialogContentTop>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <FieldWrapper\r\n label=\"Yönlendirme Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"yonlendirmeTarihi\"\r\n component={DateInputForm2}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Başlangıç Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"baslangicTarihi\"\r\n component={DateInputForm2}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper label=\"Sorumlu\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"sorumlular\"\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute:\r\n \"User/KullaniciListForTalepYonlendirmeSelect\",\r\n fildsForText: [\"isimSoyisim\"],\r\n fieldForValue: \"id\",\r\n reqData: {\r\n talepId: rowData.talepId,\r\n },\r\n }}\r\n component={MultipleAutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <FieldWrapper\r\n label=\"Termin Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"terminTarihi\"\r\n component={DateInputForm2}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n {/* <FieldWrapper\r\n label=\"Talep Durumu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"talepDurumu\"\r\n items={getTalepDurumuArr()}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={true}\r\n />\r\n </FieldWrapper> */}\r\n <FieldWrapper\r\n label=\"Hedef Süre (Dakika)\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"hedefSure\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n numberInput={true}\r\n />\r\n </FieldWrapper>\r\n {/* <FieldWrapper\r\n label=\"Üst Görev\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"ustid\"\r\n component={TalepUstTalepInputForm}\r\n readOnly={!yetki.kaydet}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper> */}\r\n </Grid>\r\n </DialogContentTop>\r\n <Field\r\n name=\"analizSonucu\"\r\n component={RichTextEditor}\r\n readOnly={!yetki.kaydet}\r\n label={\"Analiz Sonucu \"}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={() => {\r\n handleDelete({ id: rowData.talepId });\r\n }}\r\n submitting={submitting}\r\n pristine={pristine}\r\n submitExtra={() => {\r\n if (Object.keys(errors).length < 1) {\r\n handleClose();\r\n }\r\n }}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n }\r\n);\r\n\r\nexport default TalepYonlendirmeDialog;\r\n","const PageConfig = {\r\n title: \"Talepler\",\r\n ekranKodu: \"AnaSayfa_Res\",\r\n getByIdRoute: \"BayiTalepYonlendirme/GetById\",\r\n insertRoute: \"BayiTalepYonlendirme/Insert\", //inser ve update'i aynı route üzerinden yapar\r\n deleteRoute: \"BayiTalepYonlendirme/Delete\",\r\n};\r\n\r\nexport default PageConfig;\r\n","import React from \"react\";\r\nimport { Grid } from \"@mui/material\";\r\nimport { Form, Field } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport * as yup from \"yup\";\r\nimport PageConfig from \"./BayiTalepYonlendirmeConfig\";\r\nimport RichTextEditor from \"../../components/inputs/form-inputs/RichTextEditor\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport MultipleAutocomplateInputForm from \"../../components/inputs/form-inputs/MultipleAutoComplateInputForm\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport DialogContentTop from \"../../components/dialogs/DialogContentTop\";\r\nimport { TALEP_DURUMU } from \"../../common/constants\";\r\nimport DateInputForm2 from \"../../components/inputs/form-inputs/DateInputForm2\";\r\n\r\nconst BayiTalepYonlendirmeDialog = React.forwardRef(\r\n ({ ekranKodu, listGridRef, afterSubmitFnc }, ref) => {\r\n const initialState = {\r\n talepDurumu: TALEP_DURUMU.CALISMA_YAPILIYOR.Value,\r\n };\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n } = usePageRecord(\r\n ref,\r\n PageConfig,\r\n listGridRef,\r\n ekranKodu,\r\n initialState,\r\n afterSubmitFnc\r\n );\r\n\r\n const validationSchema = yup.object().shape({});\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Talep Görevlendirme\"\r\n maxWidth=\"lg\"\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n errors,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <DialogContentTop>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <FieldWrapper\r\n label=\"Yönlendirme Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"yonlendirmeTarihi\"\r\n component={DateInputForm2}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Başlangıç Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"baslangicTarihi\"\r\n component={DateInputForm2}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper label=\"Sorumlu\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"sorumlular\"\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute:\r\n \"User/KullaniciListForTalepYonlendirmeSelect\",\r\n fildsForText: [\"isimSoyisim\"],\r\n fieldForValue: \"id\",\r\n reqData: {\r\n talepId: rowData.talepId,\r\n },\r\n }}\r\n component={MultipleAutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <FieldWrapper\r\n label=\"Termin Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"terminTarihi\"\r\n component={DateInputForm2}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n {/* <FieldWrapper\r\n label=\"Talep Durumu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"talepDurumu\"\r\n items={getTalepDurumuArr()}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={true}\r\n />\r\n </FieldWrapper> */}\r\n <FieldWrapper\r\n label=\"Hedef Süre (Dakika)\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"hedefSure\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n numberInput={true}\r\n />\r\n </FieldWrapper>\r\n {/* <FieldWrapper\r\n label=\"Üst Görev\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"ustid\"\r\n component={TalepUstTalepInputForm}\r\n readOnly={!yetki.kaydet}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper> */}\r\n </Grid>\r\n </DialogContentTop>\r\n <Field\r\n name=\"analizSonucu\"\r\n component={RichTextEditor}\r\n readOnly={!yetki.kaydet}\r\n label={\"Analiz Sonucu \"}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={() => {\r\n handleDelete({ id: rowData.talepId });\r\n }}\r\n submitting={submitting}\r\n pristine={pristine}\r\n submitExtra={() => {\r\n if (Object.keys(errors).length < 1) {\r\n handleClose();\r\n }\r\n }}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n }\r\n);\r\n\r\nexport default BayiTalepYonlendirmeDialog;\r\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"absolute\", \"children\", \"className\", \"component\", \"flexItem\", \"light\", \"orientation\", \"role\", \"textAlign\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport { getDividerUtilityClass } from './dividerClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n absolute,\n children,\n classes,\n flexItem,\n light,\n orientation,\n textAlign,\n variant\n } = ownerState;\n const slots = {\n root: ['root', absolute && 'absolute', variant, light && 'light', orientation === 'vertical' && 'vertical', flexItem && 'flexItem', children && 'withChildren', children && orientation === 'vertical' && 'withChildrenVertical', textAlign === 'right' && orientation !== 'vertical' && 'textAlignRight', textAlign === 'left' && orientation !== 'vertical' && 'textAlignLeft'],\n wrapper: ['wrapper', orientation === 'vertical' && 'wrapperVertical']\n };\n return composeClasses(slots, getDividerUtilityClass, classes);\n};\nconst DividerRoot = styled('div', {\n name: 'MuiDivider',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.absolute && styles.absolute, styles[ownerState.variant], ownerState.light && styles.light, ownerState.orientation === 'vertical' && styles.vertical, ownerState.flexItem && styles.flexItem, ownerState.children && styles.withChildren, ownerState.children && ownerState.orientation === 'vertical' && styles.withChildrenVertical, ownerState.textAlign === 'right' && ownerState.orientation !== 'vertical' && styles.textAlignRight, ownerState.textAlign === 'left' && ownerState.orientation !== 'vertical' && styles.textAlignLeft];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n margin: 0,\n // Reset browser default style.\n flexShrink: 0,\n borderWidth: 0,\n borderStyle: 'solid',\n borderColor: (theme.vars || theme).palette.divider,\n borderBottomWidth: 'thin'\n}, ownerState.absolute && {\n position: 'absolute',\n bottom: 0,\n left: 0,\n width: '100%'\n}, ownerState.light && {\n borderColor: theme.vars ? `rgba(${theme.vars.palette.dividerChannel} / 0.08)` : alpha(theme.palette.divider, 0.08)\n}, ownerState.variant === 'inset' && {\n marginLeft: 72\n}, ownerState.variant === 'middle' && ownerState.orientation === 'horizontal' && {\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2)\n}, ownerState.variant === 'middle' && ownerState.orientation === 'vertical' && {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n}, ownerState.orientation === 'vertical' && {\n height: '100%',\n borderBottomWidth: 0,\n borderRightWidth: 'thin'\n}, ownerState.flexItem && {\n alignSelf: 'stretch',\n height: 'auto'\n}), ({\n ownerState\n}) => _extends({}, ownerState.children && {\n display: 'flex',\n whiteSpace: 'nowrap',\n textAlign: 'center',\n border: 0,\n borderTopStyle: 'solid',\n borderLeftStyle: 'solid',\n '&::before, &::after': {\n content: '\"\"',\n alignSelf: 'center'\n }\n}), ({\n theme,\n ownerState\n}) => _extends({}, ownerState.children && ownerState.orientation !== 'vertical' && {\n '&::before, &::after': {\n width: '100%',\n borderTop: `thin solid ${(theme.vars || theme).palette.divider}`,\n borderTopStyle: 'inherit'\n }\n}), ({\n theme,\n ownerState\n}) => _extends({}, ownerState.children && ownerState.orientation === 'vertical' && {\n flexDirection: 'column',\n '&::before, &::after': {\n height: '100%',\n borderLeft: `thin solid ${(theme.vars || theme).palette.divider}`,\n borderLeftStyle: 'inherit'\n }\n}), ({\n ownerState\n}) => _extends({}, ownerState.textAlign === 'right' && ownerState.orientation !== 'vertical' && {\n '&::before': {\n width: '90%'\n },\n '&::after': {\n width: '10%'\n }\n}, ownerState.textAlign === 'left' && ownerState.orientation !== 'vertical' && {\n '&::before': {\n width: '10%'\n },\n '&::after': {\n width: '90%'\n }\n}));\nconst DividerWrapper = styled('span', {\n name: 'MuiDivider',\n slot: 'Wrapper',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.wrapper, ownerState.orientation === 'vertical' && styles.wrapperVertical];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'inline-block',\n paddingLeft: `calc(${theme.spacing(1)} * 1.2)`,\n paddingRight: `calc(${theme.spacing(1)} * 1.2)`\n}, ownerState.orientation === 'vertical' && {\n paddingTop: `calc(${theme.spacing(1)} * 1.2)`,\n paddingBottom: `calc(${theme.spacing(1)} * 1.2)`\n}));\nconst Divider = /*#__PURE__*/React.forwardRef(function Divider(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiDivider'\n });\n const {\n absolute = false,\n children,\n className,\n component = children ? 'div' : 'hr',\n flexItem = false,\n light = false,\n orientation = 'horizontal',\n role = component !== 'hr' ? 'separator' : undefined,\n textAlign = 'center',\n variant = 'fullWidth'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n absolute,\n component,\n flexItem,\n light,\n orientation,\n role,\n textAlign,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DividerRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n role: role,\n ref: ref,\n ownerState: ownerState\n }, other, {\n children: children ? /*#__PURE__*/_jsx(DividerWrapper, {\n className: classes.wrapper,\n ownerState: ownerState,\n children: children\n }) : null\n }));\n});\n\n/**\n * The following flag is used to ensure that this component isn't tabbable i.e.\n * does not get highlight/focus inside of MUI List.\n */\nDivider.muiSkipListHighlight = true;\nprocess.env.NODE_ENV !== \"production\" ? Divider.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Absolutely position the element.\n * @default false\n */\n absolute: PropTypes.bool,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, a vertical divider will have the correct height when used in flex container.\n * (By default, a vertical divider will have a calculated height of `0px` if it is the child of a flex container.)\n * @default false\n */\n flexItem: PropTypes.bool,\n /**\n * If `true`, the divider will have a lighter color.\n * @default false\n * @deprecated Use <Divider sx={{ opacity: 0.6 }} /> (or any opacity or color) instead. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/)\n */\n light: PropTypes.bool,\n /**\n * The component orientation.\n * @default 'horizontal'\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n /**\n * @ignore\n */\n role: PropTypes /* @typescript-to-proptypes-ignore */.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The text alignment.\n * @default 'center'\n */\n textAlign: PropTypes.oneOf(['center', 'left', 'right']),\n /**\n * The variant to use.\n * @default 'fullWidth'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['fullWidth', 'inset', 'middle']), PropTypes.string])\n} : void 0;\nexport default Divider;","import React from \"react\";\r\nimport \"../../../../css/YorumInputForm.css\";\r\nimport SendIcon from \"@mui/icons-material/Send\";\r\nimport { IconButton } from \"@mui/material\";\r\n\r\nexport default function YorumInputForm({ handleSubmit, inputRef }) {\r\n return (\r\n <div className=\"chat_footer\">\r\n <form onSubmit={handleSubmit} autoComplete=\"off\">\r\n <input\r\n type=\"text\"\r\n placeholder=\"Yorum yazınız...\"\r\n name=\"yorum-input\"\r\n ref={inputRef}\r\n maxLength={500}\r\n />\r\n <IconButton type=\"submit\">\r\n <SendIcon fontSize=\"medium\" color=\"primary\" />\r\n </IconButton>\r\n </form>\r\n </div>\r\n );\r\n}\r\n","import { Divider, Grid, IconButton, Paper, Typography } from \"@mui/material\";\r\nimport dayjs from \"dayjs\";\r\nimport React, {\r\n useContext,\r\n useEffect,\r\n useImperativeHandle,\r\n useRef,\r\n useState,\r\n} from \"react\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport { apiUrl } from \"../../common/constants\";\r\nimport YorumInputForm from \"../../components/inputs/custom-form-inputs/yorum/YorumInputForm\";\r\nimport { ctheme } from \"../../theme/theme\";\r\nimport EditIcon from \"@mui/icons-material/Edit\";\r\nimport DoneIcon from \"@mui/icons-material/Done\";\r\nimport \"../../css/YorumInputForm.css\";\r\nimport { toast } from \"react-toastify\";\r\nimport { printToast } from \"../../common/constant-functions/printToast\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\n\r\nconst Yorum = React.forwardRef(({ inDialog }, ref) => {\r\n const context = useContext(AppContext);\r\n\r\n const [yorumData, setYorumData] = useState({ talepId: null, yorumlar: [] });\r\n\r\n const [isEdit, setIsEdit] = useState(false);\r\n\r\n useImperativeHandle(ref, () => ({\r\n setYorumData: setYorumData,\r\n setIsEdit: setIsEdit,\r\n }));\r\n\r\n const inputRef = useRef();\r\n const scrollRef = useRef(null);\r\n\r\n const editInputRef = useRef();\r\n\r\n const handleSubmit = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n let yorum = e.target[0].value;\r\n\r\n if (yorumData.talepId && yorum) {\r\n HttpAuthorized.post(apiUrl + \"Yorum/Insert\", {\r\n yorum: yorum,\r\n talepId: yorumData.talepId,\r\n })\r\n .then((res) => {\r\n setYorumData({\r\n talepId: yorumData.talepId,\r\n yorumlar: [...yorumData.yorumlar, res.data.data],\r\n });\r\n inputRef.current.value = \"\";\r\n })\r\n .catch((error) => printToast(error.response.data));\r\n } else {\r\n if (yorum) {\r\n toast.warn(\"Yorum yapılacak talebi seçiniz.\", {\r\n autoClose: 5000,\r\n theme: \"colored\",\r\n });\r\n } else\r\n toast.warn(\"Yorum yazınız.\", {\r\n autoClose: 5000,\r\n theme: \"colored\",\r\n });\r\n }\r\n };\r\n\r\n const handleUpdate = (yorum) => {\r\n let newYorum = editInputRef.current.value;\r\n if (yorumData.talepId && yorum) {\r\n HttpAuthorized.post(apiUrl + \"Yorum/Update\", {\r\n ...yorum,\r\n yorum: newYorum,\r\n })\r\n .then((res) => {\r\n setYorumData({\r\n talepId: yorumData.talepId,\r\n yorumlar: [\r\n ...yorumData.yorumlar.filter((x) => x.id !== res.data.data.id),\r\n res.data.data,\r\n ],\r\n\r\n // yorumlar: [...res.data.data],\r\n });\r\n })\r\n .catch((error) => printToast(error.response.data));\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (scrollRef.current) {\r\n scrollRef.current.scrollTop = scrollRef.current.scrollHeight;\r\n }\r\n }, [yorumData.yorumlar]);\r\n\r\n const handleKeyDown = (event, yorum) => {\r\n if (event.key === \"Enter\") {\r\n handleUpdate(yorum);\r\n setIsEdit((prevState) => !prevState);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {!inDialog && (\r\n <>\r\n <Paper\r\n sx={{\r\n width: \"100%\",\r\n bgcolor: ctheme.colors.lightYellowTransparent,\r\n pl: \"10px\",\r\n }}\r\n >\r\n <Typography variant=\"subtitle1\" align=\"center\">\r\n YORUMLAR\r\n </Typography>\r\n </Paper>\r\n <Divider sx={{ borderColor: \"#c3dfbc\" }} />\r\n </>\r\n )}\r\n\r\n <Grid\r\n item\r\n xs={12}\r\n sx={{\r\n overflow: \"auto\",\r\n height: inDialog ? \"50vh\" : `calc(100vh - 85px )`,\r\n bgcolor: ctheme.colors.lightYellowTransparent,\r\n }}\r\n ref={scrollRef}\r\n >\r\n <Grid\r\n sx={{\r\n pl: \"5px\",\r\n }}\r\n >\r\n {yorumData.yorumlar.map((yorum, index) => {\r\n return (\r\n <Paper\r\n key={index}\r\n variant=\"outlined\"\r\n sx={{\r\n borderRadius: \"10px\",\r\n m: \"5px 1px\",\r\n }}\r\n >\r\n <Grid\r\n container\r\n display=\"flex\"\r\n justifyContent=\"space-between\"\r\n sx={{ p: \"0px 10px\" }}\r\n >\r\n <Grid item>\r\n <Typography\r\n variant=\"caption\"\r\n sx={{\r\n color: \"success.main\",\r\n }}\r\n >\r\n {yorum.yorumYapanKullaniciIdStr}\r\n </Typography>\r\n </Grid>\r\n <Grid item>\r\n <Typography\r\n variant=\"caption\"\r\n sx={{\r\n color: \"success.main\",\r\n }}\r\n >\r\n {dayjs(yorum.kayitTarihi).format(\"HH:mm / DD.MM.YYYY \")}\r\n </Typography>\r\n {index === yorumData.yorumlar.length - 1 &&\r\n yorum.yorumYapanKullaniciId === context?.user?.id && (\r\n <IconButton\r\n size=\"small\"\r\n color=\"primary\"\r\n onClick={() => {\r\n setIsEdit((prevState) => !prevState);\r\n if (isEdit) {\r\n handleUpdate(yorum);\r\n }\r\n }}\r\n >\r\n {isEdit ? (\r\n <DoneIcon fontSize=\"inherit\"></DoneIcon>\r\n ) : (\r\n <EditIcon fontSize=\"inherit\" />\r\n )}\r\n </IconButton>\r\n )}\r\n </Grid>\r\n </Grid>\r\n <Divider />\r\n <Grid\r\n xs={12}\r\n sx={{\r\n wordWrap: \"break-word\",\r\n p: \"0px 10px\",\r\n ...(index === yorumData.yorumlar.length - 1 &&\r\n yorum.yorumYapanKullaniciId === context?.user?.id &&\r\n isEdit\r\n ? { bgcolor: \"#EAFFD0\" }\r\n : {}),\r\n }}\r\n >\r\n {index === yorumData.yorumlar.length - 1 &&\r\n yorum.yorumYapanKullaniciId === context?.user?.id &&\r\n isEdit ? (\r\n <input\r\n autoComplete=\"off\"\r\n type=\"text\"\r\n className=\"edit-input\"\r\n defaultValue={yorum.yorum}\r\n ref={editInputRef}\r\n autoFocus={true}\r\n onKeyDown={(e) => handleKeyDown(e, yorum)}\r\n />\r\n ) : (\r\n <Typography variant=\"caption\" sx={{ color: \"InfoText\" }}>\r\n {yorum.yorum}\r\n </Typography>\r\n )}\r\n </Grid>\r\n </Paper>\r\n );\r\n })}\r\n </Grid>\r\n </Grid>\r\n\r\n <Paper\r\n sx={{\r\n bottom: 0,\r\n width: \"100%\",\r\n height: \"60px\",\r\n }}\r\n >\r\n <YorumInputForm handleSubmit={handleSubmit} inputRef={inputRef} />\r\n </Paper>\r\n </>\r\n );\r\n});\r\n\r\nexport default Yorum;\r\n","const PageConfig = {\r\n title: \"İş Yorumları\",\r\n ekranKodu: \"Gorev_Res\",\r\n listRoute: \"IsYorum/List\",\r\n getByIdRoute: \"IsYorum/GetById\",\r\n insertRoute: \"IsYorum/Insert\",\r\n updateRoute: \"IsYorum/Update\",\r\n deleteRoute: \"IsYorum/Delete\",\r\n};\r\n\r\nexport default PageConfig;\r\n","import React from \"react\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport RichTextEditor from \"../../components/inputs/form-inputs/RichTextEditor\";\r\nimport useFetchDialog from \"../../hooks/use-fetch-dialog\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\n\r\nconst TalepDetayiDialog = React.forwardRef(({ ekranKodu }, ref) => {\r\n const { open, closeRecord, modalLoading, rowData } = useFetchDialog(\r\n ref,\r\n \"Talep/TalepDetayiGetById\"\r\n );\r\n\r\n const handleSubmit = () => {};\r\n\r\n return (\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"Talep Detayı\"\r\n maxWidth=\"md\"\r\n fullWidth={true}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n //validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <Field\r\n name=\"talepDetayi\"\r\n component={RichTextEditor}\r\n readOnly={true}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogContentWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n );\r\n});\r\n\r\nexport default TalepDetayiDialog;\r\n","import { Tooltip } from \"@mui/material\";\r\nimport { HttpAuthorized } from \"../common/common\";\r\nimport { getTalepDurumuArr } from \"../common/constant-functions/getTalepDurumuArr\";\r\nimport { parseHtmlString } from \"../common/constant-functions/parseHtmlString\";\r\nimport {\r\n DATE_FORMAT,\r\n ILGILI_MODUL,\r\n ONCELIK_DURUMU,\r\n TALEP_DURUMU,\r\n TALEP_TIPI,\r\n TUTAR_FORMAT,\r\n URUN_PROGRAMLARI,\r\n} from \"../common/constants\";\r\nimport {\r\n ANALIZ_SONUCU_WIDTH,\r\n DATE_WIDTH,\r\n ID_WIDTH,\r\n IS_SONUCU_WIDTH,\r\n KDV_WIDTH,\r\n LONG_DATE_WIDTH,\r\n OKUNMAYAN_YORUM_WIDTH,\r\n} from \"../common/entityconstants\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"Talep No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n // firstSort: \"desc\",\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"okunmayanYorumSayisi\",\r\n label: \"Okunmayan Yorum\",\r\n dataType: \"number\",\r\n dataField: \"okunmayanYorumSayisi\",\r\n visible: [\"grid\"],\r\n // cellRender: (e) => <MailBadge badgeContent={e?.value} />,\r\n alignment: \"center\",\r\n allowExporting: false,\r\n width: OKUNMAYAN_YORUM_WIDTH,\r\n },\r\n {\r\n name: \"kayitTarihi\",\r\n label: \"Talep Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"kayitTarihi\",\r\n format: DATE_FORMAT,\r\n visible: [\"grid\"],\r\n width: DATE_WIDTH,\r\n firstSort: \"desc\",\r\n },\r\n {\r\n name: \"talepDurumu\",\r\n label: \"Talep Durumu\",\r\n dataType: \"select\",\r\n dataField: \"talepDurumu\",\r\n visible: [\"grid\"],\r\n // cellRender: (e) => {\r\n // let options = getTalepDurumuArr();\r\n // let option = options.find((x) => x.Value == e.value);\r\n // return <div style={{ color: option.Color }}>{option?.Text}</div>;\r\n // },\r\n cellRender: (e) => {\r\n let options = getTalepDurumuArr();\r\n let option = options.find((x) => x.Value === e.value);\r\n return (\r\n <Tooltip\r\n onOpen={(event) => {\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: \"Talep/AnalizSonucuGetById\",\r\n data: { id: e.data.id },\r\n })\r\n .then((res) => {\r\n event.target.title = res?.data?.data?.analizSonucu\r\n ? \"Analiz Sonucu: \" +\r\n parseHtmlString(res?.data?.data?.analizSonucu)\r\n : \"Analiz sonucu bulunamadı...\";\r\n })\r\n .catch((error) => { });\r\n }}\r\n >\r\n <div style={{ color: option?.Color }}>{option?.Text}</div>\r\n </Tooltip>\r\n );\r\n },\r\n },\r\n {\r\n name: \"talepBasligi\",\r\n label: \"Talep Konusu\",\r\n dataType: \"text\",\r\n dataField: \"talepBasligi\",\r\n visible: [\"grid\"],\r\n cellRender: (e) => {\r\n return (\r\n <Tooltip\r\n onOpen={(event) => {\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: \"Talep/TalepDetayiGetById\",\r\n data: { id: e.data.id },\r\n })\r\n .then((res) => {\r\n event.target.title = res?.data?.data?.talepDetayi\r\n ? \"Talep Detayı: \" +\r\n parseHtmlString(res?.data?.data?.talepDetayi)\r\n : \"Talep detayı bulunamadı\";\r\n })\r\n .catch((error) => { });\r\n }}\r\n >\r\n <div>{e.value}</div>\r\n </Tooltip>\r\n );\r\n },\r\n },\r\n // {\r\n // name: \"talepDetayi\",\r\n // label: \"Talep Detayı\",\r\n // dataType: \"text\",\r\n // dataField: \"talepDetayi\",\r\n // visible: [\"grid\"],\r\n // },\r\n {\r\n name: \"talepTipi\",\r\n label: \"Talep Tipi\",\r\n dataType: \"select\",\r\n dataField: \"talepTipi\",\r\n visible: [\"grid\"],\r\n selectItems: TALEP_TIPI,\r\n },\r\n {\r\n name: \"oncelik\",\r\n label: \"Öncelik Durumu\",\r\n dataType: \"select\",\r\n dataField: \"oncelik\",\r\n visible: [\"grid\"],\r\n selectItems: ONCELIK_DURUMU,\r\n },\r\n {\r\n name: \"kayitEdenKullaniciIdStr\",\r\n label: \"Kayıt Eden Kullanıcı\",\r\n dataType: \"text\",\r\n dataField: \"kayitEdenKullaniciIdStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"talepEdenPersonelIdStr\",\r\n label: \"Talep Eden Personel\",\r\n dataType: \"text\",\r\n dataField: \"talepEdenPersonelIdStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"ilgiliModul\",\r\n label: \"İlgili Modül\",\r\n dataType: \"select\",\r\n dataField: \"ilgiliModul\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(ILGILI_MODUL),\r\n },\r\n {\r\n name: \"platform\",\r\n label: \"Platform\",\r\n dataType: \"select\",\r\n dataField: \"platform\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(URUN_PROGRAMLARI),\r\n },\r\n {\r\n name: \"analizSonucu\",\r\n label: \"Analiz Sonucu Yapılacak Geliştirmeler\",\r\n dataType: \"text\",\r\n dataField: \"onAnaliz\",\r\n visible: [\"grid\"],\r\n customizeText: (e) => e?.value && parseHtmlString(e?.value),\r\n width: ANALIZ_SONUCU_WIDTH,\r\n },\r\n {\r\n name: \"teklifVerilisTarihi\",\r\n label: \"Teklif Veriliş Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"teklifVerilisTarihi\",\r\n visible: [\"grid\"],\r\n format: DATE_FORMAT,\r\n width: LONG_DATE_WIDTH,\r\n },\r\n {\r\n name: \"onayRedTarihi\",\r\n label: \"Onay Red Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"onayRedTarihi\",\r\n visible: [\"grid\"],\r\n format: DATE_FORMAT,\r\n width: DATE_WIDTH,\r\n },\r\n {\r\n name: \"onayRedKullaniciIdStr\",\r\n label: \"Teklif Onay/Red Kullanıcı\",\r\n dataType: \"text\",\r\n dataField: \"onayRedKullaniciIdStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"teklifTutari\",\r\n label: \"Teklif Tutarı\",\r\n dataType: \"number\",\r\n dataField: \"teklifTutari\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"teklifKdvOrani\",\r\n label: \"Teklif Kdv Oranı (%)\",\r\n dataType: \"number\",\r\n dataField: \"teklifKdvOrani\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n width: KDV_WIDTH,\r\n },\r\n {\r\n name: \"terminTarihi\",\r\n label: \"Termin Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"terminTarihi\",\r\n visible: [\"grid\"],\r\n width: LONG_DATE_WIDTH,\r\n },\r\n {\r\n name: \"talepTamamlanmaTarihi\",\r\n label: \"Tamamlanma Tarihi\",\r\n dataType: \"datetime\",\r\n dataField: \"talepTamamlanmaTarihi\",\r\n visible: [\"grid\"],\r\n width: LONG_DATE_WIDTH,\r\n },\r\n {\r\n name: \"isSonucu\",\r\n label: \"İş Sonucu\",\r\n dataType: \"text\",\r\n dataField: \"isSonucu\",\r\n visible: [\"grid\"],\r\n customizeText: (e) => e?.value && parseHtmlString(e?.value),\r\n width: IS_SONUCU_WIDTH,\r\n },\r\n\r\n //filtre-----------------------------------\r\n\r\n {\r\n name: \"tarih1\",\r\n label: \"Talep Aralığı\",\r\n dataType: \"date\",\r\n dataField: \"tarih1\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"tarih2\",\r\n label: \"Talep Aralığı\",\r\n dataType: \"date\",\r\n dataField: \"tarih2\",\r\n visible: [\"filter\"],\r\n },\r\n // {\r\n // name: \"talepDurumu\",\r\n // label: \"Talep Durumu\",\r\n // dataType: \"select\",\r\n // dataField: \"talepDurumu\",\r\n // visible: [\"filter\"],\r\n // items: TALEP_DURUMU_FILTER,\r\n // },\r\n {\r\n name: \"id\",\r\n label: \"Talep No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"ilgiliModul\",\r\n label: \"Modül\",\r\n dataType: \"select\",\r\n dataField: \"ilgiliModul\",\r\n visible: [\"filter\"],\r\n items: Object.values(ILGILI_MODUL),\r\n },\r\n {\r\n name: \"talepDurumDetay\",\r\n label: \"Talep Durum Detay\",\r\n dataType: \"select\",\r\n dataField: \"talepDurumDetay\",\r\n visible: [\"filter\"],\r\n items: Object.values(TALEP_DURUMU),\r\n },\r\n {\r\n name: \"talepBasligi\",\r\n label: \"Talep Konusu\",\r\n dataType: \"text\",\r\n dataField: \"talepBasligi\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"talepDetayi\",\r\n label: \"Talep Açıklama\",\r\n dataType: \"text\",\r\n dataField: \"talepDetayi\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"platform\",\r\n label: \"Plaftorm\",\r\n dataType: \"select\",\r\n dataField: \"platform\",\r\n visible: [\"filter\"],\r\n items: Object.values(URUN_PROGRAMLARI),\r\n },\r\n];\r\n\r\nexport default entity;\r\n","import Type from \"../../entities/MusteriTalep\";\r\n\r\nconst PageConfig = {\r\n title: \"Talepler\",\r\n ekranKodu: \"Musteri_Res\",\r\n type: Type,\r\n listRoute: \"MusteriTalep/List\",\r\n getByIdRoute: \"MusteriTalep/GetById\",\r\n insertRoute: \"MusteriTalep/Insert\",\r\n updateRoute: \"MusteriTalep/Update\",\r\n deleteRoute: \"MusteriTalep/Delete\",\r\n deleteWithFilesRoute: \"MusteriTalep/DeleteWithFiles\",\r\n};\r\n\r\nconst FileConfig = {\r\n allFilesDownloadRoute: \"MusteriTalep/DosyalariIndir\",\r\n fileDownloadRoute: \"MusteriTalep/DosyaIndir\",\r\n filesInfoRoute: \"MusteriTalep/DosyaBilgileri\",\r\n fileUploadRoute: \"MusteriTalep/DosyaYukle\",\r\n deleteFilesRoute: \"MusteriTalep/DeleteFiles\",\r\n};\r\n\r\nexport { PageConfig, FileConfig };\r\n","import React from \"react\";\r\nimport ButtonWrapper from \"../ButtonWrapper\";\r\nimport { Comment } from \"@mui/icons-material\";\r\n\r\nexport default function YorumlariGoruntuleButton({\r\n onClick,\r\n disabled,\r\n caption,\r\n}) {\r\n return (\r\n <ButtonWrapper\r\n color=\"primary\"\r\n startIcon={<Comment />}\r\n onClick={onClick}\r\n disabled={disabled}\r\n >\r\n {caption ? caption : \"Yorumlar\"}\r\n </ButtonWrapper>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport CustomColoredButton from \"./CustomColoredButton\";\r\nimport { Preview } from \"@mui/icons-material\";\r\n\r\nexport default function TalepGoruntuleButton({ onClick, label, color }) {\r\n return (\r\n <CustomColoredButton\r\n color={color ? color : \"teal\"}\r\n startIcon={<Preview />}\r\n onClick={onClick}\r\n >\r\n {label || \"Talep Kaydını Görüntüle\"}\r\n </CustomColoredButton>\r\n );\r\n}\r\n","import { TextField } from \"@mui/material\";\r\nimport React from \"react\";\r\n\r\nexport default function MultilineTextInputForm({\r\n input,\r\n meta,\r\n label,\r\n maxRows,\r\n minRows,\r\n ...rest\r\n}) {\r\n return (\r\n <TextField\r\n {...input}\r\n sx={{ width: \"100%\" }}\r\n label={label}\r\n multiline\r\n maxRows={maxRows}\r\n minRows={minRows ? minRows : 2}\r\n variant=\"standard\"\r\n onChange={(e) => input.onChange(e.target.value)}\r\n error={meta.error && meta.touched}\r\n helperText={meta.error && meta.touched ? meta.error : null}\r\n inputProps={{ readOnly: rest.readOnly, maxLength: rest.maxLength }}\r\n {...rest}\r\n />\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport useSubmit from \"../../hooks/use-submit\";\r\nimport CancelButton from \"../../components/buttons/custom/CancelButton\";\r\nimport SaveButton from \"../../components/buttons/custom/SaveButton\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport MultilineTextInputForm from \"../../components/inputs/form-inputs/MultilineTextInputForm\";\r\nimport useBasicDialog from \"../../hooks/use-basic-dialog\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\n\r\nconst DeleteDescriptionDialog = React.forwardRef(\r\n ({ ekranKodu, talepId, listGridRef, masterDialogClose }, ref) => {\r\n const { open, closeRecord } = useBasicDialog(ref);\r\n\r\n const context = React.useContext(AppContext);\r\n\r\n const yetki =\r\n context?.user?.yetkiler.find((x) => x.ekranKodu === ekranKodu) ?? {};\r\n\r\n const afterSubmitFnc = () => {\r\n closeRecord();\r\n masterDialogClose();\r\n };\r\n\r\n const handleSubmit = useSubmit(\r\n {\r\n insertRoute: \"Gorev/TalebeAitGorevleriSil\",\r\n },\r\n null,\r\n listGridRef,\r\n afterSubmitFnc\r\n );\r\n\r\n return (\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"Açıklama\"\r\n maxWidth=\"lg\"\r\n fullWidth={true}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={{ talepId: talepId }}\r\n //validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <Field\r\n name=\"yorum\"\r\n component={MultilineTextInputForm}\r\n readOnly={!yetki.kaydet}\r\n maxLength={500}\r\n minRows={5}\r\n />\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n <SaveButton\r\n onClick={(e) => {\r\n form.submit().then(() => {\r\n closeRecord();\r\n });\r\n }}\r\n />\r\n <CancelButton\r\n onClick={() => {\r\n form.reset();\r\n }}\r\n disabled={submitting || pristine}\r\n />\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n );\r\n }\r\n);\r\n\r\nexport default DeleteDescriptionDialog;\r\n","import React from \"react\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport RichTextEditor from \"../../components/inputs/form-inputs/RichTextEditor\";\r\nimport useFetchDialog from \"../../hooks/use-fetch-dialog\";\r\nimport useSubmit from \"../../hooks/use-submit\";\r\nimport CancelButton from \"../../components/buttons/custom/CancelButton\";\r\nimport SaveButton from \"../../components/buttons/custom/SaveButton\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport { ANALIZ_TIPI } from \"../../common/constants\";\r\n\r\nconst OnAnalizDialog = React.forwardRef(\r\n (\r\n { ekranKodu, isEditable, setRowDataFnc, listGridRef, tip, screenCapiton },\r\n ref\r\n ) => {\r\n const { open, closeRecord, modalLoading, rowData, setRowData } =\r\n useFetchDialog(ref, \"Talep/TalepAnalizleriGetById\");\r\n\r\n const afterSubmitFnc = (res) => {\r\n setRowDataFnc((prevState) => {\r\n return {\r\n ...prevState,\r\n onAnaliz: res?.data?.data?.onAnaliz,\r\n testKlavuzu: res?.data?.data?.testKlavuzu,\r\n };\r\n });\r\n };\r\n\r\n var lModalTitle = \"\";\r\n var lFieldName = \"\";\r\n\r\n if (tip === ANALIZ_TIPI.AKSIYON_ANALIZI.Value) {\r\n lModalTitle = \"Geliştirme İçeriği\";\r\n lFieldName = \"onAnaliz\";\r\n } else if (tip === ANALIZ_TIPI.TEST_KLAVUZU.Value) {\r\n lModalTitle = \"Test Klavuzu\";\r\n lFieldName = \"testKlavuzu\";\r\n }\r\n\r\n lModalTitle = screenCapiton ? screenCapiton : lModalTitle;\r\n\r\n const handleSubmit = useSubmit(\r\n { updateRoute: \"Talep/TalepAnalizleriUpdate\" },\r\n setRowData,\r\n listGridRef,\r\n afterSubmitFnc\r\n );\r\n\r\n return (\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle={lModalTitle}\r\n maxWidth=\"lg\"\r\n fullWidth={true}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n //validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <Field\r\n name={lFieldName}\r\n component={RichTextEditor}\r\n readOnly={!isEditable}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n {isEditable && (\r\n <SaveButton\r\n onClick={(e) => {\r\n form.submit().then(() => {\r\n closeRecord();\r\n });\r\n }}\r\n />\r\n )}\r\n {isEditable && (\r\n <CancelButton\r\n onClick={() => {\r\n form.reset();\r\n }}\r\n disabled={submitting || pristine}\r\n />\r\n )}\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n );\r\n }\r\n);\r\n\r\nexport default OnAnalizDialog;\r\n","import React from \"react\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport RichTextEditor from \"../../components/inputs/form-inputs/RichTextEditor\";\r\nimport useFetchDialog from \"../../hooks/use-fetch-dialog\";\r\nimport useSubmit from \"../../hooks/use-submit\";\r\nimport CancelButton from \"../../components/buttons/custom/CancelButton\";\r\nimport SaveButton from \"../../components/buttons/custom/SaveButton\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\n\r\nconst BayiTemsilciAnaliziDialog = React.forwardRef(\r\n ({ ekranKodu, isEditable, setRowDataFnc, listGridRef }, ref) => {\r\n const { open, closeRecord, modalLoading, rowData, setRowData } =\r\n useFetchDialog(ref, \"Talep/BayiTemsilciAnaliziGetById\");\r\n\r\n const afterSubmitFnc = (res) => {\r\n setRowDataFnc((prevState) => {\r\n return {\r\n ...prevState,\r\n bayiTemsilciAnalizi: res?.data?.data?.bayiTemsilciAnalizi,\r\n // talepDurumu: res?.data?.data?.talepDurumu,\r\n };\r\n });\r\n };\r\n\r\n const handleSubmit = useSubmit(\r\n { updateRoute: \"Talep/BayiTemsilciAnaliziUpdate\" },\r\n setRowData,\r\n listGridRef,\r\n afterSubmitFnc\r\n );\r\n\r\n return (\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"Temsilci Analizi\"\r\n maxWidth=\"lg\"\r\n fullWidth={true}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n //validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <Field\r\n name=\"bayiTemsilciAnalizi\"\r\n component={RichTextEditor}\r\n readOnly={!isEditable}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n {isEditable && (\r\n <SaveButton\r\n onClick={(e) => {\r\n form.submit().then(() => {\r\n closeRecord();\r\n });\r\n }}\r\n />\r\n )}\r\n {isEditable && (\r\n <CancelButton\r\n onClick={() => {\r\n form.reset();\r\n }}\r\n disabled={submitting || pristine}\r\n />\r\n )}\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n );\r\n }\r\n);\r\n\r\nexport default BayiTemsilciAnaliziDialog;\r\n","import { YETKI_GRUBU_TIPI } from \"../common/constants\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n visibleConditions: [\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n YETKI_GRUBU_TIPI.MUSTERI.Value,\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value,\r\n YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: \"sorumluidStr\",\r\n label: \"Sorumlu\",\r\n dataType: \"text\",\r\n dataField: \"sorumluidStr\",\r\n visible: [\"grid\"],\r\n width: \"180px\",\r\n },\r\n {\r\n name: \"hedeflenenTerminTarihi\",\r\n label: \"Hedeflenen Termin Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"hedeflenenTerminTarihi\",\r\n visible: [\"grid\"],\r\n width: \"180px\",\r\n },\r\n {\r\n name: \"hedeflenenSure\",\r\n label: \"Hedeflenen Süre\",\r\n dataType: \"number\",\r\n dataField: \"hedeflenenSure\",\r\n visible: [\"grid\"],\r\n width: \"150px\",\r\n },\r\n {\r\n name: \"aciklama\",\r\n label: \"Açıklama\",\r\n dataType: \"text\",\r\n dataField: \"aciklama\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"Kayıt Tarihi\",\r\n label: \"kayitTarihi\",\r\n dataType: \"date\",\r\n dataField: \"kayitTarihi\",\r\n visible: [\"grid\"],\r\n visibleConditions: [\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n YETKI_GRUBU_TIPI.MUSTERI.Value,\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value,\r\n YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n];\r\n\r\nexport default entity;\r\n","import Type from \"../../entities/TahminiTermin\";\r\n\r\nconst PageConfig = {\r\n title: \"TahminiTermin\",\r\n ekranKodu: \"TahminiTermin_Res\",\r\n type: Type,\r\n listRoute: \"TahminiTermin/List\",\r\n getByIdRoute: \"TahminiTermin/GetById\",\r\n insertRoute: \"TahminiTermin/Insert\",\r\n updateRoute: \"TahminiTermin/Update\",\r\n deleteRoute: \"TahminiTermin/Delete\",\r\n};\r\n\r\nexport default PageConfig;\r\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCardUtilityClass(slot) {\n return generateUtilityClass('MuiCard', slot);\n}\nconst cardClasses = generateUtilityClasses('MuiCard', ['root']);\nexport default cardClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"raised\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport Paper from '../Paper';\nimport { getCardUtilityClass } from './cardClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getCardUtilityClass, classes);\n};\nconst CardRoot = styled(Paper, {\n name: 'MuiCard',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(() => {\n return {\n overflow: 'hidden'\n };\n});\nconst Card = /*#__PURE__*/React.forwardRef(function Card(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiCard'\n });\n const {\n className,\n raised = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n raised\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CardRoot, _extends({\n className: clsx(classes.root, className),\n elevation: raised ? 8 : undefined,\n ref: ref,\n ownerState: ownerState\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Card.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the card will use raised styling.\n * @default false\n */\n raised: chainPropTypes(PropTypes.bool, props => {\n if (props.raised && props.variant === 'outlined') {\n return new Error('MUI: Combining `raised={true}` with `variant=\"outlined\"` has no effect.');\n }\n return null;\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Card;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCardContentUtilityClass(slot) {\n return generateUtilityClass('MuiCardContent', slot);\n}\nconst cardContentClasses = generateUtilityClasses('MuiCardContent', ['root']);\nexport default cardContentClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"component\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport { getCardContentUtilityClass } from './cardContentClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getCardContentUtilityClass, classes);\n};\nconst CardContentRoot = styled('div', {\n name: 'MuiCardContent',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(() => {\n return {\n padding: 16,\n '&:last-child': {\n paddingBottom: 24\n }\n };\n});\nconst CardContent = /*#__PURE__*/React.forwardRef(function CardContent(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiCardContent'\n });\n const {\n className,\n component = 'div'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CardContentRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? CardContent.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default CardContent;","import React, { useCallback, useState } from \"react\";\r\nimport DataGrid, { Column, Paging } from \"devextreme-react/data-grid\";\r\n\r\nconst dipToplamCellPrepared = (e) => {\r\n if (e.rowType === \"data\") {\r\n if (e.column.dataField === \"tutar\") {\r\n if (e.values[0] === \"Kdv Tutarı\") {\r\n e.cellElement.style.cssText = \"color: red;padding: 3px;\";\r\n } else if (e.values[0] === \"İskonto Tutarı\") {\r\n e.cellElement.style.cssText = \"color: #ff00ff;padding: 3px;\";\r\n } else if (e.values[0] === \"Genel Toplam\") {\r\n e.cellElement.style.cssText = \"color: blue;padding: 3px\";\r\n } else if (e.values[0] === \"Mal/Hizmet Tutarı\") {\r\n e.cellElement.style.cssText = \"color: #af9e25;padding: 3px\";\r\n }\r\n } else if (e.column.dataField === \"ne\") {\r\n e.cellElement.style.cssText =\r\n \"color: black; font-weight: bold;padding: 3px;\";\r\n } else if (e.column.dataField === \"dovizKod\") {\r\n if (e.values[0] === \"Kdv Tutarı\") {\r\n e.cellElement.style.cssText = \"color: red;padding: 3px;\";\r\n } else if (e.values[0] === \"İskonto Tutarı\") {\r\n e.cellElement.style.cssText = \"color: #ff00ff;padding: 3px;\";\r\n } else if (e.values[0] === \"Genel Toplam\") {\r\n e.cellElement.style.cssText = \"color: blue;padding: 3px\";\r\n } else if (e.values[0] === \"Mal/Hizmet Tutarı\") {\r\n e.cellElement.style.cssText = \"color: #af9e25;padding: 3px\";\r\n }\r\n }\r\n }\r\n};\r\n\r\nconst DipToplamGrid = ({ entities, height, dataSource }) => {\r\n return (\r\n <div id=\"data-grid-demo\">\r\n <DataGrid\r\n onCellPrepared={dipToplamCellPrepared}\r\n showColumnHeaders={false}\r\n width={\"350px\"}\r\n dataSource={dataSource}\r\n // keyExpr={entities.find((x) => x.isPrimaryKey).name}\r\n showBorders={true}\r\n height={height}\r\n toolbar={{\r\n items: [\r\n // { widget: 'dxButton', location: 'after', options: { icon: 'refresh' } },\r\n ],\r\n }}\r\n >\r\n <Paging enabled={false} />\r\n {entities\r\n .filter((type) => {\r\n let gridVisible = type.visible?.includes(\"grid\");\r\n if (gridVisible) return true;\r\n else return false;\r\n })\r\n .map((i, index) => {\r\n return (\r\n <Column\r\n key={i.name}\r\n dataType={i.dataType}\r\n caption={i.label}\r\n dataField={i.dataField}\r\n name={i.name}\r\n visibleIndex={index}\r\n allowEditing={false}\r\n alignment={\"left\"}\r\n // i.alignment\r\n // ? i.alignment\r\n // : i.dataType === \"number\"\r\n // ? \"right\"\r\n // : i.dataType === \"boolean\"\r\n // ? \"center\"\r\n // : \"left\"\r\n // }\r\n defaultSortOrder={i.firstSort ? i.firstSort : null}\r\n width={i.width ? i.width : null}\r\n minWidth={i.minWidth ? i.minWidth : 100}\r\n format={i.format ? i.format : null}\r\n visible={i.pageGridHidden ? false : true}\r\n {...(i.calculateSortValue && {\r\n calculateSortValue: i.calculateSortValue,\r\n })}\r\n {...(i.defaultSortIndex && {\r\n defaultSortIndex: i.defaultSortIndex,\r\n })}\r\n {...(i.sortingMethod && {\r\n sortingMethod: i.sortingMethod,\r\n })}\r\n {...(i.cellRender && { cellRender: i.cellRender })}\r\n {...(i.customizeText && { customizeText: i.customizeText })} //todo excel e aktarırken muinin bileşenleri aktarılmadığı için cell render kullanılan fieldlara bu alanın da eklenmesi gerekir\r\n allowExporting={i.allowExporting ?? true}\r\n allowSorting={i.allowSorting ?? true}\r\n >\r\n {/* {i.dataType === \"number\" ? (\r\n <Format formatter={\",##0.00\"}></Format>\r\n ) : null} */}\r\n </Column>\r\n );\r\n })}\r\n </DataGrid>\r\n </div>\r\n );\r\n};\r\nexport default DipToplamGrid;\r\n","import React, { useContext, useState } from \"react\";\r\nimport DataGrid, {\r\n Column,\r\n Editing,\r\n Paging,\r\n Lookup,\r\n Button,\r\n Scrolling,\r\n FilterRow,\r\n Summary,\r\n TotalItem,\r\n} from \"devextreme-react/data-grid\";\r\nimport SmallButton from \"../buttons/SmallButton\";\r\nimport { Add } from \"@mui/icons-material\";\r\nimport DipToplamGrid from \"./DipToplamGrid\";\r\nimport SelectBox, { SelectBoxTypes } from \"devextreme-react/select-box\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport { YETKI_GRUBU_TIPI } from \"../../common/constants\";\r\n\r\nconst EditGrid = ({\r\n entities,\r\n openRecord,\r\n height,\r\n editGridRef,\r\n dataSource,\r\n ekleButtonGizli,\r\n dipToplamDataSource,\r\n dipToplamEntities,\r\n editButtonsGizli,\r\n filtrele,\r\n editButtonOnClick,\r\n rowPrepared,\r\n editButtonVisible,\r\n ekleButtonText,\r\n gridDipToplamExists\r\n}) => {\r\n const ColoredLine = ({ color }) => (\r\n <hr\r\n style={{\r\n color: \"black\",\r\n backgroundColor: color,\r\n height: 3,\r\n }}\r\n />\r\n );\r\n\r\n const [currentFilter, setCurrentFilter] = useState(\"auto\");\r\n\r\n const context = useContext(AppContext);\r\n return (\r\n <div id=\"data-grid-demo\">\r\n <DataGrid\r\n dataSource={dataSource}\r\n keyExpr={entities.find((x) => x.isPrimaryKey).name}\r\n showBorders={true}\r\n height={height}\r\n ref={editGridRef}\r\n columnResizingMode={\"widget\"}\r\n onRowPrepared={rowPrepared ? rowPrepared : null}\r\n toolbar={{\r\n items: [\r\n // { widget: 'dxButton', location: 'after', options: { icon: 'refresh' } },\r\n ],\r\n }}\r\n allowColumnResizing={true}\r\n // showRowLines={true}\r\n columnAutoWidth={true}\r\n >\r\n {filtrele && (\r\n <FilterRow\r\n visible={true}\r\n applyFilter={currentFilter}\r\n // showAllText={\"Tümü\"}\r\n // resetOperationText={\"Temizle\"}\r\n // operationDescriptions={{\r\n // contains: \"İçerir\",\r\n // notContains: \"İçermez\",\r\n // equal: \"Eşittir\",\r\n // notEqual: \"Eşit Değildir\",\r\n // startsWith: \"İle Başlar\",\r\n // endsWith: \"İle Biter\",\r\n // between: \"Arasında\",\r\n // greaterThan: \"Büyüktür\",\r\n // lessThan: \"Küçüktür\",\r\n // lessThanOrEqual: \"Küçük Eşit\",\r\n // greaterThanOrEqual: \"Büyük Eşit\",\r\n // }}\r\n />\r\n )}\r\n\r\n <Scrolling columnRenderingMode=\"virtual\" />\r\n <Paging enabled={true} />\r\n <Editing\r\n mode=\"batch\"\r\n allowUpdating={true}\r\n allowAdding={true}\r\n allowDeleting={true}\r\n newRowPosition=\"last\"\r\n\r\n // selectTextOnEditStart={selectTextOnEditStart}\r\n // startEditAction={startEditAction}\r\n />\r\n\r\n {entities\r\n .filter((type) => {\r\n let gridVisible = type.visible?.includes(\"grid\");\r\n if (gridVisible) {\r\n if (type.visibleConditions) {\r\n let innerVisible = true;\r\n for (let i = 0; i < type.visibleConditions?.length; i++) {\r\n if (type.visibleConditions[i].isHarmonyAdmin) {\r\n innerVisible =\r\n context.user.yetkiGrubuTipi ===\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value;\r\n if (!innerVisible) break;\r\n }\r\n if (type.visibleConditions[i].gizlenecekYetkiGrubuTipi) {\r\n if (\r\n Array.isArray(\r\n type.visibleConditions[i].gizlenecekYetkiGrubuTipi\r\n )\r\n ) {\r\n innerVisible = !type.visibleConditions[\r\n i\r\n ].gizlenecekYetkiGrubuTipi.includes(\r\n context.user.yetkiGrubuTipi\r\n );\r\n } else {\r\n innerVisible =\r\n context.user.yetkiGrubuTipi !==\r\n type.visibleConditions[i].gizlenecekYetkiGrubuTipi;\r\n }\r\n if (!innerVisible) break;\r\n }\r\n }\r\n\r\n return innerVisible;\r\n } else {\r\n return true;\r\n }\r\n } else return false;\r\n })\r\n .map((i, index) => {\r\n return (\r\n <Column\r\n key={i.name}\r\n dataType={i.dataType}\r\n caption={i.label}\r\n dataField={i.dataField}\r\n name={i.name}\r\n visibleIndex={index}\r\n allowEditing={false}\r\n alignment={\r\n i.alignment\r\n ? i.alignment\r\n : i.dataType === \"number\"\r\n ? \"right\"\r\n : i.dataType === \"boolean\"\r\n ? \"center\"\r\n : \"left\"\r\n }\r\n defaultSortOrder={i.firstSort ? i.firstSort : null}\r\n width={i.width ? i.width : null}\r\n minWidth={i.minWidth ? i.minWidth : 100}\r\n format={i.format ? i.format : null}\r\n filterOperations={i.dataType === \"text\" ? [\"contains\"] : null}\r\n visible={i.pageGridHidden ? false : true}\r\n {...(i.calculateSortValue && {\r\n calculateSortValue: i.calculateSortValue,\r\n })}\r\n {...(i.defaultSortIndex && {\r\n defaultSortIndex: i.defaultSortIndex,\r\n })}\r\n {...(i.sortingMethod && {\r\n sortingMethod: i.sortingMethod,\r\n })}\r\n {...(i.cellRender && { cellRender: i.cellRender })}\r\n {...(i.customizeText && { customizeText: i.customizeText })} //todo excel e aktarırken muinin bileşenleri aktarılmadığı için cell render kullanılan fieldlara bu alanın da eklenmesi gerekir\r\n allowExporting={i.allowExporting ?? true}\r\n allowSorting={i.allowSorting ?? true}\r\n >\r\n {i.dataType === \"select\" ? (\r\n <Lookup\r\n key={i.dataField + \"_lookup\"}\r\n dataSource={i.selectItems}\r\n displayExpr=\"Text\"\r\n valueExpr=\"Value\"\r\n ></Lookup>\r\n ) : null}\r\n </Column>\r\n );\r\n })}\r\n\r\n <Column\r\n type=\"buttons\"\r\n visibleIndex={0}\r\n fixed={true}\r\n fixedPosition={0}\r\n alignment={\"center\"}\r\n visible={!editButtonsGizli}\r\n // headerCellRender={(e) => {\r\n // return externalColumnButton(e);\r\n // }}\r\n >\r\n <Button\r\n hint={\"Düzenle\"}\r\n icon={\"edit\"}\r\n onClick={(e) => {\r\n editButtonOnClick ? editButtonOnClick(e) : openRecord(e.row.key);\r\n }}\r\n visible={(e) => {\r\n return editButtonVisible ? editButtonVisible(e) : true;\r\n }}\r\n ></Button>\r\n </Column>\r\n {gridDipToplamExists && (\r\n <Summary>\r\n {entities\r\n .filter((type) => type.visible?.includes(\"grid\") && type.dipToplamdaGoster)\r\n .map((i, index) => (\r\n <TotalItem\r\n key={index}\r\n column={i.dataField}\r\n summaryType=\"sum\"\r\n // valueFormat=\"number\"\r\n // displayFormat=\"Toplam: {0}\"\r\n customizeText={(e) => `Toplam: ${e.value}`} // Değeri özelleştirerek gösterir\r\n\r\n />\r\n ))}\r\n </Summary>\r\n )}\r\n </DataGrid>\r\n {dipToplamDataSource && (\r\n <>\r\n <ColoredLine />\r\n <div\r\n style={{\r\n display: \"flex\",\r\n // alignItems: \"center\",\r\n justifyContent: \"space-between\",\r\n }}\r\n >\r\n {ekleButtonGizli ? null : (\r\n <SmallButton\r\n style={{ height: \"30px\" }}\r\n startIcon={<Add />}\r\n onClick={() => {\r\n openRecord(null);\r\n }}\r\n >\r\n {ekleButtonText ? ekleButtonText : \"Ekle\"}\r\n </SmallButton>\r\n )}\r\n <DipToplamGrid\r\n style={{ flex: \"5\", alignItems: \"flex-start\" }}\r\n entities={dipToplamEntities}\r\n dataSource={dipToplamDataSource}\r\n height={\"11vh\"}\r\n ></DipToplamGrid>\r\n </div>\r\n </>\r\n )}\r\n {dipToplamDataSource || ekleButtonGizli ? null : (\r\n <SmallButton\r\n startIcon={<Add />}\r\n onClick={() => {\r\n openRecord(null);\r\n }}\r\n >\r\n Ekle\r\n </SmallButton>\r\n )}\r\n </div>\r\n );\r\n};\r\nexport default EditGrid;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { DateBox, Button as DateBoxButton } from \"devextreme-react/date-box\";\r\nimport \"./CustomFormInputs/animation.css\";\r\nimport { colors } from \"@mui/material\";\r\n\r\nfunction CustomDateInputFormForStates({\r\n input = {},\r\n fieldCompWidth,\r\n loading,\r\n isDisabled,\r\n meta,\r\n customProps,\r\n readOnly,\r\n onChangeExtra,\r\n value, // fiiliBaslangicTarihi bu prop'tan gelecek\r\n onChange, // Değer değiştiğinde dışarıya bildirmek için\r\n ...rest\r\n}) {\r\n const minDate = new Date(1990, 0, 1);\r\n const [date, setDate] = useState(value || null); // State, dışarıdan gelen 'value' ile başlatılıyor\r\n\r\n useEffect(() => {\r\n setDate(value); // 'value' değiştiğinde state güncelleniyor\r\n }, [value]);\r\n\r\n const onValueChanged = (e) => {\r\n setDate(e.value); // Tarih değiştiğinde state güncelleniyor\r\n onChange && onChange(e.value); // Eğer dışarıdan bir 'onChange' fonksiyonu varsa, yeni değeri bildir\r\n };\r\n\r\n return (\r\n <>\r\n <DateBox\r\n readOnly={readOnly}\r\n disabled={isDisabled}\r\n name=\"date\"\r\n id={input?.name + \"DateInputFormId\" || \"defaultDateInputId\"}\r\n type=\"date\"\r\n displayFormat=\"shortdate\"\r\n dateSerializationFormat=\"yyyy-MM-dd\"\r\n focusStateEnabled={false}\r\n activeStateEnabled={false}\r\n stylingMode=\"underlined\"\r\n showTodayButton={true}\r\n showClearButton={true}\r\n min={minDate}\r\n {...(customProps ? customProps : {})}\r\n style={{ width: \"100%\", colors: \"red\" }}\r\n onValueChanged={onValueChanged}\r\n value={date} // State'den gelen değer\r\n calendarOptions={{ showTodayButton: true }}\r\n {...rest}\r\n >\r\n <DateBoxButton name=\"clear\" location=\"after\" />\r\n <DateBoxButton name=\"dropDown\" />\r\n </DateBox>\r\n <span id={input.name} className={`${input.name} examp2`}></span>\r\n </>\r\n );\r\n}\r\n\r\nexport default CustomDateInputFormForStates;\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport PageConfig from \"./TahminiTerminConfig\";\r\nimport * as yup from \"yup\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport { Card, CardContent, Grid, TextField, Typography } from \"@mui/material\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport dayjs from \"dayjs\";\r\nimport { apiUrl } from \"../../common/constants\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport EditGrid from \"../../components/grid/EditGrid\";\r\nimport CustomColoredButton from \"../../components/buttons/custom/CustomColoredButton\";\r\nimport SaveIcon from \"@mui/icons-material/Save\";\r\nimport { toast } from \"react-toastify\";\r\nimport CustomDateInputFormForStates from \"../../components/inputs/form-inputs/CustomDateInputFormForStates\";\r\n\r\nconst TahminiTerminDialog = React.forwardRef(\r\n ({ ekranKodu, listGridRef }, ref) => {\r\n var initialState = {\r\n // tarih: dayjs(),\r\n // isSonucuYayinlansin: true,\r\n };\r\n\r\n const [tahminiTerminTarihi, setTahminiTerminTarihi] = useState(null);\r\n const [tahminiSure, setTahminiSure] = useState(null);\r\n const [currentRowId, setCurrentRowId] = useState(null);\r\n const [isEditMode, setIsEditMode] = useState(false);\r\n const [aciklama, setAciklama] = useState(null);\r\n\r\n const afterSubmitFnc = (id) => {\r\n ref?.current?.openRecord(id);\r\n };\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n context,\r\n } = usePageRecord(\r\n ref,\r\n PageConfig,\r\n listGridRef,\r\n ekranKodu,\r\n initialState,\r\n afterSubmitFnc\r\n );\r\n\r\n useEffect(() => {\r\n if (!open) {\r\n // Dialog kapanınca isEditMode'u sıfırla\r\n setIsEditMode(false);\r\n setTahminiTerminTarihi(null); // Gerekirse diğer state'leri de sıfırlayın\r\n setTahminiSure(null);\r\n setCurrentRowId(null);\r\n setAciklama(null);\r\n }\r\n }, [open]);\r\n\r\n const convertToLocalTime = (utcDateStr) => {\r\n return dayjs(utcDateStr).format(\"DD.MM.YYYY\");\r\n // return new Date(utcDateStr).toLocaleDateString(\"tr-TR\");\r\n };\r\n\r\n const editGridRef = useRef();\r\n\r\n const validationSchema = yup.object().shape({});\r\n\r\n const handleSave = async () => {\r\n try {\r\n const requestData = {\r\n tahminiTerminTarihi: tahminiTerminTarihi,\r\n tahminiSure: tahminiSure,\r\n talepid: rowData.talepid,\r\n id: currentRowId,\r\n isEditMode: isEditMode,\r\n aciklama: aciklama,\r\n };\r\n\r\n // API isteğini gönder\r\n const response = await HttpAuthorized.post(\r\n `${apiUrl}TahminiTermin/TahminiTerminEkle`,\r\n requestData\r\n );\r\n\r\n // Başarılıysa, formu sıfırla ve grid'i yenile\r\n if (response.data.success) {\r\n setTahminiTerminTarihi(null);\r\n setTahminiSure(null);\r\n afterSubmitFnc(rowData.talepid);\r\n setIsEditMode(false);\r\n setAciklama(null);\r\n setCurrentRowId(null);\r\n // editGridRef.current?.refresh(); // Grid'i yenile\r\n }\r\n } catch (error) {\r\n console.error(\"Kaydetme hatası:\", error);\r\n }\r\n };\r\n\r\n const editButtonOnClick = (e) => {\r\n // if ( > e.row.Data.kayitTarihi.setDate(e.row.Data.kayitTarihi.getDate() + 2))\r\n const currentDate = new Date();\r\n const kayitTarihi = new Date(e.row.data.kayitTarihi);\r\n\r\n const timeDiff = currentDate - kayitTarihi;\r\n const diffInDays = timeDiff / (1000 * 60 * 60 * 24);\r\n\r\n if (diffInDays > 2) {\r\n toast.info(\r\n \"Termin tarihi girdiğiniz tarih ile şimdiki tarih arasında en fazla 2 gün olabilir. Kayıt Düzenlenemez.\",\r\n {\r\n position: \"top-right\",\r\n autoClose: 10000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n theme: \"colored\",\r\n }\r\n );\r\n\r\n return;\r\n }\r\n\r\n const selectedDate = dayjs(e.row.data.hedeflenenTerminTarihi).format(\r\n \"YYYY-MM-DD\"\r\n );\r\n setTahminiTerminTarihi(selectedDate); // sadece tarihi ayarlayın, saat bilgisi yok\r\n setTahminiSure(e.row.data.hedeflenenSure); // satırdaki süre\r\n setCurrentRowId(e.row.data.id); // satırın id'si\r\n setIsEditMode(true); // güncelleme moduna geç\r\n setAciklama(e.row.data.aciklama); // güncelleme moduna geç\r\n };\r\n\r\n const editButtonVisible = (e) => {\r\n return e.row.data.sorumluid === context.user.id;\r\n };\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle={`Tahmini Termin Ver`}\r\n maxWidth=\"md\"\r\n canFullScreen={false}\r\n draggable={false}\r\n >\r\n <Grid\r\n container\r\n spacing={2}\r\n justifyContent=\"center\"\r\n sx={{ marginTop: \"2px\" }}\r\n >\r\n <Grid item sx={{ paddingTop: \"2px !important\" }}>\r\n <Card\r\n sx={{\r\n width: 200,\r\n height: 70,\r\n backgroundColor: \"#f5f5f5\",\r\n borderRadius: \"10px\",\r\n border: \"1px solid black\",\r\n marginBottom: \"10px\",\r\n marginRight: \"10px\",\r\n }}\r\n >\r\n <CardContent>\r\n <Typography\r\n variant=\"body2\"\r\n align=\"center\"\r\n sx={{ fontWeight: \"bolder\" }}\r\n >\r\n Atanan Başlangıç Tarihi\r\n </Typography>\r\n <Typography\r\n variant=\"caption\"\r\n align=\"center\"\r\n display=\"block\"\r\n sx={{ marginTop: \"8px\" }}\r\n >\r\n {rowData.baslangicTarihi\r\n ? convertToLocalTime(rowData.baslangicTarihi)\r\n : \"Tarih Yok\"}\r\n </Typography>\r\n </CardContent>\r\n </Card>\r\n </Grid>\r\n <Grid item sx={{ paddingTop: \"2px !important\" }}>\r\n <Card\r\n sx={{\r\n width: 200,\r\n height: 70,\r\n backgroundColor: \"#f5f5f5\",\r\n borderRadius: \"10px\",\r\n border: \"1px solid black\",\r\n marginBottom: \"10px\",\r\n marginRight: \"10px\",\r\n }}\r\n >\r\n <CardContent>\r\n <Typography\r\n variant=\"body2\"\r\n align=\"center\"\r\n sx={{ fontWeight: \"bolder\" }}\r\n >\r\n Atanan Termin Tarihi\r\n </Typography>\r\n <Typography\r\n variant=\"caption\"\r\n align=\"center\"\r\n display=\"block\"\r\n sx={{ marginTop: \"8px\" }}\r\n >\r\n {rowData.terminTarihi\r\n ? convertToLocalTime(rowData.terminTarihi)\r\n : \"Tarih Yok\"}\r\n </Typography>\r\n </CardContent>\r\n </Card>\r\n </Grid>\r\n <Grid item sx={{ paddingTop: \"2px !important\" }}>\r\n <Card\r\n sx={{\r\n width: 200,\r\n height: 70,\r\n backgroundColor: \"#f5f5f5\",\r\n borderRadius: \"10px\",\r\n border: \"1px solid black\",\r\n marginBottom: \"10px\",\r\n marginRight: \"0px\",\r\n }}\r\n >\r\n <CardContent>\r\n <Typography\r\n variant=\"body2\"\r\n align=\"center\"\r\n sx={{ fontWeight: \"bolder\" }}\r\n >\r\n Atanan Süre\r\n </Typography>\r\n <Typography\r\n variant=\"caption\"\r\n align=\"center\"\r\n display=\"block\"\r\n sx={{ marginTop: \"8px\" }}\r\n >\r\n {rowData.hedefSure\r\n ? rowData.hedefSure\r\n : \"Hedef Süre belirlenmemiş\"}\r\n </Typography>\r\n </CardContent>\r\n </Card>\r\n </Grid>\r\n </Grid>\r\n <Grid\r\n style={{\r\n marginLeft: \"25px\",\r\n marginRight: \"25px\",\r\n marginBottom: \"25px\",\r\n }}\r\n >\r\n <EditGrid\r\n entities={PageConfig.type}\r\n // openRecord={openRecord}\r\n height={\"25vh\"}\r\n editGridRef={editGridRef}\r\n dataSource={rowData.detay ?? []}\r\n ekleButtonGizli={true}\r\n editButtonOnClick={editButtonOnClick}\r\n rowPrepared={(info) => {\r\n if (info.rowType === \"data\" && info.data.id === currentRowId) {\r\n info.rowElement.style.backgroundColor = \"#b9b5ff\"; // Satırın arka plan rengini ayarla\r\n info.rowElement.style.color = \"#000000\"; // Metin rengini ayarla\r\n }\r\n }}\r\n editButtonVisible={editButtonVisible}\r\n ></EditGrid>\r\n </Grid>\r\n <Grid\r\n container\r\n spacing={2}\r\n justifyContent=\"center\"\r\n style={{ marginTop: \"5px\", marginBottom: \"10px\" }}\r\n >\r\n <Grid item xs={6} sm={6}>\r\n <FieldWrapper\r\n label=\"Tahmini Termin Tarihi\"\r\n modalLoading={modalLoading}\r\n style={{ marginLeft: \"15px\" }} // Soldan margin ekle\r\n >\r\n <CustomDateInputFormForStates\r\n value={tahminiTerminTarihi} // Grid'den gelen tarih değeri\r\n onChange={(newDate) => setTahminiTerminTarihi(newDate)} // Tarih değişince state'i güncelle\r\n />\r\n {/* <TextField\r\n name=\"tahminiTerminTarihi\"\r\n type=\"date\"\r\n value={\r\n tahminiTerminTarihi\r\n ? dayjs(tahminiTerminTarihi).format(\"YYYY-MM-DD\")\r\n : \"\"\r\n }\r\n onChange={(e) =>\r\n setTahminiTerminTarihi(\r\n dayjs(e.target.value).format(\"YYYY-MM-DD\")\r\n )\r\n }\r\n InputLabelProps={{ shrink: true }}\r\n size=\"small\"\r\n style={{ marginBottom: \"5px\" }}\r\n /> */}\r\n </FieldWrapper>\r\n </Grid>\r\n <Grid item xs={6} sm={6}>\r\n <FieldWrapper\r\n label=\"Tahmini Süre\"\r\n modalLoading={modalLoading}\r\n style={{ marginLeft: \"15px\" }} // Soldan margin ekle\r\n >\r\n <TextField\r\n name=\"tahminiSure\"\r\n type=\"number\"\r\n value={tahminiSure ? tahminiSure : \"\"}\r\n onChange={(e) => setTahminiSure(e.target.value)}\r\n InputLabelProps={{ shrink: true }}\r\n size=\"small\"\r\n style={{ marginBottom: \"5px\" }}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n <Grid item xs={12}>\r\n <FieldWrapper\r\n label=\"Açıklama\"\r\n modalLoading={modalLoading}\r\n style={{ marginLeft: \"15px\" }} // Genişlik ve margin\r\n textWidth={\"17%\"}\r\n width={\"83%\"}\r\n >\r\n <TextField\r\n name=\"aciklama\"\r\n type=\"text\"\r\n value={aciklama ? aciklama : \"\"}\r\n onChange={(e) => setAciklama(e.target.value)}\r\n InputLabelProps={{ shrink: true }}\r\n multiline\r\n minRows={3} // Minimum 3 satır\r\n size=\"small\"\r\n sx={{ width: 665 }}\r\n // fullWidth // Açıklama alanını tam genişlik yap\r\n style={{ marginBottom: \"5px\" }}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n\r\n {/* Kaydet butonuna sağdan boşluk verelim */}\r\n <Grid\r\n item\r\n xs={12}\r\n style={{ textAlign: \"right\", paddingRight: \"15px\" }}\r\n >\r\n <CustomColoredButton\r\n startIcon={<SaveIcon />}\r\n onClick={handleSave}\r\n disabled={tahminiTerminTarihi === null || tahminiSure === null}\r\n color=\"green\"\r\n >\r\n {isEditMode ? \"Güncelle\" : \"Kaydet\"}\r\n </CustomColoredButton>\r\n </Grid>\r\n </Grid>\r\n </ScrollDialog>\r\n </>\r\n );\r\n }\r\n);\r\n\r\nexport default TahminiTerminDialog;\r\n","import Type from \"../../entities/IseBaslangicGirisi\";\r\n\r\nconst PageConfig = {\r\n title: \"IseBaslangicGirisi\",\r\n ekranKodu: \"IseBaslangicGirisi_Res\",\r\n type: Type,\r\n listRoute: \"IseBaslangicGirisi/List\",\r\n getByIdRoute: \"IseBaslangicGirisi/GetById\",\r\n insertRoute: \"IseBaslangicGirisi/Insert\",\r\n updateRoute: \"IseBaslangicGirisi/Update\",\r\n deleteRoute: \"IseBaslangicGirisi/Delete\",\r\n};\r\n\r\nexport default PageConfig;\r\n","import { YETKI_GRUBU_TIPI } from \"../common/constants\";\r\nimport { ID_WIDTH, LONG_DATE_WIDTH } from \"../common/entityconstants\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n visibleConditions: [\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n YETKI_GRUBU_TIPI.MUSTERI.Value,\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value,\r\n YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: \"sorumluidStr\",\r\n label: \"Sorumlu\",\r\n dataType: \"text\",\r\n dataField: \"sorumluidStr\",\r\n visible: [\"grid\"],\r\n width: \"180px\",\r\n },\r\n {\r\n name: \"fiiliBaslangicTarihi\",\r\n label: \"Fiili Başlangıç Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"fiiliBaslangicTarihi\",\r\n visible: [\"grid\"],\r\n width: \"180px\",\r\n },\r\n {\r\n name: \"harcananSure\",\r\n label: \"Harcanan Süre\",\r\n dataType: \"number\",\r\n dataField: \"harcananSure\",\r\n visible: [\"grid\"],\r\n width: \"150px\",\r\n },\r\n {\r\n name: \"yapilanIslem\",\r\n label: \"Yapılan İşlem\",\r\n dataType: \"text\",\r\n dataField: \"yapilanIslem\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"Kayıt Tarihi\",\r\n label: \"kayitTarihi\",\r\n dataType: \"date\",\r\n dataField: \"kayitTarihi\",\r\n visible: [\"grid\"],\r\n visibleConditions: [\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n YETKI_GRUBU_TIPI.MUSTERI.Value,\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value,\r\n YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n];\r\n\r\nexport default entity;\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport PageConfig from \"./IseBaslangicGirisiConfig\";\r\nimport * as yup from \"yup\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport { Grid, TextField } from \"@mui/material\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport dayjs from \"dayjs\";\r\nimport { apiUrl } from \"../../common/constants\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport EditGrid from \"../../components/grid/EditGrid\";\r\nimport CustomColoredButton from \"../../components/buttons/custom/CustomColoredButton\";\r\nimport SaveIcon from \"@mui/icons-material/Save\";\r\nimport CustomDateInputFormForStates from \"../../components/inputs/form-inputs/CustomDateInputFormForStates\";\r\nimport { red } from \"@mui/material/colors\";\r\n\r\nconst IseBaslangicGirisiDialog = React.forwardRef(\r\n ({ ekranKodu, listGridRef }, ref) => {\r\n var initialState = {\r\n // tarih: dayjs(),\r\n // isSonucuYayinlansin: true,\r\n };\r\n\r\n const [fiiliBaslangicTarihi, setFiiliBaslangicTarihi] = useState(null);\r\n const [harcananSure, setHarcananSure] = useState(null);\r\n const [currentRowId, setCurrentRowId] = useState(null);\r\n const [isEditMode, setIsEditMode] = useState(false);\r\n const [yapilanIslem, setYapilanIslem] = useState(null);\r\n const [errors, setErrors] = useState({});\r\n\r\n const afterSubmitFnc = (id) => {\r\n ref?.current?.openRecord(id);\r\n listGridRef?.current?.instance?.refresh();\r\n };\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n context,\r\n } = usePageRecord(\r\n ref,\r\n PageConfig,\r\n listGridRef,\r\n ekranKodu,\r\n initialState,\r\n afterSubmitFnc\r\n );\r\n\r\n useEffect(() => {\r\n if (!open) {\r\n // Dialog kapanınca isEditMode'u sıfırla\r\n setIsEditMode(false);\r\n setFiiliBaslangicTarihi(null); // Gerekirse diğer state'leri de sıfırlayın\r\n setHarcananSure(null);\r\n setCurrentRowId(null);\r\n setYapilanIslem(null);\r\n setErrors(null);\r\n }\r\n }, [open]);\r\n\r\n const convertToLocalTime = (utcDateStr) => {\r\n return dayjs(utcDateStr).format(\"DD.MM.YYYY\");\r\n // return new Date(utcDateStr).toLocaleDateString(\"tr-TR\");\r\n };\r\n\r\n const editGridRef = useRef();\r\n\r\n const validationSchema = yup.object().shape({\r\n fiiliBaslangicTarihi: yup.date().required(),\r\n harcananSure: yup\r\n .number()\r\n .nullable()\r\n .test(\r\n \"harcananSure-required-if-yapilanIslem\",\r\n \"Harcanan Süre zorunludur.\",\r\n function (value) {\r\n const { yapilanIslem } = this.parent;\r\n if (yapilanIslem && !value) {\r\n return this.createError({\r\n path: \"harcananSure\",\r\n message: \"Harcanan Süre zorunludur.\",\r\n });\r\n }\r\n return true;\r\n }\r\n ),\r\n\r\n yapilanIslem: yup\r\n .string()\r\n .nullable()\r\n .test(\r\n \"yapilanIslem-required-if-harcananSure\",\r\n \"Yapılan işlem alanı zorunludur.\",\r\n function (value) {\r\n const { harcananSure } = this.parent;\r\n if (harcananSure && !value) {\r\n return this.createError({\r\n path: \"yapilanIslem\",\r\n message: \"Yapılan işlem alanı zorunludur.\",\r\n });\r\n }\r\n return true;\r\n }\r\n ),\r\n });\r\n\r\n // const validate = validateFormValues(validationSchema);\r\n\r\n const handleSave = async () => {\r\n try {\r\n await validationSchema.validate(\r\n {\r\n fiiliBaslangicTarihi,\r\n harcananSure,\r\n yapilanIslem,\r\n },\r\n { abortEarly: false }\r\n );\r\n\r\n const requestData = {\r\n fiiliBaslangicTarihi: fiiliBaslangicTarihi,\r\n harcananSure: harcananSure,\r\n talepid: rowData.talepid,\r\n id: currentRowId,\r\n isEditMode: isEditMode,\r\n yapilanIslem: yapilanIslem,\r\n };\r\n\r\n // API isteğini gönder\r\n const response = await HttpAuthorized.post(\r\n `${apiUrl}IseBaslangicGirisi/IseBaslangicGirisiEkle`,\r\n requestData\r\n );\r\n\r\n // Başarılıysa, formu sıfırla ve grid'i yenile\r\n if (response.data.success) {\r\n setFiiliBaslangicTarihi(null);\r\n setHarcananSure(null);\r\n afterSubmitFnc(rowData.talepid);\r\n setIsEditMode(false);\r\n setYapilanIslem(null);\r\n setCurrentRowId(null);\r\n setErrors(null);\r\n // editGridRef.current?.refresh(); // Grid'i yenile\r\n }\r\n } catch (error) {\r\n if (error.name === \"ValidationError\") {\r\n // Validation hatalarını işle\r\n const newErrors = error.inner.reduce((acc, err) => {\r\n acc[err.path] = err.message;\r\n return acc;\r\n }, {});\r\n setErrors(newErrors);\r\n } else {\r\n // Diğer hataları işleyin\r\n console.error(\"Kaydetme hatası:\", error);\r\n }\r\n }\r\n };\r\n\r\n const editButtonOnClick = (e) => {\r\n const selectedDate = dayjs(e.row.data.fiiliBaslangicTarihi).format(\r\n \"YYYY-MM-DD\"\r\n );\r\n setFiiliBaslangicTarihi(selectedDate); // sadece tarihi ayarlayın, saat bilgisi yok\r\n setHarcananSure(e.row.data.harcananSure); // satırdaki süre\r\n setCurrentRowId(e.row.data.id); // satırın id'si\r\n setIsEditMode(true); // güncelleme moduna geç\r\n setYapilanIslem(e.row.data.yapilanIslem); // güncelleme moduna geç\r\n };\r\n\r\n const editButtonVisible = (e) => {\r\n return e.row.data.sorumluid === context.user.id;\r\n };\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle={`Göreve Başlangıç Tarihi`}\r\n maxWidth=\"md\"\r\n canFullScreen={false}\r\n draggable={false}\r\n >\r\n {/* {\" \"}\r\n <Form\r\n onSubmit={handleSubmit}\r\n render={({ handleSubmit }) => (\r\n <FormComponent onSubmit={handleSubmit}> */}\r\n <Grid\r\n style={{\r\n marginLeft: \"25px\",\r\n marginRight: \"25px\",\r\n marginBottom: \"25px\",\r\n }}\r\n >\r\n <EditGrid\r\n entities={PageConfig.type}\r\n // openRecord={openRecord}\r\n height={\"25vh\"}\r\n editGridRef={editGridRef}\r\n dataSource={rowData.detay ?? []}\r\n ekleButtonGizli={true}\r\n editButtonOnClick={editButtonOnClick}\r\n rowPrepared={(info) => {\r\n if (info.rowType === \"data\" && info.data.id === currentRowId) {\r\n info.rowElement.style.backgroundColor = \"#b9b5ff\"; // Satırın arka plan rengini ayarla\r\n info.rowElement.style.color = \"#000000\"; // Metin rengini ayarla\r\n }\r\n }}\r\n editButtonVisible={editButtonVisible}\r\n ></EditGrid>\r\n </Grid>\r\n <Grid\r\n container\r\n spacing={2}\r\n justifyContent=\"center\"\r\n style={{ marginTop: \"5px\", marginBottom: \"10px\" }}\r\n >\r\n <Grid item xs={6} sm={6}>\r\n <FieldWrapper\r\n label=\"Fiili Başlangıç Tarihi\"\r\n modalLoading={modalLoading}\r\n style={{\r\n marginLeft: \"15px\",\r\n marginBottom: \"15px\",\r\n color: \"red\",\r\n }} // Soldan margin ekle\r\n >\r\n <CustomDateInputFormForStates\r\n value={fiiliBaslangicTarihi} // Grid'den gelen tarih değeri\r\n onChange={(newDate) => setFiiliBaslangicTarihi(newDate)} // Tarih değişince state'i güncelle\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Harcanan Süre\"\r\n modalLoading={modalLoading}\r\n style={{ marginLeft: \"15px\" }} // Soldan margin ekle\r\n >\r\n <TextField\r\n name=\"harcananSure\"\r\n type=\"number\"\r\n value={harcananSure ? harcananSure : \"\"}\r\n onChange={(e) => setHarcananSure(e.target.value)}\r\n InputLabelProps={{ shrink: true }}\r\n size=\"small\"\r\n style={{ marginBottom: \"5px\" }}\r\n />\r\n {errors?.harcananSure && (\r\n <div style={{ color: \"red\" }}>{errors?.harcananSure}</div>\r\n )}\r\n </FieldWrapper>\r\n </Grid>\r\n <Grid item xs={6} sm={6}></Grid>\r\n <Grid item xs={12}>\r\n <FieldWrapper\r\n label=\"Yapılan İşlem\"\r\n modalLoading={modalLoading}\r\n style={{ marginLeft: \"15px\" }} // Genişlik ve margin\r\n textWidth={\"17%\"}\r\n width={\"83%\"}\r\n >\r\n <TextField\r\n name=\"yapilanIslem\"\r\n type=\"text\"\r\n value={yapilanIslem ? yapilanIslem : \"\"}\r\n onChange={(e) => setYapilanIslem(e.target.value)}\r\n InputLabelProps={{ shrink: true }}\r\n multiline\r\n minRows={3} // Minimum 3 satır\r\n size=\"small\"\r\n sx={{ width: 665 }}\r\n // fullWidth // Açıklama alanını tam genişlik yap\r\n style={{ marginBottom: \"5px\" }}\r\n />\r\n {errors?.yapilanIslem && (\r\n <div style={{ color: \"red\" }}>{errors?.yapilanIslem}</div>\r\n )}\r\n </FieldWrapper>\r\n </Grid>\r\n\r\n {/* Kaydet butonuna sağdan boşluk verelim */}\r\n <Grid\r\n item\r\n xs={12}\r\n style={{ textAlign: \"right\", paddingRight: \"15px\" }}\r\n >\r\n <CustomColoredButton\r\n startIcon={<SaveIcon />}\r\n onClick={handleSave}\r\n disabled={fiiliBaslangicTarihi === null}\r\n color=\"green\"\r\n >\r\n {isEditMode ? \"Güncelle\" : \"Kaydet\"}\r\n </CustomColoredButton>\r\n </Grid>\r\n </Grid>\r\n {/* </FormComponent>\r\n )}\r\n /> */}\r\n </ScrollDialog>\r\n </>\r\n );\r\n }\r\n);\r\n\r\nexport default IseBaslangicGirisiDialog;\r\n","import { Comment, Delete } from \"@mui/icons-material\";\r\nimport { Grid } from \"@mui/material\";\r\nimport React, { useContext, useRef } from \"react\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport RichTextEditor from \"../../components/inputs/form-inputs/RichTextEditor\";\r\nimport useFetchDialog from \"../../hooks/use-fetch-dialog\";\r\nimport TalepDetayiDialog from \"../Gorev/TalepDetayiDialog\";\r\nimport CustomColoredButton from \"../../components/buttons/custom/CustomColoredButton\";\r\nimport useSubmit from \"../../hooks/use-submit\";\r\nimport EkDosyaButton from \"../../components/buttons/custom/EkDosyaButton\";\r\nimport { FileConfig } from \"../Musteri-talep/MusteriTalepConfig\";\r\nimport SaveButton from \"../../components/buttons/custom/SaveButton\";\r\nimport CancelButton from \"../../components/buttons/custom/CancelButton\";\r\nimport TemsilciAnaliziDialog from \"./TemsilciAnaliziDialog\";\r\nimport YorumDialog from \"./YorumDialog\";\r\nimport YorumlariGoruntuleButton from \"../../components/buttons/custom/YorumlariGoruntuleButton\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport HomeRecord from \"./HomeRecord\";\r\nimport {\r\n ANALIZ_TIPI,\r\n EKRAN_KODU,\r\n YETKI_GRUBU_TIPI,\r\n} from \"../../common/constants\";\r\nimport TalepGoruntuleButton from \"../../components/buttons/custom/TalepGoruntuleButton\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport DeleteDialog from \"../../components/dialogs/custom/DeleteDialog\";\r\nimport DeleteDescriptionDialog from \"../Gorev/DeleteDescriptionDialog\";\r\nimport PopoverButton from \"../../components/buttons/PopoverButton\";\r\nimport OnAnalizDialog from \"./OnAnalizDialog\";\r\nimport BayiTemsilciAnaliziDialog from \"./BayiTemsilciAnaliziDialog\";\r\nimport AccessTimeIcon from \"@mui/icons-material/AccessTime\";\r\nimport CalendarMonthIcon from \"@mui/icons-material/CalendarMonth\";\r\nimport TahminiTerminDialog from \"../TahminiTermin/TahminiTerminDialog\";\r\nimport IseBaslangicGirisiDialog from \"../IseBaslangicGirisi/IseBaslangicGirisiDialog\";\r\n\r\nconst AnalizSonucuDialog = React.forwardRef(\r\n (\r\n {\r\n ekranKodu,\r\n isEditable,\r\n setRowDataFnc,\r\n buttonVisible = false,\r\n listGridRef,\r\n },\r\n ref\r\n ) => {\r\n const { open, closeRecord, modalLoading, rowData, setRowData } =\r\n useFetchDialog(\r\n ref,\r\n buttonVisible\r\n ? \"Talep/AnalizSonucuGetByIdForGorevPage\"\r\n : \"Talep/AnalizSonucuGetById\"\r\n );\r\n\r\n const afterSubmitFnc = (res) => {\r\n setRowData(res || {});\r\n setRowDataFnc &&\r\n setRowDataFnc((prevState) => ({\r\n ...prevState,\r\n analizSonucu: res.analizSonucu,\r\n }));\r\n };\r\n\r\n const handleSubmit = useSubmit(\r\n { updateRoute: \"Talep/AnalizSonucuUpdate\" },\r\n afterSubmitFnc\r\n );\r\n\r\n const talepDetayiDialogRef = useRef();\r\n const temsilciAnaliziDialogRef = useRef();\r\n const yorumDialogRef = useRef();\r\n const talepRecordRef = useRef();\r\n const context = useContext(AppContext);\r\n const deleteDialogRef = useRef();\r\n const deleteDescriptionDialogRef = useRef();\r\n\r\n const testKlavuzuDialogRef = useRef();\r\n const analizSonucuDialogRef = useRef();\r\n const xtemsilciAnaliziDialogRef = useRef();\r\n const bayiTemsilciAnaliziDialogRef = useRef();\r\n const onAnalizDialogRef = useRef();\r\n const tahminiTerminVerDialogRef = useRef();\r\n const iseBaslangicGirisiDialogRef = useRef();\r\n\r\n const yetki =\r\n context?.user?.yetkiler.find((x) => x.ekranKodu === ekranKodu) ?? {};\r\n\r\n const handleDelete = () => {\r\n deleteDescriptionDialogRef?.current?.openRecord();\r\n };\r\n\r\n const testKlavuzuYapabilir =\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value ||\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value;\r\n\r\n const AnalizSonucuGoruntule =\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value ||\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value;\r\n\r\n const onAnalizYapabilir =\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value ||\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value;\r\n\r\n const bayiTemsilciAnaliziEditable =\r\n (context?.user?.yetkiGrubuTipi === YETKI_GRUBU_TIPI.BAYI.Value ||\r\n context?.user?.yetkiGrubuTipi === YETKI_GRUBU_TIPI.BAYI_DESTEK.Value) &&\r\n yetki.kaydet;\r\n\r\n const temsilciAnaliziEditable =\r\n (context?.user?.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value ||\r\n context?.user?.yetkiGrubuTipi ===\r\n YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value) &&\r\n yetki.kaydet;\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"Analiz Sonucu Yapılacak Geliştirmeler\"\r\n maxWidth=\"lg\"\r\n fullWidth={true}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n //validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <Field\r\n name=\"analizSonucu\"\r\n component={RichTextEditor}\r\n readOnly={!isEditable}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper\r\n sx={{\r\n justifyContent: \"space-between\",\r\n }}\r\n >\r\n <Grid>\r\n {buttonVisible && (\r\n <PopoverButton\r\n label=\"Analiz Verileri\"\r\n backColor=\"#7272cc\"\r\n hoverBackColor=\"#3232a8\"\r\n >\r\n <>\r\n <EkDosyaButton\r\n reqData={{\r\n id: rowData.id,\r\n }}\r\n routes={FileConfig}\r\n ekranKodu={ekranKodu}\r\n parentRowData={rowData}\r\n disabled={!rowData?.id}\r\n ></EkDosyaButton>\r\n {onAnalizYapabilir && (\r\n <CustomColoredButton\r\n startIcon={<Comment />}\r\n onClick={(e) => {\r\n // if (!(submitting || pristine)) {\r\n // alertDialogRef?.current?.openRecord();\r\n // } else {\r\n onAnalizDialogRef?.current?.openRecord(\r\n rowData?.id\r\n );\r\n // }\r\n }}\r\n disabled={!rowData.id}\r\n color=\"purple\"\r\n >\r\n Geliştirme İçeriği\r\n </CustomColoredButton>\r\n )}\r\n {testKlavuzuYapabilir && (\r\n <CustomColoredButton\r\n startIcon={<Comment />}\r\n onClick={(e) => {\r\n // if (!(submitting || pristine)) {\r\n // alertDialogRef?.current?.openRecord();\r\n // } else {\r\n testKlavuzuDialogRef?.current?.openRecord(\r\n rowData?.id\r\n );\r\n // }\r\n }}\r\n disabled={!rowData.id}\r\n color=\"brown\"\r\n >\r\n Test Klavuzu\r\n </CustomColoredButton>\r\n )}\r\n {/* {AnalizSonucuGoruntule && (\r\n <AnalizSonucuButton\r\n onClick={(e) => {\r\n // if (!(submitting || pristine)) {\r\n // alertDialogRef?.current?.openRecord();\r\n // } else {\r\n analizSonucuDialogRef?.current?.openRecord(\r\n rowData?.id\r\n );\r\n // }\r\n }}\r\n disabled={!rowData.id}\r\n buttonCaption=\"Aksiyon Analizi\"\r\n color=\"lightPink\"\r\n ></AnalizSonucuButton>\r\n )} */}\r\n <CustomColoredButton\r\n startIcon={<Comment />}\r\n onClick={(e) => {\r\n // if (!(submitting || pristine)) {\r\n // alertDialogRef?.current?.openRecord();\r\n // } else {\r\n temsilciAnaliziDialogRef?.current?.openRecord(\r\n rowData?.id\r\n );\r\n // }\r\n }}\r\n disabled={!rowData.id}\r\n color=\"green\"\r\n >\r\n Merkez Temsilci Analizi\r\n </CustomColoredButton>\r\n <CustomColoredButton\r\n startIcon={<Comment />}\r\n onClick={(e) => {\r\n // if (!(submitting || pristine)) {\r\n // alertDialogRef?.current?.openRecord();\r\n // } else {\r\n bayiTemsilciAnaliziDialogRef?.current?.openRecord(\r\n rowData?.id\r\n );\r\n // }\r\n }}\r\n disabled={!rowData.id}\r\n color=\"brown\"\r\n >\r\n Bayi Temsilci Analizi\r\n </CustomColoredButton>\r\n\r\n <CustomColoredButton\r\n startIcon={<Comment />}\r\n onClick={(e) => {\r\n talepDetayiDialogRef?.current?.openRecord(\r\n rowData.id\r\n );\r\n }}\r\n color=\"purple\"\r\n disabled={!rowData.talepDetayiVarMi}\r\n >\r\n Müşteri Talep Açıklama\r\n </CustomColoredButton>\r\n {/* {onAnalizYapabilir && (\r\n <CustomColoredButton\r\n startIcon={<Comment />}\r\n onClick={(e) => {\r\n if (!(submitting || pristine)) {\r\n alertDialogRef?.current?.openRecord();\r\n } else {\r\n onAnalizDialogRef?.current?.openRecord(\r\n rowData?.id\r\n );\r\n }\r\n }}\r\n disabled={!rowData.id}\r\n color=\"green\"\r\n >\r\n Ön Analiz\r\n </CustomColoredButton>\r\n )} */}\r\n </>\r\n </PopoverButton>\r\n )}\r\n\r\n {buttonVisible && (\r\n <>\r\n {/* <CustomColoredButton\r\n startIcon={<Comment />}\r\n onClick={(e) => {\r\n temsilciAnaliziDialogRef?.current?.openRecord(\r\n rowData.id\r\n );\r\n }}\r\n color=\"grape\"\r\n //disabled={!rowData.yonlendirenAciklama}\r\n >\r\n Temsilci Analizi\r\n </CustomColoredButton> */}\r\n {/* <CustomColoredButton\r\n startIcon={<Comment />}\r\n onClick={(e) => {\r\n yonlendirenAciklamaDialogRef?.current?.openRecord(\r\n talepDetayId\r\n );\r\n }}\r\n color=\"grape\"\r\n //disabled={!rowData.yonlendirenAciklama}\r\n >\r\n Yönlendiren Görevli Açıklaması\r\n </CustomColoredButton> */}\r\n\r\n <YorumlariGoruntuleButton\r\n onClick={(e) => {\r\n yorumDialogRef?.current?.openRecord(rowData.id);\r\n }}\r\n caption={\"Görev Süreçleri\"}\r\n />\r\n {/* {context.user.yetkiGrubuTipi ===\r\n YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value && (\r\n <>\r\n <TalepGoruntuleButton\r\n onClick={(e) => {\r\n talepRecordRef?.current?.openRecord(rowData.id);\r\n }}\r\n label=\"Asıl Kaydı Aç\"\r\n />\r\n <CustomColoredButton\r\n startIcon={<Delete />}\r\n onClick={(e) => {\r\n deleteDialogRef?.current?.openRecord();\r\n }}\r\n color=\"red\"\r\n >\r\n Görevi Sil\r\n </CustomColoredButton>\r\n </>\r\n )} */}\r\n <PopoverButton\r\n label=\"İşlemler\"\r\n backColor=\"#515151\"\r\n hoverBackColor=\"#1b1818\"\r\n >\r\n <CustomColoredButton\r\n startIcon={<CalendarMonthIcon />}\r\n onClick={(e) => {\r\n tahminiTerminVerDialogRef?.current?.openRecord(\r\n rowData.id\r\n );\r\n }}\r\n color=\"purple\"\r\n >\r\n TAHMİNİ TERMİN VER\r\n </CustomColoredButton>\r\n <CustomColoredButton\r\n startIcon={<AccessTimeIcon />}\r\n onClick={(e) => {\r\n iseBaslangicGirisiDialogRef?.current?.openRecord(\r\n rowData.id\r\n );\r\n }}\r\n color=\"teal\"\r\n >\r\n GÖREVE BAŞLANGIÇ TARİHİ\r\n </CustomColoredButton>\r\n {context.user.yetkiGrubuTipi ===\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value && (\r\n <>\r\n <TalepGoruntuleButton\r\n onClick={(e) => {\r\n talepRecordRef?.current?.openRecord(\r\n rowData.id\r\n );\r\n }}\r\n label=\"Asıl Kaydı Aç\"\r\n color=\"brown\"\r\n />\r\n <CustomColoredButton\r\n startIcon={<Delete />}\r\n onClick={(e) => {\r\n deleteDialogRef?.current?.openRecord();\r\n }}\r\n color=\"red\"\r\n >\r\n Görevi Sil\r\n </CustomColoredButton>\r\n </>\r\n )}\r\n </PopoverButton>\r\n </>\r\n )}\r\n </Grid>\r\n <Grid>\r\n {isEditable && (\r\n <SaveButton\r\n onClick={(e) => {\r\n form.submit();\r\n }}\r\n />\r\n )}\r\n {isEditable && (\r\n <CancelButton\r\n onClick={() => {\r\n form.reset();\r\n }}\r\n disabled={submitting || pristine}\r\n />\r\n )}\r\n </Grid>\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n {buttonVisible && (\r\n <>\r\n <TalepDetayiDialog ref={talepDetayiDialogRef}></TalepDetayiDialog>\r\n <TemsilciAnaliziDialog\r\n ref={temsilciAnaliziDialogRef}\r\n ekranKodu={ekranKodu}\r\n isEditable={false}\r\n ></TemsilciAnaliziDialog>\r\n <YorumDialog\r\n ref={yorumDialogRef}\r\n isIsYorum={true}\r\n bayiKullanicisi={context.user?.bayiKullanicisi}\r\n ></YorumDialog>\r\n <HomeRecord\r\n ref={talepRecordRef}\r\n ekranKodu={EKRAN_KODU.ANASAYFA.value}\r\n ></HomeRecord>\r\n <DeleteDialog\r\n alertDialogRef={deleteDialogRef}\r\n onayBtnClick={() => {\r\n handleDelete();\r\n }}\r\n title={\"Talebe bağlı görevler siliniyor!\"}\r\n />\r\n <DeleteDescriptionDialog\r\n ref={deleteDescriptionDialogRef}\r\n ekranKodu={ekranKodu}\r\n talepId={rowData.id}\r\n listGridRef={listGridRef}\r\n masterDialogClose={closeRecord}\r\n ></DeleteDescriptionDialog>\r\n <OnAnalizDialog\r\n ref={onAnalizDialogRef}\r\n ekranKodu={ekranKodu}\r\n isEditable={true}\r\n setRowDataFnc={setRowDataFnc}\r\n listGridRef={listGridRef}\r\n tip={ANALIZ_TIPI.AKSIYON_ANALIZI.Value}\r\n />\r\n <OnAnalizDialog\r\n ref={testKlavuzuDialogRef}\r\n ekranKodu={ekranKodu}\r\n isEditable={true}\r\n setRowDataFnc={setRowDataFnc}\r\n listGridRef={listGridRef}\r\n tip={ANALIZ_TIPI.TEST_KLAVUZU.Value}\r\n />\r\n\r\n <AnalizSonucuDialog\r\n ref={analizSonucuDialogRef}\r\n ekranKodu={ekranKodu}\r\n isEditable={\r\n context?.user?.yetkiGrubuTipi ===\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value && yetki.kaydet\r\n }\r\n setRowDataFnc={setRowDataFnc}\r\n />\r\n <TemsilciAnaliziDialog\r\n ref={xtemsilciAnaliziDialogRef}\r\n ekranKodu={ekranKodu}\r\n isEditable={temsilciAnaliziEditable}\r\n setRowDataFnc={setRowDataFnc}\r\n listGridRef={listGridRef}\r\n />\r\n <BayiTemsilciAnaliziDialog\r\n ref={bayiTemsilciAnaliziDialogRef}\r\n ekranKodu={ekranKodu}\r\n isEditable={bayiTemsilciAnaliziEditable}\r\n setRowDataFnc={setRowDataFnc}\r\n listGridRef={listGridRef}\r\n />\r\n <TahminiTerminDialog\r\n ref={tahminiTerminVerDialogRef}\r\n ekranKodu={ekranKodu}\r\n // setRowDataFnc={setRowDataFnc}\r\n listGridRef={listGridRef}\r\n />\r\n <IseBaslangicGirisiDialog\r\n ref={iseBaslangicGirisiDialogRef}\r\n ekranKodu={ekranKodu}\r\n // setRowDataFnc={setRowDataFnc}\r\n listGridRef={listGridRef}\r\n />\r\n </>\r\n )}\r\n </>\r\n );\r\n }\r\n);\r\n\r\nexport default AnalizSonucuDialog;\r\n","import { Comment } from \"@mui/icons-material\";\r\nimport React from \"react\";\r\nimport CustomColoredButton from \"./CustomColoredButton\";\r\n\r\nexport default function AnalizSonucuButton({\r\n disabled,\r\n onClick,\r\n buttonCaption,\r\n}) {\r\n return (\r\n <CustomColoredButton\r\n startIcon={<Comment />}\r\n onClick={onClick}\r\n color=\"grape\"\r\n disabled={disabled}\r\n >\r\n {buttonCaption ? buttonCaption : \"Analiz Sonucu\"}\r\n </CustomColoredButton>\r\n );\r\n}\r\n","import React, { useRef } from \"react\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport PageConfig from \"./IsYorumConfig\";\r\nimport * as yup from \"yup\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport RichTextEditor from \"../../components/inputs/form-inputs/RichTextEditor\";\r\nimport { Field, Form, FormSpy } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport { Grid } from \"@mui/material\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport dayjs from \"dayjs\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport SirketInputForm from \"../../components/inputs/custom-form-inputs/SirketInputForm\";\r\nimport PersonelInputForm from \"../../components/inputs/custom-form-inputs/PersonelInputForm\";\r\nimport { apiUrl, ISIN_DURUMU, ISLEM_TURU } from \"../../common/constants\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport AnalizSonucuDialog from \"../Home/AnalizSonucuDialog\";\r\nimport AnalizSonucuButton from \"../../components/buttons/custom/AnalizSonucuButton\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport MultipleAutocomplateInputForm from \"../../components/inputs/form-inputs/MultipleAutoComplateInputForm\";\r\nimport YorumlariGoruntuleButton from \"../../components/buttons/custom/YorumlariGoruntuleButton\";\r\nimport YorumDialog from \"../Home/YorumDialog\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport DialogContentTop from \"../../components/dialogs/DialogContentTop\";\r\nimport CheckboxForm from \"../../components/inputs/form-inputs/CheckboxForm\";\r\nimport DateInputForm2 from \"../../components/inputs/form-inputs/DateInputForm2\";\r\n\r\nconst IsYorumDialog = React.forwardRef(\r\n ({ ekranKodu, listGridRef, yorumListRef, yalnizcaOkunur }, ref) => {\r\n var initialState = {\r\n tarih: dayjs(),\r\n\r\n // isSonucuYayinlansin: true,\r\n };\r\n\r\n const afterSubmitFnc = () => {\r\n let talepId = yorumListRef?.current?.talepId;\r\n HttpAuthorized.post(apiUrl + \"IsYorum/List\", {\r\n talepId: talepId,\r\n }).then((res) => {\r\n // yorumListRef.current.setIsEdit(false);\r\n yorumListRef?.current?.setYorumData({\r\n talepId: talepId,\r\n yorumlar: res.data.data,\r\n });\r\n });\r\n };\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n context,\r\n } = usePageRecord(\r\n ref,\r\n PageConfig,\r\n listGridRef,\r\n ekranKodu,\r\n initialState,\r\n afterSubmitFnc\r\n );\r\n\r\n const sirketInputRef = useRef();\r\n const iletisimKurulanKisiInputRef = useRef();\r\n const isinDurumuInputRef = useRef();\r\n const analizSonucuDialogRef = useRef();\r\n const yorumDialogRef = useRef();\r\n\r\n const validationSchema = yup.object().shape({\r\n isSonucu: yup.string().when(\"isinDurumu\", {\r\n is: ISIN_DURUMU.TAMAMLANDI.Value,\r\n then: yup.string().required(),\r\n otherwise: yup.string().nullable(),\r\n }),\r\n islemTuru: yup.number().required(),\r\n isinDurumu: yup.number().required(),\r\n harcananSure: yup.number().required(),\r\n sorumlular: yup.array().when(\"isinDurumu\", {\r\n is: (value) =>\r\n value === ISIN_DURUMU.CEVAP_BEKLENIYOR.Value ||\r\n value === ISIN_DURUMU.TEST_EDILIYOR.Value ||\r\n value === ISIN_DURUMU.YAZILIM_TESTI.Value ||\r\n value === ISIN_DURUMU.GOREVI_YONLENDIR.Value,\r\n then: yup\r\n .array()\r\n .of(\r\n yup.object().shape({\r\n id: yup.number().required(\"Sorumlu ID gerekli\"),\r\n isimSoyisim: yup.string().required(\"İsim soyisim gerekli\"),\r\n })\r\n )\r\n .min(1, \"Sorumlu seçimi zorunludur\"), // En az bir öğe olmalı\r\n otherwise: yup.array().nullable(),\r\n }),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n var yorumReadOnly =\r\n rowData.yorumYapanKullaniciId > 0\r\n ? !(rowData.yorumYapanKullaniciId === context?.user?.id)\r\n : false;\r\n\r\n yorumReadOnly = yalnizcaOkunur ? true : yorumReadOnly;\r\n\r\n const isSonucuYayinlansinVisible = context?.user?.bayiKullanicisi === false;\r\n\r\n // if (typeof rowData.yorumYapanKullaniciId === \"undefined\") {\r\n // rowData.isSonucuYayinlansin = true;\r\n // }\r\n // useEffect(() => {\r\n // if (rowData.isinDurumu === 11) {\r\n // form.change(\"isinDurumu\", null); // isinDurumu değerini null yapıyoruz\r\n // }\r\n // }, [rowData.isinDurumu, form]);\r\n\r\n // useEffect(() => {\r\n // if (rowData.isinDurumu === 11) {\r\n // form.change(\"isinDurumu\", null); // isinDurumu değerini null yapıyoruz\r\n // }\r\n // }, [rowData.isinDurumu, form]);\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle={`İş Yorumu - ${rowData?.talepId} Nolu Talep`}\r\n maxWidth=\"lg\"\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n errors,\r\n }) => {\r\n return (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <FormSpy\r\n subscription={{ values: true }}\r\n onChange={(props) => {\r\n if (\r\n props.values?.isinDurumu === ISIN_DURUMU.YENI_IS.Value\r\n ) {\r\n form.change(\"isinDurumu\", null);\r\n }\r\n values.current = props.values;\r\n }}\r\n />\r\n <DialogContentWrapper>\r\n <DialogContentTop>\r\n <Grid item xs={12} sm={6} md={6}>\r\n {/* <FieldWrapper label=\"No\" modalLoading={modalLoading}>\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </FieldWrapper> */}\r\n {/* <FieldWrapper\r\n label=\"Rapor Kategorisi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n items={Object.values(RAPOR_KATEGORI)}\r\n name=\"raporKategori\"\r\n component={AutocomplateInputForm}\r\n readOnly={true}\r\n />\r\n </FieldWrapper> */}\r\n\r\n <FieldWrapper label=\"Tarih\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"tarih\"\r\n component={DateInputForm2}\r\n readOnly={\r\n !yetki.kaydet ||\r\n rowData.tahsilEdildi === true ||\r\n yorumReadOnly\r\n }\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper\r\n label=\"İşlem Türü\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"islemTuru\"\r\n items={Object.values(ISLEM_TURU)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet || yorumReadOnly}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper\r\n label=\"İşin Durumu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"isinDurumu\"\r\n items={Object.values(ISIN_DURUMU)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet || yorumReadOnly}\r\n ref={isinDurumuInputRef}\r\n disabledOptionValues={[\r\n ISIN_DURUMU.YENI_IS.Value,\r\n ...(yetki.yonlendir\r\n ? []\r\n : [\r\n ISIN_DURUMU.YAZILIM_TESTI.Value,\r\n ISIN_DURUMU.TEST_EDILIYOR.Value,\r\n ISIN_DURUMU.CEVAP_BEKLENIYOR.Value,\r\n ISIN_DURUMU.GOREVI_YONLENDIR.Value,\r\n ]),\r\n ]}\r\n />\r\n </FieldWrapper>\r\n {(isinDurumuInputRef?.current?.value ===\r\n ISIN_DURUMU.TEST_EDILIYOR.Value ||\r\n rowData.isinDurumu ===\r\n ISIN_DURUMU.TEST_EDILIYOR.Value ||\r\n isinDurumuInputRef?.current?.value ===\r\n ISIN_DURUMU.YAZILIM_TESTI.Value ||\r\n rowData.isinDurumu ===\r\n ISIN_DURUMU.YAZILIM_TESTI.Value ||\r\n isinDurumuInputRef?.current?.value ===\r\n ISIN_DURUMU.CEVAP_BEKLENIYOR.Value ||\r\n rowData.isinDurumu ===\r\n ISIN_DURUMU.CEVAP_BEKLENIYOR.Value ||\r\n isinDurumuInputRef?.current?.value ===\r\n ISIN_DURUMU.GOREVI_YONLENDIR.Value ||\r\n rowData.isinDurumu ===\r\n ISIN_DURUMU.GOREVI_YONLENDIR.Value) && (\r\n <FieldWrapper\r\n label=\"Sorumlu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"sorumlular\"\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute:\r\n \"User/KullaniciListForTalepYonlendirmeSelect\",\r\n fildsForText: [\"isimSoyisim\"],\r\n fieldForValue: \"id\",\r\n reqData: {\r\n talepId: rowData.talepId,\r\n },\r\n }}\r\n component={MultipleAutocomplateInputForm}\r\n readOnly={!yetki.kaydet || yorumReadOnly}\r\n />\r\n </FieldWrapper>\r\n )}\r\n </Grid>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <FieldWrapper\r\n label=\"İş Grubu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"sirketId\"\r\n rowData={rowData}\r\n component={SirketInputForm}\r\n readOnly={true || yorumReadOnly}\r\n inputRef={sirketInputRef}\r\n // personelInputRef={iletisimKurulanKisiInputRef}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"İş İçin Harcanan Süre (Dakika)\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"harcananSure\"\r\n component={TextInputForm}\r\n readOnly={\r\n !yetki.kaydet ||\r\n rowData.tahsilEdildi === true ||\r\n yorumReadOnly\r\n }\r\n numberInput={true}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"İletişim Kurulan Kişi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"iletisimKurulanKisiId\"\r\n rowData={rowData}\r\n component={PersonelInputForm}\r\n readOnly={\r\n !yetki.kaydet ||\r\n // sirketInputRef?.current?.value === \"\" ||\r\n yorumReadOnly\r\n }\r\n inputRef={iletisimKurulanKisiInputRef}\r\n ekranKodu={ekranKodu}\r\n sirketInputRef={sirketInputRef}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n </DialogContentTop>\r\n\r\n <Field\r\n name=\"yorum\"\r\n component={RichTextEditor}\r\n readOnly={!yetki.kaydet || yorumReadOnly}\r\n label={\r\n isinDurumuInputRef?.current?.value ===\r\n ISIN_DURUMU.TEST_EDILIYOR.Value ||\r\n isinDurumuInputRef?.current?.value ===\r\n ISIN_DURUMU.YAZILIM_TESTI.Value ||\r\n isinDurumuInputRef?.current?.value ===\r\n ISIN_DURUMU.CEVAP_BEKLENIYOR.Value ||\r\n isinDurumuInputRef?.current?.value ===\r\n ISIN_DURUMU.GOREVI_YONLENDIR.Value\r\n ? \"Açıklama\"\r\n : \"Yorum\"\r\n }\r\n modalLoading={modalLoading}\r\n />\r\n {isinDurumuInputRef?.current?.value ===\r\n ISIN_DURUMU.TAMAMLANDI.Value && (\r\n <>\r\n {isSonucuYayinlansinVisible ? (\r\n <>\r\n <FieldWrapper\r\n label=\"İş Sonucu Yayınlansın\"\r\n modalLoading={modalLoading}\r\n textWidth={200}\r\n width={\"100%\"}\r\n >\r\n <Field\r\n name=\"isSonucuYayinlansin\"\r\n component={CheckboxForm}\r\n readOnly={!yetki.kaydet || yorumReadOnly}\r\n // label={\"İş Sonucu Yayınlansın\"}\r\n modalLoading={modalLoading}\r\n />\r\n </FieldWrapper>\r\n </>\r\n ) : null}\r\n <Field\r\n name=\"isSonucu\"\r\n component={RichTextEditor}\r\n readOnly={!yetki.kaydet || yorumReadOnly}\r\n label={\"İş Sonucu\"}\r\n modalLoading={modalLoading}\r\n />\r\n </>\r\n )}\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper\r\n container\r\n sx={{\r\n justifyContent: \"space-between\",\r\n }}\r\n >\r\n <Grid>\r\n <AnalizSonucuButton\r\n onClick={(e) => {\r\n analizSonucuDialogRef?.current?.openRecord(\r\n rowData?.talepId\r\n );\r\n }}\r\n disabled={!rowData.analizSonucuVar}\r\n ></AnalizSonucuButton>\r\n <YorumlariGoruntuleButton\r\n onClick={(e) => {\r\n yorumDialogRef?.current?.openRecord(rowData.talepId);\r\n }}\r\n />\r\n </Grid>\r\n {!yorumReadOnly && (\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n submitExtra={() => {\r\n if (Object.keys(errors).length < 1) {\r\n handleClose();\r\n }\r\n }}\r\n modalLoading={modalLoading}\r\n />\r\n )}\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n );\r\n }}\r\n />\r\n </ScrollDialog>\r\n <AnalizSonucuDialog\r\n ref={analizSonucuDialogRef}\r\n ekranKodu={ekranKodu}\r\n isEditable={false}\r\n ></AnalizSonucuDialog>\r\n <YorumDialog ref={yorumDialogRef} isIsYorum={true}></YorumDialog>\r\n </>\r\n );\r\n }\r\n);\r\n\r\nexport default IsYorumDialog;\r\n","import { Divider, Grid, IconButton, Paper, Typography } from \"@mui/material\";\r\nimport dayjs from \"dayjs\";\r\nimport React, {\r\n useContext,\r\n useImperativeHandle,\r\n useRef,\r\n useState,\r\n} from \"react\";\r\nimport {\r\n EKRAN_KODU,\r\n ISIN_DURUMU_STR,\r\n ISLEM_TURU,\r\n} from \"../../common/constants\";\r\nimport { ctheme } from \"../../theme/theme\";\r\nimport \"../../css/YorumInputForm.css\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport IsYorumDialog from \"./IsYorumDialog\";\r\nimport { HtmlEditor } from \"devextreme-react\";\r\nimport EditIcon from \"@mui/icons-material/Edit\";\r\nimport SearchIcon from \"@mui/icons-material/Search\";\r\n\r\nconst IsYorumList = React.forwardRef(\r\n ({ inDialog, ekranKodu, listGridRef, yorumMaxHeight = \"55px\" }, ref) => {\r\n const yorumDialogRef = useRef();\r\n const context = useContext(AppContext);\r\n\r\n const [yorumData, setYorumData] = useState({\r\n talepId: null,\r\n yorumlar: [],\r\n });\r\n\r\n useImperativeHandle(ref, () => ({\r\n setYorumData: setYorumData,\r\n talepId: yorumData.talepId,\r\n }));\r\n\r\n return (\r\n <>\r\n {!inDialog && (\r\n <>\r\n <Paper\r\n sx={{\r\n width: \"100%\",\r\n bgcolor: ctheme.colors.lightYellowTransparent,\r\n }}\r\n >\r\n <Typography variant=\"subtitle1\" align=\"center\">\r\n GÖREV SÜREÇLERİ\r\n </Typography>\r\n </Paper>\r\n <Divider sx={{ borderColor: \"#c3dfbc\" }} />\r\n </>\r\n )}\r\n\r\n <Grid\r\n sx={{\r\n overflow: \"auto\",\r\n bgcolor: ctheme.colors.lightYellowTransparent,\r\n height: inDialog ? \"70vh\" : `calc(100vh - 85px )`,\r\n }}\r\n >\r\n <Grid\r\n sx={{\r\n pl: \"5px\",\r\n }}\r\n >\r\n {yorumData?.yorumlar?.map((yorum, index) => {\r\n return (\r\n <Paper\r\n key={index}\r\n variant=\"outlined\"\r\n sx={{\r\n borderRadius: \"10px\",\r\n m: \"5px 1px\",\r\n }}\r\n >\r\n <Grid\r\n container\r\n display=\"flex\"\r\n justifyContent=\"space-between\"\r\n sx={{ p: \"0px 10px\" }}\r\n >\r\n <Grid item>\r\n <Typography\r\n variant=\"caption\"\r\n sx={{\r\n color: \"green\",\r\n }}\r\n >\r\n {yorum?.yorumYapanKullaniciIdStr}\r\n {yorum.isinDurumu &&\r\n ` - ${\r\n Object.values(ISIN_DURUMU_STR).find(\r\n (isinDurumu) =>\r\n isinDurumu.Value === yorum.isinDurumu\r\n ).Text\r\n }`}\r\n </Typography>\r\n </Grid>\r\n <Grid item>\r\n <Typography\r\n variant=\"caption\"\r\n sx={{\r\n color: \"success.main\",\r\n }}\r\n >\r\n {dayjs(yorum?.tarih).format(\"HH:mm / DD.MM.YYYY \")}\r\n </Typography>\r\n <IconButton\r\n size=\"small\"\r\n color=\"primary\"\r\n onClick={() => {\r\n yorumDialogRef?.current?.openRecord(yorum.id);\r\n }}\r\n >\r\n <SearchIcon fontSize=\"inherit\" />\r\n {/* {yorum.yorumYapanKullaniciId === context?.user?.id ? (\r\n <EditIcon fontSize=\"inherit\" />\r\n ) : (\r\n \r\n )} */}\r\n </IconButton>\r\n </Grid>\r\n </Grid>\r\n <Divider />\r\n <Grid item xs={12}>\r\n {yorum?.yorum && (\r\n <div className=\"widget-container\">\r\n <HtmlEditor\r\n className=\"myHtmlEditor\"\r\n value={yorum?.yorum}\r\n readOnly={true}\r\n style={{\r\n maxHeight: yorumMaxHeight,\r\n }}\r\n ></HtmlEditor>\r\n </div>\r\n )}\r\n </Grid>\r\n <Divider />\r\n <Grid\r\n container\r\n display=\"flex\"\r\n justifyContent=\"space-between\"\r\n sx={{ p: \"0px 10px\" }}\r\n >\r\n <Grid item>\r\n <Typography variant=\"caption\" sx={{ color: \"#046582\" }}>\r\n Harcanan süre: {yorum?.harcananSure ?? 0} Dakika\r\n </Typography>\r\n </Grid>\r\n <Grid item>\r\n {yorum?.islemTuru && (\r\n <Typography\r\n variant=\"caption\"\r\n sx={{\r\n color: \"#046582\",\r\n }}\r\n >\r\n İşlem türü:{\" \"}\r\n {\r\n Object.values(ISLEM_TURU).find(\r\n (x) => x.Value === yorum?.islemTuru\r\n )?.Text\r\n }\r\n </Typography>\r\n )}\r\n </Grid>\r\n </Grid>\r\n </Paper>\r\n );\r\n })}\r\n </Grid>\r\n </Grid>\r\n <IsYorumDialog\r\n ref={yorumDialogRef}\r\n ekranKodu={EKRAN_KODU.GOREVLER.value}\r\n yorumListRef={ref}\r\n listGridRef={listGridRef}\r\n yalnizcaOkunur={true}\r\n ></IsYorumDialog>\r\n </>\r\n );\r\n }\r\n);\r\n\r\nexport default IsYorumList;\r\n","import { DialogContent } from \"@mui/material\";\r\nimport React, { useRef, useState } from \"react\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport { loadingVisible } from \"../../common/constant-functions/loadingVisible\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport Yorum from \"../Musteri-talep/Yorum\";\r\nimport IsYorumList from \"../Gorev/IsYorumList\";\r\n\r\nconst YorumDialog = React.forwardRef(\r\n ({ listGridRef, isIsYorum = false, bayiKullanicisi = false }, ref) => {\r\n const [open, setOpen] = useState(false);\r\n const [yorumList, setYorumList] = useState([]);\r\n const yorumRef = useRef();\r\n\r\n const handleClose = () => {\r\n setOpen(false);\r\n setYorumList([]);\r\n };\r\n\r\n const openRecord = (id) => {\r\n setOpen(true);\r\n loadingVisible(true);\r\n HttpAuthorized.post(\r\n isIsYorum && bayiKullanicisi\r\n ? \"BayiIsYorum/List\"\r\n : isIsYorum && !bayiKullanicisi\r\n ? \"IsYorum/List\"\r\n : \"Yorum/List\",\r\n {\r\n talepId: id,\r\n }\r\n )\r\n .then(async (res) => {\r\n await yorumRef.current.setYorumData({\r\n talepId: id,\r\n yorumlar: res.data.data,\r\n });\r\n\r\n await listGridRef?.current?.instance?.refresh();\r\n })\r\n .finally(() => loadingVisible(false));\r\n };\r\n\r\n React.useImperativeHandle(ref, () => ({\r\n openRecord: openRecord,\r\n }));\r\n\r\n return (\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle={isIsYorum ? \"Görev Süreçleri\" : \"Yorumlar\"}\r\n maxWidth=\"lg\"\r\n fullWidth={true}\r\n canFullScreen={false}\r\n >\r\n <DialogContent\r\n sx={{ padding: 0, overflow: \"hidden\" }}\r\n id=\"dialog-content\"\r\n >\r\n {isIsYorum ? (\r\n <IsYorumList inDialog ref={yorumRef} yorumMaxHeight=\"150px\" />\r\n ) : (\r\n <Yorum inDialog ref={yorumRef} />\r\n )}\r\n </DialogContent>\r\n </ScrollDialog>\r\n );\r\n }\r\n);\r\n\r\nexport default YorumDialog;\r\n","import React from \"react\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport useDialog from \"../../hooks/use-dialog\";\r\nimport * as yup from \"yup\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport { Stack } from \"@mui/system\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport ButtonWrapper from \"../../components/buttons/ButtonWrapper\";\r\nimport { Save } from \"@mui/icons-material\";\r\nimport { TEKLIF_BIRIMI } from \"../../common/constants\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport NumberInputForm from \"../../components/inputs/form-inputs/NumberInputForm\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport useSubmit from \"../../hooks/use-submit\";\r\n\r\nconst TeklifRecord = React.forwardRef(\r\n ({ ekranKodu, talepId, setRowDataFnc, listGridRef, yetki }, ref) => {\r\n const { open, closeRecord, validateFormValues, data } = useDialog(ref);\r\n\r\n // const afterSubmitFnc = (res) => {\r\n // if (res.data.data.analizSonucu == null) {\r\n // alertDialogRef?.current?.openRecord();\r\n // }\r\n // };\r\n\r\n const handleSubmit = useSubmit(\r\n { updateRoute: \"Talep/TeklifInsert\" },\r\n setRowDataFnc,\r\n listGridRef\r\n // afterSubmitFnc\r\n );\r\n var xmerkezTeklifiGuncelliyor = data?.bayiTeklifTutari > 0;\r\n\r\n const validationSchema = yup.object().shape({\r\n // teklifTutari: yup.number().required(),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"Teklif Ver\"\r\n maxWidth=\"sm\"\r\n canFullScreen={false}\r\n >\r\n <Form\r\n onSubmit={(values) =>\r\n handleSubmit({\r\n ...values,\r\n id: talepId,\r\n })\r\n }\r\n initialValues={{\r\n ...data,\r\n teklifBirimi: data?.teklifBirimi ?? TEKLIF_BIRIMI.TRY.Value,\r\n }}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <form onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n {xmerkezTeklifiGuncelliyor ? (\r\n <Stack direction=\"column\" spacing={1}>\r\n <FieldWrapper\r\n label=\"Teklif Tutarı\"\r\n //modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"bayiTeklifTutari\"\r\n component={NumberInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper\r\n label=\"Teklif Birimi\"\r\n // modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"bayiTeklifBirimi\"\r\n items={Object.values(TEKLIF_BIRIMI)}\r\n //rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={true}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper\r\n label=\"Kdv Oranı (%)\"\r\n // modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"bayiTeklifKdvOrani\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n numberInput={true}\r\n defaultValue={0}\r\n />\r\n </FieldWrapper>\r\n </Stack>\r\n ) : (\r\n <Stack direction=\"column\" spacing={1}>\r\n <FieldWrapper\r\n label=\"Teklif Tutarı\"\r\n //modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"TeklifTutari\"\r\n component={NumberInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper\r\n label=\"Teklif Birimi\"\r\n // modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"teklifBirimi\"\r\n items={Object.values(TEKLIF_BIRIMI)}\r\n //rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={true}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper\r\n label=\"Kdv Oranı (%)\"\r\n // modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"teklifKdvOrani\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n numberInput={true}\r\n defaultValue={0}\r\n />\r\n </FieldWrapper>\r\n </Stack>\r\n )}\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n <ButtonWrapper\r\n color=\"success\"\r\n startIcon={<Save />}\r\n onClick={(e) => {\r\n form.submit();\r\n closeRecord();\r\n }}\r\n >\r\n Kaydet\r\n </ButtonWrapper>\r\n </DialogActionsWrapper>\r\n </form>\r\n )}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n }\r\n);\r\nexport default TeklifRecord;\r\n","import React from \"react\";\r\nimport { Field, Form, FormSpy } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport useDialog from \"../../hooks/use-dialog\";\r\nimport * as yup from \"yup\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport { Stack } from \"@mui/system\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport ButtonWrapper from \"../../components/buttons/ButtonWrapper\";\r\nimport { Save } from \"@mui/icons-material\";\r\nimport { TEKLIF_BIRIMI } from \"../../common/constants\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport NumberInputForm from \"../../components/inputs/form-inputs/NumberInputForm\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport useSubmit from \"../../hooks/use-submit\";\r\nimport MultilineTextInputForm from \"../../components/inputs/form-inputs/MultilineTextInputForm\";\r\nimport { parseHtmlString } from \"../../common/constant-functions/parseHtmlString\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\n\r\nconst BayiTeklifRecord = React.forwardRef(\r\n (\r\n { ekranKodu, talepId, setRowDataFnc, listGridRef, yetki, duzenlemeYapamaz },\r\n ref\r\n ) => {\r\n const { open, closeRecord, validateFormValues, data } = useDialog(ref);\r\n\r\n // const afterSubmitFnc = (res) => {\r\n // if (res.data.data.analizSonucu == null) {\r\n // alertDialogRef?.current?.openRecord();\r\n // }\r\n // };\r\n\r\n\r\n\r\n const handleSubmit = useSubmit(\r\n { updateRoute: \"Talep/BayiTeklifInsert\" },\r\n setRowDataFnc,\r\n listGridRef\r\n // afterSubmitFnc\r\n );\r\n\r\n const validationSchema = yup.object().shape({\r\n teklifTutari: yup\r\n .number()\r\n .required()\r\n .min(\r\n data?.bayiTeklifTutari +\r\n (data?.bayiTeklifTutari * data?.bayiTeklifKdvOrani) / 100,\r\n \"Müşteriye İletilecek Teklif Tutarı Kurumsal Yazılım Teklif Tutarından yüksek olmalıdır.\"\r\n ),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"Teklif Ver\"\r\n maxWidth=\"sm\"\r\n canFullScreen={false}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n // onSubmit={(values) => {\r\n // validateFormValues(validationSchema);\r\n\r\n // handleSubmit({\r\n // ...values,\r\n // id: talepId,\r\n // })\r\n // }\r\n // }\r\n initialValues={{\r\n ...data,\r\n teklifBirimi: data?.teklifBirimi ?? TEKLIF_BIRIMI.TRY.Value,\r\n bayiAnalizSonucu: parseHtmlString(data?.analizSonucu),\r\n }}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent\r\n onSubmit={handleSubmit}\r\n // style={{ height: \"750px\" }}\r\n >\r\n {/* <form onSubmit={handleSubmit}> */}\r\n <FormSpy\r\n subscription={{ values: true }}\r\n onChange={(props) => {\r\n const currentValues = values?.current || {};\r\n const newValues = props.values;\r\n\r\n // Sadece `teklifTutari` veya `teklifKdvOrani` değiştiyse işlem yap\r\n if (\r\n currentValues.teklifTutari !== newValues.teklifTutari ||\r\n currentValues.teklifKdvOrani !== newValues.teklifKdvOrani\r\n ) {\r\n const { teklifTutari, teklifKdvOrani } = newValues;\r\n\r\n if (\r\n teklifTutari == null ||\r\n teklifKdvOrani == null ||\r\n typeof teklifTutari === \"undefined\" ||\r\n typeof teklifKdvOrani === \"undefined\"\r\n ) {\r\n form.change(\"bayiToplamTeklifTutari\", 0);\r\n } else {\r\n const xToplamTeklifTutari =\r\n teklifTutari + (teklifTutari * teklifKdvOrani) / 100;\r\n form.change(\"bayiToplamTeklifTutari\", xToplamTeklifTutari);\r\n }\r\n\r\n // Mevcut değerleri güncelle\r\n values.current = { ...newValues };\r\n }\r\n }}\r\n />\r\n <DialogContentWrapper>\r\n <div>\r\n <h3>Kurumsal Yazılım A.Ş. Teklif</h3>\r\n <hr />\r\n </div>\r\n <Stack direction=\"column\" spacing={1}>\r\n <FieldWrapper\r\n label=\"Teklif Fiyatı\"\r\n //modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"bayiTeklifTutari\"\r\n component={NumberInputForm}\r\n readOnly={true}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper\r\n label=\"Teklif Birimi\"\r\n // modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"bayiTeklifBirimi\"\r\n items={Object.values(TEKLIF_BIRIMI)}\r\n //rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={true}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper\r\n label=\"Kdv Oranı (%)\"\r\n // modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"bayiTeklifKdvOrani\"\r\n component={TextInputForm}\r\n readOnly={true}\r\n numberInput={true}\r\n />\r\n </FieldWrapper>\r\n </Stack>\r\n <div>\r\n <p style={{ fontSize: \"15px;\", fontWeight: \"bold\" }}>\r\n Kurumsal Yazılım A.Ş. Teklif Tutarı:{\" \"}\r\n <span\r\n style={{ fontSize: \"15px;\", fontWeight: \"lighter\" }}\r\n >\r\n {data?.bayiTeklifTutari +\r\n (data?.bayiTeklifTutari * data?.bayiTeklifKdvOrani) /\r\n 100}\r\n </span>\r\n </p>\r\n </div>\r\n <div>\r\n <h3>Müşteriye iletilecek Teklif</h3>\r\n <hr />\r\n </div>\r\n <Stack direction=\"column\" spacing={1}>\r\n <FieldWrapper label=\"Analiz Sonucu\">\r\n <Field\r\n name=\"bayiAnalizSonucu\"\r\n component={MultilineTextInputForm}\r\n minRows={5}\r\n maxRows={5}\r\n readOnly={!yetki.kaydet || duzenlemeYapamaz}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Teklif Fiyatı\"\r\n //modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"teklifTutari\"\r\n component={NumberInputForm}\r\n readOnly={!yetki.kaydet || duzenlemeYapamaz}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper\r\n label=\"Teklif Birimi\"\r\n // modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"teklifBirimi\"\r\n items={Object.values(TEKLIF_BIRIMI)}\r\n //rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={true}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper\r\n label=\"Kdv Oranı (%)\"\r\n // modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"teklifKdvOrani\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet || duzenlemeYapamaz}\r\n numberInput={true}\r\n defaultValue={0}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Bayi Teklif Tutarı\"\r\n // modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"bayiToplamTeklifTutari\"\r\n component={TextInputForm}\r\n readOnly={true}\r\n numberInput={true}\r\n />\r\n </FieldWrapper>\r\n </Stack>\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n <ButtonWrapper\r\n color=\"success\"\r\n startIcon={<Save />}\r\n onClick={(e) => {\r\n form.submit();\r\n closeRecord();\r\n // submitExtra && submitExtra();\r\n }}\r\n disabled={duzenlemeYapamaz}\r\n >\r\n {\"Kaydet\"}\r\n </ButtonWrapper>\r\n {/* <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n // handleDelete={handleDelete}\r\n deleteCondition={false}\r\n submitting={submitting}\r\n pristine={pristine}\r\n // modalLoading={modalLoading}\r\n submitButtonText={\"Kaydet\"}\r\n submitDisabled={duzenlemeYapamaz}\r\n // deleteButtonText={\"Satırdan Sil\"}\r\n /> */}\r\n {/* <ButtonWrapper\r\n color=\"success\"\r\n startIcon={<Save />}\r\n onClick={async (e) => {\r\n validateFormValues(values);\r\n\r\n form.submit();\r\n closeRecord();\r\n }}\r\n disabled={duzenlemeYapamaz}\r\n >\r\n Kaydet\r\n </ButtonWrapper> */}\r\n </DialogActionsWrapper>\r\n {/* </form> */}\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n }\r\n);\r\nexport default BayiTeklifRecord;\r\n","import { Alert, DialogContent, Grid } from \"@mui/material\";\r\nimport React from \"react\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport useSubmit from \"../../hooks/use-submit\";\r\nimport CancelButton from \"../../components/buttons/custom/CancelButton\";\r\nimport SaveButton from \"../../components/buttons/custom/SaveButton\";\r\nimport PersonelConfig from \"../Personel/PersonelConfig\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport * as yup from \"yup\";\r\nimport validateFormValues from \"../../common/constant-functions/validateFormValues\";\r\nimport useDialog from \"../../hooks/use-dialog\";\r\n\r\nconst EMailDialog = React.forwardRef(({ yetki, rowData }, ref) => {\r\n const { open, closeRecord, id } = useDialog(ref);\r\n\r\n const handleSubmit = useSubmit({\r\n updateRoute: PersonelConfig.EMailUpdateRoute,\r\n });\r\n const validationSchema = yup.object().shape({\r\n talepEdenPersonelEMail: yup.string().email().required(),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n return (\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"Talep Eden Personel\"\r\n maxWidth=\"xs\"\r\n fullWidth={true}\r\n >\r\n <Form\r\n onSubmit={(values) =>\r\n handleSubmit({\r\n id: id,\r\n talepEdenPersonelEMail: values.talepEdenPersonelEMail,\r\n })\r\n }\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <form onSubmit={handleSubmit}>\r\n <Alert severity=\"warning\">\r\n Talep eden personele ait mail bilgisi bulunmamaktadır. Lütfen\r\n ekleyiniz.\r\n </Alert>\r\n <DialogContent sx={{ padding: 2 }} id=\"dialog-content\">\r\n <Grid container direction={\"column\"}>\r\n <FieldWrapper label=\"Email\" textWidth=\"15%\" width=\"85%\">\r\n <Field\r\n type=\"email\"\r\n name=\"talepEdenPersonelEMail\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n </DialogContent>\r\n <DialogActionsWrapper>\r\n <SaveButton\r\n onClick={(e) => {\r\n form.submit();\r\n closeRecord();\r\n }}\r\n disabled={!yetki.kaydet}\r\n />\r\n <CancelButton\r\n onClick={() => {\r\n form.reset();\r\n }}\r\n disabled={submitting || pristine}\r\n />\r\n </DialogActionsWrapper>\r\n </form>\r\n )}\r\n />\r\n </ScrollDialog>\r\n );\r\n});\r\n\r\nexport default EMailDialog;\r\n","import { Close, Save } from \"@mui/icons-material\";\r\nimport React, { useContext } from \"react\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ButtonWrapper from \"../../components/buttons/ButtonWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport RichTextEditor from \"../../components/inputs/form-inputs/RichTextEditor\";\r\nimport * as yup from \"yup\";\r\nimport validateFormValues from \"../../common/constant-functions/validateFormValues\";\r\nimport useFetchDialog from \"../../hooks/use-fetch-dialog\";\r\nimport useSubmit from \"../../hooks/use-submit\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport CheckboxForm from \"../../components/inputs/form-inputs/CheckboxForm\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport { YETKI_GRUBU_TIPI } from \"../../common/constants\";\r\n\r\nconst IsSonucuDialog = React.forwardRef(({ listGridRef, isEditable, mainlistGridRef }, ref) => {\r\n const context = useContext(AppContext);\r\n const { open, closeRecord, modalLoading, rowData, setRowData } =\r\n useFetchDialog(ref, \"IsSonucu/GetById\", mainlistGridRef);\r\n\r\n const handleSubmit = useSubmit(\r\n { updateRoute: \"IsSonucu/Update\" },\r\n setRowData,\r\n listGridRef\r\n );\r\n\r\n const validationSchema = yup.object().shape({\r\n isSonucu: yup.string().required(),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n const isSonucuYayinlansinGozuksun =\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value ||\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value;\r\n\r\n return (\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"Tamamlanan Görev Açıklaması\"\r\n maxWidth=\"lg\"\r\n fullWidth={true}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n {isSonucuYayinlansinGozuksun ? (\r\n <FieldWrapper\r\n label=\"İş Sonucu Yayınlansın\"\r\n modalLoading={modalLoading}\r\n textWidth={200}\r\n width={\"100%\"}\r\n >\r\n <Field\r\n name=\"isSonucuYayinlansin\"\r\n component={CheckboxForm}\r\n modalLoading={modalLoading}\r\n disabled={!isEditable}\r\n />\r\n </FieldWrapper>\r\n ) : null}\r\n <Field\r\n name=\"isSonucu\"\r\n component={RichTextEditor}\r\n readOnly={!isEditable}\r\n label={\"İş Sonucu\"}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n {isEditable && (\r\n <ButtonWrapper\r\n color=\"success\"\r\n startIcon={<Save />}\r\n onClick={(e) => {\r\n form.submit();\r\n }}\r\n >\r\n Kaydet\r\n </ButtonWrapper>\r\n )}\r\n {isEditable && (\r\n <ButtonWrapper\r\n color=\"warning\"\r\n startIcon={<Close />}\r\n onClick={() => {\r\n form.reset();\r\n }}\r\n disabled={submitting || pristine}\r\n >\r\n Vazgeç\r\n </ButtonWrapper>\r\n )}\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n );\r\n});\r\n\r\nexport default IsSonucuDialog;\r\n","import AlertDialog from \"../../components/dialogs/AlertDialog\";\r\nimport useSubmit from \"../../hooks/use-submit\";\r\n\r\nexport default function TeklifIptalDialog({\r\n teklifIptalAlertDialogRef,\r\n rowData,\r\n setRowDataFnc,\r\n listGridRef,\r\n}) {\r\n const handleSubmit = useSubmit(\r\n { updateRoute: \"Talep/TeklifIptal\" },\r\n setRowDataFnc,\r\n listGridRef\r\n );\r\n\r\n return (\r\n <AlertDialog\r\n ref={teklifIptalAlertDialogRef}\r\n onayBtnClick={() => {\r\n if (rowData.tahsilEdildi !== true) {\r\n handleSubmit({ id: rowData.id });\r\n }\r\n }}\r\n dialogTitle={\r\n rowData.tahsilEdildi\r\n ? \"Teklif İptal Edilemez!\"\r\n : \"Teklif İptal Ediliyor!\"\r\n }\r\n contentText={\r\n rowData.tahsilEdildi\r\n ? \"Teklif tutarı tahsil edildiği için teklif iptal edilemez!\"\r\n : \"Teklifi iptal etmek istediğinize emin misiniz?\"\r\n }\r\n dialogActionsVisible={rowData.tahsilEdildi === true ? false : true}\r\n ></AlertDialog>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport RichTextEditor from \"../../components/inputs/form-inputs/RichTextEditor\";\r\nimport * as yup from \"yup\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport SaveButton from \"../../components/buttons/custom/SaveButton\";\r\nimport CancelButton from \"../../components/buttons/custom/CancelButton\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\n\r\nconst PageConfig = {\r\n ekranKodu: \"Musteri_Res\",\r\n getByIdRoute: \"MusteriTalep/BayiTalepDetayiGetById\",\r\n updateRoute: \"MusteriTalep/BayiTalepDetayiKaydet\",\r\n};\r\n\r\nconst BayiTalebiMerkezeGonderDialog = React.forwardRef(\r\n ({ ekranKodu, listGridRef, setRowDataFnc, actionBtnVisible = true }, ref) => {\r\n const afterSubmitFnc = (res) => {\r\n if (res.data.data != null) {\r\n setRowDataFnc((prevState) => ({\r\n ...prevState,\r\n talepDurumu: res.data.data,\r\n }));\r\n }\r\n };\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n yetki,\r\n validateFormValues,\r\n } = usePageRecord(\r\n ref,\r\n PageConfig,\r\n listGridRef,\r\n ekranKodu,\r\n null,\r\n afterSubmitFnc\r\n );\r\n\r\n const validationSchema = yup.object().shape({\r\n bayiTalepDetayi: yup.string().required(),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n return (\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Talebi Merkeze Gönder\"\r\n maxWidth=\"md\"\r\n fullWidth={true}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper sx={{ padding: 0 }}>\r\n <Field\r\n name=\"bayiTalepDetayi\"\r\n component={RichTextEditor}\r\n readOnly={!yetki.kaydet || !actionBtnVisible}\r\n label={\"Açıklama\"}\r\n style={{ margin: \"10px\", height: \"20px\" }}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogContentWrapper>\r\n {actionBtnVisible && (\r\n <DialogActionsWrapper>\r\n {yetki?.kaydet && (\r\n <SaveButton\r\n onClick={(e) => {\r\n form.submit();\r\n handleClose();\r\n }}\r\n />\r\n )}\r\n {yetki?.kaydet && (\r\n <CancelButton\r\n onClick={() => {\r\n form.reset();\r\n }}\r\n disabled={submitting || pristine}\r\n />\r\n )}\r\n </DialogActionsWrapper>\r\n )}\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n );\r\n }\r\n);\r\n\r\nexport default BayiTalebiMerkezeGonderDialog;\r\n","import React from \"react\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport useDialog from \"../../hooks/use-dialog\";\r\nimport * as yup from \"yup\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport { Stack } from \"@mui/system\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport ButtonWrapper from \"../../components/buttons/ButtonWrapper\";\r\nimport { Save } from \"@mui/icons-material\";\r\nimport { TEKLIF_BIRIMI } from \"../../common/constants\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport NumberInputForm from \"../../components/inputs/form-inputs/NumberInputForm\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport useSubmit from \"../../hooks/use-submit\";\r\nimport RichTextEditor from \"../../components/inputs/form-inputs/RichTextEditor\";\r\n\r\nconst BayidenMusteriyeDirekTeklifRecord = React.forwardRef(\r\n (\r\n { ekranKodu, talepId, setRowDataFnc, listGridRef, yetki, duzenlemeYapamaz },\r\n ref\r\n ) => {\r\n const { open, closeRecord, validateFormValues, data } = useDialog(ref);\r\n\r\n // const afterSubmitFnc = (res) => {\r\n // if (res.data.data.analizSonucu == null) {\r\n // alertDialogRef?.current?.openRecord();\r\n // }\r\n // };\r\n\r\n const handleSubmit = useSubmit(\r\n { updateRoute: \"Talep/BayidenMusteriyeDirekTeklifInsert\" },\r\n setRowDataFnc,\r\n listGridRef\r\n // afterSubmitFnc\r\n );\r\n\r\n const CustomFieldWrapper = ({ label, modalLoading, children }) => {\r\n return (\r\n <FieldWrapper\r\n label={label}\r\n modalLoading={modalLoading}\r\n width={\"80%\"}\r\n textWidth={\"20%\"}\r\n >\r\n {children}\r\n </FieldWrapper>\r\n );\r\n };\r\n\r\n const validationSchema = yup.object().shape({\r\n // teklifTutari: yup\r\n // .number()\r\n // .required()\r\n // .min(\r\n // data?.bayiTeklifTutari +\r\n // (data?.bayiTeklifTutari * data?.bayiTeklifKdvOrani) / 100,\r\n // \"Müşteriye İletilecek Teklif Tutarı Kurumsal Yazılım Teklif Tutarından yüksek olmalıdır.\"\r\n // ),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"Teklif Ver\"\r\n maxWidth=\"md\"\r\n canFullScreen={false}\r\n >\r\n <Form\r\n onSubmit={(values) =>\r\n handleSubmit({\r\n ...values,\r\n id: talepId,\r\n })\r\n }\r\n initialValues={{\r\n ...data,\r\n teklifBirimi: data?.teklifBirimi ?? TEKLIF_BIRIMI.TRY.Value,\r\n }}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <form onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <Stack direction=\"column\" spacing={1}>\r\n <CustomFieldWrapper\r\n label=\"Teklif Tutarı\"\r\n //modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"teklifTutari\"\r\n component={NumberInputForm}\r\n readOnly={!yetki.kaydet || duzenlemeYapamaz}\r\n />\r\n </CustomFieldWrapper>\r\n\r\n <CustomFieldWrapper\r\n label=\"Teklif Birimi\"\r\n // modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"teklifBirimi\"\r\n items={Object.values(TEKLIF_BIRIMI)}\r\n //rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={true}\r\n />\r\n </CustomFieldWrapper>\r\n\r\n <CustomFieldWrapper\r\n label=\"Kdv Oranı (%)\"\r\n // modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"teklifKdvOrani\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet || duzenlemeYapamaz}\r\n numberInput={true}\r\n defaultValue={0}\r\n />\r\n </CustomFieldWrapper>\r\n {/* <FieldWrapper label=\"Analiz Sonucu\"> */}\r\n <Field\r\n name=\"bayiAnalizSonucu\"\r\n component={RichTextEditor}\r\n label={\"Analiz Sonucu\"}\r\n // minRows={5}\r\n // maxRows={5}\r\n readOnly={!yetki.kaydet || duzenlemeYapamaz}\r\n maxHeight=\"300px\"\r\n />\r\n {/* </FieldWrapper> */}\r\n </Stack>\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n <ButtonWrapper\r\n color=\"success\"\r\n startIcon={<Save />}\r\n onClick={(e) => {\r\n form.submit();\r\n closeRecord();\r\n }}\r\n disabled={duzenlemeYapamaz}\r\n >\r\n Kaydet\r\n </ButtonWrapper>\r\n </DialogActionsWrapper>\r\n </form>\r\n )}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n }\r\n);\r\nexport default BayidenMusteriyeDirekTeklifRecord;\r\n","import React from \"react\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport RichTextEditor from \"../../components/inputs/form-inputs/RichTextEditor\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport useDialog from \"../../hooks/use-dialog\";\r\n\r\nconst MusteriTalepDetayiDialog = React.forwardRef(({}, ref) => {\r\n const { open, closeRecord, id, data } = useDialog(ref);\r\n\r\n const handleSubmit = (formValues) => {\r\n // Form gönderildiğinde yapılacak işlemler\r\n // console.log(\"Form submitted:\", formValues);\r\n };\r\n\r\n return (\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"Müşteri Talep Detayı\"\r\n maxWidth=\"lg\"\r\n fullWidth={true}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={{\r\n ...data,\r\n talepDetayi: data?.talepDetayi,\r\n // bayiAnalizSonucu: parseHtmlString(data?.analizSonucu),\r\n }}\r\n //validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent>\r\n <DialogContentWrapper>\r\n <Field\r\n name=\"talepDetayi\"\r\n component={RichTextEditor}\r\n readOnly={true}\r\n // rowData={rowData}\r\n // modalLoading={modalLoading}\r\n />\r\n </DialogContentWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n );\r\n});\r\n\r\nexport default MusteriTalepDetayiDialog;\r\n","const TarihAtamaConfig = {\r\n title: \"Talepler\",\r\n ekranKodu: \"AnaSayfa_Res\",\r\n getByIdRoute: \"TalepTarihAtama/GetById\",\r\n insertRoute: \"TalepTarihAtama/Insert\", //inser ve update'i aynı route üzerinden yapar\r\n deleteRoute: \"TalepTarihAtama/Delete\",\r\n};\r\n\r\nconst BayiTarihAtamaConfig = {\r\n title: \"Talepler\",\r\n ekranKodu: \"AnaSayfa_Res\",\r\n getByIdRoute: \"BayiTalepTarihAtama/GetById\",\r\n insertRoute: \"BayiTalepTarihAtama/Insert\", //inser ve update'i aynı route üzerinden yapar\r\n deleteRoute: \"BayiTalepTarihAtama/Delete\",\r\n};\r\n\r\nexport { TarihAtamaConfig, BayiTarihAtamaConfig };\r\n","import React, { useContext } from \"react\";\r\nimport { Form, Field } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport * as yup from \"yup\";\r\nimport {\r\n TarihAtamaConfig,\r\n BayiTarihAtamaConfig,\r\n} from \"./TalepTarihAtamaConfig\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport DateInputForm2 from \"../../components/inputs/form-inputs/DateInputForm2\";\r\n\r\nconst TalepTarihAtamaDialog = React.forwardRef(\r\n ({ ekranKodu, listGridRef, afterSubmitFnc }, ref) => {\r\n const context = useContext(AppContext);\r\n\r\n var lConfig = context.user?.anaBayiKullanicisi\r\n ? TarihAtamaConfig\r\n : BayiTarihAtamaConfig;\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n } = usePageRecord(\r\n ref,\r\n lConfig,\r\n listGridRef,\r\n ekranKodu,\r\n null,\r\n afterSubmitFnc\r\n );\r\n\r\n const validationSchema = yup.object().shape({});\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Tarih Atama\"\r\n maxWidth=\"xs\"\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n errors,\r\n }) => (\r\n <FormComponent\r\n onSubmit={handleSubmit}\r\n style={{ height: \"250px\" }}\r\n >\r\n <DialogContentWrapper>\r\n <FieldWrapper\r\n label=\"Başlangıç Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"baslangicTarihi\"\r\n component={DateInputForm2}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Termin Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"terminTarihi\"\r\n component={DateInputForm2}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Hedef Süre (Dakika)\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"hedefSure\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n numberInput={true}\r\n />\r\n </FieldWrapper>\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={() => {\r\n handleDelete({ id: rowData.talepId });\r\n }}\r\n submitting={submitting}\r\n pristine={pristine}\r\n submitExtra={() => {\r\n if (Object.keys(errors).length < 1) {\r\n handleClose();\r\n }\r\n }}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n }\r\n);\r\n\r\nexport default TalepTarihAtamaDialog;\r\n","import React from \"react\";\r\nimport ButtonWrapper from \"../ButtonWrapper\";\r\nimport { Save } from \"@mui/icons-material\";\r\n\r\nexport default function TamamButton({ onClick, disabled }) {\r\n return (\r\n <ButtonWrapper color=\"success\" onClick={onClick} disabled={disabled}>\r\n Tamam\r\n </ButtonWrapper>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport RichTextEditor from \"../../components/inputs/form-inputs/RichTextEditor\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport TamamButton from \"../../components/buttons/custom/TamamButton\";\r\nimport useBasicDialog from \"../../hooks/use-basic-dialog\";\r\n\r\nconst YonlendirmeAciklamasiDialog = React.forwardRef(\r\n ({ listGridRef, rowData }, ref) => {\r\n const { open, closeRecord } = useBasicDialog(ref);\r\n\r\n const handleSubmit = () => {};\r\n return (\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"Yönlendirme Açıklaması\"\r\n maxWidth=\"lg\"\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n //validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent>\r\n <DialogContentWrapper>\r\n <Field\r\n name={\"analizSonucu\"}\r\n component={RichTextEditor}\r\n readOnly={true}\r\n // modalLoading={modalLoading}\r\n />\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n <TamamButton\r\n onClick={(e) => {\r\n closeRecord();\r\n }}\r\n />\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n );\r\n }\r\n);\r\n\r\nexport default YonlendirmeAciklamasiDialog;\r\n","import React from \"react\";\r\nimport IsKapatmaDialog from \"../Musteri-talep/IsKapatmaDialog\";\r\nimport TemsilciAnaliziDialog from \"./TemsilciAnaliziDialog\";\r\nimport TalepYonlendirmeDialog from \"./TalepYonlendirmeDialog\";\r\nimport BayiTalepYonlendirmeDialog from \"../BayiTalep/BayiTalepYonlendirmeDialog\";\r\nimport YorumDialog from \"./YorumDialog\";\r\nimport PdfDialog from \"../../components/pdf/PdfDialog\";\r\nimport AnalizSonucuDialog from \"./AnalizSonucuDialog\";\r\nimport TeklifRecord from \"./TeklifRecord\";\r\nimport BayiTeklifRecord from \"./BayiTeklifRecord\";\r\nimport {\r\n ANALIZ_TIPI,\r\n BAYI_TALEP_DURUMU,\r\n TALEP_TEKLIF_DURUMU,\r\n YETKI_GRUBU_TIPI,\r\n} from \"../../common/constants\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport EMailDialog from \"../Personel/EmailDialog\";\r\nimport IsSonucuDialog from \"./IsSonucuDialog\";\r\nimport AlertDialog from \"../../components/dialogs/AlertDialog\";\r\nimport TeklifIptalDialog from \"./TeklifIptalDialog\";\r\nimport BayiTalebiMerkezeGonderDialog from \"../Musteri-talep/BayiTalebiMerkezeGonderDialog\";\r\nimport BayidenMusteriyeDirekTeklifRecord from \"./BayidenMusteriyeDirekTeklifRecord\";\r\nimport BayiTemsilciAnaliziDialog from \"./BayiTemsilciAnaliziDialog\";\r\nimport MusteriTalepDetayiDialog from \"./MusteriTalepDetayiDialog\";\r\nimport OnAnalizDialog from \"./OnAnalizDialog\";\r\nimport TalepTarihAtamaDialog from \"./TalepTarihAtamaDialog\";\r\nimport YonlendirmeAciklamasiDialog from \"./YonlendirmeAciklamasiDialog\";\r\n\r\nexport default function HomeRecordDialogs({\r\n ekranKodu,\r\n rowData,\r\n setRowDataFnc,\r\n listGridRef,\r\n teklifRecordRef,\r\n bayiTeklifRecordRef,\r\n yorumDialogRef,\r\n analizSonucuDialogRef,\r\n temsilciAnaliziDialogRef,\r\n talepYonlendirmeDialogRef,\r\n bayiTalepYonlendirmeDialogRef,\r\n teklifPdfDialogRef,\r\n isKapatmaDialogRef,\r\n onayliPdfDialogRef,\r\n destekAsimPdfDialogRef,\r\n recordRef,\r\n emailDialogRef,\r\n isSonucuDialogRef,\r\n analizSonucuAlertDialogRef,\r\n teklifIptalAlertDialogRef,\r\n bayiTalebiMerkezeGonderDialogRef,\r\n bayidenMusteriyeDirekTeklifRecordRef,\r\n bayiTemsilciAnaliziDialogRef,\r\n musteriTalepDetayiDialogRef,\r\n onAnalizDialogRef,\r\n testKlavuzuDialogRef,\r\n talepTarihAtamaDialogRef,\r\n yonlendirmeAciklamasiRef,\r\n aksiyonAnaliziAlertDialogRef,\r\n isYorumDialogRef\r\n}) {\r\n const context = React.useContext(AppContext);\r\n const yetki =\r\n context?.user?.yetkiler.find((x) => x.ekranKodu === ekranKodu) ?? {};\r\n\r\n const bayiTemsilciAnaliziEditable =\r\n (context?.user?.yetkiGrubuTipi === YETKI_GRUBU_TIPI.BAYI.Value ||\r\n context?.user?.yetkiGrubuTipi === YETKI_GRUBU_TIPI.BAYI_DESTEK.Value) &&\r\n yetki.kaydet;\r\n\r\n const temsilciAnaliziEditable =\r\n (context?.user?.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value ||\r\n context?.user?.yetkiGrubuTipi ===\r\n YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value) &&\r\n yetki.kaydet;\r\n\r\n const talepDuzenlenemez =\r\n (context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.BAYI.Value ||\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.BAYI_DESTEK.Value) &&\r\n (rowData.bayiTalepDurumu === BAYI_TALEP_DURUMU.ONAYLANDI.Value ||\r\n rowData.bayiTalepDurumu === BAYI_TALEP_DURUMU.REDDEDILDI.Value) &&\r\n rowData.merkezdeIsAcildi === true;\r\n\r\n const teklifiMusteriyeIletemez =\r\n (context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.BAYI.Value ||\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.BAYI_DESTEK.Value) &&\r\n (rowData.teklifDurumu === TALEP_TEKLIF_DURUMU.MUSTERIYE_TEKLIF_VERILDI.Value ||\r\n rowData.teklifDurumu === TALEP_TEKLIF_DURUMU.MUSTERI_TEKLIFI_ONAYLADI.Value ||\r\n rowData.teklifDurumu === TALEP_TEKLIF_DURUMU.MUSTERI_TEKLIFI_REDDETTI.Value)\r\n\r\n const onAnalizEditable =\r\n (context?.user?.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value ||\r\n context?.user?.yetkiGrubuTipi ===\r\n YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value) &&\r\n yetki.kaydet;\r\n\r\n return (\r\n <>\r\n <TeklifRecord\r\n ref={teklifRecordRef}\r\n ekranKodu={ekranKodu}\r\n talepId={rowData.id}\r\n setRowDataFnc={setRowDataFnc}\r\n listGridRef={listGridRef}\r\n yetki={yetki}\r\n />\r\n <BayiTeklifRecord\r\n ref={bayiTeklifRecordRef}\r\n ekranKodu={ekranKodu}\r\n talepId={rowData.id}\r\n setRowDataFnc={setRowDataFnc}\r\n listGridRef={listGridRef}\r\n yetki={yetki}\r\n duzenlemeYapamaz={teklifiMusteriyeIletemez}\r\n />\r\n <BayidenMusteriyeDirekTeklifRecord\r\n ref={bayidenMusteriyeDirekTeklifRecordRef}\r\n ekranKodu={ekranKodu}\r\n talepId={rowData.id}\r\n setRowDataFnc={setRowDataFnc}\r\n listGridRef={listGridRef}\r\n yetki={yetki}\r\n duzenlemeYapamaz={talepDuzenlenemez}\r\n />\r\n <AlertDialog\r\n ref={analizSonucuAlertDialogRef}\r\n dialogTitle=\"Dikkat!\"\r\n contentText=\"Analiz sonucu girilmemiş.\"\r\n onayBtnText=\"Analiz sonucu gir\"\r\n redBtnText=\"Kapat\"\r\n onayBtnClick={() => {\r\n analizSonucuDialogRef?.current?.openRecord(rowData?.id);\r\n }}\r\n />\r\n <AlertDialog\r\n ref={aksiyonAnaliziAlertDialogRef}\r\n dialogTitle=\"Dikkat!\"\r\n contentText=\"Geliştirme içeriği girilmemiş.\"\r\n onayBtnText=\"Geliştirme içeriği gir\"\r\n redBtnText=\"Kapat\"\r\n onayBtnClick={() => {\r\n onAnalizDialogRef?.current?.openRecord(rowData?.id);\r\n }}\r\n />\r\n <YorumDialog ref={yorumDialogRef} listGridRef={listGridRef} />\r\n <YorumDialog\r\n ref={isYorumDialogRef}\r\n isIsYorum={true}\r\n listGridRef={listGridRef}\r\n bayiKullanicisi={context.user?.bayiKullanicisi}\r\n ></YorumDialog>\r\n <AnalizSonucuDialog\r\n ref={analizSonucuDialogRef}\r\n ekranKodu={ekranKodu}\r\n isEditable={\r\n context?.user?.yetkiGrubuTipi ===\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value && yetki.kaydet\r\n }\r\n setRowDataFnc={setRowDataFnc}\r\n />\r\n <TemsilciAnaliziDialog\r\n ref={temsilciAnaliziDialogRef}\r\n ekranKodu={ekranKodu}\r\n isEditable={temsilciAnaliziEditable}\r\n setRowDataFnc={setRowDataFnc}\r\n listGridRef={listGridRef}\r\n />\r\n <BayiTemsilciAnaliziDialog\r\n ref={bayiTemsilciAnaliziDialogRef}\r\n ekranKodu={ekranKodu}\r\n isEditable={bayiTemsilciAnaliziEditable && !talepDuzenlenemez}\r\n setRowDataFnc={setRowDataFnc}\r\n listGridRef={listGridRef}\r\n />\r\n <TalepYonlendirmeDialog\r\n ref={talepYonlendirmeDialogRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n afterSubmitFnc={() => recordRef.current.openRecord(rowData.id)}\r\n />\r\n <BayiTalepYonlendirmeDialog\r\n ref={bayiTalepYonlendirmeDialogRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n afterSubmitFnc={() => recordRef.current.openRecord(rowData.id)}\r\n />\r\n <TalepTarihAtamaDialog\r\n ref={talepTarihAtamaDialogRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n afterSubmitFnc={() => recordRef.current.openRecord(rowData.id)}\r\n />\r\n <PdfDialog\r\n ref={teklifPdfDialogRef}\r\n title=\"Teklif\"\r\n url=\"Talep/TeklifPdf\"\r\n />\r\n <PdfDialog\r\n ref={onayliPdfDialogRef}\r\n title=\"Onaylı Teklif\"\r\n url=\"Talep/TeklifOnayliBelge\"\r\n />\r\n <PdfDialog\r\n ref={destekAsimPdfDialogRef}\r\n title=\"Destek Aşım Detayı\"\r\n url=\"DestekAsimTahsilatTakip/DestekAsimPdf\"\r\n />\r\n <IsKapatmaDialog\r\n ref={isKapatmaDialogRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n setRowDataFnc={setRowDataFnc}\r\n />\r\n <BayiTalebiMerkezeGonderDialog\r\n ref={bayiTalebiMerkezeGonderDialogRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n setRowDataFnc={setRowDataFnc}\r\n actionBtnVisible={!talepDuzenlenemez}\r\n />\r\n\r\n <EMailDialog ref={emailDialogRef} yetki={yetki} rowData={rowData} />\r\n <IsSonucuDialog\r\n ref={isSonucuDialogRef}\r\n isEditable={yetki.kaydet}\r\n listGridRef={listGridRef}\r\n />\r\n <TeklifIptalDialog\r\n teklifIptalAlertDialogRef={teklifIptalAlertDialogRef}\r\n rowData={rowData}\r\n setRowDataFnc={setRowDataFnc}\r\n listGridRef={listGridRef}\r\n />\r\n <MusteriTalepDetayiDialog\r\n rowData={rowData}\r\n ref={musteriTalepDetayiDialogRef}\r\n />\r\n <OnAnalizDialog\r\n ref={onAnalizDialogRef}\r\n ekranKodu={ekranKodu}\r\n isEditable={onAnalizEditable}\r\n setRowDataFnc={setRowDataFnc}\r\n listGridRef={listGridRef}\r\n tip={ANALIZ_TIPI.AKSIYON_ANALIZI.Value}\r\n />\r\n <OnAnalizDialog\r\n ref={testKlavuzuDialogRef}\r\n ekranKodu={ekranKodu}\r\n isEditable={true}\r\n setRowDataFnc={setRowDataFnc}\r\n listGridRef={listGridRef}\r\n tip={ANALIZ_TIPI.TEST_KLAVUZU.Value}\r\n />\r\n <YonlendirmeAciklamasiDialog\r\n ref={yonlendirmeAciklamasiRef}\r\n rowData={rowData}\r\n />\r\n </>\r\n );\r\n}\r\n","import { HttpAuthorized } from \"../common\";\r\nimport { apiUrl } from \"../constants\";\r\nimport { printToast } from \"./printToast\";\r\nimport PersonelConfig from \"../../pages/Personel/PersonelConfig.js\";\r\n\r\nconst personelInputOnChangeExtra = (personelId, emailDialogRef) => {\r\n if (personelId != null) {\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${PersonelConfig.EMailGetByIdRoute}`,\r\n data: {\r\n id: personelId,\r\n },\r\n })\r\n .then((res) => {\r\n if (res?.data?.data?.talepEdenPersonelEMail == null) {\r\n emailDialogRef?.current?.openRecord(res?.data?.data?.id);\r\n }\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n });\r\n }\r\n};\r\n\r\nexport default personelInputOnChangeExtra;\r\n","\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M2.01 21 23 12 2.01 3 2 10l15 2-15 2z\"\n}), 'Send');","import React from \"react\";\r\nimport ButtonWrapper from \"../ButtonWrapper\";\r\nimport { Send } from \"@mui/icons-material\";\r\nimport { BAYI_TALEP_DURUMU } from \"../../../common/constants\";\r\n\r\nexport default function BayiTalebiOnaylaBtn({\r\n bayiTalebiMerkezeGonderDialogRef,\r\n rowData,\r\n yetki,\r\n}) {\r\n return rowData.bayiTeklifTutari == null &&\r\n rowData.teklifTutari != null ? null : (\r\n <>\r\n <ButtonWrapper\r\n // color=\"error\"\r\n startIcon={<Send />}\r\n onClick={() => {\r\n bayiTalebiMerkezeGonderDialogRef?.current?.openRecord(rowData?.id);\r\n }}\r\n disabled={!(rowData.id > 0)}\r\n >\r\n {rowData.bayiTalepDurumu !== BAYI_TALEP_DURUMU.ONAYLANDI.Value &&\r\n rowData.bayiTalepDurumu !== BAYI_TALEP_DURUMU.REDDEDILDI.Value\r\n ? \"Talebi Merkeze Gönder\"\r\n : \"Talep Merkeze İletildi\"}\r\n </ButtonWrapper>\r\n </>\r\n );\r\n}\r\n","import { ID_WIDTH } from \"../common/entityconstants\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"Kişi No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"adSoyad\",\r\n label: \"Ad Soyad\",\r\n dataType: \"text\",\r\n dataField: \"adSoyad\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"tckn\",\r\n label: \"TCKN\",\r\n dataType: \"text\",\r\n dataField: \"tckn\",\r\n visible: [\"grid\"],\r\n },\r\n\r\n {\r\n name: \"tel\",\r\n label: \"Tel\",\r\n dataType: \"text\",\r\n dataField: \"tel\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"mail\",\r\n label: \"Mail\",\r\n dataType: \"text\",\r\n dataField: \"mail\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"goreviStr\",\r\n label: \"Görevi\",\r\n dataType: \"text\",\r\n dataField: \"goreviStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"firmaYetkilisi\",\r\n label: \"Firma Yetkilisi\",\r\n dataType: \"boolean\",\r\n dataField: \"firmaYetkilisi\",\r\n visible: [\"grid\"],\r\n },\r\n //filtre--------------------------------------------------------------------------------------------------\r\n];\r\n\r\nexport default entity;\r\n","import Type from \"../../entities/SirketKisiler\";\r\n\r\nconst PageConfig = {\r\n title: \"SirketKisiler\",\r\n ekranKodu: \"SirketKisiler_Res\",\r\n type: Type,\r\n listRoute: \"SirketKisiler/List\",\r\n getByIdRoute: \"SirketKisiler/GetById\",\r\n insertRoute: \"SirketKisiler/Insert\",\r\n updateRoute: \"SirketKisiler/Update\",\r\n deleteRoute: \"SirketKisiler/Delete\",\r\n};\r\n\r\nexport { PageConfig };\r\n","import Type from \"../../entities/UrunGrubu\";\r\n\r\nconst PageConfig = {\r\n title: \"DinamikTanimlar\",\r\n ekranKodu: \"DinamikTanimlar_Res\",\r\n type: Type,\r\n listRoute: \"DinamikTanimlar/List\",\r\n getByIdRoute: \"DinamikTanimlar/GetById\",\r\n insertRoute: \"DinamikTanimlar/Insert\",\r\n updateRoute: \"DinamikTanimlar/Update\",\r\n deleteRoute: \"DinamikTanimlar/Delete\",\r\n};\r\n\r\nexport { PageConfig };\r\n","import React, { useState } from \"react\";\r\nimport { AppContext } from \"../common/AppContext\";\r\nimport { HttpAuthorized } from \"../common/common\";\r\nimport { loadingVisible } from \"../common/constant-functions/loadingVisible\";\r\nimport { printToast } from \"../common/constant-functions/printToast\";\r\nimport validateFormValues from \"../common/constant-functions/validateFormValues\";\r\nimport { apiUrl } from \"../common/constants\";\r\nimport { PageConfig } from \"../pages/DinamikTanimlar/DinamikTanimlarConfig\";\r\n\r\nfunction useDinamikTanimlarRecord(ref, dinamikTanimInputRef, ekranKodu, tip) {\r\n const [open, setOpen] = useState(false);\r\n const [recId, setRecId] = useState(0);\r\n const [rowData, setRowData] = useState({});\r\n const [modalLoading, setModalLoading] = useState(true);\r\n\r\n React.useImperativeHandle(ref, () => ({\r\n setRecId: setRecId,\r\n recId: recId,\r\n openRecord: openRecord,\r\n }));\r\n\r\n const handleClickOpen = () => setOpen(true);\r\n\r\n const handleClose = () => {\r\n setOpen(false);\r\n setRecId(null);\r\n setRowData({});\r\n setModalLoading(true);\r\n };\r\n\r\n async function fetchData(recId) {\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${PageConfig.getByIdRoute}`,\r\n data: {\r\n id: recId,\r\n },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n setRowData(res.data.data);\r\n setModalLoading(false);\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n });\r\n }\r\n\r\n async function insertOrUpdate(values) {\r\n loadingVisible(true);\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${\r\n values.id ? PageConfig.updateRoute : PageConfig.insertRoute\r\n }`,\r\n data: {\r\n ...values,\r\n },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n setRowData(res.data.data);\r\n dinamikTanimInputRef?.current?.changeValue({\r\n Value: res.data.data?.id,\r\n Text: res.data.data?.aciklama,\r\n });\r\n handleClose();\r\n\r\n console.log(\"res gelen\", res.data.data);\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n })\r\n .finally(() => loadingVisible(false));\r\n }\r\n\r\n async function handleDelete() {\r\n loadingVisible(true);\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${PageConfig.deleteRoute}`,\r\n data: { id: rowData.id },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n\r\n if (res.data.success) {\r\n setRowData({});\r\n dinamikTanimInputRef?.current?.changeValue({\r\n Value: null,\r\n Text: null,\r\n });\r\n handleClose();\r\n }\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n })\r\n .finally(() => loadingVisible(false));\r\n }\r\n\r\n const handleSubmit = async (values) => {\r\n values.tip = tip;\r\n await insertOrUpdate(values);\r\n };\r\n\r\n function openRecord(recId) {\r\n if (recId > 0) {\r\n setRecId(recId);\r\n fetchData(recId);\r\n } else {\r\n setRecId(null);\r\n setModalLoading(false);\r\n }\r\n handleClickOpen();\r\n }\r\n\r\n const context = React.useContext(AppContext);\r\n\r\n const yetki =\r\n context?.user?.yetkiler.find((x) => x.ekranKodu === ekranKodu) ?? {};\r\n\r\n return {\r\n rowData,\r\n setRowData,\r\n recId,\r\n setRecId,\r\n open,\r\n handleClickOpen,\r\n handleClose,\r\n modalLoading,\r\n setModalLoading,\r\n handleDelete,\r\n handleSubmit,\r\n validateFormValues,\r\n yetki,\r\n };\r\n}\r\n\r\nexport default useDinamikTanimlarRecord;\r\n","import React from \"react\";\r\nimport { Stack } from \"@mui/material\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport * as yup from \"yup\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport useDinamikTanimlarRecord from \"../../hooks/use-dinamik-tanimlar-record\";\r\n\r\nconst CustomFieldWrapper = ({ label, modalLoading, children }) => {\r\n return (\r\n <FieldWrapper\r\n label={label}\r\n modalLoading={modalLoading}\r\n width={\"75%\"}\r\n textWidth={\"25%\"}\r\n >\r\n {children}\r\n </FieldWrapper>\r\n );\r\n};\r\n\r\nconst DinamikTanimlarRecord = React.forwardRef(\r\n (\r\n { ekranKodu, dinamikTanimlarRecordRef, tip, caption, aciklamaCaption },\r\n ref\r\n ) => {\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n } = useDinamikTanimlarRecord(ref, dinamikTanimlarRecordRef, ekranKodu, tip);\r\n\r\n const validationSchema = yup.object().shape({\r\n aciklama: yup.string().required(),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle={caption ? caption : \"Yeni Tanım Ekleme\"}\r\n maxWidth=\"xs\"\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <form onSubmit={handleSubmit}>\r\n {/* <FormComponent onSubmit={handleSubmit}> */}\r\n <DialogContentWrapper>\r\n <Stack direction=\"column\" spacing={1}>\r\n {/* <CustomFieldWrapper\r\n label=\"Kayıt No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </CustomFieldWrapper> */}\r\n <CustomFieldWrapper\r\n label={aciklamaCaption ? aciklamaCaption : \"Tanım\"}\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"aciklama\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n </Stack>\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogActionsWrapper>\r\n {/* </FormComponent> */}\r\n </form>\r\n )}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n }\r\n);\r\nexport default DinamikTanimlarRecord;\r\n","import React, { useRef } from \"react\";\r\nimport AutocomplateInputForm from \"../form-inputs/AutocomplateInputForm\";\r\nimport DinamikTanimlarRecord from \"../../../pages/DinamikTanimlar/DinamikTanimlarRecord\";\r\n\r\nexport default function DinamikTanimlarInputForm({\r\n ekranKodu,\r\n rowData,\r\n readOnly,\r\n inputRef,\r\n input,\r\n reqData,\r\n fieldLabelRef,\r\n tip,\r\n caption,\r\n aciklamaCaption,\r\n ...rest\r\n}) {\r\n const dinamikTanimlarDialogRef = useRef();\r\n return (\r\n <>\r\n <AutocomplateInputForm\r\n readOnly={readOnly}\r\n rowData={rowData}\r\n insertButtonRef={dinamikTanimlarDialogRef}\r\n remoteDataAdaptor={{\r\n fetchRoute: \"DinamikTanimlar/DinamikTanimlarListForSelect\",\r\n fildsForText: [\"aciklama\"],\r\n fieldForValue: \"id\",\r\n reqData: {\r\n ...{\r\n tip: tip,\r\n },\r\n },\r\n\r\n fieldLabel: fieldLabelRef,\r\n }}\r\n ref={inputRef}\r\n input={input}\r\n {...rest}\r\n />\r\n <DinamikTanimlarRecord\r\n ref={dinamikTanimlarDialogRef}\r\n ekranKodu={ekranKodu}\r\n dinamikTanimlarInputRef={inputRef}\r\n tip={tip}\r\n caption={caption}\r\n aciklamaCaption={aciklamaCaption}\r\n ></DinamikTanimlarRecord>\r\n </>\r\n );\r\n}\r\n","import React, { useRef } from \"react\";\r\nimport { Stack } from \"@mui/material\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport * as yup from \"yup\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport { PageConfig } from \"./SirketKisilerConfig\";\r\nimport DinamikTanimlarInputForm from \"../../components/inputs/custom-form-inputs/DinamikTanimlarInputForm\";\r\nimport { DINAMIK_TANIM_TIPLERI } from \"../../common/constants\";\r\nimport CheckboxForm from \"../../components/inputs/form-inputs/CheckboxForm\";\r\n\r\nconst CustomFieldWrapper = ({ label, modalLoading, children }) => {\r\n return (\r\n <FieldWrapper\r\n label={label}\r\n modalLoading={modalLoading}\r\n width={\"75%\"}\r\n textWidth={\"25%\"}\r\n >\r\n {children}\r\n </FieldWrapper>\r\n );\r\n};\r\n\r\nconst SirketKisilerRecord = React.forwardRef(\r\n ({ ekranKodu, listGridRef, sirketidData }, ref) => {\r\n const initialState = { sirketid: sirketidData?.id };\r\n\r\n const gorevDinamikTanimInputRef = useRef();\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n } = usePageRecord(ref, PageConfig, listGridRef, ekranKodu, initialState);\r\n\r\n // console.log(rowData, \"rowData\");\r\n\r\n const validationSchema = yup.object().shape({\r\n adSoyad: yup.string().required(),\r\n // adSoyad: yup.string().required(),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Yeni Kişi\"\r\n maxWidth=\"xs\"\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <form onSubmit={handleSubmit}>\r\n {/* <FormComponent onSubmit={handleSubmit}> */}\r\n <DialogContentWrapper>\r\n <Stack direction=\"column\" spacing={1}>\r\n <CustomFieldWrapper\r\n label=\"Kişi No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Şirket No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"sirketid\"\r\n component={TextInputForm}\r\n //readOnly={!yetki.kaydet}\r\n disabled\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Ad Soyad\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"adSoyad\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"T.C. Kimlik No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"tckn\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Görevi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"gorevi\"\r\n rowData={rowData}\r\n component={DinamikTanimlarInputForm}\r\n inputRef={gorevDinamikTanimInputRef}\r\n ekranKodu={ekranKodu}\r\n readOnly={!yetki.kaydet}\r\n tip={DINAMIK_TANIM_TIPLERI.SIRKET_KISI_GOREVI.Value}\r\n caption=\"Görev Tanımlama\"\r\n aciklamaCaption=\"Görev\"\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Firma Yetkilisi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"firmaYetkilisi\"\r\n rowData={rowData}\r\n component={CheckboxForm}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper label=\"Tel\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"tel\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Mail\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"mail\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n </Stack>\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogActionsWrapper>\r\n {/* </FormComponent> */}\r\n </form>\r\n )}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n }\r\n);\r\nexport default SirketKisilerRecord;\r\n","import React, { useContext, useRef } from \"react\";\r\nimport PersonelRecord from \"../../../pages/Personel/PersonelRecord\";\r\nimport AutocomplateInputForm from \"../form-inputs/AutocomplateInputForm\";\r\nimport SirketKisilerRecord from \"../../../pages/SirketKisiler/SirketKisilerRecord\";\r\nimport { AppContext } from \"../../../common/AppContext\";\r\n\r\nexport default function SirketKisisiInputForm({\r\n ekranKodu,\r\n rowData,\r\n readOnly,\r\n inputRef,\r\n input,\r\n sirketInputRef,\r\n onChangeExtra,\r\n ...rest\r\n}) {\r\n const sirketKisiDialogRef = useRef();\r\n const context = useContext(AppContext);\r\n\r\n return (\r\n <>\r\n <AutocomplateInputForm\r\n readOnly={readOnly}\r\n insertButtonRef={sirketKisiDialogRef}\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute: \"SirketKisiler/ListForSelect\",\r\n fildsForText: [\"adSoyad\"],\r\n fieldForValue: \"id\",\r\n reqData: {\r\n ...(sirketInputRef?.current\r\n ? {\r\n sirketid:\r\n sirketInputRef?.current?.value === \"\"\r\n ? rowData.sirketId\r\n : sirketInputRef?.current?.value,\r\n }\r\n : { getSirket_KodFromSession: true }),\r\n },\r\n }}\r\n ref={inputRef}\r\n input={input}\r\n onChangeExtra={onChangeExtra}\r\n {...rest}\r\n />\r\n <SirketKisilerRecord\r\n ref={sirketKisiDialogRef}\r\n ekranKodu={ekranKodu}\r\n // listGridRef={listGridRef}\r\n sirketidData={{ id: sirketInputRef?.current?.value ?? context?.user?.sirketId }}\r\n />\r\n {/* <PersonelRecord\r\n ref={personelDialogRef}\r\n ekranKodu={ekranKodu}\r\n personelInputRef={inputRef}\r\n sirketInputRef={sirketInputRef}\r\n ></PersonelRecord> */}\r\n </>\r\n );\r\n}\r\n","import React, { useRef } from \"react\";\r\nimport {\r\n Comment,\r\n Save,\r\n Preview,\r\n Task,\r\n Redo,\r\n Cancel,\r\n} from \"@mui/icons-material\";\r\nimport { Grid, IconButton, Tooltip } from \"@mui/material\";\r\nimport { Form, Field, FormSpy } from \"react-final-form\";\r\nimport {\r\n BAYI_TALEP_DURUMU,\r\n ILGILI_MODUL,\r\n ONAY_RED_DURUMU,\r\n ONCELIK_DURUMU,\r\n RAPOR_KATEGORI,\r\n TALEP_DURUMU,\r\n TALEP_TIPI,\r\n URUN_PROGRAMLARI,\r\n YETKI_GRUBU_TIPI,\r\n} from \"../../common/constants\";\r\nimport ButtonWrapper from \"../../components/buttons/ButtonWrapper\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport * as yup from \"yup\";\r\nimport PageConfig from \"./HomeConfig\";\r\nimport RichTextEditor from \"../../components/inputs/form-inputs/RichTextEditor\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport dayjs from \"dayjs\";\r\nimport PersonelInputForm from \"../../components/inputs/custom-form-inputs/PersonelInputForm\";\r\nimport { getTalepDurumuArr } from \"../../common/constant-functions/getTalepDurumuArr\";\r\nimport AlertDialog from \"../../components/dialogs/AlertDialog\";\r\nimport SirketInputForm from \"../../components/inputs/custom-form-inputs/SirketInputForm\";\r\nimport KullaniciInputForm from \"../../components/inputs/custom-form-inputs/KullaniciInputForm\";\r\nimport NumberInputForm from \"../../components/inputs/form-inputs/NumberInputForm\";\r\nimport PopoverButton from \"../../components/buttons/PopoverButton\";\r\nimport CustomColoredButton from \"../../components/buttons/custom/CustomColoredButton\";\r\nimport IsKapatmaBtn from \"../../components/buttons/custom/IsKapatmaBtn\";\r\nimport EkDosyaButton from \"../../components/buttons/custom/EkDosyaButton\";\r\nimport { talebeAitDosyaVar } from \"../../common/apimessage\";\r\nimport useHandleDelete from \"../../hooks/use-handle-delete\";\r\nimport HomeRecordDialogs from \"./HomeRecordDialogs\";\r\nimport { FileConfig } from \"../Musteri-talep/MusteriTalepConfig\";\r\nimport YorumlariGoruntuleButton from \"../../components/buttons/custom/YorumlariGoruntuleButton\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport personelInputOnChangeExtra from \"../../common/constant-functions/personelInputOnChangeExtra\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport DialogContentTop from \"../../components/dialogs/DialogContentTop\";\r\nimport BayiTalebiOnaylaBtn from \"../../components/buttons/custom/BayiTalebiOnaylaBtn\";\r\nimport DateInputForm2 from \"../../components/inputs/form-inputs/DateInputForm2\";\r\nimport SirketKisisiInputForm from \"../../components/inputs/custom-form-inputs/SirketKisisiInputForm\";\r\n\r\nconst HomeRecord = React.forwardRef(({ ekranKodu, listGridRef }, ref) => {\r\n const personelInputRef = useRef();\r\n const sirketKisisiInputRef = useRef();\r\n\r\n const teklifRecordRef = useRef();\r\n const bayiTeklifRecordRef = useRef();\r\n const alertDialogRef = useRef();\r\n const yorumDialogRef = useRef();\r\n const teklifPdfDialogRef = useRef();\r\n const onayliPdfDialogRef = useRef();\r\n const destekAsimPdfDialogRef = useRef();\r\n const bayidenMusteriyeDirekTeklifRecordRef = useRef();\r\n\r\n const sirketInputRef = useRef();\r\n const kullaniciInputRef = useRef();\r\n const kayitEdenkullaniciInputRef = useRef();\r\n const onayRedKullaniciInputRef = useRef();\r\n const analizSonucuDialogRef = useRef();\r\n const talepYonlendirmeDialogRef = useRef();\r\n const bayiTalepYonlendirmeDialogRef = useRef();\r\n const temsilciAnaliziDialogRef = useRef();\r\n const isKapatmaDialogRef = useRef();\r\n const deleteDialogRef = useRef();\r\n const emailDialogRef = useRef();\r\n const isSonucuDialogRef = useRef();\r\n const analizSonucuAlertDialogRef = useRef();\r\n const teklifIptalAlertDialogRef = useRef();\r\n const bayiTalebiMerkezeGonderDialogRef = useRef();\r\n const bayiTemsilciAnaliziDialogRef = useRef();\r\n const musteriTalepDetayiDialogRef = useRef();\r\n const onAnalizDialogRef = useRef();\r\n const testKlavuzuDialogRef = useRef();\r\n const talepTarihAtamaDialogRef = useRef();\r\n const yonlendirmeAciklamasiRef = useRef();\r\n const aksiyonAnaliziAlertDialogRef = useRef();\r\n const isYorumDialogRef = useRef();\r\n\r\n\r\n const deleteCheck = (res) => {\r\n if (res.data.message === talebeAitDosyaVar) {\r\n deleteDialogRef?.current?.openRecord(rowData.id);\r\n return true;\r\n } else return false;\r\n };\r\n\r\n var initialState = {\r\n kayitTarihi: dayjs(),\r\n raporKategori: RAPOR_KATEGORI.TALEP.Value,\r\n talepDurumu: TALEP_DURUMU.YENI_TALEP.Value,\r\n onayRed: ONAY_RED_DURUMU.BELIRTILMEDI.Value,\r\n };\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n setRowDataFnc,\r\n validateFormValues,\r\n yetki,\r\n context,\r\n } = usePageRecord(\r\n ref,\r\n PageConfig,\r\n listGridRef,\r\n ekranKodu,\r\n initialState,\r\n null,\r\n deleteCheck\r\n );\r\n\r\n const handleDeleteWithFiles = useHandleDelete(\r\n PageConfig.deleteWithFilesRoute,\r\n setRowDataFnc,\r\n handleClose,\r\n listGridRef\r\n );\r\n\r\n const validationSchema = yup.object().shape({\r\n sirketId: yup.number().required(),\r\n // talepDurumu: yup.number().required(),\r\n talepBasligi: yup.string().required(),\r\n talepTipi: yup.number().required(),\r\n // kayitEdenKullaniciId: yup.number().required(),\r\n oncelik: yup.number().required(),\r\n ilgiliModul: yup.number().required(),\r\n platform: yup.number().required(),\r\n });\r\n\r\n const CustomFieldWrapperKdvOrani = ({ label, modalLoading, children }) => {\r\n return (\r\n <FieldWrapper\r\n label={label}\r\n modalLoading={modalLoading}\r\n width={\"60%\"}\r\n textWidth={\"40%\"}\r\n style={{ textAlign: \"center\" }}\r\n >\r\n {children}\r\n </FieldWrapper>\r\n );\r\n };\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n const bayiTeklifVisible =\r\n yetki?.teklifGoruntule &&\r\n rowData.bayiTeklifTutari != null &&\r\n context.user?.anaBayiKullanicisi === true;\r\n\r\n const teklifVisible =\r\n yetki?.teklifGoruntule &&\r\n rowData.teklifTutari != null &&\r\n bayiTeklifVisible != true;\r\n\r\n const teklifVerButtonVisible =\r\n (rowData.talepDurumu === TALEP_DURUMU.YENI_TALEP.Value ||\r\n rowData.talepDurumu === TALEP_DURUMU.CALISMA_YAPILIYOR.Value ||\r\n rowData.talepDurumu === TALEP_DURUMU.MERKEZE_ILETILDI.Value) &&\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value &&\r\n rowData.teklifTutari === null &&\r\n rowData.id > 0;\r\n\r\n const bayiTeklifVerButtonVisible =\r\n (rowData.talepDurumu === TALEP_DURUMU.YENI_TALEP.Value ||\r\n rowData.talepDurumu === TALEP_DURUMU.CALISMA_YAPILIYOR.Value ||\r\n rowData.talepDurumu === TALEP_DURUMU.TEKLIFE_CEVAP_BEKLENIYOR.Value) &&\r\n (context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.BAYI.Value ||\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.BAYI_DESTEK.Value) &&\r\n context.user.sirketId !== rowData.sirketId &&\r\n rowData.id > 0;\r\n\r\n const talepDuzenlenemez =\r\n (context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.BAYI.Value ||\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.BAYI_DESTEK.Value) &&\r\n (rowData.bayiTalepDurumu === BAYI_TALEP_DURUMU.ONAYLANDI.Value ||\r\n rowData.bayiTalepDurumu === BAYI_TALEP_DURUMU.REDDEDILDI.Value) &&\r\n rowData.merkezdeIsAcildi === true;\r\n\r\n const bayiTalepDetayiDuzenlenemez = true;\r\n\r\n const onayRedSecenekleriniGoruntule =\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value;\r\n\r\n const harmonyAdmin = context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value;\r\n\r\n const talepyonlendirmeYapabilir = \r\n (harmonyAdmin === true) || (context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.BAYI.Value) ||\r\n ((context.user?.kullaniciParametreleri?.hataVeSorguTipliTalepleriYonlendirebilir === true) \r\n && (rowData?.talepTipi === 3 || rowData?.talepTipi === 4))\r\n \r\n \r\n // ((rowData?.talepTipi === 1 || rowData?.talepTipi === 2) || (\r\n // (rowData?.talepTipi === 3 || rowData?.talepTipi === 4) &&\r\n // context.user?.kullaniciParametreleri?.hataVeSorguTipliTalepleriYonlendirebilir === true));\r\n\r\n const temsilciAnaliziYapabilir =\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value ||\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value;\r\n\r\n const bayiTemsilciAnaliziYapabilir = true;\r\n\r\n const isSonucuGirebilir =\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value ||\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value;\r\n\r\n\r\n const bayiTalebiOnaylayabilir = context.user.bayiKullanicisi == true;\r\n const talepYonlendirmeBayili = context.user.bayiKullanicisi == true;\r\n\r\n const talepDetayindaBayiTalepDetayiGozuksun =\r\n (context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value ||\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value) &&\r\n rowData.bayiTalepDurumu == BAYI_TALEP_DURUMU.ONAYLANDI.Value &&\r\n rowData.bayiTalepDetayi !== \"\";\r\n\r\n const musteriTalepDetayiGoruntule =\r\n rowData.bayiid > 0 &&\r\n (context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value ||\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value);\r\n\r\n const testKlavuzuYapabilir =\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value ||\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value;\r\n\r\n const onAnalizYapabilir = true;\r\n\r\n const tarihAtamaYapabilir =\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value ||\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.BAYI.Value;\r\n\r\n const yonlendirmeAciklamasiGorur =\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value ||\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value;\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Talep\"\r\n maxWidth=\"lg\"\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n // values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <FormSpy\r\n // subscription={ }\r\n onChange={(props) => {\r\n\r\n debugger;\r\n // if (values?.current?.sirketId != props.values.sirketId) {\r\n // form.change(\"talepEdenPersonelId\", null);\r\n // form.change(\"kayitEdenKullaniciId\", null);\r\n // }\r\n\r\n // values.current = props.values;\r\n }}\r\n />\r\n <DialogContentWrapper>\r\n <DialogContentTop>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <FieldWrapper label=\"Talep No\" modalLoading={modalLoading}>\r\n <Field disabled name=\"id\" component={TextInputForm} rowData={rowData} />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Rapor Kategorisi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n items={Object.values(RAPOR_KATEGORI)}\r\n name=\"raporKategori\"\r\n component={AutocomplateInputForm}\r\n readOnly={true}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper label=\"Talep Eden Müşteri\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"sirketId\"\r\n rowData={rowData}\r\n component={SirketInputForm}\r\n readOnly={!yetki.kaydet || talepDuzenlenemez}\r\n inputRef={sirketInputRef}\r\n personelInputRef={personelInputRef}\r\n kullaniciInputRef={[\r\n kullaniciInputRef,\r\n onayRedKullaniciInputRef,\r\n ]}\r\n sirketKisisiInputRef={sirketKisisiInputRef}\r\n // onChangeExtra={(old, newVal) => {\r\n // if (newVal?.Value && newVal?.Value != old.Value) {\r\n // form.change(\"talepEdenPersonelId\", null);\r\n // form.change(\"talepEdenPersonelKisiid\", null);\r\n // }\r\n // }}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Talep Durumu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"talepDurumu\"\r\n items={getTalepDurumuArr()}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={true}\r\n />\r\n </FieldWrapper>\r\n {/* <FieldWrapper\r\n label=\"Teklif Durumu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"teklifDurumu\"\r\n items={getTeklifDurumuArr()}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={true}\r\n // disabled\r\n />\r\n </FieldWrapper> */}\r\n <FieldWrapper\r\n label=\"Talep Başlığı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"talepBasligi\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet || talepDuzenlenemez}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Talep Eden Personel\"\r\n modalLoading={modalLoading}\r\n >\r\n {/* <Field\r\n name=\"talepEdenPersonelId\"\r\n rowData={rowData}\r\n component={PersonelInputForm}\r\n readOnly={\r\n !yetki.kaydet ||\r\n sirketInputRef?.current?.value === \"\" ||\r\n talepDuzenlenemez\r\n }\r\n inputRef={personelInputRef}\r\n ekranKodu={ekranKodu}\r\n sirketInputRef={sirketInputRef}\r\n onChangeExtra={personelOnChangeExtra}\r\n /> */}\r\n <Field\r\n name=\"talepEdenPersonelKisiid\"\r\n rowData={rowData}\r\n component={SirketKisisiInputForm}\r\n readOnly={\r\n !yetki.kaydet ||\r\n sirketInputRef?.current?.value === \"\" ||\r\n talepDuzenlenemez\r\n }\r\n inputRef={sirketKisisiInputRef}\r\n ekranKodu={ekranKodu}\r\n sirketInputRef={sirketInputRef}\r\n // onChangeExtra={sirketKisisiOnChangeExtra}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper\r\n label=\"Talep Tipi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"talepTipi\"\r\n items={TALEP_TIPI}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet || talepDuzenlenemez || (!harmonyAdmin && rowData.id)}\r\n // readOnly={!yetki.kaydet || talepDuzenlenemez}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Öncelik Durumu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"oncelik\"\r\n items={ONCELIK_DURUMU}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet || talepDuzenlenemez}\r\n />\r\n </FieldWrapper>\r\n {teklifVisible && (\r\n <>\r\n <Grid container direction=\"row\">\r\n <Grid item xs={!yetki?.sil ? 9 : 7}>\r\n <FieldWrapper\r\n label=\"Teklif Tutarı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Grid container direction=\"row\">\r\n <Grid item xs={10}>\r\n <Field\r\n name=\"teklifTutari\"\r\n component={NumberInputForm}\r\n rowData={rowData}\r\n readOnly={true}\r\n />\r\n </Grid>\r\n <Grid item xs={2}>\r\n <Field\r\n name=\"teklifBirimi\"\r\n component={TextInputForm}\r\n rowData={rowData}\r\n readOnly={true}\r\n />\r\n </Grid>\r\n </Grid>\r\n </FieldWrapper>\r\n </Grid>\r\n <Grid item xs={4}>\r\n <CustomFieldWrapperKdvOrani\r\n label=\"Kdv (%)\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"teklifKdvOrani\"\r\n component={TextInputForm}\r\n rowData={rowData}\r\n readOnly={true}\r\n numberInput={true}\r\n />\r\n </CustomFieldWrapperKdvOrani>\r\n </Grid>\r\n {yetki?.sil && (\r\n <Grid item xs={1}>\r\n <Tooltip title=\"Teklifi İptal Et\">\r\n <IconButton\r\n size=\"small\"\r\n aria-label=\"close\"\r\n onClick={() => {\r\n teklifIptalAlertDialogRef?.current?.openRecord();\r\n }}\r\n sx={{\r\n color: (theme) => theme.palette.error.main,\r\n marginLeft: \"15px\",\r\n }}\r\n disabled={\r\n rowData.tahsilEdildi === true ||\r\n talepDuzenlenemez\r\n }\r\n >\r\n <Cancel />\r\n </IconButton>\r\n </Tooltip>\r\n </Grid>\r\n )}\r\n </Grid>\r\n </>\r\n )}\r\n {bayiTeklifVisible && (\r\n <>\r\n <Grid container direction=\"row\">\r\n <Grid item xs={!yetki?.sil ? 9 : 7}>\r\n <FieldWrapper\r\n label=\"Teklif Tutarı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Grid container direction=\"row\">\r\n <Grid item xs={10}>\r\n <Field\r\n name=\"bayiTeklifTutari\"\r\n component={NumberInputForm}\r\n rowData={rowData}\r\n readOnly={true}\r\n />\r\n </Grid>\r\n <Grid item xs={2}>\r\n <Field\r\n name=\"bayiTeklifBirimi\"\r\n component={TextInputForm}\r\n rowData={rowData}\r\n readOnly={true}\r\n />\r\n </Grid>\r\n </Grid>\r\n </FieldWrapper>\r\n </Grid>\r\n <Grid item xs={4}>\r\n <CustomFieldWrapperKdvOrani\r\n label=\"Kdv (%)\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"bayiTeklifKdvOrani\"\r\n component={TextInputForm}\r\n rowData={rowData}\r\n readOnly={true}\r\n numberInput={true}\r\n />\r\n </CustomFieldWrapperKdvOrani>\r\n </Grid>\r\n {yetki?.sil && (\r\n <Grid item xs={1}>\r\n <Tooltip title=\"Teklifi İptal Et\">\r\n <IconButton\r\n size=\"small\"\r\n aria-label=\"close\"\r\n onClick={() => {\r\n teklifIptalAlertDialogRef?.current?.openRecord();\r\n }}\r\n sx={{\r\n color: (theme) => theme.palette.error.main,\r\n marginLeft: \"15px\",\r\n }}\r\n disabled={\r\n rowData.tahsilEdildi === true ||\r\n talepDuzenlenemez\r\n }\r\n >\r\n <Cancel />\r\n </IconButton>\r\n </Tooltip>\r\n </Grid>\r\n )}\r\n </Grid>\r\n </>\r\n )}\r\n {/* <FieldWrapper\r\n label=\"Toplam Tutar\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"teklifToplamTutari\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n maxLength={15}\r\n />\r\n </FieldWrapper> */}\r\n <FieldWrapper label=\"Özellik 1\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"ozellik\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet || talepDuzenlenemez}\r\n rowData={rowData}\r\n maxLength={15}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <FieldWrapper\r\n label=\"Kayıt Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"kayitTarihi\"\r\n component={DateInputForm2}\r\n readOnly={!yetki.kaydet}\r\n rowData={rowData}\r\n isDisabled={true}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Kayıt Eden Kullanıcı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"gercekKayitEdenKullaniciIdStr\"\r\n rowData={rowData}\r\n component={TextInputForm}\r\n readOnly={true}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Teklif Veriliş Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"teklifVerilisTarihi\"\r\n component={DateInputForm2}\r\n rowData={rowData}\r\n readOnly={true}\r\n isDisabled={true}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Teklif Onay/Red Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"onayRedTarihi\"\r\n component={DateInputForm2}\r\n rowData={rowData}\r\n readOnly={true}\r\n isDisabled={true}\r\n />\r\n </FieldWrapper>\r\n {onayRedSecenekleriniGoruntule && (\r\n <>\r\n <FieldWrapper\r\n label=\"Onay/Red\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"onayRed\"\r\n items={Object.values(ONAY_RED_DURUMU)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet || talepDuzenlenemez}\r\n clearable={false}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper\r\n label=\"Onay/Red Kullanıcı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"onayRedKullaniciId\"\r\n rowData={rowData}\r\n component={KullaniciInputForm}\r\n readOnly={!yetki.kaydet || talepDuzenlenemez}\r\n sirketInputRef={sirketInputRef}\r\n inputRef={onayRedKullaniciInputRef}\r\n reqData={{\r\n getSirket_KodFromSession: true,\r\n sirketId2:\r\n sirketInputRef?.current?.value > 0 &&\r\n sirketInputRef?.current?.value,\r\n }}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Onay/Red Açıklama\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"onayRedAciklama\"\r\n component={TextInputForm}\r\n rowData={rowData}\r\n readOnly={!yetki.kaydet || talepDuzenlenemez}\r\n />\r\n </FieldWrapper>\r\n </>\r\n )}\r\n <FieldWrapper\r\n label=\"İlgili Modül\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"ilgiliModul\"\r\n items={Object.values(ILGILI_MODUL)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet || talepDuzenlenemez}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper label=\"Platform\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"platform\"\r\n items={Object.values(URUN_PROGRAMLARI)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet || talepDuzenlenemez}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n </DialogContentTop>\r\n {talepDetayindaBayiTalepDetayiGozuksun ? (\r\n <>\r\n <Field\r\n name=\"bayiTalepDetayi\"\r\n component={RichTextEditor}\r\n minHeight=\"200px\"\r\n readOnly={\r\n !yetki.kaydet ||\r\n talepDuzenlenemez ||\r\n bayiTalepDetayiDuzenlenemez\r\n }\r\n label={\"Bayi Yönlendirme Açıklaması\"}\r\n modalLoading={modalLoading}\r\n rowData={rowData}\r\n />\r\n </>\r\n ) : (\r\n <Field\r\n name=\"talepDetayi\"\r\n component={RichTextEditor}\r\n readOnly={!yetki.kaydet || talepDuzenlenemez}\r\n label={\"Talep Detayı\"}\r\n modalLoading={modalLoading}\r\n rowData={rowData}\r\n />\r\n )}\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper\r\n sx={{\r\n justifyContent: \"space-between\",\r\n }}\r\n >\r\n <Grid>\r\n {yetki?.teklifGoruntule && (\r\n <CustomColoredButton\r\n color=\"teal\"\r\n startIcon={<Preview />}\r\n onClick={(e) => {\r\n teklifPdfDialogRef?.current?.openRecord(rowData.id);\r\n }}\r\n disabled={rowData?.teklifVerilisTarihi == null}\r\n >\r\n Teklifi Görüntüle\r\n </CustomColoredButton>\r\n )}\r\n {yetki?.teklifGoruntule &&\r\n rowData.id > 0 &&\r\n rowData.onayliTeklifDosyasiVarMi && (\r\n <ButtonWrapper\r\n color=\"secondary\"\r\n startIcon={<Task />}\r\n onClick={(e) => {\r\n onayliPdfDialogRef?.current?.openRecord(rowData.id);\r\n }}\r\n >\r\n Onaylı Teklifi Görüntüle\r\n </ButtonWrapper>\r\n )}\r\n\r\n <PopoverButton\r\n label=\"Yorum ve Süreçler\"\r\n backColor=\"#72cca7\"\r\n hoverBackColor=\"#73cc72\"\r\n\r\n >\r\n <YorumlariGoruntuleButton\r\n onClick={(e) => {\r\n yorumDialogRef?.current?.openRecord(rowData.id);\r\n }}\r\n disabled={!rowData.id}\r\n caption={\"Talep Yorumları\"}\r\n />\r\n <YorumlariGoruntuleButton\r\n onClick={(e) => {\r\n isYorumDialogRef?.current?.openRecord(rowData.id);\r\n }}\r\n caption={\"Görev Süreçleri\"}\r\n />\r\n </PopoverButton>\r\n <PopoverButton\r\n label=\"Analiz Verileri\"\r\n backColor=\"#7272cc\"\r\n hoverBackColor=\"#3232a8\"\r\n >\r\n <>\r\n {yonlendirmeAciklamasiGorur && (\r\n <CustomColoredButton\r\n startIcon={<Comment />}\r\n onClick={(e) => {\r\n if (!(submitting || pristine)) {\r\n alertDialogRef?.current?.openRecord();\r\n } else {\r\n yonlendirmeAciklamasiRef?.current?.openRecord(\r\n rowData?.id\r\n );\r\n }\r\n }}\r\n disabled={!rowData.id}\r\n color=\"brown\"\r\n >\r\n Yönlendirme Açıklaması\r\n </CustomColoredButton>\r\n )}\r\n {temsilciAnaliziYapabilir && (\r\n <CustomColoredButton\r\n startIcon={<Comment />}\r\n onClick={(e) => {\r\n if (!(submitting || pristine)) {\r\n alertDialogRef?.current?.openRecord();\r\n } else {\r\n temsilciAnaliziDialogRef?.current?.openRecord(\r\n rowData?.id\r\n );\r\n }\r\n }}\r\n disabled={!rowData.id}\r\n color=\"green\"\r\n >\r\n Merkez Temsilcisi Analizi\r\n </CustomColoredButton>\r\n )}\r\n {musteriTalepDetayiGoruntule && (\r\n <CustomColoredButton\r\n startIcon={<Comment />}\r\n onClick={(e) => {\r\n musteriTalepDetayiDialogRef?.current?.openRecord(\r\n rowData.id,\r\n null,\r\n rowData\r\n );\r\n }}\r\n disabled={!rowData.id}\r\n color=\"brown\"\r\n rowData={rowData}\r\n >\r\n Müşteri Talep Detayı\r\n </CustomColoredButton>\r\n )}\r\n {testKlavuzuYapabilir && (\r\n <CustomColoredButton\r\n startIcon={<Comment />}\r\n onClick={(e) => {\r\n if (!(submitting || pristine)) {\r\n alertDialogRef?.current?.openRecord();\r\n } else {\r\n testKlavuzuDialogRef?.current?.openRecord(\r\n rowData?.id\r\n );\r\n }\r\n }}\r\n disabled={!rowData.id}\r\n color=\"brown\"\r\n >\r\n Test Klavuzu\r\n </CustomColoredButton>\r\n )}\r\n {bayiTemsilciAnaliziYapabilir && (\r\n <CustomColoredButton\r\n startIcon={<Comment />}\r\n onClick={(e) => {\r\n if (!(submitting || pristine)) {\r\n alertDialogRef?.current?.openRecord();\r\n } else {\r\n bayiTemsilciAnaliziDialogRef?.current?.openRecord(\r\n rowData?.id\r\n );\r\n }\r\n }}\r\n disabled={!rowData.id}\r\n color=\"brown\"\r\n >\r\n Bayi Temsilcisi Analizi\r\n </CustomColoredButton>\r\n )}\r\n <EkDosyaButton\r\n reqData={{\r\n id: rowData.id,\r\n }}\r\n routes={FileConfig}\r\n ekranKodu={ekranKodu}\r\n parentRowData={rowData}\r\n disabled={!rowData?.id}\r\n ></EkDosyaButton>\r\n {onAnalizYapabilir && (\r\n <CustomColoredButton\r\n startIcon={<Comment />}\r\n onClick={(e) => {\r\n if (!(submitting || pristine)) {\r\n alertDialogRef?.current?.openRecord();\r\n } else {\r\n onAnalizDialogRef?.current?.openRecord(\r\n rowData?.id\r\n );\r\n }\r\n }}\r\n disabled={!rowData.id}\r\n color=\"purple\"\r\n >\r\n Geliştirme İçeriği\r\n </CustomColoredButton>\r\n )}\r\n\r\n </>\r\n </PopoverButton>\r\n <PopoverButton label=\"İşlemler\">\r\n <>\r\n {teklifVerButtonVisible && (\r\n <ButtonWrapper\r\n color=\"warning\"\r\n startIcon={<Save />}\r\n onClick={(e) => {\r\n if (!(submitting || pristine)) {\r\n alertDialogRef?.current?.openRecord();\r\n } else if (rowData.onAnaliz == null) {\r\n aksiyonAnaliziAlertDialogRef?.current?.openRecord();\r\n } else {\r\n teklifRecordRef?.current?.openRecord(\r\n rowData.id,\r\n null,\r\n rowData\r\n );\r\n }\r\n }}\r\n >\r\n {rowData.teklifVerilisTarihi == null &&\r\n rowData.bayiTeklifVerilisTarihi == null\r\n ? \"Teklif Ver\"\r\n : \"Teklifi Güncelle\"}\r\n </ButtonWrapper>\r\n )}\r\n {bayiTeklifVerButtonVisible && (\r\n <ButtonWrapper\r\n color=\"warning\"\r\n startIcon={<Save />}\r\n onClick={(e) => {\r\n if (!(submitting || pristine)) {\r\n alertDialogRef?.current?.openRecord();\r\n } else if (rowData.analizSonucu == null && rowData.bayiTeklifVerilisTarihi == null) {\r\n bayidenMusteriyeDirekTeklifRecordRef?.current?.openRecord(\r\n rowData.id,\r\n null,\r\n rowData\r\n );\r\n } else {\r\n bayiTeklifRecordRef?.current?.openRecord(\r\n rowData.id,\r\n null,\r\n rowData\r\n );\r\n }\r\n }}\r\n >\r\n {rowData.analizSonucu == null &&\r\n rowData.bayiAnalizSonucu == null &&\r\n rowData.bayiTeklifVerilisTarihi == null\r\n ? \"MÜŞTERİYE TEKLİF VER\"\r\n : rowData.analizSonucu == null &&\r\n rowData.bayiAnalizSonucu !== null\r\n ? \"MÜŞTERİYE VERİLEN TEKLİFİ GÖSTER\"\r\n : rowData.analizSonucu !== null &&\r\n rowData.bayiAnalizSonucu !== null\r\n ? \"MÜŞTERİYE İLETİLEN TEKLİFİ GÖRÜNTÜLE\"\r\n : rowData.teklifVerilisTarihi == null && rowData.bayiTeklifVerilisTarihi == null ? \"MÜŞTERİYE TEKLİF VER\"\r\n : \"TEKLİFİ MÜŞTERİYE İLET\"}\r\n </ButtonWrapper>\r\n )}\r\n {talepyonlendirmeYapabilir && !talepYonlendirmeBayili && (\r\n <CustomColoredButton\r\n startIcon={<Redo />}\r\n onClick={(e) => {\r\n if (!(submitting || pristine)) {\r\n alertDialogRef?.current?.openRecord();\r\n } else {\r\n talepYonlendirmeDialogRef?.current?.setRowDataFnc(\r\n (prevState) => ({\r\n ...prevState,\r\n talepId: rowData.id,\r\n talepDurumu: rowData.talepDurumu,\r\n analizSonucu: rowData.analizSonucu,\r\n })\r\n );\r\n\r\n talepYonlendirmeDialogRef?.current?.openRecord(\r\n rowData.id\r\n );\r\n }\r\n }}\r\n color=\"aiburn\"\r\n disabled={!rowData.id || !yetki.yonlendir}\r\n >\r\n Talep Görevlendirme\r\n </CustomColoredButton>\r\n )}\r\n {talepyonlendirmeYapabilir && talepYonlendirmeBayili && (\r\n <CustomColoredButton\r\n startIcon={<Redo />}\r\n onClick={(e) => {\r\n if (!(submitting || pristine)) {\r\n alertDialogRef?.current?.openRecord();\r\n } else {\r\n bayiTalepYonlendirmeDialogRef?.current?.setRowDataFnc(\r\n (prevState) => ({\r\n ...prevState,\r\n talepId: rowData.id,\r\n talepDurumu: rowData.talepDurumu,\r\n analizSonucu: rowData.analizSonucu,\r\n })\r\n );\r\n\r\n bayiTalepYonlendirmeDialogRef?.current?.openRecord(\r\n rowData.id\r\n );\r\n }\r\n }}\r\n color=\"aiburn\"\r\n disabled={!rowData.id || !yetki.yonlendir}\r\n >\r\n Talep Görevlendirme\r\n </CustomColoredButton>\r\n )}\r\n\r\n {isSonucuGirebilir && (\r\n <CustomColoredButton\r\n startIcon={<Comment />}\r\n onClick={(e) => {\r\n if (!(submitting || pristine)) {\r\n alertDialogRef?.current?.openRecord();\r\n } else {\r\n isSonucuDialogRef?.current?.openRecord(\r\n rowData?.id\r\n );\r\n }\r\n }}\r\n disabled={!rowData.id}\r\n color=\"teal\"\r\n >\r\n Tamamlanan Görev Açıklaması\r\n </CustomColoredButton>\r\n )}\r\n\r\n <IsKapatmaBtn\r\n isKapatmaDialogRef={isKapatmaDialogRef}\r\n rowData={rowData}\r\n yetki={yetki}\r\n talepDuzenlenemez={talepDuzenlenemez}\r\n ></IsKapatmaBtn>\r\n {bayiTalebiOnaylayabilir && (\r\n <BayiTalebiOnaylaBtn\r\n bayiTalebiMerkezeGonderDialogRef={\r\n bayiTalebiMerkezeGonderDialogRef\r\n }\r\n rowData={rowData}\r\n yetki={yetki}\r\n ></BayiTalebiOnaylaBtn>\r\n )}\r\n {tarihAtamaYapabilir && (\r\n <CustomColoredButton\r\n startIcon={<Comment />}\r\n onClick={(e) => {\r\n if (!(submitting || pristine)) {\r\n alertDialogRef?.current?.openRecord();\r\n } else {\r\n talepTarihAtamaDialogRef?.current?.openRecord(\r\n rowData?.id\r\n );\r\n }\r\n }}\r\n disabled={!rowData.id}\r\n color=\"teal\"\r\n >\r\n Tarih Atama\r\n </CustomColoredButton>\r\n )}\r\n </>\r\n </PopoverButton>\r\n </Grid>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n modalLoading={modalLoading}\r\n submitCondition={!talepDuzenlenemez}\r\n deleteCondition={!talepDuzenlenemez}\r\n cancelCondition={!talepDuzenlenemez}\r\n submitButtonText={\"Talebi Kaydet\"}\r\n deleteButtonText={\"Talebi Sil\"}\r\n\r\n />\r\n </DialogActionsWrapper>\r\n\r\n <AlertDialog\r\n ref={alertDialogRef}\r\n onayBtnClick={() => form.submit()}\r\n ></AlertDialog>\r\n {/* TODO */}\r\n <AlertDialog\r\n ref={deleteDialogRef}\r\n onayBtnClick={(id) => handleDeleteWithFiles(id)}\r\n dialogTitle=\"Talebe ait dosya var.\"\r\n contentText={talebeAitDosyaVar}\r\n ></AlertDialog>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n <HomeRecordDialogs\r\n ekranKodu={ekranKodu}\r\n rowData={rowData}\r\n setRowDataFnc={setRowDataFnc}\r\n listGridRef={listGridRef}\r\n teklifRecordRef={teklifRecordRef}\r\n bayiTeklifRecordRef={bayiTeklifRecordRef}\r\n bayidenMusteriyeDirekTeklifRecordRef={\r\n bayidenMusteriyeDirekTeklifRecordRef\r\n }\r\n yorumDialogRef={yorumDialogRef}\r\n analizSonucuDialogRef={analizSonucuDialogRef}\r\n temsilciAnaliziDialogRef={temsilciAnaliziDialogRef}\r\n talepYonlendirmeDialogRef={talepYonlendirmeDialogRef}\r\n bayiTalepYonlendirmeDialogRef={bayiTalepYonlendirmeDialogRef}\r\n teklifPdfDialogRef={teklifPdfDialogRef}\r\n isKapatmaDialogRef={isKapatmaDialogRef}\r\n onayliPdfDialogRef={onayliPdfDialogRef}\r\n destekAsimPdfDialogRef={destekAsimPdfDialogRef}\r\n recordRef={ref}\r\n emailDialogRef={emailDialogRef}\r\n isSonucuDialogRef={isSonucuDialogRef}\r\n analizSonucuAlertDialogRef={analizSonucuAlertDialogRef}\r\n teklifIptalAlertDialogRef={teklifIptalAlertDialogRef}\r\n bayiTalebiMerkezeGonderDialogRef={bayiTalebiMerkezeGonderDialogRef}\r\n bayiTemsilciAnaliziDialogRef={bayiTemsilciAnaliziDialogRef}\r\n musteriTalepDetayiDialogRef={musteriTalepDetayiDialogRef}\r\n onAnalizDialogRef={onAnalizDialogRef}\r\n testKlavuzuDialogRef={testKlavuzuDialogRef}\r\n talepTarihAtamaDialogRef={talepTarihAtamaDialogRef}\r\n yonlendirmeAciklamasiRef={yonlendirmeAciklamasiRef}\r\n aksiyonAnaliziAlertDialogRef={aksiyonAnaliziAlertDialogRef}\r\n isYorumDialogRef={isYorumDialogRef}\r\n />\r\n </>\r\n );\r\n});\r\n\r\nexport default HomeRecord;\r\n","import { Button } from \"devextreme-react/data-grid\";\r\nimport { TALEP_TEKLIF_DURUMU } from \"../../../common/constants\";\r\nimport { AppContext } from \"../../../common/AppContext\";\r\n\r\nimport React from \"react\";\r\n\r\nexport default function GridTeklifPdfButton(\r\n pdfDialogRef,\r\n goruntule = true,\r\n alertDialogRef\r\n) {\r\n const context = React.useContext(AppContext);\r\n\r\n return (\r\n <Button\r\n key=\"teklifDosyasi\"\r\n hint=\"Teklif Dosyası\"\r\n icon=\"pdffile\"\r\n visible={(e) => {\r\n return context.user?.bayiKullanicisi\r\n ? e.row.data.bayiTeklifVerilisTarihi != null && goruntule\r\n : context.user?.bagliOlduguBayiid > 0\r\n ? ((e.row.data.teklifVerilisTarihi != null &&\r\n e.row.data.bayiTeklifVerilisTarihi != null) ||\r\n e.row.data.teklifVerilisTarihi != null) &&\r\n goruntule\r\n : (e.row.data.teklifVerilisTarihi != null ||\r\n e.row.data.bayiTeklifVerilisTarihi != null) &&\r\n goruntule;\r\n }}\r\n onClick={(e) => {\r\n pdfDialogRef?.current?.openRecord(\r\n e.row.data.id,\r\n e.row.data.teklifDurumu ===\r\n TALEP_TEKLIF_DURUMU.MUSTERIYE_TEKLIF_VERILDI.Value,\r\n e.row.data.teklifVerilisTarihi\r\n );\r\n }}\r\n />\r\n );\r\n}\r\n\r\n// export default GridTeklifPdfButton;\r\n","import { Button } from \"devextreme-react/data-grid\";\r\nimport React from \"react\";\r\n\r\nconst GridIsSonucuButton = (isSonucuDialogRef) => {\r\n return (\r\n <Button\r\n key=\"isSonucu\"\r\n hint=\"İş Sonucu\"\r\n icon=\"fieldchooser\"\r\n visible={(e) => {\r\n return e.row.data.isSonucu != null;\r\n }}\r\n onClick={(e) => {\r\n isSonucuDialogRef?.current?.openRecord(e.row.data.id); //bu talepId\r\n }}\r\n />\r\n );\r\n};\r\n\r\nexport default GridIsSonucuButton;\r\n","import { Button } from \"devextreme-react/data-grid\";\r\nimport { TALEP_DURUMU, TALEP_TEKLIF_DURUMU } from \"../../../common/constants\";\r\nimport { AppContext } from \"../../../common/AppContext\";\r\n\r\nimport React from \"react\";\r\n\r\nexport default function GridTeklifPdfButtonBayi(\r\n pdfDialogRef,\r\n goruntule = true\r\n) {\r\n const context = React.useContext(AppContext);\r\n return (\r\n <Button\r\n key=\"teklifDosyasiBayi\"\r\n hint=\"Teklif Dosyası\"\r\n cssClass={\"dx-icon-pdffileblue\"}\r\n icon=\"pdffile\"\r\n visible={(e) => {\r\n return (\r\n e.row.data.teklifVerilisTarihi != null &&\r\n goruntule &&\r\n context.user?.bayiKullanicisi\r\n );\r\n }}\r\n onClick={(e) => {\r\n pdfDialogRef?.current?.openRecord(\r\n e.row.data.id,\r\n e.row.data.teklifDurumu ===\r\n TALEP_TEKLIF_DURUMU.MUSTERIYE_TEKLIF_VERILDI.Value,\r\n e.row.data.teklifVerilisTarihi\r\n );\r\n }}\r\n />\r\n );\r\n}\r\n\r\n// export default GridTeklifPdfButton;\r\n","import React, { useRef } from \"react\";\r\nimport PageFilter from \"../../components/filter/PageFilter\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\nimport PdfDialog from \"../../components/pdf/PdfDialog\";\r\nimport PageConfig from \"./HomeConfig\";\r\nimport HomeRecord from \"./HomeRecord\";\r\nimport GridTeklifPdfButton from \"../../components/buttons/custom/GridTeklifPdfButton\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport GridIsSonucuButton from \"../../components/buttons/custom/GridIsSonucuButton\";\r\nimport IsSonucuDialog from \"./IsSonucuDialog\";\r\nimport GridTeklifPdfButtonBayi from \"../../components/buttons/custom/GridTeklifPdfButtonBayi\";\r\n\r\nexport default function Home({ ekranKodu }) {\r\n const listGridRef = useRef();\r\n const filterRef = useRef();\r\n const recordRef = useRef();\r\n const pdfDialogRef = useRef();\r\n const pdfDialogRefBayi = useRef();\r\n const isSonucuDialogRef = useRef();\r\n\r\n const context = React.useContext(AppContext);\r\n const yetki =\r\n context?.user?.yetkiler.find((x) => x.ekranKodu === ekranKodu) ?? {};\r\n\r\n const CustomColumnButton = [\r\n GridTeklifPdfButton(pdfDialogRef, yetki?.teklifGoruntule),\r\n GridTeklifPdfButtonBayi(pdfDialogRefBayi, yetki?.teklifGoruntule),\r\n GridIsSonucuButton(isSonucuDialogRef),\r\n ];\r\n\r\n return (\r\n <>\r\n <PageFilter\r\n PageConfig={PageConfig}\r\n ref={filterRef}\r\n listGridRef={listGridRef}\r\n />\r\n <PageGrid\r\n gridId=\"FirmaTalep\"\r\n PageConfig={PageConfig}\r\n listGridRef={listGridRef}\r\n filterRef={filterRef}\r\n recordRef={recordRef}\r\n isCreatable\r\n ekranKodu={ekranKodu}\r\n CustomColumnButton={CustomColumnButton}\r\n ekleButtonText=\"Talep Ekle\"\r\n />\r\n <HomeRecord\r\n ref={recordRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n ></HomeRecord>\r\n <PdfDialog\r\n ref={pdfDialogRef}\r\n title=\"Teklif\"\r\n url=\"Talep/TeklifPdf\"\r\n ></PdfDialog>\r\n <PdfDialog\r\n ref={pdfDialogRefBayi}\r\n title=\"Teklif\"\r\n url=\"Talep/TeklifPdfBayi\"\r\n ></PdfDialog>\r\n <IsSonucuDialog\r\n ref={isSonucuDialogRef}\r\n isEditable={false}\r\n ></IsSonucuDialog>\r\n </>\r\n );\r\n}\r\n","import { useMemo } from \"react\";\r\nimport { HttpAuthorized } from \"../common/common\";\r\nimport { printToast } from \"../common/constant-functions/printToast\";\r\nimport { apiUrl } from \"../common/constants\";\r\n\r\nfunction useFetch(fetchUrl, setRowData, setModalLoading) {\r\n async function fetchData(recId) {\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${fetchUrl}`,\r\n data: {\r\n id: recId,\r\n },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n setRowData && setRowData(res.data.data || {});\r\n setModalLoading && setModalLoading(false);\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n });\r\n }\r\n\r\n return useMemo(() => fetchData, []);\r\n}\r\n\r\nexport default useFetch;\r\n","import { YETKI_GRUBU_TIPI } from \"../common/constants\";\r\nimport { FILTER_TYPE, ID_WIDTH } from \"../common/entityconstants\";\r\nimport BayilerInputForm from \"../components/inputs/custom-form-inputs/BayilerInputForm\";\r\nimport CheckboxForm from \"../components/inputs/form-inputs/CheckboxForm\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"sirket_Kod\",\r\n label: \"Müşteri Kodu\",\r\n dataType: \"text\",\r\n dataField: \"sirket_Kod\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"temsilciIdStr\",\r\n label: \"Temsilci Adı\",\r\n dataType: \"text\",\r\n dataField: \"temsilciIdStr\",\r\n visible: [\"grid\"],\r\n },\r\n // {\r\n // name: \"logo\",\r\n // label: \"Logo\",\r\n // dataType: \"text\",\r\n // dataField: \"logo\",\r\n // visible: [\"grid\"],\r\n // cellRender: (e) => {\r\n // return <Avatar alt=\"Logo\" src={`data:image/jpeg;base64,${e?.value}`} />;\r\n // },\r\n // },\r\n {\r\n name: \"sirketAdi\",\r\n label: \"Müşteri Adı\",\r\n dataType: \"text\",\r\n dataField: \"sirketAdi\",\r\n visible: [\"grid\"],\r\n firstSort: \"asc\",\r\n },\r\n {\r\n name: \"bayiKod\",\r\n label: \"Bayi Kodu\",\r\n dataType: \"text\",\r\n dataField: \"bayiKod\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"aktif\",\r\n label: \"Aktif\",\r\n dataType: \"boolean\",\r\n dataField: \"aktif\",\r\n visible: [\"grid\"],\r\n },\r\n //filter\r\n {\r\n name: \"searchAll\",\r\n label: \"Müşteri Adı\",\r\n dataType: \"text\",\r\n dataField: \"searchAll\",\r\n visible: [\"filter\"],\r\n filterType: FILTER_TYPE.FAST_FILTER,\r\n },\r\n {\r\n name: \"bayiid\",\r\n label: \"Bayi\",\r\n dataType: \"custom\",\r\n dataField: \"bayiid\",\r\n visible: [\"filter\"],\r\n customComponent: BayilerInputForm,\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n ],\r\n },\r\n {\r\n name: \"tumunuGetir\",\r\n label: \"Bayi müşterilerini de dahil et\",\r\n dataType: \"custom\",\r\n dataField: \"tumunuGetir\",\r\n visible: [\"filter\"],\r\n customComponent: CheckboxForm,\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n ],\r\n },\r\n {\r\n name: \"pasiflerideGetir\",\r\n label: \"Pasifleri de Getir\",\r\n dataType: \"custom\",\r\n dataField: \"pasiflerideGetir\",\r\n visible: [\"filter\"],\r\n customComponent: CheckboxForm,\r\n defaultValue: false,\r\n },\r\n];\r\n\r\nexport default entity;\r\n","import { EKRAN_KODU } from \"../../common/constants\";\r\nimport Type from \"../../entities/Sirket\";\r\n\r\nconst PageConfig = {\r\n title: \"Şirketler\",\r\n ekranKodu: EKRAN_KODU.SIRKET.value,\r\n type: Type,\r\n listRoute: \"Sirket/List\",\r\n insertRoute: \"Sirket/Insert\",\r\n getByIdRoute: \"Sirket/GetById\",\r\n updateRoute: \"Sirket/Update\",\r\n deleteRoute: \"Sirket/Delete\",\r\n};\r\n\r\nconst BaglantiBilgileriFileConfig = {\r\n ekranKodu: EKRAN_KODU.SIRKET.value,\r\n allFilesDownloadRoute: \"Sirket/DosyalariIndir\",\r\n fileDownloadRoute: \"Sirket/DosyaIndir\",\r\n filesInfoRoute: \"Sirket/DosyaBilgileri\",\r\n fileUploadRoute: \"Sirket/DosyaYukle\",\r\n deleteFilesRoute: \"Sirket/DeleteFiles\",\r\n};\r\n\r\nconst HizmetFormFileConfig = {\r\n ekranKodu: EKRAN_KODU.SIRKET.value,\r\n allFilesDownloadRoute: \"HizmetForm/DosyalariIndir\",\r\n fileDownloadRoute: \"HizmetForm/DosyaIndir\",\r\n filesInfoRoute: \"HizmetForm/DosyaBilgileri\",\r\n fileUploadRoute: \"HizmetForm/DosyaYukle\",\r\n deleteFilesRoute: \"HizmetForm/DeleteFiles\",\r\n};\r\n\r\nconst PaketBilgileriConfig = {\r\n ekranKodu: EKRAN_KODU.SIRKET.value,\r\n getByIdRoute: \"PaketBilgileri/GetById\",\r\n updateRoute: \"PaketBilgileri/Update\",\r\n};\r\n\r\nconst AnlasmaBilgileriConfig = {\r\n ekranKodu: EKRAN_KODU.ANLASMA_BILGILERI.value,\r\n getByIdRoute: \"Sirket/AnlasmaBilgileriGetById\",\r\n updateRoute: \"Sirket/AnlasmaBilgileriUpdate\",\r\n contractUploadRoute: \"Sirket/ContractUpload\",\r\n contractGetByIdRoute: \"Sirket/ContractGetById\",\r\n};\r\n\r\nconst OtherConfig = {\r\n lisansKoduVerConfig: \"Sirket/LisansKoduVer\",\r\n};\r\n\r\nconst LisansPaketBilgileriERPConfig = {\r\n ekranKodu: EKRAN_KODU.LISANS_PAKET_BILGILERI_ERP.value,\r\n getByIdRoute: \"LisansPaketBilgileriErp/GetById\",\r\n updateRoute: \"LisansPaketBilgileriErp/Update\",\r\n}\r\n\r\nexport {\r\n PageConfig,\r\n BaglantiBilgileriFileConfig,\r\n HizmetFormFileConfig,\r\n PaketBilgileriConfig,\r\n AnlasmaBilgileriConfig,\r\n OtherConfig,\r\n LisansPaketBilgileriERPConfig\r\n};\r\n","import { Button, Divider, Grid, Paper, Typography } from \"@mui/material\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport * as yup from \"yup\";\r\nimport { Save } from \"@mui/icons-material\";\r\nimport validateFormValues from \"../../common/constant-functions/validateFormValues\";\r\nimport useSubmit from \"../../hooks/use-submit\";\r\nimport useFetch from \"../../hooks/use-fetch\";\r\nimport { PageConfig } from \"../Sirket/SirketConfig\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport NumberInputForm from \"../../components/inputs/form-inputs/NumberInputForm\";\r\nimport DateInputForm2 from \"../../components/inputs/form-inputs/DateInputForm2\";\r\n\r\nfunction SirketBilgileri() {\r\n const [rowData, setRowData] = useState({});\r\n const [modalLoading, setModalLoading] = useState(true);\r\n\r\n const fetchData = useFetch(\r\n \"Sirket/SirketBilgilerimGetById\",\r\n setRowData,\r\n setModalLoading\r\n );\r\n\r\n const handleSubmit = useSubmit(PageConfig, setRowData);\r\n\r\n useEffect(() => {\r\n fetchData();\r\n }, []);\r\n\r\n const validationSchemaSirketBilgileri = yup.object().shape({\r\n sirketAdi: yup.string().required(),\r\n });\r\n\r\n const sirketBilgisiValidate = validateFormValues(\r\n validationSchemaSirketBilgileri\r\n );\r\n\r\n return (\r\n <Paper\r\n sx={{\r\n m: 1,\r\n minWidth: \"470px\",\r\n maxWidth: \"470px\",\r\n }}\r\n >\r\n <Typography align=\"center\">ŞİRKET BİLGİLERİM</Typography>\r\n <Divider />\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={sirketBilgisiValidate}\r\n autoComplete={false}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <form onSubmit={handleSubmit} autoComplete=\"off\">\r\n <Grid sx={{ p: 2 }}>\r\n <FieldWrapper label=\"Şirket Adı\" modalLoading={modalLoading}>\r\n <Field name=\"sirketAdi\" component={TextInputForm} type=\"text\" />\r\n </FieldWrapper>\r\n <FieldWrapper label=\"Temsilci\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"temsilciId\"\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute: \"User/KullaniciListForSelect\",\r\n fildsForText: [\"isimSoyisim\"],\r\n fieldForValue: \"id\",\r\n reqData: { temsilci: true },\r\n }}\r\n component={AutocomplateInputForm}\r\n readOnly={true}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper\r\n label=\"Destek Sözleşmesi Başlangıç Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"destekSozBaslangic\"\r\n component={DateInputForm2}\r\n readOnly={true}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Destek Sözleşmesi Bitiş Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"destekSozBitis\"\r\n component={DateInputForm2}\r\n readOnly={true}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Aylık Standart Süre (dk)\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"aylikStandartSure\"\r\n component={TextInputForm}\r\n readOnly={true}\r\n numberInput={true}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper\r\n label=\"Aylık Anlaşılan Standart Ücret\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"aylikAnlasilanStandartUcret\"\r\n component={NumberInputForm}\r\n readOnly={true}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper label=\"Lisans Kodu\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"lisansKodu\"\r\n component={TextInputForm}\r\n readOnly={true}\r\n />\r\n </FieldWrapper>\r\n\r\n <Button\r\n sx={{ width: \"100%\", mt: 3, p: 1 }}\r\n variant=\"contained\"\r\n startIcon={<Save />}\r\n size=\"small\"\r\n onClick={(e) => {\r\n form.submit();\r\n }}\r\n >\r\n Güncelle\r\n </Button>\r\n </Grid>\r\n </form>\r\n )}\r\n />\r\n </Paper>\r\n );\r\n}\r\n\r\nexport default SirketBilgileri;\r\n","import React, { useState } from \"react\";\r\nimport FileUploader from \"devextreme-react/file-uploader\";\r\nimport ProgressBar from \"devextreme-react/progress-bar\";\r\nimport { HttpAuthorizedFile } from \"../../common/common\";\r\nimport \"../../css/CustomDropZone.css\";\r\nimport { Grid, Stack } from \"@mui/material\";\r\nimport { printToast } from \"../../common/constant-functions/printToast\";\r\n\r\nfunction CustomDropZone({\r\n reqExtraData,\r\n route,\r\n afterUpload,\r\n defaultImg,\r\n dropZoneText = \"Resim Yükle\",\r\n sx,\r\n}) {\r\n const [state, setState] = useState({\r\n isDropZoneActive: false,\r\n imageSource: defaultImg,\r\n textVisible: true,\r\n progressVisible: false,\r\n progressValue: 0,\r\n });\r\n\r\n const onDropZoneEnter = (e) => {\r\n if (e.dropZoneElement.id === \"dropzone-external\") {\r\n setState({ ...state, isDropZoneActive: true });\r\n }\r\n };\r\n\r\n const onDropZoneLeave = (e) => {\r\n if (e.dropZoneElement.id === \"dropzone-external\") {\r\n setState({ ...state, isDropZoneActive: false });\r\n }\r\n };\r\n\r\n const onUploaded = (e) => {\r\n const { file } = e;\r\n const fileReader = new FileReader();\r\n fileReader.onload = () => {\r\n setState({\r\n ...state,\r\n isDropZoneActive: false,\r\n imageSource: fileReader.result,\r\n });\r\n };\r\n fileReader.readAsDataURL(file);\r\n setState({\r\n ...state,\r\n textVisible: false,\r\n progressVisible: false,\r\n progressValue: 0,\r\n });\r\n };\r\n\r\n const onProgress = (e) => {\r\n setState({ ...state, progressValue: (e.bytesLoaded / e.bytesTotal) * 100 });\r\n };\r\n\r\n const onUploadStarted = () => {\r\n setState({\r\n ...state,\r\n imageSource: \"\",\r\n progressVisible: true,\r\n });\r\n };\r\n\r\n return (\r\n <Grid sx={sx}>\r\n <Stack\r\n sx={{ width: \"100%\", height: \"100%\" }}\r\n id=\"dropzone-external\"\r\n className={`flex-box ${\r\n state.isDropZoneActive\r\n ? \"dx-theme-accent-as-border-color dropzone-active\"\r\n : \"dx-theme-border-color\"\r\n }`}\r\n >\r\n {state.imageSource && (\r\n <img id=\"dropzone-image\" src={state.imageSource} alt=\"logo\" />\r\n )}\r\n {state.textVisible && (\r\n <div id=\"dropzone-text\" className=\"flex-box\">\r\n {dropZoneText}\r\n </div>\r\n )}\r\n <ProgressBar\r\n id=\"upload-progress\"\r\n min={0}\r\n max={100}\r\n width=\"30%\"\r\n showStatus={false}\r\n visible={state.progressVisible}\r\n value={state.progressValue}\r\n ></ProgressBar>\r\n </Stack>\r\n\r\n <FileUploader\r\n id=\"file-uploader\"\r\n dialogTrigger=\"#dropzone-external\"\r\n dropZone=\"#dropzone-external\"\r\n multiple={false}\r\n allowedFileExtensions={[\".jpg\", \".jpeg\", \".gif\", \".png\", \".webp\"]}\r\n uploadMode=\"instantly\"\r\n uploadFile={(file, callback) => {\r\n var FormData = require(\"form-data\");\r\n var reqData = new FormData();\r\n reqData.append(\"file\", file);\r\n\r\n reqExtraData?.forEach((item) => {\r\n reqData.append(item.name, item.value);\r\n });\r\n\r\n HttpAuthorizedFile.post(route, reqData)\r\n .then((res) => {\r\n printToast(res?.data);\r\n afterUpload && afterUpload(res);\r\n })\r\n .catch((error) => printToast(error?.response?.data));\r\n }}\r\n visible={false}\r\n onDropZoneEnter={onDropZoneEnter}\r\n onDropZoneLeave={onDropZoneLeave}\r\n onUploaded={onUploaded}\r\n onProgress={onProgress}\r\n onUploadStarted={onUploadStarted}\r\n ></FileUploader>\r\n </Grid>\r\n );\r\n}\r\n\r\nexport default CustomDropZone;\r\n","import { Divider, Grid, Paper, Typography } from \"@mui/material\";\r\nimport { useContext } from \"react\";\r\nimport CustomDropZone from \"../../components/file/CustomDropZone\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\n\r\nexport default function LogoGuncelleme() {\r\n const context = useContext(AppContext);\r\n\r\n const setLogo = (res) => {\r\n if (res.data.success) context.setLogo(res.data.data);\r\n };\r\n\r\n return (\r\n <Paper\r\n sx={{\r\n m: 1,\r\n }}\r\n >\r\n <Typography align=\"center\">LOGO GÜNCELLEME</Typography>\r\n <Divider />\r\n <Grid sx={{ p: 2 }}>\r\n <CustomDropZone\r\n dropZoneText={\r\n <>\r\n <span>Logonuzu buraya tıklayarak</span>\r\n <span>veya sürükleyerek seçebilirsiniz.</span>\r\n </>\r\n }\r\n sx={{ width: \"285px\", height: \"298px\" }}\r\n route=\"Sirket/UploadLogo\"\r\n afterUpload={setLogo}\r\n defaultImg={`data:image/jpeg;base64,${context.user.logo}`}\r\n />\r\n </Grid>\r\n </Paper>\r\n );\r\n}\r\n","import { Grid } from \"@mui/material\";\r\nimport SirketBilgileri from \"./SirketBilgileri\";\r\nimport LogoGuncelleme from \"./LogoGuncelleme\";\r\n\r\nfunction Profile() {\r\n return (\r\n <Grid\r\n container\r\n sx={{ width: \"100%\", display: \"flex\", alignItems: \"flex-start\" }}\r\n >\r\n <SirketBilgileri></SirketBilgileri>\r\n <LogoGuncelleme></LogoGuncelleme>\r\n </Grid>\r\n );\r\n}\r\n\r\nexport default Profile;\r\n","\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7M2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2m4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3z\"\n}), 'VisibilityOff');","\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5M12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5m0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3\"\n}), 'Visibility');","import { Visibility, VisibilityOff } from \"@mui/icons-material\";\r\nimport { IconButton, InputAdornment, TextField } from \"@mui/material\";\r\nimport React, { useState } from \"react\";\r\n\r\nfunction PasswordInputForm({\r\n input,\r\n meta,\r\n label,\r\n defaultValue,\r\n sifreGorebilir,\r\n ...rest\r\n}) {\r\n const [showPassword, setShowPassword] = useState(false);\r\n\r\n const handleTogglePasswordVisibility = () => {\r\n setShowPassword((prevState) => !prevState);\r\n };\r\n return (\r\n <TextField\r\n {...input}\r\n sx={{ width: \"100%\" }}\r\n label={label}\r\n type={showPassword ? \"text\" : \"password\"}\r\n variant=\"standard\"\r\n defaultValue={defaultValue}\r\n onChange={(event, value) => input.onChange(event.target.value)}\r\n autoComplete=\"off\"\r\n error={meta.error && meta.touched}\r\n helperText={meta.error && meta.touched ? meta.error : null}\r\n InputProps={{\r\n endAdornment: (\r\n <InputAdornment position=\"end\">\r\n <IconButton\r\n onClick={handleTogglePasswordVisibility}\r\n disabled={!sifreGorebilir}\r\n >\r\n {showPassword ? (\r\n <VisibilityOff fontSize=\"small\" />\r\n ) : (\r\n <Visibility fontSize=\"small\" />\r\n )}\r\n </IconButton>\r\n </InputAdornment>\r\n ),\r\n readOnly: rest.readOnly,\r\n }}\r\n {...rest}\r\n />\r\n );\r\n}\r\n\r\nexport default PasswordInputForm;\r\n","\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M21 10h-8.35C11.83 7.67 9.61 6 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6c2.61 0 4.83-1.67 5.65-4H13l2 2 2-2 2 2 4-4.04zM7 15c-1.65 0-3-1.35-3-3s1.35-3 3-3 3 1.35 3 3-1.35 3-3 3\"\n}), 'Key');","import * as yup from \"yup\";\r\nimport { Button, Divider, Grid, Paper, Typography } from \"@mui/material\";\r\nimport FieldWrapper from \"../../../components/inputs/form-inputs/FieldWrapper\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport PasswordInputForm from \"../../../components/inputs/form-inputs/PasswordInputForm\";\r\nimport { Key } from \"@mui/icons-material\";\r\nimport validateFormValues from \"../../../common/constant-functions/validateFormValues\";\r\nimport useSubmit from \"../../../hooks/use-submit\";\r\n\r\nconst PageConfig = {\r\n insertRoute: \"Auth/UpdatePassword\",\r\n};\r\n\r\nconst SifreGuncelleme = () => {\r\n const handleSubmit = useSubmit(PageConfig);\r\n\r\n const validationSchema = yup.object().shape({\r\n eskiSifre: yup.string().required(),\r\n yeniSifre: yup.string().required(),\r\n yeniSifreTekrar: yup\r\n .string()\r\n .oneOf([yup.ref(\"yeniSifre\")], \"Parolalar uyuşmuyor.\")\r\n .required(),\r\n });\r\n\r\n const passwordValidate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <Paper\r\n sx={{\r\n m: 1,\r\n minWidth: \"300px\",\r\n maxWidth: \"300px\",\r\n // height: \"100%\",\r\n }}\r\n >\r\n <Typography align=\"center\">ŞİFRE GÜNCELLEME</Typography>\r\n <Divider />\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={{}}\r\n validate={passwordValidate}\r\n autoComplete={false}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <form onSubmit={handleSubmit} autoComplete=\"off\">\r\n <Grid sx={{ p: 2 }}>\r\n <FieldWrapper label=\"Eski Şifre\" width=\"100%\">\r\n <Field name=\"eskiSifre\" component={PasswordInputForm} />\r\n </FieldWrapper>\r\n <FieldWrapper label=\"Yeni Şifre\" width=\"100%\">\r\n <Field name=\"yeniSifre\" component={PasswordInputForm} />\r\n </FieldWrapper>\r\n <FieldWrapper label=\"Yeni Şifre Tekrar\" width=\"100%\">\r\n <Field name=\"yeniSifreTekrar\" component={PasswordInputForm} />\r\n </FieldWrapper>\r\n <Button\r\n sx={{ width: \"100%\", mt: 3, p: 1 }}\r\n variant=\"contained\"\r\n startIcon={<Key />}\r\n size=\"small\"\r\n onClick={async (e) => {\r\n await form.submit().then(() => form.restart());\r\n }}\r\n >\r\n Şifreyi Güncelle\r\n </Button>\r\n </Grid>\r\n </form>\r\n )}\r\n />\r\n </Paper>\r\n );\r\n};\r\n\r\nexport default SifreGuncelleme;\r\n","const PageConfig = {\r\n ekranKodu: \"Yetki_Res\", //todo\r\n type: null,\r\n updateRoute: \"Yetki/YetkiGrubuUpdate\",\r\n getByIdRoute: \"Yetki/YetkiGrubuGetById\",\r\n deleteRoute: \"Yetki/Delete\",\r\n};\r\n\r\nexport default PageConfig;\r\n","import React, { useState } from \"react\";\r\nimport { AppContext } from \"../common/AppContext\";\r\nimport { HttpAuthorized } from \"../common/common\";\r\nimport { loadingVisible } from \"../common/constant-functions/loadingVisible\";\r\nimport { printToast } from \"../common/constant-functions/printToast\";\r\nimport validateFormValues from \"../common/constant-functions/validateFormValues\";\r\nimport { apiUrl } from \"../common/constants\";\r\nimport PageConfig from \"../pages/Yetki-grubu/YetkiGrubuConfig\";\r\n\r\nfunction useYetkiGrubuRecord(ref, inputRef, ekranKodu) {\r\n const [open, setOpen] = useState(false);\r\n const [recId, setRecId] = useState(0);\r\n const [rowData, setRowData] = useState({});\r\n const [modalLoading, setModalLoading] = useState(true);\r\n\r\n React.useImperativeHandle(ref, () => ({\r\n setRecId: setRecId,\r\n recId: recId,\r\n openRecord: openRecord,\r\n }));\r\n\r\n const handleClickOpen = () => setOpen(true);\r\n\r\n const handleClose = () => {\r\n setOpen(false);\r\n setRecId(null);\r\n setRowData({});\r\n setModalLoading(true);\r\n };\r\n\r\n async function fetchData(recId) {\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${PageConfig.getByIdRoute}`,\r\n data: {\r\n id: recId,\r\n },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n setRowData(res.data.data);\r\n setModalLoading(false);\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n });\r\n }\r\n\r\n async function insertOrUpdate(values) {\r\n loadingVisible(true);\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${\r\n values.id ? PageConfig.updateRoute : PageConfig.insertRoute\r\n }`,\r\n data: {\r\n ...values,\r\n },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n setRowData(res.data.data);\r\n inputRef?.current?.changeValue({\r\n Value: res.data.data?.id,\r\n Text: res.data.data?.yetkiGrubuAdi,\r\n });\r\n handleClose();\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n })\r\n .finally(() => loadingVisible(false));\r\n }\r\n\r\n async function handleDelete() {\r\n loadingVisible(true);\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${PageConfig.deleteRoute}`,\r\n data: { id: rowData.id },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n\r\n if (res.data.success) {\r\n setRowData({});\r\n inputRef?.current?.changeValue({\r\n Value: null,\r\n Text: null,\r\n });\r\n handleClose();\r\n }\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n })\r\n .finally(() => loadingVisible(false));\r\n }\r\n\r\n const handleSubmit = async (values) => {\r\n console.log(values);\r\n await insertOrUpdate(values);\r\n };\r\n\r\n function openRecord(recId) {\r\n if (recId > 0) {\r\n setRecId(recId);\r\n fetchData(recId);\r\n } else {\r\n setRecId(null);\r\n setModalLoading(false);\r\n }\r\n handleClickOpen();\r\n }\r\n\r\n const context = React.useContext(AppContext);\r\n\r\n const yetki =\r\n context?.user?.yetkiler.find((x) => x.ekranKodu === ekranKodu) ?? {};\r\n\r\n return {\r\n rowData,\r\n setRowData,\r\n recId,\r\n setRecId,\r\n open,\r\n handleClickOpen,\r\n handleClose,\r\n modalLoading,\r\n setModalLoading,\r\n handleDelete,\r\n handleSubmit,\r\n validateFormValues,\r\n yetki,\r\n };\r\n}\r\n\r\nexport default useYetkiGrubuRecord;\r\n","import { Stack } from \"@mui/material\";\r\nimport React from \"react\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport * as yup from \"yup\";\r\nimport { YETKI_GRUBU_TIPI } from \"../../common/constants\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport useYetkiGrubuRecord from \"../../hooks/use-yetki-grubu-record\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\n\r\nconst YetkiGrubuRecord = React.forwardRef(({ ekranKodu, inputRef }, ref) => {\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n validateFormValues,\r\n yetki,\r\n handleDelete,\r\n } = useYetkiGrubuRecord(ref, inputRef, ekranKodu);\r\n\r\n const validationSchema = yup.object().shape({\r\n yetkiGrubuTipi: yup.number().required(),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Yetki Grubu Düzenleme\"\r\n maxWidth=\"xs\"\r\n >\r\n {open && (\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <form onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <Stack direction=\"column\" spacing={1}>\r\n <FieldWrapper label=\"Yetki No\" modalLoading={modalLoading}>\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper\r\n label=\"Yetki Grubu Adı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"yetkiGrubuAdi\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Yetki Grubu Tipi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"yetkiGrubuTipi\"\r\n items={Object.values(YETKI_GRUBU_TIPI)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n </Stack>\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogActionsWrapper>\r\n </form>\r\n )}\r\n />\r\n )}\r\n </ScrollDialog>\r\n );\r\n});\r\nexport default YetkiGrubuRecord;\r\n","import React, { useRef, useContext } from \"react\";\r\nimport YetkiGrubuRecord from \"../../../pages/Yetki-grubu/YetkiGrubuRecord\";\r\nimport AutocomplateInputForm from \"../form-inputs/AutocomplateInputForm\";\r\nimport { AppContext } from \"../../../common/AppContext\";\r\nimport { YETKI_GRUBU_TIPI } from \"../../../common/constants\";\r\n\r\nexport default function YetkiGrubuInputForm({\r\n ekranKodu,\r\n rowData,\r\n readOnly,\r\n inputRef,\r\n input,\r\n insertEditButtonVisible,\r\n ...rest\r\n}) {\r\n const dialogRef = useRef();\r\n const context = useContext(AppContext);\r\n\r\n return (\r\n <>\r\n <AutocomplateInputForm\r\n readOnly={readOnly}\r\n insertButtonRef={dialogRef}\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute: \"Yetki/YetkiGrubuListForSelect\",\r\n fildsForText: [\"yetkiGrubuAdi\"],\r\n fieldForValue: \"id\",\r\n reqData: {},\r\n }}\r\n ref={inputRef}\r\n input={input}\r\n onlyUpdateBtn={true}\r\n insertEditButtonVisible={insertEditButtonVisible}\r\n {...rest}\r\n />\r\n {context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value && (\r\n <YetkiGrubuRecord\r\n ref={dialogRef}\r\n ekranKodu={ekranKodu}\r\n inputRef={inputRef}\r\n ></YetkiGrubuRecord>\r\n )}\r\n </>\r\n );\r\n}\r\n","import { YETKI_GRUBU_TIPI } from \"../common/constants\";\r\nimport { FILTER_TYPE, ID_WIDTH } from \"../common/entityconstants\";\r\nimport BayilerInputForm from \"../components/inputs/custom-form-inputs/BayilerInputForm\";\r\nimport SirketInputForm from \"../components/inputs/custom-form-inputs/SirketInputForm\";\r\nimport YetkiGrubuInputForm from \"../components/inputs/custom-form-inputs/YetkiGrubuInputForm\";\r\nimport CheckboxForm from \"../components/inputs/form-inputs/CheckboxForm\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"Kullanıcı No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n firstSort: \"desc\",\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"sirketAdi\",\r\n label: \"Müşteri Adı\",\r\n dataType: \"text\",\r\n dataField: \"sirketAdi\",\r\n visible: [\"grid\"],\r\n },\r\n // {\r\n // name: \"sirket_Kod\",\r\n // label: \"Şirket Kodu\",\r\n // dataType: \"text\",\r\n // dataField: \"sirket_Kod\",\r\n // visible: [\"grid\"],\r\n // },\r\n {\r\n name: \"kullaniciAdi\",\r\n label: \"Kullanıcı Adı\",\r\n dataType: \"text\",\r\n dataField: \"kullaniciAdi\",\r\n visible: [\"grid\"],\r\n },\r\n //TODO BUNU GÖSTERCEK MİYİZ?\r\n {\r\n name: \"sifre\",\r\n label: \"Şifre\",\r\n dataType: \"text\",\r\n dataField: \"sifre\",\r\n visible: [\"grid\"],\r\n visibleConditions: [\r\n {\r\n isHarmonyAdmin: true,\r\n },\r\n ],\r\n },\r\n {\r\n name: \"eMail\",\r\n label: \"Email\",\r\n dataType: \"text\",\r\n dataField: \"eMail\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"telefonNo\",\r\n label: \"Telefon No\",\r\n dataType: \"text\",\r\n dataField: \"telefonNo\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"isim\",\r\n label: \"İsim\",\r\n dataType: \"text\",\r\n dataField: \"isim\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"soyisim\",\r\n label: \"Soyisim\",\r\n dataType: \"text\",\r\n dataField: \"soyisim\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"yetkiGrubuIdStr\",\r\n label: \"Yetki Grubu\",\r\n dataType: \"text\",\r\n dataField: \"yetkiGrubuIdStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"bayiidStr\",\r\n label: \"Bayi Kod\",\r\n dataType: \"text\",\r\n dataField: \"bayiidStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"aktif\",\r\n label: \"Aktif\",\r\n dataType: \"boolean\",\r\n dataField: \"aktif\",\r\n visible: [\"grid\"],\r\n },\r\n\r\n //todo filtre\r\n {\r\n name: \"kullaniciAdi\",\r\n label: \"Kullanıcı Adı\",\r\n dataType: \"text\",\r\n dataField: \"kullaniciAdi\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"sirketId\",\r\n label: \"Müşteri Adı\",\r\n dataType: \"custom\",\r\n dataField: \"sirketId\",\r\n visible: [\"filter\"],\r\n customComponent: SirketInputForm,\r\n customComponentParams: {},\r\n },\r\n {\r\n name: \"isim\",\r\n label: \"İsim\",\r\n dataType: \"text\",\r\n dataField: \"isim\",\r\n visible: [\"filter\"],\r\n filterType: FILTER_TYPE.FAST_FILTER,\r\n },\r\n {\r\n name: \"soyisim\",\r\n label: \"Soyisim\",\r\n dataType: \"text\",\r\n dataField: \"soyisim\",\r\n visible: [\"filter\"],\r\n filterType: FILTER_TYPE.FAST_FILTER,\r\n },\r\n {\r\n name: \"bayiid\",\r\n label: \"Bayi Adı\",\r\n dataType: \"custom\",\r\n dataField: \"bayiid\",\r\n visible: [\"filter\"],\r\n customComponent: BayilerInputForm,\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n ],\r\n },\r\n {\r\n name: \"tumunuGetir\",\r\n label: \"Bayileri de Getir\",\r\n dataType: \"custom\",\r\n dataField: \"tumunuGetir\",\r\n visible: [\"filter\"],\r\n customComponent: CheckboxForm,\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n ],\r\n },\r\n {\r\n name: \"pasiflerideGetir\",\r\n label: \"Pasifleri de Getir\",\r\n dataType: \"custom\",\r\n dataField: \"pasiflerideGetir\",\r\n visible: [\"filter\"],\r\n customComponent: CheckboxForm,\r\n defaultValue: false,\r\n },\r\n {\r\n name: \"yetkiGrubuId\",\r\n label: \"Yetki Grubu\",\r\n dataType: \"custom\",\r\n dataField: \"yetkiGrubuId\",\r\n visible: [\"filter\"],\r\n customComponent: YetkiGrubuInputForm,\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n YETKI_GRUBU_TIPI.MUSTERI.Value,\r\n ],\r\n insertEditButtonVisible: false\r\n },\r\n\r\n];\r\n\r\nexport default entity;\r\n","import Type from \"../../entities/Kullanici\";\r\n\r\nconst PageConfig = {\r\n title: \"Kullanıcılar\",\r\n ekranKodu: \"Kullanicilar_Res\",\r\n type: Type,\r\n listRoute: \"User/List\",\r\n getByIdRoute: \"User/GetById\",\r\n insertRoute: \"User/Insert\",\r\n updateRoute: \"User/Update\",\r\n deleteRoute: \"User/Delete\",\r\n};\r\n\r\nexport default PageConfig;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport PageConfig from \"../../Kullanici/KullaniciConfig\";\r\nimport * as yup from \"yup\";\r\nimport { Button, Divider, Grid, Paper, Typography } from \"@mui/material\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport FieldWrapper from \"../../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../../components/inputs/form-inputs/TextInputForm\";\r\nimport { Save } from \"@mui/icons-material\";\r\nimport AutocomplateInputForm from \"../../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport YetkiGrubuInputForm from \"../../../components/inputs/custom-form-inputs/YetkiGrubuInputForm\";\r\nimport validateFormValues from \"../../../common/constant-functions/validateFormValues\";\r\nimport { AppContext } from \"../../../common/AppContext\";\r\nimport useFetch from \"../../../hooks/use-fetch\";\r\nimport useSubmit from \"../../../hooks/use-submit\";\r\n\r\nconst CustomFieldWrapper = ({ label, modalLoading, children }) => {\r\n return (\r\n <FieldWrapper\r\n label={label}\r\n modalLoading={modalLoading}\r\n width=\"75%\"\r\n textWidth=\"25%\"\r\n >\r\n {children}\r\n </FieldWrapper>\r\n );\r\n};\r\n\r\nfunction KullaniciBilgisiGuncelleme({ ekranKodu }) {\r\n const [rowData, setRowData] = useState({});\r\n const [modalLoading, setModalLoading] = useState(true);\r\n\r\n const fetchData = useFetch(\r\n PageConfig.getByIdRoute,\r\n setRowData,\r\n setModalLoading\r\n );\r\n\r\n const handleSubmit = useSubmit(PageConfig, setRowData);\r\n\r\n useEffect(() => {\r\n fetchData(context.user.id);\r\n }, []);\r\n\r\n const validationSchema = yup.object().shape({\r\n sirketId: yup.number().required(),\r\n kullaniciAdi: yup.string().required(),\r\n // sifre: yup.string().required(),\r\n isim: yup.string().required(),\r\n soyisim: yup.string().required(),\r\n yetkiGrubuId: yup.number().required(),\r\n eMail: yup.string().email().nullable(),\r\n });\r\n const validate = validateFormValues(validationSchema);\r\n\r\n const context = React.useContext(AppContext);\r\n\r\n const yetki =\r\n context?.user?.yetkiler.find((x) => x.ekranKodu === ekranKodu) ?? {};\r\n\r\n return (\r\n <Paper\r\n sx={{\r\n m: 1,\r\n minWidth: \"500px\",\r\n }}\r\n >\r\n <Typography align=\"center\">KULLANICI BİLGİLERİM</Typography>\r\n <Divider />\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n autoComplete={false}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <form onSubmit={handleSubmit} autoComplete=\"off\">\r\n <Grid sx={{ p: 2 }}>\r\n <CustomFieldWrapper\r\n label=\"Kullanıcı No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field name=\"id\" component={TextInputForm} readOnly={true} />\r\n </CustomFieldWrapper>\r\n\r\n <CustomFieldWrapper\r\n label=\"Şirket Kodu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"sirketId\"\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute: \"Sirket/ListForSelect\",\r\n fildsForText: [\"sirket_Kod\"],\r\n fieldForValue: \"id\",\r\n reqData: {},\r\n fieldLabel: \"sirket_Kod\",\r\n }}\r\n component={AutocomplateInputForm}\r\n readOnly={true}\r\n />\r\n </CustomFieldWrapper>\r\n\r\n <CustomFieldWrapper\r\n label=\"Kullanıcı Adı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"kullaniciAdi\"\r\n component={TextInputForm}\r\n readOnly={true}\r\n />\r\n </CustomFieldWrapper>\r\n\r\n {/* <CustomFieldWrapper label=\"Şifre\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"sifre\"\r\n component={PasswordInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper> */}\r\n\r\n <CustomFieldWrapper label=\"Email\" modalLoading={modalLoading}>\r\n <Field\r\n type=\"email\"\r\n name=\"eMail\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n\r\n <CustomFieldWrapper\r\n label=\"Telefon No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n type=\"tel\"\r\n name=\"telefonNo\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n\r\n <CustomFieldWrapper label=\"İsim\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"isim\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n\r\n <CustomFieldWrapper label=\"Soyisim\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"soyisim\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n\r\n <CustomFieldWrapper\r\n label=\"Yetki Grubu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"yetkiGrubuId\"\r\n rowData={rowData}\r\n component={YetkiGrubuInputForm}\r\n ekranKodu={ekranKodu}\r\n readOnly={true}\r\n />\r\n </CustomFieldWrapper>\r\n <Button\r\n sx={{ width: \"100%\", mt: 3, p: 1 }}\r\n variant=\"contained\"\r\n startIcon={<Save />}\r\n size=\"small\"\r\n onClick={(e) => {\r\n form.submit();\r\n }}\r\n >\r\n Güncelle\r\n </Button>\r\n </Grid>\r\n </form>\r\n )}\r\n />\r\n </Paper>\r\n );\r\n}\r\nexport default KullaniciBilgisiGuncelleme;\r\n","import { Grid } from \"@mui/material\";\r\n\r\nimport SifreGuncelleme from \"./SifreGuncelleme\";\r\nimport KullaniciBilgisiGuncelleme from \"./KullaniciBilgisiGuncelleme\";\r\n\r\nfunction KullaniciBilgileri({ ekranKodu }) {\r\n return (\r\n <Grid\r\n container\r\n sx={{ width: \"100%\", display: \"flex\", alignItems: \"flex-start\" }}\r\n >\r\n <KullaniciBilgisiGuncelleme\r\n ekranKodu={ekranKodu}\r\n ></KullaniciBilgisiGuncelleme>\r\n <SifreGuncelleme></SifreGuncelleme>\r\n </Grid>\r\n );\r\n}\r\n\r\nexport default KullaniciBilgileri;\r\n","import PageReport from \"../../components/pdf/PageReport\";\r\nimport yardimBase64 from \"./YardimPdf\";\r\n\r\nconst Yardim = () => {\r\n return <PageReport base64={yardimBase64} />;\r\n};\r\n\r\nexport default Yardim;\r\n","const yardimBase64 =\r\n \"JVBERi0xLjcNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFuZyhlbi1VUykgL1N0cnVjdFRyZWVSb290IDUwIDAgUi9NYXJrSW5mbzw8L01hcmtlZCB0cnVlPj4vTWV0YWRhdGEgMjI0IDAgUi9WaWV3ZXJQcmVmZXJlbmNlcyAyMjUgMCBSPj4NCmVuZG9iag0KMiAwIG9iag0KPDwvVHlwZS9QYWdlcy9Db3VudCA1L0tpZHNbIDMgMCBSIDMyIDAgUiAzNiAwIFIgNDEgMCBSIDQ1IDAgUl0gPj4NCmVuZG9iag0KMyAwIG9iag0KPDwvVHlwZS9QYWdlL1BhcmVudCAyIDAgUi9SZXNvdXJjZXM8PC9Gb250PDwvRjEgNSAwIFIvRjIgOSAwIFIvRjMgMTQgMCBSL0Y0IDE5IDAgUi9GNSAyMSAwIFIvRjYgMjcgMCBSL0Y3IDI5IDAgUj4+L0V4dEdTdGF0ZTw8L0dTNyA3IDAgUi9HUzggOCAwIFI+Pi9YT2JqZWN0PDwvSW1hZ2UzMSAzMSAwIFI+Pi9Qcm9jU2V0Wy9QREYvVGV4dC9JbWFnZUIvSW1hZ2VDL0ltYWdlSV0gPj4vQW5ub3RzWyAyNiAwIFJdIC9NZWRpYUJveFsgMCAwIDU5NS4zMiA4NDEuOTJdIC9Db250ZW50cyA0IDAgUi9Hcm91cDw8L1R5cGUvR3JvdXAvUy9UcmFuc3BhcmVuY3kvQ1MvRGV2aWNlUkdCPj4vVGFicy9TL1N0cnVjdFBhcmVudHMgMD4+DQplbmRvYmoNCjQgMCBvYmoNCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMjE5MD4+DQpzdHJlYW0NCnicxVpNb9w2EL0b8H/gcTfAyvwmVRgC1rIdtGiANjHQQ9CDESTOoXFcJ0CQf9+ZISlSXsreeKXUyGa1FCUOhzPvzQzJTt7cXd+y09OTV/2v54yf/H59e8NWX+83V6/XXcfOznv27/ERbzj+ee8E48y0plGSeS2aVrL798dHf71gt8dHZ1fHRyeXggnPrj4cH2FXzuCnFY1izqim1ezqE/R5+caxmy+px/0NNfmi6fXL4yMGgwrJrt69XW3y3/pvdvXb8dEFDPXn8dGhokkpG25K2bJIWZK3K3bQsHJ3WNsI9eSwp5zLHgbR3UbCtdl2Cr607hx+ncHHcO620EPBP8e5leHaanwKLi86DV0FvMS4blbNKacbeG5hzVWG9Y1rnxq2ajrzCqKVarz74fmzi1c9Y2OnE0s4nWxdY8GywcDFgfLJGeRTTIiG65GI3jdeamZb20hJInJ2g/9F23f+IJPVlSFbWDQ7NeSBtmoYmlyJe9zCBKfnJ3v0Z8ElF77nwhn4nHcbA23OdhvwXNG74NBc0W9lLsjRRaupDXEAfB1e0W3wVfaSC3HRebj0bXziMjyNbxUX0KUPo8EjQhQjWZuvOcFI96RhqBkMw1ZWSRrZGDVWHLbf36SrYLsf10Kvvn5db9Tqbq1WX35Zu9XJ2sJno1ffvsHVt+bj9Vqv7j/Bnc/rjVnd4iPf8Yn393cN3Hq3Fjzc+oRPNV/v10LCG56cvF5o8pqbRqvFTLQynmv81HhogoJsiuyLXxIDgUWKFmjFnHeCQ3O7zV1CO9kSmRxxFt5tw4NkwsJHUroIXCV6MmXVo712G0dd4xNjM8yGMBiJhuBCwI8WUN+FOX94MYtqkgN7iF90RTU41+BTKD44cHAfbIpqIFWhg9vL4G6oquhqKqsHe0CLjrpNukQ/RV2Ct5OuTR5kWAN81IAvJ/ePr7LxrbBiKBK+xdLijaSMgpfrFyXCBzwux2EYXDNwELxp3YRW9+EjszAfWVtd7iX5qDrkAs6eLHpqiplbErEkUkFGKT0fv7NJg/WUHhAsn8AB/J3Ih+JRrUOcCpGskNGIe95FcySeUoQD5PvWUwRLsa8K5hneYpDhuARmExK/u0B0nUl+sQ22fBZsGd0ILvXpQ7crxhz8DB01uQdMZ9pTIkINlI1qOjMEesC9CiXyQZGuhMctPWT75JNxpJFc0flwfJ/GT4vQD9qNgCqkp1emMAJfjb1txhMU0e3gww62zmhfRuDXLmIGAkkTDOvvouxtQEbQgY3xyEIAJIzGmL0u5D4AZBcGIGUb93PxpzbigvAzMcGIPompiEejK4Mr2OSVltgQW/s+c+Y2+7PMjjYGsJJh3WkZDCf+RbujHpYwCD06MWuUatw3tUZzpTdGIWO0E9BPn+VQyZ2PiBhfiM3I8CIINSAhJPk0X4zWQz5A7RQlmYxBGZIHiPJ1OM4BSZ/0FB4FFMHRDwWFakQr2qY1P83INKS82k0amfAEfhh+yjbQkSJ1lYlWIrjZZbMQo/op2XKYPJDEmckmNo7uCCt5MtjFkByUqWqh7xY5Ndr85UCTKWKNDpITAbI7LwMPJba7CAQ6stJEZBQgBHcJLByMNjThtQgxxJJEIRXVUKo62Icn3MI8AZkbVn1+JlFUh1yQKSamWOAqQb0PgZipwiqBXQI/RGICvmiE2A1Q1Y9AdRzkFinubpCbKynBOMPLA6KGAR8FnAG2I3fZH/H7sqlwsxzuhbQwchgyK7mtCX4KDmTyXcgh9fBrFEXvUmgZje6fEgRhCu0hfZschi9kQqaVjbU1sA3BdkwSUDsoW6qT5ToGyZ6ThwKjQtRhQ6VjKqNXxuSVRsUZTv2LlDxZUjTkUuFF/l6sMIYBJsX87cNYJMZK5AADQQwLHUMIFCMveDk3uEHAimhN2UzE4qgokiyaznZkOtu66fTZD6PZFbmXG2eIVAQNPcmSHgY6+7tGmHmZ9I28ZDFrc74RomJtRWU3w04SKpVcg9hnphR7iEDH/rNLhzTfmO8uwobQ5M3EDPehQ78sHRqrqqpfkA7rQx5Ih9WUNVpXfbyr63/e3zG29qnGrVbX36/nFwJGVwtNuupS1oCWJ9c1+srg/UWq9gi17eB0t8mV6Vh61iHZKqnKh9J0Ym3MntTpHunhLhxFKBtQL9a/PW3w0u5uqIE5KnSJlJhYnQtg2E85elnYQ0q9XbyMdbVY502VIi5tuE1bxpoetDqFHSRrCE6gp4uFurCBDIMJSkepvoV3CJjVslCqfWPayrpH5sr8lKhyYGpcD0fqSMW7svhWlv1iml+UyvOS5vhMD1trxISlYcR9jkThuzA/cKralXmoVuD9MoeChrJGkaKBEMLlgiWyZHosTl/l6W9Unv//UOb3FtPw+iruQxftQhtsjge6wDMY5jmCiZlOyUwSGVc1lYlDDzDssphutJ0c77ADE642nntsfgefsZkEkup4CJ4uYS0BYAGrVh56WmZXGAVNds/JV81ujnMij+Ct9m3DaxUzmVOguCsRg/sxGiLNxYzuQUKacql+QD2iJzMAXsixS1iNBxxCe7HDglWfgux3staBxFU/bCDZffaPQvVPU7pOPWUIuKf2qPCoVeJgG3qi/YjRFvaQ5ZGiSt4pM2Z5Ws2YR7tTvCsiEVwNQzlrqtmWe8FDQS6GIuJhVSQWKlKqKbZDtLIQFRiOBbS6fe1l+XOcQHqECrS1jX1WhU/MdARmfHAIqamlUzDuefqa6WyKrClLKtnI5/HmHBv3k2JxD2T2LLHm2M6bEkt43ZgnC6ZVseaoHk+KZfkz9z7FHFn8pFjKptOUPyrWTNFiXSyh9qh6V49OzhEqTokFeKrlvtr6I8skCjGY1ApPTUUJpOBNawsJtIHbhsYFqsBLB1huCJy8Z+/wNPevn65v3ivBzj+zNN5/YRo8LQ0KZW5kc3RyZWFtDQplbmRvYmoNCjUgMCBvYmoNCjw8L1R5cGUvRm9udC9TdWJ0eXBlL1RydWVUeXBlL05hbWUvRjEvQmFzZUZvbnQvQkNERUVFK0NhbGlicmktQm9sZC9FbmNvZGluZy9XaW5BbnNpRW5jb2RpbmcvRm9udERlc2NyaXB0b3IgNiAwIFIvRmlyc3RDaGFyIDMyL0xhc3RDaGFyIDI1Mi9XaWR0aHMgMjE0IDAgUj4+DQplbmRvYmoNCjYgMCBvYmoNCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQkNERUVFK0NhbGlicmktQm9sZC9GbGFncyAzMi9JdGFsaWNBbmdsZSAwL0FzY2VudCA3NTAvRGVzY2VudCAtMjUwL0NhcEhlaWdodCA3NTAvQXZnV2lkdGggNTM2L01heFdpZHRoIDE3ODEvRm9udFdlaWdodCA3MDAvWEhlaWdodCAyNTAvU3RlbVYgNTMvRm9udEJCb3hbIC01MTkgLTI1MCAxMjYzIDc1MF0gL0ZvbnRGaWxlMiAyMTIgMCBSPj4NCmVuZG9iag0KNyAwIG9iag0KPDwvVHlwZS9FeHRHU3RhdGUvQk0vTm9ybWFsL2NhIDE+Pg0KZW5kb2JqDQo4IDAgb2JqDQo8PC9UeXBlL0V4dEdTdGF0ZS9CTS9Ob3JtYWwvQ0EgMT4+DQplbmRvYmoNCjkgMCBvYmoNCjw8L1R5cGUvRm9udC9TdWJ0eXBlL1R5cGUwL0Jhc2VGb250L0JDREZFRStDYWxpYnJpLUJvbGQvRW5jb2RpbmcvSWRlbnRpdHktSC9EZXNjZW5kYW50Rm9udHMgMTAgMCBSL1RvVW5pY29kZSAyMTEgMCBSPj4NCmVuZG9iag0KMTAgMCBvYmoNClsgMTEgMCBSXSANCmVuZG9iag0KMTEgMCBvYmoNCjw8L0Jhc2VGb250L0JDREZFRStDYWxpYnJpLUJvbGQvU3VidHlwZS9DSURGb250VHlwZTIvVHlwZS9Gb250L0NJRFRvR0lETWFwL0lkZW50aXR5L0RXIDEwMDAvQ0lEU3lzdGVtSW5mbyAxMiAwIFIvRm9udERlc2NyaXB0b3IgMTMgMCBSL1cgMjEzIDAgUj4+DQplbmRvYmoNCjEyIDAgb2JqDQo8PC9PcmRlcmluZyhJZGVudGl0eSkgL1JlZ2lzdHJ5KEFkb2JlKSAvU3VwcGxlbWVudCAwPj4NCmVuZG9iag0KMTMgMCBvYmoNCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQkNERkVFK0NhbGlicmktQm9sZC9GbGFncyAzMi9JdGFsaWNBbmdsZSAwL0FzY2VudCA3NTAvRGVzY2VudCAtMjUwL0NhcEhlaWdodCA3NTAvQXZnV2lkdGggNTM2L01heFdpZHRoIDE3ODEvRm9udFdlaWdodCA3MDAvWEhlaWdodCAyNTAvU3RlbVYgNTMvRm9udEJCb3hbIC01MTkgLTI1MCAxMjYzIDc1MF0gL0ZvbnRGaWxlMiAyMTIgMCBSPj4NCmVuZG9iag0KMTQgMCBvYmoNCjw8L1R5cGUvRm9udC9TdWJ0eXBlL1R5cGUwL0Jhc2VGb250L1N5bWJvbE1UL0VuY29kaW5nL0lkZW50aXR5LUgvRGVzY2VuZGFudEZvbnRzIDE1IDAgUi9Ub1VuaWNvZGUgMjE1IDAgUj4+DQplbmRvYmoNCjE1IDAgb2JqDQpbIDE2IDAgUl0gDQplbmRvYmoNCjE2IDAgb2JqDQo8PC9CYXNlRm9udC9TeW1ib2xNVC9TdWJ0eXBlL0NJREZvbnRUeXBlMi9UeXBlL0ZvbnQvQ0lEVG9HSURNYXAvSWRlbnRpdHkvRFcgMTAwMC9DSURTeXN0ZW1JbmZvIDE3IDAgUi9Gb250RGVzY3JpcHRvciAxOCAwIFIvVyAyMTcgMCBSPj4NCmVuZG9iag0KMTcgMCBvYmoNCjw8L09yZGVyaW5nKElkZW50aXR5KSAvUmVnaXN0cnkoQWRvYmUpIC9TdXBwbGVtZW50IDA+Pg0KZW5kb2JqDQoxOCAwIG9iag0KPDwvVHlwZS9Gb250RGVzY3JpcHRvci9Gb250TmFtZS9TeW1ib2xNVC9GbGFncyAzMi9JdGFsaWNBbmdsZSAwL0FzY2VudCAxMDA1L0Rlc2NlbnQgLTIxNi9DYXBIZWlnaHQgNjkzL0F2Z1dpZHRoIDYwMC9NYXhXaWR0aCAxMTEzL0ZvbnRXZWlnaHQgNDAwL1hIZWlnaHQgMjUwL1N0ZW1WIDYwL0ZvbnRCQm94WyAwIC0yMTYgMTExMyA2OTNdIC9Gb250RmlsZTIgMjE2IDAgUj4+DQplbmRvYmoNCjE5IDAgb2JqDQo8PC9UeXBlL0ZvbnQvU3VidHlwZS9UcnVlVHlwZS9OYW1lL0Y0L0Jhc2VGb250L0FyaWFsTVQvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nL0ZvbnREZXNjcmlwdG9yIDIwIDAgUi9GaXJzdENoYXIgMzIvTGFzdENoYXIgMzIvV2lkdGhzIDIxOCAwIFI+Pg0KZW5kb2JqDQoyMCAwIG9iag0KPDwvVHlwZS9Gb250RGVzY3JpcHRvci9Gb250TmFtZS9BcmlhbE1UL0ZsYWdzIDMyL0l0YWxpY0FuZ2xlIDAvQXNjZW50IDkwNS9EZXNjZW50IC0yMTAvQ2FwSGVpZ2h0IDcyOC9BdmdXaWR0aCA0NDEvTWF4V2lkdGggMjY2NS9Gb250V2VpZ2h0IDQwMC9YSGVpZ2h0IDI1MC9MZWFkaW5nIDMzL1N0ZW1WIDQ0L0ZvbnRCQm94WyAtNjY1IC0yMTAgMjAwMCA3MjhdID4+DQplbmRvYmoNCjIxIDAgb2JqDQo8PC9UeXBlL0ZvbnQvU3VidHlwZS9UeXBlMC9CYXNlRm9udC9CQ0RHRUUrQ2FsaWJyaS9FbmNvZGluZy9JZGVudGl0eS1IL0Rlc2NlbmRhbnRGb250cyAyMiAwIFIvVG9Vbmljb2RlIDIxOSAwIFI+Pg0KZW5kb2JqDQoyMiAwIG9iag0KWyAyMyAwIFJdIA0KZW5kb2JqDQoyMyAwIG9iag0KPDwvQmFzZUZvbnQvQkNER0VFK0NhbGlicmkvU3VidHlwZS9DSURGb250VHlwZTIvVHlwZS9Gb250L0NJRFRvR0lETWFwL0lkZW50aXR5L0RXIDEwMDAvQ0lEU3lzdGVtSW5mbyAyNCAwIFIvRm9udERlc2NyaXB0b3IgMjUgMCBSL1cgMjIxIDAgUj4+DQplbmRvYmoNCjI0IDAgb2JqDQo8PC9PcmRlcmluZyhJZGVudGl0eSkgL1JlZ2lzdHJ5KEFkb2JlKSAvU3VwcGxlbWVudCAwPj4NCmVuZG9iag0KMjUgMCBvYmoNCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQkNER0VFK0NhbGlicmkvRmxhZ3MgMzIvSXRhbGljQW5nbGUgMC9Bc2NlbnQgNzUwL0Rlc2NlbnQgLTI1MC9DYXBIZWlnaHQgNzUwL0F2Z1dpZHRoIDUyMS9NYXhXaWR0aCAxNzQzL0ZvbnRXZWlnaHQgNDAwL1hIZWlnaHQgMjUwL1N0ZW1WIDUyL0ZvbnRCQm94WyAtNTAzIC0yNTAgMTI0MCA3NTBdIC9Gb250RmlsZTIgMjIwIDAgUj4+DQplbmRvYmoNCjI2IDAgb2JqDQo8PC9TdWJ0eXBlL0xpbmsvUmVjdFsgMjUwLjA4IDY5MS44NCA0MDcuNDkgNzA3LjY1XSAvQlM8PC9XIDA+Pi9GIDQvQTw8L1R5cGUvQWN0aW9uL1MvVVJJL1VSSShodHRwczovL3d3dy5oYXJtb255ZXJwLmNvbS50ci8pID4+L1N0cnVjdFBhcmVudCAxPj4NCmVuZG9iag0KMjcgMCBvYmoNCjw8L1R5cGUvRm9udC9TdWJ0eXBlL1RydWVUeXBlL05hbWUvRjYvQmFzZUZvbnQvQkNESEVFK0NhbGlicmkvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nL0ZvbnREZXNjcmlwdG9yIDI4IDAgUi9GaXJzdENoYXIgMzIvTGFzdENoYXIgMjMxL1dpZHRocyAyMjIgMCBSPj4NCmVuZG9iag0KMjggMCBvYmoNCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQkNESEVFK0NhbGlicmkvRmxhZ3MgMzIvSXRhbGljQW5nbGUgMC9Bc2NlbnQgNzUwL0Rlc2NlbnQgLTI1MC9DYXBIZWlnaHQgNzUwL0F2Z1dpZHRoIDUyMS9NYXhXaWR0aCAxNzQzL0ZvbnRXZWlnaHQgNDAwL1hIZWlnaHQgMjUwL1N0ZW1WIDUyL0ZvbnRCQm94WyAtNTAzIC0yNTAgMTI0MCA3NTBdIC9Gb250RmlsZTIgMjIwIDAgUj4+DQplbmRvYmoNCjI5IDAgb2Jq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asWKFe+++27p7WTPsmXLZsyYMWvWrOPHj1/qO2BHedQNnt5uMr3dXvQ2AxqrEx6gGFpv33rrrU888cSdd965ZMmSyZMnHz169KWXXpo5c+bZs2e3bt1611139f2ty4N8zsbtc+fOnWw3jcH37e0vv/yy1eMaor4/GzJqN025puvX25mBrR7XsDQuVPvmRz7Z6nENS9/frtm3t7/44otWD42musDvNhxLEx7gm4bW22nsdPX06dMnTZp0ww035Bya/F6wYEFP728/uP322zdv3nxJ3+LuG3VHep1oH42/GNLzn3u7/CqhVo/ukh07dqzv5VLfTXP48OFcW7V6gF/r6Ogov+q5X293dna2emhD11ionv+cH7lwy5daPbqh6/u7UPr2do4V+/fvb/XoaJJs6wuca/pO+OwFbT3hAb5pyL29e/fujRs3Tpw48dprr02eJbbnzZuX42RqberUqeUvhlzSczZuJ7bb60+q9R18v94+cOBAiwY1dOfPn79Ab587d64Vg+ov2TZgb4/yd79cWGOher7R2+Vvo7SpvhulX293d3e3aFA0W043g+/ttp7wAN80nN5OFc+dO3fSpEldXV355P333//cc8898cQTy5cv/+STTy71ORu39XZr6e1W0duMYXobGM+G0NufffZZHpUk/uqrr3II3bNnT/nz3Im0nTt3dnR0lA8vdRiN23q7tfR2q+htxjC9DYxno/Dv3ejt1tLbraK3GcP0NjCe6e3h09vNp7fbiN6mR28D45veHj693Xx6u43obXr0NjC+6e3h09vNp7fbiN6mR28D45veHj693Xx6u43obXr0NjC+6e3h09vNp7fbiN6mR28D41u/3j7UdOXPUOrt0UNvt4reZgzT28B41q+39+zZc76JOjs79fZoo7dbRW8zhultYDzr19tNzpUPP/xQb482ertV9DZjmN4GxjO9PXx6u/n0dhvR2/TobWB809vDp7ebT2+3Eb1Nj94Gxje9PXx6u/n0dhvR2/TobWB8G4W93dXVtWfPnr3tY+fOnY3B9+3tdMWuXbtaPbpLlpV/9OjRxhLt7bNpjh07Nko2Tdb5gL2d03SrhzZ0jYXq+UZv50utHt3Q9W2nvr19+vTpjo6OVo+OJsm2PnPmzLedC/r1dltPeIABjbbebmt9e3tsGOWbpl9vjxl982Ms6dvb0DBWJzxAobdH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q3Kv3pxqGG1be7ygicXPDhEo48c//vGZM2def/31y5cvX9lBlt98801dlgX5V5clgSxL4kcffVS3bW//+y0CI7DnHYogOKhGXo516623atg38ASm9yIAAACAAsH+T1/Y/yloFPtvvbt967k3xZbA1nirWN+rP/Dv1qTut9JmU1l/2w6//OUvg9b/z33uczWN+3p66rbirtR6knqs+pz6Xgf+PH2D+EpPM5JuyLs5W/bW0mOOO7nVMmr91z1U+XS1nHErsy7LHl544YXYw3r7nzSqPfL444+/8847svDiiy+eOHHi+eefl+VLly49u4MsyL+yUj6SBLIsiTt0/u+3CJK77VYEHou876ER99bond6LAAAAAAoE+z99Yf+noM3bf/W8sbc1U2zmWleq+9CdaAL1L1WuJPDLwR6sfVN2ZXuIO//XDwRI+nfLafCQoSanyUEH9hygR/tvDcfyV5bVe8rCkSNHgiHefvx4vJXuUAvIP4GxrYLjatf0wMUHTd6BG9WdW+f/YHh77zz22GPb29vXrl176KGHXnnlFfl79erVX/ziF7/cQRbkX/tIkklisau67Ur2v98isEri617nIlhGwwT8tzXuddAvvRcBAAAAFAj2f/rC/k9BY3X+983igSmOuwHI32AnNaY4/sg3rHv774daJ8f+J+2nP5PgQcSqObXjBvvxxx3O/ge50Ozb9INV3lM+9VuZYQy6Sej+k73N6+3/0s2Gt2fPnqHHno9r/7sVgZHcyli1CKzeYv8BAABgdmD/py/s/xQ0Vuu/+t9km/g90fsCbBy0dyhV7cJx6782ksat/93sf7BS9+8Hs7fPqR23Jneb6fxvfbxt/Hi3rXyJW3jre57XzC9X1T2+R8R7Xr58eXljz/OLFy9qz3N905zveS6Ju9n/voog2PP6RRB4/+WNHf430Pm/9yIAAACAAsH+T1/Y/ylo8/bf+9kq+x8P7e/W+u+36sv+x08nrA/2qjndTOu/bzi2xtygOVgbfN98800bP57cKulYz50750edB28EsKB57xn3zUja/yrP2yPmPfVMbP27O/iT1IVu9r/HIgj2rAP2/VbLVYrA9x8w/LE2MPVf70UAAAAABYL9n76w/1PQWPbfGvQbx/7rSp+4/dh/3cqaR9fv/O93GK9ZNaebGfu/rHjrnE31Zgb89PX3zdVsFXT+l3/9Vkk7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AFAx4Q8AAAAVE/4AAABQMeEPAAAAFRP+AAAAUDHhDwAAABUT/gAAAFAx4Q8AAAAVE/4AAABQMeEPAAAAFRP+AAAAUDHhDwAAABUT/gAAAFAx4Q8AAAAVE/4AAABQMeEPAAAAFRP+AAAAUDHhDwAAABUT/gAAAFAx4Q8AAAAVE/4AAABQMeEPAAAAFRP+AAAAUDHhDwAAABUT/gAAAFAx4Q8AAAAVE/4AAABQMeEPAAAAFRP+AAAAUDHhDwAAABUT/gAAAFAx4Q8AAAAVE/4AAABQMeEPAAAAFRP+AAAAUDHhDwAAABUT/gAAAFAx4Q8AAAAVE/4AAABQMeEPAAAAFRP+AAAAUDHhDwAAABUT/gAAAFAx4Q8AAAAVE/4AAABQMeEPAAAAFRP+AAAAUDHhDwAAABUT/gAAAFAx4Q8AAAAVE/4AAABQMeEPAAAAFRP+AAAAUDHhDwAAABUT/gAAAFAx4Q8AAAAVE/4AAABQMeEPAAAAFRP+AAAAUDHhDwAAABUT/gAAAFAx4Q8AAAAVE/4AAABQMeEPAAAAFRP+AAAAUDHhDwAAABUT/gAAAFAx4Q8AAAAVE/4AAABQMeEPAAAAFRP+AAAAUDHhDwAAABUT/gAAAFAx4Q8AAAAVE/4AAABQMeEPAAAAFRP+AAAAUDHhDwAAABUT/gAAAFAx4Q8AAAAVE/4AAABQMeEPAAAAFRP+AAAAUDHhDwAAABUT/gAAAFAx4Q8AAAAVE/4AAABQMeEPAAAAFRP+AAAAUDHhDwAAABUT/gAAAFAx4Q8AAAAVE/4AAABQMeEPAAAAFRP+AAAAUDHhDwAAABUT/gAAAFAx4Q8AAAAVE/4AAABQMeEPAAAAFRP+AAAAUDHhDwAAABUT/gAAAFAx4Q8AAAAVE/4AAABQMeEPAAAAFRP+AAAAUDHhDwAAABUT/gAAAFAx4Q8AAAAVE/4AAABQMeEPAAAAFRP+AAAAUDHhDwAAABUT/gAAAFAx4Q8AAAAVE/4AAABQMeEPAAAAFRP+AAAAUDHhDwAAABUT/gAAAFAx4Q8AAAAVE/4AAABQMeEPAAAAFRP+AAAAUDHhDwAAABUT/gAAAFAx4Q8AAAAVE/4AAABQMeEPAAAAFRP+AAAAUDHhDwAAABUT/gAAAFAx4Q8AAAAVE/4AAABQMeEPAAAAFRP+AAAAUDHhDwAAABUT/gAAAFAx4Q8AAAAVE/4AAABQMeEPAAAAFRP+AAAAUDHhDwAAABUT/gAAAFAx4Q8AAAAVE/4AAABQMeEPAAAAFRP+AAAAUDHhDwAAABUT/gAAAFAx4Q8AAAAVE/4AAABQMeEPAAAAFRP+AAAAUDHhDwAAABUT/gAAAFAx4Q8AAAAVE/4AAABQMeEPAAAAFRP+AAAAUDHhDwAAABUT/gAAAFAx4Q8AAAAVE/4AAABQMeEPAAAAFRP+AAAAUDHhDwAAABUT/gAAAFAx4Q8AAMD/b7+OURiGgSCK3v9susa2OUGaBINTKU7AMjKj90pNL/YTTPgDAABAMOEPAAAAwYQ/AAAABBP+AAAAEEz4AwAAQDDhDwAAAMGEPwAAAAQT/gAAABBM+AMAAEAw4Q8AAADBhD8AAAAEE/4AAAAQTPgDAABAMOEPAAAAwYQ/AAAABPuE/xMAAACII/wBAAAg2JnwfwAAANcYfvkDyxL+AABwQ8Mvf2BZwh8AAG5o+OUPLOuf8K+q7vvsvxAAAGJdc/4DmVprB+vP8K9Nd5r9FwIAQKyTFQAspW2+rcfhX7vuOvsvBACAWENaAFhE23XXd/K/ACx3hSANCmVuZHN0cmVhbQ0KZW5kb2JqDQo0NCAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggNDYxL0hlaWdodCA0MDcvQ29sb3JTcGFjZS9EZXZpY2VSR0IvQml0c1BlckNvbXBvbmVudCA4L0ludGVycG9sYXRlIGZhbHNlL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMTI0NTc+Pg0Kc3RyZWFtDQp4nO2de6xdV53f/SfSjDUzkSqNKlTmH4QQQlH+oPF0CiQTTzIFdVJo3BgBJS3IGUKqpICbB884GnCasSeKocg0D1DCGApxnZgJ09TBMEntzMR27MG4Ny/jBJvYN77XzvW9ftw4Pv3p/uqfflmPvfc5+7XW73w/Wjradz/X47c/Z+219z37xRdfHAAAAGiNFyto9oZNB956+65/8pUdSB0nqnaq/CrtiDZKoRUACFKqWQqwd9255z13/WLJ3XuROk5U7VT5pec42iiFVgAgRqlm6asc52+/5zg1Adoo/VYAIEapZumiqfcgH/NETYA26j2VtgIAMaDZ9BM0m0KCZsHIQLPpJ2g2hQTNgpGBZtNP0GwKCZoFIwPNpp+g2RQSNAtGBppNP0GzKSRoFowMNJt+gmZTSNAsGBloNv0EzaaQoFkwMtBs+gmaTSFBs2BkoNn0EzSbQoJmwchAs+knaDaFBM2CkYFm00/QbAoJmgUjA82mn6DZFBI0C0amM83e9tjBuTNv+PunmXf93SsvTp3+xpOHez+V0kw9anbDM0eff/XUtgMnbn305V+8cpKmixOt33t19dUKAMRIRLOTJ+ZPnDkL0452gren2adfnqX9U+tQGwWbz4HW7726+moFAGKko1maTta0j/xymrK3f+p0mid4e5p9/PnXqIGo4Lf/74OHT8zTdHGi9a22BTQLRiYFzf7V373y0vRpPk+PnJj/iy2HZCs6mwYLvanrN/5K74TOtWFPTNqQNnf27BA7ecdWs//hBy9SpX3ukZf+7L5nv/S3v6bp4kTrOy0+f/bcvf8wKTOle8wN6iRak9aPLe23LaBZMDK9a/bU628U9GAdr/JJ2uApFlRBOqd2xRM8zUGDinWrEzQLTNK7Zn2cM4hPKznTpVNKZyIPNQzO91R5Dp2nB4+f0bsqOHl9FeherhxLn9r+cWWr46fOBovQ9gmekWZ1TTohsevgrP6T24vX1zt3NCvtNZTP22gFAGL0otk9v5nzrzdfPvYmN0oSrbHE+FzjmWw5sejdT/z/MV5aR5RLS4fS7MTkKZ4WvcvJThkLHpdm8snOedPT3ZzgGQ0aSE3yUvmeouqiRU5L8cq6VmmO1ix98v6dvbWRoFkwMr1olk4N/+7J2TfO8VK/K8hn30CN6fEc3b2kPx+dOCZq1SfmUJp1FvGZK6d28Lg0U461pIWr2kxvgRVrVtpUD7M7LSUW1Rs6otYrD4YctG+2FQCI0YtmD0yffvT/HtPpfz17fPrk67w0KCini6ivJZmmNOtcyTqaDR7XsGZbHTTwx2d0S+nBGUFrVkStgWZBgmSt2eDwQh3N8pp8ygd7szGFWtVsnX9PKNWsExjUuL5m/QsNR7PF98saTNCsJZ7pliwGDZZ4mnXOQfrz4PEz9Xuzek2tXGds1jmu05tt/Oq1R81SAan4t/zNy//2u89VGZvVNVw6aDAxeUo3bmxsVuKB/nS+6Zyq5qUtVQU0awlSX5eHS/8WmD4T9TWpc1HZ1KABXyYPFi5jfc0GjyuaFZr9Z6isBw30UtoPdYwHoUt+2VDq33/SYBC6oHBqHpoFVRgHzRbT1+OpdVKr91961+yRE/N/hX+2hWYNAc1Cs8Oe4PiFrg4SNGsJq5pFau8ERxul0AogI6BZpGFPcLRRCq0AMgKaRRr2BEcbpdAKdVi1atUiD5oZW/nCCy+cmJgY7Vi0IW3uHKviDnlbztiDDz5IGz755JPFm9AKfIjSNX1iJaVdSR6IYXc7iGv26NGjV1xxBeWWPmla5nNhiWuvvfbkyZOyMv15dIHgVtKs0Gz6CZpNIXXQm+WzVZ/IQWpqVqjoSc0ImhXVxL41ircNlpTqh2rJ11p1YppdtYCeGCxYXbKh59OclStXUmaCW1H9cFNSDqHZ9BM0m0KCZkfYnEu0fIERlNhUSX2CmuXcconooJRnzjBlI9hn5r50wVaiXGg2/QTNppB60axcceveoJaPrCBztNmKRwMcT0oXUW/F3Veaf8UCTz31lNObvfrqqws6q5w91pE+ls4kH6u4pLoXrfPJXWV24FDfGkHN0lEuv/xyKThPa4tqKBvUleW8+VsN0JvNLUGzKaTuNctu8R0i8hGJ8UzuLvJOeAU2Uqwb6XjJ2QNng/Mge/AHDYoHEIKelJI6Mi8oaXCwQnzboGalL0qfNM2apYlNmzbxgLa0jgzMBrfiHXID0YbQbPoJmk0h9TVooLt5jnz8bi19OjspkI+/SHcUtWb1aGRwbFYLP1gcR/jDllSO6+xHH7c9zTql4OLLbbiYZmmpbAXNpp+g2RRSX71Z9kywj+c/nyBDhbKToAAZvzfLvVO/NzuaZp2ZvH9ef9iSynELStfNoAFNsOTlIYcqW0Gz6SdoNoXUvWa1N2Ka9YdeR+vN6q2a0mzBU2rDlrSb3qzui0oflY+oNUt/Tk1N8cBsbCtoNrsEzaaQ+tKsdFBLx2Z5pl65+tgsbyX9tPqDBnqH/pxhS9rN2Owg8kCX3MziI9Kf8ihXwVYYNMgrQbMppO41q0dK6aSWm0TBJw38filtsmiYJw1kV7w5+3BkzfIc5/EDGTcYtqTBJw1ozvr165vVbOm/JzgDswVb6UKVavatt+96z12/6D3IxzZR5VMToI3Sb4VEqPjwrQ3kxt+wG6b2z7Y3bDrwrjv34Czu6+ymyqcmQBul3wqJYF6zzrOyo/3/QmqaHSycxfRVThdNSB0nqvaKZzfaKIVWSAHzmpUrdD1UMiwJahYAACwBzQIAQKtAswAA0CrQLAAAtEorrwmPA80CAECrQLMAANAq0CwAALQKNAsAAK0CzQIAQKtAswAA0Cqk2ZmZmQMHDrwIAACgHcixJ0+enAMAANACbNq+cwEAAGaBZgEAoFWgWQAAaBVoFgAAWgWaBQCAVqmo2Yd2H7n0W/t6f12I7UQ1TPXcQaMDALqkombh2M5M20GjAwC6pKJme/fP+KQOGh0A0CXQbGqpg0YHAHQJNJta6qDRAQBdAs2mljpodABAl9TX7G2PHZw784b+OZr9U6cL1r/3HyZpffrUM2mT4q3qp+s3/mryxLz/4zlPvzzrrzxCfoLl6l6zR48e/eQnP8mvsH/3u9+9e/fumjtkaD+XXXZZU3srYMuWLYs8li5d+utf/7p+lrhy7rvvvkazPARUCioLlVHmUGaogHpO71CVUuQ4TRCMpdHq80sLNJffDGhKs4/8clr/GXRXv5p1fFuQw3w1y2exhD2fL41YpTPNCmSeoF3rZCk1zdJEg1+FjVNaw9BsRRrXbKmjoNn2NOsHcKmsKgLNNoLWLH8JJtWPdYBmm6Kl3qz8SdqZP3uOrs3pkxWkdUQqo2naRGuNJvTgA6157ORZWkcMyTvXgxU8h5cePH6Gj8h7LtWsHkyQTXR+aE1eSqvRyjSHDkdrTkye0kfX5QqWmkrBB2pJs/4FqZ7Jp8yNN97I14AS53qQgbVGay5btoz9xktlcz7j9EUl74dXo53zfK1HWsG56mR/ykFjJ6mjWT2YwJvoLHExealIjJauW7dOb+JoQfImtUETXApabeSGKECaw7nuKC6jU4q5UKu10QSOZmPtzpv7TcBLV69ezfNpmubMvVmzPGbiLG21CXqhjbFZMZhWLquJ5oiOHLXyNG3LNhMZarWKcrUqZYc8k4/C08EeqaNZmuDV9HzJj2TbmSnfAjTNLpVsxEpNqxV3oWtqNtj3kBOBzxEOb92PokXOKSNq5TVZubJzZ6meqc933iet5p9cLBM+NwuumrVm6ZOyoRXhZ8lxL5eRjy7l1WvSJy/VMymHjXT+Y7CLNm/eLFWkFwXL6JeioNWabQIdUQXtLkd3moBn8s51lnQ2pLZlZttN0AuN92a132im9ADFlqwjStqBbDBtVL25mFAmdBeXNxchi8piF/6xQQM9qizb8p6lZ84HFbXqvYlmC0pdZUhh5KYs1azT9wv2e0VBHPMyEdy5nKF+L9FxiHPiy3lUcFkaGzSgozia1d1vPrp8rUgZOUvBr5I55aK2r2ely0c5Lxgx0GX0S+Hv0BFdcM0RmiC2yG/3YBPoI+qDaqPq+wi8B5NDCm2MzUoXTi63dUeX+3VsWtEOa83vGEtXkP1G60gv0dmzWHpYzcquOFdas/7DCWxX3cUVFYtIY6VuW7NVBg18zcqFKp04tIJ0SCTmnQ7MnLoIvWyBAs3KZSbvfGTN6mvkq666ytGs/3ACHcjZM39fSD71Fa6+9O5Gs6x0yobuRhaXUZci2GptNIGzqKDdg03gZMkRqS6vHtOAZofVrO7XSdI6kqXB3qwjxif2z9Any83pzQb9WUWzselgb1YXsGJv1i91e5qdK7wFFtSsPhH86R/84Af06ZyMziBtsWZ1foKXihU1G5yO9WaZoXqzBRXYLM5XIR1LruhjZSwoxZw3aNBsEwTbei7U7sEmGKo3K0CzVTSrBw30Iu7E6svnoNYc98o0dxGdi3HeVi72R9asHnEtGJulRfL1IWsWj836pW5VswUPdBVo1h+vmzt/b0Ik4Ix58olPGxYPGohG9MjwaJrVByoYm5UaCI5FB8dmdT471iz/KdUSLGOsFE6rtdEEjloL2j3YBLHh4qDtZZwEmi3QrL5G1n05uecuXtLCEUcFnzTQF+b+LSR9XP8eVkXNLlGDBry+dGL9Jw2kB8vulfGEgicNgqVuT7Nz8X9PKB00+NJ5ZH39zG1w0IC6u36veC50xUpL161bx+d7nUED2hsd1O9X60EAObR+sqL4SQP/RkxL+AM7XP/6Itovo1OKuVCrtdEEsUGDYLv7TeA8/FD8pIHEKjTbYyKpHjt5tv5TqY0kZ2y22dRBo1dB3/jOkQJ7ZETWpej9KeV0yEWzwQFPaLY99INAOZK1oISsSwHNCllolq7f5YI9hWReszL41ndGRidrQQlZlwKaFbLQ7FilDhodANAl0GxqqYNGBwB0CTSbWuqg0QEAXYJXLiaV8MpFAOyBF4ink/ACcQBMUlGzAAAARgOaBQCAVoFmAQCgVaBZAABoFWgWAABaBZoFAIBWYc3OzMwcOHDgRQAAAO1Ajp2dnYVpAQCgPcixp06d6rtzDQAA1tCmHeTJM88803cWEgU1U4r5KjJfwAZpr66gWcOgZkoxX0XmC9gg0GwBCKQYqJlSzFeR+QI2CDRbAAIpBmqmFPNVZL6ADQLNFoBAioGaKcV8FZkvYINAswUgkGKgZkoxX0XmC9gg0GwBCKQYqJlSzFeR+QI2CDRbAAIpBmqmlDpVtHnz5hUrVuzcubO57DQPYqA60GwBCKQYqJlSzFeR+QI2SGqa/fa3v73Cg2bGVr7hhhv279/fUJZdGq8cyipl+I477jh16hTPoR4LFVDPyYI2wubYsWM333yzbvfsqkUzchVRkangVBVUIVXW9M+XzQuU9odrnj4jFJCbWJpV8h87wevgm8QvbPWqrsmwdcVacAjms05v1mmOGNlpdnC+9eksGJxv5VaL0BLtaVYanf/s4BRoiQ40K/DXt5ZVFprlc6G+Yx944AG/FFVKl6xmhdJSQLNBtD34O6uNr/K26UCzg/Pf6fyVlB39arYDamqWvwjqX7DEJADNlhI745wxBJ0HWUHm8E6+ukDwkqGUlkZUOMB++MMf6ibWl8xOj46LQPnfs2ePVIuOEC47fafzHmjNLVu20GfsQqM+3WiW53Bz6+6Z1i/Pl35RcDWpK6oiCSG5qGxJ401pVl/8xnqnxb1ZPk3uvvtup7w99mYp+H3H6lNAB7afYSkvFzPYjgWlE1dQneiq5t06Vc374QyP3ClqSrN+FTWoWS6+Pq10/NBS3Rw0kzPAO+EVRvvaakmzekiN86zLq7Oqi1Cwmh7g5em2e8tdalZ3fgo0y5sUaJbny7TMb+mCqBHNchEk27EALtWsU13O6TNaPkfWbHCwlAvIbS3F0TN1MOjyFvRmnbFNfz/6ZNH7pFqSferaG7nGGtFssIoaHzTQHVonTvxuLX06OxnhIZn27g86d74kz3qpX4RizXKE6Ghp71oyNc1K1RVoVp84welmaVCzpd+VVXqzXMYqgqpIHc3SJ11wFXdoHePpRq+o2eB8vR9d1brGdL9O72fkB+0aHDRwqqjx3iwfLhg//jcXrebsZISBvvY065wXTvNJVofSrB+BNjRbZdCgimb1ZXgumnWeJYiNZFbXrK7kvjTrFI0zqa8y/BimmcN+WcTm65rxNavx99+vZoNV1KBmdelimvWrNOXerHNeNNKbtafZmE7HR7MyU4YNg/2EvHqzTs/Hv2bX01wbN910k34Ssu3ebGw//Wo2WEWNa1Z6d378OGOzPFOvnNTY7MA7L4rHZp3nDHVYGtas02ROE8c0G1wtX8363xrBc7zK2Kx/UdC7Zv3umXSzV3jj7forJjaOqomVruLYbLCWUtCsU0UNalZfOt19993BYRN/5FZ2wvdY03nSYBA6L/SQS7D7yqsFb5Ja0qy+atMFlxiQ275BzQZXy1ezAyWZgiGvKr1ZuVeewpMG0qy6tyAl5UdrgmOGfnmln+/EuT+QKBUimxQ8aRCspd7HZv0q6v2fbYP30YYC/04YAzVTSoNVVPMR05a+SjqLAd2L6+aIjZPaP9s2CDTbHqiZUpqtIlLNTTfdNJoqc9esjBl2c7g2gGYLgExioGZKaaqKYhfF1clXszIElHVXdmBas/WBTGKgZkoxX0XmC9gg0GwBCKQYqJlSzFeR+QI2SC6a1XckeU5794gFBFIM1Ewp5qvIfAEbJC/NNvg4ShUQSDFQM6WYryLzBWyQ7DTbwROPAgIpBmqmFPNVZL6ADZKdZleE/td4oJ5GbtC9CKQYqJlSzFeR+QI2SF6a5f/a8H/HoJH/1PBBIMVAzZRivorMF7BB8tIs6VT+JYT/61Z+u8D5fYBG/sPUr5xnxhXUTCnjUEXmC9gUnQVDS5odeOMDBT/DUvOgVaprHKgYNp3kJVHGoYqeqaDZrvKSNF0GQ3uadW6Hddybrb/b7BgHh9RkHKoImq2IDc0Ozg/Adj82O56BNA4Oqck4VBE0WxEzmnVekjXo6kmD8QykcXBITcahiqDZiuSr2V5AIDHj4JCajEMVQbMVgWaHAoHEjINDajIOVQTNVgSaHQoEEjMODqnJOFQRNFsRaHYoEEjMODikJuNQRdBsRaDZoUAgMePgkJqMQxVBsxWBZocCgcSMg0NqMg5VBM1WBJodCgQSMw4Oqck4VBE0WxFodigQSMw4OKQm41BF0GxFoNmhQCAx4+CQmoxDFUGzFYFmhwKBxIyDQ2oyDlUEzVYkEc0+kzYdVE5eVKmH8awZYRyq6BlothpdBkOxZhs5RBtAsz7j4JCajEMVQbMVgWZLgWZ9xsEhNRmHKoJmKwLNlgLN+oyDQ2oyDlUEzVYEmi0FmvUZB4fUZByqCJqtCDRbCjTrMw4Oqck4VBE0WxFothRo1mccHFKTcagiaLYi0Gwp0KzPODikJuNQRdBsRaDZUko1O54U1NKY14wwDlVkvoBN0VkwmNQsYFAzpZivIvMFbJD26gqaNQxqphTzVWS+gA0CzTpAs1VAzZRivorMF7BBoFkHaLYKqJlSzFeR+QI2CDTrAM1WATVTivkqMl/ABoFmHaDZKqBmSjFfReYL2CDQrAM0WwXUTCnmq8h8ARsEmnWAZquAminFfBWZL2CDQLMO0GwVUDOlmK8i8wVsEGjWAZqtAmqmFPNVZL6ADQLNOkCzVUDNlGK+iswXsEGgWQdotgqomVLMV5H5AjYINOsAzVYBNVOK+SoyX8AGgWYdoNkqoGZKMV9F5gvYIH1pNmU6qJzcQc2UYr6KzBewQdqrqwLN5gICKQZqphTzVWS+gA0CzRaAQIqBminFfBWZL2CDQLMFIJBioGZKMV9F5gvYINBsAQikGKiZUsxXkfkCNgg0WwACKQZqphTzVWS+gA3SjWabeQIAAACAwkBvFgAAUgaaBQCAVoFmAQCgVaBZAABoFWgWAABaBZoFAIBWgWYBAKBVoFkAAGgVaBYAAFoFmrXAT34y+IM/GCxahIQ0LokC/v77+z7xqgLNWuD3f7//sEdC6ji95S19n3hVgWYt0HvAIyH1kjIBmrVAblEHQC1yC3ho1gK5RR0Atcgt4KFZC+QWdQDUIreAh2YtkFvUAVCL3AIemrVAblEHQC1yC3ho1gK5RR0Atcgt4KFZC+QWdQDUIreAh2YtkFvUAVCL3AIemrVAblEHQC1yC3ho1gK5RR0Atcgt4KFZC+QWdQDUIreAh2YtkFvUAVCL3AIemrVAblEHQC1yC3ho1gK5RR0Atcgt4KFZC+QWdQDUIreAh2YtkFvUAVCL3AIemrVAblEHQC1yC3ho1gK5RR0Atcgt4KFZC+QWdQDUIreAh2YtkFvUAVCL3AIemrVAblEHQC1yC3ho1gK5RR0Atcgt4KFZC+QWdQDUIreAh2YtkFvUAVCL3AIemrVAblEHQC1yC3ho1gK5RR0Atcgt4KFZC+QWdQDUIreAh2YtkEDUnQvxBrBIsK07jbYEAn4ooFkL9Bd1jlHPnud1YB1pa8e9XYQdNAu6p6eo03al825+fv7MmTOn38wpYAunfanFqd3ZuuLb1iMPmgXd00fUsWPp5HoJgPOwbFs3LTQLuqfzqGPHUh+GOjN0cu07chJpzBNFBUUCxQNFReumhWZB93QbdeJYumacm5uDZpH2ndcsxQNFReumhWZB93QYdTJWQP0WOqdee+01aBZp33nNUjxQVFBstDt6AM2C7ulcs/Pz86dOnaJzanJyEppF2ndesxQPFBUUGxQh0KwAzVqgq6iTrixdGM7Ozk5NTR08eBCaRdp3XrMUDxQVFBsUIS12aKFZ0D3davb111/nruyRI0f2798PzSLtO69ZigeKCu7QtjhCC82C7ulWs3Q9ODc3Nz09TV2XiYmJNjS7Y//ktomDfvr75w//8vBc70pB8tNgQbMUDxQVFBsUIS2OG0CzoHs61Czf/Dpx4sTRo0fptNq7d2+zmiWL/uX67/7O7/7eohC/9duL/8ttq3/xmxO88oObH6eZ9Kn38J9u+tK/+/ef3PXSVNtioQM52XvHu979N/9nN6U/umQpfTorUyrYG32JULbpk//8r//tPtltN8XxU7AgxZrleKDYoAjhG2HQ7ACatUG3mj19+vTMzMzk5CRdIe7evbtZzT717G/e/yd/Kob55//ifTfe+tXL/tW/ljkXvWfJlp0Tsj7pSFuIlPsvL10qsmpbs0FzjqZZWv8/fuY/c0FoTV0K/Sd9fuDfLKOVaSaVPbYrWufRbXtoK+c7qKAIvOeNjz9F9cl7HkGzFA8UFRQbFCE8PAvNDqBZG3QVdXL/iwdmKWZ27drVrGbpZCc5iFRZArprxz1GZ33WAk8XiyVZzVIRuBSU/2AZ2yhXca5G0CzFA0UFD8/KXbDmAxGaBd3ToWb5vxLoJDp8+PALL7ywc+fOfjW7T/Vgdc9W74cFRfNpKV/ps17EMLIh7+qmVXfIhjIy4FuuimalI6pXln3KHDo0dWVlk2Ih+5vTBG1ONUOluO+hR6XrKznhCVonWKv0p86zWN2fGasK0SzFA0UFxQZrlu+CNR+I0Czonm41y48Z0Kn0/PPP79ixow3NUlr/15u+8z//9sdP7qKZW3ZO0PS3Nzz8/j/5U1+z7BkSgjiBjep0DnmmeDimWdIIb8gWYqUEx3v9sVneodjJUavIjXelMykDs3pmMMnmuhuvRxX0sInWLFWCZI+mpVxOnoOa1bmKdXEHC5qleKCoYM3KwwbNByI0C7qnD82+8sor7Wk2dtOHnBDULKtD7KRVIIpwDFbQm/V95YwA+3twMsPO10t5Zc6D9AZpQo7LKzuZZO2Lw52lkiudk5hmfYtW1ywP9uqxYv+LYKA0S7EBzWqgWQv0p9mnn366Dc3+zu/+3sV/9H46x7/wF2to5je++z9o+g/f98f/9K3/LKhZZ/RSq6YXzVImde9aVnaGRAgZ7ghmzDmWU8zONKtt74xXOJqleIBmfaBZC5jT7FBjs75mU+jN0qfeKtib5aQHZveFboE5m/femw2mATQbB5q1gHXNfn3dfx9KswVjs9pRrCM9ZtusZvUR/bHZfeeHfDdu/Xt5lEv2rB/o4m8ZZ3NnbFZyoodeaan/KG9Qs3pv8jRysCB6TWi2ItCsBQxpduevXv3Q8o8vivOH7/vjn//j/mLN7os/aSB+kBVIRF/9y2+Mplk/e84NepF88EkD3r8MzOqkr9Odb5bgkwbOODCvcNOqO/gh25hm+ShcNLlkIOdzlzv2pEHwy2UAzcaBZi1gSLOUfrL9H6/4sw//1m8v9iW25L2Xbnj0Z80eDqmRNIBm40CzFrClWaQc0wCajQPNWgCaReo7DaDZONCsBaBZpL7TAJqNA81aAJpF6jsNoNk40KwFoFmkvtMAmo0DzVoAmkXqOw2g2TjQrAX61mzbxwVZAM3GgGYtAM2CBIBmY0CzFoBmQQJAszGgWQtAsyABoNkY0KwFoFmQANBsDGjWArY0e/LkyaMeNLPZo4DGgWZjQLMWMKTZ6enpK6+88tJLL718gSVLlly0wAUXXPC9732vlXMWNAQ0GwOatYAhzVLH9dprr6VPmj5z5sxPf/rTTZs2Pfjgg9/61rduvfXWBx54wDltJyYmLrzwQv0rXqtWrWowPwXQgZwfEKOcTCxAXxD06axcnDFdcIKKLLul+b105oMFKQCajQHNWsCoZp977rl77rnnwIEDDy4wOztLpqU+7blz52R9RwW04RVXXNGNaWPmHE2ztP7KlStZp7QmlUKUq/+kz+XLl9PKNJPqJLYrWufZZ5+lrZ588smKRfC3gmabApq1gFHNvvrqqxs3bty+fTv55Ctf+crWrVs3b978kY98hMQr6/sqGFYOI9OsZvmrhCZIcdwrlkX83VEszNEozhU02xTQrAXsapbUSlI9dOjQN7/5zdWrV99+++1XXnllsVQdKcmlve62yTgDr6Z7hjRHLtJlW8d7sudSzUpHVK/sZ4kOR11Z2aRYyP7mNEGbUyYp548//rh0fSUnPEHr6A1lXIL+pFLHtuJcca3qSvOBZmNAsxYwqlkZNJClWkeMr1lah/bA2qRPdiZbgv7kpXJRTJfJtMhRq/Qq9Uxfff7YLK8jWXLUKnLj3ep8Sqn1zCB+iQZvHlWICZMkLNmjafl+4ZnFmtW5KujiQrMxoFkLGNXsz3/+8w984ANbtmyRpUNp1lEWC2pqauraBfRNJRnwlAmdJd5PULMFvVlCL+WVteQHyuQ0wSs7eab52uHBEtFMnZOK/dKhNCvfR1KW4BcBNBsDmrWAUc2uXbuW9PLxj398ZmaGl1bRrGjEGT1wupHOTXxWh74PJWML9Ok4kynQLG+iM8Yr60tvhuUmA7Ox3erN/RK1rVlt+4LHOaDZGNCsBSxq9vjx41dddRWd0W9/+9v37NnDS6toVm4hxfp++lhy3c0dy/Xr1wd1V6A+vwiSJX3EYG82WCj/Fpizee+92RjQbAxo1gIWNUun9uc+97lDhw6tWbPm+9//Pi8t1azzQJc/kqklo6Un/Ux974y31QObmlLNaiv6Y7NyiN27d0sXWvasH+jie1XO5s7YrORED73SUv9R3qBmi7dyhpHluA7QbAxo1gIWNTs7O/vFL35x8eLFH/rQhyQ4g5p1/j3BMYB/X15v4gyfarnJatzL9f9HwL8FxpbWTpOuqdM31iMGMjCr0dfpTufWL5EjfFlh7dq1PNQc0ywfRbrEpVsVjBgMoNk40KwFLGo2uNTXbIOQn2MCAVWAZmNAsxYwpFkS6a233np5nBUrVkxOTjZ4RDmuP2oKhgKajQHNWsCQZnshNvoKhgKajQHNWgCaBQkAzcaAZi0AzYIEgGZjQLMWgGZBAkCzMaBZC0CzIAGg2RjQrAWgWZAA0GwMaNYC0CxIAGg2BjRrAWgWJAA0GwOatQA0CxIAmo0BzVoAmgUJAM3GgGYtAM2CBIBmY0CzFrCuWTro8ePHWzlhQXNAszGgWQtY1+zDDz+8aNGiu+66S786nPF/CNH/5UCm+DVbsaWxH5XVr2AIHm40Ct60lT7QbAxo1gKmNXv27NlbbrlFv1AmSKmgGtSs89PWrPqC9yRWB5qtBDQLuse0Zn/2s5+97W1vI82uWbPG780KLWk2iO9e/ZKXOkCzlYBmQffY1ey+ffsuvvhivja//vrr77zzzsceeyzYp3UE5b8iwX/TirzvQJauXbuW5xe8Otx576Ezk/ezcuVKPrp2r7yeQF4BIy/Ykl+71aWIveUhWaDZGNCsBQxploRz7733rl69mj6feOKJSy65xH8RzD333ONvqAWlf6Pbf6GV9q2zVL+rkc3mazbY4XR2znbV+5F3hQ9Cr18U5Tr5cYrQYD23ATQbA5q1gCHNSj+TPvkF4j4PPfSQv2HMRf6Lbp33tPKrw7USB2oQYDTNFrwNXB9IXosjE8GdB991myDQbAxo1gLjpNnFixdv377d39ARlFyh86tttGb12wzlktzRo6h4tEEDX7MyAkCflB+ZKUfxO65+ERqs5zaAZmNAsxYYJ81ecsklhw4d8jd0RjX96VhvlnH0WNCbHRTeAotp1nmzrR4u3rRpk7xlUnIbK07KQLMxoFkL2NLspz71qYcffvjDH/5wULNXX301Hd3f0L95xP1DEpozaODfCysYUx32ga4CzfLYrPPeMVpT33HTmvWL0GA9twE0GwOatYAhzU5PT3/wgx8k89DnunXrfM2Se4MbxgYNqK/oX87rJw10x7LKkwZM7N8TSgcNaOn69eu1V/Uzt8FBAylCY7XcDtBsDGjWAoY060AH+vGPf3zNNddcdNFFixcvXrZs2XPPPdfe4bqHhL98+fL0e6pVgGZjQLMWsKtZ8+gHvXIHmo0BzVoAms2TXAZdKwLNxoBmLQDNggSAZmNAsxaAZkECQLMxoFkLQLMgAaDZGNCsBaBZkADQbAxo1gLQLEgAaDYGNGsBaBYkADQbA5q1ADQLEgCajQHNWgCaBQkAzcaAZi0AzYIEgGZjQLMWgGZBAkCzMaBZC5jT7IkTJ456HD9+/Ny5c5yBxo8I6gPNxoBmLWBIsyTSDRs2XHzxxZd73Hzzza+++urnP/95mta/06VfTSgEfyug+Pexq79DXP+OItP2z7/Efo8xKaDZGNCsBQxpdnp6+tOf/vTk5KS/aHZ29v7779+6dStJ+KMf/ejMzIyzQulbBprVrPwALG+oTcvvFyOa0i80+yagWdA9hjRLBpM3tmjIsbfddht1aK+77ronnnhi+/bt1O911mlJs8FMOr+zHXxBWINAs28CmgXdY12z7NjVq1e/bYEtW7YEt3UsqgcT/PfG6gt/1mP1Fyj4Ui1+s60/yMDbxvKwcuVKzjm/NMfJA7/XpoORimGBZmNAsxYwrVly7Je//OWvfe1r7NjHH3/c78cy2qLsK+d1sf7rFwfeOxn1i8NirwML9l15tdIXiMtIQkEeCl5JJu92DO68X6DZGNCsBexqlhz7hS98YenSpdR5K3bsID4mQGpieWrf6pfb8lCq1tqg8OW2I2tWS7IgDwUvxuXVpLz+K3p7BJqNAc1awK5myUuPPPLI1NTUJz7xCXLsjh07gm8PZ2JvXeQHFbRmabfOkwm+IUVi9QcNgtmrkgdHs/o9jwUPVPQFNBsDmrWAac2+853v/MxnPrN161bqx65du7biHa7gdKw3yziKG6o3K+/7jnkyuElpHop7s6kBzcaAZi1gSLPHjx+/7rrrDhw4wH+eOXNG/jHh2LFjN954oyzycdTK3huoV24Fx2ZZgNIRLRgXFYof6KKVeZpX8/uoeqtgHgo0q4cdaDWZTgFoNgY0awFDmiW2b9/+3ve+d5HHO97xjo0bN1Yfm5VBg02bNrEVY08asMGGfdLAud7X2ZDnBGhvtMgfH9B29fNQoNmBetIgqRGDATQbB5q1gC3NgkyBZmNAsxaAZkECQLMxoFkLQLMgAaDZGNCsBaBZkADQbAxo1gLQLEgAaDYGNGsBaBYkADQbA5q1ADQLEgCajQHNWgCaBQkAzcaAZi0AzYIEgGZjQLMWgGZBAkCzMaBZC0CzIAGg2RjQrAWgWZAA0GwMaNYC0CxIAGg2BjRrAVua5R8/LIbWafagoD7QbAxo1gKGNDs7O3vNNdf4v4LoQOvQmryJfrVi8WsFWnqB+OD8jxO292bbLIBmY0CzFjCkWf+nXIMEf866pReIl2pW3jU2dGlDpPYixepAszGgWQsY1Sy560c/+tGyZctomj5pWnqtXWo2lkl5ba68pqERoNlyoFnQPUY1u2HDBppz+PDhW265hT5pmuZU16weTGBxxd6ewJIc9u0JtJW8XEYv1e9K4EX8Zhnasz5cMIfyZoQcTQvNxoBmLWBUs6Sgbdu2ySKart6bZWdKh9N55aLuuDoz+fK/yrvAHnvsMf3CcVm0fPlyzoO8t4vFKy/z0odwchg8XC5AszGgWQsY1SzxsY99jHVKnzQ92tismC32Zlt+XaxW66DCm20XLbyavGDEQF6JqAdvg0MTegVothxoFnSPUc0uW7aMxwr48S2a5nHaipqVVy5evoDWrP8ORP/9s6LimGZ5VIHW1/e/eCe8z6uvvlo0qzMsLwH3cziAZqsAzYLuMarZ73znO3TEbdu2LV26lD5pmuZU1GxwOtabZRzNlvZmpRMrbwwfvPkF33rQwO/NxnILzZYDzYLu6U+zO3bsaE+zixcv/uxnP8vjsfRJ0zSnumblcp6s5QwaaKPKbSyeyXuuMjYrmuU/g0OvemxWbodJZvwcBg+XCxQJFA/QrA80a4E+NEuX8G1rtoChBg02bdrEVow9acBaG+FJA5kjN7lk0IC0SceVMQoeZODD6W6wk0PZlRw9I0SzFBvQrAaatUC3mj19+jRr9oUXXti5c2ezmqX9r1mz5oILLihwLC2ldWjNBo/bKs7YrFUoEigeKCpYsxQn0CwDzVqgQ82ePXuWNXvkyBGKmV27duGnY0oZH81SPFBUUGywZilaoNkBNGuDrqLu3LlzrNmZmZnJycn9+/fv3r0bmi1lfDRL8UBRQbFBEcKapZhp/kjQLOiebjV75syZEydOkDTotNq7dy80CxiJB4oNihCKE2iWgWYt0KFm6Rpwfn5+bm5uenr64MGDExMT0CxgKBIoHigqKDYoQihOKFqg2QE0a4NuNSsPGxw5coSuEKFZwFAkUDzwwKw8ZgDNDqBZG3SrWR6enZ2dnZqaoq4LNAsYigSKB4oKig25/wXNDqBZG3QYdTJuwB3aycnJlwA4D8UDd2VbHDEYQLOgDzrXLN8Im5ubY9NSH4auFicmJvbu3btnz55du3bt3Llzh+JpkD+6Qal9qZWpranFqd2p9SkG2LEUFXzzC5oVoFkLdBt1MkJLF4ZsWrpOPHLkCA8g0BlHsfTCCy88D+xC7UutzCPz1O7U+hQD7Fj5r4S2HDuAZkEfdB51Ylrqt9AV4uzsLJ1i09PTR48epS4NnXSHF3gFWIQbl1qZ2ppanNqdWp9igCKB4qF1xw6gWdAHfUSdjB7Mz89TB4ZOMerJ0Lk2s8BrwDrc0NTi1O7U+hQDFAntjhUI0Czonp6ijk3LsqU+DJ1l1Jk5/WZOAVs47UstTu1Orc+C7cKxA2gW9EF/UXfuPOJb5nVgHWlrsSvTRdhBs6B7Eoi6cyHeABYJtnWn0ZZAwA8FNGuB3KIOgFrkFvDQrAVyizoAapFbwEOzFsgt6gCoRW4BD81aILeoA6AWuQU8NGuB3KIOgFrkFvDQrAVyizoAapFbwEOzFsgt6gCoRW4BD81aILeoA6AWuQU8NGuB3KIOgFrkFvDQrAVyizoAapFbwEOzFsgt6gCoRW4BD81aILeoA6AWuQU8NGuB3KIOgFrkFvDQrAVyizoAapFbwEOzFsgt6gCoRW4BD81aILeoA6AWuQU8NGuB3KIOgFrkFvDQrAVyizoAapFbwEOzFsgt6gCoRW4BD81aILeoA6AWuQU8NGuB3KIOgFrkFvDQrAVyizoAapFbwEOzFsgt6gCoRW4BD81aILeoA6AWuQU8NGuB3KIOgFrkFvDQrAVyizoAapFbwEOzFsgt6gCoRW4BD81aILeoA6AWuQU8NGuB3KIOgFrkFvDQrAVyizoAapFbwEOzFsgt6gCoRW4BD81aILeoA6AWuQU8NGuB3KIOgFrkFvDQrAVyizoAapFbwEOzFsgt6gCoRW4BD81aILeoA6AWuQU8NGuB3KIOgFrkFvDQrAVyizoAapFbwEOzFsgt6gCoRW4BD81aILeoA6AWuQU8NGuB3KIOgFrkFvDQrAVyizoAapFbwEOzFsgt6gCoRW4BD81aILeoA6AWuQU8NGuB3KIOgFrkFvDQrAUk6pCQxiplAjRrgbe8pf+AR0LqPmUCNGuBr3+9/4BHQuo4/fmf933iVQWaBQCAVoFmAQCgVaBZAABoFWgWAABaBZoFAIBWgWYBAKBVoFkAAGgVaBYAAFoFmgUAgFaBZgEAoFWgWQAAaBVoFgAAWgWaBQCAVoFmAQCgVaBZAABoFWgWAABaBZoFAIBWgWYBAKBV/h8yNJcFDQplbmRzdHJlYW0NCmVuZG9iag0KNDUgMCBvYmoNCjw8L1R5cGUvUGFnZS9QYXJlbnQgMiAwIFIvUmVzb3VyY2VzPDwvRm9udDw8L0YzIDE0IDAgUi9GNCAxOSAwIFIvRjUgMjEgMCBSL0Y2IDI3IDAgUi9GMSA1IDAgUi9GNyAyOSAwIFI+Pi9FeHRHU3RhdGU8PC9HUzcgNyAwIFIvR1M4IDggMCBSPj4vWE9iamVjdDw8L0ltYWdlNDcgNDcgMCBSL0ltYWdlNDggNDggMCBSL0ltYWdlNDkgNDkgMCBSPj4vUHJvY1NldFsvUERGL1RleHQvSW1hZ2VCL0ltYWdlQy9JbWFnZUldID4+L01lZGlhQm94WyAwIDAgNTk1LjMyIDg0MS45Ml0gL0NvbnRlbnRzIDQ2IDAgUi9Hcm91cDw8L1R5cGUvR3JvdXAvUy9UcmFuc3BhcmVuY3kvQ1MvRGV2aWNlUkdCPj4vVGFicy9TL1N0cnVjdFBhcmVudHMgNT4+DQplbmRvYmoNCjQ2IDAgb2JqDQo8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDE0MzE+Pg0Kc3RyZWFtDQp4nL1Z224bNxB9F6B/4KNUQDRvwwsgLCCt5CBFA6SNgT4UfXBb1QhiO62Tl/59OSR3yb21rqStAUFa3s5wZnbOIU1uPvxx/0y225t39dsDYTff3T8/kNXXl83dD+uqIvtDTf5cLhhl+Get4YQRcEClIFZx6gR5OS0XP35DnpeL/d1ycXMrCRfk7vflAocywom11ApFDDhy9+RHvPlgyMMXvyh5CE82Pb1ZLn7aMmZs9TO5+3a5OPrlvl8u/iO86sM7RaXK8AE1gq3I+hIk6CNxpv1Ox5D8trRlXN8yzgTjTvnfOj8bXW2kH8Nk+Ob86Ptqxm3d9mts3lUbtW2bVJ4h4egdF7sZryvrvxTERaUJw7DJ7HzznjHYoT1hAaXCJAm3cTHw6zsWTeAQv9E8lcwCjw2HyhXWwiHuxHe3S9QGnyvOt3m6H9fOwX5ziDvcA1rCDcRulbpxl9ZVG7EtnYXInN22K4ZmA9lnbleZbWtMWIxl22RyX8DX7eLYN0sqKEmFHmbDWIRj5HOIe86oONqKDlHbQfYUqdB3bQgHOkjfRt9FF/reFsA7nlv0dh0dst9VUMTNxcd9Mi2FGrubXMV46E48AkYOSUiGzgZ9DnEW7ZBw2Ruv+86XIKkyE87vv/Tk+K4mpFsG+RXK4MAq5YQvRAS0osycY5WYwyrJgWpDADi67Ayr5JxWSf8lz7FKXcEqPkFkwB01QzKxF5HJAMzTllOTYJuLwMwAzFKYBruMJgc7S7VxAuzw+ct6I1Z/rdXq3n/IeiNXx0+P6w2sTmu5evKf05XtMZrKV+59LNdgRtEETFIJI3JiJpU0jjeTUJrcnNcogUeQvpCQUC95FgoEgm0qEEfgmOZxggxdIZkSASIrIY3qjoSJbNSXMQ2hIUO2vw9B1mSxliCQc5HtkCdF4lxPtjYzqQSY0ngdpZTNysRsCgb2w2DIy6ja9rskBwsgK8JkxMH1IWP7IQ1GO6TRfrrQgyigkOLFNnA1CpHBNgpVENoLSTaXuFLWjLBDihruo0mZUq3ssnKMUjaYZ/qpUleqaIIkp/zspIPRwxPZERaE6dwrxVKMZOvMMpR+th7GPD12dD8cY8IhDoiQyDk8LGw7WdY+1rhYR/NPKW789m3Qw+Q2vkDhNHGMJwum0I/NsJA2Ej/HcCTxo6XHDV3CH0kgmBKPIoewfnNg0Qqb2okx7W7nSyPDRwr/q45BWUKXY8tCUWj2smBAqhc4LXm+90ZVvIlbgE6FsKxNE4dEDFhjaVoWRupk9wg6cqqKBbF7sooyXvXeoytI+AEnS+uoP0aPx+Y1pKznEIBNxgBQ968kOWaVmcMqkAzPOVIqqs7ylZ3RV1IIyvg5VrkZZZVkQNX/KKvG8WaSVZObYyoWqMuunpqKUuqe6ToWS0nLwtCWkKuXc+GPsFJO7j6qAlXW1FCibU9vBXlY56qfpEAzq5Gi0Ba/UDu7Nx5RWB0yHaSrpo4uG15D9ah7/IoI+0thUNdVwwbN/U1WFm2QCuL4J80wRzoKX8rNmEy7WJs0m8NnJOR0kRePDKNqLkctzo6eK3PAeyc8onoxkdyDRvHvTlAzPrJBlISb1VbdoL1VeaA4+wq1m4/TArPZJLQCM75ZIhI59MVC1hzDM0qjji/NgME1TpMBRlI7ZKbTp8fTMx7vT7+sN3r18fFp7Xzj1xO2/bbeqNXHNWerF3rl476zVPEpo15zO3iN/5JM+gosZWdpC36NW8uBtxQKMUscD7z5OrPeZ5tENmNT2gFaIHwyxudh1xhpJRXJBKOo8bWFWbwrSLenv+L/kd4+3T+clCGHz2QUW467QEpJlW2hufe3LaCV4CjuAjTX1LkGGvWVFiW0nYRW49BW0Azsn4sNK02ZiKja+9ovISk36HfnBxagrgT9G3A2kjgNCmVuZHN0cmVhbQ0KZW5kb2JqDQo0NyAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggMTM2NC9IZWlnaHQgNjIyL0NvbG9yU3BhY2UvRGV2aWNlUkdCL0JpdHNQZXJDb21wb25lbnQgOC9JbnRlcnBvbGF0ZSBmYWxzZS9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDk5OTY+Pg0Kc3RyZWFtDQp4nOzde4wdV30HcKOqUiv+qNoqBbVBqtQiglBEVRpAKm3VIDUpbYlaUKQUVFoQDRAeSRvzbLASJ5RHmgYMJaYQSGo7TcmbRLS2m8AGp4Bjp3k4dh621ziOY6/ttXft8ErinmbKdDJz9+56vbv3nt/5fPTVau/duY+zPnfG3ztzZ086CQAAAIjs0KFDu3bt2rZt21YAAAAgkFT2U+VPxT99Mzk5eQQAAAAIJ1V+xR8AAABiU/wBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyMW6LbuXrdl8ztXrz7h8JCV9ky6mK+fjsQ5MHF65ZXzxt8feu27ssv/e/9DY5Hw8CgAAAFDZvvvAstWbz79mw6p1j27ctmdsfCIlfZMupivTj9ICc/JATxwc+9C65S9d+Rc/s/z0533+T553xXt+++bb/vIbe39x5WMf/s6+w4cPT3XDM6/a8urP3Ldj76HmlV9/YO8JS+7+7MjOOXlu/d29ff+rPn1f+roAjwUAAABzK/X6pTfft+qurfvGJ7o/TVemH6UFjr/+P7x3x4tXvOnV11/0s1+587pHnhjdt+tf1t940tV/fvbtl27fP/nKW3b/3Xf3TXXb1PpT9z/3xq31NWMHJ8+8akvzmnml+wMAAJCvZas3p3bff5m0QFrsOB/oNde/+8Jvf/lP1+z52C337XnL2Y+94Nce+7kTR5//glte/KIHrli2bf/kL6x8bPv+KQ/+r/byp6/Vxc+O7OweCTB/dH8AAAAytW7L7vOv2VDt8f+n/9y56XvjzZ+mi+nKI8/u/U+LHc9n/785uvHFK940PjH5W5esfeiFL9m35JLJrdvS9YfHxx+9dtWaX/2VsXed98a1e/5503ifOzn3xq1V308d/CUfv6d+H6A6BuCEJXen1G8IpK+nf2HTJ9buqK68Z/RA+lrfpDqQoLqY7vZt//pwfQ+fHdlZ3X/6Pn2t+n6z+zcfrvmI6Yb1/SzMJxEAAABgWsvWbF617tHq+/tGxy+4Ydvmnf/XvtM36WK6srqYFksLz/qBPrl+5Ttuv3T0iQN3nvgb4yuvbf7o8JHDL1j2B4+c/IpzP/iVj66f8rD/Iz8p7KlWp7ZeH+3f+jhA/f5AdX1q4qmqH3lu2T/S6f71EQXV0QX1rdKPqu+b3X+qR09PrHlkAgAAAAyDc65ev3Hbnvripu+Nf+T6rY88Pp6SvmkeBpAWSwvP+oEuuOuLH1q3/OC119/2m3/Y/ekvf+UND6666u1v+vuPbZzmoPqqmzeP9k/XNC/Wpb5+o6B1ffdiXfC7i6Wbd7t/S/1WwAJ/DAEAAABm4ozLR8aee4q/R3aNL7720ZT0TfP6tFhaeNYPtGzjdW/+j6Vj77/gPWcu+a/HntOO9x8af/4XTj+w94mTL1r79e3TFOfqePvmEfV1Pa+vSU08Xdmn7B/pdP/WfvyZdP9qL3+Vuvu3ngkAAAAM3IJ1/wef2HrClWc88tfvuPidl/7ebbsPTv7/n/P7wr03n3rjuVc8cOCki++YGD/Y/36m7f71AvPX/avPCNS7+Jv7/XV/AAAAhs2CHfOfvPOOf3jtea/a/rcfOGPNntfc+sTa0YMTh4/cueOen//SW069dd0Ll2++4xWnT3sn3e7f/5j/qbp/82yBx9T9Wws0/9Sg7g8AAMAQWrBz/SWHJifesvqSF33udeff+flTbvjq8750109f9b2f+vLoL12z663f3Hv/4ov2/tU7p72Tbvfvf66/VklvnsSvPi/fLLp//QSq+9H9AQAAGFoL9jf+ardf+P7z/uzks677wFvXfvzyDdfv2P+/J/Y/sPLaXSeeNLnl4Wlv3u3+R6b+G3/NFl9fUy121Xcen/Ux//VfAKxaf32KP90fAACA4bRs9eZVd23tv0xaIC02N4936NDes9+bmv7YOX+z/xP/OHbBxbt//3WPv+QVh+769tzcPwAAAPBc23cfWHrzfand73vuSf8q6cr0o7RAWmwOH3Tinnv3f/LysfM+uO/DFx786o1HDk5zij8AAADgeKRev2z15vOv2bBq3aMbt+0ZG59ISd+ki+nK9KO5Lf4AAADAQKzbsnvZms3nXL3+jMtHUtI36eKcfMYfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABm5iYmJ0dHQrAAAAEE6q/FXxf+aZZ44CAAAAEVV7/Af9LAAAAID5Uh0AUF98302jJy7deMKSu2MkjSWNaIC/XgAAABi4ZvdPNflln7r3lMvvf/VnHoiRNJY0IvU/F/dAGQb9UhukQf/uAZi9QW9DgOPS7P4nLt0YqfjX9T+Na7C/ZGbINoUSFD7PCx8+QL6swCF3ze5/wpK7B17V5yNpXIP9Jedi3759p5122tlnn/3kk0+mi+lr+n7RokUXXXTRwjwB2xRKMOt5Xr8k6xfpDKWX8Mtf/vItW7Y0r1yxYkW6q29961uzezKz5mUOkCkrcMid7k+t1f1TX1jI4n/UNoUyzHqep/KeKnx6VXaLfH+6PwDHzwoccqf7U2t2/6oXHOvuxeNkm0IJZj3Pq1dl9aZc+n7mN9T9ATh+VuCQO92fWt39ly9f3rP4V2WhUleGqlZUN2keJ9CsG82W0adx2KZQgtnN8+qA//QKfeihh5rH51S6r83mC61+MVZHDjTf36sWSF/rm1cv4XptsHjx4ur69BqvPnHQfP02H7d6O6J+nuke5nD4AAycFTjkTvenVv1vv/6ffGtHYbcpVP/Vb+6FbPZ93R96mt08r2p7Vcxb+/F71vzulen7055VtfJ6geqeq5dwfWW1Nqjuql4z1NdXd1KtB1qPq/sDRGUFDrnT/anV/8NPX2+66abmrv/q//M9L07V8ae6vg/bFEowu3k+1ZtvU3Xt1oux+4Ze61XZ3PXf6vjNh+g+XL3rf4ZnIfAyB8iUFTjkTven1v3ffl0Nev4JgGpJ3R+OySzmeatxNw/db702az27f/NEAa39/q2jBZp3O1X3r94u6K4H5nz4AAwDK3DIne5PrVUimv+xt98f5sos5nl9hv+m/sfYd7v/6tWrm0vWC/T8SM5Muv9Un/GZ8+EDMAyswCF3uj+1njv36x2FfT7v3/9z/a1DCHzen8LNYp5Xr5rmuf2b17Red1N93r8+11910oBW909fu5/rn7b7d48c8Hl/gKiswCF3uj+17sHD1X/pWzsKWyf6nqr7N88ecNlll+n+UDnWeV616dZe9eZh/0dnfJ7/o71OBli/O5csXry4Ou/fTLp/8+yg9fsAuj9AVFbgkDvdn+Fhm0IJ5mOet47SGWZe5gCZsgKH3On+DA/bFEowf/M8Ff/uSf+GjZc5QKaswCF3uj/DwzaFEszHPK+P+Z/2jJoD52UOkCkrcMid7s/wsE2hBIXP88KHD5AvK3DIne7P8LBNoQSFz/PChw+QLytwyJ3uz/CwTaEEhc/zwocPkC8rcMid7s/wsE2hBIXP88KHD5AvK3DIne7P8LBNoQSFz/PChw+QLytwyJ3uz/CwTaEEhc/zwocPkC8rcMid7s/wsE2hBIXP88KHD5AvK3DIne7P8LBNoQSFz/PChw+QLytwyJ3uz/CwTaEEhc/zwocPkC8rcMid7s/wsE2hBIXP88KHD5AvK3DIne7P8LBNoQSFz/PChw+QLytwyJ3uz/CwTaEEhc/zwocPkC8rcMid7s/wsE2hBIXP88KHD5AvK3DI3aC6/6lXPHj+13a8/sqHdH9qtimUoPB5XvjwAfJlBQ65G0j3f9f127fv/0F6xEPff+oTtz+u+1OxTaEEhc/zwocPkC8rcMjdwnf/uvhXDn7/qYvX7tL9OWqbQhkKn+eFDx8gX1bgkLsF7v6t4l+5ZdMB3Z+jtimUofB5XvjwAfJlBQ65W8ju37P4H/nh05d+Y34P+9f9c2GbQgkKn+eFDx8gX1bgkLsF6/49i/8Pfvz0ld/dO6/FX/fPiG0KJSh8nhc+fIB8WYFD7ham+w+w+Ov+GbFNoQSFz/PChw+QLytwyN0CdP/BFn/dPyO2KZSg8Hle+PAB8mUFDrmb7+7fs/j/+OlnvrbpwIWrH+uZj/77zrNWPKL7F8g2hRIUPs8LHz5AvqzAIXfz2v17Fv+ZeHjs+2de/bDuXxrbFEpQ+DwvfPgA+bICh9zNX/c/9YoHH9zz5Oye1d7JH737hu26f2lsUyhB4fO88OED5MsKHHI3f93/Hddt2zP5o9k9K92/TLYplKDweV748AHyZQUOuZvXY/5ve3D8qaefmcWz0v3LZJtCCQqf54UPHyBfVuCQu/k+11/P+p8uP/mjp4/8sHcmfvDUjfcfmMPnoPvnwjaFEhQ+zwsfPkC+rMAhdwvwN/669T9dWL/z8OuvfGg+Hk73z5dtCiUofJ4XPnyAfFmBQ+4WoPsPvP7r/rmwTaEEhc/zwocPkC8rcMjdwnT/wdZ/3T8XtimUoPB5XvjwAfJlBQ65W7DuP8D6r/vnwjaFEhQ+zwsfPkC+rMAhdwvZ/XvW/3Tpq/fu1/05aptCGQqf54UPHyBfVuCQuwXu/t36r/tTs02hBIXP88KHD5AvK3DI3cJ3/2b9d8w/TbYplKDweV748AHyZQUOuRtI909ZsWFs16Ef3vHoIef6o2abQgkKn+eFDx8gX1bgkLtBdf+FjO6fC9sUSlD4PC98+AD5sgKH3On+DA/bFEpQ+DwvfPgA+bICh9zp/gwP2xRKUPg8L3z4APmyAofc6f4MD9sUSlD4PC98+AD5sgKH3On+DA/bFEpQ+DwvfPgA+bICh9zp/gwP2xRKUPg8L3z4APmyAofc6f4MD9sUSlD4PC98+AD5sgKH3On+DA/bFEpQ+DwvfPgA+bICh9zp/gwP2xRKUPg8L3z4APmyAofc6f4MD9sUSlD4PC98+AD5sgKH3On+DA/bFEpQ+DwvfPgA+bICh9zp/gwP2xRKUPg8L3z4APmyAofc6f4MD9sUSlD4PC98+AD5sgKH3On+DA/bFEpQ+DwvfPgA+bICh9zp/gwP2xRKUPg8L3z4APmyAofc6f4MD9sUSlD4PC98+AD5sgKH3On+DA/bFEpQ+DwvfPgA+bICh9zp/gwP2xRKUPg8L3z4APmyAofc6f4MD9sUSlD4PC98+AD5sgKH3On+DA/bFEpQ+DwvfPgA+bICh9zp/gwP2xRKUPg8L3z4APmyAofc6f4MD9sUSlD4PC98+AD5sgKH3On+DA/bFEpQ+DwvfPgA+bICh9w1u/+JSzeecvn9A6/qc5s0ojSuwf6SmSHbFEpQ+DwvfPgA+bICh9w1u//7bhp92afujVT/01jSiNK4BvtLZoZsUyhB4fO88OED5MsKHHLX7P5Hn63/Jy7deMKSu2MkjUXxz8g9UIZBv9QGadC/ewBmb9DbEOC4tLo/AAAAEIzuDwAAALHp/gAAABCb7g8AAACx6f4AAAAQm+4PAAAAsen+AAAAEJvuDwAAALHp/gAAABCb7g8AAACx6f4AAAAQm+4PAAAAsfXs/hMTE6Ojo1sBAACADKVSn6p9/+6flrl/95MjWydEREREREREJLukUp+qff/un64Z+PMUERERERERkVmnWfZ1fxEREREREZF40f1FREREREREYkf3FxEREREREYkd3V9EREREREQkdnR/ERERERERkdjR/UVERERERERiZxbd/9YNo6/83de+/qy3rtm0p7rmgsu+uGjRos/92+qBD6d/0jNc9Kxjfaq5DFDmJNUMT//iv/7Sk1es2VBfX02DJP00LTOTW6Vv0sXqVunm3ceq52TytvM+Ul+fvm/dqnlXzVdffX3PZ9W8w+YCzcftObfT/adHqRdoPmL33rqP1R1y/dtrDlNERERERBYmRXX/upIca/vIZYBy/Kk6bzW9mw03/etXpb7q2q0p1PNW1ZXV9z2nUPOlVH1f3W1auHqsqqGnr827aj5Wfavmla0R1W9KNNt6/RBT/R6az2fae2um++RHfvJWQ/pa/fZ6vg0iIiIiIiLzl3K6f/W0X/vHb0zpv4dUSk6znLaqd89m3edWzQWqK/t03rrd33DXlm61by2crun26551vnpiKaf8zqn1tG++kzDV8+n5hHveW3cU3Sffej+kz29SRERERETmI3Pe/ZuHCtdNpFqg2u2evlYXz7/k0/Wxyh9bfk330OJ6N32z0VStJ9223oPfKjI9d8uONLpM652KmTyZ+ibNNxD67zaVTNNs03Wjn6qD979Vc4Fp97NXt0qPcs3t99SP1bMpV0+murfm3fZ8zyH96Ky3vy/dpPkaqffdt47Mb7406kP0m7v4e95b8wXY/EXVT/7WDTuao+j/eQEREREREZmPzLr7L+qoKkP9H/vmWwR196/uoXmx+r65WNVE6j2bI8+tJNUbAq1lWns/ex6EUC/cenNgJk+m1f21/sBpzp96qlTfpNpbvUHU3W3d81b1T5uTuWfqd8zqx2rW51ZTrl4C9ecLWt2/56EFfd4f6/b9+oVW3XP3vb7WvTUv9nzy1bsZze7vFSQiIiIissCZj2P+m7v+mz26tau9eYB06/vWbtbWwcPd9wRan3ru7lVsPufWMtM+me4DOWI5cPp0/2697X+r5gJTHY4y0ni9dN+b6s7n+mCYVkMfOZbuP8MnVqfV1md4b7q/iIiIiMjwZM67f31gf3e/f6v7N08C1qrbrT7SvKs+xwOkZaoTsvU54L+6WD3J7r5O3V+mPea/Z/Od9pj/Pn25dVb8nofNNz970jqEpv8x/9M++rQfZxjpfGBhhvfmmH8RERERkeHJ3Hb/7nnLZ9f9j3W/f33bU//oDVMd8N/9kEL3mGfdX6Y911/P5jvtuf6mOsddXefr9wqmOl1e/Vf5mj192nP9Ne9zAfb7O9efiIiIiMhwZj66f/OPms2u+4/0/bx/z+v7/Omx5rPqXqP7SzNT/Y2/uln3/LB8z1s1Z0uf6bSo80cnp/obf91TDczkb/yNdNp668l0X1BTnb6v5711P0Tjb/yJiIiIiAxb5vyY/3rvZLVMzz9uPpO6PdL3PP/d7j/S+LhB6wlXd9u6vj7sX/eXVupK3tqN3vOQ++67T81bVVW3tWe/vlX9YqnVDbr1QYDm/bReFPWP+hxI391T3zyNf88XZvOUnq0J37/7d5/8VL89ERERERFZsMyi+w9tmp/iFxEREREREZEqYbp/98B+ERERERERERmJ0v3rY6ft9BcRERERERFpJUb3FxEREREREZGpovuLiIiIiIiIxI7uLyIiIiIiIhI7ur+IiIiIiIhI7Oj+IiIiIiIiIrGj+4uIiIiIiIjEzky6/1EAAAAgW7o/AAAAxKb7AwAAQGy6PwAAAMSm+wMAAEBsuj8AAADEpvsDAABAbLo/AAAAxKb7AwAAQGy6PwAAAMSm+wMAAEBsuj8AAADEpvsDAABAbLo/AAAAxKb7AwAAQGy6PwAAAMSm+wMAAEBsuj8AAADEpvsDAABAbLo/AAAAxKb7AwAAQGy6PwAAAMSm+wMAAEBsuj8AAADEpvsDAABAbLo/AAAAxKb7AwAAQGy6PwAAAMSm+wMAAEBsuj8AAADEpvsDAABAbLo/AAAAxKb7AwAAQGy6PwAAAMSm+wMAAEBsuj8AAADEpvsDAABAbLo/AAAAxKb7AwAAQGy6PwAAAMSm+wMAAEBsuj8AAADEpvsDAABAbLo/AAAAxKb7AwAAQGy6PwAAAMSm+wMAAEBsuj8AAADEpvsDAABAbLo/AAAAxKb7AwAAQGy6PwAAAMSm+wMAAEBsuj8AAADEpvsDAABAbLo/AAAAxKb7AwAAQGy6PwAAAMSm+wMAAEBsuj8AAADEpvsDAABAbLo/AAAAxKb7AwAAQGy6PwAAAMSm+wMAAEBsuj8AAADEpvsDAABAbLo/AAAAxKb7AwAAQGy6PwAAAMSm+wMAAEBsuj8AAADEpvsDAABAbLo/AAAAxKb7AwAAQGy6PwAAAMSm+wMAAEBsuj8AAADEpvsDAABAbLo/AAAAxKb7AwAAQGy6PwAAAMSm+wMAAEBsuj8AAADEpvsDAABAbLo/AAAAxKb7AwAAQGy6PwAAAMSm+wMAAEBsuj8AAADEpvsDAABAbLo/AAAAxKb7AwAAQGy6PwAAAMSm+wMAAEBsuj8AAADEpvsDAABAbLo/AAAAxKb7AwAAQGy6PwAAAMSm+wMAAEBsuj8AAADEpvsDAABAbLo/AAAAxKb7AwAAQGy6PwAAAMSm+wMAAEBsuj8AAADEpvsDAABAbLo/AAAAxKb7AwAAQGy6PwAAAMSm+wMAAEBsuj8AAADEpvsDAABAbLo/AAAAxKb7AwAAQGy6PwAAAMSm+wMAAEBsuj8AAADEpvsDAABAbLo/AAAAxKb7AwAAQGy6PwAAAMSm+wMAAEBsuj8AAADEpvsDAABAbLo/AAAAxKb7AwAAQGy6PwAAAMSm+wMAAEBsuj8AAADEpvsDAABAbLo/AAAAxKb7AwAAQGy6PwAAAMSm+wMAAEBsuj8AAADEpvsDAABAbLo/AAAAxKb7AwAAQGy6PwAAAMSm+wMAAEBsuj8AAADEpvsDAABAbLo/AAAAxKb7AwAAQGy6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WN/aFzgHIweny0n9o3H94flR7KQvaxNrd7UbvasX+0bj+8Pypy310/3efotHspB7WJsbvajd7Vjm+ulODwfQrSHULkHBIB/3aPZSD2sTZ3e1G72rGF/cnoQcf7NJ/aNx/eH5UeykHtYm1u9qN3tWRHfztKoJGCQDxWtUyi47lxkpbC7vajd7UlNWRHzsdWwcHBzipKH7vajd7UlBIAyTgDuaAF3e1G72pKKAF3e1G72pKja4hV9jTRhv7pYZoAl3e1G72ppIGMkc9KWgBd3tRu9qbkEkAjI60tAC7vajd7UlFAC7vajd7U3IzjIz1xQGDAFSCD0IoAdu9qN3tSUUALu9qN3tSUjMqKWZgqjqScUAO3e1G72qOOaOXPlyI+Ou1gacCD0IOKAHbvajd7U0kAZJAA7mloAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UbvakooAXd7UUlFACDoKw7r/AI+pf941uDoKyrizne4kZY8qTkHIrWk0nqZVU2tB7bSpzwpjALZ+nFPCQIzcbVIIz6j86qfYbn/nl+oo+w3P/PL9RV6dzO77FjZGUVXCllzhRz3+tNMUG3djA3bOT79fyqH7Dc/88v1FONpdlAnl/KDkDIo07hr2JHSFQ58sZAOATx1+tRAKmoALwofjmk+w3P8Azy/UUfYbn/nl+op6dxO/YnSOMoXbaTkkH8aVo4WZjjJLHJHrn61X+w3P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gDqseR/DWkFXH3R+VZ1z/wAhaP8A3a0h0oANq/3R+VG1f7o/KlooATav90flRtX+6PypaKAE2r/dH5UbV/uj8qWigBNq/wB0flRtX+6PypaKAE2r/dH5UbV/uj8qWigBNq/3R+VG1f7o/KlooATav90flRtX+6PypaKAE2r/AHR+VG1f7o/KlooATav90flRtX+6PypaKAE2r/dH5UbV/uj8qWigBNq/3R+VG1f7o/KlooATav8AdH5UbV/uj8qWigBNq/3R+VG1f7o/KlooAhkADcAdKKWT734UUARb2HAJo8x/7xpD1pKtIhsd5j/3jR5j/wB402iiwXY7zH/vGjzH/vGoTPEqhjIu0nAOetL5iGTyww34ziiyC7Jd7f3jR5j/AN402iiwXY7zH/vGjzH/ALxptFFgux3mP/eNHmP/AHjTaKLBdjvMf+8aPMf+8abRRYLsd5j/AN40b2/vGm0UWC7HeY/940eY/wDeNUGJ2NNvYSCTaBuOOuMY6UyOV1KK7khpCVOe2TkUaBqaXmP/AHjR5j/3jWckjSuwDSKXG5cggAj0/CrNsWkj81+r8hc8AUaBqWPMf+8aPMf+8abRRYLsd5j/AN40eY/9402iiwXY7e3940eY/wDeNNqCfJkjjJIVs52nBPtmiwXZZ8x/7xqlqTsbZvmPSo/tZjXYiyEgnIcbiMY4yM+vWql/M/luRk5JwCenTtRoGpu2H/Hmn4/zqzVaw/480/H+dWagsKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAMi+JGqRYOPlq6JHx941Rv/APkKRf7tWx0qkSx/mP8A3jR5j/3jTaKdhXY7zH/vGjzH/vGm0UWC7HeY/wDeNHmP/eNNoosF2O8x/wC8aPMf+8abRRYLsd5j/wB40eY/9402iiwXY7zH/vGjzH/vGm0UWC7HeY/940eY/wDeNNoosF2O8x/7xo8x/wC8abRRYLsd5j/3jR5j/wB402iiwXY7zH/vGjzH/vGm0UWC7HeY/wDeNHmP/eNNoosF2O8x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UUAFFFFABRRRQAUUUUAFFFFABVHVP+PVvpV6qOqf8erfSgCWw/480/H+dWarWH/Hmn4/zqzQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBjeLf+RO1r/rym/9ANN8Hf8AImaN/wBecf8A6CKd4t/5E7Wv+vKb/wBANN8Hf8iZo3/XnH/6CKx/5ffL9T0f+Zf/ANv/APtpam/5Cdv9T/KtGs+b/kJW/wBT/KtCtjzgqre6ja6eITdS+X50oij4Jyx6f/rq1XNa/ouo63eskNxFawRW5WN5IfM3Ox5I+YYI2jk+poA3rm7htPK859vmyCJOCcsegrPvfEmn6feyWs/2ndEqtK6W0jxxhuhZwMDp3Nc6dK1O71myvLzSXa58+CU3IlTbAirh0+9n72TgAg59a0NSj1JNT1eO30me4S+t444pw8YjU4YHdlgwxnspoA6gMGUMpyCMgjvVK31ezuthhd2DyGIHymHzAZIPHHSuQOg61b+IGmV9saR4jvAigIgh27CxfdjcM42Y75qjplhPd3ci2FnLDGkcQmEdymSxjlBYMGIySQc9eQSKAPQ7q+t7NczyBSVZgoBLMFGTgDk8VOrB1DDoRkV5na6Le3enRvDpakwNcxQ7BHG0ZaILkgSMq/MCPlPvgV2Xh3TJLGO7luIdlzNOxLkglk/h59OvFAG3RRRQBQvv+Py2/Grw+6Ko3v8Ax+W341eHQUALXF+Iv+SleEf925/9ArtK4vxF/wAlK8I/7tz/AOgVlW+Feq/NHo5Z/Gl/gn/6RI7SiiitTzgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDMuf8AkLR/7taQ6Vm3P/IWj/3a0h0oAWiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCKT734UUSfe/CigB0X3BT6ZF9wU+gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAqjqn/Hq30q9VHVP+PVvpQBLYf8eafj/OrNVrD/jzT8f51ZoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAxvFv/Ina1/15Tf8AoBpvg7/kTNG/684//QRTvFv/ACJ2tf8AXlN/6Aab4O/5EzRv+vOP/wBBFY/8vvl+p6P/ADL/APt//wBtNG4jPmpKq5KHOKiN/MDj7Kf++qv0m0elbHnFD+0Jv+fRv++qP7Qm/wCfRv8Avqr+0elG0elAFD+0Jv8An0b/AL6o/tCb/n0b/vqr+0elG0elAGf/AGhN/wA+h/76qK3mW0QpbaYkKMdxWMBQT68CtXaPSjaPSgDMhuTbx+XDp6xpknamAMnr0FSf2hN/z6N/31V/aPSjaPSgCh/aE3/Po3/fVH9oTf8APof++qv7R6UbR6UAU1D3MqSPHs2dBnNXaMAUUAFcX4i/5KV4R/3bn/0Cu0ri/EX/ACUrwj/u3P8A6BWVb4V6r80ejln8aX+Cf/pEjtKKKK1POCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAMy5/wCQtH/u1pDpWbc/8haP/drSHSgBaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAIpPvfhRRJ978KKAHRfcFPpkX3BT6ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACqOqf8erfSr1UdU/49W+lAEth/x5p+P86s1WsP+PNPx/nVmgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDG8W/8idrX/XlN/wCgGm+Dv+RM0b/rzj/9BFaOp2KanpV3YSOUS5haJmXqAwxn9a46D4f6pa28dvb+MtUihjUKiIMBQOgA3VhPmVTmSvoenh3QqYV0alTlfNfZvpboju6K4j/hB9a/6HfVv1/+Ko/4QfWv+h31b9f/AIqn7Sp/J+KJ+qYX/oIX/gMv8jt6K4j/AIQfWv8Aod9W/X/4qj/hB9a/6HfVv1/+Ko9pU/k/FB9Uwv8A0EL/AMBl/kdvRXEf8IPrX/Q76t+v/wAVR/wg+tf9Dvq36/8AxVHtKn8n4oPqmF/6CF/4DL/I7eiuI/4QfWv+h31b9f8A4qj/AIQfWv8Aod9W/X/4qj2lT+T8UH1TC/8AQQv/AAGX+R29FcR/wg+tf9Dvq36//FUf8IPrX/Q76t+v/wAVR7Sp/J+KD6phf+ghf+Ay/wAjt6K4j/hB9a/6HfVv1/8AiqP+EH1r/od9W/X/AOKo9pU/k/FB9Uwv/QQv/AZf5Hb0VxH/AAg+tf8AQ76t+v8A8VR/wg+tf9Dvq36//FUe0qfyfig+qYX/AKCF/wCAy/yO3ri/EX/JSvCP+7c/+gUz/hB9a/6HfVv1/wDiqm03wNcWuv2erX3iG91GS03+Wk69NykHnJ9ambqTsuXquq7nRh44XDuVT2yfuyVrS3cWluvM7Giiiug8YKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAzLn/kLR/wC7WkOlZtz/AMhaP/drSHSgBaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAIpPvfhRRJ978KKAHRfcFPpkX3BT6ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACqOqf8erfSr1UdU/49W+lAEth/wAeafj/ADqzVaw/480/H+dWaACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDMuf+QtH/ALtaQ6Vm3P8AyFo/92tIdKAFooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAik+9+FFEn3vwooAdF9wU+mRfcFPoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKo6p/x6t9KvVR1T/j1b6UAS2H/AB5p+P8AOrNVrD/jzT8f51ZoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAMy5/5C0f8Au1pDpWbc/wDIWj/3a0h0oAWiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCKT734UUSfe/CigB0X3BT6ZF9wU+gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAqjqn/Hq30q9VHVP+PVvpQBLYf8AHmn4/wA6s1WsP+PNPx/nVmgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAzLn/kLR/wC7WkOlZtz/AMhaP/drSHSgBaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAIpPvfhRRJ978KKAHRfcFPpkX3BT6ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACqOqf8erfSr1UdU/49W+lAEth/wAeafj/ADqzVaw/480/H+dWaACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDMuf+QtH/ALtaQ6Vm3P8AyFo/92tIdKAFooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAik+9+FFEn3vwooAdF9wU+mRfcFPoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKo6p/x6t9KvVR1T/j1b6UAS2H/AB5p+P8AOrNVrD/jzT8f51ZoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAMy5/5C0f8Au1pDpWbc/wDIWj/3a0h0oAWiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCKT734UUSfe/CigB0X3BT6ZF9wU+gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAqjqn/Hq30q9VHVP+PVvpQBLYf8AHmn4/wA6s1WsP+PNPx/nVmgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAzLn/kLR/wC7WkOlZtz/AMhaP/drSHSgBaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAIpPvfhRRJ978KKAHRfcFPpkX3BT6ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACqOqf8erfSr1UdU/49W+lAEth/wAeafj/ADqzVaw/480/H+dWaACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDMuf+QtH/ALtaQ6Vm3P8AyFo/92tIdKAFooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAik+9+FFEn3vwooAdF9wU+mRfcFPoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKo6p/x6t9KvVR1T/j1b6UAS2H/AB5p+P8AOrNVrD/jzT8f51ZoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAMy5/5C0f8Au1pDpWbc/wDIWj/3a0h0oAWiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCKT734UUSfe/CigB0X3BT6ZF9wU+gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAqjqn/Hq30q9VHVP+PVvpQBLYf8AHmn4/wA6s1SspVW1UHPf+dWDcRgEnIA6mgCWiqf9qWf/AD3T/voUf2pZ/wDPdP8AvoUAXKKp/wBqWf8Az3T/AL6FH9qWf/PdP++hQBcoqn/aln/z3T/voUf2pZ/890/76FAFyiqf9qWf/PdP++hR/aln/wA90/76FAFyiqf9qWf/AD3T/voUf2pZ/wDPdP8AvoUAXKKp/wBqWf8Az3T/AL6FH9qWf/PdP++hQBcoqn/aln/z3T/voUf2pZ/890/76FAFyiqf9qWf/PdP++hR/aln/wA90/76FAFyiqf9qWf/AD3T/voUf2pZ/wDPdP8AvoUAXKKp/wBqWf8Az3T/AL6FH9qWf/PdP++hQBcoqn/aln/z3T/voUf2pZ/890/76FAFyiqf9qWf/PdP++hR/aln/wA90/76FAFyiqf9qWf/AD3T/voUf2pZ/wDPdP8AvoUAXKKp/wBqWf8Az3T/AL6FH9qWf/PdP++hQBcoqn/aln/z3T/voUf2pZ/890/76FAFyiqf9qWf/PdP++hR/aln/wA90/76FAFyiqf9qWf/AD3T/voUf2pZ/wDPdP8AvoUAXKKp/wBqWf8Az3T/AL6FH9qWf/PdP++hQBcoqn/aln/z3T/voUf2pZ/890/76FAFyiqf9qWf/PdP++hR/aln/wA90/76FAFyiqf9qWf/AD3T/voUf2pZ/wDPdP8AvoUAXKKp/wBqWf8Az3T/AL6FH9qWf/PdP++hQBcoqn/aln/z3T/voUf2pZ/890/76FAFyiqf9qWf/PdP++hR/aln/wA90/76FAFyiqf9qWf/AD3T/voUf2pZ/wDPdP8AvoUAXKKp/wBqWf8Az3T/AL6FH9qWf/PdP++hQBcoqn/aln/z3T/voUf2pZ/890/76FAFyiqf9qWf/PdP++hR/aln/wA90/76FAFyiqf9qWf/AD3T/voVJHewSgmNw4HXac0AWKKi89Pejz096AJaKi89Pejz096AJaKi89Pejz096AJaKi89Pejz096AJaKi89Pejz096AJaKi89Pejz096AJaKi89Pejz096AJaKi89Pejz096AKNz/AMhaP/drSHSsudg+qRkf3a1B0oAWiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCKT734UUSfe/CigB0X3BT6ZF9wU+gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAqjqn/Hq30q9UVxF5sRX1oAz4t/2T92AXwdobpmoLU3DaSTdAifD78/U/pUpS6i+VFUgU0/bGUgxqQRg80Ac1RW59gb/n0j/Oj7A3/PpH+dAGHRW59gb/n0j/Oj7A3/AD6R/nQBh0VufYG/59I/zo+wN/z6R/nQBh0VufYG/wCfSP8AOj7A3/PpH+dAGHRW59gb/n0j/Oj7A3/PpH+dAGHRW59gb/n0j/Oj7A3/AD6R/nQBh0VufYG/59I/zo+wN/z6R/nQBh0VufYG/wCfSP8AOj7A3/PpH+dAGHRW59gb/n0j/Oj7A3/PpH+dAGHRW59gb/n0j/Oj7A3/AD6R/nQBh0VufYG/59I/zo+wN/z6R/nQBh0VufYG/wCfSP8AOj7A3/PpH+dAGHRW59gb/n0j/Oj7A3/PpH+dAGHRW59gb/n0j/Oj7A3/AD6R/nQBh0VufYG/59I/zo+wN/z6R/nQBh0VufYG/wCfSP8AOj7A3/PpH+dAGHRW59gb/n0j/Oj7A3/PpH+dAGHRW59gb/n0j/Oj7A3/AD6R/nQBh0VufYG/59I/zo+wN/z6R/nQBh0VufYG/wCfSP8AOj7A3/PpH+dAGHRW59gb/n0j/Oj7A3/PpH+dAGHRW59gb/n0j/Oj7A3/AD6R/nQBh0VufYG/59I/zo+wN/z6R/nQBh0VufYG/wCfSP8AOj7A3/PpH+dAGHRW59gb/n0j/Oj7A3/PpH+dAGHRW59gb/n0j/Oj7A3/AD6R/nQBh0VufYG/59I/zo+wN/z6R/nQBh0VufYG/wCfSP8AOj7A3/PpH+dAGHW3of8AqJf97+lL9gb/AJ9I/wA6liiuIARFAignJwaAL9FVM3v/ADzX8/8A61Gb3/nmv5//AFqALdFVM3v/ADzX8/8A61Gb3/nmv5//AFqALdFVM3v/ADzX8/8A61Gb3/nmv5//AFqALdFVM3v/ADzX8/8A61Gb3/nmv5//AFqALdFVM3v/ADzX8/8A61Gb3/nmv5//AFqALdFVM3v/ADzX8/8A61Gb3/nmv5//AFqALdFVM3v/ADzX8/8A61Gb3/nmv5//AFqALdYt5Jq48U2CWiBtPaF/tRfoORtwf739M1fze/8APNfz/wDrUZvf+ea/nQArf8hGP/drXHSqFvbyNKJZQMgY4rQoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAIpPvfhRRJ978KKAHRfcFPpkX3BT6ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBMCjA9KWigBMD0owPSlooATA9KMD0paKAEwPSjA9KWigBMD0owPSlooATA9KMD0paKAEwPSjA9KWigBMD0owPSlooATA9KMD0paKAEwPSjA9KWigBMD0owPSlooATA9KMD0paKAEwPSjA9KWigBMD0owPSlooATA9KMD0paKAEwPSjA9KWigBMD0owPSlooATA9KMD0paKAEwPSjA9KWigBMD0owPSlooATA9KMD0paKAEwPSjA9KWigBMD0owPSlooATA9KMD0paKAEwPSjA9KWigBMD0owPSlooATA9KMD0paKAEwPSjA9KWigBMD0owPSlooATA9KMD0paKAEwPSjA9KWigBMD0owPSlooATA9KMD0paKAEwPSjA9KWigBMD0owPSlooATA9KMD0paKAEwPSjA9KWigBMD0owPSlooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCKT734UUSfe/CigB0X3BT6ZF9wU+gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAIpPvfhRRJ978KKAHRfcFPpkX3BT6ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAik+9+FFEn3vwooA//9kNCmVuZHN0cmVhbQ0KZW5kb2JqDQo1NyAwIG9iag0KPDwvVHlwZS9PYmpTdG0vTiAxNDYvRmlyc3QgMTI0Ny9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDIxMDg+Pg0Kc3RyZWFtDQp4nLVa247bNhB9L9B/4B9YwzuBIEDSJmia5oLdAH0I+uAkarLNrh04DpD8fc+Qo12vTUqyigK7JkXxzAxnzowkSs6pTrmoHClvFHVaeafIGeW9opiUt0rbTvmgTOeV18q4oDwpawBIysaoPNDWqICBrlMBk51TgQe0CvgDNjgVtVXBqhiSckkl43GC9SUVO7T4wRkiHg9ok1GRFGmYFrUiQ52KsM/AgmgVWYIoGGqhNUKO05gPnGNNUZHXQcF68hCaID/A3AR5AUIScNE4lSyvEOOYlyx+YL3uOgxEtGxkUJp0VEmjZS04p7VL2U3aEOTBJ9pkxzn4SfNKDDp5SUA7C1swT7NnCGvQHu7DapUOxMuEnMDrIKCi4RH4O7LlBIHJ8ghUJLaROAYOzqCoDCuEl9CBhwirN5rt0QiQ9jzilTGaOw4dVgHjjLXcgRyneXLkaMJ4BAGOxSmDOT772SoTDI9AckgcAQiMrB2jJnWJY4KO505QtmPJJqIDr5EBM4hdCurAK4EDhg67DvPAHcixFh2wBTFU1hrueHQ4elYrm12Hf+s1xxsCPRPDQWA2DIS1gSfDJhshnklrIwfVQXJ2HfO6Y8/D6a5jz4OZjh1JHqwndgu4DPLwiEYnc8YoZxgO4jrDnkcuOOtAAKzWOeIOJGfXIT+ch5MIK3GB3QJGuuCZaxAYiU9BYAw8gslJ8wjMSPgh5IDvOExYm+9iZijSC+4nMNcTcxpk8pyDhNNeIzEIGeGN5QRFnmYLMc9bjg5o6h2bgSzxjqPDSex5gcgD73mB4LwPvEDEFQnCI0BFeJSQGz6BnoQc8ImJhHCGjrkBxaFjjwEQ2G2as10zc5EXAcxGB+luNI8gjU3gEZQCa0Bz5EWwnEkdlwPPqRZRAjIcAn32MXIf0UaMEdBckyKvBeuKAbxBgGOE9xGJGDmh0SbObmASMaNzZenYDchaC/0PHqxes9xOXawuV69Xb3586VeX+9239/sn1/3N6vlb1f2lVq8/KsNzHj78+acZEKpBwJ8Cufyy3pyghumr50oLJE959fj3i9Wrd/+gMuTTp2LtTLHm1JI/rjafa/Z7LvoXXOLR/Ke12DsIDUofbz/8qGo1RastTWgpRxBF0rOqGN20Ok6Z4JboSy19SPmpJS/QF6ipT0/pC0v0maY+O6UvLtHnmoG/1bd6hGqYD2pOpUKgHG0JgvhGTD4/o1N1/Wlq/VQtHiGMOiB2sxwQYssBocnIibJVrVsTGL0AY0YxT68+ftv1NaBeYqBdgKnXgXFMPZfHMfV8HMfUc2ocU6XvOEZXqZsmU36A6fs4PUr5dJjzR8ihaDcvNVquNXSKaVPplhZH2sLU+lJOrvww0DR5YrGxibyX4Mm0ErxEQYwdF1SP7QKMqWL4MWPCYXVH83PQmJP4yWmWl6izLTeJcQsW6+o20+wL+vFi4/hiieYuNjUXS21Cji82LMDEccxI3tVdO+/qew6G6oVo5hXwLNCSdKJGPunJe7hhXf4I2I1TTB/exh1jJ5OYFir1TaX3ea2pyevikcHIcVmj1e4cjBnHjPA7LdBm6941ZiosrgGk8bAY2+aCmeSCX6h0Lhfkgl6VUR4RxcgFng4LMHEpF3Q9VefVunMw1KgJdvJujRqJbcdvYXiXrskg6ye11lNyWmuYSSHbvHUSnwxWLnH24tqg686e+fxyFqheGGY+wZwFWpJRVE8p3oadd/GzdAR048RxB7fcR9j7xHG+SRwXpmWM7QaehdHjmOnrz1naTN2rfjKRbQNox8Ph266k2Zt0ZytNMzlQdj/rMnwpHn4Gn6qe9gswYSkXdD1bZl3tzsIs4RwtMY6W5BJNJNNolT8PVM+HebX6PNASItEEk0Zr9XG6xcniMATYHQEn8jQeFgdXtzTnaWznafTTMkZrdQMzUnf1Am1LMKbu1TR3H+YEOLEPk9qupOndMrdQaZzJgdTe/CkeGYxc4Gm/ABMW86ce13m1+j5GT+/JpQZwPCy6m5FWHBbd3pPTh3ty56VmvZ7MvGCcH5B6vrhhx+PX7ftvN/1mX2V9oV6565T3Xfw5S24yHfnjldyUzY1YnmtLaVSlsKlSxFQUQBEWi7BU3mqlIiXJFklH0g7H8rjcBWmLDP6spLRynuSZiCRlSG5zSHA04GTvu2z75C9FSivntZw3ct6IPUbmGZlnZJ6VeVbmWbHLyjwr85zMczLPyTwn9juxX/xOXubLm0DyMl/eMMutYv4mo7QyT14SUpB5YZgnciWEJDGkIHYGsTOKPAkuSXRJwiuXvvzJRSlNMl/CSEMck8yXdw38IUVpSVotrZE2SBullVtdYe0BQ9/s+v5iu92vLrbX/Yv1F1Vcunq93oHLfFY5eZ/yVrKE0+D27Mv++/55/0N5Ef0Usjbbfb96yT9PNh/uDt5g6rvt99Vl/36/+q1ff+h3pc+Yof9sc3216S8/rdlCHni0gYT1/mq7kePd/urvNTr56M/t7vO77fbzXfbxyNdPfb9nI/erF+v3u+3B8S+f8Htw/OvV+nr78WDg8vrqQ38wt+jBtI+79Y2UB1nry283X3FXo5ywYPhSQatyjVQmf2nCPZs/NcnJn781OYzGy/VN//VtOTwuFcMnEEVeeUySDwzkvb+8jpe35ENREeLVi8q51SRK2Nk8uYjevvQ6LjD+foEhahSYmYVFiC4FqZggO9fDZvJp1bmtNpJdxterzkm1EaNsuF915lab22o3VLN0YLQE9LQUDSVIlEpwT0vR/1SChlIY9IGxQoq7unRcj0Rpio26NNQjX61HQ527q1+3nvoXzkBk+Q0KZW5kc3RyZWFtDQplbmRvYmoNCjYwIDAgb2JqDQo8PC9PL0xpc3QvTGlzdE51bWJlcmluZy9EaXNjPj4NCmVuZG9iag0KNzggMCBvYmoNCjw8L08vTGlzdC9MaXN0TnVtYmVyaW5nL0RlY2ltYWw+Pg0KZW5kb2JqDQo5MyAwIG9iag0KPDwvTy9MaXN0L0xpc3ROdW1iZXJpbmcvRGVjaW1hbD4+DQplbmRvYmoNCjEwNCAwIG9iag0KPDwvTy9MaXN0L0xpc3ROdW1iZXJpbmcvRGVjaW1hbD4+DQplbmRvYmoNCjEwOSAwIG9iag0KPDwvTy9MaXN0L0xpc3ROdW1iZXJpbmcvRGlzYz4+DQplbmRvYmoNCjEyMSAwIG9iag0KPDwvTy9MaXN0L0xpc3ROdW1iZXJpbmcvRGVjaW1hbD4+DQplbmRvYmoNCjEzMiAwIG9iag0KPDwvTy9MaXN0L0xpc3ROdW1iZXJpbmcvRGVjaW1hbD4+DQplbmRvYmoNCjE0MyAwIG9iag0KPDwvTy9MaXN0L0xpc3ROdW1iZXJpbmcvRGVjaW1hbD4+DQplbmRvYmoNCjE1NiAwIG9iag0KPDwvTy9MaXN0L0xpc3ROdW1iZXJpbmcvRGlzYz4+DQplbmRvYmoNCjE2NSAwIG9iag0KPDwvTy9MaXN0L0xpc3ROdW1iZXJpbmcvRGVjaW1hbD4+DQplbmRvYmoNCjE4NSAwIG9iag0KPDwvTy9MaXN0L0xpc3ROdW1iZXJpbmcvRGlzYz4+DQplbmRvYmoNCjE5NCAwIG9iag0KPDwvTy9MaXN0L0xpc3ROdW1iZXJpbmcvRGVjaW1hbD4+DQplbmRvYmoNCjIwNCAwIG9iag0KPDwvTy9MaXN0L0xpc3ROdW1iZXJpbmcvRGlzYz4+DQplbmRvYmoNCjIxMCAwIG9iag0KPDwvUHJvZHVjZXIo/v8ATQBpAGMAcgBvAHMAbwBmAHQArgAgAFcAbwByAGQAIABm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ICAxMDRbIDY0Ml0gIDEwOVsgNjQyXSAgMTE1WyA1NjddICAxMjJbIDQ4N10gIDEyN1sgNDY4XSAgMjU4WyA0NzldICAyNzFbIDUyNSA0MjNdICAyNzdbIDQyM10gIDI4MlsgNTI1XSAgMjg2WyA0OThdICAyOTZbIDMwNV0gIDMzNlsgNDcxXSAgMzM4WyA0NzFdICAzNDZbIDUyNV0gIDM0OVsgMjMwXSAgMzU4WyAyMzBdICAzNjRbIDQ1NV0gIDM2N1sgMjMwXSAgMzczWyA3OTkgNTI1XSAgMzgxWyA1MjddICAzODZbIDUyN10gIDM5M1sgNTI1XSAgMzk2WyAzNDldICA0MDBbIDM5MV0gIDQwNFsgMzkxXSAgNDEwWyAzMzVdICA0MzdbIDUyNV0gIDQ0MlsgNTI1XSAgNDQ4WyA0NTIgNzE1XSAgNDU1WyA0NTNdICA0NjBbIDM5NV0gIDg1M1sgMjUwXSAgODU1WyAyNjggMjUyXSAgODYyWyA0MTggNDE4XSAgODc2WyAzODZdICA4ODJbIDMwNl0gIDg4NFsgNDk4XSAgODk0WyAzMDMgMzAzXSBdIA0KZW5kb2JqDQoyMjIgMCBvYmoNClsgMjI2IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDMwNiAyNTIgMzg2IDAgMCAwIDAgMCAwIDAgMCAwIDAgMjY4IDAgMCAwIDAgMCAwIDAgMCAwIDAgNDg4IDAgMCAwIDAgMCA1MjAgMCAwIDAgMCA1MTcgMCAwIDAgNDg3IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDQ3OSA1MjUgNDIzIDUyNSA0OTggMCAwIDUyNSAyMzAgMCA0NTUgMjMwIDc5OSA1MjUgNTI3IDUyNSAwIDM0OSAzOTEgMzM1IDUyNSA0NTIgNzE1IDAgNDUzIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNDIzXSANCmVuZG9iag0KMjIzIDAgb2JqDQpbIDI3OF0gDQplbmRvYmoNCjIyNCAwIG9iag0KPDwvVHlwZS9NZXRhZGF0YS9TdWJ0eXBlL1hNTC9MZW5ndGggMzAwOT4+DQpzdHJlYW0NCjw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+PHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iMy4xLTcwMSI+CjxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiICB4bWxuczpwZGY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGRmLzEuMy8iPgo8cGRmOlByb2R1Y2VyPk1pY3Jvc29mdMKuIFdvcmQgZm9yIE9mZmljZSAzNjU8L3BkZjpQcm9kdWNlcj48L3JkZjpEZXNjcmlwdGlvbj4KPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+CjwvcmRmOkRlc2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIj4KPHhtcDpDcmVhdG9yVG9vbD5NaWNyb3NvZnTCriBXb3JkIGZvciBPZmZpY2UgMzY1PC94bXA6Q3JlYXRvclRvb2w+PHhtcDpDcmVhdGVEYXRlPjIwMjAtMDMtMDZUMTQ6Mzk6NTkrMDA6MDA8L3htcDpDcmVhdGVEYXRlPjx4bXA6TW9kaWZ5RGF0ZT4yMDIwLTAzLTA2VDE0OjM5OjU5KzAwOjAwPC94bXA6TW9kaWZ5RGF0ZT48L3JkZjpEZXNjcmlwdGlvbj4KPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIj4KPHhtcE1NOkRvY3VtZW50SUQ+dXVpZDowRTAzOEU5My1FMjBFLTRFQTgtQjYwRC1EQjZEQzY2RENEREU8L3htcE1NOkRvY3VtZW50SUQ+PHhtcE1NOkluc3RhbmNlSUQ+dXVpZDowRTAzOEU5My1FMjBFLTRFQTgtQjYwRC1EQjZEQzY2RENEREU8L3htcE1NOkluc3RhbmNlSUQ+PC9yZGY6RGVzY3JpcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8L3JkZjpSREY+PC94OnhtcG1ldGE+PD94cGFja2V0IGVuZD0idyI/Pg0KZW5kc3RyZWFtDQplbmRvYmoNCjIyNSAwIG9iag0KPDwvRGlzcGxheURvY1RpdGxlIHRydWU+Pg0KZW5kb2JqDQoyMjYgMCBvYmoNCjw8L1R5cGUvWFJlZi9TaXplIDIyNi9XWyAxIDQgMl0gL1Jvb3QgMSAwIFIvSW5mbyAyMTAgMCBSL0lEWzw5MzhFMDMwRTBFRTJBODRFQjYwRERCNkRDNjZEQ0RERT48OTM4RTAzMEUwRUUyQTg0RUI2MEREQjZEQzY2RENEREU+XSAvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCA1Njc+Pg0Kc3RyZWFtDQp4nD3UyU8UQRTH8Z6mcQMGBoYZZkBUBHFX3HAEAWVwHFxwQVHcBXGXTRwUN5RNXCFGTYxG0QOJ8Wz8AzyYmMBBEw6acPBgYjSGxISDEbre17IP/UlV6v3eSx3KMOxvbMxh/12GoeiHP4JZL8SUwqgQ+0OIy4AKGIa/gvMl/BTivwoJVdAquNKgRkgsgxEh6ZPgroRmIdkHpHjKgZG8L4SU+4IvX/BnCg+CwsO3wtMs4fs3haMwWyh6JYQsodcvfPmoMN3vBE+OkDoo1HmF5xGhT6Y2+2Vqc/CRIspfbV+ffZEB4wZ0w024BV3w7+Rtu65lVK8c4LI3257ozUkwEUyIhiiwYAJMgckQCzHghDhIgHhIhGTVfUB3d0MSeMALKeADP6RCGkyFdJgG0yHbbtRu6UYZMAPuwCzIgpmQCbNhDsxXYf+vdR7MhQWwWB2p1UcWwULIgSWwFJbBclgBubASVqvMPp25CgJwF/IhDwqgEIpgDaxTYUM6rBjWQgkEIQTrIQylsAG22GEdTh22CTZCGWyGrbANtkM57ICdUAGVKjqoo3fDLrgHe2Av7IP9UKXKI7r8IByAw3AIquEI1MBROAbH4QSchFNwGs5ALdRBPZxVs7zWszRCA/RAE5yDCDTDJVU+rMsvwHm4CC1wGa7AVWiFNjul06NTrsM1aIcO6FQnw/LadBUI3fLkWcXyClsln4XQLyGcLjS8h99Co7z6VtMzRXSuUwi8EfIeA6vQB8MYB0rsjpwNCmVuZHN0cmVhbQ0KZW5kb2JqDQp4cmVmDQowIDIyNw0KMDAwMDAwMDA1MCA2NTUzNSBmDQowMDAwMDAwMDE3IDAwMDAwIG4NCjAwMDAwMDAxNjggMDAwMDAgbg0KMDAwMDAwMDI1MiAwMDAwMCBuDQowMDAwMDAwNjI1IDAwMDAwIG4NCjAwMDAwMDI4OTAgMDAwMDAgbg0KMDAwMDAwMzA2NCAwMDAwMCBuDQowMDAwMDAzMzA5IDAwMDAwIG4NCjAwMDAwMDMzNjIgMDAwMDAgbg0KMDAwMDAwMzQxNSAwMDAwMCBuDQowMDAwMDAzNTUyIDAwMDAwIG4NCjAwMDAwMDM1ODIgMDAwMDAgbg0KMDAwMDAwMzc0OCAwMDAwMCBuDQowMDAwMDAzODIyIDAwMDAwIG4NCjAwMDAwMDQwNjggMDAwMDAgbg0KMDAwMDAwNDE5NSAwMDAwMCBuDQowMDAwMDA0MjI1IDAwMDAwIG4NCjAwMDAwMDQzODAgMDAwMDAgbg0KMDAwMDAwNDQ1NCAwMDAwMCBuDQowMDAwMDA0Njg3IDAwMDAwIG4NCjAwMDAwMDQ4NTAgMDAwMDAgbg0KMDAwMDAwNTA3NyAwMDAwMCBuDQowMDAwMDA1MjEwIDAwMDAwIG4NCjAwMDAwMDUyNDAgMDAwMDAgbg0KMDAwMDAwNTQwMSAwMDAwMCBuDQowMDAwMDA1NDc1IDAwMDAwIG4NCjAwMDAwMDU3MTYgMDAwMDAgbg0KMDAwMDAwNTg4MCAwMDAwMCBuDQowMDAwMDA2MDUxIDAwMDAwIG4NCjAwMDAwMDYyOTIgMDAwMDAgbg0KMDAwMDAwNjQ2MCAwMDAwMCBuDQowMDAwMDA2NjkyIDAwMDAwIG4NCjAwMDAwMzg0NjggMDAwMDAgbg0KMDAwMDAzODg0MSAwMDAwMCBuDQowMDAwMDQwNDg1IDAwMDAwIG4NCjAwMDAwNjAzOTIgMDAwMDAgbg0KMDAwMDA4MTcwMyAwMDAwMCBuDQowMDAwMDgyMDkxIDAwMDAwIG4NCjAwMDAwODM3MTYgMDAwMDAgbg0KMDAwMDEwMjkzOCAwMDAwMCBuDQowMDAwMTIyMzI0IDAwMDAwIG4NCjAwMDAxMzYzODkgMDAwMDAgbg0KMDAwMDEzNjc1MyAwMDAwMCBuDQowMDAwMTM4MTkyIDAwMDAwIG4NCjAwMDAxNTk3NjcgMDAwMDAgbg0KMDAwMDE3MjQwNyAwMDAwMCBuDQowMDAwMTcyNzg2IDAwMDAwIG4NCjAwMDAxNzQyOTMgMDAwMDAgbg0KMDAwMDE4NDQ3MiAwMDAwMCBuDQowMDAwMjAzMzY0IDAwMDAwIG4NCjAwMDAwMDAwNTEgNjU1MzUgZg0KMDAwMDAwMDA1MiA2NTUzNSBmDQowMDAwMDAwMDUzIDY1NTM1IGYNCjAwMDAwMDAwNTQgNjU1MzUgZg0KMDAwMDAwMDA1NSA2NTUzNSBmDQowMDAwMDAwMDU2IDY1NTM1IGYNCjAwMDAwMDAwNTcgNjU1MzUgZg0KMDAwMDAwMDA1OCA2NTUzNSBmDQowMDAwMDAwMDU5IDY1NTM1IGYNCjAwMDAwMDAwNjEgNjU1MzUgZg0KMDAwMDIzMDU1NyAwMDAwMCBuDQowMDAwMDAwMDYyIDY1NTM1IGYNCjAwMDAwMDAwNjMgNjU1MzUgZg0KMDAwMDAwMDA2NCA2NTUzNSBmDQowMDAwMDAwMDY1IDY1NTM1IGYNCjAwMDAwMDAwNjYgNjU1MzUgZg0KMDAwMDAwMDA2NyA2NTUzNSBmDQowMDAwMDAwMDY4IDY1NTM1IGYNCjAwMDAwMDAwNjkgNjU1MzUgZg0KMDAwMDAwMDA3MCA2NTUzNSBmDQowMDAwMDAwMDcxIDY1NTM1IGYNCjAwMDAwMDAwNzIgNjU1MzUgZg0KMDAwMDAwMDA3MyA2NTUzNSBmDQowMDAwMDAwMDc0IDY1NTM1IGYNCjAwMDAwMDAwNzUgNjU1MzUgZg0KMDAwMDAwMDA3NiA2NTUzNSBmDQowMDAwMDAwMDc3IDY1NTM1IGYNCjAwMDAwMDAwNzkgNjU1MzUgZg0KMDAwMDIzMDYwNyAwMDAwMCBuDQowMDAwMDAwMDgwIDY1NTM1IGYNCjAwMDAwMDAwODEgNjU1MzUgZg0KMDAwMDAwMDA4MiA2NTUzNSBmDQowMDAwMDAwMDgzIDY1NTM1IGYNCjAwMDAwMDAwODQgNjU1MzUgZg0KMDAwMDAwMDA4NSA2NTUzNSBmDQowMDAwMDAwMDg2IDY1NTM1IGYNCjAwMDAwMDAwODcgNjU1MzUgZg0KMDAwMDAwMDA4OCA2NTUzNSBmDQowMDAwMDAwMDg5IDY1NTM1IGYNCjAwMDAwMDAwOTAgNjU1MzUgZg0KMDAwMDAwMDA5MSA2NTUzNSBmDQowMDAwMDAwMDkyIDY1NTM1IGYNCjAwMDAwMDAwOTQgNjU1MzUgZg0KMDAwMDIzMDY2MCAwMDAwMCBuDQowMDAwMDAwMDk1IDY1NTM1IGYNCjAwMDAwMDAwOTYgNjU1MzUgZg0KMDAwMDAwMDA5NyA2NTUzNSBmDQowMDAwMDAwMDk4IDY1NTM1IGYNCjAwMDAwMDAwOTkgNjU1MzUgZg0KMDAwMDAwMDEwMCA2NTUzNSBmDQowMDAwMDAwMTAxIDY1NTM1IGYNCjAwMDAwMDAxMDIgNjU1MzUgZg0KMDAwMDAwMDEwMyA2NTUzNSBmDQowMDAwMDAwMTA1IDY1NTM1IGYNCjAwMDAyMzA3MTMgMDAwMDAgbg0KMDAwMDAwMDEwNiA2NTUzNSBmDQowMDAwMDAwMTA3IDY1NTM1IGYNCjAwMDAwMDAxMDggNjU1MzUgZg0KMDAwMDAwMDExMCA2NTUzNSBmDQowMDAwMjMwNzY3IDAwMDAwIG4NCjAwMDAwMDAxMTEgNjU1MzUgZg0KMDAwMDAwMDExMiA2NTUzNSBmDQowMDAwMDAwMTEzIDY1NTM1IGYNCjAwMDAwMDAxMTQgNjU1MzUgZg0KMDAwMDAwMDExNSA2NTUzNSBmDQowMDAwMDAwMTE2IDY1NTM1IGYNCjAwMDAwMDAxMTcgNjU1MzUgZg0KMDAwMDAwMDExOCA2NTUzNSBmDQowMDAwMDAwMTE5IDY1NTM1IGYNCjAwMDAwMDAxMjAgNjU1MzUgZg0KMDAwMDAwMDEyMiA2NTUzNSBmDQowMDAwMjMwODE4IDAwMDAwIG4NCjAwMDAwMDAxMjMgNjU1MzUgZg0KMDAwMDAwMDEyNCA2NTUzNSBmDQowMDAwMDAwMTI1IDY1NTM1IGYNCjAwMDAwMDAxMjYgNjU1MzUgZg0KMDAwMDAwMDEyNyA2NTUzNSBmDQowMDAwMDAwMTI4IDY1NTM1IGYNCjAwMDAwMDAxMjkgNjU1MzUgZg0KMDAwMDAwMDEzMCA2NTUzNSBmDQowMDAwMDAwMTMxIDY1NTM1IGYNCjAwMDAwMDAxMzMgNjU1MzUgZg0KMDAwMDIzMDg3MiAwMDAwMCBuDQowMDAwMDAwMTM0IDY1NTM1IGYNCjAwMDAwMDAxMzUgNjU1MzUgZg0KMDAwMDAwMDEzNiA2NTUzNSBmDQowMDAwMDAwMTM3IDY1NTM1IGYNCjAwMDAwMDAxMzggNjU1MzUgZg0KMDAwMDAwMDEzOSA2NTUzNSBmDQowMDAwMDAwMTQwIDY1NTM1IGYNCjAwMDAwMDAxNDEgNjU1MzUgZg0KMDAwMDAwMDE0MiA2NTUzNSBmDQowMDAwMDAwMTQ0IDY1NTM1IGYNCjAwMDAyMzA5MjYgMDAwMDAgbg0KMDAwMDAwMDE0NSA2NTUzNSBmDQowMDAwMDAwMTQ2IDY1NTM1IGYNCjAwMDAwMDAxNDcgNjU1MzUgZg0KMDAwMDAwMDE0OCA2NTUzNSBmDQowMDAwMDAwMTQ5IDY1NTM1IGYNCjAwMDAwMDAxNTAgNjU1MzUgZg0KMDAwMDAwMDE1MSA2NTUzNSBmDQowMDAwMDAwMTUyIDY1NTM1IGYNCjAwMDAwMDAxNTMgNjU1MzUgZg0KMDAwMDAwMDE1NCA2NTUzNSBmDQowMDAwMDAwMTU1IDY1NTM1IGYNCjAwMDAwMDAxNTcgNjU1MzUgZg0KMDAwMDIzMDk4MCAwMDAwMCBuDQowMDAwMDAwMTU4IDY1NTM1IGYNCjAwMDAwMDAxNTkgNjU1MzUgZg0KMDAwMDAwMDE2MCA2NTUzNSBmDQowMDAwMDAwMTYxIDY1NTM1IGYNCjAwMDAwMDAxNjIgNjU1MzUgZg0KMDAwMDAwMDE2MyA2NTUzNSBmDQowMDAwMDAwMTY0IDY1NTM1IGYNCjAwMDAwMDAxNjYgNjU1MzUgZg0KMDAwMDIzMTAzMSAwMDAwMCBuDQowMDAwMDAwMTY3IDY1NTM1IGYNCjAwMDAwMDAxNjggNjU1MzUgZg0KMDAwMDAwMDE2OSA2NTUzNSBmDQowMDAwMDAwMTcwIDY1NTM1IGYNCjAwMDAwMDAxNzEgNjU1MzUgZg0KMDAwMDAwMDE3MiA2NTUzNSBmDQowMDAwMDAwMTczIDY1NTM1IGYNCjAwMDAwMDAxNzQgNjU1MzUgZg0KMDAwMDAwMDE3NSA2NTUzNSBmDQowMDAwMDAwMTc2IDY1NTM1IGYNCjAwMDAwMDAxNzcgNjU1MzUgZg0KMDAwMDAwMDE3OCA2NTUzNSBmDQowMDAwMDAwMTc5IDY1NTM1IGYNCjAwMDAwMDAxODAgNjU1MzUgZg0KMDAwMDAwMDE4MSA2NTUzNSBmDQowMDAwMDAwMTgyIDY1NTM1IGYNCjAwMDAwMDAxODMgNjU1MzUgZg0KMDAwMDAwMDE4NCA2NTUzNSBmDQowMDAwMDAwMTg2IDY1NTM1IGYNCjAwMDAyMzEwODUgMDAwMDAgbg0KMDAwMDAwMDE4NyA2NTUzNSBmDQowMDAwMDAwMTg4IDY1NTM1IGYNCjAwMDAwMDAxODkgNjU1MzUgZg0KMDAwMDAwMDE5MCA2NTUzNSBmDQowMDAwMDAwMTkxIDY1NTM1IGYNCjAwMDAwMDAxOTIgNjU1MzUgZg0KMDAwMDAwMDE5MyA2NTUzNSBmDQowMDAwMDAwMTk1IDY1NTM1IGYNCjAwMDAyMzExMzYgMDAwMDAgbg0KMDAwMDAwMDE5NiA2NTUzNSBmDQowMDAwMDAwMTk3IDY1NTM1IGYNCjAwMDAwMDAxOTggNjU1MzUgZg0KMDAwMDAwMDE5OSA2NTUzNSBmDQowMDAwMDAwMjAwIDY1NTM1IGYNCjAwMDAwMDAyMDEgNjU1MzUgZg0KMDAwMDAwMDIwMiA2NTUzNSBmDQowMDAwMDAwMjAzIDY1NTM1IGYNCjAwMDAwMDAyMDUgNjU1MzUgZg0KMDAwMDIzMTE5MCAwMDAwMCBuDQowMDAwMDAwMjA2IDY1NTM1IGYNCjAwMDAwMDAyMDcgNjU1MzUgZg0KMDAwMDAwMDIwOCA2NTUzNSBmDQowMDAwMDAwMjA5IDY1NTM1IGYNCjAwMDAwMDAwMDAgNjU1MzUgZg0KMDAwMDIzMTI0MSAwMDAwMCBuDQowMDAwMjMxNDg2IDAwMDAwIG4NCjAwMDAyMzE5NzIgMDAwMDAgbg0KMDAwMDI3OTU1MCAwMDAwMCBuDQowMDAwMjgwMDI4IDAwMDAwIG4NCjAwMDAyODA1NjAgMDAwMDAgbg0KMDAwMDI4MDg2MiAwMDAwMCBuDQowMDAwMjkxNTI5IDAwMDAwIG4NCjAwMDAyOTE1NzMgMDAwMDAgbg0KMDAwMDI5MTYwMSAwMDAwMCBuDQowMDAwMjkyMjU2IDAwMDAwIG4NCjAwMDAzNDE3NzQgMDAwMDAgbg0KMDAwMDM0MjQ1NSAwMDAwMCBuDQowMDAwMzQyOTM5IDAwMDAwIG4NCjAwMDAzNDI5NjcgMDAwMDAgbg0KMDAwMDM0NjA2MCAwMDAwMCBuDQowMDAwMzQ2MTA2IDAwMDAwIG4NCnRyYWlsZXINCjw8L1NpemUgMjI3L1Jvb3QgMSAwIFIvSW5mbyAyMTAgMCBSL0lEWzw5MzhFMDMwRTBFRTJBODRFQjYwRERCNkRDNjZEQ0RERT48OTM4RTAzMEUwRUUyQTg0RUI2MEREQjZEQzY2RENEREU+XSA+Pg0Kc3RhcnR4cmVmDQozNDY4NzcNCiUlRU9GDQp4cmVmDQowIDANCnRyYWlsZXINCjw8L1NpemUgMjI3L1Jvb3QgMSAwIFIvSW5mbyAyMTAgMCBSL0lEWzw5MzhFMDMwRTBFRTJBODRFQjYwRERCNkRDNjZEQ0RERT48OTM4RTAzMEUwRUUyQTg0RUI2MEREQjZEQzY2RENEREU+XSAvUHJldiAzNDY4NzcvWFJlZlN0bSAzNDYxMDY+Pg0Kc3RhcnR4cmVmDQozNTE1NzgNCiUlRU9G\";\r\n\r\nexport default yardimBase64;\r\n","import React from \"react\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport \"dayjs/locale/en-gb\";\r\n\r\nexport default function DateInputForm({\r\n input,\r\n meta,\r\n label,\r\n defaultValue = \"\",\r\n ...rest\r\n}) {\r\n const formatDate = (timestamp) => {\r\n if (!timestamp) return \"\"; // Eğer timestamp yoksa boş döndür\r\n\r\n const timestampInMilliseconds = timestamp.valueOf();\r\n const date = new Date(timestampInMilliseconds);\r\n\r\n if (isNaN(date.getTime())) {\r\n return \"\"; // Geçersiz tarihlerde boş döndür\r\n }\r\n\r\n const year = date.getFullYear();\r\n const month = String(date.getMonth() + 1).padStart(2, \"0\");\r\n const day = String(date.getDate()).padStart(2, \"0\");\r\n\r\n return `${year}-${month}-${day}`;\r\n };\r\n\r\n return (\r\n <TextField\r\n {...input}\r\n sx={{\r\n width: \"100%\",\r\n input: {\r\n ...(!input?.value ? { color: \"grey\" } : {}),\r\n },\r\n }}\r\n label={label}\r\n onChange={(e) => input.onChange(e.target.value)}\r\n variant=\"standard\"\r\n type=\"date\"\r\n value={\r\n // input?.value ? dayjs(input?.value)?.format(\"YYYY-MM-DD\") : defaultValue\r\n formatDate(input?.value)\r\n }\r\n // value={input?.value}\r\n InputLabelProps={{\r\n shrink: true,\r\n }}\r\n inputProps={{ readOnly: rest.readOnly }}\r\n error={meta.error && meta.touched}\r\n helperText={meta.error && meta.touched ? meta.error : null}\r\n {...rest}\r\n />\r\n );\r\n}\r\n","import { YETKI_GRUBU_TIPI } from \"../constants\";\r\n\r\nconst sozlesmeTarihiBitmisMi = (context) => {\r\n return context?.user?.yetkiGrubuTipi === YETKI_GRUBU_TIPI.MUSTERI.Value\r\n ? context?.user?.destekSozBitis == null ||\r\n new Date(context?.user?.destekSozBitis).setHours(0, 0, 0, 0) <\r\n new Date().setHours(0, 0, 0, 0)\r\n : false;\r\n};\r\n\r\nconst ilkKurulumProjeBilgileriBitmisMi = (context) => {\r\n return context?.user?.yetkiGrubuTipi === YETKI_GRUBU_TIPI.MUSTERI.Value\r\n ? context?.user?.projeBitisTarihi == null ||\r\n new Date(context?.user?.projeBitisTarihi).setHours(0, 0, 0, 0) <\r\n new Date().setHours(0, 0, 0, 0)\r\n : false;\r\n};\r\n\r\nexport { sozlesmeTarihiBitmisMi, ilkKurulumProjeBilgileriBitmisMi };\r\n","import React, { useRef } from \"react\";\r\nimport { Preview, Task } from \"@mui/icons-material\";\r\nimport { Grid } from \"@mui/material\";\r\nimport { Form, Field } from \"react-final-form\";\r\nimport {\r\n ANALIZ_TIPI,\r\n ILGILI_MODUL,\r\n ONCELIK_DURUMU,\r\n RAPOR_KATEGORI,\r\n TALEP_DURUMU,\r\n TALEP_TIPI,\r\n URUN_PROGRAMLARI,\r\n YETKI_GRUBU_TIPI,\r\n} from \"../../common/constants\";\r\nimport ButtonWrapper from \"../../components/buttons/ButtonWrapper\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport * as yup from \"yup\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport { PageConfig, FileConfig } from \"./MusteriTalepConfig\";\r\nimport RichTextEditor from \"../../components/inputs/form-inputs/RichTextEditor\";\r\nimport PersonelInputForm from \"../../components/inputs/custom-form-inputs/PersonelInputForm\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport { getTalepDurumuArr } from \"../../common/constant-functions/getTalepDurumuArr\";\r\nimport PdfDialog from \"../../components/pdf/PdfDialog\";\r\nimport NumberInputForm from \"../../components/inputs/form-inputs/NumberInputForm\";\r\nimport AnalizSonucuDialog from \"../Home/AnalizSonucuDialog\";\r\nimport DateInputForm from \"../../components/inputs/form-inputs/DateInputForm\";\r\nimport AnalizSonucuButton from \"../../components/buttons/custom/AnalizSonucuButton\";\r\nimport {\r\n ilkKurulumProjeBilgileriBitmisMi,\r\n sozlesmeTarihiBitmisMi,\r\n} from \"../../common/constant-functions/sozlesmeTarihiBitmisMi\";\r\nimport CustomColoredButton from \"../../components/buttons/custom/CustomColoredButton\";\r\nimport IsKapatmaDialog from \"./IsKapatmaDialog\";\r\nimport IsKapatmaBtn from \"../../components/buttons/custom/IsKapatmaBtn\";\r\nimport { talebeAitDosyaVar } from \"../../common/apimessage\";\r\nimport AlertDialog from \"../../components/dialogs/AlertDialog\";\r\nimport useHandleDelete from \"../../hooks/use-handle-delete\";\r\nimport EkDosyaButton from \"../../components/buttons/custom/EkDosyaButton\";\r\nimport YorumlariGoruntuleButton from \"../../components/buttons/custom/YorumlariGoruntuleButton\";\r\nimport YorumDialog from \"../Home/YorumDialog\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport personelInputOnChangeExtra from \"../../common/constant-functions/personelInputOnChangeExtra\";\r\nimport EMailDialog from \"../Personel/EmailDialog\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport DialogContentTop from \"../../components/dialogs/DialogContentTop\";\r\nimport OnAnalizDialog from \"../Home/OnAnalizDialog\";\r\nimport SirketKisisiInputForm from \"../../components/inputs/custom-form-inputs/SirketKisisiInputForm\";\r\n\r\nconst MusteriTalepRecord = React.forwardRef(\r\n ({ ekranKodu, listGridRef }, ref) => {\r\n const personelInputRef = useRef();\r\n const teklifPdfDialogRef = useRef();\r\n const onayliPdfDialogRef = useRef();\r\n const analizSonucuDialogRef = useRef();\r\n const isKapatmaDialogRef = useRef();\r\n const deleteDialogRef = useRef();\r\n const yorumDialogRef = useRef();\r\n const emailDialogRef = useRef();\r\n const onAnalizDialogRef = useRef();\r\n const sirketKisisiInputRef = useRef();\r\n\r\n const deleteCheck = (res) => {\r\n if (res.data.message === talebeAitDosyaVar) {\r\n deleteDialogRef?.current?.openRecord(rowData.id);\r\n return true;\r\n } else return false;\r\n };\r\n\r\n const initialState = {\r\n raporKategori: RAPOR_KATEGORI.TALEP.Value,\r\n talepDurumu: TALEP_DURUMU.YENI_TALEP.Value,\r\n };\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n context,\r\n setRowDataFnc,\r\n } = usePageRecord(\r\n ref,\r\n PageConfig,\r\n listGridRef,\r\n ekranKodu,\r\n initialState,\r\n null,\r\n deleteCheck\r\n );\r\n\r\n const handleDeleteWithFiles = useHandleDelete(\r\n PageConfig.deleteWithFilesRoute,\r\n setRowDataFnc,\r\n handleClose,\r\n listGridRef\r\n );\r\n\r\n const readOnly =\r\n !yetki.kaydet ||\r\n //ekranKodu == EKRAN_KODU.MUSTERI_TALEP &&\r\n (rowData.talepDurumu != null &&\r\n rowData.talepDurumu !== TALEP_DURUMU.YENI_TALEP.Value);\r\n\r\n const validationSchema = yup.object().shape({\r\n talepBasligi: yup.string().required(),\r\n talepTipi: yup.number().required(),\r\n ilgiliModul: yup.number().required(),\r\n oncelik: yup.number().required(),\r\n platform: yup.number().required(),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n const recordButtonCondition =\r\n rowData.talepDurumu == null ||\r\n rowData.talepDurumu === TALEP_DURUMU.YENI_TALEP.Value ||\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value;\r\n\r\n const personelOnChangeExtra = (inputValue, newValue) => {\r\n personelInputOnChangeExtra(newValue.Value, emailDialogRef);\r\n };\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Yeni Talep\"\r\n maxWidth=\"lg\"\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <DialogContentTop>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <FieldWrapper\r\n label=\"Talep No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper\r\n label=\"Rapor Kategorisi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n items={Object.values(RAPOR_KATEGORI)}\r\n name=\"raporKategori\"\r\n component={AutocomplateInputForm}\r\n readOnly={true}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper\r\n label=\"Talep Eden Personel\"\r\n modalLoading={modalLoading}\r\n >\r\n {/* <Field\r\n name=\"talepEdenPersonelId\"\r\n rowData={rowData}\r\n component={PersonelInputForm}\r\n readOnly={readOnly}\r\n inputRef={personelInputRef}\r\n ekranKodu={ekranKodu}\r\n onChangeExtra={personelOnChangeExtra}\r\n /> */}\r\n <Field\r\n name=\"talepEdenPersonelKisiid\"\r\n rowData={rowData}\r\n component={SirketKisisiInputForm}\r\n readOnly={\r\n readOnly\r\n }\r\n inputRef={sirketKisisiInputRef}\r\n ekranKodu={ekranKodu}\r\n // sirketInputRef={sirketInputRef}\r\n // onChangeExtra={sirketKisisiOnChangeExtra}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Öncelik Durumu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"oncelik\"\r\n items={ONCELIK_DURUMU}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={readOnly}\r\n />\r\n </FieldWrapper>\r\n\r\n {rowData.teklifTutari > 0 && (\r\n <FieldWrapper\r\n label=\"Teklif Tutarı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Grid container direction=\"row\">\r\n <Grid item xs={10}>\r\n <Field\r\n name=\"teklifTutari\"\r\n component={NumberInputForm}\r\n readOnly={true}\r\n />\r\n </Grid>\r\n <Grid item xs={2}>\r\n <Field\r\n name=\"teklifBirimi\"\r\n component={TextInputForm}\r\n readOnly={true}\r\n />\r\n </Grid>\r\n </Grid>\r\n </FieldWrapper>\r\n )}\r\n\r\n <FieldWrapper\r\n label=\"İlgili Modül\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"ilgiliModul\"\r\n items={Object.values(ILGILI_MODUL)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={readOnly}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Platform\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"platform\"\r\n items={Object.values(URUN_PROGRAMLARI)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={readOnly}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <FieldWrapper\r\n label=\"Talep Tipi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"talepTipi\"\r\n items={TALEP_TIPI}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={readOnly}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper\r\n label=\"Talep Konusu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"talepBasligi\"\r\n component={TextInputForm}\r\n readOnly={readOnly}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper\r\n label=\"Talep Durumu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"talepDurumu\"\r\n items={getTalepDurumuArr()}\r\n // rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={true}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Termin Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"terminTarihi\"\r\n component={DateInputForm}\r\n readOnly\r\n // readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Özellik 1\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"ozellik\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n maxLength={15}\r\n />\r\n </FieldWrapper>\r\n {rowData.teklifTutari > 0 && (\r\n <FieldWrapper\r\n label=\"Kdv Oranı (%)\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"teklifKdvOrani\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n numberInput={true}\r\n />\r\n </FieldWrapper>\r\n )}\r\n </Grid>\r\n </DialogContentTop>\r\n\r\n <Field\r\n name=\"talepDetayi\"\r\n component={RichTextEditor}\r\n readOnly={readOnly}\r\n label=\"Talep Detayı\"\r\n modalLoading={modalLoading}\r\n />\r\n </DialogContentWrapper>\r\n\r\n <DialogActionsWrapper\r\n sx={{\r\n justifyContent: \"space-between\",\r\n }}\r\n >\r\n <Grid>\r\n <YorumlariGoruntuleButton\r\n onClick={(e) => {\r\n yorumDialogRef?.current?.openRecord(rowData.id);\r\n }}\r\n disabled={!rowData.id}\r\n />\r\n {rowData?.teklifTutari > 0 &&\r\n rowData?.teklifVerilisTarihi != null && (\r\n <CustomColoredButton\r\n color=\"teal\"\r\n startIcon={<Preview />}\r\n onClick={(e) => {\r\n teklifPdfDialogRef?.current?.openRecord(rowData.id);\r\n }}\r\n >\r\n Teklifi Görüntüle\r\n </CustomColoredButton>\r\n )}\r\n {rowData.id > 0 && rowData.onayliTeklifDosyasiVarMi && (\r\n <ButtonWrapper\r\n color=\"secondary\"\r\n startIcon={<Task />}\r\n onClick={(e) => {\r\n onayliPdfDialogRef?.current?.openRecord(rowData.id);\r\n }}\r\n >\r\n Onaylı Teklifi Görüntüle\r\n </ButtonWrapper>\r\n )}\r\n <EkDosyaButton\r\n reqData={{\r\n id: rowData.id,\r\n }}\r\n routes={FileConfig}\r\n ekranKodu={ekranKodu}\r\n parentRowData={rowData}\r\n disabled={!rowData?.id}\r\n ></EkDosyaButton>\r\n\r\n <AnalizSonucuButton\r\n onClick={(e) => {\r\n onAnalizDialogRef?.current?.openRecord(rowData?.id);\r\n // analizSonucuDialogRef?.current?.openRecord(rowData?.id);\r\n }}\r\n disabled={!rowData.id}\r\n ></AnalizSonucuButton>\r\n <IsKapatmaBtn\r\n isKapatmaDialogRef={isKapatmaDialogRef}\r\n rowData={rowData}\r\n yetki={yetki}\r\n ></IsKapatmaBtn>\r\n </Grid>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n submitCondition={recordButtonCondition}\r\n submitDisabled={\r\n sozlesmeTarihiBitmisMi(context) &&\r\n ilkKurulumProjeBilgileriBitmisMi(context)\r\n }\r\n deleteCondition={recordButtonCondition}\r\n modalLoading={modalLoading}\r\n submitButtonText={\"Talebi Kaydet\"}\r\n deleteButtonText={\"Talebi Sil\"}\r\n />\r\n </DialogActionsWrapper>\r\n <AlertDialog\r\n ref={deleteDialogRef}\r\n onayBtnClick={(id) => handleDeleteWithFiles(id)}\r\n dialogTitle=\"Talebe ait dosya var.\"\r\n contentText={talebeAitDosyaVar}\r\n ></AlertDialog>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n <PdfDialog\r\n ref={teklifPdfDialogRef}\r\n title=\"Teklif\"\r\n url=\"Talep/TeklifPdf\"\r\n />\r\n <PdfDialog\r\n ref={onayliPdfDialogRef}\r\n title=\"Onaylı Teklif\"\r\n url=\"Talep/TeklifOnayliBelge\"\r\n />\r\n <AnalizSonucuDialog\r\n ref={analizSonucuDialogRef}\r\n ekranKodu={ekranKodu}\r\n isEditable={false}\r\n rowData={rowData}\r\n ></AnalizSonucuDialog>\r\n <OnAnalizDialog\r\n ref={onAnalizDialogRef}\r\n ekranKodu={ekranKodu}\r\n isEditable={false}\r\n // setRowDataFnc={setRowDataFnc}\r\n // listGridRef={listGridRef}\r\n tip={ANALIZ_TIPI.AKSIYON_ANALIZI.Value}\r\n screenCapiton={\"Analiz Sonucu\"}\r\n ></OnAnalizDialog>\r\n <IsKapatmaDialog\r\n ref={isKapatmaDialogRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n setRowDataFnc={setRowDataFnc}\r\n ></IsKapatmaDialog>\r\n <YorumDialog\r\n ref={yorumDialogRef}\r\n listGridRef={listGridRef}\r\n ></YorumDialog>\r\n <EMailDialog\r\n ref={emailDialogRef}\r\n yetki={yetki}\r\n rowData={rowData}\r\n ></EMailDialog>\r\n </>\r\n );\r\n }\r\n);\r\n\r\nexport default MusteriTalepRecord;\r\n","import React from \"react\";\r\nimport { HttpAuthorizedFile } from \"../../common/common\";\r\nimport { printToast } from \"../../common/constant-functions/printToast\";\r\nimport useDialog from \"../../hooks/use-dialog\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport { FileUploader } from \"devextreme-react\";\r\nimport { loadingVisible } from \"../../common/constant-functions/loadingVisible\";\r\n\r\nconst TeklifOnayDialog = React.forwardRef(\r\n ({ ekranKodu, listGridRef, pdfDialogRef }, ref) => {\r\n const { open, closeRecord, id } = useDialog(ref);\r\n\r\n return (\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"Teklif Ver\"\r\n maxWidth=\"sm\"\r\n >\r\n <FileUploader\r\n style={{\r\n cursor: \"pointer\",\r\n border: \"1px dashed grey\",\r\n }}\r\n readyToUploadMessage=\"Dosya yüklemeye hazır\"\r\n selectButtonText=\"Dosya Seç\"\r\n labelText=\"veya dosyayı buraya sürükle\"\r\n uploadMode=\"useButtons\"\r\n uploadButtonText=\"Yükle\"\r\n uploadAbortedMessage=\"Yükleme işlemi iptal edildi\"\r\n uploadedMessage=\"Dosya Yüklendi\"\r\n uploadFailedMessage=\"Dosya Yüklenemedi\"\r\n maxFileSize={20971521} // 20mb max\r\n // allowedFileExtensions={[\".jpg\", \".jpeg\", \".pdf\", \".png\"]}\r\n uploaded\r\n // onUploadError={(e) => {\r\n // if (e.error?.statusText === 'File is too large') {\r\n // alert('Dosya boyutu .');\r\n // }\r\n // }}\r\n uploadFile={(file, callback) => {\r\n var FormData = require(\"form-data\");\r\n var reqData = new FormData();\r\n reqData.append(\"file\", file);\r\n reqData.append(\"id\", id);\r\n loadingVisible(true);\r\n\r\n HttpAuthorizedFile.post(\"MusteriTalep/TeklifOnay\", reqData)\r\n .then((res) => {\r\n closeRecord();\r\n listGridRef?.current?.instance?.refresh();\r\n pdfDialogRef?.current?.closeRecord();\r\n printToast(res.data);\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n })\r\n .finally(() => loadingVisible(false));\r\n }}\r\n />\r\n </ScrollDialog>\r\n );\r\n }\r\n);\r\nexport default TeklifOnayDialog;\r\n","import React from \"react\";\r\nimport * as yup from \"yup\";\r\nimport useDialog from \"../../hooks/use-dialog\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport { Stack } from \"@mui/material\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport ButtonWrapper from \"../../components/buttons/ButtonWrapper\";\r\nimport { Save } from \"@mui/icons-material\";\r\nimport MultilineTextInputForm from \"../../components/inputs/form-inputs/MultilineTextInputForm\";\r\nimport useSubmit from \"../../hooks/use-submit\";\r\n\r\nconst TeklifRedDialog = React.forwardRef(\r\n ({ ekranKodu, listGridRef, pdfDialogRef }, ref) => {\r\n const { open, closeRecord, validateFormValues, id } = useDialog(ref);\r\n\r\n const handleSubmit = useSubmit(\r\n { updateRoute: \"MusteriTalep/TeklifRed\" },\r\n null,\r\n listGridRef\r\n );\r\n\r\n const validationSchema = yup.object().shape({\r\n onayRedAciklama: yup.string().required(),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"Teklif Ver\"\r\n maxWidth=\"sm\"\r\n >\r\n <Form\r\n onSubmit={(values) =>\r\n handleSubmit({\r\n ...values,\r\n id: id,\r\n })\r\n }\r\n initialValues={{}}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <form onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <Stack direction=\"column\" spacing={1}>\r\n <FieldWrapper\r\n label=\"Red Açıklaması\"\r\n\r\n //modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"onayRedAciklama\"\r\n component={MultilineTextInputForm}\r\n type=\"text\"\r\n />\r\n </FieldWrapper>\r\n </Stack>\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n <ButtonWrapper\r\n color=\"success\"\r\n startIcon={<Save />}\r\n onClick={(e) => {\r\n form.submit();\r\n closeRecord();\r\n pdfDialogRef.current.closeRecord();\r\n }}\r\n >\r\n Kaydet\r\n </ButtonWrapper>\r\n </DialogActionsWrapper>\r\n </form>\r\n )}\r\n />\r\n </ScrollDialog>\r\n );\r\n }\r\n);\r\nexport default TeklifRedDialog;\r\n","function compareWithMonths(dateString, monthOffset, comparisonOperator) {\r\n const today = new Date();\r\n const compareDate = new Date(dateString);\r\n\r\n const adjustedDate = new Date();\r\n adjustedDate.setMonth(today.getMonth() + monthOffset);\r\n\r\n if (comparisonOperator === \"<\") {\r\n // parametre olarak aldığım ay değeri gönderdiğim ay değerinden örneğin -2 ise 2 ay öncesi ise true döner || +2 olsaydı 2 ay ssonrası ise true dönecekti\r\n return compareDate < adjustedDate;\r\n } else if (comparisonOperator === \">\") {\r\n return compareDate > adjustedDate;\r\n } else {\r\n throw new Error(\"Geçersiz karşılaştırma operatörü\");\r\n }\r\n}\r\nexport default compareWithMonths;\r\n","import { Close, Upload } from \"@mui/icons-material\";\r\nimport React, { useRef } from \"react\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport { YETKI_GRUBU_TIPI } from \"../../common/constants\";\r\nimport ButtonWrapper from \"../../components/buttons/ButtonWrapper\";\r\nimport PageFilter from \"../../components/filter/PageFilter\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\nimport PdfDialog from \"../../components/pdf/PdfDialog\";\r\nimport { PageConfig } from \"./MusteriTalepConfig\";\r\nimport MusteriTalepRecord from \"./MusteriTalepRecord\";\r\nimport TeklifOnayDialog from \"./TeklifOnayDialog\";\r\nimport TeklifRedDialog from \"./TeklifRedDialog\";\r\nimport {\r\n ilkKurulumProjeBilgileriBitmisMi,\r\n sozlesmeTarihiBitmisMi,\r\n} from \"../../common/constant-functions/sozlesmeTarihiBitmisMi\";\r\nimport GridTeklifPdfButton from \"../../components/buttons/custom/GridTeklifPdfButton\";\r\nimport GridIsSonucuButton from \"../../components/buttons/custom/GridIsSonucuButton\";\r\nimport IsSonucuDialog from \"../Home/IsSonucuDialog\";\r\nimport AlertDialog from \"../../components/dialogs/AlertDialog\";\r\nimport compareWithMonths from \"../../common/constant-functions/compareWithMonths\";\r\n\r\nexport default function MusteriTalep({ ekranKodu }) {\r\n const listGridRef = useRef();\r\n const filterRef = useRef();\r\n const recordRef = useRef();\r\n const yorumRef = useRef();\r\n const pdfDialogRef = useRef();\r\n const teklifRedDialogRef = useRef();\r\n const dosyaYukleRef = useRef();\r\n const isSonucuDialogRef = useRef();\r\n const alertDialogRef = useRef();\r\n\r\n const context = React.useContext(AppContext);\r\n const CustomColumnButton = [\r\n GridTeklifPdfButton(pdfDialogRef, true, alertDialogRef),\r\n GridIsSonucuButton(isSonucuDialogRef),\r\n ];\r\n\r\n // const onSelectionChanged = ({ currentSelectedRowKeys, selectedRowKeys }) => {\r\n // if (selectedRowKeys && selectedRowKeys[0]) {\r\n // let talepId = selectedRowKeys[0];\r\n // HttpAuthorized.post(apiUrl + \"Yorum/List\", { talepId: talepId }).then(\r\n // async (res) => {\r\n // await yorumRef.current.setIsEdit(false);\r\n\r\n // await yorumRef.current.setYorumData({\r\n // talepId: talepId,\r\n // yorumlar: res.data.data,\r\n // });\r\n\r\n // await listGridRef.current.instance.refresh();\r\n // }\r\n // );\r\n // }\r\n // };\r\n\r\n return (\r\n <>\r\n <PageFilter\r\n PageConfig={PageConfig}\r\n ref={filterRef}\r\n listGridRef={listGridRef}\r\n />\r\n <PageGrid\r\n gridId=\"MusteriTalep\"\r\n PageConfig={PageConfig}\r\n listGridRef={listGridRef}\r\n filterRef={filterRef}\r\n recordRef={recordRef}\r\n isCreatable\r\n ekleBtnDisabled={\r\n sozlesmeTarihiBitmisMi(context) &&\r\n ilkKurulumProjeBilgileriBitmisMi(context)\r\n }\r\n ekranKodu={ekranKodu}\r\n allowSingleSelection={true}\r\n // onSelectionChanged={onSelectionChanged}\r\n // height={\"50vh\"}\r\n CustomColumnButton={CustomColumnButton}\r\n ekleButtonText={\"Talep Ekle\"}\r\n />\r\n <MusteriTalepRecord\r\n ref={recordRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n ></MusteriTalepRecord>\r\n {/* <Yorum ref={yorumRef} /> */}\r\n <PdfDialog\r\n ref={pdfDialogRef}\r\n title=\"Teklif\"\r\n url=\"Talep/TeklifPdf\"\r\n actionButtons={\r\n <>\r\n <ButtonWrapper\r\n color=\"error\"\r\n startIcon={<Close />}\r\n onClick={() => {\r\n teklifRedDialogRef?.current?.openRecord(\r\n pdfDialogRef?.current?.id\r\n );\r\n }}\r\n >\r\n Teklifi Reddet\r\n </ButtonWrapper>\r\n <ButtonWrapper\r\n color=\"success\"\r\n startIcon={<Upload />}\r\n onClick={() => {\r\n if (\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.MUSTERI.Value\r\n ) {\r\n const isTwoMonthsBefore = compareWithMonths(\r\n pdfDialogRef?.current?.data,\r\n -2,\r\n \"<\"\r\n );\r\n\r\n if (isTwoMonthsBefore) {\r\n alertDialogRef?.current?.openRecord();\r\n return;\r\n }\r\n }\r\n\r\n dosyaYukleRef?.current?.openRecord(pdfDialogRef?.current?.id);\r\n }}\r\n >\r\n Teklifi Onayla ve İmzalı Belgeyi Yükle\r\n </ButtonWrapper>\r\n </>\r\n }\r\n ></PdfDialog>\r\n <TeklifRedDialog\r\n ref={teklifRedDialogRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n pdfDialogRef={pdfDialogRef}\r\n ></TeklifRedDialog>\r\n <TeklifOnayDialog\r\n ref={dosyaYukleRef}\r\n listGridRef={listGridRef}\r\n pdfDialogRef={pdfDialogRef}\r\n ></TeklifOnayDialog>\r\n <IsSonucuDialog\r\n ref={isSonucuDialogRef}\r\n isEditable={false}\r\n ></IsSonucuDialog>\r\n <AlertDialog\r\n ref={alertDialogRef}\r\n dialogTitle=\"Teklif Zaman Aşımına Uğradı\"\r\n contentText=\"Teklif zaman aşımına uğradı lütfen tekrar teklif isteyiniz.\"\r\n dialogActionsVisible={false}\r\n ></AlertDialog>\r\n </>\r\n );\r\n}\r\n","import { Button } from \"@mui/material\";\r\nimport React from \"react\";\r\nimport SupportAgentIcon from \"@mui/icons-material/SupportAgent\";\r\n\r\nexport default function DestekSuresiDurumuButton({ onClick }) {\r\n return (\r\n <Button\r\n sx={{\r\n p: \"1px 7px\",\r\n fontSize: \"10pt\",\r\n textTransform: \"unset\",\r\n }}\r\n color=\"info\"\r\n variant=\"contained\"\r\n startIcon={<SupportAgentIcon />}\r\n size=\"small\"\r\n onClick={onClick}\r\n >\r\n Destek Süresi Durumu\r\n </Button>\r\n );\r\n}\r\n","import { Alert, Grid, Typography } from \"@mui/material\";\r\nimport { Stack } from \"@mui/system\";\r\nimport React, { useState } from \"react\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport { printToast } from \"../../common/constant-functions/printToast\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport { ctheme } from \"../../theme/theme\";\r\n\r\nfunction SureTypography(label, value, color) {\r\n return (\r\n <Grid\r\n sx={{ display: \"flex\", justifyContent: \"space-between\" }}\r\n container\r\n direction=\"row\"\r\n >\r\n <Typography variant=\"body2\">{label}:</Typography>\r\n <Typography\r\n variant=\"body2\"\r\n color={color ? color : ctheme.colors.retroLime}\r\n >\r\n {` ${value?.toFixed(2)} Dakika`}\r\n </Typography>\r\n </Grid>\r\n );\r\n}\r\n\r\nconst DestekSuresiDialog = React.forwardRef(({ filterRef }, ref) => {\r\n const [open, setOpen] = useState(false);\r\n const [rowData, setRowData] = useState({});\r\n\r\n async function fetchData(sirketId) {\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: \"Destek/DestekSuresi\",\r\n data: { sirketId: sirketId, month: filterRef?.current?.filterData?.ay },\r\n })\r\n .then((res) => {\r\n setRowData(res.data.data);\r\n // setModalLoading(false);\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n });\r\n }\r\n\r\n const openRecord = (sirketId) => {\r\n setOpen(true);\r\n fetchData(sirketId);\r\n };\r\n const closeRecord = (id) => {\r\n setOpen(false);\r\n };\r\n\r\n React.useImperativeHandle(ref, () => ({\r\n openRecord: openRecord,\r\n closeRecord: closeRecord,\r\n }));\r\n\r\n const tarihAraligi = () => {\r\n const today = new Date();\r\n const selectedMonth = filterRef?.current?.filterData?.ay\r\n ? filterRef?.current?.filterData?.ay - 1\r\n : today.getMonth();\r\n const firstDayOfMonth = new Date(today.getFullYear(), selectedMonth, 1);\r\n const lastDayOfMonth = new Date(today.getFullYear(), selectedMonth + 1, 0);\r\n return `${firstDayOfMonth.toLocaleDateString(\r\n \"tr-TR\"\r\n )} - ${lastDayOfMonth.toLocaleDateString(\"tr-TR\")}`;\r\n };\r\n\r\n return (\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"Destek Süresi Durumu\"\r\n maxWidth=\"xs\"\r\n >\r\n <Stack sx={{ p: 4 }} spacing={2}>\r\n {SureTypography(\r\n \"Kullanılan Destek Süresi\",\r\n rowData.degerlendirmeyeAlinanSure ?? 0\r\n )}\r\n {SureTypography(\"Aylık Standart Süre\", rowData.anlasilanSure ?? 0)}\r\n {SureTypography(\r\n \"Kalan Destek Süresi\",\r\n (rowData.anlasilanSure ?? 0) -\r\n (rowData.degerlendirmeyeAlinanSure ?? 0) <\r\n 0\r\n ? 0\r\n : (rowData.anlasilanSure ?? 0) -\r\n (rowData.degerlendirmeyeAlinanSure ?? 0)\r\n )}\r\n {SureTypography(\"Süre Aşımı\", rowData.sureAsimi ?? 0, \"red\")}\r\n\r\n <Typography variant=\"body2\">\r\n {tarihAraligi()} tarihleri arasında alınan toplam destek süresi\r\n gösterilmektedir.\r\n </Typography>\r\n\r\n <Alert severity=\"error\">\r\n Yazılımsal hata kaynaklı iş süreleri kullanılan destek süresine dahil\r\n edilmemiştir.\r\n </Alert>\r\n </Stack>\r\n </ScrollDialog>\r\n );\r\n});\r\n\r\nexport default DestekSuresiDialog;\r\n","const fillYearForSelect = () => {\r\n const YIL = [];\r\n const currentYear = new Date().getFullYear();\r\n\r\n for (let year = 1998; year <= currentYear; year++) {\r\n YIL.push({ Value: year, Text: year.toString() });\r\n }\r\n return YIL.reverse();\r\n};\r\n\r\nexport default fillYearForSelect;\r\n","import Type from \"../../entities/Destek\";\r\n\r\nconst PageConfig = {\r\n title: \"Danışmanlık Girişi\",\r\n ekranKodu: \"Destek_Res\",\r\n type: Type,\r\n listRoute: \"Destek/DestekList\",\r\n getByIdRoute: \"Destek/GetById\",\r\n insertRoute: \"Destek/Insert\",\r\n updateRoute: \"Destek/Update\",\r\n deleteRoute: \"Destek/Delete\",\r\n};\r\n\r\nexport default PageConfig;\r\n","import { AY, DATE_FORMAT, DESTEK_ISLEM_TURU } from \"../common/constants\";\r\nimport SirketInputForm from \"../components/inputs/custom-form-inputs/SirketInputForm\";\r\nimport dayjs from \"dayjs\";\r\nimport { parseHtmlString } from \"../common/constant-functions/parseHtmlString\";\r\nimport {\r\n ACIKLAMA_WIDTH,\r\n DATE_WIDTH,\r\n ID_WIDTH,\r\n} from \"../common/entityconstants\";\r\nimport KullaniciInputForm from \"../components/inputs/custom-form-inputs/KullaniciInputForm\";\r\nimport { sorumluJoin } from \"../common/constant-functions/sorumluJoin\";\r\nimport fillYearForSelect from \"../common/constant-functions/fillYearForSelect\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"sirketAdi\",\r\n label: \"Şirket Adı\",\r\n dataType: \"text\",\r\n dataField: \"sirketAdi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"tarih\",\r\n label: \"Destek Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"tarih\",\r\n visible: [\"grid\"],\r\n format: DATE_FORMAT,\r\n firstSort: \"desc\",\r\n width: DATE_WIDTH,\r\n },\r\n {\r\n name: \"aciklama\",\r\n label: \"Hizmet Açıklaması\",\r\n dataType: \"text\",\r\n dataField: \"aciklama\",\r\n visible: [\"grid\"],\r\n customizeText: (e) => e?.value && parseHtmlString(e?.value),\r\n width: ACIKLAMA_WIDTH,\r\n },\r\n {\r\n name: \"destekSuresi\",\r\n label: \"Süre (Dakika) \",\r\n dataType: \"text\",\r\n dataField: \"destekSuresi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"destekVerenIdStr\",\r\n label: \"Hizmet Sağlayan\",\r\n dataType: \"text\",\r\n dataField: \"destekVerenIdStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"destekAlanKisiidStr\",\r\n label: \"Hizmet Alan\",\r\n dataType: \"text\",\r\n dataField: \"destekAlanKisiidStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"islemTuru\",\r\n label: \"İşlem Türü\",\r\n dataType: \"select\",\r\n dataField: \"islemTuru\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(DESTEK_ISLEM_TURU),\r\n },\r\n // {\r\n // name: \"sirket_Kod\",\r\n // label: \"Şirket Kodu\",\r\n // dataType: \"text\",\r\n // dataField: \"sirket_Kod\",\r\n // visible: [\"grid\"],\r\n // },\r\n //todo------------------------filtre-----------------------------------\r\n {\r\n name: \"sirketId\",\r\n label: \"Şirket Adı\",\r\n dataType: \"custom\",\r\n dataField: \"sirketId\",\r\n visible: [\"filter\"],\r\n customComponent: SirketInputForm,\r\n customComponentParams: {},\r\n },\r\n {\r\n name: \"ay\",\r\n label: \"Ay\",\r\n dataType: \"select\",\r\n dataField: \"ay\",\r\n visible: [\"filter\"],\r\n items: AY,\r\n defaultValue: dayjs().month() + 1, // dayjs().month() + 1 bulunduğumuz ayın ay değerini int olarak alır 3 gibi\r\n notSort: true\r\n },\r\n {\r\n name: \"yil\",\r\n label: \"Yıl\",\r\n dataType: \"select\",\r\n dataField: \"yil\",\r\n visible: [\"filter\"],\r\n items: fillYearForSelect(),\r\n defaultValue: dayjs().year(),\r\n },\r\n {\r\n name: \"destekVerenId\",\r\n label: \"Hizmet Sağlayan\",\r\n dataType: \"custom\",\r\n dataField: \"destekVerenId\",\r\n visible: [\"filter\"],\r\n customComponent: KullaniciInputForm,\r\n },\r\n // {\r\n // name: \"destekVerenIdStr\",\r\n // label: \"Hizmet Sağlayan\",\r\n // dataType: \"text\",\r\n // dataField: \"destekVerenIdStr\",\r\n // visible: [\"filter\"],\r\n // },\r\n {\r\n name: \"islemTuru\",\r\n label: \"İşlem Türü\",\r\n dataType: \"select\",\r\n dataField: \"islemTuru\",\r\n visible: [\"filter\"],\r\n items: Object.values(DESTEK_ISLEM_TURU),\r\n },\r\n {\r\n name: \"sorumlular\",\r\n label: \"Sorumlular\",\r\n dataType: \"text\",\r\n dataField: \"sorumlular\",\r\n visible: [\"grid\"],\r\n // cellRender: (e) => SorumluChip(e?.value),\r\n customizeText: (cellData) => sorumluJoin(cellData?.value),\r\n allowSorting: false,\r\n },\r\n {\r\n name: \"hizmetAciklamasi\",\r\n label: \"Hizmet Açıklaması\",\r\n dataType: \"text\",\r\n dataField: \"hizmetAciklamasi\",\r\n visible: [\"filter\"],\r\n },\r\n];\r\n\r\nexport default entity;\r\n","import React, { useRef } from \"react\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport PageConfig from \"./DestekConfig\";\r\nimport * as yup from \"yup\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport RichTextEditor from \"../../components/inputs/form-inputs/RichTextEditor\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport { Grid } from \"@mui/material\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport { DESTEK_ISLEM_TURU, EKRAN_KODU, ILGILI_MODUL } from \"../../common/constants\";\r\nimport SirketInputForm from \"../../components/inputs/custom-form-inputs/SirketInputForm\";\r\nimport MultipleAutocomplateInputForm from \"../../components/inputs/form-inputs/MultipleAutoComplateInputForm\";\r\nimport HomeRecord from \"../Home/HomeRecord\";\r\nimport TalepGoruntuleButton from \"../../components/buttons/custom/TalepGoruntuleButton\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport DialogContentTop from \"../../components/dialogs/DialogContentTop\";\r\nimport DateInputForm2 from \"../../components/inputs/form-inputs/DateInputForm2\";\r\nimport SirketKisisiInputForm from \"../../components/inputs/custom-form-inputs/SirketKisisiInputForm\";\r\n\r\nconst DestekDetayRecord = React.forwardRef(\r\n ({ ekranKodu, listGridRef }, ref) => {\r\n const talepRecordRef = useRef();\r\n const sirketInputRef = useRef();\r\n const sirketKisisiInputRef = useRef();\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n context,\r\n } = usePageRecord(ref, PageConfig, listGridRef, ekranKodu);\r\n\r\n const validationSchema = yup.object().shape({\r\n destekVerenId: yup.number().required(),\r\n aciklama: yup.string().required(),\r\n destekAlanId: yup.number().when(\"islemTuru\", {\r\n is: (value) =>\r\n [\r\n DESTEK_ISLEM_TURU.ANALIZ_VE_TEST.Value,\r\n DESTEK_ISLEM_TURU.GUNCELLEME.Value,\r\n DESTEK_ISLEM_TURU.KURULUM.Value,\r\n ].includes(value),\r\n then: yup.number().nullable(),\r\n otherwise: yup.number().required(), //whendeki koşul sağlanmazsa çalışır\r\n }),\r\n sorumlular: yup.array().when(\"islemTuru\", {\r\n is: (value) =>\r\n [\r\n DESTEK_ISLEM_TURU.YAZILIMSAL_HATA.Value,\r\n DESTEK_ISLEM_TURU.INCELEME.Value,\r\n ].includes(value),\r\n then: yup.array().required(),\r\n otherwise: yup.array().nullable(),\r\n }),\r\n km: yup.number().when(\"islemTuru\", {\r\n is: (value) => value === DESTEK_ISLEM_TURU.FIRMA_ZIYARETI.Value,\r\n then: yup.number().required(),\r\n otherwise: yup.number().nullable(),\r\n }),\r\n yolUcreti: yup.number().when(\"islemTuru\", {\r\n is: (value) => value === DESTEK_ISLEM_TURU.FIRMA_ZIYARETI.Value,\r\n then: yup.number().required(),\r\n otherwise: yup.number().nullable(),\r\n }),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n const yonlendirilecekSorumluVisible = () => {\r\n return (\r\n rowData.islemTuru === DESTEK_ISLEM_TURU.YAZILIMSAL_HATA.Value ||\r\n rowData.islemTuru === DESTEK_ISLEM_TURU.INCELEME.Value\r\n );\r\n };\r\n\r\n const firmaZiyaretiExtraFieldVisible = () => {\r\n return rowData.islemTuru === DESTEK_ISLEM_TURU.FIRMA_ZIYARETI.Value;\r\n };\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Danışmanlık Kaydı\"\r\n maxWidth=\"lg\"\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n errors,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <DialogContentTop>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <FieldWrapper label=\"No\" modalLoading={modalLoading}>\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Danışmanlık Süresi (DK)\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"destekSuresi\"\r\n component={TextInputForm}\r\n readOnly={\r\n !yetki.kaydet ||\r\n yonlendirilecekSorumluVisible() ||\r\n rowData.tahsilEdildi\r\n }\r\n numberInput={true}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper\r\n label=\"Sorumlu Personel\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"destekVerenId\"\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute: \"User/KullaniciListForSelect\",\r\n fildsForText: [\"isimSoyisim\"],\r\n fieldForValue: \"id\",\r\n reqData: { getSirket_KodFromSession: true },\r\n }}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"İşlem Türü\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"islemTuru\"\r\n items={Object.values(DESTEK_ISLEM_TURU)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={true}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"İlgili Modül\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"ilgiliModul\"\r\n items={Object.values(ILGILI_MODUL)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={true}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <FieldWrapper\r\n label=\"Danışmanlık Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"tarih\"\r\n component={DateInputForm2}\r\n readOnly={true}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper label=\"Müşteri Adı\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"sirketId\"\r\n rowData={rowData}\r\n component={SirketInputForm}\r\n readOnly={true}\r\n inputRef={sirketInputRef}\r\n sirketKisisiInputRef={sirketKisisiInputRef}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Danışmanlık Verilen Kişi\"\r\n modalLoading={modalLoading}\r\n >\r\n {/* <Field\r\n name=\"destekAlanId\"\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute: \"Personel/ListForSelect\",\r\n fildsForText: [\"adSoyad\"],\r\n fieldForValue: \"id\",\r\n reqData: {\r\n sirketId: rowData?.sirketId,\r\n },\r\n }}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n /> */}\r\n {/* <Field\r\n name=\"destekAlanKisiid\"\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute: \"Personel/ListForSelect\",\r\n fildsForText: [\"adSoyad\"],\r\n fieldForValue: \"id\",\r\n reqData: {\r\n sirketId: rowData?.sirketId,\r\n },\r\n }}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n /> */}\r\n <Field\r\n name=\"destekAlanKisiid\"\r\n rowData={rowData}\r\n component={SirketKisisiInputForm}\r\n readOnly={\r\n !yetki.kaydet ||\r\n sirketInputRef?.current?.value === \"\"\r\n\r\n }\r\n inputRef={sirketKisisiInputRef}\r\n ekranKodu={ekranKodu}\r\n sirketInputRef={sirketInputRef}\r\n // onChangeExtra={sirketKisisiOnChangeExtra}\r\n />\r\n </FieldWrapper>\r\n\r\n {yonlendirilecekSorumluVisible() && (\r\n <FieldWrapper\r\n label=\"Yönlendirilecek Sorumlu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"sorumlular\"\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute:\r\n \"User/KullaniciListForTalepYonlendirmeSelect\",\r\n fildsForText: [\"isimSoyisim\"],\r\n fieldForValue: \"id\",\r\n reqData: {\r\n talepId: rowData.talepId,\r\n },\r\n }}\r\n component={MultipleAutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n )}\r\n\r\n {firmaZiyaretiExtraFieldVisible() && (\r\n <Grid\r\n container\r\n rowSpacing={1}\r\n columnSpacing={{ xs: 1, sm: 2, md: 3 }}\r\n >\r\n <Grid item xs={12} sm={6}>\r\n <FieldWrapper\r\n label=\"KM\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"km\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n numberInput={true}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Konaklama Ücreti\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"konaklamaUcreti\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n numberInput={true}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n <Grid item xs={12} sm={6}>\r\n <FieldWrapper\r\n label=\"Yol Ücreti\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"yolUcreti\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n numberInput={true}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Yemek Ücreti\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"yemekUcreti\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n numberInput={true}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n </Grid>\r\n )}\r\n </Grid>\r\n </DialogContentTop>\r\n\r\n <Field\r\n name=\"aciklama\"\r\n component={RichTextEditor}\r\n readOnly={!yetki.kaydet}\r\n label={\"Hizmet Açıklaması\"}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper\r\n container\r\n sx={{\r\n justifyContent: \"space-between\",\r\n }}\r\n >\r\n <Grid>\r\n {rowData.talepId > 0 && (\r\n <TalepGoruntuleButton\r\n onClick={(e) => {\r\n talepRecordRef?.current?.openRecord(rowData.talepId);\r\n }}\r\n />\r\n )}\r\n </Grid>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n deleteDisabled={context.user.id !== rowData.destekVerenId}\r\n submitExtra={() => {\r\n if (Object.keys(errors).length < 1) {\r\n handleClose();\r\n }\r\n }}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n <HomeRecord\r\n ref={talepRecordRef}\r\n ekranKodu={EKRAN_KODU.ANASAYFA.value}\r\n listGridRef={listGridRef}\r\n ></HomeRecord>\r\n </>\r\n );\r\n }\r\n);\r\n\r\nexport default DestekDetayRecord;\r\n","import React, { useRef } from \"react\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport PageConfig from \"./DestekConfig\";\r\nimport * as yup from \"yup\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport RichTextEditor from \"../../components/inputs/form-inputs/RichTextEditor\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport { Grid } from \"@mui/material\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport dayjs from \"dayjs\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport SirketInputForm from \"../../components/inputs/custom-form-inputs/SirketInputForm\";\r\nimport PersonelInputForm from \"../../components/inputs/custom-form-inputs/PersonelInputForm\";\r\nimport {\r\n DESTEK_ISLEM_TURU,\r\n EKRAN_KODU,\r\n ILGILI_MODUL,\r\n RAPOR_KATEGORI,\r\n} from \"../../common/constants\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport MultipleAutocomplateInputForm from \"../../components/inputs/form-inputs/MultipleAutoComplateInputForm\";\r\nimport TalepGoruntuleButton from \"../../components/buttons/custom/TalepGoruntuleButton\";\r\nimport HomeRecord from \"../Home/HomeRecord\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport DialogContentTop from \"../../components/dialogs/DialogContentTop\";\r\nimport DateInputForm2 from \"../../components/inputs/form-inputs/DateInputForm2\";\r\nimport SirketKisisiInputForm from \"../../components/inputs/custom-form-inputs/SirketKisisiInputForm\";\r\n\r\nconst DestekRecord = React.forwardRef(\r\n ({ ekranKodu, listGridRef, state, afterSubmitFnc }, ref) => {\r\n const context = React.useContext(AppContext);\r\n\r\n const initialState = {\r\n tarih: dayjs(),\r\n destekVerenId: context?.user?.id,\r\n destekVerenIdStr: `${context?.user?.isim} ${context?.user?.soyisim}`,\r\n raporKategori: RAPOR_KATEGORI.DESTEK.Value,\r\n ...state,\r\n };\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n } = usePageRecord(\r\n ref,\r\n PageConfig,\r\n listGridRef,\r\n ekranKodu,\r\n initialState,\r\n afterSubmitFnc\r\n );\r\n\r\n const sirketInputRef = useRef();\r\n const iletisimKurulanKisiInputRef = useRef();\r\n const sirketKisisiInputRef = useRef();\r\n\r\n const islemTuruInputRef = useRef();\r\n const talepRecordRef = useRef();\r\n\r\n // const today = dayjs().startOf(\"day\");\r\n // const minDate = today.subtract(2, \"month\").startOf(\"day\");\r\n\r\n const validationSchema = yup.object().shape({\r\n tarih: yup\r\n .date()\r\n .min(\r\n dayjs().startOf(\"day\").subtract(2, \"month\").startOf(\"day\").toDate(),\r\n \"Bulunduğunuz tarihten 2 Ay öncesine destek kaydı giremezsiniz.\"\r\n )\r\n .required(),\r\n islemTuru: yup.number().required(),\r\n destekAlanKisiid: yup.number().when(\"islemTuru\", {\r\n is: (value) =>\r\n [\r\n DESTEK_ISLEM_TURU.ANALIZ_VE_TEST.Value,\r\n DESTEK_ISLEM_TURU.GUNCELLEME.Value,\r\n DESTEK_ISLEM_TURU.KURULUM.Value,\r\n ].includes(value),\r\n then: yup.number().nullable(),\r\n otherwise: yup.number().required(), //whendeki koşul sağlanmazsa çalışır\r\n }),\r\n sirketId: yup.number().required(),\r\n // destekSuresi: yup.number().required(),\r\n aciklama: yup.string().required(),\r\n destekVerenId: yup.number().required(),\r\n destekSuresi: yup.number().when(\"islemTuru\", {\r\n is: (value) =>\r\n [\r\n DESTEK_ISLEM_TURU.YAZILIMSAL_HATA.Value,\r\n DESTEK_ISLEM_TURU.INCELEME.Value,\r\n ].includes(value),\r\n then: yup.number().nullable(),\r\n otherwise: yup.number().required(),\r\n }),\r\n sorumlular: yup.array().when(\"islemTuru\", {\r\n is: (value) =>\r\n [\r\n DESTEK_ISLEM_TURU.YAZILIMSAL_HATA.Value,\r\n DESTEK_ISLEM_TURU.INCELEME.Value,\r\n ].includes(value),\r\n then: yup.array().required(),\r\n otherwise: yup.array().nullable(),\r\n }),\r\n km: yup.number().when(\"islemTuru\", {\r\n is: (value) => value === DESTEK_ISLEM_TURU.FIRMA_ZIYARETI.Value,\r\n then: yup.number().required(),\r\n otherwise: yup.number().nullable(),\r\n }),\r\n yolUcreti: yup.number().when(\"islemTuru\", {\r\n is: (value) => value === DESTEK_ISLEM_TURU.FIRMA_ZIYARETI.Value,\r\n then: yup.number().required(),\r\n otherwise: yup.number().nullable(),\r\n }),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n const yonlendirilecekSorumluVisible = () => {\r\n return (\r\n islemTuruInputRef?.current?.value ===\r\n DESTEK_ISLEM_TURU.YAZILIMSAL_HATA.Value ||\r\n islemTuruInputRef?.current?.value === DESTEK_ISLEM_TURU.INCELEME.Value\r\n );\r\n };\r\n\r\n const firmaZiyaretiExtraFieldVisible = () => {\r\n return (\r\n islemTuruInputRef?.current?.value ===\r\n DESTEK_ISLEM_TURU.FIRMA_ZIYARETI.Value ||\r\n rowData.islemTuru === DESTEK_ISLEM_TURU.FIRMA_ZIYARETI.Value\r\n );\r\n };\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Danışmanlık Kayıt Girişi\"\r\n maxWidth=\"lg\"\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n errors,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <DialogContentTop>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <FieldWrapper label=\"No\" modalLoading={modalLoading}>\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Rapor Kategorisi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n items={Object.values(RAPOR_KATEGORI)}\r\n name=\"raporKategori\"\r\n component={AutocomplateInputForm}\r\n readOnly={true}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Danışmanlık Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"tarih\"\r\n component={DateInputForm2}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper label=\"Sorumlu Personel\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"destekVerenId\"\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute: \"User/KullaniciListForSelect\",\r\n fildsForText: [\"isimSoyisim\"],\r\n fieldForValue: \"id\",\r\n reqData: { getSirket_KodFromSession: true },\r\n }}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n {!yonlendirilecekSorumluVisible() && (\r\n <FieldWrapper\r\n label=\"Danışmanlık Süresi (DK)\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"destekSuresi\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n numberInput={true}\r\n disabled={yonlendirilecekSorumluVisible()}\r\n />\r\n </FieldWrapper>\r\n )}\r\n </Grid>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <FieldWrapper\r\n label=\"Müşteri Adı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"sirketId\"\r\n rowData={rowData}\r\n component={SirketInputForm}\r\n readOnly={!yetki.kaydet}\r\n inputRef={sirketInputRef}\r\n personelInputRef={iletisimKurulanKisiInputRef}\r\n sirketKisisiInputRef={sirketKisisiInputRef}\r\n onChangeExtra={(old, newVal) => {\r\n if (newVal?.Value && newVal?.Value != old.Value) {\r\n form.change(\"destekAlanKisiid\", null);\r\n }\r\n }}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper\r\n label=\"Danışmanlık Verilen Kişi\"\r\n modalLoading={modalLoading}\r\n >\r\n {/* <Field\r\n name=\"destekAlanId\"\r\n rowData={rowData}\r\n component={PersonelInputForm}\r\n readOnly={\r\n !yetki.kaydet ||\r\n sirketInputRef?.current?.value === \"\"\r\n }\r\n inputRef={iletisimKurulanKisiInputRef}\r\n ekranKodu={ekranKodu}\r\n sirketInputRef={sirketInputRef}\r\n /> */}\r\n <Field\r\n name=\"destekAlanKisiid\"\r\n rowData={rowData}\r\n component={SirketKisisiInputForm}\r\n readOnly={\r\n !yetki.kaydet ||\r\n sirketInputRef?.current?.value === \"\"\r\n\r\n }\r\n inputRef={sirketKisisiInputRef}\r\n ekranKodu={ekranKodu}\r\n sirketInputRef={sirketInputRef}\r\n // onChangeExtra={sirketKisisiOnChangeExtra}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"İşlem Türü\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"islemTuru\"\r\n items={Object.values(DESTEK_ISLEM_TURU)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n ref={islemTuruInputRef}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"İlgili Modül\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"ilgiliModul\"\r\n items={Object.values(ILGILI_MODUL)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n {/* todo bu işlem türü firma ziyareti seçildiğinde gözükecek */}\r\n {firmaZiyaretiExtraFieldVisible() && (\r\n <Grid\r\n container\r\n rowSpacing={1}\r\n columnSpacing={{ xs: 1, sm: 2, md: 3 }}\r\n >\r\n <Grid item xs={12} sm={6}>\r\n <FieldWrapper\r\n label=\"KM\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"km\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n numberInput={true}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Konaklama Ücreti\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"konaklamaUcreti\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n numberInput={true}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n <Grid item xs={12} sm={6}>\r\n <FieldWrapper\r\n label=\"Yol Ücreti\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"yolUcreti\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n numberInput={true}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Yemek Ücreti\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"yemekUcreti\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n numberInput={true}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n </Grid>\r\n )}\r\n\r\n {yonlendirilecekSorumluVisible() && (\r\n <FieldWrapper\r\n label=\"Yönlendirilecek Sorumlu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"sorumlular\"\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute:\r\n \"User/KullaniciListForTalepYonlendirmeSelect\",\r\n fildsForText: [\"isimSoyisim\"],\r\n fieldForValue: \"id\",\r\n reqData: {\r\n talepId: rowData?.talepId,\r\n },\r\n }}\r\n component={MultipleAutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n )}\r\n </Grid>\r\n </DialogContentTop>\r\n\r\n <Field\r\n name=\"aciklama\"\r\n component={RichTextEditor}\r\n readOnly={!yetki.kaydet}\r\n label={\"Hizmet Açıklaması\"}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper\r\n sx={{\r\n justifyContent: \"space-between\",\r\n }}\r\n >\r\n <Grid>\r\n {rowData.talepId > 0 && (\r\n <TalepGoruntuleButton\r\n onClick={(e) => {\r\n talepRecordRef?.current?.openRecord(rowData.talepId);\r\n }}\r\n />\r\n )}\r\n </Grid>\r\n\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n submitExtra={() => {\r\n if (Object.keys(errors).length < 1) {\r\n handleClose();\r\n }\r\n }}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n <HomeRecord\r\n ref={talepRecordRef}\r\n ekranKodu={EKRAN_KODU.ANASAYFA.value}\r\n listGridRef={listGridRef}\r\n ></HomeRecord>\r\n </>\r\n );\r\n }\r\n);\r\n\r\nexport default DestekRecord;\r\n","import { useRef } from \"react\";\r\nimport { toast } from \"react-toastify\";\r\nimport DestekSuresiDurumuButton from \"../../components/buttons/custom/DestekSuresiDurumuButton\";\r\nimport PageFilter from \"../../components/filter/PageFilter\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\nimport DestekSuresiDialog from \"../Destek-gecmisi/DestekSuresiDialog\";\r\nimport PageConfig from \"./DestekConfig\";\r\nimport DestekDetayRecord from \"./DestekDetayRecord\";\r\nimport DestekRecord from \"./DestekRecord\";\r\n\r\nexport default function Destek({ ekranKodu }) {\r\n const listGridRef = useRef();\r\n const filterRef = useRef();\r\n const recordRef = useRef();\r\n const detayRecordRef = useRef();\r\n const destekSuresiDialogRef = useRef();\r\n\r\n function DestekSuresiDurumuBtn() {\r\n return (\r\n <DestekSuresiDurumuButton\r\n onClick={() => {\r\n if (filterRef?.current?.filterData?.sirketId > 0) {\r\n destekSuresiDialogRef?.current?.openRecord(\r\n filterRef?.current?.filterData?.sirketId\r\n );\r\n } else {\r\n toast.info(\"Filtreden şirket seçimi yapmalısınız.\");\r\n }\r\n }}\r\n />\r\n );\r\n }\r\n\r\n return (\r\n <>\r\n <PageFilter\r\n PageConfig={PageConfig}\r\n ref={filterRef}\r\n listGridRef={listGridRef}\r\n />\r\n <PageGrid\r\n gridId=\"Destek\"\r\n PageConfig={PageConfig}\r\n listGridRef={listGridRef}\r\n filterRef={filterRef}\r\n recordRef={recordRef}\r\n detayRecordRef={detayRecordRef}\r\n isCreatable\r\n ekranKodu={ekranKodu}\r\n CustomGridHeaderButton={DestekSuresiDurumuBtn}\r\n ekleButtonText={\"Danışmanlık Kaydı Ekle\"}\r\n />\r\n <DestekRecord\r\n ref={recordRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n ></DestekRecord>\r\n <DestekDetayRecord\r\n ref={detayRecordRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n ></DestekDetayRecord>\r\n <DestekSuresiDialog ref={destekSuresiDialogRef} filterRef={filterRef} />\r\n </>\r\n );\r\n}\r\n","import { useEffect, useState } from \"react\";\r\nimport FileViewer from \"../../components/file/FileViewer\";\r\nimport { HizmetFormFileConfig } from \"./SirketConfig\";\r\nimport { printToast } from \"../../common/constant-functions/printToast\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport { apiUrl } from \"../../common/constants\";\r\n\r\nexport default function HizmetForm({ ekranKodu, parentRowData }) {\r\n const [rowData, setRowData] = useState({});\r\n const [modalLoading, setModalLoading] = useState(true);\r\n\r\n async function fetchData() {\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: apiUrl + HizmetFormFileConfig.filesInfoRoute,\r\n data: {\r\n id: parentRowData.id,\r\n },\r\n })\r\n .then((res) => {\r\n setRowData(res?.data?.data || {});\r\n setModalLoading(false);\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n fetchData();\r\n }, []);\r\n\r\n return (\r\n <FileViewer\r\n ekranKodu={ekranKodu}\r\n routes={HizmetFormFileConfig}\r\n reqData={{\r\n id: parentRowData.id,\r\n }}\r\n parentRowData={parentRowData}\r\n rowData={rowData}\r\n setRowData={setRowData}\r\n modalLoading={modalLoading}\r\n height=\"35vh\"\r\n ></FileViewer>\r\n );\r\n}\r\n","export const personelJoin = (personeller) => {\r\n return personeller?.map((sorumlu) => sorumlu.adSoyad).join(\", \");\r\n};\r\n","import Type from \"../../entities/SirketToplanti\";\r\n\r\nconst PageConfig = {\r\n title: \"Toplantılar\",\r\n ekranKodu: \"Toplanti_Res\",\r\n type: Type,\r\n listRoute: \"Toplanti/List\",\r\n};\r\n\r\nexport default PageConfig;\r\n","import { PLAN_DURUM, YETKI_GRUBU_TIPI } from \"../common/constants\";\r\nimport { sorumluJoin } from \"../common/constant-functions/sorumluJoin\";\r\nimport {\r\n ACIKLAMA_WIDTH,\r\n DATE_WIDTH,\r\n ID_WIDTH,\r\n} from \"../common/entityconstants\";\r\nimport { parseHtmlString } from \"../common/constant-functions/parseHtmlString\";\r\nimport { personelJoin } from \"../common/constant-functions/personelJoin\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n isPrimaryKey: true,\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"konu\",\r\n label: \"Konu\",\r\n dataType: \"text\",\r\n dataField: \"konu\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"konuBasligi\",\r\n label: \"Konu Başlığı\",\r\n dataType: \"text\",\r\n dataField: \"konuBasligi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"planTarihi\",\r\n label: \"Plan Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"planTarihi\",\r\n visible: [\"grid\"],\r\n width: DATE_WIDTH,\r\n },\r\n {\r\n name: \"planSaati\",\r\n dataField: \"planTarihi\",\r\n label: \"Plan Saati\",\r\n dataType: \"date\",\r\n format: \"HH:mm\",\r\n visible: [\"grid\"],\r\n width: DATE_WIDTH,\r\n },\r\n {\r\n name: \"aksiyonTarihi\",\r\n label: \"Aksiyon Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"aksiyonTarihi\",\r\n visible: [\"grid\"],\r\n width: DATE_WIDTH,\r\n },\r\n {\r\n name: \"durum\",\r\n label: \"Durum\",\r\n dataType: \"select\",\r\n dataField: \"durum\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(PLAN_DURUM),\r\n },\r\n {\r\n name: \"aciklama\",\r\n label: \"Açıklama\",\r\n dataType: \"text\",\r\n dataField: \"aciklama\",\r\n visible: [\"grid\"],\r\n width: ACIKLAMA_WIDTH,\r\n customizeText: (e) => e?.value && parseHtmlString(e?.value),\r\n },\r\n {\r\n name: \"lokasyon\",\r\n label: \"Lokasyon\",\r\n dataType: \"text\",\r\n dataField: \"lokasyon\",\r\n visible: [\"grid\"],\r\n width: ACIKLAMA_WIDTH,\r\n },\r\n\r\n {\r\n name: \"isTakip\",\r\n label: \"İş Takip\",\r\n dataType: \"boolean\",\r\n dataField: \"isTakip\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"sorumlular\",\r\n label: \"Sorumlular\",\r\n dataType: \"text\",\r\n dataField: \"sorumlular\",\r\n visible: [\"grid\"],\r\n customizeText: (cellData) => personelJoin(cellData?.value),\r\n allowSorting: false,\r\n },\r\n {\r\n name: \"yetkililer\",\r\n label: \"Yetkililer\",\r\n dataType: \"text\",\r\n dataField: \"yetkililer\",\r\n visible: [\"grid\"],\r\n // cellRender: (e) => SorumluChip(e?.value),\r\n customizeText: (cellData) => sorumluJoin(cellData?.value),\r\n allowSorting: false,\r\n },\r\n //filtre--------------------------------------------------------------------------------------------------\r\n {\r\n name: \"tarih1\",\r\n label: \"Aksiyon Başlangıç Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"tarih1\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"tarih2\",\r\n label: \"Aksiyon Bitiş Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"tarih2\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"sirket\",\r\n label: \"Şirket\",\r\n dataType: \"text\",\r\n dataField: \"sirket\",\r\n visible: [\"filter\"],\r\n gizlenecekYetkiGrubuTipi: YETKI_GRUBU_TIPI.MUSTERI.Value,\r\n },\r\n];\r\n\r\nexport default entity;\r\n","import React, { useRef, useEffect, useState } from \"react\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\nimport { PageConfig } from \"./SirketKisilerConfig\";\r\nimport SirketKisilerRecord from \"./SirketKisilerRecord\";\r\n\r\nfunction SirketKisiler({ ekranKodu, rowData }) {\r\n const listGridRef = useRef();\r\n const filterRef = useRef();\r\n const recordRef = useRef();\r\n const [isReady, setIsReady] = useState(false);\r\n\r\n useEffect(() => {\r\n if (rowData?.id) {\r\n setIsReady(true);\r\n }\r\n }, [rowData?.id]);\r\n\r\n return (\r\n <>\r\n {isReady && (\r\n <PageGrid\r\n gridId=\"SirketKisiler\"\r\n PageConfig={PageConfig}\r\n listGridRef={listGridRef}\r\n recordRef={recordRef}\r\n isCreatable\r\n ekranKodu={ekranKodu}\r\n reqData={{ sirketid: rowData?.id }}\r\n exportButtonVisible={false}\r\n height=\"28vh\"\r\n gridClearButtonVisible={false}\r\n />\r\n )}\r\n {isReady && (\r\n <SirketKisilerRecord\r\n ref={recordRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n sirketidData={rowData}\r\n />\r\n )}\r\n </>\r\n );\r\n}\r\n\r\n// Apply React.memo properly\r\nexport default React.memo(SirketKisiler, (prevProps, nextProps) => {\r\n // Only re-render if rowData.id or ekranKodu changes\r\n return (\r\n prevProps.rowData?.id === nextProps.rowData?.id &&\r\n prevProps.ekranKodu === nextProps.ekranKodu\r\n );\r\n});\r\n","import React, { useImperativeHandle } from \"react\";\r\nimport AutocomplateInputForm from \"../form-inputs/AutocomplateInputForm\";\r\n\r\nexport default function UlkeInputForm({\r\n ekranKodu,\r\n rowData,\r\n readOnly,\r\n inputRef,\r\n input,\r\n reqData,\r\n onChangeExtra,\r\n ...rest\r\n}) {\r\n \r\n return (\r\n <>\r\n <AutocomplateInputForm\r\n readOnly={readOnly}\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute: \"UlkeSehirIlce/UlkelerListForSelect\",\r\n fildsForText: [\"ulkeAdi\"],\r\n fieldForValue: \"ulkeid\",\r\n fieldLabel: \"ulkeidStr\",\r\n reqData: {},\r\n }}\r\n ref={inputRef}\r\n input={input}\r\n onChangeExtra={onChangeExtra}\r\n {...rest}\r\n />\r\n </>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport AutocomplateInputForm from \"../form-inputs/AutocomplateInputForm\";\r\n\r\nexport default function SehirInputForm({\r\n ekranKodu,\r\n rowData,\r\n readOnly,\r\n inputRef,\r\n input,\r\n reqData,\r\n ulkeInputRef,\r\n onChangeExtra,\r\n ...rest\r\n}) {\r\n const ulkeidValue =\r\n typeof ulkeInputRef !== \"undefined\" && ulkeInputRef?.current?.value !== \"\"\r\n ? ulkeInputRef?.current?.value\r\n : rowData?.ulkeid;\r\n\r\n return (\r\n <>\r\n <AutocomplateInputForm\r\n readOnly={readOnly}\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute: \"UlkeSehirIlce/SehirlerListForSelect\",\r\n fildsForText: [\"sehirAdi\"],\r\n fieldForValue: \"sehirid\",\r\n reqData: {\r\n ...{\r\n ulkeid: ulkeidValue,\r\n },\r\n },\r\n // fieldLabel: \"sehirAdi\",\r\n }}\r\n ref={inputRef}\r\n input={input}\r\n onChangeExtra={onChangeExtra}\r\n {...rest}\r\n />\r\n </>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport AutocomplateInputForm from \"../form-inputs/AutocomplateInputForm\";\r\n\r\nexport default function IlceInputForm({\r\n ekranKodu,\r\n rowData,\r\n readOnly,\r\n inputRef,\r\n input,\r\n reqData,\r\n sehirInputRef,\r\n onChangeExtra,\r\n ...rest\r\n}) {\r\n const sehiridValue =\r\n typeof sehirInputRef !== \"undefined\" && sehirInputRef?.current?.value !== \"\"\r\n ? sehirInputRef?.current?.value\r\n : rowData?.sehirid;\r\n return (\r\n <>\r\n <AutocomplateInputForm\r\n readOnly={readOnly}\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute: \"UlkeSehirIlce/IlcelerListForSelect\",\r\n fildsForText: [\"ilceAdi\"],\r\n fieldForValue: \"ilceid\",\r\n reqData: {\r\n ...{\r\n sehirid: sehiridValue,\r\n },\r\n },\r\n // fieldLabel: \"ilceAdi\",\r\n }}\r\n ref={inputRef}\r\n input={input}\r\n onChangeExtra={onChangeExtra}\r\n {...rest}\r\n />\r\n </>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport AutocomplateInputForm from \"../form-inputs/AutocomplateInputForm\";\r\n\r\nexport default function MahalleInputForm({\r\n ekranKodu,\r\n rowData,\r\n readOnly,\r\n inputRef,\r\n input,\r\n reqData,\r\n ilceInputRef,\r\n onChangeExtra,\r\n ...rest\r\n}) {\r\n const ilceidValue =\r\n typeof ilceInputRef !== \"undefined\" && ilceInputRef?.current?.value !== \"\"\r\n ? ilceInputRef?.current?.value\r\n : rowData?.ilceid;\r\n return (\r\n <>\r\n <AutocomplateInputForm\r\n readOnly={readOnly}\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute: \"UlkeSehirIlce/MahalleListForSelect\",\r\n fildsForText: [\"mahalleAdi\"],\r\n fieldForValue: \"mahalleid\",\r\n reqData: {\r\n ...{\r\n ilceid: ilceidValue,\r\n },\r\n },\r\n // fieldLabel: \"mahalleAdi\",\r\n }}\r\n ref={inputRef}\r\n input={input}\r\n onChangeExtra={onChangeExtra}\r\n {...rest}\r\n />\r\n </>\r\n );\r\n}\r\n","import React, { useContext, useRef } from \"react\";\r\nimport MainTab from \"../../components/tab/MainTab\";\r\nimport { ctheme } from \"../../theme/theme\";\r\nimport { Field } from \"react-final-form\";\r\nimport RichTextEditor from \"../../components/inputs/form-inputs/RichTextEditor\";\r\nimport HizmetForm from \"./HizmetForm\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\nimport PageConfig from \"./SirketToplantiConfig\";\r\nimport SirketKisiler from \"../SirketKisiler/SirketKisiler\";\r\nimport { Grid } from \"@mui/material\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport UlkeInputForm from \"../../components/inputs/custom-form-inputs/UlkeInputForm\";\r\nimport SehirInputForm from \"../../components/inputs/custom-form-inputs/SehirInputForm\";\r\nimport IlceInputForm from \"../../components/inputs/custom-form-inputs/IlceInputForm\";\r\nimport MahalleInputForm from \"../../components/inputs/custom-form-inputs/MahalleInputForm\";\r\nimport DinamikTanimlarInputForm from \"../../components/inputs/custom-form-inputs/DinamikTanimlarInputForm\";\r\nimport { apiUrl, CALISAN_SAY_ARALIGI, DINAMIK_TANIM_TIPLERI, PARA_BIRIMI } from \"../../common/constants\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport NumberInputForm from \"../../components/inputs/form-inputs/NumberInputForm\";\r\nimport DateInputForm2 from \"../../components/inputs/form-inputs/DateInputForm2\";\r\nimport MultilineTextInputForm from \"../../components/inputs/form-inputs/MultilineTextInputForm\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport dayjs from \"dayjs\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport { Button } from \"devextreme-react\";\r\n\r\nconst SirketTabs = React.memo(\r\n ({ rowData, ekranKodu, yetki, modalLoading, tabRef, form }) => {\r\n const context = useContext(AppContext);\r\n\r\n const vergiNoRef = useRef();\r\n\r\n const tabLabels = [\r\n \"Temel BİLGİLER\",\r\n \"Toplantılar\",\r\n \"Hizmet Formları\",\r\n \"KİŞİLER\"\r\n , \"Diğer Bilgiler\",\r\n ];\r\n const listGridRef = useRef();\r\n \r\n\r\n const BaglantiBilgileriTab = (\r\n <Field\r\n name=\"baglantiBilgileri\"\r\n component={RichTextEditor}\r\n readOnly={!yetki.kaydet}\r\n modalLoading={modalLoading}\r\n //label={\"Bağlantı bilgileri\"}\r\n />\r\n );\r\n\r\n const ToplantiTab = (\r\n <PageGrid\r\n gridId=\"SirketPageToplanti\"\r\n PageConfig={PageConfig}\r\n listGridRef={listGridRef}\r\n isCreatable={false}\r\n ekranKodu={ekranKodu}\r\n height=\"43vh\"\r\n reqData={{ sirketId: rowData.id }}\r\n columnBtnVisible={false}\r\n exportButtonVisible={false}\r\n />\r\n );\r\n\r\n const SirketKisilerTab = (\r\n <SirketKisiler rowData={rowData} ekranKodu={ekranKodu}></SirketKisiler>\r\n );\r\n\r\n const CustomFieldWrapper = ({ label, modalLoading, children, textWidth, width }) => {\r\n return (\r\n <FieldWrapper\r\n label={label}\r\n modalLoading={modalLoading}\r\n width={width ? width : \"75%\"}\r\n textWidth={textWidth ? textWidth : \"25%\"}\r\n >\r\n {children}\r\n </FieldWrapper>\r\n );\r\n };\r\n\r\n const ulkeInputRef = useRef();\r\n const gorusmeRef = useRef();\r\n const sehirInputRef = useRef();\r\n const ilceInputRef = useRef();\r\n const mahalleInputRef = useRef();\r\n const sektorDinamikTanimInputRef = useRef();\r\n const programDinamikTanimInputRef = useRef();\r\n const iletisimDurumuDinamikTanimInputRef = useRef();\r\n\r\n\r\n const DigerBilgilerTab = (\r\n\r\n <>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <Grid container direction=\"row\" spacing={2}>\r\n <Grid item xs={6}>\r\n {/* <Grid\r\n container\r\n direction=\"row\"\r\n spacing={0}\r\n style={{ Padding: 0 }}\r\n >\r\n <Grid item xs={7}>\r\n <CustomFieldWrapper\r\n label=\"Vergi No\"\r\n modalLoading={modalLoading}\r\n textWidth={\"55%\"}\r\n >\r\n <Field\r\n name=\"vergiNo\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n inputRef={vergiNoRef}\r\n // disabled={rowData?.id}\r\n />\r\n </CustomFieldWrapper>\r\n </Grid>\r\n <Grid item xs={5}>\r\n <Button\r\n // sx={{ width: \"100%\" }}\r\n variant=\"outlined\"\r\n size=\"small\"\r\n color=\"primary\"\r\n onClick={() => {\r\n turmobdanBilgileriGetir(form);\r\n // lisansKoduVer();\r\n }}\r\n >\r\n Turmob'dan getir\r\n </Button>\r\n </Grid>\r\n </Grid> */}\r\n <CustomFieldWrapper\r\n label=\"Ülke\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"ulkeid\"\r\n component={UlkeInputForm}\r\n inputRef={ulkeInputRef}\r\n readOnly={!yetki.kaydet}\r\n rowData={rowData}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Şehir\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"sehirid\"\r\n component={SehirInputForm}\r\n inputRef={sehirInputRef}\r\n ulkeInputRef={ulkeInputRef}\r\n readOnly={!yetki.kaydet}\r\n rowData={rowData}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"İlçe\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"ilceid\"\r\n component={IlceInputForm}\r\n inputRef={ilceInputRef}\r\n sehirInputRef={sehirInputRef}\r\n readOnly={!yetki.kaydet}\r\n rowData={rowData}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Mahalle\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"mahalleid\"\r\n component={MahalleInputForm}\r\n inputRef={mahalleInputRef}\r\n ilceInputRef={ilceInputRef}\r\n readOnly={!yetki.kaydet}\r\n rowData={rowData}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Sektör\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"sektor\"\r\n rowData={rowData}\r\n component={DinamikTanimlarInputForm}\r\n inputRef={sektorDinamikTanimInputRef}\r\n ekranKodu={ekranKodu}\r\n readOnly={!yetki.kaydet}\r\n tip={DINAMIK_TANIM_TIPLERI.SEKTOR.Value}\r\n caption=\"Sektör Tanımlama\"\r\n aciklamaCaption=\"Sektör\"\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Çalışan Sayısı Aralığı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n items={Object.values(CALISAN_SAY_ARALIGI)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n name=\"calisanSayisiAraligi\"\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n <Grid\r\n container\r\n direction=\"row\"\r\n spacing={0}\r\n style={{ Padding: 0 }}\r\n >\r\n <Grid item xs={8}>\r\n <CustomFieldWrapper\r\n label=\"Tahmini Yıllık Ciro\"\r\n modalLoading={modalLoading}\r\n textWidth=\"45%\"\r\n >\r\n <Field\r\n name=\"tahminiCiro\"\r\n component={NumberInputForm}\r\n readOnly={!yetki.kaydet}\r\n rowData={rowData}\r\n />\r\n </CustomFieldWrapper>\r\n </Grid>\r\n <Grid item xs={4}>\r\n <CustomFieldWrapper\r\n label=\"Birim\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"tahminiCiroBirimi\"\r\n items={Object.values(PARA_BIRIMI)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n </Grid>\r\n </Grid>\r\n\r\n <CustomFieldWrapper\r\n label=\"Kullanılan Program\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"programid\"\r\n rowData={rowData}\r\n component={DinamikTanimlarInputForm}\r\n inputRef={programDinamikTanimInputRef}\r\n ekranKodu={ekranKodu}\r\n readOnly={!yetki.kaydet}\r\n tip={DINAMIK_TANIM_TIPLERI.PROGRAM.Value}\r\n caption=\"Kullanılan Program Kaydı\"\r\n aciklamaCaption=\"Kullanılan Program\"\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"İlk Kayıt Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"ilkKayitTarihi\"\r\n rowData={rowData}\r\n component={DateInputForm2}\r\n ekranKodu={ekranKodu}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n </Grid>\r\n <Grid item xs={6}>\r\n <CustomFieldWrapper\r\n label=\"Referans Kişi/Kurum\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"referans\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n rowData={rowData}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"İletişim Durumu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"iletisimDurumuid\"\r\n rowData={rowData}\r\n component={DinamikTanimlarInputForm}\r\n inputRef={iletisimDurumuDinamikTanimInputRef}\r\n ekranKodu={ekranKodu}\r\n readOnly={!yetki.kaydet}\r\n tip={DINAMIK_TANIM_TIPLERI.ILETISIM_DURUMU.Value}\r\n caption=\"İletişim Durumu Tanımlama\"\r\n aciklamaCaption=\"İletişim Durumu\"\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Son Görüşme Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"sonGorusmeTarihi\"\r\n component={DateInputForm2}\r\n readOnly={!yetki.kaydet}\r\n rowData={rowData}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"KEP Adresi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"kepAdresi\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n rowData={rowData}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"NACE Kodu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"naceKodu\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n rowData={rowData}\r\n />\r\n </CustomFieldWrapper>\r\n {/* <Grid\r\n container\r\n direction=\"row\"\r\n spacing={0}\r\n style={{ Padding: 0 }}\r\n >\r\n <Grid item xs={7}>\r\n <CustomFieldWrapper\r\n label=\"Vergi No\"\r\n modalLoading={modalLoading}\r\n textWidth={\"55%\"}\r\n >\r\n <Field\r\n name=\"vergiNo\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n inputRef={vergiNoRef}\r\n // disabled={rowData?.id}\r\n />\r\n </CustomFieldWrapper>\r\n </Grid>\r\n <Grid item xs={5}>\r\n <Button\r\n // sx={{ width: \"100%\" }}\r\n variant=\"outlined\"\r\n size=\"small\"\r\n color=\"primary\"\r\n onClick={() => {\r\n // turmobdanBilgileriGetir(form);\r\n // lisansKoduVer();\r\n }}\r\n >\r\n Turmob'dan getir\r\n </Button>\r\n </Grid>\r\n </Grid> */}\r\n {/* <CustomFieldWrapper\r\n label=\"Vergi No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"vergiNo\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper> */}\r\n <CustomFieldWrapper\r\n label=\"Web Sitesi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"webSitesi\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Adres\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"adres\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n </Grid>\r\n </Grid>\r\n\r\n\r\n </Grid>\r\n <Grid item xs={12} sm={6} md={6}>\r\n\r\n\r\n <CustomFieldWrapper\r\n label=\"Açıklama\"\r\n modalLoading={modalLoading}\r\n width={\"87%\"}\r\n textWidth={\"13%\"}\r\n >\r\n <Field\r\n name=\"aciklama\"\r\n component={MultilineTextInputForm}\r\n readOnly={!yetki.kaydet}\r\n rowData={rowData}\r\n modalLoading={modalLoading}\r\n minRows={7}\r\n />\r\n </CustomFieldWrapper>\r\n </Grid>\r\n </>\r\n )\r\n\r\n return (\r\n <MainTab\r\n ref={tabRef}\r\n labels={tabLabels}\r\n appBarColor={ctheme.colors.gridHeaderColor}\r\n sx={{ flexBasis: \"100vh\", flexGrow: 1 }}\r\n >\r\n {DigerBilgilerTab}\r\n {rowData.id > 0 && ToplantiTab}\r\n {rowData.id > 0 && (\r\n <HizmetForm ekranKodu={ekranKodu} parentRowData={rowData}></HizmetForm>\r\n )}\r\n {SirketKisilerTab}\r\n {BaglantiBilgileriTab}\r\n\r\n </MainTab>\r\n );\r\n });\r\n\r\nexport default SirketTabs;\r\n\r\n// export default function SirketTabs({\r\n// rowData,\r\n// ekranKodu,\r\n// yetki,\r\n// modalLoading,\r\n// tabRef,\r\n// }) {\r\n// let xDigerBilgiler = rowData.sirketDigerBilgiler;\r\n\r\n// console.log(xDigerBilgiler, \"xDigerBilgiler\");\r\n\r\n// console.log(yetki.kaydet, \"yetki.kaydet\");\r\n\r\n\r\n// const tabLabels = [\r\n// \"Bağlantı Bilgileri\",\r\n// \"Toplantılar\",\r\n// \"Hizmet Formları\",\r\n// \"KİŞİLER\"\r\n// , \"DİĞER BİLGİLER\"\r\n// ];\r\n// const listGridRef = useRef();\r\n\r\n// const BaglantiBilgileriTab = (\r\n// <Field\r\n// name=\"baglantiBilgileri\"\r\n// component={RichTextEditor}\r\n// readOnly={!yetki.kaydet}\r\n// modalLoading={modalLoading}\r\n// //label={\"Bağlantı bilgileri\"}\r\n// />\r\n// );\r\n\r\n// const ToplantiTab = (\r\n// <PageGrid\r\n// gridId=\"SirketPageToplanti\"\r\n// PageConfig={PageConfig}\r\n// listGridRef={listGridRef}\r\n// isCreatable={false}\r\n// ekranKodu={ekranKodu}\r\n// height=\"43vh\"\r\n// reqData={{ sirketId: rowData.id }}\r\n// columnBtnVisible={false}\r\n// exportButtonVisible={false}\r\n// />\r\n// );\r\n\r\n// const SirketKisilerTab = (\r\n// <SirketKisiler rowData={rowData} ekranKodu={ekranKodu}></SirketKisiler>\r\n// );\r\n\r\n// const CustomFieldWrapper = ({ label, modalLoading, children, textWidth }) => {\r\n// return (\r\n// <FieldWrapper\r\n// label={label}\r\n// modalLoading={modalLoading}\r\n// width={\"75%\"}\r\n// textWidth={textWidth ? textWidth : \"25%\"}\r\n// >\r\n// {children}\r\n// </FieldWrapper>\r\n// );\r\n// };\r\n\r\n// const ulkeInputRef = useRef();\r\n// const gorusmeRef = useRef();\r\n// const sehirInputRef = useRef();\r\n// const ilceInputRef = useRef();\r\n// const mahalleInputRef = useRef();\r\n// const sektorDinamikTanimInputRef = useRef();\r\n// const programDinamikTanimInputRef = useRef();\r\n// const iletisimDurumuDinamikTanimInputRef = useRef();\r\n\r\n// const DigerBilgilerTab = (digerBilgiler) => (\r\n\r\n// <>\r\n// {/* <Grid item xs={12} sm={6} md={6}>\r\n// <CustomFieldWrapper\r\n// label=\"Ülke\"\r\n// modalLoading={modalLoading}\r\n// >\r\n// <Field\r\n// name=\"ulkeid\"\r\n// component={UlkeInputForm}\r\n// // ref={ulkeInputRef}\r\n// inputRef={ulkeInputRef}\r\n// readOnly={!yetki.kaydet}\r\n// rowData={digerBilgiler}\r\n// />\r\n// </CustomFieldWrapper>\r\n// <CustomFieldWrapper\r\n// label=\"Şehir\"\r\n// modalLoading={modalLoading}\r\n// >\r\n// <Field\r\n// name=\"sehirid\"\r\n// component={SehirInputForm}\r\n// inputRef={sehirInputRef}\r\n// ulkeInputRef={ulkeInputRef}\r\n// readOnly={!yetki.kaydet}\r\n// rowData={digerBilgiler}\r\n// />\r\n// </CustomFieldWrapper>\r\n// <CustomFieldWrapper\r\n// label=\"İlçe\"\r\n// modalLoading={modalLoading}\r\n// >\r\n// <Field\r\n// name=\"ilceid\"\r\n// component={IlceInputForm}\r\n// inputRef={ilceInputRef}\r\n// sehirInputRef={sehirInputRef}\r\n// readOnly={!yetki.kaydet}\r\n// rowData={digerBilgiler}\r\n// />\r\n// </CustomFieldWrapper>\r\n// <CustomFieldWrapper\r\n// label=\"Mahalle\"\r\n// modalLoading={modalLoading}\r\n// >\r\n// <Field\r\n// name=\"mahalleid\"\r\n// component={MahalleInputForm}\r\n// inputRef={mahalleInputRef}\r\n// ilceInputRef={ilceInputRef}\r\n// readOnly={!yetki.kaydet}\r\n// rowData={digerBilgiler}\r\n// />\r\n// </CustomFieldWrapper>\r\n// <CustomFieldWrapper\r\n// label=\"Sektör\"\r\n// modalLoading={modalLoading}\r\n// >\r\n// <Field\r\n// name=\"sektor\"\r\n// rowData={digerBilgiler}\r\n// component={DinamikTanimlarInputForm}\r\n// inputRef={sektorDinamikTanimInputRef}\r\n// ekranKodu={ekranKodu}\r\n// readOnly={!yetki.kaydet}\r\n// tip={DINAMIK_TANIM_TIPLERI.SEKTOR.Value}\r\n// caption=\"Sektör Tanımlama\"\r\n// aciklamaCaption=\"Sektör\"\r\n// />\r\n// </CustomFieldWrapper>\r\n// </Grid> */}\r\n// <Grid item xs={12} sm={6} md={6}>\r\n// {/* <CustomFieldWrapper\r\n// label=\"Web Sitesi\"\r\n// modalLoading={modalLoading}\r\n// >\r\n// <Field\r\n// name=\"webSitesi\"\r\n// component={TextInputForm}\r\n// readOnly={!yetki.kaydet}\r\n// rowData={digerBilgiler}\r\n// />\r\n// </CustomFieldWrapper> */}\r\n// {/* <CustomFieldWrapper\r\n// label=\"Sektör\"\r\n// modalLoading={modalLoading}\r\n// >\r\n// <Field\r\n// name=\"sektor\"\r\n// rowData={digerBilgiler}\r\n// component={DinamikTanimlarInputForm}\r\n// inputRef={sektorDinamikTanimInputRef}\r\n// ekranKodu={ekranKodu}\r\n// readOnly={!yetki.kaydet}\r\n// tip={DINAMIK_TANIM_TIPLERI.SEKTOR.Value}\r\n// caption=\"Sektör Tanımlama\"\r\n// aciklamaCaption=\"Sektör\"\r\n// />\r\n// </CustomFieldWrapper>\r\n// <CustomFieldWrapper\r\n// label=\"Çalışan Sayısı Aralığı\"\r\n// modalLoading={modalLoading}\r\n// >\r\n// <Field\r\n// items={Object.values(CALISAN_SAY_ARALIGI)}\r\n// rowData={digerBilgiler}\r\n// component={AutocomplateInputForm}\r\n// name=\"calisanSayisiAraligi\"\r\n// readOnly={!yetki.kaydet}\r\n// />\r\n// </CustomFieldWrapper>\r\n// <Grid\r\n// container\r\n// direction=\"row\"\r\n// spacing={0}\r\n// style={{ Padding: 0 }}\r\n// >\r\n// <Grid item xs={8}>\r\n// <CustomFieldWrapper\r\n// label=\"Tahmini Yıllık Ciro\"\r\n// modalLoading={modalLoading}\r\n// textWidth=\"45%\"\r\n// >\r\n// <Field\r\n// name=\"tahminiCiro\"\r\n// component={NumberInputForm}\r\n// readOnly={!yetki.kaydet}\r\n// rowData={digerBilgiler}\r\n// />\r\n// </CustomFieldWrapper>\r\n// </Grid>\r\n// <Grid item xs={4}>\r\n// <CustomFieldWrapper\r\n// label=\"Birim\"\r\n// modalLoading={modalLoading}\r\n// >\r\n// <Field\r\n// name=\"tahminiCiroBirimi\"\r\n// items={Object.values(PARA_BIRIMI)}\r\n// rowData={digerBilgiler}\r\n// component={AutocomplateInputForm}\r\n// readOnly={!yetki.kaydet}\r\n// />\r\n// </CustomFieldWrapper>\r\n// </Grid>\r\n// </Grid>\r\n\r\n// <CustomFieldWrapper\r\n// label=\"Kullanılan Program\"\r\n// modalLoading={modalLoading}\r\n// >\r\n// <Field\r\n// name=\"programid\"\r\n// rowData={digerBilgiler}\r\n// component={DinamikTanimlarInputForm}\r\n// inputRef={programDinamikTanimInputRef}\r\n// ekranKodu={ekranKodu}\r\n// readOnly={!yetki.kaydet}\r\n// tip={DINAMIK_TANIM_TIPLERI.PROGRAM.Value}\r\n// caption=\"Kullanılan Program Kaydı\"\r\n// aciklamaCaption=\"Kullanılan Program\"\r\n// />\r\n// </CustomFieldWrapper>*/}\r\n// <CustomFieldWrapper\r\n// label=\"Referans Kişi/Kurum\"\r\n// modalLoading={modalLoading}\r\n// >\r\n// <Field\r\n// name=\"referans\"\r\n// component={TextInputForm}\r\n// readOnly={!yetki.kaydet}\r\n// rowData={digerBilgiler}\r\n// />\r\n// </CustomFieldWrapper>\r\n// {/* <CustomFieldWrapper\r\n// label=\"İletişim Durumu\"\r\n// modalLoading={modalLoading}\r\n// >\r\n// <Field\r\n// name=\"iletisimDurumuid\"\r\n// rowData={digerBilgiler}\r\n// component={DinamikTanimlarInputForm}\r\n// inputRef={iletisimDurumuDinamikTanimInputRef}\r\n// ekranKodu={ekranKodu}\r\n// readOnly={!yetki.kaydet}\r\n// tip={DINAMIK_TANIM_TIPLERI.ILETISIM_DURUMU.Value}\r\n// caption=\"İletişim Durumu Tanımlama\"\r\n// aciklamaCaption=\"İletişim Durumu\"\r\n// />\r\n// </CustomFieldWrapper>\r\n// <CustomFieldWrapper\r\n// label=\"Son Görüşme Tarihi\"\r\n// modalLoading={modalLoading}\r\n// >\r\n// <Field\r\n// name=\"sonGorusmeTarihi\"\r\n// component={DateInputForm2}\r\n// readOnly={!yetki.kaydet}\r\n// rowData={digerBilgiler}\r\n// />\r\n// </CustomFieldWrapper>\r\n// <CustomFieldWrapper\r\n// label=\"KEP Adresi\"\r\n// modalLoading={modalLoading}\r\n// >\r\n// <Field\r\n// name=\"kepAdresi\"\r\n// component={TextInputForm}\r\n// readOnly={!yetki.kaydet}\r\n// rowData={digerBilgiler}\r\n// />\r\n// </CustomFieldWrapper>\r\n// <CustomFieldWrapper\r\n// label=\"NACE Kodu\"\r\n// modalLoading={modalLoading}\r\n// >\r\n// <Field\r\n// name=\"naceKodu\"\r\n// component={TextInputForm}\r\n// readOnly={!yetki.kaydet}\r\n// rowData={digerBilgiler}\r\n// />\r\n// </CustomFieldWrapper>\r\n// <CustomFieldWrapper\r\n// label=\"Açıklama\"\r\n// modalLoading={modalLoading}\r\n// >\r\n// <Field\r\n// name=\"aciklama\"\r\n// component={MultilineTextInputForm}\r\n// readOnly={!yetki.kaydet}\r\n// rowData={digerBilgiler}\r\n// modalLoading={modalLoading}\r\n// minRows={4}\r\n// />\r\n// </CustomFieldWrapper> */}\r\n// </Grid>\r\n// </>\r\n// )\r\n\r\n// return (\r\n// <MainTab\r\n// ref={tabRef}\r\n// labels={tabLabels}\r\n// appBarColor={ctheme.colors.gridHeaderColor}\r\n// sx={{ flexBasis: \"100vh\", flexGrow: 1 }}\r\n// >\r\n// {BaglantiBilgileriTab}\r\n// {rowData.id > 0 && ToplantiTab}\r\n// {rowData.id > 0 && (\r\n// <HizmetForm ekranKodu={ekranKodu} parentRowData={rowData}></HizmetForm>\r\n// )}\r\n// {SirketKisilerTab}\r\n// {DigerBilgilerTab(xDigerBilgiler)}\r\n// </MainTab>\r\n// );\r\n// }\r\n","const PAKET = {\r\n BASLANGIC_PAKET: { Value: 1, Text: \"Başlangıç Paket\" },\r\n STANDART_PAKET: { Value: 2, Text: \"Standart Paket\" },\r\n ORTA_PAKET: { Value: 3, Text: \"Orta Paket\" },\r\n ILERI_PAKET: { Value: 4, Text: \"İleri Paket\" },\r\n};\r\n\r\nconst BASLANGIC_PAKET = [\r\n { Value: 1, Text: \"Satınalma Yönetimi\" },\r\n { Value: 2, Text: \"Stok/Depo Yönetimi\" },\r\n { Value: 3, Text: \"Temel Satış Modülü\" },\r\n {\r\n Value: 4,\r\n Text: \"Maliyetlendirme-Standart-BAO\",\r\n },\r\n { Value: 5, Text: \"Muhasebe-Finans Yönetimi\" },\r\n { Value: 6, Text: \"E-Fatura\" },\r\n { Value: 7, Text: \"E-Arşiv\" },\r\n { Value: 8, Text: \"E-İrsaliye\" },\r\n];\r\n\r\nconst STANDART_PAKET = [\r\n { Value: 1, Text: \"Satınalma Yönetimi\" },\r\n { Value: 2, Text: \"Stok/Depo Yönetimi\" },\r\n { Value: 3, Text: \"Temel Satış Modülü\" },\r\n {\r\n Value: 4,\r\n Text: \"Maliyetlendirme-Standart-BAO\",\r\n },\r\n { Value: 5, Text: \"Muhasebe-Finans Yönetimi\" },\r\n { Value: 6, Text: \"E-Fatura\" },\r\n { Value: 7, Text: \"E-Arşiv\" },\r\n { Value: 8, Text: \"E-İrsaliye\" },\r\n { Value: 9, Text: \"Fason Yönetimi\" },\r\n { Value: 10, Text: \"Temel Üretim Modülü\" },\r\n];\r\n\r\nconst ORTA_PAKET = [\r\n { Value: 1, Text: \"Satınalma Yönetimi\" },\r\n { Value: 2, Text: \"Stok/Depo Yönetimi\" },\r\n { Value: 3, Text: \"Temel Satış Modülü\" },\r\n {\r\n Value: 4,\r\n Text: \"Maliyetlendirme-Standart-BAO\",\r\n },\r\n { Value: 5, Text: \"Muhasebe-Finans Yönetimi\" },\r\n { Value: 6, Text: \"E-Fatura\" },\r\n { Value: 7, Text: \"E-Arşiv\" },\r\n { Value: 8, Text: \"E-İrsaliye\" },\r\n { Value: 9, Text: \"Fason Yönetimi\" },\r\n { Value: 10, Text: \"Temel Üretim Modülü\" },\r\n {\r\n Value: 11,\r\n Text: \"CRM (Müşteri hizmetleri, servis yönetimi, iş takip, görüşme takip)\",\r\n },\r\n { Value: 12, Text: \"Kalite Yönetimi\" },\r\n { Value: 13, Text: \"Barkodlu İşlemler modülü\" },\r\n { Value: 14, Text: \"Mail Uyarı Sistemi\" },\r\n {\r\n Value: 15,\r\n Text: \"Zamanlama Tanım (MRP, Maliyet Hesabı Otomatik Çalışma)\",\r\n },\r\n { Value: 16, Text: \"Sabit Kıymet Demirbaş\" },\r\n];\r\n\r\nconst ILERI_PAKET = [\r\n { Value: 1, Text: \"Satınalma Yönetimi\" },\r\n { Value: 2, Text: \"Stok/Depo Yönetimi\" },\r\n { Value: 3, Text: \"Temel Satış Modülü\" },\r\n {\r\n Value: 4,\r\n Text: \"Maliyetlendirme-Standart-BAO\",\r\n },\r\n { Value: 5, Text: \"Muhasebe-Finans Yönetimi\" },\r\n { Value: 6, Text: \"E-Fatura\" },\r\n { Value: 7, Text: \"E-Arşiv\" },\r\n { Value: 8, Text: \"E-İrsaliye\" },\r\n { Value: 9, Text: \"Fason Yönetimi\" },\r\n { Value: 10, Text: \"Temel Üretim Modülü\" },\r\n {\r\n Value: 11,\r\n Text: \"CRM (Müşteri hizmetleri, servis yönetimi, iş takip, görüşme takip)\",\r\n },\r\n { Value: 12, Text: \"Kalite Yönetimi\" },\r\n { Value: 13, Text: \"Barkodlu İşlemler modülü\" },\r\n { Value: 14, Text: \"Mail Uyarı Sistemi\" },\r\n {\r\n Value: 15,\r\n Text: \"Zamanlama Tanım (MRP, Maliyet Hesabı Otomatik Çalışma)\",\r\n },\r\n { Value: 16, Text: \"Sabit Kıymet Demirbaş\" },\r\n { Value: 17, Text: \"Sipariş Ödeme Eşleştirme\" },\r\n {\r\n Value: 18,\r\n Text: \"Maliyetlendirme-Dağıtım Anahtarlı\",\r\n },\r\n { Value: 19, Text: \"Bakım Onarım\" },\r\n { Value: 20, Text: \"Harmony Asistan\" },\r\n { Value: 21, Text: \"Nakit Akış Raporu\" },\r\n];\r\n\r\nconst EK_PAKET = [\r\n { Value: 1, Text: \"Konfigürasyon Yönetimi\" },\r\n {\r\n Value: 2,\r\n Text: \"İleri Üretim Planlama Çizelgeleme (APS)\",\r\n },\r\n { Value: 3, Text: \"El Terminali Modülü\" },\r\n {\r\n Value: 4,\r\n Text: \"Bağlantılı Satış Takip Sistemi\",\r\n },\r\n { Value: 5, Text: \"T-Soft Entegrasyonu\" },\r\n { Value: 6, Text: \"Bayi/Servis Yönetimi (WEB)\" },\r\n { Value: 7, Text: \"MES Entegrasyonu (Cormind)\" },\r\n { Value: 8, Text: \"MES Entegrasyonu (EMEA)\" },\r\n { Value: 9, Text: \"River Entegrasyonu\" },\r\n { Value: 10, Text: \"Sigorta Poliçe\" },\r\n { Value: 11, Text: \"Leasing İşlemleri\" },\r\n { Value: 12, Text: \"Bütçe Planlama\" },\r\n {\r\n Value: 13,\r\n Text: \"Entegra Fatura Entegrasyonu\",\r\n },\r\n {\r\n Value: 14,\r\n Text: \"Net Ekstre Entegrasyonu (Banka Ekstreleri)\",\r\n },\r\n {\r\n Value: 15,\r\n Text: \"Net Tahsilat Entegrasyonu (POS Entegrasyonu)\",\r\n },\r\n { Value: 16, Text: \"Mutabakat (BA/BS)\" },\r\n {\r\n Value: 17,\r\n Text: \"Tedarikçi Teklif/Sipariş Mutabakat İletişim Portalı\",\r\n },\r\n { Value: 18, Text: \"Logo Entegrasyonu\" },\r\n { Value: 19, Text: \"Ziyaretçi Takip\" },\r\n { Value: 20, Text: \"Arşiv Odası Takip\" },\r\n { Value: 21, Text: \"Evrak Takip\" },\r\n { Value: 22, Text: \"Mesai Talep\" },\r\n {\r\n Value: 23,\r\n Text: \"Toplantı Salonu Rezervasyonu\",\r\n },\r\n {\r\n Value: 24,\r\n Text: \"Üretim Personel İzleme Raporu\",\r\n },\r\n { Value: 25, Text: \"Öneri Takip\" },\r\n { Value: 26, Text: \"Bilgi İşlem\" },\r\n { Value: 27, Text: \"Web Finans Raporlama\" },\r\n { Value: 28, Text: \"Web Kalite\" },\r\n { Value: 29, Text: \"Web Kiosk\" },\r\n { Value: 30, Text: \"Web İş Takibi\" },\r\n { Value: 31, Text: \"Web Görüşme Tekip\" },\r\n { Value: 32, Text: \"Web Asistan\" },\r\n { Value: 33, Text: \"Web Satınalma\" },\r\n { Value: 34, Text: \"Web Satış\" },\r\n];\r\n\r\nexport {\r\n PAKET,\r\n EK_PAKET,\r\n BASLANGIC_PAKET,\r\n STANDART_PAKET,\r\n ORTA_PAKET,\r\n ILERI_PAKET,\r\n};\r\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getFormControlLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiFormControlLabel', slot);\n}\nconst formControlLabelClasses = generateUtilityClasses('MuiFormControlLabel', ['root', 'labelPlacementStart', 'labelPlacementTop', 'labelPlacementBottom', 'disabled', 'label', 'error', 'required', 'asterisk']);\nexport default formControlLabelClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"checked\", \"className\", \"componentsProps\", \"control\", \"disabled\", \"disableTypography\", \"inputRef\", \"label\", \"labelPlacement\", \"name\", \"onChange\", \"required\", \"slotProps\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useFormControl } from '../FormControl';\nimport Stack from '../Stack';\nimport Typography from '../Typography';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport formControlLabelClasses, { getFormControlLabelUtilityClasses } from './formControlLabelClasses';\nimport formControlState from '../FormControl/formControlState';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disabled,\n labelPlacement,\n error,\n required\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', `labelPlacement${capitalize(labelPlacement)}`, error && 'error', required && 'required'],\n label: ['label', disabled && 'disabled'],\n asterisk: ['asterisk', error && 'error']\n };\n return composeClasses(slots, getFormControlLabelUtilityClasses, classes);\n};\nexport const FormControlLabelRoot = styled('label', {\n name: 'MuiFormControlLabel',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${formControlLabelClasses.label}`]: styles.label\n }, styles.root, styles[`labelPlacement${capitalize(ownerState.labelPlacement)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'inline-flex',\n alignItems: 'center',\n cursor: 'pointer',\n // For correct alignment with the text.\n verticalAlign: 'middle',\n WebkitTapHighlightColor: 'transparent',\n marginLeft: -11,\n marginRight: 16,\n // used for row presentation of radio/checkbox\n [`&.${formControlLabelClasses.disabled}`]: {\n cursor: 'default'\n }\n}, ownerState.labelPlacement === 'start' && {\n flexDirection: 'row-reverse',\n marginLeft: 16,\n // used for row presentation of radio/checkbox\n marginRight: -11\n}, ownerState.labelPlacement === 'top' && {\n flexDirection: 'column-reverse',\n marginLeft: 16\n}, ownerState.labelPlacement === 'bottom' && {\n flexDirection: 'column',\n marginLeft: 16\n}, {\n [`& .${formControlLabelClasses.label}`]: {\n [`&.${formControlLabelClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n }\n }\n}));\nconst AsteriskComponent = styled('span', {\n name: 'MuiFormControlLabel',\n slot: 'Asterisk',\n overridesResolver: (props, styles) => styles.asterisk\n})(({\n theme\n}) => ({\n [`&.${formControlLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\n\n/**\n * Drop-in replacement of the `Radio`, `Switch` and `Checkbox` component.\n * Use this component if you want to display an extra label.\n */\nconst FormControlLabel = /*#__PURE__*/React.forwardRef(function FormControlLabel(inProps, ref) {\n var _ref, _slotProps$typography;\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiFormControlLabel'\n });\n const {\n className,\n componentsProps = {},\n control,\n disabled: disabledProp,\n disableTypography,\n label: labelProp,\n labelPlacement = 'end',\n required: requiredProp,\n slotProps = {}\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const disabled = (_ref = disabledProp != null ? disabledProp : control.props.disabled) != null ? _ref : muiFormControl == null ? void 0 : muiFormControl.disabled;\n const required = requiredProp != null ? requiredProp : control.props.required;\n const controlProps = {\n disabled,\n required\n };\n ['checked', 'name', 'onChange', 'value', 'inputRef'].forEach(key => {\n if (typeof control.props[key] === 'undefined' && typeof props[key] !== 'undefined') {\n controlProps[key] = props[key];\n }\n });\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['error']\n });\n const ownerState = _extends({}, props, {\n disabled,\n labelPlacement,\n required,\n error: fcs.error\n });\n const classes = useUtilityClasses(ownerState);\n const typographySlotProps = (_slotProps$typography = slotProps.typography) != null ? _slotProps$typography : componentsProps.typography;\n let label = labelProp;\n if (label != null && label.type !== Typography && !disableTypography) {\n label = /*#__PURE__*/_jsx(Typography, _extends({\n component: \"span\"\n }, typographySlotProps, {\n className: clsx(classes.label, typographySlotProps == null ? void 0 : typographySlotProps.className),\n children: label\n }));\n }\n return /*#__PURE__*/_jsxs(FormControlLabelRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/React.cloneElement(control, controlProps), required ? /*#__PURE__*/_jsxs(Stack, {\n display: \"block\",\n children: [label, /*#__PURE__*/_jsxs(AsteriskComponent, {\n ownerState: ownerState,\n \"aria-hidden\": true,\n className: classes.asterisk,\n children: [\"\\u2009\", '*']\n })]\n }) : label]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormControlLabel.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the component appears selected.\n */\n checked: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n componentsProps: PropTypes.shape({\n typography: PropTypes.object\n }),\n /**\n * A control element. For instance, it can be a `Radio`, a `Switch` or a `Checkbox`.\n */\n control: PropTypes.element.isRequired,\n /**\n * If `true`, the control is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is rendered as it is passed without an additional typography node.\n */\n disableTypography: PropTypes.bool,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * A text or an element to be used in an enclosing label element.\n */\n label: PropTypes.node,\n /**\n * The position of the label.\n * @default 'end'\n */\n labelPlacement: PropTypes.oneOf(['bottom', 'end', 'start', 'top']),\n /**\n * @ignore\n */\n name: PropTypes.string,\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n /**\n * If `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n typography: PropTypes.object\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default FormControlLabel;","import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Checkbox from \"@mui/material/Checkbox\";\r\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\r\n\r\nexport default function IndeterminateCheckbox({\r\n items,\r\n input,\r\n label,\r\n onChangeExtra,\r\n disabled,\r\n}) {\r\n const handleChange = (value) => {\r\n if (input.value.includes(value)) {\r\n input.onChange(input.value.filter((item) => item !== value));\r\n } else {\r\n input.onChange([...input.value, value]);\r\n }\r\n };\r\n\r\n const children = (\r\n <Box sx={{ display: \"flex\", flexDirection: \"column\", ml: 3 }}>\r\n {items.map((item) => (\r\n <FormControlLabel\r\n key={item.Value}\r\n label={item.Text}\r\n disabled={disabled}\r\n control={\r\n <Checkbox\r\n checked={input.value.includes(item.Value)}\r\n onChange={(event, newValue) => {\r\n handleChange(item.Value);\r\n onChangeExtra && onChangeExtra(newValue, input.name);\r\n }}\r\n disabled={disabled}\r\n />\r\n }\r\n />\r\n ))}\r\n </Box>\r\n );\r\n\r\n return (\r\n <div>\r\n <FormControlLabel\r\n label={label}\r\n control={\r\n <Checkbox\r\n disabled={disabled}\r\n checked={input.value.length === items.length}\r\n indeterminate={\r\n input.value.length > 0 && input.value.length < items.length\r\n }\r\n onChange={(event, newValue) => {\r\n if (input.value.length === items.length) {\r\n input.onChange([]);\r\n } else {\r\n input.onChange(items.map((item) => item.Value));\r\n }\r\n onChangeExtra && onChangeExtra(newValue, input.name);\r\n }}\r\n />\r\n }\r\n />\r\n {children}\r\n </div>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport useFetchDialog from \"../../hooks/use-fetch-dialog\";\r\nimport { PaketBilgileriConfig } from \"./SirketConfig\";\r\nimport SaveButton from \"../../components/buttons/custom/SaveButton\";\r\nimport { Grid, Paper, Skeleton } from \"@mui/material\";\r\nimport CancelButton from \"../../components/buttons/custom/CancelButton\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport useSubmit from \"../../hooks/use-submit\";\r\nimport {\r\n BASLANGIC_PAKET,\r\n EK_PAKET,\r\n ILERI_PAKET,\r\n ORTA_PAKET,\r\n PAKET,\r\n STANDART_PAKET,\r\n} from \"../../common/paketconstants\";\r\nimport IndeterminateCheckbox from \"../../components/inputs/form-inputs/IndeterminateCheckbox\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport CheckboxForm from \"../../components/inputs/form-inputs/CheckboxForm\";\r\n\r\nconst PaketBilgileriDialog = React.forwardRef(({ yetki }, ref) => {\r\n const { open, closeRecord, modalLoading, rowData, setRowData } =\r\n useFetchDialog(ref, PaketBilgileriConfig.getByIdRoute);\r\n\r\n const handleSubmit = useSubmit(\r\n PaketBilgileriConfig,\r\n setRowData\r\n // afterSubmitFnc\r\n );\r\n\r\n const clearOtherPackets = (fieldName, form) => {\r\n // Diğer paketleri kaldır\r\n [\"baslangicPaket\", \"standartPaket\", \"ortaPaket\", \"ileriPaket\"]\r\n .filter((name) => name !== fieldName)\r\n .forEach((name) => {\r\n setTimeout(() => {\r\n form.change(name, []);\r\n }, 0);\r\n });\r\n };\r\n\r\n const PaketWrapper = ({ children, sx }) => {\r\n return modalLoading ? (\r\n <Skeleton width={\"100%\"}></Skeleton>\r\n ) : (\r\n <Paper\r\n square\r\n elevation={3}\r\n sx={{ padding: 2, marginX: \"1px\", marginY: 1, ...sx }}\r\n >\r\n {children}\r\n </Paper>\r\n );\r\n };\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"ERP PAKET İÇERİKLERİ\"\r\n maxWidth=\"lg\"\r\n fullWidth={true}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n //validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper sx={{ padding: 1.5 }}>\r\n <Grid\r\n container\r\n direction=\"row\"\r\n columnSpacing={2}\r\n sx={{ mb: 1 }}\r\n >\r\n <Grid item xs={12} sm={6} md={6}>\r\n <FieldWrapper\r\n label=\"Kullanıcı Sayısı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"kullaniciSayisi\"\r\n component={TextInputForm}\r\n readOnly={true}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper label=\"Ek 1\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"ek1\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper label=\"Ek 2\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"ek2\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper label=\"Ek 3\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"ek3\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper label=\"Ek 4\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"ek4\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper label=\"Ek 5\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"ek5\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n\r\n <PaketWrapper sx={{ marginTop: 2.2 }}>\r\n <Field\r\n name=\"baslangicPaket\"\r\n component={IndeterminateCheckbox}\r\n items={BASLANGIC_PAKET}\r\n label={PAKET.BASLANGIC_PAKET.Text}\r\n onChangeExtra={(newValue, name) => {\r\n if (newValue) {\r\n clearOtherPackets(name, form);\r\n }\r\n }}\r\n readOnly={!yetki.kaydet}\r\n disabled={!yetki.kaydet}\r\n />\r\n </PaketWrapper>\r\n <PaketWrapper>\r\n <Field\r\n name=\"ortaPaket\"\r\n component={IndeterminateCheckbox}\r\n items={ORTA_PAKET}\r\n label={PAKET.ORTA_PAKET.Text}\r\n onChangeExtra={(newValue, name) => {\r\n if (newValue) {\r\n clearOtherPackets(name, form);\r\n }\r\n }}\r\n readOnly={!yetki.kaydet}\r\n disabled={!yetki.kaydet}\r\n />\r\n </PaketWrapper>\r\n <PaketWrapper sx={{ backgroundColor: \"#F4F9F9\" }}>\r\n <Field\r\n name=\"ekPaketler\"\r\n component={IndeterminateCheckbox}\r\n items={EK_PAKET}\r\n label=\"Ek Paketler\"\r\n readOnly={!yetki.kaydet}\r\n disabled={!yetki.kaydet}\r\n />\r\n </PaketWrapper>\r\n </Grid>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <FieldWrapper\r\n label=\"Personel Sayısı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"personelSayisi\"\r\n component={TextInputForm}\r\n readOnly={true}\r\n />\r\n </FieldWrapper>\r\n\r\n {/* TzyguncellemeYapabilir=x.TzyguncellemeYapabilir,\r\n FinansGuncellemeYapabilir=x.FinansGuncellemeYapabilir,\r\n NetEkstreGuncellemeYapabilir=x.NetEkstreGuncellemeYapabilir,\r\n VersiyonGuncellemeYapabilir=x.VersiyonGuncellemeYapabilir, */}\r\n <FieldWrapper\r\n label=\"Tzy Güncelleme Yapabilir\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"tzyguncellemeYapabilir\"\r\n component={CheckboxForm}\r\n readOnly={!yetki.kaydet}\r\n disabled={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper\r\n label=\"Finans Güncelleme Yapabilir\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"finansGuncellemeYapabilir\"\r\n component={CheckboxForm}\r\n readOnly={!yetki.kaydet}\r\n disabled={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Net Ekstre Güncelleme Yapabilir\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"netEkstreGuncellemeYapabilir\"\r\n component={CheckboxForm}\r\n readOnly={!yetki.kaydet}\r\n disabled={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Versiyon Güncelleme Yapabilir\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"versiyonGuncellemeYapabilir\"\r\n component={CheckboxForm}\r\n readOnly={!yetki.kaydet}\r\n disabled={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"İKB Güncelleme Yapabilir\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"ikbGuncellemeYapabilir\"\r\n component={CheckboxForm}\r\n readOnly={!yetki.kaydet}\r\n disabled={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n <PaketWrapper>\r\n <Field\r\n name=\"standartPaket\"\r\n component={IndeterminateCheckbox}\r\n items={STANDART_PAKET}\r\n label={PAKET.STANDART_PAKET.Text}\r\n onChangeExtra={(newValue, name) => {\r\n if (newValue) {\r\n clearOtherPackets(name, form);\r\n }\r\n }}\r\n readOnly={!yetki.kaydet}\r\n disabled={!yetki.kaydet}\r\n />\r\n </PaketWrapper>\r\n <PaketWrapper>\r\n <Field\r\n name=\"ileriPaket\"\r\n component={IndeterminateCheckbox}\r\n items={ILERI_PAKET}\r\n label={PAKET.ILERI_PAKET.Text}\r\n onChangeExtra={(newValue, name) => {\r\n if (newValue) {\r\n clearOtherPackets(name, form);\r\n }\r\n }}\r\n readOnly={!yetki.kaydet}\r\n disabled={!yetki.kaydet}\r\n />\r\n </PaketWrapper>\r\n </Grid>\r\n </Grid>\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n {yetki?.kaydet && (\r\n <SaveButton\r\n onClick={(e) => {\r\n form.submit();\r\n }}\r\n />\r\n )}\r\n {yetki?.kaydet && (\r\n <CancelButton\r\n onClick={() => {\r\n form.reset();\r\n }}\r\n disabled={submitting || pristine}\r\n />\r\n )}\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n});\r\n\r\nexport default PaketBilgileriDialog;\r\n","import { Alert, AlertTitle, Grid } from \"@mui/material\";\r\nimport React, { useContext, useEffect, useRef, useState } from \"react\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport useFetchDialog from \"../../hooks/use-fetch-dialog\";\r\nimport CustomColoredButton from \"../../components/buttons/custom/CustomColoredButton\";\r\nimport useSubmit from \"../../hooks/use-submit\";\r\nimport SaveButton from \"../../components/buttons/custom/SaveButton\";\r\nimport CancelButton from \"../../components/buttons/custom/CancelButton\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport DescriptionIcon from \"@mui/icons-material/Description\";\r\nimport NumberInputForm from \"../../components/inputs/form-inputs/NumberInputForm\";\r\nimport { YETKI_GRUBU_TIPI } from \"../../common/constants\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport DialogContentTop from \"../../components/dialogs/DialogContentTop\";\r\nimport DosyaYukle from \"../../components/file/DosyaYukle\";\r\nimport DosyaYukleButton from \"../../components/buttons/custom/DosyaYukleButton\";\r\nimport { AnlasmaBilgileriConfig } from \"./SirketConfig\";\r\nimport PdfDialog from \"../../components/pdf/PdfDialog\";\r\nimport DateInputForm2 from \"../../components/inputs/form-inputs/DateInputForm2\";\r\nimport * as yup from \"yup\";\r\n\r\nconst CustomAlert = ({ title, description }) => {\r\n return (\r\n <div style={{ paddingTop: \"20px\" }}>\r\n <Alert variant=\"outlined\" severity=\"error\" style={{ fontSize: \"12px\" }}>\r\n {[description]}\r\n </Alert>\r\n </div>\r\n );\r\n};\r\nconst AnlasmaBilgileriDialog = React.forwardRef(({ listGridRef }, ref) => {\r\n const { open, closeRecord, modalLoading, rowData, setRowData } =\r\n useFetchDialog(ref, AnlasmaBilgileriConfig.getByIdRoute);\r\n\r\n const [errors, setErrors] = useState({}); // Hata mesajlarını saklamak için state\r\n\r\n const handleSubmit = useSubmit(\r\n { updateRoute: AnlasmaBilgileriConfig.updateRoute },\r\n setRowData,\r\n listGridRef\r\n );\r\n\r\n // const [isEditableSure, setIsEditableSure] = useState(false);\r\n const [baslangicTarihi, setBaslangicTarihi] = useState(\"\");\r\n const [bitisTarihi, setBitisTarihi] = useState(\"\");\r\n\r\n // useEffect(() => {\r\n // if (\r\n // baslangicTarihi !== null &&\r\n // baslangicTarihi !== \"\" &&\r\n // bitisTarihi !== null &&\r\n // bitisTarihi !== \"\"\r\n // ) {\r\n // setIsEditableSure(true);\r\n // } else {\r\n // setIsEditableSure(false);\r\n // }\r\n // }, [modalLoading, baslangicTarihi, bitisTarihi]); // Form açıldığında bu effect çalışır\r\n\r\n const handleDateChange = (name, value) => {\r\n if (name === \"projeBaslangicTarihi\") {\r\n setBaslangicTarihi(value);\r\n } else if (name === \"projeBitisTarihi\") {\r\n setBitisTarihi(value);\r\n }\r\n\r\n // Eğer her iki tarih alanı doluysa, 'projeToplamHarcanacakSure' düzenlenebilir olur\r\n // if (baslangicTarihi && bitisTarihi) {\r\n // setIsEditableSure(true);\r\n // } else {\r\n // setIsEditableSure(false);\r\n // }\r\n };\r\n\r\n const pdfDialogRef = useRef();\r\n const dosyaYukleRef = useRef();\r\n\r\n const context = useContext(AppContext);\r\n const yetki =\r\n context?.user?.yetkiler.find(\r\n (x) => x.ekranKodu === AnlasmaBilgileriConfig.ekranKodu\r\n ) ?? {};\r\n\r\n const validationSchema = yup.object().shape({\r\n // projeBaslangicTarihi: yup\r\n // .date()\r\n // .typeError(\"Geçersiz tarih formatı.\")\r\n // .test(\r\n // \"is-before\",\r\n // \"Proje Başlangıç Tarihi, Destek Sözleşme Başlangıç Tarihinden önce olmalıdır.\",\r\n // function (value) {\r\n // const { destekSozBaslangic } = this.parent; // Diğer alanlara erişim\r\n // return (\r\n // !value ||\r\n // !destekSozBaslangic ||\r\n // new Date(value) < new Date(destekSozBaslangic)\r\n // );\r\n // }\r\n // ),\r\n\r\n // projeBitisTarihi: yup\r\n // .date()\r\n // .typeError(\"Geçersiz tarih formatı.\")\r\n // .test(\r\n // \"is-after\",\r\n // \"Proje Bitiş Tarihi, Proje Başlangıç Tarihinden sonra olmalıdır.\",\r\n // function (value) {\r\n // const { projeBaslangicTarihi } = this.parent; // Diğer alanlara erişim\r\n // return (\r\n // !value ||\r\n // !projeBaslangicTarihi ||\r\n // new Date(value) > new Date(projeBaslangicTarihi)\r\n // );\r\n // }\r\n // ),\r\n\r\n destekSozBaslangic: yup.date().typeError(\"Geçersiz tarih formatı.\"),\r\n });\r\n\r\n const validateFormValues = (schema) => async (values) => {\r\n if (typeof schema === \"function\") {\r\n schema = schema();\r\n }\r\n try {\r\n await schema.validate(values, { abortEarly: false });\r\n setErrors(\"\");\r\n } catch (err) {\r\n let errors = {};\r\n errors = err?.inner?.reduce((formError, innerError) => {\r\n return innerError.message;\r\n\r\n // return innerError.message setIn(formError, innerError.path, innerError.message);\r\n }, {});\r\n\r\n setErrors(errors);\r\n return errors;\r\n }\r\n };\r\n\r\n // const customValidateFormValues = (validationSchema) => {\r\n // let aa = validateFormValues(validationSchema);\r\n // setErrors(aa);\r\n // };\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"Anlaşma Bilgileri\"\r\n maxWidth=\"sm\"\r\n\r\n // fullWidth={true}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <DialogContentTop>\r\n <Grid item xs={12}>\r\n <FieldWrapper\r\n label=\"Destek Sözleşmesi Başlangıç Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"destekSozBaslangic\"\r\n component={DateInputForm2}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Aylık Standart Süre (dk)\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"aylikStandartSure\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n numberInput={true}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Destek Sözleşmesi Bitiş Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"destekSozBitis\"\r\n component={DateInputForm2}\r\n readOnly={!yetki.kaydet}\r\n />\r\n {errors.destekSozBaslangic && (\r\n <div className=\"error-message\">\r\n {errors.destekSozBaslangic}\r\n </div>\r\n )}{\" \"}\r\n {/* Hata mesajı */}\r\n </FieldWrapper>\r\n {context.user.yetkiGrubuTipi ===\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value && (\r\n <FieldWrapper\r\n label=\"Aylık Anlaşılan Standart Ücret\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"aylikAnlasilanStandartUcret\"\r\n component={NumberInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n )}\r\n </Grid>\r\n\r\n <Grid item xs={12}>\r\n <div>\r\n <h3>İlk Kurulum Proje Bilgileri</h3>\r\n <hr />\r\n </div>\r\n <FieldWrapper\r\n label=\"Proje Başlangıç Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"projeBaslangicTarihi\"\r\n component={DateInputForm2}\r\n readOnly={!yetki.kaydet}\r\n onChangeExtra={(newValue) => {\r\n handleDateChange(\"projeBaslangicTarihi\", newValue);\r\n }}\r\n />\r\n {errors.projeBaslangicTarihi && (\r\n <div className=\"error-message\">\r\n {errors.projeBaslangicTarihi}\r\n </div>\r\n )}{\" \"}\r\n {/* Hata mesajı */}\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Proje Bitiş Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"projeBitisTarihi\"\r\n component={DateInputForm2}\r\n readOnly={!yetki.kaydet}\r\n onChangeExtra={(newValue) =>\r\n handleDateChange(\"projeBitisTarihi\", newValue)\r\n }\r\n />\r\n {errors.projeBitisTarihi && (\r\n <div className=\"error-message\">\r\n {errors.projeBitisTarihi}\r\n </div>\r\n )}{\" \"}\r\n {/* Hata mesajı */}\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Projede Harcanacak Toplam Süre\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"projeToplamHarcanacakSure\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n numberInput={true}\r\n />\r\n </FieldWrapper>\r\n <CustomAlert\r\n title=\"Harcanan Süre-Destek (Dakika): \"\r\n description=\"Şirket Bazlı Süre Raporunda 'İlk Kurulum Proje Bilgileri' altında belirlenen tarih aralığı ve harcanacak toplam süre, dikkate alınarak 'değerlendirmeye alınan süre' bilgisi hesaplanacaktır.\"\r\n />\r\n </Grid>\r\n </DialogContentTop>\r\n\r\n {Object.keys(errors).length > 0 && (\r\n <div style={{ color: \"red\" }}>\r\n <CustomAlert title=\"Hata\" description={errors} />\r\n </div>\r\n )}\r\n </DialogContentWrapper>\r\n\r\n <DialogActionsWrapper\r\n sx={{\r\n justifyContent: \"space-between\",\r\n }}\r\n >\r\n <Grid>\r\n <>\r\n {rowData.sozlesmeVarMi && (\r\n <CustomColoredButton\r\n startIcon={<DescriptionIcon />}\r\n onClick={(e) => {\r\n pdfDialogRef?.current?.openRecord(rowData.id);\r\n }}\r\n color=\"grape\"\r\n >\r\n Sözleşme\r\n </CustomColoredButton>\r\n )}\r\n\r\n <DosyaYukleButton\r\n onClick={() => {\r\n dosyaYukleRef?.current?.openModal();\r\n }}\r\n label=\"Sözleşme Yükle\"\r\n />\r\n </>\r\n </Grid>\r\n <Grid>\r\n <SaveButton\r\n onClick={(e) => {\r\n form.submit();\r\n }}\r\n />\r\n <CancelButton\r\n onClick={() => {\r\n form.reset();\r\n }}\r\n disabled={submitting || pristine}\r\n />\r\n </Grid>\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n <DosyaYukle\r\n route={AnlasmaBilgileriConfig.contractUploadRoute}\r\n reqExtraData={[{ name: \"id\", value: rowData?.id }]}\r\n ref={dosyaYukleRef}\r\n rowData={rowData}\r\n setRowData={setRowData}\r\n ></DosyaYukle>\r\n\r\n <PdfDialog\r\n ref={pdfDialogRef}\r\n title=\"Sözleşme\"\r\n url={AnlasmaBilgileriConfig.contractGetByIdRoute}\r\n />\r\n </>\r\n );\r\n});\r\n\r\nexport default AnlasmaBilgileriDialog;\r\n","import { ISIN_DURUMU_STR, ISLEM_TURU, URUN_TIP } from \"../common/constants\";\r\nimport { DATE_WIDTH, ID_WIDTH } from \"../common/entityconstants\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n firstSort: \"desc\",\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"urunTipi\",\r\n label: \"Ürün Tipi\",\r\n dataType: \"select\",\r\n dataField: \"urunTipi\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(URUN_TIP),\r\n },\r\n {\r\n name: \"urunAdi\",\r\n label: \"Ürün/Paket Adı\",\r\n dataType: \"text\",\r\n dataField: \"urunAdi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"aciklama\",\r\n label: \"Açıklama\",\r\n dataType: \"text\",\r\n dataField: \"aciklama\",\r\n visible: [\"grid\"],\r\n }\r\n];\r\n\r\nexport default entity;\r\n","import Type from \"../../entities/LisansPaketBilgileriErp\";\r\n\r\nimport { EKRAN_KODU } from \"../../common/constants\";\r\n\r\nconst PageConfig = {\r\n title: \"Şirketler\",\r\n ekranKodu: EKRAN_KODU.SIRKET.value,\r\n type: Type,\r\n // listRoute: \"LisansPaketBilgileriErp/List\",\r\n getByIdRoute: \"LisansPaketBilgileriErp/GetById\",\r\n // insertRoute: \"LisansPaketBilgileriErp/Insert\",\r\n updateRoute: \"LisansPaketBilgileriErp/Update\",\r\n deleteRoute: \"LisansPaketBilgileriErp/DeleteDetail\",\r\n};\r\n\r\nconst OtherConfig = {\r\n lisansKoduVerConfig: \"Sirket/LisansKoduVer\",\r\n};\r\n\r\nexport { PageConfig, OtherConfig };\r\n","import React from \"react\";\r\nimport AutocomplateInputForm from \"../form-inputs/AutocomplateInputForm\";\r\n\r\nexport default function UrunlerInputForm({\r\n ekranKodu,\r\n rowData,\r\n readOnly,\r\n inputRef,\r\n input,\r\n reqData,\r\n urunTipiRef,\r\n programRef,\r\n onChangeExtra,\r\n fieldsForText,\r\n fieldLabel,\r\n program,\r\n ...rest\r\n}) {\r\n return (\r\n <>\r\n <AutocomplateInputForm\r\n readOnly={readOnly}\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute: \"Urunler/UrunlerListForSelect\",\r\n fildsForText: fieldsForText ? fieldsForText : [\"urunKodu\", \"urunAdi\"],\r\n fieldForValue: \"id\",\r\n reqData: {\r\n ...{\r\n urunTipi:\r\n urunTipiRef?.current?.value === \"\"\r\n ? rowData.urunTip\r\n : urunTipiRef?.current?.value,\r\n program:\r\n programRef?.current?.value !== \"\" && programRef\r\n ? programRef?.current?.value\r\n : rowData.program\r\n },\r\n },\r\n fieldLabel: fieldLabel ? fieldLabel : \"urunKoduAdi\",\r\n }}\r\n ref={inputRef}\r\n input={input}\r\n onChangeExtra={onChangeExtra}\r\n {...rest}\r\n />\r\n </>\r\n );\r\n}\r\n","import React, { useRef } from \"react\";\r\nimport { Grid } from \"@mui/material\";\r\nimport { Field, Form, FormSpy } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport { PageConfig } from \"./LisansPaketBilgileriERPConfig\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport * as yup from \"yup\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport {\r\n PARA_BIRIMI,\r\n URUN_TIP_MODULPAKET,\r\n URUN_PROGRAMLARI,\r\n URUN_TIP,\r\n} from \"../../common/constants\";\r\nimport UrunlerInputForm from \"../../components/inputs/custom-form-inputs/UrunlerInputForm\";\r\nimport NumberInputForm from \"../../components/inputs/form-inputs/NumberInputForm\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport dayjs from \"dayjs\";\r\nimport MultilineTextInputForm from \"../../components/inputs/form-inputs/MultilineTextInputForm\";\r\n\r\nconst LisansPaketBilgileriErpDetayRecord = React.forwardRef(\r\n (\r\n {\r\n ekranKodu,\r\n listGridRef,\r\n masterRef,\r\n detailGridRef,\r\n editGridRef,\r\n sirketid,\r\n program,\r\n setGridDs,\r\n },\r\n ref\r\n ) => {\r\n const context = React.useContext(AppContext);\r\n\r\n\r\n const initialState = {\r\n sirketid: sirketid,\r\n program: program\r\n // aktif: true,\r\n // degisiklikTarihi: dayjs(),\r\n // kayitEdenKullanici: context?.user?.id,\r\n };\r\n\r\n const urunKoduInputRef = useRef();\r\n const urunTipiRef = useRef();\r\n const programRef = useRef();\r\n\r\n\r\n\r\n const customFetchData = (id) => {\r\n let rows = editGridRef.current.instance.getVisibleRows();\r\n let currentRow = rows.find((x) => x.key == id);\r\n setRowData(currentRow.data);\r\n setModalLoading(false);\r\n };\r\n\r\n\r\n const customInsertOrUpdate = (values) => {\r\n var tempChanges = editGridRef.current.instance\r\n .option(\"editing.changes\")\r\n .slice();\r\n if (recId) {\r\n let change = tempChanges.find((x) => x.key == recId);\r\n if (!change) {\r\n tempChanges.push({\r\n key: recId,\r\n data: {},\r\n type: \"update\",\r\n });\r\n change = tempChanges.find((x) => x.key == recId);\r\n }\r\n\r\n let rows = editGridRef.current.instance.getVisibleRows();\r\n let currentRow = rows.find((x) => x.key == recId);\r\n\r\n Object.keys(currentRow.data).map((key) => {\r\n if (values[key] != currentRow.data[key]) {\r\n change.data[key] = values[key];\r\n }\r\n });\r\n } else {\r\n tempChanges.push({\r\n key: crypto.randomUUID(),\r\n data: values,\r\n type: \"insert\",\r\n });\r\n }\r\n\r\n editGridRef.current.instance.option(\"editing.changes\", tempChanges);\r\n\r\n handleClose();\r\n };\r\n\r\n const values = useRef(null);\r\n\r\n // var urunPaketSecimEnabled = useRef(null);\r\n var urunTipSecimEnabled = useRef(null);\r\n\r\n // urunPaketSecimEnabled = false;\r\n urunTipSecimEnabled = false;\r\n\r\n const afterDelete = () => {\r\n if (typeof recId === typeof \"\") {\r\n let tempChanges =\r\n editGridRef.current.instance.option(\"editing.changes\");\r\n editGridRef.current.instance.option(\r\n \"editing.changes\",\r\n tempChanges.filter((x) => x.key != recId)\r\n );\r\n } else {\r\n let ds = editGridRef.current.instance.option(\"dataSource\");\r\n setGridDs(ds.filter((x) => x.id != recId));\r\n }\r\n };\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n setRowData,\r\n setModalLoading,\r\n recId,\r\n } = usePageRecord(\r\n ref,\r\n PageConfig,\r\n listGridRef,\r\n ekranKodu,\r\n initialState,\r\n detailGridRef,\r\n false,\r\n customFetchData,\r\n customInsertOrUpdate,\r\n null,\r\n afterDelete\r\n );\r\n\r\n const validationSchema = yup.object().shape({\r\n urunTipi: yup.number().required(),\r\n // urunid: yup.number().required(),\r\n // program: yup.number().required(),\r\n // kullaniciSayisi1: yup.number().required(),\r\n // kullaniciSayisi2: yup.number().required(),\r\n // birimFiyat: yup.number().required(),\r\n // birim: yup.string().required(),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Ürün Seçimi\"\r\n maxWidth=\"sm\"\r\n // height={\"480px\"}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n // subscription={{\r\n // form: true,\r\n // }}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n reset,\r\n values: formValues,\r\n }) => {\r\n return (\r\n <FormComponent\r\n onSubmit={handleSubmit}\r\n style={{ height: \"290px\" }}\r\n >\r\n {/* <FormSpy\r\n subscription={{ values: true }}\r\n onChange={(props) => {\r\n if (\r\n values?.current?.kdvOrani != props.values.kdvOrani ||\r\n values?.current?.birimFiyat != props.values.birimFiyat\r\n ) {\r\n let xkdvTutari =\r\n (props.values.birimFiyat * props.values.kdvOrani) /\r\n 100;\r\n form.change(\"kdvTutari\", xkdvTutari);\r\n\r\n form.change(\r\n \"kdVliBirimFiyat\",\r\n xkdvTutari + props.values.birimFiyat\r\n );\r\n }\r\n values.current = props.values;\r\n\r\n // urunTipSecimEnabled = props.values.program !== null;\r\n // urunPaketSecimEnabled = props.values.urunTip !== null;\r\n }}\r\n /> */}\r\n <DialogContentWrapper>\r\n {/* <DialogContentTop> */}\r\n <Grid item xs={12} sm={6} md={6}>\r\n {/* <FieldWrapper\r\n label=\"Şirket Ürün id\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </FieldWrapper> */}\r\n <FieldWrapper\r\n label=\"Şirket No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n disabled\r\n name=\"sirketid\"\r\n component={TextInputForm}\r\n // defaultValue={masterRef?.id}\r\n defaultValue={sirketid}\r\n />\r\n </FieldWrapper>\r\n {1 == 2 ? (<FieldWrapper\r\n label=\"Program\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n disabled\r\n name=\"program\"\r\n items={Object.values(URUN_PROGRAMLARI)}\r\n component={AutocomplateInputForm}\r\n readOnly={true}\r\n // defaultValue={masterRef?.id}\r\n defaultValue={program}\r\n />\r\n </FieldWrapper>) : (null)}\r\n\r\n\r\n\r\n {/* <FieldWrapper label=\"Program\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"program\"\r\n items={Object.values(URUN_PROGRAMLARI)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n ref={programRef}\r\n onChangeExtra={(old, newVal) => {\r\n console.log(\"ewVal?.Valueprogram\", newVal?.Value);\r\n urunTipSecimEnabled = newVal?.Value !== null;\r\n }}\r\n />\r\n </FieldWrapper> */}\r\n <FieldWrapper\r\n label=\"Ürün Tipi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"urunTipi\"\r\n items={Object.values(URUN_TIP)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n // disabled={!urunTipSecimEnabled}\r\n ref={urunTipiRef}\r\n onChangeExtra={(old, newVal) => {\r\n // urunPaketSecimEnabled = newVal?.Value !== null;\r\n }}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper label=\"Ürün\" modalLoading={modalLoading}>\r\n {formValues.urunTipi != URUN_TIP.BAGIMSIZ.Value ? (<Field\r\n name=\"urunid\"\r\n rowData={rowData}\r\n component={UrunlerInputForm}\r\n readOnly={!yetki.kaydet}\r\n // disabled={!urunPaketSecimEnabled}\r\n inputRef={urunKoduInputRef}\r\n ekranKodu={ekranKodu}\r\n urunTipiRef={urunTipiRef}\r\n // programRef={programRef}\r\n fieldsForText={[\"urunKodu\", \"urunAdi\"]}\r\n fieldLabel={\"urunKoduAdi\"}\r\n onChangeExtra={(old, newVal) => {\r\n if (newVal?.Value) {\r\n form?.change(\"urunKoduAdi\", newVal?.Text);\r\n }\r\n }}\r\n />) : (\r\n <Field\r\n name=\"bagimsizUrunAdi\"\r\n rowData={rowData}\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n )}\r\n\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Açıklama\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"aciklama\"\r\n rowData={rowData}\r\n type=\"text\"\r\n component={MultilineTextInputForm}\r\n readOnly={!yetki.kaydet}\r\n minRows={5}\r\n maxRows={5}\r\n />\r\n </FieldWrapper>\r\n {/* <FieldWrapper label=\"Ürün Adı\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"urunid\"\r\n rowData={rowData}\r\n component={UrunlerUrunAdiInputForm}\r\n readOnly={!yetki.kaydet}\r\n inputRef={urunAdiInputRef}\r\n ekranKodu={ekranKodu}\r\n urunTipiRef={urunTipiRef}\r\n // onChangeExtra={urunAdiInputOnChangeExtra}\r\n\r\n // urunBilgileriResultRef={\"asd\"}\r\n />\r\n </FieldWrapper> */}\r\n\r\n </Grid>\r\n {/* </DialogContentTop> */}\r\n <DialogActionsWrapper>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogActionsWrapper>\r\n </DialogContentWrapper>\r\n </FormComponent>\r\n );\r\n }}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n }\r\n);\r\nexport default LisansPaketBilgileriErpDetayRecord;\r\n","import { useEffect, useRef, useState } from \"react\";\r\nimport { PageConfig } from \"./LisansPaketBilgileriERPConfig\";\r\n// import FiyatListeDetayRecord from \"./FiyatListeDetayRecord\";\r\nimport EditGrid from \"../../components/grid/EditGrid\";\r\nimport { useField } from \"react-final-form\";\r\nimport LisansPaketBilgileriErpDetayRecord from \"./LisansPaketBilgileriErpDetayRecord\";\r\n\r\nfunction LisansPaketBilgileriErpDetay({\r\n ekranKodu,\r\n rowData,\r\n listGridRef,\r\n detailGridRef,\r\n editGridRef\r\n}) {\r\n const recordRef = useRef();\r\n const ref = useRef();\r\n\r\n const [gridDs, setGridDs] = useState(rowData.lisansPaketBilgileriErpDetayDtos);\r\n\r\n useEffect(() => {\r\n setGridDs(rowData.lisansPaketBilgileriErpDetayDtos);\r\n }, [rowData]);\r\n\r\n const openRecord = (id) => {\r\n ref.current.openRecord(id);\r\n };\r\n\r\n const sirketid = useField(\"id\").input.value;\r\n\r\n const program = rowData.program\r\n\r\n return (\r\n <>\r\n <EditGrid\r\n entities={PageConfig.type}\r\n openRecord={openRecord}\r\n height={\"45vh\"}\r\n editGridRef={editGridRef}\r\n dataSource={gridDs ?? []}\r\n // filtrele={true}\r\n ></EditGrid>\r\n <LisansPaketBilgileriErpDetayRecord\r\n ref={ref}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n detailGridRef={detailGridRef}\r\n editGridRef={editGridRef}\r\n sirketid={sirketid}\r\n program={program}\r\n setGridDs={setGridDs}\r\n ></LisansPaketBilgileriErpDetayRecord>\r\n </>\r\n );\r\n}\r\n\r\nexport default LisansPaketBilgileriErpDetay;\r\n","import React, { useRef } from \"react\";\r\nimport useFetchDialog from \"../../hooks/use-fetch-dialog\";\r\nimport { PageConfig, OtherConfig } from \"./LisansPaketBilgileriERPConfig\";\r\nimport SaveButton from \"../../components/buttons/custom/SaveButton\";\r\nimport { Grid, Paper, Skeleton } from \"@mui/material\";\r\nimport CancelButton from \"../../components/buttons/custom/CancelButton\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport useSubmit from \"../../hooks/use-submit\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport CheckboxForm from \"../../components/inputs/form-inputs/CheckboxForm\";\r\nimport LisansPaketBilgileriErpDetay from \"./LisansPaketBilgileriErpDetay\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport { apiUrl, YETKI_GRUBU_TIPI } from \"../../common/constants\";\r\nimport { Button } from \"devextreme-react\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport CustomColoredButton from \"../../components/buttons/custom/CustomColoredButton\";\r\nimport { Preview } from \"@mui/icons-material\";\r\nimport PaketBilgileriDialog from \"../Sirket/PaketBilgileriDialog\";\r\nimport ButtonWrapper from \"../../components/buttons/ButtonWrapper\";\r\n\r\nconst LisansPaketBilgileriERPDialog = React.forwardRef(\r\n ({ yetki, ekranKodu }, ref) => {\r\n const context = React.useContext(AppContext);\r\n const editGridRef = useRef();\r\n const paketBilgileriDialogRef = useRef();\r\n\r\n const handleSubmitPrepareData = (values) => {\r\n let aa = {\r\n ...values,\r\n lisansPaketBilgileriErpDetayDtos: editGridRef.current.instance\r\n .getVisibleRows()\r\n .map((row) => {\r\n return row.data;\r\n }),\r\n };\r\n\r\n return aa;\r\n };\r\n\r\n const destekKullanicisi =\r\n context?.user?.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value ||\r\n context?.user?.yetkiGrubuTipi === YETKI_GRUBU_TIPI.BAYI_DESTEK.Value;\r\n\r\n const { open, closeRecord, modalLoading, rowData, setRowData } =\r\n useFetchDialog(ref, PageConfig.getByIdRoute);\r\n\r\n const handleSubmit = useSubmit(\r\n PageConfig,\r\n setRowData,\r\n null,\r\n () => {\r\n editGridRef.current?.instance?.cancelEditData();\r\n },\r\n handleSubmitPrepareData\r\n );\r\n const lisansKoduRef = useRef();\r\n\r\n async function lisansKoduVer() {\r\n var flisansKodu = crypto.randomUUID().toUpperCase();\r\n setRowData((prevData) => ({ ...prevData, lisansKodu: flisansKodu }));\r\n\r\n var FormData = require(\"form-data\");\r\n var reqData = new FormData();\r\n reqData.append(\"lisansKodu\", flisansKodu);\r\n reqData.append(\"sirketId\", rowData.id);\r\n\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${OtherConfig.lisansKoduVerConfig}`,\r\n data: reqData,\r\n });\r\n }\r\n\r\n // const clearOtherPackets = (fieldName, form) => {\r\n // // Diğer paketleri kaldır\r\n // [\"baslangicPaket\", \"standartPaket\", \"ortaPaket\", \"ileriPaket\"]\r\n // .filter((name) => name !== fieldName)\r\n // .forEach((name) => {\r\n // setTimeout(() => {\r\n // form.change(name, []);\r\n // }, 0);\r\n // });\r\n // };\r\n\r\n // const PaketWrapper = ({ children, sx }) => {\r\n // return modalLoading ? (\r\n // <Skeleton width={\"100%\"}></Skeleton>\r\n // ) : (\r\n // <Paper\r\n // square\r\n // elevation={3}\r\n // sx={{ padding: 2, marginX: \"1px\", marginY: 1, ...sx }}\r\n // >\r\n // {children}\r\n // </Paper>\r\n // );\r\n // };\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"Lisans ve Paket Bilgileri\"\r\n maxWidth=\"md\"\r\n // fullWidth={true}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n //validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper sx={{ padding: 1 }}>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <FieldWrapper\r\n label=\"Kullanıcı Sayısı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"kullaniciSayisi\"\r\n component={TextInputForm}\r\n readOnly={true}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Lisans Kodu\"\r\n modalLoading={modalLoading}\r\n >\r\n {context.user?.anaBayiKullanicisi === true &&\r\n !destekKullanicisi &&\r\n !rowData.lisansKodu ? (\r\n <Grid container direction=\"row\" spacing={2}>\r\n <Grid item xs={9}>\r\n <Field\r\n name=\"lisansKodu\"\r\n component={TextInputForm}\r\n readOnly={true}\r\n inputRef={lisansKoduRef}\r\n />\r\n </Grid>\r\n <Grid item xs={3}>\r\n <CustomColoredButton\r\n sx={{\r\n p: \"1px 7px\",\r\n fontSize: \"12pt\",\r\n textTransform: \"unset\",\r\n }}\r\n color=\"teal\"\r\n startIcon={<Preview />}\r\n onClick={() => {\r\n lisansKoduVer();\r\n }}\r\n >\r\n Kod Ver\r\n </CustomColoredButton>\r\n </Grid>\r\n </Grid>\r\n ) : (\r\n <Field\r\n name=\"lisansKodu\"\r\n component={TextInputForm}\r\n readOnly={true}\r\n inputRef={lisansKoduRef}\r\n />\r\n )}\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Tzy Güncelleme Yapabilir\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"tzyguncellemeYapabilir\"\r\n component={CheckboxForm}\r\n readOnly={!yetki.kaydet || destekKullanicisi}\r\n disabled={!yetki.kaydet || destekKullanicisi}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper\r\n label=\"Finans Güncelleme Yapabilir\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"finansGuncellemeYapabilir\"\r\n component={CheckboxForm}\r\n readOnly={!yetki.kaydet || destekKullanicisi}\r\n disabled={!yetki.kaydet || destekKullanicisi}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Net Ekstre Güncelleme Yapabilir\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"netEkstreGuncellemeYapabilir\"\r\n component={CheckboxForm}\r\n readOnly={!yetki.kaydet || destekKullanicisi}\r\n disabled={!yetki.kaydet || destekKullanicisi}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Versiyon Güncelleme Yapabilir\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"versiyonGuncellemeYapabilir\"\r\n component={CheckboxForm}\r\n readOnly={!yetki.kaydet || destekKullanicisi}\r\n disabled={!yetki.kaydet || destekKullanicisi}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"İKB Güncelleme Yapabilir\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"ikbGuncellemeYapabilir\"\r\n component={CheckboxForm}\r\n readOnly={!yetki.kaydet || destekKullanicisi}\r\n disabled={!yetki.kaydet || destekKullanicisi}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n\r\n <LisansPaketBilgileriErpDetay\r\n ekranKodu={ekranKodu}\r\n rowData={rowData}\r\n editGridRef={editGridRef}\r\n listGridRef={editGridRef}\r\n detailGridRef={editGridRef}\r\n // masterOpenRecord={refreshRecord}\r\n ></LisansPaketBilgileriErpDetay>\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n <Grid container direction=\"row\">\r\n <Grid item xs={6} >\r\n <ButtonWrapper\r\n color=\"primary\"\r\n onClick={() => {\r\n paketBilgileriDialogRef?.current?.openRecord(\r\n rowData?.id\r\n );\r\n }}\r\n // disabled={disabled}\r\n >\r\n Kullanılan Paket Adı\r\n </ButtonWrapper>\r\n \r\n </Grid>\r\n <Grid item xs={6}>\r\n <Grid container justifyContent=\"flex-end\">\r\n {yetki?.kaydet && !destekKullanicisi && (\r\n <SaveButton\r\n onClick={(e) => {\r\n form.submit();\r\n }}\r\n />\r\n )}\r\n {yetki?.kaydet && !destekKullanicisi && (\r\n <CancelButton\r\n onClick={() => {\r\n form.reset();\r\n }}\r\n disabled={submitting || pristine}\r\n />\r\n )}\r\n </Grid>\r\n </Grid>\r\n </Grid>\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n <PaketBilgileriDialog\r\n yetki={yetki}\r\n ref={paketBilgileriDialogRef}\r\n ></PaketBilgileriDialog>\r\n </>\r\n );\r\n }\r\n);\r\n\r\nexport default LisansPaketBilgileriERPDialog;\r\n","import { ISIN_DURUMU_STR, ISLEM_TURU, URUN_TIP } from \"../common/constants\";\r\nimport { DATE_WIDTH, ID_WIDTH } from \"../common/entityconstants\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n firstSort: \"desc\",\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"kisiAdiSoyadi\",\r\n label: \"Adı Soyadı\",\r\n dataType: \"text\",\r\n dataField: \"kisiAdiSoyadi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"kisiTelefon\",\r\n label: \"Telefon\",\r\n dataType: \"text\",\r\n dataField: \"kisiTelefon\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"kisiEmail\",\r\n label: \"Mail\",\r\n dataType: \"text\",\r\n dataField: \"kisiEmail\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"urunTipi\",\r\n label: \"Ürün Tipi\",\r\n dataType: \"select\",\r\n dataField: \"urunTipi\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(URUN_TIP),\r\n },\r\n {\r\n name: \"urunAdi\",\r\n label: \"Ürün/Paket Adı\",\r\n dataType: \"text\",\r\n dataField: \"urunAdi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"baslangicTarihi\",\r\n label: \"Paket/Entegrasyon Başlangıç Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"baslangicTarihi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"bitisTarihi\",\r\n label: \"Paket/Entegrasyon Bitiş Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"bitisTarihi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"anaKullanici\",\r\n label: \"Ana Kullanıcı\",\r\n dataType: \"boolean\",\r\n dataField: \"anaKullanici\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"aciklama\",\r\n label: \"Açıklama\",\r\n dataType: \"text\",\r\n dataField: \"aciklama\",\r\n visible: [\"grid\"],\r\n }\r\n];\r\n\r\nexport default entity;\r\n","import Type from \"../../entities/LisansPaketBilgileriCloud\";\r\n\r\nimport { EKRAN_KODU } from \"../../common/constants\";\r\n\r\nconst PageConfig = {\r\n title: \"Şirketler\",\r\n ekranKodu: EKRAN_KODU.SIRKET.value,\r\n type: Type,\r\n // listRoute: \"LisansPaketBilgileriErp/List\",\r\n getByIdRoute: \"LisansPaketBilgileriCloud/GetById\",\r\n // insertRoute: \"LisansPaketBilgileriErp/Insert\",\r\n updateRoute: \"LisansPaketBilgileriCloud/Update\",\r\n deleteRoute: \"LisansPaketBilgileriCloud/DeleteDetail\",\r\n};\r\n\r\n// const OtherConfig = {\r\n// lisansKoduVerConfig: \"Sirket/LisansKoduVer\",\r\n// };\r\n\r\nexport { PageConfig };\r\n","import Type from \"../../entities/PotansiyelKisiler\";\r\n\r\nconst PageConfig = {\r\n title: \"PotansiyelKisiler\",\r\n ekranKodu: \"PotansiyelKisiler_Res\",\r\n type: Type,\r\n listRoute: \"PotansiyelKisiler/List\",\r\n getByIdRoute: \"PotansiyelKisiler/GetById\",\r\n insertRoute: \"PotansiyelKisiler/Insert\",\r\n updateRoute: \"PotansiyelKisiler/Update\",\r\n deleteRoute: \"PotansiyelKisiler/Delete\",\r\n};\r\n\r\nexport { PageConfig };\r\n","import { ID_WIDTH } from \"../common/entityconstants\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"Kişi No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"adSoyad\",\r\n label: \"Ad Soyad\",\r\n dataType: \"text\",\r\n dataField: \"adSoyad\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"tckn\",\r\n label: \"TCKN\",\r\n dataType: \"text\",\r\n dataField: \"tckn\",\r\n visible: [\"grid\"],\r\n },\r\n\r\n {\r\n name: \"tel\",\r\n label: \"Tel\",\r\n dataType: \"text\",\r\n dataField: \"tel\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"mail\",\r\n label: \"Mail\",\r\n dataType: \"text\",\r\n dataField: \"mail\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"goreviStr\",\r\n label: \"Görevi\",\r\n dataType: \"text\",\r\n dataField: \"goreviStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"firmaYetkilisi\",\r\n label: \"Firma Yetkilisi\",\r\n dataType: \"boolean\",\r\n dataField: \"firmaYetkilisi\",\r\n visible: [\"grid\"],\r\n },\r\n //filtre--------------------------------------------------------------------------------------------------\r\n];\r\n\r\nexport default entity;\r\n","import React, { useRef } from \"react\";\r\nimport { Stack } from \"@mui/material\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport * as yup from \"yup\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport { PageConfig } from \"./PotansiyelKisilerConfig\";\r\nimport DinamikTanimlarInputForm from \"../../components/inputs/custom-form-inputs/DinamikTanimlarInputForm\";\r\nimport { DINAMIK_TANIM_TIPLERI } from \"../../common/constants\";\r\nimport CheckboxForm from \"../../components/inputs/form-inputs/CheckboxForm\";\r\n\r\nconst CustomFieldWrapper = ({ label, modalLoading, children }) => {\r\n return (\r\n <FieldWrapper\r\n label={label}\r\n modalLoading={modalLoading}\r\n width={\"75%\"}\r\n textWidth={\"25%\"}\r\n >\r\n {children}\r\n </FieldWrapper>\r\n );\r\n};\r\n\r\nconst PotansiyelKisilerRecord = React.forwardRef(\r\n ({ ekranKodu, listGridRef, potansiyelidData }, ref) => {\r\n const initialState = { potansiyelid: potansiyelidData?.id };\r\n\r\n const gorevDinamikTanimInputRef = useRef();\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n } = usePageRecord(ref, PageConfig, listGridRef, ekranKodu, initialState);\r\n\r\n const validationSchema = yup.object().shape({\r\n adSoyad: yup.string().required(),\r\n // adSoyad: yup.string().required(),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Yeni Kişi\"\r\n maxWidth=\"xs\"\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <form onSubmit={handleSubmit}>\r\n {/* <FormComponent onSubmit={handleSubmit}> */}\r\n <DialogContentWrapper>\r\n <Stack direction=\"column\" spacing={1}>\r\n <CustomFieldWrapper\r\n label=\"Kişi No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Potansiyel No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"potansiyelid\"\r\n component={TextInputForm}\r\n //readOnly={!yetki.kaydet}\r\n disabled\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Ad Soyad\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"adSoyad\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"T.C. Kimlik No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"tckn\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Görevi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"gorevi\"\r\n rowData={rowData}\r\n component={DinamikTanimlarInputForm}\r\n inputRef={gorevDinamikTanimInputRef}\r\n ekranKodu={ekranKodu}\r\n readOnly={!yetki.kaydet}\r\n tip={DINAMIK_TANIM_TIPLERI.POTANSIYEL_KISI_GOREVI.Value}\r\n caption=\"Görev Tanımlama\"\r\n aciklamaCaption=\"Görev\"\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Firma Yetkilisi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"firmaYetkilisi\"\r\n rowData={rowData}\r\n component={CheckboxForm}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper label=\"Tel\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"tel\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Mail\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"mail\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n </Stack>\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogActionsWrapper>\r\n {/* </FormComponent> */}\r\n </form>\r\n )}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n }\r\n);\r\nexport default PotansiyelKisilerRecord;\r\n","import React, { useRef } from \"react\";\r\nimport AutocomplateInputForm from \"../form-inputs/AutocomplateInputForm\";\r\nimport DinamikTanimlarRecord from \"../../../pages/DinamikTanimlar/DinamikTanimlarRecord\";\r\nimport PotansiyelKisilerRecord from \"../../../pages/PotansiyelKisiler/PotansiyelKisilerRecord\";\r\n\r\nexport default function PotansiyelKisilerInputForm({\r\n ekranKodu,\r\n rowData,\r\n readOnly,\r\n inputRef,\r\n input,\r\n reqData,\r\n fieldLabelRef,\r\n potansiyelIdRef,\r\n telefonRef,\r\n mailRef,\r\n potFirmaid,\r\n fieldLabelVal,\r\n // potansiyelid,\r\n ...rest\r\n}) {\r\n const potansiyelKisilerDialogRef = useRef();\r\n const recordRef = useRef();\r\n\r\n const potansiyelid =\r\n typeof potansiyelIdRef !== \"undefined\" &&\r\n potansiyelIdRef?.current?.value !== \"\"\r\n ? potansiyelIdRef?.current?.value\r\n : potFirmaid\r\n ? potFirmaid\r\n : rowData?.potFirmaid;\r\n\r\n return (\r\n <>\r\n <AutocomplateInputForm\r\n ref={inputRef}\r\n readOnly={readOnly}\r\n rowData={rowData}\r\n insertButtonRef={potansiyelKisilerDialogRef}\r\n remoteDataAdaptor={{\r\n fetchRoute: \"PotansiyelKisiler/ListForSelect\",\r\n fildsForText: [\"adSoyad\"],\r\n fieldForValue: \"id\",\r\n reqData: { id: potansiyelid },\r\n fieldLabel: fieldLabelVal ? fieldLabelVal : \"gorusulenKisiidStr\",\r\n }}\r\n input={input}\r\n telefonRef={telefonRef}\r\n mailRef={mailRef}\r\n insertEditButtonVisible={potansiyelid > 0}\r\n {...rest}\r\n />\r\n <PotansiyelKisilerRecord\r\n ref={potansiyelKisilerDialogRef}\r\n ekranKodu={ekranKodu}\r\n // listGridRef={listGridRef}\r\n potansiyelidData={{ id: potansiyelid }}\r\n />\r\n {/* <DinamikTanimlarRecord\r\n ref={dinamikTanimlarDialogRef}\r\n ekranKodu={ekranKodu}\r\n dinamikTanimlarInputRef={inputRef}\r\n tip={tip}\r\n caption={caption}\r\n aciklamaCaption={aciklamaCaption}\r\n ></DinamikTanimlarRecord> */}\r\n </>\r\n );\r\n}\r\n","import React, { useRef } from \"react\";\r\nimport AutocomplateInputForm from \"../form-inputs/AutocomplateInputForm\";\r\nimport DinamikTanimlarRecord from \"../../../pages/DinamikTanimlar/DinamikTanimlarRecord\";\r\nimport SirketKisilerRecord from \"../../../pages/SirketKisiler/SirketKisilerRecord\";\r\n\r\nexport default function SirketKisilerInputForm({\r\n ekranKodu,\r\n rowData,\r\n readOnly,\r\n inputRef,\r\n input,\r\n reqData,\r\n fieldLabelRef,\r\n sirketIdRef,\r\n telefonRef,\r\n mailRef,\r\n sirketid,\r\n fieldLabelVal,\r\n // potansiyelid,\r\n ...rest\r\n}) {\r\n const sirketKisilerDialogRef = useRef();\r\n const recordRef = useRef();\r\n\r\n const xSirketid =\r\n typeof sirketIdRef !== \"undefined\" &&\r\n sirketIdRef?.current?.value !== \"\"\r\n ? sirketIdRef?.current?.value\r\n : sirketid\r\n ? sirketid\r\n : rowData?.sirketid;\r\n\r\n return (\r\n <>\r\n <AutocomplateInputForm\r\n ref={inputRef}\r\n readOnly={readOnly}\r\n rowData={rowData}\r\n insertButtonRef={sirketKisilerDialogRef}\r\n remoteDataAdaptor={{\r\n fetchRoute: \"SirketKisiler/ListForSelect\",\r\n fildsForText: [\"adSoyad\"],\r\n fieldForValue: \"id\",\r\n reqData: { sirketid: xSirketid },\r\n fieldLabel: fieldLabelVal ? fieldLabelVal : \"gorusulenKisiidStr\",\r\n }}\r\n input={input}\r\n telefonRef={telefonRef}\r\n mailRef={mailRef}\r\n insertEditButtonVisible={xSirketid > 0}\r\n {...rest}\r\n />\r\n <SirketKisilerRecord\r\n ref={sirketKisilerDialogRef}\r\n ekranKodu={ekranKodu}\r\n // listGridRef={listGridRef}\r\n sirketidData={{ id: xSirketid }}\r\n />\r\n {/* <DinamikTanimlarRecord\r\n ref={dinamikTanimlarDialogRef}\r\n ekranKodu={ekranKodu}\r\n dinamikTanimlarInputRef={inputRef}\r\n tip={tip}\r\n caption={caption}\r\n aciklamaCaption={aciklamaCaption}\r\n ></DinamikTanimlarRecord> */}\r\n </>\r\n );\r\n}\r\n","import React, { forwardRef, useImperativeHandle } from \"react\";\r\nimport { TextField } from \"@mui/material\";\r\n\r\nconst NewTextInputForm = forwardRef(\r\n (\r\n {\r\n input,\r\n meta,\r\n label,\r\n defaultValue,\r\n numberInput,\r\n inputRef,\r\n onChangeExtra,\r\n ...rest\r\n },\r\n ref\r\n ) => {\r\n // İç state yönetimi için bir ref'e erişim sağlanır.\r\n const localRef = React.useRef();\r\n\r\n // Dışarıya metodlar veya özellikler sağlamak için useImperativeHandle kullanılır.\r\n useImperativeHandle(ref, () => ({\r\n setValue(value) {\r\n if (localRef.current) {\r\n localRef.current.value = value;\r\n input.onChange(value); // Formik veya Field ile entegre\r\n }\r\n },\r\n getValue() {\r\n return localRef.current?.value;\r\n },\r\n }));\r\n\r\n return (\r\n <TextField\r\n {...input}\r\n {...(inputRef && { inputRef: inputRef })}\r\n inputRef={localRef} // TextField'in native input elemanını bağlamak\r\n sx={{ width: \"100%\" }}\r\n label={label}\r\n {...(numberInput && { type: \"number\" })}\r\n variant=\"standard\"\r\n defaultValue={defaultValue}\r\n onChange={(event) => {\r\n const value =\r\n numberInput || input.type === \"number\"\r\n ? event.target.value === \"\"\r\n ? undefined\r\n : +event.target.value\r\n : event.target.value;\r\n\r\n input.onChange(value);\r\n onChangeExtra && onChangeExtra(value);\r\n }}\r\n autoComplete=\"off\"\r\n error={meta.error && meta.touched}\r\n helperText={meta.error && meta.touched ? meta.error : null}\r\n inputProps={{ readOnly: rest.readOnly, maxLength: rest.maxLength }}\r\n {...rest}\r\n />\r\n );\r\n }\r\n);\r\n\r\nexport default NewTextInputForm;\r\n","import React, { useRef } from \"react\";\r\nimport { Grid } from \"@mui/material\";\r\nimport { Field, Form, FormSpy } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport { PageConfig } from \"./LisansPaketBilgileriCloudConfig\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport * as yup from \"yup\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport {\r\n PARA_BIRIMI,\r\n URUN_TIP_MODULPAKET,\r\n URUN_PROGRAMLARI,\r\n URUN_TIP,\r\n} from \"../../common/constants\";\r\nimport UrunlerInputForm from \"../../components/inputs/custom-form-inputs/UrunlerInputForm\";\r\nimport NumberInputForm from \"../../components/inputs/form-inputs/NumberInputForm\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport dayjs from \"dayjs\";\r\nimport MultilineTextInputForm from \"../../components/inputs/form-inputs/MultilineTextInputForm\";\r\nimport PotansiyelKisilerInputForm from \"../../components/inputs/custom-form-inputs/PotansiyelKisilerInputForm\";\r\nimport SirketKisilerInputForm from \"../../components/inputs/custom-form-inputs/SirketKisilerInputForm\";\r\nimport NewTextInputForm from \"../../components/inputs/form-inputs/NewTextInputForm\";\r\nimport DateInputForm2 from \"../../components/inputs/form-inputs/DateInputForm2\";\r\nimport CheckboxForm from \"../../components/inputs/form-inputs/CheckboxForm\";\r\n\r\nconst LisansPaketBilgileriCloudDetayRecord = React.forwardRef(\r\n (\r\n {\r\n ekranKodu,\r\n listGridRef,\r\n masterRef,\r\n detailGridRef,\r\n editGridRef,\r\n sirketid,\r\n program,\r\n detaydaAnaKullaniciVar,\r\n setGridDs,\r\n\r\n },\r\n ref\r\n ) => {\r\n const context = React.useContext(AppContext);\r\n\r\n\r\n const initialState = {\r\n sirketid: sirketid,\r\n program: program,\r\n detaydaAnaKullaniciVar: detaydaAnaKullaniciVar\r\n // aktif: true,\r\n // degisiklikTarihi: dayjs(),\r\n // kayitEdenKullanici: context?.user?.id,\r\n };\r\n\r\n const urunKoduInputRef = useRef();\r\n const urunTipiRef = useRef();\r\n const programRef = useRef();\r\n const sirketIdRef = useRef();\r\n const gorusulenKisiTelRef = useRef();\r\n const gorusulenKisiMailRef = useRef();\r\n\r\n\r\n const customFetchData = (id) => {\r\n let rows = editGridRef.current.instance.getVisibleRows();\r\n let currentRow = rows.find((x) => x.key == id);\r\n setRowData(currentRow.data);\r\n setModalLoading(false);\r\n };\r\n\r\n\r\n const customInsertOrUpdate = (values) => {\r\n var tempChanges = editGridRef.current.instance\r\n .option(\"editing.changes\")\r\n .slice();\r\n if (recId) {\r\n let change = tempChanges.find((x) => x.key == recId);\r\n if (!change) {\r\n tempChanges.push({\r\n key: recId,\r\n data: {},\r\n type: \"update\",\r\n });\r\n change = tempChanges.find((x) => x.key == recId);\r\n }\r\n\r\n let rows = editGridRef.current.instance.getVisibleRows();\r\n let currentRow = rows.find((x) => x.key == recId);\r\n\r\n Object.keys(currentRow.data).map((key) => {\r\n if (values[key] != currentRow.data[key]) {\r\n change.data[key] = values[key];\r\n }\r\n });\r\n } else {\r\n tempChanges.push({\r\n key: crypto.randomUUID(),\r\n data: values,\r\n type: \"insert\",\r\n });\r\n }\r\n\r\n editGridRef.current.instance.option(\"editing.changes\", tempChanges);\r\n\r\n handleClose();\r\n };\r\n\r\n const values = useRef(null);\r\n\r\n // var urunPaketSecimEnabled = useRef(null);\r\n var urunTipSecimEnabled = useRef(null);\r\n\r\n // urunPaketSecimEnabled = false;\r\n urunTipSecimEnabled = false;\r\n\r\n const afterDelete = () => {\r\n if (typeof recId === typeof \"\") {\r\n let tempChanges =\r\n editGridRef.current.instance.option(\"editing.changes\");\r\n editGridRef.current.instance.option(\r\n \"editing.changes\",\r\n tempChanges.filter((x) => x.key != recId)\r\n );\r\n } else {\r\n let ds = editGridRef.current.instance.option(\"dataSource\");\r\n setGridDs(ds.filter((x) => x.id != recId));\r\n }\r\n };\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n setRowData,\r\n setModalLoading,\r\n recId,\r\n } = usePageRecord(\r\n ref,\r\n PageConfig,\r\n listGridRef,\r\n ekranKodu,\r\n initialState,\r\n detailGridRef,\r\n false,\r\n customFetchData,\r\n customInsertOrUpdate,\r\n null,\r\n afterDelete\r\n );\r\n\r\n const validationSchema = yup.object().shape({\r\n urunTipi: yup.number().required(),\r\n // urunid: yup.number().required(),\r\n // program: yup.number().required(),\r\n // kullaniciSayisi1: yup.number().required(),\r\n // kullaniciSayisi2: yup.number().required(),\r\n // birimFiyat: yup.number().required(),\r\n // birim: yup.string().required(),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Ürün Seçimi\"\r\n maxWidth=\"sm\"\r\n // height={\"480px\"}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n // subscription={{\r\n // form: true,\r\n // }}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n reset,\r\n values: formValues,\r\n }) => {\r\n return (\r\n <FormComponent\r\n onSubmit={handleSubmit}\r\n style={{ height: \"500px\" }}\r\n >\r\n {/* <FormSpy\r\n subscription={{ values: true }}\r\n onChange={(props) => {\r\n if (\r\n values?.current?.kdvOrani != props.values.kdvOrani ||\r\n values?.current?.birimFiyat != props.values.birimFiyat\r\n ) {\r\n let xkdvTutari =\r\n (props.values.birimFiyat * props.values.kdvOrani) /\r\n 100;\r\n form.change(\"kdvTutari\", xkdvTutari);\r\n\r\n form.change(\r\n \"kdVliBirimFiyat\",\r\n xkdvTutari + props.values.birimFiyat\r\n );\r\n }\r\n values.current = props.values;\r\n\r\n // urunTipSecimEnabled = props.values.program !== null;\r\n // urunPaketSecimEnabled = props.values.urunTip !== null;\r\n }}\r\n /> */}\r\n <DialogContentWrapper>\r\n {/* <DialogContentTop> */}\r\n <Grid item xs={12} sm={6} md={6}>\r\n {/* <FieldWrapper\r\n label=\"Şirket Ürün id\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </FieldWrapper> */}\r\n <FieldWrapper\r\n label=\"Şirket No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n disabled\r\n name=\"sirketid\"\r\n component={TextInputForm}\r\n // defaultValue={masterRef?.id}\r\n defaultValue={sirketid}\r\n ref={sirketIdRef}\r\n />\r\n </FieldWrapper>\r\n {1 == 2 ? (<FieldWrapper\r\n label=\"Program\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n disabled\r\n name=\"program\"\r\n items={Object.values(URUN_PROGRAMLARI)}\r\n component={AutocomplateInputForm}\r\n readOnly={true}\r\n // defaultValue={masterRef?.id}\r\n defaultValue={program}\r\n />\r\n </FieldWrapper>) : (null)}\r\n\r\n\r\n\r\n {/* <FieldWrapper label=\"Program\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"program\"\r\n items={Object.values(URUN_PROGRAMLARI)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n ref={programRef}\r\n onChangeExtra={(old, newVal) => {\r\n console.log(\"ewVal?.Valueprogram\", newVal?.Value);\r\n urunTipSecimEnabled = newVal?.Value !== null;\r\n }}\r\n />\r\n </FieldWrapper> */}\r\n <FieldWrapper\r\n label=\"Ürün Tipi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"urunTipi\"\r\n items={Object.values(URUN_TIP)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n // disabled={!urunTipSecimEnabled}\r\n ref={urunTipiRef}\r\n onChangeExtra={(old, newVal) => {\r\n // urunPaketSecimEnabled = newVal?.Value !== null;\r\n }}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper label=\"Ürün\" modalLoading={modalLoading}>\r\n {formValues.urunTipi != URUN_TIP.BAGIMSIZ.Value ? (<Field\r\n name=\"urunid\"\r\n rowData={rowData}\r\n component={UrunlerInputForm}\r\n readOnly={!yetki.kaydet}\r\n // disabled={!urunPaketSecimEnabled}\r\n inputRef={urunKoduInputRef}\r\n ekranKodu={ekranKodu}\r\n urunTipiRef={urunTipiRef}\r\n // programRef={programRef}\r\n fieldsForText={[\"urunKodu\", \"urunAdi\"]}\r\n fieldLabel={\"urunKoduAdi\"}\r\n onChangeExtra={(old, newVal) => {\r\n if (newVal?.Value) {\r\n form?.change(\"urunKoduAdi\", newVal?.Text);\r\n }\r\n }}\r\n />) : (\r\n <Field\r\n name=\"bagimsizUrunAdi\"\r\n rowData={rowData}\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n )}\r\n\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Ad Soyad\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"kisiid\"\r\n component={SirketKisilerInputForm}\r\n ekranKodu={ekranKodu}\r\n rowData={rowData}\r\n readOnly={!yetki.kaydet}\r\n disabled={!yetki.kaydet}\r\n // sirketIdRef={sirketIdRef}\r\n telefonRef={gorusulenKisiTelRef}\r\n mailRef={gorusulenKisiMailRef}\r\n fieldLabelVal=\"kisiAdiSoyadi\"\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Telefon\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"kisiTelefon\"\r\n component={NewTextInputForm}\r\n readOnly={true}\r\n ref={gorusulenKisiTelRef}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"E-Posta\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"kisiEmail\"\r\n component={NewTextInputForm}\r\n readOnly={true}\r\n ref={gorusulenKisiMailRef}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Paket/Entegrasyon Başlangıç Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"baslangicTarihi\"\r\n component={DateInputForm2}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Paket/Entegrasyon Bitiş Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"bitisTarihi\"\r\n component={DateInputForm2}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Ana Kullanıcı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"anaKullanici\"\r\n component={CheckboxForm}\r\n disabled={formValues.detaydaAnaKullaniciVar}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Açıklama\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"aciklama\"\r\n rowData={rowData}\r\n type=\"text\"\r\n component={MultilineTextInputForm}\r\n readOnly={!yetki.kaydet}\r\n minRows={5}\r\n maxRows={5}\r\n />\r\n </FieldWrapper>\r\n {/* <FieldWrapper label=\"Ürün Adı\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"urunid\"\r\n rowData={rowData}\r\n component={UrunlerUrunAdiInputForm}\r\n readOnly={!yetki.kaydet}\r\n inputRef={urunAdiInputRef}\r\n ekranKodu={ekranKodu}\r\n urunTipiRef={urunTipiRef}\r\n // onChangeExtra={urunAdiInputOnChangeExtra}\r\n\r\n // urunBilgileriResultRef={\"asd\"}\r\n />\r\n </FieldWrapper> */}\r\n\r\n </Grid>\r\n {/* </DialogContentTop> */}\r\n <DialogActionsWrapper>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogActionsWrapper>\r\n </DialogContentWrapper>\r\n </FormComponent>\r\n );\r\n }}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n }\r\n);\r\nexport default LisansPaketBilgileriCloudDetayRecord;\r\n","import { useEffect, useRef, useState } from \"react\";\r\nimport { PageConfig } from \"./LisansPaketBilgileriCloudConfig\";\r\n// import FiyatListeDetayRecord from \"./FiyatListeDetayRecord\";\r\nimport EditGrid from \"../../components/grid/EditGrid\";\r\nimport { useField } from \"react-final-form\";\r\nimport LisansPaketBilgileriCloudDetayRecord from \"./LisansPaketBilgileriCloudDetayRecord\";\r\n\r\nfunction LisansPaketBilgileriCloudDetay({\r\n ekranKodu,\r\n rowData,\r\n listGridRef,\r\n detailGridRef,\r\n editGridRef\r\n}) {\r\n const recordRef = useRef();\r\n const ref = useRef();\r\n\r\n const [gridDs, setGridDs] = useState(rowData.lisansPaketBilgileriCloudDetayDtos);\r\n\r\n useEffect(() => {\r\n setGridDs(rowData.lisansPaketBilgileriCloudDetayDtos);\r\n }, [rowData]);\r\n\r\n const openRecord = (id) => {\r\n ref.current.openRecord(id);\r\n };\r\n\r\n const sirketid = useField(\"id\").input.value;\r\n\r\n const program = rowData.program\r\n const detaydaAnaKullaniciVar = rowData.detaydaAnaKullaniciVar\r\n\r\n return (\r\n <>\r\n <EditGrid\r\n entities={PageConfig.type}\r\n openRecord={openRecord}\r\n height={\"45vh\"}\r\n editGridRef={editGridRef}\r\n dataSource={gridDs ?? []}\r\n // filtrele={true}\r\n ></EditGrid>\r\n <LisansPaketBilgileriCloudDetayRecord\r\n ref={ref}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n detailGridRef={detailGridRef}\r\n editGridRef={editGridRef}\r\n sirketid={sirketid}\r\n program={program}\r\n detaydaAnaKullaniciVar={detaydaAnaKullaniciVar}\r\n setGridDs={setGridDs}\r\n ></LisansPaketBilgileriCloudDetayRecord>\r\n </>\r\n );\r\n}\r\n\r\nexport default LisansPaketBilgileriCloudDetay;\r\n","import React, { useRef } from \"react\";\r\nimport useFetchDialog from \"../../hooks/use-fetch-dialog\";\r\nimport { PageConfig, OtherConfig } from \"./LisansPaketBilgileriCloudConfig\";\r\nimport SaveButton from \"../../components/buttons/custom/SaveButton\";\r\nimport { Grid, Paper, Skeleton } from \"@mui/material\";\r\nimport CancelButton from \"../../components/buttons/custom/CancelButton\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport useSubmit from \"../../hooks/use-submit\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport LisansPaketBilgileriCloudDetay from \"./LisansPaketBilgileriCloudDetay\";\r\n\r\nconst CustomFieldWrapper = ({ label, modalLoading, children }) => {\r\n return (\r\n <FieldWrapper\r\n label={label}\r\n modalLoading={modalLoading}\r\n width={\"90%\"}\r\n textWidth={\"10%\"}\r\n >\r\n {children}\r\n </FieldWrapper>\r\n );\r\n};\r\n\r\nconst LisansPaketBilgileriCloudDialog = React.forwardRef(({ yetki, ekranKodu }, ref) => {\r\n const context = React.useContext(AppContext);\r\n const editGridRef = useRef();\r\n\r\n const handleSubmitPrepareData = (values) => {\r\n let aa = {\r\n ...values,\r\n lisansPaketBilgileriCloudDetayDtos: editGridRef.current.instance.getVisibleRows().map((row) => {\r\n return row.data;\r\n }),\r\n };\r\n\r\n return aa;\r\n };\r\n\r\n const { open, closeRecord, modalLoading, rowData, setRowData } =\r\n useFetchDialog(ref, PageConfig.getByIdRoute);\r\n\r\n const handleSubmit = useSubmit(\r\n PageConfig,\r\n setRowData,\r\n null,\r\n () => {\r\n editGridRef.current?.instance?.cancelEditData();\r\n },\r\n handleSubmitPrepareData\r\n );\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"Lisans ve Paket Bilgileri\"\r\n maxWidth=\"xl\"\r\n height={\"600px\"}\r\n // fullWidth={true}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n //validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper sx={{ padding: 1 }}>\r\n\r\n <Grid item xs={12} sm={6} md={6}>\r\n <CustomFieldWrapper\r\n label=\"Müşteri\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"sirketAdi\"\r\n component={TextInputForm}\r\n readOnly={true}\r\n />\r\n </CustomFieldWrapper>\r\n </Grid>\r\n\r\n <LisansPaketBilgileriCloudDetay\r\n ekranKodu={ekranKodu}\r\n rowData={rowData}\r\n editGridRef={editGridRef}\r\n listGridRef={editGridRef}\r\n detailGridRef={editGridRef}\r\n // masterOpenRecord={refreshRecord}\r\n ></LisansPaketBilgileriCloudDetay>\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n {yetki?.kaydet && (\r\n <SaveButton\r\n onClick={(e) => {\r\n form.submit();\r\n }}\r\n />\r\n )}\r\n {yetki?.kaydet && (\r\n <CancelButton\r\n onClick={() => {\r\n form.reset();\r\n }}\r\n disabled={submitting || pristine}\r\n />\r\n )}\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n});\r\n\r\nexport default LisansPaketBilgileriCloudDialog;\r\n","import { ISIN_DURUMU_STR, ISLEM_TURU, ODEME_SEKLI, PARA_BIRIMI, URUN_TIP } from \"../common/constants\";\r\nimport { DATE_WIDTH, ID_WIDTH } from \"../common/entityconstants\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n firstSort: \"desc\",\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"odemeSekli\",\r\n label: \"Ödeme Şekli\",\r\n dataType: \"select\",\r\n dataField: \"odemeSekli\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(ODEME_SEKLI),\r\n },\r\n {\r\n name: \"odemeTarihi\",\r\n label: \"Ödeme Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"odemeTarihi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"taksitSayisi\",\r\n label: \"Taksit Sayısı\",\r\n dataType: \"number\",\r\n dataField: \"taksitSayisi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"odenecekUcret\",\r\n label: \"Ödenecek Ücret\",\r\n dataType: \"number\",\r\n dataField: \"odenecekUcret\",\r\n visible: [\"grid\"],\r\n dipToplamdaGoster: true\r\n },\r\n {\r\n name: \"paraBirimi\",\r\n label: \"Para Birimi\",\r\n dataType: \"select\",\r\n dataField: \"paraBirimi\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(PARA_BIRIMI),\r\n\r\n },\r\n {\r\n name: \"aciklama\",\r\n label: \"Açıklama\",\r\n dataType: \"text\",\r\n dataField: \"aciklama\",\r\n visible: [\"grid\"],\r\n },\r\n];\r\n\r\nexport default entity;\r\n","import Type from \"../../entities/AnlasmaOdemeBilgileriErp\";\r\n\r\nimport { EKRAN_KODU } from \"../../common/constants\";\r\n\r\nconst PageConfig = {\r\n title: \"Şirketler\",\r\n ekranKodu: EKRAN_KODU.SIRKET.value,\r\n type: Type,\r\n // listRoute: \"LisansPaketBilgileriErp/List\",\r\n getByIdRoute: \"AnlasmaOdemeBilgileriErp/GetById\",\r\n // insertRoute: \"LisansPaketBilgileriErp/Insert\",\r\n updateRoute: \"AnlasmaOdemeBilgileriErp/Update\",\r\n deleteRoute: \"AnlasmaOdemeBilgileriErp/DeleteDetail\",\r\n};\r\n\r\nexport { PageConfig };\r\n","import React, { useRef } from \"react\";\r\nimport { Grid } from \"@mui/material\";\r\nimport { Field, Form, FormSpy } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport { PageConfig } from \"./AnlasmaOdemeBilgileriERPConfig\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport * as yup from \"yup\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport {\r\n PARA_BIRIMI,\r\n URUN_TIP_MODULPAKET,\r\n URUN_PROGRAMLARI,\r\n URUN_TIP,\r\n ODEME_SEKLI,\r\n} from \"../../common/constants\";\r\nimport UrunlerInputForm from \"../../components/inputs/custom-form-inputs/UrunlerInputForm\";\r\nimport NumberInputForm from \"../../components/inputs/form-inputs/NumberInputForm\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport dayjs from \"dayjs\";\r\nimport MultilineTextInputForm from \"../../components/inputs/form-inputs/MultilineTextInputForm\";\r\nimport DateInputForm2 from \"../../components/inputs/form-inputs/DateInputForm2\";\r\n\r\nconst AnlasmaOdemeBilgileriERPDetayRecord = React.forwardRef(\r\n (\r\n {\r\n ekranKodu,\r\n listGridRef,\r\n masterRef,\r\n detailGridRef,\r\n editGridRef,\r\n sirketid,\r\n program,\r\n setGridDs,\r\n },\r\n ref\r\n ) => {\r\n const context = React.useContext(AppContext);\r\n\r\n\r\n const initialState = {\r\n sirketid: sirketid,\r\n program: program\r\n // aktif: true,\r\n // degisiklikTarihi: dayjs(),\r\n // kayitEdenKullanici: context?.user?.id,\r\n };\r\n\r\n const urunKoduInputRef = useRef();\r\n const urunTipiRef = useRef();\r\n const programRef = useRef();\r\n\r\n\r\n\r\n const customFetchData = (id) => {\r\n let rows = editGridRef.current.instance.getVisibleRows();\r\n let currentRow = rows.find((x) => x.key == id);\r\n setRowData(currentRow.data);\r\n setModalLoading(false);\r\n };\r\n\r\n\r\n const customInsertOrUpdate = (values) => {\r\n var tempChanges = editGridRef.current.instance\r\n .option(\"editing.changes\")\r\n .slice();\r\n if (recId) {\r\n let change = tempChanges.find((x) => x.key == recId);\r\n if (!change) {\r\n tempChanges.push({\r\n key: recId,\r\n data: {},\r\n type: \"update\",\r\n });\r\n change = tempChanges.find((x) => x.key == recId);\r\n }\r\n\r\n let rows = editGridRef.current.instance.getVisibleRows();\r\n let currentRow = rows.find((x) => x.key == recId);\r\n\r\n Object.keys(currentRow.data).map((key) => {\r\n if (values[key] != currentRow.data[key]) {\r\n change.data[key] = values[key];\r\n }\r\n });\r\n } else {\r\n tempChanges.push({\r\n key: crypto.randomUUID(),\r\n data: values,\r\n type: \"insert\",\r\n });\r\n }\r\n\r\n editGridRef.current.instance.option(\"editing.changes\", tempChanges);\r\n\r\n handleClose();\r\n };\r\n\r\n const values = useRef(null);\r\n\r\n // var urunPaketSecimEnabled = useRef(null);\r\n var urunTipSecimEnabled = useRef(null);\r\n\r\n // urunPaketSecimEnabled = false;\r\n urunTipSecimEnabled = false;\r\n\r\n const afterDelete = () => {\r\n if (typeof recId === typeof \"\") {\r\n let tempChanges =\r\n editGridRef.current.instance.option(\"editing.changes\");\r\n editGridRef.current.instance.option(\r\n \"editing.changes\",\r\n tempChanges.filter((x) => x.key != recId)\r\n );\r\n } else {\r\n let ds = editGridRef.current.instance.option(\"dataSource\");\r\n setGridDs(ds.filter((x) => x.id != recId));\r\n }\r\n };\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n setRowData,\r\n setModalLoading,\r\n recId,\r\n } = usePageRecord(\r\n ref,\r\n PageConfig,\r\n listGridRef,\r\n ekranKodu,\r\n initialState,\r\n detailGridRef,\r\n false,\r\n customFetchData,\r\n customInsertOrUpdate,\r\n null,\r\n afterDelete\r\n );\r\n\r\n const validationSchema = yup.object().shape({\r\n //urunTipi: yup.number().required(),\r\n // urunid: yup.number().required(),\r\n // program: yup.number().required(),\r\n // kullaniciSayisi1: yup.number().required(),\r\n // kullaniciSayisi2: yup.number().required(),\r\n // birimFiyat: yup.number().required(),\r\n // birim: yup.string().required(),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Ürün Seçimi\"\r\n maxWidth=\"sm\"\r\n // height={\"480px\"}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n // subscription={{\r\n // form: true,\r\n // }}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n reset,\r\n values: formValues,\r\n }) => {\r\n return (\r\n <FormComponent\r\n onSubmit={handleSubmit}\r\n style={{ height: \"400px\" }}\r\n >\r\n {/* <FormSpy\r\n subscription={{ values: true }}\r\n onChange={(props) => {\r\n if (\r\n values?.current?.kdvOrani != props.values.kdvOrani ||\r\n values?.current?.birimFiyat != props.values.birimFiyat\r\n ) {\r\n let xkdvTutari =\r\n (props.values.birimFiyat * props.values.kdvOrani) /\r\n 100;\r\n form.change(\"kdvTutari\", xkdvTutari);\r\n\r\n form.change(\r\n \"kdVliBirimFiyat\",\r\n xkdvTutari + props.values.birimFiyat\r\n );\r\n }\r\n values.current = props.values;\r\n\r\n // urunTipSecimEnabled = props.values.program !== null;\r\n // urunPaketSecimEnabled = props.values.urunTip !== null;\r\n }}\r\n /> */}\r\n <DialogContentWrapper>\r\n {/* <DialogContentTop> */}\r\n <Grid item xs={12} sm={6} md={6}>\r\n {/* <FieldWrapper\r\n label=\"Şirket Ürün id\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </FieldWrapper> */}\r\n <FieldWrapper\r\n label=\"Şirket No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n disabled\r\n name=\"sirketid\"\r\n component={TextInputForm}\r\n // defaultValue={masterRef?.id}\r\n defaultValue={sirketid}\r\n />\r\n </FieldWrapper>\r\n {1 == 2 ? (<FieldWrapper\r\n label=\"Program\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n disabled\r\n name=\"program\"\r\n items={Object.values(URUN_PROGRAMLARI)}\r\n component={AutocomplateInputForm}\r\n readOnly={true}\r\n // defaultValue={masterRef?.id}\r\n defaultValue={program}\r\n />\r\n </FieldWrapper>) : (null)}\r\n\r\n\r\n\r\n {/* <FieldWrapper label=\"Program\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"program\"\r\n items={Object.values(URUN_PROGRAMLARI)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n ref={programRef}\r\n onChangeExtra={(old, newVal) => {\r\n console.log(\"ewVal?.Valueprogram\", newVal?.Value);\r\n urunTipSecimEnabled = newVal?.Value !== null;\r\n }}\r\n />\r\n </FieldWrapper> */}\r\n <FieldWrapper\r\n label=\"Ödeme Şekli\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"odemeSekli\"\r\n items={Object.values(ODEME_SEKLI)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n // ref={urunTipiRef}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper\r\n label=\"Ödeme Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"odemeTarihi\"\r\n rowData={rowData}\r\n type=\"date\"\r\n component={DateInputForm2}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Taksit/Vade Sayısı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"taksitSayisi\"\r\n rowData={rowData}\r\n type=\"number\"\r\n component={NumberInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper\r\n label=\"Ödenecek Ücret\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"odenecekUcret\"\r\n rowData={rowData}\r\n type=\"number\"\r\n component={NumberInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Para Birimi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"paraBirimi\"\r\n items={Object.values(PARA_BIRIMI)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n // ref={urunTipiRef}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Açıklama\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"aciklama\"\r\n component={MultilineTextInputForm}\r\n type=\"text\"\r\n rowData={rowData}\r\n minRows={5}\r\n // ref={urunTipiRef}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n {/* </DialogContentTop> */}\r\n <DialogActionsWrapper>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogActionsWrapper>\r\n </DialogContentWrapper>\r\n </FormComponent>\r\n );\r\n }}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n }\r\n);\r\nexport default AnlasmaOdemeBilgileriERPDetayRecord;\r\n","import { useEffect, useRef, useState } from \"react\";\r\nimport { PageConfig } from \"./AnlasmaOdemeBilgileriERPConfig\";\r\n// import FiyatListeDetayRecord from \"./FiyatListeDetayRecord\";\r\nimport EditGrid from \"../../components/grid/EditGrid\";\r\nimport { useField } from \"react-final-form\";\r\nimport AnlasmaOdemeBilgileriERPDetayRecord from \"./AnlasmaOdemeBilgileriERPDetayRecord\";\r\n\r\nfunction AnlasmaOdemeBilgileriERPDetay({\r\n ekranKodu,\r\n rowData,\r\n listGridRef,\r\n detailGridRef,\r\n editGridRef\r\n}) {\r\n const recordRef = useRef();\r\n const ref = useRef();\r\n\r\n const [gridDs, setGridDs] = useState(rowData.anlasmaOdemeBilgileriErpDetayDtos);\r\n\r\n useEffect(() => {\r\n setGridDs(rowData.anlasmaOdemeBilgileriErpDetayDtos);\r\n }, [rowData]);\r\n\r\n const openRecord = (id) => {\r\n ref.current.openRecord(id);\r\n };\r\n\r\n const sirketid = useField(\"id\").input.value;\r\n\r\n const program = rowData.program\r\n\r\n return (\r\n <>\r\n <EditGrid\r\n entities={PageConfig.type}\r\n openRecord={openRecord}\r\n height={\"45vh\"}\r\n editGridRef={editGridRef}\r\n dataSource={gridDs ?? []}\r\n gridDipToplamExists={true}\r\n // filtrele={true}\r\n ></EditGrid>\r\n <AnlasmaOdemeBilgileriERPDetayRecord\r\n ref={ref}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n detailGridRef={detailGridRef}\r\n editGridRef={editGridRef}\r\n sirketid={sirketid}\r\n program={program}\r\n setGridDs={setGridDs}\r\n ></AnlasmaOdemeBilgileriERPDetayRecord>\r\n </>\r\n );\r\n}\r\n\r\nexport default AnlasmaOdemeBilgileriERPDetay;\r\n","import React, { useRef, useState } from \"react\";\r\nimport useFetchDialog from \"../../hooks/use-fetch-dialog\";\r\nimport { PageConfig } from \"./AnlasmaOdemeBilgileriERPConfig\";\r\nimport SaveButton from \"../../components/buttons/custom/SaveButton\";\r\nimport { Grid, Paper, Skeleton } from \"@mui/material\";\r\nimport CancelButton from \"../../components/buttons/custom/CancelButton\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport useSubmit from \"../../hooks/use-submit\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport CheckboxForm from \"../../components/inputs/form-inputs/CheckboxForm\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport { apiUrl, YETKI_GRUBU_TIPI } from \"../../common/constants\";\r\nimport { Button } from \"devextreme-react\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport DateInputForm2 from \"../../components/inputs/form-inputs/DateInputForm2\";\r\nimport AnlasmaOdemeBilgileriERPDetay from \"./AnlasmaOdemeBilgileriERPDetay\";\r\nimport * as yup from \"yup\";\r\n\r\nconst AnlasmaOdemeBilgileriERPDialog = React.forwardRef(({ yetki, ekranKodu }, ref) => {\r\n const context = React.useContext(AppContext);\r\n const editGridRef = useRef();\r\n const [errors, setErrors] = useState({}); // Hata mesajlarını saklamak için state\r\n\r\n const handleSubmitPrepareData = (values) => {\r\n let aa = {\r\n ...values,\r\n anlasmaOdemeBilgileriErpDetayDtos: editGridRef.current.instance.getVisibleRows().map((row) => {\r\n return row.data;\r\n }),\r\n };\r\n\r\n return aa;\r\n };\r\n\r\n const destekKullanicisi =\r\n context?.user?.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value ||\r\n context?.user?.yetkiGrubuTipi === YETKI_GRUBU_TIPI.BAYI_DESTEK.Value;\r\n\r\n const { open, closeRecord, modalLoading, rowData, setRowData } =\r\n useFetchDialog(ref, PageConfig.getByIdRoute);\r\n\r\n const handleSubmit = useSubmit(\r\n PageConfig,\r\n setRowData,\r\n null,\r\n () => {\r\n editGridRef.current?.instance?.cancelEditData();\r\n },\r\n handleSubmitPrepareData\r\n );\r\n\r\n const validationSchema = yup.object().shape({\r\n destekSozBaslangic: yup.date().typeError(\"Geçersiz tarih formatı.\"),\r\n });\r\n\r\n const validateFormValues = (schema) => async (values) => {\r\n if (typeof schema === \"function\") {\r\n schema = schema();\r\n }\r\n try {\r\n await schema.validate(values, { abortEarly: false });\r\n setErrors(\"\");\r\n } catch (err) {\r\n let errors = {};\r\n errors = err?.inner?.reduce((formError, innerError) => {\r\n return innerError.message;\r\n\r\n // return innerError.message setIn(formError, innerError.path, innerError.message);\r\n }, {});\r\n\r\n setErrors(errors);\r\n return errors;\r\n }\r\n };\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"Anlaşma ve Ödeme Bilgileri\"\r\n maxWidth=\"md\"\r\n // fullWidth={true}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit} style={{ height: \"600px\" }}>\r\n <DialogContentWrapper sx={{ padding: 1 }}>\r\n\r\n <Grid item xs={12} sm={6} md={6}>\r\n <FieldWrapper\r\n label=\"Destek Sözleşmesi Başlangıç Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"destekBaslangicTarihi\"\r\n component={DateInputForm2}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Aylık Standart Süre (dk)\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"aylikStandartSure\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n numberInput={true}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Destek Sözleşmesi Bitiş Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"destekBitisTarihi\"\r\n component={DateInputForm2}\r\n readOnly={!yetki.kaydet}\r\n />\r\n\r\n </FieldWrapper>\r\n\r\n\r\n </Grid>\r\n\r\n <AnlasmaOdemeBilgileriERPDetay\r\n ekranKodu={ekranKodu}\r\n rowData={rowData}\r\n editGridRef={editGridRef}\r\n listGridRef={editGridRef}\r\n detailGridRef={editGridRef}\r\n // masterOpenRecord={refreshRecord}\r\n ></AnlasmaOdemeBilgileriERPDetay>\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n {yetki?.kaydet && (\r\n <SaveButton\r\n onClick={(e) => {\r\n form.submit();\r\n }}\r\n />\r\n )}\r\n {yetki?.kaydet && (\r\n <CancelButton\r\n onClick={() => {\r\n form.reset();\r\n }}\r\n disabled={submitting || pristine}\r\n />\r\n )}\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n});\r\n\r\nexport default AnlasmaOdemeBilgileriERPDialog;\r\n","import { ISIN_DURUMU_STR, ISLEM_TURU, ODEME_SEKLI, PARA_BIRIMI, URUN_TIP } from \"../common/constants\";\r\nimport { DATE_WIDTH, ID_WIDTH } from \"../common/entityconstants\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n firstSort: \"desc\",\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"odemeSekli\",\r\n label: \"Ödeme Şekli\",\r\n dataType: \"select\",\r\n dataField: \"odemeSekli\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(ODEME_SEKLI),\r\n },\r\n {\r\n name: \"odemeTarihi\",\r\n label: \"Ödeme Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"odemeTarihi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"taksitSayisi\",\r\n label: \"Taksit Sayısı\",\r\n dataType: \"number\",\r\n dataField: \"taksitSayisi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"odenecekUcret\",\r\n label: \"Ödenecek Ücret\",\r\n dataType: \"number\",\r\n dataField: \"odenecekUcret\",\r\n visible: [\"grid\"],\r\n dipToplamdaGoster: true\r\n },\r\n {\r\n name: \"paraBirimi\",\r\n label: \"Para Birimi\",\r\n dataType: \"select\",\r\n dataField: \"paraBirimi\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(PARA_BIRIMI),\r\n\r\n },\r\n {\r\n name: \"aciklama\",\r\n label: \"Açıklama\",\r\n dataType: \"text\",\r\n dataField: \"aciklama\",\r\n visible: [\"grid\"],\r\n },\r\n];\r\n\r\nexport default entity;\r\n","import { ISIN_DURUMU_STR, ISLEM_TURU, PARA_BIRIMI, URUN_TIP } from \"../common/constants\";\r\nimport { DATE_WIDTH, ID_WIDTH } from \"../common/entityconstants\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n firstSort: \"desc\",\r\n width: ID_WIDTH,\r\n },\r\n\r\n {\r\n name: \"urunTipi\",\r\n label: \"Ürün Tipi\",\r\n dataType: \"select\",\r\n dataField: \"urunTipi\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(URUN_TIP),\r\n },\r\n {\r\n name: \"urunAdi\",\r\n label: \"Ürün/Paket Adı\",\r\n dataType: \"text\",\r\n dataField: \"urunAdi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"baslangicTarihi\",\r\n label: \"Paket/Entegrasyon Başlangıç Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"baslangicTarihi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"bitisTarihi\",\r\n label: \"Paket/Entegrasyon Bitiş Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"bitisTarihi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"anaKullanici\",\r\n label: \"Ana Kullanıcı\",\r\n dataType: \"boolean\",\r\n dataField: \"anaKullanici\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"aciklama\",\r\n label: \"Açıklama\",\r\n dataType: \"text\",\r\n dataField: \"aciklama\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"fiyat\",\r\n label: \"Fiyat\",\r\n dataType: \"number\",\r\n dataField: \"fiyat\",\r\n visible: [\"grid\"],\r\n dipToplamdaGoster: true\r\n },\r\n {\r\n name: \"paraBirimi\",\r\n label: \"Para Birimi\",\r\n dataType: \"select\",\r\n dataField: \"paraBirimi\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(PARA_BIRIMI),\r\n\r\n }\r\n];\r\n\r\nexport default entity;\r\n","import TypeOdeme from \"../../entities/OdemeBilgileriCloud\";\r\nimport TypeAnlasma from \"../../entities/AnlasmaBilgileriCloud\";\r\n\r\nimport { EKRAN_KODU } from \"../../common/constants\";\r\n\r\nconst PageConfigAnlasma = {\r\n title: \"Şirketler\",\r\n ekranKodu: EKRAN_KODU.SIRKET.value,\r\n type: TypeAnlasma,\r\n // listRoute: \"LisansPaketBilgileriErp/List\",\r\n getByIdRoute: \"AnlasmaOdemeBilgileriCloud/GetById\",\r\n // insertRoute: \"LisansPaketBilgileriErp/Insert\",\r\n updateRoute: \"AnlasmaOdemeBilgileriCloud/Update\",\r\n deleteRoute: \"AnlasmaOdemeBilgileriCloud/DeleteDetailAnlasma\",\r\n};\r\n\r\nconst PageConfigOdeme = {\r\n title: \"Şirketler\",\r\n ekranKodu: EKRAN_KODU.SIRKET.value,\r\n type: TypeOdeme,\r\n // listRoute: \"LisansPaketBilgileriErp/List\",\r\n getByIdRoute: \"AnlasmaOdemeBilgileriCloud/GetById\",\r\n // insertRoute: \"LisansPaketBilgileriErp/Insert\",\r\n updateRoute: \"AnlasmaOdemeBilgileriCloud/Update\",\r\n deleteRoute: \"AnlasmaOdemeBilgileriCloud/DeleteDetailOdeme\",\r\n};\r\n\r\nexport { PageConfigAnlasma, PageConfigOdeme };\r\n","import React, { useRef } from \"react\";\r\nimport { Grid } from \"@mui/material\";\r\nimport { Field, Form, FormSpy } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport { PageConfigAnlasma } from \"./AnlasmaOdemeBilgileriCloudConfig\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport * as yup from \"yup\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport {\r\n PARA_BIRIMI,\r\n URUN_TIP_MODULPAKET,\r\n URUN_PROGRAMLARI,\r\n URUN_TIP,\r\n ODEME_SEKLI,\r\n} from \"../../common/constants\";\r\nimport UrunlerInputForm from \"../../components/inputs/custom-form-inputs/UrunlerInputForm\";\r\nimport NumberInputForm from \"../../components/inputs/form-inputs/NumberInputForm\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport dayjs from \"dayjs\";\r\nimport MultilineTextInputForm from \"../../components/inputs/form-inputs/MultilineTextInputForm\";\r\nimport DateInputForm2 from \"../../components/inputs/form-inputs/DateInputForm2\";\r\nimport CheckboxForm from \"../../components/inputs/form-inputs/CheckboxForm\";\r\n\r\nconst AnlasmaBilgileriCloudDetayRecord = React.forwardRef(\r\n (\r\n {\r\n ekranKodu,\r\n listGridRef,\r\n masterRef,\r\n detailGridRef,\r\n editGridRef,\r\n sirketid,\r\n program,\r\n setGridDs,\r\n },\r\n ref\r\n ) => {\r\n const context = React.useContext(AppContext);\r\n\r\n\r\n const initialState = {\r\n sirketid: sirketid,\r\n program: program\r\n // aktif: true,\r\n // degisiklikTarihi: dayjs(),\r\n // kayitEdenKullanici: context?.user?.id,\r\n };\r\n\r\n const urunKoduInputRef = useRef();\r\n const urunTipiRef = useRef();\r\n const programRef = useRef();\r\n\r\n\r\n\r\n const customFetchData = (id) => {\r\n let rows = editGridRef.current.instance.getVisibleRows();\r\n let currentRow = rows.find((x) => x.key == id);\r\n setRowData(currentRow.data);\r\n setModalLoading(false);\r\n };\r\n\r\n\r\n const customInsertOrUpdate = (values) => {\r\n var tempChanges = editGridRef.current.instance\r\n .option(\"editing.changes\")\r\n .slice();\r\n if (recId) {\r\n let change = tempChanges.find((x) => x.key == recId);\r\n if (!change) {\r\n tempChanges.push({\r\n key: recId,\r\n data: {},\r\n type: \"update\",\r\n });\r\n change = tempChanges.find((x) => x.key == recId);\r\n }\r\n\r\n let rows = editGridRef.current.instance.getVisibleRows();\r\n let currentRow = rows.find((x) => x.key == recId);\r\n\r\n Object.keys(currentRow.data).map((key) => {\r\n if (values[key] != currentRow.data[key]) {\r\n change.data[key] = values[key];\r\n }\r\n });\r\n } else {\r\n tempChanges.push({\r\n key: crypto.randomUUID(),\r\n data: values,\r\n type: \"insert\",\r\n });\r\n }\r\n\r\n editGridRef.current.instance.option(\"editing.changes\", tempChanges);\r\n\r\n handleClose();\r\n };\r\n\r\n const values = useRef(null);\r\n\r\n // var urunPaketSecimEnabled = useRef(null);\r\n var urunTipSecimEnabled = useRef(null);\r\n\r\n // urunPaketSecimEnabled = false;\r\n urunTipSecimEnabled = false;\r\n\r\n const afterDelete = () => {\r\n if (typeof recId === typeof \"\") {\r\n let tempChanges =\r\n editGridRef.current.instance.option(\"editing.changes\");\r\n editGridRef.current.instance.option(\r\n \"editing.changes\",\r\n tempChanges.filter((x) => x.key != recId)\r\n );\r\n } else {\r\n let ds = editGridRef.current.instance.option(\"dataSource\");\r\n setGridDs(ds.filter((x) => x.id != recId));\r\n }\r\n };\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n setRowData,\r\n setModalLoading,\r\n recId,\r\n } = usePageRecord(\r\n ref,\r\n PageConfigAnlasma,\r\n listGridRef,\r\n ekranKodu,\r\n initialState,\r\n detailGridRef,\r\n false,\r\n customFetchData,\r\n customInsertOrUpdate,\r\n null,\r\n afterDelete\r\n );\r\n\r\n const validationSchema = yup.object().shape({\r\n //urunTipi: yup.number().required(),\r\n // urunid: yup.number().required(),\r\n // program: yup.number().required(),\r\n // kullaniciSayisi1: yup.number().required(),\r\n // kullaniciSayisi2: yup.number().required(),\r\n // birimFiyat: yup.number().required(),\r\n // birim: yup.string().required(),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Anlaşma Girişi\"\r\n maxWidth=\"sm\"\r\n // height={\"480px\"}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n // subscription={{\r\n // form: true,\r\n // }}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n reset,\r\n values: formValues,\r\n }) => {\r\n return (\r\n <FormComponent\r\n onSubmit={handleSubmit}\r\n style={{ height: \"500px\" }}\r\n >\r\n {/* <FormSpy\r\n subscription={{ values: true }}\r\n onChange={(props) => {\r\n if (\r\n values?.current?.kdvOrani != props.values.kdvOrani ||\r\n values?.current?.birimFiyat != props.values.birimFiyat\r\n ) {\r\n let xkdvTutari =\r\n (props.values.birimFiyat * props.values.kdvOrani) /\r\n 100;\r\n form.change(\"kdvTutari\", xkdvTutari);\r\n\r\n form.change(\r\n \"kdVliBirimFiyat\",\r\n xkdvTutari + props.values.birimFiyat\r\n );\r\n }\r\n values.current = props.values;\r\n\r\n // urunTipSecimEnabled = props.values.program !== null;\r\n // urunPaketSecimEnabled = props.values.urunTip !== null;\r\n }}\r\n /> */}\r\n <DialogContentWrapper>\r\n {/* <DialogContentTop> */}\r\n <Grid item xs={12} sm={6} md={6}>\r\n {/* <FieldWrapper\r\n label=\"Şirket Ürün id\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </FieldWrapper> */}\r\n <FieldWrapper\r\n label=\"Şirket No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n disabled\r\n name=\"sirketid\"\r\n component={TextInputForm}\r\n // defaultValue={masterRef?.id}\r\n defaultValue={sirketid}\r\n />\r\n </FieldWrapper>\r\n {1 == 2 ? (<FieldWrapper\r\n label=\"Program\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n disabled\r\n name=\"program\"\r\n items={Object.values(URUN_PROGRAMLARI)}\r\n component={AutocomplateInputForm}\r\n readOnly={true}\r\n // defaultValue={masterRef?.id}\r\n defaultValue={program}\r\n />\r\n </FieldWrapper>) : (null)}\r\n\r\n\r\n\r\n {/* <FieldWrapper label=\"Program\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"program\"\r\n items={Object.values(URUN_PROGRAMLARI)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n ref={programRef}\r\n onChangeExtra={(old, newVal) => {\r\n console.log(\"ewVal?.Valueprogram\", newVal?.Value);\r\n urunTipSecimEnabled = newVal?.Value !== null;\r\n }}\r\n />\r\n </FieldWrapper> */}\r\n\r\n <FieldWrapper\r\n label=\"Paket/Entegrasyon Tipi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"urunTipi\"\r\n items={Object.values(URUN_TIP)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n // disabled={!urunTipSecimEnabled}\r\n ref={urunTipiRef}\r\n onChangeExtra={(old, newVal) => {\r\n // urunPaketSecimEnabled = newVal?.Value !== null;\r\n }}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper label=\"Paket/Entegrasyon Adı\" modalLoading={modalLoading}>\r\n {formValues.urunTipi != URUN_TIP.BAGIMSIZ.Value ? (<Field\r\n name=\"urunid\"\r\n rowData={rowData}\r\n component={UrunlerInputForm}\r\n readOnly={!yetki.kaydet}\r\n // disabled={!urunPaketSecimEnabled}\r\n inputRef={urunKoduInputRef}\r\n ekranKodu={ekranKodu}\r\n urunTipiRef={urunTipiRef}\r\n // programRef={programRef}\r\n fieldsForText={[\"urunKodu\", \"urunAdi\"]}\r\n fieldLabel={\"urunKoduAdi\"}\r\n onChangeExtra={(old, newVal) => {\r\n if (newVal?.Value) {\r\n form?.change(\"urunKoduAdi\", newVal?.Text);\r\n }\r\n }}\r\n />) : (\r\n <Field\r\n name=\"bagimsizUrunAdi\"\r\n rowData={rowData}\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n )}\r\n\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Paket/Entegrasyon Başlangıç Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"baslangicTarihi\"\r\n component={DateInputForm2}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Paket/Entegrasyon Bitiş Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"bitisTarihi\"\r\n component={DateInputForm2}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Ana Kullanıcı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"anaKullanici\"\r\n component={CheckboxForm}\r\n disabled={formValues.detaydaAnaKullaniciVar}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Açıklama\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"aciklama\"\r\n rowData={rowData}\r\n type=\"text\"\r\n component={MultilineTextInputForm}\r\n readOnly={!yetki.kaydet}\r\n minRows={5}\r\n maxRows={5}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Fiyat\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"fiyat\"\r\n rowData={rowData}\r\n type=\"number\"\r\n component={NumberInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Para Birimi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"paraBirimi\"\r\n items={Object.values(PARA_BIRIMI)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n // ref={urunTipiRef}\r\n />\r\n </FieldWrapper>\r\n\r\n </Grid>\r\n {/* </DialogContentTop> */}\r\n <DialogActionsWrapper>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogActionsWrapper>\r\n </DialogContentWrapper>\r\n </FormComponent>\r\n );\r\n }}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n }\r\n);\r\nexport default AnlasmaBilgileriCloudDetayRecord;\r\n","import { useEffect, useRef, useState } from \"react\";\r\nimport { PageConfigAnlasma } from \"./AnlasmaOdemeBilgileriCloudConfig\";\r\n// import FiyatListeDetayRecord from \"./FiyatListeDetayRecord\";\r\nimport EditGrid from \"../../components/grid/EditGrid\";\r\nimport { useField } from \"react-final-form\";\r\nimport AnlasmaBilgileriCloudDetayRecord from \"./AnlasmaBilgileriCloudDetayRecord\";\r\n\r\nfunction AnlasmaBilgileriCloudDetay({\r\n ekranKodu,\r\n rowData,\r\n listGridRef,\r\n detailGridRef,\r\n editGridRef\r\n}) {\r\n const recordRef = useRef();\r\n const ref = useRef();\r\n\r\n const [gridDs, setGridDs] = useState(rowData.anlasmaBilgileriCloudDetayDtos);\r\n\r\n useEffect(() => {\r\n setGridDs(rowData.anlasmaBilgileriCloudDetayDtos);\r\n }, [rowData]);\r\n\r\n const openRecord = (id) => {\r\n ref.current.openRecord(id);\r\n };\r\n\r\n const sirketid = useField(\"id\").input.value;\r\n\r\n const program = rowData.program\r\n\r\n return (\r\n <>\r\n <EditGrid\r\n entities={PageConfigAnlasma.type}\r\n openRecord={openRecord}\r\n height={\"30vh\"}\r\n editGridRef={editGridRef}\r\n dataSource={gridDs ?? []}\r\n gridDipToplamExists={true}\r\n // filtrele={true}\r\n ></EditGrid>\r\n <AnlasmaBilgileriCloudDetayRecord\r\n ref={ref}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n detailGridRef={detailGridRef}\r\n editGridRef={editGridRef}\r\n sirketid={sirketid}\r\n program={program}\r\n setGridDs={setGridDs}\r\n ></AnlasmaBilgileriCloudDetayRecord>\r\n </>\r\n );\r\n}\r\n\r\nexport default AnlasmaBilgileriCloudDetay;\r\n","import React, { useRef } from \"react\";\r\nimport { Grid } from \"@mui/material\";\r\nimport { Field, Form, FormSpy } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport { PageConfigOdeme } from \"./AnlasmaOdemeBilgileriCloudConfig\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport * as yup from \"yup\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport {\r\n PARA_BIRIMI,\r\n URUN_TIP_MODULPAKET,\r\n URUN_PROGRAMLARI,\r\n URUN_TIP,\r\n ODEME_SEKLI,\r\n} from \"../../common/constants\";\r\nimport UrunlerInputForm from \"../../components/inputs/custom-form-inputs/UrunlerInputForm\";\r\nimport NumberInputForm from \"../../components/inputs/form-inputs/NumberInputForm\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport dayjs from \"dayjs\";\r\nimport MultilineTextInputForm from \"../../components/inputs/form-inputs/MultilineTextInputForm\";\r\nimport DateInputForm2 from \"../../components/inputs/form-inputs/DateInputForm2\";\r\nimport CheckboxForm from \"../../components/inputs/form-inputs/CheckboxForm\";\r\n\r\nconst OdemeBilgileriCloudDetayRecord = React.forwardRef(\r\n (\r\n {\r\n ekranKodu,\r\n listGridRef,\r\n masterRef,\r\n detailGridRef,\r\n editGridRef,\r\n sirketid,\r\n program,\r\n setGridDs,\r\n },\r\n ref\r\n ) => {\r\n const context = React.useContext(AppContext);\r\n\r\n\r\n const initialState = {\r\n sirketid: sirketid,\r\n program: program\r\n // aktif: true,\r\n // degisiklikTarihi: dayjs(),\r\n // kayitEdenKullanici: context?.user?.id,\r\n };\r\n\r\n const urunKoduInputRef = useRef();\r\n const urunTipiRef = useRef();\r\n const programRef = useRef();\r\n\r\n\r\n\r\n const customFetchData = (id) => {\r\n let rows = editGridRef.current.instance.getVisibleRows();\r\n let currentRow = rows.find((x) => x.key == id);\r\n setRowData(currentRow.data);\r\n setModalLoading(false);\r\n };\r\n\r\n\r\n const customInsertOrUpdate = (values) => {\r\n var tempChanges = editGridRef.current.instance\r\n .option(\"editing.changes\")\r\n .slice();\r\n if (recId) {\r\n let change = tempChanges.find((x) => x.key == recId);\r\n if (!change) {\r\n tempChanges.push({\r\n key: recId,\r\n data: {},\r\n type: \"update\",\r\n });\r\n change = tempChanges.find((x) => x.key == recId);\r\n }\r\n\r\n let rows = editGridRef.current.instance.getVisibleRows();\r\n let currentRow = rows.find((x) => x.key == recId);\r\n\r\n Object.keys(currentRow.data).map((key) => {\r\n if (values[key] != currentRow.data[key]) {\r\n change.data[key] = values[key];\r\n }\r\n });\r\n } else {\r\n tempChanges.push({\r\n key: crypto.randomUUID(),\r\n data: values,\r\n type: \"insert\",\r\n });\r\n }\r\n\r\n editGridRef.current.instance.option(\"editing.changes\", tempChanges);\r\n\r\n handleClose();\r\n };\r\n\r\n const values = useRef(null);\r\n\r\n // var urunPaketSecimEnabled = useRef(null);\r\n var urunTipSecimEnabled = useRef(null);\r\n\r\n // urunPaketSecimEnabled = false;\r\n urunTipSecimEnabled = false;\r\n\r\n const afterDelete = () => {\r\n if (typeof recId === typeof \"\") {\r\n let tempChanges =\r\n editGridRef.current.instance.option(\"editing.changes\");\r\n editGridRef.current.instance.option(\r\n \"editing.changes\",\r\n tempChanges.filter((x) => x.key != recId)\r\n );\r\n } else {\r\n let ds = editGridRef.current.instance.option(\"dataSource\");\r\n setGridDs(ds.filter((x) => x.id != recId));\r\n }\r\n };\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n setRowData,\r\n setModalLoading,\r\n recId,\r\n } = usePageRecord(\r\n ref,\r\n PageConfigOdeme,\r\n listGridRef,\r\n ekranKodu,\r\n initialState,\r\n detailGridRef,\r\n false,\r\n customFetchData,\r\n customInsertOrUpdate,\r\n null,\r\n afterDelete\r\n );\r\n\r\n const validationSchema = yup.object().shape({\r\n //urunTipi: yup.number().required(),\r\n // urunid: yup.number().required(),\r\n // program: yup.number().required(),\r\n // kullaniciSayisi1: yup.number().required(),\r\n // kullaniciSayisi2: yup.number().required(),\r\n // birimFiyat: yup.number().required(),\r\n // birim: yup.string().required(),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Ödeme Girişi\"\r\n maxWidth=\"sm\"\r\n // height={\"480px\"}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n // subscription={{\r\n // form: true,\r\n // }}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n reset,\r\n values: formValues,\r\n }) => {\r\n return (\r\n <FormComponent\r\n onSubmit={handleSubmit}\r\n style={{ height: \"400px\" }}\r\n >\r\n {/* <FormSpy\r\n subscription={{ values: true }}\r\n onChange={(props) => {\r\n if (\r\n values?.current?.kdvOrani != props.values.kdvOrani ||\r\n values?.current?.birimFiyat != props.values.birimFiyat\r\n ) {\r\n let xkdvTutari =\r\n (props.values.birimFiyat * props.values.kdvOrani) /\r\n 100;\r\n form.change(\"kdvTutari\", xkdvTutari);\r\n\r\n form.change(\r\n \"kdVliBirimFiyat\",\r\n xkdvTutari + props.values.birimFiyat\r\n );\r\n }\r\n values.current = props.values;\r\n\r\n // urunTipSecimEnabled = props.values.program !== null;\r\n // urunPaketSecimEnabled = props.values.urunTip !== null;\r\n }}\r\n /> */}\r\n <DialogContentWrapper>\r\n {/* <DialogContentTop> */}\r\n <Grid item xs={12} sm={6} md={6}>\r\n {/* <FieldWrapper\r\n label=\"Şirket Ürün id\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </FieldWrapper> */}\r\n <FieldWrapper\r\n label=\"Şirket No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n disabled\r\n name=\"sirketid\"\r\n component={TextInputForm}\r\n // defaultValue={masterRef?.id}\r\n defaultValue={sirketid}\r\n />\r\n </FieldWrapper>\r\n {1 == 2 ? (<FieldWrapper\r\n label=\"Program\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n disabled\r\n name=\"program\"\r\n items={Object.values(URUN_PROGRAMLARI)}\r\n component={AutocomplateInputForm}\r\n readOnly={true}\r\n // defaultValue={masterRef?.id}\r\n defaultValue={program}\r\n />\r\n </FieldWrapper>) : (null)}\r\n\r\n\r\n\r\n {/* <FieldWrapper label=\"Program\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"program\"\r\n items={Object.values(URUN_PROGRAMLARI)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n ref={programRef}\r\n onChangeExtra={(old, newVal) => {\r\n console.log(\"ewVal?.Valueprogram\", newVal?.Value);\r\n urunTipSecimEnabled = newVal?.Value !== null;\r\n }}\r\n />\r\n </FieldWrapper> */}\r\n\r\n <FieldWrapper\r\n label=\"Ödeme Şekli\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"odemeSekli\"\r\n items={Object.values(ODEME_SEKLI)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n // ref={urunTipiRef}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper\r\n label=\"Ödeme Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"odemeTarihi\"\r\n rowData={rowData}\r\n type=\"date\"\r\n component={DateInputForm2}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Taksit/Vade Sayısı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"taksitSayisi\"\r\n rowData={rowData}\r\n type=\"number\"\r\n component={NumberInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper\r\n label=\"Ödenecek Ücret\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"odenecekUcret\"\r\n rowData={rowData}\r\n type=\"number\"\r\n component={NumberInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Para Birimi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"paraBirimi\"\r\n items={Object.values(PARA_BIRIMI)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n // ref={urunTipiRef}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Açıklama\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"aciklama\"\r\n component={MultilineTextInputForm}\r\n type=\"text\"\r\n rowData={rowData}\r\n minRows={5}\r\n // ref={urunTipiRef}\r\n />\r\n </FieldWrapper>\r\n\r\n </Grid>\r\n {/* </DialogContentTop> */}\r\n <DialogActionsWrapper>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogActionsWrapper>\r\n </DialogContentWrapper>\r\n </FormComponent>\r\n );\r\n }}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n }\r\n);\r\nexport default OdemeBilgileriCloudDetayRecord;\r\n","import { useEffect, useRef, useState } from \"react\";\r\nimport { PageConfigOdeme } from \"./AnlasmaOdemeBilgileriCloudConfig\";\r\n// import FiyatListeDetayRecord from \"./FiyatListeDetayRecord\";\r\nimport EditGrid from \"../../components/grid/EditGrid\";\r\nimport { useField } from \"react-final-form\";\r\nimport OdemeBilgileriCloudDetayRecord from \"./OdemeBilgileriCloudDetayRecord\";\r\n\r\nfunction OdemeBilgileriCloudDetay({\r\n ekranKodu,\r\n rowData,\r\n listGridRef,\r\n detailGridRef,\r\n editGridRef\r\n}) {\r\n const recordRef = useRef();\r\n const ref = useRef();\r\n\r\n const [gridDs, setGridDs] = useState(rowData.odemeBilgileriCloudDetayDtos);\r\n\r\n useEffect(() => {\r\n setGridDs(rowData.odemeBilgileriCloudDetayDtos);\r\n }, [rowData]);\r\n\r\n const openRecord = (id) => {\r\n ref.current.openRecord(id);\r\n };\r\n\r\n const sirketid = useField(\"id\").input.value;\r\n\r\n const program = rowData.program\r\n\r\n return (\r\n <>\r\n <EditGrid\r\n entities={PageConfigOdeme.type}\r\n openRecord={openRecord}\r\n height={\"30vh\"}\r\n editGridRef={editGridRef}\r\n dataSource={gridDs ?? []}\r\n gridDipToplamExists={true}\r\n // filtrele={true}\r\n ></EditGrid>\r\n <OdemeBilgileriCloudDetayRecord\r\n ref={ref}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n detailGridRef={detailGridRef}\r\n editGridRef={editGridRef}\r\n sirketid={sirketid}\r\n program={program}\r\n setGridDs={setGridDs}\r\n ></OdemeBilgileriCloudDetayRecord>\r\n </>\r\n );\r\n}\r\n\r\nexport default OdemeBilgileriCloudDetay;\r\n","import React, { useRef, useState } from \"react\";\r\nimport useFetchDialog from \"../../hooks/use-fetch-dialog\";\r\nimport { PageConfigOdeme } from \"./AnlasmaOdemeBilgileriCloudConfig\";\r\nimport SaveButton from \"../../components/buttons/custom/SaveButton\";\r\nimport { Divider, Grid, Paper, Skeleton, Typography } from \"@mui/material\";\r\nimport CancelButton from \"../../components/buttons/custom/CancelButton\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport useSubmit from \"../../hooks/use-submit\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport CheckboxForm from \"../../components/inputs/form-inputs/CheckboxForm\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport { apiUrl, YETKI_GRUBU_TIPI } from \"../../common/constants\";\r\nimport { Button } from \"devextreme-react\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport DateInputForm2 from \"../../components/inputs/form-inputs/DateInputForm2\";\r\nimport * as yup from \"yup\";\r\nimport AnlasmaBilgileriCloudDetay from \"./AnlasmaBilgileriCloudDetay\";\r\nimport OdemeBilgileriCloudDetay from \"./OdemeBilgileriCloudDetay\";\r\n\r\nconst AnlasmaOdemeBilgileriCloudDialog = React.forwardRef(({ yetki, ekranKodu }, ref) => {\r\n const context = React.useContext(AppContext);\r\n const editGridRefAnlasma = useRef();\r\n const editGridRefOdeme = useRef();\r\n const [errors, setErrors] = useState({}); // Hata mesajlarını saklamak için state\r\n\r\n const handleSubmitPrepareData = (values) => {\r\n let aa = {\r\n ...values,\r\n anlasmaBilgileriCloudDetayDtos: editGridRefAnlasma.current.instance.getVisibleRows().map((row) => {\r\n return row.data;\r\n }),\r\n odemeBilgileriCloudDetayDtos: editGridRefOdeme.current.instance.getVisibleRows().map((row) => {\r\n return row.data;\r\n }),\r\n };\r\n\r\n return aa;\r\n };\r\n\r\n const destekKullanicisi =\r\n context?.user?.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value ||\r\n context?.user?.yetkiGrubuTipi === YETKI_GRUBU_TIPI.BAYI_DESTEK.Value;\r\n\r\n const { open, closeRecord, modalLoading, rowData, setRowData } =\r\n useFetchDialog(ref, PageConfigOdeme.getByIdRoute);\r\n\r\n const handleSubmit = useSubmit(\r\n PageConfigOdeme,\r\n setRowData,\r\n null,\r\n () => {\r\n editGridRefAnlasma.current?.instance?.cancelEditData();\r\n editGridRefOdeme.current?.instance?.cancelEditData();\r\n },\r\n handleSubmitPrepareData\r\n );\r\n\r\n // const validationSchema = yup.object().shape({\r\n // destekSozBaslangic: yup.date().typeError(\"Geçersiz tarih formatı.\"),\r\n // });\r\n\r\n // const validateFormValues = (schema) => async (values) => {\r\n // if (typeof schema === \"function\") {\r\n // schema = schema();\r\n // }\r\n // try {\r\n // await schema.validate(values, { abortEarly: false });\r\n // setErrors(\"\");\r\n // } catch (err) {\r\n // let errors = {};\r\n // errors = err?.inner?.reduce((formError, innerError) => {\r\n // return innerError.message;\r\n\r\n // // return innerError.message setIn(formError, innerError.path, innerError.message);\r\n // }, {});\r\n\r\n // setErrors(errors);\r\n // return errors;\r\n // }\r\n // };\r\n\r\n // const validate = validateFormValues(validationSchema);\r\n\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"Anlaşma ve Ödeme Bilgileri\"\r\n maxWidth=\"xl\"\r\n // fullWidth={true}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n // validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit} style={{ height: \"800px\" }}>\r\n <DialogContentWrapper sx={{ padding: 1 }}>\r\n <Typography variant=\"h5\" gutterBottom sx={{ mt: 1, textAlign: \"center\" }}>\r\n Anlaşma Bilgileri\r\n </Typography>\r\n <AnlasmaBilgileriCloudDetay\r\n ekranKodu={ekranKodu}\r\n rowData={rowData}\r\n editGridRef={editGridRefAnlasma}\r\n listGridRef={editGridRefAnlasma}\r\n detailGridRef={editGridRefAnlasma}\r\n ></AnlasmaBilgileriCloudDetay>\r\n <Divider sx={{ my: 1, borderColor: \"grey.400\", borderWidth: 1 }} />\r\n <Typography variant=\"h5\" gutterBottom sx={{ mt: 1, textAlign: \"center\" }}>\r\n Ödeme Bilgileri\r\n </Typography>\r\n <OdemeBilgileriCloudDetay\r\n ekranKodu={ekranKodu}\r\n rowData={rowData}\r\n editGridRef={editGridRefOdeme}\r\n listGridRef={editGridRefOdeme}\r\n detailGridRef={editGridRefOdeme}\r\n ></OdemeBilgileriCloudDetay>\r\n\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n {yetki?.kaydet && (\r\n <SaveButton\r\n onClick={(e) => {\r\n form.submit();\r\n }}\r\n />\r\n )}\r\n {yetki?.kaydet && (\r\n <CancelButton\r\n onClick={() => {\r\n form.reset();\r\n }}\r\n disabled={submitting || pristine}\r\n />\r\n )}\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n});\r\n\r\nexport default AnlasmaOdemeBilgileriCloudDialog;\r\n","import React, { useContext, useMemo, useRef } from \"react\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport * as yup from \"yup\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport { Button, Grid, Skeleton, Typography } from \"@mui/material\";\r\nimport CustomDropZone from \"../../components/file/CustomDropZone\";\r\nimport {\r\n PageConfig,\r\n BaglantiBilgileriFileConfig,\r\n OtherConfig,\r\n} from \"./SirketConfig\";\r\nimport EkDosyaButton from \"../../components/buttons/custom/EkDosyaButton\";\r\nimport SirketTabs from \"./SirketTabs\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport PaketBilgileriDialog from \"./PaketBilgileriDialog\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport DialogContentTop from \"../../components/dialogs/DialogContentTop\";\r\nimport { EKRAN_KODU, URUN_PROGRAMLARI, YETKI_GRUBU_TIPI, apiUrl } from \"../../common/constants\";\r\nimport CustomColoredButton from \"../../components/buttons/custom/CustomColoredButton\";\r\nimport WorkOutlineIcon from \"@mui/icons-material/WorkOutline\";\r\nimport AnlasmaBilgileriDialog from \"./AnlasmaBilgileriDialog\";\r\nimport CheckboxForm from \"../../components/inputs/form-inputs/CheckboxForm\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport LisansPaketBilgileriERPDialog from \"../LisansPaketBilgileriErp/LisansPaketBilgileriERPDialog\";\r\nimport LisansPaketBilgileriCloudDialog from \"../LisansPaketBilgileriCloud/LisansPaketBilgileriCloudDialog\";\r\nimport AnlasmaOdemeBilgileriERPDialog from \"../AnlasmaOdemeBilgileriErp/AnlasmaOdemeBilgileriERPDialog\";\r\nimport AnlasmaOdemeBilgileriCloudDialog from \"../AnlasmaOdemeBilgileriCloud/AnlasmaOdemeBilgileriCloudDialog\";\r\nimport PointOfSaleIcon from '@mui/icons-material/PointOfSale';\r\nimport dayjs from \"dayjs\";\r\n\r\nconst SirketRecord = React.forwardRef(({ ekranKodu, listGridRef }, ref) => {\r\n const context = useContext(AppContext);\r\n var initialState = { aktif: true };\r\n\r\n // if (context.user?.anaBayiKullanicisi) {\r\n // initialState = {\r\n // ...initialState,\r\n // lisansKodu: crypto.randomUUID().toUpperCase(),\r\n // };\r\n // }\r\n\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n setRowData,\r\n } = usePageRecord(ref, PageConfig, listGridRef, ekranKodu, initialState);\r\n\r\n const lisansKoduRef = useRef();\r\n const tabRef = useRef();\r\n const paketBilgileriDialogRef = useRef();\r\n const lisansPaketBilgileriErpDialogRef = useRef();\r\n const lisansPaketBilgileriCloudDialogRef = useRef();\r\n const anlasmaOdemeBilgileriErpDialogRef = useRef();\r\n const anlasmaOdemeBilgileriCloudDialogRef = useRef();\r\n const vergiNoRef = useRef();\r\n\r\n const anlasmaBilgileriDialogRef = useRef();\r\n const programRef = useRef();\r\n\r\n const bayilereYetkisiVar = context?.user?.yetkiler?.some(yetki => yetki.ekranKodu === EKRAN_KODU.BAYILER.value && yetki.goruntule);\r\n\r\n const bayiKodVisible = ((context?.user?.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value) || ( bayilereYetkisiVar === true));\r\n\r\n const ulkeInputRef = useRef();\r\n\r\n // const initialState = {\r\n // aktif: true,\r\n // lisansKodu: bayiKodVisible ? \"\" : crypto.randomUUID().toUpperCase(),\r\n // };\r\n\r\n const validationSchema = yup.object().shape({\r\n sirket_Kod: yup.string().required(),\r\n sirketAdi: yup.string().required(),\r\n adres: yup.string().max(200, \"Adres 200 karakterden fazla olamaz.\"),\r\n vergiNo: yup.string().max(11, \"Vergi No 11 karakterden fazla olamaz.\"),\r\n program: yup.number().required(),\r\n });\r\n\r\n const destekKullanicisi =\r\n context?.user?.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value ||\r\n context?.user?.yetkiGrubuTipi === YETKI_GRUBU_TIPI.BAYI_DESTEK.Value;\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n const setLogo = (res) => {\r\n if (res.data.success)\r\n setRowData((prevData) => ({ ...prevData, logo: res.data.data }));\r\n };\r\n\r\n async function lisansKoduVer() {\r\n var flisansKodu = crypto.randomUUID().toUpperCase();\r\n setRowData((prevData) => ({ ...prevData, lisansKodu: flisansKodu }));\r\n\r\n var FormData = require(\"form-data\");\r\n var reqData = new FormData();\r\n reqData.append(\"lisansKodu\", flisansKodu);\r\n reqData.append(\"sirketId\", rowData.id);\r\n\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${OtherConfig.lisansKoduVerConfig}`,\r\n data: reqData,\r\n });\r\n }\r\n\r\n async function turmobdanBilgileriGetir(form) {\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${'PotansiyelMusteri/TurmobdanAl'}`,\r\n data: { vergiNo: vergiNoRef?.current?.value },\r\n }).then((res) => {\r\n\r\n rowData.id = null;\r\n \r\n \r\n form?.change(\"sirketAdi\", res.data.data.musteriAdi)\r\n form?.change(\"musteriAdi\", res.data.data.musteriAdi);\r\n form?.change(\"aktif\", true);\r\n form?.change(\"kayitTarihi\", dayjs());\r\n form?.change(\"kayitEden\", context?.user?.id);\r\n form?.change(\"ulkeid\", res.data.data.ulkeid);\r\n form?.change(\"ulkeidStr\", res.data.data.ulkeidStr);\r\n form?.change(\"sehirid\", res.data.data.sehirid);\r\n form?.change(\"sehiridStr\", res.data.data.sehiridStr);\r\n form?.change(\"ilceid\", res.data.data.ilceid);\r\n form?.change(\"ilceidStr\", res.data.data.ilceidStr);\r\n form?.change(\"mahalleid\", res.data.data.mahalleid);\r\n form?.change(\"mahalleidStr\", res.data.data.mahalleidStr);\r\n \r\n \r\n if (tabRef.current) {\r\n tabRef.current.ulkeInputRef.directText = res.data.data.ulkeidStr;\r\n tabRef.current.sehirInputRef.directText = res.data.data.sehiridStr;\r\n tabRef.current.ilceInputRef.directText = res.data.data.ilceidStr;\r\n tabRef.current.mahalleInputRef.directText = res.data.data.mahalleidStr;\r\n\r\n\r\n // tabRef.current.ulkeInputRef.current.setState(prevState => ({\r\n // ...prevState,\r\n // text: res.data.data.ulkeidStr\r\n // }));\r\n // tabRef.current.sehirInputRef.current.setState(prevState => ({\r\n // ...prevState,\r\n // text: res.data.data.sehiridStr\r\n // }));\r\n // tabRef.current.ilceInputRef.current.setState(prevState => ({\r\n // ...prevState,\r\n // text: res.data.data.ilceidStr\r\n // }));\r\n // tabRef.current.mahalleInputRef.current.setState(prevState => ({\r\n // ...prevState,\r\n // text: res.data.data.mahalleidStr\r\n // }));\r\n \r\n }\r\n\r\n\r\n\r\n \r\n })\r\n .catch((error) => { }).finally(() => {\r\n \r\n });\r\n }\r\n\r\n \r\n\r\n\r\n\r\n\r\n const CustomFieldWrapper = ({ children, label }) => {\r\n return (\r\n <FieldWrapper\r\n label={label}\r\n modalLoading={modalLoading}\r\n textWidth=\"30%\"\r\n width=\"70%\"\r\n >\r\n {children}\r\n </FieldWrapper>\r\n );\r\n };\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Müşteri Bilgileri\"\r\n maxWidth=\"lg\"\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <DialogContentTop>\r\n {rowData.id && (\r\n <Grid item xs={2}>\r\n {!modalLoading ? (\r\n <CustomDropZone\r\n sx={{\r\n maxWidth: \"130px\",\r\n maxHeight: \"170px\",\r\n }}\r\n dropZoneText={\r\n <Typography variant=\"caption\">Logo seç</Typography>\r\n }\r\n route=\"Sirket/UploadLogo\"\r\n afterUpload={setLogo}\r\n defaultImg={`data:image/jpeg;base64,${rowData?.logo}`}\r\n reqExtraData={[\r\n { name: \"sirketId\", value: rowData.id },\r\n ]}\r\n />\r\n ) : (\r\n <Skeleton\r\n sx={{ width: \"90px\", height: \"90px\" }}\r\n ></Skeleton>\r\n )}\r\n </Grid>\r\n )}\r\n <Grid item xs={rowData.id ? 10 : 12}>\r\n <DialogContentTop>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <CustomFieldWrapper label=\"Müşteri ID\">\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </CustomFieldWrapper>\r\n\r\n <CustomFieldWrapper label=\"Müşteri Adı\">\r\n <Field\r\n name=\"sirketAdi\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n\r\n <CustomFieldWrapper\r\n label=\"Erp Versiyon Bilgisi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"erpVersiyonBilgisi\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n\r\n <Grid container direction=\"row\" spacing={2}>\r\n <Grid item xs={6}>\r\n <FieldWrapper\r\n label=\"Aktif\"\r\n modalLoading={modalLoading}\r\n textWidth=\"85%\"\r\n // width=\"73%\"\r\n >\r\n <Field\r\n name=\"aktif\"\r\n component={CheckboxForm}\r\n // readOnly={!yetki.kaydet || destekKullanicisi}\r\n disabled={!yetki.kaydet || destekKullanicisi}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n\r\n <Grid item xs={6}>\r\n <>\r\n { bayiKodVisible && (\r\n <FieldWrapper\r\n label=\"Bayi Kod\"\r\n modalLoading={modalLoading}\r\n // textWidth=\"27%\"\r\n // width=\"73%\"\r\n >\r\n <Field\r\n name=\"bayiid\"\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute:\r\n \"Bayiler/BayilerListForSelect\",\r\n fildsForText: [\"bayiKod\"],\r\n fieldForValue: \"id\",\r\n fieldLabel: \"bayiKod\",\r\n reqData: {},\r\n }}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet} \r\n />\r\n </FieldWrapper>\r\n )}\r\n </>\r\n </Grid>\r\n </Grid>\r\n </Grid>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <CustomFieldWrapper\r\n label=\"Müşteri Kodu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"sirket_Kod\"\r\n component={TextInputForm}\r\n maxLength={50}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Temsilci\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"temsilciId\"\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute: \"User/KullaniciListForSelect\",\r\n fildsForText: [\"isimSoyisim\"],\r\n fieldForValue: \"id\",\r\n reqData: { temsilci: true, musteriTemsilcisi: true },\r\n }}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet || destekKullanicisi}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Platform\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"program\"\r\n items={Object.values(URUN_PROGRAMLARI)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet || rowData.programReadOnly}\r\n ref={programRef}\r\n // onChangeExtra={(old, newVal) => {\r\n // console.log(\"ewVal?.Valueprogram\", newVal?.Value);\r\n // urunTipSecimEnabled = newVal?.Value !== null;\r\n // }}\r\n />\r\n\r\n </CustomFieldWrapper>\r\n\r\n <Grid\r\n container\r\n direction=\"row\"\r\n spacing={0}\r\n style={{ Padding: 0 }}\r\n >\r\n <Grid item xs={7}>\r\n <CustomFieldWrapper\r\n label=\"Vergi No\"\r\n modalLoading={modalLoading}\r\n textWidth={\"55%\"}\r\n >\r\n <Field\r\n name=\"vergiNo\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n inputRef={vergiNoRef}\r\n // disabled={rowData?.id}\r\n />\r\n </CustomFieldWrapper>\r\n </Grid>\r\n <Grid item xs={5}>\r\n <Button\r\n // sx={{ width: \"100%\" }}\r\n variant=\"outlined\"\r\n size=\"small\"\r\n color=\"primary\"\r\n onClick={() => {\r\n turmobdanBilgileriGetir(form);\r\n // lisansKoduVer();\r\n }}\r\n >\r\n Turmob'dan getir\r\n </Button>\r\n </Grid>\r\n </Grid>\r\n\r\n {/* {modalLoading ? (\r\n <Skeleton width=\"100%\"></Skeleton>\r\n ) : (\r\n <Grid\r\n container\r\n direction=\"row\"\r\n spacing={2}\r\n sx={{ marginTop: rowData.id ? 0 : \"1px\" }}\r\n >\r\n <Grid item xs={6}>\r\n \r\n </Grid>\r\n {rowData.id && (\r\n <Grid item xs={6}>\r\n <Button\r\n sx={{ width: \"100%\" }}\r\n variant=\"contained\"\r\n size=\"small\"\r\n color=\"primary\"\r\n onClick={() => {\r\n paketBilgileriDialogRef?.current?.openRecord(\r\n rowData?.id\r\n );\r\n }}\r\n >\r\n Kullanılan Paket Adı\r\n </Button>\r\n </Grid>\r\n\r\n )}\r\n\r\n </Grid>\r\n )} */}\r\n </Grid>\r\n </DialogContentTop>\r\n </Grid>\r\n </DialogContentTop>\r\n\r\n <SirketTabs\r\n rowData={rowData}\r\n ekranKodu={ekranKodu}\r\n yetki={yetki}\r\n modalLoading={modalLoading}\r\n tabRef={tabRef}\r\n />\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper\r\n sx={{\r\n justifyContent:\r\n tabRef.current && tabRef.current.selectedTabIndex === 0\r\n ? \"space-between\"\r\n : \"flex-end\",\r\n }}\r\n >\r\n {tabRef.current && tabRef.current.selectedTabIndex === 0 && (\r\n <Grid>\r\n <EkDosyaButton\r\n reqData={{\r\n id: rowData.id,\r\n }}\r\n routes={BaglantiBilgileriFileConfig}\r\n ekranKodu={ekranKodu}\r\n parentRowData={rowData}\r\n disabled={!rowData?.id}\r\n ></EkDosyaButton>\r\n {/* {context?.user?.yetkiler.find(\r\n (x) => x.ekranKodu === EKRAN_KODU.ANLASMA_BILGILERI.value\r\n )?.goruntule && (\r\n <CustomColoredButton\r\n startIcon={<WorkOutlineIcon />}\r\n onClick={(e) => {\r\n anlasmaBilgileriDialogRef?.current?.openRecord(\r\n rowData.id\r\n );\r\n }}\r\n color=\"purple\"\r\n disabled={!rowData?.id}\r\n >\r\n Anlaşma Bilgileri\r\n </CustomColoredButton>\r\n )} */}\r\n {context?.user?.yetkiler.find(\r\n (x) => x.ekranKodu === EKRAN_KODU.LISANS_PAKET_BILGILERI_ERP.value\r\n )?.goruntule && rowData.program === URUN_PROGRAMLARI.HARMONYERP.Value && (\r\n <CustomColoredButton\r\n startIcon={<WorkOutlineIcon />}\r\n onClick={(e) => {\r\n lisansPaketBilgileriErpDialogRef?.current?.openRecord(\r\n rowData.id\r\n );\r\n }}\r\n color=\"purple\"\r\n disabled={!rowData?.id}\r\n >\r\n Lisans Paket Bilgileri\r\n </CustomColoredButton>\r\n\r\n )}\r\n {context?.user?.yetkiler.find(\r\n (x) => x.ekranKodu === EKRAN_KODU.LISANS_PAKET_BILGILERI_CLOUD.value\r\n )?.goruntule && rowData.program === URUN_PROGRAMLARI.HARMONYCLOUD.Value && (\r\n <CustomColoredButton\r\n startIcon={<WorkOutlineIcon />}\r\n onClick={(e) => {\r\n lisansPaketBilgileriCloudDialogRef?.current?.openRecord(\r\n rowData.id\r\n );\r\n }}\r\n color=\"purple\"\r\n disabled={!rowData?.id}\r\n >\r\n Lisans Paket Bilgileri\r\n </CustomColoredButton>\r\n )}\r\n {context?.user?.yetkiler.find(\r\n (x) => x.ekranKodu === EKRAN_KODU.ANLASMA_BILGILERI_ERP.value\r\n )?.goruntule && rowData.program === URUN_PROGRAMLARI.HARMONYERP.Value && (\r\n <CustomColoredButton\r\n startIcon={<PointOfSaleIcon />}\r\n onClick={(e) => {\r\n anlasmaOdemeBilgileriErpDialogRef?.current?.openRecord(\r\n rowData.id\r\n );\r\n }}\r\n color=\"aiburn\"\r\n disabled={!rowData?.id}\r\n >\r\n Anlaşma Ödeme Bilgileri\r\n </CustomColoredButton>\r\n )}\r\n {context?.user?.yetkiler.find(\r\n (x) => x.ekranKodu === EKRAN_KODU.ANLASMA_BILGILERI_CLOUD.value\r\n )?.goruntule && rowData.program === URUN_PROGRAMLARI.HARMONYCLOUD.Value && (\r\n <CustomColoredButton\r\n startIcon={<PointOfSaleIcon />}\r\n onClick={(e) => {\r\n anlasmaOdemeBilgileriCloudDialogRef?.current?.openRecord(\r\n rowData.id\r\n );\r\n }}\r\n color=\"aiburn\"\r\n disabled={!rowData?.id}\r\n >\r\n Anlaşma Ödeme Bilgileri\r\n </CustomColoredButton>\r\n )}\r\n </Grid>\r\n )}\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n <PaketBilgileriDialog\r\n yetki={yetki}\r\n ref={paketBilgileriDialogRef}\r\n ></PaketBilgileriDialog>\r\n <LisansPaketBilgileriERPDialog\r\n yetki={yetki}\r\n ref={lisansPaketBilgileriErpDialogRef}\r\n ekranKodu={ekranKodu}\r\n ></LisansPaketBilgileriERPDialog>\r\n <LisansPaketBilgileriCloudDialog\r\n yetki={yetki}\r\n ref={lisansPaketBilgileriCloudDialogRef}\r\n ekranKodu={ekranKodu}\r\n ></LisansPaketBilgileriCloudDialog>\r\n <AnlasmaOdemeBilgileriERPDialog\r\n yetki={yetki}\r\n ref={anlasmaOdemeBilgileriErpDialogRef}\r\n ekranKodu={ekranKodu}\r\n ></AnlasmaOdemeBilgileriERPDialog>\r\n <AnlasmaOdemeBilgileriCloudDialog\r\n yetki={yetki}\r\n ref={anlasmaOdemeBilgileriCloudDialogRef}\r\n ekranKodu={ekranKodu}\r\n ></AnlasmaOdemeBilgileriCloudDialog>\r\n <AnlasmaBilgileriDialog\r\n ref={anlasmaBilgileriDialogRef}\r\n listGridRef={listGridRef}\r\n ></AnlasmaBilgileriDialog>\r\n </>\r\n );\r\n});\r\nexport default SirketRecord;\r\n","import { useContext, useRef } from \"react\";\r\nimport PageFilter from \"../../components/filter/PageFilter\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\nimport SirketRecord from \"./SirketRecord\";\r\nimport { PageConfig } from \"./SirketConfig\";\r\nimport { YETKI_GRUBU_TIPI } from \"../../common/constants\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\n\r\nfunction Sirket({ ekranKodu }) {\r\n const listGridRef = useRef();\r\n const filterRef = useRef();\r\n const recordRef = useRef();\r\n const context = useContext(AppContext);\r\n\r\n return (\r\n <>\r\n <PageFilter\r\n PageConfig={PageConfig}\r\n ref={filterRef}\r\n listGridRef={listGridRef}\r\n />\r\n <PageGrid\r\n gridId=\"Sirket\"\r\n PageConfig={PageConfig}\r\n listGridRef={listGridRef}\r\n filterRef={filterRef}\r\n recordRef={recordRef}\r\n isCreatable={context?.user?.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value || context?.user?.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value}\r\n ekranKodu={ekranKodu}\r\n />\r\n <SirketRecord\r\n ref={recordRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n ></SirketRecord>\r\n </>\r\n );\r\n}\r\n\r\nexport default Sirket;\r\n","import Type from \"../../entities/UrunGrubu\";\r\n\r\nconst PageConfig = {\r\n title: \"UrunGrubu\",\r\n ekranKodu: \"UrunGrubu_Res\",\r\n type: Type,\r\n listRoute: \"UrunGrubu/List\",\r\n getByIdRoute: \"UrunGrubu/GetById\",\r\n insertRoute: \"UrunGrubu/Insert\",\r\n updateRoute: \"UrunGrubu/Update\",\r\n deleteRoute: \"UrunGrubu/Delete\",\r\n};\r\n\r\nexport {\r\n PageConfig\r\n};","import React, { useState } from \"react\";\r\nimport { AppContext } from \"../common/AppContext\";\r\nimport { HttpAuthorized } from \"../common/common\";\r\nimport { loadingVisible } from \"../common/constant-functions/loadingVisible\";\r\nimport { printToast } from \"../common/constant-functions/printToast\";\r\nimport validateFormValues from \"../common/constant-functions/validateFormValues\";\r\nimport { apiUrl } from \"../common/constants\";\r\nimport {PageConfig} from \"../pages/UrunGrubu/UrunGrubuConfig\";\r\n\r\nfunction useUrunGrubuRecord(ref, urunGrubuInputRef, ekranKodu) {\r\n const [open, setOpen] = useState(false);\r\n const [recId, setRecId] = useState(0);\r\n const [rowData, setRowData] = useState({});\r\n const [modalLoading, setModalLoading] = useState(true);\r\n\r\n React.useImperativeHandle(ref, () => ({\r\n setRecId: setRecId,\r\n recId: recId,\r\n openRecord: openRecord,\r\n }));\r\n\r\n const handleClickOpen = () => setOpen(true);\r\n\r\n const handleClose = () => {\r\n setOpen(false);\r\n setRecId(null);\r\n setRowData({});\r\n setModalLoading(true);\r\n };\r\n\r\n async function fetchData(recId) {\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${PageConfig.getByIdRoute}`,\r\n data: {\r\n id: recId,\r\n },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n setRowData(res.data.data);\r\n setModalLoading(false);\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n });\r\n }\r\n\r\n async function insertOrUpdate(values) {\r\n loadingVisible(true);\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${\r\n values.id ? PageConfig.updateRoute : PageConfig.insertRoute\r\n }`,\r\n data: {\r\n ...values,\r\n },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n setRowData(res.data.data);\r\n urunGrubuInputRef?.current?.changeValue({\r\n Value: res.data.data?.id,\r\n Text: res.data.data?.urunGrubu,\r\n });\r\n handleClose();\r\n\r\n console.log(\"res gelen\", res.data.data);\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n })\r\n .finally(() => loadingVisible(false));\r\n }\r\n\r\n async function handleDelete() {\r\n loadingVisible(true);\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${PageConfig.deleteRoute}`,\r\n data: { id: rowData.id },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n\r\n if (res.data.success) {\r\n setRowData({});\r\n urunGrubuInputRef?.current?.changeValue({\r\n Value: null,\r\n Text: null,\r\n });\r\n handleClose();\r\n }\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n })\r\n .finally(() => loadingVisible(false));\r\n }\r\n\r\n const handleSubmit = async (values) => {\r\n await insertOrUpdate(values);\r\n };\r\n\r\n function openRecord(recId) {\r\n if (recId > 0) {\r\n setRecId(recId);\r\n fetchData(recId);\r\n } else {\r\n setRecId(null);\r\n setModalLoading(false);\r\n }\r\n handleClickOpen();\r\n }\r\n\r\n const context = React.useContext(AppContext);\r\n\r\n const yetki =\r\n context?.user?.yetkiler.find((x) => x.ekranKodu === ekranKodu) ?? {};\r\n\r\n return {\r\n rowData,\r\n setRowData,\r\n recId,\r\n setRecId,\r\n open,\r\n handleClickOpen,\r\n handleClose,\r\n modalLoading,\r\n setModalLoading,\r\n handleDelete,\r\n handleSubmit,\r\n validateFormValues,\r\n yetki,\r\n };\r\n}\r\n\r\nexport default useUrunGrubuRecord;\r\n","import React from \"react\";\r\nimport { Stack } from \"@mui/material\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport * as yup from \"yup\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport useUrunGrubuRecord from \"../../hooks/use-urun-grubu-record\";\r\n\r\nconst CustomFieldWrapper = ({ label, modalLoading, children }) => {\r\n return (\r\n <FieldWrapper\r\n label={label}\r\n modalLoading={modalLoading}\r\n width={\"75%\"}\r\n textWidth={\"25%\"}\r\n >\r\n {children}\r\n </FieldWrapper>\r\n );\r\n};\r\n\r\nconst UrunGrubuRecord = React.forwardRef(\r\n ({ ekranKodu, urunGrubuInputRef }, ref) => {\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n } = useUrunGrubuRecord(ref, urunGrubuInputRef, ekranKodu);\r\n\r\n const validationSchema = yup.object().shape({\r\n urunGrubu: yup.string().required(),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Yeni Ürün Grubu\"\r\n maxWidth=\"xs\"\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <form onSubmit={handleSubmit}>\r\n {/* <FormComponent onSubmit={handleSubmit}> */}\r\n <DialogContentWrapper>\r\n <Stack direction=\"column\" spacing={1}>\r\n <CustomFieldWrapper\r\n label=\"Ürün Grubu No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Ürün Grubu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"urunGrubu\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n </Stack>\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogActionsWrapper>\r\n {/* </FormComponent> */}\r\n </form>\r\n )}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n }\r\n);\r\nexport default UrunGrubuRecord;\r\n","import React, { useRef } from \"react\";\r\nimport AutocomplateInputForm from \"../form-inputs/AutocomplateInputForm\";\r\nimport UrunGrubuRecord from \"../../../pages/UrunGrubu/UrunGrubuRecord\";\r\n\r\nexport default function UrunGrubuInputForm({\r\n ekranKodu,\r\n rowData,\r\n readOnly,\r\n inputRef,\r\n input,\r\n reqData,\r\n fieldLabelRef,\r\n ...rest\r\n}) {\r\n const urunGrubuDialogRef = useRef();\r\n return (\r\n <>\r\n <AutocomplateInputForm\r\n readOnly={readOnly}\r\n rowData={rowData}\r\n insertButtonRef={urunGrubuDialogRef}\r\n remoteDataAdaptor={{\r\n fetchRoute: \"Urunler/UrunGrubuListForSelect\",\r\n fildsForText: [\"urunGrubu\"],\r\n fieldForValue: \"id\",\r\n reqData: {},\r\n fieldLabel: fieldLabelRef\r\n }}\r\n ref={inputRef}\r\n input={input}\r\n {...rest}\r\n />\r\n <UrunGrubuRecord\r\n ref={urunGrubuDialogRef}\r\n ekranKodu={ekranKodu}\r\n urunGrubuInputRef={inputRef}\r\n ></UrunGrubuRecord>\r\n </>\r\n );\r\n}\r\n","import { ID_WIDTH } from \"../common/entityconstants\";\r\nimport {\r\n URUN_PROGRAMLARI,\r\n URUN_TIP,\r\n URUN_TIP_MODULPAKET,\r\n} from \"../common/constants\";\r\nimport UrunGrubuInputForm from \"../components/inputs/custom-form-inputs/UrunGrubuInputForm\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"program\",\r\n label: \"Program\",\r\n dataType: \"select\",\r\n dataField: \"program\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(URUN_PROGRAMLARI),\r\n },\r\n {\r\n name: \"urunTipi\",\r\n label: \"Ürün Tipi\",\r\n dataType: \"select\",\r\n dataField: \"urunTipi\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(URUN_TIP_MODULPAKET),\r\n },\r\n {\r\n name: \"urunKodu\",\r\n label: \"Ürün Kodu\",\r\n dataType: \"text\",\r\n dataField: \"urunKodu\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"urunAdi\",\r\n label: \"Ürün Adı\",\r\n dataType: \"text\",\r\n dataField: \"urunAdi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"urunGrubu1Str\",\r\n label: \"Ürün Grubu-1\",\r\n dataType: \"text\",\r\n dataField: \"urunGrubu1Str\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"urunGrubu2Str\",\r\n label: \"Ürün Grubu-2\",\r\n dataType: \"text\",\r\n dataField: \"urunGrubu2Str\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"urunGrubu3Str\",\r\n label: \"Ürün Grubu-3\",\r\n dataType: \"text\",\r\n dataField: \"urunGrubu3Str\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"aktif\",\r\n label: \"Aktif\",\r\n dataType: \"boolean\",\r\n dataField: \"aktif\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"sadeceMerkez\",\r\n label: \"Sadece Merkez\",\r\n dataType: \"boolean\",\r\n dataField: \"sadeceMerkez\",\r\n visible: [\"grid\"],\r\n },\r\n //filtre--------------------------------------------------------------------------------------------------\r\n {\r\n name: \"program\",\r\n label: \"Program\",\r\n dataType: \"select\",\r\n dataField: \"program\",\r\n visible: [\"filter\"],\r\n items: Object.values(URUN_PROGRAMLARI),\r\n },\r\n {\r\n name: \"urunTipi\",\r\n label: \"Ürün Tipi\",\r\n dataType: \"select\",\r\n dataField: \"urunTipi\",\r\n visible: [\"filter\"],\r\n items: Object.values(URUN_TIP_MODULPAKET),\r\n },\r\n {\r\n name: \"urunKod\",\r\n label: \"Ürün Kodu\",\r\n dataType: \"text\",\r\n dataField: \"urunKod\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"urunAd\",\r\n label: \"Ürün Adı\",\r\n dataType: \"text\",\r\n dataField: \"urunAd\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"urunGrubu1\",\r\n label: \"Ürün Grubu-1\",\r\n dataType: \"custom\",\r\n dataField: \"urunGrubu1\",\r\n visible: [\"filter\"],\r\n customComponent: UrunGrubuInputForm,\r\n },\r\n {\r\n name: \"urunGrubu2\",\r\n label: \"Ürün Grubu-2\",\r\n dataType: \"custom\",\r\n dataField: \"urunGrubu2\",\r\n visible: [\"filter\"],\r\n customComponent: UrunGrubuInputForm,\r\n },\r\n {\r\n name: \"urunGrubu3\",\r\n label: \"Ürün Grubu-3\",\r\n dataType: \"custom\",\r\n dataField: \"urunGrubu3\",\r\n visible: [\"filter\"],\r\n customComponent: UrunGrubuInputForm,\r\n },\r\n // {\r\n // name: \"aktif\",\r\n // label: \"Aktif\",\r\n // dataType: \"select\",\r\n // dataField: \"aktif\",\r\n // visible: [\"filter\"],\r\n // items: Object.values(AKTIF_PASIF)\r\n // }\r\n];\r\n\r\nexport default entity;\r\n","import Type from \"../../entities/Urunler\";\r\n\r\nconst PageConfig = {\r\n title: \"Urunler\",\r\n ekranKodu: \"Urunler_Res\",\r\n type: Type,\r\n listRoute: \"Urunler/List\",\r\n getByIdRoute: \"Urunler/GetById\",\r\n insertRoute: \"Urunler/Insert\",\r\n updateRoute: \"Urunler/Update\",\r\n deleteRoute: \"Urunler/Delete\",\r\n};\r\n\r\nconst ExcelImportConfig = {\r\n fileUploadRoute: \"Urunler/ExcelImport\",\r\n};\r\n\r\nexport { PageConfig, ExcelImportConfig };\r\n","import React, { useRef } from \"react\";\r\nimport { Grid, Stack } from \"@mui/material\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport { PageConfig } from \"./UrunlerConfig\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport * as yup from \"yup\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport CheckboxForm from \"../../components/inputs/form-inputs/CheckboxForm\";\r\nimport { URUN_PROGRAMLARI, URUN_TIP_MODULPAKET } from \"../../common/constants\";\r\nimport UrunGrubuInputForm from \"../../components/inputs/custom-form-inputs/UrunGrubuInputForm\";\r\nimport DosyaYukleButton from \"../../components/buttons/custom/DosyaYukleButton\";\r\nimport DosyaYukle from \"../../components/file/DosyaYukle\";\r\nimport DialogContentTop from \"../../components/dialogs/DialogContentTop\";\r\nimport RichTextEditor from \"../../components/inputs/form-inputs/RichTextEditor\";\r\n\r\nconst CustomFieldWrapper = ({ label, modalLoading, children }) => {\r\n return (\r\n <FieldWrapper\r\n label={label}\r\n modalLoading={modalLoading}\r\n width={\"75%\"}\r\n textWidth={\"25%\"}\r\n >\r\n {children}\r\n </FieldWrapper>\r\n );\r\n};\r\n\r\nconst CustomFieldWrapperForAciklama = ({ label, modalLoading, children }) => {\r\n return (\r\n <FieldWrapper\r\n label={label}\r\n modalLoading={modalLoading}\r\n width={\"100%\"}\r\n textWidth={\"0%\"}\r\n >\r\n {children}\r\n </FieldWrapper>\r\n );\r\n};\r\n\r\nconst UrunlerRecord = React.forwardRef(({ ekranKodu, listGridRef }, ref) => {\r\n const initialState = { aktif: true };\r\n\r\n const UrunGrubu1InputRef = useRef();\r\n const UrunGrubu2InputRef = useRef();\r\n const UrunGrubu3InputRef = useRef();\r\n const dosyaYukleRef = useRef();\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n openRecord,\r\n recId,\r\n } = usePageRecord(ref, PageConfig, listGridRef, ekranKodu, initialState);\r\n\r\n const validationSchema = yup.object().shape({\r\n urunKodu: yup.string().required(),\r\n urunAdi: yup.string().required(),\r\n urunTipi: yup.number().required(),\r\n program: yup.number().required(),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Yeni Ürün\"\r\n maxWidth=\"lg\"\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n // <FormComponent onSubmit={handleSubmit}>\r\n <form onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <DialogContentTop>\r\n {/* <Stack direction=\"column\" spacing={1}> */}\r\n <Grid item xs={12} sm={6} md={6}>\r\n <CustomFieldWrapper\r\n label=\"Ürün No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Program\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"program\"\r\n items={Object.values(URUN_PROGRAMLARI)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Ürün Tipi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"urunTipi\"\r\n items={Object.values(URUN_TIP_MODULPAKET)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n\r\n <CustomFieldWrapper\r\n label=\"Ürün Kodu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"urunKodu\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Ürün Adı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"urunAdi\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n </Grid>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <CustomFieldWrapper\r\n label=\"Ürün Grubu 1\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"urunGrubu1\"\r\n rowData={rowData}\r\n component={UrunGrubuInputForm}\r\n inputRef={UrunGrubu1InputRef}\r\n ekranKodu={ekranKodu}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Ürün Grubu 2\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"urunGrubu2\"\r\n rowData={rowData}\r\n component={UrunGrubuInputForm}\r\n inputRef={UrunGrubu2InputRef}\r\n ekranKodu={ekranKodu}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Ürün Grubu 3\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"urunGrubu3\"\r\n rowData={rowData}\r\n component={UrunGrubuInputForm}\r\n inputRef={UrunGrubu3InputRef}\r\n ekranKodu={ekranKodu}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Sadece Merkezde Gözüksün\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"sadeceMerkez\"\r\n component={CheckboxForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Aktif\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"aktif\"\r\n component={CheckboxForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n </Grid>\r\n {/* </Stack> */}\r\n </DialogContentTop>\r\n <CustomFieldWrapperForAciklama\r\n label=\"\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"aciklama\"\r\n component={RichTextEditor}\r\n readOnly={!yetki.kaydet}\r\n label={\"Açıklama / Ürün İçeriği\"}\r\n modalLoading={modalLoading}\r\n style={{ height: \"400px\" }}\r\n />\r\n </CustomFieldWrapperForAciklama>\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper\r\n sx={{\r\n justifyContent: \"space-between\",\r\n }}\r\n >\r\n <DosyaYukleButton\r\n label={\"Excel'den Al\"}\r\n onClick={() => {\r\n dosyaYukleRef?.current?.openModal();\r\n }}\r\n />\r\n <DosyaYukle\r\n route={\"Urunler/ExcelImport\"}\r\n ref={dosyaYukleRef}\r\n // reqExtraData={}\r\n rowData={rowData}\r\n setRowData={() => {}}\r\n allowedFileExtensions={[\".xls\", \".xlsx\"]}\r\n modalTitle=\"Excel'den Al\"\r\n handleCloseExtra={() => {\r\n openRecord(recId);\r\n }}\r\n sutunSiralamasi={\r\n \"Program(1: HarmonyERP, 2: HarmoyCLOUD) - Ürün Tipi(1: Ürün, 2: Paket) - Ürün Kodu - Ürün Adı - Ürün Grubu 1 - Ürün Grubu 2 - Ürün Grubu 3\"\r\n }\r\n />\r\n {/* <Grid>\r\n <ExcelImportButton\r\n reqData={{\r\n id: rowData.id,\r\n }}\r\n routes={ExcelImportConfig}\r\n ekranKodu={ekranKodu}\r\n parentRowData={rowData}\r\n // disabled={!rowData?.id}\r\n ></ExcelImportButton>\r\n </Grid> */}\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogActionsWrapper>\r\n </form>\r\n // </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n});\r\nexport default UrunlerRecord;\r\n","import { useRef } from \"react\";\r\nimport PageFilter from \"../../components/filter/PageFilter\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\n// import SirketRecord from \"./SirketRecord\";\r\nimport { PageConfig } from \"./UrunlerConfig\";\r\nimport UrunlerRecord from \"./UrunlerRecord\";\r\n\r\nfunction Urunler({ ekranKodu }) {\r\n const listGridRef = useRef();\r\n const filterRef = useRef();\r\n const recordRef = useRef();\r\n\r\n return (\r\n <>\r\n <PageFilter\r\n PageConfig={PageConfig}\r\n ref={filterRef}\r\n listGridRef={listGridRef}\r\n />\r\n <PageGrid\r\n gridId=\"Urunler\"\r\n PageConfig={PageConfig}\r\n listGridRef={listGridRef}\r\n filterRef={filterRef}\r\n recordRef={recordRef}\r\n isCreatable\r\n ekranKodu={ekranKodu}\r\n />\r\n <UrunlerRecord\r\n ref={recordRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n ></UrunlerRecord>\r\n </>\r\n );\r\n}\r\n\r\nexport default Urunler;\r\n","import Type from \"../../entities/SirketBazliSureAnalizi\";\r\n\r\nconst PageConfig = {\r\n title: \"Müşteri Bazlı Süre Raporu\",\r\n ekranKodu: \"SirketBazliSureAnalizi_Res\",\r\n type: Type,\r\n listRoute: \"Rapor/SirketBazliSureAnaliziList\",\r\n};\r\n\r\nexport default PageConfig;\r\n","import { AY, TUTAR_FORMAT } from \"../common/constants\";\r\nimport SirketInputForm from \"../components/inputs/custom-form-inputs/SirketInputForm\";\r\nimport dayjs from \"dayjs\";\r\nimport fillYearForSelect from \"../common/constant-functions/fillYearForSelect\";\r\n\r\nconst entity = [\r\n {\r\n name: \"sirketAdi\",\r\n label: \"Müşteri Adı\",\r\n dataType: \"text\",\r\n dataField: \"sirketAdi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"harcananSureDestek\",\r\n label: \"Harcanan Süre - Destek (Dakika)\",\r\n dataType: \"number\",\r\n dataField: \"harcananSureDestek\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"harcananSureTeklifsizYazilim\",\r\n label: \"Harcanan Süre - Teklifsiz Yazılım (Dakika)\",\r\n dataType: \"number\",\r\n dataField: \"harcananSureTeklifsizYazilim\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"harcananSureTeklifli\",\r\n label: \"Harcanan Süre - Teklifli (Dakika)\",\r\n dataType: \"number\",\r\n dataField: \"harcananSureTeklifli\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"harcananSureToplamHata\",\r\n label: \"Harcanan Süre-Hata Düzeltme (Dakika)\",\r\n dataType: \"number\",\r\n dataField: \"harcananSureToplamHata\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"toplamHarcananSure\",\r\n label: \"Toplam Harcanan Süre (Dakika)\",\r\n dataType: \"number\",\r\n dataField: \"toplamHarcananSure\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"degerlendirmeyeAlinanSure\",\r\n label: \"Değerlendirmeye Alınan Süre (Dakika)\",\r\n dataType: \"number\",\r\n dataField: \"degerlendirmeyeAlinanSure\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"toplamProjeliSure\",\r\n label: \"İlk Kurulum Proje Süresinde Harcanan Süre (Dakika)\",\r\n dataType: \"number\",\r\n dataField: \"toplamProjeliSure\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"kalanProjeliSure\",\r\n label: \"İlk Kurulum Proje Süresinde Harcanacak Süre (Dakika)\",\r\n dataType: \"number\",\r\n dataField: \"kalanProjeliSure\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"anlasilanSure\",\r\n label: \"Anlaşılan Süre (Dakika)\",\r\n dataType: \"number\",\r\n dataField: \"anlasilanSure\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"sureAsimi\",\r\n label: \"Süre Aşımı (Dakika)\",\r\n dataType: \"number\",\r\n dataField: \"sureAsimi\",\r\n visible: [\"grid\"],\r\n // format: TUTAR_FORMAT,\r\n cellRender: ({ value }) => (\r\n <div style={{ color: value > 0 ? \"red\" : \"black\", fontWeight: \"bold\" }}>\r\n {value?.toFixed(2)}\r\n </div>\r\n ),\r\n },\r\n //todo--------filtre--------------------------------------\r\n {\r\n name: \"ay\",\r\n label: \"Ay\",\r\n dataType: \"select\",\r\n dataField: \"ay\",\r\n visible: [\"filter\"],\r\n items: AY,\r\n notSort: true\r\n // defaultValue: dayjs().month() + 1, // dayjs().month() + 1 bulunduğumuz ayın ay değerini int olarak alır 3 gibi\r\n },\r\n {\r\n name: \"yil\",\r\n label: \"Yıl\",\r\n dataType: \"select\",\r\n dataField: \"yil\",\r\n visible: [\"filter\"],\r\n items: fillYearForSelect(),\r\n defaultValue: dayjs().year(),\r\n },\r\n {\r\n name: \"sirketId\",\r\n label: \"Müşteri Adı\",\r\n dataType: \"custom\",\r\n dataField: \"sirketId\",\r\n visible: [\"filter\"],\r\n customComponent: SirketInputForm,\r\n customComponentParams: {},\r\n },\r\n];\r\n\r\nexport default entity;\r\n","import { useRef } from \"react\";\r\nimport PageFilter from \"../../components/filter/PageFilter\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\nimport PageConfig from \"./SirketBazliSureAnaliziConfig\";\r\n\r\nexport default function SirketBazliSureAnalizi({ ekranKodu }) {\r\n const listGridRef = useRef();\r\n const filterRef = useRef();\r\n\r\n return (\r\n <>\r\n <PageFilter\r\n PageConfig={PageConfig}\r\n ref={filterRef}\r\n listGridRef={listGridRef}\r\n sirketBazliSureAnalizinden={true}\r\n />\r\n <PageGrid\r\n gridId=\"SirketBazliSureAnalizi\"\r\n PageConfig={PageConfig}\r\n listGridRef={listGridRef}\r\n filterRef={filterRef}\r\n columnBtnVisible={false}\r\n isCreatable={false}\r\n ekranKodu={ekranKodu}\r\n />\r\n </>\r\n );\r\n}\r\n","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"component\", \"disableGutters\", \"fixed\", \"maxWidth\", \"classes\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from '@mui/utils/capitalize';\nimport useThemePropsSystem from '../useThemeProps';\nimport systemStyled from '../styled';\nimport createTheme from '../createTheme';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultTheme = createTheme();\nconst defaultCreateStyledComponent = systemStyled('div', {\n name: 'MuiContainer',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`maxWidth${capitalize(String(ownerState.maxWidth))}`], ownerState.fixed && styles.fixed, ownerState.disableGutters && styles.disableGutters];\n }\n});\nconst useThemePropsDefault = inProps => useThemePropsSystem({\n props: inProps,\n name: 'MuiContainer',\n defaultTheme\n});\nconst useUtilityClasses = (ownerState, componentName) => {\n const getContainerUtilityClass = slot => {\n return generateUtilityClass(componentName, slot);\n };\n const {\n classes,\n fixed,\n disableGutters,\n maxWidth\n } = ownerState;\n const slots = {\n root: ['root', maxWidth && `maxWidth${capitalize(String(maxWidth))}`, fixed && 'fixed', disableGutters && 'disableGutters']\n };\n return composeClasses(slots, getContainerUtilityClass, classes);\n};\nexport default function createContainer(options = {}) {\n const {\n // This will allow adding custom styled fn (for example for custom sx style function)\n createStyledComponent = defaultCreateStyledComponent,\n useThemeProps = useThemePropsDefault,\n componentName = 'MuiContainer'\n } = options;\n const ContainerRoot = createStyledComponent(({\n theme,\n ownerState\n }) => _extends({\n width: '100%',\n marginLeft: 'auto',\n boxSizing: 'border-box',\n marginRight: 'auto',\n display: 'block'\n }, !ownerState.disableGutters && {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n // @ts-ignore module augmentation fails if custom breakpoints are used\n [theme.breakpoints.up('sm')]: {\n paddingLeft: theme.spacing(3),\n paddingRight: theme.spacing(3)\n }\n }), ({\n theme,\n ownerState\n }) => ownerState.fixed && Object.keys(theme.breakpoints.values).reduce((acc, breakpointValueKey) => {\n const breakpoint = breakpointValueKey;\n const value = theme.breakpoints.values[breakpoint];\n if (value !== 0) {\n // @ts-ignore\n acc[theme.breakpoints.up(breakpoint)] = {\n maxWidth: `${value}${theme.breakpoints.unit}`\n };\n }\n return acc;\n }, {}), ({\n theme,\n ownerState\n }) => _extends({}, ownerState.maxWidth === 'xs' && {\n // @ts-ignore module augmentation fails if custom breakpoints are used\n [theme.breakpoints.up('xs')]: {\n // @ts-ignore module augmentation fails if custom breakpoints are used\n maxWidth: Math.max(theme.breakpoints.values.xs, 444)\n }\n }, ownerState.maxWidth &&\n // @ts-ignore module augmentation fails if custom breakpoints are used\n ownerState.maxWidth !== 'xs' && {\n // @ts-ignore module augmentation fails if custom breakpoints are used\n [theme.breakpoints.up(ownerState.maxWidth)]: {\n // @ts-ignore module augmentation fails if custom breakpoints are used\n maxWidth: `${theme.breakpoints.values[ownerState.maxWidth]}${theme.breakpoints.unit}`\n }\n }));\n const Container = /*#__PURE__*/React.forwardRef(function Container(inProps, ref) {\n const props = useThemeProps(inProps);\n const {\n className,\n component = 'div',\n disableGutters = false,\n fixed = false,\n maxWidth = 'lg'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component,\n disableGutters,\n fixed,\n maxWidth\n });\n\n // @ts-ignore module augmentation fails if custom breakpoints are used\n const classes = useUtilityClasses(ownerState, componentName);\n return (\n /*#__PURE__*/\n // @ts-ignore theme is injected by the styled util\n _jsx(ContainerRoot, _extends({\n as: component\n // @ts-ignore module augmentation fails if custom breakpoints are used\n ,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other))\n );\n });\n process.env.NODE_ENV !== \"production\" ? Container.propTypes /* remove-proptypes */ = {\n children: PropTypes.node,\n classes: PropTypes.object,\n className: PropTypes.string,\n component: PropTypes.elementType,\n disableGutters: PropTypes.bool,\n fixed: PropTypes.bool,\n maxWidth: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl', false]), PropTypes.string]),\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n } : void 0;\n return Container;\n}","'use client';\n\nimport PropTypes from 'prop-types';\nimport { createContainer } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nconst Container = createContainer({\n createStyledComponent: styled('div', {\n name: 'MuiContainer',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`maxWidth${capitalize(String(ownerState.maxWidth))}`], ownerState.fixed && styles.fixed, ownerState.disableGutters && styles.disableGutters];\n }\n }),\n useThemeProps: inProps => useDefaultProps({\n props: inProps,\n name: 'MuiContainer'\n })\n});\nprocess.env.NODE_ENV !== \"production\" ? Container.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * Set the max-width to match the min-width of the current breakpoint.\n * This is useful if you'd prefer to design for a fixed set of sizes\n * instead of trying to accommodate a fully fluid viewport.\n * It's fluid by default.\n * @default false\n */\n fixed: PropTypes.bool,\n /**\n * Determine the max-width of the container.\n * The container width grows with the size of the screen.\n * Set to `false` to disable `maxWidth`.\n * @default 'lg'\n */\n maxWidth: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl', false]), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Container;","import {\r\n Alert,\r\n Button,\r\n Container,\r\n Divider,\r\n Grid,\r\n Paper,\r\n TextField,\r\n Typography,\r\n} from \"@mui/material\";\r\nimport React, { useContext, useRef, useState } from \"react\";\r\nimport { useNavigate } from \"react-router-dom\";\r\nimport AuthService from \"../../services/AuthService\";\r\nimport LoginIcon from \"@mui/icons-material/Login\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport routes from \"../../common/routes\";\r\nimport { ctheme } from \"../../theme/theme\";\r\nimport { EKRAN_KODU, YETKI_GRUBU_TIPI } from \"../../common/constants\";\r\n\r\nexport default function Login() {\r\n const [loginData, setLoginData] = useState({ kullaniciAdi: \"\", sifre: \"\" });\r\n const [errorMessage, setErrorMessage] = useState(\"\");\r\n let navigate = useNavigate();\r\n const context = useContext(AppContext);\r\n\r\n const buttonRef = useRef(null);\r\n\r\n const handleKeyDown = (event) => {\r\n if (event.key === \"Enter\") {\r\n buttonRef.current.click();\r\n }\r\n };\r\n\r\n return (\r\n <Grid\r\n sx={{\r\n display: \"flex\",\r\n width: \"100%\",\r\n height: \"100%\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n flexDirection: \"column\",\r\n }}\r\n >\r\n <Paper\r\n sx={{\r\n width: 500,\r\n // height: \"50%\",\r\n padding: 2,\r\n bgcolor: ctheme.colors.lynxWhite,\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n justifyContent: \"space-between\",\r\n boxShadow:\r\n \"rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px\",\r\n }}\r\n variant=\"outlined\"\r\n >\r\n <Grid className=\"headerWrapper\" sx={{ width: \"100%\" }}>\r\n <Grid\r\n sx={{ width: \"100%\", justifyContent: \"center\", display: \"flex\" }}\r\n >\r\n <img src=\"/erplogorenkli.png\" alt=\"Logo\" />\r\n </Grid>\r\n <Divider variant=\"fullWidth\" sx={{ mt: 1, mb: 4 }} />\r\n </Grid>\r\n\r\n <Container sx={{ width: \"90%\", mb: 2 }} className=\"contentWrapper\">\r\n <Grid\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n alignItems: \"center\",\r\n alignSelf: \"end\",\r\n }}\r\n >\r\n <Typography>Kullanıcı Adı</Typography>\r\n <TextField\r\n value={loginData.kullaniciAdi}\r\n inputProps={{ style: { padding: 13 } }}\r\n onChange={(e) =>\r\n setLoginData({ ...loginData, kullaniciAdi: e.target.value })\r\n }\r\n sx={{ width: \"65%\" }}\r\n onKeyDown={handleKeyDown}\r\n />\r\n </Grid>\r\n <br />\r\n <Grid\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n alignItems: \"center\",\r\n }}\r\n >\r\n <Typography>Şifre</Typography>\r\n <TextField\r\n sx={{ width: \"65%\" }}\r\n inputProps={{ style: { padding: 13 } }}\r\n type=\"password\"\r\n value={loginData.sifre}\r\n onChange={(e) =>\r\n setLoginData({ ...loginData, sifre: e.target.value })\r\n }\r\n onKeyDown={handleKeyDown}\r\n />\r\n </Grid>\r\n <br />\r\n <Button\r\n ref={buttonRef}\r\n onClick={() => {\r\n AuthService.login(loginData.kullaniciAdi, loginData.sifre).then(\r\n (res) => {\r\n if (res.success) {\r\n context.setUser(res.data);\r\n\r\n if (res?.data?.data?.params) {\r\n let params = JSON.parse(res.data.data.params);\r\n context.userParamsRef.current = params;\r\n }\r\n\r\n if (\r\n res.data.yetkiGrubuTipi === YETKI_GRUBU_TIPI.MUSTERI.Value\r\n ) {\r\n navigate(routes.talepveDanismanlikYonetimi.children.find(item => item.ekranKodu === EKRAN_KODU.MUSTERI_TALEP.value).path);\r\n // navigate(routes.musteriTalepleri.path);\r\n } else if (\r\n res.data.yetkiGrubuTipi ===\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value ||\r\n res.data.yetkiGrubuTipi === YETKI_GRUBU_TIPI.BAYI.Value ||\r\n res.data.yetkiGrubuTipi ===\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value\r\n ) {\r\n navigate(routes.talepveDanismanlikYonetimi.children.find(item => item.ekranKodu === EKRAN_KODU.ANASAYFA.value).path);\r\n } else {\r\n navigate(routes.gorevYonetimi.children.find(item => item.ekranKodu === EKRAN_KODU.GOREVLER.value).path);\r\n // navigate(routes.gorevler.path);\r\n }\r\n } else {\r\n setErrorMessage(res.message);\r\n }\r\n // console.log(res);\r\n }\r\n );\r\n }}\r\n sx={{ width: \"100%\", p: 1, mt: 1.5, fontSize: \"17px\" }}\r\n variant=\"contained\"\r\n color=\"primary\"\r\n startIcon={<LoginIcon />}\r\n >\r\n Giriş Yap\r\n </Button>\r\n </Container>\r\n </Paper>\r\n {errorMessage && (\r\n <Alert sx={{ mt: 5 }} variant=\"filled\" severity=\"error\">\r\n {errorMessage}\r\n </Alert>\r\n )}\r\n </Grid>\r\n );\r\n}\r\n","import { ID_WIDTH } from \"../common/entityconstants\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"Yetki No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n firstSort: \"asc\",\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"yetkiGrubuAdi\",\r\n label: \"Yetki Grubu Adı\",\r\n dataType: \"text\",\r\n dataField: \"yetkiGrubuAdi\",\r\n visible: [\"grid\"],\r\n },\r\n];\r\n\r\nexport default entity;\r\n","import Type from \"../../entities/Yetki\";\r\n\r\nconst PageConfig = {\r\n title: \"Yetkiler\",\r\n ekranKodu: \"Yetki_Res\",\r\n type: Type,\r\n listRoute: \"Yetki/YetkiGrubuList\",\r\n getByIdRoute: \"Yetki/GetById\",\r\n insertRoute: \"Yetki/Insert\",\r\n updateRoute: \"Yetki/Update\",\r\n deleteRoute: \"Yetki/Delete\",\r\n};\r\n\r\nexport default PageConfig;\r\n","import { ID_WIDTH } from \"../common/entityconstants\";\r\nimport { ekranAdiGetir } from \"../common/constant-functions/ekranAdiGetir\";\r\nimport { EKRAN_KODU } from \"../common/constants\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"Yetki Ekranı No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n firstSort: \"asc\",\r\n width: ID_WIDTH,\r\n allowEditing: false,\r\n },\r\n {\r\n name: \"ekranKodu\",\r\n label: \"Ekran Kodu\",\r\n dataType: \"text\",\r\n dataField: \"ekranKodu\",\r\n visible: [\"grid\"],\r\n allowEditing: false,\r\n },\r\n {\r\n name: \"ekranKodu2\",\r\n label: \"Ekran Adı\",\r\n dataType: \"text\",\r\n dataField: \"ekranKodu\",\r\n visible: [\"grid\"],\r\n cellRender: ({ value }) => (value = ekranAdiGetir(value)),\r\n allowEditing: false,\r\n },\r\n {\r\n name: \"yonlendir\",\r\n label: \"Yönlendir\",\r\n dataType: \"boolean\",\r\n dataField: \"yonlendir\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"teklifGoruntule\",\r\n label: \"Teklif Görüntüle\",\r\n dataType: \"boolean\",\r\n dataField: \"teklifGoruntule\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"goruntule\",\r\n label: \"Görüntüle\",\r\n dataType: \"boolean\",\r\n dataField: \"goruntule\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"kaydet\",\r\n label: \"Kaydet\",\r\n dataType: \"boolean\",\r\n dataField: \"kaydet\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"sil\",\r\n label: \"Sil\",\r\n dataType: \"boolean\",\r\n dataField: \"sil\",\r\n visible: [\"grid\"],\r\n },\r\n];\r\n\r\nexport default entity;\r\n","import { EKRAN_KODU } from \"../constants\";\r\n\r\nexport const ekranAdiGetir = (ekranAdi) => {\r\n for (const key in EKRAN_KODU) {\r\n if (EKRAN_KODU.hasOwnProperty(key) && EKRAN_KODU[key].value === ekranAdi) {\r\n return EKRAN_KODU[key].text;\r\n }\r\n }\r\n};\r\n","import React, { useContext, useState } from \"react\";\r\nimport DataGrid, {\r\n Column,\r\n Lookup,\r\n Scrolling,\r\n Paging,\r\n Editing,\r\n StateStoring,\r\n FilterRow,\r\n} from \"devextreme-react/data-grid\";\r\nimport { Grid, Paper, Stack } from \"@mui/material\";\r\nimport { Add } from \"@mui/icons-material\";\r\nimport \"../../css/PageGrid.css\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport GridClearButton from \"../buttons/custom/GridClearButton\";\r\nimport useGridState from \"../../hooks/use-grid-state\";\r\nimport SmallButton from \"../buttons/SmallButton\";\r\n\r\nexport default function EditablePageGrid({\r\n dataSource,\r\n entity,\r\n detailRef,\r\n isCreatable,\r\n ekranKodu,\r\n detailGridRef,\r\n gridId,\r\n filterRowRef,\r\n customFilterRef,\r\n}) {\r\n const id = gridId + \"_PageGrid\";\r\n const context = useContext(AppContext);\r\n\r\n const { saveState, loadState } = useGridState(entity, detailGridRef, id);\r\n\r\n // console.log(customFilterRef);\r\n\r\n return (\r\n <Paper sx={{ backgroundColor: \"transparent\" }}>\r\n <Stack\r\n direction=\"row\"\r\n sx={{\r\n mb: \"3px\",\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n alignItems: \"center\",\r\n }}\r\n spacing={1}\r\n >\r\n <Grid>\r\n {isCreatable &&\r\n context?.user?.yetkiler.find((x) => x.ekranKodu === ekranKodu)\r\n ?.kaydet ? (\r\n <SmallButton\r\n startIcon={<Add />}\r\n onClick={() => {\r\n detailRef?.current?.openRecord(null);\r\n }}\r\n >\r\n Ekle\r\n </SmallButton>\r\n ) : null}\r\n </Grid>\r\n <Grid>\r\n <GridClearButton gridRef={detailGridRef}></GridClearButton>\r\n </Grid>\r\n </Stack>\r\n\r\n <Grid variant=\"outlined\">\r\n <DataGrid\r\n id={id}\r\n dataSource={dataSource}\r\n showBorders={true}\r\n showRowLines={true}\r\n columnAutoWidth={true}\r\n remoteOperations={true}\r\n ref={detailGridRef}\r\n onToolbarPreparing={(e) => {\r\n e.toolbarOptions.visible = false;\r\n }}\r\n onSaving={(e) => {\r\n console.log(\"drid save: \", e);\r\n }}\r\n allowColumnReordering={true}\r\n allowColumnResizing={true}\r\n >\r\n <FilterRow\r\n visible={filterRowRef}\r\n showOperationChooser={false}\r\n applyFilter={customFilterRef}\r\n />\r\n <Paging enabled={false} />\r\n <Scrolling mode=\"standard\" />\r\n <StateStoring\r\n enabled={true}\r\n type=\"custom\"\r\n storageKey={id}\r\n customLoad={loadState}\r\n customSave={saveState}\r\n />\r\n <Editing\r\n mode=\"batch\"\r\n allowUpdating={true}\r\n allowAdding={false}\r\n allowDeleting={false}\r\n selectTextOnEditStart={true}\r\n startEditAction={\"click\"}\r\n />\r\n <Column\r\n type=\"buttons\"\r\n visibleIndex={0}\r\n fixed={true}\r\n fixedPosition={0}\r\n alignment={\"center\"}\r\n // visible={columnBtnVisible}\r\n ></Column>\r\n {entity\r\n .filter((type) => type.visible?.includes(\"grid\"))\r\n .map((i, index) => {\r\n return (\r\n <Column\r\n key={i.name}\r\n dataType={i.dataType}\r\n caption={i.label}\r\n dataField={i.dataField}\r\n name={i.name}\r\n visibleIndex={index}\r\n allowEditing={i.allowEditing}\r\n alignment={\r\n i.dataType === \"number\"\r\n ? \"right\"\r\n : i.dataType === \"boolean\"\r\n ? \"center\"\r\n : \"left\"\r\n }\r\n defaultSortOrder={i.firstSort ? i.firstSort : null}\r\n {...(i.defaultSortIndex && {\r\n defaultSortIndex: i.defaultSortIndex,\r\n })}\r\n width={i.width ? i.width : null}\r\n minWidth={i.minWidth ? i.minWidth : 50}\r\n format={i.format ? i.format : null}\r\n visible={i.pageGridHidden ? false : true}\r\n cellRender={i.cellRender ? i.cellRender : null}\r\n // {...(i.cellRender && { cellRender: i.cellRender })}\r\n >\r\n {i.dataType === \"select\" ? (\r\n <Lookup\r\n key={i.dataField + \"_lookup\"}\r\n dataSource={i.selectItems}\r\n displayExpr=\"Text\"\r\n valueExpr=\"Value\"\r\n ></Lookup>\r\n ) : null}\r\n </Column>\r\n );\r\n })}\r\n </DataGrid>\r\n </Grid>\r\n </Paper>\r\n );\r\n}\r\n","import { EKRAN_KODU } from \"../constants\";\r\n\r\nconst getEkranKoduArr = () => {\r\n return Object.keys(EKRAN_KODU).map((key) => {\r\n return EKRAN_KODU[key].value;\r\n });\r\n};\r\n\r\nexport { getEkranKoduArr };\r\n","import React, { useState } from \"react\";\r\nimport { AppContext } from \"../common/AppContext\";\r\nimport { HttpAuthorized } from \"../common/common\";\r\nimport { getEkranKoduArr } from \"../common/constant-functions/getEkranKoduArr\";\r\nimport { loadingVisible } from \"../common/constant-functions/loadingVisible\";\r\nimport { printToast } from \"../common/constant-functions/printToast\";\r\nimport { apiUrl } from \"../common/constants\";\r\nimport PageConfig from \"../pages/Yetki/YetkiConfig\";\r\nimport validateFormValues from \"../common/constant-functions/validateFormValues\";\r\n\r\nfunction useYetkiValues(ref, detailGridRef, listGridRef, ekranKodu) {\r\n const [open, setOpen] = useState(false);\r\n const [recId, setRecId] = useState(0);\r\n const [rowData, setRowData] = useState({});\r\n const [modalLoading, setModalLoading] = useState(true);\r\n\r\n React.useImperativeHandle(ref, () => ({\r\n setRecId: setRecId,\r\n recId: recId,\r\n openRecord: openRecord,\r\n }));\r\n\r\n const handleClose = () => {\r\n setOpen(false);\r\n setRecId(null);\r\n setRowData({});\r\n setModalLoading(true);\r\n };\r\n\r\n const dataSourceAyarla = (data) => {\r\n let tumEkranKodlari = getEkranKoduArr();\r\n\r\n let eklenecekEkranKodlari = tumEkranKodlari?.filter(\r\n (x) => !data?.yetkiEkranlari?.find((y) => y?.ekranKodu === x)\r\n );\r\n\r\n data?.yetkiEkranlari?.push(\r\n ...eklenecekEkranKodlari?.map((ekranKodu) => {\r\n return {\r\n ekranKodu: ekranKodu,\r\n goruntule: false,\r\n kaydet: false,\r\n sil: false,\r\n };\r\n })\r\n );\r\n\r\n return data;\r\n };\r\n\r\n async function fetchData(recId) {\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${PageConfig.getByIdRoute}`,\r\n data: {\r\n id: recId,\r\n },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n setRowData(dataSourceAyarla(res.data.data));\r\n setModalLoading(false);\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n });\r\n }\r\n\r\n async function insertOrUpdate(values) {\r\n loadingVisible(true);\r\n\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${\r\n values.id ? PageConfig.updateRoute : PageConfig.insertRoute\r\n }`,\r\n data: {\r\n ...values,\r\n },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n setRowData(dataSourceAyarla(res.data.data));\r\n listGridRef?.current?.instance?.refresh();\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n })\r\n .finally(() => loadingVisible(false));\r\n }\r\n\r\n async function handleDelete() {\r\n loadingVisible(true);\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${PageConfig.deleteRoute}`,\r\n data: { id: rowData.id },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n setRowData({});\r\n listGridRef?.current?.instance?.refresh();\r\n handleClose();\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n })\r\n .finally(() => loadingVisible(false));\r\n }\r\n\r\n function openRecord(recId) {\r\n if (recId > 0) {\r\n setRecId(recId);\r\n fetchData(recId);\r\n } else {\r\n setRecId(null);\r\n setRowData(dataSourceAyarla({ yetkiEkranlari: [] }));\r\n setModalLoading(false);\r\n }\r\n setOpen(true);\r\n }\r\n\r\n const handleSubmit = async (values) => {\r\n let gridData = detailGridRef.current.instance\r\n .getVisibleRows()\r\n .map((row) => row.data);\r\n\r\n values.yetkiEkranlari = gridData;\r\n await insertOrUpdate(values);\r\n };\r\n\r\n const context = React.useContext(AppContext);\r\n\r\n const yetki =\r\n context?.user?.yetkiler.find((x) => x.ekranKodu === ekranKodu) ?? {};\r\n\r\n return {\r\n rowData,\r\n setRowData,\r\n recId,\r\n setRecId,\r\n open,\r\n openRecord,\r\n handleClose,\r\n modalLoading,\r\n setModalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n };\r\n}\r\n\r\nexport default useYetkiValues;\r\n","import React, { useRef } from \"react\";\r\nimport { Grid } from \"@mui/material\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport entity from \"../../entities/YetkiEkrani\";\r\nimport EditablePageGrid from \"../../components/grid/EditablePageGrid\";\r\nimport useYetkiValues from \"../../hooks/use-yetki-values\";\r\nimport * as yup from \"yup\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport { YETKI_GRUBU_TIPI } from \"../../common/constants\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\n\r\nconst YetkiRecord = React.forwardRef(\r\n ({ ekranKodu, detailGridRef, listGridRef }, ref) => {\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n } = useYetkiValues(ref, detailGridRef, listGridRef, ekranKodu);\r\n\r\n const validationSchema = yup.object().shape({\r\n yetkiGrubuAdi: yup.string().required(),\r\n yetkiGrubuTipi: yup.string().required(),\r\n });\r\n\r\n // const [filterValue, setFilterValue] = useState(\"\");\r\n\r\n // const handleFilterChange = (e) => {\r\n // setFilterValue(e.value);\r\n // };\r\n\r\n // const customFilter = () => {\r\n // return [\"ekranKodu\", \"contains\", filterValue];\r\n // };\r\n\r\n const filterRef = useRef();\r\n const validate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Yetki\"\r\n maxWidth=\"lg\"\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <Grid\r\n item\r\n container\r\n direction=\"row\"\r\n columnSpacing={2}\r\n spacing={6}\r\n >\r\n <Grid item xs={12} sm={6} lg={4}>\r\n <FieldWrapper label=\"Yetki No\" modalLoading={modalLoading}>\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </FieldWrapper>\r\n </Grid>\r\n <Grid item xs={12} sm={6} lg={4}>\r\n <FieldWrapper\r\n label=\"Yetki Grubu Adı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"yetkiGrubuAdi\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n <Grid item xs={12} sm={6} lg={4}>\r\n <FieldWrapper\r\n label=\"Yetki Grubu Tipi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"yetkiGrubuTipi\"\r\n items={Object.values(YETKI_GRUBU_TIPI)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n </Grid>\r\n {/* <Grid sx={{ marginTop: 5 }}>\r\n <TextBox\r\n value={false}\r\n onValueChanged={handleFilterChange}\r\n placeholder=\"Filtreleme yapmak için bir değer girin\"\r\n ></TextBox>\r\n </Grid> */}\r\n <Grid sx={{ marginTop: 5 }}>\r\n {/* <TextBox\r\n value={filterValue}\r\n onValueChanged={handleFilterChange}\r\n placeholder=\"Filtreleme yapmak için bir değer girin\"\r\n /> */}\r\n <EditablePageGrid\r\n gridId=\"YetkiEkranlari\"\r\n dataSource={rowData.yetkiEkranlari}\r\n filterRef={filterRef}\r\n entity={entity}\r\n ekranKodu={ekranKodu}\r\n detailGridRef={detailGridRef}\r\n listGridRef={listGridRef}\r\n filterRowRef={true}\r\n // customFilterRef={customFilter}\r\n />\r\n </Grid>\r\n </DialogContentWrapper>\r\n\r\n <DialogActionsWrapper>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n deleteCondition={(rowData) =>\r\n rowData.id !== 1 && rowData.id !== 2 && rowData.id !== 3\r\n }\r\n modalLoading={modalLoading}\r\n />\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n );\r\n }\r\n);\r\nexport default YetkiRecord;\r\n","import { useRef } from \"react\";\r\nimport PageFilter from \"../../components/filter/PageFilter\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\nimport PageConfig from \"./YetkiConfig\";\r\nimport YetkiRecord from \"./YetkiRecord\";\r\n\r\nfunction Yetki({ ekranKodu }) {\r\n const listGridRef = useRef();\r\n const filterRef = useRef();\r\n const recordRef = useRef();\r\n const detailGridRef = useRef();\r\n\r\n return (\r\n <>\r\n <PageFilter\r\n PageConfig={PageConfig}\r\n ref={filterRef}\r\n listGridRef={listGridRef}\r\n />\r\n <PageGrid\r\n gridId=\"Yetki\"\r\n PageConfig={PageConfig}\r\n listGridRef={listGridRef}\r\n filterRef={filterRef}\r\n recordRef={recordRef}\r\n isCreatable\r\n ekranKodu={ekranKodu}\r\n />\r\n <YetkiRecord\r\n ref={recordRef}\r\n ekranKodu={ekranKodu}\r\n detailGridRef={detailGridRef}\r\n listGridRef={listGridRef}\r\n ></YetkiRecord>\r\n </>\r\n );\r\n}\r\n\r\nexport default Yetki;\r\n","import Type from \"../../entities/Yetki\";\r\n\r\nconst PageConfig = {\r\n title: \"KullaniciYetkiler\",\r\n ekranKodu: \"KullaniciYetki_Res\",\r\n type: Type,\r\n listRoute: \"KullaniciYetki/YetkiGrubuList\",\r\n getByIdRoute: \"KullaniciYetki/GetById\",\r\n insertRoute: \"KullaniciYetki/Insert\",\r\n updateRoute: \"KullaniciYetki/Update\",\r\n deleteRoute: \"KullaniciYetki/Delete\",\r\n};\r\n\r\nexport default PageConfig;\r\n","import React, { useState } from \"react\";\r\nimport { AppContext } from \"../common/AppContext\";\r\nimport { HttpAuthorized } from \"../common/common\";\r\nimport { getEkranKoduArr } from \"../common/constant-functions/getEkranKoduArr\";\r\nimport { loadingVisible } from \"../common/constant-functions/loadingVisible\";\r\nimport { printToast } from \"../common/constant-functions/printToast\";\r\nimport { apiUrl } from \"../common/constants\";\r\nimport PageConfig from \"../pages/KullaniciYetki/KullaniciYetkiConfig\";\r\nimport validateFormValues from \"../common/constant-functions/validateFormValues\";\r\n\r\nfunction useKullaniciYetkiValues(ref, detailGridRef, listGridRef, ekranKodu) {\r\n const [open, setOpen] = useState(false);\r\n const [recId, setRecId] = useState(0);\r\n const [rowData, setRowData] = useState({});\r\n const [modalLoading, setModalLoading] = useState(true);\r\n\r\n React.useImperativeHandle(ref, () => ({\r\n setRecId: setRecId,\r\n recId: recId,\r\n openRecord: openRecord,\r\n }));\r\n\r\n const handleClose = () => {\r\n setOpen(false);\r\n setRecId(null);\r\n setRowData({});\r\n setModalLoading(true);\r\n };\r\n\r\n const dataSourceAyarla = (data) => {\r\n let tumEkranKodlari = getEkranKoduArr();\r\n\r\n let eklenecekEkranKodlari = tumEkranKodlari?.filter(\r\n (x) => !data?.find((y) => y?.ekranKodu === x)\r\n );\r\n\r\n data?.push(\r\n ...eklenecekEkranKodlari?.map((ekranKodu) => {\r\n return {\r\n ekranKodu: ekranKodu,\r\n goruntule: false,\r\n kaydet: false,\r\n sil: false,\r\n };\r\n })\r\n );\r\n\r\n return data;\r\n };\r\n\r\n async function fetchData(recId) {\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${PageConfig.getByIdRoute}`,\r\n data: {\r\n id: recId,\r\n },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n setRowData(dataSourceAyarla(res.data.data));\r\n setModalLoading(false);\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n });\r\n }\r\n\r\n async function insertOrUpdate(values) {\r\n loadingVisible(true);\r\n\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${\r\n values.id ? PageConfig.updateRoute : PageConfig.insertRoute\r\n }`,\r\n data: {\r\n kullaniciid: recId,\r\n ...values,\r\n },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n setRowData(dataSourceAyarla(res.data.data));\r\n listGridRef?.current?.instance?.refresh();\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n })\r\n .finally(() => loadingVisible(false));\r\n }\r\n\r\n async function handleDelete() {\r\n loadingVisible(true);\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${PageConfig.deleteRoute}`,\r\n data: { id: recId },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n setRowData({});\r\n listGridRef?.current?.instance?.refresh();\r\n handleClose();\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n })\r\n .finally(() => loadingVisible(false));\r\n }\r\n\r\n function openRecord(recId) {\r\n if (recId > 0) {\r\n setRecId(recId);\r\n fetchData(recId);\r\n } else {\r\n setRecId(null);\r\n setRowData(dataSourceAyarla({ yetkiEkranlari: [] }));\r\n setModalLoading(false);\r\n }\r\n setOpen(true);\r\n }\r\n\r\n const handleSubmit = async (values) => {\r\n let gridData = detailGridRef.current.instance\r\n .getVisibleRows()\r\n .map((row) => row.data);\r\n\r\n values.yetkiEkranlari = gridData;\r\n\r\n await insertOrUpdate(values);\r\n // await insertOrUpdate(requestDataList);\r\n };\r\n\r\n const context = React.useContext(AppContext);\r\n\r\n const yetki =\r\n context?.user?.yetkiler.find((x) => x.ekranKodu === ekranKodu) ?? {};\r\n\r\n return {\r\n rowData,\r\n setRowData,\r\n recId,\r\n setRecId,\r\n open,\r\n openRecord,\r\n handleClose,\r\n modalLoading,\r\n setModalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n };\r\n}\r\n\r\nexport default useKullaniciYetkiValues;\r\n","import React, { useRef } from \"react\";\r\nimport { Grid } from \"@mui/material\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport entity from \"../../entities/YetkiEkrani\";\r\nimport EditablePageGrid from \"../../components/grid/EditablePageGrid\";\r\nimport useYetkiValues from \"../../hooks/use-yetki-values\";\r\nimport * as yup from \"yup\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport { YETKI_GRUBU_TIPI } from \"../../common/constants\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport useKullaniciYetkiValues from \"../../hooks/use-kullanici-yetki-values\";\r\n\r\nconst KullaniciYetkiRecord = React.forwardRef(\r\n ({ ekranKodu, detailGridRef, listGridRef }, ref) => {\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n } = useKullaniciYetkiValues(ref, detailGridRef, listGridRef, ekranKodu);\r\n\r\n const validationSchema = yup.object().shape({\r\n // yetkiGrubuAdi: yup.string().required(),\r\n // yetkiGrubuTipi: yup.string().required(),\r\n });\r\n\r\n // const [filterValue, setFilterValue] = useState(\"\");\r\n\r\n // const handleFilterChange = (e) => {\r\n // setFilterValue(e.value);\r\n // };\r\n\r\n // const customFilter = () => {\r\n // return [\"ekranKodu\", \"contains\", filterValue];\r\n // };\r\n\r\n console.log(ekranKodu, \"ekranKodu\");\r\n console.log(yetki, \"yetki\");\r\n\r\n const filterRef = useRef();\r\n const validate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Yetki\"\r\n maxWidth=\"lg\"\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n {/* <Grid\r\n item\r\n container\r\n direction=\"row\"\r\n columnSpacing={2}\r\n spacing={6}\r\n >\r\n <Grid item xs={12} sm={6} lg={4}>\r\n <FieldWrapper label=\"Yetki No\" modalLoading={modalLoading}>\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </FieldWrapper>\r\n </Grid>\r\n <Grid item xs={12} sm={6} lg={4}>\r\n <FieldWrapper\r\n label=\"Yetki Grubu Adı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"yetkiGrubuAdi\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n <Grid item xs={12} sm={6} lg={4}>\r\n <FieldWrapper\r\n label=\"Yetki Grubu Tipi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"yetkiGrubuTipi\"\r\n items={Object.values(YETKI_GRUBU_TIPI)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n </Grid> */}\r\n {/* <Grid sx={{ marginTop: 5 }}>\r\n <TextBox\r\n value={false}\r\n onValueChanged={handleFilterChange}\r\n placeholder=\"Filtreleme yapmak için bir değer girin\"\r\n ></TextBox>\r\n </Grid> */}\r\n <Grid sx={{ marginTop: 5 }}>\r\n {/* <TextBox\r\n value={filterValue}\r\n onValueChanged={handleFilterChange}\r\n placeholder=\"Filtreleme yapmak için bir değer girin\"\r\n /> */}\r\n <EditablePageGrid\r\n gridId=\"KullaniciYetkiEkranlari\"\r\n dataSource={rowData}\r\n filterRef={filterRef}\r\n entity={entity}\r\n ekranKodu={ekranKodu}\r\n detailGridRef={detailGridRef}\r\n listGridRef={listGridRef}\r\n filterRowRef={true}\r\n // customFilterRef={customFilter}\r\n />\r\n </Grid>\r\n </DialogContentWrapper>\r\n\r\n <DialogActionsWrapper>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n deleteCondition={(rowData) =>\r\n rowData.id !== 1 && rowData.id !== 2 && rowData.id !== 3\r\n }\r\n modalLoading={modalLoading}\r\n />\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n );\r\n }\r\n);\r\nexport default KullaniciYetkiRecord;\r\n","import React from \"react\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport RichTextEditor from \"../../components/inputs/form-inputs/RichTextEditor\";\r\nimport useFetchDialog from \"../../hooks/use-fetch-dialog\";\r\nimport useSubmit from \"../../hooks/use-submit\";\r\nimport CancelButton from \"../../components/buttons/custom/CancelButton\";\r\nimport SaveButton from \"../../components/buttons/custom/SaveButton\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport CheckboxForm from \"../../components/inputs/form-inputs/CheckboxForm\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\n\r\nconst CustomFieldWrapper = ({ label, modalLoading, children }) => {\r\n return (\r\n <FieldWrapper\r\n label={label}\r\n modalLoading={modalLoading}\r\n width={\"25%\"}\r\n textWidth={\"75%\"}\r\n >\r\n {children}\r\n </FieldWrapper>\r\n );\r\n};\r\n\r\nconst KullaniciParametreleriDialog = React.forwardRef(\r\n ({ ekranKodu, isEditable, setRowDataFnc, listGridRef }, ref) => {\r\n const { open, closeRecord, modalLoading, rowData, setRowData } =\r\n useFetchDialog(ref, \"KullaniciParametreleri/GetById\");\r\n\r\n // const afterSubmitFnc = (res) => {\r\n // setRowDataFnc((prevState) => {\r\n // return {\r\n // ...prevState,\r\n // // temsilciAnalizi: res?.data?.data?.temsilciAnalizi,\r\n // // talepDurumu: res?.data?.data?.talepDurumu,\r\n // };\r\n // });\r\n // };\r\n\r\n const handleSubmit = useSubmit(\r\n { updateRoute: \"KullaniciParametreleri/Insert\" },\r\n setRowData,\r\n listGridRef,\r\n // afterSubmitFnc\r\n );\r\n\r\n return (\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"Kullanıcı Parametreleri\"\r\n maxWidth=\"sm\"\r\n fullWidth={true}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n //validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <CustomFieldWrapper\r\n label=\"Teklifte Birim Fiyat Değiştirebilir\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"teklifteBirimFiyatDegistirebilir\"\r\n component={CheckboxForm}\r\n readOnly={!isEditable}\r\n modalLoading={modalLoading}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Talep Teklifleri Mail Olarak Gönderilsin\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"talepTeklifleriGonderilsin\"\r\n component={CheckboxForm}\r\n readOnly={!isEditable}\r\n modalLoading={modalLoading}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Talepleri Kontrol Etsin\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"talepleriKontrolEtsin\"\r\n component={CheckboxForm}\r\n readOnly={!isEditable}\r\n modalLoading={modalLoading}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Tüm Tekliflerin Bilgilerini Değiştirebilir\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"tumTekliflerinBilgileriniDegistirebilir\"\r\n component={CheckboxForm}\r\n readOnly={!isEditable}\r\n modalLoading={modalLoading}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Danışman\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"danisman\"\r\n component={CheckboxForm}\r\n readOnly={!isEditable}\r\n modalLoading={modalLoading}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Görüşme Ataması Yapabilir\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"gorusmeAtamasiYapabilir\"\r\n component={CheckboxForm}\r\n readOnly={!isEditable}\r\n modalLoading={modalLoading}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Hata ve Sorgu Tipli Talepleri Yönlendirebilir\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"hataVeSorguTipliTalepleriYonlendirebilir\"\r\n component={CheckboxForm}\r\n readOnly={!isEditable}\r\n modalLoading={modalLoading}\r\n />\r\n </CustomFieldWrapper>\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n {isEditable && (\r\n <SaveButton\r\n onClick={(e) => {\r\n form.submit().then(() => {\r\n closeRecord();\r\n });\r\n }}\r\n />\r\n )}\r\n {isEditable && (\r\n <CancelButton\r\n onClick={() => {\r\n form.reset();\r\n }}\r\n disabled={submitting || pristine}\r\n />\r\n )}\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n );\r\n }\r\n);\r\n\r\nexport default KullaniciParametreleriDialog;\r\n","import React, { useRef, useContext } from \"react\";\r\nimport { Stack } from \"@mui/material\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport PageConfig from \"./KullaniciConfig\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport * as yup from \"yup\";\r\nimport PasswordInputForm from \"../../components/inputs/form-inputs/PasswordInputForm\";\r\nimport YetkiGrubuInputForm from \"../../components/inputs/custom-form-inputs/YetkiGrubuInputForm\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport CheckboxForm from \"../../components/inputs/form-inputs/CheckboxForm\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport { YETKI_GRUBU_TIPI } from \"../../common/constants\";\r\nimport CustomColoredButton from \"../../components/buttons/custom/CustomColoredButton\";\r\nimport KullaniciYetkiRecord from \"../KullaniciYetki/KullaniciYetkiRecord\";\r\nimport PopoverButton from \"../../components/buttons/PopoverButton\";\r\nimport KullaniciParametreleriDialog from \"./KullaniciParametreleriDialog\";\r\n\r\nconst CustomFieldWrapper = ({ label, modalLoading, children }) => {\r\n return (\r\n <FieldWrapper\r\n label={label}\r\n modalLoading={modalLoading}\r\n width={\"75%\"}\r\n textWidth={\"25%\"}\r\n >\r\n {children}\r\n </FieldWrapper>\r\n );\r\n};\r\n\r\nconst KullaniciRecord = React.forwardRef(({ ekranKodu, listGridRef }, ref) => {\r\n const context = useContext(AppContext);\r\n var initialState = { aktif: true, aktifKullaniciBayiKullanicisi: false };\r\n\r\n if (\r\n context.user.yetkiGrubuTipi == YETKI_GRUBU_TIPI.BAYI_DESTEK.Value ||\r\n context.user.yetkiGrubuTipi == YETKI_GRUBU_TIPI.BAYI.Value\r\n ) {\r\n initialState = {\r\n ...initialState,\r\n aktifKullaniciBayiKullanicisi: true,\r\n };\r\n }\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n } = usePageRecord(ref, PageConfig, listGridRef, ekranKodu, initialState);\r\n\r\n const yetkiGrubuInputRef = useRef();\r\n const kullaniciYetkileriDialogRef = useRef();\r\n const detailGridRef = useRef();\r\n const kullaniciParametreleriDialogRef = useRef();\r\n\r\n const validationSchema = yup.object().shape({\r\n sirketId: yup.number().required(),\r\n kullaniciAdi: yup.string().required(),\r\n sifre: yup.string().required(),\r\n isim: yup.string().required(),\r\n soyisim: yup.string().required(),\r\n yetkiGrubuId: yup.number().when(\"aktifKullaniciBayiKullanicisi\", {\r\n is: true,\r\n then: yup.number().nullable(),\r\n otherwise: yup.number().required(),\r\n }),\r\n // yetkiGrubuId: yup.number().required(),\r\n eMail: yup.string().email().nullable(),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Yeni Kullanıcı\"\r\n maxWidth=\"sm\"\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <Stack direction=\"column\" spacing={1}>\r\n <CustomFieldWrapper\r\n label=\"Kullanıcı No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </CustomFieldWrapper>\r\n\r\n <CustomFieldWrapper\r\n label=\"İlişkili Müşteri Adı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"sirketId\"\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute: \"Sirket/ListForSelect\",\r\n fildsForText: [\"sirketAdi\"],\r\n fieldForValue: \"id\",\r\n reqData: {},\r\n fieldLabel: \"sirketAdi\",\r\n }}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n\r\n <CustomFieldWrapper\r\n label=\"Kullanıcı Adı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"kullaniciAdi\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n\r\n <CustomFieldWrapper label=\"Şifre\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"sifre\"\r\n component={PasswordInputForm}\r\n readOnly={!yetki.kaydet}\r\n sifreGorebilir={yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n\r\n <CustomFieldWrapper label=\"Email\" modalLoading={modalLoading}>\r\n <Field\r\n type=\"email\"\r\n name=\"eMail\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n\r\n <CustomFieldWrapper\r\n label=\"Telefon No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n type=\"tel\"\r\n name=\"telefonNo\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n\r\n <CustomFieldWrapper label=\"İsim\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"isim\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n\r\n <CustomFieldWrapper\r\n label=\"Soyisim\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"soyisim\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n {context.user.yetkiGrubuTipi !==\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value &&\r\n context.user.yetkiGrubuTipi !==\r\n YETKI_GRUBU_TIPI.BAYI.Value && (\r\n <CustomFieldWrapper\r\n label=\"Yetki Grubu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"yetkiGrubuId\"\r\n rowData={rowData}\r\n component={YetkiGrubuInputForm}\r\n inputRef={yetkiGrubuInputRef}\r\n ekranKodu={ekranKodu}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n )}\r\n\r\n <CustomFieldWrapper label=\"Aktif\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"aktif\"\r\n component={CheckboxForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n </Stack>\r\n </DialogContentWrapper>\r\n {/* <DialogActionsWrapper>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogActionsWrapper> */}\r\n <DialogActionsWrapper\r\n sx={{\r\n justifyContent: \"space-between\",\r\n }}\r\n >\r\n <PopoverButton\r\n label=\"Kullanıcı İşlemleri\"\r\n backColor=\"#7272cc\"\r\n hoverBackColor=\"#3232a8\"\r\n >\r\n <CustomColoredButton\r\n // startIcon={<WorkOutlineIcon />}\r\n onClick={(e) => {\r\n kullaniciYetkileriDialogRef?.current?.openRecord(\r\n rowData.id\r\n );\r\n }}\r\n color=\"purple\"\r\n disabled={!rowData?.id}\r\n >\r\n Kullanıcıya Özel Ekranlar\r\n </CustomColoredButton>\r\n <CustomColoredButton\r\n // startIcon={<WorkOutlineIcon />}\r\n onClick={(e) => {\r\n kullaniciParametreleriDialogRef?.current?.openRecord(\r\n rowData.id\r\n );\r\n }}\r\n color=\"green\"\r\n disabled={!rowData?.id}\r\n >\r\n Kullanıcı Parametreleri\r\n </CustomColoredButton>\r\n </PopoverButton>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n <KullaniciYetkiRecord\r\n ekranKodu={ekranKodu}\r\n ref={kullaniciYetkileriDialogRef}\r\n detailGridRef={detailGridRef}\r\n ></KullaniciYetkiRecord>\r\n <KullaniciParametreleriDialog\r\n ref={kullaniciParametreleriDialogRef}\r\n ekranKodu={ekranKodu}\r\n isEditable={true}\r\n listGridRef={listGridRef}\r\n ></KullaniciParametreleriDialog>\r\n </>\r\n );\r\n});\r\nexport default KullaniciRecord;\r\n","import { useRef } from \"react\";\r\nimport PageFilter from \"../../components/filter/PageFilter\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\nimport PageConfig from \"./KullaniciConfig\";\r\nimport KullaniciRecord from \"./KullaniciRecord\";\r\n\r\nconst Kullanici = ({ ekranKodu }) => {\r\n const listGridRef = useRef();\r\n const filterRef = useRef();\r\n const recordRef = useRef();\r\n\r\n return (\r\n <>\r\n <PageFilter\r\n PageConfig={PageConfig}\r\n ref={filterRef}\r\n listGridRef={listGridRef}\r\n />\r\n <PageGrid\r\n gridId=\"Kullanici\"\r\n PageConfig={PageConfig}\r\n listGridRef={listGridRef}\r\n filterRef={filterRef}\r\n recordRef={recordRef}\r\n isCreatable\r\n ekranKodu={ekranKodu}\r\n />\r\n <KullaniciRecord\r\n ref={recordRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n ></KullaniciRecord>\r\n </>\r\n );\r\n};\r\n\r\nexport default Kullanici;\r\n","import Type from \"../../entities/YazilimsalDestek\";\r\n\r\nconst PageConfig = {\r\n title: \"Yazılımsal Destek Geçmişi\",\r\n ekranKodu: \"Destek_Gecmisi_Res\",\r\n type: Type,\r\n listRoute: \"Destek/YazilimsalDestekList\",\r\n};\r\n\r\nexport default PageConfig;\r\n","import { parseHtmlString } from \"../common/constant-functions/parseHtmlString\";\r\nimport { ID_WIDTH } from \"../common/entityconstants\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n firstSort: \"desc\",\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"isSonucu\",\r\n label: \"İş Sonucu\",\r\n dataType: \"text\",\r\n dataField: \"isSonucu\",\r\n visible: [\"grid\"],\r\n customizeText: (e) => e?.value && parseHtmlString(e?.value),\r\n },\r\n {\r\n name: \"harcananSure\",\r\n label: \"Harcanan Süre(dk)\",\r\n dataType: \"number\",\r\n dataField: \"harcananSure\",\r\n visible: [\"grid\"],\r\n },\r\n];\r\n\r\nexport default entity;\r\n\r\n//destek geçmişi : yazılımsal destek\r\n","import Type from \"../../entities/GenelDestek\";\r\n\r\nconst PageConfig = {\r\n title: \"Genel Destek Geçmişleri\",\r\n ekranKodu: \"Destek_Gecmisi_Res\",\r\n type: Type,\r\n listRoute: \"Destek/GenelDestekList\",\r\n};\r\n\r\nexport default PageConfig;\r\n","import {\r\n AY,\r\n DATE_FORMAT,\r\n DESTEK_ISLEM_TURU,\r\n TUTAR_FORMAT,\r\n} from \"../common/constants\";\r\nimport dayjs from \"dayjs\";\r\nimport { parseHtmlString } from \"../common/constant-functions/parseHtmlString\";\r\nimport { DATE_WIDTH, ID_WIDTH } from \"../common/entityconstants\";\r\nimport fillYearForSelect from \"../common/constant-functions/fillYearForSelect\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n firstSort: \"desc\",\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"tarih\",\r\n label: \"Danışmanlık Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"tarih\",\r\n visible: [\"grid\"],\r\n format: DATE_FORMAT,\r\n width: DATE_WIDTH,\r\n },\r\n {\r\n name: \"aciklama\",\r\n label: \"Hizmet Açıklaması\",\r\n dataType: \"text\",\r\n dataField: \"aciklama\",\r\n visible: [\"grid\"],\r\n customizeText: (e) => e?.value && parseHtmlString(e?.value),\r\n },\r\n {\r\n name: \"destekSuresi\",\r\n label: \"Süre (Dakika)\",\r\n dataType: \"text\",\r\n dataField: \"destekSuresi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"destekVerenIdStr\",\r\n label: \"Danışmanlık Veren Kişi\",\r\n dataType: \"text\",\r\n dataField: \"destekVerenIdStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"destekAlanIdStr\",\r\n label: \"Danışmanlık Verilen Kişi\",\r\n dataType: \"text\",\r\n dataField: \"destekAlanIdStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"islemTuru\",\r\n label: \"İşlem Türü\",\r\n dataType: \"select\",\r\n dataField: \"islemTuru\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(DESTEK_ISLEM_TURU),\r\n },\r\n {\r\n name: \"yolUcreti\",\r\n label: \"Yol Ücreti\",\r\n dataType: \"number\",\r\n dataField: \"yolUcreti\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"yemekUcreti\",\r\n label: \"Yemek Ücreti\",\r\n dataType: \"number\",\r\n dataField: \"yemekUcreti\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"konaklamaUcreti\",\r\n label: \"Konaklama Ücreti\",\r\n dataType: \"number\",\r\n dataField: \"konaklamaUcreti\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"km\",\r\n label: \"Km\",\r\n dataType: \"number\",\r\n dataField: \"km\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n //todo------------- FİLTRE---------------------------\r\n {\r\n name: \"ay\",\r\n label: \"Ay\",\r\n dataType: \"select\",\r\n dataField: \"ay\",\r\n visible: [\"filter\"],\r\n items: AY,\r\n defaultValue: dayjs().month() + 1,\r\n notSort: true\r\n },\r\n {\r\n name: \"yil\",\r\n label: \"Yıl\",\r\n dataType: \"select\",\r\n dataField: \"yil\",\r\n visible: [\"filter\"],\r\n items: fillYearForSelect(),\r\n defaultValue: dayjs().year(),\r\n },\r\n];\r\n\r\nexport default entity;\r\n\r\n//destek geçmişi : genel destek\r\n","import React, { useRef } from \"react\";\r\nimport PageFilter from \"../../components/filter/PageFilter\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\nimport MainTab from \"../../components/tab/MainTab\";\r\nimport YazilimsalDestekPageConfig from \"./YazilimsalDestekConfig\";\r\nimport GenelDestekPageConfig from \"./GenelDestekConfig\";\r\nimport DestekSuresiDialog from \"./DestekSuresiDialog\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport DestekSuresiDurumuButton from \"../../components/buttons/custom/DestekSuresiDurumuButton\";\r\n\r\nexport default function DestekGecmisi({ ekranKodu }) {\r\n const yazilimsalistGridRef = useRef();\r\n const genelListGridRef = useRef();\r\n const filterRef = useRef();\r\n\r\n //const recordRef = useRef();\r\n const destekSuresiDialogRef = useRef();\r\n const context = React.useContext(AppContext);\r\n\r\n function DestekSuresiDurumuBtn() {\r\n return (\r\n <DestekSuresiDurumuButton\r\n onClick={() => {\r\n destekSuresiDialogRef?.current?.openRecord(context.user.sirketId);\r\n }}\r\n />\r\n );\r\n }\r\n return (\r\n <>\r\n <MainTab labels={[\"Genel Danışmanlık\", \"Yazılımsal Geliştirme\"]}>\r\n {/* geneldesteksekmesi */}\r\n <>\r\n <PageFilter\r\n PageConfig={GenelDestekPageConfig}\r\n ref={filterRef}\r\n listGridRef={genelListGridRef}\r\n />\r\n <PageGrid\r\n gridId=\"DestekGecmisi\"\r\n PageConfig={GenelDestekPageConfig}\r\n listGridRef={genelListGridRef}\r\n filterRef={filterRef}\r\n // recordRef={recordRef}\r\n isCreatable={false}\r\n ekranKodu={ekranKodu}\r\n columnBtnVisible={false}\r\n CustomGridHeaderButton={DestekSuresiDurumuBtn}\r\n hasTab={true}\r\n />\r\n </>\r\n\r\n {/* yazilimsaldesteksekmesi */}\r\n <PageGrid\r\n PageConfig={YazilimsalDestekPageConfig}\r\n listGridRef={yazilimsalistGridRef}\r\n // filterRef={filterRef}\r\n // recordRef={recordRef}\r\n isCreatable={false}\r\n ekranKodu={ekranKodu}\r\n columnBtnVisible={false}\r\n />\r\n </MainTab>\r\n <DestekSuresiDialog\r\n ref={destekSuresiDialogRef}\r\n filterRef={filterRef}\r\n ></DestekSuresiDialog>\r\n </>\r\n );\r\n}\r\n","import dayjs from \"dayjs\";\r\nimport {\r\n AY,\r\n TAHSILAT_DURUMU,\r\n TAHSILAT_DURUMU_INT,\r\n TUTAR_FORMAT,\r\n} from \"../common/constants\";\r\nimport SirketInputForm from \"../components/inputs/custom-form-inputs/SirketInputForm\";\r\n\r\nconst entity = [\r\n {\r\n name: \"tahsilEdildi\",\r\n label: \"Tahsil Edildi\",\r\n dataType: \"boolean\",\r\n dataField: \"tahsilEdildi\",\r\n visible: [\"grid\"],\r\n allowEditing: true,\r\n },\r\n // //todo bu destek tablosuna eklenecek mi\r\n // {\r\n // name: \"tahsilEdilenTutar\",\r\n // label: \"Tahsil Edilen Tutar\",\r\n // dataType: \"number\",\r\n // dataField: \"tahsilEdilenTutar\",\r\n // visible: [\"grid\"],\r\n // format: TUTAR_FORMAT,\r\n // allowEditing: true,\r\n // },\r\n {\r\n name: \"sirketAdi\",\r\n label: \"Firma Adı\",\r\n dataType: \"text\",\r\n dataField: \"sirketAdi\",\r\n visible: [\"grid\"],\r\n firstSort: \"asc\",\r\n },\r\n\r\n {\r\n name: \"destekAy\",\r\n label: \"Destek Ayı\",\r\n dataType: \"select\",\r\n dataField: \"destekAy\",\r\n visible: [\"grid\"],\r\n selectItems: AY,\r\n notSort: true\r\n },\r\n {\r\n name: \"anlasilanSure\",\r\n label: \"Standart Süre (Dakika)\",\r\n dataType: \"number\",\r\n dataField: \"anlasilanSure\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"aylikAnlasilanStandartUcret\",\r\n label: \"Anlaşılan Ücret\",\r\n dataType: \"number\",\r\n dataField: \"aylikAnlasilanStandartUcret\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"sureAsimi\",\r\n label: \"Süre Aşımı (Dakika)\",\r\n dataType: \"number\",\r\n dataField: \"sureAsimi\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"asimUcreti\",\r\n label: \"Aşım Ücreti\",\r\n dataType: \"number\",\r\n dataField: \"asimUcreti\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"km\",\r\n label: \"Km\",\r\n dataType: \"number\",\r\n dataField: \"km\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"yolUcreti\",\r\n label: \"Yol Ücreti\",\r\n dataType: \"number\",\r\n dataField: \"yolUcreti\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"konaklamaUcreti\",\r\n label: \"Konaklama Ücreti\",\r\n dataType: \"number\",\r\n dataField: \"konaklamaUcreti\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"yemekUcreti\",\r\n label: \"Yemek Ücreti\",\r\n dataType: \"number\",\r\n dataField: \"yemekUcreti\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"toplamTutar\",\r\n label: \"Toplam Tahsilat Tutarı\",\r\n dataType: \"number\",\r\n dataField: \"toplamTutar\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n column: \"aylikAnlasilanStandartUcret\",\r\n // showInColumn: \"aylikAnlasilanStandartUcret\",\r\n summaryType: \"sum\",\r\n valueFormat: TUTAR_FORMAT,\r\n displayFormat: \"Toplam Anlaşılan Ücret: {0}\",\r\n visible: [\"summary\"],\r\n },\r\n {\r\n column: \"asimUcreti\",\r\n // showInColumn: \"asimUcreti\",\r\n summaryType: \"sum\",\r\n valueFormat: TUTAR_FORMAT,\r\n // customizeText: (data) => {\r\n // return `Toplam Aşım Ücreti: ${data.value}`;\r\n // },\r\n displayFormat: \"Toplam Aşım Ücreti: {0}\",\r\n visible: [\"summary\"],\r\n },\r\n {\r\n column: \"toplamTutar\",\r\n summaryType: \"sum\",\r\n valueFormat: TUTAR_FORMAT,\r\n displayFormat: \"Toplam: {0}\",\r\n visible: [\"summary\"],\r\n },\r\n //todo filtre------------------\r\n // {\r\n // name: \"sirketAdi\",\r\n // label: \"Firma\",\r\n // dataType: \"text\",\r\n // dataField: \"sirketAdi\",\r\n // visible: [\"filter\"],\r\n // },\r\n {\r\n name: \"sirketId\",\r\n label: \"Firma\",\r\n dataType: \"custom\",\r\n dataField: \"sirketId\",\r\n visible: [\"filter\"],\r\n customComponent: SirketInputForm,\r\n customComponentParams: {},\r\n },\r\n {\r\n name: \"ay\",\r\n label: \"Ay\",\r\n dataType: \"select\",\r\n dataField: \"ay\",\r\n visible: [\"filter\"],\r\n items: AY,\r\n defaultValue: dayjs().month() + 1,\r\n notSort: true\r\n },\r\n {\r\n name: \"tahsilEdildi\",\r\n label: \"Tahsilat Durumu\",\r\n dataType: \"select\",\r\n dataField: \"tahsilEdildi\",\r\n visible: [\"filter\"],\r\n items: Object.values(TAHSILAT_DURUMU),\r\n defaultValue: TAHSILAT_DURUMU.TAHSILAT_YAPILMADI.Value,\r\n },\r\n];\r\n\r\nexport default entity;\r\n","import styled from \"@emotion/styled\";\r\nimport { DialogActions, DialogContent } from \"@mui/material\";\r\nimport React from \"react\";\r\nimport useDialog from \"../../hooks/use-dialog\";\r\nimport ScrollDialog from \"../dialogs/ScrollDialog\";\r\nimport PageReport from \"./PageReport\";\r\n\r\nconst CustomPdfDialog = styled(ScrollDialog)(({ theme }) => ({\r\n \"& .MuiDialog-paper\": {\r\n // width: \"21cm\",\r\n // height: \"29.7cm\",\r\n height: \"100vh\",\r\n },\r\n}));\r\n\r\nconst PdfDialog = React.forwardRef(\r\n ({ title, url, base64, actionButtons }, ref) => {\r\n const { open, closeRecord, showActionButtons, data } = useDialog(ref);\r\n return (\r\n <CustomPdfDialog\r\n maxWidth=\"md\"\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle={title}\r\n canFullScreen={false}\r\n >\r\n <DialogContent id=\"dialog-content\">\r\n <PageReport base64={base64} url={url} requestData={ data } />\r\n </DialogContent>\r\n {showActionButtons && <DialogActions>{actionButtons}</DialogActions>}\r\n </CustomPdfDialog>\r\n );\r\n }\r\n);\r\n\r\nexport default PdfDialog;\r\n","import { parseHtmlString } from \"../common/constant-functions/parseHtmlString\";\r\nimport {\r\n EVET_HAYIR,\r\n TAHSILAT_DURUMU_INT,\r\n TUTAR_FORMAT,\r\n YETKI_GRUBU_TIPI,\r\n} from \"../common/constants\";\r\nimport { LONG_DATE_WIDTH } from \"../common/entityconstants\";\r\nimport BayilerInputForm from \"../components/inputs/custom-form-inputs/BayilerInputForm\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"Talep No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n firstSort: \"desc\",\r\n width: \"100px\",\r\n },\r\n {\r\n name: \"bayidenTahsilEdildi\",\r\n label: \"Tahsil Edildi\",\r\n dataType: \"boolean\",\r\n dataField: \"bayidenTahsilEdildi\",\r\n visible: [\"grid\"],\r\n allowEditing: true,\r\n visibleConditions: [\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: \"tahsilEdildi\",\r\n label: \"Tahsil Edildi\",\r\n dataType: \"boolean\",\r\n dataField: \"tahsilEdildi\",\r\n visible: [\"grid\"],\r\n allowEditing: true,\r\n visibleConditions: [\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value,\r\n YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: \"tahsilEdilenTutar\",\r\n label: \"Tahsil Edilen Tutar\",\r\n dataType: \"number\",\r\n dataField: \"tahsilEdilenTutar\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n allowEditing: true,\r\n visibleConditions: [\r\n {\r\n isTeklifGoruntule: true,\r\n },\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value,\r\n YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: \"bayidenTahsilEdilenTutar\",\r\n label: \"Tahsil Edilen Tutar\",\r\n dataType: \"number\",\r\n dataField: \"bayidenTahsilEdilenTutar\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n allowEditing: true,\r\n visibleConditions: [\r\n {\r\n isTeklifGoruntule: true,\r\n },\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n column: \"tahsilEdilenTutar\",\r\n summaryType: \"sum\",\r\n valueFormat: TUTAR_FORMAT,\r\n displayFormat: \"Toplam Tahsil Edilen Tutar: {0}\",\r\n visible: [\"summary\"],\r\n visibleConditions: [\r\n {\r\n isTeklifGoruntule: true,\r\n },\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value,\r\n YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n column: \"bayidenTahsilEdilenTutar\",\r\n summaryType: \"sum\",\r\n valueFormat: TUTAR_FORMAT,\r\n displayFormat: \"Toplam Tahsil Edilen Tutar: {0}\",\r\n visible: [\"summary\"],\r\n visibleConditions: [\r\n {\r\n isTeklifGoruntule: true,\r\n },\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: \"sirketAdi\",\r\n label: \"Firma Adı\",\r\n dataType: \"text\",\r\n dataField: \"sirketAdi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"analizSonucu\",\r\n label: \"Analiz Sonucu\",\r\n dataType: \"text\",\r\n dataField: \"analizSonucu\",\r\n visible: [\"grid\"],\r\n customizeText: (e) => e?.value && parseHtmlString(e?.value),\r\n width: \"400px\",\r\n },\r\n {\r\n name: \"isSonucu\",\r\n label: \"İş Sonucu\",\r\n dataType: \"text\",\r\n dataField: \"isSonucu\",\r\n visible: [\"grid\"],\r\n customizeText: (e) => e?.value && parseHtmlString(e?.value),\r\n width: \"400px\",\r\n },\r\n {\r\n name: \"teklifTutari\",\r\n label: \"Teklif Tutarı\",\r\n dataType: \"number\",\r\n dataField: \"teklifTutari\",\r\n visible: [\"grid\"],\r\n visibleConditions: [\r\n {\r\n isTeklifGoruntule: true,\r\n },\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value,\r\n YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value,\r\n ],\r\n },\r\n ],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"bayiTeklifTutari\",\r\n label: \"Teklif Tutarı\",\r\n dataType: \"number\",\r\n dataField: \"bayiTeklifTutari\",\r\n visible: [\"grid\"],\r\n visibleConditions: [\r\n {\r\n isTeklifGoruntule: true,\r\n },\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n ],\r\n },\r\n ],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n column: \"teklifTutari\",\r\n summaryType: \"sum\",\r\n valueFormat: TUTAR_FORMAT,\r\n displayFormat: \"Toplam Teklif Tutarı: {0}\",\r\n visible: [\"summary\"],\r\n visibleConditions: [\r\n {\r\n isTeklifGoruntule: true,\r\n },\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value,\r\n YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n column: \"bayiTeklifTutari\",\r\n summaryType: \"sum\",\r\n valueFormat: TUTAR_FORMAT,\r\n displayFormat: \"Toplam Teklif Tutarı: {0}\",\r\n visible: [\"summary\"],\r\n visibleConditions: [\r\n {\r\n isTeklifGoruntule: true,\r\n },\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: \"teklifKdvTutari\",\r\n label: \"Kdv Tutarı\",\r\n dataType: \"number\",\r\n dataField: \"teklifKdvTutari\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n visibleConditions: [\r\n {\r\n isTeklifGoruntule: true,\r\n },\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value,\r\n YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: \"bayiTeklifKdvTutari\",\r\n label: \"Kdv Tutarı\",\r\n dataType: \"number\",\r\n dataField: \"bayiTeklifKdvTutari\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n visibleConditions: [\r\n {\r\n isTeklifGoruntule: true,\r\n },\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n column: \"teklifKdvTutari\",\r\n summaryType: \"sum\",\r\n valueFormat: TUTAR_FORMAT,\r\n displayFormat: \"Toplam Teklif Kdv Tutarı: {0}\",\r\n visible: [\"summary\"],\r\n visibleConditions: [\r\n {\r\n isTeklifGoruntule: true,\r\n },\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value,\r\n YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n column: \"bayiTeklifKdvTutari\",\r\n summaryType: \"sum\",\r\n valueFormat: TUTAR_FORMAT,\r\n displayFormat: \"Toplam Teklif Kdv Tutarı: {0}\",\r\n visible: [\"summary\"],\r\n visibleConditions: [\r\n {\r\n isTeklifGoruntule: true,\r\n },\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: \"genelToplam\",\r\n label: \"Genel Toplam\",\r\n dataType: \"number\",\r\n dataField: \"genelToplam\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n visibleConditions: [\r\n {\r\n isTeklifGoruntule: true,\r\n },\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value,\r\n YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: \"bayiGenelToplam\",\r\n label: \"Genel Toplam\",\r\n dataType: \"number\",\r\n dataField: \"bayiGenelToplam\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n visibleConditions: [\r\n {\r\n isTeklifGoruntule: true,\r\n },\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n column: \"genelToplam\",\r\n summaryType: \"sum\",\r\n valueFormat: TUTAR_FORMAT,\r\n displayFormat: \"Toplam Genel Tutar: {0}\",\r\n visible: [\"summary\"],\r\n visibleConditions: [\r\n {\r\n isTeklifGoruntule: true,\r\n },\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value,\r\n YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n column: \"bayiGenelToplam\",\r\n summaryType: \"sum\",\r\n valueFormat: TUTAR_FORMAT,\r\n displayFormat: \"Toplam Genel Tutar: {0}\",\r\n visible: [\"summary\"],\r\n visibleConditions: [\r\n {\r\n isTeklifGoruntule: true,\r\n },\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: \"talepEdenPersonelIdStr\",\r\n label: \"İşi Talep Eden\",\r\n dataType: \"text\",\r\n dataField: \"talepEdenPersonelIdStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"programaEklenmeTarihi\",\r\n label: \"İşin Bitiş Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"programaEklenmeTarihi\",\r\n visible: [\"grid\"],\r\n width: LONG_DATE_WIDTH,\r\n },\r\n {\r\n name: \"baslangicTarihi\",\r\n label: \"İşin Başlangıç Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"baslangicTarihi\",\r\n visible: [\"grid\"],\r\n width: LONG_DATE_WIDTH,\r\n },\r\n {\r\n name: \"bayiAdi\",\r\n label: \"Bayi Adı\",\r\n dataType: \"text\",\r\n dataField: \"bayiAdi\",\r\n visible: [\"grid\"],\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n ],\r\n },\r\n\r\n //todo filtre------------------\r\n {\r\n name: \"sirketAdi\",\r\n label: \"Firma\",\r\n dataType: \"text\",\r\n dataField: \"sirketAdi\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"tahsilEdildi\",\r\n label: \"Tahsilat Durumu(Tutar)\",\r\n dataType: \"select\",\r\n dataField: \"tahsilEdildi\",\r\n visible: [\"filter\"],\r\n items: Object.values(TAHSILAT_DURUMU_INT),\r\n defaultValue: TAHSILAT_DURUMU_INT.TAHSILAT_YAPILMADI.Value,\r\n },\r\n {\r\n name: \"tahsilEdildiBool\",\r\n label: \"Tahsilat Edildi Durumu\",\r\n dataType: \"select\",\r\n dataField: \"tahsilEdildiBool\",\r\n visible: [\"filter\"],\r\n items: Object.values(EVET_HAYIR),\r\n },\r\n {\r\n name: \"bayiid\",\r\n label: \"Bayi\",\r\n dataType: \"custom\",\r\n dataField: \"bayiid\",\r\n visible: [\"filter\"],\r\n customComponent: BayilerInputForm,\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n ],\r\n },\r\n];\r\n\r\nexport default entity;\r\n\r\n// public string? OnayliTeklifDosyasi { get; set; }\r\n","import dayjs from \"dayjs\";\r\nimport fillYearForSelect from \"../common/constant-functions/fillYearForSelect\";\r\nimport { TUTAR_FORMAT } from \"../common/constants\";\r\n\r\nconst entity = [\r\n // {\r\n // name: \"id\",\r\n // label: \"No\",\r\n // dataType: \"number\",\r\n // dataField: \"id\",\r\n // visible: [\"grid\"],\r\n // isPrimaryKey: true,\r\n // width: \"75px\",\r\n // },\r\n {\r\n name: \"sorumlu\",\r\n label: \"Sorumlu\",\r\n dataType: \"text\",\r\n dataField: \"sorumlu\",\r\n visible: [\"grid\"],\r\n firstSort: \"asc\",\r\n },\r\n {\r\n name: \"ocak\",\r\n label: \"Ocak\",\r\n dataType: \"number\",\r\n dataField: \"ocak\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"subat\",\r\n label: \"Şubat\",\r\n dataType: \"number\",\r\n dataField: \"subat\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"mart\",\r\n label: \"Mart\",\r\n dataType: \"number\",\r\n dataField: \"mart\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"nisan\",\r\n label: \"Nisan\",\r\n dataType: \"number\",\r\n dataField: \"nisan\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"mayis\",\r\n label: \"Mayıs\",\r\n dataType: \"number\",\r\n dataField: \"mayis\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"haziran\",\r\n label: \"Haziran\",\r\n dataType: \"number\",\r\n dataField: \"haziran\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"temmuz\",\r\n label: \"Temmuz\",\r\n dataType: \"number\",\r\n dataField: \"temmuz\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"agustos\",\r\n label: \"Ağustos\",\r\n dataType: \"number\",\r\n dataField: \"agustos\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"eylul\",\r\n label: \"Eylül\",\r\n dataType: \"number\",\r\n dataField: \"eylul\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"ekim\",\r\n label: \"Ekim\",\r\n dataType: \"number\",\r\n dataField: \"ekim\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"kasim\",\r\n label: \"Kasim\",\r\n dataType: \"number\",\r\n dataField: \"kasim\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"aralik\",\r\n label: \"Aralık\",\r\n dataType: \"number\",\r\n dataField: \"aralik\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n {\r\n name: \"toplamHarcananSure\",\r\n label: \"Toplam Harcanan Süre (Saat)\",\r\n dataType: \"number\",\r\n dataField: \"toplamHarcananSure\",\r\n visible: [\"grid\"],\r\n format: TUTAR_FORMAT,\r\n },\r\n //todo--------filtre--------------------------------------\r\n {\r\n name: \"yil\",\r\n label: \"Yıl\",\r\n dataType: \"select\",\r\n dataField: \"yil\",\r\n visible: [\"filter\"],\r\n items: fillYearForSelect(),\r\n defaultValue: dayjs().year(),\r\n },\r\n];\r\n\r\nexport default entity;\r\n","import Type from \"../../entities/KullaniciAnalizi\";\r\n\r\nconst PageConfig = {\r\n title: \"Kullanıcı Analizi\",\r\n ekranKodu: \"KullaniciAnalizi_Res\",\r\n type: Type,\r\n listRoute: \"Rapor/KullaniciAnaliziList\",\r\n};\r\n\r\nexport default PageConfig;\r\n","import { useRef } from \"react\";\r\nimport PageFilter from \"../../components/filter/PageFilter\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\nimport PageConfig from \"./KullaniciAnaliziConfig\";\r\n\r\nexport default function KullaniciAnalizi({ ekranKodu }) {\r\n const listGridRef = useRef();\r\n const filterRef = useRef();\r\n\r\n return (\r\n <>\r\n <PageFilter\r\n PageConfig={PageConfig}\r\n ref={filterRef}\r\n listGridRef={listGridRef}\r\n />\r\n <PageGrid\r\n gridId=\"KullaniciAnalizi\"\r\n PageConfig={PageConfig}\r\n listGridRef={listGridRef}\r\n filterRef={filterRef}\r\n ekranKodu={ekranKodu}\r\n isCreatable={false}\r\n columnBtnVisible={false}\r\n />\r\n </>\r\n );\r\n}\r\n","import React from \"react\";\r\n\r\nconst ScrollableCell = (value) => {\r\n return (\r\n <div\r\n style={{\r\n overflow: \"auto\",\r\n whiteSpace: \"normal\",\r\n maxHeight: \"45px\",\r\n }}\r\n >\r\n {value}\r\n </div>\r\n );\r\n};\r\n\r\nexport default ScrollableCell;\r\n","import {\r\n ILGILI_MODUL,\r\n ISIN_DURUMU,\r\n ISIN_DURUMU_STR,\r\n ONCELIK_DURUMU,\r\n RAPOR_KATEGORI,\r\n TALEP_TIPI,\r\n YETKI_GRUBU_TIPI,\r\n} from \"../common/constants\";\r\nimport KullaniciInputForm from \"../components/inputs/custom-form-inputs/KullaniciInputForm\";\r\nimport { parseHtmlString } from \"../common/constant-functions/parseHtmlString\";\r\nimport { sorumluJoin } from \"../common/constant-functions/sorumluJoin\";\r\nimport {\r\n ID_WIDTH,\r\n LONG_DATE_WIDTH,\r\n OKUNMAYAN_YORUM_WIDTH,\r\n} from \"../common/entityconstants\";\r\nimport SirketInputForm from \"../components/inputs/custom-form-inputs/SirketInputForm\";\r\nimport ScrollableCell from \"../components/grid/ScrollableCell\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [],\r\n isPrimaryKey: true,\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"talepId\",\r\n label: \"Talep No\",\r\n dataType: \"number\",\r\n dataField: \"talepId\",\r\n visible: [\"grid\"],\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"okunmayanYorumSayisi\",\r\n label: \"Okunmayan Yorum\",\r\n dataType: \"number\",\r\n dataField: \"okunmayanYorumSayisi\",\r\n visible: [\"grid\"],\r\n // cellRender: (e) => <MailBadge badgeContent={e?.value} />,\r\n alignment: \"center\",\r\n allowExporting: false,\r\n width: OKUNMAYAN_YORUM_WIDTH,\r\n },\r\n //todo talep analizi\r\n {\r\n name: \"sirketAdi\",\r\n label: \"Müşteri Adı\",\r\n dataType: \"text\",\r\n dataField: \"sirketAdi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"ilgiliModul\",\r\n label: \"İlgili Modül\",\r\n dataType: \"select\",\r\n dataField: \"ilgiliModul\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(ILGILI_MODUL),\r\n },\r\n {\r\n name: \"analizSonucu\",\r\n label: \"Görev Açıklama\",\r\n dataType: \"text\",\r\n dataField: \"analizSonucu\",\r\n visible: [\"grid\"],\r\n // customizeText: (e) => e?.value && parseHtmlString(e?.value),\r\n cellRender: (e) => e?.value && ScrollableCell(parseHtmlString(e?.value)),\r\n width: \"300px\",\r\n },\r\n {\r\n name: \"baslangicTarihi\",\r\n label: \"Başlangıç Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"baslangicTarihi\",\r\n visible: [\"grid\"],\r\n firstSort: \"asc\",\r\n width: LONG_DATE_WIDTH,\r\n nullsLast: true,\r\n },\r\n {\r\n name: \"terminTarihi\",\r\n label: \"Termin Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"terminTarihi\",\r\n visible: [\"grid\"],\r\n firstSort: \"asc\",\r\n width: LONG_DATE_WIDTH,\r\n nullsLast: true,\r\n },\r\n {\r\n name: \"talepTipi\",\r\n label: \"Talep Tipi\",\r\n dataType: \"select\",\r\n dataField: \"talepTipi\",\r\n visible: [\"grid\"],\r\n selectItems: TALEP_TIPI,\r\n },\r\n {\r\n name: \"raporKategori\",\r\n label: \"Rapor Kategori\",\r\n dataType: \"select\",\r\n dataField: \"raporKategori\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(RAPOR_KATEGORI),\r\n },\r\n {\r\n name: \"oncelik\",\r\n label: \"Öncelik Durumu\",\r\n dataType: \"select\",\r\n dataField: \"oncelik\",\r\n visible: [\"grid\"],\r\n selectItems: ONCELIK_DURUMU,\r\n },\r\n {\r\n name: \"temsilciIdStr\",\r\n label: \"Müşteri Temsilcisi\",\r\n dataType: \"text\",\r\n dataField: \"temsilciIdStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"verilisTarihi\",\r\n label: \"Veriliş Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"verilisTarihi\",\r\n visible: [\"grid\"],\r\n firstSort: \"asc\",\r\n width: LONG_DATE_WIDTH,\r\n nullsLast: true,\r\n },\r\n {\r\n name: \"hedefSure\",\r\n label: \"Hedef Süre (Dakika)\",\r\n dataType: \"number\",\r\n dataField: \"hedefSure\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"isinDurumu\",\r\n label: \"İşin Durumu\",\r\n dataType: \"select\",\r\n dataField: \"isinDurumu\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(ISIN_DURUMU_STR),\r\n },\r\n {\r\n name: \"yonlendirenIdStr\",\r\n label: \"Yönlendiren\",\r\n dataType: \"text\",\r\n dataField: \"yonlendirenIdStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"yonlendirenAciklama\",\r\n label: \"Yönlendiren'in Açıklaması\",\r\n dataType: \"text\",\r\n dataField: \"yonlendirenAciklama\",\r\n visible: [\"grid\"],\r\n customizeText: (e) => e?.value && parseHtmlString(e?.value),\r\n },\r\n {\r\n name: \"sorumlular\",\r\n label: \"Sorumlular\",\r\n dataType: \"text\",\r\n dataField: \"sorumlular\",\r\n visible: [\"grid\"],\r\n // cellRender: (e) => SorumluChip(e?.value),\r\n customizeText: (cellData) => sorumluJoin(cellData?.value),\r\n // cellTemplate: (cellData) => sorumluJoin(cellData?.value),\r\n allowSorting: false,\r\n },\r\n {\r\n name: \"ustid\",\r\n label: \"Üst Görevi\",\r\n dataType: \"text\",\r\n dataField: \"ustid\",\r\n visible: [\"grid\"],\r\n },\r\n //todo\r\n //filtre--------------------------------------------------------------------------------------------------\r\n {\r\n name: \"sorumluId\",\r\n label: \"Sorumlu\",\r\n dataType: \"custom\",\r\n dataField: \"sorumluId\",\r\n visible: [\"filter\"],\r\n customComponent: KullaniciInputForm,\r\n customComponentParams: {},\r\n onlyYetkiGrubuTipi: YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value,\r\n },\r\n {\r\n name: \"TalepId\",\r\n label: \"Talep No\",\r\n dataType: \"number\",\r\n dataField: \"TalepId\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"ilgiliModul\",\r\n label: \"Modül\",\r\n dataType: \"select\",\r\n dataField: \"ilgiliModul\",\r\n visible: [\"filter\"],\r\n items: Object.values(ILGILI_MODUL),\r\n },\r\n {\r\n name: \"raporKategori\",\r\n label: \"Rapor Kategori\",\r\n dataType: \"select\",\r\n dataField: \"raporKategori\",\r\n visible: [\"filter\"],\r\n items: Object.values(RAPOR_KATEGORI),\r\n },\r\n {\r\n name: \"sirketId\",\r\n label: \"Müşteri Adı\",\r\n dataType: \"custom\",\r\n dataField: \"sirketId\",\r\n visible: [\"filter\"],\r\n customComponent: SirketInputForm,\r\n customComponentParams: {},\r\n },\r\n {\r\n name: \"yonlendirenId\",\r\n label: \"Yönlendiren Kullanıcı\",\r\n dataType: \"custom\",\r\n dataField: \"yonlendirenId\",\r\n visible: [\"filter\"],\r\n customComponent: KullaniciInputForm,\r\n },\r\n {\r\n name: \"analizSonucu\",\r\n label: \"Talep Açıklama\",\r\n dataType: \"text\",\r\n dataField: \"analizSonucu\",\r\n visible: [\"filter\"],\r\n },\r\n];\r\n\r\nexport default entity;\r\n","import Type from \"../../entities/BekleyenGorev\";\r\n\r\nconst PageConfig = {\r\n title: \"Bekleyen Görevler\",\r\n ekranKodu: \"Gorev_Res\",\r\n type: Type,\r\n listRoute: \"BekleyenGorev/List\",\r\n};\r\n\r\nexport default PageConfig;\r\n","import { useRef } from \"react\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\nimport BekleyenGorevConfig from \"./BekleyenGorevConfig\";\r\nimport { Button } from \"devextreme-react/data-grid\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport { printToast } from \"../../common/constant-functions/printToast\";\r\nimport IsYorumDialog from \"./IsYorumDialog\";\r\nimport PageFilter from \"../../components/filter/PageFilter\";\r\nimport dayjs from \"dayjs\";\r\nimport AnalizSonucuDialog from \"../Home/AnalizSonucuDialog\";\r\nimport MusteriTalepRecord from \"../Musteri-talep/MusteriTalepRecord\";\r\nimport { toast } from \"react-toastify\";\r\nimport PopoverButtonForGrid from \"../../components/buttons/PopoverButtonForGrid\";\r\nimport IseBaslangicGirisiDialog from \"../IseBaslangicGirisi/IseBaslangicGirisiDialog\";\r\n\r\nexport default function BekleyenGorev({\r\n ekranKodu,\r\n onSelectionChanged,\r\n yorumListRef,\r\n listGridRef,\r\n}) {\r\n const yorumDialogRef = useRef();\r\n const filterRef = useRef();\r\n const analizSonucuDialogRef = useRef();\r\n const ustGorevDialogRef = useRef();\r\n const iseBaslangicGirisiDialogRef = useRef();\r\n // const gorevHiyerarsiDialogRef = useRef();\r\n\r\n // const [isYorumDialogVisible, setYorumDialogVisible] = useState(false);\r\n\r\n // const handleYorumClick = (e) => {\r\n // setYorumDialogVisible(true);\r\n // // diğer işlemler\r\n // };\r\n\r\n const onRowPreparedExtra = (e) => {\r\n if (e.rowType === \"data\" && e.data.iseBaslangiciVar === true) {\r\n e.rowElement.style.backgroundColor = \"#d3fdd3\"; // Yeşil renk\r\n }\r\n };\r\n\r\n const CustomColumnButton = [\r\n <Button\r\n key=\"comment\"\r\n hint={\"Yorum Yap\"}\r\n icon=\"undo\"\r\n onClick={async (e) => {\r\n if (e.row.data.iseBaslangiciVar !== true) {\r\n toast.error(\r\n \"İşe başlangıç girişi yapılmadı. Lütfen işe yorum yapmadan önce işe başlangıç tarihini giriniz.\",\r\n {\r\n position: \"top-right\",\r\n autoClose: 10000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n theme: \"colored\",\r\n }\r\n );\r\n\r\n return;\r\n }\r\n\r\n yorumDialogRef?.current?.openRecord();\r\n yorumDialogRef?.current?.setModalLoading(true);\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: \"IsYorum/IsYorumMasterGetById\",\r\n data: {\r\n id: e.row.key,\r\n },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n yorumDialogRef?.current?.setRowDataFnc({\r\n ...res.data.data,\r\n tarih: dayjs(),\r\n });\r\n yorumDialogRef?.current?.setModalLoading(false);\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n });\r\n }}\r\n />,\r\n <Button\r\n key=\"analizSonucu\"\r\n hint={\"Analiz Sonucu\"}\r\n icon={\"textdocument\"}\r\n onClick={async (e) => {\r\n analizSonucuDialogRef?.current?.openRecord(e?.row?.data?.talepId);\r\n }}\r\n />,\r\n <Button\r\n key=\"iseBaslangicGirisi\"\r\n hint={\"İşe Başlangıç Girişi\"}\r\n icon={\"clock\"}\r\n onClick={async (e) => {\r\n iseBaslangicGirisiDialogRef?.current?.openRecord(e?.row?.data?.talepId);\r\n }}\r\n ></Button>,\r\n ];\r\n\r\n return (\r\n <>\r\n <PageFilter\r\n PageConfig={BekleyenGorevConfig}\r\n ref={filterRef}\r\n listGridRef={listGridRef}\r\n />\r\n <PageGrid\r\n gridId=\"BekleyenGorev\"\r\n PageConfig={BekleyenGorevConfig}\r\n listGridRef={listGridRef}\r\n filterRef={filterRef}\r\n //recordRef={isYorumDialogRef}\r\n isCreatable={false}\r\n ekranKodu={ekranKodu}\r\n height={\"45vh\"}\r\n CustomColumnButton={CustomColumnButton}\r\n allowSingleSelection={true}\r\n onSelectionChanged={onSelectionChanged}\r\n editBtnVisible={false}\r\n ustGorevDialogRef={ustGorevDialogRef}\r\n onRowPreparedExtra={onRowPreparedExtra}\r\n />\r\n <IsYorumDialog\r\n ref={yorumDialogRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n yorumListRef={yorumListRef}\r\n ></IsYorumDialog>\r\n <AnalizSonucuDialog\r\n ref={analizSonucuDialogRef}\r\n ekranKodu={ekranKodu}\r\n isEditable={false}\r\n buttonVisible={true}\r\n listGridRef={listGridRef}\r\n ></AnalizSonucuDialog>\r\n <MusteriTalepRecord\r\n ref={ustGorevDialogRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n ></MusteriTalepRecord>\r\n <IseBaslangicGirisiDialog\r\n ref={iseBaslangicGirisiDialogRef}\r\n ekranKodu={ekranKodu}\r\n // setRowDataFnc={setRowDataFnc}\r\n listGridRef={listGridRef}\r\n />\r\n\r\n {/* <GorevHiyerarsiList ref={gorevHiyerarsiDialogRef} /> */}\r\n </>\r\n );\r\n}\r\n","import {\r\n ILGILI_MODUL,\r\n ISIN_DURUMU_FILTER,\r\n ISIN_DURUMU_STR,\r\n ONCELIK_DURUMU,\r\n RAPOR_KATEGORI,\r\n TALEP_TIPI,\r\n} from \"../common/constants\";\r\nimport { parseHtmlString } from \"../common/constant-functions/parseHtmlString\";\r\nimport { sorumluJoin } from \"../common/constant-functions/sorumluJoin\";\r\nimport { ID_WIDTH, LONG_DATE_WIDTH } from \"../common/entityconstants\";\r\nimport ScrollableCell from \"../components/grid/ScrollableCell\";\r\nimport KullaniciInputForm from \"../components/inputs/custom-form-inputs/KullaniciInputForm\";\r\n\r\nconst entity = [\r\n {\r\n name: \"talepId\",\r\n label: \"Talep No\",\r\n dataType: \"number\",\r\n dataField: \"talepId\",\r\n visible: [\"grid\"],\r\n width: ID_WIDTH,\r\n },\r\n //todo talep analizi\r\n {\r\n name: \"sirketAdi\",\r\n label: \"Müşteri Adı\",\r\n dataType: \"text\",\r\n dataField: \"sirketAdi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"analizSonucu\",\r\n label: \"Görev Açıklama\",\r\n dataType: \"text\",\r\n dataField: \"analizSonucu\",\r\n visible: [\"grid\"],\r\n // customizeText: (e) => e?.value && parseHtmlString(e?.value),\r\n cellRender: (e) => e?.value && ScrollableCell(parseHtmlString(e?.value)),\r\n width: \"300px\",\r\n },\r\n {\r\n name: \"baslangicTarihi\",\r\n label: \"Başlangıç Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"baslangicTarihi\",\r\n visible: [\"grid\"],\r\n width: LONG_DATE_WIDTH,\r\n },\r\n {\r\n name: \"terminTarihi\",\r\n label: \"Termin Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"terminTarihi\",\r\n visible: [\"grid\"],\r\n width: LONG_DATE_WIDTH,\r\n nullsLast: true,\r\n },\r\n {\r\n name: \"talepTipi\",\r\n label: \"Talep Tipi\",\r\n dataType: \"select\",\r\n dataField: \"talepTipi\",\r\n visible: [\"grid\"],\r\n selectItems: TALEP_TIPI,\r\n },\r\n {\r\n name: \"raporKategori\",\r\n label: \"Rapor Kategori\",\r\n dataType: \"select\",\r\n dataField: \"raporKategori\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(RAPOR_KATEGORI),\r\n },\r\n {\r\n name: \"ilgiliModul\",\r\n label: \"İlgili Modül\",\r\n dataType: \"select\",\r\n dataField: \"ilgiliModul\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(ILGILI_MODUL),\r\n },\r\n {\r\n name: \"oncelik\",\r\n label: \"Öncelik Durumu\",\r\n dataType: \"select\",\r\n dataField: \"oncelik\",\r\n visible: [\"grid\"],\r\n selectItems: ONCELIK_DURUMU,\r\n },\r\n {\r\n name: \"temsilciIdStr\",\r\n label: \"Müşteri Temsilcisi\",\r\n dataType: \"text\",\r\n dataField: \"temsilciIdStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"verilisTarihi\",\r\n label: \"Veriliş Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"verilisTarihi\",\r\n visible: [\"grid\"],\r\n width: LONG_DATE_WIDTH,\r\n },\r\n {\r\n name: \"hedefSure\",\r\n label: \"Hedef Süre (Dakika)\",\r\n dataType: \"number\",\r\n dataField: \"hedefSure\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"isinDurumuMaster\",\r\n label: \"Görev Durumu\",\r\n dataType: \"select\",\r\n dataField: \"isinDurumuMaster\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(ISIN_DURUMU_FILTER),\r\n },\r\n // {\r\n // name: \"sorumluIdStr\",\r\n // label: \"Sorumlu\",\r\n // dataType: \"text\",\r\n // dataField: \"sorumluIdStr\",\r\n // visible: [\"grid\"],\r\n // },\r\n {\r\n name: \"yonlendirenIdStr\",\r\n label: \"Yönlendiren\",\r\n dataType: \"text\",\r\n dataField: \"yonlendirenIdStr\",\r\n visible: [\"grid\"],\r\n },\r\n // {\r\n // name: \"yonlendirenAciklama\",\r\n // label: \"Yönlendiren'in Açıklaması\",\r\n // dataType: \"text\",\r\n // dataField: \"yonlendirenAciklama\",\r\n // visible: [\"grid\"],\r\n // customizeText: (e) => e?.value && parseHtmlString(e?.value),\r\n // },\r\n {\r\n name: \"sorumlular\",\r\n label: \"Sorumlular\",\r\n dataType: \"text\",\r\n dataField: \"sorumlular\",\r\n visible: [\"grid\"],\r\n // cellRender: (e) => SorumluChip(e?.value),\r\n customizeText: (cellData) => sorumluJoin(cellData?.value),\r\n allowSorting: false,\r\n },\r\n {\r\n name: \"isSonucu\",\r\n label: \"İş Sonucu\",\r\n dataType: \"text\",\r\n dataField: \"isSonucu\",\r\n visible: [\"grid\"],\r\n customizeText: (e) => e?.value && parseHtmlString(e?.value),\r\n width: \"300px\",\r\n },\r\n {\r\n name: \"tamamlanmaTarihi\",\r\n label: \"Tamamlanma Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"tamamlanmaTarihi\",\r\n visible: [\"grid\"],\r\n firstSort: \"desc\",\r\n },\r\n {\r\n name: \"toplamHarcananSure\",\r\n label: \"Toplam Harcanan Süre \",\r\n dataType: \"number\",\r\n dataField: \"toplamHarcananSure\",\r\n visible: [\"grid\"],\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"ustid\",\r\n label: \"Üst Görevi\",\r\n dataType: \"number\",\r\n dataField: \"ustid\",\r\n visible: [\"grid\"],\r\n },\r\n //todo\r\n //filtre--------------------------------------------------------------------------------------------------\r\n {\r\n name: \"tarih1\",\r\n label: \"Başlangıç Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"tarih1\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"tarih2\",\r\n label: \"Bitiş Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"tarih2\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"talepId\",\r\n label: \"Talep No\",\r\n dataType: \"number\",\r\n dataField: \"talepId\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"ilgiliModul\",\r\n label: \"Modül\",\r\n dataType: \"select\",\r\n dataField: \"ilgiliModul\",\r\n visible: [\"filter\"],\r\n items: Object.values(ILGILI_MODUL),\r\n },\r\n {\r\n name: \"sirket\",\r\n label: \"Müşteri Adı\",\r\n dataType: \"text\",\r\n dataField: \"sirket\",\r\n visible: [\"filter\"],\r\n },\r\n\r\n {\r\n name: \"isSonucu\",\r\n label: \"Sonuç Açıklama\",\r\n dataType: \"text\",\r\n dataField: \"isSonucu\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"getAll\",\r\n label: \"Tüm Kişilerin Görevlerini Getir\",\r\n dataType: \"select\",\r\n dataField: \"getAll\",\r\n visible: [\"filter\"],\r\n defaultValue: false,\r\n items: [\r\n {\r\n Value: true,\r\n Text: \"Evet\",\r\n },\r\n {\r\n Value: false,\r\n Text: \"Hayır\",\r\n },\r\n ],\r\n },\r\n {\r\n name: \"sorumluId\",\r\n label: \"Sorumlu\",\r\n dataType: \"custom\",\r\n dataField: \"sorumluId\",\r\n visible: [\"filter\"],\r\n customComponent: KullaniciInputForm,\r\n },\r\n {\r\n name: \"isinDurumu\",\r\n label: \"Görev Durumu\",\r\n dataType: \"select\",\r\n dataField: \"isinDurumu\",\r\n visible: [\"filter\"],\r\n items: Object.values(ISIN_DURUMU_FILTER),\r\n defaultValue: ISIN_DURUMU_FILTER.TAMAMLANDI.Value,\r\n },\r\n // {\r\n // name: \"isinDurumu\",\r\n // label: \"Görev Durumu\",\r\n // dataType: \"select\",\r\n // dataField: \"isinDurumu\",\r\n // visible: [\"filter\"],\r\n // items: Object.values(ISIN_DURUMU_STR),\r\n // // defaultValue: ISIN_DURUMU_FILTER.TAMAMLANDI.Value,\r\n // },\r\n {\r\n name: \"raporKategori\",\r\n label: \"Rapor Kategori\",\r\n dataType: \"select\",\r\n dataField: \"raporKategori\",\r\n visible: [\"filter\"],\r\n items: Object.values(RAPOR_KATEGORI),\r\n },\r\n {\r\n name: \"analizSonucu\",\r\n label: \"Görev Açıklama\",\r\n dataType: \"text\",\r\n dataField: \"analizSonucu\",\r\n visible: [\"filter\"],\r\n },\r\n];\r\n\r\nexport default entity;\r\n","import Type from \"../../entities/Gorev\";\r\n\r\nconst PageConfig = {\r\n title: \"Görevler\",\r\n ekranKodu: \"Gorev_Res\",\r\n type: Type,\r\n listRoute: \"Gorev/List\",\r\n};\r\n\r\nexport default PageConfig;\r\n","import { useRef } from \"react\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\nimport GorevConfig from \"./GorevConfig\";\r\nimport PageFilter from \"../../components/filter/PageFilter\";\r\nimport { Button } from \"devextreme-react/data-grid\";\r\nimport AnalizSonucuDialog from \"../Home/AnalizSonucuDialog\";\r\nimport IsSonucuDialog from \"../Home/IsSonucuDialog\";\r\nimport IseBaslangicGirisiDialog from \"../IseBaslangicGirisi/IseBaslangicGirisiDialog\";\r\n\r\nexport default function Gorev({ ekranKodu, onSelectionChanged, listGridRef }) {\r\n const filterRef = useRef();\r\n const analizSonucuDialogRef = useRef();\r\n const isSonucuDialogRef = useRef();\r\n const iseBaslangicGirisiDialogRef = useRef();\r\n\r\n const CustomColumnButton = [\r\n <Button\r\n key=\"analizSonucu\"\r\n hint={\"Analiz Sonucu\"}\r\n icon={\"textdocument\"}\r\n onClick={async (e) => {\r\n analizSonucuDialogRef?.current?.openRecord(e?.row?.data?.talepId);\r\n }}\r\n ></Button>,\r\n <Button\r\n key=\"isSonucu\"\r\n hint=\"İş Sonucu\"\r\n icon=\"fieldchooser\"\r\n visible={(e) => {\r\n return e.row.data.isSonucu != null;\r\n }}\r\n onClick={(e) => {\r\n isSonucuDialogRef?.current?.openRecord(e.row.data.talepId);\r\n }}\r\n />,\r\n <Button\r\n key=\"iseBaslangicGirisi\"\r\n hint={\"İşe Başlangıç Girişi\"}\r\n icon={\"clock\"}\r\n onClick={async (e) => {\r\n iseBaslangicGirisiDialogRef?.current?.openRecord(e?.row?.data?.talepId);\r\n }}\r\n ></Button>,\r\n ];\r\n\r\n return (\r\n <>\r\n <PageFilter\r\n PageConfig={GorevConfig}\r\n ref={filterRef}\r\n listGridRef={listGridRef}\r\n />\r\n <PageGrid\r\n gridId=\"Gorev\"\r\n PageConfig={GorevConfig}\r\n listGridRef={listGridRef}\r\n filterRef={filterRef}\r\n // recordRef={recordRef}\r\n isCreatable={false}\r\n ekranKodu={ekranKodu}\r\n CustomColumnButton={CustomColumnButton}\r\n height={\"45vh\"}\r\n allowSingleSelection={true}\r\n onSelectionChanged={onSelectionChanged}\r\n editBtnVisible={false}\r\n />\r\n <AnalizSonucuDialog\r\n ref={analizSonucuDialogRef}\r\n ekranKodu={ekranKodu}\r\n isEditable={false}\r\n buttonVisible={true}\r\n listGridRef={listGridRef}\r\n ></AnalizSonucuDialog>\r\n <IsSonucuDialog\r\n ref={isSonucuDialogRef}\r\n isEditable={true}\r\n ></IsSonucuDialog>\r\n <IseBaslangicGirisiDialog\r\n ref={iseBaslangicGirisiDialogRef}\r\n ekranKodu={ekranKodu}\r\n // setRowDataFnc={setRowDataFnc}\r\n listGridRef={listGridRef}\r\n />\r\n </>\r\n );\r\n}\r\n","import Type from \"../../entities/BekleyenGorev\";\r\n\r\nconst PageConfig = {\r\n title: \"Bekleyen Görevler\",\r\n ekranKodu: \"Gorev_Res\",\r\n type: Type,\r\n listRoute: \"BayiBekleyenGorev/List\",\r\n};\r\n\r\nexport default PageConfig;\r\n","const PageConfig = {\r\n title: \"İş Yorumları\",\r\n ekranKodu: \"Gorev_Res\",\r\n listRoute: \"BayiIsYorum/List\",\r\n getByIdRoute: \"BayiIsYorum/GetById\",\r\n insertRoute: \"BayiIsYorum/Insert\",\r\n updateRoute: \"BayiIsYorum/Update\",\r\n deleteRoute: \"BayiIsYorum/Delete\",\r\n};\r\n\r\nexport default PageConfig;\r\n","import React, { useRef } from \"react\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport PageConfig from \"./BayiIsYorumConfig\";\r\nimport * as yup from \"yup\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport RichTextEditor from \"../../components/inputs/form-inputs/RichTextEditor\";\r\nimport { Field, Form, FormSpy } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport { Grid } from \"@mui/material\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport dayjs from \"dayjs\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport SirketInputForm from \"../../components/inputs/custom-form-inputs/SirketInputForm\";\r\nimport PersonelInputForm from \"../../components/inputs/custom-form-inputs/PersonelInputForm\";\r\nimport { apiUrl, ISIN_DURUMU, ISLEM_TURU } from \"../../common/constants\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport AnalizSonucuDialog from \"../Home/AnalizSonucuDialog\";\r\nimport AnalizSonucuButton from \"../../components/buttons/custom/AnalizSonucuButton\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport MultipleAutocomplateInputForm from \"../../components/inputs/form-inputs/MultipleAutoComplateInputForm\";\r\nimport YorumlariGoruntuleButton from \"../../components/buttons/custom/YorumlariGoruntuleButton\";\r\nimport YorumDialog from \"../Home/YorumDialog\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport DialogContentTop from \"../../components/dialogs/DialogContentTop\";\r\nimport CheckboxForm from \"../../components/inputs/form-inputs/CheckboxForm\";\r\nimport DateInputForm2 from \"../../components/inputs/form-inputs/DateInputForm2\";\r\n\r\nconst BayiIsYorumDialog = React.forwardRef(\r\n ({ ekranKodu, listGridRef, yorumListRef }, ref) => {\r\n var initialState = {\r\n tarih: dayjs(),\r\n // isinDurumu: null,\r\n // isSonucuYayinlansin: true,\r\n };\r\n\r\n const afterSubmitFnc = () => {\r\n let talepId = yorumListRef?.current?.talepId;\r\n HttpAuthorized.post(apiUrl + \"BayiIsYorum/List\", {\r\n talepId: talepId,\r\n }).then((res) => {\r\n // yorumListRef.current.setIsEdit(false);\r\n yorumListRef?.current?.setYorumData({\r\n talepId: talepId,\r\n yorumlar: res.data.data,\r\n });\r\n });\r\n };\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n context,\r\n } = usePageRecord(\r\n ref,\r\n PageConfig,\r\n listGridRef,\r\n ekranKodu,\r\n initialState,\r\n afterSubmitFnc\r\n );\r\n\r\n const sirketInputRef = useRef();\r\n const iletisimKurulanKisiInputRef = useRef();\r\n const isinDurumuInputRef = useRef();\r\n const analizSonucuDialogRef = useRef();\r\n const yorumDialogRef = useRef();\r\n\r\n const validationSchema = yup.object().shape({\r\n isSonucuBayi: yup.string().when(\"isinDurumu\", {\r\n is: ISIN_DURUMU.TAMAMLANDI.Value,\r\n then: yup.string().required(),\r\n otherwise: yup.string().nullable(),\r\n }),\r\n islemTuru: yup.number().required(),\r\n isinDurumu: yup.number().required(),\r\n harcananSure: yup.number().required(),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n const yorumReadOnly =\r\n rowData.yorumYapanKullaniciId > 0\r\n ? !(rowData.yorumYapanKullaniciId === context?.user?.id)\r\n : false;\r\n\r\n const isSonucuYayinlansinVisible = context?.user?.bayiKullanicisi == false;\r\n\r\n // if (typeof rowData.yorumYapanKullaniciId === \"undefined\") {\r\n // rowData.isSonucuYayinlansin = true;\r\n // }\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle={`İş Yorumu - ${rowData?.talepId} Nolu Talep`}\r\n maxWidth=\"lg\"\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n errors,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <FormSpy\r\n subscription={{ values: true }}\r\n onChange={(props) => {\r\n if (\r\n props.values?.isinDurumu === ISIN_DURUMU.YENI_IS.Value\r\n ) {\r\n form.change(\"isinDurumu\", null);\r\n }\r\n values.current = props.values;\r\n }}\r\n />\r\n <DialogContentWrapper>\r\n <DialogContentTop>\r\n <Grid item xs={12} sm={6} md={6}>\r\n {/* <FieldWrapper label=\"No\" modalLoading={modalLoading}>\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </FieldWrapper> */}\r\n {/* <FieldWrapper\r\n label=\"Rapor Kategorisi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n items={Object.values(RAPOR_KATEGORI)}\r\n name=\"raporKategori\"\r\n component={AutocomplateInputForm}\r\n readOnly={true}\r\n />\r\n </FieldWrapper> */}\r\n\r\n <FieldWrapper label=\"Tarih\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"tarih\"\r\n component={DateInputForm2}\r\n readOnly={\r\n !yetki.kaydet ||\r\n rowData.tahsilEdildi === true ||\r\n yorumReadOnly\r\n }\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper\r\n label=\"İşlem Türü\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"islemTuru\"\r\n items={Object.values(ISLEM_TURU)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet || yorumReadOnly}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper\r\n label=\"İşin Durumu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"isinDurumu\"\r\n items={Object.values(ISIN_DURUMU)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet || yorumReadOnly}\r\n ref={isinDurumuInputRef}\r\n disabledOptionValues={[\r\n ISIN_DURUMU.YENI_IS.Value,\r\n ...(yetki.yonlendir\r\n ? []\r\n : [\r\n ISIN_DURUMU.YAZILIM_TESTI.Value,\r\n ISIN_DURUMU.TEST_EDILIYOR.Value,\r\n ISIN_DURUMU.CEVAP_BEKLENIYOR.Value,\r\n ISIN_DURUMU.GOREVI_YONLENDIR.Value,\r\n ]),\r\n ]}\r\n />\r\n </FieldWrapper>\r\n {(isinDurumuInputRef?.current?.value ===\r\n ISIN_DURUMU.TEST_EDILIYOR.Value ||\r\n rowData.isinDurumu ===\r\n ISIN_DURUMU.TEST_EDILIYOR.Value ||\r\n isinDurumuInputRef?.current?.value ===\r\n ISIN_DURUMU.YAZILIM_TESTI.Value ||\r\n rowData.isinDurumu ===\r\n ISIN_DURUMU.YAZILIM_TESTI.Value ||\r\n isinDurumuInputRef?.current?.value ===\r\n ISIN_DURUMU.CEVAP_BEKLENIYOR.Value ||\r\n rowData.isinDurumu ===\r\n ISIN_DURUMU.CEVAP_BEKLENIYOR.Value ||\r\n isinDurumuInputRef?.current?.value ===\r\n ISIN_DURUMU.GOREVI_YONLENDIR.Value ||\r\n rowData.isinDurumu ===\r\n ISIN_DURUMU.GOREVI_YONLENDIR.Value) && (\r\n <FieldWrapper\r\n label=\"Sorumlu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"sorumlular\"\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute:\r\n \"User/KullaniciListForTalepYonlendirmeSelect\",\r\n fildsForText: [\"isimSoyisim\"],\r\n fieldForValue: \"id\",\r\n reqData: {\r\n talepId: rowData.talepId,\r\n },\r\n }}\r\n component={MultipleAutocomplateInputForm}\r\n readOnly={!yetki.kaydet || yorumReadOnly}\r\n />\r\n </FieldWrapper>\r\n )}\r\n </Grid>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <FieldWrapper\r\n label=\"İş Grubu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"sirketId\"\r\n rowData={rowData}\r\n component={SirketInputForm}\r\n readOnly={true || yorumReadOnly}\r\n // inputRef={sirketInputRef}\r\n // personelInputRef={iletisimKurulanKisiInputRef}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"İş İçin Harcanan Süre (Dakika)\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"harcananSure\"\r\n component={TextInputForm}\r\n readOnly={\r\n !yetki.kaydet ||\r\n rowData.tahsilEdildi === true ||\r\n yorumReadOnly\r\n }\r\n numberInput={true}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"İletişim Kurulan Kişi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"iletisimKurulanKisiId\"\r\n rowData={rowData}\r\n component={PersonelInputForm}\r\n readOnly={\r\n !yetki.kaydet ||\r\n sirketInputRef?.current?.value === \"\" ||\r\n yorumReadOnly\r\n }\r\n inputRef={iletisimKurulanKisiInputRef}\r\n ekranKodu={ekranKodu}\r\n sirketInputRef={sirketInputRef}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n </DialogContentTop>\r\n\r\n <Field\r\n name=\"yorum\"\r\n component={RichTextEditor}\r\n readOnly={!yetki.kaydet || yorumReadOnly}\r\n label={\r\n isinDurumuInputRef?.current?.value ===\r\n ISIN_DURUMU.TEST_EDILIYOR.Value ||\r\n isinDurumuInputRef?.current?.value ===\r\n ISIN_DURUMU.YAZILIM_TESTI.Value ||\r\n isinDurumuInputRef?.current?.value ===\r\n ISIN_DURUMU.CEVAP_BEKLENIYOR.Value ||\r\n isinDurumuInputRef?.current?.value ===\r\n ISIN_DURUMU.GOREVI_YONLENDIR.Value\r\n ? \"Açıklama\"\r\n : \"Yorum\"\r\n }\r\n modalLoading={modalLoading}\r\n />\r\n {isinDurumuInputRef?.current?.value ===\r\n ISIN_DURUMU.TAMAMLANDI.Value && (\r\n <>\r\n {isSonucuYayinlansinVisible ? (\r\n <>\r\n <FieldWrapper\r\n label=\"İş Sonucu Yayınlansın\"\r\n modalLoading={modalLoading}\r\n textWidth={200}\r\n width={\"100%\"}\r\n >\r\n <Field\r\n name=\"isSonucuYayinlansin\"\r\n component={CheckboxForm}\r\n readOnly={!yetki.kaydet || yorumReadOnly}\r\n // label={\"İş Sonucu Yayınlansın\"}\r\n modalLoading={modalLoading}\r\n />\r\n </FieldWrapper>\r\n </>\r\n ) : null}\r\n <Field\r\n name=\"isSonucuBayi\"\r\n component={RichTextEditor}\r\n readOnly={!yetki.kaydet || yorumReadOnly}\r\n label={\"İş Sonucu\"}\r\n modalLoading={modalLoading}\r\n />\r\n </>\r\n )}\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper\r\n container\r\n sx={{\r\n justifyContent: \"space-between\",\r\n }}\r\n >\r\n <Grid>\r\n <AnalizSonucuButton\r\n onClick={(e) => {\r\n analizSonucuDialogRef?.current?.openRecord(\r\n rowData?.talepId\r\n );\r\n }}\r\n disabled={!rowData.analizSonucu}\r\n ></AnalizSonucuButton>\r\n <YorumlariGoruntuleButton\r\n onClick={(e) => {\r\n yorumDialogRef?.current?.openRecord(rowData.talepId);\r\n }}\r\n />\r\n </Grid>\r\n {!yorumReadOnly && (\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n submitExtra={() => {\r\n if (Object.keys(errors).length < 1) {\r\n handleClose();\r\n }\r\n }}\r\n modalLoading={modalLoading}\r\n />\r\n )}\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n <AnalizSonucuDialog\r\n ref={analizSonucuDialogRef}\r\n ekranKodu={ekranKodu}\r\n isEditable={false}\r\n ></AnalizSonucuDialog>\r\n <YorumDialog ref={yorumDialogRef} isIsYorum={true}></YorumDialog>\r\n </>\r\n );\r\n }\r\n);\r\n\r\nexport default BayiIsYorumDialog;\r\n","import { useRef } from \"react\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\nimport BayiBekleyenGorevConfig from \"./BayiBekleyenGorevConfig\";\r\nimport { Button } from \"devextreme-react/data-grid\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport { printToast } from \"../../common/constant-functions/printToast\";\r\nimport BayiIsYorumDialog from \"./BayiIsYorumDialog\";\r\nimport PageFilter from \"../../components/filter/PageFilter\";\r\nimport dayjs from \"dayjs\";\r\nimport AnalizSonucuDialog from \"../Home/AnalizSonucuDialog\";\r\nimport MusteriTalepRecord from \"../Musteri-talep/MusteriTalepRecord\";\r\n\r\nexport default function BayiBekleyenGorev({\r\n ekranKodu,\r\n onSelectionChanged,\r\n yorumListRef,\r\n listGridRef,\r\n}) {\r\n const yorumDialogRef = useRef();\r\n const filterRef = useRef();\r\n const analizSonucuDialogRef = useRef();\r\n const ustGorevDialogRef = useRef();\r\n\r\n const CustomColumnButton = [\r\n <Button\r\n key=\"comment\"\r\n hint={\"Yorum Yap\"}\r\n icon=\"undo\"\r\n onClick={async (e) => {\r\n yorumDialogRef?.current?.openRecord();\r\n yorumDialogRef?.current?.setModalLoading(true);\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: \"BayiIsYorum/IsYorumMasterGetById\",\r\n data: {\r\n id: e.row.key,\r\n },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n yorumDialogRef?.current?.setRowDataFnc({\r\n ...res.data.data,\r\n tarih: dayjs(),\r\n });\r\n yorumDialogRef?.current?.setModalLoading(false);\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n });\r\n }}\r\n ></Button>,\r\n <Button\r\n key=\"analizSonucu\"\r\n hint={\"Analiz Sonucu\"}\r\n icon={\"textdocument\"}\r\n onClick={async (e) => {\r\n analizSonucuDialogRef?.current?.openRecord(e?.row?.data?.talepId);\r\n }}\r\n ></Button>,\r\n <Button\r\n key=\"ustGoreviAc\"\r\n hint={\"Üst Görevini Aç\"}\r\n icon={\"arrowup\"}\r\n onClick={async (e) => {\r\n ustGorevDialogRef?.current?.openRecord(e?.row?.data?.ustid);\r\n }}\r\n visible={(e) => {\r\n return e?.row?.data?.ustid;\r\n }}\r\n ></Button>,\r\n ];\r\n\r\n return (\r\n <>\r\n <PageFilter\r\n PageConfig={BayiBekleyenGorevConfig}\r\n ref={filterRef}\r\n listGridRef={listGridRef}\r\n />\r\n <PageGrid\r\n gridId=\"BayiBekleyenGorev\"\r\n PageConfig={BayiBekleyenGorevConfig}\r\n listGridRef={listGridRef}\r\n filterRef={filterRef}\r\n //recordRef={isYorumDialogRef}\r\n isCreatable={false}\r\n ekranKodu={ekranKodu}\r\n height={\"45vh\"}\r\n CustomColumnButton={CustomColumnButton}\r\n allowSingleSelection={true}\r\n onSelectionChanged={onSelectionChanged}\r\n editBtnVisible={false}\r\n ustGorevDialogRef={ustGorevDialogRef}\r\n />\r\n <BayiIsYorumDialog\r\n ref={yorumDialogRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n yorumListRef={yorumListRef}\r\n ></BayiIsYorumDialog>\r\n <AnalizSonucuDialog\r\n ref={analizSonucuDialogRef}\r\n ekranKodu={ekranKodu}\r\n isEditable={false}\r\n buttonVisible={true}\r\n listGridRef={listGridRef}\r\n ></AnalizSonucuDialog>\r\n <MusteriTalepRecord\r\n ref={ustGorevDialogRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n ></MusteriTalepRecord>\r\n </>\r\n );\r\n}\r\n","import Type from \"../../entities/Gorev\";\r\n\r\nconst PageConfig = {\r\n title: \"Görevler\",\r\n ekranKodu: \"Gorev_Res\",\r\n type: Type,\r\n listRoute: \"BayiGorev/List\",\r\n};\r\n\r\nexport default PageConfig;\r\n","import { useRef } from \"react\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\nimport PageConfig from \"./BayiGorevConfig\";\r\nimport PageFilter from \"../../components/filter/PageFilter\";\r\nimport { Button } from \"devextreme-react/data-grid\";\r\nimport AnalizSonucuDialog from \"../Home/AnalizSonucuDialog\";\r\nimport IsSonucuDialog from \"../Home/IsSonucuDialog\";\r\n\r\nexport default function BayiGorev({\r\n ekranKodu,\r\n onSelectionChanged,\r\n listGridRef,\r\n}) {\r\n const filterRef = useRef();\r\n const analizSonucuDialogRef = useRef();\r\n const isSonucuDialogRef = useRef();\r\n\r\n const CustomColumnButton = [\r\n <Button\r\n key=\"analizSonucu\"\r\n hint={\"Analiz Sonucu\"}\r\n icon={\"textdocument\"}\r\n onClick={async (e) => {\r\n analizSonucuDialogRef?.current?.openRecord(e?.row?.data?.talepId);\r\n }}\r\n ></Button>,\r\n <Button\r\n key=\"isSonucu\"\r\n hint=\"İş Sonucu\"\r\n icon=\"fieldchooser\"\r\n visible={(e) => {\r\n return e.row.data.isSonucu != null;\r\n }}\r\n onClick={(e) => {\r\n isSonucuDialogRef?.current?.openRecord(e.row.data.talepId);\r\n }}\r\n />,\r\n ];\r\n\r\n return (\r\n <>\r\n <PageFilter\r\n PageConfig={PageConfig}\r\n ref={filterRef}\r\n listGridRef={listGridRef}\r\n />\r\n <PageGrid\r\n gridId=\"Gorev\"\r\n PageConfig={PageConfig}\r\n listGridRef={listGridRef}\r\n filterRef={filterRef}\r\n // recordRef={recordRef}\r\n isCreatable={false}\r\n ekranKodu={ekranKodu}\r\n CustomColumnButton={CustomColumnButton}\r\n height={\"45vh\"}\r\n allowSingleSelection={true}\r\n onSelectionChanged={onSelectionChanged}\r\n editBtnVisible={false}\r\n />\r\n <AnalizSonucuDialog\r\n ref={analizSonucuDialogRef}\r\n ekranKodu={ekranKodu}\r\n isEditable={false}\r\n buttonVisible={true}\r\n listGridRef={listGridRef}\r\n ></AnalizSonucuDialog>\r\n <IsSonucuDialog\r\n ref={isSonucuDialogRef}\r\n isEditable={false}\r\n ></IsSonucuDialog>\r\n </>\r\n );\r\n}\r\n","import React, { useRef } from \"react\";\r\nimport MainTab from \"../../components/tab/MainTab\";\r\nimport { apiUrl } from \"../../common/constants\";\r\nimport BekleyenGorev from \"./BekleyenGorev\";\r\nimport IsYorumList from \"./IsYorumList\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport Gorev from \"./Gorev\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport BayiBekleyenGorev from \"./BayiBekleyenGorev\";\r\nimport BayiGorev from \"./BayiGorev\";\r\n\r\nexport default function Gorevler({ ekranKodu }) {\r\n const yorumListRef = useRef();\r\n const listGridRef = useRef();\r\n const context = React.useContext(AppContext);\r\n\r\n const onSelectionChanged = ({ selectedRowsData }) => {\r\n if (selectedRowsData && selectedRowsData[0]) {\r\n let talepId = selectedRowsData[0].talepId;\r\n var lUrl = \"\";\r\n if (context.user.bayiKullanicisi === true) {\r\n lUrl = apiUrl + \"BayiIsYorum/List\";\r\n yorumList(talepId, lUrl);\r\n } else {\r\n lUrl = apiUrl + \"IsYorum/List\";\r\n yorumList(talepId, lUrl);\r\n }\r\n }\r\n };\r\n\r\n // console.log(context.user.bayiKullanicisi, \"context.user.bayiKullanicisi\");\r\n\r\n const yorumList = (talepId, lUrl) => {\r\n HttpAuthorized.post(lUrl, {\r\n talepId: talepId,\r\n }).then(async (res) => {\r\n await yorumListRef.current.setYorumData({\r\n talepId: talepId,\r\n yorumlar: res.data.data,\r\n });\r\n\r\n // await listGridRef.current.instance.refresh();\r\n });\r\n };\r\n\r\n const tabOnChangeExtra = () => {\r\n yorumListRef.current.setYorumData({\r\n talepId: null,\r\n yorumlar: null,\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n <MainTab\r\n labels={[\"Bekleyen Görevler\", \"Tüm Görevler\"]}\r\n tabOnChangeExtra={tabOnChangeExtra}\r\n >\r\n {context.user.bayiKullanicisi ? (\r\n <BayiBekleyenGorev\r\n ekranKodu={ekranKodu}\r\n onSelectionChanged={onSelectionChanged}\r\n yorumListRef={yorumListRef}\r\n listGridRef={listGridRef}\r\n ></BayiBekleyenGorev>\r\n ) : (\r\n <BekleyenGorev\r\n ekranKodu={ekranKodu}\r\n onSelectionChanged={onSelectionChanged}\r\n yorumListRef={yorumListRef}\r\n listGridRef={listGridRef}\r\n ></BekleyenGorev>\r\n )}\r\n {context.user.bayiKullanicisi ? (\r\n <BayiGorev\r\n ekranKodu={ekranKodu}\r\n onSelectionChanged={onSelectionChanged}\r\n listGridRef={listGridRef}\r\n ></BayiGorev>\r\n ) : (\r\n <Gorev\r\n ekranKodu={ekranKodu}\r\n onSelectionChanged={onSelectionChanged}\r\n listGridRef={listGridRef}\r\n ></Gorev>\r\n )}\r\n </MainTab>\r\n <IsYorumList ref={yorumListRef} listGridRef={listGridRef} />\r\n </>\r\n );\r\n}\r\n","import { ILGILI_MODUL, YETKI_GRUBU_TIPI } from \"../common/constants\";\r\nimport { parseHtmlString } from \"../common/constant-functions/parseHtmlString\";\r\nimport { sorumluJoin } from \"../common/constant-functions/sorumluJoin\";\r\nimport {\r\n ID_WIDTH,\r\n ILGILI_MODUL_WIDTH,\r\n IS_SONUCU_WIDTH,\r\n} from \"../common/entityconstants\";\r\nimport KullaniciInputForm from \"../components/inputs/custom-form-inputs/KullaniciInputForm\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"Talep No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"ilgiliModul\",\r\n label: \"İlgili Modül\",\r\n dataType: \"select\",\r\n dataField: \"ilgiliModul\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(ILGILI_MODUL),\r\n width: ILGILI_MODUL_WIDTH,\r\n },\r\n {\r\n name: \"isSonucu\",\r\n label: \"İş Sonucu\",\r\n dataType: \"text\",\r\n dataField: \"isSonucu\",\r\n visible: [\"grid\"],\r\n customizeText: (e) => e?.value && parseHtmlString(e?.value),\r\n width: IS_SONUCU_WIDTH,\r\n },\r\n {\r\n name: \"sirketAdi\",\r\n label: \"Talep Eden Firma\",\r\n dataType: \"text\",\r\n dataField: \"sirketAdi\",\r\n visible: [\"grid\"],\r\n width: \"150px\",\r\n visibleConditions: [\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n YETKI_GRUBU_TIPI.MUSTERI.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: \"talepEdenPersonelIdStr\",\r\n label: \"Talep Eden Personel\",\r\n dataType: \"text\",\r\n dataField: \"talepEdenPersonelIdStr\",\r\n visible: [\"grid\"],\r\n width: \"150px\",\r\n visibleConditions: [\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n YETKI_GRUBU_TIPI.MUSTERI.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: \"firmaTemsilcisiStr\",\r\n label: \"Firma Temsilcisi\",\r\n dataType: \"text\",\r\n dataField: \"firmaTemsilcisiStr\",\r\n visible: [\"grid\"],\r\n },\r\n // {\r\n // name: \"sorumlular\",\r\n // label: \"Sorumlular\",\r\n // dataType: \"text\",\r\n // dataField: \"sorumlular\",\r\n // visible: [\"grid\"],\r\n // // cellRender: (e) => SorumluChip(e?.value),\r\n // customizeText: (cellData) => sorumluJoin(cellData?.value),\r\n // allowSorting: false,\r\n // width: \"300px\",\r\n // visibleConditions: [\r\n // {\r\n // gizlenecekYetkiGrubuTipi: [\r\n // YETKI_GRUBU_TIPI.BAYI.Value,\r\n // YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n // YETKI_GRUBU_TIPI.MUSTERI.Value,\r\n // ],\r\n // },\r\n // ],\r\n // },\r\n {\r\n name: \"tamamlanmaTarihi\",\r\n label: \"Bitiş Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"tamamlanmaTarihi\",\r\n visible: [\"grid\"],\r\n firstSort: \"desc\",\r\n width: \"100px\",\r\n },\r\n //todo\r\n //filtre--------------------------------------------------------------------------------------------------\r\n {\r\n name: \"tarih1\",\r\n label: \"Bitiş Tarihi 1\",\r\n dataType: \"date\",\r\n dataField: \"tarih1\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"tarih2\",\r\n label: \"Bitiş Tarihi 2\",\r\n dataType: \"date\",\r\n dataField: \"tarih2\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"talepId\",\r\n label: \"Talep No\",\r\n dataType: \"number\",\r\n dataField: \"talepId\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"ilgiliModul\",\r\n label: \"Modül\",\r\n dataType: \"select\",\r\n dataField: \"ilgiliModul\",\r\n visible: [\"filter\"],\r\n items: Object.values(ILGILI_MODUL),\r\n },\r\n {\r\n name: \"sirket\",\r\n label: \"Talep Eden Firma\",\r\n dataType: \"text\",\r\n dataField: \"sirket\",\r\n visible: [\"filter\"],\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n YETKI_GRUBU_TIPI.MUSTERI.Value,\r\n ],\r\n },\r\n\r\n {\r\n name: \"isSonucu\",\r\n label: \"İş Sonucu\",\r\n dataType: \"text\",\r\n dataField: \"isSonucu\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"firmaTemsilcisi\",\r\n label: \"Firma Temsilcisi\",\r\n dataType: \"custom\",\r\n dataField: \"firmaTemsilcisi\",\r\n visible: [\"filter\"],\r\n customComponent: KullaniciInputForm,\r\n reqData: { temsilci: true },\r\n },\r\n];\r\n\r\nexport default entity;\r\n","import Type from \"../../entities/IsSonucuRaporu\";\r\n\r\nconst PageConfig = {\r\n title: \"İş Sonuçları\",\r\n ekranKodu: \"IsSonuclariRaporu_Res\",\r\n type: Type,\r\n listRoute: \"Rapor/IsSonucuRaporList\",\r\n};\r\n\r\nexport default PageConfig;\r\n","import { useRef } from \"react\";\r\nimport PageFilter from \"../../components/filter/PageFilter\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\nimport PageConfig from \"./IsSonucuRaporuConfig\";\r\nimport IsSonucuDialog from \"../Home/IsSonucuDialog\";\r\nimport GridIsSonucuButton from \"../../components/buttons/custom/GridIsSonucuButton\";\r\n\r\nexport default function IsSonucuRaporu({ ekranKodu }) {\r\n const listGridRef = useRef();\r\n const filterRef = useRef();\r\n const isSonucuDialogRef = useRef();\r\n\r\n const CustomColumnButton = [GridIsSonucuButton(isSonucuDialogRef)];\r\n\r\n return (\r\n <>\r\n <PageFilter\r\n PageConfig={PageConfig}\r\n ref={filterRef}\r\n listGridRef={listGridRef}\r\n />\r\n <PageGrid\r\n gridId=\"IsSonucuRaporu\"\r\n PageConfig={PageConfig}\r\n listGridRef={listGridRef}\r\n filterRef={filterRef}\r\n ekranKodu={ekranKodu}\r\n isCreatable={false}\r\n CustomColumnButton={CustomColumnButton}\r\n editBtnVisible={false}\r\n />\r\n <IsSonucuDialog\r\n ref={isSonucuDialogRef}\r\n isEditable={false}\r\n ></IsSonucuDialog>\r\n </>\r\n );\r\n}\r\n","import { ILGILI_MODUL } from \"../common/constants\";\r\nimport { parseHtmlString } from \"../common/constant-functions/parseHtmlString\";\r\nimport {\r\n ACIKLAMA_WIDTH,\r\n DATE_WIDTH,\r\n ID_WIDTH,\r\n ILGILI_MODUL_WIDTH,\r\n LONG_DATE_WIDTH,\r\n} from \"../common/entityconstants\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"Talep No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"ilgiliModul\",\r\n label: \"İlgili Modül\",\r\n dataType: \"select\",\r\n dataField: \"ilgiliModul\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(ILGILI_MODUL),\r\n width: ILGILI_MODUL_WIDTH,\r\n },\r\n {\r\n name: \"erpVersiyonBilgisi\",\r\n label: \"Versiyon Bilgisi\",\r\n dataType: \"text\",\r\n dataField: \"erpVersiyonBilgisi\",\r\n visible: [\"grid\"],\r\n width: 150,\r\n minWidth: 150,\r\n },\r\n {\r\n name: \"programaEklenmeTarihi\",\r\n label: \"Versiyon Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"programaEklenmeTarihi\",\r\n visible: [\"grid\"],\r\n firstSort: \"desc\",\r\n width: LONG_DATE_WIDTH,\r\n minWidth: LONG_DATE_WIDTH\r\n },\r\n {\r\n name: \"isSonucu\",\r\n label: \"İş Sonucu\",\r\n dataType: \"text\",\r\n dataField: \"isSonucu\",\r\n visible: [\"grid\"],\r\n customizeText: (e) => e?.value && parseHtmlString(e?.value),\r\n width: ACIKLAMA_WIDTH\r\n },\r\n {\r\n name: \"talepTamamlanmaTarihi\",\r\n label: \"Tamamlanma Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"talepTamamlanmaTarihi\",\r\n visible: [\"grid\"],\r\n width: \"200px\",\r\n minWidth: \"200px\",\r\n },\r\n //todo\r\n //filtre--------------------------------------------------------------------------------------------------\r\n {\r\n name: \"tarih1\",\r\n label: \"Versiyon Tarihi 1\",\r\n dataType: \"date\",\r\n dataField: \"tarih1\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"tarih2\",\r\n label: \"Versiyon Tarihi 2\",\r\n dataType: \"date\",\r\n dataField: \"tarih2\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"ilgiliModul\",\r\n label: \"Modül\",\r\n dataType: \"select\",\r\n dataField: \"ilgiliModul\",\r\n visible: [\"filter\"],\r\n items: Object.values(ILGILI_MODUL),\r\n },\r\n {\r\n name: \"isSonucu\",\r\n label: \"İş Sonucu\",\r\n dataType: \"text\",\r\n dataField: \"isSonucu\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"talepTamamlanmaTarihi1\",\r\n label: \"Tamamlanma Tarihi 1\",\r\n dataType: \"date\",\r\n dataField: \"talepTamamlanmaTarihi1\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"talepTamamlanmaTarihi2\",\r\n label: \"Tamamlanma Tarihi 2\",\r\n dataType: \"date\",\r\n dataField: \"talepTamamlanmaTarihi2\",\r\n visible: [\"filter\"],\r\n },\r\n];\r\n\r\nexport default entity;\r\n","import Type from \"../../entities/YeniEklenenOzellikler\";\r\n\r\nconst PageConfig = {\r\n title: \"Yeni Eklenen Özellikler\",\r\n type: Type,\r\n listRoute: \"Rapor/YeniEklenenOzelliklerList\",\r\n};\r\n\r\nexport default PageConfig;\r\n","import { useRef } from \"react\";\r\nimport PageFilter from \"../../components/filter/PageFilter\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\nimport PageConfig from \"./YeniEklenenOzelliklerConfig\";\r\nimport IsSonucuDialog from \"../Home/IsSonucuDialog\";\r\nimport GridIsSonucuButton from \"../../components/buttons/custom/GridIsSonucuButton\";\r\n\r\n// export default function YeniEklenenOzellikler({ekranKodu}) {\r\nexport default function YeniEklenenOzellikler() {\r\n const listGridRef = useRef();\r\n const filterRef = useRef();\r\n const isSonucuDialogRef = useRef();\r\n\r\n const CustomColumnButton = [GridIsSonucuButton(isSonucuDialogRef)];\r\n\r\n return (\r\n <>\r\n <PageFilter\r\n PageConfig={PageConfig}\r\n ref={filterRef}\r\n listGridRef={listGridRef}\r\n />\r\n <PageGrid\r\n gridId=\"YeniEklenenOzellikler\"\r\n PageConfig={PageConfig}\r\n listGridRef={listGridRef}\r\n filterRef={filterRef}\r\n // ekranKodu={ekranKodu}\r\n isCreatable={false}\r\n CustomColumnButton={CustomColumnButton}\r\n editBtnVisible={false}\r\n />\r\n <IsSonucuDialog\r\n ref={isSonucuDialogRef}\r\n isEditable={false}\r\n ></IsSonucuDialog>\r\n </>\r\n );\r\n}\r\n","import { PLAN_DURUM, YETKI_GRUBU_TIPI } from \"../common/constants\";\r\nimport { sorumluJoin } from \"../common/constant-functions/sorumluJoin\";\r\nimport {\r\n ACIKLAMA_WIDTH,\r\n BASLIK_WIDTH,\r\n DATE_WIDTH,\r\n ID_WIDTH,\r\n} from \"../common/entityconstants\";\r\nimport { parseHtmlString } from \"../common/constant-functions/parseHtmlString\";\r\nimport { personelJoin } from \"../common/constant-functions/personelJoin\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"sirketAdi\",\r\n label: \"Firma\",\r\n dataType: \"text\",\r\n dataField: \"sirketAdi\",\r\n visible: [\"grid\"],\r\n visibleConditions: [\r\n {\r\n gizlenecekYetkiGrubuTipi: YETKI_GRUBU_TIPI.MUSTERI.Value,\r\n },\r\n ],\r\n },\r\n {\r\n name: \"konuBasligi\",\r\n label: \"Konu Başlığı\",\r\n dataType: \"text\",\r\n dataField: \"konuBasligi\",\r\n visible: [\"grid\"],\r\n width: BASLIK_WIDTH,\r\n },\r\n {\r\n name: \"konu\",\r\n label: \"Konu\",\r\n dataType: \"text\",\r\n dataField: \"konu\",\r\n visible: [\"grid\"],\r\n width: ACIKLAMA_WIDTH,\r\n },\r\n {\r\n name: \"planTarihi\",\r\n label: \"Plan Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"planTarihi\",\r\n visible: [\"grid\"],\r\n width: DATE_WIDTH,\r\n },\r\n {\r\n name: \"planSaati\",\r\n dataField: \"planTarihi\",\r\n label: \"Plan Saati\",\r\n dataType: \"date\",\r\n format: \"HH:mm\",\r\n visible: [\"grid\"],\r\n width: DATE_WIDTH,\r\n },\r\n {\r\n name: \"aksiyonTarihi\",\r\n label: \"Aksiyon Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"aksiyonTarihi\",\r\n visible: [\"grid\"],\r\n width: DATE_WIDTH,\r\n },\r\n {\r\n name: \"durum\",\r\n label: \"Durum\",\r\n dataType: \"select\",\r\n dataField: \"durum\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(PLAN_DURUM),\r\n },\r\n {\r\n name: \"aciklama\",\r\n label: \"Açıklama\",\r\n dataType: \"text\",\r\n dataField: \"aciklama\",\r\n visible: [\"grid\"],\r\n width: ACIKLAMA_WIDTH,\r\n customizeText: (e) => e?.value && parseHtmlString(e?.value),\r\n },\r\n {\r\n name: \"lokasyon\",\r\n label: \"Lokasyon\",\r\n dataType: \"text\",\r\n dataField: \"lokasyon\",\r\n visible: [\"grid\"],\r\n width: ACIKLAMA_WIDTH,\r\n },\r\n\r\n {\r\n name: \"isTakip\",\r\n label: \"İş Takip\",\r\n dataType: \"boolean\",\r\n dataField: \"isTakip\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"sorumlular\",\r\n label: \"Sorumlular\",\r\n dataType: \"text\",\r\n dataField: \"sorumlular\",\r\n visible: [\"grid\"],\r\n customizeText: (cellData) => personelJoin(cellData?.value),\r\n allowSorting: false,\r\n },\r\n {\r\n name: \"yetkililer\",\r\n label: \"Yetkililer\",\r\n dataType: \"text\",\r\n dataField: \"yetkililer\",\r\n visible: [\"grid\"],\r\n // cellRender: (e) => SorumluChip(e?.value),\r\n customizeText: (cellData) => sorumluJoin(cellData?.value),\r\n allowSorting: false,\r\n },\r\n //filtre--------------------------------------------------------------------------------------------------\r\n {\r\n name: \"tarih1\",\r\n label: \"Aksiyon Başlangıç Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"tarih1\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"tarih2\",\r\n label: \"Aksiyon Bitiş Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"tarih2\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"sirket\",\r\n label: \"Şirket\",\r\n dataType: \"text\",\r\n dataField: \"sirket\",\r\n visible: [\"filter\"],\r\n gizlenecekYetkiGrubuTipi: YETKI_GRUBU_TIPI.MUSTERI.Value,\r\n },\r\n {\r\n name: \"durum\",\r\n label: \"Durum\",\r\n dataType: \"select\",\r\n dataField: \"durum\",\r\n visible: [\"filter\"],\r\n items: Object.values(PLAN_DURUM),\r\n defaultValue: PLAN_DURUM.PLANLANDI.Value,\r\n },\r\n];\r\n\r\nexport default entity;\r\n","import Type from \"../../entities/Toplanti\";\r\n\r\nconst PageConfig = {\r\n title: \"Toplantılar\",\r\n ekranKodu: \"Toplanti_Res\",\r\n type: Type,\r\n listRoute: \"Toplanti/List\",\r\n getByIdRoute: \"Toplanti/GetById\",\r\n insertRoute: \"Toplanti/Insert\",\r\n updateRoute: \"Toplanti/Update\",\r\n deleteRoute: \"Toplanti/Delete\",\r\n};\r\n\r\nexport default PageConfig;\r\n","\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon([/*#__PURE__*/_jsx(\"path\", {\n d: \"M21 12.22C21 6.73 16.74 3 12 3c-4.69 0-9 3.65-9 9.28-.6.34-1 .98-1 1.72v2c0 1.1.9 2 2 2h1v-6.1c0-3.87 3.13-7 7-7s7 3.13 7 7V19h-8v2h8c1.1 0 2-.9 2-2v-1.22c.59-.31 1-.92 1-1.64v-2.3c0-.7-.41-1.31-1-1.62\"\n}, \"0\"), /*#__PURE__*/_jsx(\"circle\", {\n cx: \"9\",\n cy: \"13\",\n r: \"1\"\n}, \"1\"), /*#__PURE__*/_jsx(\"circle\", {\n cx: \"15\",\n cy: \"13\",\n r: \"1\"\n}, \"2\"), /*#__PURE__*/_jsx(\"path\", {\n d: \"M18 11.03C17.52 8.18 15.04 6 12.05 6c-3.03 0-6.29 2.51-6.03 6.45 2.47-1.01 4.33-3.21 4.86-5.89 1.31 2.63 4 4.44 7.12 4.47\"\n}, \"3\")], 'SupportAgent');","\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1m2 14H7v-2h7zm3-4H7v-2h10zm0-4H7V7h10z\"\n}), 'Assignment');","import React from \"react\";\r\nimport TextField from \"@mui/material/TextField\";\r\n\r\nconst DateTimeInputForm = React.forwardRef(\r\n ({ input, meta, label, defaultValue = \"\", ...rest }, ref) => {\r\n const changeValue = (newValue) => {\r\n if (newValue) {\r\n input.onChange(newValue);\r\n } else {\r\n input.onChange(null);\r\n }\r\n };\r\n\r\n React.useImperativeHandle(ref, () => ({\r\n changeValue: changeValue,\r\n value: input.value,\r\n }));\r\n\r\n return (\r\n <TextField\r\n {...input}\r\n sx={{\r\n width: \"100%\",\r\n input: {\r\n ...(!input?.value ? { color: \"grey\" } : {}),\r\n },\r\n }}\r\n label={label}\r\n onChange={(e) => input.onChange(e.target.value)}\r\n variant=\"standard\"\r\n type=\"datetime-local\"\r\n // value={\r\n // input?.value\r\n // ? dayjs(input?.value)?.format(\"YYYY-MM-DDTHH:mm\")\r\n // : defaultValue\r\n // }\r\n InputLabelProps={{\r\n shrink: true,\r\n }}\r\n inputProps={{ readOnly: rest.readOnly }}\r\n error={meta.error && meta.touched}\r\n helperText={meta.error && meta.touched ? meta.error : null}\r\n {...rest}\r\n />\r\n );\r\n }\r\n);\r\nexport default DateTimeInputForm;\r\n","import React from \"react\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport useBasicDialog from \"../../hooks/use-basic-dialog\";\r\nimport HizmetForm from \"./HizmetForm\";\r\n\r\nconst HizmetFormDialog = React.forwardRef(\r\n ({ ekranKodu, parentRowData }, ref) => {\r\n const { open, closeRecord } = useBasicDialog(ref);\r\n\r\n return (\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"Hizmet Formları\"\r\n maxWidth=\"lg\"\r\n fullWidth={true}\r\n >\r\n <HizmetForm\r\n ekranKodu={ekranKodu}\r\n parentRowData={{ ...parentRowData, id: parentRowData.sirketId }}\r\n ></HizmetForm>\r\n </ScrollDialog>\r\n );\r\n }\r\n);\r\n\r\nexport default HizmetFormDialog;\r\n","import React, { useRef } from \"react\";\r\nimport PageConfig from \"./ToplantiConfig\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport * as yup from \"yup\";\r\nimport ButtonWrapper from \"../../components/buttons/ButtonWrapper\";\r\nimport { Assignment, SupportAgent } from \"@mui/icons-material\";\r\nimport { Grid } from \"@mui/material\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport RichTextEditor from \"../../components/inputs/form-inputs/RichTextEditor\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport { PLAN_DURUM, apiUrl } from \"../../common/constants\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport CheckboxForm from \"../../components/inputs/form-inputs/CheckboxForm\";\r\nimport MultilineTextInputForm from \"../../components/inputs/form-inputs/MultilineTextInputForm\";\r\nimport dayjs from \"dayjs\";\r\nimport SirketInputForm from \"../../components/inputs/custom-form-inputs/SirketInputForm\";\r\nimport MultipleAutocomplateInputForm from \"../../components/inputs/form-inputs/MultipleAutoComplateInputForm\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport DestekRecord from \"../Destek/DestekRecord\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport DialogContentTop from \"../../components/dialogs/DialogContentTop\";\r\nimport DateTimeInputForm from \"../../components/inputs/form-inputs/DateTimeInputForm\";\r\nimport CustomColoredButton from \"../../components/buttons/custom/CustomColoredButton\";\r\nimport HizmetFormDialog from \"../Sirket/HizmetFormDialog\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\n\r\nconst ToplantiRecord = React.forwardRef(({ ekranKodu, listGridRef }, ref) => {\r\n const sirketInputRef = useRef();\r\n const personelInputRef = useRef();\r\n const destekRecordRef = useRef();\r\n const planTarihiInputRef = useRef();\r\n const aksiyonTarihiInputRef = useRef();\r\n const hizmetFormuDialogRef = useRef();\r\n\r\n const initialState = {\r\n planTarihi: dayjs(),\r\n isTakip: false,\r\n // aksiyonTarihi: dayjs(),\r\n };\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n setRowDataFnc,\r\n } = usePageRecord(\r\n ref,\r\n PageConfig,\r\n listGridRef,\r\n ekranKodu,\r\n initialState,\r\n null,\r\n null\r\n );\r\n\r\n const validationSchema = yup.object().shape({\r\n durum: yup.number().required(),\r\n // isTakip: yup.boolean().required(),\r\n sirketId: yup.number().required(),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n const CustomFieldWrapper = ({ label, modalLoading, children }) => {\r\n return (\r\n <FieldWrapper\r\n label={label}\r\n modalLoading={modalLoading}\r\n width=\"89%\"\r\n textWidth=\"11%\"\r\n >\r\n {children}\r\n </FieldWrapper>\r\n );\r\n };\r\n const context = React.useContext(AppContext);\r\n\r\n const destekInitialState = {\r\n tarih: rowData?.aksiyonTarihi,\r\n aciklama: rowData?.aciklama,\r\n sirketId: rowData?.sirketId,\r\n sirket_Kod: rowData?.sirket_Kod,\r\n kayitEdenKullanici: context?.user?.id,\r\n destekVerenId:\r\n rowData?.yetkililer?.length > 0 ? rowData.yetkililer[0].id : null,\r\n destekVerenIdStr:\r\n rowData?.yetkililer?.length > 0\r\n ? rowData.yetkililer[0].isimSoyisim\r\n : null,\r\n destekAlanId:\r\n rowData?.sorumlular?.length > 0 ? rowData.sorumlular[0].id : null,\r\n destekAlanIdStr:\r\n rowData?.sorumlular?.length > 0 ? rowData.sorumlular[0].adSoyad : null,\r\n };\r\n\r\n const destekAfterSubmitFnc = (res) => {\r\n if (rowData.destekId == null && res?.data?.data?.id > 0) {\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}Toplanti/DestekIdUpdate`,\r\n data: {\r\n id: rowData.id,\r\n destekId: res?.data?.data?.id,\r\n },\r\n })\r\n .then((res) => {\r\n setRowDataFnc(res.data.data);\r\n listGridRef?.current?.instance?.refresh();\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n };\r\n\r\n const durumInputOnChangeExtra = (value, newValue) => {\r\n if (newValue.Value === PLAN_DURUM.GERCEKLESTI.Value) {\r\n aksiyonTarihiInputRef.current.changeValue(\r\n planTarihiInputRef.current.value\r\n );\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Yeni Toplantı\"\r\n maxWidth=\"lg\"\r\n >\r\n <Form\r\n key=\"toplantiForm\"\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <DialogContentTop>\r\n <Grid item xs={12} sm={6} md={4}>\r\n <FieldWrapper\r\n label=\"Toplantı No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </FieldWrapper>\r\n <FieldWrapper label=\"Firma\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"sirketId\"\r\n rowData={rowData}\r\n component={SirketInputForm}\r\n readOnly={!yetki.kaydet}\r\n inputRef={sirketInputRef}\r\n personelInputRef={personelInputRef}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Konu Başlığı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"konuBasligi\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n\r\n <Grid item xs={12} sm={6} md={4}>\r\n <FieldWrapper\r\n label=\"Plan Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"planTarihi\"\r\n component={DateTimeInputForm}\r\n readOnly={!yetki.kaydet}\r\n ref={planTarihiInputRef}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper label=\"Durum\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"durum\"\r\n items={Object.values(PLAN_DURUM)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n onChangeExtra={durumInputOnChangeExtra}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper label=\"Konu\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"konu\"\r\n component={MultilineTextInputForm}\r\n readOnly={!yetki.kaydet}\r\n minRows={1}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n <Grid item xs={12} sm={6} md={4}>\r\n <FieldWrapper\r\n label=\"Aksiyon Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"aksiyonTarihi\"\r\n component={DateTimeInputForm}\r\n readOnly={!yetki.kaydet}\r\n ref={aksiyonTarihiInputRef}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper label=\"Destek No\" modalLoading={modalLoading}>\r\n <Field\r\n disabled\r\n name=\"destekId\"\r\n component={TextInputForm}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Destek Kaydı Oluşturuldu\"\r\n modalLoading={modalLoading}\r\n width=\"55%\"\r\n textWidth=\"45%\"\r\n >\r\n <Field\r\n name=\"isTakip\"\r\n component={CheckboxForm}\r\n disabled={true}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n </DialogContentTop>\r\n <Grid container direction=\"row\" columnSpacing={2}>\r\n <Grid item xs={12} sm={4}>\r\n <FieldWrapper\r\n label=\"Sorumlular\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"sorumlular\"\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute: \"Personel/ListForSelect\",\r\n fildsForText: [\"adSoyad\"],\r\n fieldForValue: \"id\",\r\n reqData: {\r\n sirketId:\r\n sirketInputRef?.current?.value === \"\"\r\n ? 0\r\n : sirketInputRef?.current?.value,\r\n },\r\n }}\r\n component={MultipleAutocomplateInputForm}\r\n readOnly={\r\n !yetki.kaydet || sirketInputRef?.current?.value === \"\"\r\n }\r\n ref={personelInputRef}\r\n sirketInputRef={sirketInputRef}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n <Grid item xs={12} sm={8}>\r\n <FieldWrapper\r\n label=\"Yetkililer\"\r\n modalLoading={modalLoading}\r\n width=\"83%\"\r\n textWidth=\"17%\"\r\n >\r\n <Field\r\n name=\"yetkililer\"\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute: \"User/KullaniciListForSelect\",\r\n fildsForText: [\"isimSoyisim\"],\r\n fieldForValue: \"id\",\r\n reqData: {\r\n getSirket_KodFromSession: true,\r\n },\r\n }}\r\n component={MultipleAutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n </Grid>\r\n <CustomFieldWrapper\r\n label=\"Lokasyon\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"lokasyon\"\r\n component={MultilineTextInputForm}\r\n readOnly={!yetki.kaydet}\r\n minRows={1}\r\n />\r\n </CustomFieldWrapper>\r\n <Field\r\n name=\"aciklama\"\r\n component={RichTextEditor}\r\n label=\"Açıklama\"\r\n modalLoading={modalLoading}\r\n readOnly={!yetki.kaydet}\r\n style={{ marginTop: 15 }}\r\n />\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper\r\n sx={{\r\n justifyContent: \"space-between\",\r\n }}\r\n >\r\n <Grid>\r\n <>\r\n {rowData.destekId > 0 ? (\r\n <ButtonWrapper\r\n color=\"info\"\r\n startIcon={<SupportAgent />}\r\n onClick={(e) => {\r\n destekRecordRef.current?.openRecord(rowData.destekId);\r\n }}\r\n disabled={!rowData.id}\r\n >\r\n Destek Kaydını Görüntüle\r\n </ButtonWrapper>\r\n ) : (\r\n <ButtonWrapper\r\n color=\"info\"\r\n startIcon={<SupportAgent />}\r\n onClick={(e) => {\r\n destekRecordRef.current?.openRecord(null);\r\n }}\r\n disabled={!rowData.id}\r\n >\r\n Destek Kaydını Oluştur\r\n </ButtonWrapper>\r\n )}\r\n <CustomColoredButton\r\n color=\"purple\"\r\n startIcon={<Assignment />}\r\n onClick={(e) => {\r\n hizmetFormuDialogRef.current?.openRecord();\r\n }}\r\n disabled={!rowData.id}\r\n >\r\n Hizmet Formları\r\n </CustomColoredButton>\r\n </>\r\n </Grid>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n deleteDisabled={rowData.destekId > 0}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n <DestekRecord\r\n ref={destekRecordRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n state={destekInitialState}\r\n afterSubmitFnc={destekAfterSubmitFnc}\r\n ></DestekRecord>\r\n <HizmetFormDialog\r\n ekranKodu={ekranKodu}\r\n ref={hizmetFormuDialogRef}\r\n parentRowData={rowData}\r\n ></HizmetFormDialog>\r\n </>\r\n );\r\n});\r\nexport default ToplantiRecord;\r\n","import { useRef } from \"react\";\r\nimport PageFilter from \"../../components/filter/PageFilter\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\nimport PageConfig from \"./ToplantiConfig\";\r\nimport ToplantiRecord from \"./ToplantiRecord\";\r\n\r\nconst Toplanti = ({ ekranKodu }) => {\r\n const listGridRef = useRef();\r\n const filterRef = useRef();\r\n const recordRef = useRef();\r\n\r\n return (\r\n <>\r\n <PageFilter\r\n PageConfig={PageConfig}\r\n ref={filterRef}\r\n listGridRef={listGridRef}\r\n />\r\n <PageGrid\r\n gridId=\"Toplanti\"\r\n PageConfig={PageConfig}\r\n listGridRef={listGridRef}\r\n filterRef={filterRef}\r\n recordRef={recordRef}\r\n isCreatable\r\n ekranKodu={ekranKodu}\r\n />\r\n <ToplantiRecord\r\n ref={recordRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n ></ToplantiRecord>\r\n </>\r\n );\r\n};\r\n\r\nexport default Toplanti;\r\n","import { sorumluJoin } from \"../common/constant-functions/sorumluJoin\";\r\nimport { ID_WIDTH, LONG_DATE_WIDTH } from \"../common/entityconstants\";\r\n\r\nconst entity = [\r\n {\r\n name: \"talepId\",\r\n label: \"Talep No\",\r\n dataType: \"number\",\r\n dataField: \"talepId\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n width: ID_WIDTH,\r\n firstSort: \"desc\",\r\n },\r\n {\r\n name: \"sirketAdi\",\r\n label: \"Talep Eden Firma\",\r\n dataType: \"text\",\r\n dataField: \"sirketAdi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"temsilciIdStr\",\r\n label: \"Firma Temsilcisi\",\r\n dataType: \"text\",\r\n dataField: \"temsilciIdStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"tamamlanmaTarihi\",\r\n label: \"Görev Tamamlanma Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"tamamlanmaTarihi\",\r\n visible: [\"grid\"],\r\n width: LONG_DATE_WIDTH,\r\n },\r\n {\r\n name: \"baslangicTarihi\",\r\n label: \"Görev Başlangıç Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"baslangicTarihi\",\r\n visible: [\"grid\"],\r\n width: LONG_DATE_WIDTH,\r\n },\r\n\r\n {\r\n name: \"kayitTarihi\",\r\n label: \"Talep Kayıt Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"kayitTarihi\",\r\n visible: [\"grid\"],\r\n width: LONG_DATE_WIDTH,\r\n },\r\n\r\n\r\n {\r\n name: \"kontrolEdenler\",\r\n label: \"Kontrol Edenler\",\r\n dataType: \"text\",\r\n dataField: \"kontrolEdenler\",\r\n visible: [\"grid\"],\r\n // cellRender: (e) => SorumluChip(e?.value),\r\n customizeText: (cellData) => sorumluJoin(cellData?.value),\r\n allowSorting: false,\r\n },\r\n\r\n //filtre--------------------------------------------------------------------------------------------------\r\n\r\n {\r\n name: \"talepId\",\r\n label: \"Talep No\",\r\n dataType: \"number\",\r\n dataField: \"talepId\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"bitisTarihi1\",\r\n label: \"Görev Tamamlanma Tarihi 1\",\r\n dataType: \"date\",\r\n dataField: \"bitisTarihi1\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"bitisTarihi2\",\r\n label: \"Görev Tamamlanma Tarihi 2\",\r\n dataType: \"date\",\r\n dataField: \"bitisTarihi2\",\r\n visible: [\"filter\"],\r\n },\r\n];\r\n\r\nexport default entity;\r\n","import Type from \"../../entities/KontrolEdilecekIsler\";\r\n\r\nconst PageConfig = {\r\n title: \"Kontrol Edilecek İşler\",\r\n ekranKodu: \"KontrolEdilecekIsler_Res\",\r\n type: Type,\r\n listRoute: \"KontrolEdilecekIsler/List\",\r\n // getByIdRoute: \"Talep/GetById\",\r\n // insertRoute: \"Talep/Insert\",\r\n // updateRoute: \"Talep/Update\",\r\n};\r\nexport default PageConfig;\r\n","import { useRef } from \"react\";\r\nimport PageConfig from \"./KontrolEdilecekIslerConfig\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\nimport PageFilter from \"../../components/filter/PageFilter\";\r\nimport { Button } from \"devextreme-react/data-grid\";\r\nimport AnalizSonucuDialog from \"../Home/AnalizSonucuDialog\";\r\nimport IsSonucuDialog from \"../Home/IsSonucuDialog\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport { apiUrl } from \"../../common/constants\";\r\nimport { printToast } from \"../../common/constant-functions/printToast\";\r\n\r\nexport default function KontrolEdilecekIsler({ ekranKodu }) {\r\n const listGridRef = useRef();\r\n const filterRef = useRef();\r\n // const recordRef = useRef();\r\n const isSonucuDialogRef = useRef();\r\n\r\n const onRowPreparedExtra = (e) => {\r\n if (e.rowType === \"data\" && e.data.kontrolDurumu === true) {\r\n e.rowElement.style.backgroundColor = \"#d3fdd3\"; // Yeşil renk\r\n } else if (e.rowType === \"data\" && e.data.kendimKontrolEttim === true) {\r\n e.rowElement.style.backgroundColor = \"#f3f687\"; // Sarı renk\r\n }\r\n };\r\n\r\n const CustomColumnButton = [\r\n <Button\r\n key=\"analizSonucu\"\r\n hint={\"Analiz Sonucu\"}\r\n icon={\"textdocument\"}\r\n onClick={async (e) => {\r\n isSonucuDialogRef?.current?.openRecord(e.row.data.talepId);\r\n // analizSonucuDialogRef?.current?.openRecord(e?.row?.data?.talepId);\r\n }}\r\n ></Button>,\r\n <Button\r\n key=\"KontrolEdildi\"\r\n hint={\"Kontrol Edildi Olarak İşaretle\"}\r\n icon={\"check\"}\r\n onClick={async (e) => {\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}KontrolEdilecekIsler/KontrolEdildiOlarakIsaretle`,\r\n data: {\r\n id: e.row.data.talepId,\r\n },\r\n })\r\n .then(async (res) => {\r\n await listGridRef.current.instance.refresh();\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n });\r\n }}\r\n visible={(e) => {\r\n return (\r\n e.row.data.talepleriKontrolEdebilir === true &&\r\n e.row.data.kendimKontrolEttim !== true\r\n );\r\n }}\r\n ></Button>,\r\n <Button\r\n key=\"KontrolEdilmedi\"\r\n hint={\"Kontrol Edilmedi Olarak İşaretle\"}\r\n icon={\"close\"}\r\n onClick={async (e) => {\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}KontrolEdilecekIsler/KontrolEdilmediOlarakIsaretle`,\r\n data: {\r\n id: e.row.data.talepId,\r\n },\r\n })\r\n .then(async (res) => {\r\n await listGridRef.current.instance.refresh();\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n });\r\n }}\r\n visible={(e) => {\r\n return (\r\n e.row.data.talepleriKontrolEdebilir === true &&\r\n e.row.data.kendimKontrolEttim === true\r\n );\r\n }}\r\n ></Button>,\r\n ];\r\n\r\n return (\r\n <>\r\n <PageFilter\r\n PageConfig={PageConfig}\r\n ref={filterRef}\r\n listGridRef={listGridRef}\r\n />\r\n <PageGrid\r\n gridId=\"FirmaTalep\"\r\n PageConfig={PageConfig}\r\n listGridRef={listGridRef}\r\n filterRef={filterRef}\r\n // recordRef={recordRef}\r\n isCreatable={false}\r\n ekranKodu={ekranKodu}\r\n CustomColumnButton={CustomColumnButton}\r\n editBtnVisible={false}\r\n onRowPreparedExtra={onRowPreparedExtra}\r\n allowSingleSelection={true}\r\n />\r\n <IsSonucuDialog\r\n ref={isSonucuDialogRef}\r\n isEditable={false}\r\n mainlistGridRef= {listGridRef}\r\n ></IsSonucuDialog>\r\n {/* <AnalizSonucuDialog\r\n ref={isSonucuDialogRef}\r\n ekranKodu={ekranKodu}\r\n isEditable={false}\r\n // buttonVisible={true}\r\n ></AnalizSonucuDialog> */}\r\n </>\r\n );\r\n}\r\n","import { ID_WIDTH } from \"../common/entityconstants\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"listeKodu\",\r\n label: \"Liste Kodu\",\r\n dataType: \"text\",\r\n dataField: \"listeKodu\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"listeAdi\",\r\n label: \"Liste Adı\",\r\n dataType: \"text\",\r\n dataField: \"listeAdi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"baslangicTarihi\",\r\n label: \"Başlangıç Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"baslangicTarihi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"bitisTarihi\",\r\n label: \"Bitiş Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"bitisTarihi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"aciklama\",\r\n label: \"Açıklama\",\r\n dataType: \"text\",\r\n dataField: \"aciklama\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"aktif\",\r\n label: \"Aktif\",\r\n dataType: \"boolean\",\r\n dataField: \"aktif\",\r\n visible: [\"grid\"],\r\n },\r\n //filtre--------------------------------------------------------------------------------------------------\r\n {\r\n name: \"listeKodu\",\r\n label: \"Liste Kodu\",\r\n dataType: \"text\",\r\n dataField: \"listeKodu\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"listeAdi\",\r\n label: \"Liste Adı\",\r\n dataType: \"text\",\r\n dataField: \"listeAdi\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"baslangicTarihi\",\r\n label: \"Başlangıç Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"baslangicTarihi\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"bitisTarihi\",\r\n label: \"Bitiş Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"bitisTarihi\",\r\n visible: [\"filter\"],\r\n }\r\n \r\n];\r\n\r\nexport default entity;\r\n","import Type from \"../../entities/FiyatListeMaster\";\r\n\r\nconst PageConfig = {\r\n title: \"FiyatListeMaster\",\r\n ekranKodu: \"FiyatListeMaster_Res\",\r\n type: Type,\r\n listRoute: \"FiyatListeMaster/List\",\r\n getByIdRoute: \"FiyatListeMaster/GetById\",\r\n insertRoute: \"FiyatListeMaster/Insert\",\r\n updateRoute: \"FiyatListeMaster/Update\",\r\n deleteRoute: \"FiyatListeMaster/Delete\",\r\n};\r\n\r\nconst ExcelImportConfig = {\r\n fileUploadRoute: \"FiyatListeMaster/ExcelImport\",\r\n};\r\n\r\nexport { PageConfig, ExcelImportConfig };\r\n","import Type from \"../../entities/FiyatListeDetay\";\r\n\r\nconst PageConfig = {\r\n title: \"FiyatListeDetay\",\r\n ekranKodu: \"FiyatListeMaster_Res\",\r\n type: Type,\r\n listRoute: \"FiyatListeDetay/List\",\r\n getByIdRoute: \"FiyatListeDetay/GetById\",\r\n insertRoute: \"FiyatListeDetay/Insert\",\r\n updateRoute: \"FiyatListeDetay/Update\",\r\n deleteRoute: \"FiyatListeDetay/Delete\",\r\n};\r\n\r\nexport { PageConfig };\r\n","import { ID_WIDTH } from \"../common/entityconstants\";\r\nimport { URUN_PROGRAMLARI, URUN_TIP_MODULPAKET } from \"../common/constants\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"masterid\",\r\n label: \"Liste No\",\r\n dataType: \"number\",\r\n dataField: \"masterid\",\r\n visible: [\"grid\"],\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"program\",\r\n label: \"Program\",\r\n dataType: \"select\",\r\n dataField: \"program\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(URUN_PROGRAMLARI),\r\n },\r\n {\r\n name: \"urunTip\",\r\n label: \"Ürün Tipi\",\r\n dataType: \"select\",\r\n dataField: \"urunTip\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(URUN_TIP_MODULPAKET),\r\n },\r\n {\r\n name: \"urunKoduAdi\",\r\n label: \"Ürün/Paket Kodu-Adı\",\r\n dataType: \"text\",\r\n dataField: \"urunKoduAdi\",\r\n visible: [\"grid\"],\r\n filterOperations: [\"contains\", \"startsWith\", \"endsWith\"],\r\n },\r\n // {\r\n // name: \"urunKodu\",\r\n // label: \"Ürün/Paket Kodu\",\r\n // dataType: \"text\",\r\n // dataField: \"urunKodu\",\r\n // visible: [\"grid\"],\r\n // },\r\n // {\r\n // name: \"urunAdi\",\r\n // label: \"Ürün/Paket Adı\",\r\n // dataType: \"text\",\r\n // dataField: \"urunAdi\",\r\n // visible: [\"grid\"],\r\n // },\r\n {\r\n name: \"kullaniciSayisi1\",\r\n label: \"Kullanıcı Sayısı - 1\",\r\n dataType: \"number\",\r\n dataField: \"kullaniciSayisi1\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"kullaniciSayisi2\",\r\n label: \"Kullanıcı Sayısı - 2\",\r\n dataType: \"number\",\r\n dataField: \"kullaniciSayisi2\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"birimFiyat\",\r\n label: \"Birim Fiyat\",\r\n dataType: \"number\",\r\n dataField: \"birimFiyat\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"birim\",\r\n label: \"Para Birimi\",\r\n dataType: \"text\",\r\n dataField: \"birim\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"kdvOrani\",\r\n label: \"KDV Oranı\",\r\n dataType: \"number\",\r\n dataField: \"kdvOrani\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"kdvTutari\",\r\n label: \"KDV Tutarı\",\r\n dataType: \"number\",\r\n dataField: \"kdvTutari\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"kdVliBirimFiyat\",\r\n label: \"KDVli Birim Fiyat\",\r\n dataType: \"number\",\r\n dataField: \"kdVliBirimFiyat\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"kaydiOlusturan\",\r\n label: \"Kaydı Oluşturan\",\r\n dataType: \"text\",\r\n dataField: \"kaydiOlusturan\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"degisiklikTarihi\",\r\n label: \"Değişiklik Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"degisiklikTarihi\",\r\n visible: [\"grid\"],\r\n },\r\n];\r\n\r\nexport default entity;\r\n","import React, { useRef } from \"react\";\r\nimport { Grid } from \"@mui/material\";\r\nimport { Field, Form, FormSpy } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport { PageConfig } from \"./FiyatListeDetayConfig\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport * as yup from \"yup\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport {\r\n PARA_BIRIMI,\r\n URUN_TIP_MODULPAKET,\r\n URUN_PROGRAMLARI,\r\n} from \"../../common/constants\";\r\nimport UrunlerInputForm from \"../../components/inputs/custom-form-inputs/UrunlerInputForm\";\r\nimport NumberInputForm from \"../../components/inputs/form-inputs/NumberInputForm\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport dayjs from \"dayjs\";\r\n\r\nconst FiyatListeDetayRecord = React.forwardRef(\r\n (\r\n {\r\n ekranKodu,\r\n listGridRef,\r\n masterRef,\r\n detailGridRef,\r\n editGridRef,\r\n listeNo,\r\n setGridDs,\r\n },\r\n ref\r\n ) => {\r\n const context = React.useContext(AppContext);\r\n\r\n const initialState = {\r\n aktif: true,\r\n degisiklikTarihi: dayjs(),\r\n kayitEdenKullanici: context?.user?.id,\r\n };\r\n\r\n const urunKoduInputRef = useRef();\r\n const urunTipiRef = useRef();\r\n const programRef = useRef();\r\n\r\n const customFetchData = (id) => {\r\n let rows = editGridRef.current.instance.getVisibleRows();\r\n let currentRow = rows.find((x) => x.key == id);\r\n setRowData(currentRow.data);\r\n setModalLoading(false);\r\n };\r\n\r\n const customInsertOrUpdate = (values) => {\r\n var tempChanges = editGridRef.current.instance\r\n .option(\"editing.changes\")\r\n .slice();\r\n if (recId) {\r\n let change = tempChanges.find((x) => x.key == recId);\r\n if (!change) {\r\n tempChanges.push({\r\n key: recId,\r\n data: {},\r\n type: \"update\",\r\n });\r\n change = tempChanges.find((x) => x.key == recId);\r\n }\r\n\r\n let rows = editGridRef.current.instance.getVisibleRows();\r\n let currentRow = rows.find((x) => x.key == recId);\r\n\r\n Object.keys(currentRow.data).map((key) => {\r\n if (values[key] != currentRow.data[key]) {\r\n change.data[key] = values[key];\r\n }\r\n });\r\n } else {\r\n tempChanges.push({\r\n key: crypto.randomUUID(),\r\n data: values,\r\n type: \"insert\",\r\n });\r\n }\r\n\r\n editGridRef.current.instance.option(\"editing.changes\", tempChanges);\r\n\r\n handleClose();\r\n };\r\n\r\n const values = useRef(null);\r\n\r\n var urunPaketSecimEnabled = useRef(null);\r\n var urunTipSecimEnabled = useRef(null);\r\n\r\n urunPaketSecimEnabled = false;\r\n urunTipSecimEnabled = false;\r\n\r\n const afterDelete = () => {\r\n if (typeof recId === typeof \"\") {\r\n let tempChanges =\r\n editGridRef.current.instance.option(\"editing.changes\");\r\n editGridRef.current.instance.option(\r\n \"editing.changes\",\r\n tempChanges.filter((x) => x.key != recId)\r\n );\r\n } else {\r\n let ds = editGridRef.current.instance.option(\"dataSource\");\r\n setGridDs(ds.filter((x) => x.id != recId));\r\n }\r\n };\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n setRowData,\r\n setModalLoading,\r\n recId,\r\n } = usePageRecord(\r\n ref,\r\n PageConfig,\r\n listGridRef,\r\n ekranKodu,\r\n initialState,\r\n detailGridRef,\r\n false,\r\n customFetchData,\r\n customInsertOrUpdate,\r\n null,\r\n afterDelete\r\n );\r\n\r\n const validationSchema = yup.object().shape({\r\n urunTip: yup.number().required(),\r\n urunid: yup.number().required(),\r\n program: yup.number().required(),\r\n kullaniciSayisi1: yup.number().required(),\r\n kullaniciSayisi2: yup.number().required(),\r\n birimFiyat: yup.number().required(),\r\n birim: yup.string().required(),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Yeni Fiyat Listesi Detay\"\r\n maxWidth=\"sm\"\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n // subscription={{\r\n // form: true,\r\n // }}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n reset,\r\n values: formValues,\r\n }) => {\r\n return (\r\n <FormComponent\r\n onSubmit={handleSubmit}\r\n style={{ height: \"480px\" }}\r\n >\r\n <FormSpy\r\n subscription={{ values: true }}\r\n onChange={(props) => {\r\n if (\r\n values?.current?.kdvOrani != props.values.kdvOrani ||\r\n values?.current?.birimFiyat != props.values.birimFiyat\r\n ) {\r\n let xkdvTutari =\r\n (props.values.birimFiyat * props.values.kdvOrani) /\r\n 100;\r\n form.change(\"kdvTutari\", xkdvTutari);\r\n\r\n form.change(\r\n \"kdVliBirimFiyat\",\r\n xkdvTutari + props.values.birimFiyat\r\n );\r\n }\r\n values.current = props.values;\r\n\r\n // urunTipSecimEnabled = props.values.program !== null;\r\n // urunPaketSecimEnabled = props.values.urunTip !== null;\r\n }}\r\n />\r\n <DialogContentWrapper>\r\n {/* <DialogContentTop> */}\r\n <Grid item xs={12} sm={6} md={6}>\r\n <FieldWrapper\r\n label=\"Fiyat Listesi Detay No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Liste No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n disabled\r\n name=\"masterid\"\r\n component={TextInputForm}\r\n // defaultValue={masterRef?.id}\r\n defaultValue={listeNo}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper label=\"Program\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"program\"\r\n items={Object.values(URUN_PROGRAMLARI)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n ref={programRef}\r\n onChangeExtra={(old, newVal) => {\r\n console.log(\"ewVal?.Valueprogram\", newVal?.Value);\r\n urunTipSecimEnabled = newVal?.Value !== null;\r\n }}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Ürün Tipi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"urunTip\"\r\n items={Object.values(URUN_TIP_MODULPAKET)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n disabled={!urunTipSecimEnabled}\r\n ref={urunTipiRef}\r\n onChangeExtra={(old, newVal) => {\r\n urunPaketSecimEnabled = newVal?.Value !== null;\r\n }}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper label=\"Ürün\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"urunid\"\r\n rowData={rowData}\r\n component={UrunlerInputForm}\r\n readOnly={!yetki.kaydet}\r\n disabled={!urunPaketSecimEnabled}\r\n inputRef={urunKoduInputRef}\r\n ekranKodu={ekranKodu}\r\n urunTipiRef={urunTipiRef}\r\n programRef={programRef}\r\n fieldsForText={[\"urunKodu\", \"urunAdi\"]}\r\n fieldLabel={\"urunKoduAdi\"}\r\n onChangeExtra={(old, newVal) => {\r\n if (newVal?.Value) {\r\n // console.log(newVal, \"newVal\");\r\n\r\n form?.change(\"urunKoduAdi\", newVal?.Text);\r\n }\r\n }}\r\n />\r\n </FieldWrapper>\r\n {/* <FieldWrapper label=\"Ürün Adı\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"urunid\"\r\n rowData={rowData}\r\n component={UrunlerUrunAdiInputForm}\r\n readOnly={!yetki.kaydet}\r\n inputRef={urunAdiInputRef}\r\n ekranKodu={ekranKodu}\r\n urunTipiRef={urunTipiRef}\r\n // onChangeExtra={urunAdiInputOnChangeExtra}\r\n\r\n // urunBilgileriResultRef={\"asd\"}\r\n />\r\n </FieldWrapper> */}\r\n <FieldWrapper\r\n label=\"Kullanıcı Sayısı - 1\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"kullaniciSayisi1\"\r\n component={NumberInputForm}\r\n readOnly={!yetki.kaydet}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Kullanıcı Sayısı - 2\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"kullaniciSayisi2\"\r\n component={NumberInputForm}\r\n readOnly={!yetki.kaydet}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Birim Fiyat\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"birimFiyat\"\r\n component={NumberInputForm}\r\n readOnly={!yetki.kaydet}\r\n rowData={rowData}\r\n // onChange={(e) => kdvTutariHesapla(e, \"birimFiyat\")}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper label=\"Birim\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"birim\"\r\n items={Object.values(PARA_BIRIMI)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Kdv Oranı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"kdvOrani\"\r\n component={NumberInputForm}\r\n readOnly={!yetki.kaydet}\r\n rowData={rowData}\r\n // onChange={(e) => kdvTutariHesapla(e, \"kdvOrani\")}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Kdv Tutarı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"kdvTutari\"\r\n component={NumberInputForm}\r\n readOnly={true}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Kdv'li Birim Fiyat\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"kdVliBirimFiyat\"\r\n component={NumberInputForm}\r\n readOnly={true}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n {/* </DialogContentTop> */}\r\n <DialogActionsWrapper>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogActionsWrapper>\r\n </DialogContentWrapper>\r\n </FormComponent>\r\n );\r\n }}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n }\r\n);\r\nexport default FiyatListeDetayRecord;\r\n","import { useEffect, useRef, useState } from \"react\";\r\nimport { PageConfig } from \"./FiyatListeDetayConfig\";\r\nimport FiyatListeDetayRecord from \"./FiyatListeDetayRecord\";\r\nimport EditGrid from \"../../components/grid/EditGrid\";\r\nimport { useField } from \"react-final-form\";\r\n\r\nfunction FiyatListeDetay({\r\n ekranKodu,\r\n rowData,\r\n listGridRef,\r\n detailGridRef,\r\n editGridRef,\r\n}) {\r\n const recordRef = useRef();\r\n const ref = useRef();\r\n\r\n const [gridDs, setGridDs] = useState(rowData.detay);\r\n\r\n useEffect(() => {\r\n setGridDs(rowData.detay);\r\n }, [rowData]);\r\n\r\n const openRecord = (id) => {\r\n ref.current.openRecord(id);\r\n };\r\n\r\n const listeid = useField(\"id\").input.value;\r\n\r\n return (\r\n <>\r\n <EditGrid\r\n entities={PageConfig.type}\r\n openRecord={openRecord}\r\n height={\"60vh\"}\r\n editGridRef={editGridRef}\r\n dataSource={gridDs ?? []}\r\n filtrele={true}\r\n ></EditGrid>\r\n <FiyatListeDetayRecord\r\n ref={ref}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n detailGridRef={detailGridRef}\r\n editGridRef={editGridRef}\r\n listeNo={listeid}\r\n setGridDs={setGridDs}\r\n ></FiyatListeDetayRecord>\r\n </>\r\n );\r\n}\r\n\r\nexport default FiyatListeDetay;\r\n","import React, { useRef } from \"react\";\r\nimport { Grid } from \"@mui/material\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport { PageConfig } from \"./FiyatListeMasterConfig\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport * as yup from \"yup\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport CheckboxForm from \"../../components/inputs/form-inputs/CheckboxForm\";\r\nimport DateTimeInputForm from \"../../components/inputs/form-inputs/DateTimeInputForm\";\r\nimport DialogContentTop from \"../../components/dialogs/DialogContentTop\";\r\nimport FiyatListeDetay from \"./FiyatListeDetay\";\r\nimport DosyaYukle from \"../../components/file/DosyaYukle\";\r\nimport DosyaYukleButton from \"../../components/buttons/custom/DosyaYukleButton\";\r\n\r\nconst FiyatListeMasterRecord = React.forwardRef(\r\n ({ ekranKodu, listGridRef, detailGridRef }, ref) => {\r\n const initialState = { aktif: true };\r\n const editGridRef = useRef();\r\n const dosyaYukleRef = useRef();\r\n\r\n const handleSubmitPrepareData = (values) => {\r\n let aa = {\r\n ...values,\r\n detay: editGridRef.current.instance.getVisibleRows().map((row) => {\r\n return row.data;\r\n }),\r\n };\r\n\r\n return aa;\r\n };\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n openRecord,\r\n recId,\r\n } = usePageRecord(\r\n ref,\r\n PageConfig,\r\n listGridRef,\r\n ekranKodu,\r\n initialState,\r\n () => {\r\n editGridRef.current?.instance?.cancelEditData();\r\n },\r\n null,\r\n null,\r\n null,\r\n handleSubmitPrepareData\r\n );\r\n\r\n const validationSchema = yup.object().shape({\r\n listeKodu: yup.string().required(),\r\n listeAdi: yup.string().required(),\r\n baslangicTarihi: yup.date().required(),\r\n bitisTarihi: yup.date().required(),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n const refreshRecord = () => {\r\n openRecord(recId);\r\n };\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Yeni Fiyat Listesi\"\r\n maxWidth=\"lg\"\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <DialogContentTop>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <FieldWrapper\r\n label=\"Fiyat Listesi No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Liste Kodu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"listeKodu\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Liste Adı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"listeAdi\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <FieldWrapper\r\n label=\"Başlangıç Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"baslangicTarihi\"\r\n component={DateTimeInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Bitiş Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"bitisTarihi\"\r\n component={DateTimeInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Açıklama\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"aciklama\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper label=\"Aktif\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"aktif\"\r\n component={CheckboxForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n </DialogContentTop>\r\n <DialogActionsWrapper\r\n sx={{\r\n justifyContent: \"space-between\",\r\n }}\r\n >\r\n <DosyaYukleButton\r\n label={\"Excel'den Al\"}\r\n onClick={() => {\r\n dosyaYukleRef?.current?.openModal();\r\n }}\r\n disabled={!rowData?.id}\r\n />\r\n <DosyaYukle\r\n route={\"FiyatListeMaster/ExcelImport\"}\r\n ref={dosyaYukleRef}\r\n reqExtraData={[{ name: \"id\", value: rowData?.id }]}\r\n // reqExtraData={}\r\n rowData={rowData}\r\n setRowData={() => {}}\r\n allowedFileExtensions={[\".xls\", \".xlsx\"]}\r\n modalTitle=\"Excel'den Al\"\r\n handleCloseExtra={() => {\r\n openRecord(recId);\r\n }}\r\n sutunSiralamasi={\r\n \"Ürün Kodu - Kullanıcı Sayısı 1 - Kullanıcı Sayısı 2 - Birim Fiyat - Birim - Kdv Oranı\"\r\n }\r\n />\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogActionsWrapper>\r\n <DialogContentWrapper>\r\n <FiyatListeDetay\r\n ekranKodu={ekranKodu}\r\n rowData={rowData}\r\n editGridRef={editGridRef}\r\n listGridRef={editGridRef}\r\n detailGridRef={editGridRef}\r\n // masterOpenRecord={refreshRecord}\r\n ></FiyatListeDetay>\r\n </DialogContentWrapper>\r\n </DialogContentWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n }\r\n);\r\nexport default FiyatListeMasterRecord;\r\n","import { useRef } from \"react\";\r\nimport PageFilter from \"../../components/filter/PageFilter\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\nimport { PageConfig } from \"./FiyatListeMasterConfig\";\r\nimport FiyatListeMasterRecord from \"./FiyatListeMasterRecord\";\r\n\r\nfunction FiyatListeMaster({ ekranKodu }) {\r\n const listGridRef = useRef();\r\n const filterRef = useRef();\r\n const recordRef = useRef();\r\n const detailGridRef = useRef();\r\n\r\n return (\r\n <>\r\n <PageFilter\r\n PageConfig={PageConfig}\r\n ref={filterRef}\r\n listGridRef={listGridRef}\r\n />\r\n <PageGrid\r\n gridId=\"FiyatListeMaster\"\r\n PageConfig={PageConfig}\r\n listGridRef={listGridRef}\r\n filterRef={filterRef}\r\n recordRef={recordRef}\r\n isCreatable\r\n ekranKodu={ekranKodu}\r\n />\r\n <FiyatListeMasterRecord\r\n ref={recordRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n detailGridRef={detailGridRef}\r\n ></FiyatListeMasterRecord>\r\n </>\r\n );\r\n}\r\n\r\nexport default FiyatListeMaster;\r\n","import React from \"react\";\r\nimport AutocomplateInputForm from \"../form-inputs/AutocomplateInputForm\";\r\n\r\nexport default function FiyatListesiInputForm({\r\n ekranKodu,\r\n rowData,\r\n readOnly,\r\n inputRef,\r\n input,\r\n reqData,\r\n ...rest\r\n}) {\r\n return (\r\n <>\r\n <AutocomplateInputForm\r\n ref={inputRef}\r\n readOnly={readOnly}\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute: \"FiyatListeMaster/FiyatListForSelect\",\r\n fildsForText: [\"listeKodu\"],\r\n fieldForValue: \"id\",\r\n reqData: {},\r\n fieldLabel: \"fiyatListeidStr\",\r\n }}\r\n input={input}\r\n {...rest}\r\n />\r\n </>\r\n );\r\n}\r\n","import { ID_WIDTH, BASLIK_WIDTH } from \"../common/entityconstants\";\r\nimport KullaniciInputForm from \"../components/inputs/custom-form-inputs/KullaniciInputForm\";\r\nimport SirketInputForm from \"../components/inputs/custom-form-inputs/SirketInputForm\";\r\nimport { parseHtmlString } from \"../common/constant-functions/parseHtmlString\";\r\nimport FiyatListesiInputForm from \"../components/inputs/custom-form-inputs/FiyatListesiInputForm\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"bayiKod\",\r\n label: \"Bayi Kodu\",\r\n dataType: \"text\",\r\n dataField: \"bayiKod\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"bayiAdi\",\r\n label: \"Bayi Adı\",\r\n dataType: \"text\",\r\n dataField: \"bayiAdi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"bayiAnaKullaniciStr\",\r\n label: \"Bayi Ana Kullanıcı\",\r\n dataType: \"custom\",\r\n dataField: \"bayiAnaKullaniciStr\",\r\n visible: [\"grid\"],\r\n customComponent: KullaniciInputForm,\r\n },\r\n {\r\n name: \"bayiAnaSirketStr\",\r\n label: \"Bayi Ana Şirket\",\r\n dataType: \"custom\",\r\n dataField: \"bayiAnaSirketStr\",\r\n visible: [\"grid\"],\r\n customComponent: SirketInputForm,\r\n },\r\n {\r\n name: \"maxIskontoOrani\",\r\n label: \"Max. İskonto Oranı\",\r\n dataType: \"number\",\r\n dataField: \"maxIskontoOrani\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"fiyatListesiidStr\",\r\n label: \"Fiyat Listesi\",\r\n dataType: \"custom\",\r\n dataField: \"fiyatListesiidStr\",\r\n visible: [\"grid\"],\r\n customComponent: FiyatListesiInputForm,\r\n },\r\n {\r\n name: \"aciklama\",\r\n label: \"Açıklama\",\r\n dataType: \"text\",\r\n dataField: \"aciklama\",\r\n visible: [\"grid\"],\r\n width: BASLIK_WIDTH,\r\n customizeText: (e) => e?.value && parseHtmlString(e?.value),\r\n },\r\n {\r\n name: \"aktif\",\r\n label: \"Aktif\",\r\n dataType: \"boolean\",\r\n dataField: \"aktif\",\r\n visible: [\"grid\"],\r\n },\r\n //filtre--------------------------------------------------------------------------------------------------\r\n {\r\n name: \"bayiKod\",\r\n label: \"Bayi Kodu\",\r\n dataType: \"text\",\r\n dataField: \"bayiKod\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"bayiAdi\",\r\n label: \"Bayi Adı\",\r\n dataType: \"text\",\r\n dataField: \"bayiAdi\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"bayiAnaKullanici\",\r\n label: \"Bayi Ana Kullanıcı\",\r\n dataType: \"custom\",\r\n dataField: \"bayiAnaKullanici\",\r\n visible: [\"filter\"],\r\n customComponent: KullaniciInputForm,\r\n },\r\n {\r\n name: \"bayiAnaSirket\",\r\n label: \"Bayi Ana Şirket\",\r\n dataType: \"custom\",\r\n dataField: \"bayiAnaSirket\",\r\n visible: [\"filter\"],\r\n customComponent: SirketInputForm,\r\n },\r\n];\r\n\r\nexport default entity;\r\n","import Type from \"../../entities/Bayiler\";\r\nimport { EKRAN_KODU } from \"../../common/constants\";\r\n\r\nconst PageConfig = {\r\n title: \"Bayiler\",\r\n ekranKodu: \"Bayiler_Res\",\r\n type: Type,\r\n listRoute: \"Bayiler/List\",\r\n getByIdRoute: \"Bayiler/GetById\",\r\n insertRoute: \"Bayiler/Insert\",\r\n updateRoute: \"Bayiler/Update\",\r\n deleteRoute: \"Bayiler/Delete\",\r\n};\r\n\r\nconst FileConfig = {\r\n allFilesDownloadRoute: \"Bayiler/DosyalariIndir\",\r\n fileDownloadRoute: \"Bayiler/DosyaIndir\",\r\n filesInfoRoute: \"Bayiler/DosyaBilgileri\",\r\n fileUploadRoute: \"Bayiler/DosyaYukle\",\r\n deleteFilesRoute: \"Bayiler/DeleteFiles\",\r\n};\r\n\r\nconst BayiAnlasmaBilgileriConfig = {\r\n ekranKodu: EKRAN_KODU.ANLASMA_BILGILERI.value,\r\n getByIdRoute: \"Bayiler/AnlasmaBilgileriGetById\",\r\n updateRoute: \"Bayiler/AnlasmaBilgileriUpdate\",\r\n contractUploadRoute: \"Bayiler/ContractUpload\",\r\n contractGetByIdRoute: \"Bayiler/ContractGetById\",\r\n};\r\n\r\nexport { PageConfig, FileConfig, BayiAnlasmaBilgileriConfig };\r\n","import { Grid } from \"@mui/material\";\r\nimport React, { useContext, useRef } from \"react\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport useFetchDialog from \"../../hooks/use-fetch-dialog\";\r\nimport CustomColoredButton from \"../../components/buttons/custom/CustomColoredButton\";\r\nimport useSubmit from \"../../hooks/use-submit\";\r\nimport SaveButton from \"../../components/buttons/custom/SaveButton\";\r\nimport CancelButton from \"../../components/buttons/custom/CancelButton\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport DescriptionIcon from \"@mui/icons-material/Description\";\r\nimport NumberInputForm from \"../../components/inputs/form-inputs/NumberInputForm\";\r\nimport { YETKI_GRUBU_TIPI } from \"../../common/constants\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport DialogContentTop from \"../../components/dialogs/DialogContentTop\";\r\nimport DosyaYukle from \"../../components/file/DosyaYukle\";\r\nimport DosyaYukleButton from \"../../components/buttons/custom/DosyaYukleButton\";\r\nimport { BayiAnlasmaBilgileriConfig } from \"./BayilerConfig\";\r\nimport PdfDialog from \"../../components/pdf/PdfDialog\";\r\nimport DateInputForm2 from \"../../components/inputs/form-inputs/DateInputForm2\";\r\n\r\nconst BayiAnlasmaBilgileriDialog = React.forwardRef(({ listGridRef }, ref) => {\r\n const { open, closeRecord, modalLoading, rowData, setRowData } =\r\n useFetchDialog(ref, BayiAnlasmaBilgileriConfig.getByIdRoute);\r\n\r\n const handleSubmit = useSubmit(\r\n { updateRoute: BayiAnlasmaBilgileriConfig.updateRoute },\r\n setRowData,\r\n listGridRef\r\n );\r\n\r\n const pdfDialogRef = useRef();\r\n const dosyaYukleRef = useRef();\r\n\r\n const context = useContext(AppContext);\r\n const yetki =\r\n context?.user?.yetkiler.find(\r\n (x) => x.ekranKodu === BayiAnlasmaBilgileriConfig.ekranKodu\r\n ) ?? {};\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"Anlaşma Bilgileri\"\r\n maxWidth=\"sm\"\r\n fullWidth={true}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n //validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <DialogContentTop>\r\n <Grid item xs={12}>\r\n <FieldWrapper\r\n label=\"Destek Sözleşmesi Başlangıç Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"destekSozBaslangic\"\r\n component={DateInputForm2}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Aylık Standart Süre (dk)\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"aylikStandartSure\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n numberInput={true}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Destek Sözleşmesi Bitiş Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"destekSozBitis\"\r\n component={DateInputForm2}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n {context.user.yetkiGrubuTipi ===\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value && (\r\n <FieldWrapper\r\n label=\"Aylık Anlaşılan Standart Ücret\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"aylikAnlasilanStandartUcret\"\r\n component={NumberInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n )}\r\n </Grid>\r\n </DialogContentTop>\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper\r\n sx={{\r\n justifyContent: \"space-between\",\r\n }}\r\n >\r\n <Grid>\r\n <>\r\n {rowData.sozlesmeVarMi && (\r\n <CustomColoredButton\r\n startIcon={<DescriptionIcon />}\r\n onClick={(e) => {\r\n pdfDialogRef?.current?.openRecord(rowData.id);\r\n }}\r\n color=\"grape\"\r\n >\r\n Sözleşme\r\n </CustomColoredButton>\r\n )}\r\n\r\n <DosyaYukleButton\r\n onClick={() => {\r\n dosyaYukleRef?.current?.openModal();\r\n }}\r\n label=\"Sözleşme Yükle\"\r\n />\r\n </>\r\n </Grid>\r\n <Grid>\r\n <SaveButton\r\n onClick={(e) => {\r\n form.submit();\r\n }}\r\n />\r\n <CancelButton\r\n onClick={() => {\r\n form.reset();\r\n }}\r\n disabled={submitting || pristine}\r\n />\r\n </Grid>\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n <DosyaYukle\r\n route={BayiAnlasmaBilgileriConfig.contractUploadRoute}\r\n reqExtraData={[{ name: \"id\", value: rowData?.id }]}\r\n ref={dosyaYukleRef}\r\n rowData={rowData}\r\n setRowData={setRowData}\r\n ></DosyaYukle>\r\n\r\n <PdfDialog\r\n ref={pdfDialogRef}\r\n title=\"Sözleşme\"\r\n url={BayiAnlasmaBilgileriConfig.contractGetByIdRoute}\r\n />\r\n </>\r\n );\r\n});\r\n\r\nexport default BayiAnlasmaBilgileriDialog;\r\n","import React, { useContext, useRef } from \"react\";\r\nimport { Grid, Skeleton, Typography } from \"@mui/material\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport { PageConfig, FileConfig } from \"./BayilerConfig\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogContentTop from \"../../components/dialogs/DialogContentTop\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport * as yup from \"yup\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport CheckboxForm from \"../../components/inputs/form-inputs/CheckboxForm\";\r\nimport NumberInputForm from \"../../components/inputs/form-inputs/NumberInputForm\";\r\nimport SirketInputForm from \"../../components/inputs/custom-form-inputs/SirketInputForm\";\r\nimport KullaniciInputForm from \"../../components/inputs/custom-form-inputs/KullaniciInputForm\";\r\nimport CustomDropZone from \"../../components/file/CustomDropZone\";\r\nimport RichTextEditor from \"../../components/inputs/form-inputs/RichTextEditor\";\r\nimport EkDosyaButton from \"../../components/buttons/custom/EkDosyaButton\";\r\nimport FiyatListesiInputForm from \"../../components/inputs/custom-form-inputs/FiyatListesiInputForm\";\r\nimport BayiAnlasmaBilgileriDialog from \"./BayiAnlasmaBilgileriDialog\";\r\nimport { EKRAN_KODU } from \"../../common/constants\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport CustomColoredButton from \"../../components/buttons/custom/CustomColoredButton\";\r\nimport WorkOutlineIcon from \"@mui/icons-material/WorkOutline\";\r\n\r\nconst CustomFieldWrapper = ({ label, modalLoading, children }) => {\r\n return (\r\n <FieldWrapper\r\n label={label}\r\n modalLoading={modalLoading}\r\n width={\"75%\"}\r\n textWidth={\"25%\"}\r\n >\r\n {children}\r\n </FieldWrapper>\r\n );\r\n};\r\n\r\nconst BayilerRecord = React.forwardRef(({ ekranKodu, listGridRef }, ref) => {\r\n const context = useContext(AppContext);\r\n const initialState = { aktif: true };\r\n\r\n const sirketInputRef = useRef();\r\n const kullaniciInputRef = useRef();\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n setRowData,\r\n } = usePageRecord(ref, PageConfig, listGridRef, ekranKodu, initialState);\r\n\r\n const bayiAnlasmaBilgileriDialogRef = useRef();\r\n\r\n const setLogo = (res) => {\r\n if (res.data.success)\r\n setRowData((prevData) => ({ ...prevData, logo: res.data.data }));\r\n };\r\n\r\n const validationSchema = yup.object().shape({\r\n bayiKod: yup.string().required(),\r\n bayiAdi: yup.string().required(),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n // console.log(rowData, \"rowData\");\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Yeni Bayi\"\r\n maxWidth=\"md\"\r\n fullWidth={true}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <DialogContentTop>\r\n <Grid\r\n item\r\n xs={rowData.id ? 8 : 12}\r\n sm={rowData.id ? 8 : 12}\r\n md={rowData.id ? 8 : 12}\r\n >\r\n <CustomFieldWrapper\r\n label=\"Bayi No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Bayi Kodu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"bayiKod\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Bayi Adı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"bayiAdi\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Bayi Ana Şirket\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"bayiAnaSirket\"\r\n rowData={rowData}\r\n component={SirketInputForm}\r\n readOnly={!yetki.kaydet}\r\n inputRef={sirketInputRef}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Bayi Ana Kullanıcı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"bayiAnaKullanici\"\r\n rowData={rowData}\r\n component={KullaniciInputForm}\r\n readOnly={!yetki.kaydet}\r\n inputRef={kullaniciInputRef}\r\n sirketInputRef={sirketInputRef}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Max. İskonto Oranı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"maxIskontoOrani\"\r\n component={NumberInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Fiyat Listesi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"fiyatListesiid\"\r\n rowData={rowData}\r\n component={FiyatListesiInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Aktif\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"aktif\"\r\n component={CheckboxForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n </Grid>\r\n {rowData.id && (\r\n <Grid item xs={4}>\r\n {!modalLoading ? (\r\n <CustomDropZone\r\n sx={{\r\n maxWidth: \"130px\",\r\n maxHeight: \"170px\",\r\n }}\r\n dropZoneText={\r\n <Typography variant=\"caption\">Logo seç</Typography>\r\n }\r\n route=\"Bayiler/UploadLogo\"\r\n afterUpload={setLogo}\r\n defaultImg={`data:image/jpeg;base64,${rowData?.logo}`}\r\n reqExtraData={[{ name: \"bayiid\", value: rowData.id }]}\r\n />\r\n ) : (\r\n <Skeleton\r\n sx={{ width: \"90px\", height: \"90px\" }}\r\n ></Skeleton>\r\n )}\r\n </Grid>\r\n )}\r\n {/* <Grid item xs={4} sm={4} md={4}>\r\n <CustomFieldWrapper\r\n label=\"Bayi No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </CustomFieldWrapper>\r\n </Grid> */}\r\n </DialogContentTop>\r\n <Field\r\n name=\"aciklama\"\r\n component={RichTextEditor}\r\n readOnly={!yetki.kaydet}\r\n rowData={rowData}\r\n label=\"Bayi Açıklaması\"\r\n modalLoading={modalLoading}\r\n />\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper\r\n sx={{\r\n justifyContent: \"space-between\",\r\n }}\r\n >\r\n <Grid>\r\n <EkDosyaButton\r\n reqData={{\r\n id: rowData.id,\r\n }}\r\n routes={FileConfig}\r\n ekranKodu={ekranKodu}\r\n parentRowData={rowData}\r\n disabled={!rowData?.id}\r\n ></EkDosyaButton>\r\n {context?.user?.yetkiler.find(\r\n (x) => x.ekranKodu === EKRAN_KODU.ANLASMA_BILGILERI.value\r\n )?.goruntule && (\r\n <CustomColoredButton\r\n startIcon={<WorkOutlineIcon />}\r\n onClick={(e) => {\r\n bayiAnlasmaBilgileriDialogRef?.current?.openRecord(\r\n rowData.id\r\n );\r\n }}\r\n color=\"purple\"\r\n disabled={!rowData?.id}\r\n >\r\n Anlaşma Bilgileri\r\n </CustomColoredButton>\r\n )}\r\n </Grid>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n <BayiAnlasmaBilgileriDialog\r\n ref={bayiAnlasmaBilgileriDialogRef}\r\n listGridRef={listGridRef}\r\n ></BayiAnlasmaBilgileriDialog>\r\n </>\r\n );\r\n});\r\nexport default BayilerRecord;\r\n","import React, { useRef } from \"react\";\r\nimport PageFilter from \"../../components/filter/PageFilter\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\nimport { PageConfig } from \"./BayilerConfig\";\r\nimport BayilerRecord from \"./BayilerRecord\";\r\n\r\nfunction Bayiler({ ekranKodu }) {\r\n const listGridRef = useRef();\r\n const filterRef = useRef();\r\n const recordRef = useRef();\r\n\r\n return (\r\n <>\r\n <PageFilter\r\n PageConfig={PageConfig}\r\n ref={filterRef}\r\n listGridRef={listGridRef}\r\n />\r\n <PageGrid\r\n gridId=\"Bayiler\"\r\n PageConfig={PageConfig}\r\n listGridRef={listGridRef}\r\n filterRef={filterRef}\r\n recordRef={recordRef}\r\n isCreatable\r\n ekranKodu={ekranKodu}\r\n />\r\n <BayilerRecord\r\n ref={recordRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n ></BayilerRecord>\r\n </>\r\n );\r\n}\r\n\r\nexport default Bayiler;\r\n","import Type from \"../../entities/PotansiyelMusteri\";\r\n\r\nconst PageConfig = {\r\n title: \"PotansiyelMusteri\",\r\n ekranKodu: \"PotansiyelMusteri_Res\",\r\n type: Type,\r\n listRoute: \"PotansiyelMusteri/List\",\r\n getByIdRoute: \"PotansiyelMusteri/GetById\",\r\n insertRoute: \"PotansiyelMusteri/Insert\",\r\n updateRoute: \"PotansiyelMusteri/Update\",\r\n deleteRoute: \"PotansiyelMusteri/Delete\",\r\n};\r\n\r\nexport { PageConfig };\r\n","import {\r\n DATE_FORMAT,\r\n POTANSIYEL_MUSTERI_TIPI,\r\n YETKI_GRUBU_TIPI,\r\n} from \"../common/constants\";\r\nimport { DATE_WIDTH, FILTER_TYPE, ID_WIDTH } from \"../common/entityconstants\";\r\nimport dayjs from \"dayjs\";\r\nimport BayilerInputForm from \"../components/inputs/custom-form-inputs/BayilerInputForm\";\r\nimport CheckboxForm from \"../components/inputs/form-inputs/CheckboxForm\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"Potansiyel M. No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"musteriAdi\",\r\n label: \"Potansiyel M. Adı\",\r\n dataType: \"text\",\r\n dataField: \"musteriAdi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"vergiNo\",\r\n label: \"Vergi No\",\r\n dataType: \"text\",\r\n dataField: \"vergiNo\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"kayitTarihi\",\r\n label: \"Kayıt Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"kayitTarihi\",\r\n visible: [\"grid\"],\r\n format: DATE_FORMAT,\r\n width: DATE_WIDTH,\r\n },\r\n {\r\n name: \"kayitEdenStr\",\r\n label: \"Kayıt Eden\",\r\n dataType: \"text\",\r\n dataField: \"kayitEdenStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"adres\",\r\n label: \"Adres\",\r\n dataType: \"text\",\r\n dataField: \"adres\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"webSitesi\",\r\n label: \"Web Sitesi\",\r\n dataType: \"text\",\r\n dataField: \"webSitesi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"aciklama\",\r\n label: \"Açıklama\",\r\n dataType: \"text\",\r\n dataField: \"aciklama\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"sirketTel\",\r\n label: \"Şirket Tel\",\r\n dataType: \"text\",\r\n dataField: \"sirketTel\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"sirketMail\",\r\n label: \"Şirket Mail\",\r\n dataType: \"text\",\r\n dataField: \"sirketMail\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"programidStr\",\r\n label: \"Program\",\r\n dataType: \"text\",\r\n dataField: \"programidStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"referans\",\r\n label: \"Referans\",\r\n dataType: \"text\",\r\n dataField: \"referans\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"iletisimDurumuidStr\",\r\n label: \"İletişim Durumu\",\r\n dataType: \"text\",\r\n dataField: \"iletisimDurumuidStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"sonGorusmeTarihi\",\r\n label: \"Son Görüşme Tarihi\",\r\n dataField: \"sonGorusmeTarihi\",\r\n visible: [\"grid\"],\r\n dataType: \"date\",\r\n format: DATE_FORMAT,\r\n width: DATE_WIDTH,\r\n },\r\n {\r\n name: \"musteriTipi\",\r\n label: \"Müşteri Tipi\",\r\n dataType: \"select\",\r\n dataField: \"musteriTipi\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(POTANSIYEL_MUSTERI_TIPI),\r\n visibleConditions: [\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n YETKI_GRUBU_TIPI.MUSTERI.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: \"aktif\",\r\n label: \"Aktif\",\r\n dataType: \"boolean\",\r\n dataField: \"aktif\",\r\n visible: [\"grid\"],\r\n },\r\n //filtre--------------------------------------------------------------------------------------------------\r\n {\r\n name: \"musteriAdi\",\r\n label: \"Müşteri Adı\",\r\n dataType: \"text\",\r\n dataField: \"musteriAdi\",\r\n visible: [\"filter\"],\r\n filterType: FILTER_TYPE.FAST_FILTER,\r\n },\r\n {\r\n name: \"vergiNo\",\r\n label: \"Vergi No\",\r\n dataType: \"text\",\r\n dataField: \"vergiNo\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"filtreKayitTarihi1\",\r\n label: \"Kayıt Tarihi-1\",\r\n dataType: \"date\",\r\n dataField: \"filtreKayitTarihi1\",\r\n visible: [\"filter\"],\r\n defaultValue: dayjs().subtract(1, \"month\").format(\"YYYY-MM-DD\"),\r\n },\r\n {\r\n name: \"filtreKayitTarihi2\",\r\n label: \"Kayıt Tarihi-2\",\r\n dataType: \"date\",\r\n dataField: \"filtreKayitTarihi2\",\r\n visible: [\"filter\"],\r\n defaultValue: dayjs().format(\"YYYY-MM-DD\"),\r\n },\r\n {\r\n name: \"bayiid\",\r\n label: \"Bayi\",\r\n dataType: \"custom\",\r\n dataField: \"bayiid\",\r\n visible: [\"filter\"],\r\n customComponent: BayilerInputForm,\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n ],\r\n },\r\n {\r\n name: \"musteriTipi\",\r\n label: \"Müşteri Tipi\",\r\n dataType: \"select\",\r\n dataField: \"musteriTipi\",\r\n visible: [\"filter\"],\r\n items: Object.values(POTANSIYEL_MUSTERI_TIPI),\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n ],\r\n },\r\n {\r\n name: \"tumunuGetir\",\r\n label: \"Tümünü Getir\",\r\n dataType: \"custom\",\r\n dataField: \"tumunuGetir\",\r\n visible: [\"filter\"],\r\n customComponent: CheckboxForm,\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n ],\r\n },\r\n];\r\n\r\nexport default entity;\r\n","import React, { useRef, useEffect, useState } from \"react\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\nimport { PageConfig } from \"./PotansiyelKisilerConfig\";\r\nimport PotansiyelKisilerRecord from \"./PotansiyelKisilerRecord\";\r\n\r\nfunction PotansiyelKisiler({ ekranKodu, rowData }) {\r\n const listGridRef = useRef();\r\n const filterRef = useRef();\r\n const recordRef = useRef();\r\n const [isReady, setIsReady] = useState(false);\r\n\r\n useEffect(() => {\r\n if (rowData?.id) {\r\n setIsReady(true);\r\n }\r\n }, [rowData?.id]);\r\n\r\n return (\r\n <>\r\n {isReady && rowData?.id > 0 && (\r\n <PageGrid\r\n gridId=\"PotansiyelKisiler\"\r\n PageConfig={PageConfig}\r\n listGridRef={listGridRef}\r\n recordRef={recordRef}\r\n isCreatable\r\n ekranKodu={ekranKodu}\r\n reqData={{ potansiyelid: rowData?.id }}\r\n exportButtonVisible={false}\r\n height=\"28vh\"\r\n gridClearButtonVisible={false}\r\n />\r\n )}\r\n {isReady && (\r\n <PotansiyelKisilerRecord\r\n ref={recordRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n potansiyelidData={rowData}\r\n />\r\n )}\r\n </>\r\n );\r\n}\r\n\r\n// Apply React.memo properly\r\nexport default React.memo(PotansiyelKisiler, (prevProps, nextProps) => {\r\n // Only re-render if rowData.id or ekranKodu changes\r\n return (\r\n prevProps.rowData?.id === nextProps.rowData?.id &&\r\n prevProps.ekranKodu === nextProps.ekranKodu\r\n );\r\n});\r\n","import React from \"react\";\r\nimport AutocomplateInputForm from \"../form-inputs/AutocomplateInputForm\";\r\n\r\nfunction PotansiyelMusteriInputForm({\r\n ekranKodu,\r\n rowData,\r\n readOnly,\r\n inputRef,\r\n input,\r\n ...rest\r\n}) {\r\n return (\r\n <AutocomplateInputForm\r\n ref={inputRef}\r\n readOnly={readOnly}\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute: \"PotansiyelMusteri/ListForSelect\",\r\n fildsForText: [\"musteriAdi\"],\r\n fieldForValue: \"id\",\r\n reqData: {},\r\n fieldLabel: \"potFirmaidStr\",\r\n }}\r\n input={input}\r\n {...rest}\r\n />\r\n );\r\n}\r\nexport default PotansiyelMusteriInputForm;\r\n","import React from \"react\";\r\nimport Checkbox from \"@mui/material/Checkbox\";\r\n\r\nexport default function CheckboxFormForFilterCheckGroup({\r\n input,\r\n meta,\r\n onChangeExtra,\r\n disabled,\r\n defaultValue = false,\r\n ...rest\r\n}) {\r\n\r\n const checkedValue =\r\n input.value === true || input.value === \"true\" || (input.value === undefined && defaultValue);\r\n\r\n\r\n return (\r\n <Checkbox\r\n {...input}\r\n checked={checkedValue} // Boolean türüne çevrildi\r\n // defaultValue={defaultValue}\r\n // defaultChecked={defaultValue}\r\n onChange={({ target }) => {\r\n const newValue = target.checked;\r\n input.onChange(newValue);\r\n onChangeExtra && onChangeExtra(newValue);\r\n }}\r\n disabled={disabled}\r\n {...rest}\r\n />\r\n );\r\n}\r\n","import {\r\n DATE_FORMAT,\r\n GORUSME_ALINACAK_AKSIYON,\r\n GORUSME_DURUMU,\r\n GORUSME_TIPI,\r\n YETKI_GRUBU_TIPI,\r\n} from \"../common/constants\";\r\nimport { DATE_WIDTH, ID_WIDTH } from \"../common/entityconstants\";\r\nimport dayjs from \"dayjs\";\r\nimport PotansiyelMusteriInputForm from \"../components/inputs/custom-form-inputs/PotansiyelMusteriInputForm\";\r\nimport BayilerInputForm from \"../components/inputs/custom-form-inputs/BayilerInputForm\";\r\nimport CheckboxForm from \"../components/inputs/form-inputs/CheckboxForm\";\r\nimport KullaniciInputForm from \"../components/inputs/custom-form-inputs/KullaniciInputForm\";\r\nimport CheckboxFormForFilterCheckGroup from \"../components/inputs/form-inputs/CheckboxFormForFilterCheckGroup\";\r\n\r\nconst entity = [\r\n {\r\n name: \"sonGorusmeTarihi\",\r\n label: \"Son Görüşme Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"sonGorusmeTarihi\",\r\n visible: [\"grid\"],\r\n format: DATE_FORMAT,\r\n width: DATE_WIDTH,\r\n firstSort: \"desc\",\r\n },\r\n {\r\n name: \"id\",\r\n label: \"Görüşme No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"baslangicTarihi\",\r\n label: \"Görüşme Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"baslangicTarihi\",\r\n visible: [\"grid\"],\r\n format: DATE_FORMAT,\r\n width: DATE_WIDTH,\r\n },\r\n {\r\n name: \"potFirmaidStr\",\r\n label: \"Firma Adı\",\r\n dataType: \"text\",\r\n dataField: \"potFirmaidStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"durum\",\r\n label: \"Görüşme Durumu\",\r\n dataType: \"select\",\r\n dataField: \"durum\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(GORUSME_DURUMU),\r\n },\r\n {\r\n name: \"tipi\",\r\n label: \"Görüşme Tipi\",\r\n dataType: \"select\",\r\n dataField: \"tipi\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(GORUSME_TIPI),\r\n },\r\n {\r\n name: \"alinacakAksiyon\",\r\n label: \"Alınacak Aksiyon\",\r\n dataType: \"select\",\r\n dataField: \"alinacakAksiyon\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(GORUSME_ALINACAK_AKSIYON),\r\n },\r\n {\r\n name: \"aksiyonGerceklesti\",\r\n label: \"Aksiyon Gerçekleşti\",\r\n dataType: \"boolean\",\r\n dataField: \"aksiyonGerceklesti\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"sonGorusmeAciklamasi\",\r\n label: \"Son Görüşme Açıklaması\",\r\n dataType: \"text\",\r\n dataField: \"sonGorusmeAciklamasi\",\r\n visible: [\"grid\"],\r\n },\r\n \r\n {\r\n name: \"teklifid\",\r\n label: \"Teklif No\",\r\n dataType: \"text\",\r\n dataField: \"teklifid\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"kayitEdenStr\",\r\n label: \"Kayıt Eden\",\r\n dataType: \"text\",\r\n dataField: \"kayitEdenStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"kayitTarihi\",\r\n label: \"Kayıt Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"kayitTarihi\",\r\n visible: [\"grid\"],\r\n format: DATE_FORMAT,\r\n width: DATE_WIDTH,\r\n },\r\n {\r\n name: \"bayiidStr\",\r\n label: \"Bayi Kod\",\r\n dataType: \"text\",\r\n dataField: \"bayiidStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"musteriTemsilcisiStr\",\r\n label: \"MüşteriTemsilcisi\",\r\n dataType: \"text\",\r\n dataField: \"musteriTemsilcisiStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"referansVerenStr\",\r\n label: \"Referans Veren\",\r\n dataType: \"text\",\r\n dataField: \"referansVerenStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"atananKullaniciidStr\",\r\n label: \"Atanan Kullanıcı/Şirket\",\r\n dataType: \"text\",\r\n dataField: \"atananKullaniciidStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"atamaTarihi\",\r\n label: \"Atama Tarihi\",\r\n dataType: \"datetime\",\r\n dataField: \"atamaTarihi\",\r\n visible: [\"grid\"],\r\n },\r\n\r\n //filtre--------------------------------------------------------------------------------------------------\r\n {\r\n name: \"id\",\r\n label: \"Görüşme No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"filter\"],\r\n isPrimaryKey: true,\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"potFirmaid\",\r\n label: \"Potansiyel Adı\",\r\n dataType: \"custom\",\r\n dataField: \"potFirmaid\",\r\n visible: [\"filter\"],\r\n customComponent: PotansiyelMusteriInputForm,\r\n },\r\n {\r\n name: \"tarih1\",\r\n label: \"Görüşme Tarihi-1\",\r\n dataType: \"date\",\r\n dataField: \"tarih1\",\r\n visible: [\"filter\"],\r\n defaultValue: dayjs().subtract(3, \"month\").format(\"YYYY-MM-DD\"),\r\n },\r\n {\r\n name: \"tarih2\",\r\n label: \"Görüşme Tarihi-2\",\r\n dataType: \"date\",\r\n dataField: \"tarih2\",\r\n visible: [\"filter\"],\r\n defaultValue: dayjs().add(3, \"month\").format(\"YYYY-MM-DD\"),\r\n },\r\n {\r\n name: \"durum\",\r\n label: \"Görüşme Durumu\",\r\n dataType: \"select\",\r\n dataField: \"durum\",\r\n visible: [\"filter\"],\r\n items: Object.values(GORUSME_DURUMU),\r\n },\r\n {\r\n name: \"teklifid\",\r\n label: \"Teklif No\",\r\n dataType: \"number\",\r\n dataField: \"teklifid\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"kayitEden\",\r\n label: \"Kayıt Eden K.\",\r\n dataType: \"custom\",\r\n dataField: \"kayitEden\",\r\n visible: [\"filter\"],\r\n customComponent: KullaniciInputForm,\r\n },\r\n {\r\n name: \"bayiid\",\r\n label: \"Bayi Adı\",\r\n dataType: \"custom\",\r\n dataField: \"bayiid\",\r\n visible: [\"filter\"],\r\n customComponent: BayilerInputForm,\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n ],\r\n },\r\n {\r\n name: \"alinacakAksiyon\",\r\n label: \"Alınacak Aksiyon\",\r\n dataType: \"select\",\r\n dataField: \"alinacakAksiyon\",\r\n visible: [\"filter\"],\r\n items: Object.values(GORUSME_ALINACAK_AKSIYON),\r\n },\r\n {\r\n name: \"tumunuGetir\",\r\n label: \"Tüm Firmaların Görüşmelerini Getir\",\r\n dataType: \"custom\",\r\n dataField: \"tumunuGetir\",\r\n visible: [\"filterCheckGroup\"],\r\n customComponent: CheckboxFormForFilterCheckGroup,\r\n defaultValue: true,\r\n customComponentParams: { size: \"small\" },\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n ],\r\n },\r\n {\r\n name: \"sonGorusmeleriGoster\",\r\n label: \"Son Görüşmeleri Göster\",\r\n dataType: \"custom\",\r\n dataField: \"sonGorusmeleriGoster\",\r\n visible: [\"filterCheckGroup\"],\r\n customComponent: CheckboxFormForFilterCheckGroup,\r\n defaultValue: true,\r\n customComponentParams: { size: \"small\" },\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n YETKI_GRUBU_TIPI.MUSTERI.Value,\r\n ],\r\n },\r\n {\r\n name: \"sadeceAtananGorusmeleriGoster\",\r\n label: \"Sadece Atanan Görüşmeleri Göster\",\r\n dataType: \"custom\",\r\n dataField: \"sadeceAtananGorusmeleriGoster\",\r\n visible: [\"filterCheckGroup\"],\r\n customComponent: CheckboxFormForFilterCheckGroup,\r\n customComponentParams: { size: \"small\" },\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n YETKI_GRUBU_TIPI.MUSTERI.Value,\r\n ],\r\n },\r\n];\r\n\r\nexport default entity;\r\n","import { EKRAN_KODU } from \"../../common/constants\";\r\nimport Type from \"../../entities/Gorusmeler\";\r\n\r\nconst PageConfig = {\r\n title: \"Gorusmeler\",\r\n ekranKodu: \"Gorusmeler_Res\",\r\n type: Type,\r\n listRoute: \"Gorusmeler/List\",\r\n getByIdRoute: \"Gorusmeler/GetById\",\r\n insertRoute: \"Gorusmeler/Insert\",\r\n updateRoute: \"Gorusmeler/Update\",\r\n deleteRoute: \"Gorusmeler/Delete\",\r\n hatirlatmaEkleRoute: \"Gorusmeler/HatirlatmaEkle\",\r\n gorusmeAtamaRoute: \"Gorusmeler/GorusmeAtama\",\r\n};\r\n\r\nconst GorusmeFileConfig = {\r\n ekranKodu: EKRAN_KODU.GORUSMELER.value,\r\n allFilesDownloadRoute: \"Gorusmeler/DosyalariIndir\",\r\n fileDownloadRoute: \"Gorusmeler/DosyaIndir\",\r\n filesInfoRoute: \"Gorusmeler/DosyaBilgileri\",\r\n fileUploadRoute: \"Gorusmeler/DosyaYukle\",\r\n deleteFilesRoute: \"Gorusmeler/DeleteFiles\",\r\n};\r\n\r\nexport { PageConfig, GorusmeFileConfig };\r\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCardHeaderUtilityClass(slot) {\n return generateUtilityClass('MuiCardHeader', slot);\n}\nconst cardHeaderClasses = generateUtilityClasses('MuiCardHeader', ['root', 'avatar', 'action', 'content', 'title', 'subheader']);\nexport default cardHeaderClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"action\", \"avatar\", \"className\", \"component\", \"disableTypography\", \"subheader\", \"subheaderTypographyProps\", \"title\", \"titleTypographyProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport Typography from '../Typography';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled from '../styles/styled';\nimport cardHeaderClasses, { getCardHeaderUtilityClass } from './cardHeaderClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n avatar: ['avatar'],\n action: ['action'],\n content: ['content'],\n title: ['title'],\n subheader: ['subheader']\n };\n return composeClasses(slots, getCardHeaderUtilityClass, classes);\n};\nconst CardHeaderRoot = styled('div', {\n name: 'MuiCardHeader',\n slot: 'Root',\n overridesResolver: (props, styles) => _extends({\n [`& .${cardHeaderClasses.title}`]: styles.title,\n [`& .${cardHeaderClasses.subheader}`]: styles.subheader\n }, styles.root)\n})({\n display: 'flex',\n alignItems: 'center',\n padding: 16\n});\nconst CardHeaderAvatar = styled('div', {\n name: 'MuiCardHeader',\n slot: 'Avatar',\n overridesResolver: (props, styles) => styles.avatar\n})({\n display: 'flex',\n flex: '0 0 auto',\n marginRight: 16\n});\nconst CardHeaderAction = styled('div', {\n name: 'MuiCardHeader',\n slot: 'Action',\n overridesResolver: (props, styles) => styles.action\n})({\n flex: '0 0 auto',\n alignSelf: 'flex-start',\n marginTop: -4,\n marginRight: -8,\n marginBottom: -4\n});\nconst CardHeaderContent = styled('div', {\n name: 'MuiCardHeader',\n slot: 'Content',\n overridesResolver: (props, styles) => styles.content\n})({\n flex: '1 1 auto'\n});\nconst CardHeader = /*#__PURE__*/React.forwardRef(function CardHeader(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiCardHeader'\n });\n const {\n action,\n avatar,\n className,\n component = 'div',\n disableTypography = false,\n subheader: subheaderProp,\n subheaderTypographyProps,\n title: titleProp,\n titleTypographyProps\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component,\n disableTypography\n });\n const classes = useUtilityClasses(ownerState);\n let title = titleProp;\n if (title != null && title.type !== Typography && !disableTypography) {\n title = /*#__PURE__*/_jsx(Typography, _extends({\n variant: avatar ? 'body2' : 'h5',\n className: classes.title,\n component: \"span\",\n display: \"block\"\n }, titleTypographyProps, {\n children: title\n }));\n }\n let subheader = subheaderProp;\n if (subheader != null && subheader.type !== Typography && !disableTypography) {\n subheader = /*#__PURE__*/_jsx(Typography, _extends({\n variant: avatar ? 'body2' : 'body1',\n className: classes.subheader,\n color: \"text.secondary\",\n component: \"span\",\n display: \"block\"\n }, subheaderTypographyProps, {\n children: subheader\n }));\n }\n return /*#__PURE__*/_jsxs(CardHeaderRoot, _extends({\n className: clsx(classes.root, className),\n as: component,\n ref: ref,\n ownerState: ownerState\n }, other, {\n children: [avatar && /*#__PURE__*/_jsx(CardHeaderAvatar, {\n className: classes.avatar,\n ownerState: ownerState,\n children: avatar\n }), /*#__PURE__*/_jsxs(CardHeaderContent, {\n className: classes.content,\n ownerState: ownerState,\n children: [title, subheader]\n }), action && /*#__PURE__*/_jsx(CardHeaderAction, {\n className: classes.action,\n ownerState: ownerState,\n children: action\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? CardHeader.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The action to display in the card header.\n */\n action: PropTypes.node,\n /**\n * The Avatar element to display.\n */\n avatar: PropTypes.node,\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, `subheader` and `title` won't be wrapped by a Typography component.\n * This can be useful to render an alternative Typography variant by wrapping\n * the `title` text, and optional `subheader` text\n * with the Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n /**\n * The content of the component.\n */\n subheader: PropTypes.node,\n /**\n * These props will be forwarded to the subheader\n * (as long as disableTypography is not `true`).\n */\n subheaderTypographyProps: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The content of the component.\n */\n title: PropTypes.node,\n /**\n * These props will be forwarded to the title\n * (as long as disableTypography is not `true`).\n */\n titleTypographyProps: PropTypes.object\n} : void 0;\nexport default CardHeader;","import Type from \"../../entities/TeklifMaster\";\r\n\r\nconst PageConfig = {\r\n title: \"TeklifMaster\",\r\n ekranKodu: \"TeklifMaster_Res\",\r\n type: Type,\r\n listRoute: \"TeklifMaster/List\",\r\n getByIdRoute: \"TeklifMaster/GetById\",\r\n insertRoute: \"TeklifMaster/Insert\",\r\n updateRoute: \"TeklifMaster/Update\",\r\n deleteRoute: \"TeklifMaster/Delete\",\r\n teklifiReddetRoute: \"TeklifMaster/TeklifiReddet\",\r\n teklifTopluIskontoOraniUygula: \"TeklifMaster/TopluIskontoUygula\"\r\n};\r\n\r\nconst FileConfig = {\r\n allFilesDownloadRoute: \"TeklifMaster/TeklifOnayiDosyalariIndir\",\r\n fileDownloadRoute: \"TeklifMaster/TeklifOnayiDosyaIndir\",\r\n filesInfoRoute: \"TeklifMaster/TeklifOnayiDosyaBilgileri\",\r\n fileUploadRoute: \"TeklifMaster/TeklifeDosyaYukle\",\r\n deleteFilesRoute: \"TeklifMaster/TeklifOnayiDosyaSil\",\r\n};\r\n\r\nconst TeklifOnayiFileConfig = {\r\n allFilesDownloadRoute: \"TeklifMaster/TeklifOnayiDosyalariIndir\",\r\n fileDownloadRoute: \"TeklifMaster/TeklifOnayiDosyaIndir\",\r\n filesInfoRoute: \"TeklifMaster/TeklifOnayiDosyaBilgileri\",\r\n fileUploadRoute: \"TeklifMaster/TeklifOnayiDosyaYukle\",\r\n deleteFilesRoute: \"TeklifMaster/TeklifOnayiDosyaSil\",\r\n};\r\n\r\nexport { PageConfig, FileConfig, TeklifOnayiFileConfig };\r\n","import {\r\n CARI_TIPI,\r\n TEKLIF_DURUMU,\r\n YETKI_GRUBU_TIPI,\r\n} from \"../common/constants\";\r\nimport { ID_WIDTH } from \"../common/entityconstants\";\r\nimport BayilerInputForm from \"../components/inputs/custom-form-inputs/BayilerInputForm\";\r\nimport PotansiyelMusteriInputForm from \"../components/inputs/custom-form-inputs/PotansiyelMusteriInputForm\";\r\nimport CheckboxForm from \"../components/inputs/form-inputs/CheckboxForm\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"Teklif No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"teklifTarihi\",\r\n label: \"Teklif Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"teklifTarihi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"cariTipi\",\r\n label: \"Müşteri Tip\",\r\n dataType: \"select\",\r\n dataField: \"cariTipi\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(CARI_TIPI),\r\n },\r\n {\r\n name: \"sirket_Kod\",\r\n label: \"Müşteri/Potansiyel Adı\",\r\n dataType: \"text\",\r\n dataField: \"sirket_Kod\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"genelToplam\",\r\n label: \"Teklif Tutarı\",\r\n dataType: \"number\",\r\n dataField: \"genelToplam\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"genelDovizkod\",\r\n label: \"Para Birimi\",\r\n dataType: \"text\",\r\n dataField: \"genelDovizkod\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"teklifDurumu\",\r\n label: \"Teklif Durumu\",\r\n dataType: \"select\",\r\n dataField: \"teklifDurumu\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(TEKLIF_DURUMU),\r\n },\r\n {\r\n name: \"bayiidStr\",\r\n label: \"Bayi Adı\",\r\n dataType: \"text\",\r\n dataField: \"bayiidStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"aciklama\",\r\n label: \"Açıklama\",\r\n dataType: \"text\",\r\n dataField: \"aciklama\",\r\n visible: [\"grid\"],\r\n },\r\n // {\r\n // name: \"aktif\",\r\n // label: \"Aktif\",\r\n // dataType: \"boolean\",\r\n // dataField: \"aktif\",\r\n // visible: [\"grid\"],\r\n // },\r\n //filtre--------------------------------------------------------------------------------------------------\r\n {\r\n name: \"id\",\r\n label: \"Teklif No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"teklifTarihi1\",\r\n label: \"Teklif Tarihi 1\",\r\n dataType: \"date\",\r\n dataField: \"teklifTarihi1\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"teklifTarihi2\",\r\n label: \"Teklif Tarihi 2\",\r\n dataType: \"date\",\r\n dataField: \"teklifTarihi2\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"cariTipi\",\r\n label: \"Müşteri Tip\",\r\n dataType: \"select\",\r\n dataField: \"cariTipi\",\r\n visible: [\"filter\"],\r\n items: Object.values(CARI_TIPI),\r\n },\r\n {\r\n name: \"potFirmaid\",\r\n label: \"Pot. Firma\",\r\n dataType: \"custom\",\r\n dataField: \"potFirmaid\",\r\n visible: [\"filter\"],\r\n customComponent: PotansiyelMusteriInputForm,\r\n },\r\n {\r\n name: \"teklifDurumu\",\r\n label: \"Teklif Durumu\",\r\n dataType: \"select\",\r\n dataField: \"teklifDurumu\",\r\n visible: [\"filter\"],\r\n items: Object.values(TEKLIF_DURUMU),\r\n },\r\n {\r\n name: \"bayiid\",\r\n label: \"Bayi\",\r\n dataType: \"custom\",\r\n dataField: \"bayiid\",\r\n visible: [\"filter\"],\r\n customComponent: BayilerInputForm,\r\n customComponentParams: {},\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n ],\r\n },\r\n {\r\n name: \"tumunuGetir\",\r\n label: \"Tümünü Getir\",\r\n dataType: \"custom\",\r\n dataField: \"tumunuGetir\",\r\n visible: [\"filter\"],\r\n customComponent: CheckboxForm,\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n ],\r\n },\r\n];\r\n\r\nexport default entity;\r\n","import Type from \"../../entities/TeklifDetay\";\r\nimport TypeDipToplam from \"../../entities/TeklifDetayDipToplam\";\r\n\r\nconst PageConfig = {\r\n title: \"TeklifDetay\",\r\n ekranKodu: \"TeklifDetay_Res\",\r\n type: Type,\r\n listRoute: \"TeklifDetay/List\",\r\n getByIdRoute: \"TeklifDetay/GetById\",\r\n insertRoute: \"TeklifDetay/Insert\",\r\n updateRoute: \"TeklifDetay/Update\",\r\n deleteRoute: \"TeklifDetay/Delete\",\r\n typeDipToplam: TypeDipToplam,\r\n};\r\n\r\nexport { PageConfig };\r\n","import { ID_WIDTH } from \"../common/entityconstants\";\r\nimport { STOK_BIRIM, URUN_TIP } from \"../common/constants\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"urunTip\",\r\n label: \"Ürün Tipi\",\r\n dataType: \"select\",\r\n dataField: \"urunTip\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(URUN_TIP),\r\n },\r\n {\r\n name: \"gosterilecekUrunAdi\",\r\n label: \"Ürün/Paket Adı\",\r\n dataType: \"text\",\r\n dataField: \"gosterilecekUrunAdi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"kullaniciSayisi\",\r\n label: \"Kullanıcı Sayısı\",\r\n dataType: \"number\",\r\n dataField: \"kullaniciSayisi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"aciklama\",\r\n label: \"Açıklama\",\r\n dataType: \"text\",\r\n dataField: \"aciklama\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"birimFiyat\",\r\n label: \"Birim Fiyat\",\r\n dataType: \"number\",\r\n dataField: \"birimFiyat\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"dovizKod\",\r\n label: \"Para Birimi\",\r\n dataType: \"text\",\r\n dataField: \"dovizKod\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"miktar\",\r\n label: \"Miktar\",\r\n dataType: \"number\",\r\n dataField: \"miktar\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"stokBirim\",\r\n label: \"Stok Birimi\",\r\n dataType: \"select\",\r\n dataField: \"stokBirim\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(STOK_BIRIM),\r\n },\r\n {\r\n name: \"kdvOrani\",\r\n label: \"KDV Oranı\",\r\n dataType: \"number\",\r\n dataField: \"kdvOrani\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"kdvTutari\",\r\n label: \"KDV Tutarı\",\r\n dataType: \"number\",\r\n dataField: \"kdvTutari\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"kdvliBirimFiyat\",\r\n label: \"KDVli Birim Fiyat\",\r\n dataType: \"number\",\r\n dataField: \"kdvliBirimFiyat\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"iskontoOrani\",\r\n label: \"İskonto Oranı\",\r\n dataType: \"number\",\r\n dataField: \"iskontoOrani\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"iskontoTutari\",\r\n label: \"İskonto Tutarı\",\r\n dataType: \"number\",\r\n dataField: \"iskontoTutari\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"genelToplam\",\r\n label: \"Genel Toplam\",\r\n dataType: \"number\",\r\n dataField: \"genelToplam\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"kayitEdenStr\",\r\n label: \"Kaydı Oluşturan\",\r\n dataType: \"text\",\r\n dataField: \"kayitEdenStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"kayitTarihi\",\r\n label: \"Kayıt Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"kayitTarihi\",\r\n visible: [\"grid\"],\r\n },\r\n];\r\n\r\nexport default entity;\r\n","const entity = [\r\n {\r\n name: \"ne\",\r\n label: \"Ne\",\r\n dataType: \"string\",\r\n dataField: \"ne\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"tutar\",\r\n label: \"Tutar\",\r\n dataType: \"number\",\r\n dataField: \"tutar\",\r\n visible: [\"grid\"],\r\n format: { type: \"fixedPoint\", precision: 2 },\r\n },\r\n {\r\n name: \"dovizKod\",\r\n label: \"Döviz\",\r\n dataType: \"string\",\r\n dataField: \"dovizKod\",\r\n visible: [\"grid\"],\r\n },\r\n];\r\n\r\nexport default entity;\r\n","import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\n\r\nexport default function CustomBox({ children, sx }) {\r\n return (\r\n <Box\r\n component=\"section\"\r\n sx={{\r\n ...sx,\r\n }}\r\n >\r\n {children}\r\n </Box>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport RichTextEditor from \"../../components/inputs/form-inputs/RichTextEditor\";\r\nimport useFetchDialog from \"../../hooks/use-fetch-dialog\";\r\nimport useSubmit from \"../../hooks/use-submit\";\r\nimport CancelButton from \"../../components/buttons/custom/CancelButton\";\r\nimport SaveButton from \"../../components/buttons/custom/SaveButton\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport TamamButton from \"../../components/buttons/custom/TamamButton\";\r\n\r\nconst UrunAciklamasiDialog = React.forwardRef(\r\n ({ ekranKodu, isEditable, setRowDataFnc, listGridRef }, ref) => {\r\n const { open, closeRecord, modalLoading, rowData, setRowData } =\r\n useFetchDialog(ref, \"Urunler/UrunAciklamasiGetById\");\r\n\r\n const afterSubmitFnc = (res) => {\r\n setRowDataFnc((prevState) => {\r\n return {\r\n ...prevState,\r\n // temsilciAnalizi: res?.data?.data?.temsilciAnalizi,\r\n // talepDurumu: res?.data?.data?.talepDurumu,\r\n };\r\n });\r\n };\r\n\r\n const handleSubmit = useSubmit({}, setRowData, listGridRef, afterSubmitFnc);\r\n\r\n return (\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"Açıklama\"\r\n maxWidth=\"md\"\r\n fullWidth={true}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n //validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <Field\r\n name=\"aciklama\"\r\n component={RichTextEditor}\r\n readOnly={true}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n <TamamButton\r\n onClick={(e) => {\r\n closeRecord();\r\n }}\r\n />\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n );\r\n }\r\n);\r\n\r\nexport default UrunAciklamasiDialog;\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { Grid } from \"@mui/material\";\r\nimport { Field, Form, FormSpy } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport { PageConfig } from \"./TeklifDetayConfig\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport * as yup from \"yup\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport {\r\n URUN_TIP,\r\n PARA_BIRIMI,\r\n apiUrl,\r\n STOK_BIRIM,\r\n URUN_PROGRAMLARI,\r\n} from \"../../common/constants\";\r\nimport UrunlerInputForm from \"../../components/inputs/custom-form-inputs/UrunlerInputForm\";\r\nimport NumberInputForm from \"../../components/inputs/form-inputs/NumberInputForm\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport dayjs from \"dayjs\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport { printToast } from \"../../common/constant-functions/printToast\";\r\nimport MultilineTextInputForm from \"../../components/inputs/form-inputs/MultilineTextInputForm\";\r\nimport CustomBox from \"../../components/box/CustomBox\";\r\nimport ButtonWrapper from \"../../components/buttons/ButtonWrapper\";\r\nimport UrunAciklamasiDialog from \"../Urunler/UrunAciklamasiDialog\";\r\n\r\nconst TeklifDetayRecord = React.forwardRef(\r\n (\r\n {\r\n ekranKodu,\r\n listGridRef,\r\n detailGridRef,\r\n editGridRef,\r\n fiyatListeid,\r\n teklifid,\r\n xkullaniciSayisi,\r\n setGridDs,\r\n },\r\n ref\r\n ) => {\r\n const context = React.useContext(AppContext);\r\n\r\n const initialState = {\r\n aktif: true,\r\n degisiklikTarihi: dayjs(),\r\n kayitTarihi: dayjs(),\r\n kayitEden: context?.user?.id,\r\n degisiklikYapan: context?.user?.id,\r\n miktar: 1,\r\n kullaniciSayisi: xkullaniciSayisi,\r\n };\r\n\r\n const urunKoduInputRef = useRef();\r\n const urunTipiRef = useRef();\r\n const programRef = useRef();\r\n const urunAciklamasiDialogRef = useRef();\r\n const kullaniciSayisiRef = useRef();\r\n\r\n const customFetchData = (id) => {\r\n let rows = editGridRef.current.instance.getVisibleRows();\r\n let currentRow = rows.find((x) => x.key == id);\r\n setRowData(currentRow.data);\r\n setModalLoading(false);\r\n };\r\n\r\n const customInsertOrUpdate = (values) => {\r\n var tempChanges = editGridRef.current.instance\r\n .option(\"editing.changes\")\r\n .slice();\r\n if (recId) {\r\n let change = tempChanges.find((x) => x.key == recId);\r\n if (!change) {\r\n tempChanges.push({\r\n key: recId,\r\n data: {},\r\n type: \"update\",\r\n });\r\n change = tempChanges.find((x) => x.key == recId);\r\n }\r\n\r\n let rows = editGridRef.current.instance.getVisibleRows();\r\n let currentRow = rows.find((x) => x.key == recId);\r\n Object.keys(currentRow.data).map((key) => {\r\n if (values[key] != currentRow.data[key]) {\r\n change.data[key] = values[key];\r\n }\r\n });\r\n } else {\r\n tempChanges.push({\r\n key: crypto.randomUUID(),\r\n data: values,\r\n type: \"insert\",\r\n });\r\n }\r\n\r\n editGridRef.current.instance.option(\"editing.changes\", tempChanges);\r\n\r\n handleClose();\r\n };\r\n\r\n const values = useRef(null);\r\n var brFiyatEnabled = useRef(null);\r\n\r\n const kullBirimFiyatDegistirebilir =\r\n context.user?.kullaniciParametreleri?.teklifteBirimFiyatDegistirebilir;\r\n\r\n brFiyatEnabled = kullBirimFiyatDegistirebilir;\r\n\r\n // var urunPaketSecimEnabled = useRef(null);\r\n // var urunTipSecimEnabled = useRef(null);\r\n\r\n // urunPaketSecimEnabled = false;\r\n // urunTipSecimEnabled = false;\r\n\r\n const afterDelete = () => {\r\n if (typeof recId === typeof \"\") {\r\n let tempChanges =\r\n editGridRef.current.instance.option(\"editing.changes\");\r\n editGridRef.current.instance.option(\r\n \"editing.changes\",\r\n tempChanges.filter((x) => x.key != recId)\r\n );\r\n } else {\r\n let ds = editGridRef.current.instance.option(\"dataSource\");\r\n setGridDs(ds.filter((x) => x.id != recId));\r\n }\r\n };\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n setRowData,\r\n setModalLoading,\r\n recId,\r\n } = usePageRecord(\r\n ref,\r\n PageConfig,\r\n listGridRef,\r\n ekranKodu,\r\n initialState,\r\n detailGridRef,\r\n false,\r\n customFetchData,\r\n customInsertOrUpdate,\r\n null,\r\n afterDelete\r\n );\r\n\r\n // useEffect(() => {\r\n // if (\r\n // rowData?.program !== null &&\r\n // typeof rowData?.program !== \"undefined\"\r\n // ) {\r\n // urunTipSecimEnabled = true;\r\n // } else {\r\n // urunTipSecimEnabled = false;\r\n // }\r\n // }, [rowData?.program]);\r\n\r\n // urunTipSecimEnabled =\r\n // rowData?.program !== null && typeof rowData?.program !== \"undefined\";\r\n\r\n // urunPaketSecimEnabled =\r\n // rowData?.urunTip !== null && typeof rowData?.urunTip !== \"undefined\";\r\n\r\n const validationSchema = yup.object().shape({\r\n ...(context.user.bayiKullanicisi && {\r\n iskontoOrani: yup.number().when(\"urunTip\", {\r\n is: (urunTip) => urunTip && urunTip != 3,\r\n then: yup\r\n .number()\r\n .max(\r\n context?.user?.maxIskontoOrani,\r\n \"İskonto oranı en fazla '\" +\r\n context?.user?.maxIskontoOrani +\r\n \"' olabilir.\"\r\n ),\r\n otherwise: yup.number(),\r\n }),\r\n }),\r\n miktar: yup.number().min(1),\r\n urunTip: yup.number().required(),\r\n program: yup.number().required(),\r\n kullaniciSayisi: yup.number().required(),\r\n birimFiyat: yup.number().when(\"urunTip\", {\r\n is: (urunTip) => urunTip && urunTip != 3,\r\n then: yup.number().min(0.1, \"Fiyat listesinde bu ürün bulunamadı.\"),\r\n otherwise: yup.number(),\r\n }),\r\n });\r\n\r\n const otherValidationSchema = yup.object().shape({});\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n const [isIskontoTutariManualChange, setisIskontoTutariManualChange] =\r\n useState(false);\r\n\r\n const [lastChangedField, setLastChangedField] = useState(null);\r\n\r\n const [urunTipiDolu, setUrunTipiDolu] = useState(false);\r\n const [urunKoduDolu, setUrunKoduDolu] = useState(false);\r\n const [programDolu, setProgramDolu] = useState(false);\r\n\r\n useEffect(() => {\r\n return () => {\r\n // setKullaniciSayisiDolu(false);\r\n setUrunTipiDolu(false);\r\n setUrunKoduDolu(false);\r\n setProgramDolu(false);\r\n };\r\n }, []);\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Teklif Satırı Girişi\"\r\n maxWidth=\"sm\"\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n reset,\r\n values: formValues,\r\n }) => (\r\n <FormComponent\r\n onSubmit={handleSubmit}\r\n style={{ height: \"750px\" }}\r\n >\r\n <FormSpy\r\n subscription={{ values: true }}\r\n onChange={(props) => {\r\n if (formValues.urunTip == URUN_TIP.BAGIMSIZ.Value) {\r\n form.change(\r\n \"gosterilecekUrunAdi\",\r\n values?.current?.bagimsizUrunAdi\r\n );\r\n }\r\n const iskontoTutariChanged =\r\n values?.current?.iskontoTutari !==\r\n props.values.iskontoTutari;\r\n const iskontoOraniChanged =\r\n values?.current?.iskontoOrani !==\r\n props.values.iskontoOrani;\r\n\r\n if (\r\n iskontoTutariChanged &&\r\n lastChangedField !== \"iskontoOrani\" &&\r\n values?.current?.iskontoTutari\r\n ) {\r\n const newIskontoOrani =\r\n (props.values.iskontoTutari /\r\n (props.values.birimFiyat * props.values.miktar)) *\r\n 100;\r\n\r\n form.change(\"iskontoOrani\", newIskontoOrani); // İskonto oranını otomatik hesapla\r\n\r\n const updatedMalTutari =\r\n (props.values.birimFiyat\r\n ? props.values.birimFiyat * props.values.miktar\r\n : 0) - props.values.iskontoTutari; // Boşsa sıfır kullan\r\n\r\n const updatedKdvTutari =\r\n (updatedMalTutari *\r\n (props.values.kdvOrani ? props.values.kdvOrani : 0)) /\r\n 100;\r\n\r\n let updatedKdvliBrFiyat =\r\n ((props.values.birimFiyat\r\n ? props.values.birimFiyat\r\n : 0) *\r\n (props.values.kdvOrani ? props.values.kdvOrani : 0)) /\r\n 100 +\r\n (props.values.birimFiyat ? props.values.birimFiyat : 0);\r\n form.change(\"kdvliBirimFiyat\", updatedKdvliBrFiyat);\r\n\r\n form.change(\"kdvTutari\", updatedKdvTutari);\r\n form.change(\r\n \"genelToplam\",\r\n updatedMalTutari + updatedKdvTutari\r\n );\r\n\r\n setLastChangedField(\"iskontoTutari\"); // Son değişiklik iskontoTutari olarak işaretle\r\n }\r\n\r\n // Eğer son manuel değişiklik iskontoOrani ise, iskontoTutari'yi hesapla\r\n\r\n if (\r\n iskontoOraniChanged &&\r\n lastChangedField !== \"iskontoTutari\" &&\r\n values?.current?.iskontoOrani\r\n ) {\r\n const newIskontoTutari =\r\n (props.values.birimFiyat *\r\n props.values.miktar *\r\n props.values.iskontoOrani) /\r\n 100;\r\n\r\n let xMalTutari =\r\n (props.values?.birimFiyat\r\n ? props.values.birimFiyat * props.values.miktar\r\n : 0) - newIskontoTutari;\r\n\r\n let xkdvTutari =\r\n (xMalTutari *\r\n (props.values.kdvOrani ? props.values.kdvOrani : 0)) /\r\n 100;\r\n form.change(\"kdvTutari\", xkdvTutari);\r\n\r\n let xkdvliBirimFiyat =\r\n ((props.values.birimFiyat\r\n ? props.values.birimFiyat\r\n : 0) *\r\n (props.values.kdvOrani ? props.values.kdvOrani : 0)) /\r\n 100 +\r\n (props.values.birimFiyat ? props.values.birimFiyat : 0);\r\n form.change(\"kdvliBirimFiyat\", xkdvliBirimFiyat);\r\n\r\n form.change(\"genelToplam\", xMalTutari + xkdvTutari);\r\n\r\n form.change(\"iskontoTutari\", newIskontoTutari); // İskonto tutarını otomatik hesapla\r\n setLastChangedField(\"iskontoOrani\"); // Son değişiklik iskontoOrani olarak işaretle\r\n }\r\n const isIskontoTutariEmpty = !props.values.iskontoTutari;\r\n\r\n if (\r\n values?.current?.kdvOrani != props.values.kdvOrani ||\r\n values?.current?.birimFiyat != props.values.birimFiyat ||\r\n values?.current?.miktar != props.values.miktar\r\n ) {\r\n let xIskontoTutari =\r\n ((props.values.birimFiyat\r\n ? props.values.birimFiyat * props.values.miktar\r\n : 0) *\r\n (props.values.iskontoOrani\r\n ? props.values.iskontoOrani\r\n : 0)) /\r\n 100;\r\n form.change(\"iskontoTutari\", xIskontoTutari);\r\n\r\n let xMalTutari =\r\n (props.values.birimFiyat\r\n ? props.values.birimFiyat * props.values.miktar\r\n : 0) - xIskontoTutari;\r\n\r\n let xkdvTutari =\r\n (xMalTutari *\r\n (props.values.kdvOrani ? props.values.kdvOrani : 0)) /\r\n 100;\r\n form.change(\"kdvTutari\", xkdvTutari);\r\n\r\n let xkdvliBirimFiyat =\r\n ((props.values.birimFiyat\r\n ? props.values.birimFiyat\r\n : 0) *\r\n (props.values.kdvOrani ? props.values.kdvOrani : 0)) /\r\n 100 +\r\n (props.values.birimFiyat ? props.values.birimFiyat : 0);\r\n form.change(\"kdvliBirimFiyat\", xkdvliBirimFiyat);\r\n\r\n form.change(\"genelToplam\", xMalTutari + xkdvTutari);\r\n }\r\n\r\n values.current = props.values;\r\n }}\r\n />\r\n <DialogContentWrapper>\r\n {/* <DialogContentTop> */}\r\n <Grid item xs={12} sm={6} md={6}>\r\n {/* <FieldWrapper\r\n label=\"Teklif Detay No\"\r\n modalLoading={modalLoading}\r\n rowData={rowData}\r\n >\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </FieldWrapper>\r\n <FieldWrapper label=\"Teklif No\" modalLoading={modalLoading}>\r\n <Field\r\n disabled\r\n name=\"masterid\"\r\n component={TextInputForm}\r\n defaultValue={teklifid}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper> */}\r\n\r\n <CustomBox\r\n sx={{ p: 1, borderRadius: 3, bgcolor: \"#e4ecef\" }}\r\n >\r\n <div\r\n style={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n alignItems: \"center\", // Dikey hizalamayı sağlamak için\r\n }}\r\n >\r\n <p\r\n style={{\r\n // fontSize: \"15px\",\r\n fontWeight: \"bold\",\r\n textAlign: \"center\",\r\n flex: 1, // Ortada tutmak için esneklik verir\r\n marginLeft: 100,\r\n }}\r\n >\r\n Ürün Seçimi\r\n </p>\r\n <div\r\n style={{\r\n fontSize: \"12px\",\r\n fontWeight: \"bold\",\r\n textAlign: \"right\",\r\n }}\r\n >\r\n <ButtonWrapper\r\n color=\"success\"\r\n // startIcon={<Save />}\r\n onClick={(e) => {\r\n urunAciklamasiDialogRef?.current?.openRecord(\r\n urunKoduInputRef?.current?.value\r\n // rowData?.urunid\r\n );\r\n }}\r\n disabled={\r\n (rowData?.urunid === null ||\r\n typeof rowData?.urunid === \"undefined\") &&\r\n (urunKoduInputRef?.current?.value === null ||\r\n typeof urunKoduInputRef?.current?.value ===\r\n \"undefined\" ||\r\n urunKoduInputRef?.current?.value === \"\")\r\n }\r\n >\r\n ÜRÜN/PAKET İÇERİĞİ\r\n </ButtonWrapper>\r\n </div>\r\n </div>\r\n {/* <hr /> */}\r\n <FieldWrapper label=\"Platform\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"program\"\r\n items={Object.values(URUN_PROGRAMLARI)}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n ref={programRef}\r\n rowData={rowData}\r\n onChangeExtra={(old, newVal) => {\r\n newVal?.Value\r\n ? setProgramDolu(true)\r\n : setProgramDolu(false);\r\n\r\n if (\r\n newVal?.Value ===\r\n URUN_PROGRAMLARI.HARMONYCLOUD.Value\r\n ) {\r\n form?.change(\"miktar\", xkullaniciSayisi);\r\n } else {\r\n form?.change(\"miktar\", 1);\r\n }\r\n\r\n // urunTipSecimEnabled = newVal?.Value !== null;\r\n }}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Ürün Tipi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"urunTip\"\r\n items={Object.values(URUN_TIP)}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet || formValues.program === null || typeof formValues.program === \"undefined\"}\r\n // readOnly={!yetki.kaydet || !urunTipSecimEnabled}\r\n ref={urunTipiRef}\r\n rowData={rowData}\r\n onChangeExtra={(old, newVal) => {\r\n if (\r\n newVal?.Value === URUN_TIP.BAGIMSIZ.Value &&\r\n old !== URUN_TIP.BAGIMSIZ.Value\r\n ) {\r\n form?.change(\"birimFiyat\", 0);\r\n form?.change(\"dovizKod\", null);\r\n form?.change(\"kdvOrani\", 0);\r\n }\r\n\r\n newVal?.Value\r\n ? setUrunTipiDolu(true)\r\n : setUrunTipiDolu(false);\r\n\r\n brFiyatEnabled =\r\n newVal?.Value === URUN_TIP.BAGIMSIZ.Value ||\r\n kullBirimFiyatDegistirebilir === true;\r\n\r\n // urunPaketSecimEnabled = newVal?.Value !== null;\r\n }}\r\n />\r\n </FieldWrapper>\r\n {formValues.urunTip != URUN_TIP.BAGIMSIZ.Value ? (\r\n <FieldWrapper\r\n label=\"Ürün/Paket Adı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"urunid\"\r\n rowData={rowData}\r\n component={UrunlerInputForm}\r\n // readOnly={!yetki.kaydet}\r\n readOnly={!yetki.kaydet || formValues.urunTip === null || typeof formValues.urunTip === \"undefined\"}\r\n // readOnly={!yetki.kaydet || !urunPaketSecimEnabled}\r\n inputRef={urunKoduInputRef}\r\n ekranKodu={ekranKodu}\r\n urunTipiRef={urunTipiRef}\r\n programRef={programRef}\r\n fieldsForText={[\"urunKodu\", \"urunAdi\"]}\r\n fieldLabel={\"gosterilecekUrunAdi\"}\r\n onChangeExtra={(old, newVal) => {\r\n newVal?.Value\r\n ? setUrunKoduDolu(true)\r\n : setUrunKoduDolu(false);\r\n\r\n if (\r\n newVal?.Value &&\r\n fiyatListeid &&\r\n (formValues.program != 1 ||\r\n (formValues.program === 1 &&\r\n kullaniciSayisiRef?.current?.value !==\r\n null &&\r\n typeof kullaniciSayisiRef?.current\r\n ?.value !== \"undefined\")) &&\r\n urunTipiDolu !== false &&\r\n programDolu !== false\r\n ) {\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}FiyatListeMaster/UrunFiyatGetir`,\r\n data: {\r\n urunId: newVal.Value,\r\n fiyatListesiId: fiyatListeid,\r\n kullaniciSayisi:\r\n kullaniciSayisiRef?.current?.value,\r\n },\r\n })\r\n .then((res) => {\r\n if (res.data.data !== null) {\r\n form?.change(\r\n \"birimFiyat\",\r\n res.data.data.birimFiyat\r\n );\r\n form?.change(\r\n \"dovizKod\",\r\n res.data.data.birim\r\n );\r\n form?.change(\r\n \"kdvOrani\",\r\n res.data.data.kdvOrani\r\n );\r\n\r\n brFiyatEnabled =\r\n kullBirimFiyatDegistirebilir;\r\n } else {\r\n // otherValidationSchema.validate(rowData);\r\n // validateFormValues(otherValidationSchema);\r\n form?.change(\"birimFiyat\", 0);\r\n form?.change(\"dovizKod\", null);\r\n form?.change(\"kdvOrani\", 0);\r\n\r\n brFiyatEnabled =\r\n kullBirimFiyatDegistirebilir;\r\n }\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n });\r\n }\r\n }}\r\n // onChangeExtra={(old, newVal) => {\r\n // formValues.urunid != null\r\n // ? setUrunKoduDolu(true)\r\n // : setUrunKoduDolu(false);\r\n // }}\r\n />\r\n </FieldWrapper>\r\n ) : (\r\n <FieldWrapper\r\n label=\"Hizmet Adı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"bagimsizUrunAdi\"\r\n rowData={rowData}\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n )}\r\n {formValues.program != 1 ? null : (\r\n <>\r\n {/* <Grid\r\n container\r\n direction=\"row\"\r\n justifyContent={\"space-between\"}\r\n // spacing={10}\r\n >\r\n <Grid item xs={9}> */}\r\n <FieldWrapper\r\n label=\"Kullanıcı Sayısı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"kullaniciSayisi\"\r\n rowData={rowData}\r\n component={NumberInputForm}\r\n readOnly={!yetki.kaydet}\r\n inputRef={kullaniciSayisiRef}\r\n onBlurExtra={() => {\r\n if (\r\n fiyatListeid &&\r\n kullaniciSayisiRef?.current?.value !== null &&\r\n typeof kullaniciSayisiRef?.current?.value !==\r\n \"undefined\" &&\r\n urunTipiDolu !== false &&\r\n urunKoduDolu !== false &&\r\n programDolu !== false\r\n ) {\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}FiyatListeMaster/UrunFiyatGetir`,\r\n data: {\r\n urunId:\r\n form?.getFieldState(\"urunid\").value,\r\n fiyatListesiId: fiyatListeid,\r\n kullaniciSayisi:\r\n kullaniciSayisiRef?.current?.value\r\n .replace(\".\", \"\")\r\n .replace(\",\", \"\"),\r\n },\r\n })\r\n .then((res) => {\r\n if (res.data.data !== null) {\r\n form?.change(\r\n \"birimFiyat\",\r\n res.data.data.birimFiyat\r\n );\r\n form?.change(\r\n \"dovizKod\",\r\n res.data.data.birim\r\n );\r\n form?.change(\r\n \"kdvOrani\",\r\n res.data.data.kdvOrani\r\n );\r\n\r\n brFiyatEnabled =\r\n kullBirimFiyatDegistirebilir;\r\n } else {\r\n // otherValidationSchema.validate(rowData);\r\n // validateFormValues(otherValidationSchema);\r\n form?.change(\"birimFiyat\", 0);\r\n form?.change(\"dovizKod\", null);\r\n form?.change(\"kdvOrani\", 0);\r\n\r\n brFiyatEnabled =\r\n kullBirimFiyatDegistirebilir;\r\n }\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n });\r\n }\r\n }}\r\n />\r\n </FieldWrapper>\r\n {/* </Grid>\r\n <Grid item xs={3}> */}\r\n {/* <ButtonWrapper\r\n color=\"primary\"\r\n // startIcon={<Save />}\r\n onClick={(e) => {\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}FiyatListeMaster/UrunFiyatGetir`,\r\n data: {\r\n urunId:\r\n form?.getFieldState(\"urunid\").value,\r\n fiyatListesiId: fiyatListeid,\r\n kullaniciSayisi:\r\n form?.getFieldState(\"kullaniciSayisi\")\r\n .value,\r\n },\r\n })\r\n .then((res) => {\r\n if (res.data.data !== null) {\r\n form?.change(\r\n \"birimFiyat\",\r\n res.data.data.birimFiyat\r\n );\r\n form?.change(\r\n \"dovizKod\",\r\n res.data.data.birim\r\n );\r\n form?.change(\r\n \"kdvOrani\",\r\n res.data.data.kdvOrani\r\n );\r\n\r\n brFiyatEnabled =\r\n kullBirimFiyatDegistirebilir;\r\n } else {\r\n // otherValidationSchema.validate(rowData);\r\n // validateFormValues(otherValidationSchema);\r\n form?.change(\"birimFiyat\", 0);\r\n form?.change(\"dovizKod\", null);\r\n form?.change(\"kdvOrani\", 0);\r\n\r\n brFiyatEnabled =\r\n kullBirimFiyatDegistirebilir;\r\n }\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n });\r\n }}\r\n disabled={\r\n kullaniciSayisiRef?.current?.value === null ||\r\n typeof kullaniciSayisiRef?.current?.value ===\r\n \"undefined\" ||\r\n urunTipiDolu === false ||\r\n urunKoduDolu === false ||\r\n programDolu === false\r\n }\r\n >\r\n LİSTEDEN GETİR\r\n </ButtonWrapper> */}\r\n {/* </Grid>\r\n </Grid> */}\r\n </>\r\n )}\r\n\r\n <FieldWrapper\r\n label=\"Açıklama\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"aciklama\"\r\n rowData={rowData}\r\n type=\"text\"\r\n component={MultilineTextInputForm}\r\n readOnly={!yetki.kaydet}\r\n minRows={3}\r\n maxRows={4}\r\n />\r\n </FieldWrapper>\r\n </CustomBox>\r\n <p />\r\n <CustomBox\r\n sx={{ p: 1, borderRadius: 3, bgcolor: \"#e4ecef\" }}\r\n >\r\n <div>\r\n <p\r\n style={{\r\n fontSize: \"15px;\",\r\n fontWeight: \"bold\",\r\n textAlign: \"center\",\r\n }}\r\n >\r\n Fiyat Bilgileri\r\n </p>\r\n\r\n <FieldWrapper\r\n label=\"Birim Fiyat\"\r\n modalLoading={modalLoading}\r\n color={\r\n yetki.kaydet && brFiyatEnabled\r\n ? \"#1eb91e\"\r\n : undefined\r\n }\r\n >\r\n <Field\r\n name=\"birimFiyat\"\r\n component={NumberInputForm}\r\n readOnly={!yetki.kaydet}\r\n rowData={rowData}\r\n disabled={!brFiyatEnabled}\r\n\r\n // onChange={(e) => tutarlariHesapla(e, \"birimFiyat\")}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Para Birimi\"\r\n modalLoading={modalLoading}\r\n color={\r\n yetki.kaydet && brFiyatEnabled\r\n ? \"#1eb91e\"\r\n : undefined\r\n }\r\n >\r\n <Field\r\n name=\"dovizKod\"\r\n items={Object.values(PARA_BIRIMI)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n disabled={!brFiyatEnabled}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Satış Adedi\"\r\n modalLoading={modalLoading}\r\n color={yetki.kaydet ? \"#1eb91e\" : undefined}\r\n >\r\n <Field\r\n name=\"miktar\"\r\n rowData={rowData}\r\n component={NumberInputForm}\r\n readOnly={!yetki.kaydet}\r\n // disabled={!brFiyatEnabled}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Çalışma Birimi\"\r\n modalLoading={modalLoading}\r\n color={yetki.kaydet ? \"#1eb91e\" : undefined}\r\n >\r\n <Field\r\n name=\"stokBirim\"\r\n items={Object.values(STOK_BIRIM)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n\r\n // disabled={!brFiyatEnabled}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Kdv Oranı\"\r\n modalLoading={modalLoading}\r\n color={\r\n yetki.kaydet && brFiyatEnabled\r\n ? \"#1eb91e\"\r\n : undefined\r\n }\r\n >\r\n <Field\r\n name=\"kdvOrani\"\r\n component={NumberInputForm}\r\n readOnly={!yetki.kaydet}\r\n rowData={rowData}\r\n disabled={!brFiyatEnabled}\r\n\r\n // onChange={(e) => tutarlariHesapla(e, \"kdvOrani\")}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper\r\n label=\"Kdv Tutarı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"kdvTutari\"\r\n component={NumberInputForm}\r\n readOnly={true}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Kdv'li Birim Fiyat\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"kdvliBirimFiyat\"\r\n component={NumberInputForm}\r\n readOnly={true}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"İskonto Oranı\"\r\n modalLoading={modalLoading}\r\n color={yetki.kaydet ? \"#1eb91e\" : undefined}\r\n >\r\n <Field\r\n name=\"iskontoOrani\"\r\n component={NumberInputForm}\r\n readOnly={!yetki.kaydet}\r\n onFocus={() => {\r\n setLastChangedField(\"iskontoOrani\");\r\n }}\r\n rowData={rowData}\r\n\r\n // onChange={(e) => tutarlariHesapla(e, \"iskontoOrani\")}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"İskonto Tutarı\"\r\n modalLoading={modalLoading}\r\n color={yetki.kaydet ? \"#1eb91e\" : undefined}\r\n >\r\n <Field\r\n name=\"iskontoTutari\"\r\n component={NumberInputForm}\r\n onFocus={() => setLastChangedField(\"iskontoTutari\")}\r\n readOnly={!yetki.kaydet}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Genel Toplam\"\r\n modalLoading={modalLoading}\r\n // color=\"#1eb91e\"\r\n >\r\n <Field\r\n name=\"genelToplam\"\r\n component={NumberInputForm}\r\n readOnly={true}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper>\r\n </div>\r\n </CustomBox>\r\n </Grid>\r\n {/* </DialogContentTop> */}\r\n <DialogActionsWrapper>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n modalLoading={modalLoading}\r\n submitButtonText={\"Satıra Aktar\"}\r\n deleteButtonText={\"Satırdan Sil\"}\r\n />\r\n </DialogActionsWrapper>\r\n </DialogContentWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n <UrunAciklamasiDialog\r\n ref={urunAciklamasiDialogRef}\r\n ekranKodu={ekranKodu}\r\n isEditable={false}\r\n ></UrunAciklamasiDialog>\r\n </>\r\n );\r\n }\r\n);\r\nexport default TeklifDetayRecord;\r\n","import { useEffect, useRef, useState } from \"react\";\r\nimport { PageConfig } from \"./TeklifDetayConfig\";\r\nimport TeklifDetayRecord from \"./TeklifDetayRecord\";\r\nimport EditGrid from \"../../components/grid/EditGrid\";\r\nimport { useField } from \"react-final-form\";\r\n\r\nfunction TeklifDetay({\r\n ekranKodu,\r\n rowData,\r\n listGridRef,\r\n detailGridRef,\r\n editGridRef,\r\n duzenlemeYapamaz,\r\n}) {\r\n const recordRef = useRef();\r\n const ref = useRef();\r\n const fiyatListeid = useField(\"fiyatListeid\").input.value;\r\n const teklifid = useField(\"id\").input.value;\r\n const kullaniciSayisi = useField(\"kullaniciSayisi\").input.value;\r\n\r\n const [gridDs, setGridDs] = useState(rowData.detay);\r\n\r\n useEffect(() => {\r\n setGridDs(rowData.detay);\r\n }, [rowData]);\r\n\r\n const openRecord = (id) => {\r\n ref.current.openRecord(id);\r\n };\r\n\r\n return (\r\n <>\r\n <EditGrid\r\n entities={PageConfig.type}\r\n openRecord={openRecord}\r\n height={\"40vh\"}\r\n editGridRef={editGridRef}\r\n dataSource={gridDs ?? []}\r\n dipToplamDataSource={rowData.dipToplam ?? []}\r\n dipToplamEntities={PageConfig.typeDipToplam}\r\n ekleButtonGizli={duzenlemeYapamaz || !rowData?.id}\r\n editButtonsGizli={duzenlemeYapamaz}\r\n ekleButtonText={\"Satır Ekle\"}\r\n ></EditGrid>\r\n\r\n <TeklifDetayRecord\r\n ref={ref}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n detailGridRef={detailGridRef}\r\n editGridRef={editGridRef}\r\n fiyatListeid={fiyatListeid}\r\n teklifid={teklifid}\r\n xkullaniciSayisi={kullaniciSayisi}\r\n setGridDs={setGridDs}\r\n ></TeklifDetayRecord>\r\n </>\r\n );\r\n}\r\n\r\nexport default TeklifDetay;\r\n","import React from \"react\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport CancelButton from \"../../components/buttons/custom/CancelButton\";\r\nimport SaveButton from \"../../components/buttons/custom/SaveButton\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport useBasicDialog from \"../../hooks/use-basic-dialog\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport NumberInputForm from \"../../components/inputs/form-inputs/NumberInputForm\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport * as yup from \"yup\";\r\nimport useSubmit from \"../../hooks/use-submit\";\r\n\r\nconst TopluIskontoDialog = React.forwardRef(({ customHandleSubmit }, ref) => {\r\n const context = React.useContext(AppContext);\r\n const { open, closeRecord } = useBasicDialog(ref);\r\n\r\n\r\n\r\n\r\n // const handleSubmit = useSubmit(\r\n // { updateRoute: \"TeklifMaster/TopluIskontoUygula\" },\r\n // setRowDataFnc,\r\n // listGridRef\r\n // );\r\n\r\n const afterSubmitFnc = () => {\r\n closeRecord();\r\n // masterDialogClose();\r\n };\r\n\r\n const handleSubmit = (data) => {\r\n customHandleSubmit(data.iskontoOrani);\r\n afterSubmitFnc();\r\n };\r\n\r\n const validationSchema = yup.object().shape({\r\n ...(context.user.bayiKullanicisi && {\r\n iskontoOrani: yup\r\n .number()\r\n .max(\r\n context?.user?.maxIskontoOrani,\r\n \"İskonto oranı en fazla '\" +\r\n context?.user?.maxIskontoOrani +\r\n \"' olabilir.\"\r\n ),\r\n }),\r\n iskontoOrani: yup.number().max(100, \"İskonto oranı en fazla 100 olabilir.\"),\r\n });\r\n\r\n const { validateFormValues } = usePageRecord();\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"İskonto Oranı Girişi\"\r\n maxWidth=\"sm\"\r\n canFullScreen={false}\r\n fullWidth={true}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={{}}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit} style={{ height: \"120px\" }}>\r\n <DialogContentWrapper>\r\n <Field name=\"iskontoOrani\" component={NumberInputForm} />\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n <SaveButton\r\n onClick={async (e) => {\r\n await form.submit().then(() => {\r\n closeRecord();\r\n });\r\n }}\r\n saveButtonText={\"Uygula\"}\r\n />\r\n <CancelButton\r\n onClick={() => {\r\n form.reset();\r\n }}\r\n disabled={submitting || pristine}\r\n />\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n );\r\n});\r\n\r\nexport default TopluIskontoDialog;\r\n","import React, { useRef } from \"react\";\r\nimport AutocomplateInputForm from \"../form-inputs/AutocomplateInputForm\";\r\nimport PotansiyelMusteriRecord from \"../../../pages/PotansiyelMusteri/PotansiyelMusteriRecord\";\r\n\r\nfunction PotansiyelMusteriEklemeliInputForm({\r\n ekranKodu,\r\n rowData,\r\n readOnly,\r\n inputRef,\r\n input,\r\n ...rest\r\n}) {\r\n const potMusteriEklemeDialogRef = useRef();\r\n return (\r\n <>\r\n <AutocomplateInputForm\r\n ref={inputRef}\r\n readOnly={readOnly}\r\n rowData={rowData}\r\n insertButtonRef={potMusteriEklemeDialogRef}\r\n remoteDataAdaptor={{\r\n fetchRoute: \"PotansiyelMusteri/ListForSelect\",\r\n fildsForText: [\"musteriAdi\"],\r\n fieldForValue: \"id\",\r\n reqData: {},\r\n fieldLabel: \"potFirmaidStr\",\r\n }}\r\n input={input}\r\n {...rest}\r\n />\r\n <PotansiyelMusteriRecord\r\n ref={potMusteriEklemeDialogRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={inputRef}\r\n gorusmeRef={rowData}\r\n ></PotansiyelMusteriRecord>\r\n </>\r\n );\r\n}\r\nexport default PotansiyelMusteriEklemeliInputForm;\r\n","import React, { useRef } from \"react\";\r\nimport FileViewDialog from \"../../file/FileViewDialog\";\r\nimport CustomColoredButton from \"./CustomColoredButton\";\r\nimport PictureAsPdfIcon from \"@mui/icons-material/PictureAsPdf\";\r\n\r\nexport default function SatisTeklifiOnayliPdfDosyasiButton({\r\n routes,\r\n reqData,\r\n label,\r\n ekranKodu,\r\n parentRowData,\r\n disabled,\r\n deleteDisabled,\r\n ...rest\r\n}) {\r\n const satisTeklifOnayliPdfDialogRef = useRef();\r\n\r\n return (\r\n <>\r\n {parentRowData.dosyaVar ? (\r\n <CustomColoredButton\r\n startIcon={<PictureAsPdfIcon />}\r\n onClick={() =>\r\n satisTeklifOnayliPdfDialogRef?.current?.openRecord(null, reqData)\r\n }\r\n {...rest}\r\n disabled={disabled}\r\n color={\"#008000\"}\r\n // sx={{ padding: \"2px\" }}\r\n ></CustomColoredButton>\r\n ) : (\r\n <CustomColoredButton\r\n startIcon={<PictureAsPdfIcon />}\r\n onClick={() =>\r\n satisTeklifOnayliPdfDialogRef?.current?.openRecord(null, reqData)\r\n }\r\n {...rest}\r\n disabled={disabled}\r\n color={\"#008000\"}\r\n // sx={{ padding: \"2px\" }}\r\n ></CustomColoredButton>\r\n )}\r\n\r\n <FileViewDialog\r\n ekranKodu={ekranKodu}\r\n routes={routes}\r\n ref={satisTeklifOnayliPdfDialogRef}\r\n reqData={reqData}\r\n parentRowData={parentRowData}\r\n deleteDisabled={deleteDisabled}\r\n ></FileViewDialog>\r\n </>\r\n );\r\n}\r\n","import AlertDialog from \"../../components/dialogs/AlertDialog\";\r\nimport useSubmit from \"../../hooks/use-submit\";\r\n\r\nexport default function TeklifiReddedildiDialog({\r\n teklifReddetAlertDialogRef,\r\n teklifReddiniGeriAlAlertDialogRef,\r\n rowData,\r\n setRowDataFnc,\r\n listGridRef,\r\n reddet\r\n}) {\r\n const handleSubmit = useSubmit(\r\n { updateRoute: \"TeklifMaster/TeklifiReddet\" },\r\n setRowDataFnc,\r\n listGridRef\r\n );\r\n\r\n const handleSubmitReddiGeriAl = useSubmit(\r\n { updateRoute: \"TeklifMaster/TeklifReddiGeriAl\" },\r\n setRowDataFnc,\r\n listGridRef\r\n );\r\n\r\n return (\r\n reddet ? (<AlertDialog\r\n ref={teklifReddetAlertDialogRef}\r\n onayBtnClick={() => {\r\n handleSubmit({ id: rowData.id });\r\n }}\r\n dialogTitle={\"Teklif Reddediliyor!\"}\r\n contentText={\r\n \"Teklifi reddedildi olarak işaretlemek istediğinize emin misiniz?\"\r\n }\r\n dialogActionsVisible={true}\r\n ></AlertDialog>) : (<AlertDialog\r\n ref={teklifReddiniGeriAlAlertDialogRef}\r\n onayBtnClick={() => {\r\n handleSubmitReddiGeriAl({ id: rowData.id });\r\n }}\r\n dialogTitle={\"Teklif Reddi geri alıyor!\"}\r\n contentText={\r\n \"Teklifi reddini geri almak istediğinize emin misiniz?\"\r\n }\r\n dialogActionsVisible={true}\r\n ></AlertDialog>)\r\n );\r\n}\r\n","import React, { useRef } from \"react\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport useFetchDialog from \"../../hooks/use-fetch-dialog\";\r\nimport useSubmit from \"../../hooks/use-submit\";\r\nimport CancelButton from \"../../components/buttons/custom/CancelButton\";\r\nimport SaveButton from \"../../components/buttons/custom/SaveButton\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport { apiUrl, PARA_BIRIMI } from \"../../common/constants\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport NumberInputForm from \"../../components/inputs/form-inputs/NumberInputForm\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport { printToast } from \"../../common/constant-functions/printToast\";\r\n\r\nconst TeklifiDovizliyeCevirDialog = React.forwardRef(\r\n (\r\n {\r\n ekranKodu,\r\n isEditable,\r\n setRowDataFnc,\r\n listGridRef,\r\n setRowDataWithGetById,\r\n },\r\n ref\r\n ) => {\r\n const { open, closeRecord, modalLoading, rowData, setRowData } =\r\n useFetchDialog(ref, \"TeklifMaster/DovizKoduGetir\");\r\n\r\n const afterSubmitFnc = (res) => {\r\n setRowDataFnc((prevState) => {\r\n return {\r\n ...prevState,\r\n dovizKod: res?.data?.data?.dovizKod,\r\n dovizKuru: res?.data?.data?.dovizKuru,\r\n };\r\n });\r\n setRowDataWithGetById(res?.data?.data?.id);\r\n // masterRef.current.open(rowData.id);\r\n // afterSubmit(rowData.id);\r\n };\r\n\r\n var lModalTitle = \"Dövizli Teklife Çevir\";\r\n\r\n const handleSubmit = useSubmit(\r\n {\r\n updateRoute: \"TeklifMaster/DovizliTeklifeCevir\",\r\n insertRoute: \"TeklifMaster/DovizliTeklifeCevir\",\r\n },\r\n setRowData,\r\n listGridRef,\r\n afterSubmitFnc\r\n );\r\n\r\n var dovizKuruSecimEnabled = useRef(null);\r\n\r\n dovizKuruSecimEnabled = rowData.dovizKod !== \"TL\";\r\n\r\n return (\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle={lModalTitle}\r\n maxWidth=\"sm\"\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n //validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit} style={{ height: \"200px\" }}>\r\n <DialogContentWrapper>\r\n <FieldWrapper label=\"Döviz Kod\" modalLoading={modalLoading}>\r\n <Field\r\n name={\"dovizKod\"}\r\n component={AutocomplateInputForm}\r\n items={Object.values(PARA_BIRIMI)}\r\n // readOnly={!isEditable}\r\n modalLoading={modalLoading}\r\n onChangeExtra={(old, newVal) => {\r\n if (newVal?.Value === PARA_BIRIMI.TL.Value) {\r\n form?.change(\"dovizKuru\", 1);\r\n dovizKuruSecimEnabled = false;\r\n } else {\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}TeklifMaster/DovizKuruGetir`,\r\n data: {\r\n teklifid: rowData?.id,\r\n dovizKod: newVal.Value,\r\n },\r\n })\r\n .then((res) => {\r\n if (res.data.data !== null) {\r\n form?.change(\r\n \"dovizKuru\",\r\n res.data.data.dovizKuru\r\n );\r\n } else {\r\n }\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n });\r\n\r\n dovizKuruSecimEnabled = true;\r\n }\r\n }}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper label=\"Döviz Kuru\" modalLoading={modalLoading}>\r\n <Field\r\n name={\"dovizKuru\"}\r\n component={NumberInputForm}\r\n // readOnly={!isEditable}\r\n modalLoading={modalLoading}\r\n readOnly={!dovizKuruSecimEnabled}\r\n />\r\n </FieldWrapper>\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n {isEditable && (\r\n <SaveButton\r\n onClick={(e) => {\r\n form.submit().then(() => {\r\n closeRecord();\r\n });\r\n }}\r\n saveButtonText={\"Uygula\"}\r\n />\r\n )}\r\n {isEditable && (\r\n <CancelButton\r\n onClick={() => {\r\n form.reset();\r\n }}\r\n disabled={submitting || pristine}\r\n />\r\n )}\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n );\r\n }\r\n);\r\n\r\nexport default TeklifiDovizliyeCevirDialog;\r\n","import React from \"react\";\r\n\r\nconst ProgressBar = (value) => {\r\n const customprogressBarStyle = {\r\n topcontainer: {\r\n width: \"100%\",\r\n backgroundColor: \"#ffffff\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n },\r\n\r\n container: {\r\n width: \"80%\",\r\n height: \"20px\",\r\n backgroundColor: \"#e0e0e0\",\r\n borderRadius: \"4px\",\r\n overflow: \"hidden\",\r\n margin: \"10px 0\",\r\n position: \"relative\",\r\n },\r\n inner: {\r\n height: \"100%\",\r\n lineHeight: \"20px\",\r\n textAlign: \"center\",\r\n color: \"white\",\r\n transition: \"width 0.3s ease\",\r\n },\r\n text: {\r\n position: \"absolute\",\r\n top: \"50%\",\r\n left: \"50%\",\r\n transform: \"translate(-50%, -50%)\",\r\n margin: \"0\",\r\n color: \"black\",\r\n },\r\n };\r\n\r\n return (\r\n <div style={customprogressBarStyle.topcontainer}>\r\n <div style={customprogressBarStyle.container}>\r\n <div\r\n style={{\r\n ...customprogressBarStyle.inner,\r\n width: `${value}%`,\r\n backgroundColor: \"#34a4eb\",\r\n }}\r\n >\r\n <span style={customprogressBarStyle.text}>{value}%</span>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default ProgressBar;\r\n","import ProgressBar from \"../components/forms/ProgressBar\";\r\nimport { ID_WIDTH } from \"../common/entityconstants\";\r\nimport SirketInputForm from \"../components/inputs/custom-form-inputs/SirketInputForm\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"projeAsamasi\",\r\n label: \"Proje Aşaması\",\r\n dataType: \"text\",\r\n dataField: \"projeAsamasi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"baslangicTarihi\",\r\n label: \"Başlangıç Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"baslangicTarihi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"bitisTarihi\",\r\n label: \"Bitiş Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"bitisTarihi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"aciklama\",\r\n label: \"Açıklama\",\r\n dataType: \"text\",\r\n dataField: \"aciklama\",\r\n visible: [\"grid\"],\r\n },\r\n\r\n //filtre--------------------------------------------------------------------------------------------------\r\n];\r\n\r\nexport default entity;\r\n","import Type from \"../../entities/TeklifProjeDetay\";\r\n\r\nconst PageConfig = {\r\n title: \"TeklifProjeMaster\",\r\n ekranKodu: \"TeklifProjeMaster_Res\",\r\n type: Type,\r\n listRoute: \"TeklifProjeMaster/List\",\r\n getByIdRoute: \"TeklifProjeMaster/GetById\",\r\n insertRoute: \"TeklifProjeMaster/Insert\",\r\n updateRoute: \"TeklifProjeMaster/Update\",\r\n deleteRoute: \"TeklifProjeMaster/Delete\",\r\n teklifiReddetRoute: \"TeklifProjeMaster/TeklifiReddet\",\r\n};\r\n\r\n// const FileConfig = {\r\n// allFilesDownloadRoute: \"TeklifMaster/TeklifOnayiDosyalariIndir\",\r\n// fileDownloadRoute: \"TeklifMaster/TeklifOnayiDosyaIndir\",\r\n// filesInfoRoute: \"TeklifMaster/TeklifOnayiDosyaBilgileri\",\r\n// fileUploadRoute: \"TeklifMaster/TeklifOnayiDosyaYukle\",\r\n// deleteFilesRoute: \"TeklifMaster/TeklifOnayiDosyaSil\",\r\n// };\r\n\r\nexport { PageConfig };\r\n","import Type from \"../../entities/TeklifProjeDetay\";\r\n\r\nconst PageConfig = {\r\n title: \"TeklifProjeDetay\",\r\n ekranKodu: \"TeklifProjeDetay_Res\",\r\n type: Type,\r\n listRoute: \"TeklifProjeDetay/List\",\r\n getByIdRoute: \"TeklifProjeDetay/GetById\",\r\n insertRoute: \"TeklifProjeDetay/Insert\",\r\n updateRoute: \"TeklifProjeDetay/Update\",\r\n deleteRoute: \"TeklifProjeMaster/DeleteDetay\",\r\n};\r\n\r\nexport { PageConfig };\r\n","import React, { useRef } from \"react\";\r\nimport { Grid } from \"@mui/material\";\r\nimport { Field, Form, FormSpy } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport { PageConfig } from \"./TeklifProjeDetayConfig\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport * as yup from \"yup\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport dayjs from \"dayjs\";\r\nimport MultilineTextInputForm from \"../../components/inputs/form-inputs/MultilineTextInputForm\";\r\nimport DateInputForm2 from \"../../components/inputs/form-inputs/DateInputForm2\";\r\n\r\nconst TeklifProjeDetayRecord = React.forwardRef(\r\n (\r\n {\r\n ekranKodu,\r\n listGridRef,\r\n detailGridRef,\r\n editGridRef,\r\n teklifid,\r\n masterid,\r\n setGridDs,\r\n },\r\n ref\r\n ) => {\r\n const context = React.useContext(AppContext);\r\n\r\n const initialState = {\r\n kayitTarihi: dayjs(),\r\n kayitEden: context?.user?.id,\r\n masterid: masterid,\r\n teklifid: teklifid,\r\n };\r\n\r\n const customFetchData = (id) => {\r\n let rows = editGridRef.current.instance.getVisibleRows();\r\n let currentRow = rows.find((x) => x.key == id);\r\n setRowData(currentRow.data);\r\n setModalLoading(false);\r\n };\r\n\r\n const customInsertOrUpdate = (values) => {\r\n var tempChanges = editGridRef.current.instance\r\n .option(\"editing.changes\")\r\n .slice();\r\n if (recId) {\r\n let change = tempChanges.find((x) => x.key == recId);\r\n if (!change) {\r\n tempChanges.push({\r\n key: recId,\r\n data: {},\r\n type: \"update\",\r\n });\r\n change = tempChanges.find((x) => x.key == recId);\r\n }\r\n\r\n let rows = editGridRef.current.instance.getVisibleRows();\r\n let currentRow = rows.find((x) => x.key == recId);\r\n Object.keys(currentRow.data).map((key) => {\r\n if (values[key] != currentRow.data[key]) {\r\n change.data[key] = values[key];\r\n }\r\n });\r\n } else {\r\n tempChanges.push({\r\n key: crypto.randomUUID(),\r\n data: values,\r\n type: \"insert\",\r\n });\r\n }\r\n\r\n editGridRef.current.instance.option(\"editing.changes\", tempChanges);\r\n\r\n handleClose();\r\n };\r\n\r\n const values = useRef(null);\r\n\r\n const afterDelete = () => {\r\n if (typeof recId === typeof \"\") {\r\n let tempChanges =\r\n editGridRef.current.instance.option(\"editing.changes\");\r\n editGridRef.current.instance.option(\r\n \"editing.changes\",\r\n tempChanges.filter((x) => x.key != recId)\r\n );\r\n } else {\r\n let ds = editGridRef.current.instance.option(\"dataSource\");\r\n setGridDs(ds.filter((x) => x.id != recId));\r\n }\r\n };\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n setRowData,\r\n setModalLoading,\r\n recId,\r\n } = usePageRecord(\r\n ref,\r\n PageConfig,\r\n listGridRef,\r\n ekranKodu,\r\n initialState,\r\n detailGridRef,\r\n false,\r\n customFetchData,\r\n customInsertOrUpdate,\r\n null,\r\n afterDelete\r\n );\r\n\r\n const validationSchema = yup.object().shape({});\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Teklif Proje Detay Girişi\"\r\n maxWidth=\"sm\"\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n reset,\r\n values: formValues,\r\n }) => (\r\n <FormComponent\r\n onSubmit={handleSubmit}\r\n style={{ height: \"720px\" }}\r\n >\r\n <FormSpy\r\n subscription={{ values: true }}\r\n onChange={(props) => {\r\n values.current = props.values;\r\n }}\r\n />\r\n <DialogContentWrapper>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <FieldWrapper\r\n label=\"Proje Aşaması\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"projeAsamasi\"\r\n rowData={rowData}\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Başlangıç Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"baslangicTarihi\"\r\n rowData={rowData}\r\n component={DateInputForm2}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Bitiş Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"bitisTarihi\"\r\n rowData={rowData}\r\n component={DateInputForm2}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper label=\"Açıklama\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"aciklama\"\r\n rowData={rowData}\r\n component={MultilineTextInputForm}\r\n readOnly={!yetki.kaydet}\r\n minRows={3}\r\n maxRows={4}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n {/* </DialogContentTop> */}\r\n <DialogActionsWrapper>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogActionsWrapper>\r\n </DialogContentWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n }\r\n);\r\nexport default TeklifProjeDetayRecord;\r\n","import { useEffect, useRef, useState } from \"react\";\r\nimport { PageConfig } from \"./TeklifProjeDetayConfig\";\r\nimport EditGrid from \"../../components/grid/EditGrid\";\r\nimport { useField } from \"react-final-form\";\r\nimport TeklifProjeDetayRecord from \"./TeklifProjeDetayRecord\";\r\n\r\nfunction TeklifProjeDetay({\r\n ekranKodu,\r\n rowData,\r\n listGridRef,\r\n detailGridRef,\r\n editGridRef,\r\n duzenlemeYapamaz,\r\n}) {\r\n const recordRef = useRef();\r\n const ref = useRef();\r\n // const fiyatListeid = useField(\"fiyatListeid\").input.value;\r\n const masterid = useField(\"id\").input.value;\r\n const teklifid = useField(\"teklifid\").input.value;\r\n // const kullaniciSayisi = useField(\"kullaniciSayisi\").input.value;\r\n\r\n const [gridDs, setGridDs] = useState(rowData.detay);\r\n\r\n useEffect(() => {\r\n setGridDs(rowData.detay);\r\n }, [rowData]);\r\n\r\n const openRecord = (id) => {\r\n ref.current.openRecord(id);\r\n };\r\n\r\n return (\r\n <>\r\n <EditGrid\r\n entities={PageConfig.type}\r\n openRecord={openRecord}\r\n height={\"45vh\"}\r\n editGridRef={editGridRef}\r\n dataSource={gridDs ?? []}\r\n // dipToplamDataSource={rowData.dipToplam ?? []}\r\n // dipToplamEntities={PageConfig.typeDipToplam}\r\n ekleButtonGizli={duzenlemeYapamaz}\r\n editButtonsGizli={duzenlemeYapamaz}\r\n ekleButtonText={\"Süreç Ekle\"}\r\n ></EditGrid>\r\n\r\n <TeklifProjeDetayRecord\r\n ref={ref}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n detailGridRef={detailGridRef}\r\n editGridRef={editGridRef}\r\n teklifid={teklifid}\r\n masterid={masterid}\r\n setGridDs={setGridDs}\r\n ></TeklifProjeDetayRecord>\r\n </>\r\n );\r\n}\r\n\r\nexport default TeklifProjeDetay;\r\n","import React, { useRef } from \"react\";\r\nimport { Grid } from \"@mui/material\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport { PageConfig } from \"./TeklifProjeMasterConfig\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport * as yup from \"yup\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport DialogContentTop from \"../../components/dialogs/DialogContentTop\";\r\nimport NumberInputForm from \"../../components/inputs/form-inputs/NumberInputForm\";\r\nimport dayjs from \"dayjs\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\n\r\nimport DateInputForm2 from \"../../components/inputs/form-inputs/DateInputForm2\";\r\nimport TeklifProjeDetay from \"./TeklifProjeDetay\";\r\nimport { GUN_AY_YIL } from \"../../common/constants\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\n\r\nconst TeklifProjeMasterRecord = React.forwardRef(\r\n ({ ekranKodu, listGridRef }, ref) => {\r\n const context = React.useContext(AppContext);\r\n\r\n var initialState = {\r\n kayitTarihi: dayjs(),\r\n kayitEden: context?.user?.id,\r\n };\r\n\r\n const editGridRef = useRef();\r\n\r\n const handleSubmitPrepareData = (values) => {\r\n let aa = {\r\n ...values,\r\n detay: editGridRef.current.instance.getVisibleRows().map((row) => {\r\n if (row.data.masterid == \"undefined\" || row.data.masterid == \"\") {\r\n row.data.masterid = 0;\r\n }\r\n return row.data;\r\n }),\r\n dipToplam: [],\r\n };\r\n\r\n return aa;\r\n };\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n setRowDataFnc,\r\n } = usePageRecord(\r\n ref,\r\n PageConfig,\r\n listGridRef,\r\n ekranKodu,\r\n initialState,\r\n () => {\r\n editGridRef.current?.instance?.cancelEditData();\r\n },\r\n null,\r\n null,\r\n null,\r\n handleSubmitPrepareData\r\n );\r\n\r\n const setRowDataWithGetById = (id) => {\r\n ref?.current?.openRecord(id);\r\n };\r\n\r\n const validationSchema = yup.object().shape({});\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Teklif Proje Bilgileri\"\r\n maxWidth=\"md\"\r\n height={\"78vh\"}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <DialogContentTop>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <FieldWrapper\r\n label=\"Teklif No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n disabled\r\n name=\"teklifid\"\r\n component={TextInputForm}\r\n />\r\n </FieldWrapper>\r\n <Grid container direction=\"row\" spacing={2}>\r\n <Grid item xs={8}>\r\n <FieldWrapper\r\n label=\"Proje Süresi\"\r\n modalLoading={modalLoading}\r\n textWidth={\"75%\"}\r\n >\r\n <Field\r\n name=\"projeSuresi\"\r\n component={NumberInputForm}\r\n readOnly={!yetki.kaydet}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n <Grid item xs={4}>\r\n <Field\r\n name=\"projeSureTipi\"\r\n items={Object.values(GUN_AY_YIL)}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet}\r\n rowData={rowData}\r\n />\r\n </Grid>\r\n </Grid>\r\n\r\n <FieldWrapper\r\n label=\"Proje Baslangıç Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"projeBaslangicTarihi\"\r\n component={DateInputForm2}\r\n readOnly={!yetki.kaydet}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Proje Bitiş Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"projeBitisTarihi\"\r\n component={DateInputForm2}\r\n readOnly={!yetki.kaydet}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n </DialogContentTop>\r\n <DialogActionsWrapper\r\n sx={{\r\n justifyContent: \"space-between\",\r\n }}\r\n >\r\n {/* <Grid> */}\r\n {/* <ButtonWrapper\r\n color=\"primary\"\r\n startIcon={<PrintIcon />}\r\n onClick={(e) => {\r\n form.submit();\r\n pdfDialogRef?.current?.openRecord(rowData.id);\r\n }}\r\n disabled={!rowData.id}\r\n >\r\n Yazdır\r\n </ButtonWrapper> */}\r\n {/* <PopoverButton\r\n label=\"İşlemler\"\r\n disabled={\r\n !rowData?.id || duzenlemeYapamaz || teklifDuzenlenemez\r\n }\r\n >\r\n <SatisTeklifiOnayliPdfDosyasiButton\r\n routes={FileConfig}\r\n reqData={{\r\n id: rowData.id,\r\n }}\r\n ekranKodu={ekranKodu}\r\n parentRowData={rowData}\r\n disabled={\r\n !rowData?.id ||\r\n duzenlemeYapamaz ||\r\n teklifDuzenlenemez\r\n }\r\n >\r\n {\" \"}\r\n Teklife Onaylı Dosya Yükle\r\n </SatisTeklifiOnayliPdfDosyasiButton>\r\n <CustomColoredButton\r\n startIcon={<DoNotDisturbIcon />}\r\n // routes={FileConfig}\r\n // reqData={{\r\n // id: rowData.id,\r\n // }}\r\n onClick={() => {\r\n teklifReddetAlertDialogRef?.current?.openRecord();\r\n }}\r\n ekranKodu={ekranKodu}\r\n parentRowData={rowData}\r\n disabled={\r\n !rowData?.id ||\r\n duzenlemeYapamaz ||\r\n teklifDuzenlenemez\r\n }\r\n color=\"red\"\r\n >\r\n Teklifi Reddet\r\n </CustomColoredButton>\r\n <ButtonWrapper\r\n color=\"primary\"\r\n startIcon={<DiscountIcon />}\r\n onClick={(e) => {\r\n topluIskontoDialogRef?.current?.openRecord();\r\n // handleChangeAllItems();\r\n }}\r\n disabled={\r\n !rowData.id ||\r\n duzenlemeYapamaz ||\r\n teklifDuzenlenemez\r\n }\r\n >\r\n Toplu İskonto\r\n </ButtonWrapper>\r\n <ButtonWrapper\r\n startIcon={<CurrencyExchangeIcon />}\r\n color=\"warning\"\r\n onClick={(e) => {\r\n teklifiDovizliyeCevirDialogRef?.current?.openRecord(\r\n rowData.id\r\n );\r\n }}\r\n disabled={\r\n !rowData.id ||\r\n duzenlemeYapamaz ||\r\n teklifDuzenlenemez\r\n }\r\n >\r\n DÖVİZLİ TEKLİFE ÇEVİR\r\n </ButtonWrapper>\r\n </PopoverButton> */}\r\n {/* </Grid> */}\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n modalLoading={modalLoading}\r\n // submitCondition={!duzenlemeYapamaz && !teklifDuzenlenemez}\r\n // deleteCondition={!duzenlemeYapamaz && !teklifDuzenlenemez}\r\n // cancelCondition={!duzenlemeYapamaz && !teklifDuzenlenemez}\r\n />\r\n </DialogActionsWrapper>\r\n <DialogContentWrapper>\r\n <TeklifProjeDetay\r\n\r\n ekranKodu={ekranKodu}\r\n rowData={rowData}\r\n editGridRef={editGridRef}\r\n listGridRef={editGridRef}\r\n detailGridRef={editGridRef}\r\n // duzenlemeYapamaz={duzenlemeYapamaz || teklifDuzenlenemez}\r\n ></TeklifProjeDetay>\r\n </DialogContentWrapper>\r\n </DialogContentWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n }\r\n);\r\nexport default TeklifProjeMasterRecord;\r\n","import * as React from \"react\";\r\nimport { NumericFormat } from \"react-number-format\";\r\n// import TextField from \"@mui/material\";\r\n// import { InputAdornment } from \"@mui/material\";\r\nimport { IconButton, InputAdornment, TextField } from '@mui/material';\r\n\r\nconst NumericFormatCustom = React.forwardRef(function NumericFormatCustom(\r\n props,\r\n ref\r\n) {\r\n const { onChange, ...other } = props;\r\n\r\n return (\r\n <NumericFormat\r\n {...other}\r\n getInputRef={ref}\r\n onValueChange={(values) => {\r\n onChange({\r\n target: {\r\n value: values.value,\r\n },\r\n });\r\n }}\r\n thousandSeparator=\".\"\r\n decimalSeparator=\",\"\r\n valueIsNumericString\r\n decimalScale={4}\r\n />\r\n );\r\n});\r\n\r\nexport default function YuzdeliInputForm({\r\n input,\r\n meta,\r\n label,\r\n onChangeExtra,\r\n onBlurExtra,\r\n ...rest\r\n}) {\r\n return (\r\n <TextField\r\n {...input}\r\n sx={{ width: \"100%\" }}\r\n onChange={(e, newValue, reason, event) => {\r\n onChangeExtra && onChangeExtra(e.target.value, newValue);\r\n input.onChange(e.target.value === \"\" ? undefined : +e.target.value);\r\n }}\r\n InputProps={{\r\n startAdornment: (\r\n <InputAdornment position=\"start\">\r\n %\r\n </InputAdornment>\r\n ),\r\n readOnly: rest.readOnly,\r\n }}\r\n // InputProps={{\r\n // inputComponent: NumericFormatCustom,\r\n // }}\r\n variant=\"standard\"\r\n autoComplete=\"off\"\r\n error={meta.error && meta.touched}\r\n helperText={meta.error && meta.touched ? meta.error : null}\r\n\r\n onBlur={() => {\r\n onBlurExtra && onBlurExtra();\r\n }}\r\n // slotProps={{\r\n // input: {\r\n // startAdornment: <InputAdornment position=\"start\">%</InputAdornment>,\r\n // },\r\n // }}\r\n {...rest}\r\n />\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport RichTextEditor from \"../../components/inputs/form-inputs/RichTextEditor\";\r\nimport useFetchDialog from \"../../hooks/use-fetch-dialog\";\r\nimport useSubmit from \"../../hooks/use-submit\";\r\nimport CancelButton from \"../../components/buttons/custom/CancelButton\";\r\nimport SaveButton from \"../../components/buttons/custom/SaveButton\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport { ANALIZ_TIPI, PARA_BIRIMI } from \"../../common/constants\";\r\nimport NumberInputForm from \"../../components/inputs/form-inputs/NumberInputForm\";\r\nimport MultilineTextInputForm from \"../../components/inputs/form-inputs/MultilineTextInputForm\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport { Grid, InputAdornment } from \"@mui/material\";\r\nimport YuzdeliInputForm from \"../../components/inputs/form-inputs/YuzdeliInputForm\";\r\n\r\nconst TeklifOdemePlaniDialog = React.forwardRef(\r\n ({ ekranKodu, isEditable, setRowDataFnc, listGridRef }, ref) => {\r\n const { open, closeRecord, modalLoading, rowData, setRowData } =\r\n useFetchDialog(ref, \"TeklifMaster/OdemePlaniGetById\");\r\n\r\n const afterSubmitFnc = (res) => {\r\n setRowDataFnc((prevState) => {\r\n return {\r\n ...prevState,\r\n // onAnaliz: res?.data?.data?.onAnaliz,\r\n // testKlavuzu: res?.data?.data?.testKlavuzu,\r\n };\r\n });\r\n };\r\n\r\n const handleSubmit = useSubmit(\r\n {\r\n updateRoute: \"TeklifMaster/TeklifOdemePlaniUpdate\",\r\n insertRoute: \"TeklifMaster/TeklifOdemePlaniUpdate\",\r\n },\r\n setRowData,\r\n listGridRef,\r\n afterSubmitFnc\r\n );\r\n\r\n return (\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle={\"Proje Sonrası Fiyatlandırma Bilgileri\"}\r\n maxWidth=\"sm\"\r\n fullWidth={true}\r\n height={\"40vh\"}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n //validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <Grid container direction=\"row\" spacing={2}>\r\n <Grid item xs={8}>\r\n <FieldWrapper\r\n label=\"Adam/Gün Ücreti\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"adamGunUcreti\"\r\n component={NumberInputForm}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n <Grid item xs={4}>\r\n <Field\r\n name=\"adamGunBirim\"\r\n items={Object.values(PARA_BIRIMI)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n // readOnly={!yetki.kaydet && !gorusmeRef}\r\n />\r\n\r\n </Grid>\r\n </Grid>\r\n <Grid container direction=\"row\" spacing={2}>\r\n <Grid item xs={8}>\r\n <FieldWrapper\r\n label=\"Adam/Saat Ücreti\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"adamSaatUcreti\"\r\n component={NumberInputForm}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n <Grid item xs={4}>\r\n <Field\r\n name=\"adamSaatBirim\"\r\n items={Object.values(PARA_BIRIMI)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n // readOnly={!yetki.kaydet && !gorusmeRef}\r\n />\r\n\r\n </Grid>\r\n </Grid>\r\n <Grid container direction=\"row\" spacing={2}>\r\n <Grid item xs={8}>\r\n <FieldWrapper\r\n label=\"Yıllık Lisans Üyelik Bedeli\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"yillikLisansUyelikBedeli\"\r\n component={NumberInputForm}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n <Grid item xs={4}>\r\n <Field\r\n name=\"yillikLisansUyelikBedeliBirim\"\r\n items={Object.values(PARA_BIRIMI)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n // readOnly={!yetki.kaydet && !gorusmeRef}\r\n />\r\n\r\n </Grid>\r\n </Grid>\r\n <FieldWrapper\r\n label=\"Yıllık Artış Oranı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"yillikArtisOrani\"\r\n component={YuzdeliInputForm}\r\n rowData={rowData}\r\n\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper label=\"Açıklama\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"aciklama\"\r\n component={MultilineTextInputForm}\r\n rowData={rowData}\r\n minRows={4}\r\n maxRows={5}\r\n />\r\n </FieldWrapper>\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n {isEditable && (\r\n <SaveButton\r\n onClick={(e) => {\r\n form.submit().then(() => {\r\n closeRecord();\r\n });\r\n }}\r\n />\r\n )}\r\n {isEditable && (\r\n <CancelButton\r\n onClick={() => {\r\n form.reset();\r\n }}\r\n disabled={submitting || pristine}\r\n />\r\n )}\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n );\r\n }\r\n);\r\n\r\nexport default TeklifOdemePlaniDialog;\r\n","import styled from \"@emotion/styled\";\r\nimport { DialogActions, DialogContent } from \"@mui/material\";\r\nimport React from \"react\";\r\nimport useDialog from \"../../hooks/use-dialog\";\r\nimport ScrollDialog from \"../dialogs/ScrollDialog\";\r\nimport PageReport from \"./PageReport\";\r\nimport { Fullscreen } from \"@mui/icons-material\";\r\nimport PageReportNew from \"./PageReportNew\";\r\n\r\nconst CustomPdfDialog = styled(ScrollDialog)(({ theme }) => ({\r\n \"& .MuiDialog-paper\": {\r\n // width: \"21cm\",\r\n // height: \"29.7cm\",\r\n height: \"100vh\",\r\n },\r\n}));\r\n\r\nconst PdfDialogNew = React.forwardRef(\r\n ({ title, url, base64, actionButtons, yeniPageRecord }, ref) => {\r\n const { open, closeRecord, id, showActionButtons } = useDialog(ref);\r\n\r\n return (\r\n <ScrollDialog\r\n maxWidth=\"md\"\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle={title}\r\n canFullScreen={false}\r\n height={\"200vh\"}\r\n >\r\n <DialogContent id=\"dialog-content\">\r\n <PageReportNew base64={base64} url={url} requestData={{ id: id }} />\r\n </DialogContent>\r\n {showActionButtons && <DialogActions>{actionButtons}</DialogActions>}\r\n </ScrollDialog>\r\n );\r\n }\r\n);\r\n\r\nexport default PdfDialogNew;\r\n","import React, { useRef } from \"react\";\r\nimport { Field, Form, FormSpy } from \"react-final-form\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport useFetchDialog from \"../../hooks/use-fetch-dialog\";\r\nimport useSubmit from \"../../hooks/use-submit\";\r\nimport CancelButton from \"../../components/buttons/custom/CancelButton\";\r\nimport SaveButton from \"../../components/buttons/custom/SaveButton\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport NumberInputForm from \"../../components/inputs/form-inputs/NumberInputForm\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport DateInputForm2 from \"../../components/inputs/form-inputs/DateInputForm2\";\r\nimport CheckboxForm from \"../../components/inputs/form-inputs/CheckboxForm\";\r\nimport * as yup from \"yup\";\r\nimport validateFormValues from \"../../common/constant-functions/validateFormValues\";\r\n\r\nconst TeklifOdemeBilgileriDialog = React.forwardRef(\r\n ({ ekranKodu, isEditable, setRowDataFnc, listGridRef }, ref) => {\r\n const { open, closeRecord, modalLoading, rowData, setRowData } =\r\n useFetchDialog(ref, \"TeklifMaster/OdemeBilgileriGetById\");\r\n\r\n const values = useRef(null);\r\n\r\n const afterSubmitFnc = (res) => {\r\n setRowDataFnc((prevState) => {\r\n return {\r\n ...prevState,\r\n // onAnaliz: res?.data?.data?.onAnaliz,\r\n // testKlavuzu: res?.data?.data?.testKlavuzu,\r\n };\r\n });\r\n };\r\n\r\n const handleSubmit = useSubmit(\r\n {\r\n updateRoute: \"TeklifMaster/OdemeBilgileriniKaydet\",\r\n insertRoute: \"TeklifMaster/OdemeBilgileriniKaydet\",\r\n },\r\n setRowData,\r\n listGridRef,\r\n afterSubmitFnc\r\n );\r\n\r\n const validationSchema = yup.object().shape({\r\n // iban: yup.string().when(\"denemeKullanimi\", {\r\n // is: (denemeKullanimi) => denemeKullanimi && denemeKullanimi == false,\r\n // then: yup.string().required(\"İban girilmesi zorunludur.\"),\r\n // }),\r\n // krediKartiNumarasi: yup.string().when(\"denemeKullanimi\", {\r\n // is: (denemeKullanimi) => denemeKullanimi && denemeKullanimi === true,\r\n // then: yup.string().nullable(),\r\n // otherwise: yup.string().required(\"K.Kartı girilmesi zorunludur.\"),\r\n // }),\r\n // adSoyad: yup.string().when(\"denemeKullanimi\", {\r\n // is: (denemeKullanimi) => denemeKullanimi && denemeKullanimi === true,\r\n // then: yup.string().nullable(),\r\n // otherwise: yup.string().required(\"K.Kartı girilmesi zorunludur.\"),\r\n // }),\r\n // sonKullanmaTarihi: yup.string().when(\"denemeKullanimi\", {\r\n // is: (denemeKullanimi) => denemeKullanimi && denemeKullanimi === true,\r\n // then: yup.string().nullable(),\r\n // otherwise: yup.string().required(\"K.Kartı girilmesi zorunludur.\"),\r\n // }),\r\n // cvv: yup.string().when(\"denemeKullanimi\", {\r\n // is: (denemeKullanimi) => denemeKullanimi && denemeKullanimi === true,\r\n // then: yup.string().nullable(),\r\n // otherwise: yup.string().required(\"K.Kartı girilmesi zorunludur.\"),\r\n // }),\r\n\r\n });\r\n\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle={\"Ödeme Bilgileri\"}\r\n maxWidth=\"sm\"\r\n fullWidth={true}\r\n height={\"50vh\"}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n reset,\r\n values: formValues,\r\n\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <FormSpy\r\n subscription={{ values: true }}\r\n onChange={(props) => {\r\n const currentDenemeKullanimi = values.current?.denemeKullanimi;\r\n const newDenemeKullanimi = props.values?.denemeKullanimi;\r\n\r\n if (currentDenemeKullanimi !== newDenemeKullanimi) {\r\n if (newDenemeKullanimi === true) {\r\n\r\n const currentDate = new Date();\r\n const endDate = new Date();\r\n endDate.setDate(currentDate.getDate() + 15); // 15 gün ekleniyor\r\n form.change(\"baslangicTarihi\", currentDate);\r\n form.change(\"bitisTarihi\", endDate);\r\n } else if (newDenemeKullanimi === false) {\r\n form.change(\"baslangicTarihi\", null);\r\n form.change(\"bitisTarihi\", null);\r\n }\r\n values.current = props.values;\r\n }\r\n\r\n if (currentDenemeKullanimi === false || currentDenemeKullanimi === null) {\r\n if (values.current?.baslangicTarihi !== props.values?.baslangicTarihi) {\r\n const xendDate = new Date();\r\n xendDate.setDate(props.values?.baslangicTarihi.getDate() + 380);\r\n form.change(\"bitisTarihi\", xendDate);\r\n\r\n values.current = props.values;\r\n }\r\n }\r\n\r\n\r\n }}\r\n />\r\n\r\n <DialogContentWrapper>\r\n <FieldWrapper\r\n label=\"Deneme Kullanımı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"denemeKullanimi\"\r\n component={CheckboxForm}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Başlangıç Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"baslangicTarihi\"\r\n component={DateInputForm2}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Bitiş Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"bitisTarihi\"\r\n component={DateInputForm2}\r\n rowData={rowData}\r\n readOnly={true}\r\n\r\n />\r\n </FieldWrapper>\r\n {formValues.denemeKullanimi === true ? null : (<>\r\n <FieldWrapper\r\n label=\"IBAN\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"iban\"\r\n component={NumberInputForm}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Kredi Kartı Numarası\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"krediKartiNumarasi\"\r\n component={NumberInputForm}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Ad Soyad\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"adSoyad\"\r\n component={TextInputForm}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Son Kullanma Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"sonKullanmaTarihi\"\r\n component={TextInputForm}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"CVV\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"cVV\"\r\n component={TextInputForm}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper>\r\n </>)}\r\n\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n {isEditable && (\r\n <SaveButton\r\n onClick={async (e) => {\r\n await form.submit().then(() => {\r\n closeRecord();\r\n });\r\n }}\r\n />\r\n )}\r\n {isEditable && (\r\n <CancelButton\r\n onClick={() => {\r\n form.reset();\r\n }}\r\n disabled={submitting || pristine}\r\n />\r\n )}\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n\r\n </>\r\n );\r\n\r\n\r\n }\r\n);\r\n\r\nexport default TeklifOdemeBilgileriDialog;\r\n","import React, { useRef } from \"react\";\r\nimport { Grid } from \"@mui/material\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport { PageConfig, FileConfig, TeklifOnayiFileConfig } from \"./TeklifMasterConfig\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport * as yup from \"yup\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport DialogContentTop from \"../../components/dialogs/DialogContentTop\";\r\nimport TeklifDetay from \"./TeklifDetay\";\r\nimport FiyatListesiInputForm from \"../../components/inputs/custom-form-inputs/FiyatListesiInputForm\";\r\nimport NumberInputForm from \"../../components/inputs/form-inputs/NumberInputForm\";\r\nimport { apiUrl, CARI_TIPI, PARA_BIRIMI, TEKLIF_DURUMU } from \"../../common/constants\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport dayjs from \"dayjs\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport SirketInputForm from \"../../components/inputs/custom-form-inputs/SirketInputForm\";\r\nimport ButtonWrapper from \"../../components/buttons/ButtonWrapper\";\r\nimport PdfDialog from \"../../components/pdf/PdfDialog\";\r\nimport TopluIskontoDialog from \"./TopluIskontoDialog\";\r\nimport PotansiyelMusteriEklemeliInputForm from \"../../components/inputs/custom-form-inputs/PotansiyelMusteriEklemeliInputForm\";\r\nimport MultilineTextInputForm from \"../../components/inputs/form-inputs/MultilineTextInputForm\";\r\nimport SatisTeklifiOnayliPdfDosyasiButton from \"../../components/buttons/custom/SatisTeklifiOnayliPdfDosyasiButton\";\r\nimport PopoverButton from \"../../components/buttons/PopoverButton\";\r\nimport CustomColoredButton from \"../../components/buttons/custom/CustomColoredButton\";\r\nimport DoNotDisturbIcon from \"@mui/icons-material/DoNotDisturb\";\r\nimport TeklifiReddedildiDialog from \"./TeklifiReddedildiDialog\";\r\nimport TeklifiDovizliyeCevirDialog from \"./TeklifiDovizliyeCevirDialog\";\r\nimport CurrencyExchangeIcon from \"@mui/icons-material/CurrencyExchange\";\r\nimport DiscountIcon from \"@mui/icons-material/Discount\";\r\nimport PrintIcon from \"@mui/icons-material/Print\";\r\nimport DateInputForm2 from \"../../components/inputs/form-inputs/DateInputForm2\";\r\nimport TeklifProjeMasterRecord from \"../TeklifProje/TeklifProjeMasterRecord\";\r\nimport StackedLineChartIcon from \"@mui/icons-material/StackedLineChart\";\r\nimport TeklifOdemePlaniDialog from \"./TeklifOdemePlaniDialog\";\r\nimport PaymentIcon from \"@mui/icons-material/Payment\";\r\nimport PdfDialogNew from \"../../components/pdf/PdfDialogNew\";\r\nimport EkDosyaButton from \"../../components/buttons/custom/EkDosyaButton\";\r\nimport RestoreIcon from '@mui/icons-material/Restore';\r\nimport TeklifOdemeBilgileriDialog from \"./TeklifOdemeBilgileriDialog\";\r\nimport ReceiptIcon from '@mui/icons-material/Receipt';\r\nimport { toast } from \"react-toastify\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport { printToast } from \"../../common/constant-functions/printToast\";\r\n\r\nconst TeklifMasterRecord = React.forwardRef(\r\n ({ ekranKodu, listGridRef, detailGridRef, gorusmeRef }, ref) => {\r\n const context = React.useContext(AppContext);\r\n\r\n const cariTipiInputRef = useRef();\r\n const pdfDialogRef = useRef();\r\n const topluIskontoDialogRef = useRef();\r\n const teklifReddetAlertDialogRef = useRef();\r\n const teklifReddiniGeriAlAlertDialogRef = useRef();\r\n const teklifiDovizliyeCevirDialogRef = useRef();\r\n const teklifProjeBilgileriRef = useRef();\r\n const teklifOdemePlaniDialogRef = useRef();\r\n const teklifOdemeBilgileriDialogRef = useRef();\r\n\r\n\r\n var initialState = {\r\n // aktif: true,\r\n teklifTarihi: dayjs(),\r\n kayitTarihi: dayjs(),\r\n degisiklikTarihi: dayjs(),\r\n degisiklikYapan: context?.user?.id,\r\n kayitEden: context?.user?.id,\r\n cariTipi: 1,\r\n teklifDurumu: 1,\r\n };\r\n\r\n // if (!gorusmeRef) {\r\n initialState = {\r\n ...initialState,\r\n fiyatListeid: context?.user?.fiyatListesiid,\r\n fiyatListeidStr: context?.user?.fiyatListesiidStr,\r\n };\r\n // }\r\n\r\n if (gorusmeRef && gorusmeRef.potFirmaid > 0) {\r\n initialState = {\r\n ...initialState,\r\n cariTipi: 2,\r\n potFirmaid: gorusmeRef.potFirmaid,\r\n gorusmeid: gorusmeRef.id,\r\n potFirmaidStr: gorusmeRef.potFirmaidStr,\r\n };\r\n }\r\n\r\n const editGridRef = useRef();\r\n\r\n // !Emirhan\r\n\r\n\r\n const handleSubmitPrepareData = (values) => {\r\n let aa = {\r\n ...values,\r\n detay: editGridRef.current.instance.getVisibleRows().map((row) => {\r\n if (row.data.masterid == \"undefined\" || row.data.masterid == \"\") {\r\n row.data.masterid = 0;\r\n }\r\n return row.data;\r\n }),\r\n dipToplam: [],\r\n };\r\n\r\n return aa;\r\n };\r\n\r\n // const teklifiDovizliyeCevirAfterSubmit = (id) => {\r\n // var xid = rowData.id;\r\n\r\n // ref.current.openRecord(xid);\r\n // };\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n setRowDataFnc,\r\n } = usePageRecord(\r\n ref,\r\n PageConfig,\r\n listGridRef,\r\n ekranKodu,\r\n initialState,\r\n () => {\r\n editGridRef.current?.instance?.cancelEditData();\r\n },\r\n null,\r\n null,\r\n null,\r\n handleSubmitPrepareData\r\n );\r\n\r\n // const handleChangeAllItems = (iskontoOrani, form) => {\r\n // const dataGrid = editGridRef.current.instance;\r\n // let rows = dataGrid.getVisibleRows();\r\n // rows.map((row) => {\r\n // dataGrid.cellValue(row.rowIndex, \"iskontoOrani\", iskontoOrani);\r\n // });\r\n // toast.success(\"Tüm satırlara %\" + iskontoOrani + \" iskonto uygulandı.\");\r\n // };\r\n\r\n const iskontoOraniChange = (iskontoOrani) => {\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${PageConfig.teklifTopluIskontoOraniUygula}`,\r\n data: {\r\n id: rowData.id,\r\n iskontoOrani: iskontoOrani\r\n },\r\n })\r\n .then((res) => {\r\n toast.success(\"Tüm satırlara %\" + iskontoOrani + \" iskonto uygulandı.\");\r\n setRowDataFnc(res.data.data)\r\n editGridRef.current.instance.refresh();\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n });\r\n\r\n // const dataGrid = editGridRef.current.instance;\r\n // let rows = dataGrid.getVisibleRows();\r\n // rows.map((row) => {\r\n // dataGrid.cellValue(row.rowIndex, \"iskontoOrani\", iskontoOrani);\r\n // });\r\n\r\n };\r\n\r\n const setRowDataWithGetById = (id) => {\r\n ref?.current?.openRecord(id);\r\n };\r\n\r\n const validationSchema = yup.object().shape({\r\n kullaniciSayisi: yup.number().required(),\r\n // listeKodu: yup.string().required(),\r\n // listeAdi: yup.string().required(),\r\n // baslangicTarihi: yup.date().required(),\r\n // bitisTarihi: yup.date().required(),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n const cariTipiSirketli = () => {\r\n return cariTipiInputRef?.current?.value === CARI_TIPI.MUSTERI.Value;\r\n };\r\n\r\n // const duzenlemeYapamaz =\r\n // context.user?.anaBayiKullanicisi === true &&\r\n // rowData.bayiid > 0 &&\r\n // !context.user?.kullaniciParametreleri\r\n // ?.tumTekliflerinBilgileriniDegistirebilir;\r\n\r\n const duzenlemeYapamaz = rowData?.kayitEden !== context?.user?.id &&\r\n !context.user?.kullaniciParametreleri?.tumTekliflerinBilgileriniDegistirebilir\r\n // console.log(rowData.detay, \"rowData.detay\");\r\n\r\n const kullaniciSayisiDegistirilemez =\r\n rowData.detay !== null && rowData.detay?.length > 0;\r\n\r\n // console.log(rowData.teklifDurumu, \"rowData.teklifDurumu\");\r\n\r\n const teklifDuzenlenemez =\r\n rowData.teklifDurumu === TEKLIF_DURUMU.ONAYLANDI.Value ||\r\n rowData.teklifDurumu === TEKLIF_DURUMU.REDDEDILDI.Value;\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Satış Teklifi Ver\"\r\n maxWidth=\"lg\"\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <DialogContentTop>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <FieldWrapper\r\n label=\"Teklif No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Teklif Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"teklifTarihi\"\r\n component={DateInputForm2}\r\n readOnly={!yetki.kaydet || duzenlemeYapamaz}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper>\r\n <Grid container direction=\"row\" spacing={2}>\r\n <Grid item xs={4}>\r\n <FieldWrapper\r\n label=\"Müşteri\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n items={Object.values(CARI_TIPI)}\r\n rowData={rowData}\r\n name=\"cariTipi\"\r\n component={AutocomplateInputForm}\r\n ref={cariTipiInputRef}\r\n readOnly={\r\n !yetki.kaydet ||\r\n duzenlemeYapamaz ||\r\n teklifDuzenlenemez\r\n }\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n <Grid item xs={8}>\r\n {cariTipiInputRef && cariTipiSirketli() ? (\r\n <Field\r\n name=\"firmaid\"\r\n rowData={rowData}\r\n component={SirketInputForm}\r\n readOnly={\r\n !yetki.kaydet ||\r\n duzenlemeYapamaz ||\r\n teklifDuzenlenemez\r\n }\r\n />\r\n ) : cariTipiInputRef ? (\r\n <Field\r\n name=\"potFirmaid\"\r\n rowData={rowData}\r\n component={PotansiyelMusteriEklemeliInputForm}\r\n readOnly={\r\n !yetki.kaydet ||\r\n duzenlemeYapamaz ||\r\n teklifDuzenlenemez\r\n }\r\n ekranKodu={ekranKodu}\r\n />\r\n ) : null}\r\n </Grid>\r\n </Grid>\r\n <FieldWrapper\r\n label=\"Fiyat Listesi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"fiyatListeid\"\r\n rowData={rowData}\r\n component={FiyatListesiInputForm}\r\n readOnly={\r\n !yetki.kaydet ||\r\n context?.user?.bayiKullanicisi ||\r\n duzenlemeYapamaz ||\r\n teklifDuzenlenemez\r\n }\r\n />\r\n </FieldWrapper>\r\n {/* <Grid container direction=\"row\" spacing={2}>\r\n <Grid item xs={10}> */}\r\n <Grid container direction=\"row\" spacing={0} padding={1}>\r\n <Grid item xs={9}>\r\n <FieldWrapper\r\n label=\"Teklif Durumu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n items={Object.values(TEKLIF_DURUMU)}\r\n name=\"teklifDurumu\"\r\n component={AutocomplateInputForm}\r\n readOnly={true}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n <Grid item xs={3}>\r\n <PopoverButton\r\n label=\"Onayla/Reddet\"\r\n disabled={\r\n !rowData?.id || duzenlemeYapamaz || teklifDuzenlenemez\r\n }\r\n backColor=\"#7272cc\"\r\n hoverBackColor=\"#3232a8\"\r\n >\r\n <SatisTeklifiOnayliPdfDosyasiButton\r\n routes={TeklifOnayiFileConfig}\r\n reqData={{\r\n id: rowData.id,\r\n }}\r\n ekranKodu={ekranKodu}\r\n parentRowData={rowData}\r\n deleteDisabled={teklifDuzenlenemez}\r\n disabled={\r\n !rowData?.id ||\r\n duzenlemeYapamaz ||\r\n teklifDuzenlenemez\r\n }\r\n listGridRef={listGridRef}\r\n >\r\n {\" \"}\r\n Teklifi Onayla\r\n </SatisTeklifiOnayliPdfDosyasiButton>\r\n {rowData.teklifDurumu === TEKLIF_DURUMU.REDDEDILDI.Value ? (\r\n <CustomColoredButton\r\n startIcon={<RestoreIcon />}\r\n onClick={() => {\r\n teklifReddiniGeriAlAlertDialogRef?.current?.openRecord();\r\n }}\r\n ekranKodu={ekranKodu}\r\n disabled={\r\n !rowData?.id ||\r\n duzenlemeYapamaz\r\n }\r\n color=\"teal\"\r\n >\r\n Reddi Geri Al\r\n </CustomColoredButton>) : (<CustomColoredButton\r\n startIcon={<DoNotDisturbIcon />}\r\n onClick={() => {\r\n teklifReddetAlertDialogRef?.current?.openRecord();\r\n }}\r\n ekranKodu={ekranKodu}\r\n disabled={\r\n !rowData?.id ||\r\n duzenlemeYapamaz\r\n }\r\n color=\"red\"\r\n >\r\n Teklifi Reddet\r\n </CustomColoredButton>)}\r\n </PopoverButton>\r\n </Grid>\r\n </Grid>\r\n {/* <Grid container direction=\"row\" spacing={0} padding={1}>\r\n <Grid item xs={4}>\r\n <SatisTeklifiOnayliPdfDosyasiButton\r\n routes={TeklifOnayiFileConfig}\r\n reqData={{\r\n id: rowData.id,\r\n }}\r\n ekranKodu={ekranKodu}\r\n parentRowData={rowData}\r\n deleteDisabled={teklifDuzenlenemez}\r\n disabled={\r\n !rowData?.id ||\r\n duzenlemeYapamaz ||\r\n teklifDuzenlenemez\r\n }\r\n >\r\n {\" \"}\r\n Teklifi Onayla\r\n </SatisTeklifiOnayliPdfDosyasiButton>\r\n </Grid>\r\n <Grid item xs={4}>\r\n \r\n\r\n </Grid>\r\n <Grid item xs={4}>\r\n \r\n </Grid>\r\n </Grid> */}\r\n </Grid>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <FieldWrapper\r\n label=\"Geçerlilik Günü\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"gecerlilikGunu\"\r\n component={NumberInputForm}\r\n readOnly={\r\n !yetki.kaydet ||\r\n duzenlemeYapamaz ||\r\n teklifDuzenlenemez\r\n }\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Toplam Kullanıcı Sayısı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"kullaniciSayisi\"\r\n component={NumberInputForm}\r\n readOnly={\r\n !yetki.kaydet ||\r\n duzenlemeYapamaz ||\r\n teklifDuzenlenemez ||\r\n kullaniciSayisiDegistirilemez\r\n }\r\n />\r\n </FieldWrapper>\r\n {/* \r\n <Grid container direction=\"row\" spacing={2}>\r\n <Grid item xs={8}>\r\n <FieldWrapper\r\n label=\"Döviz Kodu\"\r\n modalLoading={modalLoading}\r\n width={\"47%\"}\r\n textWidth={\"53%\"}\r\n >\r\n <Field\r\n rowData={rowData}\r\n name=\"dovizKod\"\r\n component={TextInputForm}\r\n readOnly={true}\r\n clearable={false}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n <Grid item xs={4}>\r\n <Field\r\n name=\"dovizKuru\"\r\n rowData={rowData}\r\n component={NumberInputForm}\r\n readOnly={true}\r\n />\r\n </Grid>\r\n </Grid>\r\n <FieldWrapper\r\n label=\"Döviz Kuru Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"dovizKuruTarihi\"\r\n component={DateInputForm2}\r\n readOnly={\r\n !yetki.kaydet ||\r\n duzenlemeYapamaz ||\r\n teklifDuzenlenemez\r\n }\r\n />\r\n </FieldWrapper> */}\r\n <FieldWrapper\r\n label=\"Açıklama\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"aciklama\"\r\n type=\"text\"\r\n minRows={4}\r\n maxRows={4}\r\n component={MultilineTextInputForm}\r\n readOnly={\r\n !yetki.kaydet ||\r\n duzenlemeYapamaz ||\r\n teklifDuzenlenemez\r\n }\r\n />\r\n </FieldWrapper>\r\n {/* <FieldWrapper label=\"Aktif\" modalLoading={modalLoading}>\r\n <Field\r\n name=\"aktif\"\r\n component={CheckboxForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </FieldWrapper> */}\r\n </Grid>\r\n </DialogContentTop>\r\n <DialogActionsWrapper\r\n sx={{\r\n justifyContent: \"space-between\",\r\n }}\r\n >\r\n <Grid>\r\n <ButtonWrapper\r\n color=\"primary\"\r\n startIcon={<PrintIcon />}\r\n onClick={async (e) => {\r\n form.submit().then(() => {\r\n pdfDialogRef?.current?.openRecord(rowData.id);\r\n });\r\n }}\r\n disabled={!rowData.id}\r\n >\r\n Yazdır\r\n </ButtonWrapper>\r\n <PopoverButton\r\n label=\"Diğer Bilgiler\"\r\n disabled={\r\n !rowData?.id || duzenlemeYapamaz || teklifDuzenlenemez\r\n }\r\n >\r\n\r\n <ButtonWrapper\r\n color=\"primary\"\r\n startIcon={<DiscountIcon />}\r\n onClick={(e) => {\r\n topluIskontoDialogRef?.current?.openRecord();\r\n // handleChangeAllItems();\r\n }}\r\n disabled={\r\n !rowData.id ||\r\n duzenlemeYapamaz ||\r\n teklifDuzenlenemez\r\n }\r\n >\r\n Toplu İskonto\r\n </ButtonWrapper>\r\n <ButtonWrapper\r\n startIcon={<CurrencyExchangeIcon />}\r\n color=\"warning\"\r\n onClick={(e) => {\r\n teklifiDovizliyeCevirDialogRef?.current?.openRecord(\r\n rowData.id\r\n );\r\n }}\r\n disabled={\r\n !rowData.id ||\r\n duzenlemeYapamaz ||\r\n teklifDuzenlenemez\r\n }\r\n >\r\n DÖVİZLİ TEKLİFE ÇEVİR\r\n </ButtonWrapper>\r\n <ButtonWrapper\r\n startIcon={<StackedLineChartIcon />}\r\n color=\"secondary\"\r\n onClick={(e) => {\r\n teklifProjeBilgileriRef?.current?.openRecord(\r\n rowData.id\r\n );\r\n }}\r\n disabled={\r\n !rowData.id ||\r\n duzenlemeYapamaz ||\r\n teklifDuzenlenemez\r\n }\r\n >\r\n PROJE BİLGİLERİ\r\n </ButtonWrapper>\r\n <CustomColoredButton\r\n startIcon={<ReceiptIcon />}\r\n color=\"teal\"\r\n onClick={(e) => {\r\n teklifOdemePlaniDialogRef?.current?.openRecord(\r\n rowData.id\r\n );\r\n }}\r\n disabled={\r\n !rowData.id ||\r\n duzenlemeYapamaz ||\r\n teklifDuzenlenemez\r\n }\r\n >\r\n PROJE SONRASI FİYATLANDIRMA\r\n </CustomColoredButton>\r\n {/* <ButtonWrapper\r\n startIcon={<PaymentIcon />}\r\n color=\"info\"\r\n onClick={(e) => {\r\n teklifOdemeBilgileriDialogRef?.current?.openRecord(\r\n rowData.id\r\n );\r\n }}\r\n disabled={\r\n !rowData.id ||\r\n duzenlemeYapamaz ||\r\n teklifDuzenlenemez\r\n }\r\n >\r\n ÖDEME BİLGİLERİ\r\n </ButtonWrapper> */}\r\n <EkDosyaButton\r\n reqData={{\r\n id: rowData.id,\r\n }}\r\n routes={FileConfig}\r\n ekranKodu={ekranKodu}\r\n parentRowData={rowData}\r\n disabled={!rowData?.id}\r\n deleteDisabled={teklifDuzenlenemez}\r\n ></EkDosyaButton>\r\n </PopoverButton>\r\n </Grid>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n modalLoading={modalLoading}\r\n submitCondition={!duzenlemeYapamaz && !teklifDuzenlenemez}\r\n deleteCondition={!duzenlemeYapamaz && !teklifDuzenlenemez}\r\n cancelCondition={!duzenlemeYapamaz && !teklifDuzenlenemez}\r\n submitButtonText={\"Teklifi Kaydet\"}\r\n deleteButtonText={\"Teklifi Sil\"}\r\n />\r\n </DialogActionsWrapper>\r\n <DialogContentWrapper>\r\n <TeklifDetay\r\n ekranKodu={ekranKodu}\r\n rowData={rowData}\r\n editGridRef={editGridRef}\r\n listGridRef={editGridRef}\r\n detailGridRef={editGridRef}\r\n duzenlemeYapamaz={duzenlemeYapamaz || teklifDuzenlenemez}\r\n\r\n ></TeklifDetay>\r\n </DialogContentWrapper>\r\n </DialogContentWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n <PdfDialog\r\n ref={pdfDialogRef}\r\n title=\"Satiş Teklifi\"\r\n url=\"TeklifMaster/SatisTeklifiPdfNew\"\r\n ></PdfDialog>\r\n <TopluIskontoDialog\r\n customHandleSubmit={iskontoOraniChange}\r\n ref={topluIskontoDialogRef}\r\n />\r\n <TeklifiDovizliyeCevirDialog\r\n ref={teklifiDovizliyeCevirDialogRef}\r\n ekranKodu={ekranKodu}\r\n isEditable={true}\r\n setRowDataFnc={setRowDataFnc}\r\n listGridRef={listGridRef}\r\n // afterSubmit={teklifiDovizliyeCevirAfterSubmit}\r\n // afterSubmitFnc={() => listGridRef.current.openRecord(rowData.id)}\r\n masterRef={ref}\r\n setRowDataWithGetById={setRowDataWithGetById}\r\n />\r\n <TeklifProjeMasterRecord\r\n ref={teklifProjeBilgileriRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n />\r\n <TeklifiReddedildiDialog\r\n teklifReddetAlertDialogRef={teklifReddetAlertDialogRef}\r\n teklifReddiniGeriAlAlertDialogRef={teklifReddiniGeriAlAlertDialogRef}\r\n rowData={rowData}\r\n setRowDataFnc={setRowDataFnc}\r\n listGridRef={listGridRef}\r\n reddet={true}\r\n />\r\n <TeklifiReddedildiDialog\r\n teklifReddetAlertDialogRef={teklifReddetAlertDialogRef}\r\n teklifReddiniGeriAlAlertDialogRef={teklifReddiniGeriAlAlertDialogRef}\r\n rowData={rowData}\r\n setRowDataFnc={setRowDataFnc}\r\n listGridRef={listGridRef}\r\n reddet={false}\r\n />\r\n <TeklifOdemePlaniDialog\r\n ref={teklifOdemePlaniDialogRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n isEditable={true}\r\n />\r\n <TeklifOdemeBilgileriDialog\r\n ref={teklifOdemeBilgileriDialogRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n isEditable={true}\r\n />\r\n </>\r\n );\r\n }\r\n);\r\nexport default TeklifMasterRecord;\r\n","import { YETKI_GRUBU_TIPI } from \"../common/constants\";\r\nimport { ID_WIDTH } from \"../common/entityconstants\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"Goruşme Hat. No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n width: ID_WIDTH,\r\n visibleConditions: [\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n YETKI_GRUBU_TIPI.MUSTERI.Value,\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value,\r\n YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: \"hatirlatmaTarihi\",\r\n label: \"Hatırlatma Tarihi\",\r\n dataType: \"datetime\",\r\n dataField: \"hatirlatmaTarihi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"aciklama\",\r\n label: \"Açıklama\",\r\n dataType: \"text\",\r\n dataField: \"aciklama\",\r\n visible: [\"grid\"],\r\n },\r\n\r\n {\r\n name: \"mailGonderilecekKisiler\",\r\n label: \"Mail Gönderilecek Kişiler\",\r\n dataType: \"text\",\r\n dataField: \"mailGonderilecekKisiler\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"kayitTarihi\",\r\n label: \"Kayıt Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"kayitTarihi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"kayitEdenStr\",\r\n label: \"Kayıt Eden Kull.\",\r\n dataType: \"text\",\r\n dataField: \"kayitEdenStr\",\r\n visible: [\"grid\"],\r\n },\r\n \r\n //filtre--------------------------------------------------------------------------------------------------\r\n];\r\n\r\nexport default entity;\r\n","import Type from \"../../entities/GorusmeHatirlatmalari\";\r\n\r\nconst PageConfig = {\r\n title: \"GorusmeHatirlatmalari\",\r\n ekranKodu: \"GorusmeHatirlatmalari_Res\",\r\n type: Type,\r\n listRoute: \"GorusmeHatirlatmalari/List\",\r\n getByIdRoute: \"GorusmeHatirlatmalari/GetById\",\r\n insertRoute: \"GorusmeHatirlatmalari/Insert\",\r\n updateRoute: \"GorusmeHatirlatmalari/Update\",\r\n deleteRoute: \"GorusmeHatirlatmalari/Delete\",\r\n};\r\n\r\nexport { PageConfig };\r\n","import React, { useRef } from \"react\";\r\nimport { Stack } from \"@mui/material\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport * as yup from \"yup\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport { PageConfig } from \"./GorusmeHatirlatmaConfig\";\r\nimport DinamikTanimlarInputForm from \"../../components/inputs/custom-form-inputs/DinamikTanimlarInputForm\";\r\nimport { DINAMIK_TANIM_TIPLERI } from \"../../common/constants\";\r\nimport CheckboxForm from \"../../components/inputs/form-inputs/CheckboxForm\";\r\nimport DateTimeInputForm from \"../../components/inputs/form-inputs/DateTimeInputForm\";\r\nimport MultilineTextInputForm from \"../../components/inputs/form-inputs/MultilineTextInputForm\";\r\n\r\nconst CustomFieldWrapper = ({ label, modalLoading, children }) => {\r\n return (\r\n <FieldWrapper\r\n label={label}\r\n modalLoading={modalLoading}\r\n width={\"75%\"}\r\n textWidth={\"25%\"}\r\n >\r\n {children}\r\n </FieldWrapper>\r\n );\r\n};\r\n\r\nconst GorusmeHatirlatmaRecord = React.forwardRef(\r\n ({ ekranKodu, listGridRef, gorusmeidData }, ref) => {\r\n const initialState = { gorusmeid: gorusmeidData?.id };\r\n\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n } = usePageRecord(ref, PageConfig, listGridRef, ekranKodu, initialState);\r\n\r\n // console.log(rowData, \"rowData\");\r\n\r\n const validationSchema = yup.object().shape({\r\n // adSoyad: yup.string().required(),\r\n // adSoyad: yup.string().required(),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Yeni Görüşme Hatırlatması\"\r\n maxWidth=\"md\"\r\n fullWidth={true}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <form onSubmit={handleSubmit}>\r\n {/* <FormComponent onSubmit={handleSubmit}> */}\r\n <DialogContentWrapper>\r\n <Stack direction=\"column\" spacing={1}>\r\n <CustomFieldWrapper\r\n label=\"Görüşme Hatırlatma No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Görüşme No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"gorusmeid\"\r\n component={TextInputForm}\r\n //readOnly={!yetki.kaydet}\r\n disabled\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Hatırlatma Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"hatirlatmaTarihi\"\r\n component={DateTimeInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Açıklama\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"aciklama\"\r\n component={MultilineTextInputForm}\r\n minRows={5}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Mail Gönderilecek Kişiler\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"mailGonderilecekKisiler\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n\r\n\r\n </Stack>\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogActionsWrapper>\r\n {/* </FormComponent> */}\r\n </form>\r\n )}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n }\r\n);\r\nexport default GorusmeHatirlatmaRecord;\r\n","import React, { useRef, useEffect, useState } from \"react\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\nimport { PageConfig } from \"./GorusmeHatirlatmaConfig\";\r\nimport GorusmeHatirlatmaRecord from \"./GorusmeHatirlatmaRecord\";\r\n\r\nfunction GorusmeHatirlatma({ ekranKodu, rowData }, ref) {\r\n const listGridRef = useRef();\r\n const filterRef = useRef();\r\n const recordRef = useRef();\r\n const [isReady, setIsReady] = useState(false);\r\n\r\n useEffect(() => {\r\n if (rowData?.id) {\r\n setIsReady(true);\r\n }\r\n }, [rowData?.id]);\r\n\r\n return (\r\n <>\r\n {isReady && (\r\n <PageGrid\r\n gridId=\"GorusmeHatirlatmalari\"\r\n PageConfig={PageConfig}\r\n listGridRef={listGridRef}\r\n recordRef={recordRef}\r\n isCreatable\r\n ekranKodu={ekranKodu}\r\n reqData={{ gorusmeid: rowData?.id }}\r\n exportButtonVisible={false}\r\n height=\"28vh\"\r\n gridClearButtonVisible={false}\r\n />\r\n )}\r\n {isReady && (\r\n <GorusmeHatirlatmaRecord\r\n ref={recordRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n gorusmeidData={rowData}\r\n />\r\n )}\r\n </>\r\n );\r\n}\r\n\r\n// Apply React.memo properly\r\nexport default React.memo(GorusmeHatirlatma, (prevProps, nextProps) => {\r\n // Only re-render if rowData.id or ekranKodu changes\r\n return (\r\n prevProps.rowData?.id === nextProps.rowData?.id &&\r\n prevProps.ekranKodu === nextProps.ekranKodu\r\n );\r\n});\r\n","import { Grid } from \"@mui/material\";\r\nimport React from \"react\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport useSubmit from \"../../hooks/use-submit\";\r\nimport SaveButton from \"../../components/buttons/custom/SaveButton\";\r\nimport CancelButton from \"../../components/buttons/custom/CancelButton\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport DialogContentTop from \"../../components/dialogs/DialogContentTop\";\r\nimport { PageConfig } from \"./GorusmelerConfig\";\r\nimport MultilineTextInputForm from \"../../components/inputs/form-inputs/MultilineTextInputForm\";\r\nimport useBasicDialog from \"../../hooks/use-basic-dialog\";\r\nimport DateInputForm2 from \"../../components/inputs/form-inputs/DateInputForm2\";\r\nimport GorusmeHatirlatma from \"../GorusmeHatirlatmalari/GorusmeHatirlatma\";\r\n\r\nconst GorusmeHatirlatmaDialog = React.forwardRef(\r\n ({ gorusmeRef, listGridRef, ekranKodu }, ref) => {\r\n const { open, closeRecord } = useBasicDialog(ref);\r\n\r\n const afterSubmitFnc = () => {\r\n closeRecord();\r\n };\r\n\r\n // if (gorusmeRef && gorusmeRef.id > 0) {\r\n // var initialState = {\r\n // gorusmeid: gorusmeRef.id,\r\n // };\r\n // }\r\n\r\n // const handleSubmit = useSubmit(\r\n // {\r\n // insertRoute: PageConfig.hatirlatmaEkleRoute,\r\n // },\r\n // null,\r\n // listGridRef\r\n // );\r\n\r\n return (\r\n <>\r\n \r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"Görüşme Hatırlatma\"\r\n maxWidth=\"md\"\r\n fullWidth={true}\r\n draggable={false}\r\n >\r\n <GorusmeHatirlatma\r\n rowData={gorusmeRef}\r\n ekranKodu={ekranKodu}\r\n\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n }\r\n);\r\n\r\nexport default GorusmeHatirlatmaDialog;\r\n","// import Type from \"../../entities/Refe\";\r\n\r\nconst PageConfig = {\r\n title: \"ReferansVeren\",\r\n ekranKodu: \"ReferansVeren_Res\",\r\n // type: Type,\r\n // listRoute: \"ReferansVeren/List\",\r\n getByIdRoute: \"ReferansVeren/GetById\",\r\n insertRoute: \"ReferansVeren/Insert\",\r\n updateRoute: \"ReferansVeren/Update\",\r\n deleteRoute: \"ReferansVeren/Delete\",\r\n};\r\n\r\nexport { PageConfig };\r\n","import React, { useState } from \"react\";\r\nimport { AppContext } from \"../common/AppContext\";\r\nimport { HttpAuthorized } from \"../common/common\";\r\nimport { loadingVisible } from \"../common/constant-functions/loadingVisible\";\r\nimport { printToast } from \"../common/constant-functions/printToast\";\r\nimport validateFormValues from \"../common/constant-functions/validateFormValues\";\r\nimport { apiUrl } from \"../common/constants\";\r\nimport { PageConfig } from \"../pages/ReferansVeren/ReferansVerenConfig\";\r\n\r\nfunction useReferansVerenRecord(ref, referansVerenInputRef, ekranKodu) {\r\n const [open, setOpen] = useState(false);\r\n const [recId, setRecId] = useState(0);\r\n const [rowData, setRowData] = useState({});\r\n const [modalLoading, setModalLoading] = useState(true);\r\n\r\n React.useImperativeHandle(ref, () => ({\r\n setRecId: setRecId,\r\n recId: recId,\r\n openRecord: openRecord,\r\n }));\r\n\r\n const handleClickOpen = () => setOpen(true);\r\n\r\n const handleClose = () => {\r\n setOpen(false);\r\n setRecId(null);\r\n setRowData({});\r\n setModalLoading(true);\r\n };\r\n\r\n async function fetchData(recId) {\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${PageConfig.getByIdRoute}`,\r\n data: {\r\n id: recId,\r\n },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n setRowData(res.data.data);\r\n setModalLoading(false);\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n });\r\n }\r\n\r\n async function insertOrUpdate(values) {\r\n loadingVisible(true);\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${\r\n values.id ? PageConfig.updateRoute : PageConfig.insertRoute\r\n }`,\r\n data: {\r\n ...values,\r\n },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n setRowData(res.data.data);\r\n referansVerenInputRef?.current?.changeValue({\r\n Value: res.data.data?.id,\r\n Text: res.data.data?.referansVeren,\r\n });\r\n handleClose();\r\n\r\n console.log(\"res gelen\", res.data.data);\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n })\r\n .finally(() => loadingVisible(false));\r\n }\r\n\r\n async function handleDelete() {\r\n loadingVisible(true);\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${PageConfig.deleteRoute}`,\r\n data: { id: rowData.id },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n\r\n if (res.data.success) {\r\n setRowData({});\r\n referansVerenInputRef?.current?.changeValue({\r\n Value: null,\r\n Text: null,\r\n });\r\n handleClose();\r\n }\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n })\r\n .finally(() => loadingVisible(false));\r\n }\r\n\r\n const handleSubmit = async (values) => {\r\n await insertOrUpdate(values);\r\n };\r\n\r\n function openRecord(recId) {\r\n if (recId > 0) {\r\n setRecId(recId);\r\n fetchData(recId);\r\n } else {\r\n setRecId(null);\r\n setModalLoading(false);\r\n }\r\n handleClickOpen();\r\n }\r\n\r\n const context = React.useContext(AppContext);\r\n\r\n const yetki =\r\n context?.user?.yetkiler.find((x) => x.ekranKodu === ekranKodu) ?? {};\r\n\r\n return {\r\n rowData,\r\n setRowData,\r\n recId,\r\n setRecId,\r\n open,\r\n handleClickOpen,\r\n handleClose,\r\n modalLoading,\r\n setModalLoading,\r\n handleDelete,\r\n handleSubmit,\r\n validateFormValues,\r\n yetki,\r\n };\r\n}\r\n\r\nexport default useReferansVerenRecord;\r\n","import React from \"react\";\r\nimport { Stack } from \"@mui/material\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport * as yup from \"yup\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport useReferansVerenRecord from \"../../hooks/use-referans-veren-record\";\r\n\r\nconst CustomFieldWrapper = ({ label, modalLoading, children }) => {\r\n return (\r\n <FieldWrapper\r\n label={label}\r\n modalLoading={modalLoading}\r\n width={\"75%\"}\r\n textWidth={\"25%\"}\r\n >\r\n {children}\r\n </FieldWrapper>\r\n );\r\n};\r\n\r\nconst ReferansVerenRecord = React.forwardRef(\r\n ({ ekranKodu, referansVerenInputRef }, ref) => {\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n } = useReferansVerenRecord(ref, referansVerenInputRef, ekranKodu);\r\n\r\n const validationSchema = yup.object().shape({\r\n referansVeren: yup.string().required(),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Yeni Referans Veren\"\r\n maxWidth=\"xs\"\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <form onSubmit={handleSubmit}>\r\n {/* <FormComponent onSubmit={handleSubmit}> */}\r\n <DialogContentWrapper>\r\n <Stack direction=\"column\" spacing={1}>\r\n <CustomFieldWrapper label=\"No\" modalLoading={modalLoading}>\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Referans Veren\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"referansVeren\"\r\n component={TextInputForm}\r\n // readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n </Stack>\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n <RecordButton\r\n yetki={yetki}\r\n yetkisizseAc={true}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogActionsWrapper>\r\n {/* </FormComponent> */}\r\n </form>\r\n )}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n }\r\n);\r\nexport default ReferansVerenRecord;\r\n","import React, { useRef } from \"react\";\r\nimport AutocomplateInputForm from \"../form-inputs/AutocomplateInputForm\";\r\nimport ReferansVerenRecord from \"../../../pages/ReferansVeren/ReferansVerenRecord\";\r\n\r\nexport default function ReferansVerenInputForm({\r\n ekranKodu,\r\n rowData,\r\n readOnly,\r\n inputRef,\r\n input,\r\n sirketInputRef,\r\n reqData,\r\n ...rest\r\n}) {\r\n const referansVerenDialogRef = useRef();\r\n return (\r\n <>\r\n <AutocomplateInputForm\r\n readOnly={readOnly}\r\n rowData={rowData}\r\n insertButtonRef={referansVerenDialogRef}\r\n remoteDataAdaptor={{\r\n fetchRoute: \"ReferansVeren/ReferansVerenListForSelect\",\r\n fildsForText: [\"referansVeren\"],\r\n fieldForValue: \"id\",\r\n reqData: {},\r\n }}\r\n ref={inputRef}\r\n input={input}\r\n {...rest}\r\n />\r\n <ReferansVerenRecord\r\n ref={referansVerenDialogRef}\r\n ekranKodu={ekranKodu}\r\n referansVerenInputRef={inputRef}\r\n ></ReferansVerenRecord>\r\n </>\r\n );\r\n}\r\n","import {\r\n ATAMALI_GORUSME_DURUMU,\r\n ATAMALI_GORUSME_TIPI,\r\n GORUSME_ALINACAK_AKSIYON,\r\n GORUSME_DURUMU,\r\n GORUSME_TIPI,\r\n YETKI_GRUBU_TIPI,\r\n} from \"../common/constants\";\r\nimport { DATE_WIDTH } from \"../common/entityconstants\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"Kişi No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n // width: \"300px\",\r\n visibleConditions: [\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n YETKI_GRUBU_TIPI.MUSTERI.Value,\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value,\r\n YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n\r\n {\r\n name: \"gorusmeTarihi\",\r\n label: \"Görüşme Tarihi\",\r\n dataType: \"datetime\",\r\n dataField: \"gorusmeTarihi\",\r\n visible: [\"grid\"],\r\n width: \"130px\",\r\n },\r\n {\r\n name: \"aciklama\",\r\n label: \"Açıklama\",\r\n dataType: \"text\",\r\n dataField: \"aciklama\",\r\n visible: [\"grid\"],\r\n width: \"500px\",\r\n },\r\n {\r\n name: \"gorusmeDurumu\",\r\n label: \"Görüşme Durumu\",\r\n dataType: \"select\",\r\n dataField: \"gorusmeDurumu\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(ATAMALI_GORUSME_DURUMU),\r\n width: \"100px\",\r\n },\r\n {\r\n name: \"gorusmeTipi\",\r\n label: \"Görüşme Tipi\",\r\n dataType: \"select\",\r\n dataField: \"gorusmeTipi\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(ATAMALI_GORUSME_TIPI),\r\n width: \"100px\",\r\n },\r\n {\r\n name: \"alinacakAksiyon\",\r\n label: \"Alınacak Askiyon Adı\",\r\n dataType: \"select\",\r\n dataField: \"alinacakAksiyon\",\r\n selectItems: Object.values(GORUSME_ALINACAK_AKSIYON),\r\n visible: [\"grid\"],\r\n width: \"120px\",\r\n },\r\n {\r\n name: \"aksiyonGerceklesti\",\r\n label: \"Aksiyon Gerçekleşti\",\r\n dataType: \"boolean\",\r\n dataField: \"aksiyonGerceklesti\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"atayanKullanici\",\r\n label: \"Atayan Kullanıcı\",\r\n dataType: \"text\",\r\n dataField: \"atayanKullanici\",\r\n visible: [\"grid\"],\r\n width: \"120px\",\r\n },\r\n {\r\n name: \"atamaTarihi\",\r\n label: \"Atama Tarihi\",\r\n dataType: \"datetime\",\r\n dataField: \"atamaTarihi\",\r\n visible: [\"grid\"],\r\n width: \"130px\",\r\n visibleConditions: [\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.MUSTERI.Value,\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value,\r\n YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: \"kayitEdenKullaniciAdi\",\r\n label: \"Kayıt Eden Kullanıcı\",\r\n dataType: \"text\",\r\n dataField: \"kayitEdenKullaniciAdi\",\r\n visible: [\"grid\"],\r\n width: \"120px\",\r\n },\r\n\r\n\r\n {\r\n name: \"kayitTarihi\",\r\n label: \"Kayıt Tarihi\",\r\n dataType: \"datetime\",\r\n dataField: \"kayitTarihi\",\r\n visible: [\"grid\"],\r\n width: \"130px\",\r\n },\r\n //filtre--------------------------------------------------------------------------------------------------\r\n];\r\n\r\nexport default entity;\r\n","import Type from \"../../entities/GorusmeAciklamalari\";\r\n\r\nconst PageConfig = {\r\n title: \"GorusmeAciklamalari\",\r\n ekranKodu: \"GorusmeAciklamalari_Res\",\r\n type: Type,\r\n listRoute: \"GorusmeAciklamalari/List\",\r\n getByIdRoute: \"GorusmeAciklamalari/GetById\",\r\n insertRoute: \"GorusmeAciklamalari/Insert\",\r\n updateRoute: \"GorusmeAciklamalari/Update\",\r\n deleteRoute: \"GorusmeAciklamalari/Delete\",\r\n};\r\n\r\nexport { PageConfig };\r\n","import React, { useEffect, useRef } from \"react\";\r\nimport { Stack } from \"@mui/material\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport * as yup from \"yup\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport { PageConfig } from \"./GorusmeAciklamalariConfig\";\r\nimport MultilineTextInputForm from \"../../components/inputs/form-inputs/MultilineTextInputForm\";\r\nimport DateTimeInputForm from \"../../components/inputs/form-inputs/DateTimeInputForm\";\r\nimport { ATAMALI_GORUSME_DURUMU, ATAMALI_GORUSME_TIPI, GORUSME_ALINACAK_AKSIYON, GORUSME_DURUMU, GORUSME_TIPI } from \"../../common/constants\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport NewTextInputForm from \"../../components/inputs/form-inputs/NewTextInputForm\";\r\nimport PotansiyelKisilerInputForm from \"../../components/inputs/custom-form-inputs/PotansiyelKisilerInputForm\";\r\nimport CheckboxForm from \"../../components/inputs/form-inputs/CheckboxForm\";\r\n\r\nconst CustomFieldWrapper = ({ label, modalLoading, children }) => {\r\n return (\r\n <FieldWrapper\r\n label={label}\r\n modalLoading={modalLoading}\r\n width={\"75%\"}\r\n textWidth={\"25%\"}\r\n >\r\n {children}\r\n </FieldWrapper>\r\n );\r\n};\r\n\r\nconst GorusmeAciklamalariRecord = React.forwardRef(\r\n (\r\n { ekranKodu, listGridRef, gorusmeidData, closeRecord, gorusmeRecordRef },\r\n ref\r\n ) => {\r\n const context = React.useContext(AppContext);\r\n var initialState = { gorusmeid: gorusmeidData?.id };\r\n\r\n\r\n\r\n // if (potansiyelData && potansiyelData.id) {\r\n // initialState = {\r\n // ...initialState,\r\n // potFirmaid: potansiyelData.id,\r\n // potFirmaidStr: potansiyelData.musteriAdi,\r\n // };\r\n // }\r\n\r\n\r\n\r\n const gorusulenKisiMailRef = useRef();\r\n const gorusulenKisiTelRef = useRef();\r\n\r\n const afterSubmitFnc = () => {\r\n gorusmeRecordRef?.current?.openRecord(gorusmeidData?.id);\r\n handleClose();\r\n };\r\n \r\n console.log(gorusmeidData, \"gorusmeidData\");\r\n\r\n const xpotFirmaid = gorusmeidData?.potFirmaid;\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n } = usePageRecord(\r\n ref,\r\n PageConfig,\r\n listGridRef,\r\n ekranKodu,\r\n initialState,\r\n afterSubmitFnc\r\n );\r\n\r\n const kayitDegistirebilir = (typeof rowData?.id === \"undefined\") || (rowData?.gorusmeDuzenleyebilir === true)\r\n\r\n console.log(rowData, \"rowData\");\r\n\r\n const validationSchema = yup.object().shape({\r\n aciklama: yup.string().required(),\r\n gorusmeTarihi: yup.date().required(),\r\n gorusmeTipi: yup.number().required(),\r\n gorusmeDurumu: yup.number().required()\r\n\r\n });\r\n\r\n\r\n var updatedRowData = { ...rowData };\r\n\r\n const gridInstance = listGridRef.current?.instance;\r\n if (gridInstance) {\r\n\r\n const rowCount = gridInstance.getVisibleRows().length;\r\n if (rowCount === 0) {\r\n\r\n updatedRowData = {\r\n ...updatedRowData,\r\n gorusmeTarihi: rowData?.gorusmeTarihi || gorusmeidData?.baslangicTarihi,\r\n gorusmeTipi: rowData?.gorusmeTipi || gorusmeidData?.tipi,\r\n };\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Görüşme Detay Bilgi Girişi\"\r\n maxWidth=\"sm\"\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={updatedRowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <form onSubmit={handleSubmit}>\r\n {/* <FormComponent onSubmit={handleSubmit}> */}\r\n <DialogContentWrapper>\r\n <Stack direction=\"column\" spacing={1}>\r\n {/* <CustomFieldWrapper label=\"No\" modalLoading={modalLoading}>\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </CustomFieldWrapper> */}\r\n {/* <CustomFieldWrapper\r\n label=\"Görüşme No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"gorusmeid\"\r\n component={TextInputForm}\r\n //readOnly={!yetki.kaydet}\r\n disabled\r\n />\r\n </CustomFieldWrapper> */}\r\n <CustomFieldWrapper\r\n label=\"Görüşme Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"gorusmeTarihi\"\r\n component={DateTimeInputForm}\r\n readOnly={!yetki.kaydet || !kayitDegistirebilir}\r\n disabled={!yetki.kaydet || !kayitDegistirebilir}\r\n />\r\n </CustomFieldWrapper>\r\n {rowData?.gorusmeTipi === 7 ? (<CustomFieldWrapper\r\n label=\"Görüşme Tipi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n items={Object.values(ATAMALI_GORUSME_TIPI)}\r\n rowData={rowData}\r\n name=\"gorusmeTipi\"\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet || !kayitDegistirebilir}\r\n disabled={!yetki.kaydet || !kayitDegistirebilir}\r\n />\r\n </CustomFieldWrapper>) : (<CustomFieldWrapper\r\n label=\"Görüşme Tipi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n items={Object.values(GORUSME_TIPI)}\r\n rowData={rowData}\r\n name=\"gorusmeTipi\"\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet || !kayitDegistirebilir}\r\n disabled={!yetki.kaydet || !kayitDegistirebilir}\r\n />\r\n </CustomFieldWrapper>)}\r\n {rowData?.gorusmeTipi === 7 ? (<CustomFieldWrapper\r\n label=\"Görüşme Durumu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n items={Object.values(ATAMALI_GORUSME_DURUMU)}\r\n rowData={rowData}\r\n name=\"gorusmeDurumu\"\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet || !kayitDegistirebilir}\r\n disabled={!yetki.kaydet || !kayitDegistirebilir}\r\n />\r\n </CustomFieldWrapper>) : (<CustomFieldWrapper\r\n label=\"Görüşme Durumu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n items={Object.values(GORUSME_DURUMU)}\r\n rowData={rowData}\r\n name=\"gorusmeDurumu\"\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet || !kayitDegistirebilir}\r\n disabled={!yetki.kaydet || !kayitDegistirebilir}\r\n />\r\n </CustomFieldWrapper>)}\r\n\r\n <CustomFieldWrapper\r\n label=\"Ad Soyad\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"gorusmeKisiid\"\r\n component={PotansiyelKisilerInputForm}\r\n fieldLabelVal=\"gorusmeKisiidStr\"\r\n ekranKodu={ekranKodu}\r\n rowData={rowData}\r\n readOnly={!yetki.kaydet || !kayitDegistirebilir}\r\n disabled={!yetki.kaydet || !kayitDegistirebilir}\r\n // potansiyelIdRef={potFirmaIdRef}\r\n potFirmaid={xpotFirmaid}\r\n telefonRef={gorusulenKisiTelRef}\r\n mailRef={gorusulenKisiMailRef}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Telefon\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"gorusmeKisiTel\"\r\n component={NewTextInputForm}\r\n readOnly={true}\r\n ref={gorusulenKisiTelRef}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"E-Posta\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"gorusmeKisiMail\"\r\n component={NewTextInputForm}\r\n readOnly={true}\r\n ref={gorusulenKisiMailRef}\r\n />\r\n </CustomFieldWrapper>\r\n \r\n <CustomFieldWrapper\r\n label=\"Açıklama\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"aciklama\"\r\n component={MultilineTextInputForm}\r\n minRows={5}\r\n maxRows={10}\r\n readOnly={!yetki.kaydet || !kayitDegistirebilir}\r\n disabled={!yetki.kaydet || !kayitDegistirebilir}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Görüşme Sonrası Alınacak Aksiyon\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n items={Object.values(GORUSME_ALINACAK_AKSIYON)}\r\n rowData={rowData}\r\n name=\"alinacakAksiyon\"\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet || !kayitDegistirebilir}\r\n disabled={!yetki.kaydet || !kayitDegistirebilir}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Aksiyon Gerçekleşti\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"aksiyonGerceklesti\"\r\n component={CheckboxForm}\r\n rowData={rowData}\r\n // readOnly={!yetki.kaydet || destekKullanicisi}\r\n readOnly={!yetki.kaydet || !kayitDegistirebilir}\r\n disabled={!yetki.kaydet || !kayitDegistirebilir}\r\n />\r\n </CustomFieldWrapper>\r\n </Stack>\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n {kayitDegistirebilir ? (\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n modalLoading={modalLoading}\r\n />\r\n ) : null}\r\n </DialogActionsWrapper>\r\n {/* </FormComponent> */}\r\n </form>\r\n )}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n }\r\n);\r\nexport default GorusmeAciklamalariRecord;\r\n","import React, { useRef, useEffect, useState } from \"react\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\nimport { PageConfig } from \"./GorusmeAciklamalariConfig\";\r\nimport GorusmeAciklamalariRecord from \"./GorusmeAciklamalariRecord\";\r\nimport { ATAMALI_GORUSME_TIPI, YETKI_GRUBU_TIPI } from \"../../common/constants\";\r\nimport { Button } from \"devextreme-react/data-grid\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\n\r\nfunction GorusmeAciklamalari({ ekranKodu, rowData, gorusmeRecordRef }) {\r\n const context = React.useContext(AppContext);\r\n const listGridRef = useRef();\r\n const filterRef = useRef();\r\n const recordRef = useRef();\r\n const [isReady, setIsReady] = useState(false);\r\n const [gorusmeAciklamasiEkleyebilir, setgorusmeAciklamasiEkleyebilir] = useState(false);\r\n\r\n const onRowPreparedExtra = (e) => {\r\n\r\n if (e.rowType === \"data\" && e.data.gorusmeDurumu === 6) {\r\n e.rowElement.style.backgroundColor = \"#ffe9e9\"; // Kırmızı renk\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (rowData?.id) {\r\n setIsReady(true);\r\n if (rowData?.gorusmeAtayabilir || (context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value)) {\r\n setgorusmeAciklamasiEkleyebilir(true)\r\n }\r\n }\r\n }, [rowData?.id]);\r\n\r\n const customColumnButton = [\r\n <Button\r\n hint={\"Düzenle\"}\r\n icon={\"edit\"}\r\n onClick={(e) => {\r\n recordRef?.current?.openRecord(e.row.key);\r\n }}\r\n // visible={(e) => {\r\n // return (\r\n // e?.row?.data?.gorusmeTipi !==\r\n // ATAMALI_GORUSME_TIPI.ATANAN_GORUSME.Value\r\n // );\r\n // }}\r\n key={`edit-button-Duzenle_forGorusmeAciklama`}\r\n ></Button>,\r\n ];\r\n\r\n {\r\n /* <Button\r\n key=\"analizSonucu\"\r\n hint={\"Analiz Sonucu\"}\r\n icon={\"textdocument\"}\r\n onClick={async (e) => {\r\n isSonucuDialogRef?.current?.openRecord(e.row.data.talepId);\r\n // analizSonucuDialogRef?.current?.openRecord(e?.row?.data?.talepId);\r\n }}\r\n ></Button>, */\r\n }\r\n\r\n return (\r\n <>\r\n {isReady && (\r\n <PageGrid\r\n gridId=\"GorusmeAciklamalari\"\r\n PageConfig={PageConfig}\r\n listGridRef={listGridRef}\r\n recordRef={recordRef}\r\n isCreatable\r\n editBtnVisible={false}\r\n CustomColumnButton={customColumnButton}\r\n ekranKodu={ekranKodu}\r\n reqData={{ gorusmeid: rowData?.id }}\r\n exportButtonVisible={false}\r\n height=\"40vh\"\r\n gridClearButtonVisible={false}\r\n onRowPreparedExtra={onRowPreparedExtra}\r\n ekleBtnDisabled={!gorusmeAciklamasiEkleyebilir}\r\n />\r\n )}\r\n {isReady && (\r\n <GorusmeAciklamalariRecord\r\n ref={recordRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n gorusmeidData={rowData}\r\n gorusmeRecordRef={gorusmeRecordRef}\r\n />\r\n )}\r\n </>\r\n );\r\n}\r\n\r\nexport default React.memo(GorusmeAciklamalari, (prevProps, nextProps) => {\r\n return (\r\n prevProps.rowData?.id === nextProps.rowData?.id &&\r\n prevProps.ekranKodu === nextProps.ekranKodu\r\n );\r\n});\r\n","import React from \"react\";\r\nimport AutocomplateInputForm from \"../form-inputs/AutocomplateInputForm\";\r\n\r\nexport default function KullaniciListForGorusmeAtamaInputForm({\r\n ekranKodu,\r\n rowData,\r\n readOnly,\r\n inputRef,\r\n input,\r\n sirketInputRef,\r\n reqData,\r\n gorusmeid,\r\n ...rest\r\n}) {\r\n return (\r\n <AutocomplateInputForm\r\n readOnly={readOnly}\r\n rowData={rowData}\r\n remoteDataAdaptor={{\r\n fetchRoute: \"Gorusmeler/KullaniciListForGorusmeForSelect\",\r\n fildsForText: [\"isimSoyisim\"],\r\n fieldForValue: \"id\",\r\n reqData: {\r\n ...{\r\n gorusmeid: gorusmeid,\r\n },\r\n },\r\n }}\r\n ref={inputRef}\r\n input={input}\r\n {...rest}\r\n />\r\n );\r\n}\r\n","import * as yup from \"yup\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport KullaniciInputForm from \"../../components/inputs/custom-form-inputs/KullaniciInputForm\";\r\nimport React from \"react\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\n\r\nimport useBasicDialog from \"../../hooks/use-basic-dialog\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport SaveButton from \"../../components/buttons/custom/SaveButton\";\r\nimport CancelButton from \"../../components/buttons/custom/CancelButton\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport useSubmit from \"../../hooks/use-submit\";\r\nimport KullaniciListMerkezVeBayiInputForm from \"../../components/inputs/custom-form-inputs/KullaniciListMerkezVeBayiInputForm\";\r\nimport MultilineTextInputForm from \"../../components/inputs/form-inputs/MultilineTextInputForm\";\r\nimport {\r\n ATAMALI_GORUSME_DURUMU,\r\n ATAMALI_GORUSME_TIPI,\r\n GORUSME_ALINACAK_AKSIYON,\r\n} from \"../../common/constants\";\r\nimport KullaniciListForGorusmeAtamaInputForm from \"../../components/inputs/custom-form-inputs/KullaniciListForGorusmeAtamaInputForm\";\r\nimport validateFormValues from \"../../common/constant-functions/validateFormValues\";\r\nimport { toast } from \"react-toastify\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport CheckboxForm from \"../../components/inputs/form-inputs/CheckboxForm\";\r\n\r\n\r\nconst GorusmeAtamaDialog = React.forwardRef(\r\n ({ gorusmeid, gorusmeRecordRef }, ref) => {\r\n const { open, closeRecord } = useBasicDialog(ref);\r\n\r\n const afterSubmitFnc = () => {\r\n gorusmeRecordRef?.current?.handleClose();\r\n closeRecord();\r\n // masterDialogClose();\r\n };\r\n\r\n const handleSubmit = useSubmit(\r\n {\r\n insertRoute: \"Gorusmeler/GorusmeAta\",\r\n },\r\n null,\r\n null,\r\n afterSubmitFnc\r\n );\r\n\r\n // const validationSchema = yup.object().shape({\r\n // atananKulanici: yup.number().required(),\r\n // gorusmeDetayi: yup.string().required()\r\n // });\r\n\r\n\r\n // const validate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"Görüşme Atama\"\r\n maxWidth=\"sm\"\r\n canFullScreen={false}\r\n fullWidth={true}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={{\r\n gorusmeid: gorusmeid,\r\n gorusmeTipi: ATAMALI_GORUSME_TIPI.ATANAN_GORUSME.Value,\r\n gorusmeDurumu: ATAMALI_GORUSME_DURUMU.YONLENDIRME.Value,\r\n }}\r\n // validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit} style={{ height: \"300px\" }}>\r\n <DialogContentWrapper>\r\n <FieldWrapper label=\"Atanan Kullanıcı\">\r\n {/* <Field\r\n name=\"atananKullanici\"\r\n component={KullaniciListMerkezVeBayiInputForm}\r\n // rowData={rowData}\r\n /> */}\r\n <Field\r\n name=\"atananKullanici\"\r\n component={KullaniciListForGorusmeAtamaInputForm}\r\n gorusmeid={gorusmeid}\r\n // rowData={rowData}\r\n />\r\n\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Alınacak Aksiyon Adı\"\r\n >\r\n <Field\r\n items={Object.values(GORUSME_ALINACAK_AKSIYON)}\r\n name=\"alinacakAksiyon\"\r\n component={AutocomplateInputForm}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Aksiyon Gerçekleşti\"\r\n >\r\n <Field\r\n name=\"aksiyonGerceklesti\"\r\n component={CheckboxForm}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper label=\"Görüşme Detayı\">\r\n <Field\r\n name=\"gorusmeDetayi\"\r\n component={MultilineTextInputForm}\r\n minRows={5}\r\n maxRows={5}\r\n // rowData={rowData}\r\n />\r\n </FieldWrapper>\r\n\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n <SaveButton\r\n onClick={async (e) => {\r\n if (values.gorusmeDetayi !== null && values.gorusmeDetayi !== \"\" && values.atananKullanici !== null && \r\n values.atananKullanici !== 0 && typeof values.gorusmeDetayi !== \"undefined\" && typeof values.atananKullanici !== \"undefined\")\r\n {\r\n const result = form.submit(); // Promise olabilir, olmayabilir\r\n \r\n if (result instanceof Promise) {\r\n await result; // Promise ise bekleyelim\r\n }\r\n closeRecord();\r\n }\r\n else {\r\n toast.error(\r\n \"Görüşme ataması yapabilmek için ekrandaki bilgilerin doldurulması zorunludur.\",\r\n {\r\n position: \"top-right\",\r\n autoClose: 10000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n theme: \"colored\",\r\n \r\n }\r\n );\r\n }\r\n }}\r\n />\r\n <CancelButton\r\n onClick={() => {\r\n form.reset();\r\n }}\r\n disabled={submitting || pristine}\r\n />\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n );\r\n }\r\n);\r\n\r\nexport default GorusmeAtamaDialog;\r\n","import Type from \"../../entities/GorusmedenTeklifSecimi\";\r\n// import { EKRAN_KODU } from \"../../common/constants\";\r\n\r\nconst PageConfig = {\r\n title: \"Teklif Seçimi\",\r\n ekranKodu: \"TeklifMaster_Res\",\r\n type: Type,\r\n listRoute: \"Gorusmeler/GorusmedenTeklifSecimiList\",\r\n // getByIdRoute: \"GorevHiyerarsi/List\",\r\n // insertRoute: \"Bayiler/Insert\",\r\n // updateRoute: \"Bayiler/Update\",\r\n // deleteRoute: \"Bayiler/Delete\",\r\n};\r\n\r\nexport { PageConfig };\r\n","import {\r\n CARI_TIPI,\r\n TEKLIF_DURUMU,\r\n YETKI_GRUBU_TIPI,\r\n} from \"../common/constants\";\r\nimport { ID_WIDTH } from \"../common/entityconstants\";\r\nimport BayilerInputForm from \"../components/inputs/custom-form-inputs/BayilerInputForm\";\r\nimport PotansiyelMusteriInputForm from \"../components/inputs/custom-form-inputs/PotansiyelMusteriInputForm\";\r\nimport CheckboxForm from \"../components/inputs/form-inputs/CheckboxForm\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"Teklif No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"teklifTarihi\",\r\n label: \"Teklif Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"teklifTarihi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"cariTipi\",\r\n label: \"Müşteri Tip\",\r\n dataType: \"select\",\r\n dataField: \"cariTipi\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(CARI_TIPI),\r\n },\r\n {\r\n name: \"potFirmaidStr\",\r\n label: \"Müşteri Adı\",\r\n dataType: \"text\",\r\n dataField: \"potFirmaidStr\",\r\n visible: [\"grid\"],\r\n },\r\n // {\r\n // name: \"genelToplam\",\r\n // label: \"Teklif Tutarı\",\r\n // dataType: \"number\",\r\n // dataField: \"genelToplam\",\r\n // visible: [\"grid\"],\r\n // },\r\n // {\r\n // name: \"genelDovizkod\",\r\n // label: \"Para Birimi\",\r\n // dataType: \"text\",\r\n // dataField: \"genelDovizkod\",\r\n // visible: [\"grid\"],\r\n // },\r\n {\r\n name: \"teklifDurumu\",\r\n label: \"Teklif Durumu\",\r\n dataType: \"select\",\r\n dataField: \"teklifDurumu\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(TEKLIF_DURUMU),\r\n },\r\n // {\r\n // name: \"bayiidStr\",\r\n // label: \"Bayi Adı\",\r\n // dataType: \"text\",\r\n // dataField: \"bayiidStr\",\r\n // visible: [\"grid\"],\r\n // },\r\n {\r\n name: \"aciklama\",\r\n label: \"Açıklama\",\r\n dataType: \"text\",\r\n dataField: \"aciklama\",\r\n visible: [\"grid\"],\r\n },\r\n // {\r\n // name: \"aktif\",\r\n // label: \"Aktif\",\r\n // dataType: \"boolean\",\r\n // dataField: \"aktif\",\r\n // visible: [\"grid\"],\r\n // },\r\n //filtre--------------------------------------------------------------------------------------------------\r\n\r\n];\r\n\r\nexport default entity;\r\n","import React, { useContext } from \"react\";\r\nimport DataGrid, {\r\n Column,\r\n Button,\r\n Lookup,\r\n Scrolling,\r\n Paging,\r\n Pager,\r\n Selection,\r\n Export,\r\n StateStoring,\r\n} from \"devextreme-react/data-grid\";\r\nimport CustomStore from \"devextreme/data/custom_store\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport {\r\n apiUrl,\r\n APP_BAR_HEIGHT,\r\n FILTER_HEIGHT,\r\n PLAN_DURUM,\r\n TAB_HEIGHT,\r\n YETKI_GRUBU_TIPI,\r\n} from \"../../common/constants\";\r\nimport { findPrimaryKey } from \"../../common/constant-functions/findPrimaryKey\";\r\nimport { Grid, Paper } from \"@mui/material\";\r\nimport \"../../css/PageGrid.css\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport { printToast } from \"../../common/constant-functions/printToast\";\r\nimport { Stack } from \"@mui/system\";\r\nimport getTeklifGoruntule from \"../../common/constant-functions/getTeklifGoruntule\";\r\nimport useGridState from \"../../hooks/use-grid-state\";\r\nimport \"../../css/custom-checkbox.css\";\r\n\r\nexport default function SelectableGrid({\r\n PageConfig,\r\n listGridRef,\r\n filterRef,\r\n recordRef,\r\n ekranKodu,\r\n allowSingleSelection,\r\n onSelectionChanged,\r\n height,\r\n gridId,\r\n manuelFilterData\r\n}) {\r\n const id = gridId + \"_SelectablePageGrid\";\r\n const context = useContext(AppContext);\r\n\r\n const { saveState, loadState } = useGridState(\r\n PageConfig.type,\r\n listGridRef,\r\n id\r\n );\r\n\r\n const store = new CustomStore({\r\n key: findPrimaryKey(PageConfig.type),\r\n load(loadOptions) {\r\n let gridSort;\r\n if (loadOptions.sort) {\r\n gridSort = loadOptions.sort.map((i) => {\r\n let entity = PageConfig.type.find((x) => x.name == i.selector);\r\n return {\r\n propertyName: i.selector,\r\n order: i.desc ? \"desc\" : \"asc\",\r\n nullsLast: entity?.nullsLast,\r\n };\r\n });\r\n }\r\n return HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${PageConfig.listRoute}`,\r\n data: {\r\n Criteria: filterRef?.current?.filterData ?? { ...manuelFilterData },\r\n GridCriterias: {\r\n sortModel: null,\r\n filterModel: [],\r\n },\r\n Pagination: loadOptions.isLoadingAll\r\n ? {\r\n rowOffset: 0,\r\n maxRowsPerPage: listGridRef.current.instance.totalCount(),\r\n }\r\n : {\r\n rowOffset: loadOptions.skip,\r\n maxRowsPerPage: loadOptions.take,\r\n },\r\n },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n\r\n return {\r\n data: res.data.data.list,\r\n totalCount: res.data.data.pagination.totalRowCount,\r\n };\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n return {\r\n data: [],\r\n totalCount: 0,\r\n };\r\n });\r\n },\r\n });\r\n\r\n return (\r\n <Paper\r\n sx={{\r\n backgroundColor: \"transparent\",\r\n }}\r\n >\r\n <Stack\r\n direction=\"row\"\r\n sx={{\r\n mb: \"3px\",\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n alignItems: \"center\",\r\n }}\r\n spacing={1}\r\n ></Stack>\r\n\r\n <Grid variant=\"outlined\">\r\n <DataGrid\r\n id={id}\r\n height={\r\n height\r\n ? height\r\n : `calc(100vh - ${APP_BAR_HEIGHT} - ${FILTER_HEIGHT} )`\r\n }\r\n dataSource={store}\r\n showBorders={true}\r\n allowColumnReordering={true}\r\n allowColumnResizing={true}\r\n columnAutoWidth={true}\r\n remoteOperations={true}\r\n ref={listGridRef}\r\n {...(onSelectionChanged\r\n ? { onSelectionChanged: onSelectionChanged }\r\n : {})}\r\n toolbar={{\r\n items: [\r\n // { widget: 'dxButton', location: 'after', options: { icon: 'refresh' } },\r\n ],\r\n }}\r\n // onRowPrepared={onRowPrepared}\r\n >\r\n {/* <Export enabled={true} /> */}\r\n {/* {allowSingleSelection && (\r\n <Selection mode={\"single\"} showCheckBoxesMode=\"always\" />\r\n )} */}\r\n <Selection mode=\"single\" showCheckBoxesMode=\"always\" />\r\n <Scrolling columnRenderingMode=\"virtual\" />\r\n <StateStoring\r\n enabled={true}\r\n type=\"custom\"\r\n storageKey={id}\r\n customLoad={loadState}\r\n customSave={saveState}\r\n />\r\n {PageConfig.type\r\n .filter((type) => {\r\n let gridVisible = type.visible?.includes(\"grid\");\r\n if (gridVisible) {\r\n if (type.visibleConditions) {\r\n let innerVisible = true;\r\n for (let i = 0; i < type.visibleConditions?.length; i++) {\r\n if (type.visibleConditions[i].isTeklifGoruntule) {\r\n innerVisible = getTeklifGoruntule(\r\n ekranKodu,\r\n context.user.yetkiler\r\n );\r\n if (!innerVisible) break;\r\n }\r\n\r\n if (type.visibleConditions[i].isHarmonyAdmin) {\r\n innerVisible =\r\n context.user.yetkiGrubuTipi ===\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value;\r\n if (!innerVisible) break;\r\n }\r\n if (type.visibleConditions[i].gizlenecekYetkiGrubuTipi) {\r\n if (\r\n Array.isArray(\r\n type.visibleConditions[i].gizlenecekYetkiGrubuTipi\r\n )\r\n ) {\r\n innerVisible = !type.visibleConditions[\r\n i\r\n ].gizlenecekYetkiGrubuTipi.includes(\r\n context.user.yetkiGrubuTipi\r\n );\r\n } else {\r\n innerVisible =\r\n context.user.yetkiGrubuTipi !==\r\n type.visibleConditions[i].gizlenecekYetkiGrubuTipi;\r\n }\r\n if (!innerVisible) break;\r\n }\r\n }\r\n\r\n return innerVisible;\r\n } else {\r\n return true;\r\n }\r\n } else return false;\r\n })\r\n .map((i, index) => {\r\n return (\r\n <Column\r\n key={i.name}\r\n dataType={i.dataType}\r\n caption={i.label}\r\n dataField={i.dataField}\r\n name={i.name}\r\n visibleIndex={index}\r\n alignment={\r\n i.alignment\r\n ? i.alignment\r\n : i.dataType === \"number\"\r\n ? \"right\"\r\n : i.dataType === \"boolean\"\r\n ? \"center\"\r\n : \"left\"\r\n }\r\n defaultSortOrder={i.firstSort ? i.firstSort : null}\r\n width={i.width ? i.width : null}\r\n minWidth={i.minWidth ? i.minWidth : 100}\r\n maxWidth={i.maxWidth ? i.maxWidth : 100}\r\n format={i.format ? i.format : null}\r\n visible={i.pageGridHidden ? false : true}\r\n {...(i.calculateSortValue && {\r\n calculateSortValue: i.calculateSortValue,\r\n })}\r\n {...(i.defaultSortIndex && {\r\n defaultSortIndex: i.defaultSortIndex,\r\n })}\r\n {...(i.sortingMethod && {\r\n sortingMethod: i.sortingMethod,\r\n })}\r\n {...(i.cellRender && { cellRender: i.cellRender })}\r\n {...(i.customizeText && { customizeText: i.customizeText })} //todo excel e aktarırken muinin bileşenleri aktarılmadığı için cell render kullanılan fieldlara bu alanın da eklenmesi gerekir\r\n allowExporting={i.allowExporting ?? true}\r\n allowSorting={i.allowSorting ?? true}\r\n {...(i.cellTemplate && { cellTemplate: i.cellTemplate })}\r\n >\r\n {i.dataType === \"select\" ? (\r\n <Lookup\r\n key={i.dataField + \"_lookup\"}\r\n dataSource={i.selectItems}\r\n displayExpr=\"Text\"\r\n valueExpr=\"Value\"\r\n ></Lookup>\r\n ) : i.dataType === \"button\" ? (\r\n <></>\r\n ) : null}\r\n </Column>\r\n );\r\n })}\r\n\r\n <Paging defaultPageSize={12} />\r\n <Pager\r\n visible={true}\r\n showPageSizeSelector={true}\r\n showInfo={true}\r\n allowedPageSizes={[15, 25, 50]}\r\n displayMode=\"full\"\r\n />\r\n </DataGrid>\r\n </Grid>\r\n </Paper>\r\n );\r\n}\r\n","\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M12.5 8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8\"\n}), 'Undo');","import React, { useRef, useState } from \"react\";\r\n// import { PageConfig } from \"./GorevHiyerarsiListConfig\";\r\nimport { PageConfig } from \"./GorusmedenTeklifSecimiListConfig\";\r\nimport CustomTreeList from \"../../components/treeList/CustomTreeList\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport styled from \"@emotion/styled\";\r\nimport SelectableGrid from \"../../components/grid/SelectableGrid\";\r\nimport PageFilter from \"../../components/filter/PageFilter\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport { apiUrl } from \"../../common/constants\";\r\nimport { Box, Button } from \"devextreme-react\";\r\nimport { printToast } from \"../../common/constant-functions/printToast\";\r\nimport { Save, Undo } from \"@mui/icons-material\";\r\nimport ButtonWrapper from \"../../components/buttons/ButtonWrapper\";\r\nimport { Grid } from \"@mui/material\";\r\n\r\nconst GorusmedenTeklifSecimiList = React.forwardRef(({ rowData }, ref) => {\r\n const listGridRef = useRef();\r\n const filterRef = useRef();\r\n\r\n const { open, handleClose } = usePageRecord(\r\n ref,\r\n PageConfig,\r\n listGridRef,\r\n null,\r\n null,\r\n null,\r\n null\r\n );\r\n\r\n // const CustomScrollDialog = styled(ScrollDialog)(({ theme }) => ({\r\n // \"& .MuiDialog-paper\": {\r\n // // width: \"21cm\",\r\n // // height: \"29.7cm\",\r\n // height: \"75vh\",\r\n // },\r\n // }));\r\n\r\n // const [selectedRowKeys, setSelectedRowKeys] = useState([]);\r\n\r\n const selectedRowKeys = useRef([]);\r\n\r\n const handleRowSelection = (e) => {\r\n selectedRowKeys.current = e.selectedRowKeys\r\n };\r\n\r\n const manuelFilterData = {\r\n potFirmaid: rowData.potFirmaid\r\n }\r\n\r\n const handleSelect = async () => {\r\n if (!selectedRowKeys) {\r\n printToast(\"Lütfen bir kayıt seçin!\");\r\n return;\r\n\r\n }\r\n try {\r\n HttpAuthorized.post(apiUrl + \"Gorusmeler/GorusmedenTeklifSecimi\", {\r\n teklifid: selectedRowKeys.current[0],\r\n gorusmeid: rowData?.id\r\n })\r\n .then((res) => {\r\n handleClose();\r\n })\r\n .catch((error) => printToast(error.response.data));\r\n\r\n } catch (error) {\r\n console.error(\"Hata oluştu\", error);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Teklif Seçimi\"\r\n maxWidth=\"md\"\r\n minHeight=\"40vh\"\r\n draggable={false}\r\n >\r\n {/* <PageFilter\r\n PageConfig={PageConfig}\r\n ref={filterRef}\r\n listGridRef={listGridRef}\r\n /> */}\r\n <SelectableGrid\r\n PageConfig={PageConfig}\r\n listGridRef={listGridRef}\r\n filterRef={filterRef}\r\n ekranKodu={PageConfig.ekranKodu}\r\n allowSingleSelection={true}\r\n onSelectionChanged={handleRowSelection}\r\n gridId={\"GorusmedenTeklifSecimiGrid\"}\r\n manuelFilterData={manuelFilterData}\r\n />\r\n {/* <Box sx={{ display: \"flex\", justifyContent: \"space-between\", mt: 2 }}> */}\r\n <Grid\r\n sx={{\r\n flexDirection: \"row\",\r\n display: \"flex\",\r\n justifyContent: \"flex-end\",\r\n alignItems: \"start\",\r\n }}\r\n >\r\n <ButtonWrapper\r\n color=\"success\"\r\n startIcon={<Save />}\r\n onClick={(e) => {\r\n handleSelect();\r\n }}\r\n >\r\n {\"Seç\"}\r\n </ButtonWrapper>\r\n <ButtonWrapper\r\n color=\"info\"\r\n startIcon={<Undo />}\r\n onClick={(e) => {\r\n handleClose();\r\n }}\r\n >\r\n {\"Vazgeç\"}\r\n </ButtonWrapper>\r\n </Grid>\r\n {/* <Button onClick={handleSelect} variant=\"contained\">Seç</Button> */}\r\n {/* <Button onClick={handleClose} variant=\"outlined\">Vazgeç</Button> */}\r\n {/* </Box> */}\r\n </ScrollDialog>\r\n </>\r\n );\r\n});\r\n\r\nexport default GorusmedenTeklifSecimiList;\r\n","import React, { useRef } from \"react\";\r\nimport { Grid } from \"@mui/material\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport { GorusmeFileConfig, PageConfig } from \"./GorusmelerConfig\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport * as yup from \"yup\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport dayjs from \"dayjs\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport DateTimeInputForm from \"../../components/inputs/form-inputs/DateTimeInputForm\";\r\nimport {\r\n GORUSME_TIPI,\r\n GORUSME_DURUMU,\r\n GORUSME_KAYNAK,\r\n YETKI_GRUBU_TIPI,\r\n apiUrl,\r\n} from \"../../common/constants\";\r\nimport Card from \"@mui/material/Card\";\r\nimport CardHeader from \"@mui/material/CardHeader\";\r\nimport CardContent from \"@mui/material/CardContent\";\r\nimport MultilineTextInputForm from \"../../components/inputs/form-inputs/MultilineTextInputForm\";\r\nimport DialogContentTop from \"../../components/dialogs/DialogContentTop\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport Typography from \"@mui/material/Typography\";\r\nimport TeklifMasterRecord from \"../Teklif/TeklifMasterRecord\";\r\nimport ButtonWrapper from \"../../components/buttons/ButtonWrapper\";\r\nimport SellIcon from \"@mui/icons-material/Sell\";\r\nimport GorusmeHatirlatmaDialog from \"./GorusmeHatirlatmaDialog\";\r\nimport AccessAlarmIcon from \"@mui/icons-material/AccessAlarm\";\r\nimport PotansiyelMusteriEklemeliInputForm from \"../../components/inputs/custom-form-inputs/PotansiyelMusteriEklemeliInputForm\";\r\nimport KullaniciInputForm from \"../../components/inputs/custom-form-inputs/KullaniciInputForm\";\r\nimport ReferansVerenInputForm from \"../../components/inputs/custom-form-inputs/ReferansVerenInputForm\";\r\nimport GorusmeAciklamalari from \"../GorusmeAciklamalari/GorusmeAciklamalari\";\r\nimport MainTab from \"../../components/tab/MainTab\";\r\nimport GorusmeHatirlatma from \"../GorusmeHatirlatmalari/GorusmeHatirlatma\";\r\nimport EkDosyaButton from \"../../components/buttons/custom/EkDosyaButton\";\r\nimport PotansiyelKisilerInputForm from \"../../components/inputs/custom-form-inputs/PotansiyelKisilerInputForm\";\r\nimport GorusmeAtamaDialog from \"./GorusmeAtamaDialog\";\r\nimport SendIcon from \"@mui/icons-material/Send\";\r\nimport DateInputForm2 from \"../../components/inputs/form-inputs/DateInputForm2\";\r\nimport NewTextInputForm from \"../../components/inputs/form-inputs/NewTextInputForm\";\r\nimport PopoverButton from \"../../components/buttons/PopoverButton\";\r\nimport GorusmedenTeklifSecimiList from \"../GorusmedenTeklifSecimi/GorusmedenTeklifSecimiList\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport AlertDialog from \"../../components/dialogs/AlertDialog\";\r\nimport DoneOutlineIcon from '@mui/icons-material/DoneOutline';\r\n\r\nconst CustomFieldWrapper = ({ label, modalLoading, children }) => {\r\n return (\r\n <FieldWrapper\r\n label={label}\r\n modalLoading={modalLoading}\r\n width={\"75%\"}\r\n textWidth={\"25%\"}\r\n >\r\n {children}\r\n </FieldWrapper>\r\n );\r\n};\r\n\r\n\r\n\r\nconst GorusmelerRecord = React.forwardRef(\r\n ({ ekranKodu, listGridRef, potansiyelData }, ref) => {\r\n const context = React.useContext(AppContext);\r\n\r\n const teklifVerRef = useRef();\r\n const gorusmeHatirlatmaRef = useRef();\r\n const gorusmeHatirlatmalariRef = useRef();\r\n const potFirmaIdRef = useRef();\r\n const gorusmeAtamaDialogRef = useRef();\r\n const gorusulenKisiTelRef = useRef();\r\n const gorusulenKisiMailRef = useRef();\r\n const gorusmedenTeklifSecimiRef = useRef();\r\n const gorusmeAtamasiTamamlandiAlertRef = useRef();\r\n\r\n var initialState = {\r\n kayitTarihi: dayjs(),\r\n kayitEden: context?.user?.id,\r\n durum: 1,\r\n };\r\n\r\n if (potansiyelData && potansiyelData.id) {\r\n initialState = {\r\n ...initialState,\r\n potFirmaid: potansiyelData.id,\r\n potFirmaidStr: potansiyelData.musteriAdi,\r\n };\r\n }\r\n\r\n const merkezKullanici =\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value ||\r\n context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value;\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n } = usePageRecord(ref, PageConfig, listGridRef, ekranKodu, initialState);\r\n\r\n const masterDegistirir = ((rowData?.kayitEden && rowData?.kayitEden == context?.user?.id \r\n && (typeof rowData?.gorusmeAtayabilir === \"undefined\" || \r\n (typeof rowData?.gorusmeAtayabilir !== \"undefined\" \r\n && rowData?.gorusmeAtayabilir === true)))) || (context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value); \r\n \r\n\r\n const gorusmeAtayabilir = rowData?.gorusmeAtayabilir\r\n\r\n const gorusmeAtamasiTamamlandi = rowData?.gorusmeAtamasiTamamlandi\r\n\r\n const validationSchema = yup.object().shape({\r\n baslangicTarihi: yup.date().required(),\r\n tipi: yup.number().required(),\r\n potFirmaid: yup.number().required(),\r\n musteriTemsilcisi: yup.number().required(),\r\n // durum: yup.number().required(),\r\n durum: yup.number().when(\"teklifid\", {\r\n is: (val) => val === null || val === undefined, // teklifid boşsa\r\n then: yup\r\n .number()\r\n .notOneOf(\r\n [\r\n GORUSME_DURUMU.TEKLIF_SURECINDE.Value,\r\n GORUSME_DURUMU.SATIS_GERCEKLESTI.Value,\r\n ],\r\n \"Teklifi olmayan kayıtlarda durum \" +\r\n GORUSME_DURUMU.TEKLIF_SURECINDE.Text +\r\n \" veya \" +\r\n GORUSME_DURUMU.SATIS_GERCEKLESTI.Text +\r\n \" olamaz.\"\r\n )\r\n .required(\"Durum alanı zorunludur.\"),\r\n otherwise: yup.number().required(\"Durum alanı zorunludur.\"),\r\n }),\r\n });\r\n\r\n const memoizedRowData = React.useMemo(() => rowData, [rowData]);\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n\r\n async function gorusmeAtamasiTamamlandiOlarakIsaretle(gorusmeid) {\r\n // var FormData = require(\"form-data\");\r\n // var reqData = new FormData();\r\n // reqData.append(\"gorusmeid\", gorusmeid);\r\n \r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${\"Gorusmeler/GorusmeAtamasiTamamlandiOlarakIsaretle\"}`,\r\n data: {\r\n id: gorusmeid,\r\n },\r\n });\r\n }\r\n\r\n console.log(rowData?.atananKullaniciid, \"rowData?.atananKullaniciid\");\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Yeni Görüşme\"\r\n maxWidth=\"lg\"\r\n fullWidth={true}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <DialogContentTop>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <CustomFieldWrapper\r\n label=\"Görüşme No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Görüşme Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"baslangicTarihi\"\r\n component={DateTimeInputForm}\r\n readOnly={!yetki.kaydet || !masterDegistirir}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Görüşme Tipi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n items={Object.values(GORUSME_TIPI)}\r\n rowData={rowData}\r\n name=\"tipi\"\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet || !masterDegistirir}\r\n disabled={!yetki.kaydet || !masterDegistirir}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Firma Adı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"potFirmaid\"\r\n rowData={rowData}\r\n component={PotansiyelMusteriEklemeliInputForm}\r\n ekranKodu={ekranKodu}\r\n readOnly={!yetki.kaydet || !masterDegistirir}\r\n disabled={!yetki.kaydet || !masterDegistirir}\r\n inputRef={potFirmaIdRef}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Durum\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n items={Object.values(GORUSME_DURUMU)}\r\n rowData={rowData}\r\n name=\"durum\"\r\n component={AutocomplateInputForm}\r\n disabled={\r\n !rowData?.id ||\r\n rowData?.teklifDurumu !== null ||\r\n !masterDegistirir\r\n }\r\n readOnly={\r\n !rowData?.id ||\r\n rowData?.teklifDurumu !== null ||\r\n !masterDegistirir\r\n }\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Teklif No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"teklifid\"\r\n component={TextInputForm}\r\n readOnly={true}\r\n />\r\n </CustomFieldWrapper>\r\n {merkezKullanici === true ? (<CustomFieldWrapper\r\n label=\"Bayi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"bayiidStr\"\r\n component={TextInputForm}\r\n readOnly={true}\r\n />\r\n </CustomFieldWrapper>) : (null)}\r\n\r\n </Grid>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <Card\r\n sx={{\r\n border: \"none\",\r\n boxShadow: \"none\",\r\n }}\r\n >\r\n <CardHeader\r\n sx={{ padding: \"3px\" }}\r\n title={\r\n <Typography\r\n variant=\"subtitle1\"\r\n sx={{\r\n textAlign: \"center\",\r\n fontSize: \"16px\", // veya istediğiniz değer\r\n fontWeight: \"bold\", // veya istediğiniz değer\r\n }}\r\n >\r\n {\"Görüşülen Kişi\"}\r\n </Typography>\r\n }\r\n />\r\n {/* <CardHeader\r\n title=\"Görüşülen Kişi\"\r\n sx={{\r\n textAlign: \"center\",\r\n typography: {\r\n fontSize: \"2px\", // Font boyutunu ayarlayabilirsiniz\r\n fontWeight: \"bold\", // Kalınlığı ayarlayabilirsiniz\r\n },\r\n padding: \"3px\",\r\n }}\r\n ></CardHeader> */}\r\n <CardContent sx={{ padding: \"3px\" }}>\r\n <CustomFieldWrapper\r\n label=\"Ad Soyad\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"gorusulenKisiid\"\r\n component={PotansiyelKisilerInputForm}\r\n ekranKodu={ekranKodu}\r\n rowData={rowData}\r\n readOnly={!yetki.kaydet || !masterDegistirir}\r\n disabled={!yetki.kaydet || !masterDegistirir}\r\n potansiyelIdRef={potFirmaIdRef}\r\n telefonRef={gorusulenKisiTelRef}\r\n mailRef={gorusulenKisiMailRef}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Telefon\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"gorusulenKisiTel\"\r\n component={NewTextInputForm}\r\n readOnly={true}\r\n ref={gorusulenKisiTelRef}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"E-Posta\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"gorusulenKisiMail\"\r\n component={NewTextInputForm}\r\n readOnly={true}\r\n ref={gorusulenKisiMailRef}\r\n />\r\n </CustomFieldWrapper>\r\n </CardContent>\r\n </Card>\r\n <CustomFieldWrapper\r\n label=\"İlk Görüşme Yapan\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"musteriTemsilcisi\"\r\n component={KullaniciInputForm}\r\n readOnly={!yetki.kaydet || !masterDegistirir}\r\n disabled={!yetki.kaydet || !masterDegistirir}\r\n rowData={rowData}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Referans Veren\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"referansVeren\"\r\n component={ReferansVerenInputForm}\r\n readOnly={!yetki.kaydet || !masterDegistirir}\r\n disabled={!yetki.kaydet || !masterDegistirir}\r\n rowData={rowData}\r\n />\r\n </CustomFieldWrapper>\r\n {merkezKullanici && (\r\n <CustomFieldWrapper\r\n label=\"Kaynak\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"kaynak\"\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet || !masterDegistirir}\r\n disabled={!yetki.kaydet || !masterDegistirir}\r\n items={Object.values(GORUSME_KAYNAK)}\r\n rowData={rowData}\r\n />\r\n </CustomFieldWrapper>\r\n )}\r\n {/* {rowData?.atananKullaniciidStr === null ||\r\n rowData?.atananKullaniciidStr === \"\" ||\r\n typeof rowData?.atananKullaniciidStr === \"undefined\" ||\r\n !merkezKullanici ? null : (\r\n <>\r\n <CustomFieldWrapper\r\n label=\"Atanan Kullanıcı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"atananKullaniciidStr\"\r\n component={TextInputForm}\r\n readOnly={true}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Atama Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"atamaTarihi\"\r\n component={DateTimeInputForm}\r\n readOnly={true}\r\n />\r\n </CustomFieldWrapper>\r\n </>\r\n )} */}\r\n </Grid>\r\n </DialogContentTop>\r\n {memoizedRowData?.id ? (\r\n <GorusmeAciklamalari\r\n rowData={memoizedRowData}\r\n ekranKodu={ekranKodu}\r\n gorusmeRecordRef={ref}\r\n ></GorusmeAciklamalari>\r\n ) : null}\r\n\r\n {/* <Field\r\n label=\"Açıklama-1\"\r\n name=\"aciklama1\"\r\n component={MultilineTextInputForm}\r\n type=\"text\"\r\n rowData={rowData}\r\n modalLoading={modalLoading}\r\n minRows={5}\r\n />\r\n <Field\r\n label=\"Açıklama-2\"\r\n name=\"aciklama2\"\r\n component={MultilineTextInputForm}\r\n type=\"text\"\r\n rowData={rowData}\r\n modalLoading={modalLoading}\r\n minRows={5}\r\n />\r\n <Field\r\n label=\"Açıklama-3\"\r\n name=\"aciklama3\"\r\n component={MultilineTextInputForm}\r\n type=\"text\"\r\n rowData={rowData}\r\n modalLoading={modalLoading}\r\n minRows={5}\r\n /> */}\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper\r\n sx={{\r\n justifyContent: \"space-between\",\r\n }}\r\n >\r\n <Grid>\r\n <PopoverButton\r\n label=\"İşlemler\"\r\n backColor=\"#515151\"\r\n hoverBackColor=\"#1b1818\"\r\n >\r\n {((masterDegistirir === true) || (rowData?.gorusmeAtayabilir === true)) ? (\r\n <ButtonWrapper\r\n color=\"primary\"\r\n startIcon={<SellIcon />}\r\n onClick={(e) => {\r\n {\r\n rowData.teklifid\r\n ? teklifVerRef?.current?.openRecord(\r\n rowData.teklifid\r\n )\r\n : teklifVerRef?.current?.openRecord(null);\r\n }\r\n teklifVerRef?.current?.openRecord(null);\r\n }}\r\n disabled={!rowData.id}\r\n >\r\n {rowData.teklifid ? \"Teklifi Göster\" : \"Teklif Ver\"}\r\n </ButtonWrapper>\r\n ) : null}\r\n\r\n {((masterDegistirir === true) || (rowData?.gorusmeAtayabilir === true))\r\n && (rowData.teklifid == null)\r\n ? (\r\n <ButtonWrapper\r\n color=\"primary\"\r\n startIcon={<SellIcon />}\r\n onClick={(e) => {\r\n {\r\n rowData.teklifid\r\n ? gorusmedenTeklifSecimiRef?.current?.openRecord(\r\n rowData.teklifid\r\n )\r\n : gorusmedenTeklifSecimiRef?.current?.openRecord(null);\r\n }\r\n // teklifVerRef?.current?.openRecord(null);\r\n }}\r\n disabled={!rowData.id}\r\n >\r\n {\"Teklif Seç\"}\r\n </ButtonWrapper>\r\n ) : null}\r\n\r\n <ButtonWrapper\r\n color=\"primary\"\r\n startIcon={<AccessAlarmIcon />}\r\n onClick={(e) => {\r\n gorusmeHatirlatmaRef?.current?.openRecord(null);\r\n\r\n // gorusmeHatirlatmalariRef?.current?.openRecord(null);\r\n }}\r\n disabled={!rowData.id}\r\n >\r\n Görüşme Hatırlat\r\n </ButtonWrapper>\r\n <EkDosyaButton\r\n reqData={{\r\n id: rowData.id,\r\n }}\r\n routes={GorusmeFileConfig}\r\n ekranKodu={ekranKodu}\r\n parentRowData={rowData}\r\n disabled={!rowData?.id}\r\n ></EkDosyaButton>\r\n {gorusmeAtayabilir && (\r\n <ButtonWrapper\r\n color=\"primary\"\r\n startIcon={<SendIcon />}\r\n onClick={(e) => {\r\n gorusmeAtamaDialogRef?.current?.openRecord(null);\r\n\r\n // gorusmeHatirlatmalariRef?.current?.openRecord(null);\r\n }}\r\n // disabled={\r\n // !rowData.id || rowData.atayanKullaniciid !== null\r\n // }\r\n >\r\n Görüşmeyi Ata\r\n </ButtonWrapper>\r\n )}\r\n {gorusmeAtayabilir && !gorusmeAtamasiTamamlandi && (\r\n <ButtonWrapper\r\n color=\"primary\"\r\n startIcon={<DoneOutlineIcon />}\r\n onClick={(e) => {\r\n gorusmeAtamasiTamamlandiAlertRef?.current?.openRecord(null);\r\n\r\n // gorusmeHatirlatmalariRef?.current?.openRecord(null);\r\n }}\r\n // disabled={\r\n // !rowData.id || rowData.atayanKullaniciid !== null\r\n // }\r\n >\r\n Görüşme Ataması Tamamlandı\r\n </ButtonWrapper>\r\n )}\r\n </PopoverButton>\r\n </Grid>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n deleteCondition={masterDegistirir}\r\n submitCondition={masterDegistirir}\r\n submitting={submitting}\r\n pristine={pristine}\r\n modalLoading={modalLoading}\r\n submitButtonText={\"Görüşmeyi Kaydet\"}\r\n deleteButtonText={\"Görüşmeyi Sil\"}\r\n />\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n <TeklifMasterRecord\r\n ref={teklifVerRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n gorusmeRef={rowData}\r\n // detailGridRef={detailGridRef}\r\n ></TeklifMasterRecord>\r\n <GorusmeHatirlatmaDialog\r\n ref={gorusmeHatirlatmaRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n gorusmeRef={rowData}\r\n ></GorusmeHatirlatmaDialog>\r\n <GorusmeAtamaDialog\r\n ref={gorusmeAtamaDialogRef}\r\n gorusmeid={rowData?.id}\r\n gorusmeRecordRef={ref}\r\n ></GorusmeAtamaDialog>\r\n <GorusmedenTeklifSecimiList\r\n ref={gorusmedenTeklifSecimiRef}\r\n rowData={rowData}\r\n // ekranKodu={ekranKodu}\r\n // listGridRef={listGridRef}\r\n // gorusmeRef={rowData}\r\n // detailGridRef={detailGridRef}\r\n ></GorusmedenTeklifSecimiList>\r\n <AlertDialog\r\n ref={gorusmeAtamasiTamamlandiAlertRef}\r\n onayBtnClick={async () => \r\n gorusmeAtamasiTamamlandiOlarakIsaretle(rowData?.id)\r\n }\r\n dialogTitle=\"Onay\"\r\n contentText=\"Görüşme Ataması Tamamlandı olarak işaretlenecek. (Atanan Görüşmeler listesinde Atanan Görüşmeleri de göster filtresini işaretleyerek görüşmeye tekrar ulaşabilirsiniz.) Emin misiniz?\"\r\n ></AlertDialog>\r\n\r\n {/* <GorusmeHatirlatma\r\n ref={gorusmeHatirlatmalariRef}\r\n rowData={rowData}\r\n ekranKodu={ekranKodu}\r\n ></GorusmeHatirlatma> */}\r\n </>\r\n );\r\n }\r\n);\r\nexport default GorusmelerRecord;\r\n","import { useRef, useState, useEffect } from \"react\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\nimport { PageConfig } from \"./GorusmelerConfig\";\r\nimport GorusmelerRecord from \"./GorusmelerRecord\";\r\nimport React from \"react\";\r\n\r\nfunction GorusmelerPotansiyelMusteriden({ ekranKodu, rowData }) {\r\n const listGridRef = useRef();\r\n const filterRef = useRef();\r\n const recordRef = useRef();\r\n\r\n const [isReady, setIsReady] = useState(false);\r\n\r\n useEffect(() => {\r\n if (rowData?.id) {\r\n setIsReady(true);\r\n }\r\n }, [rowData?.id]);\r\n\r\n return (\r\n <>\r\n {isReady && (\r\n <PageGrid\r\n gridId=\"Gorusmeler\"\r\n PageConfig={PageConfig}\r\n listGridRef={listGridRef}\r\n filterRef={filterRef}\r\n recordRef={recordRef}\r\n isCreatable\r\n ekranKodu={ekranKodu}\r\n reqData={{ potFirmaid: rowData?.id }}\r\n exportButtonVisible={false}\r\n height=\"28vh\"\r\n gridClearButtonVisible={false}\r\n />\r\n )}\r\n {isReady && (\r\n <GorusmelerRecord\r\n ref={recordRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n potansiyelData={rowData}\r\n />\r\n )}\r\n </>\r\n );\r\n}\r\n\r\n// Apply React.memo properly\r\nexport default React.memo(\r\n GorusmelerPotansiyelMusteriden,\r\n (prevProps, nextProps) => {\r\n // Only re-render if rowData.id or ekranKodu changes\r\n return (\r\n prevProps.rowData?.id === nextProps.rowData?.id &&\r\n prevProps.ekranKodu === nextProps.ekranKodu\r\n );\r\n }\r\n);\r\n","import React, { useRef } from \"react\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport { PageConfig } from \"./PotansiyelMusteriConfig\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport * as yup from \"yup\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport CheckboxForm from \"../../components/inputs/form-inputs/CheckboxForm\";\r\nimport dayjs from \"dayjs\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport UlkeInputForm from \"../../components/inputs/custom-form-inputs/UlkeInputForm\";\r\nimport SehirInputForm from \"../../components/inputs/custom-form-inputs/SehirInputForm\";\r\nimport IlceInputForm from \"../../components/inputs/custom-form-inputs/IlceInputForm\";\r\nimport MahalleInputForm from \"../../components/inputs/custom-form-inputs/MahalleInputForm\";\r\nimport {\r\n apiUrl,\r\n CALISAN_SAY_ARALIGI,\r\n DINAMIK_TANIM_TIPLERI,\r\n GORUSME_KAYNAK,\r\n PARA_BIRIMI,\r\n POTANSIYEL_MUSTERI_TIPI,\r\n} from \"../../common/constants\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport NumberInputForm from \"../../components/inputs/form-inputs/NumberInputForm\";\r\nimport { Button, Grid } from \"@mui/material\";\r\nimport DialogContentTop from \"../../components/dialogs/DialogContentTop\";\r\nimport DinamikTanimlarInputForm from \"../../components/inputs/custom-form-inputs/DinamikTanimlarInputForm\";\r\nimport MainTab from \"../../components/tab/MainTab\";\r\nimport PotansiyelKisiler from \"../PotansiyelKisiler/PotansiyelKisiler\";\r\nimport GorusmelerPotansiyelMusteriden from \"../Gorusmeler/GorusmelerPotansiyelMusteriden\";\r\nimport MultilineTextInputForm from \"../../components/inputs/form-inputs/MultilineTextInputForm\";\r\nimport DateInputForm2 from \"../../components/inputs/form-inputs/DateInputForm2\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\n\r\nconst CustomFieldWrapper = ({ label, modalLoading, children, textWidth }) => {\r\n return (\r\n <FieldWrapper\r\n label={label}\r\n modalLoading={modalLoading}\r\n width={\"75%\"}\r\n textWidth={textWidth ? textWidth : \"25%\"}\r\n >\r\n {children}\r\n </FieldWrapper>\r\n );\r\n};\r\n\r\nconst PotansiyelMusteriRecord = React.forwardRef(\r\n ({ ekranKodu, listGridRef, gorusmeRef }, ref) => {\r\n const context = React.useContext(AppContext);\r\n\r\n const initialState = {\r\n aktif: true,\r\n kayitTarihi: dayjs(),\r\n kayitEden: context?.user?.id,\r\n ulkeid: 212,\r\n ulkeidStr: \"Türkiye\",\r\n };\r\n\r\n const ulkeInputRef = useRef();\r\n const sehirInputRef = useRef();\r\n const ilceInputRef = useRef();\r\n const mahalleInputRef = useRef();\r\n const vergiNoRef = useRef();\r\n\r\n const programDinamikTanimInputRef = useRef();\r\n const iletisimDurumuDinamikTanimInputRef = useRef();\r\n const sektorDinamikTanimInputRef = useRef();\r\n\r\n const musteriTipiVisible = context?.user?.anaBayiKullanicisi === true;\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n setRowData\r\n } = usePageRecord(ref, PageConfig, listGridRef, ekranKodu, initialState);\r\n\r\n const validationSchema = yup.object().shape({\r\n vergiNo: yup\r\n .string()\r\n .required()\r\n .max(11, \"Vergi No alanı 11 karakterden büyük olamaz!\"),\r\n musteriAdi: yup.string().required(\"Müşteri adı girilmesi zorunludur.\"),\r\n });\r\n\r\n\r\n const memoizedRowData = React.useMemo(() => rowData, [rowData]);\r\n\r\n\r\n async function turmobdanBilgileriGetir(form) {\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${'PotansiyelMusteri/TurmobdanAl'}`,\r\n data: { vergiNo: vergiNoRef?.current?.value },\r\n }).then((res) => {\r\n\r\n form?.change(\"aktif\", true);\r\n form?.change(\"kayitTarihi\", dayjs());\r\n form?.change(\"kayitEden\", context?.user?.id);\r\n // setRowData(res.data.data);\r\n form?.change(\"ulkeid\", res.data.data.ulkeid);\r\n form?.change(\"sehirid\", res.data.data.sehirid);\r\n form?.change(\"ilceid\", res.data.data.ilceid);\r\n form?.change(\"mahalleid\", res.data.data.mahalleid);\r\n form?.change(\"musteriAdi\", res.data.data.musteriAdi);\r\n \r\n ulkeInputRef.directText = res.data.data.ulkeidStr;\r\n sehirInputRef.directText = res.data.data.sehiridStr;\r\n ilceInputRef.directText = res.data.data.ilceidStr;\r\n mahalleInputRef.directText = res.data.data.mahalleidStr;\r\n\r\n })\r\n .catch((error) => { });\r\n }\r\n \r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Yeni Potansiyel Müşteri\"\r\n maxWidth=\"lg\"\r\n fullWidth={true}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <DialogContentTop>\r\n {/* <Stack direction=\"column\" spacing={1}> */}\r\n <Grid item xs={12} sm={6} md={6}>\r\n <CustomFieldWrapper\r\n label=\"Potansiyel M. No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field disabled name=\"id\" component={TextInputForm} />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Kayıt Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"kayitTarihi\"\r\n disabled\r\n component={DateInputForm2}\r\n readOnly={!yetki.kaydet && !gorusmeRef}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Müşteri Adı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"musteriAdi\"\r\n subscription={{ value: true }}\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet && !gorusmeRef}\r\n />\r\n </CustomFieldWrapper>\r\n <Grid\r\n container\r\n direction=\"row\"\r\n spacing={0}\r\n style={{ Padding: 0 }}\r\n >\r\n <Grid item xs={7}>\r\n <CustomFieldWrapper\r\n label=\"Vergi No\"\r\n modalLoading={modalLoading}\r\n textWidth={\"55%\"}\r\n >\r\n <Field\r\n name=\"vergiNo\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet && !gorusmeRef}\r\n inputRef={vergiNoRef}\r\n />\r\n </CustomFieldWrapper>\r\n </Grid>\r\n <Grid item xs={5}>\r\n <Button\r\n // sx={{ width: \"100%\" }}\r\n variant=\"outlined\"\r\n size=\"small\"\r\n color=\"primary\"\r\n onClick={() => {\r\n turmobdanBilgileriGetir(form);\r\n // lisansKoduVer();\r\n }}\r\n >\r\n Turmob'dan getir\r\n </Button>\r\n </Grid>\r\n </Grid>\r\n\r\n <CustomFieldWrapper\r\n label=\"Ülke\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"ulkeid\"\r\n component={UlkeInputForm}\r\n inputRef={ulkeInputRef}\r\n readOnly={!yetki.kaydet && !gorusmeRef}\r\n rowData={rowData}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Şehir\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"sehirid\"\r\n component={SehirInputForm}\r\n inputRef={sehirInputRef}\r\n ulkeInputRef={ulkeInputRef}\r\n readOnly={!yetki.kaydet && !gorusmeRef}\r\n rowData={rowData}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"İlçe\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"ilceid\"\r\n component={IlceInputForm}\r\n inputRef={ilceInputRef}\r\n sehirInputRef={sehirInputRef}\r\n readOnly={!yetki.kaydet && !gorusmeRef}\r\n rowData={rowData}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Mahalle\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"mahalleid\"\r\n component={MahalleInputForm}\r\n inputRef={mahalleInputRef}\r\n ilceInputRef={ilceInputRef}\r\n readOnly={!yetki.kaydet && !gorusmeRef}\r\n rowData={rowData}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Adres\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"adres\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet && !gorusmeRef}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Şirket Tel\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"sirketTel\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet && !gorusmeRef}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Şirket Mail\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"sirketMail\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet && !gorusmeRef}\r\n />\r\n </CustomFieldWrapper>\r\n\r\n {musteriTipiVisible ? (\r\n <CustomFieldWrapper\r\n label=\"Müşteri Tipi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"musteriTipi\"\r\n items={Object.values(POTANSIYEL_MUSTERI_TIPI)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet && !gorusmeRef}\r\n />\r\n </CustomFieldWrapper>\r\n ) : null}\r\n <Grid\r\n container\r\n direction=\"row\"\r\n spacing={0}\r\n style={{ Padding: 0 }}\r\n >\r\n <Grid item xs={3}>\r\n <CustomFieldWrapper\r\n label=\"Aktif\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"aktif\"\r\n component={CheckboxForm}\r\n readOnly={!yetki.kaydet && !gorusmeRef}\r\n />\r\n </CustomFieldWrapper>\r\n </Grid>\r\n <Grid item xs={9}>\r\n <CustomFieldWrapper\r\n label=\"Son Durum\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"sonDurum\"\r\n component={TextInputForm}\r\n readOnly={true}\r\n />\r\n </CustomFieldWrapper>\r\n </Grid>\r\n </Grid>\r\n\r\n </Grid>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <CustomFieldWrapper\r\n label=\"Web Sitesi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"webSitesi\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet && !gorusmeRef}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Sektör\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"sektor\"\r\n rowData={rowData}\r\n component={DinamikTanimlarInputForm}\r\n inputRef={sektorDinamikTanimInputRef}\r\n ekranKodu={ekranKodu}\r\n readOnly={!yetki.kaydet && !gorusmeRef}\r\n tip={DINAMIK_TANIM_TIPLERI.SEKTOR.Value}\r\n caption=\"Sektör Tanımlama\"\r\n aciklamaCaption=\"Sektör\"\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Çalışan Sayısı Aralığı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n items={Object.values(CALISAN_SAY_ARALIGI)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n name=\"calisanSayisiAraligi\"\r\n readOnly={!yetki.kaydet && !gorusmeRef}\r\n />\r\n </CustomFieldWrapper>\r\n <Grid\r\n container\r\n direction=\"row\"\r\n spacing={0}\r\n style={{ Padding: 0 }}\r\n >\r\n <Grid item xs={8}>\r\n <CustomFieldWrapper\r\n label=\"Tahmini Yıllık Ciro\"\r\n modalLoading={modalLoading}\r\n textWidth=\"45%\"\r\n >\r\n <Field\r\n name=\"tahminiCiro\"\r\n component={NumberInputForm}\r\n readOnly={!yetki.kaydet && !gorusmeRef}\r\n rowData={rowData}\r\n />\r\n </CustomFieldWrapper>\r\n </Grid>\r\n <Grid item xs={4}>\r\n <CustomFieldWrapper\r\n label=\"Birim\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"tahminiCiroBirimi\"\r\n items={Object.values(PARA_BIRIMI)}\r\n rowData={rowData}\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet && !gorusmeRef}\r\n />\r\n </CustomFieldWrapper>\r\n </Grid>\r\n </Grid>\r\n\r\n <CustomFieldWrapper\r\n label=\"Kullanılan Program\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"programid\"\r\n rowData={rowData}\r\n component={DinamikTanimlarInputForm}\r\n inputRef={programDinamikTanimInputRef}\r\n ekranKodu={ekranKodu}\r\n readOnly={!yetki.kaydet && !gorusmeRef}\r\n tip={DINAMIK_TANIM_TIPLERI.PROGRAM.Value}\r\n caption=\"Kullanılan Program Kaydı\"\r\n aciklamaCaption=\"Kullanılan Program\"\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Referans Kişi/Kurum\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"referans\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet && !gorusmeRef}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"İletişim Durumu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"iletisimDurumuid\"\r\n rowData={rowData}\r\n component={DinamikTanimlarInputForm}\r\n inputRef={iletisimDurumuDinamikTanimInputRef}\r\n ekranKodu={ekranKodu}\r\n readOnly={!yetki.kaydet && !gorusmeRef}\r\n tip={DINAMIK_TANIM_TIPLERI.ILETISIM_DURUMU.Value}\r\n caption=\"İletişim Durumu Tanımlama\"\r\n aciklamaCaption=\"İletişim Durumu\"\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Son Görüşme Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"sonGorusmeTarihi\"\r\n component={DateInputForm2}\r\n readOnly={!yetki.kaydet && !gorusmeRef}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"KEP Adresi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"kepAdresi\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet && !gorusmeRef}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"NACE Kodu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"naceKodu\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet && !gorusmeRef}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Kaynak\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"kaynak\"\r\n component={AutocomplateInputForm}\r\n readOnly={!yetki.kaydet && !gorusmeRef}\r\n disabled={!yetki.kaydet && !gorusmeRef}\r\n items={Object.values(GORUSME_KAYNAK)}\r\n rowData={rowData}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Açıklama\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"aciklama\"\r\n component={MultilineTextInputForm}\r\n readOnly={!yetki.kaydet && !gorusmeRef}\r\n rowData={rowData}\r\n modalLoading={modalLoading}\r\n minRows={4}\r\n />\r\n </CustomFieldWrapper>\r\n </Grid>\r\n </DialogContentTop>\r\n <MainTab labels={[\"Kişiler\", \"Görüşme Takip\"]}>\r\n <>\r\n <PotansiyelKisiler\r\n rowData={memoizedRowData}\r\n ekranKodu={ekranKodu}\r\n ></PotansiyelKisiler>\r\n </>\r\n <>\r\n <GorusmelerPotansiyelMusteriden\r\n ekranKodu={ekranKodu}\r\n rowData={memoizedRowData}\r\n ></GorusmelerPotansiyelMusteriden>\r\n </>\r\n </MainTab>\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n modalLoading={modalLoading}\r\n yetkisizseAc={typeof gorusmeRef !== \"undefined\"}\r\n />\r\n </DialogActionsWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n }\r\n);\r\nexport default PotansiyelMusteriRecord;\r\n","import { useRef } from \"react\";\r\nimport PageFilter from \"../../components/filter/PageFilter\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\n// import SirketRecord from \"./SirketRecord\";\r\nimport { PageConfig } from \"./PotansiyelMusteriConfig\";\r\nimport PotansiyelMusteriRecord from \"./PotansiyelMusteriRecord\";\r\n\r\nfunction PotansiyelMusteri({ ekranKodu }) {\r\n const listGridRef = useRef();\r\n const filterRef = useRef();\r\n const recordRef = useRef();\r\n\r\n return (\r\n <>\r\n <PageFilter\r\n PageConfig={PageConfig}\r\n ref={filterRef}\r\n listGridRef={listGridRef}\r\n />\r\n <PageGrid\r\n gridId=\"PotansiyelMusteri\"\r\n PageConfig={PageConfig}\r\n listGridRef={listGridRef}\r\n filterRef={filterRef}\r\n recordRef={recordRef}\r\n isCreatable\r\n ekranKodu={ekranKodu}\r\n />\r\n <PotansiyelMusteriRecord\r\n ref={recordRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n ></PotansiyelMusteriRecord>\r\n </>\r\n );\r\n}\r\n\r\nexport default PotansiyelMusteri;\r\n","import { useRef } from \"react\";\r\nimport PageFilter from \"../../components/filter/PageFilter\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\nimport { PageConfig } from \"./TeklifMasterConfig\";\r\nimport TeklifMasterRecord from \"./TeklifMasterRecord\";\r\n\r\nfunction TeklifMaster({ ekranKodu }) {\r\n const listGridRef = useRef();\r\n const filterRef = useRef();\r\n const recordRef = useRef();\r\n const detailGridRef = useRef();\r\n\r\n return (\r\n <>\r\n <PageFilter\r\n PageConfig={PageConfig}\r\n ref={filterRef}\r\n listGridRef={listGridRef}\r\n />\r\n <PageGrid\r\n gridId=\"TeklifMasterGrid\"\r\n PageConfig={PageConfig}\r\n listGridRef={listGridRef}\r\n filterRef={filterRef}\r\n recordRef={recordRef}\r\n isCreatable\r\n ekranKodu={ekranKodu}\r\n ekleButtonText={\"Teklif Ekle\"}\r\n />\r\n <TeklifMasterRecord\r\n ref={recordRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n detailGridRef={detailGridRef}\r\n ></TeklifMasterRecord>\r\n </>\r\n );\r\n}\r\n\r\nexport default TeklifMaster;\r\n","import { useRef } from \"react\";\r\nimport PageFilter from \"../../components/filter/PageFilter\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\n// import SirketRecord from \"./SirketRecord\";\r\nimport { PageConfig } from \"./GorusmelerConfig\";\r\nimport GorusmelerRecord from \"./GorusmelerRecord\";\r\n\r\nfunction Gorusmeler({ ekranKodu }) {\r\n const listGridRef = useRef();\r\n const filterRef = useRef();\r\n const recordRef = useRef();\r\n\r\n return (\r\n <>\r\n <PageFilter\r\n PageConfig={PageConfig}\r\n ref={filterRef}\r\n listGridRef={listGridRef}\r\n />\r\n <PageGrid\r\n gridId=\"Gorusmeler\"\r\n PageConfig={PageConfig}\r\n listGridRef={listGridRef}\r\n filterRef={filterRef}\r\n recordRef={recordRef}\r\n isCreatable\r\n ekranKodu={ekranKodu}\r\n ekleButtonText={\"Görüşme Ekle\"}\r\n />\r\n <GorusmelerRecord\r\n ref={recordRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n ></GorusmelerRecord>\r\n </>\r\n );\r\n}\r\n\r\nexport default Gorusmeler;\r\n","import Type from \"../../entities/ProjeSurecTakip\";\r\n\r\nconst PageConfig = {\r\n title: \"ProjeSurecTakip\",\r\n ekranKodu: \"ProjeSurecTakip_Res\",\r\n type: Type,\r\n listRoute: \"ProjeSurecTakip/List\",\r\n getByIdRoute: \"ProjeSurecTakip/GetById\",\r\n insertRoute: \"ProjeSurecTakip/Insert\",\r\n updateRoute: \"ProjeSurecTakip/Update\",\r\n deleteRoute: \"ProjeSurecTakip/Delete\",\r\n};\r\n\r\nexport { PageConfig };\r\n","import ProgressBar from \"../components/forms/ProgressBar\";\r\nimport { ID_WIDTH } from \"../common/entityconstants\";\r\nimport SirketInputForm from \"../components/inputs/custom-form-inputs/SirketInputForm\";\r\n\r\nconst entity = [\r\n {\r\n name: \"teklifid\",\r\n label: \"Teklif No\",\r\n dataType: \"number\",\r\n dataField: \"teklifid\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"sirket_Kod\",\r\n label: \"Şirket Kod\",\r\n dataType: \"text\",\r\n dataField: \"sirket_Kod\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"sirketAdi\",\r\n label: \"Şirket Adı\",\r\n dataType: \"text\",\r\n dataField: \"sirketAdi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"bayiAdi\",\r\n label: \"Bayi Adı\",\r\n dataType: \"text\",\r\n dataField: \"bayiAdi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"ilerlemeDurumu\",\r\n label: \"Proje İlerleme Durumu\",\r\n dataType: \"custom\",\r\n dataField: \"ilerlemeDurumu\",\r\n visible: [\"grid\"],\r\n cellRender: (e) => ProgressBar(e?.value),\r\n },\r\n //filtre--------------------------------------------------------------------------------------------------\r\n {\r\n name: \"teklifid\",\r\n label: \"Teklif No\",\r\n dataType: \"number\",\r\n dataField: \"teklifid\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"firmaid\",\r\n label: \"Şirket Kod\",\r\n dataType: \"custom\",\r\n dataField: \"firmaid\",\r\n visible: [\"filter\"],\r\n customComponent: SirketInputForm,\r\n customComponentParams: {},\r\n },\r\n];\r\n\r\nexport default entity;\r\n","import Type from \"../../entities/ProjeSurecTakipDetay\";\r\n\r\nconst PageConfig = {\r\n title: \"ProjeSurecTakip\",\r\n ekranKodu: \"ProjeSurecTakip_Res\",\r\n type: Type,\r\n listRoute: \"ProjeSurecTakip/List\",\r\n getByIdRoute: \"ProjeSurecTakip/GetById\",\r\n insertRoute: \"ProjeSurecTakip/Insert\",\r\n updateRoute: \"ProjeSurecTakip/Update\",\r\n deleteRoute: \"ProjeSurecTakip/Delete\",\r\n};\r\n\r\nexport { PageConfig };\r\n","import { ID_WIDTH } from \"../common/entityconstants\";\r\n\r\nconst entity = [\r\n {\r\n name: \"teklifTeklifDetayid\",\r\n label: \"Teklif Detay No\",\r\n dataType: \"number\",\r\n dataField: \"teklifTeklifDetayid\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"urunAdi\",\r\n label: \"Ürün Adı\",\r\n dataType: \"text\",\r\n dataField: \"urunAdi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"planTarihi\",\r\n label: \"Plan Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"planTarihi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"gerceklesenTarih\",\r\n label: \"Gerçekleşen Tarih\",\r\n dataType: \"date\",\r\n dataField: \"gerceklesenTarih\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"gerceklesti\",\r\n label: \"Gerçekleşti\",\r\n dataType: \"boolean\",\r\n dataField: \"gerceklesti\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"aciklama\",\r\n label: \"Açıklama\",\r\n dataType: \"text\",\r\n dataField: \"aciklama\",\r\n visible: [\"grid\"],\r\n },\r\n];\r\n\r\nexport default entity;\r\n","import React from \"react\";\r\nimport { Grid } from \"@mui/material\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport { PageConfig } from \"./ProjeSurecTakipConfig\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport * as yup from \"yup\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport CheckboxForm from \"../../components/inputs/form-inputs/CheckboxForm\";\r\nimport MultilineTextInputForm from \"../../components/inputs/form-inputs/MultilineTextInputForm\";\r\nimport DateInputForm2 from \"../../components/inputs/form-inputs/DateInputForm2\";\r\n\r\nconst ProjeSurecTakipDetayRecord = React.forwardRef(\r\n ({ ekranKodu, listGridRef, masterRef, detailGridRef, editGridRef }, ref) => {\r\n const context = React.useContext(AppContext);\r\n\r\n const initialState = {};\r\n\r\n const customFetchData = (id) => {\r\n let rows = editGridRef.current.instance.getVisibleRows();\r\n let currentRow = rows.find((x) => x.key == id);\r\n setRowData(currentRow.data);\r\n setModalLoading(false);\r\n };\r\n\r\n const customInsertOrUpdate = (values) => {\r\n var tempChanges = editGridRef.current.instance\r\n .option(\"editing.changes\")\r\n .slice();\r\n if (recId) {\r\n let change = tempChanges.find((x) => x.key == recId);\r\n if (!change) {\r\n tempChanges.push({\r\n key: recId,\r\n data: {},\r\n type: \"update\",\r\n });\r\n change = tempChanges.find((x) => x.key == recId);\r\n }\r\n\r\n let rows = editGridRef.current.instance.getVisibleRows();\r\n let currentRow = rows.find((x) => x.key == recId);\r\n Object.keys(currentRow.data).map((key) => {\r\n if (values[key] != currentRow.data[key]) {\r\n change.data[key] = values[key];\r\n }\r\n });\r\n } else {\r\n tempChanges.push({\r\n key: crypto.randomUUID(),\r\n data: values,\r\n type: \"insert\",\r\n });\r\n }\r\n\r\n editGridRef.current.instance.option(\"editing.changes\", tempChanges);\r\n handleClose();\r\n };\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n setRowData,\r\n setModalLoading,\r\n recId,\r\n } = usePageRecord(\r\n ref,\r\n PageConfig,\r\n listGridRef,\r\n ekranKodu,\r\n initialState,\r\n detailGridRef,\r\n false,\r\n customFetchData,\r\n customInsertOrUpdate\r\n );\r\n\r\n const validationSchema = yup.object().shape({\r\n planTarihi: yup.date().required(),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Proje Süreç Takibi\"\r\n maxWidth=\"xs\"\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <form onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n {/* <DialogContentTop> */}\r\n <Grid item xs={12} sm={6} md={6}>\r\n <FieldWrapper\r\n label=\"Teklif Detay No\"\r\n modalLoading={modalLoading}\r\n rowData={rowData}\r\n >\r\n <Field\r\n disabled\r\n name=\"teklifTeklifDetayid\"\r\n component={TextInputForm}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper label=\"Ürün Adı\" modalLoading={modalLoading}>\r\n <Field\r\n disabled\r\n name=\"urunAdi\"\r\n component={TextInputForm}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper>\r\n\r\n <FieldWrapper\r\n label=\"Plan Tarihi\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"planTarihi\"\r\n component={DateInputForm2}\r\n readOnly={!yetki.kaydet}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Gerçekleşen Tarih\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"gerceklesenTarih\"\r\n component={DateInputForm2}\r\n readOnly={!yetki.kaydet}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Gerçekleşti\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"gerceklesti\"\r\n component={CheckboxForm}\r\n readOnly={!yetki.kaydet}\r\n rowData={rowData}\r\n />\r\n </FieldWrapper>\r\n\r\n <Field\r\n label=\"Açıklama\"\r\n name=\"aciklama\"\r\n component={MultilineTextInputForm}\r\n type=\"text\"\r\n rowData={rowData}\r\n modalLoading={modalLoading}\r\n minRows={5}\r\n />\r\n </Grid>\r\n {/* </DialogContentTop> */}\r\n <DialogActionsWrapper>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={() => {\r\n handleDelete({ id: rowData.teklifTeklifDetayid });\r\n }}\r\n submitting={submitting}\r\n pristine={pristine}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogActionsWrapper>\r\n </DialogContentWrapper>\r\n </form>\r\n )}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n }\r\n);\r\nexport default ProjeSurecTakipDetayRecord;\r\n","import { useRef } from \"react\";\r\nimport { PageConfig } from \"./ProjeSurecTakipDetayConfig\";\r\nimport EditGrid from \"../../components/grid/EditGrid\";\r\nimport ProjeSurecTakipDetayRecord from \"./ProjeSurecTakipDetayRecord\";\r\n\r\nfunction ProjeSurecTakipDetay({\r\n ekranKodu,\r\n rowData,\r\n detailGridRef,\r\n editGridRef,\r\n}) {\r\n const recordRef = useRef();\r\n const listGridRef = useRef();\r\n const ref = useRef();\r\n\r\n const openRecord = (id) => {\r\n ref.current.openRecord(id);\r\n };\r\n\r\n return (\r\n <>\r\n <EditGrid\r\n entities={PageConfig.type}\r\n openRecord={openRecord}\r\n height={\"55vh\"}\r\n editGridRef={editGridRef}\r\n dataSource={rowData.detay ?? []}\r\n ekleButtonGizli={true}\r\n ></EditGrid>\r\n <ProjeSurecTakipDetayRecord\r\n ref={ref}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n detailGridRef={detailGridRef}\r\n editGridRef={editGridRef}\r\n ></ProjeSurecTakipDetayRecord>\r\n </>\r\n );\r\n}\r\n\r\nexport default ProjeSurecTakipDetay;\r\n","import ProgressBar from \"../../forms/ProgressBar\";\r\n\r\nexport default function ProgressBarInputForm({ rowData }) {\r\n return ProgressBar(rowData.ilerlemeDurumu);\r\n}\r\n","import React, { useRef } from \"react\";\r\nimport { Grid } from \"@mui/material\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport { PageConfig } from \"./ProjeSurecTakipConfig\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport * as yup from \"yup\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport FormComponent from \"../../components/forms/FormComponent\";\r\nimport DialogContentTop from \"../../components/dialogs/DialogContentTop\";\r\nimport ProjeSurecTakipDetay from \"./ProjeSurecTakipDetay\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport ProgressBarInputForm from \"../../components/inputs/custom-form-inputs/ProgressBarInputForm\";\r\n\r\nconst ProjeSurecTakipRecord = React.forwardRef(\r\n ({ ekranKodu, listGridRef, detailGridRef }, ref) => {\r\n const context = React.useContext(AppContext);\r\n\r\n const cariTipiInputRef = useRef();\r\n\r\n const initialState = {};\r\n const editGridRef = useRef();\r\n\r\n const handleSubmitPrepareData = (values) => {\r\n let aa = {\r\n ...values,\r\n detay: editGridRef.current.instance.getVisibleRows().map((row) => {\r\n return row.data;\r\n }),\r\n };\r\n\r\n return aa;\r\n };\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n } = usePageRecord(\r\n ref,\r\n PageConfig,\r\n listGridRef,\r\n ekranKodu,\r\n initialState,\r\n () => {\r\n editGridRef.current?.instance?.cancelEditData();\r\n },\r\n null,\r\n null,\r\n null,\r\n handleSubmitPrepareData\r\n );\r\n\r\n const validationSchema = yup.object().shape({\r\n // listeKodu: yup.string().required(),\r\n // listeAdi: yup.string().required(),\r\n // baslangicTarihi: yup.date().required(),\r\n // bitisTarihi: yup.date().required(),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle=\"Proje Süreç Takip\"\r\n maxWidth=\"lg\"\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <FormComponent onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <DialogContentTop>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <FieldWrapper\r\n label=\"Teklif No\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n disabled\r\n name=\"teklifid\"\r\n component={TextInputForm}\r\n readOnly={true}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Şirket Kod\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"sirket_Kod\"\r\n component={TextInputForm}\r\n readOnly={true}\r\n />\r\n </FieldWrapper>\r\n <FieldWrapper\r\n label=\"Şirket Adı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"sirketAdi\"\r\n component={TextInputForm}\r\n readOnly={true}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n <Grid item xs={12} sm={6} md={6}>\r\n <FieldWrapper\r\n label=\"İlerleme Durumu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"ilerlemeDurumu\"\r\n component={ProgressBarInputForm}\r\n rowData={rowData}\r\n readOnly={true}\r\n />\r\n </FieldWrapper>\r\n </Grid>\r\n </DialogContentTop>\r\n <DialogActionsWrapper>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n modalLoading={modalLoading}\r\n deleteCondition={false}\r\n />\r\n </DialogActionsWrapper>\r\n <DialogContentWrapper>\r\n <ProjeSurecTakipDetay\r\n ekranKodu={ekranKodu}\r\n rowData={rowData}\r\n editGridRef={editGridRef}\r\n ></ProjeSurecTakipDetay>\r\n </DialogContentWrapper>\r\n </DialogContentWrapper>\r\n </FormComponent>\r\n )}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n }\r\n);\r\nexport default ProjeSurecTakipRecord;\r\n","import { useRef } from \"react\";\r\nimport PageFilter from \"../../components/filter/PageFilter\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\n// import SirketRecord from \"./SirketRecord\";\r\nimport { PageConfig } from \"./ProjeSurecTakipConfig\";\r\nimport ProjeSurecTakipRecord from \"./ProjeSurecTakipRecord\";\r\n// import PotansiyelMusteriRecord from \"./PotansiyelMusteriRecord\";\r\n\r\nfunction ProjeSurecTakip({ ekranKodu }) {\r\n const listGridRef = useRef();\r\n const filterRef = useRef();\r\n const recordRef = useRef();\r\n\r\n return (\r\n <>\r\n <PageFilter\r\n PageConfig={PageConfig}\r\n ref={filterRef}\r\n listGridRef={listGridRef}\r\n />\r\n <PageGrid\r\n gridId=\"projeSurecTakip\"\r\n PageConfig={PageConfig}\r\n listGridRef={listGridRef}\r\n filterRef={filterRef}\r\n recordRef={recordRef}\r\n isCreatable={false}\r\n ekranKodu={ekranKodu}\r\n />\r\n <ProjeSurecTakipRecord\r\n ref={recordRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n ></ProjeSurecTakipRecord>\r\n </>\r\n );\r\n}\r\n\r\nexport default ProjeSurecTakip;\r\n","export const tasks = [\r\n {\r\n id: 1,\r\n parentId: 0,\r\n title: \"Software Development\",\r\n start: new Date(\"2024-02-21T05:00:00.000Z\"),\r\n end: new Date(\"2024-07-04T12:00:00.000Z\"),\r\n progress: 31,\r\n },\r\n {\r\n id: 2,\r\n parentId: 1,\r\n title: \"Scope\",\r\n start: new Date(\"2024-02-21T05:00:00.000Z\"),\r\n end: new Date(\"2024-02-26T09:00:00.000Z\"),\r\n progress: 60,\r\n },\r\n {\r\n id: 3,\r\n parentId: 2,\r\n title: \"Determine project scope\",\r\n start: new Date(\"2024-02-21T05:00:00.000Z\"),\r\n end: new Date(\"2024-02-21T09:00:00.000Z\"),\r\n progress: 100,\r\n },\r\n {\r\n id: 4,\r\n parentId: 2,\r\n title: \"Secure project sponsorship\",\r\n start: new Date(\"2024-02-21T10:00:00.000Z\"),\r\n end: new Date(\"2024-02-22T09:00:00.000Z\"),\r\n progress: 100,\r\n },\r\n {\r\n id: 5,\r\n parentId: 2,\r\n title: \"Define preliminary resources\",\r\n start: new Date(\"2024-02-22T10:00:00.000Z\"),\r\n end: new Date(\"2024-02-25T09:00:00.000Z\"),\r\n progress: 60,\r\n },\r\n {\r\n id: 6,\r\n parentId: 2,\r\n title: \"Secure core resources\",\r\n start: new Date(\"2024-02-25T10:00:00.000Z\"),\r\n end: new Date(\"2024-02-26T09:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 7,\r\n parentId: 2,\r\n title: \"Scope complete\",\r\n start: new Date(\"2024-02-26T09:00:00.000Z\"),\r\n end: new Date(\"2024-02-26T09:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 8,\r\n parentId: 1,\r\n title: \"Analysis/Software Requirements\",\r\n start: new Date(\"2024-02-26T10:00:00.000Z\"),\r\n end: new Date(\"2024-03-18T09:00:00.000Z\"),\r\n progress: 80,\r\n },\r\n {\r\n id: 9,\r\n parentId: 8,\r\n title: \"Conduct needs analysis\",\r\n start: new Date(\"2024-02-26T10:00:00.000Z\"),\r\n end: new Date(\"2024-03-05T09:00:00.000Z\"),\r\n progress: 100,\r\n },\r\n {\r\n id: 10,\r\n parentId: 8,\r\n title: \"Draft preliminary software specifications\",\r\n start: new Date(\"2024-03-05T10:00:00.000Z\"),\r\n end: new Date(\"2024-03-08T09:00:00.000Z\"),\r\n progress: 100,\r\n },\r\n {\r\n id: 11,\r\n parentId: 8,\r\n title: \"Develop preliminary budget\",\r\n start: new Date(\"2024-03-08T10:00:00.000Z\"),\r\n end: new Date(\"2024-03-12T09:00:00.000Z\"),\r\n progress: 100,\r\n },\r\n {\r\n id: 12,\r\n parentId: 8,\r\n title: \"Review software specifications/budget with team\",\r\n start: new Date(\"2024-03-12T10:00:00.000Z\"),\r\n end: new Date(\"2024-03-12T14:00:00.000Z\"),\r\n progress: 100,\r\n },\r\n {\r\n id: 13,\r\n parentId: 8,\r\n title: \"Incorporate feedback on software specifications\",\r\n start: new Date(\"2024-03-13T05:00:00.000Z\"),\r\n end: new Date(\"2024-03-13T14:00:00.000Z\"),\r\n progress: 70,\r\n },\r\n {\r\n id: 14,\r\n parentId: 8,\r\n title: \"Develop delivery timeline\",\r\n start: new Date(\"2024-03-14T05:00:00.000Z\"),\r\n end: new Date(\"2024-03-14T14:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 15,\r\n parentId: 8,\r\n title: \"Obtain approvals to proceed (concept, timeline, budget)\",\r\n start: new Date(\"2024-03-15T05:00:00.000Z\"),\r\n end: new Date(\"2024-03-15T09:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 16,\r\n parentId: 8,\r\n title: \"Secure required resources\",\r\n start: new Date(\"2024-03-15T10:00:00.000Z\"),\r\n end: new Date(\"2024-03-18T09:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 17,\r\n parentId: 8,\r\n title: \"Analysis complete\",\r\n start: new Date(\"2024-03-18T09:00:00.000Z\"),\r\n end: new Date(\"2024-03-18T09:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 18,\r\n parentId: 1,\r\n title: \"Design\",\r\n start: new Date(\"2024-03-18T10:00:00.000Z\"),\r\n end: new Date(\"2024-04-05T14:00:00.000Z\"),\r\n progress: 80,\r\n },\r\n {\r\n id: 19,\r\n parentId: 18,\r\n title: \"Review preliminary software specifications\",\r\n start: new Date(\"2024-03-18T10:00:00.000Z\"),\r\n end: new Date(\"2024-03-20T09:00:00.000Z\"),\r\n progress: 100,\r\n },\r\n {\r\n id: 20,\r\n parentId: 18,\r\n title: \"Develop functional specifications\",\r\n start: new Date(\"2024-03-20T10:00:00.000Z\"),\r\n end: new Date(\"2024-03-27T09:00:00.000Z\"),\r\n progress: 100,\r\n },\r\n {\r\n id: 21,\r\n parentId: 18,\r\n title: \"Develop prototype based on functional specifications\",\r\n start: new Date(\"2024-03-27T10:00:00.000Z\"),\r\n end: new Date(\"2024-04-02T09:00:00.000Z\"),\r\n progress: 100,\r\n },\r\n {\r\n id: 22,\r\n parentId: 18,\r\n title: \"Review functional specifications\",\r\n start: new Date(\"2024-04-02T10:00:00.000Z\"),\r\n end: new Date(\"2024-04-04T09:00:00.000Z\"),\r\n progress: 30,\r\n },\r\n {\r\n id: 23,\r\n parentId: 18,\r\n title: \"Incorporate feedback into functional specifications\",\r\n start: new Date(\"2024-04-04T10:00:00.000Z\"),\r\n end: new Date(\"2024-04-05T09:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 24,\r\n parentId: 18,\r\n title: \"Obtain approval to proceed\",\r\n start: new Date(\"2024-04-05T10:00:00.000Z\"),\r\n end: new Date(\"2024-04-05T14:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 25,\r\n parentId: 18,\r\n title: \"Design complete\",\r\n start: new Date(\"2024-04-05T14:00:00.000Z\"),\r\n end: new Date(\"2024-04-05T14:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 26,\r\n parentId: 1,\r\n title: \"Development\",\r\n start: new Date(\"2024-04-08T05:00:00.000Z\"),\r\n end: new Date(\"2024-05-07T12:00:00.000Z\"),\r\n progress: 42,\r\n },\r\n {\r\n id: 27,\r\n parentId: 26,\r\n title: \"Review functional specifications\",\r\n start: new Date(\"2024-04-08T05:00:00.000Z\"),\r\n end: new Date(\"2024-04-08T14:00:00.000Z\"),\r\n progress: 100,\r\n },\r\n {\r\n id: 28,\r\n parentId: 26,\r\n title: \"Identify modular/tiered design parameters\",\r\n start: new Date(\"2024-04-09T05:00:00.000Z\"),\r\n end: new Date(\"2024-04-09T14:00:00.000Z\"),\r\n progress: 100,\r\n },\r\n {\r\n id: 29,\r\n parentId: 26,\r\n title: \"Assign development staff\",\r\n start: new Date(\"2024-04-10T05:00:00.000Z\"),\r\n end: new Date(\"2024-04-10T14:00:00.000Z\"),\r\n progress: 100,\r\n },\r\n {\r\n id: 30,\r\n parentId: 26,\r\n title: \"Develop code\",\r\n start: new Date(\"2024-04-11T05:00:00.000Z\"),\r\n end: new Date(\"2024-05-01T14:00:00.000Z\"),\r\n progress: 49,\r\n },\r\n {\r\n id: 31,\r\n parentId: 26,\r\n title: \"Developer testing (primary debugging)\",\r\n start: new Date(\"2024-04-16T12:00:00.000Z\"),\r\n end: new Date(\"2024-05-07T12:00:00.000Z\"),\r\n progress: 24,\r\n },\r\n {\r\n id: 32,\r\n parentId: 26,\r\n title: \"Development complete\",\r\n start: new Date(\"2024-05-07T12:00:00.000Z\"),\r\n end: new Date(\"2024-05-07T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 33,\r\n parentId: 1,\r\n title: \"Testing\",\r\n start: new Date(\"2024-04-08T05:00:00.000Z\"),\r\n end: new Date(\"2024-06-13T12:00:00.000Z\"),\r\n progress: 23,\r\n },\r\n {\r\n id: 34,\r\n parentId: 33,\r\n title: \"Develop unit test plans using product specifications\",\r\n start: new Date(\"2024-04-08T05:00:00.000Z\"),\r\n end: new Date(\"2024-04-11T14:00:00.000Z\"),\r\n progress: 100,\r\n },\r\n {\r\n id: 35,\r\n parentId: 33,\r\n title: \"Develop integration test plans using product specifications\",\r\n start: new Date(\"2024-04-08T05:00:00.000Z\"),\r\n end: new Date(\"2024-04-11T14:00:00.000Z\"),\r\n progress: 100,\r\n },\r\n {\r\n id: 36,\r\n parentId: 33,\r\n title: \"Unit Testing\",\r\n start: new Date(\"2024-05-07T12:00:00.000Z\"),\r\n end: new Date(\"2024-05-28T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 37,\r\n parentId: 36,\r\n title: \"Review modular code\",\r\n start: new Date(\"2024-05-07T12:00:00.000Z\"),\r\n end: new Date(\"2024-05-14T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 38,\r\n parentId: 36,\r\n title: \"Test component modules to product specifications\",\r\n start: new Date(\"2024-05-14T12:00:00.000Z\"),\r\n end: new Date(\"2024-05-16T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 39,\r\n parentId: 36,\r\n title: \"Identify anomalies to product specifications\",\r\n start: new Date(\"2024-05-16T12:00:00.000Z\"),\r\n end: new Date(\"2024-05-21T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 40,\r\n parentId: 36,\r\n title: \"Modify code\",\r\n start: new Date(\"2024-05-21T12:00:00.000Z\"),\r\n end: new Date(\"2024-05-24T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 41,\r\n parentId: 36,\r\n title: \"Re-test modified code\",\r\n start: new Date(\"2024-05-24T12:00:00.000Z\"),\r\n end: new Date(\"2024-05-28T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 42,\r\n parentId: 36,\r\n title: \"Unit testing complete\",\r\n start: new Date(\"2024-05-28T12:00:00.000Z\"),\r\n end: new Date(\"2024-05-28T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 43,\r\n parentId: 33,\r\n title: \"Integration Testing\",\r\n start: new Date(\"2024-05-28T12:00:00.000Z\"),\r\n end: new Date(\"2024-06-13T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 44,\r\n parentId: 43,\r\n title: \"Test module integration\",\r\n start: new Date(\"2024-05-28T12:00:00.000Z\"),\r\n end: new Date(\"2024-06-04T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 45,\r\n parentId: 43,\r\n title: \"Identify anomalies to specifications\",\r\n start: new Date(\"2024-06-04T12:00:00.000Z\"),\r\n end: new Date(\"2024-06-06T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 46,\r\n parentId: 43,\r\n title: \"Modify code\",\r\n start: new Date(\"2024-06-06T12:00:00.000Z\"),\r\n end: new Date(\"2024-06-11T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 47,\r\n parentId: 43,\r\n title: \"Re-test modified code\",\r\n start: new Date(\"2024-06-11T12:00:00.000Z\"),\r\n end: new Date(\"2024-06-13T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 48,\r\n parentId: 43,\r\n title: \"Integration testing complete\",\r\n start: new Date(\"2024-06-13T12:00:00.000Z\"),\r\n end: new Date(\"2024-06-13T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 49,\r\n parentId: 1,\r\n title: \"Training\",\r\n start: new Date(\"2024-04-08T05:00:00.000Z\"),\r\n end: new Date(\"2024-06-10T12:00:00.000Z\"),\r\n progress: 25,\r\n },\r\n {\r\n id: 50,\r\n parentId: 49,\r\n title: \"Develop training specifications for end users\",\r\n start: new Date(\"2024-04-08T05:00:00.000Z\"),\r\n end: new Date(\"2024-04-10T14:00:00.000Z\"),\r\n progress: 100,\r\n },\r\n {\r\n id: 51,\r\n parentId: 49,\r\n title: \"Develop training specifications for helpdesk support staff\",\r\n start: new Date(\"2024-04-08T05:00:00.000Z\"),\r\n end: new Date(\"2024-04-10T14:00:00.000Z\"),\r\n progress: 100,\r\n },\r\n {\r\n id: 52,\r\n parentId: 49,\r\n title:\r\n \"Identify training delivery methodology (computer based training, classroom, etc.)\",\r\n start: new Date(\"2024-04-08T05:00:00.000Z\"),\r\n end: new Date(\"2024-04-09T14:00:00.000Z\"),\r\n progress: 100,\r\n },\r\n {\r\n id: 53,\r\n parentId: 49,\r\n title: \"Develop training materials\",\r\n start: new Date(\"2024-05-07T12:00:00.000Z\"),\r\n end: new Date(\"2024-05-28T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 54,\r\n parentId: 49,\r\n title: \"Conduct training usability study\",\r\n start: new Date(\"2024-05-28T12:00:00.000Z\"),\r\n end: new Date(\"2024-06-03T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 55,\r\n parentId: 49,\r\n title: \"Finalize training materials\",\r\n start: new Date(\"2024-06-03T12:00:00.000Z\"),\r\n end: new Date(\"2024-06-06T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 56,\r\n parentId: 49,\r\n title: \"Develop training delivery mechanism\",\r\n start: new Date(\"2024-06-06T12:00:00.000Z\"),\r\n end: new Date(\"2024-06-10T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 57,\r\n parentId: 49,\r\n title: \"Training materials complete\",\r\n start: new Date(\"2024-06-10T12:00:00.000Z\"),\r\n end: new Date(\"2024-06-10T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 58,\r\n parentId: 1,\r\n title: \"Documentation\",\r\n start: new Date(\"2024-04-08T05:00:00.000Z\"),\r\n end: new Date(\"2024-05-20T09:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 59,\r\n parentId: 58,\r\n title: \"Develop Help specification\",\r\n start: new Date(\"2024-04-08T05:00:00.000Z\"),\r\n end: new Date(\"2024-04-08T14:00:00.000Z\"),\r\n progress: 80,\r\n },\r\n {\r\n id: 60,\r\n parentId: 58,\r\n title: \"Develop Help system\",\r\n start: new Date(\"2024-04-22T10:00:00.000Z\"),\r\n end: new Date(\"2024-05-13T09:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 61,\r\n parentId: 58,\r\n title: \"Review Help documentation\",\r\n start: new Date(\"2024-05-13T10:00:00.000Z\"),\r\n end: new Date(\"2024-05-16T09:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 62,\r\n parentId: 58,\r\n title: \"Incorporate Help documentation feedback\",\r\n start: new Date(\"2024-05-16T10:00:00.000Z\"),\r\n end: new Date(\"2024-05-20T09:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 63,\r\n parentId: 58,\r\n title: \"Develop user manuals specifications\",\r\n start: new Date(\"2024-04-08T05:00:00.000Z\"),\r\n end: new Date(\"2024-04-09T14:00:00.000Z\"),\r\n progress: 65,\r\n },\r\n {\r\n id: 64,\r\n parentId: 58,\r\n title: \"Develop user manuals\",\r\n start: new Date(\"2024-04-22T10:00:00.000Z\"),\r\n end: new Date(\"2024-05-13T09:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 65,\r\n parentId: 58,\r\n title: \"Review all user documentation\",\r\n start: new Date(\"2024-05-13T10:00:00.000Z\"),\r\n end: new Date(\"2024-05-15T09:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 66,\r\n parentId: 58,\r\n title: \"Incorporate user documentation feedback\",\r\n start: new Date(\"2024-05-15T10:00:00.000Z\"),\r\n end: new Date(\"2024-05-17T09:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 67,\r\n parentId: 58,\r\n title: \"Documentation complete\",\r\n start: new Date(\"2024-05-20T09:00:00.000Z\"),\r\n end: new Date(\"2024-05-20T09:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 68,\r\n parentId: 1,\r\n title: \"Pilot\",\r\n start: new Date(\"2024-03-18T10:00:00.000Z\"),\r\n end: new Date(\"2024-06-24T12:00:00.000Z\"),\r\n progress: 22,\r\n },\r\n {\r\n id: 69,\r\n parentId: 68,\r\n title: \"Identify test group\",\r\n start: new Date(\"2024-03-18T10:00:00.000Z\"),\r\n end: new Date(\"2024-03-19T09:00:00.000Z\"),\r\n progress: 100,\r\n },\r\n {\r\n id: 70,\r\n parentId: 68,\r\n title: \"Develop software delivery mechanism\",\r\n start: new Date(\"2024-03-19T10:00:00.000Z\"),\r\n end: new Date(\"2024-03-20T09:00:00.000Z\"),\r\n progress: 100,\r\n },\r\n {\r\n id: 71,\r\n parentId: 68,\r\n title: \"Install/deploy software\",\r\n start: new Date(\"2024-06-13T12:00:00.000Z\"),\r\n end: new Date(\"2024-06-14T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 72,\r\n parentId: 68,\r\n title: \"Obtain user feedback\",\r\n start: new Date(\"2024-06-14T12:00:00.000Z\"),\r\n end: new Date(\"2024-06-21T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 73,\r\n parentId: 68,\r\n title: \"Evaluate testing information\",\r\n start: new Date(\"2024-06-21T12:00:00.000Z\"),\r\n end: new Date(\"2024-06-24T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 74,\r\n parentId: 68,\r\n title: \"Pilot complete\",\r\n start: new Date(\"2024-06-24T12:00:00.000Z\"),\r\n end: new Date(\"2024-06-24T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 75,\r\n parentId: 1,\r\n title: \"Deployment\",\r\n start: new Date(\"2024-06-24T12:00:00.000Z\"),\r\n end: new Date(\"2024-07-01T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 76,\r\n parentId: 75,\r\n title: \"Determine final deployment strategy\",\r\n start: new Date(\"2024-06-24T12:00:00.000Z\"),\r\n end: new Date(\"2024-06-25T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 77,\r\n parentId: 75,\r\n title: \"Develop deployment methodology\",\r\n start: new Date(\"2024-06-25T12:00:00.000Z\"),\r\n end: new Date(\"2024-06-26T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 78,\r\n parentId: 75,\r\n title: \"Secure deployment resources\",\r\n start: new Date(\"2024-06-26T12:00:00.000Z\"),\r\n end: new Date(\"2024-06-27T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 79,\r\n parentId: 75,\r\n title: \"Train support staff\",\r\n start: new Date(\"2024-06-27T12:00:00.000Z\"),\r\n end: new Date(\"2024-06-28T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 80,\r\n parentId: 75,\r\n title: \"Deploy software\",\r\n start: new Date(\"2024-06-28T12:00:00.000Z\"),\r\n end: new Date(\"2024-07-01T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 81,\r\n parentId: 75,\r\n title: \"Deployment complete\",\r\n start: new Date(\"2024-07-01T12:00:00.000Z\"),\r\n end: new Date(\"2024-07-01T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 82,\r\n parentId: 1,\r\n title: \"Post Implementation Review\",\r\n start: new Date(\"2024-07-01T12:00:00.000Z\"),\r\n end: new Date(\"2024-07-04T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 83,\r\n parentId: 82,\r\n title: \"Document lessons learned\",\r\n start: new Date(\"2024-07-01T12:00:00.000Z\"),\r\n end: new Date(\"2024-07-02T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 84,\r\n parentId: 82,\r\n title: \"Distribute to team members\",\r\n start: new Date(\"2024-07-02T12:00:00.000Z\"),\r\n end: new Date(\"2024-07-03T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 85,\r\n parentId: 82,\r\n title: \"Create software maintenance team\",\r\n start: new Date(\"2024-07-03T12:00:00.000Z\"),\r\n end: new Date(\"2024-07-04T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 86,\r\n parentId: 82,\r\n title: \"Post implementation review complete\",\r\n start: new Date(\"2024-07-04T12:00:00.000Z\"),\r\n end: new Date(\"2024-07-04T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n {\r\n id: 87,\r\n parentId: 1,\r\n title: \"Software development template complete\",\r\n start: new Date(\"2024-07-04T12:00:00.000Z\"),\r\n end: new Date(\"2024-07-04T12:00:00.000Z\"),\r\n progress: 0,\r\n },\r\n];\r\n\r\nexport const dependencies = [\r\n {\r\n id: 1,\r\n predecessorId: 3,\r\n successorId: 4,\r\n type: 0,\r\n },\r\n {\r\n id: 2,\r\n predecessorId: 4,\r\n successorId: 5,\r\n type: 0,\r\n },\r\n {\r\n id: 3,\r\n predecessorId: 5,\r\n successorId: 6,\r\n type: 0,\r\n },\r\n {\r\n id: 4,\r\n predecessorId: 6,\r\n successorId: 7,\r\n type: 0,\r\n },\r\n {\r\n id: 5,\r\n predecessorId: 7,\r\n successorId: 9,\r\n type: 0,\r\n },\r\n {\r\n id: 6,\r\n predecessorId: 9,\r\n successorId: 10,\r\n type: 0,\r\n },\r\n {\r\n id: 7,\r\n predecessorId: 10,\r\n successorId: 11,\r\n type: 0,\r\n },\r\n {\r\n id: 8,\r\n predecessorId: 11,\r\n successorId: 12,\r\n type: 0,\r\n },\r\n {\r\n id: 9,\r\n predecessorId: 12,\r\n successorId: 13,\r\n type: 0,\r\n },\r\n {\r\n id: 10,\r\n predecessorId: 13,\r\n successorId: 14,\r\n type: 0,\r\n },\r\n {\r\n id: 11,\r\n predecessorId: 14,\r\n successorId: 15,\r\n type: 0,\r\n },\r\n {\r\n id: 12,\r\n predecessorId: 15,\r\n successorId: 16,\r\n type: 0,\r\n },\r\n {\r\n id: 13,\r\n predecessorId: 16,\r\n successorId: 17,\r\n type: 0,\r\n },\r\n {\r\n id: 14,\r\n predecessorId: 17,\r\n successorId: 19,\r\n type: 0,\r\n },\r\n {\r\n id: 15,\r\n predecessorId: 19,\r\n successorId: 20,\r\n type: 0,\r\n },\r\n {\r\n id: 16,\r\n predecessorId: 20,\r\n successorId: 21,\r\n type: 0,\r\n },\r\n {\r\n id: 17,\r\n predecessorId: 21,\r\n successorId: 22,\r\n type: 0,\r\n },\r\n {\r\n id: 18,\r\n predecessorId: 22,\r\n successorId: 23,\r\n type: 0,\r\n },\r\n {\r\n id: 19,\r\n predecessorId: 23,\r\n successorId: 24,\r\n type: 0,\r\n },\r\n {\r\n id: 20,\r\n predecessorId: 24,\r\n successorId: 25,\r\n type: 0,\r\n },\r\n {\r\n id: 21,\r\n predecessorId: 25,\r\n successorId: 27,\r\n type: 0,\r\n },\r\n {\r\n id: 22,\r\n predecessorId: 27,\r\n successorId: 28,\r\n type: 0,\r\n },\r\n {\r\n id: 23,\r\n predecessorId: 28,\r\n successorId: 29,\r\n type: 0,\r\n },\r\n {\r\n id: 24,\r\n predecessorId: 29,\r\n successorId: 30,\r\n type: 0,\r\n },\r\n {\r\n id: 25,\r\n predecessorId: 31,\r\n successorId: 32,\r\n type: 0,\r\n },\r\n {\r\n id: 26,\r\n predecessorId: 37,\r\n successorId: 38,\r\n type: 0,\r\n },\r\n {\r\n id: 27,\r\n predecessorId: 38,\r\n successorId: 39,\r\n type: 0,\r\n },\r\n {\r\n id: 28,\r\n predecessorId: 39,\r\n successorId: 40,\r\n type: 0,\r\n },\r\n {\r\n id: 29,\r\n predecessorId: 40,\r\n successorId: 41,\r\n type: 0,\r\n },\r\n {\r\n id: 30,\r\n predecessorId: 41,\r\n successorId: 42,\r\n type: 0,\r\n },\r\n {\r\n id: 31,\r\n predecessorId: 42,\r\n successorId: 44,\r\n type: 0,\r\n },\r\n {\r\n id: 32,\r\n predecessorId: 44,\r\n successorId: 45,\r\n type: 0,\r\n },\r\n {\r\n id: 33,\r\n predecessorId: 45,\r\n successorId: 46,\r\n type: 0,\r\n },\r\n {\r\n id: 34,\r\n predecessorId: 46,\r\n successorId: 47,\r\n type: 0,\r\n },\r\n {\r\n id: 35,\r\n predecessorId: 47,\r\n successorId: 48,\r\n type: 0,\r\n },\r\n {\r\n id: 36,\r\n predecessorId: 53,\r\n successorId: 54,\r\n type: 0,\r\n },\r\n {\r\n id: 37,\r\n predecessorId: 54,\r\n successorId: 55,\r\n type: 0,\r\n },\r\n {\r\n id: 38,\r\n predecessorId: 55,\r\n successorId: 56,\r\n type: 0,\r\n },\r\n {\r\n id: 39,\r\n predecessorId: 56,\r\n successorId: 57,\r\n type: 0,\r\n },\r\n {\r\n id: 40,\r\n predecessorId: 59,\r\n successorId: 60,\r\n type: 0,\r\n },\r\n {\r\n id: 41,\r\n predecessorId: 60,\r\n successorId: 61,\r\n type: 0,\r\n },\r\n {\r\n id: 42,\r\n predecessorId: 61,\r\n successorId: 62,\r\n type: 0,\r\n },\r\n {\r\n id: 43,\r\n predecessorId: 63,\r\n successorId: 64,\r\n type: 0,\r\n },\r\n {\r\n id: 44,\r\n predecessorId: 64,\r\n successorId: 65,\r\n type: 0,\r\n },\r\n {\r\n id: 45,\r\n predecessorId: 65,\r\n successorId: 66,\r\n type: 0,\r\n },\r\n {\r\n id: 46,\r\n predecessorId: 66,\r\n successorId: 67,\r\n type: 0,\r\n },\r\n {\r\n id: 47,\r\n predecessorId: 69,\r\n successorId: 70,\r\n type: 0,\r\n },\r\n {\r\n id: 48,\r\n predecessorId: 70,\r\n successorId: 71,\r\n type: 0,\r\n },\r\n {\r\n id: 49,\r\n predecessorId: 71,\r\n successorId: 72,\r\n type: 0,\r\n },\r\n {\r\n id: 50,\r\n predecessorId: 72,\r\n successorId: 73,\r\n type: 0,\r\n },\r\n {\r\n id: 51,\r\n predecessorId: 73,\r\n successorId: 74,\r\n type: 0,\r\n },\r\n {\r\n id: 52,\r\n predecessorId: 74,\r\n successorId: 76,\r\n type: 0,\r\n },\r\n {\r\n id: 53,\r\n predecessorId: 76,\r\n successorId: 77,\r\n type: 0,\r\n },\r\n {\r\n id: 54,\r\n predecessorId: 77,\r\n successorId: 78,\r\n type: 0,\r\n },\r\n {\r\n id: 55,\r\n predecessorId: 78,\r\n successorId: 79,\r\n type: 0,\r\n },\r\n {\r\n id: 56,\r\n predecessorId: 79,\r\n successorId: 80,\r\n type: 0,\r\n },\r\n {\r\n id: 57,\r\n predecessorId: 80,\r\n successorId: 81,\r\n type: 0,\r\n },\r\n {\r\n id: 58,\r\n predecessorId: 81,\r\n successorId: 83,\r\n type: 0,\r\n },\r\n {\r\n id: 59,\r\n predecessorId: 83,\r\n successorId: 84,\r\n type: 0,\r\n },\r\n {\r\n id: 60,\r\n predecessorId: 84,\r\n successorId: 85,\r\n type: 0,\r\n },\r\n {\r\n id: 61,\r\n predecessorId: 85,\r\n successorId: 86,\r\n type: 0,\r\n },\r\n {\r\n id: 62,\r\n predecessorId: 86,\r\n successorId: 87,\r\n type: 0,\r\n },\r\n];\r\n\r\nexport const resources = [\r\n {\r\n id: 1,\r\n text: \"Management\",\r\n },\r\n {\r\n id: 2,\r\n text: \"Project Manager\",\r\n },\r\n {\r\n id: 3,\r\n text: \"Analyst\",\r\n },\r\n {\r\n id: 4,\r\n text: \"Developer\",\r\n },\r\n {\r\n id: 5,\r\n text: \"Testers\",\r\n },\r\n {\r\n id: 6,\r\n text: \"Trainers\",\r\n },\r\n {\r\n id: 7,\r\n text: \"Technical Communicators\",\r\n },\r\n {\r\n id: 8,\r\n text: \"Deployment Team\",\r\n },\r\n];\r\n\r\nexport const resourceAssignments = [\r\n {\r\n id: 0,\r\n taskId: 3,\r\n resourceId: 1,\r\n },\r\n {\r\n id: 1,\r\n taskId: 4,\r\n resourceId: 1,\r\n },\r\n {\r\n id: 2,\r\n taskId: 5,\r\n resourceId: 2,\r\n },\r\n {\r\n id: 3,\r\n taskId: 6,\r\n resourceId: 2,\r\n },\r\n {\r\n id: 4,\r\n taskId: 9,\r\n resourceId: 3,\r\n },\r\n {\r\n id: 5,\r\n taskId: 10,\r\n resourceId: 3,\r\n },\r\n {\r\n id: 6,\r\n taskId: 11,\r\n resourceId: 2,\r\n },\r\n {\r\n id: 7,\r\n taskId: 12,\r\n resourceId: 2,\r\n },\r\n {\r\n id: 8,\r\n taskId: 12,\r\n resourceId: 3,\r\n },\r\n {\r\n id: 9,\r\n taskId: 13,\r\n resourceId: 3,\r\n },\r\n {\r\n id: 10,\r\n taskId: 14,\r\n resourceId: 2,\r\n },\r\n {\r\n id: 11,\r\n taskId: 15,\r\n resourceId: 1,\r\n },\r\n {\r\n id: 12,\r\n taskId: 15,\r\n resourceId: 2,\r\n },\r\n {\r\n id: 13,\r\n taskId: 16,\r\n resourceId: 2,\r\n },\r\n {\r\n id: 14,\r\n taskId: 19,\r\n resourceId: 3,\r\n },\r\n {\r\n id: 15,\r\n taskId: 20,\r\n resourceId: 3,\r\n },\r\n {\r\n id: 16,\r\n taskId: 21,\r\n resourceId: 3,\r\n },\r\n {\r\n id: 17,\r\n taskId: 22,\r\n resourceId: 1,\r\n },\r\n {\r\n id: 18,\r\n taskId: 23,\r\n resourceId: 1,\r\n },\r\n {\r\n id: 19,\r\n taskId: 24,\r\n resourceId: 1,\r\n },\r\n {\r\n id: 20,\r\n taskId: 24,\r\n resourceId: 2,\r\n },\r\n {\r\n id: 21,\r\n taskId: 27,\r\n resourceId: 4,\r\n },\r\n {\r\n id: 22,\r\n taskId: 28,\r\n resourceId: 4,\r\n },\r\n {\r\n id: 23,\r\n taskId: 29,\r\n resourceId: 4,\r\n },\r\n {\r\n id: 24,\r\n taskId: 30,\r\n resourceId: 4,\r\n },\r\n {\r\n id: 25,\r\n taskId: 31,\r\n resourceId: 4,\r\n },\r\n {\r\n id: 26,\r\n taskId: 34,\r\n resourceId: 5,\r\n },\r\n {\r\n id: 27,\r\n taskId: 35,\r\n resourceId: 5,\r\n },\r\n {\r\n id: 28,\r\n taskId: 37,\r\n resourceId: 5,\r\n },\r\n {\r\n id: 29,\r\n taskId: 38,\r\n resourceId: 5,\r\n },\r\n {\r\n id: 30,\r\n taskId: 39,\r\n resourceId: 5,\r\n },\r\n {\r\n id: 31,\r\n taskId: 40,\r\n resourceId: 5,\r\n },\r\n {\r\n id: 32,\r\n taskId: 41,\r\n resourceId: 5,\r\n },\r\n {\r\n id: 33,\r\n taskId: 44,\r\n resourceId: 5,\r\n },\r\n {\r\n id: 34,\r\n taskId: 45,\r\n resourceId: 5,\r\n },\r\n {\r\n id: 35,\r\n taskId: 46,\r\n resourceId: 5,\r\n },\r\n {\r\n id: 36,\r\n taskId: 47,\r\n resourceId: 5,\r\n },\r\n {\r\n id: 37,\r\n taskId: 50,\r\n resourceId: 6,\r\n },\r\n {\r\n id: 38,\r\n taskId: 51,\r\n resourceId: 6,\r\n },\r\n {\r\n id: 39,\r\n taskId: 52,\r\n resourceId: 6,\r\n },\r\n {\r\n id: 40,\r\n taskId: 53,\r\n resourceId: 6,\r\n },\r\n {\r\n id: 41,\r\n taskId: 54,\r\n resourceId: 6,\r\n },\r\n {\r\n id: 42,\r\n taskId: 55,\r\n resourceId: 6,\r\n },\r\n {\r\n id: 43,\r\n taskId: 56,\r\n resourceId: 6,\r\n },\r\n {\r\n id: 44,\r\n taskId: 59,\r\n resourceId: 7,\r\n },\r\n {\r\n id: 45,\r\n taskId: 60,\r\n resourceId: 7,\r\n },\r\n {\r\n id: 46,\r\n taskId: 61,\r\n resourceId: 7,\r\n },\r\n {\r\n id: 47,\r\n taskId: 62,\r\n resourceId: 7,\r\n },\r\n {\r\n id: 48,\r\n taskId: 63,\r\n resourceId: 7,\r\n },\r\n {\r\n id: 49,\r\n taskId: 64,\r\n resourceId: 7,\r\n },\r\n {\r\n id: 50,\r\n taskId: 65,\r\n resourceId: 7,\r\n },\r\n {\r\n id: 51,\r\n taskId: 66,\r\n resourceId: 7,\r\n },\r\n {\r\n id: 52,\r\n taskId: 69,\r\n resourceId: 2,\r\n },\r\n {\r\n id: 53,\r\n taskId: 71,\r\n resourceId: 8,\r\n },\r\n {\r\n id: 54,\r\n taskId: 72,\r\n resourceId: 8,\r\n },\r\n {\r\n id: 55,\r\n taskId: 73,\r\n resourceId: 8,\r\n },\r\n {\r\n id: 56,\r\n taskId: 76,\r\n resourceId: 8,\r\n },\r\n {\r\n id: 57,\r\n taskId: 77,\r\n resourceId: 8,\r\n },\r\n {\r\n id: 58,\r\n taskId: 78,\r\n resourceId: 8,\r\n },\r\n {\r\n id: 59,\r\n taskId: 79,\r\n resourceId: 8,\r\n },\r\n {\r\n id: 60,\r\n taskId: 80,\r\n resourceId: 8,\r\n },\r\n {\r\n id: 61,\r\n taskId: 83,\r\n resourceId: 2,\r\n },\r\n {\r\n id: 62,\r\n taskId: 84,\r\n resourceId: 2,\r\n },\r\n {\r\n id: 63,\r\n taskId: 85,\r\n resourceId: 2,\r\n },\r\n];\r\n","import { useRef } from \"react\";\r\nimport { tasks, dependencies, resources } from \"../../common/denemeData.js\";\r\nimport Gantt, {\r\n Tasks,\r\n Dependencies,\r\n Resources,\r\n Column,\r\n Editing,\r\n Toolbar,\r\n Item,\r\n Validation,\r\n} from \"devextreme-react/gantt\";\r\n// import { Toolbar } from \"devextreme-react\";\r\n\r\nfunction GorevlerGantt({ ekranKodu }) {\r\n // const listGridRef = useRef();\r\n const filterRef = useRef();\r\n // const recordRef = useRef();\r\n // const detailGridRef = useRef();\r\n\r\n // console.log(PageConfig);\r\n return (\r\n <>\r\n <Gantt taskListWidth={500} scaleType=\"weeks\" height={700}>\r\n <Tasks dataSource={tasks} />\r\n <Dependencies dataSource={dependencies} />\r\n <Resources dataSource={resources} />\r\n {/* <ResourceAssignments dataSource={resourceAssignments} /> */}\r\n\r\n <Toolbar>\r\n <Item name=\"undo\" />\r\n <Item name=\"redo\" />\r\n <Item name=\"separator\" />\r\n <Item name=\"collapseAll\" />\r\n <Item name=\"expandAll\" />\r\n <Item name=\"separator\" />\r\n <Item name=\"addTask\" />\r\n <Item name=\"deleteTask\" />\r\n <Item name=\"separator\" />\r\n <Item name=\"zoomIn\" />\r\n <Item name=\"zoomOut\" />\r\n </Toolbar>\r\n\r\n <Column dataField=\"title\" caption=\"Subject\" width={300} />\r\n <Column dataField=\"start\" caption=\"Start Date\" />\r\n <Column dataField=\"end\" caption=\"End Date\" />\r\n\r\n <Validation autoUpdateParentTasks />\r\n <Editing enabled />\r\n </Gantt>\r\n </>\r\n );\r\n}\r\n\r\nexport default GorevlerGantt;\r\n","import { parseHtmlString } from \"../common/constant-functions/parseHtmlString\";\r\nimport {\r\n GORUSME_DURUMU,\r\n GORUSME_MAIL_OLAYLARI,\r\n YETKI_GRUBU_TIPI,\r\n} from \"../common/constants\";\r\nimport { ANALIZ_SONUCU_WIDTH, DATE_WIDTH } from \"../common/entityconstants\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"Görüşme Mail Template No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n visibleConditions: [\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n YETKI_GRUBU_TIPI.MUSTERI.Value,\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value,\r\n YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: \"mailOlayi\",\r\n label: \"Mail Olayı\",\r\n dataType: \"select\",\r\n dataField: \"mailOlayi\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(GORUSME_MAIL_OLAYLARI),\r\n },\r\n {\r\n name: \"mailKonu\",\r\n label: \"Mail Konu\",\r\n dataType: \"text\",\r\n dataField: \"mailKonu\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"mailAciklama\",\r\n label: \"Mail İçeriği\",\r\n dataType: \"text\",\r\n dataField: \"mailAciklama\",\r\n visible: [\"grid\"],\r\n customizeText: (e) => e?.value && parseHtmlString(e?.value),\r\n },\r\n {\r\n name: \"mailGidecekKisiler\",\r\n label: \"Mail Gidecek Kişiler\",\r\n dataType: \"text\",\r\n dataField: \"mailGidecekKisiler\",\r\n visible: [\"grid\"],\r\n },\r\n //filtre--------------------------------------------------------------------------------------------------\r\n];\r\n\r\nexport default entity;\r\n","import { parseHtmlString } from \"../common/constant-functions/parseHtmlString\";\r\nimport {\r\n GORUSME_DURUMU,\r\n GORUSME_MAIL_OLAYLARI,\r\n TEKLIF_MAIL_OLAYLARI,\r\n YETKI_GRUBU_TIPI,\r\n} from \"../common/constants\";\r\nimport { ANALIZ_SONUCU_WIDTH, DATE_WIDTH } from \"../common/entityconstants\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"Görüşme Mail Template No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n visibleConditions: [\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n YETKI_GRUBU_TIPI.MUSTERI.Value,\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value,\r\n YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: \"mailOlayi\",\r\n label: \"Mail Olayı\",\r\n dataType: \"select\",\r\n dataField: \"mailOlayi\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(TEKLIF_MAIL_OLAYLARI),\r\n },\r\n {\r\n name: \"mailKonu\",\r\n label: \"Mail Konu\",\r\n dataType: \"text\",\r\n dataField: \"mailKonu\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"mailAciklama\",\r\n label: \"Mail İçeriği\",\r\n dataType: \"text\",\r\n dataField: \"mailAciklama\",\r\n visible: [\"grid\"],\r\n customizeText: (e) => e?.value && parseHtmlString(e?.value),\r\n },\r\n {\r\n name: \"mailGidecekKisiler\",\r\n label: \"Mail Gidecek Kişiler\",\r\n dataType: \"text\",\r\n dataField: \"mailGidecekKisiler\",\r\n visible: [\"grid\"],\r\n },\r\n //filtre--------------------------------------------------------------------------------------------------\r\n];\r\n\r\nexport default entity;\r\n","import { parseHtmlString } from \"../common/constant-functions/parseHtmlString\";\r\nimport {\r\n GORUSME_DURUMU,\r\n GORUSME_MAIL_OLAYLARI,\r\n SOZLESME_MAIL_OLAYLARI,\r\n TEKLIF_MAIL_OLAYLARI,\r\n YETKI_GRUBU_TIPI,\r\n} from \"../common/constants\";\r\nimport { ANALIZ_SONUCU_WIDTH, DATE_WIDTH } from \"../common/entityconstants\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"Görüşme Mail Template No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n visibleConditions: [\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n YETKI_GRUBU_TIPI.MUSTERI.Value,\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value,\r\n YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: \"mailOlayi\",\r\n label: \"Mail Olayı\",\r\n dataType: \"select\",\r\n dataField: \"mailOlayi\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(SOZLESME_MAIL_OLAYLARI),\r\n },\r\n {\r\n name: \"mailKonu\",\r\n label: \"Mail Konu\",\r\n dataType: \"text\",\r\n dataField: \"mailKonu\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"mailAciklama\",\r\n label: \"Mail İçeriği\",\r\n dataType: \"text\",\r\n dataField: \"mailAciklama\",\r\n visible: [\"grid\"],\r\n customizeText: (e) => e?.value && parseHtmlString(e?.value),\r\n },\r\n {\r\n name: \"mailGidecekKisiler\",\r\n label: \"Mail Gidecek Kişiler\",\r\n dataType: \"text\",\r\n dataField: \"mailGidecekKisiler\",\r\n visible: [\"grid\"],\r\n },\r\n //filtre--------------------------------------------------------------------------------------------------\r\n];\r\n\r\nexport default entity;\r\n","import Type from \"../../entities/GorusmeMailTemplate\";\r\nimport TypeTeklif from \"../../entities/TeklifMailTemplate\";\r\nimport TypeSozlesme from \"../../entities/SozlesmeMailTemplate\";\r\n\r\nconst PageConfig = {\r\n title: \"GorusmeMailTemplate\",\r\n ekranKodu: \"GorusmeMailTemplate_Res\",\r\n type: Type,\r\n listRoute: \"GorusmeMailTemplate/List\",\r\n getByIdRoute: \"GorusmeMailTemplate/GetById\",\r\n insertRoute: \"GorusmeMailTemplate/Insert\",\r\n updateRoute: \"GorusmeMailTemplate/Update\",\r\n deleteRoute: \"GorusmeMailTemplate/Delete\",\r\n};\r\n\r\nconst PageConfigTeklif = {\r\n title: \"GorusmeMailTemplate\",\r\n ekranKodu: \"GorusmeMailTemplate_Res\",\r\n type: TypeTeklif,\r\n listRoute: \"GorusmeMailTemplate/List\",\r\n getByIdRoute: \"GorusmeMailTemplate/GetById\",\r\n insertRoute: \"GorusmeMailTemplate/Insert\",\r\n updateRoute: \"GorusmeMailTemplate/Update\",\r\n deleteRoute: \"GorusmeMailTemplate/Delete\",\r\n};\r\n\r\nconst PageConfigSozlesme = {\r\n title: \"GorusmeMailTemplate\",\r\n ekranKodu: \"GorusmeMailTemplate_Res\",\r\n type: TypeSozlesme,\r\n listRoute: \"GorusmeMailTemplate/List\",\r\n getByIdRoute: \"GorusmeMailTemplate/GetById\",\r\n insertRoute: \"GorusmeMailTemplate/Insert\",\r\n updateRoute: \"GorusmeMailTemplate/Update\",\r\n deleteRoute: \"GorusmeMailTemplate/Delete\",\r\n};\r\n\r\nexport { PageConfig, PageConfigTeklif, PageConfigSozlesme };\r\n","import { Divider, Grid, Paper, Typography } from \"@mui/material\";\r\nimport dayjs from \"dayjs\";\r\nimport React, {\r\n useContext,\r\n useEffect,\r\n useImperativeHandle,\r\n useRef,\r\n useState,\r\n} from \"react\";\r\nimport {\r\n apiUrl,\r\n EKRAN_KODU,\r\n ISIN_DURUMU_STR,\r\n ISLEM_TURU,\r\n} from \"../../common/constants\";\r\nimport { DataGrid, HtmlEditor } from \"devextreme-react\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport { printToast } from \"../../common/constant-functions/printToast\";\r\nimport { Column } from \"devextreme-react/data-grid\";\r\n\r\nconst GorusmeMailSutunlari = React.forwardRef(\r\n ({ onMailAciklamaUpdate, tipi, olayid }, ref) => {\r\n const context = useContext(AppContext);\r\n const [sutunlar, setSutunlar] = useState([]);\r\n const editorRef = useRef(null);\r\n\r\n // Burada referansı ayarlıyoruz\r\n // useImperativeHandle(ref, () => ({\r\n // setRichTextEditorRef: (newRef) => {\r\n // editorRef.current = newRef;\r\n // },\r\n // }));\r\n\r\n const handleRowDoubleClick = (e) => {\r\n onMailAciklamaUpdate(\"<p>%\" + e.data.sutunAdi + \"%</p>\");\r\n };\r\n\r\n useEffect(() => {\r\n HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${\"GorusmeMailTemplate/GorusmeSutunlariniGetir\"}`,\r\n data: {\r\n tipi: tipi,\r\n olayid: olayid\r\n },\r\n })\r\n .then((res) => {\r\n setSutunlar(res.data.data);\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n console.log(error);\r\n });\r\n }, [olayid]);\r\n\r\n return (\r\n <DataGrid\r\n dataSource={sutunlar}\r\n keyExpr=\"id\"\r\n showBorders={true}\r\n onRowDblClick={(e) => handleRowDoubleClick(e)}\r\n hoverStateEnabled={true}\r\n selection={{ mode: \"single\" }}\r\n height={700}\r\n maxHeight={700}\r\n paging={{ enabled: true, pageSize: 17 }} // Bir sayfada 10 satır göster\r\n >\r\n <Column\r\n dataField=\"tabloAdi\"\r\n caption=\"Tablo\"\r\n width={150} />\r\n <Column dataField=\"sutunAdi\" caption=\"Alan Adı\" width={150} />\r\n <Column\r\n dataField=\"sutunAciklamasi\"\r\n caption=\"Alan Açıklaması\"\r\n width={150}\r\n />\r\n </DataGrid>\r\n );\r\n }\r\n);\r\n\r\nexport default GorusmeMailSutunlari;\r\n","import React, { useEffect, useRef } from \"react\";\r\n\r\nimport HtmlEditor, {\r\n Toolbar,\r\n MediaResizing,\r\n ImageUpload,\r\n Item,\r\n} from \"devextreme-react/html-editor\";\r\nimport { Skeleton, Typography } from \"@mui/material\";\r\nimport \"../../../css/RichTextEditor.css\";\r\n\r\nconst sizeValues = [\"8pt\", \"10pt\", \"12pt\", \"14pt\", \"18pt\", \"24pt\", \"36pt\"];\r\nconst fontValues = [\r\n \"Arial\",\r\n \"Courier New\",\r\n \"Georgia\",\r\n \"Impact\",\r\n \"Lucida Console\",\r\n \"Tahoma\",\r\n \"Times New Roman\",\r\n \"Verdana\",\r\n];\r\nconst headerValues = [false, 1, 2, 3, 4, 5];\r\n\r\nfunction CustomRichTextEditorforMailTemplates({\r\n input,\r\n meta,\r\n label,\r\n height,\r\n minHeight,\r\n maxHeight,\r\n style,\r\n disardanOnChange,\r\n onChangeExtra,\r\n value,\r\n ...rest\r\n}) {\r\n const editorRef = useRef(null);\r\n useEffect(() => {\r\n if (editorRef?.current) {\r\n let element = editorRef?.current?.instance?.element();\r\n if (meta.error && meta.touched) {\r\n element.classList.add(\"final-form-error\");\r\n } else {\r\n element.classList.remove(\"final-form-error\");\r\n }\r\n }\r\n }, [meta]);\r\n\r\n useEffect(() => {\r\n if (input?.value && editorRef?.current) {\r\n editorRef?.current?.instance?.option(\"value\", input.value);\r\n }\r\n }, [input.value, editorRef.current]);\r\n\r\n useEffect(() => {\r\n if (disardanOnChange) {\r\n console.log(\"input.value\", input.value);\r\n\r\n disardanOnChange(input.value);\r\n }\r\n }, [input.value]);\r\n\r\n return rest.modalLoading ? (\r\n <Skeleton width=\"100%\" height=\"300px\"></Skeleton>\r\n ) : (\r\n <HtmlEditor\r\n //{...input}\r\n ref={editorRef}\r\n className={meta.error && meta.touched && \"final-form-error\"}\r\n // value={input.value}\r\n // value={value} // Gelen değeri ayarlıyoruz\r\n // {...(height && { height: height })}\r\n onValueChanged={(e, newVal) => {\r\n input.onChange(e.value);\r\n }}\r\n style={{\r\n minHeight: minHeight ? minHeight : \"560px\",\r\n maxHeight: maxHeight,\r\n // maxHeight: maxHeight || \"68vh\",\r\n height: height,\r\n flexBasis: \"100vh\",\r\n flexGrow: 1,\r\n ...style,\r\n }}\r\n {...rest}\r\n >\r\n <MediaResizing enabled={true} />\r\n <ImageUpload tabs={[\"file\"]} fileUploadMode=\"base64\" />\r\n <Toolbar multiline={true}>\r\n <Item>\r\n <Typography color=\"#1875d2\" variant=\"subtitle2\">\r\n {label}\r\n </Typography>\r\n </Item>\r\n <Item name=\"undo\" />\r\n <Item name=\"redo\" />\r\n {/* <Item name=\"separator\" /> */}\r\n <Item name=\"size\" acceptedValues={sizeValues} />\r\n <Item name=\"font\" acceptedValues={fontValues} />\r\n <Item name=\"header\" acceptedValues={headerValues} />\r\n {/* <Item name=\"separator\" /> */}\r\n <Item name=\"bold\" />\r\n <Item name=\"italic\" />\r\n <Item name=\"strike\" />\r\n <Item name=\"underline\" />\r\n <Item name=\"separator\" />\r\n <Item name=\"alignLeft\" />\r\n <Item name=\"alignCenter\" />\r\n <Item name=\"alignRight\" />\r\n <Item name=\"alignJustify\" />\r\n <Item name=\"separator\" />\r\n <Item name=\"orderedList\" />\r\n <Item name=\"bulletList\" />\r\n <Item name=\"separator\" />\r\n <Item name=\"color\" />\r\n <Item name=\"background\" />\r\n <Item name=\"separator\" />\r\n <Item name=\"link\" />\r\n <Item name=\"image\" />\r\n <Item name=\"separator\" />\r\n <Item name=\"clear\" />\r\n <Item name=\"codeBlock\" />\r\n <Item name=\"blockquote\" />\r\n <Item name=\"separator\" />\r\n <Item name=\"insertTable\" />\r\n <Item name=\"deleteTable\" />\r\n <Item name=\"insertRowAbove\" />\r\n <Item name=\"insertRowBelow\" />\r\n <Item name=\"deleteRow\" />\r\n <Item name=\"insertColumnLeft\" />\r\n <Item name=\"insertColumnRight\" />\r\n <Item name=\"deleteColumn\" />\r\n </Toolbar>\r\n </HtmlEditor>\r\n );\r\n}\r\n\r\nexport default CustomRichTextEditorforMailTemplates;\r\n","import React, { useRef, useState } from \"react\";\r\nimport { Stack } from \"@mui/material\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport * as yup from \"yup\";\r\nimport RecordButton from \"../../components/buttons/custom/RecordButton\";\r\nimport usePageRecord from \"../../hooks/use-page-record\";\r\nimport { PageConfig } from \"./GorusmeMailTemplateConfig\";\r\nimport MultilineTextInputForm from \"../../components/inputs/form-inputs/MultilineTextInputForm\";\r\nimport AutocomplateInputForm from \"../../components/inputs/form-inputs/AutocomplateInputForm\";\r\nimport {\r\n GORUSME_DURUMU,\r\n GORUSME_MAIL_OLAYLARI,\r\n SOZLESME_MAIL_OLAYLARI,\r\n TEKLIF_MAIL_OLAYLARI,\r\n} from \"../../common/constants\";\r\nimport RichTextEditor from \"../../components/inputs/form-inputs/RichTextEditor\";\r\nimport GorusmeMailSutunlari from \"./GorusmeMailSutunlari\";\r\nimport CustomRichTextEditorforMailTemplates from \"../../components/inputs/form-inputs/CustomRichTextEditorforMailTemplates\";\r\n\r\nconst CustomFieldWrapper = ({ label, modalLoading, children }) => {\r\n return (\r\n <FieldWrapper\r\n label={label}\r\n modalLoading={modalLoading}\r\n width={\"75%\"}\r\n textWidth={\"25%\"}\r\n >\r\n {children}\r\n </FieldWrapper>\r\n );\r\n};\r\n\r\nconst GorusmeMailTemplateRecord = React.forwardRef(\r\n ({ ekranKodu, listGridRef, tipi }, ref) => {\r\n const afterSubmitFnc = () => {\r\n handleClose();\r\n };\r\n\r\n const gorusmeMailOlayiInputRef = useRef();\r\n const teklifMailOlayiInputRef = useRef();\r\n const sozlesmeMailOlayiInputRef = useRef();\r\n\r\n const initialState = { tipi: tipi };\r\n\r\n\r\n const [mailAciklamaValue, setMailAciklamaValue] = useState(\"\"); // Yeni state\r\n\r\n const {\r\n rowData,\r\n open,\r\n handleClose,\r\n modalLoading,\r\n handleSubmit,\r\n handleDelete,\r\n validateFormValues,\r\n yetki,\r\n } = usePageRecord(\r\n ref,\r\n PageConfig,\r\n listGridRef,\r\n ekranKodu,\r\n initialState,\r\n afterSubmitFnc\r\n );\r\n\r\n console.log(rowData, \"rowData\");\r\n\r\n\r\n const validationSchema = yup.object().shape({\r\n // aciklama: yup.string().required(),\r\n });\r\n\r\n\r\n\r\n const [tempValues, setTempValues] = useState(\"\"); // Seçilen değerleri saklamak için state\r\n\r\n const handleMailAciklamaUpdate = (value) => {\r\n var newMailAciklama = \"\";\r\n const currentMailAciklama = `${rowData.mailAciklama} ${tempValues}` || \"\";\r\n if (tempValues == \"\") {\r\n newMailAciklama = `${currentMailAciklama} ${value}`; // Yeni değeri oluştur\r\n } else {\r\n newMailAciklama = `${tempValues} ${value}`; // Yeni değeri oluştur\r\n }\r\n\r\n setTempValues(newMailAciklama);\r\n setMailAciklamaValue(newMailAciklama);\r\n };\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={handleClose}\r\n modalTitle={\r\n tipi === 1\r\n ? \"Görüşme Mail Taslağı Oluşturma\"\r\n : tipi === 2\r\n ? \"Teklif Mail Taslağı Oluşturma\"\r\n : tipi === 3\r\n ? \"Sözleşme Mail Taslağı Oluşturma\"\r\n : \"\"\r\n }\r\n maxWidth=\"lg\"\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={rowData}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <form onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <Stack direction=\"row\" spacing={2}>\r\n <Stack direction=\"column\" spacing={1} sx={{ width: \"45%\" }}>\r\n <GorusmeMailSutunlari\r\n onMailAciklamaUpdate={handleMailAciklamaUpdate}\r\n tipi={tipi}\r\n // olayid={ tipi = 1 ? gorusmeMailOlayiInputRef?.current?.value : tipi = 2 ? teklifMailOlayiInputRef?.current?.value : rowData?.mailOlayi}\r\n olayid={rowData.mailOlayi ?? gorusmeMailOlayiInputRef?.current?.value}\r\n ></GorusmeMailSutunlari>\r\n </Stack>\r\n\r\n <Stack direction=\"column\" spacing={1} sx={{ width: \"60%\" }}>\r\n {tipi === 1 ? (\r\n <CustomFieldWrapper\r\n label=\"Mail Olayı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n items={Object.values(GORUSME_MAIL_OLAYLARI)}\r\n rowData={rowData}\r\n name=\"mailOlayi\"\r\n component={AutocomplateInputForm}\r\n ref={gorusmeMailOlayiInputRef}\r\n />\r\n </CustomFieldWrapper>\r\n ) : tipi === 2 ? (\r\n <CustomFieldWrapper\r\n label=\"Mail Olayı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n items={Object.values(TEKLIF_MAIL_OLAYLARI)}\r\n rowData={rowData}\r\n name=\"mailOlayi\"\r\n component={AutocomplateInputForm}\r\n ref={teklifMailOlayiInputRef}\r\n />\r\n </CustomFieldWrapper>\r\n ) : tipi === 3 ? (<CustomFieldWrapper\r\n label=\"Mail Olayı\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n items={Object.values(SOZLESME_MAIL_OLAYLARI)}\r\n rowData={rowData}\r\n name=\"mailOlayi\"\r\n component={AutocomplateInputForm}\r\n ref={sozlesmeMailOlayiInputRef}\r\n />\r\n </CustomFieldWrapper>) : null}\r\n {tipi === 3 ? (<CustomFieldWrapper\r\n label=\"Gün Değeri\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"gunDegeri\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n numberInput={true}\r\n\r\n />\r\n </CustomFieldWrapper>) : (null)}\r\n {(gorusmeMailOlayiInputRef?.current?.value !==\r\n GORUSME_MAIL_OLAYLARI.GORUSME_HATIRLATMA.Value &&\r\n rowData.mailOlayi !==\r\n GORUSME_MAIL_OLAYLARI.GORUSME_HATIRLATMA.Value) && (<>\r\n <CustomFieldWrapper\r\n label=\"Mail Gönderilecek Kişiler\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"mailGidecekKisiler\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n </>)}\r\n\r\n <CustomFieldWrapper\r\n label=\"Mail Konusu\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"mailKonu\"\r\n component={TextInputForm}\r\n readOnly={!yetki.kaydet}\r\n />\r\n </CustomFieldWrapper>\r\n <CustomFieldWrapper\r\n label=\"Mail İçeriği\"\r\n modalLoading={modalLoading}\r\n >\r\n <Field\r\n name=\"mailAciklama\"\r\n component={CustomRichTextEditorforMailTemplates}\r\n readOnly={!yetki.kaydet}\r\n minRows={5}\r\n initialValue={mailAciklamaValue}\r\n onChange={(newVal) => setMailAciklamaValue(newVal)}\r\n />\r\n </CustomFieldWrapper>\r\n </Stack>\r\n </Stack>\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n <RecordButton\r\n yetki={yetki}\r\n form={form}\r\n handleDelete={handleDelete}\r\n submitting={submitting}\r\n pristine={pristine}\r\n modalLoading={modalLoading}\r\n />\r\n </DialogActionsWrapper>\r\n {/* </FormComponent> */}\r\n </form>\r\n )}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n }\r\n);\r\nexport default GorusmeMailTemplateRecord;\r\n","import { useRef } from \"react\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\nimport { PageConfig, PageConfigTeklif, PageConfigSozlesme } from \"./GorusmeMailTemplateConfig\";\r\nimport PageFilter from \"../../components/filter/PageFilter\";\r\nimport GorusmeMailTemplateRecord from \"./GorusmeMailTemplateRecord\";\r\n\r\nexport default function GorusmeMailTemplate({ ekranKodu, listGridRef, tipi }) {\r\n const filterRef = useRef();\r\n const recordRef = useRef();\r\n\r\n return (\r\n <>\r\n <PageFilter\r\n PageConfig={PageConfig}\r\n ref={filterRef}\r\n listGridRef={listGridRef}\r\n />\r\n <PageGrid\r\n gridId=\"GorusmeMailTemplateGrid\"\r\n PageConfig={\r\n tipi === 1 ? PageConfig : tipi === 2 ? PageConfigTeklif : tipi === 3 ? PageConfigSozlesme : null\r\n }\r\n listGridRef={listGridRef}\r\n // filterRef={filterRef}\r\n reqData={{ tipi: tipi }}\r\n recordRef={recordRef}\r\n isCreatable={true}\r\n ekranKodu={ekranKodu}\r\n // CustomColumnButton={CustomColumnButton}\r\n // height={\"45vh\"}\r\n // allowSingleSelection={true}\r\n // onSelectionChanged={onSelectionChanged}\r\n editBtnVisible={true}\r\n />\r\n <GorusmeMailTemplateRecord\r\n ref={recordRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n tipi={tipi}\r\n ></GorusmeMailTemplateRecord>\r\n </>\r\n );\r\n}\r\n","import React, { useRef } from \"react\";\r\nimport MainTab from \"../../components/tab/MainTab\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport GorusmeMailTemplate from \"./GorusmeMailTemplate\";\r\n\r\nexport default function MailOlaylariDuzenle({ ekranKodu }) {\r\n const context = React.useContext(AppContext);\r\n const listGridRef = useRef();\r\n // console.log(context.user.bayiKullanicisi, \"context.user.bayiKullanicisi\");\r\n\r\n return (\r\n <>\r\n <MainTab labels={[\"Görüşmeler\", \"Teklifler\", \"Sözleşme\"]}>\r\n <GorusmeMailTemplate\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n tipi={1}\r\n ></GorusmeMailTemplate>\r\n <GorusmeMailTemplate\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n tipi={2}\r\n ></GorusmeMailTemplate>\r\n <GorusmeMailTemplate\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n tipi={3}\r\n ></GorusmeMailTemplate>\r\n </MainTab>\r\n </>\r\n );\r\n}\r\n","\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2m0 4-8 5-8-5V6l8 5 8-5z\"\n}), 'Email');","import Type from \"../../entities/GorevDurumuRaporu\";\r\n\r\nconst PageConfig = {\r\n title: \"Görev Durumu Raporu\",\r\n ekranKodu: \"GorevDurumuRaporu_Res\",\r\n type: Type,\r\n listRoute: \"Rapor/GorevDurumuRaporuList\",\r\n};\r\n\r\nexport default PageConfig;\r\n","import { parseHtmlString } from \"../common/constant-functions/parseHtmlString\";\r\nimport { GOREV_DURUMU_FOR_GOREV_DURUMU_RAPORU } from \"../common/constants\";\r\nimport { ID_WIDTH } from \"../common/entityconstants\";\r\nimport ScrollableCell from \"../components/grid/ScrollableCell\";\r\nimport SirketInputForm from \"../components/inputs/custom-form-inputs/SirketInputForm\";\r\n\r\nconst entity = [\r\n {\r\n name: \"kisiidStr\",\r\n label: \"Kullanıcı\",\r\n dataType: \"text\",\r\n dataField: \"kisiidStr\",\r\n visible: [\"grid\"],\r\n gruplanacak: true,\r\n },\r\n // {\r\n // name: \"id\",\r\n // label: \"Talep Noxx\",\r\n // dataType: \"number\",\r\n // dataField: \"id\",\r\n // visible: [\"grid\"],\r\n // isPrimaryKey: true,\r\n // width: ID_WIDTH,\r\n // },\r\n {\r\n name: \"talepNo\",\r\n label: \"Talep No\",\r\n dataType: \"number\",\r\n dataField: \"talepNo\",\r\n visible: [\"grid\"],\r\n // isPrimaryKey: true,\r\n // width: ID_WIDTH,\r\n },\r\n {\r\n name: \"analizSonucu\",\r\n label: \"Talep Açıklama\",\r\n dataType: \"text\",\r\n dataField: \"analizSonucu\",\r\n visible: [\"grid\"],\r\n cellRender: (e) => e?.value && ScrollableCell(parseHtmlString(e?.value)),\r\n // cellRender: (e) => e?.value && parseHtmlString(e?.value),\r\n width: \"300px\",\r\n },\r\n {\r\n name: \"talepEdenFirmaidStr\",\r\n label: \"Talep Eden Firma\",\r\n dataType: \"text\",\r\n dataField: \"talepEdenFirmaidStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"gorevDurumuStr\",\r\n label: \"Görev Durumu\",\r\n dataType: \"text\",\r\n dataField: \"gorevDurumuStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"ilkYonlendirmeTarihi\",\r\n label: \"İlk Yönlendirme Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"ilkYonlendirmeTarihi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"atananBaslangicTarihi\",\r\n label: \"Atanan Başlangıç Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"atananBaslangicTarihi\",\r\n visible: [\"grid\"],\r\n firstSort: \"asc\",\r\n },\r\n {\r\n name: \"fiiliBaslangicTarihi\",\r\n label: \"Fiili Başlangıç Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"fiiliBaslangicTarihi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"atananTerminTarihi\",\r\n label: \"Atanan Termin Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"atananTerminTarihi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"atananSure\",\r\n label: \"Atanan Süre\",\r\n dataType: \"number\",\r\n dataField: \"atananSure\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"tahminiTerminTarihi\",\r\n label: \"Tahmini Termin Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"tahminiTerminTarihi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"tahminiSure\",\r\n label: \"Tahmini Süre\",\r\n dataType: \"number\",\r\n dataField: \"tahminiSure\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"toplamHarcananSure\",\r\n label: \"Harcanan Toplam Süre\",\r\n dataType: \"number\",\r\n dataField: \"toplamHarcananSure\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"yonlendirmeSayisi\",\r\n label: \"Yönlendirme Sayısı\",\r\n dataType: \"number\",\r\n dataField: \"yonlendirmeSayisi\",\r\n visible: [\"grid\"],\r\n },\r\n\r\n // {\r\n // name: \"kisiid\",\r\n // label: \"Kullanıcıx\",\r\n // dataType: \"number\",\r\n // dataField: \"kisiid\",\r\n // visible: [\"grid\"],\r\n // gruplanacak: true,\r\n // },\r\n\r\n //todo\r\n //filtre--------------------------------------------------------------------------------------------------\r\n {\r\n name: \"gorevDurumu\",\r\n label: \"Görev Durumu\",\r\n dataType: \"select\",\r\n dataField: \"gorevDurumu\",\r\n visible: [\"filter\"],\r\n items: Object.values(GOREV_DURUMU_FOR_GOREV_DURUMU_RAPORU),\r\n defaultValue: GOREV_DURUMU_FOR_GOREV_DURUMU_RAPORU.DEVAM_EDIYOR.Value,\r\n },\r\n {\r\n name: \"firma\",\r\n label: \"Firma\",\r\n dataType: \"custom\",\r\n dataField: \"firma\",\r\n visible: [\"filter\"],\r\n customComponent: SirketInputForm,\r\n // customComponentParams: {},\r\n // gizlenecekYetkiGrubuTipi: [YETKI_GRUBU_TIPI.MUSTERI.Value],\r\n },\r\n {\r\n name: \"atananTerminTarihi1\",\r\n label: \"Atanan Termin Tarihi 1\",\r\n dataType: \"date\",\r\n dataField: \"atananTerminTarihi1\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"atananTerminTarihi2\",\r\n label: \"Atanan Termin Tarihi 2\",\r\n dataType: \"date\",\r\n dataField: \"atananTerminTarihi2\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"tarih2\",\r\n label: \"Bitiş Tarihi 2\",\r\n dataType: \"date\",\r\n dataField: \"tarih2\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"talepDetayi\",\r\n label: \"Talep Detayı\",\r\n dataType: \"text\",\r\n dataField: \"talepDetayi\",\r\n visible: [\"filter\"],\r\n },\r\n];\r\n\r\nexport default entity;\r\n","import React, { useContext } from \"react\";\r\nimport DataGrid, {\r\n Column,\r\n Button,\r\n Lookup,\r\n Scrolling,\r\n Paging,\r\n Pager,\r\n Selection,\r\n Export,\r\n StateStoring,\r\n Grouping,\r\n GroupPanel,\r\n RemoteOperations,\r\n SearchPanel,\r\n} from \"devextreme-react/data-grid\";\r\nimport CustomStore from \"devextreme/data/custom_store\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport {\r\n apiUrl,\r\n APP_BAR_HEIGHT,\r\n FILTER_HEIGHT,\r\n PLAN_DURUM,\r\n TAB_HEIGHT,\r\n YETKI_GRUBU_TIPI,\r\n} from \"../../common/constants\";\r\nimport { findPrimaryKey } from \"../../common/constant-functions/findPrimaryKey\";\r\nimport { Grid, Paper } from \"@mui/material\";\r\nimport { Add } from \"@mui/icons-material\";\r\nimport \"../../css/PageGrid.css\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport { printToast } from \"../../common/constant-functions/printToast\";\r\nimport ExportButton from \"../buttons/ExportButton\";\r\nimport { Stack } from \"@mui/system\";\r\nimport getTeklifGoruntule from \"../../common/constant-functions/getTeklifGoruntule\";\r\nimport GridClearButton from \"../buttons/custom/GridClearButton\";\r\nimport useGridState from \"../../hooks/use-grid-state\";\r\nimport SmallButton from \"../buttons/SmallButton\";\r\nimport { ctheme } from \"../../theme/theme\";\r\nimport \"../../css/custom-checkbox.css\";\r\n\r\nexport default function GroupGrid({\r\n PageConfig,\r\n listGridRef,\r\n filterRef,\r\n recordRef,\r\n isCreatable = true,\r\n ekranKodu,\r\n allowSingleSelection,\r\n onSelectionChanged,\r\n height,\r\n ekleBtnDisabled = false,\r\n columnBtnVisible = true,\r\n editBtnVisible = true,\r\n detayRecordRef,\r\n CustomGridHeaderButton,\r\n CustomColumnButton = [],\r\n hasTab = false,\r\n reqData = {},\r\n exportButtonVisible = true,\r\n gridId,\r\n gridClearButtonVisible = true,\r\n onRowPreparedExtra,\r\n groupPanelVisible,\r\n groupAutoExpandAll,\r\n onCellPreparedExtra,\r\n}) {\r\n const id = gridId + \"_GroupGrid\";\r\n const context = useContext(AppContext);\r\n\r\n const { saveState, loadState } = useGridState(\r\n PageConfig.type,\r\n listGridRef,\r\n id\r\n );\r\n\r\n const store = new CustomStore({\r\n key: findPrimaryKey(PageConfig.type),\r\n load(loadOptions) {\r\n let gridSort;\r\n if (loadOptions.sort) {\r\n gridSort = loadOptions.sort.map((i) => {\r\n let entity = PageConfig.type.find((x) => x.name == i.selector);\r\n return {\r\n propertyName: i.selector,\r\n order: i.desc ? \"desc\" : \"asc\",\r\n nullsLast: entity?.nullsLast,\r\n };\r\n });\r\n }\r\n return HttpAuthorized.request({\r\n method: \"POST\",\r\n url: `${apiUrl}${PageConfig.listRoute}`,\r\n data: {\r\n Criteria: filterRef?.current?.filterData ?? { ...reqData },\r\n GridCriterias: {\r\n sortModel: loadOptions.sort ? gridSort : null,\r\n filterModel: [],\r\n },\r\n Pagination: loadOptions.isLoadingAll\r\n ? {\r\n rowOffset: 0,\r\n maxRowsPerPage: listGridRef.current.instance.totalCount(),\r\n }\r\n : {\r\n rowOffset: loadOptions.skip,\r\n maxRowsPerPage: loadOptions.take,\r\n },\r\n },\r\n })\r\n .then((res) => {\r\n printToast(res.data);\r\n\r\n return {\r\n data: res.data.data.list,\r\n totalCount: res.data.data.pagination.totalRowCount,\r\n };\r\n })\r\n .catch((error) => {\r\n printToast(error.response.data);\r\n return {\r\n data: [],\r\n totalCount: 0,\r\n };\r\n });\r\n },\r\n });\r\n\r\n // const externalColumnButton = (e) => {\r\n // return (\r\n // <>\r\n // <GridClearButton gridRef={listGridRef}></GridClearButton>\r\n // </>\r\n // );\r\n // };\r\n\r\n // const onRowPrepared = (e) => {\r\n // if (e.rowType === \"data\" && gridId === \"Toplanti\") {\r\n // const durumValue = e.data[\"durum\"];\r\n // if (durumValue === PLAN_DURUM.GERCEKLESTI.Value) {\r\n // e.rowElement.style.backgroundColor = ctheme.colors.frostedPlains;\r\n // } else if (durumValue === PLAN_DURUM.IPTAL_EDILDI.Value) {\r\n // e.rowElement.style.backgroundColor = ctheme.colors.lightOrange;\r\n // }\r\n // }\r\n // };\r\n\r\n return (\r\n <Paper\r\n sx={{\r\n backgroundColor: \"transparent\",\r\n }}\r\n >\r\n <Stack\r\n direction=\"row\"\r\n sx={{\r\n mb: \"3px\",\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n alignItems: \"center\",\r\n }}\r\n spacing={1}\r\n >\r\n <Grid>\r\n {isCreatable &&\r\n context?.user?.yetkiler.find((x) => x.ekranKodu === ekranKodu)\r\n ?.kaydet && (\r\n <SmallButton\r\n startIcon={<Add />}\r\n onClick={() => {\r\n recordRef?.current?.openRecord(null);\r\n }}\r\n disabled={ekleBtnDisabled}\r\n >\r\n Ekle\r\n </SmallButton>\r\n )}\r\n {exportButtonVisible && (\r\n <ExportButton\r\n pageConfig={PageConfig}\r\n gridRef={listGridRef}\r\n ></ExportButton>\r\n )}\r\n {CustomGridHeaderButton && (\r\n <CustomGridHeaderButton></CustomGridHeaderButton>\r\n )}\r\n </Grid>\r\n {gridClearButtonVisible && (\r\n <Grid>\r\n <GridClearButton gridRef={listGridRef}></GridClearButton>\r\n </Grid>\r\n )}\r\n </Stack>\r\n\r\n <Grid variant=\"outlined\">\r\n <DataGrid\r\n id={id}\r\n height={\r\n height\r\n ? height\r\n : hasTab\r\n ? `calc(100vh - ${APP_BAR_HEIGHT} - ${FILTER_HEIGHT} - ${TAB_HEIGHT}`\r\n : `calc(100vh - ${APP_BAR_HEIGHT} - ${FILTER_HEIGHT} )`\r\n }\r\n dataSource={store}\r\n showBorders={true}\r\n allowColumnReordering={true}\r\n allowColumnResizing={true}\r\n // showRowLines={true}\r\n columnAutoWidth={true}\r\n remoteOperations={false}\r\n ref={listGridRef}\r\n {...(onSelectionChanged\r\n ? { onSelectionChanged: onSelectionChanged }\r\n : {})}\r\n toolbar={{\r\n items: [\r\n // { widget: 'dxButton', location: 'after', options: { icon: 'refresh' } },\r\n ],\r\n }}\r\n onRowPrepared={onRowPreparedExtra ? onRowPreparedExtra : null}\r\n // remoteGrouping={false}\r\n onCellPrepared={(e) => {\r\n // Gruplama satırlarına stil uygulama\r\n if (e.rowType === \"group\") {\r\n e.cellElement.style.color = \"#6060ff\"; // Yazı rengini mavi yap\r\n e.cellElement.style.fontWeight = \"bold\"; // Yazıyı kalın yap\r\n }\r\n\r\n if (onCellPreparedExtra) {\r\n onCellPreparedExtra(e);\r\n }\r\n }}\r\n >\r\n <GroupPanel visible={true} />\r\n <SearchPanel visible={true} />\r\n <Grouping\r\n autoExpandAll={true}\r\n allowRemoteGrouping={false}\r\n allowCollapsing={true}\r\n />\r\n <Paging enabled={false} />\r\n <Scrolling mode=\"virtual\" />\r\n {/* <Scrolling columnRenderingMode=\"virtual\" /> */}\r\n {/* <StateStoring\r\n enabled={true}\r\n type=\"custom\"\r\n storageKey={id}\r\n customLoad={loadState}\r\n customSave={saveState}\r\n /> */}\r\n {/* <RemoteOperations groupPaging={false} grouping={false} />\r\n <Grouping autoExpandAll={false} />\r\n <GroupPanel visible={true} /> \r\n <Export enabled={true} />\r\n {allowSingleSelection && <Selection mode={\"single\"} />}\r\n <Scrolling columnRenderingMode=\"virtual\" />\r\n <StateStoring\r\n enabled={true}\r\n type=\"custom\"\r\n storageKey={id}\r\n customLoad={loadState}\r\n customSave={saveState}\r\n /> */}\r\n {PageConfig.type\r\n .filter((type) => {\r\n let gridVisible = type.visible?.includes(\"grid\");\r\n if (gridVisible) {\r\n if (type.visibleConditions) {\r\n let innerVisible = true;\r\n for (let i = 0; i < type.visibleConditions?.length; i++) {\r\n if (type.visibleConditions[i].isTeklifGoruntule) {\r\n innerVisible = getTeklifGoruntule(\r\n ekranKodu,\r\n context.user.yetkiler\r\n );\r\n if (!innerVisible) break;\r\n }\r\n\r\n if (type.visibleConditions[i].isHarmonyAdmin) {\r\n innerVisible =\r\n context.user.yetkiGrubuTipi ===\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value;\r\n if (!innerVisible) break;\r\n }\r\n if (type.visibleConditions[i].gizlenecekYetkiGrubuTipi) {\r\n if (\r\n Array.isArray(\r\n type.visibleConditions[i].gizlenecekYetkiGrubuTipi\r\n )\r\n ) {\r\n innerVisible = !type.visibleConditions[\r\n i\r\n ].gizlenecekYetkiGrubuTipi.includes(\r\n context.user.yetkiGrubuTipi\r\n );\r\n } else {\r\n innerVisible =\r\n context.user.yetkiGrubuTipi !==\r\n type.visibleConditions[i].gizlenecekYetkiGrubuTipi;\r\n }\r\n if (!innerVisible) break;\r\n }\r\n }\r\n\r\n return innerVisible;\r\n } else {\r\n return true;\r\n }\r\n } else return false;\r\n })\r\n .map((i, index) => {\r\n return (\r\n <Column\r\n key={i.name}\r\n id={i.name + \"1\"}\r\n dataType={i.dataType}\r\n caption={i.label}\r\n dataField={i.dataField}\r\n name={i.name}\r\n visibleIndex={index}\r\n alignment={\r\n i.alignment\r\n ? i.alignment\r\n : i.dataType === \"number\"\r\n ? \"right\"\r\n : i.dataType === \"boolean\"\r\n ? \"center\"\r\n : \"left\"\r\n }\r\n defaultSortOrder={i.firstSort ? i.firstSort : null}\r\n width={i.width ? i.width : null}\r\n minWidth={i.minWidth ? i.minWidth : 100}\r\n maxWidth={i.maxWidth ? i.maxWidth : 100}\r\n format={i.format ? i.format : null}\r\n visible={i.pageGridHidden ? false : true}\r\n {...(i.calculateSortValue && {\r\n calculateSortValue: i.calculateSortValue,\r\n })}\r\n groupIndex={i.gruplanacak ? 0 : null}\r\n {...(i.defaultSortIndex && {\r\n defaultSortIndex: i.defaultSortIndex,\r\n })}\r\n {...(i.sortingMethod && {\r\n sortingMethod: i.sortingMethod,\r\n })}\r\n {...(i.cellRender && { cellRender: i.cellRender })}\r\n {...(i.customizeText && { customizeText: i.customizeText })} //todo excel e aktarırken muinin bileşenleri aktarılmadığı için cell render kullanılan fieldlara bu alanın da eklenmesi gerekir\r\n allowExporting={i.allowExporting ?? true}\r\n allowSorting={i.allowSorting ?? true}\r\n {...(i.cellTemplate && { cellTemplate: i.cellTemplate })}\r\n >\r\n {i.dataType === \"select\" ? (\r\n <Lookup\r\n key={i.dataField + \"_lookup\"}\r\n dataSource={i.selectItems}\r\n displayExpr=\"Text\"\r\n valueExpr=\"Value\"\r\n ></Lookup>\r\n ) : i.dataType === \"button\" ? (\r\n <></>\r\n ) : null}\r\n </Column>\r\n );\r\n })}\r\n <Column\r\n type=\"buttons\"\r\n visibleIndex={0}\r\n // fixed={true}\r\n // fixedPosition={0}\r\n alignment={\"center\"}\r\n visible={columnBtnVisible}\r\n // headerCellRender={(e) => {\r\n // return externalColumnButton(e);\r\n // }}\r\n >\r\n {/* <Button\r\n hint={\"Düzenle\"}\r\n icon={\"edit\"}\r\n onClick={(e) => {\r\n detayRecordRef\r\n ? detayRecordRef?.current?.openRecord(e.row.key)\r\n : recordRef?.current?.openRecord(e.row.key);\r\n }}\r\n visible={editBtnVisible}\r\n key={`edit-button-Duzenle`}\r\n ></Button> */}\r\n {CustomColumnButton}\r\n </Column>\r\n {/* <Paging defaultPageSize={12} /> */}\r\n {/* <Pager\r\n visible={true}\r\n showPageSizeSelector={true}\r\n showInfo={true}\r\n allowedPageSizes={[15, 25, 50]}\r\n displayMode=\"full\"\r\n /> */}\r\n </DataGrid>\r\n </Grid>\r\n </Paper>\r\n );\r\n}\r\n","import { useRef } from \"react\";\r\nimport PageFilter from \"../../components/filter/PageFilter\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\nimport PageConfig from \"./GorevDurumuRaporuConfig\";\r\nimport IsSonucuDialog from \"../Home/IsSonucuDialog\";\r\nimport GridIsSonucuButton from \"../../components/buttons/custom/GridIsSonucuButton\";\r\nimport GroupGrid from \"../../components/grid/GroupGrid\";\r\nimport AnalizSonucuDialog from \"../Home/AnalizSonucuDialog\";\r\nimport { Button } from \"devextreme-react/data-grid\";\r\n\r\nexport default function GorevDurumuRaporu({ ekranKodu }) {\r\n const listGridRef = useRef();\r\n const filterRef = useRef();\r\n const analizSonucuDialogRef = useRef();\r\n\r\n const CustomColumnButton = [\r\n <Button\r\n key=\"analizSonucu\"\r\n hint={\"Analiz Sonucu\"}\r\n icon={\"textdocument\"}\r\n onClick={async (e) => {\r\n analizSonucuDialogRef?.current?.openRecord(e?.row?.data?.talepNo);\r\n }}\r\n />,\r\n ];\r\n\r\n const onRowPreparedExtra = (e) => {\r\n // if (e.rowType === \"data\" && e.data.renk === \"K\") {\r\n // e.rowElement.style.color = \"#d41022\"; // Yeşil renk\r\n // } else\r\n if (e.rowType === \"data\" && e.data.renk === \"S\") {\r\n e.rowElement.style.color = \"#c4c908\"; // Sarı renk\r\n }\r\n };\r\n\r\n const onCellPreparedExtra = (e) => {\r\n if (\r\n e.rowType === \"data\" &&\r\n e.column.dataField === \"atananTerminTarihi\" &&\r\n e.data.renk === \"K\"\r\n ) {\r\n e.cellElement.style.color = \"red\";\r\n // e.rowElement.style.color = \"#d41022\"; // Yeşil renk\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <PageFilter\r\n PageConfig={PageConfig}\r\n ref={filterRef}\r\n listGridRef={listGridRef}\r\n />\r\n\r\n <GroupGrid\r\n gridId=\"Görev_Durumu_Raporu\"\r\n PageConfig={PageConfig}\r\n listGridRef={listGridRef}\r\n filterRef={filterRef}\r\n ekranKodu={ekranKodu}\r\n isCreatable={false}\r\n CustomColumnButton={CustomColumnButton}\r\n editBtnVisible={false}\r\n groupAutoExpandAll={false}\r\n groupPanelVisible={false}\r\n onRowPreparedExtra={onRowPreparedExtra}\r\n onCellPreparedExtra={onCellPreparedExtra}\r\n />\r\n <AnalizSonucuDialog\r\n ref={analizSonucuDialogRef}\r\n ekranKodu={ekranKodu}\r\n isEditable={false}\r\n buttonVisible={true}\r\n listGridRef={listGridRef}\r\n ></AnalizSonucuDialog>\r\n {/* <IsSonucuDialog\r\n ref={isSonucuDialogRef}\r\n isEditable={false}\r\n ></IsSonucuDialog> */}\r\n </>\r\n );\r\n}\r\n","import {\r\n DATE_FORMAT,\r\n GORUSME_ALINACAK_AKSIYON,\r\n GORUSME_DURUMU,\r\n GORUSME_TIPI,\r\n YETKI_GRUBU_TIPI,\r\n} from \"../common/constants\";\r\nimport { DATE_WIDTH, ID_WIDTH } from \"../common/entityconstants\";\r\nimport dayjs from \"dayjs\";\r\nimport PotansiyelMusteriInputForm from \"../components/inputs/custom-form-inputs/PotansiyelMusteriInputForm\";\r\nimport BayilerInputForm from \"../components/inputs/custom-form-inputs/BayilerInputForm\";\r\nimport CheckboxForm from \"../components/inputs/form-inputs/CheckboxForm\";\r\n\r\nconst entity = [\r\n {\r\n name: \"id\",\r\n label: \"Görüşme No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"grid\"],\r\n isPrimaryKey: true,\r\n width: ID_WIDTH,\r\n },\r\n // {\r\n // name: \"baslangicTarihi\",\r\n // label: \"Görüşme Tarihi\",\r\n // dataType: \"date\",\r\n // dataField: \"baslangicTarihi\",\r\n // visible: [\"grid\"],\r\n // format: DATE_FORMAT,\r\n // width: DATE_WIDTH,\r\n // },\r\n {\r\n name: \"sonGorusmeTarihi\",\r\n label: \"Son Görüşme Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"sonGorusmeTarihi\",\r\n visible: [\"grid\"],\r\n format: DATE_FORMAT,\r\n width: DATE_WIDTH,\r\n },\r\n {\r\n name: \"potFirmaidStr\",\r\n label: \"Potansiyel Adı\",\r\n dataType: \"text\",\r\n dataField: \"potFirmaidStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"atayanKullaniciidStr\",\r\n label: \"Görüşmeyi Atayan\",\r\n dataType: \"text\",\r\n dataField: \"atayanKullaniciidStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"atamaTarihi\",\r\n label: \"Atama Tarihi\",\r\n dataType: \"datetime\",\r\n dataField: \"atamaTarihi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"durum\",\r\n label: \"Görüşme Durumu\",\r\n dataType: \"select\",\r\n dataField: \"durum\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(GORUSME_DURUMU),\r\n },\r\n {\r\n name: \"tipi\",\r\n label: \"Görüşme Tipi\",\r\n dataType: \"select\",\r\n dataField: \"tipi\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(GORUSME_TIPI),\r\n },\r\n {\r\n name: \"alinacakAksiyon\",\r\n label: \"Alınacak Aksiyon\",\r\n dataType: \"select\",\r\n dataField: \"alinacakAksiyon\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(GORUSME_ALINACAK_AKSIYON),\r\n },\r\n {\r\n name: \"aksiyonGerceklesti\",\r\n label: \"Aksiyon Gerçekleşti\",\r\n dataType: \"boolean\",\r\n dataField: \"aksiyonGerceklesti\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"sonGorusmeAciklamasi\",\r\n label: \"Son Görüşme Açıklaması\",\r\n dataType: \"text\",\r\n dataField: \"sonGorusmeAciklamasi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"teklifid\",\r\n label: \"Teklif No\",\r\n dataType: \"text\",\r\n dataField: \"teklifid\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"kayitEdenStr\",\r\n label: \"Kayıt Eden\",\r\n dataType: \"text\",\r\n dataField: \"kayitEdenStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"kayitTarihi\",\r\n label: \"Kayıt Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"kayitTarihi\",\r\n visible: [\"grid\"],\r\n format: DATE_FORMAT,\r\n width: DATE_WIDTH,\r\n },\r\n {\r\n name: \"atananKullaniciidStr\",\r\n label: \"Atanan Firma - Kullanıcı\",\r\n dataType: \"text\",\r\n dataField: \"atananKullaniciidStr\",\r\n visible: [\"grid\"],\r\n visibleConditions: [\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n YETKI_GRUBU_TIPI.MUSTERI.Value,\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: \"bayiidStr\",\r\n label: \"Bayi Kod\",\r\n dataType: \"text\",\r\n dataField: \"bayiidStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"musteriTemsilcisiStr\",\r\n label: \"MüşteriTemsilcisi\",\r\n dataType: \"text\",\r\n dataField: \"musteriTemsilcisiStr\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"referansVerenStr\",\r\n label: \"Referans Veren\",\r\n dataType: \"text\",\r\n dataField: \"referansVerenStr\",\r\n visible: [\"grid\"],\r\n },\r\n\r\n //filtre--------------------------------------------------------------------------------------------------\r\n {\r\n name: \"id\",\r\n label: \"Görüşme No\",\r\n dataType: \"number\",\r\n dataField: \"id\",\r\n visible: [\"filter\"],\r\n isPrimaryKey: true,\r\n width: ID_WIDTH,\r\n },\r\n {\r\n name: \"potFirmaid\",\r\n label: \"Potansiyel Adı\",\r\n dataType: \"custom\",\r\n dataField: \"potFirmaid\",\r\n visible: [\"filter\"],\r\n customComponent: PotansiyelMusteriInputForm,\r\n },\r\n {\r\n name: \"tarih1\",\r\n label: \"Görüşme Tarihi-1\",\r\n dataType: \"date\",\r\n dataField: \"tarih1\",\r\n visible: [\"filter\"],\r\n defaultValue: dayjs().subtract(1, \"month\").format(\"YYYY-MM-DD\"),\r\n },\r\n {\r\n name: \"tarih2\",\r\n label: \"Görüşme Tarihi-2\",\r\n dataType: \"date\",\r\n dataField: \"tarih2\",\r\n visible: [\"filter\"],\r\n defaultValue: dayjs().add(1, \"month\").format(\"YYYY-MM-DD\"),\r\n },\r\n {\r\n name: \"durum\",\r\n label: \"Görüşme Durumu\",\r\n dataType: \"select\",\r\n dataField: \"durum\",\r\n visible: [\"filter\"],\r\n items: Object.values(GORUSME_DURUMU),\r\n },\r\n {\r\n name: \"teklifid\",\r\n label: \"Teklif No\",\r\n dataType: \"number\",\r\n dataField: \"teklifid\",\r\n visible: [\"filter\"],\r\n },\r\n {\r\n name: \"bayiid\",\r\n label: \"Bayi\",\r\n dataType: \"custom\",\r\n dataField: \"bayiid\",\r\n visible: [\"filter\"],\r\n customComponent: BayilerInputForm,\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n ],\r\n },\r\n {\r\n name: \"alinacakAksiyon\",\r\n label: \"Alınacak Aksiyon\",\r\n dataType: \"select\",\r\n dataField: \"alinacakAksiyon\",\r\n visible: [\"filter\"],\r\n items: Object.values(GORUSME_ALINACAK_AKSIYON),\r\n },\r\n {\r\n name: \"tumunuGetir\",\r\n label: \"Tüm Firmaların Görüşmelerini Getir\",\r\n dataType: \"custom\",\r\n dataField: \"tumunuGetir\",\r\n visible: [\"filterCheckGroup\"],\r\n customComponent: CheckboxForm,\r\n customComponentParams: { size: \"small\" },\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n ],\r\n },\r\n {\r\n name: \"sonGorusmeleriGoster\",\r\n label: \"Son Görüşmeleri Göster\",\r\n dataType: \"custom\",\r\n dataField: \"sonGorusmeleriGoster\",\r\n visible: [\"filterCheckGroup\"],\r\n customComponent: CheckboxForm,\r\n customComponentParams: { size: \"small\" },\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n YETKI_GRUBU_TIPI.MUSTERI.Value,\r\n ],\r\n },\r\n {\r\n name: \"gorusmeAtamasiTamamlanlaridaGoster\",\r\n label: \"Görüşme Ataması Tamamlananlar Dahil\",\r\n dataType: \"custom\",\r\n dataField: \"gorusmeAtamasiTamamlanlaridaGoster\",\r\n visible: [\"filterCheckGroup\"],\r\n customComponent: CheckboxForm,\r\n customComponentParams: { size: \"small\" },\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n YETKI_GRUBU_TIPI.MUSTERI.Value,\r\n ],\r\n },\r\n\r\n];\r\n\r\nexport default entity;\r\n","import { EKRAN_KODU } from \"../../common/constants\";\r\nimport Type from \"../../entities/AtananGorusmeler\";\r\n\r\nconst PageConfig = {\r\n title: \"Atanan Görüşmeler\",\r\n ekranKodu: \"AtananGorusmeler_Res\",\r\n type: Type,\r\n listRoute: \"Gorusmeler/AtananGorusmeList\",\r\n getByIdRoute: \"Gorusmeler/GetById\",\r\n insertRoute: \"Gorusmeler/Insert\",\r\n updateRoute: \"Gorusmeler/Update\",\r\n deleteRoute: \"Gorusmeler/Delete\",\r\n hatirlatmaEkleRoute: \"Gorusmeler/HatirlatmaEkle\",\r\n gorusmeAtamaRoute: \"Gorusmeler/GorusmeAtama\",\r\n};\r\n\r\nconst GorusmeFileConfig = {\r\n ekranKodu: EKRAN_KODU.GORUSMELER.value,\r\n allFilesDownloadRoute: \"Gorusmeler/DosyalariIndir\",\r\n fileDownloadRoute: \"Gorusmeler/DosyaIndir\",\r\n filesInfoRoute: \"Gorusmeler/DosyaBilgileri\",\r\n fileUploadRoute: \"Gorusmeler/DosyaYukle\",\r\n deleteFilesRoute: \"Gorusmeler/DeleteFiles\",\r\n};\r\n\r\nexport { PageConfig, GorusmeFileConfig };\r\n","import { useRef } from \"react\";\r\nimport PageFilter from \"../../components/filter/PageFilter\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\n// import SirketRecord from \"./SirketRecord\";\r\nimport { PageConfig } from \"./AtananGorusmelerConfig\";\r\nimport GorusmelerRecord from \"../Gorusmeler/GorusmelerRecord\";\r\n\r\nfunction AtananGorusmeler({ ekranKodu }) {\r\n const listGridRef = useRef();\r\n const filterRef = useRef();\r\n const recordRef = useRef();\r\n\r\n return (\r\n <>\r\n <PageFilter\r\n PageConfig={PageConfig}\r\n ref={filterRef}\r\n listGridRef={listGridRef}\r\n />\r\n <PageGrid\r\n gridId=\"Atanan_Gorusmeler\"\r\n PageConfig={PageConfig}\r\n listGridRef={listGridRef}\r\n filterRef={filterRef}\r\n recordRef={recordRef}\r\n isCreatable\r\n ekranKodu={ekranKodu}\r\n />\r\n <GorusmelerRecord\r\n ref={recordRef}\r\n ekranKodu={ekranKodu}\r\n listGridRef={listGridRef}\r\n ></GorusmelerRecord>\r\n </>\r\n );\r\n}\r\n\r\nexport default AtananGorusmeler;\r\n","import { URUN_PROGRAMLARI, YETKI_GRUBU_TIPI } from \"../common/constants\";\r\nimport BayilerInputForm from \"../components/inputs/custom-form-inputs/BayilerInputForm\";\r\nimport SirketInputForm from \"../components/inputs/custom-form-inputs/SirketInputForm\";\r\n\r\nconst entity = [\r\n {\r\n name: \"musteriAdi\",\r\n label: \"Müşteri Adı\",\r\n dataType: \"text\",\r\n dataField: \"musteriAdi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"ilkBaslangicTarihi\",\r\n label: \"İlk Başlangıç Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"ilkBaslangicTarihi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"baslangicTarihi\",\r\n label: \"Başlangıç Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"baslangicTarihi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"yenilemeTarihi\",\r\n label: \"Yenileme Tarihi\",\r\n dataType: \"date\",\r\n dataField: \"yenilemeTarihi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"yenilemeyeKalanGun\",\r\n label: \"Yenilemeye Kalan Gün\",\r\n dataType: \"number\",\r\n dataField: \"yenilemeyeKalanGun\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"toplamKullaniciSayisi\",\r\n label: \"Toplam Kullanıcı Sayısı\",\r\n dataType: \"number\",\r\n dataField: \"toplamKullaniciSayisi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"tutar\",\r\n label: \"Toplam Tutar\",\r\n dataType: \"number\",\r\n dataField: \"tutar\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"paraBirimi\",\r\n label: \"Para Birimi\",\r\n dataType: \"text\",\r\n dataField: \"paraBirimi\",\r\n visible: [\"grid\"],\r\n },\r\n {\r\n name: \"bayisi\",\r\n label: \"Bayisi\",\r\n dataType: \"text\",\r\n dataField: \"bayisi\",\r\n visible: [\"grid\"],\r\n // gizlenecekYetkiGrubuTipi: [\r\n // YETKI_GRUBU_TIPI.BAYI.Value,\r\n // YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n // ],\r\n visibleConditions: [\r\n {\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value\r\n ],\r\n },\r\n ],\r\n },\r\n // {\r\n // name: \"platform\",\r\n // label: \"Platform\",\r\n // dataType: \"text\",\r\n // dataField: \"platform\",\r\n // visible: [\"grid\"],\r\n // },\r\n {\r\n name: \"platform\",\r\n label: \"Platform\",\r\n dataType: \"select\",\r\n dataField: \"platform\",\r\n visible: [\"grid\"],\r\n selectItems: Object.values(URUN_PROGRAMLARI),\r\n },\r\n\r\n //todo\r\n //filtre--------------------------------------------------------------------------------------------------\r\n {\r\n name: \"platform\",\r\n label: \"Plaftorm\",\r\n dataType: \"select\",\r\n dataField: \"platform\",\r\n visible: [\"filter\"],\r\n items: Object.values(URUN_PROGRAMLARI),\r\n },\r\n {\r\n name: \"sirketid\",\r\n label: \"Talep Eden Müşteri\",\r\n dataType: \"custom\",\r\n dataField: \"sirketid\",\r\n visible: [\"filter\"],\r\n customComponent: SirketInputForm,\r\n customComponentParams: {},\r\n },\r\n {\r\n name: \"bayiid\",\r\n label: \"Bayi\",\r\n dataType: \"custom\",\r\n dataField: \"bayiid\",\r\n visible: [\"filter\"],\r\n customComponent: BayilerInputForm,\r\n gizlenecekYetkiGrubuTipi: [\r\n YETKI_GRUBU_TIPI.BAYI.Value,\r\n YETKI_GRUBU_TIPI.BAYI_DESTEK.Value,\r\n ],\r\n },\r\n\r\n];\r\n\r\nexport default entity;\r\n","import Type from \"../../entities/MusteriLisansDurumuRaporu\";\r\n\r\nconst PageConfig = {\r\n title: \"Müşteri Lisans Durumu Raporu\",\r\n ekranKodu: \"MusteriLisansDurumuRaporu_Res\",\r\n type: Type,\r\n listRoute: \"Rapor/MusteriLisansDurumuRaporuList\",\r\n};\r\n\r\nexport default PageConfig;\r\n","import { useRef } from \"react\";\r\nimport PageFilter from \"../../components/filter/PageFilter\";\r\nimport PageGrid from \"../../components/grid/PageGrid\";\r\nimport PageConfig from \"./MusteriLisansDurumuRaporuConfig\";\r\n\r\nexport default function MusteriLisansDurumuRaporu({ ekranKodu }) {\r\n const listGridRef = useRef();\r\n const filterRef = useRef();\r\n return (\r\n <>\r\n <PageFilter\r\n PageConfig={PageConfig}\r\n ref={filterRef}\r\n listGridRef={listGridRef}\r\n />\r\n <PageGrid\r\n gridId=\"MusteriLisansDurumuRaporu_Grid\"\r\n PageConfig={PageConfig}\r\n listGridRef={listGridRef}\r\n filterRef={filterRef}\r\n ekranKodu={ekranKodu}\r\n isCreatable={false}\r\n editBtnVisible={false}\r\n />\r\n\r\n </>\r\n );\r\n}\r\n","import HomeIcon from \"@mui/icons-material/Home\";\r\nimport HourglassTopIcon from \"@mui/icons-material/HourglassTop\";\r\nimport CallIcon from \"@mui/icons-material/Call\";\r\nimport HandShakeIcon from \"@mui/icons-material/Handshake\";\r\nimport PersonSearchIcon from \"@mui/icons-material/PersonSearch\";\r\nimport LocalOfferIcon from \"@mui/icons-material/LocalOffer\";\r\nimport PointOfSaleIcon from \"@mui/icons-material/PointOfSale\";\r\nimport ViewModuleIcon from \"@mui/icons-material/ViewModule\";\r\nimport PrivateRoute from \"../components/route/PrivateRoute\";\r\nimport GardiyanRoute from \"../components/route/GardiyanRoute\";\r\nimport PersonIcon from \"@mui/icons-material/Person\";\r\nimport SupportAgentIcon from \"@mui/icons-material/SupportAgent\";\r\nimport AssignmentIcon from \"@mui/icons-material/Assignment\";\r\nimport AssignmentIndIcon from \"@mui/icons-material/AssignmentInd\";\r\nimport PostAddIcon from \"@mui/icons-material/PostAdd\";\r\nimport PaymentsIcon from \"@mui/icons-material/Payments\";\r\nimport CheckCircleOutlineIcon from \"@mui/icons-material/CheckCircleOutline\";\r\nimport Not from \"../pages/Not/Not\";\r\nimport Home from \"../pages/Home/Home\";\r\nimport Profile from \"../pages/Profile/Profile\";\r\nimport KullaniciBilgileri from \"../pages/Profile/kullanici-bilgileri/KullaniciBilgileri\";\r\nimport Yardim from \"../pages/Profile/Yardim\";\r\nimport MusteriTalep from \"../pages/Musteri-talep/MusteriTalep\";\r\nimport Destek from \"../pages/Destek/Destek\";\r\nimport Sirket from \"../pages/Sirket/Sirket\";\r\nimport Urunler from \"../pages/Urunler/Urunler\";\r\nimport SirketBazliSureAnalizi from \"../pages/Rapor/SirketBazliSureAnalizi\";\r\nimport Login from \"../pages/Login/Login\";\r\nimport Yetki from \"../pages/Yetki/Yetki\";\r\nimport Kullanici from \"../pages/Kullanici/Kullanici\";\r\nimport DestekGecmisi from \"../pages/Destek-gecmisi/DestekGecmisi\";\r\nimport TahsilatTakip from \"../pages/Tahsilat-takip/TahsilatTakip\";\r\nimport KullaniciAnalizi from \"../pages/Rapor/KullaniciAnalizi\";\r\nimport Gorevler from \"../pages/Gorev/Gorevler\";\r\nimport IsSonucuRaporu from \"../pages/Rapor/IsSonucuRaporu\";\r\nimport YeniEklenenOzellikler from \"../pages/Rapor/YeniEklenenOzellikler\";\r\nimport Toplanti from \"../pages/Toplanti/Toplanti\";\r\nimport GroupsIcon from \"@mui/icons-material/Groups\";\r\nimport KontrolEdilecekIsler from \"../pages/Kontrol-edilecek-isler/KontrolEdilecekIsler\";\r\nimport AssignmentTurnedInIcon from \"@mui/icons-material/AssignmentTurnedIn\";\r\nimport FiyatListeMaster from \"../pages/FiyatListesi/FiyatListeMaster\";\r\nimport Bayiler from \"../pages/Bayiler/Bayiler\";\r\nimport { EKRAN_KODU as EKod, YETKI_GRUBU_TIPI } from \"./constants\";\r\nimport PotansiyelMusteri from \"../pages/PotansiyelMusteri/PotansiyelMusteri\";\r\nimport TeklifMaster from \"../pages/Teklif/TeklifMaster\";\r\nimport Gorusmeler from \"../pages/Gorusmeler/Gorusmeler\";\r\nimport ProjeSurecTakip from \"../pages/ProjeSurecTakip/ProjeSurecTakip\";\r\nimport GorevlerGantt from \"../pages/GorevlerGantt/GorevlerGantt\";\r\nimport { deepPurple, green, purple, teal } from \"@mui/material/colors\";\r\nimport MailOlaylariDuzenle from \"../pages/MailOlaylariDuzenle/MailOlaylariDuzenle\";\r\nimport { Email } from \"@mui/icons-material\";\r\nimport { Comment } from \"@mui/icons-material\";\r\nimport GorevDurumuRaporu from \"../pages/Rapor/GorevDurumuRaporu\";\r\nimport AtananGorusmeler from \"../pages/AtananGorusmeler/AtananGorusmeler\";\r\nimport AccountBalanceWalletIcon from '@mui/icons-material/AccountBalanceWallet';\r\nimport MusteriLisansDurumuRaporu from \"../pages/Rapor/MusteriLisansDurumuRaporu\";\r\nimport SchoolIcon from '@mui/icons-material/School';\r\nimport RuleIcon from '@mui/icons-material/Rule';\r\nimport HandshakeIcon from '@mui/icons-material/Handshake';\r\nimport SettingsIcon from '@mui/icons-material/Settings';\r\nimport AssessmentIcon from '@mui/icons-material/Assessment';\r\n\r\n\r\nconst routes = {\r\n notlarim: {\r\n text: \"Notlar\",\r\n path: \"/Notlarim\",\r\n element: (\r\n <PrivateRoute>\r\n <Not ekranKodu={EKod.NOTLAR.value} />\r\n </PrivateRoute>\r\n ),\r\n showInSidebar: true,\r\n hasSidebar: true,\r\n icon: <PostAddIcon color=\"#5a5a5a\" sx={{ fontSize: \"20px\" }}/>,\r\n ekranKodu: EKod.NOTLAR.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n level: 0,\r\n baslikGibiDavran: true\r\n },\r\n musteriTalepleri: {\r\n text: \"Müşteri Talepleri\",\r\n path: \"/\",\r\n element: (\r\n <PrivateRoute>\r\n <Home ekranKodu={EKod.ANASAYFA.value} />\r\n </PrivateRoute>\r\n ),\r\n showInSidebar: false,\r\n hasSidebar: true,\r\n icon: <Comment color=\"#5a5a5a\" sx={{ fontSize: \"20px\" }} />,\r\n ekranKodu: EKod.ANASAYFA.value,\r\n level: 0,\r\n },\r\n talepveDanismanlikYonetimi: {\r\n path: \"/TalepveDanismanlikYonetimi\",\r\n text: \"Talep ve Danışmanlık Yönetimi\",\r\n showInSidebar: true,\r\n hasSidebar: true,\r\n ekranKodu: EKod.ANASAYFA.value,\r\n icon: <SchoolIcon color=\"#5a5a5a\" sx={{ fontSize: \"20px\" }} />,\r\n drawerTextColor: \"#5a5a5a\",\r\n level: 0,\r\n children: [\r\n {\r\n path: \"/TalepveDanismanlikYonetimi/MusteriTalepleri\",\r\n text: \"Müşteri Talepleri\",\r\n element: (\r\n <PrivateRoute>\r\n <Home ekranKodu={EKod.ANASAYFA.value} />\r\n </PrivateRoute>\r\n ),\r\n showInSidebar: true,\r\n hasSidebar: true,\r\n icon: <Comment color=\"#5a5a5a\" sx={{ fontSize: \"20px\" }}/>,\r\n ekranKodu: EKod.ANASAYFA.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n level: 1,\r\n },\r\n {\r\n path: \"/TalepveDanismanlikYonetimi/IcTalepler\",\r\n text: \"İç Talepler\",\r\n element: (\r\n <PrivateRoute>\r\n <MusteriTalep ekranKodu={EKod.MUSTERI_TALEP.value} />\r\n </PrivateRoute>\r\n ),\r\n showInSidebar: true,\r\n hasSidebar: true,\r\n icon: <Comment color=\"#5a5a5a\" sx={{ fontSize: \"20px\" }} />,\r\n ekranKodu: EKod.MUSTERI_TALEP.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n level: 1,\r\n },\r\n {\r\n path: \"/TalepveDanismanlikYonetimi/Toplantilar\",\r\n text: \"Toplantılar\",\r\n element: (\r\n <PrivateRoute>\r\n <Toplanti ekranKodu={EKod.TOPLANTI.value} />\r\n </PrivateRoute>\r\n ),\r\n showInSidebar: true,\r\n hasSidebar: true,\r\n icon: <GroupsIcon color=\"#5a5a5a\" sx={{ fontSize: \"20px\" }}/>,\r\n ekranKodu: EKod.TOPLANTI.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n level: 1,\r\n },\r\n {\r\n path: \"/TalepveDanismanlikYonetimi/DanismanlikGirisi\",\r\n text: \"Danışmanlık Girişi\",\r\n element: (\r\n <PrivateRoute>\r\n <Destek ekranKodu={EKod.DESTEK.value} />\r\n </PrivateRoute>\r\n ),\r\n showInSidebar: true,\r\n hasSidebar: true,\r\n icon: <SupportAgentIcon color=\"#5a5a5a\" sx={{ fontSize: \"20px\" }} />,\r\n ekranKodu: EKod.DESTEK.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n level: 1,\r\n },\r\n {\r\n path: \"/TalepveDanismanlikYonetimi/DanismanlikGecmisi\",\r\n text: \"Danışmanlık Geçmişi\",\r\n element: (\r\n <PrivateRoute>\r\n <DestekGecmisi ekranKodu={EKod.DESTEK_GECMISI.value} />\r\n </PrivateRoute>\r\n ),\r\n showInSidebar: true,\r\n hasSidebar: true,\r\n icon: <SupportAgentIcon color=\"#5a5a5a\" sx={{ fontSize: \"20px\" }}/>,\r\n ekranKodu: EKod.DESTEK_GECMISI.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n level: 1,\r\n },\r\n {\r\n path: \"/TalepveDanismanlikYonetimi/Musteriler\",\r\n text: \"Müşteriler\",\r\n element: (\r\n <PrivateRoute>\r\n <Sirket ekranKodu={EKod.SIRKET.value} />\r\n </PrivateRoute>\r\n ),\r\n showInSidebar: true,\r\n hasSidebar: true,\r\n icon: <HourglassTopIcon color=\"#5a5a5a\" sx={{ fontSize: \"20px\" }}/>,\r\n ekranKodu: EKod.SIRKET.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n level: 1,\r\n },\r\n ],\r\n },\r\n\r\n gorevYonetimi: {\r\n path: \"/GorevYonetimi\",\r\n text: \"Görev Yönetimi\",\r\n showInSidebar: true,\r\n hasSidebar: true,\r\n ekranKodu: EKod.GOREVLER.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n icon: <RuleIcon color=\"#5a5a5a\" sx={{ fontSize: \"20px\" }}/>,\r\n level: 0,\r\n children: [\r\n {\r\n path: \"/GorevYonetimi/Gorevler\",\r\n text: \"Görevler\",\r\n element: (\r\n <PrivateRoute>\r\n <Gorevler ekranKodu={EKod.GOREVLER.value} />\r\n </PrivateRoute>\r\n ),\r\n showInSidebar: true,\r\n hasSidebar: true,\r\n icon: <AssignmentIcon color=\"#5a5a5a\" sx={{ fontSize: \"20px\" }}/>,\r\n ekranKodu: EKod.GOREVLER.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n level: 1,\r\n },\r\n {\r\n path: \"/GorevYonetimi/KontrolEdilecekIsler\",\r\n text: \"Kontrol Edilecek İşler\",\r\n element: (\r\n <PrivateRoute>\r\n <KontrolEdilecekIsler ekranKodu={EKod.KONTROL_EDILECEK_ISLER.value} />\r\n </PrivateRoute>\r\n ),\r\n showInSidebar: true,\r\n hasSidebar: true,\r\n icon: <AssignmentTurnedInIcon color=\"#5a5a5a\" sx={{ fontSize: \"20px\" }}/>,\r\n ekranKodu: EKod.KONTROL_EDILECEK_ISLER.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n level: 1,\r\n },\r\n {\r\n path: \"/GorevYonetimi/ProjeSurecTakip\",\r\n text: \"Proje Süreç Takip\",\r\n element: (\r\n <PrivateRoute>\r\n <ProjeSurecTakip ekranKodu={EKod.PROJESURECTAKIP.value} />\r\n </PrivateRoute>\r\n ),\r\n showInSidebar: true,\r\n hasSidebar: true,\r\n icon: <PersonSearchIcon color=\"#5a5a5a\" sx={{ fontSize: \"20px\" }}/>,\r\n ekranKodu: EKod.PROJESURECTAKIP.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n level: 1,\r\n },\r\n // {\r\n // path: \"/GorevYonetimi/GorevlerGantt\",\r\n // text: \"Görevler Gantt\",\r\n // element: (\r\n // <PrivateRoute>\r\n // <GorevlerGantt ekranKodu={EKod.GOREVLER_GANTT.value} />\r\n // </PrivateRoute>\r\n // ),\r\n // showInSidebar: true,\r\n // hasSidebar: true,\r\n // icon: <PointOfSaleIcon color=\"#5a5a5a\" />,\r\n // ekranKodu: EKod.GOREVLER_GANTT.value,\r\n // level: 1,\r\n // },\r\n {\r\n path: \"/GorevYonetimi/GorevDurumListesi\",\r\n text: \"Görev Durum Listesi\",\r\n element: (\r\n <PrivateRoute>\r\n <GorevDurumuRaporu ekranKodu={EKod.GOREV_DURUMU_RAPORU.value} />\r\n </PrivateRoute>\r\n ),\r\n showInSidebar: true,\r\n hasSidebar: true,\r\n icon: <CheckCircleOutlineIcon color=\"#5a5a5a\" sx={{ fontSize: \"20px\" }}/>,\r\n ekranKodu: EKod.GOREV_DURUMU_RAPORU.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n level: 1,\r\n },\r\n\r\n ]\r\n },\r\n\r\n musteriIliskileriYonetimi: {\r\n path: \"/MusteriIliskileriYonetimi\",\r\n text: \"Müşteri ilişkileri Yönetimi\",\r\n showInSidebar: true,\r\n hasSidebar: true,\r\n ekranKodu: EKod.GORUSMELER.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n icon: <HandshakeIcon color=\"#5a5a5a\" sx={{ fontSize: \"20px\" }} />,\r\n level: 0,\r\n children: [\r\n {\r\n path: \"/MusteriIliskileriYonetimi/Musteriler\",\r\n text: \"Müşteriler\",\r\n element: (\r\n <PrivateRoute>\r\n <Sirket ekranKodu={EKod.SIRKET.value} />\r\n </PrivateRoute>\r\n ),\r\n showInSidebar: true,\r\n hasSidebar: true,\r\n icon: <HourglassTopIcon color=\"#5a5a5a\" sx={{ fontSize: \"20px\" }}/>,\r\n ekranKodu: EKod.SIRKET.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n gizlenecekYetkiGrubuTipi: [YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value], \r\n level: 1,\r\n },\r\n {\r\n text: \"Potansiyel Müşteriler\",\r\n path: \"/MusteriIliskileriYonetimi/PotansiyelMusteriler\",\r\n element: (\r\n <PrivateRoute>\r\n <PotansiyelMusteri ekranKodu={EKod.POTANSIYELMUSTERI.value} />\r\n </PrivateRoute>\r\n ),\r\n showInSidebar: true,\r\n hasSidebar: true,\r\n icon: <PersonSearchIcon color=\"#5a5a5a\" sx={{ fontSize: \"20px\" }}/>,\r\n ekranKodu: EKod.POTANSIYELMUSTERI.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n level: 1,\r\n },\r\n {\r\n text: \"Görüşmeler\",\r\n path: \"/MusteriIliskileriYonetimi/Gorusmeler\",\r\n element: (\r\n <PrivateRoute>\r\n <Gorusmeler ekranKodu={EKod.GORUSMELER.value} />\r\n </PrivateRoute>\r\n ),\r\n showInSidebar: true,\r\n hasSidebar: true,\r\n icon: <CallIcon color=\"#5a5a5a\" sx={{ fontSize: \"20px\" }}/>,\r\n ekranKodu: EKod.GORUSMELER.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n level: 1,\r\n },\r\n {\r\n text: \"Atanan Görüşmeler\",\r\n path: \"/MusteriIliskileriYonetimi/AtananGorusmeler\",\r\n element: (\r\n <PrivateRoute>\r\n <AtananGorusmeler ekranKodu={EKod.ATANAN_GORUSMELER.value} />\r\n </PrivateRoute>\r\n ),\r\n showInSidebar: true,\r\n hasSidebar: true,\r\n icon: <CallIcon color=\"#5a5a5a\"sx={{ fontSize: \"20px\" }} />,\r\n ekranKodu: EKod.ATANAN_GORUSMELER.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n level: 1,\r\n },\r\n {\r\n text: \"Teklifler\",\r\n path: \"/MusteriIliskileriYonetimi/Teklifler\",\r\n element: (\r\n <PrivateRoute>\r\n <TeklifMaster ekranKodu={EKod.TEKLIFMASTER.value} />\r\n </PrivateRoute>\r\n ),\r\n showInSidebar: true,\r\n hasSidebar: true,\r\n icon: <LocalOfferIcon color=\"#5a5a5a\" sx={{ fontSize: \"20px\" }}/>,\r\n ekranKodu: EKod.TEKLIFMASTER.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n level: 1,\r\n },\r\n {\r\n text: \"Fiyat Listeleri\",\r\n path: \"/MusteriIliskileriYonetimi/FiyatListeleri\",\r\n element: (\r\n <PrivateRoute>\r\n <FiyatListeMaster ekranKodu={EKod.FIYAT_LISTE_MASTER.value} />\r\n </PrivateRoute>\r\n ),\r\n showInSidebar: true,\r\n hasSidebar: true,\r\n icon: <PointOfSaleIcon color=\"#5a5a5a\" sx={{ fontSize: \"20px\" }}/>,\r\n ekranKodu: EKod.FIYAT_LISTE_MASTER.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n level: 1,\r\n },\r\n {\r\n text: \"Bayiler\",\r\n path: \"/MusteriIliskileriYonetimi/Bayiler\",\r\n element: (\r\n <PrivateRoute>\r\n <Bayiler ekranKodu={EKod.BAYILER.value} />\r\n </PrivateRoute>\r\n ),\r\n showInSidebar: true,\r\n hasSidebar: true,\r\n icon: <HandShakeIcon color=\"#5a5a5a\" sx={{ fontSize: \"20px\" }}/>,\r\n ekranKodu: EKod.BAYILER.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n level: 1,\r\n },\r\n ]\r\n },\r\n\r\n genelTanimlamalar: {\r\n path: \"/GenelTanimlamalar\",\r\n text: \"Genel Tanımlamalar\",\r\n showInSidebar: true,\r\n hasSidebar: true,\r\n ekranKodu: EKod.TANIMLAMALAR.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n icon: <SettingsIcon color=\"#5a5a5a\" sx={{ fontSize: \"20px\" }} />,\r\n level: 0,\r\n children: [\r\n {\r\n text: \"Kullanıcılar\",\r\n path: \"/GenelTanimlamalar/Kullanicilar\",\r\n element: (\r\n <PrivateRoute>\r\n <Kullanici ekranKodu={EKod.KULLANICILAR.value} />\r\n </PrivateRoute>\r\n ),\r\n showInSidebar: true,\r\n hasSidebar: true,\r\n icon: <PersonIcon color=\"#5a5a5a\" />,\r\n ekranKodu: EKod.KULLANICILAR.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n level: 1,\r\n },\r\n {\r\n text: \"Yetkiler\",\r\n path: \"/GenelTanimlamalar/Yetkiler\",\r\n element: (\r\n <PrivateRoute>\r\n <Yetki ekranKodu={EKod.YETKILER.value} />\r\n </PrivateRoute>\r\n ),\r\n showInSidebar: true,\r\n hasSidebar: true,\r\n icon: <PersonIcon color=\"#5a5a5a\" />,\r\n ekranKodu: EKod.YETKILER.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n level: 1,\r\n },\r\n {\r\n text: \"Mail Tanımları\",\r\n path: \"/GenelTanimlamalar/MailOlaylariDuzenleme\",\r\n element: (\r\n <PrivateRoute>\r\n <MailOlaylariDuzenle ekranKodu={EKod.MAIL_OLAYLARI_DUZENLE.value} />\r\n </PrivateRoute>\r\n ),\r\n showInSidebar: true,\r\n hasSidebar: true,\r\n icon: <Email color=\"#5a5a5a\" />,\r\n ekranKodu: EKod.MAIL_OLAYLARI_DUZENLE.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n level: 1,\r\n },\r\n {\r\n text: \"Ürünler\",\r\n path: \"/GenelTanimlamalar/Urunler\",\r\n element: (\r\n <PrivateRoute>\r\n <Urunler ekranKodu={EKod.URUNLER.value} />\r\n </PrivateRoute>\r\n ),\r\n showInSidebar: true,\r\n hasSidebar: true,\r\n icon: <ViewModuleIcon color=\"#5a5a5a\" />,\r\n ekranKodu: EKod.URUNLER.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n level: 1,\r\n },\r\n\r\n\r\n ]\r\n },\r\n\r\n raporlar: {\r\n path: \"/Raporlar\",\r\n text: \"Raporlar\",\r\n showInSidebar: true,\r\n hasSidebar: true,\r\n ekranKodu: EKod.RAPORLAR.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n icon: <AssessmentIcon color=\"#5a5a5a\" sx={{ fontSize: \"20px\" }} />,\r\n level: 0,\r\n children: [\r\n {\r\n path: \"/Raporlar/MusteriBazliSureRaporu\",\r\n text: \"Müşteri Bazlı Süre Raporu\",\r\n element: (\r\n <PrivateRoute>\r\n <SirketBazliSureAnalizi\r\n ekranKodu={EKod.SIRKET_BAZLI_SURE_ANALIZI.value}\r\n />\r\n </PrivateRoute>\r\n ),\r\n icon: <AssignmentIcon color=\"#5a5a5a\" sx={{ fontSize: \"20px\" }}/>,\r\n ekranKodu: EKod.SIRKET_BAZLI_SURE_ANALIZI.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n level: 1,\r\n },\r\n {\r\n path: \"/Raporlar/PersonelAnalizRaporu\",\r\n text: \"Personel Analiz Raporu\",\r\n element: (\r\n <PrivateRoute>\r\n <KullaniciAnalizi ekranKodu={EKod.KULLANICI_ANALIZI.value} />\r\n </PrivateRoute>\r\n ),\r\n icon: <AssignmentIndIcon color=\"#5a5a5a\" sx={{ fontSize: \"20px\" }}/>,\r\n ekranKodu: EKod.KULLANICI_ANALIZI.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n level: 1,\r\n },\r\n {\r\n path: \"/Raporlar/TamamlananGorevlerRaporu\",\r\n text: \"Tamamlanan Görevler Raporu\",\r\n element: (\r\n <PrivateRoute>\r\n <IsSonucuRaporu ekranKodu={EKod.IS_SONUCLARI_RAPORU.value} />\r\n </PrivateRoute>\r\n ),\r\n icon: <CheckCircleOutlineIcon color=\"#5a5a5a\" sx={{ fontSize: \"20px\" }}/>,\r\n ekranKodu: EKod.IS_SONUCLARI_RAPORU.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n level: 1,\r\n },\r\n {\r\n path: \"/Raporlar/GorevDurumuRaporu\",\r\n text: \"Görev Durumu Raporu\",\r\n element: (\r\n <PrivateRoute>\r\n <GorevDurumuRaporu ekranKodu={EKod.GOREV_DURUMU_RAPORU.value} />\r\n </PrivateRoute>\r\n ),\r\n icon: <CheckCircleOutlineIcon color=\"#5a5a5a\" sx={{ fontSize: \"20px\" }}/>,\r\n ekranKodu: EKod.GOREV_DURUMU_RAPORU.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n gizlenecekYetkiGrubuTipi: [YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value], \r\n level: 1,\r\n },\r\n {\r\n path: \"/Raporlar/MusteriLisansDurumuRaporu\",\r\n text: \"Müşteri Lisans Durumu Raporu\",\r\n element: (\r\n <PrivateRoute>\r\n <MusteriLisansDurumuRaporu ekranKodu={EKod.MUSTERI_LISANS_DURUMU_RAPORU.value} />\r\n </PrivateRoute>\r\n ),\r\n icon: <AccountBalanceWalletIcon color=\"#5a5a5a\" sx={{ fontSize: \"20px\" }}/>,\r\n ekranKodu: EKod.MUSTERI_LISANS_DURUMU_RAPORU.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n level: 1,\r\n },\r\n ],\r\n },\r\n\r\n profil: {\r\n text: \"Profil\",\r\n path: \"/profil\",\r\n element: (\r\n <PrivateRoute>\r\n <Profile ekranKodu={EKod.PROFIL.value} />\r\n </PrivateRoute>\r\n ),\r\n hasSidebar: true,\r\n ekranKodu: EKod.PROFIL.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n level: 0,\r\n },\r\n\r\n kullaniciBilgileri: {\r\n text: \"Kullanıcı Bilgileri\",\r\n path: \"/KullaniciBilgileri\",\r\n element: (\r\n <PrivateRoute>\r\n <KullaniciBilgileri ekranKodu={EKod.KULLANICI_BILGILERI.value} />\r\n </PrivateRoute>\r\n ),\r\n hasSidebar: true,\r\n ekranKodu: EKod.KULLANICI_BILGILERI.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n level: 0,\r\n },\r\n yardim: {\r\n text: \"Yardım\",\r\n path: \"/yardim\",\r\n element: (\r\n <PrivateRoute>\r\n <Yardim ekranKodu={EKod.PROFIL.value} />\r\n </PrivateRoute>\r\n ),\r\n hasSidebar: true,\r\n ekranKodu: EKod.PROFIL.value,\r\n drawerTextColor: \"#5a5a5a\",\r\n level: 0,\r\n },\r\n\r\n\r\n // musteriTalepleri: {\r\n // text: \"İç Talepler\",\r\n // path: \"/Talepler\",\r\n // element: (\r\n // <PrivateRoute>\r\n // <MusteriTalep ekranKodu={EKod.MUSTERI_TALEP.value} />\r\n // </PrivateRoute>\r\n // ),\r\n // showInSidebar: true,\r\n // hasSidebar: true,\r\n // // icon: <HourglassTopIcon color=\"primary\" />,\r\n // icon: <Comment sx={{ color: deepPurple[400] }} />,\r\n // drawerTextColor: \"purple\",\r\n // ekranKodu: EKod.MUSTERI_TALEP.value,\r\n // level: 0,\r\n // },\r\n\r\n // toplantilar: {\r\n // text: \"Toplantılar\",\r\n // path: \"/Toplantilar\",\r\n // element: (\r\n // <PrivateRoute>\r\n // <Toplanti ekranKodu={EKod.TOPLANTI.value} />\r\n // </PrivateRoute>\r\n // ),\r\n // showInSidebar: true,\r\n // hasSidebar: true,\r\n // icon: <GroupsIcon color=\"primary\" />,\r\n // ekranKodu: EKod.TOPLANTI.value,\r\n // level: 0,\r\n // },\r\n\r\n // gorevler: {\r\n // path: \"/Gorevler\",\r\n // text: \"Görevler\",\r\n // element: (\r\n // <PrivateRoute>\r\n // <Gorevler ekranKodu={EKod.GOREVLER.value} />\r\n // </PrivateRoute>\r\n // ),\r\n // showInSidebar: true,\r\n // hasSidebar: true,\r\n // icon: <AssignmentIcon color=\"primary\" />,\r\n // ekranKodu: EKod.GOREVLER.value,\r\n // level: 0,\r\n // },\r\n // kontrolEdilecekIsler: {\r\n // path: \"/KontrolEdilecekIsler\",\r\n // text: \"Kontrol Edilecek İşler\",\r\n // element: (\r\n // <PrivateRoute>\r\n // <KontrolEdilecekIsler ekranKodu={EKod.KONTROL_EDILECEK_ISLER.value} />\r\n // </PrivateRoute>\r\n // ),\r\n // showInSidebar: true,\r\n // hasSidebar: true,\r\n // icon: <AssignmentTurnedInIcon color=\"primary\" />,\r\n // ekranKodu: EKod.KONTROL_EDILECEK_ISLER.value,\r\n // level: 0,\r\n // },\r\n // tahsilatTakip: {\r\n // path: \"/TahsilatTakip\",\r\n // text: \"Tahsilat Takip\",\r\n // element: (\r\n // <PrivateRoute>\r\n // <TahsilatTakip ekranKodu={EKod.TAHSILAT_TAKIP.value} />\r\n // </PrivateRoute>\r\n // ),\r\n // showInSidebar: true,\r\n // hasSidebar: true,\r\n // icon: <PaymentsIcon color=\"primary\" />,\r\n // ekranKodu: EKod.TAHSILAT_TAKIP.value,\r\n // level: 0,\r\n // },\r\n // gorusmeler: {\r\n // text: \"Görüşmeler\",\r\n // path: \"/Tanimlamalar/Gorusmeler\",\r\n // element: (\r\n // <PrivateRoute>\r\n // <Gorusmeler ekranKodu={EKod.GORUSMELER.value} />\r\n // </PrivateRoute>\r\n // ),\r\n // showInSidebar: true,\r\n // hasSidebar: true,\r\n // icon: <CallIcon sx={{ color: green[\"A200\"] }} />,\r\n // ekranKodu: EKod.GORUSMELER.value,\r\n // drawerTextColor: \"#17B794\",\r\n // level: 0,\r\n // },\r\n // atananGorusmeler: {\r\n // text: \"Atanan Görüşmeler\",\r\n // path: \"/Tanimlamalar/AtananGorusmeler\",\r\n // element: (\r\n // <PrivateRoute>\r\n // <AtananGorusmeler ekranKodu={EKod.ATANAN_GORUSMELER.value} />\r\n // </PrivateRoute>\r\n // ),\r\n // showInSidebar: true,\r\n // hasSidebar: true,\r\n // icon: <CallIcon sx={{ color: green[\"A200\"] }} />,\r\n // ekranKodu: EKod.ATANAN_GORUSMELER.value,\r\n // drawerTextColor: \"#17B794\",\r\n // level: 0,\r\n // },\r\n // satisTeklifi: {\r\n // text: \"Teklifler\",\r\n // path: \"/TeklifMaster\",\r\n // element: (\r\n // <PrivateRoute>\r\n // <TeklifMaster ekranKodu={EKod.TEKLIFMASTER.value} />\r\n // </PrivateRoute>\r\n // ),\r\n // showInSidebar: true,\r\n // hasSidebar: true,\r\n // icon: <LocalOfferIcon sx={{ color: green[\"A200\"] }} />,\r\n // ekranKodu: EKod.TEKLIFMASTER.value,\r\n // drawerTextColor: \"#17B794\",\r\n // level: 0,\r\n // },\r\n // projeSurecTakip: {\r\n // text: \"Proje Süreç Takip\",\r\n // path: \"/ProjeSurecTakip\",\r\n // element: (\r\n // <PrivateRoute>\r\n // <ProjeSurecTakip ekranKodu={EKod.PROJESURECTAKIP.value} />\r\n // </PrivateRoute>\r\n // ),\r\n // showInSidebar: true,\r\n // hasSidebar: true,\r\n // icon: <PersonSearchIcon color=\"primary\" />,\r\n // ekranKodu: EKod.PROJESURECTAKIP.value,\r\n // level: 0,\r\n // },\r\n // gorevlerGantt: {\r\n // text: \"Görevler Gantt\",\r\n // path: \"/GorevlerGantt\",\r\n // element: (\r\n // <PrivateRoute>\r\n // <GorevlerGantt ekranKodu={EKod.GOREVLER_GANTT.value} />\r\n // </PrivateRoute>\r\n // ),\r\n // showInSidebar: true,\r\n // hasSidebar: true,\r\n // icon: <PointOfSaleIcon color=\"primary\" />,\r\n // ekranKodu: EKod.GOREVLER_GANTT.value,\r\n // level: 0,\r\n // },\r\n // tanimlamalar: {\r\n // path: \"/Tanimlamalar\",\r\n // text: \"Tanımlamalar\",\r\n // showInSidebar: true,\r\n // hasSidebar: true,\r\n // ekranKodu: EKod.TANIMLAMALAR.value,\r\n // drawerTextColor: \"#f34723\",\r\n // level: 0,\r\n // children: [\r\n // {\r\n // text: \"Kullanıcılar\",\r\n // path: \"/Tanimlamalar/Kullanicilar\",\r\n // element: (\r\n // <PrivateRoute>\r\n // <Kullanici ekranKodu={EKod.KULLANICILAR.value} />\r\n // </PrivateRoute>\r\n // ),\r\n // showInSidebar: true,\r\n // hasSidebar: true,\r\n // icon: <PersonIcon color=\"success\" />,\r\n // ekranKodu: EKod.KULLANICILAR.value,\r\n // drawerTextColor: \"green\",\r\n // level: 1,\r\n // },\r\n // {\r\n // text: \"Yetkiler\",\r\n // path: \"/Tanimlamalar/Yetkiler\",\r\n // element: (\r\n // <PrivateRoute>\r\n // <Yetki ekranKodu={EKod.YETKILER.value} />\r\n // </PrivateRoute>\r\n // ),\r\n // showInSidebar: true,\r\n // hasSidebar: true,\r\n // icon: <PersonIcon color=\"success\" />,\r\n // ekranKodu: EKod.YETKILER.value,\r\n // drawerTextColor: \"green\",\r\n // level: 1,\r\n // },\r\n // {\r\n // text: \"Müşteriler\",\r\n // path: \"/Tanimlamalar/Sirketler\",\r\n // element: (\r\n // <PrivateRoute>\r\n // <Sirket ekranKodu={EKod.SIRKET.value} />\r\n // </PrivateRoute>\r\n // ),\r\n // showInSidebar: true,\r\n // hasSidebar: true,\r\n // icon: <HourglassTopIcon color=\"primary\" />,\r\n // ekranKodu: EKod.SIRKET.value,\r\n // level: 1,\r\n // },\r\n // {\r\n // text: \"Ürünler\",\r\n // path: \"/Tanimlamalar/Urunler\",\r\n // element: (\r\n // <PrivateRoute>\r\n // <Urunler ekranKodu={EKod.URUNLER.value} />\r\n // </PrivateRoute>\r\n // ),\r\n // showInSidebar: true,\r\n // hasSidebar: true,\r\n // icon: <ViewModuleIcon color=\"primary\" />,\r\n // ekranKodu: EKod.URUNLER.value,\r\n // level: 1,\r\n // },\r\n // {\r\n // text: \"Bayiler\",\r\n // path: \"/Tanimlamalar/Bayiler\",\r\n // element: (\r\n // <PrivateRoute>\r\n // <Bayiler ekranKodu={EKod.BAYILER.value} />\r\n // </PrivateRoute>\r\n // ),\r\n // showInSidebar: true,\r\n // hasSidebar: true,\r\n // icon: <HandShakeIcon color=\"primary\" />,\r\n // ekranKodu: EKod.BAYILER.value,\r\n // level: 1,\r\n // },\r\n // {\r\n // text: \"Potansiyel Müşteriler\",\r\n // path: \"/Tanimlamalar/PotansiyelMusteri\",\r\n // element: (\r\n // <PrivateRoute>\r\n // <PotansiyelMusteri ekranKodu={EKod.POTANSIYELMUSTERI.value} />\r\n // </PrivateRoute>\r\n // ),\r\n // showInSidebar: true,\r\n // hasSidebar: true,\r\n // icon: <PersonSearchIcon color=\"primary\" />,\r\n // ekranKodu: EKod.POTANSIYELMUSTERI.value,\r\n // level: 1,\r\n // },\r\n // {\r\n // text: \"Fiyat Listeleri\",\r\n // path: \"/Tanimlamalar/FiyatListeMaster\",\r\n // element: (\r\n // <PrivateRoute>\r\n // <FiyatListeMaster ekranKodu={EKod.FIYAT_LISTE_MASTER.value} />\r\n // </PrivateRoute>\r\n // ),\r\n // showInSidebar: true,\r\n // hasSidebar: true,\r\n // icon: <PointOfSaleIcon color=\"primary\" />,\r\n // ekranKodu: EKod.FIYAT_LISTE_MASTER.value,\r\n // level: 1,\r\n // },\r\n // {\r\n // text: \"Mail Tanımları\",\r\n // path: \"/Tanimlamalar/MailOlaylariDuzenleme\",\r\n // element: (\r\n // <PrivateRoute>\r\n // <MailOlaylariDuzenle ekranKodu={EKod.MAIL_OLAYLARI_DUZENLE.value} />\r\n // </PrivateRoute>\r\n // ),\r\n // showInSidebar: true,\r\n // hasSidebar: true,\r\n // icon: <Email color=\"primary\" />,\r\n // ekranKodu: EKod.MAIL_OLAYLARI_DUZENLE.value,\r\n // level: 1,\r\n // },\r\n // ],\r\n // },\r\n // raporlar: {\r\n // path: \"/Raporlar\",\r\n // text: \"Raporlar\",\r\n // // element: <Root />,\r\n // showInSidebar: true,\r\n // hasSidebar: true,\r\n // // icon: <AssignmentIcon color=\"primary\" />,\r\n // ekranKodu: EKod.RAPORLAR.value,\r\n // drawerTextColor: \"#f34723\",\r\n // level: 0,\r\n // children: [\r\n // {\r\n // path: \"/Raporlar/SirketBazliSureAnalizi\",\r\n // text: \"Müşteri Bazlı Süre Raporu\",\r\n // element: (\r\n // <PrivateRoute>\r\n // <SirketBazliSureAnalizi\r\n // ekranKodu={EKod.SIRKET_BAZLI_SURE_ANALIZI.value}\r\n // />\r\n // </PrivateRoute>\r\n // ),\r\n // icon: <AssignmentIcon color=\"primary\" />,\r\n // ekranKodu: EKod.SIRKET_BAZLI_SURE_ANALIZI.value,\r\n // level: 1,\r\n // },\r\n // {\r\n // path: \"/Raporlar/KullaniciAnalizi\",\r\n // text: \"Personel Analiz Raporu\",\r\n // element: (\r\n // <PrivateRoute>\r\n // <KullaniciAnalizi ekranKodu={EKod.KULLANICI_ANALIZI.value} />\r\n // </PrivateRoute>\r\n // ),\r\n // icon: <AssignmentIndIcon color=\"primary\" />,\r\n // ekranKodu: EKod.KULLANICI_ANALIZI.value,\r\n // level: 1,\r\n // },\r\n // {\r\n // path: \"/Raporlar/IsSonuclari\",\r\n // text: \"Tamamlanan Görevler Raporu\",\r\n // element: (\r\n // <PrivateRoute>\r\n // <IsSonucuRaporu ekranKodu={EKod.IS_SONUCLARI_RAPORU.value} />\r\n // </PrivateRoute>\r\n // ),\r\n // icon: <CheckCircleOutlineIcon color=\"primary\" />,\r\n // ekranKodu: EKod.IS_SONUCLARI_RAPORU.value,\r\n // level: 1,\r\n // },\r\n // {\r\n // path: \"/Raporlar/GorevDurumuRaporu\",\r\n // text: \"Görev Durumu Raporu\",\r\n // element: (\r\n // <PrivateRoute>\r\n // <GorevDurumuRaporu ekranKodu={EKod.GOREV_DURUMU_RAPORU.value} />\r\n // </PrivateRoute>\r\n // ),\r\n // icon: <CheckCircleOutlineIcon color=\"primary\" />,\r\n // ekranKodu: EKod.GOREV_DURUMU_RAPORU.value,\r\n // level: 1,\r\n // },\r\n // {\r\n // path: \"/Raporlar/MusteriLisansDurumuRaporu\",\r\n // text: \"Müşteri Lisans Durumu Raporu\",\r\n // element: (\r\n // <PrivateRoute>\r\n // <MusteriLisansDurumuRaporu ekranKodu={EKod.MUSTERI_LISANS_DURUMU_RAPORU.value} />\r\n // </PrivateRoute>\r\n // ),\r\n // icon: <AccountBalanceWalletIcon color=\"primary\" />,\r\n // ekranKodu: EKod.MUSTERI_LISANS_DURUMU_RAPORU.value,\r\n // level: 1,\r\n // },\r\n // ],\r\n // },\r\n yeniEklenenOzellikler: {\r\n path: \"/YeniEklenenOzellikler\",\r\n text: \"Yeni Eklenen Özellikler\",\r\n element: (\r\n <PrivateRoute>\r\n <YeniEklenenOzellikler />\r\n </PrivateRoute>\r\n ),\r\n showInSidebar: true,\r\n hasSidebar: true,\r\n icon: <PaymentsIcon color=\"#5a5a5a\" sx={{ fontSize: \"20px\" }}/>,\r\n drawerTextColor: \"#5a5a5a\",\r\n yetkisizEkran: true,\r\n },\r\n\r\n login: {\r\n text: \"Login\",\r\n path: \"/Login\",\r\n element: (\r\n <GardiyanRoute>\r\n <Login />\r\n </GardiyanRoute>\r\n ),\r\n showInSidebar: false,\r\n hasSidebar: false,\r\n yetkisizEkran: true,\r\n drawerTextColor: \"#5a5a5a\",\r\n },\r\n\r\n error: {\r\n text: \"404\",\r\n path: \"/404\",\r\n element: <div>404 not found.</div>,\r\n showInSidebar: false,\r\n hasSidebar: false,\r\n yetkisizEkran: true,\r\n drawerTextColor: \"#5a5a5a\",\r\n },\r\n};\r\n\r\nexport default routes;","import routes from \"../common/routes\";\r\n\r\nconst routesArr = Object.keys(routes).map((route) => {\r\n return {\r\n ...routes[route],\r\n };\r\n});\r\n\r\nexport { routesArr };\r\n","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"addEndListener\", \"appear\", \"children\", \"container\", \"direction\", \"easing\", \"in\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"style\", \"timeout\", \"TransitionComponent\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport HTMLElementType from '@mui/utils/HTMLElementType';\nimport elementAcceptingRef from '@mui/utils/elementAcceptingRef';\nimport getReactElementRef from '@mui/utils/getReactElementRef';\nimport debounce from '../utils/debounce';\nimport useForkRef from '../utils/useForkRef';\nimport useTheme from '../styles/useTheme';\nimport { reflow, getTransitionProps } from '../transitions/utils';\nimport { ownerWindow } from '../utils';\n\n// Translate the node so it can't be seen on the screen.\n// Later, we're going to translate the node back to its original location with `none`.\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction getTranslateValue(direction, node, resolvedContainer) {\n const rect = node.getBoundingClientRect();\n const containerRect = resolvedContainer && resolvedContainer.getBoundingClientRect();\n const containerWindow = ownerWindow(node);\n let transform;\n if (node.fakeTransform) {\n transform = node.fakeTransform;\n } else {\n const computedStyle = containerWindow.getComputedStyle(node);\n transform = computedStyle.getPropertyValue('-webkit-transform') || computedStyle.getPropertyValue('transform');\n }\n let offsetX = 0;\n let offsetY = 0;\n if (transform && transform !== 'none' && typeof transform === 'string') {\n const transformValues = transform.split('(')[1].split(')')[0].split(',');\n offsetX = parseInt(transformValues[4], 10);\n offsetY = parseInt(transformValues[5], 10);\n }\n if (direction === 'left') {\n if (containerRect) {\n return `translateX(${containerRect.right + offsetX - rect.left}px)`;\n }\n return `translateX(${containerWindow.innerWidth + offsetX - rect.left}px)`;\n }\n if (direction === 'right') {\n if (containerRect) {\n return `translateX(-${rect.right - containerRect.left - offsetX}px)`;\n }\n return `translateX(-${rect.left + rect.width - offsetX}px)`;\n }\n if (direction === 'up') {\n if (containerRect) {\n return `translateY(${containerRect.bottom + offsetY - rect.top}px)`;\n }\n return `translateY(${containerWindow.innerHeight + offsetY - rect.top}px)`;\n }\n\n // direction === 'down'\n if (containerRect) {\n return `translateY(-${rect.top - containerRect.top + rect.height - offsetY}px)`;\n }\n return `translateY(-${rect.top + rect.height - offsetY}px)`;\n}\nfunction resolveContainer(containerPropProp) {\n return typeof containerPropProp === 'function' ? containerPropProp() : containerPropProp;\n}\nexport function setTranslateValue(direction, node, containerProp) {\n const resolvedContainer = resolveContainer(containerProp);\n const transform = getTranslateValue(direction, node, resolvedContainer);\n if (transform) {\n node.style.webkitTransform = transform;\n node.style.transform = transform;\n }\n}\n\n/**\n * The Slide transition is used by the [Drawer](/material-ui/react-drawer/) component.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\nconst Slide = /*#__PURE__*/React.forwardRef(function Slide(props, ref) {\n const theme = useTheme();\n const defaultEasing = {\n enter: theme.transitions.easing.easeOut,\n exit: theme.transitions.easing.sharp\n };\n const defaultTimeout = {\n enter: theme.transitions.duration.enteringScreen,\n exit: theme.transitions.duration.leavingScreen\n };\n const {\n addEndListener,\n appear = true,\n children,\n container: containerProp,\n direction = 'down',\n easing: easingProp = defaultEasing,\n in: inProp,\n onEnter,\n onEntered,\n onEntering,\n onExit,\n onExited,\n onExiting,\n style,\n timeout = defaultTimeout,\n // eslint-disable-next-line react/prop-types\n TransitionComponent = Transition\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const childrenRef = React.useRef(null);\n const handleRef = useForkRef(getReactElementRef(children), childrenRef, ref);\n const normalizedTransitionCallback = callback => isAppearing => {\n if (callback) {\n // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n if (isAppearing === undefined) {\n callback(childrenRef.current);\n } else {\n callback(childrenRef.current, isAppearing);\n }\n }\n };\n const handleEnter = normalizedTransitionCallback((node, isAppearing) => {\n setTranslateValue(direction, node, containerProp);\n reflow(node);\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n });\n const handleEntering = normalizedTransitionCallback((node, isAppearing) => {\n const transitionProps = getTransitionProps({\n timeout,\n style,\n easing: easingProp\n }, {\n mode: 'enter'\n });\n node.style.webkitTransition = theme.transitions.create('-webkit-transform', _extends({}, transitionProps));\n node.style.transition = theme.transitions.create('transform', _extends({}, transitionProps));\n node.style.webkitTransform = 'none';\n node.style.transform = 'none';\n if (onEntering) {\n onEntering(node, isAppearing);\n }\n });\n const handleEntered = normalizedTransitionCallback(onEntered);\n const handleExiting = normalizedTransitionCallback(onExiting);\n const handleExit = normalizedTransitionCallback(node => {\n const transitionProps = getTransitionProps({\n timeout,\n style,\n easing: easingProp\n }, {\n mode: 'exit'\n });\n node.style.webkitTransition = theme.transitions.create('-webkit-transform', transitionProps);\n node.style.transition = theme.transitions.create('transform', transitionProps);\n setTranslateValue(direction, node, containerProp);\n if (onExit) {\n onExit(node);\n }\n });\n const handleExited = normalizedTransitionCallback(node => {\n // No need for transitions when the component is hidden\n node.style.webkitTransition = '';\n node.style.transition = '';\n if (onExited) {\n onExited(node);\n }\n });\n const handleAddEndListener = next => {\n if (addEndListener) {\n // Old call signature before `react-transition-group` implemented `nodeRef`\n addEndListener(childrenRef.current, next);\n }\n };\n const updatePosition = React.useCallback(() => {\n if (childrenRef.current) {\n setTranslateValue(direction, childrenRef.current, containerProp);\n }\n }, [direction, containerProp]);\n React.useEffect(() => {\n // Skip configuration where the position is screen size invariant.\n if (inProp || direction === 'down' || direction === 'right') {\n return undefined;\n }\n const handleResize = debounce(() => {\n if (childrenRef.current) {\n setTranslateValue(direction, childrenRef.current, containerProp);\n }\n });\n const containerWindow = ownerWindow(childrenRef.current);\n containerWindow.addEventListener('resize', handleResize);\n return () => {\n handleResize.clear();\n containerWindow.removeEventListener('resize', handleResize);\n };\n }, [direction, inProp, containerProp]);\n React.useEffect(() => {\n if (!inProp) {\n // We need to update the position of the drawer when the direction change and\n // when it's hidden.\n updatePosition();\n }\n }, [inProp, updatePosition]);\n return /*#__PURE__*/_jsx(TransitionComponent, _extends({\n nodeRef: childrenRef,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: handleAddEndListener,\n appear: appear,\n in: inProp,\n timeout: timeout\n }, other, {\n children: (state, childProps) => {\n return /*#__PURE__*/React.cloneElement(children, _extends({\n ref: handleRef,\n style: _extends({\n visibility: state === 'exited' && !inProp ? 'hidden' : undefined\n }, style, children.props.style)\n }, childProps));\n }\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Slide.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Add a custom transition end trigger. Called with the transitioning DOM\n * node and a done callback. Allows for more fine grained transition end\n * logic. Note: Timeouts are still used as a fallback if provided.\n */\n addEndListener: PropTypes.func,\n /**\n * Perform the enter transition when it first mounts if `in` is also `true`.\n * Set this to `false` to disable this behavior.\n * @default true\n */\n appear: PropTypes.bool,\n /**\n * A single child content element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * An HTML element, or a function that returns one.\n * It's used to set the container the Slide is transitioning from.\n */\n container: chainPropTypes(PropTypes.oneOfType([HTMLElementType, PropTypes.func]), props => {\n if (props.open) {\n const resolvedContainer = resolveContainer(props.container);\n if (resolvedContainer && resolvedContainer.nodeType === 1) {\n const box = resolvedContainer.getBoundingClientRect();\n if (process.env.NODE_ENV !== 'test' && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n return new Error(['MUI: The `container` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', \"Make sure the element is present in the document or that it's not display none.\"].join('\\n'));\n }\n } else if (!resolvedContainer || typeof resolvedContainer.getBoundingClientRect !== 'function' || resolvedContainer.contextElement != null && resolvedContainer.contextElement.nodeType !== 1) {\n return new Error(['MUI: The `container` prop provided to the component is invalid.', 'It should be an HTML element instance.'].join('\\n'));\n }\n }\n return null;\n }),\n /**\n * Direction the child node will enter from.\n * @default 'down'\n */\n direction: PropTypes.oneOf(['down', 'left', 'right', 'up']),\n /**\n * The transition timing function.\n * You may specify a single easing or a object containing enter and exit values.\n * @default {\n * enter: theme.transitions.easing.easeOut,\n * exit: theme.transitions.easing.sharp,\n * }\n */\n easing: PropTypes.oneOfType([PropTypes.shape({\n enter: PropTypes.string,\n exit: PropTypes.string\n }), PropTypes.string]),\n /**\n * If `true`, the component will transition in.\n */\n in: PropTypes.bool,\n /**\n * @ignore\n */\n onEnter: PropTypes.func,\n /**\n * @ignore\n */\n onEntered: PropTypes.func,\n /**\n * @ignore\n */\n onEntering: PropTypes.func,\n /**\n * @ignore\n */\n onExit: PropTypes.func,\n /**\n * @ignore\n */\n onExited: PropTypes.func,\n /**\n * @ignore\n */\n onExiting: PropTypes.func,\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n * @default {\n * enter: theme.transitions.duration.enteringScreen,\n * exit: theme.transitions.duration.leavingScreen,\n * }\n */\n timeout: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nexport default Slide;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDrawerUtilityClass(slot) {\n return generateUtilityClass('MuiDrawer', slot);\n}\nconst drawerClasses = generateUtilityClasses('MuiDrawer', ['root', 'docked', 'paper', 'paperAnchorLeft', 'paperAnchorRight', 'paperAnchorTop', 'paperAnchorBottom', 'paperAnchorDockedLeft', 'paperAnchorDockedRight', 'paperAnchorDockedTop', 'paperAnchorDockedBottom', 'modal']);\nexport default drawerClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"BackdropProps\"],\n _excluded2 = [\"anchor\", \"BackdropProps\", \"children\", \"className\", \"elevation\", \"hideBackdrop\", \"ModalProps\", \"onClose\", \"open\", \"PaperProps\", \"SlideProps\", \"TransitionComponent\", \"transitionDuration\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport integerPropType from '@mui/utils/integerPropType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport Modal from '../Modal';\nimport Slide from '../Slide';\nimport Paper from '../Paper';\nimport capitalize from '../utils/capitalize';\nimport useTheme from '../styles/useTheme';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { getDrawerUtilityClass } from './drawerClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, (ownerState.variant === 'permanent' || ownerState.variant === 'persistent') && styles.docked, styles.modal];\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n anchor,\n variant\n } = ownerState;\n const slots = {\n root: ['root'],\n docked: [(variant === 'permanent' || variant === 'persistent') && 'docked'],\n modal: ['modal'],\n paper: ['paper', `paperAnchor${capitalize(anchor)}`, variant !== 'temporary' && `paperAnchorDocked${capitalize(anchor)}`]\n };\n return composeClasses(slots, getDrawerUtilityClass, classes);\n};\nconst DrawerRoot = styled(Modal, {\n name: 'MuiDrawer',\n slot: 'Root',\n overridesResolver\n})(({\n theme\n}) => ({\n zIndex: (theme.vars || theme).zIndex.drawer\n}));\nconst DrawerDockedRoot = styled('div', {\n shouldForwardProp: rootShouldForwardProp,\n name: 'MuiDrawer',\n slot: 'Docked',\n skipVariantsResolver: false,\n overridesResolver\n})({\n flex: '0 0 auto'\n});\nconst DrawerPaper = styled(Paper, {\n name: 'MuiDrawer',\n slot: 'Paper',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.paper, styles[`paperAnchor${capitalize(ownerState.anchor)}`], ownerState.variant !== 'temporary' && styles[`paperAnchorDocked${capitalize(ownerState.anchor)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n overflowY: 'auto',\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n flex: '1 0 auto',\n zIndex: (theme.vars || theme).zIndex.drawer,\n // Add iOS momentum scrolling for iOS < 13.0\n WebkitOverflowScrolling: 'touch',\n // temporary style\n position: 'fixed',\n top: 0,\n // We disable the focus ring for mouse, touch and keyboard users.\n // At some point, it would be better to keep it for keyboard users.\n // :focus-ring CSS pseudo-class will help.\n outline: 0\n}, ownerState.anchor === 'left' && {\n left: 0\n}, ownerState.anchor === 'top' && {\n top: 0,\n left: 0,\n right: 0,\n height: 'auto',\n maxHeight: '100%'\n}, ownerState.anchor === 'right' && {\n right: 0\n}, ownerState.anchor === 'bottom' && {\n top: 'auto',\n left: 0,\n bottom: 0,\n right: 0,\n height: 'auto',\n maxHeight: '100%'\n}, ownerState.anchor === 'left' && ownerState.variant !== 'temporary' && {\n borderRight: `1px solid ${(theme.vars || theme).palette.divider}`\n}, ownerState.anchor === 'top' && ownerState.variant !== 'temporary' && {\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`\n}, ownerState.anchor === 'right' && ownerState.variant !== 'temporary' && {\n borderLeft: `1px solid ${(theme.vars || theme).palette.divider}`\n}, ownerState.anchor === 'bottom' && ownerState.variant !== 'temporary' && {\n borderTop: `1px solid ${(theme.vars || theme).palette.divider}`\n}));\nconst oppositeDirection = {\n left: 'right',\n right: 'left',\n top: 'down',\n bottom: 'up'\n};\nexport function isHorizontal(anchor) {\n return ['left', 'right'].indexOf(anchor) !== -1;\n}\nexport function getAnchor({\n direction\n}, anchor) {\n return direction === 'rtl' && isHorizontal(anchor) ? oppositeDirection[anchor] : anchor;\n}\n\n/**\n * The props of the [Modal](/material-ui/api/modal/) component are available\n * when `variant=\"temporary\"` is set.\n */\nconst Drawer = /*#__PURE__*/React.forwardRef(function Drawer(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiDrawer'\n });\n const theme = useTheme();\n const isRtl = useRtl();\n const defaultTransitionDuration = {\n enter: theme.transitions.duration.enteringScreen,\n exit: theme.transitions.duration.leavingScreen\n };\n const {\n anchor: anchorProp = 'left',\n BackdropProps,\n children,\n className,\n elevation = 16,\n hideBackdrop = false,\n ModalProps: {\n BackdropProps: BackdropPropsProp\n } = {},\n onClose,\n open = false,\n PaperProps = {},\n SlideProps,\n // eslint-disable-next-line react/prop-types\n TransitionComponent = Slide,\n transitionDuration = defaultTransitionDuration,\n variant = 'temporary'\n } = props,\n ModalProps = _objectWithoutPropertiesLoose(props.ModalProps, _excluded),\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n\n // Let's assume that the Drawer will always be rendered on user space.\n // We use this state is order to skip the appear transition during the\n // initial mount of the component.\n const mounted = React.useRef(false);\n React.useEffect(() => {\n mounted.current = true;\n }, []);\n const anchorInvariant = getAnchor({\n direction: isRtl ? 'rtl' : 'ltr'\n }, anchorProp);\n const anchor = anchorProp;\n const ownerState = _extends({}, props, {\n anchor,\n elevation,\n open,\n variant\n }, other);\n const classes = useUtilityClasses(ownerState);\n const drawer = /*#__PURE__*/_jsx(DrawerPaper, _extends({\n elevation: variant === 'temporary' ? elevation : 0,\n square: true\n }, PaperProps, {\n className: clsx(classes.paper, PaperProps.className),\n ownerState: ownerState,\n children: children\n }));\n if (variant === 'permanent') {\n return /*#__PURE__*/_jsx(DrawerDockedRoot, _extends({\n className: clsx(classes.root, classes.docked, className),\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: drawer\n }));\n }\n const slidingDrawer = /*#__PURE__*/_jsx(TransitionComponent, _extends({\n in: open,\n direction: oppositeDirection[anchorInvariant],\n timeout: transitionDuration,\n appear: mounted.current\n }, SlideProps, {\n children: drawer\n }));\n if (variant === 'persistent') {\n return /*#__PURE__*/_jsx(DrawerDockedRoot, _extends({\n className: clsx(classes.root, classes.docked, className),\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: slidingDrawer\n }));\n }\n\n // variant === temporary\n return /*#__PURE__*/_jsx(DrawerRoot, _extends({\n BackdropProps: _extends({}, BackdropProps, BackdropPropsProp, {\n transitionDuration\n }),\n className: clsx(classes.root, classes.modal, className),\n open: open,\n ownerState: ownerState,\n onClose: onClose,\n hideBackdrop: hideBackdrop,\n ref: ref\n }, other, ModalProps, {\n children: slidingDrawer\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Drawer.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Side from which the drawer will appear.\n * @default 'left'\n */\n anchor: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),\n /**\n * @ignore\n */\n BackdropProps: PropTypes.object,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The elevation of the drawer.\n * @default 16\n */\n elevation: integerPropType,\n /**\n * If `true`, the backdrop is not rendered.\n * @default false\n */\n hideBackdrop: PropTypes.bool,\n /**\n * Props applied to the [`Modal`](/material-ui/api/modal/) element.\n * @default {}\n */\n ModalProps: PropTypes.object,\n /**\n * Callback fired when the component requests to be closed.\n * The `reason` parameter can optionally be used to control the response to `onClose`.\n *\n * @param {object} event The event source of the callback.\n * @param {string} reason Can be: `\"escapeKeyDown\"`, `\"backdropClick\"`.\n */\n onClose: PropTypes.func,\n /**\n * If `true`, the component is shown.\n * @default false\n */\n open: PropTypes.bool,\n /**\n * Props applied to the [`Paper`](/material-ui/api/paper/) element.\n * @default {}\n */\n PaperProps: PropTypes.object,\n /**\n * Props applied to the [`Slide`](/material-ui/api/slide/) element.\n */\n SlideProps: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n * @default {\n * enter: theme.transitions.duration.enteringScreen,\n * exit: theme.transitions.duration.leavingScreen,\n * }\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n /**\n * The variant to use.\n * @default 'temporary'\n */\n variant: PropTypes.oneOf(['permanent', 'persistent', 'temporary'])\n} : void 0;\nexport default Drawer;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport GlobalStyles from '../GlobalStyles';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport const html = (theme, enableColorScheme) => _extends({\n WebkitFontSmoothing: 'antialiased',\n // Antialiasing.\n MozOsxFontSmoothing: 'grayscale',\n // Antialiasing.\n // Change from `box-sizing: content-box` so that `width`\n // is not affected by `padding` or `border`.\n boxSizing: 'border-box',\n // Fix font resize problem in iOS\n WebkitTextSizeAdjust: '100%'\n}, enableColorScheme && !theme.vars && {\n colorScheme: theme.palette.mode\n});\nexport const body = theme => _extends({\n color: (theme.vars || theme).palette.text.primary\n}, theme.typography.body1, {\n backgroundColor: (theme.vars || theme).palette.background.default,\n '@media print': {\n // Save printer ink.\n backgroundColor: (theme.vars || theme).palette.common.white\n }\n});\nexport const styles = (theme, enableColorScheme = false) => {\n var _theme$components;\n const colorSchemeStyles = {};\n if (enableColorScheme && theme.colorSchemes) {\n Object.entries(theme.colorSchemes).forEach(([key, scheme]) => {\n var _scheme$palette;\n colorSchemeStyles[theme.getColorSchemeSelector(key).replace(/\\s*&/, '')] = {\n colorScheme: (_scheme$palette = scheme.palette) == null ? void 0 : _scheme$palette.mode\n };\n });\n }\n let defaultStyles = _extends({\n html: html(theme, enableColorScheme),\n '*, *::before, *::after': {\n boxSizing: 'inherit'\n },\n 'strong, b': {\n fontWeight: theme.typography.fontWeightBold\n },\n body: _extends({\n margin: 0\n }, body(theme), {\n // Add support for document.body.requestFullScreen().\n // Other elements, if background transparent, are not supported.\n '&::backdrop': {\n backgroundColor: (theme.vars || theme).palette.background.default\n }\n })\n }, colorSchemeStyles);\n const themeOverrides = (_theme$components = theme.components) == null || (_theme$components = _theme$components.MuiCssBaseline) == null ? void 0 : _theme$components.styleOverrides;\n if (themeOverrides) {\n defaultStyles = [defaultStyles, themeOverrides];\n }\n return defaultStyles;\n};\n\n/**\n * Kickstart an elegant, consistent, and simple baseline to build upon.\n */\nfunction CssBaseline(inProps) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiCssBaseline'\n });\n const {\n children,\n enableColorScheme = false\n } = props;\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(GlobalStyles, {\n styles: theme => styles(theme, enableColorScheme)\n }), children]\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? CssBaseline.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * You can wrap a node.\n */\n children: PropTypes.node,\n /**\n * Enable `color-scheme` CSS property to use `theme.palette.mode`.\n * For more details, check out https://developer.mozilla.org/en-US/docs/Web/CSS/color-scheme\n * For browser support, check out https://caniuse.com/?search=color-scheme\n * @default false\n */\n enableColorScheme: PropTypes.bool\n} : void 0;\nexport default CssBaseline;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getToolbarUtilityClass(slot) {\n return generateUtilityClass('MuiToolbar', slot);\n}\nconst toolbarClasses = generateUtilityClasses('MuiToolbar', ['root', 'gutters', 'regular', 'dense']);\nexport default toolbarClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"component\", \"disableGutters\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled from '../styles/styled';\nimport { getToolbarUtilityClass } from './toolbarClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableGutters,\n variant\n } = ownerState;\n const slots = {\n root: ['root', !disableGutters && 'gutters', variant]\n };\n return composeClasses(slots, getToolbarUtilityClass, classes);\n};\nconst ToolbarRoot = styled('div', {\n name: 'MuiToolbar',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableGutters && styles.gutters, styles[ownerState.variant]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'relative',\n display: 'flex',\n alignItems: 'center'\n}, !ownerState.disableGutters && {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n [theme.breakpoints.up('sm')]: {\n paddingLeft: theme.spacing(3),\n paddingRight: theme.spacing(3)\n }\n}, ownerState.variant === 'dense' && {\n minHeight: 48\n}), ({\n theme,\n ownerState\n}) => ownerState.variant === 'regular' && theme.mixins.toolbar);\nconst Toolbar = /*#__PURE__*/React.forwardRef(function Toolbar(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiToolbar'\n });\n const {\n className,\n component = 'div',\n disableGutters = false,\n variant = 'regular'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component,\n disableGutters,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(ToolbarRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Toolbar.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The Toolbar children, usually a mixture of `IconButton`, `Button` and `Typography`.\n * The Toolbar is a flex container, allowing flex item properties to be used to lay out the children.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, disables gutter padding.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'regular'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['dense', 'regular']), PropTypes.string])\n} : void 0;\nexport default Toolbar;","import React from \"react\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport { Stack } from \"@mui/system\";\r\nimport useBasicDialog from \"../../hooks/use-basic-dialog\";\r\nimport { Alert, AlertTitle } from \"@mui/material\";\r\n\r\nconst TalepDurumInfoDilog = React.forwardRef(({}, ref) => {\r\n const { open, closeRecord } = useBasicDialog(ref);\r\n\r\n const CustomAlert = ({ title, description }) => {\r\n return (\r\n <Alert variant=\"outlined\" severity=\"info\">\r\n <AlertTitle>{title} </AlertTitle>\r\n {[description]}\r\n </Alert>\r\n );\r\n };\r\n\r\n return (\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"Talep Durumları Neyi İfade Eder?\"\r\n maxWidth=\"lg\"\r\n >\r\n <DialogContentWrapper>\r\n <Stack direction=\"column\" spacing={1}>\r\n <CustomAlert\r\n title=\"Yeni Talep:\"\r\n description=\" Yeni oluşturulan talebi ifade etmektedir. Talep üzerinde Bayi/Merkez herhangi işlem (analiz, görevlendirme, yazılıma gönderme vb.) yapılmadığını da ifade eder.\"\r\n />\r\n <CustomAlert\r\n title=\"Çalışma Yapılıyor: \"\r\n description=\"Talep ile Bayi/Merkez ilgilendiği, işlem yaptığı yani iş analizi, görevlendirme, yazılıma gönderme vb. süreçlerden biri veya tümü için çalışma yapıldığını ifade eder.\"\r\n />\r\n <CustomAlert\r\n title=\"Merkeze İletildi:\"\r\n description=\"Bayinin kendi taleplerini veya müşteri taleplerinin ana merkeze iletildiğini ifade etmektedir. (Merkeze iletilen taleplerden sonraki talep durumları merkezin talep ile alakalı yaptığı çalışmaları baz alarak yenilenir.)\"\r\n />\r\n <CustomAlert\r\n title=\"Güncelleme Bekliyor: \"\r\n description=\"Talep ile alakalı iş süreçlerin tamamlandığı yapılan çalışmaların programa/projeye uygulanacağını ve güncelleme beklediğini ifade etmektedir.\"\r\n />\r\n <CustomAlert\r\n title=\"Tamamlandı: \"\r\n description=\"Talep ile alakalı tüm süreçlerin tamamlandığı ve güncelleme ile programa uygulandığını ifade etmektedir.\"\r\n />\r\n <CustomAlert\r\n title=\"Yapılması Uygun Görülmedi: \"\r\n description=\"Bayi/Merkez tarafından talebin ERP projesi ve genel süreç ile alakalı teknik, mantık vb. sebeplerden dolayı herhangi çalışma yapılmayacağını ifade etmektedir.\"\r\n />\r\n <CustomAlert\r\n title=\"Teklife Cevap Bekleniyor: \"\r\n description=\"Bayi/Merkez tarafından talebe teklif verildiğini ifade etmektedir. (Teklif onay işlemi teklif çıktısı ekranındaki çıktının yetkili kişilerce onaylı halinin imzalanarak talebe yüklenmesi süreci ile ilerler.)\"\r\n />\r\n <CustomAlert\r\n title=\"Teklif Reddedildi:\"\r\n description=\"Bayi/Merkez tarafından talebe verilen teklifin Müşteri tarafından teklif çıktısı ekranı üzerinden reddedilmesi sonrası gerçekleşen talep durumudur.\"\r\n />\r\n <CustomAlert\r\n title=\"Onaylı Teklif Yapılıyor:\"\r\n description=\"Müşteri tarafından onaylanan teklifli iş için, işlem yapıldığı yani iş analizi, görevlendirme, yazılıma gönderme vb. süreçlerden biri veya tümü için çalışma yapıldığını ifade eder.\"\r\n />\r\n <CustomAlert\r\n title=\"Onaylı Teklif Tamamlandı:\"\r\n description=\"Müşteri tarafından onaylanan Talep ile alakalı tüm süreçlerin tamamlandığı ve güncelleme ile programa uygulandığını ifade etmektedir.\"\r\n />\r\n </Stack>\r\n </DialogContentWrapper>\r\n </ScrollDialog>\r\n );\r\n});\r\nexport default TalepDurumInfoDilog;\r\n","import React, { useRef } from \"react\";\r\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\r\nimport YouTubeIcon from \"@mui/icons-material/YouTube\";\r\nimport HelpOutlineIcon from \"@mui/icons-material/HelpOutline\";\r\nimport FolderIcon from \"@mui/icons-material/Folder\";\r\nimport PopoverViaButton from \"../buttons/PopoverViaButton\";\r\nimport { Divider, IconButton } from \"@mui/material\";\r\nimport { ctheme } from \"../../theme/theme\";\r\nimport TalepDurumInfoDilog from \"../../pages/Profile/TalepDurumInfoDialog\";\r\nimport List from \"@mui/material/List\";\r\nimport NavigateListItem from \"../buttons/custom/NavigateListItem\";\r\nimport routes from \"../../common/routes\";\r\nimport FiberNewIcon from \"@mui/icons-material/FiberNew\";\r\n\r\nexport default function AppBarInfoButton() {\r\n const talepDurumuInfoDialogRef = useRef();\r\n\r\n return (\r\n <>\r\n <PopoverViaButton\r\n PButton={() => (\r\n <IconButton color=\"error\" sx={{ mr: 2 }}>\r\n <ErrorOutlineIcon />\r\n </IconButton>\r\n )}\r\n >\r\n <List sx={{ p: 1 }}>\r\n <NavigateListItem\r\n onClick={() => {\r\n window.open(\r\n // \"https://disk.yandex.com.tr/d/kGCuBgjqDOxu7w\",\r\n \"https://disk.yandex.com/d/GeexnMqq-JCQrg\",\r\n \"_blank\"\r\n );\r\n }}\r\n >\r\n <FolderIcon\r\n sx={{ mr: 1, color: ctheme.colors.navyBlue }}\r\n fontSize=\"small\"\r\n />\r\n Dokümanlar\r\n </NavigateListItem>\r\n <Divider />\r\n\r\n <Divider />\r\n <NavigateListItem\r\n onClick={() => {\r\n window.open(\"https://www.youtube.com/@harmonyerptr\", \"_blank\");\r\n\r\n // window.location.href =\r\n // \"https://disk.yandex.com.tr/d/kGCuBgjqDOxu7w\";\r\n }}\r\n >\r\n <YouTubeIcon sx={{ mr: 1, color: \"red\" }} />\r\n Youtube Kanalı\r\n </NavigateListItem>\r\n <Divider />\r\n <NavigateListItem\r\n onClick={() => {\r\n talepDurumuInfoDialogRef?.current?.openRecord();\r\n }}\r\n >\r\n <HelpOutlineIcon\r\n sx={{ mr: 1, color: ctheme.colors.navyBlue }}\r\n fontSize=\"small\"\r\n />\r\n Talep Durumları Neyi İfade Eder?\r\n </NavigateListItem>\r\n <Divider />\r\n <NavigateListItem path={routes.yeniEklenenOzellikler.path}>\r\n <FiberNewIcon sx={{ mr: 1 }} />\r\n Yeni Eklenen Özellikler\r\n </NavigateListItem>\r\n <Divider />\r\n </List>\r\n </PopoverViaButton>\r\n\r\n <TalepDurumInfoDilog ref={talepDurumuInfoDialogRef}></TalepDurumInfoDilog>\r\n </>\r\n );\r\n}\r\n","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\"\n}), 'Person');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAvatarUtilityClass(slot) {\n return generateUtilityClass('MuiAvatar', slot);\n}\nconst avatarClasses = generateUtilityClasses('MuiAvatar', ['root', 'colorDefault', 'circular', 'rounded', 'square', 'img', 'fallback']);\nexport default avatarClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"alt\", \"children\", \"className\", \"component\", \"slots\", \"slotProps\", \"imgProps\", \"sizes\", \"src\", \"srcSet\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from '../zero-styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport Person from '../internal/svg-icons/Person';\nimport { getAvatarUtilityClass } from './avatarClasses';\nimport useSlot from '../utils/useSlot';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n colorDefault\n } = ownerState;\n const slots = {\n root: ['root', variant, colorDefault && 'colorDefault'],\n img: ['img'],\n fallback: ['fallback']\n };\n return composeClasses(slots, getAvatarUtilityClass, classes);\n};\nconst AvatarRoot = styled('div', {\n name: 'MuiAvatar',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], ownerState.colorDefault && styles.colorDefault];\n }\n})(({\n theme\n}) => ({\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n width: 40,\n height: 40,\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.pxToRem(20),\n lineHeight: 1,\n borderRadius: '50%',\n overflow: 'hidden',\n userSelect: 'none',\n variants: [{\n props: {\n variant: 'rounded'\n },\n style: {\n borderRadius: (theme.vars || theme).shape.borderRadius\n }\n }, {\n props: {\n variant: 'square'\n },\n style: {\n borderRadius: 0\n }\n }, {\n props: {\n colorDefault: true\n },\n style: _extends({\n color: (theme.vars || theme).palette.background.default\n }, theme.vars ? {\n backgroundColor: theme.vars.palette.Avatar.defaultBg\n } : _extends({\n backgroundColor: theme.palette.grey[400]\n }, theme.applyStyles('dark', {\n backgroundColor: theme.palette.grey[600]\n })))\n }]\n}));\nconst AvatarImg = styled('img', {\n name: 'MuiAvatar',\n slot: 'Img',\n overridesResolver: (props, styles) => styles.img\n})({\n width: '100%',\n height: '100%',\n textAlign: 'center',\n // Handle non-square image. The property isn't supported by IE11.\n objectFit: 'cover',\n // Hide alt text.\n color: 'transparent',\n // Hide the image broken icon, only works on Chrome.\n textIndent: 10000\n});\nconst AvatarFallback = styled(Person, {\n name: 'MuiAvatar',\n slot: 'Fallback',\n overridesResolver: (props, styles) => styles.fallback\n})({\n width: '75%',\n height: '75%'\n});\nfunction useLoaded({\n crossOrigin,\n referrerPolicy,\n src,\n srcSet\n}) {\n const [loaded, setLoaded] = React.useState(false);\n React.useEffect(() => {\n if (!src && !srcSet) {\n return undefined;\n }\n setLoaded(false);\n let active = true;\n const image = new Image();\n image.onload = () => {\n if (!active) {\n return;\n }\n setLoaded('loaded');\n };\n image.onerror = () => {\n if (!active) {\n return;\n }\n setLoaded('error');\n };\n image.crossOrigin = crossOrigin;\n image.referrerPolicy = referrerPolicy;\n image.src = src;\n if (srcSet) {\n image.srcset = srcSet;\n }\n return () => {\n active = false;\n };\n }, [crossOrigin, referrerPolicy, src, srcSet]);\n return loaded;\n}\nconst Avatar = /*#__PURE__*/React.forwardRef(function Avatar(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiAvatar'\n });\n const {\n alt,\n children: childrenProp,\n className,\n component = 'div',\n slots = {},\n slotProps = {},\n imgProps,\n sizes,\n src,\n srcSet,\n variant = 'circular'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n let children = null;\n\n // Use a hook instead of onError on the img element to support server-side rendering.\n const loaded = useLoaded(_extends({}, imgProps, {\n src,\n srcSet\n }));\n const hasImg = src || srcSet;\n const hasImgNotFailing = hasImg && loaded !== 'error';\n const ownerState = _extends({}, props, {\n colorDefault: !hasImgNotFailing,\n component,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const [ImgSlot, imgSlotProps] = useSlot('img', {\n className: classes.img,\n elementType: AvatarImg,\n externalForwardedProps: {\n slots,\n slotProps: {\n img: _extends({}, imgProps, slotProps.img)\n }\n },\n additionalProps: {\n alt,\n src,\n srcSet,\n sizes\n },\n ownerState\n });\n if (hasImgNotFailing) {\n children = /*#__PURE__*/_jsx(ImgSlot, _extends({}, imgSlotProps));\n // We only render valid children, non valid children are rendered with a fallback\n // We consider that invalid children are all falsy values, except 0, which is valid.\n } else if (!!childrenProp || childrenProp === 0) {\n children = childrenProp;\n } else if (hasImg && alt) {\n children = alt[0];\n } else {\n children = /*#__PURE__*/_jsx(AvatarFallback, {\n ownerState: ownerState,\n className: classes.fallback\n });\n }\n return /*#__PURE__*/_jsx(AvatarRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Avatar.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Used in combination with `src` or `srcSet` to\n * provide an alt attribute for the rendered `img` element.\n */\n alt: PropTypes.string,\n /**\n * Used to render icon or text elements inside the Avatar if `src` is not set.\n * This can be an element, or just a string.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attributes) applied to the `img` element if the component is used to display an image.\n * It can be used to listen for the loading error event.\n * @deprecated Use `slotProps.img` instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).\n */\n imgProps: PropTypes.object,\n /**\n * The `sizes` attribute for the `img` element.\n */\n sizes: PropTypes.string,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n img: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n img: PropTypes.elementType\n }),\n /**\n * The `src` attribute for the `img` element.\n */\n src: PropTypes.string,\n /**\n * The `srcSet` attribute for the `img` element.\n * Use this attribute for responsive image display.\n */\n srcSet: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The shape of the avatar.\n * @default 'circular'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['circular', 'rounded', 'square']), PropTypes.string])\n} : void 0;\nexport default Avatar;","import { Avatar } from \"@mui/material\";\r\nimport React from \"react\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\n\r\nconst AppBarAvatar = () => {\r\n const context = React.useContext(AppContext);\r\n\r\n function stringToColor(string) {\r\n let hash = 0;\r\n let i;\r\n\r\n for (i = 0; i < string.length; i += 1) {\r\n hash = string.charCodeAt(i) + ((hash << 5) - hash);\r\n }\r\n\r\n let color = \"#\";\r\n\r\n for (i = 0; i < 3; i += 1) {\r\n const value = (hash >> (i * 8)) & 0xff;\r\n color += `00${value.toString(16)}`.slice(-2);\r\n }\r\n return color;\r\n }\r\n function stringAvatar(name) {\r\n return {\r\n sx: {\r\n bgcolor: stringToColor(name),\r\n cursor: \"pointer\",\r\n border: \"1px solid #25D366\",\r\n },\r\n children: `${name.split(\" \")[0][0]}`,\r\n };\r\n }\r\n return (\r\n <Avatar\r\n alt=\"Logo\"\r\n sx={{\r\n cursor: \"pointer\",\r\n backgroundColor: \"white\",\r\n border: \"1px solid #25D366\",\r\n }}\r\n {...(context.user.logo\r\n ? { src: `data:image/jpeg;base64,${context.user.logo}` }\r\n : {\r\n ...stringAvatar(context.user.sirketAdi ?? \"K\"),\r\n // cursor: \"pointer\",\r\n })}\r\n />\r\n );\r\n};\r\n\r\nexport default AppBarAvatar;\r\n","import React, { useContext } from \"react\";\r\nimport { Field, Form } from \"react-final-form\";\r\nimport ScrollDialog from \"../../components/dialogs/ScrollDialog\";\r\nimport useDialog from \"../../hooks/use-dialog\";\r\nimport * as yup from \"yup\";\r\nimport DialogContentWrapper from \"../../components/dialogs/DialogContentWrapper\";\r\nimport { Stack } from \"@mui/system\";\r\nimport FieldWrapper from \"../../components/inputs/form-inputs/FieldWrapper\";\r\nimport DialogActionsWrapper from \"../../components/dialogs/DialogActionsWrapper\";\r\nimport ButtonWrapper from \"../../components/buttons/ButtonWrapper\";\r\nimport { Save } from \"@mui/icons-material\";\r\nimport TextInputForm from \"../../components/inputs/form-inputs/TextInputForm\";\r\nimport useSubmit from \"../../hooks/use-submit\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\n\r\nconst GuncellemeVersiyonuDialog = React.forwardRef(({}, ref) => {\r\n const { open, closeRecord, validateFormValues } = useDialog(ref);\r\n const context = useContext(AppContext);\r\n\r\n const afterSubmitFnc = (res) => {\r\n if (res.data.success)\r\n context.setGuncellemeVersiyonuAdi(res.data.data.guncellemeVersiyonuAdi);\r\n };\r\n\r\n const handleSubmit = useSubmit(\r\n { insertRoute: \"Talep/GuncellemeVersiyonuUpdate\" },\r\n null,\r\n null,\r\n afterSubmitFnc\r\n );\r\n\r\n const validationSchema = yup.object().shape({\r\n guncellemeVersiyonuAdi: yup.string().required(),\r\n });\r\n\r\n const validate = validateFormValues(validationSchema);\r\n\r\n return (\r\n <>\r\n <ScrollDialog\r\n open={open}\r\n handleClose={closeRecord}\r\n modalTitle=\"Güncelleme Versiyonu Adı\"\r\n maxWidth=\"sm\"\r\n canFullScreen={false}\r\n >\r\n <Form\r\n onSubmit={handleSubmit}\r\n initialValues={{}}\r\n validate={validate}\r\n render={({\r\n handleSubmit,\r\n form,\r\n submitting,\r\n pristine,\r\n values,\r\n reset,\r\n }) => (\r\n <form onSubmit={handleSubmit}>\r\n <DialogContentWrapper>\r\n <Stack direction=\"column\" spacing={1}>\r\n <FieldWrapper label=\"Güncelleme versiyonu adı\">\r\n <Field\r\n name=\"guncellemeVersiyonuAdi\"\r\n component={TextInputForm}\r\n maxLength={30}\r\n />\r\n </FieldWrapper>\r\n </Stack>\r\n </DialogContentWrapper>\r\n <DialogActionsWrapper>\r\n <ButtonWrapper\r\n color=\"success\"\r\n startIcon={<Save />}\r\n onClick={(e) => {\r\n form.submit();\r\n closeRecord();\r\n }}\r\n >\r\n Kaydet\r\n </ButtonWrapper>\r\n </DialogActionsWrapper>\r\n </form>\r\n )}\r\n />\r\n </ScrollDialog>\r\n </>\r\n );\r\n});\r\nexport default GuncellemeVersiyonuDialog;\r\n","import React, { useContext, useRef } from \"react\";\r\nimport { Divider, List } from \"@mui/material\";\r\nimport LogoutIcon from \"@mui/icons-material/LogoutOutlined\";\r\nimport AuthService from \"../../services/AuthService\";\r\nimport routes from \"../../common/routes\";\r\nimport ManageAccountsIcon from \"@mui/icons-material/ManageAccounts\";\r\nimport PopoverViaButton from \"../buttons/PopoverViaButton\";\r\nimport NavigateListItem from \"../buttons/custom/NavigateListItem\";\r\nimport AppBarAvatar from \"./AppBarAvatar\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport { YETKI_GRUBU_TIPI } from \"../../common/constants\";\r\nimport ComputerIcon from \"@mui/icons-material/Computer\";\r\nimport GuncellemeVersiyonuDialog from \"../../pages/Profile/GuncellemeVersiyonuDialog\";\r\n\r\nexport default function AppBarLogoButton() {\r\n const context = useContext(AppContext);\r\n const guncellemeVersiyonuDialogRef = useRef();\r\n\r\n return (\r\n <>\r\n <PopoverViaButton PButton={() => <AppBarAvatar />}>\r\n <List sx={{ p: 1 }}>\r\n <NavigateListItem path={routes.kullaniciBilgileri.path}>\r\n <ManageAccountsIcon sx={{ mr: 1 }} />\r\n Kullanıcı Bilgilerim\r\n </NavigateListItem>\r\n <Divider />\r\n {context.user.yetkiGrubuTipi === YETKI_GRUBU_TIPI.MUSTERI.Value && (\r\n <>\r\n <NavigateListItem path={routes.profil.path}>\r\n <ManageAccountsIcon sx={{ mr: 1 }} />\r\n Şirket Bilgilerim\r\n </NavigateListItem>\r\n <Divider />\r\n </>\r\n )}\r\n {/* //TODO YARDİM PDF\r\n <NavigateListItem path={routes.yardim.path}>\r\n <HelpIcon sx={{ mr: 1 }} fontSize=\"small\" />\r\n Yardım\r\n </NavigateListItem>\r\n <Divider /> */}\r\n {context.user.yetkiGrubuTipi ===\r\n YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value && (\r\n <>\r\n <NavigateListItem\r\n // color=\"#e61d29\"\r\n onClick={() => {\r\n guncellemeVersiyonuDialogRef?.current?.openRecord();\r\n }}\r\n >\r\n <ComputerIcon sx={{ mr: 1 }} fontSize=\"small\" />\r\n Güncelleme versiyonu çıkarıldı\r\n {context.user.guncellemeVersiyonuAdi &&\r\n \" (\" + context.user.guncellemeVersiyonuAdi + \")\"}\r\n </NavigateListItem>\r\n <Divider />\r\n </>\r\n )}\r\n <NavigateListItem\r\n path={routes.login.path}\r\n color=\"#e61d29\"\r\n onClick={() => AuthService.logout(context)}\r\n >\r\n <LogoutIcon sx={{ mr: 1 }} fontSize=\"small\" />\r\n Oturumu Kapat\r\n </NavigateListItem>\r\n </List>\r\n </PopoverViaButton>\r\n <GuncellemeVersiyonuDialog ref={guncellemeVersiyonuDialogRef} />\r\n </>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Grid } from \"@mui/material\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport { APP_BAR_HEIGHT, DRAWER_WIDTH } from \"../../common/constants\";\r\nimport { ctheme } from \"../../theme/theme\";\r\nimport Toolbar from \"@mui/material/Toolbar\";\r\nimport Typography from \"@mui/material/Typography\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport MenuIcon from \"@mui/icons-material/Menu\";\r\nimport { routesArr } from \"../../router/router\";\r\nimport { styled } from \"@mui/material/styles\";\r\nimport MuiAppBar from \"@mui/material/AppBar\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport AppBarInfoButton from \"./AppBarInfoButton\";\r\nimport AppBarLogoButton from \"./AppBarLogoButton\";\r\n\r\nconst AppBar = styled(MuiAppBar, {\r\n shouldForwardProp: (prop) => prop !== \"open\",\r\n})(({ theme, open }) => ({\r\n transition: theme.transitions.create([\"margin\", \"width\"], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n backgroundColor: ctheme.colors.gridHeaderColor,\r\n color: \"black\",\r\n ...(open && {\r\n width: `calc(100% - ${DRAWER_WIDTH}px)`,\r\n marginLeft: `${DRAWER_WIDTH}px`,\r\n transition: theme.transitions.create([\"margin\", \"width\"], {\r\n easing: theme.transitions.easing.easeOut,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n }),\r\n}));\r\n\r\nexport default function MyAppBar({ handleDrawerOpen, open }) {\r\n const context = React.useContext(AppContext);\r\n const { pathname } = useLocation();\r\n\r\n return (\r\n <AppBar position=\"fixed\" open={open} sx={{ height: APP_BAR_HEIGHT }}>\r\n <Toolbar\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n minHeight: \"40px !important\", // Varsayılan height değerini değiştirin\r\n }}\r\n >\r\n <Grid sx={{ display: \"flex\", alignItems: \"center\" }}>\r\n <IconButton\r\n color=\"inherit\"\r\n aria-label=\"open drawer\"\r\n onClick={handleDrawerOpen}\r\n edge=\"start\"\r\n sx={{ mr: 2, ...(open && { display: \"none\" }) }}\r\n >\r\n <MenuIcon />\r\n </IconButton>\r\n {!open && (\r\n <img\r\n src=\"/erplogorenkli.png\"\r\n style={{ height: \"40px\", marginRight: 10 }}\r\n alt=\"Logo\"\r\n />\r\n )}\r\n <Typography\r\n variant=\"h6\"\r\n noWrap\r\n component=\"div\"\r\n color=\"primary.main\"\r\n sx={{ cursor: \"default\" }}\r\n >\r\n {routesArr.find((x) => x.path === pathname)?.text ||\r\n routesArr\r\n .find((x) => x.children?.find((y) => y.path === pathname))\r\n ?.children.find((y) => y.path === pathname)?.text}\r\n\r\n {/* {routesArr.find((x) => x.path == pathname)?.text} */}\r\n </Typography>\r\n </Grid>\r\n <Grid sx={{ display: \"flex\", alignItems: \"center\" }}>\r\n <Grid sx={{ display: \"block\", mr: 3, cursor: \"default\" }}>\r\n <Typography sx={{ fontSize: \"8pt\" }} align=\"center\">\r\n {context.user?.sirketAdi}\r\n </Typography>\r\n <Typography sx={{ fontSize: \"8pt\" }} align=\"center\">\r\n {context.user?.isim + \" \" + context.user?.soyisim}\r\n </Typography>\r\n </Grid>\r\n <AppBarInfoButton></AppBarInfoButton>\r\n <AppBarLogoButton></AppBarLogoButton>\r\n </Grid>\r\n </Toolbar>\r\n </AppBar>\r\n );\r\n}\r\n","export function capitalizeFirstLetter(str) {\r\n let words = str.toLowerCase().split(\" \");\r\n for (let i = 0; i < words.length; i++) {\r\n let word = words[i];\r\n words[i] = word.charAt(0).toUpperCase() + word.slice(1);\r\n }\r\n return words.join(\" \").replace(/I/g, \"İ\");\r\n}\r\n","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"alignItems\", \"autoFocus\", \"component\", \"children\", \"dense\", \"disableGutters\", \"divider\", \"focusVisibleClassName\", \"selected\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport ListContext from '../List/ListContext';\nimport listItemButtonClasses, { getListItemButtonUtilityClass } from './listItemButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.alignItems === 'flex-start' && styles.alignItemsFlexStart, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\nconst useUtilityClasses = ownerState => {\n const {\n alignItems,\n classes,\n dense,\n disabled,\n disableGutters,\n divider,\n selected\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', !disableGutters && 'gutters', divider && 'divider', disabled && 'disabled', alignItems === 'flex-start' && 'alignItemsFlexStart', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getListItemButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst ListItemButtonRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiListItemButton',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n flexGrow: 1,\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minWidth: 0,\n boxSizing: 'border-box',\n textAlign: 'left',\n paddingTop: 8,\n paddingBottom: 8,\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n }),\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: (theme.vars || theme).palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${listItemButtonClasses.selected}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${listItemButtonClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${listItemButtonClasses.selected}:hover`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${listItemButtonClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`&.${listItemButtonClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n }\n}, ownerState.divider && {\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`,\n backgroundClip: 'padding-box'\n}, ownerState.alignItems === 'flex-start' && {\n alignItems: 'flex-start'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.dense && {\n paddingTop: 4,\n paddingBottom: 4\n}));\nconst ListItemButton = /*#__PURE__*/React.forwardRef(function ListItemButton(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiListItemButton'\n });\n const {\n alignItems = 'center',\n autoFocus = false,\n component = 'div',\n children,\n dense = false,\n disableGutters = false,\n divider = false,\n focusVisibleClassName,\n selected = false,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = React.useContext(ListContext);\n const childContext = React.useMemo(() => ({\n dense: dense || context.dense || false,\n alignItems,\n disableGutters\n }), [alignItems, context.dense, dense, disableGutters]);\n const listItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (listItemRef.current) {\n listItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a ListItemButton whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n const ownerState = _extends({}, props, {\n alignItems,\n dense: childContext.dense,\n disableGutters,\n divider,\n selected\n });\n const classes = useUtilityClasses(ownerState);\n const handleRef = useForkRef(listItemRef, ref);\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(ListItemButtonRoot, _extends({\n ref: handleRef,\n href: other.href || other.to\n // `ButtonBase` processes `href` or `to` if `component` is set to 'button'\n ,\n component: (other.href || other.to) && component === 'div' ? 'button' : component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),\n ownerState: ownerState,\n className: clsx(classes.root, className)\n }, other, {\n classes: classes,\n children: children\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItemButton.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Defines the `align-items` style property.\n * @default 'center'\n */\n alignItems: PropTypes.oneOf(['center', 'flex-start']),\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n /**\n * The content of the component if a `ListItemSecondaryAction` is used it must\n * be the last child.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent List component.\n * @default false\n */\n dense: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * If `true`, a 1px light border is added to the bottom of the list item.\n * @default false\n */\n divider: PropTypes.bool,\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * @ignore\n */\n href: PropTypes.string,\n /**\n * Use to apply selected styling.\n * @default false\n */\n selected: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default ListItemButton;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListItemIconUtilityClass(slot) {\n return generateUtilityClass('MuiListItemIcon', slot);\n}\nconst listItemIconClasses = generateUtilityClasses('MuiListItemIcon', ['root', 'alignItemsFlexStart']);\nexport default listItemIconClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport { getListItemIconUtilityClass } from './listItemIconClasses';\nimport ListContext from '../List/ListContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n alignItems,\n classes\n } = ownerState;\n const slots = {\n root: ['root', alignItems === 'flex-start' && 'alignItemsFlexStart']\n };\n return composeClasses(slots, getListItemIconUtilityClass, classes);\n};\nconst ListItemIconRoot = styled('div', {\n name: 'MuiListItemIcon',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.alignItems === 'flex-start' && styles.alignItemsFlexStart];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n minWidth: 56,\n color: (theme.vars || theme).palette.action.active,\n flexShrink: 0,\n display: 'inline-flex'\n}, ownerState.alignItems === 'flex-start' && {\n marginTop: 8\n}));\n\n/**\n * A simple wrapper to apply `List` styles to an `Icon` or `SvgIcon`.\n */\nconst ListItemIcon = /*#__PURE__*/React.forwardRef(function ListItemIcon(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiListItemIcon'\n });\n const {\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = React.useContext(ListContext);\n const ownerState = _extends({}, props, {\n alignItems: context.alignItems\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(ListItemIconRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItemIcon.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component, normally `Icon`, `SvgIcon`,\n * or a `@mui/icons-material` SVG icon element.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default ListItemIcon;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListItemTextUtilityClass(slot) {\n return generateUtilityClass('MuiListItemText', slot);\n}\nconst listItemTextClasses = generateUtilityClasses('MuiListItemText', ['root', 'multiline', 'dense', 'inset', 'primary', 'secondary']);\nexport default listItemTextClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"disableTypography\", \"inset\", \"primary\", \"primaryTypographyProps\", \"secondary\", \"secondaryTypographyProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport Typography from '../Typography';\nimport ListContext from '../List/ListContext';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled from '../styles/styled';\nimport listItemTextClasses, { getListItemTextUtilityClass } from './listItemTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n inset,\n primary,\n secondary,\n dense\n } = ownerState;\n const slots = {\n root: ['root', inset && 'inset', dense && 'dense', primary && secondary && 'multiline'],\n primary: ['primary'],\n secondary: ['secondary']\n };\n return composeClasses(slots, getListItemTextUtilityClass, classes);\n};\nconst ListItemTextRoot = styled('div', {\n name: 'MuiListItemText',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${listItemTextClasses.primary}`]: styles.primary\n }, {\n [`& .${listItemTextClasses.secondary}`]: styles.secondary\n }, styles.root, ownerState.inset && styles.inset, ownerState.primary && ownerState.secondary && styles.multiline, ownerState.dense && styles.dense];\n }\n})(({\n ownerState\n}) => _extends({\n flex: '1 1 auto',\n minWidth: 0,\n marginTop: 4,\n marginBottom: 4\n}, ownerState.primary && ownerState.secondary && {\n marginTop: 6,\n marginBottom: 6\n}, ownerState.inset && {\n paddingLeft: 56\n}));\nconst ListItemText = /*#__PURE__*/React.forwardRef(function ListItemText(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiListItemText'\n });\n const {\n children,\n className,\n disableTypography = false,\n inset = false,\n primary: primaryProp,\n primaryTypographyProps,\n secondary: secondaryProp,\n secondaryTypographyProps\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n dense\n } = React.useContext(ListContext);\n let primary = primaryProp != null ? primaryProp : children;\n let secondary = secondaryProp;\n const ownerState = _extends({}, props, {\n disableTypography,\n inset,\n primary: !!primary,\n secondary: !!secondary,\n dense\n });\n const classes = useUtilityClasses(ownerState);\n if (primary != null && primary.type !== Typography && !disableTypography) {\n primary = /*#__PURE__*/_jsx(Typography, _extends({\n variant: dense ? 'body2' : 'body1',\n className: classes.primary,\n component: primaryTypographyProps != null && primaryTypographyProps.variant ? undefined : 'span',\n display: \"block\"\n }, primaryTypographyProps, {\n children: primary\n }));\n }\n if (secondary != null && secondary.type !== Typography && !disableTypography) {\n secondary = /*#__PURE__*/_jsx(Typography, _extends({\n variant: \"body2\",\n className: classes.secondary,\n color: \"text.secondary\",\n display: \"block\"\n }, secondaryTypographyProps, {\n children: secondary\n }));\n }\n return /*#__PURE__*/_jsxs(ListItemTextRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [primary, secondary]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItemText.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Alias for the `primary` prop.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the children won't be wrapped by a Typography component.\n * This can be useful to render an alternative Typography variant by wrapping\n * the `children` (or `primary`) text, and optional `secondary` text\n * with the Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n /**\n * If `true`, the children are indented.\n * This should be used if there is no left avatar or left icon.\n * @default false\n */\n inset: PropTypes.bool,\n /**\n * The main content element.\n */\n primary: PropTypes.node,\n /**\n * These props will be forwarded to the primary typography component\n * (as long as disableTypography is not `true`).\n */\n primaryTypographyProps: PropTypes.object,\n /**\n * The secondary content element.\n */\n secondary: PropTypes.node,\n /**\n * These props will be forwarded to the secondary typography component\n * (as long as disableTypography is not `true`).\n */\n secondaryTypographyProps: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default ListItemText;","import React, { useState } from \"react\";\r\nimport Collapse from \"@mui/material/Collapse\";\r\nimport ExpandMoreIcon from \"@mui/icons-material/ExpandMore\";\r\nimport ChevronRightIcon from \"@mui/icons-material/ChevronRight\";\r\nimport { ctheme } from \"../../theme/theme\";\r\nimport { capitalizeFirstLetter } from \"../../common/constant-functions/capitalizeFirstLetter\";\r\nimport { useNavigate } from \"react-router-dom\";\r\nimport ListItemButton from \"@mui/material/ListItemButton\";\r\nimport ListItemIcon from \"@mui/material/ListItemIcon\";\r\nimport ListItemText from \"@mui/material/ListItemText\";\r\nimport List from \"@mui/material/List\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\n\r\nfunction DrawerListItem({ route }) {\r\n const [open, setOpen] = useState(false);\r\n const navigate = useNavigate();\r\n\r\n const handleToggle = () => {\r\n setOpen(!open);\r\n };\r\n\r\n const context = React.useContext(AppContext);\r\n\r\n // const slashSay = route.path.split(\"/\").length - 1;\r\n\r\n return (\r\n <>\r\n {route.children ? (\r\n <>\r\n <ListItemButton onClick={handleToggle} sx={{\r\n padding: \"2px\",\r\n }}>\r\n \r\n <ListItemIcon\r\n sx={{\r\n paddingLeft: 0,\r\n minWidth: 30,\r\n // fontSize: slashSay > 1 ? \"0.8\" : \"1\",\r\n }}\r\n >\r\n {route.icon}\r\n </ListItemIcon>\r\n <ListItemText\r\n sx={{\r\n color: route.drawerTextColor\r\n ? route.drawerTextColor\r\n : ctheme.colors.navyBlue,\r\n }}\r\n primaryTypographyProps={{ fontSize: \"0.9rem\", fontWeight: \"bolder\", fontFamily: \"Roboto, Arial, sans-serif\" }} // Yazı boyutunu küçültme\r\n primary={capitalizeFirstLetter(route.text)}\r\n />\r\n {<ListItemIcon\r\n sx={{\r\n minWidth: \"24px\",\r\n }}\r\n >\r\n {open ? (\r\n <ExpandMoreIcon color=\"#5a5a5a\" />\r\n ) : (\r\n <ChevronRightIcon color=\"#5a5a5a\" />\r\n )}\r\n </ListItemIcon> }\r\n \r\n </ListItemButton>\r\n <Collapse in={open} timeout=\"auto\" unmountOnExit>\r\n <List component=\"div\" disablePadding>\r\n {route?.children\r\n ?.filter(\r\n (x) =>\r\n x.yetkisizEkran ||\r\n context?.user?.yetkiler?.find(\r\n (y) => x.ekranKodu === y.ekranKodu && y.goruntule\r\n )\r\n )\r\n .map((childRoute, index) => (\r\n <DrawerListItem route={childRoute} key={index} />\r\n ))}\r\n </List>\r\n </Collapse>\r\n </>\r\n ) : \r\n !route.baslikGibiDavran ? \r\n (\r\n <ListItemButton onClick={() => navigate(route.path)} sx={{\r\n padding: \"2px\",\r\n }}>\r\n <ListItemIcon\r\n sx={{\r\n paddingLeft: route.level * 3,\r\n minWidth: 40,\r\n // fontSize: slashSay > 1 ? \"0.8\" : \"1\",\r\n }}\r\n >\r\n {route.icon}\r\n </ListItemIcon>\r\n <ListItemText\r\n sx={{\r\n color: route.drawerTextColor\r\n ? route.drawerTextColor\r\n : ctheme.colors.navyBlue,\r\n\r\n paddingLeft: \"10px\", \r\n // paddingLeft: route.level * 3,\r\n }}\r\n primaryTypographyProps={{ fontSize: \"0.9rem\", fontFamily: \"Roboto, Arial, sans-serif\" }} // Yazı boyutunu küçültme\r\n primary={capitalizeFirstLetter(route.text)}\r\n />\r\n </ListItemButton>\r\n ) : (\r\n <>\r\n <ListItemButton onClick={() => navigate(route.path)} sx={{\r\n padding: \"2px\",\r\n }}>\r\n \r\n <ListItemIcon\r\n sx={{\r\n paddingLeft: 0,\r\n minWidth: 30,\r\n // fontSize: slashSay > 1 ? \"0.8\" : \"1\",\r\n }}\r\n >\r\n {route.icon}\r\n </ListItemIcon>\r\n <ListItemText\r\n sx={{\r\n color: route.drawerTextColor\r\n ? route.drawerTextColor\r\n : ctheme.colors.navyBlue,\r\n }}\r\n primaryTypographyProps={{ fontSize: \"0.9rem\", fontWeight: \"bolder\", fontFamily: \"Roboto, Arial, sans-serif\" }} // Yazı boyutunu küçültme\r\n primary={capitalizeFirstLetter(route.text)}\r\n />\r\n \r\n \r\n </ListItemButton>\r\n {/* <Collapse in={open} timeout=\"auto\" unmountOnExit>\r\n <List component=\"div\" disablePadding>\r\n {route?.children\r\n ?.filter(\r\n (x) =>\r\n x.yetkisizEkran ||\r\n context?.user?.yetkiler?.find(\r\n (y) => x.ekranKodu === y.ekranKodu && y.goruntule\r\n )\r\n )\r\n .map((childRoute, index) => (\r\n <DrawerListItem route={childRoute} key={index} />\r\n ))}\r\n </List>\r\n </Collapse> */}\r\n </>)}\r\n </>\r\n );\r\n}\r\n\r\nexport default DrawerListItem;\r\n","import React from \"react\";\r\nimport List from \"@mui/material/List\";\r\nimport { routesArr } from \"../../router/router\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport DrawerListItem from \"./DrawerListItem\";\r\n\r\nexport default function DrawerList() {\r\n const context = React.useContext(AppContext);\r\n\r\n return (\r\n <List>\r\n {routesArr\r\n .filter((x) => {\r\n const userYetkiGrubuTipi = context?.user?.yetkiGrubuTipi;\r\n\r\n const isHiddenForUser =\r\n x.gizlenecekYetkiGrubuTipi?.includes(userYetkiGrubuTipi);\r\n const userHasPermission =\r\n !isHiddenForUser &&\r\n context?.user?.yetkiler?.find(\r\n (y) => y.ekranKodu === x.ekranKodu && y.goruntule\r\n ) &&\r\n (x.level > 0 || !x.children);\r\n\r\n const hasVisibleChildren =\r\n x.children?.some((child) =>\r\n context?.user?.yetkiler?.some(\r\n (y) => y.ekranKodu === child.ekranKodu && y.goruntule && \r\n !child.gizlenecekYetkiGrubuTipi?.includes(userYetkiGrubuTipi)\r\n )\r\n ) ?? false;\r\n\r\n return (\r\n x.showInSidebar &&\r\n !isHiddenForUser &&\r\n (userHasPermission || hasVisibleChildren)\r\n );\r\n })\r\n .map((route, index) => (\r\n <DrawerListItem route={route} key={index} />\r\n ))}\r\n</List>\r\n\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { styled } from \"@mui/material/styles\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Drawer from \"@mui/material/Drawer\";\r\nimport CssBaseline from \"@mui/material/CssBaseline\";\r\nimport Divider from \"@mui/material/Divider\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport ChevronLeftIcon from \"@mui/icons-material/ChevronLeft\";\r\nimport { routesArr } from \"../../router/router\";\r\nimport { Alert, Grid } from \"@mui/material\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport { ctheme } from \"../../theme/theme\";\r\nimport dayjs from \"dayjs\";\r\nimport MyAppBar from \"./AppBar\";\r\nimport { DRAWER_WIDTH } from \"../../common/constants\";\r\nimport DrawerList from \"./DrawerList\";\r\nimport {\r\n ilkKurulumProjeBilgileriBitmisMi,\r\n sozlesmeTarihiBitmisMi,\r\n} from \"../../common/constant-functions/sozlesmeTarihiBitmisMi\";\r\n\r\nconst DrawerHeader = styled(\"div\")(({ theme }) => ({\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n padding: theme.spacing(0, 1),\r\n ...theme.mixins.toolbar,\r\n justifyContent: \"flex-end\",\r\n backgroundColor: ctheme.colors.gridHeaderColor,\r\n minHeight: \"42px !important\",\r\n}));\r\n\r\nexport default function PersistentDrawerLeft({ children }) {\r\n const [open, setOpen] = React.useState(false);\r\n const [showDrawer, setShowDrawer] = React.useState(false);\r\n const context = React.useContext(AppContext);\r\n\r\n const handleDrawerOpen = () => {\r\n setOpen(true);\r\n };\r\n\r\n const handleDrawerClose = () => {\r\n setOpen(false);\r\n };\r\n const { pathname } = useLocation();\r\n\r\n React.useEffect(() => {\r\n const currentRoute = routesArr.find(\r\n (x) =>\r\n x.path === pathname ||\r\n (x.children && x.children.find((c) => c.path === pathname))\r\n );\r\n if (currentRoute?.hasSidebar) {\r\n setShowDrawer(true);\r\n } else {\r\n setShowDrawer(false);\r\n }\r\n }, [pathname]);\r\n\r\n return showDrawer ? (\r\n <Box sx={{ display: \"flex\" }}>\r\n <CssBaseline />\r\n <MyAppBar handleDrawerOpen={handleDrawerOpen} open={open} />\r\n <Drawer\r\n sx={{\r\n width: DRAWER_WIDTH,\r\n flexShrink: 0,\r\n \"& .MuiDrawer-paper\": {\r\n width: DRAWER_WIDTH,\r\n boxSizing: \"border-box\",\r\n },\r\n ...(!open && { display: \"none\" }),\r\n }}\r\n variant=\"persistent\"\r\n anchor=\"left\"\r\n open={open}\r\n >\r\n <DrawerHeader>\r\n <img width=\"80%\" src=\"/erplogorenkli.png\" alt=\"Logo\" />\r\n <IconButton onClick={handleDrawerClose}>\r\n <ChevronLeftIcon />\r\n </IconButton>\r\n </DrawerHeader>\r\n <Divider />\r\n <Grid\r\n sx={{\r\n p: 1,\r\n }}\r\n >\r\n <DrawerList />\r\n </Grid>\r\n </Drawer>\r\n <Grid\r\n sx={{\r\n width: open ? `calc(100% - ${DRAWER_WIDTH}px)` : \"100%\",\r\n padding: \"5px\",\r\n }}\r\n open={open}\r\n >\r\n <DrawerHeader />\r\n {children}\r\n {sozlesmeTarihiBitmisMi(context) &&\r\n ilkKurulumProjeBilgileriBitmisMi(context) && (\r\n <Alert\r\n sx={{\r\n position: \"fixed\",\r\n bottom: 0,\r\n left: 0,\r\n width: \"100%\",\r\n zIndex: 9999,\r\n }}\r\n variant=\"filled\"\r\n severity=\"error\"\r\n >\r\n {context?.user?.destekSozBitis == null\r\n ? \"Geçerli bir bakım antlaşmanız bulunmamaktadır. Temsilciniz ile görüşün.\"\r\n : \"Bakım anlaşmanız \" +\r\n dayjs(context?.user?.destekSozBitis)?.format(\"DD.MM.YYYY\") +\r\n \" tarihinde sonlanmıştır. Yenilemek için temsilciniz ile görüşün.\"}\r\n </Alert>\r\n )}\r\n </Grid>\r\n </Box>\r\n ) : (\r\n children\r\n );\r\n}\r\n","import React from \"react\";\r\nimport \"../../css/Loading.css\";\r\n\r\nconst Spinner = ({ staticLoading }) => {\r\n return (\r\n <div\r\n className=\"loader-box\"\r\n id=\"preloader\"\r\n {...(staticLoading ? {} : { style: { display: \"none\" } })}\r\n >\r\n <div className=\"loader-design\">\r\n <div className=\"circle-1\"></div>\r\n <div className=\"circle-2\"></div>\r\n <div className=\"circle-3\"></div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default Spinner;\r\n","import React, { Suspense, useContext, useEffect } from \"react\";\r\nimport { Route, Routes } from \"react-router-dom\";\r\nimport { AppContext } from \"../../common/AppContext\";\r\nimport { HttpAuthorized } from \"../../common/common\";\r\nimport { apiUrl, EKRAN_KODU, YETKI_GRUBU_TIPI } from \"../../common/constants\";\r\nimport routes from \"../../common/routes\";\r\nimport { routesArr } from \"../../router/router\";\r\nimport AuthService from \"../../services/AuthService\";\r\nimport PersistentDrawerLeft from \"../drawer/Drawer\";\r\nimport Spinner from \"../loading/Spinner\";\r\n\r\nexport default function Router() {\r\n const context = useContext(AppContext);\r\n const [loading, setLoading] = React.useState(true);\r\n\r\n useEffect(() => {\r\n if (window.location.pathname === \"//\") {\r\n window.location.assign(\r\n routes.talepveDanismanlikYonetimi.children.find(item => item.ekranKodu === EKRAN_KODU.ANASAYFA.value).path);\r\n }\r\n if (!context.user && AuthService.getCurrentUser()?.token) {\r\n HttpAuthorized.post(apiUrl + \"User/KullaniciBilgileri\")\r\n .then((res) => {\r\n if (res.data.success) {\r\n context.setUser(res.data.data);\r\n if (res?.data?.data?.params) {\r\n let params = JSON.parse(res.data.data.params);\r\n context.userParamsRef.current = params;\r\n }\r\n\r\n if (\r\n res.data.data.yetkiGrubuTipi === YETKI_GRUBU_TIPI.MUSTERI.Value &&\r\n window.location.pathname === routes.talepveDanismanlikYonetimi.children.find(item => item.ekranKodu === EKRAN_KODU.ANASAYFA.value).path\r\n || \r\n window.location.pathname === \"/\"\r\n ) {\r\n if (res.data.data.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_ADMIN.Value){\r\n window.location.assign(routes.talepveDanismanlikYonetimi.children.find(item => item.ekranKodu === EKRAN_KODU.ANASAYFA.value).path);\r\n }\r\n else if (res.data.data.yetkiGrubuTipi === YETKI_GRUBU_TIPI.HARMONY_DESTEK.Value){\r\n window.location.assign(routes.gorevYonetimi.children.find(item => item.ekranKodu === EKRAN_KODU.GOREVLER.value).path);\r\n }\r\n else\r\n {\r\n window.location.assign(routes.talepveDanismanlikYonetimi.children.find(item => item.ekranKodu === EKRAN_KODU.MUSTERI_TALEP.value).path);\r\n }\r\n\r\n }\r\n } else {\r\n AuthService.logout(context);\r\n window.location.assign(routes.login.path);\r\n }\r\n })\r\n .catch((e) => {\r\n AuthService.logout(context);\r\n window.location.assign(routes.login.path);\r\n })\r\n .finally(() => setLoading(false));\r\n } else {\r\n if (window.location.pathname !== routes.login.path) {\r\n window.location.assign(routes.login.path);\r\n } else setLoading(false);\r\n }\r\n }, []);\r\n\r\n return loading ? (\r\n <Spinner staticLoading={true}></Spinner>\r\n ) : (\r\n <PersistentDrawerLeft>\r\n <Routes>\r\n {routesArr\r\n .filter((x) => {\r\n const userHasPermission = context?.user?.yetkiler?.find(\r\n (y) => x.ekranKodu === y.ekranKodu && y.goruntule\r\n );\r\n \r\n const hasVisibleChildren =\r\n x.children?.some((child) =>\r\n context?.user?.yetkiler?.some(\r\n (y) => y.ekranKodu === child.ekranKodu && y.goruntule\r\n )\r\n ) ?? false;\r\n\r\n return x.yetkisizEkran || userHasPermission || hasVisibleChildren;\r\n }\r\n )\r\n .map((i) => {\r\n return (\r\n <Route\r\n key={i.path}\r\n path={i.path}\r\n element={i.element}\r\n children={i.children\r\n ?.filter(\r\n (x) =>\r\n x.yetkisizEkran ||\r\n context?.user?.yetkiler?.find(\r\n (y) => x.ekranKodu === y.ekranKodu && y.goruntule\r\n )\r\n )\r\n .map((child) => {\r\n return (\r\n <Route\r\n key={child.path}\r\n path={child.path}\r\n element={child.element}\r\n ></Route>\r\n );\r\n })}\r\n />\r\n );\r\n })}\r\n <Route path=\"*\" element={<div>404 not found.</div>} />\r\n </Routes>\r\n </PersistentDrawerLeft>\r\n );\r\n}\r\n","import { Grid } from \"@mui/material\";\r\n// import { ThemeProvider } from \"@mui/material/styles\";\r\nimport * as React from \"react\";\r\nimport { BrowserRouter } from \"react-router-dom\";\r\nimport { ToastContainer } from \"react-toastify\";\r\nimport { AppContextProvider } from \"./common/AppContext\";\r\nimport Router from \"./components/route/Router\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport Spinner from \"./components/loading/Spinner\";\r\nimport \"./App.css\";\r\nimport { locale } from \"devextreme/localization\";\r\n\r\nlocale(\"tr\");\r\n\r\nfunction App() {\r\n return (\r\n <React.Fragment>\r\n {/* <ThemeProvider> */}\r\n <Grid\r\n sx={{\r\n backgroundImage: \"url(/backGround.jpg)\",\r\n backgroundSize: \"100%\",\r\n width: \"100%\",\r\n height: \"100vh\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n }}\r\n >\r\n <AppContextProvider>\r\n <BrowserRouter>\r\n <Router />\r\n </BrowserRouter>\r\n </AppContextProvider>\r\n <ToastContainer\r\n position=\"top-right\"\r\n autoClose={5000}\r\n hideProgressBar={false}\r\n newestOnTop={false}\r\n closeOnClick\r\n rtl={false}\r\n pauseOnFocusLoss\r\n draggable\r\n pauseOnHover\r\n theme=\"colored\"\r\n />\r\n </Grid>\r\n <Spinner />\r\n {/* </ThemeProvider> */}\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default App;\r\n","const reportWebVitals = onPerfEntry => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n getCLS(onPerfEntry);\r\n getFID(onPerfEntry);\r\n getFCP(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n getTTFB(onPerfEntry);\r\n });\r\n }\r\n};\r\n\r\nexport default reportWebVitals;\r\n","import React from \"react\";\r\nimport ReactDOM from \"react-dom/client\";\r\nimport \"./index.css\";\r\nimport App from \"./App\";\r\nimport reportWebVitals from \"./reportWebVitals\";\r\n\r\nconst root = ReactDOM.createRoot(document.getElementById(\"root\"));\r\nroot.render(<App />);\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n"],"names":["InfernoEffectHost","lockCount","lock","this","callbacks","callEffects","Error","effects","forEach","callback","areObjectsEqual","firstObject","secondObject","Object","firstObjectKeys","keys","secondObjectKeys","length","some","key","BaseInfernoComponent","Component","constructor","super","arguments","_pendingContext","context","componentWillReceiveProps","_","shouldComponentUpdate","nextProps","nextState","props","state","InfernoComponent","_effects","createEffects","updateEffects","componentWillMount","componentWillUpdate","_nextProps","_nextState","_context","componentDidMount","push","componentDidUpdate","destroyEffects","e","dispose","componentWillUnmount","InfernoWrapperComponent","vDomElement","vDomUpdateClasses","el","currentClasses","className","split","addedClasses","filter","dxClasses","previous","indexOf","removedClasses","value","indexInRemoved","removed","splice","added","indexInAdded","findDOMfromVNode","$LI","classList","add","remove","shouldUpdate","contextId","createContext","defaultValue","id","Provider","getChildContext","assign","render","children","InfernoEffect","effect","dependency","destroy","update","currentDependency","d","i","createReRenderEffect","reRender","ERROR_MSG","isNull","o","isSamePropsInnerHTML","dom","Boolean","dangerouslySetInnerHTML","__html","innerHTML","tempdom","document","createElement","isSameInnerHTML","hydrateChildren","parentVNode","parentNode","currentNode","isSVG","lifecycle","childFlags","flags","_M","hydrateVNode","nextSibling","appendChild","createTextNode","childNodes","nodeType","textContent","nodeValue","prevVNodeIsTextNode","len","child","removeChild","firstChild","hydrateText","vNode","parentDOM","replaceChild","text","currentDom","isClass","type","ref","EMPTY_OBJ","instance","_CI","$CX","_MCCC","input","_HI","renderFunctionalComponent","_MFCC","hydrateComponent","_ME","_MP","removeAttribute","setAttribute","_MR","hydrateElement","findLastDOMFromVNode","hydrateFragment","message","throwError","hydrate","listener","undefined","shift","$V","isFunction","getContainer","_a","_b","container","get","item","renderTemplate","template","_component","setTimeout","hasTemplate","name","properties","NUMBER_STYLES","Set","isNumeric","Number","isNaN","getNumberStyleValue","style","has","uppercasePattern","kebabCase","str","replace","toLowerCase","normalizeStyles","styles","entries","reduce","acc","_ref","StyleSheet","options","_this","_insertTag","tag","before","tags","insertionPoint","prepend","insertBefore","isSpeedy","speedy","ctr","nonce","_proto","prototype","nodes","insert","rule","createStyleElement","sheet","styleSheets","ownerNode","sheetForTag","insertRule","cssRules","flush","_tag$parentNode","abs","Math","from","String","fromCharCode","trim","pattern","replacement","indexof","search","charat","index","charCodeAt","substr","begin","end","slice","strlen","sizeof","append","array","line","column","position","character","characters","node","root","parent","return","copy","prev","next","peek","caret","token","alloc","dealloc","delimit","delimiter","whitespace","escaping","count","commenter","identifier","MS","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","KEYFRAMES","serialize","output","stringify","element","join","compile","parse","rules","rulesets","pseudo","points","declarations","offset","atrule","property","variable","scanning","ampersand","reference","comment","declaration","ruleset","post","size","j","k","x","y","z","identifierWithPointTracking","getRules","parsed","toRules","fixedElements","WeakMap","compat","isImplicitRule","set","parentRules","removeLabel","prefix","hash","defaultStylisPlugins","map","combine","exec","match","createCache","ssrStyles","querySelectorAll","Array","call","getAttribute","head","_insert","stylisPlugins","inserted","nodesToHydrate","attrib","currentSheet","finalizingPlugins","serializer","collection","middleware","concat","selector","serialized","shouldCache","cache","registered","memoize","fn","create","arg","EmotionCacheContext","React","HTMLElement","CacheProvider","withEmotionCache","func","forwardRef","useContext","ThemeContext","hasOwn","hasOwnProperty","typePropName","createEmotionProps","newProps","_key","Insertion","isStringTag","registerStyles","useInsertionEffectAlwaysWithSyncFallback","insertStyles","Emotion$1","cssProp","css","WrappedComponent","registeredStyles","getRegisteredStyles","serializeStyles","_key2","jsx","args","apply","argsLength","createElementArgArray","Emotion","_jsx","JSX","Global","sheetRef","useInsertionEffectWithLayoutFallback","rehydrating","querySelector","current","sheetRefCurrent","nextElementSibling","_len","keyframes","insertable","anim","toString","unitlessKeys","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","fontWeight","lineHeight","opacity","order","orphans","scale","tabSize","widows","zIndex","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","isDevelopment","hyphenateRegex","animationRegex","isCustomProperty","isProcessableValue","processStyleName","styleName","processStyleValue","p1","p2","cursor","unitless","noComponentSelectorMessage","handleInterpolation","mergedProps","interpolation","componentSelector","__emotion_styles","serializedStyles","obj","string","isArray","asString","interpolated","_i","createStringFromObject","previousCursor","result","cached","labelPattern","stringMode","strings","raw","lastIndex","identifierName","h","hashString","reactPropsRegex","testOmitPropsOnStringTag","prop","test","testOmitPropsOnComponent","getDefaultShouldForwardProp","composeShouldForwardProps","isReal","shouldForwardProp","optionsShouldForwardProp","__emotion_forwardProp","propName","newStyled","createStyled","targetClassName","__emotion_real","baseTag","__emotion_base","label","target","defaultShouldForwardProp","shouldUseAs","templateStringsArr","Styled","FinalTag","as","classInterpolations","theme","finalShouldForwardProp","displayName","defaultProps","defineProperty","withComponent","nextTag","nextOptions","_extends","bind","tagName","useInsertionEffect","classNames","rawClassName","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","default","cx","cy","r","fillRule","__esModule","t","_getRequireWildcardCache","n","__proto__","a","getOwnPropertyDescriptor","u","_interopRequireWildcard","enumerable","_utils","createSvgIcon","PropsContext","useDefaultProps","_ref2","params","components","config","resolveProps","styleOverrides","variants","getThemeProps","useSystemDefaultProps","black","white","A100","A200","A400","A700","_excluded","light","primary","secondary","disabled","divider","background","paper","common","action","active","hover","hoverOpacity","selected","selectedOpacity","disabledBackground","disabledOpacity","focus","focusOpacity","activatedOpacity","dark","icon","addLightOrDark","intent","direction","shade","tonalOffset","tonalOffsetLight","tonalOffsetDark","lighten","main","darken","createPalette","palette","mode","contrastThreshold","other","_objectWithoutPropertiesLoose","blue","getDefaultPrimary","purple","getDefaultSecondary","error","red","getDefaultError","info","lightBlue","getDefaultInfo","success","green","getDefaultSuccess","warning","orange","getDefaultWarning","getContrastText","getContrastRatio","augmentColor","color","mainShade","lightShade","darkShade","_formatMuiErrorMessage","JSON","contrastText","modes","deepmerge","grey","caseAllCaps","textTransform","defaultFontFamily","createTypography","typography","fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem","pxToRem2","coef","buildVariant","letterSpacing","casing","round","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","button","caption","overline","inherit","clone","createShadow","mobileStepper","fab","speedDial","appBar","drawer","modal","snackbar","tooltip","createTheme","mixins","mixinsInput","paletteInput","transitions","transitionsInput","typographyInput","vars","systemTheme","systemCreateTheme","muiTheme","breakpoints","toolbar","minHeight","up","shadows","createTransitions","argument","unstable_sxConfig","defaultSxConfig","unstable_sx","styleFunctionSx","sx","easing","easeInOut","easeOut","easeIn","sharp","duration","shortest","shorter","short","standard","complex","enteringScreen","leavingScreen","formatMs","milliseconds","getAutoHeightDuration","height","constant","inputTransitions","mergedEasing","mergedDuration","durationOption","easingOption","delay","animatedProp","slotShouldForwardProp","themeId","THEME_ID","defaultTheme","rootShouldForwardProp","getSvgIconUtilityClass","slot","generateUtilityClass","generateUtilityClasses","SvgIconRoot","styled","overridesResolver","ownerState","capitalize","_theme$transitions","_theme$transitions$cr","_theme$transitions2","_theme$typography","_theme$typography$pxT","_theme$typography2","_theme$typography2$px","_theme$typography3","_theme$typography3$px","_palette$ownerState$c","_palette","_palette2","_palette3","userSelect","width","display","fill","hasSvgAsChild","transition","small","medium","large","SvgIcon","inProps","component","htmlColor","inheritViewBox","titleAccess","viewBox","instanceFontSize","more","classes","slots","composeClasses","useUtilityClasses","_jsxs","clsx","focusable","role","muiName","path","validator","reason","componentNameInError","componentName","location","propFullName","unstable_ClassNameGenerator","configure","generator","ClassNameGenerator","muiNames","_muiName","_element$type","_payload","hadKeyboardEvent","hadFocusVisibleRecently","hadFocusVisibleRecentlyTimeout","Timeout","inputTypesWhitelist","url","tel","email","password","number","date","month","week","time","datetime","handleKeyDown","event","metaKey","altKey","ctrlKey","handlePointerDown","handleVisibilityChange","visibilityState","isFocusVisible","matches","readOnly","isContentEditable","focusTriggersKeyboardModality","doc","ownerDocument","addEventListener","isFocusVisibleRef","onFocus","onBlur","start","GlobalStyles","globalStyles","themeInput","StyledEngineProvider","injectFirst","emStyled","internal_processStyles","processor","alpha","foreground","lumA","getLuminance","lumB","max","min","_formatMuiErrorMessage2","_clamp","clampWrapper","hexToRgb","re","RegExp","colors","parseInt","decomposeColor","charAt","marker","substring","colorSpace","values","parseFloat","colorChannel","decomposedColor","val","idx","recomposeColor","hslToRgb","s","l","f","rgb","toFixed","coefficient","emphasize","systemDefaultTheme","systemSx","_styleFunctionSx","_extends2","resolveTheme","__mui_systemSx","inputOptions","_styledEngine","componentSlot","skipVariantsResolver","inputSkipVariantsResolver","skipSx","inputSkipSx","defaultOverridesResolver","lowercaseFirstLetter","_objectWithoutPropertiesLoose2","_excluded3","shouldForwardPropOption","defaultStyledResolver","transformStyleArg","stylesArg","_deepmerge","isPlainObject","processStyleArg","muiStyledResolver","styleArg","transformedStyleArg","expressions","expressionsWithDefaultTheme","resolvedStyleOverrides","_ref3","slotKey","slotStyle","_theme$components","numOfCustomFnsApplied","placeholders","withConfig","_createTheme","_excluded2","callableStyle","resolvedStylesArg","flatMap","resolvedStyle","variant","isMatch","xs","sm","md","lg","xl","defaultBreakpoints","handleBreakpoints","propValue","styleFromPropValue","themeBreakpoints","breakpoint","cssKey","createEmptyBreakpointObject","breakpointsInput","_breakpointsInput$key","removeUnusedBreakpoints","breakpointKeys","breakpointOutput","mergeBreakpointsInOrder","emptyBreakpoints","mergedOutput","resolveBreakpointValues","breakpointValues","base","customBase","breakpointsKeys","computeBreakpointsBase","applyStyles","getColorSchemeSelector","sortBreakpointsValues","breakpointsAsArray","sort","breakpoint1","breakpoint2","createBreakpoints","unit","step","sortedValues","down","between","endIndex","only","not","keyIndex","borderRadius","spacing","spacingInput","shape","shapeInput","mui","transform","createUnarySpacing","argsInput","createSpacing","m","p","directions","b","aliases","marginX","marginY","paddingX","paddingY","getCssProperties","dir","marginKeys","paddingKeys","spacingKeys","createUnaryUnit","themeKey","_getPath","themeSpacing","getPath","getValue","transformer","transformed","resolveCssProperty","cssProperties","cssProperty","getStyleFromPropValue","merge","margin","padding","propTypes","filterProps","checkVars","getStyleValue","themeMapping","propValueFinal","userValue","handlers","borderTransform","createBorderStyle","border","borderTop","borderRight","borderBottom","borderLeft","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","outline","outlineColor","compose","gap","columnGap","rowGap","paletteTransform","sizingTransform","maxWidth","_props$theme","_props$theme2","breakpointsValues","minWidth","maxHeight","bgcolor","backgroundColor","pt","pr","pb","pl","px","py","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd","mt","mr","mb","ml","mx","my","marginTop","marginRight","marginBottom","marginLeft","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd","displayPrint","overflow","textOverflow","visibility","whiteSpace","flexBasis","flexDirection","flexWrap","justifyContent","alignItems","alignContent","alignSelf","justifyItems","justifySelf","gridAutoFlow","gridAutoColumns","gridAutoRows","gridTemplateColumns","gridTemplateRows","gridTemplateAreas","gridArea","top","right","bottom","left","boxShadow","boxSizing","fontStyle","textAlign","splitProps","_props$theme$unstable","systemProps","otherProps","extendSxProp","inSx","finalSx","unstable_createStyleFunctionSx","getThemeValue","_theme$unstable_sxCon","traverse","sxInput","sxObject","styleKey","maybeFn","objects","allKeys","object","union","every","objectsHaveSameKeys","contextTheme","defaultGenerator","createClassNameGenerator","generate","reset","toUpperCase","MIN_SAFE_INTEGER","MAX_SAFE_INTEGER","getUtilityClass","utilityClass","createChainedFunction","funcs","_len2","debounce","timeout","wait","debounced","clearTimeout","later","clear","getPrototypeOf","Symbol","toStringTag","iterator","deepClone","source","formatMuiErrorMessage","code","encodeURIComponent","globalStateClasses","checked","completed","expanded","focused","focusVisible","open","required","globalStatePrefix","globalStateClass","fnNameMatchRegex","getFunctionName","getFunctionComponentName","fallback","getWrappedName","outerType","innerType","wrapperName","functionName","getDisplayName","$$typeof","ForwardRef","Memo","ownerWindow","defaultView","window","defaultSlotProps","slotProps","slotPropName","setRef","useControlled","controlled","defaultProp","isControlled","valueState","setValue","newValue","useEnhancedEffect","useForkRef","refs","globalId","maybeReactUseId","useId","idOverride","reactId","defaultId","setDefaultId","useGlobalId","UNINITIALIZED","EMPTY","currentId","disposeEffect","useTimeout","init","initArg","useLazyRef","module","c","$","M","weekdays","months","ordinal","v","utcOffset","floor","year","ceil","w","D","ms","Q","g","S","O","locale","$L","utc","$u","$x","$offset","$d","Date","NaN","UTC","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","isSame","startOf","endOf","isAfter","isBefore","$g","unix","valueOf","getTime","toDate","$locale","weekStart","$set","daysInMonth","subtract","format","invalidDate","meridiem","monthsShort","weekdaysMin","weekdaysShort","getTimezoneOffset","diff","toJSON","toISOString","toUTCString","extend","$i","isDayjs","en","Ls","yearStart","relativeTime","future","past","mm","hh","dd","MM","yy","formats","LT","LTS","L","LL","LLL","LLLL","IdentUserAgent","Safari","Chrome","Mozilla","Netscape","Firefox","Opera","IE","Edge","indentPlatformMajorVersion","Windows","Macintosh","Mac_PowerPC","Android","Opera10","GetBrowserVersion","getIECompatibleVersionString","P","C","MAX_VALUE","I","getVersionFromTrident","documentMode","fillUserAgentInfo","getVersionFromMatches","compatible","userAgent","version","isTouchEnabled","hasTouchStart","hasMaxTouchPoints","hasMsMaxTouchPoints","navigator","maxTouchPoints","msMaxTouchPoints","hasNavigator","Version","MajorVersion","WindowsPlatform","MacOSMobilePlatform","MacOSPlatform","AndroidMobilePlatform","WindowsPhonePlatform","WebKitFamily","NetscapeFamily","WebKitTouchUI","UserAgent","MSTouchUI","TouchUI","MobileUI","AndroidDefaultBrowser","AndroidChromeBrowser","SamsungAndroidDevice","VirtualKeyboardSupported","fillDocumentElementBrowserTypeClassNames","PlaformMajorVersion","documentElement","Info","getUserAgent","_foo","Browser","suspendUpdateCount","occurredEvents","beginUpdate","onUpdateLocked","endUpdate","isUpdateLocked","onUpdateUnlocked","suspendUpdate","continueUpdate","registerOccurredEvent","resetOccurredEvents","isLocked","BatchUpdatableObject","EmptyBatchUpdatableObject","anyOf","Flag","minElement","maxElement","MinMax","__extends","configurable","MinMaxNumber","ExtendedMin","minValue","ExtendedMax","maxValue","ExtendedMinMax","hundredthsOfMillimeterToTwipsRound","documentsToTwips","pixelsToTwips","pixelsToTwipsF","pixelsToTwipsCustomDpi","pixelsToTwipsFCustomDpi","inchesToTwips","inchesToTwipsF","pointsToTwips","pointsToTwipsF","picasToTwips","PICAS_PER_INCH","centimetersToTwips","centimetersToTwipsF","DPI","CENTIMETERS_PER_INCH","twipsToDegrees","twipsToRadians","PI","degreesToTwips","radiansToTwips","radiansToDegrees","twipsToFD","fdToTwips","emuToTwips","twipsToPixels","twipsToPixelsF","inchesToPixels","centimeterToPixel","centimeterToPixelF","millimetersToPixel","pointsToPixels","pointsToPixelsF","pixelsToPoints","pixelsToPointsF","twipsToPoints","twipsToPointsF","twipsToInches","pixelsToInches","twipsToCentimeters","pixelToCentimeters","twipsToHundredthsOfMillimeter","pixelsToHundredthsOfMillimeter","hundredthsOfMillimeterToTwips","twipsToEmu","twipsToDegree","UnitConverter","euclideanDistance","sqrt","manhattanDistance","Metrics","empty","fromNumber","fromOffsets","fromSide","normalize","isEmpty","multiply","copyFrom","equals","applyConverter","Offsets","zero","isZero","offsetByPoint","negative","plus","minus","xComparer","yComparer","Point","center","createRectangle","createSize","Size","createPosition","createVerticalInterval","FixedInterval","createHorizontalInterval","fromGeometry","fromPoints","fromPositions","fromCenter","isCollapsed","setPosition","setSize","setGeomerty","moveRectangle","moveRectangleByPoint","resize","nonNegativeSize","containsPoint","containsRectangle","inflate","applyOffsetsInside","applyNormalizedOffsetsInside","applyOffsetsOutside","getHorizIntersection","IntervalAlgorithms","getIntersection","getVertIntersection","getHorNonCollapsedIntersection","getVertNonCollapsedIntersection","getNonCollapsedIntersection","areIntersected","Rectangle","None","Top","Bottom","Left","Right","HitTestDeviation","initRectangle","initPoint","deviation","calcDeviation","calcAdditionalParams","insidePoint","offsetToInside","RectangleDeviation","startPoint","endPoint","isIntersected","intersectCore","MathUtils","numberCloseTo","isIntersectedByRect","Segment","initByCommonAction","fromSegment","angleBetween","scalarProduct","acos","Vector","oneConstainsOtherArraysOfInterval","ListUtils","deepCopy","pop","unsafeAnyOf","containsInterval","getIntersectionTemplate","makeByStartEnd","getIntersectionNonNullLength","getIntersectionNonNullLengthTemplate","getIntersectionsTwoArraysOfInterval","getIntersectionsTwoArraysOfIntervalTemplate","getAffectedObjects","SearchUtils","normedInterpolationIndexOf","interval","getAffectedObjectsTemplate","SparseIntervalsCollector","getIntervals","handleAffectedObjects","getMergedIntervals","getMergedIntervalsTemplate","makeByStartLength","reflectIntervals","reflectIntervalsTemplate","last","reducedMap","unshift","reflectionOfPointOnInterval","isNormalized","containsIntervalWithoutEnd","contains","containsWithIntervalEnd","containsWithoutIntervalEndAndStart","ConstInterval","makeByLengthEnd","makeByConstInterval","expand","MutableInterval","normalizeLength","intervals","curr","SparseIntervals","list","_count","_numIntervals","getInterval","getNativeIterator","SparseIntervalsIterator","getObjectsIterator","SparseObjectsIterator","sparseIntervals","intervalIndex","moveNext","posInInterval","initObject","numIntervals","movePrev","isStarted","normalizeToDataUrl","checkPrependDataUrl","prependByDataUrl","dataUrl","deleteDataUrlPrefix","getUint8Array","atob","Uint8Array","fromArrayBuffer","byteLength","btoa","getFileFromBase64","FileUtils","createFile","getMimeTypeAsString","getKnownMimeType","MimeTypeUtils","stringTypeToType","DxMimeType","Unknown","fromBlobAsArrayBuffer","FileReader","onloadend","readAsArrayBuffer","fromBlobAsDataUrl","readAsDataURL","Base64Utils","getAlpha","getRed","getGreen","getBlue","redPartToString","greenPartToString","bluePartToString","fromArgbNumber","fromRgbaString","fromHashString","isHashColorString","StringUtils","repeat","fromColorName","colorNames","fromString","colorToHash","stringToHash","isKnownColorName","isGray","DARK_COLOR","LIGHT_COLOR","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","feldspar","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslateblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","violetred","wheat","whitesmoke","yellow","yellowgreen","windowtext","ColorUtils","isDefined","boolToInt","boolToString","isNumber","isString","isNonNullString","isEven","isOdd","numberToStringBin","padLeft","numberToStringHex","stringIgnoreCase","Comparers","simpleType","Equals","clearInnerHtml","setStylePosition","setStyleSize","setStyleSizeAndPosition","hideNode","isHTMLElementNode","Node","ELEMENT_NODE","isTextNode","TEXT_NODE","isElementNode","isHTMLTableRowElement","isItParent","getParentByTagName","getDocumentScrollTop","getCurrentStyle","body","scrollTop","pageYOffset","getDocumentScrollLeft","scrollLeft","currentStyle","getComputedStyle","frameElement","setProperty","offsetWidth","setFocus","activeElement","hasClassName","addClassName","removeClassName","toggleClassName","pxToInt","pxToFloat","getAbsolutePositionY","getBoundingClientRect","cells","offsetTop","offsetParent","borderTopWidth","getAbsolutePositionX","offsetLeft","borderLeftWidth","isInteractiveControl","getClearClientHeight","offsetHeight","getTopBottomPaddings","getVerticalBordersWidth","borderTopStyle","borderBottomStyle","borderBottomWidth","getNodes","all","getElementsByTagName","getChildNodes","getNodesByClassName","getChildNodesByClassName","getVerticalScrollBarWidth","verticalScrollBarWidth","cssText","clientWidth","getHorizontalBordersWidth","borderLeftStyle","borderRightStyle","borderRightWidth","getFontFamiliesFromCssString","getInnerText","html2PlainTextFilter","innerText","DomUtils","encodeHtml","decodeHtml","prepareTextForRequest","prepareTextForCallBackRequest","decodeViaTextArea","EncodeUtils","preventEvent","cancelable","preventDefault","returnValue","getEventSource","getEventSourceCore","getEventSourceByPosition","elementFromPoint","getEventX","clientEventRequiresDocScrollCorrection","getEventY","srcElement","getMouseWheelEventName","isLeftButtonPressed","TouchUtils","isTouchEvent","buttons","which","isMoveEventName","touchMouseMoveEventName","getMoveEventName","PointerEvent","preventEventAndBubble","stopPropagation","cancelBubble","clientX","clientY","getWheelDelta","detail","wheelDelta","deltaY","EvtUtils","loadJavascriptFile","onload","src","htmlScriptElement","startDownloadFileLocal","ArrayBuffer","msSaveOrOpenBlob","URL","createObjectURL","href","download","click","revokeObjectURL","Blob","lastModifiedDate","lastModified","now","File","isFile","getKeyModifiers","Alt","Ctrl","shiftKey","Shift","Meta","getShortcutCode","getShortcutCodeByEvent","getEventKeyCode","keyCode","parseShortcutString","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","Enter","Home","End","Up","Down","PageUp","PageDown","Space","Tab","Backspace","ContextMenu","Esc","Delete","Insert","alert","KeyUtils","ModifierKey","Pause","CapsLock","Key_0","Key_1","Key_2","Key_3","Key_4","Key_5","Key_6","Key_7","Key_8","Key_9","Key_a","Key_b","Key_c","Key_d","Key_e","Key_f","Key_g","Key_h","Key_i","Key_j","Key_k","Key_l","Key_m","Key_n","Key_o","Key_p","Key_q","Key_r","Key_s","Key_t","Key_u","Key_v","Key_w","Key_x","Key_y","Key_z","Numpad_0","Numpad_1","Numpad_2","Numpad_3","Numpad_4","Numpad_5","Numpad_6","Numpad_7","Numpad_8","Numpad_9","Multiply","Add","Subtract","Decimal","Divide","NumLock","ScrollLock","Semicolon","Comma","Dash","Period","ForwardSlash","GraveAccent","OpenBracket","BackSlash","CloseBracket","SingleQuote","KeyCode","removeBy","shallowCopy","initByValue","initByCallback","forEachOnInterval","reverseForEachOnInterval","indexBy","reverseIndexBy","elementBy","reverseElementBy","setLast","incLast","decLast","allOf2","equalsByReference","unique","uniqueNumber","forEach2","reverseForEach","reverseIndexOf","accumulate","accumulateNumber","reverseAnyOf","unsafeReverseAnyOf","anyOf2","allOf","allOfOnInterval","addListOnTail","joinLists","countIf","minExtended","maxExtended","minMax","minMaxExtended","minByCmp","maxByCmp","minMaxByCmp","powFactor","restrictValue","getRandomInt","random","generateGuid","pow","somePrimes","OpenXmlMimeType","RtfMimeType","PlainTextMimeType","DocmMimeType","ImagePngMimeType","ImageGifMimeType","ImageJpegMimeType","ImagePjpegMimeType","ImageSvgMimeType","ImageTiffMimeType","ImageIcoMimeType","ImageWbmpMimeType","ImageWebpMimeType","OpenXml","Rtf","PlainText","Docm","Png","Gif","Jpeg","Pjpeg","Svg","Tiff","Ico","Wbmp","Webp","stringTypeToExtension","stringTypeToTypeMap","typeToExtensionMap","typeToExtension","extensionToType","extensionToTypeMap","typeToStringType","typeToStringTypeMap","binaryIndexOf","normedBinaryIndexOf","binaryIndexNormalizator","isAlpha","isDigit","stringHashCode","endsAt","startsAt","stringInLowerCase","stringInUpperCase","atLeastOneSymbolInUpperCase","getSymbolFromEnd","trimInternal","trimStart","trimEnd","getDecimalSeparator","toLocaleString","isNullOrEmpty","onEventAttachingToDocument","isTouchEventName","documentTouchHandlers","documentEventAttachingAllowed","changedTouches","pageX","pageY","touchMouseDownEventName","touchMouseUpEventName","msTouchDraggableClassName","polyfill","TypeError","writable","setPrototypeOf","ApiController","events","model","selection","notifySelectionChanged","SelectionChanged","raiseSelectionChanged","notifyToolboxDragStart","raise","notifyToolboxDragEnd","notifyToolboxDraggingMouseMove","notifyClick","tryRaiseUserAction","notifyDblClick","createNativeItem","cleanupNativeItem","toNative","units","createNativeShape","createNativeConnector","convertUnit","ModelUtils","getlUnitValue","convertPoint","convertSize","dataSource","isAutoGeneratedKey","fromKey","toKey","setDataSource","isUserAction","findItem","raise1","MouseEventElementType","Shape","ShapeExpandButton","ShapeParameterBox","ShapeResizeBox","ShapeConnectionPoint","Connector","ConnectorPoint","ConnectorSide","ConnectorOrthogonalSide","ConnectorText","getKeys","NativeConnector","NativeShape","NativeItem","unitsApplied","applyUnits","applyUnitsCore","AutoLayoutCommandBase","executeCore","control","history","beginTransaction","getAffectedShapes","getAffectedConnectors","createLayoutSettings","getGraphInfoByItems","GeometryUtils","getCommonRectangle","Utils","flatten","graph","items","rectangle","addAndRedo","ScrollIntoViewOnUndoHistoryItem","view","createLayout","getNonGraphItems","nodeToLayout","applyLayout","settings","snapToGrid","gridSize","tryUpdateModelRectangle","ScrollIntoViewOnRedoHistoryItem","endTransaction","locked","getSelectedShapes","getSelectedConnectors","SimpleCommandBase","AutoLayoutLayeredHorizontalCommand","LayoutSettings","orientation","DataLayoutOrientation","Horizontal","SugiyamaLayoutBuilder","build","AutoLayoutLayeredHorizontalRightToLeftCommand","LogicalDirectionKind","Backward","AutoLayoutLayeredVerticalBottomToTopCommand","AutoLayoutLayeredVerticalCommand","Vertical","AutoLayoutTreeHorizontalCommand","TreeLayoutSettings","TreeLayoutBuilder","AutoLayoutTreeHorizontalRightToLeftCommand","AutoLayoutTreeVerticalBottomToTopCommand","AutoLayoutTreeVerticalCommand","ClipboardCommand","setClipboardData","clipboardData","getClipboardData","isPasteSupportedByBrowser","CopySelectionCommand","isEnabled","isEnabledInReadOnlyMode","Exporter","exportItems","getSelectedItems","CutSelectionCommand","permissionsProvider","canDeleteItems","beginDeleteItems","deleteSelection","endDeleteItems","PasteSelectionCommand","getEventPositionOffset","PasteSelectionCommandBase","isVisible","parseClipboardData","Importer","shapeDescriptionManager","importItems","contextMenuPosition","getCorrectedOffsetByModel","getMinX","getMinY","topLeftItem","getShapeCorrectedPosition","getConnectorCorrectedPoints","performPaste","execute","addItemForSortingRecursive","endItem","beginItem","attachedConnectors","getSortedPasteItems","beginUpdateCanvas","ImportShapeHistoryItem","ImportConnectorHistoryItem","SetSelectionHistoryItem","endUpdateCanvas","barManager","updateItemsState","findShapeAtPosition","positionOffset","findConnectorAtPoints","PasteSelectionInPositionCommand","getModelPointByEventPoint","CommandBase","isPermissionsRequired","lockPermissions","getState","unlockPermissions","enabled","executeWithPermissions","updateControlState","beginStorePermissions","isStoredPermissionsGranted","undoTransaction","endStorePermissions","lockInputPositionUpdating","inputPosition","lockUIUpdating","CommandManager","DiagramCommand","T","E","A","R","N","U","B","H","K","V","F","W","G","Z","q","X","Y","J","tt","et","nt","ot","it","rt","st","at","ct","ut","Undo","Redo","Cut","Copy","Paste","PasteInPosition","SelectAll","Import","ImportBPMN","Export","ExportSvg","ExportPng","ExportJpg","BindDocument","UnbindDocument","Bold","Italic","Underline","FontName","FontSize","FontColor","FillColor","StrokeColor","TextLeftAlign","TextCenterAlign","TextRightAlign","ConnectorLineOption","ConnectorStartLineEnding","ConnectorEndLineEnding","BringToFront","SendToBack","MoveLeft","MoveStepLeft","MoveRight","MoveStepRight","MoveUp","MoveStepUp","MoveDown","MoveStepDown","CloneLeft","CloneRight","CloneUp","CloneDown","AutoLayoutTree","AutoLayoutFlow","AutoLayoutTreeVertical","AutoLayoutTreeHorizontal","AutoLayoutLayeredVertical","AutoLayoutLayeredHorizontal","Lock","Unlock","Units","ViewUnits","PageSize","PageLandscape","PageColor","GridSize","ShowGrid","SnapToGrid","ZoomLevel","Fullscreen","ToggleSimpleView","ToggleReadOnly","EditShapeImage","FitToScreen","SwitchAutoZoom","ToggleAutoZoom","FitToWidth","ZoomLevelItems","GridSizeItems","PageSizeItems","ImportXML","InsertShapeImage","DeleteShapeImage","StrokeStyle","StrokeWidth","AutoLayoutTreeVerticalBottomToTop","AutoLayoutTreeHorizontalRightToLeft","AutoLayoutLayeredVerticalBottomToTop","AutoLayoutLayeredHorizontalRightToLeft","Zoom25","Zoom50","Zoom75","Zoom100","Zoom125","Zoom150","Zoom200","AutoZoomToContent","AutoZoomToWidth","ZoomLevelInPercentage","ConnectorRoutingMode","ht","commands","shortcutsToCommand","lastCommandsChain","executingCommandsChain","executingCommandCounter","isPublicApiCall","createCommand","UndoCommand","RedoCommand","SelectAllCommand","DeleteCommand","ImportCommand","ImportBPMNCommand","ImportXMLCommand","ExportCommand","ExportSvgCommand","ExportPngCommand","ExportJpgCommand","BindDocumentCommand","UnbindDocumentCommand","ToggleFontBoldCommand","ToggleFontItalicCommand","ToggleFontUnderlineCommand","ChangeFontNameCommand","ChangeFontSizeCommand","ChangeFontColorCommand","ChangeFillColorCommand","ChangeStrokeColorCommand","ChangeStrokeStyleCommand","ChangeStrokeWidthCommand","TextLeftAlignCommand","TextCenterAlignCommand","TextRightAlignCommand","ChangeConnectorLineOptionCommand","ChangeConnectorStartLineEndingCommand","ChangeConnectorEndLineEndingCommand","BringToFrontCommand","SendToBackCommand","MoveLeftCommand","MoveRightCommand","MoveUpCommand","MoveDownCommand","MoveStepLeftCommand","MoveStepRightCommand","MoveStepUpCommand","MoveStepDownCommand","CloneLeftCommand","CloneRightCommand","CloneUpCommand","CloneDownCommand","LockCommand","UnLockCommand","ChangeUnitsCommand","ChangeViewUnitsCommand","ChangePageSizeCommand","ChangePageLandscapeCommand","ChangePageColorCommand","ChangeGridSizeCommand","ChangeShowGridCommand","ChangeSnapToGridCommand","ChangeZoomLevelCommand","ChangeZoomLevelInPercentageCommand","ToggleFullscreenCommand","ToggleSimpleViewCommand","ToggleReadOnlyCommand","InsertShapeImageCommand","EditShapeImageCommand","DeleteShapeImageCommand","FitToScreenCommand","FitToWidthCommand","SwitchAutoZoomCommand","ToggleAutoZoomCommand","ChangeZoomLevelItemsCommand","ChangeGridSizeItemsCommand","ChangePageSizeItemsCommand","ChangeZoomLevelTo25Command","ChangeZoomLevelTo50Command","ChangeZoomLevelTo75Command","ChangeZoomLevelTo100Command","ChangeZoomLevelTo125Command","ChangeZoomLevelTo150Command","ChangeZoomLevelTo200Command","ToggleAutoZoomToContentCommand","ToggleAutoZoomToWidthCommand","ChangeConnectorRoutingModeCommand","getCommand","beforeExecuting","afterExecuting","processShortcut","processPaste","notifyScrollPositionChanged","SimpleCommandState","visible","denyUpdateValue","redo","canRedo","iterateItems","undo","canUndo","nodeDataSource","performImportData","updateLayout","createDocumentDataSource","edgeDataSource","dataParameters","nodeDataImporter","edgeDataImporter","DataLayoutParameters","layoutParameters","createModelItems","measurer","deleteDocumentDataSource","deleteAllItems","export","ExportImportCommandBase","ExportImageCommand","exporter","ImageCache","hasNonLoadedImages","getExportManager","getExportFunc","pageColor","getExtension","tryDispose","useCanvgForExportToImage","getOrCreateMeasurer","createItemsManager","exportManager","CanvasExportManager","itemsContainer","instanceId","svgElement","RenderHelper","createSvgElement","CanvasItemsManager","ExportDOMManipulator","modelManipulator","onModelChanged","commitItemsCreateChanges","tempMeasurer","clean","TextMeasurer","exportJpg","exportPng","exportSvg","BPMNImporter","import","updateModel","AddShapeHistoryItem","getShapeDescription","shapeKey","findShape","edges","to","AddConnectorHistoryItem","getConnectionPointPosition","findConnector","connectorKey","AddConnectionHistoryItem","ConnectorPosition","Begin","data","keepExistingItems","importItemsData","importModel","XmlImporter","CloneCommand","canAddItems","cloneSelectionToOffset","getOffsetX","getOffsetY","MoveCommand","addInteractingItem","DiagramModelOperation","MoveShape","getPosition","setShapePosition","updateShapeAttachedConnectors","clearInteractingItems","createSelectedItems","canMoveConnector","moveConnectorPoint","getSnappedPos","getModelUnit","getModelUnitTwipsValue","getItems","gridSizeItems","getViewUnitText","getDefaultValue","DiagramModel","defaultPageColor","createHistoryItems","ChangePageColorHistoryItem","ChangePagePropertyCommand","pageLandscape","ChangePageLandscapeHistoryItem","getModelUnitSize","pageSize","ChangePageSizeHistoryItem","pageSizeItems","showGrid","ChangeUnitsHistoryItem","DiagramLocalizationService","unitItems","viewUnits","getZoom","zoomLevel","autoZoom","AutoZoomMode","Disabled","zoomLevelItems","exactValue","getZoomLevel","getActualAutoZoomLevel","FitContent","fullscreen","notifyToggleFullscreen","simpleView","needBringToFront","getIntersectItemsMaxZIndex","ChangeZindexHistoryItem","getIntersectItems","getItemIndex","getPropertyName","getPropertyDefaultValue","ConnectorLineEnding","ChangeConnectorPropertyCommand","Arrow","Straight","getCurrentConnectorPropertyValue","ChangeConnectorPropertyHistoryItem","setConnectorPropertyValue","connectorRoutingMode","ChangeLockedCommand","getLockState","changeSelectionLocked","needSendToBack","getIntersectItemsMinZIndex","getSelectedShape","image","EditShapeImageCommandBase","enableImage","allowEditImage","exportUrl","ChangeShapeImageHistoryItem","getModelUnitText","getUnitText","formatUnit","getTwipsValue","getViewUnit","getViewUnitTwipsValue","processParameter","getStyleProperty","ChangeStylePropertyCommand","ChangeStyleTextPropertyCommand","getCurrentStylePropertyValue","getStyleObj","getDefaultStyleObj","Style","createHistoryItem","ChangeStyleHistoryItem","updateInputPosition","setStylePropertyValue","ChangeStylePropertyCommandBase","StylePropertyCommandBase","getCurrentTextStylePropertyValue","styleText","TextStyle","ChangeStyleTextHistoryItem","setTextStylePropertyValue","ChangeTextAlignCommand","ToggleStyleTextPropertyCommand","getStylePropertyValue","defaultInstance","DataSourceEdgeDataImporter","DataSourceNodeDataImporter","DataSourceItemDataImporter","getKey","setKey","getCustomData","setCustomData","getLocked","setLocked","getStyle","setStyle","getStyleText","setStyleText","getZIndex","setZIndex","getType","setType","getText","setText","getImage","setImage","getLeft","setLeft","getTop","setTop","getWidth","setWidth","getHeight","setHeight","getChildren","setChildren","getParentKey","setParentKey","setItems","getContainerKey","setContainerKey","getFrom","setFrom","getFromPointIndex","setFromPointIndex","getTo","setTo","getToPointIndex","setToPointIndex","getPoints","setPoints","getLineOption","setLineOption","getStartLineEnding","setStartLineEnding","getEndLineEnding","setEndLineEnding","DataLayoutType","Tree","Sugiyama","sizeSettings","layoutType","layoutSettings","skipPointIndices","autoSizeEnabled","getLayoutBuilder","DataSource","autoGeneratedDataKeys","addInternalKeyOnInsert","useNodeParentId","useNodeContainerId","useNodeChildren","useNodeItems","canUseAutoSize","canUpdateEdgeDataSource","containers","loadParameters","createNodeDataImporter","createEdgeDataImporter","fetchData","assignNodeDataImporterProperties","assignEdgeDataImporterProperties","assignItemDataImporterProperties","useEdgesArray","addNode","addEdge","addNodeEdgesByParentId","isContainer","refetchData","getItemChanges","dataObj","containsItem","remained","remainedNewKeys","find","ShapeTypes","VerticalContainer","addNodeInternal","assignNodeProperties","addEdgeInternal","findNode","getNodeKey","getGuidItemKey","DataSourceNodeItem","assignEdgeProperties","DataSourceEdgeItem","assignItemProperties","customData","ObjectUtils","cloneObject","Data","cssTextToObject","containerKey","fromPointIndex","toPointIndex","texts","CONNECTOR_DEFAULT_TEXT_POSITION","lineOption","startLineEnding","endLineEnding","findEdge","beginChangesNotification","initializeKeyCounter","createShapeByNode","insertToContainer","createConnectorByEdge","updateConnectorContainer","needAutoLayout","endChangesNotification","updateModelItems","findShapeByDataKey","deleteItems","findConnectorByDataKey","purgeLayoutShapes","changeShapeByDataItem","changeItemByDataItem","updateShapeContainer","dataKey","changeConnectorPointsByDataItem","getConnectorPointsByEdge","changeConnectorByDataItem","keySet","uniqueShapes","applyShapeAutoSize","description","enableText","textRectangle","getMaxWidth","shapeMaxWidth","getMaxHeight","shapeMaxHeight","getOptimalTextRectangle","TextOwner","keepRatioOnAutoSize","getMinWidth","shapeMinWidth","getMinHeight","shapeMinHeight","getSizeByText","ResizeShapeHistoryItem","compareObjects","ChangeCustomDataHistoryItem","getPreparedStyleValue","isColorProperty","getDefaultInstance","ChangeLockedHistoryItem","updateNewShapeProperties","changeShapeType","setShapeSize","ChangeShapeTextHistoryItem","actualUrl","removeFromContainer","createModelPointFromDataSourceEdgeItemPoints","isValidDataSourceEdgeItemPoint","createModelPoint","updateNewConnectorProperties","beginConnectionPointIndex","DeleteConnectionHistoryItem","endConnectionPointIndex","updateConnectorAttachedPoints","compareTexts","ChangeConnectorTextHistoryItem","ReplaceConnectorPointsHistoryItem","getTextCount","compareStrings","isEmptyString","DataSourceItem","sourceKey","parentDataObj","containerDataObj","DocumentDataSource","UpdateNodeKeyRelatedObjectsStackAction","UpdateNodeKeyRelatedObjectsStackItem","nodeObj","kind","changesListener","nodeInsertingLockCount","updateNodeKeyRelatedObjectsCount","updateNodeKeyRelatedObjectsStack","updateNodeKeyRelatedObjectsStackActions","updateItemsByModel","deleteNodes","deleteEdges","updateNode","updateEdge","isItemObjectModified","setDataObjectKeyRelatedProperty","updateItemObjectProperties","toObject","objectToCssText","isNodeObjectModified","updateNodeObjectProperties","updateNodeObjectConnectedProperties","notifyNodeUpdated","updateNodeObjectKey","beginNodeInserting","notifyNodeInserted","endNodeInserting","areImageUrlsEqual","getParentItemKey","updateNodeObjectParentKey","getContainerShapeKey","updateNodeObjectContainerKey","updateNodeObjectItems","updateNodeObjectChildren","IsNodeParentIdMode","IsNodeItemsMode","isRootParentKey","isInUpdateNodeKeyRelatedObjects","addToUpdateNodeKeyRelatedObjectsStackAction","updateNodeObjectContainerOrParentKeyInternal","updateNodeObjectParentKeyInternal","checkNodeCyrcleItems","getNodeArray","updateNodeKeyRelatedObjects","isInNodeInserting","addToUpdateNodeKeyRelatedObjectsStack","getChildItems","updateEdgeObjectFromProperty","updateEdgeObjectToProperty","notifyNodeRemoved","getParentItem","isEdgeObjectModified","updateEdgeObjectProperties","notifyEdgeUpdated","updateEdgeObjectKey","notifyEdgeInserted","pointsAreEqual","updateEdgeObjectFromOrToPropertyInternal","notifyEdgeRemoved","raiseNodeInsertingStack","beginUpdateNodeKeyRelatedObjects","reloadInsertedItem","endUpdateNodeKeyRelatedObjects","raiseUpdateNodeKeyRelatedObjectsStack","Diagnostics","Console","Document","beginAverage","enableLogsAndTimers","lastAverageGroupName","endAverage","tryLogAverage","timers","groupName","endTime","startTime","log","timer","lastCreatedTimer","performance","endTimer","showMessage","logPerfInfo","memory","usedJSHeapSize","console","getElement","lastMessage","optimizeUsingRAF","optimizeLayers","DiagramControl","updateLockCount","shouldUpdateItemsByModel","reloadContentNeeded","reloadContentParameters","ReloadContentParameters","reloadContentByExternalChangesParameters","DiagramSettings","ShapeDescriptionManager","onShapeDecriptionChanged","Selection","onNativeAction","EventDispatcher","apiController","PermissionsProvider","onRequestOperation","routingModel","ConnectorRoutingModel","ModelManipulator","History","BarManager","ViewController","commandManager","eventManager","EventManager","onReadOnlyChanged","mouseHandler","visualizersManager","onChanged","toolboxManager","ToolboxManager","onConnectorRoutingModeChanged","onReadyStateChanged","operationSettings","cleanMarkup","RenderUtils","removeElement","onZoomChanged","onViewChanged","page","cleanToolboxes","onTextInputOperation","onMouseOperation","onVisualizersUpdate","onModelSizeChanged","createDocument","initMeasurer","replaceParent","RenderManager","modelSize","contextMenuEnabled","gridVisible","getRectangle","onNewModel","initialize","zoomLevelWasChanged","raiseCanvasViewActualZoomChanged","createToolbox","getToolboxAllowedShapeTypes","onDragOperation","registerToolbox","createContextToolbox","cleanContextToolbox","contextToolbox","onClickOperation","contextToolboxOnClick","beginUpdateUI","canAddShapeFromToolbox","endUpdateUI","refreshToolbox","clearCache","AddShapeFromToolbox","refresh","applyToolboxFilter","applyFilter","notifyToolboxClick","onDimensionChanged","captureFocus","isFocused","registerBar","updateBarItemsState","getNativeItemByKey","getNativeItemByDataKey","findItemByDataKey","getNativeItems","getNativeSelectedItems","setSelectedItems","scrollToItems","scrollIntoView","setInitialStyleProperties","setInitialTextStyleProperties","setInitialConnectorProperties","addCustomShapes","defaultWidth","defaultHeight","registerCustomShape","removeCustomShapes","unregisterCustomShape","removeAllCustomShapes","unregisterAllCustomShapes","onImportData","commitPageChanges","notifyViewChanged","notifyHistoryChanged","documentDataSource","applyShapeSizeSettings","applyOperationSettings","applySettings","onEdgeInserted","onEdgeUpdated","onEdgeRemoved","onNodeInserted","onNodeUpdated","onNodeRemoved","reloadInsertedItemRequired","reloadContent","isChangesLocked","reloadContentCore","getData","dataKeys","commitItemUpdateChanges","notifyDataChanges","raiseOnChanged","onToolboxDragStart","onToolboxDragEnd","notifyTextInputStart","onTextInputStart","notifyTextInputEnd","onTextInputEnd","notifyTextInputPermissionsCheck","onToggleFullscreen","notifyShowContextMenu","onShowContextMenu","getEventPointByModelPoint","getAbsoluteSize","notifyHideContextMenu","onHideContextMenu","notifyShowContextToolbox","onShowContextToolbox","notifyHideContextToolbox","onHideContextToolbox","notifyShapeDescriptionChanged","updateShapeDescription","notifyImageCacheReadyStateChanged","raiseActualZoomChanged","notifyRequestOperation","requestOperationByDataSource","ChangeConnection","connector","allowed","isShapeParent","changesLockChanged","notifyReloadContent","lockedReadOnly","PageOrientation","DiagramUnit","In","Cm","Px","Portrait","Landscape","ContextMenuHandler","contextMenuVisible","textInputStarted","canHideContextMenu","onVisibilityChanged","onMouseDown","MouseButton","Undefined","hideContextMenu","onMouseUp","onContextMenu","showContextMenu","eventPoint","modelPoint","onTextInputFocus","onTextInputBlur","onLongTouch","onKeyDown","onShortcut","notifyDragStart","notifyDragEnd","notifyDragScrollStart","notifyDragScrollEnd","ContextMenuTouchHandler","contextToolboxVisible","showContextMenuAtSelection","showContextMenuAtEmptySelection","ContextToolboxHandler","hideContextToolbox","showContextToolbox","contextToolboxCancelCallback","DiagramClipboardEvent","DiagramKeyboardEvent","DiagramContextMenuEvent","DiagramWheelEvent","DiagramMouseEvent","DiagramMouseEventBase","DiagramMouseEventTouch","DiagramFocusEvent","DiagramEvent","ResizeEventSource","MouseEventSource","Middle","Background","SelectionRect","ResizeBox_NW","ResizeBox_NE","ResizeBox_SE","ResizeBox_SW","ResizeBox_N","ResizeBox_E","ResizeBox_S","ResizeBox_W","modifiers","inputText","offsetPoint","touches","isTouchMode","scrollX","scrollY","deltaX","toolboxes","EventUtils","VisualizerTouchManager","VisualizerManager","contextMenuHandler","contextToolboxHandler","MouseHandler","textInputHandler","TextInputHandler","onMouseMove","processDragging","onMouseEnter","onMouseLeave","onDblClick","onMouseDblClick","onClick","onMouseClick","updateConnectionPoints","isShortcutForFocusInput","onKeyUp","onTextInputKeyDown","onPaste","isTextInputActive","onMouseWheel","onWheel","getDraggingEvent","draggingEvent","onDragStart","onDragEnd","draggingObject","evt","onDocumentDragStart","onDocumentDragEnd","onDocumentDragScrollStart","onDocumentDragScrollEnd","onDocumentClick","raiseTextInputStart","raiseTextInputEnd","raiseTextInputPermissionsCheck","canFinishTextEditing","visualizerManager","finishStateLock","allowMultipleSelection","allowCopyDiagramItems","allowSnapToCellOnDragDiagramItem","allowSnapToCellOnDragPoint","allowSnapToCellOnResizeShape","allowFixedDrag","allowZoomOnWheel","allowScrollPage","shouldScrollPage","copyDiagramItemsByCtrlAndShift","startScrollingPageByCtrl","initializeDefaultState","defaultState","MouseHandlerDefaultReadOnlyTouchState","MouseHandlerDefaultReadOnlyState","MouseHandlerDefaultTouchState","MouseHandlerDefaultState","switchToDefaultState","mouseDownEvent","hasKey","canScrollPage","hasCtrlModifier","canMultipleSelection","hasCtrlOrShiftModifier","canCopySelectedItems","hasCtrlAndShiftModifier","hasAltModifier","canCalculateFixedPosition","hasShiftModifier","canStartZoomOnWheel","canFinishZoomOnWheel","onStartScrollPageByKeyboard","canStartScrollingPageByKeyboard","raiseDragScrollStart","onFinishScrollPageByKeyboard","canEndScrollingPageByKeyboard","finishScrollingPage","onFinishScrollPageByMouse","canEndScrollingPage","raiseDragScrollEnd","getSnappedPointOnDragDiagramItem","getSnapToCellOnDragDiagramItem","getFixedXPosition","getFixedYPosition","getSnappedPointOnDragPoint","getSnapToCellOnDragPoint","getSnappedOffsetOnDragPoint","lockAspectRatioOnShapeResize","getSnappedPositionOnResizeShape","getSnapToCellOnResizeShape","tryUpdateModelSize","canAddDiagramItemToSelection","addDiagramItemToSelection","pressedDiagramItemKey","pressedDiagramItemInSelection","changeSingleSelection","canRemoveDiagramItemToSelection","removeDiagramItemFromSelection","raiseDragStart","raiseDragEnd","raiseClick","canPerformChangeConnection","canChangeConnection","oldItem","connectionPointIndex","canPerformChangeConnectionOnUpdateUI","restartState","finish","switchState","newState","notifyReadOnlyChanged","notifySelectionRectShow","notifySelectionRectHide","notifyResizeInfoShow","notifyResizeInfoHide","notifyConnectionPointsShow","onConnectionPointsShow","notifyConnectionPointsHide","notifyConnectionTargetShow","onConnectionTargetShow","notifyConnectionTargetHide","notifyContainerTargetShow","notifyContainerTargetHide","notifyExtensionLinesShow","notifyExtensionLinesHide","MouseHandlerCreateConnectorState","connectedItem","pointIndex","pointPosition","createNewShapeAtConnectorEnd","onApplyChanges","getSnappedPoint","handler","checkStoredPermissionsOnFinish","onFinishWithChanges","getNewShapeSide","getCategoryByDescription","getNewShapePosition","targetItem","findNearestContainer","getConnectionPointIndexForSide","checkNewConnectorPermissions","cancelChanges","DeleteConnectorHistoryItem","ConnectionPointSide","North","South","East","West","getRenderPoints","getNewShapeSideByConnectorPoints","getSourceItem","MouseHandlerMoveConnectorPointStateBase","canDragObjectOnMouseDown","canExpandContainerOnMouseDown","canClearSelectionOnMouseDown","canSelectOnMouseUp","canClearSelectionOnMouseUp","updateConnectionsOnMouseMove","MouseHandlerDefaultStateBase","inSelection","resetConnectionPoints","onMouseDownCore","startScrolling","MouseHandlerMoveConnectorTextState","MouseHandlerResizeShapeState","MouseHandlerDragParameterPointState","MouseHandlerMoveConnectorPointState","MouseHandlerMoveConnectorSideState","MouseHandlerMoveConnectorOrthogonalSideState","onDragDiagramItemOnMouseDown","MouseHandlerMoveShapeState","MouseHandlerMoveConnectorState","MouseHandlerBeforeToolboxDraggingState","onMouseMoveCore","updateConnections","hasDiagramItem","onShapeExpandBtnMouseDown","clearSelection","replaceSelection","startLimit","processOnMouseMoveAfterLimit","startZooming","startSelection","onMouseUpCore","MouseHandlerZoomOnWheelState","replaceMultipleSelection","MouseHandlerSelectionState","MouseHandlerScrollingState","MouseHandlerZoomOnPinchState","MouseHandlerToggleShapeExpandedState","MouseHandlerStateBase","MouseHandlerDragDiagramItemStateBase","DraggingConnector","startPoints","startRenderContext","tryCreateRenderPointsContext","startPosition","startScrollLeft","startScrollTop","resetExtensionLines","resetContainerTarget","resetConnectionTarget","shouldClone","initDrag","lockInitDrag","draggingShapes","mouseMoveEvent","canApplyChangesOnMouseMove","copySelection","onAfterApplyChanges","updateContainers","setExtensionLines","findContainerByEventKey","allowInsertToContainer","setContainerTarget","calculateFixedPosition","moveShape","draggingConnectors","moveConnectorCore","moveConnector","insertSelectionToContainer","removeSelectionFromContainer","modelConnectorsWithoutBeginItemInfo","point","modelConnectorsWithoutEndItemInfo","getDraggingElementKeys","fixedX","fixedY","selectedItems","initDraggingShapes","areValidDraggingShapes","initDraggingConnectors","areValidDraggingConnectors","createModelConnectorsWithoutBeginItemInfo","createModelConnectorsWithoutEndItemInfo","draggingConnectorsIndexByKey","registerConnector","containsDraggingConnectorByKey","AddShape","canInsertSelectionToContainer","findConnectorsCore","offsetConnector","changeConnector","updateMovingShapeConnections","setConnectionTarget","setConnectionPoints","ChangeConnectorPointsHistoryItem","offsetRenderContext","ConnectorRenderPointsContext","renderPoints","ConnectorRenderPoint","skipped","actualRoutingMode","tryRemoveConnectorIntermediatePoints","MouseHandlerDraggingState","parameterPointKey","startParameters","parameters","modifyParameters","ChangeShapeParametersHistoryItem","dragStartLimit","modified","mouseDownPoint","performMouseMoveEvent","MouseHandlerCancellableState","canCreatePoints","saveSidePoints","isHorizontal","iterateRenderPoints","leftPointIndex","leftRenderPointIndex","arePointsOfOrthogonalLine","rightPointIndex","rightRenderPointIndex","shouldCreatePoint","correctEdgePoint","addConnectorPoint","moveConnectorRightAnglePoints","deleteConnectorUnnecessaryPoints","fixConnectorBeginEndConnectionIndex","getConnectionPointSideByIndex","minOffset","Orthogonal","allowAttachToObjects","getExtremeItem","getExtremeConnectionPointIndex","oppositeConnectionPointIndex","oppositePointPosition","getOppositePointPosition","oppositeItem","updateOppositeItemConnectionPointIndex","setConnectionPointIndex","findItemContainerCore","pointCreated","savedText","getTextPositionByPoint","ChangeConnectorTextPositionHistoryItem","rotation","resetResizeInfo","resizeEventSource","lockH","lockV","sideH","sideV","shapes","ResizeShape","connectors","startRectangle","startShapeSizes","startShapePositions","startConnectorPoints","ShapeMinDimension","getSize","allowResizeHorizontally","getNormalizedSize","allowResizeVertically","setResizeInfo","cos","sin","getSnappedPosition","lastOffset","getPointByEvent","currentPoint","scrollBy","resetSelectionRectangle","setSelectionRectangle","selectRect","ToggleShapeExpandedHistoryItem","updateContainerConnectorsAttachedPoints","updateSelection","MouseHandlerToolboxDraggingState","isModelEmpty","tryRemoveTimer","dragging","switchToDraggingState","nonPageAreaTimer","savedEvt","updatePageSizeTimer","processAndRemoveUpdatePageSizeTimer","tryRemoveUpdatePageSizeTimer","onCaptured","deleteHistoryItem","detachConnectors","DeleteShapeHistoryItem","insertToolboxItem","undoTransactionTo","startShapePosition","connectorsWithoutBeginItemInfo","connectorsWithoutEndItemInfo","getConnectorsWithoutBeginItemInfo","getConnectorsWithoutEndItemInfo","onFinishDragging","defaultSize","canInsertToContainer","startDistance","getTouchDistance","startZoomLevel","prevDistance","scrollTo","getMiddleLayoutPoint","getMiddleAbsPoint","getMiddlePointByEvent","trySwitchToDefault","getNextStepZoom","resetScroll","startTextInput","allowEditText","textInputItem","textEditRectangle","canChangeShapeText","textInputPosition","canChangeConnectorText","getTextPoint","endTextInput","applyTextInput","getTextInputElementValue","canApplyShapeTextChange","canApplyConnectorTextChange","cancelTextInput","processDblClick","ConnectionPointsVisualizer","ConnectionPointInfo","side","dispatcher","outsideRectangle","raiseShow","setPointIndex","raiseHide","ConnectionTargetVisualizer","ConnectionTargetInfo","rect","targetRect","targetStrokeWidth","TargetVisualizerBase","ContainerTargetVisualizer","ContainerTargetInfo","ExtensionLinesVisualizer","ExtensionLine","ExtensionLineType","LeftToLeftAbove","LeftToLeftBelow","RightToRightAbove","RightToRightBelow","LeftToRightAbove","LeftToRightBelow","RightToLeftAbove","RightToLeftBelow","TopToTopBefore","TopToTopAfter","BottomToBottomBefore","BottomToBottomAfter","TopToBottomBefore","TopToBottomAfter","BottomToTopBefore","BottomToTopAfter","HorizontalCenterAbove","HorizontalCenterBelow","VerticalCenterBefore","VerticalCenterAfter","VerticalCenterToPageCenter","HorizontalCenterToPageCenter","LeftToPageCenter","RightToPageCenter","TopToPageCenter","BottomToPageCenter","segment","lines","lineIndexByType","addSegment","ResizeInfoVisualizer","SelectionRectVisualizer","setRectangle","setTargetRect","connectionPointsVisualizer","connectionTargetVisualizer","containerTargetVisualizer","extensionLinesVisualizer","resizeInfoVisualizer","selectionRectangleVisualizer","getConnectionPoints","getConnectionPointSide","enableChildren","addPageExtensionLines","addShapeExtensionLines","pageWidth","pageHeight","CanvasSelectionManager","extensionLineWidth","extensionLineOffset","resizeInfoOffset","hideConnections","showConnections","needShowConnections","SetConnectionPointIndexHistoryItem","itemKey","addConnection","deleteConnection","HistoryItem","oldConnectionPointIndex","renderPointsContext","replaceRenderPoints","addConnector","deleteConnector","AddConnectorPointHistoryItem","renderContext","addDeleteConnectorPoint","addPoint","onAddPoint","deletePoint","shapeDescription","addShape","deleteShape","UpdateConnectorPointsHistoryItem","newPoints","oldRenderContext","oldPoints","changeConnectorPoints","updateRenderPoints","newRenderContext","clearRenderPoints","oldParameters","changeShapeParameters","ChangeShapeTypeHistoryItem","newType","oldType","updateShapeType","ShapeParameters","insertConnector","removeConnector","insertShape","removeShape","InsertToContainerHistoryItem","MoveConnectorRightAnglePointsHistoryItem","MoveConnectorPointHistoryItem","newPoint","oldPoint","movePoint","onMovePoint","beginPointIndex","lastPointIndex","newX","newY","onMovePoints","MoveShapeHistoryItem","oldPosition","RemoveFromContainerHistoryItem","findContainer","oldSize","resizeShape","selectedKeys","forceChange","oldSelection","diagram","historyItems","currentIndex","incrementalId","transactionLevel","unmodifiedIndex","currTransactionId","isModified","changeModified","raiseChanged","startDataSyncItem","transaction","CompositionHistoryItem","addDataSyncItem","addInternal","deleteOldItems","dataSyncItems","MAX_HISTORY_ITEM_COUNT","getNextId","resetModified","getCurrentItemId","uniqueId","getName","oldValue","changePageColor","changePageLandscape","changePageSize","oldUnits","ModelResizeHistoryItem","backOffset","changeModelSize","UpdatePositionsOnPageResizeHistoryItem","applyOffset","updatePointsOnPageResize","propertyName","changeConnectorProperty","oldText","changeConnectorText","newPosition","changeConnectorTextPosition","oldCustomData","changeCustomData","oldLocked","changeLocked","imageUrl","oldImage","changeShapeImage","ImageInfo","changeShapeText","oldZIndex","changeZIndex","changeShapeExpanded","oldStyleValue","styleProperty","changeStyle","styleValue","ChangeStyleHistoryItemBase","changeStyleText","CacheImageInfo","_base64","actualId","_referenceInfo","_isLoaded","referenceInfo","_isLoading","startLoading","finalizeLoading","emptyImageId","lastActualId","nonLoadedImages","createUnloadedInfoByBase64","transparentOnePixelImage","isLoaded","getImageData","createUnloadedInfoByUrl","findInfoByUrl","registerImageData","getNextActualId","findInfoByBase64","createUnloadedInfoByShapeImageInfo","raiseReadyStateChanged","loadAllImages","isLoading","load","base64","findInfoCore","loadFailed","transparentWhiteImage1_1","loadBase64Content","setUnableToLoadFlag","ImageLoader","loadedCallback","loadInner","loadPictureByUrl","loadPictureByBase64","Image","XMLHttpRequest","response","onerror","status","responseType","send","BPMNNode","ImportUtils","Graph","nodeName","onDefinitionsElement","validate","dataSourceKey","onProcessElement","onStartEventElement","onSequenceFlowElement","onScriptTaskElement","onUserTaskElement","onServiceTaskElement","onSendTaskElement","onExclusiveGateway","onEndEventGateway","createNode","Ellipse","createEdge","hasAttribute","Decision","exportItemsCore","exportShape","exportConnector","beginItemKey","endItemKey","exportItem","childKeys","expandedSize","expandedWidth","expandedHeight","exportSvgImage","exportPngImage","exportJpgImage","parseJSON","DOMParser","parseFromString","getObject","getPageObject","getShapeObjects","getConnectorObjects","importPageSettings","assert","importShape","fromObject","normalizeParameters","importShapeChildren","importConnector","ImporterBase","importShapes","pushItem","importConnectors","updateChildren","getNextKey","findConnectorByBeginEndDataKeys","getPoint","getShapeType","getItemKey","importStyle","clientRectangle","getColor","stroke","shapeTypes","getNumbers","Triangle","Pentagon","Hexagon","Octagon","Diamond","Cross","Star","Terminator","Database","StoredData","Process","PredefinedProcess","ManualInput","ManualOperation","ArrowLeft","ArrowLeftRight","LayoutBuilder","getBreadthNodeSizeCore","getDepthNodeSizeCore","chooseDirectionValue","Forward","getDirectionValue","getComponentOffset","componentSpacing","setComponentOffset","offsetNodes","EdgeOnLayer","NodeOnLayer","SugiyamaNodesOrderer","SugiyamaLayerDistributor","GraphLayout","getConnectedComponents","CycleRemover","removeCycles","getLayers","orderNodes","removedEdges","getEdge","assignAbsCoordinates","createInfoGraphLayout","reversedEdges","HashSet","layer","getAbsOffsetInfo","getDepthNodeSize","getAbsPosition","getBreadthNodeSize","setBreadth","setDepthOffset","isDummy","layerSpacing","createNodesLayout","createEdgesLayout","getNode","NodeLayout","getDirectEdgeLayout","getDiffLevelEdgeLayout","getSameLevelEdgeLayout","originFrom","EdgeLayout","leftOffset","columnSpacing","getFeasibleTree","calcNodesLayers","initLayerAssignment","getSpanningGraph","ConnectionMode","OutgoingAndIncoming","getAdjacentEdges","Incoming","Outgoing","createIterator","visitEachEdgeOnce","onNode","skipNode","skipEdge","onEdge","iterate","idCounter","initGraphInfo","initOrder","getNodeToPositionMap","getCrossCount","getNodesOrder","getParents","getNodePosition","sortNodes","createDummyID","FastGraph","getAbsCoodinate","TopLeft","TopRight","BottomLeft","BottomRight","getPositionByMedian","getMedians","resolveMedianConflicts","getSortedBlocks","getBlock","checkMedianConfict","getActualAdjacentEdges","getMedianPosition","getHashCode","_originFrom","trunc","isFinite","nodeToLevel","levelDepthSize","createSpanningTree","processTree","nodeKeys","edgeToPosition","preProcessTree","getMaxDepthSize","loadNodes","hasNode","processLevel","Range","forEachNode","setDepthPos","getDepthPos","addNodes","fromLength","updateEdgeConnections","getBreadthPos","alignParent","getBeginEdgeIndex","getEndEdgeIndex","isVertical","alignment","Alignment","Center","GraphIterator","nodeMap","edgeMap","onInit","cast","comparer","weight","getHashKey","addNodeToSpanningGraph","tryPush","parentToChildren","childToParents","connectionMode","visitEachNodeOnce","visitedNodes","visitedEdges","iterateCore","isNodeVisited","onAfterEdge","onAllEdges","isEdgeVisited","GraphInfo","sourceGraph","_graph","getNodeInfoGraph","_level","getLevel","LayoutUtils","shapeToLayout","getContainerLevel","copyEdges","beginIndex","containerPadding","subTreeColumnSpacing","Margin","NodeInfo","connectionPoints","PositionInfo","reverse","childToParent","hasChildren","findRoot","candidate","inc","out","getFeedbackSet","reverseEdges","getNonTrivialStronglyConnectedComponents","getMaxCyclicEdges","getStronglyConnectedComponents","getStronglyConnectedComponent","first","shapeTexts","Text","Heart","ArrowUp","ArrowRight","ArrowDown","ArrowUpDown","MultipleDocuments","Preparation","HardDisk","InternalStorage","PaperTape","Delay","Display","Merge","Or","SummingJunction","Container","HorizontalContainer","Card","CardWithImageOnLeft","CardWithImageOnTop","CardWithImageOnRight","ModelOperationSettings","_addShape","_addShapeFromToolbox","_deleteShape","_deleteConnector","_changeConnection","_changeConnectorPoints","_changeShapeText","_changeConnectorText","_resizeShape","_moveShape","addShapeFromToolbox","changeConnection","DeleteShape","DeleteConnector","ChangeConnectorPoints","BeforeChangeShapeText","ChangeShapeText","BeforeChangeConnectorText","ChangeConnectorText","ConnectionPoint","toPoint","ConnectorPointsCalculator","ConnectorPointsCalculatorBase","ConnectorPointsOrthogonalCalculator","sideCalculators","ConnectorPointsOrthogonalUndefinedSideCalculator","ConnectorPointsOrthogonalSouthSideCalculator","ConnectorPointsOrthogonalNorthSideCalculator","ConnectorPointsOrthogonalEastSideCalculator","ConnectorPointsOrthogonalWestSideCalculator","skipUnnecessaryRenderPoints","getPointSide","getSideCalculator","beginRect","getCorrectOriginPoint","isOnSidePoint","isDirectConnectionAllowed","getDirectConnectionPoints","getBeginOffsetPoints","getEndOffsetPoints","endRect","addMiddlePoints","getMiddlePoint","getMiddlePoints","createPointsRect","isReturnPoint","isIntermediatePoints","isPriorMiddlePoint","getSameShapeOffsetPoints","getMinOffset","getAsideOffsetPoints","getOverlappedPointsOffsetPoints","getBeginOverlappedShapeOffsetPoints","getEndOverlappedShapeOffsetPoints","getBeginOnSideOffsetPoints","getScaleableOffsetX","getEndOnSideOffsetPoints","getBeginOffSideOffsetPoints","isBeginEndOverlappedY","getScaleableAsideOffsetPoints","getEndOffSideOffsetPoints","getScaleableOffsetY","ConnectorPointsOrthogonalSideCalculatorBase","isBeginEndOverlappedX","isBeginEndSame","isBeginEndOverlappedPoints","isBeginEndOverlapped","isOriginRectContainsTargetPoint","getSide","ConnectorProperties","ConnectorTexts","createRectagle","routingStrategy","renderPointsWithoutSkipped","lockCreateRenderPoints","shouldInvalidateRenderPoints","getPathPointByPosition","getPathLength","getPathPositionByPoint","getTextRectangle","changeRoutingStrategy","invalidateRenderPoints","clearRoutingStrategy","getCustomRenderPoints","changeRenderPoints","getCalculator","createRenderPoints","getConnectorContainer","AllShapesOnly","shouldChangeRenderPoints","replaceRenderPointsCore","onDeletePoint","createPrimitives","PathPrimitive","PathPrimitiveMoveToCommand","PathPrimitiveLineToCommand","createLineEndingPrimitives","createTextPrimitives","strategy","createLineEndingStrategy","point1","point2","hasCommands","needCreateSeparatePrimitive","createPrimitive","createCommands","ConnectorLineEndingNoneStrategy","ConnectorLineEndingArrowStrategy","OutlinedTriangle","ConnectorLineEndingOutlinedTriangleStrategy","FilledTriangle","ConnectorLineEndingFilledTriangleStrategy","ConnectorLineEndingStrategy","createSelectorPrimitives","TextPrimitive","PAGE_BG_TEXTFLOOR_FILTER_IDPREFIX","setElementEventData","getSegments","intersectedByRect","fromId","toId","minTextHeight","DiagramItem","getCssClass","resetStrokeDashArray","isDefaultStrokeDashArray","getArrowPoints","point3","arrowHeight","arrowWidth","PathPrimitiveClosePathCommand","DEFAULT_CONNECTOR_ENDLINEENDING","DEFAULT_CONNECTOR_STARTLINEENDING","DEFAULT_CONNECTOR_LINEOPTION","AStarCalculator","calculate","shouldStartContinue","startContinue","finishWithPath","shouldFinish","endContinue","finishWithoutPath","AStarContext","AStarContextBase","targetPosition","maxStepsCount","prohibitedPoints","updatableSet","stepsCount","generalSet","SortedQueues","UniqueAStarNodePositions","AStarNode","getDistance","enqueue","openNode","dequeueMin","addProhibitedPoint","getNeighborPoints","getPenalty","penalty","routingContext","prohibitedSegments","grid","metrics","allowPoint","distance","getTurnDirection","createAngle","getIntersectedItems","RightAngleConnectorRoutingMathOperations","shapeMargins","hasIntersectedItem","isIntersectedWithExtendedRectangle","hasOneShapeConnection","itemContainsConnectionPoints","beginPoint","isConnectionPoint","IntersectedShapeZone","AStarMetrics","IntersectedShapesMetrics","TurnDirectionMetrics","IntersectedShapeMetrics","RightAngleTurnDirection","Backwards","shapeMargin","createRelativeMarginPenalty","isTopPosition","isLeftPosition","isBottomPosition","isRightPosition","turnBack","turnLeft","turnRight","shapeMetrics","turnDirectionMetrics","shapesMetrics","_itemsArrays","_sortedKeys","getQueue","addSortedKey","removeCore","removeSortedKey","sortedKeys","ConnectorProhibitedSegments","segments","exludedPoints","addExludedPoint","ConnectorRenderSegment","startInfo","endInfo","startPointIndex","previousCustomSegment","createGridPoints","createProhibitedSegments","createProhibitedSegmentsCore","ConnectorRoutingPenaltyDescription","shouldReverseConnections","shouldResizeConnections","penaltyDescription","createStrategy","RightAngleConnectorRoutingStrategy","getShapes","notifyConnectorRoutingModeChanged","getConnectorShapes","RoutingGrid","verticalGridLines","horizontalGridLines","createPoint","addLine","isValidArrayIndex","RightAngleConnectorRoutingContext","IntersectingItemsByPointsContext","CuttingItemsContext","cuttingItemKeys","registerShape","areSegmentsCutRectangle","getOrAddItems","supportRenderPoints","beginConnectionShape","endConnectionShape","beginConnectionSide","getConnectionSide","endConnectionSide","ignorableItemKeys","cuttingShapesContext","intersectedItemsByPointsContext","isInvalidRenderSegments","isSmallPath","hasIntersecting","isReversedStartConnection","isReversedEndConnection","beginConnectionSegment","endConnectionSegment","isReversedConnectionSegment","supportSegments","beginPathPoint","endPathPoint","processContainers","processSupportSegments","processIntersection","processConnections","processRenderSegments","setup","processRoutingGrid","processRoutingMetrics","createRoutedPoints","createAStarContext","addConnectionRoutedPoints","unionPoints","isIgnorableItem","validateRenderPoints","validateRenderPointIndexes","skipUnnecessaryRightAngleRenderPoints","registerIgnorableShape","createSupportSegments","isConnectedByStart","isConnectedByEnd","shapeContainsOtherConnection","createBeginConnectionSegment","createEndConnectionSegment","renderSegments","createRenderSegments","routingGrid","createGrid","createAStarMetrics","createSegments","isCustomSegment","createUnionSegments","shouldCreateSegment","createPreviousCustomSegment","isPathNormal","isSegmentNormal","createBeginConnectionSegmentCore","hasIntersectedItemsByPoint","isEndConnectionRectanleLineIntersected","createEndConnectionSegmentCore","isBeginConnectionRectanleLineIntersected","isConnectionRectanleLineIntersected","createExtendedShapesBounds","isCorner","isLineIntersected","shouldCreateRenderPoints","createRenderPointsCore","findFirstPointIndex","getRenderPointIndexByPointIndex","onMovePointCore","registerCustomPoints","registerRenderPoints","registerPoint","DEFAULT_ZINDEX","getConnectionPoint","getNearestConnectionPoint","getConnectionPointIndex","itemIndexByKey","keyCounter","snapStartPoint","cacheShapeImage","removeItem","updateIndicesHash","findShapesCore","findShapeCore","findShapesByImageUrl","findShapesByDescription","findChild","findItemContainer","findItemCollapsedContainer","findItemTopCollapsedContainer","isContainerItem","findConnectorCore","arePointsEqual","findConnectorsWithoutBeginItem","findConnectorsWithoutEndItem","findItemCore","isIntersectedItems","ItemChange","ItemChangeType","Create","UpdateProperties","UpdateStructure","Update","Remove","UpdateClassName","initializeCore","descriptionManager","imageLoader","updateShapeImage","updateModelSize","raisePageSizeChanged","raiseModelSizeChanged","raisePageColorChanged","raiseModelRectangleChanged","commitItemsChangesCore","raiseModelChanged","changeStyleCore","getInteractingItem","canResizeShapes","canMoveShapes","toggleExpandedSize","createParameters","getConnectorInteractingPoints","addDeleteConnectorPointCore","moveConnectorPointCore","canChangeConnectorPoints","raiseSnapPointChange","getModelSizeUpdateOffset","createModelRectangleOffset","notifyModelChanged","notifyPageColorChanged","notifyPageSizeChanged","notifyModelSizeChanged","notifyModelRectangleChanged","notifySnapPointPositionChanged","deleteConnectorCustomPoints","createUnnecessaryRenderPoints","skippedRenderPoints","createNecessaryPoints","createUnnecessaryRightAngleRenderPoints","removeUnnecessaryPoints","removeUnnecessaryPoint","removeUnnecessaryRightAnglePoints","collectNotSkippedRenderPoints","collectSkippedRenderPoints","isNecessaryPoint","areDuplicatedPoints","updateConnectorBeginPoint","getConnectionPointIndexForItem","updateConnectorEndPoint","getMovingShapeConnectionPointIndex","connectionPointActionSize","shouldRemoveConnectorIntermediatePoints","isShapeIntersectConnectorCustomPoints","areIntersectedSegments","createSegmentsFromRectangle","deleteItemsCore","updateAttachedConnectorsContainer","copyStylesToItem","cloneShapeToOffset","applyOffsetToConnectorRenderPointsContext","cloneConnectorToOffset","getDefaultStyle","getDefaultStylePropertyValue","getDefaultTextStyle","getDefaultTextStylePropertyValue","getDefaultConnectorProperties","getDefaultConnectorPropertyValue","getOccupiedRectangles","offsetLayoutToFreeSpace","adjustLayoutToSnapGrid","resizeContainerOnLayout","applyLayoutToNodes","applyLayoutToConnectors","findFreeSpace","applyLayoutToNode","getGraphByItems","level","extendByConnectedComponents","updateConnectionIndexByNewShapeType","findNearestPointIndex","AddShapeEventArgs","AddShapeRequestedEntity","createEventArgs","settingsKey","RequestedEntity","PermissionRequestEventArgs","AddShapeFromToolboxEventArgs","AddShapeFromToolboxRequestedEntity","shapeType","BeforeChangeConnectorTextEventArgs","BeforeChangeConnectorTextRequestedEntity","BeforeChangeShapeTextEventArgs","BeforeChangeShapeTextRequestedEntity","ChangeConnectionEventArgs","ChangeConnectionRequestedEntity","oldShape","ChangeConnectorPointsEventArgs","ChangeConnectorPointsRequestedEntity","ChangeConnectorTextEventArgs","ChangeConnectorTextRequestedEntity","ChangeShapeTextEventArgs","ChangeShapeTextRequestedEntity","DeleteConnectorEventArgs","DeleteConnectorRequestedEntity","DeleteShapeEventArgs","DeleteShapeRequestedEntity","MoveShapeEventArgs","MoveShapeRequestedEntity","eventArgs","updateUI","_eventArgs","ResizeShapeEventArgs","ResizeShapeRequestedEntity","permissionsLockCount","requestDeleteItems","updateUICount","storage","PermissionsProviderStorage","operation","requestOperation","requestOperationCore","needStorePermissions","storePermission","storageKey","getInteractingItemCount","interactingItems","storedPermissions","getInteractingItemKey","storePermissions","ContainerDescription","CONTAINER_EXPAND_BUTTON_SIGN_RATIO","CONTAINER_EXPAND_BUTTON_RECT_RATIO","CONTAINER_HEADER_TOOLBOX_SIZE_RATIO","CONTAINER_HEADER_SIZE","ShapeDefaultDimension","getDefaultText","createConnectionPoints","createShapePrimitives","RectanglePrimitive","createHeaderPrimitives","createExpandButtonPrimitives","GroupPrimitive","ShapeDescription","HorizontalContainerDescription","getExpandedSize","getCollapsedSize","getHeaderSize","getClientRectangle","getTextEditRectangle","getTextAngle","TextAngle","Angle270deg","VerticalContainerDescription","CustomShapeDescription","baseDescription","updateSvgImage","defaultText","defaultImageUrl","getDefaultImageUrl","title","getTitle","svgUrl","svgImage","svgToolboxUrl","svgToolboxImage","createTemplate","toolboxWidthToHeightRatio","allowResize","getConnectionPointSides","getConnectionPointSideByGeometry","createImagePrimitives","svgLeft","svgTop","svgWidth","svgHeight","ImagePrimitive","createToolboxTemplate","templateLeft","templateTop","templateWidth","templateHeight","SvgElementPrimitive","destroyTemplate","getParameterPoints","textLeft","textTop","textWidth","textHeight","getImageSize","ShapeWithImageDescription","imageWidth","imageHeight","getImagePlacementRectangle","imageLeft","imageTop","raiseShapeDescriptionChanged","ConnectorShapeDescription","EllipseShapeDescription","DataShapeDescription","slopeAngle","processConnectionPoint","ShapeTextPadding","RectangleShapeDescription","DatabaseShapeDescription","arcWidthRatio","PathPrimitiveArcToCommand","EllipsePrimitive","DecisionShapeDescription","DiamondShapeDescription","DelayShapeDescription","getMaxRectangleEnscribedInEllipse","getEllipseByEnscribedRectangle","DisplayShapeDescription","DocumentShapeDescription","createDocumentPrimitives","curveOffsetRatio","PathPrimitiveQuadraticCurveToCommand","HardDiskShapeDescription","InternalStorageShapeDescription","InternalStorageVerticalEdgeParameterName","InternalStorageHorizontalEdgeParameterName","addRangeIfNotExists","ShapeParameter","changeParameterValue","minEdge","ShapeParameterPoint","normalizeX","normalizeY","ManualInputShapeDescription","slopeHeightRatio","ManualOperationShapeDescription","MergeShapeDescription","calculateHeight","TriangleShapeDescription","MultipleDocumentsShapeDescription","documentsOffsetRatioForToolbox","documentsOffsetRatio","generateSvgElementId","ClipPathPrimitive","OrShapeDescription","PaperTapeShapeDescription","PredefinedProcessShapeDescription","PredefinedProcessEdgeParameterName","addIfNotExists","PreparationShapeDescription","HexagonShapeDescription","ProcessShapeDescription","StoredDataShapeDescription","SummingJunctionShapeDescription","atan","TerminatorShapeDescription","curveWidthRatio","ArrowDownShapeDescription","ArrowVerticalLineWidthParameterName","ArrowVerticalTriangleHeightParameterName","ArrowVerticalShapeDescription","ArrowHorizontalShapeDescription","ArrowVerticalLineHeightParameterName","ArrowVerticalTriangleWidthParameterName","ArrowLeftRightShapeDescription","ArrowLeftShapeDescription","ArrowRightShapeDescription","ArrowUpDownShapeDescription","ArrowUpShapeDescription","CrossShapeDescription","CrossVerticalWidthParameterName","CrossHorizontalWidthParameterName","ShapeDefaultSize","HeartShapeDescription","PathPrimitiveCubicCurveToCommand","angle","PolygonShapeDescription","OctagonShapeDescription","PentagonShapeDescription","defaultRatio","angleCount","StarShapeDescription","StarConvexParameterName","getActualBottom","getInnerPointDistance","getInnerPointPos","getInnerPointDistanceByAxis","TextShapeDescription","textClipPathId","getTextClipPathId","getSizeByTextRectangle","CardBaseDescription","RoundedRectanglePrimitive","createImagePlaceholder","SHAPE_IMAGE_CLASSNAMES","IMAGE_PLACEHOLDER","createEmptyImagePrimitive","ShapeImageIndicator","createUserIconPrimitives","defaultIconSize","USER_PIC","createWarningPrimitive","createWarningIconPrimitives","WARNING_MARK","isTextAfterImage","getImageSizeByTextBlockSize","createGraphicalTextRepresentation","createTextRepresentationPrimitives","getImageMargin","CardWithImageOnRightDescription","CardWithImageOnLeftDescription","getToolboxHeightToWidthRatio","CardWithImageOnTopDescription","hasDefaultText","textSpacing","Angle0deg","descriptions","descriptionTypes","descriptionCategories","register","ShapeCategories","General","Flowchart","OrgChart","Containers","defaultContainerInstance","getTypesByCategory","getCategoryByType","baseType","category","Custom","IMAGE","LOADING_INDICATOR","unableToLoad","createEmptyImagePrimitives","renderUrl","createLoadingImagePrimitives","createLoadedImagePrimitives","imageScalingRule","getIconPlacementRectangle","createLoadingIndicatorPrimitives","toolboxSize","attachedConnectorIds","containerId","containerChildItemIds","containerExpanded","ShapeType","ellipse","cross","triangle","diamond","heart","pentagon","hexagon","octagon","star","arrowLeft","arrowTop","arrowRight","arrowBottom","arrowNorthSouth","arrowEastWest","process","decision","terminator","predefinedProcess","multipleDocuments","manualInput","preparation","database","hardDisk","internalStorage","paperTape","manualOperation","storedData","or","summingJunction","verticalContainer","horizontalContainer","cardWithImageOnLeft","cardWithImageOnTop","cardWithImageOnRight","EmptyStyle","TextAlignment","DEFAULT_STROKE_DASHARRAY","DEFAULT_STROKE_WIDTH","StyleBase","createDefaultProperties","createInstance","strokeWidthPx","toHash","getAlignment","_strokeWidthPx","_strokeOffset","default1pxInstance","default1pxNegativeOffsetInstance","default2pxInstance","_dataKeys","_getData","_layoutParameters","AutoScrollController","scroll","leftButtonPressed","scrollDragging","scrollTimer","scrollBarWidth","clearScrollTimer","canAutoScroll","changeScrollPosition","onDragScrollStart","onDragScrollEnd","isAutoScrollLocked","getScrollContainer","changeByFunc","offsetScroll","getScrollingOffset","createMainElement","createElementNS","svgNS","baseVal","__awaiter","Promise","throw","done","then","__generator","sent","trys","ops","getSvgImage","updateSvgElementSize","createTextFloodFilter","getExportCssRules","setAttributeNS","cloneNode","inlineStyle","getSvgImageUrl","getSvgBase64String","getSvgString","XMLSerializer","serializeToString","base64Start","getBase64EncodeUnicode","isCSSStyleRule","selectorText","checkSelector","exportStyleRules","isCSSStyleSheet","exportStyleAttributes","getPropertyValue","exportBinaryImage","getContext","fillStyle","fillRect","canvg","exportBinaryImageCanvgAsync","exportBinaryImageCanvgOld","drawImage","toDataURL","drawSvg","renderCallback","Canvg","CanvasManagerBase","CONNECTOR_CAN_MOVE","NOT_VALID_CSSCLASS","itemSelectorGroupContainers","itemSelectorElements","itemGroupContainers","itemElements","itemChildElements","primitives","selectorPrimitives","initializeContainerElements","itemSelectorsContainer","createAndChangePrimitiveElement","removeContent","applyChange","getItemParent","applyShapeChange","applyConnectorChange","setPointerEventsNone","pointerEvents","notifyActualZoomChanged","actualZoom","notifyViewAdjusted","invalidatePrimitives","getPrimitives","getSelectorPrimitives","getShapeSelectorClassName","getShapeClassName","getItemSelectorGroupContainer","getItemGroupContainer","createItemElements","changeItemChildrenVisibility","removeItemCustomContent","removeItemElements","changeItemElements","changeItemClassName","moveItemElements","getConnectorSelectorClassName","getConnectorClassName","createAndChangePrimitivesElements","changeChildrenByPrimitives","changePrimitiveElement","destroyCustomContent","getItemGroupContainerKey","getItemSelectorParent","populateItems","applyOrPostponeChanges","CanvasManager","pendingChanges","pendingRemoveChanges","updatesLock","applyPendingChanges","getPendingChanges","getPendingRemoveChanges","applyChangesCore","postponeChanges","elements","createPrimitiveElement","changeByPrimitive","getOrCreateElement","TextFloodFilterPrimitive","CanvasPageManager","snapPoint","gridPatternId","pagesGridPatternId","pagesGridClipId","canvasViewOffset","initContainers","backgroundContainer","redraw","redrawPage","redrawGrid","updateGridElements","updatePagesGridElements","getGridRectElement","gridRectElement","getGridPatternElement","gridPatternElement","getUrlPathById","PatternPrimitive","createGridPathPrimitive","createGridPatternPrimitivePosition","getPagesGridRectElement","getPagesGridClipPathElement","pagesGridClipPathElement","getPagesGridPatternElement","pagesGridPatternElement","notifyGridChanged","ACTIVE_SELECTION_CSSCLASS","SELECTION_ELEMENT_CLASSNAMES","SELECTION_RECTANGLE","CONNECTION_POINT","ACTIVE","CONTAINER_TARGET","CONNECTION_TARGET","EXTENSION_LINE","CONNECTION_MARK","SELECTION_MARK","LOCKED_SELECTION_MARK","ITEMS_SELECTION_RECT","CONNECTOR_MULTI_SELECTION","CONNECTOR_SELECTION","CONNECTOR_POINT_MARK","CONNECTOR_SELECTION_MASK","CONNECTOR_SIDE_MARK","ITEM_SELECTION_RECT","ITEM_MULTI_SELECTION","connectionPointElements","extensionLineElements","selectionMap","parentContainer","itemSelectionContainer","visualizersContainer","selectionMarksContainer","selectionRectElement","resizeInfoElement","connectionTargetElement","containerTargetElement","showSelectionRect","getSelectionRectElement","hideSelectionRect","showResizeInfo","Resize","getResizeInfoElement","measureTextLine","resizeInfoTextOffset","hideResizeInfo","getConnectionPointClassName","showConnectionPoint","showConnectionPointCore","connectionPointLargeSize","connectionPointSmallSize","getConnectionPointElement","hideConnectionPoints","showContainerTarget","getContainerTargetElement","hideContainerTarget","showConnectionTarget","getConnectionTargetElement","hideConnectionTarget","showExtensionLine","extensionLineEndingSize","fromPoint","getExtensionLineElement","hideExtensionLines","getOrCreateShapeSelection","getOrCreateConnectorSelection","pos","getOrCreateMultipleSelection","getMultipleSelection","updateShapeSelection","onModelItemChanged","updateConnectorSelection","hideOutdatedSelection","selectionCanBeDrawn","onSelectionChanged","notifyZoomChanged","connectionPointShift","correctSelectionRect","connectionTargetBorderWidth","selectionOffset","evenOddSelectionCorrection","selectionMarkSize","lockedSelectionMarkSize","selectionRectLineWidth","multiSelectionRectLineWidth","geomertyMarkSize","connectorPointMarkSize","connectorSideMarkSize","resizeInfoLineWidth","rectsContainer","marksContainer","updatedElements","redrawCore","drawSelectionMarks","drawSelectionMark","drawSelectionRect","isMultipleSelection","isLockedRender","drawLockedSelectionMark","rectangles","needDrawSelectionMarks","shapeParameterPoints","drawLockedSelection","drawUnlockedSelection","drawShapeParameterPoints","drawShapeParameterPoint","lineType","drawConnectorSelection","drawConnectorSelectionMarks","populateSelectionPrimitiveCommands","createNotSkippedRenderPoints","getSelectionOffset","getSelectionOffsetPoint","getConnectorSelectionTextSize","getSelectionTextStartEndPoints","addSelectedLinesTo","drawConnectorSideMarks","canDrawConnectorSideMark","CanvasViewManager","CROP_OFFSET","CANVAS_SCROLL_PADDING","CANVAS_MIN_PADDING","paddings","crop","lockAutoZoom","autoScrollLocker","pageClipPathId","pageShadowId","onScroll","scrollView","fixedZoomLevel","rectangleToCrop","updateElements","ShadowFilterPrimitive","containerSize","adjust","vertical","horizontal","adjustCore","tryNormalizePaddings","adjustAfterDragEnd","autoZoomLocked","notifyScrollChanged","checkFitToCanvas","getScrollBarWidth","getActualModelSizeWithoutZoom","checkScrollBars","correctCrop","setActualZoom","getActualAutoZoom","getActualZoom","getTailSpace","applyChanges","changeScrollByOffset","changeTranslateByOffset","translate","cropHiddenHead","getScrollDeltaByOffset","getTranslateDeltaByOffset","setScrollTo","getVisibileAreaAbsShift","setScroll","updatePageElement","updateCanvasElement","canvasElement","updatePageElementCore","createPageShadow","pageElement","createPageClipPathPrimitive","resizeView","resetView","setSvgSize","lockAutoScroll","unlockAutoScroll","getActualOffset","lastWidth","lastHeight","getModelPoint","getAbsolutePoint","DOMManipulator","queue","doChange","cancelAnimation","rafId","cancelAnimationFrame","requestAnimation","doChangeSync","applyElementProperties","rafRequested","requestAnimationFrame","InputManager","mainElement","layoutPointResolver","textMeasurer","focusElementsParent","focusLocked","createInputElements","detachEvents","detachInputElementEvents","detachTextInputElementEvents","textInputElement","HtmlFocusUtils","focusWithPreventScroll","inputElement","clipboardInputElement","select","execCommand","clipboard","readText","catch","createFocusInputElement","createTextInputElement","createClipboardInputElement","attachInputElementEvents","setInputElementFocusHandlerMode","textInputElementContainer","setInputElementTextInputMode","setTextInputElementBounds","setTextInputElementStyle","updateTextInputPadding","savedTextInputPosition","savedTextInputSize","savedTextInputAngle","savedTextInputStyle","applyStyleToElement","onInputBlurHandler","onInputBlur","onInputFocusHandler","onInputFocus","onInputKeyDownHandler","onInputKeyDown","onInputKeyPressHandler","onInputKeyPress","onInputKeyUpHandler","onInputKeyUp","onPasteHandler","removeEventListener","attachTextInputElementEvents","onTextInputBlurHandler","onTextInputFocusHandler","onTextInputKeyDownHandler","onTextInputMouseWheelHandler","onTextInputMouseWheel","onTextInputMouseUpHandler","onTextInputMouseUp","onTextInputKeyUpHandler","onTextInputKeyUp","onTextInputChangeHandler","onTextInputChange","blurControl","focusControl","measureWords","getTextHeight","getLineHeight","textToParagraphs","raiseEvent","getDiagramFocusEvent","getDiagramKeyboardEvent","getDiagramClipboardEvent","mouseWheelHandler","originalEvent","isTextInputElement","lockFocus","textAngle","fontSizeCache","createNodes","words","splitToWords","getStyleHash","tryLoadWordsToMeasurer","putElementsInDOM","beforeMeasureInDOM","measureElementsInDOM","afterMeasureInDOM","getTextLineSize","onNewModelCore","tryLoadShapeTexts","tryLoadConnectorTexts","hashes","styleHashes","tryLoadWordToMeasurer","newWords","getDomElementSize","getDomFontSize","getHash","textToWords","getBBox","createContainer","SvgPrimitive","rx","ry","setUnitAttribute","setPositionCorrectionAttribute","FilterPrimitive","onBeforeDispose","preserveAspectRatio","PathPrimitiveCommand","PrimitiveObject","getUnitVaue","x1","y1","x2","y2","x3","y3","xAxisRotation","largeArcFlag","sweepFag","clipPathId","onApplyProperties","createChildElements","createCustomContent","applyElementStyleProperties","applyChildrenProperties","applyElementStylePropertiesCore","strokeOffset","createContent","destroyContent","TextFilterPrimitive","floodColor","prepareFEFloodNode","TextPrimitive270degRenderHelper","TextPrimitive180degRenderHelper","TextPrimitive90degRenderHelper","TextPrimitiveRenderHelper","Angle90deg","Angle180deg","owner","reverseTextAhchor","filterId","textSegmens","renderHelper","createRenderHelper","getTextX","getTextY","fitToSize","createTSpanElements","prepareTSpanElements","prepareMainElement","createTSpanElement","wordsByLines","prepareFirstTSpanElement","prepareTSpanElement","baselineCorrection","primitive","needRotation","LINE_HEIGHT","textAnchor","DBL_CLICK_TIMEOUT","LONG_TOUCH_TIMEOUT","moveLocked","lockMouseMoveTimer","lastClickElement","longTouchTimer","dblTouchTimer","pointers","NativeScrollView","autoScroll","attachEvents","killLockMouseMoveTimer","clearLastMouseDownEvent","attachPointerEvents","onPointerDownHandler","onPointerUpHandler","onPointerMoveHandler","onPointerCancelHandler","onPointerLeaveHandler","detachPointerEvents","attachMouseTouchEvents","mouseDownEventName","onMouseDownHandler","mouseMoveEventName","onMouseMoveHandler","mouseUpEventName","onMouseUpHandler","detachMouseTouchEvents","onPointerDown","onPointerUp","onPointerMove","onPointerCancel","onPointerLeave","onMouseEnterHandler","onMouseLeaveHandler","onMouseWheelHandler","onMouseDblClickHandler","onContextMenuHandler","onWindowResizelHandler","onWindowResize","onOrientationChangeHandler","onOrientationChange","onMouseClickHandler","isPointerEvents","setPointerPosition","pointerId","clearPointerPosition","getPointerCount","isMousePointer","lockMouseMove","lastDownMouseEvent","createDiagramMouseEvent","processTouchDown","processTouchMove","processTouchUp","createActualMouseClickEvent","createDiagramMouseEventTouches","createDiagramContextMenuEvent","touchDownPoint","getTouchPointFromEvent","resetLongTouch","resetDblClick","touchPositionLimit","getPointers","createDiagramWheelEvent","getOffsetPointByEvent","getOffsetPointByEventPoint","isDiagramControl","isDocumentContainer","getElementEventData","onScrollHandler","getScroll","borderThickness","animationStarted","createLoadingIndicatorPrimitive","createUserIconPrimitive","createWarningIconPrimitive","rotate","animationRequestId","onApplyLoadingIndicatorElementProperties","IconToolbox","createElements","drawShapeIcons","toolboxWidth","shapeIconSize","shapeIconSpacing","shapeIconCountInRow","createShape","updateShapeIconBounds","drawShape","drawSelector","shapeIconAttributes","needResetShapeText","createDraggingElement","Toolbox","TextToolbox","DiagramDraggingEvent","ToolboxDraggingObject","allowDragging","getAllowedShapeTypes","dragPrepareTimeout","dragState","emulateDragEvents","attachHandlers","detachHandlers","draggable","tabIndex","onElementMouseDownHandler","onElementMouseDown","onElementMouseUpHandler","onElementMouseUp","onDragStartHandler","onTouchMoveHandler","onTouchMove","createDraggingObject","resetDragState","capture","getDragShapeType","mouseDownShapeType","setDragState","Prepare","Start","Dragging","raiseDraggingMouseMove","updateDraggingElementPosition","SetAbsoluteX","SetAbsoluteY","dragPrepareEvent","prepareDragging","onDragPrepareTimeout","startDragging","doDragging","finishDragging","dragStartPoint","dragStartShapeType","captured","measurers","searchFilter","getHtmlElementStylePropertyName","getTextAnchorValue","getStrokeDasharrayValue","InputPosition","initialProperties","InputPositionProperties","defaultProperties","currentProperties","getConnectorProperties","getConnectorPropertyValue","getTextStyle","getTextStylePropertyValue","baseProperties","disableMergingStyles","connectorProperties","textStyle","updateConnectorProperties","updateStyle","updatePropertyValue","ArrayEqual","getSelectedItemsInsideContainers","getSelectedItemsCore","_zoomLevel","_zoomLevelWasChanged","_zoomLevelItems","_simpleView","_fullscreen","_readOnly","_autoZoom","_snapToGrid","_showGrid","_contextMenuEnabled","_gridSize","_gridSizeItems","_pageSizeItems","_viewUnits","_connectorRoutingMode","_reloadInsertedItemRequired","_useCanvgForExportToImage","correctZoomLevel","_shapeMinWidth","_shapeMinHeight","_shapeMaxWidth","_shapeMaxHeight","ConnectorShapesOnly","bars","getCommandKeys","updateBarItem","setItemVisible","setItemEnabled","getItemValue","setItemSubItems","setItemValue","getDefaultItemValue","setEnabled","notifyBarCommandExecuted","notifyBarUpdateRequested","LineEquation","aParam","bParam","cParam","getPointIntersection","includes","listeners","hasEventListener","checkRect","removeUnnecessaryPointsCore","removeBackwardPoints","removeNotRightAnglePoints","removeDuplicatedPoints","removeNotCornersPoints","getNextPoint","isRightAngleCorner","isBackwardPoint","atan2","getLineAngle","getTriangleBeginAngle","getTriangleEndAngle","getPathPointByPoint","fround","isDeepEqual","getOwnPropertyNames","getHtmlScrollPosition","parentElement","preventScroll","setHtmlScrollPosition","getDocumentScrollPosition","iframePos","pageXOffset","setDocumentScrollPosition","pointerType","ArrayInsert","ArrayRemove","ArrayIndexOf","ArrayRemoveAt","ArrayClear","ArrayContains","ArraySame","ArrayGetIntegerEdgeValues","CollectionToArray","ArrayIntegerAscendingSort","ArrayIntegerSort","CollectionsUnionToArray","CreateHashTableFromArray","CreateIndexHashTableFromArray","ArrayToHash","Sum","Min","CalculateArrayMinMax","Max","NearestLeftBinarySearchComparer","ArrayBinarySearch","defaultBinarySearchComparer","ArrayFlatten","GetDistinctArray","ForEach","MergeHashTables","NEGATIVE_INFINITY","POSITIVE_INFINITY","byRange","TEXTRECT_RATIO_EPS","getNearestCurrentZoomStep","exp","__assign","__asyncDelegator","__asyncGenerator","__asyncValues","__await","__classPrivateFieldGet","__classPrivateFieldSet","__createBinding","__decorate","__exportStar","__importDefault","__importStar","__makeTemplateObject","__metadata","__param","__read","__rest","__spread","__spreadArrays","__values","getOwnPropertySymbols","propertyIsEnumerable","Reflect","decorate","metadata","asyncIterator","resolve","Margins","AttrUtils","setElementAttribute","setStyleAttribute","getElementAttribute","getStyleAttribute","removeElementAttribute","removeStyleAttribute","removeProperty","changeElementStyleAttribute","saveStyleAttributeInElement","restoreElementStyleAttribute","isExistsAttributeInElement","emptyObject","isAttributeExists","JsonUtils","updateContextMenu","isContextMenu","updateItemsList","completeUpdate","GanttClientCommand","CreateTask","CreateSubTask","RemoveTask","RemoveDependency","TaskInformation","TaskAddContextItem","ZoomIn","ZoomOut","FullScreen","CollapseAll","ExpandAll","ResourceManager","ToggleResources","ToggleDependencies","CollapseAllCommand","executeInternal","collapseAll","ExpandAllCommand","expandAll","validationController","_state","editing","createTaskCommand","createSubTaskCommand","removeTaskCommand","removeDependencyCommand","showTaskEditDialog","showResourcesDialog","TaskAddContextItemCommand","ZoomInCommand","ZoomOutCommand","ToggleFullScreenCommand","toggleResources","toggleDependencies","CreateTaskCommand","CreateSubTaskCommand","RemoveTaskCommand","UpdateTaskCommand","CreateDependencyCommand","RemoveDependencyCommand","CreateResourceCommand","RemoveResourceCommand","AssignResourceCommand","DeassignResourceCommand","ResourceColorCommand","TaskEditDialogCommand","ConstraintViolationDialogCommand","ConfirmationDialog","ResourcesDialogCommand","ToggleResourceCommand","ToggleDependenciesCommand","viewModel","dependencies","predecessorId","successorId","DependencyInsertingArguments","notifyDependencyInserting","cancel","InsertDependencyHistoryItem","isValidateDependenciesRequired","tasks","getItemById","DependencyType","SF","SS","moveStartDependTasks","moveEndDependTasks","allowDependencyInsert","DependencyCommandBase","showConfirmationDialog","ConfirmationDialogParameters","ConfirmationType","DependencyDelete","taskEditController","dependencyId","internalId","DependencyRemovingArguments","notifyDependencyRemoving","RemoveDependencyHistoryItem","selectDependency","allowDependencyDelete","isInFullScreenMode","fullScreenTempVars","fullScreenModeHelper","toggle","assignments","resourceId","taskId","ResourceAssigningArguments","convertInternalToPublicKey","notifyResourceAssigning","AssignResourceHistoryItem","convertPublicToInternalKey","allowTaskResourceUpdate","ResourceCommandBase","ResourceInsertingArguments","notifyResourceCreating","CreateResourceHistoryItem","allowResourceInsert","fireResourceUnassigning","DeassignResourceHistoryItem","resources","ResourceColorHistoryItem","ResourcePropertyCommandBase","allowResourceUpdate","ResourceRemovingArguments","notifyResourceRemoving","RemoveResourceHistoryItem","allowResourceDelete","currentSelectedTaskID","task","progress","parentId","TaskInsertingArguments","notifyTaskCreating","CreateTaskHistoryItem","updateParent","allowTaskInsert","TaskCommandBase","range","isApiCall","isUpdateParentTaskRequired","TaskDelete","TaskRemovingArguments","notifyTaskRemoving","RemoveTaskHistoryItem","allowTaskDelete","_parentAutoCalc","updateParentsIfRequired","raiseTaskUpdating","filterChangedValues","processDependecyValidation","allowTaskUpdate","onAfterValidationCallback","checkStartDependencies","checkEndDependencies","showConstraintViolationDialog","ConstraintViolationDialogParameters","option","ConstraintViolationOption","DoNothing","validationErrors","UpdateTaskHistoryItem","processAutoParentUpdate","KeepDependency","updateBarManager","updateViewDataRange","DateUtils","getTimezoneOffsetDiff","msPerHour","correctParentsOnChildMoving","updateOwnerInAutoParentMode","zoomIn","zoomOut","applyParameters","getDialogName","DialogBase","_canRefresh","showDialog","onBeforeDialogShow","activeInstance","afterClosing","ResourcesDelete","DialogParametersBase","critical","ResourcesDialogParameters","ResourceCollection","addRange","TaskEditParameters","enableEdit","enableRangeEdit","isValidationRequired","hiddenFields","readOnlyFields","assigned","showResourcesDialogCommand","showTaskEditDialogCommand","getCorrectDateRange","resourcesForDelete","raiseResourceManagerDialogShowing","getItem","createResourceCommand","callBack","removeResourceCommand","__spreadArray","raiseTaskTaskEditDialogShowing","getUpdatedTaskData","updateTaskCommand","getAssignedResources","isTaskEditEnabled","isTaskRangeEditEnabled","isTaskToCalculateByChildren","GanttExportCalculator","_owner","_props","GanttPdfExportProps","margins","_defaultPageMargin","_chartTableScaleTopMatrix","calculateChartScaleMatrix","_chartTableScaleBottomMatrix","_chartTableBodyMatrix","calculateChartTableBodyMatrix","_treeListHeaderMatrix","calculateTreeListTableHeaderMatrix","_treeListBodyMatrix","calculateTreeListTableBodyMatrix","getPages","PdfGanttPaginator","createGlobalInfo","settingsForPaging","_taskAreaHelper","layoutCalculator","TaskAreaExportHelper","_scalingHelper","ScalingHelper","pdfDoc","taskAreaHelper","visibleTaskIndices","baseCellSize","baseCellHeight","_chartScaleTableStyle","getChartScaleTableStyle","_chartMainTableStyle","getChartMainTableStyle","_treeListTableStyle","calculateTreeListTableStyle","_headerTableTop","pageTopMargin","_mainTableTop","getMainTableTop","exportDataMode","headerTableTop","headerTableHeight","_chartLeft","getChartLeft","exportMode","ExportMode","chart","pageLeftMargin","treeListLeft","treeListWidth","_treeListLeft","headerRowHeight","_mainTableHeight","taskAreaHeight","_treeListWidth","getTreeListTableWidth","treeListHeaderMatrix","getTreeListColumnWidth","_chartWidth","chartTableScaleBottomMatrix","cellWidth","hasValue","baseCellWidth","_settingsForPaging","prepareAutoFormat","scalingHelper","scalePageMargins","autoFormatKey","landscape","autoFormatWidth","autoFormatHeight","treeList","pageRightMargin","chartLeft","chartWidth","_autoFormatWidthAddStock","mainTableTop","mainTableHeight","pageBottomMargin","_canExportChart","getGanttObjectsInfo","tables","getTablesInfo","scaleSizes","_canExportTreelist","PdfPageTableNames","treeListHeader","createTreeListHeaderTableInfo","treeListMain","createTreeListMainTableInfo","chartMain","createChartMainTableInfo","chartScaleTop","_createChartScaleTopInfo","chartScaleBottom","_createChartScaleBottomInfo","getFont","fontName","font","chartScaleTableStyle","chartTableScaleTopMatrix","chartMainTableStyle","chartTableBodyMatrix","hideRowLines","areHorizontalBordersEnabled","treeListTableStyle","treeListBodyMatrix","scaleRanges","getScaleItemStart","scales","CellDef","getScaleItemTextByStart","cellPadding","minCellHeight","scaleTopWidths","scaleBottomWidths","createChartTableBodyRow","rowHasChildren","fillColor","parentRowBackColor","rowHasSelection","getTreeListColCount","getTreeListHeaderInfo","fillTreeListTableBodyMatrix","fillTreeListEmptyTableBodyMatrix","getTask","getTreeListCellInfo","getTreeListEmptyDataCellInfo","halign","PredefinedStyles","horizontalAlign","valign","verticalAlign","minCellWidth","getObjectsLeftOffset","dataObjectLeftDelta","customRangeLeftOffset","_dataObjectLeftDelta","getDataObjectLeftDelta","_dataObjectTopDelta","getDataObjectTopDelta","StyleDef","scaleTableStyle","_predefinedFont","getTreeListTableStyle","lineColor","tasksInfo","dependenciesInfo","resourcesInfo","timeMarkers","timeMarkersInfo","_tasksInfo","calculateTasksInfo","_dependenciesInfo","calculateDependenciesInfo","_resourcesInfo","calculateResourcesInfo","_timeMarkersInfo","calculateTimeMarkersInfoInfo","objectsLeftDelta","objectsTopDelta","calculateTaskInfo","PdfTaskInfo","getTaskElementInfo","taskColor","getTaskColor","sidePoints","getTaskSidePoints","isMilestone","GridLayoutCalculator","milestoneClassName","isSmallTask","smallTaskClassName","isParent","parentTaskClassName","appendTaskTitle","appendTaskProgress","taskTitlePosition","TaskTitlePosition","Outside","getTaskText","textPosition","getTaskTextStyle","getTaskProgressElementInfo","progressWidth","progressColor","getTaskProgressColor","applyOpacityToBackground","dataObjectTopDelta","getTaskElementBackColor","taskClassName","Color","taskProgressClassName","getTaskElementStyle","taskTitleClassName","dependencyColor","connectorLines","createLineInfo","PdfDependencyLineInfo","arrowClassName","getArrowPositionByClassName","arrowInfo","getArrowTopCorner","getLinePoints","Position","resourcesElements","calculateResourcesInLine","getElementsByClassName","taskResourceClassName","isElementVisible","getMargin","PdfTaskResourcesInfo","stripLinesElements","createTimeMarkerInfo","noWorkingIntervalsElements","PdfTimeMarkerInfo","_copyPoints","PdfObjectDrawer","_FONT_ROW_RATIO","_info","_pdfDoc","draw","drawTimeMarkers","drawDependencies","drawTasks","drawResources","drawTask","setFillColor","getRBGColor","setDrawColor","drawMilestone","drawRegularTask","drawParentBorder","printTaskTitle","textColor","setTextColor","setFontSize","internal","scaleFactor","defaultParentHeightCorrection","Inside","EllipsisHelper","limitPdfTextWithEllipsis","align","drawDependencyLine","drawArrow","isValidLine","getTextWidth","drawTimeMarker","isStripLine","saveGraphicsState","setGState","GState","restoreGraphicsState","setLineDashPattern","PdfGanttExporter","docCreateMethod","applyCustomFont","PdfGanttPageDrawer","addPage","getDocumentFormat","getOrientation","drawPage","fileName","save","createDoc","getJsPDFProps","putOnlyUsedFonts","hotfixes","applyToDoc","PdfGanttTableDrawer","needDrawChart","drawTable","needDrawTreeList","drawMargins","getContentRightBottom","getPageWidth","getPageHeight","PageNavigation","_correctedBottoms","vIndex","hIndex","_top","_left","_bottom","_right","offsetOneD","getSpaceToBorder","getCurrentPageBottom","getPageEnd","getPageStart","getPageSize","defaultPageWidth","getPageGlobalOffset","createFrom","getPageBottom","pageVerIndex","pageHorIndex","cellRowIndexOnPage","cellColIndexOnPage","cell","pageIndex","globalCellIndex","pageOffset","cutSize","_globalInfo","_pages","_paginateTables","_paginateObjects","pageMatrixToArray","_paginateTable","_paginateTasks","_paginateDependencies","_paginateResources","_paginateTimeMarkers","_paginateTask","_paginateArrow","_paginateDependencyLine","_paginateResource","_paginateTimeMarker","_getTableStart","_preparePagesNavigationMatrixForTable","_getPage","pageLeft","pageTop","_setTablePositionOnPage","_addCellToPage","_updateTableSizeOnPages","_getTaskPagination","_offsetPoints","_addTaskToPage","_getPointPageInfo","offsetX","offsetY","_addDependencyToPage","_getDependencyLinePagination","_addResourceToPage","_getTimeMarkerPagination","_addTimeMarkerToPage","pageBorders","correctedPageBottoms","_extendPageMatrixIfRequired","_getTableOrCreate","_createTable","_getTableNavigationVector","_prepareCuttedCell","cellIndexOnPage","_createPage","_getTableAndExtendIfRequired","_updateTableSizeOnPage","_getCellWidth","_placeCell","isCutted","content","splitTextToSize","colSpan","_getLinePagination","pageNavigator","_pageLeft","_pageRight","_pageTop","_pageBottom","pageBottom","pageRight","_correctedPageBottoms","_getCorrectedPagesBottom","_pageNavigator","_doc","_docScaleFactor","_defaultScaleFactor","EPSILON","getScaledSize","_correctScaleNeeded","scaleTables","scaleObjects","scaleTable","scaleStyle","scaleTasks","scaleDependencies","scaleResources","scaleTimeMarkers","scalePoints","PdfCustomFontSettings","fontObject","addFileToVFS","addFont","setFont","PdfDataRange","startDate","endDate","startIndex","DataExportMode","pdfDocument","getEnumValue","dateRange","appendStyles","_styles","_num","_opacity","_rgb","assignFromString","assignFromRgbArray","assignFromColor","assignFromHexString","assignFromRgbString","rgbaRegexp","rgbRegexp","createTableOptions","autoTable","createDefaultTableOptions","addTableCommonSettings","addCommonTableStyles","prepareBodyCells","addBody","TableOptions","pageBreak","tableWidth","lineWidth","startY","alternateRowStyles","cellEllipsisSpace","onDrawCellCallback","row","table","setLineWidth","ellipsis","assignWithValues","assignWithMargin","getCorrectedValues","getPredefinedStringOrUndefined","fontFamilies","fontStyles","headerFooterVisibility","rowPageBreak","_fillColor","_textColor","_lineColor","_cellWidth","Width","_cellPadding","_fontFamily","_fontStyle","_fontSize","_overflow","_horizontalAlign","_verticalAlign","_lineWidth","_minCellWidth","_minCellHeight","assignFromCssStyle","getPdfFontFamily","getPdfFontStyle","getPfrFontSize","borderWidth","assignPaddingFromCss","extraLeftPadding","getJsPdfProviderProps","_margin","_tableLineColor","_tableWidth","_alternateRowStyles","_pageBreak","_rowPageBreak","_showHead","_showFoot","_startY","_tableLineWidth","_body","showFoot","showHead","tableLineWidth","getBodyForJsPdf","columnStyles","getColumnStylesForJsPdf","didDrawCell","tableLineColor","addCells","applyColumnStyle","_columnStyles","_widthInternal","_customRangeLeftOffset","getWidthByDateRange","ownerStartDate","tickSize","renderedScaleLeft","hasTasks","getCellTop","getTaskCellOffsetTop","_offsetLeft","visibleLeft","_offsetTop","getOffsetTop","viewType","ViewTypeToScaleMap","_scaleRanges","getScaleRangesInArea","scaleLeft","scaleRight","_scaleTopWidths","getScaleTopWidths","_scaleBottomWidths","getScaleBottomWidths","_headerRowHeight","scaleElements","_visibleTaskIndices","getTaskIndices","taskArea","_scaleTableStyle","getScaleTableStyle","_parentRowBackColor","getParentBackColor","_arrowWidth","getArrowWidth","_dependencyColor","getDependencyColor","getTaskWrapper","getElementStyle","_visibleLeft","isVisibleMode","_visibleTop","_visibleRight","getVisibleRight","_visibleBottom","getVisibleBottom","visibleTop","_scaleLeft","getPosByDate","_scaleRight","visibleRight","getScaleWidths","scaleTopStartIndex","scaleTopEndIndex","getScaleItemInfo","scaleBottomStartIndex","scaleBottomEndIndex","getCellLeft","getGridBorderPosition","dataMode","exportRange","getAllVisibleTaskIndices","getVisibleTaskIndices","taskElements","visibleBottom","scaleBorders","hlRowElements","selectionElements","_connectorLines","allConnectorLines","isLineVisible","attr","visibleDependencyKeys","_visibleDependencyKeys","getVisibleDependencyKeysByTaskRange","_resourcesElements","_stripLinesElements","stripLinesMap","_noWorkingIntervalsElements","noWorkingIntervalsToElementsMap","ownerEndDate","_layoutCalculator","gridLayoutCalculator","hasCustomRangeOutOfRender","setSettings","visibleTaskAreaSize","elementSizeValues","DateRange","scrollBarHeight","firstDayOfWeek","taskAreaContainer","findElementBackColor","getChartTableBorderColor","getDependencyLineStyle","CLASSNAMES","CONNECTOR_HORIZONTAL","isTaskTemplateMode","fakeTaskWrapper","createDefaultTaskElement","taskContentTemplate","CollectionBase","_items","_isGanttCollection","_addItem","_removeItems","invalidate","_invertedItems","_createInvertedItems","invertedItems","getItemByPublicId","importFromObject","importFromArray","createItemFromObjectAndAdd","createItem","assignFromObject","importFromJSON","GanttJsonUtils","parseJson","DependencyCollection","Dependency","WorkingDayRuleCollection","WorkingTimeRule","ResourceAssignmentCollection","ResourceAssignment","Resource","TaskCollection","Task","ModelChangesDispatcher","notifyTaskCreated","notifyTaskRemoved","notifyTaskUpdating","notifyTaskMoving","notifyTaskEditDialogShowing","notifyResourceManagerDialogShowing","notifyTaskUpdated","notifyParentTaskUpdated","notifyDependencyInserted","notifyDependencyRemoved","notifyResourceCreated","notifyResourceRemoved","notifyResourceColorChanged","notifyResourceAssigned","notifyResourceUnassigning","notifyResourceUnassigned","notifyParentDataRecalculated","notifyScaleCellPrepared","notifyGanttViewUpdated","ResourceUnassigningArguments","TaskUpdatingArguments","newValues","raiseTaskMoving","TaskEditDialogShowingArguments","ResourceManagerDialogShowingArguments","unlock","GanttDataObjectNames","DataObject","updateId","resource","resourceAssignment","parseType","FS","FF","TaskType","Regular","Summary","Milestone","taskType","customFields","createInvalidDate","assignCustomFields","getDuration","isValidStart","isValidTaskaDte","isValidEnd","BaseArguments","createNewValues","currentProcessingItemInfo","_listener","activateItem","onTransactionStart","onTransactionEnd","HistoryItemInfo","getCurrentProcessingItemInfo","rollBackAndRemove","checkAndRemoveItem","isUndo","undoItemsQuery","updateObsoleteInsertedKey","updateItemsObsoleteInsertedKey","keyUpdaters","objectType","updateKey","setModelManipulator","insertedKey","insertDependency","removeDependency","HistoryItemState","deassig","assignmentId","assignment","createCallback","getPropertiesManipulator","ResourcePropertiesHistoryItemBase","oldState","restoreValue","BaseManipulator","getErrorCallback","getDataUpdateErrorCallback","TaskDependencyManipulator","onBeginDataObjectCreate","updateVisibleItemDependencies","recreateConnectorLineElement","getObjectForDataSource","processServerInsertedKey","onEndDataObjectCreate","getDependencyObjectForDataSource","TaskManipulator","ResourcesManipulator","ResourceColorManipulator","setPropertyValue","ResourcePropertyManipulator","ResourcePropertiesManipulator","visibleIndex","recreateTaskElement","getResourceObjectForDataSource","getResourceAssignmentObjectForDataSource","resetAndUpdate","requireFirstLoadParentAutoCalc","getCurrentTaskData","getTaskObjectForDataSource","ValidationController","lockPredecessorToSuccessor","getViewModel","getHistory","getModelManipulator","getRange","getValidationSettings","parentAutoCalc","enablePredecessorGap","getIsValidateDependenciesRequired","ValidationError","isStartDependency","checkParent","setTime","correctMoving","equal","moveRelatedTasks","recalculateParents","DateTimeUtils","getMinDate","getMaxDate","areDatesEqual","oldStart","oldEnd","updateParentsRangeByChild","updateChildRangeByParent","getRangeMSPeriod","getDSTCorrectedTaskEnd","canCreateDependency","ViewVisualModelDependencyInfo","predecessor","ViewVisualModelItem","isCustom","addChild","getExpanded","getVisible","changeVisibility","changeSelection","setDependencies","ViewVisualModel","_fLockCount","lockChangesProcessing","_itemList","_viewItemList","_workTimeCalculator","WorkingTimeCalculator","createHierarchy","populateItemsForView","changeTaskSelected","getRootTaskId","populateVisibleItems","getTasVisibleDependencies","changeTaskExpanded","changed","changeTaskVisibility","compareTaskOrder","refreshTaskDataIfRequires","saveTaskInternalIds","restoreTaskInternalIds","enableDependencyValidation","getDependentTasksHash","checkTasksInterdependence","checkDependencyChain","getTaskTreeLine","getBranchIds","getTasksExpandedState","applyTasksExpandedState","onVisualModelChanged","getTaskVisibility","getTaskSelected","noWorkingIntervals","updateRange","taskHasChildrenByIndex","taskHasChildren","validation","validateDependencies","autoUpdateParentTasks","getItemByInternalId","findAssignment","findAllTaskAssignments","getVisibleTasks","getVisibleDependencies","getVisibleResourceAssignments","getVisibleResources","rootTaskId","calculateRootTaskId","getTaskMinStart","dataRange","getTaskMaxEnd","updateHistoryObsoleteInsertedKey","lockUpdateWithReload","unlockUpdateWithReload","compareDates","getDaysBetween","msInDay","getWeeksBetween","getMonthsDifference","getYearsDifference","getDayNumber","getDateByDayNumber","setHours","setMinutes","setSeconds","addDays","checkDayOfMonth","checkDayOfWeek","checkMonth","checkYear","checkDayOfWeekOccurrenceInMonth","getSpecificDayOfWeekInMonthDates","DayOfWeekMonthlyOccurrence","Last","getFirstDayOfWeekInMonth","getSpecificDayOfWeekInMonthDate","checkValidDayInMonth","getNextMonth","convertToDate","convertTimeRangeToDateRange","hour","sec","msec","convertToTimeRanges","convertToTimeRange","parseTimeRanges","TimeRange","convertToTime","parseTimeRange","Time","getTimeGromJsDate","parseTime","caclTimeDifference","getTimeInMilleconds","areTimesEqual","getMaxTime","getMinTime","getLastTimeOfDay","DayOfWeek","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","First","Second","Third","Forth","DayWorkingTimeInfo","_workingIntervals","dayNumber","isWorkDay","addWorkingIntervals","rearrangeWorkingIntervals","concatWithIntersectedRanges","sortIntervals","getIntersectedIntervals","concatWith","removeInterval","hasIntersect","clearIntervals","_isWorkDay","Month","January","February","March","April","May","June","July","August","September","October","November","December","MonthInfo","addMonths","Daily","checkDate","checkInterval","calculatePointByInterval","isRecurrencePoint","calculateNearestPoint","RecurrenceBase","Monthly","_calculateByDayOfWeek","dayOfWeekInternal","dayOfWeekOccurrenceInternal","dayInternal","getSpecDayInMonth","_start","_end","_interval","_occurrenceCount","_dayOfWeek","_day","_dayOfWeekOccurrence","_month","occurrenceCount","dayOfWeek","RecurrenceFactory","day","dayOfWeekOccurrence","monthInternal","calculateByDayOfWeek","calculatePoints","calculatePointsByOccurrenceCount","calculatePointsByDateRange","getFirstPoint","isDateInRange","useIntervalInCalc","createRecurrenceByType","Weekly","Yearly","createRecurrenceFromObject","calcNextPointWithWeekCount","_hour","_min","_sec","_msec","_fullmsec","updateFullMilleconds","isTimeInRange","_workingRules","_workDayList","_calculationRange","calculateWorkDayList","clearList","processRule","sortList","recurrence","workTimeRanges","calculateNoWorkTimeIntervals","getNoWorkTimeRangesFromDay","concatJointedRanges","_noWorkingIntervals","recurrenceType","GanttViewApi","maxZoom","_ganttView","currentZoom","getTaskAreaContainerWidth","updateTickSizeWidth","scrollToDateCore","ganttOwner","scrollLeftByViewType","calculateAutoViewType","getTargetDateByPos","viewTypeRange","setViewType","updateGanttViewType","setViewTypeRange","TaskEditController","showInfoDelay","taskIndex","successorIndex","isEditingInProgress","disableTaskEditBox","isTaskEditBoxShown","viewItem","getRenderHelper","getGanttSettings","getCommandManager","getValidationController","_tooltip","TaskEditTooltip","baseElement","tooltipSettings","elementTextHelperCultureInfo","TooltipSettings","getHeaderHeight","header","clientHeight","getTaskProgressTooltipContentTemplate","ganttSettings","taskProgressTooltipContentTemplate","getTaskTimeTooltipContentTemplate","taskTimeTooltipContentTemplate","getTaskTooltipContentTemplate","taskTooltipContentTemplate","formatDate","getTaskAreaContainer","show","hide","changeWrapInfo","TASK_EDIT_BOX","displayDependency","isTaskUpdateAllowed","TASK_EDIT_HIDE_UPDATING","TASK_EDIT_BOX_CUSTOM","taskHoverDelay","taskDateRange","displayTaskEditBox","displayProgressEdit","displayStartEndEditElements","canUpdateTask","startEdit","endEdit","wrapInfo","progressEdit","normalizedProgress","showDependencies","updateWrapInfo","assignPosition","assignSize","timerId","endEditing","showTaskInfo","showInfo","getTaskWrapperElementInfo","isAllowedToConnectTasks","showDependencySuccessor","dependencySuccessorBaseElement","dependencySuccessorFrame","hideDependencySuccessor","processProgress","showProgress","confirmProgress","processEnd","getDateByPos","getCorrectedDate","showTime","confirmEnd","processStart","confirmStart","processMove","onTaskMovingCallback","confirmMove","ViewType","SixHours","Days","startDependency","dependencyLine","TASK_EDIT_DEPENDENCY_LINE","processDependency","drawline","endDependency","createDependencyCommand","isDependencySelected","deleteSelectedDependency","getTaskWidth","getTaskHeight","baseFrame","TASK_EDIT_FRAME","TASK_EDIT_PROGRESS","dependencyFinish","TASK_EDIT_DEPENDENCY_RIGTH","TASK_EDIT_TOUCH","dependencyStart","TASK_EDIT_DEPENDENCY_LEFT","TASK_EDIT_START","TASK_EDIT_END","TASK_EDIT_BOX_SUCCESSOR","TASK_EDIT_FRAME_SUCCESSOR","dependencySuccessorStart","TASK_EDIT_SUCCESSOR_DEPENDENCY_RIGTH","dependencySuccessorFinish","TASK_EDIT_SUCCESSOR_DEPENDENCY_LEFT","cultureInfo","_baseElement","createTooltipContainer","TASK_EDIT_PROGRESS_STATUS","setDefaultTooltip","defaultTooltip","TASK_EDIT_TOOLTIP_DEFAULT","TASK_EDIT_TASK_TITLE","getTimeContent","TASK_EDIT_PROGRESS_STATUS_TIME","setDefaultProgressTooltip","setDefaultTimeTooltip","showTooltip","TASK_EDIT_TOOLTIP_ARROW_AFTER","TASK_EDIT_TOOLTIP_ARROW_BEFORE","getLeftPosition","needToShowUnderParent","getTopPosition","defaultArrowHeight","headerHeight","defaultHeightOffset","GanttMovingHelper","movingInfo","startMoving","calcMovingInfo","updateGanttAreaCursor","cancelMoving","move","updateScrollPosition","eventX","eventY","maxRightDelta","maxLeftDelta","maxBottomDelta","maxTopDelta","scrollWidth","scrollHeight","TaskAreaStateController","_pointers","setHandler","TaskAreaStateEventNames","STATE_EXIT","GET_POINTERS_INFO","getPointersInfo","triggerEvent","_taskArea","_cellSize","TaskAreaZoomState","onTaskPointerEnter","onTaskAreaPointerLeave","onTaskAreaLeave","onDocumentPointerCancel","_clearPointerInfo","onDocumentPointerDown","_updatePinterInfo","toggleStateOnPointerDown","onDocumentPointerMove","toggleStateOnPointerMove","onDocumentPointerUp","onTaskTouchStart","onTouchStart","onTouchEnd","onTaskAreaMouseLeave","onTaskElementHover","onTaskHover","onTaskElementLeave","onTaskLeave","getTaskAreaEventSource","TaskAreaEventSource","TaskArea","processMouseDownOnTaskArea","TaskEdit_Frame","TaskMoveState","TaskEdit_Progress","TaskEdit_Start","TaskEdit_End","TaskEditState","TaskEdit_DependencyStart","TaskEdit_DependencyFinish","TaskAreaDependencyState","TaskAreaDefaultState","TaskAreaDomHelper","isConnectorLine","TaskAreaScrollState","toggleStateWhenMultiOrOutsideTouch","_canStartDrag","checkEventInTaskEditFrameArea","isTaskUpdateDisabled","_getActivePointersCount","isInTaskArea","getTaskEditFrameElement","isPointerEvent","clearTimers","CONTEXTMENU_HIDE","onMouseDownInternal","onPointerDownBase","onDocumentPointerDownInternal","onDocumentPointerUpInternal","onPointerUpBase","onDocumentPointerMoveInternal","onTouchStartInternal","onTouchEndInternal","onTouchMoveInternal","_lastTouchRowIndex","getClickedRowIndex","isMouseEvent","changeSelectionOnTouchDown","_contextMenuTimer","showContextMenuOnTouchDown","defaultContextMenuTimeout","canToEmulateClick","_lastEmulatedClickTime","defaultDblClickTimeout","TASK_AREA_DBLCLICK","TASK_AREA_CLICK","_dblClickClearTimer","defaultDblClickClearTimeout","raiseTaskSelection","raiseDependencySelection","CONTEXTMENU_SHOW","TaskAreaStateBase","dependencyMap","Successor_DependencyStart","Successor_DependencyFinish","onDependencyEndByMouse","onDependencyStart","onMouseMoveInternal","onDependencyMoveStep","onDependencyEndByTouch","getRelativePos","DEPENDENCY_START","DEPENDENCY_PROCESS","processEndDependency","GET_DEPENDENCY_POINTS","successorStart","successorFinish","isTouchNearby","onTaskAreaLeaveInternal","DEPENDENCY_END","classToSource","CONNECTOR_VERTICAL","isTaskElement","MouseEvent","TouchEvent","_isStarted","TASK_AREA_END_MOVE","onEnd","onBeforeStart","onMove","onMoveByPointer","TASK_AREA_START_MOVE","TASK_AREA_PROCESS_MOVE","isCursorInArea","TASK_AREA_SCROLL","TASK_AREA_KEY_DOWN","onTaskPointerEnterBase","processPointerMove","processPointerDown","processPointerUp","TASK_LEAVE","checkAndProcessTouchOutsideArea","TaskAreaEventArgs","getHandler","DEPENDENCY_SELECTION","TASK_SELECTION","TASK_AREA_ZOOM_IN","TASK_AREA_ZOOM_OUT","TASK_PROCESS_MOVE","TASK_END_MOVE","TASK_PROCESS_PROGRESS","TASK_END_PROGRESS","TASK_PROCESS_START","TASK_CONFIRM_START","TASK_PROCESS_END","TASK_CONFIRM_END","GET_COORDINATES_REF_POINT","_isInZooming","processZoom","onEndZoom","onTouchZoom","leftPos","GetTouchPoints","getZoomMiddlePoint","getMouseZoomLeftPos","convertScreenToChartCoordinates","TaskDragBaseState","onStart","onDrag","currentPosition","onStartInternal","onDragInternal","onEndInternal","_source","getEventOnEndKey","getEventOnDragKey","delta","rowIndex","eventName","TaskAreaEventsListener","_handlers","createTaskAreaEventHandlers","taskAreaClickHandler","taskAreaDblClickHandler","taskAreaScrollHandler","taskAreaStartMoveHandler","taskAreaProcessMoveHandler","taskAreaEndMoveHandler","taskAreaZoomInHandler","taskAreaZoomOutHandler","taskAreaContextMenuShowHandler","taskAreaContextMenuHideHandler","taskSelectionHandler","dependencySelectionHandler","taskEditStartHandler","taskEditEndHandler","taskLeaveHandler","taskProcessMoveHandler","taskEndMoveHandler","taskProcessProgressHandler","taskEndProgressHandler","taskProcessStartHandler","taskConfirmStartHandler","taskProcessEndHandler","taskConfirmEndHandler","getDependencyPoints","dependencyStartHandler","dependencyEndHandler","dependencyProcessHandler","onTaskAreaKeyDown","getCoordinatesRefPoint","onTaskAreaClick","onTaskAreaDblClick","onTaskSelectionChanged","onTaskAreaContextMenu","hidePopupMenu","updateView","_ganttMovingHelper","ganttMovingHelper","TaskAreaManager","TOUCH_ACTION_NONE","_eventListener","attachTouchEvents","attachMouseEvents","attachCommonEvents","detachTouchEvents","detachMouseEvents","detachCommonEvents","attachEventsOnTask","onTaskPointerEnterHandler","onTaskTouchStartHandler","onTaskMouseEnterHandler","onTaskMouseLeaveHandler","detachEventsOnTask","taskAreaAddEventListener","onKeyDownHandler","taskAreaRemoveEventListener","onDocumentPointerDownHandler","onDocumentPointerUpHandler","onDocumentPointerMoveHandler","onDocumentPointerCancelUpHandler","onTaskAreaPointerLeaveHandler","onTouchStartHandler","onTouchEndHandler","onTaskAreaMouseLeaveHandler","_stateController","_onContextMenuHandler","stateController","_onMouseWheelHandler","_onScrollHandler","_onKeyDownHandler","_onTaskPointerEnterHandler","_onTaskAreaPointerLeaveHandler","_onDocumentPointerDownHandler","_onDocumentPointerUpHandler","_onDocumentPointerCancelHandler","_onDocumentPointerMoveHandler","_onTouchStartHandler","_onTouchEndHandler","_onTouchMoveHandler","_onTaskTouchStartHandler","_onMouseClickHandler","_onMouseDblClickHandler","_onMouseDownHandler","_onTaskAreaMouseLeaveHandler","_onMouseMoveHandler","_onMouseUpHandler","_onTaskMouseEnterHandler","_onTaskMouseLeaveHandler","DBLCLICK_INTERVAL","MS_POINTER_ACTIVE_CLASS","GanttView","isFocus","_updateWithModelReloadLockedCounter","scaleCount","stripLinesUpdaterId","Settings","initValidationController","initMarkup","loadOptionsFromGanttOwner","initTaskEditController","_getHistoryListener","initFullScreenModeHelper","_scrollTimeOut","initializeStripLinesUpdater","initGanttViewApi","ganttViewApi","onHistoryTransactionStart","onHistoryTransactionEnd","_pendingUpdateInfo","updateWithDataReload","keepExpandState","ValidationControllerSettings","TaskEditSettings","getDateFormat","_taskAreaEventsListener","FullScreenHelperSettings","getMainElement","getOwnerControlMainElement","adjustControl","adjustOwnerControl","FullScreenModeHelper","getDateRange","getVisibleAreaTime","startDateRange","adjustStartDateByViewType","endDateRange","adjustEndDateByViewType","getTickTimeSpan","scrollToDate","getOrCreateUTCDate","showPopupMenu","onGanttViewContextMenu","changeGanttTaskSelection","hideTaskEditControl","roundStartDate","setTaskAreaContainerScrollLeftToDate","stripLines","showCurrentTime","setInterval","recreateStripLines","currentTimeUpdateInterval","clearStripLinesUpdater","clearInterval","getGanttViewStartDate","getGanttViewEndDate","getViewItem","etalonScaleItemWidths","onBeginUpdateView","setTimeScaleContainerScrollLeft","taskAreaContainerScrollLeft","processScroll","onGanttScroll","taskAreaContainerScrollTop","onEndUpdateView","taskAreaScrollTopKey","taskAreaScrollLeftKey","taskTextHeightKey","allowTaskAreaBorders","areVerticalBordersEnabled","getScaleItemText","exportToPdf","getDefaultPdfDocCreateMethod","jspdf","jsPDF","getTaskDependencies","isHighlightRowElementAllowed","areAlternateRowsEnabled","Years","Months","Weeks","Hours","TenMinutes","getExternalTaskAreaContainer","prepareExternalTaskAreaContainer","getTaskByPublicId","expandTask","collapseTask","showTask","hideTask","unselectCurrentSelectedTask","unselectTask","setTaskTitlePosition","setShowResources","showResources","setShowDependencies","setFirstDayOfWeek","setStartDateRange","setEndDateRange","getRowHeight","getGanttTasksData","getModelChangesListener","getGanttDependenciesData","getGanttResourcesData","getGanttResourceAssignmentsData","getGanttWorkTimeRules","taskAreaManagerDetachEvents","checkAndProcessModelChanges","updateRenderedConnectorLinesId","updateRowHeights","getTaskAreaContainerScrollLeft","setTaskAreaContainerScrollLeft","selectTask","selectTaskById","createConnectorLines","setMainElementWidth","setMainElementHeight","setAllowSelection","allowSelectTask","setEditingSettings","setValidationSettings","setRowLinesVisible","prepareTaskAreaContainer","setStripLines","StripLineSettings","deleteTask","insertTask","getLastInsertedTaskId","updateTask","_getTaskDataForUpdate","getTaskData","deleteDependency","getDependencyData","insertResource","assignResourceToTask","deleteResource","assignResourceCommand","unassignResourceFromTask","deassignResourceCommand","unassignAllResourcesFromTask","getResourceData","getResourceAssignmentData","getTaskResources","getVisibleTaskKeys","getVisibleDependencyKeys","getVisibleResourceKeys","getVisibleResourceAssignmentKeys","canRefresh","onBrowserWindowResize","adjustControlInFullScreenMode","setTaskValue","getPrevTask","getTaskIdByInternalId","isTaskHasChildren","getRequireFirstLoadParentAutoCalc","setTaskTooltipContentTemplate","setTaskProgressTooltipContentTemplate","setTaskTimeTooltipContentTemplate","setTaskContentTemplate","onTaskClick","onTaskDblClick","getFormattedDateText","getDefaultDateFormat","onTaskAreaSizeChanged","showTaskDetailsDialog","getCommandByKey","cachedPrefix","Quarter","FiveYears","Successor_Wrapper","EtalonSizeValues","scaleItemWidths","_isInFullScreenMode","setFullScreenMode","setNormalMode","prepareFullScreenMode","bodyMargin","self","requestFullScreen","cancelFullScreen","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","msRequestFullscreen","getFullScreenElement","webkitExitFullscreen","mozCancelFullScreen","msExitFullscreen","exitFullscreen","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","GridElementInfo","additionalInfo","assignToElement","assignMargins","tileToDependencyMap","tileToNoWorkingIntervalsMap","minLineLength","resourceMaxWidth","minTaskWidth","_taskWrapperPoints","_taskElementInfoList","_scaleCalculator","ScaleCalculator","_viewType","verticalTickCount","itemCount","taskHeight","parentTaskHeight","milestoneWidth","scaleHeight","scaleItemHeight","arrowSize","connectorArrowWidth","lineThickness","connectorLineThickness","minConnectorSpaceFromTask","tickTimeSpan","createTileToNonWorkingIntervalsMap","resetTaskInfo","getTaskAreaBorderInfo","getVerticalGridLineHeight","getTotalWidth","getGridBorderInfo","scaleWidth","getScaleBorderInfo","getScaleBorderPosition","getGridBorderSize","getScaleElementInfo","getScaleItemClassName","getRenderedNoWorkingIntervals","getScaleItems","overflowX","getScaleItemAdjustedStart","isScaleItemInsideNoWorkingInterval","getScaleItem","getScaleIndexByPos","topScaleItems","bottomScaleItems","getScaleItemColSpan","getTaskWrapperClassName","getTaskWrapperPoint","getCorrectedTaskWidthByRange","taskCut","getTaskClassName","smallTaskWidth","getAutoCalcParentTaskClassName","getTaskPoint","taskWrapperTopPadding","getTaskSize","getTaskProgressSize","getTaskProgressWidth","isTaskCutByRange","getTaskTextElementInfo","getTaskTextElementClassName","outsideTaskTextDefaultWidth","hidden","titleInClassName","titleOutClassName","getTaskResourcesWrapperElementInfo","getTaskResourceElementInfo","getSelectionElementInfo","getRowElementInfo","getSelectionPosition","getSelectionSize","getHighlightRowInfo","getNoWorkingIntervalInfo","getNoWorkingIntervalPosition","getNoWorkingIntervalSize","getConnectorInfo","getConnectorPoints","getConnectorLineInfo","getArrowInfo","checkAndCorrectConnectorLinesByRange","getConnectorPosition","getConnectorSize","findArrowLineInfo","getArrowPosition","getArrowClassName","getArrowPoint","leftArrowClassName","topArrowClassName","rightArrowClassName","bottomArrowClassName","getArrowX","getArrowY","getRangeTickCount","getDateByPosInMonthBasedViewTypes","getDateInScale","getFinishToStartConnectorPoints","getStartToFinishConnectorPoints","getStartToStartConnectorPoints","getFinishToFinishConnectorPoints","getConnectorPoints_FromTopTaskRightSide_ToBottomTaskTopSide","getConnectorPoints_FromTopTaskRightSide_ToBottomTaskLeftSide","getConnectorPoints_FromTopTaskBottomSide_ToBottomTaskRightSide","getConnectorPoints_FromTopTaskLeftSide_ToBottomTaskRightSide","getConnectorPoints_FromTopTaskRightSide_ToBottomTaskRightSide","getConnectorPoints_FromTopTaskLeftSide_ToBottomTaskLeftSide","getConnectorPoints_FromTopTaskLeftSide_ToBottomTaskTopSide","getConnectorPoints_FromTopTaskBottomSide_ToBottomTaskLeftSide","getTaskRightCenter","getTaskTopCenter","getHorizontalIndentFromTaskEdge","getTaskBottomCenter","getTaskLeftCenter","getTaskEdgeCorrection","getRenderedRowColumnIndices","getFirstVisibleGridCellIndex","getFirstScaleVisibleIndex","getLastVisibleGridCellIndex","getLastScaleVisibleIndex","getRenderedScaleItemIndices","getTopScaleIndexByBottomIndex","getFirstScaleIndexForRender","getLastScaleIndexForRender","createTileToConnectorLinesMap","createConnecotInfo","updateTileToConnectorLinesMap","addElementInfoToTileMap","getAdjustedNoWorkingInterval","getNearestScaleTickDate","getRenderedConnectorLines","getElementsInRenderedTiles","getRenderedStripLines","StripLine","currentTimeTitle","currentTimeCssClass","isCurrent","cssClass","isTaskInRenderedRange","checkAndCorrectElementDisplayByRange","checkAndCorrectArrowElementDisplayByRange","dxGanttPrefix","ScaleItemInfo","_bottomScaleItems","_topScaleItems","_scaleWidth","findIndex","getAdjustedBottomScaleItemStart","calculateTopScale","calculateBottomScale","calculateScaleWidth","getNextScaleDate","hasDST","getNextDateInTenMinutesScale","getNextDateInHoursScale","getNextDateInSixHoursScale","getNextDateInDaysScale","getNextDateInWeeksScale","getNextDateInMonthsScale","getNextDateInQuartersScale","getNextDateInYearsScale","getNextDateInFiveYearsScale","getNextTimeBySpan","TaskAreaContainer","ConnectorLinesRender","_connectorLinesToElementsMap","_renderedConnectorLines","_renderHelper","ganttViewTaskAreaContainerScrollTop","invalidTaskDependencies","createConnectorLineElement","RenderElementUtils","connectorLinesToElementsMap","removeConnectorLineElement","renderedConnectorLines","recreateConnectorLineElements","recreate","CustomTaskRender","_pendingTemplateFuncsToRender","_taskRender","createTaskSelectionElement","createCustomTaskElement","_saveTemplateFuncToStack","_hasRepeatedTemplateRenderCall","createCustomTaskInformation","onTaskTemplateContainerRendered","_getLastPendingTemplateFunc","drawCustomTask","_clearTemplateFuncsStack","createCustomTaskWrapperElement","createCustomTaskVisualElement","removeTaskElement","addInvalidTaskDependencies","createHighlightRowElement","createTaskTextElement","cellSize","taskData","taskHTML","taskPosition","taskResources","taskSize","EtalonsHelper","etalonSizeValues","getScaleItemTextTemplate","getSmallTaskWidth","createEtalonElementsContainer","createEtalonElements","calculateEtalonSizeValues","calculateEtalonSizeValuesCore","ScaleCellPreparedArguments","scaleIndex","scaleType","scaleElement","separatorElement","MainElementsRender","createHeader","NoWorkingIntervalRender","_noWorkingIntervalsToElementsMap","_renderedNoWorkingIntervals","ganttTaskAreaContainerScrollLeft","createNoWorkingIntervalElement","removeNoWorkingIntervalElement","recreateNoWorkingIntervalElements","renderedNoWorkingIntervals","renderedColIndices","renderedRowIndices","_gridLayoutCalculator","_connectorLinesRender","_etalonsHelper","_noWorkingIntervalRender","_resourceRender","ResourseRender","_scaleRender","ScaleRender","_stripLinesRender","StripLinesRender","_taskAreaRender","TaskAreaRender","TaskRender","_mainElementsRender","_elementTextHelper","setupHelpers","setSizeForTaskArea","createTimeScale","_taskAreaManager","taskAreaEventsListener","ElementTextHelper","ganttViewSettings","createTaskAreaContainer","recreateTaskAreaBordersAndTaskElements","recreateScalesElements","isExternal","timeScaleContainer","createTimeScaleAreas","isAllowTaskAreaBorders","hasTaskTemplate","recreateConnectorLineElemensts","createResources","createResourcesWrapperElement","createTimeScaleContainer","createTaskArea","getTaskAreaWidth","getTaskAreaHeight","createTaskElement","getTaskResourcesVisibility","taskAreaManager","createResourceElement","_scaleBorders","_scaleElements","_renderedScaleItemIndices","_timeScaleAreas","_timeScaleContainer","createTimeScaleArea","timeScaleAreas","createScaleElementCore","createScaleElement","createScaleBorder","createScaleElementAndBorder","onScaleCellPrepared","removeScaleElementAndBorder","recreateScaleElements","renderedScaleItemIndices","_stripLinesMap","_renderedStripLines","renderedStripLines","_vertTaskAreaBorders","_horTaskAreaBorders","_isExternalTaskAreaContainer","_taskAreaContainer","getTaskAreaContainerElement","initTaskAreaContainer","createTaskAreaBorder","getTaskAreaBordersDictionary","removeTaskAreaBorder","createTaskAreaBorderAndTaskElement","removeTaskAreaBorderAndTaskElement","vertTaskAreaBorders","horTaskAreaBorders","_selectionElements","_taskElements","customTaskRender","isExternalTaskAreaContainer","viewModelItems","_fakeTaskWrapper","createFakeTaskWrapper","removeInvalidTaskDependencies","renderTaskElement","createTaskWrapperElement","createTaskVisualElement","createTaskProgressElement","firstElementChild","_minTextWidth","minTextWidth","minTitleOutRightPadding","getTaskTextHeight","EditingSettings","ValidationSettings","ViewTypeRangeSettings","getDaysInQuarter","getDaysInMonth","getOffsetInMonths","getOffsetInQuarters","needCorrectDate","getNearestLeftTickTime","getNextTickTime","setMonth","msPerDay","msPerWeek","msPerMonth","msPerYear","getRangeTickCountInMonthsViewType","getRangeTickCountInQuarterViewType","getDSTTotalDelta","getDSTDelta","msPerMinute","longestAbbrMonthName","longestMonthName","longestAbbrDayName","textMeasureContext","fontVariant","modelItems","getTenMinutesScaleItemText","getHoursScaleItemText","getDaysScaleItemText","getWeeksScaleItemText","getMonthsScaleItemText","getQuarterScaleItemText","getYearsScaleItemText","getFiveYearsScaleItemText","getThirtyMinutesScaleItemText","getHourDisplayText","getAmText","getPmText","getHoursScaleItemTextCore","getDayTotalText","getWeeksScaleItemTextCore","getMonthNames","getMonthsScaleItemTextCore","getQuarterNames","hasAmPm","getAbbrMonthNames","getAbbrDayNames","getDayNames","getDayTotalTextCore","getDayTextTemplate","getWeekTextTemplate","getLongestMonthName","getLongestAbbrDayName","getLongestAbbrMonthName","getLongestText","measureText","amText","pmText","quarterNames","monthNames","dayNames","abbrMonthNames","abbrDayNames","factory","__webpack_modules__","__unused_webpack_module","__webpack_exports__","__webpack_require__","parchment__WEBPACK_IMPORTED_MODULE_0__","_decorators__WEBPACK_IMPORTED_MODULE_1__","_utils__WEBPACK_IMPORTED_MODULE_2__","_typeof","_defineProperties","descriptor","_toPropertyKey","hint","prim","toPrimitive","res","_toPrimitive","_get","receiver","_getPrototypeOf","_superPropBase","desc","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","construct","sham","Proxy","_isNativeReflectConstruct","Super","NewTarget","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","OverriddenAttributor","_Attributor","subClass","superClass","_inherits","Constructor","protoProps","staticProps","_super","attrName","keyName","_options$allowedTags","allowedTags","_classCallCheck","dj","WT","attribute","Mx","ud","Attributor","_utils__WEBPACK_IMPORTED_MODULE_0__","decorateMethodWithKeyName","method","originalKeyName","mQ","decorateCanAdd","originCanAdd","decorateKeys","originKeys","keyType","jf","OverriddenStyleAttributor","_StyleAttributor","StyleAttributor","_formats_table_attributors_table_config__WEBPACK_IMPORTED_MODULE_0__","_formats_table_attributors_cell_config__WEBPACK_IMPORTED_MODULE_1__","ownKeys","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","KeyNameType","OVERRIDDEN_ATTRIBUTORS_TAG_INFO","Sp","keyNamesSet","bc","Pw","fU","getKeyNameWithCustomPrefix","tagInfo","removeCustomPrefixFromKeyName","keyNameWithPrefix","i2","qz","E2","ZP","Delta","Delta_default","parchment","blots_break","inline","blots_text","utils","fillAttributes","blot","keyNames","normalizedKeyName","query","Scope","ATTRIBUTE","attributor","_createClass","AttributorStore","domNode","Registry","attributes","ClassAttributor","Block","_BlockBlot","blockDelta","BLOCK","def","tail","insertAt","block","lineIndex","force","BlockBlot","blotName","defaultChild","allowedChildren","EmbedBlot","BlockEmbed","_EmbedBlot","_super2","BLOCK_ATTRIBUTE","endsWith","descendants","LeafBlot","leaf","bubbleFormats","statics","scope","BLOCK_BLOT","__WEBPACK_DEFAULT_EXPORT__","Break","_ContainerBlot","ContainerBlot","_text__WEBPACK_IMPORTED_MODULE_1__","Cursor","textNode","CONTENTS","savedLength","optimize","formatAt","composing","getNativeRange","lastChild","mergedTextBlot","prevTextBlot","prevTextLength","nextTextBlot","nextText","newText","newTextNode","remapOffset","startNode","startOffset","endNode","endOffset","mutations","_this2","mutation","restore","GUARD_TEXT","Embed","contentNode","childNode","leftGuard","rightGuard","prevLength","_break__WEBPACK_IMPORTED_MODULE_1__","_text__WEBPACK_IMPORTED_MODULE_2__","Inline","_InlineBlot","selfIndex","otherIndex","compare","BLOT","isolate","wrap","moveChildren","InlineBlot","_core_emitter__WEBPACK_IMPORTED_MODULE_1__","_block__WEBPACK_IMPORTED_MODULE_2__","_break__WEBPACK_IMPORTED_MODULE_3__","_container__WEBPACK_IMPORTED_MODULE_4__","_formats_table__WEBPACK_IMPORTED_MODULE_5__","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","minLen","_arrayLikeToArray","_unsupportedIterableToArray","_nonIterableRest","arr2","isLine","Scroll","_ScrollBlot","registry","emitter","toggleBlankClass","batch","enable","handleDragStart","emit","SCROLL_BLOT_MOUNT","SCROLL_BLOT_UNMOUNT","_this$line2","isCrossCellDelete","zW","embed","INLINE_BLOT","wrapper","descendant","getLines","blotIndex","blotLength","lengthLeft","forEachAt","childIndex","childLength","SCROLL_OPTIMIZE","sources","USER","observer","takeRecords","SCROLL_BEFORE_UPDATE","SCROLL_UPDATE","ScrollBlot","_TextBlot","TextBlot","escapeText","_core_quill__WEBPACK_IMPORTED_MODULE_0__","_blots_block__WEBPACK_IMPORTED_MODULE_1__","_blots_break__WEBPACK_IMPORTED_MODULE_2__","_blots_container__WEBPACK_IMPORTED_MODULE_3__","_blots_cursor__WEBPACK_IMPORTED_MODULE_4__","_blots_embed__WEBPACK_IMPORTED_MODULE_5__","_blots_inline__WEBPACK_IMPORTED_MODULE_6__","_blots_scroll__WEBPACK_IMPORTED_MODULE_7__","_blots_text__WEBPACK_IMPORTED_MODULE_8__","_modules_clipboard__WEBPACK_IMPORTED_MODULE_9__","_modules_history__WEBPACK_IMPORTED_MODULE_10__","_modules_keyboard__WEBPACK_IMPORTED_MODULE_11__","_modules_uploader__WEBPACK_IMPORTED_MODULE_12__","lodash_clonedeep","lodash_clonedeep_default","lodash_isequal","lodash_isequal_default","lodash_merge","lodash_merge_default","blots_block","_toArray","iter","_iterableToArray","ASCII","Editor","getDelta","immediateFormats","scrollLength","batchStart","normalizedDelta","op","normalizeDelta","deleteDelta","Op","addedNewline","retain","_this$scroll$line2","AttributeMap","INLINE","addedLength","delete","deleteAt","batchEnd","_this3","leaves","_map2","blots","combineFormats","_this$scroll$line4","lineOffset","convertHTML","getContents","_this4","isComposing","_this$scroll$line6","suffixLength","suffix","applyDelta","change","selectionInfo","oldDelta","textBlot","relativeSelectionInfo","oldRange","shiftRange","newRange","convertListHTML","lastIndent","types","_endTag","getListType","_items$","indent","rest","_getListType4","previousType","endTag","isRoot","html","parts","linkedList","handleBreakLine","removeTableServiceClasses","extractNodeFromBlot","outerHTML","_outerHTML$split2","combined","merged","hasAttributes","attributesString","removeIndentClass","getBlotNodeAttributes","classString","amount","editor","eventemitter3__WEBPACK_IMPORTED_MODULE_0__","eventemitter3__WEBPACK_IMPORTED_MODULE_0___default","_utils_has_window__WEBPACK_IMPORTED_MODULE_3__","_instances__WEBPACK_IMPORTED_MODULE_1__","debug","_quill$emitter","quill","handleDOM","Emitter","_EventEmitter","on","_debug$log","_get2","_len3","_key3","EDITOR_CHANGE","SELECTION_CHANGE","TEXT_CHANGE","CONTENT_SETTED","API","SILENT","levels","_console","namespace","ns","logger","newLevel","Module","DEFAULTS","quill_delta__WEBPACK_IMPORTED_MODULE_0__","quill_delta__WEBPACK_IMPORTED_MODULE_0___default","lodash_clonedeep__WEBPACK_IMPORTED_MODULE_1__","lodash_clonedeep__WEBPACK_IMPORTED_MODULE_1___default","lodash_merge__WEBPACK_IMPORTED_MODULE_2__","lodash_merge__WEBPACK_IMPORTED_MODULE_2___default","parchment__WEBPACK_IMPORTED_MODULE_3__","_editor__WEBPACK_IMPORTED_MODULE_4__","_emitter__WEBPACK_IMPORTED_MODULE_5__","_module__WEBPACK_IMPORTED_MODULE_6__","_selection__WEBPACK_IMPORTED_MODULE_7__","_instances__WEBPACK_IMPORTED_MODULE_8__","_logger__WEBPACK_IMPORTED_MODULE_9__","_theme__WEBPACK_IMPORTED_MODULE_10__","_utils_is_defined__WEBPACK_IMPORTED_MODULE_11__","globalRegistry","ParentBlot","uiClass","Quill","expandConfig","addContainer","scrollingContainer","keyboard","addModule","uploader","lastRange","modify","setContents","getInitialContent","placeholder","disable","allowReadOnlyEdits","convert","isBlank","refNode","setRange","_overload2","overload","deleteText","modifier","getSelection","formatLine","formatText","setSelection","_overload4","_this5","_overload6","bounds","getBounds","containerBounds","getLength","_overload8","getFormat","modules","_overload10","getHTML","_overload12","hasFocus","_this6","insertEmbed","_this7","_overload14","insertText","_this$emitter","off","_this$emitter2","_this$emitter3","once","_this8","_overload16","removeFormat","_this9","delete1","applied","delete2","_overload18","_this10","limit","imports","_this11","overwrite","warn","userConfig","themeConfig","moduleConfig","moduleClass","_this$emitter4","_this$emitter5","transformPosition","_map4","lodash_isequal__WEBPACK_IMPORTED_MODULE_2__","lodash_isequal__WEBPACK_IMPORTED_MODULE_2___default","_emitter__WEBPACK_IMPORTED_MODULE_3__","_toConsumableArray","_arrayWithoutHoles","_nonIterableSpread","mouseDown","savedRange","lastNative","handleComposition","handleDragging","listenDOM","native","setNativeRange","ignored","_context$range","_format","nativeRange","collapsed","after","attach","_this$scroll$leaf2","_this$getPositionData2","getPositionData","createRange","setStart","_this$scroll$leaf4","_this$getPositionData4","setEnd","_ownerDocument$getSel","_ownerDocument$getSel2","getRootNode","rangeCount","getRangeAt","normalizeNative","normalized","normalizedToRange","positions","indexes","_position","startContainer","endContainer","_this5$scroll$leaf2","leafOffset","_this5$getPositionDat2","inclusive","scrollBounds","removeAllRanges","blur","rangeToNative","_this$getRange2","Theme","ModuleClass","themes","HE","dk","if","whitelist","AlignAttribute","AlignClass","AlignStyle","_color__WEBPACK_IMPORTED_MODULE_1__","BackgroundClass","BackgroundStyle","OO","_Inline","replaceWith","EK","se","_blots_block__WEBPACK_IMPORTED_MODULE_0__","_blots_break__WEBPACK_IMPORTED_MODULE_1__","_blots_cursor__WEBPACK_IMPORTED_MODULE_2__","_blots_inline__WEBPACK_IMPORTED_MODULE_3__","_blots_text__WEBPACK_IMPORTED_MODULE_4__","_blots_container__WEBPACK_IMPORTED_MODULE_5__","_core_quill__WEBPACK_IMPORTED_MODULE_6__","CodeBlockContainer","_Container","CodeBlock","_Block","Code","_super3","requiredContainer","TAB","HQ","Hn","ColorAttributor","hex","ColorClass","ColorStyle","H8","IF","hY","DirectionAttribute","DirectionClass","DirectionStyle","FontClass","FontStyleAttributor","FontStyle","Link","sanitize","_sanitize","PROTOCOL_WHITELIST","SANITIZED_URL","protocols","anchor","protocol","SizeClass","SizeStyle","Du","kk","yA","_prepare_attributor__WEBPACK_IMPORTED_MODULE_0__","_prepare_style_attributor__WEBPACK_IMPORTED_MODULE_1__","_cell_config__WEBPACK_IMPORTED_MODULE_2__","TABLE_CELL_ATTR_ATTRIBUTORS","TABLE_CELL_STYLE_ATTRIBUTORS","Mu","CELL_FORMATS","CELL_ATTRIBUTORS","cellConfig","TABLE_CELL_ATTRIBUTES","TABLE_CELL_STYLES","TABLE_CELL_KEY_NAME_SET","_attributors_attributor__WEBPACK_IMPORTED_MODULE_0__","_utils_capitalize__WEBPACK_IMPORTED_MODULE_2__","_attributors_utils__WEBPACK_IMPORTED_MODULE_1__","_objectWithoutProperties","excluded","sourceKeys","sourceSymbolKeys","prepareAttributor","domAttrName","elementConfig","_attributors_style_attributor__WEBPACK_IMPORTED_MODULE_0__","prepareStyleAttributor","formatName","_prop$split2","propSubName","Qu","VT","Zt","li","_table_config__WEBPACK_IMPORTED_MODULE_2__","TABLE_ATTR_ATTRIBUTORS","N2","TABLE_STYLE_ATTRIBUTORS","GX","TABLE_FORMATS","TABLE_ATTRIBUTORS","tableConfig","TABLE_ATTRIBUTES","TABLE_STYLES","TABLE_KEY_NAME_SET","getId","KA","Lv","RM","SC","iD","pj","xD","xJ","_blots_container__WEBPACK_IMPORTED_MODULE_2__","_utils_is_defined__WEBPACK_IMPORTED_MODULE_6__","_attributors_cell__WEBPACK_IMPORTED_MODULE_3__","_attributors_table__WEBPACK_IMPORTED_MODULE_4__","_get_id__WEBPACK_IMPORTED_MODULE_7__","_toggle_attribute__WEBPACK_IMPORTED_MODULE_5__","CELL_IDENTITY_KEYS","DATA_PREFIX","deleteChildrenAt","CellLine","rowId","dataset","tableCellLine","isCell","_this$cell","_this$cell2","_value$key","identityMarker","tableId","cellId","HeaderCellLine","_CellLine","BaseCell","_CELL_FORMATS$name","thisHead","thisTail","nextHead","nextTail","cellFormats","rowOffset","_this$row","_this$domNode$getAttr","_get3","_CELL_FORMATS$format","_domNode$getAttribute","_domNode$firstElement","TableCell","_BaseCell","_super4","dataAttribute","TableHeaderCell","_BaseCell2","_super5","BaseRow","_Container2","_super6","_get4","childFormatName","childFormats","nextFormats","splitAfter","_this$parent","TableRow","_BaseRow","_super7","TableHeaderRow","_BaseRow2","_super8","RowContainer","_Container3","_super9","_get5","_this$children$head$c","_len4","_key4","TableBody","_RowContainer","_super10","TableHeader","_RowContainer2","_super11","TableContainer","_Container4","_super12","headerRows","bodyRows","maxColCount","getMaxTableColCount","balanceRows","getMaxRowColCount","rows","CellClass","cellLine","tablePart","CellBlot","CellLineBlot","emptyLine","newHeader","childElem","tableFormat","_TABLE_FORMATS$format","toggleAttribute","HI","PF","fw","parchment__WEBPACK_IMPORTED_MODULE_1__","_blots_block__WEBPACK_IMPORTED_MODULE_2__","_core_quill__WEBPACK_IMPORTED_MODULE_3__","_core_logger__WEBPACK_IMPORTED_MODULE_4__","_core_module__WEBPACK_IMPORTED_MODULE_5__","_formats_align__WEBPACK_IMPORTED_MODULE_6__","_formats_background__WEBPACK_IMPORTED_MODULE_7__","_formats_code__WEBPACK_IMPORTED_MODULE_8__","_formats_color__WEBPACK_IMPORTED_MODULE_9__","_formats_direction__WEBPACK_IMPORTED_MODULE_10__","_formats_font__WEBPACK_IMPORTED_MODULE_11__","_formats_size__WEBPACK_IMPORTED_MODULE_12__","_keyboard__WEBPACK_IMPORTED_MODULE_13__","_utils_capitalize__WEBPACK_IMPORTED_MODULE_14__","CLIPBOARD_CONFIG","matchText","matchNewline","deltaEndsWith","applyFormat","ATTRIBUTE_ATTRIBUTORS","STYLE_ATTRIBUTORS","dimension","isTable","italic","textDecoration","underline","strike","bold","textIndent","composed","language","matchAlias","HTML_TEXT_MATCHERS","memo","Clipboard","_Module","_options$tableBlots","onCaptureCopy","onCapturePaste","matchers","tableBlots","matcher","addMatcher","keepLastNewLine","applyMatchers","applyTextMatchers","prepareTextMatching","nodeMatches","_this$prepareMatching2","prepareMatching","elementMatchers","textMatchers","paste","updateContents","isCut","defaultPrevented","_this$onCopy","onCopy","setData","raiseCallback","WQ","files","upload","childElementCount","_ref4","getSemanticHTML","_ref5","pastedDelta","pair","_pair","matchPlainText","_pair2","newDelta","endText","preNodes","isPre","childrenDelta","reducedDelta","replacer","collapse","replaced","previousSibling","_core_quill__WEBPACK_IMPORTED_MODULE_1__","_core_module__WEBPACK_IMPORTED_MODULE_2__","lastRecorded","ignoreChange","userOnly","record","addBinding","shortKey","platform","inputType","dest","stack","inverseDelta","invert","deleteLength","changeIndex","lastOp","endsWithNewlineChange","getLastChangeIndex","changeDelta","undoDelta","timestamp","maxStack","transformStack","remoteDelta","core_quill","core_module","has_window","KEY_NAMES","backspace","tab","enter","escape","pageup","pagedown","home","arrowleft","arrowup","arrowright","arrowdown","alt","spacebar","del","esc","KEY_CODES","SHORTKEY","Keyboard","bindings","addInternalBindings","listen","handleEnter","handleBackspace","handleDelete","handleDeleteRange","keyBinding","binding","keyPropery","singleBinding","raiseOnKeydownCallback","normalizeKeyName","_this4$quill$getLine2","getLine","_this4$quill$getLeaf2","getLeaf","leafStart","offsetStart","leafEnd","offsetEnd","prefixText","suffixText","curContext","prevented","handlerResult","preventAfterAllMatches","onKeydown","isPrevLineEmpty","isPrevLineTable","startsWith","isLineEmpty","curFormats","prevFormats","formatDelta","deleteRange","lineFormats","scrollConfig","windowHeight","innerHeight","_element$getBoundingC","elemTop","elemBottom","getScrollIntoViewConfig","isKeySupported","normalizedKey","makeCodeBlockHandler","makeEmbedArrowHandler","makeFormatHandler","_ref6","firstFormats","lastFormats","outdent","tableHeaderCellLine","tableHeaderCell","cutoff","_this$quill$getLine12","_this$quill$getLine14","blockquote","_this$quill$getLine16","_this$quill$getLine18","numLines","cur","_blots_inline__WEBPACK_IMPORTED_MODULE_2__","_core_module__WEBPACK_IMPORTED_MODULE_4__","_blots_block__WEBPACK_IMPORTED_MODULE_5__","_blots_break__WEBPACK_IMPORTED_MODULE_6__","_blots_cursor__WEBPACK_IMPORTED_MODULE_7__","_formats_code__WEBPACK_IMPORTED_MODULE_9__","_clipboard__WEBPACK_IMPORTED_MODULE_10__","_utils_has_window__WEBPACK_IMPORTED_MODULE_11__","TokenAttributor","CodeToken","unwrap","SyntaxCodeBlock","_CodeBlock","SyntaxCodeBlockContainer","_CodeBlockContainer","forceNext","emitMount","_highlight","forced","uiNode","cachedText","codeBlock","Syntax","hljs","languages","highlightBlot","initListener","initTimer","highlight","attachUI","nodeText","_core_quill__WEBPACK_IMPORTED_MODULE_2__","_core_module__WEBPACK_IMPORTED_MODULE_3__","_formats_table__WEBPACK_IMPORTED_MODULE_4__","_clipboard__WEBPACK_IMPORTED_MODULE_5__","_utils_make_table_arrow_handler__WEBPACK_IMPORTED_MODULE_6__","_utils_prepare_attr_matcher__WEBPACK_IMPORTED_MODULE_7__","_formats_table_attributors_table__WEBPACK_IMPORTED_MODULE_8__","_formats_table_attributors_cell__WEBPACK_IMPORTED_MODULE_9__","_utils_insert_pr_above__WEBPACK_IMPORTED_MODULE_10__","EMPTY_RESULT","Table","addImmediateFormat","integrateClipboard","addKeyboardHandlers","listenBalanceCells","addTableBlot","matchCell","keyboardBindings","balanceCells","_this$getTable2","getTable","deleteColumn","cellOffset","_this$quill$getLine2","_this$getTable8","insertColumn","_this$getTable10","insertRow","_this$getTable12","insertHeaderRow","balanceTables","old","isHeaderRow","cellLineBlotName","_this$quill$selection","_this$quill$selection2","getModule","is_defined","get_id","toggle_attribute","_this$row2","make_table_arrow_handler","insertParagraphAbove","insertIndex","insert_pr_above","tableSide","prepare_attr_matcher","lite_typeof","lite_slicedToArray","lite_arrayWithHoles","lite_iterableToArrayLimit","lite_arrayLikeToArray","lite_unsupportedIterableToArray","lite_nonIterableRest","lite_defineProperties","lite_toPropertyKey","lite_toPrimitive","lite_setPrototypeOf","lite_createSuper","lite_isNativeReflectConstruct","lite_getPrototypeOf","lite_assertThisInitialized","lite_possibleConstructorReturn","TableLite","lite_inherits","lite_classCallCheck","matchTable","_module$getTable2","hasHead","_module$getTable4","hasBody","lite","insertParagraphBelow","makeTableArrowHandler","targetTablePart","targetRow","targetCell","targetLine","_attributors_attributor__WEBPACK_IMPORTED_MODULE_1__","_attributors_style_attributor__WEBPACK_IMPORTED_MODULE_2__","_clipboard__WEBPACK_IMPORTED_MODULE_3__","writeToRecord","override","fillFormats","attributors","queryAttr","queryAttrValue","attrValue","prepareAttributeMatcher","prepareCellAttributeMatcher","_node$parentNode","parentTrNode","Uploader","preventImageUploading","addDragOverHandler","addDropHandler","ua","noFiles","dataTransfer","onDrop","preventImageUpload","caretRangeFromPoint","caretPositionFromPoint","offsetNode","uploads","file","mimetypes","imageBlot","promises","reader","images","src_scope","LinkedList","curNode","ret","curIndex","curLength","linked_list","_extendStatics","__","ParchmentError","bubble","err","blotClass","ANY","LEVEL","Element","TYPE","definitions","definition","shadow","ShadowBlot","detach","_force","_mutations","parent_extends","makeAttachedBlot","abstract_parent","criteria","enforceAllowedChildren","childBlot","refBlot","refDomNode","targetParent","_length","addedNodes","removedNodes","compareDocumentPosition","DOCUMENT_POSITION_CONTAINED_BY","DOCUMENT_POSITION_FOLLOWING","container_extends","checkMerge","leaf_extends","_domNode","_inclusive","attributeBit","canAdd","_node","class_extends","attributor_class","style_extends","camelize","part","store","inline_extends","obj1","obj2","isEqual","block_extends","embed_extends","_scroll","blot_embed","scroll_extends","OBSERVER_CONFIG","characterData","characterDataOldValue","childList","subtree","MutationObserver","observe","disconnect","mutationsMap","records","mark","markParent","remaining","grandChild","blot_scroll","text_extends","blot_text","splitText","Events","EE","addListener","_events","_eventsCount","clearEvent","EventEmitter","eventNames","names","ee","listenerCount","a1","a2","a3","a4","a5","removeListener","removeAllListeners","prefixed","DIFF_DELETE","diff_main","text1","text2","cursor_pos","_fix_unicode","editdiff","oldLength","newLength","oldCursor","oldBefore","oldAfter","maybeNewCursor","newCursor","newBefore","newAfter","prefixLength","oldPrefix","newPrefix","make_edit_splice","oldSuffix","newSuffix","find_cursor_edit_diff","commonlength","diff_commonPrefix","commonprefix","diff_commonSuffix","commonsuffix","diffs","longtext","shorttext","hm","diff_halfMatchI_","best_longtext_a","best_longtext_b","best_shorttext_a","best_shorttext_b","seed","best_common","text1_a","text1_b","text2_a","text2_b","hm1","hm2","mid_common","diff_halfMatch_","diffs_a","diffs_b","text1_length","text2_length","max_d","v_offset","v_length","v1","v2","front","k1start","k1end","k2start","k2end","k1","k1_offset","k2_offset","diff_bisectSplit_","k2","diff_bisect_","diff_compute_","diff_cleanupMerge","text1a","text2a","text1b","text2b","diffsb","pointermin","pointermax","pointermid","pointerstart","is_surrogate_pair_start","pointerend","is_surrogate_pair_end","fix_unicode","pointer","count_delete","count_insert","text_delete","text_insert","previous_equality","ends_with_pair_start","stray","starts_with_pair_end","changes","charCode","oldMiddle","newMiddle","tuples","remove_empty_tuples","INSERT","DELETE","EQUAL","nmd","HASH_UNDEFINED","argsTag","boolTag","dateTag","funcTag","genTag","mapTag","numberTag","objectTag","promiseTag","regexpTag","setTag","stringTag","symbolTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","reFlags","reIsHostCtor","reIsUint","cloneableTags","freeGlobal","freeSelf","Function","freeExports","freeModule","moduleExports","addMapEntry","addSetEntry","arrayReduce","iteratee","accumulator","initAccum","isHostObject","mapToArray","overArg","setToArray","arrayProto","funcProto","objectProto","coreJsData","maskSrcKey","uid","IE_PROTO","funcToString","objectToString","reIsNative","Buffer","getPrototype","objectCreate","nativeGetSymbols","nativeIsBuffer","isBuffer","nativeKeys","DataView","getNative","Map","nativeCreate","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","Hash","entry","ListCache","MapCache","Stack","__data__","arrayLikeKeys","inherited","isObjectLike","isArrayLike","isArrayLikeObject","isArguments","baseTimes","skipIndexes","isIndex","assignValue","objValue","eq","assocIndexOf","baseClone","isDeep","isFull","customizer","isObject","isArr","initCloneArray","copyArray","getTag","isFunc","buffer","cloneBuffer","isPrototype","proto","initCloneObject","copyObject","getSymbols","copySymbols","baseAssign","cloneFunc","symbol","Ctor","cloneArrayBuffer","dataView","byteOffset","cloneDataView","typedArray","cloneTypedArray","cloneMap","regexp","cloneRegExp","cloneSet","initCloneByTag","stacked","keysFunc","symbolsFunc","arrayPush","baseGetAllKeys","getAllKeys","arrayEach","subValue","baseIsNative","arrayBuffer","getMapData","isKeyable","pairs","LARGE_ARRAY_SIZE","ctorString","isLength","baseKeys","arrayTag","errorTag","typedArrayTags","freeProcess","nodeUtil","nodeIsTypedArray","isTypedArray","arraySome","predicate","nativeObjectToString","symToStringTag","SetCache","isArg","isBuff","isType","baseGetTag","isOwn","unmasked","getRawTag","baseIsArguments","baseIsEqual","bitmask","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","equalArrays","isPartial","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","objProps","objLength","othProps","othLength","skipCtor","othValue","compared","objCtor","othCtor","equalObjects","baseIsEqualDeep","isMasked","arrLength","seen","arrValue","othIndex","resIndex","arrayFilter","baseUnary","objectCtorString","allocUnsafe","nativeMax","nativeNow","baseCreate","assignMergeValue","baseAssignValue","fromRight","baseFor","iterable","baseKeysIn","nativeKeysIn","isProto","baseMerge","srcIndex","srcValue","mergeFunc","safeGet","isCommon","isTyped","isNew","keysIn","toPlainObject","baseMergeDeep","baseRest","setToString","otherArgs","thisArg","overRest","identity","baseSetToString","lastCalled","stamp","shortOut","assigner","guard","isIterateeCall","cloneDeep","keepNull","attrs","baseInverted","OpIterator","AttributeMap_1","Op_1","OpIterator_1","NULL_CHARACTER","getEmbedTypeAndData","embedType","registerEmbed","unregisterEmbed","newOp","chop","partition","passed","failed","initialValue","changeLength","elem","Infinity","hasNext","nextOp","thisIter","otherIter","firstOther","firstLeft","peekType","peekLength","thisOp","otherOp","thisData","otherData","retDelta","diffResult","opLength","eachLine","newline","inverted","baseIndex","baseOp","opData","baseOpData","priority","transformedData","nextType","retOp","__unused_webpack_exports","entryUnbind","isCallable","tryToString","$TypeError","$String","wellKnownSymbol","UNSCOPABLES","ArrayPrototype","toAbsoluteIndex","lengthOfArrayLike","argumentsLength","endPos","callWithSafeIterationClosing","isArrayIteratorMethod","isConstructor","createProperty","getIterator","getIteratorMethod","$Array","arrayLike","IS_CONSTRUCTOR","mapfn","mapping","iteratorMethod","toIndexedObject","createMethod","IS_INCLUDES","$this","fromIndex","anObject","iteratorClose","ENTRIES","ITERATOR","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","uncurryThis","stringSlice","TO_STRING_TAG_SUPPORT","classofRaw","TO_STRING_TAG","$Object","CORRECT_ARGUMENTS","tryGet","callee","getOwnPropertyDescriptorModule","definePropertyModule","exceptions","MATCH","METHOD_NAME","error1","error2","fails","DESCRIPTORS","createPropertyDescriptor","bitmap","toPropertyKey","propertyKey","makeBuiltIn","defineGlobalProperty","simple","global","unsafe","nonConfigurable","nonWritable","documentAll","IS_HTMLDDA","EXISTS","Deno","versions","v8","CONSTRUCTOR","METHOD","createNonEnumerableProperty","defineBuiltIn","copyConstructorProperties","isForced","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","aCallable","NATIVE_BIND","that","FunctionPrototype","getDescriptor","PROPER","CONFIGURABLE","uncurryThisWithBind","classof","getMethod","isNullOrUndefined","Iterators","usingIterator","check","globalThis","getBuiltIn","functionToString","inspectSource","NATIVE_WEAK_MAP","shared","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","facade","STATE","enforce","getterFor","$documentAll","noop","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","feature","detection","POLYFILL","NATIVE","isRegExp","isPrototypeOf","USE_SYMBOL_AS_UID","$Symbol","innerResult","innerError","IteratorPrototype","setToStringTag","returnThis","IteratorConstructor","NAME","ENUMERABLE_NEXT","IS_PURE","FunctionName","createIteratorConstructor","IteratorsCore","PROPER_FUNCTION_NAME","CONFIGURABLE_FUNCTION_NAME","BUGGY_SAFARI_ITERATORS","KEYS","VALUES","Iterable","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","PrototypeOfArrayIteratorPrototype","arrayIterator","toLength","InternalStateModule","enforceInternalState","getInternalState","CONFIGURABLE_LENGTH","TEMPLATE","getter","setter","arity","activeXDocument","definePropertiesModule","enumBugKeys","documentCreateElement","PROTOTYPE","SCRIPT","EmptyConstructor","scriptTag","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","domain","iframeDocument","iframe","JS","contentWindow","NullProtoObjectViaIFrame","Properties","V8_PROTOTYPE_DEFINE_BUG","objectKeys","IE8_DOM_DEFINE","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","WRITABLE","Attributes","propertyIsEnumerableModule","internalObjectKeys","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","$propertyIsEnumerable","NASHORN_BUG","uncurryThisAccessor","aPossiblePrototype","CORRECT_SETTER","objectGetPrototypeOf","IE_BUG","TO_ENTRIES","IE_WORKAROUND","pref","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","TAG","SHARED","copyright","license","toIntegerOrInfinity","requireObjectCoercible","CONVERT_TO_STRING","second","codeAt","V8_VERSION","integer","IndexedObject","isSymbol","ordinaryToPrimitive","TO_PRIMITIVE","exoticToPrim","postfix","NATIVE_SYMBOL","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","addToUnscopables","checkCorrectnessOfIteration","$values","notARegExp","correctIsRegExpLogic","nativeEndsWith","CORRECT_IS_REGEXP_LOGIC","searchString","endPosition","defineIterator","createIterResultObject","STRING_ITERATOR","setInternalState","iterated","__webpack_module_cache__","moduleId","cachedModule","loaded","paths","core","IndentAttributor","_ClassAttributor","blockquote_typeof","blockquote_defineProperties","blockquote_toPropertyKey","blockquote_toPrimitive","blockquote_setPrototypeOf","blockquote_createSuper","blockquote_isNativeReflectConstruct","blockquote_getPrototypeOf","blockquote_assertThisInitialized","blockquote_possibleConstructorReturn","Blockquote","blockquote_inherits","blockquote_classCallCheck","header_typeof","header_defineProperties","header_toPropertyKey","header_toPrimitive","header_setPrototypeOf","header_createSuper","header_isNativeReflectConstruct","header_getPrototypeOf","header_assertThisInitialized","header_possibleConstructorReturn","Header","header_inherits","header_classCallCheck","list_typeof","list_get","list_getPrototypeOf","list_superPropBase","list_defineProperties","list_toPropertyKey","list_createClass","list_toPrimitive","list_classCallCheck","list_inherits","list_setPrototypeOf","list_createSuper","list_isNativeReflectConstruct","list_assertThisInitialized","list_possibleConstructorReturn","ListContainer","ListItem","ui","listEventHandler","italic_typeof","italic_defineProperties","italic_toPropertyKey","italic_toPrimitive","italic_setPrototypeOf","italic_createSuper","italic_isNativeReflectConstruct","italic_getPrototypeOf","italic_assertThisInitialized","italic_possibleConstructorReturn","_Bold","italic_inherits","italic_classCallCheck","formats_link","script_typeof","script_defineProperties","script_toPropertyKey","script_toPrimitive","script_get","script_getPrototypeOf","script_superPropBase","script_setPrototypeOf","script_createSuper","script_isNativeReflectConstruct","script_assertThisInitialized","script_possibleConstructorReturn","Script","script_inherits","script_classCallCheck","script","strike_typeof","strike_defineProperties","strike_toPropertyKey","strike_toPrimitive","strike_setPrototypeOf","strike_createSuper","strike_isNativeReflectConstruct","strike_getPrototypeOf","strike_assertThisInitialized","strike_possibleConstructorReturn","Strike","strike_inherits","strike_classCallCheck","underline_typeof","underline_defineProperties","underline_toPropertyKey","underline_toPrimitive","underline_setPrototypeOf","underline_createSuper","underline_isNativeReflectConstruct","underline_getPrototypeOf","underline_assertThisInitialized","underline_possibleConstructorReturn","underline_inherits","underline_classCallCheck","blots_embed","formula_typeof","formula_defineProperties","formula_toPropertyKey","formula_toPrimitive","formula_get","formula_getPrototypeOf","formula_superPropBase","formula_setPrototypeOf","formula_createSuper","formula_isNativeReflectConstruct","formula_assertThisInitialized","formula_possibleConstructorReturn","Formula","_Embed","formula_inherits","formula_classCallCheck","formula","katex","throwOnError","errorColor","image_typeof","image_defineProperties","image_toPropertyKey","image_toPrimitive","image_get","image_getPrototypeOf","image_superPropBase","image_setPrototypeOf","image_createSuper","image_isNativeReflectConstruct","image_assertThisInitialized","image_possibleConstructorReturn","ATTRIBUTES","image_inherits","image_classCallCheck","formats_image","video_typeof","video_defineProperties","video_toPropertyKey","video_toPrimitive","video_get","video_getPrototypeOf","video_superPropBase","video_setPrototypeOf","video_createSuper","video_isNativeReflectConstruct","video_assertThisInitialized","video_possibleConstructorReturn","video_ATTRIBUTES","Video","_BlockEmbed","video_inherits","video_classCallCheck","video","syntax","multiline_break_typeof","multiline_break_defineProperties","multiline_break_toPropertyKey","multiline_break_toPrimitive","multiline_break_setPrototypeOf","multiline_break_createSuper","multiline_break_isNativeReflectConstruct","multiline_break_getPrototypeOf","multiline_break_assertThisInitialized","multiline_break_possibleConstructorReturn","MultilineBreak","multiline_break_inherits","multiline_break_classCallCheck","multiline_break","multiline_typeof","multiline_defineProperties","multiline_toPropertyKey","multiline_toPrimitive","multiline_setPrototypeOf","multiline_createSuper","multiline_isNativeReflectConstruct","multiline_getPrototypeOf","multiline_assertThisInitialized","multiline_possibleConstructorReturn","breakMatcher","multilineBreak","Multiline","multiline_inherits","multiline_classCallCheck","enterHandler","currentLeaf","nextLeaf","multiline","attributors_table","quill_typeof","quill_defineProperty","quill_toPrimitive","quill_toPropertyKey","registerAttributorArray","attributorArray","extendStatics","Item","Accordion","accordion_1","PropTypes","component_1","nested_option_1","_WidgetClass","subscribableOptions","independentEvents","_defaults","defaultItems","defaultSelectedIndex","defaultSelectedItem","defaultSelectedItemKeys","defaultSelectedItems","_expectedChildren","optionName","isCollectionItem","_templateProps","tmplOption","keyFn","_instance","accessKey","activeStateEnabled","bool","animationDuration","collapsible","deferRendering","elementAttr","focusStateEnabled","oneOfType","hoverStateEnabled","itemHoldTimeout","keyExpr","multiple","noDataText","onContentReady","onDisposing","onInitialized","onItemClick","onItemContextMenu","onItemHold","onItemRendered","onItemTitleClick","onOptionChanged","repaintChangesOnly","rtlEnabled","selectedIndex","selectedItemKeys","OptionName","IsCollectionItem","TemplateProps","ActionSheet","action_sheet_1","defaultVisible","cancelText","onCancelClick","showCancelButton","showTitle","usePopover","ToolbarItem","To","Show","Options","Offset","My","Hide","From","DropDownOptions","Collision","Button","BoundaryOffset","At","Animation","Autocomplete","autocomplete_1","defaultOpened","dropDownOptions","displayValue","grouped","labelMode","oneOf","maxItemCount","maxLength","minSearchLength","onChange","onClosed","onCut","onEnterKey","onFocusIn","onFocusOut","onInput","onOpened","onValueChanged","opened","openOnFieldClick","searchExpr","searchMode","searchTimeout","showClearButton","showDropDownButton","spellcheck","stylingMode","useItemTextAsTitle","validationMessageMode","validationMessagePosition","validationStatus","valueChangeEvent","valueExpr","wrapItemText","ExpectedChildren","DefaultsProps","defaultPosition","animation","toolbarItem","TooltipBorder","Tooltip","Title","Subtitle","Shadow","LoadingIndicator","LegendTitleSubtitle","LegendTitle","LegendBorder","Legend","Label","ItemTextFormat","Geometry","Format","Font","Border","BarGaugeTitleSubtitle","BarGaugeTitle","BarGauge","bar_gauge_1","defaultLoadingIndicator","defaultValues","barGaugeTitle","geometry","legend","loadingIndicator","barSpacing","baseValue","endValue","onDrawn","onExported","onExporting","onFileSaving","onIncidentOccurred","onTooltipHidden","onTooltipShown","paletteExtensionMode","pathModified","redrawOnResize","relativeInnerRadius","resolveLabelOverlapping","startValue","barGaugeTitleSubtitle","subtitle","itemTextFormat","legendBorder","legendTitle","legendTitleSubtitle","defaultShow","tooltipBorder","Box","box_1","crossAlign","Bullet","bullet_1","endScaleValue","showTarget","showZeroLevel","startScaleValue","targetColor","targetWidth","ButtonGroup","button_group_1","selectionMode","button_1","useSubmitBehavior","validationGroup","Calendar","calendar_1","defaultZoomLevel","dateSerializationFormat","disabledDates","maxZoomLevel","minZoomLevel","showTodayButton","showWeekNumbers","weekNumberRule","HoverStyle","HorizontalLineLabel","HorizontalLine","Height","Hatching","Grid","DragBoxStyle","DataPrepareSettings","Crosshair","ConstantLineStyle","ConstantLineLabel","ConstantLine","CommonSeriesSettingsSelectionStyle","CommonSeriesSettingsLabel","CommonSeriesSettingsHoverStyle","CommonSeriesSettings","CommonPaneSettings","CommonAxisSettingsTitle","CommonAxisSettingsLabel","CommonAxisSettingsConstantLineStyleLabel","CommonAxisSettingsConstantLineStyle","CommonAxisSettings","CommonAnnotationSettings","ChartTitleSubtitle","ChartTitle","BreakStyle","AxisTitle","AxisLabel","AxisConstantLineStyleLabel","AxisConstantLineStyle","ArgumentFormat","ArgumentAxis","AnnotationImage","AnnotationBorder","Annotation","AggregationInterval","Aggregation","AdaptiveLayout","Chart","ZoomAndPan","WholeRange","VisualRange","VerticalLine","ValueErrorBar","ValueAxis","Url","TickInterval","Tick","StripStyleLabel","StripStyle","StripLabel","Strip","SeriesTemplate","SeriesBorder","Series","SelectionStyle","ScrollBar","Reduction","PointSelectionStyle","PointImage","PointHoverStyle","PointBorder","PaneBorder","Pane","MinVisualRangeLength","MinorTickInterval","MinorTick","MinorGrid","Length","chart_1","useRequestAnimationFrameFlag","defaultArgumentAxis","defaultValueAxis","adaptiveLayout","annotation","argumentAxis","chartTitle","commonAnnotationSettings","commonAxisSettings","commonPaneSettings","commonSeriesSettings","crosshair","dataPrepareSettings","pane","scrollBar","series","seriesTemplate","valueAxis","zoomAndPan","adjustOnZoom","annotations","autoHidePointMarkers","barGroupPadding","barGroupWidth","containerBackgroundColor","customizeAnnotation","customizeLabel","customizePoint","defaultPane","maxBubbleSize","minBubbleSize","negativesAsZeroes","onArgumentAxisClick","onDone","onLegendClick","onPointClick","onPointHoverChanged","onPointSelectionChanged","onSeriesClick","onSeriesHoverChanged","onSeriesSelectionChanged","onZoomEnd","onZoomStart","panes","pointSelectionMode","resizePanesOnZoom","rotated","seriesSelectionMode","stickyHovering","synchronizeMultiAxes","annotationBorder","annotationImage","defaultCategories","defaultVisualRange","aggregationInterval","axisConstantLineStyle","axisLabel","axisTitle","break","breakStyle","constantLine","constantLineStyle","minorGrid","minorTick","minorTickInterval","minVisualRangeLength","strip","stripStyle","tick","tickInterval","visualRange","wholeRange","chartTitleSubtitle","commonAxisSettingsConstantLineStyle","commonAxisSettingsLabel","commonAxisSettingsTitle","commonAxisSettingsConstantLineStyleLabel","paneBorder","aggregation","commonSeriesSettingsHoverStyle","commonSeriesSettingsLabel","commonSeriesSettingsSelectionStyle","hoverStyle","reduction","selectionStyle","seriesBorder","valueErrorBar","hatching","argumentFormat","horizontalLine","horizontalLineLabel","verticalLine","pointBorder","pointHoverStyle","pointImage","pointSelectionStyle","stripStyleLabel","defaultEndValue","defaultStartValue","dragBoxStyle","CheckBox","check_box_1","enableThreeStateBehavior","iconSize","ValueIndicator","SubvalueIndicator","Scale","RangeContainer","CircularGauge","circular_gauge_1","defaultSubvalues","rangeContainer","subvalueIndicator","valueIndicator","subvalues","ColorBox","color_box_1","acceptCustomValue","applyButtonText","applyValueMode","cancelButtonText","editAlphaChannel","keyStep","ShowSubmenuMode","ShowEvent","context_menu_1","showEvent","showSubmenuMode","closeOnOutsideClick","disabledExpr","displayExpr","hideOnOutsideClick","itemsExpr","onHidden","onHiding","onPositioning","onShowing","onShown","selectByClick","selectedExpr","submenuDirection","DX_REMOVE_EVENT","ComponentBase","react_dom_1","templates_manager_1","templates_renderer_1","templates_store_1","options_manager_1","widget_config_1","tree_1","utils_1","isPortalComponent","_childNodes","useDeferUpdateForTemplates","_setTemplatesRendererRef","_createWidget","_templatesStore","TemplatesStore","_templatesRendererRef","scheduleUpdate","_templatesManager","_optionsManager","OptionsManager","displayContentsStyle","isIE","_element","_updateCssClasses","prevProps","_getConfig","scheduleGuards","unscheduleGuards","triggerHandler","templatesRenderAsynchronously","getInitialOptions","setInstance","buildConfigTree","templates","initialValuesProps","predefinedValuesProps","expectedChildren","_getElementProps","elementProps","elementPropNames","prevClassName","getClassName","newClassName","renderChildren","renderContent","portalContainer","forceUpdate","renderPortal","createPortal","Fragment","TemplatesRenderer","templatesStore","PureComponent","component_base_1","extension_component_1","_extensionCreators","_registerExtension","_createExtensions","clearExtensions","Children","ExtensionComponent","cloneElement","onMounted","creator","getOption","useLegacyTemplateEngine","getChanges","changesAccum","addRemovedValues","fullName","configCollections","configs","currentCollection","prevCollection","updatedCollection_1","buildNode","mergeNameParts","compareCollections","currentTemplatesOptions","currentTemplates","prevTemplatesOptions","prevTemplates","buildTemplates","currentTemplate","prevTemplate","compareTemplates","removedOptions","currentOptions","prevOptions","appendRemovedValues","ElementType","getElementInfo","template_1","parentExpectedChildren","reactElement","Template","elementDescriptor","name_1","expectation","Option","isCollection","PredefinedProps","getNamedTemplate","getAnonymousTemplate","templateMeta","hasTranscludedContent","isAnonymous","processChildren","element_1","templates_1","parentFullName","collectionItem","createConfigNode","configNode","separatedValues","separateProps","childrenData","predefinedOptions","initialOptions","defaults","widgetDescriptor","findValueInObject","findValue","buildConfig","ValueType","optionsAccum","templatesAccum","templateName","ignoreInitialValues","Simple","Complex","optionInfo","parseOptionName","childCollection","shallowEquals","msie","trident","createDxTemplate","helpers_1","template_wrapper_1","createContentProvider","renderedTemplates","DoubleKeyMap","templateId","key1","key2","prevTemplateId","onRemoved","setDeferredRemove","generateID","one","contentProvider","TemplateWrapper","onDidMount","onRendered","capitalizeFirstLetter","_map","innerMap","NestedOption","stateChildren","comparer_1","optionsManagers","guardTimeoutHandler","optionManager","execGuards","templatesManager","guards","isUpdating","wrapOptionValue","currentConfig","rootNode","templatesCount","integrationOptions","changedOptions","optionChangedHandler","resetOption","currentPropValue","valueDescriptor","callOptionChangeHandler","addGuard","valuesAreEqual","valuesAreEqualObjects","skipOptionsRollBack","isOptionSubscribable","isIndependentEvent","optionValue","changeEvent","TableNodeNames","ReactDOM","removalListenerStyle","_removalListenerRef","createRef","removalListenerRequired","_onDxRemove","getPreviousSiblingNode","_subscribeOnRemove","hiddenNode","hiddenElement","_listenerElement","_subscribeOnElementRemoval","setState","removalListener","findProps","requiredPropsCheck","isRequired","config_1","dx_template_1","normalizeProps","dxkey","contentCreators","contentGetter","TemplatesManager","_templates","_templatesContent","contentCreator","frame_1","common_1","updateScheduled","mounted","shouldRepeatForceUpdate","isUpdateFuncLaunched","useDeferUpdate","deferUpdate","renderWrappers","onTemplateAdded","_onTemplateAdded","templateFunc","isDeferredRemove","removeDefferedTemplate","classNamePropName","defaultsProps","templateProps","knownTemplates","defaultOptionName","Lookup","LoadPanel","KeyboardNavigation","HeaderFilter","GroupPanel","GroupOperationDescriptions","GroupItem","GroupingTexts","Grouping","FormItem","Form","FilterRow","FilterPanelTexts","FilterPanel","FilterOperationDescriptions","FilterBuilderPopup","FilterBuilder","FieldLookup","Field","ExportTexts","EmailRule","EditingTexts","Editing","DataGridHeaderFilterTexts","DataGridHeaderFilter","CustomRule","CustomOperation","CursorOffset","CompareRule","ColumnLookup","ColumnHeaderFilter","ColumnFixingTexts","ColumnFixing","ColumnChooser","Column","ColCountByScreen","Change","AsyncRule","DataGrid","ValueFormat","ValidationRule","TotalItem","Toolbar","Texts","SummaryTexts","StringLengthRule","StateStoring","Sorting","SortByGroupSummaryInfo","SearchPanel","Scrolling","RowDragging","RequiredRule","RemoteOperations","RangeRule","Popup","PatternRule","Paging","Pager","OperationDescriptions","NumericRule","MasterDetail","data_grid_1","defaultColumns","defaultEditing","defaultFilterPanel","defaultFilterValue","defaultFocusedColumnIndex","defaultFocusedRowIndex","defaultFocusedRowKey","defaultGroupPanel","defaultPaging","defaultSearchPanel","defaultSelectedRowKeys","defaultSelectionFilter","columnChooser","columnFixing","dataGridHeaderFilter","filterBuilder","filterBuilderPopup","filterPanel","filterRow","grouping","groupPanel","headerFilter","keyboardNavigation","loadPanel","masterDetail","pager","paging","remoteOperations","rowDragging","scrolling","searchPanel","sortByGroupSummaryInfo","sorting","stateStoring","summary","allowColumnReordering","allowColumnResizing","autoNavigateToFocusedRow","cacheEnabled","cellHintEnabled","columnAutoWidth","columnHidingEnabled","columnMinWidth","columnResizingMode","columnWidth","customizeColumns","errorRowEnabled","filterSyncEnabled","filterValue","focusedColumnIndex","focusedRowEnabled","focusedRowIndex","highlightChanges","onAdaptiveDetailRowPreparing","onCellClick","onCellDblClick","onCellHoverChanged","onCellPrepared","onContextMenuPreparing","onDataErrorOccurred","onEditCanceled","onEditCanceling","onEditingStart","onEditorPrepared","onEditorPreparing","onFocusedCellChanged","onFocusedCellChanging","onFocusedRowChanged","onFocusedRowChanging","onInitNewRow","onRowClick","onRowCollapsed","onRowCollapsing","onRowDblClick","onRowExpanded","onRowExpanding","onRowInserted","onRowInserting","onRowPrepared","onRowRemoved","onRowRemoving","onRowUpdated","onRowUpdating","onRowValidating","onSaved","onSaving","onToolbarPreparing","renderAsync","rowAlternationEnabled","selectedRowKeys","selectionFilter","showBorders","showColumnHeaders","showColumnLines","showRowLines","syncLookupFilterValues","twoWayBindingEnabled","wordWrapEnabled","defaultFilterValues","defaultGroupIndex","defaultSelectedFilterOperation","defaultSortIndex","defaultSortOrder","defaultVisibleIndex","columnHeaderFilter","columnLookup","formItem","lookup","validationRule","columnFixingTexts","dataGridHeaderFilterTexts","defaultChanges","defaultEditColumnName","defaultEditRowKey","editingTexts","form","popup","exportTexts","fieldLookup","customOperation","field","filterOperationDescriptions","groupOperationDescriptions","defaultFilterEnabled","filterPanelTexts","operationDescriptions","defaultFormData","colCountByScreen","groupingTexts","valueFormat","defaultPageIndex","defaultPageSize","cursorOffset","groupItem","summaryTexts","totalItem","DisplayFormat","CalendarOptions","DateBox","date_box_1","calendarOptions","displayFormat","adaptivityEnabled","dateOutOfRangeMessage","invalidDateMessage","pickerType","showAnalogClock","todayButtonText","useMaskBehavior","DeferRendering","defer_rendering_1","showLoadIndicator","staggerItemSelector","boundaryOffset","collision","ViewToolbar","ToolboxGroup","TabGroup","PropertiesPanel","PageSizeItem","Nodes","MainToolbar","HistoryToolbar","Group","Edges","DefaultItemProperties","CustomShape","ContextToolbox","CommandItem","Command","AutoLayout","Diagram","diagram_1","defaultGridSize","contextMenu","customShape","defaultItemProperties","historyToolbar","mainToolbar","propertiesPanel","toolbox","viewToolbar","autoZoomMode","customShapes","fullScreen","hasChanges","onCustomCommand","onItemDblClick","onRequestEditOperation","onRequestLayoutUpdate","pageOrientation","useNativeScrolling","command","connectionPoint","autoLayout","pageSizeItem","group","tabGroup","toolboxGroup","Draggable","draggable_1","dragDirection","handle","onDragMove","scrollSensitivity","scrollSpeed","Drawer","drawer_1","animationEnabled","maxSize","minSize","openedStateMode","revealMode","shading","DropDownBox","drop_down_box_1","displayValueFormatter","DropDownButton","drop_down_button_1","onButtonClick","selectedItemKey","showArrowIcon","splitButton","useSelectMode","Upload","Permissions","Notifications","ItemView","FileSelectionItem","Details","ContextMenuItem","FileManager","file_manager_1","itemView","notifications","permissions","allowedFileExtensions","currentPath","currentPathKeys","customizeDetailColumns","customizeThumbnail","focusedItemKey","onContextMenuItemClick","onContextMenuShowing","onCurrentDirectoryChanged","onDirectoryCreated","onDirectoryCreating","onErrorOccurred","onFileUploaded","onFileUploading","onFocusedItemChanged","onItemCopied","onItemCopying","onItemDeleted","onItemDeleting","onItemDownloading","onItemMoved","onItemMoving","onItemRenamed","onItemRenaming","onSelectedFileOpened","onToolbarItemClick","rootFolderName","contextMenuItem","details","fileSelectionItem","FileUploader","file_uploader_1","abortUpload","accept","allowCanceling","chunkSize","invalidFileExtensionMessage","invalidMaxFileSizeMessage","invalidMinFileSizeMessage","labelText","maxFileSize","minFileSize","onBeforeSend","onDropZoneEnter","onDropZoneLeave","onFilesUploaded","onProgress","onUploadAborted","onUploaded","onUploadError","onUploadStarted","readyToUploadMessage","selectButtonText","showFileList","uploadAbortedMessage","uploadButtonText","uploadChunk","uploadedMessage","uploadFailedMessage","uploadFile","uploadMethod","uploadMode","uploadUrl","filter_builder_1","allowHierarchicalFields","customOperations","fields","groupOperations","maxGroupLevel","TabPanelOptionsItem","TabPanelOptions","TabbedItem","SimpleItem","EmptyItem","ButtonOptions","ButtonItem","form_1","alignItemLabels","alignItemLabelsInAllGroups","colCount","customizeItem","labelLocation","minColWidth","onEditorEnterKey","onFieldDataChanged","optionalMark","requiredMark","requiredMessage","screenByWidth","scrollingEnabled","showColonAfterLabel","showOptionalMark","showRequiredMark","showValidationSummary","buttonOptions","itemType","tabPanelOptions","tabPanelOptionsItem","LabelBorder","ItemBorder","FunnelTitleSubtitle","FunnelTitle","Funnel","funnel_1","funnelTitle","algorithm","argumentField","colorField","hoverEnabled","neckHeight","neckWidth","onHoverChanged","sortData","valueField","funnelTitleSubtitle","itemBorder","labelBorder","Gallery","gallery_1","indicatorEnabled","initialItemWidth","loop","showIndicator","showNavButtons","slideshowDelay","stretchImages","swipeEnabled","wrapAround","Validation","Tasks","ScaleTypeRange","Resources","ResourceAssignments","GanttHeaderFilter","Dependencies","Gantt","gantt_1","ganttHeaderFilter","resourceAssignments","scaleTypeRange","stripLine","allowSelection","onDependencyDeleted","onDependencyDeleting","onDependencyInserted","onDependencyInserting","onResourceAssigned","onResourceAssigning","onResourceDeleted","onResourceDeleting","onResourceInserted","onResourceInserting","onResourceManagerDialogShowing","onResourceUnassigned","onResourceUnassigning","onTaskDeleted","onTaskDeleting","onTaskEditDialogShowing","onTaskInserted","onTaskInserting","onTaskMoving","onTaskUpdated","onTaskUpdating","taskListWidth","Variables","TableResizing","TableContextMenuItem","TableContextMenu","Mention","MediaResizing","ImageUpload","FileUploaderOptions","HtmlEditor","html_editor_1","imageUpload","mediaResizing","mention","tableContextMenu","tableResizing","variables","allowSoftLineBreak","customizeModules","mentions","valueType","fileUploaderOptions","tableContextMenuItem","linear_gauge_1","list_1","load_indicator_1","load_panel_1","lookup_1","map_1","menu_1","multi_view_1","number_box_1","pie_chart_1","pivot_grid_1","pivot_grid_field_chooser_1","polar_chart_1","popover_1","popup_1","progress_bar_1","radio_group_1","range_selector_1","range_slider_1","recurrence_editor_1","resizable_1","responsive_box_1","sankey_1","scheduler_1","scroll_view_1","select_box_1","slider_1","sortable_1","sparkline_1","speed_dial_action_1","switch_1","tab_panel_1","tabs_1","tag_box_1","text_area_1","text_box_1","tile_view_1","toast_1","toolbar_1","tooltip_1","tree_list_1","tree_map_1","tree_view_1","validation_group_1","validation_summary_1","validator_1","vector_map_1","LinearGauge","SearchEditorOptions","MenuItem","ItemDragging","List","itemDragging","menuItem","searchEditorOptions","allowItemDeleting","bounceEnabled","collapsibleGroups","indicateLoading","itemDeleteMode","menuItems","menuMode","nextButtonText","onGroupRendered","onItemReordered","onItemSwipe","onPageLoading","onPullRefresh","onSelectAllValueChanged","pageLoadingText","pageLoadMode","pulledDownText","pullingDownText","pullRefreshEnabled","refreshingText","scrollByContent","scrollByThumb","searchEnabled","searchValue","selectAllMode","selectAllText","showScrollbar","showSelectionControls","LoadIndicator","indicatorSrc","copyRootClassesToWrapper","hideOnParentScroll","shadingColor","showPane","HideEvent","cleanSearchOnOpening","clearButtonText","dropDownCentered","searchPlaceholder","searchStartEvent","showDataBeforeSearch","hideEvent","Route","Marker","Location","ApiKey","defaultCenter","defaultMarkers","defaultRoutes","defaultZoom","apiKey","route","autoAdjust","controls","markerIconSrc","markers","onMarkerAdded","onMarkerRemoved","onReady","onRouteAdded","onRouteRemoved","provider","routes","ShowFirstSubmenuMode","Menu","showFirstSubmenuMode","hideSubmenuOnMouseLeave","onSubmenuHidden","onSubmenuHiding","onSubmenuShowing","onSubmenuShown","MultiView","NumberBox","invalidValueMessage","showSpinButtons","useLargeSpinButtons","SmallValuesGrouping","PieChartTitleSubtitle","PieChartTitle","PieChart","pieChartTitle","diameter","innerRadius","minDiameter","segmentsDirection","sizeGroup","startAngle","smallValuesGrouping","pieChartTitleSubtitle","PivotGridFieldChooserTexts","HeaderFilterTexts","PivotGridFieldChooser","pivotGridFieldChooserTexts","allowSearch","applyChangesMode","layout","headerFilterTexts","PivotGridTexts","FieldPanelTexts","FieldPanel","FieldChooserTexts","FieldChooser","PivotGrid","fieldChooser","fieldPanel","pivotGridTexts","allowExpandAll","allowFiltering","allowSorting","allowSortingBySummary","dataFieldArea","hideEmptySummaryCells","rowHeaderLayout","showColumnGrandTotals","showColumnTotals","showRowGrandTotals","showRowTotals","showTotalsPrior","fieldChooserTexts","fieldPanelTexts","PolarChartTitleSubtitle","PolarChartTitle","ConstantLineStyleLabel","CommonAxisSettingsTick","CommonAxisSettingsMinorTick","ArgumentAxisTick","ArgumentAxisMinorTick","PolarChart","polarChartTitle","useSpiderWeb","argumentAxisMinorTick","argumentAxisTick","commonAxisSettingsMinorTick","commonAxisSettingsTick","constantLineStyleLabel","polarChartTitleSubtitle","Popover","onTitleRendered","showCloseButton","toolbarItems","dragEnabled","dragOutsideBoundary","onResize","onResizeEnd","onResizeStart","resizeEnabled","restorePosition","ProgressBar","onComplete","showStatus","statusFormat","RadioGroup","SliderHandle","Shutter","ScaleLabel","MinRange","MaxRange","MarkerLabel","Indent","Behavior","BackgroundImage","RangeSelector","Value","SliderMarker","behavior","shutter","sliderHandle","sliderMarker","dataSourceField","selectedRangeColor","selectedRangeUpdateMode","backgroundImage","markerLabel","maxRange","minRange","scaleLabel","RangeSlider","endName","showRange","startName","valueChangeMode","RecurrenceEditor","Resizable","handles","keepAspectRatio","Row","Col","ResponsiveBox","col","cols","singleColumnScreen","Sankeyborder","Sankey","link","onLinkClick","onLinkHoverChanged","onNodeClick","onNodeHoverChanged","sourceField","targetField","weightField","sankeyborder","View","AppointmentDragging","Scheduler","defaultCurrentDate","defaultCurrentView","appointmentDragging","allDayExpr","allDayPanelMode","cellDuration","crossScrollingEnabled","currentView","customizeDateNavigatorText","descriptionExpr","endDateExpr","endDateTimeZoneExpr","endDayHour","groupByDate","groups","indicatorUpdateInterval","maxAppointmentsPerCell","onAppointmentAdded","onAppointmentAdding","onAppointmentClick","onAppointmentContextMenu","onAppointmentDblClick","onAppointmentDeleted","onAppointmentDeleting","onAppointmentFormOpening","onAppointmentRendered","onAppointmentTooltipShowing","onAppointmentUpdated","onAppointmentUpdating","onCellContextMenu","recurrenceEditMode","recurrenceExceptionExpr","recurrenceRuleExpr","remoteFiltering","selectedCellData","shadeUntilCurrentTime","showAllDayPanel","showCurrentTimeIndicator","startDateExpr","startDateTimeZoneExpr","startDayHour","textExpr","timeZone","useDropDownViewSwitcher","views","ScrollView","onPullDown","onReachBottom","onUpdated","reachBottomText","useNative","SelectBox","customItemCreateEvent","onCustomItemCreating","Slider","Sortable","allowDropInsideItem","allowReordering","dropFeedbackMode","itemOrientation","moveItemOnDrop","onAdd","onDragChange","onRemove","onReorder","Sparkline","barNegativeColor","barPositiveColor","firstLastColor","ignoreEmptyPoints","lossColor","maxColor","minColor","pointColor","pointSize","pointSymbol","showFirstLast","showMinMax","winColor","winlossThreshold","SpeedDialAction","Switch","switchedOffText","switchedOnText","TabPanel","onTitleClick","onTitleHold","Tabs","TagBox","hideSelectedItems","maxDisplayedTags","maxFilterQueryLength","onMultiTagPreparing","showMultiTagOnly","TextArea","autoResizeEnabled","TextBox","mask","maskChar","maskInvalidMessage","showMaskMode","useMaskedValue","TileView","baseItemHeight","baseItemWidth","itemMargin","Toast","closeOnClick","closeOnSwipe","displayTime","TreeList","TreeListHeaderFilterTexts","TreeListHeaderFilter","defaultExpandedRowKeys","treeListHeaderFilter","autoExpandAll","dataStructure","expandedRowKeys","expandNodesOnFiltering","filterMode","hasItemsExpr","onNodesInitialized","parentIdExpr","treeListHeaderFilterTexts","TreeMapborder","TileLabel","Tile","GroupLabel","Colorizer","TreeMap","colorizer","tile","childrenField","idField","interactWithGroup","labelField","layoutAlgorithm","layoutDirection","maxDepth","onDrill","onNodesRendering","parentField","groupLabel","treeMapborder","tileLabel","TreeView","createChildren","expandAllEnabled","expandedExpr","expandEvent","expandNodesRecursive","onItemCollapsed","onItemExpanded","onItemSelectionChanged","scrollDirection","selectNodesRecursive","showCheckBoxesMode","virtualModeEnabled","ValidationGroup","ValidationSummary","Adapter","Validator","adapter","onValidated","validationRules","VectorMapTitleSubtitle","VectorMapTitle","Source","Projection","Layer","ControlBar","VectorMap","controlBar","projection","vectorMapTitle","layers","legends","maxZoomFactor","onCenterChanged","onZoomFactorChanged","panningEnabled","touchEnabled","wheelEnabled","zoomFactor","zoomingEnabled","vectorMapTitleSubtitle","gridCoreUtils","columnHeadersModule","columnHeadersView","gridCore","registerModule","defaultOptions","columnsControllerModule","commonColumnSettings","allowExporting","controllers","dataSourceAdapterType","DataSourceAdapter","extender","DataController","dataControllerModule","_getDataSourceAdapter","dataSourceAdapterProvider","_getSpecificDataSourceOption","errors","callBase","sortingModule","rowsModule","rowsView","treeListCore","contextMenuModule","errorHandlingModule","gridViewModule","headerPanelModule","headerPanel","registerModulesOrder","Widget","_activeStateUnit","_getDefaultOptions","each","_setDeprecatedOptions","_deprecatedOptions","useKeyboard","since","alias","rowTemplate","_defaultOptionsRules","device","isMaterial","useIcons","browser","webkit","loadingTimeout","deviceType","expandMode","_init","processModules","callModuleItemsMethod","_clean","_optionChanged","handled","_dimensionChanged","updateDimensions","_visibilityChanged","_initMarkup","getView","$element","_renderContentImpl","_renderContent","deferRender","_getTemplate","_dispose","isReady","getController","_controllers","_views","registerComponent","stateStoringModule","selectionModule","columnChooserModule","columnChooserView","createGroupFilter","storeLoadOptions","normalizeSortingInfo","combineFilters","createOffsetFilter","lastLevelOnly","filterElement","currentFilter","GroupingHelper","Class","findGroupInfoByKey","groupsInfo","getGroupInfoIndexByOffset","leftIndex","rightIndex","middleIndex","ctor","dataSourceAdapter","_dataSource","_groupsInfo","_totalCountCorrection","totalCountCorrection","updateTotalItemsCount","isGroupItemCountable","_isVirtualPaging","isContinuation","scrollingMode","itemsCount","groupCount","calculateItemsCount","groupsCount","foreachGroups","childrenAtFirst","foreachCollapsedGroups","updateOffsets","updateParentOffsets","foreachGroupsCore","parents","callbackResults","executeCallback","callbackResult","isExpanded","currentParents","when","always","_updateGroupInfoOffsets","groupInfo","parentIndex","findGroupInfo","pathIndex","addGroupInfo","groupInfoData","allowCollapseAll","oldGroups","_group","groupIndex","cleanGroupsInfo","handleDataLoading","handleDataLoaded","handleDataLoadedCore","getContinuationGroupCount","groupOffset","groupSize","GroupingHelperCore","foreachExpandedGroups","updateGroups","processGroupItems","expandedInfo","isCustomLoading","isLastGroupExpanded","lastCount","collapsedItems","updateGroupInfoItem","isLastGroupLevel","_isGroupExpanded","updateGroupInfos","loadedGroupCount","totalCount","skip","skips","isGroupExpanded","getTotalOffset","groupInfos","totalOffset","childrenTotalCount","applyContinuationToGroupItem","groupLevel","expandedItemIndex","take","takes","isLastExpandedItem","isFirstExpandedItem","lastExpandedItemSkip","isItemsTruncatedByTake","isContinuationOnNextPage","isDataDeferred","makeDataDeferred","Deferred","loadGroupItems","currentGroupCount","currentGroupIndex","currentGroup","deferreds","loadOptions","requireTotalCount","requireGroupCount","groupSummary","loadResult","loadFromStore","expandedFilters","expandedPath","isLoadingAll","dataGridCore","isPagingLocal","isLastLevelGroupItemsPagingLocal","sortLastLevelGroupItems","expandedItems","fail","reject","loadGroupTotalCount","isGrouping","extra","dataErrors","totalItemsCount","isVirtualPaging","_updatePagingOptions","skipChildrenTotalCount","takeCorrection","parentTakeCorrection","continuationGroupCount","skipContinuationGroupCount","groupInfoCount","childrenGroupInfoCount","changeRowExpand","remoteGroupPaging","groupPaging","lastLoadOptions","remotePaging","isLastGroup","_processPaging","_processSkips","firstItem","_processTakes","lastItem","maxTakeCount","operationTypes","handleGroup","reload","groupCountQuery","groupOffsetQuery","loadTotalCount","correctSkipLoadOption","skipCorrection","resultSkip","pathEquals","path1","path2","keysEqual","updateGroupOffsets","additionalGroupInfo","getGroupCount","collapsedGroups","collapsedItemsCount","skipFirstItem","sorts","storeHelper","arrangeSortingInfo","appendCollapsedPath","collapsedGroup","keyValue","pathValue","toComparable","_totalCountWasIncreasedByCollapsedItems","dataQuery","multiLevelGroup","enumerate","groupedData","removeLastItemsCount","needRemoveFirstItem","offsetInfo","itemsCountCorrection","beginPageIndex","dataSourceItems","_eventsStrategy","fireEvent","DATAGRID_GROUP_PANEL_CLASS","DATAGRID_GROUP_PANEL_ITEM_CLASS","DATAGRID_GROUP_PANEL_LABEL_CLASS","GroupingDataSourceAdapterExtender","_initGroupingHelper","_grouping","isAutoExpandAll","isFocusedRowEnabled","filtering","ExpandedGroupingHelper","CollapsedGroupingHelper","isRowExpanded","_collapseExpandAll","isExpand","resetPagesCache","beginLoading","_lastLoadOptions","groupExpand","_changeRowExpandCore","endLoading","_hasGroupLevelsExpandState","_customizeRemoteOperations","resetCache","_handleDataLoading","_handleDataLoaded","_handleDataLoadedCore","GroupingDataControllerExtender","createAction","_beforeProcessItems","groupColumns","_columnsController","getGroupColumns","_processGroupItems","_processItem","rowType","_processGroupItem","dataIndex","groupedColumns","collectContinuationItems","resultItems","deserializeValue","calculateDisplayValue","publicMethods","executeAction","expandRow","collapseRow","optionChanged","onGroupingMenuItemClick","columnsController","itemData","columnOption","dataField","clearGrouping","GroupingHeaderPanelExtender","_getToolbarItems","_appendGroupingItem","_isGroupPanelVisible","isRendered","$groupPanel","addClass","_updateGroupPanelContent","registerKeyboardAction","_handleActionKeyDown","renderCompleted","fire","locateInMenu","sortIndex","updateToolbarDimensions","$target","groupColumnIndex","closest","columnIndex","is","showHeaderFilterMenu","_processGroupItemAction","groupPanelOptions","devices","_renderGroupPanelItems","groupColumn","_createGroupPanelItem","restoreFocus","$rootElement","$groupPanelItem","appendTo","setTabIndex","_columnOptionChanged","_requireReady","checkChanges","optionNames","$toolbarElement","allowColumnDragging","emptyPanelText","allowGrouping","getColumnElements","getColumns","getBoundingRect","getContextMenuItems","$groupedColumnElement","targetElement","isColumnGrouped","ungroup","ungroupAll","_invalidate","GroupingRowsViewExtender","_rowClick","isGroupRowStateChanged","isExpandButtonClicked","_changeGroupRowState","dataController","allowCollapsing","columnHeadersViewExtender","groupByThisColumn","beginGroup","showWhenGrouped","groupContinuesMessage","messageLocalization","groupContinuedMessage","extenders","_getExpandColumnOptions","cellTemplate","getExpandCellTemplate","_isProcessedItem","masterDetailModule","editorFactoryModule","editingModule","editingController","_editingController","editingRowBasedModule","editingFormBasedModule","editingCellBasedModule","validatingModule","virtualScrollingModule","filterRowModule","headerFilterModule","filterSyncModule","filterBuilderModule","filterPanelModule","searchModule","pagerModule","columnsResizingReorderingModule","draggingHeaderView","draggingHeader","columnsSeparatorView","tablePosition","columnsResizer","trackerView","keyboardNavigationModule","depthFirstSearch","depth","normalizeAggregate","aggregate","compileGetter","skipEmptyValues","aggregator","aggregators","_data","_groupLevel","_totalAggregates","totalAggregates","_groupAggregates","groupAggregates","_totals","_calculateTotals","_calculateGroups","_aggregate","aggregates","_accumulate","_seed","_finalize","maxLevel","currentLevel","seedFn","stepFn","finalizeFn","innerNode","aggregateIndex","results","fin","finalize","DATAGRID_GROUP_FOOTER_ROW_TYPE","DATAGRID_TOTAL_FOOTER_ROW_TYPE","renderSummaryCell","$cell","summaryItems","$summaryItems","summaryItem","toggleClass","getSummaryText","getSummaryCellOptions","summaryCells","getGroupAggregates","recalculateWhileEditing","FooterView","ColumnsView","_getRows","_dataController","footerItems","_getCellOptions","_renderCellContent","_renderCore","needUpdateScrollLeft","columnIndices","_updateContent","_renderTable","_updateScrollLeftPosition","$newTable","changeType","waitAsyncTemplates","$row","getTableElement","$newRow","_updateCells","changeTypes","visibleWidth","_handleDataChanged","totalColumnIndices","_createRow","getElementHeight","SummaryDataSourceAdapterExtender","_summaryGetter","summaryGetter","sortByGroupsInfo","sortByGroups","groupedItems","toArray","forEachGroup","itemsPath","SummaryDataSourceAdapterClientExtender","calculateAggregates","calculator","insertedData","getInsertedData","applyAddedData","removedData","getRemovedData","applyRemovedData","updatedData","updatedItems","AggregateCalculator","sortGroupsBySummary","sortGroupsBySummaryCore","sortBy","thenBy","sortedItems","totalSummary","cachedExtra","cachedData","hasOperations","groupItems","totalItems","calculateCustomSummary","sum","sumOtherColumn","minOtherColumn","maxOtherColumn","avg","avgOtherColumn","footerView","_isDataColumn","_isGroupFooterVisible","showInColumn","showInGroupFooter","isGroupFooterVisible","summaryGroupItems","afterGroupColumnIndex","visibleColumns","prevColumn","_calculateSummaryCells","alignByColumn","calculateTargetColumnIndex","isGroupRow","summaryCellsByColumns","summaryIndex","summaryType","getFormatByDataType","dataType","columnCaption","isEmptyObject","_getSummaryCells","summaryTotalItems","getVisibleColumns","_updateItemsCore","_footerItems","oldSummaryCells","summaryCell","_prepareUnsavedDataSelector","getUpdatedData","_prepareAggregateSelector","_getAggregates","commonSkipEmptyValues","calculateCellValue","summaryProcess","totalValue","_addSortInfo","sortOrder","_findSummaryItem","summaryItemIndex","_getSummarySortByGroups","groupSummaryItems","_createDataSourceAdapterCore","currentRemoteOperations","_getSummaryOptions","totalSummaryItems","getTotalSummaryValue","summaryItemName","_refreshSummary","isSaving","changesOnly","_addChange","_removeChange","cancelEditData","_renderCells","_renderGroupSummaryCells","_hasAlignByColumnSummaryItems","_getAlignByColumnCellCount","groupCellColSpan","alignByColumnCellCount","$groupCell","_renderGroupSummaryCellsCore","_renderCell","_getSummaryCellIndex","_getCellTemplate","columnFixingModule","adaptivityModule","virtualColumnsModule","DATAGRID_EXPORT_BUTTON_CLASS","DATAGRID_EXPORT_ICON","DataProvider","exportController","initialColumnWidthsByColumnIndex","selectedRowsOnly","_exportController","_initialColumnWidthsByColumnIndex","_selectedRowsOnly","_getGroupValue","_options","getDisplayValue","formatValue","getGroupRowSummaryText","_correctCellIndex","cellIndex","_initOptions","excelWrapTextEnabled","_getColumns","_selectionOnly","_getSelectedItems","_getAllItems","getVisibleIndex","isHeadersVisible","customizeExportData","wrapTextEnabled","customizeExcelCell","hasCustomizeExcelCell","cellSourceData","gridCell","getHeaderStyles","wrapText","getGroupRowStyle","getDefaultAlignment","getColumnStyles","getStyles","_getTotalCellStyleId","getStyleId","getHeaderRowCount","isTotalCell","getColumnsByAllRows","getColumnsWidths","getRowsCount","getGroupLevel","getCellType","customizeText","ready","_convertFromGridGroupSummaryItems","gridGroupSummaryItems","getCellData","isExcelJS","correctedCellIndex","itemValues","totalSummaryItemName","_value","getCustomizeTextByDataType","correctCellIndex","isSummaryAlignByColumn","getCellMerging","colspan","exportColspan","rowspan","getFrozenArea","ExportController","_getEmptyCell","_updateColumnWidth","rowCount","getRowCount","currentHeaderRow","columnWidthsByColumnIndex","_updateLockCount","columnWidths","_getColumnWidths","_headersView","_rowsView","_needColumnExporting","currentColspan","_calculateExportColspan","prepareItems","isBand","childColumns","getChildrenByBandColumn","childColumn","_getFooterSummaryItems","isTotal","estimatedItemsCount","itemsLength","_hasSummaryGroupFooters","_getItemsWithSummaryGroupFooters","sourceItems","beforeGroupFooterItems","groupFooterItems","_updateGroupValuesWithSummaryByColumn","summaryValues","groupColumnCount","_processUnExportedItems","isCommand","skipFilter","loadAll","selectionController","needLoadItemsOnExportingSelectedItems","loadSelectedItemsWithFilter","getSelectedRowsData","headersView","getColumnWidths","excludeValidators","callbackNames","getDataProvider","columnsLastRowVisibleColumns","exportToExcel","clientExport","autoFilterEnabled","exportingAction","getAction","exportedAction","fileSavingAction","excel","exportTo","selectionOnly","_isSelectedRows","selectionOnlyChanged","excelFilterEnabled","allowExportSelectedData","exportAll","exportSelectedRows","callbackList","_updateEditButtons","editingButtonsUpdated","exportButton","_getExportToolbarButton","_correctItemsPosition","_getExportToolbarItems","_needDisableExportButton","toolbarButtonOptions","widgetOptions","class","widget","showText","_widgetOptions","_wrapperClassExternal","menuItemTemplate","_index","_createComponent","exportOptions","formatType","exportMethod","exportAllIcon","itemA","itemB","_isExportButtonVisible","isDataColumnsInvisible","hasVisibleDataColumns","hasUnsavedChanges","setToolbarItemDisabled","focusModule","Base","isRowClick","isKeyboardEnabled","_isFocusedRowInsideGroup","focusedRowKey","getRowIndexByKey","focusedRow","getVisibleRows","getGroupDataSourceParameters","_getGroupPath","groupPath","_expandGroupByPath","promise","_calculateGlobalRowIndexByGroupedData","_generateFilterByKey","deferred","isGroupKey","_concatWithCombinedFilter","_calculateExpandedRowGlobalIndex","_calculateGlobalRowIndexByFlatData","groupFilter","isVirtualScrolling","equalByValue","dataOffset","groupContinuationCount","rowDraggingModule","COLUMN_HEADERS_VIEW","ROWS_VIEW","COLUMN_VIEWS","HIDDEN_COLUMNS_WIDTH","ADAPTIVE_ROW_TYPE","FORM_ITEM_CONTENT_CLASS","HIDDEN_COLUMN_CLASS","ADAPTIVE_COLUMN_NAME_CLASS","COMMAND_ADAPTIVE_HIDDEN_CLASS","ADAPTIVE_ITEM_TEXT_CLASS","ADAPTIVE_COLUMN_NAME","EDIT_MODE_ROW","GROUP_CELL_CLASS","EXPAND_ARIA_NAME","getColumnId","adaptiveCellTemplate","$adaptiveColumnButton","$container","adaptiveColumnsController","addWidgetPrefix","eventsEngine","addNamespace","clickEventName","toggleExpandAdaptiveDetailRow","setEmptyText","focusCellHandler","$nextCell","trigger","AdaptiveColumnsController","_isRowEditMode","_getEditMode","_isItemModified","cellOptions","modifiedValues","_renderFormViewTemplate","focusAction","isEditing","rowData","isCellOrBatchEditMode","allowEditing","templateOptions","isElementInDom","_cellPrepared","updateForm","renderFormTemplate","isItemEdited","_isItemEdited","showEditorAlways","renderFormEditorTemplate","watch","contents","removeClass","removeEvent","_isVisibleColumnsValid","_calculatePercentWidths","widths","percentWidths","_getItemPercentWidth","_isPercentWidth","_isColumnHidden","_hiddenColumns","hiddenColumn","_getAverageColumnsWidth","containerWidth","columnsCanFit","fixedColumnsWidth","columnsWithoutFixedWidthCount","_calculatePercentWidth","columnsCount","bestFitWidth","_calculateColumnWidth","contentColumns","colWidth","columnId","widthOption","columnFitted","partialWidth","resultWidth","_getNotTruncatedColumnWidth","_getCommandColumnsWidth","isFormOrPopupEditMode","adaptiveExpandedKey","isEditCell","editRowKey","_getFormItemsByHiddenColumns","hiddenColumns","_getAdaptiveColumnVisibleIndex","_hideAdaptiveColumn","resultWidths","_hideVisibleColumn","isCommandColumn","_showHiddenCellsInView","$cells","cssClassNameToRemove","_showHiddenColumns","viewName","$hiddenCommandCells","$hiddenCells","_isCellValid","hasClass","_hideVisibleColumnInView","$cellElement","editFormRowIndex","getEditFormRowIndex","rowsCount","$rowElements","_getRowElements","currentVisibleIndex","$rowElement","_findCellElementInRow","_hideVisibleCellInView","visibleColumnIndex","$rowCells","cellIsInsideGroup","groupCellLength","cssClassNameToAdd","getEditMode","editMode","hideRedundantColumns","hiddenQueue","hasHiddenColumns","needHideColumn","totalWidth","rootElementWidth","getVisibleContentColumns","visibleContentColumns","contentColumnsCount","visibleColumn","columnBestFitWidth","fixed","getAdaptiveDetailItems","_$itemContents","getItemContentByColumnIndex","$itemContent","alwaysExpanded","createFormByHiddenColumns","userFormOptions","formID","Guid","defaultFormOptions","formOptions","_form","hasAdaptiveDetailRowExpanded","_contentReadyAction","repaint","updateHidingQueue","columnsHasHidingPriority","hideableColumns","_hidingColumnsQueue","hidingPriority","getHiddenColumns","getHidingColumnsQueue","addCommandColumn","adaptiveHidden","fixedPosition","columnsChanged","isAdaptiveVisible","isAdaptiveDetailRowExpanded","expandAdaptiveDetailRow","collapseAdaptiveDetailRow","updateCommandAdaptiveAriaLabel","getRowElement","setCommandAdaptiveAriaLabel","labelName","adaptiveColumns","_adaptiveColumnsController","hidingColumnsQueueLength","hiddenColumnsLength","getDataCellElements","_getColumnIndexByElementCore","getCell","cellPosition","$adaptiveDetailItems","_getCellElement","columnIdentifier","isClickableElement","_pointCreated","cellsLength","currentColumn","nextColumnIndex","_getNextColumnIndex","nextColumn","hasHiddenColumnsOnly","hasAdaptiveHiddenWidth","currentColumnIndex","sourceColumn","_getFormEditItemTemplate","getColumnTemplate","_closeEditItem","$targetElement","$itemContents","_beforeUpdateItems","rowIndices","_adaptiveController","oldExpandRowIndex","getIndexByKey","_isForceRowAdaptiveExpand","_afterInsertRow","isRowEditMode","_collapseAdaptiveDetailRow","_cancelEditAdaptiveDetailRow","_afterSaveEditData","_beforeCancelEditData","_getRowIndicesForCascadeUpdating","_beforeCloseEditCellInBatchMode","expandedKey","_adaptiveExpandedKey","editRow","deleteRow","rowKey","getKeyByRowIndex","resizing","_needBestFit","_correctColumnWidths","adaptiveController","oldHiddenColumns","hidingColumnsQueue","_toggleBestFitMode","isBestFit","_needStretch","_updateScrollableTimeoutID","_processItems","expandRowIndex","newMode","isNewRow","_getRowIndicesForExpand","lastRowIndex","oldExpandLoadedRowIndex","newExpandLoadedRowIndex","oldKey","rowIndexDelta","getRowIndexDelta","updateItems","allowInvisibleRowIndices","editorFactory","_needHideBorder","_getFocusCellSelector","_getRevertTooltipsSelector","_isColumnVisible","isClick","_processNextCellInMasterDetail","isCellOrBatchMode","_isInsideEditForm","_isCellElement","COLUMN_CHOOSER_BUTTON_CLASS","COLUMN_CHOOSER_ICON_NAME","COLUMN_CHOOSER_ITEM_CLASS","processItems","chooserColumns","isSelectMode","allowHiding","disableCheckBox","ownerBand","columnChooserControllerMembers","renderShowColumnChooserButton","$columnChooserButton","columnChooserButtonClass","columnChooserEnabled","$showColumnChooserButton","showColumnChooser","of","ColumnChooserController","columnChooserMembers","_resizeCore","_updateList","$popupContent","_popupContainer","$content","columnChooserList","_columnChooserList","getChooserColumns","setAria","selectItem","unselectItem","$wrapper","_renderTreeView","_initializePopupContainer","columnChooserClass","columnChooserOptions","themeName","isGenericTheme","isGeneric","isMaterialTheme","dxPopupOptions","wrapperAttr","shortcut","treeViewConfig","itemTemplate","rootValue","$checkBox","$treeViewNode","itemElement","checkBoxInstance","scrollableInstance","isBandColumnsUsed","scrollable","_prepareSelectModeConfig","_prepareDragModeConfig","needPartialRender","needFullRender","showInColumnChooser","$node","$nodes","sourceLocation","columnVisible","isParentColumnVisible","isColumnChooserVisible","$overlayContent","getOuterWidth","getOuterHeight","hideColumnChooser","popupContainer","_appendColumnChooserItem","hintText","_getToolbarButtonClass","allowMoveColumn","fromVisibleIndex","toVisibleIndex","targetLocation","CONTENT_CLASS","CONTENT_FIXED_CLASS","FIRST_CELL_CLASS","HOVER_STATE_CLASS","FIXED_COL_CLASS","POINTER_EVENTS_NONE_CLASS","COMMAND_TRANSPARENT","GROUP_ROW_CLASS","getTransparentColumnIndex","fixedColumns","transparentColumnIndex","normalizeColumnWidths","fixedWidths","fixedColumnIndex","baseFixedColumns","_isFixedTableRendering","_isFixedColumns","_createCol","_correctColumnIndicesForFixedColumns","transparentColspan","_partialUpdateFixedTable","fixedTableElement","_fixedTableElement","$rows","_getRowElementsCore","_createColGroup","_partialUpdateFixedRow","groupCellOptions","cellElements","transparentColumn","colIndex","getColumnIndexOffset","_getGroupCellOptions","needUpdateColspan","$fixedTable","getFixedColumns","$table","$fixedDataRows","needPartialUpdate","virtualColumnsScrolling","_renderRows","_renderRow","fixedCorrection","fixedCells","_createCell","prevFixedColumn","columnCommand","isRowAltStyle","isAltRow","isSelectAllCell","mozilla","_getContent","isFixedTableRendering","_wrapTableInScrollContainer","$scrollContainer","isEmptyCell","isGroupCell","groupCellTemplate","alignByFixedColumnCellCount","isFixed","_getCellElementsCore","headerRowIndex","fixedCellElements","fixedColumn","getVisibleIndexByColumn","setTableElement","tableElement","$tableElement","getRowIndex","getTableElements","getFixedColumnsOffset","$transparentColumn","positionTransparentColumn","getTransparentColumnElement","getFixedTableElement","isFixedColumns","synchronizeRows","setColumnWidths","isColumnWidthsSynced","isColumnWidthChanged","isScrollbarVisible","setFixedTableColumnWidths","$cols","normalizeWidth","_getClientHeight","boundingClientRectElement","$fixedRowElements","$contentElement","rowHeights","fixedRowHeights","_tableElement","heightTable","heightFixedTable","_findContentElement","rowHeight","fixedRowHeight","setScrollerSpacing","fix","unfix","leftPosition","rightPosition","_getRowVisibleColumns","columnFixingOptions","allowFixing","getFixedColumnElements","columnElements","$transparentColumnElement","$fixedColumnElements","_getWidths","_detachHoverEvents","_attachHoverEvents","isHover","_getScrollDelay","hasResizeTimeout","contentClass","getScrollable","scrollDelay","_fixedScrollTimeout","wheelEventName","$nearestScrollable","shouldScroll","nearestScrollableInstance","Scrollable","getInstance","nearestScrollableHasVerticalScrollbar","scrollableTop","scrollableHeight","getScrollbarWidth","_updateScrollable","_disposed","scrollOffset","_updateFixedTablePosition","contentElement","_renderGroupedCells","startColumnIndex","setRowsOpacity","_setRowsOpacityCore","getCellIndex","needFocus","$focusedElement","vWidth","hWidth","$fixedContent","_scrollable","_getElasticScrollTop","elasticScrollTop","reachedBottom","$scrollableContent","$scrollableContainer","maxScrollTop","_applyElasticScrolling","_handleScroll","_updateContentPosition","isRender","_scrollTop","_afterRowPrepared","_scrollToElement","_generatePointsByColumns","targetDraggingPanel","pointsByColumns","correctIndex","targetColumn","_columnHeadersView","boundingRect","_pointsByFixedColumns","getPointsByColumns","_getTargetPoint","currentX","CELL_CONTENT_CLASS","HEADER_ROW_CLASS","VISIBILITY_HIDDEN_CLASS","TEXT_CONTENT_ALIGNMENT_CLASS_PREFIX","createCellContent","$cellContent","addCssClassesToCellContent","contentAlignment","getHeaderContentAlignment","$indicatorElements","_getIndicatorElements","$visibleIndicatorElements","indicatorCount","columnAlignment","_getColumnAlignment","sortIndicatorClassName","_getIndicatorClassName","sortIndexIndicatorClassName","$sortIndicator","$sortIndexIndicator","members","_isLegacyKeyboardNavigation","_getDefaultTemplate","_getHeaderTemplate","headerCellTemplate","allowRenderToDetachedContainer","_processTemplate","resultTemplate","renderingTemplate","_isGroupingChanged","_setCellAriaAttributes","headerId","_lastActionElement","headerFilterController","$column","getColumnIndexByElement","_processHeaderAction","_hasRowElements","groupExpanding","resizeCompleted","_isElementVisible","elementOptions","_alignCaptionByCenter","$indicatorsContainer","_getIndicatorContainer","_updateCell","_updateIndicator","indicatorName","$indicatorElement","returnAll","_isSortableElement","getHeadersRowHeight","$headerRows","headerRow","getHeaderElement","bandColumnIndex","getCellElements","getVisibleColumnIndex","$columnElements","draggingPanels","draggableColumnCount","canHideColumn","allowDrag","isColumnOptionUsed","draggingPanel","getColumnCount","sortingOptions","changeSortOrder","ascendingText","descendingText","clearText","columnID","setColumnOpacity","COLUMN_INDICATORS_CLASS","_applyColumnState","isGroupPanelItem","rootElement","_createIndicatorContainer","$span","indicatorAlignment","indicator","_renderIndicator","ignoreIndicatorAlignment","$indicatorContainer","$indicator","_updateIndicators","rowOptions","USER_STATE_FIELD_NAMES_15_1","USER_STATE_FIELD_NAMES","IGNORE_COLUMN_OPTION_NAMES","bufferedFilterValue","GROUP_COMMAND_COLUMN_NAME","COLUMN_OPTION_REGEXP","DEFAULT_COLUMN_OPTIONS","DATATYPE_OPERATIONS","COLUMN_INDEX_OPTIONS","GROUP_LOCATION","COLUMN_CHOOSER_LOCATION","setFilterOperationsAsDefaultValues","filterOperations","defaultFilterOperations","globalColumnId","createColumn","columnOptions","userStateColumnOptions","bandColumn","commonColumnOptions","setName","deepExtendArraySafe","getCommonSettings","calculatedColumnOptions","_createCalculatedColumnOptions","createColumnsFromOptions","columnsOptions","_columnsUserState","checkUserStateColumn","hasColumns","getParentBandColumns","columnParentByIndex","columnChildrenByIndex","recursive","calculateColspan","getValueDataType","getSerializationFormat","dateSerialization","getDateSerializationFormat","updateSerializers","isDateType","deserializeDate","serializeValue","serializeDate","serializationFormat","parsedValue","customizeTextForBooleanDataType","trueText","falseText","valueText","updateColumnIndexes","_columns","_commandColumns","updateColumnGroupIndexes","normalizeIndexes","getColumnIndexByVisibleIndex","userStateColumn","applyUserState","userStateColumnIndex","columnsUserState","ignoreColumnOptionNames","_ignoreColumnOptionNames","columnCountById","resultColumns","allColumnsHaveState","userStateColumnIndexes","applyFieldsState","fieldName","findUserStateColumn","_hasUserState","initialIndex","hasAddedBands","columnUserState","assignColumns","updateIndexes","isSortOrderValid","updateColumnSortIndexes","resetBandColumnsCache","bandColumnsCache","getBandColumnsCache","bandedColumns","updateColumnVisibleIndexes","resetColumnsCache","_previousColumns","updateColumnDataTypes","updateColumnChanges","columnChanges","_columnChanges","fireColumnsChanged","onColumnsChanging","isInitialized","_reinitAfterLookupChanges","reinit","columnOptionCore","notFireEvent","initialColumn","optionGetter","functionsAsIs","prevValue","prevGroupIndex","lastSortOrder","sortMode","updateSortOrderWhenGrouping","optionSetter","compileSetter","fullOptionName","callbackFilter","isPlain","getColumnFullPath","_checkColumns","getColumnByPath","fullOptionPath","_skipProcessingColumnsChange","_notifyOptionChanged","fireOptionChanged","defaultSetCellValue","dotCount","getDataColumns","bandColumnID","isCustomCommandColumn","commandColumn","getFixedPosition","processExpandColumns","expandColumns","customColumnIndex","expandColumnsByType","expandColumn","numberToString","digitsCount","mergeColumns","commandColumns","needToExtend","commandColumnIndex","isColumnFixing","_isColumnFixing","defaultCommandColumns","getCommandColumnIndex","columnType","isColumnFixed","_bandColumnsCache","findColumn","identifierOptionName","ColumnsController","Controller","allowResizing","_getFirstItems","getFirstItemsCore","childItems","_endUpdateCore","isApplyingUserState","_isColumnsFromOptions","addExpandColumn","_dataSourceApplied","applyDataSource","columnIndexes","getColumnByIndexes","needUpdateRequireResize","previousValue","_updateRequireResize","columnOptionValue","columnOptionName","_requireResize","forceApplying","isDataSourceLoaded","_dataSourceColumnsCount","columnsFromDataSource","firstItems","processedFields","variableWrapper","isWrapped","createColumnsFromDataSource","updateColumns","isAllDataTypesDefined","_visibleColumns","_fixedColumns","_rowCount","getUserState","isDataSourceApplied","groupingOptions","autoExpandGroup","checkSerializers","defaultCalculateCellValue","_shouldReturnVisibleColumns","_compileVisibleColumns","_compileVisibleColumnsCore","isBase","_getFixedColumnsCore","getFilteringColumns","allowHeaderFiltering","notFixedColumnCount","lastFixedPosition","newColumn","_getExpandColumnsCore","getExpandColumns","firstGroupColumn","isFixedFirstGroupColumn","_isColumnInGroupPanel","isInGroupPanel","processBandColumns","indexedColumns","_getIndexedColumns","_getVisibleColumnsFromIndexed","columnDigitsCount","positiveIndexedColumns","negativeIndexedColumns","_c","_d","parentBandColumns","isDefaultCommandColumn","isFixedToEnd","rowspanGroupColumns","rowspanExpandColumns","_loop","orderEach","firstPositiveIndexColumn","columnsByFixing","columnsByVisibleIndex","getInvisibleColumns","hiddenColumnsByBand","getAllColumns","sortColumns","sign","column1","column2","caption1","caption2","localeCompare","moveColumn","targetGroupIndex","toIndex","moveColumnToGroup","sortingMode","needResetSorting","getSortDataSourceParameters","useLocalSelector","sortItem","calculateSortValue","displayField","sortingMethod","calculateGroupValue","updateNewLookupsOnly","valueMap","_updateColumnOptions","originalCallback","calculateCallbackName","calculateCallback","displayValueMap","isRTL","getAlignmentByDataType","defaultFilterOperation","isColumnDataTypesUpdated","lookupDataType","valueDataType","_customizeColumns","updateSortingGrouping","sortParameters","groupParameters","filterParameters","_updateChanges","equalSortParameters","equalFilterParameters","getCombinedFilter","fromDataSource","isColumnsChanged","updateSortGroupParameterIndexes","indexParameterName","columnsGroupParameters","columnsSortParameters","groupingChanged","groupExpandingChanged","updateFilter","forceIsoDateParsing","selectedFilterOperation","clearSorting","addColumn","childIndexes","handleStateField","setUserState","isFilterPanelHidden","usedNames","hasEditableColumnWithoutName","duplicatedNames","isEditable","setCellValue","captionize","skipDeserialization","parseValue","numberLocalization","formattedValue","formattedValueWithDefaultFormat","strictParseNumber","dateLocalization","calculateFilterExpression","filterUtils","defaultCalculateFilterExpression","createFilterExpression","userDataType","updateValueMap","calculateValue","Store","dataSourceOptions","normalizeDataSourceOptions","paginate","resizedCallbacks","Callbacks","resized","invisibleParents","alwaysGetRowIndex","onlyVisibleDirectChildren","isParentBandColumn","bandColumns","adaptColumnWidthByRatio","regenerateColumnsByVisibleItems","COLUMNS_SEPARATOR_TRANSPARENT","DRAGGING_HEADER_CLASS","HEADERS_DRAG_ACTION_CLASS","TRACKER_CLASS","HEADERS_DROP_HIGHLIGHT_CLASS","BLOCK_SEPARATOR_CLASS","MODULE_NAMESPACE","TrackerView","_unsubscribeFromCallback","_positionChanged","_tablePositionController","positionChanged","_subscribeToCallback","SeparatorView","_renderSeparator","_isShown","DraggingHeaderView","isDragging","_isDragging","_getDraggingPanelByPos","_dragOptions","_resetTargetColumnOptions","_dropOptions","targetColumnIndex","targetColumnElement","isLast","posX","posY","_getVisibleIndexObject","_controller","_columnsResizerViewController","loadingChanged","dragHeader","columnElement","sourceIndex","sourceColumnIndex","sourceColumnElement","domAdapter","getDocument","_onSelectStart","onselectstart","drag","swatchContainer","getSwatchContainer","moveHeader","eventData","getEventData","isResizing","dragOptions","moveDeltaX","moveDeltaY","newLeft","newTop","dockHeader","controller","isVerticalOrientation","axisName","pointsByTarget","centerPosition","dock","dropHeader","drop","_parentElement","isNextColumnResizingMode","ColumnsResizerViewController","_isHeadersRowArea","headersRowHeight","_isRtlParentStyle","_$parentContainer","isNextColumnMode","isRtlParentStyle","firstPointColumnIndex","_moveSeparator","columnsSeparatorWidth","_columnsSeparatorView","parentOffset","parentOffsetLeft","_draggingHeaderView","_isResizing","_resizingInfo","_updateColumnsWidthIfNeeded","outerWidth","moveByX","_targetPoint","_previousParentOffset","_isReadyResizing","changeCursor","_endResizing","_trackerView","_setupResizingInfo","currentHeader","nextHeader","startPosX","currentColumnWidth","nextColumnWidth","_startResizing","_scrollRight","loseFocus","_pointsByColumns","_unsubscribeFromEvents","_moveSeparatorHandler","_startResizingHandler","_endResizingHandler","_subscribeToEvents","needUpdate","contentWidth","resizingInfo","isPercentWidth","setColumnWidth","oldColumnWidth","nextCellWidth","nextMinWidth","needCorrectionNextCellWidth","allColumnsHaveWidth","totalPercent","lastColumnIndex","getLastResizableColumnIndex","_subscribesToCallbacks","_unsubscribeFromCallbacks","subscribe","_unsubscribes","generatePointsByColumnsHandler","generatePointsByColumnsScrollHandler","_scrollLeft","scrollChanged","previousScrollbarVisibility","previousTableHeight","scrollbarVisibility","updateFreeSpaceRowHeight","TablePositionViewController","diffOffsetTop","columnsHeadersHeight","rowsHeight","columnsResizerController","_pagerView","targetPoint","DraggingHeaderViewController","isCustomGroupColumnPosition","checkIsCustomGroupColumnPosition","wasOnlyCommandColumns","isColumnAfterExpandColumn","isFirstExpandColumn","sourceColumnReorderingDisabled","otherColumnReorderingDisabled","nameDraggingPanel","subscribeToEvents","$columnElement","dragEventStart","currentTarget","dragEventMove","dragEventEnd","_getSeparator","_blockSeparatorView","hideSeparators","blockSeparator","columnsSeparator","_animationColumnIndex","_headerPanelView","_columnChooserView","allowDrop","separator","hasTargetVisibleIndex","_isTransparent","columnsSeparatorTransparent","outerX","cursorName","blockSeparatorView","$parent","startAnimate","toOptions","fx","stop","animate","_needUpdateRowHeight","renderFocusOverlay","VIEW_NAMES","dxEvent","$targetRowElement","$targetCellElement","getPublicElement","_contextMenuPrepared","contextMenuView","actionArgs","contextMenuInstance","getWidgetContainerClass","changePaging","_getPagingOptionValue","_skipProcessingPagingChange","_isPaging","pageChanged","ControllerWithDataMixin","DataHelperMixin","_cachedProcessedItems","_currentOperationTypes","_dataChangedHandler","_columnsChangedHandler","_handleColumnsChanged","_loadingChangedHandler","_handleLoadingChanged","_loadErrorHandler","_handleLoadError","_customizeStoreLoadOptionsHandler","_handleCustomizeStoreLoadOptions","_changingHandler","_handleChanging","_dataPushedHandler","_handleDataPushed","_isCustomLoading","_repaintChangesOnly","_changes","dataErrorOccurred","_refreshDataSource","callbackFlags","stopOnFalse","_handleDataSourceChange","_array","needToRefreshOnDataSourceChange","changedPagingOptions","_setPagingOptions","isPageIndexChanged","_useSortingGroupingFromColumns","getDataSource","returnDataField","combinedFilter","additionalFilter","_calculateAdditionalFilter","isRemoteFiltering","waitReady","_readyDeferred","_columnsUpdating","filterValues","filterApplied","filterType","_applyFilter","_needApplyFilter","updateItemsHandler","isAsyncDataSourceApplying","_isDataSourceApplying","isDelayed","needApplyFilter","_isAllDataTypesDefined","_fireLoadingChanged","pushed","fireError","pagingEnabled","appendMode","isPaginateChanged","isPageSizeChanged","_initDataSource","oldDataSource","_loadDataSource","getDataIndex","visibleItems","lastVisibleItem","_generateDataItem","_processDataItem","keyOf","dataItem","generateDataValues","_applyChange","_applyChangeUpdate","_applyChangesOnly","_applyChangeFull","_getRowIndices","correctedRowIndex","prevIndex","rowIndexCorrection","equalItems","item1","item2","strict","oldNextItem","newItem","newNextItem","isFullUpdate","_partialUpdateRow","_isCellChanged","oldRow","newRow","visibleRowIndex","isLiveUpdate","isCellModified","_getChangedColumnIndices","changedColumnIndices","oldValues","_isItemEquals","expandedMatch","summaryCellsMatch","continuationMatch","newIndexByKey","getRowKey","currentItems","oldItems","findChanges","_correctRowIndices","oldRowIndexOffset","_rowIndexOffset","rowIndexOffset","getRowIndexOffset","newVisibleRowIndex","_afterProcessItems","cachedProcessedItems","useProcessedItemsCache","loadIndex","isDataChanged","needUpdateDimensions","_needUpdateDimensions","_fireChanged","loadingOperationTypes","_loadingText","_isFilterApplying","resetFilterApplying","filterExpr","clearFilter","filterName","clearColumnOption","searchByText","_fireDataSourceChanged","changedHandler","dataSourceChanged","isLocalStore","ArrayStore","isCustomStore","CustomStore","_createDataSourceAdapter","enabledRemoteOperations","cancelAll","loadError","customizeStoreLoadOptions","changing","_isSharedDataSource","byLoaded","pageCount","byKey","byLoadedRows","getDataByKeys","rowKeys","keyData","beginCustomLoading","messageText","endCustomLoading","customizeLoadResult","_disposeDataSource","repaintRows","rowIndexes","skipProcessingPagingChange","searchText","getCachedStoreData","isLastPageLoaded","hasKnownLastPage","cloneItems","calculateOperationTypes","isFullReload","fullReload","getPageDataFromCache","updatePaging","fillItemsFromCache","cacheItemsFromBegin","cacheItemBeginCount","cacheItemsFromEnd","cacheItemEndCount","cachedDataPartBegin","cachedDataPartEnd","fromEnd","_e","cachedItems","localIndex","cacheItemIndex","cacheItem","getItemFromCache","getGroupItemFromCache","getCacheItem","loadedItem","globalIndex","childSkips","_remoteOperations","_isLastPage","isLastPage","_hasLastPage","_currentTotalCount","_cachedData","_lastOperationTypes","_isLoadingAll","_dataLoadedHandler","_pushHandler","_handlePush","memberName","member","isSharedDataSource","resetCurrentTotalCount","_cachedStoreData","_cachedPagingData","_needClearStoreDataCache","operationName","fromStore","applyBatch","keyInfo","_applyBatch","getDataIndexGetter","_dataIndexGetter","indexByKey","storeData","isCacheUpdated","getKeyHash","_getKeyInfo","_needToCopyDataObject","isReshapeMode","isVirtualMode","getItemCount","oldItemCount","useInsertIndex","skipCopying","_needCleanCacheByOperation","operationType","operationTypesByOrder","operationTypeIndex","cachedStoreData","cachedPagingData","originalStoreLoadOptions","_isRefreshing","isRefreshing","_loadingOperationTypes","_isRefreshed","_lastOperationId","operationId","_handleDataLoadingCore","localLoadOptionNames","localPaging","needCache","needPageCache","needPagingCache","needStoreCache","mergeStoreLoadData","cacheItems","_loadPageSize","currentTotalCount","isDataLoading","_operationTypes","_optionCache","_scheduleCustomLoadCallbacks","_dataSourceTotalCount","dataSourceLoadOptions","_customLoadOptions","_scheduleLoadCallbacks","executeAsync","full","EDITOR_CELL_CLASS","ROW_CLASS","CELL_MODIFIED_CLASS","ROW_SELECTED_CLASS","EDIT_FORM_CLASS","DATA_EDIT_DATA_INSERT_TYPE","DATA_EDIT_DATA_REMOVE_TYPE","EDITING_POPUP_OPTION_NAME","EDITING_FORM_OPTION_NAME","EDITING_EDITROWKEY_OPTION_NAME","EDITING_EDITCOLUMNNAME_OPTION_NAME","TARGET_COMPONENT_NAME","EDITORS_INPUT_SELECTOR","FOCUSABLE_ELEMENT_SELECTOR","EDIT_MODE_BATCH","EDIT_MODE_CELL","EDIT_MODE_FORM","EDIT_MODE_POPUP","FIRST_NEW_ROW_POSITION","LAST_NEW_ROW_POSITION","PAGE_BOTTOM_NEW_ROW_POSITION","PAGE_TOP_NEW_ROW_POSITION","VIEWPORT_BOTTOM_NEW_ROW_POSITION","VIEWPORT_TOP_NEW_ROW_POSITION","EDIT_MODES","ROW_BASED_MODES","REQUIRED_EDITOR_LABELLEDBY_MODES","MODES_WITH_DELAYED_FOCUS","READONLY_CLASS","LINK_CLASS","LINK_ICON_CLASS","ROW_SELECTED","EDIT_BUTTON_CLASS","COMMAND_EDIT_CLASS","COMMAND_EDIT_WITH_ICONS_CLASS","INSERT_INDEX","ROW_INSERTED","ROW_MODIFIED","CELL_MODIFIED","EDITING_NAMESPACE","CELL_FOCUS_DISABLED_CLASS","DATA_EDIT_DATA_UPDATE_TYPE","DEFAULT_START_EDIT_ACTION","EDIT_LINK_CLASS","edit","undelete","EDIT_ICON_CLASS","METHOD_NAMES","ACTION_OPTION_NAMES","BUTTON_NAMES","EDITING_CHANGES_OPTION_NAME","FOCUS_OVERLAY_CLASS","ADD_ROW_BUTTON_CLASS","DROPDOWN_EDITOR_OVERLAY_CLASS","DATA_ROW_CLASS","ROW_REMOVED","isRenovatedScrollable","IS_RENOVATED_WIDGET","EDIT_FORM_ITEM_CLASS","EDIT_POPUP_CLASS","EDIT_POPUP_FORM_CLASS","FOCUSABLE_ELEMENT_CLASS","BUTTON_CLASS","FORM_BUTTONS_CONTAINER_CLASS","EDIT_ROW","EditingControllerImpl","_lastOperation","_deferreds","_saveEditorHandler","_updateEditColumn","_internalState","_optionsByReference","_getDefaultEditorTemplate","$editor","editorOptions","parentType","isOnForm","createEditor","_getNewRowPosition","newRowPosition","getInsertRowCount","resetChanges","_silentOption","_getInternalData","_addInternalData","internalData","_getOldData","oldData","editIndex","createObjectWithChanges","_fireDataErrorOccurred","getPopupContent","_needToCloseEditableCell","_isDefaultButtonVisible","allowDeleting","_isButtonVisible","_isButtonDisabled","_getButtonConfig","buttonName","getButtonName","getEditingTexts","methodName","editingOptions","actionName","allowAction","_getEditingButtons","buttonIndex","haveCustomButtons","getButtonIndex","_renderEditingButtons","_createButton","_getEditCommandCellTemplate","isRowBasedEditMode","getFirstEditableColumnIndex","getFirstEditableCellInRow","getFocusedCellInRow","_inputFocusTimeoutID","_pointerUpEditorHandler","_pointerDownEditorHandler","_handleEditRowKeyChange","_handleChangesChange","_resetEditColumnName","_resetEditRowKey","oldRowIndexCorrection","_getEditRowIndexCorrection","oldRowIndex","_editRowFromOptionChanged","_addInsertInfo","isOptionChanged","_pageIndex","_refreshCore","isEditRow","_setEditRowKey","silent","_refocusEditCell","_focusEditingCell","_setEditRowKeyByIndex","getEditRowIndex","_getVisibleEditRowIndex","isEditRowByIndex","isKeyEqual","_getVisibleEditColumnIndex","_getInsertRowIndex","isProcessedItems","_getInsertAfterOrBeforeKey","isProcessedItem","nextItem","insertAfterKey","_generateNewItem","insertInfo","_getLoadedRowIndex","loadedRowIndex","insertAfterOrBeforeKey","processDataItem","_processDataItemCore","_initNewRow","fromPromise","createFailureHandler","_createInsertInfo","_getInsertIndex","parentKey","getChangeKeyValue","_setInsertAfterOrBeforeKey","generateNewRowTempKey","allItems","itemIndex","visibleItemIndex","getBottomVisibleItemIndex","getTopVisibleItemIndex","insertKey","insertBeforeKey","maxInsertIndex","editItem","insertChange","_getPageIndexToInsertRow","lastPageIndex","addRow","_addRow","param","oldEditRowIndex","allowCancelEditing","_allowRowAdding","__KEY__","_addRowCore","_navigateToNewRow","initialOldEditRowIndex","editRowIndex","focusController","pageIndexToInsertRow","navigateToRowByKey","navigateToRow","_showAddedRow","_focusFirstEditableCellInRow","_beforeFocusElementInRow","keyboardController","$firstCell","_editCellInProgress","_delayedInputFocus","_isEditingStart","editColumnName","_setEditColumnNameByIndex","_setEditColumnName","_getEditColumn","_getColumnByName","editColumn","columnName","_resetEditIndices","_editRowFromOptionChangedCore","preventRendering","_needFocusEditor","_focusEditorIfNeed","_showEditPopup","repaintForm","_repaintEditPopup","_getEditPopupHiddenHandler","_getPopupEditFormTemplate","_getSaveButtonConfig","saveEditData","_getCancelButtonConfig","_removeInternalData","_updateInsertAfterOrBeforeKeys","removeChange","executeOperation","waitForDeferredOperations","_processCanceledEditingCell","_repaintEditCell","oldColumn","beforeFocusCallback","callBeforeFocusCallbackAlways","inputFocus","$focusableElement","focusAndSelectElement","_beforeFocusCallback","real","ios","android","$editCell","editColumnIndex","_checkAndDeleteRow","confirmDelete","confirmDeleteMessage","confirmDeleteTitle","showDialogTitle","confirm","confirmResult","_deleteRowCore","_afterDeleteRow","undeleteRow","_fireOnSaving","onSavingParams","_executeEditingAction","_processChanges","dataChanges","changeCopy","_beforeSaveEditData","newData","doneDeferred","_processRemoveIfError","_processRemove","_processRemoveCore","processIfBatch","_processSaveEditDataResult","hasSavedData","changesLength","_fireSaveEditDataEvents","_resolveAfterSave","_saving","_saveEditDataInner","_endSaving","_cancelSaving","_beforeEndSaving","_refreshDataAfterSave","refreshMode","isFullRefresh","isEditColumnVisible","_isEditColumnVisible","_isEditButtonDisabled","isButtonDisabled","_applyModified","_cancelEditDataCore","_afterCancelEditData","_hideEditPopup","hasEditData","isPageChanged","skipCurrentRow","addDeferred","_prepareChange","_updateRowValues","updateFieldValue","forceUpdateRow","_focusPreviousEditingCellIfNeed","_updateEditRow","_needUpdateRow","isCustomSetCellValue","isCustomCalculateCellValue","changeOptions","_applyChangeCore","_updateEditRowCore","_updateRowImmediately","_updateRowWithDelay","_validateEditFormAfterUpdate","elementContainer","_editForm","getActiveElement","focusedElement","selectionRange","getSelectionRange","$focusedItem","selectionStart","setSelectionRange","changeParams","editCellTemplate","editingStartOptions","isRowMode","isRowEditing","isCellEditing","getEditFormTemplate","allowUpdating","useLegacyColumnButtonTemplate","$button","iconType","iconUtils","localizationName","getButtonLocalizationNames","prepareButtonItem","titleButtonTextByClassNames","revert","cancelAllChanges","saveAllChanges","prepareEditButtons","buttonItems","allowAdding","highlightDataCell","shouldHighlightCell","_allowEditAction","allowEditAction","startEditAction","modifiedValue","isNewRowInEditMode","visibleEditRowIndex","_isRowDeleteAllowed","selectTextOnEditStart","saveRowChanges","cancelRowChanges","_updateEditItem","dataSourceKeys","newChanges","$cellElements","cellElement","isRowRemoved","isRowInserted","isRowModified","_getColumnIndexByElement","$tableElements","_editCellByClick","isEditedCell","isShowEditorAlways","resetActiveElement","editCell","_pointerDownTarget","withoutSaveEditData","closeEditCell","_rowPointerDown","_pointerDownTimeout","isEditForm","rowElement","_rowDblClick","isCommandCell","isEditableCell","isEditingCell","isEditingOrShowEditorAlwaysDataCell","_editCellPrepared","_formItemPrepared","cellValue","getCellOptions","excludedOptions","$pointerDownTarget","needCreateHandlers","targetComponent","isEditorPopup","checkEditorPopup","isAnotherComponent","isAddRowButton","isFocusOverlay","isCellEditMode","$dropDownEditorOverlay","$componentElement","isBatchEditMode","$targetCell","isEditRowKeyDefined","isEditColumnNameDefined","_handleEditColumnNameChange","oldColumnIndex","_editCellFromOptionChanged","_editCell","coreResult","_editCellCore","isEditByOptionChanged","_getNormalizedEditCellOptions","_beforeEditCell","_prepareEditCell","isError","_closeEditCellCore","_resetModifiedClassCells","needResetIndexes","isBatchMode","isUpdateInCellMode","holdEvent","_updateEditFormDeferred","isPopupEditMode","isFormEditMode","firstFormItem","_firstFormItem","$editFormElements","_getEditFormEditorVisibleIndex","hasEditRow","onlyInsertChanges","popupVisible","_editPopup","_$popupContent","editForm","renderDelayedTemplates","isMobileDevice","editPopupClass","popupOptions","contentTemplate","$popupContainer","_addWatchMethod","formTemplate","isPopupForm","localize","defaultAnimation","_handleFormOptionChange","_handlePopupOptionChange","editPopup","popupOptionName","detailCellOptions","formTemplateOptions","isReadOnly","editorType","getEditorType","labelMark","getItemID","getFormEditorTemplate","$editorElement","validatorOptions","dxValidator","dataGetter","getEditFormOptions","detailOptions","editFormOptions","_getValidationGroupsInForm","userCustomizeItem","editFormItemClass","isCustomEditorType","forEachFormItems","itemId","itemVisible","baseEditFormOptions","$formContainer","$buttonsContainer","getEditForm","_getVisibleColumnIndex","_isFormItem","isDetailRow","isPopupEditing","oldEditForm","newEditForm","hasUpdateChanges","isVisibleInRowEditMode","$editingCell","_update","NEW_ROW_TEMP_KEY_PREFIX","isEditorCell","addRowToNode","isNewRowTempKey","tabs","FOCUSED_ELEMENT_CLASS","UPDATE_FOCUS_EVENTS","DX_HIDDEN","ViewControllerWithMixin","EditorFactoryMixin","_getFocusedElement","$dataGridElement","rowSelector","focusedElementSelector","elementIsInsideGrid","_updateFocusCore","$focus","isHideBorder","$focusCell","_updateFocus","_isFocusOverlay","_updateFocusTimeoutID","_updateFocusOverlaySize","positionUtils","oversize","setOuterWidth","setOuterHeight","_$focusedElement","_focusTimeoutID","refocus","isElementInCurrentGrid","_$focusOverlay","elemCoord","focusOverlayPosition","precise","boundary","_updateFocusHandler","_subscribedContainerRoot","_getContainerRoot","_attachContainerEventHandlers","DOCUMENT_FRAGMENT_NODE","host","ERROR_ROW_CLASS","ERROR_MESSAGE_CLASS","errorHandling","_createErrorRow","$errorRow","$closeButton","$errorMessage","_renderErrorMessage","errorRowIndex","removeErrorRow","fireContentReadyAction","$message","renderErrorRow","$errorMessageElement","$firstErrorRow","viewElement","insertAfter","$tbody","rowElements","resizingController","$columnHeaders","$rowsViewElement","errorHandlingController","and","notAnd","notOr","notEqual","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","notContains","isNotBlank","filterBuilderView","_updatePopupOptions","_initPopup","_filterBuilderPopup","_disposePopup","_filterBuilder","_getPopupContentTemplate","_getPopupToolbarItems","$filterBuilderContainer","getCustomFilterOperations","FILTER_PANEL_CLASS","FILTER_PANEL_TEXT_CLASS","FILTER_PANEL_CHECKBOX_CLASS","FILTER_PANEL_CLEAR_FILTER_CLASS","FILTER_PANEL_LEFT_CONTAINER","filterEnabled","createFilter","filterEnabledHint","filterPanelView","$leftContainer","_renderFilterBuilderText","$filterElement","_getFilterElement","$textElement","_getTextElement","_filterValueBuffer","$checkElement","_getCheckElement","$removeButtonElement","_getRemoveButtonElement","_showFilterBuilder","_addTabIndexToElement","filterText","getFilterText","customText","clearFilterValue","tabindex","_getConditionText","fieldText","operationText","_getValueMaskedText","_getValueText","hasCustomOperation","getCurrentLookupValueText","gridUtils","getCurrentValueText","getConditionText","getCustomOperation","getField","getCaptionByOperation","getGroupText","isInnerGroup","textParts","groupValue","getGroupValue","isCondition","isGroup","groupText","OPERATION_ICONS","notcontains","startswith","endswith","OPERATION_DESCRIPTORS","FILTER_ROW_CLASS","FILTER_RANGE_OVERLAY_CLASS","FILTER_RANGE_START_CLASS","MENU_CLASS","EDITOR_WITH_MENU_CLASS","EDITOR_CONTAINER_CLASS","HIGHLIGHT_OUTLINE_CLASS","FOCUSED_CLASS","FILTER_RANGE_CONTENT_CLASS","FILTER_MODIFIED_CLASS","BETWEEN_OPERATION_DATA_TYPES","ARIA_SEARCH_BOX","isOnClickApplyFilterMode","getEditorInstance","$editorContainer","componentNames","ColumnHeadersViewFilterRowExtender","getRangeTextByFilterValue","rangeEnd","getColumnFilterValue","formatOptions","getFormatOptionsByColumn","getColumnSelectedFilterOperation","bufferedSelectedFilterOperation","getFilterValue","isFilterRange","isRangeStart","_updateEditorValue","$editorRangeElements","$menu","overlayInstance","_updateFilterRangeContent","_updateFilterOperationChooser","_renderFilterRangeContent","_renderEditor","_getEditorOptions","_hideFilterRange","_filterRangeOverlayInstance","isFilterRowVisible","_applyFilterViewController","_initFilterRangeOverlay","sharedData","filterRangeOverlayClass","$overlay","Overlay","$prevElement","_updateFilterRangeOverlay","_showFilterRange","getFilterRangeOverlayInstance","selectView","_renderFilterCell","_renderFilterOperationChooser","accessibilityOptions","inputAttr","_getFilterInputAccessibilityAttributes","showAllText","updateValueTimeout","setHighLight","normalizedValue","columnFilterValue","isBetween","updateFilterValue","columnAriaLabel","editorController","filterRowController","setCurrentColumnForFiltering","lookupDataSource","getWrappedLookupDataSource","lookupOptions","$filterRangeContent","isCellWasFocused","menu","_focusEditor","selectable","_getFilterOperationMenuItems","columnSelectedFilterOperation","notFocusEditor","isOnClickMode","_isEditorFocused","_hideSubmenuAfterTimeout","prependTo","filterRowOptions","availableFilterOperations","descriptionName","resetOperationText","_f","updateLookupDataSource","filterChanged","applyFilterViewController","editorDataSource","__dataGridSourceFilter","DataControllerFilterRowExtender","skipCalculateColumnFilters","filters","shouldSkip","getCurrentColumnForFiltering","showOperationChooser","applyFilterText","betweenStartText","betweenEndText","_getHeaderPanel","_headerPanel","enableApplyButton","removeHighLights","columnHeadersViewElement","_currentColumn","_needUpdateLookupDataSource","_prepareFilterItem","filterItem","_isShowApplyFilterButton","baseOperation","getFullText","itemText","parentText","dataTypes","filterExpression","getFilterExpression","_filterExpression","editorTemplate","conditionInfo","div","renderValueText","showHeaderFilterMenuBase","hideHeaderFilterMenu","closeEditor","isFilterBuilder","fieldInfo","itemsDeferred","_values","getSelectedItemsTexts","selectedItemsTexts","getHeaderItemText","noneOf","baseFilter","FILTER_ROW_OPERATIONS","FILTER_TYPES_INCLUDE","FILTER_TYPES_EXCLUDE","getColumnIdentifier","filterSync","getEmptyFilterValues","canSyncHeaderFilterWithFilterRow","getGroupInterval","getConditionFromFilterRow","getDefaultOperation","getConditionFromHeaderFilter","selectedOperation","updateHeaderFilterCondition","headerFilterCondition","hasArrayValue","updateFilterRowCondition","condition","syncFilterValue","_skipSyncColumnOptions","filterConditions","getMatchedConditions","filterCondition","_initSync","checkForErrors","filteringColumns","getFilterValueFromColumns","isFilterSyncActive","_getSyncFilterRow","syncFilters","removeFieldConditionsFromFilter","_getSyncHeaderFilter","addItem","getNormalizedFilter","syncFilterRow","syncHeaderFilter","filterBuilderCustomOperations","filterSyncEnabledValue","filterSyncController","currentColumnForHeaderFilter","getCurrentColumn","currentColumnForFilterRow","calculatedFilterValue","_parseColumnPropertyName","matched","_isHeaderFilterEmpty","filterHasField","_needUpdateFilterIndicators","_updateHeaderFilterIndicators","UiGridCoreFocusUtils","getSortFilterValue","sortInfo","getSelector","rawValue","safeValue","isDate","ROW_FOCUSED_CLASS","FOCUSED_ROW_SELECTOR","_keyboardController","_focusRowByIndex","_fireFocusedRowChanged","_focusRowByKey","isAutoNavigateToFocusedRow","_resetFocusedRow","_focusRowByIndexCore","setKeyByIndex","_isValidFocusedRowIndex","lastItemIndex","_getLastItemIndex","isRowFocused","_isLocalRowIndex","_isVirtualScrolling","virtualItems","virtualItemsCount","virtualItemsBegin","visibleRowsCount","visiblePagesCount","_setFocusedRowKeyByIndex","_navigateToRow","isFocusedRowKeyDefined","setFocusedRowIndex","needFocusRow","isAutoNavigate","rowIndexByKey","getFocusedRowIndexByKey","_navigateTo","getPageIndexByKey","isVirtualRowRenderingMode","isVirtualRowRendering","_navigateToVirtualRow","_navigateToVisibleRow","_triggerUpdateFocusedRow","scrollToRowElement","rowsScrollController","_rowsScrollController","getItemOffset","triggerUpdateFocusedRow","scrollTopPosition","_focusRowByKeyOrIndex","currentFocusedRowIndex","updateFocusedRow","$mainRow","isMainTable","_clearPreviousFocusedRow","_prepareFocusedRow","changedItem","scrollToElementVertically","$prevRowFocusedElement","$focusedRowTable","removeAttr","setRowFocusType","_focusedCellPosition","setFocusedColumnIndex","_escapeKeyHandler","isCellFocusType","_focus","_getCellElementFromTarget","_updateFocusedCellPosition","_fireFocusedCellChanged","isRowFocusType","_getElementType","getFirstValidCellInRow","sortByKey","isLocalOperations","notSortedKeys","notSortedKey","isPartialUpdateWithDeleting","_updatePageIndexes","_updateFocusedRow","prevRenderingPageIndex","_lastRenderingPageIndex","renderingPageIndex","_isPagingByRendering","isPagingByRendering","pagingWithoutVirtualScrolling","getGlobalRowIndexByKey","useGroup","_generateOperationFilterByKey","_generateBooleanFilter","isBoolean","isRemoteSorting","booleanFilter","sortFilter","filterOperation","keyPart","visibleRows","_checkRowKeys","updateFocusElementTabIndex","_setFocusedRowElementTabIndex","_findRowElementForTabIndex","_scrollToFocusOnResize","setFocusedCellPosition","getRow","getScrollElementPosition","currentScrollTop","scrollHandler","DATE_INTERVAL_FORMATS","quarter","ungroupUTCDates","dateParts","dates","isMonthPart","convertDataFromUTCToLocal","getHeaderFilterGroupParameters","queryByOptions","HeaderFilterController","_headerFilterView","_updateSelectedState","isExclude","updateHeaderFilterItemSelectionState","_normalizeGroupItem","valueSelector","displaySelector","headerFilterOptions","groupInterval","getDisplayFormat","firstValueText","secondValue","secondValueText","emptyValue","remoteGrouping","headerFilterDataSource","isLookup","normalizeLookupDataSource","cutoffLevel","_filter","useDefaultSearch","origPostProcess","postProcess","isGroupPanel","previousOnHidden","dxResizableInstance","dxResizable","headerFilterByColumn","ColumnHeadersViewHeaderFilterExtender","headerFilterMixin","$headerFilterIndicator","_subscribeToIndicatorEvent","saveFocusedElementInfo","isFilterRowAndHeaderFilterValuesChanged","isHeaderFilterValuesAndTypeChanged","HeaderPanelHeaderFilterExtender","$item","ok","headerFilterView","HeaderFilterView","HEADER_FILTER_CLASS","HEADER_FILTER_MENU_CLASS","resetChildrenItemSelection","updateSelectAllState","selectAllCheckBox","isSearchEnabled","filterValuesMatch","isExcludeFilter","getPopupContainer","getListContainer","_listContainer","applyHeaderFilter","fillSelectedItemKeys","_getNode","hasChildrenWithSelection","_hasChildren","updatePopup","headerFilterMenu","_cleanPopupContent","_getSearchExpr","useDefaultSearchExpr","_initializeListContainer","_selectedItemsUpdating","filterValueIndex","indicatorLabel","requireReady","TOOLBAR_BUTTON_CLASS","DEFAULT_TOOLBAR_ITEM_NAMES","HeaderPanel","_getButtonContainer","specificClass","secondClass","_getToolbarOptions","userToolbarOptions","toolbarOptions","itemRenderedCallback","userItems","_normalizeToolbarItems","defaultButtonsByNames","normalizedItems","_toolbar","_toolbarOptions","$headerPanel","$toolbar","_isDisabledDefinedByUser","userItem","isDefinedByUser","getHeaderPanel","getPathParts","normalizedItem","_updateDimensionsCore","compareByReference","lastArgs","compareByValue","MEMOIZE_DEFAULT_OPTIONS","compareType","cachedFunc","firstResult","createCacheFunc","firstArgs","originFunc","compareFunc","lastResult","ROWS_VIEW_CLASS","FREESPACE_ROW_CLASS","MASTER_DETAIL_CELL_CLASS","COMMAND_EXPAND_CLASS","COMMAND_SELECT_CLASS","COMMAND_CELL_SELECTOR","FOCUS_STATE_CLASS","FAST_EDITING_DELETE_KEY","INTERACTIVE_ELEMENTS_SELECTOR","NON_FOCUSABLE_ELEMENTS_SELECTOR","FOCUS_TYPE_CELL","FUNCTIONAL_KEYS","GridCoreKeyboardNavigationDom","getCellToFocus","isDataRow","isElementDefined","isMobile","isCellInHeaderRow","KeyboardNavigationController","_selectionController","_editorFactory","_focusController","_memoFireFocusedCellChanged","_memoFireFocusedRowChanged","focusedHandlerWithContext","focusedHandler","renderCompletedWithContext","rowsViewFocusHandlerContext","rowsViewFocusHandler","_updateFocusTimeout","_fastEditingStarted","_canceledCellPosition","accessibility","initViewHandlers","initDocumentHandlers","setupFocusedView","_isNeedScroll","_focusedView","isRelatedTargetInRowsView","relatedTarget","isLink","_isEventInCurrentGrid","$focusedCell","_getFocusedCell","needSetFocusPosition","subscribeToRowsViewFocusEvent","$rowsView","unsubscribeFromRowsViewFocusEvent","isFocusedViewCorrect","isAppend","isFocusedElementCorrect","initPointerEventHandler","initKeyDownHandler","_setRowsViewAttributes","_isNeedFocus","_isHiddenFocus","unsubscribeFromPointerEvent","unsubscribeFromKeyDownEvent","_documentClickHandler","isCurrentRowsViewClick","isEditorOverlay","isColumnResizing","_resetFocusedCell","_resetFocusedView","_getRowsViewElement","_applyTabIndexToElement","pointerEventName","_pointerEventAction","subscribeToPointerEvent","clickSelector","_pointerEventHandler","_keyDownListener","subscribeToKeyDownEvent","_keyDownHandler","focusType","setCellFocusType","needStopPropagation","isHandled","_processOnKeyDown","isDefaultPrevented","_updateFocusedCellPositionByTarget","_leftRightKeysHandler","ctrl","_upDownKeysHandler","_pageUpDownKeyHandler","_spaceKeyHandler","isCommandKeyPressed","_ctrlAKeyHandler","_beginFastEditing","_tabKeyHandler","_enterKeyHandler","_ctrlFKeyHandler","_f2KeyHandler","_isFastEditingAllowed","_isFastEditingStarted","_closeEditCell","getVisibleRowIndex","$event","directionCode","_getDirectionCodeByKey","isEditingNavigationMode","_isVirtualColumnRender","_processVirtualHorizontalPosition","_getNextCell","_arrowKeysHandlerFocusCell","isUpArrow","isRowEditingInCurrentRow","_navigateNextCell","_isVirtualRowRender","_scrollBy","isPageUp","pageStep","isFocusedRowElement","startSelectionWithCheckboxes","changeItemSelection","selectAll","isOriginalHandlerRequired","_isLastValidCell","_isFirstValidCell","eventTarget","focusedViewElement","_handleTabKeyOnMasterDetailCell","_editingCellTabHandler","_targetCellTabHandler","_getMaxHorizontalOffset","_isColumnRendered","allVisibleColumns","renderedVisibleColumns","_isFixedColumn","_isColumnVirtual","localColumnIndex","getColumnIndex","horizontalScrollPosition","needToScroll","_getVisibleColumnCount","columnIndexOffset","_getHorizontalScrollPositionOffset","$currentCell","_getCell","currentCellWidth","rtlMultiplier","isEditingAllowed","elementType","nextCellInfo","_getNextCellByTabKey","_getColumnByCellElement","_getRowIndex","_isDataRow","_focusCell","isHighlighted","_editFocusedCell","_focusInteractiveElement","$lastInteractiveElement","_getInteractiveElement","_checkNewLineTransition","_fireFocusedCellChanging","$newCellElement","_getCellPosition","_fireFocusedRowChanging","rowIndexChanged","_processEnterKeyForDataCell","_getEnterKeyDirection","allowEditingOnEnterKey","_allowEditingOnEnterKey","_handleEnterKeyEditingCell","_startEditing","enterKeyDirection","isShift","_focusEditFormCell","searchTextEditor","getSearchTextEditor","isVerticalDirection","_fireFocusChangingEvents","isDeleting","fastEditingKey","isInteractiveElement","isRevertButton","isExpandCommandCell","_focusView","_isMasterDetailCell","_clickTargetCellHandler","_isCellEditMode","prevRowIndex","resetFocusedRow","_allowRowUpdating","skipFocusEvent","isDisabled","activeElementSelector","_focusElement","getFocusedView","rowsViewElement","$focusedView","_getFocusedViewByElement","$view","disableFocus","isNotFocusedRow","$focusElement","focusedView","$focusViewElement","isRowFocus","isGroupFooterRow","isRenderView","_needFocusEditingCell","_hasSkipRow","$focusedElementInsideCell","isFocusedElementDefined","cellEditModeHasChanges","isNewRowBatchEditMode","_getFocusedColumnIndexOffset","_getFixedColumnIndexOffset","isFixedColumnIndexOffsetRequired","_applyColumnIndexBoundaries","renderFocusState","restoreFocusableElement","newRowIndex","_getNewPositionByCode","_hasValidCellAfterPosition","_isLastRow","_hasValidCellBeforePosition","visibleColumnsCount","_isCellByPositionValid","getMaxRowIndex","isFirstValidCell","hasValidCells","checkingPosition","visibleColumnCount","isMasterDetailRow","isShowWhenGrouped","isDataCell","rowItems","_isLegacyNavigation","$result","focusedCellPosition","includeCommandCells","newFocusedCellPosition","isLastCellOnDirection","_isCellInRow","_isAllowEditing","_startEditCell","editResult","isEditResultDeferred","isDeferred","editorValue","editResultDeferred","waitTemplatesDeferred","_editingCellHandler","$input","$inputElement","keyDownEvent","createEvent","keyPressEvent","inputEvent","inputValue","_getKeyPressInputValue","$widgetContainer","inputCurrentValue","fireRowEvent","newColumnIndex","prevColumnIndex","localRowIndex","$newFocusedRow","prevFocusedRowIndex","loadingOperations","$editForm","$masterDetailCell","_$cell","_processCanceledEditCellPosition","isCanceled","updateFocusedRowIndex","lastVisibleIndex","useLegacyKeyboardNavigation","enterKeyAction","editOnKeyPress","_triggerPointerDownEventHandler","pageSizeChanged","_updateFocusedCellTabIndex","cellElementsLength","updateCellTabIndex","isMasterDetailCell","isValidCell","_renderFocusByChange","hasInsertsOrRemoves","shouldPreventScroll","editorInstance","_getEditorInstance","_handleEditingNavigationMode","originalKeyHandler","_supportedKeys","registerKeyHandler","_input","getWidgetInstance","keyboardNavigationController","_keyboardNavigationController","getRowIndexCorrection","focusedRowIndexCorrection","emptyCell","defaultSetter","ModuleItem","_actions","_actionConfigs","syncStrategy","optionCache","_setOptionWithoutOptionChange","_createAction","_createActionByOption","containerName","getViews","_isReady","_requireRender","_$parent","requireResize","hasWindow","_$element","getTemplate","MODULES_ORDER_MAX_INDEX","getExtendedTypes","moduleExtenders","extendTypes","currentType","classType","moduleNames","modulesOrder","unregisterModule","grep","componentInstance","componentClass","createModuleItems","moduleTypes","moduleItems","moduleType","moduleItem","registerPublicMethods","module1","module2","orderIndex1","orderIndex2","rootControllerTypes","rootViewTypes","moduleName","subclassOf","controllerTypes","viewTypes","_ref7","SCROLLING_MODE_VIRTUAL","SCROLLING_MODE_OPTION","DATE_INTERVAL_SELECTORS","minute","getIntervalSelector","normalizeSortingInfoUtility","formatHelper","formatObject","editorData","dxComponents","widgetName","renderNoDataText","noDataClass","noDataElement","_getNoDataText","renderLoadPanel","loadPanelOptions","_loadPanel","calculateLoadPanelPosition","$window","getWindow","resultFilter","changeNames","changesWithChangeNamesCount","filter1","filter2","proxyMethod","defaultResult","sharedFiltering","sortParameters1","sortParameters2","ignoreIsExpanded","selector1","selector2","notCreatePoint","prevItemOffset","selectionEnd","isSelectTextOnEditingStart","_loadItemDeferred","hasResizableColumns","rowRenderingMode","isAppendMode","getPixelRatio","devicePixelRatio","getContentHeightLimit","lookupDataSourceOptions","cachedUniqueRelevantItems","previousTake","previousSkip","hasGroupPaging","hasLookupOptimization","sliceItems","normalizeGroupingLoadOptions","MASTER_DETAIL_ROW_CLASS","initMasterDetail","_expandedItems","_isExpandAll","expandIndex","detailColumnIndex","isEnabledChanged","isAutoExpandAllChanged","_updateParentDataGrids","$masterDetailRow","_updateMasterDataGrid","$detailElement","masterRowOptions","masterDataGrid","_updateMasterDataGridCore","_updateFixedMasterDetailGrids","masterRowIndex","$tables","rowsNotEqual","tablesNotEqual","detailElementWidth","isDetailHorizontalScrollCanBeShown","isDetailGridWidthChanged","$rowsTable","_isDetailRow","_needRenderCell","GridPagerWrapper","pageIndexChanged","_getElementComputedSt","computedStyle","getElementComputedStyle","toNumber","getElementWidth","getElementMinWidth","getElementsWidth","pageSizes","pages","parentWidth","getElementContentWidth","pageSizesWidth","infoWidth","pagesHtmlWidth","ResizableContainer","parentRef","infernoCreateRef","pageSizesRef","infoTextRef","pagesRef","actualIsLargeDisplayMode","actualInfoTextVisible","infoTextVisible","isLargeDisplayMode","subscribeToResize","effectUpdateChildProps","updateAdaptivityProps","pagerProps","_this$_effects$","_this$_effects$2","resizeCallbacks","contentAttributes","displayMode","gridCompatibility","infoText","lightModeEnabled","maxPagesCount","pageIndexChange","pageSizeChange","pagesCountText","pagesNavigatorVisible","showNavigationButtons","showPageSizes","restAttributes","currentElementsWidth","elementsWidth","pagesWidth","calculateLargeDisplayMode","calculateInfoTextVisible","__state_argument","_this$props","TemplateProp","Content","rootElementRef","viewFunction","createComponentVNode","BasePagerProps","freeze","PagerProps","InternalPagerProps","PAGER_INFO_CLASS","InfoTextPropsType","InfoText","_this$props$infoText","getFormatter","createVNode","KeyboardActionContext","LightButton","widgetRef","keyboardEffect","subscribeToClick","keyboardContext","subscribeToClickEvent","PAGER_CLASS","LIGHT_MODE_CLASS","PAGER_SELECTION_CLASS","PAGER_PAGE_SIZE_CLASS","PAGER_SELECTED_PAGE_SIZE_CLASS","FIRST_CHILD_CLASS","PageProps","Page","combineClasses","getDelimiterType","slidingWindowSize","createPageIndexesBySlidingWindowIndexes","slidingWindowIndexes","pageIndexes","indexesForReuse","createPageIndexes","PagesLargePropsType","PagesLarge","canReuseSlidingWindow","generatePageIndexes","isSlidingWindowMode","onPageClick","ConfigContext","slidingWindowState","slidingWindowStateHolder","currentPageCount","lastPageIsFartherThanWindow","pageIndexExistInIndexes","_createPageIndexes","_this$config","createPage","pageProps","PagesMarkup","createFragment","EditorStateProps","isSimulator","EditorLabelProps","NumberBoxProps","EditorProps","isReactComponentWrapper","NumberBoxPropsType","validationError","componentProps","_this$props$value","DomComponentWrapper","componentType","LegacyNumberBox","templateNames","calculateValuesFittedWidth","PAGER_INFO_TEXT_CLASS","PAGER_PAGE_INDEX_CLASS","PagerSmallProps","PagerSmallPropsType","PagesSmall","pageIndexRef","updateWidth","selectLastPageIndex","valueChange","_this$pageIndexRef$cu","_this$props$pagesCoun","PAGER_NAVIGATE_BUTTON","PAGER_PREV_BUTTON_CLASS","PAGER_NEXT_BUTTON_CLASS","PAGER_BUTTON_DISABLE_CLASS","nextEnabledClass","prevEnabledClass","nextDisabledClass","prevDisabledClass","reverseDirections","PageIndexSelectorProps","PageIndexSelectorPropsType","PageIndexSelector","__getterCache","getButtonProps","canNavigateToPage","getNextPageIndex","canNavigateTo","navigateToPage","rtlAwareDirection","canNavigate","navigate","getIncrement","renderPrevButton","renderNextButton","prevButtonProps","nextButtonProps","SelectBoxProps","SelectBoxPropsType","LegacySelectBox","PageSizeSmallProps","PageSizeSmallPropsType","PageSizeSmall","PageSizeLargePropsType","PageSizeLarge","onPageSizeChange","pageSizesText","processedPageSize","PageSizeSelectorProps","PageSizeSelectorPropsType","PageSizeSelector","htmlRef","setRootElementRef","normalizedPageSizes","PagerContentProps","PagerContent","widgetRootElementRef","createFakeInstance","keyboardAction","_this$props$onKeyDown","fakePagerInstance","_registerKeyboardAction","infoVisible","pageIndexSelectorVisible","normalizedDisplayMode","pagesContainerVisible","pagesContainerVisibility","classesMap","aria","_this$props2","newPageIndex","__newValue","_newValue","newPageSize","_this$props$pageSize$","getProps","_wrapKeyDownHandler","_propsInfo","twoWay","allowNull","_viewComponent","PagerComponent","getPageIndex","PagerView","_pager","pagerOptions","showPageSizeSelector","getPageSizes","getPager","allowedPageSizes","_pageSizes","pagerVisible","isPager","isPaging","isDataSource","isScrolling","pagerView","CLASSES","GridCoreRowDraggingDom","RowDraggingExtender","_updateHandleColumn","_allowReordering","isHandleColumnVisible","showDragIcons","_getHandleTemplate","currentSortableName","anotherSortableName","togglePointerEventsStyle","_sortableFixed","rowsViewOffset","onDraggableElementShown","dragTemplate","gridInstance","dragElement","_synchronizeScrollLeftPosition","_getDraggableRowTemplate","onDragEnter","onDragLeave","_updateSortable","offsetDiff","_previousOffset","_sortable","sortable","_getDraggableGridOptions","gridOptions","$dataGridContainer","SEARCH_PANEL_CLASS","SEARCH_TEXT_CLASS","highlightSearchText","highlightCaseSensitive","searchVisibleColumnsOnly","calculateSearchFilter","onQueryDone","valueGetter","_prepareSearchItem","searchPanelOptions","$search","$searchPanel","dxTextBox","_searchParams","_getFormattedSearchText","_getStringNormalizer","isCaseSensitive","_findHighlightingTextNodes","$items","stringNormalizer","normalizedSearchText","resultTextNodes","$contents","_highlightSearchTextCore","$textNode","$searchTextSpan","firstContentElement","_highlightSearchText","isEquals","_highlightTimer","ROW_SELECTION_CLASS","SELECT_CHECKBOX_CLASS","SHOW_CHECKBOXES_MODE","SELECTION_MODE","processLongTap","isSelectionWithCheckboxes","stopSelectionWithCheckboxes","selectionCellTemplate","isRowSelected","renderSelectCheckBoxContainer","selectionHeaderTemplate","_renderSelectAllCheckBox","_attachSelectAllCheckBoxClickEvent","SelectionController","_selectionMode","_isSelectionWithCheckboxes","_selection","_createSelection","_updateSelectColumn","_deselectRemovedOnPush","_updateSelectedOnPush","isDeferredSelection","removedKeys","isSelected","selectedKey","deselectRows","updateChanges","_getSelectionConfig","selectionOptions","virtualPaging","allowSelectAll","legacyScrollingMode","maxFilterLengthInRequest","ignoreDisabledItems","allowLoadByRange","hasGroupColumns","dataFields","plainItems","isItemSelected","isSelectableItem","getItemData","getLoadOptions","loadItemIndex","focusedItemIndex","shiftItemIndex","minIndex","maxIndex","_updateSelectedItems","isSelectColumnVisible","_fireSelectionChanged","selectionChanged","_updateCheckboxesState","isDeferredMode","removedItemKeys","isComplexKey","isSeveralRowsSelected","selectionChangedOptions","changedItemIndexes","getChangedItemIndexes","visibleChangedItemIndexes","itemIndexes","addedItemKeys","_selectedItemsInternalChange","selectedRowsData","currentSelectedRowKeys","currentDeselectedRowKeys","isDataItem","oldSelectionMode","selectRows","_isOnePageSelectAll","isSelectAll","getSelectAllState","deselectAll","preserve","isDeselect","getSelectedRowKeys","getSelectedItemKeys","selectRowsByIndexes","setFocusOnly","loadedItemIndex","_focusedItemIndex","hasSelectColumn","currentItem","_updateSelectAllValue","selectAllValue","hasSelection","dxCheckBox","isEmptyData","groupElement","_attachCheckBoxClickEvent","_renderSelectCheckBox","tableElements","_updateCheckboxesClass","touch","isSelectionDisabled","isCheckBoxesHidden","showSortIndexes","sortingMixin","$cellElementFromEvent","editingMode","SORT_CLASS","SORT_NONE_CLASS","SORT_INDEX_ICON_CLASS","ariaSortState","isSortingAllowed","processLoadState","updateState","_initialPageSize","_initialFilterValue","getDataState","exportSelectionOnly","customLoad","customSave","savingTimeout","stateStoringCore","StateStoringController","stateLoaded","setLoading","_fireContentReadyAction","isStateLoading","applyState","oldStateHash","newStateHash","isVirtualScrollingMode","hasHeight","hasFilterState","stateStoringController","_restoreStateTimeoutID","DATE_REGEX","parseDates","getStorage","sessionStorage","localStorage","getUniqueStorageKey","_loadState","_saveState","setItem","_windowUnloadHandler","_savingTimeoutID","INVALIDATE_CLASS","REVERT_TOOLTIP_CLASS","INVALID_MESSAGE_CLASS","WIDGET_INVALID_MESSAGE_CLASS","INVALID_MESSAGE_ALWAYS_CLASS","VALIDATOR_CLASS","PENDING_INDICATOR_CLASS","VALIDATION_PENDING_CLASS","FORM_BASED_MODES","VALIDATION_STATUS","EDIT_DATA_INSERT_TYPE","VALIDATION_CANCELLED","validationResultIsValid","cellValueShouldBeValidated","validationCancelChanges","validating","_validationState","initValidationState","_validationStateCache","_rowIsValidated","validationData","_getValidationData","validated","keyHash","isObjectKeyHash","_getBrokenRules","validationResults","brokenRules","brokenRule","_rowValidating","getChangeByKey","errorText","getHiddenValidatorsErrorText","brokenRulesMessages","isGroupExpandColumn","isVisibleColumn","completeList","_isValidationInProgress","validationResult","validateGroup","_currentCellValidator","_findGroup","ValidationEngine","getGroupConfig","validators","resetRowValidationResults","complete","isRowDataModified","updateValidationState","setDisableApplyValidationResults","setValidator","renderCellPendingIndicator","disposeCellPendingIndicator","validationStatusChanged","updateCellValidationResult","validatorInitialized","validatorDisposing","getCellValidationResult","cancelCellValidationResult","applyValidationResult","requestIsDisabled","disabledPendingId","_disableApplyValidationResults","_syncInternalEditingData","oldDataFromState","createValidator","needCreateValidator","isCellOrBatchEditingAllowed","useDefaultValidator","applyValidationResults","originBypass","bypass","defaultAdapterBypass","validationRequestsCallbacks","flag","getDisableApplyValidationResults","isCurrentValidatorProcessing","validateCell","cellParams","stateRestored","currentCellValue","removeCellValidationResult","isInvalidCell","getCellValidator","_ref8","groupConfig","setCellValidationStatus","validatingController","_updateRowAndPageIndices","startInsertIndex","_ref9","isNotCanceled","isInsert","addInValidItem","isInserted","_createInvisibleColumnValidators","invisibleColumns","invisibleColumnValidators","isCellVisible","disposeValidators","isFullValid","_showErrorRow","scrollToElement","shouldResetValidationState","validationState","resetRowAndPageIndices","currentValidator","cellModified","isValidated","isCellInvalid","_showRevertButton","$tooltipElement","_revertTooltip","$overlayContainer","revertTooltipClass","tooltipOptions","propagateOutsideClick","$buttonElement","onPositioned","_positionedHandler","_hideFixedGroupCell","overlayOptions","$nextFixedRowElement","$groupCellElement","nextRowOptions","isOverlayVisible","__skipPositionProcessing","needRepaint","normalizedPosition","_normalizeValidationMessagePositionAndMaxWidth","_showValidationMessage","messages","editorPopup","myPosition","atPosition","errorMessageText","invalidMessageClass","$overlayElement","_shiftValidationMessageIfNeed","_hideValidationMessage","validationMessages","_getValidationMessagesSelector","visibleTableWidth","w1","w2","$overlayContentElement","validationMessageWidth","needMaxWidth","boundaryNonFixedColumnsInfo","firstNonFixedColumnIndex","lastNonFixedColumnIndex","endColumnIndex","$revertContent","contentOffset","revertContentOffset","skipValidator","updateCellState","errorMessages","isElementInside","_getValidationStatus","oldValidationStatus","newValidationStatus","rowIsModified","cellIsMarkedAsInvalid","hasValidationRules","rowEditStateChanged","cellValidationStateChanged","$freeSpaceRowElement","$freeSpaceRowElements","$tooltipContent","_getFreeSpaceRowElements","_restoreErrorRow","contentTable","SCROLL_CONTAINER_CLASS","DETAIL_ROW_CLASS","CELL_HINT_VISIBLE","appendElementTemplate","getWidthStyle","setCellWidth","removeHandler","templateDeferred","viewWithColumnStateMixin","columnStateMixin","setTableRole","_createScrollableOptions","scrollingOptions","useSimulatedScrollbar","rowObject","_isAltRow","safari","isFilterRow","isDataRowWithTemplate","isEditorShown","isHeaderRowWithTemplate","isGroupCellWithTemplate","getOptions","$fieldItemContent","delegateTarget","resultOptions","eventType","formItemOptions","dblclickEvent","touchTarget","touchCurrentTarget","timeoutId","clearTouchTargets","subscribeToRowEvents","colgroupElement","delayedTemplates","_delayedTemplates","syncTemplates","async","asyncTemplates","_renderDelayedTemplatesCore","_renderDelayedTemplatesCoreAsync","templateTimeout","_templateTimeouts","isAsync","templateParameters","needWaitAsyncTemplates","isRenderer","renderedTemplate","templateID","_templatesCache","isDisposed","columnAsync","_templateDeferreds","_getBodies","_needWrapRow","_wrapRowIfNeed","_appendRow","appendTemplate","$root","$wrappedRow","_rowPrepared","$newRowElement","$newCells","cellUpdatedClass","$newCell","newElement","oldAttributes","newAttributes","copyAttributes","ariaColIndex","renderOptions","watchers","updateValueFunc","updateRowFunc","watcher","keepRow","elementData","afterExecute","_removeContent","nativeScrolling","forceWaiting","waitTemplatesRecursion","$newTableElement","isErrorRow","columnVisibleIndex","_getRowElement","iteratorUtils","getCellElement","tBodies","BORDERS_CLASS","GRIDBASE_CONTAINER_CLASS","calculateFreeWidth","_getTotalWidth","resizingControllerMembers","_initPostRenderHandlers","_refreshSizesHandler","resizeDeferred","needFireContentReady","_checkSize","_refreshSizes","_setAriaLabel","_waitAsyncTemplates","_setScrollerSpacing","_getWidgetAriaLabel","_getBestFitWidths","headersTableElement","_setVisibleWidths","_toggleBestFitModeForView","$rowsTables","$viewTables","$tableBody","$viewTable","$rowsFixedTable","_footerView","_toggleContentMinHeight","_prevContentMinHeight","_synchronizeColumns","resetBestFitMode","hasUndefinedColumnWidth","needBestFit","hasMinWidth","isColumnWidthsCorrected","_maxWidth","isPixelWidth","expandColumnWidth","_processStretch","hasPercentWidth","hasAutoWidth","hasWidth","_hasWidth","isHiddenColumn","averageColumnsWidth","freeWidth","currentMinWidth","calculateFreeWidthWithCurrentMinWidth","realColumnWidth","_getRealColumnWidth","scrollbarWidth","getInnerWidth","resultSizes","tableSize","unusedIndexes","diffElement","onePixelElementsCount","groupWidth","ratio","percentTotalWidth","pixelTotalWidth","freeSpace","percentTotalWidthInPixel","_getGroupElement","updateSize","importantMarginClass","_hasHeight","$groupElement","checkSize","prevResult","_resizeDeferred","_resetGroupElementHeight","isWidgetVisible","isGridSizeChanged","_lastWidth","_lastHeight","_devicePixelRatio","_setScrollerSpacingCore","vScrollbarWidth","hScrollbarWidth","isNativeScrolling","rootElementHeight","isHeightSpecified","maxHeightHappened","isMaxHeightApplied","_updateLastSizes","_renderDimensions","synchronizeScrolling","_scrollChangedHandler","gridView","_resizingController","_groupElement","_renderViews","_getTableRoleName","isFirstRender","_rootElement","FREE_SPACE_CLASS","COLUMN_LINES_CLASS","ROW_ALTERNATION_CLASS","LAST_ROW_BORDER","getMaxHorizontalScrollOffset","setWatcher","defaultCellTemplate","isDataTextEmpty","RowsView","_getDefaultGroupTemplate","_setAriaRowIndex","isPagerMode","deep","skipImmediate","_renderScrollable","_renderLoadPanel","allColumnsHasWidth","_renderScrollableCore","dxScrollableOptions","_scrollableContainer","newTableElement","_contentChanges","contentChanges","executors","rowInsertedClass","dataChangeType","_createEmptyRow","_appendEmptyRow","$emptyRow","$tBodies","isTableContainer","$colgroup","_renderFreeSpaceRow","_rowHeight","_getRowsHeight","_updateRowHeight","evaluate","expr","_getColumnsCountBeforeGroups","columnsCountBeforeGroups","groupColumnAlignment","_renderDataRowByTemplate","dataRowTemplate","resizeCompletedHandler","_lastColumnWidths","groupingTextsOptions","_getDevicePixelRatio","freeSpaceRowElements","isFreeSpaceRowVisible","elementHeightWithoutScrollbar","showFreeSpaceRow","resultHeight","_getHeightCorrection","_updateLastRowBorder","freeSpaceRowCount","isZoomedWebkit","isChromeLatest","chrome","hasExtraBorderTop","_fireColumnResizedCallbacks","_editorFactoryController","forceUpdateScrollPosition","scrollableContainer","getScrollableBottomPadding","lastColumnWidths","isRenovated","_updateHorizontalScrollPosition","maxHorizontalScrollOffset","dxScrollable","visibilityOptions","_hideLoadingTimeoutID","groupCellIndex","_getBoundaryVisibleItemIndex","isTop","isFloor","prevOffset","viewportBoundary","contentElementOffsetTop","getTopVisibleRowData","VirtualScrollingRowsViewExtender","setScrollPosition","HeaderViewExtender","columnRenderingMode","columnPageSize","columnRenderingThreshold","getWidths","_beginPageIndex","_endPageIndex","_virtualVisibleColumns","getBeginPageIndex","getColumnPageSize","getEndPageIndex","_fireColumnsChanged","_renderTime","getScrollingTimeout","renderingThreshold","scrollingTimeout","_changedTimeout","_setScrollPositionCore","endPageIndex","needColumnsChanged","visibleColumnsHash","beginFixedColumnCount","beginFixedColumns","beginColumns","beginWidth","endFixedColumnCount","endFixedColumns","endColumns","endWidth","columnsInfo","createColumnsInfo","leftFixedColumnCount","foreachColumnInfo","offsets","lastProcessedIndexes","processedColumnCount","newInfo","columnInfo","cellColspan","BOTTOM_LOAD_PANEL_CLASS","FREESPACE_CLASS","VIRTUAL_ROW_CLASS","LEGACY_SCROLLING_MODE","VISIBLE_PAGE_INDEX","correctCount","isItemCountableFunc","isItemCountableByDataSource","VirtualScrollingDataSourceAdapterExtender","updateLoading","_virtualScrollController","viewportSize","getViewportItemIndex","_totalCount","_loadPageCount","VirtualScrollController","_getVirtualScrollDataOptions","viewportItems","changingDuration","_startLoadTime","handleDataChanged","virtualScrollController","delayDeferred","getDelayDeferred","loadPageCount","takeIsDefined","removeEmptyRows","$emptyRows","scrollToPage","updateViewport","_scrollToCurrentPageOnResize","resizeHandler","scrollPosition","itemSize","getItemSize","itemSizes","getItemSizes","startRenderTime","_removeRowsElements","removeCount","_updateBottomLoading","_addVirtualRow","$virtualRow","_updateContentItemSizes","_getRowHeights","correctedRowHeights","_correctRowHeights","setContentItemSizes","_updateViewportSize","viewportHeight","firstCountableItem","lastLoadIndex","viewportItemSize","getContentOffset","$virtualRows","prevFixed","_isTableLinesDisplaysCorrect","_isColumnElementsEqual","$columns","$virtualColumns","_getCellClasses","isExpandColumn","_findBottomLoadPanel","$bottomLoadPanel","virtualMode","showBottomLoading","bottomLoadPanelElement","zeroTopPosition","hasScrolled","isValidScrollTarget","setViewportPosition","hasBottomLoadPanel","isViewportChanging","throwHeightWarningIfNeed","_heightWarningIsThrown","_windowScroll","subscribeToExternalScrollers","scrollPos","loadIfNeed","_scrollTimeoutID","updateTimeout","minTimeout","removeInvisiblePages","rowPageSize","prerenderedRowChunkSize","preloadEnabled","loadTwoPagesOnStart","legacyMode","prerenderedRowCount","baseResult","initVirtualRows","_loadViewportParams","getLoadPageParams","getRowPageSize","getItemIndexByPosition","isSortingOperation","virtualRowsRendering","_allItems","_visibleItems","_rowPageIndex","_viewportChanging","_needUpdateViewportAfterLoading","_getRowsScrollDataOptions","loadViewport","setViewportItemIndex","_updateLoadViewportParams","isItemCountable","loadedOffset","loadedItemCount","_itemCount","isNextAfterLast","countableOnly","cancelEmptyChanges","isRefresh","viewportParams","getViewportParams","prevCountable","prevRowType","isPrevRowNew","wasCountableItem","newRows","itemCountable","isNextGroupItem","isNextDataItem","skipForCurrentPage","isNewRowInEmptyData","isLoadIndexGreaterStart","isLoadIndexLessEnd","needGroupOffset","firstLoadIndex","sizes","getPreloadedRowCount","preloadCount","byLoadedPage","loadedPageIndex","loadedTake","isScrollingBack","topPreloadCount","bottomPreloadCount","skipWithPreload","loadingTake","_updateVisiblePageIndex","currentPageIndex","viewPortItemIndex","_getChangedLoadParams","loadedPageParams","pageIndexIsValid","_pageIndexIsValid","_loadItems","checkLoading","viewportIsFilled","changedParams","currentLoadPageCount","lastRequiredItemCount","pageIndexNotChanged","allLoadedInAppendMode","isRepaintMode","pageIndexIncreased","viewportChanging","checkLoadedParamsOnly","viewportIsNotFilled","loadingItemsStarted","noPendingChangesInEditing","currentTake","newTake","topItemIndex","bottomItemIndex","masterDataGridUpdated","isNewVirtualMode","_resizeTimeout","_lastTime","needTwoPagesLoading","isVirtual","_cache","fireChanged","_isChangedFiring","processDelayChanged","_isDelayChanged","getPreloadPageCount","_dataOptions","realViewportSize","getViewportPosition","getViewportPageCount","processChanged","isDelayChanged","removeCacheItem","dataOptions","isPrepend","removeItemCount","_lastPageIndex","VirtualDataLoader","_loadingPageIndexes","viewportItemIndexChanged","lastPageSize","maxPageIndex","pageIndexForLoad","getPageIndexForLoad","loadCore","_delayDeferred","_setViewportPositionCore","lastCacheLength","beginItemsCount","_isVirtual","scrollChangedHandler","$scrollElement","scrollableArray","scrollToArray","disposeArray","getElementOffset","$scrollableElement","scrollableOffset","widgetScrollStrategy","subscribeToScrollEvents","isDocument","isElement","eventsStrategy","topOffset","scrollMethod","getScrollElementParent","_viewportSize","_viewportItemSize","_viewportItemIndex","_isScrollingBack","_contentSize","_itemSizes","_sizeRatio","_dataLoader","viewportItemIndex","defaultItemSize","itemOffset","itemOffsetsWithSize","itemOffsetWithSize","itemOffsetDiff","prevPosition","virtualContentSize","contentHeightLimit","isEnd","currentItemIndex","getVirtualContentSize","subscribeToWindowScrollEvents","topIndex","bottomIndex","maxGap","minGap","topMinGap","bottomMinGap","remainedItems","LocalStore","getDataSelector","getDateValue","dataSelector","prepareFields","fieldSelector","intervalSelector","setDefaultFieldValueFormatting","setFieldProperty","generateHierarchyItems","headers","headerName","expandedPaths","rowExpandedPaths","columnExpandedPaths","fillHierarchyItemIndexesCore","pathHash","dimensionValue","hierarchyItem","dimensions","expandedPathsHash","hierarchyItems","childrenHash","generateAggregationCells","cellSet","fillHashExpandedPath","prepareLoadOption","getAggregator","aggregationStep","measures","aggregationCells","aggregatorIndex","cellField","isAggregatorSeedFunction","cellSetIndex","areValuesEqual","fieldValue","valueOfFilter","valueOfField","createDimensionFilters","expandedDimensions","expandValue","filterDataSource","fieldSelectors","processFilter","loadDataSource","customizeStoreLoadOptionsHandler","loadDeferred","fillSelectorsByFields","selectors","getFieldSelectors","area","_progressChanged","onProgressChanged","getFields","discoverObjectFields","notifyProgress","columnsHash","rowsHash","processData","grandTotalRowIndex","grandTotalColumnIndex","supportPaging","getDrillDownItems","drillDownItems","maxRowCount","customColumns","pathFilter","getFiltersByPath","rowPath","columnPath","include","storeDrillDownMixin","createGroupingOptions","dimensionOptions","useSortOrder","dimensionOption","getIntervalFilterExpression","numericInterval","numericValue","isExcludedFilterType","getFilterExpressionForFilterValue","getFieldFilterSelector","expression","createFieldFilterExpressions","fieldFilterExpressions","currentExpression","createFilterExpressions","filterExpressions","fieldExpressions","mergeFilters","notEmpty","valuesArray","getFiltersForDimension","getExpandedIndex","axis","oppositePath","getExpandedPathSliceFilter","dimensionName","firstCollapsedFieldIndex","startSliceIndex","getGrandTotalRequest","expandedIndex","expandedLevel","commonFilters","newOptions","oppositeDimensionName","includeTotalSummary","getFirstCollapsedIndex","firstCollapsedIndex","getRequestsData","rowExpandedLevel","getExpandedLevel","columnExpandedLevel","columnExpandedIndex","firstCollapsedColumnIndex","firstCollapsedRowIndex","rowExpandedIndex","columnTotalsOptions","getFiltersForExpandedDimension","rowFilterByExpandedPaths","preparedOptions","RemoteStore","_store","normalizedArguments","normalizeLoadResult","pivotGridUtils","rowHash","columnHash","requestsData","externalFilterExpr","hasRows","rowTake","columnTake","rowSkip","columnSkip","summaryOption","createLoadOptions","total","parentItem","parentPathValue","dimensionHash","displayText","columnItem","rowItem","rowLevel","columnLevel","currentRowIndex","parseResult","createDrillDownDataSource","filterExp","COLUMN","ROW","NULL","calculatePercentValue","percentOfGrandTotal","grandTotal","percentOfParent","parentValue","createAbsoluteVariationExp","allowCrossGroup","prevCell","summaryDictionary","percentOfColumnTotal","percentOfRowTotal","percentOfColumnGrandTotal","percentOfRowGrandTotal","getPrevCellCrossGroup","createRunningTotalExpr","runningTotal","allowCrossGroupCalculation","getFieldPos","fieldParams","allFields","fieldIndex","findField","getPathFieldName","SummaryCell","fieldsCache","_columnPath","_rowPath","_fieldIndex","_fieldsCache","_descriptions","originalCell","postProcessedFlags","_cell","getExpression","summaryDisplayMode","crossGroupCalculation","calculateSummaryValue","absoluteExp","absVar","createPercentVariationExp","processDataCell","isRunningTotalCalculation","allowResetting","_getDimension","dimensionPath","pathFieldName","siblings","childLevelField","fieldPos","sliceCell","currentValue","arg1","arg2","fistArgIsBoolean","needCalculatedValue","isPostProcessed","Cell","applyRunningTotal","valueFields","foreachTree","expressionArg","createMockSummaryCell","indices","fieldId","applyDisplaySummaryMode","isEmptyGrandTotalRow","isEmptyGrandTotalColumn","XmlaStore","discover","execXMLA","requestOptions","beforeSend","ajaxSettings","xhrFields","xml","parser","statusText","responseText","getLocaleIdProperty","languageId","getLanguageId","stringFormat","getAllMember","hierarchyName","getAllMembers","crossJoinElements","elementsString","generateCrossJoin","expandLevel","expandAllCount","slicePath","prevDimension","nextLevel","crossJoinArgs","prevHierarchyName","isLastDimensionInGroup","expandAllIndex","preparePathValue","allMember","fillCrossJoins","crossJoins","cellsString","totalsOnly","dimensionIndex","crossJoin","declare","withArray","generateAxisMdx","parseOptions","visibleLevels","axisSet","skipValues","generateAxisFieldsFilter","filterMembers","filterStringExpression","filterMdx","generateMdxCore","axisStrings","cubeName","mdxString","withString","countMembers","columnsFilter","rowsFilter","generateFrom","prepareDataFields","addSlices","slices","generateMDX","measureCount","createDrillDownAxisSlice","getNumber","getFirstChildText","childTagName","getNodeText","parseCells","axes","cellsOriginal","errorDictionary","xmlCell","valueElement","errorElements","_isNumeric","cellOrdinal","levelName","parentName","getVisibleChildren","grandTotalHash","newChildren","fillDataSourceAxes","dataSourceAxis","axisTuples","tupleIndex","grandTotalIndex","checkError","faultElementNS","faultElement","errorElement","parseDiscoverRowSet","schema","translatedDisplayFolders","isMeasure","displayFolderField","levelNumber","displayFolder","isDefault","defaultHierarchies","parseStringWithUnicodeSymbols","stringArray","group1","sendQuery","storeOptions","catalog","cube","localeIdProperty","dimensionsRequest","measuresRequest","hierarchiesRequest","levelsRequest","dimensionsResponse","measuresResponse","hierarchiesResponse","levelsResponse","measureGroupsResponse","hierarchies","measureGroups","levelsByHierarchy","hierarchy","rowCountMdx","executeXml","rowCountXml","axisElement","tupleElement","tupleMembers","levelSum","membersCount","tuple","totalCountXml","customColumnsString","coreMDX","columnNames","getAscOrder","sortDimension","sortingMethodByLevel","foreachDataLevel","getMemberForSortBy","defaultCompare","getCompareFunction","summaryValueSelector","sortBySummaryFieldIndex","sortBySummaryField","areRows","sortByDimension","sortBySummaryPath","sliceIndex","itemPath","createPath","textPath","getSliceIndex","getFieldSummaryValueSelector","summaryCompare","getSortingMethod","DESCRIPTION_NAME_BY_AREA","STATE_PROPERTIES","CALCULATED_PROPERTIES","ALL_CALCULATED_PROPERTIES","resetFieldState","_initProperties","updateCalculatedFieldProperties","calculatedProperties","titleize","createCaption","isDataExists","PivotGridDataSource","findHeaderItem","headerItems","_cacheByPath","getHeaderItemsLastIndex","headerItem","collapsedChildren","updateHeaderItemChildren","applyingHeaderItemsCount","emptyIndex","applyingItemIndexesToCurrent","needIndexUpdate","foreachTreeAsync","updateHeaderItems","newHeaderItems","newItems","parentItems","updateDataSourceCells","newDataSourceCells","newRowItemIndexesToCurrent","newColumnItemIndexesToCurrent","newRowCells","newCell","dataSourceCells","createLocalOrRemoteStore","onLoadingChanged","getExpandedPaths","prevLoadOptions","prevFields","setFieldProperties","srcField","skipInitPropertySave","getFieldsState","getFieldStateId","getFieldsById","setFieldsState","stateFields","fieldsById","sortFieldsByAreaIndex","field1","field2","areaIndex","getFieldId","retrieveFieldsOptionValue","mergeFields","storeFields","fieldsDictionary","removedFields","getFieldsDataType","mergedField","fieldKey","storeField","maxGroupIndex","mergedFields","_fields","_storeFields","_retrieveFields","formatHeaderItems","formatHeaders","updateCache","cacheByPath","getAreaFields","areaFields","canAddFieldInArea","EventsStrategy","xmlaStore","_paginate","_pageSize","_loadingCount","_isFieldsModified","retrieveFields","_createDescriptions","collectGroups","_fieldsPrepared","isInitialization","getFieldValues","applyFilters","loadFields","_sort","loadTask","_delayedLoadTask","_loadCore","currentField","areaName","groupingField","showTotals","showGrandTotals","summaryUtils","currentFieldState","skipLoading","_changeLoadingCount","increment","oldLoading","newLoading","_hasPagingValues","oppositeIndex","takeField","skipField","oppositeArea","_headerItem","_processPagingCacheByArea","_headerItem2","_processPagingCache","applyPartialDataSource","mergePartialDataSource","sortLocal","loadedData","expressionsUsed","areExpressionsUsed","isRunningTotalUsed","collapseHeaderItem","dataChanged","areaOffsets","expandHeaderItem","hasCache","needExpandData","oppositeHeaderItem","oppositeHeaderItems","eventHandler","delayedLoadTask","abort","_isDisposed","treeViewItem","allowScrolling","itemGroup","box","fieldContainer","fieldContent","fieldList","fieldListHeader","pivotGrid","dragAction","fieldsContainer","treeView","borderVisible","ICONS","measure","SORTABLE_CONST","targets","SORT_ORDER","descending","ascending","DIV","hasWindowFn","getDimensionFields","getFirstItem","childrenItem","compareOrder","compareItems","FieldChooserBase","columnFields","localizationMessage","rowFields","filterFields","_expandedPaths","_changedHandler","_dataChangedHandlers","_skipStateChange","_initActions","_trigger","eventArg","_setOptionsByReference","skipStateSetting","_renderLayout0","$row1","$row2","$col1","$col2","$col3","$col4","_renderArea","_renderLayout1","_renderLayout2","currentState","renderSortable","_renderContextMenu","_getContextMenuArgs","targetFieldElement","targetGroupElement","fieldCopy","_contextMenu","_createTreeItems","groupFieldNames","groupFieldName","fieldsByGroup","_createFieldsDataSource","treeItems","_renderFieldsTreeView","getImageContainer","needSelectDefaultItem","_processDemandState","_applyChanges","_renderAreaFields","renderField","$fieldsContent","$areaContainer","$fieldsHeaderContainer","$fieldsContainer","_getSortableOptions","_adjustSortableOnChangedArgs","resetTreeView","dxTreeView","SORTABLE_NAMESPACE","SORTABLE_CLASS","getTargetGroup","$groups","elementHasPoint","DOMComponent","onDragging","itemRender","groupSelector","itemSelector","itemContainerSelector","sourceClass","dragClass","targetClass","useIndicator","_renderItem","$sourceItem","$targetGroup","_indicator","_renderDraggable","_$draggable","_detachEventHandlers","dragEventsString","dragEventEnter","dragEventLeave","dragEventDrop","_getEventListener","_getItemOffset","itemsOffset","shouldInsert","sameLine","posVertical","rtl","posHorizontal","_attachEventHandlers","$targetItem","startPositions","sourceGroup","scrollWrapper","targetIndex","disposeScrollWrapper","$eventListener","$sourceGroup","elementIndex","getIndex","$lastItem","$prevItem","draggableElement","draggingArgs","sourceElement","targetGroup","moveIfNeed","getScrollWrapper","$itemContainer","targetSortable","$elements","$itemsContainer","getItemsOffset","isAnotherGroup","isSameIndex","isNextIndex","changedArgs","removeSourceElement","removeTargetElement","removeSourceClass","_render","_useTemplates","getItemArray","isAreaBox","isTreeList","$itemArray","sourceItem","getAreaBoxItemArray","getTreeViewItem","getDefaultItem","dragAndDropItemRender","$wrappedTmpContainer","$wrappedItem","wrapItemsInFieldsContainer","HeaderFilterViewBase","getMainGroupField","getStringState","allowFieldDragging","remoteSort","_renderComponent","$fieldContent","$fieldElement","mainGroupField","$sortable","pivotGridFieldChooser","invisibleFieldsIndexOffset","fieldBeforeTarget","isInstantlyMode","pivotGridState","_applyLocalSortChanges","fieldIdx","isHeaderFilter","userData","isTree","isExcludeFilterType","preparedFilterValueByText","preparedFilterValue","isRemoteSort","reverseSortOrder","_initTemplates","initProperties","initValue","foreachTreeAsyncDate","createForeachTreeFunc","foreachTreeFunc","parentAtFirst","isChildrenProcessing","createForeachTreeAsyncHandler","childrenDeferred","valueA","valueB","aIsDefined","bIsDefined","mergeArraysByMaxValue","values1","values2","parseFields","fieldsList","fieldsDataType","localizationDate","createCustomStoreMethod","containerElement","calculateScrollbarWidth","callOnce","insertAdjacentHTML","scrollbar","lastElementChild","sendRequest","coreAjaxUtils","targetDraggable","sourceDraggable","DRAGGABLE","DRAGSTART_EVENT_NAME","DRAG_EVENT_NAME","DRAGEND_EVENT_NAME","DRAG_ENTER_EVENT_NAME","DRAGEND_LEAVE_EVENT_NAME","POINTERDOWN_EVENT_NAME","KEYDOWN_EVENT_NAME","CLONE_CLASS","getMousePosition","ScrollHelper","_$scrollableAtPointer","_preventScroll","_scrollValue","_overFlowAttr","_sizeAttr","_scrollSizeProp","_clientSizeProp","_limitProps","updateScrollable","mousePosition","isScrollableFound","isTargetOverOverlayWrapper","isTargetOverOverlayContent","_trySetScrollable","_scrollSpeed","isScrollable","distanceToBorders","sensitivity","_calculateDistanceToBorders","_calculateScrollSpeed","$area","areaBoundingRect","maxSpeed","scrollByStep","$scrollable","nextScrollPosition","_nextScrollPosition","dragMoveArgs","_dragMoveArgs","_dragMoveHandler","isOutsideScrollable","scrollableSize","ScrollAnimator","Animator","_strategy","_step","horizontalScrollHelper","_horizontalScrollHelper","verticalScrollHelper","_verticalScrollHelper","dragMove","dragEnter","dragLeave","dragEnd","sourceEvent","_getSourceDraggable","_fireRemoveEvent","onDragCancel","onCancelByEsc","immediate","boundOffset","allowMoveByClick","_scrollAnimator","_initScrollTop","_initScrollLeft","_normalizeCursorOffset","splitPair","_getNormalizedCursorOffset","_calculateElementOffset","elementOffset","dragElementOffset","$dragElement","isCloned","_dragElementIsCloned","normalizedCursorOffset","currentLocate","_initialLocate","locate","initialOffset","_initPosition","_move","_startPosition","_startAnimator","inProgress","_stopAnimator","_addWidgetPrefix","dasherize","_getItemsSelector","_$content","itemsSelector","checkDropTarget","_getScrollable","_getArea","_pointerDownHandler","_dragStartHandler","_dragEndHandler","_dragEnterHandler","_dragLeaveHandler","_keydownHandler","_$dragElement","_getDragTemplateArgs","_createDragElement","_getContainer","_resetDragElement","_toggleDraggingClass","_resetSourceElement","_toggleDragSourceClass","_$sourceElement","_getDraggableElement","$sourceElement","_getSourceElement","needSkipEvent","_getAction","_getEventArgs","_isValidElement","dragInProgress","dragStartArgs","_getDragStartArgs","_setSourceDraggable","_hasClonedDraggable","_getScrollableScrollTop","_getScrollableScrollLeft","_getDraggableElementOffset","_setGestureCoverCursor","isFixedPosition","areaOffset","_getAreaOffset","_getBoundOffset","areaWidth","areaHeight","elementWidth","elementHeight","startOffset_left","startOffset_top","maxLeftOffset","maxRightOffset","maxTopOffset","maxBottomOffset","quadToObject","viewPort","initialOffsetX","initialOffsetY","initScrollTop","initScrollLeft","_getTargetDraggable","allObjects","elementsFromPoint","_defaultActionArgs","fromComponent","toComponent","fromData","toData","$itemElement","_revertItemToInitialPosition","dragEndEventArgs","dropEventArgs","needRevertPosition","_resetDragOptions","_isTargetOverAnotherDraggable","$sourceDraggableElement","$targetDraggableElement","firstWidgetElement","isTargetOverItself","isTargetOverNestedDraggable","_fireDragEnterEvent","_setTargetDraggable","_fireDragLeaveEvent","_resetTargetDraggable","_keydownEscapeHandler","dragCancelEventArgs","_getAnonymousTemplateName","_templateManager","addDefaultTemplates","EmptyTemplate","transclude","anonymousTemplateName","_getTemplateByOption","_resetSourceDraggable","ALL_WEEKDAYS","Weekday","weekday","fromStr","nth","getJsWeekday","isPresent","isWeekdayStr","rang","times","padStart","targetLength","padString","pymod","divmod","mod","MONTH_DAYS","ONE_DAY","ORDINAL_BASE","PY_WEEKDAYS","isLeapYear","isValidDate","toOrdinal","date1","date2","differencems","daysBetween","fromOrdinal","getMonthDays","getUTCMonth","getUTCFullYear","getWeekday","getUTCDay","monthRange","getUTCDate","cloneDates","clones","timeToUntilString","getUTCHours","getUTCMinutes","getUTCSeconds","untilStringToDate","until","bits","dateTZtoISO8601","IterResult","minDate","maxDate","_result","dt","tooEarly","tooLate","pack","ar","SuppressedError","CallbackIterResult","tokens","SKIP","numberAsText","the","third","for","monday","tuesday","wednesday","thursday","friday","saturday","sunday","january","february","march","april","may","june","july","august","september","october","november","december","comma","defaultGetText","defaultDateFormatter","ToText","rrule","gettext","dateFormatter","ENGLISH","origOptions","bymonthday","bynmonthday","byweekday","days","allWeeks","someWeeks","isWeekdays","isEveryDay","sortWeekDays","isFullyConvertible","freq","IMPLEMENTED","RRule","FREQUENCIES","plural","HOURLY","MINUTELY","DAILY","bymonth","_bymonth","_bymonthday","_byweekday","byhour","_byhour","WEEKLY","MONTHLY","YEARLY","byyearday","byweekno","weekdaytext","monthtext","npos","wday","finalDelim","delim","realCallback","finalDelimiter","delimJoin","Frequency","Parser","nextSymbol","isDone","best","bestSymbol","acceptNumber","expect","parseText","ttr","AT","MO","TU","WE","TH","FR","ON","wkd","decodeWKD","decodeNTH","MDAYs","decodeM","freqIsDailyOrGreater","fromText","millisecond","DateTime","fromDate","getYear","addYears","years","yearDiv","monthMod","addWeekly","wkst","fixDay","addDaily","addHours","hours","filtered","dayDiv","hourMod","addMinutes","minutes","byminute","hourDiv","minuteMod","addSeconds","seconds","bysecond","minuteDiv","secondMod","daysinmonth","SECONDLY","initializeOptions","invalid","keys_1","defaultKeys","opts","DEFAULT_OPTIONS","byeaster","dtstart","setMilliseconds","bysetpos","bynweekday","parsedOptions","parseString","rfcString","parseLine","parseDtstart","dtstartWithZone","tzid","parseRrule","num","parseIndividualNumber","parseNumber","optionKey","SyntaxError","wdaypart","parseWeekday","DateWithZone","RangeError","datestr","isUTC","rezonedDate","localTimeZone","Intl","DateTimeFormat","resolvedOptions","dateInLocalTZ","tzOffset","dateInTimeZone","optionsToString","outValue","buildDtstart","strValues","ruleString","argsMatch","Cache","_cacheAdd","what","_cacheGet","argsKeys","findCacheDiff","cachedObject","iterResult","M365MASK","M366MASK","M28","M29","M30","M31","MDAY366MASK","MDAY365MASK","NM28","NM29","NM30","NM31","NMDAY366MASK","NMDAY365MASK","M366RANGE","M365RANGE","WDAYMASK","wdaymask","rebuildYear","firstwkst","wyearlen","firstyday","yearlen","nextyearlen","yearordinal","yearweekday","mmask","mdaymask","nmdaymask","mrange","baseYearMasks","wnomask","no1wkst","numweeks","lnumweeks","lyearweekday","lno1wkst","lyearlen","weekst","Iterinfo","rebuild","lastyear","yearinfo","lastmonth","monthinfo","nwdaymask","ranges","rebuildMonth","eastermask","easter","ydayset","mdayset","wdayset","ddayset","htimeset","mtimeset","stimeset","getdayset","gettimeset","buildPoslist","timeset","ii","dayset","poslist","daypos","timepos","tmp","emitResult","counterDate","millisecondModulo","buildTimeset","makeTimeset","removeFilteredDays","rezoneIfNeeded","currentDay","isFiltered","dayCounter","SA","SU","noCache","_iter","toText","isFullyConvertibleToText","unfold","forceset","parseInput","rrulevals","rdatevals","exrulevals","exdatevals","parsedDtstart","splitIntoLines","sep","splits","extractName","parms","breakDownLine","rdateTzid","parseRDate","rrulestr","rset_1","RRuleSet","groomRruleOptions","rdate","exrule","exdate","buildRule","rdateval","parm","validateDateParm","createGetterSetter","_rrule","field_1","_rdate","_exrule","_exdate","_exdateHash","_accept","evalExdate","zonedDate","iterSet","_addRule","_addDate","rrules","exrules","rdates","exdates","_dtstart","rdatesToString","rrs","dateString","toMs","dateUtils","dateToMilliseconds","ruleNames","freqNames","loggedWarnings","MS_IN_HOUR","RRULE_BROKEN_TIMEZONES","getRecurrenceProcessor","RecurrenceProcessor","rRule","rRuleSet","RecurrenceValidator","generateDates","recurrenceRule","evalRecurrenceRule","rruleIntervalParams","_createRruleIntervalParams","_initializeRRule","startIntervalDate","minViewDate","maxViewDate","appointmentDuration","minViewTime","_convertRruleResult","appointmentTimezoneOffset","clientOffsets_startDate","timeZoneUtils","getClientTimezoneOffset","clientOffsets_minViewDate","clientOffsets_maxViewDate","setOffsetsToDate","startDateDSTDifferenceMs","getDiffBetweenClientTimezoneOffsets","startIntervalDateDSTShift","rruleDate","convertedBackDate","_getLocalMachineOffset","convertedDateDSTShift","switchToSummerTime","resultDate","resultDateDSTShift","machineTimezoneOffset","machineTimezoneName","getMachineTimezoneName","isTimezoneOffsetInBrokenRange","isTimezoneNameInBrokenNames","timezone","hasRecurrence","_parseRecurrenceRule","validateRRule","isValidRecurrenceRule","daysFromByDayRule","byday","getAsciiStringByDate","currentOffset","offsetDate","getRecurrenceString","_parseExceptionToRawArray","getDateByAsciiString","exceptionText","isUtc","_createDateTuple","_getTimeZoneOffset","startDateUtc","ruleOptions","_createRRule","exception","getPostProcessedException","utcDate","ruleObject","ruleParts","ruleName","ruleValue","_brokenRuleNameExists","_wrongCountRule","_wrongIntervalRule","_wrongDayOfWeek","_wrongByMonthDayRule","_wrongByMonth","_wrongUntilRule","_logBrokenRule","wrongUntil","wrongCount","wrongByMonthDay","byMonthDay","wrongByMonth","byMonth","wrongInterval","byDay","daysByRule","brokenDaysExist","brokenRuleExists","LABEL_POSTFIX","WRAPPER_POSTFIX","REPEAT_END_EDITOR","FREQUENCY_EDITOR","INTERVAL_EDITOR","REPEAT_ON_EDITOR","frequenciesMessages","frequencies","repeatEndTypes","RecurrenceRule","_recurrenceProcessor","_recurrenceRule","makeRules","makeRule","getRepeatEndRule","getDaysFromByDayRule","_getFirstDayOfWeek","firstDayOfWeekIndex","_extendConfig","_$container","_prepareEditors","_renderEditors","getEditorByField","getRecurrenceForm","getEditor","_weekEditor","_repeatCountEditor","_repeatUntilDate","_editors","_createFreqEditor","_createIntervalEditor","_createRepeatOnLabel","_createRepeatOnEditor","_createRepeatEndEditor","_valueChangedHandler","_createByDayEditor","_createByMonthEditor","_createByMonthDayEditor","_daysOfWeekByRules","localDaysNames","itemsButtonGroup","_$repeatOnWeek","_getDefaultByDayValue","_changeEditorValue","monthsName","_monthOfYearByRules","_dayOfMonthByRules","repeatType","_renderRepeatCountEditor","_renderRepeatUntilEditor","_renderDefaultRepeatEnd","_repeatEndValueChangedHandler","_recurrenceForm","_disableRepeatEndParts","_setAriaDescribedBy","$label","labelId","changeValueByVisibility","_handleDefaults","startDay","dayByRule","monthByRule","$editorTemplate","_getUntilValue","repeatCount","$editorWrapper","_$repeatCountEditor","_repeatCountValueChangeHandler","_formatUntilDate","sameDate","setToDayEnd","repeatUntil","_$repeatDateEditor","_repeatUntilValueChangeHandler","appointmentTimeZone","getStartDateTimeZone","PathTimeZoneConversion","fromAppointmentToSource","fromGridToSource","dateInLocaleTimeZone","createDate","_makeRepeatOnRule","_changeRepeatOnVisibility","_changeRepeatIntervalLabel","_changeEditorsValue","previousFreq","itemOption","_changeDayOfWeekValue","_changeDayOfMonthValue","_changeMonthOfYearValue","_changeIntervalValue","_changeRepeatCountValue","_changeRepeatEndValue","_changeRepeatUntilValue","_days","untilDate","fromSourceToAppointment","fromSourceToGrid","_freqEditor","_switchEditor","DateAdapterCore","addTime","subtractMinutes","createUTCDate","getTimezoneOffsetChangeInMinutes","updatedStartDate","updatedEndDate","getDaylightOffset","calculateTimezoneByValue","dateUtc","timeZoneDataUtils","getTimeZoneOffsetById","_getDaylightOffsetByTimezone","isTimezoneChangeInDate","startDayDate","endDayDate","hasDSTInLocalTimeZone","getExtremeDates","isEqualLocalTimeZoneByDeclaration","timeZoneName","getOffset","getDateAndMoveHourBack","dateStamp","configTuple","getTimeZoneDeclarationTuple","summerTime","winterTime","localSummerOffset","localWinterOffset","nowDate","setFullYear","getDaylightOffsetInMs","getTimezoneOffsetChangeInMs","getCorrectedDateByDaylightOffsets","convertedOriginalStartDate","convertedDate","startDateTimezone","isSameAppointmentDates","correctRecurrenceExceptionByTimezone","exceptionByStartDate","startDateTimeZone","isBackConversion","timezoneOffset","firstDate","secondDate","createUTCDateWithLocalOffset","createDateFromUTCWithLocalOffset","DateAdapter","timezoneOffsetBeforeInMin","getDateWithoutTimezoneChange","clonedDate","setDate","isEqualLocalTimeZone","getTimeZones","dateInUTC","getDisplayedTimeZones","targetDate","offsetsArray","newDateMs","parseTimezone","timeZoneConfig","offsetIndices","untils","offsetList","offsetIndexList","dateList","tzCache","getTimezoneById","timeZoneInfo","_tzCache","_timeZones","timeZones","getUtcOffset","formatOffset","formatId","minutesInDecimal","tzList","getTimeZoneDeclarationTupleCore","tupleResult","currentDate","currentYear","dateTimeStamp","FONT","COMMON_AXIS_SETTINGS","DEFAULT_PANE_NAME","VISUAL_RANGE","prepareAxis","axisOptions","setAxisVisualRangeByOption","isDirectOption","skipEventRising","wrappedVisualRange","wrapVisualRange","allowPartialUpdate","_isDefined","destElem","AdvancedChart","BaseChart","_fontFields","_partialOptionChangesMap","_customVisualRange","strips","constantLines","_partialOptionChangesPath","_initCore","_panesClipRects","_disposeCore","disposeObjectsInArray","_disposeObjectsInArray","panesClipRects","_labelsAxesGroup","linkOff","_legend","_disposeAxes","_createPanes","_cleanPanesClipRects","clipArrayName","clipRect","_getElementsClipRectID","paneName","clipShape","_getPaneIndex","_updateSize","forceUpdateCanvas","areCanvasesDifferent","__currentCanvas","_canvas","floorCanvasDimensions","setCanvasValues","_reinitAxes","_populateAxes","_axesReinitialized","argumentAxesPopulatedOptions","paneWithNonVirtualAxis","_isRotated","argumentAxesOptions","valueAxisOption","valueAxesOptions","valueAxesPopulatedOptions","axisNames","valueAxesCounter","crosshairMargins","_getCrosshairMargins","getNextAxisName","virtual","_populateAxesOptions","optionPath","crosshairMargin","axisPanes","_incidentOccurred","_redesignAxes","isArgumentAxes","axesBasis","_argumentAxes","_valueAxes","opt","curAxes","axisTypes","groupsData","argumentAxisType","argumentType","valueAxisType","getAxisTypes","_groupsData","updateOptions","setTypes","_reverseEach","basis","_disposeAxis","_createAxis","applyVisualRangeSetter","_getVisualRangeSetter","isArgumentAxis","_appendAdditionalSeriesGroups","_crosshairCursorGroup","linkAppend","_scrollBar","_scrollBarGroup","_getLegendTargets","_getLegendOptions","legendData","showInLegend","_legendItemTextField","_seriesPopulatedHandlerCore","_processSeriesFamilies","_processValueAxisFormat","_renderTrackers","drawTrackers","_specialProcessSeries","paneSeries","families","themeManager","_themeManager","negativesAsZeros","familyOptions","seriesFamilies","family","adjustSeriesValues","_getLayoutTargets","_getSeriesForPane","SeriesFamily","_updateSeriesDimensions","updateSeriesValues","adjustSeriesDimensions","_getLegendCallBack","getActionCallback","_appendAxesGroups","_stripsGroup","_gridGroup","_axesGroup","_constantLinesGroup","_stripLabelAxesGroup","_scaleBreaksGroup","_populateMarginOptions","bubbleSize","panesCount","estimateBubbleSize","argumentMarginOptions","groupSeries","getValueAxis","marginOptions","seriesMarginOptions","processBubbleSize","processBubbleMargin","getMarginOptions","mergeMarginOptions","setMarginOptions","_populateBusinessRange","updatedAxis","keepRange","_getVisibleSeries","argRanges","commonArgRange","getPaneName","groupRange","seriesRange","getRangeData","setGroupSeries","setBusinessRange","_lastVisualRangeUpdateMode","commonInterval","currentInterval","categories","getArgumentAxis","_getGroupsData","valueOptions","argumentAxes","argumentOptions","_groupSeries","_correctValueAxes","axesWithFullStackedFormat","isFullStackedSeries","setPercentLabelFormat","resetAutoLabelFormat","typeSelector","userOptions","preparedUserOptions","_prepareStripsAndConstantLines","_extend","_prepareAxisOptions","_getValFilter","rangeDataCalculator","getViewPortFilter","renderingSettings","renderer","_renderer","incidentOccurred","eventTrigger","_eventTrigger","axisClass","widgetClass","stripsGroup","stripLabelAxesGroup","constantLinesGroup","scaleBreaksGroup","axesContainerGroup","labelsAxesGroup","gridGroup","_getAxisRenderingOptions","Axis","_applyVisualRangeByVirtualAxes","_applyCustomVisualRangeOption","_parseVisualRangeOption","setCustomVisualRange","_applyingChanges","_change_VISUAL_RANGE","_requestChange","_getTrackerSettings","_layoutAxes","drawAxes","needSpace","checkForMoreSpaceForPanesCanvas","_rect","_layout","backward","_createCanvasFromRect","layoutManager","needMoreSpaceForPanesCanvas","_setCustomVisualRange","axesName","_raiseZoomEndHandlers","handleZoomEnd","_optionChangedLocker","_notifyVisualRange","axisPath","convertVisualRangeObject","rangesAreEqual","_notify","_getAxesForScaling","_getAxesByOptionPath","sourceAxes","getPartialChangeOptionsName","_recreateSizeDependentObjects","_doRender","drawTitle","drawLegend","adjustAxes","resetVisualRange","_legendDataField","_adjustSeriesLabels","_noop","_floor","eventsConsts","consts","statesConsts","states","HOVER_STATE","hoverMark","NORMAL_STATE","normalMark","EVENT_NS","DOT_EVENT_NS","POINTER_ACTION","LEGEND_CLICK","SERIES_CLICK","POINT_CLICK","POINT_DATA","SERIES_DATA","ARG_DATA","NONE_MODE","ALL_ARGUMENT_POINTS_MODE","INCLUDE_POINTS_MODE","LEGEND_HOVER_MODES","tryCheckParent","getParentData","eventCanceled","clickTarget","deprecatedCancel","correctHoverMode","hoverMode","baseTrackerPrototype","tracker","_seriesGroup","seriesGroup","showPointTooltip","_showPointTooltip","hidePointTooltip","_hidePointTooltip","_pointerHandler","_holdTimer","_clickHandler","_chart","updateSeries","resetDecorations","noHoveredSeries","hoveredSeries","_hoveredPoint","_storedSeries","initHatching","_hideTooltip","pointAtShownTooltip","clearHover","setCanvases","mainCanvas","paneCanvases","_mainCanvas","_canvases","repairTooltip","_showTooltip","_setHoveredPoint","_releaseHoveredPoint","isPointerOut","_setHoveredSeries","_releaseHoveredSeries","hoveredPoint","_hoveredArgumentPoints","_resetHoveredArgument","tooltipFormatObject","getTooltipFormatObject","isShared","getStackedPoints","coords","getTooltipParams","getLocation","rootOffset","getRootOffset","pointWithTooltip","_enableOutHandler","_outHandler","inCanvas","_isCursorOnTooltip","_pointerOut","_disableOutHandler","isCursorOnTooltip","stopCurrentHandling","_triggerLegendClick","elementClick","_hoverLegendItem","getItemByCoord","legendHoverMode","isHovered","lastHoverMode","_hoverArgument","argumentIndex","_getArgumentHoverMode","_hoveredArgument","_argumentIndex","_notifySeries","notifyLegend","_notifyLegendOnHoverArgument","fullState","notify","_series","canvas","_getCanvas","getPointByCoord","_isHolding","getMarkerVisibility","coordsIn","_stuckSeries","_hoverArgumentAxis","_isPointerOut","getNeighborPoint","_stickyHovering","_setTimeout","_setStuckSeries","_pointerComplete","_pointerOnPoint","_point","_point2","_argumentAxis","_legendClick","_point3","_pointClick","ChartTracker","_axisHoverEnabled","_normalizeEnum","_rotated","_crosshair","canvases","_hideCrosshair","_this$_crosshair","_moveCrosshair","_resetTimer","_getSeriesForShared","_point4","_each","getCrosshairData","keeper","_timeoutKeeper","_hoverTimeout","_stopEvent","updateHover","PieTracker","getPointsByKeys","RollingStock","isRotated","shiftFunction","bBox","endX","endY","labels","oppositeStart","oppositeEnd","initialPosition","toChain","nextRollingStock","nextRollingStockBBox","changeBoxWidth","shiftLength","hideInsideLabel","setRollingStockInCanvas","getLabels","getInitialPosition","REINIT_REFRESH_ACTION","FORCE_RENDER_REFRESH_ACTION","RESIZE_REFRESH_ACTION","ACTIONS_BY_PRIORITY","findAndKillSmallValue","rollingStocks","smallestObject","rollingStock","checkStacksOverlapping","firstRolling","secondRolling","inTwoSides","firstRect","secondRect","oppositeOverlapping","rollingStocksIsOut","overlapping","resolveLabelOverlappingInOneDirection","isInverted","sortRollingStocks","customSorting","stubCanvas","hasStackedSeries","isStackedSeries","positiveRollingStocks","negativeRollingStocks","stock","sortRollingStocksByValue","rollingStocksTmp","iLength","jLength","overlap","checkStackOverlap","canvasSize","checkHeightRollingStock","currentRollingStock","prepareOverlapStacks","shouldSetCanvas","currentBBox","moveRollingStock","BaseWidget","_eventsMap","actionSettings","_rootClassPrefix","_rootClass","_initialChanges","_themeDependentChanges","_getThemeManagerOptions","themeOptions","_createThemeManager","chartOption","ThemeManager","setTheme","_canvasClipRect","_createHtmlStructure","_createLegend","_createTracker","_needHandleRenderComplete","LayoutManager","_createScrollBar","_getLayoutItems","_layoutManagerOptions","_reinit","_setCanvasValues","_correctAxes","createConstantLinesGroup","linkOn","under","above","linkRemove","appendLabelsAxesGroup","_backgroundRect","_panesBackgroundGroup","_panesBorderGroup","_executeAppendBeforeSeries","_executeAppendAfterSeries","_labelsGroup","_legendGroup","_getCanvasClipRectID","enableLinks","fieldNames","disposeObject","unlinkGroup","stopAllAnimations","_userOptions","_getAnimationOptions","_getDefaultSize","_getOption","_applySize","_processRefreshData","_resize","__renderOptions","isResize","_trackerType","_tracker","trackerModule","_getSelectionModes","_updateTracker","trackerCanvases","currentCanvas","_resetIsReady","drawOptions","_prepareDrawOptions","recreateCanvas","_preserveOriginalCanvas","_updateCanvasClipRect","_cleanGroups","_renderElements","_lastRenderingTime","__originalCanvas","argBusinessRange","zoomMinArg","zoomMaxArg","_prepareToRender","isLegendInside","_isLegendInside","setOptions","layoutTargets","axisDrawOptions","_renderAxes","_shrinkAxes","_applyClipRects","_appendSeriesGroups","_createCrosshairCursor","getTranslator","getBusinessRange","axisType","minVisible","maxVisible","valueMarginsEnabled","_updateLegendPosition","_applyPointMarkersAutoHiding","_renderSeries","_calculateSeriesLayout","_renderSeriesElements","hideLayoutLabels","keepLabels","_getArgFilter","_getPointsToAnimation","argViewPortFilter","valViewPortFilter","getMinValue","getMaxValue","pointsToAnimation","singleSeries","_applyExtraSettings","animationPointsLimit","_locateLabels","_renderExtraElements","_clearCanvas","_seriesElementsDrawn","_changesApplied","_drawn","_renderCompleteHandler","_resolveLabelOverlapping","_resolveLabelOverlappingStack","_resolveLabelOverlappingHide","_resolveLabelOverlappingShift","getAllSeries","currentLabel","nextLabel","currentLabelRect","nextLabelRect","getVisiblePoints","_allowLegendInsidePosition","legendSettings","legendDataField","formatObjectFields","nameField","indexField","getFormatObject","normal","textField","getLegendSettings","backgroundClass","itemGroupClass","titleGroupClass","allowInsidePosition","_updateLegend","legendOptions","_getLegendData","_change","animationOptions","maxPointCountSupported","newRefreshAction","currentRefreshActionPosition","_currentRefreshData","newRefreshActionPosition","getLegendStyles","textOpacity","opacityStyle","_disposeSeries","seriesIndex","_disposeSeriesFamilies","resetOptions","_optionChangesMap","_optionChangesOrder","_customChangesOrder","_change_ANIMATION","updateAnimationOptions","_change_DATA_SOURCE","_updateDataSource","_change_PALETTE","updatePalette","_refreshSeries","_change_REFRESH_SERIES_DATA_INIT","_change_DATA_INIT","needToPopulateSeries","_dataInit","_change_FORCE_DATA_INIT","_change_REFRESH_SERIES_FAMILIES","_change_FORCE_RENDER","_change_AXES_AND_PANES","_change_ROTATED","_change_REFRESH_SERIES_REINIT","_change_REFRESH_AXES","_change_SCROLL_BAR","_change_REINIT","_change_FORCE_DRAWING","_resetComponentsAnimation","_change_FORCE_FIRST_DRAWING","isFirstDrawing","resetApplyingAnimation","_resetAxesAnimation","_change_CORRECT_AXIS","_doRefresh","_dataSourceChangedHandler","_dataSpecificInit","_processSingleSeries","createPoints","_handleSeriesDataUpdated","useAggregation","needRedraw","_populateSeries","_repopulateSeries","_forceRender","_dataSourceItems","dataValidatorOptions","parsedData","validateData","resetPalette","updateData","getArgumentField","allSeriesInited","canRenderCompleteHandle","_dataIsReady","_dataIsLoaded","_populateSeriesOptions","particularSeriesOptions","seriesTheme","seriesOptions","processSeriesTemplate","allSeriesOptions","extraOptions","_getExtraOptions","seriesThemes","seriesVisibilityChanged","visibilityChanged","_checkPaneName","particularSeries","seriesBasis","disposeSeriesFamilies","curSeries","sb","eventPipe","currentSeries","renderSettings","commonSeriesModes","_getValueAxis","labelsGroup","isUpdated","stackName","getStackName","stackPoints","getPointsByArg","getSeriesByName","getSeriesByPos","hideTooltip","__forceRender","_getMinSize","_change_REFRESH","_change_FULL_RENDER","_change_INIT","_stopCurrentHandling","addPlugin","exportPlugin","titlePlugin","dataSourcePlugin","tooltipPlugin","loadingIndicatorPlugin","_change_TITLE","errorUtils","ERROR_MESSAGES","E2001","E2002","E2003","E2004","E2005","E2006","E2007","E2008","E2009","E2101","E2102","E2103","E2104","E2105","E2202","E2203","W2002","W2003","W2101","W2102","W2103","W2104","W2105","W2106","W2107","W2108","W2301","warnings","getResizeManager","resizeCallback","unsubscribe","createDeferredHandler","_max","_round","horizontalAlignmentMap","verticalAlignmentMap","sideMap","slicersMap","pickValue","normalizeLayoutOptions","horizontalAlignment","verticalAlignment","weak","getShrink","processForward","minSide","processRectBackward","alignmentRect","primarySide","secondarySide","itemRect","processBackward","fitRect","itemFitRect","Layout","_targets","processBackwardHeaderRect","rectCopy","makeHeader","weakElement","targetSize","weakSize","headerSize","weakRect","headerFitReact","headerRect","forward","layoutOptions","weakItem","processWeakItems","createTargets","backwardRect","targetSide","OPTION_RTL_ENABLED","SIZED_ELEMENT_CLASS","baseOptionMethod","getTrue","getFalse","defaultOnIncidentOccurred","hasEvent","pickPositiveValue","callForEach","functions","baseWidget","emptyComponentConfig","sizedElement","setClass","insertElement","EmptyComponent","originalInherit","getEmptyComponent","_useLinks","_changesLocker","_asyncFirstDrawing","_suspendChanges","setCallback","_renderElementAttributes","_initRenderer","useLinks","virtualLink","_renderVisibilityChange","_attachVisibilityChangeHandlers","_toggleParentsScrollSubscription","_isVisible","_initEventTrigger","_stringFormat","_Layout","linkAfter","_initPlugins","BaseThemeManager","themeSection","_themeSection","fontFields","_plugins","plugin","_disposePlugins","codes","_resumeChanges","_optionsQueue","_applyQueuedOptions","resolveItemsDeferred","_resolveDeferred","_getTemplatesItems","_collectTemplatesFromItems","getTemplatesDef","getTemplatesGroups","extraItems","_getExtraTemplatesItems","launchRequest","doneRequest","_setGroupsVisibility","_changesApplying","syncRendering","_totalChangesOrder","changesOrderLength","_layoutChangesOrder","_change_EVENTS","_change_THEME","_setThemeAndRtl","_change_RENDERER","_setRendererOptions","_change_RESIZE_HANDLER","_setupResizeHandler","_change_ELEMENT_ATTR","_change_CONTAINER_SIZE","_change_LAYOUT","_setContentSize","_change_DISABLED","_initDisabledState","getGrayScaleFilter","rawCanvas","_calculateRawCanvas","Renderer","_disposeRenderer","$parents","_proxiedTargetParentsScrollHandler","_$prevRootParents","_removeResizeHandler","eventsMap","callbackGetter","triggers","eventInfo","newName","createEventTrigger","defaultCanvas","getSizeOfSide","elementSize","_getAlignmentRect","nextRect","isScalar","_parseScalar","_disposeResizeHandler","disposeHandler","resizeManager","normalizeEnum","_windowResizeCallbacks","resizeObserverSingleton","unobserve","createResizeHandler","_onBeginUpdate","_initialized","_isUpdateAllowed","_isObject","_getActionForUpdating","partialChanges","pc","changedOption","sections","partialChangeOptionsName","_addOptionsNameForPartialUpdate","_checkOptionsForPartialUpdate","optionObject","optionKeys","_getRendererOptions","svg","onEndAnimation","replaceInherit","FRAME_ANIMATION_STEP_TIME","request","requestID","setAnimationFrameMethods","nativeRequest","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","nativeCancel","webkitCancelAnimationFrame","mozCancelAnimationFrame","oCancelAnimationFrame","msCancelAnimationFrame","CSS_TRANSITION_EASING_REGEX","TransitionTimingFuncMap","linear","swing","ease","convertTransitionTimingFuncToEasing","cssTransitionEasing","forceName","coeffs","easingName","Cx","Bx","Ax","Cy","By","Ay","bezierX","derivativeX","polynomBezier","removeEventName","RELATIVE_VALUE_REGEX","ANIM_DATA_KEY","ANIM_QUEUE_KEY","TRANSFORM_PROP","TransitionAnimationStrategy","initAnimation","transitionProperty","setProps","cleanupWhen","transitionAnimation","_finishTransition","_cleanup","resolveWith","_completeAnimationCallback","rejectWith","_startAnimation","simulatedEndEventTimer","transitionEndFired","simulatedTransitionEndFired","transitionEndEventFullName","transitionEndEventName","cleanup","waitForJSCompleteTimer","_simulatedTransitionEndDelay","transitionDelay","transitionDuration","transitionTimingFunction","jumpToEnd","FrameAnimationStrategy","_normalizeValue","_parseTransform","frameAnimation","animationFrameId","getTranslateCss","delayTimeout","_animationStep","transformString","translateData","parseTranslate","scaleData","rotateData","_calcStepValue","currentDuration","calcValueRecursively","endPropValue","FallbackToNoAnimationStrategy","isSynchronous","baseConfigValidator","animationType","typeMessage","isObjectConfigValidator","positionAliases","SlideAnimationConfigurator","validateConfig","positioningConfig","setupPosition","_setUpConfig","_initNewPosition","relativeValue","_getRelativeValue","FadeAnimationConfigurator","_from$opacity","_to$opacity","defaultFromOpacity","defaultToOpacity","fromOpacity","toOpacity","skipElementInitialStyles","animationConfigurators","custom","slide","slideIn","slideOut","fade","fadeIn","fadeOut","fromScale","toScale","getTranslate","_getCssTransform","isStringConfigValidator","defaultJSConfig","defaultCssConfig","setupAnimationOnElement","configurator","startAnimationOnElement","removeData","onElementAnimationComplete","stopAnimationOnElement","startTimeout","scopedRemoveEvent","createAnimation","initialConfig","defaultConfig","getAnimationConfigurator","animationStrategies","frame","noAnimation","getAnimationStrategy","subscribeToRemoveEvent","getAnimQueueData","destroyAnimQueueData","isAnimating","shiftFromAnimationQueue","queueData","executeAnimation","win","animationTypes","writeAnimQueueData","pushInAnimationQueue","horzRe","vertRe","collisionRe","scaleRe","IS_SAFARI","normalizeAlign","normalizeOffset","preventRound","pairToObject","getAlignFactor","inverseAlign","calculateOversize","myLocation","collisionSide","initMyLocation","atLocation","atAlign","atSize","myAlign","mySize","collisionResolvers","fit","flip","inverseData","flipfit","none","$scrollDiv","defaultPositionResult","calculatePosition","$what","normalizeCollision","isWindow","visualViewport","innerWidth","outerHeight","ofRect","getOffsetWithoutScale","windowWidth","getDocumentElement","hZoomLevel","vZoomLevel","boundaryWidth","boundaryHeight","$boundary","boundaryPosition","preciser","setScaleProperty","transformProp","styleAttr","isNode","$startElement","_currentElement$getAt","_currentElement$style","_style$match","$currentElement","currentElement","resetPosition","TRANSLATOR_DATA_KEY","TRANSFORM_MATRIX_REGEX","TRANSLATE_REGEX","isPercentValue","cacheTranslate","matrix","is3D","finishTransition","originalTransition","stylesConfig","translateString","standardColorNames","darkgrey","darkslategrey","dimgrey","lightgrey","lightslategrey","rebeccapurple","slategrey","standardColorTypes","colorString","hsvToRgb","baseColor","parseColor","colorIsInvalid","hsv","toHsvFromRgb","hsl","convertTo01Bounds","maxMinSum","calculateHue","toHslFromRgb","colorComponent","vMin","vInc","vDec","makeColorTint","colorPart","colorTint","hueToRgb","modifyColorTint","isIntegerBetweenMinAndMax","alter","toHex","blend","blendColor","getPureColor","isValidHex","isValidRGB","isValidAlpha","fromHSL","Action","_action","_beforeExecute","beforeExecute","_afterExecute","_validatingTargetName","validatingTargetName","_excludeValidators","argsBag","_validateAction","_executeAction","_executor$validate","executor","_executor$execute","registerExecutor","unregisterExecutor","createValidatorByTargetElement","wrapOverridden","baseProto","prevCallBase","redefine","overridden","classObj","hasClassObjOwnProperty","_includedCtors","_includedPostCtors","postCtor","parentClass","baseClass","abstract","copyStatic","destination","classImpl","inheritor","includedCtors","includedPostCtors","clonePrototype","cachedGetters","cachedSetters","OptionManager","optionsByReference","_changingCallback","_changedCallback","_namePreparedCallbacks","_setByReference","rulesOptions","_setPreparedValue","unwrapObservables","_prepareRelevantNames","valueName","normalizeOptions","_name","onRelevantNamesPrepared","onChanging","deprecatedOptions","_deprecatedCallback","_startChangeCallback","_endChangeCallback","_default","_deprecated","_deprecatedNames","_initDeprecatedNames","_optionManager","_setRelevantNames","_cachedOptions","_rules","_initial","_initialOptions","_getByRules","convertRulesToOptions","_notifyDeprecated","normalizedName","_normalizeName","_setField","_clearField","fieldObject","getFieldName","getParentName","previousFieldName","deprecate","addRules","applyRules","onDeprecated","onStartChange","onEndChange","isInitial","initial","getNestedOptionValue","getAliasesByName","aliasName","isDeprecated","PostponedOperations","_postponedOperations","postponedPromise","completePromise","callPostponedOperations","getEventName","_getDeprecatedOptions","defaultOptionsRules","_setOptionsByDevice","_convertRulesToOptions","_isInitialOptionValue","_getOptionsByReference","_optionChangedCallbacks","_disposingCallbacks","publicComponentName","postponedOperations","_createOptions","_optionChanging","_logDeprecatedOptionWarning","onInitializing","_createOptionChangedAction","fireWith","_logDeprecatedComponentWarning","_optionChangedAction","_createDisposingAction","_disposingAction","_lockUpdate","_unlockUpdate","_isInitializingRequired","_initializing","_commitUpdate","_initializeComponent","_cancelOptionChange","initialOption","_defaultActionConfig","actionSource","actionValue","actionFunc","Config","wrapActionsBeforeExecute","hasActionSubscription","isOptionDeprecated","_getOptionValue","MemorizedCallbacks","memberArgs","memberValue","defaultCurrency","defaultUseCurrencyAccountingStyle","oDataFilterToLower","serverDecimalSeparator","decimalSeparator","thousandsSeparator","useLegacyStoreResult","useJQuery","editorStylingMode","useLegacyVisibleIndex","floatingActionButtonConfig","closeIcon","maxSpeedDialActionCount","optionsParser","optionsString","ex","deprecatedFields","configMethod","newConfig","deprecatedField","DevExpress","KNOWN_UA_TABLE","iPhone","iPhone5","iPhone6","iPhone6plus","iPad","iPadMini","androidPhone","androidTablet","msSurface","desktop","DEFAULT_DEVICE","phone","tablet","generic","grade","mac","UA_PARSERS","isPhone","isTablet","isDesktop","isMac","appleTouchDevice","getNavigator","isIpadOs","screen","isAndroid","isWinPhone","UA_PARSERS_ARRAY","_window","_realDevice","_getDevice","_currentDevice","_currentOrientation","readyCallbacks","_recalculateOrientation","deviceOrName","_forced","_getDeviceOrNameFromWindowScope","_getDeviceNameFromSessionStorage","forceDevice","isRippleEmulator","tinyHippos","_getCssClasses","realDevice","attachCssClasses","_deviceClasses","detachCssClasses","_isSimulator","forceSimulator","deviceName","_fromConfig","_fromUA","SessionStorage","shortcuts","_changeOrientation","_currentWidth","viewPortElement","changeCallback","prevViewport","nativeDOMAdapterStrategy","elementMatches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","_document","isDocumentFragment","nextSiblingElement","isAdd","_element$getRootNode","_element$getRootNode2","getBody","createDocumentFragment","getReadyState","readyState","getHead","hasDocumentProperty","activeElementHolder","getShadowElementsFromPoint","injector","DX_POLYMORPH_WIDGET_TEMPLATE","FunctionTemplate","widgetElement","TemplateManager","_tempTemplates","_defaultTemplates","_anonymousTemplateName","_createElement","defaultCreateElement","_createTemplateIfNeeded","createDefaultOptions","watchMethod","tempTemplate","extractTemplates","$el","_extractTemplates","anonymousTemplateMeta","_extractAnonymousTemplate","findTemplates","suitableTemplates","suitableTemplatesByName","_createTemplate","$anonymousTemplate","isEmptyText","templateSource","cachedTemplate","templateKey","validateTemplateSource","isAsyncTemplate","skipTemplates","templateSourceResult","getNormalizedTemplateArgs","acquireTemplate","_customClass","attachInstanceToElement","_getSynchronizableOptionsForCreateComponent","_checkFunctionValueDeprecation","_attachWindowResizeCallback","_initTemplateManager","instanceCustomRules","_classCustomRules","_isDimensionChangeSupported","windowResizeCallBack","_windowResizeCallBack","windowResizeCallbacks","_toggleRTLDirection","addShadowDomStyles","_attachDimensionChangeHandlers","_isVisibilityChangeSupported","_isCssUpdateRequired","resizeEvent","_isHidden","visibilityEvents","_checkVisibilityChanged","_modelByElement","modelByElement","_requireRefresh","_refresh","_detachWindowResizeCallback","synchronizableOptions","nestedComponentOptions","nestedComponentConfig","extendConfig","_removeAttributes","_removeClasses","lastIndexOf","_updateDOMComponent","renderRequired","cleanDataRecursive","anonymousTemplate","_saveTemplate","getInstanceByElement","dataMap","strategyChanging","beforeCleanDataFunc","afterCleanDataFunc","beforeCleanData","cleanSelf","childElements","cleanData","setDataStrategy","E0001","E0002","E0003","E0004","E0005","E0006","E0007","E0008","E0009","E0010","E0011","E0012","E0013","E0014","E0015","E0017","E0018","E0020","E0021","E0022","E0023","E0024","E0025","E0100","E0101","E0102","E0103","E0110","E0120","E0121","W0000","W0001","W0002","W0003","W0004","W0005","W0006","W0007","W0008","W0009","W0010","W0011","W0012","W0013","W0014","W0015","W0016","W0017","W0018","originalAdd","_normalize","_generate","currentDevice","deviceFilter","deviceMatch","findBestMatches","optionsObject","createDefaultOptionRules","initRender","dxRenderer","repeatMethod","setAttributeValue","isTablePart","parseHTML","appendElements","setCss","styleProp","normalizeStyleProp","wrapInner","elementId","queryId","_element$host","getClientRects","parentChildNodes","emptyArray","offsetProp","scrollWindow","directionStrategy","getWindowByElement","rendererWrapper","ResizeObserverMock","ResizeObserver","_callbacksMap","_observer","_this$_callbacksMap$g","BindableTemplate","TemplateBase","fieldsMap","_fieldsMap","_watchMethod","rawData","fieldsDispose","globalDispose","dataWithRawFields","isPrimitive","resolvedData","missedFields","watchHandlers","fieldGetter","watchChanges","ChildDefaultTemplate","normalizeTemplateElement","renderedCallbacks","renovated","_ensureResultInContainer","resultInContainer","triggerShownEvent","nativeXMLHttpRequest","getXhr","SUCCESS","ERROR","createScript","removeScript","scriptNode","appendToHead","evalScript","getRequestOptions","paramsAlreadyString","paramsConvert","getRequestHeaders","defaultContentType","contentType","getContentTypeHeader","Accept","scriptAccept","accepts","json","jsonp","extendFromObject","getAcceptHeader","crossDomain","xhr","httpRequest","originAnchor","urlAnchor","isCrossDomain","needScriptEvaluation","callbackName","jsonpCallback","callbackParameter","getJsonpOptions","loadHandler","evalCrossDomainScript","username","customStatus","setHttpTimeout","onreadystatechange","hasContent","getDataFromResponse","onprogress","onloadstart","onabort","setRequestHeader","createOccurrenceMap","_map$get","wrapToArray","getUniqueValues","firstArray","secondArray","toRemoveMap","occurrencesCount","removeDuplicates","indexPropName","needIndexCallback","indexedItems","shouldUpdateIndex","groupBy","getGroupName","groupedResult","_groupedResult$groupN","getKeyWrapper","getSameNewByOld","isKeysEqual","oldKeys","newKeys","isItemEquals","oldIndexByKey","addedCount","oldNextIndex","nextOldItem","oldIndex","webkitRegExp","mozillaRegExp","browserFromUA","browserName","browserVersion","_wrappedHandler","Callback","_list","_queue","_firing","_fired","_firingIndexes","_fireCore","firingIndexes","fired","executingName","ensureDefined","normalizedContext","delayedFuncs","delayedNames","delayedDeferreds","deferExecute","oldExecutingName","currentDelayedCount","deferRenderer","deferUpdater","targetFilter","mapFn","bestMatches","maxMatchCount","itemSrc","matchCount","paramName","targetValue","mismatch","valueItem","_raw$x","_raw$y","normalizeKey","denormalizeKey","char","escapeRegExp","applyServerDecimalSeparator","asyncNoop","checkFunction","expectedCheck","DEFAULT_EQUAL_BY_VALUE_OPTS","value1","value2","comparable1","comparable2","object1","object2","keys1","keys2","keys2Set","compareArrays","array1","array2","compareOptions","hasNegation","getConsoleMethod","unwrapVariable","assignPropValue","prepareOptions","functionAsIs","hasDefaultValue","pathPart","getters","compiledGetters","pathItem","combineGetters","ensurePropValueDefined","lastLevelIndex","levelIndex","propertyValue","readPropValue","isPropertyFunc","caseSensitive","timeIntervals","toMilliseconds","dateUnitIntervals","convertMillisecondsToDateUnits","dateUnitCount","dateUnitInterval","convertDateUnitToMilliseconds","dateUnit","getDateUnitInterval","maxInterval","tickIntervalToFormatMap","getQuarter","getFirstQuarterMonth","correctDateWithUnitBeginning","dateInterval","withCorrection","firstQuarterMonth","oldDate","getFirstWeekDate","fixTimezoneGap","trimTime","addDateInterval","intervalObject","getDateIntervalByString","quarters","weeks","addInterval","isNegative","getLastMonthDay","createDateWithFullYear","intervalString","sameMonthAndYear","sameYear","getFirstDecadeInCentury","getFirstYearInDecade","getUTCTime","getFirstDateInYear","getLastDateInYear","getDayWeekNumber","normalizeDate","normalizedDate","newDate","trial","getTimezonesDifference","getNextDateUnit","withWeeks","getDateFormatByTickInterval","getDatesDifferences","counter","differences","roundDateByStartDayHour","dateTimeFromDecimal","getSequenceByInterval","sameHoursAndMinutes","sameMonth","sameDecade","startDecadeDate1","startDecadeDate2","sameCentury","startCenturyDate1","startCenturyDate2","getDifferenceInMonth","typeView","difference","getDifferenceInMonthForCells","getShortDateFormat","getViewFirstCellDate","getViewLastCellDate","getViewDown","getViewUp","getLastMonthDate","getFirstMonthDate","getWeekNumber","firstWeekDayInYear","lastWeekDayInYear","daysInFirstWeek","weekNumber","normalizeDateByWeek","differenceInDays","getDatesInterval","dateInRange","intervalsOverlap","firstMin","firstMax","secondMin","secondMax","roundToHour","getViewMinBoundaryDate","getViewMaxBoundaryDate","makeDate","intervalUnit","millisecondCount","getDatesOfInterval","NUMBER_SERIALIZATION_FORMAT","DATE_SERIALIZATION_FORMAT","ISO8601_PATTERN","ISO8601_TIME_PATTERN","ISO8601_PATTERN_PARTS","DATE_SERIALIZATION_PATTERN","dateParser","skipISO8601Parsing","getTimePart","timeZoneHour","timeZoneMinute","correctYear","parseISO8601String","isDefaultSerializationFormat","parseDate","getIso8601Format","getLDMLFormatter","defaultDateNames","deferredConfig","_DeferredObj","_promise","isPromise","whenFunc","contexts","resolvedCount","BaseClass","InjectedClass","initialFields","injectFields","injectionObject","inject","resetInjection","_activeElement$blur","closestCommonParent","startTarget","endTarget","$startTarget","$endTarget","$startParents","$endParents","extractTemplateMarkup","templateTag","clipboardText","getRootNodeHost","createTextElementHiddenCopy","elementStyles","includePaddings","float","shadowHost","ERROR_URL","baseErrors","formatDetails","getErrorUrl","formatMessage","__id","__details","makeError","combineMessage","overrideExistingValues","sourceValue","sourceValueIsArray","isTagName","tagWrappers","tagsCount","startTags","endTags","thead","td","tr","tbody","colgroup","tfoot","th","firstRootTag","tagWrapper","ICON_CLASS","getImageSourceType","_upperCaseFirst","_chop","upperFirst","humanize","DIGIT_CHARS","captionList","isPrevCharNewWord","isNewWord","reverseEach","fitIntoRange","isMinValueUndefined","isMaxValueUndefined","inRange","getExponent","toExponential","multiplyInExponentialForm","exponentShift","exponentialNotation","mantissa","exponent","getExponentialNotation","separatedAdjustedValue","precision","getPrecision","separatedValue","absValue","isExponentValue","isExponential","integerPart","toPrecision","positionOfDelimiter","getRoot","solveCubicEquation","D2","roots","D3","getRemainderByDivision","dividend","quotient","roundFloatPart","getExponentLength","_valueString$split$","valueString","Clone","isNumberX","isNumberY","assignValueToProperty","assignByReference","extendComplexObject","isRtlEnabled","COMPONENT_NAMES_DATA_KEY","nextAnonymousComponent","generatedName","disposeFn","subscribeReady","windowExists","prevSize","originalCallbacksAdd","originalCallbacksRemove","formatSize","handleResize","changedDimension","setPrevSize","SelectionFilterCreator","selectedItemKeyHashesMap","getLocalFilter","keyGetter","equalKeys","equalByReference","functionFilter","getExpr","filterExprPart","getFilterForPlainKey","itemKeyValue","currentKeyExpr","dataSourceFilter","forceCombinedFilter","normalizeKeys","selectedKeyHashesMap","normalizedKeys","DX_RULE_PREFIX","ownerDocumentStyleSheet","createConstructedStyleSheet","CSSStyleSheet","styleElement","processRules","targetStyleSheet","needApplyAllStyles","_rule$selectorText","_rule$cssRules","_rule$cssRules$","_rule$cssRules$$selec","_rule$name","_rule$style","_el$getRootNode","currentShadowDomStyleSheet","adoptedStyleSheets","isPositionInElementRectangle","elementQueue","shiftIndex","createQueue","SPECIAL_HEIGHT_VALUES","getSizeByStyles","getElementBoxParams","beforeName","afterName","_element$ownerDocumen","getCSSProperty","_element$style","boxIndices","dimensionComponents","getComponentThickness","parseHeight","getContainerHeight","getHeightWithOffset","addOffsetToMaxHeight","addOffsetToMinHeight","getVerticalOffsets","withMargins","boxParams","getVisibleHeight","boundingClientRect","implementationsMap","elementSizeHelper","_len5","_key5","_len6","_key6","_len7","_key7","_len8","_key8","_len9","_key9","_len11","_key11","sizeProperty","includeMargin","getInnerHeight","partialName","isOuter","isInner","isGetter","offsetFieldName","currentBox","targetBoxIndex","currentBoxIndex","coeff","scrollThickness","boxPart","paddingAndBorder","sizeAdjustment","isBorderBox","docElem","clientTop","clientLeft","getSessionStorage","encodeRegExp","quad","splitQuad","placeholderReg","SPACE_REGEXP","jsPrefixes","cssPrefixes","Webkit","Moz","originalName","prefixedProp","stylePropPrefix","cssPrefixesCount","jsPrefix","forEachPrefixes","specific","pxExceptions","setDimensionProperty","transitionEndEventNames","webkitTransition","MozTransition","OTransition","supportProp","touchEvents","hasWindowProperty","detectTouchEvents","hasProperty","detectPointerEvent","isNativeScrollingSupported","HIDDEN_FOR_EXPORT","getSvgMarkup","markup","fixNamespaces","getMarkup","getSvgElement","currentTemplateEngine","templateEngines","registerTemplateEngine","templateEngine","getCurrentTemplateEngine","jQuery","tmpl","jsrender","Mustache","Hogan","Handlebars","doT","setTemplateEngine","_compiledTemplate","rawTemplates","templatesMap","Errors","_findBestMatches$","suitableTemplate","addOneRenderedCall","templateResult","acquireIntegrationTemplate","integrationTemplate","addPublicElementNormalization","defaultTemplates","typeOfObject","jquery","isEvent","dependencyInjector","isWritableWrapped","normalizeArg","xItem","yItem","$originalViewPort","$current","isNewViewportFound","prevViewPort","originalViewPort","hasWindowValue","windowObject","defaultScreenFactorFunc","getCurrentScreenFactor","screenFactorCallback","storeImpl","_errorHandler","errorHandler","_useDefaultSearch","_clearCache","_keyGetter","_requireKey","_withLock","_loadImpl","createQuery","processRequestResultLock","_totalCountImpl","_addFailHandlers","_byKeyImpl","_insertImpl","callbackValues","callbackKey","_updateImpl","beforePushArgs","waitFor","_pushImpl","_removeImpl","handleError","registerClass","Iterator","countable","ArrayIterator","WrappedIterator","MapIterator","mapper","xValue","yValue","SortIterator","_wrap","sortedIter","_ensureSorted","_compare","_unwrap","wrappedItem","xIndex","yIndex","rulesCount","compareResult","compileCriteria","compileEquals","negate","crit","isGroupCriterion","isConjunctiveOperator","isConjunctiveNextOperator","isConjunctiveOperatorChecker","isUnaryOperation","normalizeBinaryCriterion","operatorFn","getterValue","FilterIterator","GroupIterator","_ensureGrouped","groupedIter","SelectIterator","SliceIterator","arrayQueryImpl","queryOptions","handleDataError","aggregateCore","standardAggregate","chainQuery","selectProp","initialArray","Query","rejectedPromise","trivialPromise","findItems","setDataByKeyMapValue","_dataByKeyMap","_dataByKeyMapLength","cloneInstanceWithChangedPaths","clonedInstances","instanceWithoutPrototype","immutable","disableCache","logError","dataByKeyMap","arrayLength","generateDataByKeyMap","getErrorResult","isBatch","errorCode","keyOrKeys","getCacheValue","newTarget","getHasKeyCacheValue","TOTAL_COUNT","LOAD","BY_KEY","UPDATE","REMOVE","ensureRequiredFuncOption","throwInvalidUserFuncResult","createUserFuncFailureHandler","pendingDeferred","promiseArguments","textStatus","getResponseHeader","errorMessageFromXhrUtility","errorMessageFromXhr","XHR_ERROR_UNLOAD","invokeUserLoad","userResult","userFunc","_loadFunc","runRawLoad","userFuncOptions","continuation","__rawData","loadPromise","__rawDataPromise","_cacheRawData","runRawLoadWithQuery","countOnly","itemsQuery","totalCountQuery","rawDataQuery","arrayQuery","waitList","asyncResult","loadMode","_loadMode","cacheRawData","_totalCountFunc","_byKeyFunc","_insertFunc","_updateFunc","_removeFunc","clearRawDataCache","invokeUserTotalCountFunc","_byKeyViaLoad","runRawLoadWithKey","invokeUserByKeyFunc","serverResponse","discardPendingTasks","_tasks","_busy","removeTaskCallback","busy","OperationManager","_counter","CANCELED_TOKEN","_options$reshapeOnPus","_changedTime","pushAggregationTimeout","pushDeferred","lastPushWaiters","throttlingTimeout","throttlingPushHandler","throttleChanges","_onPush","_onPushHandler","_aggregationTimeoutId","_storeLoadOptions","_extractLoadOptions","_mapFunc","_postProcessFunc","_loadQueue","_createLoadQueue","_searchValue","_searchOperation","searchOperation","_searchExpr","_reshapeOnPush","reshapeOnPush","_operationManager","_userData","_this$_delayedLoadTas","customNames","newIndex","generateStoreLoadOptionAccessor","normalizedArgs","normalizeStoreLoadOptionAccessorArguments","newFilter","argc","_this$_store","_scheduleFailCallbacks","_scheduleChangedCallbacks","loadSingle","_createStoreLoadOptions","isEmptyArray","_applyMapFunction","isPending","_loadFromStore","loadOperation","_createLoadOperation","changingArgs","dataSourceChanges","postProcessChanges","_addSearchOptions","_addSearchFilter","handleSuccess","_processStoreLoadResult","resolvePendingDeferred","_applyPostProcessFunction","mapDataRespectingGrouping","originalArguments","mapRecursive","mapGroup","restItem","createCustomStoreFromLoadFunc","storeConfig","createCustomStoreFromUrl","normalizationOptions","ajaxUtils","fromUrlLoadMode","createStoreFromConfig","coreErrors","E4000","E4001","E4002","E4003","E4004","E4005","E4006","E4007","E4008","E4009","E4010","E4011","E4012","E4013","E4014","E4015","E4016","E4017","E4018","E4019","E4020","E4021","E4022","E4023","E4024","W4000","W4001","W4002","remoteQueryImpl","createTask","executorTask","_adapterFactory","_adapter","_taskQueue","_currentTask","_mergedSortArgs","rejectWithNotify","mergeSortTask","queryAdapters","unmergedTasks","clientChain","queryImpl","remote","impl","filteredGroup","isCountQuery","keepInitialKeyOrder","unloading","textStatusMessages","parsererror","lockDeferred","obtain","release","throttled","throttle","DataControllerMock","loadNextPage","addSearchFilter","resetDataSourcePageIndex","applyMapFunction","DATA_SOURCE_OPTIONS_METHOD","DATA_SOURCE_CHANGED_METHOD","DATA_SOURCE_LOAD_ERROR_METHOD","DATA_SOURCE_LOADING_CHANGED_METHOD","DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD","SPECIFIC_DATA_SOURCE_OPTION","NORMALIZE_DATA_SOURCE","widgetDataSourceOptions","dataSourceType","_dataSourceType","_addDataSourceHandlers","_initDataController","_this$option","_addDataSourceChangeHandler","_addDataSourceLoadErrorHandler","_addDataSourceLoadingChangedHandler","_addReadyWatcher","_ready","_proxiedDataSourceChangedHandler","_proxiedDataSourceLoadErrorHandler","_proxiedDataSourceLoadingChangedHandler","_loadSingle","_isDataSourceLoading","nodesByEvent","CLICK_EVENT_NAME","lastFiredEvent","onNodeRemove","clickHandler","eventAlreadyFired","DXCLICK_FIRED","unsubscribeNodesDisposing","subscribeNodesDisposing","ClickEmitter","blurPrevented","subscribeGlobal","registerEmitter","CONTEXTMENU_NAMESPACE","CONTEXTMENU_NAMESPACED_EVENT_NAME","HOLD_NAMESPACED_EVENT_NAME","CONTEXTMENU_EVENT_NAME","_contextMenuHandler","_holdHandler","_fireContextMenu","teardown","registerEvent","activeFeedback","ACTIVE_EVENT_NAME","INACTIVE_EVENT_NAME","FeedbackEvent","_timeout","_fire","_schedule","_timer","FeedbackEmitter","_active","_inactive","activeTimeout","inactiveTimeout","activeChildExists","childJustActivated","_cancel","_initEvents","_getEmitterTarget","mouseEvent","deferFeedback","_fireEvent","skipTimers","lockInactive","_cancelCallback","_acceptCallback","isDxMouseWheelEvent","validatePointers","hasTouches","allowInterruptionByMouseWheel","addCancelCallback","removeCancelCallback","addAcceptCallback","removeAcceptCallback","_requestAccept","_acceptRequestEvent","_forgetAccept","delegateSelector","MANAGER_EVENT","EMITTER_DATA","_attachHandlers","_proxiedCancelHandler","_cancelHandler","_proxiedAcceptHandler","_acceptHandler","_pointerMoveHandler","_pointerUpHandler","_mouseWheelHandler","_eachEmitter","activeEmitters","_activeEmitters","_applyToEmitters","resetEmitter","_updateEmitters","_isSetChanged","_cleanEmitters","_fetchEmitters","currentSet","_closestEmitter","previousSet","_emittersSet","setChanged","handleEmitter","emitters","acceptedEmitter","_cancelEmitter","canceledEmitter","emitterIndex","_allowInterruptionByMouseWheel","_adjustWheelEvent","allowInterruption","closestGestureEmitter","gesture","getDirection","verticalGestureDirection","isActive","EMITTER_SUBSCRIPTION_DATA","emitterConfig","emitterClass","emitterName","emitterEvents","noBubble","subscriptions","handleObj","disposeEmitter","eventObject","bindType","delegateType","touchPropsToHook","EMPTY_EVENT_NAME","NATIVE_EVENTS_TO_SUBSCRIBE","mouseenter","mouseleave","pointerenter","pointerleave","NATIVE_EVENTS_TO_TRIGGER","focusin","focusout","NO_BUBBLE_EVENTS","forcePassiveFalseEventNames","matchesSafe","skipEvent","elementDataMap","guid","special","specialData","registerEventCallbacks","callMethod","normalizeOnArguments","getHandlersController","addHandler","oneTimeHandler","normalizeTriggerArguments","extraParameters","handlersController","callHandlers","isPropagationStopped","_element$parentNode","nativeMethodName","localName","callNativeMethod","applyForEach","itemArgs","passiveEventHandlersSupported","isSupported","DOCUMENT_POSITION_CONTAINS","eventNameParts","namespaces","eventNameIsDefined","handleObjects","nativeHandler","callHandler","secondaryTargetIsInside","handlerArgs","handleObject","wrappedHandler","nativeListenerOptions","subscribeName","shouldAddNativeListener","Event","passive","removeByEventName","removedHandler","isSubset","forceStop","handleCallback","isImmediatePropagationStopped","original","iterateEventNames","calculateWhich","initEvent","EventClass","addProperty","hook","eventInstance","_propagationStopped","_immediatePropagationStopped","_defaultPrevented","propagationStopped","stopImmediatePropagation","normalizeEventArguments","_src$view","isTrusted","timeStamp","touchPropHook","hookTouchProps","beforeSetStrategy","afterSetStrategy","engine","offArgs","COMPOSITION_START_EVENT","NAMESPACE","createKeyDownOptions","KeyboardProcessor","_keydown","_compositionStart","_compositionEnd","focusTarget","_focusTarget","_handler","_processFunction","focusTargets","isNotFocusTarget","shouldSkipProcessing","_isComposingJustFinished","_isComposing","_toggleProcessingWithContext","toggleProcessing","EVENT_NAME","EVENT_NAMESPACE","wheel","_wheelHandler","deltaMode","deltaZ","_normalizeDelta","DBLCLICK_EVENT_NAME","NAMESPACED_CLICK_EVENT","DblClick","_handlerCount","_forgetLastClick","_firstClickTarget","_lastClickTimeStamp","timeBetweenClicks","DRAG_START_EVENT","DRAG_EVENT","DRAG_END_EVENT","DRAG_ENTER_EVENT","DRAG_LEAVE_EVENT","DROP_EVENT","DX_DRAG_EVENTS_COUNT_KEY","knownDropTargets","knownDropTargetSelectors","knownDropTargetConfigs","dropTargetRegistration","updateEventsCounter","eventsCount","DragEmitter","GestureEmitter","_initEvent","_maxLeftOffset","_maxRightOffset","_maxTopOffset","_maxBottomOffset","targetElements","dropTargets","_dropTargets","eData","dragOffset","_calculateOffset","_processDropTargets","_cancelPreventDefault","_calculateXOffset","_calculateYOffset","_startEventData","_fitOffset","maxOffset","_findDropTarget","_currentDropTarget","_fireDropTargetEvent","draggingElement","_checkDropTargetActive","dropTargetIndex","dropTargetSelectors","$delegatedTargets","getItemDelegatedTargets","delegatedTarget","$delegatedTarget","_checkDropTarget","getItemConfig","activeTarget","$prevTarget","dropTargetConfig","itemPositionFunc","itemSizeFunc","TOUCH_BOUNDARY","setGestureCover","$cover","_stage","_toggleGestureCover","_needSkipEvent","_startEvent","_setupImmediateTimer","_this$immediateTimeou","_immediateTimer","_immediateAccepted","immediateTimeout","_directionConfirmed","_resetActiveElement","_clearSelection","_adjustStartEvent","touchBoundary","_getTouchBoundary","eventDelta","horizontalMove","_validateMove","verticalMove","mainAxis","crossAxis","_toggleGestureCoverImpl","gestureCoverStrategy","gestureCover","_stop","initialTouchBoundary","newBoundary","SCROLL_EVENT","SCROLL_INIT_EVENT","SCROLL_START_EVENT","SCROLL_MOVE_EVENT","SCROLL_END_EVENT","SCROLL_STOP_EVENT","SCROLL_CANCEL_EVENT","Locker","NAMESPACED_SCROLL_EVENT","_locked","_proxiedScroll","TimeoutLocker","_prepare","_forget","_clearTimer","WheelLocker","_lastWheelDirection","_checkDirectionChanged","directionChange","PointerLocker","isIos","_scrollFrame","_checkFrame","ScrollEmitter","FRAME_DURATION","_pointerLocker","_wheelLocker","scrollTarget","skipCheck","isNative","_prevEventData","isScrollingEvent","_savedEventData","currentEventData","endEventDelta","velocity","velocityMultiplier","DX_SWIPEABLE","ACTION_TO_EVENT_MAP","swipeEventStart","swipeEventSwipe","swipeEventEnd","onCancel","Swipeable","elastic","_createEventData","_eventData","HOLD_EVENT_NAME","HoldEmitter","_startTimer","holdTimeout","_touchWasMoved","_stopTimer","HOVERSTART_NAMESPACE","HOVERSTART","POINTERENTER_NAMESPACED_EVENT_NAME","HOVEREND_NAMESPACE","HOVEREND","POINTERLEAVE_NAMESPACED_EVENT_NAME","leave","Hover","_handlerArrayKeyPath","_eventNamespace","_originalEventName","_eventName","HoverStart","HoverEnd","POINTER_EVENTS_NAMESPACE","originalEvents","_originalEvents","_isNoBubble","_originalEvent$target","_getDelegateTarget","eventSource","shadowRoot","_originalEvent$path","_originalEvent$compos","composedPath","_setSelector","_selector","_getSelector","normalizeTouchEvent","TouchStrategy","BaseStrategy","_pointerId","pointerEvent","dxpointerdown","dxpointermove","dxpointerup","dxpointercancel","dxpointerover","dxpointerout","dxpointerenter","dxpointerleave","addEventsListener","eventMap","pointerEquals","onPointerAdding","getPointerIndex","removePointer","normalizeMouseEvent","activated","activateStrategy","Observer","MouseStrategy","activate","resetObserver","MouseAndTouchStrategy","EVENT_LOCK_TIMEOUT","isMouse","_skipNextEvents","_mouseLocked","_unlockMouseTimer","normalizer","EventStrategy","getStrategy","support","over","eventPropName","pureAddNamespace","inactive","showTimeout","hideTimeout","shown","hiding","focusIn","focusOut","dxClick","keyboardProcessors","listenerId","_getProcessor","SWIPE_START_EVENT","SWIPE_EVENT","SWIPE_END_EVENT","STRATEGIES","defaultItemSizeFunc","calcOffsetRatio","_itemSizeFunc","isFastSwipe","endEventData","FAST_SWIPE_SPEED_LIMIT","_tickData","SwipeEmitter","TICK_INTERVAL","_getStrategy","_defaultItemSizeFunc","moveEventData","offsetRatio","isFast","targetOffset","_calcTargetOffset","KEY_MAP","LEGACY_KEY_CODES","EVENT_SOURCES_REGEX","dx","mouse","fixMethod","isDxEvent","isNativeTouchEvent","isNativeMouseEvent","isFakeClickEvent","screenX","skipEvents","touchInEditable","copyEvent","normalizedKeyFromWhich","getChar","mappedAddNamespace","triggerVisibilityChangeEvent","changeHandlers","triggerHidingEvent","triggerResizeEvent","DEFINED_NUMBER_FORMTATS","thousands","millions","billions","trillions","percent","decimal","fixedpoint","exponential","currency","PERIOD_REGEXP","DAY_REGEXP","DO_REGEXP","STANDALONE_MONTH_REGEXP","HOUR_REGEXP","ANY_REGEXP","excelFormatConverter","_applyPrecision","_hasArabicDigits","ARABIC_ZERO_CODE","_convertDateFormatToOpenXml","datePart","_convertDateFormat","_getLanguageInfo","defaultPattern","languageID","languageIDStr","languageInfo","_convertNumberFormat","excelFormat","numberFormatter","getOpenXmlCurrencyFormat","convertFormat","toXml","attributeName","attributeValue","cellAlignmentHelper","tryCreateTag","sourceObj","areEqual","leftTag","rightTag","tagHelper","colorHelper","_tryConvertColor","colorCode","patternFillHelper","patternType","foregroundColor","fillHelper","patternFill","tryCreateFillFromSimpleFormat","fillPatternType","fillPatternColor","copySimpleFormat","fontHelper","scheme","cellFormatHelper","sharedItemsContainer","numberFormatId","numberFormat","registerNumberFormat","fontId","registerFont","fillId","registerFill","applyNumberFormat","isAlignmentEmpty","xfId","applyAlignment","numFmtId","numberFormatHelper","ID_PROPERTY_NAME","formatCode","ExcelFile","_cellFormatTags","_fillTags","_fontTags","_numberFormatTags","registerCellFormat","cellFormat","cellFormatTag","copyCellFormat","generateCellFormatsXml","cellFormatTagsAsXmlStringsArray","fillTag","generateFillsXml","tagsAsXmlStringsArray","fontTag","generateFontsXml","xmlStringsArray","_convertNumberFormatIndexToId","generateNumberFormatsXml","XML_TAG","OPEN_XML_FORMAT_URL","RELATIONSHIP_PART_NAME","XL_FOLDER_NAME","WORKBOOK_FILE_NAME","SHAREDSTRING_FILE_NAME","STYLE_FILE_NAME","WORKSHEET_FILE_NAME","VALID_TYPES","boolean","EXCEL_START_TIME","UNSUPPORTED_FORMAT_MAPPING","quarterAndYear","ExcelCreator","_getXMLTag","_convertToExcelCellRef","zeroBasedRowIndex","zeroBasedCellIndex","isCellIndexFound","_convertToExcelCellRefAndTrackMaxIndex","_maxRowIndex","_maxColumnIndex","_getDataType","_tryGetExcelCellDataType","_formatObjectConverter","formatter","_tryConvertToExcelNumberFormat","newFormat","_appendString","_stringHash","_stringArray","_tryGetExcelDateValue","_prepareValue","dataProvider","_dataProvider","_callCustomizeExcelCell","sourceData","styleCopy","clearStyle","newStyle","_getDataArray","cellsArray","cellData","rowsLength","styleArrayIndex","cellStyleId","_styleArrayIndexToCellStyleIdMap","modifiedExcelCell","_styleArray","cellDataType","excelDateValue","_excelFile","_needSheetPr","_calculateWidth","pixelsWidth","_prepareStyleData","_colsArray","fonts","_prepareCellData","_cellsArray","_createXMLRelationships","xmlRelationships","_createXMLRelationship","_getWorkbookContent","_getContentTypesContent","_generateStylesXML","folder","_zip","XML","_generateStringsXML","stringIndex","stringsLength","sharedStringXml","_getPaneXML","frozenArea","_getAutoFilterXML","maxCellIndex","_generateWorksheetXML","xmlCells","xmlRows","colsLength","rSpans","headerRowCount","xmlResult","_rtlEnabled","rightBottomCellRef","_generateMergingXML","mergeIndex","columnsLength","usedArea","mergeArray","mergeXML","cellMerge","mergeArrayLength","_generateCommonXML","relsFileContent","relsXML","_generateContent","_generateWorkXML","JSZip","_checkZipState","isBlob","compression","mimeType","MIME_TYPES","EXCEL","generateAsync","parseAttributes","_math","_abs","_sqrt","_pow","_atan2","_cos","_sin","_number","TEXT_DECORATION_LINE_WIDTH_COEFF","arcTo","radius","clockwise","cBx","cBy","aB","opSide","adjSide","centerX","centerY","endAngle","arc","getElementOptions","rootAppended","translateX","translateY","rotationAngle","rotationX","rotationY","scaleX","scaleY","textDecorationLine","globalAlpha","parseStyles","parseUrl","urlString","setFontStyle","fontParams","drawText","fillText","strokeElement","fillElement","drawTextDecoration","hasTspan","drawTextElement","drawElement","mergedOptions","dy","commonWidth","xDiff","parentOptions","isText","isImage","isComment","transformElement","clipElement","aggregateOpacity","beginPath","dAttr","prevParams","prevParamsLen","dArray","moveTo","lineTo","bezierCurveTo","closePath","drawPath","cornerRadius","drawRect","gradients","gradient","createLinearGradient","addColorStop","stopColor","applyGradient","filterOptions","shadowOffsetX","shadowOffsetY","shadowColor","shadowBlur","clipPaths","clip","stdDeviation","hexColor","hex2rgba","asyncEach","drawCanvasElements","patterns","createGradient","setLineDash","lineJoin","strokeStyle","strokeText","patternCanvas","imageCreator","_createCanvas","patternContext","createPattern","getPattern","convertSvgToCanvas","getCanvasFromSvg","svgToCanvas","scaledScreenInfo","calcScaledInfo","setTransform","pixelRatio","invisibleDiv","svgElem","markupIsDomElement","createInvisibleDiv","drawBackground","__parseAttributesFn","dataURL","getStringFromCanvas","binaryData","useBase64","_getBlob","_getBase64","dataArray","svgCreator","_markup","_imageArray","_imageDeferreds","_getBinaryFile","ajax","_loadImages","binary","bytes","_parseImages","_prepareImages","$svgObject","dataURI","regexpString","xrefTemplate","pad","composePdfString","imageString","curDate","mainPageLength","contentLength","infoLength","widthPt","heightPt","flooredWidth","flooredHeight","mainPage","mainContent","getTwoDigitValue","_export","_isFunction","blob","fileSaver","saveAs","excelCreator","formatConverter","testFormats","supported","unsupported","pdf","dateUnits","convertToPdfDateFormat","pdfData","getBlob","getBase64","FILE_EXTESIONS","CSS","PNG","JPEG","GIF","SVG","PDF","_revokeObjectURLTimeout","_getDataUri","_getMimeType","_linkDownloader","exportLinkElement","_winJSBlobSave","savePicker","Storage","Pickers","FileSavePicker","suggestedStartLocation","PickerLocationId","documentsLibrary","fileExtension","fileTypeChoices","suggestedFileName","pickSaveFileAsync","openAsync","FileAccessMode","readWrite","outputStream","inputStream","msDetachStream","Streams","RandomAccessStream","copyAsync","flushAsync","_click","dispatchEvent","initMouseEvent","_saveBlobAs","_blobSaved","WinJS","webkitURL","mozURL","msURL","oURL","objectURL","downloadLink","_objectUrlRevoked","formatIsValid","valueIsValid","getTimeFormat","showSecond","_normalizeFormat","formatPart","getDateFormatByDifferences","dateDifferences","intervalFormat","resultFormat","needSpecialSecondFormatter","getDateFormatByTicks","ticks","maxDiff","currentDiff","correctDateDifferences","formatNumber","nb","nn","parentLocales","parentLocale","DEFAULT_LOCALE","currentLocale","getValueByClosestLocale","isRootLocale","getParentLocale","_formatNumberCore","formatConfig","currencyPart","getCurrencySymbol","agq","ak","asa","ast","az","bas","be","bem","bez","bg","bm","br","bs","ca","ce","cgg","ckb","cs","da","de","dje","dsb","dua","dyo","eo","es","eu","ewo","fa","ff","fi","fo","fr","fur","fy","ga","gd","gl","gsw","gv","ha","hr","hsb","hu","hy","ia","ig","jgo","jmc","ka","kab","kde","kea","khq","kkj","kl","ksb","ksf","ksh","ku","kw","ky","lag","lb","ln","lrc","lt","lu","lv","mfe","mg","mgo","mi","mk","mn","mua","mzn","naq","nds","nl","nmg","nnh","no","nus","nyn","os","pcm","ps","rm","rn","ro","rof","ru","rw","rwk","sah","sbp","sc","ses","sg","shi","si","sk","sl","smn","so","sq","sr","sv","sw","teo","tg","tk","twq","tzm","uk","uz","vai","vi","vun","wae","wo","xog","yav","yi","yo","zgh","SYMBOLS_TO_REMOVE_REGEX","NARROW_NO_BREAK_SPACE_REGEX","getIntlFormatter","recognizableAsTwentyCentury","temporaryYearValue","formatDateTime","formattersCache","localizationCoreUtils","NumberFormat","getAlternativeNumeralsMap","numeralsMapCache","normalizeNumerals","alternativeNumeralsMap","removeLeadingZeroes","normalizeMonth","intlFormats","dayofweek","longdate","longdatelongtime","longtime","monthandday","monthandyear","shortdate","shorttime","shortyear","monthNameStrategies","standalone","monthIndex","monthFormat","wide","abbreviated","narrow","dayIndex","getPeriodNames","hour12Formatter","hour12","hourNumberText","timeParts","intlFormat","_parseDateBySimpleFormat","formatParts","getFormatParts","dateArgs","_generateDateArgs","constructValidDate","ampmShift","actual","expected","parsedDate","hoursShift","formatUsesMonthName","formatUsesDayName","getTimeSeparator","formattedDate","hasIntl","FORMATS_TO_PATTERN_MAP","quarterandyear","shortdateshorttime","possiblePartPatterns","_getPatternByFormat","_expandPattern","partName","possiblePatterns","is24HourFormat","amTime","pmTime","amTimeFormatted","pmTimeFormatted","convertDigits","getLDMLDateFormatter","ldmlFormat","getLDMLDateFormat","getLDMLDateParser","localizationCore","firstDayOfWeekData","intlDateLocalization","MONTHS","DAYS","PERIODS","QUARTERS","cutCaptions","captions","lengthByFormat","LANGUAGE_CODES","he","ja","ko","ur","tn","xh","zu","af","hi","bn","pa","gu","ta","te","kn","sa","bo","km","lo","kok","syr","iu","am","ne","fil","dv","quz","nso","ba","arn","moh","ug","oc","co","qut","prs","sms","zh","sma","smj","FORMAT_SEPARATORS","checkDigit","zeroCode","checkPatternContinue","nextChar","isDigitChanged","getPatternStartIndex","ESCAPE_CHARS_REGEXP","processedIndexes","patternPositions","replacedPatterns","datePatterns","patternsFilter","getDifference","patternIndex","letterCount","baseCharIndex","replaceCharsCore","replaceChars","escapeIndexes","isCurrentCharEscaped","isPrevCharEscaped","isNextCharEscaped","escapeChars","leftPad","FORMAT_TYPES","LDML_FORMATTERS","useUtc","period","signPart","timezoneOffsetAbs","hoursPart","minutesPart","charIndex","isCurrentCharEqualsNext","charCount","isEscaping","monthRegExpGenerator","PATTERN_REGEXPS","countSuffix","timeSeparator","caseInsensitiveIndexOf","monthPatternParser","PATTERN_PARSERS","periodNames","ORDERED_PATTERNS","PATTERN_SETTERS","datePartValues","hourPartValue","getSameCharCount","getRegExpInfo","regexpText","stubText","addPreviousStub","regexpPart","isPossibleForParsingFormat","digitFieldSymbols","isDigitPattern","possibleForParsing","ambiguousDigitPatternsCount","getPatternSetters","getParser","regExpInfo","regExpResult","formatPatterns","maxPatternIndex","getMaxOrderedPatternIndex","orderedFormatPatterns","otherPatterns","getOrderedFormatPatterns","regExpPattern","regExpText","patternChar","partSetter","partParser","setPatternPart","setterName","setPatternPartFromNow","DEFAULT_CONFIG","ESCAPING_CHAR","MAXIMUM_NUMBER_LENGTH","PERCENT_EXPONENT_SHIFT","reverseString","removeStubs","getNonRequiredDigitCount","floatFormat","getRequiredDigitCount","normalizeValueString","valuePart","minDigitCount","maxDigitCount","formatNumberPart","escapeIndex","isEscape","signFormatParts","signParts","getSignParts","isPositive","floatPointIndex","getFloatPointIndex","floatFormatParts","minFloatPrecision","maxFloatPrecision","isPercentFormat","formatString","minIntegerPrecision","maxIntegerPrecision","unlimitedIntegerDigits","integerLength","floatPrecision","groupSizes","singleQuotesLeft","valueParts","valueIntegerPart","valueFloatPart","applyGroups","integerString","floatString","isPercent","prepareValueText","isIntegerPart","nextValueText","hasGroups","getFormatByValueText","valueTextParts","decimalSeparatorIndex","positiveFormat","negativeFormat","baseDictionary","Yes","No","Cancel","Close","Clear","Done","Loading","Select","Search","Back","OK","newMessages","_dictionary","_localizablePrefix","localizablePrefix","localizeString","regex","escapeString","localizationKey","getMessagesByLocales","getDictionary","onlyNew","coreLocalization","_getFormatterBase","getDataByLocale","localeData","brx","ccp","ceb","chr","dav","doi","dz","ebu","guz","haw","jv","kam","kgp","ki","kln","ks","lkt","luo","luy","mai","mas","mer","mgh","mni","nd","om","qu","saq","sat","sd","seh","sn","su","ti","und","yrl","yue","CURRENCY_STYLES","detectCurrencySymbolRegex","_normalizeFormatConfig","fractionDigits","minimumIntegerDigits","useGrouping","maximumFractionDigits","_getPrecisionConfig","_formatConfig$useCurr","useAccountingStyle","useCurrencyAccountingStyle","dxConfig","currencySign","minimumFractionDigits","_getCurrencySymbolInfo","getCurrencyFormatter","_extractCurrencySymbolInfo","currencyValueString","targetCurrency","currencySymbol","accountingFormat","encodedCurrencySymbol","encodeSymbols","openXmlCurrencyFormat","accountingFormats","NUMERIC_FORMATS","LargeNumberFormatPostfixes","LargeNumberFormatPowers","largenumber","numericFormats","defaultLargeNumberFormatPostfixes","_parseNumberFormatString","formatList","power","_calculateNumberPower","minPower","maxPower","_getNumberByPower","_formatNumber","powerPostfix","_formatNumberExponential","powString","_addZeroes","multiplier","_addGroupSeparators","_getSeparators","getThousandsSeparator","toStandard","digits","fromFirstDigit","toFirstDigit","fromLastDigit","regExp","getNegativeEtalonRegExp","separators","digitalRegExp","negativeEtalon","getSign","numberConfig","formatterConfig","cleanedText","_calcSignificantDigits","fractional","calcDigitsAfterLeadingZeros","currencyLocalization","intlNumberLocalization","DECIMAL_BASE","adjustValue","precisionMultiplier","roundByAbs","valuePrecision","onAfterRender","onPreRender","nextNode","mountNode","_this$props$model","$children","removeDifferentElements","$newChildren","hasComponent","oldElement","nextModel","nextTemplate","nextData","nextIndex","cloneObjectValue","cloneObjectProp","fullNameParts","updatePropsImmutable","currentPropsValue","prevPropsValue","setDefaultOptionValue","defaultValueGetter","ComponentWrapper","_shouldRaiseContentReady","validateKeyDownHandler","hasComponentDefaultKeyHandlers","getSupportedKeyNames","hasComponentKeyDownMethod","keyDown","viewRef","_this$_viewRef","_viewRef","_checkContentReadyOption","contentReadyOptions","_getContentReadyOptions","_fireContentReady","_actionsMap","viewDefaultProps","_getViewComponentDefaultProps","defaultName","_getUnwrappedOption","unwrappedProps","_this$_templateManage","getDefaultTemplates","optionProxy","_optionsWithDefaultTemplates","_componentTemplates","_createTemplateComponent","_getActionConfigsFull","_addAction","defaultKeyHandlers","_createDefaultKeyHandlers","_renderWrapper","containerNode","_isNodeReplaced","_silent","_removeWidget","_elementAttr","_attributes$attr$name","specified","updatedAttributes","isDomAttr","_storedClasses","elemStyle","_getAdditionalActionConfigs","_getAdditionalProps","_patchOptionValues","defaultWidgetPropsKeys","onKeyboardHandled","widgetProps","event_options","_patchElementParam","prepareStyleProp","_this$elementAttr$cla","_elementAttr$class","_extractDefaultSlot","_aria","_getActionConfigs","_templatesInfo","_options$templateName","templateValue","customKeyHandlers","actionToAdd","actionByOption","actArgs","templateOption","initialHandler","_toPublicElement","Icon","sourceType","iconClassName","generalClasses","iconTemplate","IconTemplate","InkRippleProps","InkRipple","hideWave","showWave","getConfig","initConfig","stylingModes","ButtonProps","BaseWidgetProps","iconPosition","useInkRipple","templateData","defaultOptionRules","contentRef","inkRippleRef","submitInputRef","deactivate","submitEffect","checkDeprecation","onActive","onInactive","onWidgetClick","emitClickEvent","onSubmit","submitInput","_titleRegexp$exec$","_titleRegexp$exec","cssClasses","isValidStylingMode","getCssClasses","iconSource","inkRippleConfig","isCentered","useHoldAnimation","waveSizeCoefficient","buttonTemplateData","ButtonTemplate","renderText","isIconLeft","iconComponent","__defaultOptionRules","defaultNotDeepCopyArrays","propsToIgnore","getDiffItem","resultPaths","fullPropName","notDeepCopyArrays","type1","type2","diffPaths","objectDiffs","_diffPaths","objectDiffsFiltered","propsEnumerator","oldProps","processItem","reactProps","objectDiffsWithoutReactProps","setupWidget","updateWidget","updatedOptions","getUpdatedOptions","normalizedProps","restProps","getMemoizeScrollTo","getScrollableInstance","lastParams","normalizedParams","isSameParams","ConfigProvider","WidgetProps","_feedbackHideTimeout","_feedbackShowTimeout","addWidgetClass","widgetElementRef","hovered","activeEffect","inactiveEffect","clickEffect","focusInEffect","focusOutEffect","hoverStartEffect","hoverEndEffect","resizeEffect","windowResizeEffect","visibilityEffect","applyCssTextEffect","activeStateUnit","onHoverStart","onHoverEnd","onVisibilityChange","_this$_effects$3","_this$_effects$4","_this$_effects$5","_this$_effects$6","_this$_effects$7","_this$_effects$8","_this$_effects$9","_this$_effects$10","_this$_effects$11","_this$_effects$12","_this$_effects$13","onRootElementRendered","subscribeToDxActiveEvent","subscribeToDxInactiveEvent","subscribeToDxFocusInEvent","subscribeToDxFocusOutEvent","subscribeToDxHoverStartEvent","subscribeToDxHoverEndEvent","shouldRenderConfigProvider","rtlProp","isPropDefined","onlyGlobalDefined","globalConfig","resolveRtlEnabledDefinition","computedWidth","computedHeight","isFocusable","isHoverable","canBeActive","ValidationMessageProps","positionSide","ValidationMessage","LegacyValidationMessage","EditorPropsType","validationMessageGuid","isValidationMessageVisible","updateValidationMessageVisibility","shouldShowValidationMessage","_this$validationError","readonly","describedBy","allValidationErrors","validationMessageTarget","_this$rootElementRef","visualContainer","contentId","DIRECTION_VERTICAL","DIRECTION_HORIZONTAL","DIRECTION_BOTH","SCROLLABLE_CONTENT_CLASS","getRelativeOffset","targetElementClass","elementRect","parentElementRect","ScrollDirection","isBoth","_window$getComputedSt","subscribeToEvent","clickEvent","subscribeToDXPointerDownEvent","scrollEvents","ACCORDION_ITEM_CLASS","ACCORDION_ITEM_OPENED_CLASS","ACCORDION_ITEM_CLOSED_CLASS","ACCORDION_ITEM_TITLE_CLASS","ACCORDION_ITEM_BODY_CLASS","CollectionWidget","itemTitleTemplate","selectionByClick","_itemAttributes","_animationEasing","_itemElements","_itemContainer","_itemSelector","$iconElement","_deferredItems","_deferredTemplateItems","multiselectable","selectedItemIndices","_getSelectedItemIndices","_renderSelection","_updateItemHeights","_itemDataKey","_itemClass","_itemTitles","_itemContents","_getItemData","_executeItemRenderAction","_itemSelectHandler","_afterItemElementDeleted","deletedActionArgs","_renderItemContent","itemTitle","templateProperty","defaultTemplateName","_attachItemTitleClickAction","_onItemTemplateRendered","renderArgs","_itemTitleClickHandler","_itemDXEventHandler","addedSelection","removedSelection","_updateItems","_updateSelection","_updateItemHeightsWrapper","skipAnimation","_animationTimer","deferredAnimate","_deferredAnimate","itemHeight","_splitFreeSpace","_calculateFreeSpace","_updateItemHeight","$title","finalItemHeight","startItemHeight","_animateItem","startHeight","endHeight","fixedHeight","$titles","itemsHeight","_tryParseItemPropertyName","expandItem","collapseItem","ACTION_SHEET_BUTTON_DEFAULT_STYLING_MODE","_$itemContainer","_toggleVisibility","_createItemContainer","_renderPopup","_renderDisabled","_$popup","_isPopoverMode","_createPopover","_createPopup","_renderPopupTitle","_mapPopupOption","_popup","_overlayConfig","angular","_popupContentReadyAction","_attachClickEvent","_attachHoldEvent","_prepareContent","_renderCancelButton","_$cancelButton","cancelClickAction","hidingArgs","_attachItemClickEvent","_itemClickHandler","_itemHoldHandler","showing","DropDownList","upArrow","_calcNextItem","_clearFocusedItem","downArrow","_displayGetterExpr","_closeOutsideDropDownHandler","_updatePopupWidth","_updateListDimensions","_popupWrapperClass","_listConfig","_setSelectedItem","addedItems","_listItemClickHandler","_saveValueChangeEvent","_displayGetter","_setListDataSource","_refreshSelected","_searchCanceled","_loadItem","selectedItem","_getItemFromPlain","_dataSourceOptions","_searchDataSource","_renderValueEventName","_valueChangeEventHandler","_compileDisplayGetter","_setListOption","BOX_ITEM_DATA_KEY","MINSIZE_MAP","MAXSIZE_MAP","FLEX_JUSTIFY_CONTENT_MAP","FLEX_ALIGN_ITEMS_MAP","stretch","FLEX_DIRECTION_MAP","setFlexProp","styleExpr","BoxItem","CollectionWidgetItem","_renderVisible","fireItemStateChangedAction","LayoutStrategy","_option","renderBox","renderAlign","_normalizedAlign","renderCrossAlign","_normalizedCrossAlign","renderItems","flexPropPrefix","baseSize","shrink","itemContent","onItemStateChanged","_initLayout","_initBoxQueue","_queueIsNotEmpty","_pushItemToQueue","_shiftItemFromQueue","_renderAlign","_renderActions","_onItemStateChanged","_renderItems","$itemNode","_renderItemContentByNode","_postprocessRenderItem","boxConfig","_createItemByTemplate","_itemOptionChanged","_itemOptions","ItemClass","ButtonWrapper","_validationGroupConfig","getDefaultTemplateNames","_clickAction","_toggleActiveState","_getSubmitAction","needValidate","_createClickAction","$template","_templateData","findGroup","BaseComponent","_this$viewRef","_this$viewRef2","_this$viewRef3","ButtonComponent","BUTTON_GROUP_CLASS","BUTTON_GROUP_WRAPPER_CLASS","BUTTON_GROUP_ITEM_CLASS","BUTTON_GROUP_FIRST_ITEM_CLASS","BUTTON_GROUP_LAST_ITEM_CLASS","BUTTON_GROUP_ITEM_HAS_WIDTH","ButtonCollection","_prepareItemStyles","_getBasicButtonOptions","_hasCustomTemplate","itemTemplateProperty","_keyboardEventBindingTarget","_refreshContent","buttonTemplate","_createItemClickAction","_itemClickAction","_renderButtons","_syncSelectionOptions","_fireSelectionChangeEvent","removedItems","$buttons","selectionRequired","_buttonsCollection","onCaptionClick","_captionClickAction","_renderCaption","_prevButton","$prevButton","_nextButton","$nextButton","_caption","$caption","toggleButton","buttonPrefix","CALENDAR_EMPTY_CELL_CLASS","CALENDAR_SELECTED_DATE_CLASS","CALENDAR_CONTOURED_DATE_CLASS","CALENDAR_DXCLICK_EVENT_NAME","CALENDAR_DATE_VALUE_KEY","_getViewName","allowValueSelection","_todayDate","_renderImpl","_createDisabledDatesHandler","_renderBody","_renderContouredDate","_renderValue","_renderEvents","_$table","localizedWidgetName","localizedHotKeysInfo","$body","cellDate","_getFirstCellData","prevCellDate","_renderWeekNumberCell","_appendCell","_appendMethodName","_cacheAppendMethodName","_getClassNameByDate","coreDateUtils","getCellAriaLabel","_prepareCellTemplateData","_getCellText","_getNextCellData","_isTodayCell","_isDateOutOfRange","isDateDisabled","_isOtherView","isDateCell","_createCellClickAction","_cellClickAction","_disabledDatesHandler","_getDefaultDisabledDatesHandler","contouredDate","$oldContouredCell","_getContouredCell","$newContouredCell","_getCellByDate","_changeValue","selectedCell","_selectedCell","_getFirstAvailableDate","getFirstDateView","isBoundary","BaseView","_renderHeader","_renderFocusTarget","$headerRow","$header","_renderHeaderCell","_renderWeekHeaderCell","fullCaption","abbrCaption","_getDayCaption","abbr","$weekNumberHeaderCell","_getWeekNumber","getNavigatorCaption","today","firstDay","firstMonthDayOffset","daysInWeek","foundDate","decade","firstYearInDecade","_isValueOnCurrentView","century","minDecade","maxDecade","firstDecadeInCentury","CALENDAR_VIEW_CLASS","LEVEL_COMPARE_MAP","ZOOM_LEVEL","onContouredChanged","skipFocusCheck","rightArrow","_waitRenderView","_moveCurrentDateByOffset","_getRtlCorrection","leftArrow","_navigateUp","_view","_navigateDown","_dateOption","sameView","_moveToClosestAvailableDate","pageUp","pageDown","_isMaxZoomLevel","_updateTimeComponent","_dateValue","_getSerializationFormat","_convertToDate","_shiftDate","baseDate","_getMaxDate","_getMinDate","isDateForwardInNeighborView","_areDatesInNeighborView","isDateForwardInRange","dateForward","_areDatesInSameView","isDateForwardInStartView","isDateBackwardInStartView","isCurrentDateAvailable","_isDateNotAvailable","isDateForwardAvailable","isDateBackwardAvailable","dateBackward","_correctZoomLevel","_initCurrentDate","_getNormalizedDate","_getDate","_onContouredChanged","_updateCurrentDate","_$viewsWrapper","_getViewsOffset","_isOtherViewCellClicked","_suppressNavigation","_navigate","_renderNavigator","_setViewContoured","_updateAriaId","zoomCorrection","_getMonthsOffset","_alreadyViewRender","_getDateByOffset","_waitRenderViewTimeout","_date","lastDay","_renderSubmitElement","_navigator","_renderSwipeable","_renderFooter","_updateAriaSelected","_getKeyboardListeners","_renderSpecificView","beforeDate","_beforeView","_isViewAvailable","afterDate","_afterView","_translateViews","specificView","Views","_viewConfig","_injectComponent","_cellClickHandler","_getViewPosition","nextView","isMaxZoomLevel","newCurrentDate","_animateShowView","Navigator","_navigatorConfig","_updateButtonsVisibility","_navigatorClickHandler","_isMinZoomLevel","_getRequiredView","_swipeable","_swipeStartHandler","_swipeUpdateHandler","_swipeEndHandler","_viewWidth","isRtl","_updateNavigatorCaption","moveOffset","_isDateInInvalidRange","_animateWrapper","_viewWidthValue","$todayButton","_toTodayView","_$footer","_$submitElement","_setSubmitValue","dateValue","_getSubmitElement","_popAnimationView","newView","_preventViewChangeAnimation","_wrapperAnimationEndHandler","_rearrangeViews","_resetLocation","viewOffset","viewToCreateKey","viewToRemoveKey","destinationDate","dateByOffset","_clearViewWidthCache","_disposeViews","_refreshViews","_focusInHandler","_focusOutHandler","_updateViewsValue","$prevSelectedCell","$selectedCell","_value2","ariaId","_suppressingNavigation","getContouredDate","INVALID_MESSAGE_AUTO","VALIDATION_TARGET","$validationMessageWrapper","_el$getRootNode2","querySelectorInSameDocument","showValidationMessageTimeout","saveValueChangeEvent","_valueChangeEventInstance","validationRequest","_valueChangeAction","initValidationOptions","validationMessageOffset","validationTooltipOptions","_bindInnerWidgetOptions","innerWidget","optionsContainer","innerWidgetOptions","syncOptions","_raiseValidation","areValuesEmpty","_raiseValueChangeAction","_this$_valueChangeAct","synchronizeValidationOptions","prevIsEditor","OldEditor","isEditor","newIsEditor","_isFocused","defaultIconSizes","defaultFontSizes","getThemeType","isCompactTheme","isCompact","getFontSizeByIconSize","isChecked","defaultFontSize","getDefaultFontSize","fontToIconSizeRatio","getDefaultIconSize","CheckBoxIcon","elementRef","updateFontSize","setIconFontSize","getIconSize","getComputedIconSize","newFontSize","iconComputedStyle","cssStyles","CheckBoxProps","CheckBoxPropsType","editorRef","CheckBoxComponent","twoWayProps","__processTwoWayProps","CollectionItem","_rawData","$placeholder","_watchers","_renderWatchers","_startWatcher","exprGetter","filteredCallback","forcibleWatcher","_dirty","setDataField","_updateOwnerFocus","ownerComponent","_resetItemFocus","ITEM_CLASS","CONTENT_CLASS_POSTFIX","ITEM_CONTENT_PLACEHOLDER_CLASS","TEMPLATE_WRAPPER_CLASS","ITEM_PATH_REGEX","FOCUS_UP","FOCUS_DOWN","FOCUS_LEFT","FOCUS_RIGHT","FOCUS_LAST","FOCUS_FIRST","_moveFocus","space","selectOnFocus","loopItemFocus","encodeNoDataText","focusOnSelectedItem","visibleExpr","_cleanRenderedItems","_initItemsFromMarkup","_initDefaultItemTemplate","_getFieldsMap","_prepareDefaultItemTemplate","_getBindableFields","rawItems","_prepareItemTemplate","_renderedItemsCount","_isFocusTarget","_setFocusedItem","$activeItem","_getActiveItem","_updateFocusedItemState","activeElements","_getActiveElement","$newTarget","_getAvailableItems","_prevItem","_nextItem","_getVisibleItems","$itemElements","$last","$first","_selectFocusedItem","needCleanItemId","_refreshActiveDescendant","_refreshItemId","_toggleFocusClass","_updateParentActiveDescendant","getFocusedItemId","_findItemElementByItem","_getIndexByItem","_refreshItem","_itemIndexKey","_renderEmptyMessage","_createItemRenderAction","_attachContextMenuEvent","_loadNextPage","_expectNextPageLoading","_startIndexForAppendedItems","_expectLastItemLoading","_forgetNextPageLoading","_shouldAppendItems","_dataSourceLoadErrorHandler","_allowDynamicItemsAppend","_cleanFocusState","_cleanItemContainer","_inkRipple","_resetActiveState","_itemFocusTimeout","_itemContentClass","_selectedItemClass","_itemResponseWaitClass","clickEventNamespace","pointerDownEventNamespace","pointerDownAction","_itemPointerDownHandler","_itemFocusHandler","$closestItem","$closestFocusable","_closestFocusable","_forcePointerDownFocus","_updateFocusState","_getHoldTimeout","_shouldFireHoldEvent","contextMenuEventName","_itemContextMenuHandler","_shouldFireContextMenuEvent","$itemToReplace","_index$item","$itemFrame","_renderItemFrame","_setElementData","_getItemContent","renderContentPromise","_itemEventHandlerByHandler","itemTemplateName","_getItemTemplateName","_addItemContentClasses","$templateResult","_appendItemToContainer","_getItemRenderAction","_itemRenderAction","_emptyMessageContainer","hideNoData","_$noData","handlerOptionName","actionConfig","_itemEventHandler","initiator","_itemEventHandlerImpl","_closestItemElement","_extendActionArgs","_getSummaryItemsWidth","_focusedItemId","ITEM_DELETING_DATA_KEY","indexExists","BaseCollectionWidget","_initEditStrategy","_initKeyGetter","_initSelectionModule","_getKeysByItems","_editStrategy","getKeysByItems","_getItemsByKeys","getItemsByKeys","_getKeyByIndex","getKeyByIndex","_getIndexByKey","_getIndexByItemData","getIndexByItemData","_isKeySpecified","_getCombinedFilter","_nullValueSelectionSupported","itemsGetter","allowNullValue","_getItemsCount","_dataController$loadO","customQueryParams","Strategy","PlainEditStrategy","beginCache","endCache","_rendering","_normalizeSelectedItems","_rendered","byOption","_chooseSelectOption","getItemDataByIndex","selectedItemIndex","isOptionDefined","_compareKeys","newSelection","currentSelection","normalizedSelection","itemSelectPromise","_this$_itemSelectHand","_itemSelectPromise","_selectedItemElement","normalizedItemIndex","getNormalizedIndex","_isItemSelected","_processSelectableItem","_setAriaSelected","selectionChangePromise","_selectionChangePromise","normalizedIndex","_addSelection","_removeSelection","getItemElement","checkPending","_clearSelectedItems","_waitDeletingPrepare","deletingActionArgs","deletePromise","deletePromiseExists","deletePromiseResolved","shouldDelete","_deleteItemFromDS","disabledState","dataStore","_tryRefreshLastPage","_refreshLastPage","_updateSelectionAfterDelete","deselect","_updateIndicesAfterIndex","_simulateOptionChange","_deleteItemElementByIndex","deleteItemAtIndex","changingOption","deleteItem","itemResponseWaitClass","reorderItem","toItemElement","$movingItem","$destinationItem","movingIndex","destinationIndex","itemPlacementFunc","moveItemAtIndexToIndex","collectionWidget","_collectionWidget","resultIndex","_denormalizeItemIndex","_equalKeys","_isNormalizedItemIndex","_isItemIndex","_normalizeItemIndex","_isNode","_getNormalizedItemIndex","_getItemByNormalizedIndex","_itemsFromSameParent","_getPlainItems","movedItemData","PRIVATE_KEY_FIELD","_this$_dataController","_customizeStoreLoadOptions","_correctionIndex","_refreshItemsCache","_findItemElementByKey","_modifyByChanges","_isItemStrictEquals","_shouldAddNewGroup","_partialRefresh","_itemsCache","itemCache","_updateByChange","isPartialRefresh","_insertByChange","_change$index","_beforeItemElementInserted","_getItemContainer","_afterItemElementInserted","changeData","_updateSelectionAfterRemoveByChange","removeIndex","_removeByChange","$removedItemElement","COLOR_BOX_CLASS","COLOR_BOX_INPUT_CLASS","COLOR_BOX_INPUT_CONTAINER_CLASS","COLOR_BOX_COLOR_RESULT_PREVIEW_CLASS","COLOR_BOX_COLOR_IS_NOT_DEFINED","COLOR_BOX_OVERLAY_CLASS","colorEditorPrototype","ColorView","colorUtils","makeTransparentBackground","_makeTransparentBackground","makeRgba","_makeRgba","DropDownEditor","arrowHandler","_getLastPopupElement","_getFirstPopupElement","_validatedOpening","fieldTemplate","buttonsLocation","_popupHidingHandler","_updateColorViewValue","_popupConfig","_contentReadyHandler","_createColorView","_addPopupBottomClasses","$popupBottom","bottomToolbar","$colorView","_colorView","_colorViewConfig","_escapeHandler","_rgbInputs","_applyNewColor","_$colorResultPreview","_colorViewEnterKeyPressed","matchValue","onEnterKeyPressed","instantlyMode","isOldValue","changesApplied","valueCleared","_shouldSaveEmptyValue","_applyColorFromInput","colorViewValue","_applyButtonHandler","_cancelButtonHandler","_resetInputValue","_renderInput","_renderColorPreview","_$colorBoxInputContainer","_$textEditorInputContainer","COLOR_VIEW_ROW_CLASS","COLOR_VIEW_PALETTE_GRADIENT_CLASS","COLOR_VIEW_PALETTE_GRADIENT_WHITE_CLASS","COLOR_VIEW_PALETTE_GRADIENT_BLACK_CLASS","COLOR_VIEW_COLOR_PREVIEW","COLOR_VIEW_COLOR_PREVIEW_COLOR_CURRENT","COLOR_VIEW_COLOR_PREVIEW_COLOR_NEW","BLACK_COLOR","getHorizontalPaletteStep","_paletteWidth","updateHorizontalPaletteValue","_currentColor","updatePaletteValue","getVerticalPaletteStep","_paletteHeight","updateVerticalPaletteValue","_placePaletteHandle","_updateColorFromHsv","getHueScaleStep","_hueScaleWrapperHeight","_hueScaleHandleHeight","updateHueScaleValue","_placeHueScaleHandle","handleLocation","_$hueScaleHandle","_updateColorHue","getAlphaScaleStep","_alphaChannelScaleWorkWidth","updateAlphaScaleValue","_placeAlphaChannelHandle","_$alphaChannelHandle","_calculateColorTransparencyByScaleWidth","_alphaChannelHandleWidth","_isTopColorHue","_fireEnterKeyPressed","_initColorAndOpacity","_initEnterKeyPressedAction","_onEnterKeyPressedAction","_setCurrentColor","newColor","_$currentColor","_setBaseColor","_$baseColor","_renderColorPickerContainer","_renderPalette","_renderHueScale","_renderControlsContainer","_renderControls","_renderAlphaChannelElements","_$colorPickerContainer","_renderHtmlRows","updatedOption","$renderedRows","renderedRowsCount","_renderHtmlCellInsideRow","$rowParent","additionalClass","$paletteCell","$paletteGradientWhite","$paletteGradientBlack","_$palette","_renderPaletteHandle","_$paletteHandle","_paletteHandleHeight","paletteHandlePosition","_updateByDrag","_calculateColorSaturation","_calculateColorValue","_paletteHandleWidth","saturation","hue","_updateColorParamsAndColorPreview","applyColor","$hueScaleCell","_$hueScaleWrapper","_$hueScale","_hueScaleHeight","_renderHueScaleHandle","hueScaleHeight","handleHeight","handlePosition","$controlsContainerCell","_$controlsContainer","_renderColorsPreview","_renderRgbInputs","_renderHexInput","$colorsPreviewContainer","$colorsPreviewContainerInner","_renderAlphaChannelScale","_renderAlphaChannelInput","_rgbInputsWithLabels","_renderEditorWithLabel","_updateColor","labelAriaText","labelClass","dxNumberBox","_keyboardHandler","hexInputOptions","_hexInput","$alphaChannelScaleCell","$alphaChannelBorder","$alphaChannelScaleWrapper","_$alphaChannelScale","_makeCSSLinearGradient","_renderAlphaChannelHandle","colorAsRgb","startColor","finishColor","$alphaChannelInputCell","_alphaChannelInput","_updateColorTransparency","transparency","$alphaChannelHandle","alphaChannelHandlePosition","previousTransparency","colorValue","cancelColor","_refreshMarkup","isHex","rgba","_validateHex","_validateRgb","_suppressEditorsValueUpdating","DX_MENU_CLASS","DX_MENU_ITEM_CLASS","DX_MENU_ITEM_EXPANDED_CLASS","DX_MENU_ITEMS_CONTAINER_CLASS","DX_MENU_ITEM_WRAPPER_CLASS","DX_SUBMENU_CLASS","DX_STATE_HOVER_CLASS","ACTIONS","LOCAL_SUBMENU_DIRECTIONS","DEFAULT_SHOW_EVENT","MenuBase","getShowEvent","showEventOption","getShowDelay","onSubmenuCreated","onLeftFirstItem","onLeftLastItem","onCloseRootSubmenu","onExpandLastSubmenu","_overlay","_eventBindingTarget","_isSelectionEnabled","$availableItems","$hoveredItem","_getItemsByLocation","$oldTarget","$activeItemHighlighted","_setFocusedElement","_hideSubmenuHandler","_expandSubmenuHandler","_getAriaTarget","$curItem","$parentItem","_hideSubmenusOnSameLevel","_hideSubmenu","_dataAdapter","getNodeByItem","isItemHasSubmenu","_hasSubmenu","$submenu","_showSubmenu","_detachShowContextMenuEvents","_getTarget","_renderVisibility","_addWidgetClass","_attachShowContextMenuEvents","_attachKeyboardEvents","_keyboardListenerId","_renderContextMenuOverlay","_getOverlayOptions","_addCustomCssClass","_addPlatformDependentClass","preventShowingDefaultContextMenuAboveOverlay","_showContextMenuEventHandler","contextMenuAction","_show","_hoverEndHandler","_renderContainer","submenuContainer","$holder","_renderSubmenuItems","_getChildNodes","internalFields","submenuElement","innerOverlay","_hideOnOutsideClickHandler","_overlayShownActionHandler","_overlayHidingActionHandler","_overlayHiddenActionHandler","_hideAllShownSubmenus","_shouldHideOnOutsideClick","$activeItemContainer","_getActiveItemsContainer","$itemContainers","_getItemsContainers","$clickedItem","_searchActiveItem","$rootItem","isRootItemClicked","_isIncludeOverlay","_getShowSubmenuMode","_hideAllShownChildSubmenus","$activeOverlay","$allOverlays","$submenuElements","shownSubmenus","_shownSubmenus","$context","isSubmenuRendered","_isSubmenuVisible","_drawSubmenu","$expandedItems","_hideSubmenuGroup","_hideSubmenuCore","submenuPosition","_getSubmenuPosition","animationPosition","_animate","_updateSubmenuVisibilityOnClick","_updateSelectedItemOnClick","notCloseMenuOnItemClick","closeMenuOnClick","$prevSubmenu","canceled","$curSubmenu","_stopAnimate","_hide","jQEvent","_event$originalEvent","_positionContextMenu","_widgetClass","_renderFocusState","getRootNodes","_setAriaAttributes","_overlayContentId","_cleanAriaAttributes","_getContextMenuPosition","isInitialPosition","positioningAction","lastPosition","MenuBaseEditStrategy","getMenuItems","_stringifyItem","_getTemplateString","DX_MENU_NO_ICONS_CLASS","DX_ITEM_CONTENT_CLASS","DX_MENU_SELECTED_ITEM_CLASS","DX_MENU_SEPARATOR_CLASS","DX_MENU_ITEM_LAST_GROUP_ITEM","DX_ITEM_HAS_TEXT","DX_ITEM_HAS_ICON","DX_ITEM_HAS_SUBMENU","DX_MENU_ITEM_POPOUT_CLASS","DX_MENU_ITEM_POPOUT_CONTAINER_CLASS","DX_MENU_ITEM_CAPTION_CLASS","DEFAULT_DELAY","HierarchicalCollectionWidget","_renderSelectedItem","_getTextContainer","_getPopoutContainer","$popOutContainer","$popOutImage","_getDataAdapterOptions","multipleSelection","recursiveSelection","recursiveExpansion","_selectByItem","nodeToSelect","toggleSelection","getSelectedNodesKeys","getNodeByKey","_renderInkRipple","_isDesktopDevice","_initSelectedItems","_itemWrapperSelector","_hoverStartHandler","_getItemElementByEventArgs","_isItemDisabled","_showSubmenusTimeout","_getSubmenuDelay","_disabledGetter","_addExpandedClass","childrenKeys","hasIcons","$nodeContainer","firstVisibleIndex","nextGroupFirstIndex","isVisibleNode","_createDOMElement","$nodeElement","_addContentClasses","hasText","hasIcon","hasSubmenu","_selectedGetter","_isItemSelectable","_skipHandling","itemClickActionHandler","_isItemSelectionAllowed","selectedNode","_toggleItemSelection","isSelectionByClickEnabled","_isContainerEmpty","_itemsGetter","_getElementByItem","monthGetter","monthSetter","monthLimits","getLimits","newDay","PATTERN_GETTERS","isPM","valueLength","maxLimitLength","renderDateParts","isStub","limits","forcedPattern","dM","getAmPm","DATE_COMPONENTS","TIME_COMPONENTS","SUPPORTED_FORMATS","ONE_MINUTE","ONE_YEAR","MIN_DATEVIEW_DEFAULT_DATE","MAX_DATEVIEW_DEFAULT_DATE","FORMATS_INFO","getStandardPattern","standardPattern","FORMATS_MAP","SUBMIT_FORMATS_MAP","toStandardDateFormat","fromStandardDateFormat","getMaxMonthDay","mergeDates","formatInfo","componentInfo","DATE_COMPONENTS_INFO","getLongestCaptionIndex","captionArray","longestIndex","longestCaptionLength","getLongestDate","getStringFormat","longestDate","normalizeTime","dateBox","widgetOption","_widget","_renderWidget","_getWidgetContainer","_getWidgetName","_getWidgetOptions","getDefaultOptions","supportedKeys","getKeyboardListener","customizeButtons","getParsedText","renderInputMinMax","renderOpenedState","_updateValue","popupConfig","_this$_getPopup","_getPopup","renderPopupContent","_preventFocusOnPopup","getFirstPopupElement","getLastPopupElement","popupShowingHandler","popupHiddenHandler","dateBoxValue","useCurrentDateByDefault","getDefaultDate","textChangedHandler","renderValue","isAdaptivityChanged","dateOption","DateBoxStrategy","homeEndHandler","viewValue","_getContouredValue","lastActionElement","shouldCloseDropDown","_closeDropDownByEnter","_getTodayButtonConfig","_isCalendarVisible","DATEVIEW_ROLLER_ITEM_CLASS","DateViewRoller","showOnClick","onSelectedIndexChanged","_visibilityChangedHandler","_endActionHandler","_renderSelectedItemFrame","_renderContainerClick","_renderSelectedValue","_renderItemsClick","_renderWheelEvent","_renderSelectedIndexChanged","_selectedIndexChanged","_isWheelScrolled","clickAction","_$items","_fitIndex","_moveTo","_getItemPosition","_renderActiveStateItem","_itemHeight","_getItemSelector","_itemElementIndex","_shouldScrollToNeighborItem","convertToLocation","_prepareDirections","_animation","handleMove","_validate","_moveIsAllowed","_fitSelectedIndexInRange","_isInNullNeighborhood","_getSelectedIndexAfterScroll","currentSelectedIndex","_getNewSelectedIndex","newSelectedIndex","_toggleActive","_fireSelectedIndexChanged","_visibilityTimer","toggleActiveState","_refreshSelectedIndex","fitIndex","DATEVIEW_CLASS","ROLLER_TYPE","DateView","_valueOption","_getDefaultDate","uiDateUtils","applyCompactClass","_device","_toggleFormatClasses","_toggleCompactClass","currentFormat","previousFormat","_wrapper","_$wrapper","_renderRollers","_$rollersContainer","_createRollerConfigs","_rollers","_rollerConfigs","$roller","DATEVIEW_ROLLER_CLASS","displayItems","roller","_setActiveRoller","_setRollerState","_createRollerConfig","valueRange","_calculateRollerConfigValueRange","_getCurrentDate","valueItems","currentRoller","activeRoller","_updateRollersPosition","rollerValue","_refreshRollers","_refreshRoller","rollerType","rollerConfig","minYear","minMonth","maxYear","maxMonth","minHour","maxHour","DateViewStrategy","_popupToolbarItemsConfig","_device2","_isNativeType","NativeStrategy","_getDateBoxType","dropDownButton","getButton","rotateArrow","$arrow","cssRotate","TimeView","use24HourFormat","_showClock","_arrowOffset","_getValue","_renderBox","_updateTime","$box","_renderClock","_renderField","_$hourArrow","_$minuteArrow","_updateClock","hourArrowAngle","minuteArrowAngle","_getBoxItems","is12HourFormat","_hourBox","_minuteBox","_format12","_createHourBox","_createMinuteBox","_createFormat12Box","_onHourBoxValueChanged","_getNumberBoxConfig","_isPM","newHours","_convertMaxHourToMin","maxHoursValue","newMinutes","_refreshFormat12","_silentEditorValueUpdate","_suppressValueChangeAction","_resumeValueChangeAction","_normalizeHours","_updateField","DATEBOX_TIMEVIEW_SIDE_CLASS","CalendarStrategy","_is24HourFormat","viewDate","_updateDateTime","_timeView","_isShrinkView","_isSmallScreen","_repaintTimer","isAdaptiveMode","currentAdaptiveMode","_currentAdaptiveMode","preventDefaultValue","_box","_attachTabHandler","calendarPopupConfig","_hasFocusClass","_this$_widget$option","_removeMinWidthTimer","BOUNDARY_VALUES","ListStrategy","_widgetItems","_getDateByItemData","_refreshItems","_timeListItemTemplate","_getTimeListItems","_setSelectedItemsByValue","_asyncScrollTimeout","_scrollToSelectedItem","dateIndex","_getDateIndex","scrollToItem","_areDatesEqual","_getBoundaryDate","_getRangeItems","rangeDuration","rangeItems","boundaryValue","_updatePopupHeight","dropDownOptionsHeight","getSizeValue","_setPopupOption","popupHeight","_timeList","DATEBOX_CLASS","DATEBOX_WRAPPER_CLASS","PICKER_TYPE","calendar","rollers","STRATEGY_NAME","STRATEGY_CLASSES","Native","CalendarWithTime","_renderButtonContainers","useHiddenSubmitElement","_updatePickerOptions","_pickerType","_setShowDropDownButtonOption","isMozillaOnAndroid","isNativePickerType","_initStrategy","_toLowerCaseFirstLetter","strategyName","_getStrategyName","_getFormatType","isTime","_refreshFormatClass","_refreshPickerTypeClass","_formatValidationIcon","_this$_strategy$_upda","_this$_strategy","clearButtonWidth","_getClearButtonWidth","longestElementDimensions","_getLongestElementDimensions","curWidth","shouldHideValidationIcon","_storedPadding","leftPadding","rightPadding","_isClearButtonVisible","clearButtonElement","longestValue","$longestValueElement","storedPadding","necessaryWidth","_renderPopupWrapper","_this$_strategy$_getP","_this$_strategy$_getP2","_this$_strategy2","_getPopupTitle","classPostfixes","_renderPopupContent","_popupShowingHandler","_popupShownHandler","_popupHiddenHandler","_clearValueHandler","_readOnlyPropValue","_getDisplayedText","submitFormat","submitValue","displayedText","_getFormatByMode","_getParsedDate","_getDateByDefault","_applyInternalValidation","editorSpecific","_applyCustomValidation","parsedText","validationMessage","_serializeDate","_isValueChanged","_isTextChanged","_renderProps","_renderOpenedState","_refreshStrategy","_this$_strategy3","_updatePopupTitle","_this$_popup","_renderInputValue","isValueChanged","_clearValue","MASK_EVENT_NAMESPACE","BACKWARD","DateBoxMask","DateBoxBase","originalHandlers","callOriginalHandler","originalHandler","applyHandler","maskHandler","_shouldUseOriginalHandler","_revertPart","_isAllSelected","_selectFirstPart","_selectLastPart","_revertChanges","_enterHandler","_selectNextPart","_upDownArrowHandler","isNotDeletingInCalendar","_useMaskBehavior","_setNewDateIfEmpty","originalValue","_getActivePartValue","_initialMaskValue","_loadMaskValue","_partIncrease","emptyDateValue","_isSingleCharKey","_isSingleDigitKey","_e$originalEvent","_useBeforeInputEvent","_keyInputHandler","oldInputValue","_processInputKey","_maskInputHandler","_renderSelectedPart","_maskBeforeInputHandler","isBackwardDeletion","_keyPressHandler","_renderDisplayText","_maskValue","_activePartIndex","_searchString","_searchNumber","_caret","_getFormatPattern","_formatPattern","isLDMLPattern","_renderDateParts","_partLimitsReached","formatLength","_getActivePartProp","maxSearchLength","isLengthExceeded","isValueOverflowed","_getActivePartLimits","_setActivePartValue","startString","endLimit","_clearSearchValue","_prepareRegExpInfo","_regExpInfo","quantifierRegexp","convertedSource","sourcePart","_initMaskState","_renderMask","_detachMaskEvents","_clearMaskState","_attachMaskEvents","_dateParts","_maskClickHandler","_maskPasteHandler","_maskCompositionEndHandler","_onMouseWheel","_getRealLimitsPattern","lockOtherParts","limitFunction","_addLeadingZeroes","zeroes","_saveMaskValue","limitDelta","_applyLimits","limitBase","limitClosest","getDatePartIndexByPosition","caretInGroup","_replaceSelectedText","_isDateValid","_isValueDirty","_fireChangeEvent","directionPostfixes","animationPresets","_registeredPresets","resetToDefaults","defaultAnimationDuration","defaultAnimationDelay","defaultStaggerAnimationDuration","defaultStaggerAnimationDelay","defaultStaggerAnimationStartDelay","_getPresetOptionName","animationName","_createAndroidSlideAnimationConfig","throughOpacity","widthMultiplier","createBaseConfig","configModifier","_createOpenDoorConfig","extraCssClasses","_createWinPopConfig","baseConfig","registerDefaultPresets","newRegisteredPresets","preset","registerPreset","customRules","getPreset","staggerDelay","DX_ANIMATING_CLASS","TransitionExecutor","_accumulatedDelays","_animations","_createAnimations","animationConfig","_prepareElementAnimationConfig","_createAnimation","presetName","presets","_completePromise","_startAnimations","animations","_stopAnimations","_clearAnimations","_completeDeferred","animationDeferreds","PENDING_RENDERING_CLASS","PENDING_RENDERING_MANUAL_CLASS","PENDING_RENDERING_ACTIVE_CLASS","renderWhen","transitionExecutor","_initElement","_initRender","_$initialContent","doRender","_renderDeferredContent","_initContent","_setLoadingState","_abortRenderTask","_renderTask","shownArgs","_isElementInViewport","animatePromise","renderedArgs","noModel","_setRenderedState","_isRendered","hasCustomLoadIndicator","_showLoadIndicator","_$loadIndicator","_renderOrAnimate","getDiagram","DiagramDefault","raiseBarCommandExecuted","parameter","_getKeys","POINTERUP_EVENT_NAME","DiagramPanel","_createOnPointerUpAction","_attachPointerUpEvent","_getPointerUpElements","_onPointerUpAction","DiagramMenuHelper","getContextMenuItemTemplate","rootCommand","_menuHasCheckedItems","getContextMenuCssClass","actionHandler","_parameter","getItemCommandParameter","getItemOptionText","indexPath","parentItemOptionText","_getParentItemOptionText","_originalItemsInfo","indexPathCorrection","_getItemOptionTextCore","parentIndexPath","getParameter","updateContextMenuItems","itemOptionText","rootCommandKey","originalItems","updateContextMenuItemVisible","updateContextMenuItemValue","_setContextMenuHasCheckedItems","DIAGRAM_MOBILE_TOOLBAR_COLOR_BOX_OPENED_CLASS","DiagramToolbarBar","DiagramBar","_commands","_setItemValue","_setItemEnabled","_setEnabled","_setItemSubItems","DiagramToolbarItemHelper","canUpdate","showingSubMenu","_updateButtonValue","_updateContextMenuItemValue","_updateContextMenuItems","_updateEditorItems","DiagramToolbarSubItemHelper","rootWidget","_indexPath","_rootCommandKey","_rootWidget","_getItemOptionText","rootEnabled","_hasEnabledCommandItems","_itemHelpers","_commandContextMenus","_contextMenuList","_valueConverters","bar","_createOnInternalCommand","_createOnCustomCommand","_createOnSubMenuVisibilityChangingAction","isServerSide","_getCommands","_createMainElement","_renderToolbar","$toolbarContent","beforeCommands","centerCommands","afterCommands","_prepareToolbarItems","_executeCommand","_toolbarInstance","_createItem","_createItemOptions","_createItemActionOptions","getCommandValue","getEditorValue","getEditorDisplayValue","iconUnchecked","iconChecked","_onItemInitialized","_onItemContentReady","_createSelectBoxItemOptions","_createTextBoxItemOptions","_createColorBoxItemOptions","_createTextEditorItemOptions","_toggleContextMenu","cm","_addItemHelper","_isTouchMode","$menuContainer","_dropDownButtonElement","_showingSubMenu","_onSubMenuVisibilityChangingAction","_onContextMenuInitialized","_onContextMenuDisposing","_addContextMenuHelper","helper","subItem","itemIndexPath","_updateLocked","valueConverter","_onInternalCommandAction","_onCustomCommandAction","isMobileView","buttonStylingMode","buttonType","skipAdjustSize","setCommandChecked","setCommandEnabled","SEPARATOR","SEPARATOR_COMMAND","CSS_CLASSES","SHOW_TOOLBOX_COMMAND_NAME","SHOW_PROPERTIES_PANEL_COMMAND_NAME","getAllCommands","_allCommands","_exportTo","menuIcon","cut","fontColor","lineStyle","textAlignLeft","textAlignCenter","textAlignRight","bringToFront","sendToBack","insertShapeImage","editShapeImage","deleteShapeImage","connectorLineType","connectorLineStart","connectorLineEnd","layoutTreeTopToBottom","layoutTreeBottomToTop","layoutTreeLeftToRight","layoutTreeRightToLeft","layoutLayeredTopToBottom","layoutLayeredBottomToTop","layoutLayeredLeftToRight","layoutLayeredRightToLeft","getMainToolbarCommands","excludeCommands","allCommands","mainToolbarCommands","_getPreparedCommands","_getDefaultMainToolbarCommands","_prepareToolbarCommands","_defaultMainToolbarCommands","getHistoryToolbarCommands","historyToolbarCommands","_getDefaultHistoryToolbarCommands","_defaultHistoryToolbarCommands","getViewToolbarCommands","viewToolbarCommands","_getDefaultViewToolbarCommands","_defaultViewToolbarCommands","getPropertiesToolbarCommands","propertiesCommands","_getDefaultPropertiesToolbarCommands","_defaultPropertiesToolbarCommands","_getDefaultPropertyPanelCommandGroups","_defaultPropertyPanelCommandGroups","_preparePropertyPanelGroups","subGroups","subCommands","getPropertyPanelCommandTabs","commandGroups","getContextMenuCommands","contextMenuCommands","_getDefaultContextMenuCommands","_prepareContextMenuCommands","_defaultContextMenuCommands","internalCommand","_command","_isValidCommand","_cloneCommand","mimeString","_getBlobByDataURI","byteString","DiagramToolbar","DiagramCommandsManager","_getExcludeCommands","DiagramContextMenuWrapper","_createOnVisibilityChangingAction","_createOnItemClickAction","_tempState","_commandToIndexMap","DiagramContextMenuBar","_fillCommandToIndexMap","_$contextMenuTargetElement","$contextMenu","_contextMenuInstance","DiagramContextMenu","isTouchBarMode","_isTouchBarMode","_onItemClick","_inOnShowing","_onVisibilityChangingAction","widthCorrection","processed","_onItemClickAction","commandIndexPath","_setItemVisible","DIAGRAM_CONTEXT_TOOLBOX_CONTENT_CLASS","DiagramContextToolbox","_onShownAction","_popoverPositionData","_$popoverTargetElement","$popoverElement","popoverClass","_popoverInstance","targetDiv","DiagramDialog","_createOnGetContentOption","_createOnHiddenOption","_$popupElement","_onHiddenAction","_getOkToolbarItem","_getCancelToolbarItem","_commandParameter","_onGetContentAction","DiagramScrollView","_createOnCreateDiagramAction","$scrollViewWrapper","_raiseOnScroll","_scrollView","_onCreateDiagramAction","_raiseOnScrollWithoutPoint","getDefaultGroups","_groups","general","flowchart","orgChart","getGroups","defaultGroups","_createOnVisibilityChangedAction","$popupElement","_getPopupClass","_getPopupOptions","_updatePopupVisible","_getPopupContent","_getVerticalPaddingsAndBorders","_getHorizontalPaddingsAndBorders","_getPopupWidth","_getPopupMaxWidth","_getPopupMinWidth","_getPopupHeight","_getPopupMaxHeight","_getPopupMinHeight","_getPopupPosition","_getPopupContainer","_getPopupSlideAnimationObject","_getPopupAnimation","_ignoreCopyRootClassesToWrapperDeprecation","_onVisibilityChangedAction","DIAGRAM_TOOLTIP_DATATOGGLE","DiagramFloatingPanel","_toolboxes","_filterText","_createOnShapeCategoryRenderedAction","_createOnFilterChangedAction","panelHeight","$inputContainer","_updateElementWidth","_renderSearchInput","_searchInput","$panel","_renderScrollView","updateMaxHeight","_accordion","_onInputChanged","$accordion","_renderAccordion","_getAccordionDataSource","toolboxGroups","groupObj","onTemplate","$toolboxElement","_onShapeCategoryRenderedAction","dataToggle","_onFilterChangedAction","filteringToolboxes","_createTooltips","$tooltip","_updateScrollAnimateSubscription","updateTooltips","$tooltipContainer","_commandTabs","_createOnCreateToolbar","_createOnSelectedGroupChanged","_toolbars","_selectedToolbar","_hasTabPanel","_renderTabPanel","_renderTabContent","$tabPanel","_tabPanel","_onSelectedGroupChangedAction","_firstScrollView","_scrollViewHeight","isSingleTab","_renderTabInnerContent","_renderTabGroupContent","_onCreateToolbarAction","getActiveToolbars","commandOptions","_setOption","_updateLock","getConfigurations","dialogList","onGetContent","getChangeImageDialogContent","$uploader","getDialogParameters","commandIndex","ItemsOptionBase","diagramWidget","_diagramWidget","_resetCache","internalChanges","internalChange","externalChanges","_reloadContentByChanges","_onDataSourceChanged","_dataSourceLoadingChangedHandler","_showLoadingIndicator","_hideLoadingIndicator","_prepareData","errorCallback","_getStore","storeKey","_getStoreKey","_getItemByKey","hasItems","isExternalChanges","internalKey","_getInternalKey","_ensureCache","_fillCache","_getKeyExpr","_getItemsExpr","containerChildrenExpr","_getContainerChildrenExpr","ItemsOption","_createOptionGetter","DIAGRAM_CLASS","DIAGRAM_TOOLBAR_WRAPPER_CLASS","DIAGRAM_CONTENT_WRAPPER_CLASS","DIAGRAM_CONTENT_CLASS","DIAGRAM_SCROLL_VIEW_CLASS","DIAGRAM_FLOATING_TOOLBAR_CONTAINER_CLASS","DIAGRAM_PROPERTIES_PANEL_TOOLBAR_CONTAINER_CLASS","DIAGRAM_LOADING_INDICATOR_CLASS","DIAGRAM_FLOATING_PANEL_OFFSET","DIAGRAM_DEFAULT_UNIT","DIAGRAM_DEFAULT_AUTOZOOM_MODE","DIAGRAM_DEFAULT_PAGE_ORIENTATION","DIAGRAM_DEFAULT_PAGE_COLOR","DIAGRAM_NAMESPACE","FULLSCREEN_CHANGE_EVENT_NAME","IE_FULLSCREEN_CHANGE_EVENT_NAME","WEBKIT_FULLSCREEN_CHANGE_EVENT_NAME","MOZ_FULLSCREEN_CHANGE_EVENT_NAME","_updateDiagramLockCount","toggleFullscreenLock","_initDiagram","_createCustomCommand","_isMobileScreenSize","_mainToolbar","_renderMainToolbar","$contentWrapper","_historyToolbar","_historyToolbarResizeCallback","_isHistoryToolbarVisible","_renderHistoryToolbar","_propertiesToolbar","_propertiesToolbarResizeCallback","_isPropertiesPanelEnabled","_renderPropertiesToolbar","_viewToolbar","_viewToolbarResizeCallback","_renderViewToolbar","_toolbox","_toolboxResizeCallback","_isToolboxEnabled","_renderToolbox","_propertiesPanel","_propertiesPanelResizeCallback","_renderPropertiesPanel","_diagramInstance","_contextToolbox","_renderContextToolbox","_renderDialog","onCreateDiagram","_setCustomCommandChecked","_isPropertiesPanelVisible","_isToolboxVisible","_createOptionsUpdateBar","_processDiagramResize","_bindDiagramData","isMobileScreenSize","_captureFocus","_captureFocusOnTimeout","_captureFocusTimeout","_killCaptureFocusTimeout","_registerToolbar","_registerBar","_getToolbarBaseOptions","onSubMenuVisibilityChanging","_onPanelPointerUp","onInternalCommand","_onInternalCommand","_onCustomCommand","_customCommandAction","$toolbarWrapper","DiagramMainToolbar","isReadOnlyMode","DiagramHistoryToolbar","_updateHistoryToolbarPosition","$toolBox","_getToolboxBounds","DiagramToolbox","showSearch","_getToolboxGroups","onShapeCategoryRendered","onFilterChanged","onVisibilityChanging","_historyToolbarZIndex","zIndexPool","baseZIndex","_textInputStarted","_getViewToolbarYOffset","DiagramViewToolbar","_updateViewToolbarPosition","DiagramPropertiesToolbar","_updatePropertiesToolbarPosition","$propertiesPanel","DiagramPropertiesPanel","propertyTabs","onCreateToolbar","_updatePropertiesPanelGroupBars","onSelectedGroupChanged","diagramContextMenuModule","_onBeforeCommandExecuted","$contextToolbox","$toolboxContainer","isTextGroup","tb","dialogParameters","DiagramDialogManager","_showDialog","$dialogElement","_dialogInstance","_loadingIndicator","_raiseDataChangeAction","_raiseEdgeInsertedAction","_raiseEdgeUpdatedAction","_raiseEdgeRemovedAction","_raiseNodeInsertedAction","_raiseNodeUpdatedAction","_raiseNodeRemovedAction","_raiseToolboxDragStart","_raiseToolboxDragEnd","_raiseTextInputStart","_raiseTextInputEnd","_onToggleFullScreen","_onShowContextMenu","_onHideContextMenu","_onShowContextToolbox","_onHideContextToolbox","notifyItemClick","_raiseItemClickAction","notifyItemDblClick","_raiseItemDblClickAction","_raiseSelectionChanged","_raiseRequestEditOperation","_updateEventSubscriptionMethods","_updateDefaultItemProperties","_updateEditingSettings","_updateShapeTexts","_updateUnitItems","_updateFormatUnitsMethod","_updateUnitsState","_updateReadOnlyState","_updatePageSizeItemsState","_updatePageSizeState","_updatePageOrientationState","_updatePageColorState","_updateViewUnitsState","_updateShowGridState","_updateSnapToGridState","_updateGridSizeState","_updateZoomLevelState","_updateSimpleViewState","_updateAutoZoomState","_updateFullscreenState","_updateCustomShapes","_getCustomShapes","_refreshDataSources","optionsUpdateBar","DiagramOptionsUpdateBar","_deleteOptionsUpdateBar","_executeDiagramCommand","getNodeDataSource","_nodesOption","getEdgeDataSource","_edgesOption","_beginUpdateDiagram","_refreshNodesDataSource","_refreshEdgesDataSource","_endUpdateDiagram","NodesOption","EdgesOption","_getDiagramData","_setDiagramData","_getChangesKeys","_onRequestUpdateLayout","_requestLayoutUpdateAction","_createRequestLayoutUpdateAction","_createOptionSetter","_isBindingMode","lineOptionGetter","lineOptionSetter","startLineEndingGetter","startLineEndingSetter","endLineEndingGetter","endLineEndingSetter","containerChildrenGetter","containerChildrenSetter","_getConnectorLineOption","lineEnd","_getConnectorLineEnding","_getDataBindingLayoutParameters","_reloadContent","itemKeys","layoutParametersOption","_hasNodePositionExprs","_getAutoZoomValue","DiagramToolboxManager","_updateAllCustomShapes","prevCustomShapes","toolboxTemplateOption","toolboxTemplate","backgroundImageUrl","backgroundImageToolboxUrl","backgroundImageLeft","backgroundImageTop","backgroundImageWidth","backgroundImageHeight","_nativeItemToDiagramItem","_getViewport","$viewPort","_changeNativeFullscreen","_prevParent","_prevFullScreenZIndex","_fullScreenZIndex","setModeOn","_inNativeFullscreen","_subscribeFullscreenNativeChanged","_unsubscribeFullscreenNativeChanged","_setNativeFullscreen","mozRequestFullscreen","mozCancelFullscreen","webkitIsFullscreen","_onNativeFullscreenChangeHandler","_executeDiagramFullscreenCommand","_getDiagramUnitValue","_updateZoomLevelItemsState","_DiagramCommand","_updateGridSizeItemsState","_DiagramCommand2","_getUnitItems","_unitItems","_getShapeTexts","_shapeTexts","fitToContent","fitToWidth","_getDiagramExportToCommand","updateExistingItemsOnly","updateToolbox","customDataExpr","lockedExpr","textStyleExpr","zIndexExpr","typeExpr","imageUrlExpr","parentKeyExpr","leftExpr","topExpr","widthExpr","heightExpr","containerKeyExpr","fromExpr","fromPointIndexExpr","toExpr","toPointIndexExpr","pointsExpr","lineTypeExpr","fromLineEndExpr","toLineEndExpr","shapeIconsPerRow","allowAddShape","allowDeleteShape","allowDeleteConnector","allowChangeConnection","allowChangeConnectorPoints","allowChangeShapeText","allowChangeConnectorText","allowResizeShape","allowMoveShape","_toolboxDragHidden","_propertiesPanelTextInputHidden","_toolboxTextInputHidden","_createItemDblClickAction","_itemDblClickAction","_createSelectionChangedAction","_selectionChangedAction","_createRequestEditOperationAction","_requestEditOperationAction","nativeItem","nativeItems","_getRequestEditOperationEventArgs","_getModelOperation","newShape","connectorPosition","newSize","_nativeShapeToDiagramShape","_nativeConnectorToDiagramConnector","nativeShape","nativeConnector","getItemByKey","_invalidateContextMenuCommands","_invalidateMainToolbarCommands","_invalidateHistoryToolbarCommands","_invalidateViewToolbarCommands","_invalidateToolboxGroups","_optionChangedCore","DEFAULT_BUTTON","DX_DIALOG_CLASSNAME","DX_DIALOG_WRAPPER_CLASSNAME","DX_DIALOG_ROOT_CLASSNAME","DX_DIALOG_CONTENT_CLASSNAME","DX_DIALOG_MESSAGE_CLASSNAME","DX_DIALOG_BUTTONS_CLASSNAME","DX_DIALOG_BUTTON_CLASSNAME","DX_BUTTON_CLASSNAME","FakeDialogComponent","_options$title","getViewport","isMessageHtmlDefined","messageHtml","popupToolbarItems","popupInstance","ignoreChildEvents","dragAndResizeArea","$firstButton","toConfig","completeAction","_drawer","getDrawerInstance","renderPanelContent","whenPanelContentRendered","renderPosition","changePositionUsingFxAnimation","whenPositionAnimationCompleted","whenShaderAnimationCompleted","_animationCompleteHandler","_internalRenderPosition","resizeViewContent","renderShaderVisibility","_getPanelOffset","isDrawerOpened","isHorizontalDirection","getRealPanelWidth","getRealPanelHeight","getMaxSize","getMinSize","_getPanelSize","whenAnimationCompleted","isShaderVisible","fadeConfig","_$shader","_toggleShaderVisibility","getPanelContent","setPanelSize","calcFromRealPanelSize","refreshPanelElementSize","panelSize","isViewContentFirst","onPanelContentRendered","DrawerStrategy","openedPanelSize","contentPosition","_getPositionCorrection","paddingCssPropertyName","calcTargetPosition","viewContent","panelOffset","_initialPosition","getOverlayTarget","_getOverlayPosition","_fixOverlayPosition","_processOverlayZIndex","panelPosition","overlay","getOverlay","_updateViewContentStyles","$panelOverlayContent","targetPanelPosition","DRAWER_CLASS","DRAWER_PANEL_CONTENT_CLASS","DRAWER_SHADER_CLASS","INVISIBLE_STATE_CLASS","ANONYMOUS_TEMPLATE_NAME","PANEL_TEMPLATE_NAME","_whenAnimationCompleted","_whenPanelContentRendered","_whenPanelContentRefreshed","_$viewContentWrapper","PushStrategy","ShrinkStrategy","OverlapStrategy","_viewContentWrapperClickHandler","stopAnimations","_toggleOpenedStateClass","_renderPanelContentWrapper","_refreshOpenedStateModeClass","_refreshRevealModeClass","_renderShader","_refreshPositionClass","_renderViewContent","_refreshWrapperChildrenOrder","_initMinMaxSize","_renderPosition","_removePanelManualPosition","_$panelContentWrapper","prevOpenedStateMode","prevRevealMode","contentTemplateOption","$viewTemplate","_initSize","realPanelSize","_maxSize","_minSize","_getPanelTemplateElement","$panelContent","resizeContent","_isInvertedPosition","disableAnimation","_refreshPanel","_removePanelContentWrapper","_removeOverlay","targetOpened","$tabbableElements","_getTabbableElements","_getElements","tabbable","_initDataExpressions","_shouldUseDisplayValue","_sortValuesByKeysOrder","orderedKeys","itemDisplayValue","_rejectValueLoading","_getCurrentValue","itemLoadDeferreds","orderedValues","_isValueEquals","_valueGetter","_loadValue","shouldSkipCallback","_popupElementTabHandler","$firstTabbable","$lastTabbable","moveBackward","moveForward","_fieldRenderData","_canShowVirtualKeyboard","_isNestedElementActive","_shouldHideOnParentScroll","_popupPosition","_popupPositionedHandler","_getDefaultPopupPosition","_ignoreFunctionValueDeprecation","_this$_popupPosition","popupLocation","getElementMaxHeightByWindow","$firstElement","_setCollectionWidgetOption","_dataExpressionOptionChanged","DataExpressionMixin","DROP_DOWN_BUTTON_CLASS","DROP_DOWN_BUTTON_ACTION_CLASS","DROP_DOWN_BUTTON_TOGGLE_CLASS","dropDownContentTemplate","groupTemplate","buttonGroupOptions","_createActionClickAction","_compileKeyGetter","_itemsToDataSource","$listContainer","_listOptions","_escHandler","_getKey","_this$_dataSource","_renderButtonGroup","_updateArrowClass","_loadSelectedItem","_updateActionButton","_this$_loadSingleDefe","_loadSingleDeferred","_lastSelectedItemData","cachedResult","_actionClickAction","_fireSelectionChangedAction","previousItem","_fireItemClickAction","_actionItem","_actionButtonConfig","_getButtonGroupItems","_buttonGroupItemClick","isActionButton","_buttonGroupOptions","buttonContent","$firstIcon","$textContainer","$secondIcon","_popupContentId","_popupOptions","_buttonGroup","_upDownKeyHandler","_tabHandler","$popup","_setAriaExpanded","_popupOptionChanged","getOptionsFromContainer","optionsKeys","_setWidgetOption","_ariaExpandedElements","ariaElement","owns","$buttonGroup","buttonElements","hasArrow","_getDisplayValue","_selectedItemKeyChanged","_actionButtonOptionChanged","_selectModeChanged","_updateItemCollection","_updateKeyExpr","_innerWidgetOptionChanged","TextEditorButton","_attachEvents","_openHandler","_create","_getOptions","_addToContainer","_legacyRender","_addTemplate","_isSameTemplate","DROP_DOWN_EDITOR_INPUT_WRAPPER","DROP_DOWN_EDITOR_OVERLAY","isIOs","_getDefaultButtons","dropDownButtonTemplate","popupPosition","onPopupInitialized","_inputWrapper","_initVisibilityActions","_initPopupInitializedAction","_updatePopupPosition","_openAction","_closeAction","_popupInitializedAction","_renderOpenHandler","_attachFocusOutHandler","_wrapInput","_setDefaultAria","haspopup","autocomplete","_isEditable","_detachFocusEvents","_getFieldTemplate","_renderTemplatedField","_renderPlaceholder","_detachKeyboardEvents","_refreshButtonsContainer","_detachWrapperContent","$templateWrapper","_integrateInput","_attachWrapperContent","_this$_$submitElement","_this$_$beforeButtons","_this$_$afterButtonsC","beforeButtonsContainerParent","_$beforeButtonsContainer","afterButtonsContainerParent","_$afterButtonsContainer","_this$_$submitElement2","_$buttonsContainer","_refreshValueChangeEvent","_refreshEvents","_refreshEmptinessEvent","_toggleEmptinessEventHandler","_renderEmptinessEvent","$icon","$inputWrapper","_getInputClickHandler","_openOnFieldClickAction","_detachFocusOutEvents","popupWrapper","_executeOpenAction","_focusInput","_toggleOpenState","_resetCaretPosition","ignoreEditable","caretPosition","_getControlsAria","arias","contentReady","_setPopupContentId","_popupInitializedHandler","_hideOnParentScrollTarget","_e$position","_e$position$v","$popupOverlayContent","isOverlayFlipped","shouldIndentForLabel","_label","_this$_validationMess","_validationMessage","_getValidationMessagePositionSide","_this$_validationMess2","myTop","popupTop","$dropDownButton","isInputClicked","isDropDownButtonClicked","_popupElementEscHandler","_popupButtonInitializedHandler","buttonsConfig","_applyButtonsLocation","resultConfig","_updateButtons","SEARCH_MODES","useCompositionEvents","_allowSelectItemByTab","_setSelectedElement","_setValue","_dataExpressionDefaultOptions","_validateSearchMode","_clearSelectedItem","_initItems","_setListFocusedElementOptionChange","_updateActiveDescendant","_initContentReadyAction","_initSelectionChangedAction","_initItemClickAction","_saveFocusOnWidget","_fitIntoRange","_getSelectedIndex","_updateCustomBoundaryContainer","customContainer","$containerWithParents","overflowY","_$customBoundaryContainer","_loadInputValue","itemByValue","_this$_list","listFocusedItemId","isElementOnDom","activedescendant","_displayValue","_listItemElements","itemValue","_isSelectedValue","_setFocusPolicy","normalizedSearchMode","_processDataSourceChanging","_isCustomValueAllowed","_clearFilter","_$list","_getMaxHeight","_renderList","canListHaveFocus","_canListHaveFocus","_setAriaTargetForList","_listId","$list","_refreshList","_renderPreventBlurOnListClick","_shouldRefreshDataSource","_needPassDataSourceToList","templateProvider","_listContentReadyHandler","_getCollectionKeyExpr","_listItemClickAction","_getDataSource","_getGroupedOption","_dataSourceFromUrlLoadMode","dxList","_isMinSearchLengthExceeded","_needClearFilter","_canKeepDataSource","isMinSearchLengthExceeded","_isLastMinSearchLengthExceeded","_getSearchEvent","_getCompositionStartEvent","_getCompositionEndEvent","_getSetFocusPolicyEvent","_shouldRenderSearchEvent","_searchHandler","_isTextCompositionInProgress","_isTextComposition","_clearSearchTimer","_searchTimer","_filterDataSource","_dataSourceFiltered","_refreshPopupVisibility","_shouldOpenPopup","_hasItemsToShow","shouldOpenPopup","resultAmount","_needPopupRepaint","_scrollViewIsFull","$customBoundaryContainer","containerHeight","DataConverterMixin","VALIDATION_STATUS_INVALID","ALLOWED_STYLING_MODES","VALIDATION_MESSAGE_KEYS_MAP","validationBoundary","_createValueChangeAction","_valueChangeActionSuppressed","_toggleReadOnlyState","_setSubmitElementName","_renderValidationState","_valueChangeArgs","isValidationMessageShownOnFocus","_canValueBeChangedByClick","_getStylingModePrefix","_renderStylingMode","allowedStylingClasses","stylingModeClass","defaultOptionValue","platformOptionValue","_getValidationErrors","_disposeValidationMessage","_$validationMessage","_toggleValidationClasses","isInvalid","validationMessageContentId","_getValidationMessageTarget","_toggleBackspaceHandler","$eventTarget","EventsEngine","$submitElement","_setValidationMessageOption","_hasActiveElement","_this$_validationMess3","_refreshFocusState","updateMaxWidth","_compileValueGetter","_initDynamicTemplates","_valueGetterExpr","_unwrappedValue","_loadValueDeferred","_this$_loadValueDefer","_getItemKey","_compareValues","_compareByCompositeKey","_compareByKey","isObjectType","unwrapObservable","valueKey1","valueKey2","_setCollectionWidgetItemTemplate","$notify","$containers","getDefaultDirection","getStackContainer","createStackContainer","setContainerClasses","containerClasses","setContainerStyles","toastWidth","toastHeight","coordinates","getCoordinatesByAlias","getPositionStylesByCoordinates","_coordinates$bottom","_coordinates$left","_coordinates$right","_coordinates$top","_coordinates$left2","_coordinates$right2","_coordinates$right3","_coordinates$top2","_coordinates$bottom2","_coordinates$left3","_coordinates$top3","_coordinates$bottom3","typeOrStack","userOnHidden","userOnShowing","whenSome","onSuccess","onError","getDisplayFileSize","byteSize","sizesTitles","displaySize","extendAttributes","targetObject","sourceObject","objectKeysArray","objectKey","getMapFromObject","PATH_SEPARATOR","getFileExtension","includeFullPath","pathCombine","getEscapedFileName","FileSystemItem","_publicCtor","_internalCtor","pathInfo","isDirectory","parentPath","_getPathByPathInfo","relativeName","getFullPathInfo","pathKeys","_initialize","pathInfoPart","dateModified","thumbnail","tooltipText","createClone","hasSubDirectories","_nameGetter","_getNameExpr","_isDirGetter","_getIsDirExpr","_sizeGetter","_getSizeExpr","_dateModifiedGetter","_getDateModifiedExpr","_thumbnailGetter","thumbnailExpr","parentDirectory","renameItem","createDirectory","moveItems","destinationDirectory","copyItems","uploadFileChunk","fileData","chunksInfo","abortFileUpload","downloadItems","getItemsContent","getFileUploadChunkSize","_convertDataObjectsToFileItems","fileItem","_createFileItem","_hasSubDirs","_defaultKeyExpr","nameExpr","isDirectoryExpr","sizeExpr","dateModifiedExpr","_executeActionAsDeferred","keepResult","fileSystemItem","NoAccess","FileExists","FileNotFound","DirectoryExists","DirectoryNotFound","WrongFileExtension","MaxFileSizeExceeded","InvalidSymbols","Other","FileSystemProviderBase","_subFileItemsGetter","_subFileItemsSetter","_getSetter","contentExpr","_contentGetter","_contentSetter","_nameSetter","isDirExpr","_getIsDirSetter","_keySetter","_sizeSetter","_dateModifiedSetter","parentDir","_getItems","_renameItemCore","_findDataObject","_ensureDataObjectKey","_validateDirectoryExists","_createDataObject","_deleteItem","destinationDir","destinationDataItem","_getDirectoryDataItems","_checkAbilityToMoveOrCopyItem","copiedItem","_createCopy","chunkIndex","_createFileReader","_downloadSingleFile","_downloadMultipleFiles","_getFileContent","zip","getJSZip","directoryInfo","_isFileItemExists","FileSystemError","ErrorCode","_getKeyFromDataObject","_getDataObjectKey","parentDataItem","copyObj","itemsCopy","childItem","childCopy","parentDirDataObj","_findFileItemObj","directoryDataObj","dataItems","parentDirKey","dirFileObjects","directoryEntry","_ensureKeysForDuplicateNameItems","dataObjects","fileItemObj","fileItemObjects","hasCorrectFileItemType","defaultKeyPrefix","subItems","FILE_CHUNK_BLOB_NAME","FILE_SYSTEM_COMMNAD","REQUEST_METHOD","_endpointUrl","endpointUrl","_beforeAjaxSend","beforeAjaxSend","_beforeSubmit","beforeSubmit","_requestHeaders","requestHeaders","_hasSubDirsGetter","hasSubDirectoriesExpr","_executeRequest","sourcePathInfo","sourceIsDirectory","destinationPathInfo","destinationFolder","uploadId","chunkMetadata","UploadId","FileName","Index","TotalCount","chunkCount","FileSize","chunkBlob","_beforeSendInternal","_getDownloadArgs","$form","formDataEntries","_beforeSubmitInternal","_appendFormDataInputsToForm","pathInfoList","argsStr","_getItemsIds","_getEndpointUrl","formData","ajaxArguments","_createFormData","FormData","entryName","formElement","queryString","_getQueryString","_processQueryStringArrayParam","_getQueryStringPair","hasSubDirs","_getItemsFunction","_ensureFunction","_renameItemFunction","_createDirectoryFunction","_deleteItemFunction","_moveItemFunction","moveItem","_copyItemFunction","copyItem","_uploadFileChunkFunction","_abortFileUploadFunction","_downloadItemsFunction","_getItemsContentFunction","functionObject","defaultFunction","DEFAULT_ROOT_FILE_SYSTEM_ITEM_NAME","OPERATIONS","FileItemsController","_isInitialized","_dataLoading","_dataLoadingDeferred","_rootDirectoryInfo","_createRootDirectoryInfo","rootText","_currentDirectoryInfo","_defaultIconMap","_createDefaultIconMap","startSingleLoad","_setSecurityController","_setProvider","fileProvider","setCurrentPathByKeys","setCurrentPath","completeInitialization","_raiseInitialized","_securityController","FileSecurityController","uploadMaxFileSize","_resetState","setAllowedFileExtensions","setUploadOptions","uploadChunkSize","_fileProvider","_createFileProvider","updateProvider","_getDirectoryByPathParts","newDirectory","_resetCurrentDirectory","_updateProviderOnly","ObjectFileSystemProvider","RemoteFileSystemProvider","CustomFileSystemProvider","pathParts","rawPath","getCurrentDirectory","_setCurrentDirectoryByPathParts","getCurrentPath","directory","escapedName","getCurrentPathKeys","setCurrentDirectory","checkActuality","_getActualDirectoryInfo","_raisePathPotentiallyChanged","requireRaiseSelectedDirectory","_raiseDataLoading","_raiseSelectedDirectoryChanged","getCurrentItems","onlyFiles","_getCurrentItemsInternal","currentDirectory","getDirectoryContents","separatedItems","_separateItemsByType","folders","getDirectories","parentDirectoryInfo","skipNavigationOnError","itemInfos","itemsLoaded","_singleOperationLockId","itemsSingleLoadErrorId","_changeDirectoryOnError","dirKey","getInternalKey","loadItemsDeferred","_loadedItems","_getFileItems","fileItems","_createDirectoryInfo","_createFileInfo","_handleItemLoadError","getAllowedItems","errorInfo","parentDirItem","tempDirInfo","_createDirInfoByName","actionInfo","_createEditActionInfo","_processEditAction","_editingEvents","_resetDirectoryState","fileItemInfo","itemNewName","itemInfo","validateExtension","itemName","needChangeCurrentDirectory","processUploadSession","sessionInfo","uploadDirectoryInfo","_getItemInfosForUploaderFiles","startDeferred","validateMaxFileSize","_processBeforeItemEditAction","_getItemActionResult","_raiseDownloadItemsError","getItemContent","_raiseGetItemsError","_raiseEditActionStarting","_raiseEditActionResultAcquired","_raiseEditActionError","targetFileInfos","singleRequest","_raiseEditActionItemError","dirInfo","isActualDirectoryRequired","actionResult","beforeAction","afterAction","isAnyOperationSuccessful","_raiseCompleteEditActionItem","_raiseCompleteEditAction","targetItemInfos","_createBeforeActionArgs","_getPathInfo","_lockRefresh","_refreshDeferred","_executeDataLoad","_refreshInternal","endSingleLoad","cachedRootInfo","selectedKeyParts","_getDirectoryPathKeyParts","_loadItemsRecursive","_findDirectoryByPathKeyParts","cachedDirectoryInfo","dirInfos","itemDeferreds","cachedItem","useKeys","_setCurrentDirectoryByPathPartsInternal","tempDeferred","subDirInfo","restPathParts","keyParts","selectedDirInfo","newSelectedDir","dirPathInfo","_getFileItemDefaultIcon","extension","rootDirectory","setRootText","_tryCallAction","selectedDirectoryInfo","_selectedDirectory","finalEventName","editingEvents","_extensionsMap","_allowedFileExtensions","_isValidExtension","_maxFileSize","defaultPermissions","rename","FileManagerCommandManager","_permissions","_initCommands","noFileItemRequired","isSingleFileItemCommand","_commandMap","registerActions","actions","executeCommand","commandName","updatePermissions","resultPermissions","permission","getCommandByName","isCommandAvailable","isParentFolder","DEFAULT_CONTEXT_MENU_ITEMS","DEFAULT_ITEM_ALLOWED_PROPERTIES","FileManagerContextMenu","_onContextMenuItemClick","_onContextMenuShowing","_onContextMenuShown","_onContextMenuHidden","showAt","_menuShowingContext","createContextMenuItems","contextMenuItems","targetFileItem","_targetFileItems","_targetFileItem","srcItem","_configureItemByCommandName","_isContextMenuItemAvailable","_isDefaultItem","_autoHide","_isIsolatedCreationItemCommand","_commandManager","originalItemData","_addItemClickHandler","_createMenuItemByCommandName","_this$_targetFileItem","viewArea","targetFileItems","onContextMenuHidden","tryUpdateVisibleContextMenu","preserveContext","_raiseContextMenuHidden","FileManagerFileActionsButton","_button","_raiseClick","setActive","FILE_MANAGER_DIRS_TREE_FOCUSED_ITEM_CLASS","FileManagerFilesTreeView","_getCurrentDirectory","_createFileActionsButton","_storeExpandedState","$treeView","treeViewOptions","_onFilesTreeViewCreateSubDirectories","_createFilesTreeViewItemTemplate","onDirectoryClick","_onFilesTreeViewItemExpanded","_onFilesTreeViewItemCollapsed","_onFilesTreeViewItemRendered","onFilesTreeViewContentReady","_onFilesTreeViewItemContextMenu","_filesTreeView","TreeViewSearch","_updateFocusedElement","rootItem","_restoreScrollTopPosition","_filesTreeViewItemSelector","$image","$text","_onFileItemActionButtonClick","_activeFileActionsButton","toggleNodeDisabledState","_getNodeByKey","_saveScrollTopPosition","_scrollTopPosition","_getItemElementByKey","_this$_filesTreeView","_getPublicNode","_this$_filesTreeView2","nodesQueue","_getNodeElement","storeExpandedState","initialFolder","toggleDirectoryExpandedState","treeViewNode","updateCurrentDirectory","_updateExpandedStateToCurrentDirectory","toggleDirectoryExpandedStateRecursive","dirLine","toggleDirectoryLineExpandedState","FileManagerItemListBase","_lockFocusedItemProcessing","_focusedItemKey","_needResetScrollPosition","dblClickEventName","dblClickName","_onItemDblClick","onSelectedItemOpened","onItemListDataLoaded","getItemThumbnail","_setSelectedItemKeys","_setFocusedItemKey","_getItemsInternal","_resetFocus","parentDirectoryItem","_findParentDirectoryItem","_hasParentDirectoryItem","_parentDirectoryItemKey","_onDataLoaded","itemsResult","_raiseOnError","_raiseFocusedItemChanged","_raiseSelectedItemOpened","_raiseContextMenuShowing","_raiseItemListDataLoaded","_this$_refreshDeferre","_onContentReady","_resetScrollTopPosition","_tryRaiseSelectionChanged","selectedItemInfos","currentSelectedItemKeys","currentDeselectedItemKeys","_deselectItem","_hasValidKeys","_filterOutItemByPredicate","_filterOutParentDirectory","_filterOutParentDirectoryKey","_onFocusedItemChanged","_this$_getScrollable","_getItemThumbnail","fileInfo","itemThumbnailGetter","_getItemThumbnailContainer","$itemThumbnail","_getItemThumbnailCssClass","_isDesktop","_showContextMenu","_isParentDirectoryItem","_getFileItemsForContextMenu","createNewArray","_isMultipleSelectionMode","_createDataSource","DEFAULT_COLUMN_CONFIGS","_focusedItem","_selectAllCheckBox","_selectAllCheckBoxUpdating","_createFilesView","$filesView","_filesView","_createColumns","_onEditorPreparing","_onRowPrepared","_onContextMenuPreparing","_onFilesViewSelectionChanged","_onFilesViewFocusedRowChanged","_onFilesViewOptionChanged","extendedItem","_getPreparedColumn","_updateColumnDataField","resultCssClass","_isDefaultColumn","_createThumbnailColumnCell","_createNameColumnCell","_calculateSizeColumnCellValue","dataItemSuffix","columnDataField","_selectItem","_isAllItemsSelected","selectableItemsCount","_onSelectAllCheckBoxValueChanged","_e$row2","_e$row","_selectItemSingleSelection","cellInfo","$name","_selectItemMultipleSelection","oldFocusedItem","deselectedKeys","_this$_filesView","actualOptions","FILE_MANAGER_THUMBNAILS_LIST_BOX_HOLD_EVENT_NAME","FileManagerThumbnailListBox","_renderItemsContainer","_createScrollViewControl","_layoutUtils","ListBoxLayoutUtils","_syncFocusedItemKey","onItemEnterKeyPressed","_itemThumbnailTemplate","_getTooltipText","itemModel","_getDefaultItemTemplate","_$scrollView","_beforeKeyProcessing","_processArrowKeys","_processHomeEndKeys","_getItemsLength","_processPageChange","_getFocusedItem","getLayoutModel","itemPerRowCount","newItemIndex","_focusItemByIndex","itemLayout","createItemLayoutModel","rowPerPageRate","newRowRate","itemRowIndex","itemColumnIndex","_processLongTap","_getIndexByItemElement","$itemSpacer","$itemName","_isPreserveSelectionMode","_getItemByIndex","getItemByItemElement","_focusItem","getItemElementByItem","_syncFocusedItemKeyDeferred","focusedItem","newFocusedItemKey","_changeItemSelection","deselectItem","_layoutModel","_$viewPort","_$item","_createLayoutModel","itemWidth","viewPortWidth","viewPortHeight","viewPortScrollTop","viewPortScrollBottom","itemTop","itemBottom","newScrollTop","contextMenuEvent","_onContextMenu","_createItemList","$itemListContainer","_tryOpen","itemThumbnailTemplate","getTooltipText","_onItemListSelectionChanged","_onItemListFocusedItemChanged","targetItemElement","_disableDragging","FILE_MANAGER_TOOLBAR_CLASS","FILE_MANAGER_GENERAL_TOOLBAR_CLASS","FILE_MANAGER_TOOLBAR_SEPARATOR_ITEM_CLASS","FILE_MANAGER_TOOLBAR_VIEWMODE_ITEM_CLASS","DEFAULT_ITEM_CONFIGS","showNavPane","compactMode","switchView","DEFAULT_ITEM_ALLOWED_OPTION_PROPERTIES","ALWAYS_VISIBLE_TOOLBAR_ITEMS","REFRESH_ICON_MAP","FileManagerToolbar","_generalToolbarVisible","_refreshItemState","_createItemClickedAction","_$viewSwitcherPopup","_generalToolbar","_createToolbar","_fileToolbar","_getVisibleToolbar","_checkCompactMode","_itemClickedAction","_getPreparedItems","_raiseItemClicked","preparedItem","_setItemVisibleAvailable","_updateSeparatorsVisibility","hasModifications","_getMenuItems","hasItemsBefore","itemGroups","_getItemsInGroup","itemLocation","isSeparatorVisible","_groupHasItemsAfter","_isItemInMenu","_result$options","_createCommandItem","_createSeparatorItem","_createViewModeItem","_configureHintForCompactMode","commandText","commandItems","_toggleCompactMode","useCompactMode","_toolbarHasItemsOverflow","_getItemsWidth","optionsSource","saved","_getCompactModeOptions","_available","available","_ensureAvailableCommandsVisible","_item$originalItemDat","originalVisible","_isToolbarItemAvailable","_fileToolbarHasEffectiveItems","_isFileToolbarItemAvailable","_isRefreshVisibleInFileToolbar","_isCommandAvailable","_updateItemInToolbar","generalItems","contextItems","itemViewMode","updateItemPermissions","_restoreRefreshItemState","updateRefreshItem","generalToolbarOptions","fileToolbarOptions","_applyRefreshItemOptions","_refreshItemTextTimeout","_updateRefreshItemText","isDeferredUpdate","showGeneralToolbar","FILE_MANAGER_PROGRESS_PANEL_CLASS","FILE_MANAGER_PROGRESS_PANEL_CONTAINER_CLASS","FILE_MANAGER_PROGRESS_PANEL_TITLE_CLASS","FILE_MANAGER_PROGRESS_PANEL_TITLE_TEXT_CLASS","FILE_MANAGER_PROGRESS_PANEL_CLOSE_BUTTON_CLASS","FILE_MANAGER_PROGRESS_PANEL_INFOS_CONTAINER_CLASS","FILE_MANAGER_PROGRESS_PANEL_SEPARATOR_CLASS","FILE_MANAGER_PROGRESS_PANEL_INFO_CLASS","FILE_MANAGER_PROGRESS_PANEL_COMMON_CLASS","FILE_MANAGER_PROGRESS_PANEL_INFO_WITH_DETAILS_CLASS","FILE_MANAGER_PROGRESS_PANEL_DETAILS_CLASS","FILE_MANAGER_PROGRESS_BOX_CLASS","FILE_MANAGER_PROGRESS_BOX_ERROR_CLASS","FILE_MANAGER_PROGRESS_BOX_WITHOUT_CLOSE_BUTTON_CLASS","FILE_MANAGER_PROGRESS_BOX_IMAGE_CLASS","FILE_MANAGER_PROGRESS_BOX_WRAPPER_CLASS","FILE_MANAGER_PROGRESS_BOX_COMMON_CLASS","FILE_MANAGER_PROGRESS_BOX_PROGRESS_BAR_CLASS","FILE_MANAGER_PROGRESS_BOX_CLOSE_BUTTON_CLASS","FileManagerProgressPanel","_operationCount","$scrollView","_raisePanelClosed","_$infosContainer","_renderEmptyListText","onOperationClosed","onOperationCanceled","onOperationItemCanceled","onPanelClosed","addOperation","commonText","showCloseButtonAlways","allowProgressAutoUpdate","customCloseHandling","$info","$common","_createProgressBox","onCloseButtonClick","_closeOperation","addOperationDetails","$details","_createDetailsItem","skipProgressBox","$detailsItem","_cancelOperationItem","completeOperationItem","operationInfo","commonProgress","updateOperationItemProgress","_setCloseButtonVisible","itemProgress","updateOperationCommonProgress","progressBar","_operationInfo$common","completeOperation","$commonText","_removeProgressBar","_setProgressBarText","completeSingleOperationWithError","_info$details","detailsItem","_renderOperationError","addOperationDetailsError","_renderError","progressBox","$progressBar","_getStatusString","closeButton","_raiseOperationCanceled","_displayClosedOperationItem","_raiseOperationClosed","_raiseOperationItemCanceled","MANAGER_ID_NAME","ACTION_PROGRESS_STATUS","NotificationManagerBase","onActionProgressStatusChanged","isActual","_id","_isActual","_actionProgressStatus","_raiseActionProgress","createErrorDetailsProgressBox","renderError","isActionProgressStatusDefault","NotificationManagerStub","finishOperation","handleDimensionChanged","ensureProgressPanelCreated","tryHideActionProgress","_updateActionProgress","updateActionProgressStatus","hasNoOperations","_operationInProgressCount","_failedOperationCount","NotificationManager","processingMessage","allowCancel","_progressPanel","detailErrorText","_notifyError","$progressPanelElement","ProgressPanelClass","_getProgressPanelComponent","_onProgressPanelOperationClosed","hasError","commonErrorText","_operationInProgressCountInternal","_failedOperationCountInternal","FILE_MANAGER_NOTIFICATION_CLASS","FILE_MANAGER_NOTIFICATION_DRAWER_CLASS","FILE_MANAGER_NOTIFICATION_DRAWER_PANEL_CLASS","FILE_MANAGER_NOTIFICATION_POPUP_CLASS","FILE_MANAGER_NOTIFICATION_POPUP_ERROR_CLASS","FILE_MANAGER_NOTIFICATION_COMMON_CLASS","FILE_MANAGER_NOTIFICATION_SEPARATOR_CLASS","FILE_MANAGER_NOTIFICATION_DETAILS_CLASS","FILE_MANAGER_NOTIFICATION_COMMON_NO_ITEM_CLASS","FileManagerNotificationControl","_isInAdaptiveState","_managerMap","_notificationManagerStubId","_setNotificationManager","$progressPanelContainer","$progressDrawer","drawerOptions","_ensureProgressPanelCreated","_getProgressDrawerAdaptiveOptions","_progressDrawer","$drawerContent","contentRenderer","stubManager","_isProgressDrawerDisabled","notificationManagerComponent","_getProgressManagerComponent","defaultManager","_getNotificationManager","actualManagerId","_getActualNotificationManagerId","_clearManagerMap","managerId","tryShowProgressPanel","notificationManager","_isProgressDrawerOpened","_hidePopup","_showPopup","_showPopupError","_hideProgressPanel","_checkAdaptiveState","forceHide","_getNotificationPopup","errorMode","$separator","_notificationPopup","onActionProgress","progressPanelContainer","showProgressPanel","showNotificationPopup","FileManagerDialogBase","_options$popupCssClas","_createOnClosedAction","_getDialogOptions","_createContentTemplate","buttonText","_applyDialogChanges","_closeDialog","_onPopupHiding","_onPopupShown","popupCssClass","_dialogResult","contentCssClass","_$contentElement","_getDialogResult","_onClosedAction","dialogResult","_setTitle","newTitle","_setApplyButtonOptions","_createOnPathChangedAction","_nameTextBox","_initialNameValue","$textBoxInput","_hasCompositionJustEnded","_checkCompositionEnded","nameValue","_setSelectedDirInfo","switchToCopyDialog","_targetItemInfos","switchToMoveDialog","_getDialogSelectedDirectory","_onFilesTreeViewDirectoryClick","_toggleUnavailableLocationsDisabled","_selectedDirectoryInfo","locations","_getLocationsToProcess","locationsToExpand","locationsToCollapse","locationKeysToDisable","expandLocations","collapseLocations","expandMap","collapseMap","_$text","_initialText","baseDialogOptions","onDialogClosed","$chooseFolderDialog","_chooseDirectoryDialog","FileManagerFolderChooserDialog","chooseDirectoryDialog","$renameDialog","_renameItemDialog","FileManagerNameEditorDialog","$createDialog","_createItemDialog","$deleteItemDialog","_deleteItemDialog","FileManagerDeleteItemDialog","getCopyDialog","getMoveDialog","getRenameItemDialog","getCreateItemDialog","getDeleteItemDialog","updateDialogRtl","dialog","FileManagerFileUploader","_uploaderInfos","_createInternalFileUploader","_createDropZonePlaceholder","_setDropZonePlaceholderVisible","_getController","$fileUploader","fileUploader","dropZone","_onFileUploaderValueChanged","_onFileUploaderProgress","_onFileUploaderUploaded","_onFileUploaderAllFilesUploaded","_onFileUploaderUploadAborted","_onFileUploaderUploadError","chunksData","_fileUploaderUploadChunk","_fileUploaderAbortUpload","_shouldRaiseDragLeaveBase","_shouldRaiseDragLeave","uploaderInfo","tryUpload","_findAndUpdateAvailableUploaderInfo","_selectButtonClickHandler","cancelUpload","sessionId","_cancelUpload","cancelFileUpload","fileIndex","_findUploaderInfoBySessionId","session","_findSessionByFile","_findUploaderInfo","_uploadFiles","bytesLoaded","bytesTotal","fileValue","commonValue","_raiseUploadProgress","_files","_raiseUploadFinished","_getDeferredForFile","_$dropZonePlaceholder","_adjustDropZonePlaceholder","$dropZoneTarget","placeholderBorderTopWidth","placeholderBorderLeftWidth","$placeholderContainer","containerBorderBottomWidth","containerBorderLeftWidth","containerOffset","dropZoneOffset","uploaderInstance","isMouseOverElement","_raiseUploadSessionStarted","currentInfo","controllerGetter","onUploadSessionStarted","onUploadProgress","onUploadFinished","splitterElement","FileManagerMessages","FileManagerEditingControl","_onEditActionStarting","_onEditActionResultAcquired","_onEditActionItemError","_onEditActionError","_onCompleteEditActionItem","_onCompleteEditAction","_model","_uploadOperationInfoMap","_dialogManager","FileManagerDialogManager","_onDialogClosed","_fileUploader","_createFileUploader","notificationControl","_initNotificationControl","_createMetadataMap","_notificationControl","_onCancelUploadSession","_onCancelFileUpload","_getFileUploaderComponent","_getFileUploaderController","dropZonePlaceholderContainer","_onUploadSessionStarted","_onUploadProgress","_onUploadFinished","setUploaderDropZone","setUploaderSplitterElement","uploadDirectory","_metadataMap","_tryCreate","affectsAllItems","singleItemProcessingMessage","singleItemSuccessMessage","singleItemErrorMessage","commonErrorMessage","_tryRename","_tryDelete","multipleItemsProcessingMessage","multipleItemsSuccessMessage","multipleItemsErrorMessage","_tryMove","_tryCopy","_tryUpload","allowItemProgress","canceledMessage","_download","getCommandActions","actionMetadata","uploadSessionId","_scheduleUploadSessionDisposal","FileManagerActionContext","_getItemProgressDisplayInfo","_handleActionError","_completeAction","requester","parentDirectories","newDirName","getMultipleSelectedItems","_uploadDirectoryInfo","completionMessage","hasModifiedItems","_raiseOnSuccess","_handleSingleRequestActionError","_handleMultipleRequestActionError","getItemForSingleRequestError","getItemName","_getErrorText","processSingleRequestError","operationErrorInfo","_getOperationErrorInfo","multipleItems","getItemForMultipleRequestError","processMultipleRequestError","detailError","errorState","currentDetailError","errorArgs","dialogArgument","_dialogDeferred","updatedOnlyFiles","_actionMetadata","_itemInfos","_onlyFiles","_multipleItems","_location","_singleRequest","_completedItems","_commonProgress","_errorState","failedCount","_itemNewName","_setCurrentDetailError","_hasCompletedItems","_isItemExistsErrorCode","successMessage","FILE_MANAGER_BREADCRUMBS_CLASS","FILE_MANAGER_BREADCRUMBS_PARENT_FOLDER_ITEM_CLASS","FILE_MANAGER_BREADCRUMBS_SEPARATOR_ITEM_CLASS","FILE_MANAGER_BREADCRUMBS_PATH_SEPARATOR_ITEM_CLASS","FileManagerBreadcrumbs","_currentDirectory","_renderMenu","_areDirsEqual","_menu","_onItemRendered","_getParentDirsLine","isPathItem","newDir","_raiseCurrentDirectoryChanged","dir1","dir2","onCurrentDirectoryChanging","rootFolderDisplayName","FILE_MANAGER_ADAPTIVITY_DRAWER_PANEL_CLASS","DRAWER_PANEL_CONTENT_INITIAL","FileManagerAdaptivityControl","$drawer","_createDrawerTemplate","_updateDrawerMaxSize","_splitter","SplitterControl","leftElement","rightElement","onApplyPanelSize","_onApplyPanelSize","onActiveStateChanged","_onActiveStateChanged","disableSplitterCalculation","isSplitterMoved","_setDrawerWidth","leftPanelWidth","toggleDrawer","_raiseAdaptiveStateChanged","_isDrawerOpened","onAdaptiveStateChanged","drawerTemplate","isInAdaptiveState","isSplitterActive","toggleDisabled","getSplitterElement","getSplitterBorderElement","FILE_MANAGER_CLASS","FILE_MANAGER_WRAPPER_CLASS","FILE_MANAGER_CONTAINER_CLASS","FILE_MANAGER_DIRS_PANEL_CLASS","FILE_MANAGER_EDITING_CONTAINER_CLASS","FILE_MANAGER_ITEMS_PANEL_CLASS","FILE_MANAGER_ITEM_CUSTOM_THUMBNAIL_CLASS","VIEW_AREAS","_providerUpdateDeferred","_lockCurrentPathProcessing","_wasRendered","_onControllerInitialized","onDataLoading","_onDataLoading","onSelectedDirectoryChanged","_onSelectedDirectoryChanged","onPathPotentiallyChanged","_checkPathActuality","_firstItemViewLoad","_lockSelectionProcessing","_itemKeyToFocus","_loadedWidgets","_prepareToLoad","_createNotificationControl","_initCommandManager","$notificationControl","_createWrapper","_onActionProgress","positionTarget","_createEditing","_createAdaptivityControl","_adaptivityControl","_createFilesTreeView","_createItemsPanel","_onAdaptiveStateChanged","_editing","$editingContainer","_getSelectedItemInfos","_getItemThumbnailInfo","uploadDropZonePlaceholderContainer","_redrawComponent","_onEditingError","_$itemsPanel","_createBreadcrumbs","_createItemView","_updateUploadDropZone","_filesTreeViewContextMenu","_createContextMenu","$filesTreeView","_setCurrentDirectory","_tryEndLoading","viewMode","_itemViewContextMenu","itemViewOptions","_getItemViewItems","_showError","_onItemViewSelectionChanged","_onItemViewFocusedItemChanged","_onSelectedItemOpened","onItemListItemsLoaded","detailColumns","$itemView","FileManagerThumbnailsItemList","FileManagerDetailsItemList","_itemView","$breadcrumbs","_breadcrumbs","isolateCreationItemCommands","_refreshAndShowProgress","thumbnails","_updateToolbar","_isAllWidgetsLoaded","_switchView","_disposeWidget","_showNotification","isSuccess","onlyFileItemsView","showFolders","_updateToolbarWithSelectionOnFirstLoad","_getPreparedItemViewItems","findItemsByKeys","itemMap","selectedDir","_e$itemData","_isActionButton","fileSystemProvider","fileSelectionItems","showParentFolder","showPanel","showPopup","optionsToCheck","isOptionValueDiffers","updateFunc","_syncToCurrentDirectory","_ref10","newCurrentDirectory","FILEUPLOADER_DRAGOVER_CLASS","FILEUPLOADER_FILE_CONTAINER_CLASS","FILEUPLOADER_FILE_NAME_CLASS","FILEUPLOADER_FILE_SIZE_CLASS","FILEUPLOADER_BUTTON_CLASS","FILEUPLOADER_BUTTON_CONTAINER_CLASS","FILEUPLOADER_UPLOAD_BUTTON_CLASS","isFormDataSupported","$selectButton","_selectButton","dialogTrigger","uploadHeaders","uploadCustomData","extendSelection","useNativeInputClick","useDragOver","nativeDropSupported","_uploadButtonType","isLabelTextDefined","_shouldDragOverBeRendered","_initFileInput","_initLabel","_setUploadStrategy","_createFiles","_createBeforeSendAction","_createUploadStartedAction","_createUploadedAction","_createFilesUploadedAction","_createProgressAction","_createUploadErrorAction","_createUploadAbortedAction","_createDropZoneEnterAction","_createDropZoneLeaveAction","CustomChunksFileUploadStrategy","DefaultChunksFileUploadStrategy","CustomWholeFileUploadStrategy","DefaultWholeFileUploadStrategy","_uploadStrategy","_isCustomClickEvent","_$fileInput","_inputChangeHandler","_doPreventInputChange","_getFiles","_shouldFileListBeExtended","fileList","_getFile","targetFileValue","_$inputLabel","_updateInputLabelText","correctedValue","_isInteractionDisabled","_renderInputWrapper","_renderSelectButton","_renderInputContainer","_renderUploadButton","_preventRecreatingFiles","_activeDropZone","_attachDragEventHandlers","_$inputWrapper","_renderFiles","_createFileProgressBar","_createProgressBar","$file","_initStatusMessage","_ensureCancelButtonInitialized","_setStatusMessage","$statusMessage","_getUploadAbortedStatusMessage","_preventFilesUploading","_createFile","_validateFile","isValidFileExtension","_validateFileExtension","isValidMinSize","_validateMinFileSize","isValidMaxSize","_validateMaxFileSize","allowedExtensions","allowedTypes","_getAllowedFileTypes","_isFileTypeAllowed","fileSize","_beforeSendAction","_uploadStartedAction","_uploadedAction","_filesUploadedAction","_progressAction","_uploadAbortedAction","_uploadErrorAction","_dropZoneEnterAction","_dropZoneLeaveAction","loadedSize","onAbort","onLoad","onLoadStart","_resetFileState","isAborted","uploadStarted","isStartLoad","_$filesContainer","_renderFile","_toggleFileUploaderEmptyClassName","_updateFileNameMaxWidth","$fileContainer","_renderFileButtons","$fileInfo","_getFileSize","_createValidationElement","cancelButtonsCount","uploadButtonsCount","filesContainerWidth","$buttonContainer","buttonsWidth","$fileSize","prevFileSize","fileSizeWidth","$cancelButton","_getCancelButton","$uploadButton","_getUploadButton","cancelButton","_removeFile","uploadButton","_uploadFile","_file$$file","removeFile","_hasInvalidFile","_selectFileDialogHandler","_attachSelectFileDialogHandler","_detachSelectFileDialogHandler","_uploadButton","_uploadButtonClickHandler","_$inputContainer","_selectButtonInputTemplate","_applyInputAttributes","_detachDragEventHandlers","isCustomTarget","_dragOverHandler","_dropHandler","customAttributes","_useInputForDrop","_getDropZoneElement","targetList","dropZoneElement","_shouldRaiseDragOver","_tryToggleDropZoneActive","dropEffect","classAction","_areAllFilesLoaded","_isError","_handleAllFilesUploaded","_recalculateProgress","acceptSting","allowedType","_updateProgressBar","loadedFileData","segmentSize","currentSegmentSize","_updateTotalProgress","totalFilesSize","totalLoadedFilesSize","_getProgressValue","_setLoadedSize","hideCancelButton","statusPosition","_getTotalFilesSize","_totalFilesSize","_getTotalLoadedFilesSize","_totalLoadedFilesSize","correctPseudoElements","dragEventDelta","beforeHeight","afterHeight","_getEventX","_getEventY","_getTouchEventX","_getDocumentScrollLeft","_getTouchEventY","_getDocumentScrollTop","touchPoint","targetTouches","_file$cancelButton","_updateHoverState","_this$_selectButton","_this$_uploadButton","_file$uploadButton","_file$cancelButton2","FileBlobReader","read","createBlobResult","isCompleted","sliceFile","startPos","webkitSlice","FileUploadStrategyBase","_prepareFileBeforeUpload","_uploadCore","_isCustomCallback","_createUploadArgument","_handleFileError","_beforeSend","uploadInfo","_handleProgress","_isProgressStarted","_handleProgressCore","_file$progressBar","_onUploadStarted","_onLoadedHandler","_onErrorHandler","_onAbortHandler","_onProgressHandler","_shouldHandleError","_isStatusError","_getLoadedData","_extendFormData","ChunksFileUploadStrategyBase","realFile","loadedBytes","blobReader","_getFileChunksCount","_sendChunk","jsFile","chunk","currentChunk","_sendChunkCore","_tryRaiseStartLoad","_getEvent","_createChunksInfo","bytesUploaded","blobName","FileType","FileGuid","WholeFileUploadStrategyBase","FILTER_BUILDER_CLASS","FILTER_BUILDER_GROUP_CLASS","FILTER_BUILDER_GROUP_ITEM_CLASS","FILTER_BUILDER_GROUP_CONTENT_CLASS","FILTER_BUILDER_GROUP_OPERATIONS_CLASS","FILTER_BUILDER_GROUP_OPERATION_CLASS","FILTER_BUILDER_ACTION_CLASS","FILTER_BUILDER_IMAGE_CLASS","FILTER_BUILDER_ITEM_TEXT_CLASS","FILTER_BUILDER_ITEM_FIELD_CLASS","FILTER_BUILDER_ITEM_OPERATION_CLASS","FILTER_BUILDER_ITEM_VALUE_CLASS","FILTER_BUILDER_ITEM_VALUE_TEXT_CLASS","FILTER_BUILDER_OVERLAY_CLASS","FILTER_BUILDER_FILTER_OPERATIONS_CLASS","FILTER_BUILDER_FIELDS_CLASS","FILTER_BUILDER_ADD_CONDITION_CLASS","ACTIVE_CLASS","FILTER_BUILDER_MENU_CUSTOM_OPERATION_CLASS","SOURCE","ENTER_KEY","ESCAPE_KEY","OPERATORS","EditorFactory","closePopupOnTargetScroll","_initCustomOperations","disableInvalidateForValue","_disableInvalidateForValue","_initModel","_getNormalizedFields","_getFilterExpression","_customOperations","getNormalizedFields","_updateFilter","_getModel","_initEditorFactory","getMergedOperations","_getDefaultGroupOperation","_this$option$","convertToInnerStructure","_createGroupElementByCriteria","_createConditionElement","_createConditionItem","$group","_createGroupElement","$groupContent","groupCriteria","getGroupCriteria","innerCriteria","$groupItem","_createRemoveButton","_createGroupOperationButton","_createAddButton","newGroup","createEmptyGroup","newCondition","createCondition","_getGroupOperations","groupMenuItem","getGroupMenuItem","$operationButton","_createButtonWithMenu","setGroupValue","removeMenu","treeViewElement","_subscribeOnClickAndEnterKey","_createPopupWithTreeView","_hasValueButton","_createOperationButtonWithMenu","availableOperations","getAvailableOperations","currentOperation","getOperationFromAvailable","getOperationValue","updateConditionByOperation","$valueButton","_createValueButton","_createOperationAndValueButtons","_createFieldButtonWithMenu","getFullCaption","getCaptionWithParents","$fieldButton","$removeButton","addGroupHandler","addConditionHandler","_createValueText","_createValueEditorWithEvents","_updateConditionValue","_addDocumentKeyUp","hasCompositionJustEnded","documentKeyUpHandler","_documentKeyUpHandler","_addDocumentClick","closeEditorFunc","documentClickHandler","_isFocusOnEditorParts","_removeEvents","createValueText","_createValueEditor","FILTER_BUILDER_RANGE_CLASS","FILTER_BUILDER_RANGE_START_CLASS","FILTER_BUILDER_RANGE_END_CLASS","FILTER_BUILDER_RANGE_SEPARATOR_CLASS","$editorStart","$editorEnd","getStartValue","getEndValue","valueSeparator","notForLookup","isblank","isnotblank","OPERATION_NAME","getIconByFilterOperation","getNameByFilterOperation","DEFAULT_DATA_TYPE","EMPTY_MENU_ICON","AND_GROUP_OPERATION","EQUAL_OPERATION","NOT_EQUAL_OPERATION","DEFAULT_FORMAT","LOOKUP_OPERATIONS","AVAILABLE_FIELD_PROPERTIES","FILTER_BUILDER_ITEM_TEXT_PART_CLASS","FILTER_BUILDER_ITEM_TEXT_SEPARATOR_CLASS","FILTER_BUILDER_ITEM_TEXT_SEPARATOR_EMPTY_CLASS","isNegationGroup","convertGroupToNewStructure","availableGroups","getCriteriaOperation","getFilterOperations","entity","getDefaultFilterOperations","filterOperationsDictionary","filteredOperations","isLookupField","isNegation","isNegationGroupOperation","groupOperation","getGroupOperationFromNegationOperation","extendedFields","convertToInnerGroup","defaultGroupOperation","innerGroup","appendGroupOperationToGroup","convertToInnerCondition","conditionHasCustomOperation","appendGroupOperationToCriteria","normalizedField","getConditionFilterExpression","itemsForRemove","normalizedGroupValue","setGroupCriteria","getPrimitiveValueText","fieldFormat","getFormattedValueText","checkDefaultValue","getArrayValueText","itemExists","pushItemAndCheckParent","hasParent","getParentIdFromItemDataField","generateCaptionByDataField","betweenCaption","betweenIndex","isMatchedCondition","addedFilterDataField","syncConditionIntoGroup","addedFilter","canPush","FormItemsRunTimeInfo","_findWidgetInstance","widgetInstance","_findFieldByCondition","removeItemsByItems","itemsRunTimeInfo","removeItemByKey","addItemsOrExtendFrom","itemRunTimeInfo","extendRunTimeItemInfoByKey","findWidgetInstanceByItem","storedItem","findGroupOrTabLayoutManagerByPath","targetPath","findKeyByPath","findWidgetInstanceByName","findWidgetInstanceByDataField","findItemContainerByItem","findItemIndexByItem","findPreparedItemByItem","removeItemsByPathStartWith","ItemOptionAction","_itemsRunTimeInfo","findInstance","findPreparedItem","tryExecute","createItemPathByIndex","isTabs","concatPaths","getTextWithoutSpaces","getFullOptionName","getOptionNameFromFullName","isFullPathContainsTabs","fullPath","getItemPath","tabOrGroupItems","WidgetOptionItemOptionAction","TabOptionItemOptionAction","tabPanel","SimpleItemTemplateChangedAction","GroupItemTemplateChangedAction","_prepareGroupItemTemplate","_renderGroupContentTemplate","TabsOptionItemOptionAction","ValidationRulesItemOptionAction","filterRequired","oldContainsRequired","newContainsRequired","CssClassItemOptionAction","tryCreateItemOptionAction","itemActionOptions","_itemActionOptions$it","_itemActionOptions$it2","_itemActionOptions$it3","FORM_GROUP_CLASS","FORM_FIELD_ITEM_COL_CLASS","FIELD_ITEM_CLASS","LAYOUT_MANAGER_ONE_COLUMN","FIELD_ITEM_LABEL_CONTENT_CLASS","FIELD_ITEM_LABEL_CLASS","FIELD_ITEM_CONTENT_CLASS","ROOT_SIMPLE_ITEM_CLASS","FIELD_ITEM_TAB_CLASS","GROUP_COL_COUNT_CLASS","GROUP_COL_COUNT_ATTR","SIMPLE_ITEM_TYPE","EDITORS_WITH_ARRAY_VALUE","EDITORS_WITHOUT_LABELS","convertToRenderFieldItemOptions","rootElementCssClassList","formOrLayoutManager","createComponentCallback","labelTemplate","formLabelLocation","requiredMessageTemplate","canAssignUndefinedValueToEditor","editorValidationBoundary","managerLabelLocation","managerMarkOptions","onLabelTemplateRendered","hasRequiredRule","_hasRequiredRuleInSet","isSimpleItem","helpID","helpText","labelOptions","formLabelMode","isEditorWithoutLabels","showColon","markOptions","convertToLabelMarkOptions","labelID","textWithoutColon","_convertToLabelOptions","needRenderLabel","labelNeedBaselineAlign","defaultEditorName","externalEditorOptions","editorInputId","editorOptionsWithValue","_convertToEditorOptions","FIELD_ITEM_REQUIRED_MARK_CLASS","FIELD_ITEM_LABEL_LOCATION_CLASS","FIELD_ITEM_OPTIONAL_MARK_CLASS","renderLabel","labelTemplateData","$labelContainer","$labelContent","markText","getLabelMarkText","_renderLabelMark","getLabelWidthByHTML","labelContent","FIELD_ITEM_CONTENT_WRAPPER_CLASS","VALIDATION_TARGET_CLASS","renderFieldItem","$fieldEditorContainer","getTemplateData","isToggleControls","labelAlignment","validationTargetInstance","$validationTarget","_$validationTarget$pa","_$validationTarget$pa2","tryGetValidationTargetInstance","getValidationTarget","subscribeWrapperInvalidClassToggle","$div","isItemHaveCustomLabel","wrapperClass","toggleInvalidClass","renderButtonItem","convertAlignmentToJustifyContent","buttonInstance","renderEmptyItem","layoutData","_itemWatchers","_updateReferencedOptions","_initDataAndItems","_cleanItemWatchers","initialData","_syncDataWithItems","_getDataByField","_updateFieldValue","_isCheckboxUndefinedStateEnabled","allowIndeterminateState","nameParts","_triggerOnFieldDataChanged","isUserItemsExist","_generateItemsByData","processedItems","_isAcceptableItem","_updateItemWatchers","_setItems","_sortItems","_getWatch","itemField","_getEditorTypeByDataType","_item$allowIndetermin","_sortIndexes","indexA","indexB","_renderResponsiveBox","templatesInfo","_getColCount","_prepareItemsWithMerging","layoutItems","_generateLayoutItems","_responsiveBox","_getResponsiveBoxConfig","_renderTemplates","_itemStateChangedHandler","itemsWithLabelTemplateCount","_item$label","_renderButtonItem","_renderFieldItem","xsColCount","onLayoutChanged","isSingleColumnMode","itemRenderedCountInPreviousRows","itemCssClassList","isLastColumn","_getRowsCount","isLastRow","_generateRatio","screenFactor","getTargetScreenFactor","_cashedColCount","_getMaxColCount","isCachedColCountObsolete","itemsMergedByCol","_getColByIndex","generatedItem","rowSpan","_renderEmptyItem","_item$label2","_getFormOrThis","_getMarkOptions","_incTemplateRenderedCallCount","_shouldAlignLabelsOnTemplateRendered","_alignLabels","_bindDataField","_this$_labelTemplateR","_labelTemplateRenderedCallCount","totalItemsWithLabelTemplate","formOrThis","_createWatcher","linkEditorToDataField","_watch","formInstance","readOnlyState","hasEditorReadOnly","isChangeByForm","isAutoSize","newLayoutData","_resetWidget","_disableEditorValueChangedHandler","_cashedRequiredConfig","dataValue","_resetColCount","isValueReferenceType","responsiveBox","getItemsRunTimeInfo","FOCUSED_STATE_CLASS","ITEM_OPTIONS_FOR_VALIDATION_UPDATING","_cachedColCountOptions","_groupsColCount","_attachSyncSubscriptions","alignRootItemLabels","_getGroupColCount","_applyLabelsWidthByCol","fieldItemClass","inOneColumn","cssExcludeTabbedSelector","excludeTabbed","$targetContainer","labelsSelector","labelWidth","FIELD_ITEM_LABEL_CONTENT_CLASS_Selector","$FIELD_ITEM_LABEL_CONTENT_CLASS_Items","FIELD_ITEM_LABEL_CONTENT_CLASS_Length","setLabelWidthByMaxLabelWidth","_applyLabelsWidth","labelMarkOptions","applyLabelsOptions","_getGroupElementsInColumn","cssColCountSelector","_applyLabelsWidthWithGroups","$rootSimpleItems","_applyLabelsWidthWithNestedGroups","groupsColIndex","groupColIndex","$groupsByCol","groupColCount","_labelLocation","_alignLabelsInColumn","_checkGrouping","_prepareFormData","_setStylingModeClass","addGroup","_getValidationGroup","_clearCachedInstances","_renderLayout","_renderValidationSummary","_lastMarkupScreenFactor","_targetScreenFactor","_getCurrentScreenFactor","_attachResizeObserverSubscription","formRootElement","_resizeHandler","_cachedLayoutManagers","_layoutManager$option","TOOLBAR_CLASS","_clearValidationSummary","_this$_$validationSum","_$validationSummary","_validationSummary","dxValidationSummary","_prepareItems","parentIsTabbedItem","_tryPrepareGroupItem","_tryPrepareTabbedItem","_tryPrepareItemTemplate","cssItemClass","groupContentTemplate","_itemGroupTemplate","_itemTabbedTemplate","_rootLayoutManager","_renderLayoutManager","_createLayoutManagerOptions","_tryGetItemsForTemplate","_item$tabs","_item$tabPanelOptions","_item$tabPanelOptions2","tryUpdateTabPanelInstance","extendedLayoutManagerOptions","$formElement","onFieldItemRendered","baseOptions","convertToLayoutManagerOptions","_isDataUpdating","nestedItemsRunTimeInfo","_this$_validationSumm","refreshValidationGroup","layoutManagerOptions","baseColCountByScreen","_clearAutoColCountChangedTimeout","autoColCountChangedTimeoutId","optionFullName","_triggerOnFieldDataChangedByDataSet","splitFullName","_itemsOptionChangedHandler","_formDataOptionChangedHandler","_defaultOptionChangedHandler","_resetValues","removeGroup","_getItemPath","optionNameWithoutPath","simpleOptionName","itemAction","_tryCreateItemOptionAction","_tryExecuteItemOptionAction","_tryChangeLayoutManagerItemOption","_changeItemOption","_generateItemsFromData","_updateValidationGroupAndSummaryIfNeeded","_this$_validationSumm2","_setLayoutManagerItemOption","contentReadyHandler","tabPath","resultPathParts","tryGetTabPath","tabLayoutManager","endPartIndex","_itemPath","_layoutManager","formItems","layoutManagerItems","_tryChangeLayoutManagerItemOptions","_getItemByField","resultItem","fieldParts","_getFieldParts","fieldPath","_getItemByFieldPath","subItemsField","_getSubItemField","isEqualToDataFieldOrNameOrTitleOrCaption","separatorIndex","resultPath","isItemWithSubItems","isGroupWithName","nameWithoutSpaces","pathNode","_searchItemInEverySubItem","currentScreenFactor","_isColCountChanged","oldScreenSize","newScreenSize","isChanged","editorSelector","resetGroup","_updateData","isComplexData","resetValues","allowUpdateItems","GALLERY_CLASS","GALLERY_WRAPPER_CLASS","GALLERY_LOOP_CLASS","GALLERY_ITEM_CONTAINER_CLASS","GALLERY_ACTIVE_CLASS","GALLERY_ITEM_CLASS","GALLERY_INVISIBLE_ITEM_CLASS","GALLERY_LOOP_ITEM_CLASS","GALLERY_ITEM_SELECTOR","GALLERY_ITEM_SELECTED_CLASS","GALLERY_INDICATOR_CLASS","GALLERY_INDICATOR_ITEM_CLASS","GALLERY_INDICATOR_ITEM_SELECTOR","GALLERY_INDICATOR_ITEM_SELECTED_CLASS","GalleryNavButton","_wasAnyItemTemplateRendered","$img","imageSrc","imageAlt","_actualItemWidth","isWrapAround","_itemsPerPage","_itemPercentWidth","itemsPerPage","_itemsCount","_pagesCount","_offsetDirection","_renderDragHandler","_renderContainerPosition","_renderItemSizes","_renderItemPositions","_renderNavButtons","_renderItemVisibility","_renderUserInteraction","_setupSlideShow","_reviseDimensions","_stopItemAnimations","_clearCacheWidth","_cloneDuplicateItems","_calculateIndexOffset","_loadNextPageIfNeeded","_getLoopedItems","duplicateCount","_getRealItems","_cloneItemForDuplicate","loopItemsCount","lastItemDuplicateIndex","_itemFreeSpace","isGapBetweenImages","realIndex","isLoopItem","itemPosition","_relocateItems","hideItems","_releaseInvisibleItems","positionReady","_animationOverride","_startSwipe","_endSwipe","_elementWidth","extraConfig","animationComplete","_needMoveContainerForward","_needMoveContainerBack","_maxContainerOffset","_maxItemWidth","$firstItem","_cleanIndicators","_$indicator","isIndicatorEnabled","$indicatorItem","_attachIndicatorClickHandler","_renderSelectedPageIndicator","_indicatorSelectHandler","_detachIndicatorClickHandler","_toggleIndicatorInteraction","clickEnabled","_this$_$indicator","$indicatorItems","indicatorIndex","_fitPaginatedIndex","_needLongMove","_prevNavButton","_prevPage","_nextNavButton","_nextPage","_renderNavButtonsVisibility","_cleanNavButtons","visiblePageSize","goToItem","_shouldLoadNextPage","restItemsCount","_goToGhostItem","nextHidden","prevHidden","_slideshowTimer","_userInteraction","_cacheElementWidth","wrapAroundRatio","paginatedIndex","_setFocusOnSelect","_flipIndex","withoutAnimation","indexOffset","_isItemOnFirstPage","_isItemOnLastPage","prevItem","GANTT_TASKS","GANTT_DEPENDENCIES","GANTT_RESOURCES","GANTT_RESOURCE_ASSIGNMENTS","ModelChangesListener","gantt","NotifyTaskCreated","_onRecordInserted","NotifyTaskRemoved","_onRecordRemoved","NotifyTaskUpdated","_onRecordUpdated","NotifyParentTaskUpdated","_onParentTaskUpdated","NotifyDependencyInserted","NotifyDependencyRemoved","NotifyResourceCreated","NotifyResourceRemoved","NotifyResourceAssigned","NotifyResourceUnassigned","NotifyParentDataRecalculated","_onParentTasksRecalculated","NotifyTaskCreating","_actionsManager","raiseInsertingAction","NotifyTaskRemoving","raiseDeletingAction","NotifyTaskUpdating","raiseUpdatingAction","NotifyTaskMoving","getTaskMovingAction","NotifyTaskEditDialogShowing","raiseTaskEditDialogShowingAction","NotifyResourceManagerDialogShowing","raiseResourceManagerDialogShowingAction","NotifyDependencyInserting","NotifyDependencyRemoving","NotifyResourceCreating","NotifyResourceRemoving","NotifyResourceAssigning","NotifyResourceUnassigning","NotifyScaleCellPrepared","raiseScaleCellPreparedAction","NotifyGanttViewUpdated","_onGanttViewCoreUpdated","DataOption","getLoadPanel","dataSourceChangedCallback","_optionName","_getLoadPanel","_dataSourceChangedCallback","_showLoadPanel","_hideLoadPanel","_this$_getLoadPanel","_this$_getLoadPanel2","_reloadDataSource","Actions","GanttActionsManager","_gantt","_mappingHelper","_customFieldsManager","_getTaskData","_convertCoreToMappedData","coreData","convertCoreToMappedData","_convertMappedToCoreData","mappedData","convertMappedToCoreData","_convertMappedToCoreFields","convertMappedToCoreFields","_convertCoreToMappedFields","convertCoreToMappedFields","_saveCustomFieldsDataToCache","forceUpdateOnKeyExpire","isCustomFieldsUpdateOnly","saveCustomFieldsDataToCache","createTaskDblClickAction","_taskDblClickAction","taskDblClickAction","raiseTaskDblClickAction","createTaskClickAction","_taskClickAction","taskClickAction","raiseTaskClickAction","createSelectionChangedAction","selectionChangedAction","raiseSelectionChangedAction","selectedRowKey","createCustomCommandAction","customCommandAction","raiseCustomCommand","createContextMenuPreparingAction","_contextMenuPreparingAction","contextMenuPreparingAction","raiseContextMenuPreparing","_getInsertingAction","_getTaskInsertingAction","_getDependencyInsertingAction","_getResourceInsertingAction","_getResourceAssigningAction","coreArgs","createTaskInsertingAction","_taskInsertingAction","taskInsertingAction","createDependencyInsertingAction","_dependencyInsertingAction","dependencyInsertingAction","createResourceInsertingAction","_resourceInsertingAction","resourceInsertingAction","createResourceAssigningAction","_resourceAssigningAction","resourceAssigningAction","_getInsertedAction","_getTaskInsertedAction","_getDependencyInsertedAction","_getResourceInsertedAction","_getResourceAssignedAction","raiseInsertedAction","createTaskInsertedAction","_taskInsertedAction","taskInsertedAction","createDependencyInsertedAction","_dependencyInsertedAction","dependencyInsertedAction","createResourceInsertedAction","_resourceInsertedAction","resourceInsertedAction","createResourceAssignedAction","_resourceAssignedAction","resourceAssignedAction","_getDeletingAction","_getTaskDeletingAction","_getDependencyDeletingAction","_getResourceDeletingAction","_getResourceUnassigningAction","createTaskDeletingAction","_taskDeletingAction","taskDeletingAction","createDependencyDeletingAction","_dependencyDeletingAction","dependencyDeletingAction","createResourceDeletingAction","_resourceDeletingAction","resourceDeletingAction","createResourceUnassigningAction","_resourceUnassigningAction","resourceUnassigningAction","_getDeletedAction","_getTaskDeletedAction","_getDependencyDeletedAction","_getResourceDeletedAction","_getResourceUnassignedAction","raiseDeletedAction","createTaskDeletedAction","_taskDeletedAction","taskDeletedAction","createDependencyDeletedAction","_dependencyDeletedAction","dependencyDeletedAction","createResourceDeletedAction","_resourceDeletedAction","resourceDeletedAction","createResourceUnassignedAction","_resourceUnassignedAction","resourceUnassignedAction","_getUpdatingAction","_getTaskUpdatingAction","isTaskUpdating","hasData","addCustomFieldsDataFromCache","resetCustomFieldsDataCache","createTaskUpdatingAction","_taskUpdatingAction","taskUpdatingAction","_getUpdatedAction","_getTaskUpdatedAction","raiseUpdatedAction","createTaskUpdatedAction","_taskUpdatedAction","taskUpdatedAction","createTaskEditDialogShowingAction","_taskEditDialogShowingAction","taskEditDialogShowingAction","_getTaskEditDialogShowingAction","createResourceManagerDialogShowingAction","_resourceManagerDialogShowingAction","resourceManagerDialogShowingAction","_getResourceManagerDialogShowingAction","createTaskMovingAction","_taskMovingAction","taskMovingAction","getScaleCellPreparedAction","_scaleCellPreparedAction","createScaleCellPreparedAction","_getScaleType","GanttDataCache","_timers","saveData","keyExpireCallback","_getCache","_setExpireTimer","pullDataFromCache","_onKeyExpired","forceCreate","GanttHelper","prepareMapHandler","prepareSetterMapHandler","setters","resultKey","compileGettersByOption","exprMatches","compileSettersByOption","compileFuncSettersByOption","getStoreObject","modelObject","getInvertedData","getArrayFromOneElement","getSelectionMode","convertTreeToList","_node$children","getAllParentNodesKeys","_node$parent","startExpr","endExpr","progressExpr","titleExpr","colorExpr","predecessorIdExpr","successorIdExpr","taskIdExpr","resourceIdExpr","allowTaskAdding","allowTaskDeleting","allowTaskUpdating","allowDependencyAdding","allowDependencyDeleting","allowResourceAdding","allowResourceDeleting","allowResourceUpdating","allowTaskResourceUpdating","GanttCustomFieldsManager","_getTaskCustomFields","mappedFields","getTaskMappedFieldNames","_getCustomFieldsData","addCustomFieldsData","modelData","_tasksOption","modelItem","appendCustomFields","_getTaskKeyGetter","invertedData","updatedItem","customFieldsData","dataOption","updatedCustomFields","_ganttTreeList","updateDataSource","_selectTask","GanttDialog","_popupInstance","infoMap","TaskEdit","TaskEditDialogInfo","ResourcesEditDialogInfo","Confirmation","ConfirmDialogInfo","ConstraintViolation","ConstraintViolationDialogInfo","_apply","_dialogInfo","getResult","_callback","_afterClosing","getToolbarItems","getContentTemplate","DialogInfoBase","applyAction","hideAction","_parameters","_applyAction","_hideAction","_editingOptions","_getFormItems","_getFormCssClass","_getFormData","_updateParameters","_getToolbarItem","_getYesToolbarItem","_getNoToolbarItem","localizationText","getFormData","readOnlyRange","_isReadOnlyField","_isHiddenField","validationCallback","correctDateRange","_getValidationMessage","isStartDependencies","correctDate","_getFormattedDateText","_this$_form","textBox","addButton","resourceName","_getConfirmMessage","titleMessage","hasCriticalErrors","severalErrors","errorsCount","deleteMessage","moveMessage","GanttExportHelper","_treeList","_getTreeListTable","_getHeaderView","_getHeaderElement","styleForExport","_getColumnWidth","_cell$textContent","_getDataCell","_getColumnCellStyle","_getEmptySpaceWidth","_getDisplayText","_ensureColumnWidthCache","_this$_cache","_this$_cache$_columnW","_header$clientWidth","emptyWidth","_this$_cache2","_this$_cache2$_emptyW","_element$offsetWidth","_getTreeListElement","_ensureColumnCellStyleCache","_this$_cache3","_this$_cache3$_column","_getTask","_ensureTaskCache","_this$_cache4","_this$_cache4$_tasks","_this$_cache$tasks","_this$_cache$tasks$ke","_findTaskByKey","_getGridDisplayText","GANTT_MAPPED_FIELD_REGEX","GanttMappingHelper","_getMappedFieldName","coreField","coreFieldName","mappedFieldsData","mappedFieldName","mappedField","coreFields","GanttSizeHelper","_setTreeListDimension","_this$_gantt$_ganttTr","_$treeListWrapper","setOption","_setGanttViewDimension","_$ganttView","_setGanttViewOption","_getPanelsWidthByOption","_leftPanelWidth$index","_leftPanelWidth$index2","rightPanelWidth","ganttWidth","onAdjustControl","updateGanttWidth","setGanttHeight","setInnerElementsWidth","updateGanttRowHeights","_this$_gantt$_ganttVi","_getGanttViewOption","_ganttViewCore","adjustHeight","getOffsetHeight","takeWithFromOption","_setSplitterPositionLeft","_this$_gantt$_ganttVi2","mainWrapperHeight","_$toolbarWrapper","GanttTemplatesManager","getTaskTooltipContentTemplateFunc","taskTooltipContentTemplateOption","getTaskDataByCoreData","getTaskProgressTooltipContentTemplateFunc","getTaskTimeTooltipContentTemplateFunc","getTaskContentTemplateFunc","taskContentTemplateOption","COMMANDS","Bar","_createControl","createItems","_createItemsCore","_createItemByText","_getDefaultItemOptions","_createSeparator","_createDefaultItem","_getIcon","_getItemsCache","commandId","itemsCache","GanttToolbar","ToolbarMenu","_executeCoreCommand","GanttContextMenuBar","_getDefaultItems","GanttTreeListNodeState","treeListNode","_treeListNode$parent","GanttTreeListNodesState","_resetHash","applyNodes","_rootValue","_removeNonExistentNodes","_applyNode","_validateHash","saveExpandedState","expandedKeys","_hasCollapsed","_forEachState","getExpandedKeys","_nodeHash","_getNodeState","existingKeys","_removeStateWithChildren","nodeState","_expandTreelineToNode","GanttTreeList","_$treeList","getTreeList","dxTreeList","createDataSource","_tasksRaw","_getHeight","_onSelectionChanged","_onRowCollapsed","_onRowExpanded","_onNodesInitialized","onAfterTreeListCreate","_postponedGanttInitRequired","_initGanttOnContentReady","_onTreeListContentReady","_initGanttView","_initScrollSync","_sortAndFilter","_sizeHelper","_onTreeListRowExpandChanged","_showPopupMenu","treeListScrollable","_onScroll","treeListScrollView","ganttViewTaskAreaContainer","_correctRowsViewRowHeight","_skipUpdateTreeListDataSource","forceCustomData","saveExpandedKeys","visibleRowCount","getAllNodes","getNodesState","savedKeys","isExpandedStateChanged","expandedState","_nodeState","_this$_treeList","_this$_treeList$getDa","_this$_treeList2","getSievedItems","resultArray","_validateSourceData","_this$_treeList3","insertedId","_this$_treeList4","ganttViewWidget","dxScrollView","_onViewTypeChanged","_onDialogShowing","_onPopupMenuShowing","_onPopupMenuHiding","_expandAll","_collapseAll","_taskClick","_taskDblClick","_onAdjustControl","getGanttViewCore","_getTaskTitlePosition","_parseEditingSettings","_getViewTypeByScaleType","_parseViewTypeRangeSettings","_getCultureInfo","sieve","getBarManager","executeCoreCommand","_this$_ganttViewCore","_onDimensionChanged","_this$_ganttViewCore2","_getQuarterNames","_getAmText","_getPmText","_hasAmPM","toLocaleTimeString","quarterFormat","_sieveOptions","sieveOptions","getSieveOptions","sievedItems","sieveColumn","expandTasks","getExportInfo","timeFormat","callExportHelperMethod","_this$_ganttViewCore3","GanttDataChangesProcessingHelper","_waitingForGanttViewReady","_waitingForTreeListReady","_completionActions","onGanttViewReady","_stopWaitForGanttViewReady","executeActionsIfPossible","onTreeListReady","_stopWaitForTreeListReady","addCompletionAction","waitGanttViewReady","waitTreeListReady","_startWaitForGanttViewReady","_startWaitForTreeListReady","_canExecuteActions","act","GANTT_NEW_TASK_CACHE_KEY","_initGantt","_isGanttRendered","_initHelpers","_$toolbar","_$mainWrapper","_$splitter","_$dialog","_$loadPanel","_$contextMenu","_this$_ganttView","_exportHelper","_contentReadyRaised","_this$_ganttView2","_refreshGantt","_isMainElementVisible","_renderBars","_renderTreeList","_renderSplitter","_bars","_updateToolbarContent","_contextMenuBar","_updateContextMenu","_ganttTemplatesManager","_dataProcessingHelper","_dependencies","_resources","_resourceAssignments","onViewTypeChanged","onDialogShowing","onPopupMenuShowing","onPopupMenuHiding","_hidePopupMenu","onExpandAll","onCollapseAll","modelChangesListener","exportHelper","_getExportHelper","_onGanttViewContentReady","_isParentAutoUpdateMode","_treeListParentRecalculatedDataUpdating","_dataSourceChanged","dataSourceName","validatedData","_this$_ganttTreeList","_this$_ganttTreeList2","_this$_ganttTreeList3","_validateTaskData","parentIdGetter","validationTree","_validationTree$key","isRootTask","treeItem","_parentIdGetter","_validationTree$paren","parentTreeItem","validKeys","_appendChildKeys","isTaskInsert","_executeFuncSetters","isTaskUpdated","isSieving","treeDataSource","_this$_ganttTreeList4","funcSetters","keysToUpdate","dataObject","_getDataSourceItem","_this$_savedSortFilte","_this$_savedSortFilte2","_this$_savedSortFilte3","sortedColumns","sortedState","sortedStateChanged","_compareSortedState","_savedSortFilterState","_c$filterValues","isClearSieving","state1","state2","_updateBarItemsState","contextMenuOptions","targetType","targetKey","_getDataSourceItemKeyGetter","dataOptionName","_this$_ganttView3","_this$_exportHelper","_changeExpandAll","_lockRowExpandEvent","allExpandableNodes","nodesToExpand","coreTaskData","taskKeys","resourceKey","taskKey","showResourceManagerDialog","_exportToPdf","_fullOptions$pdfDocum","_fullOptions$docCreat","_window$jspdf$jsPDF","_window$jspdf","_fullOptions$format","fullOptions","createDocumentMethod","jsPDFDocument","_this$_ganttView4","expandAllToLevel","expandToTask","_this$_ganttTreeList5","_this$_sizeHelper","_this$_ganttTreeList6","_this$_actionsManager","_this$_actionsManager2","_this$_actionsManager3","_this$_actionsManager4","_this$_actionsManager5","_this$_actionsManager6","_this$_actionsManager7","_this$_actionsManager8","_this$_actionsManager9","_this$_actionsManager10","_this$_actionsManager11","_this$_actionsManager12","_this$_actionsManager13","_this$_actionsManager14","_this$_actionsManager15","_this$_actionsManager16","_this$_actionsManager17","_this$_actionsManager18","_this$_actionsManager19","_this$_actionsManager20","_this$_actionsManager21","_this$_actionsManager22","_this$_actionsManager23","_this$_actionsManager24","_this$_actionsManager25","_this$_actionsManager26","_this$_actionsManager27","_this$_ganttTreeList7","_this$_ganttTreeList8","_this$_ganttTemplates","_this$_ganttTemplates2","_this$_ganttTemplates3","_this$_ganttTemplates4","_this$_ganttTreeList9","_this$_sizeHelper2","_this$_sizeHelper3","_this$_ganttTreeList10","_this$_ganttTreeList11","_this$_ganttTreeList12","DataConverter","_dataStructure","_visibleItemsCount","_indexByKey","_convertItemsToNodes","_getParentId","_convertItemToNode","_checkForDuplicateId","_itemHasChildren","_dataAccessors","_dataType","_getUniqueKey","getItemsCount","_makeObjectFromPrimitive","setChildrenKeys","getParentNode","_convertToPublicNode","publicNode","convertToPublicNodes","publicNodes","_getByKey","setDataAccessors","accessors","getByKey","getVisibleItemsCount","updateIndexByKey","updateChildrenKeys","removeChildrenKeys","createPlainStructure","EXPANDED","SELECTED","uiSearchBoxMixin","setEditorClass","DataAdapter","_defaultOptions","dataConverter","dataAccessors","_selectedNodesKeys","_expandedNodesKeys","_createInternalDataStructure","getTreeNodes","HierarchicalDataConverter","onNodeChanged","_initialDataStructure","_updateExpansion","_setChildrenSelection","_setParentSelection","_updateNodesKeysArray","_updateOneBranch","_setParentExpansion","_getDataBySelectionMode","_isNodeVisible","getFullData","_toggleChildrenSelection","_iterateParents","newParentState","_calculateSelectedState","_setFieldState","_iterateChildren","processedKeys","nodeKey","selectedItemsCount","invisibleItemsCount","isChildInvisible","childState","_markChildren","_removeNode","_addNode","_updateFields","getExpandedNodesKeys","getNodesByItems","getPublicNode","getChildrenNodes","selectRecursive","isSingleModeUnselect","_isSingleModeUnselect","selectionState","toggleSelectAll","lastSelectedKey","isAllSelected","toggleExpansion","_filterDataStructure","_createCriteria","getOperationBySearchMode","lookForParents","_initAccessors","_initDataAdapter","_createDataAdapterAccessors","HierarchicalDataAdapter","_getIconContainer","_getAccessors","accessor","_compileAccessor","optionExpr","getterName","newAccessor","BaseTheme","getQuill","ExtImage","SRC","floatValue","ExtLink","_data$href","HREF","BaseModule","BaseQuillModule","addCleanCallback","handleOptionChangeValue","WidgetCollector","_collection","getByName","TABLE_OPERATIONS","getTableFormats","tableModule","tableFormats","unfixTableWidth","tableBlot","getAutoSizedElements","getRowElements","setLineElementsFormat","tableBlotNames","fullPropertyName","_formatBlot","formatBlot","descendBlot","getLineElements","getTableOperationHandler","FORM_DIALOG_CLASS","USER_ACTION","SILENT_ACTION","ImageUploader","_formDialog","beforeAddButtonAction","getCurrentTab","tabPanelIndex","isImageUpdating","tabsModel","createTabsModel","createTabs","formConfig","getFormConfig","updatePopupConfig","updateAddButtonState","showFormDialog","getActiveTabIndex","pasteImage","resetDialogPopupOptions","isDisableButton","setAddButtonDisabled","formDialogOption","getUpdateDialogFormData","createUrlTab","UrlTab","createFileTab","FileTab","tabName","_this$module$quill$ge","wrapperClasses","useTabbedItems","titleKey","addButtonTextKey","getFormWidth","getItemsConfig","tabController","getTabName","BaseTab","onFileSelected","UpdateUrlStrategy","AddUrlStrategy","FileStrategy","getQuillSelection","shouldKeepAspectRatio","urlUpload","dependentEditor","previousDependentEditorValue","preventRecalculating","createKeepAspectRatioEditor","dependentEditorDataField","$widthEditor","widthEditor","$ratioEditor","heightEditor","modifyFormData","_this$formData$width","_this$formData$height","imgElement","embedFormatIndex","_this$selection","fileUploadMode","isValidInternal","base64Upload","serverUpload","isBase64Editable","getFileUploaderOptions","getFileUploaderBaseOptions","pasteIndex","correctSlashesInUrl","BORDER_STYLES_TRANSLATED","ICON_MAP","getFormatHandlers","_getToolbarModule","getToolbarModule","updateFormatWidgets","prepareLinkHandler","prepareImageHandler","prepareColorClickHandler","orderedList","prepareShortcutHandler","bulletList","alignLeft","alignCenter","alignRight","alignJustify","getDefaultClickHandler","increaseIndent","decreaseIndent","superscript","subscript","insertTable","prepareInsertTableHandler","insertRowAbove","insertRowBelow","insertColumnLeft","insertColumnRight","deleteTable","cellProperties","prepareShowFormProperties","tableProperties","resetFormDialogOptions","_module$quill$getModu","currentSelectionParts","getTargetTableNode","rowBlot","tablePropertiesFormConfig","getCellPropertiesFormConfig","getTablePropertiesFormConfig","getFormConfigConstructor","savedOptions","dxForm","formatArgs","getColorFromFormat","isCursorAtLink","linkRange","linkOffset","LinkBlot","getLinkRange","selectionHasEmbedContent","hasEmbedContent","getLinkFormItems","imageUploadOption","imageUploader","shortcutValue","_getToolbarModule2","_updateFormatWidget","_getToolbarModule3","_tableFormats","alignmentEditorInstance","borderColorEditorInstance","backgroundColorEditorInstance","startTableWidth","tableStyles","startTextAlign","tableHeight","tableBackgroundColor","borderStyle","tableBorderStyle","tableBorderColor","tableBorderWidth","tableAlign","newWidth","newHeight","_ref11","oldTableWidth","newElementWidth","$lineElements","autoHeightRows","oldTableHeight","newElementHeight","applyTableDimensionChanges","verticalAlignmentEditorInstance","startCellWidth","cellStyles","cellHeight","cellBackgroundColor","cellBorderStyle","cellBorderColor","cellBorderWidth","cellTextAlign","cellVerticalAlign","verticalPadding","cellPaddingTop","horizontalPadding","cellPaddingLeft","_ref12","$verticalCells","widthDiff","$nextColumnCell","prevColumnWidth","rowCell","applyCellDimensionChanges","ToolbarModule","TOOLBAR_WRAPPER_CLASS","ACTIVE_FORMAT_CLASS","FORMAT_HOTKEYS","_toolbarWidgets","_formatHandlers","_addCallbacks","toolbarMenu","toolbarInstance","_layoutStrategy","isSelectionChanged","addContentInitializedCallback","updateHistoryWidgets","updateTableWidgets","isApplied","_markActiveFormatWidget","_resetFormatWidget","_toggleClearFormatting","_$toolbarContainer","_subscribeFormatHotKeys","toolbarConfig","isInteractionDisabled","menuContainer","isMultilineMode","_this$options$multili","_detectRenamedOptions","oldName","_handleFormatHotKey","_updateButtonState","formatWidget","_handleObjectItem","buttonItemConfig","_prepareButtonItemConfig","acceptedValues","selectItemConfig","_prepareSelectItemConfig","defaultButtonItemConfig","acceptableWidgetName","_ICON_MAP$name","iconName","localizeValue","_isReset","_hideAdaptiveMenu","_setValueSilent","baseItem","_getDefaultConfig","_getDefaultItemsConfig","historyModule","undoOps","redoOps","_updateManipulationWidget","isTableOperationsEnabled","isInsertTable","isOperationEnabled","isResetRequired","hasFormats","_resetFormatWidgets","_getFormatWidgetName","_isColorFormat","_updateColorWidget","clearWidget","addClickHandler","DropImageModule","_pasteHandler","_dataTransfer$files","hasFiles","_getImage","_addImage","_clipboardData$items","hasDataItems","imageData","_isBrowserSupportImagePaste","_isImage","readableFile","getAsFile","ListPopupModule","renderPopup","_renderPreventFocusOut","renderList","_getPopupConfig","contentElem","listConfig","_getListConfig","unselectAll","selectionChangedHandler","insertEmbedContent","selectionChangedEvent","savePosition","Variable","startEscapeChar","endEscapeChar","escapeChar","varStartEscChar","varEndEscChar","varValue","VariableModule","PopupModule","$ofElement","_resetPopupPosition","mentionBounds","rootRect","variableData","KEYDOWN_EVENT","MOUSEDOWN_EVENT","ResizingModule","allowedTargets","_hideFrameWithContext","hideFrame","_framePositionChangedHandler","_prepareFramePositionChangedHandler","_createResizeFrame","ClickEvent","_detachEvents","_isAllowedTarget","_$target","resizable","updateFramePosition","showFrame","_adjustSelection","_$resizeFrame","_handleFrameKeyDown","_deleteImage","targetTop","targetLeft","containerTop","containerLeft","_getBorderWidth","_getQuillContainer","_Quill$find","DX_COLUMN_RESIZER_CLASS","DX_ROW_RESIZER_CLASS","minColumnWidth","minRowHeight","POINTERDOWN_EVENT","TableResizingModule","_tableResizeFrames","_minColumnWidth","_minSizeLimit","_minRowHeight","_quillContainer","_tableData","_applyResizing","forcedStart","_applyResizingImpl","_resizeHandlerWithContext","_findTables","_fixTablesWidths","_createResizeFrames","_updateFramesPositions","_updateFramesSeparators","_getQuillTextChangeHandler","_quillTextChangeHandler","oldContent","_isTableChanging","_removeResizeFrames","_updateTablesColumnsWidth","_getFrameForTable","_this$_framesForTable","_framesForTables","_windowResizeTimeout","actualTableWidth","lastTableWidth","_tableLastWidth","_updateColumnsWidth","_getWidthStyleValue","_getTableDeterminantElements","_this$_tableLastWidth","columnsSum","_getColumnElementsSum","_this$_tableResizeFra","$lastTable","$tableLastWidth","$frame","_createTableResizeFrame","isColumnsCountChanged","isRowCountChanged","clearArray","_this$_framesForTable2","resizeFrame","_resizeFrame$$frame","resizerElementsSelector","_detachSeparatorEvents","$lineSeparators","$lineSeparator","tableResizeFrame","_updateFramePosition","_updateFrameSeparators","_isDraggable","_removeDraggable","$currentLineSeparator","lineResizerClass","dxDraggable","_getDirectionInfo","sizeFunction","positionCoordinate","positionStyleProperty","positionCoordinateName","_getSize","directionInfo","$determinantElements","determinantElementsSeparatorsCount","lineSeparators","styleOptions","attachSeparatorData","lineSeparator","_attachColumnSeparatorEvents","_createDraggableElement","_fixColumnsWidth","_startLineSize","_startTableWidth","_startLineSeparatorPosition","_nextLineSize","_shouldRevertOffset","_isNextColumnWidthEnough","nextColumnNewSize","$nextColumnElement","eventOffset","isWidthIncreased","_nextColumnOffsetLimit","isWidthLimited","_shouldSetNextColumnWidth","_horizontalDragHandler","currentLineNewSize","isCurrentColumnWidthEnough","$nextLineElements","realWidthDiff","isTableWidthChanged","_$highlightedElement","_verticalDragHandler","rowHeightDiff","_this$_$highlightedEl","_isLastColumnResizing","_getBoundaryConfig","_this$_$highlightedEl2","boundaryConfig","directionClass","_currentDraggableElement","determinantElements","columnsWidths","_setColumnsRatioWidth","frameIndex","minWidthForColumns","_attachResizerTimeout","CONTEXT_MENU_EVENT","TableContextMenuModule","prepareCleanCallback","_enableContextMenu","_this$_contextMenu","_prepareContextMenuHandler","menuConfig","_getMenuConfig","showPropertiesForm","_targetElement","_prepareMenuItemConfig","_prepareMenuItems","_this$_formatHandlers","customItems","_isTableTarget","_setContextMenuPosition","_this$_contextMenu2","ImageUploadModule","_handleServerUpload","_enableDragAndDropUploading","_disableDragAndDropUploading","_getUploaderModule","_uploaderModule","_this$_fileUploader","_initFileUploader","_onUploaded","_this$quill$getSelect","_handleInsertImages","filesField","ImageCursorModule","TemplatesStorage","_storage","_this$_storage","_this$_storage$editor","editorKey","_Object$values$at","_this$_storage$editor2","mentionValue","_templatesStorage","keyInTemplateStorage","baseContentRender","$marker","addTemplate","removeTemplate","MentionModule","ARROW_UP","ARROW_DOWN","ARROW_LEFT","ARROW_RIGHT","ENTER","ESCAPE","SPACE","PAGE_UP","PAGE_DOWN","END","HOME","NAVIGATION_KEYS","ALLOWED_PREFIX_CHARS","_mentions","preparedTemplate","getMentionKeyInTemplateStorage","_attachKeyboardHandlers","onTextChange","_moveToItem","_selectItemHandler","enterBindings","_ignoreKeyHandler","_isMentionActive","defaultItemPosition","$nextItem","_activeListItems","compileGetters","_idGetter","_hasSearch","_focusFirstElement","markerLength","_activeMentionConfig","textLength","_getLastInsertOperation","lastOperation","isLastOperationDelete","penultOperation","_isPopupVisible","_processSearchValue","_filterList","lastInsertOperation","checkMentionRequest","_isMarkerPartOfText","isOnNewLine","_getCharByIndex","_search","_resetFilter","mentionLeft","mentionTop","mentionHeight","QuillRegistrator","initialized","DropImage","Resizing","ImageCursor","MentionsModule","_customModules","registerModules","modulesConfig","isModule","isRegisteredModule","modulePath","getRegisteredModuleNames","_converters","addConverter","converter","getConverter","DeltaConverter","setQuillInstance","quillInstance","toHtml","_isQuillEmpty","_isDeltaEmpty","ConverterController","insertOperation","listDecoratorMatches","getIndent","operations","newLineOperation","removeNewLineChar","DIALOG_CLASS","_editorInstance","_popupUserConfig","_attachOptionChangedHandler","_updateFormLabel","_escKeyHandler","_addEscapeHandler","_renderForm","callAddButtonAction","popupOption","_getDefaultFormOptions","formOption","formUserConfig","MARKDOWN_VALUE_TYPE","editorsCount","formDialogOptions","_mentionKeyInTemplateStorage","_cleanCallback","_contentInitializedCallback","_shouldSkipFocusEvent","_$htmlContainer","_$templateResult","_updateContainerMarkup","_createNoScriptFrame","srcdoc","sandbox","_removeXSSVulnerableHtml","frameDocumentBody","removeInlineHandlers","sanitizedHtml","_isMarkdownValue","_prepareMarkdownConverter","_markdownConverter","sanitizedMarkup","MarkdownConverter","_prepareConverters","_prepareQuillRegistrator","_quillRegistrator","_getRegistrator","_deltaConverter","_contentRenderedDeferred","_renderHtmlEditor","_renderFormDialog","_addKeyPressHandler","_attachFocusEvents","_getModulesConfig","_quillInstance","_textChangeHandlerWithContext","_textChangeHandler","_renderScrollHandler","_hasTranscludedContent","_updateContentTask","_applyTranscludedContent","_finalizeContentRendering","initScrollData","prepareScrollData","valueOption","wordListMatcher","getWordMatcher","_getModuleConfigByOption","imageCursor","_getBaseModuleConfig","_getCustomModules","userOptionName","htmlMarkup","convertedValue","_updateValueByType","_isNullValueConverted","_isEditorUpdating","clearHistory","toMarkdown","_resetEnabledState","FormDialog","_prepareModuleOptions","_args$fullName","optionData","_moduleOptionChanged","moduleInstance","updatedValue","_updateHtmlContent","_repaintToolbar","_applyToolbarMethod","_abortUpdateContentTask","_applyQuillMethod","_applyQuillHistoryMethod","_this$getModule","getQuillInstance","REORDER_HANDLE_CLASS","registerDecorator","EditDecorator","_groupedEnabled","_lockedDrag","_dragTemplate","_dragChangeHandler","_reorderHandler","afterRender","_sameParent","$dragging","getItemElementByFlatIndex","afterBag","$handle","CONTEXTMENU_CLASS","_renderOverlay","_$menuList","_renderMenuContent","_menuItems","_deleteEnabled","ListBase","_menuItemClickHandler","_fireMenuAction","_$itemWithMenu","handleContextMenu","EditDecoratorMenuHelperMixin","LIST_EDIT_DECORATOR","POINTER_DOWN_EVENT_NAME","SWITCHABLE_DELETE_READY_CLASS","SWITCHABLE_MENU_ITEM_SHIELD_POSITIONING_CLASS","_$topShield","_$bottomShield","_$itemContentShield","_cancelDeleteReadyItem","handleClick","_$readyToDeleteItem","_cancelDelete","_toggleDeleteReady","readyToDelete","_isReadyToDelete","_toggleShields","_toggleScrolling","_cacheReadyToDeleteItem","_animateToggleDelete","_updateShieldsHeight","_toggleContentShield","listTopOffset","listHeight","dirtyTopShieldHeight","dirtyBottomShieldHeight","_cancelScrolling","_enablePositioning","_prepareDeleteReady","_animatePrepareDeleteReady","_forgetDeleteReady","_animateForgetDeleteReady","_disablePositioning","_getDeleteButtonContainer","_isRtlEnabled","SwitchableButtonEditDecorator","SwitchableEditDecorator","$buttonWrapper","$buttonInnerWrapper","_$buttonContainer","listWidth","buttonWidth","_buttonWidth","fromValue","toValue","_buttonContainerWidth","beforeBag","$toggle","_shouldHandleSwipe","SLIDE_MENU_CONTENT_CLASS","SLIDE_MENU_BUTTON_CLASS","_$buttons","_renderDeleteButton","_menuEnabled","_renderMenuButton","_fireAction","$menuButton","$deleteButton","_cachedNode","modifyElement","$slideMenuContent","_cacheItemData","_setPositions","_getPositions","signCorrection","isItemReadyToDelete","_getCurrentPositions","_getStartPositions","_cachedItemWidth","_cachedButtonWidth","buttonsContainer","_$cachedContent","_minButtonContainerLeftOffset","endedAtReadyToDelete","_animateToPositions","durationTimePart","_renderItemPosition","_itemElementWidth","searchBoxMixin","RADIO_BUTTON_ICON_CLASS","RadioButton","_renderIcon","_renderCheckedState","_renderClick","_$icon","SELECT_DECORATOR_ENABLED_CLASS","_singleStrategy","_containerClass","_controlClass","_controlWidget","$control","_commonOptions","_isSelected","_saveSelectionChangeEvent","_processCheckedState","_updateSelectAllState","_$selectAll","_renderSelectAll","handleKeyboardEvents","currentFocusedIndex","moveFocusUp","moveFocusDown","$selectAll","handleEnterPressing","downArrowHandler","_attachSelectAllHandler","_selectAllHandler","_selectAllClickHandler","isSelectedAll","_selectAllItems","_unselectAllItems","_checkSelectAllCapability","_disposeSelectAll","LIST_ITEM_BADGE_CONTAINER_CLASS","LIST_ITEM_CHEVRON_CONTAINER_CLASS","_renderBadge","_renderShowChevron","badge","$badge","$chevron","showChevron","$chevronContainer","_getWindow$getCompute","_getWindow","getElementMargin","LIST_ITEM_CLASS","LIST_ITEM_SELECTOR","LIST_GROUP_CLASS","LIST_GROUP_HEADER_CLASS","LIST_GROUP_BODY_CLASS","LIST_GROUP_COLLAPSED_CLASS","WRAP_ITEM_TEXT_CLASS","groupItemsGetter","moveFocusPerPage","getEdgeVisibleItem","resultPosition","isItemVisible","nextItemLocation","_listAttributes","_swipeEnabled","showChevronExpr","badgeExpr","deviceDependentOptions","_updateLoadingState","_selectionChangeEventInstance","_getSelectionChangeEvent","_refreshItemElements","_itemElementsCache","_initScrollView","_createGroupRenderAction","_scrollBottomMode","_nextButtonMode","scrollBottom","nextButton","_getGroupContainerByIndex","autoPagingEnabled","_scrollHandler","_pullDownHandler","_scrollBottomHandler","_createScrollViewActions","_scrollAction","_pullRefreshAction","_pageLoadingAction","$iconContainer","tryLoadMore","shouldLoadNextPage","_shouldContinueLoading","_infiniteDataLoading","_toggleNextButton","_shouldRenderNextButton","_loadIndicationSuppressed","_isDataSourceFirstLoadCompleted","_isFirstLoadCompleted","_showLoadingIndicatorTimer","_this$_scrollView","finishLoading","_hideLoadingIfLoadIndicationOff","_isLoadIndicationSuppressed","_this$_scrollView$scr","_this$_scrollView$scr2","isBottomReached","_loadNextPageTimer","_renderGroup","_attachGroupCollapseEvent","attachGroupHeaderInkRippleEvents","_collapseGroupHandler","$groupBody","_inkRippleTimer","LIST_FEEDBACK_SHOW_TIMEOUT","_attachSwipeEvent","endEventName","_itemSwipeEndHandler","_nextButtonHandler","toggleLoading","_$nextButton","$groupHeaderElement","groupTemplateName","_renderingGroupIndex","_groupRenderAction","groupData","downInkRippleHandler","upInkRippleHandler","_downInkRippleHandler","_upInkRippleHandler","downArguments","upArguments","_toggleDisabledState","_getNextButton","_createNextButton","expandGroup","collapseGroup","SWIPE_START_EVENT_NAME","SWIPE_UPDATE_EVENT_NAME","SWIPE_END_EVENT_NAME","swipeConfig","_clearSwipeCache","_itemWidthCache","_itemSwipeStartHandler","_itemSwipeUpdateHandler","visibilityChange","getExcludedSelectors","decoratorClass","decoratorsRegistry","decoratorConfig","combineIndex","splitIndex","combinedIndex","EditStrategy","_groupElements","_groupItemElements","_getGroups","groupItemByKeyMap","getItemMeta","groupKey","itemMeta","selectedGroup","movingIndices","destinationIndices","movingItemGroup","destinationItemGroup","firstIndex","secondIndex","editOptionsRegistry","registerOption","enabledFunc","decoratorTypeFunc","decoratorSubTypeFunc","decoratorType","decoratorSubType","EditProvider","_fetchRequiredDecorators","_decorators","decorator","_createDecorator","subType","_findDecorator","_registry$type","foundDecorator","modifyItemElement","_prependBeforeBags","_appendAfterBags","_applyDecorators","afterItemsRendered","$beforeBags","_collectDecoratorsMarkup","$afterBags","containerClass","$collector","_handlerExists","decorators","_eventHandler","contextMenuHandlerExists","getExcludedItemSelectors","excludedSelectors","moveFocusedItem","moveUp","editStrategy","nextItemIndex","_editProvider","privateKey","__dx_key__","_initEditProvider","_isPageSelectAll","_disposeEditProvider","_refreshEditProvider","GroupedEditStrategy","handledByEditProvider","_this$_editStrategy$g","focusListItem","getFlatIndexByItemElement","flatIndex","getItemByIndex","deletingElementIndex","nextFocusedItem","ListEdit","LOADINDICATOR_SEGMENT_CLASS","_animatingSegmentCount","_animatingSegmentInner","viaImage","_renderIndicatorContent","_renderMarkup","_renderMarkupForImage","_renderMarkupForAnimation","animatingSegmentInner","$segment","_updateContentSizeForAnimation","minDimension","_removeMarkupForAnimation","_removeMarkupForImage","LOADPANEL_INDICATOR_CLASS","LOADPANEL_MESSAGE_CLASS","hideTopOverlayHandler","_$loadPanelContentWrapper","_togglePaneVisible","_cleanPreviousContent","_renderLoadIndicator","_renderMessage","_clearShowTimeout","_showTimeout","LOOKUP_FIELD_WRAPPER_CLASS","LIST_ITEM_SELECTED_CLASS","titleTemplate","_scrollToSelectedItemEnabled","_initScrollAction","_initPageLoadingAction","_initPullRefreshAction","_pullRefreshHandler","_pageLoadingHandler","fieldClickAction","_$field","_$fieldWrapper","_getInputContainer","_renderFieldTemplate","_getLabelContainer","_searchBox","scrollToSelectedItemEnabled","_setPopupPosition","listItems","_getDifferenceOffsets","selectedListItem","_isCenteringEnabled","_getPopupOffset","listItemsCount","differenceOfHeights","lookupOffset","dropDownHeightOption","scrollOffsetTop","MATERIAL_LOOKUP_LIST_PADDING","offsetBottom","popupContentParent","popupOffset","_listItemGroupedElements","_calculateListHeight","_$searchWrapper","_$bottom","_$title","_renderPopover","_fixWrapperPosition","_$arrow","popupOptionValue","clearButton","_getClearButtonConfig","_resetValue","_currentSelectedItem","_$searchBox","_renderSearch","_renderValueChangeEvent","_toggleSearchClass","$searchWrapper","$searchBox","isKeyboardListeningEnabled","_registerSearchKeyHandlers","_setSearchPlaceholder","_removeSearch","_selectListItemHandler","_selectListItem","_getSelectionChangedHandler","_selectionChangeHandler","_runWithoutCloseOnScroll","_hideOnParentScrollTimer","_this$_searchBox","_defaultRouteWeight","_defaultRouteOpacity","_defaultRouteColor","_mapWidget","markerOptions","routeOptions","_applyFunctionIfNeeded","updateMapType","updateBounds","updateCenter","updateZoom","updateControls","updateMarkers","markerOptionsToRemove","markerOptionsToAdd","removeValue","addValue","addMarkers","removeMarkers","adjustViewport","updateRoutes","routeOptionsToRemove","routeOptionsToAdd","addRoutes","removeRoutes","isEventsCanceled","setOptionSilent","_keyOption","providerName","_parseTooltipOptions","isShown","_getLatLng","numericRegex","lat","lng","_areBoundsSet","_addEventNamespace","fnName","actionArguments","_fireClickAction","_fireMarkerAddedAction","_fireMarkerRemovedAction","_fireRouteAddedAction","_fireRouteRemovedAction","_locationToString","latLng","_updateMap","mapRendered","_markersSubstring","_routeSubstrings","markerIcon","routePoint","_geocodeLocation","_geocodedLocations","cachedLocation","_geocodeLocationImpl","geocodedLocation","_load","_mapsLoader","_markers","_routes","_addMarker","markerObjects","_fitBounds","markerObject","_renderMarker","originalMarker","markersOptionsToRemove","markerOptionToRemove","_removeMarker","markersOptionToRemove","markerIndex","_destroyMarker","_clearMarkers","_addRoute","routeObjects","routeObject","_renderRoute","originalRoute","routeIndex","_removeRoute","_destroyRoute","_clearRoutes","_updateBounds","_clearBounds","_extendBounds","northEast","southWest","_bounds","CustomMarker","googleMapsLoader","GOOGLE_MAP_READY","GOOGLE_URL","googleMapsLoaded","google","maps","DynamicProvider","_mapType","mapTypes","hybrid","MapTypeId","HYBRID","roadmap","ROADMAP","satellite","SATELLITE","_movementMode","movementTypes","driving","TravelMode","DRIVING","walking","WALKING","_resolveLocation","LatLng","Geocoder","geocode","address","GeocoderStatus","_normalizeLocation","_normalizeLocationRect","locationRect","getNorthEast","getSouthWest","_loadMapScript","_offset","_$overlayContainer","setMap","OverlayView","getPanes","overlayMouseTarget","_clickListener","addDomListener","getProjection","fromLatLngToDivPixel","showDefaultUI","disableDefaultUI","_boundsChangeListener","_boundsChangeHandler","_clickActionHandler","getCenter","_preventZoomChangeEvent","setMapTypeId","LatLngBounds","fitBounds","setCenter","setZoom","gestureHandling","htmlOffset","iconSrc","infoWindow","_renderTooltip","markerClickAction","markerNormalizedLocation","InfoWindow","origin","waypoints","stopover","optimizeWaypoints","travelMode","DirectionsService","DirectionsStatus","directionOptions","suppressMarkers","preserveViewport","polylineOptions","strokeWeight","strokeColor","DirectionsRenderer","zoomBeforeFitting","zoomAfterFitting","msMapsLoader","BING_MAP_READY","BING_URL_V8","msMapsLoaded","Microsoft","Maps","BingProvider","road","aerial","Directions","RouteMode","searchManager","SearchManager","searchRequest","where","searchResponse","boundsBox","latitude","longitude","northWest","getNorthwest","southEast","getSoutheast","loadModule","_createMap","credentials","showDashboard","showMapTypeSelector","showScalebar","_providerViewChangeHandler","_viewChangeHandler","_providerClickHandler","labelOverlay","LabelOverlay","setView","mapTypeId","LocationRect","fromLocations","pushpinOptions","htmlContent","pushpin","Pushpin","entities","infobox","Infobox","DirectionsManager","routeColor","fromHex","setRenderOptions","autoUpdateMapView","displayRouteSelector","waypointPushpinOptions","drivingPolylineOptions","strokeThickness","walkingPolylineOptions","setRequestOptions","routeMode","routeDraggable","waypoint","Waypoint","addWaypoint","directionHandlers","routeSummary","responseCode","calculateDirections","PROVIDERS","googleStatic","bing","MAP_SHIELD_CLASS","_lastAsyncAction","_checkOption","_initContainer","_grabEvents","_cancelEvent","_provider","_saveRendered","_renderShield","_queueAsyncAction","$shield","_suppressAsyncAction","changeBag","_optionChangeBag","isActionSuppressed","_triggerReadyAction","originalMap","_triggerUpdateAction","addMarker","_addFunction","removeMarker","_removeFunction","addRoute","removeRoute","addingValue","addingValues","_partialArrayOptionChange","removingValue","removingValues","removingIndex","removing","Submenu","_renderDelimiter","$contentDelimiter","_overlayPositionedActionHandler","_showDelimiter","_isMenuHorizontal","hoverStartAction","submenu","vLocation","hLocation","rootWidth","rootHeight","submenuWidth","submenuHeight","getOverlayContent","DX_MENU_VERTICAL_CLASS","DX_MENU_HORIZONTAL_CLASS","DX_CONTEXT_MENU_CLASS","DX_CONTEXT_MENU_CONTAINER_BORDER_CLASS","DX_ADAPTIVE_MODE_CLASS","DX_ADAPTIVE_HAMBURGER_BUTTON_CLASS","DX_ADAPTIVE_MODE_OVERLAY_WRAPPER_CLASS","SHOW_SUBMENU_OPERATION","NEXTITEM_OPERATION","PREVITEM_OPERATION","rootMenuElements","submenuElements","_submenuItemElements","currentSubmenu","_submenus","isMenuHorizontal","_getItemsNavigationOperation","_getKeyboardNavigationAction","navigationAction","navOperation","_resizeEventTimer","_menuItemsWidth","_updateItemsWidthCache","_isAdaptivityEnabled","$menuItems","_toggleAdaptiveMode","_visibleSubmenu","_initAdaptivity","_renderHamburgerButton","_hamburger","_toggleTreeView","_treeView","_toggleHamburgerActiveState","$menuItemsContainer","$adaptiveElements","_hideVisibleSubmenu","_removeAdaptivity","_$adaptiveContainer","_treeviewItemClickHandler","_getAdaptiveOverlayOptions","_getTreeViewOptions","menuOptions","$hamburger","_getDelay","delayType","_createSubmenu","_renderBorderElement","$submenuContainer","subMenu","_getSubmenuOptions","_parentKey","_clearTimeouts","getSubmenuPosition","_attachSubmenuHandlers","$submenuTarget","_nestedItemOnSelectionChangedHandler","_nestedItemOnItemClickHandler","_nestedItemOnItemRenderedHandler","_moveMainMenuFocus","_getShowFirstSubmenuMode","$currentItem","$newItem","_clearSelectionInSubmenus","_clearRootSelection","targetSubmenu","cleanAllSubmenus","isOtherItem","$selectedItem","selectedItemData","$prevSelectedItem","submenus","submenuMouseLeaveName","hoverEventEnd","_submenuOnShowingHandler","_submenuOnShownHandler","_submenuOnHidingHandler","_submenuOnHiddenHandler","_submenuMouseLeaveHandler","$border","_getSubmenuByRootElement","isRootItemHovered","isSubmenuItemHovered","isHorizontalMenu","isSelectionActive","_getSubmenuByElement","_itemMouseMoveHandler","_showSubmenuTimer","_hideSubmenuTimer","_hoveredRootItem","_changeSubmenusOption","_translator","MULTIVIEW_ITEM_CLASS","_itemWidth","_itemWidthValue","_clearItemWidthCache","_normalizeIndex","_getRTLSignCorrection","_initSwipeable","_updateItemsVisibility","renderContentDeferred","_updateItemsPosition","positionSign","_animationDirection","isHidden","_renderSpecificItem","hasItemContent","animationDirection","_animateItemContainer","completeCallback","containerPosition","indexDifference","_getItemFocusLoopSignCorrection","directionSignVariable","_getSwipeDisabledState","_swipeDirection","swipeDirection","$selectedElement","_itemFocusLooped","_updateSwipeDisabledState","getRealSeparatorIndex","quoteBalance","separatorCount","occurrence","getNthOccurrence","splitByIndex","getCaretBoundaries","prefixStubLength","postfixStubLength","_getDigitCountBeforeIndex","_reverseText","_getDigitPositionByIndex","digitIndex","getCaretWithOffset","getCaretInBoundaries","boundaries","NUMBER_BOX","POINTERCANCEL_EVENT_NAME","SPIN_CLASS","_spinIcon","_spinDownHandler","_spinChangeHandler","_feedBackDeferred","SpinButtons","$spinContainer","$spinContainerChildren","_spinButtonsPointerDownHandler","SpinButton","_spinUpChangeHandler","_spinDownChangeHandler","$spinUp","$spinDown","_isTouchFriendly","isTouchFriendly","$spinButtons","spinUp","spinDown","math","FIREFOX_CONTROL_KEYS","NumberBoxBase","TextEditor","_isSupportInputMode","_getDefaultAttributes","inputmode","_validateValue","_keyPressed","_spinValueChange","_forceValueRender","valuenow","valuetext","_applyDisplayValueFormatter","valuemin","valuemax","_normalizeInputValue","_correctRounding","isFloatValue","isFloatStep","valueAccuracy","stepAccuracy","accuracy","forceValueChangeEvent","_forceRefreshInputValue","_normalizeText","_parseValue","valueHasDigits","_isValueValid","_applyValueBoundaries","isValueIncomplete","_isValueIncomplete","isValueCorrect","_isValueInRange","_replaceCommaWithPoint","_inputIsInvalid","isNumberMode","validityState","validity","badInput","_isNumber","isValueValid","NUMBER_FORMATTER_NAMESPACE","MINUS_KEY","_isDeleteKey","_revertSign","_removeHandler","_arrowHandler","_moveCaretToBoundaryEventHandler","_updateFormattedValue","_getTextSeparatorIndex","realSeparatorOccurrenceIndex","_preventNestedFocusEvent","clearCaretTimeout","_caretTimeout","_getInputVal","shouldHandleEvent","_focusOutOccurs","_hasValueBeenChanged","_updateParsedValue","_adjustParsedValue","_setTextByParsedValue","_parsedValue","nextCaret","isCaretInBoundaries","_moveCaretToBoundary","newCaret","_shouldMoveCaret","isDecimalSeparatorNext","_lastKey","_lastKeyName","_shouldHandleKey","normalizedText","enteredChar","_tryParse","_moveCaret","isDeleteKey","isBackspaceKey","_isStub","valueAfterRemoving","_isNonStubAfter","_isPercentFormat","_parse","formatOption","isCustomParser","integerPartStartIndex","formatPointIndex","textPointIndex","formatIntegerPartLength","textIntegerPartLength","customFormatter","_currentFormat","_updateFormat","isExponentialFormat","shouldUseFormatAsIs","getLDMLFormat","_getFormatForSign","_removeStubs","excludeComma","stubs","_getStubs","prefixStubs","postfixRegex","decoratorsRegex","stub","_truncateToPrecision","maxPrecision","strValue","isTextSelected","isWholeTextSelected","editedText","_getParsedValue","_getPrecisionLimits","isDecimalPointRestricted","isUselessCharRestricted","textWithoutStubs","parsedValueSign","isCaretOnFloat","floatLength","isPrecisionInRange","endsWithZero","_setInputText","formatted","isSeparatorBasedText","isSeparatorBasedString","newPointPosition","formattedParts","relativeIndex","digitsBefore","formattedIntPart","_trimNonNumericCharsFromEnd","positionFromEnd","digitsFromEnd","newPositionFromEnd","getCaretAfterFormat","_formattedValue","_renderInputType","isNumberType","_setInputType","_isChar","adjustedCaret","isSpecialChar","isMinusKey","_renderFormatter","_detachFormatterEvents","_attachFormatterEvents","_isInputFromPaste","_isValuePasted","_formatValue","escapedDecimalSeparator","realSeparatorIndex","floatPart","_applyRevertedSign","preserveSelectedText","previousText","currentText","previousBoundaries","getCaretOffset","caretInBoundaries","_removeMinusFromText","textWithoutMinus","wasMinusRemoved","NumberBoxMask","OVERLAY_POSITION_ALIASES","OVERLAY_DEFAULT_BOUNDARY_OFFSET","OverlayPositionController","onVisualPositionChanged","_$root","_$markupContainer","_$visualContainer","_shouldRenderContentInitialPosition","_visualPosition","_previousVisualPosition","updateContainer","updatePosition","updateVisualContainer","$visualContainer","fixWrapperPosition","styleWrapperPosition","restorePositionOnNextRender","openingHandled","shouldRestorePosition","positionProp","_normalizePosition","containerProp","swatch","_getVisualContainer","detectVisualPositionChange","_updateVisualPositionValue","_raisePositionedEvents","positionContent","_renderContentInitialPosition","positionWrapper","positionStyle","_renderBoundaryOffset","wrapperOverflow","previousPosition","_this$_position","_this$_props$position","_this$_props$position2","visualContainerProp","positionOf","defaultPositionConfig","_positionToObject","hideCallback","indexOfCallback","hasCallback","viewPortChanged","INNER_OVERLAY_CLASS","OVERLAY_STACK","PREVENT_SAFARI_SCROLLING_CLASS","_proxiedDocumentDownHandler","_ignoreElementAttrDeprecation","_checkParentVisibility","_initHideOnOutsideClickHandler","_initTabTerminatorHandler","_customWrapperClass","_initInnerOverlayClass","_toggleViewPortSubscription","_initHideTopOverlayHandler","_parentsScrollSubscriptionInfo","_hideOnParentsScrollHandler","warnPositionAsFunction","_hideTopOverlayHandler","_getActionsList","_documentDownHandler","_renderWrapperAttributes","_initPositionController","_showAnimationProcessing","_stopAnimation","isAttachedTarget","isInnerOverlay","_outsideClickHandler","_isTopOverlay","overlayStack","_overlayStack","tabbableElements","_findTabbableBounds","_zIndexInitValue","_viewPortChangeHandle","_viewPortChangeHandler","_positionController","_renderVisibilityAnimate","_getAnimationConfig","_animateShowing","_this$_getAnimationCo","_showAnimation$start","_showAnimation$comple","showAnimation","_normalizeAnimation","startShowAnimation","completeShowAnimation","_isAnimationPaused","_toggleSafariScrolling","_showingDeferred","_processShowingHidingCancel","cancelArg","applyFunction","cancelFunction","shouldCancel","_parentHidden","_isParentHidden","_currentVisible","_isHidingActionCanceled","_updateZIndexStackPosition","showingArgs","_isShowingActionCanceled","_moveFromContainer","_stopShowTimer","_asyncShowTimeout","showHideConfig","_animateHiding","_this$_getAnimationCo2","_hideAnimation$start","_hideAnimation$comple","hideAnimation","startHideAnimation","completeHideAnimation","_this4$_actions","_hideAnimationProcessing","_hidingDeferred","_forceFocusLost","_toggleShading","_toggleSubscriptions","startCallback","_checkContainerExists","_moveToContainer","_renderGeometry","pushToStack","_zIndex","_toggleTabTerminator","_proxiedTabTerminatorHandler","elementsCount","isTabOnLast","isShiftTabOnFirst","isEmptyTabList","isOutsideTarget","_toggleHideTopOverlayCallback","_toggleHideOnParentsScrollSubscription","hideTopOverlayCallback","needSubscribe","_this$_parentsScrollS","scrollEvent","prevTargets","hideOnScroll","_getHideOnParentScrollTarget","hideHandled","$hideOnParentScrollTarget","_appendContentToElement","shouldDeferRendering","_contentAlreadyRendered","whenContentRendered","_renderScrollTerminator","_getPositionControllerConfig","$scrollTerminator","terminatorEventName","isWheel","isMouseMove","isScrollByWheel","$wrapperContainer","uiErrors","_renderGeometryImpl","_isAllWindowCovered","isIosSafari","isAllWindowCovered","isScrollingPrevented","shouldPreventScrolling","shouldEnableScrolling","_cachedBodyScrollTop","_renderWrapperDimensions","isVisualContainerWindow","wrapperWidth","wrapperHeight","_deferShowTimer","_this$_animateDeferre","_animateDeferred","_this$_animateDeferre2","animateDeferred","forceStopAnimation","startLocation","actualOffset","zIndexStack","ZIndex","isLastZIndexInStack","FORMAT_DICTIONARY","UNBIND_KEY","getFormattedValue","lastFieldIndex","createChartDataSource","pivotGridDataSource","mapOptions","axisDictionary","measureIndex","rowMemberIndex","rowVisibility","rowPathFormatted","columnMemberIndex","columnVisibility","columnPathFormatted","createDataItem","dataCell","processCellArgs","maxRowLevel","maxColumnLevel","dataValues","seriesName","putDataFieldsInto","dataFieldsDisplayMode","chartDataItem","processCell","processedCell","foreachRowColumn","rowMembers","grandTotalText","columnMembers","foreachDataField","alternateDataFields","createValueAxisOptions","valueAxisSettings","valueAxisOptions","createPanesOptions","ChartIntegrationMixin","bindChart","updateChart","chartOptions","customizeSeries","customizeChart","createChartOptions","chartElement","dxChart","getChartInstance","unbind","removeBinding","disposeBinding","getRealElementWidth","clientRect","getFakeTableOffset","viewPortSize","halfTableCount","halfTableSize","AreaItem","_createTableElement","cellText","isWhiteSpace","_getRowClassNames","_applyCustomStyles","cssArray","sorted","classArray","_getMainElementMarkup","_getCloseMainElementMarkup","_renderTableContent","rowClassNames","markupArray","_getAreaName","columnMarkupArray","cellsCount","_triggerOnCellPrepared","onCellPreparedArgs","defaultActionArgs","_getRowHeight","_setRowHeight","getRowsLength","getRowsHeight","setRowsHeight","totalHeight","valuesLength","_tableHeight","getColumnsWidth","processedCells","fillCells","columnOffset","setColumnsWidth","colgroupElementHTML","getColumnsCount","_colgroupElement","tableLayout","resetColumnsWidth","setGroupWidth","setGroupHeight","getGroupHeight","_getGroupElementSize","getGroupWidth","headElement","_setTableCss","setVirtualContentParams","_virtualContent","disableVirtualMode","_renderVirtualContent","_fakeTable","_updateFakeTableVisibility","horizontalOffsetName","fakeTableElement","_moveFakeTableHorizontally","offsetStyleName","_moveFakeTableTop","_moveFakeTable","_createFakeTable","_getMemoizeScrollTo","_memoizeScrollTo","_getMaxLeftOffset","scrollablePos","memoizeScrollTo","DataArea","renderScrollable","getUseNativeValue","updateManually","updateScrollableOptions","getScrollableDirection","GRAND_TOTAL_TYPE","DATA_TYPE","NOT_AVAILABLE","formatCellValue","createHeaderInfo","createHeaderItem","childrenStack","headerDescriptions","cellDescriptions","depthSize","cellDescriptionsCount","viewHeaderItems","headerDescriptionsCount","isEmptyGrandTotal","hideTotals","hiddenTotals","hideData","hiddenValues","parentChildren","isAdditionalTotal","isGrandTotal","isValue","hiddenGrandTotals","isMetric","showEmpty","removeEmptyParent","sortBySummaryPaths","stringValuesUsed","getViewHeaderItems","indexesByDepth","breadth","infoItem","dataSourceIndex","depthIndex","addInfoItem","createSortPaths","headerFields","headerField","foreachRowInfo","rowsInfo","columnOffsetResetIndexes","getHeaderIndexedItems","indexedItem","createScrollController","dataAdapter","VirtualScrollControllerModule","_changingDuration","virtualScrollControllerChanged","totalRowCount","rowPageIndex","_columnsScrollController","totalColumnCount","columnPageIndex","_stateStoringController","_columnsInfo","_rowsInfo","_cellsInfo","expandValueChanging","progressChanged","startChanging","_lockChanged","_correctSkipsTakes","_calculatePagingForRowExpandedPaths","rowExpandedSkips","rowExpandedTakes","expandedPathIndexes","_calculatePagingForColumnExpandedPaths","expandedSkips","expandedTakes","skipByPath","takeByPath","_processPagingForExpandedPaths","_savePagingForExpandedPaths","isOppositeArea","columnsScrollController","calculateVirtualContentParams","contentParams","virtualRowHeight","itemHeights","virtualColumnWidth","viewportWidth","itemWidths","contentTop","contentLeft","updateWindowScrollPosition","updateViewOptions","_handleExpandValueChanging","_handleProgressChanged","_handleFieldsPrepared","onFieldsPrepared","_expandValueChangingHandler","_fieldsPreparedHandler","_progressChangedHandler","dataFieldsForRows","dataFieldsForColumns","showValues","grandTotalsAreHiddenForNotAllDataFields","getRowsInfo","getAllData","scrollController","newRowsInfo","rowInfo","realColumnIndex","getColumnsInfo","_rowPageSize","_columnPageSize","_columnPageIndex","getCellsInfo","dataFieldAreaInRows","dataRow","dataNotAvailable","DataController__internals","NO_DATA_AVAILABLE_TEXT","excelExporter","_getLength","cellCount","_correctCellsInfoItemLengths","cellsInfo","expectedLength","_calculateCellInfoItemLength","columnsRow","rowsInfoItems","correctedCellsInfo","headerRowsCount","cellInfoItemLength","collapsedColumnCount","headerRowWithColumns","collapsedCount","rowIdx","colIdx","rowsArea","_rowsArea","columnsArea","_columnsArea","colsArea","getRowAreaColCount","getColumnAreaRowCount","_tryGetAreaName","isColumnAreaCell","isRowAreaCell","getDataFieldStyles","dataItemStyle","dataFieldStyles","getCellDataType","localizationNumber","FieldsArea","_area","_renderButton","dxPopup","dxPivotGridFieldChooserBase","_rowPopup","_shouldCreateButton","fieldChooserBase","indicators","nextField","prevField","renderGroupConnector","PIVOTGRID_EXPAND_BORDER","getCellPath","HorizontalHeadersArea","_scrollBarWidth","_getAreaClassName","_virtualContentWidth","hasScroll","processScrollBarSpacing","groupAlignment","getScrollPath","VerticalHeadersArea","_virtualContentHeight","groupHeight","updateColspans","DATA_AREA_CELL_CLASS","ROW_AREA_CELL_CLASS","COLUMN_AREA_CELL_CLASS","DESCRIPTION_AREA_CELL_CLASS","PIVOTGRID_CLASS","BOTTOM_BORDER_CLASS","FIELDS_CLASS","INCOMPRESSIBLE_FIELDS_CLASS","OVERFLOW_HIDDEN_CLASS","TR","TD","FIELD_CALCULATED_OPTIONS","getArraySum","adjustSizeArray","sizeArray","unsubscribeScrollEvents","getCommonBorderWidth","borderStyleNames","borderStyleName","showColumnFields","showFilterFields","showDataFields","showRowFields","columnFieldArea","rowFieldArea","filterFieldArea","noData","showFieldChooser","sortColumnBySummary","sortRowBySummary","removeAllSorting","onExpandValueChanging","renderCellCountLimit","showRelevantValues","_updateCalculatedOptions","isCalculated","_getDataControllerOptions","DataControllerImport","_updateLoading","_fieldChooserPopup","_renderFieldChooser","_dataArea","_renderDescriptionArea","_updateScrollPosition","dataArea","scrolled","_scrollUpdating","subscribeToScrollEvent","_needDelayResizing","_pivotGridContainer","fieldChooserOptions","dxPivotGridFieldChooser","fieldChooserComponentOptions","_createEventArgs","_getContextMenuItems","oppositeAreaFields","sortingBySummaryItemCount","showDataFieldCaption","textFormat","_createFieldArgs","_createCellArgs","_handleCellClick","_renderNoDataText","loadPanelVisible","_startLoadingTime","$descriptionCell","$toolbarContainer","$filterHeader","$columnHeader","getFieldChooserPopup","_$buttonElement","_buttonOptions","_detectHasContainerHeight","testElement","_renderHeaders","rowHeaderContainer","columnHeaderContainer","filterHeaderContainer","dataHeaderContainer","_rowFields","_columnFields","_filterFields","_dataFields","_renderDataArea","dataAreaElement","DataAreaImport","_renderRowsArea","rowsAreaElement","HeadersArea","_renderColumnsArea","columnsAreaElement","updateHandler","bordersWidth","hasRowsScroll","hasColumnsScroll","rowsAreaWidth","dataAreaCell","rowAreaCell","columnAreaCell","descriptionCell","filterHeaderCell","columnHeaderCell","rowFieldsHeader","needSynchronizeFieldPanel","calculateHasScroll","areaSize","totalSize","calculateGroupHeight","dataAreaHeight","descriptionCellHeight","filterAreaHeight","$dataHeader","dataHeaderHeight","hasVerticalScrollbar","rowsAreaHeights","dataAreaHeights","columnsAreaRowCount","resultHeights","columnsAreaRowHeights","columnsAreaHeight","rowsAreaColumnWidths","_diff","_diff2","_groupHeight","_setVirtualContentParams","updateScrollableResults","virtualContentParams","PopoverFull","_getToolbarName","borderWidthStyles","WEIGHT_OF_SIDES","POPOVER_POSITION_ALIASES","POPOVER_DEFAULT_BOUNDARY_OFFSET","PopoverPositionController","_positionSide","updateTarget","_getContainerPosition","hOffset","vOffset","isVerticalSide","_isVerticalSide","isHorizontalSide","_isHorizontalSide","arrowOffset","_isPopoverInside","_getContentBorderWidth","_getDisplaySide","weightSign","POSITION_FLIP_MAP","getEventNameByOption","attachEvent","isSelector","shouldIgnoreHideEvent","getEventDelay","_clearEventsTimeouts","_timeouts","EVENT_HANDLER_NAME","detachEvent","arrowPosition","_renderArrow","_isOutsideClick","_renderTitle","shouldUpdateDimensions","_renderOverlayPosition","_resetOverlayPosition","_updateContentSize","resultLocation","_getSideByLocation","_togglePositionClass","_toggleFlippedClass","_renderArrowPosition","_setContentHeight","containerLocation","newContainerWidth","newOverlayContentHeight","newPopupContentHeight","isFlippedByVertical","isFlippedByHorizontal","positionClass","isFlippedHorizontal","isFlippedVertical","arrowRect","arrowFlip","arrowLocation","contentLocation","contentSize","finalArrowLocation","fullUpdate","_clearEventTimeout","PopupFull","positionController","_draggableElement","_handle","_dragEnabled","moveDown","moveLeft","moveRight","_getEventNames","startEventName","updateEventName","_dragUpdateHandler","dragStartEvent","dragMoveEvent","dragEndEvent","allowedOffsets","_getAllowedOffsets","_prevOffset","_moveByOffset","dragHandled","_fitOffsetIntoAllowedRange","_getContainerDimensions","$dragResizeContainer","_getElementPosition","_getInnerDelta","containerDimensions","elementDimensions","_getElementDimensions","_getOuterDelta","outsideDragFactor","_getFullDelta","fullDelta","outerDelta","elementPosition","PopupPositionController","forceApplyBindings","_$dragResizeContainer","_outsideDragFactor","_lastPositionBeforeFullScreen","_updateDragResizeContainer","_updateOutsideDragFactor","_fullScreenEnabled","_fullScreenDisabled","resizeHandled","_this$_props$forceApp","_this$_props","_getOutsideDragFactor","_getDragResizeContainer","POPUP_CLASS","POPUP_WRAPPER_CLASS","POPUP_TITLE_CLASS","POPUP_BOTTOM_CLASS","ALLOWED_TOOLBAR_ITEM_ALIASES","IS_OLD_SAFARI","compareVersions","HEIGHT_STRATEGIES","static","_this$_drag","_drag","_this$_drag2","_this$_drag3","_this$_drag4","bottomTemplate","useDefaultToolbarButtons","useFlatToolbarButtons","currentTheme","_iosAnimation","_androidAnimation","popupWrapperClassExternal","popupWrapperClasses","_updateResizeCallbackSkipCondition","isFullscreen","_toggleFullScreenClass","_contentResizeHandler","_shouldSkipContentResize","shouldOnlyReposition","_doesShowAnimationChangeDimensions","_animation$show","doesShowAnimationChangeDimensions","_areContentDimensionsRendered","_observeContentResize","shouldObserve","_entry$contentBoxSize","_this$_renderedDimens3","_this$_renderedDimens4","_this$_renderedDimens","_this$_renderedDimens2","contentBox","contentBoxSize","inlineSize","_renderedDimensions","blockSize","contentRect","_renderResize","_renderBottom","titleText","_renderTemplateByType","_renderDrag","_executeTitleRenderAction","_hasCloseButton","additionalToolbarOptions","useDefaultButtons","useFlatButtons","$titleElement","_getTitleRenderAction","titleElement","_titleRenderAction","_createTitleRenderAction","_getCloseButton","_getCloseButtonRenderer","_createToolbarItemAction","toolbarsItems","_toolbarItemClasses","currentPlatform","isShortcut","getButtonPlace","_getToolbarItemByAlias","isLTROrder","_getLocalizationKey","itemConfig","itemClass","$toolbarItem","$bottom","_toggleClasses","_getDragTarget","topToolbar","useResizeObserver","shouldRepeatAnimation","isDimensionChange","_cacheDimensions","_resetContentHeight","$dragTarget","PopupDrag","_resizable","_resizeEndHandler","overlayContent","currentHeightStrategyClass","_chooseHeightStrategy","_getHeightCssStyles","_setHeightClasses","_heightStrategyChangeOffset","popupVerticalPaddings","isAutoWidth","_isAutoHeight","contentMaxHeight","contentMinHeight","popupHeightParts","_splitPopupHeight","toolbarsAndVerticalOffsetsHeight","footer","contentVerticalOffsets","popupVerticalOffsets","contentHeight","maxHeightValue","currentClass","excessClasses","_renderFullscreenWidthClass","refreshPosition","_this$_resizable2","_this$_resizable","shouldRenderGeometry","PROGRESSBAR_INDETERMINATE_SEGMENT","TrackBar","_renderStatus","_createCompleteAction","_$bar","_$range","_toggleStatus","_$status","_renderIndeterminateState","_$segmentContainer","splitPosition","_toggleIndeterminateState","_setStatus","_currentRatio","RADIO_BUTTON_CLASS","RadioCollection","$radio","$radioContainer","_getItemValue","_renderRadios","_getSelectedItemKeys","_setSelection","_updateItemsSize","_areRadiosCreated","$radios","_radios","_this$_radios","_this$_radios2","RANGE_SLIDER_CLASS","RANGE_SLIDER_START_HANDLE_CLASS","RANGE_SLIDER_END_HANDLE_CLASS","_changeHandle","capturedHandle","_capturedHandle","_setHandleValue","_valueStep","moveHandleRight","_$handleStart","_$handleEnd","moveHandleLeft","_processKeyboardEvent","isStart","startOption","endOption","_$submitStartElement","_$submitEndElement","_callHandlerMethod","_renderHandle","_renderHandleImpl","_updateHandleAriaLabels","_startHandler","$range","rangeWidth","eventOffsetX","startHandleX","endHandleX","startHandleIsClosest","_activeHandle","_updateHandlePosition","offsetDirection","newRatio","_startOffset","_swipePixelRatio","_updateSelectedRangePosition","fitTooltipPosition","_changeValueOnSwipe","$nextHandle","_getActualValue","leftRatio","rightRatio","_setValueOnSwipe","_actualValue","valStart","valEnd","ratio2","_needPreventAnimation","_setRangeStyles","_setValueOption","RESIZABLE","RESIZABLE_HANDLE_CLASS","RESIZABLE_HANDLE_CORNER_CLASS","DRAGSTART_START_EVENT_NAME","DRAGSTART_END_EVENT_NAME","SIDE_BORDER_WIDTH_STYLES","stepPrecision","roundStepValue","_renderHandles","_resizeStartAction","_resizeEndAction","_resizeAction","_handles","activeHandlesMap","handleName","_dragHandler","handleElement","_toggleEventHandlers","shouldAttachEvents","_getElementSize","_toggleResizingClass","_movingSides","_getMovingSides","_elementLocation","_elementSize","_renderDragOffsets","handleWidth","handleOffset","_getAreaScrollOffset","_leftMaxOffset","_rightMaxOffset","_topMaxOffset","_bottomMaxOffset","_proportionate","_getProportionalDelta","proportionalY","proportionalX","_getDirectionName","sides","_fitIntoArea","directionName","_fitDeltaProportionally","fittedDelta","isInArea","isFittedX","isFittedY","_fitDelta","_getDeltaByOffset","_isCornerHandler","proportionalDelta","_roundByStep","_updatePosition","_getOffset","_updateDimensions","_triggerResizeAction","isAbsoluteSize","isStepPrecisionStrict","elementStyle","shouldRenderWidth","shouldRenderHeight","xor","_roundStrict","_roundNotStrict","_getSteps","steps","xPos","yPos","newXShift","newYShift","separatorOffset","isSmallOffset","newOffsetX","newOffsetY","roundedOffset_x","roundedOffset_y","hasCornerTopLeftClass","hasCornerTopRightClass","hasCornerBottomLeftClass","hasCornerBottomRightClass","_getAreaFromObject","_getAreaFromElement","areaElement","_correctAreaGeometry","areaBorderLeft","areaBorderTop","_renderWidth","_renderHeight","RESPONSIVE_BOX_CLASS","SCREEN_SIZE_CLASS_PREFIX","_initLayoutChangedAction","_layoutChangedAction","_setScreenSize","_screenItems","_itemsByScreen","_prepareGrid","_spreadItems","_layoutItems","_linkNodeToItem","_clearItemNodeTemplates","currentScreen","_getCurrentScreen","_removeScreenSizeClass","_grid","_prepareRowsAndCols","_rows","_cols","_createEmptyCell","getSingleColumnRows","screenItemsLength","filteredRows","_filterByScreen","sizeConfig","_defaultSizeConfig","_isSingleColumnScreen","_prepareSingleColumnScreenItems","_sizesByScreen","_screenRegExp","sizeConfigs","_createDefaultSizeConfig","defaultSizeConfig","screenRegExp","_screenWidth","itemCol","itemRow","itemCell","_occupyCells","_isItemCellOccupied","_markSpanningCell","_loopOverSpanning","rowEnd","colEnd","boundRowEnd","boundColEnd","spanningCell","itemNode","colsCount","_layoutBlock","rootBox","_prepareBoxConfig","_rootBoxConfig","_needApplyAutoBaseSize","_isSingleItem","_itemByCell","_layoutDirection","firstCellLocation","isItemRowSpanned","isItemColSpanned","crossDirection","_crossDirection","_nextBlock","_isBlockIndivisible","prevBlockOptions","_blockSize","crossStartIndex","crossSpan","crossIndex","lineCrossSpan","_cellByDirection","lineCrossEndIndex","crossEndIndex","defaultMinSize","forceRemoveRoot","$existingRoot","_saveAssistantRoot","_assistantRoots","_cleanUnusedRoots","getAppointmentDurationInHours","getAppointmentTakesAllDay","appointmentAdapter","viewStartDayHour","viewEndDayHour","hasAllDay","allDay","appointmentHasShortDayDuration","appointmentDurationInHours","viewDurationInHours","startDateHours","endDateHours","VIEW_TYPES","renovationGetCurrentView","currentViewProps","TimeZoneCalculator","sourceDate","getConvertedDate","getOffsets","appointmentTimezone","clientOffset","getClientOffset","commonOffset","getCommonOffset","appointmentOffset","getAppointmentOffset","client","appointment","getConvertedDateByOffsets","isBack","getOriginStartDateOffsetInMs","isUTCDate","getOffsetInHours","tryGetCommonOffset","tryGetAppointmentOffset","useAppointmentTimeZone","timezoneUtils","ExpressionUtils","setField","getAppointmentTakesSeveralDays","_convertRecurrenceException","exceptionString","timeZoneCalculator","getConvertedToTimeZone","exceptionDate","convertedStartDate","convertedExceptionDate","replaceWrongEndDate","rawAppointment","_isEndDateWrong","calculatedEndDate","isAllDay","sortAppointmentsByStartDate","appointments","PROPERTY_NAMES","AppointmentAdapter","endDateTimeZone","recurrenceException","isRecurrent","calculateStartDate","pathTimeZoneConversion","calculateDate","calculateEndDate","pathTimeZone","clonedAdapter","createAppointmentAdapter","UTC_FULL_DATE_FORMAT","createRecurrenceException","getSerializedDate","FIXED_CONTAINER_CLASS","REDUCED_APPOINTMENT_PARTS_CLASSES","DIRECTION_APPOINTMENT_CLASSES","APPOINTMENT_DRAG_SOURCE_CLASS","APPOINTMENT_CONTENT_CLASSES","HEADER_CURRENT_TIME_CELL_CLASS","VIRTUAL_CELL_CLASS","TIME_PANEL_CLASS","DATE_TABLE_CLASS","DATE_TABLE_ROW_CLASS","GROUP_HEADER_CONTENT_CLASS","LAST_GROUP_CELL_CLASS","FIRST_GROUP_CELL_CLASS","VERTICAL_GROUP_COUNT_CLASSES","LIST_ITEM_DATA_KEY","APPOINTMENT_SETTINGS_KEY","HORIZONTAL_GROUP_ORIENTATION","VIEWS","DAY","WEEK","WORK_WEEK","MONTH","TIMELINE_DAY","TIMELINE_WEEK","TIMELINE_WORK_WEEK","TIMELINE_MONTH","AGENDA","hasResourceValue","resourceValues","getValueExpr","getDisplayExpr","getFieldExpr","fieldExpr","getWrappedDataSource","createResourcesTree","leafIndex","make","currentGroupItem","nextGroupIndex","getPathToLeaf","tree","findLeafByIndex","_leaf","makeBranch","getCellGroups","getGroupsObjectFromGroupsArray","groupsArray","currentGroups","getAllGroups","isResourceMultiple","resourceField","allowMultiple","filterResources","getDataAccessors","groupAppointmentsByResourcesCore","treeLeaves","getResourceTreeLeaves","hasGroupItem","resourceValue","reduceResourcesTree","existingAppointments","resourceTitle","resourceData","resourceGetter","resourceFromAppointment","getResourceColor","resourceLoaderMap","colorGetter","getOrLoadResourceItem","wrappedDataSource","filteredData","getAppointmentColor","resourceConfig","appointmentConfig","loadedResources","paintedResources","getPaintedResources","newGroups","useColorAsDefault","newResources","cellGroups","resourcesDataAccessors","groupId","createExpressions","loadResources","dataSourcePromise","getTransformedResourceData","displayGetter","hasEmpty","getNormalizedResources","VERTICAL_GROUP_ORIENTATION","getKeyByGroup","isVerticalGrouping","addToStyles","nextStyle","addHeightToStyle","addWidthToStyle","getGroupCellClasses","isFirstGroupCell","isLastGroupCell","getIsGroupedAllDayPanel","hasAllDayRow","isVerticalGroupingApplied","groupOrientation","isHorizontalGroupingApplied","isGroupingByDate","isHorizontalGrouping","TIMELINE_VIEWS","timelineDay","timelineWeek","timelineWorkWeek","timelineMonth","setOptionHour","optionHour","nextDate","getViewStartByOptions","intervalDuration","startViewDate","currentStartDate","getCalculatedFirstDayOfWeek","firstDayOfWeekOption","getStartViewDateWithoutDST","newStartViewDate","validateDayHours","getStartViewDateTimeOffset","validStartDayHour","formatWeekday","formatWeekdayAndDay","getToday","indicatorTime","todayDate","getVerticalGroupCountClass","isDateAndTimeView","isTimelineView","getHorizontalGroupCount","calculateIsGroupedAllDayPanel","isAllDayPanelVisible","calculateDayDuration","isHorizontalView","getTotalCellCountByCompleteData","completeData","getTotalRowCountByCompleteData","getDisplayedCellCount","displayedCellCount","getDisplayedRowCount","displayedRowCount","getCellDuration","hoursInterval","Semaphore","isFree","APPOINTMENT_FORM_GROUP_NAMES","Main","Recurrence","createDateBoxEditor","AppointmentForm","scheduler","semaphore","recurrenceEditor","triggerResize","changeSize","allowTimeZoneEditing","getEditingConfig","recurrenceEditorVisibility","mainItems","_createMainItems","createResourceEditorModel","_createRecurrenceEditor","createComponent","dataExprs","startTimeZoneEditor","endTimeZoneEditor","createTimeZoneDataSource","_createAppointmentAdapter","_dateBoxValueChanged","dateExpr","isNeedCorrect","validateAppointmentFormDate","dateEditor","_createTimezoneEditor","timeZoneExpr","secondTimeZoneExpr","isMainTimeZone","secondTimezoneEditor","_createDateBoxItems","getFirstDayOfWeek","_changeFormItemDateType","itemEditorOptions","newEditorOption","startDateEditor","endDateEditor","allDayStartDate","startDateWithStartHour","getStartDateWithStartHour","getStartDayHour","getCalculatedEndDate","startDateItemPath","endDateItemPath","updateRecurrenceItemVisibility","getTimeZoneCalculator","setEditorsType","startDateFormItem","endDateFormItem","startDateEditorOptions","endDateEditorOptions","updateRecurrenceEditorStartDate","setEditorOptions","editorPath","setTimeZoneEditorDataSource","updateFormData","POPUP_WIDTH","FULLSCREEN","TOOLBAR_LOCATION","getPopupToolbarItems","doneClick","doneButton","isPopupFullScreenNeeded","isRecurrence","loading","removeLoadPanel","createLoadPanel","APPOINTMENT_POPUP_CLASS","DAY_IN_MS","POPUP_CONFIG","ACTION_TO_APPOINTMENT","AppointmentPopup","lastEditData","saveChangesLocker","excludeInfo","_createPopupConfig","isToolbarVisible","_doneButtonClickHandler","popupElement","_createPopupContent","_onShowing","_updateForm","appointmentData","getAppointmentFormOpening","processActionResult","updatePopupFullScreenMode","_createForm","getResources","normalizedResources","_isReadOnly","isFullScreen","saveChangesAsync","isShowLoadPanel","hideLoading","_addMissingDSTTime","addAppointment","updateAppointment","sourceAppointment","updatedAppointment","saveEditDataAsync","_tryLockSaveChanges","inAllDayRow","resourceList","_unlockSaveChanges","showLoading","formAppointmentAdapter","clonedAppointmentAdapter","_addMissingDSTShiftToDate","originFormDate","shiftDifference","getDatesWithoutTime","newMin","newMax","FilterPosition","RemoteFilterCombiner","makeDateFilter","dateFilter","userFilter","serializeRemoteFilter","lastFilterValue","getUserFilter","trimMin","trimMax","STORE_EVENTS","AppointmentDataSource","_updatedAppointmentKeys","isDataSourceInit","cleanState","_initStoreChangeHandlers","_updatedAppointment","pushItems","getUpdatedAppointment","getUpdatedAppointmentKeys","FilterStrategies","AppointmentFilterBaseStrategy","_resolveOption","supportAllDayRow","viewDirection","viewDataProvider","preparedItems","filterLoadedAppointments","supportMultiDayAppointments","hasAllDayAppointments","filteredItems","adapters","_createAllDayAppointmentFilter","_createCombinedFilter","checkIntersectViewport","useRecurrence","hasRecurrenceRule","appointmentTakesAllDay","appointmentTakesSeveralDays","isLongAppointment","_filterAppointmentByResources","getRecurrenceException","_filterAppointmentByRRule","compareDateWithStartDayHour","severalDays","hiddenInterval","apptDuration","apptStartHour","apptStartMinutes","apptIntersectViewport","compareDateWithEndDayHour","_createAppointmentFilter","checkAppointmentResourceValues","resourceIndex","appointmentResourceValues","appointmentStartDate","appointmentEndDate","recurrenceProcessor","_appointmentPartInInterval","apptStartDayHour","apptEndDayHour","filterPreparedItems","filterAllDayAppointments","AppointmentFilterVirtualStrategy","hourMs","isCalculateStartAndEndDayHour","calculateIsDateAndTimeView","isAllDayWorkspace","showAllDayAppointments","endViewDate","getLastViewDateByEndDayHour","getCompletedGroupsInfo","groupStartDate","groupEndDate","_getPrerenderFilterResources","hasAllDayPanel","hasGroupAllDayPanel","supportAllDayAppointment","combinedFilters","itemsToFilter","cellGroup","getCellsGroup","getResourcesDataByGroups","currentResourcesData","currentResource","currentData","AppointmentDataProvider","appointmentDataSource","initFilterStrategy","filterStrategyName","getIsVirtualScrolling","getFilterStrategy","filterStrategy","getLoadedResources","getSupportAllDayRow","getViewType","getViewDirection","getViewDataProvider","updateDataAccessors","filterByDate","combineRemoteFilter","filterOption","calculateAppointmentEndDate","removeTooltipElement","removeTooltip","createTooltip","REDUCED_APPOINTMENT_POINTERENTER_EVENT_NAME","REDUCED_APPOINTMENT_POINTERLEAVE_EVENT_NAME","Appointment","coloredElement","reduced","resizableConfig","isDragSource","notifyObserver","subject","invoke","funcName","_renderDragSourceClass","_getHorizontalResizingRule","reducedHandles","getResizableStep","_getVerticalResizingRule","_renderAppointmentGeometry","_renderEmptyClass","_renderReducedAppointment","_renderAllDayClass","_renderDirection","_renderRecurrenceClass","_renderResizable","_setResourceColor","reducedPart","_renderAppointmentReducedIcon","_getEndDate","_createResizingConfig","AgendaAppointment","createPlainResourceListAsync","_renderResourceList","itemContainer","allDayText","isStartDate","considerTime","appointmentSettings","resultTime","normalizeStartDate","sourceStartDate","normalizeEndDate","sourceEndDate","getAppointmentLeftCell","relativeAppointmentRect","cellRowIndex","cellColumnIndex","getAppointmentDateRange","getRelativeAppointmentRect","appointmentRect","parentAppointmentRect","isVerticalGroupedWorkSpace","DOMMetaData","DOMMetaTable","allDayPanelCellsMeta","dateTableCellsMeta","positionByMap","cellCountInRow","getAppointmentCellsInfo","extendedOptions","appointmentLastCell","appointmentLastCellIndex","appointmentFirstCellIndex","appointmentRowIndex","appointmentFirstCell","getDateRangeHorizontalRTL","appointmentCellsAmount","appointmentColumnIndex","getDateRangeHorizontal","SchedulerAppointments","_virtualAppointments","isAgendaView","appointmentDataProvider","_appointmentClickTimeout","currentAppointment","_$currentAppointment","resizeOccur","moveAppointmentBack","_getAccessAppointments","sortedIndex","$nextAppointment","_getAppointmentByIndex","_resetTabIndex","$appointment","fixedContainer","allDayContainer","allowAllDayResize","_collectorOffset","_clearDropDownItems","_clearDropDownItemsElements","_repaintAppointments","_renderDropDownAppointments","_attachAppointmentsEvents","_isAllDayAppointment","_isRepaintAppointment","_isRepaintAll","_applyFragment","fragment","_getAppointmentContainer","_onEachAppointment","isRepaintAll","needRemove","_clearItem","_renderByFragments","$commonFragment","$allDayFragment","renderFunction","_attachAppointmentDblClick","_attachFeedbackEvents","$allDayContainer","_initialSize","_initialCoordinates","_preventSingleAppointmentClick","_renderAppointmentTemplate","_currentAppointmentSettings","agendaSettings","targetedAppointmentData","createAgendaAppointmentLayout","leftLayoutContainer","rightLayoutContainer","additionalContainer","createAppointmentLayout","$contentDetails","_processItemClick","_dblClickHandler","$targetAppointment","setting","_renderAppointment","_applyResourceDataAttr","skipResizing","deferredColor","_processVirtualAppointment","appointmentReduced","_resizableConfig","getResourceDataAccessors","agendaResourceProcessor","createListAsync","itemSetting","_calculateResizableArea","updatedArea","resizeAllDay","_getEndResizeAppointmentStartDate","_getDateRange","updateResizedAppointment","isVerticalViewDirection","modifiedAppointmentAdapter","appointmentInfo","deltaTime","renderingStrategyDirection","needCorrectDates","_correctStartDateByDelta","_correctEndDateByDelta","visibleDayDuration","daysCount","tailOfPrevDays","correctedEndDate","appointmentSetting","virtualAppointment","virtualGroupIndex","buttonColor","virtualGroup","virtualCoordinates","$fragment","buttonHeight","rtlOffset","_isGroupCompact","_sortAppointmentsByStartDate","_processRecurrenceAppointment","skipLongAppointments","timezoneCalculator","recurrentDates","recurrentDateCount","appointmentPart","_applyStartDateToObj","_applyEndDateToObj","_processLongAppointment","splitAppointmentByDay","partCount","_reduceRecurrenceAppointments","recurrenceIndexes","_combineAppointments","additionalAppointments","dragEvent","_removeDragSourceClassFromDraggedAppointment","originalStartDate","maxAllowedDate","appointmentIsLong","currentEndDate","_checkStartDate","_checkEndDate","originalDate","dxSchedulerAppointment","_setDragSourceAppointment","$appointments","itemGroupIndex","itemStartDate","itemEndDate","appointmentInstance","updateResizableArea","$allResizableElements","horizontalResizables","resizableInst","getAppointmentKey","mergeStylesWithColor","AppointmentDetails","dateText","AppointmentTitle","AppointmentContent","refReducedIcon","bindHoverEffect","onReducedIconMouseEnter","onReducedIconMouseLeave","showReducedIconTooltip","hideReducedIconTooltip","_this$refReducedIcon$","_this$refReducedIcon$2","_this$refReducedIcon$3","_this$refReducedIcon$4","appointmentTemplate","isReduced","AppointmentTemplate","getDeferredAppointmentColor","AppointmentsContext","updateStylesEffect","bindDoubleClickEffect","onItemDoubleClick","appointmentsContextValue","_viewModel$info$group","_this$ref$current","onDoubleClick","_this$ref$current2","appointmentStyles","getAppointmentStyles","OverflowIndicator","getIndicatorColor","appointmentContext","_viewModel$groupIndex","appointmentCount","getOverflowIndicatorStyles","overflowIndicatorTemplate","OverflowIndicatorTemplate","SELECTOR","AppointmentLayout","layoutRef","pointerEventsEffect","onAppointmentPointerDown","disposePointerDown","regular","overflowIndicators","allDayCompact","regularCompact","appointmentElement","focusedAppointmentIndex","typeMap","appointmentType","updateFocusedAppointment","onAppointmentDoubleClick","AppointmentLayoutComponent","getAppointmentSettings","getAppointmentInfo","currentDataAccessors","dateGetter","dateSetter","DOM","renovation","renderComponent","getAppointmentsContainer","$dateTable","SchedulerCalendar","_isMobileLayout","_calendar","isMobileLayout","overlayType","_createOverlayContent","_getCalendarOptions","_createScrollable","getPreviousButtonOptions","_updateDateByDirection","previousButton","isPreviousButtonDisabled","_addEvent","getCalendarButtonOptions","captionText","_showCalendar","calendarButton","getNextButtonOptions","isNextButtonDisabled","_getCaption","_getNextDate","getPeriodStart","getWeekStart","MS_DURATION","DAY_DURATION","WEEK_DURATION","nextDay","nextWeek","isWeekend","getIntervalStartDate","getWorkWeekStart","getIntervalEndDate","periodEndDate","intervalCount","agendaDuration","nextPeriodStartDate","getPeriodEndDate","getNextPeriodStartDate","currentPeriodStartDate","nextMonth","workWeekStart","workDaysCount","getDateAfterWorkWeek","nextAgendaStart","subMS","currentPeriodEndDate","addMS","getNextMonthDate","currentMonthFirstDate","thatMonthFirstDate","thatMonthDuration","currentMonthMinDate","getDateMonthFormatter","isShort","monthType","formatMonthYear","getDateMonthYearFormatter","dateMonth","dateMonthFormat","formatCaptionByMonths","getDifferentYearCaption","firstDateText","lastDateDateText","getSameYearCaption","isDifferentMonthDates","useShortFormat","firstDateFormat","lastDateText","getCaptionText","getSameDateCaption","formatMonthViewCaption","getCaption","customizationFunction","STEP_MAP","workWeek","agenda","getViewName","validateViews","isValidView","formatViews","getViewText","isOneView","selectedView","VIEW_SWITCHER_CLASS","getViewsAndSelectedView","isSelectedViewInViews","DEFAULT_ELEMENT","SchedulerHeader","intervalOptions","_useShortDateFormat","_createEventMap","_getCalendarOptionUpdater","_createToolbarConfig","toolbarElement","_parseItem","defaultElementType","getDropDownViewSwitcher","oneView","_updateCurrentView","viewSwitcher","getViewSwitcher","_renderCalendar","getDateNavigator","_callEvent","onCurrentViewChange","_updateCalendarValueAndCurrentDate","onCurrentDateChange","initialDate","getNextIntervalDate","dayDuration","_isMonth","_getDisplayedDate","useShortDateFormat","_hideCalendar","dateSettings","positionHelper","getPositionShift","getPositionShiftCallback","isVerticalGroupOrientation","isGroupedAllDayPanel","calculateCellPositions","groupIndices","isAllDayRowAppointment","isRecurrentAppointment","dateSetting","getCoordinateInfos","_prepareObject","recurrent","getCoordinatesByDateInGroup","dateSettingIndex","getCoordinatesByDate","validGroupIndex","findCellPositionInMap","getCellPosition","timeShift","getTimeShift","horizontalHMax","getHorizontalMax","verticalMax","getVerticalMax","hMax","vMax","isSkippedDate","validGroupIndices","cellCoordinates","isAllDayPanel","validPosition","currentDayStart","currentDayEndHour","timeZoneDifference","currentDateTime","currentDayStartTime","VirtualStrategy","isGroupIntersectDateInterval","createRecurrentAppointmentInfos","coordinate","CellPositionCalculator","getFormatType","formatDates","isSameDate","DateGeneratorBaseStrategy","isGroupedByDate","isDateAppointment","getIntervalDuration","allDayIntervalDuration","itemGroupIndices","_getGroupIndices","appointmentList","_createAppointments","_getProcessedByAppointmentTimeZone","_canProcessNotNativeTimezoneDates","_getProcessedNotNativeTimezoneDates","_createGridAppointmentList","firstViewDates","_getAppointmentsFirstViewDate","_fillNormalizedStartDate","_cropAppointmentsByStartDayHour","_fillNormalizedEndDate","_needSeparateLongParts","_separateLongParts","appointmentOffsets","sourceOffsets_startDate","sourceOffsets_endDate","startDateOffsetDiff","endDateOffsetDiff","_createRecurrenceAppointments","resultEndTime","_getProcessedNotNativeDateIfCrossDST","newDateMinusOneHour","_getCommonOffset","diffStartDateOffset","diffEndDateOffset","newStartDate","newEndDate","testNewStartDate","testNewEndDate","normalizeEndDateByViewEnd","roundedEndViewDate","currentViewEndTime","normalizedEndDate","gridAppointmentList","gridAppointment","endDateOfPart","startDatePart","offsetDifference","_createExtremeRecurrenceDates","endViewDateByEndDayHour","daylightOffset","_createRecurrenceOptions","minRecurrenceDate","maxRecurrenceDate","_getAppointmentFirstViewDate","_getAppointmentResultDate","firstViewDate","findAllDayGroupCellStartDate","findGroupCellStartDate","DateGeneratorVirtualStrategy","recurrentInfo","_updateGroupIndices","getGroupStartDate","appointmentCopy","viewDataGroupIndices","getGroupIndices","AppointmentSettingsGenerator","dateSettingsStrategy","_generateDateSettings","cellPositions","_calculateCellPositions","_prepareAppointmentInfos","infos","_getAppointmentDateText","createFormattedDateText","renderingStrategy","_renderingStrategy","getDropDownAppointmentWidth","getCollectorTopOffset","getCollectorLeftOffset","getAppointmentDefaultOffset","_isCompactTheme","getDynamicAppointmentCountPerCell","allDayCount","_getAppointmentDefaultOffset","_getAppointmentDefaultHeight","_getAppointmentMinCount","allDaySupported","appointmentCountPerCell","_calculateDynamicAppointmentCountPerCell","getDropDownAppointmentHeight","_getAppointmentMaxWidth","_getAppointmentDefaultWidth","AppointmentPositioningStrategy","getDropDownButtonAdaptiveSize","allDayHeight","collectorWidth","_initPositioningStrategy","isAdaptive","resizableStep","cellDurationInMinutes","leftVirtualCellCount","topVirtualCellCount","allowAllDayResizing","_correctCollectorCoordinatesInAdaptive","_positioningStrategy","AdaptivePositioningStrategy","getPositioningStrategy","getAppointmentMinSize","keepAppointmentSettings","getDeltaTime","initialSize","getAppointmentGeometry","needCorrectAppointmentDates","createTaskPositionMap","skipSorting","_maxAppointmentCountPerCell","_correctRtlCoordinates","leftVirtualWidth","topVirtualHeight","positionArray","_getSortedPositions","resultPositions","_getResultPositions","_getExtendedPositionMap","_getDeltaWidth","intervalWidth","initialWidth","generateAppointmentSettings","calculateAppointmentHeight","calculateAppointmentWidth","multiWeekAppointmentParts","initialRowIndex","initialColumnIndex","_needVerifyItemSize","currentMaxAllowedPosition","isAppointmentGreaterThan","_reduceMultiWeekAppointment","_getAppointmentParts","sourceAppointmentWidth","reducedWidth","_getAppointmentPartsPosition","appointmentParts","getAppointmentSettingsGenerator","isAppointmentTakesAllDay","_getCompactAppointmentParts","appointmentWidth","bound","etalon","comparisonParameters","cropAppointmentWidth","positionList","_sortCondition","_getConditions","isSomeEdge","_isSomeEdge","columnCondition","_normalizeCondition","rowCondition","cellPositionCondition","_rowCondition","conditions","_columnCondition","_isItemsCross","secondItem","areItemsInTheSameTable","areItemsAllDay","_getOrientation","_checkItemsCrossing","firstItemSide1","firstItemSide2","secondItemSide1","secondItemSide2","sortedArray","maxIndexInStack","findFreeIndex","_skipSortedIndex","startNewStack","pushItemsInResult","_getMaxAppointmentCountPerCell","_findIndexByKey","iKey","jKey","iValue","jValue","positionCounter","mapLength","resultString","itemLength","_checkLongCompactAppointment","_splitLongCompactAppointment","_getMaxAppointmentCountPerCellByType","compactCount","compactPart","_getCompactLeftCoordinate","_adjustDurationByDaylightDiff","daylightDiff","_needAdjustDuration","_calculateDurationByDaylightDiff","_getCollectorLeftOffset","isApplyCompactAppointmentOffset","dropDownButtonWidth","rightOffset","_markAppointmentAsVirtual","countFullWidthAppointmentInCell","compactRender","supportCompactDropDownAppointments","_generateAppointmentCollectorIndex","getAppointmentDataCalculator","getVerticalAppointmentHeight","currentAppointmentCountInCell","resultMaxAppointmentsPerCell","dynamicAppointmentCountPerCell","_getDynamicAppointmentCountPerCell","maxAppointmentCountDisplayedInCell","maxAppointmentsCount","_customizeCoordinates","appointmentHeight","_isAppointmentEmpty","_getAppointmentMinHeight","_getAppointmentMinWidth","_calculateGeometryConfig","overlappingMode","_getOffsets","appointmentDefaultOffset","_getAppointmentCount","_getDefaultRatio","unlimited","_getAppointmentHeightByTheme","_needVerticalGroupBounds","_needHorizontalGroupBounds","getAppointmentDurationInMs","apptStartDate","apptEndDate","msInHour","trimmedStartDate","trimmedEndDate","quantityOfDays","dayVisibleHours","appointmentDayHours","startHours","apptStartDelta","endHours","BaseRenderingStrategy","groupAppointmentByResources","_getCurrentViewOption","totalResourceCount","groupAppointmentsByResources","appointmentsByResources","calculateRows","groupedAppts","appts","recurrentIndexes","recurrenceBatch","getAppointmentsInstance","appointmentBatch","appt","_calculateGroupIndex","apptIndex","resultInd","countApptInGroup","replaceWrongAppointmentEndDate","needClearSettings","groupedAppointments","currentAppointments","groupResult","appointmentIsRecurrence","_iterateRow","indexInRow","getDateByIndex","getStartViewDate","calculatedStartDate","wrappedOriginalStartDate","getSkippedHoursInRange","excludedHours","BaseAppointmentsStrategy","durationInCells","_customizeAppointmentGeometry","auto","itemLeft","deltaWidth","positionShift","getCellSize","getCellHeight","getCellWidth","getAllDayHeight","getMaxAllowedPosition","getMaxAllowedHorizontalPosition","firstRow","getLastGroupCellPosition","PositionHelper","groupStrategy","GroupStrategyBase","GroupStrategyHorizontal","getDOMMetaDataCallback","getMaxPosition","viewPortGroupCount","getViewPortGroupCount","getOffsetByAllDayPanel","getGroupTop","maxAllowedPosition","_getMaxAllowedVerticalPosition","getRowCountInGroup","_getAllDayHeight","lastGroupRow","correctedGroupIndex","HorizontalAppointmentsStrategy","_getDurationInDays","getSkippedDaysCount","HOURS_IN_DAY","HorizontalMonthLineRenderingStrategy","_getLeftPosition","fullWeekAppointmentWidth","_calculateMultiWeekAppointmentLeftOffset","_getChunkCount","fullChunksWidth","firstChunkWidth","weekWidth","rawFullChunksWidth","allChunksCount","viewRowIndex","_tryGetRowIndexInView","allowedChunksCount","positionStartDate","dayDurationMs","timeFromStart","_getChunkWidths","_getTailChunkSettings","withoutFirstChunkWidth","tailChunkWidth","rtlPosition","hasTailChunk","tailChunkLeftPosition","topPosition","isTailChunk","getCellCount","groupedDataMap","dateTableGroupedMap","deltaHeight","_getAllDayAppointmentGeometry","_getAdaptiveGeometry","_getVerticalAppointmentGeometry","isRecurring","appointmentBeginInCurrentView","isAppointmentTakesSeveralDays","currentSetting","multiDaysAppointmentParts","_isMultiViewAppointment","_reduceMultiDayAppointment","sourceAppointmentHeight","reducedHeight","currentSettingStartDate","currentSettingNormalizedEndDate","_getGroupHeight","_getGroupTopOffset","groupTop","allDayPanelOffset","_getTailHeight","appointmentGeometry","appointmentGroupTopOffset","currentPartTop","cellsDiff","hasTailPart","tailHeight","_getMinuteHeight","_calculateVerticalGeometryConfig","_customizeVerticalCoordinates","appointmentLeft","_getMaxWidth","durationInHours","skippedHours","minAppointmentCountPerCell","RENDERING_STRATEGIES","horizontalMonth","HorizontalMonthAppointmentsStrategy","horizontalMonthLine","HorizontalMonthLineAppointmentsStrategy","VerticalAppointmentsStrategy","VerticalRenderingStrategy","AgendaAppointmentsStrategy","AppointmentViewModelGenerator","initRenderingStrategy","RenderingStrategy","appointmentRenderingStrategyName","isRenovatedAppointments","positionMap","getRenderingStrategy","makeRenovatedViewModels","regularViewModels","allDayViewModels","compactOptions","prepareViewModel","compactViewModel","appointmentViewModel","compactViewModels","prepareCompactViewModels","getCompactViewModelFrame","resourceColor","getAppointmentRenderingStrategyName","currentViewType","getCellDimensions","_workSpace","_getRenderingStrategyOptions","workspace","getWorkSpace","virtualScrollingDispatcher","cellCountInsideLeftVirtualCell","cellCountInsideTopVirtualRow","getDOMElementsMetaData","_isVerticalGroupedWorkSpace","_getRowCount","getVisibleDayDuration","createGetAppointmentColor","_allowResizing","_allowAllDayResizing","_getRealGroupOrientation","getEndViewDate","createAppointmentsMap","renderingStrategyOptions","_positionMap","_isDataChanged","_isAppointmentShouldAppear","_isSettingChanged","sourceSetting","createSettingsToCompare","newSettings","oldSettings","_getAssociatedSourceAppointment","sourceAppointments","_getDeletedAppointments","getRepaintedAppointments","isSettingChanged","isAppointmentShouldAppear","getRenderingStrategyInstance","AppointmentTooltipInfo","targetedAppointment","APPOINTMENT_COLLECTOR_CLASS","COMPACT_APPOINTMENT_COLLECTOR_CLASS","APPOINTMENT_COLLECTOR_CONTENT_CLASS","CompactAppointmentsHelper","_createCompactButton","_makeBackgroundColor","_makeBackgroundDarker","_createTooltipInfos","targetedAdapter","_onButtonClick","showAppointmentTooltipCore","_getExtraOptionsForTooltip","$appointmentCollector","_clickEvent","dragBehavior","_createTooltipDragBehavior","dropDownAppointmentTemplate","isButtonClick","clickEventArgs","$schedulerElement","workSpace","isSetCursorOffset","getItemSettings","itemSettings","_createDragBehaviorBase","_getCollectorOffset","_getCollectorRightOffset","_makeBackgroundColorCore","itemColors","getOverflowIndicatorColor","_setPosition","_createCompactButtonElement","_renderTemplate","_initButtonTemplate","_getAppointmentTemplate","appointmentCollector","_createButtonTemplate","subscribes","isCurrentViewAgenda","currentViewUpdated","currentDateUpdated","getWorkspaceOption","setCellDataCacheAlias","showAppointmentTooltip","getTargetedAppointment","hideAppointmentTooltip","showEditAppointmentPopup","targetedData","showAppointmentPopup","updateAppointmentAfterResize","_checkRecurringAppointment","_updateAppointment","_appointments","_getUpdatedData","updateAppointmentAfterDrag","newCellIndex","oldCellIndex","targetedRawAppointment","becomeAllDay","wasAllDay","movedBetweenAllDayAndSimple","isDragAndDropBetweenComponents","onDeleteButtonPress","checkAndDeleteAppointment","getTextAndFormatDate","appointmentRaw","targetedAppointmentRaw","_createAppointmentTitle","getResizableAppointmentArea","getLayoutManager","horizontalGroupBounds","getGroupBounds","verticalGroupBounds","needRecalculateResizableArea","_getViewCountConfig","getMaxAppointmentCountPerCellByType","getRenderingStrategyDirection","updateAppointmentEndDate","renderCompactAppointments","_compactAppointmentsHelper","clearCompactAppointments","_getGroupCount","mapAppointmentFields","dayHasAppointment","getAgendaVerticalStepHeight","getAgendaDuration","forceMaxAppointmentPerCell","onAgendaReady","$appts","applyClass","getTimezone","_getTimezoneOffsetByOption","getTargetedAppointmentData","getEndDayHour","removeDroppableCellClass","PromiseItem","AgendaResourceProcessor","resourceDeclarations","_resourceDeclarations","resourceMap","appointmentPromiseQueue","_pushAllResources","_onPullResource","_hasResourceDeclarations","_tryPullResources","resultAsync","initializeState","TOOLTIP_APPOINTMENT_ITEM","TOOLTIP_APPOINTMENT_ITEM_CONTENT","TOOLTIP_APPOINTMENT_ITEM_CONTENT_SUBJECT","TOOLTIP_APPOINTMENT_ITEM_CONTENT_DATE","TOOLTIP_APPOINTMENT_ITEM_MARKER","TOOLTIP_APPOINTMENT_ITEM_MARKER_BODY","TOOLTIP_APPOINTMENT_ITEM_DELETE_BUTTON_CONTAINER","TOOLTIP_APPOINTMENT_ITEM_DELETE_BUTTON","TooltipStrategyBase","_extraOptions","dataList","_canShowTooltip","_showCore","_shouldUseTarget","_createTooltip","_prepareBeforeVisibleChanged","_getContentTemplate","listElement","_createList","isAlreadyShown","_onShown","_createListOption","_onListRender","_onListItemClick","_onListItemContextMenu","_createTooltipElement","itemListContent","_createItemListContent","_getItemListTemplateName","getAppointmentTemplate","_createFunctionTemplate","isButtonClicked","isEmptyDropDownAppointmentTemplate","_isEmptyDropDownAppointmentTemplate","_createItemListMarker","_createItemListInfo","getAppointmentDisabled","_createDeleteButton","$markerBody","$date","APPOINTMENT_TOOLTIP_WRAPPER_CLASS","DesktopTooltipStrategy","_getBoundary","isAppointmentInAllDayPanel","getScrollableContainer","contextMenuEventArgs","SLIDE_PANEL_CLASS_NAME","MAX_HEIGHT","MAX_WIDTH","MobileTooltipStrategy","isTabletWidth","currentMaxHeight","createTabletDeviceConfig","createPhoneDeviceConfig","ROW_SELECTOR","tableCreator","VERTICAL","HORIZONTAL","insertAllDayRow","allDayElements","tableBody","makeTable","templateCallbacks","rowCountInGroup","allDayElementIndex","isLastRowInGroup","rowClass","cellClass","cellDataObject","setAdditionalClasses","additionalTemplateData","getCellText","getCellDate","getCellTextClass","makeGroupedTable","_makeVerticalGroupedRows","_makeHorizontalGroupedRows","makeGroupedTableFromJSON","cellStorage","cellTag","titleField","groupTableClass","groupRowClass","groupCellClass","groupCellCustomContent","createCell","childCount","generateCells","rowspans","_makeFlexGroupedRowCells","repeatByDate","groupHeaderClass","cellTemplates","cellIterator","groupHeaderRowClass","_i2","currentColumnLength","_makeGroupedRowCells","maxCellCount","groupHeaderContentClass","DateTable","dataCellTemplate","CellProps","OrdinaryCell","HeaderCell","VirtualCell","isHeaderCell","RowProps","leftVirtualCellWidth","rightVirtualCellWidth","hasLeftVirtualCell","hasRightVirtualCell","rightVirtualCellCount","VirtualRowProps","VirtualRow","virtualCells","heightAdded","hasTopVirtualRow","topVirtualRowHeight","hasBottomVirtualRow","bottomVirtualRowHeight","tableRef","virtualCellsCount","DefaultSizes","DATE_TABLE_CELL_CLASS","CellBaseProps","contentTemplateProps","CellBase","ariaLabel","DateTableCellBaseProps","otherMonth","firstDayOfMonth","DateTableCellBase","dataCellTemplateProps","DataCellTemplate","AllDayPanelCell","AllDayPanelTableBodyProps","viewData","AllDayPanelTableBody","cellGroupIndex","LayoutProps","topVirtualRowCount","bottomVirtualRowCount","addDateTableClass","addVerticalSizesClassToRows","AllDayTableProps","AllDayTable","allDayPanelData","allDayPanel","emptyTableHeight","AllDayTableComponent","AllDayPanelTitle","_objectDestructuringEmpty","AllDayPanelTitleComponent","DateTableBodyProps","DateTableBody","rowClasses","dateTable","fragmentKey","DateTableLayoutProps","DateTableLayoutBase","_this$props$viewData$","_this$props$viewData$2","_this$props$viewData$3","_this$props$viewData$4","DateTableLayoutBaseComponent","GroupPanelWrapper","resourceCellTemplate","GroupPanelBaseProps","groupPanelData","groupPanelItems","baseColSpan","GroupPanelCellProps","GroupPanelVerticalCell","CellTemplate","GroupPanelRowProps","GroupPanelLayoutProps","VerticalGroupPanelLayoutProps","GroupPanelVerticalLayout","GroupPanelHorizontalCellProps","GroupPanelHorizontalCell","HorizontalGroupPanelLayoutProps","GroupPanelHorizontalLayout","colSpans","reduceRight","currentColSpans","groupsRow","nextColSpans","currentLevelGroupCount","previousColSpan","groupCountDiff","groupsRenderRow","GroupPanelProps","isVerticalLayout","GroupPanelComponent","dateHeaderData","dateCellTemplate","timeCellTemplate","DateHeaderText","DateHeaderCellProps","isWeekDayCell","isTimeCellTemplate","DateHeaderCell","cellClasses","useTemplate","DateCellTemplate","TimeCellTemplate","DateHeaderLayoutProps","DateHeaderLayout","dateHeaderRow","HeaderPanelLayoutProps","isRenderDateHeader","dateHeaderTemplate","HeaderPanelLayout","DateHeader","HeaderPanelLayoutComponent","TimePanel","TimePanelCellProps","TimePanelCell","timeCellTemplateProps","highlighted","TimePanelLayoutProps","timePanelData","TimePanelTableLayout","_this$props$timePanel","_this$props$timePanel2","TimePanelTableLayoutComponent","WidgetObserver","AppointmentDragBehavior","dragBetweenComponentsPromise","getAppointmentElement","getDroppableCellIndex","getCellIndexByCoordinates","removeDroppableClasses","dataFromTooltip","itemDataFromTooltip","itemDataFromGrid","createDragStartHandler","createDragMoveHandler","createDragEndHandler","toItemData","isSchedulerComponent","_getDragBehavior","createDropHandler","addTo","updateDragSource","currentSettings","DATE_TIME_SHADER_CLASS","_dateTableScrollable","initShaderElements","renderShader","_shader","shader","createShader","DATE_TIME_SHADER_ALL_DAY_CLASS","CurrentTimeShader","shaderHeight","_getShaderHeight","_getShaderMaxHeight","isSolidShader","_renderGroupedByDateShaderParts","_renderShaderParts","shaderWidth","_getShaderWidth","_renderTopShader","_renderBottomShader","_renderAllDayShader","bottomShaderWidth","$shader","_$topShader","_getShaderTopOffset","_getShaderOffset","_$bottomShader","_$allDayIndicator","_$allDayPanel","getGroupedStrategy","getShaderOffset","getShaderTopOffset","getShaderHeight","getShaderMaxHeight","getShaderWidth","CellsSelectionController","handleArrowClick","nextCellIndices","edgeIndices","getCellDataByPosition","isAllDayPanelCell","getCellFromNextRowPosition","getCellFromNextColumnPosition","currentCellData","moveToCell","nextRowIndex","isMultiSelection","firstColumnIndex","firstRowIndex","_processEdgeCell","validColumnIndex","validRowIndex","isValidRowIndex","_nextRowIndex","_isValidRowIndex","isMultiSelectionAllowed","focusedCellData","nextFocusedCellData","isVirtualCell","_isValidNextFocusedCell","nextAllDay","getSelectedCells","firstSelectedCell","lastSelectedCell","isLastSelectedCellAllDay","firstCell","lastCell","firstGroupIndex","firstCellIndex","firstStartDate","lastCellIndex","lastStartDate","filteredCells","getCellsByGroupIndexAndAllDay","selectedCells","cellsRow","filteredRow","filterCellsByDateAndIndex","filterData","lastDate","daysAndIndexes","validFirstIndex","validLastIndex","compareCellsByDateAndIndex","firstArg","secondArg","CellsSelectionState","_viewDataProvider","_focusedCell","_selectedCells","_firstSelectedCell","_prevFocusedCell","_prevSelectedCells","focusedCell","setFocusedCell","setSelectedCells","lastCellCoordinates","firstCellCoordinates","isLastCellAllDay","setSelectedCellsByData","selectedCellsData","releaseSelectedAndFocusedCells","releaseSelectedCells","releaseFocusedCell","_prevFirstSelectedCell","restoreSelectedAndFocusedCells","clearSelectedAndFocusedCells","DOCUMENT_SCROLL_EVENT_NAMESPACE","scrollingOrientations","DefaultScrollingOrientation","VirtualScrollingDispatcher","_createVirtualScrollingBase","verticalVirtualScrolling","_verticalVirtualScrolling","horizontalVirtualScrolling","_horizontalVirtualScrolling","getSchedulerHeight","getSchedulerWidth","outlineCount","getScrolling","getViewWidth","getWindowWidth","getViewHeight","getWindowHeight","verticalScrollingState","virtualItemCountBefore","horizontalScrollingState","cellCountInsideRightVirtualCell","virtualItemCountAfter","topVirtualRowsCount","leftVirtualCellsCount","virtualRowOffset","virtualItemSizeBefore","virtualCellOffset","scrollingState","scrollingOrientation","verticalScrollingAllowed","horizontalScrollingAllowed","setViewOptions","getRenderState","verticalRenderState","horizontalRenderState","getCellMinWidth","calculateCoordinatesByDataAndPosition","isCalculateTime","isVerticalDirectionView","timeToScroll","cellStartTime","cellEndTime","scrollInCell","getScrollableOuterWidth","createVirtualScrolling","isVerticalVirtualScrollingCreated","isHorizontalVirtualScrollingCreated","VerticalVirtualScrolling","HorizontalVirtualScrolling","isAttachWindowScrollEvent","attachScrollableEvents","_attachWindowScroll","handleOnScrollEvent","verticalStateChanged","horizontalStateChanged","updateRender","isForce","needUpdateVertical","reinitState","needUpdateHorizontal","updateGrid","VirtualScrollingBase","_itemSize","_itemSizeChanged","outlineCountBefore","outlineCountAfter","virtualItemSizeAfter","outlineSizeBefore","outlineSizeAfter","maxScrollPosition","getTotalItemCount","needUpdateState","isStartIndexChanged","_validateAndSavePosition","currentItemsCount","_correctPosition","itemsInfoBefore","_calcItemInfoBefore","itemsDeltaBefore","_calcItemDeltaBefore","itemCountWithAfter","_calcItemInfoAfter","itemCountBefore","_updateStateCore","isForceUpdate","itemInfoBefore","prevVirtualItemSizeBefore","prevVirtualItemSizeAfter","prevOutlineSizeBefore","prevOutlineSizeAfter","_updateStateVirtualItems","prevTopPosition","getTotalRowCount","startRowIndex","getTotalCellCount","startCellIndex","VirtualScrollingRenderer","_workspace","_renderAppointmentTimeoutID","getRenderTimeout","_renderGrid","_renderAppointments","renderWorkSpace","renderTimeout","updateAppointments","prepareCellIndexes","inAllDay","_getCellCount","getGroupIndex","groupByDay","calculateHeaderCellRepeatCount","insertAllDayRowsIntoDateTable","calculateTimeCellRepeatCount","getWorkSpaceMinWidth","getTimePanelWidth","getAllDayOffset","getGroupCountClass","getLeftOffset","_createGroupBoundOffset","startCell","endCell","extraOffset","_getGroupedByDateBoundOffset","getGroupBoundsOffset","currentCellGroup","groupRowLength","groupStartPosition","groupEndPosition","shiftIndicator","_getIndicatorOffset","horizontalOffset","_calculateGroupByDateOffset","getIndicatorOffset","getRoundedCellWidth","getIndicationHeight","getIndicationWidth","getScrollableScrollTop","addAdditionalGroupCellClasses","applyUnconditionally","_addLastGroupCellClass","_addFirstGroupCellClass","_getWorkSpaceWidth","workspaceContainerWidth","getGroupTableWidth","$lastCell","dayHeight","_$thead","bottomOffset","_groupBoundsOffset","tableOffset","verticalOffset","getWorkSpaceLeftOffset","getGroupPanelData","columnCountPerGroup","extendGroupItemsForGroupingByDate","groupRenderItems","currentGroupItems","DateHeaderDataGenerator","_viewDataGenerator","getCompleteDateHeaderMap","completeViewDataMap","isGenerateWeekDaysHeaderData","weekDaysRow","_generateWeekDaysHeaderRowMap","dateRow","_generateHeaderDateRow","cellCountInDay","getCellCountInDay","horizontalGroupCount","datesRepeatCount","daysInView","daysInInterval","headerCellTextFormat","getDateForHeaderText","cellCountInGroupRow","getHeaderCellText","headerIndex","additionalOptions","validDate","generateDateHeaderData","completeDateHeaderMap","isProvideVirtualCellsWidth","isMonthDateHeader","weekDayRowConfig","validCellWidth","_generateDateHeaderDataRow","datesRowConfig","weekDayLeftVirtualCellWidth","weekDayRightVirtualCellWidth","weekDayLeftVirtualCellCount","weekDayRightVirtualCellCount","actualCellCount","finalLeftVirtualCellCount","finalRightVirtualCellCount","GroupedDataMapProvider","viewDataGenerator","viewDataMap","viewOptions","generateGroupedDataMap","_viewOptions","getFirstGroupRow","getGroupEndDate","lastRow","getLastGroupRow","isFindByDate","getGroupFromDateTableGroupMap","checkCellStartDate","startDateVerticalSearch","startDateHorizontalSearch","isStartDateInCell","allDayPanelGroupedMap","_isSameGroupIndexAndIndex","groupRow","getValidStartDate","getTimePanelCellText","getTimeCellDate","startViewDateWithoutDST","timeCellDuration","startViewDateOffset","TimePanelDataGenerator","getCompleteTimePanelMap","realEndViewDate","allDayRowsCount","usualCellIndex","restCellProps","isTimeCellShouldBeHighlighted","isFirst","isLastCellInGroup","timeIndex","generateTimePanelData","completeTimePanelMap","correctedStartRowIndex","timePanelMap","previousGroupedData","_generateTimePanelDataFromMap","previousGroupIndex","realTodayTimeMs","getLocalDateTimeInMs","startMs","endMs","getHighlightedInterval","cellTimeMs","isEvenCell","shiftIntegerByModule","integerValue","moduleValue","isInteger","normalizedInteger","HOUR_MS","DAY_MS","ViewDataGenerator","isWorkView","tableAllDay","_calculateStartViewDate","getCompleteViewDataMap","_setVisibilityDates","setHiddenInterval","groupsList","_generateAllDayPanelData","viewCellsData","_generateViewCellsData","_transformViewDataMapForHorizontalGrouping","_transformViewDataMapForVerticalGrouping","_transformViewDataMapForGroupingByDate","_addKeysToCells","nextGroupRow","nextGroupMap","correctedGroupList","correctedGroupCount","currentRow","currentViewDataMap","allDayPanelsCount","keyBase","currentAllDayPanelsCount","generateViewDataMap","sliceCells","sliceToIndex","allDayPanelMap","_isStandaloneAllDayPanel","dateTableMap","getViewDataFromMap","cellDataRow","isAllDayRow","totalCellCount","_generateCellsRow","cellDataValue","_isFirstGroupCell","_isLastGroupCell","prepareAllDayCellData","prepareCellData","getDateByCellIndices","isStartViewDateDuringDST","dateWithCorrectHours","columnCountBase","rowCountBase","_calculateCellIndex","millisecondsOffset","getMillisecondsOffset","offsetByCount","getTimeOffsetByColumnIndex","startViewDateTime","firstDayOfWeekDiff","columnsInWeek","weekendCount","calculateCellIndex","previousGroupedDataMap","previousOptions","previousRowIndex","markSelectedAndFocusedCells","nextDateTableMap","_markSelectedAndFocusedCellsInRow","indexInSelectedCells","selectedCellIndex","selectedCellGroupIndex","selectedCellAllDay","selectedCellStartDate","_getIntervalDuration","columnCountInDay","ViewDataGeneratorDay","calculateStartViewDate","validStartViewDate","isFirstCellInMonthWithIntervalCount","DAY_IN_MILLISECONDS","ViewDataGeneratorMonth","isCurrentDate","isOtherMonth","_minVisibleDate","_maxVisibleDate","viewStart","firstMonthDate","nextMonthDate","alignedFromDate","alignToFirstDayOfWeek","alignedToDate","DAYS_IN_WEEK","alignToLastDayOfWeek","weekCount","msDiff","MS_IN_DAY","calculateDaysBetweenDates","calculateAlignedWeeksBetweenDates","ViewDataGeneratorTimelineMonth","ViewDataGeneratorWeek","isDataOnWeekend","getWeekendsCount","ViewDataGeneratorWorkWeek","MONDAY_INDEX","getViewDataGeneratorByViewType","dayDiff","ViewDataProvider","_groupedDataMapProvider","isGenerateNewViewData","dateHeaderDataGenerator","timePanelDataGenerator","_transformRenderOptions","isGenerateTimePanelData","updateViewData","createGroupedDataMapProvider","viewDataMapWithSelection","restOptions","actualColumnIndex","rowsPerGroup","_getRowCountWithAllDayRows","isShowAllDayPanel","firstRowInGroup","lastRowInGroup","correctedFirstRow","correctedLastRow","getCellCountWithGroup","findGlobalCellPosition","currentAllDay","_compareDatesAndAllDay","cellStartDate","cellEndDate","trimmedTime","includedDays","lastCellStart","daysAfterView","getViewEdgeIndices","getGroupEdgeIndices","isSameCell","firstCellData","secondCellData","firstAllDay","secondStartDate","secondGroupIndex","secondAllDay","getLastViewDate","getLastCellEndDate","lastCellEndDate","endDateOfLastViewCell","_adjustEndDateByDaylightDiff","allDayRowCount","getViewOptions","tableCreatorModule","WORKSPACE_VERTICAL_GROUP_TABLE_CLASS","TIME_PANEL_CELL_CLASS","ALL_DAY_PANEL_CLASS","ALL_DAY_TABLE_CLASS","ALL_DAY_TITLE_CLASS","ALL_DAY_TABLE_CELL_CLASS","WORKSPACE_WITH_MOUSE_SELECTION_CLASS","HORIZONTAL_SIZES_CLASS","VERTICAL_SIZES_CLASS","GROUP_HEADER_CLASS","DATE_TABLE_DROPPABLE_CELL_CLASS","SCHEDULER_WORKSPACE_DXPOINTERDOWN_EVENT_NAME","DragEventNames","DROP","LEAVE","SCHEDULER_CELL_DXCLICK_EVENT_NAME","SCHEDULER_CELL_DXPOINTERDOWN_EVENT_NAME","SCHEDULER_CELL_DXPOINTERUP_EVENT_NAME","SCHEDULER_CELL_DXPOINTERMOVE_EVENT_NAME","CELL_DATA","DRAG_AND_DROP_SELECTOR","CELL_SELECTOR","DEFAULT_WORKSPACE_RENDER_OPTIONS","renderComponents","timePanel","generateNewData","createDragBehaviorConfig","isDefaultDraggingMode","enableDefaultDragging","disableDefaultDragging","getDroppableCell","getDateTables","isItemDisabled","appointmentIndex","isWideAppointment","isNarrowAppointment","dragElementContainer","isMoveUnderControl","dateTables","droppableCell","cellsSelectionState","_cellsSelectionState","selectedCellsOption","validSelectedCells","_getGroupIndexByResourceId","cellsSelectionController","_cellsSelectionController","_isShowAllDayPanel","verticalGroupTableClass","renovatedHeaderPanelComponent","dxrDateHeader","selectedCellsElement","_getCellByData","onArrowPressed","_isRTL","_isHorizontalGroupedWorkSpace","nextCellData","_processNextSelectedCell","_moveToCell","_getFullCellData","nextCellPosition","_dom_getAllDayPanelCell","_dom_getDateCell","isNextCellAllDay","_setSelectedCellsStateAndUpdateSelection","$nextFocusedCell","nextCellCoordinates","updateCellsSelection","_updateSelectedCellDataOption","_hasAllDayClass","_isCellClick","_contextMenuHandled","generateRenderOptions","_isWorkSpaceWithCount","_isWorkspaceWithOddCells","createRAllDayPanelElements","_$allDayTitle","_$headerPanelEmptyCell","_dateTableScrollableConfig","_groupedStrategy","_needCreateCrossScrolling","_createCrossScrollingConfig","currentOnScroll","_scrollSync","sidebar","_headerScrollableConfig","_updateGroupTableHeight","_setTableSizes","_attachTableClasses","_getTotalCellCount","_$headerPanel","_$dateTable","_$allDayTable","_attachHeaderTableClasses","updateHeaderEmptyCellWidth","_getElementClass","isRenovatedRender","renovatedRenderSupported","_isVirtualModeOn","_initVirtualScrolling","_getVirtualScrollingDispatcherOptions","onDataSourceChanged","_getDefaultGroupStrategy","_getToday","_getFormat","_setHorizontalGroupHeaderCellsHeight","_isRenderHeaderPanelEmptyCell","timePanelWidth","groupPanelWidth","_isGroupsSpecified","resourceTree","_getGroupIndexRecursively","currentKey","_getViewStartByOptions","_calculateViewStartDate","_getHeaderDate","_firstDayOfWeek","cellSelector","_handleSelectedCellsClick","_getCoordinatesByCell","isAllDayCell","lastCellData","_createContextMenuAction","_contextMenuAction","_getGroupHeaderContainer","_$groupTable","_getDateHeaderContainer","_getCalculateHeaderCellRepeatCount","_headerScrollable","_sidebarScrollable","_getTimePanelRowCount","_getCellCountInDay","_getTotalRowCount","includeAllDayPanelRows","_getGroupIndex","_attachTablesEvents","_attachDragEvents","_attachPointerEvents","_detachDragEvents","_isOutsideScrollable","preventDefaultDragging","isPointerDown","getWorkArea","_$dateTableContainer","getGroupedScrollableScrollTop","getScrollableScrollLeft","getHeaderPanelHeight","_$timePanel","_getCellCoordinatesByIndex","_getDateGenerationOptions","_getIntervalBetween","startDayTime","timeZoneOffset","fullInterval","_getDaysOfInterval","weekendsCount","_getWeekendsCount","_updateIndex","_getDroppableCell","_getDateTables","_getCellByCoordinates","_getCells","_getFirstAndLastDataTableCell","_getAllCells","_getGroupHeaderCells","_getScrollCoordinates","$dateTableScrollableElement","isTargetInAllDayPanel","isOutsideHorizontalScrollable","isOutsideVerticalScrollable","setCellDataCache","aliasKey","keepOriginalHours","_filterCellDataFields","_getDataByCell","_getVirtualRowOffset","_getVirtualCellOffset","getCellIndexByDate","timeInterval","$droppableCell","getDataByDroppableCell","getEndViewDateByEndDayHour","groupBounds","VerticalGroupedStrategy","getGroupBoundsVertical","getGroupBoundsHorizontal","getGroupBoundsRtlCorrection","$firstAndLastCells","getCellDataByCoordinates","getVisibleBounds","scrolledCellCount","needUpdateScrollPosition","_getCellsInViewport","currentResult","scrollableScrollTop","scrollableScrollLeft","fullScrolledRowCount","scrolledRowCount","fullScrolledColumnCount","scrolledColumnCount","scrollToTime","_isValidScrollDate","throwWarning","isScrollToAllDay","xShift","yShift","needApplyCollectorOffset","_getTimePanelCells","_getRDateTableProps","correctedSelectedCellData","_getDateTableDOMElementsInfo","_getAllDayPanelDOMElementsInfo","dateTableCells","_getDateTable","dateTableRect","_addCellMetaData","allDayCells","allDayAppointmentContainer","allDayPanelRect","cellMetaDataArray","parentRect","cellRect","_oldRender_getAllDayCellData","renderRWorkSpace","renderRHeaderPanel","renderRTimeTable","renderRDateTable","renderRAllDayPanel","dxrDateTableLayout","renderRGroupPanel","_attachGroupCountClass","dxrGroupPanel","_detachGroupCountClass","_toggleAllDayVisibility","dxrAllDayPanelTable","dxrAllDayPanelTitle","dxrTimePanelTableLayout","initDragBehavior","_createDragBehavior","allDayExpanded","allowMultipleCellSelection","renovateRender","draggingMode","onScrollEnd","onRenderAppointments","onShowAllDayPanel","onSelectedCellsClick","schedulerHeight","schedulerWidth","_cleanWorkSpace","_cleanView","_removeAllDayElements","_initGrouping","_initGroupedStrategy","_createAllDayPanelElements","_toggleGroupByDateClass","_changeAllDayVisibility","_toggleWorkSpaceCountClass","_toggleHorizontalScrollClass","updateShowAllDayPanel","isHiddenAllDayPanel","_toggleGroupedClass","_toggleWorkSpaceWithOddCells","_renderView","_initPositionHelper","groupedStrategy","_toggleGroupingDirectionClass","HorizontalGroupedStrategy","_getDateTableCellClass","_getGroupHeaderClass","_initWorkSpaceUnits","_$headerPanelContainer","_$headerTablesContainer","_$fixedContainer","_$allDayContainer","_$dateTableScrollableContent","_$sidebarScrollableContent","_initAllDayPanelElements","_allDayTitles","_allDayTables","_allDayPanels","_initDateTableScrollable","$dateTableScrollable","_createWorkSpaceElements","_createWorkSpaceScrollableElements","_createWorkSpaceStaticElements","_appendHeaderPanelEmptyCellIfNecessary","_$flexContainer","_createHeaderScrollable","_createSidebarScrollable","$headerScrollable","$timePanelScrollable","_addTableClass","_renderDateTimeIndication","_setIndicationUpdateInterval","_applyCellTemplates","_renderGroupHeader","VerticalShader","renderCurrentDateTimeLineAndShader","renderCurrentDateTimeIndication","_getDateHeaderTemplate","isUpdateScrollable","_cleanTableWidths","_$sidebarTable","_disposeRenovatedComponents","renovatedAllDayPanel","renovatedDateTable","renovatedTimePanel","renovatedGroupPanel","renovatedHeaderPanel","getFixedContainer","getAllDayContainer","$allDayTitle","_renderDateHeader","_renderTimePanel","_renderGroupAllDayPanel","_renderDateTable","_renderAllDayPanel","groupRows","_makeGroupRows","tableCreatorStrategy","_columnIndex","_templateIndex","_renderDateHeaderTemplate","templateIndex","panelCellIndex","validTemplateIndex","_getHeaderPanelCellClass","_getGroupsForDateHeaderTemplate","indexMultiplier","_renderTableBody","_getAllDayPanelCellClass","_getTimeCellClass","_insertAllDayRowsIntoDateTable","fullValue","delayCellTemplateRendering","GROUP_TABLE_CLASS","SchedulerAgenda","WorkSpace","_startViewDate","_recalculateAgenda","_initGroupTable","validCurrentDate","_rowsIsEmpty","_renderNoData","_setGroupHeaderCellsHeight","_$noDataContainer","_removeEmptyRows","_getGroupRowHeight","createReducedResourcesTree","getGroupHeaderContentClass","cellTextElement","contentWrapper","_cleanCellDataCache","isIndicationAvailable","_prepareCellTemplateOptions","groupsOpt","isGroupedView","cellTemplateOpt","_$rows","fillTableBody","rowSize","cellDateNumber","cellDayName","$td","getStartDate","_setLastRowClass","_getTimePanelStartDate","baseHeight","_calculateRows","startDateHour","startDateMinutes","isUpdateNeeded","_setSelectedCellsByCellData","validIndex","TimelineDateHeaderLayout","isWeekDayRow","validLeftVirtualCellCount","validRightVirtualCellCount","validRightVirtualCellWidth","validLeftVirtualCellWidth","TimelineHeaderPanelLayout","TimelineHeaderPanelLayoutComponent","isFirstShader","_customizeGroupedByDateShader","_customizeShader","_applyShaderWidth","indicationWidth","shaderLeft","getIndicationCellCount","fractionPart","isFirstShaderPart","SCHEDULER_DATE_TIME_INDICATOR_CLASS","TIME_PANEL_CURRENT_TIME_CELL_CLASS","SchedulerWorkSpaceIndicator","SchedulerWorkSpace","isIndicationOnView","isIndicatorVisible","groupedByDate","_createIndicator","_getRtlOffset","_clearIndicatorUpdateInterval","_indicatorInterval","_isVerticalShader","_getIndicatorDuration","timeDiff","_cleanDateTimeIndicator","_isCurrentTimeHeaderCell","_getCurrentTimePanelCellIndices","cellIndices","rowCountPerGroup","currentTimeRowIndex","verticalGroupCount","currentIndices","_setCurrentTimeCells","timePanelCells","timePanelCellIndex","_cleanCurrentTimeCells","HEADER_PANEL_CELL_CLASS","HEADER_PANEL_WEEK_CELL_CLASS","SchedulerTimeline","dxrTimelineDateHeader","_getWorkSpaceHeight","timelineConfig","_needRenderWeekHeader","_incrementDate","_getTimeDiff","_calculateDurationInCells","_getIndicationFirstViewDate","dayLightOffset","_getWorkSpaceMinHeight","workspaceContainerHeight","firstViewDateTime","apptStart","fullDays","tailDuration","tailDelta","gapBeforeAppt","groupCellTemplates","HorizontalShader","currentTimeColumnIndex","cellsInGroup","$th","SchedulerTimelineDay","SchedulerTimelineMonth","SchedulerTimelineWeek","_getHeaderPanelCellWidth","SchedulerTimelineWorkWeek","SchedulerWorkSpaceDay","SchedulerWorkSpaceVertical","MonthDateTableCell","MonthDateTableLayout","MonthDateTableLayoutComponent","SchedulerWorkSpaceMonth","averageWidth","dxrMonthDateTableLayout","_setMonthClassesToCell","SchedulerWorkSpaceWeek","calculateViewStartDate","startDateOption","validFirstDayOfWeek","SchedulerWorkSpaceWorkWeek","WIDGET_CLASS","WIDGET_SMALL_CLASS","WIDGET_ADAPTIVE_CLASS","WIDGET_READONLY_CLASS","DEFAULT_APPOINTMENT_TEMPLATE_NAME","VIEWS_CONFIG","StoreEventNames","RECURRENCE_EDITING_MODE","appointmentCollectorTemplate","appointmentTooltipTemplate","appointmentPopupTemplate","_draggingMode","_appointmentTooltipOffset","_appointmentTooltipButtonsPosition","_appointmentTooltipOpenButtonText","_appointmentCountPerCell","_appointmentOffset","defaultElement","_filteredItems","_preparedItems","currentTimeZone","_timeZoneCalculator","span","_postponeDataSourceLoading","_postponeResourceLoading","whenLoaded","resolveCallbacks","_updateOption","_header","_filterAppointmentsByDate","_getCurrentViewOptions","_validateDayHours","_validateCellDuration","_allowDragging","_refreshWorkSpace","_headerConfig","updateInstances","_createAppointmentPopupForm","_getAppointmentRenderedAction","_appointmentTooltip","_readyToRenderAppointments","_getAppointmentsToRepaint","_initEditing","_bringEditingModeToAppointments","_cleanPopup","_updateExpression","_initAppointmentTemplate","_toggleAdaptiveClass","_isHorizontalVirtualScrolling","editingConfig","allowDelete","_isAgenda","_supportAllDayResizing","_isAllDayExpanded","contentReadyBase","fireContentReady","_workSpaceRecalculation","isFixedHeight","isFixedWidth","_toggleSmallClass","_appointmentPopup","_initAllDayPanel","_initExpressions","_customizeDataSourceLoadOptions","_asyncTemplatesTimers","_dataSourceLoadedCallback","_subscribes","createAppointmentDataProvider","appointmentTooltip","dropDownAppointment","createGetter","_updatePreparedItems","getPreparedDataItems","_recurrenceRule$match","comparableStartDate","comparableEndDate","currentViewOptions","_filterAppointments","dxrAppointmentLayout","renderAppointments","appointmentsMap","exprObj","_recurrenceDialog","hideAppointmentPopup","_renderMainContainer","AppointmentLayoutManager","AppointmentCollection","_appointmentsConfig","_getAppointmentTooltipOptions","_isDataSourceLoaded","_initMarkupCore","_appointmentForm","createAppointmentForm","createAppointmentPopup","_mainContainer","getResourceByField","_createResourceEditorModel","_processActionResult","resourceItem","getWorkSpaceScrollableContainer","deletingOptions","fireOnAppointmentDeleting","processDeleteAppointment","_getExtraAppointmentTooltipOptions","_cleanWorkspace","_renderWorkSpace","_waitAsyncTemplate","_validateKeyFieldIfAgendaExist","countConfig","getAgendaResourceProcessor","getAppointmentDataProvider","_isDateAndTimeView","getCollectorOffset","getAppointmentDurationInMinutes","_getCurrentViewType","$workSpace","workSpaceComponent","workSpaceConfig","_workSpaceConfig","_all","_recalculateWorkspace","_getViewByName","horizontalVirtualScrollingAllowed","getFilteredItems","showAddAppointmentPopup","_isRenovatedRender","getWorkSpaceScrollable","getHeader","singleAppointment","isDeleted","_excludeAppointmentFromSeries","_showRecurrenceChangeConfirm","newRawAppointment","excludeFromRecurrence","singleRawAppointment","_editAppointmentData","_createRecurrenceException","_getSerializedDate","seriesText","occurrenceText","customDialog","getConvertedFromGrid","getTargetCellData","resultedStartDate","timeInMs","resultedEndDate","dateCopy","rawResult","setResourceToAppointment","resourcesSetter","rawTargetedAppointment","setTargetedAppointmentResources","displayStartDate","displayEndDate","onUpdatePrevented","updatingOptions","performFailAction","_expandAllDayPanel","storeAppointment","_onDataPromiseCompleted","actionOptions","resolveCallback","handlerName","getActions","dayTimeStamp","startDateTimeStamp","endDateTimeStamp","setResourceCallback","apptSettings","resultAppointment","createNewAppointment","newRawTargetedAppointment","newTargetedAppointment","isCreateAppointment","createPopupAppointment","saveChanges","_getAppointmentColor","currentAppointmentData","serializedAppointment","addingOptions","deleteAppointment","deleteRecurrence","hasAgendaView","isKeyExist","SCROLLVIEW_PULLDOWN_REFRESHING_CLASS","SCROLLVIEW_PULLDOWN_READY_CLASS","_$topPocket","_$pullDown","_$refreshingText","_$scrollViewContent","_initCallbacks","pullDownCallbacks","releaseCallbacks","reachBottomCallbacks","_renderPullDown","_releaseState","$loadContainer","$loadIndicator","_$pullDownText","_$pullingDownText","_$pulledDownText","_refreshPullDownText","pullDownTextItems","visibleState","_setTopPocketOffset","_topPocketSize","contentEl","containerEl","_bottomBoundary","_allowedDirections","allowedDirections","_pullDownEnabled","handleEnd","_complete","handleStop","_setPullDownOffset","_pullDownRefreshTimeout","_pullDownRefreshing","handleScroll","currentLocation","scrollDelta","_isPullDown","_pullDownReady","_isReachBottom","_reachBottom","_stateReleased","_reachBottomEnabled","pullDownEnable","reachBottomEnable","pendingRelease","_releaseTimeout","_updateAction","SCROLLVIEW_PULLDOWN_DOWN_LOADING_CLASS","_releasePullDown","handleInit","_startClientY","_deltaY","_movePullDown","pullDownHeight","_getPullDownHeight","_getPullDownStartPosition","_pullDownRefreshHandler","_refreshPullDown","ScrollViewScroller","Scroller","_bottomPocketSize","_direction","_$bottomPocket","_updateScrollbar","_scrollbar","_containerSize","scaleRatio","_getScaleRatio","_moveContent","_reachBottomReady","_moveScrollbar","_scrollComplete","_inBounds","_reachBottomLoading","_minOffset","_getMinOffset","_getMaxOffset","_maxOffset","_releaseHandler","_moveToBounds","_releaseTask","_release","_reachBottomEnablingHandler","_pullDownEnablingHandler","_considerTopPocketChange","_updateHandler","_pendingReleaseHandler","SimulatedStrategy","_createScroller","scroller","_scrollers","_scrollerOptions","$topPocket","$bottomPocket","$pullDown","$pullDownText","$pullingDownText","$pulledDownText","$refreshingText","SCROLLVIEW_CLASS","SCROLLVIEW_CONTENT_CLASS","SCROLLVIEW_TOP_POCKET_CLASS","SCROLLVIEW_BOTTOM_POCKET_CLASS","SCROLLVIEW_PULLDOWN_CLASS","SCROLLVIEW_REACHBOTTOM_CLASS","SCROLLVIEW_REACHBOTTOM_INDICATOR_CLASS","SCROLLVIEW_REACHBOTTOM_TEXT_CLASS","SCROLLVIEW_LOADPANEL","refreshStrategies","pullDown","PullDownStrategy","swipeDown","SwipeDownStrategy","simulated","scrollViewServerConfig","refreshStrategy","_loadingIndicatorEnabled","_initScrollableMarkup","_initTopPocket","_initBottomPocket","_initLoadPanel","$reachBottom","_$reachBottom","_$reachBottomText","_updateReachBottomText","$loadPanelElement","_createStrategy","strategyClass","_reachBottomHandler","_createActions","_pullDownAction","_reachBottomAction","_tryRefreshPocketState","_pullDownEnable","_reachBottomEnable","_pullDownLoading","preventReachBottom","showOrHide","_lock","_unlock","_finished","_stopped","_proxiedStepCore","_stepCore","_stepAnimationFrame","_isStopped","_isFinished","SCROLLABLE_NATIVE","SCROLLABLE_NATIVE_CLASS","_useSimulatedScrollbar","_isLocked","_isDirection","_allowedDirection","_isRtlNativeStrategy","_isScrollbarVisible","_renderScrollbars","updateRtlPosition","_moveScrollbars","_scrollbars","_hideScrollbarTimeout","_renderScrollbar","Scrollbar","expandable","handleStart","handleCancel","_eachScrollbar","createActions","_createActionArgs","_eventForUserAction","_getScrollOffset","reachedLeft","_isReachedRight","_isReachedLeft","reachedRight","reachedTop","_normalizeOffsetLeft","_hideScrollbars","disabledChanged","_updateScrollbars","_componentContentSize","scrollableNativeRegexp","_removeScrollbars","_isScrolledInMaxDirection","SCROLLABLE","SCROLLABLE_CLASS","BOTH","onBounce","inertiaEnabled","_setUseSimulatedScrollbar","_updateRtlPosition","_savedScrollOffset","_renderStrategy","_renderDisabledState","needInitializeRtlConfig","initEventData","_initHandler","_updateIfNeed","_resetInactiveDirection","inactiveProp","_getInactiveProp","_updateAllowedDirection","_allowedDirectionValue","_applyScaleRatio","elementInsideContent","elementIsInsideContent","additionalOffset","inverseProp","containerOffsetSize","containerClientSize","relativeElementOffset","containerScrollOffset","relativeStartOffset","relativeEndOffset","getElementLocationInternal","hoveredScrollable","activeScrollable","SCROLLABLE_SIMULATED","SCROLLABLE_SIMULATED_CURSOR","SCROLLABLE_SIMULATED_KEYBOARD","SCROLLABLE_SIMULATED_CLASS","ACCELERATION","BOUNCE_FRAMES","BOUNCE_ACCELERATION_SUM","InertiaAnimator","VELOCITY_LIMIT","_velocity","_scrollStep","_acceleration","BounceAnimator","MIN_VELOCITY_LIMIT","_crossBoundOnNextStep","_bounceLocation","_initAnimators","_initScrollbar","_topReached","_bottomReached","_axis","_prop","_dimension","_scrollProp","_inertiaAnimator","_bounceAnimator","_scrollByThumb","visibilityMode","_visibilityModeNormalize","_scrollbarVisible","_$scrollbar","prevLocation","_suppressBounce","_bounceEnabled","_boundLocation","_moveContentByTranslator","_scaleRatio","realDimension","_getRealDimension","baseDimension","_getBaseDimension","translateOffset","_maxScrollPropValue","_translateOffset","_hideScrollbar","_scrollToBounds","_bounceAction","_setupBounce","bounceDistance","nextLocation","_stopScrolling","_prepareThumbScrolling","scrollbarClicked","_isScrollbar","_moveToMouseLocation","_thumbScrolling","_isThumb","_crossThumbScrolling","_isAnyThumbScrolling","feedbackOn","_isThumbScrollingHandler","mouseLocation","_containerToContentRatio","_showScrollbar","_moveHandler","_scrollByHandler","containerToContentRatio","_endHandler","_inertiaHandler","_resetThumbScrolling","_suppressInertia","_inertiaEnabled","_stopHandler","_disposeHandler","_resetScaleRatio","_updateLocation","baseContainerSize","baseContentSize","locationChanged","_createActionsHandler","bounce","isOverflowHidden","containerScrollSize","_validateEvent","isThumb","_reachedMin","_reachedMax","_cursorEnterHandler","cursorEnter","_cursorLeaveHandler","cursorLeave","_createScrollers","_attachKeyboardHandler","_attachCursorHandlers","scrollbarVisible","isAnyThumbScrolling","_getPropByDirection","isThumbScrollingVertical","isThumbScrollingHorizontal","_suppressDirections","_eachScroller","_isContent","_validDirections","_startAction","_saveActive","_resetActive","_adjustDistance","_tryGetDevicePixelRatio","_refreshCursorState","_endAction","_updateRtlConfig","addEventNamespace","_updateHandlerTimeout","_scrollByLine","_scrollByPage","_scrollToHome","_scrollToEnd","_wheelProp","_dimensionByProp","_createActionHandler","_createScrollerActions","scrollerX","scrollerY","_scrollOffset","_isHoverMode","_hoverHandled","targetScrollable","touchDirection","verticalScroller","horizontalScroller","_isHorizontalAndRtlEnabled","_rtlConfig","scrollRight","windowPixelRatio","_getWindowDevicePixelRatio","skipUpdating","_validateWheel","_wheelDirection","reachedMin","reachedMax","contentGreaterThanContainer","locatedNotAtBound","scrollFromMin","scrollFromMax","_validateWheelTimer","SCROLLBAR","SCROLLABLE_SCROLLBAR_CLASS","SCROLLABLE_SCROLLBAR_ACTIVE_CLASS","SCROLLBAR_VISIBLE","activeScrollbar","_isHovered","_renderThumb","_attachPointerDownHandler","_$thumb","feedbackOff","_needScrollbar","_adjustVisibility","_baseContainerToContentRatio","scrollBarLocation","_calculateScrollBarPosition","_thumbRatio","_realContainerToContentRatio","thumbSize","_normalizeSize","readyCallback","SELECTBOX_POPUP_WRAPPER_CLASS","clearSelectBox","_valueSubstituted","_preventFiltering","_savedTextRemoveEvent","_preventSubstitution","searchIfNeeded","_cancelSearchIfNeed","_setNextValue","_cancelEditing","isOpened","isCustomText","customItem","allowClearing","tooltipEnabled","displayCustomValue","_initCustomItemCreatingAction","_focusListElement","_focusSelectedElement","_items$indexOf","$listItems","_isCustomItemSelected","_renderFocusedElement","_preventInputValueRender","_renderInputValueAsync","_renderInputValueImpl","_setNextItem","hasPages","isLastItem","isUnknownItem","_getSelectionChangeHandler","_listFocusedItemChangeHandler","addedItem","_getActualSearchValue","_shouldClearFilter","_restoreInputText","_wasSearch","_isValueEqualInputText","initialSelectedItem","_shouldCancelSearch","saveEditingValue","_isValueChanging","_createCustomItem","_clearTextValue","newSelectedItem","_valueChangeEventIncludesBlur","_getValueChangeEventOptionName","_isPreventedFocusOutEvent","_isOverlayNestedTarget","isOverlayTarget","isPopupVisible","_shouldCancelSearchValue","selectedItemText","$listFocused","_shouldCloseOnItemClick","_completeSelection","_customItemAddedHandler","_customItemCreatingAction","_setCustomItem","_wasSearchValue","_renderInputSubstitution","currentSearchLength","inputHasSelection","isLastSymbolSelected","_shouldSubstitutionBeRendered","_refreshFocusEvent","SelectionStrategy","_clearItemKeys","getSelectableItems","_removeTemplateProperty","remoteFilter","_loadFilteredData","localFilter","filterLength","encodeURI","needLoadAllData","updateSelectedItemKeyHash","keyHashIndices","_isAnyItemSelected","_getFullSelectAllState","dataFilter","selectedItemsLength","disabledItemsLength","_getVisibleSelectAllState","hasSelectedItems","hasUnselectedItems","isItemKeySelected","DeferredStrategy","_addSelectionFilter","removeSelectedItem","addSelectedItem","isItemDataSelected","keyField","_normalizeKey","_getFilterByKey","_findSubFilter","filterString","subFilter","_isLastSubFilter","_addFilterOperator","filterOperator","_denormalizeFilter","_isOnlyNegativeFiltersLeft","_selectionFilter","needAddFilter","removedIndex","_removeSameFilter","filterIndex","isKeyOperatorsAfterRemoved","_isKeyFilter","_hasKeyFiltersOnlyStartingFromIndex","_normalizeFilter","_removeFilterByIndex","_isSimpleKeyFilter","_filterIndex","componentFilter","StandardStrategy","_initSelectedItemKeyHash","_preserveSelectionUpdate","keyIndicesToRemoveMap","isBatchDeselect","_batchRemoveSelectedItems","_loadSelectedItemsCore","selectionFilterCreator","deselectedItems","_replaceSelectionUpdate","internalKeys","_warnOnIncorrectKeys","_isMultiSelectEnabled","_requestInProgress","_this$_lastLoadDeferr","_lastLoadDeferred","_concatRequestsItems","oldRequestItems","updatedKeys","_collectLastRequestData","isDeselectAll","multiSelectEnabled","lastRequestData","_lastRequestData","_shouldMergeWithLastRequest","_updateKeysByLastRequestData","_this$_lastRequestDat","_this$_lastRequestDat2","currentKeys","_loadSelectedItems","disabledItemKeys","_getKeyHash","_indexOfSelectedItemKey","_getSelectedIndexByKey","ignoreIndicesMap","_getSelectedIndexByHash","_shiftSelectedKeyIndices","currentKeyIndex","currentKeyHash","currentKeyIndices","keyIndices","_updateAddedItemKeys","_updateRemovedItemKeys","oldSelectedKeys","oldSelectedItems","_isItemSelectionInProgress","_this$_lastRequestDat3","visibleOnly","_selectionStrategy","deferredStrategy","standardStrategy","filterIsChanged","_keys","_addSelectedItem","_removeSelectedItem","_setSelectedItems","_this$options$allowLo","_this$options","isSelectedItemsChanged","focusedItemNotInLoadedRange","shiftFocusedItemNotInLoadedRange","itemIsNotInLoadedRange","_shiftFocusedItemIndex","isSelectable","changeItemSelectionWhenShiftKeyInVirtualPaging","changeItemSelectionWhenShiftKeyPressed","_resetItemSelectionWhenShiftKeyPressed","clearSelectedItems","_resetFocusedItemIndex","itemIndexStep","indexOffsetDefined","focusedData","focusedKey","isFocusedItemSelected","isOnePage","_onePageSelectAll","FOCUS_DISABLED_CLASS","GRID_ROW_SELECTOR","GRID_CELL_SELECTOR","TREELIST_ROW_SELECTOR","TREELIST_CELL_SELECTOR","viewItemSelectorMap","columnHeaders","isMouseDown","isHiddenFocusing","focusedElementInfo","getActiveAccessibleElements","viewInstance","$viewElement","findFocusedViewElement","viewSelectors","onDocumentVisibilityChange","subscribeVisibilityChange","unsubscribeVisibilityChange","hiddenFocus","executeKeyDown","keyDownHandler","$mainElement","fireKeyDownEvent","processKeyDown","mouseDownHandler","focusinHandler","viewNames","viewItemIndex","_viewName","DEFAULT_DATE_INTERVAL","DEFAULT_DATETIME_INTERVAL","dateIntervals","getFilterSelector","getFilterExpressionByRange","endFilterValue","startFilterExpression","endFilterExpression","getFilterExpressionForDate","dateStart","dateEnd","getFilterExpressionForNumber","isSearchByDisplayValue","hasSimpleItems","isCorrectStructure","innerItem","getResultConfig","checkEnterBug","getTextEditorConfig","isEnterBug","needDelayedUpdate","isInputOrKeyUpEvent","updateValue","valueChangeTimeout","prepareDateBox","editorName","prepareTextBox","isSearching","prepareNumberBox","prepareLookupEditor","_options$editorType","selectBox","stopWatch","prepareCheckBox","prepareCustomEditor","prepareEditor","prepareDefaultEditor","dxDateBox","_prepareDefaultEditor","editorElement","showValidationMark","defaultEnterKeyHandler","dxTextArea","SLIDER_LABEL_CLASS","SLIDER_LABEL_POSITION_CLASS_PREFIX","SLIDER_TOOLTIP_POSITION_CLASS_PREFIX","SLIDER_VALIDATION_NAMESPACE","roundedValue","isLeftDirection","remainder","_getValueExponentLength","_roundToExponentLength","showMode","_toggleValidationMessage","_renderLabels","_renderStartHandler","_renderAriaMinAndMax","focusInEvent","focusOutEvent","$focusTarget","_repaintHandle","wavesNumber","_renderInkWave","waveIndex","wave","_itemWidthFunc","_renderRange","_renderRangeVisibility","_$handle","labelFormat","_$minLabel","_$maxLabel","pointerDownEventName","clickName","startAction","_itemWidthRatio","_feedbackDeferred","_isSingleValuePossible","valueExponentLength","stepCount","_this$_actualValue","_fitTooltip","SLIDER_TOOLTIP_POSITION_ALIASES","SLIDER_TOOLTIP_DEFAULT_BOUNDARY_OFFSET","SliderTooltipPositionController","$sliderHandle","sliderClass","$slider","_fitIntoSlider","_attachToMarkup","_toggleShowModeClass","_renderContentText","formattedText","isHoverMode","$sliderTooltip","_sliderTooltip","SliderTooltip","_updateTooltipOptions","_this$_sliderTooltip","_this$_sliderTooltip2","updateTooltipPosition","_this$_sliderTooltip3","_this$_sliderTooltip4","PLACEHOLDER_CLASS","_sourceScrollHandler","_handleSourceScroll","_sourceScrollableInfo","onPlaceholderPrepared","dropInsideItem","itemPoints","fromIndexOffset","autoUpdate","draggableElementSize","_$placeholderElement","_isIndicateMode","_$modifiedItem","_modifiedItemMargin","_getPrevVisibleItem","_updateItemPoints","_subscribeToSourceScroll","_getElementIndex","_unsubscribeFromSourceScroll","sourceScrollableInfo","scrollProp","_correctItemPoints","_movePlaceholder","lastItemPoint","_isVerticalOrientation","sourceElementSize","scrollSize","lastPointPosition","freeSize","_allowDrop","$targetDraggable","getScrollableBoundary","itemPoint","cancelAdd","cancelRemove","isSourceDraggable","_fireAddEvent","_moveItem","_fireReorderEvent","cursorPosition","_updatePlaceholderPosition","_createPlaceholder","_isValidPoint","draggableVisibleIndex","_getItemPoints","visibleItemElements","visibleItemCount","$draggableItem","needCorrectLeftPosition","needCorrectTopPosition","positionPropName","_togglePlaceholder","_normalizeToIndex","skipOffsetting","isAnotherDraggable","_getActualFromIndex","placeholderElement","_makeWidthCorrection","_$scrollable","scrollableWidth","overflowLeft","overflowRight","_updatePlaceholderSizes","$placeholderElement","$prevTargetItemElement","$targetItemElement","_moveItemCore","$fromElement","_optionChangedDropInsideItem","_optionChangedToIndex","_isPositionVisible","scrollContainer","showPlaceholder","_moveItems","_updateDragSourceClass","_makeLeftCorrection","prevVisibleItemElement","isLastVerticalPosition","outerPlaceholderHeight","_getDraggableElementSize","prevToIndex","prevPositions","SpeedDialItem","callOverlayRenderShading","_renderLabel","_$label","_isPositionLeft","_renderButtonIcon","iconClass","_getVisibleActions","_getActionComponent","actionElement","_setClickAction","clickActionArgs","_getInkRippleContainer","speedDialMainItem","modifyActionOptions","actionComponent","actionVisible","parentPosition","SpeedDialMainItem","childIndent","childOffset","_renderCloseIcon","_$closeIcon","_getCurrentOptions","visibleActions","_getPosition","_actionItems","nextAction","lastActionIndex","_getActionAnimation","_getActionPosition","_isShadingShown","actionItem","$actionElement","_getDirectionIndex","actionsHeight","_$wrapperCoveredElement","actionOffsetXValue","actionOffsetX","actionOffsetYValue","actionOffsetY","actionPositionAtMy","initAction","newAction","isActionExist","savedActions","$fabMainElement","actionId","disposeAction","SPLITTER_CLASS","SPLITTER_WRAPPER_CLASS","SPLITTER_INACTIVE_CLASS","SPLITTER_BORDER_CLASS","SPLITTER_INITIAL_STATE_CLASS","STATE_DISABLED_CLASS","SPLITTER_MODULE_NAMESPACE","eventGuid","SPLITTER_POINTER_DOWN_EVENT_NAME","SPLITTER_POINTER_MOVE_EVENT_NAME","SPLITTER_POINTER_UP_EVENT_NAME","_$leftElement","_$rightElement","_$splitterBorder","_containerWidth","needUpdatePanels","usePercentagePanelsWidth","_offsetX","_getSplitterBorderWidth","_isSplitterActive","splitterPositionLeft","_getNewSplitterPositionLeft","_leftPanelPercentageWidth","newSplitterPositionLeft","_getContainerLeftOffset","_getSplitterOffset","_getSplitterWidth","_getLeftPanelWidth","_isSplitterCalculationDisabled","_convertToPercentage","rightPanelPercentageWidth","_convertToPixels","pixelWidth","percentageWidth","SWITCH_CLASS","SWITCH_WRAPPER_CLASS","SWITCH_CONTAINER_CLASS","SWITCH_INNER_CLASS","SWITCH_HANDLE_CLASS","SWITCH_ON_VALUE_CLASS","SWITCH_ON_CLASS","SWITCH_OFF_CLASS","SWITCH_ANIMATION_DURATION","_animateValue","_animating","_renderContainers","_$switchWrapper","_renderSwitchInner","_getInnerOffset","_getHandleOffset","_$switchInner","_$switchContainer","_$labelOn","_$labelOff","_setLabelsText","_getItemSizeFunc","swipeOffset","innerOffset","_swiping","fromInnerOffset","toInnerOffset","fromHandleOffset","toHandleOffset","fromInnerConfig","toInnerConfig","fromHandleConfig","toHandlerConfig","maxOffOffset","maxOnOffset","toHandleConfig","pressed","_marginBound","TabPanelItem","_createTitleActions","_createTitleClickAction","_createTitleHoldAction","_createTitleRenderedAction","_titleClickAction","_titleHoldAction","_titleRenderedAction","_updateLayout","_tabs","_$tabContainer","$tabs","_tabConfig","tabsHeight","tabItems","$activeTab","$value","_isFocusOutHandlerExecuting","_setTabsOption","selectedTabContent","BADGE_CLASS","TABS_EXPANDED_CLASS","getScrollLeftMax","isReachedLeft","scrollOffsetLeft","epsilon","isReachedRight","TABS_STRETCHED_CLASS","TABS_NAV_BUTTONS_CLASS","TABS_ITEM_CLASS","BUTTON_NEXT_ICON","BUTTON_PREV_ICON","_renderMultiple","_deferredTemplates","_deferRenderScrolling","_renderScrolling","removeClasses","_isItemsWidthExceeded","_updateNavButtonsVisibility","_scrollToItem","_cleanScrolling","_needStretchItems","$visibleItems","itemsWidth","_leftButton","_rightButton","_createNavButton","$leftButton","$rightButton","holdAction","_holdInterval","holdEventName","pointerUpEventName","pointerOutEventName","navButton","$navButton","_clearInterval","TabsItem","TAGBOX_TAG_DATA_KEY","TAGBOX_TAG_CLASS","TAGBOX_MULTI_TAG_CLASS","TAGBOX_CUSTOM_TAG_CLASS","TAGBOX_TAG_REMOVE_BUTTON_CLASS","TAGBOX_SINGLE_LINE_CLASS","sendToList","_isCaretAtTheStart","_isTagRemoved","$tagToDelete","_$focusedTag","_tagElements","_moveTagFocus","_preserveFocusedTag","_removeTagElement","isListItemFocused","isInputActive","_isEmpty","_scrollContainer","_updateTagsContainer","_$tagsContainer","clearOnBoundary","tagElements","$nextFocusedTag","_replaceFocusedTag","_clearTagFocus","_focusClassTarget","_getScrollPosition","_getBorderPosition","_getFocusedTagPosition","isScrollLeft","tagTemplate","_selectedItems","_initSelectAllValueChangedAction","_initMultiTagPreparingAction","_multiTagPreparingAction","_multiTagPreparingHandler","selectedCount","_data$text","$tagContent","_toggleSubmitElement","$options","useDisplayText","_tagElementsCache","isSingleLineMode","_initTagTemplate","_renderTagRemoveAction","_renderSingleLineScroll","_tagTemplate","isDefaultFieldTemplate","tagRemoveAction","_removeTagHandler","mouseWheelEvent","isMultiline","_tagContainerMouseWheelHandler","allowScroll","_isControlKey","_renderPreventBlurOnInputClick","_renderMultiSelect","_selectAllValueChangeAction","_setListDataSourceFilter","_renderInputSize","_renderTags","shouldClearFilter","isEmptyInput","canTypeText","$calculationElement","_updateWidgetHeight","_multiTagRequired","_renderMultiTag","$tag","multiTagElement","_getFilter","filterQueryLength","_getFilteredItems","_this$_loadFilteredIt","_loadFilteredItemsPromise","FilterCreator","listSelectedItems","isListItemsLoaded","clientFilterFunction","selectedItemsAlreadyLoaded","_isDataSourceChanged","mappedItems","_createTagsData","isValueExprSpecified","filteredValues","filteredItem","filteredItemValue","loadItemPromises","_createTagData","_isGroupedData","_getItemsByValues","_getFilteredGroupedItems","_filteredGroupedItemsLoadPromise","_loadTagsData","tagData","isPlainDataUsed","_shouldGetItemsFromPlain","_valuesToUpdate","_getItemsFromPlain","_renderTagsImpl","_renderTagsCore","_renderEmptyState","_getSelectedItemsFromList","_filterSelectedItems","_this$_list2","_isInputReady","tagsContainer","_this$_isInputReady","_cleanTags","_renderTagsElements","$multiTag","_renderTag","_refreshTagElements","$tags","_toggleEmptiness","_applyTagTemplate","_getTag","_getItemModel","_createTag","tagsLength","_removeTagWithUpdate","_removeTag","_lastValue","removedItem","_addTag","listSelectionChangeEvent","_valueIndex","useButtons","valueIndex","indexByValues","selectedValue","lastValue","originalHeight","currentHeight","_this$_list3","_resetListDataSourceFilter","_userFilter","valueGetterExpr","_dataSourceFilterExpr","_dataSourceFilterFunction","_getSortedListValues","listValues","_getListValues","existedItems","_defaultTagTemplate","_getSelectedItemsDifference","previousItems","previousItemsValuesMap","_updateInputHeight","_createInput","_updateInputAutoResizeAppearance","_setInputMinHeight","_eventY","currentEventY","_resetDimensions","_getHeightDifference","_$textEditorContainer","autoHeightResizing","heightDifference","_getBoundaryHeight","inputHeight","adjustedMaxHeight","needScroll","isAutoResizeEnabled","ignoreKeys","SEARCHBOX_CLASS","_showClearButton","_renderSearchMode","_toggleMaxLengthProp","_getMaxLength","_renderSearchIcon","_$searchIcon","$searchIcon","_getLabelContainerWidth","_getLabelBeforeWidth","labelBeforeWidth","_updateLabelWidth","_onKeyDownCutOffHandler","actualMaxLength","_hasSelection","_cutOffExtraChar","_onChangeCutOffHandler","textInput","$placeMarker","_addPlaceMarker","_isDisabled","_shouldRender","isInputEventsL2Supported","isModernAndroidDevice","EMPTY_CHAR","BaseMaskRule","_next","_prepareHandlingArgs","_config$str","_config$start","_config$length","handlingProperty","isAccepted","isForwardDirection","_adjustedForward","_adjustedBackward","EmptyMaskRule","MaskRule","_tryAcceptChar","_accepted","_isAllowed","acceptedChar","fullText","_isAccepted","_isValid","allowedChars","StubMaskRule","hasValueProperty","nextArgs","pointerDown","ClearButton","CUSTOM_BUTTON_HOVERED_CLASS","CustomButton","ignoreParentReadOnly","_prepareIntegrationOptions","checkNamesUniqueness","existingNames","TextEditorButtonCollection","defaultButtonsInfo","_compileButtonInfo","buttonInfo","isStringButton","isDefaultButton","predefinedButtonsInfo","isPredefinedButtonName","defaultButtonInfo","buttonsInfo","renderAfterButtons","renderBeforeButtons","updateButtons","TEXTEDITOR_LABEL_CLASS","TEXTEDITOR_WITH_LABEL_CLASS","TEXTEDITOR_WITH_FLOATING_LABEL_CLASS","TEXTEDITOR_WITH_BEFORE_BUTTONS_CLASS","TEXTEDITOR_INPUT_CLASS","TEXTEDITOR_INPUT_SELECTOR","TEXTEDITOR_PLACEHOLDER_CLASS","TEXTEDITOR_VALIDATION_PENDING_CLASS","EVENTS_LIST","CONTROL_KEYS","TextEditorLabelCreator","_toggleMarkupVisibility","_$before","_$labelSpan","_$after","_updateMark","_updateText","_updateBeforeWidth","_updateMaxWidth","_updateEditorBeforeButtonsClass","_updateEditorLabelClass","beforeButtonsClass","containsButtonsBefore","_this$_props$beforeWi","beforeWidth","getBeforeWidth","_this$_props$containe","getContainerWidth","updateMode","updateText","updateMark","updateContainsButtonsBefore","updateBeforeWidth","checkButtonsOptionType","TextEditorBase","_buttonCollection","_labelContainerElement","_buttonsContainer","_updateButtonsStyling","_renderEnterKeyAction","_renderPendingIndicator","_pendingIndicator","_disposePendingIndicator","_showValidMark","_cleanButtonContainers","_unobserveLabelContainerResize","inputAttrName","inputAttributes","defaultAttributes","valid","_toggleSpellcheckState","_toggleTabIndex","buttonsBeforeWidth","_setLabelContainerAria","labelConfig","_renderPlaceholderMarkup","_attachPlaceholderEvents","_$placeholder","placeholderText","startEvent","_placeholder","isCtrlEnter","isNewValue","_cleanValueChangeEvent","valueChangeNamespace","textChangeNamespace","_focusEventTarget","_isInput","shouldPrevent","_isNestedTarget","_enterKeyAction","_enterKeyHandlerUp","BaseMaskStrategy","DIRECTION","FORWARD","editorOption","editorInput","editorCaret","getHandleEventNames","subscriptionName","getEventHandler","_attachChangeEventHandlers","_suppressCaretChanging","_changeHandler","_showMaskPlaceholder","_isValueEmpty","_adjustCaret","_maskRulesChain","_cutHandler","selectedText","_maskKeyHandler","getClipboardText","_clearDragTimer","_dragTimer","_convertToValue","_keyPressHandled","pastedText","restText","accepted","_handleChain","_autoFillHandler","inputVal","_inputHandlerTimer","_isAutoFill","_validateMask","runWithoutEventProcessing","keyPressHandled","_backspaceHandler","_delHandler","_handleKey","_backspaceHandlerTimeout","_isControlKeyFired","_inputHandler","_backspaceInputHandled","_handleBackspaceInput","afterBackspaceHandler","needAdjustCaret","currentCaret","_displayMask","_tryMoveCaretBackward","_beforeInputHandler","_prevCaret","setBackwardDirection","_updateEditorMask","_getEmptyString","_this$_prevCaret","_this$_prevCaret2","_this$_prevCaret3","setForwardDirection","updatedCharsCount","correction","stubCaret","caretUtils","TEXTEDITOR_MASKED_CLASS","FORWARD_DIRECTION","buildInMaskRules","isLiteralChar","isSpaceChar","isNumericChar","maskRules","keyHandlerMap","_maskStrategy","parentHandler","_$hiddenElement","_initMaskStrategy","InputEventsMaskStrategy","DefaultMaskStrategy","_renderHiddenElement","_attachMouseWheelEventHandlers","mouseWheelAction","_attachDropEventHandler","_removeHiddenElement","_parseMask","_renderMaskedValue","_changedValue","_maskRules","_parseMaskRule","currentMaskChar","isEscapedChar","_getMaskRule","ruleConfig","rulePattern","_normalizeChainArguments","chainArgs","_isMaskedValueMode","_shouldShowMask","submitElementValue","_getPreparedValue","handledCount","_updateMaskInfo","_replaceMaskCharWithEmpty","_textValue","keyHandler","_handleSelection","raiseInputEvent","_handleKeyChain","emptyChars","chars","caretStart","maskRuleIndex","_typingDirection","_updateHiddenElement","_updateMaskOption","_processEmptyMask","TextEditorMask","isFocusingOnCaretChange","getCaret","setCaret","scrollTopPos","scrollBottomPos","validateTarget","$activeThemeLink","knownThemes","currentThemeName","pendingThemeName","themeClasses","themeReadyCallback","viewPortValue","initDeferred","DX_LINK_SELECTOR","DX_HAIRLINES_CLASS","ANY_THEME","defaultTimeout","THEME_MARKER_PREFIX","readThemeMarker","waitForThemeLoad","waitStartTime","intervalCleared","handleLoaded","isPendingThemeLoaded","isTimeout","anyThemePending","themeMarker","newContext","initContext","$allThemeLinks","fullThemeName","processMarkup","currentThemeData","isAutoInit","_autoInit","loadCallback","desiredThemeName","desiredThemeParts","knownThemeName","themeData","knownThemeParts","resolveFullThemeName","_forceTimeout","themeNameParts","$tester","isTheme","themeRegExp","isWebFontLoaded","etalonFontWidth","testedFontWidth","waitWebFont","intervalId","autoInit","TILEVIEW_ITEM_CLASS","TILEVIEW_ITEM_SELECTOR","CONFIGS","itemMainRatio","itemCrossRatio","baseItemMainDimension","baseItemCrossDimension","mainDimension","crossDimension","mainPosition","crossPosition","_cellsPerDimension","_updateScrollView","_indicateLoadingIfAlreadyStarted","_config","crossDimensionValue","maxItemCrossRatio","_cells","_arrangeItems","_renderContentSize","actualContentSize","_itemsPositions","_arrangeItem","_itemFit","itemRatioMain","itemRatioCross","itemPositionMain","itemPositionCross","baseItemCross","baseItemMain","cssProps","offsetCorrection","itemPositionX","offsetPosition","widthRatio","subItemMargins","horizontalDirection","targetCol","newTargetIndex","outerMainGetter","itemDimension","itemTail","TOAST_CLASS","TOAST_CLASS_PREFIX","TOAST_WRAPPER_CLASS","TOAST_CONTENT_CLASS","TOAST_MESSAGE_CLASS","TOAST_ICON_CLASS","toastTypes","TOAST_STACK","POSITION_ALIASES","DEFAULT_BOUNDARY_OFFSET","_posStringToObject","_message","_toggleCloseEvents","verticalPosition","horizontalPosition","_hideTimeout","TOOLBAR_ITEMS","toggleItemFocusableElementTabIndex","_itemData$options","isItemNotFocusable","$widget","_itemInstance$_focusT","_itemData$options2","itemInstance","getItemInstance","_$focusTarget","MultiLineStrategy","_updateMenuVisibility","_renderMenuItems","_this$_toolbar$option","_$toolbarItemsContainer","labelPaddings","_hideOverflowItems","TOOLBAR_MENU_ACTION_CLASS","TOOLBAR_HIDDEN_BUTTON_GROUP_CLASS","TOOLBAR_MENU_SECTION_CLASS","TOOLBAR_MENU_LAST_SECTION_CLASS","ToolbarMenuList","_renderSections","_setMenuRole","_getSections","section","sectionName","_updateSections","$sections","$after","_item$location","isAction","DropDownMenu","_initButtonClickAction","_buttonClickAction","_toggleMenuVisibility","_getListDataSource","_areaTarget","_deferRendering","_this$_list4","_this$_list5","_updateFocusableItemsTabIndex","TOOLBAR_AUTO_HIDE_ITEM_CLASS","TOOLBAR_HIDDEN_ITEM","SingleLineStrategy","_renderOverflowMenu","_hasVisibleMenuItems","_renderMenuButtonContainer","_overflowMenuContainer","itemClickAction","renderMenuItems","_$overflowMenuContainer","_$afterSection","isMenuVisible","_isMenuItem","_getHiddenItems","_this$_toolbar$option2","_this$_restoreItems","$hiddenItems","_restoreItems","hiddenItem","$itemMarkup","overflowGetter","itemOverflow","_this$_restoreItems2","_$centerSection","overflowItems","_$beforeSection","_this$_menu","_this$_menu2","_this$_menu3","_this$_menu4","_this$_menu5","_this$_menu6","ToolbarBase","overflowMenuVisible","_isMultiline","_renderLayoutStrategy","_postProcessRenderItems","_isToolbarItem","CollectionWidgetEdit","itemDeferred","_renderItemsAsync","TOOLBAR_BEFORE_CLASS","TOOLBAR_AFTER_CLASS","TOOLBAR_LABEL_CLASS","TOOLBAR_COMPACT_CLASS","TEXT_BUTTON_MODE","AsyncCollectionWidget","rawModel","_data$options","_data$options2","_data$options$styling","_data$options3","_data$options$type","renderAs","_applyCompactMode","_updateDimensionsInMaterial","sectionClass","beforeRect","afterRect","_alignCenterSection","$section","labelOffset","widthBeforeSection","widthAfterSection","elemsAtSectionWidth","sectionMaxWidth","_alignSection","leftRect","rightRect","centerRect","_getCurrentLabelsPaddings","currentWidth","_getCurrentLabelsWidth","_alignSectionLabels","expanding","getRealLabelWidth","currentLabelWidth","labelMaxWidth","possibleLabelWidth","_item$text","itemHasText","_renderGroupedItems","_group$location","_waitParentAnimationTimeout","readyToResolve","runCheck","$labels","_contentId","_toggleAriaDescription","_rangeStylesConfig","foreachNodes","ignoreHasChildren","ColumnHeadersView","getFirstDataColumnIndex","visibleColumnsLength","firstDataColumnIndex","isFullBranchFilterMode","DataSourceAdapterTreeList","applySorting","_createKeyGetter","getKeyExpr","_createKeySetter","createParentIdGetter","createParentIdSetter","_createItemsGetter","_createHasItemsGetter","_createHasItemsSetter","_updateIndexByKeyObject","_calculateHasItems","parentIds","isFullBranch","_hasItemsGetter","_isChildrenLoaded","_fillVisibleItemsByNodes","nodeByKey","_createNodesByItems","visibleByKey","_nodeByKey","_convertDataToPlainStructure","isConverted","_parentIdSetter","_createIdFilter","parentIdFilters","expandVisibleNodes","_isReload","collapseVisibleNodes","_getParentIdsToLoad","parentIdsToLoad","_generateInfoToLoad","needChildren","keyMap","resultKeyMap","resultKeys","needToLoad","_loadParentsOrChildren","needLocalFiltering","concatLoadedData","cachedNodes","fullData","_loadParents","_loadChildrenIfNeed","_updateHasItemsMap","processedChanges","_applyInsert","_applyRemove","changesToProcess","_setHasItems","hasItemsSetter","_hasItemsSetter","baseChanges","parentKeyOf","getChildNodeKeys","_fillNodes","needToExpand","_processTreeStructure","_rootNode","_isNodesInitializing","resultData","_totalItemsCount","needLoadParents","isExpandedByKey","indexExpandedNodeKey","getNodeLeafKeys","loadDescendants","childrenOnly","_getNodeLevel","_loadOnOptionChange","TREELIST_TEXT_CONTENT","TREELIST_EXPANDED_CLASS","TREELIST_COLLAPSED_CLASS","createIcon","_renderIconContainer","_renderIcons","_renderCellCommandContent","isExpandIcon","ResizingController","origApplyState","TREELIST_EXPAND_ICON_CONTAINER_CLASS","EditingController","addRowByRowIndex","parentKeyGetter","parentIdSetter","originalRowClick","originalRowDblClick","validateClick","originalClickHandler","needToCallOriginalClickHandler","RowsViewExtender","EditingControllerExtender","oldDefaultOptions","originalDataControllerExtender","originalDataSourceAdapterExtender","originalHandleDataChanged","nodeExists","isRecursiveSelection","updateSelectionState","_selectionStateByKey","$checkbox","_getSelectAllNodeKeys","visibleKeys","hasIndeterminateState","selectedVisibleKeys","_normalizeSelectionArgs","_isSelectionNormalizing","keyboardKeys","_updateParentSelectionState","_updateChildrenSelectionState","_updateSelectionStateCore","_getSelectedParentKeys","useCash","selectedParentNode","_getSelectedChildKeys","keysToIgnore","ignoreKeyIndex","_normalizeParentKeys","parentNodeKeys","_normalizeChildrenKeys","_normalizeSelectedRowKeysCore","isSelect","_isModeLeavesOnly","_removeDuplicatedKeys","_getAllChildKeys","_getAllSelectedRowKeys","parentKeys","_getParentSelectedRowKeys","_getLeafSelectedRowKeys","isRecursive","renderSelectAll","_isFocusedRowInside","parentData","expandAscendants","NODE_CLASS","NODE_CONTAINER_CLASS","NODE_LOAD_INDICATOR_CLASS","OPENED_NODE_CONTAINER_CLASS","IS_LEAF","ITEM_WITH_CHECKBOX_CLASS","ITEM_WITHOUT_CHECKBOX_CLASS","ITEM_DATA_KEY","TOGGLE_ITEM_VISIBILITY_CLASS","LOAD_INDICATOR_CLASS","LOAD_INDICATOR_WRAPPER_CLASS","TOGGLE_ITEM_VISIBILITY_OPENED_CLASS","SELECT_ALL_ITEM_CLASS","DISABLED_STATE_CLASS","EXPAND_EVENT_NAMESPACE","DATA_ITEM_ID","_getEventNameByOption","_expandEventHandler","checkboxInstance","_getCheckBoxInstance","_updateItemSelection","toggleExpandedNestedItems","_toggleExpandedNestedItems","_showCheckboxes","asterisk","_toggleExpandedState","_encodeString","$nodeByKey","_createSelectAllValueChangedAction","_selectAllValueChangedAction","_fireSelectAllValueChanged","_checkBoxModeChange","previousSelectAllEnabled","_selectAllEnabled","previousItemsContainer","_detachClickEvent","_detachExpandEvent","selectAllExists","_$selectAllItem","_renderSelectAllItem","_attachExpandEvent","_useCustomChildrenLoader","_loadChildrenByCustomLoader","_isVirtualMode","_initVirtualMode","_isDataStructurePlain","invocationResult","_combineFilter","_removeTreeViewLoadIndicator","_treeViewLoadIndicator","_createTreeViewLoadIndicator","_updateLevel","removedKey","_markChildrenItemsToRemove","_getContainerByParentKey","_getOldContainer","_renderNodeContainer","_isRootLevel","_renderScrollableContainer","_isSingleSelection","_isRecursiveSelection","skipContentReadyAction","_skipContentReadyAndItemExpanded","_expandedGetter","_getLevel","nodeIndex","nodeData","showCheckBox","_renderCheckBox","_toggleSelectedClass","_renderChildren","_renderToggleItemVisibilityIcon","_loadSublevel","_renderSublevel","_getActualNode","_addLeafClass","cachedNode","childrenNodes","_loadNestedItems","$nestedNodeContainer","childNodesByChildrenKeys","_updateParentsState","_normalizeIconState","expandedEventName","_getNodeByElement","_decodeString","_createLoadIndicator","_updateExpandedItemsUI","_renderToggleItemVisibilityIconClick","isHiddenNode","nodeContainerExists","completionCallback","_animateNodeContainer","_loadNestedItemsWithUpdate","actualNodeData","_areNodesExists","_appendItems","keyOfRootItem","nodeHeight","_fireExpandedStateUpdatedEvent","hasNewItems","_LoadIndicator$getIns","$toggleItem","_onSelectAllCheckboxValueChanged","_toggleSelectAll","_updateItemsUI","_changeCheckboxValue","_toggleNodeDisabledState","_isLastSelectedBranch","selectedNodesKeys","_isLastRequired","isSingleMode","getSelectedNodeKeys","_fireItemSelectionChanged","needFireSelectAllChanged","nodeSelection","selectAllCheckbox","$parentNode","_createEventHandler","nodeSelector","_getItemClickEventData","_updateSelectionToFirstItem","_updateSelectionToLastItem","isSelectAllItem","_setFocusedItemTimeout","_findNonDisabledNodes","_nodeElements","prevItemElement","_getNodeItemElement","nextItemElement","_expandFocusedContainer","_collapseFocusedContainer","$focusedNode","_getClosestNonDisabledNode","nodeElement","collapsedNode","decodeURI","getSelectedNodes","_allItemsExpandedHandler","expandingPromises","allSettled","_this$_allItemsExpand","keyOrItemOrElement","nodeKeysToExpand","scrollCallback","_expandNodes","scrollToElementTopLeft","relativeOffset","keysToExpand","resultCallback","callbacksByNodes","TreeViewBase","_updateSearch","_repaintContainer","_updateDataAdapter","_getNodeContainer","_searchEditor","_getSearchEditorOptions","rootNodes","isSearchMode","selectAllEnabled","_removeSearchBox","STATUS","BaseRuleValidator","defaultMessage","defaultFormattedMessage","rulesValidators","valueArray","CustomRuleValidator","ignoreEmptyValue","extraParams","numeric","useCultureSettings","validNumber","validValue","stringLength","reevaluate","_getWrappedPromise","comparisonTarget","otherValue","comparisonType","GroupConfig","_pendingValidators","_onValidatorStatusChanged","_resetValidationInfo","_unsubscribeFromAllChangeEvents","validatorResult","_addPendingValidator","_subscribeToChangeEvents","_raiseValidatedEvent","_updateValidationInfo","_validationInfo","_unsubscribeFromChangeEvents","_removePendingValidator","_orderBrokenRules","orderedRules","foundRules","_updateBrokenRules","_resolveIfComplete","_synchronizeValidationInfo","removeRegisteredValidator","registerValidator","_$element$data","_$element$data$dxComp","dxValidationGroup","$dxGroup","initGroups","_setDefaultMessage","_addBrokenRule","_rules$","pendingRules","asyncRuleItems","ruleValidationResult","ruleValidator","_validateAsyncRules","_synchronizeGroupValidationInfo","_result$brokenRules","_validationGroup","asyncResults","validateResult","ruleResult","_getPatchedRuleResult","_updateRuleConfig","_getAsyncRulesResult","registerValidatorInGroup","_shouldRemoveGroup","validatorsInGroup","isDefaultGroup","isValidationGroupInstance","initedOptions","newStatus","VALIDATION_ENGINE_CLASS","validatorContainer","_initGroupRegistration","summaryContainer","INVALID_MESSAGE","_renderInnerHtml","_ensureMessageNotEmpty","_updatePositionByTarget","_toggleModeClass","_updateContentId","_textMarkup","_getTextMarkup","shouldShowMessage","_toggleVisibilityClasses","validationErrorMessage","_err$message","_getPositionsArray","rtlSide","componentOffset","VALIDATION_SUMMARY_CLASS","_unsubscribeGroup","_groupWasInit","groupSubscription","_groupValidationHandler","_getOrderedItems","orderedItems","foundItems","_itemValidationHandler","itemsChanged","foundRule","DefaultAdapter","getCurrentValidationError","VALIDATION_STATUS_VALID","VALIDATION_STATUS_PENDING","_initAdapter","skipValidation","_getEditor","dxStandardEditor","_this$option$editor$o","_this$option$editor","_toggleAccessibilityAttributes","_resetValidationRules","_getValidationRules","_validationRules","currentError","_applyValidationResult","_updateValidationResult","validatedAction","focusableFn","isTabIndexNotNaN","isDefaultFocus","isHyperlink","SWATCH_CONTAINER_CLASS_PREFIX","viewport","swatchClassRegex","swatchClass","viewportSwatchContainer","E1001","E1002","E1003","E1004","E1005","E1006","E1007","E1010","E1011","E1012","E1016","E1018","E1019","E1020","E1021","E1022","E1023","E1025","E1026","E1031","E1032","E1033","E1034","E1035","E1037","E1038","E1039","E1040","E1041","E1042","E1043","E1044","E1045","E1046","E1047","E1048","E1049","E1050","E1051","E1052","E1053","E1054","E1055","E1056","E1058","E1059","E1060","W1001","W1002","W1003","W1004","W1005","W1006","W1007","W1008","W1009","W1010","W1011","W1012","W1013","W1014","W1015","W1016","W1017","W1018","W1019","W1020","W1021","W1022","W1023","W1025","EditorClass","searchBoxClassName","rootElementClassName","_$searchEditorElement","userEditorOptions","_valueChangeDeferred","_valueChangeTimeout","_cleanAria","$ariaTarget","hoveredElement","_renderHint","_isFocusable","_toggleIndependentState","_renderAccessKey","hasChildListeners","onlyChildProcessing","keyboardListeners","focusableSelector","_updatedHover","_hover","_findHoverTarget","$previous","newHoveredElement","widgetOptionMap","INKRIPPLE_CLASS","INKRIPPLE_WAVE_CLASS","INKRIPPLE_SHOWING_CLASS","INKRIPPLE_HIDING_CLASS","DEFAULT_WAVE_INDEX","durations","getDurations","getWaves","inkRipple","getInkRipple","$currentWave","getWaveStyleConfig","elementDiagonal","waveSize","$wave","hidingTimeout","hideSelectedWave","showingTimeout","showingWaveHandler","durationCss","showingScale","hidingScale","hidingOpacity","logarithmic","discrete","convertTicksToValues","validateOverlappingMode","getTicksCountInRange","valueKey","areLabelsOverlap","bBox1","bBox2","horizontalInverted","verticalInverted","width1","width2","hasHorizontalOverlapping","hasVerticalOverlapping","getPathStyle","createTick","tickOptions","skippedCategory","skipLabels","tickOffset","_tickOffset","lineGroup","_axisLineGroup","elementsGroup","_axisElementsGroup","tickStyle","gridStyle","emptyStrRegExp","labelStyle","_textOptions","getLabelFontStyle","_textFontStyles","customizeColor","createLabelHint","labelHint","formatHint","getContentContainer","setTitle","initCoords","_getTranslatedValue","labelCoords","saveCoords","_lastStoredCoordinates","_storedCoords","_storedLabelsCoords","templateContainer","_getTemplateCoords","resetCoordinates","drawMark","areCoordsOutsideAxis","getSharpDirectionByCoords","updateTickPosition","_createPathElement","setSkippedCategory","_updateLine","lineElement","storedSettings","isGridLine","partitionDuration","_rotateTick","_getTickMarkPoints","drawLabel","updateLabelPosition","formatLabel","_templateDef","labelFontStyle","containerForData","getTemplateDeferred","fadeOutElements","startSettings","endSettings","animationSettings","_fadeOutLabel","_axisGridGroup","_fadeInLabel","toBackground","_getLabelAdjustedCoord","_constantLabelOffset","lCoords","_lCoords","updateMultilineTextAlignment","textsAlignment","drawGrid","drawLine","updateGridPosition","_getGridPoints","contentContainer","getNextDayIndex","dayBetweenWeekend","weekend","getDaysDistance","getWeekEndDayIndices","workDays","workdays","workDay","excludeWorkDaysFromWeekEndBreaks","breaks","exactWorkDays","processWorkDay","workday","separatedBreak","scaleBreak","dayEnd","separateBreak","generateDateBreaks","singleWorkdays","holidays","weekendDayIndices","weekends","currentWeekEnd","generateDateBreaksForWeekend","dayInWeekend","adjustedMin","adjustedMax","holiday","holidayStart","holidayEnd","generateBreaksForHolidays","gapSize","calculateGaps","TOP","constants","BOTTOM","LEFT","RIGHT","CENTER","TICKS_CORRECTIONS","sortingBreaks","getMarkerFormat","prevDate","markerInterval","datesDifferences","prepareDatesDifferences","getMaxSide","boxes","getConstantLineLabelMarginForVerticalAlignment","labelHeight","getLeftMargin","getRightMargin","_getStep","minSpacing","maxLabelLength","_isHorizontal","getDistanceByAngle","_getMaxLabelHeight","_majorTicks","_validateOverlappingMode","_validateDisplayMode","getMarkerTrackers","_markerTrackers","_getSharpParam","opposite","_createAxisElement","_updateAxisElementPosition","axisCoord","_axisPosition","_getCanvasStartEnd","_axisElement","_getTranslatedCoord","_initAxisPositions","customPositionIsAvailable","_customBoundaryPosition","getCustomBoundaryPosition","customPositionIsBoundary","getPredefinedPosition","getResolvedBoundaryPosition","getCustomPosition","tickStartCoord","tickOrientation","labelPosition","getTickStartPositionShift","hasNonBoundaryPosition","_getTitleCoords","fromStartToEnd","canvasStart","canvasEnd","coord","_drawTitleText","titleOptions","patchFontOptions","_checkTitleOverflow","_updateTitleCoords","_title","_drawTitle","_axisTitleGroup","_measureTitle","originalSize","_drawDateMarker","pathElement","textLeftIndent","withoutStick","separatorHeight","cropped","getEnd","labelBBox","hideLabel","_drawDateMarkers","dateMarker","translator","_getViewportRange","minBound","dateMarkers","markerDate","markersAreaTop","_getLabelFormatOptions","topIndent","_tickInterval","getMarkerInterval","markerDates","origMin","getMarkerDates","_adjustDateMarkers","prevDateMarker","_dateMarkers","_checkMarkersPosition","textTopIndent","_initializeMarkersTrackers","businessRange","nextMarker","markerTracker","markerLabelOptions","_markerLabelOptions","_adjustConstantLineLabels","axisPosition","getCanvas","canvasLeft","canvasRight","canvasTop","canvasBottom","verticalCenter","horizontalCenter","maxLabel","linesOptions","paddingTopBottom","paddingLeftRight","labelVerticalAlignment","labelHorizontalAlignment","labelIsInside","_drawConstantLinesForEstimating","_drawConstantLineLabelText","_estimateLabelHeight","drawingType","overlappingBehavior","staggeringSpacing","sinCos","getCosAndSin","indentFromAxis","estimateMargins","updateCanvas","ticksData","_createTicksAndLabelFormat","constantLineOptions","_outsideConstantLines","labelIsVisible","labelValue","labelElement","constantLinesLabelsElement","labelBox","titleBox","constantLinesBox","titleHeight","constantLinesHeight","_checkAlignmentConstantLineLabels","_getConstantLineLabelsCoords","lineLabelOptions","_orthogonalPositions","_getAdjustedStripLabelCoords","stripOptions","_adjustTitle","boxTitle","loCoord","hiCoord","canvasLength","_getScreenDelta","setMaxSize","wordWrap","_wrapped","moreThanOriginalSize","restoreText","_boundaryTicksVisibility","seriesData","_seriesData","showZero","correctValueZeroLevel","userBreaks","_getScaleBreaks","updateBusinessRange","hasWrap","getAxisPosition","_getStick","_getStripLabelCoords","stripLabelOptions","orthogonalPositions","getStripVerticalAlignmentPosition","getStripHorizontalAlignmentPosition","pos1","pos2","visibleArea","getVisibleArea","_getSkippedCategory","_filterBreaks","breakSize","currentBreak","newBreak","cumulativeWidth","_lastResult$cumulativ","_lastResult$cumulativ2","workdaysOnly","autoBreaksEnabled","maxAutoBreakCount","logarithmBase","getLog","visibleRange","getPointsInViewPort","minDiff","edgePoints","curValue","curRange","generateRangesOnPoints","_maxAutoBreakCount","generateAutoBreaks","_drawBreak","translatedEnd","positionFrom","positionTo","breakStart","isWaved","spaceAttr","rotateLine","getLineDrawer","_createBreakClipRect","clipWidth","_breaksElements","_createBreaksGroup","clipFrom","clipTo","_axisCssPrefix","_disposeBreaksGroup","drawScaleBreaks","customCanvas","additionGroup","additionBreakFrom","additionBreakTo","breakOptions","containerColor","_axisShift","mainGroup","breakCoord","_getSpiderCategoryOption","axesSpacing","getMultipleAxesSpacing","constantLinesGroups","_axisConstantLineGroups","shiftGroup","_axisGroup","orthogonalAxis","getOrthogonalAxis","resolvedPosition","getResolvedPositionOption","orthogonalTranslator","orthogonalAxisType","validateUnit","_categories","positionIsBoundary","customPosition","getCanvasVisibleArea","_options$customPositi","customPositionEqualsToPredefined","_this$_orthogonalPosi","resolveOverlappingForCustomPositioning","oppositeAxes","overlappingObj","_detectElementsOverlapping","_shiftThroughOrthogonalAxisOverlappedTick","oppositeLabel","_shiftThroughAxisOverlappedTick","orthogonalAxisPosition","orthogonalAxisLabelOptions","orthogonalAxisLabelPosition","orthogonalAxisLabelIndent","translateCoordName","defaultOrthogonalAxisLabelPosition","labelCoord","outsidePart","insidePart","_tick$mark","tickMarkBBox","labelIndent","defaultLabelPosition","labelSize","markerSize","element1","element2","rotatePoints","topPoint","centerPoint","bottomPoint","lineCoords","calculateCanvasMargins","bBoxes","cLeft","cTop","cRight","cBottom","measureLabels","xyAxesLinear","xyAxes","HALF_PI_ANGLE","getPolarQuarter","normalizeAngle","circularAxes","_calculateValueMargins","applyMargins","_calculateRangeInterval","_getTranslatorOptions","conversionValue","addSpiderCategory","stick","_center","getRadius","_radius","getAngles","_updateRadius","rad","_updateCenter","_processCanvas","circle","firstPointOnStartAngle","_validateOptions","originValue","_viewport","getVizRangeObject","getMargins","tickOuterLength","labelBoxes","_updateLabelsPosition","_adjustLabelsCoord","_checkBoundedLabelsOverlapping","_setVisualRange","_getStripGraphicAttributes","fromAngle","toAngle","outerRadius","_createStrip","cosSin","halfRad","_getConstantLineGraphicAttributes","_createConstantLine","_rotateConstantLine","_adjustDivisionFactor","angles","radiusWithTicks","inside","outside","checkCanvas","labelY","labelAngle","halfWidth","halfHeight","shiftX","shiftY","boxShiftX","boxShiftY","originalLeft","originalRight","originalTop","originalBottom","_getGridLineDrawer","convertPolarToXY","getTranslatedAngle","convertXYToPolar","maxLabelBox","angle1","angle2","majorTicks","labelOpt","lastVisibleLabelIndex","hideFirstOrLast","circular","circularSpider","getSpiderTicks","getFullTicks","_spiderTicks","firstTick","lastTick","nextTick","spiderTicks","_setTickOffset","_resetMargins","_reinitTranslator","startPadding","endPadding","centerCoord","xy","labelPos","linearSpider","setSpiderTicks","_getGridPointsByRadius","innerPoints","_isArray","KEEP","SHIFT","RESET","ROTATE","getTickGenerator","skipTickGeneration","rangeIsEmpty","adjustDivisionFactor","_options$workWeek","allowNegatives","linearThreshold","tickGenerator","logBase","axisDivisionFactor","minorAxisDivisionFactor","numberMultipliers","calculateMinors","allowDecimals","endOnTick","skipCalculationLimits","generateExtraTick","minTickInterval","createMajorTick","createMinorTick","createBoundaryTick","showCustomBoundaryTicks","callAction","actionArgument1","actionArgument2","initTickCoords","drawTickMarks","drawGrids","updateTicksPosition","updateGridsPosition","cleanUpInvalidTicks","removeInvalidTick","getOptimalAngle","asin","updateLabels","getZoomBoundValue","_axesContainerGroup","_gridContainerGroup","_setType","_createAxisGroups","_createTranslator","_prevDataInfo","_firstDrawing","_initRange","_drawAxis","getAxisSharpDirection","sharpDirection","customPositionIsBoundaryOrthogonalAxis","maxCoord","tickPositionField","borderOptions","axisCanvas","minDelta","maxDelta","_getConstantLinePos","_drawConstantLineLabels","_text","_getStripPos","swap","startCategoryIndex","endCategoryIndex","isContinuous","cat","_parsedStartValue$val","_parsedEndValue$value","parsedStartValue","parsedEndValue","outOfCanvas","stripPosition","_adjustStripLabels","_strips","getContainerAttrs","_adjustLabels","positionsAreConsistent","labelRotationAngle","rotateBBox","isDiscrete","isFlatLabel","labelX","_createAxisConstantLineGroups","constantLinesClass","insideGroup","outsideGroup1","outsideGroup2","outside1","outside2","classSelector","_axisStripGroup","_axisStripLabelGroup","_clearAxisGroups","_getLabelFormatObject","showTransition","customizeHint","formatRange","discreteAxisDivisionMode","aggregatedPointBetweenTicks","aggregatedPointsPosition","_resetApplyingAnimation","placeholderSize","isDefinedCustomPositionOption","edgeMarginCorrection","constantLineAboveSeries","constantLineUnderSeries","moveByOffset","idError","axisTypeMethods","xyMethods","polarMethods","_axisBreaksGroup","_minorTicks","_templatesRendered","setPane","_updateTranslator","resetTypes","_initTypes","_labelOptions$minSpac","secondaryPosition","userAlignment","validateAxisOptions","_hasLabelFormat","logarithmBaseError","_createConstantLines","storedCoord","lastStoredCoordinates","_getCoord","_drawLabel","stripPos","createStrip","calculateInterval","getCanvasRange","canvasRedesign","getAxisShift","hideTitle","hideOuterElements","_resolveLogarithmicOptionsForRange","adjustRange","_addConstantLinesToRange","minDefined","maxDefined","_wholeRange$startValu","_wholeRange$endValue","getCategoriesInfo","adjustedVisualRange","adjustVisualRange","isLogarithmic","disabledNegatives","_getVisualRangeUpdateMode","oppositeValue","visualRangeUpdateMode","prevDataInfo","containsConstantLine","newCategories","minPoint","minVisiblePoint","maxPoint","maxVisiblePoint","_handleBusinessRangeChanged","oppositeVisualRangeUpdateMode","axisReinitialized","getVisualRangeLength","currentBusinessRange","getVisualRangeCenter","useMerge","raiseTo","categoriesInfo","argCategories","_that$_seriesData$min","_that$_seriesData$max","dataIsEmpty","rangeWithConstantLines","synchronizedValue","sortCategories","getCategoriesSorter","_insideConstantLines","cl","extendAxis","getParsedValue","getLabelsPosition","labelShift","_getBoundaryTicks","majors","customBounds","customBoundTicks","addMinMax","boundaryTicks","multipleAxesSpacing","getTicksValues","majorTicksValues","minorTicksValues","estimateTickInterval","_getTicks","setTicks","minorTicks","_isSynchronized","customTicks","customMinorTicks","isSpacedMargin","forceUserTickInterval","minors","minorTickCount","_initialBreaks","getAggregationInfo","useAllAggregatedPoints","_visualRange$startVal","_visualRange$endValue","_that$_seriesData","_marginOptions","aggregateByCategory","aggregationGroupWidth","sizePointNormalState","minInterval","generateTicks","screenDelta","tickGeneratorOptions","configureGenerator","getAddFunction","maxMinDistance","_aggregationInterval","getTickInterval","getAggregationInterval","createTicks","_estimatedTickInterval","_boundaryTicks","minor","_minorTickInterval","oldMajorTicks","majorTicksByValues","sameType","oldMinorTicks","_ticksToRemove","_t$label","removeTitle","_this$_marginOptions","isDateTime","minArgs","addToArgs","_calculateWorkWeekInterval","businessInterval","_getConvertIntervalCoefficient","intervalInPx","ratioOfCanvasRange","rangeInterval","minPercentPadding","maxPercentPadding","marginSize","minValueMargin","maxValueMargin","minPadding","maxPadding","stubData","pxInterval","maxPaddingValue","percentStick","_minValue","_maxValue","_minValue2","_maxValue2","canvasStartEnd","screenDeltaWithMargins","skipViewportExtending","firstTickPosition","lastTickPosition","invertMultiplier","minTickPadding","maxTickPadding","commonPadding","correctedMin","correctedMax","getCorrectedValuesToZero","correctZeroLevel","minExpectedPadding","maxExpectedPadding","valueIsParsed","rootGroup","displayBehindSeries","dashStyle","createConstantLine","drawGridLine","_applyWordWrap","_setLabelsPlacement","setRenderedState","convertedTickInterval","wordWrapMode","overflowMode","usefulSpace","correctByWidth","correctByHeight","updateTitle","_resetStartCoordinates","prepareAnimation","applyClipRects","elementsClipID","canvasClipID","_validateVisualRange","isSilent","handleZooming","_applyZooming","_resetVisualRangeOption","getZoomStartEventArg","actionType","_getZoomEndEventArg","previousRange","rangeStart","getZoomBounds","secondPriorityRange","setInitRange","_startValue","_endValue","adjustedRange","_getAdjustedBusinessRange","zoomResults","isPrevented","_visualRange","preventEvents","domEvent","zoomStartEvent","_storedZoomEndParams","startRange","prevent","previousBusinessRange","typeIsNotChanged","zoomEndEvent","checkZoomingLowerLimitOvercome","stopInteraction","_restorePreviousVisualRange","minZoom","correctedRange","isOvercoming","beforeVisualRangeLength","afterVisualRangeLength","getRangeByMinZoomValue","fullRange","isExtremePosition","isMax","extremeDataValue","extremePoint","visualRangePoint","withIndents","widthAxis","viewportRange","maxText","prevLabel","notRecastStep","ignoreOverlapping","_applyLabelMode","_applyLabelOverlapping","_checkShiftedLabels","Translator2D","_options$workWeek2","_options$breakStyle$w","_options$breakStyle","shiftZeroValue","semiDiscreteInterval","breaksSize","breaksLength","visualRangeSetter","categoriesSortingMethod","EXPONENTIAL","tickFormat","prevDifferences","nextDifferences","dateUnitsLength","tickFormatIndex","setDateUnitInterval","resetDateUnitInterval","isDateTimeStart","unitNumbers","unitIndex","getTransitionTickIndex","curDiff","nearestTickIndex","splitDecimalNumber","createFormat","getFormatExponential","stringTick","formatDateRange","typeFormat","diffFormat","rangeFormat","getHighAndSelfDiffFormat","_rangeFormat","getHighDiffFormat","highValue","smartFormatter","indexOfTick","log10Tick","log10","formatLogarithmicNumber","separatedTickInterval","tickIndex","tickIntervalIndex","actualIndex","indexOfFormat","getFormatWithModifier","prevDateIndex","nextDateIndex","getDateTimeFormat","processDateInterval","mathAbs","mathFloor","mathCeil","mathPow","NUMBER_MULTIPLIERS","LOGARITHMIC_MULTIPLIERS","DATETIME_MULTIPLIERS","DATETIME_MULTIPLIERS_WITH_BIG_WEEKEND","DATETIME_MINOR_MULTIPLIERS","MINOR_DELIMITERS","getLogValue","correctValueByInterval","correctMinValueByEndOnTick","floorFunc","ceilFunc","resolveEndOnTick","businessViewInfo","forceEndOnTick","floorTickValue","tickValue","prevTickDataDiff","businessDelta","businessRatio","potentialTickScreenDiff","delimiterFactor","delimiterMultiplier","screenDelimiter","resolveEndOnTickLog","resolveEndOnTickDate","getBusinessDelta","getIntervalByFactor","addTickCount","getMultiplierFactor","factorDelta","calculateTickInterval","forceTickInterval","multipliers","onlyIntegers","adjustInterval","factor","calculateMinorTickInterval","getAdjustIntervalLog","numbersReducer","yearsReducer","calculateTickIntervalDateTime","adjustIntervalDateTime","getDataTimeMultipliers","calculateMinorTickIntervalDateTime","getTickIntervalByCustomTicks","addIntervalDate","addIntervalWithBreaks","correctValue","calculateTicks","correctMinValue","gaps","correctTickValue","correctTickValueOnGapSize","calculateMinorTicks","updateTickInterval","maxCount","lastMajor","firstMajor","tickBalance","middleTicks","prevTick","filterTicks","tmpTicks","getMajorTickIntervalByCustomTicks","getMinorTickIntervalByCustomTicks","convertTickInterval","processScaleBreaks","correctUserTickInterval","minorBusinessDelta","minorScreenDelta","getBaseTick","breakValue","insideTick","getScaleBreaksProcessor","addCorrection","breakTicks","correctValueByIntervalLog","getRound","logarithmicGenerator","raiseToExt","absLog","mathLog","logAbsValue","absRaise","mathRaise","mathRaiseTo","ceilNumber","getBusinessDeltaLog","addIntervalLog","dummyGenerator","discreteGenerator","floorNumber","floorAtStartDate","calculateTickIntervalByCustomTicks","dateGenerator","numericGenerator","BarWrapper","PI_DIV_180","_getSampleText","getSampleText","_compareArrays","_convertAngleToRendererSpace","convertAngleToRendererSpace","_getCosAndSin","_patchFontOptions","_Number","_isFinite","OPTION_VALUES","dxBarGauge","BaseGauge","_barsGroup","_animateStep","_animateComplete","endAnimation","_checkOverlap","_setupDomainCore","setDomain","_baseValue","_setupCodomain","dxCircularGauge","_getApproximateScreenRange","getCodomainRange","_setupAnimationSettings","_animationSettings","_cleanContent","stopAnimation","textEnabled","_defaultFormatOptions","textOptions","_textIndent","connectorWidth","connectorColor","textY","_applyMainLayout","_measureMainElements","maxRadius","horizontalMargin","verticalMargin","inverseHorizontalMargin","inverseVerticalMargin","_outerRadius","_innerRadius","_barSpacing","startCoord","endCoord","baseAngle","_arrangeBars","_beginValueChanging","barSize","_setBarsCount","textRadius","unitOffset","generateColors","arrange","_noAnimation","_animateBars","_updateBars","_endValueChanging","_dummyBackground","applyValue","sortedBars","checkIntersect","beginAnimation","_buildNodes","useHighlight","extensionMode","barValues","getNextColor","_updateValues","_resizing","_change_VALUES","_factory","_change_NODES","_change_MOSTLY_TOTAL","_proxyData","labelFormatOptions","legendFormatOptions","setAngles","compareFloats","_background","_bar","_line","_settings","_visible","_angle","_color","getTooltipParameters","setAngle","anotherBar","calculateLabelCoords","anotherCoords","bottomRight","topLeft","_processValue","_delta","pluginLegend","dxBullet","BaseSparkline","_defaultSize","_disposeWidgetElements","_zeroLevelPath","_targetPath","_barValuePath","_cleanWidgetElements","_drawWidgetElements","_drawBullet","_createHtmlElements","_prepareOptions","_allOptions","isValueUndefined","isTargetUndefined","_tooltipEnabled","_updateRange","_ranges","isValidBounds","isValidMin","isValidMax","isValidValue","isValidTarget","_drawBarValue","_drawTarget","_drawZeroLevel","_getTargetParams","translatorY","_valueAxis","_getBarValueParams","translatorX","startLevel","endLevel","_getCorrectCanvas","_getZeroLevelParams","_getTooltipCoords","_getTooltipData","targetText","originalTarget","_isTooltipEnabled","componentRegistrator","mathMin","mathMax","getRectangleBBox","getLabelCheckerPosition","rectangleBBox","_crosshairGroup","_axes","_panes","_horizontalGroup","_verticalGroup","_horizontal","_vertical","_circle","lineOptions","_createLines","sharpParam","verticalOptions","horizontalOptions","circleOptions","_createLabels","currentLabelPos","startXY","textElement","backgroundElement","_updateLinesCanvas","_linesCanvas","_updateLines","_resetLinesCanvas","_getClipRectForPane","pointData","getPointRadius","linearConverter","getLogExt","getTicks","tickValues","logConverter","convertAxisInfo","axisInfo","logarithmicBase","oldMinValue","oldMaxValue","getAxisRange","getMainAxisInfo","axesInfo","multiAxesSynchronizer","synchronize","valueAxes","getValueAxesPerPanes","ticksValues","minorValues","populateAxesInfo","maxTicksCount","ticksMultiplier","ticksCount","additionalStartTicksCount","baseTickValue","invertedBaseTickValue","updateTickValues","mainAxisInfo","mainAxisInfoTickInterval","mainAxisBaseValueOffset","valueFromAxisInfo","correctMinMaxValues","calculatePaddings","allPositive","allNegative","allAxesValuesOnSameSideFromZero","correctPaddings","correctMinMaxValuesByPaddings","invalidAxisInfo","correctedTick","correctAfterSynchronize","hasSynchronizedValue","updateTickValuesIfSynchronizedValueUsed","tickCount","updateMinorTicks","applyMinMaxValues","_addEvents","_getXCoord","_getYCoord","scrollElement","dX","_scale","dY","lx","_layoutOptions","_applyPosition","rotateX","rotateY","_translateWithOffset","visibleCategories","_that$_scroll$attr","_that$_scroll$attr2","getScale","SHUTTER_EVENTS_NS","DRAG_START_EVENT_NAME","DRAG_UPDATE_EVENT_NAME","DRAG_END_EVENT_NAME","getPointerCoord","shutterZoom","ctx","shutterOptions","triggerStart","triggerEnd","curCoord","firstPane","lastPane","checkCoords","dragHandler","dragEndHandler","_shutterZoom","DX_PREFIX","START_POSTFIX","UPDATE_POSTFIX","END_POSTFIX","eventAliases","addAlias","deltaScale","deltaRotation","translation","deltaTranslation","getEventVector","vector","firstVector","secondVector","getRotation","distanceProduct","mathSign","getTranslation","TransformEmitter","startVector","_startVector","_prevVector","_fireEventAliases","currentVector","eventPostfix","eventAlias","exportNames","transformstart","transformend","translatestart","translateend","zoomstart","zoomend","pinchstart","pinch","pinchend","rotatestart","rotateend","EVENTS_NS","PINCH_START_EVENT_NAME","transformEvents","PINCH_EVENT_NAME","PINCH_END_EVENT_NAME","SCROLL_BAR_START_EVENT_NAME","SCROLL_BAR_MOVE_EVENT_NAME","SCROLL_BAR_END_EVENT_NAME","canvasToRect","getFilteredAxes","isAxisAvailablePanning","axisZoom","onlyAxisToNotify","getParameters","actionField","zoomAxes","sortAxes","zoomStarted","getMinScale","cancelEvent","getAxesCopy","actionData","startAxesViewportChanging","axesViewportChanging","offsetCalc","centerCalc","coordField","zoomed","getEventScale","isMinPosition","isMaxPosition","zoomInEnabled","zoomOutEnabled","deltaTranslate","storeOffset","storeCenter","argZoom","valZoom","finishAxesViewportChanging","prepareActionData","curAxisRect","startCenter","calcCenterForPinch","calcCenterForDrag","calcOffsetForDrag","preventDefaults","dragStartHandler","isTouch","wantPan","pan","wantZoom","panKeyPressed","panKey","dragToZoom","allowTouchGestures","panningVisualRangeEnabled","startCoords","curCanvas","curCoords","zoomArg","zoomVal","deltaOffsetY","deltaOffsetX","getCoords","needToZoom","axisOption","panIsEmpty","argumentCoords","valueCoords","argumentAxesZoomed","pinchStartHandler","pinchHandler","pinchEndHandler","targetAxes","axesZoomed","targetCanvas","allowMouseWheel","wheelEvent","_zoomAndPan","_setupZoomAndPan","customize","addChange","isThemeDependent","isOptionChange","DEFAULT_PANES","DISCRETE","changeVisibilityAxisGrids","gridVisibility","minorGridVisibility","gridOpt","minorGridOpt","findAxis","axisByName","compareAxes","doesPaneExist","src1","src2","auxSpacing","val1","val2","pickMax","pickMaxValue","getAxisMargins","getHorizontalAxesMargins","getMarginsFunc","axisMargins","paneMargins","getVerticalAxesMargins","performActionOnAxes","actionArgument3","shrinkCanvases","verticalMargins","horizontalMargins","getMaxMargin","margins1","margins2","getOriginalField","paneNames","sizeField","startMargin","endMargin","oppositeMargins","initialEmptySpace","emptySpace","PANE_PADDING","isRelativeHeightPane","paneSize","drawAxesWithTicks","panesBorderOptions","shiftAxis","side1","side2","shifts","getCommonSize","checkUsedSpace","sizeShortage","getMarginFunc","paneAxis","_containerInitialHeight","panesNameCounter","paneList","_initCustomPositioningAxes","valueAxisName","customPositionAxis","_getAllAxes","_axesBoundaryPositioning","allAxes","boundaryStateChanged","prevBoundaryState","crosshairOptions","_getCrosshairOptions","crosshairEnabled","horizontalLabel","verticalLabel","getFirstAxisNameForPane","axInd","findAxisOptions","needHideGrids","paneWithAxis","axesForPane","axisShown","hiddenStubAxis","minorGridOptions","hideGridsOnNonFirstValueAxisForPane","paneExists","defaultAxis","axesWithSamePath","oneSeries","_createPanesBorderOptions","commonBorderOptions","scrollBarOptions","scrollBarGroup","_createPanesBackground","_adjustViewport","isCanvasChanged","zoomChanged","_isZooming","_useAllAggregatedPoints","zoomRange","viewportDistance","_zoomLength","getArgumentRange","_drawPanesBorders","_createClipRectsForPanes","_applyClipRectsForAxes","_fillPanesBackground","legendHasInsidePosition","newCanvas","layoutInsideLegend","paneIndex","wideClipRect","setClippingParams","_getPaneBorderVisibility","_updatePanesCanvases","updatePanesCanvases","_normalizePanesHeight","normalizePanesHeight","_renderScaleBreaks","allSeries","borderCoords","usePointsToDefineAutoHiding","argAxis","markersInfo","filteredSeries","overloadedSeries","argVisualRange","argTranslator","valAxis","valVisualRange","valTranslator","seriesPoints","tp","mp","pointsCount","continuousSeries","collectMarkersInfoBySeries","pointsArea","autoHidePointMarkersEnabled","fastHidingPointMarkersByArea","sortingCallback","isContinuousSeries","curPoint","nextPoint","nextX","nextY","updateMarkersInfo","argAxisType","shouldContinueLoop","applyAutoHidePointMarkers","calculateTitlesWidth","extendedArgAxes","_isArgumentAxisBeforeScrollBar","verticalAxes","verticalElements","horizontalAxes","horizontalElements","allElements","verticalAxesFirstDrawing","panesCanvases","paneSizes","cleanPanesCanvases","needCustomAdjustAxes","vAxesMargins","hAxesMargins","drawAxesAndSetCanvases","_estimateTickIntervals","oldTitlesWidth","visibleSeries","axesIsAnimated","axisAnimationEnabled","needHorizontalSpace","needVerticalSpace","argAxisRightMargin","rightPanesIndent","argAxisBottomMargin","bottomPanesIndent","realSize","customSize","containerHasStyledHeight","_forceResize","argAxisPosition","argAxisLabelPosition","scrollBarPosition","_getPanesParameters","_getCommonCanvas","commonCanvas","defaultBackgroundColor","rects","panesBackground","_calcPaneBorderCoords","segmentRectParams","prepareSegmentRectPoints","pathType","_createClipRect","clipArray","needWideClipRect","isFinancialSeries","areErrorBarsVisible","chartCanvasClipRectID","elementsClipRectID","commonPaneBorderVisible","paneVisibility","_getCanvasForPane","shiftDirection","coordPosition","getFigureCenter","_getStackPoints","stacks","zoomArgument","nonVirtualArgumentAxis","getVisibleArgumentBounds","argumentVisualRange","plugins","RADIAL_LABEL_INDENT","radialLabelIndent","getNearestCoord","firstCoord","secondCoord","pointCenterCoord","getLabelLayout","getLayoutOptions","getPieRadius","paneCenterX","paneCenterY","accessibleRadius","minR","radiusIsFound","xCoords","yCoords","getLengthFromCenter","getSizeLabels","rWidth","outerLabelsCount","pieLabelSpacing","rSizes","correctLabelRadius","labelSizes","averageWidthLabels","curRadius","runningWidth","setVisibleArea","getInnerRadius","getAverageLabelWidth","sizeLabels","correctAvailableRadius","availableRadius","fullRadiusWithLabels","getFullRadiusWithLabels","toLayoutElementCoords","WrapperLayoutElement","applyPieChartSeriesLayout","paneSpaceHeight","paneSpaceWidth","piePercentage","minPiePercentage","radiusInner","radiusOuter","applyEqualPieChartLayout","correctPieLabelRadius","availableLabelWidth","fixedSizeCallback","percentageIsValid","paneCanvas","paneSized","needPaneHorizontalSpace","needPaneVerticalSpace","cutSide","cutLayoutSide","processAxisOptions","_isString","applyParticularAxisOptions","_theme","processedUserOptions","mergeOptions","_mergedSettings","applyParticularTheme","valueAxisRangeSelector","seriesCount","mainSeriesColor","seriesVisibility","userCommonSettings","themeCommonSettings","widgetType","isBar","isArea","isBubble","resolveLabelsOverlapping","_multiPieColors","parseOption","_mergeAxisTitleOptions","_initializeTheme","mouseover","mouseout","mousemove","touchstart","touchmove","touchend","mousedown","mouseup","selectSeries","deselectSeries","selectPoint","deselectPoint","selectedMark","applyHover","applySelected","resetItem","pieSeriesSpacing","STRING","NUMERIC","DATETIME","SEMIDISCRETE","CONTINUOUS","LOGARITHMIC","VALUE_TYPE","ARGUMENT_TYPE","axisTypeParser","enumParser","sortValues","asc","valA","valB","aa","bb","parseCategories","newArray","parsedCategory","eigen","_isDate","correctAxisType","hasCategories","createParserUnit","_getParser","filterInfinity","parseUnit","validUnit","prepareParsers","sizeParser","valueParser","argumentParser","categoryParsers","getValueFields","getSizeField","parsers","argumentCategories","valueGroup","parseAxisCategories","getParsedCell","groupMinSlices","originalData","others","groupingValues","threshold","findIndexByThreshold","topCount","sortByArgument","uniqueArgumentFields","reSortCategories","dataByArguments","userCategories","sortFunction","sortingMethodOption","sortByCallback","checkItemExistence","getCategories","_skipArgumentSorting","getSortByCategories","checkType","checkTypeForAllData","groupsIndexes","groupsWithUndefinedValueType","groupsWithUndefinedArgumentType","argumentTypeGroup","valueTypeGroup","defineArg","checkValueTypeOfGroup","checkArgumentTypeOfGroup","sourceIsDefined","verifyData","updateDataType","userArgumentCategories","valueCategories","optionsSeries","checkAxisType","convertToAxisDataType","firstSeries","groupPieData","dataByArgumentFields","itemsHash","getUniqueArgumentFields","_ceil","_enumParser","INSIDE","OUTSIDE","NONE","HEIGHT","WIDTH","parseHorizontalAlignment","parseVerticalAlignment","parseOrientation","parseItemTextPosition","parsePosition","parseItemsAlignment","stateName","colorFromAction","getAttributes","processHatchingAttrs","getFuncIri","applyMarkerState","idToIndexMap","renderMarker","parseMargins","itemTextPosition","itemsAlignment","createSquareMarker","createCircleMarker","inRect","checkLinesSize","countItems","maxMeasureLength","maxAltMeasureLength","lineLength","altDirection","altMeasure","altOffset","altSpacing","countItem","altCountItem","decreaseItemCount","getLineLength","getPos","setMaxInLine","maxLineSize","itemMeasure","transpose","transposeArray","getMarkerCreator","isCircle","_backgroundClass","_itemGroupClass","_textField","_getCustomizeObject","_titleGroupClass","_allowInsidePosition","_updated","_Legend","legendPrototype","LayoutElement","themeManagerTitleOptions","initMarkerSize","customizeItems","_boundingRect","getTitleHorizontalAlignment","erase","_insideLegendGroup","changeLink","_createBackground","_markersGroup","_createItems","_updateElementsPosition","_measureElements","maxBBoxHeight","markerBBox","getSizeItem","equalRowHeight","_size","_locateElements","_finalUpdate","createMarker","markerShape","_markersId","templateFunction","markerTemplate","markersGroup","_templatesGroups","stateOfDataItem","normalState","normalStateFill","markerColor","defaultColor","markerGroup","_createLabel","markerOffset","_createHint","_adjustBackgroundSettings","_setBoundingRect","insideLegendGroup","_x1","_x2","_y2","locationOptions","_moveInInitialValues","_locateRowsColumns","labelFormatObject","getAlign","isInside","iteration","_getItemsLayoutOptions","_alignLines","_applyItemPosition","tableLine","firstLine","secondLine","markerBox","inverseLabelPosition","processLine","maxLineLength","getMaxLineLength","initPosition","getInitPositionForDirection","itemBBoxOptions","itemBBox","itemLegend","calculateBBoxLabelAndMarker","columnItemSpacing","rowItemSpacing","marginTextLabel","legendBox","_calculateTotalBox","backgroundSettings","backgroundOpacity","widthWithoutMargins","getCorrectedLayoutOptions","_shiftTitle","_shiftMarkers","_y1","boxWidth","titleY","titleX","legendGroup","_applyTilesAppearance","_applyLegendItemStyle","_createLegendItems","parsedVal","numVal","correctValueType","downPointerEventName","movePointerEventName","Tracker","_initHandlers","processClick","downHandler","moveHandler","_disposeHandlers","isRootDown","setHover","processHover","processTooltip","POINTER_UP_EVENT_NAME","getImageObject","createAnnotations","pullOptions","commonImageOptions","currentImageOptions","customizedItem","getTemplateFunction","annotationGroup","plaque","Plaque","_isAnnotationBounded","_getAnnotationCoords","_dragOffsetX","_dragOffsetY","hitTest","setTemplate","tooltipTemplate","customizeTooltip","coreAnnotation","chartPlugin","_axis2","argCoordName","valCoordName","getPointCenterByArg","_axis3","_series2","checkSeriesViewportCoord","getSeriesPairCoord","_annotationsPointerEventHandler","_annotations","_clear","_hideToolTipForDrag","_pullOptions","_forceAnnotationRender","polarChartPlugin","pointCoords","_calcCanvas","getXYFromPolar","getActualAngle","polarOptions","vectorMapPlugin","_offTracker","_projection","toScreenPoint","vectorMapOptions","_getAnnotationStyles","_prepareExtraElements","renderElements","pieChartPlugin","getAnnotationCoords","pieChartOptions","widgetRoot","clearItems","setRendererOptions","_annotationsGroup","_buildAnnotations","_setAnnotationTooltipOptions","polarChart","vectorMap","pieChart","currentPaletteName","DEFAULT_PALETTE","palettes","simpleSet","indicatingSet","gradientSet","accentColor","office","pastel","bright","soft","ocean","vintage","carmine","currentPalette","getPalette","themeDefault","RingBuf","buf","ind","getAlternateColorsStrategy","stepHighlight","paletteSteps","_reset","originalPalette","getNewColor","getAlteredPalette","themeDefaultPalette","paletteObj","_extensionStrategy","paletteCount","cycles","cycleIndex","cycleCount","_Color","diapason","minL","maxL","cycleMiddle","cycleDiff","getExtrapolateColorsStrategy","extendedPalette","distributeColors","colorsCount","distribution","getColorAndDistance","extendPalette","colorInGroups","currentColorIndex","cleanColorIndices","keepLastColorInEnd","paletteWithEmptyColors","paletteLength","color1","c2","color2","getColorMixer","currentColor","lightness","getDiscretePalette","colorCount","sourceCount","addColor","kr","createDiscreteColors","_getTheme","getTheme","_addCacheItem","addCacheItem","_removeCacheItem","getThemePart","_font","_current","_rtl","_themeName","_defaultPalette","defaultPalette","createDiscretePalette","createGradientPalette","getGradientPalette","getAccentColor","_initializeFont","pointerActions","BUTTON_SIZE","ICON_COORDS","LIST_WIDTH","MENU_ITEM_HEIGHT","DEFAULT_EXPORT_FORMAT","ALLOWED_IMAGE_FORMATS","ALLOWED_EXTRA_FORMATS","EXPORT_CSS_CLASS","A4WidthCm","EXPORT_DATA_KEY","FORMAT_DATA_KEY","getValidFormats","imageFormats","imageExporter","validateFormat","validFormats","getCreatorFunc","svgExporter","pdfExporter","print","iFrame","img","iFrameBody","calculatePrintPageWidth","removeFrame","setPrint","createMenuItem","getItemAttributes","hoverEventStart","resetState","fixPosition","textBBox","ExportMenu","_print","_shadow","shadowFilter","_listGroup","_subscribeEvents","getExportOptions","_hiddenDueToLayout","printingEnabled","_updateButton","_hideList","_unsubscribeEvents","_fillSpace","_listShown","_setButtonState","_showList","_icon","exportData","buttonDefault","listGroup","createMenuItems","_exportMenu","_getExportMenuOptions","_disablePointerEvents","pointerEventsValue","__test","Flags","combineMaps","baseMap","thisMap","combineLists","baseList","thisList","buildTotalChanges","createChainExecutor","executeChain","_chain","expander","_flags","_inherit","initialChanges","themeDependentChanges","optionChangesMap","partialOptionChangesMap","partialOptionChangesPath","optionChangesOrder","layoutChangesOrder","customChangesOrder","defaultOffset","alignFactors","renderElement","_renderElement","_cacheBBox","ofBBox","myBBox","wrapperLayoutElementPrototype","LOADING_INDICATOR_READY","_createStates","_states","_transit","stateId","_isHiding","unstoppable","_noHiding","scheduleHiding","fulfillHiding","_skipLoadingIndicatorOptions","_scheduleLoadingIndicatorHiding","_fulfillLoadingIndicatorHiding","showLoadingIndicator","hideLoadingIndicator","onLoadingIndicatorReady","buildPath","getArc","xDirection","yDirection","getAbsoluteArc","x0","y0","getCloudAngle","anchorX","anchorY","xr","yt","yb","getCloudPoints","bounded","halfArrowWidth","leftTopCorner","rightTopCorner","rightBottomCorner","leftBottomCorner","arrowX","arrowY","arrowBaseBottom","arrowBaseTop","arrowBaseLeft","arrowAngle","arrowEndPointX","arrowEndPointY","arrowArc","_arrowArc","arrowBaseTopX","arrowBaseTopY","_angle2","_arrowBaseTopX","_arrowBaseTopY","bottomAngle","arrowBaseBottomX","arrowBaseBottomY","topAngle","_arrowBaseTopX2","_arrowBaseTopY2","_bottomAngle","_arrowBaseBottomX","_arrowBaseBottomY","_bottomAngle2","_arrowBaseBottomX2","_arrowBaseBottomY2","_bottomAngle3","_arrowBaseBottomX3","_arrowBaseBottomY3","_topAngle","_arrowBaseTopX3","_arrowBaseTopY3","measureContent","moveContentGroup","bonded","bounds_xl","bounds_xr","bounds_width","bounds_yt","bounds_yb","bounds_height","_root","_draw","shadowSettings","onRender","_this$_root","_contentBBox","_contentGroup","xOff","yOff","lm","tm","y_top","arrowLength","y_bottom","cloudSettings","cloudGroup","_cloud","customizeCloud","moveRoot","radRotationAngle","easingFunctions","easeOutCubic","animationSvgStep","currentParams","curSeg","seg","animateStep","_progress","_calcProgress","_easing","_currentParams","delayTick","_startTime","AnimationController","_animationCount","_timerId","disableComplete","an","activeAnimation","_endAnimation","_endAnimationTimer","addAnimation","_startDelay","animateElement","hasUnstoppableInAnimations","pxAddingExceptions","KEY_TEXT","KEY_STROKE","KEY_STROKE_WIDTH","KEY_STROKE_OPACITY","KEY_FONT_SIZE","KEY_FONT_STYLE","KEY_FONT_WEIGHT","KEY_TEXT_DECORATION","KEY_TEXTS_ALIGNMENT","ELLIPSIS","getBackup","backupContainer","backupCounter","getNextDefsSvgId","numDefsSvgElements","isObjectArgument","roundValue","preserveAspectRatioMap","lefttop","leftcenter","leftbottom","centertop","centerbottom","righttop","rightcenter","rightbottom","_hatching","lockHatching","releaseHatching","buildArcPath","innerR","outerR","startAngleCos","startAngleSin","endAngleCos","endAngleSin","longFlag","buildPathSegments","buildLineSegments","buildCurveSegments","buildSegments","buildSimpleLineSegment","buildSimpleCurveSegment","buildSimpleSegment","_points$","k0","prepareConstSegment","constSeg","makeEqualLineSegments","long","makeEqualAreaSegments","constsSeg1","constsSeg2","shortLength","longLength","baseCss","elemStyles","fixFuncIri","baseAttr","hasTransformations","recalculateDashStyle","_addFixIRICallback","_originalSW","_applyTransformation","orderHtmlTree","parentStyle","parentClassName","realStyle","wholeText","createTspans","_hasEllipsis","cloneAndRemoveAttrs","detachTitleElements","titleElements","getIndexForEllipsis","startBox","endBox","tspan","getSubStringLength","getEllipsisString","ellipsisMaxWidth","hideOverflowEllipsis","setEllipsis","setNewText","lastStepBreakIndex","breakIndex","initialIndices","spaceIndices","spaceIndex","getSpaceBreakIndex","getWordBreakIndex","restLines","newTextOffset","restString","restTspan","commonLength","insertString","hasEllipsis","removeTextSpan","setTextNodeAttribute","getItemLineHeight","inherits","maxLengthFontSize","locateTextNodes","_texts","_getLineHeight","fontSize1","fontSize2","parsedHeight1","parsedHeight2","height1","height2","baseAnimate","animationParams","buildLink","SvgElement","removeFuncIriCallback","fixFuncIriCallbacks","PathSvgElement","_getJQElement","_fixFuncIri","_clearChildrenFuncIri","clearChildren","_links","linkItem","_link","_linkAfter","unlinkItem","toForeground","smartAttr","transformations","sharpMode","trDirection","strokeOdd","correctionX","correctionY","scaleXDefined","scaleYDefined","animOptions","_getElementBBox","transformation","normalizeBBox","titleElem","jj","combinePathParam","newSegments","endSegments","curSegments","oldSegments","originalNewSegments","makeEqualSegments","compensateSegments","ArcSvgElement","noArc","angleDiff","normalizeArcParams","arcParams","RectSvgElement","maxSW","newSW","_originalX","_originalY","_originalWidth","_originalHeight","TextSvgElement","xmlns","_locker","_backed","wasStroked","maxTextWidth","alignTextNodes","isStroked","parseMultiline","adjustLineHeights","findStyleAndClassAttrs","allTagAttrs","p3","removeExtraAttrs","createTextNodes","strokeTextNodes","applyEllipsis","lineParts","ellipsisWidth","prepareLines","textChanged","textIsEmpty","restoreTitleElement","detachAndStoreTitleElements","commonHeight","calculateLineHeight","prevLine","setMaxHeight","lineNumber","wordWrapLines","applyOverflowRules","_defs","_animationController","removeByRenderer","simpleRect","linearGradient","stops","stepTo2","stepBy15","patternUnits","_getPointsWithYOffset","methodArgs","clipPath","clipCircle","gaussianBlur","in","flood","composite","in2","operator","finalComposite","filterAttrs","offsetAttrs","floodAttrs","brightFilter","slope","componentTransferElement","_grayScaleFilter","_hatchingStorage","byHash","baseId","refToHash","nextId","storageItem","getHatchingHash","DEFAULT_BAR_GROUP_PADDING","correctStackCoordinates","currentStacks","barsArea","seriesStackIndexCallback","stackIndex","barPadding","validateBarPadding","barWidth","calculateParams","getBarOverlapGroup","correctCoordinates","correctPointCoordinates","adjustBarSeriesDimensionsCore","_series$","_series$2","commonStacks","allArguments","seriesInStacks","_series$3","isDateArgAxis","pointsByArgument","isStackExist","percentWidth","fixedBarWidth","rawWidth","getVisibleSeries","getAbsStackSumByArg","stackKeepers","positive","getSeriesStackIndexCallback","stackCount","adjustBarSeriesDimensions","adjustStackedSeriesValues","holesStack","lastSeriesInPositiveStack","lastSeriesInNegativeStack","hole","getFirstValueSign","_prevSeries","holes","isNotBarSeries","resetValue","currentStack","resetCorrection","_skipSetLeftHole","prevPoint","_skipSetRightHole","resetHoles","setHole","_stackKeepers","absTotal","getStackSumByArg","setPercentValue","updateStackedSeriesValues","minBarSize","valueAxisTranslator","minShownBusinessValue","getMinBarSize","fullStacked","checkMinBarSize","getValueType","stackSum","updateFullStackedSeriesValues","updateRangeSeriesValues","updateBarSeriesValues","adjustCandlestickSeriesDimensions","adjustBubbleSeriesDimensions","sizeProportion","visibleAreaX","visibleAreaY","minBubbleArea","maxBubbleArea","equalBubbleSize","minPointSize","maxPointSize","seriesItem","sizeDispersion","areaDispersion","processTitleLength","pickMarginValue","_params","_hasText","_titleElement","_clipRect","_subtitleElement","_updateOptions","_updateStructure","_updateTexts","subtitleOptions","subtitleElement","_baseLineCorrection","_shiftSubtitle","_updateBoundingRectAlignment","processTitleOptions","isLayoutChanged","_updateBoundingRect","_correctTitleLength","srcBox","hideElement","createTextHtml","_widgetRoot","_textHtmlContainers","_textGroupHtml","_textHtml","_template","_customizeTooltip","textGroupHtml","interactive","isMoving","templateCallback","skipTemplate","htmlContainers","containerToTemplateRender","_riseEvents","_moveWrapper","textAlignment","normalizedCSS","forceEvents","plaqueBBox","_specialFormat","specialFormat","percentPrecision","getSpecialFormatOptions","containerBox","_initTooltip","_disposeTooltip","_setTooltipRendererOptions","_setTooltipOptions","LN10","MAX_PIXEL_COUNT","_isNaN","getAdjustedLog10","degreesToRadians","angleInRadians","diffX","diffY","getDecimalOrder","cn","getAppropriateFormat","getPower","normalizeBBoxField","w2_","h2_","parseScalar","stored","fontOptions","centerCoords","normalizedRadius","phi","generatedSeries","seriesOrder","nameFieldValue","orderedName","swapBuf","categoriesValue","indexStartValue","indexEndValue","lastIdx","parsedHeight","relativeHeightPanes","weightSum","weightHeightCount","emptyHeightPanes","emptyHeightCount","weightForEmpty","emptyWeightSum","distributedSpace","paneSpace","totalCustomSpace","calcLength","getVerticallyShiftedAngularCoords","horizontalOffset1","verticalOffset1","verticalOffset2","horizontalOffset2","opt1","opt2","convertToVisualRange","rangeValue","marginValue","nonDiscrete","rangeLength","_categoriesInfo","transformValue","rangeFromOptions","pointInCanvas","defaultAlgorithm","algorithms","addAlgorithm","setDefault","getFigures","nextValue","normalizeValues","halfNeckWidth","offsetFromCorner","funnelHeight","neckLeftCorner","neckRightCorner","baseStyle","baseBorder","figure","itemOptions","getNormalStyle","_suspend","_resume","NODES_CREATE_CHANGE","getLegendItemState","itemState","dynamicSlope","dynamicHeight","dxFunnel","_change_TILING","convertCoord","_change_DRAWN","_change_NODES_CREATE","_change_TILES","_hitTestTargets","processedData","percents","figures","curData","getAllItems","OUTSIDE_POSITION","INSIDE_POSITION","isOutsidePosition","correctYForInverted","getOutsideRightLabelPosition","getOutsideLeftLabelPosition","getInsideLabelPosition","_labels","_labelRect","resetEllipsis","_defaultLabelTextAlignment","labelRect","getColumnLabelLeftPosition","getColumnLabelRightPosition","halfBorderWidth","showForZeroValues","_correctLabelWidth","correctLabelPosition","setFigureToDrawConnector","requiredSpace","removeEmptySpace","isLeftPos","minX","connectorStrategy","connectorIndent","verticalCorrection","isLabelInside","prepareLabelPoints","findFigurePoint","adjustPoints","getConnectorStrategy","defaultTextAlignment","labelFont","labelConnector","backgroundAttr","connectorAttr","getLabelOptions","dataKeyModifier","getProxyData","tooltipData","proxyData","_dataKey","figureCoords","_tooltipIndex","_moveTooltip","percentText","pluginTooltip","pluginLabel","pluginExport","pluginTitle","pluginTracker","pluginLoadingIndicator","_subTheme","subTheme","ReadyCallbacks","_showTooltipCallback","_tooltipEvent","data_target","data_info","_targetEvent","_tooltipTarget","_callbacks","_hideTooltipCallback","_hideTooltipTimeout","setTooltipState","handleTooltipMouseOver","handleTooltipMouseOut","handleTooltipTouchStart","handleTooltipTouchEnd","handleTooltipMouseWheel","setCallbacks","active_touch_tooltip_tracker","_x","_y","_touch","handleDocumentTooltipTouchStart","themeManagerModule","_valueChangingLocker","createTranslator","createTracker","_setTrackerCallbacks","tooltipParameters","_cleanCore","_isValidDomain","_innerRect","layoutCache","_change_DOMAIN","_setupDomain","_applyMostlyTotalChange","getDomain","_setupDefaultFormat","_containerBackgroundColor","_getAppropriateFormat","_calculateSize","Translator1D","getDomainStart","getDomainEnd","array1ValueIsNaN","array2ValueIsNaN","compareArraysElements","BaseElement","BaseIndicator","_createRoot","_trackerElement","_setupAnimation","_actualPosition","_runAnimation","_className","_currentValue","_isEnabled","_trackerInfo","COEFFICIENTS_MAP","rb","bl","tl","BaseTextCloudMarker","textCloudOptions","_getTextCloudOptions","cloudWidth","_textUnitWidth","cloudHeight","_textHeight","tailWidth","tailLength","getTextCloudInfo","_correctCloudType","_textVerticalOffset","_measureText","sampleText","_textWidth","_textFullWidth","_textFullHeight","BaseRangeBar","_isTextVisible","_updateBarItemsPositions","_updateTextPosition","_updateLinePosition","_updateBarItems","spaceColor","_setBarSides","_endPosition","_basePosition","_space","_getSpace","_backItem1","_backItem2","_spaceItem1","_spaceItem2","_updateTextItems","_getTextAlign","_getFontOptions","_setTextItemsSides","_buildItemSettings","back1","back2","main1","main2","_mainItem","_createBarItem","_getTooltipPosition","subtractSegmentAsc","segmentStart","segmentEnd","otherStart","otherEnd","subtractSegmentDesc","areEqualValues","isValidSegmentAsc","isValidSegmentDesc","_container","_getRanges","totalStart","totalEnd","totalDelta","isValidSegment","subtractSegment","backgroundRanges","startWidth","rangeOptions","classIndex","paletteColor","sub","subs","newRanges","newBackgroundRanges","_processOptions","_createRange","getColorForValue","correctRadius","SimpleIndicator","indentFromCenter","_getRadius","_getIndentFromCenter","_renderPointer","_clearPointer","inverseHorizontalOffset","inverseVerticalOffset","NeedleIndicator","_adjustOffset","beginAdaptingAtRadius","_renderSpindle","spindleSize","spindleGapSize","_spindleOuter","_spindleInner","rectangleNeedle","triangleNeedle","twoColorNeedle","y4","fraction","secondFraction","_firstElement","_spaceElement","_secondElement","secondColor","triangleMarker","textCloud","nAngle","rangeBar","_maxSide","_minSide","_lineFrom","_lineTo","_textRadius","mainPosition1","mainPosition2","basePosition","actualPosition","BaseRangeContainer","_inner","_outer","_normalizeAngle","dxGauge","_factoryMethods","_gridSpacingFactor","_scaleTypes","_updateScaleTickIndent","scaleOptions","indentFromTick","textParams","scaleOrientation","tickCorrection","startCosSin","endCosSin","startCos","startSin","endCos","endSin","getSides","setCodomain","_shiftScale","_getScaleLayoutValue","_getTicksOrientation","_getTicksCoefficients","coefs","inner","outer","_correctScaleIndents","scaleMeasurement","minRadius","maxHorizontalOffset","maxVerticalOffset","maxInverseHorizontalOffset","maxInverseVerticalOffset","measurements","srcRect","selfAspectRatio","selectRectByAspectRatio","_getElementLayout","totalRadius","createIndicator","createIndicatorCreator","circularIndicators","rectangleneedle","triangleneedle","twocolorneedle","trianglemarker","textcloud","rangebar","CircularRangeContainer","OPTION_VALUE","OPTION_SUBVALUES","DEFAULT_NUMBER_MULTIPLIERS","processValue","fallbackValue","parseArrayOfNumbers","gauge","_setupValue","__subvalues","_setupSubvalues","_updateValueIndicator","_updateSubvalueIndicators","disableDefaultMode","_indicatorValues","setupValues","_valueIndicators","_updateActiveElements","updateActiveElements_hardMode","_prepareValueIndicators","prepareValueIndicators_hardMode","_disposeValueIndicators","disposeValueIndicators_hardMode","_cleanValueIndicators","cleanValueIndicators_hardMode","indicatorValue","indicatorValue_hardMode","selectHardMode","_rangeContainer","_initScale","_subvalueIndicatorContainer","_scaleGroup","_valueIndicator","_subvalueIndicatorsSet","scaleOption","_measureScale","majorTick","majorTickEnabled","minorTickEnabled","layoutValue","innerCoef","outerCoef","_prepareScaleSettings","_renderScale","scaleDivisionFactor","minorScaleDivisionFactor","useRangeColors","getCodomain","_updateIndicatorSettings","_prepareIndicatorSettings","defaultTypeField","_prepareValueIndicator","_prepareSubvalueIndicators","_createSubvalueIndicatorsSet","ValueIndicatorsSet","isRecreate","dummy","__value","vals","_changeSubvalues","valueIndicators","_change_VALUE","_change_SUBVALUES","trackerType","trackerIndex","_strict","optionItems","currentValues","optionList","newValueIndicators","userSettings","accessPointerValue","_indicators","indicatorType","_colorPalette","_sample","_generatePalette","_getIndicatorOptions","_adjustIndicatorsCount","indicatorsLen","_zeroPosition","getCodomainStart","rhombus","_inverted","horizontalOrientation","verticalOrientation","maxBound","maxSide","_minBound","_maxBound","_lineStart","_lineEnd","_textPosition","backPosition1","backPosition2","crossCenter","alongCenter","dxLinearGauge","_getInvertedState","textCorrection","verticalTextCorrection","isIndentPositive","setInverted","selectRectBySizes","linearIndicators","LinearRangeContainer","seriesSpacing","SELECTED_STATE","LEGEND_ACTIONS","shiftInColumnFunction","dividePoints","middleAngle","resolveOverlappedLabels","shiftCallback","inverseDirection","overlapped","correctPercentValue","pieSizeEqualizer","removeFromList","pies","pie","getSizeGroup","allPies","getSizeGroupLayout","minPie","sizeGroupLayout","dxPieChart","centerTemplate","_change_CENTER_TEMPLATE","_renderCenterTemplate","_centerTemplateGroup","arrangePoints","maxPointCount","getPointsCount","setMaxPointsCount","legendItem","itemsByArgument","argumentCount","_getLayoutSeries","drawnLabels","correctPosition","drawLabelsWOPoints","hideLabels","_sizeGroupLayout","_getLayoutSeriesForEqualPies","innerRad","lengthVisibleSeries","_setGeometry","centerTemplateGroup","pointState","getLegendItemAction","labelsWereOverlapped","wordWrapApplied","iterationCount","moveLabelsFromCenter","adjustLabels","seriesByPosition","labelsOverlapped","_getVerticallyShiftedAngularCoords","_abstractSeries","_updateAxesLayout","dxPolarChart","axisUserOptions","argumentAxisOptions","_change_USE_SPIDER_WEB","spiderWidget","sizeStorage","canvasClipRectID","_createClipPathForPane","_createClipCircle","layoutInfo","argAngle","translatedRadius","tickIntervalsInfo","POINTER_SIZE","isLeftPointer","_isLeftPointer","_isOverlapped","_border","_getRectSize","textSize","_paddingLeftRight","_paddingTopBottom","_getTextSize","_getAreaPointsInfo","rectSize","rectWidth","rectHeight","rectLeftBorder","rectRightBorder","pointerRightPoint","pointerCenterPoint","pointerLeftPoint","isLeft","correctCloudBorders","checkPointerBorders","borderPosition","_range","_borderPosition","currentTextSize","updateSliderMarker","pointsData","_textSize","applyOptions","screenRange","_colors","invalidRangeColor","getTracker","setValid","setColor","setOverlapped","isOverlapped","getBorderPosition","_sliderGroup","_marker","trackersGroup","applyPosition","isAnimated","slider","_setValid","_setText","verticalRange","sliderHandleOptions","sliderMarkerOptions","_formatOptions","getScreenRange","sliderHandleWidth","trackerWidth","getSliderTracker","setDisplayValue","getCloudBorder","emptySliderMarkerText","buildRectPoints","isLess","isGreater","selectClosestValue","middle","dummyProcessSelectionChanged","_lastSelectedRange","getSelectedRange","_processSelectionChanged","SlidersController","sliderParams","_areaTracker","_selectedAreaTracker","_shutter","_sliders","getTrackerTargets","selectedArea","sliders","selectedRange","updateSelectedRange","isCompactMode","rangeBounds","fullTicks","_verticalRange","_minRange","_maxRange","_animationEnabled","_allowSlidersSwap","allowSlidersSwap","isValueProlonged","snapToTicks","_isCompactMode","_shutterOffset","_updateSelectedView","_isOnMoving","callValueChanged","_updateSelectedRange","_applyTotalPosition","setSelectedRange","restoreSetSelectedRange","areOverlapped","_applyAreaTrackersPosition","_applySelectedRangePosition","position1","position2","getCorrectValue","beginSelectedAreaMoving","_dockSelectedArea","_moveSelectedArea","moveSelectedArea","screenPosition","placeSliderAndBeginMoving","firstPosition","secondPosition","antiCompare","beginSliderMoving","minPosition","maxPosition","staticPosition","compareMin","compareMax","swapOffset","invalidStateValue","_changeMovingSlider","foregroundSlider","eventTouches","isMSPointerLeftClick","MSPOINTER_TYPE_TOUCH","MSPOINTER_TYPE_MOUSE","isTouches","isMultiTouches","stopPropagationAndPreventDefault","isTouchEventArgs","getEventPageX","initializeAreaEvents","getRootOffsetLeft","movingHandler","docEvents","manualRangeSelectionEnabled","moveSelectedRangeByClick","initializeSelectedAreaEvents","initializeSliderEvents","msPointerEnabled","msTouchAction","_docEvents","RangeView","backgroundOption","backgroundTheme","isAnimationEnabled","seriesDataSource","canvasWidth","isShowChart","seriesList","getSeries","getBoundRange","_extGroups","drawSeriesView","SeriesDataSource","ChartThemeManager","bottomIndent","_indent","_hideChart","_calculateSeries","_seriesFamilies","newSeries","chartThemeManager","barOptions","processSeriesFamilies","rangeData","rangeYSize","rangeVisibleSizeY","minIndent","maxIndent","valRange","argRange","getCalculatedValueType","getThemeManager","START_VALUE","VALUE","VALUE_CHANGED","CONTAINER_BACKGROUND_COLOR","calculateMarkerHeight","getTextBBox","calculateScaleLabelHalfWidth","calculateValueType","firstValue","typeFirstValue","_type","typeSecondValue","validType","showScaleMarkers","checkLogarithmicOptions","defaultLogarithmBase","calculateScaleAreaHeight","visibleMarkers","labelScaleOptions","markerScaleOptions","placeholderHeight","getNextTickInterval","updateTickIntervals","ticksInfo","tickCountByInterval","tickCountByScreen","gridSpacingFactor","calculateTickIntervalsForSemidiscreteScale","updateScaleOptions","translatorRange","checkDateMarkerVisibility","isEmptyInterval","altIntervals","getIntervalCustomTicks","getPrecisionForSlider","dxRangeSelector","baseWidgetModule","rangeViewGroup","slidersGroup","scaleGroup","AxisWrapper","_rangeView","_slidersController","lastSelectedRange","_rangeOption","_clientRect","_change_SCALE","_setValueByDataSource","valueIsReady","__skipAnimation","_dataSourceIsAsync","rangesInfo","allScaleSelected","_change_SLIDER_SELECTION","_validateRange","ensureValueInvalid","__isResizing","currentAnimationEnabled","_completeSeriesDataSourceCreation","_createSeriesDataSource","calculatedValueType","validateStartEndValues","messageToIncidentOccurred","prepareScaleOptions","argTranslatorRange","rangeForCategories","calculateTranslatorRange","isDateScale","isMarkerVisible","intervalX","updateTranslatorRangeInterval","_prepareSliderMarkersOptions","indents","indentOptions","leftMarkerHeight","rightMarkerHeight","placeholderWidthLeft","placeholderWidthRight","startTickValue","endTickValue","leftScaleLabelWidth","rightScaleLabelWidth","calculateIndents","rangeContainerCanvas","_updateElements","isNotSemiDiscrete","_isUpdating","doNotSnap","isTypeDiscrete","isValueTypeDatetime","majorUnit","getMinorTickIntervalUnit","getSharpDirection","checkShiftedLabels","checkLabelsOverlapping","nearestLabelsIndexes","getTwoVisibleLabels","_updateSelectedRangeCallback","prepareAxisOptions","markerTrackers","createDateMarkersEvent","LoadingIndicatorPlugin","COLOR_MODE_GRADIENT","COLOR_MODE_SOURCE","COLOR_MODE_TARGET","_compileAttrs","itemBaseOptions","borderOpacity","widgetOffset","linksIn","linksOut","compileAttrs","adjacentLink","setAdjacentNodeHover","isAdjacentNodeHovered","adjacentNodeHover","_applyNodesAppearance","_applyLinksAppearance","weightIn","weightOut","getLabelAttributes","labelSettings","useNodeColors","compileLabelAttrs","colorMode","connection","overlayStates","WHITE","GRAY","routines","maxOfArray","callback_function","getVertices","links","vert","getAdjacentVertices","vertex","avert","getReverseAdjacentVertices","struct","_hasCycle","_sortedList","hasCycle","vertices","allVertices","_depthFirstSearch","averts","lp","incoming","outgoing","computeLongestPaths","sortedVertices","maxLP","adjacentVertex","graphModule","_ALIGNMENT_CENTER","_ALIGNMENT_DEFAULT","_weightPerPixel","_getCascadeIdx","nodeTitle","cascadesConfig","nodeInfo","_getInWeightForNode","_getOutWeightForNode","_computeCascades","maxCascade","cascades","cascade","inWeight","outWeight","maxWeight","_getWeightForCascade","cascadeIdx","wMax","_getMaxWeightThroughCascades","mW","_computeNodes","maxNodeNum","nodesInCascade","nodePadding","heightAvailable","cascadeAlign","cascadeRects","cascadeHeight","nodeAlign","nodeWidth","_findRectByName","_findIndexByName","_computeLinks","yOffsets","rectsOfCascade","nodeRect","rectFrom","linksFromNode","rectTo","yOffsetFrom","yOffsetTo","heightFrom","heightTo","_spline","_weight","_from","_to","_fitAllNodesHeight","_fitNodeHeight","nodeRects","heightOfLinksSummaryIn","heightOfLinksSummaryOut","rectLeft","rectRight","p_UpLeft","p_DownLeft","p_UpRight","p_DownRight","curve_width","computeLayout","linksData","validatorModule","availableRect","box1","box2","getConnectedLinks","linkType","invertedAttrName","connected","dxSankey","_groupLinks","_groupNodes","_groupLabels","_drawLabels","_nodes","_gradients","_change_LABELS","_applyLabelsAppearance","_change_BUILD_LAYOUT","_buildLayout","_change_NODES_DRAW","_change_LINKS_DRAW","overlayElement","hasItemOwnProperty","nodeOptions","layoutBuilder","defaultLayoutBuilder","_layoutMap","nodeColors","nodeIdx","linkOptions","totalNodesNum","_shadowFilter","cascadeNodes","nodeItem","availableWidth","labelOffsetY","labelOffsetX","moveLabel","thisNode","thisBox","otherNode","otherBox","textData","getAllLinks","pluginDataSource","generateCustomCallback","customCallback","defaultCallback","objectInfo","sankey","linkTemplate","nodeTemplate","linkTooltipTemplate","nodeTooltipTemplate","customizeNodeTooltip","defaultCustomizeNodeTooltip","customizeLinkTooltip","defaultCustomizeLinkTooltip","templateArgs","setTooltipCustomOptions","CANVAS_POSITION_DEFAULT","deleteLabel","_hasGraphic","graphic","clearVisibility","inVisibleArea","setInvisibility","_errorBar","clearMarker","_emptySettings","_calculateVisibility","maxX","minY","maxY","_getVisibleArea","_updateLabelData","_updateLabelOptions","_checkImage","_fillStyle","_checkSymbol","oldOptions","oldSymbol","newSymbol","symbolChanged","imageChanged","_populatePointShape","getSquareMarkerCoords","getPolygonMarkerCoords","getTriangleDownMarkerCoords","getTriangleUpMarkerCoords","floorHalfRadius","ceilHalfRadius","getCrossMarkerCoords","hasCoords","properValue","_getTranslates","defaultX","defaultY","_createImageMarker","_createSymbolMarker","pointSettings","_createMarker","_getSymbolBBox","_getImageBBox","_getGraphicBBox","_getShiftLabelCoords","_addLabelAlignmentAndOffset","_getLabelCoords","_checkLabelPosition","customVisibility","_getCustomLabelVisibility","_showForZeroValues","getLabelVisibility","_getLabelConnector","_getPositionFromLocation","_isPointInVisibleArea","graphicBBox","fullGraphicBBox","_getLabelCoordOfPosition","_getLabelPosition","_drawMarker","translates","_getStyle","_getErrorBarSettings","_getErrorBarBaseEdgeLength","_drawErrorBar","errorBars","errorBarOptions","_errorBarPos","high","_highErrorCoord","low","_lowErrorCoord","isHighDisplayMode","isLowDisplayMode","highErrorOnly","lowErrorOnly","edgeLength","_baseErrorBarPos","leftHoleTotal","rightHoleTotal","valuePercent","minValuePercent","leftHole","minLeftHole","rightHole","minRightHole","_storeTrackerR","minTrackerSize","pointerEnabled","trackerR","_translateErrorBars","_getValTranslator","lowError","highError","vy","vx","_translate","_getArgTranslator","initialMinValue","originalMinValue","_getImageSettings","isSquare","isTriangle","_updateMarker","initialArgument","originalArgument","lowErrorValue","highErrorValue","_getFormatObject","argumentText","totalText","trackerRadius","noErrorBar","lowValue","getLabelOrientation","isDiscreteValue","isFullStacked","symbolPoint","correctOptions","yCorrection","xCorrection","_cacheVisibility","getMarkerCoords","_getSettingsForTracker","getGraphicSettings","_getEdgeTooltipParams","xCoord","yCoord","invertedBusinessRange","getCenterCoord","_truncateCoord","argVisibleArea","valIntervalName","argIntervalName","valVisibleArea","minVal","edgeOffset","isStartFromAxis","sizeText","_acos","DEG","argumentChanged","radiusLabels","normalInitialValue","_isLabelDrawingWithoutPoints","_getLabelExtraCoord","_checkVerticalLabelPosition","_getElementCoords","elementRadius","radialOffset","angleFunctions","columnsPosition","_correctLabelCoord","rightBorderX","leftBorderX","angleOfPoint","connectorOffset","updateLabelCoord","_checkHorizontalLabelPosition","shiftCoord","applyWordWrap","rowCountChanged","setLabelTrackerData","setTrackerData","seriesStyle","strokeWidthBy2","firstDrawing","shiftedAngle","legendStyles","isInVisibleArea","ly","_topLabel","_bottomLabel","hideMarker","topMarker","bottomMarker","emptySettings","markerType","labelsInside","_getLabelMinFormatObject","maxFormatObject","_checkOverlay","bottomCoord","topCoord","topValue","_getOverlayCorrections","topCoords","bottomCoords","coordSelector","coord1","coord2","_checkLabelsOverlay","topLocation","corrections","notInverted","topLabel","bottomLabel","visibleTopMarker","visibleBottomMarker","imageOption","rangeMaxPoint","rangeMinPoint","oldImages","newImages","topImageChanged","bottomImageChanged","_getSettingsForTwoMarkers","_drawOneMarker","imageSettings","_updateOneMarker","visibleRangeArea","visibleArgArea","visibleValArea","notVisibleByArg","notVisibleByVal","rangeValue1Text","rangeValue2Text","rangeValue1","rangeValue2","getLabel","xCond","yCond","barPoint","rangeSymbolPointMethods","edgeLocation","_getContinuousPoints","openCoord","closeCoord","highCoord","highY","lowY","closeY","_getCrockPoints","_getPoints","openY","_isReduction","_drawMarkerInGroup","_isPositive","reductionPositive","_getMinTrackerWidth","_getMarkerGroup","reductionPositiveMarkersGroup","reductionMarkersGroup","defaultPositiveMarkersGroup","defaultMarkersGroup","openValue","closeValue","centerValue","origY","reductionColor","reductionValue","originalLowValue","originalHighValue","originalOpenValue","originalCloseValue","isReduction","highValueText","openValueText","closeValueText","lowValueText","candlestickPoint","openYExist","closeYExist","CANVAS_POSITION_START","CANVAS_POSITION_END","polarSymbolPoint","piePoint","_moveLabelOnCanvas","_getCoords","_checkRadiusForVisibleArea","getDefaultCoords","polarBarPoint","defaultRadius","middleAngleCorrection","isBetweenAngles","SYMBOL_POINT","POLAR_SYMBOL_POINT","BAR_POINT","POLAR_BAR_POINT","PIE_POINT","HOVER","NORMAL","SELECTION","pointTypes","scatter","spline","stepline","stackedline","fullstackedline","stackedspline","fullstackedspline","stackedsplinearea","fullstackedsplinearea","splinearea","steparea","stackedarea","fullstackedarea","rangearea","stackedbar","fullstackedbar","candlestick","doughnut","donut","polar","isNoneMode","_viewCounters","bubblePoint","rangeSymbolPoint","rangeBarPoint","stockPoint","usePointCustomOptions","_dataItem","_currentStyle","argumentWasChanged","aggregationInfo","deleteMarker","_needDeletingOnDraw","_needClearingOnDraw","_getViewStyle","applyView","legendCallback","getRenderer","getMarkersGroup","viewCounters","releaseHoverState","hoverPoint","clearPointHover","_checkLabelsChanging","isNewRange","isOldRange","newPointTypeMixin","_resetType","_checkCustomize","translated","useLabelCustomOptions","setDefaultCoords","isArgumentCorrect","_argumentChecker","valueChecker","_valueChecker","sharedTooltipValuesArray","tooltipStackPointsFormatObject","rangeText","intervalStart","intervalEnd","holeValue","HIGH_ERROR","LOW_ERROR","VARIANCE","STANDARD_DEVIATION","STANDARD_ERROR","PERCENT","FIXED","variance","expectedValue","getMinMaxAggregator","targetData","_getIntervalCenter","baseScatterMethods","_defaultDuration","_defaultTrackerWidth","_applyStyle","_parseStyle","_prepareSegment","_drawSegment","_appendInGroup","_createLegendState","_applyElementsClipRect","_paneClipRectID","_applyMarkerClipRect","_forceClipping","_createGroup","_applyClearingSettings","_createGroups","_setMarkerGroupSettings","_createPointStyles","_getMarkerGroupOptions","_visibleArea","_errorBarsEnabled","isErrorBarTypeCorrect","lowValueField","highValueField","groupPointsByCoords","pointCoord","_createErrorBarGroup","_widePaneClipRectID","_setGroupsSettings","_setLabelGroupSettings","_getCreatingPointOptions","defaultPointOptions","normalStyle","creatingPointOptions","_predefinedPointOptions","_getPointOptions","_parsePointOptions","_preparePointOptions","_getOptionsForPoint","_parsePointStyle","defaultBorderColor","sizeValue","pointOptions","mainPointColor","_checkData","skippedFields","fieldsToCheck","allFieldsIsValid","isArgument","checkFields","getArgumentRangeInitialValue","_points$0$aggregation","_points$aggregationIn","getValueRangeInitialValue","_getRangeData","rangeCalculator","_getPointDataSelector","tagField","getTagField","_processEmptyValue","_drawPoint","hasAnimation","_drawnPoints","_errorBarGroup","_defaultAggregator","_aggregators","aggregationResult","errorBarsOptions","fusionData","calculateAvgErrorBars","calculateSumErrorBars","_endUpdateData","_calculateErrorBars","valueArrayLength","meanValue","errorBarType","floatErrorValue","addSubError","_patchMarginOptions","trackers","_segments","_trackers","_trackersGroup","_updateTrackerElement","_drawTrackerElement","_trackersTranslator","_checkAxisVisibleAreaCoord","oppositeCoord","isOpposite","coordName","oppositeCoordName","tmpCoord","_getNearestPoints","_getBezierPoints","_getNearestPointsByCoord","allPoints","bezierPoints","nearestPoints","minDistance","pCoord","nCoord","_applyVisibleArea","visibleX","visibleY","tmpPoint","clonePoint","newAngle","getTangentPoint","nextStepAngle","correctAngle","lineMethods","_applyGroupSettings","_elementsGroup","_bordersGroup","chartScatterSeries","_areBordersVisible","_getDefaultSegment","_parseLineOptions","_graphics","_drawElement","_removeElement","_updateElement","_sortPoints","segmentCount","lastSegment","defaultTrackerWidth","strokeWidthFromElements","_getMainPointsFromSegment","lineSeries","needValueCoord","_calculateStepLinePoints","_calculateBezierPoints","pointsCopy","checkExtremum","otherPointCoord","controlCoord","leftControlX","leftControlY","rightControlX","rightControlY","xCur","yCur","leftPoint","rightPoint","bezierCoordName","bezierOppositeCoordName","ts","p0","obtainCubicBezierTCoef","polarScatterSeries","preparedPoints","_closeSegment","_getTangentPoints","_getRemainingAngle","normAngle","_modifyReflectedPoint","lastPoint","differenceAngle","isLastSegment","tangentPoints","betweenAngle","coordParam","isInsideInterval","neighborPoints","stepAngle","b1","closed","firstPointCopy","lastPointCopy","rearwardRefPoint","forwardRefPoint","chartLineSeries","lineSeriesChart","polarLineSeries","lineSeriesPolar","calculateBezierPoints","baseAreaMethods","_createBorderElement","scatterSeries","defaultSegment","lineParams","areaParams","borderElement","singlePointSegment","areaSeries","processedPoints","_processSinglePointsAreaSegment","areaPoints","createAreaPoints","stepLineSeries","_areaPointsToSplineAreaPoints","previousMiddlePoint","middlePoint","areaSegment","areaDefaultSegment","areaChart","chartSeries","polarSeries","baseBarSeriesMethods","_getAffineCoordOptions","_getMainColor","mainColor","_updatePointsVisibility","_points","_animatePoints","drawnPoints","_this$getArgumentAxis","_defineDrawingState","animateFunc","markersSettings","groupSettings","barSeries","barChart","baseRangeSeries","val1Field","val2Field","rangeValue1Field","rangeValue2Field","minCoordName","processedMinPointsCoords","bottomLine","drawnElement","bordersGroup","bottomLineParams","bottomBorderElement","lineChart","chartBarSeries","polarBarSeries","barPolar","baseGetter","labelAnimFunc","_legendCallback","_getOldPoint","oldPointsByArgument","_pointsCount","labelSpace","paintNullPoints","pointsByArg","_rangeData","_getArrangeMinShownValue","minSegmentSize","totalMinSegmentSize","totalNotMinValues","_applyArrangeCorrection","minShownValue","isClockWise","zeroTotalCorrection","updatedZeroValue","_removePoint","originalPoints","isAllPointsNegative","labelRadius","animatePoint","completeFunc","defaultStyle","defaultPositiveStyle","reductionStyle","reductionPositiveStyle","markerSettings","prevLevelValue","openValueField","closeValueField","innerColor","_getDefaultStyle","_getReductionStyle","positiveStyle","ohlc","chartAreaSeries","baseStackedSeries","_stackName","stackedBar","preparePointsForStackedAreaSegment","forwardPoints","backwardPoints","prevSeriesForwardPoints","pointByArg","_segmentByArg","prevSeriesPoints","prevSeries","getPointsByArgFromPrevSeries","_polar","seriesNS","APPLY_SELECTED","APPLY_HOVER","RESET_ITEM","SERIES_SELECTION_CHANGED","POINT_SELECTION_CHANGED","SERIES_HOVER_CHANGED","POINT_HOVER_CHANGED","ALL_SERIES_POINTS","ALL_ARGUMENT_POINTS","POINT_HOVER","CLEAR_POINT_HOVER","SERIES_SELECT","POINT_SELECT","POINT_DESELECT","includePointsMode","mergePointOptionsCore","_eventPipe","getValueChecker","pieSeries","rangeSeriesChart","bubbleSeriesChart","financialSeries","stackedSeries","_createStyles","wideId","forceClipping","clipLabels","_clipLabels","applyClip","resetClip","_createPoint","lastSelectionMode","pointByArgument","_deleteGroup","_checkType","_checkPolarBarType","_pointOptions","_seriesModes","barOverlapGroup","_disposePoints","_canRenderCompleteHandle","itemsWithoutArgument","pointDataItem","_resample","_normalizeUsingAllAggregatedPoints","_createPoints","_removeOldSegments","_drawElements","translateAllPoints","closeSegment","groupForPoint","_changeStyle","seriesType","_setPointsView","_resetPointsView","_resetNearestPoint","_nearestPoint","_setSelectedState","_releaseSelectedState","_canChangeView","skipPoints","currentNearestPoint","_getMainAxisName","areLabelsVisible","maxLabelCount","customizeObject","customLabelOptions","customOptions","_isEmptyObject","_changeVisibility","mergePointOptions","_getAggregationMethod","customAggregator","addAggregatedData","aggregationMethod","dataInInterval","aggregatedData","_aggregationInfo","getAllPoints","_createAllAggregatedPoints","getPointByPos","setPointSelectedState","releasePointSelectedState","setPointHoverState","skipPointsCreation","argValue","seriesModes","targetOptions","pointHoverMode","selectionModeOfPoint","_hoverPointHandler","_clearPointHoverHandler","_selectPointHandler","_deselectPointHandler","_deletePoints","_deleteTrackers","getOpacity","removePointElements","removeGraphicElements","removeBordersGroup","continuousRangeCalculator","createGetLogFunction","getRangeCalculator","getInitialRange","processCategories","calculateRangeBetweenPoints","extraPoint","getValueForArgument","isLineSeries","getViewportReducer","calculatePointBetweenPoints","viewportFilter","startCalc","endCalc","dictionary","i1","argumentCalculator","valueRangeCalculator","viewportReducer","argumentRange","reducer","argumentViewPortFilter","valueViewPort","valueViewPortFilter","isEdge","isMinValueInViewPort","isMaxValueInViewPort","addEdgePoints","getValueByPlaceHolder","placeHolder","pointInfo","customFormat","customFormatIndex","getClosestCoord","closestCoord","closestDistance","getCrossCoord","barPointStrategy","labelPoint","xc","yc","rotatedBBox","figureCenter","isRectangular","lineIsVertical","symbolPointStrategy","piePointStrategy","_0","_1","isOutside","point1x","point1y","point2x","point2y","_degreesToRadians","selectStrategy","disposeItem","checkBackground","checkConnector","reductionValueText","actualText","continueProcess","startBracketIndex","endBracketIndex","processDisplayFormat","_figure","_textContent","_insideGroup","_connector","_setVisibility","holdInvisible","_holdVisibility","holdVisible","_updateBackground","_getLabelVisibility","_bBoxWithoutRotation","_rotateBBox","_bBox","_getConnectorPoints","_shiftBBox","ALLOWED_TYPES","winloss","_String","selectPointColor","pointIndexes","dxSparkline","_createSeries","_updateWidgetElements","_updateSeries","_seriesLabelGroup","_drawSeries","halfPointSize","_prepareDataSource","_prepareSeriesOptions","_simpleDataSource","_getCustomizeFunction","_groupsDataCategories","argField","valField","isDataNumber","parseNumericDataSource","_winlossDataSource","parseWinlossDataSource","areaOpacity","customizeFunction","drawnPointIndexes","_getExtremumPointsIndexes","winlossData","isWinloss","positiveColor","negativeColor","createBarCustomizeFunction","createLineCustomizeFunction","_minMaxIndexes","minIndexes","maxIndexes","dataLength","findMinMax","argCoef","isBarType","isWinlossType","hasMinY","hasMaxY","valCoef","_getBarWidth","_correctPoints","pointsLength","formattedFirst","formattedLast","formattedMin","formattedMax","originalFirstValue","originalLastValue","originalMaxValue","originalThresholdValue","thresholdValue","pointerHandler","generateCustomizeTooltipCallback","defaultCustomizeTooltip","lineSpacing","vt","generateDefaultCustomizeTooltipCallback","createAxis","_tooltipTracker","_initTooltipEvents","_disposeTooltipEvents","_change_OPTIONS","_change_UPDATE","_tooltipShown","_getTooltip","_tooltipRendererOptions","BLACK","LIGHT_GREY","GREY_GREEN","RED","PRIMARY_TITLE_COLOR","SECONDARY_TITLE_COLOR","SOLID","primaryTitleColor","secondaryTitleColor","gridColor","axisColor","rangesplinearea","horizontalAxis","verticalAxis","hasPositiveMeaning","_circular","valueIndicatorType","subvalueIndicatorType","_linear","barGauge","rangeSelector","hoveredBorderColor","selectedBorderWidth","selectedBorderColor","hoveredColor","selectedColor","selectedStep","backStep","backColor","backOpacity","hoveredBorderWidth","treeMap","sparkline","bullet","funnel","baseThemeName","ACCENT_COLOR","BACKGROUND_COLOR","TITLE_COLOR","SUBTITLE_COLOR","TEXT_COLOR","BORDER_COLOR","SOME_GREY","RANGE_COLOR","LINE_COLOR","TARGET_COLOR","POSITIVE_COLOR","CONTRAST_ACTIVE","MARKER_COLOR","menuButtonColor","activeBackgroundColor","activeColor","FONT_FAMILY","LIGHT_LABEL_COLOR","DARK_TITLE_COLOR","DARK_LABEL_COLOR","DARK_BACKGROUND_COLOR","LABEL_BORDER_COLOR","BREAK_STYLE_COLOR","getMaterialColorScheme","accentName","materialAccents","accent","themesMapping","themesSchemeMapping","nextCacheUid","widgetsCache","colorScheme","findThemeNameByName","getCurrentTheme","findThemeNameByPlatform","registerTheme","targetThemeName","themeInfo","splitter","getThemeInfo","registerThemeName","mergeScalar","mergeObject","patchAxes","patchMapLayers","patchTheme","cacheUid","lightThemes","carmineThemes","darkThemes","contrastThemes","darkMoonThemes","darkVioletThemes","greenMistThemes","softBlueThemes","materialThemes","minSelector","maxSelector","minVisibleSelector","maxVisibleSelector","baseSelector","axisTypeSelector","otherLessThan","thisValue","otherGreaterThan","compareAndReplace","otherValueDefined","_Range","otherRange","otherCategories","compareAndReplaceByField","controlValuesByVisibleBounds","visibleValueField","checkField","setZeroLevel","filteredSeriesCategories","notAFunction","domain1","domain2","_domain1","_domain2","_domainDelta","codomain1","codomain2","_codomain1","_codomain2","_codomainDelta","getCodomainEnd","getDomainRange","directionOffset","canvasOptions","_canvasOptions","categoryIndex","_categoriesToPoints","specialValue","translateSpecialCase","stickInterval","stickDelta","_calculateProjection","zoomEvent","translateCategories","visibleCount","categoriesLength","newVisibleCategories","newInterval","_getDiscreteInterval","stickOffset","_businessRange","_add","_intervalize","bp","skipRound","rangeMax","rangeMin","rMin","rangeMinVisible","rMax","rangeMaxVisible","projectedValue","_conversionValue","origInterval","_calculateUnProjection","stackValue","baseMethod","CANVAS_PROP","dummyTranslator","validateCanvas","getCheckingMethodsAboutBreaks","isStartSide","isEndSide","isInBreak","isBetweenBreaks","prevBreak","lastBreak","getBreaksSize","_Translator2d","_prepareCanvasOptions","logarithmicTranslator","intervalTranslator","categoryTranslator","categoriesToPoints","makeCategoriesToPoints","datetimeTranslator","_oldMethods","_checkingMethodsAboutBreaks","_translateBreaks","_calculateSpecialValues","_breaks","_checkValueAboutBreaks","inBreak","correctedCategoriesCount","getCanvasBounds","rangeDoubleError","_userBreaks","baseValueSelector","validateBusinessRange","transformFrom","transformTo","trFrom","trTo","prepareBreaks","canvas_position_default","canvas_position_center_middle","canvas_position_left","canvas_position_top","canvas_position_center","canvas_position_middle","canvas_position_right","canvas_position_bottom","canvas_position_start","canvas_position_end","zoomZeroLengthRange","newStart","newEnd","_correctValueAboutBreaks","getDateTimeMinScale","commonBreakSize","buildRectAppearance","buildTextAppearance","updateTile","minLevel","updateStyles","_buildState","updateLabelStyle","labelState","labelParams","_getState","getAlgorithm","directionToIndexOffsets","getStaticSideIndex","buildSidesData","_staticSideIndex","staticSideIndex","variedSideIndex","staticSideDirection","variedSideDirection","staticSideIndexOffsets","variedSideIndexOffsets","staticSide","variedSide","static1","static2","varied1","varied2","staticDir","variedDir","calculateRectangles","totalRect","sidesData","variedSidePart","defaultColorizerName","colorizers","wrapLeafColorGetter","wrapGroupColorGetter","_groupColor","addColorizer","getValueAsColorCode","createColorCodeGetter","colorCodeField","doStep","nextAspectRatio","nextSum","totalAspectRatio","bestAspectRatio","areaToValue","findAppropriateCollection","isFixedStaticSide","squarified","_squarify","discreteColorizer","colorizeGroups","getNodesCount","getLeafsCount","discreteGroupColorizer","discreteLeafColorizer","allNodes","prepareDiscreteGroupColors","lefttoprightbottom","leftbottomrighttop","righttopleftbottom","rightbottomlefttop","pickPositiveInteger","setDefaultColorizer","dxTreeMap","beginBuildNodes","endBuildNodes","calculateState","_buildRectAppearance","_rectOffsets","suspend","resume","calculateLabelState","_buildTextAppearance","_topNode","_createProxyType","_tilesGroup","_tilingRect","_changeDataSource","_isDataExpected","_isSyncData","_change_TILE_SETTINGS","_changeTileSettings","_change_GROUP_SETTINGS","_changeGroupSettings","_change_MAX_DEPTH","_changeMaxDepth","_change_NODES_RESET","_resetNodes","_performTiling","_change_LABELS_LAYOUT","_performLabelsLayout","forceReset","_processDataSourceItems","traverseDataItems","itemsField","_onNodesCreated","_calculateLabelSettings","tileEdge","tileInner","groupPadding","_headerHeight","_groupPadding","headerEdge","headerInner","_getTextBBox","tileLabelOptions","groupLabelOptions","tileLabelWordWrap","tileLabelOverflow","groupLabelOverflow","_maxDepth","_processNodes","processNodes","_getColorizer","processTileAppearance","processLabelAppearance","_getTilingAlgorithm","rectOffsets","innerRect","calculateRects","processTiling","_onTilingPerformed","processLabelsLayout","_textForCalculations","createTile","customLabel","createLabel","emptyRect","setRectAttrs","buildTileRect","marginateRect","effectiveWidth","layoutTextNode","sliceAndDice","sliceAndDiceAlgorithm","createGuessingColorizer","calculateRange","gradientColorizer","_createColorCodeGetter","createSimpleColorizer","rangeColorizer","getPaletteIndex","TreeMapBase","nodeProto","collectNodes","proxy","getParent","getChild","getChildrenCount","getAllChildren","isLeaf","_custom","_partialState","_partialLabelState","resetCustomization","_extendProxyType","_updateStyles","_updateLabelStyle","calculatePartialLabelState","resetNodes","_calculateState","calculateAdditionalStates","statesMap","additionalStates","buildAdditionalStates","setNodeStateRecursive","_hoverEnabled","_hoverNode","_hoverIndex","_groupHoverEnabled","_applyHoverState","_selectionList","_selectNode","selectionList","tileToFront","bringSelectedTilesToForeground","_applySelectionState","getProxy","_expand","drillDown","_drillToNode","_drilldownIndex","resetDrillDown","drillUp","getCurrentNode","treeFiller","tmpItems","pluginLoadIndicator","segmentSequence","visiblyOpt","prevSegmentVisibility","allSegment","segmentVisibility","canvas1","canvas2","sizeLessThreshold","canvasCoordsIsEqual","eventEmitterMethods","_eventNames","_disposeEvents","makeEventEmitter","_ln","TWO_TO_LN2","LN2","MIN_BOUNDS_RANGE","DEFAULT_CENTER","floatsEqual","f1","f2","arraysEqual","parseAndClamp","parseAndClampArray","getEngine","Engine","_engine","_adjustCenter","selectFarthestPoint","basePoint1","basePoint2","basePoint","selectClosestPoint","setMinMax","returnArray","_minZoom","_maxZoom","_zoom","setEngine","_changeCenter","_triggerCenterChanged","_changeZoom","_triggerZoomChanged","_setupScreen","setBounds","_x0","_y0","project","screenAR","boundsAR","_xRadius","_yRadius","_toScreen","_fromScreen","_toTransformed","_xCenter","_yCenter","_toTransformedFast","_fromTransformed","isInvertible","getSquareSize","getScaledZoom","setScaledZoom","scaledZoom","changeScaledZoom","deltaZoom","getZoomScalePartition","_setupScaling","setMaxZoom","centerChanged","setCenterByPoint","unproject","beginMoveCenter","_moveCenter","endMoveCenter","moveCenter","fromScreenPoint","setViewport","getZoomAndCenterFromViewport","getTransform","invertVerticalAxis","createUnprojectMethod","b2","createProjectUnprojectMethods","projectionsCache","createVisibilityGroup","toggleDisplay","blocks","COMMAND_RESET","COMMAND_MOVE_UP","COMMAND_MOVE_RIGHT","COMMAND_MOVE_DOWN","COMMAND_MOVE_LEFT","COMMAND_ZOOM_IN","COMMAND_ZOOM_OUT","COMMAND_ZOOM_DRAG","EVENT_TARGET_TYPE","SIZE_OPTIONS","bigCircleSize","smallCircleSize","buttonSize","arrowButtonOffset","incDecButtonSize","incButtonOffset","decButtonOffset","sliderLineStartOffset","sliderLineEndOffset","sliderLength","sliderWidth","trackerGap","COMMAND_TO_TYPE_MAP","_createElements","layoutControl","_subscribeToProjection","_subscribeToTracker","_createCallbacks","disposeCommand","ResetCommand","endMove","beginMove","ZoomCommand","dZoom","_adjustZoom","_zoomFactor","ZoomDragCommand","_pos","_offProjection","_zoomPartition","_sliderUnitLength","_sliderLineLength","_processStart","_processMove","_processEnd","isCenter","isZoom","panControl","_panControl","zoomBar","_zoomBar","trackersPan","_trackersPan","trackersZoom","_trackersZoom","_createTrackersPan","_createTrackersZoom","_createPanControl","_createZoomBar","offset1","offset2","_zoomLine","_zoomDrag","size2","_zoomDragTracker","_isActive","groupPan","groupZoom","_isPanVisible","_isZoomVisible","setInteraction","interaction","centeringEnabled","styleSvg","panVisible","zoomVisible","_applyZoom","commandType","FLAG_CENTERING","_LN2","GestureHandler","_processZoom","_centeringEnabled","_zoomingEnabled","EVENTS","Focus","_addNamespace","_NAME","EVENT_START","EVENT_MOVE","EVENT_ZOOM","EVENT_HOVER_ON","EVENT_HOVER_OFF","EVENT_CLICK","EVENT_FOCUS_ON","EVENT_FOCUS_MOVE","EVENT_FOCUS_OFF","_createEventHandlers","_createProjectionHandlers","getEventCoords","getPointerId","getMultitouchEventCoords","DataExchanger","setupEvents","_detachHandlers","_docHandlers","_rootHandlers","_startClick","_clickState","_endClick","_startDrag","_dragState","_moveDrag","_endDrag","_wheelZoom","_wheelLock","dirTime","adjustWheelDelta","_startZoom","pointer2","_zoomState","pointer1","x1_0","y1_0","x2_0","y2_0","_moveZoom","_endZoom","currentDistance","_startHover","_doHover","_moveHover","_cancelHover","_hoverTarget","_hoverState","_startFocus","_doFocus","_cancelFocus","turnOff","turnOn","DATA_KEY","_isTouchEnabled","_isWheelEnabled","_activeData","_disabled","_offTimer","onCheck","unknownSource","_BaseLegend","itemsGroupClass","_onDataChanged","LegendsControl","_unbindData","notifyDirty","notifyReady","buildData","_dataName","_dataCategory","dataExchanger","_bindData","createCells","hStep","vStep","v3","horInversion","verInversion","itemsList","adjustCellsAndApplyLayout","forceMode","hasHiddenItems","otherCell","size1","otherCell1","otherCell2","adjustCellSizes","xOffset","yOffset","totalL","totalT","totalR","totalB","moves","applyCellLayout","LayoutControl","_suspended","_concat","TYPE_AREA","TYPE_LINE","TYPE_MARKER","STATE_TO_INDEX","SELECTIONS","single","getMaxBound","EmptySource","ArraySource","GeoJsonSource","isGeoJsonObject","features","setAreaLabelVisibility","spaceSize","setLineLabelVisibility","getDataValue","bbox","TYPE_TO_TYPE_MAP","MultiPoint","LineString","MultiLineString","Polygon","MultiPolygon","pick","groupByColor","groupBySize","emptyStrategy","updateGrouping","getDefaultColor","strategiesByType","strategiesByGeometry","strategiesByElementType","sample","guessTypeByData","fullType","applyElementState","projectPointList","projectLineString","projectPolygon","transformList","transformPointList","combineSettings","findGroupingIndex","applyGrouping","paletteIndex","partial","valueCallback","projectLabel","centroid","resultCentroid","maxArea","calculatePolygonCentroid","transformLabel","getLabelOffset","hoveredOpacity","hasLabelsGroup","calculateLineStringData","_getStyles","_setState","projectMultiPolygon","dot","back","hoveredSize","selectedSize","hoveredBackSize","selectedBackSize","sizeGroups","deltaValue","deltaSize","zeroSum","hoveredStep","MapLayerElement","performGrouping","settingField","valuesCallback","dropGrouping","setFlag","hasFlag","colorGroups","colorGroupingField","sizeGroupingField","MapLayer","_onProjection","getElements","getProxies","_noEvent","createLayerProxy","_dataSourceLoaded","totalLength","min0","max0","min1","max1","MapLayerCollection","_layers","_layerByName","_clip","_dataReady","dataReady","getDataReadyCallback","_removeHandlers","_project","_transform","_transformCore","unwrapFromDataSource","_specificDataSourceOption","_normalizeDataSource","_destroyHandles","labelRoot","_options_dataSource","isContextChanged","paletteSize","processCommonSettings","hasSeparateLabel","resetSelected","_createHandles","_updateHandles","coordsToBoundsSearch","ac","proxies","restoreSelected","measureLabel","adjustLabel","hoverItem","setHovered","setSelected","createProxy","_ctx","_fig","_coordinates","_projectLabel","_labelProjection","_transformLabel","_refreshLabel","_setForeground","byName","needToCreateLayers","layerByName","_updateClip","bw","_borderWidth","setBackgroundOptions","setRect","byIndex","TooltipViewer","layerCollection","nextDataKey","_asin","_tan","_atan","_exp","_log","PI_DIV_4","GEO_LON_BOUND","RADIANS","MERCATOR_LAT_BOUND","MILLER_LAT_BOUND","clamp","RE_STARTS_LAYERS","RE_ENDS_DATA_SOURCE","mergeBounds","sumBounds","dataBounds","dxVectorMap","_initLayerCollection","_layerCollection","_dataExchanger","_notifyDirty","_notifyReady","_preventProjectionEvents","_getBoundsFromData","_allowProjectionEvents","longitudeLength","latitudeLength","_getBoundingBoxFromDataSource","boundsByData","_initLegendsControl","_legendsControl","_layoutControl","_initControlBar","_controlBar","_initElements","preventProjectionEvents","notifyCounter","_gestureHandler","_tooltipViewer","_change_RESUME_LAYOUT","_setupInteraction","extraElements","_change_PROJECTION","_setProjection","_change_BOUNDS","_setBounds","_change_MAX_ZOOM_FACTOR","_setMaxZoom","_change_ZOOM_FACTOR","_setZoom","_change_CENTER","_setCenter","_change_BACKGROUND","_setBackgroundOptions","_change_LAYERS","_setLayerCollectionOptions","_change_CONTROL_BAR","_setControlBarOptions","_change_EXTRA_ELEMENTS","_change_LEGENDS","_setLegendsOptions","_change_TRACKER","_setTrackerOptions","_change_INTERACTION","infinityBounds","resultBBox","sumBBox","layerData","rootBBox","getLayerByIndex","getLayerByName","convertCoordinates","convertToGeo","convertToXY","ExportPlugin","TitlePlugin","TooltipPlugin","annotationsPlugins","fs","exists","true","false","workbook","worksheet","readFile","createReadStream","addWorksheet","sheetName","dateFormats","parserOptions","pipe","createInputStream","getWorksheet","sheetId","formatterOptions","dateFormat","dateUTC","hyperlink","includeEmptyRows","eachRow","writeFile","encoding","createWriteStream","writeBuffer","dayjs","decodeAddress","nativeCol","nativeColOff","nativeRow","nativeRowOff","asInstance","getColumn","isCustomWidth","slideFormula","_row","_column","validateAddress","_address","Types","Null","_mergeStyle","_mergeCount","numFmt","protection","$col$row","letter","effectiveType","toCsvString","addMergeRef","releaseMergeRef","isMerged","unmerge","isMergedTo","master","Hyperlink","note","_comment","escapeHtml","_upgradeToHyperlink","formulaType","fullAddress","definedNames","getNamesEx","removeAllNames","addEx","addName","removeName","removeEx","_dataValidations","dataValidations","dataValidation","fromModel","sharedFormula","richText","RichText","sharedString","SharedString","shareType","_copyModel","_getTranslatedFormula","FormulaType","Master","Shared","_translatedFormula","findCell","_master","_worksheet","defn","n2l","outlineLevel","_hidden","getColumnKey","deleteColumnKey","setColumnKey","_outlineLevel","outlineLevelCol","equivalentTo","headerCount","eachCell","toModel","matrixMap","getMatrix","decodeEx","addCellEx","removeCellEx","getNames","findCellEx","_explore","findCellAt","getRanges","$shortRange","normaliseMatrix","forEachInSheet","spliceRows","spliceColumns","addCell","RelationshipType","OfficeDocument","Worksheet","CalcChain","SharedStrings","Styles","DocumentType","Xlsx","ReadingOrder","LeftToRight","RightToLeft","ErrorValue","NotApplicable","Ref","Name","DivZero","Num","imageId","hyperlinks","ext","editAs","decode","deepMerge","DEFAULT_CONFIGS","insetmode","inset","lockText","setTLBR","_serialisedSheetName","expandToAddress","$t$l","$b$r","shortRange","intersects","containsEx","forEachAddress","encodeAddress","commit","_commitRow","getCellEx","l2n","includeEmpty","addPageBreak","man","rowBreaks","eachColumnKey","hasValues","outlineLevelRow","_set","cacheState","filterButton","totalsRowLabel","totalsRowFunction","totalsRowResult","totalsRowFormula","getFormula","filterHeight","totalsRow","autoFilterRef","encode","assignStyle","removeRows","removeColumns","_assign","displyName","displayNamename","showFirstColumn","showLastColumn","showRowStripes","showColumnStripes","company","created","keywords","manager","calcProperties","_worksheets","media","_definedNames","xlsx","_xlsx","csv","_csv","trace","tabColor","argb","indexed","orderNo","removeWorksheetEx","removeWorksheet","worksheets","eachSheet","clearThemes","_themes","addImage","lastModifiedBy","lastPrinted","sheets","revision","contentStatus","copyStyle","_workbook","_merges","defaultRowHeight","dyDescent","pageSetup","horizontalDpi","verticalDpi","fitToPage","fitToHeight","pageOrder","blackAndWhite","draft","cellComments","paperSize","showRowColHeaders","showGridLines","firstPageNumber","horizontalCentered","verticalCentered","colBreaks","headerFooter","differentFirst","differentOddEven","oddHeader","oddFooter","evenHeader","evenFooter","firstHeader","firstFooter","autoFilter","_media","sheetProtection","conditionalFormattings","_headerRowCount","lastColumn","actualColumnCount","_lastRowNumber","_nextRow","findRow","findRows","actualRowCount","getRows","_setStyleOption","addRows","insertRows","_copyStyle","duplicateRow","getSheetValues","getAddress","mergeCells","_mergeCellsInternal","mergeCellsWithoutStyle","_unMergeMaster","hasMerges","unMergeCells","fillFormula","getImages","addBackgroundImage","getBackgroundImageId","protect","spinCount","algorithmName","saltValue","randomBytes","hashValue","convertPasswordToHash","unprotect","addTable","removeTable","getTables","addConditionalFormatting","removeConditionalFormatting","merges","_parseRows","_parseMergeCells","Workbook","TextDecoder","bufferToString","TextEncoder","stringToBuffer","getCellAt","findSheet","findSheetRow","findRowCell","_l2nFill","_l2n","_n2l","_fill","_hash","oneDepthCopy","createHash","digest","getHashes","writeUInt32LE","crypto","SaxesParser","PassThrough","saxes","_encoding","toBuffer","_buffer","_buf","iRead","iWrite","eod","bufSize","buffers","corked","inPos","outPos","pipes","paused","Duplex","_getWritableBuffer","_pipe","_writeToBuffers","nop","cork","_flush","uncork","setEncoding","pause","isPaused","unpipe","_process","_inPos","capacity","_grow","addText","addStringBuf","keyBy","strcmp","isUndefined","promiseImmediate","setImmediate","super_","dateToExcel","excelToDate","parsePath","getRelsPath","xmlEncode","xmlDecode","validInt","isDateFmt","access","F_OK","toIsoDateString","toIsoString","subsstr","parseBoolean","_xml","_stack","_rollbacks","tos","openXml","addAttribute","addAttributes","writeText","writeXml","closeNode","leafNode","closeAll","addRollback","rollback","StdDocAttributes","stream","ZipWriter","jszip","CoreProperties","ExtenderProperties","Comments","VmlDrawing","prepare","parseOpen","parseClose","reconcile","xform","mergeModel","parseStream","toAttribute","toStringAttribute","toStringValue","toBoolAttribute","toBoolValue","toIntAttribute","toIntValue","toFloatAttribute","toFloatValue","localSheetId","_parsedName","_parsedLocalSheetId","_parsedText","rId","calcId","fullCalcOnLoad","date1904","defaultThemeVersion","filterPrivacy","xWindow","yWindow","firstSheet","activeTab","fileVersion","STATIC_XFORMS","workbookPr","bookViews","childXform","calcPr","printArea","printTitlesRow","printTitlesColumn","WORKBOOK_ATTRIBUTES","workbookRels","Id","worksheetHash","Target","appName","lastEdited","lowestEdited","rupBuild","richTextXform","_richTextXform","authorId","COMMENTS_ATTRIBUTES","comments","getAnchorRect","getDefaultRect","refAddress","ObjectType","normalizeModel","DRAWING_ATTRIBUTES","coordsize","joinstyle","gradientshapeok","anchors","V_SHAPE_ATTRIBUTES","obscured","fillcolor","strokecolor","conversionUnit","reverseConversionUnit","createNewModel","onParserClose","Company","Manager","HeadingPairs","TitleOfParts","PROPERTY_ATTRIBUTES","DateFormat","DateAttrs","Extension","ContentType","PartName","sharedStrings","drawings","commentRefs","commentName","CORE_PROPERTY_ATTRIBUTES","Relationship","RELATIONSHIPS_ATTRIBUTES","reconcilePicture","rels","mediaIndex","cstate","noChangeAspect","anchorType","uri","picture","prst","$count","maxItems","richTextXForm","addStyleModel","styleId","ssId","siFormulae","formulae","renderFormula","getStyleModel","getString","hyperlinkMap","commentsMap","iconSet","iconId","v4","databarXform","iconSetXform","isExt","x14Id","renderDataBar","renderIconSet","uuid","fExtXform","sqRef","cfRule","cfXform","hasExtContent","cfvoXform","borderColorXform","negativeBorderColorXform","negativeFillColorXform","axisColorXform","minLength","negativeBarColorSameAsPositive","negativeBarBorderColorSameAsPositive","cfvo","negativeBorderColor","negativeFillColor","cfIconXform","showValue","icons","dataBar","extLst","extLstRefXform","formulaXform","colorScale","colorScaleXform","renderExpression","renderCellIs","renderTop10","renderAboveAverage","renderColorScale","renderTimePeriod","dxfId","rank","aboveAverage","timePeriod","colorXform","sqref","addDxfStyle","getDxfStyle","idXform","bestFit","marked","matchCol","allowBlank","showInputMessage","promptTitle","prompt","showErrorMessage","errorStyle","errorTitle","_dataValidation","_formula","isInternalLink","getMasterAddress","summaryBelow","summaryRight","useFirstPageNumber","usePrinterDefaults","copies","headings","gridLines","numRowsSeen","spans","defaultColWidth","customHeight","pageSetUpPr","outlinePr","outlineProperties","selectLockedCells","selectUnlockedCells","formatCells","formatColumns","formatRows","insertColumns","insertHyperlinks","deleteColumns","deleteRows","pivotTables","scenarios","frozen","frozenSplit","workbookViewId","rightToLeft","tabSelected","showRuler","zoomScale","zoomScaleNormal","xSplit","ySplit","topLeftCell","activePane","activeCell","sheetView","selections","mergeConditionalFormattings","maxRows","maxCols","ignoreNodes","sheetPr","sheetViews","sheetFormatPr","sheetData","pageMargins","printOptions","drawing","tableParts","conditionalFormatting","Type","TargetMode","vmlDrawing","drawingsCount","preImageId","WORKSHEET_ATTRIBUTES","relationships","vmlDrawings","eb","textXform","_textXform","fontXform","_fontXform","FONT_OPTIONS","fontNameTag","rPh","rich","sharedStringXform","_sharedStringXform","uniqueCount","addRichText","horizontalValues","verticalValues","shrinkToFit","textRotation","readingOrder","validStyle","validStyleValues","diagonal","diagonalUp","diagonalDown","tint","fgColor","bgColor","degree","gradientFill","validPatternValues","StopXform","PatternFillXform","GradientFillXform","OPTIONS","charset","condense","vertAlign","sz","getDefaultFmtId","getDefaultFmtCode","borderId","numFmts","fills","borders","cellStyleXfs","cellXfs","dxfs","initIndex","numFmtNextId","_addBorder","_addStyle","_addFill","weakMap","STYLESHEET_ATTRIBUTES","_addFont","_addNumFmtStr","builtinId","defaultTableStyle","defaultPivotStyle","defaultSlicerStyle","defaultTimelineStyle","Mock","autodrain","dateStyleId","_dateStyleId","double","singleAccounting","doubleAccounting","filterColumn","customFilters","colId","hiddenButton","tableColumns","tableStyleInfo","totalsRowCount","totalsRowShown","parseRels","parseWorkbook","parseSharedStrings","drawingRels","worksheetRels","sheetNo","globalRels","sheetDefs","_processWorksheetEntry","_processCommentEntry","_processTableEntry","_processWorksheetRelsEntry","_processMediaEntry","_processDrawingEntry","_processDrawingRelsEntry","_processVmlDrawingEntry","_processThemeEntry","loadAsync","writableObjectMode","readableObjectMode","addMedia","filename","addDrawings","addTables","addContentTypes","addApp","addCore","addThemes","theme1","addOfficeRels","RelType","addWorkbookRels","addSharedStrings","addStyles","addWorkbook","addWorksheets","prepareModel","useSharedStrings","useStyles","CsvFormatterStream","Transform","objectMode","hasWrittenBOM","rowFormatter","RowFormatter","writeBOM","rowTransform","BOM","FormatterOptions","rowDelimiter","quote","quoteColumns","quoteHeaders","includeEndRowDelimiter","alwaysWriteHeaders","shouldWriteHeaders","writeHeaders","escapedQuote","FieldFormatter","_headers","REPLACE_REGEXP","ESCAPE_REGEXP","shouldQuote","quoteField","fieldFormatter","hasWrittenHeaders","isRowHashArray","isRowArray","gatherHeaders","createTransform","isSyncTransform","_rowTransform","callTransformer","shouldFormatColumns","checkHeaders","gatherColumns","writeToPath","writeToString","writeToBuffer","writeToStream","promisify","Writable","util","CsvParserStream","parsedRowCount","parsedLineCount","endEmitted","headersEmitted","headerTransformer","HeaderTransformer","decoder","StringDecoder","rowTransformerValidator","RowTransformerValidator","hasHitRowLimit","limitRows","shouldEmitRows","skipRows","shouldSkipLine","skipLines","rowValidator","wrapDoneCallback","processRows","checkAndEmitHeaders","transformRow","pushRow","transformAndValidate","skipRow","string_decoder","ParserOptions","ignoreEmpty","supportsComments","ltrim","rtrim","renameHeaders","strictColumnHandling","discardUnmappedColumns","carriageReturn","escapedDelimiter","NEXT_TOKEN_REGEXP","parseFile","Readable","rowParser","RowParser","removeBOM","Scanner","hasMoreData","parseWithComments","parseWithoutComments","parseRow","nextCharacterToken","Token","isTokenComment","advancePastLine","lineFromCursor","hasMoreCharacters","truncateToCursor","nextNonSpaceToken","isEmptyRow","columnParser","ColumnParser","getStartToken","isTokenRowDelimiter","advancePastToken","isTokenCarriageReturn","shouldSkipColumnParse","isTokenDelimiter","startCursor","endCursor","advanceTo","advanceToToken","isTokenEscapeCharacter","isTokenQuote","ColumnFormatter","trimLeft","trimRight","quotedColumnParser","QuotedColumnParser","nonQuotedColumnParser","NonQuotedColumnParser","columnFormatter","foundClosingQuote","gatherDataBetweenQuotes","checkForMalformedColumn","receivedHeaders","shouldUseFirstRow","processedFirstRow","headersLength","setHeaders","headersTransform","shouldMapRow","processRow","mapHeaders","_rowValidator","isSyncValidate","callValidator","bignum","define","decoders","encoders","_createNamed","_initNamed","_getDecoder","_getEncoder","Reporter","isEncoderBuffer","DecoderBuffer","isDecoderBuffer","readUInt8","reporter","_reporterState","EncoderBuffer","_baseState","enc","reverseArgs","choice","optional","any","use","useDecoder","explicit","implicit","_useArgs","_decode","wrapResult","enterKey","_peekTag","_decodeGeneric","_decodeChoice","enterObject","_decodeTag","track","_getUse","leaveObject","exitKey","leaveKey","_decodeList","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeBool","_decodeInt","_use","_createEncoderBuffer","_encode","_encodeValue","_skipDefault","_encodeChoice","_encodePrimitive","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool","_isNumstr","_isPrintstr","rethrow","pathLen","captureStackTrace","tagClass","tagClassByName","tagByName","_reverse","der","cls","tagStr","_skipUntilEnd","unused","readUInt16BE","pem","writeUInt16BE","defaultBuffer","isBN","BN","wordSize","cmp","_initNumber","_initArray","_parseHex","_parseBase","imuln","_iaddn","_normSign","inspect","modn","idivn","toArrayLike","andln","iushrn","clz32","_countBits","_zeroBits","bitLength","zeroBits","toTwos","inotn","iaddn","fromTwos","testn","notn","ineg","isNeg","neg","iuor","ior","uor","iuand","iand","uand","iuxor","ixor","uxor","setn","iadd","isub","ie","oe","ae","le","ue","fe","pe","me","imul","ge","ye","ve","we","xe","ke","Se","Me","Ce","Te","Ee","Ae","Re","Oe","je","Ie","Ne","mulp","mulTo","makeRBT","revBin","permute","guessLen13b","conjugate","normalize13b","convert13b","mul","mulf","muln","sqr","isqr","iushln","ishln","ishrn","shln","ushln","shrn","ushrn","imaskn","maskn","isubn","addn","subn","iabs","_ishlnsubmul","_wordDiv","divn","umod","divRound","egcd","gcd","_invmp","cmpn","invm","bincn","ucmp","gtn","gt","gten","gte","ltn","lten","lte","eqn","toRed","convertTo","_forceRed","fromRed","convertFrom","forceRed","redAdd","redIAdd","redSub","redISub","redShl","shl","redMul","_verify2","redIMul","redSqr","_verify1","redISqr","redSqrt","redInvm","redNeg","redPow","k256","p224","p192","p25519","_tmp","_prime","prime","r2","imod","rinv","minv","ireduce","imulK","_strip","mont","toByteArray","fromByteArray","modrn","_toArrayLikeLE","_toArrayLikeBE","rand","Rand","_rand","getBytes","getByte","getRandomValues","msCrypto","readUInt32BE","SBOX","INV_SBOX","SUB_MIX","INV_SUB_MIX","keySize","_nRounds","_keySchedule","_invKeySchedule","encryptBlockRaw","encryptBlock","writeUInt32BE","decryptBlock","scrub","AES","_cipher","_ghash","_finID","writeUIntBE","_prev","_secCache","_decrypt","_alen","_mode","_authTag","_called","encrypt","_final","final","getAuthTag","setAuthTag","setAAD","createCipher","Cipher","createCipheriv","Cipheriv","createDecipher","Decipher","createDecipheriv","Decipheriv","listCiphers","getCiphers","_last","_autopadding","iv","decrypt","setAutoPadding","evp_bytestokey","writeUInt8","ghash","_multiply","ECB","CBC","CFB","CFB8","CFB1","OFB","CTR","GCM","cipher","aes128","aes192","aes256","instantiate","EDE","DES","_des","des","des3","modulus","prime1","prime2","blinder","publicExponent","unblinder","exponent1","exponent2","getr","randombytes","sha224WithRSAEncryption","sha256WithRSAEncryption","sha384WithRSAEncryption","sha512WithRSAEncryption","sha256","sha224","sha384","sha512","DSA","ripemd160WithRSA","md5WithRSAEncryption","_hashType","_tag","_signType","_write","verify","Sign","Verify","createSign","createVerify","ec","curve","keyFromPrivate","toDER","priv_key","makeKey","elliptic","subjectPrivateKey","pub_key","signature","allocUnsafeSlow","SlowBuffer","isEncoding","fillLast","lastNeed","lastTotal","lastChar","isView","INSPECT_MAX_BYTES","kMaxLength","TYPED_ARRAY_SUPPORT","foo","species","poolSize","_isBuffer","swap16","swap32","swap64","_arr","subarray","readUIntLE","readUIntBE","readUInt16LE","readUInt32LE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUInt16LE","writeIntLE","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","copyWithin","ieee754","hashMode","_finalOrDigest","__final","_decoder","_toString","filterReject","Pebble","stopped","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","dup","WebKitMutationObserver","exit","PromiseRejectionEvent","finally","REJECTION_EVENT","SUBCLASSING","keyFor","clearImmediate","Dispatch","MessageChannel","postMessage","port2","port1","onmessage","importScripts","Arguments","rejection","notified","reactions","race","fromCodePoint","QObject","useSetter","useSimple","secp256k1","secp224r1","prime256v1","prime192v1","ed25519","secp384r1","secp521r1","curveType","p256","secp256r1","secp192r1","p384","p521","generateKeys","genKeyPair","getPublicKey","computeSecret","keyFromPublic","getPublic","getPrivate","getX","getPrivateKey","setPublicKey","_importPublic","setPrivateKey","_importPrivate","ripemd160","_alg","_ipad","_opad","rng","pseudoRandomBytes","prng","createHmac","Hmac","pbkdf2","pbkdf2Sync","DiffieHellmanGroup","createDiffieHellmanGroup","getDiffieHellman","createDiffieHellman","DiffieHellman","createECDH","publicEncrypt","privateEncrypt","publicDecrypt","privateDecrypt","randomFill","randomFillSync","createCredentials","DH_CHECK_P_NOT_SAFE_PRIME","DH_CHECK_P_NOT_PRIME","DH_UNABLE_TO_CHECK_GENERATOR","DH_NOT_SUITABLE_GENERATOR","NPN_ENABLED","ALPN_ENABLED","RSA_PKCS1_PADDING","RSA_SSLV23_PADDING","RSA_NO_PADDING","RSA_PKCS1_OAEP_PADDING","RSA_X931_PADDING","RSA_PKCS1_PSS_PADDING","POINT_CONVERSION_COMPRESSED","POINT_CONVERSION_UNCOMPRESSED","POINT_CONVERSION_HYBRID","randomfill","dayjs_plugin_customParseFormat","zone","afternoon","SSS","ss","HH","DD","Do","MMM","MMMM","YY","YYYY","ZZ","customParseFormat","parseTwoDigitYear","dayjs_plugin_utc","local","getUTCMilliseconds","$localOffset","_cbcInit","_cbcState","bufferOff","_updateDecrypt","_updateEncrypt","_flushBuffer","_finalEncrypt","_finalDecrypt","_pad","_unpad","_desState","deriveKeys","pc1","r28shl","pc2","ip","_encrypt","substitute","rip","ciphers","_edeState","padSplit","gen","_pub","_priv","setGenerator","__prime","_primeLen","_primeCode","simpleSieve","fermatTest","__gen","_gen","getPrime","getGenerator","modp1","modp2","modp5","modp14","modp15","modp16","modp17","modp18","curves","eddsa","brorand","getNAF","getJSF","two","pointFromJSON","gRed","_wnafT1","_wnafT2","_wnafT3","_wnafT4","_bitLength","redN","_maxwellTrick","precomputed","_fixedNafMul","_getDoubles","jpoint","mixedAdd","toP","_wnafMul","_getNAFPoints","wnd","dblp","_wnafMulAdd","toJ","BasePoint","decodePoint","pointFromX","encodeCompressed","getY","precompute","doubles","naf","beta","_getBeta","_hasDoubles","dbl","twisted","mOneA","extended","oneC","zOne","_mulA","_mulC","pointFromY","isInfinity","fromJSON","_extDbl","_projDbl","_extAdd","_projAdd","mulAdd","jmulAdd","eqXToP","edwards","i4","a24","diffAdd","jumlAdd","tinv","zeroA","threeA","endo","_getEndomorphism","_endoWnafT1","_endoWnafT2","inf","_getEndoRoots","lambda","_getEndoBasis","_endoSplit","_endoWnafMulAdd","_zeroDbl","_threeDbl","_dbl","trpl","PresetCurve","nh","keyPair","fromPrivate","fromPublic","pers","persEnc","entropy","hmacStrength","entropyEnc","_truncateToN","canonical","recoveryParam","recoverPubKey","getKeyRecoveryParam","priv","pub","privEnc","pubEnc","derive","_importDER","place","parseBytes","pointClass","encodingLength","keyFromSecret","hashInt","messagePrefix","encodePoint","pubBytes","makeSignature","Rencoded","intFromLE","fromSecret","encodeInt","decodeInt","isPoint","cachedProperty","_secret","secret","_pubBytes","privBytes","getSecret","_R","_S","_Rencoded","_Sencoded","Sencoded","toBytes","zero2","scripts","lint","repository","author","bugs","homepage","devDependencies","brfs","coveralls","eslint","grunt","istanbul","mocha","_maxListeners","defaultMaxListeners","newListener","warned","wrapFn","setMaxListeners","getMaxListeners","prependListener","prependOnceListener","rawListeners","_block","_blockOffset","_finalized","_digest","sha","ripemd","hmac","sha1","pending","pendingTotal","outSize","padLength","endian","_delta8","_delta32","BlockHash","join32","rotl32","sum32","sum32_3","sum32_4","toHex32","split32","sum32_5","ft_1","ch32","maj32","s0_256","s1_256","g0_256","g1_256","rotr64_hi","rotr64_lo","shr64_hi","shr64_lo","sum64","sum64_hi","sum64_lo","sum64_4_hi","sum64_4_lo","sum64_5_hi","sum64_5_lo","_prepareBlock","rotr32","p32","htonl","zero8","predResist","outLen","minEntropy","_reseed","reseedInterval","nonceEnc","_hmac","reseed","getTypeOf","uint8array","compressedSize","uncompressedSize","crc32","compressedContent","getContentWorker","uncompressWorker","streamInfo","data_length","getCompressedWorker","withStreamInfo","createWorkerFrom","compressWorker","STORE","magic","DEFLATE","createFolders","compressionOptions","unixPermissions","dosPermissions","lie","Uint16Array","Uint32Array","_pako","_pakoAction","_pakoOptions","meta","processChunk","_createPako","cleanUp","onData","pako","utf8encode","fileRecord","LOCAL_FILE_HEADER","dirRecord","CENTRAL_FILE_HEADER","bytesWritten","zipComment","zipPlatform","encodeFileName","streamFiles","contentBuffer","dirRecords","currentSourceOffset","entriesCount","currentFile","_sources","openedSource","closedSource","DATA_DESCRIPTOR","CENTRAL_DIRECTORY_END","prepareNextSource","registerPrevious","generatedError","generateWorker","_compressWorker","external","decompressed","checkCRC32","optimizedBinaryString","decodeFileName","utf8decode","isStream","prepareContent","fileNameStr","fileCommentStr","unsafeOriginalName","_upstreamEnded","_bindStream","_stream","_helper","_read","newBufferFrom","allocBuffer","generateInternalStream","checkSupport","generateNodeStream","toNodejsStream","byteAt","lastIndexOfSignature","readAndCheckSignature","readData","checkOffset","checkIndex","setIndex","readInt","readString","readDate","ZIP64_CENTRAL_DIRECTORY_LOCATOR","ZIP64_CENTRAL_DIRECTORY_END","destType","dataIsReady","_tickScheduled","_tickAndRepeat","isFinished","_tick","extraStreamInfo","_listeners","mergeStreamInfo","nodestream","_internalType","_outputType","_mimeType","_worker","newBlob","arraybuffer","nodebuffer","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","leftOver","applyFromCharCode","Utf8DecodeWorker","Utf8EncodeWorker","stringifyByChunk","stringifyByChar","applyCanBeUsed","MAX_VALUE_16BITS","MAX_VALUE_32BITS","pretty","setimmediate","checkSignature","isSignature","readBlockEndOfCentral","diskNumber","diskWithCentralDirStart","centralDirRecordsOnThisDisk","centralDirRecords","centralDirSize","centralDirOffset","zipCommentLength","readBlockZip64EndOfCentral","zip64EndOfCentralSize","zip64ExtensibleData","readBlockZip64EndOfCentralLocator","diskWithZip64CentralDirStart","relativeOffsetEndOfZip64CentralDir","disksCount","readLocalFiles","localHeaderOffset","readLocalPart","handleUTF8","processAttributes","readCentralDir","zip64","readCentralPart","readEndOfCentral","prepareReader","isEncrypted","bitFlag","useUTF8","fileNameLength","compressionMethod","versionMadeBy","extraFieldsLength","fileCommentLength","diskNumberStart","internalFileAttributes","externalFileAttributes","readExtraFields","parseZIP64ExtraField","fileComment","extraFields","findExtraFieldUnicodePath","findExtraFieldUnicodeComment","_dataBinary","internalStream","_decompressWorker","nodeStream","outcome","onFulfilled","callFulfilled","otherCallFulfilled","onRejected","callRejected","otherCallRejected","windowBits","memLevel","gzip","msg","ended","chunks","strm","avail_out","deflateInit2","deflateSetHeader","string2buf","deflateSetDictionary","_dict_set","next_in","avail_in","Buf8","next_out","deflate","buf2binstring","shrinkBuf","deflateEnd","flattenChunks","Deflate","deflateRaw","inflateInit2","Z_OK","inflateGetHeader","Z_FINISH","Z_NO_FLUSH","binstring2buf","Z_NEED_DICT","inflateSetDictionary","Z_BUF_ERROR","Z_STREAM_END","Z_SYNC_FLUSH","utf8border","buf2string","arraySet","inflateEnd","Inflate","inflateRaw","ungzip","Int32Array","setTyped","Buf16","Buf32","Z_PARTIAL_FLUSH","Z_FULL_FLUSH","Z_BLOCK","Z_TREES","Z_ERRNO","Z_STREAM_ERROR","Z_DATA_ERROR","Z_NO_COMPRESSION","Z_BEST_SPEED","Z_BEST_COMPRESSION","Z_DEFAULT_COMPRESSION","Z_FILTERED","Z_HUFFMAN_ONLY","Z_RLE","Z_FIXED","Z_DEFAULT_STRATEGY","Z_BINARY","Z_TEXT","Z_UNKNOWN","Z_DEFLATED","pending_buf","pending_out","total_out","_tr_flush_block","block_start","strstart","max_chain_length","prev_length","nice_match","w_size","w_mask","good_match","lookahead","match_start","window_size","hash_size","adler","total_in","ins_h","hash_shift","hash_mask","match_length","_tr_tally","max_lazy_match","last_lit","prev_match","match_available","good_length","max_lazy","nice_length","max_chain","pending_buf_size","gzhead","gzindex","last_flush","w_bits","hash_bits","dyn_ltree","dyn_dtree","bl_tree","l_desc","d_desc","bl_desc","bl_count","heap","heap_len","heap_max","l_buf","lit_bufsize","d_buf","opt_len","static_len","bi_buf","bi_valid","data_type","_tr_init","deflateInit","deflateReset","deflateResetKeep","hcrc","_tr_align","_tr_stored_block","deflateInfo","xflags","extra_len","dmax","wsize","whave","wnext","hold","lencode","distcode","lenbits","distbits","sane","havedict","wbits","ncode","nlen","ndist","have","lens","work","lendyn","distdyn","was","inflateReset","inflateReset2","inflateResetKeep","inflateInit","inflateInfo","static_tree","extra_bits","extra_base","elems","max_length","has_stree","dyn_tree","max_code","stat_desc","Ue","ze","Le","Ye","$e","qe","We","Ke","He","Ze","Ve","Xe","Fe","Pe","Be","De","_randbelow","_randrange","getDivisor","certificate","seq","int","RSAPrivateKey","RSAPublicKey","bitstr","PublicKey","objid","null_","octstr","PrivateKey","EncryptedPrivateKey","DSAPrivateKey","DSAparam","ECPrivateKey","namedCurve","utcTime","utctime","generalTime","gentime","setof","seqof","rdnSequence","passphrase","tbsCertificate","subjectPublicKeyInfo","subjectPublicKey","kdeparams","salt","iters","algo","subtle","queueMicrotask","importKey","deriveBits","iterations","md5","rmd160","ipad1","ipad2","opad","alg","blocksize","run","fun","env","argv","cwd","chdir","umask","allowHalfOpen","readable","_writableState","highWaterMark","getBuffer","_readableState","destroyed","ReadableState","debuglog","getHighWaterMark","ERR_INVALID_ARG_TYPE","ERR_STREAM_PUSH_AFTER_EOF","ERR_METHOD_NOT_IMPLEMENTED","ERR_STREAM_UNSHIFT_AFTER_END_EVENT","errorOrDestroy","pipesCount","flowing","reading","sync","needReadable","emittedReadable","readableListening","resumeScheduled","emitClose","autoDestroy","defaultEncoding","awaitDrain","readingMore","_destroy","consume","finished","_undestroy","undestroy","stdout","stderr","hasUnpiped","needDrain","_fromList","ERR_MULTIPLE_CALLBACK","ERR_TRANSFORM_ALREADY_TRANSFORMING","ERR_TRANSFORM_WITH_LENGTH_0","_transformState","transforming","writecb","writechunk","afterTransform","needTransform","writeencoding","pendingcb","corkedRequestsFree","WritableState","ERR_STREAM_CANNOT_PIPE","ERR_STREAM_DESTROYED","ERR_STREAM_NULL_VALUES","ERR_STREAM_WRITE_AFTER_END","ERR_UNKNOWN_ENCODING","finalCalled","ending","decodeStrings","writing","bufferProcessing","onwrite","writelen","errorEmitted","bufferedRequest","lastBufferedRequest","prefinished","bufferedRequestCount","writev","_writev","isBuf","allBuffers","hasInstance","setDefaultEncoding","_getString","_getBuffer","customInspect","ERR_STREAM_PREMATURE_CLOSE","req","setHeader","ERR_MISSING_ARGS","ERR_INVALID_OPT_VALUE","Stream","pipeline","_invoke","delegate","_sent","dispatchException","abrupt","resultName","nextLoc","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","completion","isGeneratorFunction","awrap","AsyncIterator","rval","delegateYield","regeneratorRuntime","kStringMaxLength","MAX_LENGTH","MAX_STRING_LENGTH","isS","isChar","isNameStartChar","isNameChar","S_LIST","NAME_RE","isNCNameStartChar","isNCNameChar","NC_NAME_RE","amp","quot","apos","xmldecl","processinginstruction","doctype","opentagstart","opentag","closetag","cdata","fragmentOpt","xmlnsOpt","trackPosition","nameStartCheck","nameCheck","isName","processAttribs","processAttribsNS","pushAttrib","pushAttribNS","additionalNamespaces","processAttribsPlain","pushAttribPlain","stateTable","sBegin","sBeginWhitespace","sDoctype","sDoctypeQuote","sDTD","sDTDQuoted","sDTDOpenWaka","sDTDOpenWakaBang","sDTDComment","sDTDCommentEnding","sDTDCommentEnded","sDTDPI","sDTDPIEnding","sText","sEntity","sOpenWaka","sOpenWakaBang","sComment","sCommentEnding","sCommentEnded","sCData","sCDataEnding","sCDataEnding2","sPIFirstChar","sPIRest","sPIBody","sPIEnding","sXMLDeclNameStart","sXMLDeclName","sXMLDeclEq","sXMLDeclValueStart","sXMLDeclValue","sXMLDeclSeparator","sXMLDeclEnding","sOpenTag","sOpenTagSlash","sAttrib","sAttribName","sAttribNameSawWhite","sAttribValue","sAttribValueQuoted","sAttribValueClosed","sAttribValueUnquoted","sCloseTag","sCloseTagSawWhite","_closed","openWakaBang","piTarget","topNS","chunkPosition","prevI","carriedFromPrevious","forbiddenState","attribList","reportedTextBeforeRoot","reportedTextAfterRoot","closedRoot","sawRoot","xmlDeclPossible","xmlDeclExpects","entityReturnState","defaultXMLVersion","forceXMLVersion","setXMLVersion","positionAtNewLine","xmlDecl","ENTITIES","readyHandler","getCode10","getCode11","getCodeNorm","getCode","unget","captureTo","captureToChar","captureNameChars","skipSpaces","currentXMLVersion","doctypeHandler","handleTextInRoot","handleTextOutsideRoot","parseEntity","textHandler","commentHandler","cdataHandler","piHandler","xmldeclHandler","openTagStartHandler","openTag","openSelfClosingTag","closeTag","qname","attributeHandler","endHandler","resolvePrefix","isSelfClosing","openTagHandler","closeTagHandler","_finalSize","_w","_g","_h","_ah","_bh","_ch","_dh","_eh","_fh","_gh","_hh","_al","_bl","_cl","_dl","_el","_fl","_gl","_hl","_isStdio","readableHighWaterMark","isarray","writableHighWaterMark","_clearFn","unref","enroll","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","noDeprecation","throwDeprecation","traceDeprecation","stylize","showHidden","NODE_DEBUG","pid","inverse","null","unescape","clockseq","msecs","nsecs","DNS","CHAR","NAME_START_CHAR","NAME_CHAR","CHAR_RE","S_RE","NAME_START_CHAR_RE","NAME_CHAR_RE","NMTOKEN_RE","RESTRICTED_CHAR","RESTRICTED_CHAR_RE","isRestrictedChar","isCharAndNotRestricted","NC_NAME_START_CHAR","NC_NAME_CHAR","NC_NAME_START_CHAR_RE","NC_NAME_CHAR_RE","autoBom","HTMLAnchorElement","rel","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","KNOWN_STATICS","caller","MEMO_STATICS","TYPE_STATICS","getStatics","isMemo","objectPrototype","hoistNonReactStatics","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","isNullOrUndef","componentHooks","onComponentDidMount","onComponentDidUpdate","onComponentShouldUpdate","onComponentWillMount","onComponentWillUnmount","onComponentWillUpdate","_children","arguments$1","childLen","prop$1","getFlagsForElementVnode","isStringOrNumber","combineFrom","key$1","isLinkEventObject","normalizeEventName","insertOrAppend","newNode","callAll","arrayFn","findChildVNode","startEdge","removeVNodeDOM","moveVNodeDOM","createDerivedState","renderCheck","componentComparator","renderComplete","setTextContent","isLastValueSameLinkEvent","mergeUnsetProperties","safeCall1","keyPrefix","childFlag","normalizeChildren","resolveComponentFlags","mergeDefaultProps","defaultHooks","mergeDefaultHooks","createTextVNode","createVoidVNode","directClone","vNodeToClone","propsToClone","oldChildren","cloneFragment","_normalizeVNodes","newKey","isPrefixedKey","newChildFlags","needsCloning","isNullKey","isPrefixed","normalizeRoot","xlinkNS","xmlNS","getDelegatedEventObject","onKeyPress","attachedEventCounts","attachedEvents","syntheticEvents","updateOrAddSyntheticEvent","eventsObject","$EV","attachedEvent","dispatchEvents","extendEventProperties","rootClickEvent","rootEvent","attachEventToDocument","unmountSyntheticEvent","getTargetNode","currentEvent","immediatePropagationStopped","triggerEventListener","nativeListenerName","createWrappedFunction","fnMethod","newVNode","previousKey","previousArgs","wrapped","isCheckedType","applyValueInput","wrappedOnChange","emptywrapper","nextPropsOrEmpty","updateChildOptions","updateChildOption","onSelectChange","applyValueSelect","mounting","multiplePropInBoolean","onTextareaInputChange","applyValueTextArea","wrappedOnChange$1","domValue","processElement","addFormElementEventHandlers","inputEvents","selectEvents","textAreaEvents","isControlledFormElement","unmountRef","mountRef","unmount","unmountAllChildren","$UN","clearDOM","removeAllChildren","patchDangerInnerHTML","lastVNode","lastHtml","nextHtml","patchProp","hasControlledValue","autofocus","lastAttrValue","nextAttrValue","domStyle","patchStyle","lastEvent","nextEvent","handleSyntheticEvent","ev","wrapLinkEvent","patchEvent","mountProps","isFormElement","renderNewInput","nextInput","childContext","createClassComponentInstance","usesNewAPI","$N","getSnapshotBeforeUpdate","$SVG","$BS","$BR","$PS","mount","mountElement","mountClassComponentCallbacks","mountClassComponent","mountFunctionalComponent","mountFunctionalComponentCallbacks","mountText","mountArrayChildren","mountFragment","placeHolderVNode","mountPortal","childrenIsSVG","createClassMountCallback","createOnMountCallback","patch","nextVNode","nextFlags","newDom","lastDom","replaceWithNewNode","lastProps","lastPropsOrEmpty","nextChildren","nextClassName","patchContentEditableChildren","patchChildren","nextRef","lastRef","patchElement","updateClassComponent","patchClassComponent","nextHooksDefined","lastInput","patchFunctionalComponent","patchText","lastChildren","lastChildFlags","nextChildFlags","nextIsSingle","lastLen","patchFragment","lastContainer","nextContainer","patchPortal","replaceOneVNodeWithMultipleVNodes","patchSingleTextChild","lastLength","nextLength","aLength","bLength","outerEdge","nextPos","aEnd","bEnd","aNode","bNode","aStart","bStart","aLeft","bLeft","canRemoveWholeContent","moved","patched","arrI","maxLen","lis_algorithm","patchKeyedChildrenComplex","patchKeyedChildren","lastChildrenLength","nextChildrenLength","nextChild","patchNonKeyedChildren","lastState","hasSCU","snapshot","createDidUpdate","rootInput","__render","QUEUE","microTaskPending","queueStateChanges","stateKey","$F","rerender","QU","$QU","callSetStateCallbacks","pendingState","_nextContext","hashClear","hashDelete","hashGet","hashHas","hashSet","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","setCacheAdd","setCacheHas","stackClear","stackDelete","stackGet","stackHas","stackSet","reAsciiWord","createBaseFor","castPath","matchData","noCustomizer","COMPARE_PARTIAL_FLAG","baseMatches","baseMatchesProperty","baseIsMatch","getMatchData","matchesStrictComparable","hasIn","isKey","isStrictComparable","baseGet","arrayMap","symbolToString","baseToString","stringToPath","baseSlice","castSlice","hasUnicode","stringToArray","strSymbols","trailing","deburr","reApos","deburrLetter","basePropertyOf","cacheHas","arrStacked","othStacked","objStacked","stubArray","hasFunc","reHasUnicode","reHasUnicodeWord","reIsDeepProp","reIsPlainProp","asciiToArray","unicodeToArray","memoizeCapped","rePropName","reEscapeChar","subString","rsAstralRange","rsAstral","rsCombo","rsFitz","rsNonAstral","rsRegional","rsSurrPair","reOptMod","rsOptVar","rsSeq","rsSymbol","reUnicode","rsDingbatRange","rsLowerRange","rsUpperRange","rsBreakRange","rsMathOpRange","rsBreak","rsDigits","rsDingbat","rsLower","rsMisc","rsUpper","rsMiscLower","rsMiscUpper","rsOptContrLower","rsOptContrUpper","rsModifier","rsEmoji","reUnicodeWord","camelCase","createCompounder","word","reLatin","reComboMark","baseHas","hasPath","baseHasIn","stubFalse","baseIsTypedArray","baseForOwn","baseIteratee","resolver","memoized","baseProperty","basePropertyDeep","snakeCase","createCaseFirst","asciiWords","hasUnicodeWord","unicodeWords","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","getShim","ReactPropTypes","bigint","arrayOf","instanceOf","objectOf","exact","checkPropTypes","SPLIT_REGEX","DIGIT_REGEX","LEAD_DIGIT_REGEX","SPEC_CHAR_REGEX","CLEAN_QUOTES_REGEX","pathCache","setCache","getCache","normalizePath","isQuoted","shouldBeQuoted","hasLeadingNumber","hasSpecialChars","safe","cb","isBracket","ea","la","ma","acceptsBooleans","attributeNamespace","mustUseProperty","sanitizeURL","removeEmptyString","ra","qa","oa","xlinkHref","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","prepareStackTrace","Pa","Qa","Ra","Sa","Ta","Va","_valueTracker","stopTracking","Ua","Wa","Xa","Ya","defaultChecked","_wrapperState","initialChecked","Za","ab","db","fb","defaultSelected","gb","hb","ib","jb","kb","namespaceURI","MSApp","execUnsafeLocalFunction","ob","lineClamp","qb","menuitem","keygen","wbr","ub","vb","wb","xb","correspondingUseElement","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","Wb","memoizedState","dehydrated","Xb","Zb","sibling","Yb","$b","unstable_scheduleCallback","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","unstable_now","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","qc","rc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","zc","Ac","eventTimes","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","isDehydrated","containerInfo","Xc","Yc","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","ed","fd","hd","Uc","jd","kd","ld","od","pd","qd","rd","_reactName","_targetInst","persist","isPersistent","wd","xd","yd","eventPhase","bubbles","vd","Ad","screenY","getModifierState","zd","fromElement","toElement","movementX","movementY","Bd","Dd","Fd","Hd","elapsedTime","pseudoElement","Jd","Ld","Md","Spacebar","Del","Win","Apps","MozPrintableKey","Nd","Od","Control","Pd","Qd","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","isPrimary","Vd","Xd","Yd","wheelDeltaX","wheelDeltaY","Zd","oninput","Je","HTMLIFrameElement","contentEditable","focusedElem","anchorNode","anchorOffset","focusNode","focusOffset","Qe","animationend","animationiteration","animationstart","transitionend","bf","cf","df","ef","gf","hf","lf","mf","nf","Ub","pf","qf","rf","sf","tf","uf","vf","wf","na","xa","$a","xf","yf","zf","Af","Bf","Cf","Df","Ef","Ff","Gf","Hf","Jf","If","Kf","Lf","Mf","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","$f","ag","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","ng","og","pg","qg","rg","vg","wg","xg","yg","zg","Ag","Bg","deletions","Cg","pendingProps","treeContext","retryLane","Dg","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","_stringRef","Mg","Ng","Og","Pg","Qg","Rg","implementation","Sg","Tg","Ug","Vg","Wg","Xg","Yg","Zg","ah","bh","childLanes","ch","firstContext","lanes","dh","eh","memoizedValue","fh","gh","interleaved","ih","jh","kh","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","lh","mh","eventTime","lane","payload","oh","ph","qh","rh","sh","uh","vh","wh","yh","Ah","Bh","Ch","revealOrder","Dh","Eh","_workInProgressVersionPrimary","Fh","ReactCurrentDispatcher","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","baseQueue","Uh","Vh","Wh","lastRenderedReducer","hasEagerState","eagerState","lastRenderedState","dispatch","Xh","Yh","Zh","$h","ai","getSnapshot","bi","ci","di","lastEffect","stores","ei","gi","deps","ji","ni","oi","pi","qi","ri","wi","xi","zi","Ai","Bi","readContext","useCallback","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","unstable_isNewReconciler","identifierPrefix","Ci","Di","Ei","isMounted","_reactInternals","enqueueSetState","enqueueReplaceState","enqueueForceUpdate","Fi","isPureReactComponent","Gi","updater","Hi","UNSAFE_componentWillReceiveProps","Ii","UNSAFE_componentWillMount","Ji","Ki","Li","Mi","Ni","Oi","Pi","Qi","componentDidCatch","Ri","componentStack","Si","pingCache","Ti","Ui","Vi","Wi","ReactCurrentOwner","Xi","Yi","Zi","aj","bj","cj","baseLanes","cachePool","ej","fj","gj","hj","ij","UNSAFE_componentWillUpdate","kj","pendingContext","lj","zj","Aj","Bj","Cj","mj","nj","oj","qj","sj","dgst","tj","uj","_reactRetry","rj","subtreeFlags","vj","wj","isBackwards","rendering","renderingStartTime","tailMode","xj","Dj","Ej","Fj","wasMultiple","suppressHydrationWarning","onclick","autoFocus","Gj","Hj","Ij","Jj","Kj","WeakSet","Lj","Mj","Nj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","_reactRootContainer","Wj","Xj","Yj","Zj","onCommitFiberUnmount","bk","ck","ek","fk","gk","hk","ik","jk","__reactInternalSnapshotBeforeUpdate","Vk","lk","nk","pk","qk","rk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","finishedWork","finishedLanes","Pk","timeoutHandle","Qk","Rk","Sk","Tk","Uk","mutableReadLanes","Bc","Oj","onCommitFiberRoot","mc","onRecoverableError","Wk","onPostCommitFiberRoot","Xk","Yk","$k","isReactComponent","pendingChildren","al","mutableSourceEagerHydrationData","pendingSuspenseBoundaries","dl","fl","hl","il","yj","Zk","reportError","ll","_internalRoot","ol","rl","ql","unstable_scheduleHydration","usingClientEntryPoint","findFiberByHostInstance","bundleType","rendererPackageName","ul","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","vl","supportsFiber","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrateRoot","hydratedSources","_getVersion","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","_DraggableCore","nodeInterop","newObj","hasPropertyDescriptor","_propTypes","_reactDom","_clsx","_domFns","_positionFns","_shims","cacheBabelInterop","cacheNodeInterop","prevPropsPosition","createDraggableData","dragged","uiData","slackX","slackY","newStateX","newStateY","getBoundPosition","onStop","isElementSVG","SVGElement","_this$props$nodeRef$c","nodeRef","defaultClassName","defaultClassNameDragging","defaultClassNameDragged","draggableCoreProps","svgTransform","transformOpts","canDragX","canDragY","createSVGTransform","createCSSTransform","onDragStop","dontSetMe","eventsFor","dragEventFor","DraggableCore","allowAnyClick","matchesSelectorAndParentsTo","touchIdentifier","getTouchIdentifier","getControlPosition","coreEvent","createCoreData","enableUserSelectHack","addUserSelectStyles","lastX","lastY","addEvent","handleDrag","handleDragStop","removeUserSelectStyles","styleEl","getElementById","controlPos","_getPrefix","browserPrefixToKey","getTouch","findInArray","baseNode","offsetXYFromParent","offsetParentRect","matchesSelectorFunc","unitSuffix","browserPrefixToStyle","getPrefix","prefixes","_window$document","shouldCapitalize","kebabToTitleCase","isNum","cloneBounds","boundNode","boundNodeEl","nodeStyle","boundNodeStyle","draggableCore","touchObj","pendingX","pendingY","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_CONSUMER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_OFFSCREEN_TYPE","REACT_CLIENT_REFERENCE","__self","__source","jsxs","_status","_currentValue2","_threadCount","Consumer","_defaultValue","_globalName","createFactory","isValidElement","lazy","startTransition","unstable_act","expirationTime","priorityLevel","scheduling","isInputPending","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","unstable_wrapCallback","toposort","visited","outgoingEdges","edge","makeOutgoingEdges","nodesHash","makeNodesHash","visit","predecessors","nodeRep","uniqueNodes","leafPrototypes","getProto","chunkId","miniCssF","dataWebpackPrefix","needAttach","nc","onScriptComplete","doneFns","installedChunks","installedChunkData","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","runtime","chunkLoadingGlobal","useThemeWithoutDefault","useTheme","useThemeSystem","getGridUtilityClass","GRID_SIZES","extractZeroValueBreakpointKeys","nonZeroKey","sortedBreakpointKeysByValue","GridRoot","zeroMinWidth","spacingStyles","resolveSpacingStyles","breakpointsStyles","directionValues","gridClasses","rowSpacing","rowSpacingValues","zeroValueBreakpointKeys","_zeroValueBreakpointK","columnSpacingValues","_zeroValueBreakpointK2","columnsBreakpointValues","columnValue","fullWidth","spacingClasses","resolveSpacingClasses","breakpointsClasses","themeProps","columnsProp","columnSpacingProp","rowSpacingProp","columnsContext","GridContext","otherFiltered","PopStateEventType","invariant","cond","getHistoryState","usr","createLocation","pathname","parsedPath","hashIndex","searchIndex","getUrlBasedHistory","createHref","validateLocation","v5Compat","globalHistory","Pop","handlePop","createURL","replaceState","encodeLocation","Push","historyState","pushState","DOMException","Replace","go","ResultType","matchRoutes","locationArg","basename","matchRoutesImpl","allowPartial","stripBasename","branches","flattenRoutes","score","compareIndexes","routesMeta","childrenIndex","rankRouteBranches","decoded","decodePath","matchRouteBranch","parentsMeta","flattenRoute","relativePath","joinPaths","computeScore","_route$path","exploded","explodeOptionalSegments","isOptional","restExploded","subpath","paramRe","dynamicSegmentValue","indexRouteValue","emptySegmentValue","staticSegmentValue","splatPenalty","isSplat","initialScore","branch","matchedParams","matchedPathname","remainingPathname","matchPath","pathnameBase","normalizePathname","compiledParams","regexpSource","compilePath","captureGroups","splatValue","decodeURIComponent","getInvalidPathError","getPathContributingMatches","getResolveToMatches","v7_relativeSplatPath","pathMatches","resolveTo","toArg","routePathnames","locationPathname","isPathRelative","isEmptyPath","toPathname","routePathnameIndex","toSegments","fromPathname","resolvePathname","normalizeSearch","normalizeHash","resolvePath","hasExplicitTrailingSlash","hasCurrentTrailingSlash","isRouteErrorResponse","validMutationMethodsArr","validRequestMethodsArr","DataRouterContext","DataRouterStateContext","NavigationContext","LocationContext","RouteContext","outlet","isDataRoute","RouteErrorContext","useInRouterContext","useLocation","UNSAFE_invariant","useIsomorphicLayoutEffect","useNavigate","router","useDataRouterContext","DataRouterHook","UseNavigateStable","useCurrentRouteId","DataRouterStateHook","activeRef","fromRouteId","useNavigateStable","dataRouterContext","routePathnamesJson","UNSAFE_getResolveToMatches","relative","useNavigateUnstable","useRoutesImpl","dataRouterState","isStatic","parentMatches","routeMatch","parentParams","parentPathnameBase","locationFromContext","_parsedLocationArg$pa","parsedLocationArg","parentSegments","renderedMatches","_renderMatches","navigationType","DefaultErrorComponent","_state$errors","useDataRouterState","UseRouteError","routeId","useRouteError","preStyles","defaultErrorElement","RenderErrorBoundary","revalidation","routeContext","RenderedRoute","staticContext","ErrorBoundary","_deepestRenderedBoundaryId","_dataRouterState","_future","v7_partialHydration","errorIndex","renderFallback","fallbackIndex","HydrateFallback","hydrateFallbackElement","loaderData","needsToRunLoader","loader","shouldRenderHydrateFallback","alreadyWarned$1","hookName","useRouteContext","thisRoute","logV6DeprecationWarnings","renderFuture","routerFuture","v7_startTransition","v7_fetcherPersist","v7_normalizeFormMethod","v7_skipActionErrorRevalidation","Navigate","jsonPath","Router","basenameProp","locationProp","staticProp","navigationContext","locationContext","trailingPathname","Routes","createRoutesFromChildren","treePath","hasErrorBoundary","shouldRevalidate","__reactRouterVersion","startTransitionImpl","BrowserRouter","historyRef","setStateImpl","UNSAFE_logV6DeprecationWarnings","AppContext","AppContextProvider","user","setUser","userParamsRef","setLogo","logo","setGuncellemeVersiyonuAdi","guncellemeVersiyonuAdi","kindOf","thing","kindOfTest","typeOfTest","isArrayBuffer","isFileList","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","allOwnKeys","findKey","_global","isContextDefined","TypedArray","isHTMLForm","reduceDescriptors","descriptors","reducedDescriptors","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","isAsyncFn","_setImmediate","setImmediateSupported","postMessageSupported","asap","isFormData","isArrayBufferView","caseless","stripBOM","superConstructor","toFlatObject","destObj","propFilter","forEachEntry","matchAll","hasOwnProp","freezeMethods","toObjectSet","arrayOrString","toCamelCase","toFiniteNumber","generateString","alphabet","isSpecCompliantForm","toJSONObject","reducedValue","isThenable","AxiosError","columnNumber","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","dots","predicates","metaTokens","visitor","defaultVisitor","useBlob","convertValue","isFlatArray","exposedHelpers","charMap","AxiosURLSearchParams","_pairs","toFormData","encoder","buildURL","serializeFn","serializedParams","hashmarkIndex","fulfilled","rejected","synchronous","runWhen","eject","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","isBrowser","URLSearchParams","hasBrowserEnv","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","isNumericKey","arrayToObject","parsePropPath","transitional","transitionalDefaults","transformRequest","getContentType","hasJSONContentType","isObjectPayload","formDataToJSON","setContentType","helpers","toURLEncodedForm","formSerializer","_FormData","stringifySafely","transformResponse","JSONRequested","strictJSONParsing","ERR_BAD_RESPONSE","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","ignoreDuplicateOf","$internals","normalizeHeader","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","valueOrRewrite","rewrite","_rewrite","lHeader","rawHeaders","parseHeaders","tokensRE","parseTokens","deleted","deleteHeader","formatHeader","asStrings","computed","defineAccessor","accessorName","arg3","buildAccessors","mapped","headerValue","transformData","fns","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","ERR_BAD_REQUEST","samplesCount","timestamps","firstSampleTS","chunkLength","startedAt","bytesCount","progressEventReducer","isDownloadStream","bytesNotified","_speedometer","speedometer","lengthComputable","progressBytes","rate","estimated","progressEventDecorator","asyncDecorator","isMSIE","port","expires","secure","cookie","toGMTString","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","paramsSerializer","timeoutMessage","withCredentials","withXSRFToken","onDownloadProgress","decompress","beforeRedirect","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding","configValue","auth","isURLSameOrigin","xsrfValue","cookies","resolveConfig","requestData","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","signal","responseHeaders","getAllResponseHeaders","responseURL","ECONNABORTED","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","aborted","parseProtocol","composeSignals","signals","AbortController","streamChunk","readStream","getReader","trackStream","onFinish","readBytes","_onFinish","ReadableStream","pull","isFetchSupported","fetch","Request","Response","isReadableStreamSupported","encodeText","supportsRequestStream","duplexAccessed","hasContentType","duplex","supportsResponseStream","resolvers","ERR_NOT_SUPPORT","resolveBodyLength","getContentLength","_request","getBodyLength","knownAdapters","http","xhrAdapter","fetchOptions","composedSignal","toAbortSignal","requestContentLength","contentTypeHeader","isCredentialsSupported","isStreamResponse","responseContentLength","responseData","renderReason","isResolvedHandle","nameOrAdapter","rejectedReasons","reasons","throwIfCancellationRequested","throwIfRequested","dispatchRequest","VERSION","deprecatedWarnings","ERR_DEPRECATED","spelling","correctSpelling","assertOptions","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","InterceptorManager","configOrUrl","function","baseUrl","withXsrfToken","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","chain","getUri","generateHTTPMethod","isForm","CancelToken","resolvePromise","onfulfilled","_resolve","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","spread","isAxiosError","formToJSON","getAdapter","apiUrl","TALEP_TIPI","TEKLIF_BIRIMI","TRY","YETKI_GRUBU_TIPI","HARMONY_ADMIN","HARMONY_DESTEK","MUSTERI","BAYI","BAYI_DESTEK","TALEP_DURUMU","YENI_TALEP","CALISMA_YAPILIYOR","MERKEZE_ILETILDI","YAPILMASI_UYGUN_GORULMEDI","TEKLIFE_CEVAP_BEKLENIYOR","TEKLIF_ONAYLANDI","TEKLIF_REDDEDILDI","ONAYLI_TEKLIF_YAPILIYOR","ONAYLI_TEKLIF_TAMAMLANDI","TAMAMLANDI","GUNCELLEME_BEKLIYOR","TEKLIFLENDIRME_SURECINDE","TALEP_TEKLIF_DURUMU","EKRAN_KODU","ANASAYFA","KULLANICILAR","YETKILER","MUSTERI_TALEP","PROFIL","SIRKET","DESTEK","DESTEK_GECMISI","GOREVLER","RAPORLAR","NOTLAR","TAHSILAT_TAKIP","TANIMLAMALAR","KULLANICI_BILGILERI","TOPLANTI","KONTROL_EDILECEK_ISLER","ANLASMA_BILGILERI","ANLASMA_BILGILERI_ERP","ANLASMA_BILGILERI_CLOUD","LISANS_PAKET_BILGILERI_ERP","LISANS_PAKET_BILGILERI_CLOUD","URUNLER","FIYAT_LISTE_MASTER","BAYILER","POTANSIYELMUSTERI","TEKLIFMASTER","GORUSMELER","ATANAN_GORUSMELER","PROJESURECTAKIP","GOREVLER_GANTT","SIRKET_BAZLI_SURE_ANALIZI","KULLANICI_ANALIZI","IS_SONUCLARI_RAPORU","MAIL_OLAYLARI_DUZENLE","GOREV_DURUMU_RAPORU","MUSTERI_LISANS_DURUMU_RAPORU","ONCELIK_DURUMU","ILGILI_MODUL","TEDARIK_ZINCIRI_YONETIMI","MUHASEBE_FINANS_YONETIMI","INSAN_KAYNAKLARI_YONETIMI","DIGER","ONAY_RED_DURUMU","BELIRTILMEDI","ONAY","AY","ISLEM_TURU","GENEL_YAZILIM_OPERASYONU","ANALIZ_VE_TEST","KURULUM","EGITIM","PARTI_PROGRAMA_VERILEN_DESTEKLER","DANISMANLIK","INCELEME","HATA_DUZELTME","DESTEK_ISLEM_TURU","FIRMA_ZIYARETI","GENEL_DESTEK","GUNCELLEME","YAZILIMSAL_DESTEK","YAZILIMSAL_HATA","RAPOR_KATEGORI","TALEP","ISIN_DURUMU","YENI_IS","UZERINDE_CALISILIYOR","YAZILIM_TESTI","TEST_EDILIYOR","ARA_VERILDI","CEVAP_BEKLENIYOR","GOREVI_YONLENDIR","ISIN_DURUMU_STR","GOREV_DURUMU_FOR_GOREV_DURUMU_RAPORU","DEVAM_EDIYOR","APP_BAR_HEIGHT","FILTER_HEIGHT","TAB_HEIGHT","DATE_FORMAT","TUTAR_FORMAT","DRAWER_WIDTH","ISIN_DURUMU_FILTER","GELISTIRME_YAPILMAYACAK","BOS_OLANLAR","TAHSILAT_DURUMU","TAHSILAT_YAPILMADI","TAHSILAT_YAPILDI","PLAN_DURUM","PLANLANDI","GERCEKLESTI","BEKLEMEDE","IPTAL_EDILDI","URUN_TIP","MODUL","PAKET","BAGIMSIZ","EKKULLANICI","URUN_TIP_MODULPAKET","URUN_PROGRAMLARI","HARMONYERP","HARMONYCLOUD","PARA_BIRIMI","TL","USD","EUR","STOK_BIRIM","AdamGun","AdamSaat","TEKLIF_DURUMU","DUZENLENIYOR","ONAYLANDI","REDDEDILDI","CARI_TIPI","POTMUSTERI","GORUSME_TIPI","TELEFON","ONLINE_TOPLANTI","KONFERANS","FUAR","MAIL","GORUSME_DURUMU","ILK_GORUSME","DEMO_SURECI","TEKLIF_SURECINDE","SATIS_GERCEKLESTI","OLUMSUZ_SONUCLANDI","ATAMALI_GORUSME_DURUMU","YONLENDIRME","ATAMALI_GORUSME_TIPI","ATANAN_GORUSME","GORUSME_ALINACAK_AKSIYON","MUSTERIYE_DONUS_YAPILACAK","MUSTERIDEN_CEVAP_BEKLENIYOR","REFERANSTAN_CEVAP_BEKLENIYOR","SUREC_TAMAMLANDI","GORUSME_MAIL_OLAYLARI","YENI_GORUSME_OLUSUTURLDUGUNDA","GORUSMEYE_DETAY_EKLENDIGINDE","GORUSME_HATIRLATMA","GORUSME_ATAMA","TEKLIF_MAIL_OLAYLARI","YENI_TEKLIF_OLUSTURULDUGUNDA","TEKLIF_ONAYLANDIGINDA","TEKLIF_REDDEDILDIGINDE","SOZLESME_MAIL_OLAYLARI","SOZLESME_YENILEMEYE_X_GUN_KALDIGINDA","BAYI_TALEP_DURUMU","TAHSILAT_DURUMU_INT","YAR_TAHSILAT_YAPILDI","GORUSME_KAYNAK","WEB_FORMU","GELEN_ARAMA","GELEN_EMAIL","GIDEN_ARAMA","GIDEN_EMAIL","REFERANS","MERKEZ_CALISAN","FUAR_ETKINLIK","INSTAGRAM","FACEBOOK","X_TWITTER","CALISAN_SAY_ARALIGI","CAL1","CAL2","CAL3","CAL4","CAL5","CAL6","CAL7","CAL8","DINAMIK_TANIM_TIPLERI","ANALIZ_TIPI","POTANSIYEL_MUSTERI_TIPI","PARTNETLIK","GUN_AY_YIL","GUN","YIL","ODEME_SEKLI","HAVALE","KREDI_KARTI","CEK","NAKIT","login","kullaniciAdi","sifre","_response$data","logout","getCurrentUser","HttpAuthorized","currentUser","AuthService","Authorization","HttpAuthorizedFile","GardiyanRoute","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","Transition","_React$Component","initialStatus","appear","isMounting","appearStatus","unmountOnExit","mountOnEnter","nextCallback","_inheritsLoose","prevState","updateStatus","nextStatus","cancelNextCallback","getTimeouts","forceReflow","performEnter","performExit","appearing","maybeNode","maybeAppearing","timeouts","enterTimeout","safeSetState","onEntered","onEnter","onEntering","onTransitionEnd","onExit","onExiting","onExited","setNextCallback","doesNotHaveTimeoutOrListener","addEndListener","maybeNextCallback","childProps","TransitionGroupContext","reflow","getTransitionProps","_style$transitionDura","_style$transitionTimi","getCollapseUtilityClass","CollapseRoot","entered","collapsedSize","CollapseWrapper","CollapseWrapperInner","wrapperInner","Collapse","collapsedSizeProp","inProp","TransitionComponent","wrapperRef","autoTransitionDuration","handleRef","normalizedTransitionCallback","maybeIsAppearing","getWrapperSize","isAppearing","handleEntering","wrapperSize","duration2","handleEntered","handleExit","handleExited","handleExiting","muiSupportAuto","elevation","alphaValue","getPaperUtilityClass","PaperRoot","square","rounded","_theme$vars$overlays","getOverlayAlpha","overlays","isHostComponent","slotState","excludeKeys","getSlotProps","additionalProps","externalSlotProps","externalForwardedProps","joinedClasses","mergedStyle","internalRef","eventHandlers","extractEventHandlers","componentsPropsWithoutEventHandlers","omitEventHandlers","otherPropsWithoutEventHandlers","internalSlotProps","useSlot","initialElementType","getSlotOwnerState","internalForwardedProps","useSlotPropsParams","rootComponent","resolvedComponentsProps","resolveComponentProps","_mergeSlotProps","mergeSlotProps","slotComponent","slotOwnerState","finalOwnerState","LeafComponent","appendOwnerState","getAccordionUtilityClass","AccordionRoot","Paper","accordionClasses","region","disableGutters","gutters","overflowAnchor","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","childrenProp","defaultExpanded","expandedProp","TransitionComponentProp","TransitionProps","TransitionPropsProp","setExpandedState","handleChange","contextValue","backwardCompatibleSlots","backwardCompatibleSlotProps","TransitionSlot","transitionProps","AccordionContext","getChildMapping","getProp","getNextChildMapping","prevChildMapping","nextChildMapping","getValueForKey","nextKeysPending","pendingKeys","prevKey","childMapping","nextKey","pendingNextKey","mergeChildMappings","hasPrev","prevChild","isLeaving","TransitionGroup","firstRender","currentChildMapping","childFactory","pulsate","rippleX","rippleY","rippleSize","leaving","setLeaving","rippleClassName","ripple","rippleVisible","ripplePulsate","rippleStyles","childClassName","childLeaving","childPulsate","_t","_t2","_t3","_t4","enterKeyframe","exitKeyframe","pulsateKeyframe","TouchRippleRoot","TouchRippleRipple","Ripple","touchRippleClasses","centerProp","ripples","setRipples","rippleCallback","ignoringMouseDown","startTimer","startTimerCommit","startCommit","oldRipples","fakeElement","sizeX","sizeY","getButtonBaseUtilityClass","ButtonBaseRoot","WebkitTapHighlightColor","MozAppearance","WebkitAppearance","buttonBaseClasses","colorAdjust","centerRipple","disableRipple","disableTouchRipple","focusRipple","LinkComponent","onFocusVisible","TouchRippleProps","touchRippleRef","buttonRef","rippleRef","handleRippleRef","handleFocusVisible","handleBlurVisible","focusVisibleRef","useIsFocusVisible","setFocusVisible","mountedState","setMountedState","enableTouchRipple","useRippleHandler","rippleAction","eventCallback","skipRippleAction","useEventCallback","handleMouseDown","handleDragLeave","handleMouseUp","handleMouseLeave","handleTouchStart","handleTouchEnd","handleTouchMove","handleBlur","handleFocus","isNonNativeButton","keydownRef","handleKeyUp","ComponentProp","buttonProps","focusVisibleClassName","composedClasses","TouchRipple","getAccordionSummaryUtilityClass","AccordionSummaryRoot","ButtonBase","accordionSummaryClasses","AccordionSummaryContent","AccordionSummaryExpandIconWrapper","expandIconWrapper","expandIcon","getAccordionDetailsUtilityClass","AccordionDetailsRoot","getIconButtonUtilityClass","IconButtonRoot","activeChannel","mainChannel","iconButtonClasses","disableFocusRipple","getButtonUtilityClass","commonIconStyles","ButtonRoot","colorInherit","disableElevation","_theme$palette$getCon","_theme$palette","inheritContainedBackgroundColor","inheritContainedHoverBackgroundColor","primaryChannel","inheritContainedHoverBg","buttonClasses","inheritContainedBg","ButtonStartIcon","startIcon","ButtonEndIcon","endIcon","contextProps","ButtonGroupContext","buttonGroupButtonContextPositionClassName","ButtonGroupButtonContext","resolvedProps","endIconProp","startIconProp","positionClassName","getChipUtilityClass","ChipRoot","iconColor","clickable","onDelete","chipClasses","avatar","deleteIcon","deletable","Chip","defaultAvatarColor","avatarColorPrimary","avatarColorSecondary","avatarSmall","defaultIconColor","contrastTextChannel","selectedChannel","defaultBorder","iconSmall","deleteIconSmall","ChipLabel","isDeleteKeyboardEvent","keyboardEvent","avatarProp","clickableProp","deleteIconProp","iconProp","skipFocusWhenDisabled","chipRef","handleDeleteIconClick","moreProps","CancelIcon","generateClassName","BoxRoot","_extendSxProp","createBox","boxClasses","charCodeOfDot","keysCache","keysRegex","toPath","getIn","complexKey","setInRecursor","destroyArrays","_result2","numKeys","numericKey","_result3","setIn","FORM_ERROR","ARRAY_ERROR","publishFieldState","formState","initialValues","lastSubmittedValues","submitErrors","submitFailed","submitSucceeded","submitting","modifiedSinceLastSubmit","touched","submitError","pristine","dirty","dirtySinceLastSubmit","fieldSubscriptionItems","shallowEqual","keysA","keysB","bHasOwnProperty","subscriptionFilter","subscription","shallowEqualKeys","different","shallowEqualKeys$1","filterFieldState","previousState","formSubscriptionItems","filterFormState","tripleEquals","hasAnyError","notifySubscriber","subscriber","notification","createForm","destroyOnUnregister","keepDirtyOnReinitialize","mutators","validateOnBlur","subscribers","fieldSubscribers","asyncErrors","resetWhileSubmitting","lastFormState","inBatch","validationPaused","validationBlocked","preventNotificationWhileValidationPaused","nextAsyncValidationKey","asyncValidationPromises","changeValue","mutate","renameField","_extends3","api","lastFieldState","getMutatorApi","mutatableState","runValidation","notifyFieldListeners","notifyFormListeners","mutatorsApi","getValidators","fieldChanged","safeFields","fieldKeys","limitedFieldLevelValidation","changedField","validateFields","recordLevelErrors","asyncRecordLevelErrors","fieldLevelErrors","setErrors","errorsOrPromise","runRecordLevelValidation","wasAsync","setError","errorOrPromise","runFieldLevelValidation","hasAsyncValidations","asyncValidationPromiseKey","processErrors","afterAsync","forEachError","recordLevelError","errorFromParent","hasFieldLevelValidation","fieldLevelError","existing","afterPromise","notifyField","fieldState","fieldSubscriber","markAllFieldsTouched","calculateNextFormState","safeFieldKeys","foundDirty","dirtyFields","dirtyFieldsSinceLastSubmit","nonNullLastSubmittedValues","nextFormState","hasSubmitErrors","hasValidationErrors","convertToExternalFormState","_safeFieldKeys$reduce","notifying","scheduleNotification","resetModifiedAfterSubmit","getFieldState","getRegisteredFields","savedDirtyValues","isValidationPaused","pauseValidation","preventNotification","registerField","fieldConfig","afterSubmit","haveValidator","getValidator","noValueInFormState","validatorRemoved","hasFieldSubscribers","lastOne","restart","resumeValidation","setConfig","submit","asyncValidationPromisesKeys","completeCalled","_excluded$3","lazyProps","useWhenValueChanges","React__default","isSyntheticEvent","ReactFinalFormContext","useLatest","addLazyState","addLazyFormState","_excluded$2","all$1","ReactFinalForm","_ref$decorators","alternateFormApi","initialValuesEqual","_ref$subscription","useConstant","_React$useState","initialState","stateRef","unsubscriptions","renderProps","eventOrValues","handleSubmit","__versions","useForm","_excluded$1","FormSpy","reactFinalForm","_temp","onChangeRef","lazyState","useFormState","isReactNative","useConstantCallback","defaultFormat","defaultParse","defaultIsEqual","useField","_config$format","formatOnBlur","_config$parse","_config$subscription","configRef","_configRef$current","_configRef$current$fo","addLazyFieldMetaState","valueProp","_detypedEvent$target","getSelectedValues","forwardedRef","minRows","inputRef","heightRef","shadowRef","calculateTextareaStyles","outerHeightStyle","overflowing","inputShallow","singleRowHeight","syncHeight","textareaStyles","rAF","debounceHandleResize","containerWindow","resizeObserver","formControlState","muiFormControl","useFormControl","FormControlContext","upperTheme","MuiGlobalStyles","SystemGlobalStyles","isFilled","SSR","getInputBaseUtilityClass","rootOverridesResolver","formControl","startAdornment","adornedStart","endAdornment","adornedEnd","sizeSmall","hiddenLabel","inputOverridesResolver","inputSizeSmall","inputMultiline","inputTypeSearch","inputAdornedStart","inputAdornedEnd","inputHiddenLabel","InputBaseRoot","inputBaseClasses","InputBaseComponent","inputPlaceholder","placeholderHidden","placeholderVisible","WebkitTextFillColor","inputGlobalStyles","_slotProps$input","ariaDescribedby","autoComplete","componentsProps","disableInjectingGlobalStyles","inputComponent","inputProps","inputPropsProp","inputRefProp","renderSuffix","handleInputRefWarning","handleInputRef","setFocused","fcs","onFilled","onEmpty","checkDirty","InputComponent","TextareaAutosize","setAdornedStart","Root","rootProps","Input","onAnimationStart","getInputUtilityClass","InputRoot","inputBaseRootOverridesResolver","disableUnderline","bottomLineColor","onBackgroundChannel","inputUnderline","inputClasses","InputInput","InputBaseInput","inputBaseInputOverridesResolver","_slots$root","_slots$input","componentsPropsProp","inputComponentsProps","RootSlot","InputSlot","InputBase","getFilledInputUtilityClass","FilledInputRoot","hoverBackground","FilledInput","hoverBg","filledInputClasses","disabledBg","FilledInputInput","WebkitBoxShadow","caretColor","filledInputComponentsProps","_span","NotchedOutlineRoot","NotchedOutlineLegend","withLabel","notched","getOutlinedInputUtilityClass","OutlinedInputRoot","outlinedInputClasses","notchedOutline","OutlinedInputInput","OutlinedInput","_React$Fragment","filled","getFormLabelUtilityClasses","FormLabelRoot","colorSecondary","formLabelClasses","AsteriskComponent","getInputLabelUtilityClasses","InputLabelRoot","FormLabel","animated","transformOrigin","shrinkProp","getFormControlUtilityClasses","FormControlRoot","visuallyFocused","initialAdornedStart","isMuiElement","setFilled","initialFilled","focusedState","registerEffect","getFormHelperTextUtilityClasses","FormHelperTextRoot","contained","formHelperTextClasses","getReactElementRef","_element$props","RtlContext","useRtl","_parameters$additiona","skipResolvingSlotProps","getListUtilityClass","ListRoot","disablePadding","dense","subheader","listStyle","ListContext","getScrollbarSize","documentWidth","disableListWrap","previousElementSibling","textCriteriaMatches","nextFocus","textCriteria","repeating","moveFocus","currentFocus","disabledItemsFocusable","traversalFunction","wrappedOnce","nextFocusDisabled","autoFocusItem","listRef","textCriteriaRef","previousKeyMatched","lastTime","adjustStyleForScrollbar","noExplicitWidth","scrollbarSize","activeItemIndex","muiSkipListHighlight","newChildProps","lowerKey","currTime","keepFocusOnCurrent","entering","isWebKit154","Grow","autoTimeout","candidatesSelector","defaultGetTabbable","regularTabNodes","orderedTabNodes","nodeTabIndex","tabindexAttr","getTabIndex","getRadio","roving","isNonTabbableRadio","isNodeMatchingSelectorFocusable","documentOrder","defaultIsEnabled","disableAutoFocus","disableEnforceFocus","disableRestoreFocus","getTabbable","ignoreNextEnforceFocus","sentinelStart","sentinelEnd","nodeToRestore","reactFocusEventTarget","rootRef","lastKeydown","loopFocus","contain","_lastKeydown$current","_lastKeydown$current2","isShiftTab","focusNext","focusPrevious","handleFocusSentinel","childrenPropsHandler","disablePortal","setMountNode","getBackdropUtilityClass","BackdropRoot","invisible","_slotProps$root","Fade","rootSlotProps","ariaHidden","getPaddingRight","ariaHiddenSiblings","elementsToExclude","isNotExcludedElement","isNotForbiddenElement","isForbiddenTagName","isInputHidden","isAriaHiddenForbiddenOnElement","findIndexOf","handleContainer","restoreStyle","disableScrollLock","isOverflowing","DocumentFragment","modals","modalIndex","modalRef","hiddenSiblings","getHiddenSiblings","containerIndex","ariaHiddenState","nextTop","isTopModal","disableEscapeKeyDown","closeAfterTransition","onTransitionEnter","onTransitionExited","onClose","mountNodeRef","exited","setExited","hasTransition","getHasTransition","ariaHiddenProp","getModal","handleMounted","handleOpen","resolvedContainer","handlePortalRef","handleClose","createHandleKeyDown","otherHandlers","_otherHandlers$onKeyD","createHandleBackdropClick","_otherHandlers$onClic","getRootProps","propsEventHandlers","externalEventHandlers","getBackdropProps","portalRef","getModalUtilityClass","ModalRoot","ModalBackdrop","Backdrop","backdrop","_slots$backdrop","_slotProps$backdrop","BackdropComponent","BackdropProps","hideBackdrop","keepMounted","onBackdropClick","propsWithDefaults","useModal","BackdropSlot","backdropSlotProps","useSlotProps","backdropProps","FocusTrap","getPopoverUtilityClass","getOffsetLeft","getTransformOriginValue","resolveAnchorEl","anchorEl","PopoverRoot","Modal","PopoverPaper","PaperBase","_slotProps$paper","_slots$paper","anchorOrigin","anchorPosition","anchorReference","marginThreshold","PaperProps","PaperPropsProp","transitionDurationProp","externalPaperSlotProps","paperRef","handlePaperRef","getAnchorOffset","resolvedAnchorEl","anchorRect","getTransformOrigin","elemRect","getPositioningStyle","elemTransformOrigin","heightThreshold","widthThreshold","isPositioned","setIsPositioned","setPositioningStyles","positioning","PaperSlot","paperProps","_useSlotProps","rootSlotPropsProp","getMenuUtilityClass","RTL_ORIGIN","LTR_ORIGIN","MenuRoot","MenuPaper","WebkitOverflowScrolling","MenuMenuList","MenuList","disableAutoFocusItem","MenuListProps","PopoverClasses","menuListActionsRef","paperExternalSlotProps","paperSlotProps","getNativeSelectUtilityClasses","nativeSelectSelectStyles","nativeSelectClasses","NativeSelectSelect","nativeSelectIconStyles","NativeSelectIcon","iconOpen","IconComponent","getSelectUtilityClasses","SelectSelect","selectClasses","SelectIcon","SelectNativeInput","nativeInput","_MenuProps$slotProps","autoWidth","defaultOpen","displayEmpty","MenuProps","onOpen","openProp","SelectDisplayProps","tabIndexProp","setValueState","openState","setOpenState","displayRef","displayNode","setDisplayNode","isOpenControlled","menuMinWidthState","setMenuMinWidthState","handleDisplayRef","anchorElement","childrenArray","handleItemClick","clonedEvent","displaySingle","displayMultiple","computeDisplay","foundMatch","menuMinWidth","buttonId","listboxId","styledRootConfig","StyledInput","StyledOutlinedInput","StyledFilledInput","classesProp","ArrowDropDownIcon","variantProp","NativeSelectInput","SelectInput","restOfClasses","outlined","inputComponentRef","getTextFieldUtilityClass","variantComponent","TextFieldRoot","FormControl","FormHelperTextProps","helperText","InputLabelProps","InputProps","SelectProps","InputMore","helperTextId","inputLabelId","InputElement","InputLabel","htmlFor","FormHelperText","TextInputForm","numberInput","onChangeExtra","TextField","stripDiacritics","comp","defaultFilterOptions","ignoreAccents","ignoreCase","matchFrom","getOptionLabel","filteredOptions","createFilterOptions","defaultIsActiveElementInListbox","listboxRef","_listboxRef$current$p","MULTIPLE_DEFAULT_VALUE","unstable_isActiveElementInListbox","unstable_classNamePrefix","autoHighlight","autoSelect","blurOnSelect","clearOnBlur","freeSolo","clearOnEscape","disableClearable","disableCloseOnSelect","disabledProp","filterSelectedOptions","getOptionDisabled","getOptionKey","getOptionLabelProp","_option$label","handleHomeEndKeys","idProp","includeInputInList","inputValueProp","isOptionEqualToValue","onHighlightChange","onInputChange","openOnFocus","optionLabel","ignoreFocus","firstFocus","setAnchorEl","focusedTag","setFocusedTag","defaultHighlighted","highlightedIndexRef","setInputValueState","resetInputValue","newInputValue","inputPristine","setInputPristine","inputValueIsSelectedValue","popupOpen","previousProps","usePreviousProps","listboxAvailable","focusTag","tagToFocus","setHighlightedIndex","listboxNode","elementBottom","changeHighlightedIndex","validOptionIndex","getNextIndex","syncHighlightedIndex","previousHighlightedOptionIndex","getPreviousHighlightedOptionIndex","previousHighlightedOption","isSameValue","currentOption","optionItem","handleListboxRef","handleValue","selectNewValue","handleFocusTag","validTagIndex","handleClear","defaultMuiPrevented","handleInputChange","handleOptionMouseMove","handleOptionTouchStart","handleOptionClick","handleTagDelete","handlePopupIndicator","handleInputMouseDown","groupedOptions","getInputLabelProps","getInputProps","autoCapitalize","spellCheck","getClearProps","getPopupIndicatorProps","getTagProps","getListboxProps","getOptionProps","_getOptionKey","isHTMLElement","isShadowRoot","ShadowRoot","getUAString","uaData","userAgentData","brands","brand","isLayoutViewport","includeScale","isFixedStrategy","addVisualOffsets","getWindowScroll","getNodeName","getWindowScrollBarX","isScrollParent","_getComputedStyle","getCompositeRect","elementOrVirtualElement","isOffsetParentAnElement","offsetParentIsScaled","isElementScaled","getNodeScroll","getLayoutRect","assignedSlot","getScrollParent","listScrollParents","scrollParent","isBody","updatedList","isTableElement","getTrueOffsetParent","getOffsetParent","isFirefox","perspective","willChange","getContainingBlock","basePlacements","popper","variationPlacements","placement","placements","modifierPhases","requires","requiresIfExists","dep","depModifier","areValidElements","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","orderedModifiers","modifiersData","effectCleanupFns","isDestroyed","setOptionsAction","cleanupModifierEffects","scrollParents","contextElement","phase","orderModifiers","mergeByName","_ref$options","cleanupFn","noopFn","_state$elements","_state$orderedModifie","_state$orderedModifie2","onFirstUpdate","getBasePlacement","getVariation","getMainAxisFromPlacement","computeOffsets","basePlacement","variation","commonX","commonY","unsetSides","mapToStyles","_Object$assign2","popperRect","gpuAcceleration","adaptive","roundOffsets","_offsets$x","_offsets$y","hasX","hasY","sideX","sideY","heightProp","widthProp","_Object$assign","commonStyles","dpr","roundOffsetsByDPR","getOppositePlacement","getOppositeVariationPlacement","isSameNode","rectToClientRect","getClientRectFromMixedType","clippingParent","layoutViewport","getViewportRect","getInnerBoundingClientRect","winScroll","getDocumentRect","getClippingRect","rootBoundary","mainClippingParents","clippingParents","clipperElement","getClippingParents","firstClippingParent","clippingRect","accRect","mergePaddingObject","paddingObject","expandToHashMap","hashMap","detectOverflow","_options$placement","_options$strategy","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","clippingClientRect","referenceClientRect","popperOffsets","popperClientRect","elementClientRect","overflowOffsets","offsetData","within","getSideOffsets","preventedOffsets","isAnySideFullyClipped","createPopper","_options$scroll","_options$resize","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","arrow","initialStyles","_options$offset","invertDistance","skidding","distanceAndSkiddingToXY","_data$state$placement","_skip","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","flipVariations","allowedAutoPlacements","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","_options$allowedAutoP","allPlacements","allowedPlacements","overflows","computeAutoPlacement","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","mainVariationSide","altVariationSide","checks","fittingPlacement","_options$tether","tether","_options$tetherOffset","tetherOffset","isBasePlacement","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","arrowElement","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","arrowOffsetParent","offsetModifierValue","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","withinMaxClamp","_state$modifiersData$","toPaddingObject","minProp","maxProp","endDiff","startDiff","clientSize","centerToReference","axisProp","centerOffset","_options$element","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","getPopperUtilityClass","defaultPopperOptions","PopperTooltip","initialPlacement","popperOptions","popperRef","popperRefProp","tooltipRef","ownRef","handlePopperRef","handlePopperRefRef","rtlPlacement","flipPlacement","setPlacement","resolvedAnchorElement","setResolvedAnchorElement","popperModifiers","PopperRoot","BasePopper","RootComponent","getListSubheaderUtilityClass","ListSubheaderRoot","disableSticky","sticky","ListSubheader","getAutocompleteUtilityClass","_ClearIcon","_ArrowDropDownIcon","_excluded4","AutocompleteRoot","hasClearIcon","hasPopupIcon","inputFocused","autocompleteClasses","inputRoot","clearIndicator","AutocompleteEndAdornment","AutocompleteClearIndicator","IconButton","AutocompletePopupIndicator","popupIndicator","popupIndicatorOpen","AutocompletePopper","Popper","popperDisablePortal","AutocompletePaper","AutocompleteLoading","AutocompleteNoOptions","noOptions","AutocompleteListbox","listbox","AutocompleteGroupLabel","AutocompleteGroupUl","groupUl","_slotProps$clearIndic","_slotProps$popper","_slotProps$popupIndic","ChipProps","clearIcon","ClearIcon","closeText","forcePopupIcon","getLimitTagsText","limitTags","ListboxComponent","ListboxProps","loadingText","noOptionsText","openText","PaperComponent","PopperComponent","popupIcon","renderGroup","renderGroupProp","renderInput","renderOption","renderOptionProp","renderTags","useAutocomplete","externalListboxRef","_getListboxProps","otherListboxProps","combinedListboxRef","getCustomizedTagProps","_getCustomizedTagProp","customTagProps","defaultRenderOption","props2","renderListOption","optionProps","clearIndicatorSlotProps","popperSlotProps","popupIndicatorSlotProps","option2","index2","getCircularProgressUtilityClass","SIZE","circularRotateKeyframe","circularDashKeyframe","CircularProgressRoot","CircularProgressSVG","CircularProgressCircle","disableShrink","circleDisableShrink","thickness","circleStyle","rootStyle","circumference","processStyles","styledEngineStyled","StyledIconButton","AutocomplateInputForm","remoteDataAdaptor","insertButtonRef","clearable","setCustomChipLabels","onlyUpdateBtn","disabledOptionValues","onChangeFilter","telefonRef","mailRef","insertEditButtonVisible","notSort","optionsTemp","_options$find$Text","_options$find","getFieldText","getFromRowData","fieldLabel","telInfo","mailInfo","_remoteDataAdaptor$fi","fildsForText","fName","_remoteDataAdaptor$fi2","fieldForValue","setDefaultValue","directText","fetchRoute","reqData","_res$data$data$map$so","_res$data","_res$data$data","_res$data$data$map","_Fragment","CircularProgress","_insertButtonRef$curr","openRecord","_insertButtonRef$curr2","Edit","ctheme","navyBlue","lynxWhite","brightNavyBlue","superSilver","gridHeaderColor","darkTeal","grape","darkGrape","gridHeaderLight","aiburn","lightAiburn","lightYellowTransparent","lightYellow","retroLime","lightPink","lightBrown","frostedPlains","lightOrange","lightPurple","lightRed","lightGreen","getUnit","toUnitless","getSkeletonUtilityClass","pulseKeyframe","waveKeyframe","SkeletonRoot","withChildren","fitContent","heightAuto","radiusUnit","radiusValue","Skeleton","getTypographyUtilityClass","TypographyRoot","noWrap","gutterBottom","paragraph","defaultVariantMapping","colorTransformations","textPrimary","textSecondary","transformDeprecatedColors","variantMapping","modalLoading","columnDirection","Typography","DATE_WIDTH","ID_WIDTH","ILGILI_MODUL_WIDTH","IS_SONUCU_WIDTH","BASLIK_WIDTH","OKUNMAYAN_YORUM_WIDTH","KDV_WIDTH","ACIKLAMA_WIDTH","LONG_DATE_WIDTH","FILTER_TYPE","getSwitchBaseUtilityClass","SwitchBaseRoot","SwitchBaseInput","checkedProp","checkedIcon","setCheckedState","hasLabelFor","newChecked","getCheckboxUtilityClass","CheckboxRoot","SwitchBase","indeterminate","checkboxClasses","defaultCheckedIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","_icon$props$fontSize","_indeterminateIcon$pr","indeterminateIcon","indeterminateIconProp","CheckboxForm","Checkbox","fieldCompWidth","isFilterPage","DateBoxButton","PopoverViaButton","PButton","setOpen","ref1","getListItemUtilityClass","getListItemButtonUtilityClass","getListItemSecondaryActionClassesUtilityClass","ListItemSecondaryActionRoot","ListItemSecondaryAction","ListItemRoot","alignItemsFlexStart","hasSecondaryAction","secondaryAction","listItemButtonClasses","listItemClasses","backgroundClip","ListItemContainer","componentProp","ContainerComponent","ContainerProps","ContainerClassName","listItemRef","getDialogUtilityClass","DialogBackdrop","overrides","DialogRoot","DialogContainer","DialogPaper","paperFullWidth","paperFullScreen","dialogClasses","paperScrollBody","defaultTransitionDuration","ariaLabelledbyProp","backdropClick","ariaLabelledby","dialogContextValue","titleId","DialogContext","getDialogTitleUtilityClass","DialogTitleRoot","setFullScreen","canFullScreen","DialogTitle","FullscreenIcon","CloseIcon","DraggablePaper","circulars","errorToString","regExpToString","SYMBOL_REGEXP","printSimpleValue","quoteStrings","printNumber","printValue","mixed","notOneOf","notType","isCast","defined","lowercase","uppercase","moreThan","noUnknown","__isYupSchema__","otherwise","isSchema","strReg","formatError","errorOrErrors","runTests","endEarly","tests","nestedErrors","Reference","isContext","isSibling","describe","isRef","__isYupRef","createValidation","createError","nextParams","mapValues","validOrError","lastPart","lastPartDebug","_part","ReferenceSet","resolveAll","removeItems","BaseSchema","transforms","_mutate","_typeError","_whitelist","_blacklist","exclusiveTests","spec","withMutation","typeError","abortEarly","nullable","presence","_typeCheck","_whitelistError","_blacklistError","mergedSpec","resolvedSchema","_cast","formattedResult","getDefault","initialTests","finalTests","maybeCb","validateSync","isValidSync","_getDefault","isStrict","_isPresent","exclusive","notRequired","isNullable","isExclusive","Condition","enums","valids","resolved","invalids","Mixed","BooleanSchema","isTrue","isAbsent","isFalse","rEmail","rUrl","rUUID","isTrimmed","objStringTag","StringSchema","excludeEmptyString","ensure","NumberSchema","less","truncate","_method","avail","isoReg","DateSchema","numericKeys","minutesOffset","isoParse","prepareParam","INVALID_DATE","_err$path","sortByKeyOrder","defaultSort","ObjectSchema","_sortErrors","_excludedEdges","_options$stripUnknown","stripUnknown","intermediateValue","innerOptions","__validating","fieldSpec","nextFields","schemaOrRef","getDefaultFromShape","dft","additions","excludes","excludedEdges","depPath","sortFields","picked","omit","fromGetter","noAllow","unknownKeys","known","unknown","allow","transformKeys","mapKeys","constantCase","ArraySchema","_subType","_opts","castArray","castElement","_options$abortEarly","_options$recursive","compact","rejector","_err$inner","formError","showActionButtons","setShowActionButtons","setId","_showActionButtons","closeRecord","validateFormValues","getDialogActionsUtilityClass","DialogActionsRoot","disableSpacing","dialogTitle","contentText","onayBtnText","redBtnText","onayBtnClick","dialogActionsVisible","evetEvent","hayirEvent","useDialog","Dialog","DialogActions","modalTitle","cikisAlertDialogRef","handleDialogClose","BootstrapDialogTitle","CikisAlertDialog","DialogContentWrapper","useThemeProps","defaultCreateStyledComponent","systemStyled","useThemePropsDefault","useThemePropsSystem","joinChildren","spacingValues","previousDirectionValue","useFlexGap","createStack","createStyledComponent","StackRoot","getAlertUtilityClass","AlertRoot","severity","getBackgroundColor","colorSeverity","Alert","alertClasses","AlertIcon","AlertMessage","AlertAction","defaultIconMapping","SuccessOutlinedIcon","ReportProblemOutlinedIcon","ErrorOutlineIcon","InfoOutlinedIcon","iconMapping","CloseButton","CloseButtonSlot","closeButtonProps","CloseIconSlot","closeIconProps","getAlertTitleUtilityClass","AlertTitleRoot","useBasicDialog","CustomAlert","AlertTitle","merkez","yetkiGrubuTipi","ScrollDialog","PageConfig","listGridRef","sirketBazliSureAnalizinden","setFilterData","customChipLabels","sirketBazliSureAnaliziSurunAciklamasiDialogRef","defaultFilterData","_entity$visible","_listGridRef$current","_listGridRef$current$","MuiAccordion","_listGridRef$current2","_listGridRef$current3","MuiAccordionSummary","ExpandMoreIcon","_entity$items","_entity$items$find","_x$visible","_x$visible2","NavigateListItem","_sirketBazliSureAnali2","HelpOutlineIcon","MuiAccordionDetails","onlyYetkiGrubuTipi","gizlenecekYetkiGrubuTipi","FilterFieldWrapper","DateInputForm2","customComponent","customComponentParams","oldVal","newOpt","FilterFieldWrapperForCheckBox","SirketBazliSureAnaliziSutunInfoDialog","parseHtmlString","htmlString","replacedHtmlString","sorumluJoin","sorumlular","sorumlu","isimSoyisim","ekranKodu","personelInputRef","kullaniciInputRef","sirketKisisiInputRef","newVal","isPrimaryKey","firstSort","visibleConditions","SirketInputForm","listRoute","getByIdRoute","insertRoute","updateRoute","bulkUpdateRoute","deleteRoute","PageConfigForIlgiliKisiler","loadingVisible","willOpen","printToast","resWrapper","_resWrapper$message","Success","Message","toast","autoClose","hideProgressBar","pauseOnHover","afterSubmitFnc","deleteCheck","customFetchData","customInsertOrUpdate","handleSubmitPrepareData","afterDeleteFunc","_context$user$yetkile","_context$user","recId","setRecId","setRowData","setModalLoading","setRowDataFnc","handleClickOpen","yetki","yetkiler","insertOrUpdate","sizeValues","fontValues","headerValues","_editorRef$current","_editorRef$current$in","setInitialized","_editorRef$current2","_editorRef$current2$i","fieldTextWidth","setFieldTextWidth","setFieldCompWidth","labelcolor","useFieldWidth","DialogActionsWrapper","MultipleAutocomplateInputForm","mapItemToValue","_option$Text","_opt$Text","handleOnChange","uniqueValues","getDialogContentUtilityClass","DialogContentRoot","dividers","dialogTitleClasses","getDialogContentTextUtilityClass","DialogContentTextRoot","DialogContent","DialogContentText","DeleteDialog","alertDialogRef","AlertDialog","CancelButton","RecordButton","deleteCondition","submitExtra","submitButtonText","submitCondition","submitDisabled","deleteDisabled","yetkisizseAc","cancelCondition","deleteButtonText","kaydet","Save","sil","_alertDialogRef$curre","formStyle","DialogContentTop","kayitTarihi","usePageRecord","yup","musteri","FormComponent","FieldWrapper","getSirket_KodFromSession","RichTextEditor","findPrimaryKey","pageConfigType","_includesCSVExpression","ExportFormat","formatObjectConverter","escaped","_hasCSVInjection","textQualifier","_hasCSVQuotedInjection","escapedTextQualifier","replaceAll","ExportLoadPanel","_$targetElement","getFullOptions","keepColumnWidths","encodeExecutableContent","convertDateForExcelJS","setNumberFormat","excelCell","getCellStyles","tryConvertToExcelNumberFormat","setAlignment","_excelCell$alignment","Helpers","getLoadPanelTargetElement","getLoadPanelContainer","_component$_getIntern","exportLoadPanel","internalComponent","_getInternalInstance","initialLoadPanelEnabledOption","cellRange","dataRowsCount","_exportAllFieldHeaders","fieldHeaderRowsCount","_getFieldHeaderRowsCount","_isRowFieldHeadersRow","_exportFieldHeaders","_trySetOutlineLevel","exportRow","mergedRangesManager","applyMergedRages","worksheetViewSettings","_isFrozenZone","_getWorksheetFrozenState","_trySetAutoFilter","_getFirstColumnIndex","updateMergedRanges","findMergedCellInfo","_isHeaderCell","masterCell","_trySetFont","_customizeCell","MergedRangesManager","mergedCells","mergedRanges","isCellInMergedRanges","allowToMergeRange","_allowToMergeRange","updateMergedCells","shouldReduceInfoRange","_isInfoCell","_allowExportRowFieldHeaders","addMergedRange","endRowIndex","DataGridHelpers","customizeCell","_getAllFieldHeaders","exportDataGrid","_getFullOptions","_getLoadPanelTargetElement","_getLoadPanelContainer","ColorList","CustomColoredButton","ExportButton","pageConfig","gridRef","ExcelFileName","SmallButton","ekran","teklifGoruntule","HEADER_COLUMN_BUTTONS","GridClearButton","deepEqual","setUserParamsWithRef","loadState","_context$userParamsRe","_context$userParamsRe2","_context$userParamsRe3","_context$userParamsRe4","gridStates","_params$gridStates","getGridStates","firstSortColumns","fsColumn","saveState","stateChanged","oldCol","currCol","_context$userParamsRe5","updatedUserParams","_context$userParamsRe6","_context$userParamsRe7","_context$userParamsRe8","gridId","gridState","setGridStates","EditablePageGridWithList","_context$user2","_context$user2$yetkil","filterRef","isModalCreatable","columnBtnVisible","CustomColumnButton","recordRef","isRowCreatable","editBtnVisible","hasTab","CustomHeaderButtons","useGridState","changesRef","_filterRef$current$fi","_filterRef$current","gridSort","Criteria","GridCriterias","sortModel","filterModel","Pagination","maxRowsPerPage","pagination","_recordRef$current","updateList","insertList","autoSaveOnEndEdit","onChangesChange","_recordRef$current2","_type$visible","innerVisible","_type$visibleConditio","isTeklifGoruntule","getTeklifGoruntule","isHarmonyAdmin","_i$allowEditing","pageGridHidden","cellRender","selectItems","_type$visible2","_type$visible3","cachedType","detectScrollType","getNormalizedScrollLeft","easeInOutSin","getTabScrollButtonUtilityClass","TabScrollButtonRoot","tabScrollButtonClasses","_slots$StartScrollBut","_slots$EndScrollButto","StartButtonIcon","StartScrollButtonIcon","KeyboardArrowLeft","EndButtonIcon","EndScrollButtonIcon","KeyboardArrowRight","startButtonIconProps","startScrollButtonIcon","endButtonIconProps","endScrollButtonIcon","getTabsUtilityClass","TabsRoot","tabsClasses","scrollButtons","scrollButtonsHideMobile","TabsScroller","hideScrollbar","scrollableX","scrollableY","FlexContainer","flexContainer","flexContainerVertical","centered","TabsIndicator","indicatorColor","TabsScrollbarSize","scrollbarHeight","setMeasurements","prevHeight","defaultIndicatorStyle","ariaLabelledBy","allowScrollButtonsMobile","ScrollButtonComponent","TabScrollButton","selectionFollowsFocus","TabIndicatorProps","TabScrollButtonProps","visibleScrollbar","scrollStart","startScrollButtonIconProps","endScrollButtonIconProps","setMounted","indicatorStyle","setIndicatorStyle","displayStartScroll","setDisplayStartScroll","displayEndScroll","setDisplayEndScroll","updateScrollObserver","setUpdateScrollObserver","scrollerStyle","setScrollerStyle","valueToIndex","tabsRef","tabListRef","getTabsMeta","tabsNode","tabsMeta","tabMeta","scrollLeftNormalized","updateIndicatorState","startIndicator","newIndicatorStyle","dStart","dSize","scrollValue","cancelled","moveTabsScroll","getScrollSize","handleStartScrollClick","handleEndScrollClick","handleScrollbarSizeChange","scrollSelectedIntoView","nextScrollStart","updateScrollButtonState","handleMutation","_resizeObserver","_resizeObserver2","mutationObserver","_mutationObserver","_resizeObserver3","tabListChildren","IntersectionObserver","firstTab","lastTab","observerOptions","firstObserver","isIntersecting","lastObserver","updateIndicator","updateScrollButtons","childValue","conditionalElements","getConditionalElements","scrollbarSizeListener","showScrollButtons","scrollButtonStart","scrollButtonEnd","previousItemKey","nextItemKey","getTabUtilityClass","TabRoot","labelIcon","tabClasses","iconWrapper","getAppBarUtilityClass","joinVars","var1","var2","AppBarRoot","backgroundColorDefault","enableColorOnDark","AppBar","defaultBg","darkBg","darkColor","appBarColor","tabOnChangeExtra","selectedTabIndex","listGridRefBK","filterRefBK","recordRefBK","MainTab","PageFilter","NotRecord","PageGrid","isCreatable","allowSingleSelection","ekleBtnDisabled","detayRecordRef","CustomGridHeaderButton","exportButtonVisible","gridClearButtonVisible","onRowPreparedExtra","ekleButtonText","nullsLast","durumValue","_i$allowExporting","_i$allowSorting","_detayRecordRef$curre","b64toBlob","b64Data","byteCharacters","byteArrays","byteNumbers","byteArray","pdfUrl","setPdfUrl","actionButtons","PageReport","getTooltipUtilityClass","TooltipPopper","disableInteractive","popperInteractive","popperArrow","popperClose","tooltipClasses","TooltipTooltip","tooltipArrow","TooltipArrow","hystersisOpen","hystersisTimer","composeEventHandler","_slots$popper","_slots$transition","_slots$tooltip","_slots$arrow","_slotProps$popper2","_slotProps$transition","_slotProps$tooltip","_slotProps$tooltip2","_slotProps$arrow","_slotProps$arrow2","describeChild","disableFocusListener","disableHoverListener","disableInteractiveProp","disableTouchListener","enterDelay","enterNextDelay","enterTouchDelay","followCursor","leaveDelay","leaveTouchDelay","PopperComponentProp","PopperProps","setChildNode","arrowRef","setArrowRef","ignoreNonTouchEvents","closeTimer","enterTimer","leaveTimer","touchTimer","prevUserSelect","stopTouchInteraction","WebkitUserSelect","handleMouseOver","setChildIsFocusVisible","detectTouchStart","childrenProps","nameOrDescProps","titleIsString","interactiveWrapperListeners","onMouseOver","_PopperProps$popperOp","tooltipModifiers","TooltipComponent","ArrowComponent","popperProps","tooltipProps","tooltipArrowProps","TransitionPropsInner","getTalepDurumuArr","KullaniciInputForm","_sirketInputRef$curre","_sirketInputRef$curre2","_sirketInputRef$curre3","sirketInputRef","musteriTemsilcisi","sirketId","BayilerInputForm","urunTipiRef","_res$data2","_res$data2$data","analizSonucu","_res$data3","_res$data3$data","_res$data4","_res$data4$data","talepDetayi","deleteWithFilesRoute","EMailGetByIdRoute","EMailUpdateRoute","_personelInputRef$cur2","_personelInputRef$cur","_res$data$data2","adSoyad","usePersonelRecord","eMail","PersonelInputForm","personelDialogRef","PersonelRecord","SourceType","charIsNumber","isNil","isNotValidValue","isNanValue","splitDecimal","numStr","allowNegative","addNegation","beforeDecimal","afterDecimal","limitToScale","fixedDecimalScale","filler","toNumericString","decimalIndex","coffiecientLn","roundToPrecision","shouldHaveDecimalSeparator","roundedDecimalParts","intPart","roundedStr","setCaretPosition","caretPos","createTextRange","findChangeRange","memoizeOnce","geInputCaretPosition","getDefaultChangeMeta","defaultIsCharacterSame","currentValueIndex","formattedValueIndex","getCaretPosInBoundary","valLn","caretUnknownFormatBoundary","boundaryAry","useInternalValues","valueIsNumericString","removeFormatting","onValueChange","getValues","callbackRef","persistentCbRef","usePersistentCallback","numAsString","setValues","_valueIsNumericString","sourceInfo","defaultRemoveFormatting","NumberFormatBase","displayType","customInput","getInputRef","isAllowed","getCaretBoundary","isValidInputCharacter","isCharacterSame","ref_0","onFormattedValueChange","caretPositionBeforeChange","lastUpdatedValue","_onValueChange","ref$1","focusedElm","setCaretTimeout","focusTimeout","getValueObject","setPatchedCaretPosition","correctCaretPosition","getNewCaretPosition","newFormattedValue","caretBoundary","updatedCaretPos","lastFormattedValue","curCaretPos","firstAllowedPosition","prefixFormat","curValLn","formattedValueLn","addedIndexMap","indexMap","jLn","getCaretPosition","lastNumAsString","currentCaretPosition","formatInputValue","changeRange","lastCaretPositions","findChangedRangeFromCaretPositions","changeMeta","_numAsString","input$1","updateValueAndCaretPosition","setCaretPositionInfoBeforeChange","inputMode","expectedCaretPosition","isArrowKey","newCaretPosition","correctCaretPositionIfRequired","CustomInput","decimalScale","thousandsGroupStyle","getSeparators","thousandSeparator","hasDecimalSeparator","thousandsGroupRegex","getThousandsGroupRegex","applyThousandSeparator","allowedDecimalSeparators","isBeforeDecimalSeparator","stripNegation","hasDoubleNegation","charsToRemove","toMetadata","fromStart","updatedSuffixPart","suffixStartIndex","negationRegex","doubleNegationRegex","removeNegation","handleNegation","getNumberRegex","ref$2","useNumericFormat","validateAndUpdateProps","allowLeadingZeros","_removeFormatting","isNumericString","roundIncomingValueToPrecision","ref$1_0","inputChar","curChar","newChar","getDecimalSeparatorIndex","_thousandSeparator","fixLeadingZero","NumericFormat","numericFormatProps","getInputAdornmentUtilityClass","InputAdornmentRoot","disablePointerEvents","inputAdornmentClasses","positionStart","disableTypography","NumericFormatCustom","NumberInputForm","onBlurExtra","yuzdeli","InputAdornment","PopoverButton","hoverBackColor","MoreVertIcon","IsKapatmaBtn","isKapatmaDialogRef","talepDuzenlenemez","_isKapatmaDialogRef$c","talepDurumu","fetchUrl","getTableContainerUtilityClass","TableContainerRoot","getTableUtilityClass","TableRoot","stickyHeader","borderCollapse","borderSpacing","captionSide","defaultComponent","TableContext","getTableHeadUtilityClass","TableHeadRoot","tablelvl2","Tablelvl2Context","getTableRowUtilityClass","TableRowRoot","tableRowClasses","getTableCellUtilityClass","TableCellRoot","tableCellClasses","paddingCheckbox","paddingProp","scopeProp","sizeProp","sortDirection","isHeadCell","ariaSort","getTableBodyUtilityClass","TableBodyRoot","downloadFile","deleteFileIds","setDeleteFileIds","TableHead","ekleyenKullaniciAdi","ekleyenKullYetkiGrubu","Download","deleteFile","fileId","DosyaYukleButton","DosyaYukle","reqExtraData","handleCloseExtra","sutunSiralamasi","openModal","closeModal","isOpen","FileViewer","parentRowData","dosyaYukleRef","mime","allFilesDownloadRoute","fileDownloadRoute","downloadAllFiles","FileList","_dosyaYukleRef$curren","deleteFilesRoute","masterId","idList","fileUploadRoute","useFetchDialog","filesInfoRoute","EkDosyaButton","dosyaGoruntulemeDialogRef","PageviewIcon","_dosyaGoruntulemeDial","FileViewDialog","talebeAitDosyaVar","SaveButton","saveButtonText","IsKapatmaDialog","actionBtnVisible","isSonucu","TemsilciAnaliziDialog","useSubmit","temsilciAnalizi","talepId","getDividerUtilityClass","DividerRoot","absolute","flexItem","withChildrenVertical","dividerChannel","DividerWrapper","wrapperVertical","Divider","YorumInputForm","SendIcon","Yorum","inDialog","yorumData","setYorumData","yorumlar","isEdit","setIsEdit","scrollRef","editInputRef","handleUpdate","yorum","newYorum","_context$user3","yorumYapanKullaniciIdStr","yorumYapanKullaniciId","DoneIcon","EditIcon","FileConfig","YorumlariGoruntuleButton","Comment","TalepGoruntuleButton","Preview","MultilineTextInputForm","masterDialogClose","OnAnalizDialog","tip","screenCapiton","lModalTitle","lFieldName","onAnaliz","testKlavuzu","BayiTemsilciAnaliziDialog","bayiTemsilciAnalizi","getCardUtilityClass","CardRoot","raised","getCardContentUtilityClass","CardContentRoot","dipToplamCellPrepared","editGridRef","ekleButtonGizli","dipToplamDataSource","dipToplamEntities","editButtonsGizli","filtrele","editButtonOnClick","rowPrepared","editButtonVisible","gridDipToplamExists","ColoredLine","setCurrentFilter","dipToplamdaGoster","DipToplamGrid","_rowData$detay","tahminiTerminTarihi","setTahminiTerminTarihi","tahminiSure","setTahminiSure","currentRowId","setCurrentRowId","isEditMode","setIsEditMode","aciklama","setAciklama","_ref$current","convertToLocalTime","utcDateStr","CardContent","baslangicTarihi","terminTarihi","hedefSure","EditGrid","detay","selectedDate","hedeflenenTerminTarihi","hedeflenenSure","sorumluid","CustomDateInputFormForStates","SaveIcon","talepid","fiiliBaslangicTarihi","setFiiliBaslangicTarihi","harcananSure","setHarcananSure","yapilanIslem","setYapilanIslem","validationSchema","newErrors","AnalizSonucuDialog","_context$user4","_context$user5","_context$user6","_context$user7","buttonVisible","talepDetayiDialogRef","temsilciAnaliziDialogRef","yorumDialogRef","talepRecordRef","deleteDialogRef","deleteDescriptionDialogRef","testKlavuzuDialogRef","analizSonucuDialogRef","xtemsilciAnaliziDialogRef","bayiTemsilciAnaliziDialogRef","onAnalizDialogRef","tahminiTerminVerDialogRef","iseBaslangicGirisiDialogRef","testKlavuzuYapabilir","onAnalizYapabilir","bayiTemsilciAnaliziEditable","temsilciAnaliziEditable","_onAnalizDialogRef$cu","_testKlavuzuDialogRef","_temsilciAnaliziDialo","_bayiTemsilciAnaliziD","_talepDetayiDialogRef","talepDetayiVarMi","_yorumDialogRef$curre","CalendarMonthIcon","_tahminiTerminVerDial","AccessTimeIcon","_iseBaslangicGirisiDi","_talepRecordRef$curre","_deleteDialogRef$curr","TalepDetayiDialog","YorumDialog","isIsYorum","bayiKullanicisi","HomeRecord","_deleteDescriptionDia","DeleteDescriptionDialog","TahminiTerminDialog","IseBaslangicGirisiDialog","AnalizSonucuButton","buttonCaption","IsYorumDialog","yorumListRef","yalnizcaOkunur","tarih","_yorumListRef$current","_yorumListRef$current2","iletisimKurulanKisiInputRef","isinDurumuInputRef","islemTuru","isinDurumu","yorumReadOnly","isSonucuYayinlansinVisible","_isinDurumuInputRef$c","_isinDurumuInputRef$c2","_isinDurumuInputRef$c3","_isinDurumuInputRef$c4","_isinDurumuInputRef$c5","_isinDurumuInputRef$c6","_isinDurumuInputRef$c7","_isinDurumuInputRef$c8","_isinDurumuInputRef$c9","_props$values","tahsilEdildi","yonlendir","_analizSonucuDialogRe","analizSonucuVar","_yorumData$yorumlar","yorumMaxHeight","_yorum$harcananSure","_Object$values$find","SearchIcon","yorumList","setYorumList","yorumRef","IsYorumList","_data$teklifBirimi","xmerkezTeklifiGuncelliyor","bayiTeklifTutari","teklifBirimi","duzenlemeYapamaz","teklifTutari","bayiTeklifKdvOrani","bayiAnalizSonucu","teklifKdvOrani","xToplamTeklifTutari","PersonelConfig","talepEdenPersonelEMail","mainlistGridRef","isSonucuYayinlansinGozuksun","TeklifIptalDialog","teklifIptalAlertDialogRef","BayiTalebiMerkezeGonderDialog","bayiTalepDetayi","CustomFieldWrapper","formValues","TarihAtamaConfig","BayiTarihAtamaConfig","lConfig","anaBayiKullanicisi","TamamButton","HomeRecordDialogs","_context$user8","_context$user9","teklifRecordRef","bayiTeklifRecordRef","talepYonlendirmeDialogRef","bayiTalepYonlendirmeDialogRef","teklifPdfDialogRef","onayliPdfDialogRef","destekAsimPdfDialogRef","emailDialogRef","isSonucuDialogRef","analizSonucuAlertDialogRef","bayiTalebiMerkezeGonderDialogRef","bayidenMusteriyeDirekTeklifRecordRef","musteriTalepDetayiDialogRef","talepTarihAtamaDialogRef","yonlendirmeAciklamasiRef","aksiyonAnaliziAlertDialogRef","isYorumDialogRef","bayiTalepDurumu","merkezdeIsAcildi","teklifiMusteriyeIletemez","teklifDurumu","onAnalizEditable","TeklifRecord","BayiTeklifRecord","BayidenMusteriyeDirekTeklifRecord","TalepYonlendirmeDialog","BayiTalepYonlendirmeDialog","TalepTarihAtamaDialog","PdfDialog","EMailDialog","IsSonucuDialog","MusteriTalepDetayiDialog","YonlendirmeAciklamasiDialog","BayiTalebiOnaylaBtn","Send","_bayiTalebiMerkezeGon","dinamikTanimInputRef","_dinamikTanimInputRef2","_dinamikTanimInputRef","dinamikTanimlarRecordRef","aciklamaCaption","useDinamikTanimlarRecord","DinamikTanimlarInputForm","fieldLabelRef","dinamikTanimlarDialogRef","DinamikTanimlarRecord","dinamikTanimlarInputRef","sirketidData","sirketid","gorevDinamikTanimInputRef","SirketKisisiInputForm","_sirketInputRef$curre4","sirketKisiDialogRef","SirketKisilerRecord","_context$user2$kullan","onayRedKullaniciInputRef","raporKategori","onayRed","handleDeleteWithFiles","useHandleDelete","talepBasligi","talepTipi","oncelik","ilgiliModul","CustomFieldWrapperKdvOrani","bayiTeklifVisible","teklifVisible","teklifVerButtonVisible","bayiTeklifVerButtonVisible","onayRedSecenekleriniGoruntule","harmonyAdmin","talepyonlendirmeYapabilir","kullaniciParametreleri","hataVeSorguTipliTalepleriYonlendirebilir","temsilciAnaliziYapabilir","isSonucuGirebilir","bayiTalebiOnaylayabilir","talepYonlendirmeBayili","talepDetayindaBayiTalepDetayiGozuksun","musteriTalepDetayiGoruntule","bayiid","tarihAtamaYapabilir","yonlendirmeAciklamasiGorur","_teklifIptalAlertDial","_teklifIptalAlertDial2","sirketId2","_teklifPdfDialogRef$c","teklifVerilisTarihi","onayliTeklifDosyasiVarMi","_onayliPdfDialogRef$c","_isYorumDialogRef$cur","_yonlendirmeAciklamas","_alertDialogRef$curre2","_musteriTalepDetayiDi","_alertDialogRef$curre3","_alertDialogRef$curre4","_alertDialogRef$curre5","_alertDialogRef$curre6","_aksiyonAnaliziAlertD","_teklifRecordRef$curr","bayiTeklifVerilisTarihi","_alertDialogRef$curre7","_bayidenMusteriyeDire","_bayiTeklifRecordRef$","_talepYonlendirmeDial","_talepYonlendirmeDial2","_alertDialogRef$curre8","_bayiTalepYonlendirme","_bayiTalepYonlendirme2","_alertDialogRef$curre9","_isSonucuDialogRef$cu","_alertDialogRef$curre10","_talepTarihAtamaDialo","_alertDialogRef$curre11","GridTeklifPdfButton","pdfDialogRef","goruntule","bagliOlduguBayiid","_pdfDialogRef$current","GridTeklifPdfButtonBayi","pdfDialogRefBayi","GridIsSonucuButton","BaglantiBilgileriFileConfig","HizmetFormFileConfig","PaketBilgileriConfig","AnlasmaBilgileriConfig","useFetch","validationSchemaSirketBilgileri","sirketAdi","sirketBilgisiValidate","temsilci","afterUpload","defaultImg","dropZoneText","isDropZoneActive","imageSource","textVisible","progressVisible","progressValue","_error$response","fileReader","LogoGuncelleme","CustomDropZone","SirketBilgileri","sifreGorebilir","showPassword","setShowPassword","handleTogglePasswordVisibility","VisibilityOff","Visibility","SifreGuncelleme","eskiSifre","yeniSifre","yeniSifreTekrar","passwordValidate","PasswordInputForm","Key","_inputRef$current2","_inputRef$current","yetkiGrubuAdi","useYetkiGrubuRecord","YetkiGrubuInputForm","dialogRef","YetkiGrubuRecord","isim","soyisim","yetkiGrubuId","KullaniciBilgisiGuncelleme","Yardim","DateInputForm","timestampInMilliseconds","sozlesmeTarihiBitmisMi","destekSozBitis","ilkKurulumProjeBilgileriBitmisMi","projeBitisTarihi","MusteriTalepRecord","recordButtonCondition","TeklifOnayDialog","uploaded","onayRedAciklama","monthOffset","comparisonOperator","compareDate","adjustedDate","MusteriTalep","teklifRedDialogRef","_teklifRedDialogRef$c","_pdfDialogRef$current3","_pdfDialogRef$current2","compareWithMonths","TeklifRedDialog","DestekSuresiDurumuButton","SupportAgentIcon","SureTypography","DestekSuresiDialog","_rowData$degerlendirm","_rowData$anlasilanSur","_rowData$anlasilanSur2","_rowData$degerlendirm2","_rowData$anlasilanSur3","_rowData$degerlendirm3","_rowData$sureAsimi","ay","degerlendirmeyeAlinanSure","anlasilanSure","sureAsimi","tarihAraligi","_filterRef$current2","_filterRef$current2$f","_filterRef$current3","_filterRef$current3$f","selectedMonth","lastDayOfMonth","toLocaleDateString","fillYearForSelect","destekVerenId","destekAlanId","yolUcreti","yonlendirilecekSorumluVisible","destekVerenIdStr","islemTuruInputRef","destekAlanKisiid","destekSuresi","_islemTuruInputRef$cu","_islemTuruInputRef$cu2","firmaZiyaretiExtraFieldVisible","_islemTuruInputRef$cu3","Destek","destekSuresiDialogRef","_destekSuresiDialogRe","DestekRecord","DestekDetayRecord","HizmetForm","personelJoin","personeller","SirketKisiler","setIsReady","_prevProps$rowData","_nextProps$rowData","UlkeInputForm","SehirInputForm","_ulkeInputRef$current","_ulkeInputRef$current2","ulkeInputRef","ulkeidValue","ulkeid","IlceInputForm","_sehirInputRef$curren","_sehirInputRef$curren2","sehirInputRef","sehiridValue","sehirid","MahalleInputForm","_ilceInputRef$current","_ilceInputRef$current2","ilceInputRef","ilceidValue","ilceid","tabRef","BaglantiBilgileriTab","ToplantiTab","SirketKisilerTab","mahalleInputRef","sektorDinamikTanimInputRef","programDinamikTanimInputRef","iletisimDurumuDinamikTanimInputRef","DigerBilgilerTab","Padding","BASLANGIC_PAKET","STANDART_PAKET","ORTA_PAKET","ILERI_PAKET","EK_PAKET","getFormControlLabelUtilityClasses","FormControlLabelRoot","formControlLabelClasses","labelPlacement","_slotProps$typography","labelProp","requiredProp","controlProps","typographySlotProps","IndeterminateCheckbox","FormControlLabel","clearOtherPackets","PaketWrapper","setBaslangicTarihi","bitisTarihi","setBitisTarihi","handleDateChange","destekSozBaslangic","projeBaslangicTarihi","sozlesmeVarMi","DescriptionIcon","OtherConfig","UrunlerInputForm","_urunTipiRef$current","_urunTipiRef$current2","_programRef$current","_programRef$current2","programRef","fieldsForText","program","urunTipi","urunTip","masterRef","detailGridRef","setGridDs","urunKoduInputRef","tempChanges","randomUUID","afterDelete","ds","gridDs","lisansPaketBilgileriErpDetayDtos","LisansPaketBilgileriErpDetayRecord","paketBilgileriDialogRef","destekKullanicisi","_editGridRef$current","_editGridRef$current$","lisansKoduRef","lisansKodu","flisansKodu","prevData","lisansKoduVer","LisansPaketBilgileriErpDetay","_paketBilgileriDialog","PaketBilgileriDialog","potansiyelidData","potansiyelid","PotansiyelKisilerInputForm","_potansiyelIdRef$curr","_potansiyelIdRef$curr2","potansiyelIdRef","potFirmaid","fieldLabelVal","potansiyelKisilerDialogRef","PotansiyelKisilerRecord","SirketKisilerInputForm","_sirketIdRef$current","_sirketIdRef$current2","sirketIdRef","sirketKisilerDialogRef","xSirketid","localRef","_localRef$current","detaydaAnaKullaniciVar","gorusulenKisiTelRef","gorusulenKisiMailRef","NewTextInputForm","lisansPaketBilgileriCloudDetayDtos","LisansPaketBilgileriCloudDetayRecord","LisansPaketBilgileriCloudDetay","anlasmaOdemeBilgileriErpDetayDtos","AnlasmaOdemeBilgileriERPDetayRecord","AnlasmaOdemeBilgileriERPDetay","PageConfigAnlasma","TypeAnlasma","PageConfigOdeme","TypeOdeme","anlasmaBilgileriCloudDetayDtos","AnlasmaBilgileriCloudDetayRecord","odemeBilgileriCloudDetayDtos","OdemeBilgileriCloudDetayRecord","editGridRefAnlasma","editGridRefOdeme","_editGridRefAnlasma$c","_editGridRefAnlasma$c2","_editGridRefOdeme$cur","_editGridRefOdeme$cur2","AnlasmaBilgileriCloudDetay","OdemeBilgileriCloudDetay","SirketRecord","aktif","lisansPaketBilgileriErpDialogRef","lisansPaketBilgileriCloudDialogRef","anlasmaOdemeBilgileriErpDialogRef","anlasmaOdemeBilgileriCloudDialogRef","vergiNoRef","anlasmaBilgileriDialogRef","bayilereYetkisiVar","bayiKodVisible","sirket_Kod","adres","vergiNo","_context$user6$yetkil","_context$user7$yetkil","_context$user8$yetkil","_context$user9$yetkil","programReadOnly","_vergiNoRef$current","musteriAdi","ulkeidStr","sehiridStr","ilceidStr","mahalleid","mahalleidStr","turmobdanBilgileriGetir","SirketTabs","WorkOutlineIcon","_lisansPaketBilgileri","_lisansPaketBilgileri2","PointOfSaleIcon","_anlasmaOdemeBilgiler","_anlasmaOdemeBilgiler2","LisansPaketBilgileriERPDialog","LisansPaketBilgileriCloudDialog","AnlasmaOdemeBilgileriERPDialog","AnlasmaOdemeBilgileriCloudDialog","AnlasmaBilgileriDialog","urunGrubuInputRef","_urunGrubuInputRef$cu2","_urunGrubuInputRef$cu","urunGrubu","useUrunGrubuRecord","UrunGrubuInputForm","urunGrubuDialogRef","UrunGrubuRecord","CustomFieldWrapperForAciklama","UrunGrubu1InputRef","UrunGrubu2InputRef","UrunGrubu3InputRef","urunKodu","urunAdi","UrunlerRecord","SirketBazliSureAnalizi","ContainerRoot","breakpointValueKey","Login","loginData","setLoginData","errorMessage","setErrorMessage","talepveDanismanlikYonetimi","gorevYonetimi","LoginIcon","ekranAdi","ekranAdiGetir","EditablePageGrid","detailRef","filterRowRef","customFilterRef","_detailRef$current","getEkranKoduArr","dataSourceAyarla","_data$yetkiEkranlari2","tumEkranKodlari","eklenecekEkranKodlari","_data$yetkiEkranlari","yetkiEkranlari","gridData","useYetkiValues","YetkiRecord","kullaniciid","useKullaniciYetkiValues","aktifKullaniciBayiKullanicisi","yetkiGrubuInputRef","kullaniciYetkileriDialogRef","kullaniciParametreleriDialogRef","_kullaniciYetkileriDi","_kullaniciParametrele","KullaniciYetkiRecord","KullaniciParametreleriDialog","KullaniciRecord","DestekGecmisi","yazilimsalistGridRef","genelListGridRef","GenelDestekPageConfig","YazilimsalDestekPageConfig","EVET","HAYIR","KullaniciAnalizi","ScrollableCell","BekleyenGorev","ustGorevDialogRef","_yorumDialogRef$curre2","iseBaslangiciVar","_yorumDialogRef$curre3","_yorumDialogRef$curre4","_e$row$data","_e$row2$data","BekleyenGorevConfig","Gorev","GorevConfig","BayiIsYorumDialog","isSonucuBayi","BayiBekleyenGorev","_ustGorevDialogRef$cu","ustid","_e$row3","_e$row3$data","BayiBekleyenGorevConfig","BayiGorev","Gorevler","lUrl","IsSonucuRaporu","YeniEklenenOzellikler","ToplantiRecord","_rowData$yetkililer","_rowData$yetkililer2","_rowData$sorumlular","_rowData$sorumlular2","destekRecordRef","planTarihiInputRef","aksiyonTarihiInputRef","hizmetFormuDialogRef","planTarihi","isTakip","durum","destekInitialState","aksiyonTarihi","kayitEdenKullanici","yetkililer","destekAlanIdStr","durumInputOnChangeExtra","DateTimeInputForm","destekId","SupportAgent","_destekRecordRef$curr","_destekRecordRef$curr2","Assignment","_hizmetFormuDialogRef","HizmetFormDialog","KontrolEdilecekIsler","talepleriKontrolEdebilir","kendimKontrolEttim","kontrolDurumu","listeNo","degisiklikTarihi","urunPaketSecimEnabled","urunTipSecimEnabled","urunid","kullaniciSayisi1","kullaniciSayisi2","birimFiyat","birim","_values$current","_values$current2","kdvOrani","xkdvTutari","listeid","FiyatListeDetayRecord","listeKodu","listeAdi","FiyatListeDetay","FiyatListeMasterRecord","FiyatListesiInputForm","BayiAnlasmaBilgileriConfig","BayilerRecord","bayiAnlasmaBilgileriDialogRef","bayiKod","bayiAdi","_bayiAnlasmaBilgileri","BayiAnlasmaBilgileriDialog","PotansiyelKisiler","CheckboxFormForFilterCheckGroup","checkedValue","PotansiyelMusteriInputForm","hatirlatmaEkleRoute","gorusmeAtamaRoute","GorusmeFileConfig","getCardHeaderUtilityClass","CardHeaderRoot","cardHeaderClasses","CardHeaderAvatar","CardHeaderAction","CardHeaderContent","subheaderProp","subheaderTypographyProps","titleProp","titleTypographyProps","teklifiReddetRoute","teklifTopluIskontoOraniUygula","TeklifOnayiFileConfig","typeDipToplam","CustomBox","TeklifDetayRecord","_context$user3$kullan","fiyatListeid","teklifid","xkullaniciSayisi","kayitEden","degisiklikYapan","miktar","kullaniciSayisi","urunAciklamasiDialogRef","kullaniciSayisiRef","brFiyatEnabled","kullBirimFiyatDegistirebilir","teklifteBirimFiyatDegistirebilir","iskontoOrani","maxIskontoOrani","isIskontoTutariManualChange","setisIskontoTutariManualChange","lastChangedField","setLastChangedField","urunTipiDolu","setUrunTipiDolu","urunKoduDolu","setUrunKoduDolu","programDolu","setProgramDolu","_urunKoduInputRef$cur2","_urunKoduInputRef$cur3","_urunKoduInputRef$cur4","_values$current3","_values$current4","_values$current5","_values$current6","_values$current7","_values$current8","bagimsizUrunAdi","iskontoTutariChanged","iskontoTutari","iskontoOraniChanged","newIskontoOrani","updatedMalTutari","updatedKdvTutari","updatedKdvliBrFiyat","newIskontoTutari","xMalTutari","xkdvliBirimFiyat","xIskontoTutari","_urunAciklamasiDialog","_urunKoduInputRef$cur","_kullaniciSayisiRef$c","_kullaniciSayisiRef$c2","_kullaniciSayisiRef$c3","urunId","fiyatListesiId","_kullaniciSayisiRef$c4","_kullaniciSayisiRef$c5","_kullaniciSayisiRef$c6","UrunAciklamasiDialog","_rowData$dipToplam","dipToplam","customHandleSubmit","potMusteriEklemeDialogRef","PotansiyelMusteriRecord","gorusmeRef","SatisTeklifiOnayliPdfDosyasiButton","satisTeklifOnayliPdfDialogRef","dosyaVar","PictureAsPdfIcon","_satisTeklifOnayliPdf","_satisTeklifOnayliPdf2","TeklifiReddedildiDialog","teklifReddetAlertDialogRef","teklifReddiniGeriAlAlertDialogRef","reddet","handleSubmitReddiGeriAl","TeklifiDovizliyeCevirDialog","setRowDataWithGetById","dovizKod","dovizKuru","dovizKuruSecimEnabled","customprogressBarStyle","topcontainer","masterid","TeklifProjeDetayRecord","TeklifProjeDetay","YuzdeliInputForm","currentDenemeKullanimi","denemeKullanimi","newDenemeKullanimi","_props$values2","_props$values3","xendDate","TeklifMasterRecord","_context$user6$kullan","cariTipiInputRef","topluIskontoDialogRef","teklifiDovizliyeCevirDialogRef","teklifProjeBilgileriRef","teklifOdemePlaniDialogRef","teklifOdemeBilgileriDialogRef","teklifTarihi","cariTipi","fiyatListesiid","fiyatListeidStr","fiyatListesiidStr","gorusmeid","potFirmaidStr","cariTipiSirketli","_cariTipiInputRef$cur","tumTekliflerinBilgileriniDegistirebilir","kullaniciSayisiDegistirilemez","teklifDuzenlenemez","PotansiyelMusteriEklemeliInputForm","RestoreIcon","_teklifReddiniGeriAlA","DoNotDisturbIcon","_teklifReddetAlertDia","PrintIcon","DiscountIcon","_topluIskontoDialogRe","CurrencyExchangeIcon","_teklifiDovizliyeCevi","StackedLineChartIcon","_teklifProjeBilgileri","ReceiptIcon","_teklifOdemePlaniDial","TeklifDetay","TopluIskontoDialog","TeklifProjeMasterRecord","TeklifOdemePlaniDialog","TeklifOdemeBilgileriDialog","gorusmeidData","GorusmeHatirlatma","GorusmeHatirlatmaRecord","referansVerenInputRef","_referansVerenInputRe2","_referansVerenInputRe","referansVeren","useReferansVerenRecord","ReferansVerenInputForm","referansVerenDialogRef","ReferansVerenRecord","gorusmeRecordRef","xpotFirmaid","_gorusmeRecordRef$cur","kayitDegistirebilir","gorusmeDuzenleyebilir","gorusmeTarihi","gorusmeTipi","gorusmeDurumu","updatedRowData","tipi","GorusmeAciklamalari","gorusmeAciklamasiEkleyebilir","setgorusmeAciklamasiEkleyebilir","gorusmeAtayabilir","customColumnButton","GorusmeAciklamalariRecord","KullaniciListForGorusmeAtamaInputForm","gorusmeDetayi","atananKullanici","SelectableGrid","manuelFilterData","handleSelect","potansiyelData","teklifVerRef","gorusmeHatirlatmaRef","potFirmaIdRef","gorusmeAtamaDialogRef","gorusmedenTeklifSecimiRef","gorusmeAtamasiTamamlandiAlertRef","merkezKullanici","masterDegistirir","gorusmeAtamasiTamamlandi","memoizedRowData","atananKullaniciid","CardHeader","SellIcon","_teklifVerRef$current3","_teklifVerRef$current","_teklifVerRef$current2","_gorusmedenTeklifSeci","_gorusmedenTeklifSeci2","AccessAlarmIcon","_gorusmeHatirlatmaRef","_gorusmeAtamaDialogRe","DoneOutlineIcon","_gorusmeAtamasiTamaml","GorusmeHatirlatmaDialog","GorusmeAtamaDialog","GorusmedenTeklifSecimiList","gorusmeAtamasiTamamlandiOlarakIsaretle","GorusmelerPotansiyelMusteriden","GorusmelerRecord","musteriTipiVisible","teklifTeklifDetayid","ProjeSurecTakipDetayRecord","ProgressBarInputForm","ilerlemeDurumu","ProjeSurecTakipDetay","ProjeSurecTakipRecord","PageConfigTeklif","TypeTeklif","PageConfigSozlesme","GorusmeMailSutunlari","onMailAciklamaUpdate","olayid","sutunlar","setSutunlar","sutunAdi","handleRowDoubleClick","disardanOnChange","gorusmeMailOlayiInputRef","teklifMailOlayiInputRef","sozlesmeMailOlayiInputRef","mailAciklamaValue","setMailAciklamaValue","tempValues","setTempValues","handleMailAciklamaUpdate","newMailAciklama","currentMailAciklama","mailAciklama","_rowData$mailOlayi","_gorusmeMailOlayiInpu","_gorusmeMailOlayiInpu2","mailOlayi","CustomRichTextEditorforMailTemplates","GorusmeMailTemplate","GorusmeMailTemplateRecord","MailOlaylariDuzenle","gruplanacak","GroupGrid","groupPanelVisible","groupAutoExpandAll","onCellPreparedExtra","allowRemoteGrouping","GorevDurumuRaporu","talepNo","renk","MusteriLisansDurumuRaporu","notlarim","PrivateRoute","Not","EKod","showInSidebar","hasSidebar","PostAddIcon","drawerTextColor","baslikGibiDavran","musteriTalepleri","SchoolIcon","Toplanti","GroupsIcon","Sirket","HourglassTopIcon","RuleIcon","AssignmentIcon","AssignmentTurnedInIcon","ProjeSurecTakip","PersonSearchIcon","CheckCircleOutlineIcon","musteriIliskileriYonetimi","HandshakeIcon","PotansiyelMusteri","Gorusmeler","CallIcon","AtananGorusmeler","TeklifMaster","LocalOfferIcon","FiyatListeMaster","Bayiler","HandShakeIcon","genelTanimlamalar","SettingsIcon","Kullanici","PersonIcon","Yetki","Email","Urunler","ViewModuleIcon","raporlar","AssessmentIcon","AssignmentIndIcon","AccountBalanceWalletIcon","profil","Profile","kullaniciBilgileri","KullaniciBilgileri","yardim","yeniEklenenOzellikler","PaymentsIcon","yetkisizEkran","routesArr","setTranslateValue","containerPropProp","containerRect","fakeTransform","transformValues","getTranslateValue","webkitTransform","defaultEasing","easingProp","childrenRef","getDrawerUtilityClass","docked","DrawerRoot","DrawerDockedRoot","DrawerPaper","oppositeDirection","anchorProp","ModalProps","BackdropPropsProp","SlideProps","Slide","anchorInvariant","getAnchor","slidingDrawer","enableColorScheme","WebkitFontSmoothing","MozOsxFontSmoothing","WebkitTextSizeAdjust","colorSchemeStyles","colorSchemes","_scheme$palette","defaultStyles","themeOverrides","MuiCssBaseline","getToolbarUtilityClass","ToolbarRoot","AppBarInfoButton","talepDurumuInfoDialogRef","FolderIcon","YouTubeIcon","_talepDurumuInfoDialo","FiberNewIcon","TalepDurumInfoDilog","getAvatarUtilityClass","AvatarRoot","colorDefault","Avatar","AvatarImg","objectFit","AvatarFallback","Person","imgProps","srcSet","crossOrigin","referrerPolicy","setLoaded","srcset","useLoaded","hasImg","hasImgNotFailing","ImgSlot","imgSlotProps","AppBarAvatar","_context$user$sirketA","stringToColor","GuncellemeVersiyonuDialog","AppBarLogoButton","guncellemeVersiyonuDialogRef","ManageAccountsIcon","_guncellemeVersiyonuD","ComputerIcon","LogoutIcon","MuiAppBar","MyAppBar","_routesArr$find","_routesArr$find2","_routesArr$find2$chil","handleDrawerOpen","MenuIcon","_x$children","ListItemButtonRoot","getListItemIconUtilityClass","ListItemIconRoot","getListItemTextUtilityClass","ListItemTextRoot","listItemTextClasses","primaryProp","primaryTypographyProps","secondaryProp","secondaryTypographyProps","DrawerListItem","_route$children","ListItemButton","handleToggle","ListItemIcon","ListItemText","ChevronRightIcon","childRoute","DrawerList","_x$gizlenecekYetkiGru","_x$children$some","userYetkiGrubuTipi","isHiddenForUser","userHasPermission","hasVisibleChildren","_context$user3$yetkil","_child$gizlenecekYetk","DrawerHeader","PersistentDrawerLeft","_dayjs","showDrawer","setShowDrawer","currentRoute","CssBaseline","handleDrawerClose","ChevronLeftIcon","staticLoading","_AuthService$getCurre","Spinner","_i$children","backgroundSize","ToastContainer","newestOnTop","pauseOnFocusLoss","onPerfEntry","getCLS","getFID","getFCP","getLCP","getTTFB","App","reportWebVitals"],"sourceRoot":""}